From e384dfa424e790e8e2ae550d5813165bfc2a2858 Mon Sep 17 00:00:00 2001 From: jrgissing Date: Sun, 6 Feb 2022 14:44:49 -0500 Subject: [PATCH 001/559] 'bondlist' option for replicate command generalizes the command to work for periodic systems --- src/atom_vec.cpp | 14 ++--- src/atom_vec.h | 2 +- src/read_restart.cpp | 8 +-- src/replicate.cpp | 120 ++++++++++++++++++++++++++++++++++--------- src/replicate.h | 7 +++ 5 files changed, 116 insertions(+), 35 deletions(-) diff --git a/src/atom_vec.cpp b/src/atom_vec.cpp index aa646ecabb..816d48e2b5 100644 --- a/src/atom_vec.cpp +++ b/src/atom_vec.cpp @@ -1534,16 +1534,16 @@ int AtomVec::pack_restart(int i, double *buf) unpack data for one atom from restart file including extra quantities ------------------------------------------------------------------------- */ -int AtomVec::unpack_restart(double *buf) +int AtomVec::unpack_restart(double *buf, Atom *&thisatom) { int mm,nn,datatype,cols,collength,ncols; void *pdata,*plength; - int nlocal = atom->nlocal; + int nlocal = thisatom->nlocal; if (nlocal == nmax) { grow(0); - if (atom->nextra_store) - memory->grow(atom->extra,nmax,atom->nextra_store,"atom:extra"); + if (thisatom->nextra_store) + memory->grow(thisatom->extra,nmax,thisatom->nextra_store,"atom:extra"); } int m = 1; @@ -1624,13 +1624,13 @@ int AtomVec::unpack_restart(double *buf) // store extra restart info which fixes can unpack when instantiated - double **extra = atom->extra; - if (atom->nextra_store) { + double **extra = thisatom->extra; + if (thisatom->nextra_store) { int size = static_cast (buf[0]) - m; for (int i = 0; i < size; i++) extra[nlocal][i] = buf[m++]; } - atom->nlocal++; + thisatom->nlocal++; return m; } diff --git a/src/atom_vec.h b/src/atom_vec.h index ad1c7f3315..caef3dc218 100644 --- a/src/atom_vec.h +++ b/src/atom_vec.h @@ -111,7 +111,7 @@ class AtomVec : protected Pointers { virtual int size_restart(); virtual int pack_restart(int, double *); - virtual int unpack_restart(double *); + virtual int unpack_restart(double *, Atom *&); virtual void pack_restart_pre(int) {} virtual void pack_restart_post(int) {} diff --git a/src/read_restart.cpp b/src/read_restart.cpp index f8ac14534b..a5d5e8e0cd 100644 --- a/src/read_restart.cpp +++ b/src/read_restart.cpp @@ -195,7 +195,7 @@ void ReadRestart::command(int narg, char **arg) } m = 0; - while (m < assignedChunkSize) m += avec->unpack_restart(&buf[m]); + while (m < assignedChunkSize) m += avec->unpack_restart(&buf[m],atom); } // input of single native file @@ -247,7 +247,7 @@ void ReadRestart::command(int narg, char **arg) if (coord[0] >= sublo[0] && coord[0] < subhi[0] && coord[1] >= sublo[1] && coord[1] < subhi[1] && coord[2] >= sublo[2] && coord[2] < subhi[2]) { - m += avec->unpack_restart(&buf[m]); + m += avec->unpack_restart(&buf[m],atom); } else m += static_cast (buf[m]); } } @@ -292,7 +292,7 @@ void ReadRestart::command(int narg, char **arg) utils::sfread(FLERR,buf,sizeof(double),n,fp,nullptr,error); m = 0; - while (m < n) m += avec->unpack_restart(&buf[m]); + while (m < n) m += avec->unpack_restart(&buf[m],atom); } fclose(fp); @@ -385,7 +385,7 @@ void ReadRestart::command(int narg, char **arg) if (i % nclusterprocs == me - fileproc) { m = 0; - while (m < n) m += avec->unpack_restart(&buf[m]); + while (m < n) m += avec->unpack_restart(&buf[m],atom); } } diff --git a/src/replicate.cpp b/src/replicate.cpp index 80edd7bcbc..90ffe35baa 100644 --- a/src/replicate.cpp +++ b/src/replicate.cpp @@ -55,10 +55,16 @@ void Replicate::command(int narg, char **arg) int ny = utils::inumeric(FLERR,arg[1],false,lmp); int nz = utils::inumeric(FLERR,arg[2],false,lmp); int nrep = nx*ny*nz; + allnrep[0] = nx; + allnrep[1] = ny; + allnrep[2] = nz; int bbox_flag = 0; - if (narg == 4) + int bondlist_flag = 0; + if (narg == 4) { if (strcmp(arg[3],"bbox") == 0) bbox_flag = 1; + if (strcmp(arg[3],"bondlist") == 0) bondlist_flag = 1; + } // error and warning checks @@ -81,9 +87,9 @@ void Replicate::command(int narg, char **arg) MPI_Barrier(world); double time1 = platform::walltime(); - // maxtag = largest atom tag across all existing atoms + // maxtag = original largest atom tag across all existing atoms - tagint maxtag = 0; + maxtag = 0; if (atom->tag_enable) { for (i = 0; i < atom->nlocal; i++) maxtag = MAX(atom->tag[i],maxtag); tagint maxtag_all; @@ -154,7 +160,7 @@ void Replicate::command(int narg, char **arg) // atom = new replicated atom class // also set atomKK for Kokkos version of Atom class - Atom *old = atom; + old = atom; atomKK = nullptr; if (lmp->kokkos) atom = atomKK = new AtomKokkos(lmp); else atom = new Atom(lmp); @@ -229,6 +235,11 @@ void Replicate::command(int narg, char **arg) double old_xprd = domain->xprd; double old_yprd = domain->yprd; double old_zprd = domain->zprd; + double old_center[3]; + for (i = 0; i < 3; i++) { + old_prd_half[i] = domain->prd_half[i]; + old_center[i] = 0.5*(domain->boxlo[i]+domain->boxhi[i]); + } double old_xy = domain->xy; double old_xz = domain->xz; double old_yz = domain->yz; @@ -339,13 +350,13 @@ void Replicate::command(int narg, char **arg) AtomVec *avec = atom->avec; int ix,iy,iz; - tagint atom_offset,mol_offset; + tagint atom_offset,mol_offset,atom0tag; imageint image; - double x[3],lamda[3]; + double x[3],lamda[3],shiftsign[3]; double *coord; int tag_enable = atom->tag_enable; - if (bbox_flag) { + if (bbox_flag || bondlist_flag) { // allgather size of buf on each proc @@ -418,10 +429,23 @@ void Replicate::command(int narg, char **arg) int num_replicas_added = 0; + // let's repurpose the old atom class to allow atom->map for all atoms + // tag and x for the whole system (before replication) stored in 'old' + + m = 0; + old->nlocal = 0; + while (m < size_buf_all) m += old_avec->unpack_restart(&buf_all[m],old); + old->map_init(); + old->map_set(); + for (ix = 0; ix < nx; ix++) { for (iy = 0; iy < ny; iy++) { for (iz = 0; iz < nz; iz++) { + thisrep[0] = ix; + thisrep[1] = iy; + thisrep[2] = iz; + // domain->remap() overwrites coordinates, so always recompute here if (triclinic) { @@ -567,6 +591,10 @@ void Replicate::command(int narg, char **arg) m = 0; while (m < size_buf_all) { + for (j = 0; j < 3; j++) { + if (buf_all[m+j+1] > old_center[j]) shiftsign[j] = 1; + else shiftsign[j] = -1; + } image = ((imageint) IMGMAX << IMG2BITS) | ((imageint) IMGMAX << IMGBITS) | IMGMAX; if (triclinic == 0) { @@ -588,7 +616,7 @@ void Replicate::command(int narg, char **arg) coord[1] >= sublo[1] && coord[1] < subhi[1] && coord[2] >= sublo[2] && coord[2] < subhi[2]) { - m += avec->unpack_restart(&buf_all[m]); + m += avec->unpack_restart(&buf_all[m],atom); i = atom->nlocal - 1; if (tag_enable) @@ -600,6 +628,7 @@ void Replicate::command(int narg, char **arg) atom->x[i][1] = x[1]; atom->x[i][2] = x[2]; + atom0tag = atom->tag[i]; atom->tag[i] += atom_offset; atom->image[i] = image; @@ -608,27 +637,50 @@ void Replicate::command(int narg, char **arg) atom->molecule[i] += mol_offset; if (atom->molecular == Atom::MOLECULAR) { if (atom->avec->bonds_allow) - for (j = 0; j < atom->num_bond[i]; j++) - atom->bond_atom[i][j] += atom_offset; + for (j = 0; j < atom->num_bond[i]; j++) { + if (bondlist_flag) + newtag(atom0tag,atom->bond_atom[i][j],shiftsign); + else atom->bond_atom[i][j] += atom_offset; + } if (atom->avec->angles_allow) for (j = 0; j < atom->num_angle[i]; j++) { - atom->angle_atom1[i][j] += atom_offset; - atom->angle_atom2[i][j] += atom_offset; - atom->angle_atom3[i][j] += atom_offset; + if (bondlist_flag) { + newtag(atom0tag,atom->angle_atom1[i][j],shiftsign); + newtag(atom0tag,atom->angle_atom2[i][j],shiftsign); + newtag(atom0tag,atom->angle_atom3[i][j],shiftsign); + } else { + atom->angle_atom1[i][j] += atom_offset; + atom->angle_atom2[i][j] += atom_offset; + atom->angle_atom3[i][j] += atom_offset; + } } if (atom->avec->dihedrals_allow) for (j = 0; j < atom->num_dihedral[i]; j++) { - atom->dihedral_atom1[i][j] += atom_offset; - atom->dihedral_atom2[i][j] += atom_offset; - atom->dihedral_atom3[i][j] += atom_offset; - atom->dihedral_atom4[i][j] += atom_offset; + if (bondlist_flag) { + newtag(atom0tag,atom->dihedral_atom1[i][j],shiftsign); + newtag(atom0tag,atom->dihedral_atom2[i][j],shiftsign); + newtag(atom0tag,atom->dihedral_atom3[i][j],shiftsign); + newtag(atom0tag,atom->dihedral_atom4[i][j],shiftsign); + } else { + atom->dihedral_atom1[i][j] += atom_offset; + atom->dihedral_atom2[i][j] += atom_offset; + atom->dihedral_atom3[i][j] += atom_offset; + atom->dihedral_atom4[i][j] += atom_offset; + } } if (atom->avec->impropers_allow) for (j = 0; j < atom->num_improper[i]; j++) { - atom->improper_atom1[i][j] += atom_offset; - atom->improper_atom2[i][j] += atom_offset; - atom->improper_atom3[i][j] += atom_offset; - atom->improper_atom4[i][j] += atom_offset; + if (bondlist_flag) { + newtag(atom0tag,atom->improper_atom1[i][j],shiftsign); + newtag(atom0tag,atom->improper_atom2[i][j],shiftsign); + newtag(atom0tag,atom->improper_atom3[i][j],shiftsign); + newtag(atom0tag,atom->improper_atom4[i][j],shiftsign); + } else { + atom->improper_atom1[i][j] += atom_offset; + atom->improper_atom2[i][j] += atom_offset; + atom->improper_atom3[i][j] += atom_offset; + atom->improper_atom4[i][j] += atom_offset; + } } } } @@ -689,7 +741,7 @@ void Replicate::command(int narg, char **arg) coord[1] >= sublo[1] && coord[1] < subhi[1] && coord[2] >= sublo[2] && coord[2] < subhi[2]) { - m += avec->unpack_restart(&buf[m]); + m += avec->unpack_restart(&buf[m],atom); i = atom->nlocal - 1; if (tag_enable) @@ -739,7 +791,7 @@ void Replicate::command(int narg, char **arg) } } } - } // if (bbox_flag) + } // if (bbox_flag || bondlist_flag) // free communication buffer and old atom class @@ -801,3 +853,25 @@ void Replicate::command(int narg, char **arg) if (me == 0) utils::logmesg(lmp," replicate CPU = {:.3f} seconds\n",platform::walltime()-time1); } + +/* ---------------------------------------------------------------------- + find new tag for the atom 'atom2bond' bonded to atom 'atom0' + for bondlist option, useful for periodic loops or inconsistent image flags + reassign bond if > old boxlength / 2 +------------------------------------------------------------------------- */ + +void Replicate::newtag(int atom0tag, int &tag2bond, double shiftsign[]) { + double del[3]; + int rep2bond[3], repshift[3] = {0, 0, 0}; + int atom0 = old->map(atom0tag); + int atom2bond = old->map(tag2bond); + for (int i = 0; i < 3; i++) { + del[i] = fabs(old->x[atom0][i] - old->x[atom2bond][i]); + if (del[i] > old_prd_half[i]) repshift[i] = shiftsign[i]; + rep2bond[i] = thisrep[i] + repshift[i]; + if (rep2bond[i] >= allnrep[i]) rep2bond[i] = 0; + if (rep2bond[i] < 0) rep2bond[i] = allnrep[i]-1; + } + tag2bond = (tag2bond + rep2bond[2]*allnrep[1]*allnrep[0]*maxtag + + rep2bond[1]*allnrep[0]*maxtag + rep2bond[0]*maxtag); +} diff --git a/src/replicate.h b/src/replicate.h index 9eaae1d763..0edd7bf818 100644 --- a/src/replicate.h +++ b/src/replicate.h @@ -28,6 +28,13 @@ class Replicate : public Command { public: Replicate(class LAMMPS *); void command(int, char **) override; + + private: + Atom *old; + double old_prd_half[3]; + tagint maxtag; + int thisrep[3], allnrep[3]; + void newtag(tagint, tagint &, double[3]); }; } // namespace LAMMPS_NS From caafe2ff26f0cca2118563c5b0cffb7bc5cb0ecc Mon Sep 17 00:00:00 2001 From: jrgissing Date: Sun, 6 Feb 2022 15:31:02 -0500 Subject: [PATCH 002/559] bondlist option docs --- doc/src/replicate.rst | 53 +++++++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 24 deletions(-) diff --git a/doc/src/replicate.rst b/doc/src/replicate.rst index 24ec52cbb0..e5de48d96e 100644 --- a/doc/src/replicate.rst +++ b/doc/src/replicate.rst @@ -12,11 +12,12 @@ Syntax nx,ny,nz = replication factors in each dimension -* optional *keyword* = *bbox* +* optional *keyword* = *bbox* or *bondlist* .. parsed-literal:: *bbox* = only check atoms in replicas that overlap with a processor's sub-domain + *bondlist* = use a generalized algorithm that correctly replicates periodic loops Examples """""""" @@ -59,6 +60,33 @@ does require temporary use of more memory, specifically that each processor can store all atoms in the entire system before it is replicated. +The optional keyword *bondlist* correctly treats molecules that span +the box and are bonded to themselves across a periodic boundary, by +relying on self-consistent nearest-image assumptions (rather than +using image flags). Therefore, the *bondlist* keyword can also be +used in general for systems that may not have consistent image flags. +The *bondlist* algorithm builds off the *bbox* algorithm, so it is +fast when using a large number of processors, but does require +temporary use of more memory. Specifically, each processor must be +able to store arrays for all atoms in the entire system before it is +replicated. + +.. note:: + + For systems that contain a molecule that spans the box and is + bonded to itself across a periodic boundary (so that the molecule + is effectively a loop), the *bondlist* keyword must be used. A + simple example would be a linear polymer chain that spans the + simulation box and bonds back to itself across the periodic + boundary. More realistic examples would be a CNT (meant to be an + infinitely long CNT) or a graphene sheet or a bulk periodic crystal + where there are explicit bonds specified between near neighbors. + (Note that this restriction only applies to systems that have + permanent bonds as specified in the data file. A CNT that is just + atoms modeled with the :doc:`AIREBO potential ` has no + such permanent bonds, so it can be replicated without the + *bondlist* keyword.) + Restrictions """""""""""" @@ -68,29 +96,6 @@ If a simulation is non-periodic in a dimension, care should be used when replicating it in that dimension, as it may put atoms nearly on top of each other. -.. note:: - - You cannot use the replicate command on a system which has a - molecule that spans the box and is bonded to itself across a periodic - boundary, so that the molecule is effectively a loop. A simple - example would be a linear polymer chain that spans the simulation box - and bonds back to itself across the periodic boundary. More realistic - examples would be a CNT (meant to be an infinitely long CNT) or a - graphene sheet or a bulk periodic crystal where there are explicit - bonds specified between near neighbors. (Note that this only applies - to systems that have permanent bonds as specified in the data file. A - CNT that is just atoms modeled with the :doc:`AIREBO potential ` has no such permanent bonds, so it can be - replicated.) The reason replication does not work with those systems - is that the image flag settings described above cannot be made - consistent. I.e. it is not possible to define images flags so that - when every pair of bonded atoms is unwrapped (using the image flags), - they will be close to each other. The only way the replicate command - could work in this scenario is for it to break a bond, insert more - atoms, and re-connect the loop for the larger simulation box. But it - is not clever enough to do this. So you will have to construct a - larger version of your molecule as a pre-processing step and input a - new data file to LAMMPS. - If the current simulation was read in from a restart file (before a run is performed), there must not be any fix information stored in the file for individual atoms. Similarly, no fixes can be defined at From ac7db5041fa49bf6c15806a79355f1966f74cc01 Mon Sep 17 00:00:00 2001 From: jrgissing Date: Sun, 6 Feb 2022 16:14:30 -0500 Subject: [PATCH 003/559] add example for bondlist option validation --- examples/replicate/in.replicate | 32 +++++ examples/replicate/log.7Jan22.replicate.g++.1 | 132 ++++++++++++++++++ examples/replicate/log.7Jan22.replicate.g++.4 | 132 ++++++++++++++++++ .../replicate/three_periodic_CNTs.data.gz | Bin 0 -> 328837 bytes 4 files changed, 296 insertions(+) create mode 100644 examples/replicate/in.replicate create mode 100644 examples/replicate/log.7Jan22.replicate.g++.1 create mode 100644 examples/replicate/log.7Jan22.replicate.g++.4 create mode 100644 examples/replicate/three_periodic_CNTs.data.gz diff --git a/examples/replicate/in.replicate b/examples/replicate/in.replicate new file mode 100644 index 0000000000..52140d4ce8 --- /dev/null +++ b/examples/replicate/in.replicate @@ -0,0 +1,32 @@ +# three orthogonal periodic CNTs +# demo for replicating triply looped system +# infinite loops in x, y, z +# includes bonded interactions across box corners +# includes bonds, angles, dihedrals, impropers (class2) + +units real + +boundary p p p + +atom_style full + +pair_style lj/class2 10 + +angle_style class2 + +bond_style class2 + +dihedral_style class2 + +improper_style class2 + +read_data three_periodic_CNTs.data.gz + +replicate 2 2 2 bondlist + +fix 1 all nve + +run 100 + +# write_restart replicate.restart +# write_data replicate.data diff --git a/examples/replicate/log.7Jan22.replicate.g++.1 b/examples/replicate/log.7Jan22.replicate.g++.1 new file mode 100644 index 0000000000..2933535ae8 --- /dev/null +++ b/examples/replicate/log.7Jan22.replicate.g++.1 @@ -0,0 +1,132 @@ +LAMMPS (7 Jan 2022) +# three orthogonal periodic CNTs +# demo for replicating triply looped system +# infinite loops in x, y, z +# includes bonded interactions across box corners +# includes bonds, angles, dihedrals, impropers (class2) + +units real + +boundary p p p + +atom_style full + +pair_style lj/class2 10 + +angle_style class2 + +bond_style class2 + +dihedral_style class2 + +improper_style class2 + +read_data three_periodic_CNTs.data.gz +Reading data file ... + orthogonal box = (0 0 0) to (80.96 80.96 80.96) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 3168 atoms + reading velocities ... + 3168 velocities + scanning bonds ... + 3 = max bonds/atom + scanning angles ... + 3 = max angles/atom + scanning dihedrals ... + 12 = max dihedrals/atom + scanning impropers ... + 1 = max impropers/atom + reading bonds ... + 4752 bonds + reading angles ... + 9504 angles + reading dihedrals ... + 19008 dihedrals + reading impropers ... + 3168 impropers +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 3 = max # of 1-2 neighbors + 6 = max # of 1-3 neighbors + 18 = max # of 1-4 neighbors + 18 = max # of special neighbors + special bonds CPU = 0.003 seconds + read_data CPU = 0.115 seconds + +replicate 2 2 2 bondlist +Replicating atoms ... + orthogonal box = (0 0 0) to (161.92 161.92 161.92) + 1 by 1 by 1 MPI processor grid + bounding box image = (0 0 0) to (0 0 0) + bounding box extra memory = 1.62 MB + average # of replicas added to proc = 8.00 out of 8 (100.00%) + 25344 atoms + 38016 bonds + 76032 angles + 152064 dihedrals + 25344 impropers +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 3 = max # of 1-2 neighbors + 6 = max # of 1-3 neighbors + 18 = max # of 1-4 neighbors + 18 = max # of special neighbors + special bonds CPU = 0.021 seconds + replicate CPU = 0.052 seconds + +fix 1 all nve + +run 100 + 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 = 12 + ghost atom cutoff = 12 + binsize = 6, bins = 27 27 27 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/class2, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +WARNING: Inconsistent image flags (../domain.cpp:814) +Per MPI rank memory allocation (min/avg/max) = 51.87 | 51.87 | 51.87 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 0 -14266.189 1466925.5 1452659.3 -29908.753 + 100 2155.9128 -17224.188 1306769.8 1452409 1985.2082 +Loop time of 15.0972 on 1 procs for 100 steps with 25344 atoms + +Performance: 0.572 ns/day, 41.937 hours/ns, 6.624 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 | 3.7175 | 3.7175 | 3.7175 | 0.0 | 24.62 +Bond | 11.222 | 11.222 | 11.222 | 0.0 | 74.33 +Neigh | 0.1032 | 0.1032 | 0.1032 | 0.0 | 0.68 +Comm | 0.014487 | 0.014487 | 0.014487 | 0.0 | 0.10 +Output | 0.00010894 | 0.00010894 | 0.00010894 | 0.0 | 0.00 +Modify | 0.027112 | 0.027112 | 0.027112 | 0.0 | 0.18 +Other | | 0.01274 | | | 0.08 + +Nlocal: 25344 ave 25344 max 25344 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 22737 ave 22737 max 22737 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 2.89358e+06 ave 2.89358e+06 max 2.89358e+06 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 2893576 +Ave neighs/atom = 114.17203 +Ave special neighs/atom = 18 +Neighbor list builds = 1 +Dangerous builds = 0 + +# write_restart replicate.restart +# write_data replicate.data +Total wall time: 0:00:15 diff --git a/examples/replicate/log.7Jan22.replicate.g++.4 b/examples/replicate/log.7Jan22.replicate.g++.4 new file mode 100644 index 0000000000..79a13b1484 --- /dev/null +++ b/examples/replicate/log.7Jan22.replicate.g++.4 @@ -0,0 +1,132 @@ +LAMMPS (7 Jan 2022) +# three orthogonal periodic CNTs +# demo for replicating triply looped system +# infinite loops in x, y, z +# includes bonded interactions across box corners +# includes bonds, angles, dihedrals, impropers (class2) + +units real + +boundary p p p + +atom_style full + +pair_style lj/class2 10 + +angle_style class2 + +bond_style class2 + +dihedral_style class2 + +improper_style class2 + +read_data three_periodic_CNTs.data.gz +Reading data file ... + orthogonal box = (0 0 0) to (80.96 80.96 80.96) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 3168 atoms + reading velocities ... + 3168 velocities + scanning bonds ... + 3 = max bonds/atom + scanning angles ... + 3 = max angles/atom + scanning dihedrals ... + 12 = max dihedrals/atom + scanning impropers ... + 1 = max impropers/atom + reading bonds ... + 4752 bonds + reading angles ... + 9504 angles + reading dihedrals ... + 19008 dihedrals + reading impropers ... + 3168 impropers +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 3 = max # of 1-2 neighbors + 6 = max # of 1-3 neighbors + 18 = max # of 1-4 neighbors + 18 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.315 seconds + +replicate 2 2 2 bondlist +Replicating atoms ... + orthogonal box = (0 0 0) to (161.92 161.92 161.92) + 1 by 2 by 2 MPI processor grid + bounding box image = (0 0 0) to (0 0 0) + bounding box extra memory = 1.62 MB + average # of replicas added to proc = 4.50 out of 8 (56.25%) + 25344 atoms + 38016 bonds + 76032 angles + 152064 dihedrals + 25344 impropers +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 3 = max # of 1-2 neighbors + 6 = max # of 1-3 neighbors + 18 = max # of 1-4 neighbors + 18 = max # of special neighbors + special bonds CPU = 0.007 seconds + replicate CPU = 0.020 seconds + +fix 1 all nve + +run 100 + 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 = 12 + ghost atom cutoff = 12 + binsize = 6, bins = 27 27 27 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/class2, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +WARNING: Inconsistent image flags (../domain.cpp:814) +Per MPI rank memory allocation (min/avg/max) = 28.69 | 28.69 | 28.69 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 0 -14266.189 1466925.5 1452659.3 -29908.753 + 100 2155.9128 -17224.188 1306769.8 1452409 1985.2082 +Loop time of 4.13195 on 4 procs for 100 steps with 25344 atoms + +Performance: 2.091 ns/day, 11.478 hours/ns, 24.202 timesteps/s +100.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.99372 | 1.014 | 1.0672 | 3.1 | 24.54 +Bond | 2.9449 | 2.9795 | 3.0136 | 2.0 | 72.11 +Neigh | 0.026695 | 0.026706 | 0.026716 | 0.0 | 0.65 +Comm | 0.012404 | 0.099546 | 0.15425 | 18.7 | 2.41 +Output | 4.3822e-05 | 5.0693e-05 | 7.0516e-05 | 0.0 | 0.00 +Modify | 0.0074219 | 0.0074887 | 0.0075411 | 0.1 | 0.18 +Other | | 0.004616 | | | 0.11 + +Nlocal: 6336 ave 6336 max 6336 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 10558 ave 10558 max 10558 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 723394 ave 723394 max 723394 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 2893576 +Ave neighs/atom = 114.17203 +Ave special neighs/atom = 18 +Neighbor list builds = 1 +Dangerous builds = 0 + +# write_restart replicate.restart +# write_data replicate.data +Total wall time: 0:00:04 diff --git a/examples/replicate/three_periodic_CNTs.data.gz b/examples/replicate/three_periodic_CNTs.data.gz new file mode 100644 index 0000000000000000000000000000000000000000..718c91896a81d350c43a1296a30e05f15d89d3e6 GIT binary patch literal 328837 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 Date: Mon, 7 Feb 2022 18:02:17 -0500 Subject: [PATCH 004/559] typo --- src/replicate.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/replicate.cpp b/src/replicate.cpp index 90ffe35baa..69f04310e4 100644 --- a/src/replicate.cpp +++ b/src/replicate.cpp @@ -860,7 +860,7 @@ void Replicate::command(int narg, char **arg) reassign bond if > old boxlength / 2 ------------------------------------------------------------------------- */ -void Replicate::newtag(int atom0tag, int &tag2bond, double shiftsign[]) { +void Replicate::newtag(tagint atom0tag, tagint &tag2bond, double shiftsign[]) { double del[3]; int rep2bond[3], repshift[3] = {0, 0, 0}; int atom0 = old->map(atom0tag); From 2a4dbe5bbc8554a842dea8aee9bbd96534dc27da Mon Sep 17 00:00:00 2001 From: jrgissing Date: Sun, 13 Feb 2022 13:51:20 -0500 Subject: [PATCH 005/559] bondlist_flag correction --- src/replicate.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/replicate.cpp b/src/replicate.cpp index 69f04310e4..aa4fc44c00 100644 --- a/src/replicate.cpp +++ b/src/replicate.cpp @@ -118,7 +118,7 @@ void Replicate::command(int narg, char **arg) _imagehi[1] = 0; _imagehi[2] = 0; - if (bbox_flag) { + if (bbox_flag || bondlist_flag) { for (i=0; inlocal; ++i) { imageint image = atom->image[i]; From 7288d78331ccd2be9db2470cf9aa978f1f94dd70 Mon Sep 17 00:00:00 2001 From: jrgissing Date: Sun, 13 Feb 2022 14:06:19 -0500 Subject: [PATCH 006/559] reset image flag for bondlist option --- src/replicate.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/replicate.cpp b/src/replicate.cpp index aa4fc44c00..df0e363840 100644 --- a/src/replicate.cpp +++ b/src/replicate.cpp @@ -107,6 +107,11 @@ void Replicate::command(int narg, char **arg) maxmol = maxmol_all; } + // reset image flags for bondlist option + if (bondlist_flag) + for (i=0; inlocal; ++i) + atom->image[i] = 0; + // check image flags maximum extent // only efficient small image flags compared to new system From 437e7829cc37d17fbfe0e4a30578c0b8aafe57c6 Mon Sep 17 00:00:00 2001 From: jrgissing Date: Sun, 13 Feb 2022 14:11:15 -0500 Subject: [PATCH 007/559] Update replicate.rst --- doc/src/replicate.rst | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/src/replicate.rst b/doc/src/replicate.rst index e5de48d96e..9181f0e940 100644 --- a/doc/src/replicate.rst +++ b/doc/src/replicate.rst @@ -63,13 +63,13 @@ replicated. The optional keyword *bondlist* correctly treats molecules that span the box and are bonded to themselves across a periodic boundary, by relying on self-consistent nearest-image assumptions (rather than -using image flags). Therefore, the *bondlist* keyword can also be -used in general for systems that may not have consistent image flags. -The *bondlist* algorithm builds off the *bbox* algorithm, so it is -fast when using a large number of processors, but does require -temporary use of more memory. Specifically, each processor must be -able to store arrays for all atoms in the entire system before it is -replicated. +using image flags). The *bondlist* option resets all image flags to +zero. Therefore, the *bondlist* keyword can also be used in general +for systems that may not have consistent image flags. The *bondlist* +algorithm builds off the *bbox* algorithm, so it is fast when using a +large number of processors, but does require temporary use of more +memory. Specifically, each processor must be able to store arrays for +all atoms in the entire system before it is replicated. .. note:: From 44c3f4e5625c0843480a1609392c5664b2777023 Mon Sep 17 00:00:00 2001 From: jrgissing Date: Sun, 13 Feb 2022 14:51:23 -0500 Subject: [PATCH 008/559] fix for breaking kokkos --- src/atom_vec.cpp | 8 ++++++++ src/atom_vec.h | 1 + 2 files changed, 9 insertions(+) diff --git a/src/atom_vec.cpp b/src/atom_vec.cpp index 816d48e2b5..1d64915a6a 100644 --- a/src/atom_vec.cpp +++ b/src/atom_vec.cpp @@ -1530,6 +1530,14 @@ int AtomVec::pack_restart(int i, double *buf) return m; } +/* ---------------------------------------------------------------------- + standard unpack_restart function using default atom instance +------------------------------------------------------------------------- */ +int AtomVec::unpack_restart(double *buf) +{ + return unpack_restart(buf, atom); +} + /* ---------------------------------------------------------------------- unpack data for one atom from restart file including extra quantities ------------------------------------------------------------------------- */ diff --git a/src/atom_vec.h b/src/atom_vec.h index caef3dc218..d7ea6b00d8 100644 --- a/src/atom_vec.h +++ b/src/atom_vec.h @@ -111,6 +111,7 @@ class AtomVec : protected Pointers { virtual int size_restart(); virtual int pack_restart(int, double *); + virtual int unpack_restart(double *); virtual int unpack_restart(double *, Atom *&); virtual void pack_restart_pre(int) {} From 5c1486661c5fc0d49e023af893885cffca2a1897 Mon Sep 17 00:00:00 2001 From: jrgissing Date: Sun, 13 Feb 2022 14:53:16 -0500 Subject: [PATCH 009/559] revert now unnecessary edits --- src/read_restart.cpp | 8 ++++---- src/replicate.cpp | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/read_restart.cpp b/src/read_restart.cpp index a5d5e8e0cd..f8ac14534b 100644 --- a/src/read_restart.cpp +++ b/src/read_restart.cpp @@ -195,7 +195,7 @@ void ReadRestart::command(int narg, char **arg) } m = 0; - while (m < assignedChunkSize) m += avec->unpack_restart(&buf[m],atom); + while (m < assignedChunkSize) m += avec->unpack_restart(&buf[m]); } // input of single native file @@ -247,7 +247,7 @@ void ReadRestart::command(int narg, char **arg) if (coord[0] >= sublo[0] && coord[0] < subhi[0] && coord[1] >= sublo[1] && coord[1] < subhi[1] && coord[2] >= sublo[2] && coord[2] < subhi[2]) { - m += avec->unpack_restart(&buf[m],atom); + m += avec->unpack_restart(&buf[m]); } else m += static_cast (buf[m]); } } @@ -292,7 +292,7 @@ void ReadRestart::command(int narg, char **arg) utils::sfread(FLERR,buf,sizeof(double),n,fp,nullptr,error); m = 0; - while (m < n) m += avec->unpack_restart(&buf[m],atom); + while (m < n) m += avec->unpack_restart(&buf[m]); } fclose(fp); @@ -385,7 +385,7 @@ void ReadRestart::command(int narg, char **arg) if (i % nclusterprocs == me - fileproc) { m = 0; - while (m < n) m += avec->unpack_restart(&buf[m],atom); + while (m < n) m += avec->unpack_restart(&buf[m]); } } diff --git a/src/replicate.cpp b/src/replicate.cpp index df0e363840..45ecd3ec9a 100644 --- a/src/replicate.cpp +++ b/src/replicate.cpp @@ -621,7 +621,7 @@ void Replicate::command(int narg, char **arg) coord[1] >= sublo[1] && coord[1] < subhi[1] && coord[2] >= sublo[2] && coord[2] < subhi[2]) { - m += avec->unpack_restart(&buf_all[m],atom); + m += avec->unpack_restart(&buf_all[m]); i = atom->nlocal - 1; if (tag_enable) @@ -746,7 +746,7 @@ void Replicate::command(int narg, char **arg) coord[1] >= sublo[1] && coord[1] < subhi[1] && coord[2] >= sublo[2] && coord[2] < subhi[2]) { - m += avec->unpack_restart(&buf[m],atom); + m += avec->unpack_restart(&buf[m]); i = atom->nlocal - 1; if (tag_enable) From 2c0a9cf5724ba9a743c92e9b5e27b60eaa0b8aa5 Mon Sep 17 00:00:00 2001 From: jrgissing Date: Sun, 13 Feb 2022 15:06:10 -0500 Subject: [PATCH 010/559] better contain bondlist code --- src/replicate.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/replicate.cpp b/src/replicate.cpp index 45ecd3ec9a..ae30814f68 100644 --- a/src/replicate.cpp +++ b/src/replicate.cpp @@ -437,11 +437,13 @@ void Replicate::command(int narg, char **arg) // let's repurpose the old atom class to allow atom->map for all atoms // tag and x for the whole system (before replication) stored in 'old' - m = 0; - old->nlocal = 0; - while (m < size_buf_all) m += old_avec->unpack_restart(&buf_all[m],old); - old->map_init(); - old->map_set(); + if (bondlist_flag) { + m = 0; + old->nlocal = 0; + while (m < size_buf_all) m += old_avec->unpack_restart(&buf_all[m],old); + old->map_init(); + old->map_set(); + } for (ix = 0; ix < nx; ix++) { for (iy = 0; iy < ny; iy++) { From 793cfe05f9773cd1ae0228251482890d83cf3bab Mon Sep 17 00:00:00 2001 From: jrgissing Date: Sun, 13 Feb 2022 15:09:32 -0500 Subject: [PATCH 011/559] spacing --- src/replicate.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/replicate.h b/src/replicate.h index 0edd7bf818..f8425cdf65 100644 --- a/src/replicate.h +++ b/src/replicate.h @@ -29,12 +29,12 @@ class Replicate : public Command { Replicate(class LAMMPS *); void command(int, char **) override; - private: - Atom *old; - double old_prd_half[3]; - tagint maxtag; - int thisrep[3], allnrep[3]; - void newtag(tagint, tagint &, double[3]); + private: + Atom *old; + double old_prd_half[3]; + tagint maxtag; + int thisrep[3], allnrep[3]; + void newtag(tagint, tagint &, double[3]); }; } // namespace LAMMPS_NS From 200ea62fd3474de3232ad70a2f76c3d98f87302d Mon Sep 17 00:00:00 2001 From: jrgissing Date: Sun, 13 Feb 2022 15:22:13 -0500 Subject: [PATCH 012/559] simplify things --- src/replicate.cpp | 44 +++++++++++++++++++++----------------------- src/replicate.h | 4 ++-- 2 files changed, 23 insertions(+), 25 deletions(-) diff --git a/src/replicate.cpp b/src/replicate.cpp index ae30814f68..1eee50f49d 100644 --- a/src/replicate.cpp +++ b/src/replicate.cpp @@ -240,7 +240,6 @@ void Replicate::command(int narg, char **arg) double old_xprd = domain->xprd; double old_yprd = domain->yprd; double old_zprd = domain->zprd; - double old_center[3]; for (i = 0; i < 3; i++) { old_prd_half[i] = domain->prd_half[i]; old_center[i] = 0.5*(domain->boxlo[i]+domain->boxhi[i]); @@ -598,10 +597,6 @@ void Replicate::command(int narg, char **arg) m = 0; while (m < size_buf_all) { - for (j = 0; j < 3; j++) { - if (buf_all[m+j+1] > old_center[j]) shiftsign[j] = 1; - else shiftsign[j] = -1; - } image = ((imageint) IMGMAX << IMG2BITS) | ((imageint) IMGMAX << IMGBITS) | IMGMAX; if (triclinic == 0) { @@ -646,15 +641,15 @@ void Replicate::command(int narg, char **arg) if (atom->avec->bonds_allow) for (j = 0; j < atom->num_bond[i]; j++) { if (bondlist_flag) - newtag(atom0tag,atom->bond_atom[i][j],shiftsign); + newtag(atom0tag,atom->bond_atom[i][j]); else atom->bond_atom[i][j] += atom_offset; } if (atom->avec->angles_allow) for (j = 0; j < atom->num_angle[i]; j++) { if (bondlist_flag) { - newtag(atom0tag,atom->angle_atom1[i][j],shiftsign); - newtag(atom0tag,atom->angle_atom2[i][j],shiftsign); - newtag(atom0tag,atom->angle_atom3[i][j],shiftsign); + newtag(atom0tag,atom->angle_atom1[i][j]); + newtag(atom0tag,atom->angle_atom2[i][j]); + newtag(atom0tag,atom->angle_atom3[i][j]); } else { atom->angle_atom1[i][j] += atom_offset; atom->angle_atom2[i][j] += atom_offset; @@ -664,10 +659,10 @@ void Replicate::command(int narg, char **arg) if (atom->avec->dihedrals_allow) for (j = 0; j < atom->num_dihedral[i]; j++) { if (bondlist_flag) { - newtag(atom0tag,atom->dihedral_atom1[i][j],shiftsign); - newtag(atom0tag,atom->dihedral_atom2[i][j],shiftsign); - newtag(atom0tag,atom->dihedral_atom3[i][j],shiftsign); - newtag(atom0tag,atom->dihedral_atom4[i][j],shiftsign); + newtag(atom0tag,atom->dihedral_atom1[i][j]); + newtag(atom0tag,atom->dihedral_atom2[i][j]); + newtag(atom0tag,atom->dihedral_atom3[i][j]); + newtag(atom0tag,atom->dihedral_atom4[i][j]); } else { atom->dihedral_atom1[i][j] += atom_offset; atom->dihedral_atom2[i][j] += atom_offset; @@ -678,10 +673,10 @@ void Replicate::command(int narg, char **arg) if (atom->avec->impropers_allow) for (j = 0; j < atom->num_improper[i]; j++) { if (bondlist_flag) { - newtag(atom0tag,atom->improper_atom1[i][j],shiftsign); - newtag(atom0tag,atom->improper_atom2[i][j],shiftsign); - newtag(atom0tag,atom->improper_atom3[i][j],shiftsign); - newtag(atom0tag,atom->improper_atom4[i][j],shiftsign); + newtag(atom0tag,atom->improper_atom1[i][j]); + newtag(atom0tag,atom->improper_atom2[i][j]); + newtag(atom0tag,atom->improper_atom3[i][j]); + newtag(atom0tag,atom->improper_atom4[i][j]); } else { atom->improper_atom1[i][j] += atom_offset; atom->improper_atom2[i][j] += atom_offset; @@ -867,15 +862,18 @@ void Replicate::command(int narg, char **arg) reassign bond if > old boxlength / 2 ------------------------------------------------------------------------- */ -void Replicate::newtag(tagint atom0tag, tagint &tag2bond, double shiftsign[]) { - double del[3]; - int rep2bond[3], repshift[3] = {0, 0, 0}; +void Replicate::newtag(tagint atom0tag, tagint &tag2bond) { + double del; + int repshift,rep2bond[3]; int atom0 = old->map(atom0tag); int atom2bond = old->map(tag2bond); for (int i = 0; i < 3; i++) { - del[i] = fabs(old->x[atom0][i] - old->x[atom2bond][i]); - if (del[i] > old_prd_half[i]) repshift[i] = shiftsign[i]; - rep2bond[i] = thisrep[i] + repshift[i]; + del = fabs(old->x[atom0][i] - old->x[atom2bond][i]); + if (del > old_prd_half[i]) { + if (old->x[atom0][i] > old_center[i]) repshift = 1; + else repshift = -1; + } else repshift = 0; + rep2bond[i] = thisrep[i] + repshift; if (rep2bond[i] >= allnrep[i]) rep2bond[i] = 0; if (rep2bond[i] < 0) rep2bond[i] = allnrep[i]-1; } diff --git a/src/replicate.h b/src/replicate.h index f8425cdf65..938814e70b 100644 --- a/src/replicate.h +++ b/src/replicate.h @@ -31,10 +31,10 @@ class Replicate : public Command { private: Atom *old; - double old_prd_half[3]; + double old_prd_half[3], old_center[3]; tagint maxtag; int thisrep[3], allnrep[3]; - void newtag(tagint, tagint &, double[3]); + void newtag(tagint, tagint &); }; } // namespace LAMMPS_NS From be6c41a85a229e8d4953229b77af3f4c28863164 Mon Sep 17 00:00:00 2001 From: jrgissing Date: Wed, 23 Feb 2022 00:44:39 -0500 Subject: [PATCH 013/559] delete now-unused variable --- src/replicate.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/replicate.cpp b/src/replicate.cpp index 1eee50f49d..bc9939ce2c 100644 --- a/src/replicate.cpp +++ b/src/replicate.cpp @@ -356,7 +356,7 @@ void Replicate::command(int narg, char **arg) int ix,iy,iz; tagint atom_offset,mol_offset,atom0tag; imageint image; - double x[3],lamda[3],shiftsign[3]; + double x[3],lamda[3]; double *coord; int tag_enable = atom->tag_enable; From 78458a214390a8e9a83e8220c6eb76eb62892219 Mon Sep 17 00:00:00 2001 From: jrgissing Date: Wed, 23 Feb 2022 01:04:04 -0500 Subject: [PATCH 014/559] add mention of example in docs --- doc/src/replicate.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/src/replicate.rst b/doc/src/replicate.rst index 9181f0e940..f6c637b200 100644 --- a/doc/src/replicate.rst +++ b/doc/src/replicate.rst @@ -22,6 +22,8 @@ nx,ny,nz = replication factors in each dimension Examples """""""" +For an example of replicating periodically looped carbon nanotubes, see examples/replicate. + .. code-block:: LAMMPS replicate 2 3 2 From b4c58c98283003dbe6b1ffd22d2deced27ed5c20 Mon Sep 17 00:00:00 2001 From: jrgissing Date: Fri, 22 Apr 2022 21:19:53 -0400 Subject: [PATCH 015/559] actually reset image flags --- src/replicate.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/replicate.cpp b/src/replicate.cpp index bc9939ce2c..2f65aa7e46 100644 --- a/src/replicate.cpp +++ b/src/replicate.cpp @@ -110,7 +110,8 @@ void Replicate::command(int narg, char **arg) // reset image flags for bondlist option if (bondlist_flag) for (i=0; inlocal; ++i) - atom->image[i] = 0; + atom->image[i] = ((imageint) IMGMAX << IMG2BITS) | + ((imageint) IMGMAX << IMGBITS) | IMGMAX; // check image flags maximum extent // only efficient small image flags compared to new system From 5bc1fb1580c799f9c5fe1661bcad3b5f0778a8eb Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Tue, 7 Jun 2022 10:47:18 -0400 Subject: [PATCH 016/559] revert unneeded changes to atom_vec --- src/atom_vec.cpp | 21 ++++++--------------- src/atom_vec.h | 1 - 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/src/atom_vec.cpp b/src/atom_vec.cpp index 266a774d6f..dbacf2237a 100644 --- a/src/atom_vec.cpp +++ b/src/atom_vec.cpp @@ -1482,28 +1482,19 @@ int AtomVec::pack_restart(int i, double *buf) return m; } -/* ---------------------------------------------------------------------- - standard unpack_restart function using default atom instance -------------------------------------------------------------------------- */ -int AtomVec::unpack_restart(double *buf) -{ - return unpack_restart(buf, atom); -} - /* ---------------------------------------------------------------------- unpack data for one atom from restart file including extra quantities ------------------------------------------------------------------------- */ -int AtomVec::unpack_restart(double *buf, Atom *&thisatom) +int AtomVec::unpack_restart(double *buf) { int mm, nn, datatype, cols, collength, ncols; void *pdata, *plength; - int nlocal = thisatom->nlocal; + int nlocal = atom->nlocal; if (nlocal == nmax) { grow(0); - if (thisatom->nextra_store) - memory->grow(thisatom->extra, nmax, thisatom->nextra_store, "atom:extra"); + if (atom->nextra_store) memory->grow(atom->extra, nmax, atom->nextra_store, "atom:extra"); } int m = 1; @@ -1584,13 +1575,13 @@ int AtomVec::unpack_restart(double *buf, Atom *&thisatom) // store extra restart info which fixes can unpack when instantiated - double **extra = thisatom->extra; - if (thisatom->nextra_store) { + double **extra = atom->extra; + if (atom->nextra_store) { int size = static_cast(buf[0]) - m; for (int i = 0; i < size; i++) extra[nlocal][i] = buf[m++]; } - thisatom->nlocal++; + atom->nlocal++; return m; } diff --git a/src/atom_vec.h b/src/atom_vec.h index e1959c6557..b8f6202e78 100644 --- a/src/atom_vec.h +++ b/src/atom_vec.h @@ -111,7 +111,6 @@ class AtomVec : protected Pointers { virtual int size_restart(); virtual int pack_restart(int, double *); virtual int unpack_restart(double *); - virtual int unpack_restart(double *, Atom *&); virtual void pack_restart_pre(int) {} virtual void pack_restart_post(int) {} From f024abfe34ffbd8b036e4024991cd031168a957a Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Tue, 7 Jun 2022 11:10:36 -0400 Subject: [PATCH 017/559] make simpler, faster, more self-contained (and fix bugs) --- src/replicate.cpp | 35 +++++++++++++++++++++++------------ src/replicate.h | 6 +++++- 2 files changed, 28 insertions(+), 13 deletions(-) diff --git a/src/replicate.cpp b/src/replicate.cpp index 2f65aa7e46..460bd75715 100644 --- a/src/replicate.cpp +++ b/src/replicate.cpp @@ -166,7 +166,7 @@ void Replicate::command(int narg, char **arg) // atom = new replicated atom class // also set atomKK for Kokkos version of Atom class - old = atom; + Atom *old = atom; atomKK = nullptr; if (lmp->kokkos) atom = atomKK = new AtomKokkos(lmp); else atom = new Atom(lmp); @@ -434,15 +434,22 @@ void Replicate::command(int narg, char **arg) int num_replicas_added = 0; - // let's repurpose the old atom class to allow atom->map for all atoms - // tag and x for the whole system (before replication) stored in 'old' + // store x and tag for the whole system (before replication) if (bondlist_flag) { - m = 0; - old->nlocal = 0; - while (m < size_buf_all) m += old_avec->unpack_restart(&buf_all[m],old); - old->map_init(); - old->map_set(); + memory->create(old_x,old->natoms,3,"replicate:old_x"); + memory->create(old_tag,old->natoms,"replicate:old_tag"); + + i = m = 0; + while (m < size_buf_all) { + old_x[i][0] = buf_all[m+1]; + old_x[i][1] = buf_all[m+2]; + old_x[i][2] = buf_all[m+3]; + old_tag[i] = (tagint) ubuf(buf_all[m+4]).i; + old_map.insert({old_tag[i],i}); + m += static_cast (buf_all[m]); + i++; + } } for (ix = 0; ix < nx; ix++) { @@ -698,6 +705,10 @@ void Replicate::command(int narg, char **arg) memory->destroy(size_buf_rnk); memory->destroy(disp_buf_rnk); memory->destroy(buf_all); + if (bondlist_flag) { + memory->destroy(old_x); + memory->destroy(old_tag); + } int sum = 0; MPI_Reduce(&num_replicas_added, &sum, 1, MPI_INT, MPI_SUM, 0, world); @@ -866,12 +877,12 @@ void Replicate::command(int narg, char **arg) void Replicate::newtag(tagint atom0tag, tagint &tag2bond) { double del; int repshift,rep2bond[3]; - int atom0 = old->map(atom0tag); - int atom2bond = old->map(tag2bond); + int atom0 = old_map.find(atom0tag)->second; + int atom2bond = old_map.find(tag2bond)->second; for (int i = 0; i < 3; i++) { - del = fabs(old->x[atom0][i] - old->x[atom2bond][i]); + del = fabs(old_x[atom0][i] - old_x[atom2bond][i]); if (del > old_prd_half[i]) { - if (old->x[atom0][i] > old_center[i]) repshift = 1; + if (old_x[atom0][i] > old_center[i]) repshift = 1; else repshift = -1; } else repshift = 0; rep2bond[i] = thisrep[i] + repshift; diff --git a/src/replicate.h b/src/replicate.h index 8a1d7f7fc6..33b273ddf4 100644 --- a/src/replicate.h +++ b/src/replicate.h @@ -22,6 +22,8 @@ CommandStyle(replicate,Replicate); #include "command.h" +#include + namespace LAMMPS_NS { class Replicate : public Command { @@ -30,8 +32,10 @@ class Replicate : public Command { void command(int, char **) override; private: - Atom *old; + std::unordered_map old_map; + double **old_x; double old_prd_half[3], old_center[3]; + tagint *old_tag; tagint maxtag; int thisrep[3], allnrep[3]; void newtag(tagint, tagint &); From b8728884fc900dd43f6c565dbe686d5eb5a68d06 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Mon, 10 Oct 2022 10:33:47 -0600 Subject: [PATCH 018/559] Drafting stress controls in fix deform --- src/fix_deform.cpp | 505 ++++++++++++++++++++++++++++++++++++--------- src/fix_deform.h | 21 +- 2 files changed, 430 insertions(+), 96 deletions(-) diff --git a/src/fix_deform.cpp b/src/fix_deform.cpp index bc6e61a69e..40221df839 100644 --- a/src/fix_deform.cpp +++ b/src/fix_deform.cpp @@ -16,6 +16,11 @@ Contributing author: Pieter in 't Veld (SNL) ------------------------------------------------------------------------- */ +// Save previous state to restart file for derivatives +// define hrate_lo/hi for volume +// add modify command +// add pressure code + #include "fix_deform.h" #include "atom.h" @@ -39,8 +44,9 @@ using namespace LAMMPS_NS; using namespace FixConst; using namespace MathConst; -enum{NONE=0,FINAL,DELTA,SCALE,VEL,ERATE,TRATE,VOLUME,WIGGLE,VARIABLE}; +enum{NONE=0,FINAL,DELTA,SCALE,VEL,ERATE,TRATE,VOLUME,WIGGLE,VARIABLE,PRESSURE,PISOTROPIC}; enum{ONE_FROM_ONE,ONE_FROM_TWO,TWO_FROM_ONE}; +enum{NOCOUPLE=0,XYZ,XY,YZ,XZ}; /* ---------------------------------------------------------------------- */ @@ -52,6 +58,8 @@ irregular(nullptr), set(nullptr) no_change_box = 1; restart_global = 1; pre_exchange_migrate = 1; + pcouple = NOCOUPLE; + dimension = domain->dimension; nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal fix deform command"); @@ -132,7 +140,35 @@ irregular(nullptr), set(nullptr) set[index].hstr = utils::strdup(&arg[iarg+2][2]); set[index].hratestr = utils::strdup(&arg[iarg+3][2]); iarg += 4; - } else error->all(FLERR,"Illegal fix deform command"); + } else if (strcmp(arg[iarg+1],"pressure") == 0) { + if (iarg+4 > narg) error->all(FLERR, "Illegal fix deform command"); + set[index].style = PRESSURE; + if (strstr(arg[iarg+2],"v_") != arg[iarg+2]) { + set[index].ptarget = utils::numeric(FLERR,arg[iarg+2],false,lmp); + } else { + if (iarg+ > narg) error->all(FLERR,"Illegal fix deform command"); + set[index].pstr = utils::strdup(&arg[iarg+2][2]); + set[index].pvar = 1; + } + set[index].pgain = utils::numeric(FLERR,arg[iarg+3],false,lmp); + if (set[index].pgain <= 0.0) + error->all(FLERR,"Illegal fix deform command"); + iarg += 4; + } else if (strcmp(arg[iarg+1],"pressure/isotropic") == 0) { + if (iarg+4 > narg) error->all(FLERR, "Illegal fix deform command"); + set[index].style = PISOTROPIC; + if (strstr(arg[iarg+2],"v_") != arg[iarg+2]) { + set[index].ptarget = utils::numeric(FLERR,arg[iarg+2],false,lmp); + } else { + if (iarg+ > narg) error->all(FLERR,"Illegal fix deform command"); + set[index].pstr = utils::strdup(&arg[iarg+2][2]); + set[index].pvar = 1; + } + set[index].pgain = utils::numeric(FLERR,arg[iarg+3],false,lmp); + if (set[index].pgain <= 0.0) + error->all(FLERR,"Illegal fix deform command"); + iarg += 4; + } error->all(FLERR,"Illegal fix deform command"); } else if (strcmp(arg[iarg],"xy") == 0 || strcmp(arg[iarg],"xz") == 0 || @@ -190,8 +226,21 @@ irregular(nullptr), set(nullptr) set[index].hstr = utils::strdup(&arg[iarg+2][2]); set[index].hratestr = utils::strdup(&arg[iarg+3][2]); iarg += 4; + } else if (strcmp(arg[iarg+1],"pressure") == 0) { + if (iarg+4 > narg) error->all(FLERR, "Illegal fix deform command"); + set[index].style = PRESSURE; + if (strstr(arg[iarg+2],"v_") != arg[iarg+2]) { + set[index].ptarget = utils::numeric(FLERR,arg[iarg+2],false,lmp); + } else { + if (iarg+ > narg) error->all(FLERR,"Illegal fix deform command"); + set[index].pstr = utils::strdup(&arg[iarg+2][2]); + set[index].pvar = 1; + } + set[index].pgain = utils::numeric(FLERR,arg[iarg+3],false,lmp); + if (set[index].pgain <= 0.0) + error->all(FLERR,"Illegal fix deform command"); + iarg += 4; } else error->all(FLERR,"Illegal fix deform command"); - } else break; } @@ -201,6 +250,63 @@ irregular(nullptr), set(nullptr) options(narg-iarg,&arg[iarg]); if (remapflag != Domain::X_REMAP) restart_pbc = 1; + // populate coupled pressure controls + + if (pcouple != NOCOUPLE) { + int coupled_indices[3] = {0}; + int j = -1; + double couple_gain, coupled_pressure; + char *couple_str; + + if (pcouple == XYZ || pcouple == XY || pcouple == XZ) + coupled_indices[0] = 1; + if (pcouple == XYZ || pcouple == XY || pcouple == YZ) + coupled_indices[1] = 1; + if (pcouple == XYZ || pcouple == XZ || pcouple == YZ) + coupled_indices[2] = 1; + + // Check coupled styles and find reference + for (int i = 0; i < 3; i++) { + if (coupled_indices[i]) { + set[i].coupled_flag = 1; + if (set[i].style != VOLUME && set[i].style != PRESSURE && set[i].style != NONE) + error->all(FLERR, "Cannot couple dimensions not controlled by pressure or volume in fix deform"); + if (set[i].style == PRESSURE || set[i].style == VOLUME) + j = i; + } + } + + if (j == -1) + error->all(FLERR, "Must specify pressure style for a coupled dimension in fix deform"); + + // Copy data to each coupled dimension + for (int i = 0; i < 3; i++) { + if (coupled_indices[i]) { + if (set[j].style != set[i].style && set[i].style != NONE) + error->all(FLERR, "Cannot couple dimensions with different control options"); + + if (set[j].style == PRESSURE && set[i].style == NONE) { + set[i].style = PRESSURE; + set[i].pgain = set[j].pgain; + if (set[j].pvar == 1) { + set[i].pstr = set[j].pstr; + set[i].pvar = 1; + } else { + set[i].ptarget = set[j].ptarget; + } + } else if (set[j].style == VOLUME && set[i].style == NONE) { + set[i].style = VOLUME; + set[i].saved = -1; + if (domain->dimension == 2) + error->all(FLERR, "Cannot couple pressure with constant volume in two dimensions"); + } + } else { + if (set[i].style == VOLUME && set[j].style == VOLUME) + error->all(FLERR, "Dimensions used to maintain constant volume must either be all be coupled or not coupled"); + } + } + } + // setup dimflags used by other classes to check for volume-change conflicts for (int i = 0; i < 6; i++) @@ -285,32 +391,31 @@ irregular(nullptr), set(nullptr) // for VOLUME, setup links to other dims // fixed, dynamic1, dynamic2 + volume_flag = 0; for (int i = 0; i < 3; i++) { if (set[i].style != VOLUME) continue; + volume_flag = 1; int other1 = (i+1) % 3; int other2 = (i+2) % 3; - if (set[other1].style == NONE) { + // Cannot use VOLUME option without at least one deformed dimension + if (set[other1].style == NONE || set[other1].style == VOLUME) if (set[other2].style == NONE || set[other2].style == VOLUME) error->all(FLERR,"Fix deform volume setting is invalid"); + + if (set[other1].style == NONE) { set[i].substyle = ONE_FROM_ONE; set[i].fixed = other1; set[i].dynamic1 = other2; } else if (set[other2].style == NONE) { - if (set[other1].style == NONE || set[other1].style == VOLUME) - error->all(FLERR,"Fix deform volume setting is invalid"); set[i].substyle = ONE_FROM_ONE; set[i].fixed = other2; set[i].dynamic1 = other1; } else if (set[other1].style == VOLUME) { - if (set[other2].style == NONE || set[other2].style == VOLUME) - error->all(FLERR,"Fix deform volume setting is invalid"); set[i].substyle = TWO_FROM_ONE; set[i].fixed = other1; set[i].dynamic1 = other2; } else if (set[other2].style == VOLUME) { - if (set[other1].style == NONE || set[other1].style == VOLUME) - error->all(FLERR,"Fix deform volume setting is invalid"); set[i].substyle = TWO_FROM_ONE; set[i].fixed = other2; set[i].dynamic1 = other1; @@ -321,12 +426,34 @@ irregular(nullptr), set(nullptr) } } + // set strain_flag + strain_flag = 0; + for (int i = 0; i < 6; i++) + if (set[i].style != NONE && set[i].style != VOLUME && + set[i].style != PRESSURE && set[i].style != PISOTROPIC) + strain_flag = 1; + // set varflag varflag = 0; for (int i = 0; i < 6; i++) if (set[i].style == VARIABLE) varflag = 1; + // set pressure_flag + + pressure_flag = 0; + for (int i = 0; i < 6; i++) { + if (set[i].style == PRESSURE || set[i].style == PISOTROPIC) pressure_flag = 1; + if (set[i].coupled_flag) pressure_flag = 1; + } + + // check conflict between constant volume/pressure + + if (volume_flag) + for (int i = 0; i < 6; i++) + if (set[i].style == PISOTROPIC) + error->all(FLERR, "Cannot use fix deform to assign constant volume and pressure"); + // set initial values at time fix deform is issued for (int i = 0; i < 3; i++) { @@ -350,6 +477,29 @@ irregular(nullptr), set(nullptr) else irregular = nullptr; TWOPI = 2.0*MY_PI; + + // Create pressure compute, if needed + + pflag = 0; + tflag = 0; + if (pressure_flag) { + // create a new compute temp style + // id = fix-ID + temp + // compute group = all since pressure is always global (group all) + // and thus its KE/temperature contribution should use group all + + id_temp = utils::strdup(std::string(id) + "_temp"); + modify->add_compute(fmt::format("{} all temp",id_temp)); + tflag = 1; + + // create a new compute pressure style + // id = fix-ID + press, compute group = all + // pass id_temp as 4th arg to pressure constructor + + id_press = utils::strdup(std::string(id) + "_press"); + modify->add_compute(fmt::format("{} all pressure {}",id_press, id_temp)); + pflag = 1; + } } /* ---------------------------------------------------------------------- */ @@ -360,6 +510,7 @@ FixDeform::~FixDeform() for (int i = 0; i < 6; i++) { delete[] set[i].hstr; delete[] set[i].hratestr; + delete[] set[i].pstr; } } delete[] set; @@ -374,6 +525,13 @@ FixDeform::~FixDeform() h_rate[0] = h_rate[1] = h_rate[2] = h_rate[3] = h_rate[4] = h_rate[5] = 0.0; h_ratelo[0] = h_ratelo[1] = h_ratelo[2] = 0.0; + + // delete temperature and pressure if fix created them + + if (tflag) modify->delete_compute(id_temp); + if (pflag) modify->delete_compute(id_press); + delete [] id_temp; + delete [] id_press; } /* ---------------------------------------------------------------------- */ @@ -574,7 +732,7 @@ void FixDeform::init() // set domain->h_rate values for use by domain and other fixes/computes // initialize all rates to 0.0 - // cannot set here for TRATE,VOLUME,WIGGLE,VARIABLE since not constant + // cannot set here for TRATE,VOLUME,WIGGLE,VARIABLE,PRESSURE since not constant h_rate = domain->h_rate; h_ratelo = domain->h_ratelo; @@ -611,6 +769,31 @@ void FixDeform::init() for (auto ifix : modify->get_fix_list()) if (ifix->rigid_flag) rfix.push_back(ifix); + + // Find pressure/temp computes if needed + + if (pressure_flag) { + int icompute = modify->find_compute(id_temp); + if (icompute < 0) + error->all(FLERR,"Temperature ID for fix deform does not exist"); + temperature = modify->compute[icompute]; + + icompute = modify->find_compute(id_press); + if (icompute < 0) + error->all(FLERR,"Pressure ID for fix deform does not exist"); + pressure = modify->compute[icompute]; + } +} + +/* ---------------------------------------------------------------------- + compute T,P if needed before integrator starts +------------------------------------------------------------------------- */ + +void FixDeform::setup(int /*vflag*/) +{ + // trigger virial computation on next timestep + + if (pressure_flag) pressure->addstep(update->ntimestep+1); } /* ---------------------------------------------------------------------- @@ -660,95 +843,40 @@ void FixDeform::end_of_step() if (varflag) modify->clearstep_compute(); - // set new box size - // for NONE, target is current box size - // for TRATE, set target directly based on current time, also set h_rate - // for WIGGLE, set target directly based on current time, also set h_rate - // for VARIABLE, set target directly via variable eval, also set h_rate - // for others except VOLUME, target is linear value between start and stop + // set new box size for strain-based dims - for (i = 0; i < 3; i++) { - if (set[i].style == NONE) { - set[i].lo_target = domain->boxlo[i]; - set[i].hi_target = domain->boxhi[i]; - } else if (set[i].style == TRATE) { - double delt = (update->ntimestep - update->beginstep) * update->dt; - set[i].lo_target = 0.5*(set[i].lo_start+set[i].hi_start) - - 0.5*((set[i].hi_start-set[i].lo_start) * exp(set[i].rate*delt)); - set[i].hi_target = 0.5*(set[i].lo_start+set[i].hi_start) + - 0.5*((set[i].hi_start-set[i].lo_start) * exp(set[i].rate*delt)); - h_rate[i] = set[i].rate * domain->h[i]; - h_ratelo[i] = -0.5*h_rate[i]; - } else if (set[i].style == WIGGLE) { - double delt = (update->ntimestep - update->beginstep) * update->dt; - set[i].lo_target = set[i].lo_start - - 0.5*set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); - set[i].hi_target = set[i].hi_start + - 0.5*set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); - h_rate[i] = TWOPI/set[i].tperiod * set[i].amplitude * - cos(TWOPI*delt/set[i].tperiod); - h_ratelo[i] = -0.5*h_rate[i]; - } else if (set[i].style == VARIABLE) { - double del = input->variable->compute_equal(set[i].hvar); - set[i].lo_target = set[i].lo_start - 0.5*del; - set[i].hi_target = set[i].hi_start + 0.5*del; - h_rate[i] = input->variable->compute_equal(set[i].hratevar); - h_ratelo[i] = -0.5*h_rate[i]; - } else if (set[i].style != VOLUME) { - set[i].lo_target = set[i].lo_start + - delta*(set[i].lo_stop - set[i].lo_start); - set[i].hi_target = set[i].hi_start + - delta*(set[i].hi_stop - set[i].hi_start); + set_strain(); + + // set new box size for pressure-based dims + + if (pressure_flag) { + temperature->compute_vector(); + pressure->compute_vector(); + for (int i = 0; i < 3; i++) { + if (set[i].saved == -1) { + set[i].saved = 1; + set[i].rate = 0.0; + set[i].prior_pressure = pressure->vector[i]; + if (i == 0) set[i].box_length = domain->xprd; + else if (i == 1) set[i].box_length = domain->yprd; + else (i == 2) set[i].box_length = domain->zprd; + } } + set_pressure(); } // set new box size for VOLUME dims that are linked to other dims // NOTE: still need to set h_rate for these dims - for (i = 0; i < 3; i++) { - if (set[i].style != VOLUME) continue; + if (volume_flag) set_volume(); - if (set[i].substyle == ONE_FROM_ONE) { - set[i].lo_target = 0.5*(set[i].lo_start+set[i].hi_start) - - 0.5*(set[i].vol_start / - (set[set[i].dynamic1].hi_target - - set[set[i].dynamic1].lo_target) / - (set[set[i].fixed].hi_start-set[set[i].fixed].lo_start)); - set[i].hi_target = 0.5*(set[i].lo_start+set[i].hi_start) + - 0.5*(set[i].vol_start / - (set[set[i].dynamic1].hi_target - - set[set[i].dynamic1].lo_target) / - (set[set[i].fixed].hi_start-set[set[i].fixed].lo_start)); + // Save pressure/strain rate if required - } else if (set[i].substyle == ONE_FROM_TWO) { - set[i].lo_target = 0.5*(set[i].lo_start+set[i].hi_start) - - 0.5*(set[i].vol_start / - (set[set[i].dynamic1].hi_target - - set[set[i].dynamic1].lo_target) / - (set[set[i].dynamic2].hi_target - - set[set[i].dynamic2].lo_target)); - set[i].hi_target = 0.5*(set[i].lo_start+set[i].hi_start) + - 0.5*(set[i].vol_start / - (set[set[i].dynamic1].hi_target - - set[set[i].dynamic1].lo_target) / - (set[set[i].dynamic2].hi_target - - set[set[i].dynamic2].lo_target)); - - } else if (set[i].substyle == TWO_FROM_ONE) { - set[i].lo_target = 0.5*(set[i].lo_start+set[i].hi_start) - - 0.5*sqrt(set[i].vol_start / - (set[set[i].dynamic1].hi_target - - set[set[i].dynamic1].lo_target) / - (set[set[i].fixed].hi_start - - set[set[i].fixed].lo_start) * - (set[i].hi_start - set[i].lo_start)); - set[i].hi_target = 0.5*(set[i].lo_start+set[i].hi_start) + - 0.5*sqrt(set[i].vol_start / - (set[set[i].dynamic1].hi_target - - set[set[i].dynamic1].lo_target) / - (set[set[i].fixed].hi_start - - set[set[i].fixed].lo_start) * - (set[i].hi_start - set[i].lo_start)); + if (pressure_flag) { + double dt_inv = 1.0 / update->dt; + for (int i = 0; i < 3; i++) { + set[i].prior_pressure = pressure->vector[i]; + set[i].prior_rate = ((set[i].hi_target - set[i].lo_target) / set[i].box_length - 1.0) * dt_inv; } } @@ -882,7 +1010,7 @@ void FixDeform::end_of_step() if (mask[i] & groupbit) domain->x2lamda(x[i],x[i]); - for (auto &ifix : rfix) + for (auto ifix : rfix) ifix->deform(0); } @@ -921,13 +1049,134 @@ void FixDeform::end_of_step() if (mask[i] & groupbit) domain->lamda2x(x[i],x[i]); - for (auto &ifix : rfix) + for (auto ifix : rfix) ifix->deform(1); } // redo KSpace coeffs since box has changed if (kspace_flag) force->kspace->setup(); + + // trigger virial computation, if needed, on next timestep + + if (pressure_flag) { + pressure->addstep(update->ntimestep+1); + set[0].box_length = domain->xprd; + set[1].box_length = domain->yprd; + set[2].box_length = domain->zprd; + } +} + +/* ---------------------------------------------------------------------- + set box size for strain-based dimensions +------------------------------------------------------------------------- */ + +void FixDeform::set_strain() +{ + // for NONE, target is current box size + // for TRATE, set target directly based on current time, also set h_rate + // for WIGGLE, set target directly based on current time, also set h_rate + // for VARIABLE, set target directly via variable eval, also set h_rate + // for others except VOLUME, target is linear value between start and stop + + for (int i = 0; i < 3; i++) { + if (set[i].style == NONE) { + set[i].lo_target = domain->boxlo[i]; + set[i].hi_target = domain->boxhi[i]; + } else if (set[i].style == TRATE) { + double delt = (update->ntimestep - update->beginstep) * update->dt; + set[i].lo_target = 0.5*(set[i].lo_start+set[i].hi_start) - + 0.5*((set[i].hi_start-set[i].lo_start) * exp(set[i].rate*delt)); + set[i].hi_target = 0.5*(set[i].lo_start+set[i].hi_start) + + 0.5*((set[i].hi_start-set[i].lo_start) * exp(set[i].rate*delt)); + h_rate[i] = set[i].rate * domain->h[i]; + h_ratelo[i] = -0.5*h_rate[i]; + } else if (set[i].style == WIGGLE) { + double delt = (update->ntimestep - update->beginstep) * update->dt; + set[i].lo_target = set[i].lo_start - + 0.5*set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); + set[i].hi_target = set[i].hi_start + + 0.5*set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); + h_rate[i] = TWOPI/set[i].tperiod * set[i].amplitude * + cos(TWOPI*delt/set[i].tperiod); + h_ratelo[i] = -0.5*h_rate[i]; + } else if (set[i].style == VARIABLE) { + double del = input->variable->compute_equal(set[i].hvar); + set[i].lo_target = set[i].lo_start - 0.5*del; + set[i].hi_target = set[i].hi_start + 0.5*del; + h_rate[i] = input->variable->compute_equal(set[i].hratevar); + h_ratelo[i] = -0.5*h_rate[i]; + } else if (set[i].style != VOLUME) { + set[i].lo_target = set[i].lo_start + + delta*(set[i].lo_stop - set[i].lo_start); + set[i].hi_target = set[i].hi_start + + delta*(set[i].hi_stop - set[i].hi_start); + } + } +} + +/* ---------------------------------------------------------------------- + set box size for pressure-based dimensions +------------------------------------------------------------------------- */ + +void FixDeform::set_pressure() +{ + for (int i = 0; i < 3; i++) { + + + } + // must define hi+lo target + // + +} + +/* ---------------------------------------------------------------------- + set box size for VOLUME dimensions +------------------------------------------------------------------------- */ + +void FixDeform::set_volume() +{ + for (int i = 0; i < 3; i++) { + if (set[i].style != VOLUME) continue; + + double v0 = set[i].vol_start; + double center_start = 0.5 * (set[i].lo_start + set[i].hi_start); + double offset; + + if (set[i].substyle == ONE_FROM_ONE) { + offset = 0.5 * (v0 / + (set[set[i].dynamic1].hi_target - set[set[i].dynamic1].lo_target) / + (set[set[i].fixed].hi_start-set[set[i].fixed].lo_start)); + } else if (set[i].substyle == ONE_FROM_TWO) { + offset = 0.5 * (v0 / + (set[set[i].dynamic1].hi_target - set[set[i].dynamic1].lo_target) / + (set[set[i].dynamic2].hi_target - set[set[i].dynamic2].lo_target)) + } else if (set[i].substyle == TWO_FROM_ONE) { + if (!set[i].coupled_flag) { + offset = 0.5 * sqrt(v0 * (set[i].hi_start - set[i].lo_start) / + (set[set[i].dynamic1].hi_target - set[set[i].dynamic1].lo_target) / + (set[set[i].fixed].hi_start - set[set[i].fixed].lo_start)) + } else { + double p1 = pressure->vector[i]; + double p2 = pressure->vector[set[i].fixed]; + double p1i = set[i].prior_pressure; + double p2i = set[set[i].fixed].prior_pressure; + double e1i = set[i].prior_rate; + double e2i = set[set[i].fixed].prior_rate; + double L3 = (set[set[i].dynamic1].hi_target - set[set[i].dynamic1].lo_target); + double dt = update->dt; + + double e3 = (L3 / set[set[i].dynamic1].box_length - 1.0) / dt; + double e1 = -e3 * dt / (1 + e3 * dt) * (p2 - p2i) - e2i * (p1 - p2); + e1 /= (p2 - p2i + (p1 - p1i) / e1p * e2p); + double e2 = (1.0 - (1 + e3 * dt) * (1 + e1 * dt)); + e2 /= (1 + e3 * dt) * (1 + e1 * dt) * dt; + offset = 0.5 * set[i].box_length * (1.0 - e3 * dt); + } + } + set[i].lo_target = center_start - offset; + set[i].hi_target = center_start + offset; + } } /* ---------------------------------------------------------------------- @@ -937,7 +1186,7 @@ void FixDeform::end_of_step() void FixDeform::write_restart(FILE *fp) { if (comm->me == 0) { - int size = 6*sizeof(Set); + int size = 6 * sizeof(Set); fwrite(&size,sizeof(int),1,fp); fwrite(set,sizeof(Set),6,fp); } @@ -996,8 +1245,22 @@ void FixDeform::options(int narg, char **arg) if (iarg+2 > narg) error->all(FLERR,"Illegal fix deform command"); flipflag = utils::logical(FLERR,arg[iarg+1],false,lmp); iarg += 2; + } else if (strcmp(arg[iarg],"couple") == 0) { + if (iarg+2 > narg) + error->all(FLERR,"Illegal fix fix deform command"); + if (strcmp(arg[iarg+1],"xyz") == 0) pcouple = XYZ; + else if (strcmp(arg[iarg+1],"xy") == 0) pcouple = XY; + else if (strcmp(arg[iarg+1],"yz") == 0) pcouple = YZ; + else if (strcmp(arg[iarg+1],"xz") == 0) pcouple = XZ; + else if (strcmp(arg[iarg+1],"none") == 0) pcouple = NOCOUPLE; + else error->all(FLERR,"Illegal fix fix deform command"); + iarg += 2; } else error->all(FLERR,"Illegal fix deform command"); } + + if (dimension == 2) + if (pcouple == XYZ || pcouple == XZ || pcouple == YZ) + error->all(FLERR, "Cannot couple Z dimension in fix deform in 2D"); } /* ---------------------------------------------------------------------- @@ -1010,3 +1273,57 @@ double FixDeform::memory_usage() if (irregular) bytes += irregular->memory_usage(); return bytes; } + + +/* ---------------------------------------------------------------------- */ + +int FixDeform::modify_param(int narg, char **arg) +{ + if (!pressure_flag) error->all(FLERR,"Cannot modify fix deform without a pressure control"); + if (strcmp(arg[0],"temp") == 0) { + if (narg < 2) error->all(FLERR,"Illegal fix_modify command"); + if (tflag) { + modify->delete_compute(id_temp); + tflag = 0; + } + delete [] id_temp; + id_temp = utils::strdup(arg[1]); + + int icompute = modify->find_compute(arg[1]); + if (icompute < 0) error->all(FLERR,"Could not find fix_modify temperature ID"); + temperature = modify->compute[icompute]; + + if (temperature->tempflag == 0) + error->all(FLERR,"Fix_modify temperature ID does not compute temperature"); + if (temperature->igroup != 0 && comm->me == 0) + error->warning(FLERR,"Temperature for deform is not for group all"); + + // reset id_temp of pressure to new temperature ID + + icompute = modify->find_compute(id_press); + if (icompute < 0) + error->all(FLERR,"Pressure ID for fix deform does not exist"); + modify->compute[icompute]->reset_extra_compute_fix(id_temp); + + return 2; + + } else if (strcmp(arg[0],"press") == 0) { + if (narg < 2) error->all(FLERR,"Illegal fix_modify command"); + if (pflag) { + modify->delete_compute(id_press); + pflag = 0; + } + delete [] id_press; + id_press = utils::strdup(arg[1]); + + int icompute = modify->find_compute(arg[1]); + if (icompute < 0) error->all(FLERR,"Could not find fix_modify pressure ID"); + pressure = modify->compute[icompute]; + + if (pressure->pressflag == 0) + error->all(FLERR,"Fix_modify pressure ID does not compute pressure"); + return 2; + } + + return 0; +} diff --git a/src/fix_deform.h b/src/fix_deform.h index 76f5fc9d4a..7297874258 100644 --- a/src/fix_deform.h +++ b/src/fix_deform.h @@ -33,23 +33,32 @@ class FixDeform : public Fix { ~FixDeform() override; int setmask() override; void init() override; + void setup(int) override; void pre_exchange() override; void end_of_step() override; void write_restart(FILE *) override; void restart(char *buf) override; double memory_usage() override; + int modify_param(int, char **) override; protected: - int triclinic, scaleflag, flipflag; + int dimension, triclinic, scaleflag, flipflag, pcouple; int flip, flipxy, flipxz, flipyz; double *h_rate, *h_ratelo; int varflag; // 1 if VARIABLE option is used, 0 if not + int strain_flag; // 1 if strain-based option is used, 0 if not + int volume_flag; // 1 if VOLUME option is used, 0 if not + int pressure_flag; // 1 if pressure tensor used, 0 if not int kspace_flag; // 1 if KSpace invoked, 0 if not std::vector rfix; // pointers to rigid fixes class Irregular *irregular; // for migrating atoms after box flips double TWOPI; + char *id_temp, *id_press; + class Compute *temperature, *pressure; + int tflag, pflag; + struct Set { int style, substyle; double flo, fhi, ftilt; @@ -61,13 +70,21 @@ class FixDeform : public Fix { double tilt_initial, tilt_start, tilt_stop, tilt_target, tilt_flip; double tilt_min, tilt_max; double vol_initial, vol_start; + double ptarget, pgain; + double prior_pressure, prior_rate; + double box_length; + int saved; int fixed, dynamic1, dynamic2; - char *hstr, *hratestr; + char *hstr, *hratestr, *pstr; int hvar, hratevar; + int pvar; + int coupled_flag; }; Set *set; void options(int, char **); + void set_volume(); + void couple(); }; } // namespace LAMMPS_NS From 66471c146537d8d1a32e00c8c7d9e68c4bc8ff07 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Tue, 11 Oct 2022 16:52:02 -0600 Subject: [PATCH 019/559] Adding pressure controls and fixing misc errors --- src/fix_deform.cpp | 375 ++++++++++++++++++++++++++++----------------- src/fix_deform.h | 4 +- 2 files changed, 235 insertions(+), 144 deletions(-) diff --git a/src/fix_deform.cpp b/src/fix_deform.cpp index 40221df839..766d7c22ae 100644 --- a/src/fix_deform.cpp +++ b/src/fix_deform.cpp @@ -17,14 +17,14 @@ ------------------------------------------------------------------------- */ // Save previous state to restart file for derivatives -// define hrate_lo/hi for volume -// add modify command -// add pressure code +// define hrate_lo/hi for volume/pressure +// add logic for hi_stop and flip flag #include "fix_deform.h" #include "atom.h" #include "comm.h" +#include "compute.h" #include "domain.h" #include "error.h" #include "force.h" @@ -84,36 +84,36 @@ irregular(nullptr), set(nullptr) else if (strcmp(arg[iarg],"y") == 0) index = 1; else if (strcmp(arg[iarg],"z") == 0) index = 2; - if (iarg+2 > narg) error->all(FLERR,"Illegal fix deform command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix deform", error); if (strcmp(arg[iarg+1],"final") == 0) { - if (iarg+4 > narg) error->all(FLERR,"Illegal fix deform command"); + if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix deform final", error); set[index].style = FINAL; set[index].flo = utils::numeric(FLERR,arg[iarg+2],false,lmp); set[index].fhi = utils::numeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; } else if (strcmp(arg[iarg+1],"delta") == 0) { - if (iarg+4 > narg) error->all(FLERR,"Illegal fix deform command"); + if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix deform delta", error); set[index].style = DELTA; set[index].dlo = utils::numeric(FLERR,arg[iarg+2],false,lmp); set[index].dhi = utils::numeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; } else if (strcmp(arg[iarg+1],"scale") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix deform command"); + if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "fix deform scale", error); set[index].style = SCALE; set[index].scale = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg+1],"vel") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix deform command"); + if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "fix deform vel", error); set[index].style = VEL; set[index].vel = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg+1],"erate") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix deform command"); + if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "fix deform erate", error); set[index].style = ERATE; set[index].rate = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg+1],"trate") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix deform command"); + if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "fix deform trate", error); set[index].style = TRATE; set[index].rate = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; @@ -121,54 +121,52 @@ irregular(nullptr), set(nullptr) set[index].style = VOLUME; iarg += 2; } else if (strcmp(arg[iarg+1],"wiggle") == 0) { - if (iarg+4 > narg) error->all(FLERR,"Illegal fix deform command"); + if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix deform wiggle", error); set[index].style = WIGGLE; set[index].amplitude = utils::numeric(FLERR,arg[iarg+2],false,lmp); set[index].tperiod = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (set[index].tperiod <= 0.0) - error->all(FLERR,"Illegal fix deform command"); + error->all(FLERR,"Illegal fix deform wiggle period, must be positive"); iarg += 4; } else if (strcmp(arg[iarg+1],"variable") == 0) { - if (iarg+4 > narg) error->all(FLERR,"Illegal fix deform command"); + if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix deform variable", error); set[index].style = VARIABLE; if (strstr(arg[iarg+2],"v_") != arg[iarg+2]) - error->all(FLERR,"Illegal fix deform command"); + error->all(FLERR,"Illegal fix deform variable name {}", arg[iarg+2]); if (strstr(arg[iarg+3],"v_") != arg[iarg+3]) - error->all(FLERR,"Illegal fix deform command"); + error->all(FLERR,"Illegal fix deform variable name {}", arg[iarg+3]); delete[] set[index].hstr; delete[] set[index].hratestr; set[index].hstr = utils::strdup(&arg[iarg+2][2]); set[index].hratestr = utils::strdup(&arg[iarg+3][2]); iarg += 4; } else if (strcmp(arg[iarg+1],"pressure") == 0) { - if (iarg+4 > narg) error->all(FLERR, "Illegal fix deform command"); + if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix deform pressure", error); set[index].style = PRESSURE; if (strstr(arg[iarg+2],"v_") != arg[iarg+2]) { set[index].ptarget = utils::numeric(FLERR,arg[iarg+2],false,lmp); } else { - if (iarg+ > narg) error->all(FLERR,"Illegal fix deform command"); set[index].pstr = utils::strdup(&arg[iarg+2][2]); - set[index].pvar = 1; + set[index].pvar_flag = 1; } set[index].pgain = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (set[index].pgain <= 0.0) - error->all(FLERR,"Illegal fix deform command"); + error->all(FLERR,"Illegal fix deform pressure gain, must be positive"); iarg += 4; } else if (strcmp(arg[iarg+1],"pressure/isotropic") == 0) { - if (iarg+4 > narg) error->all(FLERR, "Illegal fix deform command"); + if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix deform pressure/isotropic", error); set[index].style = PISOTROPIC; if (strstr(arg[iarg+2],"v_") != arg[iarg+2]) { set[index].ptarget = utils::numeric(FLERR,arg[iarg+2],false,lmp); } else { - if (iarg+ > narg) error->all(FLERR,"Illegal fix deform command"); set[index].pstr = utils::strdup(&arg[iarg+2][2]); - set[index].pvar = 1; + set[index].pvar_flag = 1; } set[index].pgain = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (set[index].pgain <= 0.0) - error->all(FLERR,"Illegal fix deform command"); + error->all(FLERR,"Illegal fix deform pressure gain, must be positive"); iarg += 4; - } error->all(FLERR,"Illegal fix deform command"); + } else error->all(FLERR,"Illegal fix deform command argument: {}", arg[iarg+1]); } else if (strcmp(arg[iarg],"xy") == 0 || strcmp(arg[iarg],"xz") == 0 || @@ -180,67 +178,66 @@ irregular(nullptr), set(nullptr) else if (strcmp(arg[iarg],"xz") == 0) index = 4; else if (strcmp(arg[iarg],"yz") == 0) index = 3; - if (iarg+2 > narg) error->all(FLERR,"Illegal fix deform command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix deform", error); if (strcmp(arg[iarg+1],"final") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix deform command"); + if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "fix deform final", error); set[index].style = FINAL; set[index].ftilt = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg+1],"delta") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix deform command"); + if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "fix deform delta", error); set[index].style = DELTA; set[index].dtilt = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg+1],"vel") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix deform command"); + if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "fix deform vel", error); set[index].style = VEL; set[index].vel = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg+1],"erate") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix deform command"); + if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "fix deform erate", error); set[index].style = ERATE; set[index].rate = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg+1],"trate") == 0) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix deform command"); + if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "fix deform trate", error); set[index].style = TRATE; set[index].rate = utils::numeric(FLERR,arg[iarg+2],false,lmp); iarg += 3; } else if (strcmp(arg[iarg+1],"wiggle") == 0) { - if (iarg+4 > narg) error->all(FLERR,"Illegal fix deform command"); + if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix deform wiggle", error); set[index].style = WIGGLE; set[index].amplitude = utils::numeric(FLERR,arg[iarg+2],false,lmp); set[index].tperiod = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (set[index].tperiod <= 0.0) - error->all(FLERR,"Illegal fix deform command"); + error->all(FLERR,"Illegal fix deform wiggle period, must be positive"); iarg += 4; } else if (strcmp(arg[iarg+1],"variable") == 0) { - if (iarg+4 > narg) error->all(FLERR,"Illegal fix deform command"); + if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix deform variable", error); set[index].style = VARIABLE; if (strstr(arg[iarg+2],"v_") != arg[iarg+2]) - error->all(FLERR,"Illegal fix deform command"); + error->all(FLERR,"Illegal fix deform variable name {}", arg[iarg+2]); if (strstr(arg[iarg+3],"v_") != arg[iarg+3]) - error->all(FLERR,"Illegal fix deform command"); + error->all(FLERR,"Illegal fix deform variable name {}", arg[iarg+3]); delete[] set[index].hstr; delete[] set[index].hratestr; set[index].hstr = utils::strdup(&arg[iarg+2][2]); set[index].hratestr = utils::strdup(&arg[iarg+3][2]); iarg += 4; } else if (strcmp(arg[iarg+1],"pressure") == 0) { - if (iarg+4 > narg) error->all(FLERR, "Illegal fix deform command"); + if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix deform pressure", error); set[index].style = PRESSURE; if (strstr(arg[iarg+2],"v_") != arg[iarg+2]) { set[index].ptarget = utils::numeric(FLERR,arg[iarg+2],false,lmp); } else { - if (iarg+ > narg) error->all(FLERR,"Illegal fix deform command"); set[index].pstr = utils::strdup(&arg[iarg+2][2]); - set[index].pvar = 1; + set[index].pvar_flag = 1; } set[index].pgain = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (set[index].pgain <= 0.0) - error->all(FLERR,"Illegal fix deform command"); + error->all(FLERR,"Illegal fix deform pressure gain, must be positive"); iarg += 4; - } else error->all(FLERR,"Illegal fix deform command"); + } else error->all(FLERR,"Illegal fix deform command: {}", arg[iarg+1]); } else break; } @@ -270,7 +267,7 @@ irregular(nullptr), set(nullptr) if (coupled_indices[i]) { set[i].coupled_flag = 1; if (set[i].style != VOLUME && set[i].style != PRESSURE && set[i].style != NONE) - error->all(FLERR, "Cannot couple dimensions not controlled by pressure or volume in fix deform"); + error->all(FLERR, "Cannot couple dimensions unless they are controlled using the pressure or volume option in fix deform"); if (set[i].style == PRESSURE || set[i].style == VOLUME) j = i; } @@ -279,30 +276,45 @@ irregular(nullptr), set(nullptr) if (j == -1) error->all(FLERR, "Must specify pressure style for a coupled dimension in fix deform"); - // Copy data to each coupled dimension + // Copy or compare data for each coupled dimension for (int i = 0; i < 3; i++) { if (coupled_indices[i]) { - if (set[j].style != set[i].style && set[i].style != NONE) - error->all(FLERR, "Cannot couple dimensions with different control options"); - + // Copy coupling information if dimension style is undefined if (set[j].style == PRESSURE && set[i].style == NONE) { set[i].style = PRESSURE; set[i].pgain = set[j].pgain; - if (set[j].pvar == 1) { + if (set[j].pvar_flag) { set[i].pstr = set[j].pstr; - set[i].pvar = 1; + set[i].pvar_flag = 1; } else { set[i].ptarget = set[j].ptarget; } } else if (set[j].style == VOLUME && set[i].style == NONE) { set[i].style = VOLUME; - set[i].saved = -1; if (domain->dimension == 2) error->all(FLERR, "Cannot couple pressure with constant volume in two dimensions"); } + + // Check for incompatibilities in style + if (set[j].style != set[i].style && set[i].style != NONE) + error->all(FLERR, "Cannot couple dimensions with different control options"); + if (set[j].style != PRESSURE) continue; + + // If pressure controlled, check for incompatibilities in parameters + if (set[i].pgain != set[j].pgain) + error->all(FLERR, "Coupled dimensions must have identical gain parameters\n"); + + if (set[i].pvar_flag != set[j].pvar_flag) + error->all(FLERR, "Coupled dimensions must have the same target pressure\n"); + if (set[j].pvar_flag) + if (strcmp(set[i].pstr, set[j].pstr) != 0) + error->all(FLERR, "Coupled dimensions must have the same target pressure\n"); + if (set[i].ptarget != set[j].ptarget) + error->all(FLERR, "Coupled dimensions must have the same target pressure\n"); + } else { if (set[i].style == VOLUME && set[j].style == VOLUME) - error->all(FLERR, "Dimensions used to maintain constant volume must either be all be coupled or not coupled"); + error->all(FLERR, "Dimensions used to maintain constant volume must either all be coupled or uncoupled"); } } } @@ -427,6 +439,7 @@ irregular(nullptr), set(nullptr) } // set strain_flag + strain_flag = 0; for (int i = 0; i < 6; i++) if (set[i].style != NONE && set[i].style != VOLUME && @@ -569,14 +582,25 @@ void FixDeform::init() if (set[i].style != VARIABLE) continue; set[i].hvar = input->variable->find(set[i].hstr); if (set[i].hvar < 0) - error->all(FLERR,"Variable name for fix deform does not exist"); + error->all(FLERR,"Variable name {} for fix deform does not exist", set[i].hstr); if (!input->variable->equalstyle(set[i].hvar)) - error->all(FLERR,"Variable for fix deform is invalid style"); + error->all(FLERR,"Variable {} for fix deform is invalid style", set[i].hstr); set[i].hratevar = input->variable->find(set[i].hratestr); if (set[i].hratevar < 0) - error->all(FLERR,"Variable name for fix deform does not exist"); + error->all(FLERR,"Variable name {} for fix deform does not exist", set[i].hratestr); if (!input->variable->equalstyle(set[i].hratevar)) - error->all(FLERR,"Variable for fix deform is invalid style"); + error->all(FLERR,"Variable {} for fix deform is invalid style", set[i].hratestr); + } + + // check optional variables for PRESSURE or PISOTROPIC style + + for (int i = 0; i < 6; i++) { + if (!set[i].pvar_flag) continue; + set[i].pvar = input->variable->find(set[i].pstr); + if (set[i].pvar < 0) + error->all(FLERR,"Variable name {} for fix deform does not exist", set[i].pstr); + if (!input->variable->equalstyle(set[i].pvar)) + error->all(FLERR,"Variable {} for fix deform is invalid style", set[i].pstr); } // set start/stop values for box size and shape @@ -834,11 +858,6 @@ void FixDeform::pre_exchange() void FixDeform::end_of_step() { - int i; - - double delta = update->ntimestep - update->beginstep; - if (delta != 0.0) delta /= update->endstep - update->beginstep; - // wrap variable evaluations with clear/add if (varflag) modify->clearstep_compute(); @@ -853,13 +872,13 @@ void FixDeform::end_of_step() temperature->compute_vector(); pressure->compute_vector(); for (int i = 0; i < 3; i++) { - if (set[i].saved == -1) { + if (! set[i].saved) { set[i].saved = 1; - set[i].rate = 0.0; + set[i].prior_rate = 0.0; set[i].prior_pressure = pressure->vector[i]; if (i == 0) set[i].box_length = domain->xprd; else if (i == 1) set[i].box_length = domain->yprd; - else (i == 2) set[i].box_length = domain->zprd; + else set[i].box_length = domain->zprd; } } set_pressure(); @@ -880,61 +899,6 @@ void FixDeform::end_of_step() } } - // for triclinic, set new box shape - // for NONE, target is current tilt - // for TRATE, set target directly based on current time. also set h_rate - // for WIGGLE, set target directly based on current time. also set h_rate - // for VARIABLE, set target directly via variable eval. also set h_rate - // for other styles, target is linear value between start and stop values - - if (triclinic) { - double *h = domain->h; - - for (i = 3; i < 6; i++) { - if (set[i].style == NONE) { - if (i == 5) set[i].tilt_target = domain->xy; - else if (i == 4) set[i].tilt_target = domain->xz; - else if (i == 3) set[i].tilt_target = domain->yz; - } else if (set[i].style == TRATE) { - double delt = (update->ntimestep - update->beginstep) * update->dt; - set[i].tilt_target = set[i].tilt_start * exp(set[i].rate*delt); - h_rate[i] = set[i].rate * domain->h[i]; - } else if (set[i].style == WIGGLE) { - double delt = (update->ntimestep - update->beginstep) * update->dt; - set[i].tilt_target = set[i].tilt_start + - set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); - h_rate[i] = TWOPI/set[i].tperiod * set[i].amplitude * - cos(TWOPI*delt/set[i].tperiod); - } else if (set[i].style == VARIABLE) { - double delta_tilt = input->variable->compute_equal(set[i].hvar); - set[i].tilt_target = set[i].tilt_start + delta_tilt; - h_rate[i] = input->variable->compute_equal(set[i].hratevar); - } else { - set[i].tilt_target = set[i].tilt_start + - delta*(set[i].tilt_stop - set[i].tilt_start); - } - - // tilt_target can be large positive or large negative value - // add/subtract box lengths until tilt_target is closest to current value - - int idenom = 0; - if (i == 5) idenom = 0; - else if (i == 4) idenom = 0; - else if (i == 3) idenom = 1; - double denom = set[idenom].hi_target - set[idenom].lo_target; - - double current = h[i]/h[idenom]; - - while (set[i].tilt_target/denom - current > 0.0) - set[i].tilt_target -= denom; - while (set[i].tilt_target/denom - current < 0.0) - set[i].tilt_target += denom; - if (fabs(set[i].tilt_target/denom - 1.0 - current) < - fabs(set[i].tilt_target/denom - current)) - set[i].tilt_target -= denom; - } - } - if (varflag) modify->addstep_compute(update->ntimestep + nevery); // if any tilt ratios exceed 0.5, set flip = 1 and compute new tilt values @@ -1006,7 +970,7 @@ void FixDeform::end_of_step() int *mask = atom->mask; int nlocal = atom->nlocal; - for (i = 0; i < nlocal; i++) + for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) domain->x2lamda(x[i],x[i]); @@ -1045,7 +1009,7 @@ void FixDeform::end_of_step() int *mask = atom->mask; int nlocal = atom->nlocal; - for (i = 0; i < nlocal; i++) + for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) domain->lamda2x(x[i],x[i]); @@ -1079,6 +1043,9 @@ void FixDeform::set_strain() // for VARIABLE, set target directly via variable eval, also set h_rate // for others except VOLUME, target is linear value between start and stop + double delta = update->ntimestep - update->beginstep; + if (delta != 0.0) delta /= update->endstep - update->beginstep; + for (int i = 0; i < 3; i++) { if (set[i].style == NONE) { set[i].lo_target = domain->boxlo[i]; @@ -1113,6 +1080,62 @@ void FixDeform::set_strain() delta*(set[i].hi_stop - set[i].hi_start); } } + + + // for triclinic, set new box shape + // for NONE, target is current tilt + // for TRATE, set target directly based on current time. also set h_rate + // for WIGGLE, set target directly based on current time. also set h_rate + // for VARIABLE, set target directly via variable eval. also set h_rate + // for other styles, target is linear value between start and stop values + + if (triclinic) { + double *h = domain->h; + + for (int i = 3; i < 6; i++) { + if (set[i].style == NONE) { + if (i == 5) set[i].tilt_target = domain->xy; + else if (i == 4) set[i].tilt_target = domain->xz; + else if (i == 3) set[i].tilt_target = domain->yz; + } else if (set[i].style == TRATE) { + double delt = (update->ntimestep - update->beginstep) * update->dt; + set[i].tilt_target = set[i].tilt_start * exp(set[i].rate*delt); + h_rate[i] = set[i].rate * domain->h[i]; + } else if (set[i].style == WIGGLE) { + double delt = (update->ntimestep - update->beginstep) * update->dt; + set[i].tilt_target = set[i].tilt_start + + set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); + h_rate[i] = TWOPI/set[i].tperiod * set[i].amplitude * + cos(TWOPI*delt/set[i].tperiod); + } else if (set[i].style == VARIABLE) { + double delta_tilt = input->variable->compute_equal(set[i].hvar); + set[i].tilt_target = set[i].tilt_start + delta_tilt; + h_rate[i] = input->variable->compute_equal(set[i].hratevar); + } else { + set[i].tilt_target = set[i].tilt_start + + delta*(set[i].tilt_stop - set[i].tilt_start); + } + + // tilt_target can be large positive or large negative value + // add/subtract box lengths until tilt_target is closest to current value + + int idenom = 0; + if (i == 5) idenom = 0; + else if (i == 4) idenom = 0; + else if (i == 3) idenom = 1; + double denom = set[idenom].hi_target - set[idenom].lo_target; + + double current = h[i]/h[idenom]; + + while (set[i].tilt_target/denom - current > 0.0) + set[i].tilt_target -= denom; + while (set[i].tilt_target/denom - current < 0.0) + set[i].tilt_target += denom; + if (fabs(set[i].tilt_target/denom - 1.0 - current) < + fabs(set[i].tilt_target/denom - current)) + set[i].tilt_target -= denom; + } + } } /* ---------------------------------------------------------------------- @@ -1121,13 +1144,59 @@ void FixDeform::set_strain() void FixDeform::set_pressure() { - for (int i = 0; i < 3; i++) { + // If variable pressure, calculate current target + for (int i = 0; i < 6; i++) + if (set[i].style == PRESSURE) + if (set[i].pvar_flag) + set[i].ptarget = input->variable->compute_equal(set[i].pvar); + // Find current (possibly coupled/hydrostatic) pressure for X, Y, Z + double *tensor = pressure->vector; + double scalar = pressure->scalar; + double p_current[3]; + if (pcouple == XYZ) { + double ave = 1.0/3.0 * (tensor[0] + tensor[1] + tensor[2]); + p_current[0] = p_current[1] = p_current[2] = ave; + } else if (pcouple == XY) { + double ave = 0.5 * (tensor[0] + tensor[1]); + p_current[0] = p_current[1] = ave; + p_current[2] = tensor[2]; + } else if (pcouple == YZ) { + double ave = 0.5 * (tensor[1] + tensor[2]); + p_current[1] = p_current[2] = ave; + p_current[0] = tensor[0]; + } else if (pcouple == XZ) { + double ave = 0.5 * (tensor[0] + tensor[2]); + p_current[0] = p_current[2] = ave; + p_current[1] = tensor[1]; + } else { + if (set[0].style == PRESSURE) p_current[0] = tensor[0]; + else if (set[0].style == PISOTROPIC) p_current[0] = scalar; + + if (set[1].style == PRESSURE) p_current[1] = tensor[1]; + else if (set[1].style == PISOTROPIC) p_current[1] = scalar; + + if (set[2].style == PRESSURE) p_current[2] = tensor[2]; + else if (set[2].style == PISOTROPIC) p_current[2] = scalar; } - // must define hi+lo target - // + for (int i = 0; i < 3; i++) { + if (set[i].style != PRESSURE && set[i].style != PISOTROPIC) continue; + double dilation = 1.0 - update->dt * set[i].pgain * (set[i].ptarget - p_current[i]); + double center_start = 0.5 * (set[i].lo_start + set[i].hi_start); + double offset = 0.5 * set[i].box_length * dilation; + //printf("ptarget %g vs %g, dilation %g cs %g ofset %g box %g\n", set[i].ptarget, p_current[i], dilation, center_start, offset, set[i].box_length); + set[i].lo_target = center_start - offset; + set[i].hi_target = center_start + offset; + } + + for (int i = 3; i < 6; i++) { + double shift = update->dt * set[i].pgain * (set[i].ptarget - tensor[i]); + if (i == 3) set[i].tilt_target = domain->xy + shift * domain->xprd; + else if (i == 4) set[i].tilt_target = domain->xz + shift * domain->xprd; + else set[i].tilt_target = domain->yz + shift * domain->yprd; + } } /* ---------------------------------------------------------------------- @@ -1136,6 +1205,9 @@ void FixDeform::set_pressure() void FixDeform::set_volume() { + double e1, e2; + int linked_pressure = 0; + for (int i = 0; i < 3; i++) { if (set[i].style != VOLUME) continue; @@ -1150,28 +1222,46 @@ void FixDeform::set_volume() } else if (set[i].substyle == ONE_FROM_TWO) { offset = 0.5 * (v0 / (set[set[i].dynamic1].hi_target - set[set[i].dynamic1].lo_target) / - (set[set[i].dynamic2].hi_target - set[set[i].dynamic2].lo_target)) + (set[set[i].dynamic2].hi_target - set[set[i].dynamic2].lo_target)); } else if (set[i].substyle == TWO_FROM_ONE) { if (!set[i].coupled_flag) { offset = 0.5 * sqrt(v0 * (set[i].hi_start - set[i].lo_start) / (set[set[i].dynamic1].hi_target - set[set[i].dynamic1].lo_target) / - (set[set[i].fixed].hi_start - set[set[i].fixed].lo_start)) + (set[set[i].fixed].hi_start - set[set[i].fixed].lo_start)); } else { + double dt = update->dt; + double e1i = set[i].prior_rate; + double e2i = set[set[i].fixed].prior_rate; + double L3 = (set[set[i].dynamic1].hi_target - set[set[i].dynamic1].lo_target); + double e3 = (L3 / set[set[i].dynamic1].box_length - 1.0) / dt; double p1 = pressure->vector[i]; double p2 = pressure->vector[set[i].fixed]; double p1i = set[i].prior_pressure; double p2i = set[set[i].fixed].prior_pressure; - double e1i = set[i].prior_rate; - double e2i = set[set[i].fixed].prior_rate; - double L3 = (set[set[i].dynamic1].hi_target - set[set[i].dynamic1].lo_target); - double dt = update->dt; - double e3 = (L3 / set[set[i].dynamic1].box_length - 1.0) / dt; - double e1 = -e3 * dt / (1 + e3 * dt) * (p2 - p2i) - e2i * (p1 - p2); - e1 /= (p2 - p2i + (p1 - p1i) / e1p * e2p); - double e2 = (1.0 - (1 + e3 * dt) * (1 + e1 * dt)); - e2 /= (1 + e3 * dt) * (1 + e1 * dt) * dt; - offset = 0.5 * set[i].box_length * (1.0 - e3 * dt); + if (e3 == 0) { + e1 = 0.0; + e2 = 0.0; + offset = 0.5 * set[i].box_length; + } else if (e1i == 0 || e2i == 0 || (p2 == p2i && p1 == p1i)) { + // If no prior strain or no change in pressure (initial step) just scale offset by relative box lengths + offset = 0.5 * sqrt(v0 * set[i].box_length / L3 / set[set[i].fixed].box_length); + } else { + if (! linked_pressure) { + // Calculate first strain rate by expanding stress to linear order in strain to achieve p1(t+dt) = p2(t+dt) + e1 = -e3 / (1 + e3 * dt) * (p2 - p2i) - e2i * (p1 - p2); + e1 /= (p2 - p2i + (p1 - p1i) / e1i * e2i); + + // Calculate second strain rate to preserve volume + e2 = (1.0 - (1 + e3 * dt) * (1 + e1 * dt)); + e2 /= (1 + e3 * dt) * (1 + e1 * dt) * dt; + + offset = 0.5 * set[i].box_length * (1.0 + e1 * dt); + linked_pressure = 1; + } else { + offset = 0.5 * set[i].box_length * (1.0 + e2 * dt); + } + } } } set[i].lo_target = center_start - offset; @@ -1229,33 +1319,32 @@ void FixDeform::options(int narg, char **arg) int iarg = 0; while (iarg < narg) { if (strcmp(arg[iarg],"remap") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix deform command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix deform remap", error); if (strcmp(arg[iarg+1],"x") == 0) remapflag = Domain::X_REMAP; else if (strcmp(arg[iarg+1],"v") == 0) remapflag = Domain::V_REMAP; else if (strcmp(arg[iarg+1],"none") == 0) remapflag = Domain::NO_REMAP; - else error->all(FLERR,"Illegal fix deform command"); + else error->all(FLERR,"Illegal fix deform remap command: {}", arg[iarg+1]); iarg += 2; } else if (strcmp(arg[iarg],"units") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix deform command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix deform units", error); if (strcmp(arg[iarg+1],"box") == 0) scaleflag = 0; else if (strcmp(arg[iarg+1],"lattice") == 0) scaleflag = 1; - else error->all(FLERR,"Illegal fix deform command"); + else error->all(FLERR,"Illegal fix deform units command: {}", arg[iarg+1]); iarg += 2; } else if (strcmp(arg[iarg],"flip") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix deform command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix deform flip", error); flipflag = utils::logical(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"couple") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal fix fix deform command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix deform couple", error); if (strcmp(arg[iarg+1],"xyz") == 0) pcouple = XYZ; else if (strcmp(arg[iarg+1],"xy") == 0) pcouple = XY; else if (strcmp(arg[iarg+1],"yz") == 0) pcouple = YZ; else if (strcmp(arg[iarg+1],"xz") == 0) pcouple = XZ; else if (strcmp(arg[iarg+1],"none") == 0) pcouple = NOCOUPLE; - else error->all(FLERR,"Illegal fix fix deform command"); + else error->all(FLERR,"Illegal fix fix deform couple command: {}", arg[iarg+1]); iarg += 2; - } else error->all(FLERR,"Illegal fix deform command"); + } else error->all(FLERR,"Illegal fix deform command: {}", arg[iarg]); } if (dimension == 2) @@ -1281,7 +1370,7 @@ int FixDeform::modify_param(int narg, char **arg) { if (!pressure_flag) error->all(FLERR,"Cannot modify fix deform without a pressure control"); if (strcmp(arg[0],"temp") == 0) { - if (narg < 2) error->all(FLERR,"Illegal fix_modify command"); + if (narg < 2) utils::missing_cmd_args(FLERR, "fix_modify deform", error); if (tflag) { modify->delete_compute(id_temp); tflag = 0; diff --git a/src/fix_deform.h b/src/fix_deform.h index 7297874258..9ecb9a577d 100644 --- a/src/fix_deform.h +++ b/src/fix_deform.h @@ -77,12 +77,14 @@ class FixDeform : public Fix { int fixed, dynamic1, dynamic2; char *hstr, *hratestr, *pstr; int hvar, hratevar; - int pvar; + int pvar, pvar_flag; int coupled_flag; }; Set *set; void options(int, char **); + void set_strain(); + void set_pressure(); void set_volume(); void couple(); }; From 173e2382b3c3752439b601e7fa88f1a7523b50ce Mon Sep 17 00:00:00 2001 From: jtclemm Date: Sat, 22 Oct 2022 19:03:52 -0600 Subject: [PATCH 020/559] Adding documentation, various updates --- doc/src/fix_deform.rst | 169 ++++++++++++++- src/fix_deform.cpp | 482 ++++++++++++++++++++++------------------- src/fix_deform.h | 7 +- 3 files changed, 425 insertions(+), 233 deletions(-) diff --git a/doc/src/fix_deform.rst b/doc/src/fix_deform.rst index 805bd84382..d46f1204f5 100644 --- a/doc/src/fix_deform.rst +++ b/doc/src/fix_deform.rst @@ -34,6 +34,12 @@ Syntax effectively an engineering strain rate *erate* value = R R = engineering strain rate (1/time units) + *pressure* values = target gain + target = target pressure (pressure units) + gain = proportional gain constant (1/(time * pressure) or 1/time units) + *pressure/mean* values = target gain + target = target pressure (pressure units) + gain = proportional gain constant (1/(time * pressure) or 1/time units) *trate* value = R R = true strain rate (1/time units) *volume* value = none = adjust this dim to preserve volume of system @@ -54,6 +60,9 @@ Syntax effectively an engineering shear strain rate *erate* value = R R = engineering shear strain rate (1/time units) + *pressure* values = target gain + target = target pressure (pressure units) + gain = proportional gain constant (1/(time * pressure) or 1/time units) *trate* value = R R = true shear strain rate (1/time units) *wiggle* values = A Tp @@ -64,7 +73,7 @@ Syntax v_name2 = variable with name2 for change rate as function of time * zero or more keyword/value pairs may be appended -* keyword = *remap* or *flip* or *units* +* keyword = *remap* or *flip* or *units* or *couple* or *vol/balance/p* or *max/rate* or *normalize/pressure* .. parsed-literal:: @@ -77,6 +86,14 @@ Syntax *units* value = *lattice* or *box* lattice = distances are defined in lattice units box = distances are defined in simulation box units + *couple* value = *none* or *xyz* or *xy* or *yz* or *xz* + couple pressure values of various dimensions + *vol/balance/p* = *yes* or *no* + Modifies the behavior of the *volume* option to try and balance pressures + *max/rate* value = *rate* + rate = maximum strain rate for pressure control + *normalize/pressure* value = *yes* or *no* + determine whether pressure deviation is normalized by target pressure Examples """""""" @@ -87,6 +104,9 @@ Examples fix 1 all deform 1 x trate 0.1 y volume z volume fix 1 all deform 1 xy erate 0.001 remap v fix 1 all deform 10 y delta -0.5 0.5 xz vel 1.0 + fix 1 all deform 1 x pressure 2.0 0.1 normalize/pressure yes max/rate 0.001 + fix 1 all deform 1 x trate 0.1 y volume z volume vol/balance/p yes + fix 1 all deform 1 x trate 0.1 y pressure/mean 0.0 1.0 z pressure/mean 0.0 1.0 Description """"""""""" @@ -230,7 +250,11 @@ the product of x,z lengths constant. If "x scale 1.1 y volume z volume" is specified, then both the y,z box lengths will shrink as x increases to keep the volume constant (product of x,y,z lengths). In this case, the y,z box lengths shrink so as to keep their relative -aspect ratio constant. +aspect ratio constant. When maintaining a constant volume using two +separate dimensions, one can alternatively allow the two dimensions +to adjust their aspect ratio to attempt to maintain equivalent +pressures along the two dimensions. See the +:ref:`vol/balance/p ` option for more details. For solids or liquids, note that when one dimension of the box is expanded via fix deform (i.e. tensile strain), it may be physically @@ -292,6 +316,38 @@ For the *scale*, *vel*, *erate*, *trate*, *volume*, *wiggle*, and *variable* styles, the box length is expanded or compressed around its mid point. +The *pressure* style adjusts a dimensions's box length to control that +component of the pressure tensor. This option attempts to maintain a +specified target value using a linear controller where the box length L +evolves according to the equation + +.. parsed-literal:: + + \frac{d L(t)}{dt} = L(t) k (P_t - P) + +where :math:`k` is a proportional gain constant, :math:`P_t` is the target +pressure, and :math:`P` is the current pressure along that dimension. This +approach is similar to the method used to control the pressure by +:doc:`fix press/berendsen `. The target pressure +accepts either a constant numeric value or a LAMMPS :ref:`variable `. +Notably, this variable can be a function of time or other components of +the pressure tensor. By default, :math:`k` has units of 1/(time * pressure) +although this will change if the *normalize/pessure* option is set as +:ref:`discussed below `. There is no proven method +to choosing an appropriate value of :math:`k` as it will depend on the +specific details of a simulation and testing different values is +recommended. One can also apply a maximum limit to the magnitude of the +applied strain using the :ref:`max/rate ` option and couple +pressures in different dimensions using the :ref:`couple ` +option. + +The *pressure/mean* style is changes a dimension in order to maintain +a constant mean pressure defined as the trace of the pressure tensor. +This option is therefore very similar to the *presssure* style with +identical arguments except the current and target pressures refer to the +mean trace of the pressure tensor. The same options also apply except +for the :ref:`couple ` option. + ---------- For the *xy*, *xz*, and *yz* parameters, this is the meaning of their @@ -433,6 +489,27 @@ assume that the current timestep = 0. variable rate equal "2*PI*v_A/v_Tp * cos(2*PI * step*dt/v_Tp)" fix 2 all deform 1 xy variable v_displace v_rate remap v +The *pressure* style adjusts a tilt factor to control the corresponding +off-diagonal component of the pressure tensor. This option attempts to +maintain a specified target value using a linear controller where the +tilt factor T evolves according to the equation + +.. parsed-literal:: + + \frac{d T(t)}{dt} = L(t) k (P - P_t) + +where :math:`k` is a proportional gain constant, :math:`P_t` is the target +pressure, :math:`P` is the current pressure, and :math:`L` is the perpendicular +box length. The target pressure accepts either a constant numeric value or a +LAMMPS :ref:`variable `. Notably, this variable can be a function +of time or other components of the pressure tensor. By default, :math:`k` +has units of 1/(time * pressure) although this will change if the +*normalize/pessure* option is set as :ref:`discussed below `. +There is no proven method to choosing an appropriate value of :math:`k` as it +will depend on thespecific details of a simulation and testing different +values isrecommended. One can also apply a maximum limit to the magnitude +of the applied strain using the :ref:`max/rate ` option. + ---------- All of the tilt styles change the xy, xz, yz tilt factors during a @@ -561,6 +638,73 @@ does not affect the *variable* style. You should use the *xlat*, *ylat*, *zlat* keywords of the :doc:`thermo_style ` command if you want to include lattice spacings in a variable formula. +.. _deform_normalize: + +The *normalize/pressure* keyword changes how box dimensions evolve when +using the *pressure* or *pressure/mean* deformation options. If the +*deform/normalize* value is set to *yes*, then the deviation from the +target pressure is normalized by the absolute value of the target +pressure such that the proportional gain constant scales a percentage +error and has units of 1/time. If the target pressure is ever zero, this +will produce an error unless the *max/rate* keyword is defined, +described below, which will cap the divergence. + +.. _deform_max_rate: + +The *max/rate* keyword sets an upper threshold, *rate*, that limits the +maximum magnitude of the strain rate applied in any dimension. This keyword +only applies to the *pressure* and *pressure/mean* options. + +.. _deform_couple: + +The *couple* keyword allows two or three of the diagonal components of +the pressure tensor to be "coupled" together for the *pressure* option. +The value specified with the keyword determines which are coupled. For +example, *xz* means the *Pxx* and *Pzz* components of the stress tensor +are coupled. *Xyz* means all 3 diagonal components are coupled. Coupling +means two things: the instantaneous stress will be computed as an average +of the corresponding diagonal components, and the coupled box dimensions +will be changed together in lockstep, meaning coupled dimensions will be +dilated or contracted by the same percentage every timestep. The target +pressures and gain constants for any coupled dimensions must be identical. +*Couple xyz* can be used for a 2d simulation; the *z* dimension is simply +ignored. + +.. _deform_balance: + +The *vol/balance/p* keyword modifies the behavior of *volume* when two +dimensions are used to maintain a fixed volume. Instead of straining +the two dimensions in lockstep, the two dimensions are allowed to +separately dilate or contract in a manner to maintain a constant +volume while simultaneously trying to keep the pressure along each +dimension equal using a method described in :ref:`(Huang2014) `. + +---------- + +If any pressure controls are used, this fix computes a temperature and +pressure each timestep. To do this, the fix creates its own computes of +style "temp" and "pressure", as if these commands had been issued: + +.. code-block:: LAMMPS + + compute fix-ID_temp group-ID temp + compute fix-ID_press group-ID pressure fix-ID_temp + +See the :doc:`compute temp ` and :doc:`compute pressure ` commands for details. Note that the +IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID ++ underscore + "press", and the group for the new computes is the same +as the fix group. + +Note that these are NOT the computes used by thermodynamic output (see +the :doc:`thermo_style ` command) with ID = *thermo_temp* +and *thermo_press*. This means you can change the attributes of this +fix's temperature or pressure via the +:doc:`compute_modify ` command or print this temperature +or pressure during thermodynamic output via the +:doc:`thermo_style custom ` command using the appropriate +compute-ID. It also means that changing attributes of *thermo_temp* or +*thermo_press* will have no effect on this fix. + ---------- .. include:: accel_styles.rst @@ -574,6 +718,15 @@ command. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. +If any pressure controls are used, the :doc:`fix_modify ` *temp* +and *press* options are supported by this fix. You can use them to assign a +:doc:`compute ` you have defined to this fix which will be used +in its temperature and pressure calculations. If you do this, note +that the kinetic energy derived from the compute temperature should be +consistent with the virial term computed using all atoms for the +pressure. LAMMPS will warn you if you choose to compute temperature +on a subset of atoms. + This fix can perform deformation over multiple runs, using the *start* and *stop* keywords of the :doc:`run ` command. See the :doc:`run ` command for details of how to do this. @@ -597,4 +750,14 @@ Related commands Default """"""" -The option defaults are remap = x, flip = yes, and units = lattice. +The option defaults are remap = x, flip = yes, units = lattice, and +normalize/pressure = no. + +---------- + +.. _Li2014b: + +**(Huang2014)** X. Huang, +"Exploring critical-state behavior using DEM", +Doctoral dissertation, Imperial College. +(2014). https://doi.org/10.25560/25316 diff --git a/src/fix_deform.cpp b/src/fix_deform.cpp index 766d7c22ae..db3fad6a95 100644 --- a/src/fix_deform.cpp +++ b/src/fix_deform.cpp @@ -13,13 +13,9 @@ ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - Contributing author: Pieter in 't Veld (SNL) + Contributing author: Pieter in 't Veld (SNL), Joel Clemmer (SNL) ------------------------------------------------------------------------- */ -// Save previous state to restart file for derivatives -// define hrate_lo/hi for volume/pressure -// add logic for hi_stop and flip flag - #include "fix_deform.h" #include "atom.h" @@ -44,7 +40,7 @@ using namespace LAMMPS_NS; using namespace FixConst; using namespace MathConst; -enum{NONE=0,FINAL,DELTA,SCALE,VEL,ERATE,TRATE,VOLUME,WIGGLE,VARIABLE,PRESSURE,PISOTROPIC}; +enum{NONE=0,FINAL,DELTA,SCALE,VEL,ERATE,TRATE,VOLUME,WIGGLE,VARIABLE,PRESSURE,PMEAN}; enum{ONE_FROM_ONE,ONE_FROM_TWO,TWO_FROM_ONE}; enum{NOCOUPLE=0,XYZ,XY,YZ,XZ}; @@ -60,6 +56,9 @@ irregular(nullptr), set(nullptr) pre_exchange_migrate = 1; pcouple = NOCOUPLE; dimension = domain->dimension; + max_h_rate = 0.0; + vol_balance_flag = 0; + normalize_pressure_flag = 0; nevery = utils::inumeric(FLERR,arg[3],false,lmp); if (nevery <= 0) error->all(FLERR,"Illegal fix deform command"); @@ -153,9 +152,9 @@ irregular(nullptr), set(nullptr) if (set[index].pgain <= 0.0) error->all(FLERR,"Illegal fix deform pressure gain, must be positive"); iarg += 4; - } else if (strcmp(arg[iarg+1],"pressure/isotropic") == 0) { - if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix deform pressure/isotropic", error); - set[index].style = PISOTROPIC; + } else if (strcmp(arg[iarg+1],"pressure/mean") == 0) { + if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix deform pressure/mean", error); + set[index].style = PMEAN; if (strstr(arg[iarg+2],"v_") != arg[iarg+2]) { set[index].ptarget = utils::numeric(FLERR,arg[iarg+2],false,lmp); } else { @@ -266,21 +265,21 @@ irregular(nullptr), set(nullptr) for (int i = 0; i < 3; i++) { if (coupled_indices[i]) { set[i].coupled_flag = 1; - if (set[i].style != VOLUME && set[i].style != PRESSURE && set[i].style != NONE) - error->all(FLERR, "Cannot couple dimensions unless they are controlled using the pressure or volume option in fix deform"); - if (set[i].style == PRESSURE || set[i].style == VOLUME) + if (set[i].style != PRESSURE && set[i].style != NONE) + error->all(FLERR, "Cannot couple non-pressure-controlled dimensions"); + if (set[i].style == PRESSURE) j = i; } } if (j == -1) - error->all(FLERR, "Must specify pressure style for a coupled dimension in fix deform"); + error->all(FLERR, "Must specify deformation style for at least one coupled dimension"); // Copy or compare data for each coupled dimension for (int i = 0; i < 3; i++) { if (coupled_indices[i]) { // Copy coupling information if dimension style is undefined - if (set[j].style == PRESSURE && set[i].style == NONE) { + if (set[i].style == NONE) { set[i].style = PRESSURE; set[i].pgain = set[j].pgain; if (set[j].pvar_flag) { @@ -289,32 +288,21 @@ irregular(nullptr), set(nullptr) } else { set[i].ptarget = set[j].ptarget; } - } else if (set[j].style == VOLUME && set[i].style == NONE) { - set[i].style = VOLUME; - if (domain->dimension == 2) - error->all(FLERR, "Cannot couple pressure with constant volume in two dimensions"); + } else { + // Check for incompatibilities in style + if (set[j].style != set[i].style && set[i].style != NONE) + error->all(FLERR, "Cannot couple dimensions with different control options"); + if (set[j].style != PRESSURE) continue; + + // If pressure controlled, check for incompatibilities in parameters + if (set[i].pgain != set[j].pgain || set[i].pvar_flag != set[j].pvar_flag || + set[i].ptarget != set[j].ptarget) + error->all(FLERR, "Coupled dimensions must have identical gain parameters"); + + if (set[j].pvar_flag) + if (strcmp(set[i].pstr, set[j].pstr) != 0) + error->all(FLERR, "Coupled dimensions must have the same target pressure"); } - - // Check for incompatibilities in style - if (set[j].style != set[i].style && set[i].style != NONE) - error->all(FLERR, "Cannot couple dimensions with different control options"); - if (set[j].style != PRESSURE) continue; - - // If pressure controlled, check for incompatibilities in parameters - if (set[i].pgain != set[j].pgain) - error->all(FLERR, "Coupled dimensions must have identical gain parameters\n"); - - if (set[i].pvar_flag != set[j].pvar_flag) - error->all(FLERR, "Coupled dimensions must have the same target pressure\n"); - if (set[j].pvar_flag) - if (strcmp(set[i].pstr, set[j].pstr) != 0) - error->all(FLERR, "Coupled dimensions must have the same target pressure\n"); - if (set[i].ptarget != set[j].ptarget) - error->all(FLERR, "Coupled dimensions must have the same target pressure\n"); - - } else { - if (set[i].style == VOLUME && set[j].style == VOLUME) - error->all(FLERR, "Dimensions used to maintain constant volume must either all be coupled or uncoupled"); } } } @@ -335,27 +323,18 @@ irregular(nullptr), set(nullptr) // no tensile deformation on shrink-wrapped dims // b/c shrink wrap will change box-length - if (set[0].style && - (domain->boundary[0][0] >= 2 || domain->boundary[0][1] >= 2)) - error->all(FLERR,"Cannot use fix deform on a shrink-wrapped boundary"); - if (set[1].style && - (domain->boundary[1][0] >= 2 || domain->boundary[1][1] >= 2)) - error->all(FLERR,"Cannot use fix deform on a shrink-wrapped boundary"); - if (set[2].style && - (domain->boundary[2][0] >= 2 || domain->boundary[2][1] >= 2)) + for (int i = 0; i < 3; i++) + if (set[i].style && (domain->boundary[i][0] >= 2 || domain->boundary[i][1] >= 2)) error->all(FLERR,"Cannot use fix deform on a shrink-wrapped boundary"); // no tilt deformation on shrink-wrapped 2nd dim // b/c shrink wrap will change tilt factor in domain::reset_box() - if (set[3].style && - (domain->boundary[2][0] >= 2 || domain->boundary[2][1] >= 2)) + if (set[3].style && (domain->boundary[2][0] >= 2 || domain->boundary[2][1] >= 2)) error->all(FLERR,"Cannot use fix deform tilt on a shrink-wrapped 2nd dim"); - if (set[4].style && - (domain->boundary[2][0] >= 2 || domain->boundary[2][1] >= 2)) + if (set[4].style && (domain->boundary[2][0] >= 2 || domain->boundary[2][1] >= 2)) error->all(FLERR,"Cannot use fix deform tilt on a shrink-wrapped 2nd dim"); - if (set[5].style && - (domain->boundary[1][0] >= 2 || domain->boundary[1][1] >= 2)) + if (set[5].style && (domain->boundary[1][0] >= 2 || domain->boundary[1][1] >= 2)) error->all(FLERR,"Cannot use fix deform tilt on a shrink-wrapped 2nd dim"); // apply scaling to FINAL,DELTA,VEL,WIGGLE since they have dist/vel units @@ -436,6 +415,9 @@ irregular(nullptr), set(nullptr) set[i].dynamic1 = other1; set[i].dynamic2 = other2; } + + if (vol_balance_flag && set[i].substyle != TWO_FROM_ONE) + error->all(FLERR, "Two dimensions must maintain constant volume to use the vol/balance/p option"); } // set strain_flag @@ -443,30 +425,41 @@ irregular(nullptr), set(nullptr) strain_flag = 0; for (int i = 0; i < 6; i++) if (set[i].style != NONE && set[i].style != VOLUME && - set[i].style != PRESSURE && set[i].style != PISOTROPIC) + set[i].style != PRESSURE && set[i].style != PMEAN) strain_flag = 1; // set varflag varflag = 0; - for (int i = 0; i < 6; i++) + for (int i = 0; i < 6; i++) { if (set[i].style == VARIABLE) varflag = 1; + if (set[i].pvar_flag) varflag = 1; + } // set pressure_flag pressure_flag = 0; for (int i = 0; i < 6; i++) { - if (set[i].style == PRESSURE || set[i].style == PISOTROPIC) pressure_flag = 1; + if (set[i].style == PRESSURE || set[i].style == PMEAN) pressure_flag = 1; if (set[i].coupled_flag) pressure_flag = 1; } + if (vol_balance_flag) pressure_flag = 1; // check conflict between constant volume/pressure if (volume_flag) for (int i = 0; i < 6; i++) - if (set[i].style == PISOTROPIC) + if (set[i].style == PMEAN) error->all(FLERR, "Cannot use fix deform to assign constant volume and pressure"); + // check pressure used for max rate and normalize error flag + + if (!pressure_flag && max_h_rate != 0) + error->all(FLERR, "Can only assign a maximum strain rate using pressure-controlled dimensions"); + + if (!pressure_flag && normalize_pressure_flag) + error->all(FLERR, "Can only normalize error using pressure-controlled dimensions"); + // set initial values at time fix deform is issued for (int i = 0; i < 3; i++) { @@ -489,8 +482,6 @@ irregular(nullptr), set(nullptr) if (force_reneighbor) irregular = new Irregular(lmp); else irregular = nullptr; - TWOPI = 2.0*MY_PI; - // Create pressure compute, if needed pflag = 0; @@ -592,7 +583,7 @@ void FixDeform::init() error->all(FLERR,"Variable {} for fix deform is invalid style", set[i].hratestr); } - // check optional variables for PRESSURE or PISOTROPIC style + // check optional variables for PRESSURE or PMEAN style for (int i = 0; i < 6; i++) { if (!set[i].pvar_flag) continue; @@ -627,30 +618,26 @@ void FixDeform::init() set[i].lo_stop = set[i].lo_start + set[i].dlo; set[i].hi_stop = set[i].hi_start + set[i].dhi; } else if (set[i].style == SCALE) { - set[i].lo_stop = 0.5*(set[i].lo_start+set[i].hi_start) - - 0.5*set[i].scale*(set[i].hi_start-set[i].lo_start); - set[i].hi_stop = 0.5*(set[i].lo_start+set[i].hi_start) + - 0.5*set[i].scale*(set[i].hi_start-set[i].lo_start); + double shift = 0.5 * set[i].scale * (set[i].hi_start - set[i].lo_start); + set[i].lo_stop = 0.5 * (set[i].lo_start + set[i].hi_start) - shift; + set[i].hi_stop = 0.5 * (set[i].lo_start + set[i].hi_start) + shift; } else if (set[i].style == VEL) { - set[i].lo_stop = set[i].lo_start - 0.5*delt*set[i].vel; - set[i].hi_stop = set[i].hi_start + 0.5*delt*set[i].vel; + set[i].lo_stop = set[i].lo_start - 0.5 * delt * set[i].vel; + set[i].hi_stop = set[i].hi_start + 0.5 * delt * set[i].vel; } else if (set[i].style == ERATE) { - set[i].lo_stop = set[i].lo_start - - 0.5*delt*set[i].rate * (set[i].hi_start-set[i].lo_start); - set[i].hi_stop = set[i].hi_start + - 0.5*delt*set[i].rate * (set[i].hi_start-set[i].lo_start); + double shift = 0.5 * delt * set[i].rate * (set[i].hi_start - set[i].lo_start); + set[i].lo_stop = set[i].lo_start - shift; + set[i].hi_stop = set[i].hi_start + shift; if (set[i].hi_stop <= set[i].lo_stop) error->all(FLERR,"Final box dimension due to fix deform is < 0.0"); } else if (set[i].style == TRATE) { - set[i].lo_stop = 0.5*(set[i].lo_start+set[i].hi_start) - - 0.5*((set[i].hi_start-set[i].lo_start) * exp(set[i].rate*delt)); - set[i].hi_stop = 0.5*(set[i].lo_start+set[i].hi_start) + - 0.5*((set[i].hi_start-set[i].lo_start) * exp(set[i].rate*delt)); + double shift = 0.5 * ((set[i].hi_start - set[i].lo_start) * exp(set[i].rate * delt)); + set[i].lo_stop = 0.5 * (set[i].lo_start + set[i].hi_start) - shift; + set[i].hi_stop = 0.5 * (set[i].lo_start + set[i].hi_start) + shift; } else if (set[i].style == WIGGLE) { - set[i].lo_stop = set[i].lo_start - - 0.5*set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); - set[i].hi_stop = set[i].hi_start + - 0.5*set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); + double shift = 0.5 * set[i].amplitude * sin(MY_2PI * delt / set[i].tperiod); + set[i].lo_stop = set[i].lo_start - shift; + set[i].hi_stop = set[i].hi_start + shift; } } @@ -666,50 +653,46 @@ void FixDeform::init() } else if (set[i].style == DELTA) { set[i].tilt_stop = set[i].tilt_start + set[i].dtilt; } else if (set[i].style == VEL) { - set[i].tilt_stop = set[i].tilt_start + delt*set[i].vel; + set[i].tilt_stop = set[i].tilt_start + delt * set[i].vel; } else if (set[i].style == ERATE) { if (i == 3) set[i].tilt_stop = set[i].tilt_start + - delt*set[i].rate * (set[2].hi_start-set[2].lo_start); + delt * set[i].rate * (set[2].hi_start - set[2].lo_start); if (i == 4) set[i].tilt_stop = set[i].tilt_start + - delt*set[i].rate * (set[2].hi_start-set[2].lo_start); + delt * set[i].rate * (set[2].hi_start - set[2].lo_start); if (i == 5) set[i].tilt_stop = set[i].tilt_start + - delt*set[i].rate * (set[1].hi_start-set[1].lo_start); + delt * set[i].rate * (set[1].hi_start - set[1].lo_start); } else if (set[i].style == TRATE) { - set[i].tilt_stop = set[i].tilt_start * exp(set[i].rate*delt); + set[i].tilt_stop = set[i].tilt_start * exp(set[i].rate * delt); } else if (set[i].style == WIGGLE) { - set[i].tilt_stop = set[i].tilt_start + - set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); + double shift = set[i].amplitude * sin(MY_2PI * delt / set[i].tperiod); + set[i].tilt_stop = set[i].tilt_start + shift; // compute min/max for WIGGLE = extrema tilt factor will ever reach if (set[i].amplitude >= 0.0) { - if (delt < 0.25*set[i].tperiod) { + if (delt < 0.25 * set[i].tperiod) { set[i].tilt_min = set[i].tilt_start; - set[i].tilt_max = set[i].tilt_start + - set[i].amplitude*sin(TWOPI*delt/set[i].tperiod); - } else if (delt < 0.5*set[i].tperiod) { + set[i].tilt_max = set[i].tilt_start + shift; + } else if (delt < 0.5 * set[i].tperiod) { set[i].tilt_min = set[i].tilt_start; set[i].tilt_max = set[i].tilt_start + set[i].amplitude; - } else if (delt < 0.75*set[i].tperiod) { - set[i].tilt_min = set[i].tilt_start - - set[i].amplitude*sin(TWOPI*delt/set[i].tperiod); + } else if (delt < 0.75 * set[i].tperiod) { + set[i].tilt_min = set[i].tilt_start - shift; set[i].tilt_max = set[i].tilt_start + set[i].amplitude; } else { set[i].tilt_min = set[i].tilt_start - set[i].amplitude; set[i].tilt_max = set[i].tilt_start + set[i].amplitude; } } else { - if (delt < 0.25*set[i].tperiod) { - set[i].tilt_min = set[i].tilt_start - - set[i].amplitude*sin(TWOPI*delt/set[i].tperiod); + if (delt < 0.25 * set[i].tperiod) { + set[i].tilt_min = set[i].tilt_start - shift; set[i].tilt_max = set[i].tilt_start; - } else if (delt < 0.5*set[i].tperiod) { + } else if (delt < 0.5 * set[i].tperiod) { set[i].tilt_min = set[i].tilt_start - set[i].amplitude; set[i].tilt_max = set[i].tilt_start; - } else if (delt < 0.75*set[i].tperiod) { + } else if (delt < 0.75 * set[i].tperiod) { set[i].tilt_min = set[i].tilt_start - set[i].amplitude; - set[i].tilt_max = set[i].tilt_start + - set[i].amplitude*sin(TWOPI*delt/set[i].tperiod); + set[i].tilt_max = set[i].tilt_start + shift; } else { set[i].tilt_min = set[i].tilt_start - set[i].amplitude; set[i].tilt_max = set[i].tilt_start + set[i].amplitude; @@ -729,25 +712,25 @@ void FixDeform::init() // this is b/c the flips would induce continuous changes in xz // in order to keep the edge vectors of the flipped shape matrix // an integer combination of the edge vectors of the unflipped shape matrix - // VARIABLE for yz is error, since no way to calculate if box flip occurs + // VARIABLE or PRESSURE for yz is error, since no way to calculate if box flip occurs // WIGGLE lo/hi flip test is on min/max oscillation limit, not tilt_stop // only trigger actual errors if flipflag is set if (set[3].style && set[5].style) { int flag = 0; double lo,hi; - if (flipflag && set[3].style == VARIABLE) - error->all(FLERR,"Fix deform cannot use yz variable with xy"); + if (flipflag && (set[3].style == VARIABLE || set[3].style == PRESSURE)) + error->all(FLERR,"Fix deform cannot use yz variable or pressure with xy"); if (set[3].style == WIGGLE) { lo = set[3].tilt_min; hi = set[3].tilt_max; } else lo = hi = set[3].tilt_stop; if (flipflag) { - if (lo/(set[1].hi_start-set[1].lo_start) < -0.5 || - hi/(set[1].hi_start-set[1].lo_start) > 0.5) flag = 1; + if (lo / (set[1].hi_start - set[1].lo_start) < -0.5 || + hi / (set[1].hi_start - set[1].lo_start) > 0.5) flag = 1; if (set[1].style) { - if (lo/(set[1].hi_stop-set[1].lo_stop) < -0.5 || - hi/(set[1].hi_stop-set[1].lo_stop) > 0.5) flag = 1; + if (lo / (set[1].hi_stop - set[1].lo_stop) < -0.5 || + hi / (set[1].hi_stop - set[1].lo_stop) > 0.5) flag = 1; } if (flag) error->all(FLERR,"Fix deform is changing yz too much with xy"); @@ -798,13 +781,11 @@ void FixDeform::init() if (pressure_flag) { int icompute = modify->find_compute(id_temp); - if (icompute < 0) - error->all(FLERR,"Temperature ID for fix deform does not exist"); + if (icompute < 0) error->all(FLERR,"Temperature ID for fix deform does not exist"); temperature = modify->compute[icompute]; icompute = modify->find_compute(id_press); - if (icompute < 0) - error->all(FLERR,"Pressure ID for fix deform does not exist"); + if (icompute < 0) error->all(FLERR,"Pressure ID for fix deform does not exist"); pressure = modify->compute[icompute]; } } @@ -816,7 +797,6 @@ void FixDeform::init() void FixDeform::setup(int /*vflag*/) { // trigger virial computation on next timestep - if (pressure_flag) pressure->addstep(update->ntimestep+1); } @@ -872,13 +852,10 @@ void FixDeform::end_of_step() temperature->compute_vector(); pressure->compute_vector(); for (int i = 0; i < 3; i++) { - if (! set[i].saved) { + if (!set[i].saved) { set[i].saved = 1; set[i].prior_rate = 0.0; set[i].prior_pressure = pressure->vector[i]; - if (i == 0) set[i].box_length = domain->xprd; - else if (i == 1) set[i].box_length = domain->yprd; - else set[i].box_length = domain->zprd; } } set_pressure(); @@ -892,15 +869,39 @@ void FixDeform::end_of_step() // Save pressure/strain rate if required if (pressure_flag) { - double dt_inv = 1.0 / update->dt; for (int i = 0; i < 3; i++) { set[i].prior_pressure = pressure->vector[i]; - set[i].prior_rate = ((set[i].hi_target - set[i].lo_target) / set[i].box_length - 1.0) * dt_inv; + set[i].prior_rate = ((set[i].hi_target - set[i].lo_target) / + (domain->boxhi[i] - domain->boxlo[i]) - 1.0) / update->dt; } } if (varflag) modify->addstep_compute(update->ntimestep + nevery); + // tilt_target can be large positive or large negative value + // add/subtract box lengths until tilt_target is closest to current value + + if (triclinic) { + double *h = domain->h; + for (int i = 3; i < 6; i++) { + int idenom = 0; + if (i == 5) idenom = 0; + else if (i == 4) idenom = 0; + else if (i == 3) idenom = 1; + double denom = set[idenom].hi_target - set[idenom].lo_target; + + double current = h[i] / h[idenom]; + + while (set[i].tilt_target / denom - current > 0.0) + set[i].tilt_target -= denom; + while (set[i].tilt_target / denom - current < 0.0) + set[i].tilt_target += denom; + if (fabs(set[i].tilt_target / denom - 1.0 - current) < + fabs(set[i].tilt_target / denom - current)) + set[i].tilt_target -= denom; + } + } + // if any tilt ratios exceed 0.5, set flip = 1 and compute new tilt values // do not flip in x or y if non-periodic (can tilt but not flip) // this is b/c the box length would be changed (dramatically) by flip @@ -915,12 +916,12 @@ void FixDeform::end_of_step() double yprd = set[1].hi_target - set[1].lo_target; double xprdinv = 1.0 / xprd; double yprdinv = 1.0 / yprd; - if (set[3].tilt_target*yprdinv < -0.5 || - set[3].tilt_target*yprdinv > 0.5 || - set[4].tilt_target*xprdinv < -0.5 || - set[4].tilt_target*xprdinv > 0.5 || - set[5].tilt_target*xprdinv < -0.5 || - set[5].tilt_target*xprdinv > 0.5) { + if (set[3].tilt_target * yprdinv < -0.5 || + set[3].tilt_target * yprdinv > 0.5 || + set[4].tilt_target * xprdinv < -0.5 || + set[4].tilt_target * xprdinv > 0.5 || + set[5].tilt_target * xprdinv < -0.5 || + set[5].tilt_target * xprdinv > 0.5) { set[3].tilt_flip = set[3].tilt_target; set[4].tilt_flip = set[4].tilt_target; set[5].tilt_flip = set[5].tilt_target; @@ -928,30 +929,30 @@ void FixDeform::end_of_step() flipxy = flipxz = flipyz = 0; if (domain->yperiodic) { - if (set[3].tilt_flip*yprdinv < -0.5) { + if (set[3].tilt_flip * yprdinv < -0.5) { set[3].tilt_flip += yprd; set[4].tilt_flip += set[5].tilt_flip; flipyz = 1; - } else if (set[3].tilt_flip*yprdinv > 0.5) { + } else if (set[3].tilt_flip * yprdinv > 0.5) { set[3].tilt_flip -= yprd; set[4].tilt_flip -= set[5].tilt_flip; flipyz = -1; } } if (domain->xperiodic) { - if (set[4].tilt_flip*xprdinv < -0.5) { + if (set[4].tilt_flip * xprdinv < -0.5) { set[4].tilt_flip += xprd; flipxz = 1; } - if (set[4].tilt_flip*xprdinv > 0.5) { + if (set[4].tilt_flip * xprdinv > 0.5) { set[4].tilt_flip -= xprd; flipxz = -1; } - if (set[5].tilt_flip*xprdinv < -0.5) { + if (set[5].tilt_flip * xprdinv < -0.5) { set[5].tilt_flip += xprd; flipxy = 1; } - if (set[5].tilt_flip*xprdinv > 0.5) { + if (set[5].tilt_flip * xprdinv > 0.5) { set[5].tilt_flip -= xprd; flipxy = -1; } @@ -1023,12 +1024,8 @@ void FixDeform::end_of_step() // trigger virial computation, if needed, on next timestep - if (pressure_flag) { + if (pressure_flag) pressure->addstep(update->ntimestep+1); - set[0].box_length = domain->xprd; - set[1].box_length = domain->yprd; - set[2].box_length = domain->zprd; - } } /* ---------------------------------------------------------------------- @@ -1052,36 +1049,31 @@ void FixDeform::set_strain() set[i].hi_target = domain->boxhi[i]; } else if (set[i].style == TRATE) { double delt = (update->ntimestep - update->beginstep) * update->dt; - set[i].lo_target = 0.5*(set[i].lo_start+set[i].hi_start) - - 0.5*((set[i].hi_start-set[i].lo_start) * exp(set[i].rate*delt)); - set[i].hi_target = 0.5*(set[i].lo_start+set[i].hi_start) + - 0.5*((set[i].hi_start-set[i].lo_start) * exp(set[i].rate*delt)); + double shift = 0.5 * ((set[i].hi_start - set[i].lo_start) * exp(set[i].rate * delt)); + set[i].lo_target = 0.5 * (set[i].lo_start + set[i].hi_start) - shift; + set[i].hi_target = 0.5 * (set[i].lo_start + set[i].hi_start) + shift; h_rate[i] = set[i].rate * domain->h[i]; - h_ratelo[i] = -0.5*h_rate[i]; + h_ratelo[i] = -0.5 * h_rate[i]; } else if (set[i].style == WIGGLE) { double delt = (update->ntimestep - update->beginstep) * update->dt; - set[i].lo_target = set[i].lo_start - - 0.5*set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); - set[i].hi_target = set[i].hi_start + - 0.5*set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); - h_rate[i] = TWOPI/set[i].tperiod * set[i].amplitude * - cos(TWOPI*delt/set[i].tperiod); - h_ratelo[i] = -0.5*h_rate[i]; + double shift = 0.5 * set[i].amplitude * sin(MY_2PI * delt / set[i].tperiod); + set[i].lo_target = set[i].lo_start - shift; + set[i].hi_target = set[i].hi_start + shift; + h_rate[i] = MY_2PI / set[i].tperiod * set[i].amplitude * + cos(MY_2PI * delt / set[i].tperiod); + h_ratelo[i] = -0.5 * h_rate[i]; } else if (set[i].style == VARIABLE) { double del = input->variable->compute_equal(set[i].hvar); - set[i].lo_target = set[i].lo_start - 0.5*del; - set[i].hi_target = set[i].hi_start + 0.5*del; + set[i].lo_target = set[i].lo_start - 0.5 * del; + set[i].hi_target = set[i].hi_start + 0.5 * del; h_rate[i] = input->variable->compute_equal(set[i].hratevar); - h_ratelo[i] = -0.5*h_rate[i]; + h_ratelo[i] = -0.5 * h_rate[i]; } else if (set[i].style != VOLUME) { - set[i].lo_target = set[i].lo_start + - delta*(set[i].lo_stop - set[i].lo_start); - set[i].hi_target = set[i].hi_start + - delta*(set[i].hi_stop - set[i].hi_start); + set[i].lo_target = set[i].lo_start + delta * (set[i].lo_stop - set[i].lo_start); + set[i].hi_target = set[i].hi_start + delta * (set[i].hi_stop - set[i].hi_start); } } - // for triclinic, set new box shape // for NONE, target is current tilt // for TRATE, set target directly based on current time. also set h_rate @@ -1099,41 +1091,21 @@ void FixDeform::set_strain() else if (i == 3) set[i].tilt_target = domain->yz; } else if (set[i].style == TRATE) { double delt = (update->ntimestep - update->beginstep) * update->dt; - set[i].tilt_target = set[i].tilt_start * exp(set[i].rate*delt); + set[i].tilt_target = set[i].tilt_start * exp(set[i].rate * delt); h_rate[i] = set[i].rate * domain->h[i]; } else if (set[i].style == WIGGLE) { double delt = (update->ntimestep - update->beginstep) * update->dt; set[i].tilt_target = set[i].tilt_start + - set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); - h_rate[i] = TWOPI/set[i].tperiod * set[i].amplitude * - cos(TWOPI*delt/set[i].tperiod); + set[i].amplitude * sin(MY_2PI * delt / set[i].tperiod); + h_rate[i] = MY_2PI / set[i].tperiod * set[i].amplitude * + cos(MY_2PI * delt / set[i].tperiod); } else if (set[i].style == VARIABLE) { double delta_tilt = input->variable->compute_equal(set[i].hvar); set[i].tilt_target = set[i].tilt_start + delta_tilt; h_rate[i] = input->variable->compute_equal(set[i].hratevar); } else { - set[i].tilt_target = set[i].tilt_start + - delta*(set[i].tilt_stop - set[i].tilt_start); + set[i].tilt_target = set[i].tilt_start + delta * (set[i].tilt_stop - set[i].tilt_start); } - - // tilt_target can be large positive or large negative value - // add/subtract box lengths until tilt_target is closest to current value - - int idenom = 0; - if (i == 5) idenom = 0; - else if (i == 4) idenom = 0; - else if (i == 3) idenom = 1; - double denom = set[idenom].hi_target - set[idenom].lo_target; - - double current = h[i]/h[idenom]; - - while (set[i].tilt_target/denom - current > 0.0) - set[i].tilt_target -= denom; - while (set[i].tilt_target/denom - current < 0.0) - set[i].tilt_target += denom; - if (fabs(set[i].tilt_target/denom - 1.0 - current) < - fabs(set[i].tilt_target/denom - current)) - set[i].tilt_target -= denom; } } } @@ -1156,7 +1128,7 @@ void FixDeform::set_pressure() double p_current[3]; if (pcouple == XYZ) { - double ave = 1.0/3.0 * (tensor[0] + tensor[1] + tensor[2]); + double ave = THIRD * (tensor[0] + tensor[1] + tensor[2]); p_current[0] = p_current[1] = p_current[2] = ave; } else if (pcouple == XY) { double ave = 0.5 * (tensor[0] + tensor[1]); @@ -1172,30 +1144,68 @@ void FixDeform::set_pressure() p_current[1] = tensor[1]; } else { if (set[0].style == PRESSURE) p_current[0] = tensor[0]; - else if (set[0].style == PISOTROPIC) p_current[0] = scalar; + else if (set[0].style == PMEAN) p_current[0] = scalar; if (set[1].style == PRESSURE) p_current[1] = tensor[1]; - else if (set[1].style == PISOTROPIC) p_current[1] = scalar; + else if (set[1].style == PMEAN) p_current[1] = scalar; if (set[2].style == PRESSURE) p_current[2] = tensor[2]; - else if (set[2].style == PISOTROPIC) p_current[2] = scalar; + else if (set[2].style == PMEAN) p_current[2] = scalar; } for (int i = 0; i < 3; i++) { - if (set[i].style != PRESSURE && set[i].style != PISOTROPIC) continue; - double dilation = 1.0 - update->dt * set[i].pgain * (set[i].ptarget - p_current[i]); - double center_start = 0.5 * (set[i].lo_start + set[i].hi_start); - double offset = 0.5 * set[i].box_length * dilation; - //printf("ptarget %g vs %g, dilation %g cs %g ofset %g box %g\n", set[i].ptarget, p_current[i], dilation, center_start, offset, set[i].box_length); - set[i].lo_target = center_start - offset; - set[i].hi_target = center_start + offset; + if (set[i].style != PRESSURE && set[i].style != PMEAN) continue; + + h_rate[i] = set[i].pgain * (p_current[i] - set[i].ptarget); + if (normalize_pressure_flag) { + if (set[i].ptarget == 0) { + if (max_h_rate == 0) { + error->all(FLERR, "Cannot normalize error for zero pressure without defining a max rate"); + } else h_rate[i] = max_h_rate * h_rate[i] / fabs(h_rate[i]); + } else h_rate[i] /= fabs(set[i].ptarget); + } + + if (max_h_rate != 0) + if (fabs(set[i].ptarget) > max_h_rate) + h_rate[i] = max_h_rate * h_rate[i] / fabs(h_rate[i]); + + double offset = 0.5 * (domain->boxhi[i] - domain->boxlo[i]) * (1.0 + update->dt * h_rate[i]); + set[i].lo_target = 0.5 * (set[i].lo_start + set[i].hi_start) - offset; + set[i].hi_target = 0.5 * (set[i].lo_start + set[i].hi_start) + offset; } for (int i = 3; i < 6; i++) { - double shift = update->dt * set[i].pgain * (set[i].ptarget - tensor[i]); - if (i == 3) set[i].tilt_target = domain->xy + shift * domain->xprd; - else if (i == 4) set[i].tilt_target = domain->xz + shift * domain->xprd; - else set[i].tilt_target = domain->yz + shift * domain->yprd; + if (set[i].style != PRESSURE) continue; + + double L, tilt, pcurrent; + if (i == 3) { + L = domain->zprd; + tilt = domain->yz; + pcurrent = tensor[5]; + } else if (i == 4) { + L = domain->zprd; + tilt = domain->xz + update->dt; + pcurrent = tensor[4]; + } else { + L = domain->yprd; + tilt = domain->xy; + pcurrent = tensor[3]; + } + + h_rate[i] = L * set[i].pgain * (pcurrent - set[i].ptarget); + if (normalize_pressure_flag) { + if (set[i].ptarget == 0) { + if (max_h_rate == 0) { + error->all(FLERR, "Cannot normalize error for zero pressure without defining a max rate"); + } else h_rate[i] = max_h_rate * h_rate[i] / fabs(h_rate[i]); + } else h_rate[i] /= fabs(set[i].ptarget); + } + + if (max_h_rate != 0) + if (fabs(h_rate[i]) > max_h_rate) + h_rate[i] = max_h_rate * h_rate[i] / fabs(h_rate[i]); + + set[i].tilt_target = tilt + update->dt * h_rate[i]; } } @@ -1211,61 +1221,65 @@ void FixDeform::set_volume() for (int i = 0; i < 3; i++) { if (set[i].style != VOLUME) continue; + int dynamic1 = set[i].dynamic1; + int dynamic2 = set[i].dynamic2; + int fixed = set[i].fixed; double v0 = set[i].vol_start; - double center_start = 0.5 * (set[i].lo_start + set[i].hi_start); - double offset; + double shift; if (set[i].substyle == ONE_FROM_ONE) { - offset = 0.5 * (v0 / - (set[set[i].dynamic1].hi_target - set[set[i].dynamic1].lo_target) / - (set[set[i].fixed].hi_start-set[set[i].fixed].lo_start)); + shift = 0.5 * (v0 / (set[dynamic1].hi_target - set[dynamic1].lo_target) / + (set[fixed].hi_start-set[fixed].lo_start)); } else if (set[i].substyle == ONE_FROM_TWO) { - offset = 0.5 * (v0 / - (set[set[i].dynamic1].hi_target - set[set[i].dynamic1].lo_target) / - (set[set[i].dynamic2].hi_target - set[set[i].dynamic2].lo_target)); + shift = 0.5 * (v0 / (set[dynamic1].hi_target - set[dynamic1].lo_target) / + (set[dynamic2].hi_target - set[dynamic2].lo_target)); } else if (set[i].substyle == TWO_FROM_ONE) { - if (!set[i].coupled_flag) { - offset = 0.5 * sqrt(v0 * (set[i].hi_start - set[i].lo_start) / - (set[set[i].dynamic1].hi_target - set[set[i].dynamic1].lo_target) / - (set[set[i].fixed].hi_start - set[set[i].fixed].lo_start)); + if (!vol_balance_flag) { + shift = 0.5 * sqrt(v0 * (set[i].hi_start - set[i].lo_start) / + (set[dynamic1].hi_target - set[dynamic1].lo_target) / + (set[fixed].hi_start - set[fixed].lo_start)); } else { double dt = update->dt; double e1i = set[i].prior_rate; - double e2i = set[set[i].fixed].prior_rate; - double L3 = (set[set[i].dynamic1].hi_target - set[set[i].dynamic1].lo_target); - double e3 = (L3 / set[set[i].dynamic1].box_length - 1.0) / dt; + double e2i = set[fixed].prior_rate; + double L1i = domain->boxhi[i] - domain->boxlo[i]; + double L2i = domain->boxhi[fixed] - domain->boxlo[fixed]; + double L3i = domain->boxhi[dynamic1] - domain->boxlo[dynamic1]; + double L3 = (set[dynamic1].hi_target - set[dynamic1].lo_target); + double e3 = (L3 / L3i - 1.0) / dt; double p1 = pressure->vector[i]; - double p2 = pressure->vector[set[i].fixed]; + double p2 = pressure->vector[fixed]; double p1i = set[i].prior_pressure; - double p2i = set[set[i].fixed].prior_pressure; + double p2i = set[fixed].prior_pressure; if (e3 == 0) { e1 = 0.0; e2 = 0.0; - offset = 0.5 * set[i].box_length; + shift = 0.5 * L1i; } else if (e1i == 0 || e2i == 0 || (p2 == p2i && p1 == p1i)) { - // If no prior strain or no change in pressure (initial step) just scale offset by relative box lengths - offset = 0.5 * sqrt(v0 * set[i].box_length / L3 / set[set[i].fixed].box_length); + // If no prior strain or no change in pressure (initial step) just scale shift by relative box lengths + shift = 0.5 * sqrt(v0 * L1i / L3 / L2i); } else { - if (! linked_pressure) { - // Calculate first strain rate by expanding stress to linear order in strain to achieve p1(t+dt) = p2(t+dt) - e1 = -e3 / (1 + e3 * dt) * (p2 - p2i) - e2i * (p1 - p2); - e1 /= (p2 - p2i + (p1 - p1i) / e1i * e2i); - + if (!linked_pressure) { + // Calculate first strain rate by expanding stress to linear order, p1(t+dt) = p2(t+dt) // Calculate second strain rate to preserve volume - e2 = (1.0 - (1 + e3 * dt) * (1 + e1 * dt)); - e2 /= (1 + e3 * dt) * (1 + e1 * dt) * dt; + e1 = -e3 / (1 + e3 * dt) * (p2 - p2i) - e2i * (p1 - p2) / (p2 - p2i + (p1 - p1i) / e1i * e2i); + e2 = (1.0 - (1 + e3 * dt) * (1 + e1 * dt)) / ((1 + e3 * dt) * (1 + e1 * dt) * dt); - offset = 0.5 * set[i].box_length * (1.0 + e1 * dt); + shift = 0.5 * L1i * (1.0 + e1 * dt); linked_pressure = 1; } else { - offset = 0.5 * set[i].box_length * (1.0 + e2 * dt); + // Already calculated value of e2 + shift = 0.5 * L1i * (1.0 + e2 * dt); } } } } - set[i].lo_target = center_start - offset; - set[i].hi_target = center_start + offset; + + h_rate[i] = (2.0 * shift / (domain->boxhi[i] - domain->boxlo[i]) - 1.0) / update->dt; + + set[i].lo_target = 0.5 * (set[i].lo_start + set[i].hi_start) - shift; + set[i].hi_target = 0.5 * (set[i].lo_start + set[i].hi_start) + shift; } } @@ -1296,6 +1310,9 @@ void FixDeform::restart(char *buf) set[i].hi_initial = set_restart[i].hi_initial; set[i].vol_initial = set_restart[i].vol_initial; set[i].tilt_initial = set_restart[i].tilt_initial; + set[i].saved = set_restart[i].saved; + set[i].prior_rate = set_restart[i].prior_rate; + set[i].prior_pressure = set_restart[i].prior_pressure; // check if style settings are consistent (should do the whole set?) if (set[i].style != set_restart[i].style) samestyle = 0; @@ -1344,6 +1361,20 @@ void FixDeform::options(int narg, char **arg) else if (strcmp(arg[iarg+1],"none") == 0) pcouple = NOCOUPLE; else error->all(FLERR,"Illegal fix fix deform couple command: {}", arg[iarg+1]); iarg += 2; + } else if (strcmp(arg[iarg],"max/rate") == 0) { + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix deform max/rate", error); + max_h_rate = utils::numeric(FLERR,arg[iarg+1],false,lmp); + if (max_h_rate <= 0.0) + error->all(FLERR,"Maximum strain rate must be a positive, non-zero value"); + iarg += 2; + } else if (strcmp(arg[iarg],"normalize/pressure") == 0) { + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix deform normalize/pressure", error); + normalize_pressure_flag = utils::logical(FLERR,arg[iarg+1],false,lmp); + iarg += 2; + } else if (strcmp(arg[iarg],"vol/balance/p") == 0) { + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix deform vol/balance/p", error); + vol_balance_flag = utils::logical(FLERR,arg[iarg+1],false,lmp); + iarg += 2; } else error->all(FLERR,"Illegal fix deform command: {}", arg[iarg]); } @@ -1363,7 +1394,6 @@ double FixDeform::memory_usage() return bytes; } - /* ---------------------------------------------------------------------- */ int FixDeform::modify_param(int narg, char **arg) diff --git a/src/fix_deform.h b/src/fix_deform.h index 9ecb9a577d..eda97f7c90 100644 --- a/src/fix_deform.h +++ b/src/fix_deform.h @@ -44,17 +44,17 @@ class FixDeform : public Fix { protected: int dimension, triclinic, scaleflag, flipflag, pcouple; int flip, flipxy, flipxz, flipyz; - double *h_rate, *h_ratelo; + double *h_rate, *h_ratelo, max_h_rate; int varflag; // 1 if VARIABLE option is used, 0 if not int strain_flag; // 1 if strain-based option is used, 0 if not int volume_flag; // 1 if VOLUME option is used, 0 if not int pressure_flag; // 1 if pressure tensor used, 0 if not int kspace_flag; // 1 if KSpace invoked, 0 if not + int normalize_pressure_flag; // 1 if normalize pressure deviation by target + int vol_balance_flag; // 1 if pressures balanced when maintaining const vol std::vector rfix; // pointers to rigid fixes class Irregular *irregular; // for migrating atoms after box flips - double TWOPI; - char *id_temp, *id_press; class Compute *temperature, *pressure; int tflag, pflag; @@ -72,7 +72,6 @@ class FixDeform : public Fix { double vol_initial, vol_start; double ptarget, pgain; double prior_pressure, prior_rate; - double box_length; int saved; int fixed, dynamic1, dynamic2; char *hstr, *hratestr, *pstr; From 63618d249056b6008d34486301d841fa7bc47ccf Mon Sep 17 00:00:00 2001 From: jtclemm Date: Mon, 24 Oct 2022 10:59:22 -0600 Subject: [PATCH 021/559] Adding scalar pressure compute --- src/fix_deform.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/fix_deform.cpp b/src/fix_deform.cpp index db3fad6a95..29c286ed02 100644 --- a/src/fix_deform.cpp +++ b/src/fix_deform.cpp @@ -851,6 +851,7 @@ void FixDeform::end_of_step() if (pressure_flag) { temperature->compute_vector(); pressure->compute_vector(); + pressure->compute_scalar(); for (int i = 0; i < 3; i++) { if (!set[i].saved) { set[i].saved = 1; @@ -1157,6 +1158,7 @@ void FixDeform::set_pressure() if (set[i].style != PRESSURE && set[i].style != PMEAN) continue; h_rate[i] = set[i].pgain * (p_current[i] - set[i].ptarget); + if (normalize_pressure_flag) { if (set[i].ptarget == 0) { if (max_h_rate == 0) { From 7160594902f74dd8cb5d88e85a96c1930df67cd0 Mon Sep 17 00:00:00 2001 From: Ludwig Ahrens-Iwers Date: Tue, 31 Jan 2023 07:39:31 +0000 Subject: [PATCH 022/559] Warning for mobile electrode atoms --- src/ELECTRODE/electrode_math.h | 1 + src/ELECTRODE/fix_electrode_conp.cpp | 26 ++- unittest/force-styles/tests/in.conp | 1 + .../tests/kspace-ewald_conp_charge.yaml | 159 +++++++-------- .../tests/kspace-pppm_conp_charge.yaml | 185 +++++++++--------- 5 files changed, 200 insertions(+), 172 deletions(-) diff --git a/src/ELECTRODE/electrode_math.h b/src/ELECTRODE/electrode_math.h index 5992df2289..08689a5adc 100644 --- a/src/ELECTRODE/electrode_math.h +++ b/src/ELECTRODE/electrode_math.h @@ -18,6 +18,7 @@ #ifndef LMP_ELECTRODE_MATH_H #define LMP_ELECTRODE_MATH_H +#include "math.h" #include "math_const.h" namespace LAMMPS_NS { diff --git a/src/ELECTRODE/fix_electrode_conp.cpp b/src/ELECTRODE/fix_electrode_conp.cpp index dbb508a033..33632f9099 100644 --- a/src/ELECTRODE/fix_electrode_conp.cpp +++ b/src/ELECTRODE/fix_electrode_conp.cpp @@ -377,6 +377,30 @@ void FixElectrodeConp::init() if (strncmp(modify->fix[i]->style, "electrode", 9) == 0) count++; if (count > 1) error->all(FLERR, "More than one fix electrode"); + // make sure electrode atoms are not integrated if a matrix is used for electrode-electrode interaction + int const nlocal = atom->nlocal; + int *mask = atom->mask; + Fix **fix = modify->fix; + if (matrix_algo) { + std::vector integrate_ids = std::vector(); + for (int i = 0; i < modify->nfix; i++) { + if (fix[i]->time_integrate == 0) continue; + int electrode_mover = 0; + int fix_groupbit = fix[i]->groupbit; + for (int j = 0; j < nlocal; j++) + if ((mask[j] & fix_groupbit) && (mask[j] & groupbit)) electrode_mover = 1; + MPI_Allreduce(MPI_IN_PLACE, &electrode_mover, 1, MPI_INT, MPI_SUM, world); + if (electrode_mover && comm->me == 0) integrate_ids.push_back(fix[i]->id); + } + if (comm->me == 0) + for (char *fix_id : integrate_ids) + error->warning( + FLERR, + "Electrode atoms are integrated by fix {}, but fix electrode is using a matrix method. For " + "mobile electrodes use the conjugate gradient algorithm without matrix ('algo cg').", + fix_id); + } + // check for package intel if (etypes_neighlists) request_etypes_neighlists(); @@ -863,7 +887,7 @@ void FixElectrodeConp::update_charges() update_time += MPI_Wtime() - start; } -std::vector FixElectrodeConp::ele_ele_interaction(const std::vector& q_local) +std::vector FixElectrodeConp::ele_ele_interaction(const std::vector &q_local) { assert(q_local.size() == nlocalele); assert(algo == Algo::CG || algo == Algo::MATRIX_CG); diff --git a/unittest/force-styles/tests/in.conp b/unittest/force-styles/tests/in.conp index 92d2f63cd1..08673ec20b 100644 --- a/unittest/force-styles/tests/in.conp +++ b/unittest/force-styles/tests/in.conp @@ -22,3 +22,4 @@ angle_coeff * group bot type 1 group top type 2 +group ele type 1 2 diff --git a/unittest/force-styles/tests/kspace-ewald_conp_charge.yaml b/unittest/force-styles/tests/kspace-ewald_conp_charge.yaml index 73fb252226..9a09a933a4 100644 --- a/unittest/force-styles/tests/kspace-ewald_conp_charge.yaml +++ b/unittest/force-styles/tests/kspace-ewald_conp_charge.yaml @@ -1,7 +1,7 @@ --- -lammps_version: 23 Jun 2022 +lammps_version: 3 Nov 2022 tags: generated -date_generated: Wed Sep 21 13:52:53 2022 +date_generated: Fri Dec 16 10:49:39 2022 epsilon: 1e-12 skip_tests: gpu kokkos_omp omp prerequisites: ! | @@ -17,6 +17,7 @@ post_commands: ! | kspace_modify gewald 0.23118 kspace_modify slab ew2d fix fxcpm bot electrode/conp -1.0 1.805 couple top 1.0 symm on + fix fxforce ele setforce 0 0 0 input_file: in.conp pair_style: coul/long 15.0 pair_coeff: ! | @@ -40,85 +41,85 @@ init_forces: ! |2 10 -3.3526564930579039e-02 -2.3802275431282884e-03 -1.5617801011657175e+00 11 -5.1236396351794389e-02 -4.9531100598979201e-04 -1.5779995894034005e+00 12 -3.3740693032952060e-02 -1.0210406243572182e-03 -1.5630986537874150e+00 - 13 -1.1437102611353016e-03 -4.6454866413029015e-05 5.4282837980149448e-03 - 14 2.3914999373115431e-03 -1.6478680244651469e-04 2.9802178734319239e-02 - 15 3.9287193302652786e-05 -2.5715673267285659e-05 2.8944525105129479e-03 - 16 2.0458480716482328e-03 -1.2119161321908735e-04 3.3689550843809452e-02 - 17 -2.7146073277767471e-03 -8.2376243258224663e-04 2.6564130941474612e-02 - 18 1.3669692885198135e-03 -4.2357196145489820e-04 3.2396141113926739e-02 - 19 3.0143371860819995e-04 -8.6218593339583785e-04 2.6284521141350669e-02 - 20 1.1542435168435056e-03 -2.7252318260838826e-04 3.4237916528138110e-02 - 21 -1.2350056952573553e-03 4.8655691135364269e-04 5.9284283442393631e-03 - 22 2.3656743884722890e-03 9.6575340844312705e-04 2.9811074931784823e-02 - 23 4.6754986244969657e-05 3.0149464050350903e-04 3.4630785686112129e-03 - 24 2.0301227080749633e-03 6.3879578068684812e-04 3.3653437189053413e-02 - 25 -2.3656211013513076e-03 -8.0454594828768334e-04 2.8476980555362911e-02 - 26 1.1566723797447039e-03 -3.9614599888570504e-04 3.2873323713155905e-02 - 27 2.8784994028036400e-04 -8.3661697184444898e-04 2.8317655886021253e-02 - 28 9.3882364605486020e-04 -2.3327601777843495e-04 3.4334676606415648e-02 - 29 -4.7969977052124917e-04 -1.2933334305373028e-04 -1.2336987392568071e-02 - 30 6.4733118786851766e-05 -1.3190918849005797e-04 -1.2737933567178844e-02 - 31 2.4269094157913586e-04 -1.3093943526788584e-04 -1.2136133260085013e-02 - 32 1.7452552740941527e-04 -1.1792779046242341e-04 -1.4181538324619835e-02 - 33 -3.8366266481516803e-04 -7.1061854758754556e-05 -1.3699106365426135e-02 - 34 2.8849004082563746e-05 -5.7838605310673531e-05 -1.3764181266896890e-02 - 35 2.2648059665862587e-04 -7.2851385190891320e-05 -1.3537361892926607e-02 - 36 1.2929221129083645e-04 -4.2862960950045859e-05 -1.4926105930886896e-02 - 37 -4.7698025941707008e-04 2.9971529466656788e-04 -1.2393604822896313e-02 - 38 6.4231095731188766e-05 2.7548977518460050e-04 -1.2789498345723021e-02 - 39 2.4169204779864826e-04 3.0552093685810269e-04 -1.2193908285665961e-02 - 40 1.7324998349441456e-04 2.2898000918153004e-04 -1.4225267020837207e-02 - 41 -3.4345772150395188e-04 -9.8012060153887415e-05 -1.4482722052972283e-02 - 42 2.0345466940577010e-05 -8.5250083485342566e-05 -1.4497101004472062e-02 - 43 2.0917627239292995e-04 -1.0051271468149899e-04 -1.4335313646556430e-02 - 44 1.1456796622437295e-04 -6.7553675788598551e-05 -1.5543196158604005e-02 + 13 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 14 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 15 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 16 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 17 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 18 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 19 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 21 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 22 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 23 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 24 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 25 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 26 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 27 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 28 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 29 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 30 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 31 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 32 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 33 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 34 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 35 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 36 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 37 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 38 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 39 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 40 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 41 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 42 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 43 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 44 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 run_vdwl: 0 -run_coul: 6.662694629990089 +run_coul: 6.662694556930399 run_stress: ! |2- 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 run_forces: ! |2 - 1 2.4590612609445102e-04 1.9614041218568861e-03 3.0874291949281147e+00 - 2 -1.6646393233505193e-02 2.1136941574790400e-03 3.0751132981100078e+00 - 3 6.3535217476586373e-04 5.1012487117746350e-03 3.0897301317927290e+00 - 4 -1.6598677148313409e-02 6.0535154567108685e-03 3.0778495346381409e+00 - 5 4.2257888534896988e-02 -2.3028533365965051e-03 -1.5593100596807521e+00 - 6 5.5690508027606708e-02 -2.4104721624763235e-03 -1.5626897542440843e+00 - 7 4.2243973130370149e-02 -7.6153220413259775e-04 -1.5604618260035832e+00 - 8 5.5862703939049158e-02 -9.9825803703216718e-04 -1.5640031014325448e+00 - 9 -5.1059409954744304e-02 -2.3195553026588347e-03 -1.5701677851024036e+00 - 10 -3.3824298857146967e-02 -2.3375522139358631e-03 -1.5551647619109401e+00 - 11 -5.1334079184640377e-02 -5.0583705005136689e-04 -1.5712298444761112e+00 - 12 -3.4037363466305925e-02 -1.0275978089057873e-03 -1.5564691026885336e+00 - 13 -1.1767076011504501e-03 -4.7681963272732406e-05 5.6177800544716262e-03 - 14 2.3826294437743331e-03 -1.6349140124449633e-04 2.9836275824428962e-02 - 15 4.1635367214843796e-05 -2.7287283914685102e-05 3.0967012748694773e-03 - 16 2.0334138778396313e-03 -1.1986039772787527e-04 3.3679727731055195e-02 - 17 -2.7026084826568797e-03 -8.1815079485725360e-04 2.6574868248546435e-02 - 18 1.3603406762441243e-03 -4.1902595052936860e-04 3.2373613783594497e-02 - 19 2.9940467686436986e-04 -8.5646794759970863e-04 2.6296909514905095e-02 - 20 1.1469475577225402e-03 -2.6907093945665336e-04 3.4197589258157073e-02 - 21 -1.2662578686531134e-03 4.9770031968890231e-04 6.1141650873547037e-03 - 22 2.3568409810395020e-03 9.5671841592085381e-04 2.9844352492872490e-02 - 23 4.8965507374742117e-05 3.1616579858329929e-04 3.6613180489820005e-03 - 24 2.0177821554069170e-03 6.3083810187911310e-04 3.3643353017422439e-02 - 25 -2.3537455003017457e-03 -7.9846295760147956e-04 2.8468250829639500e-02 - 26 1.1507655048236000e-03 -3.9159985067612060e-04 3.2839870487003708e-02 - 27 2.8582562554448814e-04 -8.3038492818152999e-04 2.8309777443009273e-02 - 28 9.3274285761092680e-04 -2.2997823984283208e-04 3.4287630335266286e-02 - 29 -4.7502414048888327e-04 -1.2847214455389489e-04 -1.2453998829891042e-02 - 30 6.3675154563755000e-05 -1.3104204562344653e-04 -1.2848240218511071e-02 - 31 2.4068203429808906e-04 -1.3007692195448562e-04 -1.2254443488117142e-02 - 32 1.7286880375665112e-04 -1.1713944254614034e-04 -1.4279748536149278e-02 - 33 -3.7975304094097439e-04 -7.0481503989778179e-05 -1.3805675914786045e-02 - 34 2.8172580422574018e-05 -5.7414812953860394e-05 -1.3867744309035916e-02 - 35 2.2448042926710853e-04 -7.2258368796568220e-05 -1.3645037267085249e-02 - 36 1.2804302797390986e-04 -4.2547023166907131e-05 -1.5019384166440140e-02 - 37 -4.7231656130619122e-04 2.9759414220405656e-04 -1.2510308090752414e-02 - 38 6.3181133759042352e-05 2.7366531591578288e-04 -1.2899551129187765e-02 - 39 2.3968383978790597e-04 3.0338116638639894e-04 -1.2311919409216509e-02 - 40 1.7159804905743131e-04 2.2744508340904917e-04 -1.4323246783684936e-02 - 41 -3.3986046011853923e-04 -9.7274166717457145e-05 -1.4583591616566860e-02 - 42 1.9775995840422978e-05 -8.4675117269364898e-05 -1.4595729099929700e-02 - 43 2.0725822207231137e-04 -9.9764702521265135e-05 -1.4437236974797743e-02 - 44 1.1345006523014360e-04 -6.7103771021504086e-05 -1.5632251527466189e-02 + 1 2.4590683616589461e-04 1.9614031577863586e-03 3.0874292323214023e+00 + 2 -1.6646391056109371e-02 2.1136931488457949e-03 3.0751133344119812e+00 + 3 6.3535284261970041e-04 5.1012486499622143e-03 3.0897301693141319e+00 + 4 -1.6598674977089525e-02 6.0535154273403009e-03 3.0778495712965137e+00 + 5 4.2257890248609424e-02 -2.3028528771735519e-03 -1.5593100743454233e+00 + 6 5.5690508840794913e-02 -2.4104716736065191e-03 -1.5626897684026875e+00 + 7 4.2243974848895624e-02 -7.6153214117135259e-04 -1.5604618407191599e+00 + 8 5.5862704771247232e-02 -9.9825804058303641e-04 -1.5640031157582626e+00 + 9 -5.1059412079591339e-02 -2.3195548367148278e-03 -1.5701677996288432e+00 + 10 -3.3824301875619064e-02 -2.3375517362836449e-03 -1.5551647759943841e+00 + 11 -5.1334081278836839e-02 -5.0583707575588808e-04 -1.5712298590599834e+00 + 12 -3.4037366496628307e-02 -1.0275977984217531e-03 -1.5564691169384570e+00 + 13 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 14 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 15 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 16 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 17 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 18 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 19 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 21 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 22 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 23 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 24 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 25 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 26 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 27 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 28 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 29 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 30 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 31 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 32 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 33 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 34 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 35 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 36 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 37 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 38 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 39 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 40 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 41 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 42 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 43 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 44 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 ... diff --git a/unittest/force-styles/tests/kspace-pppm_conp_charge.yaml b/unittest/force-styles/tests/kspace-pppm_conp_charge.yaml index 84148fc816..9322cae321 100644 --- a/unittest/force-styles/tests/kspace-pppm_conp_charge.yaml +++ b/unittest/force-styles/tests/kspace-pppm_conp_charge.yaml @@ -1,7 +1,7 @@ --- -lammps_version: 23 Jun 2022 +lammps_version: 3 Nov 2022 tags: generated -date_generated: Wed Sep 21 13:52:39 2022 +date_generated: Fri Dec 16 10:53:11 2022 epsilon: 3e-12 skip_tests: gpu kokkos_omp omp prerequisites: ! | @@ -17,6 +17,7 @@ post_commands: ! | kspace_modify gewald 0.23118 kspace_modify slab 3.0 fix fxcpm bot electrode/conp -1.0 1.805 couple top 1.0 symm on + fix fxforce ele setforce 0 0 0 input_file: in.conp pair_style: coul/long 15.0 pair_coeff: ! | @@ -24,101 +25,101 @@ pair_coeff: ! | extract: ! "" natoms: 44 init_vdwl: 0 -init_coul: 2.2156402256727614 +init_coul: 2.2156402256727743 init_stress: ! |2- 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 init_forces: ! |2 - 1 2.0996096688279944e-04 1.9837586784580306e-03 3.1004822661058822e+00 - 2 -1.6783332510617883e-02 2.1368843599407611e-03 3.0880130470329230e+00 - 3 6.0300296042517466e-04 5.1688381279905342e-03 3.1028182137891114e+00 - 4 -1.6735061532950901e-02 6.1290626039690339e-03 3.0907879891042755e+00 - 5 4.2014131860757913e-02 -2.3478381081742388e-03 -1.5658874682481487e+00 - 6 5.5659823770659422e-02 -2.4566144388410410e-03 -1.5693278833316506e+00 - 7 4.1999624791768865e-02 -7.5066218795240259e-04 -1.5670569809441617e+00 - 8 5.5832732887661884e-02 -9.8883264742169940e-04 -1.5706605160409139e+00 - 9 -5.0976953599115804e-02 -2.3653810185280950e-03 -1.5768945194236066e+00 - 10 -3.3513771125456657e-02 -2.3824712764543426e-03 -1.5616806812004886e+00 - 11 -5.1253442064492741e-02 -4.9304425051529275e-04 -1.5779738349804424e+00 - 12 -3.3727836471637192e-02 -1.0188844490582761e-03 -1.5630041309277038e+00 - 13 -1.1453068449918257e-03 -4.7335833322794788e-05 5.4292779404649470e-03 - 14 2.3900993287279790e-03 -1.6878550058260119e-04 2.9808528147740175e-02 - 15 4.0078428215627730e-05 -2.6184607051201481e-05 2.8941780231019881e-03 - 16 2.0473353699190459e-03 -1.2552209515766962e-04 3.3684989110502959e-02 - 17 -2.7210216747431955e-03 -8.2349543008294359e-04 2.6567504438257068e-02 - 18 1.3656002828979516e-03 -4.2323438710338486e-04 3.2404938547366383e-02 - 19 3.0785575286292939e-04 -8.6186674263511191e-04 2.6288541663855129e-02 - 20 1.1555469330548321e-03 -2.7230960410720359e-04 3.4235148032534163e-02 - 21 -1.2368093613861506e-03 4.8760847861882366e-04 5.9296798954256557e-03 - 22 2.3643140421916085e-03 9.6975102599399746e-04 2.9817231402721564e-02 - 23 4.7705653522709085e-05 3.0203836842154655e-04 3.4631818106649337e-03 - 24 2.0316297431160258e-03 6.4335031755788927e-04 3.3648629802522749e-02 - 25 -2.3728144718995455e-03 -8.0497592536520339e-04 2.8474707915345274e-02 - 26 1.1555985481661916e-03 -3.9649433660109970e-04 3.2876098209196375e-02 - 27 2.9459292459149998e-04 -8.3700881746301306e-04 2.8316136079038545e-02 - 28 9.4027352090446912e-04 -2.3371025598546553e-04 3.4325153603153732e-02 - 29 -5.2133856931286127e-04 -1.4498587872629142e-04 -1.2345168780426297e-02 - 30 7.0344538924238829e-05 -1.4805754895657979e-04 -1.2765142487049358e-02 - 31 2.7857644686035687e-04 -1.4667349483298643e-04 -1.2140095836769501e-02 - 32 1.7479865631996218e-04 -1.3335074368636031e-04 -1.4152171307753206e-02 - 33 -4.2607366742485959e-04 -7.2661709209033136e-05 -1.3713642029394900e-02 - 34 3.4224570995904750e-05 -5.9352423088202727e-05 -1.3797063100154012e-02 - 35 2.6332638434852483e-04 -7.4573909050170201e-05 -1.3548481212572565e-02 - 36 1.2956589882656260e-04 -4.4469640559387641e-05 -1.4903750420442119e-02 - 37 -5.1855202137555164e-04 3.1768672664149645e-04 -1.2402413876588990e-02 - 38 6.9744637010106164e-05 2.9379923413403201e-04 -1.2817238930047764e-02 - 39 2.7753815671547851e-04 3.2364879063853462e-04 -1.2198687630220518e-02 - 40 1.7359211286247436e-04 2.4661766514410969e-04 -1.4196607980261094e-02 - 41 -3.8501793941197521e-04 -9.8818538537990245e-05 -1.4472863167957050e-02 - 42 2.5779944975443997e-05 -8.5975255466014692e-05 -1.4504933662725301e-02 - 43 2.4535595442148292e-04 -1.0127263490049206e-04 -1.4321758087878972e-02 - 44 1.1457678622968817e-04 -6.8200688092186871e-05 -1.5499407046729242e-02 + 1 2.0996096688278619e-04 1.9837586784579742e-03 3.1004822661058862e+00 + 2 -1.6783332510618001e-02 2.1368843599407208e-03 3.0880130470329266e+00 + 3 6.0300296042516458e-04 5.1688381279906756e-03 3.1028182137891149e+00 + 4 -1.6735061532951023e-02 6.1290626039691648e-03 3.0907879891042778e+00 + 5 4.2014131860757892e-02 -2.3478381081742106e-03 -1.5658874682481501e+00 + 6 5.5659823770659464e-02 -2.4566144388410275e-03 -1.5693278833316524e+00 + 7 4.1999624791768830e-02 -7.5066218795246862e-04 -1.5670569809441637e+00 + 8 5.5832732887661912e-02 -9.8883264742175101e-04 -1.5706605160409157e+00 + 9 -5.0976953599115776e-02 -2.3653810185280764e-03 -1.5768945194236081e+00 + 10 -3.3513771125456580e-02 -2.3824712764543249e-03 -1.5616806812004898e+00 + 11 -5.1253442064492706e-02 -4.9304425051534804e-04 -1.5779738349804435e+00 + 12 -3.3727836471637108e-02 -1.0188844490583379e-03 -1.5630041309277052e+00 + 13 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 14 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 15 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 16 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 17 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 18 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 19 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 21 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 22 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 23 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 24 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 25 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 26 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 27 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 28 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 29 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 30 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 31 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 32 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 33 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 34 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 35 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 36 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 37 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 38 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 39 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 40 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 41 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 42 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 43 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 44 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 run_vdwl: 0 -run_coul: 6.662844717848837 +run_coul: 6.662844644802018 run_stress: ! |2- 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 run_forces: ! |2 - 1 2.4838374656870440e-04 1.9503798034564181e-03 3.0873204052231675e+00 - 2 -1.6652792550963507e-02 2.1026197438206527e-03 3.0749612313228378e+00 - 3 6.3785681925848106e-04 5.1125747842690368e-03 3.0896293583134606e+00 - 4 -1.6605065971975488e-02 6.0649203428150876e-03 3.0777057441315305e+00 - 5 4.2242720963296274e-02 -2.3050719334346786e-03 -1.5592361839228894e+00 - 6 5.5714272244614366e-02 -2.4127241272198356e-03 -1.5626351053810128e+00 - 7 4.2228744507856318e-02 -7.5938680980830215e-04 -1.5603926173148708e+00 - 8 5.5886400463161408e-02 -9.9610508394880446e-04 -1.5639532943562677e+00 - 9 -5.1076260774663269e-02 -2.3218376339398856e-03 -1.5701372580807029e+00 - 10 -3.3811558405906099e-02 -2.3397301017438945e-03 -1.5550660295253020e+00 - 11 -5.1350900750795785e-02 -5.0363945411724615e-04 -1.5712039970018119e+00 - 12 -3.4024561045577786e-02 -1.0255079139096881e-03 -1.5563752017113657e+00 - 13 -1.1783355827329363e-03 -4.8584425213699084e-05 5.6187810005819084e-03 - 14 2.3812433011153062e-03 -1.6745821939573657e-04 2.9842604329757397e-02 - 15 4.2472634867315832e-05 -2.7784504406519571e-05 3.0964622176844602e-03 - 16 2.0348857368272344e-03 -1.2415016403438035e-04 3.3675205082768264e-02 - 17 -2.7089567432503573e-03 -8.1788662401764114e-04 2.6578231998707000e-02 - 18 1.3589859834844708e-03 -4.1869284075205220e-04 3.2382362625908642e-02 - 19 3.0575998684987288e-04 -8.5615261685325662e-04 2.6300918365183709e-02 - 20 1.1482382726252934e-03 -2.6885864047674810e-04 3.4194853807722227e-02 - 21 -1.2680891310638792e-03 4.9877122346546224e-04 6.1154164862940522e-03 - 22 2.3554944751877239e-03 9.6068685589809240e-04 2.9850487598267021e-02 - 23 4.9959016556344255e-05 3.1673714227676154e-04 3.6614479955528112e-03 - 24 2.0192733259603224e-03 6.3534849028298586e-04 3.3638585635455770e-02 - 25 -2.3608563352120440e-03 -7.9888874314704573e-04 2.8465994834953420e-02 - 26 1.1497012824588045e-03 -3.9194609517719160e-04 3.2842627585052867e-02 - 27 2.9249325092285189e-04 -8.3077344407106490e-04 2.8308269755484061e-02 - 28 9.3417705968603434e-04 -2.3040781495046246e-04 3.4278191255128133e-02 - 29 -5.1652528928022433e-04 -1.4404353042683099e-04 -1.2462150875064196e-02 - 30 6.9288940488795056e-05 -1.4710788156542239e-04 -1.2875332550432134e-02 - 31 2.7644608312646314e-04 -1.4573040212804145e-04 -1.2258366148270420e-02 - 32 1.7312052380602741e-04 -1.3246895843787418e-04 -1.4250473428514749e-02 - 33 -4.2201273060055557e-04 -7.2075937985441126e-05 -1.3820153961237609e-02 - 34 3.3549241776445280e-05 -5.8924381188893540e-05 -1.3900492261623465e-02 - 35 2.6119063773180797e-04 -7.3975274656908229e-05 -1.3656086631368676e-02 - 36 1.2829798186810219e-04 -4.4146305074977061e-05 -1.4997087695938056e-02 - 37 -5.1375024459660446e-04 3.1547360096919003e-04 -1.2519087424517190e-02 - 38 6.8697062203298403e-05 2.9188411177715840e-04 -1.2927175328444108e-02 - 39 2.7540798890579723e-04 3.2141722701930868e-04 -1.2316658300695350e-02 - 40 1.7191884579607650e-04 2.4497453169432579e-04 -1.4294679585099376e-02 - 41 -3.8125358429239129e-04 -9.8073404256391242e-05 -1.4573806404289218e-02 - 42 2.5208712883704254e-05 -8.5394829999053783e-05 -1.4603558816163261e-02 - 43 2.4329125095209453e-04 -1.0051714757303402e-04 -1.4423743772053488e-02 - 44 1.1343880007511943e-04 -6.7742613833467660e-05 -1.5588639087563531e-02 + 1 2.4838446863948484e-04 1.9503788466162767e-03 3.0873204426106526e+00 + 2 -1.6652790386576983e-02 2.1026187422225470e-03 3.0749612676149027e+00 + 3 6.3785749905503929e-04 5.1125747155211223e-03 3.0896293958296615e+00 + 4 -1.6605063813844967e-02 6.0649203065202420e-03 3.0777057807809554e+00 + 5 4.2242722672783783e-02 -2.3050714764837449e-03 -1.5592361985876177e+00 + 6 5.5714273062644280e-02 -2.4127236407636868e-03 -1.5626351195306318e+00 + 7 4.2228746222139874e-02 -7.5938674438442175e-04 -1.5603926320308752e+00 + 8 5.5886401300220823e-02 -9.9610508505007457e-04 -1.5639533086735800e+00 + 9 -5.1076262902731109e-02 -2.3218371704875071e-03 -1.5701372726008265e+00 + 10 -3.3811561421032664e-02 -2.3397296264742753e-03 -1.5550660436064545e+00 + 11 -5.1350902848165472e-02 -5.0363947736730796e-04 -1.5712040115797643e+00 + 12 -3.4024564072498598e-02 -1.0255079009805080e-03 -1.5563752159595892e+00 + 13 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 14 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 15 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 16 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 17 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 18 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 19 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 21 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 22 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 23 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 24 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 25 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 26 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 27 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 28 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 29 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 30 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 31 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 32 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 33 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 34 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 35 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 36 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 37 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 38 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 39 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 40 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 41 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 42 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 43 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 44 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 ... From 7d8866891a67878c001e292a21527bb750f7d964 Mon Sep 17 00:00:00 2001 From: Ludwig Ahrens Date: Wed, 1 Feb 2023 10:15:11 +0100 Subject: [PATCH 023/559] Call particle_map in compute of pppm/electrode --- src/ELECTRODE/pppm_electrode.cpp | 137 +++++++++++++++---------------- 1 file changed, 68 insertions(+), 69 deletions(-) diff --git a/src/ELECTRODE/pppm_electrode.cpp b/src/ELECTRODE/pppm_electrode.cpp index 7418a052e6..3bc1364c99 100644 --- a/src/ELECTRODE/pppm_electrode.cpp +++ b/src/ELECTRODE/pppm_electrode.cpp @@ -445,6 +445,7 @@ void PPPMElectrode::compute(int eflag, int vflag) start_compute(); + /* if (compute_vector_called && last_invert_source) { // electrolyte_density_brick is filled, so we can grab only electrode atoms. // Does not work for direct cg algorithm because electrode charges change after compute_vector. @@ -460,15 +461,17 @@ void PPPMElectrode::compute(int eflag, int vflag) density_brick[nz][ny][nx] += electrolyte_density_brick[nz][ny][nx]; } } else { - make_rho(); + */ + particle_map(); + make_rho(); - // all procs communicate density values from their ghost cells - // to fully sum contribution in their 3d bricks - // remap from 3d decomposition to FFT decomposition + // all procs communicate density values from their ghost cells + // to fully sum contribution in their 3d bricks + // remap from 3d decomposition to FFT decomposition - gc->reverse_comm(Grid3d::KSPACE, this, REVERSE_RHO, 1, sizeof(FFT_SCALAR), gc_buf1, gc_buf2, - MPI_FFT_SCALAR); - } + gc->reverse_comm(Grid3d::KSPACE, this, REVERSE_RHO, 1, sizeof(FFT_SCALAR), gc_buf1, gc_buf2, + MPI_FFT_SCALAR); + //} brick2fft(); @@ -591,6 +594,7 @@ void PPPMElectrode::compute_vector(double *vec, int sensor_grpbit, int source_gr // electrolyte density (without writing an additional function) FFT_SCALAR ***density_brick_real = density_brick; FFT_SCALAR *density_fft_real = density_fft; + particle_map(); make_rho_in_brick(source_grpbit, electrolyte_density_brick, invert_source); density_brick = electrolyte_density_brick; density_fft = electrolyte_density_fft; @@ -674,7 +678,8 @@ void PPPMElectrode::compute_matrix(bigint *imat, double **matrix, bool timer_fla // fft green's function k -> r (double) double *greens_real; memory->create(greens_real, nz_pppm * ny_pppm * nx_pppm, "pppm/electrode:greens_real"); - memset(greens_real, 0, (std::size_t)nz_pppm * (std::size_t)ny_pppm * (std::size_t)nx_pppm * sizeof(double)); + memset(greens_real, 0, + (std::size_t) nz_pppm * (std::size_t) ny_pppm * (std::size_t) nx_pppm * sizeof(double)); for (int i = 0, n = 0; i < nfft; i++) { work2[n++] = greensfn[i]; work2[n++] = ZEROF; @@ -867,7 +872,7 @@ void PPPMElectrode::two_step_multiplication(bigint *imat, double *greens_real, d double **gw; memory->create(gw, nmat, nxyz, "pppm/electrode:gw"); - memset(&(gw[0][0]), 0, (std::size_t)nmat * (std::size_t)nxyz * sizeof(double)); + memset(&(gw[0][0]), 0, (std::size_t) nmat * (std::size_t) nxyz * sizeof(double)); auto fmod = [](int x, int n) { // fast unsigned mod int r = abs(x); @@ -986,17 +991,18 @@ void PPPMElectrode::allocate() // returns local owned and ghost grid bounds // setup communication patterns and buffers - gc = new Grid3d(lmp,world,nx_pppm,ny_pppm,nz_pppm, - nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, - nxlo_out,nxhi_out,nylo_out,nyhi_out,nzlo_out,nzhi_out); + gc = new Grid3d(lmp, world, nx_pppm, ny_pppm, nz_pppm, nxlo_in, nxhi_in, nylo_in, nyhi_in, + nzlo_in, nzhi_in, nxlo_out, nxhi_out, nylo_out, nyhi_out, nzlo_out, nzhi_out); - gc->setup_comm(ngc_buf1,ngc_buf2); + gc->setup_comm(ngc_buf1, ngc_buf2); - if (differentiation_flag) npergrid = 1; - else npergrid = 3; + if (differentiation_flag) + npergrid = 1; + else + npergrid = 3; - memory->create(gc_buf1,npergrid*ngc_buf1,"pppm:gc_buf1"); - memory->create(gc_buf2,npergrid*ngc_buf2,"pppm:gc_buf2"); + memory->create(gc_buf1, npergrid * ngc_buf1, "pppm:gc_buf1"); + memory->create(gc_buf2, npergrid * ngc_buf2, "pppm:gc_buf2"); // tally local grid sizes // ngrid = count of owned+ghost grid cells on this proc @@ -1005,67 +1011,63 @@ void PPPMElectrode::allocate() // nfft = FFT points in x-pencil FFT decomposition on this proc // nfft_both = greater of nfft and nfft_brick - ngrid = (nxhi_out-nxlo_out+1) * (nyhi_out-nylo_out+1) * - (nzhi_out-nzlo_out+1); + ngrid = (nxhi_out - nxlo_out + 1) * (nyhi_out - nylo_out + 1) * (nzhi_out - nzlo_out + 1); - nfft_brick = (nxhi_in-nxlo_in+1) * (nyhi_in-nylo_in+1) * - (nzhi_in-nzlo_in+1); + nfft_brick = (nxhi_in - nxlo_in + 1) * (nyhi_in - nylo_in + 1) * (nzhi_in - nzlo_in + 1); - nfft = (nxhi_fft-nxlo_fft+1) * (nyhi_fft-nylo_fft+1) * - (nzhi_fft-nzlo_fft+1); + nfft = (nxhi_fft - nxlo_fft + 1) * (nyhi_fft - nylo_fft + 1) * (nzhi_fft - nzlo_fft + 1); - nfft_both = MAX(nfft,nfft_brick); + nfft_both = MAX(nfft, nfft_brick); // allocate distributed grid data - memory->create3d_offset(density_brick,nzlo_out,nzhi_out,nylo_out,nyhi_out, - nxlo_out,nxhi_out,"pppm:density_brick"); + memory->create3d_offset(density_brick, nzlo_out, nzhi_out, nylo_out, nyhi_out, nxlo_out, nxhi_out, + "pppm:density_brick"); - memory->create(density_fft,nfft_both,"pppm:density_fft"); - memory->create(greensfn,nfft_both,"pppm:greensfn"); - memory->create(work1,2*nfft_both,"pppm:work1"); - memory->create(work2,2*nfft_both,"pppm:work2"); - memory->create(vg,nfft_both,6,"pppm:vg"); + memory->create(density_fft, nfft_both, "pppm:density_fft"); + memory->create(greensfn, nfft_both, "pppm:greensfn"); + memory->create(work1, 2 * nfft_both, "pppm:work1"); + memory->create(work2, 2 * nfft_both, "pppm:work2"); + memory->create(vg, nfft_both, 6, "pppm:vg"); if (triclinic == 0) { - memory->create1d_offset(fkx,nxlo_fft,nxhi_fft,"pppm:fkx"); - memory->create1d_offset(fky,nylo_fft,nyhi_fft,"pppm:fky"); - memory->create1d_offset(fkz,nzlo_fft,nzhi_fft,"pppm:fkz"); + memory->create1d_offset(fkx, nxlo_fft, nxhi_fft, "pppm:fkx"); + memory->create1d_offset(fky, nylo_fft, nyhi_fft, "pppm:fky"); + memory->create1d_offset(fkz, nzlo_fft, nzhi_fft, "pppm:fkz"); } else { - memory->create(fkx,nfft_both,"pppm:fkx"); - memory->create(fky,nfft_both,"pppm:fky"); - memory->create(fkz,nfft_both,"pppm:fkz"); + memory->create(fkx, nfft_both, "pppm:fkx"); + memory->create(fky, nfft_both, "pppm:fky"); + memory->create(fkz, nfft_both, "pppm:fkz"); } if (differentiation_flag == 1) { - memory->create3d_offset(u_brick,nzlo_out,nzhi_out,nylo_out,nyhi_out, - nxlo_out,nxhi_out,"pppm:u_brick"); + memory->create3d_offset(u_brick, nzlo_out, nzhi_out, nylo_out, nyhi_out, nxlo_out, nxhi_out, + "pppm:u_brick"); - memory->create(sf_precoeff1,nfft_both,"pppm:sf_precoeff1"); - memory->create(sf_precoeff2,nfft_both,"pppm:sf_precoeff2"); - memory->create(sf_precoeff3,nfft_both,"pppm:sf_precoeff3"); - memory->create(sf_precoeff4,nfft_both,"pppm:sf_precoeff4"); - memory->create(sf_precoeff5,nfft_both,"pppm:sf_precoeff5"); - memory->create(sf_precoeff6,nfft_both,"pppm:sf_precoeff6"); + memory->create(sf_precoeff1, nfft_both, "pppm:sf_precoeff1"); + memory->create(sf_precoeff2, nfft_both, "pppm:sf_precoeff2"); + memory->create(sf_precoeff3, nfft_both, "pppm:sf_precoeff3"); + memory->create(sf_precoeff4, nfft_both, "pppm:sf_precoeff4"); + memory->create(sf_precoeff5, nfft_both, "pppm:sf_precoeff5"); + memory->create(sf_precoeff6, nfft_both, "pppm:sf_precoeff6"); } else { - memory->create3d_offset(vdx_brick,nzlo_out,nzhi_out,nylo_out,nyhi_out, - nxlo_out,nxhi_out,"pppm:vdx_brick"); - memory->create3d_offset(vdy_brick,nzlo_out,nzhi_out,nylo_out,nyhi_out, - nxlo_out,nxhi_out,"pppm:vdy_brick"); - memory->create3d_offset(vdz_brick,nzlo_out,nzhi_out,nylo_out,nyhi_out, - nxlo_out,nxhi_out,"pppm:vdz_brick"); + memory->create3d_offset(vdx_brick, nzlo_out, nzhi_out, nylo_out, nyhi_out, nxlo_out, nxhi_out, + "pppm:vdx_brick"); + memory->create3d_offset(vdy_brick, nzlo_out, nzhi_out, nylo_out, nyhi_out, nxlo_out, nxhi_out, + "pppm:vdy_brick"); + memory->create3d_offset(vdz_brick, nzlo_out, nzhi_out, nylo_out, nyhi_out, nxlo_out, nxhi_out, + "pppm:vdz_brick"); } // summation coeffs order_allocated = order; - if (!stagger_flag) memory->create(gf_b,order,"pppm:gf_b"); - memory->create2d_offset(rho1d,3,-order/2,order/2,"pppm:rho1d"); - memory->create2d_offset(drho1d,3,-order/2,order/2,"pppm:drho1d"); - memory->create2d_offset(rho_coeff,order,(1-order)/2,order/2,"pppm:rho_coeff"); - memory->create2d_offset(drho_coeff,order,(1-order)/2,order/2, - "pppm:drho_coeff"); + if (!stagger_flag) memory->create(gf_b, order, "pppm:gf_b"); + memory->create2d_offset(rho1d, 3, -order / 2, order / 2, "pppm:rho1d"); + memory->create2d_offset(drho1d, 3, -order / 2, order / 2, "pppm:drho1d"); + memory->create2d_offset(rho_coeff, order, (1 - order) / 2, order / 2, "pppm:rho_coeff"); + memory->create2d_offset(drho_coeff, order, (1 - order) / 2, order / 2, "pppm:drho_coeff"); // create 2 FFTs and a Remap // 1st FFT keeps data in FFT decomposition @@ -1074,20 +1076,17 @@ void PPPMElectrode::allocate() int tmp; - fft1 = new FFT3d(lmp,world,nx_pppm,ny_pppm,nz_pppm, - nxlo_fft,nxhi_fft,nylo_fft,nyhi_fft,nzlo_fft,nzhi_fft, - nxlo_fft,nxhi_fft,nylo_fft,nyhi_fft,nzlo_fft,nzhi_fft, - 0,0,&tmp,collective_flag); + fft1 = new FFT3d(lmp, world, nx_pppm, ny_pppm, nz_pppm, nxlo_fft, nxhi_fft, nylo_fft, nyhi_fft, + nzlo_fft, nzhi_fft, nxlo_fft, nxhi_fft, nylo_fft, nyhi_fft, nzlo_fft, nzhi_fft, + 0, 0, &tmp, collective_flag); - fft2 = new FFT3d(lmp,world,nx_pppm,ny_pppm,nz_pppm, - nxlo_fft,nxhi_fft,nylo_fft,nyhi_fft,nzlo_fft,nzhi_fft, - nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, - 0,0,&tmp,collective_flag); + fft2 = new FFT3d(lmp, world, nx_pppm, ny_pppm, nz_pppm, nxlo_fft, nxhi_fft, nylo_fft, nyhi_fft, + nzlo_fft, nzhi_fft, nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, 0, 0, + &tmp, collective_flag); - remap = new Remap(lmp,world, - nxlo_in,nxhi_in,nylo_in,nyhi_in,nzlo_in,nzhi_in, - nxlo_fft,nxhi_fft,nylo_fft,nyhi_fft,nzlo_fft,nzhi_fft, - 1,0,0,FFT_PRECISION,collective_flag); + remap = new Remap(lmp, world, nxlo_in, nxhi_in, nylo_in, nyhi_in, nzlo_in, nzhi_in, nxlo_fft, + nxhi_fft, nylo_fft, nyhi_fft, nzlo_fft, nzhi_fft, 1, 0, 0, FFT_PRECISION, + collective_flag); // ELECTRODE specific allocations From 59bdb136dcada2c62d7c8be7ea298eb3fa26ce00 Mon Sep 17 00:00:00 2001 From: Shern Tee Date: Wed, 31 May 2023 14:50:55 +0000 Subject: [PATCH 024/559] added qtotal keyword --- doc/src/fix_electrode.rst | 17 +++- .../PACKAGES/electrode/graph-il/in.nonneut | 31 +++++++ .../PACKAGES/electrode/graph-il/in.nonneut2 | 33 +++++++ src/ELECTRODE/fix_electrode_conp.cpp | 86 ++++++++++++++++--- src/ELECTRODE/fix_electrode_conp.h | 10 ++- src/ELECTRODE/fix_electrode_thermo.cpp | 5 +- 6 files changed, 168 insertions(+), 14 deletions(-) create mode 100644 examples/PACKAGES/electrode/graph-il/in.nonneut create mode 100644 examples/PACKAGES/electrode/graph-il/in.nonneut2 diff --git a/doc/src/fix_electrode.rst b/doc/src/fix_electrode.rst index 3d543f08d2..5685482a71 100644 --- a/doc/src/fix_electrode.rst +++ b/doc/src/fix_electrode.rst @@ -45,7 +45,7 @@ Syntax rng_v = integer used to initialize random number generator * zero or more keyword/value pairs may be appended -* keyword = *algo* or *symm* or *couple* or *etypes* or *ffield* or *write_mat* or *write_inv* or *read_mat* or *read_inv* +* keyword = *algo* or *symm* or *couple* or *etypes* or *ffield* or *write_mat* or *write_inv* or *read_mat* or *read_inv* or *qtotal* .. parsed-literal:: @@ -68,6 +68,8 @@ Syntax filename = file from which to read elastance matrix *read_inv* value = filename filename = file from which to read inverted matrix + *qtotal* value = number or *v_* equal-style variable + add overall potential so that all electrode charges add up to *qtotal* Examples """""""" @@ -249,6 +251,19 @@ be enabled if any electrode particle has the same type as any electrolyte particle (which would be unusual in a typical simulation) and the fix will issue an error in that case. +.. versionchanged:: qtotal + +The keyword *qtotal* causes *fix electrode/conp* and *fix electrode/thermo* +to add an overall potential to all electrodes so that the total charge on +the electrodes is a specified amount (which may be an equal-style variable). +For example, if a user wanted to simulate a solution of excess cations +such that the total electrolyte charge is +2, setting *qtotal -2* would cause +the total electrode charge to be -2, so that the simulation box remains overall +electroneutral. Since *fix electrode/conq* constrains the total charges of +individual electrodes, and since *symm on* constrains the total charge of all +electrodes to be zero, either option is incompatible with the *qtotal* keyword +(even if *qtotal* is set to zero). + Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" diff --git a/examples/PACKAGES/electrode/graph-il/in.nonneut b/examples/PACKAGES/electrode/graph-il/in.nonneut new file mode 100644 index 0000000000..3027faf0cc --- /dev/null +++ b/examples/PACKAGES/electrode/graph-il/in.nonneut @@ -0,0 +1,31 @@ +# electrodes, overall non-neutral +# for graphene-ionic liquid supercapacitor + +boundary p p f # slab calculation +include settings.mod # styles, groups, computes and fixes +kspace_modify slab 3.0 + +# make an extra anion +variable qmodify index 1 +variable vdiff index 1 +# these values can be changed, e.g. ${LAMMPS_EXECUTABLE} -i in.nonneut -var qmodify 0.9 -var vdiff -2 +# fix electrode/* needs equal style variables: +variable qmodify_equal equal v_qmodify +variable vdiff_equal equal v_vdiff + +create_atoms 4 single 16.1 17.2 0 +set atom 3777 charge $(-v_qmodify) + +fix c top electrode/conp v_vdiff_equal 1.979 couple bot 0 etypes on qtotal v_qmodify_equal +# to test electrode/thermo: +# variable vbot equal 0 +# fix c top electrode/thermo v_vdiff_equal 1.979 couple bot v_vbot etypes on qtotal v_qmodify_equal temp 310 100 12309 # symm on + +variable dv equal f_c[1]-f_c[2] + +variable qelec equal c_qbot+c_qtop +compute qall all reduce sum v_q # total system charge + +thermo 50 +thermo_style custom step temp c_ctemp epair etotal c_qbot c_qtop f_c[1] f_c[2] v_dv v_qelec c_qall +run 500 diff --git a/examples/PACKAGES/electrode/graph-il/in.nonneut2 b/examples/PACKAGES/electrode/graph-il/in.nonneut2 new file mode 100644 index 0000000000..c73eee5db3 --- /dev/null +++ b/examples/PACKAGES/electrode/graph-il/in.nonneut2 @@ -0,0 +1,33 @@ +# electrodes, overall non-neutral +# for graphene-ionic liquid supercapacitor + +boundary p p f # slab calculation +include settings.mod # styles, groups, computes and fixes +kspace_modify slab 3.0 + +# make an extra anion +variable qmodify index 1 +variable vdiff index 1 +# these values can be changed, e.g. ${LAMMPS_EXECUTABLE} -i in.nonneut -var qmodify 0.9 -var vdiff -2 +create_atoms 4 single 16.1 17.2 0 +set atom 3777 charge $(-v_qmodify) + +fix c top electrode/conp v_vtop 1.979 couple bot v_vbot etypes on # symm on +# to test electrode/thermo: +#fix c top electrode/thermo v_vtop 1.979 couple bot v_vbot etypes on temp 310 100 12309 symm off +#but it looks like update_psi() is hardwired to impose electroneutrality + +variable csum equal f_c[1][2]+f_c[1][3]+f_c[2][2]+f_c[2][3] +variable cdiff equal 0.5*(f_c[1][2]-f_c[2][3]) +variable qdeficit equal v_qmodify-f_c[1][1]-f_c[2][1]-v_cdiff*v_vdiff +variable vphi equal v_qdeficit/v_csum +variable vtop equal v_vphi+0.5*v_vdiff +variable vbot equal v_vphi-0.5*v_vdiff +variable dv equal v_vtop-v_vbot + +variable qelec equal c_qbot+c_qtop +compute qall all reduce sum v_q # total system charge + +thermo 50 +thermo_style custom step temp c_ctemp epair etotal c_qbot c_qtop f_c[1] f_c[2] v_dv v_qelec c_qall +run 500 diff --git a/src/ELECTRODE/fix_electrode_conp.cpp b/src/ELECTRODE/fix_electrode_conp.cpp index 33632f9099..a7e6cbe922 100644 --- a/src/ELECTRODE/fix_electrode_conp.cpp +++ b/src/ELECTRODE/fix_electrode_conp.cpp @@ -103,20 +103,23 @@ FixElectrodeConp::FixElectrodeConp(LAMMPS *lmp, int narg, char **arg) : mult_time = 0; n_call = n_cg_step = 0; + qtotal = 0.; + qtotal_var_style = VarStyle::UNSET; + // read fix command fixname = std::string(arg[0]); groups = std::vector(1, igroup); group_bits = std::vector(1, groupbit); group_psi_var_names = std::vector(1); group_psi_var_styles = std::vector(1, VarStyle::CONST); - group_psi = std::vector(1); + group_psi_const = std::vector(1); etypes_neighlists = false; if (strstr(arg[3], "v_") == arg[3]) { std::string vname = arg[3]; group_psi_var_names[0] = vname.substr(2); group_psi_var_styles[0] = VarStyle::EQUAL; } else - group_psi[0] = utils::numeric(FLERR, arg[3], false, lmp); + group_psi_const[0] = utils::numeric(FLERR, arg[3], false, lmp); char *eta_str = arg[4]; eta = utils::numeric(FLERR, eta_str, false, lmp); int iarg = 5; @@ -132,12 +135,12 @@ FixElectrodeConp::FixElectrodeConp(LAMMPS *lmp, int narg, char **arg) : std::string vname = arg[iarg]; group_psi_var_names.push_back(vname.substr(2)); group_psi_var_styles.push_back(VarStyle::EQUAL); - group_psi.push_back(0.); + group_psi_const.push_back(0.); } else { std::string null; group_psi_var_names.push_back(null); group_psi_var_styles.push_back(VarStyle::CONST); - group_psi.push_back(utils::numeric(FLERR, arg[iarg], false, lmp)); + group_psi_const.push_back(utils::numeric(FLERR, arg[iarg], false, lmp)); } } else if ((strcmp(arg[iarg], "algo") == 0)) { if (!default_algo) error->one(FLERR, fmt::format("Algorithm can be set once, only")); @@ -195,6 +198,19 @@ FixElectrodeConp::FixElectrodeConp(LAMMPS *lmp, int narg, char **arg) : thermo_temp = force->boltz / force->qe2f * utils::numeric(FLERR, arg[++iarg], false, lmp); thermo_time = utils::numeric(FLERR, arg[++iarg], false, lmp); thermo_init = utils::inumeric(FLERR, arg[++iarg], false, lmp); + } else if ((strcmp(arg[iarg], "qtotal") == 0)) { + if (iarg + 2 > narg) error->all(FLERR, "Need one argument after qtotal keyword"); + if (strcmp(this->style, "electrode/conq") == 0) + error->all(FLERR, "qtotal keyword not available for electrode/conq"); + ++iarg; + if (strstr(arg[iarg], "v_") == arg[iarg]) { + std::string vname = arg[iarg]; + qtotal_var_name = vname.substr(2); + qtotal_var_style = VarStyle::EQUAL; + } else { + qtotal = utils::numeric(FLERR, arg[iarg], false, lmp); + qtotal_var_style = VarStyle::CONST; + } // toggle parameters } else if ((strcmp(arg[iarg], "etypes") == 0)) { etypes_neighlists = utils::logical(FLERR, arg[++iarg], false, lmp); @@ -208,6 +224,12 @@ FixElectrodeConp::FixElectrodeConp(LAMMPS *lmp, int narg, char **arg) : iarg++; } + if (qtotal_var_style != VarStyle::UNSET) { + if (symm) error->all(FLERR, "{} cannot use qtotal keyword with symm on", this->style); + } + + // computatonal potential + group_psi = std::vector(groups.size()); // union of all coupled groups std::string union_group = "conp_group"; std::string group_cmd = union_group + " union"; @@ -225,6 +247,7 @@ FixElectrodeConp::FixElectrodeConp(LAMMPS *lmp, int narg, char **arg) : if (need_elec_vector) elec_vector = new ElectrodeVector(lmp, igroup, igroup, eta, false); assert(groups.size() == group_bits.size()); assert(groups.size() == group_psi.size()); + assert(groups.size() == group_psi_const.size()); assert(groups.size() == group_psi_var_styles.size()); assert(groups.size() == group_psi_var_names.size()); assert(igroup == elyt_vector->igroup); @@ -396,7 +419,8 @@ void FixElectrodeConp::init() for (char *fix_id : integrate_ids) error->warning( FLERR, - "Electrode atoms are integrated by fix {}, but fix electrode is using a matrix method. For " + "Electrode atoms are integrated by fix {}, but fix electrode is using a matrix method. " + "For " "mobile electrodes use the conjugate gradient algorithm without matrix ('algo cg').", fix_id); } @@ -475,6 +499,7 @@ void FixElectrodeConp::setup_post_neighbor() // get equal-style variable ids: group_psi_var_ids = std::vector(num_of_groups, -1); for (int g = 0; g < num_of_groups; g++) { + assert(group_psi_var_styles[g] != VarStyle::UNSET); if (group_psi_var_styles[g] == VarStyle::CONST) continue; const char *var_name = group_psi_var_names[g].c_str(); int var_id = input->variable->find(var_name); @@ -485,6 +510,16 @@ void FixElectrodeConp::setup_post_neighbor() fmt::format("Variable '{}' for fix electrode is not equal-style", var_name)); group_psi_var_ids[g] = var_id; } + if (qtotal_var_style == VarStyle::EQUAL) { + const char *var_name = qtotal_var_name.c_str(); + int var_id = input->variable->find(var_name); + if (var_id < 0) + error->all(FLERR, fmt::format("Variable '{}' for fix electrode does not exist", var_name)); + if (!input->variable->equalstyle(var_id)) + error->all(FLERR, + fmt::format("Variable '{}' for fix electrode is not equal-style", var_name)); + qtotal_var_id = var_id; + } // pair and list setups: @@ -834,6 +869,8 @@ void FixElectrodeConp::update_charges() } MPI_Allreduce(MPI_IN_PLACE, &sb_charges.front(), num_of_groups, MPI_DOUBLE, MPI_SUM, world); update_psi(); // use for equal-style and conq + if (qtotal_var_style != VarStyle::UNSET) + update_psi_qtotal(); // use for qtotal; same for thermo for (int g = 0; g < num_of_groups; g++) for (int j = 0; j < nlocalele; j++) q_local[j] += sd_vectors[g][list_iele[j]] * group_psi[g]; MPI_Barrier(world); @@ -936,12 +973,22 @@ std::vector FixElectrodeConp::gather_ngroup(std::vector x_local) } /* ---------------------------------------------------------------------- - ensure total electrode charge is 0 if symm + ensure total electrode charge is 0 if symm and qtotal if qtotal is used ------------------------------------------------------------------------- */ std::vector FixElectrodeConp::constraint_correction(std::vector x) { - return constraint_projection(x); + if (symm || qtotal_var_style != VarStyle::UNSET) { + if (qtotal_var_style == VarStyle::EQUAL) qtotal = input->variable->compute_equal(qtotal_var_id); + double sum = 0.; + for (double xi : x) sum += xi; + MPI_Allreduce(MPI_IN_PLACE, &sum, 1, MPI_DOUBLE, MPI_SUM, world); + if (qtotal_var_style != VarStyle::UNSET) sum -= qtotal; + sum /= ngroup; + for (double &xi : x) xi -= sum; + return x; + } + return x; } /* ---------------------------------------------------------------------- @@ -950,7 +997,7 @@ std::vector FixElectrodeConp::constraint_correction(std::vector std::vector FixElectrodeConp::constraint_projection(std::vector x) { - if (symm) { + if (symm || qtotal_var_style != VarStyle::UNSET) { double sum = 0.; for (double xi : x) sum += xi; MPI_Allreduce(MPI_IN_PLACE, &sum, 1, MPI_DOUBLE, MPI_SUM, world); @@ -1008,13 +1055,28 @@ std::vector FixElectrodeConp::times_elastance(std::vector x) void FixElectrodeConp::update_psi() { for (int g = 0; g < num_of_groups; g++) { - if (group_psi_var_styles[g] == VarStyle::CONST) continue; - group_psi[g] = input->variable->compute_equal(group_psi_var_ids[g]); + if (group_psi_var_styles[g] == VarStyle::CONST) + group_psi[g] = group_psi_const[g]; + else + group_psi[g] = input->variable->compute_equal(group_psi_var_ids[g]); } } /* ---------------------------------------------------------------------- */ +void FixElectrodeConp::update_psi_qtotal() +{ + if (qtotal_var_style == VarStyle::EQUAL) qtotal = input->variable->compute_equal(qtotal_var_id); + double q_current = 0.; + for (int i = 0; i < num_of_groups; i++) { + q_current += sb_charges[i]; + for (int j = 0; j < num_of_groups; j++) q_current += macro_capacitance[i][j] * group_psi[j]; + } + double add_psi = (qtotal - q_current) / macro_capacitance_sum; + for (int i = 0; i < num_of_groups; i++) group_psi[i] += add_psi; +} +/* ---------------------------------------------------------------------- */ + void FixElectrodeConp::compute_macro_matrices() { assert(algo == Algo::MATRIX_INV); @@ -1070,6 +1132,10 @@ void FixElectrodeConp::compute_macro_matrices() } } } + + macro_capacitance_sum = 0.; + for (int i = 0; i < num_of_groups; i++) + for (int j = 0; j < num_of_groups; j++) macro_capacitance_sum += macro_capacitance[i][j]; } /* ---------------------------------------------------------------------- */ diff --git a/src/ELECTRODE/fix_electrode_conp.h b/src/ELECTRODE/fix_electrode_conp.h index 1289d96281..689a44053c 100644 --- a/src/ELECTRODE/fix_electrode_conp.h +++ b/src/ELECTRODE/fix_electrode_conp.h @@ -71,7 +71,7 @@ class FixElectrodeConp : public Fix { protected: enum class Algo { MATRIX_INV, MATRIX_CG, CG }; - enum class VarStyle { CONST, EQUAL }; + enum class VarStyle { CONST, EQUAL, UNSET }; virtual void update_psi(); virtual void pre_update(){}; virtual void recompute_potential(std::vector, std::vector){}; @@ -80,6 +80,7 @@ class FixElectrodeConp : public Fix { virtual void compute_macro_matrices(); std::vector ele_ele_interaction(const std::vector &); std::vector group_psi; + std::vector group_psi_const; // needed to undo qtotal psi updates std::vector group_bits; std::vector groups; int num_of_groups; @@ -101,6 +102,10 @@ class FixElectrodeConp : public Fix { std::string fixname; // used by electrode/ffield to set up internal efield bool intelflag; inline virtual void intel_pack_buffers() {} + double qtotal; + std::string qtotal_var_name; + int qtotal_var_id; + VarStyle qtotal_var_style; private: std::string output_file_inv, output_file_mat, output_file_vec; @@ -143,6 +148,9 @@ class FixElectrodeConp : public Fix { std::vector gather_ngroup(std::vector); std::vector gather_elevec_local(ElectrodeVector *); void set_charges(std::vector); + // qtotal + double macro_capacitance_sum; + void update_psi_qtotal(); // fix-specific electrode ID storage system: diff --git a/src/ELECTRODE/fix_electrode_thermo.cpp b/src/ELECTRODE/fix_electrode_thermo.cpp index 52c0a3ce4c..3883aa40a2 100644 --- a/src/ELECTRODE/fix_electrode_thermo.cpp +++ b/src/ELECTRODE/fix_electrode_thermo.cpp @@ -47,7 +47,8 @@ FixElectrodeThermo::FixElectrodeThermo(LAMMPS *lmp, int narg, char **arg) : if (thermo_time < SMALL) error->all(FLERR, "Keyword temp not set or zero in electrode/thermo"); thermo_random = new RanMars(lmp, thermo_init); - if (group_psi_var_styles[0] == VarStyle::CONST) delta_psi_0 = group_psi[1] - group_psi[0]; + if (group_psi_var_styles[0] == VarStyle::CONST) + delta_psi_0 = group_psi_const[1] - group_psi_const[0]; } /* ----------------------------------------------------------------------- */ @@ -102,7 +103,7 @@ void FixElectrodeThermo::update_psi() double const delta_psi = group_psi_old[1] - group_psi_old[0]; // target potential difference from input parameters - if (group_psi_var_styles[0] != VarStyle::CONST) { + if (group_psi_var_styles[0] == VarStyle::EQUAL) { delta_psi_0 = input->variable->compute_equal(group_psi_var_ids[1]) - input->variable->compute_equal(group_psi_var_ids[0]); } From 0e07089de689663a06c9754621e17a306e67ba18 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Wed, 7 Jun 2023 22:04:28 -0400 Subject: [PATCH 025/559] create_atoms:overlap_keyword_w_atomic_molecules --- src/create_atoms.cpp | 103 ++++++++++++++++++++++++++++++++----------- src/create_atoms.h | 5 ++- 2 files changed, 81 insertions(+), 27 deletions(-) diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index 32be85e647..146eb23915 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -308,6 +308,7 @@ void CreateAtoms::command(int narg, char **arg) onemol->compute_center(); ranmol = new RanMars(lmp, molseed + comm->me); + memory->create(xmol, onemol->natoms, 3, "create_atoms:xmol"); } if (style == MESH) { @@ -634,6 +635,7 @@ void CreateAtoms::command(int narg, char **arg) delete[] xstr; delete[] ystr; delete[] zstr; + if (mode == MOLECULE) memory->destroy(xmol); // for MOLECULE mode: // create special bond lists for molecular systems, @@ -697,7 +699,8 @@ void CreateAtoms::add_single() if (mode == ATOM) { atom->avec->create_atom(ntype, xone); } else { - add_molecule(xone); + get_xmol(xone); + add_molecule(); } } } @@ -708,15 +711,17 @@ void CreateAtoms::add_single() void CreateAtoms::add_random() { + int incr; double xlo, ylo, zlo, xhi, yhi, zhi, zmid; double delx, dely, delz, distsq, odistsq; double lamda[3], *coord; - double *boxlo, *boxhi; + double *boxlo, *boxhi, *xmolbuf; if (overlapflag) { double odist = overlap; - if (mode == MOLECULE) odist += onemol->molradius; odistsq = odist * odist; + if (mode == MOLECULE) + memory->create(xmolbuf, onemol->natoms*3, "create_atoms:xmolbuf"); } // random number generator, same for all procs @@ -799,25 +804,54 @@ void CreateAtoms::add_random() // check for overlap of new atom/mol with all other atoms // including prior insertions // minimum_image() needed to account for distances across PBC - // new molecule only checks its center pt against others - // odistsq is expanded for mode=MOLECULE to account for molecule size if (overlapflag) { double **x = atom->x; int nlocal = atom->nlocal; int reject = 0; - for (int i = 0; i < nlocal; i++) { - delx = xone[0] - x[i][0]; - dely = xone[1] - x[i][1]; - delz = xone[2] - x[i][2]; - domain->minimum_image(delx, dely, delz); - distsq = delx * delx + dely * dely + delz * delz; - if (distsq < odistsq) { - reject = 1; - break; + if (mode == ATOM) { + for (int i = 0; i < nlocal; i++) { + delx = xone[0] - x[i][0]; + dely = xone[1] - x[i][1]; + delz = xone[2] - x[i][2]; + domain->minimum_image(delx, dely, delz); + distsq = delx * delx + dely * dely + delz * delz; + if (distsq < odistsq) { + reject = 1; + break; + } + } + } else { + int incr; + if (comm->me == 0) { + get_xmol(xone); + incr = 0; + for (int i = 0; i < onemol->natoms; i++) + for (int j = 0; j < 3; j++) + xmolbuf[incr++] = xmol[i][j]; + } + MPI_Bcast(xmolbuf, onemol->natoms*3, MPI_DOUBLE, 0, world); + incr = 0; + for (int i = 0; i < onemol->natoms; i++) + for (int j = 0; j < 3; j++) + xmol[i][j] = xmolbuf[incr++]; + + for (int i = 0; i < nlocal; i++) { + for (int j = 0; j < onemol->natoms; j++) { + delx = xmol[j][0] - x[i][0]; + dely = xmol[j][1] - x[i][1]; + delz = xmol[j][2] - x[i][2]; + domain->minimum_image(delx, dely, delz); + distsq = delx * delx + dely * dely + delz * delz; + if (distsq < odistsq) { + reject = 1; + break; + } + } } } + int reject_any; MPI_Allreduce(&reject, &reject_any, 1, MPI_INT, MPI_MAX, world); if (reject_any) continue; @@ -844,7 +878,11 @@ void CreateAtoms::add_random() if (mode == ATOM) { atom->avec->create_atom(ntype, xone); } else { - add_molecule(xone); + + // atomic coordinates calculated above for overlap check + + if (!overlapflag) get_xmol(xone); + add_molecule(); } } } @@ -857,6 +895,7 @@ void CreateAtoms::add_random() // clean-up delete random; + if (overlapflag && mode == MOLECULE) memory->destroy(xmolbuf); } /* ---------------------------------------------------------------------- @@ -1346,7 +1385,8 @@ void CreateAtoms::loop_lattice(int action) if (mode == ATOM) { atom->avec->create_atom(basistype[m], x); } else { - add_molecule(x); + get_xmol(x); + add_molecule(); } } else if (action == COUNT) { if (nlatt == MAXSMALLINT) nlatt_overflow = 1; @@ -1354,7 +1394,8 @@ void CreateAtoms::loop_lattice(int action) if (mode == ATOM) { atom->avec->create_atom(basistype[m], x); } else { - add_molecule(x); + get_xmol(x); + add_molecule(); } } @@ -1369,7 +1410,7 @@ void CreateAtoms::loop_lattice(int action) add a molecule with its center at center ------------------------------------------------------------------------- */ -void CreateAtoms::add_molecule(double *center) +void CreateAtoms::get_xmol(double *center) { double r[3], rotmat[3][3]; @@ -1392,10 +1433,6 @@ void CreateAtoms::add_molecule(double *center) MathExtra::quat_to_mat(quatone, rotmat); - // create atoms in molecule with atom ID = 0 and mol ID = 0 - // IDs are reset in caller after all molecules created by all procs - // pass add_molecule_atom an offset of 0 since don't know - // max tag of atoms in previous molecules at this point // onemol->quat_external is used by atom->add_moleclue_atom() onemol->quat_external = quatone; @@ -1405,9 +1442,25 @@ void CreateAtoms::add_molecule(double *center) for (int m = 0; m < natoms; m++) { MathExtra::matvec(rotmat, onemol->dx[m], xnew); MathExtra::add3(xnew, center, xnew); - atom->avec->create_atom(ntype + onemol->type[m], xnew); - n = atom->nlocal - 1; - atom->add_molecule_atom(onemol, m, n, 0); + for (int i = 0; i < 3; i++) + xmol[m][i] = xnew[i]; + } +} + +/* ---------------------------------------------------------------------- + add a molecule with atom coordinates from xmol +------------------------------------------------------------------------- */ + +void CreateAtoms::add_molecule() +{ + // create atoms in molecule with atom ID = 0 and mol ID = 0 + // IDs are reset in caller after all molecules created by all procs + // pass add_molecule_atom an offset of 0 since don't know + // max tag of atoms in previous molecules at this point + + for (int m = 0; m < onemol->natoms; m++) { + atom->avec->create_atom(ntype + onemol->type[m], xmol[m]); + atom->add_molecule_atom(onemol, m, atom->nlocal - 1, 0); } } diff --git a/src/create_atoms.h b/src/create_atoms.h index ae6f1b9d33..f839e3f0df 100644 --- a/src/create_atoms.h +++ b/src/create_atoms.h @@ -40,7 +40,7 @@ class CreateAtoms : public Command { bigint nsubset; double subsetfrac; int *basistype; - double xone[3], quatone[4]; + double xone[3], quatone[4], **xmol; double radthresh, radscale, mesh_density; int varflag, vvar, xvar, yvar, zvar; @@ -71,7 +71,8 @@ class CreateAtoms : public Command { int add_quasirandom(const double[3][3], tagint); void add_lattice(); void loop_lattice(int); - void add_molecule(double *); + void get_xmol(double *); + void add_molecule(); int vartest(double *); // evaluate a variable with new atom position }; From 3e2d5098c029a40edc7968167f468bc3c0b9c288 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Wed, 7 Jun 2023 22:07:57 -0400 Subject: [PATCH 026/559] Update create_atoms.rst --- doc/src/create_atoms.rst | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/doc/src/create_atoms.rst b/doc/src/create_atoms.rst index 5d1e7c872c..8748df9def 100644 --- a/doc/src/create_atoms.rst +++ b/doc/src/create_atoms.rst @@ -401,11 +401,9 @@ to. The *overlap* keyword only applies to the *random* style. It prevents newly created particles from being created closer than the specified -*Doverlap* distance from any other particle. When the particles being -created are molecules, the radius of the molecule (from its geometric -center) is added to *Doverlap*. If particles have finite size (see -:doc:`atom_style sphere ` for example) *Doverlap* should -be specified large enough to include the particle size in the +*Doverlap* distance from any other particle. If particles have finite +size (see :doc:`atom_style sphere ` for example) *Doverlap* +should be specified large enough to include the particle size in the non-overlapping criterion. .. note:: From 6de50fbd33a130e8a2ecac07a5bc31ac5467969d Mon Sep 17 00:00:00 2001 From: jtclemm Date: Wed, 14 Jun 2023 13:39:24 -0600 Subject: [PATCH 027/559] Adding iso options to fix deform --- doc/src/fix_deform.rst | 46 ++++++++++++--- src/fix_deform.cpp | 129 ++++++++++++++++++++++++++++++++++++----- src/fix_deform.h | 2 + 3 files changed, 155 insertions(+), 22 deletions(-) diff --git a/doc/src/fix_deform.rst b/doc/src/fix_deform.rst index d46f1204f5..7a17f14fed 100644 --- a/doc/src/fix_deform.rst +++ b/doc/src/fix_deform.rst @@ -20,7 +20,7 @@ Syntax .. parsed-literal:: - parameter = *x* or *y* or *z* or *xy* or *xz* or *yz* + parameter = *x* or *y* or *z* or *xy* or *xz* or *yz* or *iso* *x*, *y*, *z* args = style value(s) style = *final* or *delta* or *scale* or *vel* or *erate* or *trate* or *volume* or *wiggle* or *variable* *final* values = lo hi @@ -71,6 +71,12 @@ Syntax *variable* values = v_name1 v_name2 v_name1 = variable with name1 for tilt change as function of time v_name2 = variable with name2 for change rate as function of time + *iso* = style value + style = *volume* or *pressure* + *volume* value = none = isotropically adjust system to preserve volume of system + *pressure* values = target gain + target = target mean pressure (pressure units) + gain = proportional gain constant (1/(time * pressure) or 1/time units) * zero or more keyword/value pairs may be appended * keyword = *remap* or *flip* or *units* or *couple* or *vol/balance/p* or *max/rate* or *normalize/pressure* @@ -88,12 +94,10 @@ Syntax box = distances are defined in simulation box units *couple* value = *none* or *xyz* or *xy* or *yz* or *xz* couple pressure values of various dimensions - *vol/balance/p* = *yes* or *no* + *vol/balance/p* value = *yes* or *no* Modifies the behavior of the *volume* option to try and balance pressures *max/rate* value = *rate* rate = maximum strain rate for pressure control - *normalize/pressure* value = *yes* or *no* - determine whether pressure deviation is normalized by target pressure Examples """""""" @@ -107,6 +111,7 @@ Examples fix 1 all deform 1 x pressure 2.0 0.1 normalize/pressure yes max/rate 0.001 fix 1 all deform 1 x trate 0.1 y volume z volume vol/balance/p yes fix 1 all deform 1 x trate 0.1 y pressure/mean 0.0 1.0 z pressure/mean 0.0 1.0 + fix 1 all deform 1 x trate 0.1 y trate -0.1 overlay/pressure/mean 1.0 0.1 Description """"""""""" @@ -318,8 +323,8 @@ mid point. The *pressure* style adjusts a dimensions's box length to control that component of the pressure tensor. This option attempts to maintain a -specified target value using a linear controller where the box length L -evolves according to the equation +specified target value using a linear controller where the box length +:math:`L` evolves according to the equation .. parsed-literal:: @@ -343,7 +348,7 @@ option. The *pressure/mean* style is changes a dimension in order to maintain a constant mean pressure defined as the trace of the pressure tensor. -This option is therefore very similar to the *presssure* style with +This option is therefore very similar to the *pressure* style with identical arguments except the current and target pressures refer to the mean trace of the pressure tensor. The same options also apply except for the :ref:`couple ` option. @@ -512,6 +517,25 @@ of the applied strain using the :ref:`max/rate ` option. ---------- +The *iso* parameter provides an additonal control over the x, y, +and z box lengths. This parameter can only be used in combination with +the *x*, *y*, or *z* comamnds: *vel*, *erate*, *trate*, *pressure*, or +*wiggle*. Note that this parameter will change the overall strain rate in +the *x*, *y*, or *z* dimensions. This is the meaning of its styles and values. + +The *volume* style isotropically scales box lengths to maintain a constant +box volume in response to deformation from other parameters. + +The *pressure* style controls the box volume to maintain the mean pressure +of the system. This is accomplished by isotropically scaling all box +lengths :math:`L` by an additional factor of :math:`k (P_t - P_m)` where +:math:`k` is the proportional gain constant, :math:`P_t` is the target +pressure, and :math:`P_m` is the current mean pressure (the trace of the +pressure tensor). This style allows one to control the deviatoric strain +tensor while maintaining a fixed mean pressure. + +---------- + All of the tilt styles change the xy, xz, yz tilt factors during a simulation. In LAMMPS, tilt factors (xy,xz,yz) for triclinic boxes are normally bounded by half the distance of the parallel box length. @@ -652,8 +676,12 @@ described below, which will cap the divergence. .. _deform_max_rate: The *max/rate* keyword sets an upper threshold, *rate*, that limits the -maximum magnitude of the strain rate applied in any dimension. This keyword -only applies to the *pressure* and *pressure/mean* options. +maximum magnitude of the instantaneous strain rate applied in any dimension. +This keyword only applies to the *pressure* and *pressure/mean* options. If +a pressure-controlled rate is used for both *iso* and either *x*, *y*, or +*z*, then this threshold will apply separately to each individual controller +such that the cumulative strain rate on a box dimension may be up to twice +the value of *rate*. .. _deform_couple: diff --git a/src/fix_deform.cpp b/src/fix_deform.cpp index 29c286ed02..e76b34f302 100644 --- a/src/fix_deform.cpp +++ b/src/fix_deform.cpp @@ -65,8 +65,8 @@ irregular(nullptr), set(nullptr) // set defaults - set = new Set[6]; - memset(set,0,6*sizeof(Set)); + set = new Set[7]; + memset(set,0,7*sizeof(Set)); // parse arguments @@ -237,6 +237,25 @@ irregular(nullptr), set(nullptr) error->all(FLERR,"Illegal fix deform pressure gain, must be positive"); iarg += 4; } else error->all(FLERR,"Illegal fix deform command: {}", arg[iarg+1]); + } else if (strcmp(arg[iarg],"iso") == 0) { + index = 6; + if (strcmp(arg[iarg+1],"volume") == 0) { + set[index].style = VOLUME; + iarg += 2; + } else if (strcmp(arg[iarg+1],"pressure") == 0) { + if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix deform pressure", error); + set[index].style = PRESSURE; + if (strstr(arg[iarg+2],"v_") != arg[iarg+2]) { + set[index].ptarget = utils::numeric(FLERR,arg[iarg+2],false,lmp); + } else { + set[index].pstr = utils::strdup(&arg[iarg+2][2]); + set[index].pvar_flag = 1; + } + set[index].pgain = utils::numeric(FLERR,arg[iarg+3],false,lmp); + if (set[index].pgain <= 0.0) + error->all(FLERR,"Illegal fix deform pressure gain, must be positive"); + iarg += 4; + } } else break; } @@ -313,6 +332,12 @@ irregular(nullptr), set(nullptr) if (set[i].style == NONE) dimflag[i] = 0; else dimflag[i] = 1; + if (set[6].style != NONE) { + dimflag[0] = 1; + dimflag[1] = 1; + dimflag[2] = 1; + } + if (dimflag[0]) box_change |= BOX_CHANGE_X; if (dimflag[1]) box_change |= BOX_CHANGE_Y; if (dimflag[2]) box_change |= BOX_CHANGE_Z; @@ -324,7 +349,7 @@ irregular(nullptr), set(nullptr) // b/c shrink wrap will change box-length for (int i = 0; i < 3; i++) - if (set[i].style && (domain->boundary[i][0] >= 2 || domain->boundary[i][1] >= 2)) + if ((set[i].style || set[6].style) && (domain->boundary[i][0] >= 2 || domain->boundary[i][1] >= 2)) error->all(FLERR,"Cannot use fix deform on a shrink-wrapped boundary"); // no tilt deformation on shrink-wrapped 2nd dim @@ -431,7 +456,7 @@ irregular(nullptr), set(nullptr) // set varflag varflag = 0; - for (int i = 0; i < 6; i++) { + for (int i = 0; i < 7; i++) { if (set[i].style == VARIABLE) varflag = 1; if (set[i].pvar_flag) varflag = 1; } @@ -439,7 +464,7 @@ irregular(nullptr), set(nullptr) // set pressure_flag pressure_flag = 0; - for (int i = 0; i < 6; i++) { + for (int i = 0; i < 7; i++) { if (set[i].style == PRESSURE || set[i].style == PMEAN) pressure_flag = 1; if (set[i].coupled_flag) pressure_flag = 1; } @@ -452,6 +477,14 @@ irregular(nullptr), set(nullptr) if (set[i].style == PMEAN) error->all(FLERR, "Cannot use fix deform to assign constant volume and pressure"); + // check conflicts between x,y,z styles and iso + + if (set[6].style) + for (int i = 0; i < 3; i++) { + if (set[i].style == FINAL || set[i].style == DELTA || set[i].style == SCALE || set[i].style == PMEAN || set[i].style == VARIABLE) + error->all(FLERR, "Cannot use fix deform iso parameter with x, y, or z styles other than vel, erate, trate, pressure, and wiggle"); + } + // check pressure used for max rate and normalize error flag if (!pressure_flag && max_h_rate != 0) @@ -470,6 +503,7 @@ irregular(nullptr), set(nullptr) set[3].tilt_initial = domain->yz; set[4].tilt_initial = domain->xz; set[5].tilt_initial = domain->xy; + set[6].vol_initial = domain->xprd * domain->yprd * domain->zprd; // reneighboring only forced if flips can occur due to shape changes @@ -511,7 +545,7 @@ irregular(nullptr), set(nullptr) FixDeform::~FixDeform() { if (set) { - for (int i = 0; i < 6; i++) { + for (int i = 0; i < 7; i++) { delete[] set[i].hstr; delete[] set[i].hratestr; delete[] set[i].pstr; @@ -569,7 +603,7 @@ void FixDeform::init() // check variables for VARIABLE style - for (int i = 0; i < 6; i++) { + for (int i = 0; i < 7; i++) { if (set[i].style != VARIABLE) continue; set[i].hvar = input->variable->find(set[i].hstr); if (set[i].hvar < 0) @@ -585,7 +619,7 @@ void FixDeform::init() // check optional variables for PRESSURE or PMEAN style - for (int i = 0; i < 6; i++) { + for (int i = 0; i < 7; i++) { if (!set[i].pvar_flag) continue; set[i].pvar = input->variable->find(set[i].pstr); if (set[i].pvar < 0) @@ -701,6 +735,8 @@ void FixDeform::init() } } + set[6].vol_start = domain->xprd * domain->yprd * domain->zprd; + // if using tilt TRATE, then initial tilt must be non-zero for (int i = 3; i < 6; i++) @@ -740,6 +776,7 @@ void FixDeform::init() // set domain->h_rate values for use by domain and other fixes/computes // initialize all rates to 0.0 // cannot set here for TRATE,VOLUME,WIGGLE,VARIABLE,PRESSURE since not constant + // if iso style is used, these will also not be constant h_rate = domain->h_rate; h_ratelo = domain->h_ratelo; @@ -867,6 +904,10 @@ void FixDeform::end_of_step() if (volume_flag) set_volume(); + // apply any final isotropic scalings + + if (set[6].style) set_iso(); + // Save pressure/strain rate if required if (pressure_flag) { @@ -983,15 +1024,15 @@ void FixDeform::end_of_step() // reset global and local box to new size/shape // only if deform fix is controlling the dimension - if (set[0].style) { + if (set[0].style || set[6].style) { domain->boxlo[0] = set[0].lo_target; domain->boxhi[0] = set[0].hi_target; } - if (set[1].style) { + if (set[1].style || set[6].style) { domain->boxlo[1] = set[1].lo_target; domain->boxhi[1] = set[1].hi_target; } - if (set[2].style) { + if (set[2].style || set[6].style) { domain->boxlo[2] = set[2].lo_target; domain->boxhi[2] = set[2].hi_target; } @@ -1285,6 +1326,67 @@ void FixDeform::set_volume() } } +/* ---------------------------------------------------------------------- + apply isotropic controls +------------------------------------------------------------------------- */ + +void FixDeform::set_iso() +{ + int i; + double scale, shift; + double v_rate; + + if (set[6].style == VOLUME) { + double v0 = set[6].vol_start; + double v = 1.0; + for (i = 0; i < 3; i++) + v *= (set[i].hi_target - set[i].lo_target); + + scale = std::pow(v0 / v, THIRD); + for (i = 0; i < 3; i++) { + shift = 0.5 * (set[i].hi_target - set[i].lo_target) * scale; + set[i].lo_target = 0.5 * (set[i].lo_start + set[i].hi_start) - shift; + set[i].hi_target = 0.5 * (set[i].lo_start + set[i].hi_start) + shift; + + // Recalculate h_rate + h_rate[i] = (set[i].hi_target - set[i].lo_target) / (domain->boxhi[i] - domain->boxlo[i]) - 1.0; + h_rate[i] /= update->dt; + } + + } else if (set[6].style == PRESSURE) { + + // If variable pressure, calculate current target + if (set[6].pvar_flag) + set[6].ptarget = input->variable->compute_equal(set[6].pvar); + + v_rate = set[6].pgain * (pressure->scalar- set[6].ptarget); + + if (normalize_pressure_flag) { + if (set[6].ptarget == 0) { + if (max_h_rate == 0) { + error->all(FLERR, "Cannot normalize error for zero pressure without defining a max rate"); + } else v_rate = max_h_rate * v_rate / fabs(v_rate); + } else v_rate /= fabs(set[6].ptarget); + } + + if (max_h_rate != 0) + if (fabs(set[6].ptarget) > max_h_rate) + v_rate = max_h_rate * v_rate / fabs(v_rate); + + set[6].cumulative_strain += update->dt * v_rate; + scale = (1.0 + set[6].cumulative_strain); + for (i = 0; i < 3; i++) { + shift = 0.5 * (set[i].hi_target - set[i].lo_target) * scale; + set[i].lo_target = 0.5 * (set[i].lo_start + set[i].hi_start) - shift; + set[i].hi_target = 0.5 * (set[i].lo_start + set[i].hi_start) + shift; + + // Recalculate h_rate + h_rate[i] = (set[i].hi_target - set[i].lo_target) / (domain->boxhi[i] - domain->boxlo[i]) - 1.0; + h_rate[i] /= update->dt; + } + } +} + /* ---------------------------------------------------------------------- write Set data to restart file ------------------------------------------------------------------------- */ @@ -1294,7 +1396,7 @@ void FixDeform::write_restart(FILE *fp) if (comm->me == 0) { int size = 6 * sizeof(Set); fwrite(&size,sizeof(int),1,fp); - fwrite(set,sizeof(Set),6,fp); + fwrite(set,sizeof(Set),7,fp); } } @@ -1306,7 +1408,7 @@ void FixDeform::restart(char *buf) { int samestyle = 1; Set *set_restart = (Set *) buf; - for (int i=0; i<6; ++i) { + for (int i=0; i<7; ++i) { // restore data from initial state set[i].lo_initial = set_restart[i].lo_initial; set[i].hi_initial = set_restart[i].hi_initial; @@ -1315,6 +1417,7 @@ void FixDeform::restart(char *buf) set[i].saved = set_restart[i].saved; set[i].prior_rate = set_restart[i].prior_rate; set[i].prior_pressure = set_restart[i].prior_pressure; + set[i].cumulative_strain = set_restart[i].cumulative_strain; // check if style settings are consistent (should do the whole set?) if (set[i].style != set_restart[i].style) samestyle = 0; diff --git a/src/fix_deform.h b/src/fix_deform.h index eda97f7c90..e8a4766b12 100644 --- a/src/fix_deform.h +++ b/src/fix_deform.h @@ -72,6 +72,7 @@ class FixDeform : public Fix { double vol_initial, vol_start; double ptarget, pgain; double prior_pressure, prior_rate; + double cumulative_strain; int saved; int fixed, dynamic1, dynamic2; char *hstr, *hratestr, *pstr; @@ -85,6 +86,7 @@ class FixDeform : public Fix { void set_strain(); void set_pressure(); void set_volume(); + void set_iso(); void couple(); }; From f75eda4bf4f5d223eaf469a5f42d7b8377c0547b Mon Sep 17 00:00:00 2001 From: jtclemm Date: Wed, 14 Jun 2023 14:16:46 -0600 Subject: [PATCH 028/559] Updating size of set in restart --- src/fix_deform.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fix_deform.cpp b/src/fix_deform.cpp index e76b34f302..34e73b4e10 100644 --- a/src/fix_deform.cpp +++ b/src/fix_deform.cpp @@ -1394,7 +1394,7 @@ void FixDeform::set_iso() void FixDeform::write_restart(FILE *fp) { if (comm->me == 0) { - int size = 6 * sizeof(Set); + int size = 7 * sizeof(Set); fwrite(&size,sizeof(int),1,fp); fwrite(set,sizeof(Set),7,fp); } From 60173c477d59c770e1bbac40e68111a01f28fd67 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Wed, 14 Jun 2023 15:14:19 -0600 Subject: [PATCH 029/559] Creating persistent h_rate variable --- src/fix_deform.cpp | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/src/fix_deform.cpp b/src/fix_deform.cpp index 34e73b4e10..b595901a05 100644 --- a/src/fix_deform.cpp +++ b/src/fix_deform.cpp @@ -47,7 +47,7 @@ enum{NOCOUPLE=0,XYZ,XY,YZ,XZ}; /* ---------------------------------------------------------------------- */ FixDeform::FixDeform(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), -irregular(nullptr), set(nullptr) +irregular(nullptr), set(nullptr), id_temp(nullptr), id_press(nullptr) { if (narg < 4) error->all(FLERR,"Illegal fix deform command"); @@ -538,6 +538,16 @@ irregular(nullptr), set(nullptr) modify->add_compute(fmt::format("{} all pressure {}",id_press, id_temp)); pflag = 1; } + + // initialize all rates to 0.0 in constructor instead of init so values persist + // across run statements and ghosts have correct velocities until the destructor + h_rate = domain->h_rate; + h_ratelo = domain->h_ratelo; + + for (int i = 0; i < 3; i++) + h_rate[i] = h_ratelo[i] = 0.0; + for (int i = 3; i < 6; i++) + h_rate[i] = 0.0; } /* ---------------------------------------------------------------------- */ @@ -774,15 +784,10 @@ void FixDeform::init() } // set domain->h_rate values for use by domain and other fixes/computes - // initialize all rates to 0.0 // cannot set here for TRATE,VOLUME,WIGGLE,VARIABLE,PRESSURE since not constant // if iso style is used, these will also not be constant - h_rate = domain->h_rate; - h_ratelo = domain->h_ratelo; - for (int i = 0; i < 3; i++) { - h_rate[i] = h_ratelo[i] = 0.0; if (set[i].style == FINAL || set[i].style == DELTA || set[i].style == SCALE || set[i].style == VEL || set[i].style == ERATE) { @@ -797,7 +802,6 @@ void FixDeform::init() } for (int i = 3; i < 6; i++) { - h_rate[i] = 0.0; if (set[i].style == FINAL || set[i].style == DELTA || set[i].style == VEL || set[i].style == ERATE) { if (delt != 0.0) @@ -1394,8 +1398,10 @@ void FixDeform::set_iso() void FixDeform::write_restart(FILE *fp) { if (comm->me == 0) { - int size = 7 * sizeof(Set); + int size = 9 * sizeof(double) + 7 * sizeof(Set); fwrite(&size,sizeof(int),1,fp); + fwrite(h_rate,sizeof(double),6,fp); + fwrite(h_ratelo,sizeof(double),3,fp); fwrite(set,sizeof(Set),7,fp); } } @@ -1406,9 +1412,16 @@ void FixDeform::write_restart(FILE *fp) void FixDeform::restart(char *buf) { + int n = 0; + auto list = (double *) buf; + for (int i = 0; i < 6; i++) + h_rate[i] = list[n++]; + for (int i = 0; i < 3; i++) + h_ratelo[i] = list[n++]; + int samestyle = 1; - Set *set_restart = (Set *) buf; - for (int i=0; i<7; ++i) { + Set *set_restart = (Set *) &buf[n * sizeof(double)]; + for (int i = 0; i < 7; ++i) { // restore data from initial state set[i].lo_initial = set_restart[i].lo_initial; set[i].hi_initial = set_restart[i].hi_initial; From 492b0641f2335fbcafec80f4dcc45c9d4d61c76e Mon Sep 17 00:00:00 2001 From: jrgissing Date: Fri, 16 Jun 2023 20:50:22 -0400 Subject: [PATCH 030/559] record element list from pair_coeff --- src/REAXFF/pair_reaxff.cpp | 5 ++++- src/REAXFF/pair_reaxff.h | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/REAXFF/pair_reaxff.cpp b/src/REAXFF/pair_reaxff.cpp index 1867aec81b..99f7510a49 100644 --- a/src/REAXFF/pair_reaxff.cpp +++ b/src/REAXFF/pair_reaxff.cpp @@ -297,14 +297,17 @@ void PairReaxFF::coeff(int nargs, char **args) } int n = atom->ntypes; + eletype.resize(n+1); // pair_coeff element map - for (int i = 3; i < nargs; i++) + for (int i = 3; i < nargs; i++) { + eletype[i-2] = args[i]; for (int j = 0; j < nreax_types; j++) if (utils::lowercase(args[i]) == utils::lowercase(api->system->reax_param.sbp[j].name)) { map[i-2] = j; itmp ++; } + } // error check if (itmp != n) diff --git a/src/REAXFF/pair_reaxff.h b/src/REAXFF/pair_reaxff.h index 926e0060c9..a1c7e1c223 100644 --- a/src/REAXFF/pair_reaxff.h +++ b/src/REAXFF/pair_reaxff.h @@ -54,6 +54,7 @@ class PairReaxFF : public Pair { int fixbond_flag, fixspecies_flag; int **tmpid; double **tmpbo, **tmpr; + std::vector eletype; ReaxFF::API *api; typedef double rvec[3]; From d18d7edad99babd9e3d3ae48e23c93f158532e0e Mon Sep 17 00:00:00 2001 From: jrgissing Date: Fri, 16 Jun 2023 21:23:46 -0400 Subject: [PATCH 031/559] reaxff/species: default elements from pair reaxff --- src/REAXFF/fix_reaxff_species.cpp | 46 ++++++++----------------------- src/REAXFF/fix_reaxff_species.h | 3 +- 2 files changed, 14 insertions(+), 35 deletions(-) diff --git a/src/REAXFF/fix_reaxff_species.cpp b/src/REAXFF/fix_reaxff_species.cpp index 8fa06cafb3..0569abe1a0 100644 --- a/src/REAXFF/fix_reaxff_species.cpp +++ b/src/REAXFF/fix_reaxff_species.cpp @@ -65,7 +65,7 @@ FixReaxFFSpecies::FixReaxFFSpecies(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), Name(nullptr), MolName(nullptr), NMol(nullptr), nd(nullptr), MolType(nullptr), molmap(nullptr), mark(nullptr), Mol2Spec(nullptr), clusterID(nullptr), x0(nullptr), BOCut(nullptr), fp(nullptr), pos(nullptr), fdel(nullptr), delete_Tcount(nullptr), - ele(nullptr), eletype(nullptr), filepos(nullptr), filedel(nullptr) + filepos(nullptr), filedel(nullptr) { if (narg < 7) utils::missing_cmd_args(FLERR, "fix reaxff/species", error); @@ -84,6 +84,7 @@ FixReaxFFSpecies::FixReaxFFSpecies(LAMMPS *lmp, int narg, char **arg) : nvalid = -1; ntypes = atom->ntypes; + eletype.resize(ntypes); nevery = utils::inumeric(FLERR, arg[3], false, lmp); nrepeat = utils::inumeric(FLERR, arg[4], false, lmp); @@ -156,8 +157,7 @@ FixReaxFFSpecies::FixReaxFFSpecies(LAMMPS *lmp, int narg, char **arg) : for (int j = 1; j < np1; j++) BOCut[i][j] = bo_cut; // optional args - eletype = nullptr; - ele = filepos = filedel = nullptr; + filepos = filedel = nullptr; eleflag = posflag = padflag = 0; delflag = specieslistflag = masslimitflag = 0; delete_Nlimit = delete_Nsteps = 0; @@ -191,13 +191,8 @@ FixReaxFFSpecies::FixReaxFFSpecies(LAMMPS *lmp, int narg, char **arg) : if (iarg + ntypes + 1 > narg) utils::missing_cmd_args(FLERR, "fix reaxff/species element", error); - eletype = (char **) malloc(ntypes * sizeof(char *)); - int len; - for (int i = 0; i < ntypes; i++) { - len = strlen(arg[iarg + 1 + i]) + 1; - eletype[i] = (char *) malloc(len * sizeof(char)); - strcpy(eletype[i], arg[iarg + 1 + i]); - } + for (int i = 0; i < ntypes; i++) + eletype[i] = arg[iarg + 1 + i]; eleflag = 1; iarg += ntypes + 1; @@ -285,13 +280,9 @@ FixReaxFFSpecies::FixReaxFFSpecies(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR, "Unknown fix reaxff/species keyword: {}", arg[iarg]); } - if (!eleflag) { - memory->create(ele, ntypes + 1, "reaxff/species:ele"); - ele[0] = 'C'; - if (ntypes > 1) ele[1] = 'H'; - if (ntypes > 2) ele[2] = 'O'; - if (ntypes > 3) ele[3] = 'N'; - } + if (!eleflag) + for (int i = 0; i < ntypes; i++) + eletype[i] = reaxff->eletype[i+1]; if (delflag && specieslistflag && masslimitflag) error->all(FLERR, "Incompatible combination fix reaxff/species command options"); @@ -312,7 +303,6 @@ FixReaxFFSpecies::FixReaxFFSpecies(LAMMPS *lmp, int narg, char **arg) : FixReaxFFSpecies::~FixReaxFFSpecies() { - memory->destroy(ele); memory->destroy(BOCut); memory->destroy(clusterID); memory->destroy(x0); @@ -749,10 +739,7 @@ void FixReaxFFSpecies::WriteFormulas(int Nmole, int Nspec) for (j = 0; j < ntypes; j++) { itemp = MolType[ntypes * i + j]; if (itemp != 0) { - if (eletype) - molname += eletype[j]; - else - molname += ele[j]; + molname += eletype[j]; if (itemp != 1) molname += std::to_string(itemp); } } @@ -857,10 +844,7 @@ void FixReaxFFSpecies::WritePos(int Nmole, int Nspec) fprintf(pos, "%d\t%d\t", m, count); for (n = 0; n < ntypes; n++) { if (Name[n] != 0) { - if (eletype) - fprintf(pos, "%s", eletype[n]); - else - fprintf(pos, "%c", ele[n]); + fprintf(pos, "%s", eletype[n].c_str()); if (Name[n] != 1) fprintf(pos, "%d", Name[n]); } } @@ -969,10 +953,7 @@ void FixReaxFFSpecies::DeleteSpecies(int Nmole, int Nspec) species_str = ""; for (j = 0; j < ntypes; j++) { if (Name[j] != 0) { - if (eletype) - species_str += eletype[j]; - else - species_str += ele[j]; + species_str += eletype[j]; if (Name[j] != 1) species_str += fmt::format("{}", Name[j]); } } @@ -1037,10 +1018,7 @@ void FixReaxFFSpecies::DeleteSpecies(int Nmole, int Nspec) for (j = 0; j < ntypes; j++) { int itemp = MolName[ntypes * m + j]; if (itemp != 0) { - if (eletype) - fprintf(fdel, "%s", eletype[j]); - else - fprintf(fdel, "%c", ele[j]); + fprintf(fdel, "%s", eletype[j].c_str()); if (itemp != 1) fprintf(fdel, "%d", itemp); } } diff --git a/src/REAXFF/fix_reaxff_species.h b/src/REAXFF/fix_reaxff_species.h index f711cdeb11..829ab61cd8 100644 --- a/src/REAXFF/fix_reaxff_species.h +++ b/src/REAXFF/fix_reaxff_species.h @@ -63,7 +63,8 @@ class FixReaxFFSpecies : public Fix { int delete_Nsteps, *delete_Tcount; double massmin, massmax; int singlepos_opened, multipos_opened, del_opened; - char *ele, **eletype, *filepos, *filedel; + char *filepos, *filedel; + std::vector eletype; void Output_ReaxFF_Bonds(bigint, FILE *); AtomCoord chAnchor(AtomCoord, AtomCoord); From 32e4aac9f73d72be28c21a7a3c0007f3ddf8d466 Mon Sep 17 00:00:00 2001 From: jrgissing Date: Fri, 16 Jun 2023 21:34:06 -0400 Subject: [PATCH 032/559] Update fix_reaxff_species.rst --- doc/src/fix_reaxff_species.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/src/fix_reaxff_species.rst b/doc/src/fix_reaxff_species.rst index 6a171ede5e..9c3d1d01fd 100644 --- a/doc/src/fix_reaxff_species.rst +++ b/doc/src/fix_reaxff_species.rst @@ -110,10 +110,10 @@ all types from 1 to :math:`N`. A leading asterisk means all types from The optional keyword *element* can be used to specify the chemical symbol printed for each LAMMPS atom type. The number of symbols must match the number of LAMMPS atom types and each symbol must consist of -1 or 2 alphanumeric characters. Normally, these symbols should be -chosen to match the chemical identity of each LAMMPS atom type, as -specified using the :doc:`reaxff pair_coeff ` command and -the ReaxFF force field file. +1 or 2 alphanumeric characters. By default, these symbols are the same +as the chemical identity of each LAMMPS atom type, as specified by the +:doc:`reaxff pair_coeff ` command and the ReaxFF force +field file. The optional keyword *position* writes center-of-mass positions of each identified molecules to file *filepos* every *posfreq* timesteps. @@ -233,5 +233,5 @@ Default """"""" The default values for bond-order cutoffs are 0.3 for all I-J pairs. -The default element symbols are C, H, O, N. +The default element symbols are taken from the pair_coeff command. Position files are not written by default. From 33d82c30ca146b71ec238eb343ef175a9653de1e Mon Sep 17 00:00:00 2001 From: jrgissing Date: Thu, 22 Jun 2023 18:40:50 -0400 Subject: [PATCH 033/559] fix to allow reaxff/species before pair_coeff --- src/REAXFF/fix_reaxff_species.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/REAXFF/fix_reaxff_species.cpp b/src/REAXFF/fix_reaxff_species.cpp index 0569abe1a0..98c4280eef 100644 --- a/src/REAXFF/fix_reaxff_species.cpp +++ b/src/REAXFF/fix_reaxff_species.cpp @@ -280,10 +280,6 @@ FixReaxFFSpecies::FixReaxFFSpecies(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR, "Unknown fix reaxff/species keyword: {}", arg[iarg]); } - if (!eleflag) - for (int i = 0; i < ntypes; i++) - eletype[i] = reaxff->eletype[i+1]; - if (delflag && specieslistflag && masslimitflag) error->all(FLERR, "Incompatible combination fix reaxff/species command options"); @@ -350,6 +346,12 @@ void FixReaxFFSpecies::setup(int /*vflag*/) ntotal = static_cast(atom->natoms); if (Name == nullptr) memory->create(Name, ntypes, "reaxff/species:Name"); + if (!eleflag) + for (int i = 0; i < ntypes; i++) { + eletype[i] = reaxff->eletype[i+1]; + eleflag = 1; + } + post_integrate(); } From d6532d3550694d3f5ce4a1ae83ff4b57ce1598a6 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Fri, 23 Jun 2023 14:13:32 -0600 Subject: [PATCH 034/559] Adding h_ratelo calculation --- src/fix_deform.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/fix_deform.cpp b/src/fix_deform.cpp index b595901a05..8da904100e 100644 --- a/src/fix_deform.cpp +++ b/src/fix_deform.cpp @@ -1114,7 +1114,8 @@ void FixDeform::set_strain() set[i].hi_target = set[i].hi_start + 0.5 * del; h_rate[i] = input->variable->compute_equal(set[i].hratevar); h_ratelo[i] = -0.5 * h_rate[i]; - } else if (set[i].style != VOLUME) { + } else if (set[i].style == FINAL || set[i].style == DELTA || set[i].style == SCALE || + set[i].style == VEL || set[i].style == ERATE) { set[i].lo_target = set[i].lo_start + delta * (set[i].lo_stop - set[i].lo_start); set[i].hi_target = set[i].hi_start + delta * (set[i].hi_stop - set[i].hi_start); } @@ -1215,6 +1216,7 @@ void FixDeform::set_pressure() if (max_h_rate != 0) if (fabs(set[i].ptarget) > max_h_rate) h_rate[i] = max_h_rate * h_rate[i] / fabs(h_rate[i]); + h_ratelo[i] = -0.5 * h_rate[i]; double offset = 0.5 * (domain->boxhi[i] - domain->boxlo[i]) * (1.0 + update->dt * h_rate[i]); set[i].lo_target = 0.5 * (set[i].lo_start + set[i].hi_start) - offset; @@ -1324,6 +1326,7 @@ void FixDeform::set_volume() } h_rate[i] = (2.0 * shift / (domain->boxhi[i] - domain->boxlo[i]) - 1.0) / update->dt; + h_ratelo[i] = -0.5 * h_rate[i]; set[i].lo_target = 0.5 * (set[i].lo_start + set[i].hi_start) - shift; set[i].hi_target = 0.5 * (set[i].lo_start + set[i].hi_start) + shift; @@ -1355,6 +1358,7 @@ void FixDeform::set_iso() // Recalculate h_rate h_rate[i] = (set[i].hi_target - set[i].lo_target) / (domain->boxhi[i] - domain->boxlo[i]) - 1.0; h_rate[i] /= update->dt; + h_ratelo[i] = -0.5 * h_rate[i]; } } else if (set[6].style == PRESSURE) { @@ -1387,6 +1391,7 @@ void FixDeform::set_iso() // Recalculate h_rate h_rate[i] = (set[i].hi_target - set[i].lo_target) / (domain->boxhi[i] - domain->boxlo[i]) - 1.0; h_rate[i] /= update->dt; + h_ratelo[i] = -0.5 * h_rate[i]; } } } From 6318b09a07d04c5cad74a06d3075eb266dcd8c8f Mon Sep 17 00:00:00 2001 From: jrgissing Date: Tue, 4 Jul 2023 20:29:31 -0400 Subject: [PATCH 035/559] report unique species when duplicate elements previously, duplicate species were reported when there were duplicate elements in the element-to-type mapping. for example, H2 and HH and multiple other H2s and HHs could appear in the 'species' and 'delete species' files --- src/REAXFF/fix_reaxff_species.cpp | 110 ++++++++++++++++++------------ src/REAXFF/fix_reaxff_species.h | 5 +- 2 files changed, 72 insertions(+), 43 deletions(-) diff --git a/src/REAXFF/fix_reaxff_species.cpp b/src/REAXFF/fix_reaxff_species.cpp index 98c4280eef..fade2c97d3 100644 --- a/src/REAXFF/fix_reaxff_species.cpp +++ b/src/REAXFF/fix_reaxff_species.cpp @@ -85,6 +85,8 @@ FixReaxFFSpecies::FixReaxFFSpecies(LAMMPS *lmp, int narg, char **arg) : ntypes = atom->ntypes; eletype.resize(ntypes); + ueletype.resize(ntypes); + ele2uele.resize(ntypes); nevery = utils::inumeric(FLERR, arg[3], false, lmp); nrepeat = utils::inumeric(FLERR, arg[4], false, lmp); @@ -193,7 +195,7 @@ FixReaxFFSpecies::FixReaxFFSpecies(LAMMPS *lmp, int narg, char **arg) : for (int i = 0; i < ntypes; i++) eletype[i] = arg[iarg + 1 + i]; - eleflag = 1; + GetUniqueElements(); iarg += ntypes + 1; // delete species @@ -344,13 +346,13 @@ int FixReaxFFSpecies::setmask() void FixReaxFFSpecies::setup(int /*vflag*/) { ntotal = static_cast(atom->natoms); - if (Name == nullptr) memory->create(Name, ntypes, "reaxff/species:Name"); + if (Name == nullptr) memory->create(Name, nutypes, "reaxff/species:Name"); - if (!eleflag) - for (int i = 0; i < ntypes; i++) { + if (!eleflag) { + for (int i = 0; i < ntypes; i++) eletype[i] = reaxff->eletype[i+1]; - eleflag = 1; - } + GetUniqueElements(); + } post_integrate(); } @@ -640,14 +642,14 @@ void FixReaxFFSpecies::FindSpecies(int Nmole, int &Nspec) memory->destroy(MolName); MolName = nullptr; - memory->create(MolName, Nmole * (ntypes + 1), "reaxff/species:MolName"); + memory->create(MolName, Nmole * (nutypes + 1), "reaxff/species:MolName"); memory->destroy(NMol); NMol = nullptr; memory->create(NMol, Nmole, "reaxff/species:NMol"); for (m = 0; m < Nmole; m++) NMol[m] = 1; - memory->create(Nameall, ntypes, "reaxff/species:Nameall"); + memory->create(Nameall, nutypes, "reaxff/species:Nameall"); memory->create(NMolall, Nmole, "reaxff/species:NMolall"); memory->destroy(Mol2Spec); @@ -656,12 +658,12 @@ void FixReaxFFSpecies::FindSpecies(int Nmole, int &Nspec) for (m = 0; m < Nmole; m++) Mol2Spec[m] = -1; for (m = 1, Nspec = 0; m <= Nmole; m++) { - for (n = 0; n < ntypes; n++) Name[n] = 0; + for (n = 0; n < nutypes; n++) Name[n] = 0; for (n = 0, flag_mol = 0; n < nlocal; n++) { if (!(mask[n] & groupbit)) continue; cid = nint(clusterID[n]); if (cid == m) { - itype = atom->type[n] - 1; + itype = ele2uele[atom->type[n] - 1]; Name[itype]++; flag_mol = 1; } @@ -669,15 +671,15 @@ void FixReaxFFSpecies::FindSpecies(int Nmole, int &Nspec) MPI_Allreduce(&flag_mol, &flag_tmp, 1, MPI_INT, MPI_MAX, world); flag_mol = flag_tmp; - MPI_Allreduce(Name, Nameall, ntypes, MPI_INT, MPI_SUM, world); - for (n = 0; n < ntypes; n++) Name[n] = Nameall[n]; + MPI_Allreduce(Name, Nameall, nutypes, MPI_INT, MPI_SUM, world); + for (n = 0; n < nutypes; n++) Name[n] = Nameall[n]; if (flag_mol == 1) { flag_identity = 1; for (k = 0; k < Nspec; k++) { flag_spec = 0; - for (l = 0; l < ntypes; l++) - if (MolName[ntypes * k + l] != Name[l]) flag_spec = 1; + for (l = 0; l < nutypes; l++) + if (MolName[nutypes * k + l] != Name[l]) flag_spec = 1; if (flag_spec == 0) { NMol[k]++; Mol2Spec[m - 1] = k; @@ -685,7 +687,7 @@ void FixReaxFFSpecies::FindSpecies(int Nmole, int &Nspec) flag_identity *= flag_spec; } if (Nspec == 0 || flag_identity == 1) { - for (l = 0; l < ntypes; l++) MolName[ntypes * Nspec + l] = Name[l]; + for (l = 0; l < nutypes; l++) MolName[nutypes * Nspec + l] = Name[l]; Mol2Spec[m - 1] = Nspec; Nspec++; } @@ -700,24 +702,24 @@ void FixReaxFFSpecies::FindSpecies(int Nmole, int &Nspec) memory->destroy(MolType); MolType = nullptr; - memory->create(MolType, Nspec * (ntypes + 2), "reaxff/species:MolType"); + memory->create(MolType, Nspec * (nutypes + 2), "reaxff/species:MolType"); } /* ---------------------------------------------------------------------- */ -int FixReaxFFSpecies::CheckExistence(int id, int ntypes) +int FixReaxFFSpecies::CheckExistence(int id, int nutypes) { int i, j, molid, flag; for (i = 0; i < Nmoltype; i++) { flag = 0; - for (j = 0; j < ntypes; j++) { - molid = MolType[ntypes * i + j]; - if (molid != MolName[ntypes * id + j]) flag = 1; + for (j = 0; j < nutypes; j++) { + molid = MolType[nutypes * i + j]; + if (molid != MolName[nutypes * id + j]) flag = 1; } if (flag == 0) return i; } - for (i = 0; i < ntypes; i++) MolType[ntypes * Nmoltype + i] = MolName[ntypes * id + i]; + for (i = 0; i < nutypes; i++) MolType[nutypes * Nmoltype + i] = MolName[nutypes * id + i]; Nmoltype++; return Nmoltype - 1; @@ -725,6 +727,30 @@ int FixReaxFFSpecies::CheckExistence(int id, int ntypes) /* ---------------------------------------------------------------------- */ +void FixReaxFFSpecies::GetUniqueElements() +{ + // count unique 'element' labels + // map user input to unique list + + nutypes = 0; + int skipflag; + for (int i = 0; i < ntypes; i++) { + skipflag = 0; + for (int j = 0; j < nutypes; j++) + if (eletype[i] == ueletype[j]) { + ele2uele[i] = j; + skipflag = 1; + break; + } + if (skipflag) continue; + ele2uele[i] = nutypes; + ueletype[nutypes++] = eletype[i]; + } + eleflag = 1; +} + +/* ---------------------------------------------------------------------- */ + void FixReaxFFSpecies::WriteFormulas(int Nmole, int Nspec) { int i, j, itemp; @@ -734,14 +760,14 @@ void FixReaxFFSpecies::WriteFormulas(int Nmole, int Nspec) Nmoltype = 0; - for (i = 0; i < Nspec; i++) nd[i] = CheckExistence(i, ntypes); + for (i = 0; i < Nspec; i++) nd[i] = CheckExistence(i, nutypes); for (i = 0; i < Nmoltype; i++) { std::string molname; - for (j = 0; j < ntypes; j++) { - itemp = MolType[ntypes * i + j]; + for (j = 0; j < nutypes; j++) { + itemp = MolType[nutypes * i + j]; if (itemp != 0) { - molname += eletype[j]; + molname += ueletype[j]; if (itemp != 1) molname += std::to_string(itemp); } } @@ -799,20 +825,20 @@ void FixReaxFFSpecies::WritePos(int Nmole, int Nspec) } Nameall = nullptr; - memory->create(Nameall, ntypes, "reaxff/species:Nameall"); + memory->create(Nameall, nutypes, "reaxff/species:Nameall"); for (m = 1; m <= Nmole; m++) { count = 0; avq = 0.0; for (n = 0; n < 3; n++) avx[n] = 0.0; - for (n = 0; n < ntypes; n++) Name[n] = 0; + for (n = 0; n < nutypes; n++) Name[n] = 0; for (i = 0; i < nlocal; i++) { if (!(mask[i] & groupbit)) continue; cid = nint(clusterID[i]); if (cid == m) { - itype = atom->type[i] - 1; + itype = ele2uele[atom->type[i] - 1]; Name[itype]++; count++; avq += spec_atom[i][0]; @@ -839,14 +865,14 @@ void FixReaxFFSpecies::WritePos(int Nmole, int Nspec) MPI_Reduce(&count, &count_tmp, 1, MPI_INT, MPI_SUM, 0, world); count = count_tmp; - MPI_Reduce(Name, Nameall, ntypes, MPI_INT, MPI_SUM, 0, world); - for (n = 0; n < ntypes; n++) Name[n] = Nameall[n]; + MPI_Reduce(Name, Nameall, nutypes, MPI_INT, MPI_SUM, 0, world); + for (n = 0; n < nutypes; n++) Name[n] = Nameall[n]; if (comm->me == 0) { fprintf(pos, "%d\t%d\t", m, count); - for (n = 0; n < ntypes; n++) { + for (n = 0; n < nutypes; n++) { if (Name[n] != 0) { - fprintf(pos, "%s", eletype[n].c_str()); + fprintf(pos, "%s", ueletype[n].c_str()); if (Name[n] != 1) fprintf(pos, "%d", Name[n]); } } @@ -898,7 +924,7 @@ void FixReaxFFSpecies::DeleteSpecies(int Nmole, int Nspec) for (i = 0; i < nlocal; i++) mark[i] = 0; Nameall = nullptr; - memory->create(Nameall, ntypes, "reaxff/species:Nameall"); + memory->create(Nameall, nutypes, "reaxff/species:Nameall"); int ndelcomm; if (masslimitflag) @@ -930,13 +956,13 @@ void FixReaxFFSpecies::DeleteSpecies(int Nmole, int Nspec) if (this_delete_Tcount == headroom) break; m = molrange[mm]; localmass = totalmass = count = nmarklist = 0; - for (n = 0; n < ntypes; n++) Name[n] = 0; + for (n = 0; n < nutypes; n++) Name[n] = 0; for (i = 0; i < nlocal; i++) { if (!(mask[i] & groupbit)) continue; cid = nint(clusterID[i]); if (cid == m) { - itype = atom->type[i] - 1; + itype = ele2uele[atom->type[i] - 1]; Name[itype]++; count++; marklist[nmarklist++] = i; @@ -947,15 +973,15 @@ void FixReaxFFSpecies::DeleteSpecies(int Nmole, int Nspec) MPI_Allreduce(&count, &count_tmp, 1, MPI_INT, MPI_SUM, world); count = count_tmp; - MPI_Allreduce(Name, Nameall, ntypes, MPI_INT, MPI_SUM, world); - for (n = 0; n < ntypes; n++) Name[n] = Nameall[n]; + MPI_Allreduce(Name, Nameall, nutypes, MPI_INT, MPI_SUM, world); + for (n = 0; n < nutypes; n++) Name[n] = Nameall[n]; MPI_Allreduce(&localmass, &totalmass, 1, MPI_DOUBLE, MPI_SUM, world); species_str = ""; - for (j = 0; j < ntypes; j++) { + for (j = 0; j < nutypes; j++) { if (Name[j] != 0) { - species_str += eletype[j]; + species_str += ueletype[j]; if (Name[j] != 1) species_str += fmt::format("{}", Name[j]); } } @@ -1017,10 +1043,10 @@ void FixReaxFFSpecies::DeleteSpecies(int Nmole, int Nspec) printflag = 1; } fprintf(fdel, " %g ", deletecount[m]); - for (j = 0; j < ntypes; j++) { - int itemp = MolName[ntypes * m + j]; + for (j = 0; j < nutypes; j++) { + int itemp = MolName[nutypes * m + j]; if (itemp != 0) { - fprintf(fdel, "%s", eletype[j].c_str()); + fprintf(fdel, "%s", ueletype[j].c_str()); if (itemp != 1) fprintf(fdel, "%d", itemp); } } diff --git a/src/REAXFF/fix_reaxff_species.h b/src/REAXFF/fix_reaxff_species.h index 829ab61cd8..91cdad8246 100644 --- a/src/REAXFF/fix_reaxff_species.h +++ b/src/REAXFF/fix_reaxff_species.h @@ -44,7 +44,7 @@ class FixReaxFFSpecies : public Fix { double compute_vector(int) override; protected: - int nmax, nlocal, ntypes, ntotal; + int nmax, nlocal, ntypes, nutypes, ntotal; int nrepeat, nfreq, posfreq, compressed, ndelspec; int Nmoltype, vector_nmole, vector_nspec; int *Name, *MolName, *NMol, *nd, *MolType, *molmap, *mark; @@ -64,7 +64,9 @@ class FixReaxFFSpecies : public Fix { double massmin, massmax; int singlepos_opened, multipos_opened, del_opened; char *filepos, *filedel; + std::vector ele2uele; std::vector eletype; + std::vector ueletype; void Output_ReaxFF_Bonds(bigint, FILE *); AtomCoord chAnchor(AtomCoord, AtomCoord); @@ -74,6 +76,7 @@ class FixReaxFFSpecies : public Fix { void WriteFormulas(int, int); void DeleteSpecies(int, int); int CheckExistence(int, int); + void GetUniqueElements(); int nint(const double &); int pack_forward_comm(int, int *, double *, int, int *) override; From 4eba3791f3b201e7c9c3f07fcf84955b3031be53 Mon Sep 17 00:00:00 2001 From: jrgissing Date: Sun, 9 Jul 2023 15:30:56 -0400 Subject: [PATCH 036/559] enforce order for printing CHON --- src/REAXFF/fix_reaxff_species.cpp | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/src/REAXFF/fix_reaxff_species.cpp b/src/REAXFF/fix_reaxff_species.cpp index fade2c97d3..2c0775b9d9 100644 --- a/src/REAXFF/fix_reaxff_species.cpp +++ b/src/REAXFF/fix_reaxff_species.cpp @@ -729,8 +729,9 @@ int FixReaxFFSpecies::CheckExistence(int id, int nutypes) void FixReaxFFSpecies::GetUniqueElements() { - // count unique 'element' labels - // map user input to unique list + eleflag = 1; + + // get unique 'element' labels nutypes = 0; int skipflag; @@ -738,15 +739,34 @@ void FixReaxFFSpecies::GetUniqueElements() skipflag = 0; for (int j = 0; j < nutypes; j++) if (eletype[i] == ueletype[j]) { - ele2uele[i] = j; skipflag = 1; break; } if (skipflag) continue; - ele2uele[i] = nutypes; ueletype[nutypes++] = eletype[i]; } - eleflag = 1; + + // reorder CHON, if necessary + + int incr = 0; + std::vector CHON = {"C", "H", "O", "N"}; + for (auto it = CHON.begin(); it != CHON.end(); ++it) + for (int j = incr; j < nutypes; j++) { + if (ueletype[j] == *it) { + ueletype.erase(ueletype.begin() + j); + ueletype.insert(ueletype.begin() + incr++, *it); + break; + } + } + + // map user input to unique list + + for (int i = 0; i < ntypes; i++) + for (int j = 0; j < nutypes; j++) + if (eletype[i] == ueletype[j]) { + ele2uele[i] = j; + break; + } } /* ---------------------------------------------------------------------- */ From 2ef326273d703eeee71cbb894a451810ea3055db Mon Sep 17 00:00:00 2001 From: jtclemm Date: Sat, 15 Jul 2023 16:09:53 -0600 Subject: [PATCH 037/559] Fixing bug in max rate threshold --- src/fix_deform.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/fix_deform.cpp b/src/fix_deform.cpp index 8da904100e..ff6caf5a1d 100644 --- a/src/fix_deform.cpp +++ b/src/fix_deform.cpp @@ -1214,8 +1214,9 @@ void FixDeform::set_pressure() } if (max_h_rate != 0) - if (fabs(set[i].ptarget) > max_h_rate) + if (fabs(h_rate[i]) > max_h_rate) h_rate[i] = max_h_rate * h_rate[i] / fabs(h_rate[i]); + h_ratelo[i] = -0.5 * h_rate[i]; double offset = 0.5 * (domain->boxhi[i] - domain->boxlo[i]) * (1.0 + update->dt * h_rate[i]); @@ -1378,7 +1379,7 @@ void FixDeform::set_iso() } if (max_h_rate != 0) - if (fabs(set[6].ptarget) > max_h_rate) + if (fabs(v_rate) > max_h_rate) v_rate = max_h_rate * v_rate / fabs(v_rate); set[6].cumulative_strain += update->dt * v_rate; From ec65fc48adbe1d2edb40db35e1ae6f85f7b5f7fb Mon Sep 17 00:00:00 2001 From: jtclemm Date: Tue, 18 Jul 2023 09:25:22 -0600 Subject: [PATCH 038/559] Cleaning up files, fixing bug in berendsen --- doc/src/fix_deform.rst | 10 ++++++---- src/fix_deform.cpp | 35 +++++++++++++++++------------------ src/fix_press_berendsen.cpp | 2 +- 3 files changed, 24 insertions(+), 23 deletions(-) diff --git a/doc/src/fix_deform.rst b/doc/src/fix_deform.rst index 7a17f14fed..a4d449850e 100644 --- a/doc/src/fix_deform.rst +++ b/doc/src/fix_deform.rst @@ -98,6 +98,8 @@ Syntax Modifies the behavior of the *volume* option to try and balance pressures *max/rate* value = *rate* rate = maximum strain rate for pressure control + *normalize/pressure* value = *yes* or *no* + Modifies pressure controls such that the deviation in pressure is normalized by the target pressure Examples """""""" @@ -111,7 +113,6 @@ Examples fix 1 all deform 1 x pressure 2.0 0.1 normalize/pressure yes max/rate 0.001 fix 1 all deform 1 x trate 0.1 y volume z volume vol/balance/p yes fix 1 all deform 1 x trate 0.1 y pressure/mean 0.0 1.0 z pressure/mean 0.0 1.0 - fix 1 all deform 1 x trate 0.1 y trate -0.1 overlay/pressure/mean 1.0 0.1 Description """"""""""" @@ -346,12 +347,13 @@ applied strain using the :ref:`max/rate ` option and couple pressures in different dimensions using the :ref:`couple ` option. -The *pressure/mean* style is changes a dimension in order to maintain +The *pressure/mean* style changes a dimension's box length to maintain a constant mean pressure defined as the trace of the pressure tensor. This option is therefore very similar to the *pressure* style with identical arguments except the current and target pressures refer to the -mean trace of the pressure tensor. The same options also apply except -for the :ref:`couple ` option. +mean trace of the pressure tensor. All options for the *pressure* style +also apply to the *pressure/mean* style except for the +:ref:`couple ` option. ---------- diff --git a/src/fix_deform.cpp b/src/fix_deform.cpp index ff6caf5a1d..79f9b3a5ba 100644 --- a/src/fix_deform.cpp +++ b/src/fix_deform.cpp @@ -24,6 +24,7 @@ #include "domain.h" #include "error.h" #include "force.h" +#include "group.h" #include "input.h" #include "irregular.h" #include "kspace.h" @@ -1522,31 +1523,31 @@ double FixDeform::memory_usage() int FixDeform::modify_param(int narg, char **arg) { - if (!pressure_flag) error->all(FLERR,"Cannot modify fix deform without a pressure control"); if (strcmp(arg[0],"temp") == 0) { - if (narg < 2) utils::missing_cmd_args(FLERR, "fix_modify deform", error); + if (narg < 2) error->all(FLERR,"Illegal fix_modify command"); if (tflag) { modify->delete_compute(id_temp); tflag = 0; } - delete [] id_temp; + delete[] id_temp; id_temp = utils::strdup(arg[1]); - int icompute = modify->find_compute(arg[1]); - if (icompute < 0) error->all(FLERR,"Could not find fix_modify temperature ID"); - temperature = modify->compute[icompute]; + temperature = modify->get_compute_by_id(arg[1]); + if (!temperature) + error->all(FLERR,"Could not find fix_modify temperature compute ID: ", arg[1]); if (temperature->tempflag == 0) - error->all(FLERR,"Fix_modify temperature ID does not compute temperature"); + error->all(FLERR,"Fix_modify temperature compute {} does not compute temperature", arg[1]); if (temperature->igroup != 0 && comm->me == 0) - error->warning(FLERR,"Temperature for deform is not for group all"); + error->warning(FLERR,"Temperature compute {} for fix {} is not for group all: {}", + arg[1], style, group->names[temperature->igroup]); // reset id_temp of pressure to new temperature ID - icompute = modify->find_compute(id_press); - if (icompute < 0) - error->all(FLERR,"Pressure ID for fix deform does not exist"); - modify->compute[icompute]->reset_extra_compute_fix(id_temp); + auto icompute = modify->get_compute_by_id(id_press); + if (!icompute) + error->all(FLERR,"Pressure compute ID {} for fix {} does not exist", id_press, style); + icompute->reset_extra_compute_fix(id_temp); return 2; @@ -1556,15 +1557,13 @@ int FixDeform::modify_param(int narg, char **arg) modify->delete_compute(id_press); pflag = 0; } - delete [] id_press; + delete[] id_press; id_press = utils::strdup(arg[1]); - int icompute = modify->find_compute(arg[1]); - if (icompute < 0) error->all(FLERR,"Could not find fix_modify pressure ID"); - pressure = modify->compute[icompute]; - + pressure = modify->get_compute_by_id(arg[1]); + if (!pressure) error->all(FLERR,"Could not find fix_modify pressure compute ID: {}", arg[1]); if (pressure->pressflag == 0) - error->all(FLERR,"Fix_modify pressure ID does not compute pressure"); + error->all(FLERR,"Fix_modify pressure compute {} does not compute pressure", arg[1]); return 2; } diff --git a/src/fix_press_berendsen.cpp b/src/fix_press_berendsen.cpp index 67802654ba..ee9a879616 100644 --- a/src/fix_press_berendsen.cpp +++ b/src/fix_press_berendsen.cpp @@ -491,7 +491,7 @@ int FixPressBerendsen::modify_param(int narg, char **arg) id_press = utils::strdup(arg[1]); pressure = modify->get_compute_by_id(arg[1]); - if (pressure) error->all(FLERR,"Could not find fix_modify pressure compute ID: {}", arg[1]); + if (!pressure) error->all(FLERR,"Could not find fix_modify pressure compute ID: {}", arg[1]); if (pressure->pressflag == 0) error->all(FLERR,"Fix_modify pressure compute {} does not compute pressure", arg[1]); return 2; From e5bcbd4213ceaad5297cea609a70b26c7c31ee90 Mon Sep 17 00:00:00 2001 From: Ludwig Ahrens Date: Wed, 2 Aug 2023 13:03:45 +0200 Subject: [PATCH 039/559] Bugfix electrode/conq after changes for qtotal --- src/ELECTRODE/fix_electrode_conq.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ELECTRODE/fix_electrode_conq.cpp b/src/ELECTRODE/fix_electrode_conq.cpp index 0d3d1d2aaf..a6baa1e122 100644 --- a/src/ELECTRODE/fix_electrode_conq.cpp +++ b/src/ELECTRODE/fix_electrode_conq.cpp @@ -30,7 +30,7 @@ FixElectrodeConq::FixElectrodeConq(LAMMPS *lmp, int narg, char **arg) : FixElectrodeConp(lmp, narg, arg) { // copy const-style values across because update_psi will change group_psi - group_q = group_psi; + group_q = group_psi_const; if (symm) { if (num_of_groups == 1) From db72d4b73a0e30285065c5de0d1bf26081a333f7 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 31 Aug 2023 14:34:37 -0600 Subject: [PATCH 040/559] add general tri options to read and write data commands and Domain class --- src/atom.cpp | 29 +++++++- src/atom.h | 3 +- src/domain.cpp | 181 ++++++++++++++++++++++++++++++++++++++++++++- src/domain.h | 32 +++++--- src/math_extra.h | 16 ++++ src/read_data.cpp | 171 +++++++++++++++++++++++++++++++----------- src/read_data.h | 7 +- src/write_data.cpp | 59 ++++++++++++--- src/write_data.h | 1 + 9 files changed, 426 insertions(+), 73 deletions(-) diff --git a/src/atom.cpp b/src/atom.cpp index c4521a244e..0249547253 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -1041,7 +1041,8 @@ void Atom::deallocate_topology() ------------------------------------------------------------------------- */ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, - int type_offset, int shiftflag, double *shift, + int type_offset, int triclinic_general, + int shiftflag, double *shift, int labelflag, int *ilabel) { int xptr,iptr; @@ -1053,6 +1054,7 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, auto location = "Atoms section of data file"; // use the first line to detect and validate the number of words/tokens per line + next = strchr(buf,'\n'); if (!next) error->all(FLERR, "Missing data in {}", location); *next = '\0'; @@ -1069,6 +1071,7 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, error->all(FLERR,"Incorrect format in {}: {}", location, utils::trim(buf)); *next = '\n'; + // set bounds for my proc // if periodic and I am lo/hi proc, adjust bounds by EPSILON // ensures all data atoms will be owned even with round-off @@ -1143,11 +1146,19 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, *next = '\0'; auto values = Tokenizer(buf).as_vector(); int nvalues = values.size(); - if ((nvalues == 0) || (utils::strmatch(values[0],"^#.*"))) { - // skip over empty or comment lines + + // skip comment lines + + if ((nvalues == 0) || (utils::strmatch(values[0],"^#.*"))) { + + // check that line has correct # of words + } else if ((nvalues < nwords) || ((nvalues > nwords) && (!utils::strmatch(values[nwords],"^#")))) { error->all(FLERR, "Incorrect format in {}: {}", location, utils::trim(buf)); + + // extract the atom coords and image flags (if they exist) + } else { int imx = 0, imy = 0, imz = 0; if (imageflag) { @@ -1167,13 +1178,25 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, xdata[0] = utils::numeric(FLERR,values[xptr],false,lmp); xdata[1] = utils::numeric(FLERR,values[xptr+1],false,lmp); xdata[2] = utils::numeric(FLERR,values[xptr+2],false,lmp); + + // convert atom coords from general triclinic to restricted triclinic + + if (triclinic_general) domain->general_to_restricted(xdata); + + // apply shift if requested by read_data command + if (shiftflag) { xdata[0] += shift[0]; xdata[1] += shift[1]; xdata[2] += shift[2]; } + // map atom into simulation box for periodic dimensions + domain->remap(xdata,imagedata); + + // determine if this proc owns the atom + if (triclinic) { domain->x2lamda(xdata,lamda); coord = lamda; diff --git a/src/atom.h b/src/atom.h index 548168ac59..cf5fa10814 100644 --- a/src/atom.h +++ b/src/atom.h @@ -328,7 +328,8 @@ class Atom : protected Pointers { void deallocate_topology(); - void data_atoms(int, char *, tagint, tagint, int, int, double *, int, int *); + void data_atoms(int, char *, tagint, tagint, int, int, + int, double *, int, int *); void data_vels(int, char *, tagint); void data_bonds(int, char *, int *, tagint, int, int, int *); void data_angles(int, char *, int *, tagint, int, int, int *); diff --git a/src/domain.cpp b/src/domain.cpp index 3627af26cf..6523bfc8c7 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -28,6 +28,7 @@ #include "force.h" #include "kspace.h" #include "lattice.h" +#include "math_extra.h" #include "memory.h" #include "modify.h" #include "molecule.h" @@ -41,6 +42,7 @@ #include using namespace LAMMPS_NS; +using namespace MathExtra; #define BIG 1.0e20 #define SMALL 1.0e-4 @@ -81,7 +83,7 @@ Domain::Domain(LAMMPS *lmp) : Pointers(lmp) minylo = minyhi = 0.0; minzlo = minzhi = 0.0; - triclinic = 0; + triclinic = triclinic_general = 0; boxlo[0] = boxlo[1] = boxlo[2] = -0.5; boxhi[0] = boxhi[1] = boxhi[2] = 0.5; @@ -516,6 +518,180 @@ void Domain::reset_box() } } +/* ---------------------------------------------------------------------- + define and store a general triclinic simulation box + 3 edge vectors of box = avec/bvec/cvec caller + origin of edge vectors = origin_caller = lower left corner of box + create mapping to restricted triclinic box + set boxlo[3], boxhi[3] and 3 tilt factors + create rotation matrices for general <--> restricted transformations +------------------------------------------------------------------------- */ + +void Domain::set_general_triclinic(double *avec_caller, double *bvec_caller, + double *cvec_caller, double *origin_caller) +{ + if (triclinic || triclinic_general) + error->all(FLERR,"General triclinic box edge vectors are already set"); + + triclinic = triclinic_general = 1; + + avec[0] = avec_caller[0]; + avec[1] = avec_caller[1]; + avec[2] = avec_caller[2]; + + bvec[0] = bvec_caller[0]; + bvec[1] = bvec_caller[1]; + bvec[2] = bvec_caller[2]; + + cvec[0] = cvec_caller[0]; + cvec[1] = cvec_caller[1]; + cvec[2] = cvec_caller[2]; + + tri_origin[0] = origin_caller[0]; + tri_origin[1] = origin_caller[1]; + tri_origin[2] = origin_caller[2]; + + // error check for co-planar A,B,C + + double abcross[3]; + MathExtra::cross3(avec,bvec,abcross); + double dot = MathExtra::dot3(abcross,cvec); + if (dot == 0.0) + error->all(FLERR,"General triclinic box edge vectors are co-planar"); + + // quat1 = convert A into A' along x-axis + // rot1 = unit vector to rotate A around + // theta1 = angle of rotation calculated from + // A dot xunit = Ax = |A| cos(theta1) + + double rot1[3],quat1[4]; + double xaxis[3] = {1.0, 0.0, 0.0}; + + double avec_len = MathExtra::len3(avec); + MathExtra::cross3(avec,xaxis,rot1); + MathExtra::norm3(rot1); + double theta1 = acos(avec[0]/avec_len); + MathExtra::axisangle_to_quat(rot1,theta1,quat1); + + // rotmat1 = rotation matrix associated with quat1 + + double rotmat1[3][3]; + MathExtra::quat_to_mat(quat1,rotmat1); + + // B1 = rotation of B by quat1 rotation matrix + + double bvec1[3]; + + MathExtra::matvec(rotmat1,bvec,bvec1); + + // quat2 = rotation to convert B1 into B' in xy plane + // Byz1 = projection of B1 into yz plane + // rot2 = unit vector to rotate B1 around = -x axis + // theta2 = angle of rotation calculated from + // Byz1 dot yunit = B1y = |Byz1} cos(theta2) + + double byzvec1[3],quat2[4]; + MathExtra::copy3(bvec1,byzvec1); + byzvec1[0] = 0.0; + double byzvec1_len = MathExtra::len3(byzvec1); + double rot2[3] = {-1.0, 0.0, 0.0}; + double theta2 = acos(bvec1[1]/byzvec1_len); + MathExtra::axisangle_to_quat(rot2,theta2,quat2); + + // quat = product of quat2 * quat1 = transformation via single quat + // rotate_g2r = general to restricted transformation matrix + // rotate_r2g = restricted to general transformation matrix + // if A x B not in direction of C, flip sign of z component of transform + // done by flipping sign of 3rd row of rotate_g2r matrix + + double quat[4]; + MathExtra::quatquat(quat2,quat1,quat); + MathExtra::quat_to_mat(quat,rotate_g2r); + + if (dot < 0.0) { + rotate_g2r[2][0] = -rotate_g2r[2][0]; + rotate_g2r[2][1] = -rotate_g2r[2][1]; + rotate_g2r[2][2] = -rotate_g2r[2][2]; + } + + MathExtra::transpose3(rotate_g2r,rotate_r2g); + + // A',B',C' = transformation of A,B,C to restricted triclinic + + double aprime[3],bprime[3],cprime[3]; + MathExtra::matvec(rotate_g2r,avec,aprime); + MathExtra::matvec(rotate_g2r,bvec,bprime); + MathExtra::matvec(rotate_g2r,cvec,cprime); + + // set restricted triclinic boxlo, boxhi, and tilt factors + + boxlo[0] = tri_origin[0]; + boxlo[1] = tri_origin[1]; + boxlo[2] = tri_origin[2]; + + boxhi[0] = boxlo[0] + aprime[0]; + boxhi[1] = boxlo[1] + bprime[1]; + boxhi[2] = boxlo[2] + cprime[2]; + + xy = bprime[1]; + xz = cprime[0]; + yz = cprime[1]; + + // debug + + /* + printf("Quat: %g %g %g %g\n",quat[0],quat[1],quat[2],quat[3]); + double angle = 2.0*acos(quat[0]); + printf("Theta: %g\n",angle); + printf("Rotvec: %g %g %g\n",quat[1]/sin(0.5*angle),quat[2]/sin(0.5*angle),quat[3]/sin(0.5*angle)); + printf("Aprime: %g %g %g\n",aprime[0],aprime[1],aprime[2]); + printf("Bprime: %g %g %g\n",bprime[0],bprime[1],bprime[2]); + printf("Cprime: %g %g %g\n",cprime[0],cprime[1],cprime[2]); + printf("Length A: %g %g\n",MathExtra::len3(avec),MathExtra::len3(aprime)); + printf("Length B: %g %g\n",MathExtra::len3(bvec),MathExtra::len3(bprime)); + printf("Length C: %g %g\n",MathExtra::len3(cvec),MathExtra::len3(cprime)); + + double coord1[3] = {0.5,0.0,0.0}; + double coord2[3] = {0.5,0.0,0.3}; + double newcoord[3]; + MathExtra::matvec(rotate_g2r,coord1,newcoord); + printf("Atom1: %g %g %g\n",newcoord[0],newcoord[1],newcoord[2]); + MathExtra::matvec(rotate_g2r,coord2,newcoord); + printf("Atom2: %g %g %g\n",newcoord[0],newcoord[1],newcoord[2]); + */ +} + +/* ---------------------------------------------------------------------- + transform one atom's coords from general triclinic to restricted triclinic +------------------------------------------------------------------------- */ + +void Domain::general_to_restricted(double *x) +{ + double xnew[3]; + + MathExtra::matvec(rotate_g2r,x,xnew); + x[0] = xnew[0] + tri_origin[0]; + x[1] = xnew[1] + tri_origin[1]; + x[2] = xnew[2] + tri_origin[2]; +} + +/* ---------------------------------------------------------------------- + transform one atom's coords from restricted triclinic to general triclinic +------------------------------------------------------------------------- */ + +void Domain::restricted_to_general(double *x) +{ + double xshift[3],xnew[3]; + + xshift[0] = x[0] - tri_origin[0]; + xshift[1] = x[1] - tri_origin[1]; + xshift[2] = x[2] - tri_origin[2]; + MathExtra::matvec(rotate_r2g,xshift,xnew); + x[0] = xnew[0]; + x[1] = xnew[1]; + x[2] = xnew[2]; +} + /* ---------------------------------------------------------------------- enforce PBC and modify box image flags for each atom called every reneighboring and by other commands that change atoms @@ -676,9 +852,7 @@ int Domain::inside(double* x) lamda[1] < lo[1] || lamda[1] >= hi[1] || lamda[2] < lo[2] || lamda[2] >= hi[2]) return 0; else return 1; - } - } /* ---------------------------------------------------------------------- @@ -713,7 +887,6 @@ int Domain::inside_nonperiodic(double* x) if (!zperiodic && (lamda[2] < lo[2] || lamda[2] >= hi[2])) return 0; return 1; } - } /* ---------------------------------------------------------------------- diff --git a/src/domain.h b/src/domain.h index ab054f1b50..e77af5d968 100644 --- a/src/domain.h +++ b/src/domain.h @@ -39,8 +39,9 @@ class Domain : protected Pointers { // 2 = shrink-wrap non-periodic // 3 = shrink-wrap non-per w/ min - int triclinic; // 0 = orthog box, 1 = triclinic - + int triclinic; // 0 = orthog box, 1 = triclinic (restricted or general) + int triclinic_general; // 1 if mapping to/from general triclinic is stored, 0 if not + // orthogonal box double xprd, yprd, zprd; // global box dimensions @@ -48,8 +49,8 @@ class Domain : protected Pointers { double prd[3]; // array form of dimensions double prd_half[3]; // array form of half dimensions - // triclinic box - // xyzprd,xyzprd_half and prd,prd_half = same as if untilted + // restricted triclinic box + // xyzprd,xyzprd_half and prd,prd_half = same as if not tilted double prd_lamda[3]; // lamda box = (1,1,1) double prd_half_lamda[3]; // lamda half box = (0.5,0.5,0.5) @@ -58,14 +59,14 @@ class Domain : protected Pointers { double boxlo[3], boxhi[3]; - // triclinic box - // boxlo/hi = same as if untilted + // restricted triclinic box + // boxlo/hi = same as if not tilted double boxlo_lamda[3], boxhi_lamda[3]; // lamda box = (0,1) double boxlo_bound[3], boxhi_bound[3]; // bounding box of tilted domain double corners[8][3]; // 8 corner points - // orthogonal box & triclinic box + // orthogonal box & restricted triclinic box double minxlo, minxhi; // minimum size of global box double minylo, minyhi; // when shrink-wrapping @@ -75,18 +76,27 @@ class Domain : protected Pointers { double sublo[3], subhi[3]; // sub-box bounds on this proc - // triclinic box + // restricted triclinic box // sublo/hi = undefined double sublo_lamda[3], subhi_lamda[3]; // bounds of subbox in lamda - // triclinic box + // restricted triclinic box double xy, xz, yz; // 3 tilt factors double h[6], h_inv[6]; // shape matrix in Voigt ordering // Voigt = xx,yy,zz,yz,xz,xy double h_rate[6], h_ratelo[3]; // rate of box size/shape change + // general triclinic box + + double avec[3], bvec[3], cvec[3]; // ABC edge vectors of general triclinic box + double tri_origin[3]; // origin of general triclinic box + double rotate_g2r[3][3]; // rotation matrix from general --> restricted tri + double rotate_r2g[3][3]; // rotation matrix from restricted --> general tri + + // box flags + int box_change; // 1 if any of next 3 flags are set, else 0 int box_change_size; // 1 if box size changes, 0 if not int box_change_shape; // 1 if box shape changes, 0 if not @@ -131,6 +141,10 @@ class Domain : protected Pointers { void image_flip(int, int, int); int ownatom(int, double *, imageint *, int); + void set_general_triclinic(double *, double *, double *, double *); + void general_to_restricted(double *); + void restricted_to_general(double *); + void set_lattice(int, char **); void add_region(int, char **); void delete_region(Region *); diff --git a/src/math_extra.h b/src/math_extra.h index 1efacea463..49e128c3df 100644 --- a/src/math_extra.h +++ b/src/math_extra.h @@ -47,6 +47,7 @@ inline void cross3(const double *v1, const double *v2, double *ans); inline void zeromat3(double m[3][3]); inline void zeromat3(double **m); +inline void transpose3(const double m[3][3], double ans[3][3]); inline void col2mat(const double *ex, const double *ey, const double *ez, double m[3][3]); inline double det3(const double mat[3][3]); @@ -763,6 +764,21 @@ inline void MathExtra::zeromat3(double **m) m[2][0] = m[2][1] = m[2][2] = 0.0; } +// transpose a matrix + +inline void MathExtra::transpose3(const double m[3][3], double ans[3][3]) +{ + ans[0][0] = m[0][0]; + ans[0][1] = m[1][0]; + ans[0][2] = m[2][0]; + ans[1][0] = m[0][1]; + ans[1][1] = m[1][1]; + ans[1][2] = m[2][1]; + ans[2][0] = m[0][2]; + ans[2][1] = m[1][2]; + ans[2][2] = m[2][2]; +} + // add two matrices inline void MathExtra::plus3(const double m[3][3], double **m2, double **ans) diff --git a/src/read_data.cpp b/src/read_data.cpp index 4b4602f1fc..8df901062c 100644 --- a/src/read_data.cpp +++ b/src/read_data.cpp @@ -474,11 +474,14 @@ void ReadData::command(int narg, char **arg) int atomflag, topoflag; int bondflag, angleflag, dihedralflag, improperflag; int ellipsoidflag, lineflag, triflag, bodyflag; - + atomflag = topoflag = 0; bondflag = angleflag = dihedralflag = improperflag = 0; ellipsoidflag = lineflag = triflag = bodyflag = 0; + xloxhi_flag = yloyhi_flag = zlozhi_flag = tilt_flag = 0; + avec_flag = bvec_flag = cvec_flag = 0; + // values in this data file natoms = 0; @@ -488,7 +491,12 @@ void ReadData::command(int narg, char **arg) boxlo[0] = boxlo[1] = boxlo[2] = -0.5; boxhi[0] = boxhi[1] = boxhi[2] = 0.5; - triclinic = 0; + avec[0] = avec[1] = avec[2] = 0.0; + bvec[0] = bvec[1] = bvec[2] = 0.0; + cvec[0] = cvec[1] = cvec[2] = 0.0; + avec[0] = bvec[1] = cvec[2] = 1.0; + tri_origin[0] = tri_origin[1] = tri_origin[2] = 0.0; + keyword[0] = '\0'; nlocal_previous = atom->nlocal; @@ -508,6 +516,17 @@ void ReadData::command(int narg, char **arg) header(firstpass); + // check if simulation box specified consistently + + if (!avec_flag && !bvec_flag && !cvec_flag) { + triclinic = triclinic_general = 0; + if (tilt_flag) triclinic = 1; + } else { + if (xloxhi_flag || yloyhi_flag || zlozhi_flag || tilt_flag) + error->all(FLERR,"Read_data header cannot specify simulation box lo/hi/tilt and ABC vectors"); + triclinic = triclinic_general = 1; + } + // problem setup using info from header // only done once, if firstpass and first data file // apply extra settings before grow(), even if no topology in file @@ -536,31 +555,69 @@ void ReadData::command(int narg, char **arg) n = static_cast(nbig); atom->avec->grow(n); - domain->boxlo[0] = boxlo[0]; - domain->boxhi[0] = boxhi[0]; - domain->boxlo[1] = boxlo[1]; - domain->boxhi[1] = boxhi[1]; - domain->boxlo[2] = boxlo[2]; - domain->boxhi[2] = boxhi[2]; + // setup simulation box + // 3 options: orthogonal, restricted triclinic, general triclinic + // for general triclinic: convect general ABC edge vectors to LAMMPS restricted triclinic - if (triclinic) { - domain->triclinic = 1; - domain->xy = xy; - domain->xz = xz; - domain->yz = yz; + if (!triclinic_general) { + domain->boxlo[0] = boxlo[0]; + domain->boxhi[0] = boxhi[0]; + domain->boxlo[1] = boxlo[1]; + domain->boxhi[1] = boxhi[1]; + domain->boxlo[2] = boxlo[2]; + domain->boxhi[2] = boxhi[2]; + + if (triclinic) { + domain->triclinic = 1; + domain->xy = xy; + domain->xz = xz; + domain->yz = yz; + } + + } else if (triclinic_general) { + domain->set_general_triclinic(avec,bvec,cvec,tri_origin); } - - domain->print_box(" "); - domain->set_initial_box(); - domain->set_global_box(); - comm->set_proc_grid(); - domain->set_local_box(); } // change simulation box to be union of existing box and new box + shift // only done if firstpass and not first data file + // shift not allowed for general triclinic if (firstpass && addflag != NONE) { + + // general triclinic + // first data file must also be general triclinic + // avec,bvec,vec must match first data file + // shift not allowed + + if (triclinic_general) { + if (!domain->triclinic_general) + error->all(FLERR,"Read_data subsequent file cannot switch to general triclinic"); + int errflag = 0; + if (avec[0] != domain->avec[0] || avec[1] != domain->avec[1] || avec[2] != domain->avec[2]) + errflag = 1; + if (bvec[0] != domain->bvec[0] || bvec[1] != domain->bvec[1] || bvec[2] != domain->bvec[2]) + errflag = 1; + if (cvec[0] != domain->cvec[0] || cvec[1] != domain->cvec[1] || cvec[2] != domain->cvec[2]) + errflag = 1; + if (tri_origin[0] != domain->tri_origin[0] || tri_origin[1] != domain->tri_origin[1] || + tri_origin[2] != domain->tri_origin[2]) + errflag = 1; + if (errflag) + error->all(FLERR,"Read_data subsequent file ABC vectors must be same as first file"); + if (shift[0] != 0.0 || shift[1] != 0.0 || shift[2] != 0.0) + error->all(FLERR,"Read_data subsequent file with ABC vectors cannot define shift"); + + // restricted triclinic + // tilt factors must match first data file + + } else if (triclinic) { + if (!domain->triclinic || domain->triclinic_general) + error->all(FLERR,"Read_data subsequent file cannot switch to restricted triclinic"); + if (xy != domain->xy || xz != domain->xz || yz != domain->yz) + error->all(FLERR,"Read_data subsequent file tilt factors must be same as first file"); + } + double oldboxlo[3] = {domain->boxlo[0], domain->boxlo[1], domain->boxlo[2]}; double oldboxhi[3] = {domain->boxhi[0], domain->boxhi[1], domain->boxhi[2]}; domain->boxlo[0] = MIN(domain->boxlo[0], boxlo[0] + shift[0]); @@ -570,7 +627,9 @@ void ReadData::command(int narg, char **arg) domain->boxlo[2] = MIN(domain->boxlo[2], boxlo[2] + shift[2]); domain->boxhi[2] = MAX(domain->boxhi[2], boxhi[2] + shift[2]); - // check of box has changed. If yes, warn about non-zero image flags + // check if box has changed + // if yes, warn about non-zero image flags + if ((oldboxlo[0] != domain->boxlo[0]) || (oldboxlo[1] != domain->boxlo[1]) || (oldboxlo[2] != domain->boxlo[2]) || (oldboxhi[0] != domain->boxhi[0]) || (oldboxhi[1] != domain->boxhi[1]) || (oldboxhi[2] != domain->boxhi[2])) { @@ -588,19 +647,16 @@ void ReadData::command(int narg, char **arg) if ((flag_all > 0) && (comm->me == 0)) error->warning(FLERR, "Non-zero image flags with growing box leads to bad coordinates"); } - - // NOTE: not sure what to do about tilt value in subsequent data files - //if (triclinic) { - // domain->xy = xy; domain->xz = xz; domain->yz = yz; - // } - - domain->print_box(" "); - domain->set_initial_box(); - domain->set_global_box(); - comm->set_proc_grid(); - domain->set_local_box(); } + // setup simulation box and paritioning in Domain and Comm classes + + domain->print_box(" "); + domain->set_initial_box(); + domain->set_global_box(); + comm->set_proc_grid(); + domain->set_local_box(); + // allocate space for type label map if (firstpass) { @@ -608,8 +664,9 @@ void ReadData::command(int narg, char **arg) lmap = new LabelMap(lmp, ntypes, nbondtypes, nangletypes, ndihedraltypes, nimpropertypes); } + // rest of data file is Sections + // read in any order, except where error checks // customize for new sections - // read rest of file in free format while (strlen(keyword)) { @@ -1140,7 +1197,8 @@ void ReadData::header(int firstpass) // initialize type counts by the "extra" numbers so they get counted // in case the corresponding "types" line is missing and thus the extra - // value will not be processed. + // value will not be processed + if (addflag == NONE) { atom->ntypes = extra_atom_types; atom->nbondtypes = extra_bond_types; @@ -1156,6 +1214,7 @@ void ReadData::header(int firstpass) if (eof == nullptr) error->one(FLERR, "Unexpected end of data file"); // check for units keyword in first line and print warning on mismatch + auto units = Tokenizer(utils::strfind(line, "units = \\w+")).as_vector(); if (units.size() > 2) { if (units[2] != update->unit_style) @@ -1278,7 +1337,7 @@ void ReadData::header(int firstpass) else if (firstpass) atom->nimpropers += nimpropers; - // Atom class type settings are only set by first data file + // Atom class type settings are only set by first data file } else if (utils::strmatch(line, "^\\s*\\d+\\s+atom\\s+types\\s")) { ntypes = utils::inumeric(FLERR, words[0], false, lmp); @@ -1300,11 +1359,11 @@ void ReadData::header(int firstpass) nimpropertypes = utils::inumeric(FLERR, words[0], false, lmp); if (addflag == NONE) atom->nimpropertypes = nimpropertypes + extra_improper_types; - // these settings only used by first data file - // also, these are obsolescent. we parse them to maintain backward - // compatibility, but the recommended way is to set them via keywords - // in the LAMMPS input file. In case these flags are set in both, - // the input and the data file, we use the larger of the two. + // these settings only used by first data file + // also, these are obsolescent. we parse them to maintain backward + // compatibility, but the recommended way is to set them via keywords + // in the LAMMPS input file. In case these flags are set in both, + // the input and the data file, we use the larger of the two. } else if (strstr(line, "extra bond per atom")) { if (addflag == NONE) extra_flag_value = utils::inumeric(FLERR, words[0], false, lmp); @@ -1322,26 +1381,50 @@ void ReadData::header(int firstpass) if (addflag == NONE) extra_flag_value = utils::inumeric(FLERR, words[0], false, lmp); force->special_extra = MAX(force->special_extra, extra_flag_value); - // local copy of box info - // so can treat differently for first vs subsequent data files + // local copy of box info + // so can treat differently for first vs subsequent data files } else if (utils::strmatch(line, "^\\s*\\f+\\s+\\f+\\s+xlo\\s+xhi\\s")) { + xloxhi_flag = 1; boxlo[0] = utils::numeric(FLERR, words[0], false, lmp); boxhi[0] = utils::numeric(FLERR, words[1], false, lmp); } else if (utils::strmatch(line, "^\\s*\\f+\\s+\\f+\\s+ylo\\s+yhi\\s")) { + yloyhi_flag = 1; boxlo[1] = utils::numeric(FLERR, words[0], false, lmp); boxhi[1] = utils::numeric(FLERR, words[1], false, lmp); } else if (utils::strmatch(line, "^\\s*\\f+\\s+\\f+\\s+zlo\\s+zhi\\s")) { + zlozhi_flag = 1; boxlo[2] = utils::numeric(FLERR, words[0], false, lmp); boxhi[2] = utils::numeric(FLERR, words[1], false, lmp); } else if (utils::strmatch(line, "^\\s*\\f+\\s+\\f+\\s+\\f+\\s+xy\\s+xz\\s+yz\\s")) { - triclinic = 1; + tilt_flag = 1; xy = utils::numeric(FLERR, words[0], false, lmp); xz = utils::numeric(FLERR, words[1], false, lmp); yz = utils::numeric(FLERR, words[2], false, lmp); + + } else if (utils::strmatch(line, "^\\s*\\f+\\s+\\f+\\s+\\f+\\s+\\f+\\s+\\avec\\s")) { + avec_flag = 1; + avec[0] = utils::numeric(FLERR, words[0], false, lmp); + avec[1] = utils::numeric(FLERR, words[1], false, lmp); + avec[2] = utils::numeric(FLERR, words[2], false, lmp); + tri_origin[0] = utils::numeric(FLERR, words[3], false, lmp); + + } else if (utils::strmatch(line, "^\\s*\\f+\\s+\\f+\\s+\\f+\\s+\\f+\\s+\\bvec\\s")) { + bvec_flag = 1; + bvec[0] = utils::numeric(FLERR, words[0], false, lmp); + bvec[1] = utils::numeric(FLERR, words[1], false, lmp); + bvec[2] = utils::numeric(FLERR, words[2], false, lmp); + tri_origin[1] = utils::numeric(FLERR, words[3], false, lmp); + + } else if (utils::strmatch(line, "^\\s*\\f+\\s+\\f+\\s+\\f+\\s+\\f+\\s+\\cvec\\s")) { + cvec_flag = 1; + cvec[0] = utils::numeric(FLERR, words[0], false, lmp); + cvec[1] = utils::numeric(FLERR, words[1], false, lmp); + cvec[2] = utils::numeric(FLERR, words[2], false, lmp); + tri_origin[2] = utils::numeric(FLERR, words[3], false, lmp); } else break; @@ -1407,8 +1490,8 @@ void ReadData::atoms() if (eof) error->all(FLERR, "Unexpected end of data file"); if (tlabelflag && !lmap->is_complete(Atom::ATOM)) error->all(FLERR, "Label map is incomplete: all types must be assigned a unique type label"); - atom->data_atoms(nchunk, buffer, id_offset, mol_offset, toffset, shiftflag, shift, tlabelflag, - lmap->lmap2lmap.atom); + atom->data_atoms(nchunk, buffer, id_offset, mol_offset, toffset, triclinic_general, + shiftflag, shift, tlabelflag, lmap->lmap2lmap.atom); nread += nchunk; } diff --git a/src/read_data.h b/src/read_data.h index e97f225997..6439fbd096 100644 --- a/src/read_data.h +++ b/src/read_data.h @@ -63,8 +63,11 @@ class ReadData : public Command { double boxlo[3], boxhi[3]; double xy, xz, yz; - int triclinic; - + double avec[3], bvec[3], cvec[3], tri_origin[3]; + int triclinic, triclinic_general; + int xloxhi_flag, yloyhi_flag, zlozhi_flag, tilt_flag; + int avec_flag, bvec_flag, cvec_flag; + // optional args int addflag, offsetflag, shiftflag, coeffflag, settypeflag; diff --git a/src/write_data.cpp b/src/write_data.cpp index dd5b056ae8..0ab72f857a 100644 --- a/src/write_data.cpp +++ b/src/write_data.cpp @@ -72,8 +72,11 @@ void WriteData::command(int narg, char **arg) pairflag = II; coeffflag = 1; fixflag = 1; + triclinic_general = 0; lmapflag = 1; - // store current (default) setting since we may change it. + + // store current (default) setting since we may change it + int types_style = atom->types_style; int noinit = 0; @@ -94,6 +97,9 @@ void WriteData::command(int narg, char **arg) } else if (strcmp(arg[iarg],"nofix") == 0) { fixflag = 0; iarg++; + } else if (strcmp(arg[iarg],"triclinic") == 0) { + triclinic_general = 1; + iarg++; } else if (strcmp(arg[iarg],"nolabelmap") == 0) { lmapflag = 0; iarg++; @@ -135,7 +141,9 @@ void WriteData::command(int narg, char **arg) } write(file); + // restore saved setting + atom->types_style = types_style; } @@ -206,8 +214,32 @@ void WriteData::write(const std::string &file) } // per atom info in Atoms and Velocities sections - + // if general triclinic: + // save restricted triclinic atom coords + // transform atom coords from restricted to general + // restore save atom coords after output + // NOTE: do same for velocities as well ? + + double **xstore = nullptr; + + if (triclinic_general) { + double **x = atom->x; + int nlocal = atom->nlocal; + memory->create(xstore,nlocal,3,"write_data:xstore"); + if (nlocal) memcpy(&xstore[0][0],&x[0][0],3*nlocal*sizeof(double)); + for (int i = 0; i < nlocal; i++) + domain->restricted_to_general(x[i]); + } + if (natoms) atoms(); + + if (triclinic_general) { + double **x = atom->x; + int nlocal = atom->nlocal; + if (nlocal) memcpy(&x[0][0],&xstore[0][0],3*nlocal*sizeof(double)); + memory->destroy(xstore); + } + if (natoms) velocities(); // molecular topology info if defined @@ -289,15 +321,22 @@ void WriteData::header() for (int m = 0; m < ifix->wd_header; m++) ifix->write_data_header(fp,m); - // box info + // box info: orthogonal, restricted triclinic, or general triclinic (if requested) - auto box = fmt::format("\n{} {} xlo xhi\n{} {} ylo yhi\n{} {} zlo zhi\n", - domain->boxlo[0],domain->boxhi[0], - domain->boxlo[1],domain->boxhi[1], - domain->boxlo[2],domain->boxhi[2]); - if (domain->triclinic) - box += fmt::format("{} {} {} xy xz yz\n",domain->xy,domain->xz,domain->yz); - fputs(box.c_str(),fp); + if (!triclinic_general) { + fmt::print(fp,"\n{} {} xlo xhi\n{} {} ylo yhi\n{} {} zlo zhi\n", + domain->boxlo[0],domain->boxhi[0], + domain->boxlo[1],domain->boxhi[1], + domain->boxlo[2],domain->boxhi[2]); + if (domain->triclinic) + fmt::print(fp,"{} {} {} xy xz yz\n",domain->xy,domain->xz,domain->yz); + + } else if (triclinic_general) { + fmt::print(fp,"\n{} {} {} {} avec\n{} {} {} {} bvec\n{} {} {} {} cvec\n", + domain->avec[0],domain->avec[1],domain->avec[2],domain->tri_origin[0], + domain->bvec[0],domain->bvec[1],domain->bvec[2],domain->tri_origin[1], + domain->cvec[0],domain->cvec[1],domain->cvec[2],domain->tri_origin[2]); + } } /* ---------------------------------------------------------------------- diff --git a/src/write_data.h b/src/write_data.h index f0df9b0c5f..ebaa97ffc0 100644 --- a/src/write_data.h +++ b/src/write_data.h @@ -35,6 +35,7 @@ class WriteData : public Command { int pairflag; int coeffflag; int fixflag; + int triclinic_general; int lmapflag; FILE *fp; bigint nbonds_local, nbonds; From 932a08024645d0f4ca7db8a09704e03b94110551 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 31 Aug 2023 14:45:24 -0600 Subject: [PATCH 041/559] tweak comments --- src/write_data.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/write_data.cpp b/src/write_data.cpp index 0ab72f857a..03e09cf462 100644 --- a/src/write_data.cpp +++ b/src/write_data.cpp @@ -217,8 +217,7 @@ void WriteData::write(const std::string &file) // if general triclinic: // save restricted triclinic atom coords // transform atom coords from restricted to general - // restore save atom coords after output - // NOTE: do same for velocities as well ? + // restore saved atom coords after output double **xstore = nullptr; From 7462439b5d818f7d2fbc8ab74b344f9b76e4eeee Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 1 Sep 2023 12:15:51 -0600 Subject: [PATCH 042/559] mods to change_box --- src/create_atoms.cpp | 2 +- src/create_box.cpp | 134 +++++++++++++++++++++++++++++++++---------- src/domain.cpp | 5 ++ src/lattice.cpp | 30 ++++++++++ src/lattice.h | 10 +++- src/read_data.cpp | 13 ++++- 6 files changed, 157 insertions(+), 37 deletions(-) diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index 32be85e647..aa95c8397f 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -1178,7 +1178,7 @@ void CreateAtoms::add_lattice() } else domain->bbox(domain->sublo_lamda, domain->subhi_lamda, bboxlo, bboxhi); - // narrow down the subbox by the bounding box of the given region, if available. + // narrow down the subbox by the bounding box of the given region, if available // for small regions in large boxes, this can result in a significant speedup if ((style == REGION) && region->bboxflag) { diff --git a/src/create_box.cpp b/src/create_box.cpp index 02aa63acf0..74a8db8bb3 100644 --- a/src/create_box.cpp +++ b/src/create_box.cpp @@ -19,6 +19,7 @@ #include "domain.h" #include "error.h" #include "force.h" +#include "lattice.h" #include "region.h" #include "region_prism.h" #include "update.h" @@ -45,40 +46,112 @@ void CreateBox::command(int narg, char **arg) // region check - auto region = domain->get_region_by_id(arg[1]); - if (!region) error->all(FLERR, "Create_box region {} does not exist", arg[1]); - if (region->bboxflag == 0) error->all(FLERR, "Create_box region does not support a bounding box"); + Region *region = nullptr; + int triclinic_general = 0; + + if (strcmp(arg[1],"NULL") == 0) triclinic_general = 1; + else { + region = domain->get_region_by_id(arg[1]); + if (!region) error->all(FLERR, "Create_box region {} does not exist", arg[1]); + if (region->bboxflag == 0) error->all(FLERR, "Create_box region does not support a bounding box"); + region->init(); + } - region->init(); + // setup simulation box + // 3 options: orthogonal, restricted triclinic, general triclinic - // if region not prism: - // setup orthogonal domain - // set simulation domain from region extent - // if region is prism: - // seutp triclinic domain - // set simulation domain params from prism params + int iarg = 2; + + if (region) { + // region is not prism + // setup orthogonal box + // set simulation domain from region extent + + if (strcmp(region->style, "prism") != 0) { + domain->triclinic = 0; + domain->boxlo[0] = region->extent_xlo; + domain->boxhi[0] = region->extent_xhi; + domain->boxlo[1] = region->extent_ylo; + domain->boxhi[1] = region->extent_yhi; + domain->boxlo[2] = region->extent_zlo; + domain->boxhi[2] = region->extent_zhi; - if (strcmp(region->style, "prism") != 0) { - domain->triclinic = 0; - domain->boxlo[0] = region->extent_xlo; - domain->boxhi[0] = region->extent_xhi; - domain->boxlo[1] = region->extent_ylo; - domain->boxhi[1] = region->extent_yhi; - domain->boxlo[2] = region->extent_zlo; - domain->boxhi[2] = region->extent_zhi; + // region is prism + // seutp restricted triclinic box + // set simulation domain from prism params - } else { - domain->triclinic = 1; - auto prism = dynamic_cast(region); - domain->boxlo[0] = prism->xlo; - domain->boxhi[0] = prism->xhi; - domain->boxlo[1] = prism->ylo; - domain->boxhi[1] = prism->yhi; - domain->boxlo[2] = prism->zlo; - domain->boxhi[2] = prism->zhi; - domain->xy = prism->xy; - domain->xz = prism->xz; - domain->yz = prism->yz; + } else { + domain->triclinic = 1; + auto prism = dynamic_cast(region); + domain->boxlo[0] = prism->xlo; + domain->boxhi[0] = prism->xhi; + domain->boxlo[1] = prism->ylo; + domain->boxhi[1] = prism->yhi; + domain->boxlo[2] = prism->zlo; + domain->boxhi[2] = prism->zhi; + domain->xy = prism->xy; + domain->xz = prism->xz; + domain->yz = prism->yz; + } + + // setup general triclinic box (with no region) + // read next box extent arguments to create ABC edge vectors + origin + // set_general_triclinic() converts + // ABC edge vectors + origin to restricted triclinic + + } else if (triclinic_general) { + if (!domain->lattice->is_custom()) + error->all(FLERR,"Create_box with no region requires custom lattice"); + if (domain->lattice->is_oriented()) + error->all(FLERR,"Create_box with no region requires lattice with default orientation"); + + if (iarg + 6 > narg) utils::missing_cmd_args(FLERR, "create_box general triclinic", error); + + double alo = utils::numeric(FLERR, arg[iarg + 0], false, lmp); + double ahi = utils::numeric(FLERR, arg[iarg + 1], false, lmp); + double blo = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + double bhi = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + double clo = utils::numeric(FLERR, arg[iarg + 4], false, lmp); + double chi = utils::numeric(FLERR, arg[iarg + 5], false, lmp); + iarg += 6; + + // use lattice2box() to generate avec, bvec, cvec and origin + + double avec[3],bvec[3],cvec[3],origin[3]; + double px,py,pz; + + px = alo; py = blo; pz = clo; + domain->lattice->lattice2box(px,py,pz); + origin[0] = px; + origin[1] = py; + origin[2] = pz; + + px = ahi; py = blo; pz = clo; + domain->lattice->lattice2box(px,py,pz); + avec[0] = px - origin[0]; + avec[1] = py - origin[1]; + avec[2] = pz - origin[2]; + + px = alo; py = bhi; pz = clo; + domain->lattice->lattice2box(px,py,pz); + bvec[0] = px - origin[0]; + bvec[1] = py - origin[1]; + bvec[2] = pz - origin[2]; + + px = alo; py = blo; pz = chi; + domain->lattice->lattice2box(px,py,pz); + cvec[0] = px - origin[0]; + cvec[1] = py - origin[1]; + cvec[2] = pz - origin[2]; + + printf("ORIGIN %g %g %g\n",origin[0],origin[1],origin[2]); + printf("AVEC %g %g %g\n",avec[0],avec[1],avec[2]); + printf("BVEC %g %g %g\n",bvec[0],bvec[1],bvec[2]); + printf("CVEC %g %g %g\n",cvec[0],cvec[1],cvec[2]); + + // setup general triclinic box in Domain + + domain->set_general_triclinic(avec,bvec,cvec,origin); } // if molecular, zero out topology info @@ -104,7 +177,6 @@ void CreateBox::command(int narg, char **arg) // process optional args that can overwrite default settings - int iarg = 2; while (iarg < narg) { if (strcmp(arg[iarg], "bond/types") == 0) { if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "create_box bond/type", error); diff --git a/src/domain.cpp b/src/domain.cpp index 6523bfc8c7..9629645aa6 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -551,6 +551,11 @@ void Domain::set_general_triclinic(double *avec_caller, double *bvec_caller, tri_origin[1] = origin_caller[1]; tri_origin[2] = origin_caller[2]; + // error check on cvec for 2d systems + + if (dimension == 2 && (cvec[0] != 0.0 || cvec[1] != 0.0)) + error->all(FLERR,"General triclinic box edge vector C invalid for 2d system"); + // error check for co-planar A,B,C double abcross[3]; diff --git a/src/lattice.cpp b/src/lattice.cpp index edb482cfac..539ec73531 100644 --- a/src/lattice.cpp +++ b/src/lattice.cpp @@ -262,6 +262,14 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) scale = pow(nbasis/volume/scale,1.0/dimension); } + // set orientflag + // for general triclinic, create_box and create_atoms require orientflag = 0 + + oriented = 0; + if (orientx[0] != 1 || orientx[1] != 0 || orientx[2] != 0) oriented = 1; + if (orienty[0] != 0 || orienty[1] != 1 || orienty[2] != 0) oriented = 1; + if (orientz[0] != 0 || orientz[1] != 0 || orientz[2] != 1) oriented = 1; + // initialize lattice <-> box transformation matrices setup_transform(); @@ -311,6 +319,28 @@ Lattice::~Lattice() memory->destroy(basis); } +/* ---------------------------------------------------------------------- + return 1 if style = CUSTOM, else 0 + queried by create_box and create_atoms for general triclinic +------------------------------------------------------------------------- */ + +int Lattice::is_custom() +{ + if (style == CUSTOM) return 1; + return 0; +} + +/* ---------------------------------------------------------------------- + return 1 any orient vectors are non-default, else 0 + queried by create_box and create_atoms for general triclinic +------------------------------------------------------------------------- */ + +int Lattice::is_oriented() +{ + if (oriented) return 1; + return 0; +} + /* ---------------------------------------------------------------------- check if 3 orientation vectors are mutually orthogonal ------------------------------------------------------------------------- */ diff --git a/src/lattice.h b/src/lattice.h index 5b98f580b7..d91b5cc834 100644 --- a/src/lattice.h +++ b/src/lattice.h @@ -33,15 +33,19 @@ class Lattice : protected Pointers { ~Lattice() override; void lattice2box(double &, double &, double &); void box2lattice(double &, double &, double &); - void bbox(int, double, double, double, double &, double &, double &, double &, double &, - double &); - + void bbox(int, double, double, double, + double &, double &, double &, double &, double &, double &); + int is_custom(); + int is_oriented(); + private: double scale; double origin[3]; // lattice origin + int oriented; // 1 if non-default orient xyz, else 0 int orientx[3]; // lattice orientation vecs int orienty[3]; // orientx = what lattice dir lies int orientz[3]; // along x dim in box + double primitive[3][3]; // lattice <-> box transform matrices double priminv[3][3]; diff --git a/src/read_data.cpp b/src/read_data.cpp index 8df901062c..bd998ed3f5 100644 --- a/src/read_data.cpp +++ b/src/read_data.cpp @@ -557,9 +557,11 @@ void ReadData::command(int narg, char **arg) // setup simulation box // 3 options: orthogonal, restricted triclinic, general triclinic - // for general triclinic: convect general ABC edge vectors to LAMMPS restricted triclinic if (!triclinic_general) { + + // orthongal box + domain->boxlo[0] = boxlo[0]; domain->boxhi[0] = boxhi[0]; domain->boxlo[1] = boxlo[1]; @@ -567,6 +569,8 @@ void ReadData::command(int narg, char **arg) domain->boxlo[2] = boxlo[2]; domain->boxhi[2] = boxhi[2]; + // restricted triclinic box + if (triclinic) { domain->triclinic = 1; domain->xy = xy; @@ -574,6 +578,10 @@ void ReadData::command(int narg, char **arg) domain->yz = yz; } + // general triclinic box + // set_general_triclinic() converts + // ABC edge vectors + origin to restricted triclinic + } else if (triclinic_general) { domain->set_general_triclinic(avec,bvec,cvec,tri_origin); } @@ -581,7 +589,8 @@ void ReadData::command(int narg, char **arg) // change simulation box to be union of existing box and new box + shift // only done if firstpass and not first data file - // shift not allowed for general triclinic + // for restricted triclinic, new tilt factors not allowed + // for general triclinic, different new box and shift not allowed if (firstpass && addflag != NONE) { From 817a16b48c43d50a153cba0e1693118bd9325eca Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 1 Sep 2023 14:38:22 -0600 Subject: [PATCH 043/559] work on create_atoms command --- src/create_atoms.cpp | 90 ++++++++++++++++++++++++++++++++++++++------ src/create_atoms.h | 1 + src/create_box.cpp | 13 +++---- src/domain.cpp | 4 +- src/lattice.cpp | 5 ++- 5 files changed, 90 insertions(+), 23 deletions(-) diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index aa95c8397f..9a34544627 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -450,8 +450,8 @@ void CreateAtoms::command(int narg, char **arg) atom->nghost = 0; atom->avec->clear_bonus(); - // add atoms/molecules in one of 3 ways - + // add atoms/molecules with appropriate add() method + bigint natoms_previous = atom->natoms; int nlocal_previous = atom->nlocal; @@ -1155,12 +1155,34 @@ void CreateAtoms::add_mesh(const char *filename) } } +/* ---------------------------------------------------------------------- + add many atoms to general triclinic box by looping over lattice +------------------------------------------------------------------------- */ + +void CreateAtoms::add_lattice_triclinic_general() +{ + + +} + /* ---------------------------------------------------------------------- add many atoms by looping over lattice ------------------------------------------------------------------------- */ void CreateAtoms::add_lattice() { + // add atoms on general triclinic lattice if Domain has setting for it + // verify lattice is valid for general triclinic + + int triclinic_general = domain->triclinic_general; + + if (triclinic_general) { + if (!domain->lattice->is_custom()) + error->all(FLERR,"Create_atoms for general triclinic requires custom lattice"); + if (domain->lattice->is_oriented()) + error->all(FLERR,"Create_atoms for general triclinic requires lattice with default orientation"); + } + // convert 8 corners of my subdomain from box coords to lattice coords // for orthogonal, use corner pts of my subbox // for triclinic, use bounding box of my subbox @@ -1202,17 +1224,56 @@ void CreateAtoms::add_lattice() xmin = ymin = zmin = BIG; xmax = ymax = zmax = -BIG; - // convert to lattice coordinates and set bounding box + // convert 8 corner points of bounding box to lattice coordinates + // compute new bounding box (xyz min/max) in lattice coords + // for orthogonal or restricted triclinic, use 8 corner points of bbox lo/hi + + if (!triclinic_general) { + domain->lattice->bbox(1, bboxlo[0], bboxlo[1], bboxlo[2], xmin, ymin, zmin, xmax, ymax, zmax); + domain->lattice->bbox(1, bboxhi[0], bboxlo[1], bboxlo[2], xmin, ymin, zmin, xmax, ymax, zmax); + domain->lattice->bbox(1, bboxlo[0], bboxhi[1], bboxlo[2], xmin, ymin, zmin, xmax, ymax, zmax); + domain->lattice->bbox(1, bboxhi[0], bboxhi[1], bboxlo[2], xmin, ymin, zmin, xmax, ymax, zmax); + domain->lattice->bbox(1, bboxlo[0], bboxlo[1], bboxhi[2], xmin, ymin, zmin, xmax, ymax, zmax); + domain->lattice->bbox(1, bboxhi[0], bboxlo[1], bboxhi[2], xmin, ymin, zmin, xmax, ymax, zmax); + domain->lattice->bbox(1, bboxlo[0], bboxhi[1], bboxhi[2], xmin, ymin, zmin, xmax, ymax, zmax); + domain->lattice->bbox(1, bboxhi[0], bboxhi[1], bboxhi[2], xmin, ymin, zmin, xmax, ymax, zmax); - domain->lattice->bbox(1, bboxlo[0], bboxlo[1], bboxlo[2], xmin, ymin, zmin, xmax, ymax, zmax); - domain->lattice->bbox(1, bboxhi[0], bboxlo[1], bboxlo[2], xmin, ymin, zmin, xmax, ymax, zmax); - domain->lattice->bbox(1, bboxlo[0], bboxhi[1], bboxlo[2], xmin, ymin, zmin, xmax, ymax, zmax); - domain->lattice->bbox(1, bboxhi[0], bboxhi[1], bboxlo[2], xmin, ymin, zmin, xmax, ymax, zmax); - domain->lattice->bbox(1, bboxlo[0], bboxlo[1], bboxhi[2], xmin, ymin, zmin, xmax, ymax, zmax); - domain->lattice->bbox(1, bboxhi[0], bboxlo[1], bboxhi[2], xmin, ymin, zmin, xmax, ymax, zmax); - domain->lattice->bbox(1, bboxlo[0], bboxhi[1], bboxhi[2], xmin, ymin, zmin, xmax, ymax, zmax); - domain->lattice->bbox(1, bboxhi[0], bboxhi[1], bboxhi[2], xmin, ymin, zmin, xmax, ymax, zmax); + // for general triclinic, convert 8 corner points of bbox to general triclinic coords + // new set of 8 points is no longer an orthogonal bounding box + // instead invoke lattice->bbox() on each of 8 points + } else if (triclinic_general) { + double point[3]; + + point[0] = bboxlo[0]; point[1] = bboxlo[1]; point[2] = bboxlo[2]; + domain->restricted_to_general(point); + domain->lattice->bbox(1, point[0], point[1], point[2], xmin, ymin, zmin, xmax, ymax, zmax); + point[0] = bboxhi[0]; point[1] = bboxlo[1]; point[2] = bboxlo[2]; + domain->restricted_to_general(point); + domain->lattice->bbox(1, point[0], point[1], point[2], xmin, ymin, zmin, xmax, ymax, zmax); + + point[0] = bboxlo[0]; point[1] = bboxhi[1]; point[2] = bboxlo[2]; + domain->restricted_to_general(point); + domain->lattice->bbox(1, point[0], point[1], point[2], xmin, ymin, zmin, xmax, ymax, zmax); + point[0] = bboxhi[0]; point[1] = bboxhi[1]; point[2] = bboxlo[2]; + domain->restricted_to_general(point); + domain->lattice->bbox(1, point[0], point[1], point[2], xmin, ymin, zmin, xmax, ymax, zmax); + + point[0] = bboxlo[0]; point[1] = bboxlo[1]; point[2] = bboxhi[2]; + domain->restricted_to_general(point); + domain->lattice->bbox(1, point[0], point[1], point[2], xmin, ymin, zmin, xmax, ymax, zmax); + point[0] = bboxhi[0]; point[1] = bboxlo[1]; point[2] = bboxhi[2]; + domain->restricted_to_general(point); + domain->lattice->bbox(1, point[0], point[1], point[2], xmin, ymin, zmin, xmax, ymax, zmax); + + point[0] = bboxlo[0]; point[1] = bboxhi[1]; point[2] = bboxhi[2]; + domain->restricted_to_general(point); + domain->lattice->bbox(1, point[0], point[1], point[2], xmin, ymin, zmin, xmax, ymax, zmax); + point[0] = bboxhi[0]; point[1] = bboxhi[1]; point[2] = bboxhi[2]; + domain->restricted_to_general(point); + domain->lattice->bbox(1, point[0], point[1], point[2], xmin, ymin, zmin, xmax, ymax, zmax); + } + // ilo:ihi,jlo:jhi,klo:khi = loop bounds for lattice overlap of my subbox // overlap = any part of a unit cell (face,edge,pt) in common with my subbox // in lattice space, subbox is a tilted box @@ -1233,6 +1294,8 @@ void CreateAtoms::add_lattice() if (ymin < 0.0) jlo--; if (zmin < 0.0) klo--; + printf("LOOP LATTICE bounds: %d %d: %d %d: %d %d\n",ilo,ihi,jlo,jhi,klo,khi); + // count lattice sites on each proc nlatt_overflow = 0; @@ -1298,6 +1361,7 @@ void CreateAtoms::loop_lattice(int action) { int i, j, k, m; + int triclinic_general = domain->triclinic_general; const double *const *const basis = domain->lattice->basis; nlatt = 0; @@ -1317,6 +1381,10 @@ void CreateAtoms::loop_lattice(int action) domain->lattice->lattice2box(x[0], x[1], x[2]); + // convert from general to restricted triclinic coords + + if (triclinic_general) domain->general_to_restricted(x); + // if a region was specified, test if atom is in it if (style == REGION) diff --git a/src/create_atoms.h b/src/create_atoms.h index ae6f1b9d33..5850917112 100644 --- a/src/create_atoms.h +++ b/src/create_atoms.h @@ -69,6 +69,7 @@ class CreateAtoms : public Command { void add_mesh(const char *); int add_bisection(const double[3][3], tagint); int add_quasirandom(const double[3][3], tagint); + void add_lattice_triclinic_general(); void add_lattice(); void loop_lattice(int); void add_molecule(double *); diff --git a/src/create_box.cpp b/src/create_box.cpp index 74a8db8bb3..24dff6c01f 100644 --- a/src/create_box.cpp +++ b/src/create_box.cpp @@ -115,8 +115,10 @@ void CreateBox::command(int narg, char **arg) double chi = utils::numeric(FLERR, arg[iarg + 5], false, lmp); iarg += 6; - // use lattice2box() to generate avec, bvec, cvec and origin - + // use lattice2box() to generate origin and ABC vectors + // origin = abc lo + // ABC vector = hi in one dim - orign + double avec[3],bvec[3],cvec[3],origin[3]; double px,py,pz; @@ -144,12 +146,7 @@ void CreateBox::command(int narg, char **arg) cvec[1] = py - origin[1]; cvec[2] = pz - origin[2]; - printf("ORIGIN %g %g %g\n",origin[0],origin[1],origin[2]); - printf("AVEC %g %g %g\n",avec[0],avec[1],avec[2]); - printf("BVEC %g %g %g\n",bvec[0],bvec[1],bvec[2]); - printf("CVEC %g %g %g\n",cvec[0],cvec[1],cvec[2]); - - // setup general triclinic box in Domain + // setup general triclinic box within Domain domain->set_general_triclinic(avec,bvec,cvec,origin); } diff --git a/src/domain.cpp b/src/domain.cpp index 9629645aa6..d86ced496b 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -667,7 +667,7 @@ void Domain::set_general_triclinic(double *avec_caller, double *bvec_caller, } /* ---------------------------------------------------------------------- - transform one atom's coords from general triclinic to restricted triclinic + transform atom coords from general triclinic to restricted triclinic ------------------------------------------------------------------------- */ void Domain::general_to_restricted(double *x) @@ -681,7 +681,7 @@ void Domain::general_to_restricted(double *x) } /* ---------------------------------------------------------------------- - transform one atom's coords from restricted triclinic to general triclinic + transform atom coords from restricted triclinic to general triclinic ------------------------------------------------------------------------- */ void Domain::restricted_to_general(double *x) diff --git a/src/lattice.cpp b/src/lattice.cpp index 539ec73531..2e7e740fb8 100644 --- a/src/lattice.cpp +++ b/src/lattice.cpp @@ -582,8 +582,9 @@ void Lattice::cross(double *x, double *y, double *z) } /* ---------------------------------------------------------------------- - convert x,y,z from lattice coords to box coords (flag = 0) or vice versa - use new point to expand bounding box (min to max) + convert x,y,z from lattice coords to box coords (flag = 0) + or from box coords to lattice coords (flag = 1) + either way, use new point to expand bounding box (min to max) ------------------------------------------------------------------------- */ void Lattice::bbox(int flag, double x, double y, double z, From 7918f14499d86714aec7c5edb7a985795829044b Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 1 Sep 2023 14:45:00 -0600 Subject: [PATCH 044/559] remove unneeded method --- src/create_atoms.cpp | 10 ---------- src/create_atoms.h | 1 - 2 files changed, 11 deletions(-) diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index 9a34544627..ac29387ff3 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -1155,16 +1155,6 @@ void CreateAtoms::add_mesh(const char *filename) } } -/* ---------------------------------------------------------------------- - add many atoms to general triclinic box by looping over lattice -------------------------------------------------------------------------- */ - -void CreateAtoms::add_lattice_triclinic_general() -{ - - -} - /* ---------------------------------------------------------------------- add many atoms by looping over lattice ------------------------------------------------------------------------- */ diff --git a/src/create_atoms.h b/src/create_atoms.h index 5850917112..ae6f1b9d33 100644 --- a/src/create_atoms.h +++ b/src/create_atoms.h @@ -69,7 +69,6 @@ class CreateAtoms : public Command { void add_mesh(const char *); int add_bisection(const double[3][3], tagint); int add_quasirandom(const double[3][3], tagint); - void add_lattice_triclinic_general(); void add_lattice(); void loop_lattice(int); void add_molecule(double *); From 40def67942ea62d62b487d3aeab5e5e5962c4513 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 1 Sep 2023 17:46:52 -0600 Subject: [PATCH 045/559] debugging --- src/domain.cpp | 4 +--- src/pair_lj_cut.cpp | 2 ++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/domain.cpp b/src/domain.cpp index d86ced496b..69ca63169c 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -638,13 +638,12 @@ void Domain::set_general_triclinic(double *avec_caller, double *bvec_caller, boxhi[1] = boxlo[1] + bprime[1]; boxhi[2] = boxlo[2] + cprime[2]; - xy = bprime[1]; + xy = bprime[0]; xz = cprime[0]; yz = cprime[1]; // debug - /* printf("Quat: %g %g %g %g\n",quat[0],quat[1],quat[2],quat[3]); double angle = 2.0*acos(quat[0]); printf("Theta: %g\n",angle); @@ -663,7 +662,6 @@ void Domain::set_general_triclinic(double *avec_caller, double *bvec_caller, printf("Atom1: %g %g %g\n",newcoord[0],newcoord[1],newcoord[2]); MathExtra::matvec(rotate_g2r,coord2,newcoord); printf("Atom2: %g %g %g\n",newcoord[0],newcoord[1],newcoord[2]); - */ } /* ---------------------------------------------------------------------- diff --git a/src/pair_lj_cut.cpp b/src/pair_lj_cut.cpp index fae308c57f..0e4398f676 100644 --- a/src/pair_lj_cut.cpp +++ b/src/pair_lj_cut.cpp @@ -111,6 +111,8 @@ void PairLJCut::compute(int eflag, int vflag) jtype = type[j]; if (rsq < cutsq[itype][jtype]) { + printf("AAA tags %d %d ij %d %d nlocal %d dist %g\n", + atom->tag[i],atom->tag[j],i,j,atom->nlocal,sqrt(rsq)); r2inv = 1.0 / rsq; r6inv = r2inv * r2inv * r2inv; forcelj = r6inv * (lj1[itype][jtype] * r6inv - lj2[itype][jtype]); From 8c3ab47fd6d458dc42a0404cd9b80b6c13f74d34 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 1 Sep 2023 22:58:10 -0600 Subject: [PATCH 046/559] more debugging for fcc example --- src/create_box.cpp | 2 ++ src/domain.cpp | 28 +++++++++++++++++++++++++--- src/lattice.cpp | 10 ++++++---- 3 files changed, 33 insertions(+), 7 deletions(-) diff --git a/src/create_box.cpp b/src/create_box.cpp index 24dff6c01f..99dd74d566 100644 --- a/src/create_box.cpp +++ b/src/create_box.cpp @@ -129,10 +129,12 @@ void CreateBox::command(int narg, char **arg) origin[2] = pz; px = ahi; py = blo; pz = clo; + printf("CB PXYZ %g %g %g\n",px,py,pz); domain->lattice->lattice2box(px,py,pz); avec[0] = px - origin[0]; avec[1] = py - origin[1]; avec[2] = pz - origin[2]; + printf("CB AVEC %g %g %g\n",avec[0],avec[1],avec[2]); px = alo; py = bhi; pz = clo; domain->lattice->lattice2box(px,py,pz); diff --git a/src/domain.cpp b/src/domain.cpp index 69ca63169c..f1b0c5a20e 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -577,32 +577,46 @@ void Domain::set_general_triclinic(double *avec_caller, double *bvec_caller, MathExtra::norm3(rot1); double theta1 = acos(avec[0]/avec_len); MathExtra::axisangle_to_quat(rot1,theta1,quat1); - + // rotmat1 = rotation matrix associated with quat1 double rotmat1[3][3]; MathExtra::quat_to_mat(quat1,rotmat1); + // DEBUG + double afinal[3]; + MathExtra::matvec(rotmat1,avec,afinal); + printf("AFINAL %g %g %g\n",afinal[0],afinal[1],afinal[2]); + // B1 = rotation of B by quat1 rotation matrix double bvec1[3]; - MathExtra::matvec(rotmat1,bvec,bvec1); + printf("BVEC1 %g %g %g\n",bvec1[0],bvec1[1],bvec1[2]); + // quat2 = rotation to convert B1 into B' in xy plane // Byz1 = projection of B1 into yz plane // rot2 = unit vector to rotate B1 around = -x axis // theta2 = angle of rotation calculated from - // Byz1 dot yunit = B1y = |Byz1} cos(theta2) + // Byz1 dot yunit = B1y = |Byz1| cos(theta2) double byzvec1[3],quat2[4]; MathExtra::copy3(bvec1,byzvec1); byzvec1[0] = 0.0; double byzvec1_len = MathExtra::len3(byzvec1); double rot2[3] = {-1.0, 0.0, 0.0}; + if (byzvec1[2] < 0.0) rot2[0] = 1.0; double theta2 = acos(bvec1[1]/byzvec1_len); MathExtra::axisangle_to_quat(rot2,theta2,quat2); + // DEBUG + double rotmat2[3][3]; + MathExtra::quat_to_mat(quat2,rotmat2); + double bfinal[3]; + MathExtra::matvec(rotmat1,bvec1,bfinal); + printf("BFINAL %g %g %g\n",bfinal[0],bfinal[1],bfinal[2]); + // quat = product of quat2 * quat1 = transformation via single quat // rotate_g2r = general to restricted transformation matrix // rotate_r2g = restricted to general transformation matrix @@ -644,6 +658,14 @@ void Domain::set_general_triclinic(double *avec_caller, double *bvec_caller, // debug + printf("Cvec: %g %g %g\n",cvec[0],cvec[1],cvec[2]); + printf("ABcross: %g %g %g\n",abcross[0],abcross[1],abcross[2]); + printf("Dot: %g\n",dot); + printf("Avec: %g %g %g\n",avec[0],avec[1],avec[2]); + printf("Theta1: %g\n",theta1); + printf("Rotvec1: %g %g %g\n",rot1[0],rot1[1],rot1[2]); + printf("Theta2: %g\n",theta2); + printf("Rotvec2: %g %g %g\n",rot2[0],rot2[1],rot2[2]); printf("Quat: %g %g %g %g\n",quat[0],quat[1],quat[2],quat[3]); double angle = 2.0*acos(quat[0]); printf("Theta: %g\n",angle); diff --git a/src/lattice.cpp b/src/lattice.cpp index 2e7e740fb8..a5dc9714cf 100644 --- a/src/lattice.cpp +++ b/src/lattice.cpp @@ -186,6 +186,7 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) a1[1] = utils::numeric(FLERR,arg[iarg+2],false,lmp); a1[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); iarg += 4; + } else if (strcmp(arg[iarg],"a2") == 0) { if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "lattice a2", error); if (style != CUSTOM) @@ -254,11 +255,12 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) // reset scale for LJ units (input scale is rho*) // scale = (Nbasis/(Vprimitive * rho*)) ^ (1/dim) - + // use fabs() in case a1,a2,a3 are not right-handed for general triclinic + if (strcmp(update->unit_style,"lj") == 0) { double vec[3]; cross(a2,a3,vec); - double volume = dot(a1,vec); + double volume = fabs(dot(a1,vec)); scale = pow(nbasis/volume/scale,1.0/dimension); } @@ -497,7 +499,7 @@ void Lattice::setup_transform() ------------------------------------------------------------------------- */ void Lattice::lattice2box(double &x, double &y, double &z) -{ +{ double x1 = primitive[0][0]*x + primitive[0][1]*y + primitive[0][2]*z; double y1 = primitive[1][0]*x + primitive[1][1]*y + primitive[1][2]*z; double z1 = primitive[2][0]*x + primitive[2][1]*y + primitive[2][2]*z; @@ -590,7 +592,7 @@ void Lattice::cross(double *x, double *y, double *z) void Lattice::bbox(int flag, double x, double y, double z, double &xmin, double &ymin, double &zmin, double &xmax, double &ymax, double &zmax) -{ +{ if (flag == 0) lattice2box(x,y,z); else box2lattice(x,y,z); From 57f6526e53655f9027ddab0f34c2fc99b7cb8b58 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Sat, 2 Sep 2023 18:45:37 -0600 Subject: [PATCH 047/559] code cleanup --- src/create_box.cpp | 8 ++--- src/domain.cpp | 81 +++++++++++++++++----------------------------- src/domain.h | 4 +-- src/read_data.cpp | 31 ++++++++++-------- src/read_data.h | 4 +-- src/write_data.cpp | 10 +++--- 6 files changed, 59 insertions(+), 79 deletions(-) diff --git a/src/create_box.cpp b/src/create_box.cpp index 99dd74d566..e42c7c32f0 100644 --- a/src/create_box.cpp +++ b/src/create_box.cpp @@ -96,7 +96,7 @@ void CreateBox::command(int narg, char **arg) // setup general triclinic box (with no region) // read next box extent arguments to create ABC edge vectors + origin - // set_general_triclinic() converts + // setup_general_triclinic() converts // ABC edge vectors + origin to restricted triclinic } else if (triclinic_general) { @@ -117,7 +117,7 @@ void CreateBox::command(int narg, char **arg) // use lattice2box() to generate origin and ABC vectors // origin = abc lo - // ABC vector = hi in one dim - orign + // ABC vectors = hi in one dim - orign double avec[3],bvec[3],cvec[3],origin[3]; double px,py,pz; @@ -129,12 +129,10 @@ void CreateBox::command(int narg, char **arg) origin[2] = pz; px = ahi; py = blo; pz = clo; - printf("CB PXYZ %g %g %g\n",px,py,pz); domain->lattice->lattice2box(px,py,pz); avec[0] = px - origin[0]; avec[1] = py - origin[1]; avec[2] = pz - origin[2]; - printf("CB AVEC %g %g %g\n",avec[0],avec[1],avec[2]); px = alo; py = bhi; pz = clo; domain->lattice->lattice2box(px,py,pz); @@ -150,7 +148,7 @@ void CreateBox::command(int narg, char **arg) // setup general triclinic box within Domain - domain->set_general_triclinic(avec,bvec,cvec,origin); + domain->setup_general_triclinic(avec,bvec,cvec,origin); } // if molecular, zero out topology info diff --git a/src/domain.cpp b/src/domain.cpp index f1b0c5a20e..29e0e2cd89 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -527,8 +527,8 @@ void Domain::reset_box() create rotation matrices for general <--> restricted transformations ------------------------------------------------------------------------- */ -void Domain::set_general_triclinic(double *avec_caller, double *bvec_caller, - double *cvec_caller, double *origin_caller) +void Domain::setup_general_triclinic(double *avec_caller, double *bvec_caller, + double *cvec_caller, double *origin_caller) { if (triclinic || triclinic_general) error->all(FLERR,"General triclinic box edge vectors are already set"); @@ -547,15 +547,15 @@ void Domain::set_general_triclinic(double *avec_caller, double *bvec_caller, cvec[1] = cvec_caller[1]; cvec[2] = cvec_caller[2]; - tri_origin[0] = origin_caller[0]; - tri_origin[1] = origin_caller[1]; - tri_origin[2] = origin_caller[2]; + gtri_origin[0] = origin_caller[0]; + gtri_origin[1] = origin_caller[1]; + gtri_origin[2] = origin_caller[2]; // error check on cvec for 2d systems if (dimension == 2 && (cvec[0] != 0.0 || cvec[1] != 0.0)) error->all(FLERR,"General triclinic box edge vector C invalid for 2d system"); - + // error check for co-planar A,B,C double abcross[3]; @@ -563,8 +563,8 @@ void Domain::set_general_triclinic(double *avec_caller, double *bvec_caller, double dot = MathExtra::dot3(abcross,cvec); if (dot == 0.0) error->all(FLERR,"General triclinic box edge vectors are co-planar"); - - // quat1 = convert A into A' along x-axis + + // quat1 = convert A into A' along +x-axis // rot1 = unit vector to rotate A around // theta1 = angle of rotation calculated from // A dot xunit = Ax = |A| cos(theta1) @@ -583,45 +583,34 @@ void Domain::set_general_triclinic(double *avec_caller, double *bvec_caller, double rotmat1[3][3]; MathExtra::quat_to_mat(quat1,rotmat1); - // DEBUG - double afinal[3]; - MathExtra::matvec(rotmat1,avec,afinal); - printf("AFINAL %g %g %g\n",afinal[0],afinal[1],afinal[2]); - // B1 = rotation of B by quat1 rotation matrix double bvec1[3]; MathExtra::matvec(rotmat1,bvec,bvec1); - printf("BVEC1 %g %g %g\n",bvec1[0],bvec1[1],bvec1[2]); - // quat2 = rotation to convert B1 into B' in xy plane // Byz1 = projection of B1 into yz plane - // rot2 = unit vector to rotate B1 around = -x axis + // +xaxis = unit vector to rotate B1 around // theta2 = angle of rotation calculated from // Byz1 dot yunit = B1y = |Byz1| cos(theta2) - + // theta2 via acos() is positive (0 to PI) + // positive is valid if B1z < 0.0 else flip sign of theta2 + double byzvec1[3],quat2[4]; MathExtra::copy3(bvec1,byzvec1); byzvec1[0] = 0.0; double byzvec1_len = MathExtra::len3(byzvec1); - double rot2[3] = {-1.0, 0.0, 0.0}; - if (byzvec1[2] < 0.0) rot2[0] = 1.0; double theta2 = acos(bvec1[1]/byzvec1_len); - MathExtra::axisangle_to_quat(rot2,theta2,quat2); + if (bvec1[2] > 0.0) theta2 = -theta2; + MathExtra::axisangle_to_quat(xaxis,theta2,quat2); - // DEBUG - double rotmat2[3][3]; - MathExtra::quat_to_mat(quat2,rotmat2); - double bfinal[3]; - MathExtra::matvec(rotmat1,bvec1,bfinal); - printf("BFINAL %g %g %g\n",bfinal[0],bfinal[1],bfinal[2]); - - // quat = product of quat2 * quat1 = transformation via single quat + // quat = transformation via single quat = quat2 * quat1 // rotate_g2r = general to restricted transformation matrix + // if dot < 0.0 (A x B not in C direction) + // flip sign of z component of transform, + // by flipping sign of 3rd row of rotate_g2r matrix // rotate_r2g = restricted to general transformation matrix - // if A x B not in direction of C, flip sign of z component of transform - // done by flipping sign of 3rd row of rotate_g2r matrix + // simply a transpose of rotate_g2r since orthonormal double quat[4]; MathExtra::quatquat(quat2,quat1,quat); @@ -644,9 +633,9 @@ void Domain::set_general_triclinic(double *avec_caller, double *bvec_caller, // set restricted triclinic boxlo, boxhi, and tilt factors - boxlo[0] = tri_origin[0]; - boxlo[1] = tri_origin[1]; - boxlo[2] = tri_origin[2]; + boxlo[0] = gtri_origin[0]; + boxlo[1] = gtri_origin[1]; + boxlo[2] = gtri_origin[2]; boxhi[0] = boxlo[0] + aprime[0]; boxhi[1] = boxlo[1] + bprime[1]; @@ -658,14 +647,10 @@ void Domain::set_general_triclinic(double *avec_caller, double *bvec_caller, // debug - printf("Cvec: %g %g %g\n",cvec[0],cvec[1],cvec[2]); - printf("ABcross: %g %g %g\n",abcross[0],abcross[1],abcross[2]); - printf("Dot: %g\n",dot); - printf("Avec: %g %g %g\n",avec[0],avec[1],avec[2]); printf("Theta1: %g\n",theta1); printf("Rotvec1: %g %g %g\n",rot1[0],rot1[1],rot1[2]); printf("Theta2: %g\n",theta2); - printf("Rotvec2: %g %g %g\n",rot2[0],rot2[1],rot2[2]); + printf("Rotvec2: %g %g %g\n",xaxis[0],xaxis[1],xaxis[2]); printf("Quat: %g %g %g %g\n",quat[0],quat[1],quat[2],quat[3]); double angle = 2.0*acos(quat[0]); printf("Theta: %g\n",angle); @@ -676,14 +661,6 @@ void Domain::set_general_triclinic(double *avec_caller, double *bvec_caller, printf("Length A: %g %g\n",MathExtra::len3(avec),MathExtra::len3(aprime)); printf("Length B: %g %g\n",MathExtra::len3(bvec),MathExtra::len3(bprime)); printf("Length C: %g %g\n",MathExtra::len3(cvec),MathExtra::len3(cprime)); - - double coord1[3] = {0.5,0.0,0.0}; - double coord2[3] = {0.5,0.0,0.3}; - double newcoord[3]; - MathExtra::matvec(rotate_g2r,coord1,newcoord); - printf("Atom1: %g %g %g\n",newcoord[0],newcoord[1],newcoord[2]); - MathExtra::matvec(rotate_g2r,coord2,newcoord); - printf("Atom2: %g %g %g\n",newcoord[0],newcoord[1],newcoord[2]); } /* ---------------------------------------------------------------------- @@ -695,9 +672,9 @@ void Domain::general_to_restricted(double *x) double xnew[3]; MathExtra::matvec(rotate_g2r,x,xnew); - x[0] = xnew[0] + tri_origin[0]; - x[1] = xnew[1] + tri_origin[1]; - x[2] = xnew[2] + tri_origin[2]; + x[0] = xnew[0] + gtri_origin[0]; + x[1] = xnew[1] + gtri_origin[1]; + x[2] = xnew[2] + gtri_origin[2]; } /* ---------------------------------------------------------------------- @@ -708,9 +685,9 @@ void Domain::restricted_to_general(double *x) { double xshift[3],xnew[3]; - xshift[0] = x[0] - tri_origin[0]; - xshift[1] = x[1] - tri_origin[1]; - xshift[2] = x[2] - tri_origin[2]; + xshift[0] = x[0] - gtri_origin[0]; + xshift[1] = x[1] - gtri_origin[1]; + xshift[2] = x[2] - gtri_origin[2]; MathExtra::matvec(rotate_r2g,xshift,xnew); x[0] = xnew[0]; x[1] = xnew[1]; diff --git a/src/domain.h b/src/domain.h index e77af5d968..d09f4cf70d 100644 --- a/src/domain.h +++ b/src/domain.h @@ -91,7 +91,7 @@ class Domain : protected Pointers { // general triclinic box double avec[3], bvec[3], cvec[3]; // ABC edge vectors of general triclinic box - double tri_origin[3]; // origin of general triclinic box + double gtri_origin[3]; // origin of general triclinic box double rotate_g2r[3][3]; // rotation matrix from general --> restricted tri double rotate_r2g[3][3]; // rotation matrix from restricted --> general tri @@ -141,7 +141,7 @@ class Domain : protected Pointers { void image_flip(int, int, int); int ownatom(int, double *, imageint *, int); - void set_general_triclinic(double *, double *, double *, double *); + void setup_general_triclinic(double *, double *, double *, double *); void general_to_restricted(double *); void restricted_to_general(double *); diff --git a/src/read_data.cpp b/src/read_data.cpp index bd998ed3f5..75d1c23b75 100644 --- a/src/read_data.cpp +++ b/src/read_data.cpp @@ -480,7 +480,7 @@ void ReadData::command(int narg, char **arg) ellipsoidflag = lineflag = triflag = bodyflag = 0; xloxhi_flag = yloyhi_flag = zlozhi_flag = tilt_flag = 0; - avec_flag = bvec_flag = cvec_flag = 0; + avec_flag = bvec_flag = cvec_flag = gtri_origin_flag = 0; // values in this data file @@ -495,7 +495,7 @@ void ReadData::command(int narg, char **arg) bvec[0] = bvec[1] = bvec[2] = 0.0; cvec[0] = cvec[1] = cvec[2] = 0.0; avec[0] = bvec[1] = cvec[2] = 1.0; - tri_origin[0] = tri_origin[1] = tri_origin[2] = 0.0; + gtri_origin[0] = gtri_origin[1] = gtri_origin[2] = 0.0; keyword[0] = '\0'; @@ -518,7 +518,7 @@ void ReadData::command(int narg, char **arg) // check if simulation box specified consistently - if (!avec_flag && !bvec_flag && !cvec_flag) { + if (!avec_flag && !bvec_flag && !cvec_flag && !gtri_origin_flag) { triclinic = triclinic_general = 0; if (tilt_flag) triclinic = 1; } else { @@ -579,11 +579,11 @@ void ReadData::command(int narg, char **arg) } // general triclinic box - // set_general_triclinic() converts - // ABC edge vectors + origin to restricted triclinic + // setup_general_triclinic() converts + // ABC edge vectors + gtri_origin to restricted triclinic } else if (triclinic_general) { - domain->set_general_triclinic(avec,bvec,cvec,tri_origin); + domain->setup_general_triclinic(avec,bvec,cvec,gtri_origin); } } @@ -609,8 +609,8 @@ void ReadData::command(int narg, char **arg) errflag = 1; if (cvec[0] != domain->cvec[0] || cvec[1] != domain->cvec[1] || cvec[2] != domain->cvec[2]) errflag = 1; - if (tri_origin[0] != domain->tri_origin[0] || tri_origin[1] != domain->tri_origin[1] || - tri_origin[2] != domain->tri_origin[2]) + if (gtri_origin[0] != domain->gtri_origin[0] || gtri_origin[1] != domain->gtri_origin[1] || + gtri_origin[2] != domain->gtri_origin[2]) errflag = 1; if (errflag) error->all(FLERR,"Read_data subsequent file ABC vectors must be same as first file"); @@ -1414,26 +1414,29 @@ void ReadData::header(int firstpass) xz = utils::numeric(FLERR, words[1], false, lmp); yz = utils::numeric(FLERR, words[2], false, lmp); - } else if (utils::strmatch(line, "^\\s*\\f+\\s+\\f+\\s+\\f+\\s+\\f+\\s+\\avec\\s")) { + } else if (utils::strmatch(line, "^\\s*\\f+\\s+\\f+\\s+\\f+\\s+\\avec\\s")) { avec_flag = 1; avec[0] = utils::numeric(FLERR, words[0], false, lmp); avec[1] = utils::numeric(FLERR, words[1], false, lmp); avec[2] = utils::numeric(FLERR, words[2], false, lmp); - tri_origin[0] = utils::numeric(FLERR, words[3], false, lmp); - } else if (utils::strmatch(line, "^\\s*\\f+\\s+\\f+\\s+\\f+\\s+\\f+\\s+\\bvec\\s")) { + } else if (utils::strmatch(line, "^\\s*\\f+\\s+\\f+\\s+\\f+\\s+\\bvec\\s")) { bvec_flag = 1; bvec[0] = utils::numeric(FLERR, words[0], false, lmp); bvec[1] = utils::numeric(FLERR, words[1], false, lmp); bvec[2] = utils::numeric(FLERR, words[2], false, lmp); - tri_origin[1] = utils::numeric(FLERR, words[3], false, lmp); - } else if (utils::strmatch(line, "^\\s*\\f+\\s+\\f+\\s+\\f+\\s+\\f+\\s+\\cvec\\s")) { + } else if (utils::strmatch(line, "^\\s*\\f+\\s+\\f+\\s+\\f+\\s+\\cvec\\s")) { cvec_flag = 1; cvec[0] = utils::numeric(FLERR, words[0], false, lmp); cvec[1] = utils::numeric(FLERR, words[1], false, lmp); cvec[2] = utils::numeric(FLERR, words[2], false, lmp); - tri_origin[2] = utils::numeric(FLERR, words[3], false, lmp); + + } else if (utils::strmatch(line, "^\\s*\\f+\\s+\\f+\\s+\\f+\\s+\\gtri\\s+origin\\s")) { + gtri_origin_flag = 1; + gtri_origin[0] = utils::numeric(FLERR, words[0], false, lmp); + gtri_origin[1] = utils::numeric(FLERR, words[1], false, lmp); + gtri_origin[2] = utils::numeric(FLERR, words[2], false, lmp); } else break; diff --git a/src/read_data.h b/src/read_data.h index 6439fbd096..e3c269e685 100644 --- a/src/read_data.h +++ b/src/read_data.h @@ -63,10 +63,10 @@ class ReadData : public Command { double boxlo[3], boxhi[3]; double xy, xz, yz; - double avec[3], bvec[3], cvec[3], tri_origin[3]; + double avec[3], bvec[3], cvec[3], gtri_origin[3]; int triclinic, triclinic_general; int xloxhi_flag, yloyhi_flag, zlozhi_flag, tilt_flag; - int avec_flag, bvec_flag, cvec_flag; + int avec_flag, bvec_flag, cvec_flag, gtri_origin_flag; // optional args diff --git a/src/write_data.cpp b/src/write_data.cpp index 03e09cf462..ad0c508d15 100644 --- a/src/write_data.cpp +++ b/src/write_data.cpp @@ -331,10 +331,12 @@ void WriteData::header() fmt::print(fp,"{} {} {} xy xz yz\n",domain->xy,domain->xz,domain->yz); } else if (triclinic_general) { - fmt::print(fp,"\n{} {} {} {} avec\n{} {} {} {} bvec\n{} {} {} {} cvec\n", - domain->avec[0],domain->avec[1],domain->avec[2],domain->tri_origin[0], - domain->bvec[0],domain->bvec[1],domain->bvec[2],domain->tri_origin[1], - domain->cvec[0],domain->cvec[1],domain->cvec[2],domain->tri_origin[2]); + fmt::print(fp,"\n{} {} {} avec\n{} {} {} bvec\n{} {} {} cvec\n", + domain->avec[0],domain->avec[1],domain->avec[2], + domain->bvec[0],domain->bvec[1],domain->bvec[2], + domain->cvec[0],domain->cvec[1],domain->cvec[2]); + fmt::print(fp,"{} {} {} gtri origin\n", + domain->gtri_origin[0],domain->gtri_origin[1],domain->gtri_origin[2]); } } From 78fbdad59e4039d113cc04b95580b6271b062923 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Sat, 2 Sep 2023 18:46:58 -0600 Subject: [PATCH 048/559] code cleanup --- src/create_box.cpp | 2 +- src/lattice.cpp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/create_box.cpp b/src/create_box.cpp index e42c7c32f0..c534bf63f8 100644 --- a/src/create_box.cpp +++ b/src/create_box.cpp @@ -117,7 +117,7 @@ void CreateBox::command(int narg, char **arg) // use lattice2box() to generate origin and ABC vectors // origin = abc lo - // ABC vectors = hi in one dim - orign + // ABC vectors = hi in one dim - origin double avec[3],bvec[3],cvec[3],origin[3]; double px,py,pz; diff --git a/src/lattice.cpp b/src/lattice.cpp index a5dc9714cf..6d7450fd2b 100644 --- a/src/lattice.cpp +++ b/src/lattice.cpp @@ -239,11 +239,11 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) if (origin[2] != 0.0) error->all(FLERR, "Lattice settings are not compatible with 2d simulation"); - if (orientx[2] != 0 || orienty[2] != 0 || - orientz[0] != 0 || orientz[1] != 0) + if (a1[2] != 0.0 || a2[2] != 0.0 || a3[0] != 0.0 || a3[1] != 0.0) error->all(FLERR, "Lattice settings are not compatible with 2d simulation"); - if (a1[2] != 0.0 || a2[2] != 0.0 || a3[0] != 0.0 || a3[1] != 0.0) + if (orientx[2] != 0 || orienty[2] != 0 || + orientz[0] != 0 || orientz[1] != 0) error->all(FLERR, "Lattice settings are not compatible with 2d simulation"); } From fb890fcdfebe7bf16e2f91d91d8bc5aa51540e00 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Sep 2023 17:09:21 +0000 Subject: [PATCH 049/559] Bump actions/checkout from 3 to 4 Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/codeql-analysis.yml | 2 +- .github/workflows/compile-msvc.yml | 2 +- .github/workflows/coverity.yml | 2 +- .github/workflows/unittest-macos.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index c33628ac04..58b001be24 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -25,7 +25,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 2 diff --git a/.github/workflows/compile-msvc.yml b/.github/workflows/compile-msvc.yml index 5ae0654ee0..5c6ceeefb4 100644 --- a/.github/workflows/compile-msvc.yml +++ b/.github/workflows/compile-msvc.yml @@ -19,7 +19,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 2 diff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml index 7bda3a071f..b1c23e1f6a 100644 --- a/.github/workflows/coverity.yml +++ b/.github/workflows/coverity.yml @@ -16,7 +16,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 2 diff --git a/.github/workflows/unittest-macos.yml b/.github/workflows/unittest-macos.yml index ea979ca94f..6970faceaa 100644 --- a/.github/workflows/unittest-macos.yml +++ b/.github/workflows/unittest-macos.yml @@ -21,7 +21,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 2 From 1ed8dd69063abf9348aa64620e01b1394644c09e Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 4 Sep 2023 15:26:55 -0600 Subject: [PATCH 050/559] add general triclinic options to dump custom --- src/atom.cpp | 2 +- src/create_atoms.cpp | 18 +-- src/create_box.cpp | 6 +- src/domain.cpp | 107 ++++++++++++--- src/domain.h | 15 +- src/dump_custom.cpp | 310 ++++++++++++++++++++++++++++++++++++++++-- src/dump_custom.h | 25 +++- src/lmprestart.h | 1 + src/pair_lj_cut.cpp | 2 - src/read_data.cpp | 28 ++-- src/read_data.h | 5 +- src/read_restart.cpp | 7 + src/write_data.cpp | 6 +- src/write_restart.cpp | 6 + 14 files changed, 461 insertions(+), 77 deletions(-) diff --git a/src/atom.cpp b/src/atom.cpp index 0249547253..2c2ebd911f 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -1181,7 +1181,7 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, // convert atom coords from general triclinic to restricted triclinic - if (triclinic_general) domain->general_to_restricted(xdata); + if (triclinic_general) domain->general_to_restricted_coords(xdata); // apply shift if requested by read_data command diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index ac29387ff3..f7347f9ad1 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -1236,31 +1236,31 @@ void CreateAtoms::add_lattice() double point[3]; point[0] = bboxlo[0]; point[1] = bboxlo[1]; point[2] = bboxlo[2]; - domain->restricted_to_general(point); + domain->restricted_to_general_coords(point); domain->lattice->bbox(1, point[0], point[1], point[2], xmin, ymin, zmin, xmax, ymax, zmax); point[0] = bboxhi[0]; point[1] = bboxlo[1]; point[2] = bboxlo[2]; - domain->restricted_to_general(point); + domain->restricted_to_general_coords(point); domain->lattice->bbox(1, point[0], point[1], point[2], xmin, ymin, zmin, xmax, ymax, zmax); point[0] = bboxlo[0]; point[1] = bboxhi[1]; point[2] = bboxlo[2]; - domain->restricted_to_general(point); + domain->restricted_to_general_coords(point); domain->lattice->bbox(1, point[0], point[1], point[2], xmin, ymin, zmin, xmax, ymax, zmax); point[0] = bboxhi[0]; point[1] = bboxhi[1]; point[2] = bboxlo[2]; - domain->restricted_to_general(point); + domain->restricted_to_general_coords(point); domain->lattice->bbox(1, point[0], point[1], point[2], xmin, ymin, zmin, xmax, ymax, zmax); point[0] = bboxlo[0]; point[1] = bboxlo[1]; point[2] = bboxhi[2]; - domain->restricted_to_general(point); + domain->restricted_to_general_coords(point); domain->lattice->bbox(1, point[0], point[1], point[2], xmin, ymin, zmin, xmax, ymax, zmax); point[0] = bboxhi[0]; point[1] = bboxlo[1]; point[2] = bboxhi[2]; - domain->restricted_to_general(point); + domain->restricted_to_general_coords(point); domain->lattice->bbox(1, point[0], point[1], point[2], xmin, ymin, zmin, xmax, ymax, zmax); point[0] = bboxlo[0]; point[1] = bboxhi[1]; point[2] = bboxhi[2]; - domain->restricted_to_general(point); + domain->restricted_to_general_coords(point); domain->lattice->bbox(1, point[0], point[1], point[2], xmin, ymin, zmin, xmax, ymax, zmax); point[0] = bboxhi[0]; point[1] = bboxhi[1]; point[2] = bboxhi[2]; - domain->restricted_to_general(point); + domain->restricted_to_general_coords(point); domain->lattice->bbox(1, point[0], point[1], point[2], xmin, ymin, zmin, xmax, ymax, zmax); } @@ -1373,7 +1373,7 @@ void CreateAtoms::loop_lattice(int action) // convert from general to restricted triclinic coords - if (triclinic_general) domain->general_to_restricted(x); + if (triclinic_general) domain->general_to_restricted_coords(x); // if a region was specified, test if atom is in it diff --git a/src/create_box.cpp b/src/create_box.cpp index c534bf63f8..6a04744826 100644 --- a/src/create_box.cpp +++ b/src/create_box.cpp @@ -96,7 +96,7 @@ void CreateBox::command(int narg, char **arg) // setup general triclinic box (with no region) // read next box extent arguments to create ABC edge vectors + origin - // setup_general_triclinic() converts + // define_general_triclinic() converts // ABC edge vectors + origin to restricted triclinic } else if (triclinic_general) { @@ -146,9 +146,9 @@ void CreateBox::command(int narg, char **arg) cvec[1] = py - origin[1]; cvec[2] = pz - origin[2]; - // setup general triclinic box within Domain + // define general triclinic box within Domain - domain->setup_general_triclinic(avec,bvec,cvec,origin); + domain->define_general_triclinic(avec,bvec,cvec,origin); } // if molecular, zero out topology info diff --git a/src/domain.cpp b/src/domain.cpp index 29e0e2cd89..810814a80f 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -290,6 +290,29 @@ void Domain::set_global_box() boxhi_bound[1] = MAX(boxhi[1],boxhi[1]+yz); boxhi_bound[2] = boxhi[2]; } + + // update general triclinic box if defined + // reset ABC edge vectors from restricted triclinic box + // boxlo = lower left corner of general triclinic box + + if (triclinic_general) { + double aprime[3],bprime[3],cprime[3]; + + aprime[0] = boxhi[0] - boxlo[0]; + aprime[1] = aprime[2] = 0.0; + bprime[0] = xy; + bprime[1] = boxhi[1] - boxlo[1]; + bprime[2] = 0.0; + cprime[0] = xz; + cprime[1] = yz; + cprime[2] = boxhi[2] - boxlo[2]; + + // transform restricted A'B'C' to general triclinic A,B,C + + MathExtra::matvec(rotate_r2g,aprime,avec); + MathExtra::matvec(rotate_r2g,bprime,bvec); + MathExtra::matvec(rotate_r2g,cprime,cvec); + } } /* ---------------------------------------------------------------------- @@ -527,8 +550,8 @@ void Domain::reset_box() create rotation matrices for general <--> restricted transformations ------------------------------------------------------------------------- */ -void Domain::setup_general_triclinic(double *avec_caller, double *bvec_caller, - double *cvec_caller, double *origin_caller) +void Domain::define_general_triclinic(double *avec_caller, double *bvec_caller, + double *cvec_caller, double *origin_caller) { if (triclinic || triclinic_general) error->all(FLERR,"General triclinic box edge vectors are already set"); @@ -547,9 +570,9 @@ void Domain::setup_general_triclinic(double *avec_caller, double *bvec_caller, cvec[1] = cvec_caller[1]; cvec[2] = cvec_caller[2]; - gtri_origin[0] = origin_caller[0]; - gtri_origin[1] = origin_caller[1]; - gtri_origin[2] = origin_caller[2]; + boxlo[0] = origin_caller[0]; + boxlo[1] = origin_caller[1]; + boxlo[2] = origin_caller[2]; // error check on cvec for 2d systems @@ -623,9 +646,9 @@ void Domain::setup_general_triclinic(double *avec_caller, double *bvec_caller, } MathExtra::transpose3(rotate_g2r,rotate_r2g); - - // A',B',C' = transformation of A,B,C to restricted triclinic - + + // transform general ABC to restricted triclinic A'B'C' + double aprime[3],bprime[3],cprime[3]; MathExtra::matvec(rotate_g2r,avec,aprime); MathExtra::matvec(rotate_g2r,bvec,bprime); @@ -633,10 +656,6 @@ void Domain::setup_general_triclinic(double *avec_caller, double *bvec_caller, // set restricted triclinic boxlo, boxhi, and tilt factors - boxlo[0] = gtri_origin[0]; - boxlo[1] = gtri_origin[1]; - boxlo[2] = gtri_origin[2]; - boxhi[0] = boxlo[0] + aprime[0]; boxhi[1] = boxlo[1] + bprime[1]; boxhi[2] = boxlo[2] + cprime[2]; @@ -667,28 +686,72 @@ void Domain::setup_general_triclinic(double *avec_caller, double *bvec_caller, transform atom coords from general triclinic to restricted triclinic ------------------------------------------------------------------------- */ -void Domain::general_to_restricted(double *x) +void Domain::general_to_restricted_coords(double *x) { - double xnew[3]; + double xshift[3],xnew[3]; - MathExtra::matvec(rotate_g2r,x,xnew); - x[0] = xnew[0] + gtri_origin[0]; - x[1] = xnew[1] + gtri_origin[1]; - x[2] = xnew[2] + gtri_origin[2]; + xshift[0] = x[0] - boxlo[0]; + xshift[1] = x[1] - boxlo[1]; + xshift[2] = x[2] - boxlo[2]; + MathExtra::matvec(rotate_g2r,xshift,xnew); + x[0] = xnew[0] + boxlo[0]; + x[1] = xnew[1] + boxlo[1]; + x[2] = xnew[2] + boxlo[2]; } /* ---------------------------------------------------------------------- transform atom coords from restricted triclinic to general triclinic ------------------------------------------------------------------------- */ -void Domain::restricted_to_general(double *x) +void Domain::restricted_to_general_coords(double *x) { double xshift[3],xnew[3]; - xshift[0] = x[0] - gtri_origin[0]; - xshift[1] = x[1] - gtri_origin[1]; - xshift[2] = x[2] - gtri_origin[2]; + xshift[0] = x[0] - boxlo[0]; + xshift[1] = x[1] - boxlo[1]; + xshift[2] = x[2] - boxlo[2]; MathExtra::matvec(rotate_r2g,xshift,xnew); + x[0] = xnew[0] + boxlo[0]; + x[1] = xnew[1] + boxlo[1]; + x[2] = xnew[2] + boxlo[2]; +} + +void Domain::restricted_to_general_coords(double *x, double *xnew) +{ + double xshift[3]; + + xshift[0] = x[0] - boxlo[0]; + xshift[1] = x[1] - boxlo[1]; + xshift[2] = x[2] - boxlo[2]; + MathExtra::matvec(rotate_r2g,xshift,xnew); + xnew[0] += boxlo[0]; + xnew[1] += boxlo[1]; + xnew[2] += boxlo[2]; +} + +/* ---------------------------------------------------------------------- + transform atom vector from general triclinic to restricted triclinic +------------------------------------------------------------------------- */ + +void Domain::general_to_restricted_vector(double *x) +{ + double xnew[3]; + + MathExtra::matvec(rotate_g2r,x,xnew); + x[0] = xnew[0]; + x[1] = xnew[1]; + x[2] = xnew[2]; +} + +/* ---------------------------------------------------------------------- + transform atom vector from restricted triclinic to general triclinic +------------------------------------------------------------------------- */ + +void Domain::restricted_to_general_vector(double *x) +{ + double xnew[3]; + + MathExtra::matvec(rotate_r2g,x,xnew); x[0] = xnew[0]; x[1] = xnew[1]; x[2] = xnew[2]; diff --git a/src/domain.h b/src/domain.h index d09f4cf70d..7b306a9426 100644 --- a/src/domain.h +++ b/src/domain.h @@ -89,9 +89,9 @@ class Domain : protected Pointers { double h_rate[6], h_ratelo[3]; // rate of box size/shape change // general triclinic box - + // boxlo = lower left corner + double avec[3], bvec[3], cvec[3]; // ABC edge vectors of general triclinic box - double gtri_origin[3]; // origin of general triclinic box double rotate_g2r[3][3]; // rotation matrix from general --> restricted tri double rotate_r2g[3][3]; // rotation matrix from restricted --> general tri @@ -141,10 +141,13 @@ class Domain : protected Pointers { void image_flip(int, int, int); int ownatom(int, double *, imageint *, int); - void setup_general_triclinic(double *, double *, double *, double *); - void general_to_restricted(double *); - void restricted_to_general(double *); - + void define_general_triclinic(double *, double *, double *, double *); + void general_to_restricted_coords(double *); + void restricted_to_general_coords(double *); + void restricted_to_general_coords(double *, double *); + void general_to_restricted_vector(double *); + void restricted_to_general_vector(double *); + void set_lattice(int, char **); void add_region(int, char **); void delete_region(Region *); diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index 1e60295bbe..d96800554d 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -34,7 +34,7 @@ using namespace LAMMPS_NS; // customize by adding keyword -// also customize compute_atom_property.cpp +// also customize compute_property_atom.cpp enum{ID,MOL,PROC,PROCP1,TYPE,ELEMENT,MASS, X,Y,Z,XS,YS,ZS,XSTRI,YSTRI,ZSTRI,XU,YU,ZU,XUTRI,YUTRI,ZUTRI, @@ -88,6 +88,7 @@ DumpCustom::DumpCustom(LAMMPS *lmp, int narg, char **arg) : buffer_allow = 1; buffer_flag = 1; + triclinic_general = 0; nthresh = 0; nthreshlast = 0; @@ -294,10 +295,14 @@ void DumpCustom::init_style() if (binary && domain->triclinic == 0) header_choice = &DumpCustom::header_binary; + else if (binary && triclinic_general == 1) + header_choice = &DumpCustom::header_binary_triclinic_general; else if (binary && domain->triclinic == 1) header_choice = &DumpCustom::header_binary_triclinic; else if (!binary && domain->triclinic == 0) header_choice = &DumpCustom::header_item; + else if (!binary && triclinic_general == 1) + header_choice = &DumpCustom::header_item_triclinic_general; else if (!binary && domain->triclinic == 1) header_choice = &DumpCustom::header_item_triclinic; @@ -489,6 +494,31 @@ void DumpCustom::header_binary_triclinic(bigint ndump) /* ---------------------------------------------------------------------- */ +void DumpCustom::header_binary_triclinic_general(bigint ndump) +{ + header_format_binary(); + + fwrite(&update->ntimestep,sizeof(bigint),1,fp); + fwrite(&ndump,sizeof(bigint),1,fp); + fwrite(&domain->triclinic,sizeof(int),1,fp); + fwrite(&domain->triclinic_general,sizeof(int),1,fp); + fwrite(&domain->boundary[0][0],6*sizeof(int),1,fp); + fwrite(domain->avec,3*sizeof(double),1,fp); + fwrite(domain->bvec,3*sizeof(double),1,fp); + fwrite(domain->cvec,3*sizeof(double),1,fp); + fwrite(domain->boxlo,3*sizeof(double),1,fp); + fwrite(&nfield,sizeof(int),1,fp); + + header_unit_style_binary(); + header_time_binary(); + header_columns_binary(); + + if (multiproc) fwrite(&nclusterprocs,sizeof(int),1,fp); + else fwrite(&nprocs,sizeof(int),1,fp); +} + +/* ---------------------------------------------------------------------- */ + void DumpCustom::header_item(bigint ndump) { if (unit_flag && !unit_count) { @@ -535,6 +565,32 @@ void DumpCustom::header_item_triclinic(bigint ndump) /* ---------------------------------------------------------------------- */ +void DumpCustom::header_item_triclinic_general(bigint ndump) +{ + if (unit_flag && !unit_count) { + ++unit_count; + fmt::print(fp,"ITEM: UNITS\n{}\n",update->unit_style); + } + if (time_flag) fmt::print(fp,"ITEM: TIME\n{:.16}\n",compute_time()); + + fmt::print(fp,"ITEM: TIMESTEP\n{}\n" + "ITEM: NUMBER OF ATOMS\n{}\n", + update->ntimestep, ndump); + + fmt::print(fp,"ITEM: BOX BOUNDS abc origin {}\n" + "{:>1.16e} {:>1.16e} {:>1.16e} {:>1.16e}\n" + "{:>1.16e} {:>1.16e} {:>1.16e} {:>1.16e}\n" + "{:>1.16e} {:>1.16e} {:>1.16e} {:>1.16e}\n", + boundstr, + domain->avec[0],domain->avec[1],domain->avec[2],domain->boxlo[0], + domain->bvec[0],domain->bvec[1],domain->bvec[2],domain->boxlo[1], + domain->cvec[0],domain->cvec[1],domain->cvec[2],domain->boxlo[2]); + + fmt::print(fp,"ITEM: ATOMS {}\n",columns); +} + +/* ---------------------------------------------------------------------- */ + int DumpCustom::count() { int i; @@ -1286,13 +1342,16 @@ int DumpCustom::parse_fields(int narg, char **arg) vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"x") == 0) { - pack_choice[iarg] = &DumpCustom::pack_x; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_x_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_x; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"y") == 0) { - pack_choice[iarg] = &DumpCustom::pack_y; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_y_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_y; vtype[iarg] = Dump::DOUBLE; - } else if (strcmp(arg[iarg],"z") == 0) { - pack_choice[iarg] = &DumpCustom::pack_z; + } else if (strcmp(arg[iarg],"z") == 0) { + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_z_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_z; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"xs") == 0) { if (domain->triclinic) pack_choice[iarg] = &DumpCustom::pack_xs_triclinic; @@ -1307,15 +1366,18 @@ int DumpCustom::parse_fields(int narg, char **arg) else pack_choice[iarg] = &DumpCustom::pack_zs; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"xu") == 0) { - if (domain->triclinic) pack_choice[iarg] = &DumpCustom::pack_xu_triclinic; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_xu_triclinic_general; + else if (domain->triclinic) pack_choice[iarg] = &DumpCustom::pack_xu_triclinic; else pack_choice[iarg] = &DumpCustom::pack_xu; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"yu") == 0) { - if (domain->triclinic) pack_choice[iarg] = &DumpCustom::pack_yu_triclinic; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_yu_triclinic_general; + else if (domain->triclinic) pack_choice[iarg] = &DumpCustom::pack_yu_triclinic; else pack_choice[iarg] = &DumpCustom::pack_yu; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"zu") == 0) { - if (domain->triclinic) pack_choice[iarg] = &DumpCustom::pack_zu_triclinic; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_zu_triclinic_general; + else if (domain->triclinic) pack_choice[iarg] = &DumpCustom::pack_zu_triclinic; else pack_choice[iarg] = &DumpCustom::pack_zu; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"xsu") == 0) { @@ -1341,22 +1403,28 @@ int DumpCustom::parse_fields(int narg, char **arg) vtype[iarg] = Dump::INT; } else if (strcmp(arg[iarg],"vx") == 0) { - pack_choice[iarg] = &DumpCustom::pack_vx; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_vx_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_vx; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"vy") == 0) { - pack_choice[iarg] = &DumpCustom::pack_vy; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_vy_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_vy; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"vz") == 0) { - pack_choice[iarg] = &DumpCustom::pack_vz; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_vz_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_vz; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"fx") == 0) { - pack_choice[iarg] = &DumpCustom::pack_fx; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_fx_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_fx; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"fy") == 0) { - pack_choice[iarg] = &DumpCustom::pack_fy; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_fy_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_fy; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"fz") == 0) { - pack_choice[iarg] = &DumpCustom::pack_fz; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_fz_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_fz; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"q") == 0) { @@ -1395,6 +1463,7 @@ int DumpCustom::parse_fields(int narg, char **arg) error->all(FLERR,"Dumping an atom property that isn't allocated"); pack_choice[iarg] = &DumpCustom::pack_diameter; vtype[iarg] = Dump::DOUBLE; + } else if (strcmp(arg[iarg],"heatflow") == 0) { if (!atom->heatflow_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); @@ -1405,6 +1474,7 @@ int DumpCustom::parse_fields(int narg, char **arg) error->all(FLERR,"Dumping an atom property that isn't allocated"); pack_choice[iarg] = &DumpCustom::pack_temperature; vtype[iarg] = Dump::DOUBLE; + } else if (strcmp(arg[iarg],"omegax") == 0) { if (!atom->omega_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); @@ -1702,6 +1772,14 @@ int DumpCustom::modify_param(int narg, char **arg) return 2; } + if (strcmp(arg[0],"triclinic/general") == 0) { + if (narg < 2) error->all(FLERR,"Illegal dump_modify command"); + triclinic_general = utils::logical(FLERR,arg[1],false,lmp); + if (triclinic_general && !domain->triclinic_general) + error->all(FLERR,"Dump_modify triclinic/general invalid b/c simulation box is not"); + return 2; + } + if (strcmp(arg[0],"format") == 0) { if (narg < 2) utils::missing_cmd_args(FLERR, "dump_modify format", error); @@ -2283,6 +2361,48 @@ void DumpCustom::pack_z(int n) /* ---------------------------------------------------------------------- */ +void DumpCustom::pack_x_triclinic_general(int n) +{ + double **x = atom->x; + double xtri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_coords(x[clist[i]],xtri); + buf[n] = xtri[0]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_y_triclinic_general(int n) +{ + double **x = atom->x; + double xtri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_coords(x[clist[i]],xtri); + buf[n] = xtri[1]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_z_triclinic_general(int n) +{ + double **x = atom->x; + double xtri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_coords(x[clist[i]],xtri); + buf[n] = xtri[2]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + void DumpCustom::pack_xs(int n) { double **x = atom->x; @@ -2489,6 +2609,84 @@ void DumpCustom::pack_zu_triclinic(int n) /* ---------------------------------------------------------------------- */ +void DumpCustom::pack_xu_triclinic_general(int n) +{ + int j; + double **x = atom->x; + imageint *image = atom->image; + + double *h = domain->h; + double xu[3]; + int xbox,ybox,zbox; + + for (int i = 0; i < nchoose; i++) { + j = clist[i]; + xbox = (image[j] & IMGMASK) - IMGMAX; + ybox = (image[j] >> IMGBITS & IMGMASK) - IMGMAX; + zbox = (image[j] >> IMG2BITS) - IMGMAX; + xu[0] = x[j][0] + h[0]*xbox + h[5]*ybox + h[4]*zbox; + xu[1] = x[j][1] + h[1]*ybox + h[3]*zbox; + xu[2] = x[j][2] + h[2]*zbox; + domain->restricted_to_general_coords(xu); + buf[n] = xu[0]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_yu_triclinic_general(int n) +{ + int j; + double **x = atom->x; + imageint *image = atom->image; + + double *h = domain->h; + double xu[3]; + int xbox,ybox,zbox; + + for (int i = 0; i < nchoose; i++) { + j = clist[i]; + xbox = (image[j] & IMGMASK) - IMGMAX; + ybox = (image[j] >> IMGBITS & IMGMASK) - IMGMAX; + zbox = (image[j] >> IMG2BITS) - IMGMAX; + xu[0] = x[j][0] + h[0]*xbox + h[5]*ybox + h[4]*zbox; + xu[1] = x[j][1] + h[1]*ybox + h[3]*zbox; + xu[2] = x[j][2] + h[2]*zbox; + domain->restricted_to_general_coords(xu); + buf[n] = xu[1]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_zu_triclinic_general(int n) +{ + int j; + double **x = atom->x; + imageint *image = atom->image; + + double *h = domain->h; + double xu[3]; + int xbox,ybox,zbox; + + for (int i = 0; i < nchoose; i++) { + j = clist[i]; + xbox = (image[j] & IMGMASK) - IMGMAX; + ybox = (image[j] >> IMGBITS & IMGMASK) - IMGMAX; + zbox = (image[j] >> IMG2BITS) - IMGMAX; + xu[0] = x[j][0] + h[0]*xbox + h[5]*ybox + h[4]*zbox; + xu[1] = x[j][1] + h[1]*ybox + h[3]*zbox; + xu[2] = x[j][2] + h[2]*zbox; + domain->restricted_to_general_coords(xu); + buf[n] = xu[2]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + void DumpCustom::pack_xsu(int n) { int j; @@ -2671,6 +2869,48 @@ void DumpCustom::pack_vz(int n) /* ---------------------------------------------------------------------- */ +void DumpCustom::pack_vx_triclinic_general(int n) +{ + double **v = atom->v; + double vtri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_coords(v[clist[i]],vtri); + buf[n] = vtri[0]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_vy_triclinic_general(int n) +{ + double **v = atom->v; + double vtri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_coords(v[clist[i]],vtri); + buf[n] = vtri[1]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_vz_triclinic_general(int n) +{ + double **v = atom->v; + double vtri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_coords(v[clist[i]],vtri); + buf[n] = vtri[2]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + void DumpCustom::pack_fx(int n) { double **f = atom->f; @@ -2707,6 +2947,48 @@ void DumpCustom::pack_fz(int n) /* ---------------------------------------------------------------------- */ +void DumpCustom::pack_fx_triclinic_general(int n) +{ + double **f = atom->f; + double ftri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_coords(f[clist[i]],ftri); + buf[n] = ftri[0]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_fy_triclinic_general(int n) +{ + double **f = atom->f; + double ftri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_coords(f[clist[i]],ftri); + buf[n] = ftri[1]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_fz_triclinic_general(int n) +{ + double **f = atom->f; + double ftri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_coords(f[clist[i]],ftri); + buf[n] = ftri[2]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + void DumpCustom::pack_q(int n) { double *q = atom->q; diff --git a/src/dump_custom.h b/src/dump_custom.h index 2b04944ec3..83adbe0d7f 100644 --- a/src/dump_custom.h +++ b/src/dump_custom.h @@ -37,6 +37,8 @@ class DumpCustom : public Dump { int nevery; // dump frequency for output char *idregion; // region ID, nullptr if no region + int triclinic_general; // set by dump_modify + int nthresh; // # of defined thresholds int nthreshlast; // # of defined thresholds with value = LAST // @@ -124,8 +126,10 @@ class DumpCustom : public Dump { FnPtrHeader header_choice; // ptr to write header functions void header_binary(bigint); void header_binary_triclinic(bigint); + void header_binary_triclinic_general(bigint); void header_item(bigint); void header_item_triclinic(bigint); + void header_item_triclinic_general(bigint); typedef void (DumpCustom::*FnPtrWrite)(int, double *); FnPtrWrite write_choice; // ptr to write data functions @@ -153,34 +157,52 @@ class DumpCustom : public Dump { void pack_x(int); void pack_y(int); void pack_z(int); + void pack_x_triclinic_general(int); + void pack_y_triclinic_general(int); + void pack_z_triclinic_general(int); + void pack_xs(int); void pack_ys(int); void pack_zs(int); void pack_xs_triclinic(int); void pack_ys_triclinic(int); void pack_zs_triclinic(int); + void pack_xu(int); void pack_yu(int); void pack_zu(int); void pack_xu_triclinic(int); void pack_yu_triclinic(int); void pack_zu_triclinic(int); + void pack_xu_triclinic_general(int); + void pack_yu_triclinic_general(int); + void pack_zu_triclinic_general(int); + void pack_xsu(int); void pack_ysu(int); void pack_zsu(int); void pack_xsu_triclinic(int); void pack_ysu_triclinic(int); void pack_zsu_triclinic(int); + void pack_ix(int); void pack_iy(int); void pack_iz(int); void pack_vx(int); void pack_vy(int); - void pack_vz(int); + void pack_vz(int); + void pack_vx_triclinic_general(int); + void pack_vy_triclinic_general(int); + void pack_vz_triclinic_general(int); + void pack_fx(int); void pack_fy(int); void pack_fz(int); + void pack_fx_triclinic_general(int); + void pack_fy_triclinic_general(int); + void pack_fz_triclinic_general(int); + void pack_q(int); void pack_mux(int); void pack_muy(int); @@ -188,6 +210,7 @@ class DumpCustom : public Dump { void pack_mu(int); void pack_radius(int); void pack_diameter(int); + void pack_heatflow(int); void pack_temperature(int); diff --git a/src/lmprestart.h b/src/lmprestart.h index e5e1da7edf..b3982ac8c1 100644 --- a/src/lmprestart.h +++ b/src/lmprestart.h @@ -29,6 +29,7 @@ enum{VERSION,SMALLINT,TAGINT,BIGINT, NDIHEDRALS,NDIHEDRALTYPES,DIHEDRAL_PER_ATOM, NIMPROPERS,NIMPROPERTYPES,IMPROPER_PER_ATOM, TRICLINIC,BOXLO,BOXHI,XY,XZ,YZ, + TRICLINIC_GENERAL,ROTATE_G2R,ROTATE_R2G, SPECIAL_LJ,SPECIAL_COUL, MASS,PAIR,BOND,ANGLE,DIHEDRAL,IMPROPER, MULTIPROC,MPIIO,PROCSPERFILE,PERPROC, diff --git a/src/pair_lj_cut.cpp b/src/pair_lj_cut.cpp index 0e4398f676..fae308c57f 100644 --- a/src/pair_lj_cut.cpp +++ b/src/pair_lj_cut.cpp @@ -111,8 +111,6 @@ void PairLJCut::compute(int eflag, int vflag) jtype = type[j]; if (rsq < cutsq[itype][jtype]) { - printf("AAA tags %d %d ij %d %d nlocal %d dist %g\n", - atom->tag[i],atom->tag[j],i,j,atom->nlocal,sqrt(rsq)); r2inv = 1.0 / rsq; r6inv = r2inv * r2inv * r2inv; forcelj = r6inv * (lj1[itype][jtype] * r6inv - lj2[itype][jtype]); diff --git a/src/read_data.cpp b/src/read_data.cpp index 75d1c23b75..c19250c2aa 100644 --- a/src/read_data.cpp +++ b/src/read_data.cpp @@ -480,7 +480,7 @@ void ReadData::command(int narg, char **arg) ellipsoidflag = lineflag = triflag = bodyflag = 0; xloxhi_flag = yloyhi_flag = zlozhi_flag = tilt_flag = 0; - avec_flag = bvec_flag = cvec_flag = gtri_origin_flag = 0; + avec_flag = bvec_flag = cvec_flag = abc_origin_flag = 0; // values in this data file @@ -495,7 +495,7 @@ void ReadData::command(int narg, char **arg) bvec[0] = bvec[1] = bvec[2] = 0.0; cvec[0] = cvec[1] = cvec[2] = 0.0; avec[0] = bvec[1] = cvec[2] = 1.0; - gtri_origin[0] = gtri_origin[1] = gtri_origin[2] = 0.0; + abc_origin[0] = abc_origin[1] = abc_origin[2] = 0.0; keyword[0] = '\0'; @@ -518,7 +518,7 @@ void ReadData::command(int narg, char **arg) // check if simulation box specified consistently - if (!avec_flag && !bvec_flag && !cvec_flag && !gtri_origin_flag) { + if (!avec_flag && !bvec_flag && !cvec_flag && !abc_origin_flag) { triclinic = triclinic_general = 0; if (tilt_flag) triclinic = 1; } else { @@ -579,11 +579,11 @@ void ReadData::command(int narg, char **arg) } // general triclinic box - // setup_general_triclinic() converts - // ABC edge vectors + gtri_origin to restricted triclinic + // define_general_triclinic() converts + // ABC edge vectors + abc_origin to restricted triclinic } else if (triclinic_general) { - domain->setup_general_triclinic(avec,bvec,cvec,gtri_origin); + domain->define_general_triclinic(avec,bvec,cvec,abc_origin); } } @@ -596,7 +596,7 @@ void ReadData::command(int narg, char **arg) // general triclinic // first data file must also be general triclinic - // avec,bvec,vec must match first data file + // avec,bvec,vec and origin must match first data file // shift not allowed if (triclinic_general) { @@ -609,8 +609,8 @@ void ReadData::command(int narg, char **arg) errflag = 1; if (cvec[0] != domain->cvec[0] || cvec[1] != domain->cvec[1] || cvec[2] != domain->cvec[2]) errflag = 1; - if (gtri_origin[0] != domain->gtri_origin[0] || gtri_origin[1] != domain->gtri_origin[1] || - gtri_origin[2] != domain->gtri_origin[2]) + if (abc_origin[0] != domain->boxlo[0] || abc_origin[1] != domain->boxlo[1] || + abc_origin[2] != domain->boxlo[2]) errflag = 1; if (errflag) error->all(FLERR,"Read_data subsequent file ABC vectors must be same as first file"); @@ -1432,11 +1432,11 @@ void ReadData::header(int firstpass) cvec[1] = utils::numeric(FLERR, words[1], false, lmp); cvec[2] = utils::numeric(FLERR, words[2], false, lmp); - } else if (utils::strmatch(line, "^\\s*\\f+\\s+\\f+\\s+\\f+\\s+\\gtri\\s+origin\\s")) { - gtri_origin_flag = 1; - gtri_origin[0] = utils::numeric(FLERR, words[0], false, lmp); - gtri_origin[1] = utils::numeric(FLERR, words[1], false, lmp); - gtri_origin[2] = utils::numeric(FLERR, words[2], false, lmp); + } else if (utils::strmatch(line, "^\\s*\\f+\\s+\\f+\\s+\\f+\\s+\\abc\\s+origin\\s")) { + abc_origin_flag = 1; + abc_origin[0] = utils::numeric(FLERR, words[0], false, lmp); + abc_origin[1] = utils::numeric(FLERR, words[1], false, lmp); + abc_origin[2] = utils::numeric(FLERR, words[2], false, lmp); } else break; diff --git a/src/read_data.h b/src/read_data.h index e3c269e685..28b277860a 100644 --- a/src/read_data.h +++ b/src/read_data.h @@ -63,10 +63,11 @@ class ReadData : public Command { double boxlo[3], boxhi[3]; double xy, xz, yz; - double avec[3], bvec[3], cvec[3], gtri_origin[3]; + double avec[3], bvec[3], cvec[3]; + double abc_origin[3]; int triclinic, triclinic_general; int xloxhi_flag, yloyhi_flag, zlozhi_flag, tilt_flag; - int avec_flag, bvec_flag, cvec_flag, gtri_origin_flag; + int avec_flag, bvec_flag, cvec_flag, abc_origin_flag; // optional args diff --git a/src/read_restart.cpp b/src/read_restart.cpp index 6925bd6096..372d1bcfe8 100644 --- a/src/read_restart.cpp +++ b/src/read_restart.cpp @@ -783,6 +783,13 @@ void ReadRestart::header() } else if (flag == YZ) { domain->yz = read_double(); + } else if (flag == TRICLINIC_GENERAL) { + domain->triclinic_general = read_int(); + } else if (flag == ROTATE_G2R) { + read_double_vec(9,&domain->rotate_g2r[0][0]); + } else if (flag == ROTATE_R2G) { + read_double_vec(9,&domain->rotate_r2g[0][0]); + } else if (flag == SPECIAL_LJ) { read_int(); read_double_vec(3,&force->special_lj[1]); diff --git a/src/write_data.cpp b/src/write_data.cpp index ad0c508d15..960a4ff1cf 100644 --- a/src/write_data.cpp +++ b/src/write_data.cpp @@ -227,7 +227,7 @@ void WriteData::write(const std::string &file) memory->create(xstore,nlocal,3,"write_data:xstore"); if (nlocal) memcpy(&xstore[0][0],&x[0][0],3*nlocal*sizeof(double)); for (int i = 0; i < nlocal; i++) - domain->restricted_to_general(x[i]); + domain->restricted_to_general_coords(x[i]); } if (natoms) atoms(); @@ -335,8 +335,8 @@ void WriteData::header() domain->avec[0],domain->avec[1],domain->avec[2], domain->bvec[0],domain->bvec[1],domain->bvec[2], domain->cvec[0],domain->cvec[1],domain->cvec[2]); - fmt::print(fp,"{} {} {} gtri origin\n", - domain->gtri_origin[0],domain->gtri_origin[1],domain->gtri_origin[2]); + fmt::print(fp,"{} {} {} abc origin\n", + domain->boxlo[0],domain->boxlo[1],domain->boxhi[2]); } } diff --git a/src/write_restart.cpp b/src/write_restart.cpp index a996532687..fb5b41eb02 100644 --- a/src/write_restart.cpp +++ b/src/write_restart.cpp @@ -448,6 +448,12 @@ void WriteRestart::header() write_double(XZ,domain->xz); write_double(YZ,domain->yz); + write_int(TRICLINIC_GENERAL,domain->triclinic_general); + if (domain->triclinic_general) { + write_double_vec(ROTATE_G2R,9,&domain->rotate_g2r[0][0]); + write_double_vec(ROTATE_R2G,9,&domain->rotate_r2g[0][0]); + } + write_double_vec(SPECIAL_LJ,3,&force->special_lj[1]); write_double_vec(SPECIAL_COUL,3,&force->special_coul[1]); From 6f01b27e7ebf865f7670c56fe46ba37dfb492edc Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 5 Sep 2023 16:50:38 -0600 Subject: [PATCH 051/559] add general triclinic pressure tensor to thermo_style --- doc/src/Howto_triclinic.rst | 369 +++++++++++++++++++++--------------- src/thermo.cpp | 123 ++++++++++-- src/thermo.h | 12 ++ 3 files changed, 343 insertions(+), 161 deletions(-) diff --git a/doc/src/Howto_triclinic.rst b/doc/src/Howto_triclinic.rst index 0efadbcc8c..5fc42e01c6 100644 --- a/doc/src/Howto_triclinic.rst +++ b/doc/src/Howto_triclinic.rst @@ -2,42 +2,140 @@ Triclinic (non-orthogonal) simulation boxes =========================================== By default, LAMMPS uses an orthogonal simulation box to encompass the -particles. The :doc:`boundary ` command sets the boundary -conditions of the box (periodic, non-periodic, etc). The orthogonal -box has its "origin" at (xlo,ylo,zlo) and is defined by 3 edge vectors -starting from the origin given by **a** = (xhi-xlo,0,0); **b** = -(0,yhi-ylo,0); **c** = (0,0,zhi-zlo). The 6 parameters +particles. The orthogonal box has its "origin" at (xlo,ylo,zlo) and +extends to (xhi,yhi,zhi). Conceptually it is defined by 3 edge +vectors starting from the origin given by **A** = (xhi-xlo,0,0); **B** += (0,yhi-ylo,0); **C** = (0,0,zhi-zlo). The :doc:`boundary +` command sets the boundary conditions for the 6 faces of +the box (periodic, non-periodic, etc). The 6 parameters (xlo,xhi,ylo,yhi,zlo,zhi) are defined at the time the simulation box -is created, e.g. by the :doc:`create_box ` or -:doc:`read_data ` or :doc:`read_restart ` -commands. Additionally, LAMMPS defines box size parameters lx,ly,lz -where lx = xhi-xlo, and similarly in the y and z dimensions. The 6 -parameters, as well as lx,ly,lz, can be output via the :doc:`thermo_style custom ` command. +is created by one of these commands: -LAMMPS also allows simulations to be performed in triclinic +* :doc:`create_box ` +* :doc:`read_data ` +* :doc:`read_restart ` +* :doc:`read_dump ` + +Internally, LAMMPS defines box size parameters lx,ly,lz where lx = +xhi-xlo, and similarly in the y and z dimensions. The 6 parameters, +as well as lx,ly,lz, can be output via the :doc:`thermo_style custom +` command. See the :doc:'Howto 2d ` doc page +for info on how zlo and zhi are defined for 2d simulations. + +---------- + +LAMMPS also allows simulations to be performed using triclinic (non-orthogonal) simulation boxes shaped as a parallelepiped with -triclinic symmetry. The parallelepiped has its "origin" at -(xlo,ylo,zlo) and is defined by 3 edge vectors starting from the -origin given by **a** = (xhi-xlo,0,0); **b** = (xy,yhi-ylo,0); **c** = -(xz,yz,zhi-zlo). *xy,xz,yz* can be 0.0 or positive or negative values -and are called "tilt factors" because they are the amount of -displacement applied to faces of an originally orthogonal box to -transform it into the parallelepiped. In LAMMPS the triclinic -simulation box edge vectors **a**, **b**, and **c** cannot be arbitrary -vectors. As indicated, **a** must lie on the positive x axis. **b** must -lie in the xy plane, with strictly positive y component. **c** may have -any orientation with strictly positive z component. The requirement -that **a**, **b**, and **c** have strictly positive x, y, and z components, -respectively, ensures that **a**, **b**, and **c** form a complete -right-handed basis. These restrictions impose no loss of generality, -since it is possible to rotate/invert any set of 3 crystal basis -vectors so that they conform to the restrictions. +triclinic symmetry. -For example, assume that the 3 vectors **A**,\ **B**,\ **C** are the edge -vectors of a general parallelepiped, where there is no restriction on -**A**,\ **B**,\ **C** other than they form a complete right-handed basis i.e. -**A** x **B** . **C** > 0. The equivalent LAMMPS **a**,\ **b**,\ **c** are a linear -rotation of **A**, **B**, and **C** and can be computed as follows: +One use of triclinic simulation boxes is to model solid-state crystals +with triclinic symmetry. The :doc:`lattice ` command can be +used with non-orthogonal basis vectors to define a lattice that will +tile a triclinic simulation box via the :doc:`create_atoms +` command. + +A second use is to run Parrinello-Rahman dynamics via the :doc:`fix +npt ` command, which will adjust the xy, xz, yz tilt factors +to compensate for off-diagonal components of the pressure tensor. The +analog for an :doc:`energy minimization ` is the :doc:`fix +box/relax ` command. + +A third use is to shear a bulk solid to study the response of the +material. The :doc:`fix deform ` command can be used for +this purpose. It allows dynamic control of the xy, xz, yz tilt +factors as a simulation runs. This is discussed in the next section +on non-equilibrium MD (NEMD) simulations. + +Conceptually, the tricliic parallelepiped is defined with an "origin" +at (xlo,ylo,zhi) and 3 edge vectors **A** = (ax,ay,az), **B** = +(bx,by,bz), **C** = (cx,cy,cz) which can now be arbitrary vectors, so +long as they are distinct and are not co-planar. + +The 4 commands listed above for defining orthogonal simulation boxes +have triclinic options which allow for specification of the origin and +edge vectors **A**, **B**, **C**. For each command, this can be done +in one of two ways, for what LAMMPS calls a *general* triclinic box, +or a *restricited* triclinic box. A *general* triclinic box is +specified by an origin and 9 parameters (ax,ay,az), (bx,by,bz), +(cx,cy,cz), or 12 parameters in total. A *restricted* triclinic box +also has an origin, but its edge vectors are of the following form: +**A** = (xhi-xlo,0,0), **B** = (xy,yhi-ylo,0), **C** = +(xz,yz,zhi-zlo). So 9 parameters in total. + +The restricted form of edge vectors means that **A** is along the +x-axis, **B** is in the x-y plane with a y-component in the +y +direction, and **C** has a z-component in the +z direction. +*Xy,xz,yz* can be 0.0 or positive or negative values and are called +"tilt factors" because they are the amount of displacement applied to +faces of an originally orthogonal box to transform it into a +restricted parallelepiped. + +.. note:: + + Any general triclinic box (i.e. any solid-state crystal basis + vectors) can be rotated/inverted in 3d around its origin to conform + to the definition of a restricted triclinic box. An inversion may + need to be applied to the rotated **C** vector to ensure its final + z-component is in the +z direction. + +.. note:: + + While LAMMPS allows specification of a triclinic simulation box in + either **general** or **restricted** form, internally LAMMPS only + uses restricted triclinic simulation boxes. This is for parallel + efficiency and to formulate partitioning of the simulation box + across processors, neighbor list building, and inter-processor + communication of per-atom data with methods similar to those used + for orthogonal boxes. This means 3 things. (1) Input of a general + triclinic is immediately converted to restricted form. + (2) If output in general triclinic form is requested (e.g. for atom + coordinates in a dump file), then conversion from restricted + triclinic coordinates is done at the time of output. (3) Most + importantly, other LAMMPS commands such as the :doc:`region + ` command, that refer to the simulation box geometry, + operate on restricted triclinic boxes, even if a general triclinic + box was specified as input. + +Note that for 2d simulations a triclinic simulation box is effectively +a parallelogram; see the :doc:'Howto 2d ` doc page for +details. + +The :doc:`boundary ` command sets the boundary conditions +for the 6 faces of a restricted triclinix box (periodic, non-periodic, +etc), similar to the way the settings apply to the 6 faces of an +orthogonal box. Note that if a restricted triclinic box is periodic +in the y-dimension and has a non-zero xy tilt factor, then particles +which exit the -y face of the box will re-enter the +y face but will +be displaced in x by the xy tilt factor. Similarly for z-periodicity, +if the xz and/or yz tilt factors are non-zero, then particles which +exit the -z face of the box will be displaced in x by the xz tilt +factor and in y by the yz tilt factor. + +For general and restricted triclinic boxes, their **A**, **B**, **C** +edge vector components can be output via + +The :doc:`thermo_style custom ` command also has options +for outputting the parameters that define general and restricted +triclinic simulation boxes. For general triclinic, this is the +(xlo,ylo,zhi) origin and the 9 components of the **A**, **B**, **C** +edge vectors. For restricted triclinic, this is (xlo,ylo,zlo), +(xhi,yhi,zhi), and the xy,xz,yz tilt factors. For both orthogonal and +restricted triclinic boxes, lx/ly/lz refer to the same box sizes, +namely lx = xhi - xlo, etc. + +The remainder of this doc page explains mathematical transformations +between different ways of representing general and restrictied +triclinic boxes, which may be useful when creating LAMMPS inputs for +triclinic simulations or interpreting outputs. How LAMMPS uses tilt +factors for restricted triclinic simulation boxes is also discussed. + +---------- + +Let **A**,\ **B**,\ **C** be the edge vectors of a general triclinic +simulation box. Assume that **A** x **B** . **C** > 0. The +equivalent LAMMPS **a**,\ **b**,\ **c** for a restricted triclinic box +are a linear rotation of **A**, **B**, and **C** and can be computed +as follows: .. math:: @@ -54,23 +152,23 @@ rotation of **A**, **B**, and **C** and can be computed as follows: c_y = & \mathbf{C} \cdot \widehat{(\mathbf{A} \times \mathbf{B})} \times \mathbf{\hat{A}} \quad = \quad \frac{\mathbf{B} \cdot \mathbf{C} - b_x c_x}{b_y} \\ c_z = & |\mathbf{C} \cdot \widehat{(\mathbf{A} \times \mathbf{B})}|\quad = \quad \sqrt{C^2 - {c_x}^2 - {c_y}^2} -where A = \| **A** \| indicates the scalar length of **A**\ . The hat symbol (\^) -indicates the corresponding unit vector. :math:`\beta` and :math:`\gamma` are angles -between the vectors described below. Note that by construction, -**a**, **b**, and **c** have strictly positive x, y, and z components, respectively. -If it should happen that -**A**, **B**, and **C** form a left-handed basis, then the above equations -are not valid for **c**\ . In this case, it is necessary -to first apply an inversion. This can be achieved -by interchanging two basis vectors or by changing the sign of one of them. +where A = \| **A** \| indicates the scalar length of **A**\ . The hat +symbol (\^) indicates the corresponding unit vector. :math:`\beta` and +:math:`\gamma` are angles between the **A**, **B**, **C** vectors +as described below. -For consistency, the same rotation/inversion applied to the basis vectors -must also be applied to atom positions, velocities, -and any other vector quantities. -This can be conveniently achieved by first converting to -fractional coordinates in the -old basis and then converting to distance coordinates in the new basis. -The transformation is given by the following equation: +If **A** x **B** . **C** < 0 the above equations are not valid for +**c**\ . In this case, it is necessary to first apply an +inversion. This can be achieved by interchanging two of the **A**, +**B**, **C** vectors or by changing the sign of one of them. + +For consistency, the same rotation/inversion applied to the triclinic +box edge vectors also typically needs to be applied to atom positions, +velocities, and other vector quantities. This can be conveniently +achieved by first converting to fractional coordinates in the general +triclinic coordinates and then converting to coordinates in the +resetricted triclinic basis. The transformation is given by the +following equation: .. math:: @@ -81,87 +179,21 @@ The transformation is given by the following equation: \mathbf{A \times B} \end{pmatrix} \cdot \mathbf{X} -where *V* is the volume of the box, **X** is the original vector quantity and -**x** is the vector in the LAMMPS basis. +where *V* is the volume of the box (same in either basis), **X** is +the fractional vector in the general triclinic basis and **x** is the +resulting vector in the restricted triclinic basis. -There is no requirement that a triclinic box be periodic in any -dimension, though it typically should be in at least the second dimension -of the tilt (y in xy) if you want to enforce a shift in periodic -boundary conditions across that boundary. Some commands that work -with triclinic boxes, e.g. the :doc:`fix deform ` and :doc:`fix npt ` commands, require periodicity or non-shrink-wrap -boundary conditions in specific dimensions. See the command doc pages -for details. +---------- -The 9 parameters (xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) are defined at the -time the simulation box is created. This happens in one of 3 ways. -If the :doc:`create_box ` command is used with a region of -style *prism*, then a triclinic box is setup. See the -:doc:`region ` command for details. If the -:doc:`read_data ` command is used to define the simulation -box, and the header of the data file contains a line with the "xy xz -yz" keyword, then a triclinic box is setup. See the -:doc:`read_data ` command for details. Finally, if the -:doc:`read_restart ` command reads a restart file which -was written from a simulation using a triclinic box, then a triclinic -box will be setup for the restarted simulation. - -Note that you can define a triclinic box with all 3 tilt factors = -0.0, so that it is initially orthogonal. This is necessary if the box -will become non-orthogonal, e.g. due to the :doc:`fix npt ` or -:doc:`fix deform ` commands. Alternatively, you can use the -:doc:`change_box ` command to convert a simulation box from -orthogonal to triclinic and vice versa. - -As with orthogonal boxes, LAMMPS defines triclinic box size parameters -lx,ly,lz where lx = xhi-xlo, and similarly in the y and z dimensions. -The 9 parameters, as well as lx,ly,lz, can be output via the -:doc:`thermo_style custom ` command. - -To avoid extremely tilted boxes (which would be computationally -inefficient), LAMMPS normally requires that no tilt factor can skew -the box more than half the distance of the parallel box length, which -is the first dimension in the tilt factor (x for xz). This is required -both when the simulation box is created, e.g. via the -:doc:`create_box ` or :doc:`read_data ` commands, -as well as when the box shape changes dynamically during a simulation, -e.g. via the :doc:`fix deform ` or :doc:`fix npt ` -commands. - -For example, if xlo = 2 and xhi = 12, then the x box length is 10 and -the xy tilt factor must be between -5 and 5. Similarly, both xz and -yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is -not a limitation, since if the maximum tilt factor is 5 (as in this -example), then configurations with tilt = ..., -15, -5, 5, 15, 25, -... are geometrically all equivalent. If the box tilt exceeds this -limit during a dynamics run (e.g. via the :doc:`fix deform ` -command), then the box is "flipped" to an equivalent shape with a tilt -factor within the bounds, so the run can continue. See the :doc:`fix deform ` page for further details. - -One exception to this rule is if the first dimension in the tilt -factor (x for xy) is non-periodic. In that case, the limits on the -tilt factor are not enforced, since flipping the box in that dimension -does not change the atom positions due to non-periodicity. In this -mode, if you tilt the system to extreme angles, the simulation will -simply become inefficient, due to the highly skewed simulation box. - -Box flips that may occur using the :doc:`fix deform ` or -:doc:`fix npt ` commands can be turned off using the *flip no* -option with either of the commands. - -Note that if a simulation box has a large tilt factor, LAMMPS will run -less efficiently, due to the large volume of communication needed to -acquire ghost atoms around a processor's irregular-shaped subdomain. -For extreme values of tilt, LAMMPS may also lose atoms and generate an -error. - -Triclinic crystal structures are often defined using three lattice -constants *a*, *b*, and *c*, and three angles :math:`\alpha`, -:math:`\beta`, and :math:`\gamma`. Note that in this nomenclature, -the a, b, and c lattice constants are the scalar lengths of the edge +General triclinic crystal structures are often defined using three +lattice constants *a*, *b*, and *c*, and three angles :math:`\alpha`, +:math:`\beta`, and :math:`\gamma`. Note that in this nomenclature, the +a, b, and c lattice constants are the scalar lengths of the edge vectors **a**, **b**, and **c** defined above. The relationship between these 6 quantities (a, b, c, :math:`\alpha`, :math:`\beta`, -:math:`\gamma`) and the LAMMPS box sizes (lx,ly,lz) = -(xhi-xlo,yhi-ylo,zhi-zlo) and tilt factors (xy,xz,yz) is as follows: +:math:`\gamma`) and the LAMMPS restricted triclinic box sizes +(lx,ly,lz) = (xhi-xlo,yhi-ylo,zhi-zlo) and tilt factors (xy,xz,yz) is +as follows: .. math:: @@ -185,15 +217,16 @@ The inverse relationship can be written as follows: The values of *a*, *b*, *c*, :math:`\alpha` , :math:`\beta`, and :math:`\gamma` can be printed out or accessed by computes using the -:doc:`thermo_style custom ` keywords -*cella*, *cellb*, *cellc*, *cellalpha*, *cellbeta*, *cellgamma*, -respectively. +:doc:`thermo_style custom ` keywords *cella*, *cellb*, +*cellc*, *cellalpha*, *cellbeta*, *cellgamma*, respectively. + +---------- As discussed on the :doc:`dump ` command doc page, when the BOX -BOUNDS for a snapshot is written to a dump file for a triclinic box, -an orthogonal bounding box which encloses the triclinic simulation box -is output, along with the 3 tilt factors (xy, xz, yz) of the triclinic -box, formatted as follows: +BOUNDS for a snapshot is written to a dump file for a resticted +triclinic box, an orthogonal bounding box which encloses the triclinic +simulation box is output, along with the 3 tilt factors (xy, xz, yz) +of the restricted triclinic box, formatted as follows: .. parsed-literal:: @@ -203,7 +236,7 @@ box, formatted as follows: zlo_bound zhi_bound yz This bounding box is convenient for many visualization programs and is -calculated from the 9 triclinic box parameters +calculated from the 9 restricted triclinic box parameters (xlo,xhi,ylo,yhi,zlo,zhi,xy,xz,yz) as follows: .. parsed-literal:: @@ -216,22 +249,60 @@ calculated from the 9 triclinic box parameters zhi_bound = zhi These formulas can be inverted if you need to convert the bounding box -back into the triclinic box parameters, e.g. xlo = xlo_bound - -MIN(0.0,xy,xz,xy+xz). +back into the restricted triclinic box parameters, e.g. xlo = +xlo_bound - MIN(0.0,xy,xz,xy+xz). -One use of triclinic simulation boxes is to model solid-state crystals -with triclinic symmetry. The :doc:`lattice ` command can be -used with non-orthogonal basis vectors to define a lattice that will -tile a triclinic simulation box via the -:doc:`create_atoms ` command. +---------- -A second use is to run Parrinello-Rahman dynamics via the :doc:`fix npt ` command, which will adjust the xy, xz, yz tilt -factors to compensate for off-diagonal components of the pressure -tensor. The analog for an :doc:`energy minimization ` is -the :doc:`fix box/relax ` command. +There is no requirement that a triclinic box be periodic in any +dimension, though as explained above it typically should be in y or z +if you wish enforce a shift in coordinates due to periodic boundary +conditions across the y or z boundaries. + +Some commands that work with triclinic boxes, e.g. the :doc:`fix +deform ` and :doc:`fix npt ` commands, require +periodicity or non-shrink-wrap boundary conditions in specific +dimensions. See the command doc pages for details. + +A restricted triclinic box can be defined with all 3 tilt factors = +0.0, so that it is initially orthogonal. This is necessary if the box +will become non-orthogonal, e.g. due to use of the :doc:`fix npt +` or :doc:`fix deform ` commands. Alternatively, +you can use the :doc:`change_box ` command to convert a +simulation box from orthogonal to restricted triclinic and vice versa. + +Highly tilted restricted triclinic simulation boxes can be +computationally inefficient. This is due to the large volume of +communication needed to acquire ghost atoms around a processor's +irregular-shaped subdomain. For extreme values of tilt, LAMMPS may +also lose atoms and generate an error. + +LAMMPS will issue a warning if you define a restricted triclinic box +with a tilt factor which skews the box more than half the distance of +the parallel box length, which is the first dimension in the tilt +factor (x for xz). + +For example, if xlo = 2 and xhi = 12, then the x box length is 10 and +the xy tilt factor should be between -5 and 5 to avoid the warning. +Similarly, both xz and yz should be between -(xhi-xlo)/2 and ++(yhi-ylo)/2. Note that these are not limitations, since if the +maximum tilt factor is 5 (as in this example), then simulations boxes +and atom configurations with tilt = ..., -15, -5, 5, 15, 25, ... are +geometrically all equivalent. + +If the box tilt exceeds this limit during a dynamics run (e.g. due to +the :doc:`fix deform ` command), then by default the box +is "flipped" to an equivalent shape with a tilt factor within the +warning bounds, and the run continues. See the :doc:`fix deform +` page for further details. Box flips that would normally +occur using the :doc:`fix deform ` or :doc:`fix npt +` commands can be suppressed using the *flip no* option with +either of the commands. + +One exception to box flipping is if the first dimension in the tilt +factor (x for xy) is non-periodic. In that case, the limits on the +tilt factor are not enforced, since flipping the box in that dimension +does not change the atom positions due to non-periodicity. In this +mode, the system tilts to large angles, the simulation will simply +become inefficient, due to the highly skewed simulation box. -A third use is to shear a bulk solid to study the response of the -material. The :doc:`fix deform ` command can be used for -this purpose. It allows dynamic control of the xy, xz, yz tilt -factors as a simulation runs. This is discussed in the next section -on non-equilibrium MD (NEMD) simulations. diff --git a/src/thermo.cpp b/src/thermo.cpp index 9f21146588..9a8adcd419 100644 --- a/src/thermo.cpp +++ b/src/thermo.cpp @@ -34,6 +34,7 @@ #include "kspace.h" #include "lattice.h" #include "math_const.h" +#include "math_extra.h" #include "memory.h" #include "modify.h" #include "neighbor.h" @@ -51,6 +52,7 @@ using namespace LAMMPS_NS; using namespace MathConst; +using namespace MathExtra; // CUSTOMIZATION: add a new keyword by adding it to this list: @@ -111,6 +113,7 @@ Thermo::Thermo(LAMMPS *_lmp, int narg, char **arg) : lostflag = lostbond = Thermo::ERROR; lostbefore = warnbefore = 0; flushflag = 0; + triclinic_general = 0; ntimestep = -1; // set style and corresponding lineflag @@ -569,6 +572,13 @@ void Thermo::modify_params(int narg, char **arg) iarg += 2; + } else if (strcmp(arg[iarg],"triclinic/general") == 0) { + if (iarg + 2 > narg) error->all(FLERR,"Illegal thermo_modify command"); + triclinic_general = utils::logical(FLERR,arg[iarg+1],false,lmp); + if (triclinic_general && !domain->triclinic_general) + error->all(FLERR,"Thermo_modify triclinic/general invalid b/c simulation box is not"); + iarg += 2; + } else if (strcmp(arg[iarg], "lost") == 0) { if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "thermo_modify lost", error); if (strcmp(arg[iarg + 1], "ignore") == 0) @@ -947,21 +957,33 @@ void Thermo::parse_fields(const std::string &str) addfield("Impros", &Thermo::compute_impropers, BIGINT); } else if (word == "pxx") { - addfield("Pxx", &Thermo::compute_pxx, FLOAT); + if (triclinic_general) + addfield("Pxx", &Thermo::compute_pxx_triclinic_general, FLOAT); + else addfield("Pxx", &Thermo::compute_pxx, FLOAT); index_press_vector = add_compute(id_press, VECTOR); } else if (word == "pyy") { - addfield("Pyy", &Thermo::compute_pyy, FLOAT); + if (triclinic_general) + addfield("Pyy", &Thermo::compute_pyy_triclinic_general, FLOAT); + else addfield("Pyy", &Thermo::compute_pyy, FLOAT); index_press_vector = add_compute(id_press, VECTOR); } else if (word == "pzz") { - addfield("Pzz", &Thermo::compute_pzz, FLOAT); + if (triclinic_general) + addfield("Pzz", &Thermo::compute_pzz_triclinic_general, FLOAT); + else addfield("Pzz", &Thermo::compute_pzz, FLOAT); index_press_vector = add_compute(id_press, VECTOR); } else if (word == "pxy") { - addfield("Pxy", &Thermo::compute_pxy, FLOAT); + if (triclinic_general) + addfield("Pxy", &Thermo::compute_pxy_triclinic_general, FLOAT); + else addfield("Pxy", &Thermo::compute_pxy, FLOAT); index_press_vector = add_compute(id_press, VECTOR); - } else if (word == "pxz") { - addfield("Pxz", &Thermo::compute_pxz, FLOAT); + } else if (word == "pxz") { + if (triclinic_general) + addfield("Pxz", &Thermo::compute_pxz_triclinic_general, FLOAT); + else addfield("Pxz", &Thermo::compute_pxz, FLOAT); index_press_vector = add_compute(id_press, VECTOR); } else if (word == "pyz") { + if (triclinic_general) + addfield("Pyz", &Thermo::compute_pyz_triclinic_general, FLOAT); addfield("Pyz", &Thermo::compute_pyz, FLOAT); index_press_vector = add_compute(id_press, VECTOR); @@ -1195,6 +1217,17 @@ void Thermo::check_press_vector(const std::string &keyword) if (!(pressure->invoked_flag & Compute::INVOKED_VECTOR)) { pressure->compute_vector(); pressure->invoked_flag |= Compute::INVOKED_VECTOR; + + // store 3x3 matrix form of symmetric pressure tensor for use in triclinic_general() + + if (triclinic_general) { + press_tensor[0][0] = pressure->vector[0]; + press_tensor[1][1] = pressure->vector[1]; + press_tensor[2][2] = pressure->vector[2]; + press_tensor[0][1] = press_tensor[1][0] = pressure->vector[3]; + press_tensor[0][2] = press_tensor[2][0] = pressure->vector[4]; + press_tensor[1][2] = press_tensor[2][1] = pressure->vector[5]; + } } } @@ -1412,27 +1445,33 @@ int Thermo::evaluate_keyword(const std::string &word, double *answer) else if (word == "pxx") { check_press_vector(word); - compute_pxx(); + if (triclinic_general) compute_pxx_triclinic_general(); + else compute_pxx(); } else if (word == "pyy") { check_press_vector(word); - compute_pyy(); + if (triclinic_general) compute_pyy_triclinic_general(); + else compute_pyy(); } else if (word == "pzz") { check_press_vector(word); - compute_pzz(); + if (triclinic_general) compute_pzz_triclinic_general(); + else compute_pzz(); } else if (word == "pxy") { check_press_vector(word); - compute_pxy(); + if (triclinic_general) compute_pxy_triclinic_general(); + else compute_pxy(); } else if (word == "pxz") { check_press_vector(word); - compute_pxz(); + if (triclinic_general) compute_pxz_triclinic_general(); + else compute_pxz(); } else if (word == "pyz") { check_press_vector(word); - compute_pyz(); + if (triclinic_general) compute_pyz_triclinic_general(); + else compute_pyz(); } else if (word == "fmax") @@ -2084,6 +2123,66 @@ void Thermo::compute_pyz() /* ---------------------------------------------------------------------- */ +void Thermo::compute_pxx_triclinic_general() +{ + double middle[3][3],final[3][3]; + MathExtra::times3(domain->rotate_r2g,press_tensor,middle); + MathExtra::times3(middle,domain->rotate_g2r,final); + dvalue = final[0][0]; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_pyy_triclinic_general() +{ + double middle[3][3],final[3][3]; + MathExtra::times3(domain->rotate_r2g,press_tensor,middle); + MathExtra::times3(middle,domain->rotate_g2r,final); + dvalue = final[1][1]; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_pzz_triclinic_general() +{ + double middle[3][3],final[3][3]; + MathExtra::times3(domain->rotate_r2g,press_tensor,middle); + MathExtra::times3(middle,domain->rotate_g2r,final); + dvalue = final[2][2]; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_pxy_triclinic_general() +{ + double middle[3][3],final[3][3]; + MathExtra::times3(domain->rotate_r2g,press_tensor,middle); + MathExtra::times3(middle,domain->rotate_g2r,final); + dvalue = final[0][1]; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_pxz_triclinic_general() +{ + double middle[3][3],final[3][3]; + MathExtra::times3(domain->rotate_r2g,press_tensor,middle); + MathExtra::times3(middle,domain->rotate_g2r,final); + dvalue = final[0][2]; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_pyz_triclinic_general() +{ + double middle[3][3],final[3][3]; + MathExtra::times3(domain->rotate_r2g,press_tensor,middle); + MathExtra::times3(middle,domain->rotate_g2r,final); + dvalue = final[1][2]; +} + +/* ---------------------------------------------------------------------- */ + void Thermo::compute_fmax() { double **f = atom->f; diff --git a/src/thermo.h b/src/thermo.h index 333a282ca0..213415046e 100644 --- a/src/thermo.h +++ b/src/thermo.h @@ -51,6 +51,8 @@ class Thermo : protected Pointers { private: int nfield, nfield_initial; int *vtype; + + int triclinic_general; // set by thermo_modify std::string line; std::vector keyword, format, format_column_user, keyword_user; std::string format_line_user, format_float_user, format_int_user, format_bigint_user; @@ -73,6 +75,7 @@ class Thermo : protected Pointers { bigint ntimestep; // data used by routines that compute single values + int ivalue; // integer value to print double dvalue; // double value to print bigint bivalue; // big integer value to print @@ -85,8 +88,10 @@ class Thermo : protected Pointers { // index = where they are in computes list // id = ID of Compute objects // Compute * = ptrs to the Compute objects + int index_temp, index_press_scalar, index_press_vector, index_pe; class Compute *temperature, *pressure, *pe; + double press_tensor[3][3]; int ncompute; // # of Compute objects called by thermo char **id_compute; // their IDs @@ -194,6 +199,13 @@ class Thermo : protected Pointers { void compute_pyz(); void compute_pxz(); + void compute_pxx_triclinic_general(); + void compute_pyy_triclinic_general(); + void compute_pzz_triclinic_general(); + void compute_pxy_triclinic_general(); + void compute_pyz_triclinic_general(); + void compute_pxz_triclinic_general(); + void compute_fmax(); void compute_fnorm(); From d6d65f001aa67f865f2dee9bb828dff8d1c2ff94 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 6 Sep 2023 09:04:10 -0600 Subject: [PATCH 052/559] enforce atom z coords = 0.0 for 2d simulations --- src/atom.cpp | 13 ++++++++++++- src/create_atoms.cpp | 23 ++++++++++++++++++----- src/create_box.cpp | 13 ++++++++++++- src/lattice.cpp | 6 +++--- src/read_data.cpp | 22 +++++++++++++++++++--- 5 files changed, 64 insertions(+), 13 deletions(-) diff --git a/src/atom.cpp b/src/atom.cpp index 2c2ebd911f..fb444e3e79 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -49,6 +49,7 @@ using namespace MathConst; #define DELTA 1 #define EPSILON 1.0e-6 +#define EPS_ZCOORD 1.0e-12 #define MAXLINE 256 /* ---------------------------------------------------------------------- @@ -1076,6 +1077,7 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, // if periodic and I am lo/hi proc, adjust bounds by EPSILON // ensures all data atoms will be owned even with round-off + int dimension = domain->dimension; int triclinic = domain->triclinic; double epsilon[3]; @@ -1165,7 +1167,7 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, imx = utils::inumeric(FLERR,values[iptr],false,lmp); imy = utils::inumeric(FLERR,values[iptr+1],false,lmp); imz = utils::inumeric(FLERR,values[iptr+2],false,lmp); - if ((domain->dimension == 2) && (imz != 0)) + if ((dimension == 2) && (imz != 0)) error->all(FLERR,"Z-direction image flag must be 0 for 2d-systems"); if ((!domain->xperiodic) && (imx != 0)) { reset_image_flag[0] = true; imx = 0; } if ((!domain->yperiodic) && (imy != 0)) { reset_image_flag[1] = true; imy = 0; } @@ -1179,6 +1181,15 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, xdata[1] = utils::numeric(FLERR,values[xptr+1],false,lmp); xdata[2] = utils::numeric(FLERR,values[xptr+2],false,lmp); + // for 2d simulation, check if z coord is within EPS_ZCOORD of zero + // then set to zero + + if (dimension == 2) { + if (fabs(xdata[2]) > EPS_ZCOORD) + error->all(FLERR,"Read_data atom z coord is non-zero for 2d simulation"); + xdata[2] = 0.0; + } + // convert atom coords from general triclinic to restricted triclinic if (triclinic_general) domain->general_to_restricted_coords(xdata); diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index f7347f9ad1..0a8c462688 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -54,6 +54,8 @@ static constexpr double INV_P_CONST = 0.7548777; static constexpr double INV_SQ_P_CONST = 0.5698403; static constexpr int DEFAULT_MAXTRY = 1000; +#define EPS_ZCOORD 1.0e-12 + enum { BOX, REGION, SINGLE, RANDOM, MESH }; enum { ATOM, MOLECULE }; enum { COUNT, INSERT, INSERT_SELECTED }; @@ -1163,7 +1165,7 @@ void CreateAtoms::add_lattice() { // add atoms on general triclinic lattice if Domain has setting for it // verify lattice is valid for general triclinic - + int triclinic_general = domain->triclinic_general; if (triclinic_general) { @@ -1272,7 +1274,8 @@ void CreateAtoms::add_lattice() // decrement lo, increment hi to avoid round-off issues in lattice->bbox(), // which can lead to missing atoms in rare cases // extra decrement of lo if min < 0, since static_cast(-1.5) = -1 - + // for 2d simulation, klo = khi = 0 so just one plane of atoms + ilo = static_cast(xmin) - 1; jlo = static_cast(ymin) - 1; klo = static_cast(zmin) - 1; @@ -1284,7 +1287,7 @@ void CreateAtoms::add_lattice() if (ymin < 0.0) jlo--; if (zmin < 0.0) klo--; - printf("LOOP LATTICE bounds: %d %d: %d %d: %d %d\n",ilo,ihi,jlo,jhi,klo,khi); + if (domain->dimension == 2) klo = khi = 0; // count lattice sites on each proc @@ -1351,6 +1354,7 @@ void CreateAtoms::loop_lattice(int action) { int i, j, k, m; + int dimension = domain->dimension; int triclinic_general = domain->triclinic_general; const double *const *const basis = domain->lattice->basis; @@ -1372,9 +1376,18 @@ void CreateAtoms::loop_lattice(int action) domain->lattice->lattice2box(x[0], x[1], x[2]); // convert from general to restricted triclinic coords + // for 2d simulation, check if z coord is within EPS_ZCOORD of zero + // then set to zero + + if (triclinic_general) { + domain->general_to_restricted_coords(x); + if (dimension == 2) { + if (fabs(x[2]) > EPS_ZCOORD) + error->all(FLERR,"Create_atoms atom z coord is non-zero for 2d simulation"); + x[2] = 0.0; + } + } - if (triclinic_general) domain->general_to_restricted_coords(x); - // if a region was specified, test if atom is in it if (style == REGION) diff --git a/src/create_box.cpp b/src/create_box.cpp index 6a04744826..8cf6065962 100644 --- a/src/create_box.cpp +++ b/src/create_box.cpp @@ -63,6 +63,7 @@ void CreateBox::command(int narg, char **arg) int iarg = 2; if (region) { + // region is not prism // setup orthogonal box // set simulation domain from region extent @@ -94,6 +95,11 @@ void CreateBox::command(int narg, char **arg) domain->yz = prism->yz; } + if (domain->dimension == 2) { + if (domain->boxlo[2] >= 0.0 || domain->boxhi[2] <= 0.0) + error->all(FLERR,"Create_box region zlo/zhi for 2d simulation must straddle 0.0"); + } + // setup general triclinic box (with no region) // read next box extent arguments to create ABC edge vectors + origin // define_general_triclinic() converts @@ -114,7 +120,12 @@ void CreateBox::command(int narg, char **arg) double clo = utils::numeric(FLERR, arg[iarg + 4], false, lmp); double chi = utils::numeric(FLERR, arg[iarg + 5], false, lmp); iarg += 6; - + + if (domain->dimension == 2) { + if (clo >= 0.0 || clo <= 0.0) + error->all(FLERR,"Create_box region clo/chi for 2d simulation must straddle 0.0"); + } + // use lattice2box() to generate origin and ABC vectors // origin = abc lo // ABC vectors = hi in one dim - origin diff --git a/src/lattice.cpp b/src/lattice.cpp index 6d7450fd2b..ef2b4c344d 100644 --- a/src/lattice.cpp +++ b/src/lattice.cpp @@ -238,14 +238,14 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) if (dimension == 2) { if (origin[2] != 0.0) error->all(FLERR, - "Lattice settings are not compatible with 2d simulation"); + "Lattice origin not compatible with 2d simulation"); if (a1[2] != 0.0 || a2[2] != 0.0 || a3[0] != 0.0 || a3[1] != 0.0) error->all(FLERR, - "Lattice settings are not compatible with 2d simulation"); + "Lattice a1/a2/a3 vectors are not compatible with 2d simulation"); if (orientx[2] != 0 || orienty[2] != 0 || orientz[0] != 0 || orientz[1] != 0) error->all(FLERR, - "Lattice settings are not compatible with 2d simulation"); + "Lattice orient vectors are not compatible with 2d simulation"); } if (spaceflag) { diff --git a/src/read_data.cpp b/src/read_data.cpp index c19250c2aa..c59bec7476 100644 --- a/src/read_data.cpp +++ b/src/read_data.cpp @@ -491,11 +491,14 @@ void ReadData::command(int narg, char **arg) boxlo[0] = boxlo[1] = boxlo[2] = -0.5; boxhi[0] = boxhi[1] = boxhi[2] = 0.5; - avec[0] = avec[1] = avec[2] = 0.0; - bvec[0] = bvec[1] = bvec[2] = 0.0; - cvec[0] = cvec[1] = cvec[2] = 0.0; + xy = xz = yz = 0.0; + avec[0] = bvec[1] = cvec[2] = 1.0; + avec[1] = avec[2] = 0.0; + bvec[0] = bvec[2] = 0.0; + cvec[0] = cvec[1] = 0.0; abc_origin[0] = abc_origin[1] = abc_origin[2] = 0.0; + if (domain->dimension == 2) abc_origin[2] = -0.5; keyword[0] = '\0'; @@ -526,6 +529,19 @@ void ReadData::command(int narg, char **arg) error->all(FLERR,"Read_data header cannot specify simulation box lo/hi/tilt and ABC vectors"); triclinic = triclinic_general = 1; } + + // check if simulation box specified correctly for 2d + + if (domain->dimension == 2) { + if (triclinic_general == 0) { + if (boxlo[2] >= 0.0 || boxhi[2] <= 0.0) + error->all(FLERR,"Read_data zlo/zhi for 2d simulation must straddle 0.0"); + } else if (triclinic_general == 1) { + if (cvec[0] != 0.0 || cvec[1] != 0.0 || cvec[2] != 1.0 || abc_origin[2] != -0.5) + error->all(FLERR,"Read_data cvec and/or abc_origin is invalid for " + "2d simulation with general triclinic box"); + } + } // problem setup using info from header // only done once, if firstpass and first data file From 4735534139f0b259b0d54a97943e5380169c1aea Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 6 Sep 2023 09:05:02 -0600 Subject: [PATCH 053/559] enforce atom z coords = 0.0 for 2d simulations --- src/lattice.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lattice.cpp b/src/lattice.cpp index ef2b4c344d..815700003d 100644 --- a/src/lattice.cpp +++ b/src/lattice.cpp @@ -238,7 +238,7 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) if (dimension == 2) { if (origin[2] != 0.0) error->all(FLERR, - "Lattice origin not compatible with 2d simulation"); + "Lattice origin z coord must be 0.0 for 2d simulation"); if (a1[2] != 0.0 || a2[2] != 0.0 || a3[0] != 0.0 || a3[1] != 0.0) error->all(FLERR, "Lattice a1/a2/a3 vectors are not compatible with 2d simulation"); @@ -246,6 +246,9 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) orientz[0] != 0 || orientz[1] != 0) error->all(FLERR, "Lattice orient vectors are not compatible with 2d simulation"); + for (int i = 0; i < nbasis; i++) + if (basis[i][2] != 0.0) + error->all(FLERR,"Lattice basis atom z coords must be zero for 2d simulation"); } if (spaceflag) { From 1ab26e083abbde65b30f28fab114c0066456aaf2 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 6 Sep 2023 10:11:04 -0600 Subject: [PATCH 054/559] more general tri support in dump atom and dump custom --- src/dump_atom.cpp | 147 +++++++++++++++++++++++++++++++++++++++++--- src/dump_atom.h | 9 ++- src/dump_custom.cpp | 17 ++++- 3 files changed, 161 insertions(+), 12 deletions(-) diff --git a/src/dump_atom.cpp b/src/dump_atom.cpp index 2d047dc0a0..dd46452d9e 100644 --- a/src/dump_atom.cpp +++ b/src/dump_atom.cpp @@ -36,6 +36,7 @@ DumpAtom::DumpAtom(LAMMPS *lmp, int narg, char **arg) : scale_flag = 1; image_flag = 0; + triclinic_general = 0; buffer_allow = 1; buffer_flag = 1; format_default = nullptr; @@ -90,12 +91,19 @@ void DumpAtom::init_style() // setup function ptrs + if (scale_flag && triclinic_general) + error->all(FLERR,"Dump atom cannot use scale and triclinic/general settings"); + if (binary && domain->triclinic == 0) header_choice = &DumpAtom::header_binary; + else if (binary && triclinic_general == 1) + header_choice = &DumpAtom::header_binary_triclinic_general; else if (binary && domain->triclinic == 1) header_choice = &DumpAtom::header_binary_triclinic; else if (!binary && domain->triclinic == 0) header_choice = &DumpAtom::header_item; + else if (!binary && triclinic_general == 1) + header_choice = &DumpAtom::header_item_triclinic_general; else if (!binary && domain->triclinic == 1) header_choice = &DumpAtom::header_item_triclinic; @@ -103,10 +111,17 @@ void DumpAtom::init_style() pack_choice = &DumpAtom::pack_scale_noimage; else if (scale_flag == 1 && image_flag == 1 && domain->triclinic == 0) pack_choice = &DumpAtom::pack_scale_image; + + else if (scale_flag == 0 && image_flag == 0 && triclinic_general == 1) + pack_choice = &DumpAtom::pack_noscale_noimage_triclinic_general; + else if (scale_flag == 0 && image_flag == 1 && triclinic_general == 1) + pack_choice = &DumpAtom::pack_noscale_image_triclinic_general; + else if (scale_flag == 1 && image_flag == 0 && domain->triclinic == 1) pack_choice = &DumpAtom::pack_scale_noimage_triclinic; else if (scale_flag == 1 && image_flag == 1 && domain->triclinic == 1) pack_choice = &DumpAtom::pack_scale_image_triclinic; + else if (scale_flag == 0 && image_flag == 0) pack_choice = &DumpAtom::pack_noscale_noimage; else if (scale_flag == 0 && image_flag == 1) @@ -139,7 +154,14 @@ int DumpAtom::modify_param(int narg, char **arg) image_flag = utils::logical(FLERR,arg[1],false,lmp); for (auto &item : keyword_user) item.clear(); return 2; + } else if (strcmp(arg[0],"triclinic/general") == 0) { + if (narg < 2) error->all(FLERR,"Illegal dump_modify command"); + triclinic_general = utils::logical(FLERR,arg[1],false,lmp); + if (triclinic_general && !domain->triclinic_general) + error->all(FLERR,"Dump_modify triclinic/general invalid b/c simulation box is not"); + return 2; } + return 0; } @@ -306,6 +328,30 @@ void DumpAtom::header_binary_triclinic(bigint ndump) /* ---------------------------------------------------------------------- */ +void DumpAtom::header_binary_triclinic_general(bigint ndump) +{ + header_format_binary(); + + fwrite(&update->ntimestep,sizeof(bigint),1,fp); + fwrite(&ndump,sizeof(bigint),1,fp); + int general_tri = 2; + fwrite(&general_tri,sizeof(int),1,fp); + fwrite(&domain->boundary[0][0],6*sizeof(int),1,fp); + fwrite(domain->avec,3*sizeof(double),1,fp); + fwrite(domain->bvec,3*sizeof(double),1,fp); + fwrite(domain->cvec,3*sizeof(double),1,fp); + fwrite(domain->boxlo,3*sizeof(double),1,fp); + + header_unit_style_binary(); + header_time_binary(); + header_columns_binary(); + + if (multiproc) fwrite(&nclusterprocs,sizeof(int),1,fp); + else fwrite(&nprocs,sizeof(int),1,fp); +} + +/* ---------------------------------------------------------------------- */ + void DumpAtom::header_item(bigint ndump) { if (unit_flag && !unit_count) { @@ -348,6 +394,32 @@ void DumpAtom::header_item_triclinic(bigint ndump) /* ---------------------------------------------------------------------- */ +void DumpAtom::header_item_triclinic_general(bigint ndump) +{ + if (unit_flag && !unit_count) { + ++unit_count; + fmt::print(fp,"ITEM: UNITS\n{}\n",update->unit_style); + } + if (time_flag) fmt::print(fp,"ITEM: TIME\n{:.16}\n",compute_time()); + + fmt::print(fp,"ITEM: TIMESTEP\n{}\n" + "ITEM: NUMBER OF ATOMS\n{}\n", + update->ntimestep, ndump); + + fmt::print(fp,"ITEM: BOX BOUNDS abc origin {}\n" + "{:>1.16e} {:>1.16e} {:>1.16e} {:>1.16e}\n" + "{:>1.16e} {:>1.16e} {:>1.16e} {:>1.16e}\n" + "{:>1.16e} {:>1.16e} {:>1.16e} {:>1.16e}\n", + boundstr, + domain->avec[0],domain->avec[1],domain->avec[2],domain->boxlo[0], + domain->bvec[0],domain->bvec[1],domain->bvec[2],domain->boxlo[1], + domain->cvec[0],domain->cvec[1],domain->cvec[2],domain->boxlo[2]); + + fmt::print(fp,"ITEM: ATOMS {}\n",columns); +} + +/* ---------------------------------------------------------------------- */ + void DumpAtom::pack_scale_image(tagint *ids) { int m,n; @@ -406,6 +478,59 @@ void DumpAtom::pack_scale_noimage(tagint *ids) } } +/* ---------------------------------------------------------------------- */ + +void DumpAtom::pack_noscale_image(tagint *ids) +{ + int m,n; + + tagint *tag = atom->tag; + int *type = atom->type; + imageint *image = atom->image; + int *mask = atom->mask; + double **x = atom->x; + int nlocal = atom->nlocal; + + m = n = 0; + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + buf[m++] = tag[i]; + buf[m++] = type[i]; + buf[m++] = x[i][0]; + buf[m++] = x[i][1]; + buf[m++] = x[i][2]; + buf[m++] = (image[i] & IMGMASK) - IMGMAX; + buf[m++] = (image[i] >> IMGBITS & IMGMASK) - IMGMAX; + buf[m++] = (image[i] >> IMG2BITS) - IMGMAX; + if (ids) ids[n++] = tag[i]; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpAtom::pack_noscale_noimage(tagint *ids) +{ + int m,n; + + tagint *tag = atom->tag; + int *type = atom->type; + int *mask = atom->mask; + double **x = atom->x; + int nlocal = atom->nlocal; + + m = n = 0; + for (int i = 0; i < nlocal; i++) + if (mask[i] & groupbit) { + buf[m++] = tag[i]; + buf[m++] = type[i]; + buf[m++] = x[i][0]; + buf[m++] = x[i][1]; + buf[m++] = x[i][2]; + if (ids) ids[n++] = tag[i]; + } +} + + /* ---------------------------------------------------------------------- */ void DumpAtom::pack_scale_image_triclinic(tagint *ids) @@ -466,7 +591,7 @@ void DumpAtom::pack_scale_noimage_triclinic(tagint *ids) /* ---------------------------------------------------------------------- */ -void DumpAtom::pack_noscale_image(tagint *ids) +void DumpAtom::pack_noscale_image_triclinic_general(tagint *ids) { int m,n; @@ -477,14 +602,17 @@ void DumpAtom::pack_noscale_image(tagint *ids) double **x = atom->x; int nlocal = atom->nlocal; + double xtri[3]; + m = n = 0; for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { buf[m++] = tag[i]; buf[m++] = type[i]; - buf[m++] = x[i][0]; - buf[m++] = x[i][1]; - buf[m++] = x[i][2]; + domain->restricted_to_general_coords(x[i],xtri); + buf[m++] = xtri[0]; + buf[m++] = xtri[1]; + buf[m++] = xtri[2]; buf[m++] = (image[i] & IMGMASK) - IMGMAX; buf[m++] = (image[i] >> IMGBITS & IMGMASK) - IMGMAX; buf[m++] = (image[i] >> IMG2BITS) - IMGMAX; @@ -494,7 +622,7 @@ void DumpAtom::pack_noscale_image(tagint *ids) /* ---------------------------------------------------------------------- */ -void DumpAtom::pack_noscale_noimage(tagint *ids) +void DumpAtom::pack_noscale_noimage_triclinic_general(tagint *ids) { int m,n; @@ -504,14 +632,17 @@ void DumpAtom::pack_noscale_noimage(tagint *ids) double **x = atom->x; int nlocal = atom->nlocal; + double xtri[3]; + m = n = 0; for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { buf[m++] = tag[i]; buf[m++] = type[i]; - buf[m++] = x[i][0]; - buf[m++] = x[i][1]; - buf[m++] = x[i][2]; + domain->restricted_to_general_coords(x[i],xtri); + buf[m++] = xtri[0]; + buf[m++] = xtri[1]; + buf[m++] = xtri[2]; if (ids) ids[n++] = tag[i]; } } diff --git a/src/dump_atom.h b/src/dump_atom.h index e28b390520..df21c7788c 100644 --- a/src/dump_atom.h +++ b/src/dump_atom.h @@ -33,8 +33,9 @@ class DumpAtom : public Dump { const int ENDIAN = 0x0001; protected: - int scale_flag; // 1 if atom coords are scaled, 0 if no - int image_flag; // 1 if append box count to atom coords, 0 if no + int scale_flag; // 1 if atom coords are scaled, 0 if no + int image_flag; // 1 if append box count to atom coords, 0 if no + int triclinic_general; // 1 if output box,coords for general triclinic std::string columns; // column labels @@ -57,8 +58,10 @@ class DumpAtom : public Dump { FnPtrHeader header_choice; // ptr to write header functions void header_binary(bigint); void header_binary_triclinic(bigint); + void header_binary_triclinic_general(bigint); void header_item(bigint); void header_item_triclinic(bigint); + void header_item_triclinic_general(bigint); typedef void (DumpAtom::*FnPtrPack)(tagint *); FnPtrPack pack_choice; // ptr to pack functions @@ -68,6 +71,8 @@ class DumpAtom : public Dump { void pack_noscale_noimage(tagint *); void pack_scale_image_triclinic(tagint *); void pack_scale_noimage_triclinic(tagint *); + void pack_noscale_image_triclinic_general(tagint *); + void pack_noscale_noimage_triclinic_general(tagint *); typedef int (DumpAtom::*FnPtrConvert)(int, double *); FnPtrConvert convert_choice; // ptr to convert data functions diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index d96800554d..da9bbd013e 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -500,8 +500,8 @@ void DumpCustom::header_binary_triclinic_general(bigint ndump) fwrite(&update->ntimestep,sizeof(bigint),1,fp); fwrite(&ndump,sizeof(bigint),1,fp); - fwrite(&domain->triclinic,sizeof(int),1,fp); - fwrite(&domain->triclinic_general,sizeof(int),1,fp); + int general_tri = 2; + fwrite(&general_tri,sizeof(int),1,fp); fwrite(&domain->boundary[0][0],6*sizeof(int),1,fp); fwrite(domain->avec,3*sizeof(double),1,fp); fwrite(domain->bvec,3*sizeof(double),1,fp); @@ -1354,14 +1354,20 @@ int DumpCustom::parse_fields(int narg, char **arg) else pack_choice[iarg] = &DumpCustom::pack_z; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"xs") == 0) { + if (triclinic_general) + error->all(FLERR,"Dump custom xs property not supported for general triclinic"); if (domain->triclinic) pack_choice[iarg] = &DumpCustom::pack_xs_triclinic; else pack_choice[iarg] = &DumpCustom::pack_xs; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"ys") == 0) { + if (triclinic_general) + error->all(FLERR,"Dump custom ys property not supported for general triclinic"); if (domain->triclinic) pack_choice[iarg] = &DumpCustom::pack_ys_triclinic; else pack_choice[iarg] = &DumpCustom::pack_ys; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"zs") == 0) { + if (triclinic_general) + error->all(FLERR,"Dump custom zs property not supported for general triclinic"); if (domain->triclinic) pack_choice[iarg] = &DumpCustom::pack_zs_triclinic; else pack_choice[iarg] = &DumpCustom::pack_zs; vtype[iarg] = Dump::DOUBLE; @@ -1381,17 +1387,24 @@ int DumpCustom::parse_fields(int narg, char **arg) else pack_choice[iarg] = &DumpCustom::pack_zu; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"xsu") == 0) { + if (triclinic_general) + error->all(FLERR,"Dump custom xsu property not supported for general triclinic"); if (domain->triclinic) pack_choice[iarg] = &DumpCustom::pack_xsu_triclinic; else pack_choice[iarg] = &DumpCustom::pack_xsu; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"ysu") == 0) { + if (triclinic_general) + error->all(FLERR,"Dump custom ysu property not supported for general triclinic"); if (domain->triclinic) pack_choice[iarg] = &DumpCustom::pack_ysu_triclinic; else pack_choice[iarg] = &DumpCustom::pack_ysu; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"zsu") == 0) { + if (triclinic_general) + error->all(FLERR,"Dump custom zsu property not supported for general triclinic"); if (domain->triclinic) pack_choice[iarg] = &DumpCustom::pack_zsu_triclinic; else pack_choice[iarg] = &DumpCustom::pack_zsu; vtype[iarg] = Dump::DOUBLE; + } else if (strcmp(arg[iarg],"ix") == 0) { pack_choice[iarg] = &DumpCustom::pack_ix; vtype[iarg] = Dump::INT; From ceed2e723e4bcb0c44adccd4b6cdca33ca82cbad Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 6 Sep 2023 10:11:28 -0600 Subject: [PATCH 055/559] more general tri support in dump atom and dump custom --- src/dump_custom.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dump_custom.h b/src/dump_custom.h index 83adbe0d7f..b1ef2c6400 100644 --- a/src/dump_custom.h +++ b/src/dump_custom.h @@ -37,7 +37,7 @@ class DumpCustom : public Dump { int nevery; // dump frequency for output char *idregion; // region ID, nullptr if no region - int triclinic_general; // set by dump_modify + int triclinic_general; // 1 if output box,x,v,f for general triclinic int nthresh; // # of defined thresholds int nthreshlast; // # of defined thresholds with value = LAST From e20e3972d264bd7c316764f40f557b48afb9a7bb Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 7 Sep 2023 17:21:15 -0600 Subject: [PATCH 056/559] doc page updates --- doc/src/Howto_triclinic.rst | 156 ++++++++++++------- doc/src/read_data.rst | 293 ++++++++++++++++++++++++------------ 2 files changed, 293 insertions(+), 156 deletions(-) diff --git a/doc/src/Howto_triclinic.rst b/doc/src/Howto_triclinic.rst index 5fc42e01c6..9780ec8c63 100644 --- a/doc/src/Howto_triclinic.rst +++ b/doc/src/Howto_triclinic.rst @@ -24,6 +24,9 @@ for info on how zlo and zhi are defined for 2d simulations. ---------- +Triclinic simulation boxes +"""""""""""""""""""""""""" + LAMMPS also allows simulations to be performed using triclinic (non-orthogonal) simulation boxes shaped as a parallelepiped with triclinic symmetry. @@ -46,55 +49,41 @@ this purpose. It allows dynamic control of the xy, xz, yz tilt factors as a simulation runs. This is discussed in the next section on non-equilibrium MD (NEMD) simulations. -Conceptually, the tricliic parallelepiped is defined with an "origin" +Conceptually, a triclinic parallelepiped is defined with an "origin" at (xlo,ylo,zhi) and 3 edge vectors **A** = (ax,ay,az), **B** = (bx,by,bz), **C** = (cx,cy,cz) which can now be arbitrary vectors, so -long as they are distinct and are not co-planar. +long as they are non-zero, distinct, and not co-planar. There is no +"right-hand rule" requirement that (**A** x **B**) point in the +direction of **C**. The 4 commands listed above for defining orthogonal simulation boxes have triclinic options which allow for specification of the origin and edge vectors **A**, **B**, **C**. For each command, this can be done -in one of two ways, for what LAMMPS calls a *general* triclinic box, -or a *restricited* triclinic box. A *general* triclinic box is -specified by an origin and 9 parameters (ax,ay,az), (bx,by,bz), -(cx,cy,cz), or 12 parameters in total. A *restricted* triclinic box -also has an origin, but its edge vectors are of the following form: -**A** = (xhi-xlo,0,0), **B** = (xy,yhi-ylo,0), **C** = -(xz,yz,zhi-zlo). So 9 parameters in total. +in one of two ways, for what LAMMPS calls a *general* triclinic box or +a *restricted* triclinic box. -The restricted form of edge vectors means that **A** is along the -x-axis, **B** is in the x-y plane with a y-component in the +y +A *general* triclinic box is specified by an origin and 9 parameters +(ax,ay,az), (bx,by,bz), (cx,cy,cz), or 12 parameters in total. A +*restricted* triclinic box also has an origin, but its edge vectors +are of the following form: **A** = (xhi-xlo,0,0), **B** = +(xy,yhi-ylo,0), **C** = (xz,yz,zhi-zlo). So 9 parameters in total. + +The restricted form of edge vectors requires that **A** is along the +x-axis, **B** is in the xy plane with a y-component in the +y direction, and **C** has a z-component in the +z direction. -*Xy,xz,yz* can be 0.0 or positive or negative values and are called +*Xy,xz,yz* can be zero or positive or negative values and are called "tilt factors" because they are the amount of displacement applied to faces of an originally orthogonal box to transform it into a -restricted parallelepiped. +restricted triclinic parallelepiped. .. note:: - Any general triclinic box (i.e. any solid-state crystal basis - vectors) can be rotated/inverted in 3d around its origin to conform - to the definition of a restricted triclinic box. An inversion may + Any general triclinic box (i.e. solid-state crystal basis vectors) + can be rotated/inverted in 3d around its origin to conform to the + LAMMPS definition of a restricted triclinic box. An inversion may need to be applied to the rotated **C** vector to ensure its final - z-component is in the +z direction. - -.. note:: - - While LAMMPS allows specification of a triclinic simulation box in - either **general** or **restricted** form, internally LAMMPS only - uses restricted triclinic simulation boxes. This is for parallel - efficiency and to formulate partitioning of the simulation box - across processors, neighbor list building, and inter-processor - communication of per-atom data with methods similar to those used - for orthogonal boxes. This means 3 things. (1) Input of a general - triclinic is immediately converted to restricted form. - (2) If output in general triclinic form is requested (e.g. for atom - coordinates in a dump file), then conversion from restricted - triclinic coordinates is done at the time of output. (3) Most - importantly, other LAMMPS commands such as the :doc:`region - ` command, that refer to the simulation box geometry, - operate on restricted triclinic boxes, even if a general triclinic - box was specified as input. + z-component is in the +z direction. See the discussion in the next + sub-section about general triclinic simulation boxes in LAMMPS. Note that for 2d simulations a triclinic simulation box is effectively a parallelogram; see the :doc:'Howto 2d ` doc page for @@ -111,26 +100,68 @@ if the xz and/or yz tilt factors are non-zero, then particles which exit the -z face of the box will be displaced in x by the xz tilt factor and in y by the yz tilt factor. -For general and restricted triclinic boxes, their **A**, **B**, **C** -edge vector components can be output via +The :doc:`thermo_style custom ` command has keywords for +outputting the parameters that define restricted and general triclinic +simulation boxes. For restricted triclinic, this is (xlo,ylo,zlo), +(xhi,yhi,zhi), and the xy,xz,yz tilt factors. For general triclinic, +this is the (xlo,ylo,zhi) origin and the 9 components of the **A**, +**B**, **C** edge vectors. For both orthogonal and restricted +triclinic boxes, lx/ly/lz refer to the same box sizes, namely lx = +xhi - xlo, etc. -The :doc:`thermo_style custom ` command also has options -for outputting the parameters that define general and restricted -triclinic simulation boxes. For general triclinic, this is the -(xlo,ylo,zhi) origin and the 9 components of the **A**, **B**, **C** -edge vectors. For restricted triclinic, this is (xlo,ylo,zlo), -(xhi,yhi,zhi), and the xy,xz,yz tilt factors. For both orthogonal and -restricted triclinic boxes, lx/ly/lz refer to the same box sizes, -namely lx = xhi - xlo, etc. - -The remainder of this doc page explains mathematical transformations -between different ways of representing general and restrictied -triclinic boxes, which may be useful when creating LAMMPS inputs for -triclinic simulations or interpreting outputs. How LAMMPS uses tilt -factors for restricted triclinic simulation boxes is also discussed. +The remainder of this doc page explains (a) how LAMMPS operates with +general triclinic simulation boxes, (b) mathematical transformations +between general and restricted triclinic boxes (which may be useful +when creating LAMMPS inputs or interpreting outputs for triclinic +simulations, and (c) how LAMMPS uses tilt factors for restricted +triclinic simulation boxes. ---------- +General triclinic simulation boxes in LAMMPS +"""""""""""""""""""""""""""""""""""""""""""" + +LAMMPS allows specification of general triclinic simulation boxes as a +convenience for users who may be converting data from solid-state +crystallograhic representations for input to LAMMPS. + +However, internally LAMMPS only uses restricted triclinic simulation +boxes. This is for parallel efficiency and to formulate partitioning +of the simulation box across processors, neighbor list building, and +inter-processor communication of per-atom data with methods similar to +those used for orthogonal boxes. + +This means 3 things which it is important to understand: + +* Input of a general triclinic system is immediately converted to a + restricted triclinic system. +* If output of general triclinic data is requested (e.g. for atom + coordinates in a dump file), then conversion from restricted + triclinic data is done at the time of output. +* Most importantly, other LAMMPS commands such as the :doc:`boundary + ` command or :doc:`region ` command, that refer to + the simulation box geometry, operate on restricted triclinic boxes, + even if a general triclinic box was defined initially. + +This is the list of commands that have specific general triclinic +options: + +create_box +create_atoms +lattice +read_data +write_data +dump atoms, dump custom +dump_modify +thermo_style +thermo_modify +read_restart, write_restart + +---------- + +Transformation from general to restricted triclinic boxes +""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + Let **A**,\ **B**,\ **C** be the edge vectors of a general triclinic simulation box. Assume that **A** x **B** . **C** > 0. The equivalent LAMMPS **a**,\ **b**,\ **c** for a restricted triclinic box @@ -163,12 +194,12 @@ inversion. This can be achieved by interchanging two of the **A**, **B**, **C** vectors or by changing the sign of one of them. For consistency, the same rotation/inversion applied to the triclinic -box edge vectors also typically needs to be applied to atom positions, -velocities, and other vector quantities. This can be conveniently -achieved by first converting to fractional coordinates in the general -triclinic coordinates and then converting to coordinates in the -resetricted triclinic basis. The transformation is given by the -following equation: +box edge vectors can also be applied to atom positions, velocities, +and other vector quantities. This can be conveniently achieved by +first converting to fractional coordinates in the general triclinic +coordinates and then converting to coordinates in the resetricted +triclinic basis. The transformation is given by the following +equation: .. math:: @@ -185,6 +216,9 @@ resulting vector in the restricted triclinic basis. ---------- +Crystallographic general triclinic representation of a simulation box +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + General triclinic crystal structures are often defined using three lattice constants *a*, *b*, and *c*, and three angles :math:`\alpha`, :math:`\beta`, and :math:`\gamma`. Note that in this nomenclature, the @@ -222,6 +256,9 @@ The values of *a*, *b*, *c*, :math:`\alpha` , :math:`\beta`, and ---------- +Output of restricted and general triclinic boxes in a dump file +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + As discussed on the :doc:`dump ` command doc page, when the BOX BOUNDS for a snapshot is written to a dump file for a resticted triclinic box, an orthogonal bounding box which encloses the triclinic @@ -254,6 +291,9 @@ xlo_bound - MIN(0.0,xy,xz,xy+xz). ---------- +Periodicity and tilt factors for triclinic simulation boxes +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + There is no requirement that a triclinic box be periodic in any dimension, though as explained above it typically should be in y or z if you wish enforce a shift in coordinates due to periodic boundary @@ -288,7 +328,7 @@ Similarly, both xz and yz should be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that these are not limitations, since if the maximum tilt factor is 5 (as in this example), then simulations boxes and atom configurations with tilt = ..., -15, -5, 5, 15, 25, ... are -geometrically all equivalent. +all geometrically equivalent. If the box tilt exceeds this limit during a dynamics run (e.g. due to the :doc:`fix deform ` command), then by default the box diff --git a/doc/src/read_data.rst b/doc/src/read_data.rst index 0ecd2b6fa2..2709bf87e5 100644 --- a/doc/src/read_data.rst +++ b/doc/src/read_data.rst @@ -122,16 +122,16 @@ keyword must be used. .. note:: - The simulation box size (xlo to xhi, ylo to yhi, zlo to zhi) in - the new data file will be merged with the existing simulation box to - create a large enough box in each dimension to contain both the - existing and new atoms. Each box dimension never shrinks due to this - merge operation, it only stays the same or grows. Care must be used if - you are growing the existing simulation box in a periodic dimension. - If there are existing atoms with bonds that straddle that periodic - boundary, then the atoms may become far apart if the box size grows. - This will separate the atoms in the bond, which can lead to "lost" - bond atoms or bad dynamics. + The simulation box size in the new data file will be merged with + the existing simulation box to create a large enough box in each + dimension to contain both the existing and new atoms. Each box + dimension never shrinks due to this merge operation, it only stays + the same or grows. Care must be used if you are growing the + existing simulation box in a periodic dimension. If there are + existing atoms with bonds that straddle that periodic boundary, + then the atoms may become far apart if the box size grows. This + will separate the atoms in the bond, which can lead to "lost" bond + atoms or bad dynamics. The three choices for the *add* argument affect how the atom IDs and molecule IDs of atoms in the data file are treated. If *append* is @@ -288,13 +288,16 @@ Format of the header of a data file """"""""""""""""""""""""""""""""""" These are the recognized header keywords. Header lines can come in -any order. The value(s) are read from the beginning of the line. +any order. Each keyword takes a single value unless noted in this +list. The value(s) are read from the beginning of the line. Thus the keyword *atoms* should be in a line like "1000 atoms"; the keyword *ylo yhi* should be in a line like "-10.0 10.0 ylo yhi"; the keyword *xy xz yz* should be in a line like "0.0 5.0 6.0 xy xz yz". -All these settings have a default value of 0, except the lo/hi box -size defaults are -0.5 and 0.5. A line need only appear if the value -is different than the default. + +All these settings have a default value of 0, except for the +simulation box size settings; their defaults are explained below. A +keyword line need only appear if its value is different than the +default. * *atoms* = # of atoms in system * *bonds* = # of bonds in system @@ -315,73 +318,150 @@ is different than the default. * *lines* = # of line segments in system * *triangles* = # of triangles in system * *bodies* = # of bodies in system -* *xlo xhi* = simulation box boundaries in x dimension -* *ylo yhi* = simulation box boundaries in y dimension -* *zlo zhi* = simulation box boundaries in z dimension -* *xy xz yz* = simulation box tilt factors for triclinic system +* *xlo xhi* = simulation box boundaries in x dimension (2 values) +* *ylo yhi* = simulation box boundaries in y dimension (2 values) +* *zlo zhi* = simulation box boundaries in z dimension (2 values) +* *xy xz yz* = simulation box tilt factors for triclinic system (3 values) +* *avec* = first edge vector of a general triclinic simulation box (3 values) +* *bvec* = second edge vector of a general triclinic simulation box (3 values) +* *cvec* = third edge vector of a general triclinic simulation box (3 values) +* *abc origin* = origin on a general triclinic simulation box (3 values) -The initial simulation box size is determined by the lo/hi settings. -In any dimension, the system may be periodic or non-periodic; see the -:doc:`boundary ` command. When the simulation box is created -it is also partitioned into a regular 3d grid of rectangular bricks, -one per processor, based on the number of processors being used and -the settings of the :doc:`processors ` command. The -partitioning can later be changed by the :doc:`balance ` or -:doc:`fix balance ` commands. +---------- -If the *xy xz yz* line does not appear, LAMMPS will set up an -axis-aligned (orthogonal) simulation box. If the line does appear, -LAMMPS creates a non-orthogonal simulation domain shaped as a -parallelepiped with triclinic symmetry. The parallelepiped has its -"origin" at (xlo,ylo,zlo) and is defined by 3 edge vectors starting -from the origin given by A = (xhi-xlo,0,0); B = (xy,yhi-ylo,0); C = -(xz,yz,zhi-zlo). *Xy,xz,yz* can be 0.0 or positive or negative values -and are called "tilt factors" because they are the amount of -displacement applied to faces of an originally orthogonal box to -transform it into the parallelepiped. +Header specification of the simulation box size and shape +""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -The tilt factors (xy,xz,yz) should not skew the box more than half the -distance of the corresponding parallel box length. For example, if -:math:`x_\text{lo} = 2` and :math:`x_\text{hi} = 12`, then the :math:`x` -box length is 10 and the :math:`xy` tilt factor must be between -:math:`-5` and :math:`5`. Similarly, both :math:`xz` and :math:`yz` -must be between :math:`-(x_\text{hi}-x_\text{lo})/2` and -:math:`+(y_\text{hi}-y_\text{lo})/2`. Note that this is not a -limitation, since if the maximum tilt factor is 5 (as in this example), -then configurations with tilt :math:`= \dots, -15`, :math:`-5`, -:math:`5`, :math:`15`, :math:`25, \dots` are all geometrically -equivalent. Simulations with large tilt factors will run inefficiently, -since they require more ghost atoms and thus more communication. With -very large tilt factors, LAMMPS will eventually produce incorrect -trajectories and stop with errors due to lost atoms or similar. +The final 8 keywords in the list of header keywords are for simulation +boxes of 3 kinds which LAMMPS supports: -See the :doc:`Howto triclinic ` page for a -geometric description of triclinic boxes, as defined by LAMMPS, and -how to transform these parameters to and from other commonly used -triclinic representations. +* orthogonal box = faces are perpendicular to the xyz coordinate axes +* restricted triclinic box = a parallelepiped defined by 3 edge vectors oriented in a constrained manner +* general triclinic box = a parallelepiped defined by 3 arbitrary edge vectors -When a triclinic system is used, the simulation domain should normally -be periodic in the dimension that the tilt is applied to, which is -given by the second dimension of the tilt factor (e.g. y for xy tilt). -This is so that pairs of atoms interacting across that boundary will -have one of them shifted by the tilt factor. Periodicity is set by -the :doc:`boundary ` command. For example, if the xy tilt -factor is non-zero, then the y dimension should be periodic. -Similarly, the z dimension should be periodic if xz or yz is non-zero. -LAMMPS does not require this periodicity, but you may lose atoms if -this is not the case. +For restricted and general triclinic boxes, see the +:doc:`Howto_triclinic ` doc page for a fuller +description than is given here. -Also note that if your simulation will tilt the box, e.g. via the -:doc:`fix deform ` command, the simulation box must be setup -to be triclinic, even if the tilt factors are initially 0.0. You can -also change an orthogonal box to a triclinic box or vice versa by using -the :doc:`change box ` command with its *ortho* and -*triclinic* options. +The units of the values for all 8 keywords in in distance units; see +the :doc:`units ` command for details. -For 2d simulations, the *zlo zhi* values should be set to bound the z -coords for atoms that appear in the file; the default of -0.5 0.5 is -valid if all z coords are 0.0. For 2d triclinic simulations, the xz -and yz tilt factors must be 0.0. +For all 3 kinds of simulation boxes, the system may be periodic or +non-periodic in any dimension; see the :doc:`boundary ` +command. When the simulation box is created by the read_data command, +it is also partitioned into a regular 3d grid of subdomains, one per +processor, based on the number of processors being used and the +settings of the :doc:`processors ` command. For each kind +of simulatino box the subdomains have the same shape as the simulation +box, i.e. smaller orthogonal bricks for orthogonal boxes, smaller +tilted bricks for triclinic boxes. The partitioning can later be +changed by the :doc:`balance ` or :doc:`fix balance +` commands. + +For an orthogonal box, only the *xlo xhi*, *ylo yhi*, *zlo zhi* +keywords are used. They define the extent of the simulation box in +each dimension. The origin (lower left corner) of the orthogonal box +is at (xlo,ylo,zlo). The default values for these 3 keywords are -0.5 +and 0.5 for each lo/hi pair. For a 2d simulation, the zlo and zhi +values must straddle zero. The default zlo/zhi values do this, so +that keyword is not needed in 2d. + +For a restricted triclinic box, the *xy xz yz* keyword is used in +addition to the *xlo xhi*, *ylo yhi*, *zlo zhi* keywords. The three +*xy,xz,yz* values can be 0.0 or positive or negative, and are called +"tilt factors" because they are the amount of displacement applied to +faces of an orthogonal box to transform it into a restricted triclinic +parallelepiped. + +The :doc:`Howto_triclinic ` doc page discusses the +tilt factors in detail and explains that the resulting edge vectors of +the restricted triclinic box are: + +* **A** = (xhi-xlo,0,0) +* **B** = (xy,yhi-ylo,0) +* **C** = (xz,yz,zhi-zlo) + +This restricted form of edge vectors means that **A** is along the +x-axis, **B** is in the xy plane with a y-component in the +y +direction, and **C** has a z-component in the +z direction. The +origin (lower left corner) of the restricted triclinic box is at +(xlo,ylo,zlo). + +For a 2d simulation, the zlo and zhi values must straddle zero. The +default zlo/zhi values do this, so that keyword is not needed in 2d. +The xz and yz values must also be zero in 2d. The shape of the 2d +restricted triclinic simulation box is effectively a parallelogram. + +.. note:: + + When a restricted triclinic box is used, the simulation domain + should normally be periodic in any dimensions that tilt is applied + to, which is given by the second dimension of the tilt factor + (e.g. y for xy tilt). This is so that pairs of atoms interacting + across that boundary will have one of them shifted by the tilt + factor. Periodicity is set by the :doc:`boundary ` + command. For example, if the xy tilt factor is non-zero, then the + y dimension should be periodic. Similarly, the z dimension should + be periodic if xz or yz is non-zero. LAMMPS does not require this + periodicity, but you may lose atoms if this is not the case. + +.. note:: + + Normally, the specified tilt factors (xy,xz,yz) should not skew the + simulation box by more than half the distance of the corresponding + parallel box length for computational efficiency. For example, if + :math:`x_\text{lo} = 2` and :math:`x_\text{hi} = 12`, then the + :math:`x` box length is 10 and the :math:`xy` tilt factor should be + between :math:`-5` and :math:`5`. LAMMPS will issue a warning if + this is not the case. See the :doc:`Howto_triclinic + ` doc page for more details. + +.. note:: + + If a simulation box is initially orthogonal, but will tilt during a + simulation, e.g. via the :doc:`fix deform ` command, + then the box should be defined as restricted triclinic with all 3 + tilt factors = 0.0. Alternatively, the :doc:`change box + ` command can be used to convert an orthogonal box to a + restricted triclinic box. + +For a general triclinic box, the *avec*, *bvec*, *cvec*, and *abc +origin* keywords are used. The *xlo xhi*, *ylo yhi*, *zlo zhi*, and +*xy xz yz* keywords are not used. The first 3 keywords define the 3 +edge vectors **A**, **B**, **C** of a general triclinic box. They can +be arbitrary vectors so long as they are distinct, non-zero, and not +co-planar. There is no "right-hand rule" requirement that (**A** x +**B**) point in the direction of **C**. The origin of the box (origin +of the 3 edge vectors) is set by the *abc origin* keyword. + +The default values for these 4 keywords are as follows: + +* avec = (1,0,0) +* bvec = (0,1,0) +* cvec = (0,0,1) +* *abc origin = (0,0,0) for 3d, (0,0,-0.5) for 2d + +For 2d simulations, *cvec* = (0,0,1) is required, and the 3rd value of +*abc origin* must be -0.5. These are the default values, so the +*cvec* keyword is not needed in 2d. + +.. note:: + + LAMMPS allows specification of general triclinic simulation boxes + as a convenience for users who may be converting data from + solid-state crystallograhic representations for input to LAMMPS. + However, as explained on the :doc:`Howto_triclinic + ` doc page, internally LAMMPS only uses restricted + triclinic simulation boxes. This means the box and atom + information (coordinates, velocities) in the data file are + converted from general to restricted triclinic form as soon as the + file is read. The :doc:`Howto_triclinic ` doc + page also discusses other LAMMPS commands which can input/output + general triclinic representations of the simulation box and + per-atom data. + +The following explanations apply to all 3 kinds of simulation boxes: +orthogonal, restricted triclinic, and general triclinic. If the system is periodic (in a dimension), then atom coordinates can be outside the bounds (in that dimension); they will be remapped (in a @@ -406,7 +486,6 @@ individually back into the principal unit cell in that direction. This operation is equivalent to the behavior of the :doc:`change_box command ` when used to change periodicity. - If those atoms with non-zero image flags are involved in bonded interactions, this reset can lead to undesired changes, when the image flag values differ between the atoms, i.e. the bonded interaction @@ -440,25 +519,32 @@ needed, so that the image flag would be zero. to lose atoms when LAMMPS shrink-wraps the box around the atoms. The read_data command will generate an error in this case. +---------- + +Meaning of other header keywords +"""""""""""""""""""""""""""""""" + The "extra bond per atom" setting (angle, dihedral, improper) is only needed if new bonds (angles, dihedrals, impropers) will be added to -the system when a simulation runs, e.g. by using the :doc:`fix bond/create ` command. Using this header flag -is deprecated; please use the *extra/bond/per/atom* keyword (and +the system when a simulation runs, e.g. by using the :doc:`fix +bond/create ` command. Using this header flag is +deprecated; please use the *extra/bond/per/atom* keyword (and correspondingly for angles, dihedrals and impropers) in the read_data command instead. Either will pre-allocate space in LAMMPS data structures for storing the new bonds (angles, dihedrals, impropers). The "extra special per atom" setting is typically only needed if new -bonds/angles/etc will be added to the system, e.g. by using the :doc:`fix bond/create ` command. Or if entire new molecules -will be added to the system, e.g. by using the -:doc:`fix deposit ` or :doc:`fix pour ` commands, -which will have more special 1-2,1-3,1-4 neighbors than any other -molecules defined in the data file. Using this header flag is -deprecated; please use the *extra/special/per/atom* keyword instead. -Using this setting will pre-allocate space in the LAMMPS data -structures for storing these neighbors. See the -:doc:`special_bonds ` and :doc:`molecule ` doc -pages for more discussion of 1-2,1-3,1-4 neighbors. +bonds/angles/etc will be added to the system, e.g. by using the +:doc:`fix bond/create ` command. Or if entire new +molecules will be added to the system, e.g. by using the :doc:`fix +deposit ` or :doc:`fix pour ` commands, which +will have more special 1-2,1-3,1-4 neighbors than any other molecules +defined in the data file. Using this header flag is deprecated; +please use the *extra/special/per/atom* keyword instead. Using this +setting will pre-allocate space in the LAMMPS data structures for +storing these neighbors. See the :doc:`special_bonds ` +and :doc:`molecule ` doc pages for more discussion of +1-2,1-3,1-4 neighbors. .. note:: @@ -470,13 +556,13 @@ pages for more discussion of 1-2,1-3,1-4 neighbors. If they appear in later data files, they are ignored. The "ellipsoids" and "lines" and "triangles" and "bodies" settings are -only used with :doc:`atom_style ellipsoid or line or tri or body ` and specify how many of the atoms are -finite-size ellipsoids or lines or triangles or bodies; the remainder -are point particles. See the discussion of ellipsoidflag and the -*Ellipsoids* section below. See the discussion of lineflag and the -*Lines* section below. See the discussion of triangleflag and the -*Triangles* section below. See the discussion of bodyflag and the -*Bodies* section below. +only used with :doc:`atom_style ellipsoid or line or tri or body +` and specify how many of the atoms are finite-size +ellipsoids or lines or triangles or bodies; the remainder are point +particles. See the discussion of ellipsoidflag and the *Ellipsoids* +section below. See the discussion of lineflag and the *Lines* section +below. See the discussion of triangleflag and the *Triangles* section +below. See the discussion of bodyflag and the *Bodies* section below. .. note:: @@ -680,6 +766,16 @@ appended to it, which indicate which image of a periodic simulation box the atom is in. These may be important to include for some kinds of analysis. +.. note:: + + For orthogonal and restricted and general triclinic simulation + boxes, the atom coordinates (x,y,z) listed in this section should + be inside the corresponding simulation box. For general triclinic + boxes that means the box defined by the 3 edge vectors specified by + the *avec*, *bvec*, *cvec* header keywords. See the discussion + above in the header section about how atom coordinates outside the + simulation box are (or are not) remapped to be inside the box. + .. list-table:: * - angle @@ -773,8 +869,9 @@ The per-atom values have these meanings and units, listed alphabetically: The units for these quantities depend on the unit style; see the :doc:`units ` command for details. -For 2d simulations specify z as 0.0, or a value within the *zlo zhi* -setting in the data file header. +For 2d simulations, z must be specified as 0.0. If the data file is +created by another program, then z values for a 2d simulation can be +within epsilon of 0.0, and LAMMPS will force them to zero. The atom-ID is used to identify the atom throughout the simulation and in dump files. Normally, it is a unique value from 1 to Natoms for @@ -1513,8 +1610,8 @@ fields: atom-ID vx vy vz ervel wx wy wz -Translational velocities can also be set by the -:doc:`velocity ` command in the input script. +Translational velocities can also be (re)set by the :doc:`velocity +` command in the input script. ---------- From dec245c67bbe43075aa444831058c9e5d05787db Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 13 Sep 2023 09:29:56 -0600 Subject: [PATCH 057/559] support for other vector fields in read_data --- doc/src/Errors_messages.rst | 6 ----- doc/src/Errors_warnings.rst | 7 ------ src/DIELECTRIC/atom_vec_dielectric.cpp | 15 ++++++++++++ src/DIELECTRIC/atom_vec_dielectric.h | 1 + src/DIPOLE/atom_vec_dipole.cpp | 15 ++++++++++++ src/DIPOLE/atom_vec_dipole.h | 1 + src/MACHDYN/atom_vec_smd.cpp | 7 ++++++ src/SPIN/atom_vec_spin.cpp | 17 ++++++++++++-- src/SPIN/atom_vec_spin.h | 1 + src/atom.cpp | 14 +++++------ src/atom.h | 3 +-- src/atom_vec.cpp | 32 +++++++++++++++++++++++++- src/atom_vec.h | 5 +++- src/create_atoms.cpp | 4 ++-- src/lmprestart.h | 4 ++-- src/read_data.cpp | 10 ++++++-- 16 files changed, 110 insertions(+), 32 deletions(-) diff --git a/doc/src/Errors_messages.rst b/doc/src/Errors_messages.rst index bfdba4f6a1..2a146a9184 100644 --- a/doc/src/Errors_messages.rst +++ b/doc/src/Errors_messages.rst @@ -7883,12 +7883,6 @@ keyword to allow for additional bonds to be formed Fix poems cannot (yet) work with coupled bodies whose joints connect the bodies in a tree structure. -*Triclinic box skew is too large* - The displacement in a skewed direction must be less than half the box - length in that dimension. E.g. the xy tilt must be between -half and - +half of the x box length. This constraint can be relaxed by using - the box tilt command. - *Tried to convert a double to int, but input_double > INT_MAX* Self-explanatory. diff --git a/doc/src/Errors_warnings.rst b/doc/src/Errors_warnings.rst index b0fa2e2173..d244818cc9 100644 --- a/doc/src/Errors_warnings.rst +++ b/doc/src/Errors_warnings.rst @@ -752,13 +752,6 @@ This will most likely cause errors in kinetic fluctuations. More than the maximum # of neighbors was found multiple times. This was unexpected. -*Triclinic box skew is large* - The displacement in a skewed direction is normally required to be less - than half the box length in that dimension. E.g. the xy tilt must be - between -half and +half of the x box length. You have relaxed the - constraint using the box tilt command, but the warning means that a - LAMMPS simulation may be inefficient as a result. - *Use special bonds = 0,1,1 with bond style fene* Most FENE models need this setting for the special_bonds command. diff --git a/src/DIELECTRIC/atom_vec_dielectric.cpp b/src/DIELECTRIC/atom_vec_dielectric.cpp index 3b25ad4e17..a06b4d599b 100644 --- a/src/DIELECTRIC/atom_vec_dielectric.cpp +++ b/src/DIELECTRIC/atom_vec_dielectric.cpp @@ -15,6 +15,7 @@ #include "atom.h" #include "citeme.h" +#include "domain.h" #include "error.h" #include "force.h" #include "pair.h" @@ -187,6 +188,20 @@ void AtomVecDielectric::data_atom_post(int ilocal) mu_one[3] = sqrt(mu_one[0] * mu_one[0] + mu_one[1] * mu_one[1] + mu_one[2] * mu_one[2]); } +/* ---------------------------------------------------------------------- + convert read_data file info from general to restricted triclinic + parent class operates on data from Velocities section of data file + child class operates on dipole moment mu +------------------------------------------------------------------------- */ + +void AtomVecDielectric::data_general_to_restricted(int nlocal_previous, int nlocal) +{ + AtomVec::data_general_to_restricted(nlocal_previous, nlocal); + + for (int i = nlocal_previous; i < nlocal; i++) + domain->general_to_restricted_vector(mu[i]); +} + /* ---------------------------------------------------------------------- initialize other atom quantities after AtomVec::unpack_restart() ------------------------------------------------------------------------- */ diff --git a/src/DIELECTRIC/atom_vec_dielectric.h b/src/DIELECTRIC/atom_vec_dielectric.h index 28bf7abb33..fefbc99c4f 100644 --- a/src/DIELECTRIC/atom_vec_dielectric.h +++ b/src/DIELECTRIC/atom_vec_dielectric.h @@ -35,6 +35,7 @@ class AtomVecDielectric : virtual public AtomVec { void grow_pointers() override; void create_atom_post(int) override; void data_atom_post(int) override; + void data_general_to_restricted(int, int); void unpack_restart_init(int) override; int property_atom(const std::string &) override; void pack_property_atom(int, double *, int, int) override; diff --git a/src/DIPOLE/atom_vec_dipole.cpp b/src/DIPOLE/atom_vec_dipole.cpp index 3f160787b2..5323e33f17 100644 --- a/src/DIPOLE/atom_vec_dipole.cpp +++ b/src/DIPOLE/atom_vec_dipole.cpp @@ -14,6 +14,7 @@ #include "atom_vec_dipole.h" #include "atom.h" +#include "domain.h" #include @@ -68,3 +69,17 @@ void AtomVecDipole::data_atom_post(int ilocal) double *mu_one = mu[ilocal]; mu_one[3] = sqrt(mu_one[0] * mu_one[0] + mu_one[1] * mu_one[1] + mu_one[2] * mu_one[2]); } + +/* ---------------------------------------------------------------------- + convert read_data file info from general to restricted triclinic + parent class operates on data from Velocities section of data file + child class operates on mu +------------------------------------------------------------------------- */ + +void AtomVecDipole::data_general_to_restricted(int nlocal_previous, int nlocal) +{ + AtomVec::data_general_to_restricted(nlocal_previous, nlocal); + + for (int i = nlocal_previous; i < nlocal; i++) + domain->general_to_restricted_vector(mu[i]); +} diff --git a/src/DIPOLE/atom_vec_dipole.h b/src/DIPOLE/atom_vec_dipole.h index d2f5746462..d688fd98dd 100644 --- a/src/DIPOLE/atom_vec_dipole.h +++ b/src/DIPOLE/atom_vec_dipole.h @@ -30,6 +30,7 @@ class AtomVecDipole : virtual public AtomVec { void grow_pointers() override; void data_atom_post(int) override; + void data_general_to_restricted(int, int); protected: double **mu; diff --git a/src/MACHDYN/atom_vec_smd.cpp b/src/MACHDYN/atom_vec_smd.cpp index d1bae9ecb7..0f5e7f82f0 100644 --- a/src/MACHDYN/atom_vec_smd.cpp +++ b/src/MACHDYN/atom_vec_smd.cpp @@ -156,6 +156,13 @@ void AtomVecSMD::create_atom_post(int ilocal) void AtomVecSMD::data_atom_post(int ilocal) { esph[ilocal] = 0.0; + + // x and x0 are in Atoms section of data file + // reset x0 b/c x may have been modified in Atom::data_atoms() + // for PBC, shift, etc + // this also means no need for data_general_to_restricted() method + // to rotate x0 for general triclinic + x0[ilocal][0] = x[ilocal][0]; x0[ilocal][1] = x[ilocal][1]; x0[ilocal][2] = x[ilocal][2]; diff --git a/src/SPIN/atom_vec_spin.cpp b/src/SPIN/atom_vec_spin.cpp index 9a7e4c6aac..1ea57516f6 100644 --- a/src/SPIN/atom_vec_spin.cpp +++ b/src/SPIN/atom_vec_spin.cpp @@ -1,5 +1,4 @@ /* ---------------------------------------------------------------------- - LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories LAMMPS development team: developers@lammps.org @@ -10,7 +9,6 @@ the GNU General Public License. See the README file in the top-level LAMMPS directory. - ------------------------------------------------------------------------- */ /* ------------------------------------------------------------------------ @@ -26,6 +24,7 @@ #include "atom_vec_spin.h" #include "atom.h" +#include "domain.h" #include #include @@ -100,3 +99,17 @@ void AtomVecSpin::data_atom_post(int ilocal) sp_one[1] *= norm; sp_one[2] *= norm; } + +/* ---------------------------------------------------------------------- + convert read_data file info from general to restricted triclinic + parent class operates on data from Velocities section of data file + child class operates on spin vector sp +------------------------------------------------------------------------- */ + +void AtomVecSpin::data_general_to_restricted(int nlocal_previous, int nlocal) +{ + AtomVec::data_general_to_restricted(nlocal_previous, nlocal); + + for (int i = nlocal_previous; i < nlocal; i++) + domain->general_to_restricted_vector(sp[i]); +} diff --git a/src/SPIN/atom_vec_spin.h b/src/SPIN/atom_vec_spin.h index bf11d5856e..effbe232f4 100644 --- a/src/SPIN/atom_vec_spin.h +++ b/src/SPIN/atom_vec_spin.h @@ -31,6 +31,7 @@ class AtomVecSpin : virtual public AtomVec { void grow_pointers() override; void force_clear(int, size_t) override; void data_atom_post(int) override; + void data_general_to_restricted(int, int); protected: double **sp, **fm, **fm_long; diff --git a/src/atom.cpp b/src/atom.cpp index fb444e3e79..4674ded045 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -1039,12 +1039,12 @@ void Atom::deallocate_topology() /* ---------------------------------------------------------------------- unpack N lines from Atom section of data file call style-specific routine to parse line + triclinic_general = 1 if data file defines a general triclinic box ------------------------------------------------------------------------- */ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, - int type_offset, int triclinic_general, - int shiftflag, double *shift, - int labelflag, int *ilabel) + int type_offset, int shiftflag, double *shift, + int labelflag, int *ilabel, int triclinic_general) { int xptr,iptr; imageint imagedata; @@ -1181,8 +1181,8 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, xdata[1] = utils::numeric(FLERR,values[xptr+1],false,lmp); xdata[2] = utils::numeric(FLERR,values[xptr+2],false,lmp); - // for 2d simulation, check if z coord is within EPS_ZCOORD of zero - // then set to zero + // for 2d simulation: + // check if z coord is within EPS_ZCOORD of zero and set to zero if (dimension == 2) { if (fabs(xdata[2]) > EPS_ZCOORD) @@ -1255,8 +1255,8 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, /* ---------------------------------------------------------------------- unpack N lines from Velocity section of data file check that atom IDs are > 0 and <= map_tag_max - call style-specific routine to parse line -------------------------------------------------------------------------- */ + call style-specific routine to parse line- +------------------------------------------------------------------------ */ void Atom::data_vels(int n, char *buf, tagint id_offset) { diff --git a/src/atom.h b/src/atom.h index cf5fa10814..5c4ad80e62 100644 --- a/src/atom.h +++ b/src/atom.h @@ -328,8 +328,7 @@ class Atom : protected Pointers { void deallocate_topology(); - void data_atoms(int, char *, tagint, tagint, int, int, - int, double *, int, int *); + void data_atoms(int, char *, tagint, tagint, int, int, double *, int, int *, int); void data_vels(int, char *, tagint); void data_bonds(int, char *, int *, tagint, int, int, int *); void data_angles(int, char *, int *, tagint, int, int, int *); diff --git a/src/atom_vec.cpp b/src/atom_vec.cpp index bfda951823..d8684aaf94 100644 --- a/src/atom_vec.cpp +++ b/src/atom_vec.cpp @@ -1656,6 +1656,7 @@ void AtomVec::data_atom(double *coord, imageint imagetmp, const std::vectornlocal; if (nlocal == nmax) grow(0); @@ -1684,7 +1685,7 @@ void AtomVec::data_atom(double *coord, imageint imagetmp, const std::vectorgeneral_to_restricted_vector(array[i]); + } + } + } +} + /* ---------------------------------------------------------------------- return # of bytes of allocated memory ------------------------------------------------------------------------- */ diff --git a/src/atom_vec.h b/src/atom_vec.h index a4db054752..b0c77635f8 100644 --- a/src/atom_vec.h +++ b/src/atom_vec.h @@ -123,7 +123,8 @@ class AtomVec : protected Pointers { virtual void create_atom(int, double *); virtual void create_atom_post(int) {} - virtual void data_atom(double *, imageint, const std::vector &, std::string &); + virtual void data_atom(double *, imageint, const std::vector &, + std::string &); virtual void data_atom_post(int) {} virtual void data_atom_bonus(int, const std::vector &) {} virtual void data_body(int, int, int, int *, double *) {} @@ -151,6 +152,8 @@ class AtomVec : protected Pointers { virtual int pack_data_bonus(double *, int) { return 0; } virtual void write_data_bonus(FILE *, int, double *, int) {} + virtual void data_general_to_restricted(int, int); + virtual int property_atom(const std::string &) { return -1; } virtual void pack_property_atom(int, double *, int, int) {} diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index 0a8c462688..fb9b83413f 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -1376,8 +1376,8 @@ void CreateAtoms::loop_lattice(int action) domain->lattice->lattice2box(x[0], x[1], x[2]); // convert from general to restricted triclinic coords - // for 2d simulation, check if z coord is within EPS_ZCOORD of zero - // then set to zero + // for 2d simulation: + // check if z coord is within EPS_ZCOORD of zero and set to zero if (triclinic_general) { domain->general_to_restricted_coords(x); diff --git a/src/lmprestart.h b/src/lmprestart.h index b3982ac8c1..2ed1d7db11 100644 --- a/src/lmprestart.h +++ b/src/lmprestart.h @@ -29,7 +29,6 @@ enum{VERSION,SMALLINT,TAGINT,BIGINT, NDIHEDRALS,NDIHEDRALTYPES,DIHEDRAL_PER_ATOM, NIMPROPERS,NIMPROPERTYPES,IMPROPER_PER_ATOM, TRICLINIC,BOXLO,BOXHI,XY,XZ,YZ, - TRICLINIC_GENERAL,ROTATE_G2R,ROTATE_R2G, SPECIAL_LJ,SPECIAL_COUL, MASS,PAIR,BOND,ANGLE,DIHEDRAL,IMPROPER, MULTIPROC,MPIIO,PROCSPERFILE,PERPROC, @@ -38,7 +37,8 @@ enum{VERSION,SMALLINT,TAGINT,BIGINT, COMM_MODE,COMM_CUTOFF,COMM_VEL,NO_PAIR, EXTRA_BOND_PER_ATOM,EXTRA_ANGLE_PER_ATOM,EXTRA_DIHEDRAL_PER_ATOM, EXTRA_IMPROPER_PER_ATOM,EXTRA_SPECIAL_PER_ATOM,ATOM_MAXSPECIAL, - NELLIPSOIDS,NLINES,NTRIS,NBODIES,ATIME,ATIMESTEP,LABELMAP}; + NELLIPSOIDS,NLINES,NTRIS,NBODIES,ATIME,ATIMESTEP,LABELMAP, + TRICLINIC_GENERAL,ROTATE_G2R,ROTATE_R2G}; #define LB_FACTOR 1.1 diff --git a/src/read_data.cpp b/src/read_data.cpp index c59bec7476..219a361584 100644 --- a/src/read_data.cpp +++ b/src/read_data.cpp @@ -1062,6 +1062,12 @@ void ReadData::command(int narg, char **arg) atom->avec->grow(atom->nmax); } + // if general triclinic, perform general to restricted rotation operation + // on any quantities read from data file which require it + + if (triclinic_general) + atom->avec->data_general_to_restricted(nlocal_previous, atom->nlocal); + // init per-atom fix/compute/variable values for created atoms atom->data_fix_compute_variable(nlocal_previous, atom->nlocal); @@ -1518,8 +1524,8 @@ void ReadData::atoms() if (eof) error->all(FLERR, "Unexpected end of data file"); if (tlabelflag && !lmap->is_complete(Atom::ATOM)) error->all(FLERR, "Label map is incomplete: all types must be assigned a unique type label"); - atom->data_atoms(nchunk, buffer, id_offset, mol_offset, toffset, triclinic_general, - shiftflag, shift, tlabelflag, lmap->lmap2lmap.atom); + atom->data_atoms(nchunk, buffer, id_offset, mol_offset, toffset, + shiftflag, shift, tlabelflag, lmap->lmap2lmap.atom, triclinic_general); nread += nchunk; } From c7e794146f9cd04d3e5b2a57bb7e5dc096547a08 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 13 Sep 2023 10:03:05 -0600 Subject: [PATCH 058/559] initial support for write_data --- src/DIELECTRIC/atom_vec_dielectric.cpp | 4 +- src/DIELECTRIC/atom_vec_dielectric.h | 2 +- src/MACHDYN/atom_vec_smd.cpp | 2 +- src/atom.cpp | 2 + src/atom_vec.cpp | 102 ++++++++++++++++++++++++- src/atom_vec.h | 9 ++- src/read_data.cpp | 2 +- src/write_data.cpp | 33 +++----- 8 files changed, 124 insertions(+), 32 deletions(-) diff --git a/src/DIELECTRIC/atom_vec_dielectric.cpp b/src/DIELECTRIC/atom_vec_dielectric.cpp index a06b4d599b..735d770b04 100644 --- a/src/DIELECTRIC/atom_vec_dielectric.cpp +++ b/src/DIELECTRIC/atom_vec_dielectric.cpp @@ -194,9 +194,9 @@ void AtomVecDielectric::data_atom_post(int ilocal) child class operates on dipole moment mu ------------------------------------------------------------------------- */ -void AtomVecDielectric::data_general_to_restricted(int nlocal_previous, int nlocal) +void AtomVecDielectric::read_data_general_to_restricted(int nlocal_previous, int nlocal) { - AtomVec::data_general_to_restricted(nlocal_previous, nlocal); + AtomVec::read_data_general_to_restricted(nlocal_previous, nlocal); for (int i = nlocal_previous; i < nlocal; i++) domain->general_to_restricted_vector(mu[i]); diff --git a/src/DIELECTRIC/atom_vec_dielectric.h b/src/DIELECTRIC/atom_vec_dielectric.h index fefbc99c4f..8bef111cb4 100644 --- a/src/DIELECTRIC/atom_vec_dielectric.h +++ b/src/DIELECTRIC/atom_vec_dielectric.h @@ -35,7 +35,7 @@ class AtomVecDielectric : virtual public AtomVec { void grow_pointers() override; void create_atom_post(int) override; void data_atom_post(int) override; - void data_general_to_restricted(int, int); + void read_data_general_to_restricted(int, int); void unpack_restart_init(int) override; int property_atom(const std::string &) override; void pack_property_atom(int, double *, int, int) override; diff --git a/src/MACHDYN/atom_vec_smd.cpp b/src/MACHDYN/atom_vec_smd.cpp index 0f5e7f82f0..27f23c5362 100644 --- a/src/MACHDYN/atom_vec_smd.cpp +++ b/src/MACHDYN/atom_vec_smd.cpp @@ -160,7 +160,7 @@ void AtomVecSMD::data_atom_post(int ilocal) // x and x0 are in Atoms section of data file // reset x0 b/c x may have been modified in Atom::data_atoms() // for PBC, shift, etc - // this also means no need for data_general_to_restricted() method + // this also means no need for read_data_general_to_restricted() method // to rotate x0 for general triclinic x0[ilocal][0] = x[ilocal][0]; diff --git a/src/atom.cpp b/src/atom.cpp index 4674ded045..7f472e44f4 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -1191,6 +1191,7 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, } // convert atom coords from general triclinic to restricted triclinic + // so can decide which proc owns the atom if (triclinic_general) domain->general_to_restricted_coords(xdata); @@ -1216,6 +1217,7 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, if (coord[0] >= sublo[0] && coord[0] < subhi[0] && coord[1] >= sublo[1] && coord[1] < subhi[1] && coord[2] >= sublo[2] && coord[2] < subhi[2]) { + avec->data_atom(xdata,imagedata,values,typestr); typestr = utils::utf8_subst(typestr); if (id_offset) tag[nlocal-1] += id_offset; diff --git a/src/atom_vec.cpp b/src/atom_vec.cpp index d8684aaf94..f7a0f6f566 100644 --- a/src/atom_vec.cpp +++ b/src/atom_vec.cpp @@ -68,6 +68,9 @@ AtomVec::AtomVec(LAMMPS *lmp) : Pointers(lmp) image = nullptr; x = v = f = nullptr; + x_hold = nullptr; + v_hold = omega_hold = angmom_hold = nullptr; + threads = nullptr; } @@ -2223,12 +2226,12 @@ void AtomVec::write_improper(FILE *fp, int n, tagint **buf, int index) } /* ---------------------------------------------------------------------- - convert read_data file info from general to restricted triclinic + convert info input by read_data from general to restricted triclinic parent class only operates on data from Velocities section of data file child classes operate on all other data: Atoms, Ellipsoids, Lines, Triangles, etc ------------------------------------------------------------------------- */ -void AtomVec::data_general_to_restricted(int nlocal_previous, int nlocal) +void AtomVec::read_data_general_to_restricted(int nlocal_previous, int nlocal) { int datatype, cols; void *pdata; @@ -2239,7 +2242,7 @@ void AtomVec::data_general_to_restricted(int nlocal_previous, int nlocal) cols = mdata_vel.cols[n]; // operate on v, omega, angmom - // no other read_data atom fields are Nx3 double arrays + // no other read_data Velocities fields are Nx3 double arrays if (datatype == Atom::DOUBLE) { if (cols == 3) { @@ -2251,6 +2254,99 @@ void AtomVec::data_general_to_restricted(int nlocal_previous, int nlocal) } } +/* ---------------------------------------------------------------------- + convert info output by write_data from restricted to general triclinic + parent class only operates on x and data from Velocities section of data file + child classes operate on all other data: Atoms, Ellipsoids, Lines, Triangles, etc +------------------------------------------------------------------------- */ + +void AtomVec::write_data_restricted_to_general() +{ + int datatype, cols; + void *pdata; + + int nlocal = atom->nlocal; + + memory->create(x_hold,nlocal,3,"atomvec:x_hold"); + if (nlocal) memcpy(&x_hold[0][0],&x[0][0],3*nlocal*sizeof(double)); + for (int i = 0; i < nlocal; i++) + domain->restricted_to_general_coords(x[i]); + + double **omega = atom->omega; + double **angmom = atom->angmom; + + for (int n = 1; n < ndata_vel; n++) { + pdata = mdata_vel.pdata[n]; + datatype = mdata_vel.datatype[n]; + cols = mdata_vel.cols[n]; + + // operate on v, omega, angmom + // no other write_data Velocities fields are Nx3 double arrays + + if (datatype == Atom::DOUBLE) { + if (cols == 3) { + double **array = *((double ***) pdata); + + if (array == v) { + memory->create(v_hold,nlocal,3,"atomvec:v_hold"); + if (nlocal) memcpy(&v_hold[0][0],&v[0][0],3*nlocal*sizeof(double)); + for (int i = 0; i < nlocal; i++) + domain->restricted_to_general_vector(v[i]); + } else if (array == omega) { + memory->create(omega_hold,nlocal,3,"atomvec:omega_hold"); + if (nlocal) memcpy(&omega_hold[0][0],&omega[0][0],3*nlocal*sizeof(double)); + for (int i = 0; i < nlocal; i++) + domain->restricted_to_general_vector(omega[i]); + } else if (array == angmom) { + memory->create(angmom_hold,nlocal,3,"atomvec:angmom_hold"); + if (nlocal) memcpy(&angmom_hold[0][0],&angmom[0][0],3*nlocal*sizeof(double)); + for (int i = 0; i < nlocal; i++) + domain->restricted_to_general_vector(angmom[i]); + } + } + } + } +} + +/* ---------------------------------------------------------------------- + restore info output by write_data to restricted triclinic + original data is in "hold" arrays + parent class only operates on x and data from Velocities section of data file + child classes operate on all other data: Atoms, Ellipsoids, Lines, Triangles, etc +------------------------------------------------------------------------- */ + +void AtomVec::write_data_restore_restricted() +{ + int nlocal = atom->nlocal; + + if (x_hold) { + memcpy(&x[0][0],&x_hold[0][0],3*nlocal*sizeof(double)); + memory->destroy(x_hold); + x_hold = nullptr; + } + + // operate on v, omega, angmom + // no other write_data Velocities fields are Nx3 double arrays + + if (v_hold) { + memcpy(&v[0][0],&v_hold[0][0],3*nlocal*sizeof(double)); + memory->destroy(v_hold); + v_hold = nullptr; + } + + if (omega_hold) { + memcpy(&atom->omega[0][0],&omega_hold[0][0],3*nlocal*sizeof(double)); + memory->destroy(omega_hold); + omega_hold = nullptr; + } + + if (angmom_hold) { + memcpy(&atom->angmom[0][0],&angmom_hold[0][0],3*nlocal*sizeof(double)); + memory->destroy(angmom_hold); + angmom_hold = nullptr; + } +} + /* ---------------------------------------------------------------------- return # of bytes of allocated memory ------------------------------------------------------------------------- */ diff --git a/src/atom_vec.h b/src/atom_vec.h index b0c77635f8..55fe7e2f7d 100644 --- a/src/atom_vec.h +++ b/src/atom_vec.h @@ -152,7 +152,9 @@ class AtomVec : protected Pointers { virtual int pack_data_bonus(double *, int) { return 0; } virtual void write_data_bonus(FILE *, int, double *, int) {} - virtual void data_general_to_restricted(int, int); + virtual void read_data_general_to_restricted(int, int); + virtual void write_data_restricted_to_general(); + virtual void write_data_restore_restricted(); virtual int property_atom(const std::string &) { return -1; } virtual void pack_property_atom(int, double *, int, int) {} @@ -171,6 +173,11 @@ class AtomVec : protected Pointers { imageint *image; double **x, **v, **f; + // copies of original unrotated fields for write_data for general triclinic + + double **x_hold; + double **v_hold, **omega_hold, **angmom_hold; + // standard list of peratom fields always operated on by different methods // common to all styles, so not listed in field strings diff --git a/src/read_data.cpp b/src/read_data.cpp index 219a361584..ab3876a25e 100644 --- a/src/read_data.cpp +++ b/src/read_data.cpp @@ -1066,7 +1066,7 @@ void ReadData::command(int narg, char **arg) // on any quantities read from data file which require it if (triclinic_general) - atom->avec->data_general_to_restricted(nlocal_previous, atom->nlocal); + atom->avec->read_data_general_to_restricted(nlocal_previous, atom->nlocal); // init per-atom fix/compute/variable values for created atoms diff --git a/src/write_data.cpp b/src/write_data.cpp index 960a4ff1cf..49e041b6ce 100644 --- a/src/write_data.cpp +++ b/src/write_data.cpp @@ -97,7 +97,7 @@ void WriteData::command(int narg, char **arg) } else if (strcmp(arg[iarg],"nofix") == 0) { fixflag = 0; iarg++; - } else if (strcmp(arg[iarg],"triclinic") == 0) { + } else if (strcmp(arg[iarg],"triclinic/general") == 0) { triclinic_general = 1; iarg++; } else if (strcmp(arg[iarg],"nolabelmap") == 0) { @@ -213,32 +213,14 @@ void WriteData::write(const std::string &file) if (coeffflag) force_fields(); } - // per atom info in Atoms and Velocities sections // if general triclinic: - // save restricted triclinic atom coords - // transform atom coords from restricted to general - // restore saved atom coords after output + // reset internal per-atom data that needs rotation + + atom->avec->write_data_restricted_to_general(); - double **xstore = nullptr; - - if (triclinic_general) { - double **x = atom->x; - int nlocal = atom->nlocal; - memory->create(xstore,nlocal,3,"write_data:xstore"); - if (nlocal) memcpy(&xstore[0][0],&x[0][0],3*nlocal*sizeof(double)); - for (int i = 0; i < nlocal; i++) - domain->restricted_to_general_coords(x[i]); - } + // per atom info in Atoms and Velocities sections if (natoms) atoms(); - - if (triclinic_general) { - double **x = atom->x; - int nlocal = atom->nlocal; - if (nlocal) memcpy(&x[0][0],&xstore[0][0],3*nlocal*sizeof(double)); - memory->destroy(xstore); - } - if (natoms) velocities(); // molecular topology info if defined @@ -265,6 +247,11 @@ void WriteData::write(const std::string &file) if (ifix->wd_section) for (int m = 0; m < ifix->wd_section; m++) fix(ifix,m); + // if general triclinic: + // restore internal per-atom data that was rotated + + atom->avec->write_data_restore_restricted(); + // close data file if (me == 0) fclose(fp); From e5f3fcbbf41e47decbce9deed926d4dde1bd2fd8 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 13 Sep 2023 13:29:37 -0600 Subject: [PATCH 059/559] more work on read_data and write_data --- src/DIELECTRIC/atom_vec_dielectric.cpp | 39 ++++++++++++ src/DIELECTRIC/atom_vec_dielectric.h | 5 ++ src/DIPOLE/atom_vec_dipole.cpp | 45 ++++++++++++- src/DIPOLE/atom_vec_dipole.h | 5 +- src/MACHDYN/atom_vec_smd.cpp | 41 ++++++++++++ src/MACHDYN/atom_vec_smd.h | 4 ++ src/SPIN/atom_vec_spin.cpp | 43 ++++++++++++- src/SPIN/atom_vec_spin.h | 5 +- src/atom_vec_body.cpp | 88 ++++++++++++++++++++++++++ src/atom_vec_body.h | 5 ++ src/atom_vec_ellipsoid.cpp | 87 +++++++++++++++++++++++++ src/atom_vec_ellipsoid.h | 5 ++ src/atom_vec_line.cpp | 23 +++++++ src/atom_vec_line.h | 1 + src/atom_vec_tri.cpp | 86 +++++++++++++++++++++++++ src/atom_vec_tri.h | 5 ++ src/domain.cpp | 14 ++-- src/domain.h | 1 + 18 files changed, 488 insertions(+), 14 deletions(-) diff --git a/src/DIELECTRIC/atom_vec_dielectric.cpp b/src/DIELECTRIC/atom_vec_dielectric.cpp index 735d770b04..516c08bd98 100644 --- a/src/DIELECTRIC/atom_vec_dielectric.cpp +++ b/src/DIELECTRIC/atom_vec_dielectric.cpp @@ -18,6 +18,7 @@ #include "domain.h" #include "error.h" #include "force.h" +#include "memory.h" #include "pair.h" #include "pair_hybrid.h" @@ -51,6 +52,8 @@ AtomVecDielectric::AtomVecDielectric(LAMMPS *_lmp) : AtomVec(_lmp) atom->molecule_flag = atom->q_flag = atom->mu_flag = 1; atom->dielectric_flag = 1; + mu_hold = nullptr; + // strings with peratom variables to include in each AtomVec method // strings cannot contain fields in corresponding AtomVec default strings // order of fields in a string does not matter @@ -202,6 +205,42 @@ void AtomVecDielectric::read_data_general_to_restricted(int nlocal_previous, int domain->general_to_restricted_vector(mu[i]); } +/* ---------------------------------------------------------------------- + convert info output by write_data from restricted to general triclinic + parent class operates on x and data from Velocities section of data file + child class operates on dipole momemt mu +------------------------------------------------------------------------- */ + +void AtomVecDielectric::write_data_restricted_to_general() +{ + AtomVec::write_data_restricted_to_general(); + + int nlocal = atom->nlocal; + memory->create(mu_hold,nlocal,3,"atomvec:mu_hold"); + if (nlocal) memcpy(&mu_hold[0][0],&mu[0][0],3*nlocal*sizeof(double)); + for (int i = 0; i < nlocal; i++) + domain->restricted_to_general_vector(mu[i]); +} + +/* ---------------------------------------------------------------------- + restore info output by write_data to restricted triclinic + original data is in "hold" arrays + parent class operates on x and data from Velocities section of data file + child class operates on dipole moment mu +------------------------------------------------------------------------- */ + +void AtomVecDielectric::write_data_restore_restricted() +{ + AtomVec::write_data_restore_restricted(); + + if (!mu_hold) return; + + int nlocal = atom->nlocal; + memcpy(&mu[0][0],&mu_hold[0][0],3*nlocal*sizeof(double)); + memory->destroy(mu_hold); + mu_hold = nullptr; +} + /* ---------------------------------------------------------------------- initialize other atom quantities after AtomVec::unpack_restart() ------------------------------------------------------------------------- */ diff --git a/src/DIELECTRIC/atom_vec_dielectric.h b/src/DIELECTRIC/atom_vec_dielectric.h index 8bef111cb4..b6b7ebd676 100644 --- a/src/DIELECTRIC/atom_vec_dielectric.h +++ b/src/DIELECTRIC/atom_vec_dielectric.h @@ -36,6 +36,9 @@ class AtomVecDielectric : virtual public AtomVec { void create_atom_post(int) override; void data_atom_post(int) override; void read_data_general_to_restricted(int, int); + void write_data_restricted_to_general(); + void write_data_restore_restricted(); + void unpack_restart_init(int) override; int property_atom(const std::string &) override; void pack_property_atom(int, double *, int, int) override; @@ -49,6 +52,8 @@ class AtomVecDielectric : virtual public AtomVec { double **mu; double *area, *ed, *em, *epsilon, *curvature, *q_scaled; + + double **mu_hold; }; } // namespace LAMMPS_NS diff --git a/src/DIPOLE/atom_vec_dipole.cpp b/src/DIPOLE/atom_vec_dipole.cpp index 5323e33f17..025624c6c0 100644 --- a/src/DIPOLE/atom_vec_dipole.cpp +++ b/src/DIPOLE/atom_vec_dipole.cpp @@ -15,6 +15,7 @@ #include "atom.h" #include "domain.h" +#include "memory.h" #include @@ -28,6 +29,8 @@ AtomVecDipole::AtomVecDipole(LAMMPS *lmp) : AtomVec(lmp) mass_type = PER_TYPE; atom->q_flag = atom->mu_flag = 1; + + mu_hold = nullptr; // strings with peratom variables to include in each AtomVec method // strings cannot contain fields in corresponding AtomVec default strings @@ -73,13 +76,49 @@ void AtomVecDipole::data_atom_post(int ilocal) /* ---------------------------------------------------------------------- convert read_data file info from general to restricted triclinic parent class operates on data from Velocities section of data file - child class operates on mu + child class operates on dipole moment mu ------------------------------------------------------------------------- */ -void AtomVecDipole::data_general_to_restricted(int nlocal_previous, int nlocal) +void AtomVecDipole::read_data_general_to_restricted(int nlocal_previous, int nlocal) { - AtomVec::data_general_to_restricted(nlocal_previous, nlocal); + AtomVec::read_data_general_to_restricted(nlocal_previous, nlocal); for (int i = nlocal_previous; i < nlocal; i++) domain->general_to_restricted_vector(mu[i]); } + +/* ---------------------------------------------------------------------- + convert info output by write_data from restricted to general triclinic + parent class operates on x and data from Velocities section of data file + child class operates on dipole momemt mu +------------------------------------------------------------------------- */ + +void AtomVecDipole::write_data_restricted_to_general() +{ + AtomVec::write_data_restricted_to_general(); + + int nlocal = atom->nlocal; + memory->create(mu_hold,nlocal,3,"atomvec:mu_hold"); + if (nlocal) memcpy(&mu_hold[0][0],&mu[0][0],3*nlocal*sizeof(double)); + for (int i = 0; i < nlocal; i++) + domain->restricted_to_general_vector(mu[i]); +} + +/* ---------------------------------------------------------------------- + restore info output by write_data to restricted triclinic + original data is in "hold" arrays + parent class operates on x and data from Velocities section of data file + child class operates on dipole moment mu +------------------------------------------------------------------------- */ + +void AtomVecDipole::write_data_restore_restricted() +{ + AtomVec::write_data_restore_restricted(); + + if (!mu_hold) return; + + int nlocal = atom->nlocal; + memcpy(&mu[0][0],&mu_hold[0][0],3*nlocal*sizeof(double)); + memory->destroy(mu_hold); + mu_hold = nullptr; +} diff --git a/src/DIPOLE/atom_vec_dipole.h b/src/DIPOLE/atom_vec_dipole.h index d688fd98dd..1f6d6fe2be 100644 --- a/src/DIPOLE/atom_vec_dipole.h +++ b/src/DIPOLE/atom_vec_dipole.h @@ -30,10 +30,13 @@ class AtomVecDipole : virtual public AtomVec { void grow_pointers() override; void data_atom_post(int) override; - void data_general_to_restricted(int, int); + void read_data_general_to_restricted(int, int); + void write_data_restricted_to_general(); + void write_data_restore_restricted(); protected: double **mu; + double **mu_hold; }; } // namespace LAMMPS_NS diff --git a/src/MACHDYN/atom_vec_smd.cpp b/src/MACHDYN/atom_vec_smd.cpp index 27f23c5362..5ba2c01038 100644 --- a/src/MACHDYN/atom_vec_smd.cpp +++ b/src/MACHDYN/atom_vec_smd.cpp @@ -25,6 +25,8 @@ #include "atom_vec_smd.h" #include "atom.h" +#include "domain.h" +#include "memory.h" #include @@ -57,6 +59,8 @@ AtomVecSMD::AtomVecSMD(LAMMPS *lmp) : AtomVec(lmp) atom->damage_flag = 1; atom->eff_plastic_strain_rate_flag = 1; + x0_hold = nullptr; + // strings with peratom variables to include in each AtomVec method // strings cannot contain fields in corresponding AtomVec default strings // order of fields in a string does not matter @@ -184,3 +188,40 @@ void AtomVecSMD::data_atom_post(int ilocal) smd_data_9[ilocal][4] = 1.0; // yy smd_data_9[ilocal][8] = 1.0; // zz } + +/* ---------------------------------------------------------------------- + convert info output by write_data from restricted to general triclinic + parent class operates on x and data from Velocities section of data file + child class operates on original coords x0 +------------------------------------------------------------------------- */ + +void AtomVecSMD::write_data_restricted_to_general() +{ + AtomVec::write_data_restricted_to_general(); + + int nlocal = atom->nlocal; + memory->create(x0_hold,nlocal,3,"atomvec:x0_hold"); + if (nlocal) memcpy(&x0_hold[0][0],&x0[0][0],3*nlocal*sizeof(double)); + for (int i = 0; i < nlocal; i++) + domain->restricted_to_general_coords(x0[i]); + +} + +/* ---------------------------------------------------------------------- + restore info output by write_data to restricted triclinic + original data is in "hold" arrays + parent class operates on x and data from Velocities section of data file + child class operates on original coords x0 +------------------------------------------------------------------------- */ + +void AtomVecSMD::write_data_restore_restricted() +{ + AtomVec::write_data_restore_restricted(); + + if (!x0_hold) return; + + int nlocal = atom->nlocal; + memcpy(&x0[0][0],&x0_hold[0][0],3*nlocal*sizeof(double)); + memory->destroy(x0_hold); + x0_hold = nullptr; +} diff --git a/src/MACHDYN/atom_vec_smd.h b/src/MACHDYN/atom_vec_smd.h index 6ca7f08b4d..322136ebd3 100644 --- a/src/MACHDYN/atom_vec_smd.h +++ b/src/MACHDYN/atom_vec_smd.h @@ -43,12 +43,16 @@ class AtomVecSMD : virtual public AtomVec { void force_clear(int, size_t) override; void create_atom_post(int) override; void data_atom_post(int) override; + void write_data_restricted_to_general(); + void write_data_restore_restricted(); private: tagint *molecule; double *esph, *desph, *vfrac, *rmass, *radius, *contact_radius; double *eff_plastic_strain, *eff_plastic_strain_rate, *damage; double **x0, **smd_data_9, **smd_stress, **vest; + + double **x0_hold; }; } // namespace LAMMPS_NS diff --git a/src/SPIN/atom_vec_spin.cpp b/src/SPIN/atom_vec_spin.cpp index 1ea57516f6..a68a59ef38 100644 --- a/src/SPIN/atom_vec_spin.cpp +++ b/src/SPIN/atom_vec_spin.cpp @@ -25,6 +25,7 @@ #include "atom.h" #include "domain.h" +#include "memory.h" #include #include @@ -41,6 +42,8 @@ AtomVecSpin::AtomVecSpin(LAMMPS *lmp) : AtomVec(lmp) atom->sp_flag = 1; + sp_hold = nullptr; + // strings with peratom variables to include in each AtomVec method // strings cannot contain fields in corresponding AtomVec default strings // order of fields in a string does not matter @@ -106,10 +109,46 @@ void AtomVecSpin::data_atom_post(int ilocal) child class operates on spin vector sp ------------------------------------------------------------------------- */ -void AtomVecSpin::data_general_to_restricted(int nlocal_previous, int nlocal) +void AtomVecSpin::read_data_general_to_restricted(int nlocal_previous, int nlocal) { - AtomVec::data_general_to_restricted(nlocal_previous, nlocal); + AtomVec::read_data_general_to_restricted(nlocal_previous, nlocal); for (int i = nlocal_previous; i < nlocal; i++) domain->general_to_restricted_vector(sp[i]); } + +/* ---------------------------------------------------------------------- + convert info output by write_data from restricted to general triclinic + parent class operates on x and data from Velocities section of data file + child class operates on spin vector sp +------------------------------------------------------------------------- */ + +void AtomVecSpin::write_data_restricted_to_general() +{ + AtomVec::write_data_restricted_to_general(); + + int nlocal = atom->nlocal; + memory->create(sp_hold,nlocal,3,"atomvec:sp_hold"); + if (nlocal) memcpy(&sp_hold[0][0],&sp[0][0],3*nlocal*sizeof(double)); + for (int i = 0; i < nlocal; i++) + domain->restricted_to_general_vector(sp[i]); +} + +/* ---------------------------------------------------------------------- + restore info output by write_data to restricted triclinic + original data is in "hold" arrays + parent class operates on x and data from Velocities section of data file + child class operates on spin vector sp +------------------------------------------------------------------------- */ + +void AtomVecSpin::write_data_restore_restricted() +{ + AtomVec::write_data_restore_restricted(); + + if (!sp_hold) return; + + int nlocal = atom->nlocal; + memcpy(&sp[0][0],&sp_hold[0][0],3*nlocal*sizeof(double)); + memory->destroy(sp_hold); + sp_hold = nullptr; +} diff --git a/src/SPIN/atom_vec_spin.h b/src/SPIN/atom_vec_spin.h index effbe232f4..93bbc82ab8 100644 --- a/src/SPIN/atom_vec_spin.h +++ b/src/SPIN/atom_vec_spin.h @@ -31,10 +31,13 @@ class AtomVecSpin : virtual public AtomVec { void grow_pointers() override; void force_clear(int, size_t) override; void data_atom_post(int) override; - void data_general_to_restricted(int, int); + void read_data_general_to_restricted(int, int); + void write_data_restricted_to_general(); + void write_data_restore_restricted(); protected: double **sp, **fm, **fm_long; + double **sp_hold; }; } // namespace LAMMPS_NS diff --git a/src/atom_vec_body.cpp b/src/atom_vec_body.cpp index 538e9783df..7721e1540b 100644 --- a/src/atom_vec_body.cpp +++ b/src/atom_vec_body.cpp @@ -16,8 +16,10 @@ #include "atom.h" #include "body.h" +#include "domain.h" #include "error.h" #include "fix.h" +#include "math_extra.h" #include "memory.h" #include "modify.h" #include "my_pool_chunk.h" @@ -51,6 +53,8 @@ AtomVecBody::AtomVecBody(LAMMPS *lmp) : AtomVec(lmp) nlocal_bonus = nghost_bonus = nmax_bonus = 0; bonus = nullptr; + quat_hold = nullptr; + bptr = nullptr; if (sizeof(double) == sizeof(int)) @@ -547,6 +551,90 @@ void AtomVecBody::data_atom_post(int ilocal) angmom[ilocal][2] = 0.0; } +/* ---------------------------------------------------------------------- + convert read_data file info from general to restricted triclinic + parent class operates on data from Velocities section of data file + child class operates on bonus quat +------------------------------------------------------------------------- */ + +void AtomVecBody::read_data_general_to_restricted(int nlocal_previous, int nlocal) +{ + AtomVec::read_data_general_to_restricted(nlocal_previous, nlocal); + + double quat[4]; + double *bquat; + + for (int i = nlocal_previous; i < nlocal; i++) { + if (body[i] < 0) continue; + bquat = bonus[body[i]].quat; + MathExtra::quatquat(domain->quat_g2r,bquat,quat); + bquat[0] = quat[0]; + bquat[1] = quat[1]; + bquat[2] = quat[2]; + bquat[3] = quat[3]; + MathExtra::qnormalize(bquat); + } +} + +/* ---------------------------------------------------------------------- + convert info output by write_data from restricted to general triclinic + parent class operates on x and data from Velocities section of data file + child class operates on bonus quat +------------------------------------------------------------------------- */ + +void AtomVecBody::write_data_restricted_to_general() +{ + AtomVec::write_data_restricted_to_general(); + + double quat[4],quat_r2g[4]; + double *bquat; + + memory->create(quat_hold,nlocal_bonus,4,"atomvec:quat_hold"); + MathExtra::qconjugate(domain->quat_g2r,quat_r2g); + + for (int i = 0; i < nlocal_bonus; i++) { + bquat = bonus[i].quat; + quat_hold[i][0] = bquat[0]; + quat_hold[i][1] = bquat[1]; + quat_hold[i][2] = bquat[2]; + quat_hold[i][3] = bquat[3]; + + MathExtra::quatquat(quat_r2g,bquat,quat); + bquat[0] = quat[0]; + bquat[1] = quat[1]; + bquat[2] = quat[2]; + bquat[3] = quat[3]; + MathExtra::qnormalize(bquat); + } +} + +/* ---------------------------------------------------------------------- + restore info output by write_data to restricted triclinic + original data is in "hold" arrays + parent class operates on x and data from Velocities section of data file + child class operates on bonus quat +------------------------------------------------------------------------- */ + +void AtomVecBody::write_data_restore_restricted() +{ + AtomVec::write_data_restore_restricted(); + + if (!quat_hold) return; + + double *bquat; + + for (int i = 0; i < nlocal_bonus; i++) { + bquat = bonus[i].quat; + bquat[0] = quat_hold[i][0]; + bquat[1] = quat_hold[i][1]; + bquat[2] = quat_hold[i][2]; + bquat[3] = quat_hold[i][3]; + } + + memory->destroy(quat_hold); + quat_hold = nullptr; +} + /* ---------------------------------------------------------------------- unpack one body from Bodies section of data file ------------------------------------------------------------------------- */ diff --git a/src/atom_vec_body.h b/src/atom_vec_body.h index e02fd3bbb0..955b4f4587 100644 --- a/src/atom_vec_body.h +++ b/src/atom_vec_body.h @@ -60,6 +60,9 @@ class AtomVecBody : public AtomVec { void create_atom_post(int) override; void data_atom_post(int) override; + void read_data_general_to_restricted(int, int); + void write_data_restricted_to_general(); + void write_data_restore_restricted(); void pack_data_pre(int) override; void pack_data_post(int) override; @@ -78,6 +81,8 @@ class AtomVecBody : public AtomVec { double *rmass, *radius; double **angmom; + double **quat_hold; + int nghost_bonus, nmax_bonus; int intdoubleratio; // sizeof(double) / sizeof(int) int body_flag; diff --git a/src/atom_vec_ellipsoid.cpp b/src/atom_vec_ellipsoid.cpp index 3eaa927384..ceb813cbe2 100644 --- a/src/atom_vec_ellipsoid.cpp +++ b/src/atom_vec_ellipsoid.cpp @@ -18,6 +18,7 @@ #include "atom_vec_ellipsoid.h" #include "atom.h" +#include "domain.h" #include "error.h" #include "fix.h" #include "math_const.h" @@ -48,6 +49,8 @@ AtomVecEllipsoid::AtomVecEllipsoid(LAMMPS *lmp) : AtomVec(lmp) nlocal_bonus = nghost_bonus = nmax_bonus = 0; bonus = nullptr; + quat_hold = nullptr; + // strings with peratom variables to include in each AtomVec method // strings cannot contain fields in corresponding AtomVec default strings // order of fields in a string does not matter @@ -457,6 +460,90 @@ void AtomVecEllipsoid::data_atom_post(int ilocal) angmom[ilocal][2] = 0.0; } +/* ---------------------------------------------------------------------- + convert read_data file info from general to restricted triclinic + parent class operates on data from Velocities section of data file + child class operates on bonus quat +------------------------------------------------------------------------- */ + +void AtomVecEllipsoid::read_data_general_to_restricted(int nlocal_previous, int nlocal) +{ + AtomVec::read_data_general_to_restricted(nlocal_previous, nlocal); + + double quat[4]; + double *bquat; + + for (int i = nlocal_previous; i < nlocal; i++) { + if (ellipsoid[i] < 0) continue; + bquat = bonus[ellipsoid[i]].quat; + MathExtra::quatquat(domain->quat_g2r,bquat,quat); + bquat[0] = quat[0]; + bquat[1] = quat[1]; + bquat[2] = quat[2]; + bquat[3] = quat[3]; + MathExtra::qnormalize(bquat); + } +} + +/* ---------------------------------------------------------------------- + convert info output by write_data from restricted to general triclinic + parent class operates on x and data from Velocities section of data file + child class operates on bonus quat +------------------------------------------------------------------------- */ + +void AtomVecEllipsoid::write_data_restricted_to_general() +{ + AtomVec::write_data_restricted_to_general(); + + double quat[4],quat_r2g[4]; + double *bquat; + + memory->create(quat_hold,nlocal_bonus,4,"atomvec:quat_hold"); + MathExtra::qconjugate(domain->quat_g2r,quat_r2g); + + for (int i = 0; i < nlocal_bonus; i++) { + bquat = bonus[i].quat; + quat_hold[i][0] = bquat[0]; + quat_hold[i][1] = bquat[1]; + quat_hold[i][2] = bquat[2]; + quat_hold[i][3] = bquat[3]; + + MathExtra::quatquat(quat_r2g,bquat,quat); + bquat[0] = quat[0]; + bquat[1] = quat[1]; + bquat[2] = quat[2]; + bquat[3] = quat[3]; + MathExtra::qnormalize(bquat); + } +} + +/* ---------------------------------------------------------------------- + restore info output by write_data to restricted triclinic + original data is in "hold" arrays + parent class operates on x and data from Velocities section of data file + child class operates on bonus quat +------------------------------------------------------------------------- */ + +void AtomVecEllipsoid::write_data_restore_restricted() +{ + AtomVec::write_data_restore_restricted(); + + if (!quat_hold) return; + + double *bquat; + + for (int i = 0; i < nlocal_bonus; i++) { + bquat = bonus[i].quat; + bquat[0] = quat_hold[i][0]; + bquat[1] = quat_hold[i][1]; + bquat[2] = quat_hold[i][2]; + bquat[3] = quat_hold[i][3]; + } + + memory->destroy(quat_hold); + quat_hold = nullptr; +} + /* ---------------------------------------------------------------------- modify values for AtomVec::pack_data() to pack ------------------------------------------------------------------------- */ diff --git a/src/atom_vec_ellipsoid.h b/src/atom_vec_ellipsoid.h index 6e06d773fc..3d6815fff0 100644 --- a/src/atom_vec_ellipsoid.h +++ b/src/atom_vec_ellipsoid.h @@ -53,6 +53,9 @@ class AtomVecEllipsoid : public AtomVec { void create_atom_post(int) override; void data_atom_post(int) override; + void read_data_general_to_restricted(int, int); + void write_data_restricted_to_general(); + void write_data_restore_restricted(); void pack_data_pre(int) override; void pack_data_post(int) override; @@ -70,6 +73,8 @@ class AtomVecEllipsoid : public AtomVec { double *rmass; double **angmom; + double **quat_hold; + int nghost_bonus, nmax_bonus; int ellipsoid_flag; double rmass_one; diff --git a/src/atom_vec_line.cpp b/src/atom_vec_line.cpp index ff09bed6d0..95ccfe31bd 100644 --- a/src/atom_vec_line.cpp +++ b/src/atom_vec_line.cpp @@ -437,6 +437,29 @@ void AtomVecLine::data_atom_post(int ilocal) omega[ilocal][2] = 0.0; } +/* ---------------------------------------------------------------------- + convert read_data file info from general to restricted triclinic + parent class operates on data from Velocities section of data file + child class operates on bonus theta +------------------------------------------------------------------------- */ + +void AtomVecLine::read_data_general_to_restricted(int nlocal_previous, int nlocal) +{ + AtomVec::read_data_general_to_restricted(nlocal_previous, nlocal); + + double btheta; + double theta_g2r = 2.0*acos(domain->quat_g2r[0]); + + for (int i = nlocal_previous; i < nlocal; i++) { + if (line[i] < 0) continue; + btheta = bonus[line[i]].theta; + btheta += theta_g2r; + if (btheta > MathConst::MY_PI) btheta -= MathConst::MY_2PI; + else if (btheta <= -MathConst::MY_PI) btheta += MathConst::MY_2PI; + bonus[line[i]].theta = btheta; + } +} + /* ---------------------------------------------------------------------- modify values for AtomVec::pack_data() to pack ------------------------------------------------------------------------- */ diff --git a/src/atom_vec_line.h b/src/atom_vec_line.h index 740c541916..2503f55d8d 100644 --- a/src/atom_vec_line.h +++ b/src/atom_vec_line.h @@ -53,6 +53,7 @@ class AtomVecLine : public AtomVec { void create_atom_post(int) override; void data_atom_post(int) override; + void read_data_general_to_restricted(int, int); void pack_data_pre(int) override; void pack_data_post(int) override; diff --git a/src/atom_vec_tri.cpp b/src/atom_vec_tri.cpp index a46609b02c..7dfb50093b 100644 --- a/src/atom_vec_tri.cpp +++ b/src/atom_vec_tri.cpp @@ -52,6 +52,8 @@ AtomVecTri::AtomVecTri(LAMMPS *lmp) : AtomVec(lmp) nlocal_bonus = nghost_bonus = nmax_bonus = 0; bonus = nullptr; + double **quat_hold = nullptr; + // strings with peratom variables to include in each AtomVec method // strings cannot contain fields in corresponding AtomVec default strings // order of fields in a string does not matter @@ -657,6 +659,90 @@ void AtomVecTri::data_atom_post(int ilocal) angmom[ilocal][2] = 0.0; } +/* ---------------------------------------------------------------------- + convert read_data file info from general to restricted triclinic + parent class operates on data from Velocities section of data file + child class operates on bonus quat +------------------------------------------------------------------------- */ + +void AtomVecTri::read_data_general_to_restricted(int nlocal_previous, int nlocal) +{ + AtomVec::read_data_general_to_restricted(nlocal_previous, nlocal); + + double quat[4]; + double *bquat; + + for (int i = nlocal_previous; i < nlocal; i++) { + if (tri[i] < 0) continue; + bquat = bonus[tri[i]].quat; + MathExtra::quatquat(domain->quat_g2r,bquat,quat); + bquat[0] = quat[0]; + bquat[1] = quat[1]; + bquat[2] = quat[2]; + bquat[3] = quat[3]; + MathExtra::qnormalize(bquat); + } +} + +/* ---------------------------------------------------------------------- + convert info output by write_data from restricted to general triclinic + parent class operates on x and data from Velocities section of data file + child class operates on bonus quat +------------------------------------------------------------------------- */ + +void AtomVecTri::write_data_restricted_to_general() +{ + AtomVec::write_data_restricted_to_general(); + + double quat[4],quat_r2g[4]; + double *bquat; + + memory->create(quat_hold,nlocal_bonus,4,"atomvec:quat_hold"); + MathExtra::qconjugate(domain->quat_g2r,quat_r2g); + + for (int i = 0; i < nlocal_bonus; i++) { + bquat = bonus[i].quat; + quat_hold[i][0] = bquat[0]; + quat_hold[i][1] = bquat[1]; + quat_hold[i][2] = bquat[2]; + quat_hold[i][3] = bquat[3]; + + MathExtra::quatquat(quat_r2g,bquat,quat); + bquat[0] = quat[0]; + bquat[1] = quat[1]; + bquat[2] = quat[2]; + bquat[3] = quat[3]; + MathExtra::qnormalize(bquat); + } +} + +/* ---------------------------------------------------------------------- + restore info output by write_data to restricted triclinic + original data is in "hold" arrays + parent class operates on x and data from Velocities section of data file + child class operates on bonus quat +------------------------------------------------------------------------- */ + +void AtomVecTri::write_data_restore_restricted() +{ + AtomVec::write_data_restore_restricted(); + + if (!quat_hold) return; + + double *bquat; + + for (int i = 0; i < nlocal_bonus; i++) { + bquat = bonus[i].quat; + bquat[0] = quat_hold[i][0]; + bquat[1] = quat_hold[i][1]; + bquat[2] = quat_hold[i][2]; + bquat[3] = quat_hold[i][3]; + } + + memory->destroy(quat_hold); + quat_hold = nullptr; +} + /* ---------------------------------------------------------------------- modify values for AtomVec::pack_data() to pack ------------------------------------------------------------------------- */ diff --git a/src/atom_vec_tri.h b/src/atom_vec_tri.h index 424bd8ea0a..91a7a20e6d 100644 --- a/src/atom_vec_tri.h +++ b/src/atom_vec_tri.h @@ -55,6 +55,9 @@ class AtomVecTri : public AtomVec { void create_atom_post(int) override; void data_atom_post(int) override; + void read_data_general_to_restricted(int, int); + void write_data_restricted_to_general(); + void write_data_restore_restricted(); void pack_data_pre(int) override; void pack_data_post(int) override; @@ -72,6 +75,8 @@ class AtomVecTri : public AtomVec { double *radius, *rmass; double **omega, **angmom; + double **quat_hold; + int nghost_bonus, nmax_bonus; int tri_flag; double rmass_one; diff --git a/src/domain.cpp b/src/domain.cpp index 810814a80f..9c6e1a936c 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -627,7 +627,7 @@ void Domain::define_general_triclinic(double *avec_caller, double *bvec_caller, if (bvec1[2] > 0.0) theta2 = -theta2; MathExtra::axisangle_to_quat(xaxis,theta2,quat2); - // quat = transformation via single quat = quat2 * quat1 + // quat_g2r = transformation via single quat = quat2 * quat1 // rotate_g2r = general to restricted transformation matrix // if dot < 0.0 (A x B not in C direction) // flip sign of z component of transform, @@ -635,9 +635,8 @@ void Domain::define_general_triclinic(double *avec_caller, double *bvec_caller, // rotate_r2g = restricted to general transformation matrix // simply a transpose of rotate_g2r since orthonormal - double quat[4]; - MathExtra::quatquat(quat2,quat1,quat); - MathExtra::quat_to_mat(quat,rotate_g2r); + MathExtra::quatquat(quat2,quat1,quat_g2r); + MathExtra::quat_to_mat(quat_g2r,rotate_g2r); if (dot < 0.0) { rotate_g2r[2][0] = -rotate_g2r[2][0]; @@ -670,10 +669,11 @@ void Domain::define_general_triclinic(double *avec_caller, double *bvec_caller, printf("Rotvec1: %g %g %g\n",rot1[0],rot1[1],rot1[2]); printf("Theta2: %g\n",theta2); printf("Rotvec2: %g %g %g\n",xaxis[0],xaxis[1],xaxis[2]); - printf("Quat: %g %g %g %g\n",quat[0],quat[1],quat[2],quat[3]); - double angle = 2.0*acos(quat[0]); + printf("Quat: %g %g %g %g\n",quat_g2r[0],quat_g2r[1],quat_g2r[2],quat_g2r[3]); + double angle = 2.0*acos(quat_g2r[0]); printf("Theta: %g\n",angle); - printf("Rotvec: %g %g %g\n",quat[1]/sin(0.5*angle),quat[2]/sin(0.5*angle),quat[3]/sin(0.5*angle)); + printf("Rotvec: %g %g %g\n",quat_g2r[1]/sin(0.5*angle),quat_g2r[2]/sin(0.5*angle), + quat_g2r[3]/sin(0.5*angle)); printf("Aprime: %g %g %g\n",aprime[0],aprime[1],aprime[2]); printf("Bprime: %g %g %g\n",bprime[0],bprime[1],bprime[2]); printf("Cprime: %g %g %g\n",cprime[0],cprime[1],cprime[2]); diff --git a/src/domain.h b/src/domain.h index 7b306a9426..3e8b215d29 100644 --- a/src/domain.h +++ b/src/domain.h @@ -92,6 +92,7 @@ class Domain : protected Pointers { // boxlo = lower left corner double avec[3], bvec[3], cvec[3]; // ABC edge vectors of general triclinic box + double quat_g2r[4]; // quaternion for general --> restricted rotation double rotate_g2r[3][3]; // rotation matrix from general --> restricted tri double rotate_r2g[3][3]; // rotation matrix from restricted --> general tri From 30f73288417e5dc159b76ccf9c6a25d1a91851bb Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 14 Sep 2023 16:00:25 -0600 Subject: [PATCH 060/559] more dump custom fields rotated --- src/domain.cpp | 30 +++--- src/domain.h | 1 + src/dump_custom.cpp | 219 ++++++++++++++++++++++++++++++++++++++++---- src/dump_custom.h | 16 ++++ 4 files changed, 236 insertions(+), 30 deletions(-) diff --git a/src/domain.cpp b/src/domain.cpp index 9c6e1a936c..e6ef232a6d 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -733,28 +733,34 @@ void Domain::restricted_to_general_coords(double *x, double *xnew) transform atom vector from general triclinic to restricted triclinic ------------------------------------------------------------------------- */ -void Domain::general_to_restricted_vector(double *x) +void Domain::general_to_restricted_vector(double *v) { - double xnew[3]; + double vnew[3]; - MathExtra::matvec(rotate_g2r,x,xnew); - x[0] = xnew[0]; - x[1] = xnew[1]; - x[2] = xnew[2]; + MathExtra::matvec(rotate_g2r,v,vnew); + v[0] = vnew[0]; + v[1] = vnew[1]; + v[2] = vnew[2]; } /* ---------------------------------------------------------------------- transform atom vector from restricted triclinic to general triclinic ------------------------------------------------------------------------- */ -void Domain::restricted_to_general_vector(double *x) +void Domain::restricted_to_general_vector(double *v) { - double xnew[3]; + double vnew[3]; - MathExtra::matvec(rotate_r2g,x,xnew); - x[0] = xnew[0]; - x[1] = xnew[1]; - x[2] = xnew[2]; + MathExtra::matvec(rotate_r2g,v,vnew); + v[0] = vnew[0]; + v[1] = vnew[1]; + v[2] = vnew[2]; +} + + +void Domain::restricted_to_general_vector(double *v, double *vnew) +{ + MathExtra::matvec(rotate_r2g,v,vnew); } /* ---------------------------------------------------------------------- diff --git a/src/domain.h b/src/domain.h index 3e8b215d29..7c5510d4c2 100644 --- a/src/domain.h +++ b/src/domain.h @@ -148,6 +148,7 @@ class Domain : protected Pointers { void restricted_to_general_coords(double *, double *); void general_to_restricted_vector(double *); void restricted_to_general_vector(double *); + void restricted_to_general_vector(double *, double *x); void set_lattice(int, char **); void add_region(int, char **); diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index da9bbd013e..2e478fd5e9 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -1445,20 +1445,24 @@ int DumpCustom::parse_fields(int narg, char **arg) error->all(FLERR,"Dumping an atom property that isn't allocated"); pack_choice[iarg] = &DumpCustom::pack_q; vtype[iarg] = Dump::DOUBLE; + } else if (strcmp(arg[iarg],"mux") == 0) { if (!atom->mu_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[iarg] = &DumpCustom::pack_mux; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_mux_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_mux; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"muy") == 0) { if (!atom->mu_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[iarg] = &DumpCustom::pack_muy; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_muy_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_muy; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"muz") == 0) { if (!atom->mu_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[iarg] = &DumpCustom::pack_muz; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_muz_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_muz; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"mu") == 0) { if (!atom->mu_flag) @@ -1491,47 +1495,58 @@ int DumpCustom::parse_fields(int narg, char **arg) } else if (strcmp(arg[iarg],"omegax") == 0) { if (!atom->omega_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[iarg] = &DumpCustom::pack_omegax; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_omegax_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_omegax; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"omegay") == 0) { if (!atom->omega_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[iarg] = &DumpCustom::pack_omegay; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_omegay_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_omegay; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"omegaz") == 0) { if (!atom->omega_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[iarg] = &DumpCustom::pack_omegaz; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_omegaz_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_omegaz; vtype[iarg] = Dump::DOUBLE; + } else if (strcmp(arg[iarg],"angmomx") == 0) { if (!atom->angmom_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[iarg] = &DumpCustom::pack_angmomx; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_angmomx_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_angmomx; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"angmomy") == 0) { if (!atom->angmom_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[iarg] = &DumpCustom::pack_angmomy; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_angmomy_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_angmomy; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"angmomz") == 0) { if (!atom->angmom_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[iarg] = &DumpCustom::pack_angmomz; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_angmomz_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_angmomz; vtype[iarg] = Dump::DOUBLE; + } else if (strcmp(arg[iarg],"tqx") == 0) { if (!atom->torque_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[iarg] = &DumpCustom::pack_tqx; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_tqx_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_tqx; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"tqy") == 0) { if (!atom->torque_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[iarg] = &DumpCustom::pack_tqy; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_tqy_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_tqy; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"tqz") == 0) { if (!atom->torque_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[iarg] = &DumpCustom::pack_tqz; + if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_tqz_triclinic_general; + else pack_choice[iarg] = &DumpCustom::pack_tqz; vtype[iarg] = Dump::DOUBLE; // compute or fix or variable or custom vector/array @@ -2888,7 +2903,7 @@ void DumpCustom::pack_vx_triclinic_general(int n) double vtri[3]; for (int i = 0; i < nchoose; i++) { - domain->restricted_to_general_coords(v[clist[i]],vtri); + domain->restricted_to_general_vector(v[clist[i]],vtri); buf[n] = vtri[0]; n += size_one; } @@ -2902,7 +2917,7 @@ void DumpCustom::pack_vy_triclinic_general(int n) double vtri[3]; for (int i = 0; i < nchoose; i++) { - domain->restricted_to_general_coords(v[clist[i]],vtri); + domain->restricted_to_general_vector(v[clist[i]],vtri); buf[n] = vtri[1]; n += size_one; } @@ -2916,7 +2931,7 @@ void DumpCustom::pack_vz_triclinic_general(int n) double vtri[3]; for (int i = 0; i < nchoose; i++) { - domain->restricted_to_general_coords(v[clist[i]],vtri); + domain->restricted_to_general_vector(v[clist[i]],vtri); buf[n] = vtri[2]; n += size_one; } @@ -2966,7 +2981,7 @@ void DumpCustom::pack_fx_triclinic_general(int n) double ftri[3]; for (int i = 0; i < nchoose; i++) { - domain->restricted_to_general_coords(f[clist[i]],ftri); + domain->restricted_to_general_vector(f[clist[i]],ftri); buf[n] = ftri[0]; n += size_one; } @@ -2980,7 +2995,7 @@ void DumpCustom::pack_fy_triclinic_general(int n) double ftri[3]; for (int i = 0; i < nchoose; i++) { - domain->restricted_to_general_coords(f[clist[i]],ftri); + domain->restricted_to_general_vector(f[clist[i]],ftri); buf[n] = ftri[1]; n += size_one; } @@ -2994,7 +3009,7 @@ void DumpCustom::pack_fz_triclinic_general(int n) double ftri[3]; for (int i = 0; i < nchoose; i++) { - domain->restricted_to_general_coords(f[clist[i]],ftri); + domain->restricted_to_general_vector(f[clist[i]],ftri); buf[n] = ftri[2]; n += size_one; } @@ -3062,6 +3077,48 @@ void DumpCustom::pack_mu(int n) /* ---------------------------------------------------------------------- */ +void DumpCustom::pack_mux_triclinic_general(int n) +{ + double **mu = atom->mu; + double mutri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_vector(mu[clist[i]],mutri); + buf[n] = mutri[0]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_muy_triclinic_general(int n) +{ + double **mu = atom->mu; + double mutri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_vector(mu[clist[i]],mutri); + buf[n] = mutri[1]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_muz_triclinic_general(int n) +{ + double **mu = atom->mu; + double mutri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_vector(mu[clist[i]],mutri); + buf[n] = mutri[2]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + void DumpCustom::pack_radius(int n) { double *radius = atom->radius; @@ -3146,6 +3203,48 @@ void DumpCustom::pack_omegaz(int n) /* ---------------------------------------------------------------------- */ +void DumpCustom::pack_omegax_triclinic_general(int n) +{ + double **omega = atom->omega; + double omegatri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_vector(omega[clist[i]],omegatri); + buf[n] = omegatri[0]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_omegay_triclinic_general(int n) +{ + double **omega = atom->omega; + double omegatri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_vector(omega[clist[i]],omegatri); + buf[n] = omegatri[1]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_omegaz_triclinic_general(int n) +{ + double **omega = atom->omega; + double omegatri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_vector(omega[clist[i]],omegatri); + buf[n] = omegatri[2]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + void DumpCustom::pack_angmomx(int n) { double **angmom = atom->angmom; @@ -3182,6 +3281,48 @@ void DumpCustom::pack_angmomz(int n) /* ---------------------------------------------------------------------- */ +void DumpCustom::pack_angmomx_triclinic_general(int n) +{ + double **angmom = atom->angmom; + double angmomtri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_vector(angmom[clist[i]],angmomtri); + buf[n] = angmomtri[0]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_angmomy_triclinic_general(int n) +{ + double **angmom = atom->angmom; + double angmomtri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_vector(angmom[clist[i]],angmomtri); + buf[n] = angmomtri[1]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_angmomz_triclinic_general(int n) +{ + double **angmom = atom->angmom; + double angmomtri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_vector(angmom[clist[i]],angmomtri); + buf[n] = angmomtri[2]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + void DumpCustom::pack_tqx(int n) { double **torque = atom->torque; @@ -3215,3 +3356,45 @@ void DumpCustom::pack_tqz(int n) n += size_one; } } + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_tqx_triclinic_general(int n) +{ + double **torque = atom->torque; + double torquetri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_vector(torque[clist[i]],torquetri); + buf[n] = torquetri[0]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_tqy_triclinic_general(int n) +{ + double **torque = atom->torque; + double torquetri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_vector(torque[clist[i]],torquetri); + buf[n] = torquetri[1]; + n += size_one; + } +} + +/* ---------------------------------------------------------------------- */ + +void DumpCustom::pack_tqz_triclinic_general(int n) +{ + double **torque = atom->torque; + double torquetri[3]; + + for (int i = 0; i < nchoose; i++) { + domain->restricted_to_general_vector(torque[clist[i]],torquetri); + buf[n] = torquetri[2]; + n += size_one; + } +} diff --git a/src/dump_custom.h b/src/dump_custom.h index b1ef2c6400..60070ddf62 100644 --- a/src/dump_custom.h +++ b/src/dump_custom.h @@ -204,10 +204,15 @@ class DumpCustom : public Dump { void pack_fz_triclinic_general(int); void pack_q(int); + void pack_mux(int); void pack_muy(int); void pack_muz(int); void pack_mu(int); + void pack_mux_triclinic_general(int); + void pack_muy_triclinic_general(int); + void pack_muz_triclinic_general(int); + void pack_radius(int); void pack_diameter(int); @@ -217,12 +222,23 @@ class DumpCustom : public Dump { void pack_omegax(int); void pack_omegay(int); void pack_omegaz(int); + void pack_omegax_triclinic_general(int); + void pack_omegay_triclinic_general(int); + void pack_omegaz_triclinic_general(int); + void pack_angmomx(int); void pack_angmomy(int); void pack_angmomz(int); + void pack_angmomx_triclinic_general(int); + void pack_angmomy_triclinic_general(int); + void pack_angmomz_triclinic_general(int); + void pack_tqx(int); void pack_tqy(int); void pack_tqz(int); + void pack_tqx_triclinic_general(int); + void pack_tqy_triclinic_general(int); + void pack_tqz_triclinic_general(int); }; } // namespace LAMMPS_NS From c5b2d662833a80a5bf2fb8b8294292313872f475 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 15 Sep 2023 16:49:56 -0600 Subject: [PATCH 061/559] upgrades to read/write data commands --- src/atom_vec_body.cpp | 6 +++--- src/atom_vec_ellipsoid.cpp | 6 +++--- src/atom_vec_tri.cpp | 4 ++-- src/domain.cpp | 24 +++++++++++++++--------- src/domain.h | 5 +++-- src/dump_atom.cpp | 5 +++-- src/lmprestart.h | 2 +- src/read_restart.cpp | 24 ++++++++++++++++++++---- src/write_restart.cpp | 4 ++-- 9 files changed, 52 insertions(+), 28 deletions(-) diff --git a/src/atom_vec_body.cpp b/src/atom_vec_body.cpp index 7721e1540b..898b065749 100644 --- a/src/atom_vec_body.cpp +++ b/src/atom_vec_body.cpp @@ -586,11 +586,11 @@ void AtomVecBody::write_data_restricted_to_general() { AtomVec::write_data_restricted_to_general(); - double quat[4],quat_r2g[4]; + double quat[4]; double *bquat; - + double *quat_r2g = domain->quat_r2g; + memory->create(quat_hold,nlocal_bonus,4,"atomvec:quat_hold"); - MathExtra::qconjugate(domain->quat_g2r,quat_r2g); for (int i = 0; i < nlocal_bonus; i++) { bquat = bonus[i].quat; diff --git a/src/atom_vec_ellipsoid.cpp b/src/atom_vec_ellipsoid.cpp index ceb813cbe2..d51f7af78f 100644 --- a/src/atom_vec_ellipsoid.cpp +++ b/src/atom_vec_ellipsoid.cpp @@ -495,11 +495,11 @@ void AtomVecEllipsoid::write_data_restricted_to_general() { AtomVec::write_data_restricted_to_general(); - double quat[4],quat_r2g[4]; + double quat[4]; double *bquat; - + double *quat_r2g = domain->quat_r2g; + memory->create(quat_hold,nlocal_bonus,4,"atomvec:quat_hold"); - MathExtra::qconjugate(domain->quat_g2r,quat_r2g); for (int i = 0; i < nlocal_bonus; i++) { bquat = bonus[i].quat; diff --git a/src/atom_vec_tri.cpp b/src/atom_vec_tri.cpp index 7dfb50093b..f83a282c35 100644 --- a/src/atom_vec_tri.cpp +++ b/src/atom_vec_tri.cpp @@ -694,11 +694,11 @@ void AtomVecTri::write_data_restricted_to_general() { AtomVec::write_data_restricted_to_general(); - double quat[4],quat_r2g[4]; + double quat[4]; double *bquat; + double *quat_r2g = domain->quat_r2g; memory->create(quat_hold,nlocal_bonus,4,"atomvec:quat_hold"); - MathExtra::qconjugate(domain->quat_g2r,quat_r2g); for (int i = 0; i < nlocal_bonus; i++) { bquat = bonus[i].quat; diff --git a/src/domain.cpp b/src/domain.cpp index e6ef232a6d..68eafab356 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -580,13 +580,18 @@ void Domain::define_general_triclinic(double *avec_caller, double *bvec_caller, error->all(FLERR,"General triclinic box edge vector C invalid for 2d system"); // error check for co-planar A,B,C + // if A x B is in C direction, only a rotation to restricted tri is needed + // since restricted tri box will obey right-hand rule + // if not, an inversion (flip) of C vector is also needed double abcross[3]; MathExtra::cross3(avec,bvec,abcross); double dot = MathExtra::dot3(abcross,cvec); if (dot == 0.0) error->all(FLERR,"General triclinic box edge vectors are co-planar"); - + if (dot > 0.0) triclinic_general_flip = 0; + else triclinic_general_flip = 1; + // quat1 = convert A into A' along +x-axis // rot1 = unit vector to rotate A around // theta1 = angle of rotation calculated from @@ -627,18 +632,19 @@ void Domain::define_general_triclinic(double *avec_caller, double *bvec_caller, if (bvec1[2] > 0.0) theta2 = -theta2; MathExtra::axisangle_to_quat(xaxis,theta2,quat2); - // quat_g2r = transformation via single quat = quat2 * quat1 - // rotate_g2r = general to restricted transformation matrix - // if dot < 0.0 (A x B not in C direction) - // flip sign of z component of transform, - // by flipping sign of 3rd row of rotate_g2r matrix - // rotate_r2g = restricted to general transformation matrix + // quat_g2r = rotation via single quat = quat2 * quat1 + // quat_r2g = rotation from restricted to general + // rotate_g2r = general to restricted rotation matrix + // include flip of C vector if needed to obey right-hand rule + // rotate_r2g = restricted to general rotation matrix // simply a transpose of rotate_g2r since orthonormal MathExtra::quatquat(quat2,quat1,quat_g2r); + MathExtra::qconjugate(quat_g2r,quat_r2g); + MathExtra::quat_to_mat(quat_g2r,rotate_g2r); - if (dot < 0.0) { + if (triclinic_general_flip) { rotate_g2r[2][0] = -rotate_g2r[2][0]; rotate_g2r[2][1] = -rotate_g2r[2][1]; rotate_g2r[2][2] = -rotate_g2r[2][2]; @@ -646,7 +652,7 @@ void Domain::define_general_triclinic(double *avec_caller, double *bvec_caller, MathExtra::transpose3(rotate_g2r,rotate_r2g); - // transform general ABC to restricted triclinic A'B'C' + // rotate general ABC to restricted triclinic A'B'C' double aprime[3],bprime[3],cprime[3]; MathExtra::matvec(rotate_g2r,avec,aprime); diff --git a/src/domain.h b/src/domain.h index 7c5510d4c2..61a88724e7 100644 --- a/src/domain.h +++ b/src/domain.h @@ -41,6 +41,7 @@ class Domain : protected Pointers { int triclinic; // 0 = orthog box, 1 = triclinic (restricted or general) int triclinic_general; // 1 if mapping to/from general triclinic is stored, 0 if not + int triclinic_general_flip; // 1 if general tri rotation needs to invert C edge vector // orthogonal box @@ -90,9 +91,9 @@ class Domain : protected Pointers { // general triclinic box // boxlo = lower left corner - + double avec[3], bvec[3], cvec[3]; // ABC edge vectors of general triclinic box - double quat_g2r[4]; // quaternion for general --> restricted rotation + double quat_g2r[4], quat_r2g[4]; // quaternions for general <--> restricted rotations double rotate_g2r[3][3]; // rotation matrix from general --> restricted tri double rotate_r2g[3][3]; // rotation matrix from restricted --> general tri diff --git a/src/dump_atom.cpp b/src/dump_atom.cpp index dd46452d9e..151446bdfd 100644 --- a/src/dump_atom.cpp +++ b/src/dump_atom.cpp @@ -334,13 +334,14 @@ void DumpAtom::header_binary_triclinic_general(bigint ndump) fwrite(&update->ntimestep,sizeof(bigint),1,fp); fwrite(&ndump,sizeof(bigint),1,fp); - int general_tri = 2; - fwrite(&general_tri,sizeof(int),1,fp); + int triclinic_general_flag = 2; + fwrite(&triclinic_general_flag,sizeof(int),1,fp); fwrite(&domain->boundary[0][0],6*sizeof(int),1,fp); fwrite(domain->avec,3*sizeof(double),1,fp); fwrite(domain->bvec,3*sizeof(double),1,fp); fwrite(domain->cvec,3*sizeof(double),1,fp); fwrite(domain->boxlo,3*sizeof(double),1,fp); + fwrite(&size_one,sizeof(int),1,fp); header_unit_style_binary(); header_time_binary(); diff --git a/src/lmprestart.h b/src/lmprestart.h index 2ed1d7db11..43ef5766ac 100644 --- a/src/lmprestart.h +++ b/src/lmprestart.h @@ -38,7 +38,7 @@ enum{VERSION,SMALLINT,TAGINT,BIGINT, EXTRA_BOND_PER_ATOM,EXTRA_ANGLE_PER_ATOM,EXTRA_DIHEDRAL_PER_ATOM, EXTRA_IMPROPER_PER_ATOM,EXTRA_SPECIAL_PER_ATOM,ATOM_MAXSPECIAL, NELLIPSOIDS,NLINES,NTRIS,NBODIES,ATIME,ATIMESTEP,LABELMAP, - TRICLINIC_GENERAL,ROTATE_G2R,ROTATE_R2G}; + TRICLINIC_GENERAL,TRICLINIC_GENERAL_FLIP,QUAT_G2R}; #define LB_FACTOR 1.1 diff --git a/src/read_restart.cpp b/src/read_restart.cpp index 372d1bcfe8..ca5eb25762 100644 --- a/src/read_restart.cpp +++ b/src/read_restart.cpp @@ -28,6 +28,7 @@ #include "improper.h" #include "irregular.h" #include "label_map.h" +#include "math_extra.h" #include "memory.h" #include "modify.h" #include "pair.h" @@ -136,6 +137,21 @@ void ReadRestart::command(int narg, char **arg) atom->avec->grow(n); n = atom->nmax; + // setup simulation box + // for general triclinic, need to generate additional info which + // Domain::define_general_triclinic() would have created + + if (domain->triclinic_general) { + MathExtra::qconjugate(domain->quat_g2r,domain->quat_r2g); + MathExtra::quat_to_mat(domain->quat_g2r,domain->rotate_g2r); + if (domain->triclinic_general_flip) { + domain->rotate_g2r[2][0] = -domain->rotate_g2r[2][0]; + domain->rotate_g2r[2][1] = -domain->rotate_g2r[2][1]; + domain->rotate_g2r[2][2] = -domain->rotate_g2r[2][2]; + } + MathExtra::transpose3(domain->rotate_g2r,domain->rotate_r2g); + } + domain->print_box(" "); domain->set_initial_box(0); domain->set_global_box(); @@ -785,10 +801,10 @@ void ReadRestart::header() } else if (flag == TRICLINIC_GENERAL) { domain->triclinic_general = read_int(); - } else if (flag == ROTATE_G2R) { - read_double_vec(9,&domain->rotate_g2r[0][0]); - } else if (flag == ROTATE_R2G) { - read_double_vec(9,&domain->rotate_r2g[0][0]); + } else if (flag == TRICLINIC_GENERAL_FLIP) { + domain->triclinic_general_flip = read_int(); + } else if (flag == QUAT_G2R) { + read_double_vec(4,domain->quat_g2r); } else if (flag == SPECIAL_LJ) { read_int(); diff --git a/src/write_restart.cpp b/src/write_restart.cpp index fb5b41eb02..16a59ebc20 100644 --- a/src/write_restart.cpp +++ b/src/write_restart.cpp @@ -450,8 +450,8 @@ void WriteRestart::header() write_int(TRICLINIC_GENERAL,domain->triclinic_general); if (domain->triclinic_general) { - write_double_vec(ROTATE_G2R,9,&domain->rotate_g2r[0][0]); - write_double_vec(ROTATE_R2G,9,&domain->rotate_r2g[0][0]); + write_int(TRICLINIC_GENERAL_FLIP,domain->triclinic_general_flip); + write_double_vec(QUAT_G2R,4,domain->quat_g2r); } write_double_vec(SPECIAL_LJ,3,&force->special_lj[1]); From 21d3f3240e6e17c532f8f6bba5bcadf396c49630 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Sat, 16 Sep 2023 10:09:26 -0600 Subject: [PATCH 062/559] more work on restart support --- src/atom.cpp | 2 +- src/atom_vec_line.cpp | 66 ++++++++++++++--------- src/atom_vec_line.h | 1 - src/atom_vec_tri.cpp | 121 +++++++++++------------------------------- src/atom_vec_tri.h | 3 -- src/lmprestart.h | 2 +- src/read_restart.cpp | 20 ++----- src/write_restart.cpp | 2 +- 8 files changed, 78 insertions(+), 139 deletions(-) diff --git a/src/atom.cpp b/src/atom.cpp index 7f472e44f4..c7c13013c8 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -1190,7 +1190,7 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, xdata[2] = 0.0; } - // convert atom coords from general triclinic to restricted triclinic + // convert atom coords from general to restricted triclinic // so can decide which proc owns the atom if (triclinic_general) domain->general_to_restricted_coords(xdata); diff --git a/src/atom_vec_line.cpp b/src/atom_vec_line.cpp index 95ccfe31bd..73f2e702f6 100644 --- a/src/atom_vec_line.cpp +++ b/src/atom_vec_line.cpp @@ -352,6 +352,22 @@ void AtomVecLine::data_atom_bonus(int m, const std::vector &values) double y1 = utils::numeric(FLERR, values[ivalue++], true, lmp); double x2 = utils::numeric(FLERR, values[ivalue++], true, lmp); double y2 = utils::numeric(FLERR, values[ivalue++], true, lmp); + + // convert x1/y1 and x2/y2 from general to restricted triclniic + // x is already restricted triclinic + + if (domain->triclinic_general) { + double coords[3]; + coords[0] = x1; coords[1] = y1; coords[2] = 0.0; + domain->general_to_restricted_coords(coords); + x1 = coords[0]; y1 = coords[1]; + coords[0] = x2; coords[1] = y2; coords[2] = 0.0; + domain->general_to_restricted_coords(coords); + x2 = coords[0]; y2 = coords[1]; + } + + // calculate length and theta + double dx = x2 - x1; double dy = y2 - y1; double length = sqrt(dx * dx + dy * dy); @@ -437,29 +453,6 @@ void AtomVecLine::data_atom_post(int ilocal) omega[ilocal][2] = 0.0; } -/* ---------------------------------------------------------------------- - convert read_data file info from general to restricted triclinic - parent class operates on data from Velocities section of data file - child class operates on bonus theta -------------------------------------------------------------------------- */ - -void AtomVecLine::read_data_general_to_restricted(int nlocal_previous, int nlocal) -{ - AtomVec::read_data_general_to_restricted(nlocal_previous, nlocal); - - double btheta; - double theta_g2r = 2.0*acos(domain->quat_g2r[0]); - - for (int i = nlocal_previous; i < nlocal; i++) { - if (line[i] < 0) continue; - btheta = bonus[line[i]].theta; - btheta += theta_g2r; - if (btheta > MathConst::MY_PI) btheta -= MathConst::MY_2PI; - else if (btheta <= -MathConst::MY_PI) btheta += MathConst::MY_2PI; - bonus[line[i]].theta = btheta; - } -} - /* ---------------------------------------------------------------------- modify values for AtomVec::pack_data() to pack ------------------------------------------------------------------------- */ @@ -501,8 +494,14 @@ int AtomVecLine::pack_data_bonus(double *buf, int /*flag*/) int i, j; double length, theta; double xc, yc, x1, x2, y1, y2; + double coords[3]; + + int triclinic_general = domain->triclinic_general; + + double **x_bonus; + if (triclinic_general) x_bonus = x_hold; + else x_bonus = x; - double **x = atom->x; tagint *tag = atom->tag; int nlocal = atom->nlocal; @@ -514,8 +513,9 @@ int AtomVecLine::pack_data_bonus(double *buf, int /*flag*/) j = line[i]; length = bonus[j].length; theta = bonus[j].theta; - xc = x[i][0]; - yc = x[i][1]; + + xc = x_bonus[i][0]; + yc = x_bonus[i][1]; x1 = xc - 0.5 * cos(theta) * length; y1 = yc - 0.5 * sin(theta) * length; x2 = xc + 0.5 * cos(theta) * length; @@ -524,6 +524,20 @@ int AtomVecLine::pack_data_bonus(double *buf, int /*flag*/) buf[m++] = y1; buf[m++] = x2; buf[m++] = y2; + + // if triclinic_general: + // rotate 4 buf values from restricted to general triclinic + // output by write_data_bonus() as x1/y1 and x2/y2 + + if (triclinic_general) { + coords[0] = buf[m-4]; coords[1] = buf[m-3]; coords[2] = 0.0; + domain->restricted_to_general_coords(coords); + buf[m-4] = coords[0]; buf[m-3] = coords[1]; + coords[0] = buf[m-2]; coords[1] = buf[m-1]; coords[2] = 0.0; + domain->restricted_to_general_coords(coords); + buf[m-2] = coords[0]; buf[m-1] = coords[1]; + } + } else m += size_data_bonus; } diff --git a/src/atom_vec_line.h b/src/atom_vec_line.h index 2503f55d8d..740c541916 100644 --- a/src/atom_vec_line.h +++ b/src/atom_vec_line.h @@ -53,7 +53,6 @@ class AtomVecLine : public AtomVec { void create_atom_post(int) override; void data_atom_post(int) override; - void read_data_general_to_restricted(int, int); void pack_data_pre(int) override; void pack_data_post(int) override; diff --git a/src/atom_vec_tri.cpp b/src/atom_vec_tri.cpp index f83a282c35..b0849e6717 100644 --- a/src/atom_vec_tri.cpp +++ b/src/atom_vec_tri.cpp @@ -510,8 +510,18 @@ void AtomVecTri::data_atom_bonus(int m, const std::vector &values) MathExtra::sub3(c3, c1, c3mc1); double size = MAX(MathExtra::len3(c2mc1), MathExtra::len3(c3mc1)); + // convert c1,c2,c3 from general to restricted triclniic + // x is already restricted triclinic + + if (domain->triclinic_general) { + domain->general_to_restricted_coords(c1); + domain->general_to_restricted_coords(c2); + domain->general_to_restricted_coords(c3); + } + // centroid = 1/3 of sum of vertices - + // error if centroid is not within EPSILON of Atoms section coord + double centroid[3]; centroid[0] = (c1[0] + c2[0] + c3[0]) / 3.0; centroid[1] = (c1[1] + c2[1] + c3[1]) / 3.0; @@ -659,90 +669,6 @@ void AtomVecTri::data_atom_post(int ilocal) angmom[ilocal][2] = 0.0; } -/* ---------------------------------------------------------------------- - convert read_data file info from general to restricted triclinic - parent class operates on data from Velocities section of data file - child class operates on bonus quat -------------------------------------------------------------------------- */ - -void AtomVecTri::read_data_general_to_restricted(int nlocal_previous, int nlocal) -{ - AtomVec::read_data_general_to_restricted(nlocal_previous, nlocal); - - double quat[4]; - double *bquat; - - for (int i = nlocal_previous; i < nlocal; i++) { - if (tri[i] < 0) continue; - bquat = bonus[tri[i]].quat; - MathExtra::quatquat(domain->quat_g2r,bquat,quat); - bquat[0] = quat[0]; - bquat[1] = quat[1]; - bquat[2] = quat[2]; - bquat[3] = quat[3]; - MathExtra::qnormalize(bquat); - } -} - -/* ---------------------------------------------------------------------- - convert info output by write_data from restricted to general triclinic - parent class operates on x and data from Velocities section of data file - child class operates on bonus quat -------------------------------------------------------------------------- */ - -void AtomVecTri::write_data_restricted_to_general() -{ - AtomVec::write_data_restricted_to_general(); - - double quat[4]; - double *bquat; - double *quat_r2g = domain->quat_r2g; - - memory->create(quat_hold,nlocal_bonus,4,"atomvec:quat_hold"); - - for (int i = 0; i < nlocal_bonus; i++) { - bquat = bonus[i].quat; - quat_hold[i][0] = bquat[0]; - quat_hold[i][1] = bquat[1]; - quat_hold[i][2] = bquat[2]; - quat_hold[i][3] = bquat[3]; - - MathExtra::quatquat(quat_r2g,bquat,quat); - bquat[0] = quat[0]; - bquat[1] = quat[1]; - bquat[2] = quat[2]; - bquat[3] = quat[3]; - MathExtra::qnormalize(bquat); - } -} - -/* ---------------------------------------------------------------------- - restore info output by write_data to restricted triclinic - original data is in "hold" arrays - parent class operates on x and data from Velocities section of data file - child class operates on bonus quat -------------------------------------------------------------------------- */ - -void AtomVecTri::write_data_restore_restricted() -{ - AtomVec::write_data_restore_restricted(); - - if (!quat_hold) return; - - double *bquat; - - for (int i = 0; i < nlocal_bonus; i++) { - bquat = bonus[i].quat; - bquat[0] = quat_hold[i][0]; - bquat[1] = quat_hold[i][1]; - bquat[2] = quat_hold[i][2]; - bquat[3] = quat_hold[i][3]; - } - - memory->destroy(quat_hold); - quat_hold = nullptr; -} - /* ---------------------------------------------------------------------- modify values for AtomVec::pack_data() to pack ------------------------------------------------------------------------- */ @@ -792,7 +718,12 @@ int AtomVecTri::pack_data_bonus(double *buf, int /*flag*/) double dc1[3], dc2[3], dc3[3]; double p[3][3]; - double **x = atom->x; + int triclinic_general = domain->triclinic_general; + + double **x_bonus; + if (triclinic_general) x_bonus = x_hold; + else x_bonus = x; + tagint *tag = atom->tag; int nlocal = atom->nlocal; @@ -806,9 +737,10 @@ int AtomVecTri::pack_data_bonus(double *buf, int /*flag*/) MathExtra::matvec(p, bonus[j].c1, dc1); MathExtra::matvec(p, bonus[j].c2, dc2); MathExtra::matvec(p, bonus[j].c3, dc3); - xc = x[i][0]; - yc = x[i][1]; - zc = x[i][2]; + + xc = x_bonus[i][0]; + yc = x_bonus[i][1]; + zc = x_bonus[i][2]; buf[m++] = xc + dc1[0]; buf[m++] = yc + dc1[1]; buf[m++] = zc + dc1[2]; @@ -818,6 +750,17 @@ int AtomVecTri::pack_data_bonus(double *buf, int /*flag*/) buf[m++] = xc + dc3[0]; buf[m++] = yc + dc3[1]; buf[m++] = zc + dc3[2]; + + // if triclinic_general: + // rotate 9 buf values from restricted to general triclinic + // output by write_data_bonus() as c1,c2,c3 + + if (triclinic_general) { + domain->restricted_to_general_coords(&buf[m-9]); + domain->restricted_to_general_coords(&buf[m-6]); + domain->restricted_to_general_coords(&buf[m-3]); + } + } else m += size_data_bonus; } diff --git a/src/atom_vec_tri.h b/src/atom_vec_tri.h index 91a7a20e6d..5a3b831c0d 100644 --- a/src/atom_vec_tri.h +++ b/src/atom_vec_tri.h @@ -55,9 +55,6 @@ class AtomVecTri : public AtomVec { void create_atom_post(int) override; void data_atom_post(int) override; - void read_data_general_to_restricted(int, int); - void write_data_restricted_to_general(); - void write_data_restore_restricted(); void pack_data_pre(int) override; void pack_data_post(int) override; diff --git a/src/lmprestart.h b/src/lmprestart.h index 43ef5766ac..73eb5e618e 100644 --- a/src/lmprestart.h +++ b/src/lmprestart.h @@ -38,7 +38,7 @@ enum{VERSION,SMALLINT,TAGINT,BIGINT, EXTRA_BOND_PER_ATOM,EXTRA_ANGLE_PER_ATOM,EXTRA_DIHEDRAL_PER_ATOM, EXTRA_IMPROPER_PER_ATOM,EXTRA_SPECIAL_PER_ATOM,ATOM_MAXSPECIAL, NELLIPSOIDS,NLINES,NTRIS,NBODIES,ATIME,ATIMESTEP,LABELMAP, - TRICLINIC_GENERAL,TRICLINIC_GENERAL_FLIP,QUAT_G2R}; + TRICLINIC_GENERAL,TRICLINIC_GENERAL_FLIP,ROTATE_G2R}; #define LB_FACTOR 1.1 diff --git a/src/read_restart.cpp b/src/read_restart.cpp index ca5eb25762..2224b9eeac 100644 --- a/src/read_restart.cpp +++ b/src/read_restart.cpp @@ -137,21 +137,6 @@ void ReadRestart::command(int narg, char **arg) atom->avec->grow(n); n = atom->nmax; - // setup simulation box - // for general triclinic, need to generate additional info which - // Domain::define_general_triclinic() would have created - - if (domain->triclinic_general) { - MathExtra::qconjugate(domain->quat_g2r,domain->quat_r2g); - MathExtra::quat_to_mat(domain->quat_g2r,domain->rotate_g2r); - if (domain->triclinic_general_flip) { - domain->rotate_g2r[2][0] = -domain->rotate_g2r[2][0]; - domain->rotate_g2r[2][1] = -domain->rotate_g2r[2][1]; - domain->rotate_g2r[2][2] = -domain->rotate_g2r[2][2]; - } - MathExtra::transpose3(domain->rotate_g2r,domain->rotate_r2g); - } - domain->print_box(" "); domain->set_initial_box(0); domain->set_global_box(); @@ -803,8 +788,9 @@ void ReadRestart::header() domain->triclinic_general = read_int(); } else if (flag == TRICLINIC_GENERAL_FLIP) { domain->triclinic_general_flip = read_int(); - } else if (flag == QUAT_G2R) { - read_double_vec(4,domain->quat_g2r); + } else if (flag == ROTATE_G2R) { + read_double_vec(9,&domain->rotate_g2r[0][0]); + MathExtra::transpose3(domain->rotate_g2r,domain->rotate_r2g); } else if (flag == SPECIAL_LJ) { read_int(); diff --git a/src/write_restart.cpp b/src/write_restart.cpp index 16a59ebc20..e265ceadc1 100644 --- a/src/write_restart.cpp +++ b/src/write_restart.cpp @@ -451,7 +451,7 @@ void WriteRestart::header() write_int(TRICLINIC_GENERAL,domain->triclinic_general); if (domain->triclinic_general) { write_int(TRICLINIC_GENERAL_FLIP,domain->triclinic_general_flip); - write_double_vec(QUAT_G2R,4,domain->quat_g2r); + write_double_vec(ROTATE_G2R,9,&domain->rotate_g2r[0][0]); } write_double_vec(SPECIAL_LJ,3,&force->special_lj[1]); From 77a5fd16dd5309d1955aae573ed41d66bc0caede Mon Sep 17 00:00:00 2001 From: jtclemm Date: Tue, 19 Sep 2023 13:37:47 +0200 Subject: [PATCH 063/559] Fixing bug in link pressure --- src/fix_deform.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/fix_deform.cpp b/src/fix_deform.cpp index 79f9b3a5ba..139f1e0835 100644 --- a/src/fix_deform.cpp +++ b/src/fix_deform.cpp @@ -1302,6 +1302,7 @@ void FixDeform::set_volume() double p2 = pressure->vector[fixed]; double p1i = set[i].prior_pressure; double p2i = set[fixed].prior_pressure; + double denominator; if (e3 == 0) { e1 = 0.0; @@ -1314,7 +1315,12 @@ void FixDeform::set_volume() if (!linked_pressure) { // Calculate first strain rate by expanding stress to linear order, p1(t+dt) = p2(t+dt) // Calculate second strain rate to preserve volume - e1 = -e3 / (1 + e3 * dt) * (p2 - p2i) - e2i * (p1 - p2) / (p2 - p2i + (p1 - p1i) / e1i * e2i); + denominator = (p2 - p2i + (p1 - p1i) / e1i * e2i); + if (denominator != 0.0 && e1i != 0.0) { + e1 = (-e3 / (1 + e3 * dt) * (p2 - p2i) - e2i * (p1 - p2)) / denominator; + } else { + e1 = e2i; + } e2 = (1.0 - (1 + e3 * dt) * (1 + e1 * dt)) / ((1 + e3 * dt) * (1 + e1 * dt) * dt); shift = 0.5 * L1i * (1.0 + e1 * dt); From 94a0d85b33007838bc0170c37a56ecff5a684dc4 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 20 Sep 2023 15:20:02 -0600 Subject: [PATCH 064/559] doc page updates --- doc/src/Howto_2d.rst | 53 +++++----- doc/src/Howto_triclinic.rst | 191 ++++++++++++++++++++++-------------- doc/src/boundary.rst | 54 ++++++---- doc/src/read_data.rst | 145 ++++++++++++++++++--------- 4 files changed, 283 insertions(+), 160 deletions(-) diff --git a/doc/src/Howto_2d.rst b/doc/src/Howto_2d.rst index ae58711063..06e6d57be8 100644 --- a/doc/src/Howto_2d.rst +++ b/doc/src/Howto_2d.rst @@ -1,42 +1,49 @@ 2d simulations ============== -Use the :doc:`dimension ` command to specify a 2d simulation. +You must use the :doc:`dimension ` command to specify a 2d +simulation. The default is 3d. Make the simulation box periodic in z via the :doc:`boundary ` command. This is the default. -If using the :doc:`create_box ` command to define a -simulation box, set the z dimensions narrow, but finite, so that the -:doc:`create_atoms ` command will fill the 3d simulation -box with a single z plane of atoms - e.g. +If using the :doc:`create_box ` command, you must define a +simulation box which straddes z = 0.0 in the z dimension since all the +atoms will have a z coordinate of zero. Typicaily the width of box in +the z dimension should be narrow, e.g. -0.5 to 0.5, but that is not +required. An example is: .. code-block:: LAMMPS - create_box 1 -10 10 -10 10 -0.25 0.25 + create_box 1 -10 10 0 10 -0.25 0.25 -If using the :doc:`read_data ` command to read in a file of -atom coordinates, set the "zlo zhi" values to be finite but narrow, -similar to the create_box command settings just described. For each -atom in the file, assign a z coordinate so it falls inside the -z-boundaries of the box - e.g. 0.0. +Likewise, If using the :doc:`read_data ` command to define +the simulation box and read in a file of atom coordinates, the default +"zlo zhi" values are -0.5 0.5 for 2d simulations. If the data file +includes that header keyword the zlo/zhi values must straddle z = 0.0. +The z coords for atoms listed in the file must be 0.0 (within epsilon +of zero is also allowed in case the data file was generated by another +program with finite precision). -Use the :doc:`fix enforce2d ` command as the last -defined fix to ensure that the z-components of velocities and forces -are zeroed out every timestep. The reason to make it the last fix is -so that any forces induced by other fixes will be zeroed out. +Use the :doc:`fix enforce2d ` command as the last fix +defined in the input script. It ensures that the z-components of +velocities and forces are zeroed out every timestep. The reason to +make it the last fix is so that any forces added by other fixes will +also be zeroed out. -Many of the example input scripts included in the LAMMPS distribution +Many of the example input scripts included in the examples directory are for 2d models. .. note:: Some models in LAMMPS treat particles as finite-size spheres, as - opposed to point particles. See the :doc:`atom_style sphere ` and :doc:`fix nve/sphere ` - commands for details. By default, for 2d simulations, such particles - will still be modeled as 3d spheres, not 2d discs (circles), meaning + opposed to point particles. See the :doc:`atom_style sphere + ` and :doc:`fix nve/sphere ` commands + for details. By default, for 2d simulations, such particles will + still be modeled as 3d spheres, not 2d discs (circles), meaning their moment of inertia will be that of a sphere. If you wish to - model them as 2d discs, see the :doc:`set density/disc ` command - and the *disc* option for the :doc:`fix nve/sphere `, - :doc:`fix nvt/sphere `, :doc:`fix nph/sphere `, :doc:`fix npt/sphere ` - commands. + model them as 2d discs, see the :doc:`set density/disc ` + command and the *disc* option for the :doc:`fix nve/sphere + `, :doc:`fix nvt/sphere `, + :doc:`fix nph/sphere `, :doc:`fix npt/sphere + ` commands. diff --git a/doc/src/Howto_triclinic.rst b/doc/src/Howto_triclinic.rst index 9780ec8c63..c84f424356 100644 --- a/doc/src/Howto_triclinic.rst +++ b/doc/src/Howto_triclinic.rst @@ -28,8 +28,10 @@ Triclinic simulation boxes """""""""""""""""""""""""" LAMMPS also allows simulations to be performed using triclinic -(non-orthogonal) simulation boxes shaped as a parallelepiped with -triclinic symmetry. +(non-orthogonal) simulation boxes shaped as a 3d parallelepiped with +triclinic symmetry. For 2d simulations a triclinic simulation box is +effectively a parallelogram; see the :doc:'Howto 2d ` doc +page for details. One use of triclinic simulation boxes is to model solid-state crystals with triclinic symmetry. The :doc:`lattice ` command can be @@ -52,9 +54,7 @@ on non-equilibrium MD (NEMD) simulations. Conceptually, a triclinic parallelepiped is defined with an "origin" at (xlo,ylo,zhi) and 3 edge vectors **A** = (ax,ay,az), **B** = (bx,by,bz), **C** = (cx,cy,cz) which can now be arbitrary vectors, so -long as they are non-zero, distinct, and not co-planar. There is no -"right-hand rule" requirement that (**A** x **B**) point in the -direction of **C**. +long as they are non-zero, distinct, and not co-planar. The 4 commands listed above for defining orthogonal simulation boxes have triclinic options which allow for specification of the origin and @@ -62,56 +62,52 @@ edge vectors **A**, **B**, **C**. For each command, this can be done in one of two ways, for what LAMMPS calls a *general* triclinic box or a *restricted* triclinic box. -A *general* triclinic box is specified by an origin and 9 parameters -(ax,ay,az), (bx,by,bz), (cx,cy,cz), or 12 parameters in total. A -*restricted* triclinic box also has an origin, but its edge vectors -are of the following form: **A** = (xhi-xlo,0,0), **B** = -(xy,yhi-ylo,0), **C** = (xz,yz,zhi-zlo). So 9 parameters in total. +A *general* triclinic box is specified by an origin (xlo, ylo, zlo) +and arbitrary edge vectors **A** = (ax,ay,az), **B** = (bx,by,bz), and +**C** = (cx,cy,cz). So there are 12 parameters in total. Note that a +general triclinic box can either be *right-handed* if (**A** x **B**) +points in the direction of **C**, or it can be *left-handed* if (**A** +x **B**) points opposite to **C**. -The restricted form of edge vectors requires that **A** is along the -x-axis, **B** is in the xy plane with a y-component in the +y -direction, and **C** has a z-component in the +z direction. -*Xy,xz,yz* can be zero or positive or negative values and are called -"tilt factors" because they are the amount of displacement applied to -faces of an originally orthogonal box to transform it into a -restricted triclinic parallelepiped. +A *restricted* triclinic box also has an origin (xlo,ylo,zlo), but its +edge vectors are of the following form: **A** = (xhi-xlo,0,0), **B** = +(xy,yhi-ylo,0), **C** = (xz,yz,zhi-zlo). So there are 9 parameters in +total. The restricted form of edge vectors requires that **A** is +along the x-axis, **B** is in the xy plane with a y-component in +the +y direction, and **C** has a z-component in the +z direction. +Note that a restricted triclinic box is always *right-handed* so +that (**A** x **B**) points in the direction of **C**. + +The *xy,xz,yz* values can be zero or positive or negative. They are +called "tilt factors" because they are the amount of displacement +applied to edges of faces of an originally orthogonal box to change it +into a restricted triclinic parallelepiped. .. note:: Any general triclinic box (i.e. solid-state crystal basis vectors) - can be rotated/inverted in 3d around its origin to conform to the - LAMMPS definition of a restricted triclinic box. An inversion may - need to be applied to the rotated **C** vector to ensure its final - z-component is in the +z direction. See the discussion in the next + can be rotated in 3d around its origin (and reflected across a + plane if necessary to flip from a left-handed coordinate system to + right-handed) in order to conform to the LAMMPS definition of a + restricted triclinic box. See the discussion in the next sub-section about general triclinic simulation boxes in LAMMPS. + +Note that the :doc:`thermo_style custom ` command has +keywords for outputting the various parameters that define both +restricted and general triclinic simulation boxes. Thus you can check +the restricted triclinic box parameters LAMMPS generates to +rotate/reflect a general triclinic box to restricted triclinic form. -Note that for 2d simulations a triclinic simulation box is effectively -a parallelogram; see the :doc:'Howto 2d ` doc page for -details. - -The :doc:`boundary ` command sets the boundary conditions -for the 6 faces of a restricted triclinix box (periodic, non-periodic, -etc), similar to the way the settings apply to the 6 faces of an -orthogonal box. Note that if a restricted triclinic box is periodic -in the y-dimension and has a non-zero xy tilt factor, then particles -which exit the -y face of the box will re-enter the +y face but will -be displaced in x by the xy tilt factor. Similarly for z-periodicity, -if the xz and/or yz tilt factors are non-zero, then particles which -exit the -z face of the box will be displaced in x by the xz tilt -factor and in y by the yz tilt factor. - -The :doc:`thermo_style custom ` command has keywords for -outputting the parameters that define restricted and general triclinic -simulation boxes. For restricted triclinic, this is (xlo,ylo,zlo), -(xhi,yhi,zhi), and the xy,xz,yz tilt factors. For general triclinic, -this is the (xlo,ylo,zhi) origin and the 9 components of the **A**, -**B**, **C** edge vectors. For both orthogonal and restricted -triclinic boxes, lx/ly/lz refer to the same box sizes, namely lx = -xhi - xlo, etc. +For restricted triclinic boxes there are 9 thermo keywords for +(xlo,ylo,zlo), (xhi,yhi,zhi), and the (xy,xz,yz) tilt factors. For +general triclinic boxes there are 12 thermo keywords for (xlo,ylo,zhi) +and the components of the **A**, **B**, **C** edge vectors. For both +orthogonal and restricted triclinic boxes, the thermo keywords +lx/ly/lz refer to the box sizes, namely lx = xhi - xlo, etc. The remainder of this doc page explains (a) how LAMMPS operates with general triclinic simulation boxes, (b) mathematical transformations -between general and restricted triclinic boxes (which may be useful +between general and restricted triclinic boxes which may be useful when creating LAMMPS inputs or interpreting outputs for triclinic simulations, and (c) how LAMMPS uses tilt factors for restricted triclinic simulation boxes. @@ -121,41 +117,85 @@ triclinic simulation boxes. General triclinic simulation boxes in LAMMPS """""""""""""""""""""""""""""""""""""""""""" -LAMMPS allows specification of general triclinic simulation boxes as a -convenience for users who may be converting data from solid-state -crystallograhic representations for input to LAMMPS. +LAMMPS allows specification of general triclinic simulation boxes with +their atoms as a convenience for users who may be converting data from +solid-state crystallograhic representations or from DFT codes for +input to LAMMPS. Likewise it allows output of dump files, data files, +and thermodynamic data (e.g. pressure tensor) in a general triclinic +format. -However, internally LAMMPS only uses restricted triclinic simulation +However, internally, LAMMPS only uses restricted triclinic simulation boxes. This is for parallel efficiency and to formulate partitioning of the simulation box across processors, neighbor list building, and inter-processor communication of per-atom data with methods similar to those used for orthogonal boxes. -This means 3 things which it is important to understand: +This means 4 things which are important to understand: * Input of a general triclinic system is immediately converted to a restricted triclinic system. -* If output of general triclinic data is requested (e.g. for atom - coordinates in a dump file), then conversion from restricted - triclinic data is done at the time of output. -* Most importantly, other LAMMPS commands such as the :doc:`boundary - ` command or :doc:`region ` command, that refer to - the simulation box geometry, operate on restricted triclinic boxes, - even if a general triclinic box was defined initially. +* If output of per-atom data for a general triclinic system is + requested (e.g. for atom coordinates in a dump file), + conversion from a restricted to general triclinic system is done at + the time of output. +* The conversion of the simulation box and per-atom data from general + triclinic to restriced triclinic (and vice versa) is a rotation + + optional reflection from one set of coordinate axes to another. For + orthogonal and restricted triclinic systems, the coordinate axes are + the standard x,y,z axes. For a general triclinic system, those + coordinate axes are rotated in 3d. The optional reflection flips + the axes from right-handed to left-handed if necessary. The 3 + rotated/reflected axes remain mutually orthogonal. For all 3 kinds + of systems (orthogonal, restricted, general), per-atom quantities + (e.g. coords, velocities) are input/output as values consistent with + the corresponding coordinate axes. +* Other LAMMPS commands such as the :doc:`boundary ` or + :doc:`region ` or :doc:`velocity ` or :doc:`set + ` commands, operate on restricted triclinic systems even if a + general triclinic system was defined initially. For an example, see + the paragraph below the folliowing list. -This is the list of commands that have specific general triclinic -options: +This is the list of commands which have general triclinic options: -create_box -create_atoms -lattice -read_data -write_data -dump atoms, dump custom -dump_modify -thermo_style -thermo_modify -read_restart, write_restart +* :doc:`create_box ` - define a general triclinic box +* :doc:`create_atoms ` - add atoms to a general triclinic box +* :doc:`lattice ` - define a custom lattice consistent with **A**, **B**, **C** edge vectors of a general triclinic box +* :doc:`read_data ` - read a data file for a general triclinic system +* :doc:`write_data ` - write a data file for a general triclinic system +* :doc:`dump atom, dump custom ` - output dump snapshots in general triclinic format +* :doc:`dump_modify ` - switch a dump file between restrictied and general triclinic format +* :doc:`thermo_style ` - output the pressure tensor in + general triclinic format +* :doc:`thermo_modify ` - toggle thermo-style output + between restricted and general triclinic format +* :doc:`read_restart ` - read a restart file for a general tricliinc system +* :doc:`write_restart ` - write a restart file for a general tricliinc system + +As an example, consider the velocity of each atom in a general +triclinic system. In a general triclinic data file, each atom will +have coordinates inside a general triclinic box with arbitrary edge +vectors **A**, **B**, **C**. If the file has a "Velocities" section +then the velocity vector of each atom should be in a direction +consistent with the orientation of the general triclnic coordinate +axes. + +When LAMMPS internally converts the general triclinic system to +restricted triclinic, the coordinates of all atoms are transformed +(rotation + optional reflection) to be inside the new restricted +triclinic box. Likewise the velocity vectors are transformed. + +If the :doc:`velocity ` command is used to set an x-velocity +component, it will use the coordinate axes of the restricted box. + +If the atoms and their velocities are output via the :doc:`write_data +` or :doc:`dump custom ` commands, the coordinates +will be transformed (inverse rotation + optional reflection) to be +inside the general triclinic box. Likewise the velocity vector for +each atom will be transformed from restricted to general triclinic. + +Any other vector quantities associated with atoms (magnetic moments, +spins, etc) are transformed in a similar manner back-and-forth between +general and restricted box orientations. ---------- @@ -295,9 +335,11 @@ Periodicity and tilt factors for triclinic simulation boxes """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" There is no requirement that a triclinic box be periodic in any -dimension, though as explained above it typically should be in y or z -if you wish enforce a shift in coordinates due to periodic boundary -conditions across the y or z boundaries. +dimension, though it typically should be in y or z if you wish enforce +a shift in coordinates due to periodic boundary conditions across the +y or z boundaries. See the doc page for the :doc:`boundary +` command for an explanation of shifted coordinates for +restricted triclinic boxes which are periodic. Some commands that work with triclinic boxes, e.g. the :doc:`fix deform ` and :doc:`fix npt ` commands, require @@ -342,7 +384,6 @@ either of the commands. One exception to box flipping is if the first dimension in the tilt factor (x for xy) is non-periodic. In that case, the limits on the tilt factor are not enforced, since flipping the box in that dimension -does not change the atom positions due to non-periodicity. In this -mode, the system tilts to large angles, the simulation will simply +would not change the atom positions due to non-periodicity. In this +mode, if the system tilts to large angles, the simulation will simply become inefficient, due to the highly skewed simulation box. - diff --git a/doc/src/boundary.rst b/doc/src/boundary.rst index 8e019e801c..772c72cd31 100644 --- a/doc/src/boundary.rst +++ b/doc/src/boundary.rst @@ -42,8 +42,10 @@ commands. The style *p* means the box is periodic, so that particles interact across the boundary, and they can exit one end of the box and re-enter the other end. A periodic dimension can change in size due to -constant pressure boundary conditions or box deformation (see the :doc:`fix npt ` and :doc:`fix deform ` commands). The *p* -style must be applied to both faces of a dimension. +constant pressure boundary conditions or box deformation (see the +:doc:`fix npt ` and :doc:`fix deform ` commands). +The *p* style must be applied to both faces of a dimension. For 2d +simulations the z dimension must be periodic (which is the default). The styles *f*, *s*, and *m* mean the box is non-periodic, so that particles do not interact across the boundary and do not move from one @@ -76,28 +78,44 @@ atoms becomes less than 50.0. This can be useful if you start a simulation with an empty box or if you wish to leave room on one side of the box, e.g. for atoms to evaporate from a surface. -For triclinic (non-orthogonal) simulation boxes, if the second dimension -of a tilt factor (e.g. y for xy) is periodic, then the periodicity is -enforced with the tilt factor offset. If the first dimension is -shrink-wrapped, then the shrink wrapping is applied to the tilted box -face, to encompass the atoms. E.g. for a positive xy tilt, the xlo -and xhi faces of the box are planes tilting in the +y direction as y -increases. These tilted planes are shrink-wrapped around the atoms to -determine the x extent of the box. - +LAMMPS also allows use of triclinic (non-orthogonal) simulation boxes. See the :doc:`Howto triclinic ` page for a -geometric description of triclinic boxes, as defined by LAMMPS, and -how to transform these parameters to and from other commonly used -triclinic representations. +description of both general and restricted triclinic boxes and how to +define them. General triclinic boxes (arbitrary edge vectors **A**, +**B**, and **C**) are converted internally to restricted triclinic +boxes with tilt factors (xy,xz,yz) added to skew an otherwise +orthogonal box. + +The boundary command settings expalined above for the 6 +faces of an orthogonal box also apply in similar manner to the 6 faces +of a restricted triclinix box (and thus to the corresponding 6 faces +of a general triclinic box), with the following context. + +if the second dimension of a tilt factor (e.g. y for xy) is periodic, +then the periodicity is enforced with the tilt factor offset. This +means that for y periodicity a particle which exits the lower y +boundary is displaced in the x-direction by xy before it re-enters the +upper y boundary. And vice versa if a particle exits the upper y +boundary. Likewise the ghost atoms surrounding a particle near the +lower y boundary include images of particles near the upper y-boundary +which are displaced in the x-direction by xy. Similar rules apply for +z-periodicity and the xz and/or yz tilt factors. + +If the first dimension of a tilt factor is shrink-wrapped, then the +shrink wrapping is applied to the tilted box face, to encompass the +atoms. E.g. for a positive xy tilt, the xlo and xhi faces of the box +are planes tilting in the +y direction as y increases. The position +of these tilted planes are adjusted dynamically to shrink-wrap around +the atoms to determine the xlo and xhi extents of the box. Restrictions """""""""""" This command cannot be used after the simulation box is defined by a -:doc:`read_data ` or :doc:`create_box ` command or -:doc:`read_restart ` command. See the -:doc:`change_box ` command for how to change the simulation -box boundaries after it has been defined. +:doc:`read_data ` or :doc:`create_box ` command +or :doc:`read_restart ` command. See the +:doc:`change_box ` command for how to change the +simulation box boundaries after it has been defined. For 2d simulations, the z dimension must be periodic. diff --git a/doc/src/read_data.rst b/doc/src/read_data.rst index 2709bf87e5..1d81acb51e 100644 --- a/doc/src/read_data.rst +++ b/doc/src/read_data.rst @@ -325,14 +325,14 @@ default. * *avec* = first edge vector of a general triclinic simulation box (3 values) * *bvec* = second edge vector of a general triclinic simulation box (3 values) * *cvec* = third edge vector of a general triclinic simulation box (3 values) -* *abc origin* = origin on a general triclinic simulation box (3 values) +* *abc origin* = origin of a general triclinic simulation box (3 values) ---------- Header specification of the simulation box size and shape """"""""""""""""""""""""""""""""""""""""""""""""""""""""" -The final 8 keywords in the list of header keywords are for simulation +The last 8 keywords in the list of header keywords are for simulation boxes of 3 kinds which LAMMPS supports: * orthogonal box = faces are perpendicular to the xyz coordinate axes @@ -348,13 +348,15 @@ the :doc:`units ` command for details. For all 3 kinds of simulation boxes, the system may be periodic or non-periodic in any dimension; see the :doc:`boundary ` -command. When the simulation box is created by the read_data command, -it is also partitioned into a regular 3d grid of subdomains, one per +command for details. + +When the simulation box is created by the read_data command, it is +also partitioned into a regular 3d grid of subdomains, one per processor, based on the number of processors being used and the settings of the :doc:`processors ` command. For each kind -of simulatino box the subdomains have the same shape as the simulation +of simulation box the subdomains have the same shape as the simulation box, i.e. smaller orthogonal bricks for orthogonal boxes, smaller -tilted bricks for triclinic boxes. The partitioning can later be +parallelepipeds for triclinic boxes. The partitioning can later be changed by the :doc:`balance ` or :doc:`fix balance ` commands. @@ -375,7 +377,7 @@ parallelepiped. The :doc:`Howto_triclinic ` doc page discusses the tilt factors in detail and explains that the resulting edge vectors of -the restricted triclinic box are: +a restricted triclinic box are: * **A** = (xhi-xlo,0,0) * **B** = (xy,yhi-ylo,0) @@ -400,10 +402,11 @@ restricted triclinic simulation box is effectively a parallelogram. (e.g. y for xy tilt). This is so that pairs of atoms interacting across that boundary will have one of them shifted by the tilt factor. Periodicity is set by the :doc:`boundary ` - command. For example, if the xy tilt factor is non-zero, then the - y dimension should be periodic. Similarly, the z dimension should - be periodic if xz or yz is non-zero. LAMMPS does not require this - periodicity, but you may lose atoms if this is not the case. + command which also describes the shifting by the tilt factor. For + example, if the xy tilt factor is non-zero, then the y dimension + should be periodic. Similarly, the z dimension should be periodic + if xz or yz is non-zero. LAMMPS does not require this periodicity, + but you may lose atoms if this is not the case. .. note:: @@ -413,8 +416,8 @@ restricted triclinic simulation box is effectively a parallelogram. :math:`x_\text{lo} = 2` and :math:`x_\text{hi} = 12`, then the :math:`x` box length is 10 and the :math:`xy` tilt factor should be between :math:`-5` and :math:`5`. LAMMPS will issue a warning if - this is not the case. See the :doc:`Howto_triclinic - ` doc page for more details. + this is not the case. See the last sub-section of the + :doc:`Howto_triclinic ` doc page for more details. .. note:: @@ -449,27 +452,33 @@ For 2d simulations, *cvec* = (0,0,1) is required, and the 3rd value of LAMMPS allows specification of general triclinic simulation boxes as a convenience for users who may be converting data from - solid-state crystallograhic representations for input to LAMMPS. - However, as explained on the :doc:`Howto_triclinic - ` doc page, internally LAMMPS only uses restricted - triclinic simulation boxes. This means the box and atom - information (coordinates, velocities) in the data file are - converted from general to restricted triclinic form as soon as the - file is read. The :doc:`Howto_triclinic ` doc - page also discusses other LAMMPS commands which can input/output - general triclinic representations of the simulation box and - per-atom data. + solid-state crystallograhic representations or ftom DFT codes for + input to LAMMPS. However, as explained on the + :doc:`Howto_triclinic ` doc page, internally + LAMMPS only uses restricted triclinic simulation boxes. This means + the box and per-atom information (e.g. coordinates, velocities) in + the data file are converted from general to restricted triclinic + form as soon as the file is read. This means other sections of the + data file must specify their per-atom data appropriately. This + requirement is explained below for the relevant sections. The + :doc:`Howto_triclinic ` doc page also discusses + other LAMMPS commands which can input/output general triclinic + representations of the simulation box and per-atom data. The following explanations apply to all 3 kinds of simulation boxes: orthogonal, restricted triclinic, and general triclinic. If the system is periodic (in a dimension), then atom coordinates can be outside the bounds (in that dimension); they will be remapped (in a -periodic sense) back inside the box. Note that if the *add* option is -being used to add atoms to a simulation box that already exists, this -periodic remapping will be performed using simulation box bounds that -are the union of the existing box and the box boundaries in the new -data file. +periodic sense) back inside the box. For triclinic boxes, periodicity +in x,y,z refers to the faces of the parallelepided defined by the +**A**,**B**,**C** edge vectors of the simuation box. See the +:doc:`boundary ` command doc page for a fuller discussion. + +Note that if the *add* option is being used to add atoms to a +simulation box that already exists, this periodic remapping will be +performed using simulation box bounds that are the union of the +existing box and the box boundaries in the new data file. If the system is non-periodic (in a dimension), then an image flag for that direction has no meaning, since there cannot be periodic images @@ -770,10 +779,13 @@ of analysis. For orthogonal and restricted and general triclinic simulation boxes, the atom coordinates (x,y,z) listed in this section should - be inside the corresponding simulation box. For general triclinic - boxes that means the box defined by the 3 edge vectors specified by - the *avec*, *bvec*, *cvec* header keywords. See the discussion - above in the header section about how atom coordinates outside the + be inside the corresponding simulation box. For restricted + triclinic boxes that means the parallelepiped defined by the by the + *xlo xhi*, *ylo yhi*, *zlo zhi*, and *xy xz yz*, keywords. For + general triclinic boxes that means the parallelepiped defined by + the 3 edge vectors and origin specified by the *avec*, *bvec*, + *cvec*, and *abc origin* header keywords. See the discussion in + the header section above about how atom coordinates outside the simulation box are (or are not) remapped to be inside the box. .. list-table:: @@ -853,18 +865,21 @@ The per-atom values have these meanings and units, listed alphabetically: * lineflag = 1 for line segment particles, 0 for point or spherical particles * mass = mass of particle (mass units) * molecule-ID = integer ID of molecule the atom belongs to -* mux,muy,muz = components of dipole moment of atom (dipole units) +* mux,muy,muz = components of dipole moment of atom (dipole units) (see general triclinic comment below) +* normx,normy,normz = components of dielectric dipole moment of atom (dipole + units) (see general triclinic comment below) * q = charge on atom (charge units) * rho = density (need units) for SPH particles * sp = magnitude of magnetic spin of atom (Bohr magnetons) -* spx,spy,spz = components of magnetic spin of atom (unit vector) +* spx,spy,spz = components of magnetic spin of atom (unit vector) (see general triclinic comment below) * template-atom = which atom within a template molecule the atom is * template-index = which molecule within the molecule template the atom is part of * theta = internal temperature of a DPD particle * triangleflag = 1 for triangular particles, 0 for point or spherical particles * volume = volume of Peridynamic particle (distance\^3 units) * x,y,z = coordinates of atom (distance units) -* x0,y0,z0 = original (strain-free) coordinates of atom (distance units) +* x0,y0,z0 = original (strain-free) coordinates of atom (distance + units) (see general triclinic comment below) The units for these quantities depend on the unit style; see the :doc:`units ` command for details. @@ -873,6 +888,21 @@ For 2d simulations, z must be specified as 0.0. If the data file is created by another program, then z values for a 2d simulation can be within epsilon of 0.0, and LAMMPS will force them to zero. +If the data file defines a general triclinic box, then the following +per-atom values in the list above are per-atom vectors: (mux,muy,muz), +(normx,normy,normz), (spx,spy,spz). They should be specified with +values for the rotated coordinate axes of the general triclinic box. +Likewise, (x0,y0,z0) are per-atom coordinates and should be values +inside the general triclinic box, the same as explained for (x,y,z) +above. See the :doc:`Howto triclinic ` doc page for +more details. + +If the data file defines a general triclinic box, then each of the 3 +vectors (translational velocity, angular momentum, angule velocity) +sholld be specified for the rotated coordinate axes of the general +triclinic box. See the :doc:`Howto triclinic ` doc +page for more details. + The atom-ID is used to identify the atom throughout the simulation and in dump files. Normally, it is a unique value from 1 to Natoms for each atom. Unique values larger than Natoms can be used, but they @@ -1060,8 +1090,9 @@ the "bodies" keyword. Each body can have a variable number of integer and/or floating-point values. The number and meaning of the values is defined by the body -style, as described in the :doc:`Howto body ` doc page. The -body style is given as an argument to the :doc:`atom_style body ` command. +style, as described in the :doc:`Howto body ` doc page. +The body style is given as an argument to the :doc:`atom_style body +` command. The Ninteger and Ndouble values determine how many integer and floating-point values are specified for this particle. Ninteger and @@ -1276,10 +1307,10 @@ and a general discussion of how type labels can be used. 12 1 2 1 1 0 0 0 -The *Ellipsoids* section must appear if :doc:`atom_style ellipsoid ` is used and any atoms are listed in the -*Atoms* section with an ellipsoidflag = 1. The number of ellipsoids -should be specified in the header section via the "ellipsoids" -keyword. +The *Ellipsoids* section must appear if :doc:`atom_style ellipsoid +` is used and any atoms are listed in the *Atoms* section +with an ellipsoidflag = 1. The number of ellipsoids should be +specified in the header section via the "ellipsoids" keyword. The 3 shape values specify the 3 diameters or aspect ratios of a finite-size ellipsoidal particle, when it is oriented along the 3 @@ -1297,6 +1328,13 @@ the quaternion that represents its new orientation is given by LAMMPS normalizes each atom's quaternion in case (a,b,c) is not specified as a unit vector. +If the data file defines a general triclinic box, then the quaternion +for each ellipsoid should be specified for its orientation in the +general triclinic system with respect to the standard xyz axes (not +the rotated coordinate axes of the general triclinic system). When +the general triclinic box is transformed to a restricted triclinic +box, the ellipsoid quaternions will be altered appropriately. + The *Ellipsoids* section must appear after the *Atoms* section. ---------- @@ -1420,6 +1458,12 @@ the line segment with a unit vector in the +z direction, gives an I.e. normal = (c2-c1) x (0,0,1). This orientation may be important for defining some interactions. +If the data file defines a general triclinic box, the (x1,y1) and +(x2,y2) values should be within (or near) its parallelogram area, +i.e. near the x,y coordinates of the line segment as defined in the +Atoms section. See the :doc:`Howto triclinic ` doc +page for more details. + The *Lines* section must appear after the *Atoms* section. ---------- @@ -1541,9 +1585,10 @@ via the :doc:`pair_coeff ` command in the input script. 12 0.0 0.0 0.0 2.0 0.0 1.0 0.0 2.0 1.0 -The *Triangles* section must appear if :doc:`atom_style tri ` is used and any atoms are listed in the *Atoms* -section with a triangleflag = 1. The number of lines should be -specified in the header section via the "triangles" keyword. +The *Triangles* section must appear if :doc:`atom_style tri +` is used and any atoms are listed in the *Atoms* section +with a triangleflag = 1. The number of lines should be specified in +the header section via the "triangles" keyword. The 3 corner points are the corner points of the triangle. The ordering of the 3 points should be such that using a right-hand rule @@ -1551,6 +1596,12 @@ to go from point1 to point2 to point3 gives an "outward" normal vector to the face of the triangle. I.e. normal = (c2-c1) x (c3-c1). This orientation may be important for defining some interactions. +If the data file defines a general triclinic box, the (x1,y1,z1), +(x2,y2,z2), (x3,y3,z3) corner points should be within (or near) its +parallelepiped volume, i.e. near the x,y,z coordinates of the triangle +as defined in the Atoms section. See the :doc:`Howto triclinic +` doc page for more details. + The *Triangles* section must appear after the *Atoms* section. ---------- @@ -1590,6 +1641,12 @@ Vx, vy, vz, and ervel are in :doc:`units ` of velocity. Lx, ly, lz are in units of angular momentum (distance-velocity-mass). Wx, Wy, Wz are in units of angular velocity (radians/time). +If the data file defines a general triclinic box, then each of the 3 +vectors (translational velocity, angular momentum, angular velocity) +should be specified for the rotated coordinate axes of the general +triclinic box. See the :doc:`Howto triclinic ` doc +page for more details. + For atom_style hybrid, following the 4 initial values (ID,vx,vy,vz), specific values for each sub-style must be listed. The order of the sub-styles is the same as they were listed in the From 5ff16da2725e641c3a4eae7db763dd8f0d2cf8fa Mon Sep 17 00:00:00 2001 From: jtclemm Date: Thu, 21 Sep 2023 12:17:47 +0200 Subject: [PATCH 065/559] Adding rate cap on vol link pressure --- src/fix_deform.cpp | 48 +++++++++++++++++++++++++++++++++++++++++++--- src/fix_deform.h | 1 + 2 files changed, 46 insertions(+), 3 deletions(-) diff --git a/src/fix_deform.cpp b/src/fix_deform.cpp index 139f1e0835..3430c26061 100644 --- a/src/fix_deform.cpp +++ b/src/fix_deform.cpp @@ -1297,6 +1297,8 @@ void FixDeform::set_volume() double L2i = domain->boxhi[fixed] - domain->boxlo[fixed]; double L3i = domain->boxhi[dynamic1] - domain->boxlo[dynamic1]; double L3 = (set[dynamic1].hi_target - set[dynamic1].lo_target); + double Vi = L1i * L2i * L3i; + double V = L3 * L1i * L2i; double e3 = (L3 / L3i - 1.0) / dt; double p1 = pressure->vector[i]; double p2 = pressure->vector[fixed]; @@ -1315,13 +1317,22 @@ void FixDeform::set_volume() if (!linked_pressure) { // Calculate first strain rate by expanding stress to linear order, p1(t+dt) = p2(t+dt) // Calculate second strain rate to preserve volume - denominator = (p2 - p2i + (p1 - p1i) / e1i * e2i); + denominator = p2 - p2i + e2i * ((p1 - p1i) / e1i); if (denominator != 0.0 && e1i != 0.0) { - e1 = (-e3 / (1 + e3 * dt) * (p2 - p2i) - e2i * (p1 - p2)) / denominator; + e1 = (((p2 - p2i) * (Vi - V) / (V * dt)) - e2i * (p1 - p2)) / denominator; } else { e1 = e2i; } - e2 = (1.0 - (1 + e3 * dt) * (1 + e1 * dt)) / ((1 + e3 * dt) * (1 + e1 * dt) * dt); + e2 = (Vi - V * (1 + e1 * dt)) / (V * (1 + e1 * dt) * dt); + + // If strain rate exceeds limit in either dimension, cap it at the maximum compatible rate + if (max_h_rate != 0) + if (fabs(e1) > max_h_rate || fabs(e2) > max_h_rate) + if (fabs(e1) > fabs(e2)) + adjust_linked_rates(e1, e2, e3, Vi, V); + else + adjust_linked_rates(e2, e1, e3, Vi, V); + shift = 0.5 * L1i * (1.0 + e1 * dt); linked_pressure = 1; @@ -1341,6 +1352,37 @@ void FixDeform::set_volume() } } + +/* ---------------------------------------------------------------------- + Rescale volume preserving strain rates to enforce max rate +------------------------------------------------------------------------- */ + +void FixDeform::adjust_linked_rates(double &e_larger, double &e_smaller, double e3, double Vi, double V) +{ + double dt = update->dt; + double e_lim_positive = (Vi - V * (1 + max_h_rate * dt)) / (V * (1 + max_h_rate * dt) * dt); + double e_lim_negative = (Vi - V * (1 - max_h_rate * dt)) / (V * (1 - max_h_rate * dt) * dt); + if ((e_larger * e3) >= 0) { + if (e_larger > 0.0) { + // Same sign as primary strain rate, cap third dimension + e_smaller = -max_h_rate; + e_larger = e_lim_negative; + } else { + e_smaller = max_h_rate; + e_larger = e_lim_positive; + } + } else { + // Opposite sign, set to maxrate. + if (e_larger > 0.0) { + e_larger = max_h_rate; + e_smaller = e_lim_positive; + } else { + e_larger = -max_h_rate; + e_smaller = e_lim_negative; + } + } +} + /* ---------------------------------------------------------------------- apply isotropic controls ------------------------------------------------------------------------- */ diff --git a/src/fix_deform.h b/src/fix_deform.h index e8a4766b12..2f0b66aa71 100644 --- a/src/fix_deform.h +++ b/src/fix_deform.h @@ -88,6 +88,7 @@ class FixDeform : public Fix { void set_volume(); void set_iso(); void couple(); + void adjust_linked_rates(double&, double&, double, double, double); }; } // namespace LAMMPS_NS From 857cc5392385f1799b222af2996c6b684ee613da Mon Sep 17 00:00:00 2001 From: Ludwig Ahrens-Iwers Date: Wed, 4 Oct 2023 10:32:50 +0200 Subject: [PATCH 066/559] README file for the ELECTRODE package --- src/ELECTRODE/README | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/ELECTRODE/README diff --git a/src/ELECTRODE/README b/src/ELECTRODE/README new file mode 100644 index 0000000000..56894943a0 --- /dev/null +++ b/src/ELECTRODE/README @@ -0,0 +1,15 @@ +This package provides the "fix electrode/*" commands which can be used in a +LAMMPS input script. These fixes implement the constant potential method, which +minimizes the energy of electrodes as a function of atom charges at given +electric potentials or electrode charges. + +See the doc page for the fix electrode/conp command to get started. There are +example scripts for using this package in examples/PACKAGES/electrode. + +This package uses an external library in lib/electrode which must be compiled +before making LAMMPS. See the doc page on "Packages with extra build options" +for more information. + +The primary people who created this package are Ludwig Ahrens-Iwers, Shern Tee +(s.tee@griffith.edu.au) and Robert Meißner (robert.meissner@tuhh.de). Contact +them directly if you have questions. From 201f8cda9a72f25bc6ad9d7da7afc0ed97c62ff8 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 12 Oct 2023 06:49:59 -0600 Subject: [PATCH 067/559] more updates --- src/atom_vec_body.cpp | 86 -------------------------------------- src/atom_vec_body.h | 5 --- src/atom_vec_ellipsoid.cpp | 86 -------------------------------------- src/atom_vec_ellipsoid.h | 5 --- src/domain.cpp | 18 ++++---- src/domain.h | 1 - src/dump_atom.cpp | 51 ++++++++++++---------- src/dump_custom.cpp | 12 ------ 8 files changed, 39 insertions(+), 225 deletions(-) diff --git a/src/atom_vec_body.cpp b/src/atom_vec_body.cpp index 898b065749..fd590ad5fe 100644 --- a/src/atom_vec_body.cpp +++ b/src/atom_vec_body.cpp @@ -53,8 +53,6 @@ AtomVecBody::AtomVecBody(LAMMPS *lmp) : AtomVec(lmp) nlocal_bonus = nghost_bonus = nmax_bonus = 0; bonus = nullptr; - quat_hold = nullptr; - bptr = nullptr; if (sizeof(double) == sizeof(int)) @@ -551,90 +549,6 @@ void AtomVecBody::data_atom_post(int ilocal) angmom[ilocal][2] = 0.0; } -/* ---------------------------------------------------------------------- - convert read_data file info from general to restricted triclinic - parent class operates on data from Velocities section of data file - child class operates on bonus quat -------------------------------------------------------------------------- */ - -void AtomVecBody::read_data_general_to_restricted(int nlocal_previous, int nlocal) -{ - AtomVec::read_data_general_to_restricted(nlocal_previous, nlocal); - - double quat[4]; - double *bquat; - - for (int i = nlocal_previous; i < nlocal; i++) { - if (body[i] < 0) continue; - bquat = bonus[body[i]].quat; - MathExtra::quatquat(domain->quat_g2r,bquat,quat); - bquat[0] = quat[0]; - bquat[1] = quat[1]; - bquat[2] = quat[2]; - bquat[3] = quat[3]; - MathExtra::qnormalize(bquat); - } -} - -/* ---------------------------------------------------------------------- - convert info output by write_data from restricted to general triclinic - parent class operates on x and data from Velocities section of data file - child class operates on bonus quat -------------------------------------------------------------------------- */ - -void AtomVecBody::write_data_restricted_to_general() -{ - AtomVec::write_data_restricted_to_general(); - - double quat[4]; - double *bquat; - double *quat_r2g = domain->quat_r2g; - - memory->create(quat_hold,nlocal_bonus,4,"atomvec:quat_hold"); - - for (int i = 0; i < nlocal_bonus; i++) { - bquat = bonus[i].quat; - quat_hold[i][0] = bquat[0]; - quat_hold[i][1] = bquat[1]; - quat_hold[i][2] = bquat[2]; - quat_hold[i][3] = bquat[3]; - - MathExtra::quatquat(quat_r2g,bquat,quat); - bquat[0] = quat[0]; - bquat[1] = quat[1]; - bquat[2] = quat[2]; - bquat[3] = quat[3]; - MathExtra::qnormalize(bquat); - } -} - -/* ---------------------------------------------------------------------- - restore info output by write_data to restricted triclinic - original data is in "hold" arrays - parent class operates on x and data from Velocities section of data file - child class operates on bonus quat -------------------------------------------------------------------------- */ - -void AtomVecBody::write_data_restore_restricted() -{ - AtomVec::write_data_restore_restricted(); - - if (!quat_hold) return; - - double *bquat; - - for (int i = 0; i < nlocal_bonus; i++) { - bquat = bonus[i].quat; - bquat[0] = quat_hold[i][0]; - bquat[1] = quat_hold[i][1]; - bquat[2] = quat_hold[i][2]; - bquat[3] = quat_hold[i][3]; - } - - memory->destroy(quat_hold); - quat_hold = nullptr; -} - /* ---------------------------------------------------------------------- unpack one body from Bodies section of data file ------------------------------------------------------------------------- */ diff --git a/src/atom_vec_body.h b/src/atom_vec_body.h index 955b4f4587..e02fd3bbb0 100644 --- a/src/atom_vec_body.h +++ b/src/atom_vec_body.h @@ -60,9 +60,6 @@ class AtomVecBody : public AtomVec { void create_atom_post(int) override; void data_atom_post(int) override; - void read_data_general_to_restricted(int, int); - void write_data_restricted_to_general(); - void write_data_restore_restricted(); void pack_data_pre(int) override; void pack_data_post(int) override; @@ -81,8 +78,6 @@ class AtomVecBody : public AtomVec { double *rmass, *radius; double **angmom; - double **quat_hold; - int nghost_bonus, nmax_bonus; int intdoubleratio; // sizeof(double) / sizeof(int) int body_flag; diff --git a/src/atom_vec_ellipsoid.cpp b/src/atom_vec_ellipsoid.cpp index d51f7af78f..3cc8f6362d 100644 --- a/src/atom_vec_ellipsoid.cpp +++ b/src/atom_vec_ellipsoid.cpp @@ -49,8 +49,6 @@ AtomVecEllipsoid::AtomVecEllipsoid(LAMMPS *lmp) : AtomVec(lmp) nlocal_bonus = nghost_bonus = nmax_bonus = 0; bonus = nullptr; - quat_hold = nullptr; - // strings with peratom variables to include in each AtomVec method // strings cannot contain fields in corresponding AtomVec default strings // order of fields in a string does not matter @@ -460,90 +458,6 @@ void AtomVecEllipsoid::data_atom_post(int ilocal) angmom[ilocal][2] = 0.0; } -/* ---------------------------------------------------------------------- - convert read_data file info from general to restricted triclinic - parent class operates on data from Velocities section of data file - child class operates on bonus quat -------------------------------------------------------------------------- */ - -void AtomVecEllipsoid::read_data_general_to_restricted(int nlocal_previous, int nlocal) -{ - AtomVec::read_data_general_to_restricted(nlocal_previous, nlocal); - - double quat[4]; - double *bquat; - - for (int i = nlocal_previous; i < nlocal; i++) { - if (ellipsoid[i] < 0) continue; - bquat = bonus[ellipsoid[i]].quat; - MathExtra::quatquat(domain->quat_g2r,bquat,quat); - bquat[0] = quat[0]; - bquat[1] = quat[1]; - bquat[2] = quat[2]; - bquat[3] = quat[3]; - MathExtra::qnormalize(bquat); - } -} - -/* ---------------------------------------------------------------------- - convert info output by write_data from restricted to general triclinic - parent class operates on x and data from Velocities section of data file - child class operates on bonus quat -------------------------------------------------------------------------- */ - -void AtomVecEllipsoid::write_data_restricted_to_general() -{ - AtomVec::write_data_restricted_to_general(); - - double quat[4]; - double *bquat; - double *quat_r2g = domain->quat_r2g; - - memory->create(quat_hold,nlocal_bonus,4,"atomvec:quat_hold"); - - for (int i = 0; i < nlocal_bonus; i++) { - bquat = bonus[i].quat; - quat_hold[i][0] = bquat[0]; - quat_hold[i][1] = bquat[1]; - quat_hold[i][2] = bquat[2]; - quat_hold[i][3] = bquat[3]; - - MathExtra::quatquat(quat_r2g,bquat,quat); - bquat[0] = quat[0]; - bquat[1] = quat[1]; - bquat[2] = quat[2]; - bquat[3] = quat[3]; - MathExtra::qnormalize(bquat); - } -} - -/* ---------------------------------------------------------------------- - restore info output by write_data to restricted triclinic - original data is in "hold" arrays - parent class operates on x and data from Velocities section of data file - child class operates on bonus quat -------------------------------------------------------------------------- */ - -void AtomVecEllipsoid::write_data_restore_restricted() -{ - AtomVec::write_data_restore_restricted(); - - if (!quat_hold) return; - - double *bquat; - - for (int i = 0; i < nlocal_bonus; i++) { - bquat = bonus[i].quat; - bquat[0] = quat_hold[i][0]; - bquat[1] = quat_hold[i][1]; - bquat[2] = quat_hold[i][2]; - bquat[3] = quat_hold[i][3]; - } - - memory->destroy(quat_hold); - quat_hold = nullptr; -} - /* ---------------------------------------------------------------------- modify values for AtomVec::pack_data() to pack ------------------------------------------------------------------------- */ diff --git a/src/atom_vec_ellipsoid.h b/src/atom_vec_ellipsoid.h index 3d6815fff0..6e06d773fc 100644 --- a/src/atom_vec_ellipsoid.h +++ b/src/atom_vec_ellipsoid.h @@ -53,9 +53,6 @@ class AtomVecEllipsoid : public AtomVec { void create_atom_post(int) override; void data_atom_post(int) override; - void read_data_general_to_restricted(int, int); - void write_data_restricted_to_general(); - void write_data_restore_restricted(); void pack_data_pre(int) override; void pack_data_post(int) override; @@ -73,8 +70,6 @@ class AtomVecEllipsoid : public AtomVec { double *rmass; double **angmom; - double **quat_hold; - int nghost_bonus, nmax_bonus; int ellipsoid_flag; double rmass_one; diff --git a/src/domain.cpp b/src/domain.cpp index 68eafab356..379b626d80 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -632,17 +632,17 @@ void Domain::define_general_triclinic(double *avec_caller, double *bvec_caller, if (bvec1[2] > 0.0) theta2 = -theta2; MathExtra::axisangle_to_quat(xaxis,theta2,quat2); - // quat_g2r = rotation via single quat = quat2 * quat1 + // quat_single = rotation via single quat = quat2 * quat1 // quat_r2g = rotation from restricted to general // rotate_g2r = general to restricted rotation matrix // include flip of C vector if needed to obey right-hand rule // rotate_r2g = restricted to general rotation matrix // simply a transpose of rotate_g2r since orthonormal - MathExtra::quatquat(quat2,quat1,quat_g2r); - MathExtra::qconjugate(quat_g2r,quat_r2g); + double quat_single[4]; + MathExtra::quatquat(quat2,quat1,quat_single); - MathExtra::quat_to_mat(quat_g2r,rotate_g2r); + MathExtra::quat_to_mat(quat_single,rotate_g2r); if (triclinic_general_flip) { rotate_g2r[2][0] = -rotate_g2r[2][0]; @@ -675,11 +675,13 @@ void Domain::define_general_triclinic(double *avec_caller, double *bvec_caller, printf("Rotvec1: %g %g %g\n",rot1[0],rot1[1],rot1[2]); printf("Theta2: %g\n",theta2); printf("Rotvec2: %g %g %g\n",xaxis[0],xaxis[1],xaxis[2]); - printf("Quat: %g %g %g %g\n",quat_g2r[0],quat_g2r[1],quat_g2r[2],quat_g2r[3]); - double angle = 2.0*acos(quat_g2r[0]); + printf("Quat: %g %g %g %g\n", + quat_single[0],quat_single[1],quat_single[2],quat_single[3]); + double angle = 2.0*acos(quat_single[0]); printf("Theta: %g\n",angle); - printf("Rotvec: %g %g %g\n",quat_g2r[1]/sin(0.5*angle),quat_g2r[2]/sin(0.5*angle), - quat_g2r[3]/sin(0.5*angle)); + printf("Rotvec: %g %g %g\n", + quat_single[1]/sin(0.5*angle),quat_single[2]/sin(0.5*angle), + quat_single[3]/sin(0.5*angle)); printf("Aprime: %g %g %g\n",aprime[0],aprime[1],aprime[2]); printf("Bprime: %g %g %g\n",bprime[0],bprime[1],bprime[2]); printf("Cprime: %g %g %g\n",cprime[0],cprime[1],cprime[2]); diff --git a/src/domain.h b/src/domain.h index 61a88724e7..34714cf6e3 100644 --- a/src/domain.h +++ b/src/domain.h @@ -93,7 +93,6 @@ class Domain : protected Pointers { // boxlo = lower left corner double avec[3], bvec[3], cvec[3]; // ABC edge vectors of general triclinic box - double quat_g2r[4], quat_r2g[4]; // quaternions for general <--> restricted rotations double rotate_g2r[3][3]; // rotation matrix from general --> restricted tri double rotate_r2g[3][3]; // rotation matrix from restricted --> general tri diff --git a/src/dump_atom.cpp b/src/dump_atom.cpp index 151446bdfd..38c8431269 100644 --- a/src/dump_atom.cpp +++ b/src/dump_atom.cpp @@ -91,9 +91,6 @@ void DumpAtom::init_style() // setup function ptrs - if (scale_flag && triclinic_general) - error->all(FLERR,"Dump atom cannot use scale and triclinic/general settings"); - if (binary && domain->triclinic == 0) header_choice = &DumpAtom::header_binary; else if (binary && triclinic_general == 1) @@ -107,26 +104,36 @@ void DumpAtom::init_style() else if (!binary && domain->triclinic == 1) header_choice = &DumpAtom::header_item_triclinic; - if (scale_flag == 1 && image_flag == 0 && domain->triclinic == 0) - pack_choice = &DumpAtom::pack_scale_noimage; - else if (scale_flag == 1 && image_flag == 1 && domain->triclinic == 0) - pack_choice = &DumpAtom::pack_scale_image; + if (scale_flag == 0) { + if (image_flag == 0) { + if (triclinic_general == 1) { + pack_choice = &DumpAtom::pack_noscale_noimage_triclinic_general; + } else { + pack_choice = &DumpAtom::pack_noscale_noimage; + } + } else if (image_flag == 1) { + if (triclinic_general == 1) { + pack_choice = &DumpAtom::pack_noscale_image_triclinic_general; + } else { + pack_choice = &DumpAtom::pack_noscale_image; + } + } + } else if (scale_flag == 1) { + if (image_flag == 0) { + if (domain->triclinic == 0) { + pack_choice = &DumpAtom::pack_scale_noimage; + } else { + pack_choice = &DumpAtom::pack_scale_noimage_triclinic; + } + } else if (image_flag == 1) { + if (domain->triclinic == 0) { + pack_choice = &DumpAtom::pack_scale_image; + } else { + pack_choice = &DumpAtom::pack_scale_image_triclinic; + } + } + } - else if (scale_flag == 0 && image_flag == 0 && triclinic_general == 1) - pack_choice = &DumpAtom::pack_noscale_noimage_triclinic_general; - else if (scale_flag == 0 && image_flag == 1 && triclinic_general == 1) - pack_choice = &DumpAtom::pack_noscale_image_triclinic_general; - - else if (scale_flag == 1 && image_flag == 0 && domain->triclinic == 1) - pack_choice = &DumpAtom::pack_scale_noimage_triclinic; - else if (scale_flag == 1 && image_flag == 1 && domain->triclinic == 1) - pack_choice = &DumpAtom::pack_scale_image_triclinic; - - else if (scale_flag == 0 && image_flag == 0) - pack_choice = &DumpAtom::pack_noscale_noimage; - else if (scale_flag == 0 && image_flag == 1) - pack_choice = &DumpAtom::pack_noscale_image; - if (image_flag == 0) convert_choice = &DumpAtom::convert_noimage; else convert_choice = &DumpAtom::convert_image; diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index 2e478fd5e9..9554247aff 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -1354,20 +1354,14 @@ int DumpCustom::parse_fields(int narg, char **arg) else pack_choice[iarg] = &DumpCustom::pack_z; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"xs") == 0) { - if (triclinic_general) - error->all(FLERR,"Dump custom xs property not supported for general triclinic"); if (domain->triclinic) pack_choice[iarg] = &DumpCustom::pack_xs_triclinic; else pack_choice[iarg] = &DumpCustom::pack_xs; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"ys") == 0) { - if (triclinic_general) - error->all(FLERR,"Dump custom ys property not supported for general triclinic"); if (domain->triclinic) pack_choice[iarg] = &DumpCustom::pack_ys_triclinic; else pack_choice[iarg] = &DumpCustom::pack_ys; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"zs") == 0) { - if (triclinic_general) - error->all(FLERR,"Dump custom zs property not supported for general triclinic"); if (domain->triclinic) pack_choice[iarg] = &DumpCustom::pack_zs_triclinic; else pack_choice[iarg] = &DumpCustom::pack_zs; vtype[iarg] = Dump::DOUBLE; @@ -1387,20 +1381,14 @@ int DumpCustom::parse_fields(int narg, char **arg) else pack_choice[iarg] = &DumpCustom::pack_zu; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"xsu") == 0) { - if (triclinic_general) - error->all(FLERR,"Dump custom xsu property not supported for general triclinic"); if (domain->triclinic) pack_choice[iarg] = &DumpCustom::pack_xsu_triclinic; else pack_choice[iarg] = &DumpCustom::pack_xsu; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"ysu") == 0) { - if (triclinic_general) - error->all(FLERR,"Dump custom ysu property not supported for general triclinic"); if (domain->triclinic) pack_choice[iarg] = &DumpCustom::pack_ysu_triclinic; else pack_choice[iarg] = &DumpCustom::pack_ysu; vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"zsu") == 0) { - if (triclinic_general) - error->all(FLERR,"Dump custom zsu property not supported for general triclinic"); if (domain->triclinic) pack_choice[iarg] = &DumpCustom::pack_zsu_triclinic; else pack_choice[iarg] = &DumpCustom::pack_zsu; vtype[iarg] = Dump::DOUBLE; From a4a7b9c5007df4c63c98c31807edb82b3c29820f Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 20 Oct 2023 14:01:24 -0600 Subject: [PATCH 068/559] formatting --- src/domain.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/domain.cpp b/src/domain.cpp index d5414ece56..47295c338c 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -756,7 +756,6 @@ void Domain::restricted_to_general_vector(double *v) v[2] = vnew[2]; } - void Domain::restricted_to_general_vector(double *v, double *vnew) { MathExtra::matvec(rotate_r2g,v,vnew); From 6fe6395ab29a002f0f264573359fee7563ecc640 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 3 Nov 2023 14:52:41 -0600 Subject: [PATCH 069/559] reset quats for ellipsoids for general <-> restriced triclinic --- src/atom_vec_ellipsoid.cpp | 77 ++++++++++++++++++++++++++++++++++++++ src/atom_vec_ellipsoid.h | 7 +++- src/domain.cpp | 2 +- src/math_extra.cpp | 25 ++++++++++++- src/math_extra.h | 1 + 5 files changed, 109 insertions(+), 3 deletions(-) diff --git a/src/atom_vec_ellipsoid.cpp b/src/atom_vec_ellipsoid.cpp index 3cc8f6362d..9b64426224 100644 --- a/src/atom_vec_ellipsoid.cpp +++ b/src/atom_vec_ellipsoid.cpp @@ -536,6 +536,83 @@ void AtomVecEllipsoid::write_data_bonus(FILE *fp, int n, double *buf, int /*flag } } +/* ---------------------------------------------------------------------- + convert read_data file info from general to restricted triclinic + parent class operates on data from Velocities section of data file + child class operates on ellipsoid quaternion +------------------------------------------------------------------------- */ + +void AtomVecEllipsoid::read_data_general_to_restricted(int nlocal_previous, int nlocal) +{ + int j; + + AtomVec::read_data_general_to_restricted(nlocal_previous, nlocal); + + // quat_g2r = quat that rotates from general to restricted triclinic + // quat_new = ellipsoid quat converted to restricted triclinic + + double quat_g2r[4],quat_new[4]; + MathExtra::mat_to_quat(domain->rotate_g2r,quat_g2r); + + for (int i = nlocal_previous; i < nlocal; i++) { + if (ellipsoid[i] < 0) continue; + j = ellipsoid[i]; + MathExtra::quatquat(quat_g2r,bonus[j].quat,quat_new); + bonus[j].quat[0] = quat_new[0]; + bonus[j].quat[1] = quat_new[1]; + bonus[j].quat[2] = quat_new[2]; + bonus[j].quat[3] = quat_new[3]; + } +} + +/* ---------------------------------------------------------------------- + convert info output by write_data from restricted to general triclinic + parent class operates on x and data from Velocities section of data file + child class operates on ellipsoid quaternion +------------------------------------------------------------------------- */ + +void AtomVecEllipsoid::write_data_restricted_to_general() +{ + AtomVec::write_data_restricted_to_general(); + + memory->create(quat_hold,nlocal_bonus,4,"atomvec:quat_hold"); + + for (int i = 0; i < nlocal_bonus; i++) + memcpy(quat_hold[i],bonus[i].quat,4*sizeof(double)); + + // quat_r2g = quat that rotates from restricted to general triclinic + // quat_new = ellipsoid quat converted to general triclinic + + double quat_r2g[4],quat_new[4]; + MathExtra::mat_to_quat(domain->rotate_r2g,quat_r2g); + + for (int i = 0; i < nlocal_bonus; i++) { + MathExtra::quatquat(quat_r2g,bonus[i].quat,quat_new); + bonus[i].quat[0] = quat_new[0]; + bonus[i].quat[1] = quat_new[1]; + bonus[i].quat[2] = quat_new[2]; + bonus[i].quat[3] = quat_new[3]; + } +} + +/* ---------------------------------------------------------------------- + restore info output by write_data to restricted triclinic + original data is in "hold" arrays + parent class operates on x and data from Velocities section of data file + child class operates on ellipsoid quaternion +------------------------------------------------------------------------- */ + +void AtomVecEllipsoid::write_data_restore_restricted() +{ + AtomVec::write_data_restore_restricted(); + + for (int i = 0; i < nlocal_bonus; i++) + memcpy(bonus[i].quat,quat_hold[i],4*sizeof(double)); + + memory->destroy(quat_hold); + quat_hold = nullptr; +} + /* ---------------------------------------------------------------------- set shape values in bonus data for particle I oriented aligned with xyz axes diff --git a/src/atom_vec_ellipsoid.h b/src/atom_vec_ellipsoid.h index 6e06d773fc..23c824dbf0 100644 --- a/src/atom_vec_ellipsoid.h +++ b/src/atom_vec_ellipsoid.h @@ -59,6 +59,10 @@ class AtomVecEllipsoid : public AtomVec { int pack_data_bonus(double *, int) override; void write_data_bonus(FILE *, int, double *, int) override; + void read_data_general_to_restricted(int, int); + void write_data_restricted_to_general(); + void write_data_restore_restricted(); + // unique to AtomVecEllipsoid void set_shape(int, double, double, double); @@ -69,7 +73,8 @@ class AtomVecEllipsoid : public AtomVec { int *ellipsoid; double *rmass; double **angmom; - + double **quat_hold; + int nghost_bonus, nmax_bonus; int ellipsoid_flag; double rmass_one; diff --git a/src/domain.cpp b/src/domain.cpp index 47295c338c..439dafd765 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -307,7 +307,7 @@ void Domain::set_global_box() cprime[1] = yz; cprime[2] = boxhi[2] - boxlo[2]; - // transform restricted A'B'C' to general triclinic A,B,C + // transform restricted A'B'C' to general triclinic ABC MathExtra::matvec(rotate_r2g,aprime,avec); MathExtra::matvec(rotate_r2g,bprime,bvec); diff --git a/src/math_extra.cpp b/src/math_extra.cpp index 83e548f79f..b8c9bd98df 100644 --- a/src/math_extra.cpp +++ b/src/math_extra.cpp @@ -362,6 +362,29 @@ void exyz_to_q(double *ex, double *ey, double *ez, double *q) qnormalize(q); } +/* ---------------------------------------------------------------------- + create unit quaternion from a rotation matrix + just a wrapper on exyz_to_q() + ex,ey,ez are columns of a rotation matrix +------------------------------------------------------------------------- */ + +void mat_to_quat(double mat[3][3], double *q) +{ + double ex[3],ey[3],ez[3]; + + ex[0] = mat[0][0]; + ex[1] = mat[1][0]; + ex[2] = mat[2][0]; + ey[0] = mat[0][1]; + ey[1] = mat[1][1]; + ey[2] = mat[2][1]; + ez[0] = mat[0][2]; + ez[1] = mat[1][2]; + ez[2] = mat[2][2]; + + MathExtra::exyz_to_q(ex,ey,ez,q); +} + /* ---------------------------------------------------------------------- compute space-frame ex,ey,ez from current quaternion q ex,ey,ez = space-frame coords of 1st,2nd,3rd principal axis @@ -417,6 +440,7 @@ void quat_to_mat(const double *quat, double mat[3][3]) /* ---------------------------------------------------------------------- compute rotation matrix from quaternion conjugate quat = [w i j k] + similar logic to quat_to_mat() ------------------------------------------------------------------------- */ void quat_to_mat_trans(const double *quat, double mat[3][3]) @@ -647,5 +671,4 @@ void tribbox(double *h, double radius, double *dist) /* ---------------------------------------------------------------------- */ - } diff --git a/src/math_extra.h b/src/math_extra.h index 49e128c3df..52d1d838ff 100644 --- a/src/math_extra.h +++ b/src/math_extra.h @@ -100,6 +100,7 @@ void angmom_to_omega(double *m, double *ex, double *ey, double *ez, double *idia void omega_to_angmom(double *w, double *ex, double *ey, double *ez, double *idiag, double *m); void mq_to_omega(double *m, double *q, double *moments, double *w); void exyz_to_q(double *ex, double *ey, double *ez, double *q); +void mat_to_quat(double mat[3][3], double *quat); void q_to_exyz(double *q, double *ex, double *ey, double *ez); void quat_to_mat(const double *quat, double mat[3][3]); void quat_to_mat_trans(const double *quat, double mat[3][3]); From 612a919e939502d32d630f6bbeee7f97e22fd93d Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 6 Nov 2023 16:56:33 -0700 Subject: [PATCH 070/559] more work on read_data and doc pages --- doc/src/Howto_2d.rst | 33 ++++---- doc/src/Howto_triclinic.rst | 161 ++++++++++++++++-------------------- doc/src/boundary.rst | 6 +- src/atom.cpp | 4 +- src/atom_vec.cpp | 5 +- src/domain.cpp | 5 +- src/domain.h | 4 +- src/read_data.cpp | 14 ++-- src/read_data.h | 9 +- 9 files changed, 113 insertions(+), 128 deletions(-) diff --git a/doc/src/Howto_2d.rst b/doc/src/Howto_2d.rst index 06e6d57be8..b80a424690 100644 --- a/doc/src/Howto_2d.rst +++ b/doc/src/Howto_2d.rst @@ -1,29 +1,32 @@ -2d simulations -============== +================ + 2d simulations +================ You must use the :doc:`dimension ` command to specify a 2d simulation. The default is 3d. -Make the simulation box periodic in z via the :doc:`boundary ` -command. This is the default. +A 2d simulation box must be periodic in z as set by the :doc:`boundary +` command. This is the default. If using the :doc:`create_box ` command, you must define a -simulation box which straddes z = 0.0 in the z dimension since all the -atoms will have a z coordinate of zero. Typicaily the width of box in -the z dimension should be narrow, e.g. -0.5 to 0.5, but that is not -required. An example is: +simulation box which straddles z = 0.0 in the z dimension since all +the atoms will have a z coordinate of zero. Typicaily the width of +box in the z dimension should be narrow, e.g. -0.5 to 0.5, but that is +not required. Example are: .. code-block:: LAMMPS + create_box 1 -10 10 0 10 -0.5 0.5 create_box 1 -10 10 0 10 -0.25 0.25 -Likewise, If using the :doc:`read_data ` command to define -the simulation box and read in a file of atom coordinates, the default -"zlo zhi" values are -0.5 0.5 for 2d simulations. If the data file -includes that header keyword the zlo/zhi values must straddle z = 0.0. -The z coords for atoms listed in the file must be 0.0 (within epsilon -of zero is also allowed in case the data file was generated by another -program with finite precision). +Likewise, if using the :doc:`read_data ` command to define +the simulation box and read in a data file of atom coordinates, the +default "zlo zhi" values are -0.5 0.5 for 2d simulations. If the data +file includes that header keyword the zlo/zhi values must straddle z = +0.0. Also, the z coord for each atom listed in the file must be 0.0. +A value within epsilon of zero is also allowed in case the data file +was generated by another program with finite precision, in which case +the z coord for the atom will be set to 0.0. Use the :doc:`fix enforce2d ` command as the last fix defined in the input script. It ensures that the z-components of diff --git a/doc/src/Howto_triclinic.rst b/doc/src/Howto_triclinic.rst index c84f424356..0a66af4b36 100644 --- a/doc/src/Howto_triclinic.rst +++ b/doc/src/Howto_triclinic.rst @@ -48,13 +48,17 @@ box/relax ` command. A third use is to shear a bulk solid to study the response of the material. The :doc:`fix deform ` command can be used for this purpose. It allows dynamic control of the xy, xz, yz tilt -factors as a simulation runs. This is discussed in the next section -on non-equilibrium MD (NEMD) simulations. +factors as a simulation runs. This is discussed in the :doc:`Howto +NEMD ` doc page on non-equilibrium MD (NEMD) simulations. Conceptually, a triclinic parallelepiped is defined with an "origin" at (xlo,ylo,zhi) and 3 edge vectors **A** = (ax,ay,az), **B** = -(bx,by,bz), **C** = (cx,cy,cz) which can now be arbitrary vectors, so -long as they are non-zero, distinct, and not co-planar. +(bx,by,bz), **C** = (cx,cy,cz) which can be arbitrary vectors, so long +as they are non-zero, distinct, and not co-planar. In addition, they +must define a right-handed system, such that (**A** cross **B**) +points in the direction of **C**. Note that a left-handed system can +be converted to a right-handed system by simply swapping the order of +any two of the **A**, **B**, **C** vectors. The 4 commands listed above for defining orthogonal simulation boxes have triclinic options which allow for specification of the origin and @@ -64,46 +68,45 @@ a *restricted* triclinic box. A *general* triclinic box is specified by an origin (xlo, ylo, zlo) and arbitrary edge vectors **A** = (ax,ay,az), **B** = (bx,by,bz), and -**C** = (cx,cy,cz). So there are 12 parameters in total. Note that a -general triclinic box can either be *right-handed* if (**A** x **B**) -points in the direction of **C**, or it can be *left-handed* if (**A** -x **B**) points opposite to **C**. +**C** = (cx,cy,cz). So there are 12 parameters in total. A *restricted* triclinic box also has an origin (xlo,ylo,zlo), but its -edge vectors are of the following form: **A** = (xhi-xlo,0,0), **B** = -(xy,yhi-ylo,0), **C** = (xz,yz,zhi-zlo). So there are 9 parameters in -total. The restricted form of edge vectors requires that **A** is -along the x-axis, **B** is in the xy plane with a y-component in -the +y direction, and **C** has a z-component in the +z direction. -Note that a restricted triclinic box is always *right-handed* so -that (**A** x **B**) points in the direction of **C**. +edge vectors are of the following restricted form: **A** = +(xhi-xlo,0,0), **B** = (xy,yhi-ylo,0), **C** = (xz,yz,zhi-zlo). So +there are 9 parameters in total. Note that the restricted form +requires **A** to be along the x-axis, **B** to be in the xy plane +with a y-component in the +y direction, and **C** to have its +z-component in the +z direction. Note that a restricted triclinic box +is *right-handed* by construction since (**A** cross **B**) points in +the direction of **C**. The *xy,xz,yz* values can be zero or positive or negative. They are called "tilt factors" because they are the amount of displacement -applied to edges of faces of an originally orthogonal box to change it -into a restricted triclinic parallelepiped. +applied to edges of faces of an orthogonal box to change it into a +restricted triclinic parallelepiped. .. note:: - Any general triclinic box (i.e. solid-state crystal basis vectors) - can be rotated in 3d around its origin (and reflected across a - plane if necessary to flip from a left-handed coordinate system to - right-handed) in order to conform to the LAMMPS definition of a - restricted triclinic box. See the discussion in the next - sub-section about general triclinic simulation boxes in LAMMPS. + Any right-handed general triclinic box (i.e. solid-state crystal + basis vectors) can be rotated in 3d around its origin in order to + conform to the LAMMPS definition of a restricted triclinic box. + See the discussion in the next sub-section about general triclinic + simulation boxes in LAMMPS. Note that the :doc:`thermo_style custom ` command has keywords for outputting the various parameters that define both restricted and general triclinic simulation boxes. Thus you can check -the restricted triclinic box parameters LAMMPS generates to -rotate/reflect a general triclinic box to restricted triclinic form. +the restricted triclinic box parameters LAMMPS generates to rotate a +general triclinic box to restricted triclinic form. -For restricted triclinic boxes there are 9 thermo keywords for +For restricted triclinic boxes these are the 9 thermo keywords for (xlo,ylo,zlo), (xhi,yhi,zhi), and the (xy,xz,yz) tilt factors. For -general triclinic boxes there are 12 thermo keywords for (xlo,ylo,zhi) -and the components of the **A**, **B**, **C** edge vectors. For both -orthogonal and restricted triclinic boxes, the thermo keywords -lx/ly/lz refer to the box sizes, namely lx = xhi - xlo, etc. +general triclinic boxes these are the 12 thermo keywords for +(xlo,ylo,zhi) and the components of the **A**, **B**, **C** edge +vectors. For both orthogonal and restricted triclinic boxes, the +thermo keywords lx/ly/lz refer to the box sizes, namely lx = xhi - +xlo, etc. Lx,ly,lz are the box edge vector lengths for orthogonal and +restricted/general triclinic simulation boxes. The remainder of this doc page explains (a) how LAMMPS operates with general triclinic simulation boxes, (b) mathematical transformations @@ -124,7 +127,7 @@ input to LAMMPS. Likewise it allows output of dump files, data files, and thermodynamic data (e.g. pressure tensor) in a general triclinic format. -However, internally, LAMMPS only uses restricted triclinic simulation +However internally, LAMMPS only uses restricted triclinic simulation boxes. This is for parallel efficiency and to formulate partitioning of the simulation box across processors, neighbor list building, and inter-processor communication of per-atom data with methods similar to @@ -139,31 +142,39 @@ This means 4 things which are important to understand: conversion from a restricted to general triclinic system is done at the time of output. * The conversion of the simulation box and per-atom data from general - triclinic to restriced triclinic (and vice versa) is a rotation + - optional reflection from one set of coordinate axes to another. For - orthogonal and restricted triclinic systems, the coordinate axes are - the standard x,y,z axes. For a general triclinic system, those - coordinate axes are rotated in 3d. The optional reflection flips - the axes from right-handed to left-handed if necessary. The 3 - rotated/reflected axes remain mutually orthogonal. For all 3 kinds - of systems (orthogonal, restricted, general), per-atom quantities - (e.g. coords, velocities) are input/output as values consistent with - the corresponding coordinate axes. -* Other LAMMPS commands such as the :doc:`boundary ` or - :doc:`region ` or :doc:`velocity ` or :doc:`set - ` commands, operate on restricted triclinic systems even if a - general triclinic system was defined initially. For an example, see - the paragraph below the folliowing list. + triclinic to restricted triclinic (and vice versa) is a 3d rotation + operation around an origin, which is the lower left corner of the + simulation box. This means an input data file for a general + triclinic system should specify all per-atom quantities consistent + with the general triclinic box and its orientation relative to the + standard x,y,z coordinate axes. For example, atom coordinates + should be inside the general triclinic simulation box defined by the + edge vectors **A**, **B**, **C** and its origin. Likewise per-atom + velocities should be in directions consistent with the general + triclinic box orientation. I.e. a velocity vector that will be in + the +x direction once LAMMPS converts from a general to restricted + triclinic box, should be specified in the data file in the direction + of the **A** edge vector. See the :doc:`read_data ` doc + page for info on all the per-atom vector quantities this rule + affects when the data file for a general triclinic box is input. +* If commands such as :doc:`write_data ` or :doc:`dump + custom ` are used to output general triclinic information, it + is effectively the inverse of the operation described in the + preceeding bullet. +* Other LAMMPS commands such as :doc:`region ` or + :doc:`velocity ` or :doc:`set `, operate on a + restricted triclinic system even if a general triclinic system was + defined initially. This is the list of commands which have general triclinic options: * :doc:`create_box ` - define a general triclinic box * :doc:`create_atoms ` - add atoms to a general triclinic box -* :doc:`lattice ` - define a custom lattice consistent with **A**, **B**, **C** edge vectors of a general triclinic box +* :doc:`lattice ` - define a custom lattice consistent with the **A**, **B**, **C** edge vectors of a general triclinic box * :doc:`read_data ` - read a data file for a general triclinic system * :doc:`write_data ` - write a data file for a general triclinic system * :doc:`dump atom, dump custom ` - output dump snapshots in general triclinic format -* :doc:`dump_modify ` - switch a dump file between restrictied and general triclinic format +* :doc:`dump_modify ` - toggle a dump file between restrictied and general triclinic format * :doc:`thermo_style ` - output the pressure tensor in general triclinic format * :doc:`thermo_modify ` - toggle thermo-style output @@ -171,42 +182,15 @@ This is the list of commands which have general triclinic options: * :doc:`read_restart ` - read a restart file for a general tricliinc system * :doc:`write_restart ` - write a restart file for a general tricliinc system -As an example, consider the velocity of each atom in a general -triclinic system. In a general triclinic data file, each atom will -have coordinates inside a general triclinic box with arbitrary edge -vectors **A**, **B**, **C**. If the file has a "Velocities" section -then the velocity vector of each atom should be in a direction -consistent with the orientation of the general triclnic coordinate -axes. - -When LAMMPS internally converts the general triclinic system to -restricted triclinic, the coordinates of all atoms are transformed -(rotation + optional reflection) to be inside the new restricted -triclinic box. Likewise the velocity vectors are transformed. - -If the :doc:`velocity ` command is used to set an x-velocity -component, it will use the coordinate axes of the restricted box. - -If the atoms and their velocities are output via the :doc:`write_data -` or :doc:`dump custom ` commands, the coordinates -will be transformed (inverse rotation + optional reflection) to be -inside the general triclinic box. Likewise the velocity vector for -each atom will be transformed from restricted to general triclinic. - -Any other vector quantities associated with atoms (magnetic moments, -spins, etc) are transformed in a similar manner back-and-forth between -general and restricted box orientations. - ---------- Transformation from general to restricted triclinic boxes """"""""""""""""""""""""""""""""""""""""""""""""""""""""" -Let **A**,\ **B**,\ **C** be the edge vectors of a general triclinic -simulation box. Assume that **A** x **B** . **C** > 0. The -equivalent LAMMPS **a**,\ **b**,\ **c** for a restricted triclinic box -are a linear rotation of **A**, **B**, and **C** and can be computed -as follows: +Let **A**,\ **B**,\ **C** be the right-handed edge vectors of a +general triclinic simulation box. The equivalent LAMMPS **a**,\ +**b**,\ **c** for a restricted triclinic box are a 3d rotation of +**A**, **B**, and **C** and can be computed as follows: .. math:: @@ -228,15 +212,10 @@ symbol (\^) indicates the corresponding unit vector. :math:`\beta` and :math:`\gamma` are angles between the **A**, **B**, **C** vectors as described below. -If **A** x **B** . **C** < 0 the above equations are not valid for -**c**\ . In this case, it is necessary to first apply an -inversion. This can be achieved by interchanging two of the **A**, -**B**, **C** vectors or by changing the sign of one of them. - -For consistency, the same rotation/inversion applied to the triclinic -box edge vectors can also be applied to atom positions, velocities, -and other vector quantities. This can be conveniently achieved by -first converting to fractional coordinates in the general triclinic +For consistency, the same rotation applied to the triclinic box edge +vectors can also be applied to atom positions, velocities, and other +vector quantities. This can be conveniently achieved by first +converting to fractional coordinates in the general triclinic coordinates and then converting to coordinates in the resetricted triclinic basis. The transformation is given by the following equation: @@ -335,9 +314,9 @@ Periodicity and tilt factors for triclinic simulation boxes """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" There is no requirement that a triclinic box be periodic in any -dimension, though it typically should be in y or z if you wish enforce -a shift in coordinates due to periodic boundary conditions across the -y or z boundaries. See the doc page for the :doc:`boundary +dimension, though it typically should be in y or z if you wish to +enforce a shift in coordinates due to periodic boundary conditions +across the y or z boundaries. See the doc page for the :doc:`boundary ` command for an explanation of shifted coordinates for restricted triclinic boxes which are periodic. diff --git a/doc/src/boundary.rst b/doc/src/boundary.rst index 772c72cd31..c1adeb1009 100644 --- a/doc/src/boundary.rst +++ b/doc/src/boundary.rst @@ -83,10 +83,10 @@ See the :doc:`Howto triclinic ` page for a description of both general and restricted triclinic boxes and how to define them. General triclinic boxes (arbitrary edge vectors **A**, **B**, and **C**) are converted internally to restricted triclinic -boxes with tilt factors (xy,xz,yz) added to skew an otherwise -orthogonal box. +boxes with tilt factors (xy,xz,yz) which skew an otherwise orthogonal +box. -The boundary command settings expalined above for the 6 +The boundary command settings explained above for the 6 faces of an orthogonal box also apply in similar manner to the 6 faces of a restricted triclinix box (and thus to the corresponding 6 faces of a general triclinic box), with the following context. diff --git a/src/atom.cpp b/src/atom.cpp index c7c13013c8..6d983cd7f1 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -1038,7 +1038,7 @@ void Atom::deallocate_topology() /* ---------------------------------------------------------------------- unpack N lines from Atom section of data file - call style-specific routine to parse line + call atom-style specific method to parse each line triclinic_general = 1 if data file defines a general triclinic box ------------------------------------------------------------------------- */ @@ -1217,6 +1217,8 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, if (coord[0] >= sublo[0] && coord[0] < subhi[0] && coord[1] >= sublo[1] && coord[1] < subhi[1] && coord[2] >= sublo[2] && coord[2] < subhi[2]) { + + // atom-style specific method parses single line avec->data_atom(xdata,imagedata,values,typestr); typestr = utils::utf8_subst(typestr); diff --git a/src/atom_vec.cpp b/src/atom_vec.cpp index f7a0f6f566..d94365db43 100644 --- a/src/atom_vec.cpp +++ b/src/atom_vec.cpp @@ -1659,7 +1659,6 @@ void AtomVec::data_atom(double *coord, imageint imagetmp, const std::vectornlocal; if (nlocal == nmax) grow(0); @@ -2227,7 +2226,8 @@ void AtomVec::write_improper(FILE *fp, int n, tagint **buf, int index) /* ---------------------------------------------------------------------- convert info input by read_data from general to restricted triclinic - parent class only operates on data from Velocities section of data file + atom coords are converted in Atom::data_atoms() + parent class operates on data from Velocities section of data file child classes operate on all other data: Atoms, Ellipsoids, Lines, Triangles, etc ------------------------------------------------------------------------- */ @@ -2256,6 +2256,7 @@ void AtomVec::read_data_general_to_restricted(int nlocal_previous, int nlocal) /* ---------------------------------------------------------------------- convert info output by write_data from restricted to general triclinic + create "hold" copy of original restricted data to restore after data file is written parent class only operates on x and data from Velocities section of data file child classes operate on all other data: Atoms, Ellipsoids, Lines, Triangles, etc ------------------------------------------------------------------------- */ diff --git a/src/domain.cpp b/src/domain.cpp index 439dafd765..700cf79a82 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -292,12 +292,13 @@ void Domain::set_global_box() } // update general triclinic box if defined - // reset ABC edge vectors from restricted triclinic box - // boxlo = lower left corner of general triclinic box + // reset general tri ABC edge vectors from restricted tri box if (triclinic_general) { double aprime[3],bprime[3],cprime[3]; + // A'B'C' = edge vectors of restricted triclinic box + aprime[0] = boxhi[0] - boxlo[0]; aprime[1] = aprime[2] = 0.0; bprime[0] = xy; diff --git a/src/domain.h b/src/domain.h index 206038f295..41994e2140 100644 --- a/src/domain.h +++ b/src/domain.h @@ -40,7 +40,7 @@ class Domain : protected Pointers { // 3 = shrink-wrap non-per w/ min int triclinic; // 0 = orthog box, 1 = triclinic (restricted or general) - int triclinic_general; // 1 if mapping to/from general triclinic is stored, 0 if not + int triclinic_general; // 1 if general <-> restricted tri mapping is stored, 0 if not // orthogonal box @@ -50,7 +50,7 @@ class Domain : protected Pointers { double prd_half[3]; // array form of half dimensions // restricted triclinic box - // xyzprd,xyzprd_half and prd,prd_half = same as if not tilted + // xyz prd,xyz prd_half and prd,prd_half = same as if not tilted double prd_lamda[3]; // lamda box = (1,1,1) double prd_half_lamda[3]; // lamda half box = (0.5,0.5,0.5) diff --git a/src/read_data.cpp b/src/read_data.cpp index 7b88590452..b34dac54eb 100644 --- a/src/read_data.cpp +++ b/src/read_data.cpp @@ -576,7 +576,7 @@ void ReadData::command(int narg, char **arg) if (!triclinic_general) { - // orthongal box + // orthogonal or restricted triclinic box domain->boxlo[0] = boxlo[0]; domain->boxhi[0] = boxhi[0]; @@ -605,8 +605,6 @@ void ReadData::command(int narg, char **arg) // change simulation box to be union of existing box and new box + shift // only done if firstpass and not first data file - // for restricted triclinic, new tilt factors not allowed - // for general triclinic, different new box and shift not allowed if (firstpass && addflag != NONE) { @@ -670,7 +668,7 @@ void ReadData::command(int narg, char **arg) int flag_all; MPI_Allreduce(&iflag, &flag_all, 1, MPI_INT, MPI_SUM, world); if ((flag_all > 0) && (comm->me == 0)) - error->warning(FLERR, "Non-zero image flags with growing box leads to bad coordinates"); + error->warning(FLERR, "Non-zero image flags with growing box can produce bad coordinates"); } } @@ -689,6 +687,7 @@ void ReadData::command(int narg, char **arg) lmap = new LabelMap(lmp, ntypes, nbondtypes, nangletypes, ndihedraltypes, nimpropertypes); } + // ------------------------------------------------------------------------------------- // rest of data file is Sections // read in any order, except where error checks // customize for new sections @@ -1391,10 +1390,9 @@ void ReadData::header(int firstpass) if (addflag == NONE) atom->nimpropertypes = nimpropertypes + extra_improper_types; // these settings only used by first data file - // also, these are obsolescent. we parse them to maintain backward - // compatibility, but the recommended way is to set them via keywords - // in the LAMMPS input file. In case these flags are set in both, - // the input and the data file, we use the larger of the two. + // NOTEL these are now obsolete, we parse them to maintain backward compatibility + // the recommended way is to set them via command keywords in the input script + // if these flags are set both ways, the larger of the two values is used } else if (strstr(line, "extra bond per atom")) { if (addflag == NONE) extra_flag_value = utils::inumeric(FLERR, words[0], false, lmp); diff --git a/src/read_data.h b/src/read_data.h index 28b277860a..495c17d500 100644 --- a/src/read_data.h +++ b/src/read_data.h @@ -59,15 +59,16 @@ class ReadData : public Command { class LabelMap *lmap; - // box info + // box info read from file + int triclinic, triclinic_general; + int xloxhi_flag, yloyhi_flag, zlozhi_flag, tilt_flag; + int avec_flag, bvec_flag, cvec_flag, abc_origin_flag; + double boxlo[3], boxhi[3]; double xy, xz, yz; double avec[3], bvec[3], cvec[3]; double abc_origin[3]; - int triclinic, triclinic_general; - int xloxhi_flag, yloyhi_flag, zlozhi_flag, tilt_flag; - int avec_flag, bvec_flag, cvec_flag, abc_origin_flag; // optional args From e57079768f973aa7b070cfdc17ef7f799b5ca41c Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 9 Nov 2023 17:58:12 -0700 Subject: [PATCH 071/559] update some doc pages --- doc/src/Howto_triclinic.rst | 36 ++--- doc/src/fix_rigid.rst | 281 +++++++++++++++++++----------------- doc/src/read_data.rst | 202 +++++++++++++++----------- 3 files changed, 280 insertions(+), 239 deletions(-) diff --git a/doc/src/Howto_triclinic.rst b/doc/src/Howto_triclinic.rst index 0a66af4b36..6cbc0644cd 100644 --- a/doc/src/Howto_triclinic.rst +++ b/doc/src/Howto_triclinic.rst @@ -56,9 +56,9 @@ at (xlo,ylo,zhi) and 3 edge vectors **A** = (ax,ay,az), **B** = (bx,by,bz), **C** = (cx,cy,cz) which can be arbitrary vectors, so long as they are non-zero, distinct, and not co-planar. In addition, they must define a right-handed system, such that (**A** cross **B**) -points in the direction of **C**. Note that a left-handed system can -be converted to a right-handed system by simply swapping the order of -any two of the **A**, **B**, **C** vectors. +points in the direction of **C**. A left-handed system can be +converted to a right-handed system by simply swapping the order of any +pair of the **A**, **B**, **C** vectors. The 4 commands listed above for defining orthogonal simulation boxes have triclinic options which allow for specification of the origin and @@ -151,12 +151,12 @@ This means 4 things which are important to understand: should be inside the general triclinic simulation box defined by the edge vectors **A**, **B**, **C** and its origin. Likewise per-atom velocities should be in directions consistent with the general - triclinic box orientation. I.e. a velocity vector that will be in + triclinic box orientation. E.g. a velocity vector which will be in the +x direction once LAMMPS converts from a general to restricted triclinic box, should be specified in the data file in the direction of the **A** edge vector. See the :doc:`read_data ` doc - page for info on all the per-atom vector quantities this rule - affects when the data file for a general triclinic box is input. + page for info on all the per-atom vector quantities to which this + rule applies when a data file for a general triclinic box is input. * If commands such as :doc:`write_data ` or :doc:`dump custom ` are used to output general triclinic information, it is effectively the inverse of the operation described in the @@ -332,16 +332,18 @@ will become non-orthogonal, e.g. due to use of the :doc:`fix npt you can use the :doc:`change_box ` command to convert a simulation box from orthogonal to restricted triclinic and vice versa. -Highly tilted restricted triclinic simulation boxes can be -computationally inefficient. This is due to the large volume of -communication needed to acquire ghost atoms around a processor's -irregular-shaped subdomain. For extreme values of tilt, LAMMPS may -also lose atoms and generate an error. +.. note:: + + Highly tilted restricted triclinic simulation boxes can be + computationally inefficient. This is due to the large volume of + communication needed to acquire ghost atoms around a processor's + irregular-shaped subdomain. For extreme values of tilt, LAMMPS may + also lose atoms and generate an error. LAMMPS will issue a warning if you define a restricted triclinic box with a tilt factor which skews the box more than half the distance of the parallel box length, which is the first dimension in the tilt -factor (x for xz). +factor (e.g. x for xz). For example, if xlo = 2 and xhi = 12, then the x box length is 10 and the xy tilt factor should be between -5 and 5 to avoid the warning. @@ -361,8 +363,8 @@ occur using the :doc:`fix deform ` or :doc:`fix npt either of the commands. One exception to box flipping is if the first dimension in the tilt -factor (x for xy) is non-periodic. In that case, the limits on the -tilt factor are not enforced, since flipping the box in that dimension -would not change the atom positions due to non-periodicity. In this -mode, if the system tilts to large angles, the simulation will simply -become inefficient, due to the highly skewed simulation box. +factor (e.g. x for xy) is non-periodic. In that case, the limits on +the tilt factor are not enforced, since flipping the box in that +dimension would not change the atom positions due to non-periodicity. +In this mode, if the system tilts to large angles, the simulation will +simply become inefficient, due to the highly skewed simulation box. diff --git a/doc/src/fix_rigid.rst b/doc/src/fix_rigid.rst index a50e215681..2192f9ed1f 100644 --- a/doc/src/fix_rigid.rst +++ b/doc/src/fix_rigid.rst @@ -169,14 +169,15 @@ Examples of large rigid bodies are a colloidal particle, or portions of a biomolecule such as a protein. Example of small rigid bodies are patchy nanoparticles, such as those -modeled in :ref:`this paper ` by Sharon Glotzer's group, clumps of -granular particles, lipid molecules consisting of one or more point -dipoles connected to other spheroids or ellipsoids, irregular -particles built from line segments (2d) or triangles (3d), and -coarse-grain models of nano or colloidal particles consisting of a -small number of constituent particles. Note that the :doc:`fix shake ` command can also be used to rigidify small -molecules of 2, 3, or 4 atoms, e.g. water molecules. That fix treats -the constituent atoms as point masses. +modeled in :ref:`this paper ` by Sharon Glotzer's group, +clumps of granular particles, lipid molecules consisting of one or +more point dipoles connected to other spheroids or ellipsoids, +irregular particles built from line segments (2d) or triangles (3d), +and coarse-grain models of nano or colloidal particles consisting of a +small number of constituent particles. Note that the :doc:`fix shake +` command can also be used to rigidify small molecules of +2, 3, or 4 atoms, e.g. water molecules. That fix treats the +constituent atoms as point masses. These fixes also update the positions and velocities of the atoms in each rigid body via time integration, in the NVE, NVT, NPT, or NPH @@ -210,13 +211,14 @@ processors when ghost atom info is accumulated. .. note:: - To use the *rigid/small* styles the ghost atom cutoff must be - large enough to span the distance between the atom that owns the body - and every other atom in the body. This distance value is printed out - when the rigid bodies are defined. If the - :doc:`pair_style ` cutoff plus neighbor skin does not span - this distance, then you should use the :doc:`comm_modify cutoff ` command with a setting epsilon larger than - the distance. + To use the *rigid/small* styles the ghost atom cutoff must be large + enough to span the distance between the atom that owns the body and + every other atom in the body. This distance value is printed out + when the rigid bodies are defined. If the :doc:`pair_style + ` cutoff plus neighbor skin does not span this + distance, then you should use the :doc:`comm_modify cutoff + ` command with a setting epsilon larger than the + distance. Which of the two variants is faster for a particular problem is hard to predict. The best way to decide is to perform a short test run. @@ -227,49 +229,54 @@ differences may accumulate to produce divergent trajectories. .. note:: You should not update the atoms in rigid bodies via other - time-integration fixes (e.g. :doc:`fix nve `, :doc:`fix nvt `, :doc:`fix npt `, :doc:`fix move `), - or you will have conflicting updates to positions and velocities - resulting in unphysical behavior in most cases. When performing a hybrid - simulation with some atoms in rigid bodies, and some not, a separate - time integration fix like :doc:`fix nve ` or :doc:`fix nvt ` should be used for the non-rigid particles. + time-integration fixes (e.g. :doc:`fix nve `, :doc:`fix + nvt `, :doc:`fix npt `, :doc:`fix move + `), or you will have conflicting updates to positions and + velocities resulting in unphysical behavior in most cases. When + performing a hybrid simulation with some atoms in rigid bodies, and + some not, a separate time integration fix like :doc:`fix nve + ` or :doc:`fix nvt ` should be used for the + non-rigid particles. .. note:: - These fixes are overkill if you simply want to hold a collection - of atoms stationary or have them move with a constant velocity. A - simpler way to hold atoms stationary is to not include those atoms in - your time integration fix. E.g. use "fix 1 mobile nve" instead of - "fix 1 all nve", where "mobile" is the group of atoms that you want to - move. You can move atoms with a constant velocity by assigning them - an initial velocity (via the :doc:`velocity ` command), - setting the force on them to 0.0 (via the :doc:`fix setforce ` command), and integrating them as usual - (e.g. via the :doc:`fix nve ` command). + These fixes are overkill if you simply want to hold a collection of + atoms stationary or have them move with a constant velocity. A + simpler way to hold atoms stationary is to not include those atoms + in your time integration fix. E.g. use "fix 1 mobile nve" instead + of "fix 1 all nve", where "mobile" is the group of atoms that you + want to move. You can move atoms with a constant velocity by + assigning them an initial velocity (via the :doc:`velocity + ` command), setting the force on them to 0.0 (via the + :doc:`fix setforce ` command), and integrating them + as usual (e.g. via the :doc:`fix nve ` command). .. warning:: - The aggregate properties of each rigid body are - calculated at the start of a simulation run and are maintained in - internal data structures. The properties include the position and - velocity of the center-of-mass of the body, its moments of inertia, and - its angular momentum. This is done using the properties of the - constituent atoms of the body at that point in time (or see the *infile* - keyword option). Thereafter, changing these properties of individual - atoms in the body will have no effect on a rigid body's dynamics, unless - they effect any computation of per-atom forces or torques. If the - keyword *reinit* is set to *yes* (the default), the rigid body data - structures will be recreated at the beginning of each *run* command; - if the keyword *reinit* is set to *no*, the rigid body data structures - will be built only at the very first *run* command and maintained for - as long as the rigid fix is defined. For example, you might think you - could displace the atoms in a body or add a large velocity to each atom - in a body to make it move in a desired direction before a second run is - performed, using the :doc:`set ` or - :doc:`displace_atoms ` or :doc:`velocity ` - commands. But these commands will not affect the internal attributes - of the body unless *reinit* is set to *yes*\ . With *reinit* set to *no* - (or using the *infile* option, which implies *reinit* *no*\ ) the position - and velocity of individual atoms in the body will be reset when time - integration starts again. + The aggregate properties of each rigid body are calculated at the + start of a simulation run and are maintained in internal data + structures. The properties include the position and velocity of the + center-of-mass of the body, its moments of inertia, and its angular + momentum. This is done using the properties of the constituent + atoms of the body at that point in time (or see the *infile* + keyword option). Thereafter, changing these properties of + individual atoms in the body will have no effect on a rigid body's + dynamics, unless they effect any computation of per-atom forces or + torques. If the keyword *reinit* is set to *yes* (the default), the + rigid body data structures will be recreated at the beginning of + each *run* command; if the keyword *reinit* is set to *no*, the + rigid body data structures will be built only at the very first + *run* command and maintained for as long as the rigid fix is + defined. For example, you might think you could displace the atoms + in a body or add a large velocity to each atom in a body to make it + move in a desired direction before a second run is performed, using + the :doc:`set ` or :doc:`displace_atoms ` or + :doc:`velocity ` commands. But these commands will not + affect the internal attributes of the body unless *reinit* is set + to *yes*\ . With *reinit* set to *no* (or using the *infile* + option, which implies *reinit* *no*\ ) the position and velocity of + individual atoms in the body will be reset when time integration + starts again. ---------- @@ -314,17 +321,17 @@ to be part of rigid bodies. .. note:: - To compute the initial center-of-mass position and other - properties of each rigid body, the image flags for each atom in the - body are used to "unwrap" the atom coordinates. Thus you must ensure - that these image flags are consistent so that the unwrapping creates a + To compute the initial center-of-mass position and other properties + of each rigid body, the image flags for each atom in the body are + used to "unwrap" the atom coordinates. Thus you must ensure that + these image flags are consistent so that the unwrapping creates a valid rigid body (one where the atoms are close together), - particularly if the atoms in a single rigid body straddle a periodic - boundary. This means the input data file or restart file must define - the image flags for each atom consistently or that you have used the - :doc:`set ` command to specify them correctly. If a dimension is - non-periodic then the image flag of each atom must be 0 in that - dimension, else an error is generated. + particularly if the atoms in a single rigid body straddle a + periodic boundary. This means the input data file or restart file + must define the image flags for each atom consistently or that you + have used the :doc:`set ` command to specify them correctly. + If a dimension is non-periodic then the image flag of each atom + must be 0 in that dimension, else an error is generated. The *force* and *torque* keywords discussed next are only allowed for the *rigid* styles. @@ -360,12 +367,13 @@ settings from the final keyword are used. .. note:: - For computational efficiency, you may wish to turn off pairwise - and bond interactions within each rigid body, as they no longer - contribute to the motion. The :doc:`neigh_modify exclude ` and :doc:`delete_bonds ` - commands are used to do this. If the rigid bodies have strongly - overlapping atoms, you may need to turn off these interactions to - avoid numerical problems due to large equal/opposite intra-body forces + For computational efficiency, you may wish to turn off pairwise and + bond interactions within each rigid body, as they no longer + contribute to the motion. The :doc:`neigh_modify exclude + ` and :doc:`delete_bonds ` commands are + used to do this. If the rigid bodies have strongly overlapping + atoms, you may need to turn off these interactions to avoid + numerical problems due to large equal/opposite intra-body forces swamping the contribution of small inter-body forces. For computational efficiency, you should typically define one fix @@ -377,7 +385,8 @@ is more expensive. The constituent particles within a rigid body can be point particles (the default in LAMMPS) or finite-size particles, such as spheres or -ellipsoids or line segments or triangles. See the :doc:`atom_style sphere and ellipsoid and line and tri ` commands for more +ellipsoids or line segments or triangles. See the :doc:`atom_style +sphere and ellipsoid and line and tri ` commands for more details on these kinds of particles. Finite-size particles contribute differently to the moment of inertia of a rigid body than do point particles. Finite-size particles can also experience torque (e.g. due @@ -387,7 +396,8 @@ orientation. These contributions are accounted for by these fixes. Forces between particles within a body do not contribute to the external force or torque on the body. Thus for computational efficiency, you may wish to turn off pairwise and bond interactions -between particles within each rigid body. The :doc:`neigh_modify exclude ` and :doc:`delete_bonds ` +between particles within each rigid body. The :doc:`neigh_modify +exclude ` and :doc:`delete_bonds ` commands are used to do this. For finite-size particles this also means the particles can be highly overlapped when creating the rigid body. @@ -399,16 +409,17 @@ perform constant NVE time integration. They are referred to below as the 4 NVE rigid styles. The only difference is that the *rigid* and *rigid/small* styles use an integration technique based on Richardson iterations. The *rigid/nve* and *rigid/small/nve* styles uses the -methods described in the paper by :ref:`Miller `, which are thought -to provide better energy conservation than an iterative approach. +methods described in the paper by :ref:`Miller `, which are +thought to provide better energy conservation than an iterative +approach. The *rigid/nvt* and *rigid/nvt/small* styles performs constant NVT integration using a Nose/Hoover thermostat with chains as described -originally in :ref:`(Hoover) ` and :ref:`(Martyna) `, which -thermostats both the translational and rotational degrees of freedom -of the rigid bodies. They are referred to below as the 2 NVT rigid -styles. The rigid-body algorithm used by *rigid/nvt* is described in -the paper by :ref:`Kamberaj `. +originally in :ref:`(Hoover) ` and :ref:`(Martyna) +`, which thermostats both the translational and rotational +degrees of freedom of the rigid bodies. They are referred to below as +the 2 NVT rigid styles. The rigid-body algorithm used by *rigid/nvt* +is described in the paper by :ref:`Kamberaj `. The *rigid/npt*, *rigid/nph*, *rigid/npt/small*, and *rigid/nph/small* styles perform constant NPT or NPH integration using a Nose/Hoover @@ -434,12 +445,12 @@ The target pressures for each of the 6 components of the stress tensor can be specified independently via the *x*, *y*, *z* keywords, which correspond to the 3 simulation box dimensions. For each component, the external pressure or tensor component at each timestep is a ramped -value during the run from *Pstart* to *Pstop*\ . If a target pressure is -specified for a component, then the corresponding box dimension will -change during a simulation. For example, if the *y* keyword is used, -the y-box length will change. A box dimension will not change if that -component is not specified, although you have the option to change -that dimension via the :doc:`fix deform ` command. +value during the run from *Pstart* to *Pstop*\ . If a target pressure +is specified for a component, then the corresponding box dimension +will change during a simulation. For example, if the *y* keyword is +used, the y-box length will change. A box dimension will not change +if that component is not specified, although you have the option to +change that dimension via the :doc:`fix deform ` command. For all barostat keywords, the *Pdamp* parameter operates like the *Tdamp* parameter, determining the time scale on which pressure is @@ -523,11 +534,11 @@ discussed below. The *langevin* keyword applies a Langevin thermostat to the constant NVE time integration performed by any of the 4 NVE rigid styles: -*rigid*, *rigid/nve*, *rigid/small*, *rigid/small/nve*\ . It cannot be -used with the 2 NVT rigid styles: *rigid/nvt*, *rigid/small/nvt*\ . The -desired temperature at each timestep is a ramped value during the run -from *Tstart* to *Tstop*\ . The *Tdamp* parameter is specified in time -units and determines how rapidly the temperature is relaxed. For +*rigid*, *rigid/nve*, *rigid/small*, *rigid/small/nve*\ . It cannot +be used with the 2 NVT rigid styles: *rigid/nvt*, *rigid/small/nvt*\ . +The desired temperature at each timestep is a ramped value during the +run from *Tstart* to *Tstop*\ . The *Tdamp* parameter is specified in +time units and determines how rapidly the temperature is relaxed. For example, a value of 100.0 means to relax the temperature in a timespan of (roughly) 100 time units (:math:`\tau` or fs or ps - see the :doc:`units ` command). The random # *seed* must be a positive @@ -562,29 +573,30 @@ used. *Tchain* is the number of thermostats in the Nose Hoover chain. This value, along with *Tdamp* can be varied to dampen undesirable oscillations in temperature that can occur in a simulation. As a rule of thumb, increasing the chain length should lead to smaller -oscillations. The keyword *pchain* specifies the number of -thermostats in the chain thermostatting the barostat degrees of -freedom. +oscillations. The keyword *pchain* specifies the number of thermostats +in the chain thermostatting the barostat degrees of freedom. .. note:: There are alternate ways to thermostat a system of rigid bodies. - You can use :doc:`fix langevin ` to treat the individual - particles in the rigid bodies as effectively immersed in an implicit - solvent, e.g. a Brownian dynamics model. For hybrid systems with both - rigid bodies and solvent particles, you can thermostat only the - solvent particles that surround one or more rigid bodies by - appropriate choice of groups in the compute and fix commands for - temperature and thermostatting. The solvent interactions with the - rigid bodies should then effectively thermostat the rigid body - temperature as well without use of the Langevin or Nose/Hoover options - associated with the fix rigid commands. + You can use :doc:`fix langevin ` to treat the + individual particles in the rigid bodies as effectively immersed in + an implicit solvent, e.g. a Brownian dynamics model. For hybrid + systems with both rigid bodies and solvent particles, you can + thermostat only the solvent particles that surround one or more + rigid bodies by appropriate choice of groups in the compute and fix + commands for temperature and thermostatting. The solvent + interactions with the rigid bodies should then effectively + thermostat the rigid body temperature as well without use of the + Langevin or Nose/Hoover options associated with the fix rigid + commands. ---------- The *mol* keyword can only be used with the *rigid/small* styles. It -must be used when other commands, such as :doc:`fix deposit ` or :doc:`fix pour `, add rigid -bodies on-the-fly during a simulation. You specify a *template-ID* +must be used when other commands, such as :doc:`fix deposit +` or :doc:`fix pour `, add rigid bodies +on-the-fly during a simulation. You specify a *template-ID* previously defined using the :doc:`molecule ` command, which reads a file that defines the molecule. You must use the same *template-ID* that the other fix which is adding rigid bodies uses. @@ -668,16 +680,16 @@ cross periodic boundaries during the simulation. .. note:: - If you use the *infile* or *mol* keywords and write restart - files during a simulation, then each time a restart file is written, - the fix also write an auxiliary restart file with the name - rfile.rigid, where "rfile" is the name of the restart file, + If you use the *infile* or *mol* keywords and write restart files + during a simulation, then each time a restart file is written, the + fix also write an auxiliary restart file with the name rfile.rigid, + where "rfile" is the name of the restart file, e.g. tmp.restart.10000 and tmp.restart.10000.rigid. This auxiliary - file is in the same format described above. Thus it can be used in a - new input script that restarts the run and re-specifies a rigid fix - using an *infile* keyword and the appropriate filename. Note that the - auxiliary file will contain one line for every rigid body, even if the - original file only listed a subset of the rigid bodies. + file is in the same format described above. Thus it can be used in + a new input script that restarts the run and re-specifies a rigid + fix using an *infile* keyword and the appropriate filename. Note + that the auxiliary file will contain one line for every rigid body, + even if the original file only listed a subset of the rigid bodies. If the system has rigid bodies with finite-size overlapping particles and the model uses the :doc:`fix gravity ` command to @@ -726,10 +738,11 @@ also accounted for by this fix. ---------- -If your simulation is a hybrid model with a mixture of rigid bodies and -non-rigid particles (e.g. solvent) there are several ways these rigid -fixes can be used in tandem with :doc:`fix nve `, :doc:`fix nvt -`, :doc:`fix npt `, and :doc:`fix nph `. +If your simulation is a hybrid model with a mixture of rigid bodies +and non-rigid particles (e.g. solvent) there are several ways these +rigid fixes can be used in tandem with :doc:`fix nve `, +:doc:`fix nvt `, :doc:`fix npt `, and :doc:`fix nph +`. If you wish to perform NVE dynamics (no thermostatting or barostatting), use one of 4 NVE rigid styles to integrate the rigid @@ -739,14 +752,14 @@ particles. If you wish to perform NVT dynamics (thermostatting, but no barostatting), you can use one of the 2 NVT rigid styles for the rigid bodies, and any thermostatting fix for the non-rigid particles -(:doc:`fix nvt `, :doc:`fix langevin `, :doc:`fix -temp/berendsen `). You can also use one of the 4 -NVE rigid styles for the rigid bodies and thermostat them using -:doc:`fix langevin ` on the group that contains all the -particles in the rigid bodies. The net force added by :doc:`fix -langevin ` to each rigid body effectively thermostats its -translational center-of-mass motion. Not sure how well it does at -thermostatting its rotational motion. +(:doc:`fix nvt `, :doc:`fix langevin `, +:doc:`fix temp/berendsen `). You can also use one +of the 4 NVE rigid styles for the rigid bodies and thermostat them +using :doc:`fix langevin ` on the group that contains +all the particles in the rigid bodies. The net force added by +:doc:`fix langevin ` to each rigid body effectively +thermostats its translational center-of-mass motion. Not sure how +well it does at thermostatting its rotational motion. If you wish to perform NPT or NPH dynamics (barostatting), you cannot use both :doc:`fix npt ` and the NPT or NPH rigid styles. This @@ -772,12 +785,12 @@ to the global pressure and the box is scaled the same by any of the barostatting fixes. You could even use the second and third options for a non-hybrid -simulation consisting of only rigid bodies, assuming you give :doc:`fix -npt ` an empty group, though it's an odd thing to do. The -barostatting fixes (:doc:`fix npt ` and :doc:`fix press/berensen -`) will monitor the pressure and change the box -dimensions, but not time integrate any particles. The integration of -the rigid bodies will be performed by fix rigid/nvt. +simulation consisting of only rigid bodies, assuming you give +:doc:`fix npt ` an empty group, though it's an odd thing to +do. The barostatting fixes (:doc:`fix npt ` and :doc:`fix +press/berensen `) will monitor the pressure and +change the box dimensions, but not time integrate any particles. The +integration of the rigid bodies will be performed by fix rigid/nvt. ---------- @@ -822,10 +835,10 @@ various :doc:`output commands `. The scalar value calculated by these fixes is "intensive". The scalar is the current temperature of the collection of rigid bodies. This is averaged over all rigid bodies and their translational and rotational degrees of -freedom. The translational energy of a rigid body is 1/2 m v\^2, where -m = total mass of the body and v = the velocity of its center of mass. -The rotational energy of a rigid body is 1/2 I w\^2, where I = the -moment of inertia tensor of the body and w = its angular velocity. +freedom. The translational energy of a rigid body is 1/2 m v\^2, +where m = total mass of the body and v = the velocity of its center of +mass. The rotational energy of a rigid body is 1/2 I w\^2, where I = +the moment of inertia tensor of the body and w = its angular velocity. Degrees of freedom constrained by the *force* and *torque* keywords are removed from this calculation, but only for the *rigid* and *rigid/nve* fixes. diff --git a/doc/src/read_data.rst b/doc/src/read_data.rst index 1d81acb51e..7dda35d7bb 100644 --- a/doc/src/read_data.rst +++ b/doc/src/read_data.rst @@ -63,11 +63,16 @@ Description Read in a data file containing information LAMMPS needs to run a simulation. The file can be ASCII text or a gzipped text file -(detected by a .gz suffix). This is one of 3 ways to specify initial -atom coordinates; see the :doc:`read_restart ` and -:doc:`create_atoms ` commands for alternative methods. -Also see the explanation of the :doc:`-restart command-line switch -` which can convert a restart file to a data file. +(detected by a .gz suffix). + +This is one of 3 ways to specify the simulation box: see the +:doc:`create_box ` and :doc:`read_restart ` +and commands for alternative methods. It is also one of 3 ways to +specify initial atom coordinates: see the :doc:`create_atoms +` and :doc:`read_restart ` and commands +for alternative methods. Also see the explanation of the +:doc:`-restart command-line switch ` which can convert a +restart file to a data file. This command can be used multiple times to add new atoms and their properties to an existing system by using the *add*, *offset*, and @@ -133,6 +138,17 @@ keyword must be used. will separate the atoms in the bond, which can lead to "lost" bond atoms or bad dynamics. +.. note:: + + If the first read_data command defined a restricted or general + triclinic simulation box (see the sub-section below on header + keywords), then subsequent data files have restrictions. For a + restricted triclinic box, the 3 tilt factors ("xy xz yz" keyword) + must have the same values in subsequent data files. For a general + triclinic box, the avec, bvec, cvec, and "abc origin" keywords must + have the same values in subsequent data files. Also the *shift* + keyword cannot be used in subsequent read_data commands. + The three choices for the *add* argument affect how the atom IDs and molecule IDs of atoms in the data file are treated. If *append* is specified, atoms in the data file are added to the current system, @@ -372,8 +388,8 @@ For a restricted triclinic box, the *xy xz yz* keyword is used in addition to the *xlo xhi*, *ylo yhi*, *zlo zhi* keywords. The three *xy,xz,yz* values can be 0.0 or positive or negative, and are called "tilt factors" because they are the amount of displacement applied to -faces of an orthogonal box to transform it into a restricted triclinic -parallelepiped. +edges of faces of an orthogonal box to transform it into a restricted +triclinic parallelepiped. The :doc:`Howto_triclinic ` doc page discusses the tilt factors in detail and explains that the resulting edge vectors of @@ -383,11 +399,11 @@ a restricted triclinic box are: * **B** = (xy,yhi-ylo,0) * **C** = (xz,yz,zhi-zlo) -This restricted form of edge vectors means that **A** is along the -x-axis, **B** is in the xy plane with a y-component in the +y -direction, and **C** has a z-component in the +z direction. The -origin (lower left corner) of the restricted triclinic box is at -(xlo,ylo,zlo). +This restricted form of edge vectors requires that **A** be in the +direction of the x-axis, **B** be in the xy plane with its y-component +in the +y direction, and **C** have its z-component in the +z +direction. The origin (lower left corner) of the restricted triclinic +box is at (xlo,ylo,zlo). For a 2d simulation, the zlo and zhi values must straddle zero. The default zlo/zhi values do this, so that keyword is not needed in 2d. @@ -433,16 +449,19 @@ origin* keywords are used. The *xlo xhi*, *ylo yhi*, *zlo zhi*, and *xy xz yz* keywords are not used. The first 3 keywords define the 3 edge vectors **A**, **B**, **C** of a general triclinic box. They can be arbitrary vectors so long as they are distinct, non-zero, and not -co-planar. There is no "right-hand rule" requirement that (**A** x -**B**) point in the direction of **C**. The origin of the box (origin -of the 3 edge vectors) is set by the *abc origin* keyword. +co-planar. They must also define a right-handed system requirement +such that (**A** x **B**) points in the direction of **C**. A +left-handed system can be converted to a right-handed system by simply +swapping the order of any pair of the **A**, **B**, **C** vectors. +The origin of the box (origin of the 3 edge vectors) is set by the +*abc origin* keyword. The default values for these 4 keywords are as follows: * avec = (1,0,0) * bvec = (0,1,0) * cvec = (0,0,1) -* *abc origin = (0,0,0) for 3d, (0,0,-0.5) for 2d +* abc origin = (0,0,0) for 3d, (0,0,-0.5) for 2d For 2d simulations, *cvec* = (0,0,1) is required, and the 3rd value of *abc origin* must be -0.5. These are the default values, so the @@ -452,18 +471,18 @@ For 2d simulations, *cvec* = (0,0,1) is required, and the 3rd value of LAMMPS allows specification of general triclinic simulation boxes as a convenience for users who may be converting data from - solid-state crystallograhic representations or ftom DFT codes for + solid-state crystallograhic representations or from DFT codes for input to LAMMPS. However, as explained on the - :doc:`Howto_triclinic ` doc page, internally + :doc:`Howto_triclinic ` doc page, internally, LAMMPS only uses restricted triclinic simulation boxes. This means the box and per-atom information (e.g. coordinates, velocities) in the data file are converted from general to restricted triclinic - form as soon as the file is read. This means other sections of the - data file must specify their per-atom data appropriately. This - requirement is explained below for the relevant sections. The - :doc:`Howto_triclinic ` doc page also discusses - other LAMMPS commands which can input/output general triclinic - representations of the simulation box and per-atom data. + form when the file is read. Other sections of the data file must + also list their per-atom data appropriately if vector quantities + are specified. This requirement is explained below for the relevant + sections. The :doc:`Howto_triclinic ` doc page + also discusses other LAMMPS commands which can input/output general + triclinic representations of the simulation box and per-atom data. The following explanations apply to all 3 kinds of simulation boxes: orthogonal, restricted triclinic, and general triclinic. @@ -509,24 +528,25 @@ needed, so that the image flag would be zero. .. note:: - If the system is non-periodic (in a dimension), then all atoms in the - data file must have coordinates (in that dimension) that are "greater - than or equal to" the lo value and "less than or equal to" the hi - value. If the non-periodic dimension is of style "fixed" (see the - :doc:`boundary ` command), then the atom coords must be - strictly "less than" the hi value, due to the way LAMMPS assign atoms - to processors. Note that you should not make the lo/hi values - radically smaller/larger than the extent of the atoms. For example, - if your atoms extend from 0 to 50, you should not specify the box - bounds as -10000 and 10000 unless you also use the :doc:`processors - command `. This is because LAMMPS uses the specified box - size to layout the 3d grid of processors. A huge (mostly empty) box - will be sub-optimal for performance when using "fixed" boundary - conditions (see the :doc:`boundary ` command). When using - "shrink-wrap" boundary conditions (see the :doc:`boundary ` - command), a huge (mostly empty) box may cause a parallel simulation - to lose atoms when LAMMPS shrink-wraps the box around the atoms. The - read_data command will generate an error in this case. + If the system is non-periodic (in a dimension), then all atoms in + the data file must have coordinates (in that dimension) that are + "greater than or equal to" the lo value and "less than or equal to" + the hi value. If the non-periodic dimension is of style "fixed" + (see the :doc:`boundary ` command), then the atom coords + must be strictly "less than" the hi value, due to the way LAMMPS + assign atoms to processors. Note that you should not make the + lo/hi values radically smaller/larger than the extent of the atoms. + For example, if atoms extend from 0 to 50, you should not specify + the box bounds as -10000 and 10000 unless you also use the + :doc:`processors command `. This is because LAMMPS + uses the specified box size to layout the 3d grid of processors. A + huge (mostly empty) box will be sub-optimal for performance when + using "fixed" boundary conditions (see the :doc:`boundary + ` command). When using "shrink-wrap" boundary conditions + (see the :doc:`boundary ` command), a huge (mostly empty) + box may cause a parallel simulation to lose atoms when LAMMPS + shrink-wraps the box around the atoms. The read_data command will + generate an error in this case. ---------- @@ -557,12 +577,12 @@ and :doc:`molecule ` doc pages for more discussion of .. note:: - All of the "extra" settings are only applied in the first data - file read and when no simulation box has yet been created; as soon as + All of the "extra" settings are only applied in the first data file + read and when no simulation box has yet been created; as soon as the simulation box is created (and read_data implies that), these settings are *locked* and cannot be changed anymore. Please see the - description of the *add* keyword above for reading multiple data files. - If they appear in later data files, they are ignored. + description of the *add* keyword above for reading multiple data + files. If they appear in later data files, they are ignored. The "ellipsoids" and "lines" and "triangles" and "bodies" settings are only used with :doc:`atom_style ellipsoid or line or tri or body @@ -575,14 +595,14 @@ below. See the discussion of bodyflag and the *Bodies* section below. .. note:: - For :doc:`atom_style template `, the molecular - topology (bonds,angles,etc) is contained in the molecule templates - read-in by the :doc:`molecule ` command. This means you - cannot set the *bonds*, *angles*, etc header keywords in the data - file, nor can you define *Bonds*, *Angles*, etc sections as discussed + For :doc:`atom_style template `, the molecular topology + (bonds,angles,etc) is contained in the molecule templates read-in + by the :doc:`molecule ` command. This means you cannot + set the *bonds*, *angles*, etc header keywords in the data file, + nor can you define *Bonds*, *Angles*, etc sections as discussed below. You can set the *bond types*, *angle types*, etc header - keywords, though it is not necessary. If specified, they must match - the maximum values defined in any of the template molecules. + keywords, though it is not necessary. If specified, they must + match the maximum values defined in any of the template molecules. ---------- @@ -780,13 +800,13 @@ of analysis. For orthogonal and restricted and general triclinic simulation boxes, the atom coordinates (x,y,z) listed in this section should be inside the corresponding simulation box. For restricted - triclinic boxes that means the parallelepiped defined by the by the - *xlo xhi*, *ylo yhi*, *zlo zhi*, and *xy xz yz*, keywords. For - general triclinic boxes that means the parallelepiped defined by - the 3 edge vectors and origin specified by the *avec*, *bvec*, - *cvec*, and *abc origin* header keywords. See the discussion in - the header section above about how atom coordinates outside the - simulation box are (or are not) remapped to be inside the box. + triclinic boxes that means the parallelepiped defined by the *xlo + xhi*, *ylo yhi*, *zlo zhi*, and *xy xz yz*, keywords. For general + triclinic boxes that means the parallelepiped defined by the 3 edge + vectors and origin specified by the *avec*, *bvec*, *cvec*, and + *abc origin* header keywords. See the discussion in the header + section above about how atom coordinates outside the simulation box + are (or are not) remapped to be inside the box. .. list-table:: @@ -865,13 +885,13 @@ The per-atom values have these meanings and units, listed alphabetically: * lineflag = 1 for line segment particles, 0 for point or spherical particles * mass = mass of particle (mass units) * molecule-ID = integer ID of molecule the atom belongs to -* mux,muy,muz = components of dipole moment of atom (dipole units) (see general triclinic comment below) +* mux,muy,muz = components of dipole moment of atom (dipole units) (see general triclinic note below) * normx,normy,normz = components of dielectric dipole moment of atom (dipole - units) (see general triclinic comment below) + units) (see general triclinic note below) * q = charge on atom (charge units) * rho = density (need units) for SPH particles * sp = magnitude of magnetic spin of atom (Bohr magnetons) -* spx,spy,spz = components of magnetic spin of atom (unit vector) (see general triclinic comment below) +* spx,spy,spz = components of magnetic spin of atom (unit vector) (see general triclinic note below) * template-atom = which atom within a template molecule the atom is * template-index = which molecule within the molecule template the atom is part of * theta = internal temperature of a DPD particle @@ -879,29 +899,31 @@ The per-atom values have these meanings and units, listed alphabetically: * volume = volume of Peridynamic particle (distance\^3 units) * x,y,z = coordinates of atom (distance units) * x0,y0,z0 = original (strain-free) coordinates of atom (distance - units) (see general triclinic comment below) + units) (see general triclinic note below) The units for these quantities depend on the unit style; see the :doc:`units ` command for details. -For 2d simulations, z must be specified as 0.0. If the data file is -created by another program, then z values for a 2d simulation can be -within epsilon of 0.0, and LAMMPS will force them to zero. +For 2d simulations, the atom coordinate z must be specified as 0.0. +If the data file is created by another program, then z values for a 2d +simulation can be within epsilon of 0.0, and LAMMPS will force them to +zero. -If the data file defines a general triclinic box, then the following -per-atom values in the list above are per-atom vectors: (mux,muy,muz), -(normx,normy,normz), (spx,spy,spz). They should be specified with -values for the rotated coordinate axes of the general triclinic box. -Likewise, (x0,y0,z0) are per-atom coordinates and should be values -inside the general triclinic box, the same as explained for (x,y,z) -above. See the :doc:`Howto triclinic ` doc page for -more details. +.. note:: -If the data file defines a general triclinic box, then each of the 3 -vectors (translational velocity, angular momentum, angule velocity) -sholld be specified for the rotated coordinate axes of the general -triclinic box. See the :doc:`Howto triclinic ` doc -page for more details. + If the data file defines a general triclinic box, then the + following per-atom values in the list above are per-atom vectors + which imply an orientation: (mux,muy,muz), (normx,normy,normz), + (spx,spy,spz). This menas they should be specified consistent with + the general triclinic box and its orientation relative to the + standard x,y,z coordinate axes. For example a dipole moment vector + which will be in the +x direction once LAMMPS converts from a + general to restricted triclinic box, should be specified in the + data file in the direction of the **A** edge vector. Likewise the + (x0,y0,z0) per-atom strain-free coordinates should be inside the + general triclinic simulation box as explained in the note above. + See the :doc:`Howto triclinic ` doc page for more + details. The atom-ID is used to identify the atom throughout the simulation and in dump files. Normally, it is a unique value from 1 to Natoms for @@ -1049,9 +1071,8 @@ that use unwrapped coordinates internally are as follows: Atom velocities and other atom quantities not defined above are set to 0.0 when the *Atoms* section is read. Velocities can be set later by -a *Velocities* section in the data file or by a -:doc:`velocity ` or :doc:`set ` command in the input -script. +a *Velocities* section in the data file or by a :doc:`velocity +` or :doc:`set ` command in the input script. ---------- @@ -1329,11 +1350,10 @@ LAMMPS normalizes each atom's quaternion in case (a,b,c) is not specified as a unit vector. If the data file defines a general triclinic box, then the quaternion -for each ellipsoid should be specified for its orientation in the -general triclinic system with respect to the standard xyz axes (not -the rotated coordinate axes of the general triclinic system). When -the general triclinic box is transformed to a restricted triclinic -box, the ellipsoid quaternions will be altered appropriately. +for each ellipsoid should be specified for its orientation relative to +the standard x,y,z coordinate axes. When the system is converted to a +restricted triclinic box, the ellipsoid quaternions will be altered +appropriately. The *Ellipsoids* section must appear after the *Atoms* section. @@ -1458,6 +1478,12 @@ the line segment with a unit vector in the +z direction, gives an I.e. normal = (c2-c1) x (0,0,1). This orientation may be important for defining some interactions. +If the data file defines a general triclinic box, then the quaternion +for each ellipsoid should be specified for its orientation relative to +the standard x,y,z coordinate axes. When the system is converted to a +restricted triclinic box, the ellipsoid quaternions will be altered +appropriately. + If the data file defines a general triclinic box, the (x1,y1) and (x2,y2) values should be within (or near) its parallelogram area, i.e. near the x,y coordinates of the line segment as defined in the From a651697d2e8477927c04eaf1db5ba0a5ef4b6f5c Mon Sep 17 00:00:00 2001 From: Ludwig Ahrens-Iwers Date: Mon, 13 Nov 2023 14:41:13 +0100 Subject: [PATCH 072/559] Mix eta in Electrode package --- doc/src/fix_electrode.rst | 7 ++ examples/PACKAGES/electrode/madelung/data.eta | 34 +++++ .../PACKAGES/electrode/madelung/data.eta_mix | 34 +++++ examples/PACKAGES/electrode/madelung/eval.py | 4 +- examples/PACKAGES/electrode/madelung/in.eta | 17 +++ .../PACKAGES/electrode/madelung/in.eta_cg | 17 +++ .../PACKAGES/electrode/madelung/in.eta_mix | 17 +++ .../PACKAGES/electrode/madelung/plate_cap.py | 117 +++++++++--------- .../electrode/madelung/settings_eta.mod | 19 +++ examples/PACKAGES/electrode/madelung/test.sh | 16 ++- src/ELECTRODE/electrode_matrix.cpp | 20 ++- src/ELECTRODE/electrode_matrix.h | 3 + src/ELECTRODE/electrode_vector.cpp | 35 ++++-- src/ELECTRODE/electrode_vector.h | 3 + src/ELECTRODE/fix_electrode_conp.cpp | 36 +++++- src/ELECTRODE/fix_electrode_conp.h | 2 + 16 files changed, 303 insertions(+), 78 deletions(-) create mode 100644 examples/PACKAGES/electrode/madelung/data.eta create mode 100644 examples/PACKAGES/electrode/madelung/data.eta_mix create mode 100644 examples/PACKAGES/electrode/madelung/in.eta create mode 100644 examples/PACKAGES/electrode/madelung/in.eta_cg create mode 100644 examples/PACKAGES/electrode/madelung/in.eta_mix create mode 100644 examples/PACKAGES/electrode/madelung/settings_eta.mod diff --git a/doc/src/fix_electrode.rst b/doc/src/fix_electrode.rst index 5685482a71..d807da7fd2 100644 --- a/doc/src/fix_electrode.rst +++ b/doc/src/fix_electrode.rst @@ -70,6 +70,8 @@ Syntax filename = file from which to read inverted matrix *qtotal* value = number or *v_* equal-style variable add overall potential so that all electrode charges add up to *qtotal* + *eta* value = d_propname + d_propname = a custom double vector defined via fix property/atom Examples """""""" @@ -264,6 +266,11 @@ individual electrodes, and since *symm on* constrains the total charge of all electrodes to be zero, either option is incompatible with the *qtotal* keyword (even if *qtotal* is set to zero). +The keyword *eta* takes the name of a custom double vector defined via fix +property/atom. The values will be used instead of the standard eta value. The +property/atom fix must be for vector of double values and use the *ghost on* +option. + Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" diff --git a/examples/PACKAGES/electrode/madelung/data.eta b/examples/PACKAGES/electrode/madelung/data.eta new file mode 100644 index 0000000000..b05700a4ab --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/data.eta @@ -0,0 +1,34 @@ +LAMMPS data file via write_data, version 24 Dec 2020, timestep = 0 + +4 atoms +3 atom types + +0 1 xlo xhi +0 1 ylo yhi +-10 10 zlo zhi + +Masses + +1 196.966553 +2 196.966553 +3 1.0 + +Pair Coeffs # lj/cut/coul/long + +1 0 0 +2 0 0 +3 0 0 + +Atoms # full + +1 1 1 0.00 0.00 0.00 -2.00 # bottom electrode +2 2 2 0.00 0.00 0.00 2.00 # top electrode +3 3 3 0.50 0.00 0.00 -1.00 # bottom electrolyte +4 3 3 -0.50 0.00 0.00 1.00 # top electrolyte + +ETA + +1 2.0 +2 2.0 +3 0 +4 0 diff --git a/examples/PACKAGES/electrode/madelung/data.eta_mix b/examples/PACKAGES/electrode/madelung/data.eta_mix new file mode 100644 index 0000000000..9322ebd662 --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/data.eta_mix @@ -0,0 +1,34 @@ +LAMMPS data file via write_data, version 24 Dec 2020, timestep = 0 + +4 atoms +3 atom types + +0 1 xlo xhi +0 1 ylo yhi +-10 10 zlo zhi + +Masses + +1 196.966553 +2 196.966553 +3 1.0 + +Pair Coeffs # lj/cut/coul/long + +1 0 0 +2 0 0 +3 0 0 + +Atoms # full + +1 1 1 0.00 0.00 0.00 -2.00 # bottom electrode +2 2 2 0.00 0.00 0.00 2.00 # top electrode +3 3 3 0.50 0.00 0.00 -1.00 # bottom electrolyte +4 3 3 -0.50 0.00 0.00 1.00 # top electrolyte + +ETA + +1 0.5 +2 3.0 +3 0 +4 0 diff --git a/examples/PACKAGES/electrode/madelung/eval.py b/examples/PACKAGES/electrode/madelung/eval.py index 2f5a355d9b..feda0e384e 100644 --- a/examples/PACKAGES/electrode/madelung/eval.py +++ b/examples/PACKAGES/electrode/madelung/eval.py @@ -1,7 +1,7 @@ #!/usr/env/python3 -import sys import os.path as op +import sys def rel_error(out, ref): @@ -49,5 +49,5 @@ for label, ref, out in out_lines: error = rel_error(out, ref) lines.append(f"{label}: {out:.5f}, {error:.5f}\n") -with open("madelung.txt", 'a') as f: +with open("madelung.txt", "a") as f: f.writelines(lines) diff --git a/examples/PACKAGES/electrode/madelung/in.eta b/examples/PACKAGES/electrode/madelung/in.eta new file mode 100644 index 0000000000..d928f8fed0 --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/in.eta @@ -0,0 +1,17 @@ +atom_style full +units real +boundary p p f + +kspace_style ewald/electrode 1.0e-8 +kspace_modify slab 8.0 # ew3dc +pair_style lj/cut/coul/long 12 + +fix feta all property/atom d_eta ghost yes +read_data data.eta fix feta NULL ETA + +include "settings_eta.mod" + +fix conp bot electrode/conp 0 2 couple top 1 symm on eta d_eta write_inv inv.csv write_vec vec.csv + +run 0 + diff --git a/examples/PACKAGES/electrode/madelung/in.eta_cg b/examples/PACKAGES/electrode/madelung/in.eta_cg new file mode 100644 index 0000000000..e04db318d5 --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/in.eta_cg @@ -0,0 +1,17 @@ +atom_style full +units real +boundary p p f + +kspace_style ewald/electrode 1.0e-8 +kspace_modify slab 8.0 # ew3dc +pair_style lj/cut/coul/long 12 + +fix feta all property/atom d_eta ghost yes +read_data data.eta_mix fix feta NULL ETA + +include "settings_eta.mod" + +fix conp bot electrode/conp 0 2 couple top 1 symm on algo cg 1e-6 eta d_eta + +run 0 + diff --git a/examples/PACKAGES/electrode/madelung/in.eta_mix b/examples/PACKAGES/electrode/madelung/in.eta_mix new file mode 100644 index 0000000000..d4bcf71225 --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/in.eta_mix @@ -0,0 +1,17 @@ +atom_style full +units real +boundary p p f + +kspace_style ewald/electrode 1.0e-8 +kspace_modify slab 8.0 # ew3dc +pair_style lj/cut/coul/long 12 + +fix feta all property/atom d_eta ghost on +read_data data.eta_mix fix feta NULL ETA + +include "settings_eta.mod" + +fix conp bot electrode/conp 0 2 couple top 1 symm on eta d_eta write_inv inv.csv write_vec vec.csv + +run 0 + diff --git a/examples/PACKAGES/electrode/madelung/plate_cap.py b/examples/PACKAGES/electrode/madelung/plate_cap.py index 62d52fe102..fcca166869 100755 --- a/examples/PACKAGES/electrode/madelung/plate_cap.py +++ b/examples/PACKAGES/electrode/madelung/plate_cap.py @@ -3,7 +3,6 @@ import numpy as np from scipy.special import erf -ETA = 2 SQRT2 = np.sqrt(2) COULOMB = 332.06371 # Coulomb constant in Lammps 'real' units QE2F = 23.060549 @@ -17,14 +16,14 @@ def lattice(length): return np.array(np.meshgrid(x, y)).T.reshape(-1, 2) -def a_element(r): +def a_element(r, eta): """Coulomb contribution of two Gaussians""" - return erf(ETA / SQRT2 * r) / r + return erf(eta * r) / r -def b_element(r, q): +def b_element(r, q, eta): """Coulomb contribution of a Gaussian with a point charge""" - return q * erf(ETA * r) / r + return q * erf(eta * r) / r a = 1 # nearest neighbor distance i.e. lattice constant / sqrt(2) @@ -36,59 +35,65 @@ v = np.array([-0.5, 0.5]) * (QE2F / COULOMB) # distances to images within electrode and to opposite electrode distances = a * np.linalg.norm(lattice(LENGTH), axis=1) -opposite_distances = np.sqrt(np.square(distances) + distance_plates ** 2) +opposite_distances = np.sqrt(np.square(distances) + distance_plates**2) -# self interaction and within original box -A_11 = np.sqrt(2 / np.pi) * ETA -A_12 = erf(ETA * distance_plates / SQRT2) / distance_plates +for name, eta_elec in [("", [2.0, 2.0]), ("_eta_mix", [0.5, 3.0])]: + eta_mix = np.prod(eta_elec) / np.sqrt(np.sum(np.square(eta_elec))) + # self interaction and within original box + A_11 = np.sqrt(2 / np.pi) * eta_elec[0] + A_22 = np.sqrt(2 / np.pi) * eta_elec[1] + A_12 = erf(eta_mix * distance_plates) / distance_plates -# interaction with periodic images -A_11 += 4 * np.sum(a_element(distances)) -A_12 += 4 * np.sum(a_element(opposite_distances)) -A = np.array([[A_11, A_12], [A_12, A_11]]) -inv = np.linalg.inv(A) -e = np.array([1, 1]) -inv -= np.matmul(inv, np.matmul(np.outer(e, e), inv)) / np.dot(e, np.dot(inv, e)) + # interaction with periodic images + A_11 += 4 * np.sum(a_element(distances, eta_elec[0] / SQRT2)) + A_22 += 4 * np.sum(a_element(distances, eta_elec[1] / SQRT2)) + A_12 += 4 * np.sum(a_element(opposite_distances, eta_mix)) + A = np.array([[A_11, A_12], [A_12, A_22]]) + inv = np.linalg.inv(A) + e = np.array([1, 1]) + inv -= np.matmul(inv, np.matmul(np.outer(e, e), inv)) / np.dot(e, np.dot(inv, e)) -# electrode-electrolyte interaction -b = [] -for x in x_elec: - bi = 0 - for y, q in zip(x_elyt, q_elyt): - d = abs(y - x) - bi += b_element(d, q) - image_distances = np.sqrt(np.square(distances) + d ** 2) - bi += 4 * np.sum(b_element(image_distances, q)) - b.append(bi) -b = np.array(b) + # electrode-electrolyte interaction + b = [] + for x, eta in zip(x_elec, eta_elec): + bi = 0 + for y, q in zip(x_elyt, q_elyt): + d = abs(y - x) + bi += b_element(d, q, eta) + image_distances = np.sqrt(np.square(distances) + d**2) + bi += 4 * np.sum(b_element(image_distances, q, eta)) + b.append(bi) + b = np.array(b) -# electrolyte-electrolyte energy -elyt_11 = 4 * np.sum(1 / distances) -distance_elyt = x_elyt[1] - x_elyt[0] -elyt_12 = 1 / distance_elyt + 4 * np.sum( - 1 / np.sqrt(np.square(distances) + distance_elyt ** 2) -) -elyt = np.array([[elyt_11, elyt_12], [elyt_12, elyt_11]]) -energy_elyt = 0.5 * np.dot(q_elyt, np.dot(elyt, q_elyt)) - -# electrode charges and energy -q = np.dot(inv, v - b) -energy = COULOMB * (0.5 * np.dot(q, np.dot(A, q)) + np.dot(b, q) + energy_elyt) - -print( - "length, energy / kcal/mol, q1 / e, q2 / e, inv11 / A, inv12 / A, b1 / e/A, b2 / e/A" -) -print( - ", ".join( - [ - str(LENGTH), - f"{energy:.8f}", - f"{q[0]:.10f}", - f"{q[1]:.10f}", - f"{inv[0, 0]:.10f}", - f"{inv[0, 1]:.10f}", - f"{b[0]:.8f}", - f"{b[1]:.8f}", - ] + # electrolyte-electrolyte energy + elyt_11 = 4 * np.sum(1 / distances) + distance_elyt = x_elyt[1] - x_elyt[0] + elyt_12 = 1 / distance_elyt + 4 * np.sum( + 1 / np.sqrt(np.square(distances) + distance_elyt**2) ) -) + elyt = np.array([[elyt_11, elyt_12], [elyt_12, elyt_11]]) + energy_elyt = 0.5 * np.dot(q_elyt, np.dot(elyt, q_elyt)) + + # electrode charges and energy + q = np.dot(inv, v - b) + energy = COULOMB * (0.5 * np.dot(q, np.dot(A, q)) + np.dot(b, q) + energy_elyt) + + with open(f"plate_cap{name}.csv", "w") as f: + f.write( + "length, energy / kcal/mol, q1 / e, q2 / e, inv11 / A, inv12 / A, b1 / e/A, b2 / e/A\n" + ) + f.write( + ", ".join( + [ + str(LENGTH), + f"{energy:.8f}", + f"{q[0]:.10f}", + f"{q[1]:.10f}", + f"{inv[0, 0]:.10f}", + f"{inv[0, 1]:.10f}", + f"{b[0]:.8f}", + f"{b[1]:.8f}", + ] + ) + + "\n" + ) diff --git a/examples/PACKAGES/electrode/madelung/settings_eta.mod b/examples/PACKAGES/electrode/madelung/settings_eta.mod new file mode 100644 index 0000000000..aee63bf2e9 --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/settings_eta.mod @@ -0,0 +1,19 @@ + +# distribute electrode atoms among all processors: +if "$(extract_setting(world_size) % 2) == 0" then "processors * * 2" + +group bot type 1 +group top type 2 + +# get electrode charges +variable q atom q +compute qbot bot reduce sum v_q +compute qtop top reduce sum v_q + +compute compute_pe all pe +variable vpe equal c_compute_pe +variable charge equal c_qtop +fix fxprint all print 1 "${vpe}, ${charge}" file "out.csv" + +thermo_style custom step pe c_qbot c_qtop + diff --git a/examples/PACKAGES/electrode/madelung/test.sh b/examples/PACKAGES/electrode/madelung/test.sh index edac04f5b1..a558ee6711 100644 --- a/examples/PACKAGES/electrode/madelung/test.sh +++ b/examples/PACKAGES/electrode/madelung/test.sh @@ -7,17 +7,27 @@ if [ ! -f $lmpbin ]; then fi ref_out="plate_cap.csv" -if [ ! -f $ref_out ]; then +ref_mix_out="plate_cap_eta_mix.csv" +if [ ! -f $ref_out ] || [ ! -f $ref_mix_out ]; then echo "Generating reference data" - python3 plate_cap.py > $ref_out + python3 plate_cap.py fi echo "Running Lammps inputs" +# w/o eta mixing rm -rf madelung.txt && touch madelung.txt -for file in in.*; do +for file in in.eta in.ewald-ew3dc in.ewald-ew2d in.pppm-ew3dc in.cg; do printf "\n$file\n" >> madelung.txt rm -f out.csv inv.csv vec.csv $lmpbin -i $file &> /dev/null python3 eval.py $ref_out out.csv inv.csv vec.csv done + +# with eta mixing +for file in in.eta_mix in.eta_cg; do + printf "\n$file\n" >> madelung.txt + rm -f out.csv inv.csv vec.csv + $lmpbin -i $file &> /dev/null + python3 eval.py $ref_mix_out out.csv inv.csv vec.csv +done cat madelung.txt diff --git a/src/ELECTRODE/electrode_matrix.cpp b/src/ELECTRODE/electrode_matrix.cpp index 7be9119c62..d917fb1f97 100644 --- a/src/ELECTRODE/electrode_matrix.cpp +++ b/src/ELECTRODE/electrode_matrix.cpp @@ -43,6 +43,7 @@ ElectrodeMatrix::ElectrodeMatrix(LAMMPS *lmp, int electrode_group, double eta) : groupbit = group->bitmask[igroup]; ngroup = group->count(igroup); this->eta = eta; + etaflag = false; tfflag = false; } @@ -72,6 +73,14 @@ void ElectrodeMatrix::setup_tf(const std::map &tf_types) /* ---------------------------------------------------------------------- */ +void ElectrodeMatrix::setup_eta(int index) +{ + etaflag = true; + eta_index = index; +} + +/* ---------------------------------------------------------------------- */ + void ElectrodeMatrix::compute_array(double **array, bool timer_flag) { // setting all entries of coulomb matrix to zero @@ -115,8 +124,6 @@ void ElectrodeMatrix::pair_contribution(double **array) int nlocal = atom->nlocal; int newton_pair = force->newton_pair; - double const etaij = eta * eta / sqrt(2.0 * eta * eta); // see mw ewald theory eq. (29)-(30) - // neighbor list will be ready because called from post_neighbor inum = list->inum; ilist = list->ilist; @@ -135,6 +142,7 @@ void ElectrodeMatrix::pair_contribution(double **array) xtmp = x[i][0]; ytmp = x[i][1]; ztmp = x[i][2]; + double const eta_i = etaflag ? atom->dvector[eta_index][i] : eta; itype = type[i]; jlist = firstneigh[i]; jnum = numneigh[i]; @@ -152,6 +160,9 @@ void ElectrodeMatrix::pair_contribution(double **array) jtype = type[j]; if (rsq < cutsq[itype][jtype]) { + double const eta_j = etaflag ? atom->dvector[eta_index][j] : eta; + double const etaij = eta_i * eta_j / sqrt(eta_i * eta_i + eta_j * eta_j); + r = sqrt(rsq); rinv = 1.0 / r; aij = rinv; @@ -178,7 +189,10 @@ void ElectrodeMatrix::self_contribution(double **array) const double preta = MY_SQRT2 / MY_PIS; for (int i = 0; i < nlocal; i++) - if (mask[i] & groupbit) { array[mpos[i]][mpos[i]] += preta * eta - selfint; } + if (mask[i] & groupbit) { + double const eta_i = etaflag ? atom->dvector[eta_index][i] : eta; + array[mpos[i]][mpos[i]] += preta * eta_i - selfint; + } } /* ---------------------------------------------------------------------- */ diff --git a/src/ELECTRODE/electrode_matrix.h b/src/ELECTRODE/electrode_matrix.h index 8499cfdb34..1c64d8a4c4 100644 --- a/src/ELECTRODE/electrode_matrix.h +++ b/src/ELECTRODE/electrode_matrix.h @@ -30,6 +30,7 @@ class ElectrodeMatrix : protected Pointers { ElectrodeMatrix(class LAMMPS *, int, double); void setup(const std::unordered_map &, class Pair *, class NeighList *); void setup_tf(const std::map &); + void setup_eta(int); void compute_array(double **, bool); int igroup; @@ -39,6 +40,8 @@ class ElectrodeMatrix : protected Pointers { double **cutsq; double g_ewald, eta; bool tfflag; + bool etaflag; + int eta_index; std::map tf_types; std::unordered_map tag_to_iele; bool assigned; diff --git a/src/ELECTRODE/electrode_vector.cpp b/src/ELECTRODE/electrode_vector.cpp index 245ba57727..a2eaf784c5 100644 --- a/src/ELECTRODE/electrode_vector.cpp +++ b/src/ELECTRODE/electrode_vector.cpp @@ -29,6 +29,7 @@ #include "neigh_list.h" #include "pair.h" +#include #include #include @@ -47,6 +48,7 @@ ElectrodeVector::ElectrodeVector(LAMMPS *lmp, int sensor_group, int source_group source_grpbit = group->bitmask[source_group]; this->eta = eta; tfflag = false; + etaflag = false; kspace_time_total = 0; pair_time_total = 0; @@ -93,6 +95,14 @@ void ElectrodeVector::setup_tf(const std::map &tf_types) /* ---------------------------------------------------------------------- */ +void ElectrodeVector::setup_eta(int index) +{ + etaflag = true; + eta_index = index; +} + +/* ---------------------------------------------------------------------- */ + void ElectrodeVector::compute_vector(double *vector) { MPI_Barrier(world); @@ -121,7 +131,6 @@ void ElectrodeVector::compute_vector(double *vector) void ElectrodeVector::pair_contribution(double *vector) { - double const etaij = eta * MY_ISQRT2; double **x = atom->x; double *q = atom->q; int *type = atom->type; @@ -142,6 +151,7 @@ void ElectrodeVector::pair_contribution(double *vector) double const xtmp = x[i][0]; double const ytmp = x[i][1]; double const ztmp = x[i][2]; + double const eta_i = etaflag ? atom->dvector[eta_index][i] : eta; int itype = type[i]; int *jlist = firstneigh[i]; int jnum = numneigh[i]; @@ -158,18 +168,22 @@ void ElectrodeVector::pair_contribution(double *vector) double const rsq = delx * delx + dely * dely + delz * delz; int jtype = type[j]; if (rsq >= cutsq[itype][jtype]) continue; + double const eta_j = etaflag ? atom->dvector[eta_index][j] : eta; + double etaij; + if (i_in_sensor && j_in_sensor) + etaij = eta_i * eta_j / sqrt(eta_i * eta_i + eta_j * eta_j); + else if (i_in_sensor) + etaij = eta_i; + else { + assert(j_in_sensor); + etaij = eta_j; + } double const r = sqrt(rsq); double const rinv = 1.0 / r; double aij = rinv; aij *= ElectrodeMath::safe_erfc(g_ewald * r); - if (invert_source) - aij -= ElectrodeMath::safe_erfc(eta * r) * rinv; - else - aij -= ElectrodeMath::safe_erfc(etaij * r) * rinv; - if (i_in_sensor) { - vector[i] += aij * q[j]; - //} else if (j_in_sensor) { - } + aij -= ElectrodeMath::safe_erfc(etaij * r) * rinv; + if (i_in_sensor) { vector[i] += aij * q[j]; } if (j_in_sensor && (!invert_source || !i_in_sensor)) { vector[j] += aij * q[i]; } } } @@ -189,9 +203,10 @@ void ElectrodeVector::self_contribution(double *vector) for (int ii = 0; ii < inum; ii++) { int const i = ilist[ii]; + double const eta_i = etaflag ? atom->dvector[eta_index][i] : eta; bool const i_in_sensor = (mask[i] & groupbit); bool const i_in_source = !!(mask[i] & source_grpbit) != invert_source; - if (i_in_sensor && i_in_source) vector[i] += (preta * eta - selfint) * q[i]; + if (i_in_sensor && i_in_source) vector[i] += (preta * eta_i - selfint) * q[i]; } } diff --git a/src/ELECTRODE/electrode_vector.h b/src/ELECTRODE/electrode_vector.h index e7f637dd2d..a4f274a049 100644 --- a/src/ELECTRODE/electrode_vector.h +++ b/src/ELECTRODE/electrode_vector.h @@ -29,6 +29,7 @@ class ElectrodeVector : protected Pointers { ~ElectrodeVector() override; void setup(class Pair *, class NeighList *, bool); void setup_tf(const std::map &); + void setup_eta(int); void compute_vector(double *); int igroup, source_group; @@ -39,6 +40,8 @@ class ElectrodeVector : protected Pointers { double **cutsq; double g_ewald, eta; bool tfflag; + bool etaflag; + int eta_index; std::map tf_types; class Pair *pair; class NeighList *list; diff --git a/src/ELECTRODE/fix_electrode_conp.cpp b/src/ELECTRODE/fix_electrode_conp.cpp index 13866cd394..a87642182b 100644 --- a/src/ELECTRODE/fix_electrode_conp.cpp +++ b/src/ELECTRODE/fix_electrode_conp.cpp @@ -97,6 +97,7 @@ FixElectrodeConp::FixElectrodeConp(LAMMPS *lmp, int narg, char **arg) : top_group = 0; intelflag = false; tfflag = false; + etaflag = false; timer_flag = false; update_time = 0; @@ -211,6 +212,19 @@ FixElectrodeConp::FixElectrodeConp(LAMMPS *lmp, int narg, char **arg) : qtotal = utils::numeric(FLERR, arg[iarg], false, lmp); qtotal_var_style = VarStyle::CONST; } + } else if ((strcmp(arg[iarg], "eta") == 0)) { + if (iarg + 2 > narg) error->all(FLERR, "Need two arguments after eta command"); + etaflag = true; + int is_double, cols; + eta_index = atom->find_custom(arg[++iarg] + 2, is_double, cols); + if (eta_index == -1) + error->all(FLERR, "eta keyword requires name of previously defined property"); + if (!is_double) error->all(FLERR, "eta keyword requires double-valued property/atom vector"); + if (cols != 0) error->all(FLERR, "eta keyword requires property/atom vector not an array"); + if (!atom->nextra_border) + error->all(FLERR, + "There is no fix with ghost on, but the eta keyword requires a property/atom " + "fix with ghost on"); // toggle parameters } else if ((strcmp(arg[iarg], "etypes") == 0)) { etypes_neighlists = utils::logical(FLERR, arg[++iarg], false, lmp); @@ -520,8 +534,10 @@ void FixElectrodeConp::setup_post_neighbor() evscale = force->qe2f / force->qqrd2e; elyt_vector->setup(pair, vec_neighlist, timer_flag); + if (etaflag) elyt_vector->setup_eta(eta_index); if (need_elec_vector) { elec_vector->setup(pair, mat_neighlist, timer_flag); + if (etaflag) elec_vector->setup_eta(eta_index); if (tfflag) elec_vector->setup_tf(tf_types); } @@ -556,7 +572,8 @@ void FixElectrodeConp::setup_post_neighbor() if (etypes_neighlists) neighbor->build_one(mat_neighlist, 0); auto array_compute = std::unique_ptr(new ElectrodeMatrix(lmp, igroup, eta)); array_compute->setup(tag_to_iele, pair, mat_neighlist); - if (tfflag) { array_compute->setup_tf(tf_types); } + if (etaflag) array_compute->setup_eta(eta_index); + if (tfflag) array_compute->setup_tf(tf_types); array_compute->compute_array(elastance, timer_flag); } // write_mat before proceeding if (comm->me == 0 && write_mat) { @@ -1186,7 +1203,7 @@ double FixElectrodeConp::self_energy(int eflag) // corrections to energy due to self interaction double const qqrd2e = force->qqrd2e; int const nlocal = atom->nlocal; - double const pre = eta / sqrt(MY_2PI) * qqrd2e; + double const pre = 1. / sqrt(MY_2PI) * qqrd2e; int *mask = atom->mask; int *type = atom->type; double *q = atom->q; @@ -1194,7 +1211,8 @@ double FixElectrodeConp::self_energy(int eflag) for (int i = 0; i < nlocal; i++) { if (groupbit & mask[i]) { double const q2 = q[i] * q[i]; - double e = pre * q2; + double ieta = etaflag ? atom->dvector[eta_index][i] : eta; + double e = ieta * pre * q2; if (tfflag && (groupbit & mask[i])) e += 0.5 * qqrd2e * q2 * tf_types[type[i]]; energy += e; if (eflag) { @@ -1234,6 +1252,7 @@ double FixElectrodeConp::gausscorr(int eflag, bool fflag) double xtmp = x[i][0]; double ytmp = x[i][1]; double ztmp = x[i][2]; + double const eta_i = etaflag ? atom->dvector[eta_index][i] : eta; int itype = type[i]; int *jlist = firstneigh[i]; int jnum = numneigh[i]; @@ -1242,7 +1261,6 @@ double FixElectrodeConp::gausscorr(int eflag, bool fflag) int const j = jlist[jj] & NEIGHMASK; bool j_in_ele = groupbit & mask[j]; if (!(i_in_ele || j_in_ele)) continue; - double eta_ij = (i_in_ele && j_in_ele) ? eta / MY_SQRT2 : eta; double delx = xtmp - x[j][0]; double dely = ytmp - x[j][1]; @@ -1251,6 +1269,16 @@ double FixElectrodeConp::gausscorr(int eflag, bool fflag) int jtype = type[j]; if (rsq < force->pair->cutsq[itype][jtype]) { + double const eta_j = etaflag ? atom->dvector[eta_index][j] : eta; + double eta_ij; + if (i_in_ele && j_in_ele) + eta_ij = eta_i * eta_j / sqrt(eta_i * eta_i + eta_j * eta_j); + else if (i_in_ele) + eta_ij = eta_i; + else { + assert(j_in_ele); + eta_ij = eta_j; + } double r2inv = 1.0 / rsq; double r = sqrt(rsq); double erfc_etar = 0.; diff --git a/src/ELECTRODE/fix_electrode_conp.h b/src/ELECTRODE/fix_electrode_conp.h index 689a44053c..fa972c0acc 100644 --- a/src/ELECTRODE/fix_electrode_conp.h +++ b/src/ELECTRODE/fix_electrode_conp.h @@ -138,6 +138,8 @@ class FixElectrodeConp : public Fix { int get_top_group(); // used by ffield int top_group; // used by ffield bool tfflag; + int eta_index; // index of atom property for eta + bool etaflag; // eta specified as atom property bool timer_flag; std::map tf_types; // cg From 4da49c6d85673952c4a7f58916607bbcb2590142 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 13 Nov 2023 15:22:17 -0700 Subject: [PATCH 073/559] more updates to doc page and read_data functionality --- doc/src/Howto_body.rst | 4 +- doc/src/read_data.rst | 60 ++++++++++++++------------ src/DIELECTRIC/atom_vec_dielectric.cpp | 12 +++--- src/DIPOLE/atom_vec_dipole.cpp | 12 +++--- src/MACHDYN/atom_vec_smd.cpp | 2 +- src/SPIN/atom_vec_spin.cpp | 12 +++--- src/atom_vec_line.cpp | 19 ++++++-- src/atom_vec_line.h | 1 - src/atom_vec_tri.cpp | 12 ++++-- src/atom_vec_tri.h | 2 - src/domain.cpp | 2 +- src/write_data.cpp | 11 +++-- 12 files changed, 89 insertions(+), 60 deletions(-) diff --git a/doc/src/Howto_body.rst b/doc/src/Howto_body.rst index 88fa2d9c97..15d6aee845 100644 --- a/doc/src/Howto_body.rst +++ b/doc/src/Howto_body.rst @@ -102,8 +102,8 @@ particles of different styles | :doc:`dump image ` | output body particle attributes as an image | +------------------------------------------------+-----------------------------------------------------+ -The pair styles defined for use with specific body styles are listed -in the sections below. +The pair styles currently defined for use with specific body styles +are listed in the sections below. ---------- diff --git a/doc/src/read_data.rst b/doc/src/read_data.rst index 7dda35d7bb..d26d0ab577 100644 --- a/doc/src/read_data.rst +++ b/doc/src/read_data.rst @@ -914,7 +914,7 @@ zero. If the data file defines a general triclinic box, then the following per-atom values in the list above are per-atom vectors which imply an orientation: (mux,muy,muz), (normx,normy,normz), - (spx,spy,spz). This menas they should be specified consistent with + (spx,spy,spz). This means they should be specified consistent with the general triclinic box and its orientation relative to the standard x,y,z coordinate axes. For example a dipole moment vector which will be in the +x direction once LAMMPS converts from a @@ -1352,8 +1352,8 @@ specified as a unit vector. If the data file defines a general triclinic box, then the quaternion for each ellipsoid should be specified for its orientation relative to the standard x,y,z coordinate axes. When the system is converted to a -restricted triclinic box, the ellipsoid quaternions will be altered -appropriately. +restricted triclinic box, the ellipsoid quaternions will be altered to +reflect the new orientation of the ellipsoid. The *Ellipsoids* section must appear after the *Atoms* section. @@ -1471,24 +1471,23 @@ is used and any atoms are listed in the *Atoms* section with a lineflag = 1. The number of lines should be specified in the header section via the "lines" keyword. -The 2 end points are the end points of the line segment. The ordering -of the 2 points should be such that using a right-hand rule to cross -the line segment with a unit vector in the +z direction, gives an -"outward" normal vector perpendicular to the line segment. +The 2 end points are the end points of the line segment. They should +be values close to the center point of the line segment specified in +the Atoms section of the data file, even if individual end points are +outside the simulation box. + +The ordering of the 2 points should be such that using a right-hand +rule to cross the line segment with a unit vector in the +z direction, +gives an "outward" normal vector perpendicular to the line segment. I.e. normal = (c2-c1) x (0,0,1). This orientation may be important for defining some interactions. -If the data file defines a general triclinic box, then the quaternion -for each ellipsoid should be specified for its orientation relative to -the standard x,y,z coordinate axes. When the system is converted to a -restricted triclinic box, the ellipsoid quaternions will be altered -appropriately. - -If the data file defines a general triclinic box, the (x1,y1) and -(x2,y2) values should be within (or near) its parallelogram area, -i.e. near the x,y coordinates of the line segment as defined in the -Atoms section. See the :doc:`Howto triclinic ` doc -page for more details. +If the data file defines a general triclinic box, then the x1,y1 and +x2,y2 values for each line segment should be specified for its +orientation relative to the standard x,y,z coordinate axes. When the +system is converted to a restricted triclinic box, the x1,y1,x2,y2 +values will be altered to reflect the new orientation of the line +segment. The *Lines* section must appear after the *Atoms* section. @@ -1616,17 +1615,22 @@ The *Triangles* section must appear if :doc:`atom_style tri with a triangleflag = 1. The number of lines should be specified in the header section via the "triangles" keyword. -The 3 corner points are the corner points of the triangle. The -ordering of the 3 points should be such that using a right-hand rule -to go from point1 to point2 to point3 gives an "outward" normal vector -to the face of the triangle. I.e. normal = (c2-c1) x (c3-c1). This -orientation may be important for defining some interactions. +The 3 corner points are the corner points of the triangle. They +should be values close to the center point of the triangle specified +in the Atoms section of the data file, even if individual corner +points are outside the simulation box. -If the data file defines a general triclinic box, the (x1,y1,z1), -(x2,y2,z2), (x3,y3,z3) corner points should be within (or near) its -parallelepiped volume, i.e. near the x,y,z coordinates of the triangle -as defined in the Atoms section. See the :doc:`Howto triclinic -` doc page for more details. +The ordering of the 3 points should be such that using a right-hand +rule to go from point1 to point2 to point3 gives an "outward" normal +vector to the face of the triangle. I.e. normal = (c2-c1) x (c3-c1). +This orientation may be important for defining some interactions. + +If the data file defines a general triclinic box, then the x1,y1,z1 +and x2,y2,z2 and x3,y3,z3 values for each triangle should be specified +for its orientation relative to the standard x,y,z coordinate axes. +When the system is converted to a restricted triclinic box, the +x1,y1,z1,x2,y2,z2,x3,y3,z3 values will be altered to reflect the new +orientation of the triangle. The *Triangles* section must appear after the *Atoms* section. diff --git a/src/DIELECTRIC/atom_vec_dielectric.cpp b/src/DIELECTRIC/atom_vec_dielectric.cpp index 516c08bd98..617ad4ebea 100644 --- a/src/DIELECTRIC/atom_vec_dielectric.cpp +++ b/src/DIELECTRIC/atom_vec_dielectric.cpp @@ -208,7 +208,7 @@ void AtomVecDielectric::read_data_general_to_restricted(int nlocal_previous, int /* ---------------------------------------------------------------------- convert info output by write_data from restricted to general triclinic parent class operates on x and data from Velocities section of data file - child class operates on dipole momemt mu + child class operates on dipole momemt mu which has 4 values per atom ------------------------------------------------------------------------- */ void AtomVecDielectric::write_data_restricted_to_general() @@ -217,16 +217,17 @@ void AtomVecDielectric::write_data_restricted_to_general() int nlocal = atom->nlocal; memory->create(mu_hold,nlocal,3,"atomvec:mu_hold"); - if (nlocal) memcpy(&mu_hold[0][0],&mu[0][0],3*nlocal*sizeof(double)); - for (int i = 0; i < nlocal; i++) + for (int i = 0; i < nlocal; i++) { + memcpy(&mu_hold[i],&mu[i],3*sizeof(double)); domain->restricted_to_general_vector(mu[i]); + } } /* ---------------------------------------------------------------------- restore info output by write_data to restricted triclinic original data is in "hold" arrays parent class operates on x and data from Velocities section of data file - child class operates on dipole moment mu + child class operates on dipole moment mu which has 4 values per atom ------------------------------------------------------------------------- */ void AtomVecDielectric::write_data_restore_restricted() @@ -236,7 +237,8 @@ void AtomVecDielectric::write_data_restore_restricted() if (!mu_hold) return; int nlocal = atom->nlocal; - memcpy(&mu[0][0],&mu_hold[0][0],3*nlocal*sizeof(double)); + for (int i = 0; i < nlocal; i++) + memcpy(&mu[i],&mu_hold[i],3*sizeof(double)); memory->destroy(mu_hold); mu_hold = nullptr; } diff --git a/src/DIPOLE/atom_vec_dipole.cpp b/src/DIPOLE/atom_vec_dipole.cpp index 025624c6c0..38ecd63ddd 100644 --- a/src/DIPOLE/atom_vec_dipole.cpp +++ b/src/DIPOLE/atom_vec_dipole.cpp @@ -90,7 +90,7 @@ void AtomVecDipole::read_data_general_to_restricted(int nlocal_previous, int nlo /* ---------------------------------------------------------------------- convert info output by write_data from restricted to general triclinic parent class operates on x and data from Velocities section of data file - child class operates on dipole momemt mu + child class operates on dipole momemt mu which has 4 values per atom ------------------------------------------------------------------------- */ void AtomVecDipole::write_data_restricted_to_general() @@ -99,16 +99,17 @@ void AtomVecDipole::write_data_restricted_to_general() int nlocal = atom->nlocal; memory->create(mu_hold,nlocal,3,"atomvec:mu_hold"); - if (nlocal) memcpy(&mu_hold[0][0],&mu[0][0],3*nlocal*sizeof(double)); - for (int i = 0; i < nlocal; i++) + for (int i = 0; i < nlocal; i++) { + memcpy(&mu_hold[i],&mu[i],3*sizeof(double)); domain->restricted_to_general_vector(mu[i]); + } } /* ---------------------------------------------------------------------- restore info output by write_data to restricted triclinic original data is in "hold" arrays parent class operates on x and data from Velocities section of data file - child class operates on dipole moment mu + child class operates on dipole moment mu which has 4 values per atom ------------------------------------------------------------------------- */ void AtomVecDipole::write_data_restore_restricted() @@ -118,7 +119,8 @@ void AtomVecDipole::write_data_restore_restricted() if (!mu_hold) return; int nlocal = atom->nlocal; - memcpy(&mu[0][0],&mu_hold[0][0],3*nlocal*sizeof(double)); + for (int i = 0; i < nlocal; i++) + memcpy(&mu[i],&mu_hold[i],3*sizeof(double)); memory->destroy(mu_hold); mu_hold = nullptr; } diff --git a/src/MACHDYN/atom_vec_smd.cpp b/src/MACHDYN/atom_vec_smd.cpp index 5ba2c01038..05c73d5b33 100644 --- a/src/MACHDYN/atom_vec_smd.cpp +++ b/src/MACHDYN/atom_vec_smd.cpp @@ -164,7 +164,7 @@ void AtomVecSMD::data_atom_post(int ilocal) // x and x0 are in Atoms section of data file // reset x0 b/c x may have been modified in Atom::data_atoms() // for PBC, shift, etc - // this also means no need for read_data_general_to_restricted() method + // this means no need for read_data_general_to_restricted() method // to rotate x0 for general triclinic x0[ilocal][0] = x[ilocal][0]; diff --git a/src/SPIN/atom_vec_spin.cpp b/src/SPIN/atom_vec_spin.cpp index a68a59ef38..8844755cd8 100644 --- a/src/SPIN/atom_vec_spin.cpp +++ b/src/SPIN/atom_vec_spin.cpp @@ -120,7 +120,7 @@ void AtomVecSpin::read_data_general_to_restricted(int nlocal_previous, int nloca /* ---------------------------------------------------------------------- convert info output by write_data from restricted to general triclinic parent class operates on x and data from Velocities section of data file - child class operates on spin vector sp + child class operates on spin vector sp which has 4 values per atom ------------------------------------------------------------------------- */ void AtomVecSpin::write_data_restricted_to_general() @@ -129,16 +129,17 @@ void AtomVecSpin::write_data_restricted_to_general() int nlocal = atom->nlocal; memory->create(sp_hold,nlocal,3,"atomvec:sp_hold"); - if (nlocal) memcpy(&sp_hold[0][0],&sp[0][0],3*nlocal*sizeof(double)); - for (int i = 0; i < nlocal; i++) + for (int i = 0; i < nlocal; i++) { + memcpy(&sp_hold[i],&sp[i],3*sizeof(double)); domain->restricted_to_general_vector(sp[i]); + } } /* ---------------------------------------------------------------------- restore info output by write_data to restricted triclinic original data is in "hold" arrays parent class operates on x and data from Velocities section of data file - child class operates on spin vector sp + child class operates on spin vector sp which has 4 values per atom ------------------------------------------------------------------------- */ void AtomVecSpin::write_data_restore_restricted() @@ -148,7 +149,8 @@ void AtomVecSpin::write_data_restore_restricted() if (!sp_hold) return; int nlocal = atom->nlocal; - memcpy(&sp[0][0],&sp_hold[0][0],3*nlocal*sizeof(double)); + for (int i = 0; i < nlocal; i++) + memcpy(&sp[i],&sp_hold[i],3*sizeof(double)); memory->destroy(sp_hold); sp_hold = nullptr; } diff --git a/src/atom_vec_line.cpp b/src/atom_vec_line.cpp index 73f2e702f6..f5544c08ee 100644 --- a/src/atom_vec_line.cpp +++ b/src/atom_vec_line.cpp @@ -355,9 +355,10 @@ void AtomVecLine::data_atom_bonus(int m, const std::vector &values) // convert x1/y1 and x2/y2 from general to restricted triclniic // x is already restricted triclinic - + + double coords[3]; + if (domain->triclinic_general) { - double coords[3]; coords[0] = x1; coords[1] = y1; coords[2] = 0.0; domain->general_to_restricted_coords(coords); x1 = coords[0]; y1 = coords[1]; @@ -366,8 +367,20 @@ void AtomVecLine::data_atom_bonus(int m, const std::vector &values) x2 = coords[0]; y2 = coords[1]; } + // remap end points to be near x + // necessary if atom x was remapped into periodic box + + coords[0] = x1; coords[1] = y1; coords[2] = 0.0; + domain->remap_near(coords,x[m]); + x1 = coords[0]; y1 = coords[1]; + coords[0] = x2; coords[1] = y2; coords[2] = 0.0; + domain->remap_near(c2,x[m]); + x2 = coords[0]; y2 = coords[1]; + // calculate length and theta - + // error if segment center is not within EPSILON of atom x + // reset atom x to center point + double dx = x2 - x1; double dy = y2 - y1; double length = sqrt(dx * dx + dy * dy); diff --git a/src/atom_vec_line.h b/src/atom_vec_line.h index 740c541916..0f5e5800f5 100644 --- a/src/atom_vec_line.h +++ b/src/atom_vec_line.h @@ -76,7 +76,6 @@ class AtomVecLine : public AtomVec { void grow_bonus(); void copy_bonus_all(int, int); - // void consistency_check(int, char *); }; } // namespace LAMMPS_NS diff --git a/src/atom_vec_tri.cpp b/src/atom_vec_tri.cpp index b0849e6717..69665c6a94 100644 --- a/src/atom_vec_tri.cpp +++ b/src/atom_vec_tri.cpp @@ -52,8 +52,6 @@ AtomVecTri::AtomVecTri(LAMMPS *lmp) : AtomVec(lmp) nlocal_bonus = nghost_bonus = nmax_bonus = 0; bonus = nullptr; - double **quat_hold = nullptr; - // strings with peratom variables to include in each AtomVec method // strings cannot contain fields in corresponding AtomVec default strings // order of fields in a string does not matter @@ -518,9 +516,17 @@ void AtomVecTri::data_atom_bonus(int m, const std::vector &values) domain->general_to_restricted_coords(c2); domain->general_to_restricted_coords(c3); } + + // remap corner points to be near x + // necessary if atom x was remapped into periodic box + + domain->remap_near(c1,x[m]); + domain->remap_near(c2,x[m]); + domain->remap_near(c3,x[m]); // centroid = 1/3 of sum of vertices - // error if centroid is not within EPSILON of Atoms section coord + // error if centroid is not within EPSILON of atom x + // reset atom x to centroid double centroid[3]; centroid[0] = (c1[0] + c2[0] + c3[0]) / 3.0; diff --git a/src/atom_vec_tri.h b/src/atom_vec_tri.h index 5a3b831c0d..424bd8ea0a 100644 --- a/src/atom_vec_tri.h +++ b/src/atom_vec_tri.h @@ -72,8 +72,6 @@ class AtomVecTri : public AtomVec { double *radius, *rmass; double **omega, **angmom; - double **quat_hold; - int nghost_bonus, nmax_bonus; int tri_flag; double rmass_one; diff --git a/src/domain.cpp b/src/domain.cpp index 700cf79a82..e9a18b897e 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -1361,7 +1361,7 @@ int Domain::closest_image(const double * const pos, int j) /* ---------------------------------------------------------------------- find and return Xj image = periodic image of Xj that is closest to Xi for triclinic, add/subtract tilt factors in other dims as needed - called by ServerMD class and LammpsInterface in lib/atc. + called by ServerMD class and LammpsInterface in lib/atc ------------------------------------------------------------------------- */ void Domain::closest_image(const double * const xi, const double * const xj, double * const xjimage) diff --git a/src/write_data.cpp b/src/write_data.cpp index 49e041b6ce..e945f85c3b 100644 --- a/src/write_data.cpp +++ b/src/write_data.cpp @@ -98,6 +98,9 @@ void WriteData::command(int narg, char **arg) fixflag = 0; iarg++; } else if (strcmp(arg[iarg],"triclinic/general") == 0) { + if (!domain->triclinic_general) + error->all(FLERR,"Write_data triclinic/general for system " + "that is not general triclinic"); triclinic_general = 1; iarg++; } else if (strcmp(arg[iarg],"nolabelmap") == 0) { @@ -213,10 +216,10 @@ void WriteData::write(const std::string &file) if (coeffflag) force_fields(); } - // if general triclinic: + // if general triclinic requested: // reset internal per-atom data that needs rotation - atom->avec->write_data_restricted_to_general(); + if (triclinic_general) atom->avec->write_data_restricted_to_general(); // per atom info in Atoms and Velocities sections @@ -247,10 +250,10 @@ void WriteData::write(const std::string &file) if (ifix->wd_section) for (int m = 0; m < ifix->wd_section; m++) fix(ifix,m); - // if general triclinic: + // if general triclinic requested: // restore internal per-atom data that was rotated - atom->avec->write_data_restore_restricted(); + if (triclinic_general) atom->avec->write_data_restore_restricted(); // close data file From a0a21fab64b8087257f2bb46d17b827062002258 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 14 Nov 2023 17:03:56 -0700 Subject: [PATCH 074/559] changes for body particles in general triclinic --- doc/src/Howto_body.rst | 30 ++++++++++ src/BODY/body_nparticle.cpp | 2 +- src/BODY/body_rounded_polygon.cpp | 2 +- src/BODY/body_rounded_polyhedron.cpp | 2 +- src/atom_vec_body.cpp | 83 +++++++++++++++++++++++++++- src/atom_vec_body.h | 6 +- src/write_data.cpp | 31 +++++++---- 7 files changed, 137 insertions(+), 19 deletions(-) diff --git a/doc/src/Howto_body.rst b/doc/src/Howto_body.rst index 15d6aee845..41d3cd8efe 100644 --- a/doc/src/Howto_body.rst +++ b/doc/src/Howto_body.rst @@ -154,12 +154,22 @@ values consistent with the current orientation of the rigid body around its center of mass. The values are with respect to the simulation box XYZ axes, not with respect to the principal axes of the rigid body itself. LAMMPS performs the latter calculation internally. + The coordinates of each sub-particle are specified as its x,y,z displacement from the center-of-mass of the body particle. The center-of-mass position of the particle is specified by the x,y,z values in the *Atoms* section of the data file, as is the total mass of the body particle. +If the data file defines a general triclinic box, then the orientation +of the body particle and its corresponding 6 moments of inertia and +sub-particle displacements should reflect the fact the body is defined +withing a general triclinic box with edge vectors **A**,**B**,**C**. +LAMMPS will rotate the box to convert it to a restricted triclinic +box. This operation will also rotate the orientation of the body +particles. See the :doc:`Howto triclinic ` doc page +for more details. + The :doc:`pair_style body/nparticle ` command can be used with this body style to compute body/body and body/non-body interactions. @@ -226,6 +236,7 @@ values consistent with the current orientation of the rigid body around its center of mass. The values are with respect to the simulation box XYZ axes, not with respect to the principal axes of the rigid body itself. LAMMPS performs the latter calculation internally. + The coordinates of each vertex are specified as its x,y,z displacement from the center-of-mass of the body particle. The center-of-mass position of the particle is specified by the x,y,z values in the @@ -270,6 +281,15 @@ A disk, whose diameter is 3.0, mass 1.0, is specified as follows: 0 0 0 3.0 +If the data file defines a general triclinic box, then the orientation +of the body particle and its corresponding 6 moments of inertia and +polygon vertex displacements should reflect the fact the body is +defined withing a general triclinic box with edge vectors +**A**,**B**,**C**. LAMMPS will rotate the box to convert it to a +restricted triclinic box. This operation will also rotate the +orientation of the body particles. See the :doc:`Howto triclinic +` doc page for more details. + The :doc:`pair_style body/rounded/polygon ` command can be used with this body style to compute body/body interactions. The :doc:`fix wall/body/polygon ` @@ -366,6 +386,7 @@ values consistent with the current orientation of the rigid body around its center of mass. The values are with respect to the simulation box XYZ axes, not with respect to the principal axes of the rigid body itself. LAMMPS performs the latter calculation internally. + The coordinates of each vertex are specified as its x,y,z displacement from the center-of-mass of the body particle. The center-of-mass position of the particle is specified by the x,y,z values in the @@ -435,6 +456,15 @@ A sphere whose diameter is 3.0 and mass 1.0, is specified as follows: The number of edges and faces for a rod or sphere must be listed, but is ignored. +If the data file defines a general triclinic box, then the orientation +of the body particle and its corresponding 6 moments of inertia and +polyhedron vertex displacements should reflect the fact the body is +defined withing a general triclinic box with edge vectors +**A**,**B**,**C**. LAMMPS will rotate the box to convert it to a +restricted triclinic box. This operation will also rotate the +orientation of the body particles. See the :doc:`Howto triclinic +` doc page for more details. + The :doc:`pair_style body/rounded/polhedron ` command can be used with this body style to compute body/body interactions. The :doc:`fix diff --git a/src/BODY/body_nparticle.cpp b/src/BODY/body_nparticle.cpp index 62e6ee802a..05df63ff44 100644 --- a/src/BODY/body_nparticle.cpp +++ b/src/BODY/body_nparticle.cpp @@ -99,7 +99,7 @@ int BodyNparticle::unpack_border_body(AtomVecBody::Bonus *bonus, double *buf) } /* ---------------------------------------------------------------------- - populate bonus data structure with data file values + populate bonus data structure with data file values for one body ------------------------------------------------------------------------- */ void BodyNparticle::data_body(int ibonus, int ninteger, int ndouble, diff --git a/src/BODY/body_rounded_polygon.cpp b/src/BODY/body_rounded_polygon.cpp index 2fb2a991f1..b84a271779 100644 --- a/src/BODY/body_rounded_polygon.cpp +++ b/src/BODY/body_rounded_polygon.cpp @@ -155,7 +155,7 @@ int BodyRoundedPolygon::unpack_border_body(AtomVecBody::Bonus *bonus, } /* ---------------------------------------------------------------------- - populate bonus data structure with data file values + populate bonus data structure with data file values for one body ------------------------------------------------------------------------- */ void BodyRoundedPolygon::data_body(int ibonus, int ninteger, int ndouble, diff --git a/src/BODY/body_rounded_polyhedron.cpp b/src/BODY/body_rounded_polyhedron.cpp index 1d11644618..111e41dbd1 100644 --- a/src/BODY/body_rounded_polyhedron.cpp +++ b/src/BODY/body_rounded_polyhedron.cpp @@ -185,7 +185,7 @@ int BodyRoundedPolyhedron::unpack_border_body(AtomVecBody::Bonus *bonus, double } /* ---------------------------------------------------------------------- - populate bonus data structure with data file values + populate bonus data structure with data file values for one body ------------------------------------------------------------------------- */ void BodyRoundedPolyhedron::data_body(int ibonus, int ninteger, int ndouble, diff --git a/src/atom_vec_body.cpp b/src/atom_vec_body.cpp index fd590ad5fe..108d94bbec 100644 --- a/src/atom_vec_body.cpp +++ b/src/atom_vec_body.cpp @@ -597,6 +597,15 @@ void AtomVecBody::pack_data_pre(int ilocal) body[ilocal] = 1; } +/* ---------------------------------------------------------------------- + unmodify values packed by AtomVec::pack_data() +------------------------------------------------------------------------- */ + +void AtomVecBody::pack_data_post(int ilocal) +{ + body[ilocal] = body_flag; +} + /* ---------------------------------------------------------------------- pack bonus body info for writing to data file if buf is nullptr, just return buffer size @@ -631,12 +640,80 @@ void AtomVecBody::write_data_bonus(FILE *fp, int n, double *buf, int /*flag*/) } /* ---------------------------------------------------------------------- - unmodify values packed by AtomVec::pack_data() + convert read_data file info from general to restricted triclinic + parent class operates on data from Velocities section of data file + child class operates on body quaternion ------------------------------------------------------------------------- */ -void AtomVecBody::pack_data_post(int ilocal) +void AtomVecBody::read_data_general_to_restricted(int nlocal_previous, int nlocal) { - body[ilocal] = body_flag; + int j; + + AtomVec::read_data_general_to_restricted(nlocal_previous, nlocal); + + // quat_g2r = quat that rotates from general to restricted triclinic + // quat_new = body quat converted to restricted triclinic + + double quat_g2r[4],quat_new[4]; + MathExtra::mat_to_quat(domain->rotate_g2r,quat_g2r); + + for (int i = nlocal_previous; i < nlocal; i++) { + if (body[i] < 0) continue; + j = body[i]; + MathExtra::quatquat(quat_g2r,bonus[j].quat,quat_new); + bonus[j].quat[0] = quat_new[0]; + bonus[j].quat[1] = quat_new[1]; + bonus[j].quat[2] = quat_new[2]; + bonus[j].quat[3] = quat_new[3]; + } +} + +/* ---------------------------------------------------------------------- + convert info output by write_data from restricted to general triclinic + parent class operates on x and data from Velocities section of data file + child class operates on body quaternion +------------------------------------------------------------------------- */ + +void AtomVecBody::write_data_restricted_to_general() +{ + AtomVec::write_data_restricted_to_general(); + + memory->create(quat_hold,nlocal_bonus,4,"atomvec:quat_hold"); + + for (int i = 0; i < nlocal_bonus; i++) + memcpy(quat_hold[i],bonus[i].quat,4*sizeof(double)); + + // quat_r2g = quat that rotates from restricted to general triclinic + // quat_new = ellipsoid quat converted to general triclinic + + double quat_r2g[4],quat_new[4]; + MathExtra::mat_to_quat(domain->rotate_r2g,quat_r2g); + + for (int i = 0; i < nlocal_bonus; i++) { + MathExtra::quatquat(quat_r2g,bonus[i].quat,quat_new); + bonus[i].quat[0] = quat_new[0]; + bonus[i].quat[1] = quat_new[1]; + bonus[i].quat[2] = quat_new[2]; + bonus[i].quat[3] = quat_new[3]; + } +} + +/* ---------------------------------------------------------------------- + restore info output by write_data to restricted triclinic + original data is in "hold" arrays + parent class operates on x and data from Velocities section of data file + child class operates on body quaternion +------------------------------------------------------------------------- */ + +void AtomVecBody::write_data_restore_restricted() +{ + AtomVec::write_data_restore_restricted(); + + for (int i = 0; i < nlocal_bonus; i++) + memcpy(bonus[i].quat,quat_hold[i],4*sizeof(double)); + + memory->destroy(quat_hold); + quat_hold = nullptr; } /* ---------------------------------------------------------------------- diff --git a/src/atom_vec_body.h b/src/atom_vec_body.h index e02fd3bbb0..5ba90a6dc1 100644 --- a/src/atom_vec_body.h +++ b/src/atom_vec_body.h @@ -66,6 +66,10 @@ class AtomVecBody : public AtomVec { int pack_data_bonus(double *, int) override; void write_data_bonus(FILE *, int, double *, int) override; + void read_data_general_to_restricted(int, int); + void write_data_restricted_to_general(); + void write_data_restore_restricted(); + // methods used by other classes to query/set body info double radius_body(int, int, int *, double *); @@ -77,6 +81,7 @@ class AtomVecBody : public AtomVec { int *body; double *rmass, *radius; double **angmom; + double **quat_hold; int nghost_bonus, nmax_bonus; int intdoubleratio; // sizeof(double) / sizeof(int) @@ -87,7 +92,6 @@ class AtomVecBody : public AtomVec { void grow_bonus(); void copy_bonus_all(int, int); - // check(int); }; } // namespace LAMMPS_NS diff --git a/src/write_data.cpp b/src/write_data.cpp index e945f85c3b..06512a0f20 100644 --- a/src/write_data.cpp +++ b/src/write_data.cpp @@ -76,7 +76,8 @@ void WriteData::command(int narg, char **arg) lmapflag = 1; // store current (default) setting since we may change it - + + int domain_triclinic_general = domain->triclinic_general; int types_style = atom->types_style; int noinit = 0; @@ -98,9 +99,6 @@ void WriteData::command(int narg, char **arg) fixflag = 0; iarg++; } else if (strcmp(arg[iarg],"triclinic/general") == 0) { - if (!domain->triclinic_general) - error->all(FLERR,"Write_data triclinic/general for system " - "that is not general triclinic"); triclinic_general = 1; iarg++; } else if (strcmp(arg[iarg],"nolabelmap") == 0) { @@ -115,6 +113,14 @@ void WriteData::command(int narg, char **arg) } else error->all(FLERR,"Unknown write_data keyword: {}", arg[iarg]); } + // temporarily disable domain->triclinic_general if output not requested + + if (triclinic_general && !domain->triclinic_general) + error->all(FLERR,"Write_data triclinic/general for system " + "that is not general triclinic"); + if (!triclinic_general && domain->triclinic_general) + domain->triclinic_general = 0; + // init entire system since comm->exchange is done // comm::init needs neighbor::init needs pair::init needs kspace::init, etc // exception is when called by -r command-line switch @@ -145,8 +151,9 @@ void WriteData::command(int narg, char **arg) write(file); - // restore saved setting - + // restore saved settings + + domain->triclinic_general = domain_triclinic_general; atom->types_style = types_style; } @@ -216,10 +223,10 @@ void WriteData::write(const std::string &file) if (coeffflag) force_fields(); } - // if general triclinic requested: + // if general triclinic output: // reset internal per-atom data that needs rotation - if (triclinic_general) atom->avec->write_data_restricted_to_general(); + if (domain->triclinic_general) atom->avec->write_data_restricted_to_general(); // per atom info in Atoms and Velocities sections @@ -250,10 +257,10 @@ void WriteData::write(const std::string &file) if (ifix->wd_section) for (int m = 0; m < ifix->wd_section; m++) fix(ifix,m); - // if general triclinic requested: + // if general triclinic output: // restore internal per-atom data that was rotated - if (triclinic_general) atom->avec->write_data_restore_restricted(); + if (domain->triclinic_general) atom->avec->write_data_restore_restricted(); // close data file @@ -312,7 +319,7 @@ void WriteData::header() // box info: orthogonal, restricted triclinic, or general triclinic (if requested) - if (!triclinic_general) { + if (!domain->triclinic_general) { fmt::print(fp,"\n{} {} xlo xhi\n{} {} ylo yhi\n{} {} zlo zhi\n", domain->boxlo[0],domain->boxhi[0], domain->boxlo[1],domain->boxhi[1], @@ -320,7 +327,7 @@ void WriteData::header() if (domain->triclinic) fmt::print(fp,"{} {} {} xy xz yz\n",domain->xy,domain->xz,domain->yz); - } else if (triclinic_general) { + } else if (domain->triclinic_general) { fmt::print(fp,"\n{} {} {} avec\n{} {} {} bvec\n{} {} {} cvec\n", domain->avec[0],domain->avec[1],domain->avec[2], domain->bvec[0],domain->bvec[1],domain->bvec[2], From fc5803188fb478cdb280fc99a2e45151d7585bf5 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 15 Nov 2023 09:29:04 -0700 Subject: [PATCH 075/559] doc page for write_data --- doc/src/write_data.rst | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/doc/src/write_data.rst b/doc/src/write_data.rst index c598ebe481..e083f834b8 100644 --- a/doc/src/write_data.rst +++ b/doc/src/write_data.rst @@ -19,6 +19,7 @@ Syntax *nocoeff* = do not write out force field info *nofix* = do not write out extra sections read by fixes *nolabelmap* = do not write out type labels + *triclinic/general = write data file in general triclinic format *types* value = *numeric* or *labels* *pair* value = *ii* or *ij* *ii* = write one line of pair coefficient info per atom type @@ -31,6 +32,7 @@ Examples write_data data.polymer write_data data.* + write_data data.solid triclinic/general Description """"""""""" @@ -85,10 +87,11 @@ using the :doc:`-r command-line switch `. :doc:`fixes ` are stored. :doc:`Binary restart files ` store more information. -Bond interactions (angle, etc) that have been turned off by the :doc:`fix shake ` or :doc:`delete_bonds ` command will -be written to a data file as if they are turned on. This means they -will need to be turned off again in a new run after the data file is -read. +Bond interactions (angle, etc) that have been turned off by the +:doc:`fix shake ` or :doc:`delete_bonds ` +command will be written to a data file as if they are turned on. This +means they will need to be turned off again in a new run after the +data file is read. Bonds that are broken (e.g. by a bond-breaking potential) are not written to the data file. Thus these bonds will not exist when the @@ -122,6 +125,23 @@ not written to the data file. By default, they are written if they exist. A type label must be defined for every numeric type (within a given type-kind) to be written to the data file. +Use of the *triclinic/general* keyword will output a data file which +specifies a general triclinic simulation box as well as per-atom +quantities consistent with the general triclinic box. The latter +means that per-atom vectors, such as velocities and dipole moments +will be oriented conistent with the 3d rotation implied by the general +triclinic box (relative to the associated restricted triclinic box). + +This option can only be requested if the simulation box was initially +defined to be general triclinic. If if was and the +*triclinic/general* keyword is not used, then the data file will +specify a restricted triclinic box, since that is the internal format +LAMMPS uses for both general and restricited triclinic simulations. +See the :doc:`Howto triclinic ` doc page for more +explanation of how general triclinic simulation boxes are supported by +LAMMPS. And see the :doc:`read_data ` doc page for details +of how the format is altered for general triclinic data files. + The *types* keyword determines how atom types, bond types, angle types, etc are written into these data file sections: Atoms, Bonds, Angles, etc. The default is the *numeric* setting, even if type label From 4057ee3d6236b7c0ce8a355c311125a8743a47cf Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 16 Nov 2023 16:35:16 -0700 Subject: [PATCH 076/559] more doc page updates for general tri --- doc/src/create_box.rst | 218 +++++++++++++++++++++++++++----------- doc/src/lattice.rst | 6 +- doc/src/read_data.rst | 8 +- doc/src/write_restart.rst | 21 ++-- src/create_box.cpp | 11 +- 5 files changed, 179 insertions(+), 85 deletions(-) diff --git a/doc/src/create_box.rst b/doc/src/create_box.rst index f930ecea83..b5ac4ac907 100644 --- a/doc/src/create_box.rst +++ b/doc/src/create_box.rst @@ -9,9 +9,11 @@ Syntax .. code-block:: LAMMPS create_box N region-ID keyword value ... + create_box N NULL alo ahi blo bhi clo chi keyword value ... * N = # of atom types to use in this simulation -* region-ID = ID of region to use as simulation domain +* region-ID = ID of region to use as simulation domain or NULL for general triclinic box +* alo,ahi,blo,bhi,clo,chi = multipliers on a1,a2,a3 vectors defined by :doc"`lattice ` command (only when region-ID = NULL) * zero or more keyword/value pairs may be appended * keyword = *bond/types* or *angle/types* or *dihedral/types* or *improper/types* or *extra/bond/per/atom* or *extra/angle/per/atom* or *extra/dihedral/per/atom* or *extra/improper/per/atom* or *extra/special/per/atom* @@ -32,95 +34,183 @@ Examples .. code-block:: LAMMPS + # orthogonal or restricted triclinic box using regionID = mybox create_box 2 mybox create_box 2 mybox bond/types 2 extra/bond/per/atom 1 +.. code-block:: LAMMPS + + # 2d general triclinic box using primitive cell for 2d hex lattice + lattice custom 1.0 a1 1.0 0.0 0.0 a2 0.5 0.86602540378 0.0 & + a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 + create_box 1 NULL 0 5 0 5 -0.5 0.5 + +.. code-block:: LAMMPS + + # 3d general triclinic box using primitive cell for 3d fcc lattice + lattice custom 1.0 a2 0.0 0.5 0.5 a1 0.5 0.0 0.5 a3 0.5 0.5 0.0 basis 0.0 0.0 0.0 + create box 1 NULL -5 5 -10 10 0 20 + Description """"""""""" -This command creates a simulation box based on the specified region. -Thus a :doc:`region ` command must first be used to define a -geometric domain. It also partitions the simulation box into a -regular 3d grid of rectangular bricks, one per processor, based on the -number of processors being used and the settings of the -:doc:`processors ` command. The partitioning can later be -changed by the :doc:`balance ` or :doc:`fix balance ` commands. +This command creates a simulation box. It also partitions the box into +a regular 3d grid of smaller sub-boxes, one per procssor (MPI task). +The geometry of the partitioning is based on the size and shape of the +simulation box, the number of processors being used and the settings +of the :doc:`processors ` command. The partitioning can +later be changed by the :doc:`balance ` or :doc:`fix balance +` commands. -The argument N is the number of atom types that will be used in the +Simulation boxes in LAMMPS can be either orthogonal or triclinic in +shape. Orthogonal boxes are a brick in 3d (rectangle in 2d) with 6 +faces that are each perpendicular to one of the standard xyz +coordinate axes. Triclinic boxes are a parallelepiped in 3d +(parallelogram in 2d) with opposite pairs of faces parallel to each +other. LAMMPS supports two forms of triclinic boxes, restricted and +general, which differ in how the box is oriented with respect to the +xyz coordinate axes. See the :doc:`Howto triclinic ` +for a detailed description of all 3 kinds of simulation boxes. + +The argument *N* is the number of atom types that will be used in the simulation. +Orthogonal and restricted triclinic boxes are created by specifying a +region ID previously defined by the :doc:`region ` command. +General triclinic boxes are discussed below. + If the region is not of style *prism*, then LAMMPS encloses the region (block, sphere, etc.) with an axis-aligned orthogonal bounding box -which becomes the simulation domain. +which becomes the simulation domain. For a 2d simulation, the zlo and +zhi values of the simulation box must straddle zero. If the region is of style *prism*, LAMMPS creates a non-orthogonal simulation domain shaped as a parallelepiped with triclinic symmetry. As defined by the :doc:`region prism ` command, the -parallelepiped has its "origin" at (xlo,ylo,zlo) and is defined by three -edge vectors starting from the origin given by -:math:`\vec a = (x_\text{hi}-x_\text{lo},0,0)`; -:math:`\vec b = (xy,y_\text{hi}-y_\text{lo},0)`; and -:math:`\vec c = (xz,yz,z_\text{hi}-z_\text{lo})`. -The parameters *xy*\ , *xz*\ , and *yz* can be 0.0 or -positive or negative values and are called "tilt factors" because they -are the amount of displacement applied to faces of an originally -orthogonal box to transform it into the parallelepiped. +parallelepiped has an "origin" at (xlo,ylo,zlo) and three edge vectors +starting from the origin given by :math:`\vec a = +(x_\text{hi}-x_\text{lo},0,0)`; :math:`\vec b = +(xy,y_\text{hi}-y_\text{lo},0)`; and :math:`\vec c = +(xz,yz,z_\text{hi}-z_\text{lo})`. This is a restricted triclinic box +because the three edge vectors cannot be defined in arbitrary +(general) directions. The parameters *xy*\ , *xz*\ , and *yz* can be +0.0 or positive or negative values and are called "tilt factors" +because they are the amount of displacement applied to faces of an +originally orthogonal box to transform it into the parallelepiped. +For a 2d simulation, the zlo and zhi values of the simulation box must +straddle zero. -By default, a *prism* region used with the create_box command must have -tilt factors :math:`(xy,xz,yz)` that do not skew the box more than half -the distance of the parallel box length. For example, if -:math:`x_\text{lo} = 2` and :math:`x_\text{hi} = 12`, then the :math:`x` -box length is 10 and the :math:`xy` tilt factor must be between -:math:`-5` and :math:`5`. Similarly, both :math:`xz` and :math:`yz` -must be between :math:`-(x_\text{hi}-x_\text{lo})/2` and +Typically a *prism* region used with the create_box command should +have tilt factors :math:`(xy,xz,yz)` that do not skew the box more +than half the distance of the parallel box length. For example, if +:math:`x_\text{lo} = 2` and :math:`x_\text{hi} = 12`, then the +:math:`x` box length is 10 and the :math:`xy` tilt factor must be +between :math:`-5` and :math:`5`. Similarly, both :math:`xz` and +:math:`yz` must be between :math:`-(x_\text{hi}-x_\text{lo})/2` and :math:`+(y_\text{hi}-y_\text{lo})/2`. Note that this is not a -limitation, since if the maximum tilt factor is 5 (as in this example), -then configurations with tilt :math:`= \dots, -15`, :math:`-5`, -:math:`5`, :math:`15`, :math:`25, \dots` are all geometrically -equivalent. Simulations with large tilt factors will run inefficiently, -since they require more ghost atoms and thus more communication. With -very large tilt factors, LAMMPS will eventually produce incorrect -trajectories and stop with errors due to lost atoms or similar. +limitation, since if the maximum tilt factor is 5 (as in this +example), then configurations with tilt :math:`= \dots, -15`, +:math:`-5`, :math:`5`, :math:`15`, :math:`25, \dots` are all +geometrically equivalent. -See the :doc:`Howto triclinic ` page for a -geometric description of triclinic boxes, as defined by LAMMPS, and -how to transform these parameters to and from other commonly used -triclinic representations. +LAMMPS will issue a warning if the tilt factors of the created box do +not meet this criterion. This is because simulations with large tilt +factors may run inefficiently, since they require more ghost atoms and +thus more communication. With very large tilt factors, LAMMPS may +eventually produce incorrect trajectories and stop with errors due to +lost atoms or similar issues. -When a prism region is used, the simulation domain should normally be periodic -in the dimension that the tilt is applied to, which is given by the second -dimension of the tilt factor (e.g., :math:`y` for :math:`xy` tilt). This is so -that pairs of atoms interacting across that boundary will have one of them -shifted by the tilt factor. Periodicity is set by the -:doc:`boundary ` command. For example, if the :math:`xy` tilt factor -is non-zero, then the :math:`y` dimension should be periodic. Similarly, the -:math:`z` dimension should be periodic if :math:`xz` or :math:`yz` is non-zero. -LAMMPS does not require this periodicity, but you may lose atoms if this is not -the case. +See the :doc:`Howto triclinic ` page for geometric +descriptions of triclinic boxes and tilt factors, as well as how to +transform the restricted triclinic parameters to and from other +commonly used triclinic representations. + +When a prism region is used, the simulation domain should normally be +periodic in the dimension that the tilt is applied to, which is given +by the second dimension of the tilt factor (e.g., :math:`y` for +:math:`xy` tilt). This is so that pairs of atoms interacting across +that boundary will have one of them shifted by the tilt factor. +Periodicity is set by the :doc:`boundary ` command. For +example, if the :math:`xy` tilt factor is non-zero, then the :math:`y` +dimension should be periodic. Similarly, the :math:`z` dimension +should be periodic if :math:`xz` or :math:`yz` is non-zero. LAMMPS +does not require this periodicity, but you may lose atoms if this is +not the case. Note that if your simulation will tilt the box (e.g., via the -:doc:`fix deform ` command), the simulation box must be set up to -be triclinic, even if the tilt factors are initially 0.0. You can -also change an orthogonal box to a triclinic box or vice versa by +:doc:`fix deform ` command), the simulation box must be +created as triclinic, even if the tilt factors are initially 0.0. You +can also change an orthogonal box to a triclinic box or vice versa by using the :doc:`change box ` command with its *ortho* and *triclinic* options. .. note:: - If the system is non-periodic (in a dimension), then you should - not make the lo/hi box dimensions (as defined in your - :doc:`region ` command) radically smaller/larger than the extent - of the atoms you eventually plan to create (e.g., via the - :doc:`create_atoms ` command). For example, if your atoms - extend from 0 to 50, you should not specify the box bounds as :math:`-10000` - and :math:`10000`. This is because as described above, LAMMPS uses the - specified box size to lay out the 3d grid of processors. A huge - (mostly empty) box will be sub-optimal for performance when using - "fixed" boundary conditions (see the :doc:`boundary ` - command). When using "shrink-wrap" boundary conditions (see the - :doc:`boundary ` command), a huge (mostly empty) box may cause - a parallel simulation to lose atoms the first time that LAMMPS - shrink-wraps the box around the atoms. + If the system is non-periodic (in a dimension), then you should not + make the lo/hi box dimensions (as defined in your :doc:`region + ` command) radically smaller/larger than the extent of the + atoms you eventually plan to create (e.g., via the + :doc:`create_atoms ` command). For example, if your + atoms extend from 0 to 50, you should not specify the box bounds as + :math:`-10000` and :math:`10000`. This is because as described + above, LAMMPS uses the specified box size to lay out the 3d grid of + processors. A huge (mostly empty) box will be sub-optimal for + performance when using "fixed" boundary conditions (see the + :doc:`boundary ` command). When using "shrink-wrap" + boundary conditions (see the :doc:`boundary ` command), a + huge (mostly empty) box may cause a parallel simulation to lose + atoms the first time that LAMMPS shrink-wraps the box around the + atoms. + +---------- + +As noted above, general triclinic boxes allow for arbitrary edge +vectors **A**, **B**, **C*. The only restrictions are that the three +vectors be distinct, non-zero, and not co-planar. They must also +define a right-handed system such that (**A** x **B**) points in the +direction of **C**. Note that a left-handed system can be converted +to a right-handed system by simply swapping the order of any pair of +the **A**, **B**, **C** vectors. + +To create a general triclinic boxes, the region is specified as NULL +and the next 6 parameters (alo,ahi,blo,bhi,clo,chi) define the three +edge vectors **A**, **B**, **C** using additional information +previousl set by the :doc:`lattice ` command. + +The lattice must be of style *custom* with a default orientation (no +use of the *orient* keyword to change the default values). The *a1, +*a2*, *a3* settings of the :doc:`lattice ` command define the +edge vectors of a unit cell of the lattice. The three edge vectors of +the general triclinic box are defined as + +* **A** = (ahi-alo) * *a1* +* **B** = (bhi-blo) * *a2* +* **C** = (chi-clo) * *a3* + +The origin of the general triclinic box is at (alo*a1 + blo*a2 + +clo*a3) with an additional offset due to the *origin* setting of the +lattice command (zero vector by default). + +For 2d simulations, **C** = (0,0,1) is required, and the z-component +of the simulation box origin must be -0.5. The easy way to do this is +to specify clo = -0.5 and chi = 0.5 with the :doc:`lattice ` +command default of a3 = (0,0,1). + +.. note:: + + LAMMPS allows specification of general triclinic simulation boxes + as a convenience for users who may be converting data from + solid-state crystallograhic representations or from DFT codes for + input to LAMMPS. However, as explained on the + :doc:`Howto_triclinic ` doc page, internally, + LAMMPS only uses restricted triclinic simulation boxes. This means + the box defined by this command and per-atom information + (e.g. coordinates, velocities) defined by the :doc:`create_atoms + ` command are converted from general to restricted + triclinic form when the two commands are invoked. The + ` doc page also discusses other LAMMPS commands + which can input/output general triclinic representations of the + simulation box and per-atom data. ---------- diff --git a/doc/src/lattice.rst b/doc/src/lattice.rst index 7dc9c579e5..277f648515 100644 --- a/doc/src/lattice.rst +++ b/doc/src/lattice.rst @@ -131,8 +131,10 @@ so that they describe a tilted parallelepiped. Via the *basis* keyword you add atoms, one at a time, to the unit cell. Its arguments are fractional coordinates (0.0 <= x,y,z < 1.0). The position vector x of a basis atom within the unit cell is thus a linear combination of -the unit cell's 3 edge vectors, i.e. x = bx a1 + by a2 + bz a3, -where bx,by,bz are the 3 values specified for the *basis* keyword. +the unit cell's 3 edge vectors, i.e. x = bx a1 + by a2 + bz a3, where +bx,by,bz are the 3 values specified for the *basis* keyword. For 2d +simulations, the fractional z coordinate for any basis atom must be +0.0. ---------- diff --git a/doc/src/read_data.rst b/doc/src/read_data.rst index d26d0ab577..56c92355a8 100644 --- a/doc/src/read_data.rst +++ b/doc/src/read_data.rst @@ -449,8 +449,8 @@ origin* keywords are used. The *xlo xhi*, *ylo yhi*, *zlo zhi*, and *xy xz yz* keywords are not used. The first 3 keywords define the 3 edge vectors **A**, **B**, **C** of a general triclinic box. They can be arbitrary vectors so long as they are distinct, non-zero, and not -co-planar. They must also define a right-handed system requirement -such that (**A** x **B**) points in the direction of **C**. A +co-planar. They must also define a right-handed system such that +(**A** x **B**) points in the direction of **C**. Note that a left-handed system can be converted to a right-handed system by simply swapping the order of any pair of the **A**, **B**, **C** vectors. The origin of the box (origin of the 3 edge vectors) is set by the @@ -818,6 +818,8 @@ of analysis. - atom-ID atom-type bodyflag mass x y z * - bond - atom-ID molecule-ID atom-type x y z + * - bpm/sphere + - atom-ID molecule-ID atom-type diameter density x y z * - charge - atom-ID atom-type q x y z * - dielectric @@ -848,8 +850,6 @@ of analysis. - atom-ID atom-type rho esph cv x y z * - sphere - atom-ID atom-type diameter density x y z - * - bpm/sphere - - atom-ID molecule-ID atom-type diameter density x y z * - spin - atom-ID atom-type x y z spx spy spz sp * - tdpd diff --git a/doc/src/write_restart.rst b/doc/src/write_restart.rst index a35adffe56..6205f24faf 100644 --- a/doc/src/write_restart.rst +++ b/doc/src/write_restart.rst @@ -55,21 +55,22 @@ alter the number of files written. Restart files can be read by a :doc:`read_restart ` command to restart a simulation from a particular state. Because the file is binary (to enable exact restarts), it may not be readable on -another machine. In this case, you can use the :doc:`-r command-line switch ` to convert a restart file to a data file. +another machine. In this case, you can use the :doc:`-r command-line +switch ` to convert a restart file to a data file. .. note:: Although the purpose of restart files is to enable restarting a simulation from where it left off, not all information about a - simulation is stored in the file. For example, the list of fixes that - were specified during the initial run is not stored, which means the - new input script must specify any fixes you want to use. Even when - restart information is stored in the file, as it is for some fixes, - commands may need to be re-specified in the new input script, in order - to re-use that information. Details are usually given in the - documentation of the respective command. Also, see the - :doc:`read_restart ` command for general information about - what is stored in a restart file. + simulation is stored in the file. For example, the list of fixes + that were specified during the initial run is not stored, which + means the new input script must specify any fixes you want to use. + Even when restart information is stored in the file, as it is for + some fixes, commands may need to be re-specified in the new input + script, in order to re-use that information. Details are usually + given in the documentation of the respective command. Also, see the + :doc:`read_restart ` command for general information + about what is stored in a restart file. ---------- diff --git a/src/create_box.cpp b/src/create_box.cpp index 8cf6065962..4df23d286f 100644 --- a/src/create_box.cpp +++ b/src/create_box.cpp @@ -121,11 +121,6 @@ void CreateBox::command(int narg, char **arg) double chi = utils::numeric(FLERR, arg[iarg + 5], false, lmp); iarg += 6; - if (domain->dimension == 2) { - if (clo >= 0.0 || clo <= 0.0) - error->all(FLERR,"Create_box region clo/chi for 2d simulation must straddle 0.0"); - } - // use lattice2box() to generate origin and ABC vectors // origin = abc lo // ABC vectors = hi in one dim - origin @@ -157,6 +152,12 @@ void CreateBox::command(int narg, char **arg) cvec[1] = py - origin[1]; cvec[2] = pz - origin[2]; + if (domain->dimension == 2) { + if (cvec[0] != 0.0 || cvec[1] != 0.0 || cvec[2] != 1.0 || origin[2] != -0.5) + error->all(FLERR,"Create_box C vector and/or origin is invalid " + "for 2d simulation with general triclinic box"); + } + // define general triclinic box within Domain domain->define_general_triclinic(avec,bvec,cvec,origin); From 4ccd59af804424d7349e9f915e0fc7b22d21499c Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 16 Nov 2023 16:37:43 -0700 Subject: [PATCH 077/559] another doc tweak for 2d --- doc/src/lattice.rst | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/doc/src/lattice.rst b/doc/src/lattice.rst index 277f648515..3306c58e8c 100644 --- a/doc/src/lattice.rst +++ b/doc/src/lattice.rst @@ -129,12 +129,13 @@ and a3 are 3 orthogonal unit vectors (edges of a unit cube). But you can specify them to be of any length and non-orthogonal to each other, so that they describe a tilted parallelepiped. Via the *basis* keyword you add atoms, one at a time, to the unit cell. Its arguments -are fractional coordinates (0.0 <= x,y,z < 1.0). The position vector -x of a basis atom within the unit cell is thus a linear combination of -the unit cell's 3 edge vectors, i.e. x = bx a1 + by a2 + bz a3, where -bx,by,bz are the 3 values specified for the *basis* keyword. For 2d -simulations, the fractional z coordinate for any basis atom must be -0.0. +are fractional coordinates (0.0 <= x,y,z < 1.0). For 2d simulations, +the fractional z coordinate for any basis atom must be 0.0. + +The position vector x of a basis atom within the unit cell is a linear +combination of the unit cell's 3 edge vectors, i.e. x = bx a1 + by +a2 + bz a3, where bx,by,bz are the 3 values specified for the *basis* +keyword. ---------- From 56b2c7ed4651c3bbb3ba7457d7aa9f5cc0ba4c03 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 17 Nov 2023 17:10:45 -0700 Subject: [PATCH 078/559] alter how lattice interacts with create_box and create_atoms for general triclinic --- doc/src/Howto_triclinic.rst | 6 +- doc/src/create_atoms.rst | 112 ++++++++++++++++++++----- doc/src/create_box.rst | 56 ++++++------- doc/src/lattice.rst | 68 ++++++++++++++- src/atom_vec_line.cpp | 2 +- src/create_atoms.cpp | 54 ++++++------ src/create_box.cpp | 12 ++- src/domain.cpp | 160 ++++++++++++++++++++---------------- src/domain.h | 3 + src/lattice.cpp | 91 ++++++++++++-------- src/lattice.h | 25 +++--- 11 files changed, 383 insertions(+), 206 deletions(-) diff --git a/doc/src/Howto_triclinic.rst b/doc/src/Howto_triclinic.rst index 6cbc0644cd..525c3e0f1b 100644 --- a/doc/src/Howto_triclinic.rst +++ b/doc/src/Howto_triclinic.rst @@ -56,9 +56,9 @@ at (xlo,ylo,zhi) and 3 edge vectors **A** = (ax,ay,az), **B** = (bx,by,bz), **C** = (cx,cy,cz) which can be arbitrary vectors, so long as they are non-zero, distinct, and not co-planar. In addition, they must define a right-handed system, such that (**A** cross **B**) -points in the direction of **C**. A left-handed system can be -converted to a right-handed system by simply swapping the order of any -pair of the **A**, **B**, **C** vectors. +points in the direction of **C**. Note that a left-handed system can +be converted to a right-handed system by simply swapping the order of +any pair of the **A**, **B**, **C** vectors. The 4 commands listed above for defining orthogonal simulation boxes have triclinic options which allow for specification of the origin and diff --git a/doc/src/create_atoms.rst b/doc/src/create_atoms.rst index 5d1e7c872c..c9e8f3e840 100644 --- a/doc/src/create_atoms.rst +++ b/doc/src/create_atoms.rst @@ -86,25 +86,25 @@ Description """"""""""" This command creates atoms (or molecules) within the simulation box, -either on a lattice, or a single atom (or molecule), or on a surface -defined by a triangulated mesh, or a random collection of atoms (or -molecules). It is an alternative to reading in atom coordinates -explicitly via a :doc:`read_data ` or :doc:`read_restart -` command. A simulation box must already exist, which is -typically created via the :doc:`create_box ` command. -Before using this command, a lattice must also be defined using the -:doc:`lattice ` command, unless you specify the *single* style -with units = box or the *random* style. For the remainder of this doc -page, a created atom or molecule is referred to as a "particle". +either on a lattice, or at a single specified location, or randomly, +or on a surface defined by a triangulated mesh. It is an alternative +to reading in atom coordinates explicitly via a :doc:`read_data +` or :doc:`read_restart ` command. A +simulation box must already exist, which is typically created via the +:doc:`create_box ` command. Before using this command, a +lattice must typically also be defined using the :doc:`lattice +` command, unless you specify the *single* style with units = +box or the *random* style. For the remainder of this doc page, a +created atom or molecule is referred to as a "particle". If created particles are individual atoms, they are assigned the specified atom *type*, though this can be altered via the *basis* keyword as discussed below. If molecules are being created, the type -of each atom in the created molecule is specified in the file read by -the :doc:`molecule ` command, and those values are added to -the specified atom *type* (e.g., if *type* = 2 and the file specifies -atom types 1, 2, and 3, then each created molecule will have atom types -3, 4, and 5). +of each atom in the created molecule is specified in a specified file +read by the :doc:`molecule ` command, and those values are +added to the specified atom *type* (e.g., if *type* = 2 and the file +specifies atom types 1, 2, and 3, then each created molecule will have +atom types 3, 4, and 5). For the *box* style, the create_atoms command fills the entire simulation box with particles on the lattice. If your simulation box @@ -126,6 +126,69 @@ periodic boundaries. If this is desired, you should either use the *box* style, or tweak the region size to get precisely the particles you want. + +------------------ + +WORK on this + + +If a general triclinic simulation box is defined ... + + + +As noted above, general triclinic boxes in LAMMPS allow for arbitrary +edge vectors **A**, **B**, **C**. The only restrictions are that the +three vectors be distinct, non-zero, and not co-planar. They must +also define a right-handed system such that (**A** x **B**) points in +the direction of **C**. Note that a left-handed system can be +converted to a right-handed system by simply swapping the order of any +pair of the **A**, **B**, **C** vectors. + +To create a general triclinic boxes, the region is specified as NULL +and the next 6 parameters (alo,ahi,blo,bhi,clo,chi) define the three +edge vectors **A**, **B**, **C** using additional information +previously defind by the :doc:`lattice ` command. + +The lattice must be of style *custom* and use its *triclinic/general* +option. This insures the lattice satisfies the restrictions listed +above. The *a1, *a2*, *a3* settings of the :doc:`lattice ` +command define the edge vectors of a unit cell of the general +triclinic lattice. This command uses them to define the three edge +vectors and origin of the general triclinic box as: + + +explain region is applied after conversion to restricted triclinic atom coords + +explain general tri for box and region styles +must use lattice triclinic/general +paragraph about DFT motivation +doc that single, random, mesh operate on restricted triclinic box + +------------------ + + +.. note:: + + LAMMPS allows specification of general triclinic simulation boxes + as a convenience for users who may be converting data from + solid-state crystallograhic representations or from DFT codes for + input to LAMMPS. However, as explained on the + :doc:`Howto_triclinic ` doc page, internally, + LAMMPS only uses restricted triclinic simulation boxes. This means + the box defined by this command and per-atom information + (e.g. coordinates, velocities) defined by the :doc:`create_atoms + ` command are converted from general to restricted + triclinic form when the two commands are invoked. The + ` doc page also discusses other LAMMPS commands + which can input/output general triclinic representations of the + simulation box and per-atom data. + + + + + + + For the *single* style, a single particle is added to the system at the specified coordinates. This can be useful for debugging purposes or to create a tiny system with a handful of particles at specified @@ -463,12 +526,19 @@ on a single CPU core. ----- The *units* keyword determines the meaning of the distance units used -to specify the coordinates of the one particle created by the *single* -style, or the overlap distance *Doverlap* by the *overlap* keyword. A -*box* value selects standard distance units as defined by the -:doc:`units ` command (e.g., :math:`\AA` for -units = *real* or *metal*\ . A *lattice* value means the distance units are in -lattice spacings. +by parameters for various styles. A *box* value selects standard +distance units as defined by the :doc:`units ` command (e.g., +:math:`\AA` for units = *real* or *metal*\ . A *lattice* value means +the distance units are in lattice spacings. These are affected settings: + +* for *single* style: coordinates of the particle created +* for *random* style: overlap distance *Doverlap* by the *overlap* keyword +* for *mesh* style: *bisect* threshold valeu for *meshmode* = *bisect* +* for *mesh* style: *radthresh* value for *meshmode* = *bisect* +* for *mesh* style: *density* value for *meshmode* = *qrand* + +Since *density* represents an area (distance ^2), the lattice spacing +factor is also squared. ---------- diff --git a/doc/src/create_box.rst b/doc/src/create_box.rst index b5ac4ac907..11b2878fe4 100644 --- a/doc/src/create_box.rst +++ b/doc/src/create_box.rst @@ -91,14 +91,14 @@ parallelepiped has an "origin" at (xlo,ylo,zlo) and three edge vectors starting from the origin given by :math:`\vec a = (x_\text{hi}-x_\text{lo},0,0)`; :math:`\vec b = (xy,y_\text{hi}-y_\text{lo},0)`; and :math:`\vec c = -(xz,yz,z_\text{hi}-z_\text{lo})`. This is a restricted triclinic box -because the three edge vectors cannot be defined in arbitrary -(general) directions. The parameters *xy*\ , *xz*\ , and *yz* can be -0.0 or positive or negative values and are called "tilt factors" -because they are the amount of displacement applied to faces of an -originally orthogonal box to transform it into the parallelepiped. -For a 2d simulation, the zlo and zhi values of the simulation box must -straddle zero. +(xz,yz,z_\text{hi}-z_\text{lo})`. In LAMMPS lingo, this is a +restricted triclinic box because the three edge vectors cannot be +defined in arbitrary (general) directions. The parameters *xy*\ , +*xz*\ , and *yz* can be 0.0 or positive or negative values and are +called "tilt factors" because they are the amount of displacement +applied to faces of an originally orthogonal box to transform it into +the parallelepiped. For a 2d simulation, the zlo and zhi values of +the simulation box must straddle zero. Typically a *prism* region used with the create_box command should have tilt factors :math:`(xy,xz,yz)` that do not skew the box more @@ -164,37 +164,35 @@ using the :doc:`change box ` command with its *ortho* and ---------- -As noted above, general triclinic boxes allow for arbitrary edge -vectors **A**, **B**, **C*. The only restrictions are that the three -vectors be distinct, non-zero, and not co-planar. They must also -define a right-handed system such that (**A** x **B**) points in the -direction of **C**. Note that a left-handed system can be converted -to a right-handed system by simply swapping the order of any pair of -the **A**, **B**, **C** vectors. +As noted above, general triclinic boxes in LAMMPS allow for arbitrary +edge vectors **A**, **B**, **C**. The only restrictions are that the +three vectors be distinct, non-zero, and not co-planar. They must +also define a right-handed system such that (**A** x **B**) points in +the direction of **C**. Note that a left-handed system can be +converted to a right-handed system by simply swapping the order of any +pair of the **A**, **B**, **C** vectors. To create a general triclinic boxes, the region is specified as NULL and the next 6 parameters (alo,ahi,blo,bhi,clo,chi) define the three edge vectors **A**, **B**, **C** using additional information -previousl set by the :doc:`lattice ` command. +previously defind by the :doc:`lattice ` command. -The lattice must be of style *custom* with a default orientation (no -use of the *orient* keyword to change the default values). The *a1, -*a2*, *a3* settings of the :doc:`lattice ` command define the -edge vectors of a unit cell of the lattice. The three edge vectors of -the general triclinic box are defined as +The lattice must be of style *custom* and use its *triclinic/general* +option. This insures the lattice satisfies the restrictions listed +above. The *a1, *a2*, *a3* settings of the :doc:`lattice ` +command define the edge vectors of a unit cell of the general +triclinic lattice. This command uses them to define the three edge +vectors and origin of the general triclinic box as: * **A** = (ahi-alo) * *a1* * **B** = (bhi-blo) * *a2* * **C** = (chi-clo) * *a3* +* origin = (alo*a1 + blo*a2 + clo*a3) -The origin of the general triclinic box is at (alo*a1 + blo*a2 + -clo*a3) with an additional offset due to the *origin* setting of the -lattice command (zero vector by default). - -For 2d simulations, **C** = (0,0,1) is required, and the z-component -of the simulation box origin must be -0.5. The easy way to do this is -to specify clo = -0.5 and chi = 0.5 with the :doc:`lattice ` -command default of a3 = (0,0,1). +For 2d general triclinic boxes, **C** = (0,0,1) is required, and the +z-component of the simulation box origin must be -0.5. The easy way +to do this is to specify clo = -0.5 and chi = 0.5 and use the +:doc:`lattice ` command default for a3 = (0,0,1). .. note:: diff --git a/doc/src/lattice.rst b/doc/src/lattice.rst index 3306c58e8c..235b8b30da 100644 --- a/doc/src/lattice.rst +++ b/doc/src/lattice.rst @@ -19,7 +19,7 @@ Syntax scale = lattice constant in distance units (for all other units) * zero or more keyword/value pairs may be appended -* keyword = *origin* or *orient* or *spacing* or *a1* or *a2* or *a3* or *basis* +* keyword = *origin* or *orient* or *spacing* or *a1* or *a2* or *a3* or *basis* or *triclinic/general* .. parsed-literal:: @@ -34,6 +34,7 @@ Syntax x,y,z = primitive vector components that define unit cell *basis* values = x y z x,y,z = fractional coords of a basis atom (0 <= x,y,z < 1) + *triclinic/general* values = no values, assume lattice tiles Examples """""""" @@ -44,7 +45,7 @@ Examples lattice hex 0.85 lattice sq 0.8 origin 0.0 0.5 0.0 orient x 1 1 0 orient y -1 1 0 lattice custom 3.52 a1 1.0 0.0 0.0 a2 0.5 1.0 0.0 a3 0.0 0.0 0.5 & - basis 0.0 0.0 0.0 basis 0.5 0.5 0.5 + basis 0.0 0.0 0.0 basis 0.5 0.5 0.5 triclinic/general lattice none 2.0 Description @@ -196,6 +197,57 @@ the Z direction. ---------- +The *triclinic/general* option specifies that the defined lattice is +for use with a general triclinic simulation box, as opposed to an +orthogonal or restricted triclinic box. The :doc:`Howto triclinic +` doc page explains all 3 kinds of simluation boxes +LAMMPS supports. + +If this option is specified, a *custom* lattice style must be used. +The *a1*, *a2*, *a3* vectors should define the edge vectors of a +single unit cell of the lattice with one or more basis atoms. They +edge vectors can be arbitrary so long as they are non-zero, distinct, +and not co-planar. In addition, they must define a right-handed +system, such that (*a1* cross *a2*) points in the direction of *a3*. +Note that a left-handed system can be converted to a right-handed +system by simply swapping the order of any pair of the *a1*, *a2*, +*a3* vectors. + +If this option is used, the *origin* and *orient* settings must have +their default values. + +The :doc:`create_box ` command can be used to create a +general triclinic box that replicates the *a1*, *a2*, *a3* unit cell +vectors in each direction to create the 3 arbitrary edge vectors of +the overall simulation box. It requires a lattice with the +*triclinic/general* option. + +Likewise, the :doc:`create_atoms ` command can be used +to add atoms (or molecules) to a general triclinic box which lie on +the lattice points defined by *a1*, *a2*, *a3* and the unit cell basis +atoms. To do this, it also requires a lattice with the +*triclinic/general* option. + +.. note:: + + LAMMPS allows specification of general triclinic lattices and + simulation boxes as a convenience for users who may be converting + data from solid-state crystallograhic representations or from DFT + codes for input to LAMMPS. However, as explained on the + :doc:`Howto_triclinic ` doc page, internally, + LAMMPS only uses restricted triclinic simulation boxes. This means + the box and per-atom information (e.g. coordinates, velocities) + defined by the :doc:`create_box ` and + :doc:`create_atoms ` commands are converted from + general to restricted triclinic form when the two commands are + invoked. It also means that any other commands which use lattice + spacings from this command (e.g. the region command), will be + operating on a restricted triclinic simulation box, even if the + *triclinic/general* option was used to define the lattice. See the + next section for details. + +---------- + Several LAMMPS commands have the option to use distance units that are inferred from "lattice spacings" in the x,y,z box directions. E.g. the :doc:`region ` command can create a block of size @@ -219,6 +271,18 @@ coordinates of the 8 corner points of the modified unit cell (4 in 2d). Similarly, the Y and Z lattice spacings are defined as the difference in the min/max of the y and z coordinates. +.. note:: + + If the *triclinic/general* option is specified, the unit cell + defined by *a1*, *a2*, *a3* edge vectors is first converted to a + restricted triclinic orientation, which is a rotation operation. + The min/max extent of the 8 corner points is then determined, as + described in the preceeding paragraph, to set the lattice + spacings. As explained for the *triclinic/general* option above, + this is because any use of the lattice spacings by other commands + will be for a restricted triclinic simulation box, not a general + triclinic box. + Note that if the unit cell is orthogonal with axis-aligned edges (no rotation via the *orient* keyword), then the lattice spacings in each dimension are simply the scale factor (described above) multiplied by diff --git a/src/atom_vec_line.cpp b/src/atom_vec_line.cpp index f5544c08ee..21a9cc880a 100644 --- a/src/atom_vec_line.cpp +++ b/src/atom_vec_line.cpp @@ -374,7 +374,7 @@ void AtomVecLine::data_atom_bonus(int m, const std::vector &values) domain->remap_near(coords,x[m]); x1 = coords[0]; y1 = coords[1]; coords[0] = x2; coords[1] = y2; coords[2] = 0.0; - domain->remap_near(c2,x[m]); + domain->remap_near(coords,x[m]); x2 = coords[0]; y2 = coords[1]; // calculate length and theta diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index ef19085ce5..a24fba4612 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -154,9 +154,10 @@ void CreateAtoms::command(int narg, char **arg) overlapflag = 0; maxtry = DEFAULT_MAXTRY; radscale = 1.0; - radthresh = domain->lattice->xlattice; mesh_style = BISECTION; - mesh_density = 1.0; + radthresh = domain->lattice->xlattice; // NOTE to Axel - I think this should be 1.0 by default + mesh_density = 1.0; // similar to how this setting is 1.0 + // see rescaling of both below if units = lattice nbasis = domain->lattice->nbasis; basistype = new int[nbasis]; for (int i = 0; i < nbasis; i++) basistype[i] = ntype; @@ -354,19 +355,27 @@ void CreateAtoms::command(int narg, char **arg) } } - // demand non-none lattice be defined for BOX and REGION - // else setup scaling for SINGLE and RANDOM - // could use domain->lattice->lattice2box() to do conversion of - // lattice to box, but not consistent with other uses of units=lattice - // triclinic remapping occurs in add_single() - + // require non-none lattice be defined for BOX or REGION styles + if ((style == BOX) || (style == REGION)) { if (nbasis == 0) error->all(FLERR, "Cannot create atoms with undefined lattice"); - } else if (scaleflag == 1) { + + // apply scaling factor for styles that use distance-dependent factors + + if (scaleflag) { + if (style == SINGLE) { xone[0] *= domain->lattice->xlattice; xone[1] *= domain->lattice->ylattice; xone[2] *= domain->lattice->zlattice; - overlap *= domain->lattice->xlattice; + } else if (style == RANDOM) { + if (overlapflag) overlap *= domain->lattice->xlattice; + } else if (style == MESH) { // NOTE to Axel - here is the rescaling of both params + if (mesh_style == BISECT) { // by lattice spacings if units = lattice, similar to xone,overlap + radthresh *= domain->lattice->xlattice; + } else if (mesh_style = QUASIRANDOM) { + mesh_density /= (domain->lattice->xlattice * domain->lattice->xlattice); + } + } } // set bounds for my proc in sublo[3] & subhi[3] @@ -710,7 +719,7 @@ void CreateAtoms::add_single() void CreateAtoms::add_random() { - double xlo, ylo, zlo, xhi, yhi, zhi, zmid; + double xlo, ylo, zlo, xhi, yhi, zhi; double delx, dely, delz, distsq, odistsq; double lamda[3], *coord; double *boxlo, *boxhi; @@ -729,7 +738,6 @@ void CreateAtoms::add_random() for (int ii = 0; ii < 30; ii++) random->uniform(); // bounding box for atom creation - // in real units, even if triclinic // only limit bbox by region if its bboxflag is set (interior region) if (triclinic == 0) { @@ -739,7 +747,6 @@ void CreateAtoms::add_random() yhi = domain->boxhi[1]; zlo = domain->boxlo[2]; zhi = domain->boxhi[2]; - zmid = zlo + 0.5 * (zhi - zlo); } else { xlo = domain->boxlo_bound[0]; xhi = domain->boxhi_bound[0]; @@ -747,7 +754,6 @@ void CreateAtoms::add_random() yhi = domain->boxhi_bound[1]; zlo = domain->boxlo_bound[2]; zhi = domain->boxhi_bound[2]; - zmid = zlo + 0.5 * (zhi - zlo); boxlo = domain->boxlo_lamda; boxhi = domain->boxhi_lamda; } @@ -783,7 +789,7 @@ void CreateAtoms::add_random() xone[0] = xlo + random->uniform() * (xhi - xlo); xone[1] = ylo + random->uniform() * (yhi - ylo); xone[2] = zlo + random->uniform() * (zhi - zlo); - if (domain->dimension == 2) xone[2] = zmid; + if (domain->dimension == 2) xone[2] = 0.0; if (region && (region->match(xone[0], xone[1], xone[2]) == 0)) continue; if (varflag && vartest(xone) == 0) continue; @@ -1168,16 +1174,12 @@ void CreateAtoms::add_mesh(const char *filename) void CreateAtoms::add_lattice() { // add atoms on general triclinic lattice if Domain has setting for it - // verify lattice is valid for general triclinic - - int triclinic_general = domain->triclinic_general; + // verify lattice was defined with triclinic/general option - if (triclinic_general) { - if (!domain->lattice->is_custom()) - error->all(FLERR,"Create_atoms for general triclinic requires custom lattice"); - if (domain->lattice->is_oriented()) - error->all(FLERR,"Create_atoms for general triclinic requires lattice with default orientation"); - } + if (!domain->triclinic_general && domain->lattice->is_general_triclinic()) + error->all(FLERR,"Create_atoms for non general triclinic box cannot use triclinic/general lattice"); + if (domain->triclinic_general && !domain->lattice->is_general_triclinic()) + error->all(FLERR,"Create_atoms for general triclinic box requires triclnic/general lattice"); // convert 8 corners of my subdomain from box coords to lattice coords // for orthogonal, use corner pts of my subbox @@ -1224,7 +1226,7 @@ void CreateAtoms::add_lattice() // compute new bounding box (xyz min/max) in lattice coords // for orthogonal or restricted triclinic, use 8 corner points of bbox lo/hi - if (!triclinic_general) { + if (!domain->triclinic_general) { domain->lattice->bbox(1, bboxlo[0], bboxlo[1], bboxlo[2], xmin, ymin, zmin, xmax, ymax, zmax); domain->lattice->bbox(1, bboxhi[0], bboxlo[1], bboxlo[2], xmin, ymin, zmin, xmax, ymax, zmax); domain->lattice->bbox(1, bboxlo[0], bboxhi[1], bboxlo[2], xmin, ymin, zmin, xmax, ymax, zmax); @@ -1238,7 +1240,7 @@ void CreateAtoms::add_lattice() // new set of 8 points is no longer an orthogonal bounding box // instead invoke lattice->bbox() on each of 8 points - } else if (triclinic_general) { + } else if (domain->triclinic_general) { double point[3]; point[0] = bboxlo[0]; point[1] = bboxlo[1]; point[2] = bboxlo[2]; diff --git a/src/create_box.cpp b/src/create_box.cpp index 4df23d286f..e4ebe4c0cb 100644 --- a/src/create_box.cpp +++ b/src/create_box.cpp @@ -106,10 +106,8 @@ void CreateBox::command(int narg, char **arg) // ABC edge vectors + origin to restricted triclinic } else if (triclinic_general) { - if (!domain->lattice->is_custom()) - error->all(FLERR,"Create_box with no region requires custom lattice"); - if (domain->lattice->is_oriented()) - error->all(FLERR,"Create_box with no region requires lattice with default orientation"); + if (!domain->lattice->is_general_triclinic()) + error->all(FLERR,"Create_box for general triclinic requires triclnic/general lattice"); if (iarg + 6 > narg) utils::missing_cmd_args(FLERR, "create_box general triclinic", error); @@ -154,11 +152,11 @@ void CreateBox::command(int narg, char **arg) if (domain->dimension == 2) { if (cvec[0] != 0.0 || cvec[1] != 0.0 || cvec[2] != 1.0 || origin[2] != -0.5) - error->all(FLERR,"Create_box C vector and/or origin is invalid " + error->all(FLERR,"Create_box C edge vector and/or origin is invalid " "for 2d simulation with general triclinic box"); } - // define general triclinic box within Domain + // define general triclinic box within Domain class domain->define_general_triclinic(avec,bvec,cvec,origin); } @@ -247,7 +245,7 @@ void CreateBox::command(int narg, char **arg) error->all(FLERR, "Unknown create_box keyword: {}", arg[iarg]); } - // problem setup using info from header + // setup the simulation box and initial system // deallocate/grow ensures any extra settings are used for topology arrays // necessary in case no create_atoms is performed diff --git a/src/domain.cpp b/src/domain.cpp index e9a18b897e..3e49255b57 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -571,88 +571,24 @@ void Domain::define_general_triclinic(double *avec_caller, double *bvec_caller, cvec[1] = cvec_caller[1]; cvec[2] = cvec_caller[2]; - boxlo[0] = origin_caller[0]; - boxlo[1] = origin_caller[1]; - boxlo[2] = origin_caller[2]; - // error check on cvec for 2d systems if (dimension == 2 && (cvec[0] != 0.0 || cvec[1] != 0.0)) error->all(FLERR,"General triclinic box edge vector C invalid for 2d system"); - // error checks for 3d systems - // A,B,C cannot be co-planar - // A x B must point in C direction (right-handed) - - double abcross[3]; - MathExtra::cross3(avec,bvec,abcross); - double dot = MathExtra::dot3(abcross,cvec); - if (dot == 0.0) - error->all(FLERR,"General triclinic box edge vectors are co-planar"); - if (dot < 0.0) - error->all(FLERR,"General triclinic box edge vectors must be right-handed"); - - // quat1 = convert A into A' along +x-axis - // rot1 = unit vector to rotate A around - // theta1 = angle of rotation calculated from - // A dot xunit = Ax = |A| cos(theta1) - - double rot1[3],quat1[4]; - double xaxis[3] = {1.0, 0.0, 0.0}; - - double avec_len = MathExtra::len3(avec); - MathExtra::cross3(avec,xaxis,rot1); - MathExtra::norm3(rot1); - double theta1 = acos(avec[0]/avec_len); - MathExtra::axisangle_to_quat(rot1,theta1,quat1); - - // rotmat1 = rotation matrix associated with quat1 - - double rotmat1[3][3]; - MathExtra::quat_to_mat(quat1,rotmat1); - - // B1 = rotation of B by quat1 rotation matrix - - double bvec1[3]; - MathExtra::matvec(rotmat1,bvec,bvec1); - - // quat2 = rotation to convert B1 into B' in xy plane - // Byz1 = projection of B1 into yz plane - // +xaxis = unit vector to rotate B1 around - // theta2 = angle of rotation calculated from - // Byz1 dot yunit = B1y = |Byz1| cos(theta2) - // theta2 via acos() is positive (0 to PI) - // positive is valid if B1z < 0.0 else flip sign of theta2 - - double byzvec1[3],quat2[4]; - MathExtra::copy3(bvec1,byzvec1); - byzvec1[0] = 0.0; - double byzvec1_len = MathExtra::len3(byzvec1); - double theta2 = acos(bvec1[1]/byzvec1_len); - if (bvec1[2] > 0.0) theta2 = -theta2; - MathExtra::axisangle_to_quat(xaxis,theta2,quat2); - - // quat_single = rotation via single quat = quat2 * quat1 - // quat_r2g = rotation from restricted to general - // rotate_g2r = general to restricted rotation matrix - // include flip of C vector if needed to obey right-hand rule - // rotate_r2g = restricted to general rotation matrix - // simply a transpose of rotate_g2r since orthonormal - - double quat_single[4]; - MathExtra::quatquat(quat2,quat1,quat_single); - MathExtra::quat_to_mat(quat_single,rotate_g2r); - MathExtra::transpose3(rotate_g2r,rotate_r2g); - - // rotate general ABC to restricted triclinic A'B'C' + // rotate_g2r = rotation matrix from general to restricted triclnic + // rotate_r2g = rotation matrix from restricted to general triclnic double aprime[3],bprime[3],cprime[3]; - MathExtra::matvec(rotate_g2r,avec,aprime); - MathExtra::matvec(rotate_g2r,bvec,bprime); - MathExtra::matvec(rotate_g2r,cvec,cprime); + general_to_restricted_rotation(avec,bvec,cvec,rotate_g2r,aprime,bprime,cprime); + MathExtra::transpose3(rotate_g2r,rotate_r2g); // set restricted triclinic boxlo, boxhi, and tilt factors + boxlo[0] = origin_caller[0]; + boxlo[1] = origin_caller[1]; + boxlo[2] = origin_caller[2]; + boxhi[0] = boxlo[0] + aprime[0]; boxhi[1] = boxlo[1] + bprime[1]; boxhi[2] = boxlo[2] + cprime[2]; @@ -663,6 +599,7 @@ void Domain::define_general_triclinic(double *avec_caller, double *bvec_caller, // debug + /* printf("Theta1: %g\n",theta1); printf("Rotvec1: %g %g %g\n",rot1[0],rot1[1],rot1[2]); printf("Theta2: %g\n",theta2); @@ -680,6 +617,85 @@ void Domain::define_general_triclinic(double *avec_caller, double *bvec_caller, printf("Length A: %g %g\n",MathExtra::len3(avec),MathExtra::len3(aprime)); printf("Length B: %g %g\n",MathExtra::len3(bvec),MathExtra::len3(bprime)); printf("Length C: %g %g\n",MathExtra::len3(cvec),MathExtra::len3(cprime)); + */ +} + +/* ---------------------------------------------------------------------- + compute rotation matrix to transform from general to restricted triclinic + ABC = 3 general triclinic edge vectors + rotmat = rotation matrix + A`B`C` = 3 restricited triclinic edge vectors +------------------------------------------------------------------------- */ + +void Domain::general_to_restricted_rotation(double *a, double *b, double *c, + double rotmat[3][3], + double *aprime, double *bprime, double *cprime) +{ + // error checks + // A,B,C cannot be co-planar + // A x B must point in C direction (right-handed) + + double abcross[3]; + MathExtra::cross3(a,b,abcross); + double dot = MathExtra::dot3(abcross,c); + if (dot == 0.0) + error->all(FLERR,"General triclinic edge vectors are co-planar"); + if (dot < 0.0) + error->all(FLERR,"General triclinic edge vectors must be right-handed"); + + // quat1 = convert A into A' along +x-axis + // rot1 = unit vector to rotate A around + // theta1 = angle of rotation calculated from + // A dot xunit = Ax = |A| cos(theta1) + + double rot1[3],quat1[4]; + double xaxis[3] = {1.0, 0.0, 0.0}; + + double alen = MathExtra::len3(a); + MathExtra::cross3(a,xaxis,rot1); + MathExtra::norm3(rot1); + double theta1 = acos(a[0]/alen); + MathExtra::axisangle_to_quat(rot1,theta1,quat1); + + // rotmat1 = rotation matrix associated with quat1 + + double rotmat1[3][3]; + MathExtra::quat_to_mat(quat1,rotmat1); + + // B1 = rotation of B by quat1 rotation matrix + + double b1[3]; + MathExtra::matvec(rotmat1,b,b1); + + // quat2 = rotation to convert B1 into B' in xy plane + // Byz1 = projection of B1 into yz plane + // +xaxis = unit vector to rotate B1 around + // theta2 = angle of rotation calculated from + // Byz1 dot yunit = B1y = |Byz1| cos(theta2) + // theta2 via acos() is positive (0 to PI) + // positive is valid if B1z < 0.0 else flip sign of theta2 + + double byzvec1[3],quat2[4]; + MathExtra::copy3(b1,byzvec1); + byzvec1[0] = 0.0; + double byzvec1_len = MathExtra::len3(byzvec1); + double theta2 = acos(b1[1]/byzvec1_len); + if (b1[2] > 0.0) theta2 = -theta2; + MathExtra::axisangle_to_quat(xaxis,theta2,quat2); + + // quat_single = rotation via single quat = quat2 * quat1 + // quat_r2g = rotation from restricted to general + // rotmat = general to restricted rotation matrix + + double quat_single[4]; + MathExtra::quatquat(quat2,quat1,quat_single); + MathExtra::quat_to_mat(quat_single,rotmat); + + // rotate general ABC to restricted triclinic A'B'C' + + MathExtra::matvec(rotate_g2r,a,aprime); + MathExtra::matvec(rotate_g2r,b,bprime); + MathExtra::matvec(rotate_g2r,c,cprime); } /* ---------------------------------------------------------------------- diff --git a/src/domain.h b/src/domain.h index 41994e2140..c54c08df3d 100644 --- a/src/domain.h +++ b/src/domain.h @@ -142,6 +142,9 @@ class Domain : protected Pointers { int ownatom(int, double *, imageint *, int); void define_general_triclinic(double *, double *, double *, double *); + void general_to_restricted_rotation(double *, double *, double *, + double [3][3], + double *, double *, double *); void general_to_restricted_coords(double *); void restricted_to_general_coords(double *); void restricted_to_general_coords(double *, double *); diff --git a/src/lattice.cpp b/src/lattice.cpp index 815700003d..d29a378589 100644 --- a/src/lattice.cpp +++ b/src/lattice.cpp @@ -138,6 +138,8 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) // process optional args + int triclinic_general = 0; + int iarg = 2; while (iarg < narg) { if (strcmp(arg[iarg],"origin") == 0) { @@ -222,6 +224,11 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) error->all(FLERR, "Invalid lattice basis argument: {}", z); add_basis(x,y,z); iarg += 4; + + } else if (strcmp(arg[iarg],"triclinic/general") == 0) { + triclinic_general = 1; + iarg++; + } else error->all(FLERR,"Unknown lattice keyword: {}", arg[iarg]); } @@ -256,6 +263,26 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) error->all(FLERR,"Lattice spacings are invalid"); } + // requirements for a general triclinic lattice + // right-handed requirement is checked by domain->general_to_restricted_rotation() + // a123 prime are used to compute lattice spacings + + if (triclinic_general) { + if (style != CUSTOM) + error->all(FLERR,"Lattice triclnic/general must be style = CUSTOM"); + if (origin[0] != 0.0 || origin[1] != 0.0 || origin[2] != 0.0) + error->all(FLERR,"Lattice triclnic/general must have default origin"); + int oriented = 0; + if (orientx[0] != 1 || orientx[1] != 0 || orientx[2] != 0) oriented = 1; + if (orienty[0] != 0 || orienty[1] != 1 || orienty[2] != 0) oriented = 1; + if (orientz[0] != 0 || orientz[1] != 0 || orientz[2] != 1) oriented = 1; + if (oriented) + error->all(FLERR,"Lattice triclnic/general must have default orientation"); + + double rotmat[3][3]; + domain->general_to_restricted_rotation(a1,a2,a3,rotmat,a1_prime,a2_prime,a3_prime); + } + // reset scale for LJ units (input scale is rho*) // scale = (Nbasis/(Vprimitive * rho*)) ^ (1/dim) // use fabs() in case a1,a2,a3 are not right-handed for general triclinic @@ -267,18 +294,11 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) scale = pow(nbasis/volume/scale,1.0/dimension); } - // set orientflag - // for general triclinic, create_box and create_atoms require orientflag = 0 - - oriented = 0; - if (orientx[0] != 1 || orientx[1] != 0 || orientx[2] != 0) oriented = 1; - if (orienty[0] != 0 || orienty[1] != 1 || orienty[2] != 0) oriented = 1; - if (orientz[0] != 0 || orientz[1] != 0 || orientz[2] != 1) oriented = 1; - // initialize lattice <-> box transformation matrices - setup_transform(); + setup_transform(a1,a2,a3); + // automatic calculation of lattice spacings // convert 8 corners of primitive unit cell from lattice coords to box coords // min to max = bounding box around the pts in box space // xlattice,ylattice,zlattice = extent of bbox in box space @@ -291,6 +311,14 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) xmax = ymax = zmax = -BIG; xlattice = ylattice = zlattice = 0.0; + // for general triclinic, bounding box is around unit cell + // in restricted triclinic orientation, NOT general + // this enables lattice spacings to be used for other commands (e.g. region) + // after create_box and create_atoms create the restricted triclnic system + // reset transform used by bbox() to be based on rotated a123 prime vectors + + if (triclinic_general) setup_transform(a1_prime,a2_prime,a3_prime); + bbox(0,0.0,0.0,0.0,xmin,ymin,zmin,xmax,ymax,zmax); bbox(0,1.0,0.0,0.0,xmin,ymin,zmin,xmax,ymax,zmax); bbox(0,0.0,1.0,0.0,xmin,ymin,zmin,xmax,ymax,zmax); @@ -300,10 +328,16 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) bbox(0,0.0,1.0,1.0,xmin,ymin,zmin,xmax,ymax,zmax); bbox(0,1.0,1.0,1.0,xmin,ymin,zmin,xmax,ymax,zmax); + // restore original general triclinic a123 transform + + if (triclinic_general) setup_transform(a2,a2,a3); + xlattice = xmax - xmin; ylattice = ymax - ymin; zlattice = zmax - zmin; + // user-defined lattice spacings + } else { xlattice *= scale; ylattice *= scale; @@ -325,24 +359,13 @@ Lattice::~Lattice() } /* ---------------------------------------------------------------------- - return 1 if style = CUSTOM, else 0 - queried by create_box and create_atoms for general triclinic + return 1 if lattice is for a general triclinic simulation box + queried by create_box and create_atoms ------------------------------------------------------------------------- */ -int Lattice::is_custom() +int Lattice::is_general_triclinic() { - if (style == CUSTOM) return 1; - return 0; -} - -/* ---------------------------------------------------------------------- - return 1 any orient vectors are non-default, else 0 - queried by create_box and create_atoms for general triclinic -------------------------------------------------------------------------- */ - -int Lattice::is_oriented() -{ - if (oriented) return 1; + if (triclinic_general) return 1; return 0; } @@ -395,21 +418,21 @@ int Lattice::collinear() initialize lattice <-> box transformation matrices ------------------------------------------------------------------------- */ -void Lattice::setup_transform() +void Lattice::setup_transform(double *a, double *b, double *c) { double length; // primitive = 3x3 matrix with primitive vectors as columns - primitive[0][0] = a1[0]; - primitive[1][0] = a1[1]; - primitive[2][0] = a1[2]; - primitive[0][1] = a2[0]; - primitive[1][1] = a2[1]; - primitive[2][1] = a2[2]; - primitive[0][2] = a3[0]; - primitive[1][2] = a3[1]; - primitive[2][2] = a3[2]; + primitive[0][0] = a[0]; + primitive[1][0] = a[1]; + primitive[2][0] = a[2]; + primitive[0][1] = b[0]; + primitive[1][1] = b[1]; + primitive[2][1] = b[2]; + primitive[0][2] = c[0]; + primitive[1][2] = c[1]; + primitive[2][2] = c[2]; // priminv = inverse of primitive diff --git a/src/lattice.h b/src/lattice.h index d91b5cc834..74f213bdb4 100644 --- a/src/lattice.h +++ b/src/lattice.h @@ -28,34 +28,37 @@ class Lattice : protected Pointers { int nbasis; // # of basis atoms in unit cell double **basis; // fractional coords of each basis atom // within unit cell (0 <= coord < 1) - + Lattice(class LAMMPS *, int, char **); ~Lattice() override; void lattice2box(double &, double &, double &); void box2lattice(double &, double &, double &); void bbox(int, double, double, double, double &, double &, double &, double &, double &, double &); - int is_custom(); - int is_oriented(); + int is_general_triclinic(); private: + int triclinic_general; // 1 if general triclinic, else 0 + int oriented; // 1 if non-default orient xyz, else 0 double scale; - double origin[3]; // lattice origin - int oriented; // 1 if non-default orient xyz, else 0 - int orientx[3]; // lattice orientation vecs - int orienty[3]; // orientx = what lattice dir lies - int orientz[3]; // along x dim in box - + double origin[3]; // lattice origin + int orientx[3]; // lattice orientation vecs + int orienty[3]; // orientx = what lattice dir lies + int orientz[3]; // along x dim in box - double primitive[3][3]; // lattice <-> box transform matrices + double primitive[3][3]; // lattice <-> box transformation matrices double priminv[3][3]; double rotaterow[3][3]; double rotatecol[3][3]; + double a1_prime[3]; // a123 rotated to restricted triclinic orientation + double a2_prime[3]; + double a3_prime[3]; + int orthogonal(); int right_handed(); int collinear(); - void setup_transform(); + void setup_transform(double *, double *, double *); void add_basis(double, double, double); double dot(double *, double *); void cross(double *, double *, double *); From 92b02041cbf768a16ac7109189db3b3ec5094c12 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Sat, 18 Nov 2023 17:16:29 -0700 Subject: [PATCH 079/559] more edits on create_atoms doc page --- doc/src/create_atoms.rst | 106 ++++++++++++++++++--------------------- doc/src/create_box.rst | 4 +- doc/src/read_data.rst | 15 +++--- src/create_atoms.cpp | 2 +- 4 files changed, 59 insertions(+), 68 deletions(-) diff --git a/doc/src/create_atoms.rst b/doc/src/create_atoms.rst index c9e8f3e840..2668146852 100644 --- a/doc/src/create_atoms.rst +++ b/doc/src/create_atoms.rst @@ -86,16 +86,22 @@ Description """"""""""" This command creates atoms (or molecules) within the simulation box, -either on a lattice, or at a single specified location, or randomly, -or on a surface defined by a triangulated mesh. It is an alternative -to reading in atom coordinates explicitly via a :doc:`read_data -` or :doc:`read_restart ` command. A -simulation box must already exist, which is typically created via the -:doc:`create_box ` command. Before using this command, a -lattice must typically also be defined using the :doc:`lattice -` command, unless you specify the *single* style with units = -box or the *random* style. For the remainder of this doc page, a -created atom or molecule is referred to as a "particle". +either on a lattice, or at random points, or on a surface defined by a +triangulated mesh. Or it creates a single atom (or molecule) at a +specified point. It is an alternative to reading in atom coordinates +explicitly via a :doc:`read_data ` or :doc:`read_restart +` command. + +To use this command a simulation box must already exist, which is +typically created via the :doc:`create_box ` command. +Before using this command, a lattice must typically also be defined +using the :doc:`lattice ` command, unless you specify the +*single* or *mesh* style with units = box or the *random* style. To +create atoms on a lattice for general triclinic boxes, see the +disucssion below. + +For the remainder of this doc page, a created atom or molecule is +referred to as a "particle". If created particles are individual atoms, they are assigned the specified atom *type*, though this can be altered via the *basis* @@ -126,46 +132,21 @@ periodic boundaries. If this is desired, you should either use the *box* style, or tweak the region size to get precisely the particles you want. +---------- ------------------- - -WORK on this - - -If a general triclinic simulation box is defined ... - - - -As noted above, general triclinic boxes in LAMMPS allow for arbitrary -edge vectors **A**, **B**, **C**. The only restrictions are that the -three vectors be distinct, non-zero, and not co-planar. They must -also define a right-handed system such that (**A** x **B**) points in -the direction of **C**. Note that a left-handed system can be -converted to a right-handed system by simply swapping the order of any -pair of the **A**, **B**, **C** vectors. - -To create a general triclinic boxes, the region is specified as NULL -and the next 6 parameters (alo,ahi,blo,bhi,clo,chi) define the three -edge vectors **A**, **B**, **C** using additional information -previously defind by the :doc:`lattice ` command. - -The lattice must be of style *custom* and use its *triclinic/general* -option. This insures the lattice satisfies the restrictions listed -above. The *a1, *a2*, *a3* settings of the :doc:`lattice ` +If the simulation box is formulated as a general triclinic box defined +by arbitary edge vectors **A**, **B**, **C**, then the *box* and +*region* styles will create atoms on a lattice commensurate with those +edge vectors. See the :doc:`Howto_triclinic ` doc +page for a detailed explanation of orthogonal, restricted triclinic, +and general triclinic simulation boxes. As with the :doc:`create_box +` command, the :doc:`lattice ` command used by +this command must be of style *custom* and use its *triclinic/general* +option. The *a1, *a2*, *a3* settings of the :doc:`lattice ` command define the edge vectors of a unit cell of the general -triclinic lattice. This command uses them to define the three edge -vectors and origin of the general triclinic box as: - - -explain region is applied after conversion to restricted triclinic atom coords - -explain general tri for box and region styles -must use lattice triclinic/general -paragraph about DFT motivation -doc that single, random, mesh operate on restricted triclinic box - ------------------- - +triclinic lattice. The :doc:`create_box ` command creates +a simulation box which replicates that unit cell along each of the +**A**, **B**, **C** edge vectors. .. note:: @@ -175,19 +156,28 @@ doc that single, random, mesh operate on restricted triclinic box input to LAMMPS. However, as explained on the :doc:`Howto_triclinic ` doc page, internally, LAMMPS only uses restricted triclinic simulation boxes. This means - the box defined by this command and per-atom information - (e.g. coordinates, velocities) defined by the :doc:`create_atoms - ` command are converted from general to restricted - triclinic form when the two commands are invoked. The - ` doc page also discusses other LAMMPS commands - which can input/output general triclinic representations of the - simulation box and per-atom data. - - - + the box created by the :doc:`create_box ` command and + the atoms with their per-atom information (e.g. coordinates, + velocities) created by this command are converted (rotated) from + general to restricted triclinic form when the two commands are + invoked. The ` doc page also discusses other + LAMMPS commands which can input/output general triclinic + representations of the simulation box and per-atom data. +The *box* style will fill the entire general triclinic box with +particles on the lattice, as explained above. The *region* style also +operates as explained above, but the check for particles inside the +region is performed *after* the particle coordinates have been +converted to the restricted triclinic box. This means the region must +also be defined with respect to the restricted triclinic box, not the +general triclinic box. +If the simulation box is general triclinic, the *single*, *random*, +and *mesh* styles described next operate on the box after it has been +converted to restricted triclinic. So all the settings for those +styles should be made in that context. +---------- For the *single* style, a single particle is added to the system at the specified coordinates. This can be useful for debugging purposes diff --git a/doc/src/create_box.rst b/doc/src/create_box.rst index 11b2878fe4..79aa839d11 100644 --- a/doc/src/create_box.rst +++ b/doc/src/create_box.rst @@ -204,8 +204,8 @@ to do this is to specify clo = -0.5 and chi = 0.5 and use the LAMMPS only uses restricted triclinic simulation boxes. This means the box defined by this command and per-atom information (e.g. coordinates, velocities) defined by the :doc:`create_atoms - ` command are converted from general to restricted - triclinic form when the two commands are invoked. The + ` command are converted (rotated) from general to + restricted triclinic form when the two commands are invoked. The ` doc page also discusses other LAMMPS commands which can input/output general triclinic representations of the simulation box and per-atom data. diff --git a/doc/src/read_data.rst b/doc/src/read_data.rst index 56c92355a8..897f6878b0 100644 --- a/doc/src/read_data.rst +++ b/doc/src/read_data.rst @@ -476,13 +476,14 @@ For 2d simulations, *cvec* = (0,0,1) is required, and the 3rd value of :doc:`Howto_triclinic ` doc page, internally, LAMMPS only uses restricted triclinic simulation boxes. This means the box and per-atom information (e.g. coordinates, velocities) in - the data file are converted from general to restricted triclinic - form when the file is read. Other sections of the data file must - also list their per-atom data appropriately if vector quantities - are specified. This requirement is explained below for the relevant - sections. The :doc:`Howto_triclinic ` doc page - also discusses other LAMMPS commands which can input/output general - triclinic representations of the simulation box and per-atom data. + the data file are converted (rotated) from general to restricted + triclinic form when the file is read. Other sections of the data + file must also list their per-atom data appropriately if vector + quantities are specified. This requirement is explained below for + the relevant sections. The :doc:`Howto_triclinic + ` doc page also discusses other LAMMPS commands + which can input/output general triclinic representations of the + simulation box and per-atom data. The following explanations apply to all 3 kinds of simulation boxes: orthogonal, restricted triclinic, and general triclinic. diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index a24fba4612..d510014191 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -1179,7 +1179,7 @@ void CreateAtoms::add_lattice() if (!domain->triclinic_general && domain->lattice->is_general_triclinic()) error->all(FLERR,"Create_atoms for non general triclinic box cannot use triclinic/general lattice"); if (domain->triclinic_general && !domain->lattice->is_general_triclinic()) - error->all(FLERR,"Create_atoms for general triclinic box requires triclnic/general lattice"); + error->all(FLERR,"Create_atoms for general triclinic box requires triclinic/general lattice"); // convert 8 corners of my subdomain from box coords to lattice coords // for orthogonal, use corner pts of my subbox From dfafdff2093fa347c44ff23fea381b620e670df8 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 20 Nov 2023 12:06:58 -0700 Subject: [PATCH 080/559] finalized dump command support for general triclinic --- doc/src/create_atoms.rst | 141 ++++++++++++++++++++------------------- doc/src/dump.rst | 108 +++++++++++++++++++++++++++--- doc/src/dump_modify.rst | 45 +++++++++++-- src/create_atoms.cpp | 9 ++- src/dump_atom.cpp | 20 +++--- src/dump_atom.h | 2 +- src/dump_custom.cpp | 34 ++++++---- src/dump_custom.h | 3 +- src/lattice.cpp | 61 ++++++++--------- src/lattice.h | 3 +- tools/binary2txt.cpp | 46 ++++++++++--- 11 files changed, 319 insertions(+), 153 deletions(-) diff --git a/doc/src/create_atoms.rst b/doc/src/create_atoms.rst index 2668146852..71303a7d4f 100644 --- a/doc/src/create_atoms.rst +++ b/doc/src/create_atoms.rst @@ -112,6 +112,21 @@ added to the specified atom *type* (e.g., if *type* = 2 and the file specifies atom types 1, 2, and 3, then each created molecule will have atom types 3, 4, and 5). +.. note:: + + You cannot use this command to create atoms that are outside the + simulation box; they will just be ignored by LAMMPS. This is true + even if you are using shrink-wrapped box boundaries, as specified + by the :doc:`boundary ` command. However, you can first + use the :doc:`change_box ` command to temporarily + expand the box, then add atoms via create_atoms, then finally use + change_box command again if needed to re-shrink-wrap the new atoms. + See the :doc:`change_box ` doc page for an example of + how to do this, using the create_atoms *single* style to insert a + new atom outside the current simulation box. + +---------- + For the *box* style, the create_atoms command fills the entire simulation box with particles on the lattice. If your simulation box is periodic, you should ensure its size is a multiple of the lattice @@ -182,7 +197,64 @@ styles should be made in that context. For the *single* style, a single particle is added to the system at the specified coordinates. This can be useful for debugging purposes or to create a tiny system with a handful of particles at specified -positions. +positions. For a 2d simulation the specified z coordinate must be +0.0. + +.. versionchanged:: 2Jun2022 + +The *porosity* style has been renamed to *random* with added functionality. + +For the *random* style, *N* particles are added to the system at +randomly generated coordinates, which can be useful for generating an +amorphous system. For 2d simulations, the z coordinates of all added +atoms will be 0.0. + +The particles are created one by one using the specified random number +*seed*, resulting in the same set of particle coordinates, independent +of how many processors are being used in the simulation. Unless the +*overlap* keyword is specified, particles created by the *random* +style will typically be highly overlapped. Various additional +criteria can be used to accept or reject a random particle insertion; +see the keyword discussion below. Multiple attempts per particle are +made (see the *maxtry* keyword) until the insertion is either +successful or fails. If this command fails to add all requested *N* +particles, a warning will be output. + +If the *region-ID* argument is specified as NULL, then the randomly +created particles will be anywhere in the simulation box. If a +*region-ID* is specified, a geometric volume is filled that is both +inside the simulation box and is also consistent with the region +volume. See the :doc:`region ` command for details. Note +that a region can be specified so that its "volume" is either inside +or outside its geometric boundary. + +Note that the create_atoms command adds particles to those that +already exist. This means it can be used to add particles to a system +previously read in from a data or restart file. Or the create_atoms +command can be used multiple times, to add multiple sets of particles +to the simulation. For example, grain boundaries can be created, by +interleaving the create_atoms command with :doc:`lattice ` +commands specifying different orientations. + +When this command is used, care should be taken to ensure the +resulting system does not contain particles that are highly +overlapped. Such overlaps will cause many interatomic potentials to +compute huge energies and forces, leading to bad dynamics. There are +several strategies to avoid this problem: + +* Use the :doc:`delete_atoms overlap ` command after + create_atoms. For example, this strategy can be used to overlay and + surround a large protein molecule with a volume of water molecules, + then delete water molecules that overlap with the protein atoms. + +* For the *random* style, use the optional *overlap* keyword to avoid + overlaps when each new particle is created. + +* Before running dynamics on an overlapped system, perform an + :doc:`energy minimization `. Or run initial dynamics with + :doc:`pair_style soft ` or with :doc:`fix nve/limit + ` to un-overlap the particles, before running normal + dynamics. .. figure:: img/marble_race.jpg :figwidth: 33% @@ -242,73 +314,6 @@ to the area of that triangle. beneficial to exclude computing interactions between the created particles using :doc:`neigh_modify exclude `. -.. versionchanged:: 2Jun2022 - -The *porosity* style has been renamed to *random* with added functionality. - -For the *random* style, *N* particles are added to the system at -randomly generated coordinates, which can be useful for generating an -amorphous system. The particles are created one by one using the -specified random number *seed*, resulting in the same set of particle -coordinates, independent of how many processors are being used in the -simulation. Unless the *overlap* keyword is specified, particles -created by the *random* style will typically be highly overlapped. -Various additional criteria can be used to accept or reject a random -particle insertion; see the keyword discussion below. Multiple -attempts per particle are made (see the *maxtry* keyword) until the -insertion is either successful or fails. If this command fails to add -all requested *N* particles, a warning will be output. - -If the *region-ID* argument is specified as NULL, then the randomly -created particles will be anywhere in the simulation box. If a -*region-ID* is specified, a geometric volume is filled that is both -inside the simulation box and is also consistent with the region -volume. See the :doc:`region ` command for details. Note -that a region can be specified so that its "volume" is either inside -or outside its geometric boundary. - -Note that the create_atoms command adds particles to those that -already exist. This means it can be used to add particles to a system -previously read in from a data or restart file. Or the create_atoms -command can be used multiple times, to add multiple sets of particles -to the simulation. For example, grain boundaries can be created, by -interleaving the create_atoms command with :doc:`lattice ` -commands specifying different orientations. - -When this command is used, care should be taken to ensure the -resulting system does not contain particles that are highly -overlapped. Such overlaps will cause many interatomic potentials to -compute huge energies and forces, leading to bad dynamics. There are -several strategies to avoid this problem: - -* Use the :doc:`delete_atoms overlap ` command after - create_atoms. For example, this strategy can be used to overlay and - surround a large protein molecule with a volume of water molecules, - then delete water molecules that overlap with the protein atoms. - -* For the *random* style, use the optional *overlap* keyword to avoid - overlaps when each new particle is created. - -* Before running dynamics on an overlapped system, perform an - :doc:`energy minimization `. Or run initial dynamics with - :doc:`pair_style soft ` or with :doc:`fix nve/limit - ` to un-overlap the particles, before running normal - dynamics. - -.. note:: - - You cannot use any of the styles explained above to create atoms - that are outside the simulation box; they will just be ignored by - LAMMPS. This is true even if you are using shrink-wrapped box - boundaries, as specified by the :doc:`boundary ` command. - However, you can first use the :doc:`change_box ` - command to temporarily expand the box, then add atoms via - create_atoms, then finally use change_box command again if needed - to re-shrink-wrap the new atoms. See the :doc:`change_box - ` doc page for an example of how to do this, using the - create_atoms *single* style to insert a new atom outside the - current simulation box. - ---------- Individual atoms are inserted by this command, unless the *mol* diff --git a/doc/src/dump.rst b/doc/src/dump.rst index e5885dc25d..93bffa3fdc 100644 --- a/doc/src/dump.rst +++ b/doc/src/dump.rst @@ -278,16 +278,20 @@ format ` command and its options. Format of native LAMMPS format dump files: The *atom*, *custom*, *grid*, and *local* styles create files in a -simple LAMMPS-specific text format that is self-explanatory when -viewing a dump file. Many post-processing tools either included with -LAMMPS or third-party tools can read this format, as does the +simple LAMMPS-specific text format that is mostly self-explanatory +when viewing a dump file. Many post-processing tools either included +with LAMMPS or third-party tools can read this format, as does the :doc:`rerun ` command. See tools described on the :doc:`Tools ` doc page for examples, including `Pizza.py `_. For all these styles, the dimensions of the simulation box are -included in each snapshot. For an orthogonal simulation box this -information is formatted as: +included in each snapshot. The simulation box in LAMMPS can be +defined in one of 3 ways: orthogonal, restricted triclinic, and +general triclinic. See the :doc:`Howto triclinic ` +doc page for a detailed description of all 3 options. + +For an orthogonal simulation box the box information is formatted as: .. parsed-literal:: @@ -304,10 +308,10 @@ the six characters is one of *p* (periodic), *f* (fixed), *s* (shrink wrap), or *m* (shrink wrapped with a minimum value). See the :doc:`boundary ` command for details. -For triclinic simulation boxes (non-orthogonal), an orthogonal -bounding box which encloses the triclinic simulation box is output, -along with the three tilt factors (*xy*, *xz*, *yz*) of the triclinic box, -formatted as follows: +For a restricted triclinic simulation box, an orthogonal bounding box +which encloses the restricted triclinic simulation box is output, +along with the three tilt factors (*xy*, *xz*, *yz*) of the triclinic +box, formatted as follows: .. parsed-literal:: @@ -329,6 +333,10 @@ bounding box extents (xlo_bound, xhi_bound, etc.) are calculated from the triclinic parameters, and how to transform those parameters to and from other commonly used triclinic representations. +For a general triclinic simulation box, see the "General triclinic" +section below for a description of the ITEM: BOX BOUNDS format as well +as how per-atom coordinates and per-atom vector quantities are output. + The *atom* and *custom* styles output a "ITEM: NUMBER OF ATOMS" line with the count of atoms in the snapshot. Likewise they output an "ITEM: ATOMS" line which includes column descriptors for the per-atom @@ -400,7 +408,6 @@ command. Dump files in other popular formats: - .. note:: This section only discusses file formats relevant to this doc page. @@ -656,6 +663,87 @@ how to control the compression level in both variants. ---------- +General triclinic simulation box output for the *atom* and *custom* styles: + +As mentioned above, the simulation box can be defined as a general +triclinic box, which means that 3 arbitrary box edge vectors **A**, +**B**, **C** can be specified. See the :doc:`Howto triclinic +` doc page for a detailed description of general +triclinic boxes. + +This option is provided as a convenience for users who may be +converting data from solid-state crystallograhic representations or +from DFT codes for input to LAMMPS. However, as explained on the +:doc:`Howto_triclinic ` doc page, internally, LAMMPS +only uses restricted triclinic simulation boxes. This means the box +and per-atom information (e.g. coordinates, velocities) LAMMPS stores +are converted (rotated) from general to restricted triclinic form when +the system is created. + +For dump output, if the :doc:`dump_modify triclinic/general +` command is used, the box description and per-atom +coordinates and other per-atom vectors will be converted (rotated) +from restricted to general form when each dump file snapshots is +output. This option can only be used if the simulation box was +initially created as general triclinic. If the option is not used, +and the simulation box is general triclinic, then the dump file +snapshots will reflect the internal restricted triclinic geometry. + +The dump_modify triclinic/general option affects 3 aspects of the dump +file output. + +First, the format for the BOX BOUNDS is as follows + +.. parsed-literal:: + + ITEM: BOX BOUNDS abc origin + ax ay az originx + bx by bz originy + cx cy cz originz + +where the **A** edge vector of the box is (ax,ay,az) and similarly +for **B** and **C**. The origin of all 3 edge vectors is (originx, +originy, originz). + +Second, the coordinates of each atom are converted (rotated) so that +the atom is inside (or near) the general triclinic box defined by the +**A**, **B**, **C** edge vectors. For style *atom*, this only alters +output for unscaled atom coords, via the :doc:`dump_modify scaled no +` setting. For style *custom*, this alters output for +either unscaled or unwrapped output of atom coords, via the *x,y,z* or +*xu,yu,zu* attributes. For output of scaled atom coords by both +styles, there is no difference bewteen restricted and general +triclinic values. + +Third, the output for any attribute of the *custom* style which +represents a per-atom vector quantity will be converted (rotated) to +be oriented consistent with the general tricinic box and its +orientation relative to the standard xyz coordinate axes. + +This applies to the following *custom* style attributes: + +* vx,vy,vz = atom velocities +* fx,fy,fz = forces on atoms +* mux,muy,muz = orientation of dipole moment of atom +* omegax,omegay,omegaz = angular velocity of spherical particle +* angmomx,angmomy,angmomz = angular momentum of aspherical particle +* tqx,tqy,tqz = torque on finite-size particles + +For example, if the velocity of an atom in a restricted triclinic box +is along the x-axis, then it will be output for a general triclinic +box as a vector along the **A** edge vector of the box. + +.. note:: + + For style *custom*, the :doc:`dump_modify thresh ` + command may access per-atom attributes either directly or + indirectly through a compute or variable. If the attribute is an + atom coordinate or one of the vectors mentioned above, its value + will *NOT* be a general triclinic (rotated) value. Rather it will + be a restricted triclinic value. + +---------- + Arguments for different styles: The sections below describe per-atom, local, and per grid cell diff --git a/doc/src/dump_modify.rst b/doc/src/dump_modify.rst index 2d84f28836..31f1cd214e 100644 --- a/doc/src/dump_modify.rst +++ b/doc/src/dump_modify.rst @@ -17,7 +17,7 @@ Syntax * one or more keyword/value pairs may be appended * these keywords apply to various dump styles -* keyword = *append* or *at* or *balance* or *buffer* or *colname* or *delay* or *element* or *every* or *every/time* or *fileper* or *first* or *flush* or *format* or *header* or *image* or *label* or *maxfiles* or *nfile* or *pad* or *pbc* or *precision* or *region* or *refresh* or *scale* or *sfactor* or *skip* or *sort* or *tfactor* or *thermo* or *thresh* or *time* or *units* or *unwrap* +* keyword = *append* or *at* or *balance* or *buffer* or *colname* or *delay* or *element* or *every* or *every/time* or *fileper* or *first* or *flush* or *format* or *header* or *image* or *label* or *maxfiles* or *nfile* or *pad* or *pbc* or *precision* or *region* or *refresh* or *scale* or *sfactor* or *skip* or *sort* or *tfactor* or *thermo* or *thresh* or *time* or *triclinic/general* or *units* or *unwrap* .. parsed-literal:: @@ -74,12 +74,13 @@ Syntax -N = sort per-atom lines in descending order by the Nth column *tfactor* arg = time scaling factor (> 0.0) *thermo* arg = *yes* or *no* - *time* arg = *yes* or *no* *thresh* args = attribute operator value attribute = same attributes (x,fy,etotal,sxx,etc) used by dump custom style operator = "<" or "<=" or ">" or ">=" or "==" or "!=" or "\|\^" value = numeric value to compare to, or LAST these 3 args can be replaced by the word "none" to turn off thresholding + *time* arg = *yes* or *no* + *triclinic/general* arg = none *units* arg = *yes* or *no* *unwrap* arg = *yes* or *no* @@ -802,8 +803,9 @@ region since the last dump. dump_modify ... thresh v_charge |^ LAST This will dump atoms whose charge has changed from an absolute value -less than :math:`\frac12` to greater than :math:`\frac12` (or vice versa) since the last dump (e.g., due to reactions and subsequent charge equilibration in a -reactive force field). +less than :math:`\frac12` to greater than :math:`\frac12` (or vice +versa) since the last dump (e.g., due to reactions and subsequent +charge equilibration in a reactive force field). The choice of operators listed above are the usual comparison operators. The XOR operation (exclusive or) is also included as "\|\^". @@ -811,6 +813,18 @@ In this context, XOR means that if either the attribute or value is 0.0 and the other is non-zero, then the result is "true" and the threshold criterion is met. Otherwise it is not met. +.. note:: + + For style *custom*, the *triclinic/general* keyword alters dump + output for general triclinic simulation boxes and their atoms. See + the :doc:`dump ` command for details of how this changes the + format of dump file snapstots. The thresh keyword may access + per-atom attributes either directly or indirectly through a compute + or variable. If the attribute is an atom coordinate or a per-atom + vector (such as velocity, force, or dipole moment), its value will + *NOT* be a general triclinic (rotated) value. Rather it will be a + restricted triclinic value. + ---------- The *time* keyword only applies to the dump *atom*, *custom*, *local*, @@ -835,6 +849,27 @@ The default setting is *no*\ . ---------- +The *triclinic/general* keyword only applies to the dump *atom* and +*custom* styles. It can only be used if the simulation box was +created as a general triclinic box. See the :doc:`Howto_triclinic +` doc page for a detailed explanation of orthogonal, +restricted triclinic, and general triclinic simulation boxes. + +If this keyword is used, the box information at the beginning of each +snapshot will include information about the 3 arbitrary edge vectors +**A**, **B**, **C** that define the general triclinic box as well as +their origin. The format is described on the :doc:`dump ` doc +page. + +The coordinates of each atom will be output as values in (or near) the +general triclinic box. Likewise, per-atom vector quantities such as +velocity, omega, dipole moment, etc will have orientations consistent +with the general triclinic box, meaning they will be rotated relative +to the standard xyz coordinate axes. See the :doc:`dump ` doc +page for a full list of which dump attributes this affects. + +---------- + The *units* keyword only applies to the dump *atom*, *custom*, and *local* styles (and their COMPRESS package versions *atom/gz*, *custom/gz* and *local/gz*\ ). If set to *yes*, each individual dump @@ -922,6 +957,8 @@ The option defaults are * sort = off for dump styles *atom*, *custom*, *cfg*, and *local* * sort = id for dump styles *dcd*, *xtc*, and *xyz* * thresh = none +* time = no +* triclinic/general not specified * units = no * unwrap = no diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index d510014191..59b0ad4ab6 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -113,6 +113,8 @@ void CreateAtoms::command(int narg, char **arg) xone[0] = utils::numeric(FLERR, arg[2], false, lmp); xone[1] = utils::numeric(FLERR, arg[3], false, lmp); xone[2] = utils::numeric(FLERR, arg[4], false, lmp); + if (domain->dimension == 2 && xone[2] != 0.0) + error->all(FLERR,"Create_atoms single for 2d simulation requires z coord = 0.0"); iarg = 5; } else if (strcmp(arg[1], "random") == 0) { style = RANDOM; @@ -359,7 +361,8 @@ void CreateAtoms::command(int narg, char **arg) if ((style == BOX) || (style == REGION)) { if (nbasis == 0) error->all(FLERR, "Cannot create atoms with undefined lattice"); - + } + // apply scaling factor for styles that use distance-dependent factors if (scaleflag) { @@ -369,8 +372,8 @@ void CreateAtoms::command(int narg, char **arg) xone[2] *= domain->lattice->zlattice; } else if (style == RANDOM) { if (overlapflag) overlap *= domain->lattice->xlattice; - } else if (style == MESH) { // NOTE to Axel - here is the rescaling of both params - if (mesh_style == BISECT) { // by lattice spacings if units = lattice, similar to xone,overlap + } else if (style == MESH) { // NOTE to Axel - here is the rescaling of both params + if (mesh_style == BISECTION) { // by lattice spacings if units = lattice, similar to xone,overlap radthresh *= domain->lattice->xlattice; } else if (mesh_style = QUASIRANDOM) { mesh_density /= (domain->lattice->xlattice * domain->lattice->xlattice); diff --git a/src/dump_atom.cpp b/src/dump_atom.cpp index 38c8431269..a029a68135 100644 --- a/src/dump_atom.cpp +++ b/src/dump_atom.cpp @@ -156,17 +156,21 @@ int DumpAtom::modify_param(int narg, char **arg) scale_flag = utils::logical(FLERR,arg[1],false,lmp); for (auto &item : keyword_user) item.clear(); return 2; - } else if (strcmp(arg[0],"image") == 0) { + } + + if (strcmp(arg[0],"image") == 0) { if (narg < 2) error->all(FLERR,"Illegal dump_modify command"); image_flag = utils::logical(FLERR,arg[1],false,lmp); for (auto &item : keyword_user) item.clear(); return 2; - } else if (strcmp(arg[0],"triclinic/general") == 0) { - if (narg < 2) error->all(FLERR,"Illegal dump_modify command"); - triclinic_general = utils::logical(FLERR,arg[1],false,lmp); + } + + if (strcmp(arg[0],"triclinic/general") == 0) { + triclinic_general = 1; if (triclinic_general && !domain->triclinic_general) - error->all(FLERR,"Dump_modify triclinic/general invalid b/c simulation box is not"); - return 2; + error->all(FLERR,"Dump_modify triclinic/general cannot be used " + "if simulation box is not general triclinic"); + return 1; } return 0; @@ -410,9 +414,7 @@ void DumpAtom::header_item_triclinic_general(bigint ndump) } if (time_flag) fmt::print(fp,"ITEM: TIME\n{:.16}\n",compute_time()); - fmt::print(fp,"ITEM: TIMESTEP\n{}\n" - "ITEM: NUMBER OF ATOMS\n{}\n", - update->ntimestep, ndump); + fmt::print(fp,"ITEM: TIMESTEP\n{}\nITEM: NUMBER OF ATOMS\n{}\n", update->ntimestep, ndump); fmt::print(fp,"ITEM: BOX BOUNDS abc origin {}\n" "{:>1.16e} {:>1.16e} {:>1.16e} {:>1.16e}\n" diff --git a/src/dump_atom.h b/src/dump_atom.h index df21c7788c..0b0d3a4f05 100644 --- a/src/dump_atom.h +++ b/src/dump_atom.h @@ -35,7 +35,7 @@ class DumpAtom : public Dump { protected: int scale_flag; // 1 if atom coords are scaled, 0 if no int image_flag; // 1 if append box count to atom coords, 0 if no - int triclinic_general; // 1 if output box,coords for general triclinic + int triclinic_general; // 1 if output box & coords for general triclinic, 0 if no std::string columns; // column labels diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index 9554247aff..6708a7c410 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -500,8 +500,8 @@ void DumpCustom::header_binary_triclinic_general(bigint ndump) fwrite(&update->ntimestep,sizeof(bigint),1,fp); fwrite(&ndump,sizeof(bigint),1,fp); - int general_tri = 2; - fwrite(&general_tri,sizeof(int),1,fp); + int triclinic_general_flag = 2; + fwrite(&triclinic_general_flag,sizeof(int),1,fp); fwrite(&domain->boundary[0][0],6*sizeof(int),1,fp); fwrite(domain->avec,3*sizeof(double),1,fp); fwrite(domain->bvec,3*sizeof(double),1,fp); @@ -573,9 +573,7 @@ void DumpCustom::header_item_triclinic_general(bigint ndump) } if (time_flag) fmt::print(fp,"ITEM: TIME\n{:.16}\n",compute_time()); - fmt::print(fp,"ITEM: TIMESTEP\n{}\n" - "ITEM: NUMBER OF ATOMS\n{}\n", - update->ntimestep, ndump); + fmt::print(fp,"ITEM: TIMESTEP\n{}\nITEM: NUMBER OF ATOMS\n{}\n", update->ntimestep, ndump); fmt::print(fp,"ITEM: BOX BOUNDS abc origin {}\n" "{:>1.16e} {:>1.16e} {:>1.16e} {:>1.16e}\n" @@ -1788,6 +1786,14 @@ int DumpCustom::modify_param(int narg, char **arg) return 2; } + if (strcmp(arg[0],"triclinic/general") == 0) { + triclinic_general = 1; + if (triclinic_general && !domain->triclinic_general) + error->all(FLERR,"Dump_modify triclinic/general cannot be used " + "if simulation box is not general triclinic"); + return 1; + } + if (strcmp(arg[0],"triclinic/general") == 0) { if (narg < 2) error->all(FLERR,"Illegal dump_modify command"); triclinic_general = utils::logical(FLERR,arg[1],false,lmp); @@ -3350,11 +3356,11 @@ void DumpCustom::pack_tqz(int n) void DumpCustom::pack_tqx_triclinic_general(int n) { double **torque = atom->torque; - double torquetri[3]; + double tqtri[3]; for (int i = 0; i < nchoose; i++) { - domain->restricted_to_general_vector(torque[clist[i]],torquetri); - buf[n] = torquetri[0]; + domain->restricted_to_general_vector(torque[clist[i]],tqtri); + buf[n] = tqtri[0]; n += size_one; } } @@ -3364,11 +3370,11 @@ void DumpCustom::pack_tqx_triclinic_general(int n) void DumpCustom::pack_tqy_triclinic_general(int n) { double **torque = atom->torque; - double torquetri[3]; + double tqtri[3]; for (int i = 0; i < nchoose; i++) { - domain->restricted_to_general_vector(torque[clist[i]],torquetri); - buf[n] = torquetri[1]; + domain->restricted_to_general_vector(torque[clist[i]],tqtri); + buf[n] = tqtri[1]; n += size_one; } } @@ -3378,11 +3384,11 @@ void DumpCustom::pack_tqy_triclinic_general(int n) void DumpCustom::pack_tqz_triclinic_general(int n) { double **torque = atom->torque; - double torquetri[3]; + double tqtri[3]; for (int i = 0; i < nchoose; i++) { - domain->restricted_to_general_vector(torque[clist[i]],torquetri); - buf[n] = torquetri[2]; + domain->restricted_to_general_vector(torque[clist[i]],tqtri); + buf[n] = tqtri[2]; n += size_one; } } diff --git a/src/dump_custom.h b/src/dump_custom.h index 60070ddf62..b22d03f9b5 100644 --- a/src/dump_custom.h +++ b/src/dump_custom.h @@ -36,8 +36,7 @@ class DumpCustom : public Dump { protected: int nevery; // dump frequency for output char *idregion; // region ID, nullptr if no region - - int triclinic_general; // 1 if output box,x,v,f for general triclinic + int triclinic_general; // 1 if output box & per-atom info for general triclinic int nthresh; // # of defined thresholds int nthreshlast; // # of defined thresholds with value = LAST diff --git a/src/lattice.cpp b/src/lattice.cpp index d29a378589..6992828e3a 100644 --- a/src/lattice.cpp +++ b/src/lattice.cpp @@ -17,6 +17,7 @@ #include "comm.h" #include "domain.h" #include "error.h" +#include "math_extra.h" #include "memory.h" #include "update.h" @@ -24,6 +25,7 @@ #include using namespace LAMMPS_NS; +using namespace MathExtra; #define BIG 1.0e30 @@ -237,7 +239,7 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) if (nbasis == 0) error->all(FLERR,"No basis atoms in lattice"); if (!orthogonal()) error->all(FLERR,"Lattice orient vectors are not orthogonal"); - if (!right_handed()) + if (!right_handed_orientation()) error->all(FLERR,"Lattice orient vectors are not right-handed"); if (collinear()) error->all(FLERR,"Lattice primitive vectors are collinear"); @@ -263,8 +265,7 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) error->all(FLERR,"Lattice spacings are invalid"); } - // requirements for a general triclinic lattice - // right-handed requirement is checked by domain->general_to_restricted_rotation() + // additional requirements for a general triclinic lattice // a123 prime are used to compute lattice spacings if (triclinic_general) { @@ -278,6 +279,8 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) if (orientz[0] != 0 || orientz[1] != 0 || orientz[2] != 1) oriented = 1; if (oriented) error->all(FLERR,"Lattice triclnic/general must have default orientation"); + if (!right_handed_primitive()) + error->all(FLERR,"Lattice triclnic/general a1,a2,a3 must be right-handed"); double rotmat[3][3]; domain->general_to_restricted_rotation(a1,a2,a3,rotmat,a1_prime,a2_prime,a3_prime); @@ -289,8 +292,8 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) if (strcmp(update->unit_style,"lj") == 0) { double vec[3]; - cross(a2,a3,vec); - double volume = fabs(dot(a1,vec)); + MathExtra::cross3(a2,a3,vec); + double volume = fabs(MathExtra::dot3(a1,vec)); scale = pow(nbasis/volume/scale,1.0/dimension); } @@ -389,7 +392,7 @@ int Lattice::orthogonal() x cross y must be in same direction as z ------------------------------------------------------------------------- */ -int Lattice::right_handed() +int Lattice::right_handed_orientation() { int xy0 = orientx[1]*orienty[2] - orientx[2]*orienty[1]; int xy1 = orientx[2]*orienty[0] - orientx[0]*orienty[2]; @@ -398,19 +401,33 @@ int Lattice::right_handed() return 1; } +/* ---------------------------------------------------------------------- + check righthandedness of a1,a2,a3 primitive vectors + x cross y must be in same direction as z +------------------------------------------------------------------------- */ + +int Lattice::right_handed_primitive() +{ + double vec[3]; + MathExtra::cross3(a1,a2,vec); + if (MathExtra::dot3(vec,a3) <= 0.0) return 0; + return 1; +} + /* ---------------------------------------------------------------------- check collinearity of each pair of primitive vectors + also checks if any primitive vector is zero-length ------------------------------------------------------------------------- */ int Lattice::collinear() { double vec[3]; - cross(a1,a2,vec); - if (dot(vec,vec) == 0.0) return 1; - cross(a2,a3,vec); - if (dot(vec,vec) == 0.0) return 1; - cross(a1,a3,vec); - if (dot(vec,vec) == 0.0) return 1; + MathExtra::cross3(a1,a2,vec); + if (MathExtra::len3(vec) == 0.0) return 1; + MathExtra::cross3(a2,a3,vec); + if (MathExtra::len3(vec) == 0.0) return 1; + MathExtra::cross3(a1,a3,vec); + if (MathExtra::len3(vec) == 0.0) return 1; return 0; } @@ -589,26 +606,6 @@ void Lattice::add_basis(double x, double y, double z) nbasis++; } -/* ---------------------------------------------------------------------- - return x dot y -------------------------------------------------------------------------- */ - -double Lattice::dot(double *x, double *y) -{ - return x[0]*y[0] + x[1]*y[1] + x[2]*y[2]; -} - -/* ---------------------------------------------------------------------- - z = x cross y -------------------------------------------------------------------------- */ - -void Lattice::cross(double *x, double *y, double *z) -{ - z[0] = x[1]*y[2] - x[2]*y[1]; - z[1] = x[2]*y[0] - x[0]*y[2]; - z[2] = x[0]*y[1] - x[1]*y[0]; -} - /* ---------------------------------------------------------------------- convert x,y,z from lattice coords to box coords (flag = 0) or from box coords to lattice coords (flag = 1) diff --git a/src/lattice.h b/src/lattice.h index 74f213bdb4..8f545de2ab 100644 --- a/src/lattice.h +++ b/src/lattice.h @@ -56,7 +56,8 @@ class Lattice : protected Pointers { double a3_prime[3]; int orthogonal(); - int right_handed(); + int right_handed_orientation(); + int right_handed_primitive(); int collinear(); void setup_transform(double *, double *, double *); void add_basis(double, double, double); diff --git a/tools/binary2txt.cpp b/tools/binary2txt.cpp index b77614a8fc..2369057324 100644 --- a/tools/binary2txt.cpp +++ b/tools/binary2txt.cpp @@ -60,6 +60,7 @@ int main(int narg, char **arg) bigint ntimestep, natoms; int size_one, nchunk, triclinic; double xlo, xhi, ylo, yhi, zlo, zhi, xy, xz, yz; + double ax, ay, az, bx, by, bz, cx, cy, cz, abcx, abcy, abcz; int boundary[3][2]; char boundstr[9]; @@ -133,17 +134,39 @@ int main(int narg, char **arg) fread(&natoms, sizeof(bigint), 1, fp); fread(&triclinic, sizeof(int), 1, fp); fread(&boundary[0][0], 6 * sizeof(int), 1, fp); - fread(&xlo, sizeof(double), 1, fp); - fread(&xhi, sizeof(double), 1, fp); - fread(&ylo, sizeof(double), 1, fp); - fread(&yhi, sizeof(double), 1, fp); - fread(&zlo, sizeof(double), 1, fp); - fread(&zhi, sizeof(double), 1, fp); - if (triclinic) { + + if (triclinic == 0) { + fread(&xlo, sizeof(double), 1, fp); + fread(&xhi, sizeof(double), 1, fp); + fread(&ylo, sizeof(double), 1, fp); + fread(&yhi, sizeof(double), 1, fp); + fread(&zlo, sizeof(double), 1, fp); + fread(&zhi, sizeof(double), 1, fp); + } else if (triclinic == 1) { + fread(&xlo, sizeof(double), 1, fp); + fread(&xhi, sizeof(double), 1, fp); + fread(&ylo, sizeof(double), 1, fp); + fread(&yhi, sizeof(double), 1, fp); + fread(&zlo, sizeof(double), 1, fp); + fread(&zhi, sizeof(double), 1, fp); fread(&xy, sizeof(double), 1, fp); fread(&xz, sizeof(double), 1, fp); fread(&yz, sizeof(double), 1, fp); + } else if (triclinic == 2) { + fread(&ax, sizeof(double), 1, fp); + fread(&ay, sizeof(double), 1, fp); + fread(&az, sizeof(double), 1, fp); + fread(&bx, sizeof(double), 1, fp); + fread(&by, sizeof(double), 1, fp); + fread(&bz, sizeof(double), 1, fp); + fread(&cx, sizeof(double), 1, fp); + fread(&cy, sizeof(double), 1, fp); + fread(&cz, sizeof(double), 1, fp); + fread(&abcx, sizeof(double), 1, fp); + fread(&abcy, sizeof(double), 1, fp); + fread(&abcz, sizeof(double), 1, fp); } + fread(&size_one, sizeof(int), 1, fp); if (magic_string && revision > 0x0001) { @@ -201,16 +224,21 @@ int main(int narg, char **arg) } boundstr[8] = '\0'; - if (!triclinic) { + if (triclinic == 0) { fprintf(fptxt, "ITEM: BOX BOUNDS %s\n", boundstr); fprintf(fptxt, "%-1.16e %-1.16e\n", xlo, xhi); fprintf(fptxt, "%-1.16e %-1.16e\n", ylo, yhi); fprintf(fptxt, "%-1.16e %-1.16e\n", zlo, zhi); - } else { + } else if (triclinic == 1) { fprintf(fptxt, "ITEM: BOX BOUNDS xy xz yz %s\n", boundstr); fprintf(fptxt, "%-1.16e %-1.16e %-1.16e\n", xlo, xhi, xy); fprintf(fptxt, "%-1.16e %-1.16e %-1.16e\n", ylo, yhi, xz); fprintf(fptxt, "%-1.16e %-1.16e %-1.16e\n", zlo, zhi, yz); + } else if (triclinic == 2) { + fprintf(fptxt, "ITEM: BOX BOUNDS abc origin %s\n", boundstr); + fprintf(fptxt, "%-1.16e %-1.16e %-1.16e %-1.16e\n", ax, ay, az, abcx); + fprintf(fptxt, "%-1.16e %-1.16e %-1.16e %-1.16e\n", bx, by, bz, abcy); + fprintf(fptxt, "%-1.16e %-1.16e %-1.16e %-1.16e\n", cx, cy, cz, abcz); } if (columns) From 18c5cdb327fb1e4f0a0e903e4a971196ec69b2ba Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 21 Nov 2023 15:03:32 -0700 Subject: [PATCH 081/559] doc page for thermo output difference with triclinic/general --- doc/src/thermo_modify.rst | 15 ++++++++++++- doc/src/thermo_style.rst | 46 +++++++++++++++++++++++++++++---------- src/thermo.cpp | 3 ++- src/thermo.h | 2 +- 4 files changed, 52 insertions(+), 14 deletions(-) diff --git a/doc/src/thermo_modify.rst b/doc/src/thermo_modify.rst index 3d2c19614e..72f36b1198 100644 --- a/doc/src/thermo_modify.rst +++ b/doc/src/thermo_modify.rst @@ -11,7 +11,7 @@ Syntax thermo_modify keyword value ... * one or more keyword/value pairs may be listed -* keyword = *lost* or *lost/bond* or *warn* or *norm* or *flush* or *line* or *colname* or *format* or *temp* or *press* +* keyword = *lost* or *lost/bond* or *warn* or *norm* or *flush* or *line* or *colname* or *format* or *temp* or *press* or *triclinic/general* .. parsed-literal:: @@ -32,6 +32,8 @@ Syntax *or* a thermo keyword or reference to compute, fix, property or variable. *temp* value = compute ID that calculates a temperature *press* value = compute ID that calculates a pressure + *triclinic/general* arg = none + Examples """""""" @@ -240,6 +242,17 @@ command, thermo output uses a default compute for pressure with ID = keyword, then the new pressure compute specified by the *press* keyword will be unaffected by the *temp* setting. +The *triclinic/general* keyword can only be used if the simulation box +was created as a general triclinic box. See the :doc:`Howto_triclinic +` doc page for a detailed explanation of orthogonal, +restricted triclinic, and general triclinic simulation boxes. + +If this keyword is used, the output of pressure tensor components for +the system is affected. These components are specified by the +*pxx,pyy,pzz,pxy,pxz,pyz* keywords of the :doc:`thermo_style +` command. See the :doc:`thermo_style ` +doc page for details. + Restrictions """""""""""" none diff --git a/doc/src/thermo_style.rst b/doc/src/thermo_style.rst index 89a2c0b740..504a7d1d6d 100644 --- a/doc/src/thermo_style.rst +++ b/doc/src/thermo_style.rst @@ -68,7 +68,7 @@ Syntax density = mass density of system lx,ly,lz = box lengths in x,y,z xlo,xhi,ylo,yhi,zlo,zhi = box boundaries - xy,xz,yz = box tilt for triclinic (non-orthogonal) simulation boxes + xy,xz,yz = box tilt for restricted triclinic (non-orthogonal) simulation boxes xlat,ylat,zlat = lattice spacings as calculated by :doc:`lattice ` command bonds,angles,dihedrals,impropers = # of these interactions defined pxx,pyy,pzz,pxy,pxz,pyz = 6 components of pressure tensor @@ -102,9 +102,12 @@ Examples Description """"""""""" -Set the style and content for printing thermodynamic data to the screen -and log files. - +Set the style and content for printing thermodynamic data to the +screen and log files. The units for each column of output +corresponding to the list of keywords is determined by the :doc:`units +` command for the simulation. E.g. energies will be in energy +units, temperature in temperature units, pressure in pressure units. + Style *one* prints a single line of thermodynamic info that is the equivalent of "thermo_style custom step temp epair emol etotal press". The line contains only numeric values. @@ -319,6 +322,27 @@ thermostatting or barostatting to their coupling reservoirs -- that is, the NVT, NPH, or NPT ensembles, the *econserve* quantity should remain constant over time even though *etotal* may change. +The *pxx,pyy,pzz,pxy,pxz,pyz* keywords are the 6 components of the +symmetric pressure tensor for the system. See the :doc:`compute +pressure ` command doc page for details of how it is +calculated. + +If the :doc:`thermo_modify triclinic/general ` option +is set and the simulation box was created as a geenral triclinic box, +then the components will be output as values consistent with the +orientation of the general triclinic box relative to the standard xyz +coordinate axes. If this keyword is not used, the values will be +consistent with the orientation of the restricted triclinic box (which +aligns with the xyz coordinate axes). As explained on the +:doc:`Howto_triclinic ` doc page, even if the +simulation box is created as a general triclinic box, internally +LAMMPS uses a restricted triclinic box. + +Note that because the pressure tensor components are computed using +force vectors and atom coordinates, both of which are rotated in the +general versus restricted triclinic representation, the values will +typically be different for the two cases. + The *fmax* and *fnorm* keywords are useful for monitoring the progress of an :doc:`energy minimization `. The *fmax* keyword calculates the maximum force in any dimension on any atom in the @@ -338,13 +362,13 @@ to reduce the delay factor to ensure no force interactions are missed by atoms moving beyond the neighbor skin distance before a rebuild takes place. -The keywords *cella*, *cellb*, *cellc*, *cellalpha*, -*cellbeta*, *cellgamma*, correspond to the usual crystallographic -quantities that define the periodic unit cell of a crystal. See the -:doc:`Howto triclinic ` page for a geometric -description of triclinic periodic cells, including a precise -definition of these quantities in terms of the internal LAMMPS cell -dimensions *lx*, *ly*, *lz*, *yz*, *xz*, *xy*\ . +The keywords *cella*, *cellb*, *cellc*, *cellalpha*, *cellbeta*, +*cellgamma*, correspond to the usual crystallographic quantities that +define the periodic unit cell of a crystal. See the :doc:`Howto +triclinic ` page for a geometric description of +restricted triclinic periodic cells, including a precise definition of +these quantities in terms of the internal LAMMPS cell dimensions *lx*, +*ly*, *lz*, *yz*, *xz*, *xy*\ . ---------- diff --git a/src/thermo.cpp b/src/thermo.cpp index 082bebe80d..d791f5f856 100644 --- a/src/thermo.cpp +++ b/src/thermo.cpp @@ -579,7 +579,8 @@ void Thermo::modify_params(int narg, char **arg) if (iarg + 2 > narg) error->all(FLERR,"Illegal thermo_modify command"); triclinic_general = utils::logical(FLERR,arg[iarg+1],false,lmp); if (triclinic_general && !domain->triclinic_general) - error->all(FLERR,"Thermo_modify triclinic/general invalid b/c simulation box is not"); + error->all(FLERR,"Thermo_modify triclinic/general cannot be used " + "if simulation box is not general triclinic"); iarg += 2; } else if (strcmp(arg[iarg], "lost") == 0) { diff --git a/src/thermo.h b/src/thermo.h index b7c973fff5..1829349b96 100644 --- a/src/thermo.h +++ b/src/thermo.h @@ -57,8 +57,8 @@ class Thermo : protected Pointers { private: int nfield, nfield_initial; int *vtype; + int triclinic_general; // set by thermo_modify - int triclinic_general; // set by thermo_modify std::string line; std::vector keyword, format, format_column_user, keyword_user; std::string format_line_user, format_float_user, format_int_user, format_bigint_user; From 61993d16432314055cc263779095f550c7d7a1db Mon Sep 17 00:00:00 2001 From: Leidy Lorena Alzate Vargas - 373576 Date: Wed, 22 Nov 2023 14:36:59 -0700 Subject: [PATCH 082/559] MLIAP Unified fix for multi layer models CPU only --- src/ML-IAP/mliap_unified.cpp | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/src/ML-IAP/mliap_unified.cpp b/src/ML-IAP/mliap_unified.cpp index de1d0bcb7d..6dcdf94c2d 100644 --- a/src/ML-IAP/mliap_unified.cpp +++ b/src/ML-IAP/mliap_unified.cpp @@ -254,10 +254,8 @@ void LAMMPS_NS::update_pair_energy(MLIAPData *data, double *eij) double e = 0.5 * eij[ii]; // must not count any contribution where i is not a local atom - if (i < nlocal) { - data->eatoms[i] += e; - e_total += e; - } + data->eatoms[i] += e; + e_total += e; } data->energy = e_total; } @@ -278,16 +276,14 @@ void LAMMPS_NS::update_pair_forces(MLIAPData *data, double *fij) int j = data->jatoms[ii]; // must not count any contribution where i is not a local atom - if (i < nlocal) { - f[i][0] += fij[ii3]; - f[i][1] += fij[ii3 + 1]; - f[i][2] += fij[ii3 + 2]; - f[j][0] -= fij[ii3]; - f[j][1] -= fij[ii3 + 1]; - f[j][2] -= fij[ii3 + 2]; + f[i][0] += fij[ii3]; + f[i][1] += fij[ii3 + 1]; + f[i][2] += fij[ii3 + 2]; + f[j][0] -= fij[ii3]; + f[j][1] -= fij[ii3 + 1]; + f[j][2] -= fij[ii3 + 2]; - if (data->vflag) data->pairmliap->v_tally(i, j, &fij[ii3], data->rij[ii]); - } + if (data->vflag) data->pairmliap->v_tally(i, j, &fij[ii3], data->rij[ii]); } } From 469358cbf4951c51472777bcd51055de9aaf2ed7 Mon Sep 17 00:00:00 2001 From: Leidy Lorena Alzate Vargas - 373576 Date: Wed, 22 Nov 2023 14:38:13 -0700 Subject: [PATCH 083/559] UPDATE KOKKOS --- src/KOKKOS/mliap_unified_kokkos.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/KOKKOS/mliap_unified_kokkos.cpp b/src/KOKKOS/mliap_unified_kokkos.cpp index 4c38e4f1d6..4a8c14d723 100644 --- a/src/KOKKOS/mliap_unified_kokkos.cpp +++ b/src/KOKKOS/mliap_unified_kokkos.cpp @@ -315,7 +315,6 @@ void LAMMPS_NS::update_pair_forces(MLIAPDataKokkosDevice *data, double *fij) int i = pair_i[ii]; int j = j_atoms[ii]; // must not count any contribution where i is not a local atom - if (i < nlocal) { Kokkos::atomic_add(&f[i*3+0], fij[ii3+0]); Kokkos::atomic_add(&f[i*3+1], fij[ii3+1]); Kokkos::atomic_add(&f[i*3+2], fij[ii3+2]); @@ -352,7 +351,6 @@ void LAMMPS_NS::update_pair_forces(MLIAPDataKokkosDevice *data, double *fij) Kokkos::atomic_add(&d_vatom(j,3), 0.5*v[3]); Kokkos::atomic_add(&d_vatom(j,4), 0.5*v[4]); Kokkos::atomic_add(&d_vatom(j,5), 0.5*v[5]); - } } } }); @@ -383,10 +381,8 @@ void LAMMPS_NS::update_atom_energy(MLIAPDataKokkosDevice *data, double *ei) Kokkos::parallel_reduce(nlocal, KOKKOS_LAMBDA(int i, double &local_sum){ double e = ei[i]; // must not count any contribution where i is not a local atom - if (i < nlocal) { - d_eatoms[i] = e; - local_sum += e; - } + d_eatoms[i] = e; + local_sum += e; },*data->energy); } From c57ed87e9a9f73dfbc4e6e62a5f98ac46e083f48 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Thu, 23 Nov 2023 15:36:27 +0200 Subject: [PATCH 084/559] Addition of conical indenter --- src/fix_indent.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/fix_indent.h b/src/fix_indent.h index 527e9ec277..6f33f6fbb1 100644 --- a/src/fix_indent.h +++ b/src/fix_indent.h @@ -49,6 +49,10 @@ class FixIndent : public Fix { int cdim, varflag; int ilevel_respa; + char *rlostr, *rhistr, *lostr, *histr; + int rlovar, rhivar, lovar, hivar; + double rlovalue, rhivalue, lovalue, hivalue; + void options(int, char **); }; From a90c7b42f99bf61d79a7cdacc69394b56de829b0 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Thu, 23 Nov 2023 15:40:34 +0200 Subject: [PATCH 085/559] Include code for conical indenter in fix_indent.cpp --- src/fix_indent.cpp | 466 ++++++++++++++++++++++++++++++++++++++------- 1 file changed, 398 insertions(+), 68 deletions(-) diff --git a/src/fix_indent.cpp b/src/fix_indent.cpp index 9adb337dd6..d3e80ecd79 100644 --- a/src/fix_indent.cpp +++ b/src/fix_indent.cpp @@ -23,6 +23,7 @@ #include "error.h" #include "input.h" #include "lattice.h" +#include "math_extra.h" #include "modify.h" #include "respa.h" #include "update.h" @@ -34,14 +35,30 @@ using namespace LAMMPS_NS; using namespace FixConst; -enum{NONE,SPHERE,CYLINDER,PLANE}; -enum{INSIDE,OUTSIDE}; +enum{NONE, SPHERE, CYLINDER, PLANE, CONE}; +enum{INSIDE, OUTSIDE}; + +static bool PointInsideCone(int dir, double *center, double lo, + double hi, double rlo, double rhi, double *point); + +static void DistanceExteriorPoint(int dir, double *center, + double lo, double hi, double rlo, double rhi, double &x, + double &y, double &z); + +static void DistanceInteriorPoint(int dir, double *center, + double lo, double hi, double rlo, double rhi, double &x, + double &y, double &z); + +static void point_on_line_segment(double *a, double *b, double *c, double *d); + +static double closest(double *x, double *near, double *nearest, double dsq); /* ---------------------------------------------------------------------- */ FixIndent::FixIndent(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), - xstr(nullptr), ystr(nullptr), zstr(nullptr), rstr(nullptr), pstr(nullptr) + xstr(nullptr), ystr(nullptr), zstr(nullptr), rstr(nullptr), pstr(nullptr), + rlostr(nullptr), rhistr(nullptr), lostr(nullptr), histr(nullptr) { if (narg < 4) utils::missing_cmd_args(FLERR, "fix indent", error); @@ -56,6 +73,7 @@ FixIndent::FixIndent(LAMMPS *lmp, int narg, char **arg) : ilevel_respa = 0; k = utils::numeric(FLERR,arg[3],false,lmp); + if (k < 0.0) error->all(FLERR, "Illegal fix indent force constant: {}", k); k3 = k/3.0; // read options from end of input line @@ -79,6 +97,30 @@ FixIndent::FixIndent(LAMMPS *lmp, int narg, char **arg) : if (!ystr) yvalue *= yscale; if (!zstr) zvalue *= zscale; if (!rstr) rvalue *= xscale; + } else if (istyle == CONE) { + + if (!xstr) xvalue *= xscale; + if (!ystr) yvalue *= yscale; + if (!zstr) zvalue *= zscale; + + double scaling_factor = 1.0; + switch (cdim) { + case 0: + scaling_factor = xscale; + break; + case 1: + scaling_factor = yscale; + break; + case 2: + scaling_factor = zscale; + break; + } + + if (!rlostr) rlovalue *= scaling_factor; + if (!rhistr) rhivalue *= scaling_factor; + if (!lostr) lovalue *= scaling_factor; + if (!histr) hivalue *= scaling_factor; + } else if (istyle == PLANE) { if (cdim == 0 && !pstr) pvalue *= xscale; else if (cdim == 1 && !pstr) pvalue *= yscale; @@ -86,7 +128,7 @@ FixIndent::FixIndent(LAMMPS *lmp, int narg, char **arg) : } else error->all(FLERR,"Unknown fix indent keyword: {}", istyle); varflag = 0; - if (xstr || ystr || zstr || rstr || pstr) varflag = 1; + if (xstr || ystr || zstr || rstr || pstr || rlostr || rhistr || lostr || histr) varflag = 1; indenter_flag = 0; indenter[0] = indenter[1] = indenter[2] = indenter[3] = 0.0; @@ -101,6 +143,10 @@ FixIndent::~FixIndent() delete [] zstr; delete [] rstr; delete [] pstr; + delete [] rlostr; + delete [] rhistr; + delete [] lostr; + delete [] histr; } /* ---------------------------------------------------------------------- */ @@ -154,6 +200,38 @@ void FixIndent::init() error->all(FLERR,"Variable {} for fix indent is invalid style", pstr); } + if (rlostr) { + rlovar = input->variable->find(rlostr); + if (rlovar < 0) + error->all(FLERR,"Variable {} for fix indent does not exist", rlostr); + if (!input->variable->equalstyle(rlovar)) + error->all(FLERR,"Variable {} for fix indent is invalid style", rlostr); + } + + if (rhistr) { + rhivar = input->variable->find(rhistr); + if (rhivar < 0) + error->all(FLERR,"Variable {} for fix indent does not exist", rhistr); + if (!input->variable->equalstyle(rhivar)) + error->all(FLERR,"Variable {} for fix indent is invalid style", rhistr); + } + + if (lostr) { + lovar = input->variable->find(lostr); + if (lovar < 0) + error->all(FLERR,"Variable {} for fix indent does not exist", lostr); + if (!input->variable->equalstyle(lovar)) + error->all(FLERR,"Variable {} for fix indent is invalid style", lostr); + } + + if (histr) { + hivar = input->variable->find(histr); + if (hivar < 0) + error->all(FLERR,"Variable {} for fix indent does not exist", histr); + if (!input->variable->equalstyle(hivar)) + error->all(FLERR,"Variable {} for fix indent is invalid style", histr); + } + if (utils::strmatch(update->integrate_style,"^respa")) { ilevel_respa = (dynamic_cast(update->integrate))->nlevels-1; if (respa_level >= 0) ilevel_respa = MIN(respa_level,ilevel_respa); @@ -192,32 +270,28 @@ void FixIndent::post_force(int /*vflag*/) indenter_flag = 0; indenter[0] = indenter[1] = indenter[2] = indenter[3] = 0.0; + // ctr = current indenter centerz + double ctr[3] {xvalue, yvalue, zvalue}; + if (xstr) ctr[0] = input->variable->compute_equal(xvar); + if (ystr) ctr[1] = input->variable->compute_equal(yvar); + if (zstr) ctr[2] = input->variable->compute_equal(zvar); + + double **x = atom->x; + double **f = atom->f; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + double delx, dely, delz, r, dr, fmag, fx, fy, fz; + // spherical indenter if (istyle == SPHERE) { - // ctr = current indenter center - // remap into periodic box - - double ctr[3]; - if (xstr) ctr[0] = input->variable->compute_equal(xvar); - else ctr[0] = xvalue; - if (ystr) ctr[1] = input->variable->compute_equal(yvar); - else ctr[1] = yvalue; - if (zstr) ctr[2] = input->variable->compute_equal(zvar); - else ctr[2] = zvalue; + // remap indenter center into periodic box domain->remap(ctr); - double radius; - if (rstr) radius = input->variable->compute_equal(rvar); - else radius = rvalue; - - double **x = atom->x; - double **f = atom->f; - int *mask = atom->mask; - int nlocal = atom->nlocal; - - double delx,dely,delz,r,dr,fmag,fx,fy,fz; + double radius { rstr ? input->variable->compute_equal(rvar) : rvalue}; + if (radius < 0.0) error->all(FLERR, "Illegal fix indent sphere radius: {}", radius); for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { @@ -254,38 +328,11 @@ void FixIndent::post_force(int /*vflag*/) // remap into periodic box // 3rd coord is just near box for remap(), since isn't used - double ctr[3]; - if (cdim == 0) { - ctr[0] = domain->boxlo[0]; - if (ystr) ctr[1] = input->variable->compute_equal(yvar); - else ctr[1] = yvalue; - if (zstr) ctr[2] = input->variable->compute_equal(zvar); - else ctr[2] = zvalue; - } else if (cdim == 1) { - if (xstr) ctr[0] = input->variable->compute_equal(xvar); - else ctr[0] = xvalue; - ctr[1] = domain->boxlo[1]; - if (zstr) ctr[2] = input->variable->compute_equal(zvar); - else ctr[2] = zvalue; - } else { - if (xstr) ctr[0] = input->variable->compute_equal(xvar); - else ctr[0] = xvalue; - if (ystr) ctr[1] = input->variable->compute_equal(yvar); - else ctr[1] = yvalue; - ctr[2] = domain->boxlo[2]; - } + ctr[cdim] = domain->boxlo[cdim]; domain->remap(ctr); - double radius; - if (rstr) radius = input->variable->compute_equal(rvar); - else radius = rvalue; - - double **x = atom->x; - double **f = atom->f; - int *mask = atom->mask; - int nlocal = atom->nlocal; - - double delx,dely,delz,r,dr,fmag,fx,fy,fz; + double radius { rstr ? input->variable->compute_equal(rvar) : rvalue}; + if (radius < 0.0) error->all(FLERR, "Illegal fix indent cylinder radius: {}", radius); for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { @@ -324,31 +371,85 @@ void FixIndent::post_force(int /*vflag*/) indenter[3] -= fz; } + // conical indenter + + } else if (istyle == CONE) { + + double radiuslo { rlostr ? input->variable->compute_equal(rlovar) : rlovalue }; + if (radiuslo < 0.0) error->all(FLERR, "Illegal fix indent cone lower radius: {}", radiuslo); + + double radiushi { rhistr ? input->variable->compute_equal(rhivar) : rhivalue }; + if (radiushi < 0.0) error->all(FLERR, "Illegal fix indent cone high radius: {}", radiushi); + + double initial_lo { lostr ? input->variable->compute_equal(lovar) : lovalue }; + double initial_hi { histr ? input->variable->compute_equal(hivar) : hivalue }; + + ctr[cdim] = 0.5 * (initial_hi + initial_lo); + + domain->remap(ctr); + + double hi = ctr[cdim] + 0.5 * (initial_hi - initial_lo); + double lo = ctr[cdim] - 0.5 * (initial_hi - initial_lo); + + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + + delx = x[i][0] - ctr[0]; + dely = x[i][1] - ctr[1]; + delz = x[i][2] - ctr[2]; + domain->minimum_image(delx, dely, delz); + + double x0[3] {delx + ctr[0], dely + ctr[1], delz + ctr[2]}; + r = sqrt(delx * delx + dely * dely + delz * delz); + + // find if the particle is inside or outside the cone + bool point_inside_cone = PointInsideCone(cdim, ctr, lo, hi, radiuslo, radiushi, x0); + + if (side == INSIDE && point_inside_cone) continue; + if (side == OUTSIDE && !point_inside_cone) continue; + + // find the distance between the point and the cone + if (point_inside_cone) { + DistanceInteriorPoint(cdim, ctr, lo, hi, radiuslo, radiushi, x0[0], x0[1], x0[2]); + } else { + DistanceExteriorPoint(cdim, ctr, lo, hi, radiuslo, radiushi, x0[0], x0[1], x0[2]); + } + + // compute the force from the center of the cone - it is different from the approach of fix wall/region + dr = sqrt(x0[0] * x0[0] + x0[1] * x0[1] + x0[2] * x0[2]); + + int force_sign = { point_inside_cone ? 1 : -1 }; + fmag = force_sign * k * dr * dr; + + fx = delx*fmag/r; + fy = dely*fmag/r; + fz = delz*fmag/r; + f[i][0] += fx; + f[i][1] += fy; + f[i][2] += fz; + indenter[0] -= k3 * dr * dr * dr; + indenter[1] -= fx; + indenter[2] -= fy; + indenter[3] -= fz; + } + } + // planar indenter } else { // plane = current plane position - double plane; - if (pstr) plane = input->variable->compute_equal(pvar); - else plane = pvalue; - - double **x = atom->x; - double **f = atom->f; - int *mask = atom->mask; - int nlocal = atom->nlocal; - - double dr,fatom; + double plane { pstr ? input->variable->compute_equal(pvar) : pvalue}; for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { dr = planeside * (plane - x[i][cdim]); if (dr >= 0.0) continue; - fatom = -planeside * k*dr*dr; - f[i][cdim] += fatom; - indenter[0] -= k3 * dr*dr*dr; - indenter[cdim+1] -= fatom; + fmag = -planeside * k * dr * dr; + f[i][cdim] += fmag; + indenter[0] -= k3 * dr * dr * dr; + indenter[cdim+1] -= fmag; } } @@ -487,6 +588,64 @@ void FixIndent::options(int narg, char **arg) istyle = PLANE; iarg += 4; + } else if (strcmp(arg[iarg],"cone") == 0) { + + if (iarg+8 > narg) utils::missing_cmd_args(FLERR, "fix indent cone", error); + + if (strcmp(arg[iarg+1],"x") == 0) { + cdim = 0; + + if (utils::strmatch(arg[iarg+2],"^v_")) { + ystr = utils::strdup(arg[iarg+2]+2); + } else yvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); + + if (utils::strmatch(arg[iarg+3],"^v_")) { + zstr = utils::strdup(arg[iarg+3]+2); + } else zvalue = utils::numeric(FLERR,arg[iarg+3],false,lmp); + + } else if (strcmp(arg[iarg+1],"y") == 0) { + cdim = 1; + + if (utils::strmatch(arg[iarg+2],"^v_")) { + xstr = utils::strdup(arg[iarg+2]+2); + } else xvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); + + if (utils::strmatch(arg[iarg+3],"^v_")) { + zstr = utils::strdup(arg[iarg+3]+2); + } else zvalue = utils::numeric(FLERR,arg[iarg+3],false,lmp); + + } else if (strcmp(arg[iarg+1],"z") == 0) { + cdim = 2; + + if (utils::strmatch(arg[iarg+2],"^v_")) { + xstr = utils::strdup(arg[iarg+2]+2); + } else xvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); + + if (utils::strmatch(arg[iarg+3],"^v_")) { + ystr = utils::strdup(arg[iarg+3]+2); + } else yvalue = utils::numeric(FLERR,arg[iarg+3],false,lmp); + + } else error->all(FLERR,"Unknown fix indent cone argument: {}", arg[iarg+1]); + + if (utils::strmatch(arg[iarg+4],"^v_")) { + rlostr = utils::strdup(arg[iarg+4]+2); + } else rlovalue = utils::numeric(FLERR,arg[iarg+4],false,lmp); + + if (utils::strmatch(arg[iarg+5],"^v_")) { + rhistr = utils::strdup(arg[iarg+5]+2); + } else rhivalue = utils::numeric(FLERR,arg[iarg+5],false,lmp); + + if (utils::strmatch(arg[iarg+6],"^v_")) { + lostr = utils::strdup(arg[iarg+6]+2); + } else lovalue = utils::numeric(FLERR,arg[iarg+6],false,lmp); + + if (utils::strmatch(arg[iarg+7],"^v_")) { + histr = utils::strdup(arg[iarg+7]+2); + } else hivalue = utils::numeric(FLERR,arg[iarg+7],false,lmp); + + istyle = CONE; + iarg += 8; + } else if (strcmp(arg[iarg],"units") == 0) { if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix indent units", error); if (strcmp(arg[iarg+1],"box") == 0) scaleflag = 0; @@ -503,3 +662,174 @@ void FixIndent::options(int narg, char **arg) } else error->all(FLERR,"Unknown fix indent argument: {}", arg[iarg]); } } + +/* ---------------------------------------------------------------------- + determines if a point is inside (true) or outside (false) of a cone +------------------------------------------------------------------------- */ + +bool PointInsideCone(int dir, double *center, double lo, + double hi, double rlo, double rhi, double *x) +{ + if ((x[dir] > hi) || (x[dir] < lo)) return false; + + double del[3] {x[0] - center[0], x[1] - center[1], x[2] - center[2]}; + del[dir] = 0.0; + + double dist = sqrt(del[0] * del[0] + del[1] * del[1] + del[2] * del[2]); + double currentradius = rlo + (x[dir] - lo) * (rhi - rlo) / (hi - lo); + + if (dist > currentradius) return false; + + return true; +} + +/* ---------------------------------------------------------------------- + distance between an exterior point and a cone +------------------------------------------------------------------------- */ +void DistanceExteriorPoint(int dir, double *center, double lo, double hi, + double rlo, double rhi, double &x, double &y, double &z) +{ + double xp[3], nearest[3], corner1[3], corner2[3]; + + double point[3] {x, y, z}; + + double del[3] {x - center[0], y - center[1], z - center[2]}; + del[dir] = 0.0; + + double r = sqrt(del[0] * del[0] + del[1] * del[1] + del[2] * del[2]); + + corner1[0] = center[0] + del[0] * rlo / r; + corner1[1] = center[1] + del[1] * rlo / r; + corner1[2] = center[2] + del[2] * rlo / r; + corner1[dir] = lo; + + corner2[0] = center[0] + del[0] * rhi / r; + corner2[1] = center[1] + del[1] * rhi / r; + corner2[2] = center[2] + del[2] * rhi / r; + corner2[dir] = hi; + + double corner3[3] {center[0], center[1], center[2]}; + corner3[dir] = lo; + + double corner4[3] {center[0], center[1], center[2]}; + corner4[dir] = hi; + + // initialize distance to a big number + double distsq = 1.0e20; + + // check the first triangle + point_on_line_segment(corner1, corner2, point, xp); + distsq = closest(point, xp, nearest, distsq); + + // check the second triangle + point_on_line_segment(corner1, corner3, point, xp); + distsq = closest(point, xp, nearest, distsq); + + // check the third triangle + point_on_line_segment(corner2, corner4, point, xp); + distsq = closest(point, xp, nearest, distsq); + + x -= nearest[0]; + y -= nearest[1]; + z -= nearest[2]; + + return; +} + +/* ---------------------------------------------------------------------- + distance between an interior point and a cone +------------------------------------------------------------------------- */ + +void DistanceInteriorPoint(int dir, double *center, + double lo, double hi, double rlo, double rhi, double &x, + double &y, double &z) +{ + double r, dist_disk, dist_surf; + double surflo[3], surfhi[3], xs[3]; + double initial_point[3] {x, y, z}; + double point[3] {0.0, 0.0, 0.0}; + + // initial check with the two disks + if ( (initial_point[dir] - lo) < (hi - initial_point[dir]) ) { + dist_disk = (initial_point[dir] - lo) * (initial_point[dir] - lo); + point[dir] = initial_point[dir] - lo; + } else { + dist_disk = (hi - initial_point[dir]) * (hi - initial_point[dir]); + point[dir] = initial_point[dir] - hi; + } + + // check with the points in the conical surface + double del[3] {x - center[0], y - center[1], z - center[2]}; + del[dir] = 0.0; + r = sqrt(del[0] * del[0] + del[1] * del[1] + del[2] * del[2]); + + surflo[0] = center[0] + del[0] * rlo / r; + surflo[1] = center[1] + del[1] * rlo / r; + surflo[2] = center[2] + del[2] * rlo / r; + surflo[dir] = lo; + + surfhi[0] = center[0] + del[0] * rhi / r; + surfhi[1] = center[1] + del[1] * rhi / r; + surfhi[2] = center[2] + del[2] * rhi / r; + surfhi[dir] = hi; + + point_on_line_segment(surflo, surfhi, initial_point, xs); + + double dx[3] {initial_point[0] - xs[0], initial_point[1] - xs[1], initial_point[2] - xs[2]}; + dist_surf = dx[0] * dx[0] + dx[1] * dx[1] + dx[2] * dx[2]; + if (dist_surf < dist_disk) { + x = dx[0]; + y = dx[1]; + z = dx[2]; + } else { + x = point[0]; + y = point[1]; + z = point[2]; + } + + return; +} + +/* ---------------------------------------------------------------------- + helper function extracted from region.cpp +------------------------------------------------------------------------- */ + +void point_on_line_segment(double *a, double *b, double *c, double *d) +{ + double ba[3], ca[3]; + + MathExtra::sub3(b, a, ba); + MathExtra::sub3(c, a, ca); + double t = MathExtra::dot3(ca, ba) / MathExtra::dot3(ba, ba); + if (t <= 0.0) { + d[0] = a[0]; + d[1] = a[1]; + d[2] = a[2]; + } else if (t >= 1.0) { + d[0] = b[0]; + d[1] = b[1]; + d[2] = b[2]; + } else { + d[0] = a[0] + t * ba[0]; + d[1] = a[1] + t * ba[1]; + d[2] = a[2] + t * ba[2]; + } +} + +/* ---------------------------------------------------------------------- + helper function extracted from region_cone.cpp +------------------------------------------------------------------------- */ + +double closest(double *x, double *near, double *nearest, double dsq) +{ + double dx = x[0] - near[0]; + double dy = x[1] - near[1]; + double dz = x[2] - near[2]; + double rsq = dx * dx + dy * dy + dz * dz; + if (rsq >= dsq) return dsq; + + nearest[0] = near[0]; + nearest[1] = near[1]; + nearest[2] = near[2]; + return rsq; +} From e1c028c785fface11d8eba7d6ab57e42d278e654 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Thu, 23 Nov 2023 16:02:22 +0200 Subject: [PATCH 086/559] Update documentation Describe the arguments for cone indenter style --- doc/src/fix_indent.rst | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/doc/src/fix_indent.rst b/doc/src/fix_indent.rst index 15790e15d0..d478d7dc50 100644 --- a/doc/src/fix_indent.rst +++ b/doc/src/fix_indent.rst @@ -14,17 +14,23 @@ Syntax * indent = style name of this fix command * K = force constant for indenter surface (force/distance\^2 units) * one or more keyword/value pairs may be appended -* keyword = *sphere* or *cylinder* or *plane* or *side* or *units* +* keyword = *sphere* or *cone* or *cylinder* or *plane* or *side* or *units* .. parsed-literal:: *sphere* args = x y z R - x,y,z = position of center of indenter (distance units) + x, y, z = position of center of indenter (distance units) R = sphere radius of indenter (distance units) - any of x,y,z,R can be a variable (see below) + any of x, y, z, R can be a variable (see below) + *cone* args = dim c1 c2 radlo radhi lo hi + dim = *x* or *y* or *z* = axis of cone + c1, c2 = coords of cone axis in other 2 dimensions (distance units) + radlo,radhi = cone radii at lo and hi end (distance units) + lo,hi = bounds of cone in dim (distance units) + any of c1, c2, radlo, radhi, lo, hi can be a variable (see below) *cylinder* args = dim c1 c2 R dim = *x* or *y* or *z* = axis of cylinder - c1,c2 = coords of cylinder axis in other 2 dimensions (distance units) + c1, c2 = coords of cylinder axis in other 2 dimensions (distance units) R = cylinder radius of indenter (distance units) any of c1,c2,R can be a variable (see below) *plane* args = dim pos side @@ -57,7 +63,7 @@ material or as an obstacle in a flow. Or it can be used as a constraining wall around a simulation; see the discussion of the *side* keyword below. -The indenter can either be spherical or cylindrical or planar. You +The indenter can either be spherical or conical or cylindrical or planar. You must set one of those 3 keywords. A spherical indenter exerts a force of magnitude @@ -75,9 +81,9 @@ A cylindrical indenter exerts the same force, except that *r* is the distance from the atom to the center axis of the cylinder. The cylinder extends infinitely along its axis. -Spherical and cylindrical indenters account for periodic boundaries in +Spherical, conical and cylindrical indenters account for periodic boundaries in two ways. First, the center point of a spherical indenter (x,y,z) or -axis of a cylindrical indenter (c1,c2) is remapped back into the +axis of a conical/cylindrical indenter (c1,c2) is remapped back into the simulation box, if the box is periodic in a particular dimension. This occurs every timestep if the indenter geometry is specified with a variable (see below), e.g. it is moving over time. Second, the From fb243eba9b0ca50efb02e9fa4df05614ab7c8dcc Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 1 Dec 2023 14:41:12 -0500 Subject: [PATCH 087/559] update lattice death tests for changed error messages --- unittest/commands/test_lattice_region.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/unittest/commands/test_lattice_region.cpp b/unittest/commands/test_lattice_region.cpp index da36628b7f..6eac1f45df 100644 --- a/unittest/commands/test_lattice_region.cpp +++ b/unittest/commands/test_lattice_region.cpp @@ -322,7 +322,7 @@ TEST_F(LatticeRegionTest, lattice_sq) ASSERT_EQ(lattice->basis[0][1], 0.0); ASSERT_EQ(lattice->basis[0][2], 0.0); - TEST_FAILURE(".*ERROR: Lattice settings are not compatible with 2d simulation.*", + TEST_FAILURE(".*ERROR: Lattice orient vectors are not compatible with 2d simulation.*", command("lattice sq 1.0 orient x 1 1 2 orient y -1 1 0 orient z -1 -1 1");); BEGIN_HIDE_OUTPUT(); @@ -463,13 +463,13 @@ TEST_F(LatticeRegionTest, lattice_custom) command("dimension 2"); END_HIDE_OUTPUT(); TEST_FAILURE(".*ERROR: No basis atoms in lattice.*", command("lattice custom 1.0");); - TEST_FAILURE(".*ERROR: Lattice settings are not compatible with 2d simulation.*", + TEST_FAILURE(".*ERROR: Lattice origin z coord must be 0.0 for 2d simulation.*", command("lattice custom 1.0 origin 0.5 0.5 0.5 basis 0.0 0.0 0.0");); - TEST_FAILURE(".*ERROR: Lattice settings are not compatible with 2d simulation.*", + TEST_FAILURE(".*ERROR: Lattice a1/a2/a3 vectors are not compatible with 2d simulation.*", command("lattice custom 1.0 a1 1.0 1.0 1.0 basis 0.0 0.0 0.0");); - TEST_FAILURE(".*ERROR: Lattice settings are not compatible with 2d simulation.*", + TEST_FAILURE(".*ERROR: Lattice a1/a2/a3 vectors are not compatible with 2d simulation.*", command("lattice custom 1.0 a2 1.0 1.0 1.0 basis 0.0 0.0 0.0");); - TEST_FAILURE(".*ERROR: Lattice settings are not compatible with 2d simulation.*", + TEST_FAILURE(".*ERROR: Lattice a1/a2/a3 vectors are not compatible with 2d simulation.*", command("lattice custom 1.0 a3 1.0 1.0 1.0 basis 0.0 0.0 0.0");); } From 45372937dbf81a04b49b78341e27ca254a7549fe Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 1 Dec 2023 14:52:47 -0500 Subject: [PATCH 088/559] loads of whitespace fixes --- doc/src/Howto_triclinic.rst | 2 +- doc/src/create_box.rst | 4 +-- doc/src/dump.rst | 4 +-- doc/src/read_data.rst | 4 +-- doc/src/thermo_style.rst | 2 +- src/DIELECTRIC/atom_vec_dielectric.cpp | 2 +- src/DIPOLE/atom_vec_dipole.cpp | 4 +-- src/MACHDYN/atom_vec_smd.cpp | 4 +-- src/SPIN/atom_vec_spin.cpp | 4 +-- src/atom.cpp | 22 ++++++------- src/atom_vec.cpp | 12 +++---- src/atom_vec.h | 4 +-- src/atom_vec_body.cpp | 8 ++--- src/atom_vec_body.h | 2 +- src/atom_vec_ellipsoid.cpp | 8 ++--- src/atom_vec_ellipsoid.h | 2 +- src/atom_vec_line.cpp | 4 +-- src/atom_vec_tri.cpp | 10 +++--- src/create_atoms.cpp | 18 +++++------ src/create_box.cpp | 18 +++++------ src/domain.cpp | 24 +++++++------- src/domain.h | 12 +++---- src/dump_atom.cpp | 8 ++--- src/dump_custom.cpp | 44 +++++++++++++------------- src/dump_custom.h | 14 ++++---- src/lattice.cpp | 20 ++++++------ src/lattice.h | 8 ++--- src/math_extra.cpp | 2 +- src/read_data.cpp | 32 +++++++++---------- src/read_data.h | 4 +-- src/thermo.cpp | 4 +-- src/thermo.h | 4 +-- src/write_data.cpp | 10 +++--- src/write_restart.cpp | 2 +- 34 files changed, 163 insertions(+), 163 deletions(-) diff --git a/doc/src/Howto_triclinic.rst b/doc/src/Howto_triclinic.rst index 525c3e0f1b..1461f32187 100644 --- a/doc/src/Howto_triclinic.rst +++ b/doc/src/Howto_triclinic.rst @@ -92,7 +92,7 @@ restricted triclinic parallelepiped. conform to the LAMMPS definition of a restricted triclinic box. See the discussion in the next sub-section about general triclinic simulation boxes in LAMMPS. - + Note that the :doc:`thermo_style custom ` command has keywords for outputting the various parameters that define both restricted and general triclinic simulation boxes. Thus you can check diff --git a/doc/src/create_box.rst b/doc/src/create_box.rst index 79aa839d11..f2b5875539 100644 --- a/doc/src/create_box.rst +++ b/doc/src/create_box.rst @@ -46,11 +46,11 @@ Examples create_box 1 NULL 0 5 0 5 -0.5 0.5 .. code-block:: LAMMPS - + # 3d general triclinic box using primitive cell for 3d fcc lattice lattice custom 1.0 a2 0.0 0.5 0.5 a1 0.5 0.0 0.5 a3 0.5 0.5 0.0 basis 0.0 0.0 0.0 create box 1 NULL -5 5 -10 10 0 20 - + Description """"""""""" diff --git a/doc/src/dump.rst b/doc/src/dump.rst index 77faa5ffe7..8cba1d760b 100644 --- a/doc/src/dump.rst +++ b/doc/src/dump.rst @@ -719,9 +719,9 @@ Third, the output for any attribute of the *custom* style which represents a per-atom vector quantity will be converted (rotated) to be oriented consistent with the general tricinic box and its orientation relative to the standard xyz coordinate axes. - + This applies to the following *custom* style attributes: - + * vx,vy,vz = atom velocities * fx,fy,fz = forces on atoms * mux,muy,muz = orientation of dipole moment of atom diff --git a/doc/src/read_data.rst b/doc/src/read_data.rst index 897f6878b0..dd028ec23e 100644 --- a/doc/src/read_data.rst +++ b/doc/src/read_data.rst @@ -148,7 +148,7 @@ keyword must be used. triclinic box, the avec, bvec, cvec, and "abc origin" keywords must have the same values in subsequent data files. Also the *shift* keyword cannot be used in subsequent read_data commands. - + The three choices for the *add* argument affect how the atom IDs and molecule IDs of atoms in the data file are treated. If *append* is specified, atoms in the data file are added to the current system, @@ -494,7 +494,7 @@ periodic sense) back inside the box. For triclinic boxes, periodicity in x,y,z refers to the faces of the parallelepided defined by the **A**,**B**,**C** edge vectors of the simuation box. See the :doc:`boundary ` command doc page for a fuller discussion. - + Note that if the *add* option is being used to add atoms to a simulation box that already exists, this periodic remapping will be performed using simulation box bounds that are the union of the diff --git a/doc/src/thermo_style.rst b/doc/src/thermo_style.rst index 504a7d1d6d..45a1eaa2a8 100644 --- a/doc/src/thermo_style.rst +++ b/doc/src/thermo_style.rst @@ -107,7 +107,7 @@ screen and log files. The units for each column of output corresponding to the list of keywords is determined by the :doc:`units ` command for the simulation. E.g. energies will be in energy units, temperature in temperature units, pressure in pressure units. - + Style *one* prints a single line of thermodynamic info that is the equivalent of "thermo_style custom step temp epair emol etotal press". The line contains only numeric values. diff --git a/src/DIELECTRIC/atom_vec_dielectric.cpp b/src/DIELECTRIC/atom_vec_dielectric.cpp index 617ad4ebea..7412df118f 100644 --- a/src/DIELECTRIC/atom_vec_dielectric.cpp +++ b/src/DIELECTRIC/atom_vec_dielectric.cpp @@ -235,7 +235,7 @@ void AtomVecDielectric::write_data_restore_restricted() AtomVec::write_data_restore_restricted(); if (!mu_hold) return; - + int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) memcpy(&mu[i],&mu_hold[i],3*sizeof(double)); diff --git a/src/DIPOLE/atom_vec_dipole.cpp b/src/DIPOLE/atom_vec_dipole.cpp index 38ecd63ddd..470dfc77ef 100644 --- a/src/DIPOLE/atom_vec_dipole.cpp +++ b/src/DIPOLE/atom_vec_dipole.cpp @@ -29,7 +29,7 @@ AtomVecDipole::AtomVecDipole(LAMMPS *lmp) : AtomVec(lmp) mass_type = PER_TYPE; atom->q_flag = atom->mu_flag = 1; - + mu_hold = nullptr; // strings with peratom variables to include in each AtomVec method @@ -117,7 +117,7 @@ void AtomVecDipole::write_data_restore_restricted() AtomVec::write_data_restore_restricted(); if (!mu_hold) return; - + int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) memcpy(&mu[i],&mu_hold[i],3*sizeof(double)); diff --git a/src/MACHDYN/atom_vec_smd.cpp b/src/MACHDYN/atom_vec_smd.cpp index 05c73d5b33..9d4e5dcce5 100644 --- a/src/MACHDYN/atom_vec_smd.cpp +++ b/src/MACHDYN/atom_vec_smd.cpp @@ -60,7 +60,7 @@ AtomVecSMD::AtomVecSMD(LAMMPS *lmp) : AtomVec(lmp) atom->eff_plastic_strain_rate_flag = 1; x0_hold = nullptr; - + // strings with peratom variables to include in each AtomVec method // strings cannot contain fields in corresponding AtomVec default strings // order of fields in a string does not matter @@ -166,7 +166,7 @@ void AtomVecSMD::data_atom_post(int ilocal) // for PBC, shift, etc // this means no need for read_data_general_to_restricted() method // to rotate x0 for general triclinic - + x0[ilocal][0] = x[ilocal][0]; x0[ilocal][1] = x[ilocal][1]; x0[ilocal][2] = x[ilocal][2]; diff --git a/src/SPIN/atom_vec_spin.cpp b/src/SPIN/atom_vec_spin.cpp index 8844755cd8..f941ddc990 100644 --- a/src/SPIN/atom_vec_spin.cpp +++ b/src/SPIN/atom_vec_spin.cpp @@ -43,7 +43,7 @@ AtomVecSpin::AtomVecSpin(LAMMPS *lmp) : AtomVec(lmp) atom->sp_flag = 1; sp_hold = nullptr; - + // strings with peratom variables to include in each AtomVec method // strings cannot contain fields in corresponding AtomVec default strings // order of fields in a string does not matter @@ -147,7 +147,7 @@ void AtomVecSpin::write_data_restore_restricted() AtomVec::write_data_restore_restricted(); if (!sp_hold) return; - + int nlocal = atom->nlocal; for (int i = 0; i < nlocal; i++) memcpy(&sp[i],&sp_hold[i],3*sizeof(double)); diff --git a/src/atom.cpp b/src/atom.cpp index 33bd5d517f..a0d5b4ba08 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -1052,7 +1052,7 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, auto location = "Atoms section of data file"; // use the first line to detect and validate the number of words/tokens per line - + next = strchr(buf,'\n'); if (!next) error->all(FLERR, "Missing data in {}", location); *next = '\0'; @@ -1069,7 +1069,7 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, error->all(FLERR,"Incorrect format in {}: {}", location, utils::trim(buf)); *next = '\n'; - + // set bounds for my proc // if periodic and I am lo/hi proc, adjust bounds by EPSILON // ensures all data atoms will be owned even with round-off @@ -1147,17 +1147,17 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, int nvalues = values.size(); // skip comment lines - + if ((nvalues == 0) || (utils::strmatch(values[0],"^#.*"))) { // check that line has correct # of words - + } else if ((nvalues < nwords) || ((nvalues > nwords) && (!utils::strmatch(values[nwords],"^#")))) { error->all(FLERR, "Incorrect format in {}: {}", location, utils::trim(buf)); // extract the atom coords and image flags (if they exist) - + } else { int imx = 0, imy = 0, imz = 0; if (imageflag) { @@ -1186,14 +1186,14 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, error->all(FLERR,"Read_data atom z coord is non-zero for 2d simulation"); xdata[2] = 0.0; } - + // convert atom coords from general to restricted triclinic // so can decide which proc owns the atom - + if (triclinic_general) domain->general_to_restricted_coords(xdata); // apply shift if requested by read_data command - + if (shiftflag) { xdata[0] += shift[0]; xdata[1] += shift[1]; @@ -1201,11 +1201,11 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, } // map atom into simulation box for periodic dimensions - + domain->remap(xdata,imagedata); // determine if this proc owns the atom - + if (triclinic) { domain->x2lamda(xdata,lamda); coord = lamda; @@ -1216,7 +1216,7 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, coord[2] >= sublo[2] && coord[2] < subhi[2]) { // atom-style specific method parses single line - + avec->data_atom(xdata,imagedata,values,typestr); typestr = utils::utf8_subst(typestr); if (id_offset) tag[nlocal-1] += id_offset; diff --git a/src/atom_vec.cpp b/src/atom_vec.cpp index d94365db43..1942d2a6d2 100644 --- a/src/atom_vec.cpp +++ b/src/atom_vec.cpp @@ -70,7 +70,7 @@ AtomVec::AtomVec(LAMMPS *lmp) : Pointers(lmp) x_hold = nullptr; v_hold = omega_hold = angmom_hold = nullptr; - + threads = nullptr; } @@ -2243,7 +2243,7 @@ void AtomVec::read_data_general_to_restricted(int nlocal_previous, int nlocal) // operate on v, omega, angmom // no other read_data Velocities fields are Nx3 double arrays - + if (datatype == Atom::DOUBLE) { if (cols == 3) { double **array = *((double ***) pdata); @@ -2283,7 +2283,7 @@ void AtomVec::write_data_restricted_to_general() // operate on v, omega, angmom // no other write_data Velocities fields are Nx3 double arrays - + if (datatype == Atom::DOUBLE) { if (cols == 3) { double **array = *((double ***) pdata); @@ -2325,10 +2325,10 @@ void AtomVec::write_data_restore_restricted() memory->destroy(x_hold); x_hold = nullptr; } - + // operate on v, omega, angmom // no other write_data Velocities fields are Nx3 double arrays - + if (v_hold) { memcpy(&v[0][0],&v_hold[0][0],3*nlocal*sizeof(double)); memory->destroy(v_hold); @@ -2340,7 +2340,7 @@ void AtomVec::write_data_restore_restricted() memory->destroy(omega_hold); omega_hold = nullptr; } - + if (angmom_hold) { memcpy(&atom->angmom[0][0],&angmom_hold[0][0],3*nlocal*sizeof(double)); memory->destroy(angmom_hold); diff --git a/src/atom_vec.h b/src/atom_vec.h index 55fe7e2f7d..2342964797 100644 --- a/src/atom_vec.h +++ b/src/atom_vec.h @@ -174,8 +174,8 @@ class AtomVec : protected Pointers { double **x, **v, **f; // copies of original unrotated fields for write_data for general triclinic - - double **x_hold; + + double **x_hold; double **v_hold, **omega_hold, **angmom_hold; // standard list of peratom fields always operated on by different methods diff --git a/src/atom_vec_body.cpp b/src/atom_vec_body.cpp index 108d94bbec..5ff84d6b1f 100644 --- a/src/atom_vec_body.cpp +++ b/src/atom_vec_body.cpp @@ -648,15 +648,15 @@ void AtomVecBody::write_data_bonus(FILE *fp, int n, double *buf, int /*flag*/) void AtomVecBody::read_data_general_to_restricted(int nlocal_previous, int nlocal) { int j; - + AtomVec::read_data_general_to_restricted(nlocal_previous, nlocal); // quat_g2r = quat that rotates from general to restricted triclinic // quat_new = body quat converted to restricted triclinic - + double quat_g2r[4],quat_new[4]; MathExtra::mat_to_quat(domain->rotate_g2r,quat_g2r); - + for (int i = nlocal_previous; i < nlocal; i++) { if (body[i] < 0) continue; j = body[i]; @@ -685,7 +685,7 @@ void AtomVecBody::write_data_restricted_to_general() // quat_r2g = quat that rotates from restricted to general triclinic // quat_new = ellipsoid quat converted to general triclinic - + double quat_r2g[4],quat_new[4]; MathExtra::mat_to_quat(domain->rotate_r2g,quat_r2g); diff --git a/src/atom_vec_body.h b/src/atom_vec_body.h index 5ba90a6dc1..0aa83e833f 100644 --- a/src/atom_vec_body.h +++ b/src/atom_vec_body.h @@ -69,7 +69,7 @@ class AtomVecBody : public AtomVec { void read_data_general_to_restricted(int, int); void write_data_restricted_to_general(); void write_data_restore_restricted(); - + // methods used by other classes to query/set body info double radius_body(int, int, int *, double *); diff --git a/src/atom_vec_ellipsoid.cpp b/src/atom_vec_ellipsoid.cpp index 9b64426224..417c3cf5fa 100644 --- a/src/atom_vec_ellipsoid.cpp +++ b/src/atom_vec_ellipsoid.cpp @@ -545,15 +545,15 @@ void AtomVecEllipsoid::write_data_bonus(FILE *fp, int n, double *buf, int /*flag void AtomVecEllipsoid::read_data_general_to_restricted(int nlocal_previous, int nlocal) { int j; - + AtomVec::read_data_general_to_restricted(nlocal_previous, nlocal); // quat_g2r = quat that rotates from general to restricted triclinic // quat_new = ellipsoid quat converted to restricted triclinic - + double quat_g2r[4],quat_new[4]; MathExtra::mat_to_quat(domain->rotate_g2r,quat_g2r); - + for (int i = nlocal_previous; i < nlocal; i++) { if (ellipsoid[i] < 0) continue; j = ellipsoid[i]; @@ -582,7 +582,7 @@ void AtomVecEllipsoid::write_data_restricted_to_general() // quat_r2g = quat that rotates from restricted to general triclinic // quat_new = ellipsoid quat converted to general triclinic - + double quat_r2g[4],quat_new[4]; MathExtra::mat_to_quat(domain->rotate_r2g,quat_r2g); diff --git a/src/atom_vec_ellipsoid.h b/src/atom_vec_ellipsoid.h index 23c824dbf0..03850837d8 100644 --- a/src/atom_vec_ellipsoid.h +++ b/src/atom_vec_ellipsoid.h @@ -74,7 +74,7 @@ class AtomVecEllipsoid : public AtomVec { double *rmass; double **angmom; double **quat_hold; - + int nghost_bonus, nmax_bonus; int ellipsoid_flag; double rmass_one; diff --git a/src/atom_vec_line.cpp b/src/atom_vec_line.cpp index 21a9cc880a..d6f1b56171 100644 --- a/src/atom_vec_line.cpp +++ b/src/atom_vec_line.cpp @@ -526,7 +526,7 @@ int AtomVecLine::pack_data_bonus(double *buf, int /*flag*/) j = line[i]; length = bonus[j].length; theta = bonus[j].theta; - + xc = x_bonus[i][0]; yc = x_bonus[i][1]; x1 = xc - 0.5 * cos(theta) * length; @@ -541,7 +541,7 @@ int AtomVecLine::pack_data_bonus(double *buf, int /*flag*/) // if triclinic_general: // rotate 4 buf values from restricted to general triclinic // output by write_data_bonus() as x1/y1 and x2/y2 - + if (triclinic_general) { coords[0] = buf[m-4]; coords[1] = buf[m-3]; coords[2] = 0.0; domain->restricted_to_general_coords(coords); diff --git a/src/atom_vec_tri.cpp b/src/atom_vec_tri.cpp index 69665c6a94..e3cfab7d59 100644 --- a/src/atom_vec_tri.cpp +++ b/src/atom_vec_tri.cpp @@ -510,7 +510,7 @@ void AtomVecTri::data_atom_bonus(int m, const std::vector &values) // convert c1,c2,c3 from general to restricted triclniic // x is already restricted triclinic - + if (domain->triclinic_general) { domain->general_to_restricted_coords(c1); domain->general_to_restricted_coords(c2); @@ -523,11 +523,11 @@ void AtomVecTri::data_atom_bonus(int m, const std::vector &values) domain->remap_near(c1,x[m]); domain->remap_near(c2,x[m]); domain->remap_near(c3,x[m]); - + // centroid = 1/3 of sum of vertices // error if centroid is not within EPSILON of atom x // reset atom x to centroid - + double centroid[3]; centroid[0] = (c1[0] + c2[0] + c3[0]) / 3.0; centroid[1] = (c1[1] + c2[1] + c3[1]) / 3.0; @@ -729,7 +729,7 @@ int AtomVecTri::pack_data_bonus(double *buf, int /*flag*/) double **x_bonus; if (triclinic_general) x_bonus = x_hold; else x_bonus = x; - + tagint *tag = atom->tag; int nlocal = atom->nlocal; @@ -760,7 +760,7 @@ int AtomVecTri::pack_data_bonus(double *buf, int /*flag*/) // if triclinic_general: // rotate 9 buf values from restricted to general triclinic // output by write_data_bonus() as c1,c2,c3 - + if (triclinic_general) { domain->restricted_to_general_coords(&buf[m-9]); domain->restricted_to_general_coords(&buf[m-6]); diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index 59b0ad4ab6..d3c3e200bc 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -358,11 +358,11 @@ void CreateAtoms::command(int narg, char **arg) } // require non-none lattice be defined for BOX or REGION styles - + if ((style == BOX) || (style == REGION)) { if (nbasis == 0) error->all(FLERR, "Cannot create atoms with undefined lattice"); } - + // apply scaling factor for styles that use distance-dependent factors if (scaleflag) { @@ -465,7 +465,7 @@ void CreateAtoms::command(int narg, char **arg) atom->avec->clear_bonus(); // add atoms/molecules with appropriate add() method - + bigint natoms_previous = atom->natoms; int nlocal_previous = atom->nlocal; @@ -1178,7 +1178,7 @@ void CreateAtoms::add_lattice() { // add atoms on general triclinic lattice if Domain has setting for it // verify lattice was defined with triclinic/general option - + if (!domain->triclinic_general && domain->lattice->is_general_triclinic()) error->all(FLERR,"Create_atoms for non general triclinic box cannot use triclinic/general lattice"); if (domain->triclinic_general && !domain->lattice->is_general_triclinic()) @@ -1228,7 +1228,7 @@ void CreateAtoms::add_lattice() // convert 8 corner points of bounding box to lattice coordinates // compute new bounding box (xyz min/max) in lattice coords // for orthogonal or restricted triclinic, use 8 corner points of bbox lo/hi - + if (!domain->triclinic_general) { domain->lattice->bbox(1, bboxlo[0], bboxlo[1], bboxlo[2], xmin, ymin, zmin, xmax, ymax, zmax); domain->lattice->bbox(1, bboxhi[0], bboxlo[1], bboxlo[2], xmin, ymin, zmin, xmax, ymax, zmax); @@ -1274,7 +1274,7 @@ void CreateAtoms::add_lattice() domain->restricted_to_general_coords(point); domain->lattice->bbox(1, point[0], point[1], point[2], xmin, ymin, zmin, xmax, ymax, zmax); } - + // ilo:ihi,jlo:jhi,klo:khi = loop bounds for lattice overlap of my subbox // overlap = any part of a unit cell (face,edge,pt) in common with my subbox // in lattice space, subbox is a tilted box @@ -1284,7 +1284,7 @@ void CreateAtoms::add_lattice() // which can lead to missing atoms in rare cases // extra decrement of lo if min < 0, since static_cast(-1.5) = -1 // for 2d simulation, klo = khi = 0 so just one plane of atoms - + ilo = static_cast(xmin) - 1; jlo = static_cast(ymin) - 1; klo = static_cast(zmin) - 1; @@ -1297,7 +1297,7 @@ void CreateAtoms::add_lattice() if (zmin < 0.0) klo--; if (domain->dimension == 2) klo = khi = 0; - + // count lattice sites on each proc nlatt_overflow = 0; @@ -1395,7 +1395,7 @@ void CreateAtoms::loop_lattice(int action) error->all(FLERR,"Create_atoms atom z coord is non-zero for 2d simulation"); x[2] = 0.0; } - } + } // if a region was specified, test if atom is in it diff --git a/src/create_box.cpp b/src/create_box.cpp index e4ebe4c0cb..7dd6f52e9d 100644 --- a/src/create_box.cpp +++ b/src/create_box.cpp @@ -48,7 +48,7 @@ void CreateBox::command(int narg, char **arg) Region *region = nullptr; int triclinic_general = 0; - + if (strcmp(arg[1],"NULL") == 0) triclinic_general = 1; else { region = domain->get_region_by_id(arg[1]); @@ -61,13 +61,13 @@ void CreateBox::command(int narg, char **arg) // 3 options: orthogonal, restricted triclinic, general triclinic int iarg = 2; - + if (region) { - + // region is not prism // setup orthogonal box // set simulation domain from region extent - + if (strcmp(region->style, "prism") != 0) { domain->triclinic = 0; domain->boxlo[0] = region->extent_xlo; @@ -108,7 +108,7 @@ void CreateBox::command(int narg, char **arg) } else if (triclinic_general) { if (!domain->lattice->is_general_triclinic()) error->all(FLERR,"Create_box for general triclinic requires triclnic/general lattice"); - + if (iarg + 6 > narg) utils::missing_cmd_args(FLERR, "create_box general triclinic", error); double alo = utils::numeric(FLERR, arg[iarg + 0], false, lmp); @@ -118,14 +118,14 @@ void CreateBox::command(int narg, char **arg) double clo = utils::numeric(FLERR, arg[iarg + 4], false, lmp); double chi = utils::numeric(FLERR, arg[iarg + 5], false, lmp); iarg += 6; - + // use lattice2box() to generate origin and ABC vectors // origin = abc lo // ABC vectors = hi in one dim - origin - + double avec[3],bvec[3],cvec[3],origin[3]; double px,py,pz; - + px = alo; py = blo; pz = clo; domain->lattice->lattice2box(px,py,pz); origin[0] = px; @@ -157,7 +157,7 @@ void CreateBox::command(int narg, char **arg) } // define general triclinic box within Domain class - + domain->define_general_triclinic(avec,bvec,cvec,origin); } diff --git a/src/domain.cpp b/src/domain.cpp index 3e49255b57..a27b52e49b 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -293,12 +293,12 @@ void Domain::set_global_box() // update general triclinic box if defined // reset general tri ABC edge vectors from restricted tri box - + if (triclinic_general) { double aprime[3],bprime[3],cprime[3]; // A'B'C' = edge vectors of restricted triclinic box - + aprime[0] = boxhi[0] - boxlo[0]; aprime[1] = aprime[2] = 0.0; bprime[0] = xy; @@ -309,7 +309,7 @@ void Domain::set_global_box() cprime[2] = boxhi[2] - boxlo[2]; // transform restricted A'B'C' to general triclinic ABC - + MathExtra::matvec(rotate_r2g,aprime,avec); MathExtra::matvec(rotate_r2g,bprime,bvec); MathExtra::matvec(rotate_r2g,cprime,cvec); @@ -556,7 +556,7 @@ void Domain::define_general_triclinic(double *avec_caller, double *bvec_caller, { if (triclinic || triclinic_general) error->all(FLERR,"General triclinic box edge vectors are already set"); - + triclinic = triclinic_general = 1; avec[0] = avec_caller[0]; @@ -596,7 +596,7 @@ void Domain::define_general_triclinic(double *avec_caller, double *bvec_caller, xy = bprime[0]; xz = cprime[0]; yz = cprime[1]; - + // debug /* @@ -656,7 +656,7 @@ void Domain::general_to_restricted_rotation(double *a, double *b, double *c, MathExtra::norm3(rot1); double theta1 = acos(a[0]/alen); MathExtra::axisangle_to_quat(rot1,theta1,quat1); - + // rotmat1 = rotation matrix associated with quat1 double rotmat1[3][3]; @@ -674,7 +674,7 @@ void Domain::general_to_restricted_rotation(double *a, double *b, double *c, // Byz1 dot yunit = B1y = |Byz1| cos(theta2) // theta2 via acos() is positive (0 to PI) // positive is valid if B1z < 0.0 else flip sign of theta2 - + double byzvec1[3],quat2[4]; MathExtra::copy3(b1,byzvec1); byzvec1[0] = 0.0; @@ -705,7 +705,7 @@ void Domain::general_to_restricted_rotation(double *a, double *b, double *c, void Domain::general_to_restricted_coords(double *x) { double xshift[3],xnew[3]; - + xshift[0] = x[0] - boxlo[0]; xshift[1] = x[1] - boxlo[1]; xshift[2] = x[2] - boxlo[2]; @@ -722,7 +722,7 @@ void Domain::general_to_restricted_coords(double *x) void Domain::restricted_to_general_coords(double *x) { double xshift[3],xnew[3]; - + xshift[0] = x[0] - boxlo[0]; xshift[1] = x[1] - boxlo[1]; xshift[2] = x[2] - boxlo[2]; @@ -735,7 +735,7 @@ void Domain::restricted_to_general_coords(double *x) void Domain::restricted_to_general_coords(double *x, double *xnew) { double xshift[3]; - + xshift[0] = x[0] - boxlo[0]; xshift[1] = x[1] - boxlo[1]; xshift[2] = x[2] - boxlo[2]; @@ -752,7 +752,7 @@ void Domain::restricted_to_general_coords(double *x, double *xnew) void Domain::general_to_restricted_vector(double *v) { double vnew[3]; - + MathExtra::matvec(rotate_g2r,v,vnew); v[0] = vnew[0]; v[1] = vnew[1]; @@ -766,7 +766,7 @@ void Domain::general_to_restricted_vector(double *v) void Domain::restricted_to_general_vector(double *v) { double vnew[3]; - + MathExtra::matvec(rotate_r2g,v,vnew); v[0] = vnew[0]; v[1] = vnew[1]; diff --git a/src/domain.h b/src/domain.h index c54c08df3d..d0991c3768 100644 --- a/src/domain.h +++ b/src/domain.h @@ -41,7 +41,7 @@ class Domain : protected Pointers { int triclinic; // 0 = orthog box, 1 = triclinic (restricted or general) int triclinic_general; // 1 if general <-> restricted tri mapping is stored, 0 if not - + // orthogonal box double xprd, yprd, zprd; // global box dimensions @@ -96,7 +96,7 @@ class Domain : protected Pointers { double rotate_r2g[3][3]; // rotation matrix from restricted --> general tri // box flags - + int box_change; // 1 if any of next 3 flags are set, else 0 int box_change_size; // 1 if box size changes, 0 if not int box_change_shape; // 1 if box shape changes, 0 if not @@ -145,13 +145,13 @@ class Domain : protected Pointers { void general_to_restricted_rotation(double *, double *, double *, double [3][3], double *, double *, double *); - void general_to_restricted_coords(double *); + void general_to_restricted_coords(double *); void restricted_to_general_coords(double *); void restricted_to_general_coords(double *, double *); - void general_to_restricted_vector(double *); + void general_to_restricted_vector(double *); void restricted_to_general_vector(double *); - void restricted_to_general_vector(double *, double *x); - + void restricted_to_general_vector(double *, double *x); + void set_lattice(int, char **); void add_region(int, char **); void delete_region(Region *); diff --git a/src/dump_atom.cpp b/src/dump_atom.cpp index a029a68135..8d77efcea0 100644 --- a/src/dump_atom.cpp +++ b/src/dump_atom.cpp @@ -133,7 +133,7 @@ void DumpAtom::init_style() } } } - + if (image_flag == 0) convert_choice = &DumpAtom::convert_noimage; else convert_choice = &DumpAtom::convert_image; @@ -157,14 +157,14 @@ int DumpAtom::modify_param(int narg, char **arg) for (auto &item : keyword_user) item.clear(); return 2; } - + if (strcmp(arg[0],"image") == 0) { if (narg < 2) error->all(FLERR,"Illegal dump_modify command"); image_flag = utils::logical(FLERR,arg[1],false,lmp); for (auto &item : keyword_user) item.clear(); return 2; } - + if (strcmp(arg[0],"triclinic/general") == 0) { triclinic_general = 1; if (triclinic_general && !domain->triclinic_general) @@ -172,7 +172,7 @@ int DumpAtom::modify_param(int narg, char **arg) "if simulation box is not general triclinic"); return 1; } - + return 0; } diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index 6708a7c410..c06ee0a290 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -1347,7 +1347,7 @@ int DumpCustom::parse_fields(int narg, char **arg) if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_y_triclinic_general; else pack_choice[iarg] = &DumpCustom::pack_y; vtype[iarg] = Dump::DOUBLE; - } else if (strcmp(arg[iarg],"z") == 0) { + } else if (strcmp(arg[iarg],"z") == 0) { if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_z_triclinic_general; else pack_choice[iarg] = &DumpCustom::pack_z; vtype[iarg] = Dump::DOUBLE; @@ -1390,7 +1390,7 @@ int DumpCustom::parse_fields(int narg, char **arg) if (domain->triclinic) pack_choice[iarg] = &DumpCustom::pack_zsu_triclinic; else pack_choice[iarg] = &DumpCustom::pack_zsu; vtype[iarg] = Dump::DOUBLE; - + } else if (strcmp(arg[iarg],"ix") == 0) { pack_choice[iarg] = &DumpCustom::pack_ix; vtype[iarg] = Dump::INT; @@ -1431,7 +1431,7 @@ int DumpCustom::parse_fields(int narg, char **arg) error->all(FLERR,"Dumping an atom property that isn't allocated"); pack_choice[iarg] = &DumpCustom::pack_q; vtype[iarg] = Dump::DOUBLE; - + } else if (strcmp(arg[iarg],"mux") == 0) { if (!atom->mu_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); @@ -1466,7 +1466,7 @@ int DumpCustom::parse_fields(int narg, char **arg) error->all(FLERR,"Dumping an atom property that isn't allocated"); pack_choice[iarg] = &DumpCustom::pack_diameter; vtype[iarg] = Dump::DOUBLE; - + } else if (strcmp(arg[iarg],"heatflow") == 0) { if (!atom->heatflow_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); @@ -1477,7 +1477,7 @@ int DumpCustom::parse_fields(int narg, char **arg) error->all(FLERR,"Dumping an atom property that isn't allocated"); pack_choice[iarg] = &DumpCustom::pack_temperature; vtype[iarg] = Dump::DOUBLE; - + } else if (strcmp(arg[iarg],"omegax") == 0) { if (!atom->omega_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); @@ -1496,7 +1496,7 @@ int DumpCustom::parse_fields(int narg, char **arg) if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_omegaz_triclinic_general; else pack_choice[iarg] = &DumpCustom::pack_omegaz; vtype[iarg] = Dump::DOUBLE; - + } else if (strcmp(arg[iarg],"angmomx") == 0) { if (!atom->angmom_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); @@ -1515,7 +1515,7 @@ int DumpCustom::parse_fields(int narg, char **arg) if (triclinic_general) pack_choice[iarg] = &DumpCustom::pack_angmomz_triclinic_general; else pack_choice[iarg] = &DumpCustom::pack_angmomz; vtype[iarg] = Dump::DOUBLE; - + } else if (strcmp(arg[iarg],"tqx") == 0) { if (!atom->torque_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); @@ -1793,7 +1793,7 @@ int DumpCustom::modify_param(int narg, char **arg) "if simulation box is not general triclinic"); return 1; } - + if (strcmp(arg[0],"triclinic/general") == 0) { if (narg < 2) error->all(FLERR,"Illegal dump_modify command"); triclinic_general = utils::logical(FLERR,arg[1],false,lmp); @@ -2387,7 +2387,7 @@ void DumpCustom::pack_x_triclinic_general(int n) { double **x = atom->x; double xtri[3]; - + for (int i = 0; i < nchoose; i++) { domain->restricted_to_general_coords(x[clist[i]],xtri); buf[n] = xtri[0]; @@ -2973,7 +2973,7 @@ void DumpCustom::pack_fx_triclinic_general(int n) { double **f = atom->f; double ftri[3]; - + for (int i = 0; i < nchoose; i++) { domain->restricted_to_general_vector(f[clist[i]],ftri); buf[n] = ftri[0]; @@ -3075,7 +3075,7 @@ void DumpCustom::pack_mux_triclinic_general(int n) { double **mu = atom->mu; double mutri[3]; - + for (int i = 0; i < nchoose; i++) { domain->restricted_to_general_vector(mu[clist[i]],mutri); buf[n] = mutri[0]; @@ -3089,7 +3089,7 @@ void DumpCustom::pack_muy_triclinic_general(int n) { double **mu = atom->mu; double mutri[3]; - + for (int i = 0; i < nchoose; i++) { domain->restricted_to_general_vector(mu[clist[i]],mutri); buf[n] = mutri[1]; @@ -3103,7 +3103,7 @@ void DumpCustom::pack_muz_triclinic_general(int n) { double **mu = atom->mu; double mutri[3]; - + for (int i = 0; i < nchoose; i++) { domain->restricted_to_general_vector(mu[clist[i]],mutri); buf[n] = mutri[2]; @@ -3201,7 +3201,7 @@ void DumpCustom::pack_omegax_triclinic_general(int n) { double **omega = atom->omega; double omegatri[3]; - + for (int i = 0; i < nchoose; i++) { domain->restricted_to_general_vector(omega[clist[i]],omegatri); buf[n] = omegatri[0]; @@ -3215,7 +3215,7 @@ void DumpCustom::pack_omegay_triclinic_general(int n) { double **omega = atom->omega; double omegatri[3]; - + for (int i = 0; i < nchoose; i++) { domain->restricted_to_general_vector(omega[clist[i]],omegatri); buf[n] = omegatri[1]; @@ -3229,7 +3229,7 @@ void DumpCustom::pack_omegaz_triclinic_general(int n) { double **omega = atom->omega; double omegatri[3]; - + for (int i = 0; i < nchoose; i++) { domain->restricted_to_general_vector(omega[clist[i]],omegatri); buf[n] = omegatri[2]; @@ -3279,7 +3279,7 @@ void DumpCustom::pack_angmomx_triclinic_general(int n) { double **angmom = atom->angmom; double angmomtri[3]; - + for (int i = 0; i < nchoose; i++) { domain->restricted_to_general_vector(angmom[clist[i]],angmomtri); buf[n] = angmomtri[0]; @@ -3293,7 +3293,7 @@ void DumpCustom::pack_angmomy_triclinic_general(int n) { double **angmom = atom->angmom; double angmomtri[3]; - + for (int i = 0; i < nchoose; i++) { domain->restricted_to_general_vector(angmom[clist[i]],angmomtri); buf[n] = angmomtri[1]; @@ -3307,7 +3307,7 @@ void DumpCustom::pack_angmomz_triclinic_general(int n) { double **angmom = atom->angmom; double angmomtri[3]; - + for (int i = 0; i < nchoose; i++) { domain->restricted_to_general_vector(angmom[clist[i]],angmomtri); buf[n] = angmomtri[2]; @@ -3357,7 +3357,7 @@ void DumpCustom::pack_tqx_triclinic_general(int n) { double **torque = atom->torque; double tqtri[3]; - + for (int i = 0; i < nchoose; i++) { domain->restricted_to_general_vector(torque[clist[i]],tqtri); buf[n] = tqtri[0]; @@ -3371,7 +3371,7 @@ void DumpCustom::pack_tqy_triclinic_general(int n) { double **torque = atom->torque; double tqtri[3]; - + for (int i = 0; i < nchoose; i++) { domain->restricted_to_general_vector(torque[clist[i]],tqtri); buf[n] = tqtri[1]; @@ -3385,7 +3385,7 @@ void DumpCustom::pack_tqz_triclinic_general(int n) { double **torque = atom->torque; double tqtri[3]; - + for (int i = 0; i < nchoose; i++) { domain->restricted_to_general_vector(torque[clist[i]],tqtri); buf[n] = tqtri[2]; diff --git a/src/dump_custom.h b/src/dump_custom.h index b22d03f9b5..ceb85ea3c2 100644 --- a/src/dump_custom.h +++ b/src/dump_custom.h @@ -37,7 +37,7 @@ class DumpCustom : public Dump { int nevery; // dump frequency for output char *idregion; // region ID, nullptr if no region int triclinic_general; // 1 if output box & per-atom info for general triclinic - + int nthresh; // # of defined thresholds int nthreshlast; // # of defined thresholds with value = LAST // @@ -159,7 +159,7 @@ class DumpCustom : public Dump { void pack_x_triclinic_general(int); void pack_y_triclinic_general(int); void pack_z_triclinic_general(int); - + void pack_xs(int); void pack_ys(int); void pack_zs(int); @@ -190,11 +190,11 @@ class DumpCustom : public Dump { void pack_vx(int); void pack_vy(int); - void pack_vz(int); + void pack_vz(int); void pack_vx_triclinic_general(int); void pack_vy_triclinic_general(int); void pack_vz_triclinic_general(int); - + void pack_fx(int); void pack_fy(int); void pack_fz(int); @@ -214,7 +214,7 @@ class DumpCustom : public Dump { void pack_radius(int); void pack_diameter(int); - + void pack_heatflow(int); void pack_temperature(int); @@ -224,14 +224,14 @@ class DumpCustom : public Dump { void pack_omegax_triclinic_general(int); void pack_omegay_triclinic_general(int); void pack_omegaz_triclinic_general(int); - + void pack_angmomx(int); void pack_angmomy(int); void pack_angmomz(int); void pack_angmomx_triclinic_general(int); void pack_angmomy_triclinic_general(int); void pack_angmomz_triclinic_general(int); - + void pack_tqx(int); void pack_tqy(int); void pack_tqz(int); diff --git a/src/lattice.cpp b/src/lattice.cpp index 6992828e3a..64bde35c26 100644 --- a/src/lattice.cpp +++ b/src/lattice.cpp @@ -141,7 +141,7 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) // process optional args int triclinic_general = 0; - + int iarg = 2; while (iarg < narg) { if (strcmp(arg[iarg],"origin") == 0) { @@ -230,7 +230,7 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) } else if (strcmp(arg[iarg],"triclinic/general") == 0) { triclinic_general = 1; iarg++; - + } else error->all(FLERR,"Unknown lattice keyword: {}", arg[iarg]); } @@ -267,7 +267,7 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) // additional requirements for a general triclinic lattice // a123 prime are used to compute lattice spacings - + if (triclinic_general) { if (style != CUSTOM) error->all(FLERR,"Lattice triclnic/general must be style = CUSTOM"); @@ -285,11 +285,11 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) double rotmat[3][3]; domain->general_to_restricted_rotation(a1,a2,a3,rotmat,a1_prime,a2_prime,a3_prime); } - + // reset scale for LJ units (input scale is rho*) // scale = (Nbasis/(Vprimitive * rho*)) ^ (1/dim) // use fabs() in case a1,a2,a3 are not right-handed for general triclinic - + if (strcmp(update->unit_style,"lj") == 0) { double vec[3]; MathExtra::cross3(a2,a3,vec); @@ -321,7 +321,7 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) // reset transform used by bbox() to be based on rotated a123 prime vectors if (triclinic_general) setup_transform(a1_prime,a2_prime,a3_prime); - + bbox(0,0.0,0.0,0.0,xmin,ymin,zmin,xmax,ymax,zmax); bbox(0,1.0,0.0,0.0,xmin,ymin,zmin,xmax,ymax,zmax); bbox(0,0.0,1.0,0.0,xmin,ymin,zmin,xmax,ymax,zmax); @@ -334,13 +334,13 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) // restore original general triclinic a123 transform if (triclinic_general) setup_transform(a2,a2,a3); - + xlattice = xmax - xmin; ylattice = ymax - ymin; zlattice = zmax - zmin; // user-defined lattice spacings - + } else { xlattice *= scale; ylattice *= scale; @@ -542,7 +542,7 @@ void Lattice::setup_transform(double *a, double *b, double *c) ------------------------------------------------------------------------- */ void Lattice::lattice2box(double &x, double &y, double &z) -{ +{ double x1 = primitive[0][0]*x + primitive[0][1]*y + primitive[0][2]*z; double y1 = primitive[1][0]*x + primitive[1][1]*y + primitive[1][2]*z; double z1 = primitive[2][0]*x + primitive[2][1]*y + primitive[2][2]*z; @@ -615,7 +615,7 @@ void Lattice::add_basis(double x, double y, double z) void Lattice::bbox(int flag, double x, double y, double z, double &xmin, double &ymin, double &zmin, double &xmax, double &ymax, double &zmax) -{ +{ if (flag == 0) lattice2box(x,y,z); else box2lattice(x,y,z); diff --git a/src/lattice.h b/src/lattice.h index 8f545de2ab..85ffd27c0a 100644 --- a/src/lattice.h +++ b/src/lattice.h @@ -28,7 +28,7 @@ class Lattice : protected Pointers { int nbasis; // # of basis atoms in unit cell double **basis; // fractional coords of each basis atom // within unit cell (0 <= coord < 1) - + Lattice(class LAMMPS *, int, char **); ~Lattice() override; void lattice2box(double &, double &, double &); @@ -36,7 +36,7 @@ class Lattice : protected Pointers { void bbox(int, double, double, double, double &, double &, double &, double &, double &, double &); int is_general_triclinic(); - + private: int triclinic_general; // 1 if general triclinic, else 0 int oriented; // 1 if non-default orient xyz, else 0 @@ -51,10 +51,10 @@ class Lattice : protected Pointers { double rotaterow[3][3]; double rotatecol[3][3]; - double a1_prime[3]; // a123 rotated to restricted triclinic orientation + double a1_prime[3]; // a123 rotated to restricted triclinic orientation double a2_prime[3]; double a3_prime[3]; - + int orthogonal(); int right_handed_orientation(); int right_handed_primitive(); diff --git a/src/math_extra.cpp b/src/math_extra.cpp index b8c9bd98df..a36600d970 100644 --- a/src/math_extra.cpp +++ b/src/math_extra.cpp @@ -381,7 +381,7 @@ void mat_to_quat(double mat[3][3], double *q) ez[0] = mat[0][2]; ez[1] = mat[1][2]; ez[2] = mat[2][2]; - + MathExtra::exyz_to_q(ex,ey,ez,q); } diff --git a/src/read_data.cpp b/src/read_data.cpp index b34dac54eb..5642c61920 100644 --- a/src/read_data.cpp +++ b/src/read_data.cpp @@ -474,7 +474,7 @@ void ReadData::command(int narg, char **arg) int atomflag, topoflag; int bondflag, angleflag, dihedralflag, improperflag; int ellipsoidflag, lineflag, triflag, bodyflag; - + atomflag = topoflag = 0; bondflag = angleflag = dihedralflag = improperflag = 0; ellipsoidflag = lineflag = triflag = bodyflag = 0; @@ -492,14 +492,14 @@ void ReadData::command(int narg, char **arg) boxlo[0] = boxlo[1] = boxlo[2] = -0.5; boxhi[0] = boxhi[1] = boxhi[2] = 0.5; xy = xz = yz = 0.0; - + avec[0] = bvec[1] = cvec[2] = 1.0; avec[1] = avec[2] = 0.0; bvec[0] = bvec[2] = 0.0; cvec[0] = cvec[1] = 0.0; abc_origin[0] = abc_origin[1] = abc_origin[2] = 0.0; if (domain->dimension == 2) abc_origin[2] = -0.5; - + keyword[0] = '\0'; nlocal_previous = atom->nlocal; @@ -542,7 +542,7 @@ void ReadData::command(int narg, char **arg) "2d simulation with general triclinic box"); } } - + // problem setup using info from header // only done once, if firstpass and first data file // apply extra settings before grow(), even if no topology in file @@ -577,7 +577,7 @@ void ReadData::command(int narg, char **arg) if (!triclinic_general) { // orthogonal or restricted triclinic box - + domain->boxlo[0] = boxlo[0]; domain->boxhi[0] = boxhi[0]; domain->boxlo[1] = boxlo[1]; @@ -586,7 +586,7 @@ void ReadData::command(int narg, char **arg) domain->boxhi[2] = boxhi[2]; // restricted triclinic box - + if (triclinic) { domain->triclinic = 1; domain->xy = xy; @@ -597,7 +597,7 @@ void ReadData::command(int narg, char **arg) // general triclinic box // define_general_triclinic() converts // ABC edge vectors + abc_origin to restricted triclinic - + } else if (triclinic_general) { domain->define_general_triclinic(avec,bvec,cvec,abc_origin); } @@ -612,7 +612,7 @@ void ReadData::command(int narg, char **arg) // first data file must also be general triclinic // avec,bvec,vec and origin must match first data file // shift not allowed - + if (triclinic_general) { if (!domain->triclinic_general) error->all(FLERR,"Read_data subsequent file cannot switch to general triclinic"); @@ -633,14 +633,14 @@ void ReadData::command(int narg, char **arg) // restricted triclinic // tilt factors must match first data file - + } else if (triclinic) { if (!domain->triclinic || domain->triclinic_general) error->all(FLERR,"Read_data subsequent file cannot switch to restricted triclinic"); if (xy != domain->xy || xz != domain->xz || yz != domain->yz) error->all(FLERR,"Read_data subsequent file tilt factors must be same as first file"); } - + double oldboxlo[3] = {domain->boxlo[0], domain->boxlo[1], domain->boxlo[2]}; double oldboxhi[3] = {domain->boxhi[0], domain->boxhi[1], domain->boxhi[2]}; domain->boxlo[0] = MIN(domain->boxlo[0], boxlo[0] + shift[0]); @@ -652,7 +652,7 @@ void ReadData::command(int narg, char **arg) // check if box has changed // if yes, warn about non-zero image flags - + if ((oldboxlo[0] != domain->boxlo[0]) || (oldboxlo[1] != domain->boxlo[1]) || (oldboxlo[2] != domain->boxlo[2]) || (oldboxhi[0] != domain->boxhi[0]) || (oldboxhi[1] != domain->boxhi[1]) || (oldboxhi[2] != domain->boxhi[2])) { @@ -673,7 +673,7 @@ void ReadData::command(int narg, char **arg) } // setup simulation box and paritioning in Domain and Comm classes - + domain->print_box(" "); domain->set_initial_box(); domain->set_global_box(); @@ -1228,7 +1228,7 @@ void ReadData::header(int firstpass) // initialize type counts by the "extra" numbers so they get counted // in case the corresponding "types" line is missing and thus the extra // value will not be processed - + if (addflag == NONE) { atom->ntypes = extra_atom_types; atom->nbondtypes = extra_bond_types; @@ -1244,7 +1244,7 @@ void ReadData::header(int firstpass) if (eof == nullptr) error->one(FLERR, "Unexpected end of data file"); // check for units keyword in first line and print warning on mismatch - + auto units = Tokenizer(utils::strfind(line, "units = \\w+")).as_vector(); if (units.size() > 2) { if (units[2] != update->unit_style) @@ -1433,7 +1433,7 @@ void ReadData::header(int firstpass) xy = utils::numeric(FLERR, words[0], false, lmp); xz = utils::numeric(FLERR, words[1], false, lmp); yz = utils::numeric(FLERR, words[2], false, lmp); - + } else if (utils::strmatch(line, "^\\s*\\f+\\s+\\f+\\s+\\f+\\s+\\avec\\s")) { avec_flag = 1; avec[0] = utils::numeric(FLERR, words[0], false, lmp); @@ -1522,7 +1522,7 @@ void ReadData::atoms() if (eof) error->all(FLERR, "Unexpected end of data file"); if (tlabelflag && !lmap->is_complete(Atom::ATOM)) error->all(FLERR, "Label map is incomplete: all types must be assigned a unique type label"); - atom->data_atoms(nchunk, buffer, id_offset, mol_offset, toffset, + atom->data_atoms(nchunk, buffer, id_offset, mol_offset, toffset, shiftflag, shift, tlabelflag, lmap->lmap2lmap.atom, triclinic_general); nread += nchunk; } diff --git a/src/read_data.h b/src/read_data.h index 495c17d500..008283251c 100644 --- a/src/read_data.h +++ b/src/read_data.h @@ -64,12 +64,12 @@ class ReadData : public Command { int triclinic, triclinic_general; int xloxhi_flag, yloyhi_flag, zlozhi_flag, tilt_flag; int avec_flag, bvec_flag, cvec_flag, abc_origin_flag; - + double boxlo[3], boxhi[3]; double xy, xz, yz; double avec[3], bvec[3], cvec[3]; double abc_origin[3]; - + // optional args int addflag, offsetflag, shiftflag, coeffflag, settypeflag; diff --git a/src/thermo.cpp b/src/thermo.cpp index d791f5f856..76355849be 100644 --- a/src/thermo.cpp +++ b/src/thermo.cpp @@ -980,7 +980,7 @@ void Thermo::parse_fields(const std::string &str) addfield("Pxy", &Thermo::compute_pxy_triclinic_general, FLOAT); else addfield("Pxy", &Thermo::compute_pxy, FLOAT); index_press_vector = add_compute(id_press, VECTOR); - } else if (word == "pxz") { + } else if (word == "pxz") { if (triclinic_general) addfield("Pxz", &Thermo::compute_pxz_triclinic_general, FLOAT); else addfield("Pxz", &Thermo::compute_pxz, FLOAT); @@ -1223,7 +1223,7 @@ void Thermo::check_press_vector(const std::string &keyword) pressure->invoked_flag |= Compute::INVOKED_VECTOR; // store 3x3 matrix form of symmetric pressure tensor for use in triclinic_general() - + if (triclinic_general) { press_tensor[0][0] = pressure->vector[0]; press_tensor[1][1] = pressure->vector[1]; diff --git a/src/thermo.h b/src/thermo.h index 1829349b96..a82d462585 100644 --- a/src/thermo.h +++ b/src/thermo.h @@ -83,7 +83,7 @@ class Thermo : protected Pointers { std::string image_fname; // data used by routines that compute single values - + int ivalue; // integer value to print double dvalue; // double value to print bigint bivalue; // big integer value to print @@ -96,7 +96,7 @@ class Thermo : protected Pointers { // index = where they are in computes list // id = ID of Compute objects // Compute * = ptrs to the Compute objects - + int index_temp, index_press_scalar, index_press_vector, index_pe; class Compute *temperature, *pressure, *pe; double press_tensor[3][3]; diff --git a/src/write_data.cpp b/src/write_data.cpp index 06512a0f20..f9c9ec383f 100644 --- a/src/write_data.cpp +++ b/src/write_data.cpp @@ -74,7 +74,7 @@ void WriteData::command(int narg, char **arg) fixflag = 1; triclinic_general = 0; lmapflag = 1; - + // store current (default) setting since we may change it int domain_triclinic_general = domain->triclinic_general; @@ -227,9 +227,9 @@ void WriteData::write(const std::string &file) // reset internal per-atom data that needs rotation if (domain->triclinic_general) atom->avec->write_data_restricted_to_general(); - + // per atom info in Atoms and Velocities sections - + if (natoms) atoms(); if (natoms) velocities(); @@ -261,7 +261,7 @@ void WriteData::write(const std::string &file) // restore internal per-atom data that was rotated if (domain->triclinic_general) atom->avec->write_data_restore_restricted(); - + // close data file if (me == 0) fclose(fp); @@ -326,7 +326,7 @@ void WriteData::header() domain->boxlo[2],domain->boxhi[2]); if (domain->triclinic) fmt::print(fp,"{} {} {} xy xz yz\n",domain->xy,domain->xz,domain->yz); - + } else if (domain->triclinic_general) { fmt::print(fp,"\n{} {} {} avec\n{} {} {} bvec\n{} {} {} cvec\n", domain->avec[0],domain->avec[1],domain->avec[2], diff --git a/src/write_restart.cpp b/src/write_restart.cpp index ae5cfa5a3b..4c7835fa40 100644 --- a/src/write_restart.cpp +++ b/src/write_restart.cpp @@ -451,7 +451,7 @@ void WriteRestart::header() write_int(TRICLINIC_GENERAL,domain->triclinic_general); if (domain->triclinic_general) write_double_vec(ROTATE_G2R,9,&domain->rotate_g2r[0][0]); - + write_double_vec(SPECIAL_LJ,3,&force->special_lj[1]); write_double_vec(SPECIAL_COUL,3,&force->special_coul[1]); From ef400cc13f86aa9453a7bed69ae598357d15f20b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 1 Dec 2023 15:25:51 -0500 Subject: [PATCH 089/559] fix broken links --- doc/src/Howto_body.rst | 6 +++--- doc/src/Howto_triclinic.rst | 8 ++++---- doc/src/dump.rst | 4 ++-- doc/src/lattice.rst | 2 +- doc/src/read_data.rst | 4 ++-- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/doc/src/Howto_body.rst b/doc/src/Howto_body.rst index 80bed7d4c6..19ae10b9a0 100644 --- a/doc/src/Howto_body.rst +++ b/doc/src/Howto_body.rst @@ -167,7 +167,7 @@ sub-particle displacements should reflect the fact the body is defined withing a general triclinic box with edge vectors **A**,**B**,**C**. LAMMPS will rotate the box to convert it to a restricted triclinic box. This operation will also rotate the orientation of the body -particles. See the :doc:`Howto triclinic ` doc page +particles. See the :doc:`Howto triclinic ` doc page for more details. The :doc:`pair_style body/nparticle ` command can be used @@ -288,7 +288,7 @@ defined withing a general triclinic box with edge vectors **A**,**B**,**C**. LAMMPS will rotate the box to convert it to a restricted triclinic box. This operation will also rotate the orientation of the body particles. See the :doc:`Howto triclinic -` doc page for more details. +` doc page for more details. The :doc:`pair_style body/rounded/polygon ` command can be used with this body style to compute body/body @@ -463,7 +463,7 @@ defined withing a general triclinic box with edge vectors **A**,**B**,**C**. LAMMPS will rotate the box to convert it to a restricted triclinic box. This operation will also rotate the orientation of the body particles. See the :doc:`Howto triclinic -` doc page for more details. +` doc page for more details. The :doc:`pair_style body/rounded/polhedron ` command can be used with this body diff --git a/doc/src/Howto_triclinic.rst b/doc/src/Howto_triclinic.rst index 1461f32187..d98a4eca42 100644 --- a/doc/src/Howto_triclinic.rst +++ b/doc/src/Howto_triclinic.rst @@ -17,9 +17,9 @@ is created by one of these commands: * :doc:`read_dump ` Internally, LAMMPS defines box size parameters lx,ly,lz where lx = -xhi-xlo, and similarly in the y and z dimensions. The 6 parameters, -as well as lx,ly,lz, can be output via the :doc:`thermo_style custom -` command. See the :doc:'Howto 2d ` doc page +xhi-xlo, and similarly in the y and z dimensions. The 6 parameters, as +well as lx,ly,lz, can be output via the :doc:`thermo_style custom +` command. See the :doc:`Howto 2d ` doc page for info on how zlo and zhi are defined for 2d simulations. ---------- @@ -30,7 +30,7 @@ Triclinic simulation boxes LAMMPS also allows simulations to be performed using triclinic (non-orthogonal) simulation boxes shaped as a 3d parallelepiped with triclinic symmetry. For 2d simulations a triclinic simulation box is -effectively a parallelogram; see the :doc:'Howto 2d ` doc +effectively a parallelogram; see the :doc:`Howto 2d ` doc page for details. One use of triclinic simulation boxes is to model solid-state crystals diff --git a/doc/src/dump.rst b/doc/src/dump.rst index 8cba1d760b..bfb1cb1556 100644 --- a/doc/src/dump.rst +++ b/doc/src/dump.rst @@ -288,7 +288,7 @@ with LAMMPS or third-party tools can read this format, as does the For all these styles, the dimensions of the simulation box are included in each snapshot. The simulation box in LAMMPS can be defined in one of 3 ways: orthogonal, restricted triclinic, and -general triclinic. See the :doc:`Howto triclinic ` +general triclinic. See the :doc:`Howto triclinic ` doc page for a detailed description of all 3 options. For an orthogonal simulation box the box information is formatted as: @@ -668,7 +668,7 @@ General triclinic simulation box output for the *atom* and *custom* styles: As mentioned above, the simulation box can be defined as a general triclinic box, which means that 3 arbitrary box edge vectors **A**, **B**, **C** can be specified. See the :doc:`Howto triclinic -` doc page for a detailed description of general +` doc page for a detailed description of general triclinic boxes. This option is provided as a convenience for users who may be diff --git a/doc/src/lattice.rst b/doc/src/lattice.rst index 235b8b30da..ae4b9267a6 100644 --- a/doc/src/lattice.rst +++ b/doc/src/lattice.rst @@ -200,7 +200,7 @@ the Z direction. The *triclinic/general* option specifies that the defined lattice is for use with a general triclinic simulation box, as opposed to an orthogonal or restricted triclinic box. The :doc:`Howto triclinic -` doc page explains all 3 kinds of simluation boxes +` doc page explains all 3 kinds of simluation boxes LAMMPS supports. If this option is specified, a *custom* lattice style must be used. diff --git a/doc/src/read_data.rst b/doc/src/read_data.rst index dd028ec23e..9bea4e9df7 100644 --- a/doc/src/read_data.rst +++ b/doc/src/read_data.rst @@ -923,7 +923,7 @@ zero. data file in the direction of the **A** edge vector. Likewise the (x0,y0,z0) per-atom strain-free coordinates should be inside the general triclinic simulation box as explained in the note above. - See the :doc:`Howto triclinic ` doc page for more + See the :doc:`Howto triclinic ` doc page for more details. The atom-ID is used to identify the atom throughout the simulation and @@ -1675,7 +1675,7 @@ Wz are in units of angular velocity (radians/time). If the data file defines a general triclinic box, then each of the 3 vectors (translational velocity, angular momentum, angular velocity) should be specified for the rotated coordinate axes of the general -triclinic box. See the :doc:`Howto triclinic ` doc +triclinic box. See the :doc:`Howto triclinic ` doc page for more details. For atom_style hybrid, following the 4 initial values (ID,vx,vy,vz), From acdb0481f0d3ce075968cf072f07c285f3af9a2f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 1 Dec 2023 15:54:54 -0500 Subject: [PATCH 090/559] loads of spelling fixes --- doc/src/Howto_2d.rst | 2 +- doc/src/Howto_triclinic.rst | 21 ++++++++++----------- doc/src/boundary.rst | 2 +- doc/src/create_atoms.rst | 8 ++++---- doc/src/create_box.rst | 6 +++--- doc/src/dump.rst | 6 +++--- doc/src/dump_modify.rst | 2 +- doc/src/lattice.rst | 6 +++--- doc/src/read_data.rst | 6 +++--- doc/src/thermo_style.rst | 2 +- doc/src/write_data.rst | 8 ++++---- doc/utils/sphinx-config/false_positives.txt | 17 +++++++++++++++++ 12 files changed, 51 insertions(+), 35 deletions(-) diff --git a/doc/src/Howto_2d.rst b/doc/src/Howto_2d.rst index b80a424690..8bce7000bd 100644 --- a/doc/src/Howto_2d.rst +++ b/doc/src/Howto_2d.rst @@ -10,7 +10,7 @@ A 2d simulation box must be periodic in z as set by the :doc:`boundary If using the :doc:`create_box ` command, you must define a simulation box which straddles z = 0.0 in the z dimension since all -the atoms will have a z coordinate of zero. Typicaily the width of +the atoms will have a z coordinate of zero. Typically the width of box in the z dimension should be narrow, e.g. -0.5 to 0.5, but that is not required. Example are: diff --git a/doc/src/Howto_triclinic.rst b/doc/src/Howto_triclinic.rst index d98a4eca42..2f2ffe85cf 100644 --- a/doc/src/Howto_triclinic.rst +++ b/doc/src/Howto_triclinic.rst @@ -122,7 +122,7 @@ General triclinic simulation boxes in LAMMPS LAMMPS allows specification of general triclinic simulation boxes with their atoms as a convenience for users who may be converting data from -solid-state crystallograhic representations or from DFT codes for +solid-state crystallographic representations or from DFT codes for input to LAMMPS. Likewise it allows output of dump files, data files, and thermodynamic data (e.g. pressure tensor) in a general triclinic format. @@ -160,7 +160,7 @@ This means 4 things which are important to understand: * If commands such as :doc:`write_data ` or :doc:`dump custom ` are used to output general triclinic information, it is effectively the inverse of the operation described in the - preceeding bullet. + preceding bullet. * Other LAMMPS commands such as :doc:`region ` or :doc:`velocity ` or :doc:`set `, operate on a restricted triclinic system even if a general triclinic system was @@ -174,13 +174,13 @@ This is the list of commands which have general triclinic options: * :doc:`read_data ` - read a data file for a general triclinic system * :doc:`write_data ` - write a data file for a general triclinic system * :doc:`dump atom, dump custom ` - output dump snapshots in general triclinic format -* :doc:`dump_modify ` - toggle a dump file between restrictied and general triclinic format +* :doc:`dump_modify ` - toggle a dump file between restricted and general triclinic format * :doc:`thermo_style ` - output the pressure tensor in general triclinic format * :doc:`thermo_modify ` - toggle thermo-style output between restricted and general triclinic format -* :doc:`read_restart ` - read a restart file for a general tricliinc system -* :doc:`write_restart ` - write a restart file for a general tricliinc system +* :doc:`read_restart ` - read a restart file for a general triclinic system +* :doc:`write_restart ` - write a restart file for a general triclinic system ---------- @@ -216,9 +216,8 @@ For consistency, the same rotation applied to the triclinic box edge vectors can also be applied to atom positions, velocities, and other vector quantities. This can be conveniently achieved by first converting to fractional coordinates in the general triclinic -coordinates and then converting to coordinates in the resetricted -triclinic basis. The transformation is given by the following -equation: +coordinates and then converting to coordinates in the restricted +triclinic basis. The transformation is given by the following equation: .. math:: @@ -279,10 +278,10 @@ Output of restricted and general triclinic boxes in a dump file """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" As discussed on the :doc:`dump ` command doc page, when the BOX -BOUNDS for a snapshot is written to a dump file for a resticted +BOUNDS for a snapshot is written to a dump file for a restricted triclinic box, an orthogonal bounding box which encloses the triclinic -simulation box is output, along with the 3 tilt factors (xy, xz, yz) -of the restricted triclinic box, formatted as follows: +simulation box is output, along with the 3 tilt factors (xy, xz, yz) of +the restricted triclinic box, formatted as follows: .. parsed-literal:: diff --git a/doc/src/boundary.rst b/doc/src/boundary.rst index c1adeb1009..06f125ed4f 100644 --- a/doc/src/boundary.rst +++ b/doc/src/boundary.rst @@ -88,7 +88,7 @@ box. The boundary command settings explained above for the 6 faces of an orthogonal box also apply in similar manner to the 6 faces -of a restricted triclinix box (and thus to the corresponding 6 faces +of a restricted triclinic box (and thus to the corresponding 6 faces of a general triclinic box), with the following context. if the second dimension of a tilt factor (e.g. y for xy) is periodic, diff --git a/doc/src/create_atoms.rst b/doc/src/create_atoms.rst index 71303a7d4f..2282cd6e0c 100644 --- a/doc/src/create_atoms.rst +++ b/doc/src/create_atoms.rst @@ -98,7 +98,7 @@ Before using this command, a lattice must typically also be defined using the :doc:`lattice ` command, unless you specify the *single* or *mesh* style with units = box or the *random* style. To create atoms on a lattice for general triclinic boxes, see the -disucssion below. +discussion below. For the remainder of this doc page, a created atom or molecule is referred to as a "particle". @@ -150,7 +150,7 @@ you want. ---------- If the simulation box is formulated as a general triclinic box defined -by arbitary edge vectors **A**, **B**, **C**, then the *box* and +by arbitrary edge vectors **A**, **B**, **C**, then the *box* and *region* styles will create atoms on a lattice commensurate with those edge vectors. See the :doc:`Howto_triclinic ` doc page for a detailed explanation of orthogonal, restricted triclinic, @@ -167,7 +167,7 @@ a simulation box which replicates that unit cell along each of the LAMMPS allows specification of general triclinic simulation boxes as a convenience for users who may be converting data from - solid-state crystallograhic representations or from DFT codes for + solid-state crystallographic representations or from DFT codes for input to LAMMPS. However, as explained on the :doc:`Howto_triclinic ` doc page, internally, LAMMPS only uses restricted triclinic simulation boxes. This means @@ -528,7 +528,7 @@ the distance units are in lattice spacings. These are affected settings: * for *single* style: coordinates of the particle created * for *random* style: overlap distance *Doverlap* by the *overlap* keyword -* for *mesh* style: *bisect* threshold valeu for *meshmode* = *bisect* +* for *mesh* style: *bisect* threshold value for *meshmode* = *bisect* * for *mesh* style: *radthresh* value for *meshmode* = *bisect* * for *mesh* style: *density* value for *meshmode* = *qrand* diff --git a/doc/src/create_box.rst b/doc/src/create_box.rst index f2b5875539..e7f76f075a 100644 --- a/doc/src/create_box.rst +++ b/doc/src/create_box.rst @@ -55,7 +55,7 @@ Description """"""""""" This command creates a simulation box. It also partitions the box into -a regular 3d grid of smaller sub-boxes, one per procssor (MPI task). +a regular 3d grid of smaller sub-boxes, one per processor (MPI task). The geometry of the partitioning is based on the size and shape of the simulation box, the number of processors being used and the settings of the :doc:`processors ` command. The partitioning can @@ -175,7 +175,7 @@ pair of the **A**, **B**, **C** vectors. To create a general triclinic boxes, the region is specified as NULL and the next 6 parameters (alo,ahi,blo,bhi,clo,chi) define the three edge vectors **A**, **B**, **C** using additional information -previously defind by the :doc:`lattice ` command. +previously defined by the :doc:`lattice ` command. The lattice must be of style *custom* and use its *triclinic/general* option. This insures the lattice satisfies the restrictions listed @@ -198,7 +198,7 @@ to do this is to specify clo = -0.5 and chi = 0.5 and use the LAMMPS allows specification of general triclinic simulation boxes as a convenience for users who may be converting data from - solid-state crystallograhic representations or from DFT codes for + solid-state crystallographic representations or from DFT codes for input to LAMMPS. However, as explained on the :doc:`Howto_triclinic ` doc page, internally, LAMMPS only uses restricted triclinic simulation boxes. This means diff --git a/doc/src/dump.rst b/doc/src/dump.rst index bfb1cb1556..2df4f984cf 100644 --- a/doc/src/dump.rst +++ b/doc/src/dump.rst @@ -672,7 +672,7 @@ triclinic box, which means that 3 arbitrary box edge vectors **A**, triclinic boxes. This option is provided as a convenience for users who may be -converting data from solid-state crystallograhic representations or +converting data from solid-state crystallographic representations or from DFT codes for input to LAMMPS. However, as explained on the :doc:`Howto_triclinic ` doc page, internally, LAMMPS only uses restricted triclinic simulation boxes. This means the box @@ -712,12 +712,12 @@ output for unscaled atom coords, via the :doc:`dump_modify scaled no ` setting. For style *custom*, this alters output for either unscaled or unwrapped output of atom coords, via the *x,y,z* or *xu,yu,zu* attributes. For output of scaled atom coords by both -styles, there is no difference bewteen restricted and general +styles, there is no difference between restricted and general triclinic values. Third, the output for any attribute of the *custom* style which represents a per-atom vector quantity will be converted (rotated) to -be oriented consistent with the general tricinic box and its +be oriented consistent with the general triclinic box and its orientation relative to the standard xyz coordinate axes. This applies to the following *custom* style attributes: diff --git a/doc/src/dump_modify.rst b/doc/src/dump_modify.rst index 31f1cd214e..6bc1bb8b3e 100644 --- a/doc/src/dump_modify.rst +++ b/doc/src/dump_modify.rst @@ -818,7 +818,7 @@ threshold criterion is met. Otherwise it is not met. For style *custom*, the *triclinic/general* keyword alters dump output for general triclinic simulation boxes and their atoms. See the :doc:`dump ` command for details of how this changes the - format of dump file snapstots. The thresh keyword may access + format of dump file snapshots. The thresh keyword may access per-atom attributes either directly or indirectly through a compute or variable. If the attribute is an atom coordinate or a per-atom vector (such as velocity, force, or dipole moment), its value will diff --git a/doc/src/lattice.rst b/doc/src/lattice.rst index ae4b9267a6..ad5ab364bd 100644 --- a/doc/src/lattice.rst +++ b/doc/src/lattice.rst @@ -200,7 +200,7 @@ the Z direction. The *triclinic/general* option specifies that the defined lattice is for use with a general triclinic simulation box, as opposed to an orthogonal or restricted triclinic box. The :doc:`Howto triclinic -` doc page explains all 3 kinds of simluation boxes +` doc page explains all 3 kinds of simulation boxes LAMMPS supports. If this option is specified, a *custom* lattice style must be used. @@ -232,7 +232,7 @@ atoms. To do this, it also requires a lattice with the LAMMPS allows specification of general triclinic lattices and simulation boxes as a convenience for users who may be converting - data from solid-state crystallograhic representations or from DFT + data from solid-state crystallographic representations or from DFT codes for input to LAMMPS. However, as explained on the :doc:`Howto_triclinic ` doc page, internally, LAMMPS only uses restricted triclinic simulation boxes. This means @@ -277,7 +277,7 @@ difference in the min/max of the y and z coordinates. defined by *a1*, *a2*, *a3* edge vectors is first converted to a restricted triclinic orientation, which is a rotation operation. The min/max extent of the 8 corner points is then determined, as - described in the preceeding paragraph, to set the lattice + described in the preceding paragraph, to set the lattice spacings. As explained for the *triclinic/general* option above, this is because any use of the lattice spacings by other commands will be for a restricted triclinic simulation box, not a general diff --git a/doc/src/read_data.rst b/doc/src/read_data.rst index 9bea4e9df7..3bf3e8643a 100644 --- a/doc/src/read_data.rst +++ b/doc/src/read_data.rst @@ -471,7 +471,7 @@ For 2d simulations, *cvec* = (0,0,1) is required, and the 3rd value of LAMMPS allows specification of general triclinic simulation boxes as a convenience for users who may be converting data from - solid-state crystallograhic representations or from DFT codes for + solid-state crystallographic representations or from DFT codes for input to LAMMPS. However, as explained on the :doc:`Howto_triclinic ` doc page, internally, LAMMPS only uses restricted triclinic simulation boxes. This means @@ -491,8 +491,8 @@ orthogonal, restricted triclinic, and general triclinic. If the system is periodic (in a dimension), then atom coordinates can be outside the bounds (in that dimension); they will be remapped (in a periodic sense) back inside the box. For triclinic boxes, periodicity -in x,y,z refers to the faces of the parallelepided defined by the -**A**,**B**,**C** edge vectors of the simuation box. See the +in x,y,z refers to the faces of the parallelepiped defined by the +**A**,**B**,**C** edge vectors of the simulation box. See the :doc:`boundary ` command doc page for a fuller discussion. Note that if the *add* option is being used to add atoms to a diff --git a/doc/src/thermo_style.rst b/doc/src/thermo_style.rst index 45a1eaa2a8..f73c4baa3d 100644 --- a/doc/src/thermo_style.rst +++ b/doc/src/thermo_style.rst @@ -328,7 +328,7 @@ pressure ` command doc page for details of how it is calculated. If the :doc:`thermo_modify triclinic/general ` option -is set and the simulation box was created as a geenral triclinic box, +is set and the simulation box was created as a general triclinic box, then the components will be output as values consistent with the orientation of the general triclinic box relative to the standard xyz coordinate axes. If this keyword is not used, the values will be diff --git a/doc/src/write_data.rst b/doc/src/write_data.rst index e083f834b8..516685f4fe 100644 --- a/doc/src/write_data.rst +++ b/doc/src/write_data.rst @@ -127,16 +127,16 @@ given type-kind) to be written to the data file. Use of the *triclinic/general* keyword will output a data file which specifies a general triclinic simulation box as well as per-atom -quantities consistent with the general triclinic box. The latter -means that per-atom vectors, such as velocities and dipole moments -will be oriented conistent with the 3d rotation implied by the general +quantities consistent with the general triclinic box. The latter means +that per-atom vectors, such as velocities and dipole moments will be +oriented consistent with the 3d rotation implied by the general triclinic box (relative to the associated restricted triclinic box). This option can only be requested if the simulation box was initially defined to be general triclinic. If if was and the *triclinic/general* keyword is not used, then the data file will specify a restricted triclinic box, since that is the internal format -LAMMPS uses for both general and restricited triclinic simulations. +LAMMPS uses for both general and restricted triclinic simulations. See the :doc:`Howto triclinic ` doc page for more explanation of how general triclinic simulation boxes are supported by LAMMPS. And see the :doc:`read_data ` doc page for details diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 75589e3115..1a19840c17 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -50,6 +50,7 @@ agilio Agilio agni Agnolin +ahi Ahrens Ai Aidan @@ -85,6 +86,7 @@ allocator allocators allosws AlO +alo Alonso Alperen alphak @@ -184,6 +186,7 @@ automagically Auvergne Avalos avalue +avec aveforce Avendano Averett @@ -191,11 +194,14 @@ avi AVX awpmd AWPMD +ax Axel Axilrod Ay +ay Ayton Az +az Azevedo azimuthal Azuri @@ -268,6 +274,7 @@ Bext Bfrac bgq Bh +bhi Bialke biaxial bicrystal @@ -304,6 +311,7 @@ Bkappa blabel Blaise blanchedalmond +blo blocksize blueviolet bn @@ -383,6 +391,7 @@ burlywood Bussi Buturigakkwaishi Buyl +bvec Bybee bz Cadarache @@ -645,14 +654,18 @@ cv Cv Cval cvar +cvec cvff cwiggle +cx +cy cygwin Cygwin cylindrically Cyrot cyrstals cython +cz Daivis Dammak dampflag @@ -2655,6 +2668,9 @@ organometallic orientational orientationsFile orientorder +originx +originy +originz Orlikowski ornl Ornstein @@ -2698,6 +2714,7 @@ papayawhip paquay Paquay parallelepiped +parallelepipeds Parallelizable parallelization parallelized From fbb9c697717a158fa0e43658e8fafab587bb151e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 1 Dec 2023 16:23:49 -0500 Subject: [PATCH 091/559] fix initialization bug --- src/lattice.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lattice.cpp b/src/lattice.cpp index 64bde35c26..9843a00438 100644 --- a/src/lattice.cpp +++ b/src/lattice.cpp @@ -140,7 +140,8 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) // process optional args - int triclinic_general = 0; + triclinic_general = 0; + oriented = 0; int iarg = 2; while (iarg < narg) { From dab47d518dff440eee95c0f79b131eb8ca4f045e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 1 Dec 2023 16:23:59 -0500 Subject: [PATCH 092/559] apply clang-format --- src/lattice.h | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/lattice.h b/src/lattice.h index 85ffd27c0a..b5eca8c13a 100644 --- a/src/lattice.h +++ b/src/lattice.h @@ -33,25 +33,25 @@ class Lattice : protected Pointers { ~Lattice() override; void lattice2box(double &, double &, double &); void box2lattice(double &, double &, double &); - void bbox(int, double, double, double, - double &, double &, double &, double &, double &, double &); + void bbox(int, double, double, double, double &, double &, double &, double &, double &, + double &); int is_general_triclinic(); private: - int triclinic_general; // 1 if general triclinic, else 0 - int oriented; // 1 if non-default orient xyz, else 0 + int triclinic_general; // 1 if general triclinic, else 0 + int oriented; // 1 if non-default orient xyz, else 0 double scale; - double origin[3]; // lattice origin - int orientx[3]; // lattice orientation vecs - int orienty[3]; // orientx = what lattice dir lies - int orientz[3]; // along x dim in box + double origin[3]; // lattice origin + int orientx[3]; // lattice orientation vecs + int orienty[3]; // orientx = what lattice dir lies + int orientz[3]; // along x dim in box double primitive[3][3]; // lattice <-> box transformation matrices double priminv[3][3]; double rotaterow[3][3]; double rotatecol[3][3]; - double a1_prime[3]; // a123 rotated to restricted triclinic orientation + double a1_prime[3]; // a123 rotated to restricted triclinic orientation double a2_prime[3]; double a3_prime[3]; From 82868cd583c1dab43c541340f43161e4e9a4f1aa Mon Sep 17 00:00:00 2001 From: Ludwig Ahrens Date: Mon, 4 Dec 2023 13:59:07 +0100 Subject: [PATCH 093/559] Simplify Madelung examples with mixed eta --- examples/PACKAGES/electrode/madelung/data.eta | 34 ------------------- .../PACKAGES/electrode/madelung/data.eta_mix | 34 ------------------- examples/PACKAGES/electrode/madelung/in.eta | 13 +++---- .../PACKAGES/electrode/madelung/in.eta_cg | 15 ++++---- .../PACKAGES/electrode/madelung/in.eta_mix | 13 +++---- .../electrode/madelung/settings_eta.mod | 19 ----------- 6 files changed, 16 insertions(+), 112 deletions(-) delete mode 100644 examples/PACKAGES/electrode/madelung/data.eta delete mode 100644 examples/PACKAGES/electrode/madelung/data.eta_mix delete mode 100644 examples/PACKAGES/electrode/madelung/settings_eta.mod diff --git a/examples/PACKAGES/electrode/madelung/data.eta b/examples/PACKAGES/electrode/madelung/data.eta deleted file mode 100644 index b05700a4ab..0000000000 --- a/examples/PACKAGES/electrode/madelung/data.eta +++ /dev/null @@ -1,34 +0,0 @@ -LAMMPS data file via write_data, version 24 Dec 2020, timestep = 0 - -4 atoms -3 atom types - -0 1 xlo xhi -0 1 ylo yhi --10 10 zlo zhi - -Masses - -1 196.966553 -2 196.966553 -3 1.0 - -Pair Coeffs # lj/cut/coul/long - -1 0 0 -2 0 0 -3 0 0 - -Atoms # full - -1 1 1 0.00 0.00 0.00 -2.00 # bottom electrode -2 2 2 0.00 0.00 0.00 2.00 # top electrode -3 3 3 0.50 0.00 0.00 -1.00 # bottom electrolyte -4 3 3 -0.50 0.00 0.00 1.00 # top electrolyte - -ETA - -1 2.0 -2 2.0 -3 0 -4 0 diff --git a/examples/PACKAGES/electrode/madelung/data.eta_mix b/examples/PACKAGES/electrode/madelung/data.eta_mix deleted file mode 100644 index 9322ebd662..0000000000 --- a/examples/PACKAGES/electrode/madelung/data.eta_mix +++ /dev/null @@ -1,34 +0,0 @@ -LAMMPS data file via write_data, version 24 Dec 2020, timestep = 0 - -4 atoms -3 atom types - -0 1 xlo xhi -0 1 ylo yhi --10 10 zlo zhi - -Masses - -1 196.966553 -2 196.966553 -3 1.0 - -Pair Coeffs # lj/cut/coul/long - -1 0 0 -2 0 0 -3 0 0 - -Atoms # full - -1 1 1 0.00 0.00 0.00 -2.00 # bottom electrode -2 2 2 0.00 0.00 0.00 2.00 # top electrode -3 3 3 0.50 0.00 0.00 -1.00 # bottom electrolyte -4 3 3 -0.50 0.00 0.00 1.00 # top electrolyte - -ETA - -1 0.5 -2 3.0 -3 0 -4 0 diff --git a/examples/PACKAGES/electrode/madelung/in.eta b/examples/PACKAGES/electrode/madelung/in.eta index d928f8fed0..3a45bb1bf5 100644 --- a/examples/PACKAGES/electrode/madelung/in.eta +++ b/examples/PACKAGES/electrode/madelung/in.eta @@ -1,16 +1,13 @@ -atom_style full -units real boundary p p f - kspace_style ewald/electrode 1.0e-8 kspace_modify slab 8.0 # ew3dc -pair_style lj/cut/coul/long 12 -fix feta all property/atom d_eta ghost yes -read_data data.eta fix feta NULL ETA - -include "settings_eta.mod" +include "settings.mod" # styles, computes, groups and fixes +thermo_style custom step pe c_qbot c_qtop +fix feta all property/atom d_eta ghost on +set group bot d_eta 2.0 +set group top d_eta 2.0 fix conp bot electrode/conp 0 2 couple top 1 symm on eta d_eta write_inv inv.csv write_vec vec.csv run 0 diff --git a/examples/PACKAGES/electrode/madelung/in.eta_cg b/examples/PACKAGES/electrode/madelung/in.eta_cg index e04db318d5..5ac8cddf17 100644 --- a/examples/PACKAGES/electrode/madelung/in.eta_cg +++ b/examples/PACKAGES/electrode/madelung/in.eta_cg @@ -1,17 +1,14 @@ -atom_style full -units real boundary p p f - kspace_style ewald/electrode 1.0e-8 kspace_modify slab 8.0 # ew3dc -pair_style lj/cut/coul/long 12 -fix feta all property/atom d_eta ghost yes -read_data data.eta_mix fix feta NULL ETA +include "settings.mod" # styles, computes, groups and fixes -include "settings_eta.mod" - -fix conp bot electrode/conp 0 2 couple top 1 symm on algo cg 1e-6 eta d_eta +thermo_style custom step pe c_qbot c_qtop +fix feta all property/atom d_eta ghost on +set group bot d_eta 0.5 +set group top d_eta 3.0 +fix conp bot electrode/conp 0 2 couple top 1 symm on eta d_eta algo cg 1e-6 run 0 diff --git a/examples/PACKAGES/electrode/madelung/in.eta_mix b/examples/PACKAGES/electrode/madelung/in.eta_mix index d4bcf71225..d00e008fa4 100644 --- a/examples/PACKAGES/electrode/madelung/in.eta_mix +++ b/examples/PACKAGES/electrode/madelung/in.eta_mix @@ -1,16 +1,13 @@ -atom_style full -units real boundary p p f - kspace_style ewald/electrode 1.0e-8 kspace_modify slab 8.0 # ew3dc -pair_style lj/cut/coul/long 12 +include "settings.mod" # styles, computes, groups and fixes + +thermo_style custom step pe c_qbot c_qtop fix feta all property/atom d_eta ghost on -read_data data.eta_mix fix feta NULL ETA - -include "settings_eta.mod" - +set group bot d_eta 0.5 +set group top d_eta 3.0 fix conp bot electrode/conp 0 2 couple top 1 symm on eta d_eta write_inv inv.csv write_vec vec.csv run 0 diff --git a/examples/PACKAGES/electrode/madelung/settings_eta.mod b/examples/PACKAGES/electrode/madelung/settings_eta.mod deleted file mode 100644 index aee63bf2e9..0000000000 --- a/examples/PACKAGES/electrode/madelung/settings_eta.mod +++ /dev/null @@ -1,19 +0,0 @@ - -# distribute electrode atoms among all processors: -if "$(extract_setting(world_size) % 2) == 0" then "processors * * 2" - -group bot type 1 -group top type 2 - -# get electrode charges -variable q atom q -compute qbot bot reduce sum v_q -compute qtop top reduce sum v_q - -compute compute_pe all pe -variable vpe equal c_compute_pe -variable charge equal c_qtop -fix fxprint all print 1 "${vpe}, ${charge}" file "out.csv" - -thermo_style custom step pe c_qbot c_qtop - From ae4b65430acfa9d05ac8de8e08c06cd16bd157c8 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 5 Dec 2023 15:58:40 -0700 Subject: [PATCH 094/559] clarify rules for reading multiple data files with read_data --- doc/src/read_data.rst | 82 ++++++++++++++++++++++++------------------- src/read_data.cpp | 4 +++ 2 files changed, 49 insertions(+), 37 deletions(-) diff --git a/doc/src/read_data.rst b/doc/src/read_data.rst index 897f6878b0..95f08a8483 100644 --- a/doc/src/read_data.rst +++ b/doc/src/read_data.rst @@ -127,48 +127,56 @@ keyword must be used. .. note:: - The simulation box size in the new data file will be merged with - the existing simulation box to create a large enough box in each - dimension to contain both the existing and new atoms. Each box - dimension never shrinks due to this merge operation, it only stays - the same or grows. Care must be used if you are growing the - existing simulation box in a periodic dimension. If there are - existing atoms with bonds that straddle that periodic boundary, - then the atoms may become far apart if the box size grows. This - will separate the atoms in the bond, which can lead to "lost" bond - atoms or bad dynamics. + If the first read_data command defined an orthogonal or restricted + triclinic or general triclinic simulation box (see the sub-section + below on header keywords), then subsequent data files must define + the same kind of simulation box. For orthogonal boxes, the new box + can be a different size; see the next Note. For a restricted + triclinic box, the 3 new tilt factors ("xy xz yz" keyword) must + have the same values as in the original data file. For a general + triclinic box, the new avec, bvec, cvec, and "abc origin" keywords + must have the same values in the original data file. files. Also + the *shift* keyword cannot be used in subsequent read_data commands + for a general triclinic box. .. note:: - If the first read_data command defined a restricted or general - triclinic simulation box (see the sub-section below on header - keywords), then subsequent data files have restrictions. For a - restricted triclinic box, the 3 tilt factors ("xy xz yz" keyword) - must have the same values in subsequent data files. For a general - triclinic box, the avec, bvec, cvec, and "abc origin" keywords must - have the same values in subsequent data files. Also the *shift* - keyword cannot be used in subsequent read_data commands. + For orthogonal boxes, the simulation box size in the new data file + will be merged with the existing simulation box to create a large + enough box in each dimension to contain both the existing and new + atoms. Each box dimension never shrinks due to this merge + operation, it only stays the same or grows. Care must be used if + you are growing the existing simulation box in a periodic + dimension. If there are existing atoms with bonds that straddle + that periodic boundary, then the atoms may become far apart if the + box size grows. This will separate the atoms in the bond, which + can lead to "lost" bond atoms or bad dynamics. + The three choices for the *add* argument affect how the atom IDs and -molecule IDs of atoms in the data file are treated. If *append* is -specified, atoms in the data file are added to the current system, -with their atom IDs reset so that an atom-ID = M in the data file -becomes atom-ID = N+M, where N is the largest atom ID in the current -system. This rule is applied to all occurrences of atom IDs in the -data file, e.g. in the Velocity or Bonds section. This is also done -for molecule IDs, if the atom style does support molecule IDs or -they are enabled via fix property/atom. If *IDoffset* is specified, -then *IDoffset* is a numeric value is given, e.g. 1000, so that an -atom-ID = M in the data file becomes atom-ID = 1000+M. For systems -with enabled molecule IDs, another numerical argument *MOLoffset* -is required representing the equivalent offset for molecule IDs. -If *merge* is specified, the data file atoms -are added to the current system without changing their IDs. They are -assumed to merge (without duplication) with the currently defined -atoms. It is up to you to ensure there are no multiply defined atom -IDs, as LAMMPS only performs an incomplete check that this is the case -by ensuring the resulting max atom-ID >= the number of atoms. For -molecule IDs, there is no check done at all. +molecule IDs of atoms in the data file are treated. + +If *append* is specified, atoms in the data file are added to the +current system, with their atom IDs reset so that an atom-ID = M in +the data file becomes atom-ID = N+M, where N is the largest atom ID in +the current system. This rule is applied to all occurrences of atom +IDs in the data file, e.g. in the Velocity or Bonds section. This is +also done for molecule IDs, if the atom style does support molecule +IDs or they are enabled via fix property/atom. + +If *IDoffset* is specified, then *IDoffset* is a numeric value is +given, e.g. 1000, so that an atom-ID = M in the data file becomes +atom-ID = 1000+M. For systems with enabled molecule IDs, another +numerical argument *MOLoffset* is required representing the equivalent +offset for molecule IDs. + +If *merge* is specified, the data file atoms are added to the current +system without changing their IDs. They are assumed to merge (without +duplication) with the currently defined atoms. It is up to you to +ensure there are no multiply defined atom IDs, as LAMMPS only performs +an incomplete check that this is the case by ensuring the resulting +max atom-ID >= the number of atoms. For molecule IDs, there is no +check done at all. The *offset* and *shift* keywords can only be used if the *add* keyword is also specified. diff --git a/src/read_data.cpp b/src/read_data.cpp index b34dac54eb..46bd4ba76c 100644 --- a/src/read_data.cpp +++ b/src/read_data.cpp @@ -639,6 +639,10 @@ void ReadData::command(int narg, char **arg) error->all(FLERR,"Read_data subsequent file cannot switch to restricted triclinic"); if (xy != domain->xy || xz != domain->xz || yz != domain->yz) error->all(FLERR,"Read_data subsequent file tilt factors must be same as first file"); + + } else { + if (domain->triclinic) + error->all(FLERR,"Read_data subsequent file cannot switch to orthogonal"); } double oldboxlo[3] = {domain->boxlo[0], domain->boxlo[1], domain->boxlo[2]}; From c172dceb9f74b01929ffccdb2e38f5d6a7edc8e3 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 5 Dec 2023 16:05:07 -0700 Subject: [PATCH 095/559] white space update --- src/read_data.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/read_data.cpp b/src/read_data.cpp index c038d463e8..dc3949ea56 100644 --- a/src/read_data.cpp +++ b/src/read_data.cpp @@ -639,7 +639,7 @@ void ReadData::command(int narg, char **arg) error->all(FLERR,"Read_data subsequent file cannot switch to restricted triclinic"); if (xy != domain->xy || xz != domain->xz || yz != domain->yz) error->all(FLERR,"Read_data subsequent file tilt factors must be same as first file"); - + } else { if (domain->triclinic) error->all(FLERR,"Read_data subsequent file cannot switch to orthogonal"); From 58787ddecd6ba520004dc7a4ddc1b937cbbd5c5c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 6 Dec 2023 07:36:29 -0500 Subject: [PATCH 096/559] make 2d system box center on 0.0 --- examples/voronoi/in.voronoi.2d | 30 ++-- examples/voronoi/in.voronoi.data | 38 ++-- .../voronoi/log.27Nov18.voronoi.data.g++.1 | 170 ------------------ .../voronoi/log.27Nov18.voronoi.data.g++.4 | 170 ------------------ ...i.2d.g++.1 => log.6Dec23.voronoi.2d.g++.1} | 90 +++++----- ...i.2d.g++.4 => log.6Dec23.voronoi.2d.g++.4} | 92 +++++----- .../voronoi/log.6Dec23.voronoi.data.g++.1 | 168 +++++++++++++++++ .../voronoi/log.6Dec23.voronoi.data.g++.4 | 168 +++++++++++++++++ 8 files changed, 465 insertions(+), 461 deletions(-) delete mode 100644 examples/voronoi/log.27Nov18.voronoi.data.g++.1 delete mode 100644 examples/voronoi/log.27Nov18.voronoi.data.g++.4 rename examples/voronoi/{log.27Nov18.voronoi.2d.g++.1 => log.6Dec23.voronoi.2d.g++.1} (53%) rename examples/voronoi/{log.27Nov18.voronoi.2d.g++.4 => log.6Dec23.voronoi.2d.g++.4} (51%) create mode 100644 examples/voronoi/log.6Dec23.voronoi.data.g++.1 create mode 100644 examples/voronoi/log.6Dec23.voronoi.data.g++.4 diff --git a/examples/voronoi/in.voronoi.2d b/examples/voronoi/in.voronoi.2d index 74bde73f1b..25628bd19a 100644 --- a/examples/voronoi/in.voronoi.2d +++ b/examples/voronoi/in.voronoi.2d @@ -7,46 +7,46 @@ variable len equal 4.0 variable lenz equal 10.0 dimension 2 -units metal -boundary p p p +units metal +boundary p p p #lattice sq 1.0 origin 0.5 0.5 0.0 lattice hex 1.0 origin 0.5 0.5 0.0 -atom_style atomic +atom_style atomic -region box block 0 ${len} 0 ${len} 0.0 ${lenz} +region box block 0 ${len} 0 ${len} -0.5 0.5 region atoms block 0 ${len} 0 ${len} 0.0 0.0 create_box 1 box create_atoms 1 region atoms -mass 1 1.0 +mass 1 1.0 pair_style lj/cut ${rcut} pair_coeff 1 1 0.0 1.0 -neighbor ${rskin} nsq +neighbor ${rskin} nsq # set the minimum communication cut-off comm_modify cutoff ${rcomm} -compute v1 all voronoi/atom neighbors yes -compute volvor all reduce sum c_v1[1] -variable volsys equal lz*lx*ly -variable err equal c_volvor-v_volsys -thermo_style custom c_volvor v_volsys vol v_err -thermo 1 +compute v1 all voronoi/atom neighbors yes +compute volvor all reduce sum c_v1[1] +variable volsys equal lz*lx*ly +variable err equal c_volvor-v_volsys +thermo_style custom c_volvor v_volsys vol v_err +thermo 1 # # TEST 1: Volume check for 2d bulk system # -run 0 +run 0 # # TEST 2: Volume check for 2d finite system # add margins in x and y directions # -change_box all boundary f f p -run 0 +change_box all boundary f f p +run 0 diff --git a/examples/voronoi/in.voronoi.data b/examples/voronoi/in.voronoi.data index e5d925c498..cbcc530649 100644 --- a/examples/voronoi/in.voronoi.data +++ b/examples/voronoi/in.voronoi.data @@ -4,24 +4,24 @@ variable len equal 4.0 variable lenz equal 10.0 dimension 2 -units metal -boundary f f p +units metal +boundary f f p lattice hex 1.0 origin 0.25 0.25 0.0 -atom_style atomic +atom_style atomic -region box block 0 ${len} 0 ${len} 0.0 ${lenz} +region box block 0 ${len} 0 ${len} -0.5 0.5 region atoms block 0 ${len} 0 ${len} 0.0 0.0 create_box 1 box create_atoms 1 region atoms -mass 1 1.0 +mass 1 1.0 pair_style lj/cut 2.5 pair_coeff 1 1 0.0 1.0 -neighbor 1.0 nsq +neighbor 1.0 nsq # # TEST 1: @@ -30,11 +30,11 @@ neighbor 1.0 nsq # This compute voronoi generates all three # types of quantity: per-atom, local, and global -compute v1 all voronoi/atom neighbors yes edge_histo 6 +compute v1 all voronoi/atom neighbors yes edge_histo 6 # write voronoi per-atom quantities to a file -dump dperatom all custom 1 dump.voro id type x y z c_v1[1] c_v1[2] +dump dperatom all custom 1 dump.voro id type x y z c_v1[1] c_v1[2] # writing voronoi local quantities to a file @@ -42,17 +42,17 @@ dump dlocal all local 1 dump.neighbors index c_v1[1] c_v1[2] c_v1[3] # sum up a voronoi per-atom quantity -compute volvor all reduce sum c_v1[1] +compute volvor all reduce sum c_v1[1] -variable volsys equal lz*lx*ly -variable err equal c_volvor-v_volsys +variable volsys equal lz*lx*ly +variable err equal c_volvor-v_volsys # output voronoi global quantities -thermo_style custom c_volvor v_volsys vol v_err c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7] -thermo 1 +thermo_style custom c_volvor v_volsys vol v_err c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7] +thermo 1 -run 0 +run 0 uncompute v1 uncompute volvor @@ -65,7 +65,7 @@ undump dlocal # This compute voronoi generates peratom and local and global quantities -compute v2 all voronoi/atom neighbors yes edge_histo 6 +compute v2 all voronoi/atom neighbors yes edge_histo 6 # write voronoi local quantities to a file @@ -73,11 +73,11 @@ dump d2 all local 1 dump.neighbors2 index c_v2[1] c_v2[2] c_v2[3] # sum up a voronoi local quantity -compute sumarea all reduce sum c_v2[3] inputs local +compute sumarea all reduce sum c_v2[3] inputs local # output voronoi global quantities -thermo_style custom c_sumarea c_v2[3] c_v2[4] c_v2[5] c_v2[6] c_v2[7] -thermo 1 +thermo_style custom c_sumarea c_v2[3] c_v2[4] c_v2[5] c_v2[6] c_v2[7] +thermo 1 -run 0 +run 0 diff --git a/examples/voronoi/log.27Nov18.voronoi.data.g++.1 b/examples/voronoi/log.27Nov18.voronoi.data.g++.1 deleted file mode 100644 index 04bc629d87..0000000000 --- a/examples/voronoi/log.27Nov18.voronoi.data.g++.1 +++ /dev/null @@ -1,170 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Exercise different output data options - -variable len equal 4.0 -variable lenz equal 10.0 - -dimension 2 -units metal -boundary f f p - -lattice hex 1.0 origin 0.25 0.25 0.0 -Lattice spacing in x,y,z = 1 1.73205 1 - -atom_style atomic - -region box block 0 ${len} 0 ${len} 0.0 ${lenz} -region box block 0 4 0 ${len} 0.0 ${lenz} -region box block 0 4 0 4 0.0 ${lenz} -region box block 0 4 0 4 0.0 10 -region atoms block 0 ${len} 0 ${len} 0.0 0.0 -region atoms block 0 4 0 ${len} 0.0 0.0 -region atoms block 0 4 0 4 0.0 0.0 -create_box 1 box -Created orthogonal box = (0 0 0) to (4 6.9282 10) - 1 by 1 by 1 MPI processor grid -create_atoms 1 region atoms -Created 32 atoms - Time spent = 0.000315666 secs - -mass 1 1.0 - -pair_style lj/cut 2.5 -pair_coeff 1 1 0.0 1.0 - -neighbor 1.0 nsq - -# -# TEST 1: -# - -# This compute voronoi generates all three -# types of quantity: per-atom, local, and global - -compute v1 all voronoi/atom neighbors yes edge_histo 6 - -# write voronoi per-atom quantities to a file - -dump dperatom all custom 1 dump.voro id type x y z c_v1[1] c_v1[2] - -# writing voronoi local quantities to a file - -dump dlocal all local 1 dump.neighbors index c_v1[1] c_v1[2] c_v1[3] - -# sum up a voronoi per-atom quantity - -compute volvor all reduce sum c_v1[1] - -variable volsys equal lz*lx*ly -variable err equal c_volvor-v_volsys - -# output voronoi global quantities - -thermo_style custom c_volvor v_volsys vol v_err c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7] -thermo 1 - -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 = 3.5 - ghost atom cutoff = 3.5 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/nsq/newton - stencil: none - bin: none -Per MPI rank memory allocation (min/avg/max) = 10.04 | 10.04 | 10.04 Mbytes -c_volvor v_volsys Volume v_err c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7] - 277.12813 277.12813 27.712813 3.9790393e-13 0 186 12 36 0 -Loop time of 7.15256e-07 on 1 procs for 0 steps with 32 atoms - -0.0% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0 | 0 | 0 | 0.0 | 0.00 -Output | 0 | 0 | 0 | 0.0 | 0.00 -Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 7.153e-07 | | |100.00 - -Nlocal: 32 ave 32 max 32 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: 325 ave 325 max 325 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 325 -Ave neighs/atom = 10.1562 -Neighbor list builds = 0 -Dangerous builds = 0 - -uncompute v1 -uncompute volvor -undump dperatom -undump dlocal - -# -# TEST 2: -# - -# This compute voronoi generates -# local and global quantities, but -# not per-atom quantities - -compute v2 all voronoi/atom neighbors yes edge_histo 6 peratom no - -# write voronoi local quantities to a file - -dump d2 all local 1 dump.neighbors2 index c_v2[1] c_v2[2] c_v2[3] - -# sum up a voronoi local quantity - -compute sumarea all reduce sum c_v2[3] - -# output voronoi global quantities - -thermo_style custom c_sumarea c_v2[3] c_v2[4] c_v2[5] c_v2[6] c_v2[7] -thermo 1 - -run 0 -WARNING: No fixes defined, atoms won't move (src/verlet.cpp:55) -Per MPI rank memory allocation (min/avg/max) = 8.787 | 8.787 | 8.787 Mbytes -c_sumarea c_v2[3] c_v2[4] c_v2[5] c_v2[6] c_v2[7] - 1215.0706 0 186 12 36 0 -Loop time of 7.15256e-07 on 1 procs for 0 steps with 32 atoms - -139.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 0 | 0 | 0.0 | 0.00 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0 | 0 | 0 | 0.0 | 0.00 -Output | 0 | 0 | 0 | 0.0 | 0.00 -Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 7.153e-07 | | |100.00 - -Nlocal: 32 ave 32 max 32 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: 325 ave 325 max 325 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 325 -Ave neighs/atom = 10.1562 -Neighbor list builds = 0 -Dangerous builds = 0 - - - -Total wall time: 0:00:00 diff --git a/examples/voronoi/log.27Nov18.voronoi.data.g++.4 b/examples/voronoi/log.27Nov18.voronoi.data.g++.4 deleted file mode 100644 index be028e4d2f..0000000000 --- a/examples/voronoi/log.27Nov18.voronoi.data.g++.4 +++ /dev/null @@ -1,170 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Exercise different output data options - -variable len equal 4.0 -variable lenz equal 10.0 - -dimension 2 -units metal -boundary f f p - -lattice hex 1.0 origin 0.25 0.25 0.0 -Lattice spacing in x,y,z = 1 1.73205 1 - -atom_style atomic - -region box block 0 ${len} 0 ${len} 0.0 ${lenz} -region box block 0 4 0 ${len} 0.0 ${lenz} -region box block 0 4 0 4 0.0 ${lenz} -region box block 0 4 0 4 0.0 10 -region atoms block 0 ${len} 0 ${len} 0.0 0.0 -region atoms block 0 4 0 ${len} 0.0 0.0 -region atoms block 0 4 0 4 0.0 0.0 -create_box 1 box -Created orthogonal box = (0 0 0) to (4 6.9282 10) - 2 by 2 by 1 MPI processor grid -create_atoms 1 region atoms -Created 32 atoms - Time spent = 0.000311136 secs - -mass 1 1.0 - -pair_style lj/cut 2.5 -pair_coeff 1 1 0.0 1.0 - -neighbor 1.0 nsq - -# -# TEST 1: -# - -# This compute voronoi generates all three -# types of quantity: per-atom, local, and global - -compute v1 all voronoi/atom neighbors yes edge_histo 6 - -# write voronoi per-atom quantities to a file - -dump dperatom all custom 1 dump.voro id type x y z c_v1[1] c_v1[2] - -# writing voronoi local quantities to a file - -dump dlocal all local 1 dump.neighbors index c_v1[1] c_v1[2] c_v1[3] - -# sum up a voronoi per-atom quantity - -compute volvor all reduce sum c_v1[1] - -variable volsys equal lz*lx*ly -variable err equal c_volvor-v_volsys - -# output voronoi global quantities - -thermo_style custom c_volvor v_volsys vol v_err c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7] -thermo 1 - -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 = 3.5 - ghost atom cutoff = 3.5 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/nsq/newton - stencil: none - bin: none -Per MPI rank memory allocation (min/avg/max) = 9.922 | 9.922 | 9.922 Mbytes -c_volvor v_volsys Volume v_err c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7] - 277.12813 277.12813 27.712813 3.4106051e-13 0 186 12 36 0 -Loop time of 1.40667e-05 on 4 procs for 0 steps with 32 atoms - -46.2% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 0 | 0 | 0.0 | 0.00 -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.407e-05 | | |100.00 - -Nlocal: 8 ave 8 max 8 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Nghost: 24 ave 24 max 24 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Neighs: 81.25 ave 84 max 77 min -Histogram: 1 0 0 0 1 0 0 0 0 2 - -Total # of neighbors = 325 -Ave neighs/atom = 10.1562 -Neighbor list builds = 0 -Dangerous builds = 0 - -uncompute v1 -uncompute volvor -undump dperatom -undump dlocal - -# -# TEST 2: -# - -# This compute voronoi generates -# local and global quantities, but -# not per-atom quantities - -compute v2 all voronoi/atom neighbors yes edge_histo 6 peratom no - -# write voronoi local quantities to a file - -dump d2 all local 1 dump.neighbors2 index c_v2[1] c_v2[2] c_v2[3] - -# sum up a voronoi local quantity - -compute sumarea all reduce sum c_v2[3] - -# output voronoi global quantities - -thermo_style custom c_sumarea c_v2[3] c_v2[4] c_v2[5] c_v2[6] c_v2[7] -thermo 1 - -run 0 -WARNING: No fixes defined, atoms won't move (src/verlet.cpp:55) -Per MPI rank memory allocation (min/avg/max) = 8.671 | 8.671 | 8.671 Mbytes -c_sumarea c_v2[3] c_v2[4] c_v2[5] c_v2[6] c_v2[7] - 1215.0706 0 186 12 36 0 -Loop time of 2.71797e-05 on 4 procs for 0 steps with 32 atoms - -57.9% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 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.718e-05 | | |100.00 - -Nlocal: 8 ave 8 max 8 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Nghost: 24 ave 24 max 24 min -Histogram: 4 0 0 0 0 0 0 0 0 0 -Neighs: 81.25 ave 84 max 77 min -Histogram: 1 0 0 0 1 0 0 0 0 2 - -Total # of neighbors = 325 -Ave neighs/atom = 10.1562 -Neighbor list builds = 0 -Dangerous builds = 0 - - - -Total wall time: 0:00:00 diff --git a/examples/voronoi/log.27Nov18.voronoi.2d.g++.1 b/examples/voronoi/log.6Dec23.voronoi.2d.g++.1 similarity index 53% rename from examples/voronoi/log.27Nov18.voronoi.2d.g++.1 rename to examples/voronoi/log.6Dec23.voronoi.2d.g++.1 index a591db8b4f..0f1bc89bb9 100644 --- a/examples/voronoi/log.27Nov18.voronoi.2d.g++.1 +++ b/examples/voronoi/log.6Dec23.voronoi.2d.g++.1 @@ -1,4 +1,5 @@ -LAMMPS (27 Nov 2018) +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-132-g9edf553332) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task # Test volume definitions for 2d and finite systems @@ -9,57 +10,58 @@ variable len equal 4.0 variable lenz equal 10.0 dimension 2 -units metal -boundary p p p +units metal +boundary p p p #lattice sq 1.0 origin 0.5 0.5 0.0 lattice hex 1.0 origin 0.5 0.5 0.0 -Lattice spacing in x,y,z = 1 1.73205 1 +Lattice spacing in x,y,z = 1 1.7320508 1 -atom_style atomic +atom_style atomic -region box block 0 ${len} 0 ${len} 0.0 ${lenz} -region box block 0 4 0 ${len} 0.0 ${lenz} -region box block 0 4 0 4 0.0 ${lenz} -region box block 0 4 0 4 0.0 10 +region box block 0 ${len} 0 ${len} -0.5 0.5 +region box block 0 4 0 ${len} -0.5 0.5 +region box block 0 4 0 4 -0.5 0.5 region atoms block 0 ${len} 0 ${len} 0.0 0.0 region atoms block 0 4 0 ${len} 0.0 0.0 region atoms block 0 4 0 4 0.0 0.0 create_box 1 box -Created orthogonal box = (0 0 0) to (4 6.9282 10) +Created orthogonal box = (0 0 -0.5) to (4 6.9282032 0.5) 1 by 1 by 1 MPI processor grid create_atoms 1 region atoms Created 32 atoms - Time spent = 0.000315905 secs + using lattice units in orthogonal box = (0 0 -0.5) to (4 6.9282032 0.5) + create_atoms CPU = 0.000 seconds -mass 1 1.0 +mass 1 1.0 pair_style lj/cut ${rcut} pair_style lj/cut 10 pair_coeff 1 1 0.0 1.0 -neighbor ${rskin} nsq -neighbor 2 nsq +neighbor ${rskin} nsq +neighbor 2 nsq # set the minimum communication cut-off comm_modify cutoff ${rcomm} comm_modify cutoff 20 -compute v1 all voronoi/atom neighbors yes -compute volvor all reduce sum c_v1[1] -variable volsys equal lz*lx*ly -variable err equal c_volvor-v_volsys -thermo_style custom c_volvor v_volsys vol v_err -thermo 1 +compute v1 all voronoi/atom neighbors yes +compute volvor all reduce sum c_v1[1] +variable volsys equal lz*lx*ly +variable err equal c_volvor-v_volsys +thermo_style custom c_volvor v_volsys vol v_err +thermo 1 # # TEST 1: Volume check for 2d bulk system # -run 0 -WARNING: No fixes defined, atoms won't move (src/verlet.cpp:55) +run 0 +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 + update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 12 ghost atom cutoff = 20 @@ -69,12 +71,12 @@ Neighbor list info ... pair build: half/nsq/newton stencil: none bin: none -Per MPI rank memory allocation (min/avg/max) = 3.007 | 3.007 | 3.007 Mbytes -c_volvor v_volsys Volume v_err - 277.12813 277.12813 27.712813 5.6843419e-14 -Loop time of 9.53674e-07 on 1 procs for 0 steps with 32 atoms +Per MPI rank memory allocation (min/avg/max) = 3.008 | 3.008 | 3.008 Mbytes + c_volvor v_volsys Volume v_err + 27.712813 27.712813 27.712813 -3.5527137e-15 +Loop time of 6.33e-07 on 1 procs for 0 steps with 32 atoms -209.7% CPU use with 1 MPI tasks x 1 OpenMP threads +316.0% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -84,13 +86,13 @@ 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.537e-07 | | |100.00 +Other | | 6.33e-07 | | |100.00 -Nlocal: 32 ave 32 max 32 min +Nlocal: 32 ave 32 max 32 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 2415 ave 2415 max 2415 min +Nghost: 2415 ave 2415 max 2415 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 8256 ave 8256 max 8256 min +Neighs: 8256 ave 8256 max 8256 min Histogram: 1 0 0 0 0 0 0 0 0 0 Total # of neighbors = 8256 @@ -103,15 +105,17 @@ Dangerous builds = 0 # add margins in x and y directions # -change_box all boundary f f p -run 0 -WARNING: No fixes defined, atoms won't move (src/verlet.cpp:55) +change_box all boundary f f p +Changing box ... +run 0 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule Per MPI rank memory allocation (min/avg/max) = 7.688 | 7.688 | 7.688 Mbytes -c_volvor v_volsys Volume v_err - 277.12813 277.12813 27.712813 3.4106051e-13 -Loop time of 4.76837e-07 on 1 procs for 0 steps with 32 atoms + c_volvor v_volsys Volume v_err + 27.712813 27.712813 27.712813 3.5527137e-14 +Loop time of 3.93e-07 on 1 procs for 0 steps with 32 atoms -209.7% CPU use with 1 MPI tasks x 1 OpenMP threads +254.5% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -121,13 +125,13 @@ 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.768e-07 | | |100.00 +Other | | 3.93e-07 | | |100.00 -Nlocal: 32 ave 32 max 32 min +Nlocal: 32 ave 32 max 32 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 0 ave 0 max 0 min +Nghost: 0 ave 0 max 0 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 496 ave 496 max 496 min +Neighs: 496 ave 496 max 496 min Histogram: 1 0 0 0 0 0 0 0 0 0 Total # of neighbors = 496 diff --git a/examples/voronoi/log.27Nov18.voronoi.2d.g++.4 b/examples/voronoi/log.6Dec23.voronoi.2d.g++.4 similarity index 51% rename from examples/voronoi/log.27Nov18.voronoi.2d.g++.4 rename to examples/voronoi/log.6Dec23.voronoi.2d.g++.4 index 841f8dcb81..f5a5052c4f 100644 --- a/examples/voronoi/log.27Nov18.voronoi.2d.g++.4 +++ b/examples/voronoi/log.6Dec23.voronoi.2d.g++.4 @@ -1,4 +1,5 @@ -LAMMPS (27 Nov 2018) +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-132-g9edf553332) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) using 1 OpenMP thread(s) per MPI task # Test volume definitions for 2d and finite systems @@ -9,57 +10,58 @@ variable len equal 4.0 variable lenz equal 10.0 dimension 2 -units metal -boundary p p p +units metal +boundary p p p #lattice sq 1.0 origin 0.5 0.5 0.0 lattice hex 1.0 origin 0.5 0.5 0.0 -Lattice spacing in x,y,z = 1 1.73205 1 +Lattice spacing in x,y,z = 1 1.7320508 1 -atom_style atomic +atom_style atomic -region box block 0 ${len} 0 ${len} 0.0 ${lenz} -region box block 0 4 0 ${len} 0.0 ${lenz} -region box block 0 4 0 4 0.0 ${lenz} -region box block 0 4 0 4 0.0 10 +region box block 0 ${len} 0 ${len} -0.5 0.5 +region box block 0 4 0 ${len} -0.5 0.5 +region box block 0 4 0 4 -0.5 0.5 region atoms block 0 ${len} 0 ${len} 0.0 0.0 region atoms block 0 4 0 ${len} 0.0 0.0 region atoms block 0 4 0 4 0.0 0.0 create_box 1 box -Created orthogonal box = (0 0 0) to (4 6.9282 10) +Created orthogonal box = (0 0 -0.5) to (4 6.9282032 0.5) 2 by 2 by 1 MPI processor grid create_atoms 1 region atoms Created 32 atoms - Time spent = 0.000319481 secs + using lattice units in orthogonal box = (0 0 -0.5) to (4 6.9282032 0.5) + create_atoms CPU = 0.000 seconds -mass 1 1.0 +mass 1 1.0 pair_style lj/cut ${rcut} pair_style lj/cut 10 pair_coeff 1 1 0.0 1.0 -neighbor ${rskin} nsq -neighbor 2 nsq +neighbor ${rskin} nsq +neighbor 2 nsq # set the minimum communication cut-off comm_modify cutoff ${rcomm} comm_modify cutoff 20 -compute v1 all voronoi/atom neighbors yes -compute volvor all reduce sum c_v1[1] -variable volsys equal lz*lx*ly -variable err equal c_volvor-v_volsys -thermo_style custom c_volvor v_volsys vol v_err -thermo 1 +compute v1 all voronoi/atom neighbors yes +compute volvor all reduce sum c_v1[1] +variable volsys equal lz*lx*ly +variable err equal c_volvor-v_volsys +thermo_style custom c_volvor v_volsys vol v_err +thermo 1 # # TEST 1: Volume check for 2d bulk system # -run 0 -WARNING: No fixes defined, atoms won't move (src/verlet.cpp:55) +run 0 +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 + update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 12 ghost atom cutoff = 20 @@ -69,12 +71,12 @@ Neighbor list info ... pair build: half/nsq/newton stencil: none bin: none -Per MPI rank memory allocation (min/avg/max) = 3.042 | 3.042 | 3.042 Mbytes -c_volvor v_volsys Volume v_err - 277.12813 277.12813 27.712813 5.1159077e-13 -Loop time of 2.79546e-05 on 4 procs for 0 steps with 32 atoms +Per MPI rank memory allocation (min/avg/max) = 3.038 | 3.038 | 3.038 Mbytes + c_volvor v_volsys Volume v_err + 27.712813 27.712813 27.712813 2.1316282e-14 +Loop time of 2.18725e-06 on 4 procs for 0 steps with 32 atoms -51.9% CPU use with 4 MPI tasks x 1 OpenMP threads +45.7% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -84,13 +86,13 @@ 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.795e-05 | | |100.00 +Other | | 2.187e-06 | | |100.00 -Nlocal: 8 ave 8 max 8 min +Nlocal: 8 ave 8 max 8 min Histogram: 4 0 0 0 0 0 0 0 0 0 -Nghost: 2159 ave 2159 max 2159 min +Nghost: 2159 ave 2159 max 2159 min Histogram: 4 0 0 0 0 0 0 0 0 0 -Neighs: 2064 ave 2077 max 2051 min +Neighs: 2064 ave 2077 max 2051 min Histogram: 1 0 0 1 0 0 1 0 0 1 Total # of neighbors = 8256 @@ -103,15 +105,17 @@ Dangerous builds = 0 # add margins in x and y directions # -change_box all boundary f f p -run 0 -WARNING: No fixes defined, atoms won't move (src/verlet.cpp:55) -Per MPI rank memory allocation (min/avg/max) = 7.678 | 7.678 | 7.678 Mbytes -c_volvor v_volsys Volume v_err - 277.12813 277.12813 27.712813 3.4106051e-13 -Loop time of 1.88947e-05 on 4 procs for 0 steps with 32 atoms +change_box all boundary f f p +Changing box ... +run 0 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 7.671 | 7.671 | 7.671 Mbytes + c_volvor v_volsys Volume v_err + 27.712813 27.712813 27.712813 3.907985e-14 +Loop time of 2.22e-06 on 4 procs for 0 steps with 32 atoms -47.6% CPU use with 4 MPI tasks x 1 OpenMP threads +112.6% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total @@ -121,13 +125,13 @@ 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.889e-05 | | |100.00 +Other | | 2.22e-06 | | |100.00 -Nlocal: 8 ave 8 max 8 min +Nlocal: 8 ave 8 max 8 min Histogram: 4 0 0 0 0 0 0 0 0 0 -Nghost: 24 ave 24 max 24 min +Nghost: 24 ave 24 max 24 min Histogram: 4 0 0 0 0 0 0 0 0 0 -Neighs: 124 ave 124 max 124 min +Neighs: 124 ave 124 max 124 min Histogram: 4 0 0 0 0 0 0 0 0 0 Total # of neighbors = 496 diff --git a/examples/voronoi/log.6Dec23.voronoi.data.g++.1 b/examples/voronoi/log.6Dec23.voronoi.data.g++.1 new file mode 100644 index 0000000000..b598b251dc --- /dev/null +++ b/examples/voronoi/log.6Dec23.voronoi.data.g++.1 @@ -0,0 +1,168 @@ +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-132-g9edf553332) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Exercise different output data options + +variable len equal 4.0 +variable lenz equal 10.0 + +dimension 2 +units metal +boundary f f p + +lattice hex 1.0 origin 0.25 0.25 0.0 +Lattice spacing in x,y,z = 1 1.7320508 1 + +atom_style atomic + +region box block 0 ${len} 0 ${len} -0.5 0.5 +region box block 0 4 0 ${len} -0.5 0.5 +region box block 0 4 0 4 -0.5 0.5 +region atoms block 0 ${len} 0 ${len} 0.0 0.0 +region atoms block 0 4 0 ${len} 0.0 0.0 +region atoms block 0 4 0 4 0.0 0.0 +create_box 1 box +Created orthogonal box = (0 0 -0.5) to (4 6.9282032 0.5) + 1 by 1 by 1 MPI processor grid +create_atoms 1 region atoms +Created 32 atoms + using lattice units in orthogonal box = (0 0 -0.5) to (4 6.9282032 0.5) + create_atoms CPU = 0.000 seconds + +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 0.0 1.0 + +neighbor 1.0 nsq + +# +# TEST 1: +# + +# This compute voronoi generates all three +# types of quantity: per-atom, local, and global + +compute v1 all voronoi/atom neighbors yes edge_histo 6 + +# write voronoi per-atom quantities to a file + +dump dperatom all custom 1 dump.voro id type x y z c_v1[1] c_v1[2] + +# writing voronoi local quantities to a file + +dump dlocal all local 1 dump.neighbors index c_v1[1] c_v1[2] c_v1[3] + +# sum up a voronoi per-atom quantity + +compute volvor all reduce sum c_v1[1] + +variable volsys equal lz*lx*ly +variable err equal c_volvor-v_volsys + +# output voronoi global quantities + +thermo_style custom c_volvor v_volsys vol v_err c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7] +thermo 1 + +run 0 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 3.5 + ghost atom cutoff = 3.5 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/nsq/newton + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 3.03 | 3.03 | 3.03 Mbytes + c_volvor v_volsys Volume v_err c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7] + 27.712813 27.712813 27.712813 3.1974423e-14 0 186 12 36 0 +Loop time of 7.96e-07 on 1 procs for 0 steps with 32 atoms + +125.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 7.96e-07 | | |100.00 + +Nlocal: 32 ave 32 max 32 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: 325 ave 325 max 325 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 325 +Ave neighs/atom = 10.15625 +Neighbor list builds = 0 +Dangerous builds = 0 + +uncompute v1 +uncompute volvor +undump dperatom +undump dlocal + +# +# TEST 2: +# + +# This compute voronoi generates peratom and local and global quantities + +compute v2 all voronoi/atom neighbors yes edge_histo 6 + +# write voronoi local quantities to a file + +dump d2 all local 1 dump.neighbors2 index c_v2[1] c_v2[2] c_v2[3] + +# sum up a voronoi local quantity + +compute sumarea all reduce sum c_v2[3] inputs local + +# output voronoi global quantities + +thermo_style custom c_sumarea c_v2[3] c_v2[4] c_v2[5] c_v2[6] c_v2[7] +thermo 1 + +run 0 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.03 | 3.03 | 3.03 Mbytes + c_sumarea c_v2[3] c_v2[4] c_v2[5] c_v2[6] c_v2[7] + 171.39013 0 186 12 36 0 +Loop time of 3.74e-07 on 1 procs for 0 steps with 32 atoms + +0.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +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.74e-07 | | |100.00 + +Nlocal: 32 ave 32 max 32 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: 325 ave 325 max 325 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 325 +Ave neighs/atom = 10.15625 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/voronoi/log.6Dec23.voronoi.data.g++.4 b/examples/voronoi/log.6Dec23.voronoi.data.g++.4 new file mode 100644 index 0000000000..dc0855c2c7 --- /dev/null +++ b/examples/voronoi/log.6Dec23.voronoi.data.g++.4 @@ -0,0 +1,168 @@ +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-132-g9edf553332) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Exercise different output data options + +variable len equal 4.0 +variable lenz equal 10.0 + +dimension 2 +units metal +boundary f f p + +lattice hex 1.0 origin 0.25 0.25 0.0 +Lattice spacing in x,y,z = 1 1.7320508 1 + +atom_style atomic + +region box block 0 ${len} 0 ${len} -0.5 0.5 +region box block 0 4 0 ${len} -0.5 0.5 +region box block 0 4 0 4 -0.5 0.5 +region atoms block 0 ${len} 0 ${len} 0.0 0.0 +region atoms block 0 4 0 ${len} 0.0 0.0 +region atoms block 0 4 0 4 0.0 0.0 +create_box 1 box +Created orthogonal box = (0 0 -0.5) to (4 6.9282032 0.5) + 2 by 2 by 1 MPI processor grid +create_atoms 1 region atoms +Created 32 atoms + using lattice units in orthogonal box = (0 0 -0.5) to (4 6.9282032 0.5) + create_atoms CPU = 0.000 seconds + +mass 1 1.0 + +pair_style lj/cut 2.5 +pair_coeff 1 1 0.0 1.0 + +neighbor 1.0 nsq + +# +# TEST 1: +# + +# This compute voronoi generates all three +# types of quantity: per-atom, local, and global + +compute v1 all voronoi/atom neighbors yes edge_histo 6 + +# write voronoi per-atom quantities to a file + +dump dperatom all custom 1 dump.voro id type x y z c_v1[1] c_v1[2] + +# writing voronoi local quantities to a file + +dump dlocal all local 1 dump.neighbors index c_v1[1] c_v1[2] c_v1[3] + +# sum up a voronoi per-atom quantity + +compute volvor all reduce sum c_v1[1] + +variable volsys equal lz*lx*ly +variable err equal c_volvor-v_volsys + +# output voronoi global quantities + +thermo_style custom c_volvor v_volsys vol v_err c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7] +thermo 1 + +run 0 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 3.5 + ghost atom cutoff = 3.5 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/nsq/newton + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 2.921 | 2.921 | 2.921 Mbytes + c_volvor v_volsys Volume v_err c_v1[3] c_v1[4] c_v1[5] c_v1[6] c_v1[7] + 27.712813 27.712813 27.712813 3.907985e-14 0 186 12 36 0 +Loop time of 2.21425e-06 on 4 procs for 0 steps with 32 atoms + +45.2% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +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.214e-06 | | |100.00 + +Nlocal: 8 ave 8 max 8 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 24 ave 24 max 24 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 81.25 ave 84 max 77 min +Histogram: 1 0 0 0 1 0 0 0 0 2 + +Total # of neighbors = 325 +Ave neighs/atom = 10.15625 +Neighbor list builds = 0 +Dangerous builds = 0 + +uncompute v1 +uncompute volvor +undump dperatom +undump dlocal + +# +# TEST 2: +# + +# This compute voronoi generates peratom and local and global quantities + +compute v2 all voronoi/atom neighbors yes edge_histo 6 + +# write voronoi local quantities to a file + +dump d2 all local 1 dump.neighbors2 index c_v2[1] c_v2[2] c_v2[3] + +# sum up a voronoi local quantity + +compute sumarea all reduce sum c_v2[3] inputs local + +# output voronoi global quantities + +thermo_style custom c_sumarea c_v2[3] c_v2[4] c_v2[5] c_v2[6] c_v2[7] +thermo 1 + +run 0 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 2.921 | 2.921 | 2.921 Mbytes + c_sumarea c_v2[3] c_v2[4] c_v2[5] c_v2[6] c_v2[7] + 171.39013 0 186 12 36 0 +Loop time of 1.82375e-06 on 4 procs for 0 steps with 32 atoms + +82.2% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +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.824e-06 | | |100.00 + +Nlocal: 8 ave 8 max 8 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 24 ave 24 max 24 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 81.25 ave 84 max 77 min +Histogram: 1 0 0 0 1 0 0 0 0 2 + +Total # of neighbors = 325 +Ave neighs/atom = 10.15625 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 From 8eaaae1e996e65d0a123d98b1932c104b23d7370 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 6 Dec 2023 08:31:41 -0500 Subject: [PATCH 097/559] recenter 2d boxes around 0.0 --- examples/PACKAGES/flow_gauss/in.GD | 2 +- .../PACKAGES/flow_gauss/log.6Dec23.GD.g++.1 | 941 + .../PACKAGES/flow_gauss/log.6Dec23.GD.g++.4 | 941 + .../PACKAGES/flow_gauss/log.6Jul17.GD.g++.1 | 909 - .../PACKAGES/flow_gauss/log.6Jul17.GD.g++.4 | 909 - .../PACKAGES/phonon/2-1D-diatomic/data.pos | 2 +- .../phonon/2-1D-diatomic/log.6Dec23.Ana.g++.1 | 20125 ++++++++++++++++ .../phonon/2-1D-diatomic/log.6Dec23.Ana.g++.4 | 20125 ++++++++++++++++ .../PACKAGES/phonon/2-1D-diatomic/log.lammps | 20088 --------------- .../phonon/2-1D-diatomic/phonon.bin.2000000 | Bin 2196 -> 0 bytes .../PACKAGES/phonon/2-1D-diatomic/phonon.log | 206 - 11 files changed, 42134 insertions(+), 22114 deletions(-) create mode 100644 examples/PACKAGES/flow_gauss/log.6Dec23.GD.g++.1 create mode 100644 examples/PACKAGES/flow_gauss/log.6Dec23.GD.g++.4 delete mode 100644 examples/PACKAGES/flow_gauss/log.6Jul17.GD.g++.1 delete mode 100644 examples/PACKAGES/flow_gauss/log.6Jul17.GD.g++.4 create mode 100644 examples/PACKAGES/phonon/2-1D-diatomic/log.6Dec23.Ana.g++.1 create mode 100644 examples/PACKAGES/phonon/2-1D-diatomic/log.6Dec23.Ana.g++.4 delete mode 100644 examples/PACKAGES/phonon/2-1D-diatomic/log.lammps delete mode 100644 examples/PACKAGES/phonon/2-1D-diatomic/phonon.bin.2000000 delete mode 100644 examples/PACKAGES/phonon/2-1D-diatomic/phonon.log diff --git a/examples/PACKAGES/flow_gauss/in.GD b/examples/PACKAGES/flow_gauss/in.GD index bcff4d4c57..a22b440eb6 100644 --- a/examples/PACKAGES/flow_gauss/in.GD +++ b/examples/PACKAGES/flow_gauss/in.GD @@ -68,7 +68,7 @@ variable Lx1 equal round(${Lx}/${aWall})*${aWall} #create simulation box variable lx2 equal ${Lx1}/2 variable ly2 equal ${Ly1}/2 -region simbox block -${lx2} ${lx2} -${ly2} ${ly2} 0 0.1 units box +region simbox block -${lx2} ${lx2} -${ly2} ${ly2} -0.1 0.1 units box create_box 2 simbox ##################################################################### diff --git a/examples/PACKAGES/flow_gauss/log.6Dec23.GD.g++.1 b/examples/PACKAGES/flow_gauss/log.6Dec23.GD.g++.1 new file mode 100644 index 0000000000..566ef572bc --- /dev/null +++ b/examples/PACKAGES/flow_gauss/log.6Dec23.GD.g++.1 @@ -0,0 +1,941 @@ +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-132-g9edf553332) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +#LAMMPS input script +#in.GD +#see README for details + +############################################################################### +#initialize variables +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task + +#frequency for outputting info (timesteps) +variable dump_rate equal 50 +variable thermo_rate equal 10 + +#equilibration time (timesteps) +variable equil equal 1000 + +#stabilization time (timesteps to reach steady-state) +variable stabil equal 1000 + +#data collection time (timesteps) +variable run equal 2000 + +#length of pipe +variable L equal 30 + +#width of pipe +variable d equal 20 + +#flux (mass/sigma*tau) +variable J equal 0.1 + +#simulation box dimensions +variable Lx equal 100 +variable Ly equal 40 + +#bulk fluid density +variable dens equal 0.8 + +#lattice spacing for wall atoms +variable aWall equal 1.0 #1.7472 + +#timestep +variable ts equal 0.001 + +#temperature +variable T equal 2.0 + +#thermostat damping constant +variable tdamp equal ${ts}*100 +variable tdamp equal 0.001*100 + +units lj +dimension 2 +atom_style atomic + + +############################################################################### +#create box + +#create lattice with the spacing aWall +variable rhoWall equal ${aWall}^(-2) +variable rhoWall equal 1^(-2) +lattice sq ${rhoWall} +lattice sq 1 +Lattice spacing in x,y,z = 1 1 1 + +#modify input dimensions to be multiples of aWall +variable L1 equal round($L/${aWall})*${aWall} +variable L1 equal round(30/${aWall})*${aWall} +variable L1 equal round(30/1)*${aWall} +variable L1 equal round(30/1)*1 +variable d1 equal round($d/${aWall})*${aWall} +variable d1 equal round(20/${aWall})*${aWall} +variable d1 equal round(20/1)*${aWall} +variable d1 equal round(20/1)*1 +variable Ly1 equal round(${Ly}/${aWall})*${aWall} +variable Ly1 equal round(40/${aWall})*${aWall} +variable Ly1 equal round(40/1)*${aWall} +variable Ly1 equal round(40/1)*1 +variable Lx1 equal round(${Lx}/${aWall})*${aWall} +variable Lx1 equal round(100/${aWall})*${aWall} +variable Lx1 equal round(100/1)*${aWall} +variable Lx1 equal round(100/1)*1 + +#create simulation box +variable lx2 equal ${Lx1}/2 +variable lx2 equal 100/2 +variable ly2 equal ${Ly1}/2 +variable ly2 equal 40/2 +region simbox block -${lx2} ${lx2} -${ly2} ${ly2} -0.1 0.1 units box +region simbox block -50 ${lx2} -${ly2} ${ly2} -0.1 0.1 units box +region simbox block -50 50 -${ly2} ${ly2} -0.1 0.1 units box +region simbox block -50 50 -20 ${ly2} -0.1 0.1 units box +region simbox block -50 50 -20 20 -0.1 0.1 units box +create_box 2 simbox +Created orthogonal box = (-50 -20 -0.1) to (50 20 0.1) + 1 by 1 by 1 MPI processor grid + +##################################################################### +#set up potential + +mass 1 1.0 #fluid atoms +mass 2 1.0 #wall atoms + +pair_style lj/cut 2.5 +pair_modify shift yes +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 1.12246 +pair_coeff 2 2 0.0 0.0 + +neigh_modify exclude type 2 2 + +timestep ${ts} +timestep 0.001 + +##################################################################### +#create atoms + +#create wall atoms everywhere +create_atoms 2 box +Created 4000 atoms + using lattice units in orthogonal box = (-50 -20 -0.1) to (50 20 0.1) + create_atoms CPU = 0.002 seconds + +#define region which is "walled off" +variable dhalf equal ${d1}/2 +variable dhalf equal 20/2 +variable Lhalf equal ${L1}/2 +variable Lhalf equal 30/2 +region walltop block -${Lhalf} ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box +region walltop block -15 ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box +region walltop block -15 15 ${dhalf} EDGE -0.1 0.1 units box +region walltop block -15 15 10 EDGE -0.1 0.1 units box +region wallbot block -${Lhalf} ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box +region wallbot block -15 ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box +region wallbot block -15 15 EDGE -${dhalf} -0.1 0.1 units box +region wallbot block -15 15 EDGE -10 -0.1 0.1 units box +region outsidewall union 2 walltop wallbot side out + +#remove wall atoms outside wall region +group outside region outsidewall +3349 atoms in group outside +delete_atoms group outside +Deleted 3349 atoms, new total = 651 + +#remove wall atoms that aren't on edge of wall region +variable x1 equal ${Lhalf}-${aWall} +variable x1 equal 15-${aWall} +variable x1 equal 15-1 +variable y1 equal ${dhalf}+${aWall} +variable y1 equal 10+${aWall} +variable y1 equal 10+1 +region insideTop block -${x1} ${x1} ${y1} EDGE -0.1 0.1 units box +region insideTop block -14 ${x1} ${y1} EDGE -0.1 0.1 units box +region insideTop block -14 14 ${y1} EDGE -0.1 0.1 units box +region insideTop block -14 14 11 EDGE -0.1 0.1 units box +region insideBot block -${x1} ${x1} EDGE -${y1} -0.1 0.1 units box +region insideBot block -14 ${x1} EDGE -${y1} -0.1 0.1 units box +region insideBot block -14 14 EDGE -${y1} -0.1 0.1 units box +region insideBot block -14 14 EDGE -11 -0.1 0.1 units box +region insideWall union 2 insideTop insideBot +group insideWall region insideWall +551 atoms in group insideWall +delete_atoms group insideWall +Deleted 551 atoms, new total = 100 + +#define new lattice, to give correct fluid density +#y lattice const must be a multiple of aWall +variable atrue equal ${dens}^(-1/2) +variable atrue equal 0.8^(-1/2) +variable ay equal round(${atrue}/${aWall})*${aWall} +variable ay equal round(1.11803398874989/${aWall})*${aWall} +variable ay equal round(1.11803398874989/1)*${aWall} +variable ay equal round(1.11803398874989/1)*1 + +#choose x lattice const to give correct density +variable ax equal (${ay}*${dens})^(-1) +variable ax equal (1*${dens})^(-1) +variable ax equal (1*0.8)^(-1) + +#change Lx to be multiple of ax +variable Lx1 equal round(${Lx}/${ax})*${ax} +variable Lx1 equal round(100/${ax})*${ax} +variable Lx1 equal round(100/1.25)*${ax} +variable Lx1 equal round(100/1.25)*1.25 +variable lx2 equal ${Lx1}/2 +variable lx2 equal 100/2 +change_box all x final -${lx2} ${lx2} units box +change_box all x final -50 ${lx2} units box +change_box all x final -50 50 units box +Changing box ... + orthogonal box = (-50 -20 -0.1) to (50 20 0.1) + +#define new lattice +lattice custom ${dens} a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 +lattice custom 0.8 a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 +lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 +lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 1 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 +Lattice spacing in x,y,z = 1.25 1 1 + +#fill in rest of box with bulk particles +variable delta equal 0.001 +variable Ldelt equal ${Lhalf}+${delta} +variable Ldelt equal 15+${delta} +variable Ldelt equal 15+0.001 +variable dDelt equal ${dhalf}-${delta} +variable dDelt equal 10-${delta} +variable dDelt equal 10-0.001 +region left block EDGE -${Ldelt} EDGE EDGE -0.1 0.1 units box +region left block EDGE -15.001 EDGE EDGE -0.1 0.1 units box +region right block ${Ldelt} EDGE EDGE EDGE -0.1 0.1 units box +region right block 15.001 EDGE EDGE EDGE -0.1 0.1 units box +region pipe block -${Ldelt} ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box +region pipe block -15.001 ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box +region pipe block -15.001 15.001 -${dDelt} ${dDelt} -0.1 0.1 units box +region pipe block -15.001 15.001 -9.999 ${dDelt} -0.1 0.1 units box +region pipe block -15.001 15.001 -9.999 9.999 -0.1 0.1 units box + +region bulk union 3 left pipe right +create_atoms 1 region bulk +Created 2675 atoms + using lattice units in orthogonal box = (-50 -20 -0.1) to (50 20 0.1) + create_atoms CPU = 0.002 seconds + +group bulk type 1 +2675 atoms in group bulk +group wall type 2 +100 atoms in group wall + +#remove atoms that are too close to wall +delete_atoms overlap 0.9 bulk wall +System init for delete_atoms ... +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 72 29 1 + 2 neighbor lists, perpetual/occasional/extra = 1 1 0 + (1) command delete_atoms, occasional + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/2d + bin: standard + (2) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d + bin: standard +Deleted 0 atoms, new total = 2775 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes +neigh_modify exclude group wall wall + +velocity bulk create $T 78915 dist gaussian rot yes mom yes loop geom +velocity bulk create 2 78915 dist gaussian rot yes mom yes loop geom + +##################################################################### +#set up PUT +#see Evans and Morriss, Phys. Rev. Lett. 56(20) 1986, p. 2172 + +#average number of particles per box, Evans and Morriss used 2.0 +variable NperBox equal 8.0 + +#calculate box sizes +variable boxSide equal sqrt(${NperBox}/${dens}) +variable boxSide equal sqrt(8/${dens}) +variable boxSide equal sqrt(8/0.8) +variable nX equal round(lx/${boxSide}) +variable nX equal round(lx/3.16227766016838) +variable nY equal round(ly/${boxSide}) +variable nY equal round(ly/3.16227766016838) +variable dX equal lx/${nX} +variable dX equal lx/32 +variable dY equal ly/${nY} +variable dY equal ly/13 + +#temperature of fluid (excluding wall) +compute myT bulk temp + +#profile-unbiased temperature of fluid +compute myTp bulk temp/profile 1 1 0 xy ${nX} ${nY} +compute myTp bulk temp/profile 1 1 0 xy 32 ${nY} +compute myTp bulk temp/profile 1 1 0 xy 32 13 + +#thermo setup +thermo ${thermo_rate} +thermo 10 +thermo_style custom step c_myT c_myTp etotal press + +#dump initial configuration +# dump 55 all custom 1 all.init.lammpstrj id type x y z vx vy vz +# dump 56 wall custom 1 wall.init.lammpstrj id type x y z +# dump_modify 55 sort id +# dump_modify 56 sort id +run 0 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 72 29 1 + 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/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.104 | 3.104 | 3.104 Mbytes + Step c_myT c_myTp TotEng Press + 0 2 2.054601 0.77892922 7.3417096 +Loop time of 6.85e-07 on 1 procs for 0 steps with 2775 atoms + +146.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 6.85e-07 | | |100.00 + +Nlocal: 2775 ave 2775 max 2775 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 510 ave 510 max 510 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 26406 ave 26406 max 26406 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 26406 +Ave neighs/atom = 9.5156757 +Neighbor list builds = 0 +Dangerous builds = 0 +# undump 55 +# undump 56 + +##################################################################### +#equilibrate without GD + +fix nvt bulk nvt temp $T $T ${tdamp} +fix nvt bulk nvt temp 2 $T ${tdamp} +fix nvt bulk nvt temp 2 2 ${tdamp} +fix nvt bulk nvt temp 2 2 0.1 +fix_modify nvt temp myTp +WARNING: Temperature for fix modify is not for group all (src/fix_nh.cpp:1391) +fix 2 bulk enforce2d + +run ${equil} +run 1000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.166 | 3.166 | 3.166 Mbytes + Step c_myT c_myTp TotEng Press + 0 2 2.054601 0.77892922 7.3417096 + 10 1.9173668 1.9381538 0.77877698 7.6702283 + 20 1.7033651 1.6967466 0.7798044 8.5615039 + 30 1.5026644 1.4718046 0.78461914 9.4308883 + 40 1.4881235 1.4586031 0.79494919 9.6135307 + 50 1.6193439 1.6144665 0.81119835 9.2594114 + 60 1.7405127 1.7576881 0.82966956 8.9525458 + 70 1.7758506 1.7999706 0.84538866 8.9719793 + 80 1.7574736 1.7806782 0.85780732 9.1938511 + 90 1.7492232 1.7720284 0.86895259 9.3714617 + 100 1.7800292 1.807315 0.88044504 9.3874107 + 110 1.8442295 1.878681 0.89278276 9.2585436 + 120 1.9193695 1.9667163 0.90556381 9.0683654 + 130 1.9885753 2.0478097 0.91782871 8.8815507 + 140 2.04662 2.1105827 0.92850319 8.718882 + 150 2.0957046 2.1672706 0.93677238 8.5718869 + 160 2.144595 2.2210801 0.94188484 8.4089161 + 170 2.1802133 2.2626399 0.9429713 8.2775682 + 180 2.1868284 2.2696504 0.93931537 8.2321283 + 190 2.1838369 2.2706873 0.93069783 8.1970105 + 200 2.1943436 2.2865542 0.91717737 8.0854148 + 210 2.2029439 2.2912731 0.89906796 7.9589187 + 220 2.1891494 2.2768232 0.87764254 7.9016509 + 230 2.1677848 2.2493747 0.85497463 7.8690125 + 240 2.156695 2.2377486 0.83255207 7.8020978 + 250 2.142758 2.2237662 0.81090722 7.7510242 + 260 2.1177881 2.1967699 0.79016944 7.7477503 + 270 2.0862408 2.1669583 0.77040874 7.7740216 + 280 2.0676515 2.1446262 0.75157955 7.7544068 + 290 2.0645498 2.1425534 0.73343008 7.6746729 + 300 2.0563664 2.1358776 0.71562279 7.6114783 + 310 2.0390115 2.1198472 0.69809211 7.581719 + 320 2.0209035 2.1063385 0.68093855 7.5540946 + 330 2.012488 2.1037583 0.66418283 7.4896097 + 340 2.0166095 2.1094212 0.64762479 7.3779677 + 350 2.0172861 2.1072653 0.63109595 7.2807114 + 360 2.0065768 2.0803788 0.6147802 7.2283814 + 370 1.9970858 2.0639903 0.59905362 7.1747592 + 380 1.9925189 2.056563 0.58395055 7.103506 + 390 1.9935388 2.0546596 0.56945318 7.010305 + 400 2.0020199 2.0632095 0.55532013 6.8883647 + 410 2.009157 2.0732883 0.54128082 6.771521 + 420 2.0081687 2.0785184 0.52711525 6.6868076 + 430 1.9990498 2.0705469 0.51283203 6.6343482 + 440 1.9891528 2.0586814 0.4986104 6.5888679 + 450 1.9829175 2.0465778 0.4846738 6.5332233 + 460 1.9745599 2.031067 0.4711878 6.4903915 + 470 1.9581101 2.006674 0.45837961 6.4836654 + 480 1.9367964 1.9732882 0.44656667 6.501731 + 490 1.9258333 1.9561395 0.43605676 6.4879447 + 500 1.9287 1.9571319 0.42678362 6.4296036 + 510 1.9274696 1.9569118 0.41856553 6.3949919 + 520 1.9100149 1.9392424 0.41134511 6.4307452 + 530 1.8827127 1.9059412 0.40536565 6.5126603 + 540 1.8660696 1.8912024 0.40096324 6.5610607 + 550 1.8701883 1.9043254 0.3982457 6.536251 + 560 1.8842923 1.9289528 0.39698123 6.4785367 + 570 1.8906147 1.9462124 0.39684504 6.4547374 + 580 1.8895472 1.9472747 0.39763233 6.4630103 + 590 1.895375 1.9551336 0.39926725 6.449517 + 600 1.9115711 1.9737109 0.40163655 6.3995241 + 610 1.92823 1.9851787 0.404506 6.3499339 + 620 1.9360678 1.9889572 0.40767569 6.3367514 + 630 1.9346853 1.9836719 0.41105958 6.3637995 + 640 1.9266095 1.9757908 0.41472954 6.4212842 + 650 1.9213863 1.9719496 0.41879537 6.4707692 + 660 1.922962 1.9702923 0.42332926 6.4949933 + 670 1.9238956 1.9707534 0.42836303 6.5212631 + 680 1.9212675 1.9740379 0.43388709 6.5608915 + 690 1.9210314 1.976311 0.43982007 6.5904702 + 700 1.928081 1.9868449 0.44610463 6.5915021 + 710 1.9428895 2.0044235 0.45257857 6.5616141 + 720 1.9554783 2.0176139 0.45898384 6.5367529 + 730 1.969838 2.0327907 0.46505662 6.5017635 + 740 1.9840204 2.0467126 0.47058703 6.4649226 + 750 1.9946633 2.0526929 0.47535832 6.4399342 + 760 2.0018048 2.0535606 0.47924291 6.4280737 + 770 1.9991703 2.0483426 0.48222842 6.4537535 + 780 1.9850797 2.0312444 0.48443072 6.5234271 + 790 1.9691589 2.0154006 0.4861158 6.5995894 + 800 1.9612641 2.0031407 0.48754831 6.6430968 + 810 1.9637155 2.0074142 0.48891261 6.6444644 + 820 1.9691691 2.0110229 0.49018604 6.6304512 + 830 1.9763962 2.0190998 0.49130448 6.6060594 + 840 1.9908278 2.0352615 0.49213189 6.5510683 + 850 2.0105715 2.0558403 0.49238435 6.4743276 + 860 2.0227982 2.0645732 0.49173076 6.4260863 + 870 2.015555 2.064081 0.48998228 6.4528588 + 880 1.9889672 2.0320831 0.48722022 6.5532269 + 890 1.9632172 2.0025881 0.48392295 6.6494723 + 900 1.9527429 1.9887196 0.48054642 6.6846937 + 910 1.9567815 1.9953408 0.47726539 6.6606541 + 920 1.9666996 2.0084955 0.47397593 6.6100666 + 930 1.9702885 2.014774 0.47048741 6.5805871 + 940 1.9661802 2.0116846 0.46671831 6.579539 + 950 1.9576953 1.9960728 0.46273983 6.5967841 + 960 1.9428073 1.9802284 0.45879028 6.6395002 + 970 1.9256011 1.9584581 0.45515059 6.6916425 + 980 1.913512 1.9478848 0.45214528 6.7233279 + 990 1.9174938 1.9449699 0.44994026 6.6943867 + 1000 1.9365527 1.9663901 0.44852349 6.6101761 +Loop time of 0.324261 on 1 procs for 1000 steps with 2775 atoms + +Performance: 266452.077 tau/day, 3083.936 timesteps/s, 8.558 Matom-step/s +99.2% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.19361 | 0.19361 | 0.19361 | 0.0 | 59.71 +Neigh | 0.025544 | 0.025544 | 0.025544 | 0.0 | 7.88 +Comm | 0.0023292 | 0.0023292 | 0.0023292 | 0.0 | 0.72 +Output | 0.0046269 | 0.0046269 | 0.0046269 | 0.0 | 1.43 +Modify | 0.092779 | 0.092779 | 0.092779 | 0.0 | 28.61 +Other | | 0.005374 | | | 1.66 + +Nlocal: 2775 ave 2775 max 2775 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 527 ave 527 max 527 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 24332 ave 24332 max 24332 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 24332 +Ave neighs/atom = 8.7682883 +Neighbor list builds = 38 +Dangerous builds = 0 + +##################################################################### +#initialize the COM velocity and run to achieve steady-state + +#calculate velocity to add: V=J/rho_total +variable Vadd equal $J*lx*ly/count(bulk) +variable Vadd equal 0.1*lx*ly/count(bulk) + +#first remove any COM velocity, then add back the streaming velocity +velocity bulk zero linear +velocity bulk set ${Vadd} 0.0 0.0 units box sum yes mom no +velocity bulk set 0.149532710280374 0.0 0.0 units box sum yes mom no + +fix GD bulk flow/gauss 1 0 0 #energy yes +#fix_modify GD energy yes + +run ${stabil} +run 1000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- Gaussian dynamics package: doi:10.1021/acs.jpcb.6b09387 + +@Article{strong_water_2017, +title = {The Dynamics of Water in Porous Two-Dimensional Crystals}, +volume = {121}, +number = {1}, +url = {https://doi.org/10.1021/acs.jpcb.6b09387}, +doi = {10.1021/acs.jpcb.6b09387}, +urldate = {2016-12-07}, +journal = {J.~Phys.\ Chem.~B}, +author = {Strong, Steven E. and Eaves, Joel D.}, +year = {2017}, +pages = {189--207} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.166 | 3.166 | 3.166 Mbytes + Step c_myT c_myTp TotEng Press + 1000 1.9477212 1.9663901 0.45928547 6.6176422 + 1010 1.9617328 1.9828061 0.45840963 6.555968 + 1020 1.9570976 1.9825696 0.45782895 6.5690613 + 1030 1.9356292 1.9690101 0.45753984 6.6493822 + 1040 1.9174914 1.9448868 0.4577768 6.7171474 + 1050 1.9202482 1.9432766 0.4588733 6.7039634 + 1060 1.9419998 1.9718217 0.46086407 6.617366 + 1070 1.9666048 1.996346 0.46339522 6.5207175 + 1080 1.9775489 2.0078489 0.46608862 6.4794239 + 1090 1.9725172 2.0005028 0.46876174 6.5044299 + 1100 1.9659582 1.9931537 0.47147394 6.5409107 + 1110 1.9670607 1.9965504 0.47432892 6.5527414 + 1120 1.9716302 1.9984924 0.47732198 6.5530022 + 1130 1.9752703 2.0057031 0.48043914 6.5579379 + 1140 1.976368 2.0061152 0.48358744 6.5719123 + 1150 1.9748014 2.0056689 0.48673155 6.5957896 + 1160 1.9729115 2.0036854 0.48986563 6.6200102 + 1170 1.9702742 2.0016461 0.49302426 6.6455948 + 1180 1.9680418 1.9978705 0.49625385 6.6697165 + 1190 1.9640159 1.9937501 0.49962311 6.7004634 + 1200 1.9616719 1.9932085 0.50320747 6.7253219 + 1210 1.9658831 1.9985624 0.50702861 6.7242078 + 1220 1.9790884 2.0132679 0.51100573 6.688483 + 1230 1.9946749 2.0324782 0.51491484 6.6422423 + 1240 2.0039182 2.0484588 0.5184382 6.6190292 + 1250 2.0033685 2.0545791 0.52130299 6.6322608 + 1260 1.9991533 2.0533011 0.52339221 6.6590872 + 1270 1.9969511 2.0571182 0.5246505 6.6789676 + 1280 1.9911353 2.0488281 0.52501304 6.7125634 + 1290 1.9712819 2.0209437 0.52460315 6.7967237 + 1300 1.9486195 1.9967749 0.5238106 6.886265 + 1310 1.951612 2.0051749 0.52294383 6.8723332 + 1320 1.9800953 2.0397207 0.52186525 6.7537937 + 1330 2.0084961 2.0723584 0.52001894 6.6279995 + 1340 2.021654 2.085105 0.51675149 6.554461 + 1350 2.0193685 2.0672662 0.5117514 6.5349176 + 1360 2.0084017 2.0471065 0.50518646 6.5453141 + 1370 1.994978 2.030683 0.49737164 6.5627932 + 1380 1.9781978 2.0044236 0.48871071 6.5903683 + 1390 1.9572368 1.9833426 0.47978207 6.6326472 + 1400 1.9400481 1.956474 0.47117436 6.6600696 + 1410 1.9380218 1.9552501 0.46336325 6.6314231 + 1420 1.9494747 1.9681145 0.45642218 6.5527615 + 1430 1.9610978 1.9824506 0.4501938 6.4763851 + 1440 1.9639503 1.9890985 0.44452289 6.4375535 + 1450 1.9560428 1.9821594 0.43936988 6.4453654 + 1460 1.9399344 1.9627639 0.43486138 6.488055 + 1470 1.9247229 1.9440629 0.43123378 6.5292381 + 1480 1.9213375 1.9369273 0.42866841 6.5271097 + 1490 1.9265729 1.9383637 0.42719968 6.4940959 + 1500 1.930987 1.9416689 0.4267225 6.4673585 + 1510 1.9303444 1.9418498 0.42714462 6.4648027 + 1520 1.9258423 1.940384 0.42844066 6.4834098 + 1530 1.9131202 1.9296653 0.4306338 6.5390881 + 1540 1.8990016 1.9101025 0.43386405 6.6052091 + 1550 1.9012878 1.9120047 0.43834036 6.6147792 + 1560 1.9153287 1.9388751 0.44404054 6.5851781 + 1570 1.9266928 1.9596147 0.45057056 6.5705776 + 1580 1.9358289 1.9745564 0.45744022 6.5674622 + 1590 1.9415248 1.9818707 0.46425451 6.5778534 + 1600 1.9466876 1.98498 0.47075833 6.5878483 + 1610 1.9557175 1.9930268 0.47674103 6.5777205 + 1620 1.9712902 2.0112337 0.48200984 6.5367922 + 1630 1.9900646 2.0303946 0.48631888 6.4790095 + 1640 1.9960901 2.039173 0.48947508 6.4661574 + 1650 1.9879046 2.0329046 0.49151173 6.504063 + 1660 1.9832967 2.0325843 0.49266284 6.5255647 + 1670 1.9875656 2.034783 0.49313513 6.5093662 + 1680 1.9967654 2.0492931 0.49299896 6.4699787 + 1690 2.0025957 2.0532539 0.49216931 6.4389613 + 1700 2.0022202 2.0424508 0.49070612 6.4276702 + 1710 2.0083188 2.0437945 0.48879489 6.3909243 + 1720 2.0178792 2.0439212 0.48646135 6.3411063 + 1730 2.0210944 2.0444299 0.48367905 6.3141106 + 1740 2.0170566 2.0337564 0.48044951 6.3158785 + 1750 2.0099049 2.0231598 0.47693196 6.3313851 + 1760 1.9990395 2.0132651 0.47329842 6.3631889 + 1770 1.9823237 1.9969291 0.46970233 6.4208124 + 1780 1.9640169 1.9798655 0.4663519 6.4879798 + 1790 1.9457657 1.9626633 0.46348315 6.557165 + 1800 1.9253222 1.9443136 0.46134123 6.6365286 + 1810 1.9123385 1.9339816 0.46011796 6.6879846 + 1820 1.9098744 1.9287702 0.45993599 6.7001355 + 1830 1.9096278 1.9220243 0.460898 6.7020982 + 1840 1.9223081 1.9378963 0.46303724 6.6558132 + 1850 1.9481113 1.9718786 0.46616351 6.5618175 + 1860 1.9704143 1.9931969 0.46987208 6.484088 + 1870 1.9864974 2.017655 0.47377416 6.4360445 + 1880 1.993165 2.0276398 0.47750238 6.4296162 + 1890 1.9852177 2.0249022 0.48088382 6.4843765 + 1900 1.9692398 2.0101062 0.4839255 6.5735477 + 1910 1.9516968 1.9893586 0.48689095 6.6692995 + 1920 1.9380452 1.9750949 0.49014596 6.7488323 + 1930 1.9323223 1.9719977 0.49399992 6.7947629 + 1940 1.9402144 1.9786701 0.49859677 6.7846787 + 1950 1.9589972 1.9956447 0.50392573 6.7291499 + 1960 1.979631 2.0201087 0.50984934 6.6648708 + 1970 2.0002749 2.0392081 0.51605302 6.6026647 + 1980 2.0143746 2.0524405 0.52221277 6.5687042 + 1990 2.0166553 2.0466885 0.5281276 6.5835144 + 2000 2.0130617 2.0424179 0.53381506 6.6234083 +Loop time of 0.33442 on 1 procs for 1000 steps with 2775 atoms + +Performance: 258357.633 tau/day, 2990.250 timesteps/s, 8.298 Matom-step/s +99.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.19616 | 0.19616 | 0.19616 | 0.0 | 58.66 +Neigh | 0.023799 | 0.023799 | 0.023799 | 0.0 | 7.12 +Comm | 0.0022819 | 0.0022819 | 0.0022819 | 0.0 | 0.68 +Output | 0.0046967 | 0.0046967 | 0.0046967 | 0.0 | 1.40 +Modify | 0.10212 | 0.10212 | 0.10212 | 0.0 | 30.54 +Other | | 0.005366 | | | 1.60 + +Nlocal: 2775 ave 2775 max 2775 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 530 ave 530 max 530 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 24370 ave 24370 max 24370 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 24370 +Ave neighs/atom = 8.781982 +Neighbor list builds = 35 +Dangerous builds = 0 + +##################################################################### +#collect data + +#print the applied force and total flux to ensure conservation of Jx +variable Fapp equal f_GD[1] +compute vxBulk bulk reduce sum vx +compute vyBulk bulk reduce sum vy +variable invVol equal 1.0/(lx*ly) +variable jx equal c_vxBulk*${invVol} +variable jx equal c_vxBulk*0.00025 +variable jy equal c_vyBulk*${invVol} +variable jy equal c_vyBulk*0.00025 +variable curr_step equal step +variable p_Fapp format Fapp %.3f +variable p_jx format jx %.5g +variable p_jy format jy %.5g +fix print_vCOM all print ${dump_rate} "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy" +fix print_vCOM all print 50 "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy" + +#compute IK1 pressure profile +#see Todd, Evans, and Davis, Phys. Rev. E 52(2) 1995, p. 1627 +#use profile-unbiased temperature to remove the streaming velocity +#from the kinetic part of the pressure +compute spa bulk stress/atom myTp + +#for the pressure profile, use the same grid as the PUT +compute chunkX bulk chunk/atom bin/1d x lower ${dX} units box +compute chunkX bulk chunk/atom bin/1d x lower 3.125 units box + +#output pressure profile and other profiles +#the pressure profile is (-1/2V)*(c_spa[1] + c_spa[2]), where +#V is the volume of a slice +fix profiles bulk ave/chunk 1 1 ${dump_rate} chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite +fix profiles bulk ave/chunk 1 1 50 chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite + +#compute velocity profile across the pipe with a finer grid +variable dYnew equal ${dY}/10 +variable dYnew equal 3.07692307692308/10 +compute chunkY bulk chunk/atom bin/1d y center ${dYnew} units box region pipe +compute chunkY bulk chunk/atom bin/1d y center 0.307692307692308 units box region pipe +fix velYprof bulk ave/chunk 1 1 ${dump_rate} chunkY vx file Vy_profile ave running overwrite +fix velYprof bulk ave/chunk 1 1 50 chunkY vx file Vy_profile ave running overwrite + +#full trajectory +# dump 7 bulk custom ${dump_rate} bulk.lammpstrj id type x y z +# dump_modify 7 sort id + +run ${run} +run 2000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 5.175 | 5.175 | 5.175 Mbytes + Step c_myT c_myTp TotEng Press + 2000 2.0130617 2.0424179 0.53381506 6.6234083 + 2010 2.011712 2.0399428 0.53937165 6.6546944 + 2020 2.0177252 2.0516588 0.54483848 6.6575988 + 2030 2.0192267 2.054258 0.55012466 6.6761208 + 2040 2.0155308 2.0513866 0.55518707 6.7132509 + 2050 2.016831 2.0539288 0.56007247 6.7306192 + 2060 2.0213378 2.0690043 0.56479732 6.7330132 + 2070 2.0292987 2.0799825 0.56913353 6.7186216 + 2080 2.0342188 2.0900923 0.57283821 6.7098434 + 2090 2.0376411 2.096351 0.57566175 6.6998818 + 2100 2.053128 2.1238481 0.57727694 6.637431 + 2110 2.0783941 2.1609599 0.5768993 6.5304031 + 2120 2.0887269 2.1760645 0.57341638 6.4706853 + 2130 2.06944 2.1522354 0.5659988 6.5099284 + 2140 2.0380605 2.115767 0.55466476 6.5802578 + 2150 2.0195872 2.0868424 0.54025148 6.5885111 + 2160 2.0061251 2.069266 0.52417244 6.5682875 + 2170 1.992682 2.0526743 0.50812177 6.5470052 + 2180 1.9816004 2.0352692 0.49354583 6.5244099 + 2190 1.9688265 2.0226679 0.4811848 6.5185172 + 2200 1.9574266 2.000155 0.47107703 6.5176047 + 2210 1.9502736 1.9925522 0.46298224 6.5078398 + 2220 1.9475332 1.9936032 0.45641728 6.4850252 + 2230 1.9545128 2.0045053 0.45087489 6.4291405 + 2240 1.9627871 2.0112148 0.44588526 6.3715676 + 2250 1.9617694 2.0073769 0.44121477 6.3541518 + 2260 1.9579423 2.0079137 0.43675541 6.3542735 + 2270 1.9475845 1.998983 0.43243494 6.3854071 + 2280 1.9253275 1.9715083 0.42839782 6.464845 + 2290 1.8996763 1.9456257 0.42496367 6.5591177 + 2300 1.8823546 1.9240543 0.42247729 6.6211062 + 2310 1.8844318 1.9216768 0.42116372 6.6085376 + 2320 1.8965287 1.933936 0.42103218 6.5584198 + 2330 1.902103 1.9433708 0.421956 6.5350698 + 2340 1.9061826 1.950462 0.42378825 6.5228738 + 2350 1.9180306 1.961141 0.42644522 6.489172 + 2360 1.9296124 1.9748542 0.42981448 6.4628168 + 2370 1.9328566 1.9718181 0.43373762 6.4721746 + 2380 1.9360042 1.9769998 0.43819906 6.4840942 + 2390 1.9387073 1.9778749 0.44317927 6.49778 + 2400 1.9445619 1.9882647 0.4486142 6.4971899 + 2410 1.9553344 1.9997412 0.45435544 6.4749774 + 2420 1.9710783 2.0211926 0.46019236 6.4320181 + 2430 1.9903873 2.046553 0.46575694 6.3751343 + 2440 2.0041158 2.0721071 0.47060398 6.3415121 + 2450 2.0020392 2.0728953 0.47431806 6.3708096 + 2460 1.9839851 2.0568906 0.47681718 6.465129 + 2470 1.9566365 2.0258852 0.47838596 6.5966256 + 2480 1.929674 2.0032606 0.47952215 6.7260074 + 2490 1.9153613 1.990031 0.48061628 6.8035919 + 2500 1.9188373 1.9920514 0.4819225 6.8075788 + 2510 1.9371656 2.0138698 0.48343533 6.7492701 + 2520 1.9566481 2.0340995 0.48485699 6.6821181 + 2530 1.9636141 2.0389496 0.48583392 6.6581326 + 2540 1.9585172 2.0207113 0.48622314 6.6762792 + 2550 1.9516934 2.0024186 0.48621721 6.6980104 + 2560 1.9509543 1.9960852 0.48612286 6.6946311 + 2570 1.9601672 2.0072552 0.48602872 6.6528934 + 2580 1.973804 2.0230879 0.48576601 6.5942862 + 2590 1.9788378 2.034436 0.48505027 6.5689819 + 2600 1.9716493 2.0208578 0.48368043 6.5897554 + 2610 1.9618006 2.007098 0.48174365 6.6188626 + 2620 1.9631458 2.0075461 0.4793429 6.6026194 + 2630 1.9706918 2.0174955 0.47638698 6.5591053 + 2640 1.9759585 2.0213828 0.47264742 6.5198595 + 2650 1.9761708 2.0225139 0.46794373 6.4977306 + 2660 1.9611574 2.0083871 0.46221598 6.5299021 + 2670 1.9342882 1.9720247 0.45576624 6.6034695 + 2680 1.9142009 1.9520382 0.44913109 6.6474082 + 2690 1.9052096 1.9428107 0.4426988 6.645123 + 2700 1.902446 1.9459937 0.43672046 6.6152926 + 2710 1.9099036 1.9594727 0.43120889 6.5473804 + 2720 1.9180788 1.9767479 0.42599739 6.4792536 + 2730 1.9142892 1.9798275 0.42092791 6.4604982 + 2740 1.9019844 1.9674244 0.41601841 6.4795855 + 2750 1.8895632 1.958412 0.41144638 6.5037424 + 2760 1.8824401 1.9494985 0.40739848 6.5113925 + 2770 1.8852759 1.9525073 0.40398809 6.484535 + 2780 1.8998168 1.9664907 0.40114076 6.4159782 + 2790 1.9153937 1.9810349 0.39863439 6.346934 + 2800 1.9162707 1.9824285 0.39627973 6.3364828 + 2810 1.9087999 1.9666258 0.39408314 6.360755 + 2820 1.9073152 1.956153 0.39226387 6.3655719 + 2830 1.9091743 1.9493705 0.39098546 6.3595054 + 2840 1.9042021 1.9424118 0.39036698 6.381752 + 2850 1.8901401 1.9353495 0.39057524 6.4417859 + 2860 1.872943 1.915215 0.39190057 6.5158585 + 2870 1.8732626 1.9181551 0.39474702 6.5269257 + 2880 1.8931021 1.9396049 0.39938934 6.467715 + 2890 1.9217069 1.9733171 0.40581935 6.3811936 + 2900 1.9452213 1.9949806 0.41374968 6.3217226 + 2910 1.9591065 2.0105363 0.42280483 6.3087055 + 2920 1.9649158 2.0234068 0.43256139 6.3353204 + 2930 1.9647653 2.0265233 0.4425691 6.3902862 + 2940 1.9623876 2.0281154 0.45237409 6.4560778 + 2950 1.9591057 2.0276078 0.46164197 6.5239614 + 2960 1.9556907 2.0254377 0.47016674 6.5883236 + 2970 1.9524475 2.0203546 0.47782337 6.6457078 + 2980 1.9556442 2.0212175 0.48459527 6.6731473 + 2990 1.9663638 2.0285202 0.49047217 6.667322 + 3000 1.976263 2.0326354 0.49540098 6.6601492 + 3010 1.9734917 2.0251301 0.49938916 6.6970878 + 3020 1.955368 1.9974693 0.50265656 6.7865104 + 3030 1.9476644 1.9780945 0.50564273 6.8327176 + 3040 1.9584769 1.9887952 0.50867872 6.8046262 + 3050 1.9705616 2.0030557 0.51168699 6.7669575 + 3060 1.9766986 2.0112576 0.51444822 6.74919 + 3070 1.9766671 2.0076853 0.51685838 6.7523339 + 3080 1.9763383 2.0045916 0.51896849 6.7532253 + 3090 1.9855877 2.0260371 0.52081442 6.7160131 + 3100 2.0011042 2.042205 0.52215192 6.653598 + 3110 2.0039819 2.0511266 0.52275172 6.6355885 + 3120 1.9958773 2.0457899 0.52253307 6.6565817 + 3130 1.9933925 2.04521 0.52158082 6.6543706 + 3140 1.9936643 2.0477262 0.51996279 6.639564 + 3150 1.9921223 2.0455965 0.51768794 6.6291901 + 3160 1.9914788 2.0365842 0.51483187 6.6154874 + 3170 1.9922866 2.0422451 0.51144092 6.5976334 + 3180 1.9872806 2.0376593 0.50747923 6.6043774 + 3190 1.9708577 2.0198422 0.50308657 6.6551127 + 3200 1.9534272 1.9982319 0.49857904 6.7093718 + 3210 1.9423425 1.9876311 0.49429833 6.7370529 + 3220 1.941974 1.984738 0.49043179 6.7218879 + 3230 1.9456357 1.9916666 0.48697785 6.6917144 + 3240 1.9392412 1.9874858 0.48388805 6.7004046 + 3250 1.9312152 1.9814714 0.4812083 6.7175714 + 3260 1.9364393 1.9840125 0.47897357 6.6870787 + 3270 1.9490184 1.9871802 0.47715672 6.6308261 + 3280 1.9578901 1.9917218 0.47568803 6.589659 + 3290 1.9598612 1.9918098 0.47449561 6.5756965 + 3300 1.9538424 1.9845316 0.47357576 6.5931068 + 3310 1.944957 1.9676243 0.47302774 6.6211221 + 3320 1.9479975 1.9720828 0.47296613 6.6058089 + 3330 1.9569283 1.98719 0.47330356 6.5698601 + 3340 1.9558114 1.9861834 0.47383928 6.5729191 + 3350 1.9461606 1.9777192 0.47452365 6.6090135 + 3360 1.942095 1.9776297 0.47540879 6.6255417 + 3370 1.9482423 1.981145 0.47643851 6.6032207 + 3380 1.9564098 1.992645 0.47752314 6.5736007 + 3390 1.9607986 2.0006048 0.47852085 6.5587348 + 3400 1.9595637 2.0047228 0.47933656 6.5656692 + 3410 1.9628181 2.013785 0.47991082 6.5570579 + 3420 1.9698466 2.0200788 0.48018617 6.536373 + 3430 1.969877 2.0210764 0.48013786 6.543084 + 3440 1.96327 2.0103631 0.47979187 6.5761448 + 3450 1.9566516 1.9996494 0.47933398 6.6098616 + 3460 1.9511915 1.9976175 0.47891646 6.6401481 + 3470 1.9410601 1.9950284 0.47859124 6.6862584 + 3480 1.9307395 1.98193 0.47840998 6.7307929 + 3490 1.9206678 1.9678856 0.47853003 6.7702613 + 3500 1.9139405 1.955324 0.47914241 6.7934071 + 3510 1.9206383 1.957176 0.48041531 6.763312 + 3520 1.9449301 1.9816996 0.4823109 6.6651453 + 3530 1.9752924 2.0115126 0.48452681 6.5438659 + 3540 1.9951599 2.037759 0.48660439 6.463461 + 3550 2.00071 2.0413872 0.48813252 6.4405933 + 3560 1.9939017 2.0277566 0.48901382 6.4684771 + 3570 1.9766844 2.0031366 0.48946452 6.5392906 + 3580 1.9600495 1.9790718 0.48988281 6.6106541 + 3590 1.9522334 1.9727673 0.49062615 6.6517495 + 3600 1.9522007 1.9829458 0.49183552 6.6635632 + 3610 1.9614098 1.9992781 0.49340617 6.6407777 + 3620 1.9739926 2.0159629 0.49511752 6.6062456 + 3630 1.9726539 2.0152219 0.49675445 6.6254361 + 3640 1.9613098 2.0017247 0.49829011 6.6828523 + 3650 1.9577727 2.0000723 0.49991877 6.7111788 + 3660 1.9626403 2.0037309 0.50175296 6.7072182 + 3670 1.9603974 1.9937256 0.50383808 6.7277464 + 3680 1.9532611 1.9846903 0.50638428 6.766139 + 3690 1.9541656 1.9798331 0.50962883 6.7752527 + 3700 1.9656726 1.9951191 0.51377056 6.7462001 + 3710 1.9834474 2.0193011 0.5187681 6.6957856 + 3720 2.0017372 2.0396413 0.52433682 6.6470375 + 3730 2.0109702 2.0469463 0.53011728 6.6363717 + 3740 2.0096859 2.0458572 0.53588234 6.6682277 + 3750 2.0066189 2.0519843 0.54153099 6.7085484 + 3760 2.0096126 2.0561094 0.54689937 6.7250788 + 3770 2.0117777 2.0668795 0.55183559 6.7400961 + 3780 2.0154601 2.0763941 0.55607392 6.7423369 + 3790 2.0313954 2.0972106 0.55930714 6.6920109 + 3800 2.0496133 2.1176374 0.56110467 6.6271089 + 3810 2.0553084 2.1205041 0.56098738 6.6034667 + 3820 2.0478771 2.1131255 0.5587031 6.6239895 + 3830 2.0342107 2.0991257 0.55418078 6.6632309 + 3840 2.0142205 2.0767164 0.5475632 6.7196407 + 3850 1.9879527 2.0516847 0.53919956 6.7932756 + 3860 1.9593315 2.0232738 0.52966135 6.8686984 + 3870 1.9362884 1.9952027 0.51970091 6.9156688 + 3880 1.9292997 1.988308 0.50996281 6.8957697 + 3890 1.9372437 1.9978667 0.50073928 6.8160964 + 3900 1.949918 2.0107188 0.49208883 6.7186535 + 3910 1.9547594 2.0160936 0.48397839 6.6537347 + 3920 1.9543568 2.0191268 0.47640162 6.6136066 + 3930 1.9582199 2.020036 0.46933873 6.5629723 + 3940 1.9644632 2.0304626 0.4627222 6.5077173 + 3950 1.9645883 2.030183 0.45644411 6.4795254 + 3960 1.9546999 2.0197243 0.45050582 6.4943661 + 3970 1.9424307 2.0063453 0.44500624 6.5237706 + 3980 1.9281472 1.9910524 0.44010499 6.5640156 + 3990 1.9168821 1.976369 0.43594016 6.592621 + 4000 1.9150056 1.9752502 0.43256473 6.5855641 +Loop time of 0.696491 on 1 procs for 2000 steps with 2775 atoms + +Performance: 248100.709 tau/day, 2871.536 timesteps/s, 7.969 Matom-step/s +99.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.39664 | 0.39664 | 0.39664 | 0.0 | 56.95 +Neigh | 0.051502 | 0.051502 | 0.051502 | 0.0 | 7.39 +Comm | 0.0047546 | 0.0047546 | 0.0047546 | 0.0 | 0.68 +Output | 0.0095092 | 0.0095092 | 0.0095092 | 0.0 | 1.37 +Modify | 0.22322 | 0.22322 | 0.22322 | 0.0 | 32.05 +Other | | 0.01087 | | | 1.56 + +Nlocal: 2775 ave 2775 max 2775 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 512 ave 512 max 512 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 24313 ave 24313 max 24313 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 24313 +Ave neighs/atom = 8.7614414 +Neighbor list builds = 75 +Dangerous builds = 0 +Total wall time: 0:00:01 diff --git a/examples/PACKAGES/flow_gauss/log.6Dec23.GD.g++.4 b/examples/PACKAGES/flow_gauss/log.6Dec23.GD.g++.4 new file mode 100644 index 0000000000..089e8d003d --- /dev/null +++ b/examples/PACKAGES/flow_gauss/log.6Dec23.GD.g++.4 @@ -0,0 +1,941 @@ +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-132-g9edf553332) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +#LAMMPS input script +#in.GD +#see README for details + +############################################################################### +#initialize variables +clear +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task + +#frequency for outputting info (timesteps) +variable dump_rate equal 50 +variable thermo_rate equal 10 + +#equilibration time (timesteps) +variable equil equal 1000 + +#stabilization time (timesteps to reach steady-state) +variable stabil equal 1000 + +#data collection time (timesteps) +variable run equal 2000 + +#length of pipe +variable L equal 30 + +#width of pipe +variable d equal 20 + +#flux (mass/sigma*tau) +variable J equal 0.1 + +#simulation box dimensions +variable Lx equal 100 +variable Ly equal 40 + +#bulk fluid density +variable dens equal 0.8 + +#lattice spacing for wall atoms +variable aWall equal 1.0 #1.7472 + +#timestep +variable ts equal 0.001 + +#temperature +variable T equal 2.0 + +#thermostat damping constant +variable tdamp equal ${ts}*100 +variable tdamp equal 0.001*100 + +units lj +dimension 2 +atom_style atomic + + +############################################################################### +#create box + +#create lattice with the spacing aWall +variable rhoWall equal ${aWall}^(-2) +variable rhoWall equal 1^(-2) +lattice sq ${rhoWall} +lattice sq 1 +Lattice spacing in x,y,z = 1 1 1 + +#modify input dimensions to be multiples of aWall +variable L1 equal round($L/${aWall})*${aWall} +variable L1 equal round(30/${aWall})*${aWall} +variable L1 equal round(30/1)*${aWall} +variable L1 equal round(30/1)*1 +variable d1 equal round($d/${aWall})*${aWall} +variable d1 equal round(20/${aWall})*${aWall} +variable d1 equal round(20/1)*${aWall} +variable d1 equal round(20/1)*1 +variable Ly1 equal round(${Ly}/${aWall})*${aWall} +variable Ly1 equal round(40/${aWall})*${aWall} +variable Ly1 equal round(40/1)*${aWall} +variable Ly1 equal round(40/1)*1 +variable Lx1 equal round(${Lx}/${aWall})*${aWall} +variable Lx1 equal round(100/${aWall})*${aWall} +variable Lx1 equal round(100/1)*${aWall} +variable Lx1 equal round(100/1)*1 + +#create simulation box +variable lx2 equal ${Lx1}/2 +variable lx2 equal 100/2 +variable ly2 equal ${Ly1}/2 +variable ly2 equal 40/2 +region simbox block -${lx2} ${lx2} -${ly2} ${ly2} -0.1 0.1 units box +region simbox block -50 ${lx2} -${ly2} ${ly2} -0.1 0.1 units box +region simbox block -50 50 -${ly2} ${ly2} -0.1 0.1 units box +region simbox block -50 50 -20 ${ly2} -0.1 0.1 units box +region simbox block -50 50 -20 20 -0.1 0.1 units box +create_box 2 simbox +Created orthogonal box = (-50 -20 -0.1) to (50 20 0.1) + 4 by 1 by 1 MPI processor grid + +##################################################################### +#set up potential + +mass 1 1.0 #fluid atoms +mass 2 1.0 #wall atoms + +pair_style lj/cut 2.5 +pair_modify shift yes +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 1.12246 +pair_coeff 2 2 0.0 0.0 + +neigh_modify exclude type 2 2 + +timestep ${ts} +timestep 0.001 + +##################################################################### +#create atoms + +#create wall atoms everywhere +create_atoms 2 box +Created 4000 atoms + using lattice units in orthogonal box = (-50 -20 -0.1) to (50 20 0.1) + create_atoms CPU = 0.000 seconds + +#define region which is "walled off" +variable dhalf equal ${d1}/2 +variable dhalf equal 20/2 +variable Lhalf equal ${L1}/2 +variable Lhalf equal 30/2 +region walltop block -${Lhalf} ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box +region walltop block -15 ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box +region walltop block -15 15 ${dhalf} EDGE -0.1 0.1 units box +region walltop block -15 15 10 EDGE -0.1 0.1 units box +region wallbot block -${Lhalf} ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box +region wallbot block -15 ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box +region wallbot block -15 15 EDGE -${dhalf} -0.1 0.1 units box +region wallbot block -15 15 EDGE -10 -0.1 0.1 units box +region outsidewall union 2 walltop wallbot side out + +#remove wall atoms outside wall region +group outside region outsidewall +3349 atoms in group outside +delete_atoms group outside +Deleted 3349 atoms, new total = 651 + +#remove wall atoms that aren't on edge of wall region +variable x1 equal ${Lhalf}-${aWall} +variable x1 equal 15-${aWall} +variable x1 equal 15-1 +variable y1 equal ${dhalf}+${aWall} +variable y1 equal 10+${aWall} +variable y1 equal 10+1 +region insideTop block -${x1} ${x1} ${y1} EDGE -0.1 0.1 units box +region insideTop block -14 ${x1} ${y1} EDGE -0.1 0.1 units box +region insideTop block -14 14 ${y1} EDGE -0.1 0.1 units box +region insideTop block -14 14 11 EDGE -0.1 0.1 units box +region insideBot block -${x1} ${x1} EDGE -${y1} -0.1 0.1 units box +region insideBot block -14 ${x1} EDGE -${y1} -0.1 0.1 units box +region insideBot block -14 14 EDGE -${y1} -0.1 0.1 units box +region insideBot block -14 14 EDGE -11 -0.1 0.1 units box +region insideWall union 2 insideTop insideBot +group insideWall region insideWall +551 atoms in group insideWall +delete_atoms group insideWall +Deleted 551 atoms, new total = 100 + +#define new lattice, to give correct fluid density +#y lattice const must be a multiple of aWall +variable atrue equal ${dens}^(-1/2) +variable atrue equal 0.8^(-1/2) +variable ay equal round(${atrue}/${aWall})*${aWall} +variable ay equal round(1.11803398874989/${aWall})*${aWall} +variable ay equal round(1.11803398874989/1)*${aWall} +variable ay equal round(1.11803398874989/1)*1 + +#choose x lattice const to give correct density +variable ax equal (${ay}*${dens})^(-1) +variable ax equal (1*${dens})^(-1) +variable ax equal (1*0.8)^(-1) + +#change Lx to be multiple of ax +variable Lx1 equal round(${Lx}/${ax})*${ax} +variable Lx1 equal round(100/${ax})*${ax} +variable Lx1 equal round(100/1.25)*${ax} +variable Lx1 equal round(100/1.25)*1.25 +variable lx2 equal ${Lx1}/2 +variable lx2 equal 100/2 +change_box all x final -${lx2} ${lx2} units box +change_box all x final -50 ${lx2} units box +change_box all x final -50 50 units box +Changing box ... + orthogonal box = (-50 -20 -0.1) to (50 20 0.1) + +#define new lattice +lattice custom ${dens} a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 +lattice custom 0.8 a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 +lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 +lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 1 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 +Lattice spacing in x,y,z = 1.25 1 1 + +#fill in rest of box with bulk particles +variable delta equal 0.001 +variable Ldelt equal ${Lhalf}+${delta} +variable Ldelt equal 15+${delta} +variable Ldelt equal 15+0.001 +variable dDelt equal ${dhalf}-${delta} +variable dDelt equal 10-${delta} +variable dDelt equal 10-0.001 +region left block EDGE -${Ldelt} EDGE EDGE -0.1 0.1 units box +region left block EDGE -15.001 EDGE EDGE -0.1 0.1 units box +region right block ${Ldelt} EDGE EDGE EDGE -0.1 0.1 units box +region right block 15.001 EDGE EDGE EDGE -0.1 0.1 units box +region pipe block -${Ldelt} ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box +region pipe block -15.001 ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box +region pipe block -15.001 15.001 -${dDelt} ${dDelt} -0.1 0.1 units box +region pipe block -15.001 15.001 -9.999 ${dDelt} -0.1 0.1 units box +region pipe block -15.001 15.001 -9.999 9.999 -0.1 0.1 units box + +region bulk union 3 left pipe right +create_atoms 1 region bulk +Created 2675 atoms + using lattice units in orthogonal box = (-50 -20 -0.1) to (50 20 0.1) + create_atoms CPU = 0.000 seconds + +group bulk type 1 +2675 atoms in group bulk +group wall type 2 +100 atoms in group wall + +#remove atoms that are too close to wall +delete_atoms overlap 0.9 bulk wall +System init for delete_atoms ... +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 72 29 1 + 2 neighbor lists, perpetual/occasional/extra = 1 1 0 + (1) command delete_atoms, occasional + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/2d + bin: standard + (2) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d + bin: standard +Deleted 0 atoms, new total = 2775 + +neighbor 0.3 bin +neigh_modify delay 0 every 1 check yes +neigh_modify exclude group wall wall + +velocity bulk create $T 78915 dist gaussian rot yes mom yes loop geom +velocity bulk create 2 78915 dist gaussian rot yes mom yes loop geom + +##################################################################### +#set up PUT +#see Evans and Morriss, Phys. Rev. Lett. 56(20) 1986, p. 2172 + +#average number of particles per box, Evans and Morriss used 2.0 +variable NperBox equal 8.0 + +#calculate box sizes +variable boxSide equal sqrt(${NperBox}/${dens}) +variable boxSide equal sqrt(8/${dens}) +variable boxSide equal sqrt(8/0.8) +variable nX equal round(lx/${boxSide}) +variable nX equal round(lx/3.16227766016838) +variable nY equal round(ly/${boxSide}) +variable nY equal round(ly/3.16227766016838) +variable dX equal lx/${nX} +variable dX equal lx/32 +variable dY equal ly/${nY} +variable dY equal ly/13 + +#temperature of fluid (excluding wall) +compute myT bulk temp + +#profile-unbiased temperature of fluid +compute myTp bulk temp/profile 1 1 0 xy ${nX} ${nY} +compute myTp bulk temp/profile 1 1 0 xy 32 ${nY} +compute myTp bulk temp/profile 1 1 0 xy 32 13 + +#thermo setup +thermo ${thermo_rate} +thermo 10 +thermo_style custom step c_myT c_myTp etotal press + +#dump initial configuration +# dump 55 all custom 1 all.init.lammpstrj id type x y z vx vy vz +# dump 56 wall custom 1 wall.init.lammpstrj id type x y z +# dump_modify 55 sort id +# dump_modify 56 sort id +run 0 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 72 29 1 + 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/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.068 | 3.069 | 3.071 Mbytes + Step c_myT c_myTp TotEng Press + 0 2 2.054601 0.77892922 7.3417096 +Loop time of 1.90125e-06 on 4 procs for 0 steps with 2775 atoms + +26.3% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 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.901e-06 | | |100.00 + +Nlocal: 693.75 ave 800 max 578 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 266.25 ave 325 max 198 min +Histogram: 1 1 0 0 0 0 0 0 0 2 +Neighs: 6601.5 ave 8000 max 5147 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 26406 +Ave neighs/atom = 9.5156757 +Neighbor list builds = 0 +Dangerous builds = 0 +# undump 55 +# undump 56 + +##################################################################### +#equilibrate without GD + +fix nvt bulk nvt temp $T $T ${tdamp} +fix nvt bulk nvt temp 2 $T ${tdamp} +fix nvt bulk nvt temp 2 2 ${tdamp} +fix nvt bulk nvt temp 2 2 0.1 +fix_modify nvt temp myTp +WARNING: Temperature for fix modify is not for group all (src/fix_nh.cpp:1391) +fix 2 bulk enforce2d + +run ${equil} +run 1000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.131 | 3.132 | 3.133 Mbytes + Step c_myT c_myTp TotEng Press + 0 2 2.054601 0.77892922 7.3417096 + 10 1.9173668 1.9381538 0.77877698 7.6702283 + 20 1.7033651 1.6967466 0.7798044 8.5615039 + 30 1.5026644 1.4718046 0.78461914 9.4308883 + 40 1.4881235 1.4586031 0.79494919 9.6135307 + 50 1.6193439 1.6144665 0.81119835 9.2594114 + 60 1.7405127 1.7576881 0.82966956 8.9525458 + 70 1.7758506 1.7999706 0.84538866 8.9719793 + 80 1.7574736 1.7806782 0.85780732 9.1938511 + 90 1.7492232 1.7720284 0.86895259 9.3714617 + 100 1.7800292 1.807315 0.88044504 9.3874107 + 110 1.8442295 1.878681 0.89278276 9.2585436 + 120 1.9193695 1.9667163 0.90556381 9.0683654 + 130 1.9885753 2.0478097 0.91782871 8.8815507 + 140 2.04662 2.1105827 0.92850319 8.718882 + 150 2.0957046 2.1672706 0.93677238 8.5718869 + 160 2.144595 2.2210801 0.94188484 8.4089161 + 170 2.1802133 2.2626399 0.9429713 8.2775682 + 180 2.1868284 2.2696504 0.93931537 8.2321283 + 190 2.1838369 2.2706873 0.93069783 8.1970105 + 200 2.1943436 2.2865542 0.91717737 8.0854148 + 210 2.2029439 2.2912731 0.89906796 7.9589187 + 220 2.1891494 2.2768232 0.87764254 7.9016509 + 230 2.1677848 2.2493747 0.85497463 7.8690125 + 240 2.156695 2.2377486 0.83255207 7.8020978 + 250 2.142758 2.2237662 0.81090722 7.7510242 + 260 2.1177881 2.1967699 0.79016944 7.7477503 + 270 2.0862408 2.1669583 0.77040874 7.7740216 + 280 2.0676515 2.1446262 0.75157955 7.7544068 + 290 2.0645498 2.1425534 0.73343008 7.6746729 + 300 2.0563664 2.1358776 0.71562279 7.6114783 + 310 2.0390115 2.1198472 0.69809211 7.581719 + 320 2.0209035 2.1063385 0.68093855 7.5540946 + 330 2.012488 2.1037583 0.66418283 7.4896097 + 340 2.0166095 2.1094212 0.64762479 7.3779677 + 350 2.0172861 2.1072653 0.63109595 7.2807114 + 360 2.0065768 2.0803788 0.6147802 7.2283814 + 370 1.9970858 2.0639903 0.59905362 7.1747592 + 380 1.9925189 2.056563 0.58395055 7.103506 + 390 1.9935388 2.0546596 0.56945318 7.010305 + 400 2.0020199 2.0632095 0.55532013 6.8883647 + 410 2.009157 2.0732883 0.54128082 6.771521 + 420 2.0081687 2.0785184 0.52711525 6.6868076 + 430 1.9990498 2.0705469 0.51283203 6.6343482 + 440 1.9891528 2.0586814 0.4986104 6.5888679 + 450 1.9829175 2.0465778 0.4846738 6.5332233 + 460 1.9745599 2.031067 0.4711878 6.4903915 + 470 1.9581101 2.006674 0.45837961 6.4836654 + 480 1.9367964 1.9732882 0.44656667 6.501731 + 490 1.9258333 1.9561395 0.43605676 6.4879447 + 500 1.9287 1.9571319 0.42678362 6.4296036 + 510 1.9274696 1.9569118 0.41856553 6.3949919 + 520 1.9100149 1.9392424 0.41134511 6.4307452 + 530 1.8827127 1.9059412 0.40536565 6.5126603 + 540 1.8660696 1.8912024 0.40096324 6.5610607 + 550 1.8701883 1.9043254 0.3982457 6.536251 + 560 1.8842923 1.9289528 0.39698123 6.4785367 + 570 1.8906147 1.9462124 0.39684504 6.4547374 + 580 1.8895472 1.9472747 0.39763233 6.4630103 + 590 1.895375 1.9551336 0.39926725 6.449517 + 600 1.9115711 1.9737109 0.40163655 6.3995241 + 610 1.92823 1.9851787 0.404506 6.3499339 + 620 1.9360678 1.9889572 0.40767569 6.3367514 + 630 1.9346853 1.9836719 0.41105958 6.3637995 + 640 1.9266095 1.9757908 0.41472954 6.4212842 + 650 1.9213863 1.9719496 0.41879537 6.4707692 + 660 1.922962 1.9702923 0.42332926 6.4949933 + 670 1.9238956 1.9707534 0.42836303 6.5212631 + 680 1.9212675 1.9740379 0.43388709 6.5608915 + 690 1.9210314 1.976311 0.43982007 6.5904702 + 700 1.928081 1.9868449 0.44610463 6.5915021 + 710 1.9428895 2.0044235 0.45257857 6.5616141 + 720 1.9554783 2.0176139 0.45898384 6.5367529 + 730 1.969838 2.0327907 0.46505662 6.5017635 + 740 1.9840204 2.0467126 0.47058703 6.4649226 + 750 1.9946633 2.0526929 0.47535832 6.4399342 + 760 2.0018048 2.0535606 0.47924291 6.4280737 + 770 1.9991703 2.0483426 0.48222842 6.4537535 + 780 1.9850797 2.0312444 0.48443072 6.5234271 + 790 1.9691589 2.0154006 0.4861158 6.5995894 + 800 1.9612641 2.0031407 0.48754831 6.6430968 + 810 1.9637155 2.0074142 0.48891261 6.6444644 + 820 1.9691691 2.0110229 0.49018604 6.6304512 + 830 1.9763962 2.0190998 0.49130448 6.6060594 + 840 1.9908278 2.0352615 0.49213189 6.5510683 + 850 2.0105715 2.0558403 0.49238435 6.4743276 + 860 2.0227982 2.0645732 0.49173076 6.4260863 + 870 2.015555 2.064081 0.48998228 6.4528588 + 880 1.9889672 2.0320831 0.48722022 6.5532269 + 890 1.9632172 2.0025881 0.48392295 6.6494723 + 900 1.9527429 1.9887196 0.48054642 6.6846937 + 910 1.9567815 1.9953408 0.47726539 6.6606541 + 920 1.9666996 2.0084955 0.47397593 6.6100666 + 930 1.9702885 2.014774 0.47048741 6.5805871 + 940 1.9661802 2.0116846 0.46671831 6.579539 + 950 1.9576953 1.9960728 0.46273983 6.5967841 + 960 1.9428073 1.9802284 0.45879028 6.6395002 + 970 1.9256011 1.9584581 0.45515059 6.6916425 + 980 1.913512 1.9478848 0.45214528 6.7233279 + 990 1.9174938 1.9449699 0.44994026 6.6943867 + 1000 1.9365527 1.9663901 0.44852349 6.6101761 +Loop time of 0.136245 on 4 procs for 1000 steps with 2775 atoms + +Performance: 634150.810 tau/day, 7339.708 timesteps/s, 20.368 Matom-step/s +98.8% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.05652 | 0.058835 | 0.061144 | 0.7 | 43.18 +Neigh | 0.0077706 | 0.0082387 | 0.0086435 | 0.4 | 6.05 +Comm | 0.0079304 | 0.010631 | 0.013709 | 2.5 | 7.80 +Output | 0.003516 | 0.0036313 | 0.0038326 | 0.2 | 2.67 +Modify | 0.045283 | 0.048616 | 0.052008 | 1.3 | 35.68 +Other | | 0.006293 | | | 4.62 + +Nlocal: 693.75 ave 800 max 584 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 255.25 ave 323 max 192 min +Histogram: 2 0 0 0 0 0 0 0 1 1 +Neighs: 6083 ave 7383 max 4741 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 24332 +Ave neighs/atom = 8.7682883 +Neighbor list builds = 38 +Dangerous builds = 0 + +##################################################################### +#initialize the COM velocity and run to achieve steady-state + +#calculate velocity to add: V=J/rho_total +variable Vadd equal $J*lx*ly/count(bulk) +variable Vadd equal 0.1*lx*ly/count(bulk) + +#first remove any COM velocity, then add back the streaming velocity +velocity bulk zero linear +velocity bulk set ${Vadd} 0.0 0.0 units box sum yes mom no +velocity bulk set 0.149532710280374 0.0 0.0 units box sum yes mom no + +fix GD bulk flow/gauss 1 0 0 #energy yes +#fix_modify GD energy yes + +run ${stabil} +run 1000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- Gaussian dynamics package: doi:10.1021/acs.jpcb.6b09387 + +@Article{strong_water_2017, +title = {The Dynamics of Water in Porous Two-Dimensional Crystals}, +volume = {121}, +number = {1}, +url = {https://doi.org/10.1021/acs.jpcb.6b09387}, +doi = {10.1021/acs.jpcb.6b09387}, +urldate = {2016-12-07}, +journal = {J.~Phys.\ Chem.~B}, +author = {Strong, Steven E. and Eaves, Joel D.}, +year = {2017}, +pages = {189--207} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 3.131 | 3.132 | 3.133 Mbytes + Step c_myT c_myTp TotEng Press + 1000 1.9477212 1.9663901 0.45928547 6.6176422 + 1010 1.9617328 1.9828061 0.45840963 6.555968 + 1020 1.9570976 1.9825696 0.45782895 6.5690613 + 1030 1.9356292 1.9690101 0.45753984 6.6493822 + 1040 1.9174914 1.9448868 0.4577768 6.7171474 + 1050 1.9202482 1.9432766 0.4588733 6.7039634 + 1060 1.9419998 1.9718217 0.46086407 6.617366 + 1070 1.9666048 1.996346 0.46339522 6.5207175 + 1080 1.9775489 2.0078489 0.46608862 6.4794239 + 1090 1.9725172 2.0005028 0.46876174 6.5044299 + 1100 1.9659582 1.9931537 0.47147394 6.5409107 + 1110 1.9670607 1.9965504 0.47432892 6.5527414 + 1120 1.9716302 1.9984924 0.47732198 6.5530022 + 1130 1.9752703 2.0057031 0.48043914 6.5579379 + 1140 1.976368 2.0061152 0.48358744 6.5719123 + 1150 1.9748014 2.0056689 0.48673155 6.5957896 + 1160 1.9729115 2.0036854 0.48986563 6.6200102 + 1170 1.9702742 2.0016461 0.49302426 6.6455948 + 1180 1.9680418 1.9978705 0.49625385 6.6697165 + 1190 1.9640159 1.9937501 0.49962311 6.7004634 + 1200 1.9616719 1.9932085 0.50320747 6.7253219 + 1210 1.9658831 1.9985624 0.50702861 6.7242078 + 1220 1.9790884 2.0132679 0.51100573 6.688483 + 1230 1.9946749 2.0324782 0.51491484 6.6422423 + 1240 2.0039182 2.0484588 0.5184382 6.6190292 + 1250 2.0033685 2.0545791 0.52130299 6.6322608 + 1260 1.9991533 2.0533011 0.52339221 6.6590872 + 1270 1.9969511 2.0571182 0.5246505 6.6789676 + 1280 1.9911353 2.0488281 0.52501304 6.7125634 + 1290 1.9712819 2.0209437 0.52460315 6.7967237 + 1300 1.9486195 1.9967749 0.5238106 6.886265 + 1310 1.951612 2.0051749 0.52294383 6.8723332 + 1320 1.9800953 2.0397207 0.52186525 6.7537937 + 1330 2.0084961 2.0723584 0.52001894 6.6279995 + 1340 2.021654 2.085105 0.51675149 6.554461 + 1350 2.0193685 2.0672662 0.5117514 6.5349176 + 1360 2.0084017 2.0471065 0.50518646 6.5453141 + 1370 1.994978 2.030683 0.49737164 6.5627932 + 1380 1.9781978 2.0044236 0.48871071 6.5903683 + 1390 1.9572368 1.9833426 0.47978207 6.6326472 + 1400 1.9400481 1.956474 0.47117436 6.6600696 + 1410 1.9380218 1.9552501 0.46336325 6.6314231 + 1420 1.9494747 1.9681145 0.45642218 6.5527615 + 1430 1.9610978 1.9824506 0.4501938 6.4763851 + 1440 1.9639503 1.9890985 0.44452289 6.4375535 + 1450 1.9560428 1.9821594 0.43936988 6.4453654 + 1460 1.9399344 1.9627639 0.43486138 6.488055 + 1470 1.9247229 1.9440629 0.43123378 6.5292381 + 1480 1.9213375 1.9369273 0.42866841 6.5271097 + 1490 1.9265729 1.9383637 0.42719968 6.4940959 + 1500 1.930987 1.9416689 0.4267225 6.4673585 + 1510 1.9303444 1.9418498 0.42714462 6.4648027 + 1520 1.9258423 1.940384 0.42844066 6.4834098 + 1530 1.9131202 1.9296653 0.4306338 6.5390881 + 1540 1.8990016 1.9101025 0.43386405 6.6052091 + 1550 1.9012878 1.9120047 0.43834036 6.6147792 + 1560 1.9153287 1.9388751 0.44404054 6.5851781 + 1570 1.9266928 1.9596147 0.45057056 6.5705776 + 1580 1.9358289 1.9745564 0.45744022 6.5674622 + 1590 1.9415248 1.9818707 0.46425451 6.5778534 + 1600 1.9466876 1.98498 0.47075833 6.5878483 + 1610 1.9557175 1.9930268 0.47674103 6.5777205 + 1620 1.9712902 2.0112337 0.48200984 6.5367922 + 1630 1.9900646 2.0303946 0.48631888 6.4790095 + 1640 1.9960901 2.039173 0.48947508 6.4661574 + 1650 1.9879046 2.0329046 0.49151173 6.504063 + 1660 1.9832967 2.0325843 0.49266284 6.5255647 + 1670 1.9875656 2.034783 0.49313513 6.5093662 + 1680 1.9967654 2.0492931 0.49299896 6.4699787 + 1690 2.0025957 2.0532539 0.49216931 6.4389613 + 1700 2.0022202 2.0424508 0.49070612 6.4276702 + 1710 2.0083188 2.0437945 0.48879489 6.3909243 + 1720 2.0178792 2.0439212 0.48646135 6.3411063 + 1730 2.0210944 2.0444299 0.48367905 6.3141106 + 1740 2.0170566 2.0337564 0.48044951 6.3158785 + 1750 2.0099049 2.0231598 0.47693196 6.3313851 + 1760 1.9990395 2.0132651 0.47329842 6.3631889 + 1770 1.9823237 1.9969291 0.46970233 6.4208124 + 1780 1.9640169 1.9798655 0.4663519 6.4879798 + 1790 1.9457657 1.9626633 0.46348315 6.557165 + 1800 1.9253222 1.9443136 0.46134123 6.6365286 + 1810 1.9123385 1.9339816 0.46011796 6.6879846 + 1820 1.9098744 1.9287702 0.45993599 6.7001355 + 1830 1.9096278 1.9220243 0.460898 6.7020982 + 1840 1.9223081 1.9378963 0.46303724 6.6558132 + 1850 1.9481113 1.9718786 0.46616351 6.5618175 + 1860 1.9704143 1.9931969 0.46987208 6.484088 + 1870 1.9864974 2.017655 0.47377416 6.4360445 + 1880 1.993165 2.0276398 0.47750238 6.4296162 + 1890 1.9852177 2.0249022 0.48088382 6.4843765 + 1900 1.9692398 2.0101062 0.4839255 6.5735477 + 1910 1.9516968 1.9893586 0.48689095 6.6692995 + 1920 1.9380452 1.9750949 0.49014596 6.7488323 + 1930 1.9323223 1.9719977 0.49399992 6.7947629 + 1940 1.9402144 1.9786701 0.49859677 6.7846787 + 1950 1.9589972 1.9956447 0.50392573 6.7291499 + 1960 1.979631 2.0201087 0.50984934 6.6648708 + 1970 2.0002749 2.0392081 0.51605302 6.6026647 + 1980 2.0143746 2.0524405 0.52221277 6.5687042 + 1990 2.0166553 2.0466885 0.5281276 6.5835144 + 2000 2.0130617 2.0424179 0.53381506 6.6234083 +Loop time of 0.141455 on 4 procs for 1000 steps with 2775 atoms + +Performance: 610793.635 tau/day, 7069.371 timesteps/s, 19.618 Matom-step/s +99.7% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.05683 | 0.060353 | 0.062989 | 1.0 | 42.67 +Neigh | 0.0072596 | 0.0077408 | 0.0081397 | 0.4 | 5.47 +Comm | 0.0075975 | 0.010647 | 0.014725 | 3.0 | 7.53 +Output | 0.0035631 | 0.0036749 | 0.0038919 | 0.2 | 2.60 +Modify | 0.050043 | 0.052936 | 0.05613 | 1.2 | 37.42 +Other | | 0.006104 | | | 4.32 + +Nlocal: 693.75 ave 799 max 589 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 259 ave 320 max 196 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 6092.5 ave 7344 max 4845 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 24370 +Ave neighs/atom = 8.781982 +Neighbor list builds = 35 +Dangerous builds = 0 + +##################################################################### +#collect data + +#print the applied force and total flux to ensure conservation of Jx +variable Fapp equal f_GD[1] +compute vxBulk bulk reduce sum vx +compute vyBulk bulk reduce sum vy +variable invVol equal 1.0/(lx*ly) +variable jx equal c_vxBulk*${invVol} +variable jx equal c_vxBulk*0.00025 +variable jy equal c_vyBulk*${invVol} +variable jy equal c_vyBulk*0.00025 +variable curr_step equal step +variable p_Fapp format Fapp %.3f +variable p_jx format jx %.5g +variable p_jy format jy %.5g +fix print_vCOM all print ${dump_rate} "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy" +fix print_vCOM all print 50 "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy" + +#compute IK1 pressure profile +#see Todd, Evans, and Davis, Phys. Rev. E 52(2) 1995, p. 1627 +#use profile-unbiased temperature to remove the streaming velocity +#from the kinetic part of the pressure +compute spa bulk stress/atom myTp + +#for the pressure profile, use the same grid as the PUT +compute chunkX bulk chunk/atom bin/1d x lower ${dX} units box +compute chunkX bulk chunk/atom bin/1d x lower 3.125 units box + +#output pressure profile and other profiles +#the pressure profile is (-1/2V)*(c_spa[1] + c_spa[2]), where +#V is the volume of a slice +fix profiles bulk ave/chunk 1 1 ${dump_rate} chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite +fix profiles bulk ave/chunk 1 1 50 chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite + +#compute velocity profile across the pipe with a finer grid +variable dYnew equal ${dY}/10 +variable dYnew equal 3.07692307692308/10 +compute chunkY bulk chunk/atom bin/1d y center ${dYnew} units box region pipe +compute chunkY bulk chunk/atom bin/1d y center 0.307692307692308 units box region pipe +fix velYprof bulk ave/chunk 1 1 ${dump_rate} chunkY vx file Vy_profile ave running overwrite +fix velYprof bulk ave/chunk 1 1 50 chunkY vx file Vy_profile ave running overwrite + +#full trajectory +# dump 7 bulk custom ${dump_rate} bulk.lammpstrj id type x y z +# dump_modify 7 sort id + +run ${run} +run 2000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 5.139 | 5.14 | 5.141 Mbytes + Step c_myT c_myTp TotEng Press + 2000 2.0130617 2.0424179 0.53381506 6.6234083 + 2010 2.011712 2.0399428 0.53937165 6.6546944 + 2020 2.0177252 2.0516588 0.54483848 6.6575988 + 2030 2.0192267 2.054258 0.55012466 6.6761208 + 2040 2.0155308 2.0513866 0.55518707 6.7132509 + 2050 2.016831 2.0539288 0.56007247 6.7306192 + 2060 2.0213378 2.0690043 0.56479732 6.7330132 + 2070 2.0292987 2.0799825 0.56913353 6.7186216 + 2080 2.0342188 2.0900923 0.57283821 6.7098434 + 2090 2.0376411 2.096351 0.57566175 6.6998818 + 2100 2.053128 2.1238481 0.57727694 6.637431 + 2110 2.0783941 2.1609599 0.5768993 6.5304031 + 2120 2.0887269 2.1760645 0.57341638 6.4706853 + 2130 2.06944 2.1522354 0.5659988 6.5099284 + 2140 2.0380605 2.115767 0.55466476 6.5802578 + 2150 2.0195872 2.0868424 0.54025148 6.5885111 + 2160 2.0061251 2.069266 0.52417244 6.5682875 + 2170 1.992682 2.0526743 0.50812177 6.5470052 + 2180 1.9816004 2.0352692 0.49354583 6.5244099 + 2190 1.9688265 2.0226679 0.4811848 6.5185172 + 2200 1.9574266 2.000155 0.47107703 6.5176047 + 2210 1.9502736 1.9925522 0.46298224 6.5078398 + 2220 1.9475332 1.9936032 0.45641728 6.4850252 + 2230 1.9545128 2.0045053 0.45087489 6.4291405 + 2240 1.9627871 2.0112148 0.44588526 6.3715676 + 2250 1.9617694 2.0073769 0.44121477 6.3541518 + 2260 1.9579423 2.0079137 0.43675541 6.3542735 + 2270 1.9475845 1.998983 0.43243494 6.3854071 + 2280 1.9253275 1.9715083 0.42839782 6.464845 + 2290 1.8996763 1.9456257 0.42496367 6.5591177 + 2300 1.8823546 1.9240543 0.42247729 6.6211062 + 2310 1.8844318 1.9216768 0.42116372 6.6085376 + 2320 1.8965287 1.933936 0.42103218 6.5584198 + 2330 1.902103 1.9433708 0.421956 6.5350698 + 2340 1.9061826 1.950462 0.42378825 6.5228738 + 2350 1.9180306 1.961141 0.42644522 6.489172 + 2360 1.9296124 1.9748542 0.42981448 6.4628168 + 2370 1.9328566 1.9718181 0.43373762 6.4721746 + 2380 1.9360042 1.9769998 0.43819906 6.4840942 + 2390 1.9387073 1.9778749 0.44317927 6.49778 + 2400 1.9445619 1.9882647 0.4486142 6.4971899 + 2410 1.9553344 1.9997412 0.45435544 6.4749774 + 2420 1.9710783 2.0211926 0.46019236 6.4320181 + 2430 1.9903873 2.046553 0.46575694 6.3751343 + 2440 2.0041158 2.0721071 0.47060398 6.3415121 + 2450 2.0020392 2.0728953 0.47431806 6.3708096 + 2460 1.9839851 2.0568906 0.47681718 6.465129 + 2470 1.9566365 2.0258852 0.47838596 6.5966256 + 2480 1.929674 2.0032606 0.47952215 6.7260074 + 2490 1.9153613 1.990031 0.48061628 6.8035919 + 2500 1.9188373 1.9920514 0.4819225 6.8075788 + 2510 1.9371656 2.0138698 0.48343533 6.7492701 + 2520 1.9566481 2.0340995 0.48485699 6.6821181 + 2530 1.9636141 2.0389496 0.48583392 6.6581326 + 2540 1.9585172 2.0207113 0.48622314 6.6762792 + 2550 1.9516934 2.0024186 0.48621721 6.6980104 + 2560 1.9509543 1.9960852 0.48612286 6.6946311 + 2570 1.9601672 2.0072552 0.48602872 6.6528934 + 2580 1.973804 2.0230879 0.48576601 6.5942862 + 2590 1.9788378 2.034436 0.48505027 6.5689819 + 2600 1.9716493 2.0208578 0.48368043 6.5897554 + 2610 1.9618006 2.007098 0.48174365 6.6188626 + 2620 1.9631458 2.0075461 0.4793429 6.6026194 + 2630 1.9706918 2.0174955 0.47638698 6.5591053 + 2640 1.9759585 2.0213828 0.47264742 6.5198595 + 2650 1.9761708 2.0225139 0.46794373 6.4977306 + 2660 1.9611574 2.0083871 0.46221598 6.5299021 + 2670 1.9342882 1.9720247 0.45576624 6.6034695 + 2680 1.9142009 1.9520382 0.44913109 6.6474082 + 2690 1.9052096 1.9428107 0.4426988 6.645123 + 2700 1.902446 1.9459937 0.43672046 6.6152926 + 2710 1.9099036 1.9594727 0.43120889 6.5473804 + 2720 1.9180788 1.9767479 0.42599739 6.4792536 + 2730 1.9142892 1.9798275 0.42092791 6.4604982 + 2740 1.9019844 1.9674244 0.41601841 6.4795855 + 2750 1.8895632 1.958412 0.41144638 6.5037424 + 2760 1.8824401 1.9494985 0.40739848 6.5113925 + 2770 1.8852759 1.9525073 0.40398809 6.484535 + 2780 1.8998168 1.9664907 0.40114076 6.4159782 + 2790 1.9153937 1.9810349 0.39863439 6.346934 + 2800 1.9162707 1.9824285 0.39627973 6.3364828 + 2810 1.9087999 1.9666258 0.39408314 6.360755 + 2820 1.9073152 1.956153 0.39226387 6.3655719 + 2830 1.9091743 1.9493705 0.39098546 6.3595054 + 2840 1.9042021 1.9424118 0.39036698 6.381752 + 2850 1.8901401 1.9353495 0.39057524 6.4417859 + 2860 1.872943 1.915215 0.39190057 6.5158585 + 2870 1.8732626 1.9181551 0.39474702 6.5269257 + 2880 1.8931021 1.9396049 0.39938934 6.467715 + 2890 1.9217069 1.9733171 0.40581935 6.3811936 + 2900 1.9452213 1.9949806 0.41374968 6.3217226 + 2910 1.9591065 2.0105363 0.42280483 6.3087055 + 2920 1.9649158 2.0234068 0.43256139 6.3353204 + 2930 1.9647653 2.0265233 0.4425691 6.3902862 + 2940 1.9623876 2.0281154 0.45237409 6.4560778 + 2950 1.9591057 2.0276078 0.46164197 6.5239614 + 2960 1.9556907 2.0254377 0.47016674 6.5883236 + 2970 1.9524475 2.0203546 0.47782337 6.6457078 + 2980 1.9556442 2.0212175 0.48459527 6.6731473 + 2990 1.9663638 2.0285202 0.49047217 6.667322 + 3000 1.976263 2.0326354 0.49540098 6.6601492 + 3010 1.9734917 2.0251301 0.49938916 6.6970878 + 3020 1.955368 1.9974693 0.50265656 6.7865104 + 3030 1.9476644 1.9780945 0.50564273 6.8327176 + 3040 1.9584769 1.9887952 0.50867872 6.8046262 + 3050 1.9705616 2.0030557 0.51168699 6.7669575 + 3060 1.9766986 2.0112576 0.51444822 6.74919 + 3070 1.9766671 2.0076853 0.51685838 6.7523339 + 3080 1.9763383 2.0045916 0.51896849 6.7532253 + 3090 1.9855877 2.0260371 0.52081441 6.7160131 + 3100 2.0011042 2.042205 0.52215192 6.653598 + 3110 2.0039819 2.0511266 0.52275172 6.6355885 + 3120 1.9958773 2.0457899 0.52253307 6.6565817 + 3130 1.9933925 2.04521 0.52158082 6.6543706 + 3140 1.9936643 2.0477262 0.51996279 6.639564 + 3150 1.9921223 2.0455965 0.51768794 6.6291901 + 3160 1.9914788 2.0365842 0.51483187 6.6154874 + 3170 1.9922866 2.0422451 0.51144091 6.5976334 + 3180 1.9872806 2.0376593 0.50747923 6.6043774 + 3190 1.9708577 2.0198422 0.50308657 6.6551127 + 3200 1.9534272 1.9982319 0.49857904 6.7093718 + 3210 1.9423425 1.9876311 0.49429833 6.7370529 + 3220 1.941974 1.984738 0.49043179 6.7218879 + 3230 1.9456357 1.9916666 0.48697785 6.6917144 + 3240 1.9392412 1.9874858 0.48388805 6.7004046 + 3250 1.9312152 1.9814714 0.4812083 6.7175714 + 3260 1.9364393 1.9840125 0.47897357 6.6870787 + 3270 1.9490184 1.9871802 0.47715672 6.6308261 + 3280 1.9578901 1.9917218 0.47568803 6.5896589 + 3290 1.9598612 1.9918098 0.47449561 6.5756965 + 3300 1.9538424 1.9845316 0.47357576 6.5931068 + 3310 1.944957 1.9676243 0.47302774 6.6211221 + 3320 1.9479975 1.9720828 0.47296613 6.6058089 + 3330 1.9569283 1.98719 0.47330356 6.5698601 + 3340 1.9558114 1.9861834 0.47383928 6.5729191 + 3350 1.9461606 1.9777192 0.47452365 6.6090135 + 3360 1.942095 1.9776297 0.47540879 6.6255417 + 3370 1.9482423 1.981145 0.47643851 6.6032207 + 3380 1.9564098 1.992645 0.47752314 6.5736007 + 3390 1.9607986 2.0006048 0.47852085 6.5587349 + 3400 1.9595637 2.0047228 0.47933656 6.5656692 + 3410 1.9628181 2.013785 0.47991082 6.5570579 + 3420 1.9698466 2.0200788 0.48018617 6.536373 + 3430 1.969877 2.0210764 0.48013786 6.543084 + 3440 1.96327 2.0103631 0.47979187 6.5761448 + 3450 1.9566516 1.9996494 0.47933398 6.6098616 + 3460 1.9511915 1.9976175 0.47891646 6.6401481 + 3470 1.9410601 1.9950284 0.47859124 6.6862584 + 3480 1.9307395 1.98193 0.47840998 6.7307929 + 3490 1.9206678 1.9678856 0.47853003 6.7702613 + 3500 1.9139405 1.955324 0.47914241 6.7934071 + 3510 1.9206383 1.9571761 0.48041531 6.763312 + 3520 1.9449301 1.9816996 0.4823109 6.6651452 + 3530 1.9752924 2.0115126 0.48452681 6.5438659 + 3540 1.9951599 2.037759 0.48660438 6.463461 + 3550 2.00071 2.0413872 0.48813252 6.4405933 + 3560 1.9939017 2.0277566 0.48901382 6.4684771 + 3570 1.9766844 2.0031366 0.48946452 6.5392906 + 3580 1.9600494 1.9790718 0.48988281 6.6106542 + 3590 1.9522334 1.9727673 0.49062615 6.6517495 + 3600 1.9522007 1.9829458 0.49183552 6.6635632 + 3610 1.9614098 1.9992781 0.49340617 6.6407777 + 3620 1.9739926 2.0159629 0.49511752 6.6062456 + 3630 1.9726539 2.0152219 0.49675445 6.6254361 + 3640 1.9613098 2.0017247 0.49829012 6.6828523 + 3650 1.9577727 2.0000723 0.49991877 6.7111789 + 3660 1.9626403 2.0037309 0.50175296 6.7072182 + 3670 1.9603974 1.9937256 0.50383808 6.7277464 + 3680 1.9532611 1.9846903 0.50638429 6.766139 + 3690 1.9541656 1.9798331 0.50962883 6.7752527 + 3700 1.9656726 1.9951191 0.51377056 6.7462001 + 3710 1.9834474 2.0193011 0.5187681 6.6957856 + 3720 2.0017373 2.0396413 0.52433682 6.6470375 + 3730 2.0109702 2.0469463 0.53011728 6.6363717 + 3740 2.0096858 2.0458572 0.53588234 6.6682278 + 3750 2.0066189 2.0519842 0.54153099 6.7085484 + 3760 2.0096126 2.0561094 0.54689937 6.7250789 + 3770 2.0117777 2.0668795 0.55183559 6.7400962 + 3780 2.0154601 2.0763941 0.55607392 6.7423369 + 3790 2.0313954 2.0972106 0.55930714 6.6920109 + 3800 2.0496133 2.1176374 0.56110467 6.6271089 + 3810 2.0553084 2.1205041 0.56098738 6.6034668 + 3820 2.0478771 2.1131255 0.5587031 6.6239896 + 3830 2.0342107 2.0991257 0.55418078 6.6632309 + 3840 2.0142205 2.0767165 0.54756321 6.7196407 + 3850 1.9879527 2.0516847 0.53919957 6.7932756 + 3860 1.9593315 2.0232738 0.52966136 6.8686983 + 3870 1.9362884 1.9952027 0.51970092 6.9156687 + 3880 1.9292997 1.9883081 0.50996282 6.8957696 + 3890 1.9372438 1.9978667 0.50073929 6.8160963 + 3900 1.949918 2.0107188 0.49208883 6.7186535 + 3910 1.9547594 2.0160936 0.48397839 6.6537348 + 3920 1.9543567 2.0191268 0.47640162 6.6136067 + 3930 1.9582199 2.0200359 0.46933873 6.5629726 + 3940 1.9644631 2.0304625 0.4627222 6.5077177 + 3950 1.9645882 2.0301829 0.45644411 6.4795258 + 3960 1.9546999 2.0197242 0.45050583 6.4943664 + 3970 1.9424307 2.0063453 0.44500625 6.5237707 + 3980 1.9281472 1.9910524 0.440105 6.5640156 + 3990 1.9168821 1.9763691 0.43594018 6.592621 + 4000 1.9150056 1.9752502 0.43256475 6.585564 +Loop time of 0.29535 on 4 procs for 2000 steps with 2775 atoms + +Performance: 585068.702 tau/day, 6771.628 timesteps/s, 18.791 Matom-step/s +98.4% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.11499 | 0.12105 | 0.12753 | 1.6 | 40.99 +Neigh | 0.015593 | 0.01655 | 0.017426 | 0.6 | 5.60 +Comm | 0.011343 | 0.020696 | 0.029105 | 5.0 | 7.01 +Output | 0.0076551 | 0.010557 | 0.01165 | 1.6 | 3.57 +Modify | 0.10677 | 0.11421 | 0.1196 | 1.4 | 38.67 +Other | | 0.01228 | | | 4.16 + +Nlocal: 693.75 ave 801 max 584 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 256.25 ave 313 max 200 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 6078.25 ave 7398 max 4746 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 24313 +Ave neighs/atom = 8.7614414 +Neighbor list builds = 75 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/PACKAGES/flow_gauss/log.6Jul17.GD.g++.1 b/examples/PACKAGES/flow_gauss/log.6Jul17.GD.g++.1 deleted file mode 100644 index bb9167f490..0000000000 --- a/examples/PACKAGES/flow_gauss/log.6Jul17.GD.g++.1 +++ /dev/null @@ -1,909 +0,0 @@ -LAMMPS (6 Jul 2017) - using 1 OpenMP thread(s) per MPI task -#LAMMPS input script -#in.GD -#see README for details - -############################################################################### -#initialize variables -clear - using 1 OpenMP thread(s) per MPI task - -#frequency for outputting info (timesteps) -variable dump_rate equal 50 -variable thermo_rate equal 10 - -#equilibration time (timesteps) -variable equil equal 1000 - -#stabilization time (timesteps to reach steady-state) -variable stabil equal 1000 - -#data collection time (timesteps) -variable run equal 2000 - -#length of pipe -variable L equal 30 - -#width of pipe -variable d equal 20 - -#flux (mass/sigma*tau) -variable J equal 0.1 - -#simulation box dimensions -variable Lx equal 100 -variable Ly equal 40 - -#bulk fluid density -variable dens equal 0.8 - -#lattice spacing for wall atoms -variable aWall equal 1.0 #1.7472 - -#timestep -variable ts equal 0.001 - -#temperature -variable T equal 2.0 - -#thermostat damping constant -variable tdamp equal ${ts}*100 -variable tdamp equal 0.001*100 - -units lj -dimension 2 -atom_style atomic - - -############################################################################### -#create box - -#create lattice with the spacing aWall -variable rhoWall equal ${aWall}^(-2) -variable rhoWall equal 1^(-2) -lattice sq ${rhoWall} -lattice sq 1 -Lattice spacing in x,y,z = 1 1 1 - -#modify input dimensions to be multiples of aWall -variable L1 equal round($L/${aWall})*${aWall} -variable L1 equal round(30/${aWall})*${aWall} -variable L1 equal round(30/1)*${aWall} -variable L1 equal round(30/1)*1 -variable d1 equal round($d/${aWall})*${aWall} -variable d1 equal round(20/${aWall})*${aWall} -variable d1 equal round(20/1)*${aWall} -variable d1 equal round(20/1)*1 -variable Ly1 equal round(${Ly}/${aWall})*${aWall} -variable Ly1 equal round(40/${aWall})*${aWall} -variable Ly1 equal round(40/1)*${aWall} -variable Ly1 equal round(40/1)*1 -variable Lx1 equal round(${Lx}/${aWall})*${aWall} -variable Lx1 equal round(100/${aWall})*${aWall} -variable Lx1 equal round(100/1)*${aWall} -variable Lx1 equal round(100/1)*1 - -#create simulation box -variable lx2 equal ${Lx1}/2 -variable lx2 equal 100/2 -variable ly2 equal ${Ly1}/2 -variable ly2 equal 40/2 -region simbox block -${lx2} ${lx2} -${ly2} ${ly2} 0 0.1 units box -region simbox block -50 ${lx2} -${ly2} ${ly2} 0 0.1 units box -region simbox block -50 50 -${ly2} ${ly2} 0 0.1 units box -region simbox block -50 50 -20 ${ly2} 0 0.1 units box -region simbox block -50 50 -20 20 0 0.1 units box -create_box 2 simbox -Created orthogonal box = (-50 -20 0) to (50 20 0.1) - 1 by 1 by 1 MPI processor grid - -##################################################################### -#set up potential - -mass 1 1.0 #fluid atoms -mass 2 1.0 #wall atoms - -pair_style lj/cut 2.5 -pair_modify shift yes -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 1.12246 -pair_coeff 2 2 0.0 0.0 - -neigh_modify exclude type 2 2 - -timestep ${ts} -timestep 0.001 - -##################################################################### -#create atoms - -#create wall atoms everywhere -create_atoms 2 box -Created 4000 atoms - -#define region which is "walled off" -variable dhalf equal ${d1}/2 -variable dhalf equal 20/2 -variable Lhalf equal ${L1}/2 -variable Lhalf equal 30/2 -region walltop block -${Lhalf} ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box -region walltop block -15 ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box -region walltop block -15 15 ${dhalf} EDGE -0.1 0.1 units box -region walltop block -15 15 10 EDGE -0.1 0.1 units box -region wallbot block -${Lhalf} ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box -region wallbot block -15 ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box -region wallbot block -15 15 EDGE -${dhalf} -0.1 0.1 units box -region wallbot block -15 15 EDGE -10 -0.1 0.1 units box -region outsidewall union 2 walltop wallbot side out - -#remove wall atoms outside wall region -group outside region outsidewall -3349 atoms in group outside -delete_atoms group outside -Deleted 3349 atoms, new total = 651 - -#remove wall atoms that aren't on edge of wall region -variable x1 equal ${Lhalf}-${aWall} -variable x1 equal 15-${aWall} -variable x1 equal 15-1 -variable y1 equal ${dhalf}+${aWall} -variable y1 equal 10+${aWall} -variable y1 equal 10+1 -region insideTop block -${x1} ${x1} ${y1} EDGE -0.1 0.1 units box -region insideTop block -14 ${x1} ${y1} EDGE -0.1 0.1 units box -region insideTop block -14 14 ${y1} EDGE -0.1 0.1 units box -region insideTop block -14 14 11 EDGE -0.1 0.1 units box -region insideBot block -${x1} ${x1} EDGE -${y1} -0.1 0.1 units box -region insideBot block -14 ${x1} EDGE -${y1} -0.1 0.1 units box -region insideBot block -14 14 EDGE -${y1} -0.1 0.1 units box -region insideBot block -14 14 EDGE -11 -0.1 0.1 units box -region insideWall union 2 insideTop insideBot -group insideWall region insideWall -551 atoms in group insideWall -delete_atoms group insideWall -Deleted 551 atoms, new total = 100 - -#define new lattice, to give correct fluid density -#y lattice const must be a multiple of aWall -variable atrue equal ${dens}^(-1/2) -variable atrue equal 0.8^(-1/2) -variable ay equal round(${atrue}/${aWall})*${aWall} -variable ay equal round(1.11803398874989/${aWall})*${aWall} -variable ay equal round(1.11803398874989/1)*${aWall} -variable ay equal round(1.11803398874989/1)*1 - -#choose x lattice const to give correct density -variable ax equal (${ay}*${dens})^(-1) -variable ax equal (1*${dens})^(-1) -variable ax equal (1*0.8)^(-1) - -#change Lx to be multiple of ax -variable Lx1 equal round(${Lx}/${ax})*${ax} -variable Lx1 equal round(100/${ax})*${ax} -variable Lx1 equal round(100/1.25)*${ax} -variable Lx1 equal round(100/1.25)*1.25 -variable lx2 equal ${Lx1}/2 -variable lx2 equal 100/2 -change_box all x final -${lx2} ${lx2} units box -change_box all x final -50 ${lx2} units box -change_box all x final -50 50 units box - orthogonal box = (-50 -20 0) to (50 20 0.1) - -#define new lattice -lattice custom ${dens} a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 -lattice custom 0.8 a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 -lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 -lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 1 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 -Lattice spacing in x,y,z = 1.25 1 1 - -#fill in rest of box with bulk particles -variable delta equal 0.001 -variable Ldelt equal ${Lhalf}+${delta} -variable Ldelt equal 15+${delta} -variable Ldelt equal 15+0.001 -variable dDelt equal ${dhalf}-${delta} -variable dDelt equal 10-${delta} -variable dDelt equal 10-0.001 -region left block EDGE -${Ldelt} EDGE EDGE -0.1 0.1 units box -region left block EDGE -15.001 EDGE EDGE -0.1 0.1 units box -region right block ${Ldelt} EDGE EDGE EDGE -0.1 0.1 units box -region right block 15.001 EDGE EDGE EDGE -0.1 0.1 units box -region pipe block -${Ldelt} ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box -region pipe block -15.001 ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box -region pipe block -15.001 15.001 -${dDelt} ${dDelt} -0.1 0.1 units box -region pipe block -15.001 15.001 -9.999 ${dDelt} -0.1 0.1 units box -region pipe block -15.001 15.001 -9.999 9.999 -0.1 0.1 units box - -region bulk union 3 left pipe right -create_atoms 1 region bulk -Created 2675 atoms - -group bulk type 1 -2675 atoms in group bulk -group wall type 2 -100 atoms in group wall - -#remove atoms that are too close to wall -delete_atoms overlap 0.9 bulk wall -Neighbor list info ... - update every 1 steps, delay 10 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 = 72 29 1 - 2 neighbor lists, perpetual/occasional/extra = 1 1 0 - (1) command delete_atoms, occasional - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/2d - bin: standard - (2) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/2d/newton - bin: standard -Deleted 0 atoms, new total = 2775 - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes -neigh_modify exclude group wall wall - -velocity bulk create $T 78915 dist gaussian rot yes mom yes loop geom -velocity bulk create 2 78915 dist gaussian rot yes mom yes loop geom - -##################################################################### -#set up PUT -#see Evans and Morriss, Phys. Rev. Lett. 56(20) 1986, p. 2172 - -#average number of particles per box, Evans and Morriss used 2.0 -variable NperBox equal 8.0 - -#calculate box sizes -variable boxSide equal sqrt(${NperBox}/${dens}) -variable boxSide equal sqrt(8/${dens}) -variable boxSide equal sqrt(8/0.8) -variable nX equal round(lx/${boxSide}) -variable nX equal round(lx/3.16227766016838) -variable nY equal round(ly/${boxSide}) -variable nY equal round(ly/3.16227766016838) -variable dX equal lx/${nX} -variable dX equal lx/32 -variable dY equal ly/${nY} -variable dY equal ly/13 - -#temperature of fluid (excluding wall) -compute myT bulk temp - -#profile-unbiased temperature of fluid -compute myTp bulk temp/profile 1 1 0 xy ${nX} ${nY} -compute myTp bulk temp/profile 1 1 0 xy 32 ${nY} -compute myTp bulk temp/profile 1 1 0 xy 32 13 - -#thermo setup -thermo ${thermo_rate} -thermo 10 -thermo_style custom step c_myT c_myTp etotal press - -#dump initial configuration -# dump 55 all custom 1 all.init.lammpstrj id type x y z vx vy vz -# dump 56 wall custom 1 wall.init.lammpstrj id type x y z -# dump_modify 55 sort id -# dump_modify 56 sort id -run 0 -WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) -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 = 72 29 1 - 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/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.103 | 3.103 | 3.103 Mbytes -Step c_myT c_myTp TotEng Press - 0 2 2.0555109 0.77892922 7.3417096 -Loop time of 9.53674e-07 on 1 procs for 0 steps with 2775 atoms - -314.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 0 | 0 | 0.0 | 0.00 -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.537e-07 | | |100.00 - -Nlocal: 2775 ave 2775 max 2775 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 510 ave 510 max 510 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 26406 ave 26406 max 26406 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 26406 -Ave neighs/atom = 9.51568 -Neighbor list builds = 0 -Dangerous builds = 0 -# undump 55 -# undump 56 - -##################################################################### -#equilibrate without GD - -fix nvt bulk nvt temp $T $T ${tdamp} -fix nvt bulk nvt temp 2 $T ${tdamp} -fix nvt bulk nvt temp 2 2 ${tdamp} -fix nvt bulk nvt temp 2 2 0.1 -fix_modify nvt temp myTp -WARNING: Temperature for fix modify is not for group all (../fix_nh.cpp:1395) -fix 2 bulk enforce2d - -run ${equil} -run 1000 -Per MPI rank memory allocation (min/avg/max) = 3.166 | 3.166 | 3.166 Mbytes -Step c_myT c_myTp TotEng Press - 0 2 2.0555109 0.77892922 7.3417096 - 10 1.9173594 1.9390034 0.77876976 7.6702228 - 20 1.7033394 1.6974676 0.77977799 8.5614784 - 30 1.5026161 1.4723993 0.78456655 9.4308258 - 40 1.4880481 1.4591602 0.79486693 9.6134304 - 50 1.6192437 1.6150635 0.81109069 9.2592835 - 60 1.7404087 1.7583444 0.82955456 8.952392 - 70 1.7757591 1.8006606 0.8452778 8.9717917 - 80 1.7573847 1.7813629 0.85769389 9.1936368 - 90 1.7491183 1.7726908 0.86882429 9.3712357 - 100 1.7798944 1.8079583 0.88029084 9.3871755 - 110 1.8440582 1.8793133 0.89259397 9.2582848 - 120 1.9191606 1.9673434 0.90533438 9.0680574 - 130 1.9883299 2.0484299 0.91755461 8.88117 - 140 2.0463366 2.1111872 0.92818114 8.7184178 - 150 2.0953769 2.167849 0.93639789 8.5713408 - 160 2.1442147 2.2216228 0.94145082 8.4082835 - 170 2.1797848 2.2631458 0.94246877 8.2767903 - 180 2.1863476 2.2700986 0.93873326 8.2311689 - 190 2.1832866 2.2710551 0.93003012 8.1959062 - 200 2.1937154 2.2868403 0.91642537 8.0842007 - 210 2.2022708 2.2915142 0.89824533 7.9575312 - 220 2.1884715 2.2770564 0.87677613 7.9000591 - 230 2.1671124 2.2496063 0.85409501 7.8673156 - 240 2.1560417 2.2379998 0.83167878 7.8003228 - 250 2.1421449 2.2240624 0.81004723 7.7491508 - 260 2.1172164 2.1971044 0.78931978 7.7457415 - 270 2.0856847 2.1672998 0.76956352 7.7719788 - 280 2.0670685 2.1449303 0.75073364 7.7524614 - 290 2.0639481 2.1428374 0.73258016 7.6727716 - 300 2.055776 2.1361719 0.7147669 7.6095248 - 310 2.038425 2.1209353 0.69722853 7.5797085 - 320 2.0203023 2.1066031 0.68006634 7.5521081 - 330 2.0118478 2.1039797 0.66330302 7.4877535 - 340 2.0159442 2.1096258 0.64673694 7.3761703 - 350 2.0166408 2.1075061 0.63020017 7.2788 - 360 2.0059407 2.0806316 0.61387618 7.2263941 - 370 1.9964281 2.0642074 0.59814148 7.1728041 - 380 1.9918446 2.0567527 0.58303017 7.101597 - 390 1.992835 2.0548138 0.56852431 7.0084774 - 400 2.0012934 2.0615016 0.55438401 6.8865948 - 410 2.0084291 2.073418 0.54034073 6.7697478 - 420 2.007464 2.0786717 0.52617041 6.6849032 - 430 1.9983712 2.0704366 0.51188183 6.6323103 - 440 1.9884651 2.0588515 0.49765394 6.5868356 - 450 1.982221 2.0467396 0.4837102 6.5311681 - 460 1.9738673 2.031238 0.47021649 6.4882783 - 470 1.9574246 2.0060447 0.45740021 6.4814923 - 480 1.9361065 1.9734507 0.44557947 6.4995199 - 490 1.9251024 1.9562469 0.43506067 6.4858343 - 500 1.9279545 1.9572145 0.42577835 6.4274765 - 510 1.9267504 1.9570246 0.41755013 6.3927027 - 520 1.9093405 1.9393872 0.41031829 6.4281888 - 530 1.8820555 1.9060756 0.40432569 6.5099401 - 540 1.86537 1.8912682 0.3999087 6.55843 - 550 1.8694252 1.9043192 0.39717519 6.5337875 - 560 1.8835224 1.9294105 0.39589322 6.4760141 - 570 1.8898719 1.9462433 0.39573596 6.4520041 - 580 1.8887698 1.9472764 0.39649878 6.4602989 - 590 1.8945125 1.9550624 0.39810844 6.4470226 - 600 1.9106571 1.9735939 0.40045321 6.3971026 - 610 1.9273243 1.98509 0.40330026 6.3474421 - 620 1.9351802 1.9888986 0.4064498 6.3340566 - 630 1.9337889 1.9846794 0.40981479 6.3610556 - 640 1.9257018 1.9757153 0.4134641 6.4184721 - 650 1.9204429 1.9718256 0.41750942 6.4679594 - 660 1.9220449 1.9701963 0.42202455 6.4919724 - 670 1.9230578 1.9707406 0.4270412 6.5178484 - 680 1.9204554 1.9740485 0.43255127 6.5572507 - 690 1.9201811 1.9762854 0.43847123 6.5869126 - 700 1.9271511 1.9867455 0.44474356 6.5882669 - 710 1.9418851 2.0042477 0.45120727 6.558573 - 720 1.9544547 2.0186724 0.4576061 6.5338329 - 730 1.9687971 2.0326169 0.46367507 6.4988775 - 740 1.9830308 2.0466267 0.46920367 6.4618136 - 750 1.9936981 2.0526606 0.47397868 6.4367349 - 760 2.0008431 2.0535449 0.47786748 6.4249001 - 770 1.9982133 2.0483219 0.48085757 6.4504786 - 780 1.9841544 2.0311693 0.48306488 6.5200512 - 790 1.9683122 2.0158738 0.48475632 6.5959263 - 800 1.9604618 2.003224 0.48619405 6.6392559 - 810 1.9629155 2.0075077 0.48756075 6.6406486 - 820 1.9683056 2.0110554 0.48883443 6.6269424 - 830 1.975409 2.0189161 0.48995399 6.6030215 - 840 1.9897264 2.035016 0.4907852 6.5485575 - 850 2.0094338 2.0555358 0.49104505 6.4719926 - 860 2.0217589 2.0643603 0.49040437 6.4233305 - 870 2.0147718 2.0641627 0.48866908 6.4491964 - 880 1.9883859 2.0324092 0.48592007 6.5488061 - 890 1.9625853 2.0028776 0.48263002 6.6452734 - 900 1.9520401 1.9889124 0.47925524 6.6808078 - 910 1.9559583 1.9952984 0.47597346 6.6573059 - 920 1.9657244 2.0083503 0.47268726 6.6073704 - 930 1.969288 2.0152339 0.4692054 6.5780416 - 940 1.9652206 2.0116384 0.4654438 6.5769812 - 950 1.9567495 1.9960693 0.46147541 6.5942022 - 960 1.9418452 1.980858 0.45753557 6.6369454 - 970 1.9247196 1.9585585 0.45390337 6.6888821 - 980 1.9128262 1.9481721 0.45090045 6.7198221 - 990 1.9167211 1.9451096 0.44869731 6.6912394 - 1000 1.935529 1.9662384 0.44728238 6.6079829 -Loop time of 1.307 on 1 procs for 1000 steps with 2775 atoms - -Performance: 66105.601 tau/day, 765.111 timesteps/s -98.7% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.7676 | 0.7676 | 0.7676 | 0.0 | 58.73 -Neigh | 0.088947 | 0.088947 | 0.088947 | 0.0 | 6.81 -Comm | 0.0094135 | 0.0094135 | 0.0094135 | 0.0 | 0.72 -Output | 0.019547 | 0.019547 | 0.019547 | 0.0 | 1.50 -Modify | 0.39755 | 0.39755 | 0.39755 | 0.0 | 30.42 -Other | | 0.02394 | | | 1.83 - -Nlocal: 2775 ave 2775 max 2775 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 527 ave 527 max 527 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 24332 ave 24332 max 24332 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 24332 -Ave neighs/atom = 8.76829 -Neighbor list builds = 38 -Dangerous builds = 0 - -##################################################################### -#initialize the COM velocity and run to achieve steady-state - -#calculate velocity to add: V=J/rho_total -variable Vadd equal $J*lx*ly/count(bulk) -variable Vadd equal 0.1*lx*ly/count(bulk) - -#first remove any COM velocity, then add back the streaming velocity -velocity bulk zero linear -velocity bulk set ${Vadd} 0.0 0.0 units box sum yes mom no -velocity bulk set 0.149532710280374 0.0 0.0 units box sum yes mom no - -fix GD bulk flow/gauss 1 0 0 #energy yes -#fix_modify GD energy yes - -run ${stabil} -run 1000 -Per MPI rank memory allocation (min/avg/max) = 3.166 | 3.166 | 3.166 Mbytes -Step c_myT c_myTp TotEng Press - 1000 1.9466974 1.9662384 0.45804438 6.615449 - 1010 1.9605467 1.9815754 0.45717241 6.5545496 - 1020 1.9560139 1.9823875 0.45660431 6.5672421 - 1030 1.9348326 1.9691606 0.45633148 6.6463667 - 1040 1.9167809 1.9449522 0.45657707 6.7139486 - 1050 1.9193541 1.943342 0.45767968 6.7014054 - 1060 1.9410751 1.9720491 0.45967742 6.6150379 - 1070 1.9658493 1.9964883 0.46221539 6.5178418 - 1080 1.9767205 2.0074304 0.46491236 6.4768594 - 1090 1.9714544 2.0003054 0.46759126 6.5026957 - 1100 1.9647035 1.9927455 0.4703109 6.5400181 - 1110 1.9657667 1.9959656 0.47317481 6.5519094 - 1120 1.9706062 1.9980802 0.476185 6.5512675 - 1130 1.9747655 2.0062292 0.47932281 6.554091 - 1140 1.9761245 2.0075076 0.48248327 6.5670381 - 1150 1.9744197 2.0073027 0.48562483 6.5914441 - 1160 1.9722698 2.0046687 0.48874207 6.6165575 - 1170 1.9692145 2.0013845 0.49187442 6.6438115 - 1180 1.9665609 1.9970724 0.49508053 6.6693821 - 1190 1.9625031 1.9908427 0.49843816 6.7002606 - 1200 1.960528 1.993084 0.50203044 6.7237076 - 1210 1.9649156 1.9981485 0.50587066 6.7217755 - 1220 1.9788059 2.0134511 0.50987442 6.6833452 - 1230 1.9952283 2.0343101 0.51379781 6.6340278 - 1240 2.0039391 2.0494196 0.51730872 6.6129751 - 1250 2.0019006 2.0526773 0.52014603 6.6320217 - 1260 1.9974025 2.0528914 0.52221385 6.6601786 - 1270 1.9953949 2.0561121 0.5234754 6.6796142 - 1280 1.9893864 2.0470375 0.5238632 6.7140134 - 1290 1.9694951 2.019253 0.5235093 6.798442 - 1300 1.9473901 1.9965919 0.52280384 6.8863369 - 1310 1.9511151 2.006161 0.52203882 6.8700917 - 1320 1.979341 2.0388959 0.52106938 6.7529595 - 1330 2.0073235 2.0720045 0.51935291 6.6297731 - 1340 2.0202482 2.0841419 0.51624273 6.55803 - 1350 2.0177489 2.0669046 0.51142591 6.5401753 - 1360 2.0069274 2.04717 0.50505824 6.5506533 - 1370 1.994854 2.0311383 0.49743042 6.5633001 - 1380 1.9793176 2.0077184 0.48890503 6.5859072 - 1390 1.9580907 1.9839831 0.48004316 6.6288992 - 1400 1.9415542 1.9594192 0.47143599 6.6534105 - 1410 1.9405188 1.9591825 0.46353105 6.620549 - 1420 1.9504784 1.9730647 0.45640199 6.5471784 - 1430 1.9594158 1.9819854 0.44995052 6.4802874 - 1440 1.9615108 1.9863792 0.44406411 6.44391 - 1450 1.9544127 1.9806249 0.43873409 6.4484818 - 1460 1.9384927 1.9614953 0.43408605 6.4905259 - 1470 1.9214711 1.9425515 0.43035972 6.5390434 - 1480 1.9170761 1.9300809 0.42775046 6.5409502 - 1490 1.9242904 1.9385731 0.42631007 6.5005057 - 1500 1.9307133 1.9446119 0.4258836 6.4660754 - 1510 1.9303576 1.9435389 0.42633976 6.4616415 - 1520 1.9248382 1.9408306 0.42765441 6.4832059 - 1530 1.9120794 1.9278123 0.42986958 6.5380951 - 1540 1.899122 1.9125029 0.4331459 6.5987181 - 1550 1.9030956 1.9187821 0.43765067 6.6012019 - 1560 1.9182961 1.9453782 0.44330842 6.5674222 - 1570 1.9272863 1.9613129 0.44971962 6.5619794 - 1580 1.931679 1.9698134 0.45643436 6.5780809 - 1590 1.9336692 1.9728684 0.46314752 6.6035675 - 1600 1.938895 1.9823104 0.46964519 6.6138411 - 1610 1.9510838 1.9937914 0.47568807 6.5916989 - 1620 1.9685387 2.0087314 0.48102339 6.5424432 - 1630 1.9894416 2.0295715 0.48539861 6.4757743 - 1640 1.9982699 2.0426949 0.48860411 6.4512418 - 1650 1.9901677 2.0363837 0.49062424 6.4879985 - 1660 1.9814216 2.0291326 0.49172203 6.5248034 - 1670 1.9812111 2.0293629 0.49218297 6.5253876 - 1680 1.9903906 2.0408376 0.49211747 6.4852787 - 1690 2.0015983 2.0538843 0.4914581 6.4325081 - 1700 2.009727 2.0503407 0.49011163 6.3878577 - 1710 2.0167822 2.0531002 0.4881688 6.3477054 - 1720 2.0189021 2.0445033 0.48564798 6.3273063 - 1730 2.0129713 2.0354734 0.48270666 6.3385541 - 1740 2.0048763 2.0199836 0.47950943 6.3587586 - 1750 1.9994843 2.0085942 0.47624908 6.3694119 - 1760 1.9940025 2.0072098 0.47305283 6.3816295 - 1770 1.9817431 1.9974066 0.46994486 6.4224295 - 1780 1.965171 1.9805421 0.4670779 6.4832371 - 1790 1.9474078 1.9662605 0.46466823 6.5516524 - 1800 1.9286009 1.9507751 0.46292015 6.6263366 - 1810 1.9168087 1.9437961 0.46199899 6.6759834 - 1820 1.9107555 1.9306323 0.46204129 6.7029857 - 1830 1.9135569 1.930819 0.46316484 6.6949737 - 1840 1.9345342 1.9553413 0.46532704 6.6178988 - 1850 1.9630349 1.9929548 0.46822932 6.5137866 - 1860 1.9820746 2.0188839 0.47135068 6.4489028 - 1870 1.9834959 2.0217145 0.47427805 6.4552721 - 1880 1.9731564 2.0120293 0.47692755 6.5100251 - 1890 1.9653605 2.0070624 0.47943307 6.5594235 - 1900 1.9630631 2.0095488 0.48192185 6.5912876 - 1910 1.9556778 2.0035006 0.48443107 6.6437189 - 1920 1.9408788 1.9828296 0.48710124 6.7228731 - 1930 1.9292393 1.9732376 0.49025327 6.7880112 - 1940 1.9263081 1.9708942 0.49416086 6.8162477 - 1950 1.9358375 1.976323 0.49899895 6.7946964 - 1960 1.9520543 1.9936542 0.50485961 6.7467481 - 1970 1.9709064 2.0108957 0.51165586 6.6909455 - 1980 1.9940026 2.0375428 0.51918913 6.6250463 - 1990 2.0171261 2.0646948 0.52705638 6.5649879 - 2000 2.0302713 2.0802515 0.53472229 6.5470853 -Loop time of 1.34877 on 1 procs for 1000 steps with 2775 atoms - -Performance: 64058.154 tau/day, 741.414 timesteps/s -98.7% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.77091 | 0.77091 | 0.77091 | 0.0 | 57.16 -Neigh | 0.085835 | 0.085835 | 0.085835 | 0.0 | 6.36 -Comm | 0.0093472 | 0.0093472 | 0.0093472 | 0.0 | 0.69 -Output | 0.019047 | 0.019047 | 0.019047 | 0.0 | 1.41 -Modify | 0.43949 | 0.43949 | 0.43949 | 0.0 | 32.58 -Other | | 0.02415 | | | 1.79 - -Nlocal: 2775 ave 2775 max 2775 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 530 ave 530 max 530 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 24404 ave 24404 max 24404 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 24404 -Ave neighs/atom = 8.79423 -Neighbor list builds = 36 -Dangerous builds = 0 - -##################################################################### -#collect data - -#print the applied force and total flux to ensure conservation of Jx -variable Fapp equal f_GD[1] -compute vxBulk bulk reduce sum vx -compute vyBulk bulk reduce sum vy -variable invVol equal 1.0/(lx*ly) -variable jx equal c_vxBulk*${invVol} -variable jx equal c_vxBulk*0.00025 -variable jy equal c_vyBulk*${invVol} -variable jy equal c_vyBulk*0.00025 -variable curr_step equal step -variable p_Fapp format Fapp %.3f -variable p_jx format jx %.5g -variable p_jy format jy %.5g -fix print_vCOM all print ${dump_rate} "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy" -fix print_vCOM all print 50 "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy" - -#compute IK1 pressure profile -#see Todd, Evans, and Davis, Phys. Rev. E 52(2) 1995, p. 1627 -#use profile-unbiased temperature to remove the streaming velocity -#from the kinetic part of the pressure -compute spa bulk stress/atom myTp - -#for the pressure profile, use the same grid as the PUT -compute chunkX bulk chunk/atom bin/1d x lower ${dX} units box -compute chunkX bulk chunk/atom bin/1d x lower 3.125 units box - -#output pressure profile and other profiles -#the pressure profile is (-1/2V)*(c_spa[1] + c_spa[2]), where -#V is the volume of a slice -fix profiles bulk ave/chunk 1 1 ${dump_rate} chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite -fix profiles bulk ave/chunk 1 1 50 chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite - -#compute velocity profile across the pipe with a finer grid -variable dYnew equal ${dY}/10 -variable dYnew equal 3.07692307692308/10 -compute chunkY bulk chunk/atom bin/1d y center ${dYnew} units box region pipe -compute chunkY bulk chunk/atom bin/1d y center 0.307692307692308 units box region pipe -fix velYprof bulk ave/chunk 1 1 ${dump_rate} chunkY vx file Vy_profile ave running overwrite -fix velYprof bulk ave/chunk 1 1 50 chunkY vx file Vy_profile ave running overwrite - -#full trajectory -# dump 7 bulk custom ${dump_rate} bulk.lammpstrj id type x y z -# dump_modify 7 sort id - -run ${run} -run 2000 -Per MPI rank memory allocation (min/avg/max) = 5.174 | 5.174 | 5.174 Mbytes -Step c_myT c_myTp TotEng Press - 2000 2.0302713 2.0802515 0.53472229 6.5470853 - 2010 2.0303419 2.0806129 0.54177821 6.5808527 - 2020 2.0245167 2.0792991 0.54803523 6.6381758 - 2030 2.0169072 2.065404 0.55345227 6.7008962 - 2040 2.0052526 2.0513817 0.55818432 6.7755868 - 2050 1.9953625 2.0366564 0.56245299 6.8382569 - 2060 2.0003667 2.0462109 0.56649798 6.8390557 - 2070 2.0238288 2.0834553 0.57023651 6.7637821 - 2080 2.045765 2.1173867 0.5730944 6.6861321 - 2090 2.0563925 2.1370313 0.57430831 6.6422581 - 2100 2.0620437 2.1480293 0.57319824 6.6080678 - 2110 2.0584437 2.1473173 0.56913597 6.5969671 - 2120 2.0532825 2.1393006 0.56154606 6.5799417 - 2130 2.0450143 2.1234905 0.55009479 6.5616931 - 2140 2.0229537 2.1004507 0.53511912 6.5854627 - 2150 1.9832556 2.0554119 0.51812599 6.6700591 - 2160 1.9444027 2.0110758 0.50163049 6.7534263 - 2170 1.9267473 1.9904528 0.48759542 6.76469 - 2180 1.9262232 1.9809353 0.47662199 6.7188048 - 2190 1.9359331 1.9854626 0.46836289 6.6406985 - 2200 1.9530728 1.9971865 0.4620366 6.5409943 - 2210 1.9657099 2.0056761 0.45692542 6.4639397 - 2220 1.9661008 2.0046161 0.45253504 6.4388081 - 2230 1.9574696 1.9947839 0.44864257 6.4528687 - 2240 1.9522284 1.9922663 0.44518111 6.4584458 - 2250 1.9518203 1.9950044 0.44206844 6.4491722 - 2260 1.9527908 1.9989603 0.4391804 6.4377912 - 2270 1.9452231 1.9932538 0.43643529 6.4607516 - 2280 1.9249341 1.9759145 0.43392742 6.5320897 - 2290 1.9087464 1.960985 0.43186869 6.5875176 - 2300 1.9103289 1.964731 0.43039882 6.5765021 - 2310 1.9182062 1.9783814 0.4294628 6.5434488 - 2320 1.9204281 1.9796609 0.42889381 6.5351629 - 2330 1.916279 1.9720659 0.42866391 6.5562619 - 2340 1.9062866 1.9587628 0.42890166 6.6033936 - 2350 1.9024117 1.9566812 0.42979475 6.6297969 - 2360 1.908153 1.960687 0.43141898 6.6215148 - 2370 1.9115944 1.9663337 0.43376668 6.6236491 - 2380 1.9086193 1.9637867 0.4367911 6.6529568 - 2390 1.9039907 1.9610268 0.44053991 6.6926343 - 2400 1.9034944 1.9609406 0.44508818 6.7193441 - 2410 1.9151521 1.9753641 0.4504458 6.7015957 - 2420 1.9314517 1.9925924 0.45644382 6.6669864 - 2430 1.9433933 2.0062001 0.46277215 6.6481527 - 2440 1.9504631 2.0087015 0.46917209 6.6475757 - 2450 1.9550092 2.0094957 0.47550077 6.6556459 - 2460 1.9609689 2.0147997 0.48170141 6.6568282 - 2470 1.9730726 2.0328127 0.48763131 6.6337545 - 2480 1.9838562 2.0466643 0.49303443 6.6143423 - 2490 1.9862031 2.0473388 0.49767532 6.6245587 - 2500 1.9817565 2.0455432 0.50152131 6.6573893 - 2510 1.9785788 2.0423176 0.50460561 6.6808042 - 2520 1.9823006 2.0505106 0.50696374 6.6726698 - 2530 1.9907178 2.0553736 0.50852885 6.6402082 - 2540 2.0005205 2.0690408 0.50919421 6.5966469 - 2550 2.0079727 2.0809816 0.50872954 6.5568419 - 2560 2.0133128 2.096271 0.50682742 6.5199915 - 2570 2.0141298 2.0990846 0.50314491 6.4951991 - 2580 2.0048768 2.0874319 0.49750096 6.5025454 - 2590 1.9876498 2.0638834 0.4900201 6.5333038 - 2600 1.9720479 2.0474479 0.48105263 6.5527157 - 2610 1.9596324 2.0355764 0.4710001 6.5547867 - 2620 1.9439039 2.0106405 0.46046644 6.5646889 - 2630 1.9321714 1.9924346 0.45021207 6.5589454 - 2640 1.9349378 1.9923889 0.44082833 6.5012762 - 2650 1.9448459 2.0069955 0.43251999 6.4228945 - 2660 1.9446852 2.0050346 0.42525857 6.3921645 - 2670 1.9325594 1.9884937 0.41913362 6.4169726 - 2680 1.9121687 1.9606084 0.41434428 6.4821267 - 2690 1.8923613 1.9339385 0.41105831 6.5517615 - 2700 1.8807238 1.9191801 0.40933203 6.5949447 - 2710 1.8797367 1.918758 0.40906826 6.6001309 - 2720 1.8852961 1.9225996 0.41005611 6.58191 - 2730 1.8937478 1.9357751 0.41204348 6.5541946 - 2740 1.9019279 1.9449374 0.41476104 6.5278575 - 2750 1.9134396 1.9614415 0.41800066 6.4890769 - 2760 1.9339551 1.9913779 0.42150554 6.4159805 - 2770 1.9597826 2.0220988 0.42487614 6.3232273 - 2780 1.9753466 2.0414907 0.42771704 6.2715489 - 2790 1.9720423 2.0402016 0.42976012 6.2949288 - 2800 1.9512893 2.0172711 0.43109201 6.3878056 - 2810 1.9232302 1.9870212 0.4320928 6.5101822 - 2820 1.9026913 1.959286 0.43326424 6.6024967 - 2830 1.9033802 1.9621601 0.43500785 6.6114274 - 2840 1.9214292 1.9833838 0.43733454 6.5508757 - 2850 1.9440563 2.0087358 0.43995473 6.4713496 - 2860 1.9589136 2.0211107 0.44250821 6.4232961 - 2870 1.9588429 2.022232 0.44477492 6.4355861 - 2880 1.9456751 2.0009513 0.44676532 6.5021746 - 2890 1.9269155 1.9782929 0.44877858 6.5926531 - 2900 1.9125262 1.9554653 0.45121196 6.6657808 - 2910 1.9187855 1.9572583 0.45438665 6.6589954 - 2920 1.9416112 1.9784518 0.45839212 6.5888253 - 2930 1.9613579 1.9975032 0.46305788 6.5317424 - 2940 1.9711529 2.0102501 0.46812715 6.5148943 - 2950 1.9707865 2.0133283 0.47345305 6.5389543 - 2960 1.9732526 2.0170219 0.47898306 6.5537092 - 2970 1.9871126 2.0282309 0.48465048 6.5273492 - 2980 1.9953449 2.0404164 0.49032615 6.5227325 - 2990 1.9909136 2.037246 0.49581423 6.5664662 - 3000 1.9872474 2.0307896 0.5011051 6.6060698 - 3010 1.9944885 2.0457308 0.5062755 6.6031811 - 3020 2.0103461 2.0599491 0.51116655 6.5654871 - 3030 2.0240275 2.077342 0.5154921 6.5358852 - 3040 2.0205953 2.0704954 0.51898871 6.5708937 - 3050 2.0032184 2.0463036 0.52167438 6.657741 - 3060 1.9889341 2.0265284 0.52385964 6.7329171 - 3070 1.9795143 2.0201081 0.52588914 6.7881407 - 3080 1.9713362 2.0123964 0.52797238 6.8362858 - 3090 1.9692592 2.0106467 0.53025538 6.8616268 - 3100 1.9722487 2.0259566 0.53277635 6.8689898 - 3110 1.9703322 2.0314028 0.53541462 6.895271 - 3120 1.9594359 2.0217586 0.53808512 6.954362 - 3130 1.9524729 2.0148628 0.5409094 6.9965233 - 3140 1.9630381 2.0260807 0.54400259 6.968082 - 3150 1.9902598 2.0549364 0.54720142 6.8698796 - 3160 2.029715 2.0923999 0.54995378 6.7193678 - 3170 2.0581544 2.1137995 0.55150021 6.6053728 - 3180 2.0590739 2.1156535 0.55123668 6.5919337 - 3190 2.0400682 2.0904721 0.54894762 6.6505757 - 3200 2.0211594 2.0682597 0.54484887 6.7046468 - 3210 2.012712 2.0573114 0.53922056 6.7130909 - 3220 2.0102377 2.0554701 0.53219251 6.6919068 - 3230 2.0017671 2.0505068 0.52386898 6.6867054 - 3240 1.9854941 2.0308454 0.51458791 6.7051085 - 3250 1.9767009 2.0187664 0.50486784 6.6916859 - 3260 1.9771733 2.0186148 0.49510721 6.6424305 - 3270 1.974003 2.0136039 0.48556818 6.6078903 - 3280 1.9627665 1.9989122 0.47654147 6.6067904 - 3290 1.9491247 1.9826247 0.46834865 6.6186709 - 3300 1.9414093 1.9724941 0.4612122 6.6119543 - 3310 1.9433901 1.9715482 0.45518879 6.570612 - 3320 1.9518837 1.9872717 0.45010165 6.5057947 - 3330 1.9603874 1.9957995 0.44566728 6.4428221 - 3340 1.9615962 1.9945224 0.44167201 6.4099339 - 3350 1.955918 1.9882866 0.4380303 6.4070811 - 3360 1.9463445 1.9763654 0.43480086 6.4241178 - 3370 1.9411187 1.9683081 0.4320639 6.4296577 - 3380 1.9407224 1.9580074 0.42991627 6.4210217 - 3390 1.9402479 1.9530447 0.42850635 6.4170536 - 3400 1.9451337 1.9555771 0.42787382 6.3990336 - 3410 1.9475586 1.9612432 0.42797178 6.3953251 - 3420 1.9434927 1.960532 0.4286887 6.4210681 - 3430 1.9339054 1.9516935 0.43003682 6.4707071 - 3440 1.9234014 1.9464343 0.43214965 6.5248205 - 3450 1.9191846 1.9444777 0.43516361 6.5558451 - 3460 1.923218 1.9594606 0.43915611 6.5549213 - 3470 1.9328953 1.9792053 0.44397878 6.5327637 - 3480 1.9466227 1.9997841 0.44940599 6.4954965 - 3490 1.9672374 2.0323219 0.45511091 6.4358811 - 3500 1.9799622 2.0479841 0.46061029 6.4100217 - 3510 1.97942 2.0493411 0.46551964 6.4368108 - 3520 1.9725674 2.0389602 0.46976379 6.4892049 - 3530 1.9716429 2.0389798 0.47344292 6.5200899 - 3540 1.9789254 2.0486162 0.47659268 6.5198212 - 3550 1.9872455 2.0577517 0.47908145 6.5144586 - 3560 1.9808834 2.0545963 0.48076562 6.5633282 - 3570 1.9637165 2.0335394 0.4816783 6.6519124 - 3580 1.9407948 2.0067763 0.48212406 6.7605224 - 3590 1.9226532 1.9825887 0.482523 6.8486041 - 3600 1.9135067 1.9700999 0.48328349 6.8977859 - 3610 1.9157516 1.9720028 0.48470695 6.8977759 - 3620 1.9328644 2.0001154 0.48688778 6.8361569 - 3630 1.9568208 2.0243053 0.48963934 6.7442107 - 3640 1.9824587 2.0569223 0.49259174 6.6452535 - 3650 1.9934906 2.0686357 0.49529039 6.6020218 - 3660 1.9996281 2.0747054 0.49732231 6.5808905 - 3670 2.0038801 2.0772777 0.49838834 6.5691351 - 3680 1.9941342 2.0712365 0.49826732 6.6088108 - 3690 1.9762631 2.0486045 0.49689109 6.6739003 - 3700 1.9667284 2.034939 0.49438991 6.7010266 - 3710 1.9615089 2.0168112 0.49093736 6.7040385 - 3720 1.9613068 2.014749 0.48673789 6.6813041 - 3730 1.9731234 2.0290151 0.48175562 6.6096756 - 3740 1.9829764 2.0461907 0.47575174 6.5424752 - 3750 1.9792839 2.0454423 0.4685271 6.5237752 - 3760 1.9599692 2.0287015 0.46022485 6.5616271 - 3770 1.935975 2.0000948 0.45138017 6.6136471 - 3780 1.9236713 1.9834802 0.44262437 6.6187463 - 3790 1.9268004 1.9875324 0.43430113 6.5632772 - 3800 1.932601 1.9872595 0.42649564 6.4984765 - 3810 1.9322506 1.9814946 0.41928856 6.4617054 - 3820 1.9245737 1.9712821 0.4128224 6.461378 - 3830 1.9148568 1.9555602 0.40721003 6.4774474 - 3840 1.9049961 1.9457058 0.4026118 6.5029211 - 3850 1.8915137 1.9265199 0.39914962 6.5483592 - 3860 1.8784768 1.9058055 0.39700153 6.5962113 - 3870 1.8755236 1.9045158 0.39632769 6.6079033 - 3880 1.8841415 1.9140314 0.39710038 6.5777071 - 3890 1.8958027 1.9331148 0.39918951 6.5359786 - 3900 1.9064085 1.948805 0.40238576 6.4998591 - 3910 1.9185092 1.9675732 0.40647523 6.4610682 - 3920 1.9342595 1.9933225 0.41115392 6.4122308 - 3930 1.9482664 2.007614 0.41603495 6.373684 - 3940 1.9557759 2.0161573 0.42084462 6.3636707 - 3950 1.9573687 2.016612 0.42540421 6.3804123 - 3960 1.9486354 1.9998027 0.42974612 6.4404943 - 3970 1.936214 1.980721 0.43412037 6.5176787 - 3980 1.9274292 1.9595259 0.43885103 6.5846211 - 3990 1.9233082 1.953436 0.44425085 6.6354275 - 4000 1.9289165 1.9522097 0.45042645 6.6513836 -Loop time of 2.49114 on 1 procs for 2000 steps with 2775 atoms - -Performance: 69365.902 tau/day, 802.846 timesteps/s -98.9% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 1.4257 | 1.4257 | 1.4257 | 0.0 | 57.23 -Neigh | 0.15501 | 0.15501 | 0.15501 | 0.0 | 6.22 -Comm | 0.017206 | 0.017206 | 0.017206 | 0.0 | 0.69 -Output | 0.034183 | 0.034183 | 0.034183 | 0.0 | 1.37 -Modify | 0.81531 | 0.81531 | 0.81531 | 0.0 | 32.73 -Other | | 0.04374 | | | 1.76 - -Nlocal: 2775 ave 2775 max 2775 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 517 ave 517 max 517 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 24366 ave 24366 max 24366 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 24366 -Ave neighs/atom = 8.78054 -Neighbor list builds = 72 -Dangerous builds = 0 - -Please see the log.cite file for references relevant to this simulation - -Total wall time: 0:00:05 diff --git a/examples/PACKAGES/flow_gauss/log.6Jul17.GD.g++.4 b/examples/PACKAGES/flow_gauss/log.6Jul17.GD.g++.4 deleted file mode 100644 index 6171c0da5c..0000000000 --- a/examples/PACKAGES/flow_gauss/log.6Jul17.GD.g++.4 +++ /dev/null @@ -1,909 +0,0 @@ -LAMMPS (6 Jul 2017) - using 1 OpenMP thread(s) per MPI task -#LAMMPS input script -#in.GD -#see README for details - -############################################################################### -#initialize variables -clear - using 1 OpenMP thread(s) per MPI task - -#frequency for outputting info (timesteps) -variable dump_rate equal 50 -variable thermo_rate equal 10 - -#equilibration time (timesteps) -variable equil equal 1000 - -#stabilization time (timesteps to reach steady-state) -variable stabil equal 1000 - -#data collection time (timesteps) -variable run equal 2000 - -#length of pipe -variable L equal 30 - -#width of pipe -variable d equal 20 - -#flux (mass/sigma*tau) -variable J equal 0.1 - -#simulation box dimensions -variable Lx equal 100 -variable Ly equal 40 - -#bulk fluid density -variable dens equal 0.8 - -#lattice spacing for wall atoms -variable aWall equal 1.0 #1.7472 - -#timestep -variable ts equal 0.001 - -#temperature -variable T equal 2.0 - -#thermostat damping constant -variable tdamp equal ${ts}*100 -variable tdamp equal 0.001*100 - -units lj -dimension 2 -atom_style atomic - - -############################################################################### -#create box - -#create lattice with the spacing aWall -variable rhoWall equal ${aWall}^(-2) -variable rhoWall equal 1^(-2) -lattice sq ${rhoWall} -lattice sq 1 -Lattice spacing in x,y,z = 1 1 1 - -#modify input dimensions to be multiples of aWall -variable L1 equal round($L/${aWall})*${aWall} -variable L1 equal round(30/${aWall})*${aWall} -variable L1 equal round(30/1)*${aWall} -variable L1 equal round(30/1)*1 -variable d1 equal round($d/${aWall})*${aWall} -variable d1 equal round(20/${aWall})*${aWall} -variable d1 equal round(20/1)*${aWall} -variable d1 equal round(20/1)*1 -variable Ly1 equal round(${Ly}/${aWall})*${aWall} -variable Ly1 equal round(40/${aWall})*${aWall} -variable Ly1 equal round(40/1)*${aWall} -variable Ly1 equal round(40/1)*1 -variable Lx1 equal round(${Lx}/${aWall})*${aWall} -variable Lx1 equal round(100/${aWall})*${aWall} -variable Lx1 equal round(100/1)*${aWall} -variable Lx1 equal round(100/1)*1 - -#create simulation box -variable lx2 equal ${Lx1}/2 -variable lx2 equal 100/2 -variable ly2 equal ${Ly1}/2 -variable ly2 equal 40/2 -region simbox block -${lx2} ${lx2} -${ly2} ${ly2} 0 0.1 units box -region simbox block -50 ${lx2} -${ly2} ${ly2} 0 0.1 units box -region simbox block -50 50 -${ly2} ${ly2} 0 0.1 units box -region simbox block -50 50 -20 ${ly2} 0 0.1 units box -region simbox block -50 50 -20 20 0 0.1 units box -create_box 2 simbox -Created orthogonal box = (-50 -20 0) to (50 20 0.1) - 4 by 1 by 1 MPI processor grid - -##################################################################### -#set up potential - -mass 1 1.0 #fluid atoms -mass 2 1.0 #wall atoms - -pair_style lj/cut 2.5 -pair_modify shift yes -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 1.12246 -pair_coeff 2 2 0.0 0.0 - -neigh_modify exclude type 2 2 - -timestep ${ts} -timestep 0.001 - -##################################################################### -#create atoms - -#create wall atoms everywhere -create_atoms 2 box -Created 4000 atoms - -#define region which is "walled off" -variable dhalf equal ${d1}/2 -variable dhalf equal 20/2 -variable Lhalf equal ${L1}/2 -variable Lhalf equal 30/2 -region walltop block -${Lhalf} ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box -region walltop block -15 ${Lhalf} ${dhalf} EDGE -0.1 0.1 units box -region walltop block -15 15 ${dhalf} EDGE -0.1 0.1 units box -region walltop block -15 15 10 EDGE -0.1 0.1 units box -region wallbot block -${Lhalf} ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box -region wallbot block -15 ${Lhalf} EDGE -${dhalf} -0.1 0.1 units box -region wallbot block -15 15 EDGE -${dhalf} -0.1 0.1 units box -region wallbot block -15 15 EDGE -10 -0.1 0.1 units box -region outsidewall union 2 walltop wallbot side out - -#remove wall atoms outside wall region -group outside region outsidewall -3349 atoms in group outside -delete_atoms group outside -Deleted 3349 atoms, new total = 651 - -#remove wall atoms that aren't on edge of wall region -variable x1 equal ${Lhalf}-${aWall} -variable x1 equal 15-${aWall} -variable x1 equal 15-1 -variable y1 equal ${dhalf}+${aWall} -variable y1 equal 10+${aWall} -variable y1 equal 10+1 -region insideTop block -${x1} ${x1} ${y1} EDGE -0.1 0.1 units box -region insideTop block -14 ${x1} ${y1} EDGE -0.1 0.1 units box -region insideTop block -14 14 ${y1} EDGE -0.1 0.1 units box -region insideTop block -14 14 11 EDGE -0.1 0.1 units box -region insideBot block -${x1} ${x1} EDGE -${y1} -0.1 0.1 units box -region insideBot block -14 ${x1} EDGE -${y1} -0.1 0.1 units box -region insideBot block -14 14 EDGE -${y1} -0.1 0.1 units box -region insideBot block -14 14 EDGE -11 -0.1 0.1 units box -region insideWall union 2 insideTop insideBot -group insideWall region insideWall -551 atoms in group insideWall -delete_atoms group insideWall -Deleted 551 atoms, new total = 100 - -#define new lattice, to give correct fluid density -#y lattice const must be a multiple of aWall -variable atrue equal ${dens}^(-1/2) -variable atrue equal 0.8^(-1/2) -variable ay equal round(${atrue}/${aWall})*${aWall} -variable ay equal round(1.11803398874989/${aWall})*${aWall} -variable ay equal round(1.11803398874989/1)*${aWall} -variable ay equal round(1.11803398874989/1)*1 - -#choose x lattice const to give correct density -variable ax equal (${ay}*${dens})^(-1) -variable ax equal (1*${dens})^(-1) -variable ax equal (1*0.8)^(-1) - -#change Lx to be multiple of ax -variable Lx1 equal round(${Lx}/${ax})*${ax} -variable Lx1 equal round(100/${ax})*${ax} -variable Lx1 equal round(100/1.25)*${ax} -variable Lx1 equal round(100/1.25)*1.25 -variable lx2 equal ${Lx1}/2 -variable lx2 equal 100/2 -change_box all x final -${lx2} ${lx2} units box -change_box all x final -50 ${lx2} units box -change_box all x final -50 50 units box - orthogonal box = (-50 -20 0) to (50 20 0.1) - -#define new lattice -lattice custom ${dens} a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 -lattice custom 0.8 a1 ${ax} 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 -lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 ${ay} 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 -lattice custom 0.8 a1 1.25 0.0 0.0 a2 0.0 1 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 -Lattice spacing in x,y,z = 1.25 1 1 - -#fill in rest of box with bulk particles -variable delta equal 0.001 -variable Ldelt equal ${Lhalf}+${delta} -variable Ldelt equal 15+${delta} -variable Ldelt equal 15+0.001 -variable dDelt equal ${dhalf}-${delta} -variable dDelt equal 10-${delta} -variable dDelt equal 10-0.001 -region left block EDGE -${Ldelt} EDGE EDGE -0.1 0.1 units box -region left block EDGE -15.001 EDGE EDGE -0.1 0.1 units box -region right block ${Ldelt} EDGE EDGE EDGE -0.1 0.1 units box -region right block 15.001 EDGE EDGE EDGE -0.1 0.1 units box -region pipe block -${Ldelt} ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box -region pipe block -15.001 ${Ldelt} -${dDelt} ${dDelt} -0.1 0.1 units box -region pipe block -15.001 15.001 -${dDelt} ${dDelt} -0.1 0.1 units box -region pipe block -15.001 15.001 -9.999 ${dDelt} -0.1 0.1 units box -region pipe block -15.001 15.001 -9.999 9.999 -0.1 0.1 units box - -region bulk union 3 left pipe right -create_atoms 1 region bulk -Created 2675 atoms - -group bulk type 1 -2675 atoms in group bulk -group wall type 2 -100 atoms in group wall - -#remove atoms that are too close to wall -delete_atoms overlap 0.9 bulk wall -Neighbor list info ... - update every 1 steps, delay 10 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 = 72 29 1 - 2 neighbor lists, perpetual/occasional/extra = 1 1 0 - (1) command delete_atoms, occasional - attributes: full, newton on - pair build: full/bin/atomonly - stencil: full/bin/2d - bin: standard - (2) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/atomonly/newton - stencil: half/bin/2d/newton - bin: standard -Deleted 0 atoms, new total = 2775 - -neighbor 0.3 bin -neigh_modify delay 0 every 1 check yes -neigh_modify exclude group wall wall - -velocity bulk create $T 78915 dist gaussian rot yes mom yes loop geom -velocity bulk create 2 78915 dist gaussian rot yes mom yes loop geom - -##################################################################### -#set up PUT -#see Evans and Morriss, Phys. Rev. Lett. 56(20) 1986, p. 2172 - -#average number of particles per box, Evans and Morriss used 2.0 -variable NperBox equal 8.0 - -#calculate box sizes -variable boxSide equal sqrt(${NperBox}/${dens}) -variable boxSide equal sqrt(8/${dens}) -variable boxSide equal sqrt(8/0.8) -variable nX equal round(lx/${boxSide}) -variable nX equal round(lx/3.16227766016838) -variable nY equal round(ly/${boxSide}) -variable nY equal round(ly/3.16227766016838) -variable dX equal lx/${nX} -variable dX equal lx/32 -variable dY equal ly/${nY} -variable dY equal ly/13 - -#temperature of fluid (excluding wall) -compute myT bulk temp - -#profile-unbiased temperature of fluid -compute myTp bulk temp/profile 1 1 0 xy ${nX} ${nY} -compute myTp bulk temp/profile 1 1 0 xy 32 ${nY} -compute myTp bulk temp/profile 1 1 0 xy 32 13 - -#thermo setup -thermo ${thermo_rate} -thermo 10 -thermo_style custom step c_myT c_myTp etotal press - -#dump initial configuration -# dump 55 all custom 1 all.init.lammpstrj id type x y z vx vy vz -# dump 56 wall custom 1 wall.init.lammpstrj id type x y z -# dump_modify 55 sort id -# dump_modify 56 sort id -run 0 -WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) -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 = 72 29 1 - 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/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.067 | 3.068 | 3.07 Mbytes -Step c_myT c_myTp TotEng Press - 0 2 2.0555109 0.77892922 7.3417096 -Loop time of 4.35114e-06 on 4 procs for 0 steps with 2775 atoms - -114.9% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0 | 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.351e-06 | | |100.00 - -Nlocal: 693.75 ave 800 max 578 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 266.25 ave 325 max 198 min -Histogram: 1 1 0 0 0 0 0 0 0 2 -Neighs: 6601.5 ave 8000 max 5147 min -Histogram: 2 0 0 0 0 0 0 0 0 2 - -Total # of neighbors = 26406 -Ave neighs/atom = 9.51568 -Neighbor list builds = 0 -Dangerous builds = 0 -# undump 55 -# undump 56 - -##################################################################### -#equilibrate without GD - -fix nvt bulk nvt temp $T $T ${tdamp} -fix nvt bulk nvt temp 2 $T ${tdamp} -fix nvt bulk nvt temp 2 2 ${tdamp} -fix nvt bulk nvt temp 2 2 0.1 -fix_modify nvt temp myTp -WARNING: Temperature for fix modify is not for group all (../fix_nh.cpp:1395) -fix 2 bulk enforce2d - -run ${equil} -run 1000 -Per MPI rank memory allocation (min/avg/max) = 3.13 | 3.131 | 3.132 Mbytes -Step c_myT c_myTp TotEng Press - 0 2 2.0555109 0.77892922 7.3417096 - 10 1.9173594 1.9390034 0.77876976 7.6702228 - 20 1.7033394 1.6974676 0.77977799 8.5614784 - 30 1.5026161 1.4723993 0.78456655 9.4308258 - 40 1.4880481 1.4591602 0.79486693 9.6134304 - 50 1.6192437 1.6150635 0.81109069 9.2592835 - 60 1.7404087 1.7583444 0.82955456 8.952392 - 70 1.7757591 1.8006606 0.8452778 8.9717917 - 80 1.7573847 1.7813629 0.85769389 9.1936368 - 90 1.7491183 1.7726908 0.86882429 9.3712357 - 100 1.7798944 1.8079583 0.88029084 9.3871755 - 110 1.8440582 1.8793133 0.89259397 9.2582848 - 120 1.9191606 1.9673434 0.90533438 9.0680574 - 130 1.9883299 2.0484299 0.91755461 8.88117 - 140 2.0463366 2.1111872 0.92818114 8.7184178 - 150 2.0953769 2.167849 0.93639789 8.5713408 - 160 2.1442147 2.2216228 0.94145082 8.4082835 - 170 2.1797848 2.2631458 0.94246877 8.2767903 - 180 2.1863476 2.2700986 0.93873326 8.2311689 - 190 2.1832866 2.2710551 0.93003012 8.1959062 - 200 2.1937154 2.2868403 0.91642537 8.0842007 - 210 2.2022708 2.2915142 0.89824533 7.9575312 - 220 2.1884715 2.2770564 0.87677613 7.9000591 - 230 2.1671124 2.2496063 0.85409501 7.8673156 - 240 2.1560417 2.2379998 0.83167878 7.8003228 - 250 2.1421449 2.2240624 0.81004723 7.7491508 - 260 2.1172164 2.1971044 0.78931978 7.7457415 - 270 2.0856847 2.1672998 0.76956352 7.7719788 - 280 2.0670685 2.1449303 0.75073364 7.7524614 - 290 2.0639481 2.1428374 0.73258016 7.6727716 - 300 2.055776 2.1361719 0.7147669 7.6095248 - 310 2.038425 2.1209353 0.69722853 7.5797085 - 320 2.0203023 2.1066031 0.68006634 7.5521081 - 330 2.0118478 2.1039797 0.66330302 7.4877535 - 340 2.0159442 2.1096258 0.64673694 7.3761703 - 350 2.0166408 2.1075061 0.63020017 7.2788 - 360 2.0059407 2.0806316 0.61387618 7.2263941 - 370 1.9964281 2.0642074 0.59814148 7.1728041 - 380 1.9918446 2.0567527 0.58303017 7.101597 - 390 1.992835 2.0548138 0.56852431 7.0084774 - 400 2.0012934 2.0615016 0.55438401 6.8865948 - 410 2.0084291 2.073418 0.54034073 6.7697478 - 420 2.007464 2.0786717 0.52617041 6.6849032 - 430 1.9983712 2.0704366 0.51188183 6.6323103 - 440 1.9884651 2.0588515 0.49765394 6.5868356 - 450 1.982221 2.0467396 0.4837102 6.5311681 - 460 1.9738673 2.031238 0.47021649 6.4882783 - 470 1.9574246 2.0060447 0.45740021 6.4814923 - 480 1.9361065 1.9734507 0.44557947 6.4995199 - 490 1.9251024 1.9562469 0.43506067 6.4858343 - 500 1.9279545 1.9572145 0.42577835 6.4274765 - 510 1.9267504 1.9570246 0.41755013 6.3927027 - 520 1.9093405 1.9393872 0.41031829 6.4281888 - 530 1.8820555 1.9060756 0.40432569 6.5099401 - 540 1.86537 1.8912682 0.3999087 6.55843 - 550 1.8694252 1.9043192 0.39717519 6.5337875 - 560 1.8835224 1.9294105 0.39589322 6.4760141 - 570 1.8898719 1.9462433 0.39573596 6.4520041 - 580 1.8887698 1.9472764 0.39649878 6.4602989 - 590 1.8945125 1.9550624 0.39810844 6.4470226 - 600 1.9106571 1.9735939 0.40045321 6.3971026 - 610 1.9273243 1.98509 0.40330026 6.3474421 - 620 1.9351802 1.9888986 0.4064498 6.3340566 - 630 1.9337889 1.9846794 0.40981479 6.3610556 - 640 1.9257018 1.9757153 0.4134641 6.4184721 - 650 1.9204429 1.9718256 0.41750942 6.4679594 - 660 1.9220449 1.9701963 0.42202455 6.4919724 - 670 1.9230578 1.9707406 0.4270412 6.5178484 - 680 1.9204554 1.9740485 0.43255127 6.5572507 - 690 1.9201811 1.9762854 0.43847123 6.5869126 - 700 1.9271511 1.9867455 0.44474356 6.5882669 - 710 1.9418851 2.0042477 0.45120727 6.558573 - 720 1.9544547 2.0186724 0.4576061 6.5338329 - 730 1.9687971 2.0326169 0.46367507 6.4988775 - 740 1.9830308 2.0466267 0.46920367 6.4618136 - 750 1.9936981 2.0526606 0.47397868 6.4367349 - 760 2.0008431 2.0535449 0.47786748 6.4249001 - 770 1.9982133 2.0483219 0.48085757 6.4504786 - 780 1.9841544 2.0311693 0.48306488 6.5200512 - 790 1.9683122 2.0158738 0.48475632 6.5959263 - 800 1.9604618 2.003224 0.48619405 6.6392559 - 810 1.9629155 2.0075077 0.48756075 6.6406486 - 820 1.9683056 2.0110554 0.48883443 6.6269424 - 830 1.975409 2.0189161 0.48995399 6.6030215 - 840 1.9897264 2.035016 0.4907852 6.5485575 - 850 2.0094338 2.0555358 0.49104505 6.4719926 - 860 2.0217589 2.0643603 0.49040437 6.4233305 - 870 2.0147718 2.0641627 0.48866908 6.4491964 - 880 1.9883859 2.0324092 0.48592007 6.5488061 - 890 1.9625853 2.0028776 0.48263002 6.6452734 - 900 1.9520401 1.9889124 0.47925524 6.6808078 - 910 1.9559583 1.9952984 0.47597346 6.6573059 - 920 1.9657244 2.0083503 0.47268726 6.6073704 - 930 1.969288 2.0152339 0.4692054 6.5780416 - 940 1.9652206 2.0116384 0.4654438 6.5769812 - 950 1.9567495 1.9960693 0.46147541 6.5942022 - 960 1.9418452 1.980858 0.45753557 6.6369454 - 970 1.9247196 1.9585585 0.45390337 6.6888821 - 980 1.9128262 1.9481721 0.45090045 6.7198221 - 990 1.9167211 1.9451096 0.44869731 6.6912394 - 1000 1.935529 1.9662384 0.44728238 6.6079829 -Loop time of 0.474418 on 4 procs for 1000 steps with 2775 atoms - -Performance: 182118.045 tau/day, 2107.848 timesteps/s -98.4% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.13953 | 0.19068 | 0.23764 | 10.4 | 40.19 -Neigh | 0.016439 | 0.022345 | 0.027069 | 3.2 | 4.71 -Comm | 0.018215 | 0.068071 | 0.12178 | 18.6 | 14.35 -Output | 0.011982 | 0.012633 | 0.013047 | 0.4 | 2.66 -Modify | 0.14494 | 0.15597 | 0.16628 | 2.4 | 32.88 -Other | | 0.02472 | | | 5.21 - -Nlocal: 693.75 ave 800 max 584 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 255.5 ave 323 max 192 min -Histogram: 2 0 0 0 0 0 0 0 1 1 -Neighs: 6083 ave 7384 max 4742 min -Histogram: 2 0 0 0 0 0 0 0 0 2 - -Total # of neighbors = 24332 -Ave neighs/atom = 8.76829 -Neighbor list builds = 38 -Dangerous builds = 0 - -##################################################################### -#initialize the COM velocity and run to achieve steady-state - -#calculate velocity to add: V=J/rho_total -variable Vadd equal $J*lx*ly/count(bulk) -variable Vadd equal 0.1*lx*ly/count(bulk) - -#first remove any COM velocity, then add back the streaming velocity -velocity bulk zero linear -velocity bulk set ${Vadd} 0.0 0.0 units box sum yes mom no -velocity bulk set 0.149532710280374 0.0 0.0 units box sum yes mom no - -fix GD bulk flow/gauss 1 0 0 #energy yes -#fix_modify GD energy yes - -run ${stabil} -run 1000 -Per MPI rank memory allocation (min/avg/max) = 3.13 | 3.131 | 3.132 Mbytes -Step c_myT c_myTp TotEng Press - 1000 1.9466974 1.9662384 0.45804438 6.615449 - 1010 1.9605467 1.9815754 0.45717241 6.5545496 - 1020 1.9560139 1.9823875 0.45660431 6.5672421 - 1030 1.9348326 1.9691606 0.45633148 6.6463667 - 1040 1.9167809 1.9449522 0.45657707 6.7139486 - 1050 1.9193541 1.943342 0.45767968 6.7014054 - 1060 1.9410751 1.9720491 0.45967742 6.6150379 - 1070 1.9658493 1.9964883 0.46221539 6.5178418 - 1080 1.9767205 2.0074304 0.46491236 6.4768594 - 1090 1.9714544 2.0003054 0.46759126 6.5026957 - 1100 1.9647035 1.9927455 0.4703109 6.5400181 - 1110 1.9657667 1.9959656 0.47317481 6.5519094 - 1120 1.9706062 1.9980802 0.476185 6.5512675 - 1130 1.9747655 2.0062292 0.47932281 6.554091 - 1140 1.9761245 2.0075076 0.48248327 6.5670381 - 1150 1.9744197 2.0073027 0.48562483 6.5914441 - 1160 1.9722698 2.0046687 0.48874207 6.6165575 - 1170 1.9692145 2.0013845 0.49187442 6.6438115 - 1180 1.9665609 1.9970724 0.49508053 6.6693821 - 1190 1.9625031 1.9908427 0.49843816 6.7002606 - 1200 1.960528 1.993084 0.50203044 6.7237076 - 1210 1.9649156 1.9981485 0.50587066 6.7217755 - 1220 1.9788059 2.0134511 0.50987442 6.6833452 - 1230 1.9952283 2.0343101 0.51379781 6.6340278 - 1240 2.0039391 2.0494196 0.51730872 6.6129751 - 1250 2.0019006 2.0526773 0.52014603 6.6320217 - 1260 1.9974025 2.0528914 0.52221385 6.6601786 - 1270 1.9953949 2.0561121 0.5234754 6.6796142 - 1280 1.9893864 2.0470375 0.5238632 6.7140134 - 1290 1.9694951 2.019253 0.5235093 6.798442 - 1300 1.9473901 1.9965919 0.52280384 6.8863369 - 1310 1.9511151 2.006161 0.52203882 6.8700917 - 1320 1.979341 2.0388959 0.52106938 6.7529595 - 1330 2.0073235 2.0720045 0.51935291 6.6297731 - 1340 2.0202482 2.0841419 0.51624273 6.55803 - 1350 2.0177489 2.0669046 0.51142591 6.5401753 - 1360 2.0069274 2.04717 0.50505824 6.5506533 - 1370 1.994854 2.0311383 0.49743042 6.5633001 - 1380 1.9793176 2.0077184 0.48890503 6.5859072 - 1390 1.9580907 1.9839831 0.48004316 6.6288992 - 1400 1.9415542 1.9594192 0.47143599 6.6534105 - 1410 1.9405188 1.9591825 0.46353105 6.620549 - 1420 1.9504784 1.9730647 0.45640199 6.5471784 - 1430 1.9594158 1.9819854 0.44995052 6.4802874 - 1440 1.9615108 1.9863792 0.44406411 6.44391 - 1450 1.9544127 1.9806249 0.43873409 6.4484818 - 1460 1.9384927 1.9614953 0.43408605 6.4905259 - 1470 1.9214711 1.9425515 0.43035972 6.5390434 - 1480 1.9170761 1.9300809 0.42775046 6.5409502 - 1490 1.9242904 1.9385731 0.42631007 6.5005057 - 1500 1.9307133 1.9446119 0.4258836 6.4660754 - 1510 1.9303576 1.9435389 0.42633976 6.4616415 - 1520 1.9248382 1.9408306 0.42765441 6.4832059 - 1530 1.9120794 1.9278123 0.42986958 6.5380951 - 1540 1.899122 1.9125029 0.4331459 6.5987181 - 1550 1.9030956 1.9187821 0.43765067 6.6012019 - 1560 1.9182961 1.9453782 0.44330842 6.5674222 - 1570 1.9272863 1.9613129 0.44971962 6.5619794 - 1580 1.931679 1.9698134 0.45643436 6.5780809 - 1590 1.9336692 1.9728684 0.46314752 6.6035675 - 1600 1.938895 1.9823104 0.46964519 6.6138411 - 1610 1.9510838 1.9937914 0.47568807 6.5916989 - 1620 1.9685387 2.0087314 0.48102339 6.5424432 - 1630 1.9894416 2.0295715 0.48539861 6.4757743 - 1640 1.9982699 2.0426949 0.48860411 6.4512418 - 1650 1.9901677 2.0363837 0.49062424 6.4879985 - 1660 1.9814216 2.0291326 0.49172203 6.5248034 - 1670 1.9812111 2.0293629 0.49218297 6.5253876 - 1680 1.9903906 2.0408376 0.49211747 6.4852787 - 1690 2.0015983 2.0538843 0.4914581 6.4325081 - 1700 2.009727 2.0503407 0.49011163 6.3878577 - 1710 2.0167822 2.0531002 0.4881688 6.3477054 - 1720 2.0189021 2.0445033 0.48564798 6.3273063 - 1730 2.0129713 2.0354734 0.48270666 6.3385541 - 1740 2.0048763 2.0199836 0.47950943 6.3587586 - 1750 1.9994843 2.0085942 0.47624908 6.3694119 - 1760 1.9940025 2.0072098 0.47305283 6.3816295 - 1770 1.9817431 1.9974066 0.46994486 6.4224295 - 1780 1.965171 1.9805421 0.4670779 6.4832371 - 1790 1.9474078 1.9662605 0.46466823 6.5516524 - 1800 1.9286009 1.9507751 0.46292015 6.6263366 - 1810 1.9168087 1.9437961 0.46199899 6.6759834 - 1820 1.9107555 1.9306323 0.46204129 6.7029857 - 1830 1.9135569 1.930819 0.46316484 6.6949737 - 1840 1.9345342 1.9553413 0.46532704 6.6178988 - 1850 1.9630349 1.9929548 0.46822932 6.5137866 - 1860 1.9820746 2.0188839 0.47135068 6.4489028 - 1870 1.9834959 2.0217145 0.47427805 6.4552721 - 1880 1.9731564 2.0120293 0.47692755 6.5100251 - 1890 1.9653605 2.0070624 0.47943307 6.5594235 - 1900 1.9630631 2.0095488 0.48192185 6.5912876 - 1910 1.9556778 2.0035006 0.48443107 6.6437189 - 1920 1.9408788 1.9828296 0.48710124 6.7228731 - 1930 1.9292393 1.9732376 0.49025327 6.7880112 - 1940 1.9263081 1.9708942 0.49416086 6.8162477 - 1950 1.9358375 1.976323 0.49899895 6.7946964 - 1960 1.9520543 1.9936542 0.50485961 6.7467481 - 1970 1.9709064 2.0108957 0.51165586 6.6909455 - 1980 1.9940026 2.0375428 0.51918913 6.6250463 - 1990 2.0171261 2.0646948 0.52705638 6.5649879 - 2000 2.0302713 2.0802515 0.53472229 6.5470853 -Loop time of 0.482133 on 4 procs for 1000 steps with 2775 atoms - -Performance: 179203.608 tau/day, 2074.116 timesteps/s -98.6% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.1081 | 0.18228 | 0.23471 | 12.7 | 37.81 -Neigh | 0.011443 | 0.019967 | 0.025651 | 4.1 | 4.14 -Comm | 0.01639 | 0.073615 | 0.15634 | 21.8 | 15.27 -Output | 0.011851 | 0.012603 | 0.013287 | 0.5 | 2.61 -Modify | 0.14306 | 0.16634 | 0.18018 | 3.6 | 34.50 -Other | | 0.02733 | | | 5.67 - -Nlocal: 693.75 ave 797 max 590 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 259 ave 320 max 195 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Neighs: 6101 ave 7360 max 4853 min -Histogram: 2 0 0 0 0 0 0 0 0 2 - -Total # of neighbors = 24404 -Ave neighs/atom = 8.79423 -Neighbor list builds = 36 -Dangerous builds = 0 - -##################################################################### -#collect data - -#print the applied force and total flux to ensure conservation of Jx -variable Fapp equal f_GD[1] -compute vxBulk bulk reduce sum vx -compute vyBulk bulk reduce sum vy -variable invVol equal 1.0/(lx*ly) -variable jx equal c_vxBulk*${invVol} -variable jx equal c_vxBulk*0.00025 -variable jy equal c_vyBulk*${invVol} -variable jy equal c_vyBulk*0.00025 -variable curr_step equal step -variable p_Fapp format Fapp %.3f -variable p_jx format jx %.5g -variable p_jy format jy %.5g -fix print_vCOM all print ${dump_rate} "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy" -fix print_vCOM all print 50 "${curr_step} ${p_Fapp} ${p_jx} ${p_jy}" file GD.out screen no title "timestep Fapp Jx Jy" - -#compute IK1 pressure profile -#see Todd, Evans, and Davis, Phys. Rev. E 52(2) 1995, p. 1627 -#use profile-unbiased temperature to remove the streaming velocity -#from the kinetic part of the pressure -compute spa bulk stress/atom myTp - -#for the pressure profile, use the same grid as the PUT -compute chunkX bulk chunk/atom bin/1d x lower ${dX} units box -compute chunkX bulk chunk/atom bin/1d x lower 3.125 units box - -#output pressure profile and other profiles -#the pressure profile is (-1/2V)*(c_spa[1] + c_spa[2]), where -#V is the volume of a slice -fix profiles bulk ave/chunk 1 1 ${dump_rate} chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite -fix profiles bulk ave/chunk 1 1 50 chunkX vx density/mass c_spa[1] c_spa[2] file x_profiles ave running overwrite - -#compute velocity profile across the pipe with a finer grid -variable dYnew equal ${dY}/10 -variable dYnew equal 3.07692307692308/10 -compute chunkY bulk chunk/atom bin/1d y center ${dYnew} units box region pipe -compute chunkY bulk chunk/atom bin/1d y center 0.307692307692308 units box region pipe -fix velYprof bulk ave/chunk 1 1 ${dump_rate} chunkY vx file Vy_profile ave running overwrite -fix velYprof bulk ave/chunk 1 1 50 chunkY vx file Vy_profile ave running overwrite - -#full trajectory -# dump 7 bulk custom ${dump_rate} bulk.lammpstrj id type x y z -# dump_modify 7 sort id - -run ${run} -run 2000 -Per MPI rank memory allocation (min/avg/max) = 5.138 | 5.139 | 5.14 Mbytes -Step c_myT c_myTp TotEng Press - 2000 2.0302713 2.0802515 0.53472229 6.5470853 - 2010 2.0303419 2.0806129 0.54177821 6.5808527 - 2020 2.0245167 2.0792991 0.54803523 6.6381758 - 2030 2.0169072 2.065404 0.55345227 6.7008962 - 2040 2.0052526 2.0513817 0.55818432 6.7755868 - 2050 1.9953625 2.0366564 0.56245299 6.8382569 - 2060 2.0003667 2.0462109 0.56649798 6.8390557 - 2070 2.0238288 2.0834553 0.57023651 6.7637821 - 2080 2.045765 2.1173867 0.5730944 6.6861321 - 2090 2.0563925 2.1370313 0.57430831 6.6422581 - 2100 2.0620437 2.1480293 0.57319824 6.6080678 - 2110 2.0584437 2.1473173 0.56913597 6.5969671 - 2120 2.0532825 2.1393006 0.56154606 6.5799417 - 2130 2.0450143 2.1234905 0.55009479 6.5616931 - 2140 2.0229537 2.1004507 0.53511912 6.5854627 - 2150 1.9832556 2.0554119 0.51812599 6.6700591 - 2160 1.9444027 2.0110758 0.50163049 6.7534263 - 2170 1.9267473 1.9904528 0.48759542 6.76469 - 2180 1.9262232 1.9809353 0.47662199 6.7188048 - 2190 1.9359331 1.9854626 0.46836289 6.6406985 - 2200 1.9530728 1.9971865 0.4620366 6.5409943 - 2210 1.9657099 2.0056761 0.45692542 6.4639397 - 2220 1.9661008 2.0046161 0.45253504 6.4388081 - 2230 1.9574696 1.9947839 0.44864257 6.4528687 - 2240 1.9522284 1.9922663 0.44518111 6.4584458 - 2250 1.9518203 1.9950044 0.44206844 6.4491722 - 2260 1.9527908 1.9989603 0.4391804 6.4377912 - 2270 1.9452231 1.9932538 0.43643529 6.4607516 - 2280 1.9249341 1.9759145 0.43392742 6.5320897 - 2290 1.9087464 1.960985 0.43186869 6.5875176 - 2300 1.9103289 1.964731 0.43039882 6.5765021 - 2310 1.9182062 1.9783814 0.4294628 6.5434488 - 2320 1.9204281 1.9796609 0.42889381 6.5351629 - 2330 1.916279 1.9720659 0.42866391 6.5562619 - 2340 1.9062866 1.9587628 0.42890166 6.6033936 - 2350 1.9024117 1.9566812 0.42979475 6.6297969 - 2360 1.908153 1.960687 0.43141898 6.6215148 - 2370 1.9115944 1.9663337 0.43376668 6.6236491 - 2380 1.9086193 1.9637867 0.4367911 6.6529568 - 2390 1.9039907 1.9610268 0.44053991 6.6926343 - 2400 1.9034944 1.9609406 0.44508818 6.7193441 - 2410 1.9151521 1.9753641 0.4504458 6.7015957 - 2420 1.9314517 1.9925924 0.45644382 6.6669864 - 2430 1.9433933 2.0062001 0.46277215 6.6481527 - 2440 1.9504631 2.0087015 0.46917209 6.6475757 - 2450 1.9550092 2.0094957 0.47550077 6.6556459 - 2460 1.9609689 2.0147997 0.48170141 6.6568282 - 2470 1.9730726 2.0328127 0.48763131 6.6337545 - 2480 1.9838562 2.0466643 0.49303443 6.6143423 - 2490 1.9862031 2.0473388 0.49767532 6.6245587 - 2500 1.9817565 2.0455432 0.50152131 6.6573893 - 2510 1.9785788 2.0423176 0.50460561 6.6808042 - 2520 1.9823006 2.0505106 0.50696374 6.6726698 - 2530 1.9907178 2.0553736 0.50852885 6.6402082 - 2540 2.0005205 2.0690408 0.50919421 6.5966469 - 2550 2.0079727 2.0809816 0.50872954 6.5568419 - 2560 2.0133128 2.096271 0.50682742 6.5199915 - 2570 2.0141298 2.0990846 0.50314491 6.4951991 - 2580 2.0048768 2.0874319 0.49750096 6.5025454 - 2590 1.9876498 2.0638834 0.4900201 6.5333038 - 2600 1.9720479 2.0474479 0.48105263 6.5527157 - 2610 1.9596324 2.0355764 0.4710001 6.5547867 - 2620 1.9439039 2.0106405 0.46046644 6.5646889 - 2630 1.9321714 1.9924346 0.45021207 6.5589454 - 2640 1.9349378 1.9923889 0.44082833 6.5012762 - 2650 1.9448459 2.0069955 0.43251999 6.4228945 - 2660 1.9446852 2.0050346 0.42525857 6.3921645 - 2670 1.9325594 1.9884937 0.41913362 6.4169726 - 2680 1.9121687 1.9606084 0.41434428 6.4821267 - 2690 1.8923613 1.9339385 0.41105831 6.5517615 - 2700 1.8807238 1.9191801 0.40933203 6.5949447 - 2710 1.8797367 1.918758 0.40906826 6.6001309 - 2720 1.8852961 1.9225996 0.41005611 6.58191 - 2730 1.8937478 1.9357751 0.41204348 6.5541946 - 2740 1.9019279 1.9449374 0.41476104 6.5278575 - 2750 1.9134396 1.9614415 0.41800066 6.4890769 - 2760 1.9339551 1.9913779 0.42150554 6.4159805 - 2770 1.9597826 2.0220988 0.42487614 6.3232273 - 2780 1.9753466 2.0414907 0.42771704 6.2715489 - 2790 1.9720423 2.0402016 0.42976012 6.2949288 - 2800 1.9512893 2.0172711 0.43109201 6.3878056 - 2810 1.9232302 1.9870212 0.4320928 6.5101822 - 2820 1.9026913 1.959286 0.43326424 6.6024967 - 2830 1.9033802 1.9621601 0.43500785 6.6114274 - 2840 1.9214292 1.9833838 0.43733454 6.5508757 - 2850 1.9440563 2.0087358 0.43995473 6.4713496 - 2860 1.9589136 2.0211107 0.44250821 6.4232961 - 2870 1.9588429 2.022232 0.44477492 6.4355861 - 2880 1.9456751 2.0009513 0.44676532 6.5021746 - 2890 1.9269155 1.9782929 0.44877858 6.5926531 - 2900 1.9125262 1.9554653 0.45121196 6.6657808 - 2910 1.9187855 1.9572583 0.45438665 6.6589954 - 2920 1.9416112 1.9784518 0.45839212 6.5888253 - 2930 1.9613579 1.9975032 0.46305788 6.5317424 - 2940 1.9711529 2.0102501 0.46812715 6.5148943 - 2950 1.9707865 2.0133283 0.47345305 6.5389543 - 2960 1.9732526 2.0170219 0.47898306 6.5537092 - 2970 1.9871126 2.0282309 0.48465048 6.5273492 - 2980 1.9953449 2.0404164 0.49032615 6.5227325 - 2990 1.9909136 2.037246 0.49581423 6.5664662 - 3000 1.9872474 2.0307896 0.50110509 6.6060698 - 3010 1.9944885 2.0457308 0.5062755 6.6031811 - 3020 2.0103461 2.0599491 0.51116655 6.5654871 - 3030 2.0240275 2.077342 0.5154921 6.5358852 - 3040 2.0205953 2.0704954 0.51898871 6.5708937 - 3050 2.0032184 2.0463036 0.52167438 6.657741 - 3060 1.9889341 2.0265284 0.52385964 6.7329171 - 3070 1.9795143 2.0201081 0.52588914 6.7881407 - 3080 1.9713362 2.0123964 0.52797238 6.8362858 - 3090 1.9692592 2.0106467 0.53025538 6.8616268 - 3100 1.9722487 2.0259566 0.53277635 6.8689898 - 3110 1.9703322 2.0314028 0.53541462 6.895271 - 3120 1.9594359 2.0217586 0.53808512 6.954362 - 3130 1.9524729 2.0148628 0.5409094 6.9965233 - 3140 1.9630381 2.0260807 0.54400259 6.968082 - 3150 1.9902598 2.0549364 0.54720142 6.8698796 - 3160 2.029715 2.0923999 0.54995378 6.7193678 - 3170 2.0581544 2.1137995 0.55150021 6.6053728 - 3180 2.059074 2.1156535 0.55123668 6.5919337 - 3190 2.0400682 2.0904721 0.54894762 6.6505757 - 3200 2.0211594 2.0682597 0.54484887 6.7046468 - 3210 2.012712 2.0573114 0.53922057 6.7130909 - 3220 2.0102377 2.0554701 0.53219251 6.6919069 - 3230 2.0017671 2.0505068 0.52386898 6.6867054 - 3240 1.9854941 2.0308454 0.51458792 6.7051085 - 3250 1.9767009 2.0187664 0.50486785 6.6916859 - 3260 1.9771733 2.0186148 0.49510722 6.6424305 - 3270 1.974003 2.0136039 0.48556819 6.6078903 - 3280 1.9627665 1.9989122 0.47654147 6.6067904 - 3290 1.9491247 1.9826248 0.46834866 6.6186709 - 3300 1.9414093 1.9724941 0.4612122 6.6119543 - 3310 1.9433901 1.9715482 0.45518879 6.570612 - 3320 1.9518837 1.9872717 0.45010165 6.5057947 - 3330 1.9603874 1.9957995 0.44566728 6.4428221 - 3340 1.9615962 1.9945224 0.44167201 6.4099339 - 3350 1.955918 1.9882866 0.4380303 6.4070811 - 3360 1.9463445 1.9763654 0.43480086 6.4241178 - 3370 1.9411187 1.9683081 0.43206391 6.4296577 - 3380 1.9407224 1.9580074 0.42991627 6.4210217 - 3390 1.9402479 1.9530447 0.42850635 6.4170536 - 3400 1.9451337 1.9555771 0.42787382 6.3990336 - 3410 1.9475586 1.9612432 0.42797178 6.3953251 - 3420 1.9434927 1.960532 0.4286887 6.4210681 - 3430 1.9339054 1.9516935 0.43003682 6.4707071 - 3440 1.9234014 1.9464343 0.43214965 6.5248205 - 3450 1.9191846 1.9444777 0.43516361 6.5558451 - 3460 1.923218 1.9594606 0.43915611 6.5549213 - 3470 1.9328953 1.9792053 0.44397878 6.5327637 - 3480 1.9466227 1.9997841 0.44940599 6.4954965 - 3490 1.9672374 2.0323219 0.45511091 6.4358811 - 3500 1.9799622 2.0479841 0.46061029 6.4100217 - 3510 1.97942 2.0493411 0.46551964 6.4368108 - 3520 1.9725674 2.0389602 0.46976378 6.4892049 - 3530 1.9716429 2.0389798 0.47344292 6.5200899 - 3540 1.9789254 2.0486162 0.47659268 6.5198212 - 3550 1.9872455 2.0577517 0.47908145 6.5144586 - 3560 1.9808834 2.0545962 0.48076561 6.5633282 - 3570 1.9637165 2.0335394 0.4816783 6.6519124 - 3580 1.9407948 2.0067763 0.48212405 6.7605224 - 3590 1.9226532 1.9825887 0.48252299 6.8486041 - 3600 1.9135067 1.9700999 0.48328348 6.8977858 - 3610 1.9157516 1.9720028 0.48470695 6.8977759 - 3620 1.9328644 2.0001154 0.48688777 6.8361569 - 3630 1.9568208 2.0243053 0.48963933 6.7442107 - 3640 1.9824587 2.0569223 0.49259173 6.6452535 - 3650 1.9934906 2.0686356 0.49529038 6.6020218 - 3660 1.9996281 2.0747054 0.4973223 6.5808904 - 3670 2.0038801 2.0772777 0.49838833 6.5691351 - 3680 1.9941342 2.0712365 0.49826732 6.6088107 - 3690 1.9762631 2.0486045 0.49689108 6.6739002 - 3700 1.9667284 2.0349391 0.4943899 6.7010265 - 3710 1.9615089 2.0168112 0.49093735 6.7040384 - 3720 1.9613068 2.0147489 0.48673788 6.6813041 - 3730 1.9731234 2.0290151 0.48175561 6.6096757 - 3740 1.9829764 2.0461907 0.47575173 6.5424752 - 3750 1.9792839 2.0454423 0.46852709 6.5237753 - 3760 1.9599692 2.0287014 0.46022484 6.5616271 - 3770 1.935975 2.0000948 0.45138016 6.6136471 - 3780 1.9236713 1.9834802 0.44262435 6.6187463 - 3790 1.9268004 1.9875324 0.43430112 6.5632772 - 3800 1.932601 1.9872595 0.42649563 6.4984764 - 3810 1.9322506 1.9814946 0.41928855 6.4617054 - 3820 1.9245737 1.9712821 0.4128224 6.4613779 - 3830 1.9148568 1.9555602 0.40721003 6.4774474 - 3840 1.9049961 1.9457058 0.40261179 6.5029211 - 3850 1.8915137 1.9265199 0.39914961 6.5483592 - 3860 1.8784768 1.9058055 0.39700153 6.5962113 - 3870 1.8755236 1.9045158 0.39632768 6.6079033 - 3880 1.8841415 1.9140314 0.39710037 6.577707 - 3890 1.8958027 1.9331149 0.39918951 6.5359785 - 3900 1.9064085 1.948805 0.40238576 6.499859 - 3910 1.9185092 1.9675733 0.40647523 6.4610682 - 3920 1.9342595 1.9933225 0.41115392 6.4122308 - 3930 1.9482664 2.0076139 0.41603495 6.3736841 - 3940 1.9557759 2.0161573 0.42084462 6.3636708 - 3950 1.9573687 2.016612 0.42540421 6.3804124 - 3960 1.9486354 1.9998027 0.42974612 6.4404944 - 3970 1.936214 1.9807209 0.43412037 6.5176788 - 3980 1.9274292 1.9595259 0.43885103 6.5846212 - 3990 1.9233082 1.953436 0.44425085 6.6354276 - 4000 1.9289166 1.9522097 0.45042645 6.6513835 -Loop time of 0.998413 on 4 procs for 2000 steps with 2775 atoms - -Performance: 173074.634 tau/day, 2003.179 timesteps/s -98.9% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.25646 | 0.3672 | 0.47947 | 15.7 | 36.78 -Neigh | 0.027925 | 0.039163 | 0.050221 | 4.5 | 3.92 -Comm | 0.032807 | 0.14565 | 0.27684 | 25.4 | 14.59 -Output | 0.025572 | 0.032272 | 0.035355 | 2.2 | 3.23 -Modify | 0.31519 | 0.35781 | 0.375 | 4.1 | 35.84 -Other | | 0.05632 | | | 5.64 - -Nlocal: 693.75 ave 805 max 582 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 255.5 ave 312 max 199 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Neighs: 6091.5 ave 7423 max 4780 min -Histogram: 2 0 0 0 0 0 0 0 0 2 - -Total # of neighbors = 24366 -Ave neighs/atom = 8.78054 -Neighbor list builds = 72 -Dangerous builds = 0 - -Please see the log.cite file for references relevant to this simulation - -Total wall time: 0:00:01 diff --git a/examples/PACKAGES/phonon/2-1D-diatomic/data.pos b/examples/PACKAGES/phonon/2-1D-diatomic/data.pos index cba35b49c9..3ab4033aee 100644 --- a/examples/PACKAGES/phonon/2-1D-diatomic/data.pos +++ b/examples/PACKAGES/phonon/2-1D-diatomic/data.pos @@ -8,7 +8,7 @@ 0.00000000 64.00000000 xlo xhi 0.00000000 1.00000000 ylo yhi - 0.00000000 1.00000000 zlo zhi + -0.50000000 0.50000000 zlo zhi Atoms diff --git a/examples/PACKAGES/phonon/2-1D-diatomic/log.6Dec23.Ana.g++.1 b/examples/PACKAGES/phonon/2-1D-diatomic/log.6Dec23.Ana.g++.1 new file mode 100644 index 0000000000..e84bcf8dff --- /dev/null +++ b/examples/PACKAGES/phonon/2-1D-diatomic/log.6Dec23.Ana.g++.1 @@ -0,0 +1,20125 @@ +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-132-g9edf553332) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# 3D simple cubic lattice simulation +dimension 2 +boundary p f p + +units lj +atom_style bond +atom_modify sort 0 1. +bond_style harmonic +pair_style none +comm_modify cutoff 2.0 + +# geometry +read_data data.pos +Reading data file ... + orthogonal box = (0 0 -0.5) to (64 1 0.5) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 64 atoms + scanning bonds ... + 2 = max bonds/atom + reading bonds ... + 64 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.002 seconds + +# +neighbor 1.0 nsq +neigh_modify delay 0 check no + +#Langevin random seed +variable r equal 571101 + +#Langevin Temperature +variable t equal 0.005 + +# Langevin Damping variable +variable d equal 0.5 + +# Create velocities and equilibrate +compute MyTemp all temp/partial 1 0 0 +velocity all create $t 28711 mom yes rot yes dist gaussian temp MyTemp +velocity all create 0.005 28711 mom yes rot yes dist gaussian temp MyTemp +velocity all set NULL 0.0 0.0 units box +# +fix 1 all langevin $t $t $d $r +fix 1 all langevin 0.005 $t $d $r +fix 1 all langevin 0.005 0.005 $d $r +fix 1 all langevin 0.005 0.005 0.5 $r +fix 1 all langevin 0.005 0.005 0.5 571101 +fix_modify 1 temp MyTemp +fix 2 all setforce NULL 0. 0. +fix 3 all nve +fix 4 all phonon 10 50000 500000 map.in phonon sysdim 1 +fix_modify 4 temp MyTemp + +# 1 2 3 4 +thermo_style custom step temp pe etotal +thermo_modify temp MyTemp +thermo 100 + +# +run 2000000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix phonon command: doi:10.1016/j.cpc.2011.04.019 + +@Article{Kong11, + author = {L. T. Kong}, + title = {Phonon Dispersion Measured Directly from Molecular Dynamics Simulations}, + journal = {Comput.\ Phys.\ Commun.}, + year = 2011, + volume = 182, + pages = {2201--2207} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +WARNING: Communication cutoff 2 is shorter than a bond length based estimate of 2.5. This may lead to errors. (src/comm.cpp:723) +WARNING: Communication cutoff 2 is shorter than a bond length based estimate of 2.5. This may lead to errors. (src/comm.cpp:723) +WARNING: Inconsistent image flags (src/domain.cpp:815) +Per MPI rank memory allocation (min/avg/max) = 3.24 | 3.24 | 3.24 Mbytes + Step Temp PotEng TotEng + 0 0.005 0 0.0024609375 + 100 0.0043574392 0.00069805582 0.0028427329 + 200 0.0050747182 0.001248215 0.0037459279 + 300 0.0042939525 0.0012759486 0.0033893784 + 400 0.0047484976 0.001437393 0.0037745442 + 500 0.004627561 0.0016348645 0.0039124922 + 600 0.0053777922 0.0016710534 0.0043179355 + 700 0.0052695823 0.001835953 0.0044295755 + 800 0.0058609694 0.0019759698 0.0048606657 + 900 0.0041391777 0.0023023409 0.0043395924 + 1000 0.0056759231 0.0025899311 0.0053835496 + 1100 0.0040035566 0.0026989975 0.004669498 + 1200 0.0046087446 0.0024368196 0.004705186 + 1300 0.0044194669 0.0024664612 0.0046416676 + 1400 0.0073096222 0.001870287 0.0054679916 + 1500 0.0051897883 0.0017108961 0.004265245 + 1600 0.0044584884 0.001752323 0.0039467352 + 1700 0.005428529 0.0021271098 0.0047989639 + 1800 0.0051009277 0.0024399413 0.0049505541 + 1900 0.0051964843 0.0024877492 0.0050453939 + 2000 0.0055793788 0.0023282122 0.0050743127 + 2100 0.0056652876 0.0021449654 0.0049333492 + 2200 0.0038066338 0.0021519385 0.004025516 + 2300 0.0057120344 0.0023205208 0.0051319127 + 2400 0.0048840732 0.0021352142 0.004539094 + 2500 0.0046857988 0.0019440455 0.0042503371 + 2600 0.0040103298 0.002513002 0.0044868362 + 2700 0.0057128095 0.002876904 0.0056886774 + 2800 0.0046716608 0.0030252203 0.0053245534 + 2900 0.0051838165 0.0019962325 0.0045476421 + 3000 0.0069632545 0.0012651 0.0046923269 + 3100 0.0048263268 0.0019062765 0.0042817343 + 3200 0.0045447528 0.0022519705 0.004488841 + 3300 0.0046649601 0.0022379997 0.0045340347 + 3400 0.0044544129 0.0019164476 0.0041088539 + 3500 0.0039472772 0.0018036276 0.0037464281 + 3600 0.0046102247 0.0022598943 0.0045289892 + 3700 0.0044370266 0.0024312133 0.0046150624 + 3800 0.0051412618 0.0029112044 0.0054416692 + 3900 0.0061568023 0.0026148329 0.005645134 + 4000 0.006119091 0.0026007629 0.0056125029 + 4100 0.0064752671 0.0026929514 0.0058799969 + 4200 0.0065751558 0.0023915745 0.005627784 + 4300 0.0061381444 0.0022725727 0.0052936906 + 4400 0.0058224538 0.0022860937 0.0051518327 + 4500 0.0061726521 0.0026253408 0.005663443 + 4600 0.0039716434 0.0030400687 0.004994862 + 4700 0.0040469864 0.002831765 0.0048236411 + 4800 0.0048440766 0.0026333078 0.0050175017 + 4900 0.0052442362 0.0023348669 0.0049160145 + 5000 0.0051295286 0.0020219063 0.0045465961 + 5100 0.0057879072 0.0021999673 0.0050487028 + 5200 0.0051142738 0.0018998498 0.0044170315 + 5300 0.0057863143 0.0019625202 0.0048104717 + 5400 0.0058678081 0.0021442684 0.0050323302 + 5500 0.0058645814 0.0023505736 0.0052370472 + 5600 0.0030307183 0.0029662202 0.0044579019 + 5700 0.0055602694 0.0030961043 0.0058327995 + 5800 0.004501128 0.0024716441 0.004687043 + 5900 0.0060587191 0.0021550846 0.0051371104 + 6000 0.007430971 0.0021537443 0.0058111754 + 6100 0.0062865463 0.0024185097 0.0055126692 + 6200 0.0040867151 0.0027590127 0.0047704428 + 6300 0.0052219679 0.0025648111 0.0051349984 + 6400 0.0059641115 0.0027159368 0.005651398 + 6500 0.0055556193 0.0030946318 0.0058290382 + 6600 0.0040555581 0.0033636584 0.0053597534 + 6700 0.0045118142 0.0028218699 0.0050425285 + 6800 0.0058601637 0.0023227311 0.0052070304 + 6900 0.0039481052 0.0023341289 0.004277337 + 7000 0.0042144559 0.0023350045 0.0044093071 + 7100 0.0054929735 0.0020343767 0.0047379496 + 7200 0.0046609622 0.0021430473 0.0044371146 + 7300 0.004585171 0.0021899849 0.0044467487 + 7400 0.0054609862 0.002436333 0.0051241621 + 7500 0.0061609286 0.002218384 0.0052507161 + 7600 0.0069910986 0.0023618412 0.0058027725 + 7700 0.0049048939 0.0028163949 0.0052305224 + 7800 0.0059777828 0.0028555032 0.0057976932 + 7900 0.0056747441 0.0026868768 0.005479915 + 8000 0.0054592173 0.0026213233 0.0053082818 + 8100 0.0060248934 0.0024665402 0.0054319174 + 8200 0.0034740925 0.0022766833 0.0039865882 + 8300 0.0046311032 0.0020748438 0.0043542149 + 8400 0.0055686859 0.0025104548 0.0052512924 + 8500 0.0052091911 0.0031335015 0.0056974002 + 8600 0.0067050757 0.0031081221 0.0064082765 + 8700 0.005609584 0.003129452 0.0058904192 + 8800 0.0062972892 0.0029939671 0.0060934141 + 8900 0.0050003322 0.0033860259 0.0058471269 + 9000 0.0057945805 0.0027651923 0.0056172124 + 9100 0.0050460043 0.0025437242 0.0050273045 + 9200 0.0042363075 0.0024518661 0.0045369237 + 9300 0.0065605566 0.0021761918 0.0054052158 + 9400 0.0046266128 0.0027272818 0.0050044428 + 9500 0.005093908 0.0035739754 0.0060811332 + 9600 0.0056811868 0.0032402711 0.0060364802 + 9700 0.0054339481 0.0027984612 0.0054729825 + 9800 0.0046290197 0.0029933479 0.0052716935 + 9900 0.0040932968 0.0030192789 0.0050339484 + 10000 0.0046184332 0.0027902298 0.0050633649 + 10100 0.0054785105 0.0024845081 0.0051809625 + 10200 0.0036508441 0.0027718363 0.0045687361 + 10300 0.0058397664 0.0024143777 0.0052886377 + 10400 0.0061316511 0.0023004298 0.0053183519 + 10500 0.0063671891 0.002358583 0.0054924339 + 10600 0.0055673068 0.0024652813 0.0052054401 + 10700 0.0044767567 0.0022108097 0.0044142133 + 10800 0.0038516362 0.0021290553 0.0040247825 + 10900 0.0059622925 0.0014383539 0.0043729198 + 11000 0.0047015528 0.0017109579 0.0040250034 + 11100 0.0048324377 0.0022149034 0.0045933689 + 11200 0.0045895327 0.0023331633 0.0045920739 + 11300 0.0057685631 0.0023070843 0.005146299 + 11400 0.0057175293 0.0021263437 0.0049404401 + 11500 0.0042261386 0.0014448706 0.0035249232 + 11600 0.0040073938 0.0016123955 0.0035847846 + 11700 0.0052509295 0.0021014322 0.0046858741 + 11800 0.0046129007 0.0021548504 0.0044252624 + 11900 0.006252411 0.0019672111 0.0050445697 + 12000 0.0042706578 0.0022585261 0.0043604904 + 12100 0.0052386215 0.0021427965 0.0047211805 + 12200 0.0048033303 0.0020771704 0.0044413095 + 12300 0.0054123556 0.0021925501 0.0048564439 + 12400 0.0056958095 0.0024101247 0.005213531 + 12500 0.003936961 0.0025784348 0.0045161578 + 12600 0.005806319 0.0023774483 0.005235246 + 12700 0.0050246058 0.002138577 0.0046116252 + 12800 0.0046466499 0.002353937 0.00464096 + 12900 0.0040697576 0.0026153486 0.0046184324 + 13000 0.0051077455 0.0025926649 0.0051066334 + 13100 0.0059238162 0.0023754973 0.0052911256 + 13200 0.0050262601 0.0027866217 0.005260484 + 13300 0.0046837193 0.0028305953 0.0051358633 + 13400 0.0060702275 0.0026578378 0.0056455279 + 13500 0.0070941669 0.0028599331 0.0063515934 + 13600 0.0049383135 0.0027511174 0.0051816936 + 13700 0.0058137233 0.0022787622 0.0051402041 + 13800 0.0050900322 0.0023292658 0.004834516 + 13900 0.0056035425 0.0020847497 0.0048427433 + 14000 0.0048421321 0.0020643753 0.0044476122 + 14100 0.0040120734 0.0020900085 0.0040647008 + 14200 0.0059974558 0.0018489433 0.004800816 + 14300 0.0053519842 0.0020061349 0.0046403146 + 14400 0.0052577077 0.0021811748 0.0047689528 + 14500 0.0057442141 0.0024358113 0.0052630417 + 14600 0.0053705754 0.0023154331 0.0049587632 + 14700 0.0055287223 0.0023659441 0.0050871121 + 14800 0.0063853093 0.0020824722 0.0052252416 + 14900 0.0056650971 0.0021430137 0.0049313037 + 15000 0.0046222911 0.0026066063 0.0048816402 + 15100 0.0046457835 0.003285206 0.0055718026 + 15200 0.0040692184 0.0029406222 0.0049434406 + 15300 0.0065218196 0.0024823014 0.0056922595 + 15400 0.0061524606 0.002338872 0.0053670362 + 15500 0.0062325672 0.0025187092 0.0055863008 + 15600 0.0037374849 0.0029118315 0.0047513748 + 15700 0.0059601316 0.0031529096 0.0060864119 + 15800 0.0042898257 0.004230945 0.0063423436 + 15900 0.0054123635 0.0039736962 0.0066375938 + 16000 0.0040378221 0.0027442226 0.0047315882 + 16100 0.0041917268 0.0024148012 0.0044779167 + 16200 0.0042305682 0.0023259363 0.0044081691 + 16300 0.0040641612 0.0022020665 0.0042023958 + 16400 0.0060958857 0.0022393112 0.00523963 + 16500 0.0047586325 0.0025539716 0.004896111 + 16600 0.0037833567 0.0027341016 0.0045962225 + 16700 0.0060242296 0.0026077144 0.0055727649 + 16800 0.0047023675 0.002547006 0.0048614525 + 16900 0.0038554174 0.0029582913 0.0048558795 + 17000 0.006008217 0.0026384653 0.0055956347 + 17100 0.0067006887 0.002296129 0.0055941243 + 17200 0.0054133465 0.0019429878 0.0046073693 + 17300 0.0054890427 0.0016767747 0.0043784129 + 17400 0.0045449859 0.0014176576 0.0036546428 + 17500 0.0054955486 0.0017163541 0.0044211944 + 17600 0.0058078136 0.0020150777 0.004873611 + 17700 0.0049416351 0.002080061 0.004512272 + 17800 0.0038131568 0.0018465223 0.0037233104 + 17900 0.0052006166 0.0016009024 0.0041605809 + 18000 0.0034856127 0.0019176235 0.0036331985 + 18100 0.0050435836 0.0021592134 0.0046416022 + 18200 0.0050454556 0.0024104341 0.0048937443 + 18300 0.0043581658 0.0029787385 0.0051237732 + 18400 0.0053312898 0.0033614164 0.0059854106 + 18500 0.0048966937 0.0036187995 0.0060288909 + 18600 0.0048182169 0.00292895 0.0053004161 + 18700 0.0054267617 0.0025620849 0.0052330692 + 18800 0.0050943475 0.0026813135 0.0051886876 + 18900 0.0039869876 0.0032543936 0.005216739 + 19000 0.0043626198 0.0029896235 0.0051368504 + 19100 0.0045877519 0.002750391 0.0050084251 + 19200 0.006579538 0.0029501522 0.0061885185 + 19300 0.0056048184 0.0032254909 0.0059841125 + 19400 0.0053903909 0.0030408147 0.0056938977 + 19500 0.005771061 0.0028106681 0.0056511122 + 19600 0.0050787056 0.0032741651 0.0057738405 + 19700 0.0062354423 0.0039768846 0.0070458913 + 19800 0.0058671063 0.0038051942 0.0066929106 + 19900 0.0049825744 0.0031770943 0.0056294551 + 20000 0.0047919255 0.0031410517 0.0054995776 + 20100 0.0050407583 0.0035424658 0.0060234641 + 20200 0.0058757475 0.0034199356 0.0063119051 + 20300 0.006334621 0.0037184005 0.0068362218 + 20400 0.0034952831 0.0040343948 0.0057547294 + 20500 0.0066970618 0.0032583121 0.0065545222 + 20600 0.0058642918 0.0028310331 0.0057173642 + 20700 0.0042924271 0.0031799111 0.00529259 + 20800 0.0056142768 0.0033570129 0.0061202898 + 20900 0.0079429254 0.002630942 0.0065403506 + 21000 0.0058092966 0.0023584059 0.005217669 + 21100 0.0051128755 0.0027720768 0.0052885702 + 21200 0.0056039589 0.0029475615 0.00570576 + 21300 0.0049123632 0.003310519 0.0057283228 + 21400 0.0060294589 0.002649009 0.0056166333 + 21500 0.0063442688 0.0020375075 0.0051600773 + 21600 0.0041018738 0.0025317231 0.0045506141 + 21700 0.0049487689 0.0027899206 0.0052256427 + 21800 0.0053324851 0.0028817412 0.0055063237 + 21900 0.005635867 0.0030079436 0.0057818469 + 22000 0.0053407066 0.0029636439 0.005592273 + 22100 0.0066422576 0.0027743155 0.0060435516 + 22200 0.0045173653 0.0027470486 0.0049704393 + 22300 0.0058282909 0.0031696141 0.006038226 + 22400 0.0048138406 0.0035294177 0.0058987298 + 22500 0.0040163512 0.0031258619 0.0051026598 + 22600 0.005497944 0.0029409361 0.0056469554 + 22700 0.0035751831 0.0028083674 0.0045680278 + 22800 0.0050463085 0.0028518322 0.0053355621 + 22900 0.0050976468 0.0031764332 0.0056854312 + 23000 0.0062732751 0.003343365 0.0064309926 + 23100 0.0059831671 0.0033794992 0.0063243392 + 23200 0.0068515269 0.0038534344 0.0072256703 + 23300 0.0053723963 0.0040804729 0.0067246992 + 23400 0.0038984421 0.0037090769 0.0056278414 + 23500 0.0043842159 0.0033244792 0.0054823355 + 23600 0.0053604598 0.0030350809 0.0056734322 + 23700 0.0049866894 0.0033867784 0.0058411646 + 23800 0.0055185061 0.0035940384 0.0063101782 + 23900 0.0060509926 0.0035528583 0.0065310813 + 24000 0.0052942519 0.0032618388 0.0058676035 + 24100 0.0046515919 0.0022780225 0.0045674779 + 24200 0.0048312594 0.0021154079 0.0044932934 + 24300 0.0046075168 0.0026012561 0.0048690183 + 24400 0.0055975784 0.0026241897 0.0053792478 + 24500 0.0048762345 0.0023024667 0.0047024884 + 24600 0.005792076 0.0020312863 0.0048820737 + 24700 0.0056289998 0.0018654626 0.004635986 + 24800 0.0045177675 0.0018953833 0.004118972 + 24900 0.0053059202 0.0018988041 0.0045103117 + 25000 0.0052083277 0.0019125631 0.0044760369 + 25100 0.0054212234 0.0022550518 0.0049233102 + 25200 0.0049555615 0.0025207197 0.0049597851 + 25300 0.0061774688 0.0026896502 0.0057301232 + 25400 0.005059164 0.0026353207 0.005125378 + 25500 0.0048688444 0.0020352551 0.0044316395 + 25600 0.0048712222 0.001728894 0.0041264487 + 25700 0.0038212296 0.0017067335 0.003587495 + 25800 0.0040380906 0.0016554804 0.0036429781 + 25900 0.0043263076 0.0019219823 0.0040513368 + 26000 0.0054074945 0.001997128 0.0046586292 + 26100 0.0049600073 0.002519319 0.0049605726 + 26200 0.0056113617 0.0025971664 0.0053590085 + 26300 0.0049320056 0.0026140545 0.005041526 + 26400 0.0053954553 0.0030303057 0.0056858814 + 26500 0.0045835433 0.003211243 0.0054672057 + 26600 0.0048864138 0.0034010771 0.0058061089 + 26700 0.0060285599 0.0030244588 0.0059916407 + 26800 0.0058859498 0.0023446802 0.0052416711 + 26900 0.005913359 0.0021342138 0.0050446952 + 27000 0.0047430396 0.0022132581 0.0045477229 + 27100 0.0046058289 0.0022268681 0.0044937995 + 27200 0.0047747041 0.0018880948 0.0042381445 + 27300 0.0048497295 0.0019983256 0.0043853018 + 27400 0.0055509596 0.0022895952 0.0050217081 + 27500 0.0034907328 0.0020011735 0.0037192685 + 27600 0.00456077 0.0015742 0.003818954 + 27700 0.0054887852 0.0020371585 0.00473867 + 27800 0.0043722682 0.0021848794 0.0043368552 + 27900 0.0059444464 0.0021015692 0.0050273514 + 28000 0.0061640368 0.0020122197 0.0050460815 + 28100 0.0040434039 0.0020061319 0.0039962447 + 28200 0.0056980091 0.0018915625 0.0046960514 + 28300 0.0043620541 0.0016827876 0.0038297361 + 28400 0.0050075312 0.0020823888 0.0045470331 + 28500 0.0048597403 0.0021669915 0.0045588949 + 28600 0.0049462088 0.0024610391 0.0048955013 + 28700 0.0048715233 0.0019898566 0.0043875595 + 28800 0.0049953675 0.0020809044 0.0045395618 + 28900 0.0039609176 0.0027204082 0.0046699223 + 29000 0.0046405152 0.0026787007 0.0049627043 + 29100 0.0040307692 0.0024111027 0.0043949969 + 29200 0.0055622707 0.0021787345 0.0049164146 + 29300 0.004691948 0.0023987771 0.0047080952 + 29400 0.0054522045 0.0021773926 0.0048608995 + 29500 0.0049082269 0.0023485497 0.0047643176 + 29600 0.0044234756 0.0027077731 0.0048849524 + 29700 0.0044703753 0.0030638593 0.0052641221 + 29800 0.0057738402 0.0032529547 0.0060947666 + 29900 0.0048025121 0.0027421539 0.0051058903 + 30000 0.0055909846 0.0023093322 0.0050611449 + 30100 0.0046734595 0.0021724983 0.0044727167 + 30200 0.0048364088 0.0019816822 0.0043621022 + 30300 0.0056588503 0.0021027804 0.0048879957 + 30400 0.0042038264 0.0025429615 0.0046120323 + 30500 0.0066456506 0.0028193285 0.0060902347 + 30600 0.0057051527 0.0027646569 0.0055726618 + 30700 0.0045781261 0.0021712769 0.0044245733 + 30800 0.0061563885 0.0024026535 0.0054327509 + 30900 0.006137954 0.0028131351 0.0058341594 + 31000 0.0057865932 0.0033815486 0.0062296375 + 31100 0.0055236249 0.0032625501 0.0059812092 + 31200 0.0058766132 0.0032343848 0.0061267804 + 31300 0.0038290884 0.0033710206 0.0052556501 + 31400 0.0052004617 0.002375254 0.0049348563 + 31500 0.0046165465 0.0022371838 0.0045093903 + 31600 0.0054296383 0.0022328305 0.0049052306 + 31700 0.0052948911 0.0023888817 0.0049949609 + 31800 0.0037717404 0.0033449354 0.0052013389 + 31900 0.0036596704 0.0034627591 0.0052640032 + 32000 0.004879604 0.003315021 0.0057167011 + 32100 0.0052479579 0.003748086 0.0063310653 + 32200 0.0056643196 0.0037741937 0.006562101 + 32300 0.0050576031 0.0033843274 0.0058736164 + 32400 0.0063975521 0.0030393025 0.0061880977 + 32500 0.0044808357 0.0030148443 0.0052202556 + 32600 0.0071966777 0.0024360099 0.0059781247 + 32700 0.0054322363 0.0020534184 0.0047270972 + 32800 0.0045356839 0.00243665 0.004669057 + 32900 0.0043858911 0.0025665673 0.0047252481 + 33000 0.0061873012 0.0024854763 0.0055307886 + 33100 0.0060590587 0.0029373982 0.0059195912 + 33200 0.0051938061 0.0029602147 0.0055165412 + 33300 0.0046116034 0.0026471722 0.0049169457 + 33400 0.0048636673 0.0024079508 0.004801787 + 33500 0.0050727071 0.0025147355 0.0050114585 + 33600 0.0044766618 0.0025390206 0.0047423776 + 33700 0.0054448159 0.0022224231 0.0049022935 + 33800 0.005215128 0.0025358883 0.0051027091 + 33900 0.0056592959 0.0023395036 0.0051249383 + 34000 0.0057721678 0.0023020667 0.0051430555 + 34100 0.0060950158 0.0021174573 0.0051173479 + 34200 0.0045799007 0.0025894827 0.0048436526 + 34300 0.0041966686 0.0028745785 0.0049401263 + 34400 0.0041694325 0.0028783655 0.004930508 + 34500 0.0056157964 0.0022336284 0.0049976532 + 34600 0.0056673546 0.0025029817 0.0052923827 + 34700 0.0049042486 0.0027922823 0.0052060922 + 34800 0.0051478697 0.0028121309 0.0053458481 + 34900 0.0057709291 0.0025933891 0.0054337683 + 35000 0.0043881389 0.002579542 0.0047393291 + 35100 0.0032504434 0.0027300489 0.0043298766 + 35200 0.0043606937 0.0026993947 0.0048456736 + 35300 0.0050154596 0.0023707094 0.0048392559 + 35400 0.0039021657 0.0020705451 0.0039911423 + 35500 0.0045254366 0.0021294437 0.004356807 + 35600 0.0059918603 0.0019210225 0.0048701413 + 35700 0.0050307505 0.002146211 0.0046222835 + 35800 0.0061508274 0.0022475827 0.005274943 + 35900 0.0044662784 0.0025734008 0.0047716472 + 36000 0.0045982898 0.0024962582 0.004759479 + 36100 0.0054398466 0.0026323868 0.0053098112 + 36200 0.0034912201 0.0024770526 0.0041953875 + 36300 0.0039933997 0.0023731091 0.0043386105 + 36400 0.004960091 0.0020253619 0.0044666567 + 36500 0.0045110156 0.0020062164 0.0042264819 + 36600 0.0047338422 0.0020225667 0.0043525046 + 36700 0.0051109762 0.0018959322 0.0044114909 + 36800 0.0049331699 0.0020565315 0.0044845761 + 36900 0.0052401292 0.0020928006 0.0046719267 + 37000 0.005287103 0.0027874805 0.0053897265 + 37100 0.004868352 0.0031870581 0.0055832001 + 37200 0.0067231239 0.00288397 0.0061930076 + 37300 0.0062597497 0.0026862645 0.005767235 + 37400 0.0053918913 0.0025141209 0.0051679424 + 37500 0.0053173824 0.0026456735 0.0052628227 + 37600 0.0038746543 0.0025561048 0.0044631612 + 37700 0.0065020086 0.0020765991 0.0052768065 + 37800 0.0032280816 0.0020763865 0.0036652079 + 37900 0.0040683435 0.0026674628 0.0046698506 + 38000 0.0054937396 0.0032666628 0.0059706127 + 38100 0.0058787749 0.0035272261 0.0064206856 + 38200 0.006491445 0.0031632827 0.0063582908 + 38300 0.0040342657 0.0030945317 0.0050801468 + 38400 0.0055346487 0.0026509169 0.0053750019 + 38500 0.0053730018 0.0024468445 0.0050913688 + 38600 0.0046714509 0.0024470565 0.0047462863 + 38700 0.0050771096 0.0024852017 0.0049840915 + 38800 0.0039674348 0.0023424886 0.0042952104 + 38900 0.0054613945 0.0024739221 0.0051619523 + 39000 0.0056216656 0.002904291 0.0056712046 + 39100 0.0046869654 0.0031164961 0.0054233619 + 39200 0.0044473466 0.003477994 0.0056669223 + 39300 0.0052660574 0.0032816242 0.0058735119 + 39400 0.0065133824 0.0027647611 0.0059705665 + 39500 0.0046125617 0.0027430479 0.0050132931 + 39600 0.0039969338 0.0027835016 0.0047507425 + 39700 0.0042943571 0.0028185467 0.0049321756 + 39800 0.0041154251 0.002668955 0.0046945158 + 39900 0.0043943625 0.0026446077 0.004807458 + 40000 0.0043163581 0.0029722164 0.0050966739 + 40100 0.0048135281 0.0035377036 0.005906862 + 40200 0.0054013832 0.0034219724 0.0060804657 + 40300 0.0048106871 0.0033130657 0.0056808258 + 40400 0.0044925317 0.0026630956 0.0048742636 + 40500 0.0031533565 0.0025591451 0.0041111878 + 40600 0.0036964261 0.0024499732 0.004269308 + 40700 0.0049820802 0.0023781378 0.0048302554 + 40800 0.0049579201 0.0028466837 0.00528691 + 40900 0.0040527787 0.0026961648 0.0046908918 + 41000 0.0035012779 0.0024444294 0.0041677146 + 41100 0.0040248161 0.002045673 0.0040266371 + 41200 0.0060529986 0.0023638815 0.0053430917 + 41300 0.0058827269 0.0025750101 0.0054704148 + 41400 0.005686629 0.0026284143 0.0054273021 + 41500 0.0053967299 0.0029007499 0.0055569529 + 41600 0.005260624 0.0029715136 0.005560727 + 41700 0.0048897694 0.002828442 0.0052351254 + 41800 0.0053090345 0.0028582381 0.0054712785 + 41900 0.0061650184 0.0027138328 0.0057481778 + 42000 0.004885107 0.0025881829 0.0049925715 + 42100 0.0051536326 0.002449614 0.0049861675 + 42200 0.0054647197 0.002102733 0.0047923998 + 42300 0.0063220645 0.002358084 0.0054697251 + 42400 0.0047802288 0.002569246 0.0049220148 + 42500 0.0054277597 0.0025061238 0.0051775993 + 42600 0.0052555022 0.0025186371 0.0051053296 + 42700 0.0055016559 0.0027428163 0.0054506626 + 42800 0.0041685106 0.0025491297 0.0046008186 + 42900 0.0061125797 0.0024253938 0.0054339291 + 43000 0.0057603695 0.0024727145 0.0053078963 + 43100 0.0063647582 0.0021505758 0.0052832303 + 43200 0.0075452737 0.0020239728 0.0057376622 + 43300 0.0058871336 0.0025064254 0.0054039989 + 43400 0.0037365189 0.0028834155 0.0047224834 + 43500 0.0049943981 0.0028538701 0.0053120504 + 43600 0.0047787112 0.0027304531 0.005082475 + 43700 0.0050896025 0.0030697396 0.0055747783 + 43800 0.0051233927 0.0033858892 0.0059075591 + 43900 0.0056288699 0.0025229392 0.0052933986 + 44000 0.0066140005 0.0018883198 0.0051436482 + 44100 0.0041710492 0.0020011146 0.0040540529 + 44200 0.0052870161 0.0022571029 0.0048593061 + 44300 0.0043572528 0.0025009952 0.0046455805 + 44400 0.0042329947 0.0022262181 0.0043096452 + 44500 0.0060125135 0.0019067588 0.0048660428 + 44600 0.0050525298 0.0017708024 0.0042575944 + 44700 0.004844732 0.0019484927 0.0043330092 + 44800 0.0046475175 0.0024205819 0.0047080319 + 44900 0.0052083032 0.0025880249 0.0051514866 + 45000 0.0063883863 0.0028052659 0.0059495498 + 45100 0.0058661416 0.0025994969 0.0054867385 + 45200 0.0046619959 0.0028173792 0.0051119554 + 45300 0.004539417 0.0030325813 0.0052668256 + 45400 0.003464538 0.003007959 0.0047131613 + 45500 0.0048671256 0.0027041963 0.0050997347 + 45600 0.0062309309 0.0024492554 0.0055160417 + 45700 0.0060378046 0.0026753974 0.0056471293 + 45800 0.0048164271 0.0024666541 0.0048372393 + 45900 0.004633461 0.002422791 0.0047033225 + 46000 0.0048803427 0.0025580295 0.0049600732 + 46100 0.0051120808 0.0020052381 0.0045213403 + 46200 0.0051368641 0.0023940681 0.0049223684 + 46300 0.0047506314 0.0022936906 0.004631892 + 46400 0.0043825732 0.0020112923 0.00416834 + 46500 0.0033617453 0.0022722015 0.0039268105 + 46600 0.0048341791 0.002040599 0.0044199216 + 46700 0.0063786571 0.0019302017 0.005069697 + 46800 0.0044382804 0.0018962544 0.0040807206 + 46900 0.0061459049 0.0022291541 0.0052540917 + 47000 0.0034570347 0.0024280735 0.0041295828 + 47100 0.0063890193 0.0021365518 0.0052811472 + 47200 0.0041531248 0.0022357291 0.0042798453 + 47300 0.0062192703 0.0022819697 0.0053430168 + 47400 0.0042734377 0.0024638024 0.004567135 + 47500 0.0050057491 0.0024792104 0.0049429775 + 47600 0.0054308495 0.0024967244 0.0051697206 + 47700 0.004795058 0.0027333028 0.0050933704 + 47800 0.0053092366 0.0026147226 0.0052278625 + 47900 0.0057996794 0.0024898333 0.005344363 + 48000 0.004083384 0.002442603 0.0044523935 + 48100 0.0058859086 0.0023673621 0.0052643328 + 48200 0.0057436163 0.0022471262 0.0050740624 + 48300 0.0039847824 0.0019009417 0.0038622018 + 48400 0.0060841313 0.0017955454 0.0047900787 + 48500 0.0060832498 0.0020093656 0.0050034651 + 48600 0.0053065092 0.0025090423 0.0051208398 + 48700 0.004519689 0.0024532933 0.0046778278 + 48800 0.0049853304 0.0026800268 0.0051337441 + 48900 0.0051309595 0.0028925872 0.0054179813 + 49000 0.0037338752 0.002916775 0.0047545417 + 49100 0.0076271765 0.0023703752 0.0061243761 + 49200 0.0054014004 0.002376085 0.0050345867 + 49300 0.0045413047 0.0022238611 0.0044590346 + 49400 0.0050404956 0.0019930702 0.0044739391 + 49500 0.0056868245 0.0022009304 0.0049999143 + 49600 0.0046266325 0.0023248458 0.0046020165 + 49700 0.0046008386 0.0024799721 0.0047444474 + 49800 0.0034618229 0.0025689053 0.0042727712 + 49900 0.0050223145 0.0022472734 0.0047191938 + 50000 0.0046566625 0.0022400796 0.0045320307 + 50100 0.0054325612 0.0031067422 0.0057805809 + 50200 0.006858666 0.0033680554 0.0067438051 + 50300 0.0040035106 0.0031412712 0.0051117491 + 50400 0.0057337968 0.00284367 0.0056657731 + 50500 0.007507619 0.0025569325 0.0062520887 + 50600 0.0049285427 0.0026449117 0.0050706788 + 50700 0.0047659918 0.0024425403 0.0047883019 + 50800 0.005932462 0.0027364349 0.0056563185 + 50900 0.0048604465 0.002459088 0.004851339 + 51000 0.0049567903 0.0025554686 0.0049951388 + 51100 0.0052298647 0.0027915668 0.0053656408 + 51200 0.0048228203 0.0030843559 0.0054580877 + 51300 0.0052937706 0.0028158945 0.0054214223 + 51400 0.0042256923 0.0029417794 0.0050216123 + 51500 0.0042397619 0.0027751361 0.0048618939 + 51600 0.0086703699 0.0023316669 0.0065991146 + 51700 0.0051975483 0.0026402393 0.0051984076 + 51800 0.0045309646 0.002327158 0.0045572421 + 51900 0.0056945005 0.0017470247 0.0045497867 + 52000 0.0056746551 0.0018312247 0.004624219 + 52100 0.0060274955 0.001584361 0.0045510189 + 52200 0.0070584359 0.0017511833 0.0052252572 + 52300 0.0045526492 0.0022794573 0.0045202143 + 52400 0.0047397043 0.0026170444 0.0049498676 + 52500 0.0048802002 0.0025467898 0.0049487633 + 52600 0.0053555521 0.0022110128 0.0048469486 + 52700 0.004155959 0.0019178431 0.0039633542 + 52800 0.0045271029 0.0016801495 0.0039083329 + 52900 0.0048364152 0.0018046894 0.0041851125 + 53000 0.0046245354 0.0019851757 0.0042613142 + 53100 0.0041962232 0.00232427 0.0043895986 + 53200 0.0044352054 0.0025471811 0.0047301338 + 53300 0.0046783987 0.0019829965 0.0042856459 + 53400 0.0046732282 0.001932398 0.0042325025 + 53500 0.0047320742 0.0017693598 0.0040984276 + 53600 0.0064591399 0.002160751 0.0053398589 + 53700 0.004057231 0.002109613 0.0041065314 + 53800 0.0064624019 0.0018590077 0.0050397211 + 53900 0.0042991227 0.0023654354 0.0044814098 + 54000 0.0065145769 0.0020896392 0.0052960325 + 54100 0.0055718362 0.0024751896 0.0052175777 + 54200 0.0055799919 0.0029135269 0.0056599292 + 54300 0.0064098847 0.0022601397 0.0054150048 + 54400 0.0051473943 0.0022743466 0.0048078297 + 54500 0.0038405976 0.0025482454 0.0044385395 + 54600 0.0041340136 0.0023858965 0.0044206063 + 54700 0.0048224443 0.001779929 0.0041534758 + 54800 0.0062185119 0.0019720205 0.0050326944 + 54900 0.0038219702 0.0027179375 0.0045990635 + 55000 0.0046925314 0.0023564326 0.0046660379 + 55100 0.0049004981 0.0022132009 0.0046251648 + 55200 0.0045099089 0.0025256504 0.0047453712 + 55300 0.00488843 0.0024701874 0.0048762116 + 55400 0.0056295334 0.0025342729 0.0053050589 + 55500 0.0062733484 0.0030385714 0.0061262351 + 55600 0.0045348142 0.0033291404 0.0055611192 + 55700 0.0053572156 0.0029024455 0.0055392001 + 55800 0.0039165882 0.0025810875 0.0045087833 + 55900 0.0047797649 0.0021527728 0.0045053133 + 56000 0.0039636008 0.0022058564 0.0041566911 + 56100 0.006015081 0.0021592146 0.0051197622 + 56200 0.0056216802 0.0025617557 0.0053286765 + 56300 0.0045461276 0.0025573633 0.0047949104 + 56400 0.003881642 0.0023640821 0.0042745777 + 56500 0.0038047322 0.0027581068 0.0046307484 + 56600 0.0031812951 0.0033548977 0.0049206913 + 56700 0.0056019878 0.003122135 0.0058793633 + 56800 0.0059683588 0.0030141077 0.0059516593 + 56900 0.0060186134 0.0033342235 0.0062965098 + 57000 0.0053019534 0.0029808991 0.0055904543 + 57100 0.0053655993 0.0024928666 0.0051337475 + 57200 0.0030903095 0.002510627 0.0040316387 + 57300 0.0046503159 0.0019448429 0.0042336703 + 57400 0.0056832453 0.0014821649 0.0042793872 + 57500 0.0043618694 0.0015605523 0.0037074098 + 57600 0.004355549 0.002029913 0.0041736598 + 57700 0.0074486931 0.0022067964 0.00587295 + 57800 0.0044953483 0.0022477899 0.0044603441 + 57900 0.0057286533 0.0021932761 0.0050128476 + 58000 0.0038486039 0.0023496967 0.0042439314 + 58100 0.0042966245 0.0023985851 0.00451333 + 58200 0.0051973238 0.0025795924 0.0051376502 + 58300 0.0059952343 0.0025554289 0.0055062082 + 58400 0.005863812 0.0024175166 0.0053036115 + 58500 0.0047580459 0.0027857691 0.0051276198 + 58600 0.0046580313 0.0029995897 0.0052922145 + 58700 0.0044696211 0.0033203457 0.0055202373 + 58800 0.0051971274 0.0030393697 0.0055973309 + 58900 0.0042007846 0.0024982321 0.0045658058 + 59000 0.0048165335 0.0023499589 0.0047205965 + 59100 0.0044510328 0.0021725446 0.0043632873 + 59200 0.0039790554 0.0020297611 0.0039882025 + 59300 0.0041472183 0.0021916245 0.0042328335 + 59400 0.0048415751 0.0023702643 0.004753227 + 59500 0.0040848813 0.0026243058 0.0046348333 + 59600 0.0036309558 0.0023204813 0.0041075923 + 59700 0.0052566509 0.0022056726 0.0047929305 + 59800 0.0059097472 0.0021506132 0.0050593169 + 59900 0.0049447811 0.0025159524 0.0049497119 + 60000 0.0051589732 0.0025078382 0.0050470203 + 60100 0.0035345424 0.0023423012 0.0040819588 + 60200 0.005047709 0.0019083619 0.0043927812 + 60300 0.0042431547 0.0018644587 0.0039528864 + 60400 0.0044403051 0.0021517218 0.0043371845 + 60500 0.004607211 0.0021488641 0.0044164758 + 60600 0.0047289648 0.0020429433 0.0043704807 + 60700 0.0049324282 0.0023182005 0.00474588 + 60800 0.00489705 0.0019843842 0.004394651 + 60900 0.0044769737 0.0020072136 0.0042107241 + 61000 0.004109862 0.0021053447 0.0041281674 + 61100 0.0064116235 0.0017252325 0.0048809535 + 61200 0.0064107564 0.0022325069 0.0053878011 + 61300 0.0046012223 0.0023997852 0.0046644493 + 61400 0.0055067679 0.0025219734 0.0052323357 + 61500 0.0058420921 0.0024926611 0.0053680658 + 61600 0.0058705346 0.0023901087 0.0052795124 + 61700 0.0051933603 0.0026384175 0.0051945246 + 61800 0.0052888102 0.0027089145 0.0053120008 + 61900 0.0041280831 0.0025417011 0.004573492 + 62000 0.0054631486 0.0022903599 0.0049792533 + 62100 0.0036128989 0.0022867586 0.0040649823 + 62200 0.0050756708 0.0022097986 0.0047079803 + 62300 0.0062976921 0.0026185046 0.00571815 + 62400 0.0047501282 0.0034547786 0.0057927323 + 62500 0.005162038 0.0030296029 0.0055702935 + 62600 0.0054428494 0.0026198422 0.0052987447 + 62700 0.0060713089 0.0027054633 0.0056936856 + 62800 0.0039143993 0.0025686941 0.0044953125 + 62900 0.0049595559 0.002726404 0.0051674355 + 63000 0.0041579951 0.0026460154 0.0046925286 + 63100 0.0068307559 0.0024275303 0.005789543 + 63200 0.0039460015 0.0028749914 0.004817164 + 63300 0.0042264764 0.0029661685 0.0050463873 + 63400 0.0050204424 0.0027802305 0.0052512295 + 63500 0.0055164912 0.0028154461 0.0055305941 + 63600 0.005161699 0.0028559525 0.0053964762 + 63700 0.0033062703 0.0026309733 0.0042582782 + 63800 0.0047080373 0.0023940691 0.0047113062 + 63900 0.0043705464 0.0021801685 0.0043312968 + 64000 0.0054694982 0.002782993 0.0054750117 + 64100 0.0039843774 0.0028515998 0.0048126606 + 64200 0.0044130133 0.0026711692 0.0048431992 + 64300 0.0046388151 0.0022843931 0.0045675599 + 64400 0.0048919995 0.0025534187 0.0049611997 + 64500 0.004704658 0.00303344 0.0053490139 + 64600 0.0056511259 0.0036739479 0.0064553615 + 64700 0.0060055237 0.0037429103 0.006698754 + 64800 0.0047635713 0.0031406158 0.0054851861 + 64900 0.0039548478 0.0031754309 0.0051219576 + 65000 0.005657253 0.0026695177 0.005453947 + 65100 0.0061205326 0.0025335014 0.0055459511 + 65200 0.0046671326 0.0027193057 0.00501641 + 65300 0.0052360497 0.002621423 0.0051985412 + 65400 0.0042775661 0.0028623923 0.0049677569 + 65500 0.0038290334 0.0032448845 0.0051294868 + 65600 0.0047897898 0.0025113144 0.0048687891 + 65700 0.0072519522 0.0020844713 0.0056537915 + 65800 0.0038574141 0.0026456812 0.0045442522 + 65900 0.0054619875 0.0030361849 0.0057245069 + 66000 0.0044844056 0.0034902966 0.0056974649 + 66100 0.0073333231 0.0033760228 0.0069853928 + 66200 0.0064737517 0.0030425259 0.0062288255 + 66300 0.0045465925 0.002910365 0.0051481409 + 66400 0.0040001457 0.0029633395 0.0049321612 + 66500 0.0044286124 0.002895338 0.0050750457 + 66600 0.0050666686 0.0031211344 0.0056148854 + 66700 0.0039709252 0.0031688431 0.0051232829 + 66800 0.0048092911 0.0032769568 0.0056440298 + 66900 0.0066782693 0.0035137615 0.0068007222 + 67000 0.0057340541 0.0034412595 0.0062634893 + 67100 0.0051797906 0.0034055628 0.005954991 + 67200 0.0063264576 0.00323944 0.0063532433 + 67300 0.0026571859 0.0035506348 0.0048584685 + 67400 0.0049363432 0.0028996939 0.0053293004 + 67500 0.0048694959 0.0020429836 0.0044396886 + 67600 0.0053695266 0.0018739865 0.0045168004 + 67700 0.0050585843 0.0024470249 0.0049367968 + 67800 0.0053639135 0.0025875156 0.0052275667 + 67900 0.0049179882 0.0027785574 0.0051991297 + 68000 0.0045402842 0.0025744153 0.0048090864 + 68100 0.0057967719 0.0025091074 0.005362206 + 68200 0.0064221589 0.0027752522 0.0059361585 + 68300 0.0061344175 0.0032944883 0.0063137719 + 68400 0.0038173951 0.0031191006 0.0049979748 + 68500 0.0062441907 0.002798019 0.0058713316 + 68600 0.0058607479 0.0029377482 0.005822335 + 68700 0.006431081 0.0024723228 0.0056376205 + 68800 0.0049039475 0.002649586 0.0050632477 + 68900 0.005431878 0.0026376678 0.0053111703 + 69000 0.0051651551 0.0027441425 0.0052863673 + 69100 0.0060035502 0.0025242284 0.0054791008 + 69200 0.0055191023 0.0026158299 0.005332263 + 69300 0.0046187596 0.0031978221 0.0054711179 + 69400 0.004408629 0.0033121127 0.0054819848 + 69500 0.0040185911 0.0027978949 0.0047757952 + 69600 0.0045530075 0.0024383877 0.0046793211 + 69700 0.0056612034 0.0024217084 0.005208082 + 69800 0.0035367508 0.0030663867 0.0048071312 + 69900 0.0062264056 0.003153623 0.006218182 + 70000 0.0049367337 0.0031688777 0.0055986764 + 70100 0.0064529077 0.0026073081 0.0057833487 + 70200 0.0066516934 0.0028884494 0.0061623297 + 70300 0.005171732 0.0029803969 0.0055258587 + 70400 0.0039133942 0.0021870222 0.0041131459 + 70500 0.0033231584 0.0022690118 0.0039046288 + 70600 0.0042634846 0.0028274597 0.0049258935 + 70700 0.0038989616 0.0026013453 0.0045203655 + 70800 0.0045767543 0.0025616195 0.0048142408 + 70900 0.0048963265 0.0027637426 0.0051736533 + 71000 0.0061687231 0.0025706396 0.005606808 + 71100 0.0049546986 0.0027204503 0.005159091 + 71200 0.0037004223 0.0027686575 0.0045899591 + 71300 0.0035115093 0.002325089 0.00405341 + 71400 0.0059298256 0.0017401421 0.0046587282 + 71500 0.0049818732 0.0022541547 0.0047061704 + 71600 0.0047579769 0.0022714051 0.0046132219 + 71700 0.0054674726 0.0023434468 0.0050344685 + 71800 0.0052597208 0.0027155959 0.0053043647 + 71900 0.0077876387 0.002781227 0.0066142054 + 72000 0.005328724 0.0027339749 0.0053567062 + 72100 0.0046399613 0.0025977106 0.0048814415 + 72200 0.0049484417 0.0021100154 0.0045455766 + 72300 0.0061550343 0.001978573 0.0050080039 + 72400 0.0071739579 0.0020219935 0.0055529259 + 72500 0.0045413518 0.002429107 0.0046643036 + 72600 0.0068602056 0.0022660854 0.0056425929 + 72700 0.0053650603 0.002557966 0.0051985816 + 72800 0.0045295893 0.0027741909 0.0050035982 + 72900 0.0063473806 0.0030699971 0.0061940985 + 73000 0.0038458045 0.0030667595 0.0049596164 + 73100 0.0055269058 0.0027168414 0.0054371153 + 73200 0.0066978955 0.0029699129 0.0062665334 + 73300 0.0054099557 0.0028514907 0.0055142033 + 73400 0.0049033096 0.0028217138 0.0052350615 + 73500 0.0056213097 0.0024973732 0.0052641115 + 73600 0.0046251514 0.0020906145 0.0043670562 + 73700 0.0049435343 0.002064038 0.0044971838 + 73800 0.0041278653 0.0022356204 0.0042673042 + 73900 0.0045242841 0.0023048989 0.0045316949 + 74000 0.0046307708 0.0019601779 0.0042393854 + 74100 0.0041359632 0.0022902385 0.0043259079 + 74200 0.0058341051 0.0025191454 0.005390619 + 74300 0.0057842203 0.0029029173 0.0057498382 + 74400 0.0068842308 0.0034254593 0.0068137916 + 74500 0.0069787237 0.0039348195 0.0073696601 + 74600 0.0049509151 0.0036515239 0.0060883024 + 74700 0.0046609104 0.0033218989 0.0056159408 + 74800 0.0052509783 0.0036256752 0.0062101411 + 74900 0.0067548043 0.0031790466 0.0065036768 + 75000 0.0054915414 0.0027386179 0.0054414859 + 75100 0.0077387991 0.0026344795 0.0064434197 + 75200 0.0040323338 0.002557427 0.0045420914 + 75300 0.0053215788 0.0026065085 0.0052257231 + 75400 0.0051715521 0.0028002423 0.0053456156 + 75500 0.0044010246 0.0028930485 0.0050591778 + 75600 0.0059897248 0.0026520721 0.0056001397 + 75700 0.0065050515 0.0027123862 0.0059140912 + 75800 0.0037756281 0.0024724201 0.0043307371 + 75900 0.0049951252 0.0025125686 0.0049711068 + 76000 0.0053569279 0.002614864 0.0052514769 + 76100 0.0050761598 0.0029510914 0.0054495138 + 76200 0.005625419 0.0026737784 0.0054425393 + 76300 0.0042964782 0.0027971646 0.0049118374 + 76400 0.0034067399 0.0026831606 0.0043599154 + 76500 0.0048873194 0.002123852 0.0045293295 + 76600 0.0050909588 0.0018829923 0.0043886986 + 76700 0.0043692437 0.0020428126 0.0041932998 + 76800 0.0038824511 0.0022134189 0.0041243128 + 76900 0.0035674747 0.0021533034 0.0039091698 + 77000 0.003952723 0.002483092 0.0044285728 + 77100 0.0045947679 0.0026370462 0.0048985335 + 77200 0.006304843 0.00219173 0.0052948949 + 77300 0.0057665241 0.0020535231 0.0048917342 + 77400 0.0047945405 0.0021226991 0.004482512 + 77500 0.0059543709 0.0023264065 0.0052570734 + 77600 0.0064000043 0.0024305916 0.0055805937 + 77700 0.005549834 0.0027113324 0.0054428913 + 77800 0.0030266988 0.0029568223 0.0044465256 + 77900 0.0056389477 0.0021610721 0.0049364916 + 78000 0.0044697506 0.0021009116 0.004300867 + 78100 0.0048360668 0.001930554 0.0043108056 + 78200 0.0040638827 0.0020459033 0.0040460956 + 78300 0.0052111665 0.0023708291 0.0049357001 + 78400 0.0043869222 0.0026233899 0.0047825782 + 78500 0.0068897999 0.0021413073 0.0055323807 + 78600 0.0060264097 0.002367303 0.0053334265 + 78700 0.0052865173 0.0025820316 0.0051839893 + 78800 0.0059676856 0.0021566562 0.0050938764 + 78900 0.0040595524 0.0021847787 0.0041828397 + 79000 0.0056159649 0.0023157435 0.0050798512 + 79100 0.0041881315 0.0024410569 0.0045024029 + 79200 0.005902251 0.0021755489 0.005080563 + 79300 0.0054239454 0.0020889545 0.0047585526 + 79400 0.0055094841 0.0021016543 0.0048133534 + 79500 0.0081129 0.0021285737 0.0061216416 + 79600 0.0049664878 0.0021368709 0.0045813141 + 79700 0.0068350093 0.0018334829 0.005197589 + 79800 0.0055592278 0.0024177916 0.005153974 + 79900 0.0051450868 0.0030449145 0.0055772619 + 80000 0.0040457894 0.0032288253 0.0052201123 + 80100 0.0056459226 0.0027293979 0.0055082505 + 80200 0.0052924253 0.0028405508 0.0054454163 + 80300 0.0045846607 0.003155238 0.0054117507 + 80400 0.0050326177 0.0029396066 0.0054165981 + 80500 0.0058456879 0.0029858201 0.0058629946 + 80600 0.0047299091 0.0032012364 0.0055292385 + 80700 0.0050276877 0.0028181036 0.0052926686 + 80800 0.0047330326 0.0027996354 0.0051291749 + 80900 0.0049002397 0.0020527168 0.0044645536 + 81000 0.004831739 0.0024235305 0.0048016521 + 81100 0.005832189 0.0025178467 0.0053883772 + 81200 0.0050462525 0.0027751024 0.0052588048 + 81300 0.0053509421 0.0028985157 0.0055321825 + 81400 0.0056863543 0.0025358515 0.005334604 + 81500 0.0040373417 0.0028027535 0.0047898826 + 81600 0.0044877975 0.0025630405 0.0047718784 + 81700 0.0062880718 0.0021933064 0.0052882167 + 81800 0.0063704954 0.0018812545 0.0050167327 + 81900 0.0065419346 0.0017587634 0.0049786219 + 82000 0.0048395566 0.0019244245 0.0043063937 + 82100 0.0044184877 0.001922235 0.0040969594 + 82200 0.0055185676 0.0025398909 0.0052560609 + 82300 0.0058309514 0.0026875061 0.0055574276 + 82400 0.0047596296 0.0023776519 0.0047202821 + 82500 0.005199539 0.0026663032 0.0052254513 + 82600 0.005671707 0.0029563441 0.0057478874 + 82700 0.0050044714 0.0030043161 0.0054674544 + 82800 0.0040552546 0.0034284118 0.0054243574 + 82900 0.0035054726 0.0030847761 0.0048101259 + 83000 0.0040750045 0.0029260192 0.0049316854 + 83100 0.0053548668 0.0030196593 0.0056552578 + 83200 0.0045107197 0.0032571882 0.005477308 + 83300 0.0054238812 0.0023589597 0.0050285262 + 83400 0.0068076688 0.0017824972 0.0051331467 + 83500 0.0060884188 0.0016827582 0.0046794018 + 83600 0.0042844971 0.0019381461 0.004046922 + 83700 0.0049393584 0.0018789469 0.0043100373 + 83800 0.0040877597 0.0021615848 0.004173529 + 83900 0.0058244102 0.0021545204 0.0050212223 + 84000 0.0036747663 0.002472265 0.0042809391 + 84100 0.004923974 0.0026976906 0.005121209 + 84200 0.0048168015 0.0024718686 0.0048426381 + 84300 0.0041335198 0.0021077387 0.0041422054 + 84400 0.0048671332 0.00150733 0.0039028721 + 84500 0.0044010818 0.0016117782 0.0037779356 + 84600 0.0051515287 0.0015177749 0.0040532929 + 84700 0.004429886 0.0017618332 0.0039421677 + 84800 0.0048327943 0.0013961526 0.0037747935 + 84900 0.0042798583 0.0013498344 0.0034563271 + 85000 0.0063966504 0.00204566 0.0051940113 + 85100 0.0048077926 0.0021624498 0.0045287852 + 85200 0.0044763876 0.001888131 0.004091353 + 85300 0.0049849768 0.0020477162 0.0045012595 + 85400 0.0048910444 0.0023741293 0.0047814402 + 85500 0.0044768704 0.0023015593 0.004505019 + 85600 0.0059835689 0.0020008653 0.0049459032 + 85700 0.0058859084 0.0020764231 0.0049733937 + 85800 0.0052145597 0.0021174036 0.0046839447 + 85900 0.0056760112 0.0019953279 0.0047889897 + 86000 0.0038896582 0.0022732101 0.0041876512 + 86100 0.0049623396 0.0026499309 0.0050923324 + 86200 0.003265905 0.0023325833 0.003940021 + 86300 0.0058359372 0.0019402434 0.0048126188 + 86400 0.0069203906 0.0019441596 0.0053502893 + 86500 0.0051995372 0.002470674 0.0050298212 + 86600 0.0055003904 0.0025374986 0.005244722 + 86700 0.0056463262 0.0022411491 0.0050202003 + 86800 0.0055863225 0.0021929928 0.004942511 + 86900 0.0047275021 0.0021964933 0.0045233107 + 87000 0.00515286 0.0020543532 0.0045905265 + 87100 0.0045830922 0.0017134346 0.0039691752 + 87200 0.0050435257 0.0013363644 0.0038187247 + 87300 0.0046254827 0.001519273 0.0037958777 + 87400 0.0040535099 0.0015514181 0.003546505 + 87500 0.0057770924 0.0017537596 0.0045971723 + 87600 0.0043865341 0.0018585318 0.0040175291 + 87700 0.0041021582 0.0016429139 0.0036619449 + 87800 0.0057585243 0.0019633801 0.0047976537 + 87900 0.0060155595 0.0022856244 0.0052464076 + 88000 0.006588077 0.0021441592 0.0053867284 + 88100 0.0038631267 0.0023167479 0.0042181306 + 88200 0.0067500017 0.0024739251 0.0057961915 + 88300 0.0067961069 0.0022886799 0.0056336387 + 88400 0.005340475 0.0022548621 0.0048833772 + 88500 0.0051237863 0.0020090884 0.004530952 + 88600 0.0051930941 0.0019089144 0.0044648904 + 88700 0.004177133 0.0021549205 0.0042108532 + 88800 0.0061815481 0.0017994785 0.0048419592 + 88900 0.0058203717 0.0018745228 0.004739237 + 89000 0.0043001396 0.0019744427 0.0040909177 + 89100 0.0051281538 0.0019301505 0.0044541637 + 89200 0.0056236553 0.002104435 0.0048723278 + 89300 0.0042891184 0.0024466976 0.0045577481 + 89400 0.0047260765 0.0020949838 0.0044210996 + 89500 0.004731804 0.0019284431 0.0042573778 + 89600 0.0046883512 0.0019304495 0.0042379974 + 89700 0.0045314138 0.0023376169 0.0045679222 + 89800 0.0056960294 0.0022949682 0.0050984827 + 89900 0.0052106411 0.0024926017 0.0050572141 + 90000 0.0054499426 0.0024039462 0.0050863398 + 90100 0.0057752781 0.0028806515 0.0057231712 + 90200 0.0054642327 0.0032169162 0.0059063432 + 90300 0.0052991173 0.0031744335 0.0057825928 + 90400 0.0074619752 0.0026547637 0.0063274547 + 90500 0.0067139448 0.0021741871 0.0054787068 + 90600 0.0056494907 0.0018564478 0.0046370565 + 90700 0.0060946257 0.0022094808 0.0052091794 + 90800 0.0050144214 0.0023266747 0.0047947102 + 90900 0.0038996968 0.0023297231 0.0042491051 + 91000 0.0062401283 0.0021713998 0.0052427129 + 91100 0.0051259388 0.0020914339 0.0046143569 + 91200 0.0053322697 0.0015990933 0.0042235698 + 91300 0.0056411509 0.001677453 0.0044539569 + 91400 0.0049641078 0.0020159401 0.004459212 + 91500 0.0037072359 0.0023718395 0.0041964946 + 91600 0.0049173378 0.0026391501 0.0050594023 + 91700 0.0046701106 0.0027592393 0.0050578093 + 91800 0.0052170261 0.0024995558 0.0050673108 + 91900 0.0055720207 0.0021128411 0.0048553201 + 92000 0.0061110303 0.002425278 0.0054330508 + 92100 0.0062168402 0.0025200701 0.0055799212 + 92200 0.0055228783 0.0017711948 0.0044894865 + 92300 0.0057451625 0.0019380888 0.004765786 + 92400 0.0041664642 0.0018008115 0.0038514931 + 92500 0.0041697872 0.0022072195 0.0042595366 + 92600 0.0042549074 0.0024379155 0.0045321278 + 92700 0.0044167057 0.0024475712 0.0046214185 + 92800 0.0057900625 0.0023251145 0.0051749109 + 92900 0.0056646757 0.0024066615 0.005194744 + 93000 0.0043829111 0.002537387 0.0046946011 + 93100 0.0051144478 0.0026852632 0.0052025305 + 93200 0.0037089287 0.0026114294 0.0044369177 + 93300 0.0057572243 0.0021886482 0.005022282 + 93400 0.0045656932 0.0022539211 0.0045010982 + 93500 0.0060022188 0.0020735372 0.0050277542 + 93600 0.0056984889 0.0022677441 0.0050724691 + 93700 0.0039758199 0.0024796698 0.0044365187 + 93800 0.0039490308 0.0026040217 0.0045476853 + 93900 0.0054471842 0.0021933789 0.0048744149 + 94000 0.00574019 0.0018346489 0.0046598987 + 94100 0.0069869523 0.0025435685 0.0059824591 + 94200 0.0049866757 0.0034214717 0.0058758512 + 94300 0.0043100331 0.0029994346 0.005120779 + 94400 0.005183815 0.0026593986 0.0052108075 + 94500 0.0050995733 0.0030455123 0.0055554586 + 94600 0.0064655045 0.0024956955 0.0056779359 + 94700 0.0068982024 0.0024252999 0.0058205089 + 94800 0.0054045728 0.0027604725 0.0054205357 + 94900 0.0065070172 0.0028869374 0.0060896099 + 95000 0.0055490081 0.002982987 0.0057141394 + 95100 0.0050184061 0.002867958 0.0053379548 + 95200 0.0057923907 0.0022729183 0.0051238607 + 95300 0.0061966484 0.0018579204 0.0049078333 + 95400 0.0043903283 0.002083568 0.0042444327 + 95500 0.006230005 0.0022082537 0.0052745843 + 95600 0.0051017863 0.0021347587 0.0046457942 + 95700 0.0048179341 0.0020223788 0.0043937058 + 95800 0.0045368369 0.0021281546 0.004361129 + 95900 0.0032147881 0.0018612367 0.0034435152 + 96000 0.0059523166 0.0014379151 0.0043675709 + 96100 0.004085428 0.0017725769 0.0037833735 + 96200 0.004515215 0.0019493696 0.0041717019 + 96300 0.005865527 0.0019194071 0.0048063462 + 96400 0.0043184624 0.0022762097 0.0044017029 + 96500 0.0041141746 0.0022317397 0.004256685 + 96600 0.0048036261 0.0023583893 0.004722674 + 96700 0.0052007626 0.002291294 0.0048510444 + 96800 0.0047205319 0.0020744378 0.0043978246 + 96900 0.0049730906 0.0021496487 0.0045973418 + 97000 0.0044398487 0.0025113024 0.0046965404 + 97100 0.005377641 0.002686405 0.0053332127 + 97200 0.0042563439 0.0025447136 0.0046396329 + 97300 0.00658641 0.0020899964 0.0053317451 + 97400 0.0057978787 0.0016239494 0.0044775928 + 97500 0.0052807037 0.0021217762 0.0047208726 + 97600 0.0035973133 0.0025763508 0.0043469035 + 97700 0.0042705453 0.0022880661 0.0043899751 + 97800 0.0055320169 0.0018992576 0.0046220471 + 97900 0.0053928356 0.0021919455 0.0048462317 + 98000 0.0048723155 0.0019962603 0.0043943531 + 98100 0.0042111221 0.0018628012 0.0039354629 + 98200 0.0036807996 0.0017788347 0.0035904783 + 98300 0.0067393203 0.0015246823 0.0048416916 + 98400 0.0038578889 0.0017635258 0.0036623305 + 98500 0.0054096221 0.001644316 0.0043068644 + 98600 0.0040713518 0.0019667286 0.0039705971 + 98700 0.0051986774 0.0026388436 0.0051975676 + 98800 0.0039406054 0.0028434791 0.0047829958 + 98900 0.0064130888 0.0023111873 0.0054676295 + 99000 0.006365471 0.0020668147 0.00519982 + 99100 0.0062146746 0.001901955 0.0049607402 + 99200 0.0048531445 0.0019410233 0.0043296803 + 99300 0.0045759129 0.0023414428 0.0045936499 + 99400 0.0038262214 0.0022197041 0.0041029224 + 99500 0.0049764631 0.0021887097 0.0046380626 + 99600 0.0055657014 0.00220067 0.0049400387 + 99700 0.0048065322 0.002111321 0.0044770361 + 99800 0.0057309762 0.0021126277 0.0049333425 + 99900 0.0046862803 0.002125927 0.0044324555 + 100000 0.0075740421 0.0024388428 0.0061666916 + 100100 0.0071945677 0.0023243395 0.0058654158 + 100200 0.0059205683 0.0029521541 0.0058661838 + 100300 0.0054396453 0.0031697826 0.005847108 + 100400 0.0052544975 0.0034314166 0.0060176146 + 100500 0.0061961273 0.0031182911 0.0061679475 + 100600 0.0069085538 0.0024920074 0.0058923112 + 100700 0.0050233317 0.0029020682 0.0053744892 + 100800 0.0037718638 0.0026239078 0.004480372 + 100900 0.0056243954 0.0019074327 0.0046756898 + 101000 0.0056618834 0.00161539 0.0044020982 + 101100 0.0040148592 0.0018178956 0.0037939591 + 101200 0.004686887 0.0019289111 0.0042357383 + 101300 0.0050226523 0.0018719051 0.0043439918 + 101400 0.0064710008 0.0015822105 0.0047671562 + 101500 0.0039196035 0.002020307 0.0039494869 + 101600 0.0045994095 0.0018433778 0.0041071496 + 101700 0.0048933629 0.0019188202 0.0043272723 + 101800 0.0047457387 0.0023774608 0.0047132541 + 101900 0.0053300823 0.002537087 0.0051604869 + 102000 0.0047353334 0.0024001234 0.0047307953 + 102100 0.0045816122 0.0022769948 0.0045320071 + 102200 0.006548821 0.0022551445 0.0054783924 + 102300 0.0046796488 0.0020009913 0.004304256 + 102400 0.0053817487 0.0018656497 0.0045144792 + 102500 0.005902113 0.0016290352 0.0045339815 + 102600 0.0039148607 0.0017456336 0.0036724791 + 102700 0.0041956368 0.0020866253 0.0041516653 + 102800 0.0030868067 0.0026861306 0.0042054183 + 102900 0.0049776165 0.002482385 0.0049323056 + 103000 0.0046073238 0.0026508944 0.0049185615 + 103100 0.0055816265 0.002952218 0.0056994247 + 103200 0.0053077341 0.0033957747 0.006008175 + 103300 0.00427159 0.0030780079 0.0051804311 + 103400 0.007366732 0.0021918569 0.0058176703 + 103500 0.0061032372 0.0020714792 0.0050754163 + 103600 0.0054342128 0.0026433843 0.005318036 + 103700 0.0058615812 0.0028396745 0.0057246715 + 103800 0.0059214514 0.0032316647 0.006146129 + 103900 0.0048150657 0.0033080454 0.0056779606 + 104000 0.0055601892 0.0029920686 0.0057287242 + 104100 0.0065798773 0.0022159613 0.0054544946 + 104200 0.0057114079 0.0023438106 0.0051548942 + 104300 0.004117166 0.0033470191 0.0053734368 + 104400 0.0056173528 0.0029430163 0.0057078072 + 104500 0.0058432017 0.0024492781 0.005325229 + 104600 0.0047449049 0.0018531835 0.0041885664 + 104700 0.0051941398 0.0017432431 0.0042997338 + 104800 0.0048082738 0.0018834519 0.0042500242 + 104900 0.0056599738 0.0016220784 0.0044078468 + 105000 0.0052147482 0.0021380169 0.0047046508 + 105100 0.0057898373 0.0019673109 0.0048169964 + 105200 0.0052626706 0.0019948558 0.0045850765 + 105300 0.0040740317 0.0020907974 0.0040959848 + 105400 0.0045063453 0.0020310338 0.0042490006 + 105500 0.0043028912 0.0021508495 0.0042686788 + 105600 0.0045336197 0.0024228712 0.0046542622 + 105700 0.0049384943 0.0020805263 0.0045111915 + 105800 0.0051912228 0.0022413219 0.0047963769 + 105900 0.0075738845 0.0024406885 0.0061684598 + 106000 0.0044914878 0.00262105 0.0048317042 + 106100 0.0037898261 0.0024808243 0.0043461293 + 106200 0.0039418552 0.0021623494 0.0041024812 + 106300 0.0038493597 0.0021949395 0.0040895462 + 106400 0.0051448448 0.0024897627 0.005021991 + 106500 0.0044670022 0.0025443571 0.0047429598 + 106600 0.0060055696 0.0022728956 0.0052287619 + 106700 0.005070969 0.00246141 0.0049572776 + 106800 0.0051355516 0.002699783 0.0052274373 + 106900 0.0055198339 0.0023585697 0.0050753629 + 107000 0.004536935 0.0024816535 0.0047146762 + 107100 0.0043970244 0.0022694283 0.0044335888 + 107200 0.0045132262 0.0019392947 0.0041606482 + 107300 0.0057868767 0.0019804932 0.0048287215 + 107400 0.0048858491 0.00206472 0.0044694738 + 107500 0.0051778097 0.0023954217 0.0049438749 + 107600 0.0042508936 0.0024957496 0.0045879863 + 107700 0.0065311396 0.0028354253 0.0060499706 + 107800 0.0041842378 0.0025732076 0.0046326371 + 107900 0.0051588338 0.0019576867 0.0044968002 + 108000 0.0050152206 0.0018965959 0.0043650248 + 108100 0.0066858224 0.0019144208 0.005205099 + 108200 0.0052317457 0.0022588338 0.0048338336 + 108300 0.0044587185 0.0026376825 0.004832208 + 108400 0.006281365 0.0024520244 0.0055436337 + 108500 0.0045935686 0.00249095 0.004751847 + 108600 0.0050600068 0.0021937068 0.0046841789 + 108700 0.0063839425 0.0016906411 0.0048327378 + 108800 0.0039523381 0.0020567261 0.0040020175 + 108900 0.0035000667 0.0023242907 0.0040469798 + 109000 0.0035936437 0.0022500273 0.0040187738 + 109100 0.0036929064 0.0018657814 0.0036833838 + 109200 0.0036039238 0.0017786923 0.0035524985 + 109300 0.0042909775 0.0017838776 0.0038958431 + 109400 0.0053226935 0.0023048771 0.0049246403 + 109500 0.0073675997 0.0021898533 0.0058160938 + 109600 0.0065062358 0.0024873918 0.0056896797 + 109700 0.0044880848 0.0027054044 0.0049143836 + 109800 0.0038966546 0.0024113885 0.0043292732 + 109900 0.0046587563 0.0021033679 0.0043963495 + 110000 0.0055376345 0.0026746075 0.0054001619 + 110100 0.003595138 0.0032054332 0.0049749152 + 110200 0.0047894761 0.0030104663 0.0053677866 + 110300 0.0060705417 0.0030602282 0.0060480729 + 110400 0.0041098312 0.0030911613 0.0051139688 + 110500 0.005815262 0.0025982459 0.0054604452 + 110600 0.0044655662 0.0022431262 0.004441022 + 110700 0.0056780783 0.0023805446 0.0051752238 + 110800 0.0045910253 0.0030865698 0.0053462151 + 110900 0.0042363196 0.0027951661 0.0048802296 + 111000 0.0041569535 0.0021821539 0.0042281544 + 111100 0.0047554436 0.0019847226 0.0043252925 + 111200 0.0049997579 0.0021981102 0.0046589286 + 111300 0.0063404411 0.0022849675 0.0054056533 + 111400 0.0035386805 0.0021962954 0.0039379897 + 111500 0.0064119467 0.0021400604 0.0052959404 + 111600 0.0073674229 0.0028302735 0.006456427 + 111700 0.0057579053 0.003150227 0.005984196 + 111800 0.0035087838 0.0028608096 0.0045877891 + 111900 0.0058310038 0.0027263155 0.0055962626 + 112000 0.00575128 0.0029221646 0.0057528728 + 112100 0.0047469845 0.0028232611 0.0051596675 + 112200 0.0069476002 0.0025463774 0.0059658994 + 112300 0.0045230832 0.0022749129 0.0045011179 + 112400 0.0055897749 0.0022098615 0.0049610788 + 112500 0.0053941782 0.0022190778 0.0048740249 + 112600 0.0044327925 0.0026816887 0.0048634538 + 112700 0.0061565018 0.0029466921 0.0059768454 + 112800 0.004858252 0.0029908185 0.0053819894 + 112900 0.0065426083 0.0027347496 0.0059549396 + 113000 0.0051449224 0.0027963561 0.0053286226 + 113100 0.0041554958 0.0031620628 0.0052073459 + 113200 0.0040102218 0.0027371677 0.0047109487 + 113300 0.0048220753 0.0021637853 0.0045371505 + 113400 0.0034694019 0.0017261755 0.0034337718 + 113500 0.0028555001 0.0017978107 0.0032032522 + 113600 0.0038160864 0.0019394441 0.0038176741 + 113700 0.0051026834 0.0019772327 0.0044887097 + 113800 0.0057202246 0.0017174698 0.0045328929 + 113900 0.0036459749 0.0017787702 0.0035732735 + 114000 0.004100491 0.0020308459 0.0040490563 + 114100 0.0060683705 0.0026381085 0.0056248846 + 114200 0.0042356838 0.002653225 0.0047379756 + 114300 0.0049689339 0.0022522125 0.0046978597 + 114400 0.0055981488 0.002042049 0.0047973879 + 114500 0.0051720217 0.0020784013 0.0046240058 + 114600 0.0037907359 0.002648379 0.0045141318 + 114700 0.0050725561 0.0029475317 0.0054441804 + 114800 0.0057804717 0.0029875435 0.0058326194 + 114900 0.0040782502 0.0023984127 0.0044056765 + 115000 0.0050217842 0.0022201833 0.0046918428 + 115100 0.0034091961 0.0023163763 0.00399434 + 115200 0.0060320476 0.0024178117 0.0053867101 + 115300 0.0052912661 0.0020885258 0.0046928208 + 115400 0.003422844 0.0021764592 0.0038611402 + 115500 0.004730411 0.0023055035 0.0046337527 + 115600 0.0053242819 0.0023760269 0.0049965719 + 115700 0.0043921937 0.0022184318 0.0043802147 + 115800 0.0044492301 0.0018593868 0.0040492423 + 115900 0.0037998759 0.0021626528 0.0040329043 + 116000 0.0048662605 0.0025678506 0.0049629632 + 116100 0.0050899396 0.0029651278 0.0054703324 + 116200 0.0067846398 0.002614727 0.005954042 + 116300 0.0053199105 0.0028143115 0.005432705 + 116400 0.0056888891 0.002941603 0.0057416031 + 116500 0.0056748975 0.0023509903 0.0051441039 + 116600 0.0050680727 0.0018616206 0.0043560626 + 116700 0.0050659574 0.0022472854 0.0047406863 + 116800 0.0062534126 0.0024037116 0.0054815632 + 116900 0.0056687805 0.0025620235 0.0053521264 + 117000 0.0054114843 0.0021147099 0.0047781748 + 117100 0.0051686178 0.0018913607 0.0044352897 + 117200 0.0044496981 0.0015938859 0.0037839716 + 117300 0.0046085236 0.0018861793 0.004154437 + 117400 0.0043476439 0.0022807209 0.0044205769 + 117500 0.0073424858 0.0024627708 0.0060766506 + 117600 0.0055513198 0.0027237688 0.005456059 + 117700 0.0060147829 0.0021693187 0.0051297197 + 117800 0.0054780927 0.0023697107 0.0050659594 + 117900 0.0049942153 0.0024835948 0.0049416852 + 118000 0.0067394914 0.002396785 0.0057138784 + 118100 0.0041565241 0.0025090079 0.0045547971 + 118200 0.0038904858 0.0025537339 0.0044685824 + 118300 0.0053778988 0.0027956823 0.0054426169 + 118400 0.005001805 0.0029863762 0.0054482021 + 118500 0.0053349547 0.0025003834 0.0051261814 + 118600 0.0043108555 0.0029519907 0.0050737399 + 118700 0.0055457226 0.0028630136 0.005592549 + 118800 0.0065623386 0.0024374146 0.0056673157 + 118900 0.0054821589 0.0019361448 0.0046343949 + 119000 0.0042126433 0.0020391273 0.0041125377 + 119100 0.0055694156 0.0026603463 0.005401543 + 119200 0.0051168374 0.0030146285 0.005533072 + 119300 0.0051990231 0.0028050804 0.0053639746 + 119400 0.0058599787 0.0021309785 0.0050151867 + 119500 0.0055486418 0.0021205394 0.0048515116 + 119600 0.0046034986 0.0020266335 0.0042924179 + 119700 0.0058636782 0.0021689642 0.0050549933 + 119800 0.0060113491 0.0022955208 0.0052542317 + 119900 0.0044097161 0.0022726831 0.0044430903 + 120000 0.0054976009 0.0026431129 0.0053489634 + 120100 0.0068618634 0.0025349271 0.0059122505 + 120200 0.005155887 0.0026784678 0.0052161309 + 120300 0.0035259762 0.0026037182 0.0043391596 + 120400 0.0047606948 0.0027079384 0.0050510929 + 120500 0.0061725787 0.0025611608 0.0055992269 + 120600 0.0042758509 0.0026487464 0.0047532668 + 120700 0.0060094104 0.0020413633 0.00499912 + 120800 0.0044404898 0.0022386235 0.004424177 + 120900 0.0031601524 0.0026053147 0.0041607022 + 121000 0.0043943974 0.0020954127 0.0042582802 + 121100 0.0055018004 0.0021312545 0.0048391719 + 121200 0.0058663316 0.0022997006 0.0051870356 + 121300 0.0057914138 0.0020347143 0.0048851758 + 121400 0.0038209397 0.0017813147 0.0036619335 + 121500 0.0051777711 0.001722084 0.0042705182 + 121600 0.0048730656 0.0021784829 0.0045769448 + 121700 0.0044372061 0.0024613885 0.0046453259 + 121800 0.0054916576 0.0021942862 0.0048972114 + 121900 0.0050096428 0.0025205746 0.0049862582 + 122000 0.0059852727 0.0028956349 0.0058415113 + 122100 0.004876778 0.0025629894 0.0049632786 + 122200 0.0064582388 0.0024590799 0.0056377443 + 122300 0.005207537 0.0023167614 0.004879846 + 122400 0.0060788289 0.0023721426 0.0053640662 + 122500 0.007036895 0.0020375471 0.0055010188 + 122600 0.0057464298 0.0023298968 0.0051582177 + 122700 0.0054505133 0.0025179164 0.005200591 + 122800 0.0048440548 0.0022975971 0.0046817804 + 122900 0.0061158921 0.0018251917 0.0048353573 + 123000 0.0050629404 0.0019396872 0.0044316032 + 123100 0.0049535351 0.0025734189 0.0050114869 + 123200 0.0050030272 0.0032938609 0.0057562884 + 123300 0.0063478896 0.0031506764 0.0062750283 + 123400 0.0048523397 0.0032083216 0.0055965825 + 123500 0.0054905205 0.002810325 0.0055126905 + 123600 0.0036159645 0.0028206132 0.0046003457 + 123700 0.0054577593 0.0023946437 0.0050808846 + 123800 0.0065929329 0.0028619959 0.006106955 + 123900 0.0054631382 0.0031282967 0.005817185 + 124000 0.0051049964 0.0024910788 0.0050036942 + 124100 0.0062730758 0.0020778036 0.0051653331 + 124200 0.0069350405 0.0024365781 0.0058499183 + 124300 0.0039574666 0.0028721492 0.0048199648 + 124400 0.0056091341 0.0022874944 0.0050482401 + 124500 0.0049213303 0.0022836227 0.0047058399 + 124600 0.0065327543 0.0023508048 0.0055661448 + 124700 0.0045150727 0.0026262552 0.0048485176 + 124800 0.0040655283 0.0032282185 0.0052292207 + 124900 0.0046462522 0.0027416975 0.0050285248 + 125000 0.0066115552 0.0020427052 0.00529683 + 125100 0.0046068614 0.0021241219 0.0043915615 + 125200 0.0062828661 0.0022294456 0.0053217938 + 125300 0.0048188048 0.0022377497 0.0046095052 + 125400 0.0035050634 0.0029051619 0.0046303103 + 125500 0.0058003241 0.0033189801 0.0061738271 + 125600 0.0058217882 0.0030288913 0.0058943027 + 125700 0.0043775348 0.0027651852 0.0049197531 + 125800 0.0049623733 0.0029785912 0.0054210093 + 125900 0.0041056727 0.002909505 0.0049302658 + 126000 0.0050888102 0.0027874523 0.005292101 + 126100 0.004465322 0.0024920223 0.0046897979 + 126200 0.0056908625 0.002483521 0.0052844924 + 126300 0.0034215635 0.0024732619 0.0041573127 + 126400 0.0055211923 0.001927754 0.0046452158 + 126500 0.0054829423 0.0021818526 0.0048804883 + 126600 0.0041891637 0.0027751961 0.0048370501 + 126700 0.0053075452 0.0029052252 0.0055175326 + 126800 0.0055542975 0.0028716565 0.0056054123 + 126900 0.0053818397 0.0025559248 0.005204799 + 127000 0.0047724154 0.0027848479 0.0051337712 + 127100 0.0060588083 0.0030663033 0.006048373 + 127200 0.0069062275 0.003046809 0.0064459678 + 127300 0.0057357435 0.0025238685 0.0053469298 + 127400 0.0062464204 0.0025990457 0.0056734557 + 127500 0.0056152073 0.0031367784 0.0059005132 + 127600 0.0055890314 0.0033984448 0.0061492962 + 127700 0.005081292 0.0030074347 0.0055083831 + 127800 0.0075319421 0.0019689345 0.0056760623 + 127900 0.0074698731 0.00191041 0.0055869882 + 128000 0.0048861371 0.0020599078 0.0044648034 + 128100 0.0051769531 0.0021126761 0.0046607077 + 128200 0.0043320482 0.0022472325 0.0043794124 + 128300 0.0049999537 0.0020540965 0.0045150113 + 128400 0.0046618541 0.00201134 0.0043058463 + 128500 0.0042929242 0.0023161351 0.0044290587 + 128600 0.0050364663 0.0025994483 0.0050783341 + 128700 0.0060486235 0.0026905622 0.0056676191 + 128800 0.0058387175 0.0028499394 0.0057236831 + 128900 0.0059321943 0.0024285937 0.0053483456 + 129000 0.004044847 0.0025625415 0.0045533647 + 129100 0.0052119231 0.0027574849 0.0053227283 + 129200 0.0058499672 0.0023214853 0.005200766 + 129300 0.0039899488 0.0026966156 0.0046604185 + 129400 0.0045442292 0.0024916553 0.0047282681 + 129500 0.0047372678 0.0028084949 0.0051401189 + 129600 0.0028060662 0.0033409997 0.0047221103 + 129700 0.0047194486 0.0027549832 0.0050778368 + 129800 0.0046831219 0.0020609588 0.0043659329 + 129900 0.0053354582 0.0018842442 0.00451029 + 130000 0.0061633004 0.0020731218 0.0051066212 + 130100 0.0051133952 0.0026241038 0.0051408529 + 130200 0.0051791812 0.0024846841 0.0050338124 + 130300 0.0044298086 0.0023899425 0.0045702389 + 130400 0.0065336964 0.002260248 0.0054760517 + 130500 0.0048874643 0.0025500898 0.0049556387 + 130600 0.0049265868 0.002771278 0.0051960824 + 130700 0.0056303972 0.0025719422 0.0053431533 + 130800 0.0046228583 0.0028413255 0.0051166386 + 130900 0.0055856956 0.0027935096 0.0055427191 + 131000 0.0058177224 0.0027127038 0.005576114 + 131100 0.0057808569 0.0022982475 0.005143513 + 131200 0.0044260922 0.0023774704 0.0045559377 + 131300 0.0045073072 0.0025689318 0.004787372 + 131400 0.0055932398 0.0029619637 0.0057148865 + 131500 0.0045891646 0.0031582302 0.0054169596 + 131600 0.0057742996 0.0026092867 0.0054513248 + 131700 0.0052629691 0.0023478076 0.0049381752 + 131800 0.0040266758 0.0020894678 0.0040713473 + 131900 0.0053909026 0.0018078888 0.0044612236 + 132000 0.0040260131 0.0021097088 0.0040912621 + 132100 0.0048898157 0.0020752573 0.0044819635 + 132200 0.004626272 0.0018997496 0.0041767428 + 132300 0.0050406912 0.0021240114 0.0046049766 + 132400 0.0029452407 0.0022202725 0.0036698831 + 132500 0.0061935129 0.0020373788 0.0050857484 + 132600 0.0058120052 0.0020049159 0.0048655122 + 132700 0.0053977922 0.0024189374 0.0050756633 + 132800 0.0048711453 0.0030761394 0.0054736562 + 132900 0.0059117495 0.0024504002 0.0053600894 + 133000 0.0059669865 0.0019646343 0.0049015104 + 133100 0.0039427728 0.0025435799 0.0044841634 + 133200 0.0064706356 0.0028405334 0.0060252993 + 133300 0.0057146231 0.003138638 0.0059513041 + 133400 0.0065503105 0.0027114011 0.005935382 + 133500 0.0037840325 0.0022161743 0.0040786278 + 133600 0.0055606164 0.0020836098 0.0048204757 + 133700 0.0045414349 0.0023213883 0.0045566258 + 133800 0.0044653486 0.0023564968 0.0045542856 + 133900 0.004733574 0.0026987709 0.0050285769 + 134000 0.0053029481 0.0027682111 0.0053782559 + 134100 0.0061319922 0.0029554406 0.0059735305 + 134200 0.0056081365 0.0030222152 0.0057824699 + 134300 0.0034037678 0.0033750914 0.0050503833 + 134400 0.0055665721 0.0030824779 0.0058222751 + 134500 0.0043160383 0.0029930636 0.0051173637 + 134600 0.0048231237 0.0032451515 0.0056190327 + 134700 0.0050626034 0.0033158102 0.0058075603 + 134800 0.0050625978 0.0032756731 0.0057674205 + 134900 0.0045849215 0.0032892909 0.0055459319 + 135000 0.0052736405 0.0035369115 0.0061325315 + 135100 0.0054321458 0.0032571947 0.005930829 + 135200 0.0054925156 0.0030434903 0.0057468379 + 135300 0.0043735617 0.0031685348 0.0053211472 + 135400 0.0034969695 0.0027639024 0.0044850671 + 135500 0.0057137539 0.0024396305 0.0052518688 + 135600 0.0044765157 0.0019475889 0.0041508739 + 135700 0.0040812298 0.0021127334 0.0041214637 + 135800 0.0046856109 0.0024689695 0.0047751687 + 135900 0.0049962108 0.0027340059 0.0051930784 + 136000 0.0048193068 0.002522858 0.0048948605 + 136100 0.005870423 0.0025362551 0.005425604 + 136200 0.0041325019 0.0023371721 0.0043711379 + 136300 0.006241746 0.0020084824 0.0050805918 + 136400 0.0041903692 0.0020927141 0.0041551615 + 136500 0.006166484 0.0020801095 0.0051151758 + 136600 0.0049149818 0.0022305961 0.0046496887 + 136700 0.0055636976 0.002695324 0.0054337064 + 136800 0.005442451 0.0024611479 0.0051398543 + 136900 0.0058805175 0.0019086884 0.0048030056 + 137000 0.0043049695 0.0022763366 0.0043951887 + 137100 0.004934833 0.0025196875 0.0049485506 + 137200 0.0043020894 0.0023049504 0.004422385 + 137300 0.0041280661 0.0021135578 0.0041453403 + 137400 0.0041516031 0.0023681843 0.0044115514 + 137500 0.0054093119 0.0021891235 0.0048515192 + 137600 0.0041270752 0.0021033593 0.0041346541 + 137700 0.0049015261 0.0020122757 0.0044247456 + 137800 0.0037433563 0.0017927659 0.0036351991 + 137900 0.004834452 0.0017033404 0.0040827972 + 138000 0.0043063554 0.0020785304 0.0041980647 + 138100 0.0055768244 0.0023714152 0.0051162585 + 138200 0.0040591339 0.0022178718 0.0042157268 + 138300 0.0055555362 0.0019974996 0.0047318651 + 138400 0.0054244654 0.0017079486 0.0043778027 + 138500 0.0054201271 0.0020796639 0.0047473827 + 138600 0.004600143 0.002201537 0.0044656699 + 138700 0.004695058 0.0021651919 0.0044760408 + 138800 0.0052203067 0.002585019 0.0051543887 + 138900 0.0042650019 0.0027784499 0.0048776306 + 139000 0.0042931545 0.0025036698 0.0046167068 + 139100 0.004535431 0.0024286944 0.0046609769 + 139200 0.0047371456 0.0033003593 0.0056319231 + 139300 0.0053935666 0.0033301444 0.0059847904 + 139400 0.0041361254 0.002717869 0.0047536182 + 139500 0.0043344344 0.0019977906 0.004131145 + 139600 0.0047656207 0.0022821326 0.0046277115 + 139700 0.0061558522 0.001929459 0.0049592926 + 139800 0.0051091434 0.0018323778 0.0043470343 + 139900 0.0048341955 0.0022556154 0.004634946 + 140000 0.0044517964 0.0024630025 0.004654121 + 140100 0.0049872425 0.0027743964 0.0052290548 + 140200 0.0072650145 0.0028178962 0.0063936456 + 140300 0.0052021186 0.0028341116 0.0053945293 + 140400 0.0063391101 0.0027307079 0.0058507387 + 140500 0.0049561053 0.0025924474 0.0050317804 + 140600 0.0060877403 0.0023847349 0.0053810446 + 140700 0.0064043849 0.0021052841 0.0052574423 + 140800 0.0047195156 0.0023749768 0.0046978634 + 140900 0.007208189 0.0024139204 0.0059617009 + 141000 0.004350346 0.0023799695 0.0045211554 + 141100 0.0050733663 0.0023011971 0.0047982446 + 141200 0.0052066066 0.0020279046 0.0045905313 + 141300 0.0040437095 0.001786611 0.0037768743 + 141400 0.0034312779 0.0019499367 0.0036387688 + 141500 0.0049743593 0.0019635914 0.0044119089 + 141600 0.0056646822 0.0021824926 0.0049705783 + 141700 0.0048801102 0.0023978828 0.0047998121 + 141800 0.0056664508 0.0022673822 0.0050563384 + 141900 0.0049605395 0.0027058251 0.0051473406 + 142000 0.0045537731 0.0028562507 0.0050975609 + 142100 0.0043863223 0.0027280266 0.0048869197 + 142200 0.0068364968 0.0019940679 0.0053589061 + 142300 0.0045264526 0.0019318108 0.0041596742 + 142400 0.0053183442 0.0020891196 0.0047067421 + 142500 0.0048517516 0.0024431134 0.0048310848 + 142600 0.0049335618 0.0024489846 0.0048772221 + 142700 0.0047899531 0.002363138 0.004720693 + 142800 0.0050512064 0.0027941457 0.0052802863 + 142900 0.005271055 0.0026083642 0.0052027116 + 143000 0.0055108297 0.0025999314 0.0053122929 + 143100 0.003849698 0.0023040891 0.0041988623 + 143200 0.005076521 0.0022889912 0.0047875914 + 143300 0.0063388741 0.0026773883 0.0057973028 + 143400 0.005074048 0.0029735912 0.0054709742 + 143500 0.0045658087 0.0028406423 0.0050878763 + 143600 0.0042178797 0.0029264081 0.0050023958 + 143700 0.006071139 0.0029937276 0.0059818663 + 143800 0.0038548674 0.0028961012 0.0047934187 + 143900 0.0047907539 0.0029521182 0.0053100674 + 144000 0.004051006 0.0029744773 0.0049683318 + 144100 0.0041696486 0.002326428 0.0043786769 + 144200 0.0040776937 0.0024514021 0.004458392 + 144300 0.0044547426 0.0023645995 0.0045571681 + 144400 0.0063429704 0.0023171288 0.0054390596 + 144500 0.0049405097 0.0029854552 0.0054171123 + 144600 0.0063985728 0.0034607391 0.0066100366 + 144700 0.0053398454 0.0031138728 0.005742078 + 144800 0.0053244541 0.0027970502 0.0054176799 + 144900 0.0066019182 0.002481707 0.0057310886 + 145000 0.0065963027 0.0025945723 0.0058411901 + 145100 0.0047295012 0.0033560526 0.005683854 + 145200 0.0044692256 0.003122228 0.0053219249 + 145300 0.0040984959 0.002968483 0.0049857115 + 145400 0.0045752692 0.0029314615 0.0051833518 + 145500 0.0051731723 0.0031541417 0.0057003124 + 145600 0.0062176177 0.0030547501 0.0061149838 + 145700 0.0052082572 0.0026764417 0.0052398808 + 145800 0.0055928923 0.0025357027 0.0052884543 + 145900 0.0052465821 0.0024035239 0.004985826 + 146000 0.0045127164 0.002324651 0.0045457536 + 146100 0.0061511005 0.0025600045 0.0055874992 + 146200 0.0044868288 0.0023141282 0.0045224893 + 146300 0.0044099885 0.0021588465 0.0043293877 + 146400 0.0053827902 0.0020057928 0.0046551348 + 146500 0.0045209212 0.0020148068 0.0042399477 + 146600 0.0041805669 0.0023147522 0.004372375 + 146700 0.003009313 0.0024294754 0.0039106217 + 146800 0.0033295842 0.0019653883 0.003604168 + 146900 0.0045428791 0.0018298706 0.004065819 + 147000 0.0044569555 0.0018626668 0.0040563245 + 147100 0.0062009018 0.0017128779 0.0047648842 + 147200 0.006695771 0.0016677826 0.0049633574 + 147300 0.0043740872 0.0019195177 0.0040723887 + 147400 0.0046416205 0.0025261182 0.0048106658 + 147500 0.0049006603 0.0026090649 0.0050211087 + 147600 0.0047928407 0.0025958463 0.0049548226 + 147700 0.0038757774 0.0027752482 0.0046828574 + 147800 0.0067788432 0.0023115491 0.005648011 + 147900 0.0056646527 0.002535687 0.0053237583 + 148000 0.0037195421 0.0027412867 0.0045719988 + 148100 0.0049094754 0.00257115 0.0049875324 + 148200 0.0053425902 0.002708271 0.0053378271 + 148300 0.0047196359 0.0026062418 0.0049291876 + 148400 0.0052669312 0.0027087036 0.0053010213 + 148500 0.0043674145 0.0029363391 0.005085926 + 148600 0.0039953601 0.0029548068 0.0049212731 + 148700 0.0041804859 0.0028292585 0.0048868414 + 148800 0.0049284935 0.0022032755 0.0046290184 + 148900 0.0048773529 0.00223882 0.0046393921 + 149000 0.0052299321 0.0024087809 0.0049828881 + 149100 0.0043195952 0.0024744105 0.0046004613 + 149200 0.0049246643 0.0025886379 0.0050124961 + 149300 0.0037258049 0.0030963076 0.0049301022 + 149400 0.0045833493 0.0029329696 0.0051888368 + 149500 0.0051001373 0.0022291766 0.0047394004 + 149600 0.0050224004 0.0026458062 0.0051177689 + 149700 0.0061461834 0.0027452009 0.0057702755 + 149800 0.0039368717 0.0031180447 0.0050557238 + 149900 0.0051744347 0.0034325976 0.0059793897 + 150000 0.005478931 0.0031025499 0.0057992112 + 150100 0.0041451731 0.0033666076 0.00540681 + 150200 0.0046261991 0.0028921689 0.0051691263 + 150300 0.0063338932 0.0021398637 0.0052573267 + 150400 0.003885173 0.0021817416 0.0040939752 + 150500 0.0036090351 0.0021634344 0.0039397564 + 150600 0.0037674098 0.0022922468 0.0041465189 + 150700 0.0048951807 0.0024764564 0.0048858031 + 150800 0.0052566645 0.0028145934 0.005401858 + 150900 0.0044200651 0.0029924094 0.0051679102 + 151000 0.0046559319 0.0028749819 0.0051665733 + 151100 0.0053568603 0.0029239319 0.0055605116 + 151200 0.00438384 0.0027202226 0.0048778938 + 151300 0.0051180403 0.0026043869 0.0051234223 + 151400 0.0046021348 0.0024565274 0.0047216406 + 151500 0.0063719135 0.0022237415 0.0053599177 + 151600 0.0045268292 0.0024988364 0.0047268852 + 151700 0.0046030069 0.0026060672 0.0048716097 + 151800 0.0041367387 0.0022417345 0.0042777856 + 151900 0.0053458171 0.0020370252 0.0046681696 + 152000 0.0046837685 0.0021594738 0.0044647662 + 152100 0.0059287559 0.0018982533 0.0048163128 + 152200 0.0056580692 0.0021586751 0.004943506 + 152300 0.0062376802 0.0022354487 0.0053055569 + 152400 0.0048410283 0.0026941635 0.0050768571 + 152500 0.0036130579 0.0027742061 0.004552508 + 152600 0.005296117 0.0024932441 0.0050999267 + 152700 0.0044105828 0.0019686232 0.0041394569 + 152800 0.0051597759 0.0018338518 0.004373429 + 152900 0.0054753218 0.0021054607 0.0048003457 + 153000 0.0038103663 0.0024007227 0.0042761374 + 153100 0.004349676 0.0027341886 0.0048750447 + 153200 0.0040984428 0.0024886931 0.0045058954 + 153300 0.0065740841 0.0021850546 0.0054207367 + 153400 0.0065390155 0.0030123788 0.0062308005 + 153500 0.0045930074 0.0027962789 0.0050568998 + 153600 0.0049767159 0.002395308 0.0048447853 + 153700 0.0055676754 0.0024891743 0.0052295146 + 153800 0.0051864306 0.0023535226 0.0049062189 + 153900 0.0050812584 0.0022715339 0.0047724657 + 154000 0.0041665572 0.0021679581 0.0042186855 + 154100 0.0054047477 0.0021899048 0.0048500541 + 154200 0.0046916586 0.0026594283 0.004968604 + 154300 0.00709988 0.0023794077 0.0058738799 + 154400 0.0051739573 0.0021848026 0.0047313597 + 154500 0.0048287756 0.0023323465 0.0047090095 + 154600 0.0048546674 0.0020242185 0.0044136251 + 154700 0.0044028069 0.0023567209 0.0045237274 + 154800 0.0068848862 0.0025653502 0.0059540051 + 154900 0.0053814084 0.0024833808 0.0051320427 + 155000 0.0042974001 0.0024252693 0.0045403959 + 155100 0.0047740781 0.0024326592 0.0047824007 + 155200 0.0052722761 0.0021590458 0.0047539942 + 155300 0.0038102207 0.0022326493 0.0041079923 + 155400 0.0043368363 0.0022416372 0.0043761739 + 155500 0.0047901291 0.0025992452 0.0049568869 + 155600 0.0061440399 0.0022925367 0.0053165564 + 155700 0.0064257107 0.0020888036 0.005251458 + 155800 0.006364827 0.001929953 0.0050626413 + 155900 0.0048658197 0.0018346731 0.0042295688 + 156000 0.0045378492 0.0022421703 0.004475643 + 156100 0.0034760259 0.0028460724 0.0045569289 + 156200 0.0050559735 0.0029886802 0.0054771672 + 156300 0.0044664065 0.0035289166 0.005727226 + 156400 0.007330828 0.0030849775 0.0066931194 + 156500 0.0057106066 0.0025212587 0.0053319479 + 156600 0.0047179648 0.0025330558 0.0048551791 + 156700 0.0045706978 0.0024802105 0.0047298508 + 156800 0.0036103554 0.0024427188 0.0042196905 + 156900 0.0056311258 0.0020886615 0.0048602312 + 157000 0.0044592956 0.0023553977 0.0045502073 + 157100 0.0048863433 0.0023599959 0.004764993 + 157200 0.0055586349 0.0019587662 0.0046946569 + 157300 0.0050101445 0.0018901937 0.0043561242 + 157400 0.0051078039 0.0017647673 0.0042787646 + 157500 0.0050884728 0.0013979148 0.0039023975 + 157600 0.0047904364 0.0013188242 0.0036766171 + 157700 0.004473834 0.0015970236 0.0037989888 + 157800 0.0048866482 0.0017060372 0.0041111844 + 157900 0.0049971645 0.0019306386 0.0043901805 + 158000 0.0054533856 0.0022015876 0.0048856758 + 158100 0.0059719786 0.0017923387 0.0047316719 + 158200 0.0051158298 0.0016303549 0.0041483024 + 158300 0.004939208 0.0016466873 0.0040777037 + 158400 0.0041910374 0.0019458286 0.0040086048 + 158500 0.0038395899 0.0022304381 0.0041202363 + 158600 0.005808132 0.0020963887 0.0049550786 + 158700 0.0044401755 0.0026484119 0.0048338108 + 158800 0.0038897891 0.0025377605 0.0044522661 + 158900 0.0052671644 0.0026255883 0.0052180208 + 159000 0.0051135594 0.0030255949 0.0055424249 + 159100 0.00539122 0.0028587238 0.0055122149 + 159200 0.0035233599 0.0027664795 0.0045006332 + 159300 0.0042749225 0.0026956346 0.004799698 + 159400 0.0063871833 0.0022900883 0.0054337801 + 159500 0.0060905803 0.0021283002 0.0051260077 + 159600 0.0053658299 0.0028752196 0.005516214 + 159700 0.0043152511 0.0028030278 0.0049269405 + 159800 0.0051012181 0.0025268671 0.0050376229 + 159900 0.0057182172 0.0020428749 0.0048573099 + 160000 0.0050126733 0.0021823979 0.0046495731 + 160100 0.0044349787 0.0018609664 0.0040438075 + 160200 0.0064211381 0.0019719653 0.0051323692 + 160300 0.0042516827 0.0025761229 0.004668748 + 160400 0.0037132174 0.002968183 0.0047957822 + 160500 0.0047315582 0.0027838288 0.0051126427 + 160600 0.0055756794 0.0025140677 0.0052583474 + 160700 0.0047145297 0.0025004353 0.0048208679 + 160800 0.0058541546 0.0027451935 0.0056265352 + 160900 0.0068074307 0.0025777998 0.0059283321 + 161000 0.0045200766 0.0027572056 0.0049819309 + 161100 0.0049959779 0.0022732305 0.0047321884 + 161200 0.004789949 0.0021224027 0.0044799558 + 161300 0.0083001242 0.0017979301 0.0058831475 + 161400 0.0042403272 0.0020939602 0.0041809962 + 161500 0.0047361322 0.0019393958 0.0042704609 + 161600 0.0060869439 0.0018939921 0.0048899098 + 161700 0.0048044462 0.0017452644 0.0041099528 + 161800 0.0052501157 0.0017629979 0.0043470392 + 161900 0.0058240045 0.0020049893 0.0048714915 + 162000 0.005579153 0.0026945042 0.0054404936 + 162100 0.0061340591 0.0028188378 0.005837945 + 162200 0.0064368144 0.0028653411 0.0060334607 + 162300 0.0047164735 0.00279588 0.0051172692 + 162400 0.0042258895 0.0024094173 0.0044893473 + 162500 0.0046004169 0.0020342274 0.004298495 + 162600 0.0047946731 0.0018968496 0.0042567277 + 162700 0.0046286024 0.0020574682 0.0043356084 + 162800 0.006249979 0.0024420843 0.0055182458 + 162900 0.004575863 0.002191549 0.0044437316 + 163000 0.0051335888 0.0019197887 0.0044464769 + 163100 0.0041945108 0.0017866343 0.0038511201 + 163200 0.00385167 0.0022974184 0.0041931622 + 163300 0.0042937394 0.0022760167 0.0043893416 + 163400 0.0059745671 0.0022716059 0.0052122131 + 163500 0.0045679375 0.002503683 0.0047519647 + 163600 0.0070550429 0.0024717409 0.0059441449 + 163700 0.0050841587 0.0024036662 0.0049060255 + 163800 0.0063055556 0.002303933 0.0054074486 + 163900 0.0048710114 0.0029762409 0.0053736918 + 164000 0.0055180222 0.002607834 0.0053237356 + 164100 0.0048878151 0.002887293 0.0052930145 + 164200 0.0057255377 0.0025532425 0.0053712806 + 164300 0.0056228798 0.0022370041 0.0050045152 + 164400 0.0039057823 0.001856004 0.0037783812 + 164500 0.0051347261 0.0018823902 0.0044096382 + 164600 0.0053132465 0.0027528138 0.0053679273 + 164700 0.0051767116 0.0024845248 0.0050324375 + 164800 0.0060031276 0.0017206864 0.0046753508 + 164900 0.0071640224 0.0019280943 0.0054541366 + 165000 0.0045053217 0.002176289 0.004393752 + 165100 0.006525895 0.0021178544 0.0053298183 + 165200 0.0052201631 0.0024129547 0.0049822537 + 165300 0.0049704285 0.0021934612 0.004639844 + 165400 0.0052599443 0.0023196235 0.0049085023 + 165500 0.0051850026 0.0024356092 0.0049876027 + 165600 0.0036473995 0.0022874995 0.0040827039 + 165700 0.0063998806 0.0018203652 0.0049703065 + 165800 0.004187435 0.0022655196 0.0043265227 + 165900 0.0048269326 0.0028658605 0.0052416164 + 166000 0.0042092167 0.0029349026 0.0050066264 + 166100 0.0044106734 0.0027142028 0.0048850811 + 166200 0.0053084381 0.0022853969 0.0048981438 + 166300 0.0040167274 0.0023739161 0.0043508992 + 166400 0.0053774108 0.0025217374 0.0051684318 + 166500 0.0050736182 0.0030905574 0.0055877289 + 166600 0.0047610532 0.0025567807 0.0049001116 + 166700 0.0082823707 0.0021640545 0.0062405338 + 166800 0.0039416167 0.0026447451 0.0045847596 + 166900 0.0039626863 0.0026342526 0.0045846372 + 167000 0.004866166 0.0027660682 0.0051611342 + 167100 0.0053119133 0.0026433191 0.0052577764 + 167200 0.0039450686 0.0024036588 0.0043453722 + 167300 0.0044687107 0.0022339266 0.0044333702 + 167400 0.0042207279 0.0021276579 0.0042050475 + 167500 0.0048726315 0.0023172746 0.0047155229 + 167600 0.0065045148 0.0021664512 0.0053678921 + 167700 0.0054189373 0.0026266296 0.0052937628 + 167800 0.006270399 0.0025261558 0.0056123678 + 167900 0.0059603734 0.0023051317 0.005238753 + 168000 0.004601902 0.0029428973 0.0052078959 + 168100 0.0042038409 0.0034805486 0.0055496265 + 168200 0.004503682 0.0031735391 0.0053901951 + 168300 0.0051434476 0.0027643564 0.005295897 + 168400 0.0055251656 0.0026517178 0.0053711353 + 168500 0.0044693906 0.0026239062 0.0048236844 + 168600 0.0043003172 0.002428672 0.0045452344 + 168700 0.0046529056 0.0022579688 0.0045480708 + 168800 0.0057803935 0.0022428146 0.005087852 + 168900 0.0041531811 0.0022505248 0.0042946687 + 169000 0.0050114607 0.0022707168 0.0047372951 + 169100 0.0049966688 0.0020877112 0.0045470092 + 169200 0.0042695869 0.0020589752 0.0041604124 + 169300 0.0037850657 0.0020456992 0.0039086613 + 169400 0.0037505561 0.0018595978 0.0037055746 + 169500 0.0053129535 0.0019227939 0.0045377631 + 169600 0.0033123446 0.0026934075 0.0043237021 + 169700 0.0046691056 0.0025662952 0.0048643706 + 169800 0.0056972682 0.0021446054 0.0049487296 + 169900 0.0043762076 0.0022621432 0.0044160579 + 170000 0.0039978915 0.0024490911 0.0044168033 + 170100 0.0058259515 0.0020086851 0.0048761456 + 170200 0.004594842 0.0023685841 0.0046301079 + 170300 0.0058961466 0.0028317685 0.0057337782 + 170400 0.0040240349 0.0031981825 0.0051787622 + 170500 0.0052319462 0.0030502171 0.0056253156 + 170600 0.0043770639 0.003263595 0.0054179311 + 170700 0.0071224529 0.0032582279 0.0067638102 + 170800 0.0056266609 0.0029927657 0.0057621378 + 170900 0.0050764454 0.0030367724 0.0055353354 + 171000 0.0046774974 0.0028672401 0.0051694458 + 171100 0.0066544699 0.0027897136 0.0060649606 + 171200 0.0060287432 0.0029634817 0.0059307538 + 171300 0.0050675228 0.0032023654 0.0056965368 + 171400 0.0047701271 0.0024037362 0.0047515332 + 171500 0.004755523 0.002034303 0.004374912 + 171600 0.0047696466 0.0021079117 0.0044554722 + 171700 0.0049800606 0.0023483311 0.0047994547 + 171800 0.0059610068 0.0028178422 0.0057517752 + 171900 0.0052571939 0.0029103835 0.0054979086 + 172000 0.0054211066 0.0025834827 0.0052516836 + 172100 0.0047057055 0.0026764178 0.0049925072 + 172200 0.0056367952 0.0024734452 0.0052478053 + 172300 0.0050380179 0.0027374153 0.0052170647 + 172400 0.0055075265 0.003091689 0.0058024247 + 172500 0.0041610728 0.0029650193 0.0050130473 + 172600 0.0048153312 0.002699441 0.0050694868 + 172700 0.004533881 0.0028262393 0.0050577588 + 172800 0.0044995632 0.0024372071 0.0046518359 + 172900 0.0041867305 0.002823669 0.0048843255 + 173000 0.0039560732 0.0025763664 0.0045234962 + 173100 0.0038019644 0.0024508006 0.00432208 + 173200 0.0050971882 0.0023386003 0.0048473726 + 173300 0.0044664584 0.0023440817 0.0045424167 + 173400 0.0037588818 0.0024128455 0.0042629201 + 173500 0.0037711143 0.0024929829 0.0043490782 + 173600 0.0040983229 0.0029191324 0.0049362757 + 173700 0.0037259616 0.0033559124 0.0051897841 + 173800 0.0052786962 0.003062025 0.0056601332 + 173900 0.0044701527 0.0025494271 0.0047495804 + 174000 0.0045908365 0.002151629 0.0044111813 + 174100 0.0041275566 0.0024077895 0.0044393213 + 174200 0.0064101762 0.0024841438 0.0056391525 + 174300 0.0069543965 0.0026349571 0.0060578242 + 174400 0.0049262888 0.0028193177 0.0052439755 + 174500 0.0046105499 0.0029546973 0.0052239523 + 174600 0.0060557522 0.0024333438 0.0054139093 + 174700 0.0046537648 0.0023150227 0.0046055476 + 174800 0.0045873518 0.0023306284 0.0045884656 + 174900 0.0058886673 0.0019996871 0.0048980156 + 175000 0.004833767 0.0021873666 0.0045664862 + 175100 0.0055592328 0.0026604655 0.0053966504 + 175200 0.0050455813 0.0023215866 0.0048049587 + 175300 0.004606741 0.0021657853 0.0044331656 + 175400 0.006714832 0.0025416883 0.0058466446 + 175500 0.0047361398 0.002521128 0.0048521968 + 175600 0.0058940042 0.0021432836 0.0050442388 + 175700 0.0060304384 0.0023581941 0.0053263005 + 175800 0.0055764904 0.0026984514 0.0054431302 + 175900 0.0061276647 0.0026334777 0.0056494376 + 176000 0.0036158989 0.0033117766 0.0050914768 + 176100 0.0049381256 0.0029069134 0.0053373972 + 176200 0.0045843308 0.002224221 0.0044805713 + 176300 0.0041040119 0.0020266982 0.0040466415 + 176400 0.0043250177 0.0022945117 0.0044232314 + 176500 0.0049515395 0.002327977 0.0047650628 + 176600 0.0066364019 0.0021558244 0.0054221785 + 176700 0.0056734508 0.0021036378 0.0048960394 + 176800 0.0044795284 0.0020718444 0.0042766123 + 176900 0.004429968 0.0023062702 0.0044866451 + 177000 0.0038843256 0.0021319862 0.0040438028 + 177100 0.0051287082 0.0017971015 0.0043213875 + 177200 0.0043456033 0.0019055318 0.0040443835 + 177300 0.0036938476 0.001864423 0.0036824886 + 177400 0.005353584 0.002009309 0.0046442762 + 177500 0.0056777496 0.002047976 0.0048424934 + 177600 0.0053362578 0.0022352067 0.004861646 + 177700 0.0072789445 0.0025067676 0.0060893731 + 177800 0.0052113639 0.0025605465 0.0051255147 + 177900 0.0040045986 0.0025763876 0.004547401 + 178000 0.0038106573 0.0023007795 0.0041763374 + 178100 0.0044620182 0.0022879155 0.0044840651 + 178200 0.0062205703 0.0025996041 0.0056612911 + 178300 0.0067057287 0.0023977689 0.0056982447 + 178400 0.0075872501 0.0025457545 0.0062801042 + 178500 0.0042827373 0.0027738367 0.0048817464 + 178600 0.0052678731 0.0024783095 0.0050710908 + 178700 0.0062825693 0.0022961499 0.005388352 + 178800 0.0056837357 0.0024095115 0.0052069752 + 178900 0.004457476 0.0025332332 0.0047271472 + 179000 0.0049634064 0.002830182 0.0052731086 + 179100 0.0054959026 0.0027675781 0.0054725926 + 179200 0.0038654607 0.0028319345 0.0047344659 + 179300 0.0040167055 0.0030000649 0.0049770372 + 179400 0.0061077779 0.0028575107 0.0058636826 + 179500 0.0051631883 0.002308434 0.0048496907 + 179600 0.0051899889 0.0022150614 0.004769509 + 179700 0.0041925552 0.0029507972 0.0050143204 + 179800 0.0049002251 0.003274906 0.0056867355 + 179900 0.0060377371 0.0031000603 0.0060717591 + 180000 0.0065510111 0.002826037 0.0060503628 + 180100 0.0063514487 0.0029894874 0.0061155911 + 180200 0.0045493787 0.0033606461 0.0055997934 + 180300 0.0057827409 0.0031954592 0.006041652 + 180400 0.0065345079 0.0028787109 0.006094914 + 180500 0.0047549838 0.003121697 0.0054620406 + 180600 0.0043301131 0.0031631363 0.0052943638 + 180700 0.0049337465 0.0029488794 0.0053772078 + 180800 0.0059950137 0.0031395829 0.0060902537 + 180900 0.0066493201 0.0031876322 0.0064603445 + 181000 0.0053891136 0.0034357306 0.0060881849 + 181100 0.0058842607 0.0031307692 0.0060269288 + 181200 0.0048833339 0.0027527817 0.0051562976 + 181300 0.0057245047 0.0025542483 0.0053717779 + 181400 0.0072948196 0.0027314426 0.0063218617 + 181500 0.0046649088 0.0025285219 0.0048245317 + 181600 0.0053007682 0.0027190872 0.005328059 + 181700 0.0053181346 0.002906578 0.0055240974 + 181800 0.0072169871 0.002873179 0.0064252898 + 181900 0.0063524561 0.0030008467 0.0061274462 + 182000 0.0055311329 0.0037176931 0.0064400476 + 182100 0.005916655 0.003172738 0.0060848416 + 182200 0.004317268 0.0025404025 0.0046653078 + 182300 0.0039859707 0.0026548697 0.0046167147 + 182400 0.0046525878 0.0024992361 0.0047891817 + 182500 0.0068298201 0.0021612304 0.0055227825 + 182600 0.0051816135 0.0021067384 0.0046570638 + 182700 0.004577366 0.0019013689 0.0041542913 + 182800 0.0039049143 0.0017224324 0.0036443824 + 182900 0.0059364798 0.001968622 0.0048904831 + 183000 0.0043608698 0.0024721181 0.0046184837 + 183100 0.0054687645 0.00247023 0.0051618875 + 183200 0.0044091431 0.0025738311 0.0047439562 + 183300 0.0038630263 0.0024419022 0.0043432355 + 183400 0.005404858 0.0025212654 0.0051814689 + 183500 0.0042603235 0.002774655 0.004871533 + 183600 0.0051783386 0.0025950382 0.0051437517 + 183700 0.0040947305 0.0033383664 0.0053537416 + 183800 0.0061874133 0.0033602129 0.0064055803 + 183900 0.0052489017 0.0031962783 0.0057797221 + 184000 0.0056580527 0.002915296 0.0057001188 + 184100 0.0033940657 0.0028402745 0.0045107912 + 184200 0.0051293755 0.0028174347 0.0053420493 + 184300 0.0046134319 0.0030045677 0.0052752412 + 184400 0.0059603719 0.0024850072 0.0054186277 + 184500 0.00469942 0.00213304 0.0044460357 + 184600 0.0044436188 0.0020452775 0.0042323711 + 184700 0.0051361213 0.0028027069 0.0053306416 + 184800 0.0043787859 0.0027977696 0.0049529534 + 184900 0.0044249915 0.0022585554 0.0044364808 + 185000 0.0048326374 0.0023633924 0.0047419561 + 185100 0.0056491402 0.0029314382 0.0057118744 + 185200 0.0051209681 0.0032472922 0.0057677687 + 185300 0.0043691487 0.0031022814 0.0052527217 + 185400 0.0054380692 0.0027084587 0.0053850084 + 185500 0.0058089931 0.0020049544 0.0048640682 + 185600 0.0039391585 0.0024818884 0.0044206929 + 185700 0.0052949764 0.0026164544 0.0052225756 + 185800 0.0038003913 0.0023225432 0.0041930483 + 185900 0.0052731989 0.0021537645 0.0047491671 + 186000 0.0045421972 0.0022786903 0.004514303 + 186100 0.004827638 0.0023179328 0.0046940359 + 186200 0.005201922 0.002107941 0.004668262 + 186300 0.005119858 0.0024076076 0.0049275377 + 186400 0.004780693 0.0023052774 0.0046582748 + 186500 0.0039594362 0.0021850756 0.0041338606 + 186600 0.0035581362 0.0022808127 0.0040320829 + 186700 0.0037967575 0.0027198361 0.0045885527 + 186800 0.0062666415 0.0025739634 0.0056583261 + 186900 0.0044507918 0.0024861421 0.0046767662 + 187000 0.0049044299 0.0020343572 0.0044482563 + 187100 0.0044600965 0.0021878789 0.0043830826 + 187200 0.003360217 0.0026306935 0.0042845503 + 187300 0.0038437438 0.0025134666 0.0044053092 + 187400 0.0057689062 0.0020707356 0.0049101191 + 187500 0.0063154767 0.0019263696 0.0050347683 + 187600 0.0052670558 0.001974805 0.0045671841 + 187700 0.0051346185 0.0020493724 0.0045765674 + 187800 0.0045461866 0.0023494119 0.0045869881 + 187900 0.0036310124 0.0021478625 0.0039350014 + 188000 0.0059009723 0.0017618549 0.0046662397 + 188100 0.0041159463 0.0017718226 0.0037976399 + 188200 0.0043154224 0.0019632334 0.0040872304 + 188300 0.0035779086 0.0019857745 0.0037467764 + 188400 0.0058579582 0.0016029935 0.0044862073 + 188500 0.0056020734 0.0018621948 0.0046194653 + 188600 0.0047280361 0.0024473049 0.0047743852 + 188700 0.0057392539 0.0022984869 0.0051232759 + 188800 0.0051359675 0.0026443293 0.0051721884 + 188900 0.0055223274 0.0025944314 0.0053124519 + 189000 0.0043606915 0.0022104396 0.0043567175 + 189100 0.0047106649 0.0025570602 0.0048755906 + 189200 0.0032613585 0.0028898329 0.0044950328 + 189300 0.0038298328 0.0030517534 0.0049367492 + 189400 0.0045315987 0.0023109761 0.0045413723 + 189500 0.0061909886 0.0017933752 0.0048405024 + 189600 0.004641608 0.0021168472 0.0044013887 + 189700 0.0043150368 0.002352628 0.0044764352 + 189800 0.006154956 0.0024680198 0.0054974122 + 189900 0.0053459845 0.0028654379 0.0054966647 + 190000 0.0052082735 0.0035150019 0.006078449 + 190100 0.0047430902 0.0033319609 0.0056664506 + 190200 0.004887137 0.0031083396 0.0055137273 + 190300 0.0048071 0.0026185451 0.0049845396 + 190400 0.0071258177 0.0025871556 0.006094394 + 190500 0.0050914699 0.0033501096 0.0058560675 + 190600 0.0039442331 0.0037742374 0.0057155396 + 190700 0.0065908696 0.0030399279 0.0062838716 + 190800 0.0053141749 0.0029342236 0.0055497941 + 190900 0.0049275942 0.0032378526 0.0056631528 + 191000 0.0044064466 0.0032919071 0.005460705 + 191100 0.0047727134 0.0029186749 0.0052677448 + 191200 0.0045675289 0.0026224655 0.0048705461 + 191300 0.005418831 0.0028360733 0.0055031542 + 191400 0.0042352988 0.0030423519 0.005126913 + 191500 0.0046802972 0.0028837477 0.0051873315 + 191600 0.0048869188 0.0031398504 0.0055451307 + 191700 0.0057046925 0.0027231337 0.005530912 + 191800 0.0045709151 0.0023950212 0.0046447685 + 191900 0.0059866266 0.0021788956 0.0051254384 + 192000 0.0049267653 0.0025966451 0.0050215374 + 192100 0.0042612651 0.0029248143 0.0050221557 + 192200 0.0054673406 0.002406585 0.0050975417 + 192300 0.0054162079 0.0023360789 0.0050018688 + 192400 0.0034457624 0.0024301489 0.00412611 + 192500 0.0039041182 0.0021160154 0.0040375736 + 192600 0.0053231595 0.0020258705 0.0046458631 + 192700 0.0042929759 0.0025770569 0.004690006 + 192800 0.0043487344 0.0025913283 0.0047317211 + 192900 0.0053884768 0.0025689318 0.0052210728 + 193000 0.0029888008 0.0026801674 0.0041512178 + 193100 0.0043399517 0.0022050316 0.0043411016 + 193200 0.0056842373 0.001896826 0.0046945365 + 193300 0.0042074364 0.0025307244 0.004601572 + 193400 0.0054310212 0.0031917307 0.0058648114 + 193500 0.0059742655 0.0030096506 0.0059501094 + 193600 0.0042257419 0.0026422739 0.0047221312 + 193700 0.0054991484 0.0026675501 0.0053741622 + 193800 0.0040917816 0.0032179287 0.0052318525 + 193900 0.0043598867 0.0028307052 0.0049765869 + 194000 0.0044813342 0.0026532526 0.0048589092 + 194100 0.0041400281 0.0024913321 0.0045290021 + 194200 0.0037101187 0.0026229088 0.0044489828 + 194300 0.0036826624 0.0026526487 0.0044652091 + 194400 0.0038169305 0.0026486051 0.0045272506 + 194500 0.0046252405 0.0024972183 0.0047737039 + 194600 0.007326443 0.0023454917 0.0059514753 + 194700 0.003505101 0.0025592495 0.0042844164 + 194800 0.0043837455 0.0026486597 0.0048062844 + 194900 0.0040718306 0.003128906 0.0051330101 + 195000 0.0054968758 0.002381834 0.0050873276 + 195100 0.0049199604 0.0022307915 0.0046523345 + 195200 0.0050094729 0.002487821 0.0049534209 + 195300 0.0052049959 0.0028110953 0.0053729292 + 195400 0.0068117937 0.0026928515 0.0060455312 + 195500 0.0055754331 0.0028165243 0.0055606827 + 195600 0.0067078071 0.0033075575 0.0066090563 + 195700 0.0038275563 0.0033528897 0.0052367651 + 195800 0.0049965235 0.0029442901 0.0054035165 + 195900 0.0048885328 0.0024786058 0.0048846805 + 196000 0.0044646045 0.0023858466 0.0045832691 + 196100 0.0033719088 0.0023407875 0.0040003988 + 196200 0.0079409663 0.0021057959 0.0060142403 + 196300 0.0054939197 0.0026808234 0.005384862 + 196400 0.0057640215 0.0025960642 0.0054330435 + 196500 0.0048574977 0.0023874632 0.0047782628 + 196600 0.0056213421 0.0030756127 0.005842367 + 196700 0.0064244822 0.0036266354 0.0067886852 + 196800 0.0082350735 0.002787352 0.0068405522 + 196900 0.0052729442 0.0027321119 0.0053273891 + 197000 0.0050505058 0.0031094882 0.0055952841 + 197100 0.0051070217 0.0026560609 0.0051696731 + 197200 0.0056120085 0.0025227886 0.0052849491 + 197300 0.0056282957 0.0021218775 0.0048920543 + 197400 0.0053446496 0.0021085798 0.0047391495 + 197500 0.0060758412 0.0024553734 0.0054458264 + 197600 0.007246898 0.0034092875 0.0069761201 + 197700 0.0067717395 0.0038654933 0.0071984589 + 197800 0.004443783 0.0039055518 0.0060927263 + 197900 0.0057617168 0.0034661555 0.0063020005 + 198000 0.0061525572 0.0032547897 0.0062830014 + 198100 0.0046482249 0.002793406 0.0050812041 + 198200 0.0050179719 0.0024584711 0.0049282542 + 198300 0.0065396523 0.0021919551 0.0054106902 + 198400 0.0052152396 0.0027496606 0.0053165363 + 198500 0.004813808 0.0030021478 0.0053714439 + 198600 0.0045241292 0.0028914912 0.005118211 + 198700 0.0045343797 0.0028712899 0.0051030549 + 198800 0.0043320736 0.0030324068 0.0051645993 + 198900 0.0063951902 0.0028781393 0.006025772 + 199000 0.0042431107 0.0026259315 0.0047143376 + 199100 0.0052087744 0.0030187476 0.0055824412 + 199200 0.0045426063 0.0034427247 0.0056785387 + 199300 0.0056909976 0.0033809448 0.0061819827 + 199400 0.0046354746 0.0030595402 0.0053410628 + 199500 0.0064743181 0.0026770435 0.0058636219 + 199600 0.0051103114 0.0026412003 0.0051564317 + 199700 0.0044607612 0.002729424 0.0049249549 + 199800 0.0047726834 0.0025053506 0.0048544057 + 199900 0.0053367905 0.0020631634 0.004689865 + 200000 0.0054908571 0.0018362396 0.0045387708 + 200100 0.0045527902 0.0020656818 0.0043065082 + 200200 0.0035701539 0.002270461 0.0040276462 + 200300 0.003786901 0.0021699999 0.0040338652 + 200400 0.0049324641 0.0022165511 0.0046442483 + 200500 0.0048392274 0.0023821328 0.00476394 + 200600 0.0036111716 0.0025848896 0.0043622631 + 200700 0.0040940365 0.0027527892 0.0047678228 + 200800 0.0044400524 0.0024639167 0.004649255 + 200900 0.0065276777 0.0025066311 0.0057194725 + 201000 0.0049502096 0.0032750441 0.0057114754 + 201100 0.0059029209 0.0034641722 0.0063695161 + 201200 0.005237711 0.0032550291 0.005832965 + 201300 0.0047049675 0.002781364 0.0050970901 + 201400 0.0046967018 0.0027331241 0.005044782 + 201500 0.0082175309 0.0026781662 0.0067227322 + 201600 0.0056158929 0.0026443481 0.0054084203 + 201700 0.0052424922 0.0031907546 0.0057710437 + 201800 0.0055871524 0.0027345723 0.0054844989 + 201900 0.0050738587 0.0026502169 0.0051475067 + 202000 0.0053523292 0.0024793186 0.0051136681 + 202100 0.0059753228 0.002756283 0.0056972622 + 202200 0.0039996256 0.0033367246 0.0053052904 + 202300 0.0045303057 0.0032436003 0.0054733601 + 202400 0.0041793619 0.0028810192 0.0049380489 + 202500 0.0057857916 0.002499571 0.0053472654 + 202600 0.0043598797 0.0030500945 0.0051959728 + 202700 0.0045115082 0.0028628962 0.0050834041 + 202800 0.0055379886 0.0031744944 0.0059002232 + 202900 0.0065498461 0.0030585341 0.0062822865 + 203000 0.0058438834 0.002848772 0.0057250584 + 203100 0.0050508159 0.0031227013 0.0056086498 + 203200 0.0054595256 0.0025834245 0.0052705347 + 203300 0.004891038 0.0025155738 0.0049228816 + 203400 0.0049302231 0.0023647757 0.0047913699 + 203500 0.0043411637 0.0023675147 0.0045041811 + 203600 0.0039622971 0.0027285663 0.0046787594 + 203700 0.0052280638 0.0032571745 0.0058303621 + 203800 0.0053886879 0.0030955706 0.0057478154 + 203900 0.006275199 0.0027558231 0.0058443976 + 204000 0.0062037759 0.0024937707 0.0055471917 + 204100 0.0049648954 0.0026723069 0.0051159664 + 204200 0.006645251 0.0025882075 0.0058589169 + 204300 0.0071872394 0.0026445385 0.0061820079 + 204400 0.004942669 0.0028104162 0.0052431361 + 204500 0.003711986 0.0030748871 0.0049018802 + 204600 0.0061027855 0.0032083552 0.00621207 + 204700 0.0053530051 0.002817621 0.0054523031 + 204800 0.0086929575 0.0024933171 0.0067718821 + 204900 0.0053086187 0.002517263 0.0051300988 + 205000 0.0037012644 0.0030769824 0.0048986985 + 205100 0.0062157834 0.0030003902 0.0060597211 + 205200 0.0041359838 0.0026769022 0.0047125817 + 205300 0.0057795073 0.0025895133 0.0054341146 + 205400 0.0066820247 0.002280175 0.005568984 + 205500 0.0054414762 0.0023198119 0.0049980385 + 205600 0.0051700645 0.0026419558 0.0051865969 + 205700 0.0043256138 0.0023659064 0.0044949195 + 205800 0.0044634077 0.0024362562 0.0046330897 + 205900 0.0030894595 0.0024728147 0.003993408 + 206000 0.0044867908 0.0023565824 0.0045649248 + 206100 0.0052797085 0.0021715152 0.0047701217 + 206200 0.0051006559 0.0019909107 0.0045013898 + 206300 0.0049565698 0.0026592196 0.0050987813 + 206400 0.0049287298 0.0028922527 0.0053181119 + 206500 0.0051912889 0.0029120353 0.0054671228 + 206600 0.0055025205 0.0023448261 0.0050530979 + 206700 0.0046235569 0.0021110841 0.004386741 + 206800 0.0057252499 0.0023570365 0.005174933 + 206900 0.00482237 0.0025485278 0.0049220381 + 207000 0.0049893005 0.0027048026 0.0051604739 + 207100 0.0050913284 0.0028153758 0.005321264 + 207200 0.0059363507 0.0024832344 0.005405032 + 207300 0.0056337907 0.0025824252 0.0053553066 + 207400 0.0038662024 0.003176055 0.0050789515 + 207500 0.0055711367 0.0027601611 0.0055022049 + 207600 0.0074563527 0.0025548447 0.0062247683 + 207700 0.0061700799 0.0026526673 0.0056895035 + 207800 0.0053852936 0.0026693192 0.0053198933 + 207900 0.0050848399 0.00226964 0.0047723347 + 208000 0.0055414418 0.0020367382 0.0047641666 + 208100 0.0043496399 0.0020936959 0.0042345343 + 208200 0.0046774521 0.0021909922 0.0044931756 + 208300 0.0049882981 0.0022296181 0.0046847961 + 208400 0.0047669865 0.0025091106 0.0048553617 + 208500 0.0053923483 0.0023856588 0.0050397052 + 208600 0.0044672122 0.0025997266 0.0047984327 + 208700 0.0068281204 0.0028903409 0.0062510564 + 208800 0.0050874741 0.0024669823 0.0049709735 + 208900 0.0047176879 0.0023494041 0.0046713911 + 209000 0.0057667965 0.0027101512 0.0055484963 + 209100 0.0033983784 0.0028632735 0.0045359129 + 209200 0.0043536863 0.0028221188 0.0049649487 + 209300 0.0040080908 0.0028257116 0.0047984438 + 209400 0.0048354184 0.0033985738 0.0057785063 + 209500 0.0041313286 0.0032123237 0.005245712 + 209600 0.0048715752 0.0030137417 0.0054114701 + 209700 0.0055724553 0.0031856917 0.0059283846 + 209800 0.0037167717 0.0031179054 0.0049472539 + 209900 0.0054006195 0.0030862798 0.0057443972 + 210000 0.0066165923 0.0032367515 0.0064933555 + 210100 0.0058979609 0.003536461 0.0064393636 + 210200 0.0058593019 0.0030089939 0.005892869 + 210300 0.0051339926 0.0027591187 0.0052860057 + 210400 0.0056666922 0.0023534861 0.0051425612 + 210500 0.0056970462 0.0019918595 0.0047958745 + 210600 0.0047886314 0.0022582872 0.0046151918 + 210700 0.0048265653 0.0027921781 0.0051677532 + 210800 0.0067759879 0.0028135306 0.0061485871 + 210900 0.0065061142 0.0031688192 0.0063710473 + 211000 0.0053574975 0.0030748371 0.0057117304 + 211100 0.0052535929 0.002923458 0.0055092108 + 211200 0.0067109467 0.0024696276 0.0057726717 + 211300 0.0056713066 0.0026758612 0.0054672074 + 211400 0.0044433901 0.0032959468 0.0054829278 + 211500 0.0059177107 0.0032466104 0.0061592336 + 211600 0.006104954 0.0034196784 0.0064244604 + 211700 0.0064519749 0.0034097503 0.0065853316 + 211800 0.004492356 0.0033793426 0.0055904241 + 211900 0.0032893006 0.0033912314 0.005010184 + 212000 0.0054149816 0.0033266011 0.0059917874 + 212100 0.0064323915 0.0031275866 0.0062935293 + 212200 0.0047984367 0.0032259848 0.0055877154 + 212300 0.0053987905 0.0029599287 0.0056171459 + 212400 0.0060292492 0.0023815262 0.0053490473 + 212500 0.005131728 0.0019900643 0.0045158367 + 212600 0.005658139 0.0019943961 0.0047792614 + 212700 0.0055345312 0.0020935129 0.0048175399 + 212800 0.0064516994 0.0021890214 0.0053644671 + 212900 0.0058864614 0.0023138673 0.00521111 + 213000 0.0043168561 0.0021044374 0.0042291401 + 213100 0.0051066672 0.0025328955 0.0050463333 + 213200 0.0050953843 0.002463333 0.0049712174 + 213300 0.0042347515 0.0023018408 0.0043861325 + 213400 0.0052399892 0.0023578099 0.0049368671 + 213500 0.0051238251 0.0024410246 0.0049629072 + 213600 0.0039431461 0.0023947828 0.00433555 + 213700 0.0049213729 0.0027064531 0.0051286913 + 213800 0.0053552066 0.0027049235 0.0053406893 + 213900 0.0039567705 0.0024956977 0.0044431706 + 214000 0.0050324157 0.0027462594 0.0052231515 + 214100 0.0042460823 0.0029988966 0.0050887653 + 214200 0.004588884 0.0029250366 0.005183628 + 214300 0.0055491463 0.0026121336 0.005343354 + 214400 0.005185528 0.0024649085 0.0050171606 + 214500 0.0052419292 0.0026753284 0.0052553404 + 214600 0.0050197502 0.0032636573 0.0057343156 + 214700 0.0043701899 0.002781045 0.0049319978 + 214800 0.0040632088 0.0021758059 0.0041756664 + 214900 0.004069539 0.0020965474 0.0040995236 + 215000 0.0058808349 0.0024289904 0.0053234639 + 215100 0.0062529562 0.0024425966 0.0055202235 + 215200 0.0043441995 0.0021936288 0.0043317895 + 215300 0.0052781365 0.0023117095 0.0049095424 + 215400 0.0041149417 0.0024621594 0.0044874822 + 215500 0.0038499303 0.0024418257 0.0043367133 + 215600 0.0048624414 0.00220125 0.0045944829 + 215700 0.0054969339 0.0018770519 0.0045825741 + 215800 0.0057231471 0.0018535929 0.0046704544 + 215900 0.0047102771 0.0022969919 0.0046153314 + 216000 0.0065062011 0.0024597459 0.0056620168 + 216100 0.0043673059 0.0032458339 0.0053953672 + 216200 0.0033378635 0.0030578885 0.0047007432 + 216300 0.0052699301 0.0027917743 0.005385568 + 216400 0.0056726956 0.0027734825 0.0055655124 + 216500 0.0035098157 0.0030744343 0.0048019217 + 216600 0.005237188 0.0028866088 0.0054642873 + 216700 0.0059513971 0.0025743011 0.0055035044 + 216800 0.0051895869 0.0024363595 0.0049906093 + 216900 0.0040620779 0.0028042388 0.0048035427 + 217000 0.0051684041 0.0027585673 0.0053023912 + 217100 0.0041226504 0.002285393 0.00431451 + 217200 0.0055854542 0.0024929201 0.0052420109 + 217300 0.0047378884 0.0034005243 0.0057324537 + 217400 0.005060388 0.0035189053 0.006009565 + 217500 0.0049352066 0.0033553475 0.0057843945 + 217600 0.0060798772 0.002547203 0.0055396425 + 217700 0.0045976766 0.002432101 0.0046950199 + 217800 0.0053537455 0.002252871 0.0048879176 + 217900 0.0051399169 0.0019611539 0.0044909567 + 218000 0.0041643487 0.0020871326 0.004136773 + 218100 0.0039709327 0.0023119025 0.0042663459 + 218200 0.0045233115 0.0025354837 0.0047618011 + 218300 0.0051716516 0.0029716303 0.0055170525 + 218400 0.0048542453 0.0025894048 0.0049786037 + 218500 0.0042735001 0.0024087677 0.004512131 + 218600 0.0045448337 0.0024001084 0.0046370188 + 218700 0.0062435895 0.0023319875 0.0054050042 + 218800 0.0062207118 0.0022924029 0.0053541595 + 218900 0.0043557086 0.0021614769 0.0043053022 + 219000 0.0052632766 0.0023158841 0.0049064031 + 219100 0.0047865641 0.0029258425 0.0052817295 + 219200 0.0055226923 0.0035876106 0.0063058107 + 219300 0.0053719567 0.0030469427 0.0056909527 + 219400 0.0042250955 0.0026438176 0.0047233568 + 219500 0.006391799 0.0019504604 0.005096424 + 219600 0.0057347957 0.0018366755 0.0046592702 + 219700 0.0058660838 0.0025572675 0.0054444806 + 219800 0.0050654195 0.0027081664 0.0052013026 + 219900 0.0062568978 0.0022763033 0.0053558702 + 220000 0.0050487779 0.0020347682 0.0045197136 + 220100 0.0051037987 0.0016477191 0.0041597451 + 220200 0.004003234 0.0016691769 0.0036395187 + 220300 0.0051892424 0.0016206199 0.0041747001 + 220400 0.0037764483 0.0019250383 0.003783759 + 220500 0.0030629582 0.0022007617 0.0037083114 + 220600 0.0037187945 0.002490714 0.0043210581 + 220700 0.0051350276 0.0022113515 0.0047387479 + 220800 0.0053842698 0.0021446464 0.0047947167 + 220900 0.0031488186 0.002460759 0.0040105681 + 221000 0.0044168143 0.0026779103 0.0048518111 + 221100 0.0040596241 0.0026335166 0.0046316129 + 221200 0.0061763463 0.0024871109 0.0055270314 + 221300 0.0064801719 0.0025336542 0.0057231138 + 221400 0.0061356873 0.0022829189 0.0053028275 + 221500 0.0031350483 0.0021569938 0.0037000254 + 221600 0.0052373364 0.001894653 0.0044724045 + 221700 0.0037653301 0.0022992967 0.0041525451 + 221800 0.00408639 0.0025537857 0.0045650558 + 221900 0.0041897072 0.0022230648 0.0042851863 + 222000 0.0030049646 0.0021013379 0.0035803439 + 222100 0.0054018405 0.0017796014 0.0044383198 + 222200 0.005528337 0.0021400948 0.0048610731 + 222300 0.0049832598 0.0029091587 0.0053618569 + 222400 0.0040708779 0.0029853026 0.0049889378 + 222500 0.0076521951 0.002877739 0.0066440538 + 222600 0.0055129327 0.003098359 0.0058117555 + 222700 0.0044788742 0.0030353627 0.0052398086 + 222800 0.005993645 0.0026433993 0.0055933964 + 222900 0.0066607842 0.0023094836 0.0055878383 + 223000 0.0060431283 0.0025118421 0.0054861943 + 223100 0.0046657844 0.0027534374 0.0050498781 + 223200 0.0059535229 0.0022710148 0.0052012643 + 223300 0.0045898262 0.0023831364 0.0046421915 + 223400 0.0038055593 0.0023398717 0.0042129205 + 223500 0.0038947329 0.0024278852 0.0043448241 + 223600 0.0040366663 0.0023349039 0.0043217006 + 223700 0.0042610971 0.0021836228 0.0042808815 + 223800 0.0053230667 0.0023133163 0.0049332632 + 223900 0.0044901982 0.00226968 0.0044796994 + 224000 0.0055957543 0.0018120732 0.0045662335 + 224100 0.00581247 0.0022074269 0.005068252 + 224200 0.0063230963 0.0026978111 0.0058099601 + 224300 0.005454513 0.0026783356 0.0053629787 + 224400 0.0073363099 0.002532855 0.006143695 + 224500 0.006378343 0.0027228129 0.0058621536 + 224600 0.0056500365 0.0028837995 0.0056646768 + 224700 0.0068640739 0.002626445 0.0060048564 + 224800 0.0051578147 0.0030167364 0.0055553483 + 224900 0.0058275043 0.0037691803 0.0066374051 + 225000 0.0053267076 0.0039626814 0.0065844203 + 225100 0.0062096032 0.002873764 0.0059300531 + 225200 0.0063608568 0.0024383209 0.0055690552 + 225300 0.0044686122 0.0022316281 0.0044310232 + 225400 0.0048702104 0.0022483346 0.0046453913 + 225500 0.0061340381 0.0023148405 0.0053339374 + 225600 0.0040577595 0.0026638542 0.0046610326 + 225700 0.0049936833 0.0025713821 0.0050292106 + 225800 0.0043599912 0.002625639 0.0047715721 + 225900 0.0055417245 0.0026817468 0.0054093144 + 226000 0.0066953426 0.0026113114 0.0059066753 + 226100 0.004326398 0.0028081533 0.0049375523 + 226200 0.0045409265 0.0031405349 0.0053755222 + 226300 0.0053654247 0.0027800413 0.0054208362 + 226400 0.0047704296 0.0024578235 0.0048057693 + 226500 0.0044471266 0.002632954 0.0048217742 + 226600 0.0056641204 0.0021998938 0.004987703 + 226700 0.0043397232 0.0022662964 0.0044022539 + 226800 0.0034631023 0.002404704 0.0041091997 + 226900 0.0030494681 0.0021289876 0.0036298977 + 227000 0.0046423333 0.001843954 0.0041288524 + 227100 0.0047339715 0.0024045572 0.0047345588 + 227200 0.0036705001 0.0027718793 0.0045784535 + 227300 0.0044726558 0.0026217218 0.0048231071 + 227400 0.0044293295 0.0023878149 0.0045678756 + 227500 0.0057397862 0.0023892561 0.0052143072 + 227600 0.0067101184 0.0022908112 0.0055934475 + 227700 0.0045021045 0.0026717485 0.0048876281 + 227800 0.0049380122 0.0026163612 0.0050467891 + 227900 0.003621218 0.0025454427 0.0043277609 + 228000 0.0048323883 0.0024189065 0.0047973476 + 228100 0.0054251081 0.0025724345 0.0052426048 + 228200 0.0041023409 0.0029127556 0.0049318765 + 228300 0.0050692842 0.002691423 0.0051864613 + 228400 0.0047096998 0.0021502661 0.0044683215 + 228500 0.0047894843 0.0019715287 0.004328853 + 228600 0.0050773786 0.0021102653 0.0046092876 + 228700 0.0048956484 0.0020757785 0.0044853555 + 228800 0.0035449903 0.0023614822 0.0041062821 + 228900 0.0058927166 0.0024416273 0.0053419487 + 229000 0.0042489512 0.0023997444 0.0044910251 + 229100 0.0041381971 0.0022650912 0.0043018601 + 229200 0.0064249999 0.0024941625 0.0056564672 + 229300 0.0055467913 0.0027213777 0.0054514391 + 229400 0.0050476078 0.0032792908 0.0057636603 + 229500 0.0065729096 0.0030820407 0.0063171446 + 229600 0.0058244215 0.0024901592 0.0053568667 + 229700 0.0057061932 0.0019707067 0.0047792236 + 229800 0.0049217423 0.0019480575 0.0043704775 + 229900 0.0042532246 0.0024300536 0.0045234376 + 230000 0.0035928833 0.0025123547 0.004280727 + 230100 0.0054224825 0.0022644256 0.0049333037 + 230200 0.0042817349 0.0026559437 0.0047633601 + 230300 0.0056760628 0.002935873 0.0057295602 + 230400 0.0047273578 0.0029227911 0.0052495375 + 230500 0.0036054855 0.0028767125 0.0046512873 + 230600 0.0053294692 0.0028489503 0.0054720484 + 230700 0.0044648036 0.0029584644 0.0051559849 + 230800 0.004442389 0.0031217305 0.0053082188 + 230900 0.0042698341 0.0028636053 0.0049651643 + 231000 0.0049963778 0.0027490447 0.0052081994 + 231100 0.0058486523 0.0028782866 0.0057569201 + 231200 0.0052202921 0.0032167665 0.005786129 + 231300 0.0049499037 0.0027882791 0.0052245599 + 231400 0.004501253 0.0026328275 0.004848288 + 231500 0.0045940417 0.0027775317 0.0050386616 + 231600 0.0051320671 0.0025689991 0.0050949384 + 231700 0.0042468272 0.0023895371 0.0044797724 + 231800 0.0060411556 0.0023294811 0.0053028623 + 231900 0.0048847182 0.0025419736 0.0049461708 + 232000 0.0041737476 0.0026458296 0.004700096 + 232100 0.0044714227 0.0023174672 0.0045182456 + 232200 0.0050376926 0.0020622948 0.0045417841 + 232300 0.0046666779 0.0022054833 0.0045023638 + 232400 0.0042436145 0.0024493519 0.0045380059 + 232500 0.0055358728 0.0022659705 0.0049906579 + 232600 0.0051822312 0.0030317175 0.0055823469 + 232700 0.0046164259 0.002986165 0.0052583122 + 232800 0.0054859041 0.0024753009 0.0051753944 + 232900 0.0065705993 0.0026818067 0.0059157735 + 233000 0.0061246252 0.0029064822 0.0059209461 + 233100 0.0069537328 0.00298508 0.0064076204 + 233200 0.0051339751 0.0032092191 0.0057360974 + 233300 0.005917003 0.003310663 0.0062229379 + 233400 0.0062810917 0.002877689 0.0059691638 + 233500 0.0059374155 0.0025431963 0.005465518 + 233600 0.00626338 0.0025974026 0.00568016 + 233700 0.0050809395 0.0027301294 0.0052309043 + 233800 0.0052302275 0.0027527733 0.0053270259 + 233900 0.0042520873 0.0029547997 0.005047624 + 234000 0.0058083399 0.0027340517 0.005592844 + 234100 0.0049268343 0.0022053915 0.0046303178 + 234200 0.0076861099 0.0017037524 0.0054867597 + 234300 0.0045428943 0.0019596845 0.0041956403 + 234400 0.0050136229 0.0018116473 0.0042792898 + 234500 0.0041957768 0.0023415798 0.0044066887 + 234600 0.0042182241 0.0028626145 0.0049387716 + 234700 0.0048895945 0.0027870743 0.0051936716 + 234800 0.0050567246 0.0022763268 0.0047651834 + 234900 0.0044596042 0.0020101416 0.004205103 + 235000 0.0048966833 0.001865674 0.0042757603 + 235100 0.0043212036 0.0017625108 0.0038893532 + 235200 0.0050978104 0.0020328043 0.0045418828 + 235300 0.0032156259 0.0021247859 0.0037074768 + 235400 0.0054392694 0.0017186322 0.0043957726 + 235500 0.0056555614 0.0019456801 0.0047292767 + 235600 0.0044362244 0.0021374415 0.0043208957 + 235700 0.004136126 0.0018902369 0.0039259864 + 235800 0.0050183716 0.0020037994 0.0044737792 + 235900 0.0032997741 0.0025725778 0.0041966854 + 236000 0.0053138199 0.0023464533 0.0049618491 + 236100 0.0044297678 0.0021930258 0.0043733022 + 236200 0.0048312324 0.0024386415 0.0048165137 + 236300 0.0068548285 0.0021055877 0.0054794486 + 236400 0.0046685614 0.002191106 0.0044889135 + 236500 0.0050727828 0.0022057975 0.0047025577 + 236600 0.0064070034 0.0025948825 0.0057483294 + 236700 0.0052351219 0.0024629037 0.0050395653 + 236800 0.0051928557 0.0020286716 0.0045845303 + 236900 0.0034535599 0.0021947359 0.003894535 + 237000 0.004126118 0.0024914122 0.0045222359 + 237100 0.0043575843 0.0020756908 0.0042204393 + 237200 0.0037731263 0.0019751776 0.0038322632 + 237300 0.0060241919 0.0017586037 0.0047236356 + 237400 0.0047532224 0.0022858637 0.0046253404 + 237500 0.0058699606 0.0021850845 0.0050742058 + 237600 0.0054400575 0.0022226734 0.0049002017 + 237700 0.0050639529 0.0024101977 0.004902612 + 237800 0.0049215833 0.0026858229 0.0051081647 + 237900 0.0070535314 0.0028339173 0.0063055773 + 238000 0.0050898743 0.0034742758 0.0059794484 + 238100 0.0051225961 0.0028177453 0.005339023 + 238200 0.0071526648 0.0021368651 0.0056573173 + 238300 0.0049993586 0.0020391323 0.0044997541 + 238400 0.0056579537 0.0024366378 0.0052214119 + 238500 0.0048786279 0.0025454837 0.0049466834 + 238600 0.0056321872 0.0020965612 0.0048686534 + 238700 0.0040273964 0.0018685808 0.003850815 + 238800 0.0039962552 0.0019959995 0.0039629064 + 238900 0.0033118044 0.0020618466 0.0036918753 + 239000 0.0051447773 0.001947857 0.0044800521 + 239100 0.0051397564 0.0018037079 0.0043334317 + 239200 0.0046624548 0.002079204 0.004374006 + 239300 0.0041581271 0.0022198799 0.004266458 + 239400 0.0056246643 0.0017859469 0.0045543363 + 239500 0.0045521947 0.0015505482 0.0037910816 + 239600 0.0055271837 0.0018025975 0.0045230082 + 239700 0.0035709951 0.0021637389 0.003921338 + 239800 0.0048455126 0.0019910557 0.0043759564 + 239900 0.005770437 0.0018882727 0.0047284097 + 240000 0.00655673 0.0019866389 0.0052137794 + 240100 0.00342689 0.0022488426 0.003935515 + 240200 0.0047430325 0.0018478163 0.0041822776 + 240300 0.0057061463 0.0021403004 0.0049487943 + 240400 0.0058177022 0.0026527908 0.0055161912 + 240500 0.0068673499 0.0030914402 0.006471464 + 240600 0.0083312635 0.0029081076 0.0070086513 + 240700 0.0046827847 0.0024661679 0.004770976 + 240800 0.0045093961 0.0021581281 0.0043775965 + 240900 0.0054875025 0.0020904098 0.00479129 + 241000 0.0040854661 0.0024897079 0.0045005232 + 241100 0.0051867789 0.0027482615 0.0053011292 + 241200 0.0044200609 0.0026331323 0.004808631 + 241300 0.0055799947 0.0023709389 0.0051173426 + 241400 0.0032799339 0.0019750103 0.0035893528 + 241500 0.0046228054 0.0020117951 0.0042870821 + 241600 0.0050571618 0.0022091048 0.0046981766 + 241700 0.0058218486 0.0019198664 0.0047853075 + 241800 0.0051358423 0.0019003955 0.0044281929 + 241900 0.0052241318 0.0020270637 0.0045983161 + 242000 0.0044889898 0.0017495966 0.0039590213 + 242100 0.0053119132 0.0017730035 0.0043874608 + 242200 0.0057352157 0.0020860274 0.0049088289 + 242300 0.0049690353 0.0022593649 0.004705062 + 242400 0.0047644947 0.0024018059 0.0047468307 + 242500 0.0051544758 0.0026273042 0.0051642727 + 242600 0.0059107688 0.0026127507 0.0055219572 + 242700 0.0058358368 0.0025155926 0.0053879185 + 242800 0.0053620185 0.0024640607 0.0051031792 + 242900 0.0046867895 0.0022967126 0.0046034918 + 243000 0.0062623293 0.0025207724 0.0056030126 + 243100 0.0044409162 0.0027099911 0.0048957545 + 243200 0.004728963 0.0027052514 0.0050327879 + 243300 0.0058808667 0.0024615983 0.0053560874 + 243400 0.0060612138 0.0022001482 0.0051834019 + 243500 0.0046394678 0.0021799781 0.0044634661 + 243600 0.0046309978 0.002280017 0.0045593362 + 243700 0.0058203484 0.002088018 0.0049527207 + 243800 0.0063118102 0.0020587055 0.0051652996 + 243900 0.0048041186 0.0024468302 0.0048113573 + 244000 0.0047311514 0.0033398974 0.005668511 + 244100 0.0045819999 0.0032487137 0.0055039168 + 244200 0.0054557002 0.0027289454 0.0054141729 + 244300 0.0069148751 0.0024818691 0.0058852841 + 244400 0.0050419973 0.0031479765 0.0056295846 + 244500 0.0055699666 0.0031698633 0.0059113312 + 244600 0.0056666623 0.0025725445 0.0053616049 + 244700 0.004831634 0.0025240119 0.0049020817 + 244800 0.005699391 0.0025613179 0.0053664869 + 244900 0.0040419483 0.0026003001 0.0045896965 + 245000 0.0046014814 0.0024115681 0.0046763597 + 245100 0.0055287975 0.0025698972 0.0052911022 + 245200 0.0033639788 0.0022096612 0.0038653695 + 245300 0.0046242549 0.0021797478 0.0044557483 + 245400 0.0048702643 0.0022804495 0.0046775327 + 245500 0.0040667937 0.0028051421 0.0048067671 + 245600 0.0046234898 0.0031284557 0.0054040796 + 245700 0.0055556256 0.0031059233 0.0058403328 + 245800 0.0053764667 0.0029054793 0.005551709 + 245900 0.0069553264 0.0025991735 0.0060224983 + 246000 0.0044759328 0.002713765 0.0049167631 + 246100 0.0053892029 0.002838905 0.0054914033 + 246200 0.0043620866 0.0029082788 0.0050552433 + 246300 0.0039708406 0.0025527822 0.0045071803 + 246400 0.0055894716 0.0029614703 0.0057125383 + 246500 0.0054312922 0.0036872424 0.0063604565 + 246600 0.0054647871 0.0035214146 0.0062111145 + 246700 0.0046411573 0.0029122144 0.005196534 + 246800 0.0058554474 0.0029536698 0.0058356478 + 246900 0.0075097835 0.0027956567 0.0064918783 + 247000 0.0054021736 0.0034634944 0.0061223767 + 247100 0.0060065 0.0031795797 0.0061359039 + 247200 0.0071464776 0.0028361754 0.0063535823 + 247300 0.00616436 0.0022991142 0.0053331351 + 247400 0.0037586713 0.0021797882 0.0040297593 + 247500 0.0054396149 0.0022985565 0.0049758669 + 247600 0.0036207685 0.0028005147 0.0045826117 + 247700 0.0047495396 0.0026802859 0.00501795 + 247800 0.0059507915 0.0028488157 0.0057777209 + 247900 0.0045286247 0.0029376218 0.0051665543 + 248000 0.0046029719 0.0026812415 0.0049467668 + 248100 0.0046192581 0.0026567359 0.004930277 + 248200 0.0050328799 0.0026949549 0.0051720754 + 248300 0.003207233 0.0026990052 0.0042775652 + 248400 0.0041991671 0.0023476545 0.004414432 + 248500 0.0066875435 0.002223205 0.0055147303 + 248600 0.0047559344 0.0025040377 0.0048448491 + 248700 0.0035982424 0.0029368388 0.0047078487 + 248800 0.004363101 0.0026584584 0.0048059222 + 248900 0.0037739489 0.0020077321 0.0038652226 + 249000 0.0050813621 0.0019388447 0.0044398276 + 249100 0.0043487559 0.0022355104 0.0043759138 + 249200 0.0058398458 0.0023080917 0.0051823908 + 249300 0.0067206903 0.0022267611 0.0055346009 + 249400 0.0075233098 0.0028285607 0.0065314397 + 249500 0.0054928953 0.0031030977 0.0058066321 + 249600 0.0040008821 0.0031745265 0.0051437107 + 249700 0.0047166677 0.0025014062 0.0048228911 + 249800 0.0046130293 0.0018758631 0.0041463385 + 249900 0.006137037 0.0016514892 0.0046720621 + 250000 0.0037794148 0.0018880815 0.0037482622 + 250100 0.0039990212 0.0022489827 0.0042172509 + 250200 0.0053823788 0.0023548205 0.0050039601 + 250300 0.0054616988 0.0025834027 0.0052715826 + 250400 0.0065909665 0.0023764244 0.0056204157 + 250500 0.0038529579 0.0026815481 0.0045779258 + 250600 0.0046969707 0.0025481248 0.0048599151 + 250700 0.0047318766 0.0024981614 0.0048271319 + 250800 0.0053146829 0.0024193937 0.0050352142 + 250900 0.0060634244 0.0023458564 0.0053301981 + 251000 0.0046424918 0.0024238345 0.0047088109 + 251100 0.0048005062 0.0022743684 0.0046371176 + 251200 0.0036861401 0.0022360787 0.0040503508 + 251300 0.0043073843 0.0020309995 0.0041510402 + 251400 0.0065492963 0.0019439852 0.005167467 + 251500 0.0050871896 0.0021034047 0.0046072558 + 251600 0.0054397611 0.0023233541 0.0050007365 + 251700 0.0055883339 0.0022824749 0.005032983 + 251800 0.0040523777 0.0026288716 0.0046234012 + 251900 0.0049252287 0.0023292218 0.0047533577 + 252000 0.0048267657 0.0022239019 0.0045995757 + 252100 0.0034381036 0.0024088095 0.0041010011 + 252200 0.0058644862 0.0024981153 0.0053845421 + 252300 0.0057100502 0.0026390522 0.0054494675 + 252400 0.0062260503 0.0021374725 0.0052018566 + 252500 0.0060086388 0.0020083595 0.0049657364 + 252600 0.0051855301 0.0021870563 0.0047393094 + 252700 0.0051784534 0.0016690214 0.0042177914 + 252800 0.0054176165 0.0017162671 0.0043827502 + 252900 0.0047007351 0.0026056407 0.0049192838 + 253000 0.0042453258 0.0026721077 0.004761604 + 253100 0.0062095845 0.0023078452 0.005364125 + 253200 0.0050565994 0.0029118372 0.0054006322 + 253300 0.0048289855 0.0029160442 0.0052928104 + 253400 0.0051821597 0.0027378806 0.0052884748 + 253500 0.0063761901 0.0028014605 0.0059397416 + 253600 0.0062903414 0.0027995185 0.0058955459 + 253700 0.0054475707 0.003517233 0.0061984592 + 253800 0.0056658062 0.0028000945 0.0055887335 + 253900 0.0044898934 0.0023374686 0.0045473381 + 254000 0.0057052691 0.0018763197 0.0046843819 + 254100 0.0045796217 0.0019720258 0.0042260584 + 254200 0.0061078013 0.0019539624 0.0049601458 + 254300 0.006413242 0.0021526598 0.0053091774 + 254400 0.0051807721 0.0025896362 0.0051395475 + 254500 0.0044507213 0.002663856 0.0048544454 + 254600 0.0030644707 0.0026644161 0.0041727103 + 254700 0.0058265795 0.0024847412 0.0053525108 + 254800 0.0046037808 0.0021741084 0.0044400317 + 254900 0.0034887605 0.002138803 0.0038559274 + 255000 0.0044401805 0.0018425626 0.0040279639 + 255100 0.0054237561 0.0018357124 0.0045052174 + 255200 0.0053618407 0.0020169785 0.0046560095 + 255300 0.0038760375 0.0021829327 0.0040906699 + 255400 0.0054311858 0.002469676 0.0051428378 + 255500 0.0038344292 0.002524664 0.0044119221 + 255600 0.0048883999 0.0019611145 0.0043671238 + 255700 0.0069271244 0.0019371039 0.005346548 + 255800 0.0045648143 0.0026255336 0.0048722782 + 255900 0.0047981963 0.002514425 0.0048760372 + 256000 0.0037732078 0.0027963867 0.0046535125 + 256100 0.0051018548 0.0023232548 0.004834324 + 256200 0.0055353036 0.0019116836 0.0046360909 + 256300 0.0045205624 0.0021885546 0.0044135189 + 256400 0.0055575643 0.0023536519 0.0050890156 + 256500 0.0066997229 0.0026539261 0.005951446 + 256600 0.0046659036 0.0033621029 0.0056586023 + 256700 0.0056651715 0.0026707423 0.0054590689 + 256800 0.0058501365 0.0022357307 0.0051150948 + 256900 0.005209156 0.0020825416 0.0046464231 + 257000 0.0039478577 0.0018494875 0.0037925737 + 257100 0.0042604305 0.0017512211 0.0038481517 + 257200 0.0051802103 0.0015998009 0.0041494357 + 257300 0.0033035505 0.0018494022 0.0034753685 + 257400 0.0060862117 0.0016072139 0.0046027713 + 257500 0.0046483744 0.001675834 0.0039637058 + 257600 0.0052337841 0.0017493488 0.0043253519 + 257700 0.005782468 0.001488303 0.0043343615 + 257800 0.0070891867 0.0016602539 0.005149463 + 257900 0.0079897527 0.0023863181 0.0063187745 + 258000 0.004642985 0.0024789512 0.0047641704 + 258100 0.0043811406 0.0019618209 0.0041181636 + 258200 0.0055365008 0.001769747 0.0044947435 + 258300 0.0067222823 0.0016124562 0.0049210795 + 258400 0.0049901859 0.0015726943 0.0040288014 + 258500 0.0051839004 0.0017788727 0.0043303237 + 258600 0.0041030137 0.0019043596 0.0039238117 + 258700 0.0049013389 0.001635183 0.0040475608 + 258800 0.0049948471 0.0019049336 0.0043633349 + 258900 0.0046237468 0.0019595431 0.0042352935 + 259000 0.0036820014 0.0017440126 0.0035562476 + 259100 0.0046607582 0.0016126097 0.0039065767 + 259200 0.0041415294 0.0013044756 0.0033428846 + 259300 0.0048536869 0.0015333003 0.0039222243 + 259400 0.0051329694 0.0019103729 0.0044367562 + 259500 0.0052403202 0.0022973331 0.0048765532 + 259600 0.0034531377 0.002532116 0.0042317072 + 259700 0.0037485029 0.0024491587 0.004294125 + 259800 0.006412697 0.0021674027 0.005323652 + 259900 0.00533141 0.0024208083 0.0050448617 + 260000 0.0052788045 0.0020315597 0.0046297213 + 260100 0.0055507928 0.0019157452 0.004647776 + 260200 0.0059146466 0.0018028916 0.0047140067 + 260300 0.0069174167 0.0013973019 0.0048019679 + 260400 0.0045720687 0.0015503526 0.0038006677 + 260500 0.0045463393 0.0018023304 0.0040399818 + 260600 0.0050411663 0.0020177918 0.0044989909 + 260700 0.0044043562 0.0024621842 0.0046299532 + 260800 0.0037925284 0.002254166 0.0041208011 + 260900 0.0063108165 0.0021229394 0.0052290444 + 261000 0.0058122747 0.002330416 0.005191145 + 261100 0.0043030894 0.0025450621 0.0046629889 + 261200 0.0041787849 0.0023467461 0.0044034918 + 261300 0.0035390669 0.0019028117 0.0036446962 + 261400 0.0042991055 0.0017323523 0.0038483183 + 261500 0.0044333732 0.0018762464 0.0040582972 + 261600 0.0046338167 0.0024625934 0.0047433 + 261700 0.0048334731 0.002860816 0.0052397911 + 261800 0.0052243152 0.0025889821 0.0051603248 + 261900 0.0068565951 0.0023205413 0.0056952718 + 262000 0.0053393384 0.0023912167 0.0050191723 + 262100 0.0045096244 0.0025509484 0.0047705292 + 262200 0.0052668126 0.0020984569 0.0046907162 + 262300 0.0048518295 0.0021408891 0.004528899 + 262400 0.0049174855 0.0026679141 0.005088239 + 262500 0.0049791675 0.0024939855 0.0049446695 + 262600 0.0046800219 0.0024875801 0.0047910284 + 262700 0.005194587 0.0022081259 0.0047648367 + 262800 0.0069141345 0.0016249948 0.0050280454 + 262900 0.0061815432 0.0017980907 0.004840569 + 263000 0.0051668016 0.0025614118 0.0051044469 + 263100 0.0051914746 0.002800492 0.0053556709 + 263200 0.0036553969 0.0030079981 0.0048071388 + 263300 0.0045798495 0.002704538 0.0049586827 + 263400 0.0039291864 0.0027309095 0.004664806 + 263500 0.0057202153 0.0029632684 0.0057786868 + 263600 0.0062276175 0.0023086316 0.005373787 + 263700 0.0048109097 0.0020311737 0.0043990433 + 263800 0.006159654 0.0019924897 0.0050241944 + 263900 0.0059146376 0.0029262333 0.005837344 + 264000 0.0059480275 0.0027627945 0.0056903392 + 264100 0.0057398176 0.0021963595 0.005021426 + 264200 0.0036201066 0.0020079338 0.0037897051 + 264300 0.0052320807 0.0020363199 0.0046114846 + 264400 0.0048747863 0.002359854 0.0047591629 + 264500 0.0039755867 0.0025499338 0.0045066679 + 264600 0.0067253 0.0022580579 0.0055681664 + 264700 0.0049458373 0.002173953 0.0046082323 + 264800 0.0060120888 0.0024530614 0.0054121364 + 264900 0.0057828258 0.0022871068 0.0051333413 + 265000 0.005185618 0.0025112506 0.0050635469 + 265100 0.0051948594 0.0026716069 0.0052284517 + 265200 0.0031530347 0.0024457032 0.0039975875 + 265300 0.0035588988 0.0027541053 0.0045057508 + 265400 0.0053086158 0.003153057 0.0057658914 + 265500 0.0067152778 0.0027737243 0.0060789001 + 265600 0.004428293 0.0027788115 0.0049583619 + 265700 0.0057329238 0.0026537883 0.0054754617 + 265800 0.0043737147 0.0027484698 0.0049011575 + 265900 0.0048127728 0.0024715874 0.004840374 + 266000 0.0049274901 0.0020938725 0.0045191215 + 266100 0.004699005 0.0019140342 0.0042268257 + 266200 0.0047342951 0.0021224453 0.0044526062 + 266300 0.0048862552 0.0021317683 0.004536722 + 266400 0.0043073674 0.0021909306 0.004310963 + 266500 0.0057851546 0.002003797 0.0048511778 + 266600 0.0044325384 0.0021315267 0.0043131667 + 266700 0.0053480081 0.0022362437 0.0048684664 + 266800 0.00433809 0.0023166886 0.0044518423 + 266900 0.0049331702 0.002206361 0.0046344057 + 267000 0.0063883601 0.0020625531 0.0052068241 + 267100 0.00502281 0.0021572166 0.0046293808 + 267200 0.00603001 0.0019306542 0.0048985498 + 267300 0.0048522949 0.0018258938 0.0042141327 + 267400 0.0057574486 0.0017260538 0.004559798 + 267500 0.0051959934 0.0022498456 0.0048072486 + 267600 0.004964041 0.0028620062 0.0053052451 + 267700 0.0056697678 0.0030081607 0.0057987496 + 267800 0.005390971 0.0026980058 0.0053513743 + 267900 0.0078288919 0.0025747908 0.0064280735 + 268000 0.003174694 0.0034479063 0.005010451 + 268100 0.0077840366 0.0029698565 0.006801062 + 268200 0.0061906903 0.0032786887 0.006325669 + 268300 0.0061645216 0.003549617 0.0065837175 + 268400 0.0044946772 0.0033094007 0.0055216246 + 268500 0.0040326395 0.0029663419 0.0049511566 + 268600 0.0047170932 0.0025829904 0.0049046847 + 268700 0.0048004762 0.0021015421 0.0044642765 + 268800 0.0049834111 0.0021027142 0.0045554869 + 268900 0.0055200551 0.0024495756 0.0051664777 + 269000 0.0039273036 0.0024452564 0.0043782262 + 269100 0.005158609 0.0027980796 0.0053370825 + 269200 0.0056523061 0.0021612498 0.0049432442 + 269300 0.0051335961 0.0020249492 0.004551641 + 269400 0.0047628458 0.0025649611 0.0049091742 + 269500 0.0053307736 0.0031129076 0.0057366477 + 269600 0.0047435009 0.0032376547 0.0055723465 + 269700 0.0069155155 0.002694701 0.0060984312 + 269800 0.0046690142 0.0025550695 0.0048531 + 269900 0.0044759796 0.0024033356 0.0046063569 + 270000 0.0048307539 0.002049567 0.0044272037 + 270100 0.0057973224 0.002296298 0.0051496676 + 270200 0.0035494737 0.0026432302 0.0043902368 + 270300 0.0057009279 0.0021974126 0.0050033381 + 270400 0.0049736951 0.002117784 0.0045657745 + 270500 0.0047978342 0.0022275081 0.0045889421 + 270600 0.0032180944 0.0024956806 0.0040795864 + 270700 0.0052087808 0.002535338 0.0050990348 + 270800 0.0054016194 0.002393166 0.0050517756 + 270900 0.0057376692 0.0020122872 0.0048362962 + 271000 0.0056400583 0.0022423199 0.0050182861 + 271100 0.0034414897 0.0023273248 0.0040211831 + 271200 0.0041793293 0.0019570576 0.0040140712 + 271300 0.0030627155 0.0017977342 0.0033051645 + 271400 0.0065420349 0.0016530551 0.0048729629 + 271500 0.0050560446 0.0017690674 0.0042575894 + 271600 0.0041136469 0.0017029926 0.0037276782 + 271700 0.0060963892 0.0014154488 0.0044160153 + 271800 0.004642829 0.0017953301 0.0040804725 + 271900 0.0054913689 0.0019350396 0.0046378227 + 272000 0.0061913883 0.0018971411 0.004944465 + 272100 0.0035116398 0.0022253612 0.0039537464 + 272200 0.0034300483 0.0020921556 0.0037803824 + 272300 0.0036153721 0.0022032472 0.0039826881 + 272400 0.0049545512 0.0019178182 0.0043563864 + 272500 0.0051608808 0.0019685078 0.0045086288 + 272600 0.0046482125 0.0021900194 0.0044778115 + 272700 0.0057369095 0.0020799348 0.00490357 + 272800 0.0042585867 0.0020678163 0.0041638394 + 272900 0.0038195269 0.002426714 0.0043066374 + 273000 0.0050583989 0.002649716 0.0051393967 + 273100 0.0052567208 0.0026965721 0.0052838643 + 273200 0.0062474164 0.0028196736 0.0058945739 + 273300 0.0046532846 0.0025522986 0.0048425871 + 273400 0.0056058717 0.0026374023 0.0053965422 + 273500 0.0041549062 0.0022958006 0.0043407935 + 273600 0.0035666381 0.002252609 0.0040080637 + 273700 0.0048041145 0.0021735547 0.0045380798 + 273800 0.0056170279 0.0026186479 0.0053832788 + 273900 0.0062730847 0.0025800389 0.0056675728 + 274000 0.0055451323 0.0026608726 0.0053901174 + 274100 0.0043466114 0.0028973892 0.005036737 + 274200 0.005656468 0.0031518094 0.0059358522 + 274300 0.005908843 0.0036299621 0.0065382207 + 274400 0.0062050562 0.0031482631 0.0062023142 + 274500 0.0058841607 0.0027668805 0.0056629909 + 274600 0.0056581076 0.0027634284 0.0055482782 + 274700 0.007180993 0.0029853976 0.0065197926 + 274800 0.0051164339 0.0029540255 0.0054722703 + 274900 0.0049359209 0.0025202834 0.0049496819 + 275000 0.0043202549 0.0026373259 0.0047637014 + 275100 0.0052377379 0.0024349246 0.0050128738 + 275200 0.0040010985 0.0022086715 0.0041779622 + 275300 0.0047455146 0.0020300751 0.004365758 + 275400 0.0034878216 0.0017625277 0.0034791899 + 275500 0.0038472765 0.0017268247 0.0036204062 + 275600 0.0055342671 0.0020717263 0.0047956234 + 275700 0.005517095 0.0024730979 0.0051885431 + 275800 0.0048482421 0.0023195304 0.0047057746 + 275900 0.0049034374 0.0023696041 0.0047830147 + 276000 0.0053832301 0.0026505187 0.0053000773 + 276100 0.004346808 0.002485561 0.0046250056 + 276200 0.0054703902 0.0023222053 0.005014663 + 276300 0.0052853241 0.0023236344 0.0049250048 + 276400 0.0059586381 0.0019992997 0.0049320669 + 276500 0.0045866796 0.0023984461 0.0046559524 + 276600 0.0059551052 0.0026341287 0.0055651571 + 276700 0.0039165048 0.0027619681 0.0046896229 + 276800 0.0054043806 0.0023263863 0.0049863549 + 276900 0.0047671128 0.0023136712 0.0046599845 + 277000 0.0043525344 0.0022648297 0.0044070927 + 277100 0.0038019366 0.0023099025 0.0041811682 + 277200 0.003783473 0.0021885764 0.0040507545 + 277300 0.005500501 0.00200039 0.0047076678 + 277400 0.0038613979 0.0020672236 0.0039677554 + 277500 0.0033515775 0.0020528058 0.0037024103 + 277600 0.0036348091 0.0021372399 0.0039262475 + 277700 0.004616167 0.0021499904 0.0044220101 + 277800 0.0059958133 0.0018436491 0.0047947135 + 277900 0.0048727507 0.0014812055 0.0038795125 + 278000 0.0029986782 0.0015995049 0.0030754168 + 278100 0.0033981311 0.0022277632 0.0039002808 + 278200 0.0042619267 0.0022844394 0.0043821064 + 278300 0.0053978261 0.0022335677 0.0048903103 + 278400 0.0056794273 0.0021207813 0.0049161244 + 278500 0.0038789198 0.0022412189 0.0041503748 + 278600 0.0034126428 0.0028701517 0.0045498118 + 278700 0.0061406015 0.0026863731 0.0057087004 + 278800 0.0056319239 0.0024608786 0.0052328412 + 278900 0.0050998397 0.0026300063 0.0051400837 + 279000 0.0058821043 0.0026068985 0.0055019968 + 279100 0.0044220462 0.002436609 0.0046130848 + 279200 0.0067896219 0.0024907889 0.0058325559 + 279300 0.0037022306 0.0026302171 0.0044524087 + 279400 0.0042854613 0.0024801557 0.0045894062 + 279500 0.0052746764 0.0027179644 0.0053140942 + 279600 0.0049614056 0.0027654488 0.0052073906 + 279700 0.0042233919 0.002860104 0.0049388047 + 279800 0.0039620568 0.0032152862 0.005165361 + 279900 0.0046898849 0.003024348 0.0053326507 + 280000 0.005321729 0.002854431 0.0054737195 + 280100 0.0044160764 0.0026352172 0.0048087548 + 280200 0.0048176522 0.0022515319 0.0046227201 + 280300 0.0045332924 0.002203738 0.0044349678 + 280400 0.004981162 0.0024758119 0.0049274776 + 280500 0.0042601887 0.0018776961 0.0039745077 + 280600 0.0047589866 0.0017671947 0.0041095084 + 280700 0.0033015747 0.0017203933 0.003345387 + 280800 0.0045627341 0.0018056279 0.0040513486 + 280900 0.0052966415 0.001947747 0.0045546878 + 281000 0.0064567885 0.0023163381 0.0054942887 + 281100 0.0054619469 0.0019422519 0.0046305539 + 281200 0.003606606 0.0018951106 0.003670237 + 281300 0.0061901804 0.0021375779 0.0051843073 + 281400 0.0046380842 0.0024670601 0.0047498672 + 281500 0.0034357188 0.0023968133 0.0040878312 + 281600 0.006019843 0.0018671526 0.0048300441 + 281700 0.0046180026 0.0024158832 0.0046888064 + 281800 0.0044871101 0.0025793598 0.0047878593 + 281900 0.0044178566 0.0023825569 0.0045569707 + 282000 0.0046890666 0.0021679186 0.0044758186 + 282100 0.0053929306 0.0020904725 0.0047448056 + 282200 0.0048768804 0.0017257586 0.0041260982 + 282300 0.0047405129 0.0015553754 0.0038885965 + 282400 0.0038034177 0.0014253842 0.0032973788 + 282500 0.0061451427 0.0013567628 0.0043813252 + 282600 0.0034957316 0.0016501699 0.0033707253 + 282700 0.0060028527 0.0017251985 0.0046797275 + 282800 0.0039298828 0.002120235 0.0040544742 + 282900 0.0049245674 0.0017605337 0.0041843443 + 283000 0.0046692256 0.0017664566 0.004064591 + 283100 0.0049247796 0.0022662518 0.0046901668 + 283200 0.0041298311 0.0024572062 0.0044898574 + 283300 0.00423418 0.0026301757 0.0047141862 + 283400 0.007013865 0.0026617284 0.0061138651 + 283500 0.0060485954 0.0023906432 0.0053676863 + 283600 0.0037632769 0.0024142001 0.0042664379 + 283700 0.0052141751 0.0023992979 0.0049656497 + 283800 0.0059176696 0.0024285988 0.0053412018 + 283900 0.0045432449 0.0023469424 0.0045830707 + 284000 0.0040102227 0.0024865387 0.0044603201 + 284100 0.0050210057 0.0025776225 0.0050488987 + 284200 0.0051004709 0.0029262901 0.0054366781 + 284300 0.0041803468 0.0033523499 0.0054098643 + 284400 0.0039511064 0.0026454073 0.0045900925 + 284500 0.005694329 0.001843288 0.0046459656 + 284600 0.0044778905 0.0018996267 0.0041035884 + 284700 0.0033607699 0.0021404735 0.0037946024 + 284800 0.0059371858 0.0019663475 0.0048885561 + 284900 0.005918851 0.0023801318 0.0052933163 + 285000 0.0050347941 0.0029107116 0.0053887743 + 285100 0.0050308917 0.0024212154 0.0048973574 + 285200 0.0046027942 0.0019142655 0.0041797033 + 285300 0.0060195365 0.0014248264 0.004387567 + 285400 0.0041798655 0.0019623022 0.0040195798 + 285500 0.0034978688 0.0019961643 0.0037177716 + 285600 0.0051718708 0.0016050934 0.0041506236 + 285700 0.006089721 0.0017956193 0.0047929039 + 285800 0.0055378442 0.0022742263 0.004999884 + 285900 0.0048483391 0.0023623824 0.0047486743 + 286000 0.0044359438 0.0024537118 0.0046370279 + 286100 0.0063184613 0.0020527595 0.0051626272 + 286200 0.005099011 0.0024050305 0.0049146999 + 286300 0.0051872157 0.0023959675 0.0049490502 + 286400 0.0050673214 0.0021706608 0.004664733 + 286500 0.004882268 0.0021289455 0.0045319368 + 286600 0.0049717609 0.0028283493 0.0052753878 + 286700 0.0036712961 0.0032208088 0.0050277748 + 286800 0.0060405443 0.00314277 0.0061158504 + 286900 0.0054182231 0.0030135494 0.0056803311 + 287000 0.0056516991 0.0026875092 0.0054692048 + 287100 0.0055781843 0.002612159 0.0053576715 + 287200 0.0055546327 0.0026079702 0.005341891 + 287300 0.0054151058 0.0026422114 0.0053074588 + 287400 0.0074576368 0.0023957024 0.0060662581 + 287500 0.0046591262 0.0022842036 0.0045773673 + 287600 0.0067459635 0.0021751278 0.0054954067 + 287700 0.0053785796 0.0025214308 0.0051687004 + 287800 0.0049057385 0.0028654939 0.0052800371 + 287900 0.004176115 0.0028334979 0.0048889295 + 288000 0.0055604985 0.0023412274 0.0050780352 + 288100 0.0037387113 0.0024017251 0.0042418721 + 288200 0.0056404075 0.0023093976 0.0050855357 + 288300 0.0045501538 0.0020671971 0.004306726 + 288400 0.0047281467 0.0019254614 0.004252596 + 288500 0.0052420169 0.0021301947 0.0047102499 + 288600 0.0049071112 0.0023332411 0.0047484599 + 288700 0.0055136404 0.0025692856 0.0052830305 + 288800 0.0041875311 0.002384965 0.0044460154 + 288900 0.0061062174 0.001874287 0.0048796908 + 289000 0.0048718227 0.0018319235 0.0042297737 + 289100 0.0041579011 0.0019319722 0.0039784391 + 289200 0.0053413023 0.0020533006 0.0046822228 + 289300 0.0048838928 0.0020780143 0.0044818053 + 289400 0.0048268538 0.0022827934 0.0046585105 + 289500 0.0052724478 0.0022592847 0.0048543176 + 289600 0.0037200203 0.0024930436 0.0043239912 + 289700 0.0036290274 0.0024109537 0.0041971156 + 289800 0.0033535047 0.0024153024 0.0040658556 + 289900 0.004899033 0.0022573918 0.0046686346 + 290000 0.0050403565 0.0019054861 0.0043862866 + 290100 0.0038143609 0.0021757956 0.0040531764 + 290200 0.0037962203 0.0017233103 0.0035917625 + 290300 0.0043023115 0.001874653 0.0039921969 + 290400 0.006700288 0.0016338544 0.0049316524 + 290500 0.0043624367 0.0019991164 0.0041462532 + 290600 0.0055329172 0.0020720495 0.0047952822 + 290700 0.0046564624 0.0020690296 0.0043608822 + 290800 0.0071000303 0.0020831749 0.005577721 + 290900 0.0041899293 0.002486584 0.0045488148 + 291000 0.0040808743 0.0027040414 0.0047125967 + 291100 0.0057499709 0.0026887317 0.0055187955 + 291200 0.0060481328 0.0028577565 0.0058345719 + 291300 0.0060448485 0.0028322277 0.0058074266 + 291400 0.0047044048 0.0023821025 0.0046975517 + 291500 0.0053481483 0.0020621014 0.0046943931 + 291600 0.0048968518 0.0019609843 0.0043711536 + 291700 0.0041199184 0.0020423124 0.0040700848 + 291800 0.0054915867 0.002335112 0.0050380023 + 291900 0.0055954496 0.0026243121 0.0053783224 + 292000 0.0056636134 0.0027465639 0.0055341236 + 292100 0.0041633477 0.0022289742 0.0042781219 + 292200 0.0059142867 0.0020208495 0.0049317875 + 292300 0.00513185 0.002127913 0.0046537454 + 292400 0.006132201 0.0017922222 0.0048104148 + 292500 0.0044070763 0.0020501831 0.004219291 + 292600 0.0057914118 0.0020830025 0.004933463 + 292700 0.0059532825 0.0020534976 0.0049836289 + 292800 0.0043464484 0.0022990952 0.0044383627 + 292900 0.0057856368 0.0022567445 0.0051043626 + 293000 0.0055726623 0.0020769191 0.0048197139 + 293100 0.0071085723 0.0022425997 0.0057413501 + 293200 0.0060260514 0.0031284991 0.0060944463 + 293300 0.0058306015 0.0033541554 0.0062239045 + 293400 0.0066032341 0.002950522 0.0062005513 + 293500 0.0055403059 0.0030218491 0.0057487185 + 293600 0.0039118003 0.0029699761 0.0048953153 + 293700 0.0064445288 0.0026244721 0.0057963886 + 293800 0.0072227602 0.0026925692 0.0062475215 + 293900 0.0056668148 0.0028094831 0.0055986186 + 294000 0.0044665037 0.0025095641 0.0047079213 + 294100 0.0043348479 0.0022007731 0.0043343311 + 294200 0.0052094433 0.0020390474 0.0046030702 + 294300 0.0060089519 0.0021158672 0.0050733982 + 294400 0.0049545533 0.002111353 0.0045499222 + 294500 0.0045082194 0.0023376689 0.0045565581 + 294600 0.0053350556 0.0022611612 0.0048870089 + 294700 0.0057154941 0.0020239705 0.0048370652 + 294800 0.0056675927 0.0021965197 0.004986038 + 294900 0.0049711373 0.002200315 0.0046470466 + 295000 0.0048296089 0.0022296148 0.0046066879 + 295100 0.0054522483 0.0024273575 0.0051108859 + 295200 0.0059775676 0.002159578 0.0051016621 + 295300 0.0037086401 0.0021293417 0.003954688 + 295400 0.0042428414 0.0019853384 0.004073612 + 295500 0.0044552027 0.00226977 0.0044625651 + 295600 0.0047171324 0.0025499174 0.004871631 + 295700 0.006141779 0.0022932063 0.0053161131 + 295800 0.0063097454 0.0019563074 0.0050618852 + 295900 0.0039351491 0.0023714684 0.0043082996 + 296000 0.0044891937 0.0024176892 0.0046272142 + 296100 0.0046578385 0.0025202436 0.0048127735 + 296200 0.0071997951 0.0027672246 0.0063108738 + 296300 0.0050790967 0.0028790672 0.0053789351 + 296400 0.0043131336 0.0022457621 0.0043686325 + 296500 0.0064163036 0.0022129579 0.0053709823 + 296600 0.0058362679 0.0021762536 0.0050487917 + 296700 0.0061486219 0.0023235059 0.0053497807 + 296800 0.0056663741 0.0026256777 0.0054145962 + 296900 0.0052070286 0.0023150718 0.0048779061 + 297000 0.0064119802 0.0022116379 0.0053675343 + 297100 0.0048454019 0.0023376146 0.0047224608 + 297200 0.0051476995 0.0024472342 0.0049808675 + 297300 0.0042355431 0.0026640543 0.0047487356 + 297400 0.0059068707 0.0027115783 0.0056188662 + 297500 0.0049975085 0.0026797758 0.005139487 + 297600 0.006256412 0.0030559719 0.0061352997 + 297700 0.0043550938 0.0029716451 0.0051151678 + 297800 0.0062387598 0.002836972 0.0059076116 + 297900 0.0061965858 0.0026240692 0.0056739512 + 298000 0.0038181371 0.002708795 0.0045880343 + 298100 0.0049090499 0.0023853755 0.0048015485 + 298200 0.0041383968 0.0021808958 0.004217763 + 298300 0.0037259549 0.0021775113 0.0040113797 + 298400 0.0049120211 0.0021294929 0.0045471283 + 298500 0.0046831496 0.0017965247 0.0041015124 + 298600 0.0047943649 0.0017142088 0.0040739353 + 298700 0.0055976617 0.0019625096 0.0047176087 + 298800 0.0051504533 0.0020504707 0.0045854594 + 298900 0.0057271189 0.0020448872 0.0048637036 + 299000 0.0047256555 0.0020833165 0.004409225 + 299100 0.0058824059 0.0018254253 0.0047206719 + 299200 0.0037472808 0.0018794951 0.0037238599 + 299300 0.0064574708 0.0019687146 0.005147001 + 299400 0.0050231423 0.0019767519 0.0044490797 + 299500 0.0063358131 0.0020033075 0.0051217155 + 299600 0.0052849648 0.0019924505 0.0045936441 + 299700 0.006421546 0.0020709075 0.0052315122 + 299800 0.0043568251 0.0020909698 0.0042353446 + 299900 0.0038241524 0.0022098234 0.0040920234 + 300000 0.0050877263 0.0023828085 0.0048869238 + 300100 0.0055949947 0.0026037288 0.0053575152 + 300200 0.0051542361 0.0022095345 0.0047463851 + 300300 0.0042019678 0.002476749 0.0045449051 + 300400 0.0039588075 0.0023191484 0.004267624 + 300500 0.0044932282 0.0021236546 0.0043351653 + 300600 0.0043580006 0.002274304 0.0044192575 + 300700 0.0066011597 0.0024061227 0.005655131 + 300800 0.0046364171 0.0024810001 0.0047629866 + 300900 0.0049303392 0.0023185448 0.0047451961 + 301000 0.004542763 0.0019968758 0.0042327669 + 301100 0.005291117 0.0017902761 0.0043944977 + 301200 0.0048559105 0.0018952059 0.0042852243 + 301300 0.0050116406 0.0021512483 0.0046179152 + 301400 0.0051376127 0.0020069282 0.004535597 + 301500 0.0046335404 0.0017361701 0.0040167408 + 301600 0.0047853856 0.0016964198 0.0040517267 + 301700 0.0043274036 0.0020556725 0.0041855664 + 301800 0.0035294959 0.0020547535 0.0037919273 + 301900 0.0068633601 0.0017763236 0.0051543837 + 302000 0.0030253886 0.0021111309 0.0036001893 + 302100 0.0061660107 0.0023596328 0.0053944662 + 302200 0.005387757 0.0026259514 0.0052777381 + 302300 0.0053280542 0.0020563705 0.0046787722 + 302400 0.0045577247 0.0022165395 0.0044597947 + 302500 0.0050421853 0.002539331 0.0050210315 + 302600 0.0041698153 0.0027944637 0.0048467946 + 302700 0.0046289657 0.0024697097 0.0047480288 + 302800 0.0049888272 0.0021658562 0.0046212946 + 302900 0.0043496517 0.0027203352 0.0048611794 + 303000 0.0048416624 0.0028570573 0.005240063 + 303100 0.0042699425 0.0025930338 0.0046946461 + 303200 0.0043969234 0.0020970145 0.0042611252 + 303300 0.0039597557 0.0017369248 0.003685867 + 303400 0.0048979443 0.0017071219 0.0041178289 + 303500 0.0048293406 0.0018950278 0.0042719688 + 303600 0.004307733 0.0019953642 0.0041155765 + 303700 0.004297622 0.0024568836 0.0045721195 + 303800 0.0042620239 0.0025459412 0.0046436561 + 303900 0.0041628853 0.0021400477 0.0041889678 + 304000 0.0051901739 0.0015509767 0.0041055154 + 304100 0.0045696459 0.0016978458 0.0039469684 + 304200 0.0036762216 0.0023674445 0.0041768349 + 304300 0.0045938445 0.0022864155 0.0045474483 + 304400 0.0048347706 0.002441079 0.0048206927 + 304500 0.004841752 0.0024822243 0.0048652741 + 304600 0.0033170164 0.0021655033 0.0037980974 + 304700 0.0043973833 0.0018748501 0.0040391872 + 304800 0.0047630254 0.0017818813 0.0041261829 + 304900 0.0056284957 0.0019196916 0.0046899668 + 305000 0.0053338011 0.0023417643 0.0049669945 + 305100 0.0055688311 0.0023636855 0.0051045946 + 305200 0.0063662198 0.0023452216 0.0054785954 + 305300 0.0059935567 0.0026367847 0.0055867384 + 305400 0.0033035103 0.002950183 0.0045761295 + 305500 0.0041495424 0.0027017899 0.0047441428 + 305600 0.0041828845 0.0026358116 0.0046945751 + 305700 0.0045792404 0.0022386206 0.0044924655 + 305800 0.0045192668 0.0022401023 0.0044644289 + 305900 0.0030179347 0.0025930679 0.0040784576 + 306000 0.0063316304 0.0025821997 0.0056985491 + 306100 0.0043898523 0.0027057962 0.0048664266 + 306200 0.0054384885 0.0024500126 0.0051267687 + 306300 0.0057237205 0.0018711084 0.0046882521 + 306400 0.0045052176 0.0019313204 0.0041487322 + 306500 0.0066178757 0.0023495259 0.0056067616 + 306600 0.0042655899 0.0024501066 0.0045495767 + 306700 0.0049793155 0.0020314932 0.0044822501 + 306800 0.0051383572 0.001448726 0.0039777612 + 306900 0.0034008114 0.0016509757 0.0033248126 + 307000 0.0044492934 0.0018402755 0.0040301621 + 307100 0.0040087196 0.0020185933 0.003991635 + 307200 0.0061402075 0.0018685076 0.004890641 + 307300 0.0046424429 0.0023319151 0.0046168674 + 307400 0.0044901318 0.0026460383 0.004856025 + 307500 0.0064256922 0.0024289335 0.0055915788 + 307600 0.006363528 0.0020303869 0.0051624358 + 307700 0.00551043 0.0018244231 0.0045365879 + 307800 0.0063290613 0.0023455805 0.0054606653 + 307900 0.0048031405 0.002790325 0.0051543707 + 308000 0.0043540539 0.0024212857 0.0045642966 + 308100 0.0044062169 0.0024033531 0.004572038 + 308200 0.0033854346 0.0026575497 0.0043238183 + 308300 0.0052398583 0.0025601051 0.0051390978 + 308400 0.0050621145 0.0026309937 0.0051225032 + 308500 0.004897464 0.0025213038 0.0049317743 + 308600 0.0054254659 0.002289802 0.0049601486 + 308700 0.0041624852 0.0023842388 0.004432962 + 308800 0.0038172406 0.0021722387 0.0040510368 + 308900 0.0043219295 0.0024504291 0.0045776287 + 309000 0.0037379847 0.0024222513 0.0042620407 + 309100 0.0056667484 0.0022771559 0.0050662586 + 309200 0.0049347804 0.0027918244 0.0052206616 + 309300 0.0047666107 0.0030118165 0.0053578828 + 309400 0.0054099852 0.0027303473 0.0053930744 + 309500 0.0044969047 0.0024562014 0.0046695217 + 309600 0.0054114589 0.002285602 0.0049490544 + 309700 0.0052115065 0.0024276711 0.0049927095 + 309800 0.003920764 0.0028000802 0.0047298312 + 309900 0.004430456 0.0025729224 0.0047535374 + 310000 0.0034037257 0.0021421198 0.003817391 + 310100 0.0037533032 0.0019081211 0.00375545 + 310200 0.0041147163 0.0021447348 0.0041699467 + 310300 0.0061358661 0.0020328314 0.005052828 + 310400 0.0073396599 0.001929583 0.0055420718 + 310500 0.0039534213 0.0023896367 0.0043354613 + 310600 0.0049657573 0.0025892376 0.0050333213 + 310700 0.0060803932 0.0024350177 0.0054277113 + 310800 0.0043081063 0.002663761 0.0047841571 + 310900 0.0063134605 0.0027828432 0.0058902495 + 311000 0.0043610297 0.0024267644 0.0045732087 + 311100 0.0066050831 0.0022425933 0.0054935326 + 311200 0.0066021127 0.0022356768 0.0054851542 + 311300 0.0047084248 0.0027619117 0.0050793395 + 311400 0.0046389742 0.0025079931 0.0047912382 + 311500 0.0031622451 0.0026945803 0.0042509978 + 311600 0.0054517843 0.0025155622 0.0051988623 + 311700 0.0053881383 0.0031895376 0.0058415119 + 311800 0.0060914508 0.0031564835 0.0061546195 + 311900 0.0062037131 0.0029239271 0.0059773171 + 312000 0.0057086156 0.0024698676 0.0052795768 + 312100 0.0048083843 0.0020722213 0.0044388479 + 312200 0.0051205344 0.0017145159 0.004234779 + 312300 0.0055713671 0.0020349418 0.0047770991 + 312400 0.0052638972 0.0024027484 0.0049935728 + 312500 0.0044872956 0.0023881514 0.0045967422 + 312600 0.0059714122 0.0021044295 0.0050434839 + 312700 0.0038477186 0.0024468248 0.0043406238 + 312800 0.0043416283 0.0027561858 0.004893081 + 312900 0.0040034086 0.0027926296 0.0047630573 + 313000 0.0041661203 0.0031291416 0.0051796539 + 313100 0.0055707833 0.0033573682 0.0060992381 + 313200 0.006533098 0.0027863831 0.0060018923 + 313300 0.0055834545 0.0020262082 0.0047743147 + 313400 0.0051034824 0.0019891572 0.0045010275 + 313500 0.0046922155 0.0019522172 0.0042616671 + 313600 0.0056864953 0.0021224279 0.0049212498 + 313700 0.0045755883 0.0019022253 0.0041542727 + 313800 0.0042415467 0.0017742298 0.0038618661 + 313900 0.0044090877 0.0018380443 0.0040081422 + 314000 0.004186704 0.0017837892 0.0038444326 + 314100 0.0076619885 0.0018297918 0.0056009268 + 314200 0.0065673577 0.0020146498 0.0052470212 + 314300 0.0061985942 0.002093505 0.0051443756 + 314400 0.0048993868 0.0018755836 0.0042870005 + 314500 0.0046955992 0.0016820375 0.0039931528 + 314600 0.0051369595 0.0016648187 0.004193166 + 314700 0.0060995719 0.0019535303 0.0049556634 + 314800 0.0048729345 0.0021285484 0.0045269459 + 314900 0.0044415989 0.0024654572 0.0046515566 + 315000 0.0047359747 0.0023122933 0.0046432808 + 315100 0.0050321094 0.0022380399 0.0047147812 + 315200 0.0038596322 0.0024031252 0.0043027879 + 315300 0.0082266899 0.0020531972 0.0061022712 + 315400 0.003180981 0.0026759524 0.0042415914 + 315500 0.0038791169 0.0027338557 0.0046431086 + 315600 0.0047490612 0.0025893627 0.0049267912 + 315700 0.0037016083 0.0025357777 0.004357663 + 315800 0.0050198048 0.0025375312 0.0050082163 + 315900 0.0048427155 0.0026820179 0.0050655419 + 316000 0.0044430825 0.002273303 0.0044601326 + 316100 0.004869985 0.0020010715 0.0043980173 + 316200 0.0037926404 0.0019222603 0.0037889505 + 316300 0.0037302168 0.0020680218 0.0039039878 + 316400 0.0067144773 0.001754487 0.0050592688 + 316500 0.0048562584 0.0021567765 0.0045469662 + 316600 0.0053173881 0.002486226 0.0051033779 + 316700 0.0050490097 0.0024481281 0.0049331876 + 316800 0.0047838599 0.0021662372 0.0045207932 + 316900 0.0051096434 0.0018025575 0.0043174601 + 317000 0.0046604458 0.0014142955 0.0037081087 + 317100 0.0046468917 0.0017572363 0.0040443783 + 317200 0.0046461758 0.0020307217 0.0043175114 + 317300 0.0042494802 0.0025274524 0.0046189935 + 317400 0.0049161581 0.00274476 0.0051644316 + 317500 0.004510538 0.0028351689 0.0050551994 + 317600 0.0035784648 0.0025288173 0.0042900929 + 317700 0.0050968232 0.0020476819 0.0045562746 + 317800 0.0048856452 0.0022254806 0.0046301341 + 317900 0.0065821567 0.0021698855 0.0054095408 + 318000 0.0045994376 0.0026543575 0.0049181432 + 318100 0.005647355 0.0029254513 0.0057050088 + 318200 0.0056003494 0.0030658225 0.0058222445 + 318300 0.0059744746 0.0030123288 0.0059528905 + 318400 0.0061899743 0.0028016736 0.0058483016 + 318500 0.0055990803 0.0028201688 0.0055759662 + 318600 0.0073876568 0.0021660664 0.0058021787 + 318700 0.0039737748 0.0026751665 0.0046310087 + 318800 0.0044129935 0.0027530534 0.0049250736 + 318900 0.0035481316 0.0032303001 0.0049766462 + 319000 0.0050778747 0.0031017347 0.0056010012 + 319100 0.0058117666 0.0024139919 0.0052744707 + 319200 0.0044064272 0.0028188262 0.0049876146 + 319300 0.0042073449 0.0024653575 0.0045361601 + 319400 0.0043908913 0.0021085314 0.0042696733 + 319500 0.003612737 0.0019352055 0.0037133494 + 319600 0.0035167444 0.0018392523 0.0035701499 + 319700 0.0035214825 0.0020374163 0.003770646 + 319800 0.0046569229 0.0023280946 0.0046201739 + 319900 0.0051299725 0.0025998089 0.0051247172 + 320000 0.0047614553 0.002521971 0.0048654998 + 320100 0.0047756501 0.002555655 0.0049061703 + 320200 0.0044812644 0.0026952903 0.0049009126 + 320300 0.0053129652 0.0028476172 0.0054625923 + 320400 0.0057140187 0.0025845147 0.0053968833 + 320500 0.0055579308 0.0019888275 0.0047243716 + 320600 0.0049282338 0.0023612727 0.0047868878 + 320700 0.0027523272 0.0026141655 0.0039688265 + 320800 0.0035113504 0.0024721848 0.0042004276 + 320900 0.0061723606 0.0024061905 0.0054441493 + 321000 0.0052538765 0.0025222783 0.0051081707 + 321100 0.0048574928 0.0027162489 0.0051070461 + 321200 0.0045901299 0.003070103 0.0053293075 + 321300 0.0062815553 0.003174217 0.00626592 + 321400 0.0068438625 0.003277907 0.0066463706 + 321500 0.0048596778 0.0030341535 0.0054260261 + 321600 0.0062151134 0.0030530562 0.0061120573 + 321700 0.0049686115 0.0035569926 0.006002481 + 321800 0.0057924155 0.0030888062 0.0059397607 + 321900 0.0045203019 0.0026922261 0.0049170622 + 322000 0.0060474503 0.0025908964 0.0055673758 + 322100 0.0049976658 0.0023956836 0.0048554722 + 322200 0.005529207 0.0019387862 0.0046601928 + 322300 0.0045219126 0.0020185655 0.0042441944 + 322400 0.0063986264 0.0022373029 0.0053866268 + 322500 0.0052143021 0.0022473441 0.0048137584 + 322600 0.0048151731 0.0022208701 0.0045908381 + 322700 0.0065976247 0.0023453208 0.0055925892 + 322800 0.0050594333 0.0024095215 0.0048997113 + 322900 0.0050661415 0.0023195699 0.0048130614 + 323000 0.0053727888 0.002369554 0.0050139735 + 323100 0.0065635308 0.0021823146 0.0054128024 + 323200 0.0058578296 0.0025005647 0.0053837152 + 323300 0.0023420641 0.0031890471 0.0043417818 + 323400 0.0059300115 0.0029678731 0.0058865506 + 323500 0.0054656754 0.0026135782 0.0053037153 + 323600 0.0049853207 0.0025802017 0.0050339142 + 323700 0.0039580198 0.0025862689 0.0045343568 + 323800 0.0062340757 0.0025661319 0.005634466 + 323900 0.0063222523 0.0028022616 0.0059139952 + 324000 0.0056103549 0.0028443509 0.0056056974 + 324100 0.0044755463 0.0027213016 0.0049241095 + 324200 0.0052108422 0.0021739587 0.0047386701 + 324300 0.0051489529 0.0023656516 0.0048999018 + 324400 0.0063955083 0.0022451234 0.0053929127 + 324500 0.0059078055 0.0023547615 0.0052625096 + 324600 0.0052741768 0.0026246296 0.0052205135 + 324700 0.0048073511 0.0023617383 0.0047278564 + 324800 0.0044543462 0.0024111153 0.0046034888 + 324900 0.0043568185 0.0024311096 0.0045754812 + 325000 0.0048427607 0.002278368 0.0046619143 + 325100 0.005611944 0.002268386 0.0050305147 + 325200 0.0056066709 0.0025565541 0.0053160875 + 325300 0.0052033355 0.002196078 0.0047570947 + 325400 0.0053136781 0.0018134539 0.0044287799 + 325500 0.0040255952 0.0023465549 0.0043279026 + 325600 0.0056330541 0.0019642634 0.0047367822 + 325700 0.0048215366 0.0016525164 0.0040256164 + 325800 0.0033960699 0.0018311046 0.0035026078 + 325900 0.0056530683 0.0020400663 0.0048224358 + 326000 0.0053621383 0.0023744641 0.0050136415 + 326100 0.0051029142 0.0022124474 0.004724038 + 326200 0.0045246833 0.0021126924 0.004339685 + 326300 0.0055334556 0.0021766027 0.0049001004 + 326400 0.004375118 0.002095216 0.0042485944 + 326500 0.0038348452 0.0020385025 0.0039259654 + 326600 0.0048607022 0.0017399901 0.004132367 + 326700 0.0050259246 0.0017263435 0.0042000407 + 326800 0.0047484659 0.0019122314 0.0042493669 + 326900 0.0044892457 0.0022371185 0.0044466691 + 327000 0.0052455045 0.0023392121 0.0049209838 + 327100 0.0045307383 0.0025215602 0.004751533 + 327200 0.0075367233 0.0025027662 0.0062122472 + 327300 0.0057807234 0.0030597491 0.0059049489 + 327400 0.0052337359 0.0030405807 0.0056165601 + 327500 0.0040433487 0.0026701575 0.0046602432 + 327600 0.0050409182 0.0025710618 0.0050521387 + 327700 0.0051837315 0.0025892793 0.0051406471 + 327800 0.004559664 0.0026371517 0.0048813614 + 327900 0.0041903046 0.0024764479 0.0045388635 + 328000 0.006036767 0.0021991582 0.0051703794 + 328100 0.0058355661 0.0024213867 0.0052935794 + 328200 0.0046557133 0.0022493503 0.0045408342 + 328300 0.0050284577 0.0020667015 0.0045416455 + 328400 0.0064661638 0.0023281587 0.0055107238 + 328500 0.0054592004 0.0026281844 0.0053151347 + 328600 0.0057328037 0.0027028114 0.0055244258 + 328700 0.0052120141 0.0028003225 0.0053656106 + 328800 0.0051565046 0.0028444497 0.0053824168 + 328900 0.0047588075 0.0028244208 0.0051666463 + 329000 0.0054260535 0.0030078858 0.0056785215 + 329100 0.0055192671 0.003015516 0.0057320303 + 329200 0.0053222785 0.0030536673 0.0056732263 + 329300 0.0057604214 0.0024746381 0.0053098455 + 329400 0.0053261764 0.0020666286 0.0046881061 + 329500 0.0029056155 0.0021124803 0.0035425879 + 329600 0.0055527804 0.0020353885 0.0047683976 + 329700 0.0062681711 0.0016034126 0.0046885281 + 329800 0.0051299621 0.0016826418 0.004207545 + 329900 0.0052347673 0.0019604342 0.0045369213 + 330000 0.0031277183 0.0025373046 0.0040767284 + 330100 0.0050956873 0.0022314481 0.0047394817 + 330200 0.0046240859 0.002493943 0.0047698603 + 330300 0.0051878959 0.0023932902 0.0049467077 + 330400 0.0059532315 0.0022028468 0.0051329529 + 330500 0.0048644614 0.0021978874 0.0045921146 + 330600 0.0058899435 0.0016749699 0.0045739265 + 330700 0.0047595022 0.0018933465 0.004235914 + 330800 0.004027909 0.0022445988 0.0042270853 + 330900 0.0047129772 0.0021104314 0.0044300999 + 331000 0.0034661128 0.0019528164 0.0036587937 + 331100 0.0040928543 0.0018828694 0.0038973211 + 331200 0.0048374832 0.0021225164 0.0045034652 + 331300 0.0055376301 0.002092528 0.0048180803 + 331400 0.0068219473 0.002104335 0.0054620122 + 331500 0.0064906914 0.0019441259 0.005138763 + 331600 0.0048569466 0.0019508262 0.0043413547 + 331700 0.0043494705 0.0023500908 0.0044908458 + 331800 0.0058385821 0.002849531 0.0057232081 + 331900 0.004379027 0.0037254644 0.0058807667 + 332000 0.0044210789 0.0034383169 0.0056143167 + 332100 0.0069856144 0.0022357875 0.0056740196 + 332200 0.004117182 0.002127037 0.0041534626 + 332300 0.0049098179 0.0019882428 0.0044047938 + 332400 0.0038269913 0.001898975 0.0037825723 + 332500 0.0045702698 0.00243781 0.0046872397 + 332600 0.0050348909 0.0023721101 0.0048502205 + 332700 0.0053653622 0.0020552574 0.0046960216 + 332800 0.0057681274 0.0023626353 0.0052016355 + 332900 0.0054042007 0.0024708062 0.0051306862 + 333000 0.0029103313 0.0023991226 0.0038315512 + 333100 0.0058431434 0.0018772889 0.004753211 + 333200 0.0052238336 0.0023503356 0.0049214412 + 333300 0.0046082591 0.0022904782 0.0045586057 + 333400 0.0037606014 0.0025509069 0.0044018279 + 333500 0.0057126124 0.0024241106 0.005235787 + 333600 0.00495877 0.0023256984 0.004766343 + 333700 0.0040516365 0.0025522257 0.0045463905 + 333800 0.0046056571 0.0024299347 0.0046967816 + 333900 0.0059936976 0.0025326404 0.0054826634 + 334000 0.0050090317 0.0026975778 0.0051629606 + 334100 0.0048224043 0.0023177325 0.0046912596 + 334200 0.0047465595 0.0022584313 0.0045946285 + 334300 0.0047383602 0.0020960949 0.0044282565 + 334400 0.00447418 0.0022295434 0.0044316788 + 334500 0.0046976152 0.0029920801 0.0053041876 + 334600 0.0095602281 0.0032108559 0.0079162807 + 334700 0.0060529118 0.0031333634 0.0061125309 + 334800 0.0054383168 0.0029627024 0.005639374 + 334900 0.0048297419 0.0030378469 0.0054149854 + 335000 0.0036255048 0.002854178 0.0046386061 + 335100 0.0049068023 0.0027093379 0.0051244046 + 335200 0.0037893703 0.0025810607 0.0044461415 + 335300 0.0048677778 0.0025528082 0.0049486676 + 335400 0.0048052576 0.0026368991 0.0050019869 + 335500 0.0061973496 0.0021259211 0.0051761791 + 335600 0.0044307101 0.0020506005 0.0042313406 + 335700 0.0049117556 0.0022228446 0.0046403493 + 335800 0.0054868214 0.0026098623 0.0053104072 + 335900 0.0039821512 0.0029354361 0.0048954012 + 336000 0.0043027398 0.003056659 0.0051744138 + 336100 0.0045869046 0.0029231263 0.0051807434 + 336200 0.0053314878 0.0026295653 0.005253657 + 336300 0.0042049316 0.0027406651 0.0048102799 + 336400 0.0046563857 0.0030293837 0.0053211985 + 336500 0.0047106991 0.0026620879 0.0049806351 + 336600 0.0057534888 0.0022922521 0.0051240474 + 336700 0.0051778049 0.0023354013 0.0048838522 + 336800 0.0055912129 0.0021341757 0.0048861008 + 336900 0.0047996664 0.0021274597 0.0044897955 + 337000 0.0044709326 0.0021509322 0.0043514694 + 337100 0.0043332075 0.0022204293 0.0043531799 + 337200 0.0035257608 0.002159089 0.0038944244 + 337300 0.0033144572 0.002168649 0.0037999834 + 337400 0.0047072305 0.0021443762 0.0044612162 + 337500 0.0067050056 0.0022543778 0.0055544978 + 337600 0.0047521822 0.0026662701 0.0050052348 + 337700 0.0034348624 0.0031406063 0.0048312026 + 337800 0.0054790001 0.0028961126 0.005592808 + 337900 0.0056778259 0.0029107969 0.0057053518 + 338000 0.0039245661 0.0027504317 0.004682054 + 338100 0.0046351085 0.0025734044 0.0048547468 + 338200 0.0054107495 0.002748859 0.0054119623 + 338300 0.0053390189 0.0029753608 0.0056031592 + 338400 0.00509162 0.0029896246 0.0054956564 + 338500 0.004864577 0.0023970071 0.0047912911 + 338600 0.0062691242 0.0019280978 0.0050136824 + 338700 0.004488453 0.0022345275 0.004443688 + 338800 0.0040229278 0.0027390889 0.0047191237 + 338900 0.0041779137 0.0027617773 0.0048180942 + 339000 0.0038402221 0.0022736811 0.0041637904 + 339100 0.0059319623 0.0020012805 0.0049209182 + 339200 0.0047081709 0.0024369507 0.0047542536 + 339300 0.004831549 0.0021615809 0.004539609 + 339400 0.0046498863 0.0024432647 0.0047318806 + 339500 0.0054773139 0.0024905582 0.0051864236 + 339600 0.0048419023 0.0025736213 0.0049567451 + 339700 0.0050719427 0.0023708671 0.0048672138 + 339800 0.0039626242 0.0026022442 0.0045525983 + 339900 0.0053190177 0.002840043 0.005457997 + 340000 0.0048975347 0.0029617319 0.0053722372 + 340100 0.0047643786 0.0029535907 0.0052985583 + 340200 0.0047083991 0.0025721134 0.0048895286 + 340300 0.0044987947 0.0024667346 0.0046809852 + 340400 0.0056653718 0.0024981086 0.0052865338 + 340500 0.0048766463 0.002449461 0.0048496853 + 340600 0.0049467875 0.002619603 0.00505435 + 340700 0.0044054964 0.0025233414 0.0046916716 + 340800 0.0056488889 0.0018868629 0.0046671754 + 340900 0.005264977 0.001848425 0.0044397808 + 341000 0.0047877173 0.0021560494 0.004512504 + 341100 0.0048495838 0.0027207665 0.005107671 + 341200 0.0056968798 0.0026844369 0.0054883699 + 341300 0.0045795437 0.0021707802 0.0044247744 + 341400 0.0045206116 0.0016889281 0.0039139167 + 341500 0.0055280808 0.0016024692 0.0043233215 + 341600 0.0044345839 0.0021855378 0.0043681846 + 341700 0.003608507 0.0026911594 0.0044672215 + 341800 0.004151767 0.0022562679 0.0042997157 + 341900 0.0047769889 0.001942429 0.0042936032 + 342000 0.0041524731 0.0021296657 0.004173461 + 342100 0.0028647543 0.0021059027 0.0035158989 + 342200 0.0052484293 0.0019954016 0.0045786129 + 342300 0.005968695 0.0021804442 0.0051181613 + 342400 0.0042671517 0.0022677725 0.0043680112 + 342500 0.0040885731 0.0017680067 0.0037803513 + 342600 0.0051378997 0.0014495201 0.0039783301 + 342700 0.0051843409 0.0015544321 0.0041060999 + 342800 0.0072454759 0.0019399491 0.0055060818 + 342900 0.0057104558 0.0021426528 0.0049532678 + 343000 0.0049272705 0.0027331706 0.0051583115 + 343100 0.0051642727 0.0029613203 0.0055031108 + 343200 0.0048997081 0.0027328761 0.0051444512 + 343300 0.0049256364 0.0023573651 0.0047817017 + 343400 0.0059173084 0.0023719069 0.0052843321 + 343500 0.0052049325 0.0022036854 0.0047654882 + 343600 0.0038260344 0.0023350414 0.0042181677 + 343700 0.0048167846 0.001950103 0.0043208642 + 343800 0.0049062574 0.0019470735 0.0043618721 + 343900 0.0058081465 0.0019419511 0.0048006482 + 344000 0.0044867913 0.0023470635 0.004555406 + 344100 0.0052542353 0.0023904809 0.0049765498 + 344200 0.0052471153 0.002341275 0.0049238395 + 344300 0.0049815192 0.0024256501 0.0048774916 + 344400 0.0068000025 0.0027064165 0.0060532927 + 344500 0.005022624 0.0030125909 0.0054846637 + 344600 0.0041423393 0.0025111974 0.0045500051 + 344700 0.0059137787 0.0021741884 0.0050848764 + 344800 0.0050459356 0.0019761752 0.0044597217 + 344900 0.0049236625 0.0022010453 0.0046244104 + 345000 0.0056778909 0.0020909775 0.0048855644 + 345100 0.0035307952 0.0017911028 0.003528916 + 345200 0.0035490531 0.0015365913 0.0032833909 + 345300 0.0031444625 0.0018936676 0.0034413327 + 345400 0.0034264023 0.0020222863 0.0037087186 + 345500 0.0037035799 0.0018916302 0.003714486 + 345600 0.0053211105 0.0020093516 0.0046283357 + 345700 0.0046483308 0.0018926229 0.0041804732 + 345800 0.0050995306 0.0017747194 0.0042846446 + 345900 0.0051391467 0.0018501831 0.0043796069 + 346000 0.0067484008 0.0017546441 0.0050761226 + 346100 0.0054252797 0.0024375968 0.0051078516 + 346200 0.0065942687 0.0029091755 0.0061547921 + 346300 0.0048100146 0.0025522466 0.0049196757 + 346400 0.0076446683 0.0021572703 0.0059198805 + 346500 0.0049077262 0.002161338 0.0045768595 + 346600 0.005448304 0.0021385044 0.0048200915 + 346700 0.004623322 0.0024720809 0.0047476222 + 346800 0.0043105114 0.0024128643 0.0045344441 + 346900 0.0043853963 0.0021908367 0.0043492739 + 347000 0.0050320419 0.0019562119 0.0044329201 + 347100 0.0059712453 0.0022186209 0.0051575932 + 347200 0.0044387626 0.0020556764 0.0042403799 + 347300 0.0060734002 0.0017531989 0.0047424506 + 347400 0.0051663533 0.0017929854 0.0043357999 + 347500 0.005894556 0.0018061399 0.0047073667 + 347600 0.0050329228 0.0016944753 0.004171617 + 347700 0.0054376242 0.0018751541 0.0045514848 + 347800 0.0039536921 0.002461334 0.0044072918 + 347900 0.0048609338 0.0024695234 0.0048620143 + 348000 0.0040711025 0.0026495435 0.0046532893 + 348100 0.0060186902 0.0024433118 0.0054056359 + 348200 0.0048265383 0.0022791081 0.0046546699 + 348300 0.0049066698 0.0019600822 0.0043750838 + 348400 0.0062615707 0.0021468968 0.0052287636 + 348500 0.0045795801 0.0028951452 0.0051491573 + 348600 0.0070489264 0.0028821057 0.0063514991 + 348700 0.0064167452 0.0028128891 0.0059711309 + 348800 0.0048404525 0.0036066777 0.005989088 + 348900 0.0042652747 0.0029956784 0.0050949933 + 349000 0.005152289 0.0021492665 0.0046851587 + 349100 0.0057726924 0.0021469576 0.0049882047 + 349200 0.0054107211 0.0026438918 0.0053069811 + 349300 0.005509818 0.0030374773 0.0057493408 + 349400 0.0049953139 0.003316595 0.0057752261 + 349500 0.0044357097 0.0030711644 0.0052543653 + 349600 0.0040615328 0.0022614423 0.004260478 + 349700 0.0061174351 0.0022995857 0.0053105107 + 349800 0.0051431454 0.0023036269 0.0048350188 + 349900 0.0039849913 0.0022545186 0.0042158815 + 350000 0.0069908919 0.0018332833 0.0052741129 + 350100 0.0061633262 0.0020781743 0.0051116864 + 350200 0.0048655639 0.0025683568 0.0049631266 + 350300 0.0051047733 0.0027938643 0.0053063699 + 350400 0.0048522167 0.0032151405 0.0056033409 + 350500 0.0047346071 0.0029305422 0.0052608567 + 350600 0.0072529494 0.0026251373 0.0061949483 + 350700 0.0060320232 0.0030161162 0.0059850026 + 350800 0.0064383866 0.0025701901 0.0057390835 + 350900 0.0055084542 0.0024246424 0.0051358347 + 351000 0.0040852459 0.0024112771 0.004421984 + 351100 0.0057153177 0.0021696598 0.0049826678 + 351200 0.0056691159 0.0024704788 0.0052607468 + 351300 0.004932526 0.0027125187 0.0051402463 + 351400 0.0065659099 0.0029859348 0.0062175936 + 351500 0.0049921463 0.0029548393 0.0054119113 + 351600 0.0058040193 0.0027070124 0.0055636782 + 351700 0.0059135131 0.0025527873 0.0054633445 + 351800 0.0037511056 0.002248325 0.0040945723 + 351900 0.0043618542 0.0018848968 0.0040317469 + 352000 0.0062789706 0.0019466299 0.0050370608 + 352100 0.0043694042 0.0027682395 0.0049188056 + 352200 0.0048511168 0.0030408162 0.0054284753 + 352300 0.0075216408 0.002495528 0.0061975856 + 352400 0.0049722096 0.0022966542 0.0047439137 + 352500 0.0056997896 0.0024724636 0.0052778287 + 352600 0.0041041173 0.0027577143 0.0047777095 + 352700 0.0049629672 0.0025352942 0.0049780046 + 352800 0.0050731903 0.0023089576 0.0048059185 + 352900 0.0046683112 0.0024820004 0.0047796848 + 353000 0.0047817848 0.0023511224 0.0047046572 + 353100 0.0062691888 0.0023922718 0.0054778882 + 353200 0.0042591318 0.0025672153 0.0046635068 + 353300 0.0049174096 0.0022859234 0.0047062109 + 353400 0.0064927484 0.0020531898 0.0052488394 + 353500 0.0051046722 0.0025204903 0.0050329461 + 353600 0.004026848 0.0031766428 0.005158607 + 353700 0.004556338 0.0033724672 0.0056150398 + 353800 0.0041610099 0.0026598791 0.0047078762 + 353900 0.0063368989 0.0019715779 0.0050905204 + 354000 0.0039447345 0.0025368843 0.0044784333 + 354100 0.0063793831 0.002335157 0.0054750096 + 354200 0.0046321709 0.0029898342 0.0052697308 + 354300 0.0040257457 0.002677269 0.0046586907 + 354400 0.0047729898 0.0020506704 0.0043998764 + 354500 0.0049241785 0.0018554385 0.0042790577 + 354600 0.0063233638 0.0017479398 0.0048602205 + 354700 0.0070308894 0.0017115622 0.0051720781 + 354800 0.0058603507 0.0020935265 0.0049779178 + 354900 0.0056541045 0.0026087668 0.0053916464 + 355000 0.0047183346 0.0030901189 0.0054124242 + 355100 0.0048192671 0.0030072783 0.0053792613 + 355200 0.0061848635 0.0025923697 0.0056364822 + 355300 0.0055835174 0.0023952385 0.0051433759 + 355400 0.0053214684 0.0022308495 0.0048500097 + 355500 0.0047528433 0.0024809614 0.0048202515 + 355600 0.0051611981 0.0022106924 0.0047509695 + 355700 0.0048213743 0.0026599844 0.0050330046 + 355800 0.0046925812 0.0031037627 0.0054133925 + 355900 0.0057470818 0.0030012694 0.0058299113 + 356000 0.005395717 0.0023742003 0.0050299048 + 356100 0.0053219035 0.0022962488 0.0049156232 + 356200 0.0061335231 0.0029818147 0.0060006581 + 356300 0.005078304 0.0033505044 0.0058499821 + 356400 0.0040332776 0.0026873388 0.0046724676 + 356500 0.0068302654 0.0021781972 0.0055399684 + 356600 0.0054316014 0.0021980462 0.0048714125 + 356700 0.0053657241 0.0025026558 0.0051435981 + 356800 0.0044306781 0.0030242858 0.0052050102 + 356900 0.0043437294 0.0035037082 0.0056416375 + 357000 0.0068950202 0.0029445345 0.0063381772 + 357100 0.0053775016 0.0017913948 0.0044381339 + 357200 0.0048996075 0.0016507557 0.0040622812 + 357300 0.0041225465 0.0019167914 0.0039458573 + 357400 0.0043866137 0.0020337826 0.004192819 + 357500 0.0046767287 0.002027514 0.0043293414 + 357600 0.0040868936 0.0021636151 0.0041751331 + 357700 0.0041755719 0.0023077562 0.0043629205 + 357800 0.006286349 0.0023709462 0.0054650086 + 357900 0.0059459605 0.0026718997 0.0055984271 + 358000 0.004517473 0.0032530542 0.0054764979 + 358100 0.0042423026 0.003083957 0.0051719653 + 358200 0.0050809038 0.002532991 0.0050337484 + 358300 0.0064961655 0.0027379971 0.0059353285 + 358400 0.0042767625 0.0027251581 0.0048301271 + 358500 0.0050050821 0.0026529481 0.0051163869 + 358600 0.0044933176 0.0030159922 0.005227547 + 358700 0.0045551551 0.0027097253 0.0049517158 + 358800 0.0052515108 0.0024109801 0.0049957081 + 358900 0.0050499794 0.0025756756 0.0050612123 + 359000 0.0040111689 0.0029600554 0.0049343026 + 359100 0.0029529561 0.0029732736 0.0044266817 + 359200 0.0058498228 0.0026677613 0.005546971 + 359300 0.0049405101 0.002785985 0.0052176424 + 359400 0.0057080697 0.0027232937 0.0055327342 + 359500 0.0042785569 0.0026200802 0.0047259324 + 359600 0.0044002583 0.0025859652 0.0047517173 + 359700 0.0053194942 0.0025298613 0.0051480498 + 359800 0.0054705103 0.0025683059 0.0052608227 + 359900 0.0046163064 0.0030372188 0.0053093071 + 360000 0.0050034411 0.0029792511 0.0054418823 + 360100 0.0047689521 0.0023198526 0.0046670712 + 360200 0.0062372734 0.0021607872 0.0052306952 + 360300 0.0059941845 0.0023085939 0.0052588565 + 360400 0.0055385683 0.0024335506 0.0051595647 + 360500 0.0047284982 0.0022144045 0.0045417122 + 360600 0.003786827 0.0020981483 0.0039619772 + 360700 0.0046426695 0.0023411493 0.0046262132 + 360800 0.0045262753 0.0023056363 0.0045334124 + 360900 0.0034172623 0.0023504914 0.0040324252 + 361000 0.0048579274 0.0024664559 0.004857467 + 361100 0.0049084596 0.002539045 0.0049549275 + 361200 0.003713698 0.0021145654 0.0039424012 + 361300 0.0050512959 0.0016573789 0.0041435636 + 361400 0.0038989616 0.0018880801 0.0038071003 + 361500 0.0055821784 0.0022020043 0.0049494827 + 361600 0.0041739129 0.002168579 0.0042229267 + 361700 0.0052884325 0.0022294721 0.0048323724 + 361800 0.0061369648 0.0026249477 0.005645485 + 361900 0.0037541672 0.0029447576 0.0047925118 + 362000 0.0048419108 0.0024012723 0.0047844003 + 362100 0.0046341022 0.0019604415 0.0042412887 + 362200 0.0047688902 0.0018643424 0.0042115305 + 362300 0.0036795228 0.0020104442 0.0038214593 + 362400 0.0040713944 0.0020303363 0.0040342257 + 362500 0.005405807 0.0023052905 0.0049659611 + 362600 0.0043052846 0.0026918773 0.0048108846 + 362700 0.0046192618 0.0025232953 0.0047968382 + 362800 0.0045531562 0.0022262412 0.0044672477 + 362900 0.0034816772 0.002279432 0.00399307 + 363000 0.0049848818 0.0024757112 0.0049292077 + 363100 0.0043716107 0.002188285 0.0043399371 + 363200 0.0064179081 0.0020451299 0.005203944 + 363300 0.0050416684 0.0023692514 0.0048506976 + 363400 0.0049780074 0.0024944749 0.004944588 + 363500 0.00424983 0.0028522618 0.004943975 + 363600 0.0064716739 0.0026348189 0.0058200959 + 363700 0.0049693429 0.0026059792 0.0050518276 + 363800 0.0040423797 0.0024742489 0.0044638577 + 363900 0.0052580146 0.0026835449 0.005271474 + 364000 0.0056973946 0.0028848043 0.0056889907 + 364100 0.0037984698 0.003085584 0.0049551433 + 364200 0.005096273 0.0026492794 0.0051576012 + 364300 0.0060072398 0.00256539 0.0055220784 + 364400 0.0051307279 0.0023526301 0.0048779103 + 364500 0.0054812084 0.0020512567 0.004749039 + 364600 0.0049248976 0.00165727 0.004081243 + 364700 0.0049631557 0.0018647915 0.0043075947 + 364800 0.0053233911 0.0022860253 0.0049061318 + 364900 0.0058731546 0.0025217211 0.0054124144 + 365000 0.0045610887 0.0024411733 0.0046860842 + 365100 0.0062012433 0.0023529687 0.0054051432 + 365200 0.0041430554 0.0030070804 0.0050462405 + 365300 0.004788213 0.0032252345 0.0055819331 + 365400 0.0052657782 0.0025832083 0.0051749585 + 365500 0.0063713464 0.0018436385 0.0049795356 + 365600 0.005342266 0.0020357949 0.0046651915 + 365700 0.004395547 0.0022757717 0.004439205 + 365800 0.00483366 0.0021504031 0.0045294701 + 365900 0.0052796219 0.002181384 0.0047799479 + 366000 0.0043482774 0.0017891216 0.0039292894 + 366100 0.0037959251 0.0016414144 0.0035097213 + 366200 0.0059586947 0.0016134145 0.0045462095 + 366300 0.0059386161 0.0018898606 0.0048127732 + 366400 0.0039131805 0.0021023088 0.0040283273 + 366500 0.003612664 0.0021205778 0.0038986859 + 366600 0.0056503693 0.0016959638 0.0044770049 + 366700 0.0060626751 0.0015514468 0.0045354197 + 366800 0.0049782728 0.0018181567 0.0042684004 + 366900 0.0046741276 0.0019097625 0.0042103097 + 367000 0.0041694629 0.0023680279 0.0044201854 + 367100 0.0046519103 0.0024953422 0.0047849543 + 367200 0.0045275358 0.002002682 0.0042310785 + 367300 0.0051246525 0.0021610142 0.0046833041 + 367400 0.0051788309 0.0021777395 0.0047266953 + 367500 0.0031733459 0.0023220385 0.0038839197 + 367600 0.003793482 0.0018498923 0.0037169967 + 367700 0.005722406 0.0018944611 0.0047109578 + 367800 0.0056969743 0.0019467003 0.0047506798 + 367900 0.00385982 0.0023457219 0.0042454771 + 368000 0.0043705918 0.0021265458 0.0042776965 + 368100 0.0061933464 0.0023995195 0.0054478072 + 368200 0.006055763 0.002295916 0.0052764869 + 368300 0.0047973581 0.0023846122 0.0047458119 + 368400 0.0046745006 0.0020328837 0.0043336145 + 368500 0.00547827 0.002231366 0.004927702 + 368600 0.0065459893 0.0023621722 0.0055840263 + 368700 0.0046276038 0.0025148733 0.0047925221 + 368800 0.0053575471 0.0025244477 0.0051613654 + 368900 0.0036641643 0.0027629527 0.0045664086 + 369000 0.0053052482 0.0023021472 0.0049133241 + 369100 0.0063268883 0.0022944389 0.0054084542 + 369200 0.0042983791 0.0025667496 0.004682358 + 369300 0.0048853909 0.002258639 0.0046631673 + 369400 0.0045407902 0.0018615144 0.0040964346 + 369500 0.0042767288 0.0017634153 0.0038683678 + 369600 0.004415793 0.001847204 0.0040206022 + 369700 0.0046471415 0.0021038108 0.0043910758 + 369800 0.003403951 0.0024939667 0.0041693489 + 369900 0.0035943965 0.0024143145 0.0041834315 + 370000 0.0056593536 0.0017899603 0.0045754234 + 370100 0.0054029352 0.0020198976 0.0046791547 + 370200 0.0042739984 0.0023431135 0.0044467221 + 370300 0.0042236376 0.0022614473 0.0043402689 + 370400 0.0038529813 0.0022290108 0.0041254 + 370500 0.005375131 0.0022246548 0.0048702271 + 370600 0.0071890816 0.0019328329 0.005471209 + 370700 0.0053284805 0.0020994082 0.0047220196 + 370800 0.0044253937 0.0021007026 0.004278826 + 370900 0.0063931186 0.0019075862 0.0050541993 + 371000 0.0051428379 0.0023972214 0.004928462 + 371100 0.0038097991 0.0029998612 0.0048749966 + 371200 0.0066779721 0.0025273485 0.0058141628 + 371300 0.0052765816 0.0026117922 0.0052088597 + 371400 0.0060013225 0.0023771463 0.0053309222 + 371500 0.006145138 0.0024052296 0.0054297897 + 371600 0.0037096422 0.0026567069 0.0044825464 + 371700 0.0037673836 0.0028248221 0.0046790812 + 371800 0.0045645792 0.002747291 0.0049939198 + 371900 0.0060856834 0.0020543151 0.0050496124 + 372000 0.006056169 0.0015782732 0.0045590439 + 372100 0.0044235888 0.0018586818 0.0040359169 + 372200 0.0054690979 0.0022335002 0.0049253218 + 372300 0.0050742986 0.0024337642 0.0049312705 + 372400 0.0071590501 0.0021669263 0.0056905213 + 372500 0.0063022327 0.0025302667 0.0056321468 + 372600 0.0055078358 0.0027668452 0.0054777331 + 372700 0.0048025773 0.0028855944 0.005249363 + 372800 0.005733082 0.0027342412 0.0055559926 + 372900 0.00534227 0.0027460207 0.0053754192 + 373000 0.0052076419 0.0026187749 0.0051819111 + 373100 0.005292538 0.0023993129 0.005004234 + 373200 0.0046548855 0.002396207 0.0046872835 + 373300 0.0035528207 0.0022315397 0.0039801936 + 373400 0.0039046778 0.0023413782 0.0042632118 + 373500 0.0057418007 0.0027150432 0.0055410858 + 373600 0.0052888441 0.0032718598 0.0058749627 + 373700 0.0058518709 0.0032376191 0.0061178368 + 373800 0.0051680819 0.002636538 0.0051802033 + 373900 0.0051848486 0.0025070229 0.0050589406 + 374000 0.0046552892 0.0029361147 0.0052273898 + 374100 0.0050345173 0.0027747754 0.0052527018 + 374200 0.0052647328 0.0026101415 0.0052013772 + 374300 0.0052966886 0.0026441055 0.0052510695 + 374400 0.0039764134 0.0031346793 0.0050918203 + 374500 0.0031850321 0.0038823843 0.0054500173 + 374600 0.0056956187 0.0028498786 0.005653191 + 374700 0.0057723284 0.0019901132 0.0048311811 + 374800 0.0069576073 0.0021374902 0.0055619375 + 374900 0.0039970251 0.0027342218 0.0047015076 + 375000 0.0065919988 0.0023997048 0.0056442042 + 375100 0.0057188793 0.0018238022 0.0046385631 + 375200 0.0049397965 0.0020900834 0.0045213895 + 375300 0.0049683629 0.0023687029 0.004814069 + 375400 0.005052738 0.001823478 0.0043103724 + 375500 0.0054574194 0.00188971 0.0045757836 + 375600 0.0041679172 0.0020340689 0.0040854657 + 375700 0.0074353072 0.0012575393 0.0049171046 + 375800 0.0044622677 0.0013084394 0.0035047118 + 375900 0.0048572159 0.0018762059 0.0042668669 + 376000 0.0052324756 0.0023391601 0.0049145192 + 376100 0.0046890883 0.0024492354 0.004757146 + 376200 0.004862978 0.0030966093 0.0054901062 + 376300 0.0068080196 0.0032253189 0.0065761411 + 376400 0.006450252 0.002952498 0.0061272314 + 376500 0.0062103745 0.0025513363 0.005608005 + 376600 0.006344159 0.0024227895 0.0055453053 + 376700 0.0055342216 0.0031489611 0.0058728358 + 376800 0.0055584873 0.0029914923 0.0057273103 + 376900 0.0059747098 0.0023550891 0.0052957665 + 377000 0.0054365361 0.0023326023 0.0050083974 + 377100 0.0027495342 0.0023253271 0.0036786134 + 377200 0.0060556918 0.0023041255 0.0052846613 + 377300 0.0055367677 0.0024538557 0.0051789835 + 377400 0.0051779028 0.0026941121 0.0052426111 + 377500 0.0048391988 0.0027265504 0.0051083435 + 377600 0.0049803823 0.0026552203 0.0051065022 + 377700 0.005930053 0.0023492576 0.0052679556 + 377800 0.0056840384 0.002235104 0.0050327166 + 377900 0.0049996855 0.002335883 0.0047966657 + 378000 0.005516994 0.002067762 0.0047831575 + 378100 0.0038166538 0.002020138 0.0038986473 + 378200 0.0046003431 0.0021004769 0.0043647083 + 378300 0.0041972956 0.0023083778 0.0043742342 + 378400 0.0049043006 0.0018573013 0.0042711367 + 378500 0.0048979268 0.0016000006 0.0040106989 + 378600 0.0055158263 0.0015140783 0.004228899 + 378700 0.0038619479 0.0017666103 0.0036674128 + 378800 0.0047934407 0.0019823689 0.0043416405 + 378900 0.0049506368 0.0025846749 0.0050213164 + 379000 0.0053903965 0.0024122646 0.0050653504 + 379100 0.0060886849 0.0023417189 0.0053384935 + 379200 0.0047873595 0.0021864277 0.0045427062 + 379300 0.0068990176 0.0017517107 0.0051473209 + 379400 0.0043430001 0.0020127606 0.004150331 + 379500 0.0049899859 0.0018277409 0.0042837496 + 379600 0.0041512168 0.0018277687 0.0038709457 + 379700 0.0040754688 0.0022538302 0.004259725 + 379800 0.0060638427 0.0022012626 0.0051858102 + 379900 0.0051988468 0.0023009708 0.0048597782 + 380000 0.0055681737 0.0023778932 0.0051184786 + 380100 0.0046557794 0.0025454752 0.0048369916 + 380200 0.0049802939 0.0027679147 0.0052191531 + 380300 0.0037852455 0.0030491767 0.0049122272 + 380400 0.0077945337 0.0025756766 0.0064120487 + 380500 0.0049592295 0.0024123021 0.0048531729 + 380600 0.0061718652 0.0019993478 0.0050370627 + 380700 0.0035368353 0.0017924416 0.0035332277 + 380800 0.0052533812 0.0018515882 0.0044372368 + 380900 0.0052364678 0.0021585338 0.0047358577 + 381000 0.0039662818 0.0025312432 0.0044833975 + 381100 0.0067445385 0.002523909 0.0058434866 + 381200 0.0061511318 0.0028462153 0.0058737255 + 381300 0.0042957779 0.003316295 0.0054306232 + 381400 0.0049001692 0.0035683594 0.0059801615 + 381500 0.0058691196 0.0030838404 0.0059725477 + 381600 0.0045051994 0.0021561014 0.0043735042 + 381700 0.0060352402 0.0020028053 0.0049732751 + 381800 0.0045084617 0.0021488781 0.0043678866 + 381900 0.0043043465 0.0021952623 0.0043138079 + 382000 0.0066417212 0.0023733459 0.005642318 + 382100 0.0069836347 0.0024034922 0.0058407499 + 382200 0.0039944385 0.0028906393 0.004856652 + 382300 0.0057580253 0.0026077955 0.0054418235 + 382400 0.0056379155 0.0029715217 0.0057464333 + 382500 0.0048762368 0.0035722102 0.005972233 + 382600 0.0054469629 0.0028582553 0.0055391824 + 382700 0.0051893996 0.0026933656 0.0052475232 + 382800 0.0057948841 0.0026275191 0.0054796886 + 382900 0.0056533273 0.0021744861 0.0049569831 + 383000 0.0044056446 0.0019377747 0.0041061779 + 383100 0.0066386671 0.002098154 0.0053656229 + 383200 0.0048462702 0.0021907757 0.0045760493 + 383300 0.0053288024 0.0019686603 0.0045914303 + 383400 0.0039227118 0.0020545081 0.0039852179 + 383500 0.0050734541 0.001989632 0.0044867227 + 383600 0.0049148405 0.0018146037 0.0042336267 + 383700 0.0054757625 0.0020982905 0.0047933924 + 383800 0.0053353354 0.0020343576 0.004660343 + 383900 0.0048133344 0.002086541 0.004455604 + 384000 0.0045156798 0.0023111713 0.0045337324 + 384100 0.0045613745 0.0024907068 0.0047357583 + 384200 0.0054893718 0.0019133513 0.0046151515 + 384300 0.0036917353 0.0016797465 0.0034967724 + 384400 0.0037939917 0.0019735948 0.0038409501 + 384500 0.0041532542 0.0021804138 0.0042245936 + 384600 0.0056181633 0.0023249016 0.0050900914 + 384700 0.0045716912 0.0023753019 0.0046254312 + 384800 0.0053876281 0.0021937988 0.004845522 + 384900 0.0044648108 0.0026965207 0.0048940448 + 385000 0.0041316453 0.0026933247 0.0047268688 + 385100 0.0047986577 0.0022167306 0.0045785699 + 385200 0.0052197139 0.0022225456 0.0047916236 + 385300 0.0038499995 0.0022315064 0.004126428 + 385400 0.0039761398 0.0019954894 0.0039524957 + 385500 0.0048323304 0.0023788166 0.0047572292 + 385600 0.004531424 0.002520907 0.0047512172 + 385700 0.0044185457 0.0024522163 0.0046269692 + 385800 0.0047873732 0.0021385086 0.0044947938 + 385900 0.003992811 0.002403983 0.0043691947 + 386000 0.0049229917 0.0023780241 0.004801059 + 386100 0.0058511462 0.0020115005 0.0048913615 + 386200 0.0051725242 0.0022580301 0.0048038819 + 386300 0.0051914345 0.0026572859 0.005212445 + 386400 0.0046113562 0.0029002823 0.0051699342 + 386500 0.0052070332 0.0030087102 0.0055715468 + 386600 0.0052571887 0.0031555865 0.005743109 + 386700 0.005457725 0.0027924329 0.005478657 + 386800 0.0067010088 0.0026024025 0.0059005553 + 386900 0.0058295922 0.0026913957 0.0055606481 + 387000 0.0049397939 0.0028113342 0.005242639 + 387100 0.0062861125 0.0027430051 0.0058369511 + 387200 0.0049608725 0.0024721569 0.0049138364 + 387300 0.0062293742 0.0020659062 0.0051319263 + 387400 0.0053114888 0.0021171443 0.0047313927 + 387500 0.0038275985 0.0020530897 0.0039369858 + 387600 0.0036263536 0.002025866 0.0038107119 + 387700 0.0047835152 0.0023081219 0.0046625083 + 387800 0.0048386834 0.0024678758 0.0048494154 + 387900 0.0052208798 0.0025032768 0.0050729286 + 388000 0.0067255194 0.0026636149 0.0059738315 + 388100 0.0059270339 0.0028259383 0.0057431502 + 388200 0.006984624 0.0025621982 0.0059999428 + 388300 0.0062295068 0.0024126507 0.0054787361 + 388400 0.005369456 0.0020461084 0.0046888875 + 388500 0.004391811 0.0020704919 0.0042320864 + 388600 0.0050578411 0.001994779 0.0044841852 + 388700 0.005236071 0.0018231985 0.0044003272 + 388800 0.0039818042 0.0019298473 0.0038896415 + 388900 0.005091194 0.0019418185 0.0044476405 + 389000 0.0054292867 0.001929991 0.0046022181 + 389100 0.0051844924 0.0023239737 0.0048757161 + 389200 0.0056774076 0.0024079422 0.0052022913 + 389300 0.0052686181 0.0026644447 0.0052575927 + 389400 0.0040051201 0.0024623992 0.0044336692 + 389500 0.0051515673 0.0024821789 0.0050177159 + 389600 0.0046315573 0.0024712313 0.0047508259 + 389700 0.0041053285 0.0023442407 0.0043648321 + 389800 0.0046652528 0.0021067988 0.0044029779 + 389900 0.0047043555 0.0020847983 0.0044002233 + 390000 0.0034667485 0.0024382367 0.004144527 + 390100 0.0034481618 0.0029083853 0.0046055275 + 390200 0.0041867276 0.0030030029 0.0050636578 + 390300 0.0053964775 0.0028489526 0.0055050313 + 390400 0.0045579754 0.0024568398 0.0047002184 + 390500 0.0066011114 0.002810293 0.0060592775 + 390600 0.0046546272 0.0027998309 0.0050907802 + 390700 0.0047537564 0.0023968629 0.0047366024 + 390800 0.0067948823 0.0020082828 0.0053526389 + 390900 0.0051806921 0.0021623094 0.0047121813 + 391000 0.0050895898 0.0021082264 0.0046132588 + 391100 0.0049289258 0.0021258905 0.0045518462 + 391200 0.0071812032 0.0018807664 0.0054152648 + 391300 0.0059149376 0.0024932569 0.0054045152 + 391400 0.0045640772 0.0030062456 0.0052526274 + 391500 0.006520887 0.0028858552 0.0060953543 + 391600 0.0047947284 0.002587929 0.0049478344 + 391700 0.0049429584 0.0023601446 0.0047930069 + 391800 0.0050083107 0.002024281 0.0044893089 + 391900 0.0045239426 0.0019641815 0.0041908095 + 392000 0.0053171528 0.0028547386 0.0054717747 + 392100 0.0050729984 0.0029750811 0.0054719475 + 392200 0.0050631027 0.0024835182 0.0049755141 + 392300 0.0060639024 0.0021270411 0.0051116181 + 392400 0.0061146076 0.0025841985 0.0055937319 + 392500 0.0056288059 0.0027630512 0.0055334791 + 392600 0.0050173084 0.002395108 0.0048645644 + 392700 0.004526819 0.0020559037 0.0042839474 + 392800 0.0049571748 0.002185177 0.0046250364 + 392900 0.0048045849 0.002119745 0.0044845017 + 393000 0.0044553976 0.0023212574 0.0045141484 + 393100 0.0048915817 0.0024117379 0.0048193133 + 393200 0.0051490936 0.0022862779 0.0048205974 + 393300 0.0034187569 0.0026210675 0.0043037369 + 393400 0.0053394872 0.0027963895 0.0054244184 + 393500 0.0054951027 0.0030730054 0.0057776262 + 393600 0.0055152693 0.0030140984 0.005728645 + 393700 0.0048907857 0.0026476292 0.0050548128 + 393800 0.0060757731 0.0025250727 0.0055154922 + 393900 0.0046899392 0.0024639269 0.0047722563 + 394000 0.0053978817 0.0022933224 0.0049500923 + 394100 0.0059286156 0.0024522707 0.0053702612 + 394200 0.0055836046 0.0024299001 0.0051780804 + 394300 0.0053629028 0.002227172 0.0048667258 + 394400 0.0046229184 0.0025945744 0.004869917 + 394500 0.0043652891 0.0026222774 0.0047708181 + 394600 0.0049710531 0.0024303806 0.0048770708 + 394700 0.0046495203 0.0022545045 0.0045429403 + 394800 0.0057319101 0.0021847231 0.0050058976 + 394900 0.0038486824 0.0022496547 0.0041439281 + 395000 0.0035543523 0.0023107703 0.004060178 + 395100 0.0035072689 0.0023290414 0.0040552753 + 395200 0.005159075 0.0023899765 0.0049292088 + 395300 0.004934709 0.0025214135 0.0049502156 + 395400 0.0059334745 0.0023454762 0.0052658582 + 395500 0.0040269827 0.0021419018 0.0041239323 + 395600 0.0054473985 0.0019628586 0.0046440001 + 395700 0.0040957501 0.0022744861 0.0042903631 + 395800 0.0050866645 0.0025634985 0.0050670912 + 395900 0.0056608017 0.002467681 0.0052538568 + 396000 0.0053457513 0.0027179065 0.0053490185 + 396100 0.0049069471 0.0025247159 0.0049398539 + 396200 0.0028618917 0.0024982393 0.0039068266 + 396300 0.0045918723 0.0019614311 0.0042214933 + 396400 0.0068556682 0.002048881 0.0054231552 + 396500 0.0048426341 0.0023979842 0.0047814682 + 396600 0.0052087237 0.0026543394 0.0052180081 + 396700 0.0046716267 0.0025058928 0.0048052091 + 396800 0.004179225 0.00197566 0.0040326223 + 396900 0.0043824885 0.0021057029 0.004262709 + 397000 0.0040360045 0.0022198619 0.0042063329 + 397100 0.0059691969 0.0023404235 0.0052783875 + 397200 0.0047745463 0.0021960725 0.0045460445 + 397300 0.0047859887 0.0025634242 0.004919028 + 397400 0.0054259672 0.0028094623 0.0054800555 + 397500 0.0061743654 0.0027608225 0.0057997679 + 397600 0.0053008933 0.0024085405 0.005017574 + 397700 0.0052392722 0.0025580334 0.0051367377 + 397800 0.0038018741 0.0026306729 0.0045019078 + 397900 0.0050972313 0.0023244451 0.0048332387 + 398000 0.0045799189 0.0024109718 0.0046651506 + 398100 0.0045780327 0.0021782077 0.0044314582 + 398200 0.0039299541 0.002250469 0.0041847433 + 398300 0.005447714 0.0023094689 0.0049907657 + 398400 0.0042414033 0.0021575463 0.004245112 + 398500 0.0042081854 0.0021373776 0.0042085939 + 398600 0.0054991185 0.0021958706 0.004902468 + 398700 0.004621849 0.0020186236 0.0042934399 + 398800 0.0052478809 0.0018961441 0.0044790855 + 398900 0.0048440865 0.0016968361 0.0040810349 + 399000 0.0036603417 0.0018952072 0.0036967816 + 399100 0.0040727321 0.0019039509 0.0039084988 + 399200 0.0061967387 0.0017337739 0.0047837313 + 399300 0.0046984457 0.0019824214 0.0042949376 + 399400 0.0046591628 0.0022855637 0.0045787454 + 399500 0.0051454199 0.0022776035 0.0048101148 + 399600 0.0038275693 0.0025003794 0.0043842611 + 399700 0.0041650099 0.0025865727 0.0046365385 + 399800 0.0053900069 0.0025327063 0.0051856004 + 399900 0.0048044488 0.0027764048 0.0051410945 + 400000 0.0054098607 0.0023154856 0.0049781514 + 400100 0.0048242615 0.0021193958 0.0044938371 + 400200 0.0050866892 0.0021615093 0.0046651141 + 400300 0.0051926718 0.0021081106 0.0046638787 + 400400 0.0037432938 0.0019309537 0.0037733561 + 400500 0.0056284689 0.0020251236 0.0047953856 + 400600 0.0036383352 0.0023841691 0.0041749123 + 400700 0.0041578848 0.0028010696 0.0048475286 + 400800 0.0058117982 0.0029165254 0.0057770199 + 400900 0.0053128429 0.0025694867 0.0051844016 + 401000 0.0067118825 0.0026167519 0.0059202565 + 401100 0.0056027138 0.0023914329 0.0051490186 + 401200 0.0067572125 0.0018792672 0.0052050827 + 401300 0.0043496772 0.0017516326 0.0038924893 + 401400 0.0045500421 0.0018906724 0.0041301463 + 401500 0.0049806283 0.0022426064 0.0046940094 + 401600 0.0058788163 0.0023131322 0.0052066121 + 401700 0.0060767002 0.0027018963 0.0056927721 + 401800 0.005624551 0.0030514406 0.0058197743 + 401900 0.0049336444 0.0032193984 0.0056476765 + 402000 0.006449055 0.0030194847 0.0061936289 + 402100 0.0061378967 0.0030409564 0.0060619524 + 402200 0.0055307954 0.0026922507 0.005414439 + 402300 0.0066382017 0.0022630871 0.005530327 + 402400 0.004722373 0.002244382 0.004568675 + 402500 0.0060010212 0.0025181611 0.0054717887 + 402600 0.0054691311 0.0025338672 0.0052257052 + 402700 0.0034532633 0.0022546149 0.0039542679 + 402800 0.0057332419 0.0021417565 0.0049635865 + 402900 0.00581705 0.0031117724 0.0059748517 + 403000 0.0060962227 0.0030161352 0.0060166198 + 403100 0.0070314255 0.0029555541 0.0064163338 + 403200 0.0064177672 0.0030648143 0.0062235591 + 403300 0.0057940188 0.0031999764 0.00605172 + 403400 0.0037940823 0.003065665 0.0049330649 + 403500 0.0057830112 0.0028519847 0.0056983105 + 403600 0.0051600278 0.0020336662 0.0045733674 + 403700 0.0049503497 0.0020708911 0.0045073914 + 403800 0.0040673774 0.002418934 0.0044208463 + 403900 0.0056415588 0.0026915509 0.0054682556 + 404000 0.0050843801 0.0031819552 0.0056844235 + 404100 0.0045939883 0.0035233367 0.0057844403 + 404200 0.0051575814 0.0031365336 0.0056750307 + 404300 0.0060218169 0.0025470623 0.0055109253 + 404400 0.0061774621 0.0020781822 0.0051186518 + 404500 0.0042307709 0.002337786 0.0044201186 + 404600 0.006279044 0.0022807019 0.0053711689 + 404700 0.0063170605 0.0019722942 0.0050814724 + 404800 0.0041622856 0.0024867613 0.0045353862 + 404900 0.0050944566 0.0028692213 0.0053766491 + 405000 0.0060904784 0.0023468958 0.0053445531 + 405100 0.0039955947 0.0024924714 0.0044590531 + 405200 0.005774655 0.002429123 0.005271336 + 405300 0.003835967 0.0028050427 0.0046930577 + 405400 0.004965569 0.0025069961 0.0049509871 + 405500 0.0049898848 0.0025318755 0.0049878344 + 405600 0.0054318945 0.0027307214 0.0054042319 + 405700 0.0076295073 0.0033918946 0.0071470427 + 405800 0.0058792591 0.0039859172 0.0068796151 + 405900 0.004975617 0.0040599616 0.0065088981 + 406000 0.0047255352 0.0034136432 0.0057394926 + 406100 0.0055718253 0.0032742701 0.0060166529 + 406200 0.0053159618 0.0032330536 0.0058495036 + 406300 0.0040741165 0.0030840517 0.0050892809 + 406400 0.0049362685 0.0026629252 0.0050924948 + 406500 0.0050951173 0.0027778068 0.0052855598 + 406600 0.0050077307 0.0027608661 0.0052256086 + 406700 0.0052619482 0.0024164542 0.0050063193 + 406800 0.007636206 0.0024724682 0.0062309134 + 406900 0.0059119496 0.0027856095 0.0056953972 + 407000 0.0047575908 0.0032969609 0.0056385876 + 407100 0.0059037145 0.0030699533 0.0059756877 + 407200 0.0061469871 0.0028453469 0.0058708171 + 407300 0.0064184349 0.0032590751 0.0064181485 + 407400 0.005914934 0.0029985241 0.0059097807 + 407500 0.0074630205 0.0028067776 0.006479983 + 407600 0.0058024978 0.002544011 0.0053999279 + 407700 0.0063038291 0.0024556961 0.005558362 + 407800 0.0060404256 0.002457669 0.005430691 + 407900 0.006610212 0.0022320898 0.0054855535 + 408000 0.005065336 0.0023989796 0.0048920747 + 408100 0.0051729119 0.0025811103 0.0051271529 + 408200 0.0066226843 0.0027950062 0.0060546087 + 408300 0.004770465 0.0032791903 0.0056271535 + 408400 0.0046466924 0.0022915074 0.0045785513 + 408500 0.0036898261 0.0020831624 0.0038992487 + 408600 0.0046403284 0.0023054264 0.004589338 + 408700 0.005370713 0.002606316 0.0052497138 + 408800 0.0058037835 0.0029486698 0.0058052195 + 408900 0.0045680352 0.0027660228 0.0050143526 + 409000 0.0033443468 0.0025031767 0.0041492224 + 409100 0.0049416087 0.0025931698 0.0050253679 + 409200 0.005770222 0.0020407526 0.0048807837 + 409300 0.0038705204 0.0020735755 0.0039785972 + 409400 0.0049742985 0.0018385851 0.0042868727 + 409500 0.0041033233 0.0018406818 0.0038602862 + 409600 0.0046580275 0.0020856873 0.0043783102 + 409700 0.0044347399 0.0027491171 0.0049318406 + 409800 0.0049047803 0.002876312 0.0052903835 + 409900 0.0065993058 0.0026319944 0.0058800902 + 410000 0.0052180224 0.0027157353 0.0052839807 + 410100 0.0036188682 0.0026342771 0.0044154388 + 410200 0.0049250319 0.0022930353 0.0047170744 + 410300 0.0052481734 0.0022350645 0.0048181499 + 410400 0.0051212121 0.0022547516 0.0047753482 + 410500 0.0045497683 0.0026848488 0.0049241879 + 410600 0.0036086036 0.0027466133 0.0045227228 + 410700 0.0059909101 0.0028886549 0.005837306 + 410800 0.0048113199 0.0030379813 0.0054060528 + 410900 0.0058247151 0.0029971645 0.0058640164 + 411000 0.004526535 0.003133785 0.005361689 + 411100 0.0047133142 0.0027800194 0.0050998537 + 411200 0.0077091799 0.002459971 0.006254333 + 411300 0.0047948091 0.0025801455 0.0049400906 + 411400 0.004336137 0.0028158106 0.004950003 + 411500 0.0047662791 0.0025460789 0.0048919819 + 411600 0.004267348 0.0024090159 0.0045093513 + 411700 0.005499359 0.0024752197 0.0051819355 + 411800 0.0054706185 0.0029273974 0.0056199674 + 411900 0.0061317355 0.0024680099 0.0054859735 + 412000 0.0034012105 0.002294824 0.0039688573 + 412100 0.0057975859 0.002018143 0.0048716423 + 412200 0.0036272335 0.0019992099 0.0037844889 + 412300 0.0055713367 0.0018969868 0.0046391292 + 412400 0.0041040615 0.0017962837 0.0038162514 + 412500 0.0040086295 0.0016011701 0.0035741674 + 412600 0.0048532496 0.0016077149 0.0039964236 + 412700 0.0046309485 0.0023026566 0.0045819516 + 412800 0.0042845297 0.0026561676 0.0047649595 + 412900 0.0063596219 0.0025224959 0.0056526223 + 413000 0.0060526599 0.0024735597 0.0054526032 + 413100 0.0061510993 0.0025919044 0.0056193986 + 413200 0.0041531987 0.0024676345 0.004511787 + 413300 0.005114212 0.002311848 0.0048289992 + 413400 0.0047029701 0.0019991814 0.0043139245 + 413500 0.005619082 0.0020898968 0.0048555388 + 413600 0.0047564352 0.00250417 0.0048452279 + 413700 0.0039187454 0.0024789338 0.0044076912 + 413800 0.0050572644 0.0026471798 0.0051363021 + 413900 0.0040607372 0.0024354133 0.0044340574 + 414000 0.0054504411 0.0025391182 0.0052217572 + 414100 0.0051879981 0.003008483 0.0055619508 + 414200 0.0052286957 0.0030561505 0.0056296492 + 414300 0.0034256225 0.0033891832 0.0050752318 + 414400 0.0053663612 0.0031374341 0.00577869 + 414500 0.0050932364 0.0028505565 0.0053573838 + 414600 0.0046395081 0.0022334857 0.0045169936 + 414700 0.005001831 0.0021198939 0.0045817326 + 414800 0.0051325601 0.0026020198 0.0051282018 + 414900 0.0049054015 0.0027269737 0.0051413511 + 415000 0.0055815783 0.0026061843 0.0053533674 + 415100 0.0043712445 0.0025407916 0.0046922635 + 415200 0.0058904012 0.0021892381 0.00508842 + 415300 0.0052414785 0.0019859315 0.0045657218 + 415400 0.0048776396 0.0023237552 0.0047244685 + 415500 0.0055300192 0.0026669823 0.0053887886 + 415600 0.0045033804 0.0026044317 0.0048209392 + 415700 0.0059212748 0.0023132048 0.0052275822 + 415800 0.0047024028 0.0024071717 0.0047216356 + 415900 0.0053570463 0.0024851075 0.0051217787 + 416000 0.0041072104 0.0028904634 0.004911981 + 416100 0.0043028648 0.0025678855 0.0046857017 + 416200 0.005488173 0.0024055417 0.0051067519 + 416300 0.0040213545 0.0026948418 0.0046741023 + 416400 0.0045204478 0.0025514985 0.0047764064 + 416500 0.0064487259 0.0022956923 0.0054696746 + 416600 0.0044989445 0.0027203572 0.0049346815 + 416700 0.0053498116 0.0028537378 0.0054868482 + 416800 0.0068743113 0.0024937377 0.0058771878 + 416900 0.0040635487 0.0030002283 0.0050002562 + 417000 0.00586072 0.0033220073 0.0062065804 + 417100 0.0061437285 0.0027337052 0.0057575716 + 417200 0.0051038885 0.0029679519 0.005480022 + 417300 0.004828786 0.0030618145 0.0054384826 + 417400 0.0042656796 0.0028716468 0.0049711609 + 417500 0.0038259749 0.0025501954 0.0044332924 + 417600 0.0051682503 0.0023687366 0.0049124848 + 417700 0.0050816586 0.0021993518 0.0047004807 + 417800 0.005602078 0.0022551085 0.0050123812 + 417900 0.0058126411 0.0021018132 0.0049627225 + 418000 0.0037843342 0.0024869163 0.0043495183 + 418100 0.0048846736 0.002891092 0.0052952673 + 418200 0.006870483 0.0023440499 0.0057256158 + 418300 0.0052069902 0.0027942901 0.0053571056 + 418400 0.0051441623 0.0028003248 0.0053322172 + 418500 0.0037930737 0.0027291812 0.0045960847 + 418600 0.0060293599 0.00262791 0.0055954855 + 418700 0.0052325676 0.0029543196 0.005529724 + 418800 0.0053475145 0.0032846555 0.0059166353 + 418900 0.0045238951 0.0030534002 0.0052800048 + 419000 0.0046549434 0.002837587 0.0051286919 + 419100 0.0043040963 0.0027147933 0.0048332157 + 419200 0.0059397088 0.0027265952 0.0056500456 + 419300 0.0048980772 0.0022958926 0.004706665 + 419400 0.005427832 0.0021487896 0.0048203007 + 419500 0.0054540223 0.0021098233 0.0047942249 + 419600 0.0057823643 0.0019564928 0.0048025003 + 419700 0.0046062779 0.0024650345 0.0047321869 + 419800 0.00494389 0.0028256537 0.0052589746 + 419900 0.0043337824 0.0028769026 0.0050099361 + 420000 0.0051975831 0.0025711406 0.0051293261 + 420100 0.0061423366 0.0024752554 0.0054984367 + 420200 0.0075582146 0.0024229543 0.006143013 + 420300 0.0053160334 0.0032648229 0.0058813081 + 420400 0.0048092857 0.0035074227 0.005874493 + 420500 0.0049601796 0.0039219815 0.0063633199 + 420600 0.0055451631 0.004028974 0.006758234 + 420700 0.0051276136 0.0033026835 0.0058264308 + 420800 0.0061657747 0.0023589166 0.0053936339 + 420900 0.0071285631 0.0020388105 0.0055474002 + 421000 0.0044487423 0.0022345536 0.0044241689 + 421100 0.0056118267 0.002471898 0.005233969 + 421200 0.004658896 0.0022362457 0.0045292961 + 421300 0.0057938806 0.0021517484 0.005003424 + 421400 0.0051367056 0.0027362553 0.0052644777 + 421500 0.0068096022 0.0028201261 0.0061717272 + 421600 0.0051614419 0.0025572255 0.0050976227 + 421700 0.004894478 0.002342406 0.0047514069 + 421800 0.0051517295 0.0021845593 0.0047201762 + 421900 0.0035872852 0.0022215208 0.0039871377 + 422000 0.0058267874 0.0022021457 0.0050700176 + 422100 0.0049663848 0.0023330637 0.0047774562 + 422200 0.0058871798 0.0022987102 0.0051963065 + 422300 0.0042326273 0.002695735 0.0047789813 + 422400 0.0049753499 0.0030041087 0.0054529137 + 422500 0.0045374362 0.0027468558 0.0049801251 + 422600 0.0042548913 0.0024039043 0.0044981086 + 422700 0.003821899 0.0023261931 0.004207284 + 422800 0.0047293443 0.0022759416 0.0046036657 + 422900 0.0052072582 0.0021744693 0.0047374167 + 423000 0.005066732 0.0022364306 0.0047302128 + 423100 0.0044992801 0.0024199036 0.004634393 + 423200 0.0039223265 0.0020349218 0.0039654419 + 423300 0.0038060561 0.0020257041 0.0038989973 + 423400 0.0047764523 0.0021005554 0.0044514655 + 423500 0.0038239919 0.0023685729 0.004250694 + 423600 0.0042737664 0.0023259277 0.0044294221 + 423700 0.0059701172 0.0022409901 0.0051794071 + 423800 0.0043246662 0.0028714746 0.0050000213 + 423900 0.0038297209 0.0028862597 0.0047712004 + 424000 0.0051889242 0.0029826157 0.0055365394 + 424100 0.0067939496 0.0030466699 0.006390567 + 424200 0.0048662715 0.0032745517 0.0056696697 + 424300 0.0060771974 0.0027763244 0.005767445 + 424400 0.0052163584 0.0029320464 0.0054994728 + 424500 0.0062285137 0.002828952 0.0058945486 + 424600 0.0051499737 0.0023325889 0.0048673416 + 424700 0.0040254211 0.0023907118 0.0043719737 + 424800 0.0057139975 0.0024713059 0.005283664 + 424900 0.0046484798 0.0023834412 0.0046713649 + 425000 0.0055267589 0.0027061662 0.0054263679 + 425100 0.0042488492 0.002883791 0.0049750215 + 425200 0.0047183367 0.0029740056 0.005296312 + 425300 0.0062983404 0.0022657341 0.0053656985 + 425400 0.004768754 0.0022264373 0.0045735584 + 425500 0.0057532013 0.0027136886 0.0055453423 + 425600 0.0058087943 0.0029539721 0.005812988 + 425700 0.0054790414 0.0024693588 0.0051660746 + 425800 0.0059844298 0.0021867195 0.0051321811 + 425900 0.0048344817 0.0020839004 0.0044633718 + 426000 0.0050580095 0.0020107873 0.0045002764 + 426100 0.0040020318 0.0019838212 0.0039535712 + 426200 0.0044062103 0.0019058982 0.0040745798 + 426300 0.0051855181 0.0019254648 0.004477712 + 426400 0.0053373056 0.0018184286 0.0044453836 + 426500 0.0040433779 0.0021685479 0.004158648 + 426600 0.0050238482 0.0024581195 0.0049307948 + 426700 0.005857132 0.0023957277 0.0052785349 + 426800 0.0057992489 0.0019747365 0.0048290543 + 426900 0.0050546105 0.0020515314 0.0045393475 + 427000 0.0052282113 0.0022327481 0.0048060083 + 427100 0.0036425333 0.0023368297 0.0041296391 + 427200 0.0044570847 0.0022680021 0.0044617234 + 427300 0.0065241279 0.0020564831 0.0052675773 + 427400 0.0052096522 0.0020965396 0.0046606652 + 427500 0.0039868604 0.002263469 0.0042257518 + 427600 0.0045710686 0.0021646374 0.0044144603 + 427700 0.0054364422 0.0023366476 0.0050123965 + 427800 0.0039236916 0.002419054 0.0043502459 + 427900 0.0045935021 0.0028077933 0.0050686576 + 428000 0.0062645632 0.0026707243 0.005754064 + 428100 0.0044048942 0.0028749574 0.0050429912 + 428200 0.0042517504 0.0029070374 0.0049996958 + 428300 0.0068203762 0.0024814858 0.0058383897 + 428400 0.0052661277 0.0023380709 0.0049299931 + 428500 0.0056326688 0.002218723 0.0049910521 + 428600 0.0060569633 0.002541028 0.0055221897 + 428700 0.0035981821 0.0031815054 0.0049524857 + 428800 0.0029706852 0.0032467613 0.0047088955 + 428900 0.0048205214 0.002231611 0.0046042114 + 429000 0.0041526614 0.0021338092 0.0041776973 + 429100 0.0057189182 0.0022229382 0.0050377183 + 429200 0.0054444565 0.0021004877 0.0047801811 + 429300 0.0036303805 0.0021099167 0.0038967445 + 429400 0.0046231933 0.0021825378 0.0044580158 + 429500 0.0062963825 0.0021049305 0.0052039312 + 429600 0.0045465535 0.0020562971 0.0042940539 + 429700 0.0047049011 0.0020649639 0.0043806574 + 429800 0.0037315079 0.0020722432 0.0039088448 + 429900 0.0069737567 0.002150397 0.0055827928 + 430000 0.00444147 0.0022617537 0.0044477897 + 430100 0.0038187653 0.0023696757 0.0042492242 + 430200 0.0041118169 0.0024766431 0.0045004279 + 430300 0.0051029414 0.0023023565 0.0048139605 + 430400 0.0070992454 0.0020312369 0.0055253968 + 430500 0.0046475309 0.002259334 0.0045467907 + 430600 0.0059531651 0.0024707881 0.0054008616 + 430700 0.0056320645 0.0021657656 0.0049377973 + 430800 0.0042616205 0.0023166549 0.0044141712 + 430900 0.0037532834 0.0027010052 0.0045483244 + 431000 0.0055218982 0.0021613031 0.0048791123 + 431100 0.005899622 0.0024452417 0.0053489619 + 431200 0.0034817613 0.0027658853 0.0044795647 + 431300 0.0049760961 0.002782238 0.0052314103 + 431400 0.0059909506 0.0024567353 0.0054054063 + 431500 0.006012465 0.0029285084 0.0058877685 + 431600 0.0052453566 0.0031103119 0.0056920108 + 431700 0.0063113079 0.002110841 0.0052171879 + 431800 0.0053879025 0.0025894508 0.005241309 + 431900 0.0025963791 0.0027952087 0.004073114 + 432000 0.0039789195 0.0025217746 0.004480149 + 432100 0.0048625521 0.0025327999 0.0049260872 + 432200 0.0051802236 0.0031393113 0.0056889527 + 432300 0.0040053694 0.0035648842 0.0055362769 + 432400 0.0063302477 0.0031847047 0.0063003735 + 432500 0.0059551155 0.0030822111 0.0060132445 + 432600 0.005074337 0.0031221833 0.0056197086 + 432700 0.0058231603 0.0030807324 0.0059468191 + 432800 0.0045951718 0.0027336936 0.0049953798 + 432900 0.0037762095 0.002577695 0.0044362981 + 433000 0.0050375754 0.0022520042 0.0047314358 + 433100 0.0061514152 0.0019394113 0.0049670609 + 433200 0.0046998558 0.0022321985 0.0045454087 + 433300 0.0059219493 0.0025902417 0.0055049512 + 433400 0.004638006 0.0028288272 0.0051115958 + 433500 0.0040482969 0.0028680726 0.0048605938 + 433600 0.0039164583 0.0027961467 0.0047237785 + 433700 0.0056143933 0.0026216451 0.0053849793 + 433800 0.0064650887 0.0027395172 0.005921553 + 433900 0.005863471 0.0032491162 0.0061350433 + 434000 0.0048906036 0.0035143711 0.0059214651 + 434100 0.0048669122 0.0033922509 0.0057876843 + 434200 0.0059220307 0.0031519151 0.0060666646 + 434300 0.0061462709 0.0029528089 0.0059779266 + 434400 0.0058586644 0.0031014937 0.0059850551 + 434500 0.0067501945 0.0032557575 0.0065781189 + 434600 0.006166904 0.0032967429 0.006332016 + 434700 0.0044578028 0.0035633733 0.0057574481 + 434800 0.0049558995 0.0034506554 0.0058898871 + 434900 0.0051763598 0.0025840729 0.0051318125 + 435000 0.0048985954 0.0027375581 0.0051485855 + 435100 0.0057554424 0.0027944561 0.0056272129 + 435200 0.0054018371 0.0024834132 0.0051421299 + 435300 0.0053934909 0.0022941315 0.0049487403 + 435400 0.0039813545 0.0021202448 0.0040798178 + 435500 0.0045021809 0.002254459 0.0044703762 + 435600 0.0053056485 0.0020819738 0.0046933477 + 435700 0.0050018662 0.0021037106 0.0045655667 + 435800 0.0059464527 0.0019772746 0.0049040443 + 435900 0.0060250185 0.002494565 0.0054600038 + 436000 0.0062781903 0.002229181 0.0053192278 + 436100 0.0056573995 0.0022536628 0.0050381642 + 436200 0.0050313931 0.0026623921 0.0051387809 + 436300 0.0050917272 0.0027121246 0.0052182091 + 436400 0.0049164914 0.0022705848 0.0046904204 + 436500 0.004828254 0.0023757266 0.0047521329 + 436600 0.0047950003 0.0026072779 0.0049673171 + 436700 0.0042946303 0.0019601846 0.0040739479 + 436800 0.0045874684 0.0020037994 0.004261694 + 436900 0.0063900964 0.001956936 0.0051020615 + 437000 0.0049431902 0.0021982673 0.0046312437 + 437100 0.0048705784 0.0020996176 0.0044968555 + 437200 0.0039495992 0.0023928802 0.0043368235 + 437300 0.0046570276 0.0021673 0.0044594307 + 437400 0.0038407612 0.0020617698 0.0039521444 + 437500 0.0052369024 0.0020560269 0.0046335648 + 437600 0.0039273308 0.0021539654 0.0040869485 + 437700 0.0055919651 0.0022516145 0.0050039099 + 437800 0.0056370821 0.0024107266 0.005185228 + 437900 0.0050424466 0.0025551038 0.005036933 + 438000 0.0044775484 0.0029150199 0.0051188132 + 438100 0.0046320611 0.002848558 0.0051284006 + 438200 0.0050462414 0.0026184025 0.0051020994 + 438300 0.0043345555 0.0024708694 0.0046042834 + 438400 0.0038120711 0.0024589185 0.0043351723 + 438500 0.0051673821 0.0026342595 0.0051775804 + 438600 0.0044331515 0.0025961379 0.0047780796 + 438700 0.0062404481 0.0023135992 0.0053850698 + 438800 0.005281507 0.0022526464 0.0048521381 + 438900 0.0050282444 0.0022752354 0.0047500745 + 439000 0.0044628532 0.0022672839 0.0044638445 + 439100 0.0045109512 0.0024623979 0.0046826318 + 439200 0.003833078 0.0027123931 0.0045989861 + 439300 0.0054514789 0.0023633942 0.005046544 + 439400 0.0045721538 0.002448944 0.004699301 + 439500 0.0048532692 0.0021856943 0.0045744128 + 439600 0.0054706642 0.0020184612 0.0047110537 + 439700 0.0044127492 0.0020780021 0.0042499021 + 439800 0.0057523251 0.0017566506 0.0045878731 + 439900 0.0065500135 0.0019478607 0.0051716955 + 440000 0.0038147952 0.0025927929 0.0044703874 + 440100 0.0039625026 0.0025847033 0.0045349975 + 440200 0.0042995908 0.0022345108 0.0043507156 + 440300 0.0044869462 0.0022591733 0.0044675921 + 440400 0.0053717143 0.0022702533 0.0049141439 + 440500 0.0057518858 0.0022950397 0.005126046 + 440600 0.0073319602 0.0022824376 0.0058911368 + 440700 0.0041840305 0.0025754742 0.0046348017 + 440800 0.0040064535 0.0024429413 0.0044148677 + 440900 0.0053037158 0.0024030798 0.0050135025 + 441000 0.0058146382 0.0023073074 0.0051691997 + 441100 0.0063264155 0.0025054599 0.0056192425 + 441200 0.004931855 0.0026423659 0.0050697633 + 441300 0.0055994696 0.0025674894 0.0053234784 + 441400 0.0035868397 0.0024668605 0.0042322581 + 441500 0.0054624458 0.0024682962 0.0051568437 + 441600 0.0053790731 0.0027970286 0.0054445411 + 441700 0.00356888 0.002600955 0.0043575131 + 441800 0.0059333128 0.0019727234 0.0048930258 + 441900 0.0060908008 0.0019004749 0.0048982909 + 442000 0.0062901424 0.0026094476 0.0057053771 + 442100 0.0053450352 0.0034459156 0.0060766752 + 442200 0.0056333466 0.0028559507 0.0056286135 + 442300 0.0049173772 0.002230205 0.0046504765 + 442400 0.0059418984 0.0020588152 0.0049833433 + 442500 0.0054218764 0.0028034627 0.0054720425 + 442600 0.0057519324 0.0034193739 0.0062504031 + 442700 0.004712852 0.0032285186 0.0055481254 + 442800 0.0055342789 0.0024926142 0.0052165171 + 442900 0.00460946 0.0020827057 0.0043514243 + 443000 0.0051954381 0.0019325022 0.0044896319 + 443100 0.0046888684 0.0024231877 0.0047309901 + 443200 0.0045740803 0.0029372724 0.0051885775 + 443300 0.0060768391 0.0032137013 0.0062046456 + 443400 0.005429541 0.0025889622 0.0052613144 + 443500 0.004406245 0.0025791405 0.0047478392 + 443600 0.0031703441 0.0031917051 0.0047521089 + 443700 0.0044100359 0.003031683 0.0052022475 + 443800 0.0040086996 0.0029690423 0.0049420741 + 443900 0.0068127158 0.002720051 0.0060731846 + 444000 0.005410474 0.0029129501 0.0055759177 + 444100 0.0052557744 0.0037313385 0.0063181649 + 444200 0.0064461976 0.0040549552 0.007227693 + 444300 0.0061003276 0.0038925499 0.0068950549 + 444400 0.0048240739 0.0036557519 0.0060301008 + 444500 0.0070113447 0.0034038307 0.0068547269 + 444600 0.0042218091 0.0031291384 0.0052070601 + 444700 0.0053441482 0.0027711153 0.0054014383 + 444800 0.0052983065 0.0025833022 0.0051910624 + 444900 0.0030046949 0.0026130436 0.0040919169 + 445000 0.004068924 0.0028126008 0.0048152743 + 445100 0.00499265 0.0030335352 0.0054908551 + 445200 0.0067588525 0.0027903903 0.006117013 + 445300 0.0040222697 0.0026925674 0.0046722783 + 445400 0.0046183496 0.002356826 0.00462992 + 445500 0.0059468358 0.0022303665 0.0051573248 + 445600 0.0042863449 0.0025763304 0.0046860158 + 445700 0.0053897116 0.0029944105 0.0056471591 + 445800 0.0050829728 0.0025696988 0.0050714745 + 445900 0.0048930273 0.0024780605 0.0048863474 + 446000 0.0057530648 0.0023196259 0.0051512124 + 446100 0.0042406176 0.0025248337 0.0046120126 + 446200 0.0037966132 0.0026222139 0.0044908594 + 446300 0.0054068673 0.0025485343 0.0052097268 + 446400 0.0053652453 0.0022344298 0.0048751365 + 446500 0.0057651589 0.0022655312 0.0051030703 + 446600 0.0058411355 0.0024510751 0.005326009 + 446700 0.0044456147 0.0023462854 0.0045343614 + 446800 0.0041191909 0.0025763069 0.0046037212 + 446900 0.005224972 0.0024233606 0.0049950265 + 447000 0.0042772582 0.0026704237 0.0047756367 + 447100 0.0046051428 0.0034471994 0.0057137931 + 447200 0.0050011181 0.0034844031 0.0059458909 + 447300 0.0048812306 0.0032981373 0.005700618 + 447400 0.0043061813 0.0034179081 0.0055373567 + 447500 0.0062499347 0.0031783937 0.0062545335 + 447600 0.005854922 0.0032156254 0.0060973448 + 447700 0.0054789353 0.0027750916 0.0054717551 + 447800 0.0042593763 0.0028954816 0.0049918934 + 447900 0.0067371739 0.0026950325 0.0060109853 + 448000 0.006356234 0.0031736977 0.0063021566 + 448100 0.0062547003 0.0032581095 0.0063365948 + 448200 0.0052489661 0.0030057102 0.0055891857 + 448300 0.004621474 0.0031478775 0.0054225092 + 448400 0.0049481416 0.0031663326 0.005601746 + 448500 0.0068961829 0.0028754151 0.0062696301 + 448600 0.0069725685 0.002653168 0.0060849791 + 448700 0.0055192458 0.0028270019 0.0055435057 + 448800 0.0050046094 0.0028400634 0.0053032696 + 448900 0.0039354815 0.002419021 0.0043560158 + 449000 0.0053570714 0.0020866002 0.0047232838 + 449100 0.0042324269 0.0018381771 0.0039213247 + 449200 0.0045887104 0.0021391119 0.0043976178 + 449300 0.0051355588 0.0029195625 0.0054472203 + 449400 0.0042495292 0.0030521885 0.0051437536 + 449500 0.0055481168 0.0024495885 0.0051803023 + 449600 0.0061010336 0.0021465085 0.005149361 + 449700 0.0053377877 0.0022025167 0.0048297091 + 449800 0.0046778288 0.0024468856 0.0047492545 + 449900 0.0063197525 0.0024803518 0.005590855 + 450000 0.0046724926 0.0023229784 0.0046227209 + 450100 0.0044896622 0.0021688282 0.0043785838 + 450200 0.0050719849 0.0021357496 0.0046321172 + 450300 0.006218636 0.0022942823 0.0053550172 + 450400 0.0049464557 0.002449932 0.0048845157 + 450500 0.0048030569 0.0028562847 0.0052202893 + 450600 0.0050395786 0.0029036995 0.0053841171 + 450700 0.0050842094 0.0028916655 0.0053940499 + 450800 0.0056503108 0.0025452145 0.0053262268 + 450900 0.0040251955 0.0023873882 0.0043685391 + 451000 0.0051426303 0.0027011919 0.0052323302 + 451100 0.005277807 0.0030474355 0.0056451062 + 451200 0.0045956272 0.0030776341 0.0053395443 + 451300 0.0056118088 0.0027807614 0.0055428236 + 451400 0.0054083047 0.0024054393 0.0050673393 + 451500 0.0047215022 0.0027607982 0.0050846626 + 451600 0.004308276 0.0029389681 0.0050594477 + 451700 0.0041140291 0.0030347883 0.005059662 + 451800 0.0057354538 0.0028832693 0.0057061879 + 451900 0.0061123384 0.0023703561 0.0053787726 + 452000 0.0049183622 0.0024844505 0.0049052069 + 452100 0.0049962309 0.0028267808 0.0052858632 + 452200 0.0044778338 0.0030756142 0.005279548 + 452300 0.00636978 0.0025437904 0.0056789165 + 452400 0.0071203952 0.0031611672 0.0066657367 + 452500 0.0049586214 0.0038626706 0.006303242 + 452600 0.0063185549 0.0033418523 0.006451766 + 452700 0.0061423373 0.0028506418 0.0058738234 + 452800 0.0053692135 0.0027473951 0.0053900549 + 452900 0.0039155263 0.0023745218 0.0043016949 + 453000 0.0046262838 0.00254688 0.0048238791 + 453100 0.0054664634 0.0025861957 0.0052767206 + 453200 0.0034610556 0.0028880904 0.0045915788 + 453300 0.0062496954 0.0030771007 0.0061531227 + 453400 0.0055406702 0.0030012693 0.0057283179 + 453500 0.0066125635 0.0024758652 0.0057304863 + 453600 0.0079311055 0.0025544191 0.0064580101 + 453700 0.0058063927 0.0029318987 0.0057897325 + 453800 0.0048084696 0.0028765247 0.0052431933 + 453900 0.0050241013 0.003172686 0.0056454858 + 454000 0.0053925766 0.0030538956 0.0057080544 + 454100 0.0055847234 0.0027650331 0.0055137641 + 454200 0.0056148518 0.0028350402 0.0055986 + 454300 0.0057145784 0.0027026965 0.0055153406 + 454400 0.005722363 0.0029583279 0.0057748034 + 454500 0.0057949788 0.0030421028 0.0058943189 + 454600 0.0046725847 0.0028260254 0.0051258132 + 454700 0.0061910526 0.0028095168 0.0058566755 + 454800 0.0048935639 0.0030430497 0.0054516007 + 454900 0.0057967225 0.0028166014 0.0056696758 + 455000 0.0055344628 0.0029832877 0.0057072811 + 455100 0.0037089483 0.0039480735 0.0057735715 + 455200 0.0070711585 0.003881456 0.0073617918 + 455300 0.0050710013 0.0035524373 0.0060483208 + 455400 0.0048161576 0.003083862 0.0054543146 + 455500 0.0053198241 0.0032024377 0.0058207887 + 455600 0.006939844 0.003020849 0.0064365534 + 455700 0.0043029648 0.0028930394 0.0050109049 + 455800 0.0047652943 0.0029360287 0.005281447 + 455900 0.0043386383 0.0030320833 0.0051675069 + 456000 0.0061697142 0.0028234294 0.0058600856 + 456100 0.0063914623 0.0027770244 0.0059228222 + 456200 0.0045662067 0.002835239 0.0050826689 + 456300 0.0054247811 0.0027002913 0.0053703007 + 456400 0.0045943167 0.0027225083 0.0049837736 + 456500 0.0061223388 0.0028579871 0.0058713258 + 456600 0.0075274292 0.0028041182 0.0065090247 + 456700 0.0061953093 0.0029791449 0.0060283987 + 456800 0.0050378761 0.0030421104 0.0055216901 + 456900 0.0052962551 0.0028118267 0.0054185773 + 457000 0.0044338331 0.002470759 0.0046530363 + 457100 0.0043107807 0.0026134604 0.0047351727 + 457200 0.0036492823 0.0028558331 0.0046519642 + 457300 0.0054171291 0.0026106633 0.0052769066 + 457400 0.0049744494 0.0026161506 0.0050645124 + 457500 0.003813683 0.0025188248 0.0043958719 + 457600 0.0051442107 0.0023608781 0.0048927942 + 457700 0.0041797398 0.0026022216 0.0046594373 + 457800 0.0044731759 0.0020820237 0.004283665 + 457900 0.005828421 0.0021974558 0.0050661318 + 458000 0.0047076296 0.0028747455 0.0051917819 + 458100 0.0053714072 0.0033037412 0.0059474807 + 458200 0.0068959047 0.0032106156 0.0066046937 + 458300 0.0058201099 0.0028762564 0.0057408418 + 458400 0.0055129343 0.002604292 0.0053176894 + 458500 0.006240043 0.0022052498 0.005276521 + 458600 0.0048469323 0.0024799383 0.0048655378 + 458700 0.0038278756 0.0026525316 0.0045365641 + 458800 0.0057898044 0.0030999513 0.0059496207 + 458900 0.0037542355 0.0033297579 0.0051775457 + 459000 0.0043664242 0.0032250401 0.0053741395 + 459100 0.0054696559 0.0028281511 0.0055202474 + 459200 0.0045092053 0.0025303804 0.0047497549 + 459300 0.004281595 0.0022661296 0.0043734772 + 459400 0.0042292818 0.0022762772 0.0043578768 + 459500 0.0029500479 0.0028355235 0.0042875003 + 459600 0.0034034849 0.0026951884 0.0043703411 + 459700 0.0058939967 0.002473296 0.0053742475 + 459800 0.0044073257 0.0020856324 0.004254863 + 459900 0.0043887776 0.0020551488 0.0042152503 + 460000 0.0052652366 0.0026182739 0.0052097576 + 460100 0.0033987288 0.0027610647 0.0044338765 + 460200 0.0043222921 0.0023457773 0.0044731555 + 460300 0.0048173408 0.0027266088 0.0050976437 + 460400 0.0047092011 0.0029612561 0.005279066 + 460500 0.0045859185 0.0028081637 0.0050652955 + 460600 0.0044450354 0.0022622012 0.004449992 + 460700 0.0071466117 0.0018863083 0.0054037812 + 460800 0.0059273811 0.0019881652 0.0049055481 + 460900 0.0054382396 0.0023352087 0.0050118422 + 461000 0.0058490009 0.0022813582 0.0051601633 + 461100 0.0044342268 0.0023737986 0.0045562696 + 461200 0.0041128656 0.002068705 0.0040930061 + 461300 0.0052826348 0.0026074736 0.0052075204 + 461400 0.0053555947 0.0030231227 0.0056590795 + 461500 0.0052392106 0.0031494026 0.0057280766 + 461600 0.0057458612 0.0027426333 0.0055706744 + 461700 0.0072800318 0.0024786139 0.0060617546 + 461800 0.0035325197 0.0024510088 0.0041896709 + 461900 0.004405811 0.0026161916 0.0047846768 + 462000 0.0054239635 0.0030533013 0.0057229083 + 462100 0.0046426301 0.0031423589 0.0054274033 + 462200 0.0051522087 0.0027731064 0.0053089591 + 462300 0.0048951149 0.0025537392 0.0049630536 + 462400 0.0048965389 0.0027822515 0.0051922668 + 462500 0.0052171558 0.0028200769 0.0053878958 + 462600 0.0042210831 0.0023978625 0.0044754268 + 462700 0.0035322935 0.0022184266 0.0039569773 + 462800 0.0046948557 0.0023837207 0.00469447 + 462900 0.0048764181 0.0024610334 0.0048611454 + 463000 0.0031214761 0.0030998244 0.0046361759 + 463100 0.004697624 0.0026613902 0.0049735021 + 463200 0.0044546745 0.0021014179 0.004293953 + 463300 0.0050956286 0.0022895959 0.0047976006 + 463400 0.0056368967 0.0024091346 0.0051835447 + 463500 0.0051031938 0.002446119 0.0049578472 + 463600 0.0057884516 0.0025018522 0.0053508557 + 463700 0.0041792746 0.0031120271 0.0051690138 + 463800 0.0065125839 0.0031451192 0.0063505316 + 463900 0.0063113756 0.0024892332 0.0055956134 + 464000 0.0043335691 0.0023699712 0.0045028997 + 464100 0.0045778794 0.0024455665 0.0046987416 + 464200 0.0044748974 0.0025966805 0.004799169 + 464300 0.0055191539 0.0026711557 0.0053876142 + 464400 0.0041096069 0.002669336 0.0046920332 + 464500 0.0064139421 0.0022740883 0.0054309504 + 464600 0.0047192501 0.0023085544 0.0046313103 + 464700 0.0059169457 0.0024667575 0.0053790042 + 464800 0.0060163178 0.0026939326 0.005655089 + 464900 0.0072806977 0.0026726401 0.0062561085 + 465000 0.0054300677 0.0025129761 0.0051855876 + 465100 0.0053148123 0.0021372197 0.0047531039 + 465200 0.0047607762 0.0024096319 0.0047528265 + 465300 0.0048732713 0.002238308 0.0046368713 + 465400 0.0044788313 0.0023216287 0.0045260535 + 465500 0.0040571733 0.0023034734 0.0043003634 + 465600 0.004202925 0.0019977614 0.0040663886 + 465700 0.0043469126 0.0019817908 0.0041212869 + 465800 0.0050555033 0.0023564534 0.0048447089 + 465900 0.0050094441 0.0025562218 0.0050218076 + 466000 0.0049780011 0.0031053103 0.0055554202 + 466100 0.0044210146 0.0029250103 0.0051009784 + 466200 0.0054218755 0.0028027457 0.0054713251 + 466300 0.0052195208 0.0028960263 0.0054650092 + 466400 0.0055964624 0.0030377418 0.0057922507 + 466500 0.0057318726 0.0028219046 0.0056430606 + 466600 0.0038447348 0.0022156433 0.0041079737 + 466700 0.0036289909 0.0022678153 0.0040539593 + 466800 0.005435508 0.0025775643 0.0052528534 + 466900 0.0054164813 0.0025838294 0.0052497538 + 467000 0.0051185322 0.0025630844 0.005082362 + 467100 0.0056432124 0.0028699829 0.0056475016 + 467200 0.0060142675 0.002948751 0.0059088983 + 467300 0.005104227 0.0027163 0.0052285368 + 467400 0.0051071573 0.0027321041 0.0052457831 + 467500 0.0035923841 0.0028480099 0.0046161365 + 467600 0.0047267625 0.0029583971 0.0052848505 + 467700 0.0036291987 0.0028107078 0.0045969541 + 467800 0.0065045938 0.0030059336 0.0062074133 + 467900 0.005102008 0.0026010533 0.0051121978 + 468000 0.0038772176 0.0023264183 0.0042347363 + 468100 0.0036643686 0.0023651877 0.0041687441 + 468200 0.0066724411 0.0025571048 0.0058411969 + 468300 0.0038144543 0.0029221067 0.0047995334 + 468400 0.0047435102 0.0030211112 0.0053558076 + 468500 0.0059524295 0.0030409125 0.0059706239 + 468600 0.0050410893 0.0025728844 0.0050540455 + 468700 0.0054033155 0.00252257 0.0051820144 + 468800 0.004931648 0.0024827574 0.0049100529 + 468900 0.0052558039 0.00249678 0.005083621 + 469000 0.0056169893 0.0029768292 0.0057414411 + 469100 0.0040486649 0.0033809821 0.0053736844 + 469200 0.0067254842 0.0026462172 0.0059564165 + 469300 0.0056399027 0.0022934808 0.0050693704 + 469400 0.0043209139 0.0026716699 0.0047983697 + 469500 0.004045031 0.0023651329 0.0043560466 + 469600 0.0049226037 0.0022355995 0.0046584435 + 469700 0.0047050267 0.0016936143 0.0040093696 + 469800 0.0052675838 0.001638886 0.0042315249 + 469900 0.0040003141 0.0017442947 0.0037131993 + 470000 0.0064627144 0.0021260069 0.0053068742 + 470100 0.0060586163 0.002619176 0.0056011512 + 470200 0.0054489535 0.0025622012 0.005244108 + 470300 0.0054259923 0.0022126659 0.0048832714 + 470400 0.004591247 0.0022566421 0.0045163965 + 470500 0.005694502 0.0026392313 0.005441994 + 470600 0.0056777588 0.0029498632 0.0057443851 + 470700 0.0052100997 0.0027606765 0.0053250225 + 470800 0.0062974466 0.0028790913 0.0059786158 + 470900 0.0046813902 0.0028435053 0.0051476271 + 471000 0.0067750069 0.0023150919 0.0056496656 + 471100 0.00460977 0.0022445526 0.0045134237 + 471200 0.0037451785 0.0027523206 0.0045956506 + 471300 0.004408116 0.0028532789 0.0050228985 + 471400 0.0060489915 0.0023009884 0.0052782264 + 471500 0.0061289265 0.0017097465 0.0047263275 + 471600 0.0060504861 0.002141529 0.0051195026 + 471700 0.0033170506 0.0031674207 0.0048000315 + 471800 0.0049358834 0.00292139 0.0053507701 + 471900 0.0059624789 0.0024881689 0.0054228265 + 472000 0.0061645755 0.0021995047 0.0052336317 + 472100 0.0053477856 0.0024308306 0.0050629438 + 472200 0.0039264984 0.0028188226 0.004751396 + 472300 0.0049161072 0.0027601455 0.005179792 + 472400 0.0051446352 0.0027333281 0.0052654532 + 472500 0.0057241984 0.0025059777 0.0053233566 + 472600 0.0056987657 0.0024657289 0.0052705901 + 472700 0.006832711 0.0024809943 0.0058439692 + 472800 0.005297124 0.0020544002 0.0046615785 + 472900 0.0047242194 0.0016298001 0.0039550018 + 473000 0.0049483411 0.0019650909 0.0044006026 + 473100 0.0033711874 0.0024144212 0.0040736775 + 473200 0.004982502 0.0023795654 0.0048318906 + 473300 0.0056876957 0.0024983032 0.005297716 + 473400 0.0044894257 0.0028688348 0.005078474 + 473500 0.0047743772 0.0026101497 0.0049600385 + 473600 0.0054477961 0.002498511 0.0051798482 + 473700 0.0052948258 0.0025464115 0.0051524586 + 473800 0.0050270977 0.0025319921 0.0050062668 + 473900 0.0050565908 0.0022146597 0.0047034505 + 474000 0.0060964021 0.0023603237 0.0053608966 + 474100 0.0039673532 0.0024041483 0.00435683 + 474200 0.0044034338 0.0028143051 0.0049816202 + 474300 0.0037671115 0.0025114087 0.0043655339 + 474400 0.0053268625 0.0021975254 0.0048193405 + 474500 0.0040501689 0.0023292419 0.0043226844 + 474600 0.0045732264 0.0025673108 0.0048181957 + 474700 0.0047447856 0.0029798254 0.0053151495 + 474800 0.004860589 0.0028280422 0.0052203633 + 474900 0.0068645741 0.0026281598 0.0060068173 + 475000 0.0037098816 0.0027662455 0.0045922029 + 475100 0.0039597654 0.0021722207 0.0041211678 + 475200 0.0050756659 0.0018508504 0.0043490297 + 475300 0.0030934016 0.0021764192 0.0036989528 + 475400 0.004911938 0.0023398656 0.0047574601 + 475500 0.0054535645 0.0027072592 0.0053914355 + 475600 0.004077581 0.0027500933 0.0047570277 + 475700 0.0051869731 0.002865657 0.0054186203 + 475800 0.0056038757 0.0025594595 0.0053176171 + 475900 0.0040238463 0.002201128 0.0041816148 + 476000 0.004153417 0.0020281487 0.0040724086 + 476100 0.005739244 0.0016574783 0.0044822625 + 476200 0.0057515297 0.0024371189 0.0052679499 + 476300 0.0052564389 0.0031334036 0.0057205571 + 476400 0.0058081865 0.0026057579 0.0054644747 + 476500 0.0047571441 0.0020527281 0.004394135 + 476600 0.0048147605 0.0019357911 0.004305556 + 476700 0.0043165033 0.0019441015 0.0040686305 + 476800 0.0044895082 0.0019501892 0.004159869 + 476900 0.0046796416 0.0014535839 0.003756845 + 477000 0.0060930891 0.0015592099 0.0045581522 + 477100 0.0055004423 0.002176388 0.0048836369 + 477200 0.0042849349 0.0024863996 0.004595391 + 477300 0.0037988853 0.0022787226 0.0041484865 + 477400 0.0048906807 0.0018644863 0.0042716182 + 477500 0.0047390399 0.0021441269 0.0044766231 + 477600 0.005423097 0.0020697639 0.0047389445 + 477700 0.0042845412 0.0020429499 0.0041517476 + 477800 0.0065775894 0.0022652205 0.0055026278 + 477900 0.0052522684 0.0026153529 0.0052004537 + 478000 0.0063348226 0.0021442077 0.0052621282 + 478100 0.0049868188 0.0021770221 0.004631472 + 478200 0.0038212315 0.0022036068 0.0040843692 + 478300 0.0062415134 0.0021303865 0.0052023813 + 478400 0.0059432449 0.0022127507 0.0051379415 + 478500 0.0038021183 0.0023748576 0.0042462127 + 478600 0.005402322 0.0023423196 0.005001275 + 478700 0.0049064492 0.0024445405 0.0048594334 + 478800 0.0061245893 0.0024455837 0.00546003 + 478900 0.0058571226 0.0026736669 0.0055564694 + 479000 0.0049807179 0.0027552864 0.0052067335 + 479100 0.0057793335 0.0025906534 0.0054351691 + 479200 0.006054264 0.0021153659 0.0050951989 + 479300 0.0051505345 0.0020207057 0.0045557344 + 479400 0.0054304196 0.0019533006 0.0046260853 + 479500 0.0041774513 0.0024134167 0.0044695061 + 479600 0.0045940704 0.0029527287 0.0052138728 + 479700 0.0046793729 0.0022224256 0.0045255544 + 479800 0.0038282686 0.0017235818 0.0036078078 + 479900 0.004851161 0.0021023951 0.0044900759 + 480000 0.0046756662 0.0026168286 0.004918133 + 480100 0.0042297508 0.0028063914 0.0048882219 + 480200 0.0045530214 0.0027966415 0.0050375817 + 480300 0.0051139768 0.0028133213 0.0053303567 + 480400 0.0054458642 0.0028171919 0.0054975782 + 480500 0.0062863506 0.0036253917 0.0067194549 + 480600 0.0055542986 0.0033820883 0.0061158447 + 480700 0.0052770352 0.0024628249 0.0050601157 + 480800 0.0047213137 0.00217778 0.0045015516 + 480900 0.0061516845 0.0023138143 0.0053415965 + 481000 0.0052900661 0.0027678286 0.005371533 + 481100 0.0035050701 0.0030472353 0.004772387 + 481200 0.0047106497 0.0024235187 0.0047420416 + 481300 0.0050638787 0.0022735106 0.0047658884 + 481400 0.0040582798 0.0022113623 0.0042087968 + 481500 0.0045576456 0.0020929481 0.0043361643 + 481600 0.0043359016 0.0019197726 0.0040538492 + 481700 0.0040436139 0.0020123232 0.0040025395 + 481800 0.0055218394 0.0028408442 0.0055586246 + 481900 0.0046622037 0.0033206808 0.0056153592 + 482000 0.0062225626 0.0030079055 0.006070573 + 482100 0.0057207717 0.0033215035 0.0061371958 + 482200 0.0076365413 0.0027019655 0.0064605756 + 482300 0.0064847925 0.0024973977 0.0056891315 + 482400 0.0039552029 0.0028641766 0.0048108781 + 482500 0.0048421046 0.0027526888 0.0051359122 + 482600 0.0054248725 0.0023734266 0.005043481 + 482700 0.0051952289 0.0026558566 0.0052128833 + 482800 0.0057811494 0.0023690474 0.0052144569 + 482900 0.0069107017 0.0022373664 0.0056387275 + 483000 0.003260059 0.0025439634 0.0041485237 + 483100 0.004342333 0.0024516572 0.0045888993 + 483200 0.0043941362 0.0027014088 0.0048641477 + 483300 0.004124676 0.0027619887 0.0047921027 + 483400 0.0054533137 0.0023540897 0.0050381425 + 483500 0.005444591 0.0026335591 0.0053133187 + 483600 0.005094068 0.0029242918 0.0054315284 + 483700 0.0072347163 0.0023795961 0.005940433 + 483800 0.005756363 0.0025639254 0.0053971353 + 483900 0.0043660948 0.0027681927 0.00491713 + 484000 0.0044291102 0.0030809363 0.005260889 + 484100 0.0068695076 0.0031873174 0.0065684032 + 484200 0.0068817691 0.0029874716 0.0063745923 + 484300 0.0052009642 0.0030180195 0.0055778691 + 484400 0.0043410323 0.0028691039 0.0050057058 + 484500 0.0039167736 0.002893732 0.004821519 + 484600 0.0061456096 0.0023519146 0.0053767068 + 484700 0.0054104649 0.0020609726 0.0047239358 + 484800 0.0057657668 0.0018428905 0.0046807289 + 484900 0.0069340659 0.0018226241 0.0052354847 + 485000 0.0047385565 0.0024355553 0.0047678135 + 485100 0.0060366298 0.0026951561 0.0056663098 + 485200 0.0042472182 0.0022598951 0.0043503228 + 485300 0.0044190897 0.0024462859 0.0046213066 + 485400 0.0049476161 0.0023231168 0.0047582716 + 485500 0.0048139763 0.0023777703 0.0047471493 + 485600 0.0061407819 0.002534779 0.0055571951 + 485700 0.0053065367 0.002458414 0.005070225 + 485800 0.0062604456 0.0025063479 0.0055876609 + 485900 0.004022574 0.0025754494 0.00455531 + 486000 0.0059455186 0.0023754748 0.0053017848 + 486100 0.0047916116 0.0026864735 0.0050448449 + 486200 0.0058380874 0.0024450211 0.0053184548 + 486300 0.0043179263 0.0023348433 0.0044600726 + 486400 0.0059843306 0.002134399 0.0050798117 + 486500 0.0043429014 0.0019195061 0.0040570279 + 486600 0.0062001503 0.0017271637 0.0047788001 + 486700 0.0045639685 0.0017990925 0.0040454208 + 486800 0.0047266863 0.0022103281 0.004536744 + 486900 0.0057053181 0.0025631719 0.0053712581 + 487000 0.0043585521 0.0028839957 0.0050292206 + 487100 0.0066372426 0.0029683185 0.0062350863 + 487200 0.0051197986 0.0028901392 0.0054100401 + 487300 0.0054817039 0.0027489451 0.0054469713 + 487400 0.0055781956 0.0025479244 0.0052934426 + 487500 0.0055702283 0.0025386846 0.0052802814 + 487600 0.0052191421 0.0025799102 0.0051487068 + 487700 0.0037740496 0.0029554471 0.0048129872 + 487800 0.0033748451 0.0027318193 0.0043928759 + 487900 0.0045339026 0.0025018369 0.004733367 + 488000 0.0068531729 0.0023022664 0.0056753124 + 488100 0.0036983625 0.0027982885 0.0046185763 + 488200 0.0055715419 0.0028352006 0.0055774439 + 488300 0.0063916214 0.0025897247 0.0057356008 + 488400 0.0054082376 0.0026168543 0.0052787212 + 488500 0.0054471595 0.0028524087 0.0055334326 + 488600 0.0049524024 0.00309312 0.0055306306 + 488700 0.0042883237 0.0031448059 0.0052554652 + 488800 0.0051150426 0.0030613534 0.0055789134 + 488900 0.0057905429 0.0026396949 0.0054897277 + 489000 0.0063396982 0.0021984565 0.0053187768 + 489100 0.0046222288 0.0020257794 0.0043007827 + 489200 0.0053824829 0.0023685484 0.0050177392 + 489300 0.0049662689 0.0028794102 0.0053237457 + 489400 0.0044178739 0.003181306 0.0053557283 + 489500 0.0045717937 0.0031940408 0.0054442205 + 489600 0.0064183492 0.0025912034 0.0057502346 + 489700 0.0050911954 0.0026077014 0.0051135241 + 489800 0.0035078411 0.0025546123 0.0042811278 + 489900 0.0038569539 0.0025915928 0.0044899373 + 490000 0.0040479319 0.0028041708 0.0047965123 + 490100 0.0054935317 0.0028368998 0.0055407474 + 490200 0.0047534647 0.0027130162 0.0050526121 + 490300 0.005589785 0.0026787901 0.0054300123 + 490400 0.0080711655 0.0027427555 0.0067152822 + 490500 0.0055769198 0.0026429724 0.0053878626 + 490600 0.0056232585 0.0024760455 0.0052437431 + 490700 0.004749365 0.0022843124 0.0046218905 + 490800 0.0048863929 0.0019312249 0.0043362464 + 490900 0.0030815303 0.0018946915 0.0034113822 + 491000 0.0046758169 0.0020526531 0.0043540317 + 491100 0.0050524573 0.0025687189 0.0050554752 + 491200 0.0048507316 0.00299753 0.0053849994 + 491300 0.0076948341 0.002631964 0.0064192652 + 491400 0.0047953952 0.002678362 0.0050385956 + 491500 0.0050465612 0.0024615657 0.0049454201 + 491600 0.0043681474 0.0020626901 0.0042126376 + 491700 0.0046942501 0.0024301759 0.0047406271 + 491800 0.0059764497 0.0028367656 0.0057782995 + 491900 0.005955461 0.0033275671 0.0062587706 + 492000 0.0042074061 0.0036966936 0.0057675263 + 492100 0.0045763908 0.0032003561 0.0054527985 + 492200 0.0042992556 0.0027508513 0.0048668912 + 492300 0.0059995649 0.0027585912 0.0057115021 + 492400 0.0045712157 0.0024397023 0.0046895975 + 492500 0.0036671272 0.0025491993 0.0043541135 + 492600 0.0059204401 0.0023798466 0.0052938132 + 492700 0.0064055209 0.0022733982 0.0054261155 + 492800 0.0050844378 0.0023954969 0.0048979936 + 492900 0.0058970641 0.0021306929 0.0050331541 + 493000 0.0038063094 0.0022277328 0.0041011507 + 493100 0.0041290243 0.0025727383 0.0046049924 + 493200 0.0069115479 0.0023435232 0.0057453007 + 493300 0.0053508119 0.0021532253 0.004786828 + 493400 0.0042859699 0.0022763165 0.0043858173 + 493500 0.0048584285 0.0022698571 0.0046611149 + 493600 0.0036742743 0.0025787193 0.0043871512 + 493700 0.0053463727 0.0027819426 0.0054133605 + 493800 0.005270076 0.0027033185 0.005297184 + 493900 0.0050352102 0.0026523102 0.0051305777 + 494000 0.0053507888 0.002983115 0.0056167064 + 494100 0.005284172 0.0030988999 0.0056997033 + 494200 0.0054460006 0.0030150907 0.0056955441 + 494300 0.0066284645 0.0029400985 0.0062025459 + 494400 0.0049997025 0.0031076738 0.0055684649 + 494500 0.0056949657 0.0029392056 0.0057421965 + 494600 0.0056694613 0.0028929604 0.0056833984 + 494700 0.0044373681 0.0031176949 0.005301712 + 494800 0.0047891062 0.003228167 0.0055853052 + 494900 0.0051700368 0.0027495147 0.0052941421 + 495000 0.0076329873 0.0026203896 0.0063772505 + 495100 0.0058871191 0.0036574487 0.0065550151 + 495200 0.0056006099 0.0039711075 0.0067276577 + 495300 0.0039883992 0.0033268043 0.0052898445 + 495400 0.0059989698 0.0030422516 0.0059948696 + 495500 0.0057113333 0.0028594082 0.0056704551 + 495600 0.0053833199 0.002743286 0.0053928888 + 495700 0.0046847886 0.0030076384 0.0053134328 + 495800 0.0049742745 0.0027340816 0.0051823573 + 495900 0.0058003851 0.0023361559 0.005191033 + 496000 0.006014056 0.0030029718 0.005963015 + 496100 0.0057919231 0.0033621921 0.0062129042 + 496200 0.0066180909 0.0028319212 0.0060892629 + 496300 0.0065917874 0.002770805 0.0060152003 + 496400 0.0063833453 0.0031447331 0.0062865359 + 496500 0.0060915137 0.003199935 0.0061981019 + 496600 0.005065513 0.0028675541 0.0053607363 + 496700 0.006281029 0.0025626756 0.0056541195 + 496800 0.0061063741 0.0027518023 0.0057572833 + 496900 0.0049136855 0.0025816073 0.0050000619 + 497000 0.0043476048 0.0020356099 0.0041754466 + 497100 0.0036032487 0.0019894594 0.0037629334 + 497200 0.0068945121 0.0022869125 0.0056803051 + 497300 0.0060057664 0.0028285276 0.0057844908 + 497400 0.0056761855 0.0033667937 0.0061605412 + 497500 0.0064192005 0.0031774545 0.0063369047 + 497600 0.0056383716 0.0023769947 0.0051521307 + 497700 0.005515897 0.0022468609 0.0049617164 + 497800 0.0038619146 0.0024076038 0.0043083899 + 497900 0.0050063366 0.0024470648 0.0049111211 + 498000 0.0045639683 0.0027283772 0.0049747053 + 498100 0.0041996928 0.0025705554 0.0046375917 + 498200 0.0059931823 0.0022674248 0.0052171943 + 498300 0.0070636315 0.0027975309 0.006274162 + 498400 0.0040476711 0.0029626355 0.0049548486 + 498500 0.0050962629 0.0031997129 0.0057080297 + 498600 0.0043324455 0.0028993885 0.005031764 + 498700 0.0046579414 0.0025855405 0.004878121 + 498800 0.0064937655 0.0018670715 0.0050632217 + 498900 0.0058547536 0.0017070008 0.0045886373 + 499000 0.006968326 0.0015857537 0.0050154767 + 499100 0.0066311815 0.0016622015 0.0049259862 + 499200 0.0058773904 0.0021384545 0.0050312327 + 499300 0.005102984 0.0020369556 0.0045485806 + 499400 0.0045382808 0.001874611 0.0041082961 + 499500 0.0043611391 0.001637688 0.0037841861 + 499600 0.0042185575 0.0018736111 0.0039499324 + 499700 0.0052279827 0.0018473267 0.0044204745 + 499800 0.0048289032 0.0017631609 0.0041398867 + 499900 0.0042484817 0.001667882 0.0037589316 + 500000 0.0032469482 0.001608823 0.0032069303 + 500100 0.0041684985 0.0016772916 0.0037289745 + 500200 0.0063146479 0.0016756118 0.0047836025 + 500300 0.0057499747 0.0018270082 0.0046570738 + 500400 0.0048892829 0.00214396 0.004550404 + 500500 0.0052483569 0.0017446589 0.0043278345 + 500600 0.0048035817 0.0018252984 0.0041895613 + 500700 0.0054303544 0.0019875371 0.0046602896 + 500800 0.0062160722 0.0022790737 0.0053385468 + 500900 0.0042694487 0.0020630132 0.0041643825 + 501000 0.0066740395 0.0020876045 0.0053724833 + 501100 0.0042743831 0.0026634376 0.0047672356 + 501200 0.004227969 0.0027911033 0.0048720568 + 501300 0.0050361713 0.0021797378 0.0046584783 + 501400 0.0054094057 0.0020433582 0.0047058001 + 501500 0.0058328899 0.0018618921 0.0047327676 + 501600 0.0055040116 0.0022180779 0.0049270836 + 501700 0.0053138004 0.0021221823 0.0047375684 + 501800 0.0050315584 0.0020865538 0.004563024 + 501900 0.0048183633 0.0020942046 0.0044657428 + 502000 0.0038068692 0.00259403 0.0044677234 + 502100 0.0042401358 0.002859221 0.0049461628 + 502200 0.0052821785 0.0025324398 0.005132262 + 502300 0.007103115 0.002002544 0.0054986084 + 502400 0.0044376999 0.0022813867 0.0044655671 + 502500 0.0051270104 0.0023251606 0.004848611 + 502600 0.0048951078 0.0022295801 0.0046388909 + 502700 0.0056944586 0.0022169832 0.0050197246 + 502800 0.0059145668 0.0019928939 0.0049039698 + 502900 0.0047619276 0.0023641772 0.0047079384 + 503000 0.0060103984 0.0028606656 0.0058189086 + 503100 0.0039635125 0.0028389299 0.0047897212 + 503200 0.005604083 0.0026483614 0.005406621 + 503300 0.0056630056 0.0024669462 0.0052542067 + 503400 0.005141557 0.0022540072 0.0047846173 + 503500 0.0058100886 0.0021992031 0.0050588561 + 503600 0.0059887229 0.0023168731 0.0052644477 + 503700 0.0066170524 0.0020783954 0.0053352259 + 503800 0.0063044689 0.0017827275 0.0048857083 + 503900 0.0041411764 0.0023148491 0.0043530843 + 504000 0.0059965634 0.002303571 0.0052550046 + 504100 0.0037128663 0.002495298 0.0043227244 + 504200 0.0054912246 0.0023454399 0.005048152 + 504300 0.0054243754 0.0020767092 0.0047465189 + 504400 0.0042831299 0.0018645119 0.0039726149 + 504500 0.0046474884 0.0020586461 0.0043460818 + 504600 0.0056123586 0.0021327978 0.0048951306 + 504700 0.0063476377 0.0019334898 0.0050577178 + 504800 0.0051602733 0.0018945815 0.0044344035 + 504900 0.005512996 0.0019536788 0.0046671065 + 505000 0.00481039 0.0018372793 0.0042048932 + 505100 0.0040018067 0.0014307809 0.0034004201 + 505200 0.0041438974 0.0015649617 0.0036045362 + 505300 0.0044726972 0.0013343663 0.003535772 + 505400 0.0055677795 0.0013886024 0.0041289939 + 505500 0.0069773527 0.0016637565 0.0050979223 + 505600 0.003983827 0.0023299536 0.0042907435 + 505700 0.0041425135 0.0024478238 0.0044867172 + 505800 0.0053674504 0.0020082786 0.0046500706 + 505900 0.0043740321 0.0022319756 0.0043848195 + 506000 0.0049973009 0.00239419 0.0048537991 + 506100 0.0054735012 0.0023060387 0.0050000276 + 506200 0.0048668127 0.0017253624 0.0041207468 + 506300 0.0045432536 0.0013407189 0.0035768515 + 506400 0.0045440944 0.0018982109 0.0041347574 + 506500 0.0050631037 0.0021955252 0.0046875215 + 506600 0.0037741881 0.0021778985 0.0040355067 + 506700 0.005303399 0.0022283549 0.0048386216 + 506800 0.0056137981 0.0021142348 0.004877276 + 506900 0.0040357696 0.0021726822 0.0041590376 + 507000 0.0060124666 0.002116832 0.0050760929 + 507100 0.0057655515 0.0024369803 0.0052747127 + 507200 0.00479659 0.0024024533 0.004763275 + 507300 0.0046806325 0.002519304 0.0048230528 + 507400 0.0063324016 0.0022637258 0.0053804547 + 507500 0.0058255419 0.0025663938 0.0054336528 + 507600 0.0048935774 0.0024661253 0.0048746829 + 507700 0.0049525394 0.002013263 0.004450841 + 507800 0.0050732749 0.0018199718 0.0043169743 + 507900 0.0033193558 0.0022862555 0.0039200009 + 508000 0.0049633151 0.0025749666 0.0050178482 + 508100 0.0035263498 0.0024158857 0.004151511 + 508200 0.0073414981 0.0020443429 0.0056577365 + 508300 0.0058321092 0.002683676 0.0055541673 + 508400 0.0058662703 0.0029674757 0.0058547806 + 508500 0.0042458961 0.0029347162 0.0050244932 + 508600 0.0056524687 0.0028869162 0.0056689906 + 508700 0.0054465357 0.0024124568 0.0050931736 + 508800 0.0046226438 0.0023144925 0.0045897 + 508900 0.0054298301 0.0026294877 0.0053019822 + 509000 0.0056857511 0.0028002115 0.0055986671 + 509100 0.0052352396 0.0026796271 0.0052563466 + 509200 0.0049448153 0.0028189534 0.0052527297 + 509300 0.0054189715 0.0030860361 0.0057531861 + 509400 0.0050998203 0.0035204776 0.0060305454 + 509500 0.0055692745 0.003207115 0.0059482423 + 509600 0.0040923869 0.0029289109 0.0049431326 + 509700 0.0050830436 0.0026571605 0.005158971 + 509800 0.0057367925 0.0026431534 0.005466731 + 509900 0.0047786728 0.0019842825 0.0043362856 + 510000 0.005041201 0.002272965 0.0047541812 + 510100 0.0050000867 0.0023745949 0.0048355751 + 510200 0.0051136554 0.0026978518 0.005214729 + 510300 0.0043890071 0.0030027027 0.0051629171 + 510400 0.0040282983 0.0029733033 0.0049559814 + 510500 0.0048358693 0.0031562324 0.0055363868 + 510600 0.0068379489 0.0032743482 0.0066399011 + 510700 0.004644749 0.0033558817 0.005641969 + 510800 0.0050862976 0.0034435438 0.005946956 + 510900 0.0045612673 0.0033150483 0.005560047 + 511000 0.0061312635 0.0028742535 0.0058919848 + 511100 0.0049613814 0.0025331935 0.0049751234 + 511200 0.0051122184 0.0024103631 0.0049265331 + 511300 0.004643579 0.0026058351 0.0048913466 + 511400 0.0053635895 0.0025748181 0.0052147098 + 511500 0.0044855148 0.0017762771 0.0039839914 + 511600 0.004891381 0.001599674 0.0040071506 + 511700 0.0049450592 0.00214128 0.0045751763 + 511800 0.005050872 0.0025174666 0.0050034427 + 511900 0.0046638932 0.002103458 0.004398968 + 512000 0.0043812316 0.0017788708 0.0039352582 + 512100 0.0048726072 0.0019213591 0.0043195955 + 512200 0.003739028 0.0025925316 0.0044328344 + 512300 0.0043435413 0.003154165 0.0052920017 + 512400 0.0040744773 0.0030853768 0.0050907836 + 512500 0.0049386467 0.00283652 0.0052672602 + 512600 0.0041706624 0.0024487124 0.0045014603 + 512700 0.0044824731 0.0020163616 0.0042225789 + 512800 0.0050295746 0.002003509 0.0044790027 + 512900 0.0042682567 0.0020885269 0.0041893095 + 513000 0.0040478534 0.0023995112 0.0043918141 + 513100 0.0052265809 0.0023586101 0.0049310679 + 513200 0.004949219 0.0020706313 0.004506575 + 513300 0.0046867551 0.0019348467 0.004241609 + 513400 0.0068490869 0.0017505745 0.0051216095 + 513500 0.0045799906 0.0021654951 0.0044197092 + 513600 0.0043129063 0.0026427366 0.0047654951 + 513700 0.0048967514 0.0021447029 0.0045548227 + 513800 0.0053472148 0.0026033851 0.0052352174 + 513900 0.006185189 0.0026074037 0.0056516764 + 514000 0.0068405001 0.0025719548 0.0059387634 + 514100 0.0064154445 0.0030267894 0.006184391 + 514200 0.0050172876 0.0034218581 0.0058913044 + 514300 0.004870182 0.0031817942 0.005578837 + 514400 0.0043362604 0.0027490446 0.0048832978 + 514500 0.0063249142 0.0024542652 0.0055673089 + 514600 0.0050015532 0.0027032718 0.0051649737 + 514700 0.0040293141 0.0025875443 0.0045707223 + 514800 0.0060249411 0.002139394 0.0051047946 + 514900 0.0071507686 0.0020340325 0.0055535514 + 515000 0.005716801 0.0024749012 0.0052886392 + 515100 0.0053174847 0.002551522 0.0051687215 + 515200 0.0051947708 0.0025564872 0.0051132885 + 515300 0.0047222194 0.0027508199 0.0050750372 + 515400 0.004210625 0.0025338003 0.0046062173 + 515500 0.0049869495 0.0019894325 0.0044439467 + 515600 0.004414836 0.002081796 0.0042547231 + 515700 0.0031984708 0.0021068181 0.0036810654 + 515800 0.0058958546 0.0021341952 0.0050360612 + 515900 0.0046004784 0.0017890336 0.0040533315 + 516000 0.0054333029 0.0020708156 0.0047450194 + 516100 0.0064946741 0.0022743588 0.0054709562 + 516200 0.0072920914 0.0020125602 0.0056016364 + 516300 0.006235203 0.002287745 0.005356634 + 516400 0.0047797244 0.0025736188 0.0049261394 + 516500 0.0063291833 0.00201034 0.0051254849 + 516600 0.0040104878 0.0020361769 0.0040100888 + 516700 0.0047916334 0.0020394246 0.0043978067 + 516800 0.004841152 0.002433234 0.0048159885 + 516900 0.0050924433 0.0027563148 0.0052627518 + 517000 0.0071828562 0.0028593399 0.0063946519 + 517100 0.0045204468 0.0030878862 0.0053127936 + 517200 0.0054865975 0.0027067367 0.0054071714 + 517300 0.0054176711 0.0021070531 0.0047735631 + 517400 0.0055818569 0.0017623465 0.0045096667 + 517500 0.0037427804 0.0018628454 0.0037049951 + 517600 0.0036249014 0.0019709456 0.0037550767 + 517700 0.0060298418 0.0020203165 0.0049881292 + 517800 0.0059585235 0.0024413626 0.0053740733 + 517900 0.00396165 0.0028285136 0.0047783882 + 518000 0.0049828048 0.002699403 0.0051518773 + 518100 0.0053711258 0.0026273924 0.0052709933 + 518200 0.0036397097 0.0025929924 0.004384412 + 518300 0.0039003547 0.0021709854 0.0040906912 + 518400 0.0054322306 0.0021706724 0.0048443484 + 518500 0.0034689422 0.0024582597 0.0041656296 + 518600 0.005893132 0.0023383408 0.0052388667 + 518700 0.0064739571 0.0023440884 0.0055304892 + 518800 0.0042404988 0.0026734737 0.0047605942 + 518900 0.0047150271 0.0023773425 0.0046980198 + 519000 0.0060309722 0.0024030049 0.005371374 + 519100 0.0051691631 0.0029440895 0.0054882869 + 519200 0.004550084 0.0029171888 0.0051566833 + 519300 0.0049287 0.0029163714 0.005342216 + 519400 0.0062757152 0.0027632127 0.0058520413 + 519500 0.0060581317 0.0023306795 0.0053124162 + 519600 0.0063656786 0.0026070135 0.0057401209 + 519700 0.0053117162 0.0027328971 0.0053472575 + 519800 0.0041265727 0.0028241892 0.0048552367 + 519900 0.0051900079 0.0023597445 0.0049142016 + 520000 0.0042985219 0.0021867615 0.0043024402 + 520100 0.0037317412 0.0023121052 0.0041488216 + 520200 0.0059593083 0.0023096823 0.0052427793 + 520300 0.0042025723 0.0024533441 0.0045217976 + 520400 0.005100883 0.0026934706 0.0052040614 + 520500 0.0040036714 0.0025176755 0.0044882325 + 520600 0.0055959958 0.002228791 0.0049830701 + 520700 0.0057800402 0.0022347786 0.0050796422 + 520800 0.0054229505 0.002255991 0.0049250994 + 520900 0.0027519827 0.0022621147 0.0036166063 + 521000 0.0060870806 0.0020585009 0.0050544859 + 521100 0.005275884 0.0023966648 0.0049933889 + 521200 0.004985165 0.0025323242 0.0049859601 + 521300 0.004745882 0.0025241414 0.0048600052 + 521400 0.0045168123 0.0027450743 0.0049681929 + 521500 0.0042613992 0.0028501055 0.0049475129 + 521600 0.0055874366 0.0027695238 0.0055195903 + 521700 0.0052514085 0.0025308467 0.0051155243 + 521800 0.0046462281 0.0027485948 0.0050354103 + 521900 0.0048423967 0.0027896047 0.0051729718 + 522000 0.003536898 0.00267229 0.004413107 + 522100 0.0046498775 0.0027422123 0.0050308238 + 522200 0.0057315982 0.0023953096 0.0052163306 + 522300 0.0051550961 0.002252974 0.0047902478 + 522400 0.0044560395 0.0019238053 0.0041170122 + 522500 0.0045801147 0.0018687635 0.0041230387 + 522600 0.0049379633 0.0020362121 0.0044666159 + 522700 0.003856883 0.002052654 0.0039509636 + 522800 0.0037052481 0.0024136507 0.0042373275 + 522900 0.0051549095 0.0023970329 0.0049342149 + 523000 0.0052094064 0.0022348659 0.0047988706 + 523100 0.0043440027 0.0026742949 0.0048123588 + 523200 0.0038819789 0.0027364646 0.0046471261 + 523300 0.0057097347 0.0030182347 0.0058284948 + 523400 0.004688672 0.0025753349 0.0048830407 + 523500 0.0050153379 0.0026421463 0.0051106329 + 523600 0.0041524383 0.0024307968 0.004474575 + 523700 0.0046921968 0.0027618331 0.0050712737 + 523800 0.0046100743 0.0026263306 0.0048953516 + 523900 0.0045292519 0.0024740574 0.0047032986 + 524000 0.0041283864 0.0028498556 0.0048817958 + 524100 0.0047512661 0.0023345719 0.0046730857 + 524200 0.0049604014 0.0028544728 0.0052959204 + 524300 0.0063588495 0.0030249036 0.0061546499 + 524400 0.0046049754 0.0031111465 0.0053776578 + 524500 0.0060426204 0.0021432673 0.0051173695 + 524600 0.0056650281 0.0020390119 0.0048272679 + 524700 0.0040365113 0.0025689606 0.004555681 + 524800 0.0068117415 0.0024188171 0.0057714711 + 524900 0.0043559445 0.0028725975 0.0050165389 + 525000 0.0051872044 0.00290703 0.0054601072 + 525100 0.0049799767 0.0026134293 0.0050645116 + 525200 0.0054391948 0.002518869 0.0051959727 + 525300 0.0045346431 0.0026939195 0.0049258142 + 525400 0.005455778 0.0027602664 0.0054455321 + 525500 0.004122265 0.0029035383 0.0049324656 + 525600 0.0056896109 0.0027885095 0.0055888649 + 525700 0.0055790052 0.0027608076 0.0055067242 + 525800 0.0049360084 0.0029108956 0.0053403372 + 525900 0.0054958142 0.0030354489 0.0057404199 + 526000 0.0060394677 0.0031595708 0.0061321213 + 526100 0.004654161 0.0028878349 0.0051785548 + 526200 0.0058024282 0.0028097507 0.0056656333 + 526300 0.004516592 0.0031987078 0.005421718 + 526400 0.0044744176 0.0031275745 0.0053298269 + 526500 0.0054707919 0.0030423327 0.0057349881 + 526600 0.0063397313 0.0029351996 0.0060555361 + 526700 0.0059458132 0.0032939947 0.0062204496 + 526800 0.0047610621 0.0029341459 0.0052774811 + 526900 0.0055426769 0.0025309015 0.0052589378 + 527000 0.0053573544 0.0021829688 0.0048197917 + 527100 0.0044065381 0.0025882043 0.0047570473 + 527200 0.0055483348 0.002616825 0.005347646 + 527300 0.0046625535 0.0022615187 0.0045563692 + 527400 0.0047462761 0.00212585 0.0044619077 + 527500 0.0037035005 0.0023241302 0.0041469469 + 527600 0.0047546615 0.002447901 0.004788086 + 527700 0.004243244 0.0024711283 0.0045596 + 527800 0.0042965109 0.0024952566 0.0046099456 + 527900 0.0035148546 0.0024969292 0.0042268967 + 528000 0.0046256433 0.0022032522 0.004479936 + 528100 0.0050241526 0.0023209632 0.0047937883 + 528200 0.0048042939 0.0023785122 0.0047431256 + 528300 0.0040111762 0.002595663 0.0045699138 + 528400 0.0052075117 0.0031980005 0.0057610727 + 528500 0.0066509911 0.0025388476 0.0058123822 + 528600 0.0057833453 0.0022449191 0.0050914093 + 528700 0.003141411 0.0027509498 0.0042971131 + 528800 0.0061147651 0.0027307251 0.0057403361 + 528900 0.0065917276 0.0023929775 0.0056373435 + 529000 0.0053274933 0.0026524197 0.0052745454 + 529100 0.0041656699 0.0026033952 0.0046536859 + 529200 0.0053048627 0.0027496564 0.0053606436 + 529300 0.0055711813 0.0030432251 0.0057852909 + 529400 0.0043375671 0.0036563439 0.0057912402 + 529500 0.0060002497 0.0033904348 0.0063436827 + 529600 0.0058643335 0.0023417613 0.005228113 + 529700 0.0052890527 0.0023981647 0.0050013703 + 529800 0.0040448076 0.0027147159 0.0047055196 + 529900 0.0042836603 0.0029683936 0.0050767577 + 530000 0.0033922109 0.003247984 0.0049175877 + 530100 0.0059472981 0.0027891952 0.005716381 + 530200 0.0078334691 0.0021011321 0.0059566676 + 530300 0.0055286158 0.0025370682 0.0052581838 + 530400 0.0058386281 0.0029956944 0.0058693941 + 530500 0.0060386349 0.0024922302 0.0054643708 + 530600 0.0055085944 0.0024131506 0.0051244119 + 530700 0.0050014195 0.0023386907 0.0048003268 + 530800 0.0043201889 0.0025794687 0.0047058117 + 530900 0.0057985851 0.0020376901 0.0048916812 + 531000 0.0040985896 0.0022086635 0.0042259381 + 531100 0.0062306482 0.0023063582 0.0053730054 + 531200 0.0044700291 0.0024370267 0.0046371192 + 531300 0.0051948906 0.0026721308 0.005228991 + 531400 0.004501166 0.0028191735 0.0050345911 + 531500 0.0053827469 0.0027645049 0.0054138257 + 531600 0.0046607623 0.0027416939 0.0050356628 + 531700 0.005520903 0.0029627744 0.0056800938 + 531800 0.0052995655 0.0029220142 0.0055303941 + 531900 0.004510458 0.0025194258 0.0047394168 + 532000 0.0047300362 0.0023408247 0.0046688894 + 532100 0.0050708958 0.002074624 0.0045704555 + 532200 0.0052805895 0.0019700955 0.0045691356 + 532300 0.0058233801 0.0019633779 0.0048295729 + 532400 0.0050464796 0.0019910645 0.0044748787 + 532500 0.0044506969 0.0024439173 0.0046344947 + 532600 0.0044145294 0.0027554372 0.0049282134 + 532700 0.0048702003 0.0025345837 0.0049316354 + 532800 0.0051986672 0.0023857729 0.004944492 + 532900 0.0046280833 0.0024816738 0.0047595586 + 533000 0.0061137099 0.0026632936 0.0056723852 + 533100 0.004894461 0.0030723643 0.0054813568 + 533200 0.0039281918 0.003372246 0.0053056528 + 533300 0.0044198305 0.0028831997 0.005058585 + 533400 0.0053107476 0.0029285286 0.0055424122 + 533500 0.0050078697 0.0025140144 0.0049788253 + 533600 0.004083409 0.0026412702 0.0046510731 + 533700 0.0053277006 0.0024986979 0.0051209256 + 533800 0.0060922184 0.0022164931 0.0052150068 + 533900 0.007221307 0.0022046518 0.0057588888 + 534000 0.0039455038 0.0024189944 0.0043609221 + 534100 0.0066650194 0.0027079106 0.0059883499 + 534200 0.0035169333 0.0024979908 0.0042289814 + 534300 0.0067727086 0.0020445816 0.0053780242 + 534400 0.0065992273 0.002220251 0.0054683083 + 534500 0.006034545 0.0026200407 0.0055901683 + 534600 0.0064488072 0.0029693524 0.0061433747 + 534700 0.004566734 0.003209905 0.0054575944 + 534800 0.0054862462 0.0024278335 0.0051280953 + 534900 0.0058746665 0.0024344037 0.0053258411 + 535000 0.0037101989 0.0023400032 0.0041661167 + 535100 0.0044899545 0.0022638721 0.0044737716 + 535200 0.0039293653 0.002451231 0.0043852155 + 535300 0.0059707031 0.0024403036 0.005379009 + 535400 0.0047715741 0.002337623 0.0046861321 + 535500 0.0056968076 0.0022999702 0.0051038677 + 535600 0.0055005585 0.0023917824 0.0050990885 + 535700 0.0066172578 0.0026262541 0.0058831857 + 535800 0.0063303568 0.0025380457 0.0056537682 + 535900 0.0043119755 0.0029904056 0.0051127061 + 536000 0.0050710354 0.0027175001 0.0052134003 + 536100 0.0052851009 0.0028556706 0.0054569312 + 536200 0.0055832093 0.0029379122 0.0056858981 + 536300 0.0071330465 0.0025030799 0.0060138762 + 536400 0.004772884 0.0027211814 0.0050703352 + 536500 0.0048670503 0.002674492 0.0050699933 + 536600 0.0042550111 0.002722026 0.0048162893 + 536700 0.0048017951 0.0032566543 0.0056200378 + 536800 0.0040137621 0.0034062068 0.0053817303 + 536900 0.0042090666 0.0030672294 0.0051388793 + 537000 0.0044330889 0.003072091 0.0052540019 + 537100 0.00538778 0.0029187715 0.0055705695 + 537200 0.0047807258 0.0032657387 0.0056187522 + 537300 0.0041752225 0.0035328063 0.0055877986 + 537400 0.0052036074 0.0030021833 0.0055633338 + 537500 0.0049433218 0.0026416536 0.0050746948 + 537600 0.0054757489 0.002219872 0.0049149671 + 537700 0.0040433649 0.0025016353 0.004491729 + 537800 0.0048463824 0.0023915509 0.0047768797 + 537900 0.0046674569 0.002450941 0.0047482049 + 538000 0.0052768044 0.0025597995 0.0051569766 + 538100 0.0051883515 0.0027714816 0.0053251234 + 538200 0.0057884998 0.0029899107 0.005838938 + 538300 0.0038155783 0.0028823677 0.0047603476 + 538400 0.0047409631 0.0026088135 0.0049422562 + 538500 0.0049743953 0.0027221434 0.0051704785 + 538600 0.0063827514 0.0021895159 0.0053310264 + 538700 0.0053987678 0.0017149738 0.0043721799 + 538800 0.0057761895 0.0018093993 0.0046523676 + 538900 0.0057790995 0.002409977 0.0052543776 + 539000 0.0054269065 0.0025692191 0.0052402746 + 539100 0.0055890008 0.0023069777 0.005057814 + 539200 0.0045296809 0.0025965173 0.0048259696 + 539300 0.0044041812 0.0027180412 0.0048857241 + 539400 0.0049388619 0.0023036925 0.0047345386 + 539500 0.0051781334 0.0022767507 0.0048253632 + 539600 0.0057047061 0.0029869117 0.0057946967 + 539700 0.0064197672 0.003283493 0.0064432222 + 539800 0.0056997079 0.0027382902 0.0055436152 + 539900 0.0061395624 0.002839082 0.0058608979 + 540000 0.004172512 0.0025290867 0.0045827449 + 540100 0.0050723646 0.0021387814 0.0046353359 + 540200 0.0040912306 0.0021274714 0.0041411239 + 540300 0.0053061865 0.0024025154 0.0050141541 + 540400 0.0040209217 0.002021617 0.0040006644 + 540500 0.0046911125 0.0015378008 0.0038467077 + 540600 0.0041986618 0.0015484675 0.0036149964 + 540700 0.003411373 0.0016797444 0.0033587796 + 540800 0.0034012576 0.0016935162 0.0033675726 + 540900 0.004688738 0.0019110343 0.0042187726 + 541000 0.0049923228 0.0021718839 0.0046290427 + 541100 0.0042131651 0.0024130893 0.0044867565 + 541200 0.0047726702 0.0028563414 0.00520539 + 541300 0.0049062067 0.0027095842 0.0051243577 + 541400 0.0047217764 0.0021403486 0.0044643479 + 541500 0.0069010297 0.0019429512 0.0053395518 + 541600 0.0050149784 0.0020924082 0.0045607179 + 541700 0.0061029766 0.0020082089 0.0050120177 + 541800 0.0061300378 0.0019066496 0.0049237776 + 541900 0.0054711471 0.0022653977 0.004958228 + 542000 0.0058465561 0.002100056 0.0049776578 + 542100 0.0053043107 0.0018001363 0.0044108517 + 542200 0.003615857 0.0017627849 0.0035424645 + 542300 0.0058390332 0.0016099044 0.0044838036 + 542400 0.0057773253 0.0017543757 0.004597903 + 542500 0.0048001508 0.0021754716 0.0045380458 + 542600 0.00622376 0.0021277654 0.0051910223 + 542700 0.0048845112 0.0022798731 0.0046839684 + 542800 0.0042866342 0.0026352364 0.0047450641 + 542900 0.0050707238 0.0025076471 0.0050033939 + 543000 0.0049373475 0.002181007 0.0046111078 + 543100 0.0037651517 0.0020574173 0.0039105779 + 543200 0.0043639276 0.0018112041 0.0039590747 + 543300 0.0059307662 0.0020397335 0.0049587825 + 543400 0.0054082148 0.0018406213 0.0045024771 + 543500 0.0064193344 0.0016899228 0.004849439 + 543600 0.005464159 0.0021284948 0.0048178855 + 543700 0.0044880458 0.002127948 0.004336908 + 543800 0.0052375653 0.0019926537 0.0045705179 + 543900 0.0060609177 0.0018268841 0.004809992 + 544000 0.0043874667 0.0021649635 0.0043244197 + 544100 0.0058677296 0.0022976386 0.0051856618 + 544200 0.005173481 0.0025356408 0.0050819635 + 544300 0.0065921299 0.0022820027 0.0055265666 + 544400 0.0046015111 0.0024797539 0.0047445601 + 544500 0.0069998789 0.0022473474 0.0056926004 + 544600 0.0048117212 0.0023939896 0.0047622586 + 544700 0.0053624797 0.0028634881 0.0055028336 + 544800 0.0047493213 0.0027948668 0.0051324234 + 544900 0.005503115 0.0028614048 0.0055699692 + 545000 0.0062593149 0.0029283287 0.0060090852 + 545100 0.0052691559 0.0030610758 0.0056544885 + 545200 0.0052818095 0.0029470335 0.0055466742 + 545300 0.0054292253 0.0025523012 0.005224498 + 545400 0.0056089753 0.0031139026 0.0058745702 + 545500 0.0048922849 0.0031339213 0.0055418428 + 545600 0.0066063142 0.0025305074 0.0057820526 + 545700 0.0047983489 0.0028043836 0.005166071 + 545800 0.0045148056 0.0025670638 0.0047891947 + 545900 0.0051301082 0.0023168105 0.0048417856 + 546000 0.0033826868 0.0019928599 0.0036577761 + 546100 0.0055179832 0.0021675362 0.0048834185 + 546200 0.0039621428 0.0024720319 0.004422149 + 546300 0.0066871966 0.0025877631 0.0058791176 + 546400 0.0036820236 0.0028748663 0.0046871123 + 546500 0.0039748762 0.0027047795 0.0046611639 + 546600 0.0052286406 0.0017738416 0.0043473131 + 546700 0.0055468372 0.0016238683 0.0043539522 + 546800 0.0045846791 0.0018591555 0.0041156772 + 546900 0.005579441 0.0015447616 0.0042908927 + 547000 0.0048787937 0.0021173359 0.0045186171 + 547100 0.0055832958 0.0026730733 0.0054211018 + 547200 0.0055723038 0.0029414848 0.0056841031 + 547300 0.0054435397 0.0026521003 0.0053313425 + 547400 0.0047153795 0.0028046766 0.0051255275 + 547500 0.006727448 0.0027378389 0.0060490047 + 547600 0.0046498262 0.0032162033 0.0055047896 + 547700 0.005928306 0.003290781 0.006208619 + 547800 0.0058130525 0.0033377135 0.0061988252 + 547900 0.004630868 0.0034838926 0.0057631479 + 548000 0.0051929985 0.0030846194 0.0056405483 + 548100 0.0059425482 0.0028032946 0.0057281425 + 548200 0.0056950043 0.0025618723 0.0053648823 + 548300 0.0050819178 0.0027179067 0.0052191631 + 548400 0.0047559311 0.0028127524 0.0051535622 + 548500 0.0050707414 0.0024394769 0.0049352324 + 548600 0.005441544 0.0029110203 0.0055892803 + 548700 0.0064282495 0.0029424413 0.0061063454 + 548800 0.0057536775 0.0027876145 0.0056195027 + 548900 0.004860627 0.0025658396 0.0049581795 + 549000 0.0045162108 0.0025049634 0.0047277859 + 549100 0.0054686988 0.0019885545 0.0046801797 + 549200 0.0062891155 0.0019840373 0.0050794613 + 549300 0.0073412289 0.0025135672 0.0061268283 + 549400 0.0052720081 0.0026304188 0.0052252353 + 549500 0.0058635323 0.0029910037 0.005876961 + 549600 0.0059043809 0.0036784752 0.0065845376 + 549700 0.006459184 0.0035407328 0.0067198624 + 549800 0.0051367376 0.0034048172 0.0059330552 + 549900 0.0056379672 0.0033532747 0.0061282116 + 550000 0.0052612352 0.0032148215 0.0058043357 + 550100 0.0040051755 0.002680677 0.0046519743 + 550200 0.0059483073 0.0023970957 0.0053247781 + 550300 0.00597669 0.0023659472 0.0053075993 + 550400 0.0052975781 0.0027085021 0.0053159039 + 550500 0.0048433916 0.0032069103 0.005590767 + 550600 0.0053652578 0.003274207 0.0059149198 + 550700 0.0084076824 0.0025334433 0.0066715995 + 550800 0.0029899822 0.0031491088 0.0046207407 + 550900 0.0042336515 0.003428497 0.0055122473 + 551000 0.005283475 0.0023712412 0.0049717016 + 551100 0.0048256567 0.0024837107 0.0048588386 + 551200 0.0048956097 0.0028061251 0.005215683 + 551300 0.0047922484 0.0026473504 0.0050060351 + 551400 0.0046763047 0.0024002048 0.0047018235 + 551500 0.0062325277 0.0020949948 0.005162567 + 551600 0.0047561274 0.0022455182 0.0045864246 + 551700 0.0041611195 0.0024611929 0.0045092439 + 551800 0.0065399293 0.0024614426 0.0056803141 + 551900 0.0057265115 0.0024700601 0.0052885775 + 552000 0.0051647802 0.0027316998 0.00527374 + 552100 0.0050789702 0.0030063072 0.0055061129 + 552200 0.0068276046 0.0031822037 0.0065426653 + 552300 0.0063933887 0.0027447964 0.0058915425 + 552400 0.0055592339 0.0023861342 0.0051223196 + 552500 0.005090299 0.002758018 0.0052633995 + 552600 0.0059660517 0.0028512502 0.0057876663 + 552700 0.0052661483 0.0023097979 0.0049017302 + 552800 0.0044378578 0.0019871691 0.0041714273 + 552900 0.004649709 0.0020072662 0.0042957949 + 553000 0.0051457166 0.0020893712 0.0046220286 + 553100 0.0047206971 0.0017615888 0.0040850569 + 553200 0.0059163797 0.0021291319 0.0050411 + 553300 0.0050380343 0.0028327505 0.005312408 + 553400 0.0060248519 0.0026817943 0.0056471511 + 553500 0.0047846306 0.0031680587 0.0055229941 + 553600 0.0048967395 0.0029539105 0.0053640245 + 553700 0.0062971028 0.0025574573 0.0056568126 + 553800 0.0062484031 0.0021123389 0.0051877248 + 553900 0.0034938271 0.0024234802 0.0041430982 + 554000 0.0045769748 0.0023025755 0.0045553053 + 554100 0.0050228385 0.0023614604 0.0048336387 + 554200 0.0045076951 0.0020769879 0.0042956191 + 554300 0.0037150055 0.0021486843 0.0039771635 + 554400 0.0057350658 0.002386078 0.0052088057 + 554500 0.0053590982 0.0025230376 0.0051607188 + 554600 0.004083642 0.0024906535 0.004500571 + 554700 0.004693368 0.0025086365 0.0048186536 + 554800 0.0046554728 0.0022737814 0.0045651469 + 554900 0.004722376 0.0019142053 0.0042384997 + 555000 0.0053130525 0.0018575384 0.0044725565 + 555100 0.0048709162 0.0022035226 0.0046009266 + 555200 0.0042605442 0.0026894089 0.0047863955 + 555300 0.0068981912 0.0022869527 0.0056821562 + 555400 0.0055653569 0.0025896651 0.0053288642 + 555500 0.0040889652 0.0024945708 0.0045071083 + 555600 0.0040737434 0.0020455779 0.0040506234 + 555700 0.0059735623 0.0022911545 0.0052312672 + 555800 0.0055521474 0.0027009029 0.0054336004 + 555900 0.0050250044 0.0024774947 0.004950739 + 556000 0.0042940219 0.0025630387 0.0046765026 + 556100 0.0037697961 0.0026185893 0.0044740358 + 556200 0.0052176628 0.0023434465 0.0049115149 + 556300 0.0053208859 0.0026663608 0.0052852344 + 556400 0.0038339366 0.0031066874 0.004993703 + 556500 0.0043924171 0.0033383817 0.0055002744 + 556600 0.0044071808 0.0036390777 0.005808237 + 556700 0.0058542847 0.0037976422 0.0066790479 + 556800 0.0043549591 0.0040839509 0.0062274073 + 556900 0.005586446 0.003422323 0.0061719019 + 557000 0.0058566016 0.0028719535 0.0057544996 + 557100 0.0053106269 0.0033076055 0.0059214297 + 557200 0.0043762197 0.0038077489 0.0059616695 + 557300 0.0052815447 0.0034013805 0.0060008908 + 557400 0.004228765 0.0032749134 0.0053562587 + 557500 0.0056720337 0.0033549242 0.0061466283 + 557600 0.0045194069 0.0035420806 0.0057664762 + 557700 0.004953766 0.0034669515 0.0059051332 + 557800 0.004431467 0.0034417716 0.0056228843 + 557900 0.0048308134 0.0035286255 0.0059062915 + 558000 0.0070531405 0.0034222098 0.0068936774 + 558100 0.0044092498 0.0035720869 0.0057422645 + 558200 0.0047334733 0.0033264889 0.0056562452 + 558300 0.0055752555 0.0029665022 0.0057105733 + 558400 0.0049289663 0.0028889195 0.0053148951 + 558500 0.004884959 0.0022276252 0.0046319409 + 558600 0.0046354663 0.0018273654 0.004108884 + 558700 0.0051234558 0.0022405643 0.0047622651 + 558800 0.0041887023 0.0024815709 0.0045431978 + 558900 0.0047561294 0.0027288284 0.0050697359 + 559000 0.0048719954 0.0034809715 0.0058789068 + 559100 0.0045663621 0.0028063872 0.0050538936 + 559200 0.0061018591 0.0025458413 0.0055491001 + 559300 0.0053012407 0.0025883249 0.0051975293 + 559400 0.0050162409 0.0023479295 0.0048168606 + 559500 0.0040913221 0.0022932205 0.0043069181 + 559600 0.005708868 0.0025664433 0.0053762768 + 559700 0.0045052077 0.0029491909 0.0051665978 + 559800 0.0053949 0.0028927039 0.0055480062 + 559900 0.0062425963 0.0028790588 0.0059515867 + 560000 0.0051856628 0.0031518026 0.005704121 + 560100 0.0046913864 0.0027430314 0.0050520731 + 560200 0.0058561766 0.0026132512 0.0054955881 + 560300 0.0044082541 0.002365114 0.0045348016 + 560400 0.0043159957 0.0027140097 0.0048382888 + 560500 0.0077319333 0.0019981387 0.0058036996 + 560600 0.0052557284 0.0019517182 0.004538522 + 560700 0.0042703502 0.0022451392 0.0043469522 + 560800 0.0041711497 0.0023081762 0.0043611639 + 560900 0.0048811154 0.0023038774 0.0047063014 + 561000 0.0057777293 0.0022256569 0.0050693831 + 561100 0.0055919155 0.0022213306 0.0049736015 + 561200 0.0055924893 0.0023658244 0.0051183777 + 561300 0.0041591514 0.0023014833 0.0043485656 + 561400 0.0052207303 0.0029730917 0.0055426699 + 561500 0.0054940766 0.0030928567 0.0057969726 + 561600 0.0052294643 0.0030017266 0.0055756035 + 561700 0.0051610515 0.0029462163 0.0054864213 + 561800 0.0045310351 0.0025334727 0.0047635916 + 561900 0.0044665658 0.0023110773 0.0045094652 + 562000 0.0040748372 0.002381026 0.0043866099 + 562100 0.0046117045 0.0023243365 0.0045941598 + 562200 0.0028664498 0.002627475 0.0040383058 + 562300 0.0057449343 0.0023399186 0.0051675034 + 562400 0.0057266663 0.0028734544 0.0056920479 + 562500 0.0047961631 0.0030178865 0.005378498 + 562600 0.0067242823 0.0026772317 0.0059868394 + 562700 0.0048112086 0.0024921787 0.0048601954 + 562800 0.0049786018 0.0023455174 0.0047959229 + 562900 0.0048883846 0.0025210562 0.004927058 + 563000 0.0051853622 0.002729622 0.0052817925 + 563100 0.0052668222 0.002843902 0.0054361661 + 563200 0.0053684028 0.0026374431 0.0052797039 + 563300 0.0063464526 0.0023001928 0.0054238374 + 563400 0.0046208026 0.002285711 0.0045600123 + 563500 0.0051130921 0.002079381 0.004595981 + 563600 0.0051941744 0.0017234271 0.0042799348 + 563700 0.0047212008 0.0020281315 0.0043518475 + 563800 0.0053754472 0.0025317577 0.0051774856 + 563900 0.0051105258 0.0028131926 0.0053285295 + 564000 0.0071214187 0.0020217117 0.0055267849 + 564100 0.0038528905 0.0019401062 0.0038364507 + 564200 0.0046134369 0.0027288067 0.0049994827 + 564300 0.0043396507 0.0028260808 0.0049620027 + 564400 0.0060394114 0.0025805866 0.0055531095 + 564500 0.0041160575 0.0025719321 0.0045978041 + 564600 0.0061083157 0.0023567258 0.0053631624 + 564700 0.0044389968 0.0021898751 0.0043746939 + 564800 0.0055857608 0.0017783342 0.0045275758 + 564900 0.0062324714 0.0019254818 0.0049930263 + 565000 0.0043071955 0.0020688561 0.0041888038 + 565100 0.0051464687 0.0019728707 0.0045058982 + 565200 0.0060922947 0.0023958362 0.0053943875 + 565300 0.0052468631 0.0028834002 0.0054658406 + 565400 0.0047675272 0.0032183002 0.0055648175 + 565500 0.0055543393 0.0029225231 0.0056562995 + 565600 0.0058230873 0.0032057072 0.0060717579 + 565700 0.0048095619 0.0032373109 0.0056045172 + 565800 0.0068980411 0.0024233164 0.005818446 + 565900 0.0053814146 0.0020229284 0.0046715934 + 566000 0.0040880497 0.0019968257 0.0040089126 + 566100 0.0053322881 0.0019209488 0.0045454344 + 566200 0.0036223619 0.0022040309 0.0039869122 + 566300 0.0044587059 0.0023012544 0.0044957737 + 566400 0.0034749126 0.0022710814 0.0039813899 + 566500 0.0052952902 0.0018619677 0.0044682433 + 566600 0.0058673687 0.0015829685 0.0044708141 + 566700 0.0054056046 0.0019137998 0.0045743708 + 566800 0.00523467 0.0022904636 0.0048669028 + 566900 0.0055326457 0.0026460591 0.0053691582 + 567000 0.0040140665 0.002427557 0.0044032303 + 567100 0.0058984605 0.0025448623 0.0054480108 + 567200 0.0040148235 0.0022714506 0.0042474965 + 567300 0.0052316574 0.0019406895 0.0045156459 + 567400 0.0034471854 0.0020375326 0.0037341942 + 567500 0.0034343973 0.0022624785 0.0039528459 + 567600 0.0044126839 0.002222508 0.0043943758 + 567700 0.0048408819 0.0019294352 0.0043120567 + 567800 0.0039272326 0.0019713002 0.003904235 + 567900 0.006121605 0.0019721982 0.0049851756 + 568000 0.0046860497 0.0015886092 0.0038950243 + 568100 0.004668631 0.0017862275 0.0040840693 + 568200 0.0056236091 0.0020805602 0.0048484303 + 568300 0.0049652151 0.0027774559 0.0052212727 + 568400 0.0054484153 0.0026913124 0.0053729543 + 568500 0.0045432462 0.0023774366 0.0046135656 + 568600 0.0057302038 0.0021804141 0.0050007488 + 568700 0.0041172322 0.0025424702 0.0045689204 + 568800 0.0034061499 0.0022805793 0.0039570437 + 568900 0.0044143554 0.0023788355 0.004551526 + 569000 0.0057477213 0.0023044837 0.0051334403 + 569100 0.0041719186 0.0024207024 0.0044740686 + 569200 0.0052386476 0.0021758782 0.004754275 + 569300 0.0057122909 0.0017940681 0.0046055862 + 569400 0.0054807143 0.0022604127 0.0049579517 + 569500 0.0056005201 0.0023315964 0.0050881024 + 569600 0.0052630777 0.0023778656 0.0049682867 + 569700 0.0048867185 0.0025284994 0.0049336812 + 569800 0.0043346832 0.0023244635 0.0044579404 + 569900 0.0035406354 0.0021046906 0.003847347 + 570000 0.0048102806 0.0017960988 0.0041636588 + 570100 0.0056252013 0.002115094 0.0048837477 + 570200 0.0056323529 0.002152781 0.0049249547 + 570300 0.0047800789 0.0021359817 0.0044886768 + 570400 0.0045896696 0.0018421515 0.0041011295 + 570500 0.0049672187 0.0016909525 0.0041357555 + 570600 0.0058184141 0.0018742998 0.0047380505 + 570700 0.0065092499 0.0023071467 0.0055109182 + 570800 0.0044939144 0.0021410171 0.0043528656 + 570900 0.0042323341 0.0018595665 0.0039426684 + 571000 0.0042964189 0.0018880743 0.004002718 + 571100 0.0053337162 0.0025447465 0.005169935 + 571200 0.0045293279 0.0026663425 0.0048956211 + 571300 0.0041461956 0.0028514873 0.004892193 + 571400 0.0052919898 0.003046215 0.0056508662 + 571500 0.0050697607 0.0029880663 0.0054833391 + 571600 0.0047491198 0.0025322004 0.0048696578 + 571700 0.007036695 0.0018950047 0.0053583781 + 571800 0.0037127642 0.0026406037 0.0044679798 + 571900 0.0050922528 0.0029719928 0.005478336 + 572000 0.0054836161 0.002755352 0.0054543193 + 572100 0.004927308 0.0026246089 0.0050497683 + 572200 0.0051669376 0.0026146423 0.0051577444 + 572300 0.0037879653 0.0031194786 0.0049838678 + 572400 0.0052081068 0.0029725435 0.0055359085 + 572500 0.0047483906 0.0028960781 0.0052331766 + 572600 0.0055617004 0.0026837898 0.0054211893 + 572700 0.0048672676 0.0023664883 0.0047620965 + 572800 0.0053337933 0.0023147184 0.0049399448 + 572900 0.0051061411 0.0024949148 0.0050080937 + 573000 0.0051039828 0.0023221056 0.0048342222 + 573100 0.0040596378 0.0019139735 0.0039120765 + 573200 0.0036095038 0.0023580012 0.0041345538 + 573300 0.0063561258 0.0027053822 0.0058337879 + 573400 0.0056557706 0.0030710761 0.0058547757 + 573500 0.0059650388 0.0024866911 0.0054226086 + 573600 0.0052122672 0.0022407624 0.0048061751 + 573700 0.0049540102 0.0024846172 0.0049229191 + 573800 0.0055963922 0.0019681328 0.004722607 + 573900 0.00504603 0.0019053087 0.0043889016 + 574000 0.0047882604 0.0023930987 0.0047498206 + 574100 0.0065630718 0.0023990055 0.0056292674 + 574200 0.0057668763 0.002262743 0.0051011274 + 574300 0.0075049448 0.0022129178 0.0059067578 + 574400 0.0049389956 0.0026119935 0.0050429054 + 574500 0.0044954443 0.0023577668 0.0045703683 + 574600 0.0049770248 0.0017981672 0.0042477965 + 574700 0.0047208017 0.0019949194 0.0043184389 + 574800 0.0049173942 0.002274167 0.004694447 + 574900 0.0055269915 0.0025614245 0.0052817406 + 575000 0.0047514744 0.0024793372 0.0048179535 + 575100 0.005066324 0.0022941684 0.0047877497 + 575200 0.0046467301 0.0022719963 0.0045590588 + 575300 0.0050212434 0.0025309176 0.0050023108 + 575400 0.00371883 0.0024546856 0.0042850472 + 575500 0.0046472002 0.002165322 0.0044526158 + 575600 0.0054423954 0.0020774921 0.0047561711 + 575700 0.0053243156 0.0018948057 0.0045153672 + 575800 0.005571133 0.0019362194 0.0046782614 + 575900 0.0041472772 0.0022593145 0.0043005525 + 576000 0.0039316178 0.0023162375 0.0042513306 + 576100 0.0050264524 0.0020628273 0.0045367843 + 576200 0.0039713287 0.0018711377 0.003825776 + 576300 0.0053012545 0.0018096085 0.0044188197 + 576400 0.0049147774 0.0024198997 0.0048388917 + 576500 0.00429681 0.0029810936 0.0050959298 + 576600 0.0063470935 0.0024125024 0.0055364625 + 576700 0.0045825945 0.0022207506 0.0044762463 + 576800 0.0049717313 0.0018216963 0.0042687203 + 576900 0.0067794998 0.0018001895 0.0051369745 + 577000 0.0044281774 0.0021451098 0.0043246034 + 577100 0.0052613364 0.0021973805 0.0047869445 + 577200 0.0042782876 0.0024903759 0.0045960956 + 577300 0.0054031438 0.002118658 0.0047780179 + 577400 0.0055903559 0.0017659191 0.0045174224 + 577500 0.0054753024 0.0015917143 0.0042865897 + 577600 0.0040299242 0.0019678584 0.0039513367 + 577700 0.0064697902 0.0018517993 0.0050361492 + 577800 0.0039544938 0.0020673864 0.0040137388 + 577900 0.0050654246 0.0021927783 0.004685917 + 578000 0.0047024711 0.0026254334 0.0049399309 + 578100 0.0052937225 0.0026928419 0.0052983459 + 578200 0.0053891087 0.0025707991 0.005223251 + 578300 0.0044006576 0.0027044734 0.0048704221 + 578400 0.007648846 0.0025363261 0.0063009925 + 578500 0.0051218658 0.0029307988 0.0054517171 + 578600 0.0052521771 0.0027898134 0.0053748694 + 578700 0.0062204544 0.0027058233 0.0057674532 + 578800 0.0045151563 0.0028044757 0.0050267792 + 578900 0.0050714475 0.0025437989 0.005039902 + 579000 0.0059796415 0.0022193309 0.0051624357 + 579100 0.0052507431 0.0022602309 0.004844581 + 579200 0.0069897945 0.0022644918 0.0057047813 + 579300 0.0056013419 0.0020917064 0.0048486169 + 579400 0.0051839911 0.0019895352 0.0045410308 + 579500 0.0043195979 0.0021754853 0.0043015374 + 579600 0.0058201341 0.00244846 0.0053130573 + 579700 0.0052484948 0.0022967025 0.0048799461 + 579800 0.0051259374 0.0023374885 0.0048604108 + 579900 0.0053401405 0.0023785446 0.005006895 + 580000 0.0047148455 0.0022496267 0.0045702147 + 580100 0.0039061436 0.0022101204 0.0041326755 + 580200 0.0041791474 0.0021550652 0.0042119893 + 580300 0.0054803644 0.0020470027 0.0047443695 + 580400 0.0062959307 0.0020796483 0.0051784267 + 580500 0.0044972867 0.0021203567 0.004333865 + 580600 0.0044846805 0.0022014054 0.0044087091 + 580700 0.0036229636 0.0018904147 0.0036735921 + 580800 0.0051397369 0.0018776943 0.0044074086 + 580900 0.0037191585 0.0022117553 0.0040422786 + 581000 0.0036800823 0.0022158315 0.004027122 + 581100 0.0061861078 0.0019365271 0.0049812521 + 581200 0.0068710378 0.0018671227 0.0052489616 + 581300 0.0049839784 0.0021483694 0.0046014212 + 581400 0.0064782496 0.00244155 0.0056300635 + 581500 0.0042874801 0.0026328181 0.0047430622 + 581600 0.005275553 0.0025549691 0.0051515303 + 581700 0.0046113567 0.0022514176 0.0045210697 + 581800 0.0064843181 0.0018657528 0.0050572531 + 581900 0.0034600945 0.0020216664 0.0037246816 + 582000 0.0048672131 0.0020693488 0.0044649303 + 582100 0.0055617492 0.0018261843 0.0045636077 + 582200 0.0054567675 0.0019666333 0.0046523861 + 582300 0.0046175665 0.0020912087 0.0043639172 + 582400 0.0058203802 0.0019985159 0.0048632343 + 582500 0.0038741525 0.002160278 0.0040670874 + 582600 0.0038312961 0.0022078573 0.0040935733 + 582700 0.0061504986 0.00229459 0.0053217885 + 582800 0.0042903342 0.0022361469 0.0043477957 + 582900 0.0051665011 0.0022092525 0.0047521398 + 583000 0.0062611995 0.0022527295 0.0053344136 + 583100 0.003943965 0.0025863269 0.0045274972 + 583200 0.0052836658 0.0017826092 0.0043831634 + 583300 0.0037413607 0.0018327198 0.0036741707 + 583400 0.0047660536 0.0020580946 0.0044038866 + 583500 0.005023292 0.0019083875 0.004380789 + 583600 0.0042296157 0.0019707394 0.0040525034 + 583700 0.0068829588 0.002251433 0.0056391393 + 583800 0.004790357 0.0027602343 0.0051179882 + 583900 0.0055430755 0.0024567127 0.0051849452 + 584000 0.0049064105 0.0023539679 0.0047688418 + 584100 0.0057904022 0.0024355611 0.0052855247 + 584200 0.0039627991 0.0023685215 0.0043189617 + 584300 0.0039670919 0.0024628353 0.0044153883 + 584400 0.0044560684 0.0021244603 0.0043176815 + 584500 0.0047580025 0.0021055119 0.0044473413 + 584600 0.0039909107 0.0025672857 0.004531562 + 584700 0.005494122 0.0024898033 0.0051939414 + 584800 0.0048010964 0.0022409179 0.0046039575 + 584900 0.004697053 0.0019586659 0.0042704967 + 585000 0.0036744971 0.0020502266 0.0038587681 + 585100 0.0043888762 0.0024199543 0.0045801043 + 585200 0.0055113683 0.0026780933 0.0053907199 + 585300 0.0052658163 0.0029041255 0.0054958945 + 585400 0.0057965981 0.0029864319 0.005839445 + 585500 0.0055687414 0.0028735227 0.0056143876 + 585600 0.0059057623 0.0022200333 0.0051267757 + 585700 0.0049908263 0.0021134884 0.0045699107 + 585800 0.0049584116 0.0025796999 0.0050201681 + 585900 0.0049630216 0.0026889603 0.0051316975 + 586000 0.0042902629 0.0031144241 0.0052260379 + 586100 0.0045407769 0.0030361977 0.0052711113 + 586200 0.0055861721 0.0026327688 0.0053822129 + 586300 0.0053549394 0.0025779401 0.0052135743 + 586400 0.0055825582 0.002508729 0.0052563943 + 586500 0.005385872 0.0025777079 0.0052285668 + 586600 0.0062731025 0.0029656339 0.0060531766 + 586700 0.0065060967 0.0033284206 0.00653064 + 586800 0.0051477044 0.0032797937 0.0058134294 + 586900 0.0051285029 0.0031464111 0.0056705962 + 587000 0.0050390633 0.0027282062 0.0052083702 + 587100 0.0053960089 0.0026759733 0.0053318214 + 587200 0.0047928743 0.0030480695 0.0054070624 + 587300 0.0072348846 0.002847786 0.0064087058 + 587400 0.0067143405 0.002809434 0.0061141485 + 587500 0.0033896996 0.002730412 0.0043987798 + 587600 0.0046313481 0.0025369559 0.0048164475 + 587700 0.0035504398 0.0027831397 0.0045306218 + 587800 0.0060914825 0.002450218 0.0054483695 + 587900 0.0044702977 0.0026826762 0.0048829009 + 588000 0.0053539542 0.0028441477 0.0054792971 + 588100 0.0048570144 0.0027585242 0.005149086 + 588200 0.0060906631 0.0029234407 0.0059211889 + 588300 0.0044786402 0.0032466398 0.0054509705 + 588400 0.0056623187 0.0027211011 0.0055080236 + 588500 0.0059386827 0.0025857625 0.0055087079 + 588600 0.0049186556 0.0024256673 0.0048465681 + 588700 0.0058475898 0.0021659919 0.0050441025 + 588800 0.0038412415 0.0022222871 0.0041128981 + 588900 0.0062474271 0.0019367782 0.0050116837 + 589000 0.0043397707 0.0020771987 0.0042131796 + 589100 0.0054408783 0.002443433 0.0051213653 + 589200 0.0059705709 0.0020685177 0.0050071581 + 589300 0.0036447655 0.00200943 0.003803338 + 589400 0.0040767637 0.0020240463 0.0040305785 + 589500 0.0061066253 0.0023596171 0.0053652217 + 589600 0.0043038416 0.0021106892 0.0042289862 + 589700 0.0040281263 0.001865429 0.0038480224 + 589800 0.0050022711 0.0016250203 0.0040870756 + 589900 0.0059696655 0.0015656779 0.0045038726 + 590000 0.0048412111 0.0018621855 0.0042449691 + 590100 0.004541917 0.0019554026 0.0041908774 + 590200 0.0045292314 0.0024321566 0.0046613877 + 590300 0.0045042493 0.0016620822 0.0038790174 + 590400 0.0046727908 0.0014528227 0.003752712 + 590500 0.0036574028 0.0016887921 0.0034889201 + 590600 0.0039095807 0.0022465013 0.0041707481 + 590700 0.0037135698 0.0023419013 0.0041696739 + 590800 0.0046582111 0.0025571155 0.0048498287 + 590900 0.0060714926 0.0024195091 0.0054078219 + 591000 0.0058695181 0.0024174285 0.005306332 + 591100 0.0067008525 0.002721689 0.0060197649 + 591200 0.0051033392 0.0028565289 0.0053683287 + 591300 0.0047343548 0.0027426459 0.0050728362 + 591400 0.0048242877 0.0022573702 0.0046318243 + 591500 0.0058176078 0.002284648 0.0051480018 + 591600 0.003996377 0.0023083381 0.0042753049 + 591700 0.0040328941 0.0027080069 0.004692947 + 591800 0.0058718858 0.0024603025 0.0053503712 + 591900 0.0056895402 0.0025990853 0.0053994059 + 592000 0.0038027225 0.0025206084 0.0043922609 + 592100 0.0048879531 0.0023860662 0.0047918556 + 592200 0.0050412917 0.0025910121 0.0050722728 + 592300 0.0051858346 0.0026585271 0.00521093 + 592400 0.0053515578 0.0025596623 0.0051936322 + 592500 0.0061562107 0.0024313702 0.0054613802 + 592600 0.0050147022 0.0022173185 0.0046854922 + 592700 0.0046365705 0.0024480802 0.0047301422 + 592800 0.0048624315 0.0024020534 0.0047952814 + 592900 0.0062281593 0.0024861758 0.0055515979 + 593000 0.0052913164 0.0021220622 0.004726382 + 593100 0.0046144435 0.0019018462 0.0041730176 + 593200 0.0041471355 0.0018336464 0.0038748146 + 593300 0.0064301688 0.0015470171 0.0047118658 + 593400 0.0063511282 0.0015625482 0.0046884941 + 593500 0.0050230515 0.0020374888 0.004509772 + 593600 0.0043166497 0.0027730001 0.0048976012 + 593700 0.0042177497 0.0029345919 0.0050105156 + 593800 0.0071594364 0.0018530304 0.0053768155 + 593900 0.0057125021 0.0017711364 0.0045827586 + 594000 0.0039885275 0.0021770611 0.0041401645 + 594100 0.0038108365 0.00221391 0.004089556 + 594200 0.0059318968 0.0020048264 0.0049244319 + 594300 0.0050987702 0.0018212388 0.0043307898 + 594400 0.0055291272 0.0021499802 0.0048713475 + 594500 0.0040100306 0.0022558408 0.0042295278 + 594600 0.0046954401 0.0018437442 0.0041547811 + 594700 0.004584253 0.0014142102 0.0036705222 + 594800 0.0038819627 0.0015819722 0.0034926256 + 594900 0.0053793887 0.0019707854 0.0046184533 + 595000 0.0060406289 0.0024011396 0.0053742616 + 595100 0.0055172545 0.0027481416 0.0054636652 + 595200 0.0049875445 0.0024913607 0.0049461677 + 595300 0.0051333162 0.002080179 0.0046067331 + 595400 0.0037941407 0.0018362256 0.0037036542 + 595500 0.0031190486 0.0016669144 0.0032020711 + 595600 0.0043816106 0.0015670139 0.0037235879 + 595700 0.0042261367 0.0015542919 0.0036343436 + 595800 0.0058839933 0.0018517215 0.0047477494 + 595900 0.0035973236 0.0020485162 0.003819074 + 596000 0.0052509714 0.0021727047 0.0047571672 + 596100 0.0045819418 0.0023158474 0.0045710218 + 596200 0.0051570833 0.0022562724 0.0047945244 + 596300 0.0050530649 0.0025507771 0.0050378325 + 596400 0.0043987683 0.0031747214 0.0053397402 + 596500 0.0062029992 0.0027841645 0.0058372032 + 596600 0.0068650319 0.0023681824 0.0057470653 + 596700 0.0043790641 0.0020447256 0.0042000462 + 596800 0.0044794382 0.0020404215 0.0042451449 + 596900 0.0035398466 0.0018840124 0.0036262807 + 597000 0.0036666275 0.0014483245 0.0032529928 + 597100 0.0058318505 0.0011014717 0.0039718357 + 597200 0.0037596077 0.0014159628 0.0032663947 + 597300 0.0053771876 0.0020757876 0.0047223721 + 597400 0.0054627824 0.0024530948 0.005141808 + 597500 0.0060002982 0.0027347671 0.0056880389 + 597600 0.0047138547 0.0031130306 0.005433131 + 597700 0.0047160127 0.002819026 0.0051401885 + 597800 0.0056457273 0.0024342385 0.0052129949 + 597900 0.0051183247 0.0023280547 0.0048472301 + 598000 0.0059825946 0.0022224971 0.0051670554 + 598100 0.0065396366 0.0027582806 0.005977008 + 598200 0.0056579644 0.0029968452 0.0057816245 + 598300 0.0049574917 0.0029906533 0.0054306687 + 598400 0.0046304325 0.0025070469 0.0047860879 + 598500 0.0072556128 0.0021858281 0.0057569501 + 598600 0.0062637936 0.0027452724 0.0058282333 + 598700 0.0059150566 0.0026152305 0.0055265474 + 598800 0.0041982555 0.0022141516 0.0042804805 + 598900 0.0038090976 0.0021315164 0.0040063066 + 599000 0.0040161285 0.0019868679 0.0039635562 + 599100 0.0051931614 0.0022817798 0.004837789 + 599200 0.0052327274 0.0025118948 0.0050873778 + 599300 0.005339576 0.0023001168 0.0049281894 + 599400 0.0053367413 0.0025721744 0.0051988518 + 599500 0.0061369494 0.002417204 0.0054377338 + 599600 0.0044631671 0.0029738275 0.0051705425 + 599700 0.0049970099 0.002684245 0.0051437108 + 599800 0.004984478 0.0022275391 0.0046808368 + 599900 0.0046198386 0.002135554 0.0044093808 + 600000 0.0047973597 0.0020071338 0.0043683343 + 600100 0.0054999639 0.0018407788 0.0045477922 + 600200 0.0057425594 0.0018871888 0.0047136048 + 600300 0.005240561 0.0023515371 0.0049308757 + 600400 0.0049741287 0.0026164485 0.0050646525 + 600500 0.0050194147 0.00206325 0.0045337432 + 600600 0.0035602778 0.0016838579 0.0034361821 + 600700 0.0048884327 0.0019065677 0.0043125932 + 600800 0.0042264707 0.0017929836 0.0038731996 + 600900 0.0043423856 0.0018286858 0.0039659538 + 601000 0.005468472 0.0020189989 0.0047105125 + 601100 0.0056302705 0.0024097924 0.0051809412 + 601200 0.0064865281 0.0024405002 0.0056330882 + 601300 0.0053581685 0.0022317553 0.0048689789 + 601400 0.0047104714 0.002222181 0.0045406161 + 601500 0.0055568515 0.0021247293 0.0048597422 + 601600 0.003697217 0.0024808978 0.0043006218 + 601700 0.0062098098 0.0025792352 0.005635626 + 601800 0.005825291 0.0023827215 0.0052498569 + 601900 0.0047008036 0.0023849748 0.0046986516 + 602000 0.0052946578 0.0025392025 0.0051451669 + 602100 0.00532964 0.0022077453 0.0048309275 + 602200 0.0044716066 0.0017201682 0.0039210371 + 602300 0.0023207518 0.0020646479 0.0032068929 + 602400 0.003825939 0.0025498183 0.0044328976 + 602500 0.0061184999 0.0023509631 0.0053624123 + 602600 0.004307415 0.002301513 0.0044215688 + 602700 0.004856362 0.0016964475 0.0040866882 + 602800 0.0050100749 0.0017507888 0.004216685 + 602900 0.0041936413 0.0019044076 0.0039684654 + 603000 0.0043252073 0.0018798754 0.0040086884 + 603100 0.0047547681 0.0019852753 0.0043255127 + 603200 0.0042949445 0.0023282332 0.0044421512 + 603300 0.005073905 0.0027632118 0.0052605244 + 603400 0.0060862122 0.0025066026 0.0055021601 + 603500 0.00458693 0.0022847999 0.0045424295 + 603600 0.0033161383 0.0025563924 0.0041885542 + 603700 0.0040161587 0.002544763 0.0045214661 + 603800 0.0060208008 0.002370599 0.0053339619 + 603900 0.0044502234 0.0026008307 0.0047911751 + 604000 0.0063329787 0.001996465 0.0051134779 + 604100 0.0049030136 0.0016284274 0.0040416294 + 604200 0.0034760485 0.001795098 0.0035059656 + 604300 0.0043661331 0.0018980504 0.0040470065 + 604400 0.0065554373 0.0017332138 0.0049597181 + 604500 0.0053324764 0.002029382 0.0046539602 + 604600 0.0049865748 0.002162919 0.0046172487 + 604700 0.0051852022 0.0023969963 0.004949088 + 604800 0.0048196113 0.0021697703 0.0045419227 + 604900 0.0043388263 0.0027876351 0.0049231511 + 605000 0.0056799808 0.0033970758 0.0061926913 + 605100 0.0050831288 0.0029561565 0.005458009 + 605200 0.0067914378 0.0024125512 0.005755212 + 605300 0.0046912826 0.0023245698 0.0046335604 + 605400 0.004255019 0.0024379013 0.0045321684 + 605500 0.0047697061 0.0022995594 0.0046471491 + 605600 0.0043791303 0.0022697388 0.004425092 + 605700 0.0029745664 0.0026421513 0.0041061957 + 605800 0.0051528176 0.0027525463 0.0052886987 + 605900 0.0052374139 0.0028680552 0.0054458448 + 606000 0.0041258545 0.0026707342 0.0047014282 + 606100 0.0053518083 0.0023711233 0.0050052164 + 606200 0.004539144 0.0019344863 0.0041685963 + 606300 0.0049517514 0.0021089642 0.0045461543 + 606400 0.0051892553 0.0019932211 0.0045473077 + 606500 0.0026600882 0.0020289367 0.0033381989 + 606600 0.0032258946 0.0023257194 0.0039134644 + 606700 0.0053104873 0.00220816 0.0048219154 + 606800 0.0040252194 0.0020302675 0.0040114302 + 606900 0.0055190475 0.0021432471 0.0048596533 + 607000 0.0060838311 0.0020380811 0.0050324667 + 607100 0.0036247978 0.0023800416 0.0041641217 + 607200 0.0058514796 0.0026246877 0.0055047128 + 607300 0.0052863005 0.0027345848 0.0053364358 + 607400 0.0077130097 0.0027998144 0.0065960614 + 607500 0.0044918898 0.0028804667 0.0050913187 + 607600 0.004883439 0.0024997918 0.0049033594 + 607700 0.0040621846 0.0024666813 0.0044660378 + 607800 0.0055127329 0.0024629267 0.0051762249 + 607900 0.0054136536 0.0022822899 0.0049468225 + 608000 0.0035079854 0.0027395243 0.0044661108 + 608100 0.004045702 0.0028614573 0.0048527013 + 608200 0.0056833693 0.002457851 0.0052551343 + 608300 0.0047893029 0.0022568586 0.0046140936 + 608400 0.0047857563 0.0023761253 0.0047316148 + 608500 0.003807688 0.0023095905 0.0041836869 + 608600 0.0049865491 0.0022197971 0.0046741143 + 608700 0.0051920032 0.002186054 0.0047414931 + 608800 0.0034027401 0.0020846226 0.0037594088 + 608900 0.0053313651 0.0021994456 0.0048234769 + 609000 0.0065682874 0.0022840277 0.0055168567 + 609100 0.0060541077 0.0023931156 0.0053728717 + 609200 0.0045553008 0.0022138782 0.0044559403 + 609300 0.0037148053 0.0020491822 0.0038775629 + 609400 0.003126031 0.0020181942 0.0035567876 + 609500 0.0038646184 0.0023734595 0.0042755764 + 609600 0.0057873619 0.0027651429 0.0056136101 + 609700 0.0048978714 0.0032489737 0.0056596448 + 609800 0.0062829299 0.0029459049 0.0060382845 + 609900 0.005712543 0.0024674666 0.0052791089 + 610000 0.0054318593 0.0020248242 0.0046983174 + 610100 0.0049431699 0.0019085419 0.0043415083 + 610200 0.0049279195 0.002141871 0.0045673314 + 610300 0.0045668019 0.0031249423 0.0053726651 + 610400 0.0051879404 0.0031306349 0.0056840743 + 610500 0.0063941467 0.0029696299 0.006116749 + 610600 0.0052611391 0.0025745357 0.0051640026 + 610700 0.0051735753 0.0026166633 0.0051630324 + 610800 0.0065729094 0.0029452789 0.0061803828 + 610900 0.0059512694 0.003004564 0.0059337044 + 611000 0.0058261333 0.0027356622 0.0056032122 + 611100 0.0061582281 0.0028911301 0.005922133 + 611200 0.0036986726 0.0028732128 0.0046936532 + 611300 0.0059981885 0.0027142313 0.0056664647 + 611400 0.0052332297 0.0021932164 0.0047689466 + 611500 0.0049565558 0.0019057165 0.0043452713 + 611600 0.0037491882 0.0019748334 0.003820137 + 611700 0.0043897339 0.0021256494 0.0042862216 + 611800 0.005086478 0.0023163913 0.0048198922 + 611900 0.0038984896 0.0025127458 0.0044315337 + 612000 0.0063062543 0.0030166932 0.0061205527 + 612100 0.0055583593 0.003019512 0.0057552669 + 612200 0.0045949203 0.0029198561 0.0051814185 + 612300 0.0055598668 0.0028206225 0.0055571194 + 612400 0.0051847334 0.0025215495 0.0050734105 + 612500 0.0043069657 0.0028677151 0.0049875497 + 612600 0.0047305105 0.003196749 0.0055250472 + 612700 0.0041425852 0.0031532786 0.0051922073 + 612800 0.0054191422 0.0028945235 0.0055617576 + 612900 0.004904162 0.0031854012 0.0055991684 + 613000 0.0048750203 0.0030987095 0.0054981336 + 613100 0.0051603207 0.002801174 0.0053410193 + 613200 0.0036402739 0.0031045472 0.0048962445 + 613300 0.0048134096 0.0027478364 0.0051169364 + 613400 0.0058379454 0.0026634493 0.005536813 + 613500 0.0052300279 0.002953302 0.0055274564 + 613600 0.0045514682 0.0030357275 0.0052759032 + 613700 0.0054837061 0.0033003207 0.0059993323 + 613800 0.0048132681 0.0033029937 0.0056720241 + 613900 0.004129811 0.0029993354 0.0050319768 + 614000 0.0048899064 0.0023300172 0.004736768 + 614100 0.0047156777 0.0020516828 0.0043726804 + 614200 0.0035217692 0.0024639203 0.0041972911 + 614300 0.0040876699 0.0028766013 0.0048885013 + 614400 0.0048045892 0.0028376523 0.0052024111 + 614500 0.0061387708 0.0026423372 0.0056637635 + 614600 0.0051715054 0.0024802607 0.005025611 + 614700 0.0053334682 0.0021043041 0.0047293705 + 614800 0.0046380815 0.0020498995 0.0043327052 + 614900 0.0055103106 0.0017388454 0.0044509515 + 615000 0.0052349715 0.0015924528 0.0041690403 + 615100 0.0046602165 0.0020494904 0.0043431907 + 615200 0.0057991668 0.0024588897 0.0053131671 + 615300 0.0045726361 0.0027834552 0.0050340495 + 615400 0.004567817 0.0027317377 0.0049799602 + 615500 0.0034025715 0.0023867994 0.0040615025 + 615600 0.0050123388 0.0021629293 0.0046299398 + 615700 0.004844807 0.0019916942 0.0043762477 + 615800 0.0052274392 0.0022224986 0.0047953789 + 615900 0.0039212891 0.002662029 0.0045920385 + 616000 0.006426361 0.0019979231 0.0051608977 + 616100 0.0062199138 0.0020304834 0.0050918473 + 616200 0.0064314428 0.001915805 0.0050812808 + 616300 0.006473801 0.0025804614 0.0057667853 + 616400 0.0062481106 0.0025710868 0.0056463287 + 616500 0.0051496376 0.0022704766 0.0048050638 + 616600 0.0048137041 0.0023485667 0.0047178116 + 616700 0.0064384473 0.0025848099 0.0057537332 + 616800 0.0057617655 0.002387942 0.0052238109 + 616900 0.0041341694 0.002116814 0.0041516005 + 617000 0.0051973058 0.001867439 0.0044254879 + 617100 0.0040949269 0.0020155051 0.0040309769 + 617200 0.0049754225 0.0019738319 0.0044226727 + 617300 0.0038359902 0.0022266424 0.0041146688 + 617400 0.004528084 0.0021923506 0.004421017 + 617500 0.0046090294 0.0020624888 0.0043309954 + 617600 0.0058748566 0.0021619725 0.0050535035 + 617700 0.0064066614 0.002793131 0.0059464096 + 617800 0.0046287317 0.0031199095 0.0053981133 + 617900 0.0069066172 0.0030188275 0.0064181782 + 618000 0.0053784422 0.0025897816 0.0052369836 + 618100 0.0043639761 0.0025003918 0.0046482863 + 618200 0.0048933758 0.0024652435 0.0048737019 + 618300 0.0047246797 0.0024438239 0.0047692522 + 618400 0.0066443965 0.0023571949 0.0056274838 + 618500 0.0048314033 0.0023338791 0.0047118354 + 618600 0.0036277887 0.0027801086 0.0045656608 + 618700 0.0062917424 0.002851233 0.0059479499 + 618800 0.0046374685 0.0028200536 0.0051025576 + 618900 0.0034744465 0.0028275992 0.0045376783 + 619000 0.0040631225 0.0026782452 0.0046780633 + 619100 0.0045014191 0.0029194595 0.0051350017 + 619200 0.0041521341 0.0030115484 0.0050551769 + 619300 0.0052466028 0.0029366558 0.0055189681 + 619400 0.005267153 0.0029125056 0.0055049325 + 619500 0.0059080281 0.0030257178 0.0059335754 + 619600 0.0057502517 0.0030648124 0.0058950144 + 619700 0.0052904847 0.0034239431 0.0060278535 + 619800 0.0060516362 0.0031701512 0.0061486909 + 619900 0.0037649377 0.0032681921 0.0051212474 + 620000 0.0056585917 0.00278742 0.0055725081 + 620100 0.0072822454 0.0026377902 0.0062220203 + 620200 0.0032312255 0.002553577 0.0041439458 + 620300 0.0066168217 0.0023477115 0.0056044284 + 620400 0.0067706245 0.0027762437 0.0061086605 + 620500 0.0052870208 0.0029271581 0.0055293636 + 620600 0.0068994102 0.0027605746 0.0061563781 + 620700 0.0052231984 0.0025517512 0.0051225442 + 620800 0.0044193585 0.0024814966 0.0046566496 + 620900 0.0043421756 0.0025883901 0.0047255547 + 621000 0.0054170534 0.0025960965 0.0052623025 + 621100 0.0036755959 0.0026990263 0.0045081087 + 621200 0.0041177618 0.0019390366 0.0039657474 + 621300 0.0052850128 0.0018683078 0.0044695251 + 621400 0.004608413 0.0024821464 0.0047503497 + 621500 0.0032036378 0.0029293424 0.0045061329 + 621600 0.0055356935 0.0022121287 0.0049367278 + 621700 0.0052508262 0.0025528185 0.0051372095 + 621800 0.0055247422 0.0029616762 0.0056808852 + 621900 0.0051215433 0.002507202 0.0050279616 + 622000 0.003784942 0.0024646415 0.0043275427 + 622100 0.0052259052 0.0023494945 0.0049216196 + 622200 0.0052558697 0.0021402416 0.004727115 + 622300 0.0059178995 0.0020082382 0.0049209543 + 622400 0.0056553038 0.0017641299 0.0045475998 + 622500 0.0040782733 0.0020403021 0.0040475773 + 622600 0.0053178547 0.0021693869 0.0047867685 + 622700 0.0050570456 0.0024482117 0.0049372263 + 622800 0.0049046827 0.0025556902 0.0049697137 + 622900 0.0047913125 0.0026593345 0.0050175586 + 623000 0.0060499551 0.0021392113 0.0051169235 + 623100 0.0056709446 0.0023107247 0.0051018928 + 623200 0.0048230344 0.0026229589 0.0049967962 + 623300 0.0043762933 0.0024302964 0.0045842533 + 623400 0.0055217851 0.0026983243 0.0054160779 + 623500 0.005485003 0.0028317319 0.0055313818 + 623600 0.0059581209 0.0029881227 0.0059206353 + 623700 0.0070311605 0.0033772984 0.0068379477 + 623800 0.0044187789 0.0035743549 0.0057492226 + 623900 0.0056617203 0.0024801593 0.0052667872 + 624000 0.0044311613 0.0023335392 0.0045145014 + 624100 0.0036177457 0.0024322088 0.004212818 + 624200 0.0051538862 0.0022798154 0.0048164937 + 624300 0.0056019298 0.0020539089 0.0048111087 + 624400 0.0045919862 0.0020280045 0.0042881227 + 624500 0.0056405919 0.0018557687 0.0046319975 + 624600 0.0035849024 0.0021510104 0.0039154546 + 624700 0.0062968471 0.0025790383 0.0056782677 + 624800 0.0046655721 0.0027501161 0.0050464523 + 624900 0.0057268257 0.0024231203 0.0052417923 + 625000 0.0045275128 0.0027703911 0.0049987763 + 625100 0.0043559272 0.0026501042 0.0047940371 + 625200 0.0048763826 0.0028058854 0.00520598 + 625300 0.0055680411 0.0029696101 0.0057101303 + 625400 0.0068858438 0.0025700942 0.0059592204 + 625500 0.0059701999 0.0025986927 0.0055371505 + 625600 0.0057447276 0.0024865746 0.0053140577 + 625700 0.0063834476 0.002056236 0.0051980891 + 625800 0.0055633308 0.0017298982 0.0044681 + 625900 0.0061917038 0.0022366251 0.0052841043 + 626000 0.0050116566 0.0028542946 0.0053209694 + 626100 0.0045883515 0.00271281 0.0049711393 + 626200 0.0050533529 0.0024870893 0.0049742865 + 626300 0.0047874694 0.0023213911 0.0046777237 + 626400 0.0054034865 0.0024105779 0.0050701064 + 626500 0.0053731413 0.0026026187 0.0052472117 + 626600 0.0055981231 0.0027111938 0.0054665201 + 626700 0.0047715999 0.0023931273 0.0047416491 + 626800 0.0060058737 0.0021594794 0.0051154954 + 626900 0.0041608215 0.002232961 0.0042808654 + 627000 0.0057965454 0.0025719736 0.0054249608 + 627100 0.0044012163 0.0029610814 0.005127305 + 627200 0.005115712 0.0027889563 0.0053068458 + 627300 0.0048630751 0.0030509928 0.0054445376 + 627400 0.0059887341 0.0027679946 0.0057155747 + 627500 0.00518381 0.0027472018 0.0052986083 + 627600 0.0042246939 0.0021784377 0.0042577793 + 627700 0.0057939947 0.001891201 0.0047429328 + 627800 0.0038471388 0.0021941946 0.0040877083 + 627900 0.0054911204 0.0028062552 0.0055089161 + 628000 0.0067270554 0.0030495206 0.0063604932 + 628100 0.0047633364 0.0031278611 0.0054723158 + 628200 0.0053824165 0.0024930113 0.0051421694 + 628300 0.0055852425 0.0024334811 0.0051824677 + 628400 0.0067486176 0.0029182884 0.0062398737 + 628500 0.0042973285 0.0030285597 0.0051436511 + 628600 0.0048774232 0.0026880101 0.0050886168 + 628700 0.0047941553 0.0021658821 0.0045255054 + 628800 0.0063600023 0.0017107986 0.0048411122 + 628900 0.0051494443 0.0015760162 0.0041105083 + 629000 0.0064505572 0.0016857281 0.0048606117 + 629100 0.004701789 0.0016975766 0.0040117384 + 629200 0.0047557031 0.0019075865 0.0042482841 + 629300 0.0048524342 0.001723074 0.0041113814 + 629400 0.0048815044 0.0017450372 0.0041476527 + 629500 0.0038068452 0.0015511167 0.0034247983 + 629600 0.0063601989 0.0019343707 0.0050647811 + 629700 0.0057626565 0.0021735815 0.0050098889 + 629800 0.0052728652 0.0021547466 0.0047499849 + 629900 0.0048437558 0.0020461756 0.0044302116 + 630000 0.0061803048 0.0016371053 0.0046789741 + 630100 0.005410265 0.0015974837 0.0042603485 + 630200 0.0037592912 0.0017306618 0.0035809379 + 630300 0.0056475518 0.0019858483 0.0047655027 + 630400 0.0031359763 0.0028659344 0.0044094227 + 630500 0.003877521 0.002853807 0.0047622744 + 630600 0.0045418119 0.0027036041 0.0049390271 + 630700 0.0049576769 0.0024288036 0.0048689102 + 630800 0.0054173848 0.0025578912 0.0052242602 + 630900 0.0059573925 0.002327708 0.0052598622 + 631000 0.0050904403 0.0020780083 0.0045834594 + 631100 0.0040367424 0.0022359015 0.0042227357 + 631200 0.0043852587 0.0024747023 0.0046330718 + 631300 0.0050275712 0.0022323999 0.0047069076 + 631400 0.0051089136 0.0020389331 0.0045534765 + 631500 0.0060643323 0.0023679372 0.0053527258 + 631600 0.0053875936 0.0028776466 0.0055293528 + 631700 0.0064258771 0.002200441 0.0053631774 + 631800 0.0054703286 0.0017262841 0.0044187114 + 631900 0.0038837291 0.0020326862 0.0039442091 + 632000 0.0056265266 0.0018812113 0.0046505174 + 632100 0.0049782617 0.0015742099 0.0040244481 + 632200 0.0046549206 0.0021514877 0.0044425815 + 632300 0.0051858258 0.0023481641 0.0049005627 + 632400 0.0062205227 0.0019694978 0.0050311613 + 632500 0.0035107255 0.0015993505 0.0033272857 + 632600 0.0050181312 0.001644455 0.0041143165 + 632700 0.004102952 0.0018980907 0.0039175124 + 632800 0.0032396109 0.0022724765 0.0038669725 + 632900 0.0039778788 0.0018994847 0.0038573469 + 633000 0.0053425963 0.0018757184 0.0045052775 + 633100 0.004168819 0.0026012857 0.0046531263 + 633200 0.0042765799 0.003022086 0.0051269651 + 633300 0.0047791809 0.0028752129 0.005227466 + 633400 0.0052699003 0.0022003587 0.0047941378 + 633500 0.0051904088 0.0025138555 0.0050685098 + 633600 0.0043488848 0.0026608225 0.0048012892 + 633700 0.004315331 0.0023786182 0.0045025702 + 633800 0.0060786423 0.0023331491 0.0053249808 + 633900 0.0087120747 0.0027226023 0.0070105766 + 634000 0.005520639 0.0037804422 0.0064976317 + 634100 0.0059655656 0.003193831 0.0061300078 + 634200 0.0038907873 0.0028626417 0.0047776385 + 634300 0.0058152556 0.0028060761 0.0056682722 + 634400 0.0045734986 0.0029562611 0.00520728 + 634500 0.0044468939 0.0026952576 0.0048839631 + 634600 0.0060339424 0.0022140264 0.0051838574 + 634700 0.0060585082 0.0022022194 0.0051841414 + 634800 0.0043131747 0.0020616123 0.004184503 + 634900 0.0047364638 0.0025007034 0.0048319317 + 635000 0.0063818119 0.0031499142 0.0062909623 + 635100 0.0040411976 0.0035147184 0.0055037453 + 635200 0.0058816194 0.0029388929 0.0058337524 + 635300 0.0071879868 0.0024250847 0.005962922 + 635400 0.0059638973 0.0024760171 0.0054113728 + 635500 0.0056557976 0.0030342223 0.0058179352 + 635600 0.0046701727 0.0030955946 0.0053941952 + 635700 0.0050872728 0.0029176509 0.0054215429 + 635800 0.0044309061 0.0027717603 0.0049525969 + 635900 0.0040106319 0.0027852955 0.0047592784 + 636000 0.0043383727 0.002507491 0.0046427838 + 636100 0.004237471 0.001820477 0.0039061073 + 636200 0.0062640437 0.0015277999 0.0046108839 + 636300 0.0049626058 0.0016900544 0.0041325869 + 636400 0.0048801264 0.0019033688 0.004305306 + 636500 0.005698214 0.0022092922 0.005013882 + 636600 0.0041195231 0.0024775314 0.0045051091 + 636700 0.0037437015 0.0022263207 0.0040689238 + 636800 0.0042400379 0.0018243316 0.0039112252 + 636900 0.0038375543 0.0017236301 0.0036124264 + 637000 0.0050349611 0.0015266561 0.004004801 + 637100 0.0058685165 0.0018561718 0.0047445823 + 637200 0.0050535425 0.002078083 0.0045653734 + 637300 0.0053878889 0.002089245 0.0047410966 + 637400 0.0042974443 0.0020342331 0.0041493815 + 637500 0.0056069247 0.0021073184 0.0048669766 + 637600 0.0041088251 0.0026542574 0.0046765698 + 637700 0.0060812031 0.002745641 0.0057387332 + 637800 0.0056421327 0.0025961205 0.0053731077 + 637900 0.0041253918 0.0025483633 0.0045788296 + 638000 0.0052105991 0.0023035016 0.0048680933 + 638100 0.0063840975 0.0019328689 0.0050750419 + 638200 0.0047429903 0.0016038068 0.0039382474 + 638300 0.0043627587 0.001610414 0.0037577093 + 638400 0.0051258597 0.0017607055 0.0042835895 + 638500 0.0048749638 0.0017793689 0.0041787652 + 638600 0.0045490435 0.0020689614 0.0043079437 + 638700 0.0042300786 0.0025444203 0.0046264121 + 638800 0.0037519871 0.0022338003 0.0040804815 + 638900 0.0051680283 0.0020647703 0.0046084093 + 639000 0.0066885785 0.0023641762 0.0056562109 + 639100 0.0052338962 0.0026339867 0.005210045 + 639200 0.0054277527 0.0025328994 0.0052043714 + 639300 0.0061135532 0.0022446323 0.0052536468 + 639400 0.0049837258 0.0022539557 0.0047068833 + 639500 0.0056645452 0.0029046959 0.0056927142 + 639600 0.0052819758 0.0027441501 0.0053438725 + 639700 0.0046485233 0.0018984967 0.0041864418 + 639800 0.0050554308 0.0019668202 0.00445504 + 639900 0.006192648 0.0021999826 0.0052479266 + 640000 0.0056598466 0.002506752 0.0052924577 + 640100 0.0048373985 0.0026473046 0.0050282117 + 640200 0.0047362875 0.0025176641 0.0048488056 + 640300 0.0044222857 0.0024960518 0.0046726455 + 640400 0.0067347792 0.0020052544 0.0053200285 + 640500 0.004510873 0.001953175 0.0041733703 + 640600 0.0038767276 0.0020652496 0.0039733264 + 640700 0.0046517707 0.0020139826 0.004303526 + 640800 0.003987596 0.0022327478 0.0041953927 + 640900 0.004086137 0.0023614187 0.0043725642 + 641000 0.005276618 0.00256691 0.0051639955 + 641100 0.0052587308 0.0028292284 0.00541751 + 641200 0.0074454168 0.0030415885 0.0067061296 + 641300 0.0052461616 0.0027276584 0.0053097535 + 641400 0.0046597243 0.0023506567 0.0046441148 + 641500 0.0042575862 0.0024170891 0.0045126198 + 641600 0.005674275 0.0026866723 0.0054794795 + 641700 0.0044065011 0.003128199 0.0052970238 + 641800 0.0039695678 0.0029748774 0.004928649 + 641900 0.0061892521 0.0026869569 0.0057332295 + 642000 0.0058590777 0.0025124595 0.0053962243 + 642100 0.004616029 0.0025410986 0.0048130503 + 642200 0.0052963584 0.002337803 0.0049446044 + 642300 0.0052834996 0.0019952094 0.0045956818 + 642400 0.0046751752 0.0018220118 0.0041230745 + 642500 0.0057135896 0.0016874929 0.0044996503 + 642600 0.0030171982 0.0016180681 0.0031030953 + 642700 0.0036379284 0.0017713105 0.0035618534 + 642800 0.0051675326 0.0023782125 0.0049216074 + 642900 0.0049109732 0.0021817129 0.0045988325 + 643000 0.0048513542 0.0018497522 0.0042375281 + 643100 0.0050744146 0.0018355722 0.0043331356 + 643200 0.0050798125 0.0019973384 0.0044975586 + 643300 0.0054367176 0.0020477734 0.0047236578 + 643400 0.0052914213 0.0022053729 0.0048097443 + 643500 0.0042794073 0.0023365469 0.0044428177 + 643600 0.0049090976 0.0025266936 0.0049428901 + 643700 0.0036970615 0.0023079415 0.0041275889 + 643800 0.0056075641 0.0019817678 0.0047417407 + 643900 0.0040765752 0.0023963407 0.0044027801 + 644000 0.0037310762 0.0024222865 0.0042586755 + 644100 0.0056689018 0.002101442 0.0048916046 + 644200 0.0052420803 0.002110891 0.0046909774 + 644300 0.0056283175 0.0020262215 0.004796409 + 644400 0.0043105341 0.0018601308 0.0039817218 + 644500 0.005338493 0.0019536585 0.004581198 + 644600 0.0051975545 0.0026610488 0.0052192202 + 644700 0.0064071721 0.0030431518 0.0061966819 + 644800 0.0059664881 0.0026206971 0.005557328 + 644900 0.0070897558 0.0022367692 0.0057262584 + 645000 0.003931278 0.0025027339 0.0044376598 + 645100 0.0041024169 0.0023142783 0.0043334366 + 645200 0.0046566313 0.0024040888 0.0046960246 + 645300 0.0066913273 0.0021872851 0.0054806728 + 645400 0.0049056437 0.001611568 0.0040260645 + 645500 0.0043845521 0.0020202222 0.0041782439 + 645600 0.0054279399 0.0021567896 0.0048283538 + 645700 0.005546859 0.0022036445 0.0049337391 + 645800 0.0048994807 0.0019962464 0.0044077095 + 645900 0.0041422267 0.0018332818 0.003872034 + 646000 0.0060800335 0.0018658506 0.0048583671 + 646100 0.0038611257 0.0017647928 0.0036651906 + 646200 0.0054055887 0.0016453366 0.0043058998 + 646300 0.0053082839 0.0017874352 0.0044001062 + 646400 0.0059624497 0.0019088366 0.0048434798 + 646500 0.0047145172 0.0024876828 0.0048081093 + 646600 0.0048178187 0.0025217938 0.0048930639 + 646700 0.0046164055 0.0021415008 0.0044136379 + 646800 0.0054329644 0.0020183798 0.004692417 + 646900 0.0046447866 0.0023522788 0.0046383846 + 647000 0.005464461 0.0020173281 0.0047068674 + 647100 0.0047139937 0.0020948305 0.0044149993 + 647200 0.0038838116 0.0025422166 0.0044537801 + 647300 0.006993319 0.0021658687 0.0056078929 + 647400 0.0066386633 0.0021034903 0.0053709574 + 647500 0.004804442 0.0022831652 0.0046478515 + 647600 0.0037960992 0.0020709541 0.0039393467 + 647700 0.0030984518 0.0022126625 0.0037376817 + 647800 0.0041780984 0.0025194612 0.004575869 + 647900 0.0063874672 0.0023994081 0.0055432396 + 648000 0.0038138021 0.0026297528 0.0045068585 + 648100 0.0055960681 0.002233484 0.0049877988 + 648200 0.0066924316 0.002049273 0.0053432042 + 648300 0.0048447396 0.0027597797 0.0051442999 + 648400 0.0058012736 0.0033134619 0.0061687762 + 648500 0.0043485846 0.0035694988 0.0057098178 + 648600 0.0048172406 0.0037049491 0.0060759347 + 648700 0.004661885 0.0032176095 0.005512131 + 648800 0.0066046926 0.0025373004 0.0057880475 + 648900 0.0049831565 0.0025289941 0.0049816414 + 649000 0.0043399073 0.0023883548 0.0045244029 + 649100 0.0047666818 0.0021324996 0.0044786008 + 649200 0.006195426 0.0018395101 0.0048888213 + 649300 0.0056233426 0.0017273488 0.0044950877 + 649400 0.0045485831 0.0019399734 0.0041787292 + 649500 0.0049113101 0.0020640816 0.0044813671 + 649600 0.0031299397 0.002003618 0.0035441352 + 649700 0.0041686748 0.0018474485 0.0038992182 + 649800 0.0067378972 0.0019491861 0.0052654949 + 649900 0.0050614573 0.002608293 0.0050994791 + 650000 0.0055740155 0.0025385806 0.0052820413 + 650100 0.0050579115 0.002552119 0.0050415598 + 650200 0.0045674432 0.0025305983 0.0047786367 + 650300 0.0042849106 0.0024243567 0.0045333361 + 650400 0.0053773381 0.0022720191 0.0049186777 + 650500 0.0048012808 0.0026291645 0.0049922949 + 650600 0.0069413913 0.0028568861 0.0062733521 + 650700 0.0055506933 0.0029314141 0.0056633959 + 650800 0.0039004734 0.0028581039 0.0047778682 + 650900 0.0048257278 0.0025752015 0.0049503644 + 651000 0.0043276212 0.0025016429 0.004631644 + 651100 0.0053643312 0.0025367073 0.0051769641 + 651200 0.0059449802 0.0026193911 0.005545436 + 651300 0.0066308367 0.0027126697 0.0059762846 + 651400 0.004571972 0.0026466361 0.0048969036 + 651500 0.0068456756 0.0024836006 0.0058529565 + 651600 0.0057294831 0.002398065 0.005218045 + 651700 0.0038264869 0.0023190403 0.0042023893 + 651800 0.005205172 0.0023576551 0.0049195757 + 651900 0.0058418875 0.0023180711 0.0051933752 + 652000 0.0049031867 0.002723253 0.0051365402 + 652100 0.0046934353 0.0025777617 0.0048878119 + 652200 0.0035364381 0.0023214278 0.0040620184 + 652300 0.0065508643 0.0019705312 0.0051947847 + 652400 0.0054208429 0.0018146544 0.0044827255 + 652500 0.0044735689 0.0018222331 0.0040240678 + 652600 0.0042226228 0.0020565138 0.004134836 + 652700 0.0052078546 0.0026195994 0.0051828403 + 652800 0.0049575983 0.0031837901 0.005623858 + 652900 0.0068625341 0.0033649566 0.0067426101 + 653000 0.0052540252 0.0029891304 0.005575096 + 653100 0.0050447687 0.0026014038 0.0050843759 + 653200 0.005454582 0.0026917599 0.005376437 + 653300 0.0050676774 0.0027768342 0.0052710816 + 653400 0.0045926925 0.0028796715 0.0051401374 + 653500 0.004631351 0.0028268332 0.0051063263 + 653600 0.0055154652 0.0029280817 0.0056427248 + 653700 0.0037972517 0.002763066 0.0046320258 + 653800 0.0056799025 0.0028576027 0.0056531797 + 653900 0.0054473327 0.0028996208 0.0055807298 + 654000 0.0045293072 0.0024168021 0.0046460705 + 654100 0.0048993387 0.0022988069 0.0047102001 + 654200 0.004494637 0.0021763806 0.0043885847 + 654300 0.0048301719 0.001945487 0.0043228372 + 654400 0.0054165458 0.0019530808 0.004619037 + 654500 0.0052586366 0.0020517196 0.0046399548 + 654600 0.0063491794 0.0020262481 0.0051512348 + 654700 0.0053375543 0.0021331314 0.0047602089 + 654800 0.005792454 0.0025702839 0.0054212573 + 654900 0.0036993196 0.002832568 0.0046533268 + 655000 0.003950504 0.0026273239 0.0045717126 + 655100 0.0030344807 0.0024823978 0.0039759313 + 655200 0.0048653506 0.002359078 0.0047537428 + 655300 0.0052393273 0.0028080644 0.0053867958 + 655400 0.0038690693 0.0034448535 0.005349161 + 655500 0.0061948438 0.003003687 0.0060527117 + 655600 0.0057388499 0.0024507158 0.005275306 + 655700 0.0050221281 0.0027437667 0.0052155954 + 655800 0.0053065198 0.0027836714 0.0053954742 + 655900 0.0029940105 0.0028407348 0.0043143494 + 656000 0.0043630634 0.0027647513 0.0049121966 + 656100 0.0062122708 0.0026640428 0.0057216448 + 656200 0.0065975555 0.0024197087 0.0056669431 + 656300 0.0063569591 0.0031459207 0.0062747365 + 656400 0.0062141043 0.0040595144 0.0071180188 + 656500 0.0047076065 0.0038918809 0.006208906 + 656600 0.0060755798 0.0036461384 0.0066364629 + 656700 0.0059815192 0.0035508436 0.0064948725 + 656800 0.0050289573 0.0036661918 0.0061413818 + 656900 0.0044726999 0.0032612164 0.0054626233 + 657000 0.0041948258 0.0031360191 0.00520066 + 657100 0.0060799997 0.0028013427 0.0057938426 + 657200 0.0062821098 0.0030723427 0.0061643187 + 657300 0.0063954054 0.0030556917 0.0062034303 + 657400 0.0045755377 0.0027233375 0.00497536 + 657500 0.0038908542 0.0023789087 0.0042939384 + 657600 0.0039964644 0.0024138076 0.0043808174 + 657700 0.0056584384 0.002153922 0.0049389346 + 657800 0.0050173194 0.0022214829 0.0046909448 + 657900 0.0037956734 0.0021461622 0.0040143452 + 658000 0.00479855 0.0016817935 0.0040435798 + 658100 0.0052125385 0.0017318736 0.0042974199 + 658200 0.0035756342 0.0024492223 0.0042091048 + 658300 0.0054140839 0.0028560834 0.0055208278 + 658400 0.004767683 0.0026367831 0.004983377 + 658500 0.0042812392 0.0024185839 0.0045257564 + 658600 0.0051687736 0.0024774002 0.0050214059 + 658700 0.0056508858 0.0025360799 0.0053173753 + 658800 0.0044906761 0.0026801526 0.0048904072 + 658900 0.0049074859 0.002590223 0.0050056262 + 659000 0.004455564 0.0029992893 0.0051922622 + 659100 0.0070948942 0.0025473612 0.0060393795 + 659200 0.0050309958 0.0024476878 0.004923881 + 659300 0.0056309209 0.0026059033 0.0053773722 + 659400 0.0047612767 0.0026662877 0.0050097286 + 659500 0.0043180869 0.003044067 0.0051693754 + 659600 0.0055279543 0.0028647986 0.0055855886 + 659700 0.0037306206 0.0027043927 0.0045405576 + 659800 0.0051643372 0.0026988874 0.0052407096 + 659900 0.0070022562 0.0026892424 0.0061356653 + 660000 0.0050270475 0.0028144848 0.0052887347 + 660100 0.0045045725 0.0026756309 0.0048927252 + 660200 0.0055873838 0.0026207046 0.0053707451 + 660300 0.0048079044 0.0022776415 0.0046440319 + 660400 0.0072035767 0.0018182451 0.0053637555 + 660500 0.0060818166 0.0021687695 0.0051621636 + 660600 0.0032214965 0.0021423746 0.0037279549 + 660700 0.0058801373 0.0020075174 0.0049016475 + 660800 0.0055054487 0.0024850403 0.0051947533 + 660900 0.0038546298 0.0030655364 0.004962737 + 661000 0.0036350962 0.0028047689 0.0045939178 + 661100 0.0069755156 0.0022191658 0.0056524274 + 661200 0.0040644289 0.0022620895 0.0042625506 + 661300 0.0065039708 0.0022758094 0.0054769825 + 661400 0.004208787 0.0024043409 0.0044758532 + 661500 0.0036858231 0.0022768785 0.0040909946 + 661600 0.003919448 0.0020812471 0.0040103504 + 661700 0.0051875688 0.0022630614 0.0048163179 + 661800 0.0034742819 0.0024049235 0.0041149217 + 661900 0.0040398418 0.0026587881 0.0046471478 + 662000 0.0052204068 0.0027413493 0.0053107683 + 662100 0.0063386893 0.003098326 0.0062181497 + 662200 0.0047538468 0.0036770192 0.0060168031 + 662300 0.0058509521 0.0035500629 0.0064298283 + 662400 0.0057655289 0.0027763552 0.0056140764 + 662500 0.0075300498 0.0020899482 0.0057961446 + 662600 0.0060945712 0.0022959624 0.0052956342 + 662700 0.0034491472 0.0026848167 0.0043824439 + 662800 0.0039087583 0.0026594289 0.0045832709 + 662900 0.0060926997 0.00262631 0.0056250607 + 663000 0.0063906351 0.0029484641 0.0060938548 + 663100 0.0048108647 0.0029218466 0.005289694 + 663200 0.0051283331 0.0024708453 0.0049949468 + 663300 0.0048214481 0.0023383819 0.0047114384 + 663400 0.003927409 0.0027080232 0.0046410448 + 663500 0.0038615296 0.0027687968 0.0046693934 + 663600 0.0047503025 0.0023904833 0.0047285228 + 663700 0.0042655431 0.0022459179 0.0043453649 + 663800 0.0050834131 0.0017995455 0.0043015378 + 663900 0.005870636 0.0020627862 0.0049522398 + 664000 0.0056802069 0.0022683372 0.005064064 + 664100 0.0045430315 0.0022393083 0.0044753316 + 664200 0.003181205 0.0019707946 0.0035365439 + 664300 0.0044973463 0.0022761214 0.004489659 + 664400 0.0051514663 0.0025435159 0.0050790032 + 664500 0.0039339647 0.0024938858 0.0044301341 + 664600 0.0046170232 0.0022486292 0.0045210703 + 664700 0.003871775 0.0024992378 0.0044048771 + 664800 0.0049210845 0.0028348354 0.0052569317 + 664900 0.0049576216 0.0028845156 0.0053245949 + 665000 0.0049457496 0.0025445442 0.0049787803 + 665100 0.0053596656 0.0024663843 0.0051043447 + 665200 0.0059079902 0.0025972092 0.0055050482 + 665300 0.0051141423 0.0024782834 0.0049954003 + 665400 0.0049497085 0.0023870574 0.004823242 + 665500 0.0064059106 0.0027998044 0.0059527135 + 665600 0.0049158208 0.0033540077 0.0057735133 + 665700 0.0043917998 0.0031241047 0.0052856937 + 665800 0.0055305054 0.002527722 0.0052497677 + 665900 0.0044565373 0.0023701414 0.0045635933 + 666000 0.0045055118 0.0023526428 0.0045701994 + 666100 0.004430349 0.0024962708 0.0046768331 + 666200 0.0043395434 0.0026102522 0.0047461213 + 666300 0.0055741889 0.00220317 0.0049467161 + 666400 0.0042159779 0.0020539057 0.0041289573 + 666500 0.0049579669 0.0022393053 0.0046795547 + 666600 0.0042247187 0.002469051 0.0045484047 + 666700 0.0057256165 0.0022106921 0.005028769 + 666800 0.0055682181 0.0023105133 0.0050511206 + 666900 0.004010955 0.0024162372 0.0043903791 + 667000 0.0064801388 0.0027105478 0.0058999912 + 667100 0.0054565208 0.0028426254 0.0055282567 + 667200 0.0060430289 0.0027759535 0.0057502568 + 667300 0.0035340057 0.0024062949 0.0041456883 + 667400 0.0047274039 0.0020610535 0.0043878226 + 667500 0.0034031022 0.0019794819 0.0036544462 + 667600 0.0037596981 0.001968766 0.0038192424 + 667700 0.0031881715 0.0019771201 0.0035462982 + 667800 0.0043365073 0.0025733893 0.004707764 + 667900 0.0054589645 0.0023080042 0.0049948383 + 668000 0.0046356212 0.0023611953 0.0046427901 + 668100 0.0046074013 0.002491793 0.0047594984 + 668200 0.0062143524 0.0021554981 0.0052141247 + 668300 0.0055628815 0.0021614282 0.004899409 + 668400 0.0045339411 0.0021935806 0.0044251298 + 668500 0.0049690576 0.0021590651 0.0046047732 + 668600 0.0086980175 0.0018305981 0.0061116536 + 668700 0.0043696792 0.0023136281 0.0044643296 + 668800 0.0044264682 0.0024863303 0.0046649826 + 668900 0.0048614015 0.002252732 0.0046454531 + 669000 0.0059826482 0.0025346379 0.0054792226 + 669100 0.0044805159 0.002356554 0.0045618079 + 669200 0.0046616388 0.0021394846 0.004433885 + 669300 0.004992445 0.0020526462 0.0045098653 + 669400 0.004681903 0.0021275938 0.004431968 + 669500 0.0051255719 0.0022788136 0.0048015561 + 669600 0.0054260055 0.0021206537 0.0047912658 + 669700 0.0043293394 0.0017870453 0.003917892 + 669800 0.0056885939 0.001716041 0.0045158958 + 669900 0.005138037 0.0019883816 0.0045172592 + 670000 0.0047947355 0.0024860514 0.0048459603 + 670100 0.0051777829 0.0027424239 0.0052908639 + 670200 0.0046799514 0.0025028587 0.0048062723 + 670300 0.0068876718 0.0022817887 0.0056718146 + 670400 0.0056819799 0.0026996808 0.0054962803 + 670500 0.005378205 0.0028821895 0.0055292747 + 670600 0.0045073928 0.0030836457 0.0053021281 + 670700 0.0063222231 0.0030539157 0.0061656349 + 670800 0.004228824 0.0032665449 0.0053479193 + 670900 0.0073407048 0.0032366526 0.0068496558 + 671000 0.0059084951 0.003266237 0.0061743244 + 671100 0.0050212534 0.0032044483 0.0056758465 + 671200 0.004664005 0.003150356 0.005445921 + 671300 0.0047454837 0.0028274751 0.0051631428 + 671400 0.0048756828 0.0029732546 0.0053730047 + 671500 0.005351671 0.0032481333 0.0058821589 + 671600 0.0038978503 0.0033397411 0.0052582143 + 671700 0.0050387217 0.0028648786 0.0053448745 + 671800 0.0059998186 0.0028614991 0.0058145348 + 671900 0.0040175306 0.0029249817 0.00490236 + 672000 0.004745928 0.0028554703 0.0051913567 + 672100 0.0044722174 0.002951749 0.0051529185 + 672200 0.00558642 0.0023936426 0.0051432087 + 672300 0.003305726 0.001847507 0.003474544 + 672400 0.0046829593 0.0023142257 0.0046191197 + 672500 0.0056986721 0.0024139131 0.0052187282 + 672600 0.0044216927 0.0022105582 0.0043868601 + 672700 0.0055631748 0.0021606619 0.004898787 + 672800 0.0029368735 0.0024735124 0.0039190048 + 672900 0.0054301144 0.0024383986 0.005111033 + 673000 0.0057965952 0.002437771 0.0052907827 + 673100 0.0054675047 0.0029462787 0.0056373161 + 673200 0.0043772004 0.0031054349 0.0052598382 + 673300 0.0062502942 0.0032243219 0.0063006385 + 673400 0.0050341731 0.0025921229 0.00506988 + 673500 0.007528269 0.0019056578 0.0056109777 + 673600 0.0049644214 0.0021748386 0.0046182648 + 673700 0.0041774069 0.0021829548 0.0042390223 + 673800 0.0045256346 0.0025209503 0.0047484111 + 673900 0.0053837863 0.0026675827 0.005317415 + 674000 0.004886261 0.0025137742 0.0049187308 + 674100 0.0053467151 0.0020138869 0.0046454733 + 674200 0.0047868477 0.0019913979 0.0043474245 + 674300 0.0050051566 0.0019248412 0.0043883167 + 674400 0.0043893182 0.0020593264 0.0042196939 + 674500 0.0050114205 0.0019393671 0.0044059256 + 674600 0.0052016139 0.0022119747 0.0047721441 + 674700 0.005860037 0.0022713499 0.0051555869 + 674800 0.0054850293 0.0022645956 0.0049642584 + 674900 0.0043102958 0.0022470664 0.0043685401 + 675000 0.0050686219 0.002456838 0.0049515503 + 675100 0.0051421168 0.002752 0.0052828857 + 675200 0.0074497701 0.0023520192 0.0060187029 + 675300 0.0034849371 0.0025540116 0.0042692541 + 675400 0.0040097458 0.0024365958 0.0044101426 + 675500 0.0060492095 0.0021582575 0.0051356028 + 675600 0.0043556376 0.0026457176 0.0047895079 + 675700 0.0060969323 0.0025115971 0.005512431 + 675800 0.0051388376 0.0023770971 0.0049063687 + 675900 0.0041750246 0.0025823778 0.0046372727 + 676000 0.0048236404 0.002256747 0.0046308825 + 676100 0.0036732031 0.0025248464 0.0043327511 + 676200 0.0044960658 0.0023808197 0.0045937271 + 676300 0.004913098 0.002333082 0.0047512474 + 676400 0.0048187182 0.002360636 0.0047323489 + 676500 0.0046523584 0.0022093084 0.0044991411 + 676600 0.0039226868 0.0020733573 0.0040040547 + 676700 0.0056571048 0.0018608836 0.0046452398 + 676800 0.0056988755 0.0020612579 0.0048661732 + 676900 0.0040618688 0.0021948485 0.0041940496 + 677000 0.0043351274 0.0020142167 0.0041479122 + 677100 0.0053221985 0.0022972057 0.0049167253 + 677200 0.0048028452 0.0024456699 0.0048095703 + 677300 0.0056730787 0.0023249019 0.0051171203 + 677400 0.0053277184 0.002586122 0.0052083584 + 677500 0.0049660971 0.0023619758 0.0048062267 + 677600 0.0045623412 0.0018034277 0.004048955 + 677700 0.0040990764 0.0018005079 0.003818022 + 677800 0.0043796582 0.0020047214 0.0041603344 + 677900 0.0056915285 0.0024324326 0.0052337317 + 678000 0.0057191323 0.0026540691 0.0054689545 + 678100 0.0046453011 0.0023342639 0.0046206231 + 678200 0.0035325063 0.0020762461 0.0038149016 + 678300 0.0052106883 0.0021884505 0.0047530861 + 678400 0.0052215085 0.0025350042 0.0051049654 + 678500 0.0032756779 0.0026962737 0.0043085214 + 678600 0.0044179745 0.0020850169 0.0042594887 + 678700 0.0031648444 0.0023200238 0.0038777206 + 678800 0.0040915516 0.0026867478 0.0047005584 + 678900 0.005759063 0.003124892 0.0059594308 + 679000 0.004794972 0.002904829 0.0052648543 + 679100 0.0045171127 0.0026390094 0.0048622758 + 679200 0.0047793972 0.0022594594 0.004611819 + 679300 0.0058441959 0.0019245889 0.004801029 + 679400 0.0075962551 0.0021703106 0.0059090923 + 679500 0.0050867599 0.0026888859 0.0051925255 + 679600 0.0040060778 0.0028872213 0.0048589627 + 679700 0.0047578484 0.0029798607 0.0053216142 + 679800 0.0057679466 0.0028466624 0.0056855736 + 679900 0.0051641372 0.0030261892 0.005567913 + 680000 0.0075064736 0.0025858365 0.006280429 + 680100 0.0055100569 0.0024195857 0.0051315669 + 680200 0.0055483096 0.0021929221 0.0049237307 + 680300 0.005562335 0.0023102093 0.005047921 + 680400 0.0055858141 0.0025225486 0.0052718165 + 680500 0.0050320768 0.0026571143 0.0051338396 + 680600 0.006409659 0.0025316933 0.0056864473 + 680700 0.0057108081 0.0024899958 0.0053007841 + 680800 0.0048687257 0.0021309981 0.004527324 + 680900 0.0046184582 0.0022271788 0.0045003262 + 681000 0.0042918092 0.002533281 0.0046456559 + 681100 0.0038350347 0.0026932862 0.0045808423 + 681200 0.0041211497 0.0025821553 0.0046105337 + 681300 0.0050464341 0.0023649284 0.0048487202 + 681400 0.0058051397 0.0022149776 0.0050721948 + 681500 0.005865623 0.0029478383 0.0058348246 + 681600 0.0065985909 0.0034200323 0.0066677763 + 681700 0.0047289724 0.0037840072 0.0061115483 + 681800 0.0064556139 0.0028143517 0.0059917242 + 681900 0.0045839948 0.0024974117 0.0047535967 + 682000 0.0048828025 0.002466016 0.0048692704 + 682100 0.0047644183 0.0025752921 0.0049202792 + 682200 0.0047718098 0.0024238825 0.0047725076 + 682300 0.0044509985 0.0020818299 0.0042725557 + 682400 0.0052168314 0.0016715858 0.004239245 + 682500 0.005031353 0.0017264847 0.0042028538 + 682600 0.0043207398 0.0018105733 0.0039371874 + 682700 0.0053070536 0.0019181475 0.004530213 + 682800 0.0047546027 0.0022087878 0.0045489438 + 682900 0.0047225985 0.0027864544 0.0051108584 + 683000 0.0058173625 0.0024126045 0.0052758376 + 683100 0.0057075215 0.0025636252 0.005372796 + 683200 0.0066169236 0.0022166267 0.0054733938 + 683300 0.0049683531 0.0019651876 0.0044105489 + 683400 0.0064842655 0.0019511123 0.0051425867 + 683500 0.0044827101 0.0020965571 0.004302891 + 683600 0.0028287977 0.0022215432 0.0036138421 + 683700 0.0056039345 0.001929467 0.0046876535 + 683800 0.005590214 0.0020244787 0.0047759122 + 683900 0.0046800061 0.0019410179 0.0042444584 + 684000 0.0048742047 0.0020333643 0.0044323869 + 684100 0.004831439 0.0024540671 0.0048320409 + 684200 0.0051075725 0.0023308208 0.0048447042 + 684300 0.0058857622 0.0022141523 0.0051110509 + 684400 0.0024215425 0.0024779473 0.0036698003 + 684500 0.0053165458 0.0023591908 0.0049759282 + 684600 0.005475059 0.0028738941 0.0055686497 + 684700 0.0060332387 0.0030061541 0.0059756388 + 684800 0.0046758917 0.0025464458 0.0048478613 + 684900 0.0054225523 0.002691452 0.0053603645 + 685000 0.0046602063 0.0027147674 0.0050084627 + 685100 0.0057766375 0.0025501516 0.0053933404 + 685200 0.007767117 0.0032148157 0.0070376936 + 685300 0.0045127035 0.0039288576 0.0061499539 + 685400 0.0051752919 0.0033902472 0.0059374612 + 685500 0.0039492273 0.003204865 0.0051486253 + 685600 0.0051994445 0.002810966 0.0053700676 + 685700 0.0050636559 0.0025628998 0.005055168 + 685800 0.0044605363 0.0026705858 0.004866006 + 685900 0.0076528969 0.0026602773 0.0064269375 + 686000 0.0032783115 0.0025365934 0.0041501374 + 686100 0.0050273857 0.0028058989 0.0052803153 + 686200 0.0058652067 0.0024300372 0.0053168187 + 686300 0.005688628 0.002433187 0.0052330587 + 686400 0.0042703702 0.0026967121 0.0047985349 + 686500 0.0051675104 0.0026750609 0.005218445 + 686600 0.0055427984 0.0023164449 0.005044541 + 686700 0.0056572934 0.0021157315 0.0049001806 + 686800 0.0033687444 0.0025194249 0.0041774788 + 686900 0.0044852211 0.002295016 0.0045025858 + 687000 0.0045458439 0.0022850766 0.0045224841 + 687100 0.0045914176 0.0022283087 0.0044881471 + 687200 0.0047863567 0.0023487564 0.0047045413 + 687300 0.0060749509 0.002240496 0.0052305109 + 687400 0.0048818665 0.0023311927 0.0047339864 + 687500 0.0044534981 0.001962663 0.0041546191 + 687600 0.0038944946 0.0017706064 0.003687428 + 687700 0.0046273797 0.0025448263 0.0048223648 + 687800 0.0060705661 0.0026165334 0.0056043901 + 687900 0.0053226716 0.0027118165 0.0053315689 + 688000 0.0062006393 0.0032390254 0.0062909025 + 688100 0.0059473391 0.0029908844 0.0059180903 + 688200 0.0062549256 0.0021358221 0.0052144183 + 688300 0.0055845248 0.0016409605 0.0043895938 + 688400 0.0041395863 0.0014861797 0.0035236323 + 688500 0.0057194777 0.0016127107 0.0044277662 + 688600 0.0050414016 0.0019692893 0.0044506042 + 688700 0.0046486158 0.002250906 0.0045388966 + 688800 0.0048799866 0.0023860639 0.0047879323 + 688900 0.0072120571 0.0024628402 0.0060125245 + 689000 0.0062512322 0.0025219784 0.0055987567 + 689100 0.00626328 0.0026380952 0.0057208034 + 689200 0.0045055548 0.0022181105 0.0044356882 + 689300 0.0045064541 0.0020769127 0.004294933 + 689400 0.0043024576 0.0021233551 0.004240971 + 689500 0.0053693969 0.0018926329 0.0045353829 + 689600 0.0054839597 0.0019569141 0.0046560505 + 689700 0.0042657687 0.0021556018 0.0042551598 + 689800 0.0038317575 0.0023508292 0.0042367724 + 689900 0.0051182071 0.0023658891 0.0048850067 + 690000 0.0051729599 0.0020806806 0.0046267468 + 690100 0.0048221896 0.0020947318 0.0044681533 + 690200 0.0061737236 0.0018237452 0.0048623748 + 690300 0.0047453692 0.0017034242 0.0040390356 + 690400 0.004637416 0.0021077306 0.0043902088 + 690500 0.0046235167 0.0026692926 0.0049449297 + 690600 0.0070649802 0.0024391651 0.00591646 + 690700 0.005604354 0.0027471965 0.0055055894 + 690800 0.005684871 0.0027483369 0.0055463594 + 690900 0.005652759 0.0028271717 0.005609389 + 691000 0.0057216402 0.0025706292 0.005386749 + 691100 0.0051943266 0.0030115843 0.0055681669 + 691200 0.0044125767 0.003576585 0.0057484001 + 691300 0.0048581677 0.0035070865 0.005898216 + 691400 0.006152544 0.0031108732 0.0061390784 + 691500 0.0040076262 0.0032249173 0.0051974208 + 691600 0.0060049994 0.0031453214 0.006100907 + 691700 0.0058396939 0.0026904008 0.0055646252 + 691800 0.0054325745 0.002653074 0.0053269192 + 691900 0.0042940458 0.0023197013 0.0044331769 + 692000 0.0044613984 0.0020832707 0.0042791153 + 692100 0.0062665778 0.0019233611 0.0050076923 + 692200 0.0042000614 0.0021041334 0.0041713511 + 692300 0.005367531 0.001656117 0.0042979486 + 692400 0.0047550689 0.0024898739 0.0048302594 + 692500 0.0059521447 0.0029900424 0.0059196136 + 692600 0.0052896146 0.0031780219 0.0057815041 + 692700 0.0048772087 0.0028020917 0.0052025928 + 692800 0.0057178287 0.0028638218 0.0056780656 + 692900 0.0053370127 0.0026270138 0.0052538247 + 693000 0.0054665977 0.002490169 0.0051807601 + 693100 0.007304878 0.0025287077 0.0061240774 + 693200 0.004594935 0.0027059757 0.0049675453 + 693300 0.0050787663 0.0022748099 0.0047745152 + 693400 0.0053769615 0.0020126602 0.0046591335 + 693500 0.0054797919 0.0022273983 0.0049244834 + 693600 0.0041089287 0.0024957423 0.0045181056 + 693700 0.0041709341 0.0025918975 0.0046447792 + 693800 0.0044031612 0.0028116242 0.004978805 + 693900 0.0057319818 0.0026048594 0.0054260691 + 694000 0.0040898646 0.0023163249 0.0043293051 + 694100 0.0049226123 0.0022471803 0.0046700285 + 694200 0.0057345602 0.0024211746 0.0052436534 + 694300 0.0046634757 0.002571209 0.0048665134 + 694400 0.0060118561 0.0023734428 0.0053324033 + 694500 0.0053722931 0.0020365569 0.0046807324 + 694600 0.0062807402 0.0021100497 0.0052013515 + 694700 0.0054601901 0.0024067036 0.005094141 + 694800 0.006168047 0.0023689426 0.0054047782 + 694900 0.0095267718 0.0019935477 0.0066825057 + 695000 0.0047937031 0.0024501114 0.0048095122 + 695100 0.0037958042 0.0026339212 0.0045021686 + 695200 0.0056756004 0.0024888803 0.0052823399 + 695300 0.0065095419 0.0027993367 0.0060032519 + 695400 0.0051315665 0.0028904789 0.0054161717 + 695500 0.0069468732 0.0024182345 0.0058373986 + 695600 0.0056513997 0.0021734505 0.0049549988 + 695700 0.0056084497 0.0021237303 0.0048841392 + 695800 0.0060200507 0.0025549098 0.0055179035 + 695900 0.0051746085 0.0028852457 0.0054321233 + 696000 0.0049811221 0.0030283082 0.0054799542 + 696100 0.0047199585 0.0026645625 0.0049876671 + 696200 0.00609094 0.0024145045 0.005412389 + 696300 0.0057625866 0.0022909599 0.0051272329 + 696400 0.0061051549 0.0020355491 0.00504043 + 696500 0.0053089259 0.0018318959 0.0044448829 + 696600 0.0064647536 0.0020428696 0.0052247405 + 696700 0.0043270026 0.0026228024 0.004752499 + 696800 0.0047763797 0.0020895256 0.0044404 + 696900 0.0054960134 0.0015044996 0.0042095687 + 697000 0.0057412272 0.0021565543 0.0049823146 + 697100 0.0049822177 0.0022433303 0.0046955156 + 697200 0.0068859033 0.0019204202 0.0053095757 + 697300 0.0062941827 0.0021658064 0.0052637245 + 697400 0.0045259021 0.0027498639 0.0049774563 + 697500 0.0059815416 0.0029234193 0.0058674593 + 697600 0.0049262988 0.00293233 0.0053569926 + 697700 0.0041274099 0.0024610964 0.004492556 + 697800 0.0041750089 0.0027867136 0.0048416008 + 697900 0.0045170928 0.0028606019 0.0050838585 + 698000 0.004331817 0.0025704307 0.0047024969 + 698100 0.0041904627 0.00215044 0.0042129333 + 698200 0.0043342335 0.0023475741 0.0044808296 + 698300 0.004870833 0.0019581358 0.0043554989 + 698400 0.0037380592 0.0021331644 0.0039729904 + 698500 0.0054283175 0.0025001123 0.0051718623 + 698600 0.006453305 0.0027314198 0.0059076558 + 698700 0.0048603363 0.0023230356 0.0047152324 + 698800 0.0049545953 0.0022071756 0.0046457655 + 698900 0.0046959783 0.0023317987 0.0046431005 + 699000 0.0047527583 0.0024121938 0.004751442 + 699100 0.0045180861 0.0025376875 0.004761433 + 699200 0.0043257015 0.0023829204 0.0045119766 + 699300 0.0047456035 0.0024294355 0.0047651622 + 699400 0.0047533517 0.002467943 0.0048074833 + 699500 0.0043115788 0.0027106607 0.0048327659 + 699600 0.0051867351 0.0024916009 0.005044447 + 699700 0.0056673025 0.0023043241 0.0050936995 + 699800 0.0044158495 0.0023423374 0.0045157634 + 699900 0.0046553666 0.0020414022 0.0043327155 + 700000 0.0041124431 0.0021283157 0.0041524087 + 700100 0.0035489934 0.0025431083 0.0042898785 + 700200 0.0050448855 0.0025122709 0.0049953005 + 700300 0.0054042868 0.002226945 0.0048868674 + 700400 0.0041230462 0.0019509109 0.0039802227 + 700500 0.0059743586 0.0018257735 0.0047662781 + 700600 0.0042343442 0.0020288969 0.0041129882 + 700700 0.0041105205 0.0016857469 0.0037088937 + 700800 0.0062865817 0.0022266324 0.0053208094 + 700900 0.004335309 0.0025686507 0.0047024356 + 701000 0.0053919158 0.0020676298 0.0047214633 + 701100 0.0047248832 0.00199119 0.0043167185 + 701200 0.0061358404 0.0017184038 0.0047383877 + 701300 0.0064010297 0.0018401704 0.0049906772 + 701400 0.0044026875 0.0028332273 0.0050001751 + 701500 0.0055039738 0.002506155 0.0052151421 + 701600 0.0058657982 0.0017129648 0.0046000374 + 701700 0.005512614 0.0019616901 0.0046749298 + 701800 0.0049804685 0.0022307498 0.0046820741 + 701900 0.004527185 0.0019739656 0.0042021895 + 702000 0.0037503489 0.0025604899 0.0044063648 + 702100 0.0048388703 0.0026641501 0.0050457815 + 702200 0.00842595 0.0021639486 0.0063110959 + 702300 0.0048317886 0.0022283997 0.0046065457 + 702400 0.0066856856 0.0024463853 0.0057369961 + 702500 0.0052957529 0.0019627941 0.0045692975 + 702600 0.0046066664 0.001991516 0.0042588595 + 702700 0.0053227988 0.0022730097 0.0048928247 + 702800 0.0055194918 0.0025759436 0.0052925685 + 702900 0.0054546865 0.0026017016 0.0052864301 + 703000 0.0046440362 0.002794403 0.0050801396 + 703100 0.0045048082 0.002415893 0.0046331033 + 703200 0.0051427819 0.0021451707 0.0046763837 + 703300 0.0056120331 0.0022242361 0.0049864086 + 703400 0.0063663283 0.0023730992 0.0055065264 + 703500 0.0040871773 0.0027858813 0.0047975388 + 703600 0.0054408471 0.0026429566 0.0053208736 + 703700 0.0055280654 0.0026507208 0.0053715654 + 703800 0.0046446191 0.0027030308 0.0049890543 + 703900 0.005423383 0.0027462047 0.0054155261 + 704000 0.0045490363 0.0027388825 0.0049778613 + 704100 0.0052451111 0.00195107 0.0045326481 + 704200 0.0050362582 0.0020559212 0.0045347045 + 704300 0.0044703785 0.0025013062 0.0047015706 + 704400 0.0045926053 0.0025500648 0.0048104877 + 704500 0.0055480234 0.0029254977 0.0056561654 + 704600 0.005644265 0.0032640429 0.0060420796 + 704700 0.0053657478 0.0032827885 0.0059237426 + 704800 0.0068919234 0.0029405143 0.0063326329 + 704900 0.0062081319 0.0023411845 0.0053967494 + 705000 0.0053901515 0.0024367068 0.005089672 + 705100 0.0045181341 0.002352379 0.0045761481 + 705200 0.0055717973 0.0023450564 0.0050874254 + 705300 0.0039964757 0.0025280924 0.0044951078 + 705400 0.0037341906 0.0025931871 0.004431109 + 705500 0.004407595 0.0025880873 0.0047574504 + 705600 0.0063088336 0.0023408854 0.0054460145 + 705700 0.0060971276 0.001956196 0.004957126 + 705800 0.0053906804 0.0024576837 0.0051109092 + 705900 0.0044576264 0.0026511833 0.0048451714 + 706000 0.0063575066 0.0023223801 0.0054514654 + 706100 0.0041399754 0.0022495603 0.0042872044 + 706200 0.0050920438 0.0022777741 0.0047840144 + 706300 0.0051722633 0.0024797707 0.0050254941 + 706400 0.0041823215 0.002251837 0.0043103234 + 706500 0.005019291 0.0021288003 0.0045992326 + 706600 0.0036707039 0.0021225139 0.0039291885 + 706700 0.0052803471 0.0022394159 0.0048383367 + 706800 0.0033932937 0.0022469429 0.0039170797 + 706900 0.0065647802 0.0022409199 0.0054720227 + 707000 0.0055697408 0.0020052435 0.0047466003 + 707100 0.0038820202 0.002327033 0.0042377149 + 707200 0.0042424916 0.0025031611 0.0045912624 + 707300 0.0045999956 0.002655885 0.0049199453 + 707400 0.0053482788 0.00280855 0.005440906 + 707500 0.0052686058 0.002488227 0.0050813689 + 707600 0.0050425971 0.0023952979 0.0048772012 + 707700 0.0050357041 0.0027353397 0.0052138503 + 707800 0.0045516876 0.0030465967 0.0052868804 + 707900 0.0062894235 0.0027051759 0.0058007515 + 708000 0.0053615644 0.0025166826 0.0051555776 + 708100 0.0042173766 0.002730763 0.004806503 + 708200 0.0058437459 0.0027442805 0.0056204992 + 708300 0.0053165099 0.0025189229 0.0051356426 + 708400 0.0057854742 0.0024221046 0.0052696427 + 708500 0.0044358559 0.0024928195 0.0046760924 + 708600 0.0049065432 0.0023358504 0.0047507896 + 708700 0.0054328423 0.0026213505 0.0052953276 + 708800 0.0050072377 0.0028986757 0.0053631755 + 708900 0.005348434 0.0026172187 0.005249651 + 709000 0.0051595203 0.0026232354 0.0051626868 + 709100 0.0048022785 0.0025167894 0.0048804109 + 709200 0.0039447465 0.0022219025 0.0041634574 + 709300 0.0035085763 0.0017662253 0.0034931027 + 709400 0.0035828143 0.0017804123 0.0035438287 + 709500 0.0035354483 0.0018424879 0.0035825913 + 709600 0.0046372901 0.0020122145 0.0042946307 + 709700 0.0050452352 0.0020424767 0.0045256784 + 709800 0.0046675761 0.0017808349 0.0040781575 + 709900 0.0037001108 0.0017657161 0.0035868644 + 710000 0.0065363874 0.0017993057 0.0050164338 + 710100 0.0059855023 0.0024764488 0.0054224383 + 710200 0.0043159348 0.0028485729 0.004972822 + 710300 0.0063765716 0.0026963601 0.005834829 + 710400 0.0052497885 0.0022294512 0.0048133314 + 710500 0.0054433937 0.0022657644 0.0049449347 + 710600 0.0067197362 0.0024796327 0.0057870029 + 710700 0.0038089282 0.0025687053 0.0044434122 + 710800 0.0060832095 0.0022215143 0.005215594 + 710900 0.004459414 0.00251339 0.0047082578 + 711000 0.0044517026 0.00202264 0.0042137124 + 711100 0.0062632759 0.0017762558 0.0048589619 + 711200 0.0043874685 0.0018577366 0.0040171938 + 711300 0.0051016576 0.0024149878 0.0049259598 + 711400 0.0063741904 0.0025255185 0.0056628154 + 711500 0.0074623482 0.0021529086 0.0058257831 + 711600 0.0049821141 0.0021041466 0.0045562809 + 711700 0.0057093734 0.0024517783 0.0052618605 + 711800 0.0067393659 0.002462522 0.0057795536 + 711900 0.0053360461 0.0025731586 0.0051994938 + 712000 0.0066111574 0.0026344255 0.0058883546 + 712100 0.0050636734 0.002686562 0.0051788387 + 712200 0.0053661041 0.0026373189 0.0052784483 + 712300 0.0042890241 0.0023859562 0.0044969602 + 712400 0.0043056223 0.0018745419 0.0039937154 + 712500 0.0045816021 0.0018892455 0.0041442528 + 712600 0.0049557441 0.0020698643 0.0045090196 + 712700 0.0046435859 0.0024959341 0.004781449 + 712800 0.0049985468 0.002759856 0.0052200783 + 712900 0.0073024873 0.0031212529 0.0067154459 + 713000 0.0061775856 0.0034683118 0.0065088422 + 713100 0.0055424228 0.0039743641 0.0067022753 + 713200 0.0051023643 0.0033834126 0.0058947325 + 713300 0.0057721185 0.0028223214 0.005663286 + 713400 0.0046010023 0.0024177259 0.0046822817 + 713500 0.0060285562 0.0022293893 0.0051965692 + 713600 0.0045902477 0.0021263336 0.0043855961 + 713700 0.0055477156 0.0027043603 0.0054348766 + 713800 0.0049202633 0.0033824589 0.005804151 + 713900 0.006895644 0.0024378561 0.0058318058 + 714000 0.0061042245 0.002099055 0.005103478 + 714100 0.0034656688 0.0023217679 0.0040275268 + 714200 0.00541201 0.0027180656 0.0053817893 + 714300 0.0057647472 0.0030096041 0.0058469407 + 714400 0.0054150709 0.0026080412 0.0052732714 + 714500 0.0056831196 0.0026751069 0.0054722673 + 714600 0.0049162292 0.0025379785 0.0049576851 + 714700 0.0031498045 0.0028130535 0.0043633479 + 714800 0.00545143 0.0027983131 0.0054814388 + 714900 0.0048905488 0.0026166982 0.0050237652 + 715000 0.005885664 0.0024806119 0.0053774621 + 715100 0.006467298 0.0024302014 0.0056133246 + 715200 0.0087812527 0.0028459847 0.0071680075 + 715300 0.0052087795 0.0031428369 0.0057065331 + 715400 0.0056225549 0.0031519668 0.0059193181 + 715500 0.0039819868 0.0032436261 0.0052035102 + 715600 0.0058666377 0.0030884882 0.0059759739 + 715700 0.0062338929 0.0027913305 0.0058595747 + 715800 0.0045525082 0.0023895745 0.0046302621 + 715900 0.0052938307 0.0021756668 0.0047812241 + 716000 0.0056472881 0.0023385969 0.0051181215 + 716100 0.0054541796 0.0026878091 0.0053722881 + 716200 0.0055407071 0.0024158274 0.0051428942 + 716300 0.0049640727 0.0019328656 0.0043761201 + 716400 0.0058088534 0.0017314084 0.0045904535 + 716500 0.0056890085 0.0022435514 0.0050436103 + 716600 0.0043240217 0.0029567948 0.0050850243 + 716700 0.0046277893 0.0034130027 0.0056907427 + 716800 0.0045051508 0.0033550789 0.0055724578 + 716900 0.0058126669 0.00301146 0.005872382 + 717000 0.0045743094 0.0030216706 0.0052730885 + 717100 0.0067958552 0.0031217447 0.0064665796 + 717200 0.0053906717 0.0031696663 0.0058228875 + 717300 0.0050342389 0.003292638 0.0057704275 + 717400 0.0076211864 0.0027250486 0.0064761013 + 717500 0.0051690387 0.00256508 0.0051092162 + 717600 0.0047975015 0.0025907291 0.0049519994 + 717700 0.0046844889 0.0025672634 0.0048729103 + 717800 0.0053231834 0.00230352 0.0049235243 + 717900 0.0045879745 0.0020731011 0.0043312448 + 718000 0.0052448591 0.0018008467 0.0043823008 + 718100 0.0045429356 0.0018206496 0.0040566258 + 718200 0.0049206584 0.0016794416 0.0041013281 + 718300 0.0051049775 0.0021215089 0.004634115 + 718400 0.0050807417 0.0024075919 0.0049082695 + 718500 0.0035639364 0.002433216 0.0041873409 + 718600 0.0050235029 0.0023379762 0.0048104816 + 718700 0.0061955491 0.0023335726 0.0053829444 + 718800 0.0049554193 0.0022728486 0.004711844 + 718900 0.0046714294 0.0025205597 0.0048197789 + 719000 0.0038117596 0.0022713257 0.0041474262 + 719100 0.0046905025 0.0023954525 0.0047040592 + 719200 0.0050958528 0.0026623781 0.0051704932 + 719300 0.0045915375 0.0030847939 0.0053446912 + 719400 0.0068085819 0.0029502808 0.0063013797 + 719500 0.0054456235 0.0029425732 0.005622841 + 719600 0.0048403131 0.0029125595 0.0052949011 + 719700 0.0058555095 0.0032769089 0.0061589175 + 719800 0.0060905681 0.0030911611 0.0060888626 + 719900 0.0058961262 0.0028312971 0.0057332967 + 720000 0.0043571727 0.0029269585 0.0050715044 + 720100 0.0054155599 0.0026692124 0.0053346833 + 720200 0.0062924787 0.0022701919 0.0053672713 + 720300 0.0055472282 0.0024956361 0.0052259125 + 720400 0.0047645276 0.0027543861 0.005099427 + 720500 0.0048689123 0.0026370285 0.0050334462 + 720600 0.0040258723 0.002450589 0.004432073 + 720700 0.0043753624 0.0024159328 0.0045694315 + 720800 0.0044801103 0.0027966544 0.0050017087 + 720900 0.0055535713 0.0031534819 0.0058868803 + 721000 0.005812833 0.0031807245 0.0060417283 + 721100 0.0051099171 0.0027039451 0.0052189824 + 721200 0.0063757248 0.0028758243 0.0060138763 + 721300 0.0060608641 0.0028269129 0.0058099945 + 721400 0.0067521886 0.0022807146 0.0056040574 + 721500 0.0079775298 0.0024625907 0.0063890312 + 721600 0.0039595333 0.0025551384 0.0045039712 + 721700 0.0051557393 0.0028190221 0.0053566126 + 721800 0.006101579 0.0023274298 0.0053305507 + 721900 0.0053495227 0.0024741949 0.0051071631 + 722000 0.0037778411 0.0026506795 0.0045100857 + 722100 0.0048796583 0.0023802069 0.0047819137 + 722200 0.0056003531 0.002351271 0.0051076948 + 722300 0.0048781076 0.0025054283 0.0049063719 + 722400 0.0058940419 0.0029824551 0.0058834289 + 722500 0.0067482511 0.003371585 0.0066929898 + 722600 0.0055613959 0.0029229383 0.0056601878 + 722700 0.0039802842 0.0026627006 0.0046217467 + 722800 0.0046526748 0.0022822784 0.0045722668 + 722900 0.0047381021 0.001986105 0.0043181396 + 723000 0.0053752879 0.0019466744 0.004592324 + 723100 0.0039425773 0.0025296308 0.0044701181 + 723200 0.004727608 0.0025590709 0.0048859404 + 723300 0.0073695184 0.0021660182 0.0057932031 + 723400 0.0048304559 0.0021579121 0.0045354021 + 723500 0.0061126359 0.0021783702 0.0051869332 + 723600 0.006074724 0.0025749245 0.0055648277 + 723700 0.0062946709 0.0027922863 0.0058904446 + 723800 0.0044147643 0.0026529682 0.00482586 + 723900 0.0054172571 0.0021750135 0.0048413197 + 724000 0.0049762403 0.0018012154 0.0042504586 + 724100 0.0048305438 0.0022080456 0.0045855789 + 724200 0.0046239238 0.0026523124 0.0049281499 + 724300 0.0067624025 0.0022923772 0.0056207471 + 724400 0.0056220092 0.0027152326 0.0054823152 + 724500 0.0050009646 0.0029965363 0.0054579485 + 724600 0.0054870962 0.0032361909 0.005936871 + 724700 0.0050187457 0.0026581843 0.0051283482 + 724800 0.0046544014 0.0022998906 0.0045907288 + 724900 0.0053920848 0.002350356 0.0050042727 + 725000 0.0048176224 0.0022109548 0.0045821284 + 725100 0.0037855182 0.0019044002 0.003767585 + 725200 0.0051670731 0.0020034579 0.0045466267 + 725300 0.0036564652 0.0018571547 0.0036568211 + 725400 0.0049316408 0.0017600516 0.0041873436 + 725500 0.005391405 0.0020577438 0.004711326 + 725600 0.0048547394 0.0024695381 0.0048589801 + 725700 0.0054764526 0.0025517997 0.0052472412 + 725800 0.0056130748 0.0017989134 0.0045615987 + 725900 0.0036602449 0.0024376915 0.0042392183 + 726000 0.0050690937 0.0023964737 0.0048914182 + 726100 0.0060525038 0.0021742851 0.0051532518 + 726200 0.0062178868 0.0019830661 0.0050434322 + 726300 0.0046236524 0.0026372459 0.0049129498 + 726400 0.003790019 0.0029006239 0.0047660239 + 726500 0.0043260917 0.002509471 0.0046387193 + 726600 0.0042037323 0.0024953303 0.0045643548 + 726700 0.0047689363 0.0023768848 0.0047240956 + 726800 0.006275833 0.0024485501 0.0055374367 + 726900 0.0046647714 0.0029890736 0.0052850158 + 727000 0.0069551677 0.0028327918 0.0062560384 + 727100 0.0069696203 0.0029651394 0.0063954994 + 727200 0.0038853012 0.0026858343 0.0045981309 + 727300 0.0053146343 0.0019873831 0.0046031797 + 727400 0.0048533683 0.0021305775 0.0045193447 + 727500 0.006072952 0.0021613939 0.0051504249 + 727600 0.0054395518 0.0025956251 0.0052729045 + 727700 0.0038169876 0.0029926998 0.0048713733 + 727800 0.0052435152 0.0029926047 0.0055733974 + 727900 0.0053945224 0.0027662502 0.0054213667 + 728000 0.0056626036 0.002666976 0.0054540388 + 728100 0.0052738483 0.0025921523 0.0051878745 + 728200 0.0055300478 0.0023553162 0.0050771366 + 728300 0.0051754391 0.0020550223 0.0046023087 + 728400 0.0053233732 0.0018375977 0.0044576954 + 728500 0.0053986971 0.0020158551 0.0046730263 + 728600 0.005037911 0.0024437289 0.0049233257 + 728700 0.0052866587 0.0026498071 0.0052518344 + 728800 0.0045756934 0.0027278381 0.0049799372 + 728900 0.0047997375 0.0029355335 0.0052979043 + 729000 0.0053584238 0.0030578125 0.0056951617 + 729100 0.0052998165 0.00309945 0.0057079535 + 729200 0.0047966366 0.0025077498 0.0048685944 + 729300 0.0065071286 0.0022496715 0.0054523989 + 729400 0.0059490021 0.0023088178 0.0052368423 + 729500 0.0048248681 0.002701094 0.0050758338 + 729600 0.0044050735 0.0027181035 0.0048862256 + 729700 0.0046026409 0.0028727864 0.0051381487 + 729800 0.003560876 0.0035781064 0.0053307251 + 729900 0.004461158 0.0031313448 0.0053270711 + 730000 0.0053890941 0.0029534265 0.0056058712 + 730100 0.0042935205 0.0030523971 0.0051656142 + 730200 0.0032257172 0.0028982212 0.0044858789 + 730300 0.0074439041 0.0022146651 0.0058784616 + 730400 0.0066302477 0.0023302466 0.0055935717 + 730500 0.0044350622 0.0022213373 0.0044042194 + 730600 0.0051867733 0.0019390478 0.0044919128 + 730700 0.0058199266 0.0022802388 0.0051447339 + 730800 0.0049805003 0.0026025608 0.0050539007 + 730900 0.0061408259 0.0027097877 0.0057322254 + 731000 0.0046861566 0.0030275973 0.0053340649 + 731100 0.0046049774 0.0034529954 0.0057195077 + 731200 0.0050150619 0.0035170925 0.0059854433 + 731300 0.0049855196 0.0034050824 0.0058588928 + 731400 0.0052861771 0.0031989564 0.0058007467 + 731500 0.0050310569 0.0036221626 0.0060983859 + 731600 0.0032395858 0.0036360984 0.005230582 + 731700 0.0037136495 0.0035277316 0.0053555434 + 731800 0.0065306024 0.0028484347 0.0060627156 + 731900 0.0048792426 0.0022694499 0.0046709522 + 732000 0.0062621543 0.0021209446 0.0052030987 + 732100 0.0041617432 0.0023739762 0.0044223341 + 732200 0.0053433096 0.0024005795 0.0050304897 + 732300 0.0039638492 0.0022119968 0.0041629538 + 732400 0.0057739545 0.0022432964 0.0050851646 + 732500 0.003615163 0.0021578765 0.0039372145 + 732600 0.0041377534 0.00193757 0.0039741205 + 732700 0.0046678435 0.0024785032 0.0047759574 + 732800 0.0044238898 0.0028991998 0.0050765831 + 732900 0.0047571408 0.003438596 0.0057800012 + 733000 0.0062393169 0.002922159 0.0059930728 + 733100 0.0051008772 0.0026119494 0.0051225374 + 733200 0.0051860872 0.0027533717 0.005305899 + 733300 0.0041608991 0.002757402 0.0048053445 + 733400 0.0049023398 0.0032544518 0.0056673222 + 733500 0.0044042623 0.0024661513 0.0046338741 + 733600 0.0051237213 0.00224759 0.0047694215 + 733700 0.004958243 0.0018829762 0.0043233614 + 733800 0.0065488072 0.0024645099 0.005687751 + 733900 0.0065743009 0.0030030583 0.006238847 + 734000 0.0041830645 0.0035291224 0.0055879744 + 734100 0.0062302237 0.0031534516 0.0062198898 + 734200 0.0045841334 0.0027625536 0.0050188067 + 734300 0.0047000942 0.0027887309 0.0051020585 + 734400 0.0047438467 0.002524387 0.0048592491 + 734500 0.005478782 0.0025837948 0.0052803828 + 734600 0.0060552915 0.0022458698 0.0052262086 + 734700 0.005763035 0.0020677774 0.0049042712 + 734800 0.0056495959 0.0022955265 0.005076187 + 734900 0.0058075006 0.0021992038 0.005057583 + 735000 0.0062557296 0.0022259034 0.0053048953 + 735100 0.0056651852 0.0022854259 0.0050737593 + 735200 0.0054949466 0.0022336839 0.004938228 + 735300 0.0048756964 0.0023675736 0.0047673304 + 735400 0.0036222881 0.0024222398 0.0042050847 + 735500 0.0053908631 0.0024658539 0.0051191693 + 735600 0.0030034386 0.0028967815 0.0043750364 + 735700 0.0071945302 0.0025167039 0.0060577617 + 735800 0.0054558165 0.0024278822 0.0051131668 + 735900 0.0067603392 0.0022290848 0.0055564393 + 736000 0.0047265573 0.0025056309 0.0048319833 + 736100 0.0044704206 0.0024042116 0.0046044967 + 736200 0.0041850707 0.0026010843 0.0046609238 + 736300 0.0063893539 0.0021993545 0.0053441146 + 736400 0.0045777307 0.0021165602 0.004369662 + 736500 0.004325573 0.0018186068 0.0039475998 + 736600 0.0049985944 0.0016558183 0.004116064 + 736700 0.00430051 0.0019698061 0.0040864634 + 736800 0.0039391449 0.0024088807 0.0043476785 + 736900 0.0040325741 0.0027644994 0.004749282 + 737000 0.0040416708 0.0028900938 0.0048793536 + 737100 0.0062155903 0.0024556265 0.0055148624 + 737200 0.0053450033 0.0024243357 0.0050550795 + 737300 0.0058307614 0.0025342033 0.0054040312 + 737400 0.0055895344 0.0024188332 0.0051699322 + 737500 0.0043714497 0.0022944116 0.0044459845 + 737600 0.0045381665 0.0025849434 0.0048185723 + 737700 0.0066302948 0.0023813028 0.0056446511 + 737800 0.0046008071 0.0024699824 0.0047344421 + 737900 0.003913195 0.0025747852 0.0045008109 + 738000 0.0037010125 0.0023300044 0.0041515965 + 738100 0.0038412193 0.0019904941 0.0038810942 + 738200 0.0042539763 0.001900879 0.003994633 + 738300 0.0045636029 0.0023146899 0.0045608382 + 738400 0.0046277169 0.0022026998 0.0044804042 + 738500 0.0051787664 0.0021012261 0.0046501502 + 738600 0.0046321183 0.0024054083 0.0046852791 + 738700 0.0054400791 0.002171961 0.0048495 + 738800 0.0045390155 0.002473151 0.0047071977 + 738900 0.0044836442 0.002332265 0.0045390586 + 739000 0.0038996885 0.0024779491 0.0043973271 + 739100 0.0043533801 0.0025991656 0.0047418449 + 739200 0.0041081391 0.003076561 0.0050985357 + 739300 0.005031996 0.002866324 0.0053430095 + 739400 0.0047757045 0.0023808085 0.0047313506 + 739500 0.0058663541 0.0026254409 0.005512787 + 739600 0.0050470222 0.0026784955 0.0051625767 + 739700 0.0058752639 0.003273439 0.0061651704 + 739800 0.0048566495 0.0034952679 0.0058856501 + 739900 0.006215888 0.003178255 0.0062376374 + 740000 0.0049417915 0.003500517 0.005932805 + 740100 0.0044080348 0.0037168261 0.0058864058 + 740200 0.0050800868 0.0034217746 0.0059221299 + 740300 0.0051812591 0.0033173481 0.005867499 + 740400 0.005024248 0.0030848359 0.005557708 + 740500 0.0055736838 0.002711443 0.0054547406 + 740600 0.00620886 0.0024317647 0.005487688 + 740700 0.0059149596 0.0023786942 0.0052899634 + 740800 0.005038254 0.0025854687 0.0050652344 + 740900 0.0059433929 0.0021965562 0.0051218199 + 741000 0.0053422062 0.0023331421 0.0049625092 + 741100 0.0048811763 0.0025730253 0.0049754793 + 741200 0.0044945471 0.0026805109 0.0048926708 + 741300 0.0038977281 0.0026560074 0.0045744205 + 741400 0.0059444788 0.0026328527 0.0055586508 + 741500 0.0039109559 0.0027231264 0.00464805 + 741600 0.0059473599 0.0027643436 0.0056915598 + 741700 0.0063808245 0.0028111811 0.0059517431 + 741800 0.0075317435 0.0028429088 0.0065499388 + 741900 0.0050376954 0.0032586507 0.0057381414 + 742000 0.0046076322 0.0035386888 0.0058065078 + 742100 0.0050231375 0.0036295736 0.0061018991 + 742200 0.0056971003 0.0028306425 0.0056346841 + 742300 0.0056155328 0.0024026868 0.0051665819 + 742400 0.0051776238 0.0021069177 0.0046552794 + 742500 0.0039165373 0.0024740437 0.0044017145 + 742600 0.0038827006 0.002707852 0.0046188688 + 742700 0.0065912571 0.0025890346 0.005833169 + 742800 0.0046744755 0.0020913817 0.0043921001 + 742900 0.0052829139 0.0018372542 0.0044374384 + 743000 0.0034245 0.0018860329 0.003571529 + 743100 0.0054364377 0.0023034785 0.0049792252 + 743200 0.0056709347 0.0028859194 0.0056770826 + 743300 0.0035788732 0.0027915731 0.0045530498 + 743400 0.0051809408 0.0022671512 0.0048171454 + 743500 0.0061519087 0.0022775673 0.0053054598 + 743600 0.0055728292 0.0025409092 0.0052837861 + 743700 0.0040110257 0.0023474295 0.0043216062 + 743800 0.0045236389 0.0029579302 0.0051844087 + 743900 0.00507242 0.0025058832 0.0050024649 + 744000 0.0060754345 0.0025085221 0.005498775 + 744100 0.0043453663 0.0031359684 0.0052747034 + 744200 0.0061201432 0.0023755464 0.0053878044 + 744300 0.0068006124 0.0020440984 0.0053912748 + 744400 0.0044863279 0.0023369767 0.0045450912 + 744500 0.0044166841 0.0022783019 0.0044521387 + 744600 0.0054196832 0.0024048963 0.0050723967 + 744700 0.0058789234 0.0022449237 0.0051384563 + 744800 0.0060235933 0.0027785327 0.00574327 + 744900 0.0049282958 0.0025295672 0.0049552128 + 745000 0.0073444256 0.0024675969 0.0060824314 + 745100 0.0053334685 0.0024743236 0.0050993902 + 745200 0.0053036148 0.0017995255 0.0044098984 + 745300 0.004751301 0.0020036814 0.0043422124 + 745400 0.0040740204 0.0022696933 0.0042748752 + 745500 0.0045682493 0.0020256092 0.0042740444 + 745600 0.0043720325 0.0020537265 0.0042055863 + 745700 0.0046895032 0.0020931056 0.0044012204 + 745800 0.0053375506 0.0020263822 0.0046534579 + 745900 0.0047093802 0.0019938002 0.0043116982 + 746000 0.0059661229 0.0020429619 0.004979413 + 746100 0.0046268342 0.0025135848 0.0047908548 + 746200 0.0048871096 0.0024344046 0.0048397788 + 746300 0.005504434 0.002343357 0.0050525706 + 746400 0.0048484444 0.0021113809 0.0044977246 + 746500 0.0046896286 0.0019402465 0.0042484231 + 746600 0.0037950606 0.0018309787 0.0036988601 + 746700 0.0047575126 0.0019831078 0.004324696 + 746800 0.0056029243 0.0019735554 0.0047312447 + 746900 0.0041221344 0.0023945189 0.004423382 + 747000 0.0043905199 0.0027148872 0.0048758462 + 747100 0.0056947035 0.0023054795 0.0051083414 + 747200 0.0062053518 0.0024579913 0.0055121879 + 747300 0.0034084649 0.0023988042 0.004076408 + 747400 0.0063478579 0.0021514503 0.0052757866 + 747500 0.0047270566 0.0026462871 0.0049728853 + 747600 0.0040536248 0.0025815516 0.0045766951 + 747700 0.0056939936 0.0024797184 0.0052822309 + 747800 0.0045190332 0.0024305716 0.0046547832 + 747900 0.0057081561 0.0028026068 0.0056120899 + 748000 0.0052079075 0.0031069468 0.0056702138 + 748100 0.0064422379 0.0030200336 0.0061908225 + 748200 0.0062936878 0.0032524008 0.0063500752 + 748300 0.0064990017 0.0029102526 0.00610898 + 748400 0.0042020107 0.0022912265 0.0043594037 + 748500 0.005554158 0.0021802531 0.0049139402 + 748600 0.0048726589 0.0024454459 0.0048437077 + 748700 0.0044583874 0.0027310978 0.0049254604 + 748800 0.0046398083 0.0024759289 0.0047595846 + 748900 0.0059927376 0.0024500201 0.0053995706 + 749000 0.0059776515 0.0027602487 0.0057023741 + 749100 0.0050845647 0.0026116324 0.0051141916 + 749200 0.0052675439 0.0025882461 0.0051808654 + 749300 0.0053032921 0.0025634208 0.0051736348 + 749400 0.0038556079 0.0024934771 0.0043911591 + 749500 0.0058805967 0.0022399138 0.00513427 + 749600 0.0028192951 0.0024167983 0.0038044201 + 749700 0.0047248203 0.0020752415 0.004400739 + 749800 0.0040115932 0.0022194436 0.0041938997 + 749900 0.0035853693 0.0025568843 0.0043215583 + 750000 0.0050410636 0.0022636794 0.0047448279 + 750100 0.0054794259 0.0021985637 0.0048954686 + 750200 0.0064024623 0.0022547973 0.0054060092 + 750300 0.005376482 0.0023072157 0.0049534529 + 750400 0.0047962459 0.002499519 0.0048601713 + 750500 0.0044724466 0.0021143772 0.0043156595 + 750600 0.0049200178 0.001952963 0.0043745342 + 750700 0.0055917465 0.0019977134 0.0047499012 + 750800 0.0048829226 0.0023975306 0.004800844 + 750900 0.0043684722 0.0024066039 0.0045567113 + 751000 0.0059162342 0.0028109387 0.0057228352 + 751100 0.0051281991 0.0028238686 0.0053479041 + 751200 0.0036671249 0.0027795016 0.0045844146 + 751300 0.0053650263 0.0029350603 0.0055756592 + 751400 0.0051614801 0.0026386973 0.0051791133 + 751500 0.0036698054 0.0026517222 0.0044579545 + 751600 0.005230006 0.0026473018 0.0052214454 + 751700 0.0042948455 0.0026516604 0.0047655296 + 751800 0.0049211815 0.0027447694 0.0051669134 + 751900 0.0054049606 0.0024544434 0.0051146975 + 752000 0.0047101126 0.0020991973 0.0044174559 + 752100 0.0053080399 0.0025581267 0.0051706776 + 752200 0.0051231896 0.0028061856 0.0053277555 + 752300 0.0052431007 0.0031186998 0.0056992884 + 752400 0.0055311441 0.0026319277 0.0053542877 + 752500 0.0055759373 0.0025710355 0.0053154421 + 752600 0.0070882226 0.0023217371 0.0058104717 + 752700 0.0037822435 0.0023981565 0.0042597294 + 752800 0.0064595481 0.0019056435 0.0050849524 + 752900 0.006001784 0.0018743678 0.0048283709 + 753000 0.0056806338 0.0020573056 0.0048532426 + 753100 0.0051993062 0.0021980095 0.0047570431 + 753200 0.0052703141 0.0021525907 0.0047465734 + 753300 0.006061095 0.0023756162 0.0053588115 + 753400 0.0042581189 0.0021563941 0.004252187 + 753500 0.0035409367 0.0022225813 0.0039653861 + 753600 0.0059838835 0.0023276238 0.0052728165 + 753700 0.0048521911 0.002205605 0.0045937928 + 753800 0.0065212574 0.002533506 0.0057431874 + 753900 0.0052802306 0.0027791533 0.0053780168 + 754000 0.0041792787 0.0029996416 0.0050566304 + 754100 0.0053438109 0.0027544546 0.0053846115 + 754200 0.0043081926 0.0025675863 0.0046880248 + 754300 0.0050488657 0.002415471 0.0049004595 + 754400 0.0051731432 0.0026462188 0.0051923753 + 754500 0.0040613025 0.0030563532 0.0050552755 + 754600 0.0058039363 0.0028677897 0.0057244146 + 754700 0.0067187783 0.0028995498 0.0062064485 + 754800 0.0055422837 0.0028354888 0.0055633315 + 754900 0.0049553087 0.0029661539 0.0054050949 + 755000 0.0035124803 0.0031042698 0.0048330687 + 755100 0.0048451815 0.0030150711 0.0053998089 + 755200 0.0048912692 0.0027056074 0.005113029 + 755300 0.0070965382 0.0027659171 0.0062587445 + 755400 0.0056410203 0.0026131273 0.005389567 + 755500 0.0059494461 0.002740203 0.005668446 + 755600 0.0049091725 0.0036078526 0.0060240859 + 755700 0.0072584857 0.003442929 0.007015465 + 755800 0.0048473702 0.0030685589 0.0054543739 + 755900 0.0073939171 0.0027511586 0.0063903522 + 756000 0.0057388908 0.0023131334 0.0051377438 + 756100 0.0050025067 0.0024018327 0.0048640039 + 756200 0.0050290121 0.0032160797 0.0056912966 + 756300 0.0062154599 0.003100306 0.0061594777 + 756400 0.0057622524 0.0027757749 0.0056118835 + 756500 0.0033844677 0.0028984755 0.0045642682 + 756600 0.0030458187 0.0028122705 0.0043113844 + 756700 0.0049989125 0.002650893 0.0051112953 + 756800 0.005438774 0.0027177763 0.0053946729 + 756900 0.0064345215 0.0022873804 0.0054543715 + 757000 0.0054148869 0.0020434471 0.0047085868 + 757100 0.0039633454 0.0024719108 0.0044226198 + 757200 0.0035241136 0.002695377 0.0044299017 + 757300 0.0065294705 0.0027342805 0.0059480042 + 757400 0.0042787877 0.0028754261 0.0049813919 + 757500 0.004104069 0.0027873973 0.0048073688 + 757600 0.0052740168 0.0028180694 0.0054138746 + 757700 0.0053656197 0.0027859351 0.0054268261 + 757800 0.0045525894 0.0025376646 0.0047783922 + 757900 0.0063290616 0.0019950017 0.0051100867 + 758000 0.0038844859 0.0024018758 0.0043137712 + 758100 0.0046441449 0.0022817925 0.0045675826 + 758200 0.0059545957 0.0024595959 0.0053903735 + 758300 0.006348938 0.0027083457 0.0058332136 + 758400 0.0062705255 0.0025824607 0.005668735 + 758500 0.0057980351 0.0024169712 0.0052706916 + 758600 0.0045798014 0.0029309559 0.0051850769 + 758700 0.0050828037 0.0027650834 0.0052667759 + 758800 0.0052318444 0.0021738362 0.0047488846 + 758900 0.0050535392 0.0018826566 0.0043699454 + 759000 0.0040458336 0.001742928 0.0037342367 + 759100 0.0047766126 0.0016458146 0.0039968036 + 759200 0.0041806371 0.0020348014 0.0040924587 + 759300 0.0059263999 0.0024389562 0.0053558562 + 759400 0.0057406246 0.0027157682 0.0055412319 + 759500 0.0046955166 0.0025260977 0.0048371723 + 759600 0.0043048124 0.0017030151 0.0038217899 + 759700 0.0032057468 0.002141725 0.0037195535 + 759800 0.0036349477 0.0024476493 0.0042367251 + 759900 0.0058100312 0.0029378824 0.0057975071 + 760000 0.0040487116 0.00298536 0.0049780853 + 760100 0.0047696571 0.0025676484 0.004915214 + 760200 0.0057520227 0.0023933416 0.0052244153 + 760300 0.0049526266 0.0024624451 0.004900066 + 760400 0.0040818879 0.0026224419 0.0046314962 + 760500 0.0050064182 0.0027115628 0.0051756592 + 760600 0.0054542108 0.0024283168 0.0051128111 + 760700 0.0054060965 0.0026428738 0.0053036869 + 760800 0.0045562878 0.003240853 0.0054834009 + 760900 0.004705339 0.0027771494 0.0050930584 + 761000 0.0062196024 0.002028444 0.0050896545 + 761100 0.005343256 0.0019878905 0.0046177743 + 761200 0.0044437601 0.0021774757 0.0043646389 + 761300 0.0044676199 0.0018706437 0.0040695504 + 761400 0.0050833732 0.0016833531 0.0041853259 + 761500 0.0055111082 0.0015899286 0.0043024271 + 761600 0.0047315321 0.0020348496 0.0043636506 + 761700 0.0046728636 0.0021097505 0.0044096755 + 761800 0.0037639796 0.0018414955 0.0036940792 + 761900 0.0055925034 0.0016474277 0.004399988 + 762000 0.0056186726 0.0015420724 0.0043075128 + 762100 0.0044671065 0.0013602237 0.0035588777 + 762200 0.0044186913 0.0016686965 0.0038435211 + 762300 0.0045124216 0.0022528575 0.004473815 + 762400 0.0041912933 0.0025304091 0.0045933113 + 762500 0.0046561293 0.0021688453 0.0044605339 + 762600 0.0049547569 0.0021304441 0.0045691135 + 762700 0.0050426998 0.0022373005 0.0047192542 + 762800 0.0050627927 0.0018788635 0.0043707067 + 762900 0.0043173558 0.0019426454 0.004067594 + 763000 0.0050729305 0.0016757875 0.0041726205 + 763100 0.0044266849 0.0019305754 0.0041093344 + 763200 0.0045701982 0.0022114515 0.0044608459 + 763300 0.0035622242 0.002333305 0.0040865872 + 763400 0.0055983752 0.0023068945 0.0050623448 + 763500 0.005220618 0.0019912101 0.004560733 + 763600 0.0068164405 0.0017200815 0.0050750483 + 763700 0.0045274309 0.0020582521 0.0042865969 + 763800 0.0045881929 0.0023221987 0.0045804499 + 763900 0.0047914313 0.0019326067 0.0042908893 + 764000 0.0066713469 0.0021889297 0.0054724832 + 764100 0.0034570344 0.002483274 0.0041847832 + 764200 0.0044358856 0.0023041714 0.0044874589 + 764300 0.0062791694 0.002341384 0.0054319127 + 764400 0.0054512003 0.0026013616 0.0052843743 + 764500 0.0053834777 0.0023600216 0.005009702 + 764600 0.0057859146 0.0021133491 0.0049611039 + 764700 0.0044797817 0.0023204235 0.004525316 + 764800 0.0057279616 0.0019314854 0.0047507165 + 764900 0.0071114748 0.0015771483 0.0050773273 + 765000 0.0041250508 0.0018653523 0.0038956507 + 765100 0.0042379216 0.0025462814 0.0046321334 + 765200 0.003277532 0.0026985551 0.0043117154 + 765300 0.0039069868 0.0022315652 0.0041545353 + 765400 0.0046728578 0.0017876401 0.0040875623 + 765500 0.0038059289 0.0017415293 0.00361476 + 765600 0.0053695768 0.0016139741 0.0042568127 + 765700 0.0037796989 0.0015785869 0.0034389074 + 765800 0.0037577532 0.0016474664 0.0034969856 + 765900 0.005171328 0.0017919565 0.0043372195 + 766000 0.0051159984 0.0020601801 0.0045782106 + 766100 0.0041706243 0.0026218784 0.0046746076 + 766200 0.0049618483 0.0027996782 0.0052418379 + 766300 0.0061253269 0.0028392902 0.0058540995 + 766400 0.0051390303 0.0031309494 0.0056603159 + 766500 0.0045185968 0.0029361548 0.0051601516 + 766600 0.0059574167 0.0028461203 0.0057782863 + 766700 0.0063876278 0.0029992186 0.0061431292 + 766800 0.0058374947 0.0028198417 0.0056929837 + 766900 0.0061492005 0.0026499744 0.005676534 + 767000 0.0062394823 0.0027706011 0.0058415964 + 767100 0.0045045671 0.0034799406 0.0056970322 + 767200 0.0056609524 0.0032044323 0.0059906823 + 767300 0.0061616625 0.0024192544 0.0054519476 + 767400 0.0078428419 0.0021777674 0.0060379161 + 767500 0.0049328919 0.002129649 0.0045575567 + 767600 0.0040038292 0.0016102289 0.0035808635 + 767700 0.0052858555 0.0015707906 0.0041724227 + 767800 0.0055834071 0.0017966338 0.0045447169 + 767900 0.0057264517 0.0019611954 0.0047796834 + 768000 0.0074895839 0.0023318847 0.0060181643 + 768100 0.0050790617 0.0024465886 0.0049464392 + 768200 0.005498831 0.0024912298 0.0051976857 + 768300 0.0046840972 0.0022167908 0.0045222449 + 768400 0.005601693 0.0022247557 0.0049818389 + 768500 0.0054631867 0.0023712328 0.0050601449 + 768600 0.0042050966 0.0030495216 0.0051192176 + 768700 0.004034788 0.0031651913 0.0051510636 + 768800 0.0056113964 0.0036939395 0.0064557987 + 768900 0.0060330245 0.004016652 0.0069860313 + 769000 0.005010591 0.0034525733 0.0059187236 + 769100 0.0049290208 0.0033528847 0.0057788871 + 769200 0.0047824108 0.0029380505 0.0052918934 + 769300 0.0052976978 0.0026332593 0.0052407199 + 769400 0.0036757622 0.0027467781 0.0045559424 + 769500 0.0055698032 0.0023588059 0.0051001934 + 769600 0.0048850773 0.0026193113 0.0050236853 + 769700 0.0057866805 0.0027755263 0.0056236581 + 769800 0.0048404598 0.0029133649 0.0052957787 + 769900 0.0054614441 0.0033933876 0.0060814421 + 770000 0.0071164972 0.0035631031 0.0070657541 + 770100 0.0048872617 0.0034444712 0.0058499204 + 770200 0.0037418479 0.0037673844 0.0056090751 + 770300 0.0052927622 0.0036302366 0.006235268 + 770400 0.0069252069 0.0028442022 0.0062527024 + 770500 0.0068245528 0.0026336852 0.0059926448 + 770600 0.0044047187 0.0030408404 0.0052087879 + 770700 0.0037865108 0.0029697149 0.0048333882 + 770800 0.0040082221 0.0027753497 0.0047481465 + 770900 0.005261794 0.0028792354 0.0054690247 + 771000 0.0044745366 0.0030823496 0.0052846606 + 771100 0.0062453739 0.0025265989 0.0056004938 + 771200 0.0070664918 0.0023081993 0.0057862383 + 771300 0.0061150996 0.0025046709 0.0055144464 + 771400 0.0046616116 0.0026184791 0.004912866 + 771500 0.0057541491 0.0028931719 0.0057252921 + 771600 0.0045193861 0.0035144117 0.005738797 + 771700 0.0061133201 0.0029465701 0.0059554698 + 771800 0.0073853433 0.002348316 0.0059832896 + 771900 0.005120566 0.0024728731 0.0049931516 + 772000 0.0043146682 0.0022069377 0.0043305635 + 772100 0.0054310192 0.0023029587 0.0049760384 + 772200 0.0053461676 0.0023195224 0.0049508393 + 772300 0.0054430278 0.0025630966 0.0052420868 + 772400 0.0057083626 0.0025809632 0.0053905479 + 772500 0.0035438347 0.0019350198 0.0036792509 + 772600 0.0046287831 0.0016816952 0.0039599244 + 772700 0.0044193334 0.0018893042 0.0040644448 + 772800 0.0033888587 0.0024549315 0.0041228854 + 772900 0.005791275 0.0022318815 0.0050822747 + 773000 0.0047806999 0.001942489 0.0042954897 + 773100 0.0047627811 0.0024491423 0.0047933237 + 773200 0.0051135219 0.0025537678 0.0050705793 + 773300 0.0049413139 0.0026527471 0.0050848001 + 773400 0.0051107643 0.002619867 0.0051353213 + 773500 0.004782897 0.0029955685 0.0053496507 + 773600 0.0060372602 0.0034482659 0.0064197299 + 773700 0.0053380314 0.0030892889 0.0057166012 + 773800 0.0055653756 0.002416815 0.0051560233 + 773900 0.0030916014 0.0023677344 0.0038893819 + 774000 0.0041355133 0.0021140919 0.0041495399 + 774100 0.0066359835 0.0021443027 0.0054104508 + 774200 0.0040168005 0.002589673 0.004566692 + 774300 0.0074651958 0.0022858271 0.0059601031 + 774400 0.0056268822 0.0025224593 0.0052919403 + 774500 0.0044420161 0.0032333048 0.0054196096 + 774600 0.0051212229 0.0031053426 0.0056259445 + 774700 0.0057872412 0.0028883253 0.005736733 + 774800 0.0067296246 0.0028162281 0.0061284652 + 774900 0.0050515561 0.0031573072 0.00564362 + 775000 0.0045585719 0.0033635907 0.0056072628 + 775100 0.0056690095 0.0034379325 0.0062281481 + 775200 0.0064784959 0.0030264928 0.0062151274 + 775300 0.0061005469 0.0027139555 0.0057165684 + 775400 0.0042602139 0.0029518611 0.0050486851 + 775500 0.0041526223 0.0029703788 0.0050142476 + 775600 0.005423769 0.0032962412 0.0059657525 + 775700 0.0053311863 0.0030866034 0.0057105467 + 775800 0.005373447 0.0031831501 0.0058278936 + 775900 0.0046788564 0.003605209 0.0059080836 + 776000 0.0057052219 0.0034041003 0.0062121392 + 776100 0.006446656 0.0032086367 0.0063816002 + 776200 0.004553333 0.0033980772 0.0056391707 + 776300 0.0057542978 0.0030471992 0.0058793926 + 776400 0.0059448737 0.0031433282 0.0060693207 + 776500 0.0060484096 0.0028574333 0.0058343849 + 776600 0.004154231 0.0029027784 0.004947439 + 776700 0.0052993655 0.0029405997 0.0055488811 + 776800 0.0046852901 0.003401405 0.0057074463 + 776900 0.0049258076 0.003005481 0.0054299019 + 777000 0.0055054146 0.0026950137 0.00540471 + 777100 0.0043405707 0.002386982 0.0045233566 + 777200 0.0042409675 0.002394251 0.0044816022 + 777300 0.0065817312 0.002272038 0.0055114838 + 777400 0.0056607482 0.0021157524 0.0049019019 + 777500 0.0041294106 0.002441151 0.0044735953 + 777600 0.006498838 0.0028874357 0.0060860825 + 777700 0.0060521737 0.0031155066 0.0060943109 + 777800 0.0051404979 0.0036152428 0.0061453316 + 777900 0.0063332917 0.0029589116 0.0060760786 + 778000 0.0051965257 0.002707939 0.005265604 + 778100 0.0042727617 0.0026640603 0.0047670602 + 778200 0.0061537397 0.002782534 0.0058113277 + 778300 0.0048477829 0.0030307002 0.0054167184 + 778400 0.0041724837 0.0028110987 0.004864743 + 778500 0.00564923 0.0021069102 0.0048873906 + 778600 0.0046627621 0.0020266598 0.004321613 + 778700 0.0060718439 0.0021260553 0.005114541 + 778800 0.0047523535 0.0023258503 0.0046648993 + 778900 0.0037421333 0.0023862016 0.0042280329 + 779000 0.004884848 0.0022436361 0.0046478972 + 779100 0.0055688979 0.0018776125 0.0046185544 + 779200 0.0051061414 0.001737976 0.004251155 + 779300 0.0043585646 0.0021747248 0.0043199558 + 779400 0.0043501646 0.0023124029 0.0044534996 + 779500 0.004118827 0.0026123789 0.0046396141 + 779600 0.0043090283 0.0025600038 0.0046808536 + 779700 0.0050649677 0.00211242 0.0046053338 + 779800 0.0053072689 0.0023269039 0.0049390754 + 779900 0.0042408744 0.0025621266 0.004649432 + 780000 0.0060346419 0.002146481 0.0051166563 + 780100 0.003739092 0.002122117 0.0039624513 + 780200 0.0055827145 0.0022600386 0.0050077809 + 780300 0.0046634646 0.002763709 0.005059008 + 780400 0.0026967542 0.0026923316 0.0040196403 + 780500 0.0049594774 0.0028133382 0.005254331 + 780600 0.0053823747 0.0028716393 0.0055207769 + 780700 0.0060878499 0.0023984169 0.0053947805 + 780800 0.0047142225 0.0023238028 0.0046440842 + 780900 0.005270047 0.0022342833 0.0048281346 + 781000 0.0038407111 0.0023692796 0.0042596296 + 781100 0.0045012984 0.0020617424 0.0042772252 + 781200 0.0053465185 0.0021556443 0.0047871339 + 781300 0.0042500363 0.0025787618 0.0046705765 + 781400 0.0037205141 0.0028517752 0.0046829657 + 781500 0.0044388644 0.002617395 0.0048021486 + 781600 0.0050748999 0.0026570397 0.005154842 + 781700 0.0047359117 0.0025233215 0.004854278 + 781800 0.004224243 0.0023535142 0.0044326338 + 781900 0.0072352933 0.0019243201 0.005485441 + 782000 0.0052743495 0.0021839152 0.0047798841 + 782100 0.0049240549 0.0024937685 0.0049173268 + 782200 0.0069230745 0.0028054286 0.0062128793 + 782300 0.0041847808 0.002639807 0.0046995037 + 782400 0.006818361 0.002375895 0.0057318071 + 782500 0.0063670244 0.0022963202 0.00543009 + 782600 0.0040635322 0.0023164519 0.0043164717 + 782700 0.0042352772 0.0021345434 0.0042190939 + 782800 0.0050750297 0.0021508274 0.0046486936 + 782900 0.0040647317 0.0026853061 0.0046859162 + 783000 0.0049423638 0.0029409727 0.0053735423 + 783100 0.0060129567 0.0031032797 0.0060627819 + 783200 0.0052679035 0.0031694985 0.0057622947 + 783300 0.004996054 0.0028753798 0.0053343751 + 783400 0.0057492229 0.0024931283 0.0053228239 + 783500 0.0050144607 0.0024761415 0.0049441964 + 783600 0.0039037804 0.0025661282 0.0044875202 + 783700 0.0059263582 0.0022169923 0.0051338718 + 783800 0.0045569088 0.0026046009 0.0048474545 + 783900 0.0047499747 0.0025451026 0.0048829808 + 784000 0.0062050931 0.0025355689 0.0055896382 + 784100 0.0057049597 0.0027322558 0.0055401656 + 784200 0.0043360677 0.0027604817 0.0048946401 + 784300 0.0059896912 0.0024487098 0.005396761 + 784400 0.0066883505 0.0023379813 0.0056299038 + 784500 0.0057098171 0.0025348177 0.0053451183 + 784600 0.0056984917 0.0024636475 0.0052683739 + 784700 0.0048148104 0.002481917 0.0048517065 + 784800 0.0050110408 0.0026235301 0.0050899017 + 784900 0.0071122206 0.0025243451 0.0060248911 + 785000 0.0062730121 0.0025066148 0.005594113 + 785100 0.0053423027 0.002749544 0.0053789586 + 785200 0.0052966945 0.002482863 0.0050898298 + 785300 0.0058966441 0.0023745615 0.0052768161 + 785400 0.005349662 0.0024237914 0.0050568282 + 785500 0.0053245045 0.0021565967 0.0047772513 + 785600 0.0062025232 0.0023888144 0.0054416188 + 785700 0.0057476646 0.0031639769 0.0059929055 + 785800 0.0050135435 0.0034536552 0.0059212587 + 785900 0.0059035802 0.0035046578 0.0064103262 + 786000 0.0072488795 0.002823302 0.0063911099 + 786100 0.0058825427 0.0026193208 0.0055146348 + 786200 0.0066810852 0.0023828628 0.0056712094 + 786300 0.0047438769 0.0023224673 0.0046573442 + 786400 0.0055667647 0.0023624136 0.0051023057 + 786500 0.0044387359 0.0021360012 0.0043206915 + 786600 0.004939587 0.0017155007 0.0041467036 + 786700 0.0055381918 0.0023742941 0.0051001229 + 786800 0.0049005054 0.0032716907 0.0056836582 + 786900 0.0059208778 0.0033736329 0.0062878149 + 787000 0.0050205322 0.0029061632 0.0053772063 + 787100 0.0059254158 0.0028350614 0.005751477 + 787200 0.0037888528 0.0027990029 0.0046638288 + 787300 0.005494431 0.0028928335 0.0055971238 + 787400 0.0041124735 0.0032199135 0.0052440216 + 787500 0.0061408942 0.0029044215 0.0059268929 + 787600 0.0044178147 0.0030002263 0.0051746195 + 787700 0.0038114825 0.0030851533 0.0049611174 + 787800 0.0040585671 0.0031358287 0.0051334047 + 787900 0.0053484015 0.0027475833 0.0053799996 + 788000 0.0057236086 0.0025360746 0.0053531632 + 788100 0.006615705 0.0026364286 0.0058925959 + 788200 0.0038737022 0.0028674176 0.0047740054 + 788300 0.0049857595 0.0027480897 0.0052020182 + 788400 0.0062351905 0.0022750505 0.0053439333 + 788500 0.0079013893 0.0027454652 0.0066344302 + 788600 0.0063821778 0.0031200006 0.0062612287 + 788700 0.0051644658 0.0028632594 0.0054051449 + 788800 0.0062499621 0.0026100182 0.0056861715 + 788900 0.0050886789 0.0022791367 0.0047837208 + 789000 0.004877516 0.0023462195 0.0047468719 + 789100 0.007415058 0.0028996014 0.0065492003 + 789200 0.0046384968 0.0032678341 0.0055508443 + 789300 0.0035420278 0.0030768573 0.0048201992 + 789400 0.0060063496 0.0026794783 0.0056357285 + 789500 0.0039798274 0.0025375031 0.0044963244 + 789600 0.0060685579 0.0023631136 0.0053499819 + 789700 0.0036966722 0.0022183743 0.0040378301 + 789800 0.006091201 0.0019284215 0.0049264345 + 789900 0.0051047256 0.002191797 0.0047042792 + 790000 0.0046166541 0.0024566555 0.004728915 + 790100 0.0050791106 0.0022107976 0.0047106724 + 790200 0.0069192886 0.0023355758 0.0057411632 + 790300 0.0049355588 0.0024155135 0.0048447339 + 790400 0.0047386218 0.0030825666 0.005414857 + 790500 0.0033130422 0.003715539 0.0053461769 + 790600 0.0063663696 0.0034377822 0.0065712298 + 790700 0.0065053943 0.0024262 0.0056280737 + 790800 0.0059703203 0.00216567 0.005104187 + 790900 0.0047487783 0.0024571803 0.0047944696 + 791000 0.0045096402 0.0024203794 0.0046399679 + 791100 0.005429998 0.0021846406 0.0048572177 + 791200 0.0050114567 0.0025544083 0.0050209846 + 791300 0.0045034551 0.00247051 0.0046870543 + 791400 0.0054585123 0.0024334271 0.0051200386 + 791500 0.0050030505 0.0025317863 0.0049942252 + 791600 0.0052244909 0.002640896 0.0052123251 + 791700 0.0040226798 0.0023412963 0.004321209 + 791800 0.0045924878 0.0021708959 0.004431261 + 791900 0.0043186282 0.0025420913 0.0046676662 + 792000 0.0053132712 0.0023110929 0.0049262186 + 792100 0.0047158561 0.002471106 0.0047921914 + 792200 0.0055980551 0.0024642553 0.005219548 + 792300 0.0066931979 0.0025467801 0.0058410885 + 792400 0.0052863919 0.002740569 0.005342465 + 792500 0.0058339233 0.0023645531 0.0052359373 + 792600 0.0043108451 0.0023545515 0.0044762956 + 792700 0.0036710202 0.0024857876 0.0042926178 + 792800 0.0053586891 0.0026501033 0.0052875831 + 792900 0.0051921185 0.0025013372 0.0050568331 + 793000 0.0048767728 0.0026457917 0.0050460783 + 793100 0.0053051134 0.0025512692 0.0051623797 + 793200 0.0065672461 0.0025679801 0.0058002965 + 793300 0.0046219423 0.0027293009 0.0050041632 + 793400 0.0060965834 0.0021946091 0.0051952712 + 793500 0.0065864033 0.0020275373 0.0052692827 + 793600 0.0050157586 0.002443357 0.0049120507 + 793700 0.0041810537 0.0023193463 0.0043772086 + 793800 0.006568625 0.0025340148 0.00576701 + 793900 0.006942124 0.0025223119 0.0059391386 + 794000 0.0057082936 0.0022466743 0.0050562251 + 794100 0.0059048244 0.0020879807 0.0049942615 + 794200 0.0035989649 0.0021624611 0.0039338267 + 794300 0.0041442046 0.0019991982 0.0040389239 + 794400 0.0048127606 0.002301327 0.0046701076 + 794500 0.0063486005 0.0020550647 0.0051797665 + 794600 0.0045070108 0.0018709143 0.0040892087 + 794700 0.0066507173 0.0016562854 0.0049296853 + 794800 0.0058048917 0.0023543859 0.005211481 + 794900 0.0054157688 0.0030154153 0.005680989 + 795000 0.0059276703 0.0028694574 0.0057869826 + 795100 0.0049109105 0.0027053821 0.0051224708 + 795200 0.0052765477 0.0026213693 0.0052184201 + 795300 0.0075606573 0.0029623531 0.0066836141 + 795400 0.0041450742 0.0034530381 0.0054931918 + 795500 0.0046144959 0.0029879769 0.005259174 + 795600 0.0051332446 0.0022391611 0.00476568 + 795700 0.0046089651 0.0016673794 0.0039358544 + 795800 0.0037169058 0.001499013 0.0033284276 + 795900 0.0042338594 0.0017011868 0.0037850395 + 796000 0.0047201046 0.002013108 0.0043362845 + 796100 0.0042828264 0.0024872694 0.004595223 + 796200 0.0047956819 0.0022701394 0.0046305141 + 796300 0.0044971902 0.0019273391 0.0041407999 + 796400 0.0054526686 0.0020086141 0.0046923494 + 796500 0.0057514089 0.0017623916 0.0045931631 + 796600 0.0047767482 0.0021300292 0.004481085 + 796700 0.0052351174 0.0019603263 0.0045369857 + 796800 0.0046108841 0.0022430875 0.004512507 + 796900 0.0039835244 0.0024227966 0.0043834375 + 797000 0.0045117755 0.0026333979 0.0048540374 + 797100 0.0049184783 0.0028167795 0.005237593 + 797200 0.0035094799 0.0024404344 0.0041677565 + 797300 0.0040951748 0.002210263 0.0042258568 + 797400 0.0062310247 0.0021242358 0.0051910682 + 797500 0.0046360506 0.0024901344 0.0047719406 + 797600 0.0039049948 0.002775946 0.0046979357 + 797700 0.0059088421 0.0023484324 0.0052566906 + 797800 0.0039390928 0.0029875041 0.0049262763 + 797900 0.0050481228 0.0030263987 0.0055110216 + 798000 0.0048879554 0.0026418226 0.0050476132 + 798100 0.0055848185 0.0018637972 0.0046125751 + 798200 0.00436728 0.0016415176 0.0037910382 + 798300 0.0038378697 0.0016732375 0.003562189 + 798400 0.0047584344 0.0018440517 0.0041860936 + 798500 0.0053816518 0.0021918258 0.0048406076 + 798600 0.004981872 0.0022664717 0.0047184868 + 798700 0.0034324861 0.0023997354 0.0040891622 + 798800 0.0062448504 0.0026420358 0.0057156731 + 798900 0.0033279578 0.0026003388 0.004238318 + 799000 0.004577038 0.0024228237 0.0046755846 + 799100 0.0042761839 0.002680875 0.0047855592 + 799200 0.0059084499 0.0025517871 0.0054598522 + 799300 0.0054161602 0.0026729891 0.0053387554 + 799400 0.0049709566 0.002686959 0.0051336017 + 799500 0.005605919 0.0022016365 0.0049607998 + 799600 0.0062506681 0.0024087426 0.0054852433 + 799700 0.0043178901 0.0026511468 0.0047763583 + 799800 0.0036375592 0.0025332789 0.0043236401 + 799900 0.0088062659 0.0023210805 0.0066554145 + 800000 0.0047475792 0.0029766507 0.0053133498 + 800100 0.0053780285 0.0028408666 0.005487865 + 800200 0.0042561201 0.0023569362 0.0044517453 + 800300 0.0069726781 0.0020174042 0.0054492692 + 800400 0.0052429809 0.0020128999 0.0045934296 + 800500 0.0054623073 0.0022073302 0.0048958096 + 800600 0.005314341 0.002410543 0.0050261952 + 800700 0.0042491855 0.0023005844 0.0043919804 + 800800 0.0049304448 0.0022270827 0.004653786 + 800900 0.0042620778 0.0029943279 0.0050920693 + 801000 0.0070284168 0.0032012301 0.006660529 + 801100 0.0043419001 0.003283531 0.0054205599 + 801200 0.0053074932 0.0031962479 0.0058085297 + 801300 0.0045356164 0.0031324869 0.0053648606 + 801400 0.0047788237 0.002898965 0.0052510423 + 801500 0.005409293 0.0026962475 0.0053586338 + 801600 0.0045611518 0.0027814959 0.0050264378 + 801700 0.0059699307 0.0022734888 0.0052118141 + 801800 0.0063573833 0.0023274667 0.0054564912 + 801900 0.0078256952 0.0020824898 0.0059341991 + 802000 0.0046909175 0.0024332216 0.0047420326 + 802100 0.0059378072 0.0020841797 0.0050066942 + 802200 0.0037090308 0.0020819125 0.0039074511 + 802300 0.0048176338 0.002468559 0.0048397382 + 802400 0.0050513099 0.002269863 0.0047560546 + 802500 0.0063720925 0.0022055939 0.0053418582 + 802600 0.0038642556 0.002563091 0.0044650293 + 802700 0.0047377395 0.0024164156 0.0047482718 + 802800 0.0045090912 0.0023733639 0.0045926822 + 802900 0.0034084743 0.0020788953 0.0037565037 + 803000 0.0047517753 0.0016107118 0.0039494762 + 803100 0.0051862177 0.0013974394 0.003950031 + 803200 0.0048048391 0.001440539 0.0038054207 + 803300 0.0040942295 0.0016900505 0.0037051791 + 803400 0.0048167812 0.0022910621 0.0046618216 + 803500 0.0060066946 0.0025738369 0.0055302569 + 803600 0.0055102742 0.0024420685 0.0051541566 + 803700 0.0052848992 0.0023765241 0.0049776855 + 803800 0.005709186 0.0018933414 0.0047033314 + 803900 0.0058216256 0.0023422865 0.0052076179 + 804000 0.0063122542 0.0031504246 0.0062572372 + 804100 0.006478378 0.0034353101 0.0066238867 + 804200 0.0038158722 0.0030593907 0.0049375153 + 804300 0.0037935757 0.002892681 0.0047598315 + 804400 0.0041470966 0.002302636 0.0043437852 + 804500 0.0059814467 0.0021414117 0.005085405 + 804600 0.0057614408 0.0024938675 0.0053295766 + 804700 0.005877214 0.0026776589 0.0055703502 + 804800 0.0055448434 0.00267543 0.0054045326 + 804900 0.0041293169 0.0024365954 0.0044689936 + 805000 0.0052557462 0.0025304368 0.0051172493 + 805100 0.0044277353 0.0026069109 0.0047861868 + 805200 0.0042157058 0.0025428591 0.0046177768 + 805300 0.0051300504 0.0023518956 0.0048768423 + 805400 0.0056986628 0.0021446834 0.004949494 + 805500 0.0040862988 0.0026968416 0.0047080668 + 805600 0.0053445524 0.0024950014 0.0051255233 + 805700 0.0046328082 0.0030051671 0.0052853774 + 805800 0.0062901589 0.0031190659 0.0062150034 + 805900 0.005964964 0.0027166388 0.0056525196 + 806000 0.0052464263 0.0021056274 0.0046878529 + 806100 0.0038199743 0.0019579432 0.0038380868 + 806200 0.0045404433 0.0026710497 0.0049057992 + 806300 0.0047215893 0.0023336816 0.0046575888 + 806400 0.0051127189 0.0019755149 0.0044919312 + 806500 0.0046328784 0.0019514081 0.0042316529 + 806600 0.0050013177 0.0019632875 0.0044248736 + 806700 0.0045928939 0.0020581683 0.0043187332 + 806800 0.0040818027 0.0017416763 0.0037506885 + 806900 0.0062965566 0.001795272 0.0048943584 + 807000 0.0052785056 0.0027161842 0.0053141987 + 807100 0.0056615863 0.0025147737 0.0053013357 + 807200 0.0049192605 0.0018273876 0.0042485861 + 807300 0.0055783016 0.0018010432 0.0045466135 + 807400 0.0035032677 0.0024616454 0.00418591 + 807500 0.0049012879 0.0028477034 0.0052600561 + 807600 0.0028520803 0.0028793742 0.0042831324 + 807700 0.004303775 0.0024081686 0.0045264328 + 807800 0.0054848654 0.0023037616 0.0050033438 + 807900 0.0047227929 0.002316374 0.0046408736 + 808000 0.0060443814 0.0019980631 0.0049730321 + 808100 0.0042484719 0.0020577852 0.00414883 + 808200 0.0045498856 0.0019028098 0.0041422067 + 808300 0.0043817863 0.0021268768 0.0042835373 + 808400 0.004893314 0.0022953434 0.0047037714 + 808500 0.0039825614 0.0018311444 0.0037913113 + 808600 0.0045126259 0.0017467643 0.0039678223 + 808700 0.0043919712 0.0018715614 0.0040332347 + 808800 0.0052609423 0.0022691551 0.0048585251 + 808900 0.0051161885 0.0021620711 0.0046801951 + 809000 0.0053667381 0.0018102708 0.0044517122 + 809100 0.005964616 0.0013841888 0.0043198982 + 809200 0.0040015926 0.0017803551 0.003749889 + 809300 0.0048171329 0.0014959495 0.0038668821 + 809400 0.0044075759 0.0015185586 0.0036879124 + 809500 0.0039027367 0.0014976983 0.0034185765 + 809600 0.0044195582 0.0017383442 0.0039135955 + 809700 0.0060770082 0.0018944717 0.0048854991 + 809800 0.0052381287 0.0022708 0.0048489415 + 809900 0.0062331933 0.0025189983 0.0055868981 + 810000 0.0052117375 0.0027215971 0.0052867491 + 810100 0.0046860523 0.0027908366 0.0050972529 + 810200 0.0053440923 0.0030171718 0.0056474673 + 810300 0.0043816919 0.0031941878 0.0053508018 + 810400 0.0034803424 0.0030359691 0.0047489502 + 810500 0.0072014713 0.0029644726 0.0065089467 + 810600 0.0044413655 0.0029755527 0.0051615372 + 810700 0.0052998465 0.0021462294 0.0047547476 + 810800 0.0061169548 0.0018983025 0.0049089911 + 810900 0.0047811834 0.0018117879 0.0041650267 + 811000 0.0046845312 0.0017826443 0.004088312 + 811100 0.0041670635 0.0017290717 0.0037800483 + 811200 0.0050198172 0.0019897446 0.0044604359 + 811300 0.0051853226 0.0022833533 0.0048355043 + 811400 0.0050966148 0.0024110831 0.0049195732 + 811500 0.0055804791 0.0023328576 0.0050794996 + 811600 0.0053258148 0.0025396021 0.0051609016 + 811700 0.0053249565 0.0022864462 0.0049073232 + 811800 0.0074357436 0.001997445 0.005657225 + 811900 0.0054566987 0.00230139 0.0049871089 + 812000 0.0053086761 0.002590243 0.005203107 + 812100 0.0066516685 0.0025940667 0.0058679348 + 812200 0.0052612937 0.0025595601 0.0051491031 + 812300 0.0053119389 0.0026792054 0.0052936753 + 812400 0.0044530018 0.002899332 0.0050910438 + 812500 0.0049782329 0.0027971215 0.0052473455 + 812600 0.0041544663 0.0024650766 0.004509853 + 812700 0.0043272722 0.002361145 0.0044909743 + 812800 0.0059868133 0.0022479285 0.0051945632 + 812900 0.0057209786 0.0021884717 0.0050042659 + 813000 0.0065183814 0.002836232 0.0060444978 + 813100 0.0068191659 0.0031433991 0.0064997073 + 813200 0.0064719736 0.0030410795 0.006226504 + 813300 0.0049284472 0.0028699491 0.0052956693 + 813400 0.0044919842 0.0027430744 0.0049539729 + 813500 0.0051173392 0.0028019323 0.0053206227 + 813600 0.0062477193 0.0028319583 0.0059070076 + 813700 0.0038002523 0.0028423917 0.0047128284 + 813800 0.0052187647 0.0023853611 0.0049539719 + 813900 0.0040763885 0.0021021236 0.0041084711 + 814000 0.0049471091 0.0020561868 0.0044910921 + 814100 0.003625941 0.0023533644 0.0041380072 + 814200 0.0048865858 0.0022529463 0.0046580627 + 814300 0.0053670699 0.0021934848 0.0048350895 + 814400 0.0045343823 0.0018983617 0.004130128 + 814500 0.0047302833 0.0017752168 0.0041034031 + 814600 0.0040343339 0.0024690427 0.0044546914 + 814700 0.0078393139 0.0023152406 0.0061736529 + 814800 0.0043292364 0.0024007933 0.0045315893 + 814900 0.0054516583 0.00264252 0.0053257581 + 815000 0.0061987923 0.0028213425 0.0058723106 + 815100 0.0049267229 0.003216012 0.0056408834 + 815200 0.0050142325 0.0033079696 0.0057759122 + 815300 0.0063515445 0.002742085 0.0058682358 + 815400 0.0063216618 0.002094496 0.0052059389 + 815500 0.0052208889 0.0021351667 0.0047048229 + 815600 0.0067967001 0.0023045455 0.0056497963 + 815700 0.0059363882 0.0023675894 0.0052894054 + 815800 0.0064635183 0.0024314381 0.0056127011 + 815900 0.0033918578 0.0025807393 0.0042501694 + 816000 0.0052281302 0.0026352826 0.005208503 + 816100 0.0064384254 0.0023116137 0.0054805262 + 816200 0.0052823494 0.0028666974 0.0054666037 + 816300 0.0056536983 0.0027759716 0.0055586513 + 816400 0.005232194 0.0021723714 0.0047475919 + 816500 0.0054521773 0.0020055299 0.0046890234 + 816600 0.0049525723 0.0023088615 0.0047464557 + 816700 0.0044822504 0.0025013925 0.0047075002 + 816800 0.0055931002 0.0020522488 0.0048051028 + 816900 0.0047394923 0.0022739445 0.0046066634 + 817000 0.004790025 0.0025941683 0.0049517588 + 817100 0.0060721058 0.0024014536 0.0053900682 + 817200 0.0066498111 0.0018879019 0.0051608558 + 817300 0.0046942672 0.0023337634 0.004644223 + 817400 0.0041535318 0.0022243729 0.0042686893 + 817500 0.0050083085 0.0023099498 0.0047749766 + 817600 0.0053138156 0.0020555472 0.0046709408 + 817700 0.0055686653 0.0023506662 0.0050914936 + 817800 0.003943332 0.0027738289 0.0047146876 + 817900 0.0058334326 0.0022911699 0.0051623125 + 818000 0.0046847678 0.0021436879 0.004449472 + 818100 0.004099318 0.0025337735 0.0045514066 + 818200 0.0042056372 0.0021938012 0.0042637632 + 818300 0.0064749188 0.001542726 0.0047296001 + 818400 0.0051786814 0.0017699251 0.0043188074 + 818500 0.0051408584 0.0021898032 0.0047200695 + 818600 0.004121438 0.0023140823 0.0043426025 + 818700 0.0044892885 0.0022472322 0.0044568039 + 818800 0.0050032251 0.0024176008 0.0048801257 + 818900 0.0028147999 0.0026067491 0.0039921584 + 819000 0.006275873 0.0023904689 0.0054793752 + 819100 0.0063925544 0.0026430923 0.0057894277 + 819200 0.0063934897 0.0028862621 0.0060330578 + 819300 0.0049828966 0.002776409 0.0052289284 + 819400 0.0056207399 0.0025809281 0.005347386 + 819500 0.0059295357 0.0022263679 0.0051448113 + 819600 0.0039280849 0.002575696 0.0045090503 + 819700 0.0064394063 0.0029028869 0.0060722822 + 819800 0.0059596363 0.0029447287 0.0058779872 + 819900 0.005454314 0.0026225556 0.0053071008 + 820000 0.0032863185 0.0024233731 0.004040858 + 820100 0.0034544514 0.002490749 0.0041909868 + 820200 0.0037342183 0.0022334698 0.0040714053 + 820300 0.0047097579 0.0022799217 0.0045980057 + 820400 0.006298471 0.0024310187 0.0055310475 + 820500 0.0056236747 0.0023734809 0.0051413833 + 820600 0.0049822499 0.0021192712 0.0045714724 + 820700 0.0051497466 0.0020425149 0.0045771558 + 820800 0.0052409072 0.0020128773 0.0045923863 + 820900 0.0045375392 0.0023131901 0.0045465102 + 821000 0.005835879 0.0023645718 0.0052369185 + 821100 0.0050944061 0.0031304243 0.0056378273 + 821200 0.0046687899 0.0031335897 0.0054315097 + 821300 0.0051538559 0.0029940386 0.005530702 + 821400 0.0042803441 0.0029779325 0.0050846644 + 821500 0.0067925589 0.0025988339 0.0059420465 + 821600 0.0028485078 0.002193758 0.0035957579 + 821700 0.0045113484 0.0022284613 0.0044488906 + 821800 0.004641166 0.0022930871 0.004577411 + 821900 0.004908513 0.0019863048 0.0044022136 + 822000 0.0044790754 0.0021394762 0.0043440211 + 822100 0.0041527406 0.002150464 0.004194391 + 822200 0.0039382173 0.0018142528 0.0037525942 + 822300 0.0047251518 0.0018633444 0.004189005 + 822400 0.00600305 0.0021488861 0.0051035123 + 822500 0.0051710833 0.0021969756 0.0047421182 + 822600 0.0056878192 0.002034021 0.0048334945 + 822700 0.0045168558 0.0024494283 0.0046725682 + 822800 0.0040789547 0.0026608005 0.004668411 + 822900 0.004739958 0.0029775656 0.0053105136 + 823000 0.0059729749 0.0029476817 0.0058875053 + 823100 0.0067650107 0.0025658432 0.0058954969 + 823200 0.0052314851 0.002192046 0.0047669176 + 823300 0.0040783583 0.002466153 0.00447347 + 823400 0.0064299243 0.0022529207 0.0054176491 + 823500 0.0040169727 0.0020893023 0.0040664061 + 823600 0.0034851301 0.0022180494 0.0039333869 + 823700 0.003442318 0.0021319421 0.003826208 + 823800 0.0039552023 0.0023192821 0.0042659832 + 823900 0.0049648514 0.0027002211 0.0051438589 + 824000 0.0043366124 0.00241935 0.0045537764 + 824100 0.0049156068 0.0027630434 0.0051824437 + 824200 0.0051426228 0.0025264072 0.0050575419 + 824300 0.0033793613 0.0026672169 0.0043304963 + 824400 0.0039661342 0.0024379426 0.0043900243 + 824500 0.0043242487 0.0021353393 0.0042636805 + 824600 0.004528486 0.0023034962 0.0045323604 + 824700 0.0054241163 0.0019687488 0.004638431 + 824800 0.0056545864 0.0019137463 0.0046968631 + 824900 0.0060621153 0.0022012977 0.005184995 + 825000 0.0058859759 0.0025340696 0.0054310734 + 825100 0.0039747307 0.0026518289 0.0046081417 + 825200 0.0044321154 0.0026641868 0.0048456186 + 825300 0.0048411763 0.0026286721 0.0050114386 + 825400 0.0043036186 0.0027937184 0.0049119057 + 825500 0.0047147395 0.0028431576 0.0051636934 + 825600 0.0045183359 0.0028346942 0.0050585627 + 825700 0.0034065603 0.0024475823 0.0041242487 + 825800 0.0056514441 0.0025805558 0.0053621259 + 825900 0.0039169921 0.0025144349 0.0044423295 + 826000 0.0055954837 0.0020423031 0.0047963302 + 826100 0.0047235916 0.0018884482 0.0042133409 + 826200 0.0049052228 0.0018359854 0.0042502747 + 826300 0.0063796615 0.0021620584 0.0053020481 + 826400 0.0053076528 0.0023900746 0.005002435 + 826500 0.0059605629 0.0023642806 0.0052979952 + 826600 0.0061276731 0.002377576 0.0053935401 + 826700 0.004463508 0.0021999674 0.0043968502 + 826800 0.0049579362 0.0020220155 0.0044622497 + 826900 0.0045854046 0.0019770457 0.0042339245 + 827000 0.0049187745 0.0021686279 0.0045895872 + 827100 0.0048412302 0.0020620868 0.0044448798 + 827200 0.0045258524 0.0023080332 0.0045356011 + 827300 0.0045403643 0.0023329309 0.0045676415 + 827400 0.0053563989 0.0023947827 0.0050311353 + 827500 0.0055059291 0.0029717256 0.0056816751 + 827600 0.0056445815 0.0028960672 0.0056742596 + 827700 0.0038862168 0.0028574619 0.0047702092 + 827800 0.0053947431 0.0025028525 0.0051580776 + 827900 0.0056205063 0.0029706195 0.0057369625 + 828000 0.0057522619 0.0032386558 0.0060698471 + 828100 0.006124037 0.0033842814 0.0063984559 + 828200 0.0053191519 0.0036594447 0.0062774648 + 828300 0.0058128148 0.0032876541 0.0061486489 + 828400 0.0050973113 0.0025602192 0.0050690521 + 828500 0.0061241486 0.0026861668 0.0057003962 + 828600 0.0067686244 0.0023503301 0.0056817624 + 828700 0.0034951327 0.0027120034 0.004432264 + 828800 0.0050376014 0.0024464101 0.0049258545 + 828900 0.0042770024 0.0023968363 0.0045019235 + 829000 0.0047937908 0.0026423938 0.0050018377 + 829100 0.0048200701 0.0029040012 0.0052763794 + 829200 0.0057462808 0.0025143534 0.005342601 + 829300 0.0047155092 0.0025204788 0.0048413935 + 829400 0.0060979228 0.0029958507 0.0059971721 + 829500 0.0046614221 0.0030922363 0.00538653 + 829600 0.0039483563 0.0025893264 0.0045326581 + 829700 0.0052675191 0.0022548532 0.0048474602 + 829800 0.0045914765 0.0023244881 0.0045843554 + 829900 0.0050963435 0.0023708818 0.0048792383 + 830000 0.0048485953 0.0022590341 0.0046454521 + 830100 0.0033770571 0.0022996178 0.0039617632 + 830200 0.004267265 0.0020753282 0.0041756228 + 830300 0.0045525936 0.0022220398 0.0044627694 + 830400 0.0058820649 0.0024802649 0.0053753437 + 830500 0.0057424369 0.0022756619 0.0051020175 + 830600 0.0057107082 0.0020120768 0.004822816 + 830700 0.0054309165 0.0023972716 0.0050703008 + 830800 0.0058142446 0.0023178378 0.0051795364 + 830900 0.0044257683 0.0023351242 0.004513432 + 831000 0.0060781597 0.0025086881 0.0055002823 + 831100 0.003751226 0.0028707326 0.0047170391 + 831200 0.0050524455 0.0022681902 0.0047549407 + 831300 0.0039466858 0.0018099531 0.0037524625 + 831400 0.0059125187 0.0017692154 0.0046792832 + 831500 0.0054842851 0.0021407587 0.0048400553 + 831600 0.0039606615 0.0024121882 0.0043615763 + 831700 0.0056039831 0.0023282783 0.0050864887 + 831800 0.005234449 0.0024197897 0.0049961201 + 831900 0.006157045 0.0023068296 0.0053372502 + 832000 0.0051908539 0.002474497 0.0050293704 + 832100 0.003658663 0.0021889589 0.0039897071 + 832200 0.0078320258 0.0015772511 0.0054320763 + 832300 0.0045103458 0.0021184677 0.0043384035 + 832400 0.0060987044 0.0024167754 0.0054184815 + 832500 0.0053287941 0.0023379442 0.0049607101 + 832600 0.0044703193 0.002082179 0.0042824143 + 832700 0.00501286 0.0021369516 0.0046042186 + 832800 0.0036212691 0.0025341454 0.0043164888 + 832900 0.0049054842 0.0020885783 0.0045029964 + 833000 0.0054331569 0.0022813384 0.0049554704 + 833100 0.0050388331 0.0024835693 0.00496362 + 833200 0.0057896921 0.002816323 0.005665937 + 833300 0.0053278077 0.0029264813 0.0055487616 + 833400 0.0051050825 0.0028107166 0.0053233744 + 833500 0.0040338301 0.0026917799 0.0046771806 + 833600 0.0042338599 0.0021876737 0.0042715266 + 833700 0.0065107082 0.0014693206 0.0046738098 + 833800 0.0044644381 0.0017716483 0.0039689889 + 833900 0.0065565852 0.0019840621 0.0052111314 + 834000 0.0040339211 0.0024341347 0.0044195802 + 834100 0.0036872366 0.0024179441 0.0042327559 + 834200 0.0040614351 0.0025669429 0.0045659304 + 834300 0.0055123799 0.0021579695 0.004871094 + 834400 0.0057747153 0.0021478039 0.0049900466 + 834500 0.0046271185 0.0021682526 0.0044456625 + 834600 0.0054621496 0.0019675529 0.0046559547 + 834700 0.0052572987 0.0020092097 0.0045967864 + 834800 0.0045219659 0.0024704585 0.0046961136 + 834900 0.0042684786 0.0024703569 0.0045712487 + 835000 0.004470116 0.0028491574 0.0050492926 + 835100 0.0061930909 0.0025783793 0.0056265412 + 835200 0.005210814 0.0024411945 0.005005892 + 835300 0.0036568806 0.0026309993 0.0044308702 + 835400 0.0045184196 0.0023154577 0.0045393673 + 835500 0.0044480338 0.0021770982 0.0043663648 + 835600 0.005490461 0.0022450968 0.0049474331 + 835700 0.0053466726 0.0019989442 0.0046305097 + 835800 0.0052081136 0.0021705242 0.0047338926 + 835900 0.0045185849 0.0025838512 0.0048078423 + 836000 0.0047286416 0.002649399 0.0049767773 + 836100 0.0056849732 0.0021896471 0.0049877199 + 836200 0.0044277628 0.0022957362 0.0044750257 + 836300 0.0055613703 0.0025503386 0.0052875755 + 836400 0.004775201 0.0026181684 0.0049684626 + 836500 0.0071984565 0.0028265682 0.0063695585 + 836600 0.00573876 0.0031592187 0.0059837646 + 836700 0.0039550605 0.0027793702 0.0047260016 + 836800 0.0045246554 0.0025512495 0.0047782283 + 836900 0.0043012976 0.0023690972 0.0044861421 + 837000 0.005187605 0.002313835 0.0048671093 + 837100 0.0058732598 0.0023961018 0.0052868469 + 837200 0.0038082858 0.0025417435 0.0044161342 + 837300 0.0061705956 0.0025193594 0.0055564494 + 837400 0.0042735823 0.0025749844 0.0046783882 + 837500 0.007770958 0.0021384158 0.0059631842 + 837600 0.0062408411 0.0023705574 0.0054422214 + 837700 0.0047165518 0.0023893503 0.0047107781 + 837800 0.0055616203 0.0023528334 0.0050901934 + 837900 0.0054264137 0.0024624729 0.0051332859 + 838000 0.0048794242 0.002512766 0.0049143576 + 838100 0.0057731918 0.0023105879 0.0051520807 + 838200 0.0055200427 0.0023337216 0.0050506176 + 838300 0.0040363989 0.002127573 0.0041142381 + 838400 0.0055541428 0.0023825146 0.0051161943 + 838500 0.0041326425 0.0023708453 0.0044048803 + 838600 0.0049195455 0.0020697711 0.0044911099 + 838700 0.0052179656 0.0019570358 0.0045252532 + 838800 0.0050416794 0.0018582538 0.0043397054 + 838900 0.0038254488 0.0017116579 0.003594496 + 839000 0.0045339968 0.0018011569 0.0040327334 + 839100 0.0034792051 0.001936047 0.0036484683 + 839200 0.0043422409 0.0023337095 0.0044709062 + 839300 0.0070211968 0.0022619689 0.0057177141 + 839400 0.0045569859 0.0029365632 0.0051794547 + 839500 0.0035775053 0.0034120498 0.0051728531 + 839600 0.0040259719 0.0029285483 0.0049100813 + 839700 0.0051603533 0.0023147554 0.0048546168 + 839800 0.0028369066 0.0021162648 0.0035125548 + 839900 0.0053925541 0.0020162644 0.0046704121 + 840000 0.0048267114 0.0017858008 0.0041614478 + 840100 0.0037645962 0.002003736 0.0038566231 + 840200 0.0039738336 0.0021812672 0.0041371384 + 840300 0.0052570343 0.0024734887 0.0050609353 + 840400 0.0066241092 0.0030962639 0.0063565676 + 840500 0.0043609674 0.003124712 0.0052711257 + 840600 0.0045731418 0.0031021083 0.0053529515 + 840700 0.0044346001 0.0024353235 0.0046179782 + 840800 0.0033480902 0.0022570163 0.0039049045 + 840900 0.0046675844 0.0025826689 0.0048799956 + 841000 0.0040203632 0.0027812847 0.0047600572 + 841100 0.0048031692 0.0026939012 0.005057961 + 841200 0.0042992318 0.0024993002 0.0046153284 + 841300 0.0049062746 0.0022976992 0.0047125062 + 841400 0.0047030535 0.0022122699 0.0045270541 + 841500 0.0036737918 0.0022782194 0.0040864138 + 841600 0.0048798797 0.0020628673 0.0044646831 + 841700 0.0060230594 0.0019682301 0.0049327046 + 841800 0.0047416602 0.0021143409 0.0044481268 + 841900 0.005406667 0.0023905406 0.0050516345 + 842000 0.0053568623 0.0023828496 0.0050194302 + 842100 0.0047210217 0.0023132216 0.0046368495 + 842200 0.0053284994 0.0016615812 0.004284202 + 842300 0.0039875488 0.0014658586 0.0034284803 + 842400 0.0050846053 0.0018372752 0.0043398544 + 842500 0.0047145176 0.0021211996 0.0044416263 + 842600 0.0065741419 0.0020455703 0.0052812807 + 842700 0.0053824048 0.0022100907 0.004859243 + 842800 0.0070901323 0.0028864104 0.0063760849 + 842900 0.006261735 0.0031421571 0.0062241048 + 843000 0.0073970066 0.0024377602 0.0060784744 + 843100 0.0077186894 0.0021741203 0.0059731627 + 843200 0.0052520145 0.0023543176 0.0049392935 + 843300 0.0059851219 0.0022066505 0.0051524527 + 843400 0.0060267234 0.0022866255 0.0052529035 + 843500 0.0052625499 0.00251117 0.0051013313 + 843600 0.0064319778 0.0020490237 0.0052147628 + 843700 0.0055466806 0.0017052454 0.0044352523 + 843800 0.0048038209 0.0022678594 0.00463224 + 843900 0.0052426634 0.0027229423 0.0053033157 + 844000 0.0058352624 0.0025452792 0.0054173225 + 844100 0.0063911752 0.002198614 0.0053442705 + 844200 0.0052897833 0.0028066296 0.0054101948 + 844300 0.0045628879 0.0034054878 0.0056512842 + 844400 0.0042721335 0.0032769394 0.0053796301 + 844500 0.0076991753 0.00275888 0.0065483178 + 844600 0.005261308 0.0023630164 0.0049525664 + 844700 0.0055158389 0.0019556998 0.0046705268 + 844800 0.0043535408 0.0018393265 0.0039820849 + 844900 0.0056888057 0.0017300913 0.0045300504 + 845000 0.0035302541 0.0019901145 0.0037276614 + 845100 0.0055331086 0.0024746851 0.005198012 + 845200 0.0041853608 0.002868687 0.0049286693 + 845300 0.0049791719 0.0025666168 0.0050173029 + 845400 0.0057611345 0.0021362682 0.0049718266 + 845500 0.0054938149 0.0017349966 0.0044389836 + 845600 0.0030976192 0.002219519 0.0037441284 + 845700 0.0053988939 0.0022972851 0.0049545532 + 845800 0.0046649276 0.0023717831 0.0046678022 + 845900 0.0045254186 0.0020473423 0.0042746968 + 846000 0.0042981272 0.0017364579 0.0038519424 + 846100 0.0042372561 0.0018138571 0.0038993816 + 846200 0.0041472209 0.002067507 0.0041087173 + 846300 0.0046595519 0.0020638533 0.0043572265 + 846400 0.0056717714 0.0021146701 0.0049062451 + 846500 0.0056763232 0.0017697501 0.0045635654 + 846600 0.0055512485 0.0018700167 0.0046022718 + 846700 0.0044331811 0.0024373158 0.0046192722 + 846800 0.0047968819 0.0024873948 0.0048483601 + 846900 0.0060923246 0.0024314535 0.0054300195 + 847000 0.0065242233 0.0023046501 0.0055157913 + 847100 0.0058650057 0.0025653313 0.0054520138 + 847200 0.0059613498 0.0023033575 0.0052374594 + 847300 0.0052625035 0.0020083009 0.0045984393 + 847400 0.0045508044 0.0018274772 0.0040673262 + 847500 0.0046829842 0.0018791618 0.0041840681 + 847600 0.0065232685 0.0015820347 0.0047927059 + 847700 0.0048658844 0.0020828085 0.0044777359 + 847800 0.0044100869 0.0025104955 0.0046810851 + 847900 0.005612112 0.0022656499 0.0050278613 + 848000 0.0049533484 0.0021970468 0.004635023 + 848100 0.0064068971 0.0022228496 0.0053762443 + 848200 0.0052178494 0.0023642775 0.0049324378 + 848300 0.005242876 0.0021139618 0.0046944398 + 848400 0.005233945 0.0018275016 0.0044035838 + 848500 0.0047511328 0.0020952437 0.0044336919 + 848600 0.0062191378 0.0021583366 0.0052193185 + 848700 0.0050845735 0.0027331178 0.0052356813 + 848800 0.0046669288 0.0031194839 0.0054164879 + 848900 0.0057861867 0.0026998931 0.0055477818 + 849000 0.0040794109 0.0024759441 0.0044837791 + 849100 0.006964246 0.0021107849 0.0055384997 + 849200 0.0047003505 0.0020776899 0.0043911437 + 849300 0.0065568356 0.0020612993 0.0052884918 + 849400 0.0066980102 0.0021599752 0.0054566522 + 849500 0.0037843096 0.002101379 0.0039639689 + 849600 0.0059152337 0.0019559547 0.0048673588 + 849700 0.0044807194 0.0019320627 0.0041374167 + 849800 0.0049484543 0.0018207869 0.0042563542 + 849900 0.0046342405 0.0017501765 0.0040310917 + 850000 0.0042557518 0.0019558883 0.0040505161 + 850100 0.0055666851 0.0018933254 0.0046331782 + 850200 0.0051628926 0.0018375648 0.004378676 + 850300 0.0060539418 0.0021834358 0.0051631102 + 850400 0.0064220342 0.0017365857 0.0048974306 + 850500 0.00453956 0.0016723056 0.0039066203 + 850600 0.0044059863 0.0023173061 0.0044858774 + 850700 0.0062476039 0.0025545353 0.0056295279 + 850800 0.0054464162 0.0024077276 0.0050883856 + 850900 0.0048093473 0.0027211888 0.0050882894 + 851000 0.0059969987 0.0026640692 0.005615717 + 851100 0.0058810876 0.002279412 0.0051740098 + 851200 0.0053702511 0.0021773895 0.00482056 + 851300 0.0053551939 0.0021548459 0.0047906053 + 851400 0.0052382147 0.002165118 0.0047433018 + 851500 0.0048057351 0.0022932947 0.0046586174 + 851600 0.0055503277 0.0023176497 0.0050494516 + 851700 0.0048691341 0.0023908128 0.0047873397 + 851800 0.004261001 0.0025219515 0.0046191629 + 851900 0.0052498133 0.002362204 0.0049460965 + 852000 0.0055613528 0.0027253419 0.0054625702 + 852100 0.0051720638 0.0029110326 0.0054566577 + 852200 0.0067253331 0.002393966 0.0057040908 + 852300 0.006512127 0.0022001058 0.0054052933 + 852400 0.004502141 0.0024792577 0.0046951552 + 852500 0.0054091104 0.0026458971 0.0053081936 + 852600 0.005048736 0.0024514297 0.0049363545 + 852700 0.0046016059 0.0022307605 0.0044956134 + 852800 0.0053381637 0.0020245972 0.0046519747 + 852900 0.0055076737 0.0017909959 0.0045018041 + 853000 0.0046346044 0.0019958598 0.0042769542 + 853100 0.0038289196 0.0023574268 0.0042419732 + 853200 0.0044546887 0.002205101 0.0043976431 + 853300 0.0059651345 0.0017927315 0.0047286962 + 853400 0.003775182 0.0019044134 0.0037625108 + 853500 0.006837822 0.001961426 0.0053269165 + 853600 0.0060769501 0.0026702197 0.0056612186 + 853700 0.0039096869 0.0027154868 0.0046397858 + 853800 0.006133446 0.0023276151 0.0053464205 + 853900 0.0057418649 0.0025840553 0.0054101295 + 854000 0.0053203958 0.0027285542 0.0053471864 + 854100 0.0067636017 0.0024558042 0.0057847644 + 854200 0.0046752508 0.002789197 0.005090297 + 854300 0.0045754148 0.0027093244 0.0049612864 + 854400 0.0052798887 0.0026714527 0.0052701479 + 854500 0.0042314549 0.0026879602 0.0047706294 + 854600 0.0031615889 0.0024378487 0.0039939432 + 854700 0.0047602861 0.0021016679 0.0044446212 + 854800 0.0032091787 0.0020056082 0.0035851258 + 854900 0.0046902377 0.0019665593 0.0042750357 + 855000 0.0050625128 0.0019664955 0.004458201 + 855100 0.0044396621 0.0018055282 0.0039906745 + 855200 0.0047577589 0.0016857722 0.0040274816 + 855300 0.0058270854 0.0017305205 0.004598539 + 855400 0.0056623822 0.0019684333 0.004755387 + 855500 0.0046031268 0.0019018094 0.0041674108 + 855600 0.0055225927 0.001564644 0.0042827951 + 855700 0.0047352652 0.0020640989 0.0043947372 + 855800 0.0053739233 0.0023709866 0.0050159645 + 855900 0.0054566935 0.0019926245 0.0046783409 + 856000 0.0049259958 0.0020305152 0.0044550288 + 856100 0.0047612273 0.0020647083 0.0044081249 + 856200 0.0036754571 0.0025173661 0.0043263802 + 856300 0.0038839621 0.0030060816 0.0049177193 + 856400 0.005432569 0.0027180454 0.0053918879 + 856500 0.0045667639 0.0024800248 0.0047277289 + 856600 0.0045306126 0.0027250226 0.0049549335 + 856700 0.0065503734 0.0025893617 0.0058133736 + 856800 0.0039332615 0.0029387001 0.0048746023 + 856900 0.005232812 0.0026016934 0.0051772181 + 857000 0.0058396579 0.0027521462 0.0056263528 + 857100 0.0046618408 0.0026488803 0.00494338 + 857200 0.0044883409 0.0023662758 0.0045753812 + 857300 0.0058773936 0.002197875 0.0050906547 + 857400 0.0064193404 0.0024161879 0.005575707 + 857500 0.006102218 0.0028075766 0.0058110121 + 857600 0.0037756928 0.0028732953 0.0047316441 + 857700 0.0053214273 0.0021494542 0.0047685942 + 857800 0.0055117309 0.0019976169 0.004710422 + 857900 0.0057016658 0.0025047956 0.0053110842 + 858000 0.0050055554 0.0029010384 0.0053647102 + 858100 0.004916797 0.0026673228 0.0050873088 + 858200 0.0058578444 0.0023044549 0.0051876127 + 858300 0.00468587 0.0021864549 0.0044927816 + 858400 0.0048895434 0.0021119848 0.0045185569 + 858500 0.0056833216 0.0018307458 0.0046280056 + 858600 0.0065594176 0.0018144372 0.0050429005 + 858700 0.0060607374 0.0022876948 0.005270714 + 858800 0.0046204539 0.0025472064 0.0048213361 + 858900 0.0050119734 0.0024940559 0.0049608866 + 859000 0.004900692 0.0022765165 0.0046885759 + 859100 0.0055177781 0.0020718244 0.0047876058 + 859200 0.0053368728 0.0020380228 0.0046647649 + 859300 0.0039148796 0.0018189108 0.0037457656 + 859400 0.0041831284 0.001724247 0.0037831305 + 859500 0.0051793168 0.0016918975 0.0042410925 + 859600 0.0048196829 0.0024996152 0.0048718029 + 859700 0.0047215425 0.0023383387 0.0046622229 + 859800 0.0056792344 0.0018095158 0.004604764 + 859900 0.0063744758 0.0018962116 0.0050336489 + 860000 0.0033915695 0.0023083792 0.0039776674 + 860100 0.0061009431 0.0018095954 0.0048124033 + 860200 0.0056129262 0.0015984848 0.0043610969 + 860300 0.00572689 0.001697176 0.0045158796 + 860400 0.0048540608 0.0019389007 0.0043280088 + 860500 0.0053889216 0.0016975892 0.004349949 + 860600 0.0043571996 0.0015387656 0.0036833247 + 860700 0.0052913286 0.0018820538 0.0044863796 + 860800 0.0040162349 0.0023712742 0.0043480148 + 860900 0.0053015046 0.0017524227 0.004361757 + 861000 0.0044442009 0.0017887084 0.0039760886 + 861100 0.0049929858 0.0018720085 0.0043294938 + 861200 0.007230973 0.001434559 0.0049935535 + 861300 0.0030402733 0.001910658 0.0034070426 + 861400 0.0052795339 0.0022540369 0.0048525574 + 861500 0.007031134 0.0025223269 0.0059829632 + 861600 0.0056175692 0.0022294717 0.004994369 + 861700 0.0062873133 0.0019052813 0.0049998183 + 861800 0.0031757268 0.0020065916 0.0035696446 + 861900 0.0041443244 0.0018873598 0.0039271445 + 862000 0.0040901869 0.0015282853 0.0035414241 + 862100 0.0055378216 0.001517036 0.0042426825 + 862200 0.0041640274 0.0017120049 0.0037614871 + 862300 0.0049211552 0.0018080548 0.0042301858 + 862400 0.0053263809 0.0013855865 0.0040071646 + 862500 0.0053625043 0.0018658846 0.0045052422 + 862600 0.0040091614 0.0024948433 0.0044681024 + 862700 0.0039009463 0.002588913 0.00450891 + 862800 0.0069072564 0.0020004464 0.0054001117 + 862900 0.0045447073 0.0023952034 0.0046320516 + 863000 0.0052440606 0.0020605854 0.0046416465 + 863100 0.0047454052 0.0020788595 0.0044144886 + 863200 0.0045274319 0.0021816466 0.0044099919 + 863300 0.0058622872 0.0020204467 0.0049057911 + 863400 0.004728843 0.0022981038 0.0046255812 + 863500 0.0063289033 0.0023055222 0.0054205293 + 863600 0.0043024516 0.0018549647 0.0039725776 + 863700 0.0055863368 0.0015940985 0.0043436237 + 863800 0.0032080745 0.0018324503 0.0034114244 + 863900 0.0038162104 0.0020756202 0.0039539113 + 864000 0.0054232897 0.0022622969 0.0049315723 + 864100 0.0055621599 0.0029205846 0.0056582102 + 864200 0.0039541401 0.0031639942 0.0051101725 + 864300 0.0042795573 0.0026786517 0.0047849963 + 864400 0.005294057 0.0022325172 0.0048381859 + 864500 0.0059803353 0.0016320858 0.0045755321 + 864600 0.0043321502 0.0018533493 0.0039855794 + 864700 0.004870497 0.0022481836 0.0046453813 + 864800 0.0040797387 0.0023796275 0.0043876239 + 864900 0.0036852996 0.0029604778 0.0047743362 + 865000 0.004228458 0.0031483916 0.0052295858 + 865100 0.005741898 0.0032608653 0.0060869557 + 865200 0.0054088326 0.0031744876 0.0058366473 + 865300 0.0044293667 0.0032947914 0.0054748703 + 865400 0.0044928697 0.0030730639 0.0052843982 + 865500 0.0070835548 0.0026306075 0.0061170447 + 865600 0.0062447974 0.0028166189 0.0058902301 + 865700 0.0050104553 0.0028198794 0.0052859629 + 865800 0.0059349915 0.0024094242 0.0053305528 + 865900 0.0041056927 0.0023382874 0.0043590581 + 866000 0.0043647228 0.0020427447 0.0041910067 + 866100 0.0047058807 0.0016894987 0.0040056743 + 866200 0.0054758274 0.0018026637 0.0044977975 + 866300 0.0044327072 0.002469276 0.0046509991 + 866400 0.0058661307 0.0024847772 0.0053720134 + 866500 0.0053364286 0.0024807233 0.0051072467 + 866600 0.0054123609 0.0023395445 0.0050034409 + 866700 0.0056341947 0.0021726529 0.0049457331 + 866800 0.0057779168 0.0021315082 0.0049753266 + 866900 0.0046446923 0.0021038641 0.0043899236 + 867000 0.0049831953 0.0020815585 0.0045342249 + 867100 0.0055925917 0.0024987451 0.0052513489 + 867200 0.0050454174 0.0028326384 0.0053159298 + 867300 0.0056520958 0.002637855 0.0054197459 + 867400 0.0045085403 0.0026254513 0.0048444985 + 867500 0.0046164084 0.0027738758 0.0050460143 + 867600 0.0049550312 0.0023926967 0.0048315012 + 867700 0.0055007459 0.0021833812 0.0048907795 + 867800 0.0032439045 0.0021784017 0.0037750109 + 867900 0.0049303837 0.0023848044 0.0048114777 + 868000 0.0051482534 0.0026183719 0.0051522779 + 868100 0.0058235971 0.0025713594 0.0054376611 + 868200 0.0067331634 0.002708126 0.0060221049 + 868300 0.0062180198 0.0029442976 0.0060047292 + 868400 0.0056062568 0.0024823776 0.0052417071 + 868500 0.0052992728 0.0020218806 0.0046301164 + 868600 0.0056968958 0.0019590944 0.0047630353 + 868700 0.0058537535 0.001974104 0.0048552483 + 868800 0.0064018554 0.0018759743 0.0050268875 + 868900 0.0037320631 0.0019039411 0.0037408159 + 869000 0.0051336409 0.0025044649 0.0050311788 + 869100 0.0052989925 0.0024453599 0.0050534577 + 869200 0.0059004949 0.0019829856 0.0048871354 + 869300 0.0051521738 0.0017753918 0.0043112273 + 869400 0.0038814817 0.0016644951 0.0035749119 + 869500 0.0055610907 0.0013360053 0.0040731046 + 869600 0.003896468 0.0015651736 0.0034829664 + 869700 0.0049696563 0.0017194958 0.0041654985 + 869800 0.0044373944 0.0018625733 0.0040466033 + 869900 0.0040199572 0.0021729251 0.0041514978 + 870000 0.0052288107 0.002425373 0.0049989283 + 870100 0.0045659488 0.0029205034 0.0051678063 + 870200 0.0050877486 0.0031165061 0.0056206324 + 870300 0.0051785451 0.0026580498 0.005206865 + 870400 0.0043415 0.0025758166 0.0047126487 + 870500 0.0052591437 0.0022063411 0.0047948259 + 870600 0.0047385956 0.0022421613 0.0045744388 + 870700 0.004501467 0.0026258586 0.0048414243 + 870800 0.0057514675 0.0023316024 0.0051624028 + 870900 0.0045156359 0.0020398695 0.004262409 + 871000 0.0066385418 0.0023629332 0.0056303405 + 871100 0.0029263224 0.0029038651 0.0043441644 + 871200 0.0028713807 0.0027037768 0.0041170345 + 871300 0.0036431791 0.0024572035 0.0042503307 + 871400 0.0047186007 0.002195163 0.0045175993 + 871500 0.0039849165 0.0021832617 0.0041445879 + 871600 0.0040656116 0.0020976391 0.0040986823 + 871700 0.0035669364 0.0025006773 0.0042562788 + 871800 0.0049528465 0.0028469612 0.0052846903 + 871900 0.005880426 0.002640368 0.0055346401 + 872000 0.0070908751 0.0026021206 0.0060921607 + 872100 0.0053732993 0.003356316 0.0060009867 + 872200 0.0060517994 0.0034011473 0.0063797674 + 872300 0.0061228856 0.0029028621 0.0059164698 + 872400 0.005678469 0.002376346 0.0051712175 + 872500 0.0053738512 0.0017247568 0.0043696991 + 872600 0.0064027937 0.0019192938 0.0050706688 + 872700 0.0034367482 0.00214903 0.0038405545 + 872800 0.0045829283 0.001904314 0.0041599741 + 872900 0.0046754631 0.0018934728 0.0041946773 + 873000 0.0039354311 0.0023370909 0.0042740609 + 873100 0.0045384014 0.0024025697 0.0046363141 + 873200 0.0057435652 0.0024107606 0.0052376716 + 873300 0.0049257871 0.0021089349 0.0045333457 + 873400 0.0042557258 0.0018570149 0.0039516299 + 873500 0.0059458734 0.0017800661 0.0047065506 + 873600 0.0057361694 0.0016270908 0.0044503617 + 873700 0.0058559573 0.0016722526 0.0045544816 + 873800 0.0046452115 0.001502395 0.00378871 + 873900 0.0050823648 0.0019103465 0.0044118229 + 874000 0.0044007143 0.0019164247 0.0040824012 + 874100 0.0054333393 0.0016687887 0.0043430104 + 874200 0.0054533399 0.0017268129 0.0044108787 + 874300 0.0042717111 0.0018662017 0.0039686845 + 874400 0.0044943515 0.0020667351 0.0042787987 + 874500 0.0052575007 0.0021666657 0.0047543418 + 874600 0.0034961885 0.0024153898 0.0041361701 + 874700 0.0058594448 0.0024292206 0.0053131661 + 874800 0.0057504088 0.0024488044 0.0052790837 + 874900 0.0063041406 0.0024285904 0.0055314096 + 875000 0.0039887946 0.0020533357 0.0040165705 + 875100 0.0037327279 0.0019596841 0.0037968861 + 875200 0.0049896583 0.0021221614 0.0045780088 + 875300 0.0059751975 0.0017051027 0.0046460202 + 875400 0.004635557 0.0014137658 0.003695329 + 875500 0.0042647264 0.0016019138 0.0037009589 + 875600 0.0041358779 0.0018473997 0.0038830271 + 875700 0.0048275209 0.0017878385 0.0041638839 + 875800 0.0041234544 0.0019920418 0.0040215545 + 875900 0.0043716481 0.0024465964 0.0045982669 + 876000 0.00637227 0.0024625979 0.0055989496 + 876100 0.004575148 0.0024328187 0.0046846493 + 876200 0.0053816068 0.0026573109 0.0053060705 + 876300 0.0058994661 0.0025223652 0.0054260087 + 876400 0.0051808981 0.002009759 0.0045597323 + 876500 0.0046712528 0.0023134978 0.0046126301 + 876600 0.0038335533 0.0025319194 0.0044187464 + 876700 0.005868645 0.0024601723 0.005348646 + 876800 0.0051854021 0.0023696607 0.0049218508 + 876900 0.0050269278 0.0027025657 0.0051767568 + 877000 0.0052315131 0.0022440654 0.0048189508 + 877100 0.0042902602 0.0018305838 0.0039421963 + 877200 0.0048883524 0.0015844873 0.0039904732 + 877300 0.0038885182 0.0015694145 0.0034832945 + 877400 0.0038155618 0.0016423989 0.0035203707 + 877500 0.0044945802 0.0017279506 0.0039401268 + 877600 0.0043340863 0.0018076409 0.003940824 + 877700 0.0070850402 0.0015499751 0.0050371433 + 877800 0.0055533086 0.0021374626 0.0048707317 + 877900 0.0054442957 0.002384965 0.0050645793 + 878000 0.004292589 0.0021396002 0.0042523589 + 878100 0.0061006207 0.0018258514 0.0048285006 + 878200 0.0052554601 0.0019623311 0.0045490028 + 878300 0.0037881462 0.0021352829 0.0039997611 + 878400 0.0053848652 0.0018519674 0.0045023307 + 878500 0.0052122943 0.0023764019 0.004941828 + 878600 0.0043137259 0.002746165 0.0048693269 + 878700 0.0043460031 0.0022371139 0.0043761623 + 878800 0.0060921589 0.0018416638 0.0048401482 + 878900 0.0046575111 0.0022643587 0.0045567275 + 879000 0.005103517 0.0024106959 0.0049225832 + 879100 0.0078418922 0.0022448074 0.0061044887 + 879200 0.0050426604 0.0026982857 0.0051802201 + 879300 0.0046295211 0.0026877246 0.004966317 + 879400 0.0054498977 0.0023778524 0.005060224 + 879500 0.0054858084 0.0016449477 0.004344994 + 879600 0.0043865668 0.0014146499 0.0035736632 + 879700 0.0044885145 0.0019616657 0.0041708564 + 879800 0.0045934966 0.0020757603 0.0043366219 + 879900 0.0042547919 0.0019717256 0.004065881 + 880000 0.0058032528 0.0018146106 0.0046708991 + 880100 0.0054510795 0.0019235335 0.0046064867 + 880200 0.0038902292 0.0024218493 0.0043365715 + 880300 0.0045702429 0.0023837985 0.004633215 + 880400 0.0070791086 0.0023345259 0.0058187747 + 880500 0.0051838425 0.0021674933 0.0047189158 + 880600 0.0051650753 0.0018679768 0.0044101623 + 880700 0.0047834748 0.0020791383 0.0044335048 + 880800 0.0047736223 0.0024348835 0.0047844008 + 880900 0.004961226 0.002781054 0.0052229074 + 881000 0.0041957423 0.0029056002 0.0049706921 + 881100 0.0051496387 0.0025866147 0.0051212026 + 881200 0.0042921299 0.0027186653 0.004831198 + 881300 0.004081026 0.0026637517 0.0046723816 + 881400 0.0042134759 0.0026028388 0.004676659 + 881500 0.0037258812 0.00278726 0.0046210921 + 881600 0.005169823 0.0028894347 0.0054339569 + 881700 0.0056731988 0.0030157881 0.0058080656 + 881800 0.0055443186 0.0028247563 0.0055536006 + 881900 0.0042325475 0.0024057746 0.0044889815 + 882000 0.0046480482 0.0027151318 0.005002843 + 882100 0.0046009842 0.0027084039 0.0049729508 + 882200 0.0041320991 0.0025262908 0.0045600583 + 882300 0.0059715056 0.0023405991 0.0052796995 + 882400 0.0041832886 0.0024753505 0.0045343129 + 882500 0.0042191639 0.0028020391 0.0048786589 + 882600 0.0044618847 0.0021538453 0.0043499291 + 882700 0.0049045957 0.0016432505 0.0040572312 + 882800 0.0049792531 0.0015767053 0.0040274315 + 882900 0.0043665794 0.0019226743 0.0040718501 + 883000 0.0055970559 0.0022366066 0.0049914075 + 883100 0.0052964025 0.0030032195 0.0056100426 + 883200 0.0050087604 0.0036501023 0.0061153515 + 883300 0.003800907 0.0036312824 0.0055020413 + 883400 0.0073712506 0.0028521747 0.0064802121 + 883500 0.005583185 0.0027929712 0.0055409451 + 883600 0.0038454074 0.0034270502 0.0053197116 + 883700 0.0045294788 0.0030687325 0.0052980853 + 883800 0.0033481924 0.0028092021 0.0044571405 + 883900 0.006335359 0.0021370687 0.0052552532 + 884000 0.0066453247 0.0026539708 0.0059247165 + 884100 0.0035992967 0.0034490249 0.0052205538 + 884200 0.0051104653 0.00303347 0.0055487772 + 884300 0.0064144906 0.002426461 0.005583593 + 884400 0.0061912637 0.0022301253 0.005277388 + 884500 0.0033509665 0.0025816056 0.0042309094 + 884600 0.0063648116 0.0024211082 0.0055537889 + 884700 0.0045593775 0.0025708732 0.0048149418 + 884800 0.0071826593 0.0022377646 0.0057729797 + 884900 0.0037963517 0.0020324469 0.0039009637 + 885000 0.0049610031 0.0022163007 0.0046580444 + 885100 0.0043013309 0.0022736629 0.0043907242 + 885200 0.0040729266 0.0021482775 0.0041529211 + 885300 0.0039229869 0.002079799 0.0040106441 + 885400 0.0058615544 0.0020044921 0.0048894759 + 885500 0.005238322 0.0020141479 0.0045923845 + 885600 0.0058020785 0.0020864892 0.0049421997 + 885700 0.004915356 0.002453454 0.0048727308 + 885800 0.0055745575 0.002332643 0.0050763705 + 885900 0.0049911582 0.002964918 0.0054215036 + 886000 0.005318727 0.0025100331 0.0051278441 + 886100 0.0058932403 0.0020659526 0.0049665318 + 886200 0.006000053 0.0020023039 0.004955455 + 886300 0.0052490369 0.002271011 0.0048545214 + 886400 0.0051219422 0.0024073449 0.0049283008 + 886500 0.0048182765 0.0029383142 0.0053098096 + 886600 0.0045644134 0.0029994036 0.0052459508 + 886700 0.0044406701 0.002907806 0.0050934483 + 886800 0.0050892683 0.0024628951 0.0049677693 + 886900 0.0041769829 0.001928563 0.0039844217 + 887000 0.0027807268 0.0019292419 0.0032978809 + 887100 0.0067036261 0.0019577002 0.0052571411 + 887200 0.0044735396 0.0024212392 0.0046230595 + 887300 0.0057965495 0.0021755969 0.0050285861 + 887400 0.0061710672 0.0023322932 0.0053696153 + 887500 0.0054604069 0.0023313272 0.0050188713 + 887600 0.0053868022 0.0024643622 0.005115679 + 887700 0.0038836704 0.0024272924 0.0043387864 + 887800 0.0039290458 0.0021788804 0.0041127076 + 887900 0.0054464898 0.0016450099 0.0043257041 + 888000 0.0047158464 0.0016353844 0.003956465 + 888100 0.0048675246 0.0019212786 0.0043170133 + 888200 0.0058714902 0.0021576517 0.0050475258 + 888300 0.0048398445 0.0024993666 0.0048814775 + 888400 0.0035739208 0.0026611834 0.0044202225 + 888500 0.005726333 0.0027077724 0.0055262019 + 888600 0.0057564112 0.0029980904 0.005831324 + 888700 0.0063277324 0.0029913321 0.0061057628 + 888800 0.0069269292 0.0024357744 0.0058451223 + 888900 0.0056854397 0.0021590932 0.0049573955 + 889000 0.0043702213 0.0024799225 0.0046308908 + 889100 0.005372833 0.0023096099 0.0049540511 + 889200 0.0048311209 0.0021031621 0.0044809795 + 889300 0.0064323252 0.0021871981 0.0053531081 + 889400 0.0056015553 0.0028192648 0.0055762803 + 889500 0.0050881504 0.0030208834 0.0055252074 + 889600 0.0046941554 0.0024453573 0.0047557619 + 889700 0.0039326226 0.0021937929 0.0041293805 + 889800 0.0053555079 0.0019022418 0.0045381559 + 889900 0.0043253187 0.0020598343 0.0041887021 + 890000 0.0044051887 0.002387122 0.0045553008 + 890100 0.0042192 0.002504315 0.0045809525 + 890200 0.0054321407 0.0023429889 0.0050166207 + 890300 0.0055211794 0.0023759244 0.0050933799 + 890400 0.0049677026 0.0020259344 0.0044709755 + 890500 0.0051340332 0.0019840923 0.0045109993 + 890600 0.005570098 0.0019663242 0.0047078568 + 890700 0.0049545975 0.0024545533 0.0048931442 + 890800 0.0069151584 0.0026905877 0.0060941422 + 890900 0.0060920328 0.002874101 0.0058725234 + 891000 0.0056141305 0.0026272594 0.0053904642 + 891100 0.0042990932 0.0025106053 0.0046265652 + 891200 0.0059266684 0.0024555351 0.0053725672 + 891300 0.0040845397 0.0027426637 0.004753023 + 891400 0.0066876888 0.002646601 0.0059381979 + 891500 0.0054102572 0.0025001104 0.0051629714 + 891600 0.0049889697 0.0024447005 0.0049002091 + 891700 0.0037618031 0.0022549932 0.0041065057 + 891800 0.0035481744 0.0023547885 0.0041011556 + 891900 0.004449855 0.0021268917 0.0043170547 + 892000 0.0052946247 0.0018694963 0.0044754444 + 892100 0.0040410843 0.0020859348 0.0040749059 + 892200 0.0031859406 0.0021789853 0.0037470654 + 892300 0.0041546901 0.001770897 0.0038157836 + 892400 0.0051183366 0.0016918711 0.0042110524 + 892500 0.0035611444 0.0017684996 0.0035212504 + 892600 0.0044820746 0.0017652825 0.0039713036 + 892700 0.0047003108 0.0018555434 0.0041689776 + 892800 0.0063793262 0.0019634839 0.0051033085 + 892900 0.0050787255 0.0021953698 0.004695055 + 893000 0.0058979252 0.0024585912 0.0053614762 + 893100 0.005337962 0.0025574685 0.0051847467 + 893200 0.0029753717 0.0025515256 0.0040159664 + 893300 0.0041818094 0.002072348 0.0041305823 + 893400 0.0057482722 0.001823827 0.0046530548 + 893500 0.0050442951 0.0018506098 0.0043333488 + 893600 0.0035907864 0.002215258 0.0039825982 + 893700 0.004464363 0.0024568576 0.0046541613 + 893800 0.0055204461 0.0020533916 0.0047704861 + 893900 0.003363737 0.0022169955 0.0038725848 + 894000 0.0057091582 0.0019435341 0.0047535104 + 894100 0.0044225806 0.0019489307 0.0041256696 + 894200 0.0045870162 0.0017225125 0.0039801845 + 894300 0.004569446 0.0015357668 0.003784791 + 894400 0.0048037863 0.0016672496 0.0040316132 + 894500 0.0055513719 0.0017675592 0.004499875 + 894600 0.0049971638 0.0022585899 0.0047181315 + 894700 0.0041397949 0.0024203815 0.0044579369 + 894800 0.0061296066 0.0019149874 0.0049319032 + 894900 0.0044727222 0.0021619562 0.0043633741 + 895000 0.0055172206 0.0019612157 0.0046767228 + 895100 0.006474394 0.001983889 0.0051705049 + 895200 0.0066302238 0.0018369417 0.005100255 + 895300 0.0045781591 0.0020163795 0.0042696922 + 895400 0.004924365 0.0018940856 0.0043177965 + 895500 0.0047538134 0.002493375 0.0048331426 + 895600 0.0055543999 0.0027981961 0.0055320023 + 895700 0.0048477671 0.0024999227 0.0048859331 + 895800 0.0039817476 0.0020146088 0.0039743751 + 895900 0.0039379248 0.0018255828 0.0037637802 + 896000 0.0044390406 0.0020483397 0.00423318 + 896100 0.0045997363 0.0022489978 0.0045129306 + 896200 0.0054121129 0.0019130071 0.0045767814 + 896300 0.0062645971 0.0017611681 0.0048445245 + 896400 0.0043328878 0.0024713067 0.0046038999 + 896500 0.0043473212 0.0026651805 0.0048048777 + 896600 0.005137327 0.002545059 0.0050735872 + 896700 0.0045453051 0.0025037594 0.0047409017 + 896800 0.0051890299 0.0022104342 0.0047644098 + 896900 0.0033269203 0.00258318 0.0042206486 + 897000 0.005664746 0.0029572318 0.005745349 + 897100 0.0054757227 0.0027971872 0.0054922694 + 897200 0.0054973653 0.0020999322 0.0048056667 + 897300 0.0059167732 0.0019762244 0.0048883862 + 897400 0.0056448731 0.0020488708 0.0048272068 + 897500 0.0073239286 0.0020755737 0.0056803198 + 897600 0.0051859184 0.0022607462 0.0048131904 + 897700 0.0064476602 0.0020369783 0.005210436 + 897800 0.0045391759 0.0020223656 0.0042564913 + 897900 0.005495195 0.0021178249 0.0048224912 + 898000 0.0063620003 0.00221803 0.005349327 + 898100 0.004936327 0.0026882594 0.0051178579 + 898200 0.0064859882 0.0022600013 0.0054523236 + 898300 0.0048513829 0.0024263577 0.0048141477 + 898400 0.0051470919 0.0028008482 0.0053341825 + 898500 0.0044262625 0.0032755229 0.005454074 + 898600 0.005760994 0.0028076731 0.0056431624 + 898700 0.0044245701 0.0024642021 0.0046419202 + 898800 0.004831267 0.0021018413 0.0044797306 + 898900 0.0054885659 0.0023902317 0.0050916352 + 899000 0.0040741352 0.0023403177 0.0043455561 + 899100 0.0047377862 0.0021322023 0.0044640814 + 899200 0.0062227686 0.0020418595 0.0051046285 + 899300 0.0054801242 0.0022262928 0.0049235414 + 899400 0.0060651603 0.0020302209 0.005015417 + 899500 0.0061036074 0.0024865451 0.0054906644 + 899600 0.0050413767 0.0027278271 0.0052091297 + 899700 0.0042025724 0.0022399043 0.0043083579 + 899800 0.005808872 0.001767706 0.0046267602 + 899900 0.0042887066 0.0020483386 0.0041591864 + 900000 0.0041917722 0.0021364835 0.0041996214 + 900100 0.0053420365 0.0017004785 0.004329762 + 900200 0.00415238 0.0017787872 0.0038225367 + 900300 0.0046632434 0.0020132917 0.0043084818 + 900400 0.0057630955 0.0022871326 0.0051236561 + 900500 0.0067649326 0.0019033736 0.0052329889 + 900600 0.0060301219 0.0018686183 0.0048365689 + 900700 0.0048145621 0.0024524544 0.0048221217 + 900800 0.0059163234 0.0021581181 0.0050700585 + 900900 0.0044674979 0.0020258677 0.0042247143 + 901000 0.0042272722 0.0024485912 0.0045292017 + 901100 0.0064909475 0.0022540921 0.0054488553 + 901200 0.0048200979 0.0025596015 0.0049319934 + 901300 0.0040143832 0.0022668264 0.0042426557 + 901400 0.0049204181 0.0021101881 0.0045319563 + 901500 0.0039857744 0.0024226095 0.0043843579 + 901600 0.0070020822 0.0024922533 0.0059385906 + 901700 0.0048454022 0.0026210768 0.0050059232 + 901800 0.0047913524 0.0025609599 0.0049192037 + 901900 0.0043066118 0.0025170182 0.0046366787 + 902000 0.0064053039 0.0020525186 0.0052051291 + 902100 0.0045601859 0.002230444 0.0044749105 + 902200 0.0049520252 0.0024600463 0.0048973712 + 902300 0.0050135732 0.0020308522 0.0044984702 + 902400 0.004909696 0.0016579245 0.0040744156 + 902500 0.0054031805 0.0016660084 0.0043253863 + 902600 0.0042492433 0.0018904717 0.0039818962 + 902700 0.0061794135 0.0018594397 0.0049008697 + 902800 0.0031563856 0.0022846115 0.003838145 + 902900 0.0041926338 0.0021324935 0.0041960554 + 903000 0.0049067661 0.001727202 0.0041422509 + 903100 0.0053576833 0.001476138 0.0041131228 + 903200 0.005433155 0.0018628086 0.0045369396 + 903300 0.0044738824 0.0019234322 0.0041254211 + 903400 0.0056344598 0.0016142898 0.0043875005 + 903500 0.0044453518 0.0017783756 0.0039663222 + 903600 0.0035860224 0.0024402376 0.004205233 + 903700 0.0051368577 0.0023653566 0.0048936538 + 903800 0.0058476393 0.0016433414 0.0045214764 + 903900 0.0055669941 0.0019317653 0.0046717702 + 904000 0.0052096835 0.0021048981 0.0046690391 + 904100 0.0047317777 0.0018316583 0.0041605802 + 904200 0.0060002639 0.0018468035 0.0048000585 + 904300 0.0040764281 0.0021458098 0.0041521768 + 904400 0.0070332977 0.0016215836 0.0050832848 + 904500 0.0076641821 0.0014163473 0.0051885619 + 904600 0.0055787443 0.0023374203 0.0050832085 + 904700 0.0052841096 0.0024650056 0.0050657783 + 904800 0.005072283 0.001878347 0.0043748613 + 904900 0.0056782411 0.0017504915 0.0045452508 + 905000 0.0041034898 0.0018211408 0.0038408271 + 905100 0.004284038 0.0019840178 0.0040925678 + 905200 0.0057523898 0.0019799254 0.0048111798 + 905300 0.0053783507 0.0021764289 0.0048235859 + 905400 0.0056587172 0.0026637349 0.0054488847 + 905500 0.0056014896 0.003046413 0.0058033962 + 905600 0.0044035472 0.0038276114 0.0059949823 + 905700 0.0046671948 0.0038826027 0.0061797377 + 905800 0.0050125583 0.003193247 0.0056603655 + 905900 0.005977246 0.0027080366 0.0056499624 + 906000 0.0034481391 0.0028134255 0.0045105565 + 906100 0.0049909812 0.0027230573 0.0051795559 + 906200 0.0055224287 0.0023651339 0.0050832043 + 906300 0.0045266166 0.001853458 0.0040814021 + 906400 0.0035160019 0.0022892824 0.0040198146 + 906500 0.0033596067 0.0021799407 0.0038334971 + 906600 0.0036713123 0.0023158212 0.0041227953 + 906700 0.0044450677 0.0022119196 0.0043997263 + 906800 0.0039429055 0.0025050385 0.0044456873 + 906900 0.0046178418 0.0025804452 0.0048532892 + 907000 0.0042767448 0.002189401 0.0042943613 + 907100 0.0060766091 0.0016894069 0.0046802379 + 907200 0.0049601118 0.0018341432 0.0042754482 + 907300 0.0049768906 0.0019376799 0.0043872433 + 907400 0.004962911 0.0016542677 0.0040969505 + 907500 0.004815539 0.0019045592 0.0042747073 + 907600 0.0047191671 0.001759932 0.004082647 + 907700 0.0049474766 0.0014515635 0.0038866496 + 907800 0.0045766273 0.0018944389 0.0041469977 + 907900 0.0043705633 0.0018247923 0.0039759289 + 908000 0.0046019189 0.0016539908 0.0039189977 + 908100 0.0033464554 0.0019854184 0.0036325019 + 908200 0.0066964691 0.0018748429 0.0051707613 + 908300 0.0039707247 0.0019124011 0.0038667422 + 908400 0.0045938633 0.0018401347 0.0041011768 + 908500 0.0053718669 0.0019853505 0.0046293162 + 908600 0.0042613102 0.0021322935 0.0042296571 + 908700 0.004359695 0.0022972809 0.0044430683 + 908800 0.0046234079 0.002173199 0.0044487826 + 908900 0.0060738197 0.0023025761 0.0052920342 + 909000 0.0041196769 0.0026203846 0.0046480381 + 909100 0.0045265808 0.0027069095 0.004934836 + 909200 0.0051292828 0.0024671095 0.0049916783 + 909300 0.0051145577 0.002422193 0.0049395144 + 909400 0.0047761491 0.0024188656 0.0047696265 + 909500 0.003928106 0.0019779275 0.0039112922 + 909600 0.0055975408 0.0020939493 0.0048489889 + 909700 0.0055283996 0.0026174903 0.0053384995 + 909800 0.00686774 0.0020714194 0.0054516352 + 909900 0.0059177704 0.0021055463 0.0050181989 + 910000 0.0051034783 0.0022876334 0.0047995017 + 910100 0.0041206957 0.0026873841 0.0047155391 + 910200 0.0037730004 0.0027169581 0.0045739817 + 910300 0.0060666821 0.0023320838 0.0053180289 + 910400 0.0062811084 0.0021287008 0.0052201838 + 910500 0.0056483527 0.0022033969 0.0049834455 + 910600 0.0058270325 0.0022818269 0.0051498195 + 910700 0.0034147061 0.0022701182 0.0039507938 + 910800 0.0044193154 0.0021681536 0.0043432855 + 910900 0.0057858692 0.0019750787 0.0048228111 + 911000 0.0052705574 0.0022856094 0.0048797118 + 911100 0.0051312214 0.0023249692 0.0048504922 + 911200 0.0044973043 0.0022585285 0.0044720454 + 911300 0.006063427 0.0021085581 0.005092901 + 911400 0.0057825791 0.0022432827 0.0050893959 + 911500 0.0043329098 0.0027507593 0.0048833633 + 911600 0.0051328605 0.002696259 0.0052225888 + 911700 0.0062843189 0.0027295991 0.0058226624 + 911800 0.0055915291 0.0028727171 0.0056247978 + 911900 0.0062444112 0.002500619 0.0055740401 + 912000 0.0056461993 0.0027046381 0.0054836269 + 912100 0.0059050094 0.0030092083 0.0059155801 + 912200 0.0058481489 0.0024705787 0.0053489645 + 912300 0.0047092182 0.0023035004 0.0046213187 + 912400 0.0046506305 0.0023664881 0.0046554703 + 912500 0.0042369296 0.0021955463 0.0042809101 + 912600 0.0030943403 0.002479325 0.0040023206 + 912700 0.004548255 0.0022396193 0.0044782135 + 912800 0.0041876673 0.0018742801 0.0039353976 + 912900 0.0042010358 0.0021970494 0.0042647467 + 913000 0.0039634691 0.0023966575 0.0043474275 + 913100 0.0034384956 0.0025796824 0.0042720669 + 913200 0.0066742968 0.0027322256 0.0060172311 + 913300 0.0037723401 0.0030352932 0.0048919919 + 913400 0.0049788367 0.0029329178 0.005383439 + 913500 0.0050290452 0.0026816536 0.0051568868 + 913600 0.0045626178 0.0026826872 0.0049283506 + 913700 0.0038588012 0.002137312 0.0040365657 + 913800 0.0050345949 0.0023175874 0.004795552 + 913900 0.0047502795 0.0021036862 0.0044417144 + 914000 0.0044192504 0.0020587357 0.0042338355 + 914100 0.0044453336 0.0021239335 0.0043118711 + 914200 0.0043457239 0.0023683157 0.0045072266 + 914300 0.0054821298 0.0022064565 0.0049046923 + 914400 0.005994105 0.0016856105 0.0046358341 + 914500 0.0047956069 0.0021228839 0.0044832217 + 914600 0.0064425124 0.00241981 0.0055907341 + 914700 0.004583392 0.0025388147 0.0047947029 + 914800 0.0053379143 0.0027172833 0.005344538 + 914900 0.0056964269 0.0029735479 0.005777258 + 915000 0.0045080911 0.0027395684 0.0049583945 + 915100 0.0038069592 0.0023550161 0.0042287539 + 915200 0.0046286159 0.0018115949 0.0040897418 + 915300 0.0051043879 0.0020276543 0.0045399702 + 915400 0.003172412 0.0024626438 0.0040240653 + 915500 0.0040227523 0.0024397717 0.0044197201 + 915600 0.0072968152 0.002155763 0.0057471642 + 915700 0.004303084 0.0022494778 0.0043674019 + 915800 0.0052174779 0.0025366596 0.005104637 + 915900 0.0055963083 0.0026991698 0.0054536028 + 916000 0.0053598702 0.0029504799 0.005588541 + 916100 0.0049753265 0.0031390158 0.0055878093 + 916200 0.0070843553 0.0027097586 0.0061965898 + 916300 0.0059069554 0.0026426113 0.0055499409 + 916400 0.0052544534 0.0030975023 0.0056836786 + 916500 0.0050948323 0.0036593801 0.0061669928 + 916600 0.0066162331 0.0039288046 0.0071852318 + 916700 0.0053037906 0.0037001688 0.0063106283 + 916800 0.0058423211 0.0033425896 0.0062181071 + 916900 0.0073390043 0.0032091367 0.0068213029 + 917000 0.0049771665 0.0027750643 0.0052247634 + 917100 0.0053257719 0.0022393159 0.0048605943 + 917200 0.0060616274 0.0024190565 0.0054025138 + 917300 0.0066858298 0.0026052085 0.0058958904 + 917400 0.0056445145 0.0024771158 0.0052552753 + 917500 0.0049571548 0.0020639598 0.0045038094 + 917600 0.0049920379 0.001887216 0.0043442346 + 917700 0.0041929313 0.0024512378 0.0045149461 + 917800 0.006311993 0.0027059867 0.0058126708 + 917900 0.004183206 0.0029623601 0.0050212818 + 918000 0.003846379 0.0030945255 0.0049876652 + 918100 0.0057322137 0.0026456898 0.0054670137 + 918200 0.0055828132 0.0022751624 0.0050229533 + 918300 0.005410878 0.0024477511 0.0051109176 + 918400 0.0048241678 0.0026690499 0.005043445 + 918500 0.0060624749 0.0020866042 0.0050704786 + 918600 0.0062148799 0.0018891448 0.004948031 + 918700 0.0050370204 0.0019971801 0.0044763386 + 918800 0.0062960215 0.0023723127 0.0054711358 + 918900 0.0040786604 0.0026970552 0.0047045208 + 919000 0.0057120653 0.0024597086 0.0052711157 + 919100 0.0033452456 0.0019129039 0.003559392 + 919200 0.004320109 0.0022468364 0.00437314 + 919300 0.0057067538 0.0026871317 0.0054959246 + 919400 0.0045595104 0.00319299 0.0054371241 + 919500 0.0053637306 0.0030455807 0.0056855418 + 919600 0.0049156901 0.0025858498 0.005005291 + 919700 0.0051454119 0.0022286936 0.004761201 + 919800 0.0044944316 0.0019831564 0.0041952594 + 919900 0.0056763136 0.0021537537 0.0049475643 + 920000 0.005948842 0.0024163542 0.0053442999 + 920100 0.0040019118 0.002423536 0.0043932269 + 920200 0.005151228 0.0024604368 0.0049958068 + 920300 0.0053495065 0.0026202217 0.0052531819 + 920400 0.0066781473 0.0025088107 0.0057957113 + 920500 0.0051892439 0.002991958 0.005546039 + 920600 0.0042328157 0.0028094671 0.0048928061 + 920700 0.0057032286 0.0024490479 0.0052561057 + 920800 0.0059213699 0.0023668369 0.0052812611 + 920900 0.0057739435 0.0019157896 0.0047576524 + 921000 0.0037075537 0.0015371493 0.0033619609 + 921100 0.0030594242 0.0020596462 0.0035654565 + 921200 0.004212059 0.0023118854 0.0043850082 + 921300 0.0038434645 0.0021787667 0.0040704718 + 921400 0.0046629752 0.0021212198 0.0044162779 + 921500 0.0052508945 0.0020007995 0.0045852241 + 921600 0.0032887514 0.0019832992 0.0036019815 + 921700 0.0042578356 0.0020510336 0.0041466871 + 921800 0.0050398771 0.0019196867 0.0044002512 + 921900 0.0055026457 0.0018312269 0.0045395603 + 922000 0.0042670721 0.002234489 0.0043346885 + 922100 0.0045730734 0.0024925429 0.0047433524 + 922200 0.0041734043 0.0026368236 0.004690921 + 922300 0.0039979664 0.0026026131 0.0045703621 + 922400 0.005252319 0.0023605738 0.0049456995 + 922500 0.0041658553 0.002272125 0.0043225069 + 922600 0.0054958788 0.002173176 0.0048781788 + 922700 0.0061784761 0.0021570855 0.0051980542 + 922800 0.0060103942 0.0021422133 0.0051004542 + 922900 0.0041879292 0.0022539021 0.0043151485 + 923000 0.003535376 0.0027196989 0.0044597668 + 923100 0.0051297455 0.0029739745 0.0054987711 + 923200 0.0040690885 0.0036283332 0.0056310877 + 923300 0.0035981651 0.0037877734 0.0055587452 + 923400 0.0053241579 0.0027443176 0.0053648016 + 923500 0.0051511312 0.0026622469 0.0051975693 + 923600 0.0038058682 0.0025845211 0.0044577219 + 923700 0.0046278594 0.0023204832 0.0045982577 + 923800 0.0048332194 0.0026406177 0.0050194679 + 923900 0.0040149424 0.0025583441 0.0045344486 + 924000 0.0046906991 0.0022207037 0.0045294072 + 924100 0.0044156294 0.002828208 0.0050015256 + 924200 0.0048762272 0.0030483145 0.0054483326 + 924300 0.0080754981 0.0025911319 0.0065657911 + 924400 0.0050244501 0.002820739 0.0052937105 + 924500 0.0038225804 0.002818311 0.0046997373 + 924600 0.0042033114 0.0026089651 0.0046777824 + 924700 0.0057450926 0.0026266715 0.0054543342 + 924800 0.0059238521 0.0030570738 0.0059727198 + 924900 0.0051283715 0.0032506449 0.0057747652 + 925000 0.0052716584 0.0023863316 0.0049809759 + 925100 0.0047773212 0.0020251345 0.0043764723 + 925200 0.0041737531 0.0024322038 0.0044864729 + 925300 0.0044246933 0.002768516 0.0049462947 + 925400 0.0059104349 0.0025291227 0.0054381649 + 925500 0.0049053634 0.0019662695 0.0043806281 + 925600 0.0049689067 0.0018776896 0.0043233233 + 925700 0.0061993202 0.0022325223 0.0052837501 + 925800 0.0049045771 0.0022213381 0.0046353096 + 925900 0.0045901075 0.0024474086 0.0047066022 + 926000 0.0032032168 0.0029021561 0.0044787394 + 926100 0.0047464691 0.0029527108 0.0052888635 + 926200 0.0055226692 0.0025699743 0.0052881631 + 926300 0.0050931739 0.0023572425 0.004864039 + 926400 0.0050666756 0.0025076044 0.0050013588 + 926500 0.0060983438 0.0018575716 0.0048591002 + 926600 0.0070369613 0.0018387821 0.0053022865 + 926700 0.004790143 0.0024301001 0.0047877486 + 926800 0.0056776198 0.003027284 0.0058217375 + 926900 0.0052782695 0.0026781552 0.0052760534 + 927000 0.0064028501 0.0025474992 0.005698902 + 927100 0.005098237 0.0026992705 0.005208559 + 927200 0.0049125692 0.0024906806 0.0049085857 + 927300 0.0050709302 0.0024263638 0.0049222123 + 927400 0.0053046668 0.002445864 0.0050567546 + 927500 0.0048762409 0.002520241 0.0049202658 + 927600 0.0062952212 0.0022163214 0.0053147506 + 927700 0.0058713311 0.0020855771 0.0049753729 + 927800 0.00484224 0.0022184662 0.0046017562 + 927900 0.0042055554 0.0022094773 0.0042793991 + 928000 0.0051119611 0.0022818802 0.0047979235 + 928100 0.0037227827 0.0026725548 0.0045048619 + 928200 0.0056753422 0.0023255125 0.005118845 + 928300 0.0048119895 0.0022407986 0.0046091997 + 928400 0.0066309347 0.0021471449 0.0054108081 + 928500 0.0057506646 0.0025542447 0.0053846499 + 928600 0.0044036055 0.002593051 0.0047604505 + 928700 0.0045519803 0.0028466128 0.0050870406 + 928800 0.0056527821 0.0026235145 0.0054057432 + 928900 0.0057253452 0.0023592641 0.0051772075 + 929000 0.0061330074 0.0022942373 0.0053128268 + 929100 0.0054541305 0.0029425765 0.0056270313 + 929200 0.0050516168 0.0031922185 0.0056785612 + 929300 0.0038933737 0.002923185 0.0048394548 + 929400 0.0042267638 0.0024044956 0.0044848559 + 929500 0.0046338262 0.0023569925 0.0046377038 + 929600 0.004855963 0.0020820992 0.0044721435 + 929700 0.0046543957 0.0015832845 0.0038741199 + 929800 0.0056918364 0.0016239214 0.0044253721 + 929900 0.005477249 0.0022330285 0.004928862 + 930000 0.0049072174 0.0027601712 0.0051754422 + 930100 0.0050478913 0.0030517166 0.0055362256 + 930200 0.0056383782 0.0030946544 0.0058697936 + 930300 0.0050229672 0.0031148554 0.0055870971 + 930400 0.0037817665 0.0033508434 0.0052121816 + 930500 0.0051098348 0.0029043348 0.0054193316 + 930600 0.0052301565 0.0022133247 0.0047875423 + 930700 0.0033981485 0.0023477352 0.0040202614 + 930800 0.0045470471 0.0023255838 0.0045635836 + 930900 0.0052001199 0.0026095954 0.0051690294 + 931000 0.0064577268 0.0026381287 0.0058165411 + 931100 0.0042907282 0.0028267436 0.0049385864 + 931200 0.0035055681 0.0029160512 0.004641448 + 931300 0.0052553962 0.0026662148 0.0052528551 + 931400 0.0060823831 0.0028247452 0.0058184182 + 931500 0.0045202609 0.0027248582 0.0049496741 + 931600 0.0059186219 0.0026924976 0.0056055693 + 931700 0.0048264254 0.0026734892 0.0050489954 + 931800 0.0043595215 0.0028193181 0.0049650201 + 931900 0.0048167479 0.0027562625 0.0051270056 + 932000 0.007002518 0.0024511833 0.0058977351 + 932100 0.0037992537 0.0031107282 0.0049806734 + 932200 0.0067126302 0.0028945422 0.0061984149 + 932300 0.004610209 0.0026342887 0.0049033759 + 932400 0.0052430776 0.0027672522 0.0053478295 + 932500 0.0063955171 0.002241014 0.0053888076 + 932600 0.0050670201 0.0018146476 0.0043085716 + 932700 0.0042234903 0.0016016391 0.0036803882 + 932800 0.0041024233 0.0021902094 0.0042093709 + 932900 0.005124469 0.0024670542 0.0049892538 + 933000 0.0044399028 0.0023520526 0.0045373173 + 933100 0.0051807698 0.0020472923 0.0045972024 + 933200 0.0061967881 0.0021521319 0.0052021135 + 933300 0.00437241 0.0028898726 0.0050419181 + 933400 0.0048158902 0.0028798925 0.0052502135 + 933500 0.0051311887 0.0026799801 0.0052054871 + 933600 0.0068360781 0.0023720407 0.0057366729 + 933700 0.0065000989 0.0021761456 0.005375413 + 933800 0.0052513372 0.0029085199 0.0054931625 + 933900 0.0046927068 0.0035885992 0.0058982908 + 934000 0.005141826 0.002537406 0.0050681485 + 934100 0.0053757039 0.0021797338 0.004825588 + 934200 0.0044875983 0.0021010767 0.0043098165 + 934300 0.0057923932 0.002057112 0.0049080556 + 934400 0.003539634 0.0018614409 0.0036036045 + 934500 0.0048629115 0.0017813772 0.0041748415 + 934600 0.0047001369 0.0016350869 0.0039484355 + 934700 0.0037370662 0.0021312356 0.0039705729 + 934800 0.0049865936 0.0022912836 0.0047456226 + 934900 0.0047679903 0.0021616178 0.0045083631 + 935000 0.0043327027 0.0021219578 0.0042544599 + 935100 0.0058022834 0.0020132321 0.0048690435 + 935200 0.0036474558 0.001953819 0.0037490512 + 935300 0.0057597473 0.0018491855 0.0046840611 + 935400 0.0042165154 0.0021022821 0.0041775983 + 935500 0.0046960428 0.0021027694 0.004414103 + 935600 0.0039763821 0.0022639309 0.0042210565 + 935700 0.0052911305 0.0024574989 0.0050617272 + 935800 0.0048476307 0.0022476217 0.004633565 + 935900 0.005413363 0.0017809537 0.0044453433 + 936000 0.0064433749 0.0021087918 0.0052801404 + 936100 0.0043639766 0.0028015241 0.0049494188 + 936200 0.0060618064 0.0027402436 0.005723789 + 936300 0.00594717 0.0025683632 0.005495486 + 936400 0.0051159268 0.0027383144 0.0052563096 + 936500 0.0038651798 0.0024941812 0.0043965744 + 936600 0.006193285 0.0019471787 0.0049954362 + 936700 0.0042080915 0.0022225781 0.0042937481 + 936800 0.0040223867 0.0023745899 0.0043543584 + 936900 0.0048197812 0.0023378734 0.0047101095 + 937000 0.0031668364 0.0026585836 0.0042172609 + 937100 0.0051634363 0.0024809538 0.0050223326 + 937200 0.0062311544 0.0022425738 0.0053094701 + 937300 0.0043128254 0.0023939209 0.0045166397 + 937400 0.0037225137 0.0019736449 0.0038058196 + 937500 0.0068351536 0.001727082 0.0050912592 + 937600 0.0043326211 0.0019377315 0.0040701934 + 937700 0.0045267296 0.0021051691 0.0043331689 + 937800 0.0050589167 0.0017352909 0.0042252265 + 937900 0.0052060664 0.0016068988 0.0041692596 + 938000 0.0042990304 0.0022520078 0.0043679368 + 938100 0.0052475801 0.0023079194 0.0048907128 + 938200 0.0044052039 0.0020837585 0.0042519448 + 938300 0.0041451629 0.0021331489 0.0041733463 + 938400 0.004523871 0.0021254906 0.0043520834 + 938500 0.0052910304 0.0024403812 0.0050445602 + 938600 0.0046161622 0.002448163 0.0047201803 + 938700 0.0069822418 0.0023749902 0.0058115623 + 938800 0.0059608087 0.0022366681 0.0051705037 + 938900 0.0043438808 0.0021018629 0.0042398668 + 939000 0.0046428656 0.0022456193 0.0045307797 + 939100 0.0059846889 0.0024174248 0.0053630139 + 939200 0.0052336594 0.0030814073 0.005657349 + 939300 0.0056661002 0.0035168383 0.006305622 + 939400 0.004427191 0.0034419901 0.0056209982 + 939500 0.0066909193 0.0024250929 0.0057182798 + 939600 0.0056648475 0.0018577468 0.0046459139 + 939700 0.0044368301 0.0021324049 0.0043161572 + 939800 0.0052102776 0.0022828249 0.0048472584 + 939900 0.0057784803 0.0018424029 0.0046864986 + 940000 0.0054536862 0.0018416544 0.0045258906 + 940100 0.0030937018 0.0022041912 0.0037268726 + 940200 0.0054349055 0.0019159445 0.0045909371 + 940300 0.0054124261 0.0022909675 0.004954896 + 940400 0.0045552965 0.0022951016 0.0045371615 + 940500 0.0055008585 0.0018861739 0.0045936276 + 940600 0.0046927907 0.0022485015 0.0045582344 + 940700 0.0061175342 0.0024726269 0.0054836008 + 940800 0.004202996 0.0022847921 0.0043534542 + 940900 0.0065393529 0.0026329137 0.0058515015 + 941000 0.0050254276 0.0025892115 0.0050626642 + 941100 0.0039777349 0.0028100085 0.0047677999 + 941200 0.0037253763 0.0027129149 0.0045464986 + 941300 0.0045773355 0.0025333914 0.0047862987 + 941400 0.0044624405 0.0022348387 0.0044311962 + 941500 0.0050039354 0.0021555214 0.0046183958 + 941600 0.0049408619 0.0023537695 0.0047856 + 941700 0.0061528053 0.0022463079 0.0052746417 + 941800 0.0042181471 0.0021466886 0.0042228079 + 941900 0.0043224806 0.002190112 0.0043175829 + 942000 0.003380628 0.0019786369 0.0036425397 + 942100 0.0040337261 0.0018693301 0.0038546796 + 942200 0.0055407963 0.0017928489 0.0045199596 + 942300 0.00521851 0.0016426074 0.0042110928 + 942400 0.0035034165 0.0015657275 0.0032900653 + 942500 0.0045107976 0.0016203927 0.0038405509 + 942600 0.0052405026 0.0023007467 0.0048800566 + 942700 0.0047697183 0.0025985395 0.0049461352 + 942800 0.0045476421 0.0025038338 0.0047421264 + 942900 0.0066991869 0.0025411377 0.0058383938 + 943000 0.0053256396 0.0026705977 0.0052918109 + 943100 0.003621851 0.0027317137 0.0045143434 + 943200 0.0051288224 0.0028054444 0.0053297867 + 943300 0.0059278052 0.0027199325 0.0056375241 + 943400 0.0050664558 0.002571866 0.0050655122 + 943500 0.0043987569 0.0022288141 0.0043938273 + 943600 0.0055852297 0.0018073149 0.0045562951 + 943700 0.0051847526 0.0016124523 0.0041643227 + 943800 0.0062763246 0.0014874661 0.0045765946 + 943900 0.007831557 0.0020475722 0.0059021667 + 944000 0.0042912051 0.0029470757 0.0050591532 + 944100 0.0048956783 0.0027739785 0.0051835702 + 944200 0.0049659248 0.0024382669 0.004882433 + 944300 0.0041268149 0.0025049891 0.0045361558 + 944400 0.0049556934 0.0024802493 0.0049193796 + 944500 0.0038404218 0.0022275687 0.0041177763 + 944600 0.004759762 0.0023149804 0.0046576758 + 944700 0.003353855 0.0021403785 0.0037911041 + 944800 0.0038316685 0.0022816553 0.0041675546 + 944900 0.0049201012 0.0023964179 0.0048180302 + 945000 0.0050218196 0.0024058153 0.0048774922 + 945100 0.0040371277 0.0021579791 0.0041450029 + 945200 0.004802601 0.0018972421 0.0042610223 + 945300 0.0053181878 0.0018377338 0.0044552794 + 945400 0.002774182 0.0018746929 0.0032401106 + 945500 0.0060955724 0.0018988392 0.0048990037 + 945600 0.0040721932 0.0022335236 0.0042378062 + 945700 0.004438103 0.0023237851 0.004508164 + 945800 0.0051884124 0.0021733537 0.0047270255 + 945900 0.0032768907 0.0024562721 0.0040691167 + 946000 0.0055445854 0.0029726908 0.0057016665 + 946100 0.0040358051 0.0032302616 0.0052166344 + 946200 0.0050318868 0.0027650909 0.0052417227 + 946300 0.0055853094 0.0025245556 0.005273575 + 946400 0.0071347373 0.0029957017 0.0065073302 + 946500 0.0051162577 0.0038308286 0.0063489866 + 946600 0.0058325164 0.0043868597 0.0072575514 + 946700 0.0061111331 0.0034209343 0.0064287576 + 946800 0.0078680996 0.0025314299 0.0064040102 + 946900 0.0050528207 0.0026700614 0.0051569966 + 947000 0.0048330216 0.0034117973 0.0057905501 + 947100 0.004624695 0.0030929475 0.0053691646 + 947200 0.0042726555 0.00236724 0.0044701876 + 947300 0.0060348689 0.0017398769 0.004710164 + 947400 0.0048938658 0.0019178436 0.0043265432 + 947500 0.0063735976 0.002839243 0.005976248 + 947600 0.0043579398 0.0025117934 0.0046567169 + 947700 0.006717336 0.0020960784 0.0054022673 + 947800 0.003465116 0.0019985364 0.0037040232 + 947900 0.0058650975 0.0020234897 0.0049102174 + 948000 0.0049257553 0.0022069317 0.0046313269 + 948100 0.0038186141 0.0022964781 0.0041759522 + 948200 0.0050111579 0.0021104511 0.0045768804 + 948300 0.0032171137 0.0020940331 0.0036774562 + 948400 0.0054056193 0.0019917874 0.0046523656 + 948500 0.0062224969 0.0017077834 0.0047704186 + 948600 0.0052477952 0.0015879005 0.0041707997 + 948700 0.0041400917 0.0020733234 0.0041110248 + 948800 0.0051304587 0.0022764196 0.0048015672 + 948900 0.0046144637 0.0022654908 0.0045366722 + 949000 0.0060675396 0.0022942677 0.0052806348 + 949100 0.0044897531 0.0023463816 0.0045561819 + 949200 0.0049509486 0.0026853832 0.0051221783 + 949300 0.0061060287 0.0030100737 0.0060153848 + 949400 0.006130108 0.0030469915 0.006064154 + 949500 0.0064528392 0.0026823296 0.0058583364 + 949600 0.0055512213 0.0026618394 0.0053940811 + 949700 0.0061097374 0.0021954619 0.0052025983 + 949800 0.0051574025 0.0021203296 0.0046587387 + 949900 0.0032987063 0.0025513791 0.0041749611 + 950000 0.0052287899 0.0019912283 0.0045647733 + 950100 0.0049102761 0.0016561234 0.0040728999 + 950200 0.0052563362 0.0016456956 0.0042327985 + 950300 0.0039102131 0.0019581877 0.0038827457 + 950400 0.0058400157 0.0023727343 0.0052471171 + 950500 0.0056835899 0.0027487682 0.0055461601 + 950600 0.0056658571 0.002894755 0.005683419 + 950700 0.0055111602 0.0027801129 0.005492637 + 950800 0.0041420093 0.0028489361 0.0048875813 + 950900 0.0060755042 0.0028081964 0.0057984836 + 951000 0.0043120202 0.0031820963 0.0053044187 + 951100 0.0050844826 0.0029436207 0.0054461395 + 951200 0.0043623893 0.0024947531 0.0046418665 + 951300 0.0050892523 0.0026408234 0.0051456898 + 951400 0.0067653056 0.0029331053 0.0062629041 + 951500 0.0046851223 0.0033934423 0.005699401 + 951600 0.0036482855 0.0033728531 0.0051684937 + 951700 0.0053010362 0.0032247545 0.0058338583 + 951800 0.0048395167 0.0036315834 0.006013533 + 951900 0.0050960735 0.0038334192 0.0063416429 + 952000 0.0040192424 0.0031068683 0.0050850892 + 952100 0.0057657857 0.0027311967 0.0055690444 + 952200 0.004538001 0.002773444 0.0050069913 + 952300 0.0052673365 0.002912185 0.0055047022 + 952400 0.0064861336 0.003172013 0.0063644069 + 952500 0.0054791011 0.0029210535 0.0056177986 + 952600 0.0067987713 0.0028771526 0.0062234229 + 952700 0.005974488 0.0028515029 0.0057920713 + 952800 0.0068480767 0.0025188217 0.0058893594 + 952900 0.0047438999 0.002485112 0.0048200002 + 953000 0.0068326315 0.0028080094 0.0061709452 + 953100 0.0046717584 0.0028290936 0.0051284746 + 953200 0.0035479391 0.0028000619 0.0045463132 + 953300 0.0055773791 0.0030097582 0.0057548745 + 953400 0.0059363142 0.0032784386 0.0062002182 + 953500 0.0056272915 0.0034351563 0.0062048389 + 953600 0.0038299214 0.003025445 0.0049104845 + 953700 0.0072548661 0.0026030746 0.006173829 + 953800 0.0061603681 0.0028046327 0.0058366888 + 953900 0.0055464421 0.0024194409 0.0051493304 + 954000 0.00633578 0.0023126947 0.0054310864 + 954100 0.0048301483 0.0026652063 0.005042545 + 954200 0.0034047252 0.0024356395 0.0041114027 + 954300 0.0038129594 0.0022654954 0.0041421864 + 954400 0.0048720919 0.0026744576 0.0050724404 + 954500 0.0049893396 0.0027979152 0.0052536057 + 954600 0.0057412157 0.0025317718 0.0053575264 + 954700 0.0040208445 0.002203056 0.0041820654 + 954800 0.0054814906 0.0018720323 0.0045699535 + 954900 0.0047218583 0.0018126325 0.0041366721 + 955000 0.0055011696 0.0022302791 0.0049378861 + 955100 0.0052384633 0.0021141285 0.0046924346 + 955200 0.0046415544 0.0022851334 0.0045696484 + 955300 0.0052135274 0.002277011 0.0048430441 + 955400 0.0043963723 0.0025256492 0.0046894887 + 955500 0.003846713 0.0023362256 0.0042295297 + 955600 0.0039494673 0.002094189 0.0040380674 + 955700 0.0063899968 0.0015757988 0.0047208753 + 955800 0.0049743688 0.0017680817 0.0042164038 + 955900 0.0045021307 0.0019607462 0.0041766387 + 956000 0.0049385493 0.0024105161 0.0048412083 + 956100 0.0039500822 0.002189101 0.0041332822 + 956200 0.0060811596 0.0021681473 0.005161218 + 956300 0.005628396 0.0024544626 0.0052246887 + 956400 0.0047126221 0.0022090529 0.0045285466 + 956500 0.0055173012 0.0020619527 0.0047774994 + 956600 0.0052170098 0.0019516047 0.0045193517 + 956700 0.0058360698 0.002239956 0.0051123966 + 956800 0.0048090784 0.0025588454 0.0049258136 + 956900 0.003594931 0.0029422396 0.0047116196 + 957000 0.0055555335 0.0029132276 0.0056475917 + 957100 0.0069352122 0.0026443147 0.0060577395 + 957200 0.0039736857 0.0022018026 0.004157601 + 957300 0.0043944511 0.002212534 0.0043754279 + 957400 0.0055295107 0.0021741388 0.0048956948 + 957500 0.0039852773 0.0019940025 0.0039555062 + 957600 0.0047112142 0.0020116963 0.004330497 + 957700 0.0051884531 0.0020372776 0.0045909693 + 957800 0.0061859137 0.0025436691 0.0055882985 + 957900 0.0043003554 0.0026838986 0.0048004798 + 958000 0.0048632272 0.0026650965 0.0050587161 + 958100 0.0047237471 0.0027154956 0.0050404649 + 958200 0.004979077 0.0022163736 0.0046670131 + 958300 0.0045889307 0.0019513039 0.0042099183 + 958400 0.005790562 0.0025983195 0.0054483617 + 958500 0.0037456551 0.0026717825 0.0045153471 + 958600 0.0037374404 0.0020216229 0.0038611443 + 958700 0.0037323683 0.001969528 0.003806553 + 958800 0.0042273514 0.0014518741 0.0035325236 + 958900 0.0043098196 0.0017684281 0.0038896674 + 959000 0.0056458922 0.0022281857 0.0050070232 + 959100 0.0063724224 0.0025851078 0.0057215345 + 959200 0.0063686964 0.0022009826 0.0053355754 + 959300 0.0059344372 0.0023047435 0.0052255993 + 959400 0.0045083051 0.0025677903 0.0047867218 + 959500 0.0058597729 0.0026858088 0.0055699158 + 959600 0.0055782702 0.0022321446 0.0049776995 + 959700 0.0050130231 0.0022735076 0.0047408549 + 959800 0.0048238353 0.0018602921 0.0042345235 + 959900 0.00661553 0.0018380015 0.0050940827 + 960000 0.0033551664 0.0021628656 0.0038142365 + 960100 0.0041817224 0.0021001705 0.004158362 + 960200 0.004548918 0.0019667416 0.0042056622 + 960300 0.0035620969 0.0024447524 0.004197972 + 960400 0.0038908763 0.0026212194 0.0045362601 + 960500 0.005831879 0.0024468969 0.0053172749 + 960600 0.0048074682 0.0027166128 0.0050827886 + 960700 0.0039833739 0.0026169123 0.0045774791 + 960800 0.0060456346 0.0028528319 0.0058284177 + 960900 0.0051347215 0.0033753033 0.005902549 + 961000 0.0056692781 0.0038911803 0.0066815281 + 961100 0.0050415318 0.0036594519 0.0061408308 + 961200 0.0050833497 0.0034565846 0.0059585457 + 961300 0.0041820896 0.0039830906 0.0060414628 + 961400 0.0043978665 0.0037522314 0.0059168063 + 961500 0.0057236011 0.0033407056 0.0061577905 + 961600 0.0043905252 0.003477246 0.0056382076 + 961700 0.0053006981 0.0030882922 0.0056972296 + 961800 0.0048670496 0.0029627196 0.0053582206 + 961900 0.0053506268 0.002848965 0.0054824766 + 962000 0.0063577707 0.0028437102 0.0059729255 + 962100 0.0062930754 0.0023526109 0.0054499839 + 962200 0.0057442991 0.0021947195 0.0050219917 + 962300 0.0064988511 0.0021596896 0.0053583429 + 962400 0.0052910983 0.001943272 0.0045474844 + 962500 0.0047105574 0.0017216339 0.0040401114 + 962600 0.0037427834 0.0021001021 0.0039422533 + 962700 0.0039758232 0.0023889489 0.0043457994 + 962800 0.0056261432 0.0022548604 0.0050239778 + 962900 0.0045987811 0.0020505425 0.0043140051 + 963000 0.0049779223 0.0018664446 0.0043165158 + 963100 0.0070376887 0.0018459503 0.0053098127 + 963200 0.0046833922 0.0019341507 0.0042392578 + 963300 0.0042735983 0.0021516761 0.0042550878 + 963400 0.0048369848 0.002149957 0.0045306604 + 963500 0.0043767749 0.0022949989 0.0044491928 + 963600 0.0055391754 0.0023341139 0.0050604269 + 963700 0.0046213332 0.0024041639 0.0046787263 + 963800 0.0046922772 0.0023676483 0.0046771284 + 963900 0.004153204 0.0021342763 0.0041784314 + 964000 0.0052875685 0.0018726357 0.0044751109 + 964100 0.004326333 0.0024115831 0.0045409502 + 964200 0.0063897553 0.0021475366 0.0052924943 + 964300 0.0054193816 0.0023284356 0.0049957875 + 964400 0.0050141434 0.0024139679 0.0048818666 + 964500 0.0040371901 0.0024621087 0.0044491631 + 964600 0.0038907854 0.0026947947 0.0046097906 + 964700 0.0052096474 0.0022967198 0.0048608432 + 964800 0.0049516861 0.0022575097 0.0046946677 + 964900 0.0040273102 0.0022363905 0.0042185822 + 965000 0.0044173283 0.0022792882 0.004453442 + 965100 0.00446887 0.0022216162 0.0044211382 + 965200 0.0041350782 0.0021195251 0.0041547589 + 965300 0.003901114 0.0021926107 0.0041126902 + 965400 0.0043630964 0.0026161672 0.0047636288 + 965500 0.0045378054 0.0032256686 0.0054591197 + 965600 0.0048941154 0.0030283091 0.0054371316 + 965700 0.0057868016 0.002400504 0.0052486954 + 965800 0.0045999405 0.0020507299 0.0043147631 + 965900 0.004080903 0.0025946329 0.0046032023 + 966000 0.0049680952 0.0024024378 0.0048476721 + 966100 0.0045905785 0.0017780347 0.00403746 + 966200 0.0034919467 0.0018961322 0.0036148247 + 966300 0.0055175353 0.002354511 0.0050701729 + 966400 0.0050449491 0.0025615649 0.0050446258 + 966500 0.0046839905 0.0021873787 0.0044927802 + 966600 0.0051286088 0.0021902013 0.0047144385 + 966700 0.0050796817 0.0028715693 0.0053717252 + 966800 0.0050743594 0.0029199303 0.0054174666 + 966900 0.0044635829 0.0025349815 0.0047319012 + 967000 0.0057405875 0.0021280568 0.0049535022 + 967100 0.0059068058 0.0019397131 0.0048469691 + 967200 0.0050986118 0.0023787496 0.0048882226 + 967300 0.0049941624 0.0022780389 0.0047361032 + 967400 0.0050301198 0.0022006553 0.0046764174 + 967500 0.0054281152 0.001924989 0.0045966395 + 967600 0.0055042845 0.0018527671 0.0045619071 + 967700 0.0055172367 0.0019661198 0.0046816347 + 967800 0.0059922494 0.0022285445 0.0051778548 + 967900 0.0053927853 0.0025613281 0.0052155896 + 968000 0.0037833208 0.0022827109 0.0041448141 + 968100 0.0055354142 0.0017000515 0.0044245132 + 968200 0.0046079638 0.0016397629 0.003907745 + 968300 0.0038642814 0.0022635909 0.0041655419 + 968400 0.0042174773 0.0027002421 0.0047760317 + 968500 0.0052028175 0.0028617173 0.005422479 + 968600 0.0047564513 0.0022474225 0.0045884884 + 968700 0.0039876019 0.0019738994 0.0039365472 + 968800 0.0056931666 0.0015582885 0.004360394 + 968900 0.0047643391 0.0020793549 0.004424303 + 969000 0.0044013213 0.0025175534 0.0046838287 + 969100 0.0048710414 0.0023548657 0.0047523314 + 969200 0.0035362311 0.0022298021 0.0039702909 + 969300 0.0065761181 0.0018532983 0.0050899815 + 969400 0.0053707508 0.0019228919 0.0045663083 + 969500 0.0047368247 0.0018704082 0.0042018141 + 969600 0.0048424258 0.0019723359 0.0043557173 + 969700 0.0048179689 0.0022518534 0.0046231975 + 969800 0.0056799864 0.0023461999 0.0051418182 + 969900 0.0062692319 0.0023492566 0.0054348942 + 970000 0.0054003425 0.0023271783 0.0049851594 + 970100 0.0063574053 0.0021323502 0.0052613856 + 970200 0.006802899 0.0020025521 0.005350854 + 970300 0.005481144 0.0026123443 0.0053100949 + 970400 0.0054867563 0.0022515158 0.0049520286 + 970500 0.0044620897 0.0018256185 0.0040218032 + 970600 0.0045841586 0.0017761751 0.0040324406 + 970700 0.0062574056 0.0018913878 0.0049712046 + 970800 0.0059838128 0.0016933755 0.0046385333 + 970900 0.0040029713 0.0017244813 0.0036946937 + 971000 0.0049328482 0.0021135393 0.0045414256 + 971100 0.0049802933 0.0023659304 0.0048171685 + 971200 0.0062051729 0.0026184269 0.0056725354 + 971300 0.0053331524 0.0027364852 0.0053613962 + 971400 0.0053187381 0.0028213625 0.0054391789 + 971500 0.0076101929 0.0024044216 0.0061500634 + 971600 0.0046981401 0.0022373645 0.0045497303 + 971700 0.0054684068 0.0017801453 0.0044716268 + 971800 0.0051512731 0.0018126707 0.004348063 + 971900 0.0053899063 0.0021509283 0.0048037727 + 972000 0.0052533465 0.0020617765 0.004647408 + 972100 0.0066526227 0.0020485566 0.0053228943 + 972200 0.0038424674 0.0026390995 0.004530314 + 972300 0.0046064324 0.0023372425 0.004604471 + 972400 0.0065948082 0.0021606903 0.0054065725 + 972500 0.004671679 0.0021208545 0.0044201965 + 972600 0.0041464334 0.0014399456 0.0034807682 + 972700 0.0048389341 0.0013970871 0.00377875 + 972800 0.0033361919 0.0013416909 0.0029837228 + 972900 0.0033501478 0.0015178454 0.0031667463 + 973000 0.004177319 0.0018632652 0.0039192894 + 973100 0.0052238322 0.0023574145 0.0049285194 + 973200 0.0052669139 0.0024310562 0.0050233654 + 973300 0.0043109049 0.0027399221 0.0048616956 + 973400 0.0049375469 0.0029705252 0.0054007241 + 973500 0.0045090595 0.0032140553 0.0054333581 + 973600 0.0036012372 0.00308736 0.0048598439 + 973700 0.0040322096 0.0023760405 0.0043606437 + 973800 0.0049837362 0.0020923803 0.0045453129 + 973900 0.0044300996 0.0023680602 0.0045484999 + 974000 0.0047439065 0.0022864414 0.0046213329 + 974100 0.0050742384 0.0020707058 0.0045681825 + 974200 0.0059322879 0.001955475 0.0048752729 + 974300 0.0037757252 0.0022801636 0.0041385284 + 974400 0.0038964052 0.0023065004 0.0042242623 + 974500 0.003946768 0.0022297553 0.0041723051 + 974600 0.0052472066 0.0020914797 0.0046740892 + 974700 0.0057574955 0.0024939504 0.0053277177 + 974800 0.0049683854 0.0032573583 0.0057027355 + 974900 0.0067358965 0.0032466028 0.0065619269 + 975000 0.0064586613 0.0028270935 0.0060059658 + 975100 0.0059214927 0.0028585747 0.0057730594 + 975200 0.0048155941 0.0027797997 0.005149975 + 975300 0.0055549156 0.0027780836 0.0055121436 + 975400 0.005447297 0.0033663627 0.0060474542 + 975500 0.0052369267 0.0031887808 0.0057663307 + 975600 0.0068308524 0.0030508696 0.0064129298 + 975700 0.0045594562 0.003080082 0.0053241893 + 975800 0.0049653341 0.0029018929 0.0053457683 + 975900 0.0047907316 0.0028571501 0.0052150884 + 976000 0.005442417 0.0027703853 0.0054490749 + 976100 0.0041023992 0.002721175 0.0047403246 + 976200 0.0056522198 0.0023367878 0.0051187397 + 976300 0.0052686628 0.0023081854 0.0049013554 + 976400 0.0040245026 0.0027627095 0.0047435193 + 976500 0.0029703931 0.0024657537 0.003927744 + 976600 0.0038744042 0.0023823389 0.0042892722 + 976700 0.004844994 0.0022510183 0.0046356638 + 976800 0.0051016131 0.0022889363 0.0047998865 + 976900 0.0037197429 0.0029159468 0.0047467578 + 977000 0.0046342198 0.0027337466 0.0050146517 + 977100 0.0061343859 0.0020681056 0.0050873737 + 977200 0.0043998834 0.0019937729 0.0041593405 + 977300 0.0044019197 0.0017957091 0.0039622789 + 977400 0.0065277463 0.0018076326 0.0050205077 + 977500 0.0043562883 0.0028198862 0.0049639969 + 977600 0.006408156 0.0025534828 0.0057074971 + 977700 0.0063873189 0.0025028762 0.0056466347 + 977800 0.0054809089 0.0022845376 0.0049821725 + 977900 0.0042496299 0.0026889857 0.0047806004 + 978000 0.0042504347 0.0029497055 0.0050417163 + 978100 0.0059116672 0.0025654377 0.0054750864 + 978200 0.0063732707 0.0023437558 0.0054805999 + 978300 0.0049918714 0.0021510459 0.0046079826 + 978400 0.0055228477 0.0021307259 0.0048490025 + 978500 0.0047107809 0.0022562573 0.0045748447 + 978600 0.0039246428 0.0026199733 0.0045516335 + 978700 0.004827239 0.0024594011 0.0048353078 + 978800 0.0039717387 0.0022414028 0.0041962429 + 978900 0.005827548 0.0018829325 0.0047511788 + 979000 0.0048928117 0.002111431 0.0045196118 + 979100 0.0046299657 0.0020773071 0.0043561184 + 979200 0.0050679677 0.0021219768 0.0046163672 + 979300 0.0062981566 0.0018407598 0.0049406337 + 979400 0.003711235 0.0018396016 0.0036662251 + 979500 0.0051306059 0.0015330069 0.004058227 + 979600 0.0034966183 0.0014376514 0.0031586432 + 979700 0.0037980799 0.0012101149 0.0030794823 + 979800 0.0050584562 0.0016692327 0.0041589416 + 979900 0.0041092754 0.0018759758 0.0038985097 + 980000 0.0056234697 0.0018474672 0.0046152687 + 980100 0.0039990502 0.0016710327 0.0036393153 + 980200 0.0040111651 0.0018260053 0.0038002506 + 980300 0.0041605783 0.0020454007 0.0040931854 + 980400 0.0050844182 0.0023569629 0.00485945 + 980500 0.0058257257 0.0031162177 0.0059835671 + 980600 0.0041319049 0.0032641418 0.0052978137 + 980700 0.0067055918 0.0024877256 0.005788134 + 980800 0.0034249233 0.0027054452 0.0043911496 + 980900 0.0048446733 0.0028757806 0.0052602682 + 981000 0.0054802774 0.0024680185 0.0051653426 + 981100 0.0071551106 0.0024366666 0.0059583226 + 981200 0.0050907311 0.0026419647 0.0051475589 + 981300 0.0054428754 0.0024943223 0.0051732375 + 981400 0.0051276846 0.0023333708 0.0048571531 + 981500 0.0040197386 0.0025041816 0.0044826467 + 981600 0.0055899569 0.002924182 0.005675489 + 981700 0.0055991454 0.0027554171 0.0055112465 + 981800 0.005145761 0.0026502694 0.0051829486 + 981900 0.0061291229 0.0021750588 0.0051917365 + 982000 0.0035043802 0.0023668943 0.0040917064 + 982100 0.0046100402 0.0022972056 0.0045662098 + 982200 0.0049838512 0.0023734028 0.004826392 + 982300 0.0051026685 0.0023793118 0.0048907815 + 982400 0.0056825696 0.002574319 0.0053712088 + 982500 0.004897574 0.0028488026 0.0052593273 + 982600 0.0041026211 0.003227985 0.0052472439 + 982700 0.0042408094 0.0037344593 0.0058217327 + 982800 0.0047746582 0.0035613854 0.0059114125 + 982900 0.005268543 0.0028726144 0.0054657254 + 983000 0.0056785066 0.0029743286 0.0057692185 + 983100 0.0048849941 0.0028201132 0.0052244462 + 983200 0.0049311491 0.0027453406 0.0051723905 + 983300 0.0062676333 0.0023219668 0.0054068175 + 983400 0.0043930239 0.0023708038 0.0045329952 + 983500 0.0040724065 0.0019094296 0.0039138172 + 983600 0.0052150927 0.0024262577 0.0049930611 + 983700 0.0043433298 0.0026049554 0.004742688 + 983800 0.0050472052 0.0023722774 0.0048564487 + 983900 0.0043356683 0.0025840093 0.004717971 + 984000 0.0047622483 0.0026660006 0.0050099196 + 984100 0.0051684201 0.0024934895 0.0050373213 + 984200 0.0049709271 0.0024526566 0.0048992848 + 984300 0.0050391681 0.0027967948 0.0052770104 + 984400 0.0035256957 0.0029222764 0.0046575798 + 984500 0.0055981847 0.0027526784 0.0055080349 + 984600 0.0063161312 0.0027642814 0.0058730022 + 984700 0.0043520151 0.0029104482 0.0050524556 + 984800 0.0044681672 0.0031145431 0.0053137192 + 984900 0.0055034534 0.003055667 0.005764398 + 985000 0.0040358495 0.0033472978 0.0053336924 + 985100 0.0042397873 0.0030740969 0.0051608672 + 985200 0.0059205241 0.0032917994 0.0062058073 + 985300 0.0044841608 0.0033076654 0.0055147133 + 985400 0.0061132038 0.0033594401 0.0063682826 + 985500 0.0049492441 0.0032243699 0.005660326 + 985600 0.0049895883 0.0027963229 0.0052521359 + 985700 0.0050430015 0.0026648049 0.0051469072 + 985800 0.0063399199 0.0029352288 0.0060556581 + 985900 0.0058207205 0.0030297651 0.005894651 + 986000 0.0058527679 0.0030318393 0.0059124985 + 986100 0.0051390777 0.0029639791 0.005493369 + 986200 0.0049081039 0.0028562779 0.0052719853 + 986300 0.0063066229 0.0029136954 0.0060177363 + 986400 0.0074613207 0.0030321867 0.0067045555 + 986500 0.0047357109 0.0031939484 0.0055248061 + 986600 0.005585725 0.0029077879 0.0056570119 + 986700 0.0037630638 0.0031529826 0.0050051155 + 986800 0.0051417877 0.0029449946 0.0054757182 + 986900 0.0039352683 0.0027345012 0.0046713911 + 987000 0.0045042688 0.0027946598 0.0050116046 + 987100 0.0038858304 0.0025608629 0.00447342 + 987200 0.0052483828 0.0027178034 0.0053009919 + 987300 0.0037091999 0.0029005868 0.0047262086 + 987400 0.0070775587 0.0027798141 0.0062633 + 987500 0.0036270684 0.0028413445 0.0046265422 + 987600 0.0070489487 0.0024860097 0.0059554142 + 987700 0.0064193038 0.0024253988 0.0055848998 + 987800 0.0059584575 0.0027159338 0.0056486121 + 987900 0.0066438819 0.0026475906 0.0059176263 + 988000 0.006814268 0.0028980733 0.0062519708 + 988100 0.00736784 0.0028463305 0.0064726892 + 988200 0.0064268041 0.0028229601 0.0059861527 + 988300 0.0044890371 0.0028819666 0.0050914145 + 988400 0.0051428621 0.0028251015 0.0053563539 + 988500 0.0048952845 0.0028904207 0.0052998185 + 988600 0.0062151623 0.0023979318 0.005456957 + 988700 0.0075431601 0.0024812106 0.0061938597 + 988800 0.0052180115 0.0028687568 0.0054369968 + 988900 0.0067502349 0.002768468 0.0060908493 + 989000 0.0044121348 0.0028805115 0.0050521091 + 989100 0.0056502832 0.0028877942 0.005668793 + 989200 0.0056851794 0.0030672771 0.0058654513 + 989300 0.0064623776 0.002497555 0.0056782565 + 989400 0.0054174613 0.0022052964 0.0048717031 + 989500 0.0049095694 0.002719427 0.0051358557 + 989600 0.0038369342 0.0030875314 0.0049760224 + 989700 0.0045635278 0.0024280134 0.0046741247 + 989800 0.0062862646 0.0021870487 0.0052810696 + 989900 0.00401205 0.0022977586 0.0042724394 + 990000 0.0031665848 0.0024655837 0.0040241372 + 990100 0.0052668534 0.0024501974 0.0050424768 + 990200 0.0060699897 0.0023492996 0.0053368726 + 990300 0.0029925171 0.0026476097 0.0041204893 + 990400 0.0057224906 0.0028046956 0.0056212339 + 990500 0.0042043651 0.0031280593 0.0051973952 + 990600 0.0084965764 0.0026677063 0.006849615 + 990700 0.0056795836 0.0026465389 0.005441959 + 990800 0.0036923655 0.0029536112 0.0047709474 + 990900 0.0063791612 0.0030311292 0.0061708726 + 991000 0.0060970035 0.003375455 0.0063763239 + 991100 0.0062167722 0.0038461082 0.0069059257 + 991200 0.0044292718 0.0034323775 0.0056124098 + 991300 0.0047065641 0.00275659 0.005073102 + 991400 0.0060395958 0.002512749 0.0054853626 + 991500 0.0043901857 0.0026613919 0.0048221865 + 991600 0.0064734678 0.0021112289 0.0052973888 + 991700 0.0048135391 0.0021462033 0.004515367 + 991800 0.0057814017 0.0021097485 0.0049552822 + 991900 0.0047353231 0.002448547 0.0047792139 + 992000 0.0050574842 0.0021558063 0.0046450368 + 992100 0.004169629 0.0026219544 0.0046741936 + 992200 0.0035276661 0.0025554912 0.0042917644 + 992300 0.0073098816 0.0024056232 0.0060034556 + 992400 0.0044377561 0.0026966481 0.0048808562 + 992500 0.0047866419 0.0024237171 0.0047796424 + 992600 0.0041714639 0.0020709134 0.0041240558 + 992700 0.0057420447 0.0020567557 0.0048829183 + 992800 0.0047033206 0.0021638155 0.0044787311 + 992900 0.0049631861 0.0022831604 0.0047259786 + 993000 0.0057616199 0.0022022786 0.0050380759 + 993100 0.0059562378 0.0020840039 0.0050155897 + 993200 0.0060702991 0.0027081922 0.0056959175 + 993300 0.0036361257 0.0027494034 0.004539059 + 993400 0.0049969436 0.002264335 0.0047237682 + 993500 0.0051335965 0.0023020636 0.0048287556 + 993600 0.0038654824 0.0025151362 0.0044176783 + 993700 0.005012708 0.0022132214 0.0046804136 + 993800 0.004830921 0.0021669247 0.0045446437 + 993900 0.0042947553 0.0022723071 0.004386132 + 994000 0.0038885273 0.0023597147 0.0042735992 + 994100 0.0043382391 0.0026960218 0.0048312488 + 994200 0.0054540426 0.002690482 0.0053748936 + 994300 0.0050225585 0.0031918265 0.0056638671 + 994400 0.0043957731 0.0036362587 0.0057998033 + 994500 0.0047650441 0.0031226028 0.0054678979 + 994600 0.0051718966 0.0029700689 0.0055156117 + 994700 0.0052283593 0.0030852112 0.0056585443 + 994800 0.0041281262 0.0025849569 0.004616769 + 994900 0.0048214973 0.0025351245 0.0049082052 + 995000 0.0051733148 0.0023247117 0.0048709526 + 995100 0.005381231 0.0023076779 0.0049562526 + 995200 0.0055969207 0.0024085952 0.0051633296 + 995300 0.0069872125 0.0024732653 0.005912284 + 995400 0.0047278147 0.0023683595 0.0046953308 + 995500 0.0043343907 0.0023087316 0.0044420645 + 995600 0.0050105492 0.0022640307 0.0047301604 + 995700 0.0048086353 0.0023118181 0.0046785683 + 995800 0.0057734406 0.0027848978 0.005626513 + 995900 0.0054350316 0.0032062019 0.0058812565 + 996000 0.006762978 0.0027828838 0.006111537 + 996100 0.0056581903 0.0024266921 0.0052115826 + 996200 0.0050327909 0.0024579443 0.0049350211 + 996300 0.0042900558 0.0023953088 0.0045068207 + 996400 0.0046179612 0.0022902873 0.00456319 + 996500 0.0042966088 0.0020184398 0.004133177 + 996600 0.0029415555 0.0022717449 0.0037195418 + 996700 0.0044938326 0.0026969407 0.004908749 + 996800 0.005332524 0.0029500719 0.0055746735 + 996900 0.0059137513 0.0026772403 0.0055879147 + 997000 0.0038451959 0.0024993702 0.0043919276 + 997100 0.0052280212 0.0021697932 0.0047429599 + 997200 0.0048236494 0.0019825895 0.0043567295 + 997300 0.0063693807 0.0016866843 0.0048216139 + 997400 0.0057516255 0.002200832 0.0050317102 + 997500 0.0052275762 0.0028131674 0.005386115 + 997600 0.0056947647 0.002527966 0.005330858 + 997700 0.0038868155 0.0020253583 0.0039384003 + 997800 0.0047661771 0.0019361416 0.0042819944 + 997900 0.004279239 0.0019607491 0.004066937 + 998000 0.0040054342 0.0023530402 0.0043244649 + 998100 0.0042578307 0.0020690333 0.0041646844 + 998200 0.0063386793 0.0018058566 0.0049256753 + 998300 0.004628371 0.0017507567 0.004028783 + 998400 0.004452663 0.0018707626 0.0040623077 + 998500 0.0055945285 0.0017229935 0.0044765505 + 998600 0.0059954179 0.0019074388 0.0048583085 + 998700 0.0064770993 0.0020988255 0.0052867728 + 998800 0.0046488737 0.0022786743 0.0045667919 + 998900 0.0046555006 0.0021402839 0.0044316631 + 999000 0.0039118975 0.0023083816 0.0042337686 + 999100 0.0042809737 0.002498269 0.0046053107 + 999200 0.0053057226 0.0022375668 0.0048489771 + 999300 0.0045480807 0.0018447362 0.0040832446 + 999400 0.0070898057 0.0017386224 0.0052281361 + 999500 0.0040411188 0.00186204 0.0038510281 + 999600 0.0044541418 0.0017033787 0.0038956516 + 999700 0.0043493845 0.0020669123 0.0042076249 + 999800 0.0047713221 0.0025011758 0.0048495609 + 999900 0.0041651359 0.0023462542 0.004396282 + 1000000 0.0069081526 0.0020962934 0.0054963997 + 1000100 0.0051494955 0.0025812336 0.0051157509 + 1000200 0.0052849049 0.0026391364 0.0052403005 + 1000300 0.0064458921 0.0021817095 0.005354297 + 1000400 0.0040600774 0.0025574907 0.0045558101 + 1000500 0.0067448827 0.0020642998 0.0053840467 + 1000600 0.0046874103 0.0025446958 0.0048517805 + 1000700 0.0059312974 0.0024016652 0.0053209757 + 1000800 0.0046239503 0.0024313838 0.0047072344 + 1000900 0.0065969442 0.0025403247 0.0057872581 + 1001000 0.0039460555 0.0032729377 0.0052151369 + 1001100 0.0051649452 0.0034639203 0.0060060418 + 1001200 0.0059948639 0.0027361193 0.0056867163 + 1001300 0.005589125 0.0023643931 0.0051152905 + 1001400 0.0054033947 0.0024136607 0.005073144 + 1001500 0.0045560667 0.0026468889 0.004889328 + 1001600 0.0053637132 0.0028193046 0.0054592572 + 1001700 0.0051950158 0.0028894148 0.0054463367 + 1001800 0.0054701025 0.0033857366 0.0060780526 + 1001900 0.0046832559 0.003369221 0.005674261 + 1002000 0.005591551 0.0029473319 0.0056994234 + 1002100 0.0055488314 0.0026581838 0.0053892493 + 1002200 0.0063829728 0.0025746735 0.0057162929 + 1002300 0.0045372232 0.0027650586 0.0049982232 + 1002400 0.0058766876 0.0024222294 0.0053146616 + 1002500 0.0062297892 0.0021997444 0.0052659688 + 1002600 0.0044219521 0.0023220662 0.0044984958 + 1002700 0.0048317369 0.0024521597 0.0048302802 + 1002800 0.0062759314 0.0024211933 0.0055101283 + 1002900 0.0045704509 0.0022813492 0.0045308681 + 1003000 0.005296777 0.002286375 0.0048933824 + 1003100 0.0048296657 0.0018562121 0.0042333132 + 1003200 0.0064911666 0.001719224 0.0049140951 + 1003300 0.0039611249 0.002488262 0.0044378782 + 1003400 0.0045439444 0.0024646716 0.0047011443 + 1003500 0.0063899805 0.0019758945 0.0051209631 + 1003600 0.0039458851 0.0024768536 0.0044189689 + 1003700 0.0047814458 0.0030287471 0.0053821149 + 1003800 0.0060532711 0.0025724101 0.0055517545 + 1003900 0.0046427043 0.0021163149 0.004401396 + 1004000 0.0044523385 0.0021242432 0.0043156285 + 1004100 0.0046728132 0.0025187357 0.004818636 + 1004200 0.0065121434 0.0020720806 0.0052772762 + 1004300 0.0049568828 0.0018419125 0.0042816283 + 1004400 0.0050255803 0.0019006513 0.004374179 + 1004500 0.0038698921 0.0023159722 0.0042206847 + 1004600 0.0052165789 0.0022477189 0.0048152538 + 1004700 0.006485187 0.0020144991 0.0052064271 + 1004800 0.0054101366 0.0023697468 0.0050325484 + 1004900 0.0057697645 0.0026540284 0.0054938344 + 1005000 0.0040673673 0.0026888362 0.0046907435 + 1005100 0.0040597796 0.0023138106 0.0043119834 + 1005200 0.004857991 0.0024143357 0.0048053781 + 1005300 0.0044355987 0.0026901017 0.0048732479 + 1005400 0.0047749209 0.0026978177 0.0050479741 + 1005500 0.0063127851 0.0024478435 0.0055549174 + 1005600 0.0053648273 0.0023177772 0.0049582781 + 1005700 0.0044077178 0.001963008 0.0041324316 + 1005800 0.0052208121 0.0019798199 0.0045494383 + 1005900 0.0047169283 0.0020366258 0.0043582389 + 1006000 0.0064128383 0.0023037002 0.0054600191 + 1006100 0.0047984398 0.0021997989 0.004561531 + 1006200 0.0026655526 0.0022747815 0.0035867332 + 1006300 0.0066804415 0.001950608 0.0052386378 + 1006400 0.0058666955 0.0022863746 0.0051738887 + 1006500 0.004341811 0.002802581 0.0049395661 + 1006600 0.0041500243 0.0022632247 0.0043058147 + 1006700 0.005564904 0.0017322046 0.0044711808 + 1006800 0.0061869363 0.002003197 0.0050483297 + 1006900 0.0057017997 0.0021739543 0.0049803088 + 1007000 0.0034295544 0.0020343903 0.0037223741 + 1007100 0.0052637291 0.0021950729 0.0047858146 + 1007200 0.0047670014 0.0020535682 0.0043998266 + 1007300 0.0061460962 0.0022640794 0.0052891111 + 1007400 0.0051443437 0.0024503951 0.0049823768 + 1007500 0.0052616412 0.0024460091 0.0050357231 + 1007600 0.0046056557 0.002512578 0.0047794242 + 1007700 0.0071738755 0.0028336923 0.0063645842 + 1007800 0.0045768988 0.0024023875 0.0046550799 + 1007900 0.0050379534 0.0025190649 0.0049986826 + 1008000 0.0045811388 0.0029909017 0.005245681 + 1008100 0.0053127926 0.0025362398 0.0051511299 + 1008200 0.0042476206 0.0019302334 0.0040208591 + 1008300 0.0042836578 0.0019643249 0.0040726877 + 1008400 0.0033078123 0.0020162 0.0036442639 + 1008500 0.0062581726 0.0018061396 0.0048863339 + 1008600 0.0056370018 0.0023369356 0.0051113974 + 1008700 0.0056008725 0.0026669715 0.0054236509 + 1008800 0.0061580174 0.0023190033 0.0053499025 + 1008900 0.0045182173 0.0023248534 0.0045486635 + 1009000 0.0044815277 0.00246036 0.0046661119 + 1009100 0.0044086697 0.0019869571 0.0041568492 + 1009200 0.0052124838 0.0016599991 0.0042255184 + 1009300 0.0045232995 0.0023272984 0.0045536099 + 1009400 0.0050554729 0.0028127386 0.0053009792 + 1009500 0.0052842845 0.0025544086 0.0051552674 + 1009600 0.0045430244 0.0020260733 0.0042620931 + 1009700 0.005673776 0.0017984997 0.0045910613 + 1009800 0.0047587198 0.0015946763 0.0039368587 + 1009900 0.0040468251 0.0023055816 0.0042973783 + 1010000 0.005953619 0.0023587392 0.0052890361 + 1010100 0.0047879444 0.0026004243 0.0049569907 + 1010200 0.0065295538 0.0026431761 0.0058569409 + 1010300 0.005202315 0.0027032003 0.0052637147 + 1010400 0.0050212202 0.0023330273 0.0048044091 + 1010500 0.0050953324 0.0020150587 0.0045229176 + 1010600 0.0081267095 0.001539418 0.0055392828 + 1010700 0.00680933 0.0020209849 0.005372452 + 1010800 0.0059075345 0.0026247777 0.0055323923 + 1010900 0.0052125808 0.0027692911 0.0053348582 + 1011000 0.0068125903 0.0026458177 0.0059988895 + 1011100 0.005222571 0.0027163641 0.0052868483 + 1011200 0.0046131848 0.0030474854 0.0053180373 + 1011300 0.0056980831 0.0027832973 0.0055878226 + 1011400 0.0065363949 0.0025730008 0.0057901327 + 1011500 0.0052295321 0.0026094625 0.0051833728 + 1011600 0.005921081 0.0023032517 0.0052175337 + 1011700 0.0060874443 0.0020557481 0.0050519121 + 1011800 0.0065647908 0.0019218252 0.0051529331 + 1011900 0.0044574656 0.0023039189 0.0044978277 + 1012000 0.0056732516 0.002531751 0.0053240545 + 1012100 0.004911974 0.0022824955 0.0047001077 + 1012200 0.0050623369 0.0022418214 0.0047334403 + 1012300 0.0056473859 0.0023284362 0.0051080089 + 1012400 0.0065199063 0.0026167188 0.0058257352 + 1012500 0.0067617591 0.0025897903 0.0059178436 + 1012600 0.0050166194 0.0027880521 0.0052571694 + 1012700 0.0051878668 0.0025888901 0.0051422933 + 1012800 0.0051247679 0.0024156259 0.0049379726 + 1012900 0.0043340812 0.0027058371 0.0048390177 + 1013000 0.0051925601 0.0025897156 0.0051454288 + 1013100 0.0050816638 0.0020046097 0.0045057411 + 1013200 0.0049041631 0.0023956177 0.0048093855 + 1013300 0.0046185897 0.0026373177 0.0049105299 + 1013400 0.0065998507 0.0027374673 0.0059858313 + 1013500 0.0046498613 0.002877889 0.0051664927 + 1013600 0.0060784109 0.0023986205 0.0053903384 + 1013700 0.0064002554 0.0021889873 0.005339113 + 1013800 0.0043190584 0.0021668113 0.0042925979 + 1013900 0.0052377602 0.0024537634 0.0050317234 + 1014000 0.0064173927 0.0027566654 0.0059152259 + 1014100 0.0048549162 0.0023208718 0.0047104009 + 1014200 0.0037728476 0.0019617069 0.0038186553 + 1014300 0.0051090202 0.0019169924 0.0044315883 + 1014400 0.0046196552 0.0018816177 0.0041553542 + 1014500 0.00595051 0.0019279088 0.0048566754 + 1014600 0.0036306792 0.0017710766 0.0035580516 + 1014700 0.0053091504 0.0017358422 0.0043489396 + 1014800 0.004345447 0.0020296398 0.0041684145 + 1014900 0.0045563368 0.0025822178 0.0048247898 + 1015000 0.003611884 0.002841104 0.0046188282 + 1015100 0.0038028411 0.0027268024 0.0045985133 + 1015200 0.0032081943 0.002317249 0.0038962821 + 1015300 0.0040465971 0.0023775971 0.0043692816 + 1015400 0.00451567 0.0031171535 0.0053397098 + 1015500 0.0053399043 0.0031654748 0.0057937089 + 1015600 0.0046358011 0.0030056696 0.005287353 + 1015700 0.0050276469 0.0030577765 0.0055323214 + 1015800 0.0058920318 0.0031986424 0.0060986268 + 1015900 0.0063234226 0.0032086769 0.0063209865 + 1016000 0.0049639203 0.002408469 0.0048516485 + 1016100 0.0047852464 0.0020007332 0.0043559717 + 1016200 0.0043388345 0.0021621199 0.00429764 + 1016300 0.0054150804 0.0025066122 0.005171847 + 1016400 0.0038740651 0.0028599956 0.004766762 + 1016500 0.0053839571 0.0028846604 0.0055345768 + 1016600 0.0058427705 0.0024472741 0.0053230127 + 1016700 0.0068216223 0.0020347046 0.0053922219 + 1016800 0.0044496072 0.0025442309 0.0047342719 + 1016900 0.0034045704 0.0028401787 0.0045158657 + 1017000 0.0064196865 0.0021223617 0.0052820512 + 1017100 0.0050527322 0.0020001091 0.0044870008 + 1017200 0.0071625261 0.0022567284 0.0057820342 + 1017300 0.0057238708 0.0021464675 0.0049636852 + 1017400 0.0046574643 0.0023252538 0.0046175995 + 1017500 0.0042315296 0.0029184885 0.0050011944 + 1017600 0.0065763345 0.0026343497 0.0058711394 + 1017700 0.0043564062 0.0025660203 0.004710189 + 1017800 0.0061495216 0.003179033 0.0062057507 + 1017900 0.0053161625 0.0030382399 0.0056547886 + 1018000 0.005275079 0.0026615858 0.0052579138 + 1018100 0.0055893332 0.0024091544 0.0051601544 + 1018200 0.0045190621 0.0021240911 0.004348317 + 1018300 0.0042745726 0.0018917078 0.003995599 + 1018400 0.0033806443 0.002317108 0.0039810188 + 1018500 0.0053082998 0.002771873 0.0053845518 + 1018600 0.0057922195 0.0032101345 0.0060609926 + 1018700 0.0043773985 0.0033875564 0.0055420572 + 1018800 0.0056141785 0.0033283391 0.0060915676 + 1018900 0.0053861997 0.0026372475 0.0052882676 + 1019000 0.0041953238 0.0022800879 0.0043449738 + 1019100 0.0051250461 0.0022464353 0.0047689189 + 1019200 0.0050133577 0.0018721845 0.0043396965 + 1019300 0.0039904792 0.0018056177 0.0037696817 + 1019400 0.0044001996 0.0017214879 0.0038872111 + 1019500 0.0046730866 0.0018031314 0.0041031662 + 1019600 0.004091931 0.0020998886 0.0041138859 + 1019700 0.0045541016 0.0019312803 0.0041727522 + 1019800 0.0062520415 0.0021346335 0.0052118102 + 1019900 0.0041786442 0.003027595 0.0050842715 + 1020000 0.0042152554 0.002899557 0.004974253 + 1020100 0.0052615379 0.0028771418 0.005466805 + 1020200 0.0043527949 0.0028524105 0.0049948017 + 1020300 0.0046606154 0.0021806217 0.0044745183 + 1020400 0.004509421 0.0023735922 0.0045930728 + 1020500 0.0053905962 0.0021853522 0.0048385363 + 1020600 0.0040105125 0.0023345907 0.0043085148 + 1020700 0.0054631617 0.0022365656 0.0049254655 + 1020800 0.005373147 0.0025796584 0.0052242541 + 1020900 0.0034483927 0.0026447199 0.0043419757 + 1021000 0.0052299609 0.0026582772 0.0052323985 + 1021100 0.0054199012 0.0025363521 0.0052039597 + 1021200 0.0056811939 0.0023159916 0.0051122042 + 1021300 0.0072381191 0.0023251855 0.0058876972 + 1021400 0.0059544355 0.0030086748 0.0059393735 + 1021500 0.0060250021 0.0030706907 0.0060361214 + 1021600 0.0059738895 0.0026691374 0.0056094111 + 1021700 0.0050589416 0.0024112139 0.0049011617 + 1021800 0.0056891396 0.0022662419 0.0050663653 + 1021900 0.0047264291 0.0021260782 0.0044523675 + 1022000 0.0035780794 0.0020737877 0.0038348736 + 1022100 0.0050346015 0.0022228122 0.0047007802 + 1022200 0.0056637807 0.002668009 0.0054556511 + 1022300 0.005904378 0.0033110409 0.0062171019 + 1022400 0.0046914986 0.0032533003 0.0055623973 + 1022500 0.0053424309 0.0027284783 0.005357956 + 1022600 0.0051401498 0.0029468718 0.0054767892 + 1022700 0.0047892095 0.0031295435 0.0054867326 + 1022800 0.0043246395 0.002896219 0.0050247526 + 1022900 0.0042561235 0.0025882603 0.004683071 + 1023000 0.0048072995 0.0022677683 0.004633861 + 1023100 0.004839833 0.0025966102 0.0049787155 + 1023200 0.0032786493 0.0030363188 0.0046500291 + 1023300 0.0043315014 0.0029460343 0.0050779452 + 1023400 0.0052796031 0.0027550706 0.0053536253 + 1023500 0.0071848958 0.0030776823 0.0066139982 + 1023600 0.0064796615 0.0031133426 0.006302551 + 1023700 0.0055986917 0.0028873636 0.0056429697 + 1023800 0.0050849115 0.0028117141 0.0053144439 + 1023900 0.0047510433 0.0021873848 0.0045257889 + 1024000 0.0043157278 0.0020483858 0.004172533 + 1024100 0.0058249918 0.0021419052 0.0050088933 + 1024200 0.0054405727 0.0026150491 0.005292831 + 1024300 0.0060184726 0.0027077361 0.0056699531 + 1024400 0.0067669425 0.0026466595 0.005977264 + 1024500 0.0051101713 0.002561036 0.0050761984 + 1024600 0.0081017218 0.0020422552 0.0060298214 + 1024700 0.0057074749 0.0020187446 0.0048278924 + 1024800 0.0053143114 0.0025314144 0.0051470521 + 1024900 0.0043985987 0.0025731411 0.0047380764 + 1025000 0.0045223564 0.0024691567 0.004695004 + 1025100 0.0052202765 0.0023498442 0.0049191991 + 1025200 0.0049443189 0.0023510773 0.0047846093 + 1025300 0.0064663168 0.0019071369 0.0050897772 + 1025400 0.0047473286 0.001767191 0.0041037668 + 1025500 0.0054436208 0.0017209956 0.0044002777 + 1025600 0.0059363047 0.0017505847 0.0046723597 + 1025700 0.0038316662 0.0024498057 0.0043357039 + 1025800 0.0049491143 0.0028339978 0.00526989 + 1025900 0.0045190251 0.0023474646 0.0045716723 + 1026000 0.0043414686 0.0021050676 0.0042418842 + 1026100 0.0045586535 0.00221666 0.0044603723 + 1026200 0.0040173671 0.0023186665 0.0042959644 + 1026300 0.003670485 0.0022467572 0.0040533241 + 1026400 0.0051506827 0.0022928352 0.0048279369 + 1026500 0.0038804405 0.0022245955 0.0041344998 + 1026600 0.0053735593 0.0020235758 0.0046683745 + 1026700 0.0048322792 0.0014182042 0.0037965917 + 1026800 0.0052172623 0.0013866048 0.0039544761 + 1026900 0.0055616497 0.0018480663 0.0045854408 + 1027000 0.0044809551 0.0022905244 0.0044959945 + 1027100 0.0045581738 0.0023136766 0.0045571527 + 1027200 0.0050840198 0.001963923 0.004466214 + 1027300 0.0047624908 0.0018556331 0.0041996715 + 1027400 0.0066540731 0.0021984102 0.0054734618 + 1027500 0.0048924779 0.0022700187 0.0046780352 + 1027600 0.0036506264 0.0024084557 0.0042052484 + 1027700 0.0037740887 0.0021637889 0.0040213482 + 1027800 0.0048016359 0.0020022 0.0043655052 + 1027900 0.0044702053 0.0020654942 0.0042656734 + 1028000 0.0056374544 0.0020610393 0.0048357239 + 1028100 0.0060393584 0.0019742205 0.0049467172 + 1028200 0.0051933913 0.0023865824 0.0049427047 + 1028300 0.0054475384 0.0023787155 0.0050599258 + 1028400 0.0063837281 0.0020018412 0.0051438324 + 1028500 0.0040431458 0.0020369798 0.0040269656 + 1028600 0.0058267683 0.0019689878 0.0048368504 + 1028700 0.0066254415 0.0021136548 0.0053746143 + 1028800 0.0041376031 0.0022973977 0.0043338742 + 1028900 0.0052273241 0.002290996 0.0048638196 + 1029000 0.0048571078 0.0022147525 0.0046053603 + 1029100 0.0043989049 0.0025776517 0.0047427377 + 1029200 0.0046828904 0.0022950643 0.0045999244 + 1029300 0.0052052741 0.0018724979 0.0044344687 + 1029400 0.005394831 0.0017704023 0.0044256707 + 1029500 0.0037778725 0.0018927733 0.0037521949 + 1029600 0.0044926168 0.0019485516 0.0041597614 + 1029700 0.0035867927 0.0026707846 0.0044361591 + 1029800 0.0038064391 0.0033154554 0.0051889372 + 1029900 0.0047124004 0.002955111 0.0052744956 + 1030000 0.0063006324 0.0027724387 0.0058735311 + 1030100 0.005961229 0.00286997 0.0058040124 + 1030200 0.0043984334 0.0023823694 0.0045472234 + 1030300 0.003042998 0.0023227516 0.0038204771 + 1030400 0.0052620945 0.002197186 0.0047871232 + 1030500 0.0065037344 0.0018782556 0.0050793124 + 1030600 0.0051006447 0.0020068367 0.0045173103 + 1030700 0.0062066155 0.0025056412 0.0055604598 + 1030800 0.0055777996 0.0026663239 0.0054116471 + 1030900 0.0050159505 0.0024672351 0.0049360232 + 1031000 0.006631355 0.0023181787 0.0055820488 + 1031100 0.0058931173 0.0020466332 0.0049471519 + 1031200 0.0054780309 0.0021368423 0.0048330607 + 1031300 0.0033485512 0.0022124228 0.0038605379 + 1031400 0.0044909938 0.0017948023 0.0040052133 + 1031500 0.0043346628 0.0020297085 0.0041631753 + 1031600 0.0041056404 0.0019618614 0.0039826063 + 1031700 0.0057823322 0.0017305672 0.0045765589 + 1031800 0.0045001073 0.0018680982 0.0040829947 + 1031900 0.0041993773 0.0020754387 0.0041423197 + 1032000 0.0059501713 0.00278744 0.0057160399 + 1032100 0.0041868598 0.0033105136 0.0053712336 + 1032200 0.0056571674 0.0030131374 0.0057975245 + 1032300 0.0040200357 0.0024920976 0.0044707089 + 1032400 0.0045950838 0.002714266 0.0049759088 + 1032500 0.0058486047 0.0022159467 0.0050945569 + 1032600 0.0050381192 0.002368764 0.0048484633 + 1032700 0.0062373117 0.0022401018 0.0053100286 + 1032800 0.0083208585 0.0025119917 0.0066074143 + 1032900 0.0046853974 0.0027068607 0.0050129548 + 1033000 0.0057120289 0.0019943702 0.0048057594 + 1033100 0.0046222202 0.0020954505 0.0043704495 + 1033200 0.0047225671 0.0025848757 0.0049092642 + 1033300 0.0041544827 0.0024116275 0.004456412 + 1033400 0.0046626961 0.0020986235 0.0043935442 + 1033500 0.006102413 0.002276343 0.0052798744 + 1033600 0.0037912952 0.0027764324 0.0046424605 + 1033700 0.0040021818 0.0025559094 0.0045257333 + 1033800 0.0069202081 0.002408968 0.005815008 + 1033900 0.0056278757 0.0027291526 0.0054991227 + 1034000 0.0040659207 0.002980724 0.0049819193 + 1034100 0.005373725 0.0029034493 0.0055483296 + 1034200 0.005428904 0.0030485242 0.0057205629 + 1034300 0.0067244988 0.0024180015 0.0057277158 + 1034400 0.005465408 0.0021037621 0.0047937676 + 1034500 0.0050338923 0.0025129772 0.0049905961 + 1034600 0.0041388307 0.0030079548 0.0050450356 + 1034700 0.0047953138 0.0023807 0.0047408935 + 1034800 0.0039920369 0.0018694469 0.0038342775 + 1034900 0.0045857592 0.0014423714 0.0036994248 + 1035000 0.0047648616 0.0014394467 0.003784652 + 1035100 0.0038252093 0.0018775773 0.0037602974 + 1035200 0.0043855909 0.0021910738 0.0043496069 + 1035300 0.0058071527 0.0022340779 0.0050922859 + 1035400 0.0052509529 0.0025991782 0.0051836316 + 1035500 0.0057517417 0.0026273926 0.005458328 + 1035600 0.0046691429 0.0028242283 0.0051223221 + 1035700 0.0054653574 0.0026596127 0.0053495933 + 1035800 0.005732819 0.0027804829 0.0056021048 + 1035900 0.0049379175 0.0023998764 0.0048302577 + 1036000 0.0054859681 0.0025014985 0.0052016235 + 1036100 0.0056793226 0.0029080149 0.0057033065 + 1036200 0.0065481479 0.0026296507 0.0058525672 + 1036300 0.0051182245 0.0023603519 0.004879478 + 1036400 0.0064249003 0.0021221336 0.0052843892 + 1036500 0.0042645954 0.0024160752 0.0045150557 + 1036600 0.0045868057 0.0028951698 0.0051527383 + 1036700 0.0060927495 0.0027600601 0.0057588352 + 1036800 0.0049341583 0.0028037611 0.0052322922 + 1036900 0.0040140909 0.0030605631 0.0050362485 + 1037000 0.0043512813 0.0024932595 0.0046349057 + 1037100 0.0050273977 0.0020303693 0.0045047916 + 1037200 0.0029866832 0.0021146815 0.0035846897 + 1037300 0.0057217574 0.002246274 0.0050624514 + 1037400 0.0044323762 0.0024294542 0.0046110144 + 1037500 0.0038371926 0.002157604 0.0040462223 + 1037600 0.005464037 0.0017895905 0.0044789212 + 1037700 0.0039938984 0.0022472954 0.0042130423 + 1037800 0.005097935 0.0026879189 0.0051970588 + 1037900 0.0041331925 0.0026330274 0.0046673331 + 1038000 0.0033252611 0.0029466503 0.0045833023 + 1038100 0.0054785563 0.0030588649 0.0057553418 + 1038200 0.0053424201 0.0032098628 0.0058393352 + 1038300 0.0055235645 0.0025868315 0.0053054609 + 1038400 0.0056084206 0.0023028664 0.0050632609 + 1038500 0.0050902583 0.0019114659 0.0044168274 + 1038600 0.0040383589 0.0017290724 0.0037167021 + 1038700 0.00488052 0.0021875468 0.0045896778 + 1038800 0.0053080857 0.0028163553 0.0054289287 + 1038900 0.0057428064 0.002639329 0.0054658665 + 1039000 0.0049349618 0.0026121307 0.0050410572 + 1039100 0.0053523235 0.0026849777 0.0053193244 + 1039200 0.0047634116 0.0025755885 0.0049200802 + 1039300 0.005176473 0.0023768188 0.0049246141 + 1039400 0.0035636875 0.0024595735 0.0042135759 + 1039500 0.0052821912 0.0024711159 0.0050709443 + 1039600 0.0060125231 0.0022200131 0.0051793019 + 1039700 0.0048373358 0.0024831547 0.0048640309 + 1039800 0.0043262322 0.0027346177 0.0048639351 + 1039900 0.0044853832 0.0027471346 0.0049547841 + 1040000 0.004437379 0.0030803048 0.0052643273 + 1040100 0.0053302928 0.0033029735 0.005926477 + 1040200 0.0059216789 0.0033187059 0.0062332822 + 1040300 0.0057513889 0.0029577083 0.0057884701 + 1040400 0.0039270103 0.0030342981 0.0049671235 + 1040500 0.0043266993 0.003054063 0.0051836104 + 1040600 0.0034553986 0.0030924659 0.0047931699 + 1040700 0.0043640886 0.0027323146 0.0048802644 + 1040800 0.0040103892 0.002455651 0.0044295144 + 1040900 0.0055995724 0.0028733694 0.0056294089 + 1041000 0.0062393276 0.0030181983 0.0060891173 + 1041100 0.0055209016 0.0028785466 0.0055958653 + 1041200 0.0044961759 0.0022862077 0.0044991693 + 1041300 0.0047127296 0.0022941411 0.0046136877 + 1041400 0.0052946171 0.0023019229 0.0049078672 + 1041500 0.0070027889 0.002158894 0.0056055792 + 1041600 0.0060209486 0.0022994036 0.0052628392 + 1041700 0.0052175226 0.0021743767 0.0047423761 + 1041800 0.0057037399 0.0020731587 0.0048804682 + 1041900 0.0052663404 0.0020942794 0.0046863063 + 1042000 0.0058884592 0.0020764351 0.0049746611 + 1042100 0.0045236523 0.002599633 0.0048261181 + 1042200 0.0050188104 0.0030943349 0.0055645306 + 1042300 0.0060447486 0.0030520076 0.0060271573 + 1042400 0.0059002652 0.0026142224 0.0055182591 + 1042500 0.0050665735 0.0026071774 0.0051008816 + 1042600 0.0069495367 0.0026629009 0.006083376 + 1042700 0.0066366405 0.0027230907 0.0059895622 + 1042800 0.0045563657 0.003072998 0.0053155842 + 1042900 0.0049390266 0.0027021479 0.005133075 + 1043000 0.0050095718 0.0022409002 0.0047065488 + 1043100 0.0043881111 0.0024278795 0.0045876529 + 1043200 0.0051245602 0.0026102171 0.0051324616 + 1043300 0.0030349539 0.0027556461 0.0042494125 + 1043400 0.0058646987 0.002698681 0.0055852124 + 1043500 0.0050114619 0.0034398161 0.005906395 + 1043600 0.0037417469 0.0032725893 0.0051142303 + 1043700 0.0048621977 0.0029200179 0.0053131308 + 1043800 0.0060019128 0.0023572155 0.005311282 + 1043900 0.0039454535 0.0020428714 0.0039847743 + 1044000 0.005792518 0.0022271144 0.0050781194 + 1044100 0.0034663335 0.0028677327 0.0045738187 + 1044200 0.0044947874 0.0029862066 0.0051984848 + 1044300 0.0055344696 0.0030926997 0.0058166964 + 1044400 0.0046476639 0.0030008259 0.005288348 + 1044500 0.0045070637 0.0031397002 0.0053580206 + 1044600 0.0042031506 0.0033023234 0.0053710617 + 1044700 0.0055880568 0.0030103629 0.0057607346 + 1044800 0.0060589107 0.0029568962 0.0059390163 + 1044900 0.0040350385 0.0027493668 0.0047353623 + 1045000 0.0051689227 0.0027817665 0.0053258456 + 1045100 0.0039638153 0.0027064855 0.0046574258 + 1045200 0.0042941679 0.0026709197 0.0047844555 + 1045300 0.0057933736 0.0030714997 0.0059229257 + 1045400 0.0049670699 0.0033394996 0.0057842293 + 1045500 0.0057506661 0.0030523226 0.0058827286 + 1045600 0.0044800963 0.0024874115 0.0046924589 + 1045700 0.0043911027 0.0020011725 0.0041624184 + 1045800 0.0054703546 0.0025449897 0.0052374299 + 1045900 0.0039789625 0.0029213592 0.0048797548 + 1046000 0.0048116312 0.0026265189 0.0049947436 + 1046100 0.003690807 0.002481961 0.0042985301 + 1046200 0.0044159839 0.0022634926 0.0044369847 + 1046300 0.0046988911 0.0022874475 0.004600183 + 1046400 0.0060967126 0.0023911164 0.0053918421 + 1046500 0.0050914658 0.0023944166 0.0049003724 + 1046600 0.0042645365 0.0022191308 0.0043180824 + 1046700 0.0053885235 0.0023761788 0.0050283427 + 1046800 0.0050232642 0.0022944247 0.0047668125 + 1046900 0.0040760489 0.0019654933 0.0039716737 + 1047000 0.0043259531 0.001923832 0.004053012 + 1047100 0.0042616108 0.0023049735 0.0044024851 + 1047200 0.0047092137 0.0018690607 0.0041868768 + 1047300 0.0050339467 0.0017590889 0.0042367345 + 1047400 0.0047354725 0.0018008274 0.0041315677 + 1047500 0.0046552736 0.0019035053 0.0041947728 + 1047600 0.0064874274 0.0019855473 0.0051785779 + 1047700 0.0061589411 0.0023615578 0.0053929116 + 1047800 0.0047252628 0.0027926979 0.0051184131 + 1047900 0.0056473207 0.0032674862 0.0060470269 + 1048000 0.005889803 0.0030799753 0.0059788627 + 1048100 0.0049962306 0.0026382659 0.0050973481 + 1048200 0.004371669 0.0032793435 0.0054310243 + 1048300 0.0049397374 0.0037750581 0.0062063351 + 1048400 0.0061742705 0.003956149 0.0069950477 + 1048500 0.0061954599 0.0037226807 0.0067720087 + 1048600 0.0053379414 0.0033741468 0.0060014148 + 1048700 0.0068198433 0.00330614 0.0066627817 + 1048800 0.0034515465 0.0031158584 0.0048146665 + 1048900 0.0053671951 0.0028931217 0.005534788 + 1049000 0.0047418309 0.0032362375 0.0055701074 + 1049100 0.0058015798 0.0025658331 0.0054212981 + 1049200 0.0045474566 0.0020463783 0.0042845796 + 1049300 0.0031701079 0.0020255072 0.0035857947 + 1049400 0.0048435245 0.0023464476 0.0047303698 + 1049500 0.0049905069 0.0021575179 0.004613783 + 1049600 0.0041217748 0.0024114365 0.0044401225 + 1049700 0.0051061024 0.0031825664 0.0056957262 + 1049800 0.0044141544 0.0031304689 0.0053030605 + 1049900 0.0059748787 0.003068241 0.0060090016 + 1050000 0.0036460677 0.0034713129 0.0052658619 + 1050100 0.0061152325 0.0027698093 0.0057796503 + 1050200 0.0056863823 0.0019958669 0.0047946332 + 1050300 0.0044931211 0.0020439664 0.0042554244 + 1050400 0.0046162555 0.0025375955 0.0048096587 + 1050500 0.0038783694 0.0028274892 0.0047363741 + 1050600 0.0038576631 0.002950878 0.0048495715 + 1050700 0.0058826952 0.002684179 0.0055795681 + 1050800 0.0060543413 0.0023402862 0.0053201573 + 1050900 0.0032092626 0.0032720798 0.0048516387 + 1051000 0.0029675449 0.0031736418 0.0046342303 + 1051100 0.0053991666 0.0029361669 0.0055935692 + 1051200 0.0057586188 0.0027292874 0.0055636076 + 1051300 0.0059911245 0.00219913 0.0051478866 + 1051400 0.0056521787 0.0023417702 0.0051237019 + 1051500 0.0042278241 0.0029116988 0.0049925809 + 1051600 0.0045667327 0.0032794007 0.0055270895 + 1051700 0.0061753198 0.0029328392 0.0059722544 + 1051800 0.0060865631 0.0026417056 0.0056374359 + 1051900 0.0065886702 0.0022436035 0.0054864646 + 1052000 0.0068998765 0.0022360041 0.005632037 + 1052100 0.0054575129 0.0027194826 0.0054056022 + 1052200 0.0066388111 0.0031767594 0.0064442993 + 1052300 0.0066815151 0.0034247701 0.0067133284 + 1052400 0.0050492848 0.0037775062 0.006262701 + 1052500 0.0059456213 0.0032124949 0.0061388554 + 1052600 0.0066651858 0.0020240372 0.0053045583 + 1052700 0.0051987385 0.0016935366 0.0042522907 + 1052800 0.0054082653 0.0020682107 0.0047300913 + 1052900 0.0040962823 0.0023108258 0.0043269647 + 1053000 0.0043368821 0.0025164544 0.0046510136 + 1053100 0.0048697749 0.0024965868 0.0048934291 + 1053200 0.0050910235 0.0024294693 0.0049352075 + 1053300 0.0063328796 0.0025382805 0.0056552447 + 1053400 0.0058222884 0.0024864121 0.0053520696 + 1053500 0.0064086725 0.0023189527 0.0054732212 + 1053600 0.0056934859 0.002302472 0.0051047346 + 1053700 0.0055600687 0.0024376302 0.0051742265 + 1053800 0.0053602311 0.0026715737 0.0053098125 + 1053900 0.0049323115 0.0025753306 0.0050029527 + 1054000 0.006210277 0.002557761 0.0056143817 + 1054100 0.0069599582 0.0021673502 0.0055929547 + 1054200 0.0063058595 0.0023814499 0.0054851151 + 1054300 0.0043588855 0.0025413633 0.0046867522 + 1054400 0.0047798874 0.00275675 0.0051093509 + 1054500 0.003659586 0.002959103 0.0047603054 + 1054600 0.0044710396 0.0026088075 0.0048093974 + 1054700 0.0046960233 0.0025090238 0.0048203478 + 1054800 0.0042012702 0.0023342283 0.004402041 + 1054900 0.0063533342 0.0020389246 0.0051659563 + 1055000 0.006392193 0.0020231563 0.0051693138 + 1055100 0.0054748166 0.002830059 0.0055246953 + 1055200 0.0058358474 0.0033165703 0.0061889015 + 1055300 0.0053274433 0.0032224003 0.0058445013 + 1055400 0.0065979633 0.0035141798 0.0067616148 + 1055500 0.0064623669 0.0039308979 0.0071115941 + 1055600 0.0055512593 0.0042461384 0.0069783989 + 1055700 0.0049583532 0.0038020497 0.0062424892 + 1055800 0.0072128574 0.0029503413 0.0065004195 + 1055900 0.0047856689 0.0026550806 0.005010527 + 1056000 0.0055148774 0.0027748167 0.0054891704 + 1056100 0.0045738917 0.0032541372 0.0055053496 + 1056200 0.0041706814 0.0030272735 0.0050800307 + 1056300 0.0056687829 0.0025603505 0.0053504546 + 1056400 0.0061284795 0.002449477 0.005465838 + 1056500 0.0049895195 0.0030696623 0.0055254414 + 1056600 0.0053089628 0.0045063382 0.0071193434 + 1056700 0.0042309382 0.0046079341 0.006690349 + 1056800 0.0047912939 0.0039257182 0.0062839332 + 1056900 0.0056192189 0.0037414312 0.0065071405 + 1057000 0.0061075426 0.0037755561 0.0067816123 + 1057100 0.0064421477 0.0039003539 0.0070710985 + 1057200 0.0065264112 0.0032084111 0.0064206291 + 1057300 0.0057359477 0.0034881754 0.0063113372 + 1057400 0.0064406754 0.0033703576 0.0065403775 + 1057500 0.0057535585 0.0026365689 0.0054683985 + 1057600 0.0034232377 0.0024947119 0.0041795867 + 1057700 0.0056247851 0.0019677195 0.0047361684 + 1057800 0.004254431 0.0018008337 0.0038948115 + 1057900 0.0035345777 0.0018859172 0.0036255922 + 1058000 0.0059812839 0.0015778999 0.0045218131 + 1058100 0.0057870477 0.0019388495 0.004787162 + 1058200 0.0050670341 0.0024604192 0.0049543501 + 1058300 0.004313258 0.002756867 0.0048797986 + 1058400 0.0061697226 0.00220817 0.0052448304 + 1058500 0.0053358463 0.0025666724 0.0051929093 + 1058600 0.005491179 0.002608373 0.0053110627 + 1058700 0.0052154664 0.0027703229 0.0053373102 + 1058800 0.0072194714 0.0030646463 0.0066179799 + 1058900 0.004550959 0.0033812324 0.0056211575 + 1059000 0.0049061962 0.003233533 0.0056483014 + 1059100 0.0042060286 0.0029096613 0.004979816 + 1059200 0.0042236659 0.0029561942 0.0050350298 + 1059300 0.0040009846 0.0024745533 0.0044437879 + 1059400 0.0063952158 0.0019758052 0.0051234505 + 1059500 0.0052196957 0.0021747977 0.0047438667 + 1059600 0.0054383945 0.0027298097 0.0054065195 + 1059700 0.0045859365 0.0028093564 0.0050664971 + 1059800 0.0055176766 0.0025771745 0.005292906 + 1059900 0.0056292365 0.0025716419 0.0053422817 + 1060000 0.0040126907 0.0027644989 0.0047394951 + 1060100 0.0059426976 0.0029319419 0.0058568634 + 1060200 0.0043334723 0.0031743624 0.0053072433 + 1060300 0.0054897429 0.0027670858 0.0054690686 + 1060400 0.0051299733 0.0022694991 0.0047944079 + 1060500 0.0056586471 0.0018471167 0.0046322321 + 1060600 0.0037155739 0.0015496331 0.0033783921 + 1060700 0.0056103468 0.0014365452 0.0041978877 + 1060800 0.0056839808 0.0020766006 0.0048741848 + 1060900 0.0046553524 0.0020955578 0.0043868641 + 1061000 0.0052868761 0.001716578 0.0043187123 + 1061100 0.0060898976 0.0016818852 0.0046792567 + 1061200 0.0053120306 0.0016705273 0.0042850424 + 1061300 0.0053549546 0.001565074 0.0042007157 + 1061400 0.0061281949 0.0015772183 0.0045934392 + 1061500 0.0040948292 0.001645915 0.0036613388 + 1061600 0.0053393289 0.0016396001 0.0042675511 + 1061700 0.0050309686 0.0019411305 0.0044173104 + 1061800 0.0037588973 0.0026587595 0.0045088418 + 1061900 0.004582652 0.002804854 0.0050603781 + 1062000 0.0070984461 0.0025331379 0.0060269044 + 1062100 0.0057518364 0.0023355077 0.0051664897 + 1062200 0.0044895378 0.0026551988 0.0048648932 + 1062300 0.0046208707 0.0026782401 0.0049525749 + 1062400 0.0040858275 0.0023599309 0.0043709242 + 1062500 0.0039419753 0.0022044975 0.0041446885 + 1062600 0.0043323455 0.0022161696 0.0043484959 + 1062700 0.0051570874 0.0020015138 0.0045397677 + 1062800 0.0057958685 0.0017352069 0.0045878609 + 1062900 0.0042763753 0.0021104423 0.0042152208 + 1063000 0.0052149453 0.002310091 0.0048768219 + 1063100 0.0060593303 0.0019882184 0.004970545 + 1063200 0.0055513122 0.0018660051 0.0045982916 + 1063300 0.0041249339 0.0019360779 0.0039663188 + 1063400 0.0038831049 0.0020012734 0.0039124891 + 1063500 0.0050009244 0.0020923654 0.0045537579 + 1063600 0.0045351476 0.0026829683 0.0049151112 + 1063700 0.0047605745 0.0024757163 0.0048188116 + 1063800 0.0057277958 0.0024716145 0.005290764 + 1063900 0.00357918 0.0026853306 0.0044469582 + 1064000 0.0076795858 0.0023398396 0.0061196357 + 1064100 0.0055342751 0.0026643974 0.0053882984 + 1064200 0.0060313589 0.0031405553 0.0061091147 + 1064300 0.0065885679 0.0029835287 0.0062263395 + 1064400 0.0057632722 0.0025721444 0.005408755 + 1064500 0.0051223115 0.0027184014 0.0052395391 + 1064600 0.0059152499 0.0025434626 0.0054548747 + 1064700 0.0040735594 0.0025798194 0.0045847744 + 1064800 0.0041294043 0.0028008187 0.0048332599 + 1064900 0.0050424386 0.0026398529 0.0051216781 + 1065000 0.0050091902 0.0022007599 0.0046662207 + 1065100 0.0065982896 0.0020528636 0.0053004592 + 1065200 0.006649544 0.0019493579 0.0052221803 + 1065300 0.0048615553 0.0019026907 0.0042954875 + 1065400 0.0037654878 0.0021771459 0.0040304719 + 1065500 0.0052552894 0.0019820075 0.0045685952 + 1065600 0.0049672013 0.0017233238 0.0041681182 + 1065700 0.0041472755 0.001760672 0.0038019092 + 1065800 0.0044470919 0.0018128844 0.0040016875 + 1065900 0.0047786432 0.0022630805 0.0046150689 + 1066000 0.0060715482 0.0025067599 0.0054951001 + 1066100 0.0061635634 0.0025781844 0.0056118133 + 1066200 0.0053115237 0.0026271061 0.0052413717 + 1066300 0.0053717478 0.0024786217 0.0051225288 + 1066400 0.0065723857 0.0029599581 0.0061948042 + 1066500 0.0047507252 0.0031028566 0.0054411042 + 1066600 0.0074728911 0.0027159893 0.0063940528 + 1066700 0.004773774 0.0028648581 0.00521445 + 1066800 0.0053395957 0.0024405457 0.005068628 + 1066900 0.005866971 0.002494611 0.0053822608 + 1067000 0.0048421061 0.0026677185 0.0050509426 + 1067100 0.0047621588 0.0028802797 0.0052241547 + 1067200 0.0066201856 0.0022334361 0.0054918087 + 1067300 0.0041436223 0.0018509037 0.0038903428 + 1067400 0.0057628416 0.0019117902 0.0047481888 + 1067500 0.0047134507 0.0023249914 0.0046448929 + 1067600 0.0070157422 0.00197306 0.0054261206 + 1067700 0.0052496312 0.0021844588 0.0047682617 + 1067800 0.0045053071 0.0027827298 0.0050001856 + 1067900 0.004174388 0.0027237383 0.0047783199 + 1068000 0.0055886214 0.0024828195 0.0052334691 + 1068100 0.005841186 0.0028029681 0.0056779268 + 1068200 0.0044017724 0.002924487 0.0050909843 + 1068300 0.0057393656 0.0027612081 0.0055860521 + 1068400 0.0042842752 0.0026320975 0.0047407642 + 1068500 0.0056961496 0.0024978604 0.0053014341 + 1068600 0.0056455238 0.0020388752 0.0048175315 + 1068700 0.0052070783 0.0022031318 0.0047659906 + 1068800 0.0063627747 0.0028170835 0.0059487617 + 1068900 0.004514986 0.0032811689 0.0055033886 + 1069000 0.0049010255 0.0027801098 0.0051923333 + 1069100 0.0045939044 0.0025181876 0.0047792499 + 1069200 0.004390983 0.0017327119 0.0038938988 + 1069300 0.0037511432 0.0015180858 0.0033643516 + 1069400 0.0038711375 0.0018722093 0.0037775348 + 1069500 0.0050676779 0.001938108 0.0044323557 + 1069600 0.0043755418 0.0024778803 0.0046314673 + 1069700 0.006115464 0.0023860154 0.0053959703 + 1069800 0.0066026473 0.0022180703 0.0054678108 + 1069900 0.0049044111 0.0023402862 0.0047541761 + 1070000 0.0036244935 0.0025998111 0.0043837415 + 1070100 0.0043996482 0.0019022076 0.0040676595 + 1070200 0.0057514005 0.0019072231 0.0047379905 + 1070300 0.0050155128 0.002200525 0.0046690977 + 1070400 0.0048824211 0.0022761776 0.0046792442 + 1070500 0.0037710931 0.0028136051 0.00466969 + 1070600 0.0036147151 0.0028883859 0.0046675034 + 1070700 0.0055097087 0.0025701362 0.005281946 + 1070800 0.007366155 0.0022683349 0.0058938643 + 1070900 0.0042009789 0.0028643037 0.004931973 + 1071000 0.0045466703 0.0029875217 0.005225336 + 1071100 0.0054696936 0.0026213159 0.0053134307 + 1071200 0.0060052949 0.0022301124 0.0051858435 + 1071300 0.0053750765 0.0021597839 0.0048053294 + 1071400 0.0032221373 0.0022637534 0.0038496492 + 1071500 0.0043095853 0.0022033629 0.0043244869 + 1071600 0.0050467839 0.0021010726 0.0045850366 + 1071700 0.0043208035 0.0025936202 0.0047202657 + 1071800 0.0052540225 0.0030932876 0.0056792518 + 1071900 0.0064476848 0.0027998983 0.0059733682 + 1072000 0.0058607397 0.0027023453 0.0055869281 + 1072100 0.0058482496 0.0020332934 0.0049117288 + 1072200 0.0058519682 0.0020830808 0.0049633464 + 1072300 0.0057541972 0.0027795029 0.0056116468 + 1072400 0.0052000938 0.0028729709 0.005432392 + 1072500 0.0048532649 0.0027870366 0.005175753 + 1072600 0.005776632 0.0026447414 0.0054879274 + 1072700 0.0054252316 0.0025056931 0.0051759243 + 1072800 0.0062695443 0.0026674273 0.0057532187 + 1072900 0.0043475927 0.0024215995 0.0045614303 + 1073000 0.0042266052 0.0022283569 0.0043086391 + 1073100 0.0046162285 0.0022703413 0.0045423913 + 1073200 0.0046294715 0.0025142477 0.0047928157 + 1073300 0.0033966322 0.0026269133 0.0042986933 + 1073400 0.0064052188 0.0023934425 0.0055460112 + 1073500 0.0060203153 0.0026043912 0.0055675152 + 1073600 0.004719066 0.0030919927 0.005414658 + 1073700 0.0074794108 0.0026579508 0.0063392233 + 1073800 0.0068165206 0.002706163 0.0060611693 + 1073900 0.0045564188 0.0029257534 0.0051683658 + 1074000 0.0052822853 0.0034473729 0.0060472477 + 1074100 0.0038318879 0.0037577365 0.0056437438 + 1074200 0.0058850523 0.0034188257 0.0063153748 + 1074300 0.0050030393 0.0028437468 0.0053061802 + 1074400 0.0051725702 0.0022050832 0.0047509576 + 1074500 0.004841802 0.0023034264 0.0046865008 + 1074600 0.0044580393 0.0021370969 0.0043312881 + 1074700 0.0050403922 0.001780517 0.0042613351 + 1074800 0.0039254778 0.001806484 0.0037385551 + 1074900 0.0045695119 0.002014284 0.0042633406 + 1075000 0.0052673195 0.0024692315 0.0050617403 + 1075100 0.0042313269 0.0025792318 0.004661838 + 1075200 0.0055118661 0.0023316338 0.0050445054 + 1075300 0.0057189953 0.0025766208 0.0053914388 + 1075400 0.0036985005 0.0024082249 0.0042285806 + 1075500 0.0053209676 0.0024169922 0.005035906 + 1075600 0.0053020984 0.0026546878 0.0052643143 + 1075700 0.0046974494 0.0028792878 0.0051913137 + 1075800 0.0061760715 0.0030154041 0.0060551893 + 1075900 0.0052445354 0.0030932407 0.0056745354 + 1076000 0.0036857136 0.0025468615 0.0043609237 + 1076100 0.0054846777 0.0025652329 0.0052647227 + 1076200 0.0045802366 0.0028917112 0.0051460465 + 1076300 0.0047184285 0.0029389111 0.0052612627 + 1076400 0.0044655966 0.0030961292 0.00529404 + 1076500 0.0059289669 0.0030571803 0.0059753437 + 1076600 0.0064624467 0.0024033465 0.005584082 + 1076700 0.004387741 0.0020850858 0.004244677 + 1076800 0.0049461332 0.0021037503 0.0045381752 + 1076900 0.0044455142 0.0025253606 0.0047133871 + 1077000 0.0057261417 0.0029104177 0.005728753 + 1077100 0.0041892608 0.0031385046 0.0052004064 + 1077200 0.0045750366 0.0025823447 0.0048341205 + 1077300 0.0052304378 0.0024347093 0.0050090654 + 1077400 0.0048359497 0.0027841294 0.0051643233 + 1077500 0.0051900252 0.0032653728 0.0058198384 + 1077600 0.0048331423 0.0036155012 0.0059943134 + 1077700 0.0052589887 0.0035104136 0.0060988222 + 1077800 0.0054003997 0.0029817499 0.0056397592 + 1077900 0.00578198 0.0030208154 0.0058666336 + 1078000 0.0049427413 0.003602896 0.0060356515 + 1078100 0.0049502678 0.0035783781 0.0060148381 + 1078200 0.0049192747 0.0031954153 0.0056166208 + 1078300 0.0044424553 0.003561313 0.005747834 + 1078400 0.0048101978 0.0037896446 0.0061571638 + 1078500 0.0047609421 0.0034986031 0.0058418793 + 1078600 0.0046757811 0.0031997045 0.0055010655 + 1078700 0.0046495486 0.0030228882 0.0053113379 + 1078800 0.0048280262 0.0031776122 0.0055539064 + 1078900 0.0047690978 0.0032666028 0.0056138931 + 1079000 0.0046585043 0.0032013578 0.0054942154 + 1079100 0.0055452677 0.0031540874 0.0058833988 + 1079200 0.0062240997 0.0028355945 0.0058990185 + 1079300 0.0061222092 0.0029855291 0.0059988039 + 1079400 0.0048408835 0.0032107604 0.0055933827 + 1079500 0.0046238934 0.0028938558 0.0051696783 + 1079600 0.0070681444 0.0026490425 0.0061278948 + 1079700 0.0043256621 0.0032076955 0.0053367323 + 1079800 0.0061840187 0.0030542165 0.0060979132 + 1079900 0.0035235855 0.0030759134 0.0048101781 + 1080000 0.0040653203 0.0025929534 0.0045938532 + 1080100 0.0063693355 0.0022263148 0.0053612221 + 1080200 0.0048261047 0.002406281 0.0047816294 + 1080300 0.0057570943 0.002542893 0.0053764628 + 1080400 0.0067590039 0.0023637122 0.0056904094 + 1080500 0.0067346567 0.0023583301 0.005673044 + 1080600 0.0050233111 0.0023137969 0.0047862079 + 1080700 0.0035783958 0.0024553934 0.0042166351 + 1080800 0.0049882252 0.0025085116 0.0049636536 + 1080900 0.0055785807 0.0026168808 0.0053625885 + 1081000 0.0061853799 0.0027857389 0.0058301055 + 1081100 0.0065065598 0.002691254 0.0058937014 + 1081200 0.0046450132 0.0031120423 0.0053982598 + 1081300 0.0059068966 0.0028452056 0.0057525062 + 1081400 0.0058452637 0.0020962444 0.0049732101 + 1081500 0.0040851058 0.0020058129 0.0040164509 + 1081600 0.0046555945 0.0020368086 0.004328234 + 1081700 0.0041842364 0.0017678698 0.0038272987 + 1081800 0.0038214555 0.0016707911 0.0035516637 + 1081900 0.0060523789 0.0019014037 0.0048803089 + 1082000 0.0052227189 0.0024609679 0.0050315248 + 1082100 0.0060742062 0.0027669499 0.0057565983 + 1082200 0.0050696415 0.0033449617 0.0058401759 + 1082300 0.006828024 0.0025696723 0.0059303404 + 1082400 0.0057358634 0.0028981662 0.0057212864 + 1082500 0.0041852859 0.0031421766 0.005202122 + 1082600 0.0061914627 0.0029199973 0.0059673579 + 1082700 0.0062737743 0.0027457085 0.0058335818 + 1082800 0.0053012131 0.0024652256 0.0050744164 + 1082900 0.004454388 0.002508989 0.0047013831 + 1083000 0.0061231073 0.0024099527 0.0054236696 + 1083100 0.0038708456 0.0025421425 0.0044473244 + 1083200 0.005240578 0.0024543846 0.0050337316 + 1083300 0.0054296114 0.0024383084 0.0051106952 + 1083400 0.0071852183 0.0023249905 0.0058614652 + 1083500 0.0065204057 0.0022984878 0.0055077499 + 1083600 0.0041583091 0.0025105389 0.0045572066 + 1083700 0.0060062272 0.0022635761 0.005219766 + 1083800 0.0052791463 0.002501247 0.0050995769 + 1083900 0.0041701918 0.0029500561 0.0050025724 + 1084000 0.0069774098 0.0022117555 0.0056459493 + 1084100 0.0051981367 0.0016432927 0.0042017506 + 1084200 0.0034955542 0.0015223978 0.0032428659 + 1084300 0.0053507899 0.0020647973 0.0046983892 + 1084400 0.0051166858 0.0026951671 0.0052135359 + 1084500 0.004823597 0.0030029438 0.0053770579 + 1084600 0.004938037 0.0027900435 0.0052204836 + 1084700 0.0039981874 0.0026848518 0.0046527096 + 1084800 0.0050213885 0.0026899918 0.0051614565 + 1084900 0.0040706679 0.0027096805 0.0047132124 + 1085000 0.0051159481 0.0024818649 0.0049998706 + 1085100 0.0049087564 0.0027960061 0.0052120346 + 1085200 0.0050154735 0.0025423165 0.0050108698 + 1085300 0.0055909216 0.0023327391 0.0050845209 + 1085400 0.0038673268 0.0027566722 0.0046601221 + 1085500 0.0048876961 0.0027425427 0.0051482056 + 1085600 0.005449673 0.0021395541 0.004821815 + 1085700 0.0043152878 0.0018988622 0.0040227929 + 1085800 0.0065477569 0.0022316966 0.0054544207 + 1085900 0.0059218593 0.0034272297 0.0063418948 + 1086000 0.004828849 0.003172581 0.0055492801 + 1086100 0.0053369372 0.0021921553 0.0048189291 + 1086200 0.0050334788 0.0019398928 0.0044173081 + 1086300 0.0059141085 0.002334398 0.0052452482 + 1086400 0.0052784426 0.0023997769 0.0049977604 + 1086500 0.0064607796 0.0029721423 0.0061520573 + 1086600 0.0053644587 0.0029376332 0.0055779528 + 1086700 0.0066623286 0.002919432 0.0061985468 + 1086800 0.0038084122 0.0027073339 0.0045817868 + 1086900 0.0040804671 0.0025393404 0.0045476953 + 1087000 0.0038595577 0.0021702546 0.0040698807 + 1087100 0.0050207979 0.0021793002 0.0046504742 + 1087200 0.0046126151 0.0025643787 0.0048346502 + 1087300 0.0060035852 0.0027058036 0.0056606932 + 1087400 0.0044261941 0.003109418 0.0052879354 + 1087500 0.0048141176 0.0033787504 0.0057481989 + 1087600 0.0052779414 0.0029418973 0.0055396341 + 1087700 0.0036195879 0.0029262482 0.0047077641 + 1087800 0.004180247 0.0027759393 0.0048334046 + 1087900 0.0043625097 0.0027920923 0.004939265 + 1088000 0.0043745564 0.0030057364 0.0051588384 + 1088100 0.0033295615 0.0034892546 0.0051280231 + 1088200 0.0052028032 0.0032730449 0.0058337996 + 1088300 0.0052290525 0.0033817117 0.005955386 + 1088400 0.005123541 0.0030114041 0.005533147 + 1088500 0.0065177194 0.0023470256 0.0055549656 + 1088600 0.0054590785 0.00221387 0.0049007602 + 1088700 0.0051443304 0.0024938962 0.0050258713 + 1088800 0.0041590719 0.0027704328 0.004817476 + 1088900 0.0041239032 0.0028947435 0.0049244772 + 1089000 0.0063530118 0.0029244896 0.0060513626 + 1089100 0.004359733 0.0032489615 0.0053947676 + 1089200 0.0049166865 0.0035487045 0.0059686362 + 1089300 0.0060104603 0.0034910762 0.0064493497 + 1089400 0.0054945575 0.0030407135 0.0057450661 + 1089500 0.0057993887 0.0027509463 0.005605333 + 1089600 0.004620177 0.0028189206 0.005092914 + 1089700 0.0037092088 0.0028420626 0.0046676888 + 1089800 0.0043284144 0.0030437195 0.005174111 + 1089900 0.0056281012 0.0031449167 0.0059149978 + 1090000 0.0042124977 0.0032502663 0.005323605 + 1090100 0.0045506032 0.0028172726 0.0050570226 + 1090200 0.0053347953 0.002574581 0.0052003006 + 1090300 0.0043116512 0.0026126879 0.0047348287 + 1090400 0.0055920414 0.0024056565 0.0051579893 + 1090500 0.0044018555 0.0026230644 0.0047896026 + 1090600 0.005770624 0.0028425754 0.0056828044 + 1090700 0.0052082505 0.0032845389 0.0058479747 + 1090800 0.0058641799 0.0032711927 0.0061574688 + 1090900 0.0049626332 0.0029143158 0.0053568618 + 1091000 0.0065239534 0.0026128168 0.0058238251 + 1091100 0.0061425123 0.0030065233 0.006029791 + 1091200 0.0046643265 0.0033559212 0.0056516444 + 1091300 0.0059405598 0.0030735504 0.0059974197 + 1091400 0.0055261238 0.0026535724 0.0053734615 + 1091500 0.0053772605 0.0023296178 0.0049762382 + 1091600 0.0043481747 0.0023990736 0.0045391908 + 1091700 0.0042488852 0.0024249343 0.0045161825 + 1091800 0.0053273092 0.0024531886 0.0050752236 + 1091900 0.0038770329 0.002534241 0.0044424681 + 1092000 0.0053972015 0.0023192122 0.0049756473 + 1092100 0.0054179391 0.0027242549 0.0053908968 + 1092200 0.0052171407 0.0033752722 0.0059430836 + 1092300 0.0046485103 0.0035138794 0.0058018181 + 1092400 0.0063302805 0.003321107 0.0064367919 + 1092500 0.0053973039 0.0037079042 0.0063643897 + 1092600 0.0077126518 0.0030336152 0.006829686 + 1092700 0.0062439261 0.002613754 0.0056869364 + 1092800 0.0058687273 0.0028710929 0.0057596071 + 1092900 0.0069154545 0.0031533841 0.0065570843 + 1093000 0.0042310226 0.0029021803 0.0049846367 + 1093100 0.0059873554 0.0028782594 0.0058251609 + 1093200 0.0056089886 0.0030218662 0.0057825403 + 1093300 0.0050334535 0.0033306376 0.0058080405 + 1093400 0.0082327474 0.002656526 0.0067085814 + 1093500 0.0050960159 0.0026098689 0.0051180643 + 1093600 0.0064388129 0.0027739553 0.0059430585 + 1093700 0.0044725899 0.0029828382 0.005184191 + 1093800 0.0063083694 0.002605975 0.0057108756 + 1093900 0.0057683851 0.0024542958 0.0052934229 + 1094000 0.004222339 0.0025811201 0.0046593026 + 1094100 0.0055726724 0.0033440361 0.0060868358 + 1094200 0.0056866909 0.0036718478 0.0064707659 + 1094300 0.0054204759 0.0035276765 0.006195567 + 1094400 0.0055296174 0.0033436822 0.0060652908 + 1094500 0.0040030758 0.0031825821 0.005152846 + 1094600 0.0066659227 0.002647229 0.0059281128 + 1094700 0.005827733 0.002564425 0.0054327623 + 1094800 0.0056191491 0.0026486609 0.0054143358 + 1094900 0.0043307509 0.0032307565 0.005362298 + 1095000 0.0044171909 0.0027571699 0.004931256 + 1095100 0.0047728946 0.00280179 0.005150949 + 1095200 0.0062497328 0.0024003655 0.0054764058 + 1095300 0.0050437757 0.0025898814 0.0050723648 + 1095400 0.0036329235 0.0027482362 0.0045363158 + 1095500 0.005610335 0.0026220713 0.005383408 + 1095600 0.0055296798 0.0028694236 0.0055910629 + 1095700 0.005138995 0.0033289373 0.0058582864 + 1095800 0.0046301057 0.0032167767 0.0054956568 + 1095900 0.0046121916 0.003161965 0.0054320281 + 1096000 0.0054283467 0.0031809461 0.0058527105 + 1096100 0.0039459157 0.0032243972 0.0051665275 + 1096200 0.0043233236 0.0027103273 0.0048382132 + 1096300 0.0057331979 0.0025833607 0.0054051691 + 1096400 0.0046604104 0.0029756063 0.005269402 + 1096500 0.0062570315 0.0036096963 0.0066893289 + 1096600 0.0063306861 0.00379917 0.0069150546 + 1096700 0.0040155472 0.0033797392 0.0053561413 + 1096800 0.0048825688 0.002858169 0.0052613083 + 1096900 0.0049948954 0.0026693845 0.0051278095 + 1097000 0.0059394674 0.0027035402 0.0056268718 + 1097100 0.0069697487 0.0026357406 0.0060661638 + 1097200 0.0042927509 0.0030000695 0.0051129079 + 1097300 0.0049023496 0.0028316353 0.0052445105 + 1097400 0.0060011668 0.0029761349 0.0059298342 + 1097500 0.0053876896 0.0029114111 0.0055631646 + 1097600 0.0056382814 0.0026563798 0.0054314714 + 1097700 0.0070835505 0.0023953117 0.0058817468 + 1097800 0.0057231581 0.0023072287 0.0051240956 + 1097900 0.0053039709 0.0021798597 0.0047904078 + 1098000 0.004788489 0.0018576008 0.0042144353 + 1098100 0.0042013265 0.0018168772 0.0038847176 + 1098200 0.00446851 0.0019814854 0.0041808302 + 1098300 0.0047219557 0.0022366803 0.0045607679 + 1098400 0.004369189 0.0022386456 0.0043891058 + 1098500 0.0040052193 0.0018875362 0.0038588551 + 1098600 0.0047382816 0.002000718 0.004332841 + 1098700 0.005923213 0.0029066347 0.0058219661 + 1098800 0.0056778021 0.0035289047 0.0063234479 + 1098900 0.0070555044 0.002916203 0.0063888341 + 1099000 0.0072048016 0.0030789026 0.0066250159 + 1099100 0.0066365152 0.0029762179 0.0062426277 + 1099200 0.0047461465 0.0029145459 0.0052505398 + 1099300 0.0045724226 0.0029592078 0.0052096971 + 1099400 0.0068306551 0.0021730429 0.0055350059 + 1099500 0.0042358586 0.0019335274 0.0040183641 + 1099600 0.0035463419 0.00216291 0.0039083752 + 1099700 0.0038326747 0.0021533131 0.0040397077 + 1099800 0.005086479 0.0021102807 0.0046137821 + 1099900 0.0044673381 0.0022872039 0.0044859718 + 1100000 0.0058964972 0.0028215728 0.005723755 + 1100100 0.00498512 0.0029993638 0.0054529776 + 1100200 0.0055015243 0.0024816416 0.005189423 + 1100300 0.0073798308 0.0020600139 0.0056922744 + 1100400 0.0043084838 0.0027274697 0.0048480516 + 1100500 0.0048700778 0.0026323365 0.005029328 + 1100600 0.005626996 0.002607548 0.0053770851 + 1100700 0.0034720887 0.0030057222 0.0047146408 + 1100800 0.0051718192 0.0022842801 0.0048297848 + 1100900 0.0056709335 0.0019534868 0.0047446494 + 1101000 0.0064421999 0.0022116816 0.0053824519 + 1101100 0.0044019929 0.0027498418 0.0049164477 + 1101200 0.0052329331 0.0028275565 0.0054031408 + 1101300 0.0061940429 0.0027415691 0.0057901996 + 1101400 0.0059513597 0.0027084644 0.0056376493 + 1101500 0.0075495493 0.0024222086 0.0061380024 + 1101600 0.0054514444 0.0023420687 0.0050252015 + 1101700 0.0056783517 0.0027323685 0.0055271822 + 1101800 0.0055976512 0.0028914594 0.0056465533 + 1101900 0.0042131913 0.0030105743 0.0050842544 + 1102000 0.0061123043 0.0027505116 0.0057589114 + 1102100 0.0042087365 0.0034124381 0.0054839255 + 1102200 0.0069741817 0.0026569773 0.0060895823 + 1102300 0.0059008562 0.0021652996 0.0050696273 + 1102400 0.005976986 0.0025011958 0.0054429936 + 1102500 0.0066172381 0.0027330961 0.005990018 + 1102600 0.0056241259 0.0023671297 0.0051352542 + 1102700 0.0054706326 0.002208501 0.0049010779 + 1102800 0.0056374476 0.0024804578 0.005255139 + 1102900 0.0041726924 0.0021502968 0.0042040438 + 1103000 0.0055534963 0.0015586125 0.004291974 + 1103100 0.0050941586 0.0020368495 0.0045441307 + 1103200 0.0046570368 0.0020808634 0.0043729987 + 1103300 0.0043832222 0.002333621 0.0044909882 + 1103400 0.0044555119 0.0025516773 0.0047446246 + 1103500 0.0049642813 0.0026124683 0.0050558255 + 1103600 0.0060503425 0.0028957526 0.0058736556 + 1103700 0.0051577058 0.0026595735 0.0051981318 + 1103800 0.0058202784 0.0026558015 0.0055204698 + 1103900 0.0058956483 0.0029483244 0.0058500887 + 1104000 0.0049033871 0.0029546977 0.0053680835 + 1104100 0.0072433831 0.0023425188 0.0059076214 + 1104200 0.0056910615 0.0022520712 0.0050531405 + 1104300 0.005445554 0.0023419635 0.0050221971 + 1104400 0.0059358265 0.0022093135 0.0051308531 + 1104500 0.0046463945 0.0027605439 0.0050474412 + 1104600 0.0068434884 0.0028847 0.0062529794 + 1104700 0.0048378495 0.0035468761 0.0059280051 + 1104800 0.0059803738 0.0035000048 0.0064434701 + 1104900 0.0067999823 0.0033658437 0.00671271 + 1105000 0.0063224547 0.0025905511 0.0057023842 + 1105100 0.0045295977 0.0027842294 0.0050136408 + 1105200 0.0035810455 0.002994907 0.0047574528 + 1105300 0.0076634288 0.0025917826 0.0063636265 + 1105400 0.0056613079 0.0027424675 0.0055288925 + 1105500 0.0050584921 0.002753312 0.0052430386 + 1105600 0.0039391829 0.0026940899 0.0046329065 + 1105700 0.004129687 0.0029002116 0.0049327919 + 1105800 0.0043574441 0.0028368954 0.0049815749 + 1105900 0.0055898594 0.0030259142 0.0057771731 + 1106000 0.0046410503 0.0033293001 0.005613567 + 1106100 0.0052175084 0.0029800702 0.0055480627 + 1106200 0.0046835036 0.0022602746 0.0045654365 + 1106300 0.0050396388 0.0019345967 0.0044150439 + 1106400 0.004780182 0.0018998365 0.0042525823 + 1106500 0.0041076749 0.002232467 0.0042542133 + 1106600 0.0043883404 0.0025034246 0.0046633108 + 1106700 0.0055215868 0.0019190265 0.0046366825 + 1106800 0.0062645247 0.0019334817 0.0050168024 + 1106900 0.006776714 0.0024513237 0.0057867376 + 1107000 0.003939363 0.0025818941 0.0045207993 + 1107100 0.0054737708 0.0023053265 0.004999448 + 1107200 0.0053219687 0.0024843063 0.0051037127 + 1107300 0.0040140027 0.002713159 0.004688801 + 1107400 0.0048580946 0.0027653613 0.0051564547 + 1107500 0.0048401444 0.0027939281 0.0051761867 + 1107600 0.0062439962 0.0033471401 0.006420357 + 1107700 0.0053947284 0.0034237314 0.0060789493 + 1107800 0.0054506493 0.0029211627 0.0056039042 + 1107900 0.0054910513 0.0029718666 0.0056744934 + 1108000 0.0064025228 0.0029371454 0.006088387 + 1108100 0.0050482827 0.002561892 0.0050465937 + 1108200 0.0049785162 0.0024788572 0.0049292207 + 1108300 0.0047043281 0.002681684 0.0049970955 + 1108400 0.0062239695 0.0022674154 0.0053307754 + 1108500 0.0057116906 0.0019768639 0.0047880866 + 1108600 0.0040762258 0.0018362636 0.0038425309 + 1108700 0.004622507 0.0016418472 0.0039169874 + 1108800 0.0047270189 0.0018533547 0.0041799343 + 1108900 0.0051361483 0.0024763651 0.0050043131 + 1109000 0.0043596408 0.0028127601 0.0049585208 + 1109100 0.0051165492 0.0027628922 0.0052811937 + 1109200 0.0061456121 0.0031271589 0.0061519523 + 1109300 0.005156352 0.003407012 0.005944904 + 1109400 0.0060932994 0.0028100926 0.0058091384 + 1109500 0.0045957293 0.0021393798 0.0044013404 + 1109600 0.0052858143 0.0024599835 0.0050615953 + 1109700 0.0042785233 0.0030414075 0.0051472432 + 1109800 0.0048497987 0.0029226095 0.0053096198 + 1109900 0.0044277551 0.0028915679 0.0050708536 + 1110000 0.0041350881 0.0028794884 0.0049147271 + 1110100 0.0058940553 0.0028923404 0.0057933207 + 1110200 0.0060263875 0.0029086248 0.0058747374 + 1110300 0.005629684 0.0028717441 0.0056426042 + 1110400 0.005489766 0.0029003033 0.0056022975 + 1110500 0.0064972488 0.0023540105 0.0055518751 + 1110600 0.0045324099 0.0021596553 0.0043904508 + 1110700 0.0041372386 0.0025462803 0.0045825774 + 1110800 0.0058191921 0.0028137331 0.0056778667 + 1110900 0.0047363888 0.0030802342 0.0054114256 + 1111000 0.0061265045 0.0023251833 0.0053405722 + 1111100 0.0034962129 0.0020666596 0.0037874519 + 1111200 0.0053692045 0.0022146625 0.0048573179 + 1111300 0.0044633877 0.0024494886 0.0046463123 + 1111400 0.0043288452 0.0028053301 0.0049359336 + 1111500 0.0043235562 0.002867982 0.0049959823 + 1111600 0.0061192333 0.0026386135 0.0056504237 + 1111700 0.0050407607 0.0027601392 0.0052411386 + 1111800 0.0071418957 0.0030809078 0.0065960596 + 1111900 0.0044982726 0.0032789128 0.0054929064 + 1112000 0.007021251 0.0028967331 0.0063525051 + 1112100 0.0056399892 0.0026336111 0.0054095432 + 1112200 0.0054314115 0.0025008303 0.0051741031 + 1112300 0.0076602057 0.002888359 0.0066586165 + 1112400 0.0046123804 0.0030217336 0.0052918896 + 1112500 0.0060030652 0.0027859074 0.005740541 + 1112600 0.0041831262 0.0029630435 0.005021926 + 1112700 0.0056361783 0.0031149313 0.0058889878 + 1112800 0.0058998347 0.0029216089 0.0058254338 + 1112900 0.0037879987 0.0033003677 0.0051647733 + 1113000 0.0048227849 0.0029372453 0.0053109598 + 1113100 0.0073451483 0.0026301645 0.0062453547 + 1113200 0.0058483043 0.0032439437 0.006122406 + 1113300 0.0049723448 0.0037705819 0.0062179078 + 1113400 0.0060192937 0.0033813594 0.0063439806 + 1113500 0.0049577407 0.0033490719 0.0057892099 + 1113600 0.0063859482 0.002885276 0.0060283598 + 1113700 0.0052133104 0.0028426061 0.0054085323 + 1113800 0.0064925966 0.0026799041 0.005875479 + 1113900 0.0043910359 0.0029127513 0.0050739642 + 1114000 0.0046042381 0.0027714446 0.005037593 + 1114100 0.0051348718 0.002746836 0.0052741557 + 1114200 0.0052972324 0.0025609802 0.0051682118 + 1114300 0.0055321412 0.0025951344 0.0053179852 + 1114400 0.0064588287 0.0026482467 0.0058272014 + 1114500 0.0059946804 0.0024537136 0.0054042203 + 1114600 0.00506856 0.0025607417 0.0050554235 + 1114700 0.004079682 0.002518074 0.0045260425 + 1114800 0.0046252436 0.0020204196 0.0042969067 + 1114900 0.0055722192 0.0017501652 0.0044927418 + 1115000 0.0076493272 0.0021252153 0.0058901185 + 1115100 0.0033788461 0.0027088295 0.0043718553 + 1115200 0.004926402 0.0026338398 0.0050585533 + 1115300 0.0051135781 0.0023730127 0.004889852 + 1115400 0.0048765689 0.0025254066 0.0049255928 + 1115500 0.00561473 0.0025194608 0.0052829607 + 1115600 0.0052543377 0.0022372035 0.0048233228 + 1115700 0.0058937321 0.0020338894 0.0049347106 + 1115800 0.0050807833 0.0023646213 0.0048653193 + 1115900 0.0044916403 0.0025179668 0.004728696 + 1116000 0.0059594793 0.0022952809 0.0052284621 + 1116100 0.004125421 0.0026195274 0.0046500081 + 1116200 0.0050678136 0.0025018039 0.0049961184 + 1116300 0.0054322068 0.0022266146 0.0049002788 + 1116400 0.0050397955 0.0020035653 0.0044840897 + 1116500 0.0061988995 0.0022884472 0.005339468 + 1116600 0.0060118279 0.0024641851 0.0054231316 + 1116700 0.0045444305 0.0021939512 0.0044306631 + 1116800 0.0041106195 0.0019891339 0.0040123294 + 1116900 0.0060691141 0.0019083148 0.0048954569 + 1117000 0.004156578 0.0023301626 0.0043759784 + 1117100 0.0061771046 0.0023550938 0.0053953875 + 1117200 0.0070029615 0.001978103 0.005424873 + 1117300 0.0056788464 0.0018903744 0.0046854316 + 1117400 0.003265659 0.0019777585 0.003585075 + 1117500 0.0033510687 0.0025133751 0.0041627292 + 1117600 0.00447908 0.0021574214 0.0043619686 + 1117700 0.0052094981 0.0020450649 0.0046091147 + 1117800 0.0043277876 0.0022937522 0.0044238352 + 1117900 0.0062890176 0.0020517868 0.0051471627 + 1118000 0.005153367 0.0020489557 0.0045853785 + 1118100 0.0042477159 0.0018152976 0.0039059702 + 1118200 0.0046980551 0.0019587773 0.0042711013 + 1118300 0.0046819222 0.0025165433 0.0048209269 + 1118400 0.0047627684 0.0027462713 0.0050904463 + 1118500 0.0049225649 0.0024198526 0.0048426775 + 1118600 0.0035059263 0.0026980004 0.0044235735 + 1118700 0.0066539918 0.0029532848 0.0062282964 + 1118800 0.0046478547 0.0034329798 0.0057205958 + 1118900 0.0057493864 0.0029928159 0.005822592 + 1119000 0.0048789635 0.0023965506 0.0047979155 + 1119100 0.0033870021 0.0024797063 0.0041467464 + 1119200 0.004610672 0.0023303402 0.0045996553 + 1119300 0.0051251807 0.00183094 0.0043534898 + 1119400 0.0045706971 0.0016409615 0.0038906015 + 1119500 0.0045536989 0.0018955022 0.0041367759 + 1119600 0.0040804952 0.0020388906 0.0040472593 + 1119700 0.0047952081 0.0020397247 0.0043998662 + 1119800 0.0046072477 0.0018494379 0.0041170677 + 1119900 0.0052350998 0.0016650809 0.0042417315 + 1120000 0.0043929746 0.0020760454 0.0042382126 + 1120100 0.0043981373 0.0020868379 0.0042515461 + 1120200 0.0041669459 0.0018719823 0.003922901 + 1120300 0.0035808735 0.002030855 0.0037933162 + 1120400 0.0063245477 0.0020943397 0.005207203 + 1120500 0.0065534893 0.0022433355 0.005468881 + 1120600 0.0045049224 0.0022661987 0.0044834652 + 1120700 0.0045654013 0.0020878846 0.0043349181 + 1120800 0.0066367735 0.0020808827 0.0053474197 + 1120900 0.0058598018 0.001750714 0.0046348351 + 1121000 0.0060248892 0.0017307582 0.0046961334 + 1121100 0.0033126667 0.0020448046 0.0036752578 + 1121200 0.0053902812 0.0019817192 0.0046347482 + 1121300 0.0034962931 0.0021489675 0.0038697993 + 1121400 0.0050314858 0.0024042 0.0048806344 + 1121500 0.004362967 0.0026802185 0.0048276164 + 1121600 0.0048033787 0.0023961655 0.0047603284 + 1121700 0.0050219823 0.0024768871 0.004948644 + 1121800 0.004701928 0.0025316264 0.0048458566 + 1121900 0.0038487263 0.002762688 0.004656983 + 1122000 0.004214861 0.0026290946 0.0047035965 + 1122100 0.0057745307 0.0022950888 0.0051372406 + 1122200 0.0057709184 0.0022225089 0.0050628828 + 1122300 0.0039405328 0.002282767 0.004222248 + 1122400 0.0069420636 0.0020981883 0.0055149852 + 1122500 0.0041843108 0.0022902103 0.0043496758 + 1122600 0.0040754241 0.0026633962 0.004669269 + 1122700 0.0063408693 0.0027870392 0.0059079358 + 1122800 0.0047723338 0.0029201935 0.0052690766 + 1122900 0.0061735198 0.0029414558 0.0059799851 + 1123000 0.0047661558 0.0029907684 0.0053366107 + 1123100 0.0035069044 0.0035276685 0.005253723 + 1123200 0.0053133434 0.0033959872 0.0060111484 + 1123300 0.0047729218 0.0028202987 0.0051694711 + 1123400 0.0056341989 0.0027939386 0.0055670209 + 1123500 0.0061781229 0.0028752902 0.0059160851 + 1123600 0.0063177351 0.0030133771 0.0061228873 + 1123700 0.0063441414 0.0028294986 0.0059520057 + 1123800 0.0047412297 0.0032187242 0.0055522982 + 1123900 0.0052328431 0.003386106 0.005961646 + 1124000 0.0048749877 0.0031748826 0.0055742906 + 1124100 0.0042817748 0.0034000784 0.0055075145 + 1124200 0.0056239637 0.0030273085 0.0057953532 + 1124300 0.0047949377 0.0021931561 0.0045531645 + 1124400 0.0055639894 0.0021740404 0.0049125664 + 1124500 0.0037824277 0.0023524702 0.0042141338 + 1124600 0.005685599 0.0026292496 0.0054276304 + 1124700 0.004378164 0.0028939264 0.005048804 + 1124800 0.0051742806 0.0023432951 0.0048900114 + 1124900 0.0043603724 0.0019914533 0.0041375741 + 1125000 0.0048964594 0.0018164568 0.0042264329 + 1125100 0.0048159676 0.0018742551 0.0042446142 + 1125200 0.0045111937 0.0020350977 0.0042554509 + 1125300 0.0044224158 0.0019347001 0.0041113579 + 1125400 0.0044208554 0.0017968958 0.0039727856 + 1125500 0.0052659181 0.0015407948 0.0041326139 + 1125600 0.0054044667 0.001982856 0.0046428669 + 1125700 0.0039690693 0.0023768527 0.004330379 + 1125800 0.0056061459 0.0021504936 0.0049097685 + 1125900 0.0048826353 0.0018191145 0.0042222866 + 1126000 0.0050198074 0.0017902025 0.004260889 + 1126100 0.0048680893 0.0019919154 0.0043879281 + 1126200 0.0039176418 0.0021888208 0.0041170351 + 1126300 0.0057119062 0.0024938039 0.0053051328 + 1126400 0.0046799678 0.0024425025 0.0047459242 + 1126500 0.0048406079 0.0022966247 0.0046791114 + 1126600 0.0050721012 0.0022966779 0.0047931027 + 1126700 0.0059012461 0.0022608342 0.0051653538 + 1126800 0.0062721748 0.0022071396 0.0052942256 + 1126900 0.0039736118 0.0031021856 0.0050579477 + 1127000 0.0047502084 0.0030383962 0.0053763894 + 1127100 0.0040238106 0.0023748909 0.0043553601 + 1127200 0.0050647248 0.0022876806 0.0047804749 + 1127300 0.0052788496 0.0025736865 0.0051718703 + 1127400 0.0056270017 0.0028185099 0.0055880498 + 1127500 0.0050755262 0.0027891926 0.0052873031 + 1127600 0.0042994043 0.0030341861 0.0051502991 + 1127700 0.0063805776 0.0029172103 0.0060576509 + 1127800 0.0048805263 0.0027902871 0.0051924211 + 1127900 0.0059293317 0.0023578618 0.0052762047 + 1128000 0.0054798101 0.0023378738 0.0050349678 + 1128100 0.00546266 0.0026383758 0.0053270288 + 1128200 0.0058576655 0.0028025264 0.0056855961 + 1128300 0.0044707344 0.0023843268 0.0045847664 + 1128400 0.0044531388 0.0024192494 0.0046110286 + 1128500 0.0053427397 0.0023932526 0.0050228824 + 1128600 0.0056111448 0.0020499638 0.0048116991 + 1128700 0.005313249 0.0020597678 0.0046748825 + 1128800 0.0058997509 0.00187658 0.0047803636 + 1128900 0.0036115615 0.0018608379 0.0036384033 + 1129000 0.0039409569 0.001965745 0.0039054348 + 1129100 0.0040459218 0.0021296467 0.0041209989 + 1129200 0.0043579544 0.0018543296 0.0039992603 + 1129300 0.0040477161 0.0018402294 0.0038324647 + 1129400 0.0058339186 0.001535005 0.0044063868 + 1129500 0.004906312 0.0018838907 0.0042987162 + 1129600 0.0055935989 0.0019430536 0.004696153 + 1129700 0.0048478993 0.0020110878 0.0043971632 + 1129800 0.0037192203 0.0026032696 0.0044338234 + 1129900 0.0091428718 0.0022446137 0.0067446209 + 1130000 0.0070589359 0.0023438992 0.0058182192 + 1130100 0.0046971986 0.0028365257 0.0051484281 + 1130200 0.0044235344 0.0030416691 0.0052188774 + 1130300 0.0058896046 0.0032434583 0.0061422481 + 1130400 0.0037394031 0.0029790204 0.0048195079 + 1130500 0.0046004891 0.0030231297 0.0052874329 + 1130600 0.005988948 0.0026444695 0.0055921548 + 1130700 0.0056312142 0.0023969026 0.0051685159 + 1130800 0.0051872564 0.0025276501 0.0050807529 + 1130900 0.0058366219 0.0023715632 0.0052442755 + 1131000 0.0067852963 0.0018801823 0.0052198203 + 1131100 0.0045317966 0.0020515075 0.0042820011 + 1131200 0.0051611209 0.0018972692 0.0044375083 + 1131300 0.0060915869 0.0019176224 0.0049158254 + 1131400 0.0071611791 0.001730895 0.0052555378 + 1131500 0.0046611334 0.0019458369 0.0042399885 + 1131600 0.0047610529 0.0017806011 0.0041239318 + 1131700 0.0053365382 0.0020329675 0.0046595449 + 1131800 0.0062800984 0.002365146 0.0054561319 + 1131900 0.0045905774 0.0028605455 0.0051199703 + 1132000 0.0060098315 0.0027505798 0.0057085437 + 1132100 0.0045221205 0.0031127224 0.0053384536 + 1132200 0.0050969601 0.0030967707 0.0056054307 + 1132300 0.0056646625 0.0026704394 0.0054585154 + 1132400 0.0051045206 0.0022424932 0.0047548744 + 1132500 0.0037477172 0.0023206964 0.0041652759 + 1132600 0.003953306 0.0025793955 0.0045251633 + 1132700 0.0044145217 0.0029310032 0.0051037756 + 1132800 0.0066895486 0.0024922917 0.005784804 + 1132900 0.0052338953 0.0026365893 0.0052126471 + 1133000 0.0048003534 0.0027148725 0.0050775464 + 1133100 0.0039106308 0.0026241037 0.0045488673 + 1133200 0.0046175374 0.0026337053 0.0049063995 + 1133300 0.0064703344 0.0019987642 0.0051833819 + 1133400 0.0049176159 0.0020182263 0.0044386154 + 1133500 0.0043889065 0.0021717284 0.0043318933 + 1133600 0.004767472 0.0026703531 0.0050168432 + 1133700 0.0066452459 0.0026803801 0.005951087 + 1133800 0.0059812148 0.0031234238 0.006067303 + 1133900 0.0062140823 0.0028867496 0.0059452433 + 1134000 0.0051560964 0.0025298732 0.0050676394 + 1134100 0.0047240456 0.0021696776 0.0044947938 + 1134200 0.0049769694 0.0021992034 0.0046488055 + 1134300 0.0047957895 0.0024642864 0.004824714 + 1134400 0.0042364259 0.0025640256 0.0046491415 + 1134500 0.0051426296 0.002372054 0.0049031921 + 1134600 0.0030683329 0.0024094554 0.0039196505 + 1134700 0.0043316494 0.0024269397 0.0045589234 + 1134800 0.003271085 0.0024320706 0.0040420577 + 1134900 0.0041282582 0.0025241635 0.0045560405 + 1135000 0.0036512904 0.0025068941 0.0043040136 + 1135100 0.0054241968 0.0025373396 0.0052070615 + 1135200 0.0040915966 0.0026237589 0.0046375916 + 1135300 0.0056647953 0.0032163866 0.006004528 + 1135400 0.0071742904 0.0029171034 0.0064481995 + 1135500 0.0059047775 0.0030302729 0.0059365306 + 1135600 0.0057099725 0.0026631488 0.0054735259 + 1135700 0.0057354216 0.0022712096 0.0050941124 + 1135800 0.0059670504 0.0027881186 0.0057250262 + 1135900 0.0055513491 0.003176418 0.0059087227 + 1136000 0.0045903489 0.0027777878 0.0050371001 + 1136100 0.0049743013 0.0023652102 0.0048134992 + 1136200 0.0040801326 0.0020396758 0.0040478661 + 1136300 0.0054416116 0.0022452614 0.0049235546 + 1136400 0.0046430715 0.002881262 0.0051665238 + 1136500 0.0048466713 0.0027086224 0.0050940934 + 1136600 0.0052123236 0.0028196874 0.0053851279 + 1136700 0.0046183936 0.0027364285 0.0050095442 + 1136800 0.0056416066 0.002394365 0.0051710932 + 1136900 0.0038330743 0.0021896122 0.0040762034 + 1137000 0.0028485839 0.0026541865 0.0040562239 + 1137100 0.0043086849 0.0028407502 0.0049614311 + 1137200 0.0068450327 0.0025825056 0.0059515452 + 1137300 0.0044544442 0.0022532396 0.0044456614 + 1137400 0.0045545135 0.0024334904 0.0046751651 + 1137500 0.004282464 0.0024884751 0.0045962503 + 1137600 0.0037268729 0.0023028259 0.0041371461 + 1137700 0.0054418263 0.0020823934 0.0047607922 + 1137800 0.0037856476 0.0020212928 0.0038845412 + 1137900 0.0054344904 0.0023685114 0.0050432996 + 1138000 0.0039044994 0.0028974309 0.0048191767 + 1138100 0.0051864138 0.0024208576 0.0049735457 + 1138200 0.0043466677 0.0023445886 0.0044839641 + 1138300 0.0055466351 0.0025104928 0.0052404773 + 1138400 0.0049576686 0.0031525233 0.0055926258 + 1138500 0.004119139 0.0031913415 0.0052187302 + 1138600 0.0064874945 0.0030949552 0.0062880188 + 1138700 0.0060962383 0.0025664285 0.0055669208 + 1138800 0.006359805 0.0028272715 0.005957488 + 1138900 0.0034098047 0.0033808311 0.0050590944 + 1139000 0.0044145365 0.0027614942 0.0049342739 + 1139100 0.0063542072 0.0023789154 0.0055063768 + 1139200 0.0055055766 0.0023901095 0.0050998855 + 1139300 0.0055939238 0.0023423223 0.0050955816 + 1139400 0.0039545725 0.0022154101 0.0041618013 + 1139500 0.0054981434 0.0020725301 0.0047786476 + 1139600 0.0046637383 0.0021389583 0.004434392 + 1139700 0.0048709241 0.0027890667 0.0051864746 + 1139800 0.006840284 0.0024615196 0.0058282218 + 1139900 0.0048195683 0.0020186337 0.004390765 + 1140000 0.0059127928 0.0020201391 0.0049303418 + 1140100 0.0047669549 0.002255988 0.0046022236 + 1140200 0.0059691216 0.0023438986 0.0052818256 + 1140300 0.0047340804 0.0024028173 0.0047328725 + 1140400 0.0039356966 0.0024701378 0.0044072385 + 1140500 0.004792728 0.0024254186 0.0047843394 + 1140600 0.0068123026 0.0023357184 0.0056886486 + 1140700 0.005972807 0.0027869742 0.0057267152 + 1140800 0.0048134287 0.0034900842 0.0058591936 + 1140900 0.0039757025 0.0038232433 0.0057800343 + 1141000 0.0041510882 0.0038243315 0.0058674452 + 1141100 0.0058291636 0.002839534 0.0057085755 + 1141200 0.0052690267 0.0022931714 0.0048865205 + 1141300 0.0050961964 0.0021378174 0.0046461015 + 1141400 0.0052010922 0.0020395781 0.0045994907 + 1141500 0.0050670191 0.0020115977 0.0045055211 + 1141600 0.0063707515 0.0025616568 0.0056972611 + 1141700 0.0066243223 0.0025635414 0.0058239501 + 1141800 0.0050506411 0.002553306 0.0050391685 + 1141900 0.0040376017 0.0024260529 0.00441331 + 1142000 0.005590796 0.002295273 0.0050469929 + 1142100 0.004771394 0.0025983382 0.0049467587 + 1142200 0.003753963 0.0025929405 0.0044405942 + 1142300 0.0054373688 0.0023849663 0.0050611713 + 1142400 0.0039458603 0.0024642064 0.0044063095 + 1142500 0.0035948685 0.0026264631 0.0043958125 + 1142600 0.0047660322 0.0023045779 0.0046503594 + 1142700 0.0044708501 0.0020963047 0.0042968012 + 1142800 0.0060374323 0.001664454 0.0046360027 + 1142900 0.0043780242 0.0017260722 0.003880881 + 1143000 0.0045676621 0.0017294928 0.003977639 + 1143100 0.0045873387 0.002147277 0.0044051078 + 1143200 0.0048862651 0.0022086045 0.0046135631 + 1143300 0.0052040922 0.0019103406 0.0044717297 + 1143400 0.0051189276 0.0021098644 0.0046293365 + 1143500 0.0055000536 0.0025796942 0.0052867518 + 1143600 0.0054952779 0.0023187104 0.0050234175 + 1143700 0.0051972574 0.0017850873 0.0043431124 + 1143800 0.0049115662 0.0017853719 0.0042027834 + 1143900 0.0032760832 0.0020039866 0.0036164338 + 1144000 0.0034829539 0.0017679694 0.0034822357 + 1144100 0.0044594975 0.0020405056 0.0042354145 + 1144200 0.005158701 0.0021604978 0.004699546 + 1144300 0.0039105137 0.0020807649 0.0040054709 + 1144400 0.0055589275 0.0020263179 0.0047623525 + 1144500 0.0063162087 0.0019639866 0.0050727455 + 1144600 0.0055433733 0.002239834 0.004968213 + 1144700 0.0039767555 0.0026488634 0.0046061727 + 1144800 0.0040762492 0.0025415288 0.0045478077 + 1144900 0.0053138257 0.00236156 0.0049769586 + 1145000 0.0063386624 0.0021087864 0.0052285968 + 1145100 0.0046393462 0.0018330811 0.0041165093 + 1145200 0.0057921041 0.0021813025 0.0050321038 + 1145300 0.0055026155 0.0024222387 0.0051305573 + 1145400 0.0056998413 0.0027683887 0.0055737793 + 1145500 0.0044996608 0.0025683676 0.0047830444 + 1145600 0.0054025452 0.0030352154 0.0056942806 + 1145700 0.0043347465 0.0033050713 0.0054385793 + 1145800 0.0056277534 0.0030036789 0.0057735888 + 1145900 0.0063294693 0.0024926004 0.0056078861 + 1146000 0.003431023 0.0023780838 0.0040667904 + 1146100 0.0046726125 0.002209847 0.0045096485 + 1146200 0.0052962592 0.0021303573 0.0047371099 + 1146300 0.0046164084 0.0028590413 0.0051311798 + 1146400 0.0049851694 0.003205932 0.0056595701 + 1146500 0.0056643863 0.0031469046 0.0059348447 + 1146600 0.0045636982 0.0029709954 0.0052171906 + 1146700 0.0043502655 0.0028087058 0.0049498521 + 1146800 0.0041421869 0.0028495072 0.0048882398 + 1146900 0.0063473539 0.0023582928 0.0054823811 + 1147000 0.0068988442 0.0021117471 0.005507272 + 1147100 0.003652647 0.0024469689 0.004244756 + 1147200 0.0066954963 0.0021093185 0.0054047581 + 1147300 0.0054001036 0.0018853208 0.0045431843 + 1147400 0.0048781152 0.0018875303 0.0042884776 + 1147500 0.0041167371 0.0019190025 0.003945209 + 1147600 0.0054464619 0.0015985132 0.0042791936 + 1147700 0.0036796337 0.0014457724 0.0032568422 + 1147800 0.0039631352 0.0016509832 0.0036015888 + 1147900 0.0045612108 0.0018677006 0.0041126715 + 1148000 0.0040049885 0.0018336304 0.0038048357 + 1148100 0.004291741 0.0021018722 0.0042142134 + 1148200 0.0060622385 0.0020763864 0.0050601444 + 1148300 0.0040570999 0.0021940581 0.004190912 + 1148400 0.0041295127 0.0020782247 0.0041107192 + 1148500 0.0053877199 0.0016956954 0.0043474638 + 1148600 0.0046427675 0.0019699054 0.0042550175 + 1148700 0.0055278135 0.0021662702 0.0048869909 + 1148800 0.0052348056 0.0026655882 0.005242094 + 1148900 0.0058139026 0.0026971705 0.0055587007 + 1149000 0.0060840627 0.0029378161 0.0059323157 + 1149100 0.0045543064 0.0029031071 0.0051446797 + 1149200 0.00495409 0.0027509186 0.0051892598 + 1149300 0.0046660388 0.0025125938 0.0048091597 + 1149400 0.0049220835 0.0021590348 0.0045816228 + 1149500 0.0047558223 0.0017321232 0.0040728795 + 1149600 0.0064435326 0.0021118484 0.0052832746 + 1149700 0.0048564866 0.0024773103 0.0048676123 + 1149800 0.0048352701 0.0019481887 0.0043280482 + 1149900 0.0048446382 0.0018385922 0.0042230625 + 1150000 0.0043921646 0.0016429621 0.0038047306 + 1150100 0.0041395722 0.0015992787 0.0036367244 + 1150200 0.0055646068 0.0020034111 0.004742241 + 1150300 0.0052603184 0.0023993574 0.0049884204 + 1150400 0.0042058783 0.0025646748 0.0046347556 + 1150500 0.0053831392 0.0027067461 0.0053562599 + 1150600 0.005751403 0.0027847815 0.0056155501 + 1150700 0.0049798734 0.0024704898 0.0049215212 + 1150800 0.0048758261 0.0022731289 0.0046729495 + 1150900 0.0055926042 0.0024480259 0.0052006357 + 1151000 0.0066258899 0.0029036662 0.0061648465 + 1151100 0.0047074537 0.0030969221 0.005413872 + 1151200 0.0061169369 0.0025157406 0.0055264205 + 1151300 0.0049944737 0.0022496955 0.004707913 + 1151400 0.0052956968 0.0023982762 0.0050047519 + 1151500 0.0044752789 0.0028874092 0.0050900855 + 1151600 0.0046455077 0.0029783471 0.0052648079 + 1151700 0.0045522612 0.0024319571 0.0046725231 + 1151800 0.003837159 0.0021065752 0.0039951769 + 1151900 0.0048303703 0.0020635624 0.0044410103 + 1152000 0.0044011505 0.002517005 0.0046831963 + 1152100 0.0045596569 0.0022642517 0.0045084578 + 1152200 0.0061714179 0.0021277085 0.0051652032 + 1152300 0.0050064375 0.0021558777 0.0046199836 + 1152400 0.007708434 0.0019303702 0.0057243651 + 1152500 0.0066096402 0.0020356992 0.0052888815 + 1152600 0.0044908306 0.0023332814 0.0045436121 + 1152700 0.005316492 0.0023111839 0.0049278948 + 1152800 0.0050588971 0.0022776969 0.0047676229 + 1152900 0.0053246663 0.0022727145 0.0048934487 + 1153000 0.0032826584 0.0026712951 0.0042869785 + 1153100 0.0052243671 0.0023333334 0.0049047015 + 1153200 0.0041828215 0.0026002696 0.004659002 + 1153300 0.0043667377 0.0029815279 0.0051307816 + 1153400 0.0046009237 0.0032048231 0.0054693402 + 1153500 0.0044754093 0.0029934218 0.0051961623 + 1153600 0.0055909516 0.0024302611 0.0051820576 + 1153700 0.0046841235 0.0020725254 0.0043779925 + 1153800 0.0048727402 0.0019882906 0.0043865924 + 1153900 0.0041421027 0.0023100833 0.0043487744 + 1154000 0.0050428188 0.0024838021 0.0049658145 + 1154100 0.0040828329 0.0025244875 0.0045340068 + 1154200 0.0030445191 0.0023448182 0.0038432925 + 1154300 0.005502034 0.0020982963 0.0048063287 + 1154400 0.0033105323 0.0023536402 0.0039830428 + 1154500 0.005683912 0.002322239 0.0051197894 + 1154600 0.0066993146 0.0019288445 0.0052261634 + 1154700 0.0041001234 0.0019925029 0.0040105324 + 1154800 0.0061526815 0.002435379 0.005463652 + 1154900 0.0043948584 0.0028550737 0.0050181681 + 1155000 0.0063040648 0.0025670144 0.0056697963 + 1155100 0.0057489155 0.0022505298 0.0050800742 + 1155200 0.0045185354 0.0021340382 0.0043580048 + 1155300 0.0037291846 0.0023898363 0.0042252943 + 1155400 0.0057496534 0.0024319363 0.0052618439 + 1155500 0.0057759204 0.0027719697 0.0056148056 + 1155600 0.003980451 0.0029840043 0.0049431326 + 1155700 0.0062379325 0.0030291639 0.0060993963 + 1155800 0.004643942 0.0028375141 0.0051232043 + 1155900 0.0055830815 0.0023122165 0.0050601394 + 1156000 0.0047206308 0.0025346972 0.0048581327 + 1156100 0.0046669122 0.0026980564 0.0049950523 + 1156200 0.00618095 0.0022128942 0.0052550806 + 1156300 0.0056608933 0.0023934842 0.0051797051 + 1156400 0.005351957 0.0024522381 0.0050864044 + 1156500 0.0053772063 0.0024890812 0.0051356749 + 1156600 0.0052765202 0.0025512007 0.0051482379 + 1156700 0.0050618214 0.0025540462 0.0050454114 + 1156800 0.0041586799 0.0029251492 0.0049719995 + 1156900 0.0046908985 0.0031324847 0.0054412863 + 1157000 0.0065979818 0.0029561489 0.006203593 + 1157100 0.0042012023 0.0031678353 0.0052356146 + 1157200 0.0039875407 0.0032194132 0.0051820308 + 1157300 0.0051349805 0.0027988205 0.0053261937 + 1157400 0.0064995051 0.0027000523 0.0058990275 + 1157500 0.0059830433 0.002746934 0.0056917131 + 1157600 0.0049802897 0.002901775 0.0053530114 + 1157700 0.0063578459 0.0030100238 0.0061392761 + 1157800 0.0052160562 0.0039106169 0.0064778945 + 1157900 0.0051175377 0.0040684566 0.0065872447 + 1158000 0.0056666067 0.0033320745 0.0061211075 + 1158100 0.0047026659 0.0027090016 0.0050235949 + 1158200 0.0051871311 0.0023323705 0.0048854116 + 1158300 0.0047746139 0.0019314777 0.004281483 + 1158400 0.0048899727 0.0018769058 0.0042836893 + 1158500 0.0044480925 0.002230922 0.0044202176 + 1158600 0.004186202 0.0024296025 0.0044899988 + 1158700 0.0051456693 0.0021030758 0.00463571 + 1158800 0.0053304591 0.0018861956 0.004509781 + 1158900 0.0034165784 0.002509759 0.0041913562 + 1159000 0.0045186956 0.0023593109 0.0045833564 + 1159100 0.0046943033 0.002063104 0.0043735814 + 1159200 0.0043233476 0.0022659601 0.0043938577 + 1159300 0.0044480589 0.0024125764 0.0046018554 + 1159400 0.0050611892 0.0022100385 0.0047010925 + 1159500 0.0051825765 0.0023362145 0.0048870138 + 1159600 0.0055007433 0.0024125218 0.0051199189 + 1159700 0.0045985885 0.0021117032 0.004375071 + 1159800 0.0050619021 0.001855243 0.004346648 + 1159900 0.0038161744 0.0020174798 0.0038957531 + 1160000 0.0050597737 0.0021263973 0.0046167547 + 1160100 0.0054429759 0.0022768119 0.0049557766 + 1160200 0.0034862148 0.0024968603 0.0042127317 + 1160300 0.0058492539 0.0024692376 0.0053481673 + 1160400 0.0041093493 0.0029479272 0.0049704976 + 1160500 0.0048802009 0.0029675708 0.0053695447 + 1160600 0.004301854 0.0029440476 0.0050613664 + 1160700 0.0044446297 0.0025657061 0.0047532972 + 1160800 0.0051120445 0.0021255825 0.0046416669 + 1160900 0.0066090324 0.0025178324 0.0057707155 + 1161000 0.0039920432 0.0031259619 0.0050907956 + 1161100 0.0057996492 0.0025434951 0.0053980099 + 1161200 0.0053363781 0.0022502999 0.0048767985 + 1161300 0.0038120988 0.0022187697 0.0040950371 + 1161400 0.0047773544 0.002012969 0.0043643231 + 1161500 0.0053778304 0.001985245 0.0046321459 + 1161600 0.0051104274 0.0027684766 0.0052837651 + 1161700 0.0045584615 0.0031193095 0.0053629273 + 1161800 0.0059676276 0.002475454 0.0054126457 + 1161900 0.0051171405 0.0021923891 0.0047109817 + 1162000 0.0045360863 0.0028669194 0.0050995244 + 1162100 0.0051325024 0.0030444007 0.0055705542 + 1162200 0.0048943283 0.00316177 0.0055706973 + 1162300 0.0042459715 0.0025844113 0.0046742254 + 1162400 0.0048636076 0.0021909709 0.0045847778 + 1162500 0.0047423995 0.0023145201 0.0046486698 + 1162600 0.0047685409 0.0027245295 0.0050715457 + 1162700 0.0042777442 0.0028178892 0.0049233414 + 1162800 0.0051934123 0.0024147811 0.0049709137 + 1162900 0.0063386386 0.0024004291 0.0055202277 + 1163000 0.0046261183 0.0029561356 0.0052330532 + 1163100 0.0037790771 0.0030524672 0.0049124817 + 1163200 0.0049211927 0.0031115352 0.0055336847 + 1163300 0.0037916521 0.0027836992 0.0046499029 + 1163400 0.004806417 0.0024628476 0.004828506 + 1163500 0.0042224211 0.0019774004 0.0040556233 + 1163600 0.0029773032 0.0019848756 0.003450267 + 1163700 0.0041244773 0.0020495388 0.004079555 + 1163800 0.0055041268 0.002375368 0.0050844304 + 1163900 0.00352124 0.0026764014 0.0044095117 + 1164000 0.0046138946 0.0020709336 0.0043418348 + 1164100 0.004895849 0.002316272 0.0047259477 + 1164200 0.0039525843 0.0023203852 0.0042657977 + 1164300 0.0053566196 0.0022088405 0.0048453017 + 1164400 0.0046227999 0.0020902446 0.004365529 + 1164500 0.0048441586 0.002044263 0.0044284973 + 1164600 0.006728611 0.0018565641 0.0051683023 + 1164700 0.0028422098 0.0024721747 0.0038710748 + 1164800 0.0045289407 0.0025122619 0.0047413499 + 1164900 0.0044693984 0.0025276193 0.0047274013 + 1165000 0.0052871608 0.0025158496 0.0051181241 + 1165100 0.0047864319 0.0025720036 0.0049278255 + 1165200 0.0053671677 0.002452536 0.0050941889 + 1165300 0.0063766616 0.002087116 0.0052256292 + 1165400 0.006753099 0.0030014009 0.0063251918 + 1165500 0.0057375907 0.0035626293 0.0063865997 + 1165600 0.0056218168 0.0034256968 0.0061926847 + 1165700 0.0064641862 0.0029512992 0.0061328908 + 1165800 0.0057359417 0.0026635837 0.0054867425 + 1165900 0.0044120881 0.0025447563 0.0047163309 + 1166000 0.0057319458 0.0023778288 0.0051990208 + 1166100 0.0050908935 0.0022850604 0.0047907346 + 1166200 0.006533031 0.0022510929 0.005466569 + 1166300 0.004710833 0.002695027 0.0050136401 + 1166400 0.0064714819 0.0032109238 0.0063961063 + 1166500 0.0042340326 0.0034306608 0.0055145987 + 1166600 0.0048483519 0.0029820011 0.0053682993 + 1166700 0.0045001502 0.0025140699 0.0047289875 + 1166800 0.0047001338 0.0024453899 0.004758737 + 1166900 0.0050914734 0.0022658269 0.0047717865 + 1167000 0.0038406008 0.0021562335 0.0040465292 + 1167100 0.0039223719 0.002165961 0.0040965034 + 1167200 0.0039324404 0.0024126402 0.0043481382 + 1167300 0.004177266 0.0032827656 0.0053387637 + 1167400 0.0048972724 0.0034069206 0.0058172968 + 1167500 0.0051299182 0.0024697638 0.0049946455 + 1167600 0.0039558084 0.0023346643 0.0042816638 + 1167700 0.0047544302 0.0023110255 0.0046510966 + 1167800 0.0043000882 0.0025354481 0.0046518978 + 1167900 0.0048639988 0.0024844164 0.0048784158 + 1168000 0.0044766506 0.0023984554 0.0046018069 + 1168100 0.0044485257 0.0027310081 0.0049205168 + 1168200 0.0042103081 0.0023629623 0.0044352233 + 1168300 0.0063257412 0.0018937928 0.0050072436 + 1168400 0.0052497501 0.0020768669 0.0046607283 + 1168500 0.0042588793 0.0024407358 0.0045369029 + 1168600 0.0048239323 0.0023591401 0.0047334193 + 1168700 0.0057800789 0.0024652248 0.0053101074 + 1168800 0.0041714545 0.0023883085 0.0044414463 + 1168900 0.0064387713 0.0024837578 0.0056528405 + 1169000 0.0056070144 0.0027936649 0.0055533673 + 1169100 0.0065217828 0.0028578974 0.0060678373 + 1169200 0.0040309797 0.0030193983 0.0050033961 + 1169300 0.0056610669 0.003143069 0.0059293753 + 1169400 0.0045443929 0.0032268029 0.0054634963 + 1169500 0.0043256165 0.0025841484 0.0047131627 + 1169600 0.005050064 0.0017313412 0.0042169196 + 1169700 0.0057861462 0.0021161831 0.0049640519 + 1169800 0.0038104059 0.0026928155 0.0045682496 + 1169900 0.0041395624 0.0023702738 0.0044077147 + 1170000 0.0056977071 0.0016652633 0.0044696036 + 1170100 0.0054711781 0.0017822843 0.0044751298 + 1170200 0.0047120237 0.0022270201 0.0045462193 + 1170300 0.0056471019 0.0024352392 0.0052146722 + 1170400 0.0054521769 0.0024108044 0.0050942978 + 1170500 0.0043461105 0.0022997972 0.0044388985 + 1170600 0.0036657384 0.0021282888 0.0039325195 + 1170700 0.0049137036 0.0017596661 0.0041781296 + 1170800 0.0061925376 0.0019396599 0.0049875495 + 1170900 0.0052685503 0.0019155251 0.0045086397 + 1171000 0.00745659 0.0019644782 0.0056345186 + 1171100 0.0036542007 0.0021682169 0.0039667688 + 1171200 0.0060793579 0.0024212122 0.0054133962 + 1171300 0.0036992191 0.0024388311 0.0042595405 + 1171400 0.005977477 0.0021122886 0.005054328 + 1171500 0.0045085095 0.002515479 0.004734511 + 1171600 0.0058717111 0.0027905401 0.0056805229 + 1171700 0.0047724722 0.0026247164 0.0049736676 + 1171800 0.0069952231 0.0019299827 0.0053729441 + 1171900 0.0063320531 0.0022755446 0.005392102 + 1172000 0.0058055738 0.0023690337 0.0052264646 + 1172100 0.0061137267 0.0021197917 0.0051288916 + 1172200 0.0053081065 0.0016966344 0.0043092181 + 1172300 0.005198673 0.0015841693 0.0041428912 + 1172400 0.004769036 0.0020028441 0.004350104 + 1172500 0.0046317175 0.0017632155 0.004042889 + 1172600 0.0033563589 0.0018752952 0.0035272531 + 1172700 0.0037746616 0.002323123 0.0041809643 + 1172800 0.0049105441 0.0021250163 0.0045419247 + 1172900 0.0045470391 0.0018660073 0.0041040031 + 1173000 0.0051640231 0.0018495388 0.0043912064 + 1173100 0.0038131615 0.0018378357 0.0037146261 + 1173200 0.0050380211 0.002143589 0.00462324 + 1173300 0.0049409196 0.0023724366 0.0048042955 + 1173400 0.0051035991 0.002783138 0.0052950657 + 1173500 0.004257038 0.002872541 0.0049678018 + 1173600 0.0077007218 0.0024461239 0.0062363229 + 1173700 0.0046160828 0.0026937725 0.0049657507 + 1173800 0.0037856992 0.0022569463 0.0041202201 + 1173900 0.0049332412 0.0019452811 0.0043733608 + 1174000 0.0041014748 0.0022181862 0.0042368808 + 1174100 0.006048086 0.0021457384 0.0051225307 + 1174200 0.0049000186 0.0020724066 0.0044841345 + 1174300 0.0042127601 0.0022588583 0.0043323261 + 1174400 0.0043260851 0.0021924599 0.0043217049 + 1174500 0.0039311727 0.0024284072 0.0043632813 + 1174600 0.0038520104 0.0023998598 0.0042957712 + 1174700 0.0058265927 0.0024268401 0.0052946162 + 1174800 0.0046092662 0.0029519281 0.0052205513 + 1174900 0.0041432182 0.0024945281 0.0045337683 + 1175000 0.0044831648 0.0021455185 0.0043520762 + 1175100 0.0039627481 0.0019073988 0.0038578139 + 1175200 0.0043811561 0.001962242 0.0041185923 + 1175300 0.0048536832 0.0020340511 0.0044229733 + 1175400 0.0071854 0.0023085304 0.0058450944 + 1175500 0.0035738136 0.0020844619 0.0038434483 + 1175600 0.0047537057 0.0018599165 0.004199631 + 1175700 0.0046087785 0.0022565358 0.004524919 + 1175800 0.003608897 0.0020974421 0.0038736961 + 1175900 0.0058682747 0.0019099833 0.0047982748 + 1176000 0.0042140716 0.0020400316 0.004114145 + 1176100 0.0028367717 0.0026047853 0.0040010089 + 1176200 0.0039247904 0.0024917037 0.0044234365 + 1176300 0.0044178212 0.0023121327 0.0044865291 + 1176400 0.0063007323 0.0021668743 0.005268016 + 1176500 0.0067137678 0.002511791 0.0058162236 + 1176600 0.0064439008 0.0023442913 0.0055158987 + 1176700 0.0043454855 0.0021797742 0.0043185679 + 1176800 0.0066699676 0.0021687048 0.0054515795 + 1176900 0.0044646879 0.0025751044 0.004772568 + 1177000 0.0049646868 0.0019739316 0.0044174884 + 1177100 0.0040389099 0.0017096242 0.0036975251 + 1177200 0.003622151 0.0014637519 0.0032465294 + 1177300 0.0049086432 0.0015821721 0.0039981449 + 1177400 0.0050425079 0.001588212 0.0040700713 + 1177500 0.0048134885 0.0015118057 0.0038809446 + 1177600 0.0040429095 0.0016980359 0.0036879054 + 1177700 0.0039385956 0.001792513 0.0037310405 + 1177800 0.0047410399 0.0026672846 0.0050007652 + 1177900 0.0042152656 0.0032040022 0.0052787033 + 1178000 0.0067893714 0.00264225 0.0059838937 + 1178100 0.0049332835 0.0023763172 0.0048044177 + 1178200 0.0047153427 0.0021814621 0.0045022949 + 1178300 0.0050598225 0.002273276 0.0047636574 + 1178400 0.0046547163 0.0024419408 0.004732934 + 1178500 0.0039999146 0.002360043 0.004328751 + 1178600 0.0043585039 0.0020151122 0.0041603133 + 1178700 0.0047240403 0.0019130799 0.0042381935 + 1178800 0.004702917 0.0023020386 0.0046167555 + 1178900 0.0046563223 0.0024021331 0.0046939167 + 1179000 0.0038302146 0.0025676374 0.0044528211 + 1179100 0.0031447563 0.0022251053 0.0037729151 + 1179200 0.0067890337 0.001648906 0.0049903835 + 1179300 0.0046928695 0.0014714233 0.003781195 + 1179400 0.0043117044 0.0020468868 0.0041690538 + 1179500 0.0047180082 0.0026078147 0.0049299594 + 1179600 0.0049325802 0.0025112968 0.0049390511 + 1179700 0.0044537283 0.0023470214 0.0045390908 + 1179800 0.0058057933 0.0023236233 0.0051811622 + 1179900 0.0059113528 0.0022762666 0.0051857605 + 1180000 0.0048751666 0.0020207385 0.0044202346 + 1180100 0.0065153001 0.002078508 0.0052852572 + 1180200 0.0036572209 0.0026383307 0.0044383691 + 1180300 0.0052476773 0.0026081403 0.0051909815 + 1180400 0.0050308156 0.0022195585 0.0046956631 + 1180500 0.0035333673 0.0023114156 0.0040504948 + 1180600 0.0050269523 0.0023296422 0.0048038453 + 1180700 0.0052609238 0.002271874 0.0048612349 + 1180800 0.0050794787 0.0025802622 0.0050803181 + 1180900 0.0049765515 0.0024055716 0.004854968 + 1181000 0.0040428064 0.0025953808 0.0045851995 + 1181100 0.0042606171 0.0025687202 0.0046657427 + 1181200 0.006151534 0.0023469588 0.0053746669 + 1181300 0.0045470009 0.0027506522 0.0049886292 + 1181400 0.0061411307 0.0027056729 0.0057282606 + 1181500 0.005559601 0.0028907288 0.0056270949 + 1181600 0.0054010527 0.0030904927 0.0057488233 + 1181700 0.003924612 0.0026063543 0.0045379992 + 1181800 0.0056506364 0.0024085556 0.0051897281 + 1181900 0.0055219135 0.0023109873 0.0050288041 + 1182000 0.0050977535 0.0026242636 0.0051333141 + 1182100 0.0046239035 0.0022896625 0.00456549 + 1182200 0.0054261304 0.0024874653 0.0051581388 + 1182300 0.0057122652 0.0023176154 0.0051291209 + 1182400 0.0035297551 0.0020672864 0.0038045877 + 1182500 0.0043380639 0.0021304846 0.0042656255 + 1182600 0.0055360107 0.0023689819 0.0050937372 + 1182700 0.0053939258 0.0022514377 0.0049062606 + 1182800 0.0076385 0.0024223415 0.0061819157 + 1182900 0.0061933807 0.0024085414 0.005456846 + 1183000 0.0038576832 0.0020384246 0.0039371281 + 1183100 0.0048720509 0.0019051828 0.0043031453 + 1183200 0.0043857889 0.0021550442 0.0043136747 + 1183300 0.0061474255 0.0020275333 0.0050532193 + 1183400 0.0045890387 0.0023294189 0.0045880864 + 1183500 0.0038693727 0.0023654475 0.0042699044 + 1183600 0.0045889239 0.0023057807 0.0045643916 + 1183700 0.0042600956 0.0022457181 0.0043424839 + 1183800 0.0036165496 0.0024490101 0.0042290306 + 1183900 0.0048391056 0.0029464191 0.0053281664 + 1184000 0.006098726 0.0031610052 0.0061627219 + 1184100 0.0058597202 0.0024357261 0.0053198072 + 1184200 0.0048607362 0.0023022205 0.0046946141 + 1184300 0.005359707 0.0021793013 0.0048172821 + 1184400 0.0054724808 0.0020359436 0.0047294302 + 1184500 0.0055797103 0.002066312 0.0048125756 + 1184600 0.0053655774 0.0021088614 0.0047497316 + 1184700 0.0036892969 0.0026518767 0.0044677025 + 1184800 0.0053356346 0.002567196 0.0051933286 + 1184900 0.0061788875 0.0023180459 0.0053592171 + 1185000 0.0058447252 0.0027032063 0.005579907 + 1185100 0.0055902835 0.0030042081 0.0057556758 + 1185200 0.0059475642 0.0029700023 0.0058973191 + 1185300 0.0039917029 0.0027415736 0.0047062399 + 1185400 0.0041997959 0.0026256638 0.0046927508 + 1185500 0.0046863295 0.0027929246 0.0050994774 + 1185600 0.0047237267 0.00288006 0.0052050192 + 1185700 0.0072528272 0.0019651635 0.0055349144 + 1185800 0.0041840426 0.0021515817 0.0042109152 + 1185900 0.0057158265 0.0025284239 0.0053416823 + 1186000 0.0063040535 0.0029228325 0.0060256088 + 1186100 0.0053137078 0.0037628881 0.0063782287 + 1186200 0.0071857083 0.0032657857 0.0068025015 + 1186300 0.0069703229 0.0026548214 0.0060855272 + 1186400 0.0084671967 0.0021435384 0.0063109868 + 1186500 0.0052545128 0.0021214684 0.0047076739 + 1186600 0.0037467039 0.0022997496 0.0041438304 + 1186700 0.0052586842 0.0023755827 0.0049638413 + 1186800 0.0062527521 0.0026558421 0.0057333685 + 1186900 0.0044573888 0.0024257155 0.0046195866 + 1187000 0.0048172759 0.0024944005 0.0048654035 + 1187100 0.0044660192 0.002479702 0.0046778208 + 1187200 0.0044656443 0.0019301164 0.0041280507 + 1187300 0.0045417335 0.001881184 0.0041165685 + 1187400 0.0065921165 0.0019588324 0.0052033897 + 1187500 0.0058607113 0.0024342935 0.0053188623 + 1187600 0.0040355328 0.0025110839 0.0044973227 + 1187700 0.0045418476 0.0021571739 0.0043926145 + 1187800 0.0047646178 0.0018105437 0.004155629 + 1187900 0.0041895871 0.0016638499 0.0037259123 + 1188000 0.0049848601 0.0019404814 0.0043939672 + 1188100 0.0070665253 0.0021707718 0.0056488272 + 1188200 0.0060403185 0.0019553275 0.0049282968 + 1188300 0.0049206492 0.0020737628 0.0044956448 + 1188400 0.0046795901 0.0019977318 0.0043009676 + 1188500 0.0046045242 0.001939539 0.0042058282 + 1188600 0.005464208 0.0020064595 0.0046958743 + 1188700 0.0034153815 0.0023600094 0.0040410175 + 1188800 0.0058457363 0.0025647976 0.005441996 + 1188900 0.0041502352 0.0027053406 0.0047480345 + 1189000 0.005723896 0.0029918002 0.0058090303 + 1189100 0.0065649674 0.0025979775 0.0058291724 + 1189200 0.0042801067 0.0023721368 0.0044787519 + 1189300 0.0041382398 0.002337125 0.0043739149 + 1189400 0.0046404329 0.0026720338 0.0049559969 + 1189500 0.0039087333 0.0025808407 0.0045046704 + 1189600 0.004550926 0.0026732666 0.0049131755 + 1189700 0.0047807328 0.0025633285 0.0049163455 + 1189800 0.0057705571 0.0031625825 0.0060027786 + 1189900 0.0055171036 0.0030481 0.0057635494 + 1190000 0.0062923717 0.0021359855 0.0052330122 + 1190100 0.004133751 0.0021845521 0.0042191327 + 1190200 0.0039437047 0.0020296652 0.0039707074 + 1190300 0.0036375438 0.0020591844 0.0038495379 + 1190400 0.0048065433 0.0023058623 0.0046715828 + 1190500 0.0051183712 0.0022862697 0.004805468 + 1190600 0.0046681179 0.0022795131 0.0045771024 + 1190700 0.0051319745 0.0022472257 0.0047731194 + 1190800 0.0049634575 0.0022835267 0.0047264785 + 1190900 0.0039127975 0.0020546351 0.0039804651 + 1191000 0.0042048282 0.0019849377 0.0040545016 + 1191100 0.0049943366 0.0017359821 0.0041941322 + 1191200 0.005942727 0.0016542624 0.0045791984 + 1191300 0.0050840029 0.0017188646 0.0042211473 + 1191400 0.0043717535 0.0018790101 0.0040307325 + 1191500 0.0040322799 0.0019895569 0.0039741946 + 1191600 0.0054553578 0.0020110553 0.0046961142 + 1191700 0.0057791883 0.0020567417 0.0049011859 + 1191800 0.0033698721 0.0027096618 0.0043682707 + 1191900 0.0046019103 0.0023207091 0.0045857119 + 1192000 0.0044742205 0.0018351575 0.0040373129 + 1192100 0.0043251497 0.0015115511 0.0036403357 + 1192200 0.004740744 0.001649426 0.0039827609 + 1192300 0.0039004772 0.0018879691 0.0038077352 + 1192400 0.0050399357 0.0018985476 0.004379141 + 1192500 0.0034601525 0.001935446 0.0036384899 + 1192600 0.0045518137 0.0019099518 0.0041502976 + 1192700 0.0049079663 0.0019549301 0.0043705697 + 1192800 0.0047966638 0.0018555793 0.0042164372 + 1192900 0.0049179118 0.0020964493 0.004516984 + 1193000 0.0045864601 0.0023266828 0.0045840811 + 1193100 0.0057647085 0.0021047202 0.0049420376 + 1193200 0.0048480927 0.0023131917 0.0046993623 + 1193300 0.0049842387 0.0027435018 0.0051966818 + 1193400 0.0064220453 0.0029053417 0.0060661921 + 1193500 0.0055810439 0.0028548136 0.0056017337 + 1193600 0.0056067333 0.0021960871 0.0049556512 + 1193700 0.0040057603 0.0021133201 0.0040849053 + 1193800 0.0041805897 0.0022843307 0.0043419647 + 1193900 0.0044317578 0.0024790074 0.0046602632 + 1194000 0.0055293148 0.0026354129 0.0053568725 + 1194100 0.0050302727 0.0024175057 0.0048933431 + 1194200 0.0044063859 0.0020824519 0.00425122 + 1194300 0.0050880699 0.0021112587 0.0046155431 + 1194400 0.006471084 0.0019888308 0.0051738175 + 1194500 0.0062873667 0.0023228454 0.0054174087 + 1194600 0.006277246 0.0030785424 0.0061681244 + 1194700 0.004059035 0.0034276752 0.0054254815 + 1194800 0.0037870165 0.0025435448 0.004407467 + 1194900 0.0045174309 0.0022693672 0.0044927902 + 1195000 0.0043787845 0.0017348978 0.0038900808 + 1195100 0.0064654874 0.0017118726 0.0048941047 + 1195200 0.0051781922 0.0021676791 0.0047163206 + 1195300 0.0053157284 0.0022911142 0.0049074492 + 1195400 0.0052427389 0.0018647167 0.0044451272 + 1195500 0.0051493857 0.002005871 0.0045403343 + 1195600 0.0058376264 0.0024961236 0.0053693304 + 1195700 0.0047029697 0.0026631803 0.0049779232 + 1195800 0.0056205958 0.0028577368 0.0056241238 + 1195900 0.0043862998 0.0035689755 0.0057278574 + 1196000 0.0055916089 0.0033943345 0.0061464545 + 1196100 0.0074634459 0.0025033852 0.0061768 + 1196200 0.0043615056 0.0021710353 0.0043177138 + 1196300 0.0041110056 0.002498458 0.0045218435 + 1196400 0.0056548847 0.0026845718 0.0054678354 + 1196500 0.0059698807 0.00242575 0.0053640507 + 1196600 0.0061622862 0.0028053175 0.0058383178 + 1196700 0.0052334198 0.0030421055 0.0056179293 + 1196800 0.0066818226 0.0025901899 0.0058788994 + 1196900 0.0057000851 0.0020054826 0.0048109933 + 1197000 0.0051046653 0.0023050199 0.0048174723 + 1197100 0.0045360525 0.0023315401 0.0045641285 + 1197200 0.0055532188 0.0023609728 0.0050941977 + 1197300 0.0044388026 0.0023409294 0.0045256525 + 1197400 0.0060211676 0.0022347056 0.0051982491 + 1197500 0.0057894809 0.0023731811 0.0052226912 + 1197600 0.0049909833 0.0024972521 0.0049537517 + 1197700 0.0056658842 0.0022244783 0.0050131557 + 1197800 0.0051238035 0.0020711178 0.0045929899 + 1197900 0.0039661142 0.0021037315 0.0040558034 + 1198000 0.004324354 0.0021482489 0.0042766419 + 1198100 0.0049987248 0.0024683807 0.0049286906 + 1198200 0.0048029936 0.0026816146 0.005045588 + 1198300 0.0055900875 0.0025406139 0.0052919851 + 1198400 0.0045535623 0.0021070613 0.0043482677 + 1198500 0.0073596399 0.001918237 0.0055405598 + 1198600 0.005160319 0.0018358318 0.0043756763 + 1198700 0.005459474 0.0022805033 0.0049675881 + 1198800 0.0056220775 0.0026884223 0.0054555386 + 1198900 0.0060642558 0.0029718136 0.0059565646 + 1199000 0.006120677 0.0031038696 0.0061163903 + 1199100 0.0053423798 0.0030823506 0.0057118032 + 1199200 0.0047358006 0.0024891519 0.0048200537 + 1199300 0.0043089264 0.0018196529 0.0039404526 + 1199400 0.0052287997 0.0019874939 0.0045610438 + 1199500 0.0037841167 0.0022714013 0.0041338962 + 1199600 0.0043969554 0.0024702036 0.0046343301 + 1199700 0.0037664337 0.0025157273 0.0043695188 + 1199800 0.004353897 0.00259263 0.0047355637 + 1199900 0.0044502023 0.0025772057 0.0047675397 + 1200000 0.0048397824 0.0029985254 0.0053806058 + 1200100 0.0056948663 0.0029591496 0.0057620916 + 1200200 0.0042965809 0.0024517638 0.0045664872 + 1200300 0.0085373282 0.0020721422 0.0062741084 + 1200400 0.0056517706 0.0018125884 0.0045943193 + 1200500 0.004927299 0.0017250759 0.0041502308 + 1200600 0.005041472 0.0020159676 0.0044973171 + 1200700 0.003504487 0.0023133519 0.0040382166 + 1200800 0.005954196 0.0020210513 0.0049516322 + 1200900 0.0054147844 0.0024644983 0.0051295875 + 1201000 0.005616405 0.0028034334 0.0055677577 + 1201100 0.0051184289 0.0026247314 0.0051439581 + 1201200 0.0050033258 0.0024022792 0.0048648536 + 1201300 0.0040557993 0.002162859 0.0041590727 + 1201400 0.0038828738 0.0021018947 0.0040129967 + 1201500 0.0048458476 0.0023208324 0.004705898 + 1201600 0.0036336694 0.002507891 0.0042963377 + 1201700 0.006034539 0.0019479496 0.0049180742 + 1201800 0.0048445692 0.0016942285 0.0040786649 + 1201900 0.0062859811 0.0022072477 0.005301129 + 1202000 0.0039484239 0.0026036133 0.0045469782 + 1202100 0.0039875456 0.0024622432 0.0044248633 + 1202200 0.0044094011 0.002355052 0.0045253041 + 1202300 0.0061321558 0.0022311533 0.0052493237 + 1202400 0.0047425348 0.0022765668 0.0046107832 + 1202500 0.0045876475 0.0020317304 0.0042897132 + 1202600 0.0048605446 0.0021915055 0.0045838048 + 1202700 0.0051522249 0.0024042987 0.0049401594 + 1202800 0.0039226774 0.0028017198 0.0047324125 + 1202900 0.0049999425 0.0023570894 0.0048179986 + 1203000 0.0048782059 0.0024650853 0.0048660773 + 1203100 0.0049095438 0.0023223237 0.0047387398 + 1203200 0.0050456966 0.0018854191 0.0043688479 + 1203300 0.0060288494 0.001421438 0.0043887623 + 1203400 0.0037650539 0.0017868116 0.0036399241 + 1203500 0.0039429342 0.0018061983 0.0037468612 + 1203600 0.0055651842 0.0017170103 0.0044561244 + 1203700 0.005226677 0.001281404 0.0038539091 + 1203800 0.0041952881 0.0014866532 0.0035515216 + 1203900 0.0055436826 0.0016976927 0.004426224 + 1204000 0.0057549582 0.0021212646 0.004953783 + 1204100 0.0049441603 0.002782588 0.0052160419 + 1204200 0.0038610003 0.0031707592 0.0050710953 + 1204300 0.0032411958 0.0027428717 0.0043381478 + 1204400 0.0051596955 0.0022302411 0.0047697788 + 1204500 0.0052046051 0.0017547717 0.0043164132 + 1204600 0.0058760337 0.001655476 0.0045475863 + 1204700 0.0048045011 0.0014743571 0.0038390725 + 1204800 0.0038877101 0.0017113885 0.0036248708 + 1204900 0.0043147994 0.0023967269 0.0045204173 + 1205000 0.004547354 0.0024106195 0.0046487703 + 1205100 0.0054916983 0.0022877994 0.0049907447 + 1205200 0.0046060682 0.0021972855 0.0044643347 + 1205300 0.0048808869 0.0023384042 0.0047407157 + 1205400 0.0069886147 0.0024347014 0.0058744102 + 1205500 0.005247617 0.0027896271 0.0053724386 + 1205600 0.0051197597 0.003033026 0.0055529078 + 1205700 0.0046292736 0.0029726993 0.0052511699 + 1205800 0.0041346817 0.002889224 0.0049242627 + 1205900 0.0043225411 0.0027759965 0.0049034973 + 1206000 0.004890335 0.002282187 0.0046891487 + 1206100 0.005465042 0.0022470734 0.0049368988 + 1206200 0.0057512089 0.0026436416 0.0054743147 + 1206300 0.0057687407 0.0030555779 0.0058948799 + 1206400 0.0042828759 0.0029736637 0.0050816417 + 1206500 0.0045747155 0.0024274583 0.0046790761 + 1206600 0.0041719427 0.0024792821 0.0045326601 + 1206700 0.0046936953 0.0023621667 0.0046723448 + 1206800 0.0060793932 0.0026988067 0.005691008 + 1206900 0.0054675403 0.0024406264 0.0051316813 + 1207000 0.0054572846 0.0026956574 0.0053816647 + 1207100 0.0063322018 0.0031107784 0.006227409 + 1207200 0.0052965031 0.0032640035 0.0058708761 + 1207300 0.0060661898 0.0032755208 0.0062612235 + 1207400 0.0056650965 0.002390232 0.0051785217 + 1207500 0.005873722 0.0022128592 0.0051038317 + 1207600 0.0047416481 0.0026211381 0.004954918 + 1207700 0.0035334747 0.0024777924 0.0042169245 + 1207800 0.0045617174 0.002042445 0.0042876653 + 1207900 0.0072421779 0.0020643137 0.0056288231 + 1208000 0.0049707095 0.0023341849 0.004780706 + 1208100 0.0059523597 0.0028754375 0.0058051145 + 1208200 0.0037416857 0.0030007853 0.0048423962 + 1208300 0.0039064487 0.0028588994 0.0047816046 + 1208400 0.0057560044 0.002724714 0.0055577474 + 1208500 0.0033467087 0.0025108053 0.0041580135 + 1208600 0.0043642644 0.0023749365 0.0045229729 + 1208700 0.006696901 0.0022545427 0.0055506737 + 1208800 0.0059554279 0.0022253286 0.0051565158 + 1208900 0.0063179369 0.0022312312 0.0053408408 + 1209000 0.0054485326 0.0024447725 0.0051264721 + 1209100 0.0049494661 0.0024643825 0.0049004479 + 1209200 0.0052579208 0.0026074309 0.0051953138 + 1209300 0.0058546341 0.0026915776 0.0055731553 + 1209400 0.0059847835 0.002375609 0.0053212446 + 1209500 0.0044756146 0.0024801069 0.0046829485 + 1209600 0.0049061497 0.0025211221 0.0049358677 + 1209700 0.0055479769 0.0022117562 0.0049424011 + 1209800 0.0050061942 0.0024196658 0.004883652 + 1209900 0.0036959163 0.002582736 0.0044018198 + 1210000 0.0042293154 0.0028066588 0.004888275 + 1210100 0.0035338903 0.0025379151 0.0042772518 + 1210200 0.0076621988 0.0020594973 0.0058307358 + 1210300 0.006318384 0.0025595049 0.0056693345 + 1210400 0.0048662291 0.0029147448 0.0053098419 + 1210500 0.0060016782 0.0026292062 0.0055831572 + 1210600 0.0049176744 0.0024200584 0.0048404763 + 1210700 0.0051608246 0.0028653836 0.0054054769 + 1210800 0.0051235871 0.0023827098 0.0049044753 + 1210900 0.0039601648 0.0020561345 0.0040052782 + 1211000 0.004889577 0.0021050262 0.0045116149 + 1211100 0.003849822 0.0023847973 0.0042796315 + 1211200 0.0059160069 0.0019227733 0.0048345579 + 1211300 0.004302355 0.0023200618 0.0044376272 + 1211400 0.0052592455 0.002718649 0.0053071839 + 1211500 0.0058097349 0.0026406223 0.0055001012 + 1211600 0.0054613147 0.0029309485 0.0056189393 + 1211700 0.0047386593 0.0029021282 0.0052344371 + 1211800 0.0045396334 0.0028571666 0.0050915174 + 1211900 0.0049293006 0.0026905359 0.0051166761 + 1212000 0.0048651237 0.0029652787 0.0053598318 + 1212100 0.0062395956 0.0030240974 0.0060951483 + 1212200 0.0049007871 0.0030903527 0.0055024589 + 1212300 0.0059142767 0.0023333719 0.0052443049 + 1212400 0.005728838 0.0017663708 0.0045860333 + 1212500 0.0054478209 0.0019140842 0.0045954335 + 1212600 0.0053085672 0.0021288283 0.0047416387 + 1212700 0.0066388977 0.0022754933 0.0055430757 + 1212800 0.0071728326 0.0022786689 0.0058090475 + 1212900 0.0058785421 0.0019472542 0.0048405992 + 1213000 0.0046472809 0.0021778349 0.0044651685 + 1213100 0.0057780468 0.0022246784 0.0050685608 + 1213200 0.0045155899 0.0029014014 0.0051239183 + 1213300 0.0048476497 0.0029637325 0.0053496851 + 1213400 0.0073512852 0.0023502775 0.0059684882 + 1213500 0.0054109492 0.0028666653 0.0055298669 + 1213600 0.0031324996 0.0032006807 0.0047424579 + 1213700 0.0045026935 0.0030996529 0.0053158223 + 1213800 0.006016447 0.0025878049 0.0055490249 + 1213900 0.0052464865 0.0029593042 0.0055415592 + 1214000 0.0062682995 0.0035237722 0.0066089509 + 1214100 0.0054905535 0.0036058439 0.0063082257 + 1214200 0.0056817796 0.0034950392 0.00629154 + 1214300 0.004802663 0.0032925129 0.0056563235 + 1214400 0.0062047387 0.0031647131 0.0062186079 + 1214500 0.0053456069 0.0031535 0.0057845409 + 1214600 0.0035283965 0.0028929178 0.0046295505 + 1214700 0.0048994066 0.0028063808 0.0052178075 + 1214800 0.004858487 0.0026939112 0.0050851977 + 1214900 0.0059747293 0.0026882957 0.0056289828 + 1215000 0.0054461585 0.0028681759 0.0055487071 + 1215100 0.0043019055 0.0035028345 0.0056201786 + 1215200 0.0048082914 0.0032874425 0.0056540235 + 1215300 0.0057753983 0.0025592429 0.0054018217 + 1215400 0.0063689086 0.002151554 0.0052862512 + 1215500 0.0042727114 0.0021666805 0.0042696557 + 1215600 0.0046828501 0.0021832442 0.0044880845 + 1215700 0.0032781024 0.0024834746 0.0040969157 + 1215800 0.0057783419 0.002535503 0.0053795306 + 1215900 0.0044408758 0.0029748491 0.0051605926 + 1216000 0.0065501052 0.0035888902 0.0068127701 + 1216100 0.0052506151 0.0035314747 0.0061157618 + 1216200 0.0043816317 0.0025426369 0.0046992212 + 1216300 0.0062204337 0.002094104 0.0051557237 + 1216400 0.0044023282 0.0020092758 0.0041760467 + 1216500 0.0039993672 0.0020833824 0.004051821 + 1216600 0.0047463522 0.0020617051 0.0043978003 + 1216700 0.0050699222 0.0023547202 0.0048500726 + 1216800 0.0057518144 0.0024278842 0.0052588553 + 1216900 0.0045622587 0.0025186488 0.0047641355 + 1217000 0.0047771375 0.0031284465 0.0054796939 + 1217100 0.0065906273 0.002479284 0.0057231083 + 1217200 0.0069933303 0.0023088158 0.0057508456 + 1217300 0.0049322923 0.0024709939 0.0048986065 + 1217400 0.0048690159 0.0020320224 0.0044284912 + 1217500 0.0059357554 0.0018033543 0.0047248589 + 1217600 0.0062066811 0.002187672 0.0052425229 + 1217700 0.0052501451 0.00296921 0.0055532658 + 1217800 0.0049055217 0.0029142777 0.0053287142 + 1217900 0.0053914569 0.002379077 0.0050326847 + 1218000 0.0054044527 0.0020913024 0.0047513065 + 1218100 0.0043192292 0.0024267048 0.0045525755 + 1218200 0.0045400236 0.0024769657 0.0047115085 + 1218300 0.0047395202 0.0025773831 0.0049101157 + 1218400 0.0059275556 0.0023056917 0.0052231605 + 1218500 0.004136298 0.0022195036 0.0042553378 + 1218600 0.0039795584 0.0022358132 0.0041945021 + 1218700 0.0051930229 0.0023052182 0.0048611592 + 1218800 0.0055838809 0.0028242516 0.005572568 + 1218900 0.0052922197 0.002941635 0.0055463994 + 1219000 0.0056782081 0.0025639944 0.0053587375 + 1219100 0.0073217522 0.0027177935 0.0063214684 + 1219200 0.0064951577 0.0026965439 0.0058933793 + 1219300 0.0036607861 0.0026617539 0.004463547 + 1219400 0.0041885048 0.0026505068 0.0047120365 + 1219500 0.0030679166 0.0027965838 0.004306574 + 1219600 0.0051904074 0.0027523666 0.0053070202 + 1219700 0.0048290064 0.0023566697 0.0047334464 + 1219800 0.0057848814 0.0021035456 0.0049507919 + 1219900 0.0032681727 0.0023120882 0.003920642 + 1220000 0.0046546746 0.0025902241 0.0048811967 + 1220100 0.0042862267 0.0026667382 0.0047763654 + 1220200 0.0045422892 0.0028601542 0.0050958122 + 1220300 0.0051665694 0.0028299723 0.0053728931 + 1220400 0.0046243504 0.0027409923 0.0050170398 + 1220500 0.0040975276 0.0024237456 0.0044404974 + 1220600 0.0052454602 0.0023119411 0.004893691 + 1220700 0.0050795896 0.0025396096 0.0050397201 + 1220800 0.0057129892 0.0021088713 0.0049207331 + 1220900 0.0045147744 0.0018779955 0.004100111 + 1221000 0.0042333437 0.0016137135 0.0036973124 + 1221100 0.0046074074 0.0016511602 0.0039188685 + 1221200 0.0042009628 0.002302614 0.0043702753 + 1221300 0.0040306256 0.002404108 0.0043879315 + 1221400 0.0042089756 0.001996467 0.0040680721 + 1221500 0.0048265935 0.0015570101 0.003932599 + 1221600 0.0042594324 0.0019672714 0.0040637108 + 1221700 0.0049642239 0.0019786935 0.0044220225 + 1221800 0.0051294983 0.0017801083 0.0043047832 + 1221900 0.0050731472 0.0024127553 0.0049096949 + 1222000 0.0069720653 0.0027819869 0.0062135503 + 1222100 0.0047009576 0.0027660321 0.0050797846 + 1222200 0.0063094229 0.0026184044 0.0057238235 + 1222300 0.0055778362 0.00260465 0.0053499912 + 1222400 0.0050751173 0.0025146824 0.0050125917 + 1222500 0.004206964 0.0020582983 0.0041289134 + 1222600 0.0057556451 0.0022597906 0.0050926471 + 1222700 0.004443683 0.0029161554 0.0051032806 + 1222800 0.0049953291 0.0025484776 0.0050071161 + 1222900 0.0063889794 0.0022665723 0.0054111481 + 1223000 0.0037675594 0.0028607942 0.0047151399 + 1223100 0.0047193857 0.0026286743 0.0049514969 + 1223200 0.0047468908 0.0016519714 0.0039883317 + 1223300 0.0053150978 0.0015170434 0.0041330681 + 1223400 0.0057598954 0.0021115203 0.0049464688 + 1223500 0.0057183835 0.0024325882 0.0052471051 + 1223600 0.0082657698 0.0023807175 0.0064490261 + 1223700 0.0049978105 0.0029653545 0.0054252143 + 1223800 0.004919839 0.0028840716 0.0053055548 + 1223900 0.0047853847 0.0028033543 0.0051586608 + 1224000 0.0054391534 0.0028703582 0.0055474415 + 1224100 0.0058122434 0.0027146789 0.0055753925 + 1224200 0.0058374384 0.0022979286 0.0051710428 + 1224300 0.0045372962 0.0020993286 0.0043325291 + 1224400 0.0048139604 0.0021293203 0.0044986914 + 1224500 0.0040375391 0.0020698327 0.0040570589 + 1224600 0.0056507088 0.002063074 0.0048442822 + 1224700 0.0046544924 0.0020300756 0.0043209586 + 1224800 0.0058483779 0.0018757672 0.0047542656 + 1224900 0.0049266212 0.0016251179 0.0040499393 + 1225000 0.0048433937 0.0016336109 0.0040174687 + 1225100 0.0048233947 0.0017063202 0.0040803348 + 1225200 0.0068066668 0.0017354214 0.0050855777 + 1225300 0.0048150804 0.0023169682 0.0046868906 + 1225400 0.0061732895 0.0018313699 0.0048697859 + 1225500 0.0054478093 0.0017642771 0.0044456207 + 1225600 0.004515565 0.0017940164 0.0040165211 + 1225700 0.0039821238 0.0015221257 0.0034820772 + 1225800 0.0044718055 0.0015499657 0.0037509324 + 1225900 0.0039962911 0.0015641427 0.0035310672 + 1226000 0.0048457743 0.0014110059 0.0037960354 + 1226100 0.0045233952 0.001631044 0.0038574026 + 1226200 0.0073484596 0.0017745575 0.0053913775 + 1226300 0.0050418068 0.0021549454 0.0046364597 + 1226400 0.0059306339 0.0024179556 0.0053369394 + 1226500 0.0064048625 0.0022420931 0.0053944863 + 1226600 0.0045408091 0.0024521858 0.0046871152 + 1226700 0.0053824017 0.0025228679 0.0051720187 + 1226800 0.0059537017 0.0025681724 0.00549851 + 1226900 0.0055203249 0.0025305108 0.0052475457 + 1227000 0.0049075032 0.0022913688 0.0047067805 + 1227100 0.0054366991 0.0020503133 0.0047261886 + 1227200 0.0051719971 0.0019892482 0.0045348405 + 1227300 0.004280952 0.0018530044 0.0039600355 + 1227400 0.0046513473 0.0024073878 0.0046967229 + 1227500 0.0042671387 0.0024568344 0.0045570668 + 1227600 0.0042597034 0.0020765118 0.0041730845 + 1227700 0.006561945 0.0020490525 0.0052787598 + 1227800 0.006924469 0.0018717082 0.0052798453 + 1227900 0.0050009298 0.0023627638 0.0048241589 + 1228000 0.0048267229 0.002281396 0.0046570486 + 1228100 0.0069201604 0.0021534439 0.0055594604 + 1228200 0.0040663328 0.002437249 0.0044386471 + 1228300 0.0053759924 0.0022533064 0.0048993026 + 1228400 0.0069911563 0.0021034827 0.0055444425 + 1228500 0.0039183538 0.002430185 0.0043587497 + 1228600 0.0054034341 0.0019964671 0.0046559699 + 1228700 0.0060334236 0.0019935843 0.0049631599 + 1228800 0.0048584217 0.0027281079 0.0051193624 + 1228900 0.0050352251 0.0028492337 0.0053275085 + 1229000 0.0047947063 0.0025420406 0.0049019351 + 1229100 0.0065907058 0.0023499617 0.0055938247 + 1229200 0.0059306968 0.0024204175 0.0053394324 + 1229300 0.0049379314 0.0028035737 0.0052339619 + 1229400 0.0050806055 0.0023594841 0.0048600946 + 1229500 0.0059283579 0.0025266228 0.0054444864 + 1229600 0.0046827882 0.0029776205 0.0052824303 + 1229700 0.0045226829 0.0025642299 0.0047902378 + 1229800 0.0078126209 0.0023407876 0.0061860619 + 1229900 0.005102973 0.0024801823 0.0049918018 + 1230000 0.0028762766 0.0025941207 0.0040097881 + 1230100 0.0057021063 0.0021764441 0.0049829496 + 1230200 0.0060147642 0.0022411486 0.0052015403 + 1230300 0.0050250363 0.0028780631 0.0053513232 + 1230400 0.0069831912 0.0031589414 0.0065959809 + 1230500 0.0048412529 0.0031412514 0.0055240556 + 1230600 0.0055623998 0.0026360253 0.005373769 + 1230700 0.0053450739 0.002300077 0.0049308556 + 1230800 0.0043664861 0.0018254803 0.0039746102 + 1230900 0.0058788005 0.0017862477 0.0046797198 + 1231000 0.0053619382 0.0019112507 0.0045503297 + 1231100 0.005667702 0.0019270215 0.0047165936 + 1231200 0.0052366059 0.0021275956 0.0047049876 + 1231300 0.0061332731 0.0024628224 0.0054815428 + 1231400 0.005747819 0.0025994762 0.0054284809 + 1231500 0.0050520687 0.0021636921 0.0046502572 + 1231600 0.0046158516 0.0021841067 0.0044559711 + 1231700 0.0044164684 0.0024861854 0.0046599159 + 1231800 0.0050359302 0.0031316728 0.0056102947 + 1231900 0.0061090328 0.0032046378 0.0062114273 + 1232000 0.0053872939 0.0033050268 0.0059565855 + 1232100 0.005035314 0.0031471438 0.0056254624 + 1232200 0.0051782077 0.0026260737 0.0051747228 + 1232300 0.0032092317 0.0032636099 0.0048431536 + 1232400 0.0050047025 0.0035896428 0.0060528948 + 1232500 0.0053363284 0.0031602652 0.0057867394 + 1232600 0.0061990982 0.0031502771 0.0062013957 + 1232700 0.0039547315 0.0030124199 0.0049588893 + 1232800 0.0043389192 0.0024555548 0.0045911165 + 1232900 0.0046728571 0.002128154 0.0044280759 + 1233000 0.0048821114 0.0021940671 0.0045969813 + 1233100 0.0039130626 0.00234896 0.0042749205 + 1233200 0.0063319603 0.0022327233 0.005349235 + 1233300 0.0047964392 0.0021576711 0.0045184185 + 1233400 0.0060206691 0.0022781815 0.0052414795 + 1233500 0.0033723067 0.0028253178 0.004485125 + 1233600 0.0046302495 0.0029106819 0.0051896329 + 1233700 0.0049049495 0.0029237816 0.0053379364 + 1233800 0.0061409705 0.0028068974 0.0058294063 + 1233900 0.0067821285 0.0024173896 0.0057554685 + 1234000 0.0040805397 0.0024376954 0.0044460861 + 1234100 0.0040954621 0.0023895534 0.0044052887 + 1234200 0.0049732892 0.0018259751 0.0042737659 + 1234300 0.0051297195 0.0016215276 0.0041463115 + 1234400 0.003403357 0.0018033431 0.0034784329 + 1234500 0.0053329132 0.0017289161 0.0043537093 + 1234600 0.0047362568 0.0018868345 0.0042179608 + 1234700 0.0034353682 0.0025200455 0.0042108908 + 1234800 0.0053619538 0.0029337718 0.0055728584 + 1234900 0.0054469251 0.0027910671 0.0054719756 + 1235000 0.0065824869 0.0022884819 0.0055282997 + 1235100 0.0068665914 0.0016106396 0.0049902901 + 1235200 0.0054533878 0.0020016552 0.0046857445 + 1235300 0.004691804 0.0024287352 0.0047379825 + 1235400 0.005632482 0.002445846 0.0052180833 + 1235500 0.0054185427 0.0020603348 0.0047272738 + 1235600 0.0034842239 0.0020043585 0.0037192499 + 1235700 0.0056164293 0.0018251455 0.0045894818 + 1235800 0.005384175 0.002228948 0.0048789717 + 1235900 0.003913293 0.0021824128 0.0041084867 + 1236000 0.0047972269 0.0023671696 0.0047283047 + 1236100 0.0058163278 0.0025488036 0.0054115275 + 1236200 0.0049109133 0.0026593405 0.0050764307 + 1236300 0.0064137247 0.0022623216 0.0054190767 + 1236400 0.0048742713 0.0022921082 0.0046911636 + 1236500 0.0039297645 0.0022233683 0.0041575493 + 1236600 0.0048157161 0.0018914065 0.0042616418 + 1236700 0.0051133343 0.0020781277 0.0045948469 + 1236800 0.0063268304 0.0025620711 0.0056760579 + 1236900 0.0056677268 0.0030686558 0.0058582401 + 1237000 0.0056234543 0.0027688021 0.005536596 + 1237100 0.0060204752 0.0020805294 0.0050437321 + 1237200 0.0046423574 0.0019584215 0.0042433318 + 1237300 0.004471166 0.0024178469 0.0046184989 + 1237400 0.0041461934 0.0023478731 0.0043885777 + 1237500 0.0042672948 0.0022112943 0.0043116035 + 1237600 0.0061008656 0.0022907719 0.0052935417 + 1237700 0.0037166717 0.0023374851 0.0041667845 + 1237800 0.0052461219 0.0023049456 0.0048870212 + 1237900 0.0042694114 0.0022395823 0.0043409332 + 1238000 0.0042333639 0.0021542758 0.0042378846 + 1238100 0.0058909222 0.0019259586 0.0048253969 + 1238200 0.0052600495 0.0020199149 0.0046088455 + 1238300 0.0039136142 0.002278884 0.004205116 + 1238400 0.0039276346 0.0026023592 0.0045354918 + 1238500 0.005539344 0.002334869 0.0050612649 + 1238600 0.0057110005 0.0023119051 0.0051227881 + 1238700 0.00581371 0.0022243015 0.0050857369 + 1238800 0.0062743418 0.0018667249 0.0049548775 + 1238900 0.0037474317 0.001855116 0.0036995551 + 1239000 0.0048499377 0.0020325386 0.0044196173 + 1239100 0.0062714832 0.0018883841 0.0049751298 + 1239200 0.0033775076 0.0026940145 0.0043563815 + 1239300 0.0048033108 0.0026714625 0.005035592 + 1239400 0.0060498047 0.0019450109 0.0049226491 + 1239500 0.0033603561 0.0015045451 0.0031584704 + 1239600 0.0043624541 0.0014635049 0.0036106502 + 1239700 0.0037392102 0.0017988299 0.0036392224 + 1239800 0.0047230414 0.002043694 0.004368316 + 1239900 0.0061664976 0.0017709376 0.0048060106 + 1240000 0.0048525684 0.0017247608 0.0041131343 + 1240100 0.0048664626 0.0015665742 0.0039617862 + 1240200 0.0057113485 0.0017806763 0.0045917306 + 1240300 0.0055151661 0.0018243486 0.0045388444 + 1240400 0.0038944896 0.0015186488 0.0034354679 + 1240500 0.0043149892 0.0023025543 0.0044263381 + 1240600 0.0039607017 0.0021148354 0.0040642433 + 1240700 0.0053274384 0.0019414303 0.0045635289 + 1240800 0.0046485663 0.0020199191 0.0043078853 + 1240900 0.0056744884 0.0020271434 0.0048200557 + 1241000 0.004837024 0.0019919981 0.0043727208 + 1241100 0.0056279413 0.0017171797 0.0044871821 + 1241200 0.0042303405 0.0014768617 0.0035589824 + 1241300 0.0040728642 0.0020742721 0.0040788849 + 1241400 0.0049310569 0.0028123287 0.0052393332 + 1241500 0.0062907315 0.0022959924 0.0053922118 + 1241600 0.0061649672 0.0020517286 0.0050860484 + 1241700 0.0072632881 0.0020427448 0.0056176444 + 1241800 0.0045060623 0.002277954 0.0044957816 + 1241900 0.0051128134 0.002304919 0.0048213819 + 1242000 0.0046084622 0.0020342912 0.0043025188 + 1242100 0.0051847969 0.001744761 0.0042966532 + 1242200 0.0055932032 0.0017502616 0.0045031664 + 1242300 0.0035853666 0.0014742469 0.0032389195 + 1242400 0.0041875499 0.0014568165 0.0035178762 + 1242500 0.0050660687 0.0016534031 0.0041468588 + 1242600 0.0043966687 0.0018749647 0.00403895 + 1242700 0.0059062447 0.0017737252 0.004680705 + 1242800 0.0043522168 0.0017524942 0.0038946009 + 1242900 0.0039637707 0.0013373081 0.0032882265 + 1243000 0.0076667273 0.0016882676 0.0054617349 + 1243100 0.0052582797 0.0019545873 0.0045426468 + 1243200 0.0048662798 0.0018871902 0.0042823123 + 1243300 0.005814271 0.001682517 0.0045442285 + 1243400 0.0039637021 0.0020406104 0.003991495 + 1243500 0.0040489991 0.0022657198 0.0042585866 + 1243600 0.0047495083 0.0019765161 0.0043141647 + 1243700 0.0035854754 0.0021508215 0.0039155477 + 1243800 0.0040920294 0.0022962466 0.0043102923 + 1243900 0.0053196501 0.0019429551 0.0045612204 + 1244000 0.0030054573 0.0021602589 0.0036395074 + 1244100 0.0033355754 0.0027500569 0.0043917854 + 1244200 0.0052775291 0.0029715007 0.0055690346 + 1244300 0.0064058364 0.0029145613 0.0060674339 + 1244400 0.0070098065 0.0027039244 0.0061540635 + 1244500 0.0064830919 0.0026991709 0.0058900677 + 1244600 0.0052250381 0.0032123008 0.0057839992 + 1244700 0.0068761464 0.0032989401 0.0066832934 + 1244800 0.0047038862 0.0029660193 0.0052812133 + 1244900 0.0069825227 0.0019494858 0.0053861962 + 1245000 0.0051997027 0.0022563224 0.0048155511 + 1245100 0.0056507487 0.002885857 0.0056670849 + 1245200 0.0040069593 0.0031731832 0.0051453585 + 1245300 0.0046480222 0.0028963248 0.0051840232 + 1245400 0.0030465727 0.0028463494 0.0043458344 + 1245500 0.0038111168 0.0023741172 0.0042499013 + 1245600 0.0057492171 0.0022147666 0.0050444594 + 1245700 0.004326183 0.0022812967 0.0044105899 + 1245800 0.0046921199 0.0023697743 0.004679177 + 1245900 0.0048152772 0.0025547437 0.0049247629 + 1246000 0.0077692338 0.0027441203 0.00656804 + 1246100 0.0031387269 0.0033184994 0.0048633416 + 1246200 0.0048187257 0.0030776475 0.0054493641 + 1246300 0.0045439437 0.0021451121 0.0043815843 + 1246400 0.0050831372 0.0016076591 0.0041095157 + 1246500 0.0043886266 0.0015074191 0.0036674463 + 1246600 0.0036373899 0.0018362406 0.0036265184 + 1246700 0.0055368206 0.0020523228 0.0047774767 + 1246800 0.006222375 0.0025646121 0.0056271873 + 1246900 0.0052959664 0.0022625165 0.0048691249 + 1247000 0.005082019 0.0020673616 0.0045686678 + 1247100 0.0051129881 0.002669238 0.0051857868 + 1247200 0.0048525353 0.0031635051 0.0055518624 + 1247300 0.0056570351 0.0027960734 0.0055803954 + 1247400 0.0050043077 0.002881808 0.0053448657 + 1247500 0.0062550939 0.0028008668 0.0058795458 + 1247600 0.0055954371 0.0022960405 0.0050500447 + 1247700 0.0046348016 0.0024055515 0.0046867429 + 1247800 0.0060889472 0.002954424 0.0059513277 + 1247900 0.0044584938 0.0035792014 0.0057736163 + 1248000 0.0044575607 0.0035629229 0.0057568786 + 1248100 0.0069179665 0.0029516876 0.0063566242 + 1248200 0.0046141166 0.0027011071 0.0049721176 + 1248300 0.0057524725 0.0026464451 0.0054777402 + 1248400 0.0053718263 0.0025581152 0.005202061 + 1248500 0.0059708607 0.0026113909 0.0055501739 + 1248600 0.0055031282 0.0020214102 0.0047299811 + 1248700 0.0044514681 0.0021902838 0.0043812408 + 1248800 0.0064217389 0.00227167 0.0054323696 + 1248900 0.0049604042 0.0023595486 0.0048009976 + 1249000 0.0034311093 0.0020667344 0.0037554835 + 1249100 0.0044299999 0.0021673257 0.0043477163 + 1249200 0.0041251228 0.0022342742 0.0042646081 + 1249300 0.0049501894 0.0021730971 0.0046095184 + 1249400 0.0051487493 0.0021966464 0.0047307964 + 1249500 0.0052471279 0.0020765935 0.0046591643 + 1249600 0.0044894095 0.0018389406 0.0040485719 + 1249700 0.0051126388 0.0017623738 0.0042787507 + 1249800 0.0056093298 0.0019023752 0.0046632172 + 1249900 0.0058190594 0.0022496807 0.005113749 + 1250000 0.0052100519 0.0027700664 0.0053343888 + 1250100 0.0050714776 0.0024198653 0.0049159832 + 1250200 0.0044437665 0.0022467301 0.0044338964 + 1250300 0.0057923842 0.0025512052 0.0054021443 + 1250400 0.0051818043 0.0025784565 0.0051288758 + 1250500 0.0056892621 0.0025473468 0.0053475305 + 1250600 0.0052467394 0.0022839405 0.0048663201 + 1250700 0.0046108748 0.0023912268 0.0046606417 + 1250800 0.0043488034 0.0025559206 0.0046963473 + 1250900 0.0038467624 0.0023499847 0.0042433131 + 1251000 0.007154625 0.0019762438 0.0054976608 + 1251100 0.0051586617 0.0020334382 0.004572467 + 1251200 0.0049106748 0.001787422 0.0042043948 + 1251300 0.0042128616 0.0018863659 0.0039598838 + 1251400 0.0056320369 0.0019039961 0.0046760142 + 1251500 0.0052739135 0.0017944966 0.0043902509 + 1251600 0.0052197211 0.0017194333 0.0042885148 + 1251700 0.0050934763 0.0016517745 0.0041587199 + 1251800 0.0035470008 0.0022112791 0.0039570686 + 1251900 0.0057314635 0.0018934172 0.0047143719 + 1252000 0.0060271395 0.0016775045 0.0046439872 + 1252100 0.0045424927 0.0017356136 0.0039713717 + 1252200 0.0027931988 0.0021219107 0.0034966882 + 1252300 0.0056182994 0.0022779862 0.0050432429 + 1252400 0.0056368165 0.0024937588 0.0052681294 + 1252500 0.0035092861 0.0020417072 0.0037689339 + 1252600 0.0048965552 0.0019366739 0.0043466971 + 1252700 0.0045970161 0.0021699412 0.004432535 + 1252800 0.0042469065 0.0022645294 0.0043548037 + 1252900 0.0065872652 0.0026386857 0.0058808553 + 1253000 0.0040744366 0.0026695803 0.0046749671 + 1253100 0.0035305837 0.0025757127 0.0043134218 + 1253200 0.005278553 0.0022827211 0.0048807589 + 1253300 0.0032305822 0.0020802296 0.0036702817 + 1253400 0.0042337 0.0019818671 0.0040656413 + 1253500 0.0057732531 0.0021168621 0.0049583851 + 1253600 0.0057754684 0.0020946062 0.0049372196 + 1253700 0.0047540132 0.0025731901 0.004913056 + 1253800 0.0051156978 0.0022647518 0.0047826344 + 1253900 0.0056311906 0.0021559519 0.0049275535 + 1254000 0.0063498032 0.002147253 0.0052725467 + 1254100 0.005138296 0.0021362962 0.0046653013 + 1254200 0.0040551569 0.0023760812 0.0043719787 + 1254300 0.0054995277 0.0025700577 0.0052768565 + 1254400 0.0048069949 0.0022084548 0.0045743976 + 1254500 0.005098137 0.0020131971 0.0045224364 + 1254600 0.0060128383 0.0015883031 0.0045477469 + 1254700 0.0049295643 0.00153934 0.0039656099 + 1254800 0.0042052041 0.0015992443 0.0036689932 + 1254900 0.0039586186 0.0020671933 0.0040155759 + 1255000 0.0049371641 0.002478413 0.0049084235 + 1255100 0.0048608622 0.0026458685 0.0050383241 + 1255200 0.0061453869 0.002916698 0.0059413806 + 1255300 0.0045965285 0.0028031206 0.0050654745 + 1255400 0.0046503815 0.0025965393 0.004885399 + 1255500 0.0043007423 0.0025821638 0.0046989354 + 1255600 0.0048850299 0.0024757164 0.0048800671 + 1255700 0.0049696129 0.002709241 0.0051552223 + 1255800 0.0062989646 0.0021356945 0.0052359662 + 1255900 0.0059539769 0.0019223622 0.0048528352 + 1256000 0.0045916297 0.0023686365 0.0046285793 + 1256100 0.0044182886 0.0025674865 0.0047421129 + 1256200 0.0047017625 0.0025031397 0.0048172885 + 1256300 0.0052437843 0.0022174894 0.0047984145 + 1256400 0.0040477774 0.0021096928 0.0041019582 + 1256500 0.0042844041 0.0024933832 0.0046021134 + 1256600 0.0049465349 0.0027620741 0.0051966968 + 1256700 0.0045347884 0.002605662 0.0048376281 + 1256800 0.006837769 0.0018968784 0.0052623429 + 1256900 0.0054348954 0.0023096631 0.0049846506 + 1257000 0.005207694 0.0023794705 0.0049426324 + 1257100 0.0052823179 0.0022487453 0.0048486361 + 1257200 0.0064770141 0.0023939645 0.0055818699 + 1257300 0.0053783245 0.0029255245 0.0055726686 + 1257400 0.0050549823 0.0030409 0.0055288991 + 1257500 0.0041324715 0.0029288321 0.004962783 + 1257600 0.0047266029 0.0025940793 0.0049204541 + 1257700 0.0055560979 0.0024913369 0.0052259789 + 1257800 0.0046052531 0.0025721618 0.0048388099 + 1257900 0.0034831115 0.0024338562 0.0041482002 + 1258000 0.0046505908 0.0021195332 0.0044084958 + 1258100 0.0056644458 0.0019703004 0.0047582698 + 1258200 0.0042971384 0.002346211 0.0044612088 + 1258300 0.0044440161 0.0023822153 0.0045695045 + 1258400 0.0052990455 0.0021016822 0.0047098061 + 1258500 0.0056576539 0.0018780586 0.0046626852 + 1258600 0.004219213 0.0018434342 0.0039200781 + 1258700 0.0036394128 0.0018222667 0.0036135401 + 1258800 0.004814847 0.0018014152 0.0041712227 + 1258900 0.0045415771 0.0017216018 0.0039569093 + 1259000 0.00420961 0.0016719185 0.003743836 + 1259100 0.0040538659 0.0019326373 0.0039278994 + 1259200 0.0044142848 0.0019388396 0.0041114954 + 1259300 0.0042757849 0.0022871433 0.0043916312 + 1259400 0.0045743974 0.002163975 0.0044154362 + 1259500 0.0049636618 0.0020469027 0.004489955 + 1259600 0.0051178261 0.0017550119 0.0042739419 + 1259700 0.005317206 0.0019504788 0.0045675411 + 1259800 0.004644275 0.0027554542 0.0050413083 + 1259900 0.0054111317 0.0023281712 0.0049914626 + 1260000 0.0057232688 0.0021893799 0.0050063013 + 1260100 0.0043830436 0.0024390519 0.0045963311 + 1260200 0.0054093193 0.0023968841 0.0050592834 + 1260300 0.0053590466 0.002361037 0.0049986927 + 1260400 0.004983475 0.0023996042 0.0048524084 + 1260500 0.0045186173 0.0022619345 0.0044859414 + 1260600 0.004935706 0.0024519988 0.0048812916 + 1260700 0.0069236061 0.0026982906 0.006106003 + 1260800 0.0039050833 0.0033932164 0.0053152496 + 1260900 0.0047748506 0.0033624118 0.0057125336 + 1261000 0.0036806621 0.0031797897 0.0049913656 + 1261100 0.0047449439 0.0029382891 0.0052736911 + 1261200 0.0053381079 0.0028402267 0.0054675767 + 1261300 0.0058106843 0.0027167544 0.0055767006 + 1261400 0.0058224703 0.0025474059 0.005413153 + 1261500 0.0062514567 0.0021493945 0.0052262834 + 1261600 0.0047110995 0.0022597336 0.0045784779 + 1261700 0.0046377981 0.0021188633 0.0044015295 + 1261800 0.0049505124 0.0020977856 0.0045343659 + 1261900 0.0049507112 0.0019679115 0.0044045897 + 1262000 0.0038240691 0.0016356642 0.0035178232 + 1262100 0.0050936086 0.0016714183 0.0041784287 + 1262200 0.0049950233 0.0022963014 0.0047547895 + 1262300 0.004373746 0.0028051949 0.004957898 + 1262400 0.0045383375 0.0025811155 0.0048148285 + 1262500 0.00452484 0.0024290828 0.0046561525 + 1262600 0.0041354476 0.0024218344 0.00445725 + 1262700 0.005853989 0.002440528 0.0053217882 + 1262800 0.0052147304 0.0026516726 0.0052182977 + 1262900 0.0046933525 0.0028653833 0.0051753927 + 1263000 0.0058333911 0.0020919062 0.0049630284 + 1263100 0.0054319971 0.0017718889 0.00444545 + 1263200 0.0045918778 0.0020708754 0.0043309402 + 1263300 0.0065436874 0.0024577785 0.0056784997 + 1263400 0.0042695561 0.0022926194 0.0043940416 + 1263500 0.0046043795 0.0023552944 0.0046215124 + 1263600 0.0079829605 0.0024477266 0.00637684 + 1263700 0.0069154685 0.0027513823 0.0061550895 + 1263800 0.0067508055 0.0027863642 0.0061090263 + 1263900 0.0055239034 0.0028311872 0.0055499834 + 1264000 0.0047879402 0.0028762078 0.0052327721 + 1264100 0.0056683917 0.0026949404 0.005484852 + 1264200 0.0035484297 0.0025236573 0.00427015 + 1264300 0.0053283757 0.0022470143 0.0048695742 + 1264400 0.0055061698 0.0024930823 0.0052031503 + 1264500 0.0053089395 0.0025555437 0.0051685373 + 1264600 0.0053195857 0.002515013 0.0051332465 + 1264700 0.0050934444 0.0025257348 0.0050326644 + 1264800 0.006020449 0.0025010072 0.005464197 + 1264900 0.0040551729 0.0026651547 0.0046610601 + 1265000 0.0036453899 0.0029995038 0.0047937191 + 1265100 0.0049158387 0.0029827541 0.0054022685 + 1265200 0.0041132793 0.0025406002 0.0045651048 + 1265300 0.0051110744 0.0025849979 0.0051006049 + 1265400 0.0041824432 0.0027199691 0.0047785154 + 1265500 0.0045600889 0.0025880601 0.0048324789 + 1265600 0.0047966459 0.0024656017 0.0048264509 + 1265700 0.0034596971 0.0027882154 0.0044910351 + 1265800 0.0045720711 0.0025509862 0.0048013025 + 1265900 0.0045724605 0.0024609568 0.0047114647 + 1266000 0.005040599 0.0027884087 0.0052693285 + 1266100 0.0050662762 0.0031376491 0.0056312069 + 1266200 0.0058537411 0.0028142476 0.0056953858 + 1266300 0.0057455698 0.002599435 0.0054273326 + 1266400 0.0055045641 0.0028408249 0.0055501026 + 1266500 0.0039990201 0.0024595149 0.0044277826 + 1266600 0.00461609 0.0019839779 0.0042559598 + 1266700 0.0034866148 0.0021161738 0.003832242 + 1266800 0.0057803774 0.0021697168 0.0050147464 + 1266900 0.0040565361 0.0025220154 0.0045185918 + 1267000 0.0049278252 0.0023810284 0.0048064423 + 1267100 0.0054707644 0.0024038781 0.00509652 + 1267200 0.0060152213 0.0026177984 0.0055784152 + 1267300 0.0053584497 0.002756427 0.005393789 + 1267400 0.0056598022 0.0023642022 0.0051498861 + 1267500 0.0046519515 0.0022965078 0.0045861402 + 1267600 0.0052002876 0.0025536933 0.0051132098 + 1267700 0.0048159002 0.0029233821 0.005293708 + 1267800 0.0051363871 0.0031144665 0.0056425321 + 1267900 0.0067353492 0.0025061132 0.0058211679 + 1268000 0.0059195681 0.0020837816 0.004997319 + 1268100 0.006594047 0.001849905 0.0050954125 + 1268200 0.0051327808 0.0024157609 0.0049420514 + 1268300 0.0052943728 0.0022264712 0.0048322953 + 1268400 0.005993541 0.0019831158 0.0049330618 + 1268500 0.0056326254 0.0019514436 0.0047237514 + 1268600 0.0039499125 0.0022929217 0.0042370192 + 1268700 0.0052361921 0.0021682533 0.0047454416 + 1268800 0.0049608054 0.0019052075 0.0043468539 + 1268900 0.0063606922 0.001808451 0.0049391042 + 1269000 0.0062643837 0.0023635958 0.0054468471 + 1269100 0.0048398355 0.002646587 0.0050286935 + 1269200 0.0044865434 0.0024484067 0.0046566272 + 1269300 0.0051007469 0.0016509455 0.0041614694 + 1269400 0.0047343268 0.0017051754 0.0040353518 + 1269500 0.0034286278 0.0019419014 0.0036294291 + 1269600 0.0049355832 0.0018527323 0.0042819646 + 1269700 0.0042584221 0.0019872363 0.0040831784 + 1269800 0.0040515916 0.0024216859 0.0044158287 + 1269900 0.0059761258 0.0021824588 0.0051238332 + 1270000 0.0036295743 0.0019589247 0.0037453557 + 1270100 0.0035950075 0.0019579495 0.0037273673 + 1270200 0.0043299521 0.0021169968 0.0042481451 + 1270300 0.0050025103 0.002049996 0.004512169 + 1270400 0.0043042237 0.0023178162 0.0044363013 + 1270500 0.0037738014 0.0028785936 0.0047360115 + 1270600 0.0037927088 0.0028418676 0.0047085915 + 1270700 0.0051877478 0.0026212423 0.0051745869 + 1270800 0.0058296336 0.001929483 0.0047987558 + 1270900 0.0055576233 0.0020782132 0.0048136059 + 1271000 0.0055646467 0.0021814364 0.0049202859 + 1271100 0.0054844112 0.0017650436 0.0044644023 + 1271200 0.0065846853 0.0021438305 0.0053847303 + 1271300 0.0056385057 0.0025840571 0.0053592591 + 1271400 0.0057280829 0.0024865487 0.0053058395 + 1271500 0.004886054 0.002011054 0.0044159087 + 1271600 0.0060512188 0.0022867356 0.0052650698 + 1271700 0.0063150922 0.0020398351 0.0051480446 + 1271800 0.0049275685 0.0020750005 0.0045002881 + 1271900 0.0043925088 0.0018492295 0.0040111675 + 1272000 0.0034109306 0.0018990853 0.0035779027 + 1272100 0.0050414269 0.0016317041 0.0041130314 + 1272200 0.0053147333 0.0012639756 0.0038798209 + 1272300 0.0046987714 0.0018941511 0.0042068276 + 1272400 0.0047119853 0.0021988857 0.004518066 + 1272500 0.0053328811 0.0025150331 0.0051398106 + 1272600 0.003181648 0.0027299847 0.0042959521 + 1272700 0.004466158 0.0022358111 0.0044339982 + 1272800 0.0053618122 0.0025173538 0.0051563707 + 1272900 0.0051071907 0.0029809905 0.005494686 + 1273000 0.0079215528 0.0025570831 0.0064559723 + 1273100 0.0067832007 0.0022789551 0.0056175616 + 1273200 0.0071240888 0.0023297541 0.0058361416 + 1273300 0.0053444648 0.0027975617 0.0054280404 + 1273400 0.0064728327 0.0027566007 0.0059424481 + 1273500 0.0035383787 0.0027403812 0.004481927 + 1273600 0.0047614722 0.0027424797 0.0050860168 + 1273700 0.006617736 0.0025106691 0.0057678361 + 1273800 0.0055869191 0.0022897857 0.0050395974 + 1273900 0.0044439266 0.0021286204 0.0043158655 + 1274000 0.004670977 0.0020892833 0.0043882798 + 1274100 0.0052619226 0.0022288199 0.0048186725 + 1274200 0.0041433261 0.0022996886 0.004338982 + 1274300 0.0057362248 0.0020791596 0.0049024578 + 1274400 0.0050399359 0.0018140554 0.0042946489 + 1274500 0.0052982288 0.0017111172 0.0043188392 + 1274600 0.0045265376 0.0021480291 0.0043759343 + 1274700 0.0046611266 0.0021010662 0.0043952145 + 1274800 0.0044901794 0.0024020618 0.004612072 + 1274900 0.0056613569 0.0028701369 0.005656586 + 1275000 0.0051240874 0.0028076295 0.0053296412 + 1275100 0.0058942897 0.0021389463 0.005040042 + 1275200 0.0042947748 0.0021323025 0.004246137 + 1275300 0.004354236 0.0019251339 0.0040682345 + 1275400 0.0053638485 0.0016327918 0.004272811 + 1275500 0.0058947775 0.001680761 0.0045820968 + 1275600 0.0049156708 0.0021944837 0.0046139154 + 1275700 0.0052307936 0.0020638268 0.004638358 + 1275800 0.0034575477 0.0021728542 0.003874616 + 1275900 0.0042141241 0.0020820809 0.0041562201 + 1276000 0.0062024396 0.0019631955 0.0050159588 + 1276100 0.0073980567 0.0021911947 0.0058324257 + 1276200 0.0039774265 0.0025754661 0.0045331058 + 1276300 0.0036560031 0.0029517072 0.0047511462 + 1276400 0.0051564112 0.0025466854 0.0050846065 + 1276500 0.0053177837 0.0018786156 0.0044959622 + 1276600 0.0051827095 0.0019922776 0.0045431425 + 1276700 0.0034780704 0.0022344873 0.0039463501 + 1276800 0.004716774 0.0018843444 0.0042058816 + 1276900 0.0050570352 0.001809417 0.0042984265 + 1277000 0.0037538758 0.0021995103 0.004047121 + 1277100 0.0049816303 0.0019032495 0.0043551457 + 1277200 0.004983213 0.0016043514 0.0040570266 + 1277300 0.0057993078 0.0018388632 0.00469321 + 1277400 0.0054121895 0.0020686446 0.0047324566 + 1277500 0.0063470856 0.0019685343 0.0050924905 + 1277600 0.0045928007 0.0023198812 0.0045804003 + 1277700 0.0037524728 0.0023189199 0.0041658401 + 1277800 0.0049967686 0.0018566298 0.0043159768 + 1277900 0.0043745453 0.0018188709 0.0039719674 + 1278000 0.0057113769 0.0019452732 0.0047563415 + 1278100 0.0036311309 0.0021041152 0.0038913125 + 1278200 0.0059324939 0.0020339102 0.0049538095 + 1278300 0.0047406296 0.0022418237 0.0045751023 + 1278400 0.0060253826 0.0023684487 0.0053340667 + 1278500 0.0046642225 0.0026189651 0.0049146371 + 1278600 0.004553872 0.0027322041 0.004973563 + 1278700 0.0047809635 0.0024011987 0.0047543292 + 1278800 0.0057486651 0.0024757388 0.0053051599 + 1278900 0.0067195567 0.002575051 0.0058823328 + 1279000 0.0040948183 0.0038182758 0.0058336941 + 1279100 0.0038946207 0.0036643829 0.0055812665 + 1279200 0.0072258927 0.0031405014 0.0066969955 + 1279300 0.0068174985 0.0031659309 0.0065214184 + 1279400 0.0061053159 0.0030355417 0.0060405018 + 1279500 0.004688877 0.0031335263 0.0054413329 + 1279600 0.0071675036 0.0024789868 0.0060067425 + 1279700 0.006263775 0.0022177982 0.0053007499 + 1279800 0.0045300224 0.0021134042 0.0043430246 + 1279900 0.0045008738 0.0025056312 0.004720905 + 1280000 0.0053583954 0.0028613583 0.0054986935 + 1280100 0.0046997946 0.002957628 0.0052708081 + 1280200 0.004907267 0.0024774675 0.0048927629 + 1280300 0.0047536631 0.0022050035 0.0045446971 + 1280400 0.0037089641 0.0020989046 0.0039244104 + 1280500 0.0047947322 0.0020236906 0.0043835978 + 1280600 0.0041117292 0.0020881521 0.0041118938 + 1280700 0.0036913156 0.0022478487 0.0040646681 + 1280800 0.0047567017 0.0024601944 0.0048013835 + 1280900 0.0047892894 0.0025403803 0.0048976086 + 1281000 0.005272477 0.0023480616 0.0049431089 + 1281100 0.0069693048 0.0028770828 0.0063072875 + 1281200 0.0048012428 0.0035933942 0.0059565059 + 1281300 0.0063992602 0.0029399244 0.0060895603 + 1281400 0.0044154941 0.0023828678 0.0045561188 + 1281500 0.0063059825 0.0020963473 0.0052000731 + 1281600 0.0040442048 0.0022930052 0.0042835122 + 1281700 0.0034531074 0.0025446943 0.0042442706 + 1281800 0.0044081117 0.0027133779 0.0048829954 + 1281900 0.0052262143 0.0022973717 0.004869649 + 1282000 0.0057325227 0.0024108865 0.0052323625 + 1282100 0.0042601572 0.0025181884 0.0046149845 + 1282200 0.0046970373 0.0022762186 0.0045880416 + 1282300 0.0056383098 0.0019293189 0.0047044245 + 1282400 0.0045308865 0.0016641086 0.0038941543 + 1282500 0.0067451247 0.0020208918 0.0053407578 + 1282600 0.0051616023 0.0023453854 0.0048858615 + 1282700 0.0052850825 0.0021306929 0.0047319445 + 1282800 0.0048824964 0.0020056242 0.0044087279 + 1282900 0.0058424171 0.002052736 0.0049283007 + 1283000 0.0033300236 0.0022902157 0.0039292117 + 1283100 0.0037275256 0.0021245712 0.0039592127 + 1283200 0.0033683477 0.0023977189 0.0040555776 + 1283300 0.0048297605 0.0022182461 0.0045953938 + 1283400 0.0059167952 0.0018784345 0.0047906071 + 1283500 0.0045638687 0.0023414151 0.0045876942 + 1283600 0.003876711 0.0022086089 0.0041166775 + 1283700 0.0051993759 0.0020530878 0.0046121556 + 1283800 0.0045395361 0.0024056402 0.0046399432 + 1283900 0.0046082124 0.0025795085 0.004847613 + 1284000 0.0047990686 0.0026838852 0.0050459267 + 1284100 0.0050575225 0.0029242529 0.0054135023 + 1284200 0.0035328442 0.0031292177 0.0048680394 + 1284300 0.0057692335 0.0029495029 0.0057890475 + 1284400 0.0031745864 0.0027082216 0.0042707133 + 1284500 0.0054206769 0.0025489176 0.0052169071 + 1284600 0.004645629 0.002521007 0.0048075275 + 1284700 0.0061544904 0.0024854074 0.0055145706 + 1284800 0.0050361184 0.0022817812 0.0047604957 + 1284900 0.0062348715 0.0018494295 0.0049181553 + 1285000 0.0044670578 0.0023631691 0.0045617991 + 1285100 0.0042799347 0.0026086388 0.0047151692 + 1285200 0.0049891013 0.0023520548 0.0048076281 + 1285300 0.0051783456 0.0023386651 0.0048873821 + 1285400 0.0047376089 0.0023881348 0.0047199266 + 1285500 0.0033746947 0.0022948654 0.003955848 + 1285600 0.0046940055 0.002847982 0.0051583128 + 1285700 0.0068698929 0.0027773559 0.0061586313 + 1285800 0.0040313206 0.0028422471 0.0048264126 + 1285900 0.005506686 0.0028761195 0.0055864415 + 1286000 0.0045898071 0.0029338249 0.0051928706 + 1286100 0.00658258 0.0032045186 0.0064443822 + 1286200 0.0042137031 0.003406107 0.005480039 + 1286300 0.0074269206 0.002842744 0.0064981815 + 1286400 0.0060836832 0.0025135825 0.0055078953 + 1286500 0.0062235528 0.0021569168 0.0052200717 + 1286600 0.0047204968 0.0019203679 0.0042437374 + 1286700 0.0048782109 0.0019823801 0.0043833745 + 1286800 0.0050043884 0.0019916719 0.0044547693 + 1286900 0.0037597059 0.0017507089 0.0036011891 + 1287000 0.0042069558 0.001614616 0.0036852271 + 1287100 0.0042538718 0.0019437723 0.0040374748 + 1287200 0.0044058677 0.0018963357 0.0040648487 + 1287300 0.0050141195 0.0020600429 0.0045279298 + 1287400 0.007097331 0.0021476597 0.0056408773 + 1287500 0.0052963561 0.002173356 0.0047801563 + 1287600 0.0059607217 0.0023285637 0.0052623564 + 1287700 0.0053243892 0.0025510062 0.0051716041 + 1287800 0.0038535522 0.002494659 0.0043913292 + 1287900 0.0033892471 0.0024845925 0.0041527376 + 1288000 0.005131566 0.0024074442 0.0049331368 + 1288100 0.0045114191 0.0026676725 0.0048881366 + 1288200 0.0052135592 0.0025527301 0.0051187788 + 1288300 0.0050588333 0.0024200461 0.0049099406 + 1288400 0.0053009801 0.0025649907 0.0051740668 + 1288500 0.0057393573 0.0022525462 0.0050773862 + 1288600 0.0049666894 0.0026424966 0.005087039 + 1288700 0.0040196737 0.002179605 0.0041580381 + 1288800 0.0045686161 0.0021262386 0.0043748543 + 1288900 0.0059339268 0.0021972359 0.0051178405 + 1289000 0.004468351 0.0021195238 0.0043187903 + 1289100 0.0043394492 0.0020349185 0.0041707411 + 1289200 0.0053606884 0.0021730514 0.0048115152 + 1289300 0.0057074751 0.002165052 0.0049741999 + 1289400 0.0043281216 0.002287874 0.0044181213 + 1289500 0.0045617606 0.0020704133 0.0043156548 + 1289600 0.0044477454 0.0019933791 0.0041825038 + 1289700 0.00460785 0.0024486703 0.0047165965 + 1289800 0.0048085899 0.00322119 0.0055879178 + 1289900 0.0065790403 0.0029991519 0.0062372733 + 1290000 0.0054143121 0.002548459 0.0052133157 + 1290100 0.0044625576 0.0021762822 0.0043726973 + 1290200 0.0049660465 0.0022061273 0.0046503533 + 1290300 0.0047391579 0.0024521573 0.0047847116 + 1290400 0.0040638085 0.0025546914 0.0045548472 + 1290500 0.0046483403 0.0022415116 0.0045293666 + 1290600 0.0044889899 0.0022961169 0.0045055416 + 1290700 0.0056500512 0.0024032826 0.0051841672 + 1290800 0.0047817294 0.0024783056 0.0048318131 + 1290900 0.0060378197 0.0028119659 0.0057837053 + 1291000 0.0034371297 0.0032017775 0.0048934898 + 1291100 0.0054721077 0.002889636 0.005582939 + 1291200 0.0059084751 0.0036041555 0.006512233 + 1291300 0.0041781167 0.0033123339 0.0053687507 + 1291400 0.0051269012 0.0025423314 0.0050657281 + 1291500 0.0058069859 0.0023954565 0.0052535824 + 1291600 0.0047460208 0.0019939535 0.0043298856 + 1291700 0.0054818847 0.0020256229 0.004723738 + 1291800 0.0049209213 0.0021047392 0.0045267552 + 1291900 0.0038323977 0.0025379841 0.0044242424 + 1292000 0.0041957748 0.0028009091 0.004866017 + 1292100 0.0048425059 0.0027884001 0.005171821 + 1292200 0.0050724223 0.0025507607 0.0050473436 + 1292300 0.0058549921 0.0027376293 0.0056193832 + 1292400 0.0041864802 0.0029220243 0.0049825575 + 1292500 0.0062658254 0.0026389121 0.0057228731 + 1292600 0.004551969 0.0023340603 0.0045744825 + 1292700 0.0027501078 0.0022530854 0.0036066541 + 1292800 0.0048623992 0.0025278745 0.0049210866 + 1292900 0.0045671777 0.0026507808 0.0048986886 + 1293000 0.0057439032 0.0024233075 0.0052503849 + 1293100 0.005429474 0.0027343692 0.0054066884 + 1293200 0.0060277594 0.0034896714 0.0064564592 + 1293300 0.0059068623 0.0034744703 0.0063817541 + 1293400 0.0066422751 0.0036111321 0.0068803769 + 1293500 0.0047354674 0.0039735676 0.0063043055 + 1293600 0.0051935471 0.0037894625 0.0063456614 + 1293700 0.0040164113 0.0031665327 0.0051433602 + 1293800 0.0052525001 0.0030764463 0.0056616612 + 1293900 0.0044036528 0.0034413389 0.0056087618 + 1294000 0.0052936505 0.0033656172 0.0059710858 + 1294100 0.0061381434 0.0034749766 0.0064960941 + 1294200 0.006492196 0.0034673699 0.0066627476 + 1294300 0.0056572717 0.0034818957 0.0062663341 + 1294400 0.0047006392 0.0032827255 0.0055963213 + 1294500 0.0051416442 0.0031232448 0.0056538978 + 1294600 0.0054316666 0.0032293454 0.0059027438 + 1294700 0.0055384042 0.0037427341 0.0064686674 + 1294800 0.0040915284 0.0032730166 0.0052868157 + 1294900 0.006305602 0.0027902714 0.0058938099 + 1295000 0.004393685 0.0029290562 0.005091573 + 1295100 0.0059322492 0.00242134 0.0053411189 + 1295200 0.004248364 0.0021133018 0.0042042935 + 1295300 0.0037471151 0.0020200234 0.0038643066 + 1295400 0.0060609953 0.002303015 0.0052861611 + 1295500 0.0041041811 0.0029753769 0.0049954035 + 1295600 0.0041586084 0.002605182 0.0046519971 + 1295700 0.0050353743 0.0026034508 0.0050817991 + 1295800 0.004677413 0.0030627162 0.0053648804 + 1295900 0.0048300242 0.0028354998 0.0052127773 + 1296000 0.0044091701 0.0026455852 0.0048157236 + 1296100 0.0054386987 0.0023943634 0.0050712229 + 1296200 0.0057305681 0.002232791 0.005053305 + 1296300 0.0044158736 0.0021870901 0.0043605278 + 1296400 0.0043033886 0.002362077 0.004480151 + 1296500 0.0059207468 0.0022883869 0.0052025045 + 1296600 0.0050357011 0.0024197885 0.0048982977 + 1296700 0.0060655325 0.0026637064 0.0056490857 + 1296800 0.0037470248 0.0026839864 0.0045282251 + 1296900 0.0043673578 0.0027971168 0.0049466757 + 1297000 0.0051213985 0.0030055743 0.0055262626 + 1297100 0.0056574441 0.0028997721 0.0056842953 + 1297200 0.0063765342 0.0029016399 0.0060400903 + 1297300 0.0047641287 0.0030354571 0.0053803017 + 1297400 0.0050932022 0.0029149012 0.0054217117 + 1297500 0.00449938 0.0029962842 0.0052108228 + 1297600 0.0041658426 0.0026701866 0.0047205623 + 1297700 0.0058137762 0.0024958682 0.0053573361 + 1297800 0.0057984879 0.0027422346 0.0055961779 + 1297900 0.0067753669 0.0027628241 0.006097575 + 1298000 0.0054299022 0.003073784 0.0057463141 + 1298100 0.0065807123 0.0031085375 0.0063474818 + 1298200 0.0037701776 0.0032062489 0.0050618832 + 1298300 0.0043165386 0.0027548725 0.0048794188 + 1298400 0.0044980656 0.0024642115 0.0046781032 + 1298500 0.0047260102 0.0023428191 0.0046689022 + 1298600 0.0048116558 0.0025882173 0.0049564541 + 1298700 0.0050923882 0.0026441548 0.0051505646 + 1298800 0.0048686081 0.0025284962 0.0049247643 + 1298900 0.0036211867 0.0024152399 0.0041975427 + 1299000 0.0046556492 0.0026222504 0.0049137028 + 1299100 0.0037355744 0.0032150672 0.0050536703 + 1299200 0.0035768059 0.0030787989 0.004839258 + 1299300 0.0053671783 0.0024380877 0.0050797458 + 1299400 0.0059644217 0.0020960634 0.0050316772 + 1299500 0.0045918432 0.0028779847 0.0051380325 + 1299600 0.0039368499 0.0033352742 0.0052729425 + 1299700 0.0042714487 0.0030103902 0.0051127438 + 1299800 0.0068528192 0.0023517461 0.0057246181 + 1299900 0.0043885127 0.0027200292 0.0048800003 + 1300000 0.003768868 0.0028113159 0.0046663056 + 1300100 0.0059245572 0.0024384309 0.0053544239 + 1300200 0.0064339075 0.0023236078 0.0054902967 + 1300300 0.0046448107 0.0023967682 0.004682886 + 1300400 0.0040101824 0.0023205396 0.0042943012 + 1300500 0.0037961049 0.002396932 0.0042653274 + 1300600 0.0054976713 0.0020235282 0.0047294133 + 1300700 0.0060000111 0.0020999905 0.005053121 + 1300800 0.0050196614 0.0020750363 0.0045456509 + 1300900 0.0043008489 0.0025221597 0.0046389838 + 1301000 0.0062017218 0.0024325598 0.0054849697 + 1301100 0.0043537532 0.0024009547 0.0045438175 + 1301200 0.0054389466 0.0027406919 0.0054176734 + 1301300 0.0048517218 0.003066513 0.0054544699 + 1301400 0.005158896 0.0031496419 0.005688786 + 1301500 0.0056116323 0.0031480319 0.0059100071 + 1301600 0.0054965186 0.0025869804 0.0052922981 + 1301700 0.0055449799 0.0023206745 0.0050498443 + 1301800 0.0064846481 0.0021104516 0.0053021143 + 1301900 0.0053267686 0.0022865177 0.0049082866 + 1302000 0.0055357332 0.0023445507 0.0050691694 + 1302100 0.005763795 0.0020047945 0.0048416623 + 1302200 0.004783243 0.0021826516 0.004536904 + 1302300 0.0047754468 0.0026448889 0.0049953041 + 1302400 0.004546383 0.0025350023 0.0047726751 + 1302500 0.0058473582 0.0024585463 0.0053365429 + 1302600 0.0041272355 0.0024621638 0.0044935375 + 1302700 0.0046004316 0.0024965625 0.0047608374 + 1302800 0.0045380373 0.0026276196 0.0048611848 + 1302900 0.0054953608 0.0026995854 0.0054043333 + 1303000 0.0043699441 0.0028008981 0.00495173 + 1303100 0.0040954586 0.0030291805 0.005044914 + 1303200 0.0035125728 0.0029663074 0.0046951518 + 1303300 0.0042431771 0.0028252291 0.0049136678 + 1303400 0.0074340609 0.0026299938 0.0062889457 + 1303500 0.0055745761 0.003310817 0.0060545537 + 1303600 0.0073254848 0.0034947017 0.0071002138 + 1303700 0.0050643122 0.0031423149 0.005634906 + 1303800 0.0044820184 0.0028653651 0.0050713585 + 1303900 0.0045885385 0.0024539978 0.0047124191 + 1304000 0.0084826928 0.0019904523 0.0061655276 + 1304100 0.0052084152 0.0025605624 0.0051240793 + 1304200 0.0056270291 0.0026454658 0.0054150192 + 1304300 0.007400386 0.002433864 0.0060762415 + 1304400 0.0046604429 0.0026326027 0.0049264144 + 1304500 0.005822853 0.0024866439 0.0053525793 + 1304600 0.0031481623 0.0027161534 0.0042656395 + 1304700 0.0058173352 0.0030626962 0.0059259158 + 1304800 0.0060862358 0.0035542282 0.0065497974 + 1304900 0.0050437617 0.003138996 0.0056214725 + 1305000 0.0065470346 0.0022380795 0.0054604481 + 1305100 0.0039205093 0.0021924998 0.0041221254 + 1305200 0.0055630967 0.002435391 0.0051734777 + 1305300 0.0045882451 0.002339628 0.0045979049 + 1305400 0.0061106844 0.0023667011 0.0053743035 + 1305500 0.0053404839 0.0027479987 0.0053765181 + 1305600 0.0062526232 0.002721084 0.005798547 + 1305700 0.0059279071 0.0027950514 0.0057126931 + 1305800 0.004560161 0.0027901674 0.0050346216 + 1305900 0.0047055063 0.0026752888 0.0049912801 + 1306000 0.007338262 0.0016913705 0.0053031713 + 1306100 0.0047535546 0.0013143558 0.003653996 + 1306200 0.0052092351 0.0015010486 0.0040649689 + 1306300 0.0058095792 0.0018312082 0.0046906105 + 1306400 0.0069786832 0.00232095 0.0057557706 + 1306500 0.0046207661 0.0032948764 0.0055691597 + 1306600 0.0055140246 0.0030919796 0.0058059136 + 1306700 0.0065764207 0.0023697816 0.0056066137 + 1306800 0.0045392531 0.0018709543 0.0041051179 + 1306900 0.0040942316 0.0019885625 0.0040036921 + 1307000 0.0052103017 0.0020131381 0.0045775834 + 1307100 0.0058676527 0.0017661021 0.0046540874 + 1307200 0.0049442514 0.0016888104 0.0041223091 + 1307300 0.0045717124 0.0020899035 0.0043400432 + 1307400 0.0039920523 0.002435565 0.0044004033 + 1307500 0.0060063378 0.0021375068 0.0050937512 + 1307600 0.0060199533 0.0020569854 0.0050199311 + 1307700 0.0046231946 0.0020313531 0.0043068317 + 1307800 0.0050004791 0.0021348384 0.0045960118 + 1307900 0.0037554687 0.0020515868 0.0038999816 + 1308000 0.0057055238 0.0017762873 0.0045844748 + 1308100 0.0055149196 0.0023448766 0.0050592511 + 1308200 0.0026780012 0.0023355951 0.0036536738 + 1308300 0.0030838378 0.0019526396 0.003470466 + 1308400 0.0045971584 0.0019360729 0.0041987368 + 1308500 0.0041934781 0.0017894489 0.0038534264 + 1308600 0.0045708764 0.0018539057 0.004103634 + 1308700 0.0043452994 0.0019696363 0.0041083383 + 1308800 0.0047085756 0.0022124789 0.0045299809 + 1308900 0.0039613786 0.0027255954 0.0046753364 + 1309000 0.0047247976 0.0023736481 0.0046991344 + 1309100 0.0068494825 0.0020287396 0.0053999693 + 1309200 0.0044782748 0.0026413017 0.0048454526 + 1309300 0.0047270579 0.0031968762 0.005523475 + 1309400 0.0057266139 0.0035973973 0.0064159651 + 1309500 0.0041828316 0.003291709 0.0053504465 + 1309600 0.0054024742 0.0035236263 0.0061826566 + 1309700 0.0052078644 0.0030799686 0.0056432143 + 1309800 0.0045140063 0.0025666216 0.0047883591 + 1309900 0.0059958341 0.0021452002 0.0050962748 + 1310000 0.0069793978 0.0024413334 0.0058765057 + 1310100 0.0056070287 0.0026906491 0.0054503585 + 1310200 0.0048434671 0.0029137362 0.0052976301 + 1310300 0.0062778246 0.0026703504 0.0057602172 + 1310400 0.006071847 0.0028168275 0.0058053147 + 1310500 0.0067489707 0.0028337436 0.0061555026 + 1310600 0.007475709 0.0025291558 0.0062086063 + 1310700 0.0051887441 0.0026284933 0.0051823283 + 1310800 0.0045275906 0.0027972408 0.0050256643 + 1310900 0.0046692031 0.0025675546 0.0048656781 + 1311000 0.0043596462 0.0022842106 0.004429974 + 1311100 0.0035320272 0.0025668812 0.0043053009 + 1311200 0.0057906906 0.0025185278 0.0053686333 + 1311300 0.0037009786 0.0031535751 0.0049751505 + 1311400 0.0055240643 0.0032141645 0.0059330399 + 1311500 0.006199371 0.0031596062 0.0062108591 + 1311600 0.003329672 0.0030387867 0.0046776096 + 1311700 0.0057515699 0.002550865 0.0053817158 + 1311800 0.0054110027 0.0024977241 0.005160952 + 1311900 0.0051678292 0.0028211448 0.0053646858 + 1312000 0.0049248792 0.0023100887 0.0047340528 + 1312100 0.005138329 0.0019058932 0.0044349145 + 1312200 0.0056018458 0.0018439299 0.0046010884 + 1312300 0.0037697347 0.0020287042 0.0038841206 + 1312400 0.0042390036 0.0018391418 0.0039255264 + 1312500 0.0064916976 0.001863998 0.0050591304 + 1312600 0.0046045344 0.0018124273 0.0040787215 + 1312700 0.0047342259 0.0017493588 0.0040794857 + 1312800 0.0067449634 0.0018377602 0.0051575469 + 1312900 0.0028545464 0.0023323374 0.0037373095 + 1313000 0.0053151095 0.0022103283 0.0048263588 + 1313100 0.0044065935 0.002051426 0.0042202962 + 1313200 0.0075554482 0.0016271142 0.0053458114 + 1313300 0.0047366224 0.0019172189 0.0042485253 + 1313400 0.0044306776 0.0021476983 0.0043284224 + 1313500 0.0061965916 0.0015903403 0.0046402252 + 1313600 0.0068553284 0.0017869116 0.0051610186 + 1313700 0.0049465026 0.0024805189 0.0049151256 + 1313800 0.0054857268 0.0028937752 0.0055937813 + 1313900 0.0056622629 0.0034574039 0.0062442989 + 1314000 0.0037030747 0.0034830954 0.0053057025 + 1314100 0.0047692551 0.0031172735 0.0054646412 + 1314200 0.0056901657 0.0029704063 0.0057710347 + 1314300 0.0063122371 0.0032407872 0.0063475914 + 1314400 0.0056075705 0.0035887562 0.0063487323 + 1314500 0.0053650959 0.0031483364 0.0057889696 + 1314600 0.0052072915 0.0030188315 0.0055817953 + 1314700 0.0062337027 0.0024933201 0.0055614706 + 1314800 0.0064365921 0.0024060224 0.0055740326 + 1314900 0.0067234344 0.0023149008 0.0056240912 + 1315000 0.0041264321 0.00272503 0.0047560083 + 1315100 0.0049424593 0.0024650781 0.0048976948 + 1315200 0.0049686655 0.001992144 0.004437659 + 1315300 0.0037395031 0.0018829724 0.003723509 + 1315400 0.0059291982 0.0021299462 0.0050482235 + 1315500 0.0060301626 0.0022738278 0.0052417985 + 1315600 0.0057186969 0.0020893828 0.004904054 + 1315700 0.0051709052 0.0021579749 0.0047030298 + 1315800 0.0056809928 0.0022469975 0.0050431111 + 1315900 0.0070911131 0.0030993114 0.0065894686 + 1316000 0.0042614548 0.0037581146 0.0058555493 + 1316100 0.0053223669 0.0033239738 0.0059435762 + 1316200 0.0044347653 0.0029033682 0.0050861042 + 1316300 0.0048387611 0.0030019247 0.0053835024 + 1316400 0.0051028791 0.0029407412 0.0054523145 + 1316500 0.0052016632 0.0025437415 0.0051039351 + 1316600 0.0058263949 0.0023069911 0.0051746699 + 1316700 0.0051837243 0.0021521715 0.0047035358 + 1316800 0.0051429103 0.0017174975 0.0042487737 + 1316900 0.0058631739 0.0016150508 0.0045008317 + 1317000 0.0026652517 0.0017315117 0.0030433153 + 1317100 0.0041840162 0.0014016511 0.0034609716 + 1317200 0.0053293793 0.0016271594 0.0042502133 + 1317300 0.0053388055 0.0018136621 0.0044413554 + 1317400 0.0058272524 0.0023568706 0.0052249714 + 1317500 0.0051545741 0.0026620327 0.0051990496 + 1317600 0.0047413564 0.0027629361 0.0050965725 + 1317700 0.0065536234 0.0023071912 0.0055328027 + 1317800 0.0046792913 0.0020389067 0.0043419954 + 1317900 0.0031201792 0.0020734899 0.0036092031 + 1318000 0.005149867 0.0020842421 0.0046189423 + 1318100 0.0047969315 0.0019927003 0.00435369 + 1318200 0.0056453831 0.0024611329 0.0052397199 + 1318300 0.0053774902 0.0027212341 0.0053679676 + 1318400 0.0053207693 0.0029979774 0.0056167935 + 1318500 0.0057372411 0.0033003627 0.0061241611 + 1318600 0.0061042584 0.002913958 0.0059183977 + 1318700 0.007015572 0.0028761232 0.0063291 + 1318800 0.0057081741 0.0034346216 0.0062441136 + 1318900 0.0066331454 0.0033586488 0.0066234001 + 1319000 0.0041465587 0.0025922133 0.0046330976 + 1319100 0.0048189824 0.0018087897 0.0041806325 + 1319200 0.0036655333 0.0020956462 0.0038997758 + 1319300 0.0045065738 0.002351358 0.0045694373 + 1319400 0.0040080999 0.0020148305 0.0039875671 + 1319500 0.005104674 0.0020849562 0.0045974129 + 1319600 0.00455091 0.0025719486 0.0048118496 + 1319700 0.0066171059 0.0026222059 0.0058790627 + 1319800 0.0048628852 0.0022117022 0.0046051535 + 1319900 0.0050614986 0.0019248779 0.0044160842 + 1320000 0.003943608 0.0019473083 0.0038883029 + 1320100 0.0052519451 0.0016771373 0.0042620791 + 1320200 0.0036819701 0.0017120596 0.0035242792 + 1320300 0.0049519753 0.0017610079 0.0041983082 + 1320400 0.0063325692 0.0017029411 0.0048197525 + 1320500 0.0037011647 0.0019024995 0.0037241665 + 1320600 0.0039251523 0.0019570078 0.0038889187 + 1320700 0.0042562158 0.0021416397 0.0042364959 + 1320800 0.0047350601 0.0017844097 0.0041149471 + 1320900 0.0046642747 0.0017854068 0.0040811045 + 1321000 0.0047419795 0.0017061329 0.0040400759 + 1321100 0.0045322508 0.0019672793 0.0041979965 + 1321200 0.0053761423 0.0023179918 0.0049640619 + 1321300 0.0054919145 0.0030855144 0.0057885661 + 1321400 0.0051065256 0.0025923166 0.0051056847 + 1321500 0.0057185124 0.0022320493 0.0050466296 + 1321600 0.0053556358 0.0020282938 0.0046642708 + 1321700 0.0050163767 0.0019144713 0.0043834692 + 1321800 0.0057312791 0.0021584466 0.0049793105 + 1321900 0.0032050164 0.0026366459 0.0042141149 + 1322000 0.0055565752 0.0020955612 0.0048304381 + 1322100 0.0047017771 0.0020441572 0.0043583131 + 1322200 0.0051267235 0.0021450647 0.0046683739 + 1322300 0.0049144174 0.0025233456 0.0049421604 + 1322400 0.0056515298 0.0027080528 0.0054896651 + 1322500 0.0064864075 0.0029686884 0.0061612172 + 1322600 0.0053066572 0.0028461152 0.0054579856 + 1322700 0.0039507227 0.0027285587 0.0046730551 + 1322800 0.0036695756 0.0022288103 0.0040349296 + 1322900 0.0057442364 0.0020861196 0.0049133609 + 1323000 0.0055424339 0.0023106332 0.0050385499 + 1323100 0.0073770114 0.0024784357 0.0061093085 + 1323200 0.0046858429 0.0031405469 0.0054468602 + 1323300 0.0045944551 0.002541018 0.0048023513 + 1323400 0.004440947 0.002170558 0.0043563366 + 1323500 0.0064512259 0.0022174467 0.0053926595 + 1323600 0.0046714936 0.0021286126 0.0044278634 + 1323700 0.0040557481 0.0025648095 0.0045609981 + 1323800 0.0041366055 0.0028280897 0.0048640752 + 1323900 0.0046313879 0.0025866559 0.0048661672 + 1324000 0.0058344341 0.002253259 0.0051248945 + 1324100 0.0051281686 0.0022260071 0.0047500276 + 1324200 0.0051682181 0.0021981356 0.0047418679 + 1324300 0.0052056511 0.0022916874 0.0048538438 + 1324400 0.0063661328 0.0027878465 0.0059211775 + 1324500 0.0026084753 0.0031246163 0.0044084752 + 1324600 0.0044339628 0.002260094 0.004442435 + 1324700 0.0043842584 0.0019247253 0.0040826025 + 1324800 0.0043687614 0.0022468111 0.0043970608 + 1324900 0.00477968 0.0020120918 0.0043645905 + 1325000 0.0038528783 0.001908425 0.0038047636 + 1325100 0.0050663179 0.0018407952 0.0043343735 + 1325200 0.0052124509 0.0023220547 0.0048875579 + 1325300 0.0047631215 0.0025121856 0.0048565345 + 1325400 0.0049795837 0.0026038404 0.0050547292 + 1325500 0.0043293682 0.0026205252 0.0047513861 + 1325600 0.0051293691 0.002583058 0.0051076694 + 1325700 0.0042646706 0.00250869 0.0046077076 + 1325800 0.0053514765 0.0025171968 0.0051511267 + 1325900 0.0050021941 0.0024079516 0.004869969 + 1326000 0.0059203524 0.0024589928 0.0053729163 + 1326100 0.0050275623 0.0025896645 0.0050641679 + 1326200 0.0047617544 0.0026779229 0.0050215989 + 1326300 0.0052809854 0.002694689 0.005293924 + 1326400 0.0055135295 0.0022262695 0.0049399598 + 1326500 0.0062685607 0.0017841321 0.0048694393 + 1326600 0.0048718347 0.002247982 0.0046458381 + 1326700 0.0052548598 0.0025312235 0.0051175998 + 1326800 0.0063437355 0.0025551822 0.0056774895 + 1326900 0.0054866831 0.0024695788 0.0051700556 + 1327000 0.0057006648 0.0025224 0.005328196 + 1327100 0.0049433825 0.002028517 0.004461588 + 1327200 0.0037781347 0.0019162142 0.0037757649 + 1327300 0.0065075487 0.0023244163 0.0055273504 + 1327400 0.0043281477 0.0023801189 0.0045103791 + 1327500 0.0048476497 0.0022380758 0.0046240284 + 1327600 0.0045038197 0.0023607248 0.0045774486 + 1327700 0.0045577459 0.0019454542 0.0041887198 + 1327800 0.0046744398 0.001850953 0.0041516538 + 1327900 0.0038772998 0.0018377931 0.0037461516 + 1328000 0.0056081745 0.0023089467 0.0050692201 + 1328100 0.0051517213 0.0030423454 0.0055779583 + 1328200 0.0038118882 0.0031075606 0.0049837244 + 1328300 0.005465965 0.0020194938 0.0047097735 + 1328400 0.0075787021 0.0015945698 0.0053247123 + 1328500 0.003871659 0.0018776257 0.0037832078 + 1328600 0.0054353162 0.0018082549 0.0044834496 + 1328700 0.0058315354 0.0020274142 0.004897623 + 1328800 0.0062191771 0.002351228 0.0054122292 + 1328900 0.0058328645 0.0028326879 0.005703551 + 1329000 0.0046802594 0.0028179537 0.0051215189 + 1329100 0.004332659 0.002690386 0.0048228666 + 1329200 0.0059384403 0.0022566001 0.0051794262 + 1329300 0.0043365833 0.0026216747 0.0047560869 + 1329400 0.0046650372 0.0029482665 0.0052443395 + 1329500 0.0048772389 0.0028800418 0.0052805578 + 1329600 0.0043845708 0.0024246571 0.004582688 + 1329700 0.0048480676 0.0022184158 0.004604574 + 1329800 0.0040220434 0.0026203236 0.0045999231 + 1329900 0.004612224 0.0031113284 0.0053814074 + 1330000 0.0040008699 0.0036182808 0.0055874589 + 1330100 0.0048128759 0.00357724 0.0059460774 + 1330200 0.0050286226 0.0034518272 0.0059268524 + 1330300 0.0050969535 0.003214085 0.0057227419 + 1330400 0.0052081067 0.002472314 0.005035679 + 1330500 0.0050403966 0.0025140706 0.0049948908 + 1330600 0.0059202588 0.0024999178 0.0054137951 + 1330700 0.0052768372 0.0026380866 0.0052352799 + 1330800 0.0042405966 0.0027779795 0.0048651482 + 1330900 0.0042183728 0.0025061353 0.0045823657 + 1331000 0.0069668654 0.0025596348 0.0059886389 + 1331100 0.0050186891 0.0030582167 0.0055283527 + 1331200 0.0051933095 0.0027794376 0.0053355196 + 1331300 0.0024525769 0.0027633882 0.0039705159 + 1331400 0.0062988134 0.0024991778 0.0055993751 + 1331500 0.0047858589 0.0026848612 0.0050404011 + 1331600 0.003583008 0.0027657057 0.0045292174 + 1331700 0.0055202096 0.0023471102 0.0050640884 + 1331800 0.0047869641 0.0024050969 0.0047611808 + 1331900 0.0061224091 0.0022662797 0.0052796529 + 1332000 0.004080952 0.0025093853 0.0045179789 + 1332100 0.0064321695 0.0025199892 0.0056858226 + 1332200 0.0066533781 0.0024374032 0.0057121127 + 1332300 0.0070659894 0.0028086143 0.0062864059 + 1332400 0.0048572039 0.0030413103 0.0054319653 + 1332500 0.0057615762 0.0028953373 0.005731113 + 1332600 0.005848168 0.0032645174 0.0061429126 + 1332700 0.0077948272 0.0031888658 0.0070253823 + 1332800 0.0053832335 0.0030109877 0.005660548 + 1332900 0.0055334451 0.0027441113 0.0054676038 + 1333000 0.0053023438 0.0024861014 0.0050958488 + 1333100 0.0063668778 0.0025872037 0.0057209013 + 1333200 0.005761579 0.002664498 0.0055002751 + 1333300 0.005098178 0.0024299727 0.0049392322 + 1333400 0.0047837297 0.0025692041 0.004923696 + 1333500 0.0054293702 0.002635253 0.0053075212 + 1333600 0.0052431124 0.002886663 0.0054672573 + 1333700 0.004971126 0.003062686 0.0055094121 + 1333800 0.0056578977 0.0030830375 0.005867784 + 1333900 0.004874567 0.0032025191 0.0056017201 + 1334000 0.0074019002 0.0031199996 0.0067631223 + 1334100 0.005119211 0.0034677585 0.0059873701 + 1334200 0.0065019787 0.0029946611 0.0061948537 + 1334300 0.0063164971 0.0028680064 0.0059769074 + 1334400 0.0056567216 0.0034995943 0.006283762 + 1334500 0.0055558209 0.0031033473 0.0058378529 + 1334600 0.005955766 0.0028373724 0.005768726 + 1334700 0.0054941066 0.0032525937 0.0059567243 + 1334800 0.0063465783 0.0028848012 0.0060085077 + 1334900 0.0068160333 0.0024674747 0.0058222411 + 1335000 0.0046743413 0.0027331228 0.0050337752 + 1335100 0.0054446819 0.0027694255 0.0054492298 + 1335200 0.0065388401 0.0028855109 0.0061038462 + 1335300 0.0062229062 0.0028422946 0.0059051312 + 1335400 0.0046589794 0.0030415409 0.0053346323 + 1335500 0.0045826157 0.0028753787 0.0051308849 + 1335600 0.0056158028 0.0027832706 0.0055472985 + 1335700 0.0056275899 0.0027520447 0.0055218741 + 1335800 0.0039934989 0.0027696629 0.0047352131 + 1335900 0.0045935582 0.0030169607 0.0052778526 + 1336000 0.0053735975 0.0031068954 0.0057517129 + 1336100 0.0046507458 0.0026696558 0.0049586947 + 1336200 0.0055934017 0.0021847634 0.0049377658 + 1336300 0.0044160211 0.0022876398 0.0044611502 + 1336400 0.0045227522 0.0022505909 0.004476633 + 1336500 0.0042743903 0.0023114797 0.0044152812 + 1336600 0.0039584929 0.0027323792 0.0046806999 + 1336700 0.0049379125 0.0026538611 0.0050842399 + 1336800 0.0070226814 0.0023115884 0.0057680644 + 1336900 0.0053829627 0.0023857753 0.0050352022 + 1337000 0.0051233004 0.0023244825 0.0048461069 + 1337100 0.0045419096 0.0027228164 0.0049582875 + 1337200 0.0050482164 0.0025105029 0.0049951719 + 1337300 0.0054062682 0.0023534632 0.0050143608 + 1337400 0.0043148286 0.0024919035 0.0046156082 + 1337500 0.0049355576 0.0025529682 0.004982188 + 1337600 0.0049417284 0.0024895878 0.0049218448 + 1337700 0.0058525678 0.0026839035 0.0055644642 + 1337800 0.0047562888 0.0023337476 0.0046747335 + 1337900 0.0055711514 0.0021882782 0.0049303293 + 1338000 0.0047515481 0.001949356 0.0042880086 + 1338100 0.0057042121 0.0019577912 0.0047653331 + 1338200 0.0070813628 0.0027163337 0.0062016919 + 1338300 0.0049981661 0.0032624701 0.005722505 + 1338400 0.0058164836 0.0028584672 0.0057212677 + 1338500 0.0052727772 0.002423348 0.0050185431 + 1338600 0.0052832276 0.0024682839 0.0050686225 + 1338700 0.0059961311 0.0021858409 0.0051370617 + 1338800 0.0058282672 0.002316441 0.0051850413 + 1338900 0.0029874049 0.0028862474 0.0043566107 + 1339000 0.004404042 0.0032254019 0.0053930163 + 1339100 0.0039289179 0.0034044822 0.0053382465 + 1339200 0.0045306408 0.0029628566 0.0051927813 + 1339300 0.0062304119 0.0025823213 0.0056488522 + 1339400 0.0046329077 0.0025048604 0.0047851196 + 1339500 0.0039054526 0.0026220879 0.0045443028 + 1339600 0.0061159022 0.0025471003 0.0055572709 + 1339700 0.0044239542 0.002795338 0.004972753 + 1339800 0.0048766722 0.0031230237 0.0055232608 + 1339900 0.0049256508 0.0027865074 0.0052108512 + 1340000 0.0059761449 0.002489127 0.0054305108 + 1340100 0.0056269513 0.0027509032 0.0055204183 + 1340200 0.0054215702 0.0026450089 0.005313438 + 1340300 0.005894145 0.0027873977 0.0056884222 + 1340400 0.0053915687 0.0033318122 0.005985475 + 1340500 0.0062069118 0.0028040279 0.0058589923 + 1340600 0.0061530536 0.0019767882 0.0050052443 + 1340700 0.0054545815 0.0020186921 0.004703369 + 1340800 0.004136391 0.0024559656 0.0044918455 + 1340900 0.0057514225 0.0024261645 0.0052569428 + 1341000 0.0053490737 0.0024233247 0.0050560719 + 1341100 0.0038397618 0.0028237193 0.0047136021 + 1341200 0.0045633916 0.002670428 0.0049164723 + 1341300 0.0051628307 0.002601759 0.0051428397 + 1341400 0.00375974 0.0025381772 0.0043886743 + 1341500 0.0051804293 0.0026078263 0.0051575688 + 1341600 0.0051331333 0.0027023633 0.0052288273 + 1341700 0.005696106 0.0029707248 0.005774277 + 1341800 0.0035342395 0.0032974045 0.0050369129 + 1341900 0.0054887737 0.0034433537 0.0061448595 + 1342000 0.0041457579 0.003103768 0.0051442582 + 1342100 0.0045029719 0.0025792256 0.004795532 + 1342200 0.0045767535 0.0021279333 0.0043805542 + 1342300 0.0041832809 0.0021191744 0.0041781329 + 1342400 0.0034613731 0.0023162806 0.0040199252 + 1342500 0.0053882572 0.0020337777 0.0046858106 + 1342600 0.0060399772 0.0021206109 0.0050934122 + 1342700 0.0055244301 0.0027345275 0.0054535829 + 1342800 0.0043500806 0.0030683963 0.0052094517 + 1342900 0.0060100653 0.0027938605 0.0057519396 + 1343000 0.0038348987 0.0025158125 0.0044033017 + 1343100 0.0035888864 0.0022138358 0.0039802408 + 1343200 0.0039377743 0.0021319806 0.0040701039 + 1343300 0.004668219 0.0023037236 0.0046013626 + 1343400 0.0065565725 0.002612731 0.0058397941 + 1343500 0.005670952 0.0027233081 0.0055144798 + 1343600 0.0039884902 0.0029435992 0.0049066843 + 1343700 0.0049345368 0.0028823047 0.005311022 + 1343800 0.0042340774 0.0027238141 0.0048077741 + 1343900 0.004000348 0.0019444421 0.0039133634 + 1344000 0.0061827806 0.0017156357 0.0047587231 + 1344100 0.0033660867 0.0025170079 0.0041737537 + 1344200 0.0045213786 0.0029623151 0.0051876811 + 1344300 0.0051986394 0.0025441422 0.0051028476 + 1344400 0.0058224132 0.0024040155 0.0052697345 + 1344500 0.0054403697 0.0022810479 0.0049587299 + 1344600 0.0051370024 0.0025390414 0.0050674098 + 1344700 0.0053441545 0.0028194962 0.0054498223 + 1344800 0.006331043 0.002566021 0.0056820812 + 1344900 0.0050062225 0.0030821238 0.005546124 + 1345000 0.0057658864 0.0025819266 0.0054198238 + 1345100 0.0064988293 0.0023954182 0.0055940608 + 1345200 0.0048926133 0.0025480421 0.0049561252 + 1345300 0.0051323702 0.0020204305 0.0045465189 + 1345400 0.0046632374 0.0020915321 0.0043867192 + 1345500 0.0037011693 0.0024855435 0.0043072127 + 1345600 0.0053152321 0.0023869493 0.0050030401 + 1345700 0.0050714461 0.0023226272 0.0048187296 + 1345800 0.0066476105 0.0024843739 0.0057562447 + 1345900 0.0058524564 0.002505412 0.0053859179 + 1346000 0.0056178668 0.0028895471 0.0056545909 + 1346100 0.0048389319 0.0031177891 0.0054994509 + 1346200 0.0050898818 0.0029768303 0.0054820066 + 1346300 0.0066552616 0.0026226331 0.0058982696 + 1346400 0.0060954993 0.0022071818 0.0052073104 + 1346500 0.0042512821 0.0018583285 0.0039507564 + 1346600 0.0042249252 0.0021971975 0.0042766529 + 1346700 0.0058473608 0.0026347565 0.0055127544 + 1346800 0.0061943392 0.0025972502 0.0056460265 + 1346900 0.0053542823 0.0030377957 0.0056731066 + 1347000 0.0046639353 0.0028704452 0.0051659759 + 1347100 0.0048116131 0.0027417479 0.0051099637 + 1347200 0.0045613947 0.0028122905 0.005057352 + 1347300 0.0053207659 0.0025843853 0.0052031998 + 1347400 0.0047373972 0.0025627826 0.0048944703 + 1347500 0.0041884067 0.002518535 0.0045800164 + 1347600 0.0055231132 0.0020170945 0.0047355017 + 1347700 0.0047221899 0.0018921731 0.0042163759 + 1347800 0.0057398754 0.0021274267 0.0049525216 + 1347900 0.005752152 0.0024929027 0.00532404 + 1348000 0.0068219139 0.0025922189 0.0059498796 + 1348100 0.0083795388 0.0029122681 0.0070365723 + 1348200 0.0048810687 0.0040961873 0.0064985883 + 1348300 0.0053823714 0.0046358932 0.0072850291 + 1348400 0.0062451687 0.0040713712 0.0071451651 + 1348500 0.0059579364 0.0031556825 0.0060881043 + 1348600 0.0063545049 0.0031562988 0.0062839067 + 1348700 0.0058346601 0.0033549645 0.0062267113 + 1348800 0.0052643485 0.002810193 0.0054012395 + 1348900 0.005774231 0.0028741046 0.0057161089 + 1349000 0.004420646 0.0029234044 0.0050991912 + 1349100 0.0063568267 0.0026685232 0.0057972739 + 1349200 0.0055175554 0.002425348 0.0051410198 + 1349300 0.0049500374 0.002658849 0.0050951955 + 1349400 0.0039990709 0.0028301826 0.0047984752 + 1349500 0.0051733068 0.0025813215 0.0051275584 + 1349600 0.0042339092 0.0025724225 0.0046562997 + 1349700 0.0041661227 0.0022195691 0.0042700826 + 1349800 0.0040917849 0.0025716983 0.0045856237 + 1349900 0.0050001898 0.0026537707 0.0051148016 + 1350000 0.0054131424 0.0028487224 0.0055130034 + 1350100 0.0045293591 0.0030881938 0.0053174877 + 1350200 0.0063977594 0.0032338259 0.0063827231 + 1350300 0.005704342 0.0032112697 0.0060188755 + 1350400 0.0051235924 0.0034883551 0.0060101232 + 1350500 0.0050673982 0.0031372888 0.0056313989 + 1350600 0.0031937391 0.0031502395 0.0047221579 + 1350700 0.0038147398 0.0026880711 0.0045656383 + 1350800 0.0047385223 0.0026705819 0.0050028234 + 1350900 0.0037088899 0.0024680973 0.0042935665 + 1351000 0.0053328653 0.0022462469 0.0048710166 + 1351100 0.0044825365 0.0024547092 0.0046609577 + 1351200 0.0044895117 0.0027949448 0.0050046263 + 1351300 0.0042007214 0.0033785019 0.0054460445 + 1351400 0.0057590295 0.0027892332 0.0056237555 + 1351500 0.0043231561 0.002806925 0.0049347284 + 1351600 0.0053914181 0.0031406067 0.0057941953 + 1351700 0.0058261713 0.0029828067 0.0058503754 + 1351800 0.0051353127 0.0027695262 0.0052970629 + 1351900 0.0063013902 0.0025447926 0.005646258 + 1352000 0.0035657673 0.0027476266 0.0045026527 + 1352100 0.0035215925 0.0029204238 0.0046537076 + 1352200 0.004743712 0.0031386566 0.0054734524 + 1352300 0.0055642846 0.0030615851 0.0058002565 + 1352400 0.0053381735 0.0025120673 0.0051394495 + 1352500 0.004393156 0.0024065305 0.004568787 + 1352600 0.0050890775 0.0023284044 0.0048331848 + 1352700 0.0040957902 0.0024553396 0.0044712364 + 1352800 0.0057680101 0.0022204371 0.0050593795 + 1352900 0.0046663988 0.0019982752 0.0042950184 + 1353000 0.0046293002 0.002175734 0.0044542177 + 1353100 0.0059849221 0.002179217 0.0051249209 + 1353200 0.0055145922 0.0023906938 0.0051049071 + 1353300 0.0054971537 0.0025442868 0.0052499171 + 1353400 0.0053852154 0.0021577309 0.0048082666 + 1353500 0.0036220603 0.0019666826 0.0037494154 + 1353600 0.0044141986 0.0016990156 0.0038716289 + 1353700 0.0036764629 0.001917073 0.0037265821 + 1353800 0.0037976918 0.0025510147 0.0044201911 + 1353900 0.0046298802 0.0032191703 0.0054979395 + 1354000 0.0035565015 0.003099647 0.0048501126 + 1354100 0.0057990349 0.0034009611 0.0062551736 + 1354200 0.0053998576 0.0031106737 0.0057684161 + 1354300 0.0041283913 0.0026826122 0.0047145548 + 1354400 0.0052430157 0.002880469 0.0054610158 + 1354500 0.0058929979 0.0024160364 0.0053164963 + 1354600 0.0049905595 0.0019712689 0.0044275598 + 1354700 0.004165768 0.0020696871 0.004120026 + 1354800 0.0038741668 0.0021220929 0.0040289094 + 1354900 0.0056178364 0.0017811669 0.0045461958 + 1355000 0.0052025288 0.0018062435 0.0043668631 + 1355100 0.0038545177 0.0019901138 0.0038872592 + 1355200 0.0052366781 0.0020403972 0.0046178247 + 1355300 0.0042183824 0.0021292702 0.0042055052 + 1355400 0.004180246 0.0025937939 0.0046512588 + 1355500 0.0066519136 0.0026632413 0.0059372301 + 1355600 0.0048869836 0.0028230599 0.0052283721 + 1355700 0.0060524446 0.0025272872 0.0055062248 + 1355800 0.0045513576 0.0024033583 0.0046434797 + 1355900 0.0053478189 0.0019197455 0.0045518752 + 1356000 0.004557239 0.0017468709 0.0039898869 + 1356100 0.0050349823 0.0023400029 0.0048181582 + 1356200 0.0046604947 0.0025238473 0.0048176846 + 1356300 0.0050100702 0.0029303291 0.005396223 + 1356400 0.0045873085 0.0030952604 0.0053530763 + 1356500 0.0045513393 0.0028427599 0.0050828722 + 1356600 0.0061163571 0.0032329556 0.0062433501 + 1356700 0.0055335493 0.0035730287 0.0062965724 + 1356800 0.0043073651 0.003476292 0.0055963233 + 1356900 0.0048378978 0.0029816134 0.0053627663 + 1357000 0.0049709676 0.002881153 0.0053278011 + 1357100 0.0044276818 0.0027689514 0.0049482011 + 1357200 0.0047906442 0.0027100694 0.0050679645 + 1357300 0.0069657313 0.0029473796 0.0063758255 + 1357400 0.0049083739 0.0028466584 0.0052624987 + 1357500 0.005152214 0.0025437583 0.0050796137 + 1357600 0.0061636739 0.002106929 0.0051406122 + 1357700 0.0062841194 0.0019630221 0.0050559871 + 1357800 0.0060495904 0.0024307922 0.005408325 + 1357900 0.0053840315 0.0025268774 0.0051768304 + 1358000 0.0051008456 0.0025627029 0.0050732754 + 1358100 0.0053259104 0.0023076687 0.0049290152 + 1358200 0.0038553381 0.0023449971 0.0042425463 + 1358300 0.0039262718 0.0024311235 0.0043635854 + 1358400 0.0041550075 0.0023980522 0.004443095 + 1358500 0.0047350435 0.0024682622 0.0047987914 + 1358600 0.0059834694 0.0025013913 0.0054463801 + 1358700 0.004695077 0.0025361267 0.004846985 + 1358800 0.0042129308 0.0029690915 0.0050426434 + 1358900 0.0048031547 0.002871493 0.0052355457 + 1359000 0.0033873033 0.0028216681 0.0044888564 + 1359100 0.0049557298 0.0027743121 0.0052134604 + 1359200 0.0040457218 0.0025866239 0.0045778776 + 1359300 0.0061261971 0.0023004068 0.0053156444 + 1359400 0.0043988042 0.0022874234 0.0044524599 + 1359500 0.0044555174 0.0025195553 0.0047125052 + 1359600 0.0049041101 0.0026248059 0.0050385475 + 1359700 0.0064842588 0.0029961584 0.0061876295 + 1359800 0.0060965875 0.0027798554 0.0057805196 + 1359900 0.0053625104 0.003040614 0.0056799746 + 1360000 0.0050619963 0.003034625 0.0055260762 + 1360100 0.0058023269 0.0030329482 0.005888781 + 1360200 0.003696191 0.0030324996 0.0048517187 + 1360300 0.0049752114 0.0027416869 0.0051904238 + 1360400 0.0053789317 0.0027305349 0.0053779779 + 1360500 0.0060567346 0.0025929524 0.0055740014 + 1360600 0.0043276991 0.002753423 0.0048834624 + 1360700 0.0045345568 0.0029400305 0.0051718827 + 1360800 0.0057620559 0.0031682868 0.0060042987 + 1360900 0.0062118999 0.0031630454 0.0062204649 + 1361000 0.0040737247 0.0029177574 0.0049227937 + 1361100 0.004898169 0.0023099236 0.0047207411 + 1361200 0.0047239783 0.0019696625 0.0042947456 + 1361300 0.0055444415 0.0026181623 0.0053470672 + 1361400 0.0057768347 0.0031273078 0.0059705936 + 1361500 0.0056246858 0.0030175801 0.0057859801 + 1361600 0.0054832175 0.0025644445 0.0052632156 + 1361700 0.0045092762 0.0023422844 0.0045616938 + 1361800 0.0057958805 0.0026253089 0.0054779689 + 1361900 0.0051521058 0.0025820178 0.0051178199 + 1362000 0.0052714565 0.0022529551 0.0048475001 + 1362100 0.0053744526 0.0021606231 0.0048058615 + 1362200 0.0050943895 0.0027224202 0.005229815 + 1362300 0.005129667 0.0028813758 0.0054061338 + 1362400 0.0065682903 0.0027390738 0.0059719042 + 1362500 0.0040834095 0.0027843057 0.0047941088 + 1362600 0.0038607084 0.0029373315 0.0048375239 + 1362700 0.0064146085 0.0027995264 0.0059567165 + 1362800 0.0055083063 0.002448642 0.0051597615 + 1362900 0.0052582696 0.0026932171 0.0052812716 + 1363000 0.0040146858 0.0027994011 0.0047753793 + 1363100 0.005286096 0.0026742253 0.0052759756 + 1363200 0.0065439099 0.0027621627 0.0059829934 + 1363300 0.0040288303 0.0029803535 0.0049632935 + 1363400 0.0042991595 0.0029811075 0.0050971 + 1363500 0.0064669341 0.0030804851 0.0062634292 + 1363600 0.0057298815 0.0029560679 0.0057762439 + 1363700 0.0048624559 0.0027258453 0.0051190853 + 1363800 0.0052990908 0.0026194879 0.0052276342 + 1363900 0.0052517523 0.0028322565 0.0054171033 + 1364000 0.0045484087 0.0027996862 0.0050383561 + 1364100 0.0054457328 0.0026258715 0.0053061931 + 1364200 0.0051123507 0.0026322935 0.0051485286 + 1364300 0.0046648846 0.0026237186 0.0049197164 + 1364400 0.0058104629 0.0026039228 0.00546376 + 1364500 0.0059955441 0.0024697735 0.0054207054 + 1364600 0.0052423923 0.0023452554 0.0049254953 + 1364700 0.0028777898 0.0023019521 0.0037183642 + 1364800 0.0047190664 0.0020983044 0.0044209699 + 1364900 0.0041417549 0.0019951793 0.0040336993 + 1365000 0.0038840809 0.0019753817 0.0038870778 + 1365100 0.0046362878 0.0021385113 0.0044204342 + 1365200 0.0044473046 0.002218225 0.0044071327 + 1365300 0.0047760122 0.0020277145 0.004378408 + 1365400 0.0038751293 0.0019180144 0.0038253046 + 1365500 0.0030182792 0.0024606562 0.0039462155 + 1365600 0.0045801162 0.0025744452 0.0048287212 + 1365700 0.0049348266 0.002722342 0.0051512019 + 1365800 0.0052500908 0.0029497731 0.0055338021 + 1365900 0.005628001 0.0033939982 0.00616403 + 1366000 0.0058552844 0.0028647186 0.0057466164 + 1366100 0.0050922486 0.0023292003 0.0048355414 + 1366200 0.0038128496 0.002838269 0.0047149059 + 1366300 0.0056511026 0.0024073443 0.0051887464 + 1366400 0.0044643101 0.0018981073 0.0040953849 + 1366500 0.0043642642 0.0019122919 0.0040603282 + 1366600 0.0049175422 0.0022090527 0.0046294055 + 1366700 0.0049181182 0.0022878477 0.004708484 + 1366800 0.0047225704 0.0022536962 0.0045780864 + 1366900 0.0055673716 0.0022332546 0.0049734453 + 1367000 0.0047372025 0.0023159375 0.0046475294 + 1367100 0.0044549492 0.002507884 0.0047005543 + 1367200 0.0046125527 0.0026352366 0.0049054774 + 1367300 0.0059056662 0.0029588109 0.005865506 + 1367400 0.0036898599 0.0033762508 0.0051923538 + 1367500 0.0051924259 0.003281422 0.0058370691 + 1367600 0.0048277152 0.0030134658 0.0053896069 + 1367700 0.0056987817 0.0027439794 0.0055488485 + 1367800 0.0068007517 0.0022292695 0.0055765145 + 1367900 0.0062602587 0.0024244227 0.0055056438 + 1368000 0.0042965735 0.0024118666 0.0045265864 + 1368100 0.007163635 0.0022974128 0.0058232644 + 1368200 0.0041243356 0.002317056 0.0043470024 + 1368300 0.0040616496 0.0020481947 0.0040472879 + 1368400 0.0044356757 0.0018808685 0.0040640526 + 1368500 0.0048424122 0.0022729942 0.004656369 + 1368600 0.0063666234 0.0027221516 0.005855724 + 1368700 0.0061936444 0.0031170673 0.0061655016 + 1368800 0.0057413308 0.0031220135 0.0059478248 + 1368900 0.0061943491 0.0026180729 0.0056668541 + 1369000 0.0054605656 0.0025116192 0.0051992413 + 1369100 0.0057931873 0.0027319249 0.0055832593 + 1369200 0.0058583168 0.0025611777 0.005444568 + 1369300 0.0049931901 0.0028624168 0.0053200026 + 1369400 0.0047905134 0.0023932451 0.0047510759 + 1369500 0.0047621174 0.0022404084 0.0045842631 + 1369600 0.0051007437 0.002162883 0.0046734053 + 1369700 0.0069386777 0.0023977616 0.005812892 + 1369800 0.0060487602 0.0024345094 0.0054116336 + 1369900 0.0039167444 0.0025226641 0.0044504367 + 1370000 0.0038729007 0.002370141 0.0042763343 + 1370100 0.0053192727 0.0017940268 0.0044121063 + 1370200 0.0057541857 0.0018744267 0.004706565 + 1370300 0.0056354853 0.0017279136 0.004501629 + 1370400 0.003800429 0.0016740925 0.0035446162 + 1370500 0.0045516375 0.0019493658 0.0041896249 + 1370600 0.0065824035 0.0022880522 0.0055278289 + 1370700 0.0060313253 0.0024799712 0.0054485141 + 1370800 0.0043449917 0.0022565582 0.0043951088 + 1370900 0.0042254457 0.0023248681 0.0044045797 + 1371000 0.0052234106 0.0018587271 0.0044296245 + 1371100 0.0040784163 0.0020248754 0.0040322209 + 1371200 0.0044518558 0.002190417 0.0043815648 + 1371300 0.0043524588 0.0018311919 0.0039734177 + 1371400 0.0044860688 0.0018516032 0.0040595902 + 1371500 0.0055439678 0.0018929048 0.0046215765 + 1371600 0.003614236 0.0021316879 0.0039105697 + 1371700 0.0043507166 0.0021971199 0.0043384883 + 1371800 0.0047589992 0.002130924 0.0044732439 + 1371900 0.0040454359 0.0021726409 0.0041637539 + 1372000 0.0054534391 0.0025574785 0.0052415931 + 1372100 0.0038443903 0.0028759261 0.0047680869 + 1372200 0.0054292939 0.0024869336 0.0051591642 + 1372300 0.0050343848 0.0026580564 0.0051359176 + 1372400 0.0051791762 0.0025738307 0.0051229564 + 1372500 0.0070137628 0.0024828964 0.0059349828 + 1372600 0.0053737174 0.0027914426 0.0054363192 + 1372700 0.0061418582 0.0028274246 0.0058503704 + 1372800 0.0049933596 0.0028085322 0.0052662014 + 1372900 0.0055073858 0.0025643645 0.0052750309 + 1373000 0.0031399216 0.0025605965 0.0041060267 + 1373100 0.0053696297 0.0022826202 0.0049254848 + 1373200 0.0042836056 0.001899089 0.0040074261 + 1373300 0.0053088413 0.0018068009 0.0044197462 + 1373400 0.006366352 0.0021681425 0.0053015813 + 1373500 0.004149365 0.0024970963 0.0045393619 + 1373600 0.0047346616 0.0028586544 0.0051889957 + 1373700 0.0051310954 0.0028899424 0.0054154034 + 1373800 0.0045912741 0.0030690699 0.0053288376 + 1373900 0.0044068156 0.0026719358 0.0048409154 + 1374000 0.0048215427 0.0023940511 0.0047671542 + 1374100 0.0045966351 0.0021940172 0.0044564236 + 1374200 0.0059940736 0.0020064602 0.0049566683 + 1374300 0.0045386724 0.0019759873 0.0042098651 + 1374400 0.0035986453 0.0022542325 0.0040254407 + 1374500 0.0053501998 0.0020901911 0.0047234925 + 1374600 0.004383039 0.0018702351 0.0040275121 + 1374700 0.0052133299 0.0019365131 0.0045024489 + 1374800 0.0038391924 0.0018064856 0.0036960881 + 1374900 0.0055749504 0.0015264967 0.0042704177 + 1375000 0.0044348064 0.0016820948 0.0038648511 + 1375100 0.0045874859 0.0023163881 0.0045742913 + 1375200 0.0059544068 0.0026673506 0.0055980351 + 1375300 0.0043405881 0.002136047 0.0042724302 + 1375400 0.0056547791 0.0019286425 0.0047118541 + 1375500 0.0062999509 0.0023856755 0.0054864326 + 1375600 0.0041372807 0.0031175279 0.0051538458 + 1375700 0.0059471849 0.0031470563 0.0060741864 + 1375800 0.0046460535 0.0027311732 0.0050179026 + 1375900 0.0058734955 0.0023445841 0.0052354451 + 1376000 0.0040143136 0.0022409659 0.0042167609 + 1376100 0.0038330997 0.001810078 0.0036966817 + 1376200 0.005158667 0.0015656032 0.0041046346 + 1376300 0.0051722368 0.0016484827 0.004194193 + 1376400 0.0053341559 0.0023585174 0.0049839222 + 1376500 0.0056551011 0.002842205 0.005625575 + 1376600 0.0055705331 0.0022497659 0.0049915126 + 1376700 0.0056150279 0.0021518314 0.0049154779 + 1376800 0.0054990255 0.0025006416 0.0052071932 + 1376900 0.0063239344 0.0021155572 0.0052281187 + 1377000 0.0062068435 0.0017971424 0.0048520731 + 1377100 0.0060872817 0.0017772077 0.0047732917 + 1377200 0.0043746224 0.0019666261 0.0041197605 + 1377300 0.0065153105 0.0020580973 0.0052648517 + 1377400 0.0039601518 0.0022636583 0.0042127955 + 1377500 0.0052403506 0.0022936697 0.0048729048 + 1377600 0.0040221809 0.0018493746 0.0038290418 + 1377700 0.0036692953 0.0019617656 0.0037677469 + 1377800 0.0042948711 0.0019992972 0.0041131791 + 1377900 0.0051292036 0.0019853086 0.0045098386 + 1378000 0.0050971182 0.0019888203 0.0044975582 + 1378100 0.0065652257 0.0021672742 0.0053985962 + 1378200 0.0045625499 0.0023629256 0.0046085556 + 1378300 0.0037537296 0.0027886984 0.0046362372 + 1378400 0.0049313868 0.0023658676 0.0047930345 + 1378500 0.0059478288 0.0017465649 0.0046740118 + 1378600 0.0053931324 0.0018138946 0.004468327 + 1378700 0.0047655496 0.0022991672 0.0046447112 + 1378800 0.0046260617 0.0022948113 0.0045717011 + 1378900 0.0042389219 0.0021674104 0.0042537548 + 1379000 0.0058343978 0.0018492159 0.0047208336 + 1379100 0.006037064 0.0021295359 0.0051009033 + 1379200 0.004369737 0.0023025729 0.0044533028 + 1379300 0.0043906344 0.0023310684 0.0044920838 + 1379400 0.0053031623 0.0022665625 0.0048767126 + 1379500 0.0050968046 0.002039778 0.0045483615 + 1379600 0.0051655037 0.001769963 0.0043123593 + 1379700 0.0045680486 0.0020398661 0.0042882026 + 1379800 0.0053251259 0.002548004 0.0051689644 + 1379900 0.0039914897 0.0029753316 0.0049398929 + 1380000 0.0068302734 0.0026164112 0.0059781864 + 1380100 0.0058461031 0.0019113699 0.0047887488 + 1380200 0.0044729773 0.0018107683 0.0040123119 + 1380300 0.0037996462 0.0020865075 0.0039566458 + 1380400 0.0046974657 0.0017854574 0.0040974913 + 1380500 0.0053720492 0.0016731841 0.0043172395 + 1380600 0.0049007983 0.0019549043 0.0043670159 + 1380700 0.0041308746 0.0026008657 0.0046340306 + 1380800 0.0039614759 0.0026606084 0.0046103973 + 1380900 0.0045090463 0.0024009266 0.0046202228 + 1381000 0.0044332464 0.002535392 0.0047173805 + 1381100 0.0066688067 0.0025541275 0.0058364308 + 1381200 0.0051810003 0.0022331116 0.0047831352 + 1381300 0.0056878593 0.001766959 0.0045664523 + 1381400 0.0061304644 0.0023325835 0.0053499214 + 1381500 0.0050862029 0.0027365281 0.0052398936 + 1381600 0.0059487768 0.002918324 0.0058462375 + 1381700 0.0051588754 0.0031120618 0.0056511958 + 1381800 0.0046933581 0.0030393441 0.0053493563 + 1381900 0.0055665673 0.0023141276 0.0050539225 + 1382000 0.0057742366 0.0021538198 0.0049958269 + 1382100 0.0045981742 0.0024766822 0.0047398461 + 1382200 0.0050144838 0.0025356785 0.0050037448 + 1382300 0.0055861746 0.0024138735 0.0051633188 + 1382400 0.0047557925 0.0023093299 0.0046500715 + 1382500 0.004165315 0.0022498939 0.0043000099 + 1382600 0.0057862535 0.0023550857 0.0052030073 + 1382700 0.0050715586 0.0027273361 0.0052234939 + 1382800 0.0050863168 0.0027905311 0.0052939526 + 1382900 0.0052541225 0.0022418258 0.0048278392 + 1383000 0.0051983992 0.0019532777 0.0045118648 + 1383100 0.0052128965 0.0022287686 0.0047944911 + 1383200 0.0048129927 0.0020434792 0.0044123741 + 1383300 0.0042750892 0.0019259714 0.0040301169 + 1383400 0.0047725658 0.0018718843 0.0042208815 + 1383500 0.0044365541 0.0024159287 0.0045995452 + 1383600 0.0065452381 0.0021617314 0.0053832158 + 1383700 0.0046890138 0.0020357538 0.0043436278 + 1383800 0.0059372147 0.0022115346 0.0051337575 + 1383900 0.0042799376 0.0026317117 0.0047382435 + 1384000 0.0047433049 0.0030449367 0.0053795321 + 1384100 0.0045726186 0.0029123528 0.0051629386 + 1384200 0.0043538092 0.0028515181 0.0049944086 + 1384300 0.0037063925 0.002773788 0.0045980281 + 1384400 0.0054754784 0.0023142296 0.0050091917 + 1384500 0.0048212506 0.0021444985 0.0045174577 + 1384600 0.004213464 0.0021430882 0.0042169025 + 1384700 0.0055079336 0.0021088724 0.0048198085 + 1384800 0.0055643478 0.0024450226 0.0051837251 + 1384900 0.0052603457 0.0027210632 0.0053101396 + 1385000 0.0056046595 0.0029384698 0.0056970132 + 1385100 0.0037290683 0.0034060227 0.0052414235 + 1385200 0.0056827638 0.0033212083 0.0061181936 + 1385300 0.0034239526 0.0033340949 0.0050193215 + 1385400 0.0051651045 0.0033978604 0.0059400603 + 1385500 0.0052741768 0.0037671616 0.0063630455 + 1385600 0.0044207684 0.0040932284 0.0062690753 + 1385700 0.003161075 0.0037969714 0.005352813 + 1385800 0.0055035291 0.0034972972 0.0062060654 + 1385900 0.0045428047 0.0035657394 0.0058016511 + 1386000 0.0051662162 0.0032761289 0.0058188759 + 1386100 0.0050400464 0.0031221506 0.0056027984 + 1386200 0.0051308798 0.0030211372 0.0055464921 + 1386300 0.0042787504 0.0029191726 0.0050251201 + 1386400 0.0060561661 0.0028948633 0.0058756326 + 1386500 0.003900502 0.0030752942 0.0049950726 + 1386600 0.0052022212 0.0031926639 0.0057531321 + 1386700 0.0060665647 0.0025783842 0.0055642715 + 1386800 0.0047104443 0.002765282 0.0050837038 + 1386900 0.0050177596 0.0032404021 0.0057100806 + 1387000 0.0057929351 0.0037306016 0.0065818118 + 1387100 0.0054340467 0.0034448063 0.0061193761 + 1387200 0.0041787974 0.0031076441 0.005164396 + 1387300 0.0051244923 0.0027499919 0.005272203 + 1387400 0.0055417516 0.0030177641 0.005745345 + 1387500 0.0069061858 0.0028751327 0.006274271 + 1387600 0.0041663703 0.0028570489 0.0049076843 + 1387700 0.0040941419 0.0030541457 0.0050692311 + 1387800 0.0047967831 0.0027582611 0.0051191778 + 1387900 0.0057213338 0.0023188206 0.0051347896 + 1388000 0.0039796373 0.0025644687 0.0045231964 + 1388100 0.004507588 0.002534434 0.0047530125 + 1388200 0.0040108036 0.0024801553 0.0044542226 + 1388300 0.0043549763 0.0022462107 0.0043896757 + 1388400 0.0041799667 0.0022749915 0.0043323189 + 1388500 0.0035316793 0.0022836438 0.0040218922 + 1388600 0.0051205182 0.0022241099 0.004744365 + 1388700 0.004318714 0.0024692353 0.0045948523 + 1388800 0.0063295482 0.0021300197 0.0052453442 + 1388900 0.0056035408 0.0021748889 0.0049328816 + 1389000 0.0046106968 0.0025342245 0.0048035519 + 1389100 0.004956265 0.0027527431 0.0051921548 + 1389200 0.0071166376 0.0031964471 0.0066991672 + 1389300 0.0054953662 0.0028337412 0.0055384918 + 1389400 0.005634873 0.0025736385 0.0053470525 + 1389500 0.0043739583 0.0026647175 0.0048175251 + 1389600 0.0040975442 0.0026446031 0.0046613632 + 1389700 0.0051852153 0.0022784582 0.0048305563 + 1389800 0.0046336486 0.0023686258 0.0046492497 + 1389900 0.0056105386 0.0025340889 0.0052955259 + 1390000 0.0061933994 0.0029386129 0.0059869266 + 1390100 0.0058756637 0.002694354 0.0055862823 + 1390200 0.0038746306 0.0028791439 0.0047861886 + 1390300 0.0059390549 0.002576335 0.0054994636 + 1390400 0.004942478 0.0022800283 0.0047126542 + 1390500 0.0052076673 0.0020109226 0.0045740713 + 1390600 0.0051940603 0.0025003453 0.0050567968 + 1390700 0.0061764848 0.0025602772 0.0056002658 + 1390800 0.0044063917 0.0024840417 0.0046528126 + 1390900 0.0058734007 0.0025905334 0.0054813478 + 1391000 0.005885083 0.0029492858 0.0058458501 + 1391100 0.0042465599 0.0029742313 0.005064335 + 1391200 0.0039813232 0.0027768148 0.0047363723 + 1391300 0.005915054 0.0021620684 0.0050733841 + 1391400 0.0049572409 0.0020682822 0.0045081742 + 1391500 0.0048787258 0.0023958543 0.0047971022 + 1391600 0.0059248058 0.0022753669 0.0051914823 + 1391700 0.0057075565 0.002033661 0.0048428489 + 1391800 0.0057446102 0.001919913 0.0047473384 + 1391900 0.0043183561 0.0019562949 0.0040817358 + 1392000 0.005077834 0.0017588239 0.0042580704 + 1392100 0.0046226707 0.001928926 0.0042041467 + 1392200 0.0050310489 0.0020543798 0.0045305991 + 1392300 0.0039447689 0.0021073865 0.0040489525 + 1392400 0.0059236913 0.0018140833 0.0047296501 + 1392500 0.0035820782 0.0020026072 0.0037656613 + 1392600 0.0049862416 0.0021834705 0.0046376363 + 1392700 0.0060355545 0.0024163221 0.0053869466 + 1392800 0.0043908724 0.0024171167 0.0045782492 + 1392900 0.0046737978 0.0021609852 0.0044613701 + 1393000 0.0059784835 0.0022228128 0.0051653477 + 1393100 0.0042526357 0.0027987798 0.0048918739 + 1393200 0.0038815926 0.002785934 0.0046964054 + 1393300 0.004615664 0.0022819304 0.0045537026 + 1393400 0.0045571403 0.0019967482 0.0042397157 + 1393500 0.0063180743 0.0021827396 0.0052924168 + 1393600 0.0058742453 0.0023099044 0.0052011345 + 1393700 0.0052514746 0.0018288219 0.0044135321 + 1393800 0.0055617161 0.0021978611 0.0049352682 + 1393900 0.0037492278 0.0030511112 0.0048964342 + 1394000 0.0077734508 0.0027966506 0.0066226459 + 1394100 0.0047694327 0.0026547916 0.0050022468 + 1394200 0.0056746229 0.0029227296 0.0057157081 + 1394300 0.0047207947 0.0031258418 0.0054493579 + 1394400 0.0048800076 0.0025860354 0.0049879141 + 1394500 0.0036520983 0.0020792133 0.0038767305 + 1394600 0.0053972253 0.0023399525 0.0049963993 + 1394700 0.0046818873 0.0026034959 0.0049078624 + 1394800 0.0062875663 0.0021892089 0.0052838704 + 1394900 0.0068432063 0.002090831 0.0054589716 + 1395000 0.0052709852 0.00214633 0.004740643 + 1395100 0.0050034588 0.0026378239 0.0051004638 + 1395200 0.0045105783 0.0027533463 0.0049733966 + 1395300 0.0038974004 0.0026235108 0.0045417625 + 1395400 0.0053123647 0.0021072402 0.0047219197 + 1395500 0.0055318495 0.0021395114 0.0048622186 + 1395600 0.0039845056 0.0026368631 0.0045979869 + 1395700 0.005637762 0.0024672988 0.0052421348 + 1395800 0.004946343 0.0024963864 0.0049309146 + 1395900 0.0050453721 0.002351409 0.0048346781 + 1396000 0.0066911459 0.0024335471 0.0057268455 + 1396100 0.0050961149 0.0028245018 0.0053327458 + 1396200 0.0040979303 0.0033703313 0.0053872813 + 1396300 0.0045668914 0.0029284202 0.005176187 + 1396400 0.0042710749 0.002749262 0.0048514316 + 1396500 0.0050237705 0.0023958113 0.0048684484 + 1396600 0.0039319219 0.0023969557 0.0043321985 + 1396700 0.0051046356 0.0027841703 0.0052966082 + 1396800 0.0049577387 0.0032592848 0.0056994218 + 1396900 0.0036835562 0.0040791933 0.0058921936 + 1397000 0.0051346636 0.0043093782 0.0068365954 + 1397100 0.0061205659 0.0036112633 0.0066237293 + 1397200 0.0073724451 0.0030689685 0.0066975938 + 1397300 0.0056915508 0.0031925681 0.0059938783 + 1397400 0.0044597626 0.0033107467 0.0055057861 + 1397500 0.0052232263 0.0031783061 0.0057491128 + 1397600 0.0055069116 0.0031915664 0.0059019994 + 1397700 0.0047946137 0.0031384855 0.0054983344 + 1397800 0.0050492382 0.0028371911 0.005322363 + 1397900 0.0055108315 0.0029296977 0.0056420601 + 1398000 0.0049871725 0.0031698549 0.0056244789 + 1398100 0.0049865574 0.0025712703 0.0050255915 + 1398200 0.0051450086 0.0024549887 0.0049872976 + 1398300 0.0046567594 0.0028208497 0.0051128485 + 1398400 0.0043547647 0.0029130517 0.0050564124 + 1398500 0.0042468151 0.0028274579 0.0049176872 + 1398600 0.0062077245 0.002854384 0.0059097484 + 1398700 0.0053026592 0.0029924627 0.0056023652 + 1398800 0.0066192763 0.0027960081 0.0060539332 + 1398900 0.0044345046 0.0022929912 0.004475599 + 1399000 0.0027834356 0.0018549152 0.0032248874 + 1399100 0.0042505018 0.0016897773 0.0037818212 + 1399200 0.0046226614 0.0014700539 0.00374527 + 1399300 0.0040252031 0.0012616025 0.0032427572 + 1399400 0.00446809 0.0012739443 0.0034730823 + 1399500 0.0051336608 0.0016412946 0.0041680183 + 1399600 0.0045035037 0.0023073874 0.0045239556 + 1399700 0.0055356005 0.002593531 0.0053180843 + 1399800 0.0040350096 0.0027663879 0.0047523692 + 1399900 0.0040076302 0.0026792658 0.0046517713 + 1400000 0.0052022387 0.002459721 0.0050201978 + 1400100 0.0049277232 0.0022774445 0.0047028083 + 1400200 0.005661902 0.0023518388 0.0051385562 + 1400300 0.0045115379 0.002416928 0.0046374506 + 1400400 0.0058415797 0.0026978563 0.0055730088 + 1400500 0.0039689188 0.0025618809 0.0045153331 + 1400600 0.0054037681 0.0023149535 0.0049746206 + 1400700 0.004048414 0.0025851478 0.0045777265 + 1400800 0.0044646227 0.0028522382 0.0050496697 + 1400900 0.0034767282 0.0026515887 0.0043627908 + 1401000 0.0038632458 0.0024297123 0.0043311536 + 1401100 0.00428947 0.0020715954 0.0041828189 + 1401200 0.0068178359 0.0021096746 0.0054653282 + 1401300 0.0066827696 0.0023471469 0.0056363225 + 1401400 0.0040292662 0.0023020103 0.0042851648 + 1401500 0.0052559225 0.0025968744 0.0051837738 + 1401600 0.0058132315 0.0028410918 0.0057022917 + 1401700 0.0056488007 0.0027856403 0.0055659094 + 1401800 0.0049905019 0.0026351644 0.0050914271 + 1401900 0.0057065479 0.0025849613 0.0053936529 + 1402000 0.0048340308 0.0027165135 0.005095763 + 1402100 0.0058744025 0.0028052648 0.0056965723 + 1402200 0.0052282217 0.0030224465 0.0055957119 + 1402300 0.0042472436 0.0034294009 0.0055198411 + 1402400 0.0053783136 0.0027266615 0.0053738002 + 1402500 0.0038391276 0.0022903266 0.0041798972 + 1402600 0.0056811966 0.0022576709 0.0050538849 + 1402700 0.0066492224 0.0025680634 0.0058407275 + 1402800 0.0051030582 0.0027544837 0.0052661451 + 1402900 0.0055956182 0.0032650075 0.0060191008 + 1403000 0.0044808396 0.0027997561 0.0050051694 + 1403100 0.005387691 0.0022744771 0.0049262312 + 1403200 0.0062176102 0.0024053235 0.0054655536 + 1403300 0.0048368591 0.0025310272 0.0049116688 + 1403400 0.0050211382 0.0024985627 0.0049699042 + 1403500 0.004799781 0.0029527907 0.0053151829 + 1403600 0.0053757796 0.0033550169 0.0060009084 + 1403700 0.006471317 0.0030011584 0.0061862598 + 1403800 0.0045375008 0.0024351445 0.0046684457 + 1403900 0.0040357551 0.0020397088 0.004026057 + 1404000 0.0062828409 0.0022757992 0.005368135 + 1404100 0.0045977907 0.0025021536 0.0047651287 + 1404200 0.0044443364 0.002597848 0.0047852948 + 1404300 0.0039310697 0.00219177 0.0041265934 + 1404400 0.0054710256 0.0021415725 0.0048343429 + 1404500 0.0037348212 0.0021665101 0.0040047424 + 1404600 0.005659335 0.001984024 0.004769478 + 1404700 0.0051169847 0.0021015387 0.0046200546 + 1404800 0.0054941892 0.0026958665 0.0054000378 + 1404900 0.0046659855 0.0027185346 0.0050150744 + 1405000 0.004428502 0.0027605933 0.0049402466 + 1405100 0.005131078 0.0024257692 0.0049512216 + 1405200 0.0042561553 0.0027394126 0.004834239 + 1405300 0.0058301806 0.0030478259 0.005917368 + 1405400 0.004701722 0.0034137685 0.0057278973 + 1405500 0.0058049605 0.0032024894 0.0060596184 + 1405600 0.005269833 0.003312417 0.0059061629 + 1405700 0.0065680873 0.0031577129 0.0063904433 + 1405800 0.0060360132 0.003255636 0.0062264863 + 1405900 0.0055652998 0.0032573489 0.0059965199 + 1406000 0.0063034246 0.0030490882 0.006151555 + 1406100 0.0053265039 0.0032679185 0.0058895572 + 1406200 0.0050000025 0.0033954131 0.0058563518 + 1406300 0.0057479062 0.0029879867 0.0058170343 + 1406400 0.0051084285 0.0031934027 0.0057077074 + 1406500 0.0041384349 0.0029958039 0.0050326898 + 1406600 0.0059564771 0.0029464259 0.0058781295 + 1406700 0.003891909 0.0032436548 0.0051592038 + 1406800 0.0040422962 0.0036741037 0.0056636714 + 1406900 0.0047962749 0.0034921062 0.0058527727 + 1407000 0.0053640237 0.0035308836 0.0061709891 + 1407100 0.0047633923 0.0032930471 0.0056375293 + 1407200 0.0066421882 0.0028424081 0.0061116101 + 1407300 0.0053146269 0.0030410217 0.0056568147 + 1407400 0.0044521907 0.0033133442 0.0055046568 + 1407500 0.0041297732 0.0029767839 0.0050094067 + 1407600 0.0052566392 0.0026683251 0.0052555772 + 1407700 0.0051771841 0.0031616861 0.0057098315 + 1407800 0.0043931478 0.0031436271 0.0053058795 + 1407900 0.0051619892 0.0026386612 0.0051793278 + 1408000 0.0049866527 0.0022685205 0.0047228886 + 1408100 0.006000193 0.0023376454 0.0052908653 + 1408200 0.0062344207 0.0031313758 0.0061998797 + 1408300 0.0042066694 0.0036212391 0.0056917092 + 1408400 0.0051616319 0.003714541 0.0062550317 + 1408500 0.005354826 0.0033346759 0.0059702543 + 1408600 0.0059747981 0.0031483525 0.0060890734 + 1408700 0.003710826 0.0034445929 0.0052710151 + 1408800 0.0040847754 0.0033959886 0.005406464 + 1408900 0.0056817537 0.0026967551 0.0054932432 + 1409000 0.0047279987 0.002610706 0.0049377679 + 1409100 0.0051847687 0.0027701993 0.0053220777 + 1409200 0.0057975933 0.0029536291 0.0058071321 + 1409300 0.0064300546 0.0027021729 0.0058669655 + 1409400 0.0054453501 0.0024156795 0.0050958128 + 1409500 0.0050489346 0.0024428512 0.0049278737 + 1409600 0.0061746994 0.0023963509 0.0054354608 + 1409700 0.0054622149 0.0027276719 0.0054161058 + 1409800 0.0061712443 0.0033063573 0.0063437666 + 1409900 0.0041750841 0.0034680627 0.0055229869 + 1410000 0.0054742449 0.0029263881 0.005620743 + 1410100 0.006039019 0.002306783 0.0052791127 + 1410200 0.0048202976 0.0022589097 0.0046313999 + 1410300 0.0043158528 0.0022506481 0.0043748569 + 1410400 0.0038744977 0.0023349109 0.0042418902 + 1410500 0.0036131903 0.0030337354 0.0048121025 + 1410600 0.0077647915 0.0031926131 0.0070143464 + 1410700 0.0043519939 0.0030919599 0.0052339569 + 1410800 0.0044286804 0.0022004444 0.0043801855 + 1410900 0.0052315459 0.0022091312 0.0047840327 + 1411000 0.0063624495 0.0025519181 0.0056834362 + 1411100 0.0061975473 0.0031927926 0.0062431479 + 1411200 0.0050491489 0.0033955537 0.0058806817 + 1411300 0.0050973093 0.003090989 0.0055998209 + 1411400 0.0048222264 0.0028246836 0.0051981232 + 1411500 0.006722088 0.0033724251 0.0066809527 + 1411600 0.0042359339 0.0034437448 0.0055286186 + 1411700 0.004994159 0.0025337676 0.0049918302 + 1411800 0.0047057996 0.0022759021 0.0045920379 + 1411900 0.0055112951 0.0024861426 0.0051987331 + 1412000 0.0050334708 0.0026881904 0.0051656018 + 1412100 0.0052233918 0.0031878104 0.0057586985 + 1412200 0.0057098679 0.0032770597 0.0060873853 + 1412300 0.0060362406 0.0033220285 0.0062929906 + 1412400 0.0051098854 0.003314234 0.0058292557 + 1412500 0.0049287258 0.0032339912 0.0056598484 + 1412600 0.0048140171 0.003129302 0.0054987011 + 1412700 0.0049130902 0.0032467423 0.0056649039 + 1412800 0.0047355555 0.0033531713 0.0056839525 + 1412900 0.0050592916 0.0035879063 0.0060780264 + 1413000 0.0054020901 0.003704881 0.0063637222 + 1413100 0.0070921876 0.003659767 0.0071504532 + 1413200 0.0066398931 0.0037399875 0.0070080599 + 1413300 0.0053910331 0.0038716764 0.0065250755 + 1413400 0.0052534864 0.0029305434 0.0055162438 + 1413500 0.0050694154 0.0028090249 0.0053041278 + 1413600 0.0060020699 0.0024369297 0.0053910735 + 1413700 0.00469103 0.0025498978 0.0048587641 + 1413800 0.0057744336 0.0020431829 0.0048852869 + 1413900 0.0057022544 0.0021201431 0.0049267214 + 1414000 0.0054352718 0.0023981245 0.0050732973 + 1414100 0.0053252492 0.0022922413 0.0049132624 + 1414200 0.0040891562 0.0025300665 0.0045426981 + 1414300 0.004454648 0.0022943056 0.0044868277 + 1414400 0.0047510288 0.0022724472 0.0046108442 + 1414500 0.0059549555 0.0022133475 0.0051443021 + 1414600 0.0037460606 0.0024177958 0.00426156 + 1414700 0.004645218 0.0025757065 0.0048620248 + 1414800 0.0067313894 0.0026816792 0.005994785 + 1414900 0.0051537673 0.0027837174 0.0053203372 + 1415000 0.0037853467 0.0027034421 0.0045665425 + 1415100 0.0049887169 0.0027574332 0.0052128172 + 1415200 0.004259714 0.002638491 0.0047350689 + 1415300 0.0058080096 0.0029248714 0.0057835012 + 1415400 0.0050575511 0.0032996659 0.0057889294 + 1415500 0.0056702377 0.0029018704 0.0056926905 + 1415600 0.0041813173 0.0031262222 0.0051842143 + 1415700 0.0036518493 0.003244745 0.0050421396 + 1415800 0.0064746447 0.0031260138 0.006312753 + 1415900 0.0034541078 0.0031496813 0.00484975 + 1416000 0.0043807181 0.0027863266 0.0049424613 + 1416100 0.0040724069 0.0025684026 0.0045727904 + 1416200 0.0044114843 0.0025757684 0.0047470458 + 1416300 0.0036506456 0.002562363 0.0043591651 + 1416400 0.0051063573 0.0026946148 0.0052079001 + 1416500 0.0067224303 0.0026560836 0.0059647797 + 1416600 0.0037761962 0.0029163879 0.0047749844 + 1416700 0.0031238541 0.0026027702 0.0041402921 + 1416800 0.0045377049 0.0024827909 0.0047161926 + 1416900 0.0049520879 0.0024183605 0.0048557163 + 1417000 0.0048498358 0.0022355464 0.004622575 + 1417100 0.0058244686 0.0022074119 0.0050741425 + 1417200 0.0041917752 0.0028073431 0.0048704825 + 1417300 0.0064847785 0.0027342817 0.0059260086 + 1417400 0.003812435 0.0030216286 0.0048980615 + 1417500 0.0049678171 0.0031184997 0.0055635972 + 1417600 0.0054888741 0.0028253043 0.0055268595 + 1417700 0.0052052966 0.0023758075 0.0049377894 + 1417800 0.0063311677 0.0024013228 0.0055174445 + 1417900 0.0052944244 0.0023996786 0.0050055281 + 1418000 0.0055153005 0.0026026617 0.0053172236 + 1418100 0.0040965031 0.0029904048 0.0050066524 + 1418200 0.0049497135 0.0030167244 0.0054529116 + 1418300 0.005794545 0.0030100875 0.0058620902 + 1418400 0.0062064507 0.002849766 0.0059045034 + 1418500 0.0062835104 0.0029900782 0.0060827435 + 1418600 0.0040685086 0.0031483069 0.005150776 + 1418700 0.0049389325 0.0027247819 0.0051556628 + 1418800 0.0043769484 0.0029927998 0.0051470791 + 1418900 0.0048438371 0.0032068648 0.0055909409 + 1419000 0.0053106977 0.0025883369 0.0052021959 + 1419100 0.0052334655 0.0025807333 0.0051565795 + 1419200 0.0053259558 0.0024292292 0.005050598 + 1419300 0.006438843 0.0020988403 0.0052679583 + 1419400 0.0061613627 0.0024683203 0.0055008659 + 1419500 0.0051850626 0.0031655113 0.0057175343 + 1419600 0.0063929105 0.0030163424 0.006162853 + 1419700 0.0046031872 0.0027644404 0.0050300716 + 1419800 0.0041442565 0.0025890347 0.004628786 + 1419900 0.0051120566 0.0022724136 0.0047885039 + 1420000 0.0047252344 0.002007493 0.0043331943 + 1420100 0.0038846704 0.0025664984 0.0044784846 + 1420200 0.0045162032 0.0027912914 0.0050141101 + 1420300 0.0052962065 0.0023703402 0.0049770669 + 1420400 0.0046431815 0.0025704443 0.0048557602 + 1420500 0.0048707164 0.0029085663 0.0053058721 + 1420600 0.0028101229 0.0033327634 0.0047158708 + 1420700 0.0033645537 0.0028944929 0.0045504842 + 1420800 0.0050281735 0.0023418884 0.0048166925 + 1420900 0.0049982262 0.0024787356 0.0049388001 + 1421000 0.0045041268 0.0027657644 0.0049826393 + 1421100 0.006028568 0.0027176006 0.0056847864 + 1421200 0.0059558809 0.0024328576 0.0053642678 + 1421300 0.005118859 0.0024395395 0.0049589779 + 1421400 0.0041328356 0.0027694868 0.0048036168 + 1421500 0.0040751532 0.0027993833 0.0048051228 + 1421600 0.0072353478 0.0026982168 0.0062593646 + 1421700 0.0063792728 0.0024120238 0.0055518222 + 1421800 0.0052133795 0.0027377024 0.0053036626 + 1421900 0.0060240168 0.0033043756 0.0062693213 + 1422000 0.0078461998 0.0031804708 0.0070422722 + 1422100 0.0043726043 0.003033485 0.0051856262 + 1422200 0.0056462002 0.0026342132 0.0054132023 + 1422300 0.0050940407 0.0026965174 0.0052037405 + 1422400 0.0047048534 0.0030989875 0.0054146575 + 1422500 0.0050221572 0.0031348104 0.0056066534 + 1422600 0.0057890534 0.0030098666 0.0058591663 + 1422700 0.0046060677 0.0028218013 0.0050888503 + 1422800 0.0053411193 0.0027982338 0.0054270659 + 1422900 0.0046531617 0.0029309312 0.0052211592 + 1423000 0.0049060346 0.0030114939 0.0054261828 + 1423100 0.0052374145 0.002487146 0.005064936 + 1423200 0.0043387981 0.0024888258 0.004624328 + 1423300 0.0040303981 0.0027476445 0.0047313561 + 1423400 0.0042311415 0.0027614898 0.0048440048 + 1423500 0.0055636661 0.0027782264 0.0055165933 + 1423600 0.0031954899 0.0029009424 0.0044737225 + 1423700 0.0035118845 0.0026468924 0.004375398 + 1423800 0.0046465084 0.0022770935 0.0045640468 + 1423900 0.0052452354 0.0025211128 0.0051027521 + 1424000 0.0071659994 0.0021667223 0.0056937376 + 1424100 0.0047625177 0.0020212875 0.0043653391 + 1424200 0.0054833087 0.0020382632 0.0047370792 + 1424300 0.0053736975 0.0023362746 0.0049811414 + 1424400 0.0049082355 0.0025861162 0.0050018883 + 1424500 0.0044906724 0.0022474004 0.0044576533 + 1424600 0.0056522541 0.0023140759 0.0050960447 + 1424700 0.0053046988 0.0029713812 0.0055822876 + 1424800 0.0045255515 0.0031781182 0.0054055381 + 1424900 0.0052833127 0.0025910653 0.0051914457 + 1425000 0.0082453846 0.0022901564 0.0063484317 + 1425100 0.0059911934 0.0025821524 0.0055309429 + 1425200 0.005310486 0.0023744444 0.0049881993 + 1425300 0.0040337856 0.002459758 0.0044451369 + 1425400 0.0045266645 0.0026327833 0.004860751 + 1425500 0.006430392 0.0027998028 0.0059647613 + 1425600 0.0073849285 0.0030499078 0.0066846773 + 1425700 0.0058941997 0.0031893347 0.0060903861 + 1425800 0.0064672085 0.0028778653 0.0060609445 + 1425900 0.0059281299 0.0029445942 0.0058623457 + 1426000 0.0044445082 0.0027931347 0.0049806661 + 1426100 0.0057670746 0.0023149931 0.0051534751 + 1426200 0.0052462211 0.0023875341 0.0049696585 + 1426300 0.0048631103 0.0026166118 0.0050101739 + 1426400 0.0045214456 0.002636283 0.004861682 + 1426500 0.0047214527 0.0031739707 0.0054978107 + 1426600 0.0049930596 0.0031306286 0.0055881501 + 1426700 0.0064091149 0.0029291042 0.0060835904 + 1426800 0.005225516 0.0025923876 0.0051643212 + 1426900 0.0053823632 0.0022421068 0.0048912387 + 1427000 0.0035919177 0.0022370207 0.0040049177 + 1427100 0.0040959648 0.0020754944 0.0040914771 + 1427200 0.0051322644 0.0021007897 0.0046268261 + 1427300 0.0040600807 0.0025050139 0.0045033348 + 1427400 0.0044711528 0.0025850285 0.0047856741 + 1427500 0.0040501676 0.0025410729 0.0045345148 + 1427600 0.0050827896 0.0025172963 0.0050189818 + 1427700 0.0041054909 0.0028537479 0.0048744192 + 1427800 0.002422849 0.0030832771 0.0042757731 + 1427900 0.0054602554 0.0026724811 0.0053599506 + 1428000 0.0049051527 0.0027130595 0.0051273144 + 1428100 0.0048261737 0.0028260645 0.0052014469 + 1428200 0.0037198352 0.0027347102 0.0045655666 + 1428300 0.0053097236 0.0029220933 0.0055354729 + 1428400 0.0048069512 0.002402343 0.0047682643 + 1428500 0.0048047477 0.001892698 0.0042575348 + 1428600 0.0043574643 0.0018820528 0.0040267423 + 1428700 0.0057573802 0.0022412238 0.0050749344 + 1428800 0.0056054607 0.0021375436 0.0048964813 + 1428900 0.0055832636 0.0022515304 0.0049995429 + 1429000 0.0052237665 0.0020697863 0.0046408589 + 1429100 0.0050720398 0.0026791964 0.005175591 + 1429200 0.0066023016 0.0028741892 0.0061237595 + 1429300 0.0048546996 0.0029177848 0.0053072072 + 1429400 0.0042922203 0.0021813539 0.0042939311 + 1429500 0.0054848643 0.0019252148 0.0046247964 + 1429600 0.0057852331 0.0021971473 0.0050445667 + 1429700 0.0046411352 0.0021559311 0.0044402399 + 1429800 0.0059692519 0.0023604719 0.0052984631 + 1429900 0.0062032888 0.0021960013 0.0052491826 + 1430000 0.0060543915 0.002449022 0.0054289178 + 1430100 0.0050584737 0.0026934507 0.0051831682 + 1430200 0.0050598884 0.003352586 0.0058429998 + 1430300 0.0062138211 0.0030940561 0.0061524211 + 1430400 0.0049399166 0.0025194472 0.0049508124 + 1430500 0.0060796898 0.0020537929 0.0050461403 + 1430600 0.0032370889 0.002252765 0.0038460197 + 1430700 0.0053373464 0.0024066189 0.0050335941 + 1430800 0.0056986218 0.0022558397 0.0050606301 + 1430900 0.0055681745 0.0020494159 0.0047900018 + 1431000 0.0051543885 0.0016790916 0.0042160172 + 1431100 0.0044113967 0.0016999911 0.0038712254 + 1431200 0.0049725099 0.0017500633 0.0041974705 + 1431300 0.0056691568 0.0015995463 0.0043898344 + 1431400 0.0043706435 0.0020946092 0.0042457853 + 1431500 0.0054327157 0.0021353874 0.0048093022 + 1431600 0.0057071143 0.0021680644 0.0049770348 + 1431700 0.0041229614 0.0021667478 0.0041960178 + 1431800 0.0043246619 0.0022622848 0.0043908293 + 1431900 0.0046715712 0.0022751089 0.0045743978 + 1432000 0.0048857975 0.0022524835 0.0046572119 + 1432100 0.005583855 0.0022525258 0.0050008294 + 1432200 0.0058969062 0.0026246282 0.0055270117 + 1432300 0.0050091953 0.0026478738 0.0051133371 + 1432400 0.004125182 0.0027458839 0.0047762469 + 1432500 0.0043433505 0.0026382676 0.0047760104 + 1432600 0.005605724 0.0021280454 0.0048871127 + 1432700 0.0045742085 0.0016275427 0.0038789109 + 1432800 0.006240219 0.0013349783 0.0044063361 + 1432900 0.0050004907 0.0016386217 0.0040998007 + 1433000 0.0052052254 0.0018045322 0.0043664791 + 1433100 0.0057707863 0.0016988386 0.0045391475 + 1433200 0.0054978267 0.0019606535 0.0046666151 + 1433300 0.0050393195 0.0021616254 0.0046419155 + 1433400 0.0052656456 0.0023184884 0.0049101734 + 1433500 0.0050012661 0.0025079667 0.0049695274 + 1433600 0.0031590228 0.0028332531 0.0043880847 + 1433700 0.0044967134 0.0029483783 0.0051616044 + 1433800 0.0050911391 0.0027733554 0.0052791504 + 1433900 0.0051259037 0.0019788994 0.0045018052 + 1434000 0.005440171 0.0018001395 0.0044777236 + 1434100 0.0042230978 0.0022584196 0.0043369756 + 1434200 0.0043529512 0.0028090256 0.0049514938 + 1434300 0.0059380939 0.0034177201 0.0063403757 + 1434400 0.0040615585 0.0036160973 0.0056151456 + 1434500 0.0060972572 0.0029985763 0.0059995701 + 1434600 0.0073663567 0.002846217 0.0064718457 + 1434700 0.0058063318 0.0029870497 0.0058448536 + 1434800 0.0057503856 0.0028623888 0.0056926567 + 1434900 0.0053292226 0.002641745 0.0052647217 + 1435000 0.0059156699 0.0025597028 0.0054713216 + 1435100 0.0049283064 0.0026331505 0.0050588013 + 1435200 0.0047677601 0.0021828222 0.0045294541 + 1435300 0.0054769719 0.0018942076 0.0045899047 + 1435400 0.0043257834 0.0019244442 0.0040535407 + 1435500 0.0054220825 0.0018963803 0.0045650615 + 1435600 0.0044808568 0.002085246 0.0042906677 + 1435700 0.0040345329 0.0022378687 0.0042236154 + 1435800 0.0054325983 0.0025600583 0.0052339152 + 1435900 0.0041225378 0.0028700994 0.004899161 + 1436000 0.0072261888 0.0028647652 0.006421405 + 1436100 0.0058016433 0.0032415686 0.0060970649 + 1436200 0.0061604854 0.0031053695 0.0061374835 + 1436300 0.0047130764 0.0032552726 0.0055749899 + 1436400 0.0053858723 0.003001336 0.005652195 + 1436500 0.0064340561 0.0028470678 0.0060138298 + 1436600 0.0053717668 0.002864798 0.0055087145 + 1436700 0.0055379541 0.0027871126 0.0055128244 + 1436800 0.0045611844 0.002859949 0.005104907 + 1436900 0.0042221899 0.002874094 0.0049522031 + 1437000 0.0077978454 0.0025174233 0.0063554253 + 1437100 0.0053211307 0.0023615542 0.0049805482 + 1437200 0.0047010693 0.00207739 0.0043911975 + 1437300 0.0052950883 0.0021359815 0.0047421578 + 1437400 0.0048867367 0.0020217506 0.0044269413 + 1437500 0.0054891646 0.0025781751 0.0052798733 + 1437600 0.006016951 0.0029510693 0.0059125374 + 1437700 0.0057760696 0.003013193 0.0058561022 + 1437800 0.0042745948 0.002921156 0.0050250581 + 1437900 0.0043286713 0.0025980065 0.0047285244 + 1438000 0.0054897607 0.0026974277 0.0053994193 + 1438100 0.0051805542 0.0024263256 0.0049761296 + 1438200 0.0054057793 0.002291602 0.004952259 + 1438300 0.0040105763 0.0024238677 0.0043978233 + 1438400 0.0040296787 0.0025545688 0.0045379262 + 1438500 0.0055793174 0.0022661911 0.0050122613 + 1438600 0.0059639964 0.0019286167 0.0048640211 + 1438700 0.0057067194 0.0019006841 0.0047094601 + 1438800 0.0052190475 0.0021096273 0.0046783772 + 1438900 0.0052966352 0.0021453668 0.0047523044 + 1439000 0.004168872 0.0022259988 0.0042778655 + 1439100 0.0040666525 0.0025337168 0.0045352724 + 1439200 0.0046165074 0.0026098631 0.0048820503 + 1439300 0.0033489 0.0029359534 0.0045842401 + 1439400 0.0055622873 0.0023619289 0.0050996172 + 1439500 0.0059099654 0.0023526232 0.0052614343 + 1439600 0.0058386897 0.0026161541 0.0054898842 + 1439700 0.0036622729 0.0031811399 0.0049836649 + 1439800 0.0069014802 0.0025731689 0.0059699912 + 1439900 0.00467839 0.0023258865 0.0046285316 + 1440000 0.0054507429 0.002210269 0.0048930565 + 1440100 0.0050398122 0.0026474696 0.0051280022 + 1440200 0.0053795248 0.0024084579 0.0050561928 + 1440300 0.0056431077 0.0023226261 0.0051000932 + 1440400 0.0051180516 0.0027513824 0.0052704234 + 1440500 0.004751959 0.0028749452 0.0052138 + 1440600 0.0054301589 0.0031951099 0.0058677663 + 1440700 0.0071509036 0.0030634789 0.0065830643 + 1440800 0.005697229 0.0030730619 0.0058771668 + 1440900 0.0056558925 0.0030118754 0.005795635 + 1441000 0.0054053832 0.0027729535 0.0054334156 + 1441100 0.0043197405 0.0022451223 0.0043712446 + 1441200 0.0054034056 0.0018899427 0.0045494313 + 1441300 0.0040758074 0.0023276347 0.0043336962 + 1441400 0.0057618226 0.0019449892 0.0047808863 + 1441500 0.003863061 0.0016789644 0.0035803148 + 1441600 0.0045365153 0.0015595662 0.0037923823 + 1441700 0.0043724493 0.0019924642 0.0041445291 + 1441800 0.0054842961 0.0024369316 0.0051362336 + 1441900 0.0042031389 0.0023866714 0.0044554038 + 1442000 0.0041637286 0.0020515104 0.0041008456 + 1442100 0.0054967831 0.0015529455 0.0042583935 + 1442200 0.0053087325 0.0018537677 0.0044666595 + 1442300 0.0051641581 0.0021990254 0.0047407595 + 1442400 0.0082333514 0.0023690264 0.0064213791 + 1442500 0.0055122985 0.0028025244 0.0055156088 + 1442600 0.004819339 0.0026169957 0.0049890141 + 1442700 0.0057003522 0.002424423 0.0052300651 + 1442800 0.0043090681 0.0025881903 0.0047090597 + 1442900 0.0049298534 0.0023320153 0.0047584276 + 1443000 0.004527354 0.0019311697 0.0041594768 + 1443100 0.0045383148 0.002387794 0.0046214958 + 1443200 0.0049789494 0.0027053195 0.0051558961 + 1443300 0.0041786809 0.0021435517 0.0042002462 + 1443400 0.0042855747 0.0016467595 0.0037560658 + 1443500 0.0039524739 0.0018501846 0.0037955428 + 1443600 0.0054767318 0.0022476462 0.0049432252 + 1443700 0.0040981486 0.0028715376 0.0048885951 + 1443800 0.0051813661 0.0027773399 0.0053275435 + 1443900 0.0058610178 0.0022845213 0.005169241 + 1444000 0.0060691527 0.0020427004 0.0050298615 + 1444100 0.004273708 0.0020409033 0.0041443689 + 1444200 0.0057601721 0.0019919121 0.0048269968 + 1444300 0.0051450157 0.0022678342 0.0048001466 + 1444400 0.0061797275 0.0023187529 0.0053603375 + 1444500 0.0054152944 0.0024194086 0.0050847488 + 1444600 0.0043242089 0.0022184009 0.0043467224 + 1444700 0.0040910836 0.0023268713 0.0043404515 + 1444800 0.006737659 0.0022334445 0.0055496361 + 1444900 0.0046827969 0.002129779 0.0044345931 + 1445000 0.0051904132 0.0021541894 0.0047088459 + 1445100 0.0041215945 0.0026114721 0.0046400693 + 1445200 0.0050376495 0.0027721383 0.0052516065 + 1445300 0.0049707342 0.002454661 0.0049011942 + 1445400 0.0050211287 0.0022458508 0.0047171876 + 1445500 0.0064837821 0.0024859923 0.0056772288 + 1445600 0.0041745759 0.0029991109 0.005053785 + 1445700 0.0046083976 0.0029649496 0.0052331453 + 1445800 0.0056819716 0.002475268 0.0052718634 + 1445900 0.0061237448 0.0026520178 0.0056660485 + 1446000 0.0059869549 0.0025457312 0.0054924356 + 1446100 0.0042774598 0.0022629432 0.0043682555 + 1446200 0.0049790658 0.0024076408 0.0048582747 + 1446300 0.0045941404 0.0023031089 0.0045642873 + 1446400 0.0059994139 0.0022169243 0.0051697608 + 1446500 0.0064689148 0.0024717625 0.0056556815 + 1446600 0.0064988472 0.002626856 0.0058255074 + 1446700 0.0045089763 0.0031544351 0.0053736968 + 1446800 0.0049323496 0.003436858 0.0058644989 + 1446900 0.0051583038 0.0029532937 0.0054921463 + 1447000 0.0065034862 0.0025383845 0.0057393191 + 1447100 0.0064958796 0.0022439445 0.0054411353 + 1447200 0.0055280283 0.0025307011 0.0052515275 + 1447300 0.0035994451 0.0029116647 0.0046832665 + 1447400 0.0038951938 0.0031160751 0.0050332408 + 1447500 0.0043810972 0.003076702 0.0052330232 + 1447600 0.0038818647 0.0029572712 0.0048678764 + 1447700 0.0043969104 0.0025777737 0.004741878 + 1447800 0.0051880413 0.0026655529 0.005219042 + 1447900 0.0058677404 0.0030522887 0.0059403172 + 1448000 0.0056123812 0.0031992812 0.0059616251 + 1448100 0.0047038257 0.002992389 0.0053075532 + 1448200 0.0052473328 0.002755556 0.0053382276 + 1448300 0.0045659674 0.0025343869 0.004781699 + 1448400 0.0043244913 0.002363594 0.0044920545 + 1448500 0.0048691053 0.0022792345 0.0046757473 + 1448600 0.0040902483 0.002271355 0.0042845241 + 1448700 0.0044533307 0.0021779166 0.0043697903 + 1448800 0.0054406021 0.0023911526 0.0050689489 + 1448900 0.0055986419 0.0025444658 0.0053000473 + 1449000 0.0040985989 0.0028586779 0.004875957 + 1449100 0.0039037356 0.0026663488 0.0045877186 + 1449200 0.0051896997 0.0020487543 0.0046030596 + 1449300 0.0046637657 0.0022182569 0.0045137041 + 1449400 0.0047326447 0.0024823688 0.0048117173 + 1449500 0.0043907161 0.00289044 0.0050514956 + 1449600 0.0050036168 0.0023626654 0.004825383 + 1449700 0.0044892396 0.0018008958 0.0040104434 + 1449800 0.0041381965 0.0018550536 0.0038918222 + 1449900 0.0045469441 0.0018294381 0.0040673872 + 1450000 0.0053443819 0.0018850201 0.0045154581 + 1450100 0.0053077899 0.0019291134 0.0045415412 + 1450200 0.0046770962 0.0018372378 0.0041392461 + 1450300 0.0041060274 0.0017501484 0.0037710837 + 1450400 0.0045443577 0.0022331698 0.0044698459 + 1450500 0.0040917899 0.00227851 0.0042924379 + 1450600 0.0044528886 0.0025245705 0.0047162266 + 1450700 0.0077242918 0.0025732969 0.0063750968 + 1450800 0.004673057 0.0026031573 0.0049031776 + 1450900 0.0051565372 0.0022305417 0.0047685249 + 1451000 0.0047530357 0.0024731204 0.0048125051 + 1451100 0.0053819818 0.002143506 0.0047924501 + 1451200 0.0039921904 0.0018576415 0.0038225477 + 1451300 0.0040407392 0.0018373091 0.0038261104 + 1451400 0.0057770815 0.002020262 0.0048636693 + 1451500 0.0057793239 0.0023819825 0.0052264935 + 1451600 0.0059501228 0.0025541218 0.0054826978 + 1451700 0.004992635 0.0026118846 0.0050691972 + 1451800 0.0042705065 0.0027377157 0.0048396056 + 1451900 0.0061825548 0.0023534094 0.0053963856 + 1452000 0.0061143615 0.0020336791 0.0050430914 + 1452100 0.005035615 0.0019193825 0.0043978493 + 1452200 0.0050468765 0.0017585784 0.0042425879 + 1452300 0.0057606853 0.0018222199 0.0046575572 + 1452400 0.0052939947 0.0023354181 0.0049410561 + 1452500 0.0045148278 0.0024835416 0.0047056834 + 1452600 0.0038620989 0.0025165734 0.0044174502 + 1452700 0.0047361801 0.0017215179 0.0040526065 + 1452800 0.0036355785 0.001475301 0.0032646873 + 1452900 0.0044302557 0.0015320014 0.0037125179 + 1453000 0.0029696101 0.0015336841 0.0029952891 + 1453100 0.0044506151 0.0015056022 0.0036961393 + 1453200 0.0039679043 0.001728229 0.0036811819 + 1453300 0.0044293507 0.0019994794 0.0041795505 + 1453400 0.0038216433 0.0021453491 0.0040263141 + 1453500 0.0029630905 0.0022646143 0.0037230104 + 1453600 0.004092387 0.0022455757 0.0042597974 + 1453700 0.0041679687 0.0021353046 0.0041867267 + 1453800 0.0048859439 0.0017002946 0.0041050951 + 1453900 0.0046145978 0.0019458161 0.0042170634 + 1454000 0.0043678578 0.0023311429 0.004480948 + 1454100 0.0045635293 0.0028739891 0.0051201012 + 1454200 0.0057517637 0.0025747457 0.0054056919 + 1454300 0.0061688972 0.0028100651 0.0058463192 + 1454400 0.0055768641 0.0030342801 0.0057791429 + 1454500 0.0043428335 0.0029081862 0.0050456746 + 1454600 0.0040126848 0.0027128225 0.0046878158 + 1454700 0.0067366798 0.0025867486 0.0059024581 + 1454800 0.0055035761 0.0027013082 0.0054100995 + 1454900 0.0054044031 0.0027630477 0.0054230273 + 1455000 0.0052005893 0.0030228782 0.0055825432 + 1455100 0.0053218406 0.0025187365 0.0051380799 + 1455200 0.006220633 0.0024602475 0.0055219653 + 1455300 0.0045490126 0.0026144805 0.0048534476 + 1455400 0.0057668759 0.0026796241 0.0055180083 + 1455500 0.0057640098 0.0024844484 0.0053214219 + 1455600 0.0043598832 0.0025393191 0.0046851991 + 1455700 0.0041067053 0.0024459049 0.0044671739 + 1455800 0.0053855644 0.002475139 0.0051258465 + 1455900 0.0064364927 0.0026968246 0.0058647859 + 1456000 0.0056620265 0.0031409851 0.0059277637 + 1456100 0.0060260626 0.0032823801 0.0062483328 + 1456200 0.0044485583 0.0031527594 0.0053422842 + 1456300 0.0075328377 0.0028630929 0.0065706614 + 1456400 0.0049629475 0.0029909502 0.005433651 + 1456500 0.0065965043 0.0024942414 0.0057409584 + 1456600 0.0040403945 0.0025584217 0.0045470534 + 1456700 0.0038413528 0.0023942429 0.0042849088 + 1456800 0.00406378 0.002311224 0.0043113657 + 1456900 0.0059544096 0.0022862609 0.0052169469 + 1457000 0.0060641016 0.0026073962 0.0055920712 + 1457100 0.0050907915 0.0034496822 0.0059553061 + 1457200 0.0048851028 0.0037802086 0.0061845951 + 1457300 0.0057816018 0.0033663699 0.0062120021 + 1457400 0.0052544367 0.0033025128 0.0058886809 + 1457500 0.0040780887 0.003037704 0.0050448883 + 1457600 0.0070999257 0.0022131144 0.0057076091 + 1457700 0.0053715342 0.0022630314 0.0049068334 + 1457800 0.0052659605 0.0025290105 0.0051208505 + 1457900 0.0049165165 0.0024379133 0.0048577612 + 1458000 0.0040260409 0.0019845504 0.0039661174 + 1458100 0.0055938445 0.0017082142 0.0044614346 + 1458200 0.0051657866 0.0016877934 0.004230329 + 1458300 0.0047316698 0.0016884559 0.0040173246 + 1458400 0.0056030003 0.0014917075 0.0042494342 + 1458500 0.0044948937 0.001994127 0.0042064575 + 1458600 0.0045650454 0.0020245202 0.0042713785 + 1458700 0.0060057131 0.0021905003 0.0051464372 + 1458800 0.004984183 0.0027703996 0.0052235522 + 1458900 0.0037133339 0.0026619421 0.0044895986 + 1459000 0.0050402689 0.0024254723 0.0049062297 + 1459100 0.0039993787 0.0026144426 0.0045828868 + 1459200 0.005335063 0.0025063166 0.005132168 + 1459300 0.0047667012 0.0026823016 0.0050284123 + 1459400 0.0053175534 0.0026533112 0.0052705445 + 1459500 0.0059013037 0.0027041753 0.0056087232 + 1459600 0.0051865527 0.0025666865 0.0051194429 + 1459700 0.0056191377 0.002077063 0.0048427324 + 1459800 0.0039731684 0.0017560864 0.0037116302 + 1459900 0.0040862271 0.0020447881 0.004055978 + 1460000 0.0038600446 0.0020413075 0.0039411732 + 1460100 0.0056905511 0.0019006589 0.004701477 + 1460200 0.0043042007 0.0022036998 0.0043221736 + 1460300 0.0036073916 0.0022997644 0.0040752774 + 1460400 0.0054991097 0.002308138 0.0050147311 + 1460500 0.0053664189 0.0027498506 0.0053911349 + 1460600 0.0042070614 0.0029686162 0.0050392793 + 1460700 0.0056423044 0.0022207922 0.0049978638 + 1460800 0.0036562103 0.0023297069 0.0041292479 + 1460900 0.0049143861 0.0024820876 0.004900887 + 1461000 0.0050673857 0.0025591363 0.0050532402 + 1461100 0.005552966 0.0025323576 0.005265458 + 1461200 0.0045274324 0.002636337 0.0048646826 + 1461300 0.0051552854 0.0019793549 0.0045167219 + 1461400 0.0051032643 0.0020839819 0.0045957448 + 1461500 0.0046741029 0.0022035409 0.004504076 + 1461600 0.0050886352 0.0021381603 0.004642723 + 1461700 0.0044829993 0.0021038136 0.0043102899 + 1461800 0.005261017 0.0022237267 0.0048131335 + 1461900 0.0063964779 0.0020461019 0.0051943684 + 1462000 0.0048089821 0.0022758218 0.0046427427 + 1462100 0.0058335702 0.002133831 0.0050050413 + 1462200 0.005833142 0.0025610087 0.0054320082 + 1462300 0.0073287174 0.00252742 0.0061345231 + 1462400 0.0074497135 0.0024670252 0.0061336811 + 1462500 0.0052417861 0.0026172659 0.0051972075 + 1462600 0.0038293829 0.0028119197 0.0046966941 + 1462700 0.0050620146 0.002542355 0.0050338153 + 1462800 0.0061535497 0.0019765026 0.0050052028 + 1462900 0.0043133566 0.0019872676 0.0041102478 + 1463000 0.0046690829 0.0017370829 0.0040351471 + 1463100 0.0056162915 0.0020160308 0.0047802993 + 1463200 0.0065958424 0.0018375592 0.0050839503 + 1463300 0.0045259109 0.0023728015 0.0046003983 + 1463400 0.0056189919 0.0025908741 0.0053564717 + 1463500 0.003892952 0.002524481 0.0044405433 + 1463600 0.0052037391 0.0023961968 0.0049574121 + 1463700 0.0060521585 0.002736188 0.0057149848 + 1463800 0.0060200547 0.0024609783 0.005423974 + 1463900 0.0062464382 0.0024860457 0.0055604645 + 1464000 0.0046618119 0.0029283765 0.005222862 + 1464100 0.0053509649 0.0027915094 0.0054251875 + 1464200 0.0052450073 0.0021251285 0.0047066555 + 1464300 0.0045923932 0.0022092789 0.0044695974 + 1464400 0.0064804748 0.0021178272 0.0053074359 + 1464500 0.0058239458 0.0019091398 0.0047756131 + 1464600 0.0057561293 0.002381125 0.0052142199 + 1464700 0.0063167106 0.0026015072 0.0057105132 + 1464800 0.0055250422 0.0025190176 0.0052383743 + 1464900 0.0059048397 0.0022264514 0.0051327396 + 1465000 0.0047975042 0.0021112483 0.0044725199 + 1465100 0.004812345 0.0024455181 0.0048140942 + 1465200 0.0041906628 0.0022126681 0.0042752599 + 1465300 0.0052894279 0.0017741453 0.0043775355 + 1465400 0.0035440637 0.0021130303 0.0038573742 + 1465500 0.0063790549 0.0023004169 0.005440108 + 1465600 0.0053037447 0.0022174481 0.004827885 + 1465700 0.0053615667 0.0017845301 0.0044234262 + 1465800 0.0064281801 0.001846151 0.0050100209 + 1465900 0.004392384 0.0022435296 0.0044054061 + 1466000 0.0056215645 0.0020737457 0.0048406095 + 1466100 0.0069303404 0.001982267 0.0053932939 + 1466200 0.0039233041 0.0025076493 0.0044386506 + 1466300 0.0043456824 0.0030262603 0.0051651509 + 1466400 0.0054964061 0.0026624456 0.005367708 + 1466500 0.0051529834 0.0021233158 0.0046595498 + 1466600 0.0051025646 0.0020208704 0.0045322889 + 1466700 0.0036920232 0.0026417048 0.0044588724 + 1466800 0.0062729657 0.0027293632 0.0058168385 + 1466900 0.0036850788 0.0026219203 0.0044356701 + 1467000 0.0055305188 0.0021996107 0.0049216629 + 1467100 0.0050328088 0.0022800107 0.0047570963 + 1467200 0.0045088946 0.0026754063 0.0048946279 + 1467300 0.0067189221 0.0024848851 0.0057918546 + 1467400 0.0041504265 0.0025648253 0.0046076134 + 1467500 0.0050200157 0.0016478679 0.0041186569 + 1467600 0.0056708385 0.0012067668 0.0039978826 + 1467700 0.0039664262 0.0015924305 0.0035446559 + 1467800 0.0047517751 0.0017091015 0.0040478658 + 1467900 0.0040318823 0.0019570093 0.0039414514 + 1468000 0.0059689337 0.0021348671 0.0050727017 + 1468100 0.0052220791 0.0022060146 0.0047762567 + 1468200 0.005351207 0.0022614198 0.004895217 + 1468300 0.0051296387 0.002471451 0.004996195 + 1468400 0.0059397428 0.0026647527 0.0055882199 + 1468500 0.004836268 0.0027348755 0.0051152261 + 1468600 0.0045664059 0.0026382499 0.0048857778 + 1468700 0.0050748642 0.0021812272 0.0046790119 + 1468800 0.0060615897 0.0024975763 0.005481015 + 1468900 0.005165727 0.003031924 0.0055744303 + 1469000 0.0050069467 0.0027418176 0.0052061742 + 1469100 0.0063040427 0.0022247739 0.005327545 + 1469200 0.0058813032 0.0027591086 0.0056538126 + 1469300 0.0062246817 0.0032317561 0.0062954666 + 1469400 0.0069780425 0.0028726078 0.0063071131 + 1469500 0.0043740559 0.0024176065 0.0045704621 + 1469600 0.0042210021 0.002220526 0.0042980504 + 1469700 0.0049476948 0.0022230267 0.0046582202 + 1469800 0.0041033581 0.0024484634 0.0044680849 + 1469900 0.0053391595 0.0019424022 0.0045702697 + 1470000 0.0052649741 0.0016201944 0.0042115488 + 1470100 0.0041506391 0.0018147625 0.0038576552 + 1470200 0.0039353557 0.0023289283 0.0042658612 + 1470300 0.0051687797 0.0026747721 0.0052187808 + 1470400 0.005457987 0.0029790513 0.0056654043 + 1470500 0.0047001847 0.0030428745 0.0053562467 + 1470600 0.0062848741 0.0029369583 0.0060302948 + 1470700 0.0053483481 0.0023425496 0.0049749397 + 1470800 0.0046298731 0.002701677 0.0049804427 + 1470900 0.005378385 0.0028081891 0.005455363 + 1471000 0.0049974589 0.0030637546 0.0055234414 + 1471100 0.0040441975 0.0033372814 0.0053277848 + 1471200 0.0052506042 0.0024765537 0.0050608354 + 1471300 0.0049307818 0.0020971046 0.0045239737 + 1471400 0.0037125807 0.0023584189 0.0041857047 + 1471500 0.0057839854 0.0026375109 0.0054843162 + 1471600 0.0051020979 0.0031088683 0.0056200571 + 1471700 0.005112001 0.0028057856 0.0053218486 + 1471800 0.0038944529 0.0024537617 0.0043705627 + 1471900 0.0050757275 0.002474715 0.0049729246 + 1472000 0.0040363223 0.0025479071 0.0045345345 + 1472100 0.0054991139 0.0024194879 0.005126083 + 1472200 0.0037397234 0.002272239 0.0041128841 + 1472300 0.0052684362 0.0018914908 0.0044845493 + 1472400 0.0058124449 0.0019606431 0.0048214558 + 1472500 0.0054166848 0.0021896052 0.0048556298 + 1472600 0.0043009406 0.0024723184 0.0045891876 + 1472700 0.0043391084 0.0024839479 0.0046196028 + 1472800 0.0041601402 0.0027484741 0.0047960431 + 1472900 0.0060902708 0.0027147119 0.0057122671 + 1473000 0.0056284171 0.0023811832 0.0051514198 + 1473100 0.0044186439 0.002869692 0.0050444933 + 1473200 0.0056250596 0.0028702082 0.0056387923 + 1473300 0.006122598 0.002543577 0.0055570432 + 1473400 0.0053697826 0.0024120497 0.0050549895 + 1473500 0.0045524312 0.0024212013 0.004661851 + 1473600 0.0051201615 0.0024047411 0.0049248206 + 1473700 0.004328414 0.0024074006 0.0045377919 + 1473800 0.004375284 0.0026578268 0.0048112868 + 1473900 0.0034745171 0.0026203168 0.0043304307 + 1474000 0.0046952722 0.0024592187 0.004770173 + 1474100 0.0041937972 0.0026414029 0.0047055375 + 1474200 0.0050491276 0.0024951751 0.0049802926 + 1474300 0.005071739 0.0024813884 0.0049776349 + 1474400 0.0048483873 0.0027535179 0.0051398335 + 1474500 0.003439335 0.0030861866 0.0047789843 + 1474600 0.0046806776 0.0031116167 0.0054153877 + 1474700 0.0051005895 0.0031586275 0.0056690739 + 1474800 0.0045812468 0.0024959888 0.0047508212 + 1474900 0.0049193222 0.0019684774 0.0043897063 + 1475000 0.004025492 0.0019438189 0.0039251157 + 1475100 0.0053335216 0.0024355682 0.0050606609 + 1475200 0.0042283563 0.0027882581 0.0048694022 + 1475300 0.0041783184 0.0025092077 0.0045657238 + 1475400 0.0051615541 0.0025098724 0.0050503249 + 1475500 0.0046727433 0.0025727239 0.0048725897 + 1475600 0.0048229083 0.0030994913 0.0054732665 + 1475700 0.0053479681 0.0027459424 0.0053781454 + 1475800 0.0056938732 0.00229776 0.0051002133 + 1475900 0.0066606015 0.0021606215 0.0054388863 + 1476000 0.0054506311 0.0027687568 0.0054514893 + 1476100 0.0052469251 0.0029102322 0.0054927031 + 1476200 0.0059866021 0.002585514 0.0055320448 + 1476300 0.0053226569 0.0026988071 0.0053185522 + 1476400 0.0046562363 0.002783342 0.0050750833 + 1476500 0.0057905924 0.0027091415 0.0055591987 + 1476600 0.0051831556 0.0030537101 0.0056047945 + 1476700 0.0051945648 0.0028876048 0.0054443047 + 1476800 0.0064346075 0.002094562 0.0052615954 + 1476900 0.0045089863 0.0020867583 0.004306025 + 1477000 0.0049485516 0.0020289717 0.0044645869 + 1477100 0.0038093396 0.0021030892 0.0039779986 + 1477200 0.0042239067 0.002278068 0.004357022 + 1477300 0.0044920953 0.0022513195 0.0044622727 + 1477400 0.0036360087 0.0023117774 0.0041013754 + 1477500 0.0072963458 0.001797872 0.0053890422 + 1477600 0.005761113 0.0023190632 0.005154611 + 1477700 0.004711836 0.0029133292 0.005232436 + 1477800 0.0075090334 0.0022616619 0.0059575143 + 1477900 0.0067621433 0.0024795042 0.0058077466 + 1478000 0.0054257788 0.0028823751 0.0055528756 + 1478100 0.004809301 0.0028407131 0.0052077909 + 1478200 0.0059905176 0.0019986197 0.0049470775 + 1478300 0.0049938101 0.0021843725 0.0046422634 + 1478400 0.0057921857 0.0023615204 0.0052123618 + 1478500 0.0036316995 0.0022833679 0.004070845 + 1478600 0.0051313331 0.0020763462 0.0046019242 + 1478700 0.0042261603 0.0024020623 0.0044821255 + 1478800 0.0054450359 0.0025120023 0.0051919809 + 1478900 0.0042112756 0.0022837965 0.0043565337 + 1479000 0.0066798416 0.0020283568 0.0053160913 + 1479100 0.003677835 0.0023141394 0.0041243238 + 1479200 0.0057875988 0.0018695353 0.0047181191 + 1479300 0.0040640682 0.0020498024 0.0040500859 + 1479400 0.0052917982 0.002246603 0.0048511599 + 1479500 0.0053729266 0.0022285204 0.0048730077 + 1479600 0.0055549304 0.0020948337 0.004828901 + 1479700 0.005312006 0.0022153432 0.0048298461 + 1479800 0.0052321827 0.0021922773 0.0047674922 + 1479900 0.0049108309 0.0024681067 0.0048851563 + 1480000 0.0049913913 0.0024277523 0.0048844527 + 1480100 0.0046884435 0.0023480122 0.0046556055 + 1480200 0.0046514242 0.0021879367 0.0044773096 + 1480300 0.005818492 0.0016500257 0.0045138147 + 1480400 0.0040712871 0.0016185433 0.0036223799 + 1480500 0.0055308427 0.0016013844 0.004323596 + 1480600 0.0051335397 0.0020078688 0.0045345329 + 1480700 0.0051779068 0.0020527763 0.0046012773 + 1480800 0.0036003753 0.0025601138 0.0043321735 + 1480900 0.0050774443 0.0020462776 0.0045453322 + 1481000 0.0047331285 0.001930828 0.0042604147 + 1481100 0.0053417861 0.0019763791 0.0046055394 + 1481200 0.0053160283 0.0023335219 0.0049500046 + 1481300 0.0050440708 0.0027999238 0.0052825524 + 1481400 0.0040046392 0.0027982974 0.0047693308 + 1481500 0.0047712666 0.0022334872 0.004581845 + 1481600 0.006278134 0.0017350282 0.0048250473 + 1481700 0.0050210989 0.0013425118 0.0038138339 + 1481800 0.0051577801 0.0015166755 0.0040552704 + 1481900 0.0046211917 0.0021607594 0.0044352521 + 1482000 0.0052439351 0.0020764316 0.004657431 + 1482100 0.004623649 0.0017972067 0.0040729089 + 1482200 0.003633326 0.0023231522 0.0041114298 + 1482300 0.0052336027 0.0022127552 0.004788669 + 1482400 0.0047319068 0.0019727944 0.0043017798 + 1482500 0.0058836562 0.002029415 0.0049252771 + 1482600 0.0047508246 0.0020749628 0.0044132593 + 1482700 0.0040083107 0.0020724551 0.0040452955 + 1482800 0.0043259459 0.002450936 0.0045801125 + 1482900 0.0054891892 0.0022054277 0.004907138 + 1483000 0.0049072034 0.002195659 0.0046109232 + 1483100 0.0050095441 0.0018827448 0.0043483799 + 1483200 0.0061337962 0.0016051852 0.004624163 + 1483300 0.0034731773 0.0019196136 0.0036290681 + 1483400 0.0057455027 0.0016687622 0.0044966268 + 1483500 0.0041965536 0.0015701748 0.003635666 + 1483600 0.0064621267 0.0020978752 0.0052784532 + 1483700 0.0056579586 0.002553032 0.0053378085 + 1483800 0.0050943526 0.0024472087 0.0049545854 + 1483900 0.0060095324 0.0017020895 0.0046599062 + 1484000 0.0048725622 0.0017087075 0.0041069217 + 1484100 0.0058389932 0.0018134559 0.0046873354 + 1484200 0.0040625466 0.001785213 0.0037847477 + 1484300 0.0048127961 0.0019202834 0.0042890815 + 1484400 0.0040456915 0.0019026208 0.0038938596 + 1484500 0.0046382196 0.0020794832 0.0043623569 + 1484600 0.0059618057 0.0022062807 0.0051406069 + 1484700 0.004474053 0.0023768351 0.0045789081 + 1484800 0.0057268259 0.0025026653 0.0053213374 + 1484900 0.0070290766 0.0026233793 0.0060830029 + 1485000 0.0058593027 0.0021718529 0.0050557285 + 1485100 0.0057741873 0.0021620543 0.0050040371 + 1485200 0.0046232296 0.0022943788 0.0045698746 + 1485300 0.0046229038 0.0020517952 0.0043271307 + 1485400 0.0069711308 0.0019955459 0.0054266493 + 1485500 0.0037600749 0.0025465228 0.0043971847 + 1485600 0.0049671754 0.0023907202 0.0048355018 + 1485700 0.0045212299 0.0021361256 0.0043614185 + 1485800 0.0047417601 0.00193531 0.004269145 + 1485900 0.0040935802 0.0018954145 0.0039102235 + 1486000 0.0054223593 0.0019366603 0.0046054778 + 1486100 0.0049741098 0.0019474125 0.0043956071 + 1486200 0.0051315397 0.001746892 0.0042725717 + 1486300 0.0040892734 0.0017679419 0.0037806311 + 1486400 0.0051713241 0.0017500977 0.0042953588 + 1486500 0.0053252713 0.0020025251 0.0046235571 + 1486600 0.0049891334 0.0021669263 0.0046225154 + 1486700 0.0051624073 0.0022207261 0.0047615984 + 1486800 0.0055600054 0.0019780764 0.0047146416 + 1486900 0.0044725272 0.0016565552 0.0038578772 + 1487000 0.0038569611 0.0020878057 0.0039861537 + 1487100 0.0042014084 0.0021082122 0.004176093 + 1487200 0.0041225022 0.001847204 0.003876248 + 1487300 0.0061639437 0.0020288277 0.0050626438 + 1487400 0.0041828684 0.0022285924 0.004287348 + 1487500 0.0047222936 0.0021043938 0.0044286477 + 1487600 0.0047728608 0.0021713991 0.0045205415 + 1487700 0.0054022805 0.0021416511 0.004800586 + 1487800 0.0057642032 0.0020056539 0.0048427227 + 1487900 0.0041725237 0.0020685396 0.0041222036 + 1488000 0.0047335985 0.002336157 0.004665975 + 1488100 0.0039194911 0.0022824711 0.0042115956 + 1488200 0.0056918568 0.0021527227 0.0049541834 + 1488300 0.0047371444 0.002314746 0.0046463093 + 1488400 0.0036184475 0.0022836425 0.0040645971 + 1488500 0.0060769676 0.0022008946 0.0051919021 + 1488600 0.0053056667 0.0023792952 0.004990678 + 1488700 0.0049890244 0.0026103559 0.0050658913 + 1488800 0.0047280977 0.0018408078 0.0041679184 + 1488900 0.0050310734 0.0015526673 0.0040288987 + 1489000 0.0030279694 0.0020259143 0.003516243 + 1489100 0.0040753339 0.0017749526 0.0037807811 + 1489200 0.0049143134 0.00182655 0.0042453137 + 1489300 0.0053934064 0.0020533543 0.0047079216 + 1489400 0.0044453483 0.0024197441 0.004607689 + 1489500 0.005006057 0.0025497106 0.0050136292 + 1489600 0.0041636355 0.0024987037 0.0045479931 + 1489700 0.0036361462 0.0021665333 0.003956199 + 1489800 0.005520629 0.0019323342 0.0046495188 + 1489900 0.0051112125 0.0021011751 0.00461685 + 1490000 0.0049866329 0.0017306345 0.0041849929 + 1490100 0.0050280954 0.001743046 0.0042178117 + 1490200 0.0054599859 0.0024547322 0.005142069 + 1490300 0.0052509425 0.0030254358 0.005609884 + 1490400 0.006099269 0.0025870061 0.00558899 + 1490500 0.0046530595 0.0023062917 0.0045964694 + 1490600 0.0051762461 0.0020993804 0.004647064 + 1490700 0.004209551 0.0021408886 0.0042127769 + 1490800 0.0047993217 0.0024004496 0.0047626157 + 1490900 0.0043113988 0.0023268997 0.0044489163 + 1491000 0.0070438938 0.0019125128 0.0053794293 + 1491100 0.0051969504 0.0018322031 0.0043900771 + 1491200 0.0065870132 0.0025401164 0.005782162 + 1491300 0.0058848402 0.0029071776 0.0058036224 + 1491400 0.0057073813 0.0028003628 0.0056094645 + 1491500 0.0054708302 0.0027567049 0.0054493791 + 1491600 0.0060574532 0.0029741406 0.0059555434 + 1491700 0.0067749743 0.0029093565 0.0062439142 + 1491800 0.0040517318 0.0027457226 0.0047399344 + 1491900 0.0049106513 0.0024389231 0.0048558843 + 1492000 0.0048693229 0.002382194 0.0047788139 + 1492100 0.0039760842 0.0023445617 0.0043015406 + 1492200 0.0039563732 0.0022555002 0.0042027777 + 1492300 0.0061402379 0.0022241968 0.0052463451 + 1492400 0.0046981845 0.0021621666 0.0044745543 + 1492500 0.0061620992 0.0023058026 0.0053387108 + 1492600 0.0056723113 0.0022587708 0.0050506116 + 1492700 0.004374376 0.0019791576 0.0041321708 + 1492800 0.0051179574 0.0016452523 0.0041642469 + 1492900 0.0051217253 0.0017982244 0.0043190736 + 1493000 0.0043367751 0.0020876618 0.0042221683 + 1493100 0.0057110405 0.0020716562 0.0048825589 + 1493200 0.0054088969 0.0018879922 0.0045501836 + 1493300 0.0037462486 0.0018742151 0.0037180719 + 1493400 0.0041228384 0.0022328105 0.00426202 + 1493500 0.0042915768 0.0022858664 0.0043981268 + 1493600 0.0038822733 0.0022789052 0.0041897116 + 1493700 0.0045568427 0.0024898583 0.0047326793 + 1493800 0.004889903 0.002511586 0.0049183352 + 1493900 0.0051332831 0.0029583776 0.0054849153 + 1494000 0.0038936262 0.0030287321 0.0049451263 + 1494100 0.0046573889 0.0025916917 0.0048840003 + 1494200 0.0042404733 0.0025069613 0.0045940693 + 1494300 0.0047886397 0.0025346103 0.0048915189 + 1494400 0.0036940996 0.0025934398 0.0044116294 + 1494500 0.0052152606 0.0023431775 0.0049100636 + 1494600 0.0045771326 0.0025537281 0.0048065355 + 1494700 0.0056228919 0.0027079346 0.0054754517 + 1494800 0.0046977804 0.0028562583 0.0051684471 + 1494900 0.0072781221 0.0023315014 0.0059137021 + 1495000 0.0053893869 0.0029292007 0.0055817896 + 1495100 0.0051316629 0.0031379183 0.0056636586 + 1495200 0.0040352407 0.0027123334 0.0046984285 + 1495300 0.0046071083 0.0021280201 0.0043955813 + 1495400 0.0051242313 0.0024683531 0.0049904357 + 1495500 0.0039134039 0.002757552 0.0046836804 + 1495600 0.0051955306 0.0025614806 0.0051186558 + 1495700 0.0071407429 0.0020065389 0.0055211233 + 1495800 0.0049062226 0.002547521 0.0049623024 + 1495900 0.0054572946 0.0024594402 0.0051454524 + 1496000 0.0048460987 0.0019930538 0.0043782431 + 1496100 0.0047224798 0.0018700009 0.0041943465 + 1496200 0.0058106778 0.002600817 0.00546076 + 1496300 0.0037572657 0.0023775654 0.0042268447 + 1496400 0.0053676725 0.0019266048 0.0045685061 + 1496500 0.0037820482 0.0020506038 0.0039120807 + 1496600 0.0043922694 0.0018933131 0.0040551332 + 1496700 0.0049116885 0.0019904042 0.0044078759 + 1496800 0.0064686884 0.0022090458 0.0053928534 + 1496900 0.0056418451 0.0024679365 0.0052447821 + 1497000 0.0044039129 0.0024045301 0.004572081 + 1497100 0.0050243786 0.0022184287 0.004691365 + 1497200 0.0044962725 0.0018647046 0.0040777137 + 1497300 0.0057675093 0.0021165442 0.0049552402 + 1497400 0.0064855587 0.0024501237 0.0056422346 + 1497500 0.0048884081 0.0022667889 0.0046728022 + 1497600 0.0043743439 0.0023057229 0.0044587203 + 1497700 0.0051383204 0.0020947972 0.0046238143 + 1497800 0.0056113501 0.0024502475 0.0052120839 + 1497900 0.0046424239 0.0029310253 0.0052159683 + 1498000 0.0048303442 0.0030032859 0.0053807209 + 1498100 0.0053288447 0.0030215831 0.0056443739 + 1498200 0.006190151 0.0024560006 0.0055027155 + 1498300 0.0047339802 0.0025649886 0.0048949945 + 1498400 0.0047732437 0.0028964423 0.0052457732 + 1498500 0.0058257672 0.0032489682 0.0061163379 + 1498600 0.005224941 0.0026672475 0.0052388981 + 1498700 0.0066058123 0.0020487635 0.0053000618 + 1498800 0.0052402189 0.0023020849 0.0048812551 + 1498900 0.0057598318 0.0027525906 0.0055875078 + 1499000 0.006462978 0.003261612 0.006442609 + 1499100 0.0052821828 0.0030295106 0.0056293349 + 1499200 0.0066515845 0.0020029443 0.005276771 + 1499300 0.005189816 0.0020638007 0.0046181632 + 1499400 0.0047091417 0.0028078733 0.005125654 + 1499500 0.0049923512 0.0026393393 0.0050965121 + 1499600 0.0053829076 0.0024310294 0.0050804292 + 1499700 0.0049351259 0.002653142 0.0050821493 + 1499800 0.004175189 0.0030298658 0.0050848416 + 1499900 0.0039830053 0.0026626597 0.0046230451 + 1500000 0.0053063803 0.0024955895 0.0051073236 + 1500100 0.00538144 0.0024130616 0.0050617391 + 1500200 0.0033731303 0.0025798354 0.004240048 + 1500300 0.0052138096 0.0026616875 0.0052278594 + 1500400 0.0048908054 0.00256389 0.0049710833 + 1500500 0.005605817 0.0024809108 0.0052400238 + 1500600 0.0083054647 0.0020381304 0.0061259763 + 1500700 0.0039901198 0.0025453819 0.004509269 + 1500800 0.0039442523 0.0028185719 0.0047598836 + 1500900 0.0064953768 0.0026945961 0.0058915393 + 1501000 0.0051713954 0.0026472671 0.0051925633 + 1501100 0.0045808102 0.0023586042 0.0046132217 + 1501200 0.0054831361 0.0022415292 0.0049402602 + 1501300 0.005703674 0.0022725187 0.0050797957 + 1501400 0.0058000982 0.0021463039 0.0050010397 + 1501500 0.0049085428 0.0019706151 0.0043865384 + 1501600 0.0054898994 0.0026318307 0.0053338905 + 1501700 0.0054776618 0.0031192022 0.0058152389 + 1501800 0.0065533734 0.002527848 0.0057533364 + 1501900 0.0050227419 0.0017830663 0.004255197 + 1502000 0.0044600228 0.0018606142 0.0040557816 + 1502100 0.0048988415 0.0019482666 0.0043594151 + 1502200 0.0050910227 0.0020857053 0.004591443 + 1502300 0.0036172829 0.0020145811 0.0037949626 + 1502400 0.0057261608 0.0018877584 0.0047061032 + 1502500 0.0044130262 0.0020455779 0.0042176142 + 1502600 0.0054312699 0.0020175809 0.0046907841 + 1502700 0.006569266 0.0021028036 0.0053361142 + 1502800 0.0055254479 0.0020638006 0.004783357 + 1502900 0.0046685253 0.0021815534 0.0044793432 + 1503000 0.0053389079 0.0022470715 0.0048748153 + 1503100 0.004484593 0.0023578866 0.0045651472 + 1503200 0.0057579776 0.0021617884 0.004995793 + 1503300 0.0053259272 0.0018522453 0.0044736001 + 1503400 0.0038118231 0.0022744395 0.0041505712 + 1503500 0.0035371544 0.0022381228 0.003979066 + 1503600 0.0049393705 0.0018423824 0.0042734788 + 1503700 0.0056506053 0.0018363681 0.0046175254 + 1503800 0.0042078627 0.0023310311 0.0044020885 + 1503900 0.0046982276 0.0022262141 0.004538623 + 1504000 0.0054000543 0.0021817691 0.0048396083 + 1504100 0.007620372 0.0020347027 0.0057853545 + 1504200 0.0049685023 0.0022102093 0.004655644 + 1504300 0.0069666157 0.0021726119 0.005601493 + 1504400 0.0039746795 0.0024647812 0.0044210687 + 1504500 0.0049684767 0.002578387 0.0050238092 + 1504600 0.0046493347 0.0025759273 0.0048642717 + 1504700 0.0059808328 0.002542617 0.0054863082 + 1504800 0.005807672 0.0025918616 0.0054503252 + 1504900 0.0052666192 0.002439487 0.0050316512 + 1505000 0.0040263221 0.0023453789 0.0043270844 + 1505100 0.0049196549 0.0025070305 0.0049284232 + 1505200 0.005199888 0.0027826172 0.005341937 + 1505300 0.0051755984 0.0027637824 0.0053111472 + 1505400 0.0044334398 0.0025783204 0.004760404 + 1505500 0.0050215683 0.0026814833 0.0051530365 + 1505600 0.0068871459 0.0026910716 0.0060808387 + 1505700 0.0034158809 0.0028530913 0.0045343451 + 1505800 0.004750186 0.0024340844 0.0047720665 + 1505900 0.0044044184 0.0022618212 0.0044296209 + 1506000 0.0059852292 0.002275757 0.0052216119 + 1506100 0.0049180553 0.0023111951 0.0047318005 + 1506200 0.0053122389 0.0023261461 0.0049407637 + 1506300 0.005540164 0.0022969425 0.005023742 + 1506400 0.0044421535 0.0022848414 0.0044712138 + 1506500 0.0045910173 0.0024650186 0.00472466 + 1506600 0.0029678411 0.0028482977 0.004309032 + 1506700 0.0059011087 0.0027522343 0.0056566862 + 1506800 0.0062094556 0.0027816633 0.0058378797 + 1506900 0.0046834538 0.0027283652 0.0050335027 + 1507000 0.0064377564 0.0025180422 0.0056866254 + 1507100 0.0051317478 0.0019867926 0.0045125747 + 1507200 0.0034722671 0.0019865039 0.0036955103 + 1507300 0.0058536389 0.0019052749 0.0047863628 + 1507400 0.007367905 0.0020258921 0.0056522829 + 1507500 0.005091641 0.0024659569 0.004971999 + 1507600 0.0038962354 0.0024986301 0.0044163085 + 1507700 0.0056833616 0.0023217916 0.0051190712 + 1507800 0.0046790886 0.0023028329 0.0046058218 + 1507900 0.0056068001 0.0021900065 0.0049496035 + 1508000 0.0057270986 0.0019332008 0.0047520072 + 1508100 0.0049003562 0.0019969272 0.0044088213 + 1508200 0.0049641908 0.002283153 0.0047264656 + 1508300 0.0056139941 0.0025134136 0.0052765514 + 1508400 0.0050142284 0.0024053753 0.0048733159 + 1508500 0.0050884752 0.0022894321 0.004793916 + 1508600 0.0037391449 0.0026972276 0.004537588 + 1508700 0.005847924 0.0024081132 0.0052863882 + 1508800 0.0046783115 0.0025004575 0.004803064 + 1508900 0.0058612726 0.0023170312 0.0052018763 + 1509000 0.0042133066 0.0022552463 0.0043289832 + 1509100 0.0045394656 0.0021880857 0.0044223539 + 1509200 0.0043160076 0.0021466985 0.0042709835 + 1509300 0.0054088679 0.0020215602 0.0046837374 + 1509400 0.0057433408 0.0018501112 0.0046769118 + 1509500 0.0045777781 0.0021932856 0.0044464107 + 1509600 0.0043730526 0.0022295264 0.0043818882 + 1509700 0.0040878597 0.0021007782 0.0041127717 + 1509800 0.0064019997 0.0020199123 0.0051708965 + 1509900 0.004920369 0.0022112102 0.0046329543 + 1510000 0.0043250938 0.0020862418 0.0042149989 + 1510100 0.0046469299 0.0018873627 0.0041745235 + 1510200 0.0041413938 0.0022254086 0.0042637509 + 1510300 0.0051746076 0.0022916508 0.004838528 + 1510400 0.0049909355 0.0023341844 0.0047906604 + 1510500 0.0055920391 0.0023022392 0.0050545709 + 1510600 0.0059822309 0.0025767656 0.0055211449 + 1510700 0.0052249748 0.0025543414 0.0051260087 + 1510800 0.0050048571 0.0020384034 0.0045017315 + 1510900 0.0051532727 0.001982109 0.0045184854 + 1511000 0.003157535 0.0024982925 0.0040523918 + 1511100 0.0046626339 0.0021273302 0.0044222203 + 1511200 0.0066117176 0.0021289698 0.0053831745 + 1511300 0.0053724601 0.0027379717 0.0053822294 + 1511400 0.0063686304 0.0029050801 0.0060396404 + 1511500 0.0042616468 0.0030686449 0.0051661742 + 1511600 0.0046514302 0.0028660752 0.005155451 + 1511700 0.0030872146 0.0025843549 0.0041038434 + 1511800 0.00551199 0.002529563 0.0052424956 + 1511900 0.0066624626 0.0024244852 0.0057036661 + 1512000 0.0046932441 0.0023640688 0.0046740248 + 1512100 0.0043899585 0.0023998791 0.0045605618 + 1512200 0.0047346667 0.0027617529 0.0050920967 + 1512300 0.0061337121 0.0025482623 0.0055671987 + 1512400 0.0049219779 0.0022933987 0.0047159347 + 1512500 0.004733558 0.0021906598 0.0045204579 + 1512600 0.0066262716 0.0026145466 0.0058759147 + 1512700 0.0050500865 0.0031374926 0.0056230821 + 1512800 0.0052034669 0.0030270056 0.005588087 + 1512900 0.0048713191 0.0027322889 0.0051298912 + 1513000 0.0050998461 0.0023608821 0.0048709626 + 1513100 0.0035947177 0.0025309924 0.0043002676 + 1513200 0.004519494 0.0026734714 0.0048979099 + 1513300 0.0048892144 0.0025646955 0.0049711057 + 1513400 0.0049442897 0.002338969 0.0047724865 + 1513500 0.0058350123 0.0018943529 0.004766273 + 1513600 0.0063785907 0.0018104882 0.0049499508 + 1513700 0.0050169731 0.0021432146 0.0046125061 + 1513800 0.0045782202 0.0023272486 0.0045805914 + 1513900 0.0063483127 0.0021363241 0.0052608842 + 1514000 0.0037406842 0.0022503744 0.0040914924 + 1514100 0.0052076132 0.0025594105 0.0051225326 + 1514200 0.0043183582 0.0030104598 0.0051359017 + 1514300 0.0035589451 0.0032078688 0.0049595371 + 1514400 0.0057294244 0.0029336174 0.0057535685 + 1514500 0.0056673592 0.0027114487 0.0055008521 + 1514600 0.0039394312 0.0025887225 0.0045276613 + 1514700 0.0046977238 0.0028460018 0.0051581628 + 1514800 0.0030304196 0.0034129825 0.0049045171 + 1514900 0.0047641793 0.0035162204 0.0058610899 + 1515000 0.0067098611 0.0033933101 0.0066958199 + 1515100 0.0055216592 0.0033137075 0.0060313991 + 1515200 0.0070011508 0.00324889 0.006694769 + 1515300 0.0047151022 0.0028407987 0.005161513 + 1515400 0.0052679757 0.0028875587 0.0054803906 + 1515500 0.0043667397 0.0026115728 0.0047608275 + 1515600 0.0067704084 0.0027909926 0.0061233029 + 1515700 0.0047410533 0.0027470297 0.0050805168 + 1515800 0.0048475361 0.0024983794 0.004884276 + 1515900 0.0057658052 0.001941589 0.0047794463 + 1516000 0.0063034605 0.0019217696 0.0050242541 + 1516100 0.0052012658 0.0023774694 0.0049374674 + 1516200 0.0040880067 0.0024053279 0.0044173937 + 1516300 0.0051613684 0.0026706705 0.0052110315 + 1516400 0.0043263853 0.0027262913 0.004855684 + 1516500 0.0061142855 0.0025891175 0.0055984924 + 1516600 0.0057193019 0.0026051141 0.005420083 + 1516700 0.0041397421 0.0026073491 0.0046448784 + 1516800 0.0043359565 0.0024874463 0.0046215499 + 1516900 0.0050319752 0.002768596 0.0052452712 + 1517000 0.0044742491 0.0031460338 0.0053482032 + 1517100 0.0059663165 0.0028324735 0.0057690198 + 1517200 0.0049882673 0.0025840117 0.0050391745 + 1517300 0.0071620027 0.0024580667 0.0059831149 + 1517400 0.0050849934 0.0023447324 0.0048475026 + 1517500 0.0040152319 0.0022905317 0.0042667786 + 1517600 0.0033882412 0.0021209967 0.0037886466 + 1517700 0.0045394546 0.0020346857 0.0042689485 + 1517800 0.0056146061 0.0018829777 0.0046464167 + 1517900 0.0049890444 0.0019210955 0.0043766408 + 1518000 0.0065520843 0.0019748282 0.0051996822 + 1518100 0.0052118667 0.0019921583 0.0045573739 + 1518200 0.0052967815 0.0018299904 0.004437 + 1518300 0.0052244096 0.0015980403 0.0041694294 + 1518400 0.0053305539 0.0015758832 0.0041995152 + 1518500 0.0050123434 0.0016362264 0.0041032391 + 1518600 0.0044080613 0.0019285912 0.0040981839 + 1518700 0.0049166628 0.002172694 0.004592614 + 1518800 0.0040761055 0.002814155 0.0048203632 + 1518900 0.0045184457 0.0020974566 0.0043213791 + 1519000 0.0070690227 0.001913368 0.0053926526 + 1519100 0.0046433712 0.0021385759 0.0044239851 + 1519200 0.006846257 0.0018851864 0.0052548285 + 1519300 0.0036494832 0.0020104365 0.0038066665 + 1519400 0.0040480394 0.0021488441 0.0041412385 + 1519500 0.0065235807 0.00201613 0.0052269548 + 1519600 0.005788757 0.0025064324 0.0053555862 + 1519700 0.0051429881 0.0029563557 0.0054876701 + 1519800 0.006453313 0.0028372625 0.0060135025 + 1519900 0.008804368 0.0026172457 0.0069506456 + 1520000 0.0064435651 0.0022321964 0.0054036386 + 1520100 0.0054629247 0.0025135654 0.0052023486 + 1520200 0.0057127968 0.0026370471 0.0054488143 + 1520300 0.0054066401 0.0026271139 0.0052881946 + 1520400 0.0049780957 0.0028512557 0.0053014121 + 1520500 0.0050204876 0.003121894 0.0055929153 + 1520600 0.0044173276 0.0030643542 0.0052385076 + 1520700 0.0053155211 0.0025722405 0.0051884735 + 1520800 0.0041616614 0.0021172571 0.0041655748 + 1520900 0.0051705483 0.0019430455 0.0044879248 + 1521000 0.0051771708 0.0023296951 0.0048778339 + 1521100 0.0049211499 0.0024795835 0.004901712 + 1521200 0.0065676518 0.0026569251 0.0058894412 + 1521300 0.0052450625 0.0028770572 0.0054586114 + 1521400 0.0064315911 0.0027022535 0.0058678023 + 1521500 0.006035403 0.0032460925 0.0062166425 + 1521600 0.0058056124 0.0040217218 0.0068791717 + 1521700 0.0068341632 0.0035971614 0.0069608512 + 1521800 0.0055313935 0.0028125234 0.0055350061 + 1521900 0.0051993038 0.0021936166 0.004752649 + 1522000 0.0066222458 0.0023391834 0.00559857 + 1522100 0.0052110745 0.0028122174 0.0053770431 + 1522200 0.0046166611 0.0028382652 0.0051105281 + 1522300 0.0056823838 0.0023981143 0.0051949125 + 1522400 0.0048327478 0.0028107489 0.005189367 + 1522500 0.0050480058 0.0032530792 0.0057376445 + 1522600 0.0067970451 0.0024779927 0.0058234134 + 1522700 0.0070873443 0.0024086059 0.0058969082 + 1522800 0.0059862563 0.0026562027 0.0056025633 + 1522900 0.0036273316 0.0028420704 0.0046273977 + 1523000 0.0046641983 0.0023901877 0.0046858478 + 1523100 0.005761937 0.0024875582 0.0053235115 + 1523200 0.0032955585 0.0030950037 0.0047170364 + 1523300 0.0063920056 0.0027971854 0.0059432506 + 1523400 0.005779443 0.0024008115 0.0052453811 + 1523500 0.004913466 0.0030599057 0.0054782522 + 1523600 0.0052834992 0.0031263213 0.0057267936 + 1523700 0.0052672281 0.0028800962 0.0054725601 + 1523800 0.007626696 0.0025457897 0.0062995541 + 1523900 0.0057381703 0.0026457392 0.0054699949 + 1524000 0.0059372336 0.0024858469 0.005408079 + 1524100 0.005019727 0.0026520058 0.0051226527 + 1524200 0.004491858 0.0022769421 0.0044877785 + 1524300 0.0044660624 0.0019136592 0.0041117993 + 1524400 0.005597545 0.0019232528 0.0046782945 + 1524500 0.003949405 0.0022021767 0.0041460245 + 1524600 0.0039644872 0.0021113019 0.0040625729 + 1524700 0.004013818 0.0019386425 0.0039141935 + 1524800 0.0056993789 0.0018115042 0.0046166673 + 1524900 0.0039602761 0.0024694639 0.0044186622 + 1525000 0.0056239061 0.0026153409 0.0053833572 + 1525100 0.0056658881 0.0026190828 0.0054077621 + 1525200 0.0060170318 0.0029249159 0.0058864237 + 1525300 0.0050628593 0.0029653417 0.0054572177 + 1525400 0.004440378 0.0027678536 0.0049533521 + 1525500 0.0035644163 0.0029686452 0.0047230063 + 1525600 0.0063025417 0.0026283431 0.0057303754 + 1525700 0.0066095765 0.0025407841 0.005793935 + 1525800 0.0061914345 0.0021594536 0.0052068002 + 1525900 0.0056365787 0.0020912127 0.0048654663 + 1526000 0.0052570331 0.002275318 0.0048627639 + 1526100 0.0055454895 0.0023111935 0.0050406141 + 1526200 0.0056134852 0.0024527083 0.0052155956 + 1526300 0.0049505998 0.0024303445 0.0048669679 + 1526400 0.0063436207 0.0021751979 0.0052974487 + 1526500 0.0061182594 0.0019162951 0.0049276259 + 1526600 0.0061746854 0.0024253074 0.0054644104 + 1526700 0.0033382485 0.0029008603 0.0045439045 + 1526800 0.004904667 0.0022731766 0.0046871924 + 1526900 0.0041591508 0.002019344 0.0040664261 + 1527000 0.0056691784 0.0023020349 0.0050923336 + 1527100 0.0036506614 0.0027199229 0.0045167329 + 1527200 0.0046501066 0.0028555807 0.0051443051 + 1527300 0.0060783256 0.0024348375 0.0054265134 + 1527400 0.0045621669 0.0020697467 0.0043151882 + 1527500 0.0062111954 0.0020592098 0.0051162826 + 1527600 0.0062695462 0.0021537206 0.0052395128 + 1527700 0.0045533549 0.0020650329 0.0043061372 + 1527800 0.0059589779 0.0018617589 0.0047946934 + 1527900 0.0047566112 0.0020586012 0.0043997457 + 1528000 0.0046843009 0.0024850844 0.0047906387 + 1528100 0.0046662728 0.0021564955 0.0044531767 + 1528200 0.0046445498 0.0019189003 0.0042048897 + 1528300 0.0043402479 0.0019490497 0.0040852654 + 1528400 0.003908136 0.0024318138 0.0043553495 + 1528500 0.0051572649 0.0024381448 0.0049764862 + 1528600 0.0067530171 0.0025456971 0.0058694477 + 1528700 0.0065737754 0.0025231539 0.0057586839 + 1528800 0.0052736952 0.0023810339 0.0049766808 + 1528900 0.0053113245 0.0026444526 0.0052586202 + 1529000 0.0031294504 0.0025086225 0.0040488989 + 1529100 0.0054655146 0.0020197348 0.0047097927 + 1529200 0.0057010971 0.0021682527 0.0049742614 + 1529300 0.0056067117 0.0029889069 0.0057484603 + 1529400 0.0042490678 0.0032349073 0.0053262453 + 1529500 0.0048596395 0.0031183885 0.0055102423 + 1529600 0.0038864432 0.0026401058 0.0045529646 + 1529700 0.0044372602 0.0018869476 0.0040709116 + 1529800 0.0056578314 0.0018578868 0.0046426006 + 1529900 0.004646665 0.0017447214 0.0040317518 + 1530000 0.0049179998 0.0017472191 0.0041677971 + 1530100 0.0049670749 0.0022327246 0.0046774568 + 1530200 0.0044606768 0.0024750193 0.0046705087 + 1530300 0.0050395585 0.0025413105 0.0050217182 + 1530400 0.0043000699 0.0024226919 0.0045391326 + 1530500 0.0066614187 0.0025130737 0.0057917407 + 1530600 0.0070518647 0.0027064789 0.0061773185 + 1530700 0.0053949502 0.0031448532 0.0058001803 + 1530800 0.0050898928 0.0030697086 0.0055748903 + 1530900 0.0047332277 0.0024066583 0.0047362939 + 1531000 0.0037568753 0.0022509714 0.0041000585 + 1531100 0.0047901565 0.0022381289 0.0045957841 + 1531200 0.0042636233 0.0018798702 0.0039783723 + 1531300 0.005150097 0.0013995626 0.003934376 + 1531400 0.0048598463 0.001567074 0.0039590297 + 1531500 0.0060367097 0.0021073591 0.0050785522 + 1531600 0.00481401 0.0023610481 0.0047304437 + 1531700 0.0041505908 0.0020656414 0.0041085103 + 1531800 0.0037466095 0.0020010158 0.0038450501 + 1531900 0.0047464373 0.0017798739 0.004116011 + 1532000 0.0047386024 0.0017927779 0.0041250588 + 1532100 0.0056464559 0.0019803089 0.0047594239 + 1532200 0.0052729266 0.0019005988 0.0044958674 + 1532300 0.0053523605 0.0019873421 0.004621707 + 1532400 0.0058223495 0.0024460526 0.0053117403 + 1532500 0.006083729 0.0027528337 0.0057471691 + 1532600 0.0046483318 0.0030605909 0.0053484417 + 1532700 0.0055563113 0.0028029732 0.0055377202 + 1532800 0.0052574377 0.0024691484 0.0050567935 + 1532900 0.0064059441 0.0024053876 0.0055583132 + 1533000 0.0059502382 0.0022792857 0.0052079186 + 1533100 0.0055956693 0.0020038494 0.0047579679 + 1533200 0.0073974004 0.0023211018 0.0059620098 + 1533300 0.0059842801 0.0028718073 0.0058171952 + 1533400 0.0061769436 0.0030621368 0.0061023512 + 1533500 0.0045311863 0.0027811304 0.0050113237 + 1533600 0.0064067045 0.0020003802 0.0051536801 + 1533700 0.0047785441 0.0019842618 0.0043362015 + 1533800 0.0041047173 0.0018056059 0.0038258964 + 1533900 0.0052892213 0.0021534749 0.0047567636 + 1534000 0.0037061436 0.0023537041 0.0041778216 + 1534100 0.0035887389 0.0019769107 0.0037432431 + 1534200 0.0059322438 0.0022206342 0.0051404105 + 1534300 0.0060186234 0.0023957672 0.0053580584 + 1534400 0.0048767919 0.002475283 0.004875579 + 1534500 0.0053961712 0.0027737105 0.0054296386 + 1534600 0.0044365491 0.0025869044 0.0047705184 + 1534700 0.0043450812 0.0025153969 0.0046539916 + 1534800 0.0040576479 0.0027553798 0.0047525034 + 1534900 0.0045892899 0.0030190549 0.005277846 + 1535000 0.0052006753 0.0024124116 0.004972119 + 1535100 0.0056405958 0.0021904489 0.0049666797 + 1535200 0.0041278047 0.0024382849 0.0044699388 + 1535300 0.0046055612 0.0026180448 0.0048848445 + 1535400 0.0058656196 0.002513991 0.0054009756 + 1535500 0.0050846172 0.0029252944 0.0054278794 + 1535600 0.0044171463 0.0030169608 0.005191025 + 1535700 0.0045227573 0.0027173102 0.0049433548 + 1535800 0.0060488187 0.0025968294 0.0055739824 + 1535900 0.0060051961 0.0024250976 0.0053807801 + 1536000 0.0056132688 0.0020521669 0.0048149477 + 1536100 0.0057611999 0.0019552126 0.0047908031 + 1536200 0.0042944587 0.0026999818 0.0048136607 + 1536300 0.0054943969 0.0029676081 0.0056718816 + 1536400 0.0045594472 0.0030257561 0.005269859 + 1536500 0.0050765243 0.0025718648 0.0050704666 + 1536600 0.0061933073 0.0027138874 0.0057621559 + 1536700 0.0054596755 0.0032772193 0.0059644034 + 1536800 0.006016262 0.0031211556 0.0060822845 + 1536900 0.0036760346 0.0032931116 0.0051024099 + 1537000 0.0052384431 0.0033360067 0.0059143029 + 1537100 0.0045876789 0.0036970032 0.0059550014 + 1537200 0.0053059397 0.0035072117 0.0061187289 + 1537300 0.003220545 0.003221151 0.004806263 + 1537400 0.0052182023 0.0027828608 0.0053511947 + 1537500 0.0037282144 0.0027495561 0.0045845366 + 1537600 0.0062517397 0.0024589749 0.005536003 + 1537700 0.0042136899 0.0021815656 0.0042554911 + 1537800 0.0055582808 0.0021442065 0.0048799229 + 1537900 0.0032371796 0.0027200582 0.0043133576 + 1538000 0.0050785226 0.0028036007 0.0053031861 + 1538100 0.0034304305 0.002791869 0.004480284 + 1538200 0.0055764741 0.0025072339 0.0052519047 + 1538300 0.0047773702 0.0026846791 0.005036041 + 1538400 0.0039691481 0.0029860913 0.0049396564 + 1538500 0.0058806784 0.0028701222 0.0057645186 + 1538600 0.0064988594 0.0030722133 0.0062708706 + 1538700 0.0046440358 0.0034666427 0.0057523791 + 1538800 0.0045858782 0.0035587958 0.0058159077 + 1538900 0.0043007734 0.0039314831 0.0060482701 + 1539000 0.0047219812 0.0035056813 0.0058297814 + 1539100 0.0065666026 0.0030348935 0.0062668932 + 1539200 0.0059687332 0.0030912167 0.0060289526 + 1539300 0.0044617291 0.0033982708 0.0055942781 + 1539400 0.005295409 0.003416013 0.0060223471 + 1539500 0.0043528778 0.0040012211 0.0061436532 + 1539600 0.0056599921 0.0038689584 0.0066547358 + 1539700 0.0046005107 0.0030331443 0.0052974582 + 1539800 0.0056559297 0.0024883643 0.0052721422 + 1539900 0.005189098 0.0023233805 0.0048773896 + 1540000 0.0047314962 0.0024354863 0.0047642695 + 1540100 0.0049421291 0.0025955771 0.0050280313 + 1540200 0.0053057455 0.0025058668 0.0051172884 + 1540300 0.0044788174 0.0023882271 0.004592645 + 1540400 0.007502924 0.0021672956 0.005860141 + 1540500 0.0052952544 0.002340476 0.004946734 + 1540600 0.0053949699 0.002576816 0.0052321528 + 1540700 0.0052957744 0.0028037649 0.0054102788 + 1540800 0.0048021638 0.0027240799 0.0050876449 + 1540900 0.0059612221 0.0029010782 0.0058351172 + 1541000 0.0056114406 0.0026858834 0.0054477644 + 1541100 0.0072871619 0.0023714239 0.0059580739 + 1541200 0.0055083862 0.0022910696 0.0050022285 + 1541300 0.0047483457 0.0022072333 0.0045443097 + 1541400 0.0042949546 0.0022330614 0.0043469844 + 1541500 0.0040706492 0.0022069037 0.0042104263 + 1541600 0.0040117505 0.0021802991 0.0041548326 + 1541700 0.0048830689 0.0023332904 0.0047366759 + 1541800 0.0044249173 0.0021279203 0.0043058093 + 1541900 0.0052062239 0.0025363907 0.0050988291 + 1542000 0.0053637031 0.0027982366 0.0054381842 + 1542100 0.0048336705 0.0030159773 0.0053950495 + 1542200 0.0043549655 0.0028000859 0.0049435456 + 1542300 0.0067298074 0.0024814318 0.0057937589 + 1542400 0.0053571844 0.0024453718 0.005082111 + 1542500 0.0053644378 0.0024175472 0.0050578564 + 1542600 0.0035531713 0.0029393433 0.0046881698 + 1542700 0.0043225841 0.0029686156 0.0050961374 + 1542800 0.005048496 0.0026798668 0.0051646735 + 1542900 0.0061862953 0.0024221203 0.0054669375 + 1543000 0.0044670668 0.0024924781 0.0046911125 + 1543100 0.005617679 0.0018544262 0.0046193776 + 1543200 0.0036141236 0.0017456333 0.0035244598 + 1543300 0.0037274192 0.0018219668 0.003656556 + 1543400 0.0049452118 0.00188866 0.0043226315 + 1543500 0.0056201626 0.0019696728 0.0047358465 + 1543600 0.0052987459 0.0022414983 0.0048494748 + 1543700 0.0050464951 0.0027391525 0.0052229743 + 1543800 0.0056082399 0.0025396286 0.0052999341 + 1543900 0.0054264744 0.0023338954 0.0050047383 + 1544000 0.0068712321 0.0024148014 0.005796736 + 1544100 0.0055742351 0.002334605 0.0050781738 + 1544200 0.0048009681 0.0021634979 0.0045264744 + 1544300 0.0051251353 0.0018358571 0.0043583847 + 1544400 0.0030516498 0.002039045 0.0035410289 + 1544500 0.0059085165 0.0020213919 0.0049294899 + 1544600 0.0063649084 0.0024790575 0.0056117859 + 1544700 0.0042073296 0.0027951202 0.0048659152 + 1544800 0.0039973214 0.0030382264 0.005005658 + 1544900 0.0056403142 0.0024612086 0.0052373008 + 1545000 0.0045892789 0.0023989823 0.004657768 + 1545100 0.0039779699 0.0022177581 0.0041756651 + 1545200 0.0057165113 0.0019594178 0.0047730132 + 1545300 0.005459403 0.0023566146 0.0050436645 + 1545400 0.0050272794 0.0027243851 0.0051987492 + 1545500 0.0050126206 0.0025947986 0.0050619478 + 1545600 0.0064385346 0.0019655234 0.0051344896 + 1545700 0.0053679445 0.0014485508 0.004090586 + 1545800 0.0065311262 0.0016569879 0.0048715266 + 1545900 0.0057218881 0.0022519928 0.0050682345 + 1546000 0.0048462785 0.0024922621 0.0048775398 + 1546100 0.0057229505 0.0022357546 0.0050525193 + 1546200 0.0034166889 0.0025273329 0.0042089845 + 1546300 0.0042708822 0.0024036579 0.0045057328 + 1546400 0.0038310417 0.0022377344 0.0041233252 + 1546500 0.0051796736 0.0018595963 0.0044089669 + 1546600 0.0050185507 0.0020047226 0.0044747906 + 1546700 0.0058310663 0.0020748851 0.0049448631 + 1546800 0.0066487764 0.0022222418 0.0054946864 + 1546900 0.0047102549 0.0024343027 0.0047526313 + 1547000 0.0039754469 0.0026486735 0.0046053388 + 1547100 0.004776169 0.0026391783 0.004989949 + 1547200 0.0040944806 0.002560574 0.0045758262 + 1547300 0.0049920377 0.0024429477 0.0048999663 + 1547400 0.0046437303 0.0023559648 0.0046415508 + 1547500 0.0047848301 0.0024245684 0.004779602 + 1547600 0.0048020494 0.0023836883 0.004747197 + 1547700 0.0054041524 0.0024660056 0.0051258619 + 1547800 0.0048506528 0.0023814311 0.0047688618 + 1547900 0.0057378166 0.0028562737 0.0056803553 + 1548000 0.0062808016 0.0035944731 0.0066858052 + 1548100 0.0057324949 0.0032486289 0.0060700912 + 1548200 0.0061447283 0.0034309212 0.0064552796 + 1548300 0.0055485066 0.003053987 0.0057848926 + 1548400 0.0058792087 0.0024700149 0.005363688 + 1548500 0.0038137501 0.0020529903 0.0039300705 + 1548600 0.0039580715 0.0021777208 0.0041258342 + 1548700 0.0058484777 0.0019927524 0.0048713 + 1548800 0.0046404796 0.0023345067 0.0046184927 + 1548900 0.004880629 0.0024369251 0.0048391097 + 1549000 0.0049581379 0.002264049 0.0047043825 + 1549100 0.0058617489 0.0021892915 0.005074371 + 1549200 0.0071130205 0.0027671292 0.006268069 + 1549300 0.0057127931 0.0031527596 0.0059645249 + 1549400 0.0046773702 0.0033128605 0.0056150036 + 1549500 0.0058869543 0.0035221725 0.0064196578 + 1549600 0.0044032841 0.0031282783 0.0052955197 + 1549700 0.0052945881 0.0028112756 0.0054172057 + 1549800 0.0054552953 0.0029213875 0.0056064156 + 1549900 0.004486332 0.0026948533 0.0049029698 + 1550000 0.0068150165 0.0024560388 0.0058103047 + 1550100 0.0060611588 0.0021452097 0.0051284363 + 1550200 0.0042742071 0.0022612974 0.0043650087 + 1550300 0.0059620084 0.0022047047 0.0051391307 + 1550400 0.0073179611 0.0024189681 0.0060207771 + 1550500 0.0047407546 0.0023341974 0.0046675375 + 1550600 0.0050721489 0.0022709805 0.0047674288 + 1550700 0.0054047912 0.0022913658 0.0049515365 + 1550800 0.0068606649 0.0020794296 0.0054561632 + 1550900 0.00510792 0.0021099188 0.0046239732 + 1551000 0.0065754979 0.0022508274 0.0054872053 + 1551100 0.0048129992 0.0021545887 0.0045234868 + 1551200 0.0048803915 0.0019567834 0.0043588511 + 1551300 0.0063444377 0.0023898241 0.005512477 + 1551400 0.0052559711 0.0026481821 0.0052351053 + 1551500 0.0048080306 0.002207671 0.0045741236 + 1551600 0.0061594833 0.0023519662 0.0053835869 + 1551700 0.0059474991 0.0023575313 0.005284816 + 1551800 0.0038459615 0.0024641166 0.0043570508 + 1551900 0.003967909 0.0022303829 0.0041833382 + 1552000 0.0040002546 0.0019093305 0.0038782058 + 1552100 0.0045772302 0.0020988722 0.0043517277 + 1552200 0.005903001 0.0024147057 0.005320089 + 1552300 0.0042005907 0.0031686023 0.0052360805 + 1552400 0.0067859335 0.0027698477 0.0061097994 + 1552500 0.005333934 0.0027353543 0.0053606499 + 1552600 0.0037187738 0.003144417 0.004974751 + 1552700 0.0041116472 0.0029711369 0.0049948383 + 1552800 0.0043017934 0.0029289084 0.0050461973 + 1552900 0.0039455716 0.0032461781 0.0051881391 + 1553000 0.0063030407 0.0028528994 0.0059551773 + 1553100 0.0058810835 0.002806705 0.0057013008 + 1553200 0.0055789538 0.0032952544 0.0060411457 + 1553300 0.0056369794 0.0030868769 0.0058613277 + 1553400 0.0056271892 0.0030613168 0.005830949 + 1553500 0.004173267 0.0033753112 0.0054293411 + 1553600 0.0056327215 0.0037012504 0.0064736055 + 1553700 0.0062766824 0.0034808355 0.0065701401 + 1553800 0.0061902007 0.0029304415 0.0059771809 + 1553900 0.0049838673 0.0025688157 0.0050218129 + 1554000 0.0060196502 0.0024950424 0.005457839 + 1554100 0.0036554784 0.0024019687 0.0042011494 + 1554200 0.0058559387 0.0027513148 0.0056335346 + 1554300 0.0050440574 0.0029763478 0.0054589698 + 1554400 0.0053896725 0.0028583144 0.0055110438 + 1554500 0.0059704635 0.0025452424 0.0054838299 + 1554600 0.0060872647 0.0022397093 0.0052357849 + 1554700 0.0043860104 0.0022637448 0.0044224843 + 1554800 0.0039856532 0.0025823078 0.0045439964 + 1554900 0.0045020751 0.0023307619 0.004546627 + 1555000 0.0048567131 0.0020514231 0.0044418366 + 1555100 0.005789118 0.0024944885 0.00534382 + 1555200 0.0065579323 0.0021763634 0.0054040957 + 1555300 0.0045715676 0.0024603376 0.0047104061 + 1555400 0.0045825881 0.0025757797 0.0048312722 + 1555500 0.0051604541 0.002298897 0.004838808 + 1555600 0.0050952206 0.0024582895 0.0049660934 + 1555700 0.0072234955 0.0029532156 0.0065085298 + 1555800 0.0060793711 0.0035498309 0.0065420214 + 1555900 0.0050322491 0.0034919197 0.0059687298 + 1556000 0.0049347873 0.0034916693 0.00592051 + 1556100 0.0061986383 0.0033352973 0.0063861895 + 1556200 0.0056588048 0.0030602233 0.0058454163 + 1556300 0.0046641748 0.0030563036 0.0053519521 + 1556400 0.0033796752 0.0026825998 0.0043460337 + 1556500 0.0033744973 0.0027053653 0.0043662507 + 1556600 0.0037945871 0.0026460385 0.0045136868 + 1556700 0.0051096531 0.002235379 0.0047502864 + 1556800 0.0051468105 0.0022065536 0.0047397494 + 1556900 0.0047415969 0.0020493277 0.0043830824 + 1557000 0.0062220732 0.0021978863 0.005260313 + 1557100 0.0052487852 0.0027405498 0.0053239362 + 1557200 0.0064766972 0.0027412408 0.0059289902 + 1557300 0.0045061242 0.0022226432 0.0044405011 + 1557400 0.005163344 0.0020431062 0.0045844395 + 1557500 0.0056629086 0.0023734926 0.0051607055 + 1557600 0.0053463372 0.0028601809 0.0054915812 + 1557700 0.0058381951 0.0034743464 0.006347833 + 1557800 0.0061381107 0.0029386684 0.0059597697 + 1557900 0.0049495903 0.0021870902 0.0046232167 + 1558000 0.0044902721 0.0019046302 0.0041146859 + 1558100 0.0061448199 0.0017423428 0.0047667464 + 1558200 0.004582272 0.0022872704 0.0045426075 + 1558300 0.0051808038 0.0023708701 0.0049207969 + 1558400 0.0062083088 0.0019318765 0.0049875285 + 1558500 0.0041053254 0.0022256818 0.0042462716 + 1558600 0.0053351157 0.0027167511 0.0053426283 + 1558700 0.0061458786 0.0028337817 0.0058587063 + 1558800 0.0071449247 0.0025891125 0.0061057552 + 1558900 0.0051045259 0.0027040573 0.0052164412 + 1559000 0.0040365798 0.0028150759 0.00480183 + 1559100 0.0056787059 0.0024221651 0.0052171532 + 1559200 0.0053831059 0.0018025774 0.0044520749 + 1559300 0.0066539519 0.0021292969 0.0054042889 + 1559400 0.0058757232 0.0024386761 0.0053306336 + 1559500 0.0050676204 0.0026458687 0.0051400881 + 1559600 0.0048391121 0.0026633958 0.0050451462 + 1559700 0.0053189563 0.0029545418 0.0055724656 + 1559800 0.0054166245 0.0030164685 0.0056824633 + 1559900 0.0037033116 0.0030853407 0.0049080644 + 1560000 0.0053943371 0.0028547781 0.0055098034 + 1560100 0.0029834471 0.0028123228 0.0042807382 + 1560200 0.0042894986 0.0026426565 0.0047538941 + 1560300 0.0064604554 0.0024969998 0.0056767552 + 1560400 0.0050140155 0.0021671856 0.0046350214 + 1560500 0.003504484 0.0016874899 0.0034123532 + 1560600 0.0057532662 0.0017116558 0.0045433415 + 1560700 0.0046680074 0.0022116892 0.0045092241 + 1560800 0.00602944 0.0022149023 0.0051825173 + 1560900 0.0058560476 0.0024796307 0.0053619041 + 1561000 0.0046132358 0.0024955075 0.0047660845 + 1561100 0.0051114029 0.0028757402 0.0053915089 + 1561200 0.0060763317 0.0026177415 0.005608436 + 1561300 0.0064760006 0.0025056491 0.0056930557 + 1561400 0.0058978789 0.0024234832 0.0053263455 + 1561500 0.003324553 0.0022381494 0.0038744529 + 1561600 0.0043720502 0.0014729508 0.0036248192 + 1561700 0.0051592263 0.0014762713 0.004015578 + 1561800 0.0065201896 0.0015278728 0.0047370286 + 1561900 0.0037168251 0.0021981998 0.0040275746 + 1562000 0.0033075365 0.0023049965 0.0039329246 + 1562100 0.0049463723 0.0019058826 0.0043404253 + 1562200 0.0048886262 0.0016534838 0.0040596045 + 1562300 0.004112029 0.0023251041 0.0043489933 + 1562400 0.0054037442 0.0021576367 0.004817292 + 1562500 0.0051020424 0.0020275755 0.004538737 + 1562600 0.005287993 0.0024466815 0.0050493655 + 1562700 0.0050875651 0.0022098629 0.0047138988 + 1562800 0.0044305175 0.0022927022 0.0044733475 + 1562900 0.0048936347 0.0020511102 0.0044596961 + 1563000 0.004107309 0.0017493355 0.0037709016 + 1563100 0.0054576586 0.0016832239 0.0043694153 + 1563200 0.0050083842 0.0023222491 0.0047873132 + 1563300 0.0052181419 0.0023700212 0.0049383254 + 1563400 0.0042449163 0.0025059364 0.0045952311 + 1563500 0.0036693285 0.0020546483 0.0038606459 + 1563600 0.0054620977 0.0018977481 0.0045861243 + 1563700 0.0052515962 0.0024227831 0.0050075531 + 1563800 0.0047919379 0.002541243 0.004899775 + 1563900 0.0058912475 0.0026100128 0.0055096112 + 1564000 0.0047737614 0.0027180264 0.0050676121 + 1564100 0.0065999803 0.0024902449 0.0057386728 + 1564200 0.0059571064 0.0021232645 0.0050552779 + 1564300 0.005136606 0.0022621795 0.0047903528 + 1564400 0.0065143763 0.0025362183 0.0057425129 + 1564500 0.0069443356 0.0026929474 0.0061108626 + 1564600 0.0054567331 0.0027331937 0.0054189295 + 1564700 0.0054136664 0.002739827 0.005404366 + 1564800 0.0042240751 0.0026524062 0.0047314431 + 1564900 0.0036058019 0.0026086845 0.0043834151 + 1565000 0.0036864791 0.0025970483 0.0044114872 + 1565100 0.005494424 0.0024963873 0.0052006741 + 1565200 0.0054126595 0.0021718431 0.0048358864 + 1565300 0.004781933 0.0024118025 0.0047654102 + 1565400 0.0066804083 0.0022593598 0.0055473733 + 1565500 0.0059880936 0.0021094329 0.0050566977 + 1565600 0.0044684108 0.0025228103 0.0047221062 + 1565700 0.0035390844 0.0026850348 0.0044269279 + 1565800 0.0063918527 0.0027537403 0.0058997303 + 1565900 0.0056522988 0.0031262197 0.0059082105 + 1566000 0.0065757245 0.0032969284 0.0065334178 + 1566100 0.006981817 0.0029889834 0.0064253465 + 1566200 0.0057965687 0.0032229029 0.0060759015 + 1566300 0.0068092126 0.0028646491 0.0062160584 + 1566400 0.0067732316 0.0024631472 0.0057968471 + 1566500 0.0052156608 0.002143086 0.004710169 + 1566600 0.0047840926 0.0021424928 0.0044971634 + 1566700 0.0045212165 0.0019185175 0.0041438037 + 1566800 0.0072990845 0.0018253797 0.0054178979 + 1566900 0.0059346915 0.0025360738 0.0054570548 + 1567000 0.0054613987 0.0027317071 0.0054197393 + 1567100 0.0040731545 0.0027095807 0.0047143364 + 1567200 0.0031983198 0.0024424348 0.0040166078 + 1567300 0.0047456571 0.0022037633 0.0045395164 + 1567400 0.0037431426 0.0017526463 0.0035949743 + 1567500 0.0039938471 0.0019774415 0.0039431632 + 1567600 0.0040981705 0.0021447974 0.0041618656 + 1567700 0.0045437715 0.0018898239 0.0041262114 + 1567800 0.0058184507 0.0019729202 0.0048366889 + 1567900 0.0041097947 0.001869168 0.0038919576 + 1568000 0.0039392863 0.0021096197 0.0040484872 + 1568100 0.0054326999 0.0022428513 0.0049167583 + 1568200 0.0057805005 0.0026171567 0.0054622467 + 1568300 0.0052090595 0.0028405759 0.0054044098 + 1568400 0.0054121698 0.0026289274 0.0052927297 + 1568500 0.0055837852 0.0027745399 0.0055228092 + 1568600 0.00434474 0.0029221424 0.0050605691 + 1568700 0.0052078888 0.0026219008 0.0051851586 + 1568800 0.0053163975 0.0026798166 0.005296481 + 1568900 0.0055816052 0.0025323858 0.0052795821 + 1569000 0.0044106278 0.0024064009 0.0045772568 + 1569100 0.0054990646 0.0026664611 0.005373032 + 1569200 0.0049140319 0.0024248775 0.0048435026 + 1569300 0.0049580011 0.0027672307 0.0052074969 + 1569400 0.0042030815 0.0030060136 0.0050747177 + 1569500 0.0059264225 0.002915038 0.0058319491 + 1569600 0.0062159723 0.0027150678 0.0057744916 + 1569700 0.0048658249 0.0024803496 0.0048752478 + 1569800 0.0057700552 0.0023514876 0.0051914366 + 1569900 0.0067077341 0.0026309511 0.005932414 + 1570000 0.0045128728 0.0029261631 0.0051473426 + 1570100 0.0045452082 0.0026638327 0.0049009273 + 1570200 0.0062834287 0.0024806428 0.0055732679 + 1570300 0.0041298428 0.0025427917 0.0045754486 + 1570400 0.0039212999 0.0022865574 0.0042165722 + 1570500 0.0045958171 0.0017474231 0.0040094269 + 1570600 0.0034983579 0.0017308678 0.0034527158 + 1570700 0.0030155423 0.0016265628 0.003110775 + 1570800 0.0045003671 0.0016679825 0.0038830069 + 1570900 0.0035359954 0.001965702 0.0037060747 + 1571000 0.0047528582 0.0020249815 0.0043642789 + 1571100 0.0050535371 0.0016258908 0.0041131786 + 1571200 0.0042375116 0.0017167317 0.0038023819 + 1571300 0.0045081227 0.0021382498 0.0043570915 + 1571400 0.00532203 0.0022294987 0.0048489353 + 1571500 0.004303946 0.0024268502 0.0045451987 + 1571600 0.0056446596 0.0024287463 0.0052069771 + 1571700 0.0060543423 0.0028381494 0.005818021 + 1571800 0.0057587177 0.0028587335 0.0056931024 + 1571900 0.00630568 0.0028820766 0.0059856535 + 1572000 0.0059707219 0.0023682508 0.0053069655 + 1572100 0.0069188116 0.0022075801 0.0056129327 + 1572200 0.0041112017 0.0020822387 0.0041057208 + 1572300 0.0039540173 0.0019885155 0.0039346334 + 1572400 0.0051416873 0.0021287541 0.0046594283 + 1572500 0.004861589 0.0018238928 0.0042167062 + 1572600 0.0050738242 0.0017600456 0.0042573184 + 1572700 0.0036295124 0.0020809909 0.0038673915 + 1572800 0.0048043562 0.0018357934 0.0042004374 + 1572900 0.0062156645 0.001740161 0.0047994334 + 1573000 0.0053099047 0.0022730991 0.0048865678 + 1573100 0.0045835778 0.002566298 0.0048222777 + 1573200 0.0043067909 0.0024991601 0.0046189087 + 1573300 0.0054617574 0.0022597692 0.004947978 + 1573400 0.0054997375 0.0020974263 0.0048043284 + 1573500 0.0050778859 0.0022748968 0.0047741688 + 1573600 0.0046495315 0.0023916947 0.004680136 + 1573700 0.0051112842 0.0022737852 0.0047894954 + 1573800 0.0047751819 0.0022492778 0.0045995627 + 1573900 0.0050240679 0.0021429441 0.0046157275 + 1574000 0.0044027008 0.0023841149 0.0045510692 + 1574100 0.0052813286 0.0025369493 0.0051363532 + 1574200 0.0038235925 0.00269673 0.0045786545 + 1574300 0.0060283539 0.0022076039 0.0051746844 + 1574400 0.0055522479 0.0019697879 0.0047025349 + 1574500 0.004709195 0.0018530358 0.0041708427 + 1574600 0.0041150988 0.002099736 0.0041251362 + 1574700 0.005962078 0.0023489209 0.0052833812 + 1574800 0.0044737432 0.0026265761 0.0048284965 + 1574900 0.0058098084 0.0025951479 0.005454663 + 1575000 0.005086831 0.0023470515 0.0048507261 + 1575100 0.0050521718 0.0019136882 0.004400304 + 1575200 0.0064068723 0.0017463165 0.004899699 + 1575300 0.0074661913 0.0017365152 0.0054112812 + 1575400 0.0057314401 0.0019425154 0.0047634586 + 1575500 0.0034561004 0.0022305427 0.0039315921 + 1575600 0.0036242758 0.0022668681 0.0040506914 + 1575700 0.0052200966 0.0022867425 0.0048560088 + 1575800 0.0038415031 0.0024084226 0.0042991624 + 1575900 0.0046379747 0.0020795594 0.0043623126 + 1576000 0.0052536871 0.0023309655 0.0049167646 + 1576100 0.0062096642 0.0025646648 0.0056209839 + 1576200 0.0040209614 0.0034101284 0.0053891954 + 1576300 0.004485672 0.003158786 0.0053665777 + 1576400 0.0055058801 0.0025880959 0.0052980212 + 1576500 0.0038356988 0.0026330796 0.0045209626 + 1576600 0.00446593 0.0026105917 0.0048086666 + 1576700 0.0042969077 0.0020267962 0.0041416805 + 1576800 0.0053137641 0.0017290917 0.00434446 + 1576900 0.0072723812 0.001654251 0.0052336261 + 1577000 0.0064484089 0.0020587501 0.0052325763 + 1577100 0.0059213921 0.0021254348 0.00503987 + 1577200 0.0067100271 0.0022116545 0.005514246 + 1577300 0.0051746851 0.0025621729 0.0051090882 + 1577400 0.0034283029 0.002481416 0.0041687838 + 1577500 0.0056802385 0.0023391018 0.0051348442 + 1577600 0.0047647146 0.0023913012 0.0047364342 + 1577700 0.0048464673 0.0021017696 0.0044871402 + 1577800 0.0047436159 0.0022311365 0.004565885 + 1577900 0.0052610035 0.0025091337 0.0050985339 + 1578000 0.0069154759 0.0028711885 0.0062748993 + 1578100 0.0058300435 0.0032821841 0.0061516586 + 1578200 0.0061577328 0.0026032668 0.0056340259 + 1578300 0.004500639 0.0023725588 0.0045877171 + 1578400 0.0058833786 0.0023634342 0.0052591597 + 1578500 0.0043669747 0.0023305084 0.0044798788 + 1578600 0.0051319934 0.0020414369 0.0045673399 + 1578700 0.0044789875 0.0020716588 0.0042761604 + 1578800 0.0042863337 0.0023776294 0.0044873092 + 1578900 0.0055069541 0.0022787101 0.0049891641 + 1579000 0.0037802237 0.0020431861 0.003903765 + 1579100 0.0047394563 0.0023391254 0.0046718265 + 1579200 0.0049292087 0.0026474081 0.005073503 + 1579300 0.006083082 0.0023799971 0.005374014 + 1579400 0.0032993836 0.0025564925 0.0041804079 + 1579500 0.0064683929 0.0018775994 0.0050612615 + 1579600 0.0040112308 0.0021520968 0.0041263745 + 1579700 0.0046889601 0.0027848336 0.0050926811 + 1579800 0.0043447138 0.0027557918 0.0048942056 + 1579900 0.0044928614 0.0029750638 0.0051863939 + 1580000 0.0038981229 0.0023674262 0.0042860336 + 1580100 0.0059470065 0.0018431199 0.0047701621 + 1580200 0.0039590356 0.002059016 0.0040076039 + 1580300 0.0054562234 0.0022127748 0.0048982597 + 1580400 0.0061112293 0.0025707318 0.0055786024 + 1580500 0.004008796 0.0033446527 0.0053177319 + 1580600 0.0078078854 0.0028807078 0.0067236514 + 1580700 0.0050900849 0.0031580415 0.0056633177 + 1580800 0.0056192541 0.0024851053 0.0052508319 + 1580900 0.0061770508 0.0026643365 0.0057046037 + 1581000 0.0041861657 0.0028545405 0.004914919 + 1581100 0.0043756765 0.0025549116 0.0047085649 + 1581200 0.0048187427 0.002423392 0.0047951169 + 1581300 0.0046161517 0.0024415751 0.0047135872 + 1581400 0.0060530554 0.0021826275 0.0051618657 + 1581500 0.0038255 0.0027125782 0.0045954415 + 1581600 0.004768916 0.0026477711 0.004994972 + 1581700 0.005294809 0.0021363182 0.004742357 + 1581800 0.0033624134 0.0023547415 0.0040096794 + 1581900 0.0041861643 0.0027583688 0.0048187465 + 1582000 0.0052737829 0.0027099827 0.0053056727 + 1582100 0.0056531599 0.002820329 0.0056027437 + 1582200 0.0048934865 0.002916229 0.0053247418 + 1582300 0.0033678776 0.0029205806 0.0045782079 + 1582400 0.0038996401 0.0026142987 0.0045336528 + 1582500 0.0056473428 0.0023236075 0.005103159 + 1582600 0.0047788168 0.0027813053 0.0051333792 + 1582700 0.005580158 0.0029696602 0.0057161442 + 1582800 0.004260127 0.0029857465 0.0050825277 + 1582900 0.0044169995 0.0026877424 0.0048617344 + 1583000 0.0053527381 0.0020632727 0.0046978235 + 1583100 0.0051047879 0.0019511516 0.0044636643 + 1583200 0.0059609011 0.0022511711 0.0051850522 + 1583300 0.005632859 0.0029107612 0.005683184 + 1583400 0.0078079938 0.0033799998 0.0072229967 + 1583500 0.0057517015 0.0033998798 0.0062307954 + 1583600 0.0044452639 0.0029584633 0.0051463666 + 1583700 0.0059836548 0.0024822532 0.0054273333 + 1583800 0.0057938833 0.0023676505 0.0052193274 + 1583900 0.0063228113 0.0023074655 0.0054194741 + 1584000 0.0068020535 0.0023508953 0.005698781 + 1584100 0.0060404374 0.0024594911 0.0054325189 + 1584200 0.0043835993 0.0025713587 0.0047289115 + 1584300 0.0045482034 0.0027754768 0.0050140457 + 1584400 0.0053580087 0.0026711437 0.0053082886 + 1584500 0.0060460706 0.0021812537 0.005157054 + 1584600 0.0050082232 0.0022469563 0.0047119412 + 1584700 0.0037752998 0.0026236127 0.0044817681 + 1584800 0.0050544222 0.0027387524 0.0052264759 + 1584900 0.005531435 0.0022273997 0.0049499029 + 1585000 0.005414719 0.0021958311 0.0048608881 + 1585100 0.0055551845 0.002049358 0.0047835504 + 1585200 0.0051143281 0.0022188799 0.0047360882 + 1585300 0.0042915859 0.002863436 0.0049757009 + 1585400 0.0054834266 0.0029366314 0.0056355055 + 1585500 0.0051652709 0.0025134822 0.0050557639 + 1585600 0.0061999056 0.0021440065 0.0051955225 + 1585700 0.004740889 0.0021832009 0.0045166073 + 1585800 0.0044443722 0.0018375262 0.0040249906 + 1585900 0.0045403573 0.0019863165 0.0042210236 + 1586000 0.0063990558 0.0025320832 0.0056816185 + 1586100 0.0049777246 0.0025146104 0.0049645843 + 1586200 0.0060957508 0.0023587473 0.0053589997 + 1586300 0.0050651981 0.0020418691 0.0045348963 + 1586400 0.0046640524 0.0022793706 0.0045749589 + 1586500 0.0037270333 0.0029212508 0.00475565 + 1586600 0.0054163193 0.0025312496 0.0051970943 + 1586700 0.0057736291 0.0020467441 0.0048884521 + 1586800 0.0053984903 0.0021577031 0.0048147725 + 1586900 0.0052999602 0.0023506257 0.0049591998 + 1587000 0.0045177308 0.0026478487 0.0048714194 + 1587100 0.0055098064 0.0024560255 0.0051678834 + 1587200 0.0059450728 0.0025748165 0.005500907 + 1587300 0.0062692826 0.0024081259 0.0054937884 + 1587400 0.0057215449 0.0023381184 0.0051541913 + 1587500 0.0045244602 0.0024286617 0.0046555444 + 1587600 0.004614684 0.0028648672 0.005136157 + 1587700 0.0047317468 0.0030058588 0.0053347655 + 1587800 0.0050902961 0.0032189114 0.0057242915 + 1587900 0.0046677896 0.002796949 0.0050943767 + 1588000 0.0055997197 0.0021470682 0.0049031803 + 1588100 0.0029728881 0.0020844838 0.0035477021 + 1588200 0.0061229924 0.0018153351 0.0048289954 + 1588300 0.0038706103 0.0020960023 0.0040010683 + 1588400 0.0049406904 0.0024511254 0.0048828714 + 1588500 0.0048496843 0.0024968872 0.0048838412 + 1588600 0.0057054579 0.0024684781 0.0052766332 + 1588700 0.0042214981 0.0027719042 0.0048496728 + 1588800 0.005123951 0.002703673 0.0052256177 + 1588900 0.0059780483 0.0020877754 0.005030096 + 1589000 0.0066660489 0.0016248491 0.0049057951 + 1589100 0.0051294853 0.0016203838 0.0041450524 + 1589200 0.0045096251 0.0014005214 0.0036201025 + 1589300 0.0040894996 0.00202873 0.0040415305 + 1589400 0.0038344016 0.0023230755 0.0042103201 + 1589500 0.0048318851 0.0018285982 0.0042067917 + 1589600 0.0051506917 0.0015913847 0.0041264908 + 1589700 0.0049701391 0.0018760557 0.004322296 + 1589800 0.0039547183 0.0022484616 0.0041949245 + 1589900 0.0056852281 0.002283386 0.0050815842 + 1590000 0.0051998828 0.0018854349 0.0044447523 + 1590100 0.0060623385 0.0019418049 0.0049256121 + 1590200 0.003868923 0.0022810722 0.0041853077 + 1590300 0.0049183043 0.0021847809 0.0046055088 + 1590400 0.0039340916 0.0018518217 0.0037881324 + 1590500 0.0045992525 0.0024846366 0.0047483312 + 1590600 0.0051232237 0.0023016133 0.0048232 + 1590700 0.0070639969 0.0020372794 0.0055140903 + 1590800 0.0047930505 0.0022512297 0.0046103092 + 1590900 0.0048351173 0.0022913015 0.0046710858 + 1591000 0.005387549 0.0020360191 0.0046877034 + 1591100 0.0048866699 0.0020036224 0.0044087803 + 1591200 0.0044040804 0.0020369531 0.0042045864 + 1591300 0.0042673797 0.0021094425 0.0042097934 + 1591400 0.0046573856 0.0022097231 0.0045020301 + 1591500 0.0052587901 0.0021081032 0.0046964139 + 1591600 0.0068333409 0.0021090135 0.0054722985 + 1591700 0.0039857674 0.0023832782 0.004345023 + 1591800 0.005943727 0.0020003979 0.004925826 + 1591900 0.0045109873 0.001762029 0.0039822805 + 1592000 0.003847805 0.0018656185 0.00375946 + 1592100 0.0039869948 0.0019797538 0.0039421029 + 1592200 0.0046858996 0.0015732545 0.0038795957 + 1592300 0.0046031794 0.0018397809 0.0041054082 + 1592400 0.0050222524 0.0022423299 0.0047142197 + 1592500 0.0056994129 0.0022762512 0.005081431 + 1592600 0.0057510145 0.0021445698 0.0049751473 + 1592700 0.0056510461 0.0024309453 0.0052123196 + 1592800 0.0056108065 0.0029059839 0.0056675528 + 1592900 0.0045191768 0.002871792 0.0050960744 + 1593000 0.0048601185 0.0034191867 0.0058112763 + 1593100 0.004044698 0.0037588133 0.0057495631 + 1593200 0.0057609698 0.0032985485 0.0061340258 + 1593300 0.0036672946 0.0024945843 0.0042995808 + 1593400 0.0044305396 0.002635392 0.0048160482 + 1593500 0.0047682327 0.0033763713 0.0057232358 + 1593600 0.0042104939 0.0035392669 0.0056116194 + 1593700 0.0063181991 0.0027718358 0.0058815744 + 1593800 0.0039723703 0.0025656338 0.0045207848 + 1593900 0.0048187501 0.0026656127 0.0050373413 + 1594000 0.0037720937 0.0024715488 0.0043281262 + 1594100 0.0056503489 0.0021028368 0.0048838679 + 1594200 0.0049272339 0.0022671352 0.0046922581 + 1594300 0.0036599542 0.002442526 0.0042439097 + 1594400 0.0032172419 0.0025327263 0.0041162126 + 1594500 0.0032638334 0.0024706847 0.0040771027 + 1594600 0.0051150782 0.0023696234 0.004887201 + 1594700 0.004460397 0.0023258662 0.0045212179 + 1594800 0.005553625 0.0022419514 0.0049753763 + 1594900 0.0049157841 0.0023760932 0.0047955807 + 1595000 0.0066945213 0.0023937858 0.0056887455 + 1595100 0.0046926005 0.002643377 0.0049530163 + 1595200 0.0049607591 0.0033389567 0.0057805803 + 1595300 0.0047414578 0.0029572314 0.0052909177 + 1595400 0.0044143339 0.0025750951 0.0047477751 + 1595500 0.005684 0.0024672368 0.0052648306 + 1595600 0.0055089991 0.0024045082 0.0051159687 + 1595700 0.0057127748 0.0023731212 0.0051848776 + 1595800 0.0048099459 0.0025252662 0.0048926615 + 1595900 0.0054932298 0.0027551668 0.0054588658 + 1596000 0.0057443204 0.0029454581 0.0057727409 + 1596100 0.0046833722 0.0029040067 0.0052091039 + 1596200 0.0053968946 0.0022022657 0.0048585498 + 1596300 0.0074072047 0.002274552 0.0059202856 + 1596400 0.0034340865 0.0024234604 0.0041136749 + 1596500 0.0054246867 0.0027867003 0.0054566632 + 1596600 0.0052911545 0.0027413863 0.0053456264 + 1596700 0.0061012982 0.0022582804 0.0052612631 + 1596800 0.0059909666 0.0023891421 0.005337821 + 1596900 0.0053260791 0.002393014 0.0050144435 + 1597000 0.006362096 0.0021674766 0.0052988207 + 1597100 0.0056100722 0.0017665011 0.0045277085 + 1597200 0.0045314942 0.0017922838 0.0040226286 + 1597300 0.0053370708 0.0014276233 0.0040544628 + 1597400 0.0058137977 0.0016598443 0.0045213229 + 1597500 0.0056070288 0.0019669245 0.004726634 + 1597600 0.0059303366 0.0025141878 0.0054330253 + 1597700 0.0046634153 0.0028752842 0.0051705589 + 1597800 0.0039606535 0.0030892225 0.0050386066 + 1597900 0.0054573503 0.0027374835 0.0054235231 + 1598000 0.0062942043 0.0024912787 0.0055892074 + 1598100 0.0048514147 0.0024005768 0.0047883825 + 1598200 0.0054820207 0.0021636528 0.0048618349 + 1598300 0.0043276447 0.0026882539 0.0048182665 + 1598400 0.0055081752 0.0028214825 0.0055325375 + 1598500 0.004766736 0.0025159258 0.0048620536 + 1598600 0.0057244431 0.0019790813 0.0047965806 + 1598700 0.0046072965 0.0020468852 0.004314539 + 1598800 0.0048329994 0.0019988004 0.0043775423 + 1598900 0.0051794788 0.0017776498 0.0043269245 + 1599000 0.0041128647 0.0017650867 0.0037893873 + 1599100 0.0042762079 0.0020188283 0.0041235243 + 1599200 0.004899098 0.0020039727 0.0044152475 + 1599300 0.0059758384 0.0017117198 0.0046529528 + 1599400 0.0068845634 0.0016397563 0.0050282524 + 1599500 0.0050492116 0.0017304548 0.0042156136 + 1599600 0.0051630615 0.0016726189 0.0042138132 + 1599700 0.0039281325 0.0018541543 0.003787532 + 1599800 0.0054582513 0.0018171214 0.0045036045 + 1599900 0.0033832198 0.0021101955 0.003775374 + 1600000 0.0062417012 0.0013923529 0.0044644402 + 1600100 0.0048627417 0.0013082215 0.0037016021 + 1600200 0.0055908149 0.0015322894 0.0042840186 + 1600300 0.0050671436 0.0019520747 0.0044460594 + 1600400 0.0058244626 0.0018650426 0.0047317702 + 1600500 0.0058281059 0.0023119163 0.0051804372 + 1600600 0.0047719173 0.0026175886 0.0049662666 + 1600700 0.0049520142 0.0025068568 0.0049441763 + 1600800 0.0046773217 0.0020908318 0.0043929511 + 1600900 0.0043238617 0.0015765475 0.0037046982 + 1601000 0.0036568134 0.0018904952 0.0036903331 + 1601100 0.0048765437 0.0017723139 0.0041724878 + 1601200 0.0033822408 0.0018172682 0.0034819648 + 1601300 0.0036262481 0.0020870152 0.0038718092 + 1601400 0.0042238119 0.0021504689 0.0042293763 + 1601500 0.0055385514 0.0021258754 0.0048518811 + 1601600 0.0061371788 0.0020246025 0.0050452452 + 1601700 0.0052523136 0.0020925117 0.0046776348 + 1601800 0.0055630099 0.0019987693 0.0047368133 + 1601900 0.0049730902 0.0020049214 0.0044526143 + 1602000 0.0046113383 0.0019438343 0.0042134774 + 1602100 0.0047420714 0.001923807 0.0042577953 + 1602200 0.0038230507 0.0020160991 0.0038977569 + 1602300 0.00437707 0.0018843631 0.0040387023 + 1602400 0.0045052422 0.0019511336 0.0041685574 + 1602500 0.0053884017 0.0017115182 0.0043636221 + 1602600 0.0037509387 0.0022823745 0.0041285396 + 1602700 0.0055995111 0.0020694887 0.0048254981 + 1602800 0.004823842 0.0019655073 0.0043397421 + 1602900 0.0041434252 0.0023110241 0.0043503662 + 1603000 0.0048559139 0.0021056024 0.0044956225 + 1603100 0.0049463054 0.0020352552 0.0044697649 + 1603200 0.0044064655 0.00218468 0.0043534873 + 1603300 0.0045074541 0.0018033758 0.0040218884 + 1603400 0.0049347654 0.0015302665 0.0039590963 + 1603500 0.0051533792 0.0019732466 0.0045096754 + 1603600 0.0054311574 0.0022681286 0.0049412764 + 1603700 0.0049219842 0.0022331909 0.00465573 + 1603800 0.0058452351 0.0030138046 0.0058907562 + 1603900 0.0068752011 0.0028200216 0.0062039096 + 1604000 0.0064127804 0.0027574132 0.0059137036 + 1604100 0.0043078241 0.0031415138 0.005261771 + 1604200 0.0042943244 0.0031826749 0.0052962877 + 1604300 0.0050298025 0.0027722156 0.0052478215 + 1604400 0.0052840561 0.0028988645 0.0054996109 + 1604500 0.0045508309 0.0031473764 0.0053872384 + 1604600 0.0057334368 0.0027373207 0.0055592466 + 1604700 0.0061951887 0.0025161468 0.0055653412 + 1604800 0.0046403003 0.0023653119 0.0046492097 + 1604900 0.0050976943 0.0024508226 0.004959844 + 1605000 0.0061944044 0.0024429124 0.0054917209 + 1605100 0.0062841686 0.0024059264 0.0054989157 + 1605200 0.0060133235 0.0024267276 0.0053864103 + 1605300 0.0047949662 0.0027478424 0.0051078648 + 1605400 0.0047802573 0.0026403848 0.0049931677 + 1605500 0.0028425594 0.0026554499 0.0040545221 + 1605600 0.0039895005 0.002735714 0.0046992962 + 1605700 0.0052234553 0.0023521519 0.0049230713 + 1605800 0.0057497236 0.0018836724 0.0047136145 + 1605900 0.0041950306 0.001676679 0.0037414207 + 1606000 0.0043439962 0.0019550443 0.0040931049 + 1606100 0.0052021138 0.0018604842 0.0044208995 + 1606200 0.004689269 0.0018244751 0.0041324747 + 1606300 0.0053043168 0.0022187601 0.0048294786 + 1606400 0.006624673 0.0025386649 0.0057992461 + 1606500 0.0058809231 0.0023887748 0.0052832916 + 1606600 0.0048449499 0.002530915 0.0049155388 + 1606700 0.0069138829 0.0021938393 0.005596766 + 1606800 0.0062195282 0.0022604868 0.0053216608 + 1606900 0.0057374915 0.0023451126 0.0051690342 + 1607000 0.0045220896 0.0024492506 0.0046749666 + 1607100 0.0038733673 0.0024619517 0.0043683747 + 1607200 0.0037602154 0.0024409365 0.0042916675 + 1607300 0.0038806776 0.0020744345 0.0039844555 + 1607400 0.0064727792 0.0017044802 0.0048903012 + 1607500 0.0055947715 0.0022110101 0.0049646867 + 1607600 0.0039380988 0.0022257014 0.0041639844 + 1607700 0.0050002289 0.0021817796 0.0046428298 + 1607800 0.0048942126 0.0021331741 0.0045420443 + 1607900 0.0044956941 0.0020414561 0.0042541806 + 1608000 0.0050359187 0.001570733 0.0040493492 + 1608100 0.0054603335 0.0020612053 0.0047487132 + 1608200 0.0045431561 0.0025694135 0.0048054981 + 1608300 0.0052020982 0.0024523403 0.005012748 + 1608400 0.0046600451 0.0021981084 0.0044917244 + 1608500 0.0062883493 0.0022077686 0.0053028155 + 1608600 0.00560215 0.001934949 0.0046922572 + 1608700 0.0049927186 0.002343552 0.0048009057 + 1608800 0.0044359003 0.0026211981 0.0048044928 + 1608900 0.0051109019 0.0023360225 0.0048515445 + 1609000 0.0037003269 0.0023066653 0.00412792 + 1609100 0.0055028387 0.0023991489 0.0051075774 + 1609200 0.0058500218 0.0023295603 0.0052088679 + 1609300 0.0036448173 0.0025335732 0.0043275067 + 1609400 0.0041871282 0.0025569625 0.0046178147 + 1609500 0.0052481835 0.0026362432 0.0052193335 + 1609600 0.0058279248 0.0026218099 0.0054902416 + 1609700 0.005359198 0.003011369 0.0056490993 + 1609800 0.0039403409 0.0029020373 0.0048414239 + 1609900 0.0040450317 0.0031724137 0.0051633277 + 1610000 0.0034630985 0.0028951428 0.0045996366 + 1610100 0.0055221371 0.0023859309 0.0051038577 + 1610200 0.0059082978 0.0021770738 0.0050850641 + 1610300 0.0047004042 0.0021062606 0.0044197408 + 1610400 0.0047938777 0.0019418836 0.0043013703 + 1610500 0.005809088 0.0019441419 0.0048033024 + 1610600 0.0040520897 0.0020521882 0.0040465761 + 1610700 0.0049140473 0.002107624 0.0045262567 + 1610800 0.0048725217 0.0021236228 0.0045218171 + 1610900 0.0033146884 0.0023207441 0.0039521923 + 1611000 0.0061509722 0.0022233798 0.0052508114 + 1611100 0.0037420634 0.0021442203 0.0039860171 + 1611200 0.0039127069 0.0024458566 0.004371642 + 1611300 0.0047264716 0.0023163722 0.0046426824 + 1611400 0.0048027089 0.0020670211 0.0044308544 + 1611500 0.0033651597 0.0020365919 0.0036928815 + 1611600 0.0053632368 0.0017436191 0.0043833372 + 1611700 0.0056131575 0.0018150684 0.0045777943 + 1611800 0.0048992709 0.0020971884 0.0045085483 + 1611900 0.0051678383 0.0023554158 0.0048989612 + 1612000 0.0047379925 0.0023491825 0.0046811632 + 1612100 0.0058268073 0.0024304728 0.0052983545 + 1612200 0.0043454232 0.0028537633 0.0049925263 + 1612300 0.0059663235 0.002934887 0.0058714369 + 1612400 0.0043120663 0.0025391269 0.004661472 + 1612500 0.004765705 0.0021459803 0.0044916007 + 1612600 0.0045571372 0.0019249851 0.0041679511 + 1612700 0.0060987326 0.0018412876 0.0048430075 + 1612800 0.0064118172 0.0022380768 0.0053938931 + 1612900 0.0042355355 0.0024148408 0.0044995184 + 1613000 0.0062722093 0.0023563558 0.0054434588 + 1613100 0.0052160235 0.0027209971 0.0052882587 + 1613200 0.0051075019 0.0032345841 0.0057484327 + 1613300 0.0045683403 0.0029976144 0.0052460943 + 1613400 0.0058648429 0.0025762718 0.0054628741 + 1613500 0.0048655111 0.0023083024 0.0047030461 + 1613600 0.0049317865 0.0024894534 0.0049168171 + 1613700 0.0048403397 0.0025763982 0.0049587529 + 1613800 0.0061007515 0.0027874156 0.0057901292 + 1613900 0.0058325302 0.0033265485 0.0061972469 + 1614000 0.0050539293 0.0030976337 0.0055851145 + 1614100 0.0058556375 0.002300423 0.0051824946 + 1614200 0.0046945498 0.0018826311 0.0041932298 + 1614300 0.0038713784 0.0017897011 0.0036951451 + 1614400 0.0045209382 0.0018607571 0.0040859063 + 1614500 0.0038255073 0.0019993862 0.0038822531 + 1614600 0.0042894765 0.0016293924 0.0037406191 + 1614700 0.0047817727 0.0018562791 0.0042098079 + 1614800 0.0033035262 0.0025450823 0.0041710366 + 1614900 0.0039404218 0.0027900934 0.0047295198 + 1615000 0.0044050276 0.0026389467 0.0048070462 + 1615100 0.0063293025 0.0023630463 0.0054782499 + 1615200 0.003694652 0.0023480022 0.0041664637 + 1615300 0.0048623704 0.0022759538 0.0046691517 + 1615400 0.0043948034 0.0021151735 0.0042782408 + 1615500 0.0048812667 0.0023620574 0.0047645558 + 1615600 0.0043115162 0.0020800812 0.0042021556 + 1615700 0.0055756026 0.00212706 0.0048713019 + 1615800 0.0037551033 0.0026178984 0.0044661133 + 1615900 0.0051879944 0.0023129532 0.0048664192 + 1616000 0.0039667158 0.0022289685 0.0041813364 + 1616100 0.0047412126 0.002358245 0.0046918106 + 1616200 0.0054634386 0.0024069412 0.0050959774 + 1616300 0.0058828226 0.0025258067 0.0054212585 + 1616400 0.0048123818 0.0025706712 0.0049392653 + 1616500 0.0053160007 0.0025157769 0.005132246 + 1616600 0.0043018563 0.0023713465 0.0044886664 + 1616700 0.0044010672 0.0027206867 0.0048868369 + 1616800 0.0065537342 0.0027337993 0.0059594654 + 1616900 0.0046190498 0.0029192697 0.0051927082 + 1617000 0.007107495 0.0027065685 0.0062047887 + 1617100 0.0070845271 0.0028022556 0.0062891713 + 1617200 0.0058363192 0.0025249334 0.0053974968 + 1617300 0.0061620012 0.0025373254 0.0055701853 + 1617400 0.0044048937 0.0027396066 0.0049076402 + 1617500 0.0072360916 0.0023789191 0.005940433 + 1617600 0.0044748875 0.0029939162 0.0051963999 + 1617700 0.0050451639 0.0032044172 0.0056875838 + 1617800 0.0063442722 0.0033165708 0.0064391423 + 1617900 0.0070140665 0.0029781028 0.0064303387 + 1618000 0.0043747726 0.0029038576 0.005057066 + 1618100 0.0042323716 0.002856773 0.0049398934 + 1618200 0.0036324632 0.0023082003 0.0040960533 + 1618300 0.0047408773 0.0019917086 0.0043251092 + 1618400 0.0061487575 0.0017755491 0.0048018907 + 1618500 0.0050187713 0.0022890006 0.0047591771 + 1618600 0.0052807286 0.0019864301 0.0045855388 + 1618700 0.004279772 0.001974363 0.0040808133 + 1618800 0.0051837037 0.0019211909 0.0044725451 + 1618900 0.0059280059 0.0019886699 0.0049063603 + 1619000 0.0038429435 0.0023959836 0.0042874323 + 1619100 0.0044238092 0.0023634299 0.0045407735 + 1619200 0.0056933669 0.0023808163 0.0051830204 + 1619300 0.005241245 0.0024233158 0.0050029911 + 1619400 0.0057608979 0.0026359765 0.0054714184 + 1619500 0.0035967789 0.0026135085 0.0043837981 + 1619600 0.0045163166 0.0024891857 0.0047120602 + 1619700 0.0042210951 0.0021900327 0.0042676029 + 1619800 0.0059384878 0.0019793429 0.0049021923 + 1619900 0.0046739013 0.0018120153 0.0041124511 + 1620000 0.0048305192 0.0021930553 0.0045705765 + 1620100 0.0037915222 0.0026082599 0.0044743997 + 1620200 0.0047657085 0.0024701357 0.0048157579 + 1620300 0.0034491353 0.0023370466 0.0040346679 + 1620400 0.0054187477 0.0022127462 0.0048797861 + 1620500 0.0047029893 0.0022172441 0.0045319967 + 1620600 0.0052885482 0.0018471577 0.004450115 + 1620700 0.0042048426 0.0017492406 0.0038188116 + 1620800 0.0063578403 0.0020983175 0.005227567 + 1620900 0.0040260063 0.0022838291 0.004265379 + 1621000 0.006296861 0.0022040858 0.0053033221 + 1621100 0.0050293237 0.0023629554 0.0048383257 + 1621200 0.0059327395 0.0025550772 0.0054750974 + 1621300 0.0057134299 0.002915039 0.0057271178 + 1621400 0.0049652841 0.0027744422 0.005218293 + 1621500 0.0047130058 0.0025247834 0.004844466 + 1621600 0.0062426663 0.002384962 0.0054575243 + 1621700 0.0069846659 0.0022055093 0.0056432745 + 1621800 0.006801838 0.0024151239 0.0057629035 + 1621900 0.0053340311 0.0026165783 0.0052419217 + 1622000 0.0055665013 0.0028586865 0.0055984489 + 1622100 0.004075602 0.0025197303 0.0045256906 + 1622200 0.0053868477 0.0023349276 0.0049862667 + 1622300 0.0039049805 0.0024541917 0.0043761742 + 1622400 0.0028516325 0.0025246191 0.003928157 + 1622500 0.0051588434 0.0028677676 0.0054068858 + 1622600 0.0059020256 0.002389707 0.0052946102 + 1622700 0.0039429321 0.0023733734 0.0043140352 + 1622800 0.005569766 0.0020999108 0.00484128 + 1622900 0.0043596647 0.0023395255 0.004485298 + 1623000 0.0042928415 0.0021797105 0.0042925934 + 1623100 0.005230137 0.0023630158 0.0049372239 + 1623200 0.0057367011 0.0023787636 0.0052022962 + 1623300 0.0051154883 0.0027135576 0.0052313369 + 1623400 0.0056181254 0.0027703772 0.0055355483 + 1623500 0.0038613136 0.0029510234 0.0048515137 + 1623600 0.0066176627 0.0024462914 0.0057034223 + 1623700 0.0053111016 0.0021424792 0.004756537 + 1623800 0.0045645198 0.0027987141 0.0050453137 + 1623900 0.0040175872 0.002865963 0.0048433692 + 1624000 0.0064337142 0.0024614396 0.0056280333 + 1624100 0.0039398224 0.0023375995 0.0042767308 + 1624200 0.0055350106 0.0017328913 0.0044571543 + 1624300 0.0039389635 0.0017065842 0.0036452928 + 1624400 0.0042134325 0.0018206292 0.003894428 + 1624500 0.004158992 0.0020283002 0.0040753041 + 1624600 0.0037347197 0.0019461039 0.0037842863 + 1624700 0.0043828832 0.002030114 0.0041873143 + 1624800 0.0034272267 0.001917442 0.0036042802 + 1624900 0.0052446461 0.0017776864 0.0043590357 + 1625000 0.0052399882 0.0021213259 0.0047003826 + 1625100 0.0039769272 0.0031570596 0.0051144534 + 1625200 0.0055971987 0.0028881419 0.0056430131 + 1625300 0.0064662601 0.0024487463 0.0056313586 + 1625400 0.0042371901 0.0027322065 0.0048176985 + 1625500 0.0057382889 0.0023244585 0.0051487725 + 1625600 0.0058439175 0.0023655913 0.0052418945 + 1625700 0.0045110389 0.0027661537 0.0049864307 + 1625800 0.0047675595 0.0027100059 0.0050565391 + 1625900 0.0056736117 0.0022416814 0.0050341622 + 1626000 0.0052170567 0.0023681709 0.004935941 + 1626100 0.0048600967 0.003125752 0.0055178309 + 1626200 0.0061368546 0.0026636711 0.0056841543 + 1626300 0.0046130323 0.0024246911 0.004695168 + 1626400 0.0044157217 0.0025052543 0.0046786174 + 1626500 0.0035232004 0.0025192789 0.0042533541 + 1626600 0.0046097772 0.0027655226 0.0050343973 + 1626700 0.0041030133 0.0029542826 0.0049737344 + 1626800 0.0060029347 0.0032292684 0.0061838378 + 1626900 0.005708709 0.0036176152 0.0064273704 + 1627000 0.0044411894 0.0037184791 0.005904377 + 1627100 0.0049606452 0.0035488479 0.0059904155 + 1627200 0.0039437598 0.0030058363 0.0049469056 + 1627300 0.0060926075 0.0030642657 0.006062971 + 1627400 0.0038445286 0.0032458364 0.0051380653 + 1627500 0.0050822809 0.0028623159 0.005363751 + 1627600 0.0066886697 0.0024610278 0.0057531074 + 1627700 0.0044864275 0.0025545682 0.0047627317 + 1627800 0.0050600987 0.0024227345 0.0049132518 + 1627900 0.0035299795 0.0023942874 0.0041316992 + 1628000 0.0045541549 0.00209971 0.0043412082 + 1628100 0.0045289595 0.0020975148 0.0043266121 + 1628200 0.0043128892 0.0018049766 0.0039277268 + 1628300 0.0045890811 0.0015147608 0.0037734492 + 1628400 0.0041377791 0.0018365181 0.0038730813 + 1628500 0.0047691948 0.0020705875 0.0044179255 + 1628600 0.0052708009 0.0022168049 0.0048110272 + 1628700 0.0048264895 0.0025133216 0.0048888594 + 1628800 0.0063152762 0.0032075038 0.0063158038 + 1628900 0.0053867101 0.0028385056 0.005489777 + 1629000 0.0051321926 0.0028510327 0.0053770337 + 1629100 0.0042178549 0.0029193038 0.0049952793 + 1629200 0.0049819942 0.0025912323 0.0050433075 + 1629300 0.0039999826 0.0025444534 0.0045131948 + 1629400 0.0049446075 0.0026086364 0.0050423104 + 1629500 0.006051214 0.0025917124 0.0055700443 + 1629600 0.0048588885 0.0028130911 0.0052045753 + 1629700 0.0056807897 0.0028065512 0.0056025649 + 1629800 0.0047911001 0.002568613 0.0049267326 + 1629900 0.0044239783 0.0024910462 0.004668473 + 1630000 0.0037808661 0.0033325149 0.0051934099 + 1630100 0.0032853348 0.003374816 0.0049918167 + 1630200 0.0059141909 0.0028019869 0.0057128777 + 1630300 0.0045227154 0.0028697213 0.0050957453 + 1630400 0.0044355264 0.0024492956 0.0046324063 + 1630500 0.00325894 0.0026420192 0.0042460288 + 1630600 0.0044140489 0.0031377632 0.0053103029 + 1630700 0.0066884225 0.0030078724 0.0062998304 + 1630800 0.0051597562 0.0026498517 0.0051894192 + 1630900 0.0051018765 0.0025594328 0.0050705126 + 1631000 0.0047809952 0.0025302276 0.0048833736 + 1631100 0.00480111 0.0028473498 0.0052103961 + 1631200 0.0063601042 0.0029541142 0.006084478 + 1631300 0.0055207927 0.002856209 0.0055734742 + 1631400 0.0044943716 0.0028268309 0.0050389045 + 1631500 0.0037720129 0.0026087637 0.0044653013 + 1631600 0.0057891241 0.002311845 0.0051611795 + 1631700 0.0062145141 0.0024269291 0.0054856352 + 1631800 0.0059696669 0.003286567 0.0062247624 + 1631900 0.0041550071 0.0036497191 0.0056947617 + 1632000 0.0053409874 0.0030586781 0.0056874453 + 1632100 0.0053968692 0.0026613596 0.0053176312 + 1632200 0.0056140394 0.0027607647 0.0055239247 + 1632300 0.0046505828 0.0029713942 0.0052603529 + 1632400 0.0050996608 0.0031252721 0.0056352614 + 1632500 0.0038431038 0.0033140849 0.0052056126 + 1632600 0.0046741826 0.0031580406 0.0054586148 + 1632700 0.0062951364 0.0031000289 0.0061984164 + 1632800 0.0054313793 0.0029952899 0.0056685469 + 1632900 0.0039411699 0.0026489173 0.0045887118 + 1633000 0.0061934324 0.0026433993 0.0056917293 + 1633100 0.0058395563 0.0030116682 0.0058858248 + 1633200 0.0062585221 0.0027956507 0.005876017 + 1633300 0.004635655 0.0029844 0.0052660114 + 1633400 0.0041597079 0.002790872 0.0048382283 + 1633500 0.0037979135 0.0028435944 0.0047128799 + 1633600 0.003143391 0.0030125162 0.004559654 + 1633700 0.0040094235 0.0028865552 0.0048599433 + 1633800 0.0034057266 0.0026572074 0.0043334635 + 1633900 0.0038446973 0.0022911504 0.0041834623 + 1634000 0.0050498917 0.0022158791 0.0047013727 + 1634100 0.0046202245 0.0022191783 0.0044931951 + 1634200 0.0047340546 0.0023955558 0.0047255983 + 1634300 0.0056517497 0.0023626853 0.0051444059 + 1634400 0.004108885 0.0027762147 0.0047985565 + 1634500 0.0045952273 0.0029445637 0.0052062771 + 1634600 0.0045680976 0.0030257714 0.0052741319 + 1634700 0.0061097753 0.0030294691 0.0060366241 + 1634800 0.003514471 0.0031035372 0.0048333159 + 1634900 0.0050804397 0.0027713637 0.0052718927 + 1635000 0.003667389 0.0028573222 0.0046623652 + 1635100 0.0057938652 0.0026371731 0.0054888411 + 1635200 0.0047102314 0.0025997832 0.0049181002 + 1635300 0.0048718581 0.0025784801 0.0049763478 + 1635400 0.0035099523 0.0029345955 0.0046621501 + 1635500 0.0041809781 0.0030827688 0.005140594 + 1635600 0.0050406169 0.0026991518 0.0051800804 + 1635700 0.0046141592 0.0027625614 0.0050335929 + 1635800 0.0046781561 0.0029899861 0.0052925161 + 1635900 0.0058595137 0.0025746155 0.0054585949 + 1636000 0.0046606532 0.002245374 0.0045392893 + 1636100 0.0025572402 0.0020978585 0.0033565001 + 1636200 0.0040244606 0.0023780209 0.0043588101 + 1636300 0.004086974 0.0026810101 0.0046925676 + 1636400 0.0035061004 0.0025782016 0.0043038604 + 1636500 0.0044842836 0.0026434374 0.0048505458 + 1636600 0.0062680565 0.0025479012 0.0056329603 + 1636700 0.0046452875 0.0023611332 0.0046474857 + 1636800 0.0051617608 0.0024327859 0.0049733401 + 1636900 0.0048489747 0.0027972794 0.0051838841 + 1637000 0.0052526201 0.0028844772 0.0054697512 + 1637100 0.0045194698 0.0029665988 0.0051910253 + 1637200 0.0052919004 0.0029839395 0.0055885467 + 1637300 0.0040815972 0.0023581479 0.004367059 + 1637400 0.0048839446 0.0021146657 0.0045184822 + 1637500 0.004072334 0.0023219887 0.0043263406 + 1637600 0.0053332587 0.001809193 0.0044341563 + 1637700 0.0041283016 0.0019582106 0.0039901091 + 1637800 0.0046174976 0.0021692113 0.0044418859 + 1637900 0.0045290429 0.0026335818 0.0048627202 + 1638000 0.0041970252 0.0029536203 0.0050193437 + 1638100 0.0047910334 0.0027523447 0.0051104314 + 1638200 0.005921154 0.0025242223 0.0054385403 + 1638300 0.0044706464 0.0024050329 0.0046054291 + 1638400 0.0046103834 0.0026808727 0.0049500458 + 1638500 0.0046854085 0.0027595263 0.0050656258 + 1638600 0.0050007328 0.0027471393 0.0052084375 + 1638700 0.0065296681 0.0029231793 0.0061370003 + 1638800 0.0061991878 0.0031073219 0.0061584847 + 1638900 0.0052364643 0.0035520849 0.0061294072 + 1639000 0.0072897113 0.0028344147 0.0064223195 + 1639100 0.0041896935 0.0022031492 0.0042652639 + 1639200 0.0061237801 0.0023563522 0.0053704003 + 1639300 0.0063762601 0.0030578683 0.0061961838 + 1639400 0.0042765532 0.0032681228 0.0053729889 + 1639500 0.0059971358 0.0031539242 0.0061056394 + 1639600 0.0066654476 0.0029356938 0.0062163438 + 1639700 0.0052604414 0.0027668677 0.0053559912 + 1639800 0.0041116046 0.002420171 0.0044438514 + 1639900 0.0055723723 0.002322991 0.005065643 + 1640000 0.0049487901 0.0027070536 0.0051427863 + 1640100 0.0051290637 0.0026757912 0.0052002522 + 1640200 0.0046058563 0.0022426678 0.0045096127 + 1640300 0.0052321736 0.0018280031 0.0044032135 + 1640400 0.0066831567 0.0020477176 0.0053370838 + 1640500 0.0038408723 0.0028001783 0.0046906076 + 1640600 0.0048765491 0.0029954246 0.0053956012 + 1640700 0.0070424853 0.0031545723 0.0066207956 + 1640800 0.0042775699 0.0034105095 0.0055158759 + 1640900 0.0059681923 0.0025373865 0.0054748561 + 1641000 0.0041601891 0.0021605115 0.0042081046 + 1641100 0.0054086728 0.0020836725 0.0047457537 + 1641200 0.0051815554 0.0022941937 0.0048444905 + 1641300 0.004260039 0.0028155489 0.0049122869 + 1641400 0.0044682712 0.0030781831 0.0052774104 + 1641500 0.0039696328 0.0033298149 0.0052836186 + 1641600 0.0056840568 0.0028875435 0.0056851652 + 1641700 0.0059563274 0.0025243676 0.0054559975 + 1641800 0.0067567807 0.0027416026 0.0060672056 + 1641900 0.0039642799 0.0029304026 0.0048815717 + 1642000 0.0048394735 0.0024167297 0.004798658 + 1642100 0.0036324624 0.0025452441 0.0043330966 + 1642200 0.0053284924 0.0024581011 0.0050807184 + 1642300 0.0055984757 0.0021600857 0.0049155855 + 1642400 0.0044134045 0.0023943661 0.0045665886 + 1642500 0.0059201281 0.0027570923 0.0056709054 + 1642600 0.0065738802 0.0031536488 0.0063892305 + 1642700 0.0055376987 0.0027892661 0.0055148522 + 1642800 0.0072015215 0.0018435186 0.0053880174 + 1642900 0.0046486828 0.0020708213 0.0043588449 + 1643000 0.0036130977 0.0024174699 0.0041957914 + 1643100 0.0040753506 0.0025324946 0.0045383313 + 1643200 0.0026401548 0.0025110384 0.0038104896 + 1643300 0.0056512715 0.0021542636 0.0049357488 + 1643400 0.0066734002 0.0022867498 0.005571314 + 1643500 0.004937039 0.0021801906 0.0046101395 + 1643600 0.0041374778 0.001954686 0.0039911008 + 1643700 0.0049461937 0.0017595825 0.0041940372 + 1643800 0.0052217634 0.0020562003 0.004626287 + 1643900 0.004661826 0.0019902403 0.0042847328 + 1644000 0.0051210453 0.0020866507 0.0046071652 + 1644100 0.0050734271 0.002589622 0.0050866994 + 1644200 0.0054516534 0.0026960654 0.0053793011 + 1644300 0.0046241283 0.0029258862 0.0052018244 + 1644400 0.0044398677 0.003224238 0.0054094854 + 1644500 0.0045740637 0.0029159306 0.0051672276 + 1644600 0.0071768565 0.0029618724 0.0064942315 + 1644700 0.0048171304 0.0030003264 0.0053712578 + 1644800 0.0049207289 0.0027685477 0.0051904689 + 1644900 0.0052870973 0.0023977088 0.004999952 + 1645000 0.0045713534 0.002375725 0.004625688 + 1645100 0.0058168188 0.0021293669 0.0049923324 + 1645200 0.00547169 0.0019184789 0.0046115763 + 1645300 0.0057387293 0.0022329184 0.0050574492 + 1645400 0.0067595301 0.0022083885 0.0055353447 + 1645500 0.0052449946 0.0022470394 0.0048285602 + 1645600 0.0037688112 0.0026698328 0.0045247946 + 1645700 0.0065270596 0.002621146 0.0058336831 + 1645800 0.0049672218 0.0026457454 0.0050905498 + 1645900 0.004690319 0.002216062 0.0045245784 + 1646000 0.004882275 0.0026536078 0.0050566025 + 1646100 0.0050460587 0.002716523 0.0052001301 + 1646200 0.0055397247 0.0029433803 0.0056699636 + 1646300 0.0044771937 0.0026903282 0.004893947 + 1646400 0.0056922284 0.0024965354 0.0052981791 + 1646500 0.0044709477 0.0025816441 0.0047821886 + 1646600 0.0041702309 0.0026912156 0.0047437512 + 1646700 0.0057387481 0.0029717251 0.0057962651 + 1646800 0.0063582502 0.0032741846 0.0064036359 + 1646900 0.0049592606 0.0031673301 0.0056082162 + 1647000 0.0039729063 0.002883343 0.0048387578 + 1647100 0.0044404908 0.0030961629 0.0052817169 + 1647200 0.0065706182 0.0032960012 0.0065299773 + 1647300 0.0064217988 0.0029666079 0.006127337 + 1647400 0.006119451 0.0027576071 0.0057695244 + 1647500 0.0041739221 0.002753699 0.0048080513 + 1647600 0.0052136191 0.0024811452 0.0050472233 + 1647700 0.0056253495 0.0025937582 0.0053624849 + 1647800 0.0053322628 0.0026701766 0.0052946497 + 1647900 0.0055542246 0.0027235245 0.0054572444 + 1648000 0.0057706697 0.0026038961 0.0054441476 + 1648100 0.005019236 0.0024296314 0.0049000366 + 1648200 0.0051874921 0.0024179414 0.0049711602 + 1648300 0.005038737 0.0024349808 0.0049149841 + 1648400 0.0050115114 0.0028653332 0.0053319364 + 1648500 0.004248447 0.0029874531 0.0050784856 + 1648600 0.0046278348 0.0032064927 0.0054842552 + 1648700 0.0045479359 0.0028625484 0.0051009856 + 1648800 0.0039390351 0.0024173995 0.0043561433 + 1648900 0.0055030436 0.0021114459 0.0048199751 + 1649000 0.0048530735 0.0022001459 0.004588768 + 1649100 0.0066892861 0.0025454615 0.0058378445 + 1649200 0.0037680991 0.0025251248 0.0043797361 + 1649300 0.0036190561 0.0022998546 0.0040811088 + 1649400 0.0042040588 0.0023312724 0.0044004575 + 1649500 0.0054976727 0.002089348 0.0047952338 + 1649600 0.0045651997 0.0020759896 0.0043229238 + 1649700 0.0054355728 0.002607606 0.005282927 + 1649800 0.0052439815 0.0025897867 0.0051708088 + 1649900 0.0047077416 0.0024029504 0.0047200419 + 1650000 0.005218436 0.0023573708 0.0049258198 + 1650100 0.0048419477 0.0021046538 0.0044877999 + 1650200 0.0043980404 0.0023465201 0.0045111806 + 1650300 0.0052709535 0.0024072497 0.0050015472 + 1650400 0.0056979534 0.0024238325 0.0052282939 + 1650500 0.00472211 0.00269558 0.0050197435 + 1650600 0.0051704696 0.0027814148 0.0053262553 + 1650700 0.0044864342 0.0024770583 0.0046852251 + 1650800 0.0059360761 0.002197683 0.0051193455 + 1650900 0.0046495657 0.0019879444 0.0042764025 + 1651000 0.0058375726 0.0017901517 0.0046633319 + 1651100 0.004855584 0.0021203616 0.0045102193 + 1651200 0.0060632633 0.0023324502 0.0053167126 + 1651300 0.0055857898 0.0023584647 0.0051077207 + 1651400 0.0045986859 0.0021602619 0.0044236776 + 1651500 0.0061930062 0.0025407867 0.005588907 + 1651600 0.0048510058 0.0029060926 0.005293697 + 1651700 0.0053009408 0.0025568017 0.0051658586 + 1651800 0.0066642821 0.0030720433 0.0063521196 + 1651900 0.0057737201 0.0034375463 0.0062792991 + 1652000 0.0048749422 0.0032965519 0.0056959375 + 1652100 0.0064780344 0.0026777047 0.0058661122 + 1652200 0.0054889825 0.0021969455 0.0048985541 + 1652300 0.0048068662 0.0021469747 0.0045128542 + 1652400 0.0032865959 0.0021811277 0.0037987492 + 1652500 0.0045986256 0.0019609942 0.0042243802 + 1652600 0.0057010026 0.0018903715 0.0046963337 + 1652700 0.0053300695 0.0020993208 0.0047227144 + 1652800 0.0062176199 0.002269329 0.0053295639 + 1652900 0.0064193179 0.0020596114 0.0052191194 + 1653000 0.006115582 0.0024181898 0.0054282028 + 1653100 0.0043848386 0.0028594363 0.0050175991 + 1653200 0.0056428942 0.0028209005 0.0055982625 + 1653300 0.0053594047 0.0028351635 0.0054729955 + 1653400 0.0056046184 0.0024045076 0.0051630307 + 1653500 0.005395241 0.002004394 0.0046598641 + 1653600 0.005328431 0.0021673221 0.0047899093 + 1653700 0.0051374638 0.0022551543 0.0047837498 + 1653800 0.0048236581 0.002289129 0.0046632732 + 1653900 0.0052540513 0.0020499177 0.0046358961 + 1654000 0.0037866374 0.0019258486 0.0037895842 + 1654100 0.006943142 0.0019130871 0.0053304148 + 1654200 0.0032189111 0.0023271426 0.0039114504 + 1654300 0.0047023038 0.0028411194 0.0051555345 + 1654400 0.0054734728 0.0029205387 0.0056145135 + 1654500 0.0055443074 0.0027186 0.0054474388 + 1654600 0.0049475728 0.0030160756 0.0054512091 + 1654700 0.0054031765 0.0029387259 0.0055981019 + 1654800 0.005837769 0.0028730688 0.0057463458 + 1654900 0.0035037908 0.0027610498 0.0044855718 + 1655000 0.0049423845 0.0028213336 0.0052539135 + 1655100 0.0047410139 0.0024105864 0.0047440542 + 1655200 0.0056593258 0.0021118137 0.0048972631 + 1655300 0.0055545924 0.00218559 0.004919491 + 1655400 0.0045902321 0.0024055985 0.0046648533 + 1655500 0.0041751503 0.0026403123 0.0046952691 + 1655600 0.0046946846 0.0027893953 0.0051000604 + 1655700 0.0049249492 0.0031701288 0.0055941273 + 1655800 0.0051327671 0.0031189994 0.0056452832 + 1655900 0.0039044798 0.0032597219 0.005181458 + 1656000 0.0059113446 0.0029508746 0.0058603645 + 1656100 0.0049135057 0.003165949 0.0055843151 + 1656200 0.0049242283 0.0032903728 0.0057140165 + 1656300 0.0047997459 0.0030134393 0.0053758142 + 1656400 0.005021154 0.0032871931 0.0057585423 + 1656500 0.0058349056 0.0029820681 0.0058539357 + 1656600 0.0049537398 0.0031878116 0.0056259803 + 1656700 0.0049601025 0.0031045746 0.0055458751 + 1656800 0.0061255035 0.002819135 0.0058340312 + 1656900 0.0048085869 0.0027726628 0.0051393891 + 1657000 0.0052441864 0.0028002427 0.0053813657 + 1657100 0.0043763638 0.0029537101 0.0051077017 + 1657200 0.0050873959 0.0029844954 0.0054884481 + 1657300 0.0039376872 0.002767666 0.0047057464 + 1657400 0.004058083 0.0028464702 0.0048438079 + 1657500 0.0053381688 0.0031632355 0.0057906154 + 1657600 0.0056601758 0.0033881126 0.0061739804 + 1657700 0.0042849546 0.0036254174 0.0057344184 + 1657800 0.0061428937 0.0034503599 0.0064738154 + 1657900 0.0058354315 0.0032782192 0.0061503457 + 1658000 0.0042311123 0.0029738728 0.0050563734 + 1658100 0.0051636789 0.0027275998 0.005269098 + 1658200 0.0041938122 0.0030605864 0.0051247284 + 1658300 0.0043180255 0.0031253088 0.005250587 + 1658400 0.0058829048 0.0030770988 0.005972591 + 1658500 0.0037320107 0.0030403049 0.004877154 + 1658600 0.0060281076 0.0029950861 0.0059620453 + 1658700 0.0054777018 0.0031917799 0.0058878362 + 1658800 0.0044466106 0.0030141247 0.0052026909 + 1658900 0.0057400825 0.0024600254 0.0052852223 + 1659000 0.0043894495 0.0025680061 0.0047284383 + 1659100 0.005685694 0.0027404625 0.00553889 + 1659200 0.0046831843 0.0024857354 0.0047907402 + 1659300 0.0059362992 0.0023173462 0.0052391185 + 1659400 0.0036563282 0.0032983411 0.0050979401 + 1659500 0.0045075806 0.0034547563 0.0056733311 + 1659600 0.0060342018 0.00295335 0.0059233087 + 1659700 0.0049136929 0.0027360904 0.0051545486 + 1659800 0.0049391772 0.0027330461 0.0051640473 + 1659900 0.0043794193 0.002791221 0.0049467165 + 1660000 0.0063817762 0.0027670949 0.0059081254 + 1660100 0.0056678109 0.0027863859 0.0055760116 + 1660200 0.0040434741 0.0030069208 0.0049970683 + 1660300 0.0043537778 0.0027520579 0.004894933 + 1660400 0.0060782611 0.0027783988 0.005770043 + 1660500 0.0055807461 0.0024719543 0.0052187277 + 1660600 0.0048842086 0.0025328919 0.0049368383 + 1660700 0.0052391638 0.0024633393 0.0050419903 + 1660800 0.0051127608 0.0027176635 0.0052341005 + 1660900 0.0059889061 0.0028970291 0.0058446938 + 1661000 0.0030456339 0.0032414196 0.0047404426 + 1661100 0.0050168847 0.002812059 0.005281307 + 1661200 0.0053630553 0.0030411944 0.0056808232 + 1661300 0.0060421889 0.0031575757 0.0061314656 + 1661400 0.0051604568 0.0029387947 0.0054787071 + 1661500 0.0039866245 0.0029745906 0.0049367573 + 1661600 0.0047174977 0.0026904799 0.0050123734 + 1661700 0.0055219782 0.0023859158 0.0051037645 + 1661800 0.0060091626 0.0021386659 0.0050963006 + 1661900 0.0050718072 0.0022067945 0.0047030746 + 1662000 0.0051264118 0.0023353282 0.004858484 + 1662100 0.0057876788 0.0022137304 0.0050623536 + 1662200 0.006232967 0.0022591156 0.005326904 + 1662300 0.0039007661 0.0022059713 0.0041258796 + 1662400 0.0043124977 0.002171334 0.0042938915 + 1662500 0.0066670548 0.0024615018 0.0057429428 + 1662600 0.004880622 0.0028793199 0.0052815011 + 1662700 0.0055160279 0.0028478548 0.0055627747 + 1662800 0.004026052 0.0028378733 0.0048194458 + 1662900 0.0057740517 0.0022302971 0.0050722132 + 1663000 0.0053948804 0.0017920656 0.0044473583 + 1663100 0.006059327 0.0017720004 0.0047543254 + 1663200 0.0038945727 0.0022120312 0.0041288912 + 1663300 0.0042958871 0.0020429395 0.0041573214 + 1663400 0.0057461125 0.0021608615 0.0049890263 + 1663500 0.0041811358 0.0023129427 0.0043708455 + 1663600 0.005645341 0.0024428526 0.0052214188 + 1663700 0.0043021859 0.0023406812 0.0044581633 + 1663800 0.0042794586 0.0022767785 0.0043830745 + 1663900 0.0053155737 0.0021853468 0.0048016058 + 1664000 0.0055359699 0.0022688418 0.0049935769 + 1664100 0.0043487798 0.0027477216 0.0048881367 + 1664200 0.0057622319 0.0025479869 0.0053840855 + 1664300 0.0041054003 0.0027639276 0.0047845543 + 1664400 0.0050423111 0.002611687 0.0050934495 + 1664500 0.0041676246 0.0027628858 0.0048141386 + 1664600 0.0044064064 0.0025950363 0.0047638145 + 1664700 0.0063654834 0.0025912658 0.0057242772 + 1664800 0.0037591846 0.0028182631 0.0046684867 + 1664900 0.0051102948 0.0026352324 0.0051504557 + 1665000 0.0045697699 0.0025132346 0.0047624182 + 1665100 0.0054347 0.0023805013 0.0050553927 + 1665200 0.0038348396 0.0021006918 0.0039881519 + 1665300 0.0045687353 0.0018347562 0.0040834307 + 1665400 0.0040440087 0.001929404 0.0039198145 + 1665500 0.0053638063 0.0023500693 0.0049900677 + 1665600 0.0056168035 0.0025553248 0.0053198452 + 1665700 0.0056441918 0.0023328468 0.0051108475 + 1665800 0.0052240947 0.0026471907 0.0052184248 + 1665900 0.0043667484 0.0020976483 0.0042469073 + 1666000 0.0070553084 0.0017689638 0.0052414984 + 1666100 0.0045010993 0.0027760855 0.0049914703 + 1666200 0.0050384736 0.0031253638 0.0056052375 + 1666300 0.0062887696 0.0025248986 0.0056201524 + 1666400 0.0048786208 0.0024929864 0.0048941825 + 1666500 0.0048121625 0.0028115785 0.0051800647 + 1666600 0.0054910279 0.0028185713 0.0055211866 + 1666700 0.0064129159 0.0026337759 0.005790133 + 1666800 0.00394915 0.0023890681 0.0043327903 + 1666900 0.0058393348 0.00242743 0.0053014776 + 1667000 0.0055569388 0.0022669661 0.0050020219 + 1667100 0.0043139593 0.0020672071 0.0041904839 + 1667200 0.0039280895 0.0022459029 0.0041792594 + 1667300 0.0041205701 0.0023801076 0.0044082007 + 1667400 0.0040490185 0.0024662325 0.0044591088 + 1667500 0.0043288015 0.0025908975 0.0047214795 + 1667600 0.0049353417 0.0029587692 0.0053878827 + 1667700 0.0058500785 0.00277019 0.0056495255 + 1667800 0.0054083692 0.0024442106 0.0051061423 + 1667900 0.0047453866 0.0023319351 0.0046675551 + 1668000 0.004668751 0.0027615797 0.0050594806 + 1668100 0.0039640207 0.0029996558 0.0049506973 + 1668200 0.0071190497 0.0024664348 0.005970342 + 1668300 0.0052500882 0.0027167508 0.0053007785 + 1668400 0.0073804299 0.0030077526 0.0066403079 + 1668500 0.0054632238 0.0035811093 0.0062700398 + 1668600 0.0057622938 0.003728927 0.0065650559 + 1668700 0.004927204 0.0036518755 0.0060769837 + 1668800 0.0056471226 0.0036722041 0.0064516472 + 1668900 0.0056201813 0.0034289284 0.0061951114 + 1669000 0.0059798605 0.0026911534 0.0056343661 + 1669100 0.0042588261 0.0029045287 0.0050006697 + 1669200 0.0057535553 0.0029177693 0.0057495973 + 1669300 0.0059575128 0.0023303365 0.0052625498 + 1669400 0.0072521271 0.0027254232 0.0062948295 + 1669500 0.0058593831 0.0029932816 0.0058771968 + 1669600 0.006087663 0.0021671832 0.0051634548 + 1669700 0.0055054043 0.0023930151 0.0051027063 + 1669800 0.0064196322 0.0022152737 0.0053749364 + 1669900 0.0051364857 0.0020632227 0.0045913368 + 1670000 0.0037112987 0.0023483304 0.0041749852 + 1670100 0.0056354075 0.0023266757 0.0051003528 + 1670200 0.0044154287 0.0025804129 0.0047536318 + 1670300 0.0046145721 0.0028996057 0.0051708404 + 1670400 0.0059226772 0.00291928 0.0058343477 + 1670500 0.0047651399 0.0027379466 0.0050832889 + 1670600 0.0043479653 0.0023936051 0.0045336193 + 1670700 0.0044652588 0.002614307 0.0048120516 + 1670800 0.0064001146 0.0025306355 0.0056806919 + 1670900 0.0039946415 0.0026423038 0.0046084164 + 1671000 0.0058219097 0.0024879661 0.0053534372 + 1671100 0.0045490748 0.0024175363 0.0046565341 + 1671200 0.0067963508 0.00252812 0.0058731989 + 1671300 0.0060305673 0.0025989623 0.0055671322 + 1671400 0.0061429659 0.0028273765 0.0058508676 + 1671500 0.0040083655 0.0026534562 0.0046263236 + 1671600 0.0043689544 0.0025538108 0.0047041556 + 1671700 0.0070438939 0.0019720231 0.0054389397 + 1671800 0.0046457414 0.0021982079 0.0044847837 + 1671900 0.0042808706 0.0022843206 0.0043913116 + 1672000 0.0047353365 0.0025819102 0.0049125836 + 1672100 0.0052071021 0.0024208409 0.0049837115 + 1672200 0.0050186981 0.002286286 0.0047564265 + 1672300 0.0048933875 0.0020675912 0.0044760554 + 1672400 0.0044907373 0.0019044442 0.004114729 + 1672500 0.0045742345 0.0017034927 0.0039548737 + 1672600 0.0047816364 0.0018307732 0.0041842349 + 1672700 0.0052730453 0.0018771162 0.0044724431 + 1672800 0.0041716452 0.0022153459 0.0042685776 + 1672900 0.0075758202 0.0022126985 0.0059414225 + 1673000 0.0045495313 0.0022658636 0.0045050861 + 1673100 0.0065355561 0.0020784744 0.0052951935 + 1673200 0.0036081116 0.0022543852 0.0040302526 + 1673300 0.0070309335 0.0018237573 0.0052842949 + 1673400 0.0057456014 0.002155931 0.0049838442 + 1673500 0.0052604783 0.0028471553 0.0054362969 + 1673600 0.0060537036 0.0032649658 0.0062445231 + 1673700 0.0052716695 0.0033719953 0.0059666451 + 1673800 0.0056043447 0.0030599226 0.005818311 + 1673900 0.0059634088 0.0024340743 0.0053691896 + 1674000 0.0044433102 0.0022988574 0.0044857991 + 1674100 0.005031647 0.002270119 0.0047466328 + 1674200 0.004934976 0.0020195983 0.0044485318 + 1674300 0.0041767123 0.0020538248 0.0041095504 + 1674400 0.0044253591 0.0020453402 0.0042234466 + 1674500 0.0054133573 0.0019256854 0.0045900722 + 1674600 0.0060049743 0.0018058804 0.0047614537 + 1674700 0.0047893159 0.0018082569 0.0041654983 + 1674800 0.0041482199 0.0025053937 0.0045470956 + 1674900 0.005897393 0.0023846704 0.0052872935 + 1675000 0.0043249409 0.0023584928 0.0044871747 + 1675100 0.0052864161 0.002449895 0.005051803 + 1675200 0.0043817824 0.0026122493 0.0047689078 + 1675300 0.0036498021 0.0021754867 0.0039718737 + 1675400 0.0066517682 0.002137703 0.0054116202 + 1675500 0.0058179312 0.0023839454 0.0052474584 + 1675600 0.0050479837 0.0022854145 0.0047699689 + 1675700 0.0056658974 0.0022684261 0.00505711 + 1675800 0.0053701034 0.0024292575 0.0050723553 + 1675900 0.0052140416 0.0028332593 0.0053995454 + 1676000 0.005193704 0.0029137972 0.0054700734 + 1676100 0.0056192238 0.0027241047 0.0054898164 + 1676200 0.0046704112 0.0021208312 0.0044195492 + 1676300 0.0073079744 0.0022712854 0.005868179 + 1676400 0.0046937462 0.0026426806 0.0049528838 + 1676500 0.0046819246 0.0027392955 0.0050436802 + 1676600 0.0077736859 0.0026384036 0.0064645146 + 1676700 0.0042932236 0.0025789576 0.0046920286 + 1676800 0.0047880601 0.0028518242 0.0052084475 + 1676900 0.0046994239 0.0024662982 0.0047792959 + 1677000 0.0044526836 0.0021237793 0.0043153345 + 1677100 0.0048462877 0.0018086983 0.0041939805 + 1677200 0.0057596198 0.0020089855 0.0048437983 + 1677300 0.004765693 0.0021280567 0.0044736712 + 1677400 0.0049918184 0.0023456138 0.0048025245 + 1677500 0.0046506549 0.0024621396 0.0047511338 + 1677600 0.0044056961 0.0023741546 0.0045425831 + 1677700 0.0042520153 0.0020846427 0.0041774314 + 1677800 0.005272929 0.0018529924 0.0044482621 + 1677900 0.0052907819 0.0021100096 0.0047140664 + 1678000 0.0045965721 0.0021841967 0.0044465721 + 1678100 0.0044993211 0.0028275118 0.0050420214 + 1678200 0.0040950044 0.0024992894 0.0045147994 + 1678300 0.006233082 0.0022580113 0.0053258563 + 1678400 0.0061519775 0.0024541826 0.005482109 + 1678500 0.0059736987 0.0023914278 0.0053316076 + 1678600 0.004765154 0.0025636762 0.0049090254 + 1678700 0.0052769411 0.0025706881 0.0051679325 + 1678800 0.0045050097 0.0020647353 0.0042820447 + 1678900 0.0046965016 0.0019902873 0.0043018467 + 1679000 0.0042392627 0.001989093 0.0040756051 + 1679100 0.0065566223 0.0021855178 0.0054126053 + 1679200 0.0049283397 0.0022759748 0.004701642 + 1679300 0.004364316 0.0022778889 0.0044259507 + 1679400 0.0054596287 0.0023191742 0.0050063352 + 1679500 0.0047966753 0.0022130527 0.0045739163 + 1679600 0.0038061905 0.002523013 0.0043963724 + 1679700 0.0038694565 0.0028867277 0.0047912258 + 1679800 0.0066086948 0.0019312346 0.0051839516 + 1679900 0.0054318078 0.0020729362 0.0047464041 + 1680000 0.0040666806 0.0025528787 0.0045544481 + 1680100 0.0039192983 0.0025506282 0.0044796578 + 1680200 0.0065304373 0.0021797319 0.0053939315 + 1680300 0.0058555667 0.0022422304 0.0051242671 + 1680400 0.00497179 0.0023645557 0.0048116086 + 1680500 0.0061938574 0.0026182845 0.0056668237 + 1680600 0.0055790697 0.0030498584 0.0057958068 + 1680700 0.0045871072 0.0024100072 0.004667724 + 1680800 0.0062536666 0.0021866325 0.005264609 + 1680900 0.0042103943 0.0026254424 0.0046977459 + 1681000 0.0054681649 0.0026367119 0.0053280743 + 1681100 0.0058112092 0.0026119613 0.0054721658 + 1681200 0.0064976915 0.0023781614 0.0055762439 + 1681300 0.0052958866 0.0028303157 0.0054368849 + 1681400 0.0047053735 0.0031188399 0.005434766 + 1681500 0.0050203496 0.0028076728 0.0052786261 + 1681600 0.0054562048 0.0025577798 0.0052432557 + 1681700 0.0051029791 0.0020308906 0.0045425132 + 1681800 0.0041911665 0.0021526481 0.0042154878 + 1681900 0.0063341062 0.0020341022 0.0051516701 + 1682000 0.0045759739 0.0020636815 0.0043159187 + 1682100 0.0055545952 0.0017995643 0.0045334666 + 1682200 0.0061756557 0.0015056166 0.0045451971 + 1682300 0.0046506744 0.0018418036 0.0041308074 + 1682400 0.0039656973 0.0020281506 0.0039800172 + 1682500 0.00418757 0.0026119373 0.0046730069 + 1682600 0.0042552369 0.0027306068 0.0048249812 + 1682700 0.0052340919 0.002467474 0.0050436286 + 1682800 0.0043308696 0.0026712975 0.0048028974 + 1682900 0.0047985996 0.0024107658 0.0047725766 + 1683000 0.004083534 0.0023715377 0.004381402 + 1683100 0.0061986477 0.0024605377 0.0055114346 + 1683200 0.0036603276 0.0028189022 0.0046204697 + 1683300 0.0064414645 0.0018210297 0.004991438 + 1683400 0.0045469459 0.001985766 0.0042237159 + 1683500 0.0049545923 0.0019645325 0.0044031209 + 1683600 0.0044529317 0.0019452125 0.0041368898 + 1683700 0.0049703385 0.0020634298 0.0045097683 + 1683800 0.0035124136 0.0022963329 0.0040250989 + 1683900 0.004572062 0.0020764672 0.004326779 + 1684000 0.0049608447 0.0016244194 0.0040660852 + 1684100 0.0054322903 0.00161079 0.0042844954 + 1684200 0.0054473554 0.0015977897 0.00427891 + 1684300 0.0062460068 0.0011848094 0.0042590159 + 1684400 0.0047893125 0.0013284399 0.0036856796 + 1684500 0.0049167206 0.001922315 0.0043422634 + 1684600 0.0041980534 0.0023952621 0.0044614915 + 1684700 0.0064638105 0.0025559655 0.0057373723 + 1684800 0.0044134619 0.0028040921 0.0049763429 + 1684900 0.0049852014 0.0024190095 0.0048726633 + 1685000 0.0054071938 0.001904972 0.0045663252 + 1685100 0.0047315058 0.0019482137 0.0042770017 + 1685200 0.0041659639 0.0021978555 0.0042482909 + 1685300 0.0051491407 0.0022645104 0.004798853 + 1685400 0.0048588215 0.0023017344 0.0046931856 + 1685500 0.0045156894 0.0020394309 0.0042619968 + 1685600 0.0052260789 0.001865246 0.0044374568 + 1685700 0.0048740883 0.0022075673 0.0046065326 + 1685800 0.0056985141 0.0027011814 0.0055059188 + 1685900 0.0059506278 0.0028425648 0.0057713894 + 1686000 0.0060105924 0.0026380509 0.0055963893 + 1686100 0.005537876 0.0032006499 0.0059263233 + 1686200 0.0048023579 0.0031400613 0.0055037218 + 1686300 0.0048689734 0.0029762922 0.00537274 + 1686400 0.0062473108 0.002618879 0.0056937273 + 1686500 0.0060680083 0.0027213028 0.0057079007 + 1686600 0.0034242988 0.0026624062 0.0043478033 + 1686700 0.0047737045 0.0030919031 0.0054414608 + 1686800 0.0044016584 0.0038268359 0.0059932772 + 1686900 0.0046118021 0.0038480479 0.0061179193 + 1687000 0.0052832458 0.0030269723 0.0056273199 + 1687100 0.0044349999 0.0023775374 0.0045603889 + 1687200 0.0034882327 0.0022161458 0.0039330103 + 1687300 0.0039968633 0.0023201418 0.004287348 + 1687400 0.0045333236 0.002439353 0.0046705982 + 1687500 0.0046022071 0.0024194358 0.0046845846 + 1687600 0.0053633437 0.0027048043 0.0053445751 + 1687700 0.0048163501 0.0030952735 0.0054658208 + 1687800 0.0053938879 0.00276403 0.0054188342 + 1687900 0.0061187767 0.003032598 0.0060441834 + 1688000 0.0081699462 0.0025968412 0.0066179866 + 1688100 0.0068151434 0.0024728479 0.0058271764 + 1688200 0.0053185903 0.0021886109 0.0048063545 + 1688300 0.0048220956 0.0023947246 0.0047680998 + 1688400 0.0045974207 0.0022447761 0.0045075691 + 1688500 0.0052862793 0.0015078315 0.0041096721 + 1688600 0.0045305773 0.0017857927 0.0040156862 + 1688700 0.0047898829 0.0021206851 0.0044782056 + 1688800 0.0040698493 0.0022043061 0.0042074351 + 1688900 0.0036741568 0.0023294953 0.0041378693 + 1689000 0.0043949357 0.001949062 0.0041121944 + 1689100 0.0049792334 0.0017621217 0.0042128382 + 1689200 0.0042284594 0.0017501508 0.0038313457 + 1689300 0.0054618908 0.001948421 0.0046366954 + 1689400 0.0056180968 0.0021982751 0.0049634321 + 1689500 0.0054610231 0.0021701226 0.0048579699 + 1689600 0.0061663776 0.0018447043 0.0048797183 + 1689700 0.0035744062 0.0022269457 0.0039862238 + 1689800 0.0046034242 0.0022405421 0.00450629 + 1689900 0.0041684995 0.0021134226 0.004165106 + 1690000 0.0053704491 0.0021917708 0.0048350387 + 1690100 0.0049024976 0.0023892794 0.0048022275 + 1690200 0.0043605526 0.0026051306 0.0047513401 + 1690300 0.0042730254 0.0024092475 0.0045123772 + 1690400 0.0047991744 0.0035104922 0.0058725859 + 1690500 0.0051640332 0.0038558102 0.0063974828 + 1690600 0.0053145161 0.0030268852 0.0056426236 + 1690700 0.004311195 0.0029255276 0.0050474439 + 1690800 0.0076618483 0.0025436467 0.0063147126 + 1690900 0.0045675339 0.0025388098 0.0047868929 + 1691000 0.003161084 0.002566905 0.004122751 + 1691100 0.004645984 0.0027559985 0.0050426937 + 1691200 0.0045650019 0.0022231156 0.0044699525 + 1691300 0.0054380256 0.0020816368 0.0047581651 + 1691400 0.0050606647 0.0022733037 0.0047640996 + 1691500 0.0047776376 0.0023803065 0.0047318 + 1691600 0.0057796495 0.0026529246 0.0054975959 + 1691700 0.0045695919 0.0031610662 0.0054101622 + 1691800 0.0043170488 0.0031021327 0.0052269301 + 1691900 0.0056303906 0.0028096152 0.005580823 + 1692000 0.0040783486 0.0023524593 0.0043597715 + 1692100 0.0051848571 0.0023374568 0.0048893787 + 1692200 0.0066734727 0.0021429007 0.0054275006 + 1692300 0.003954522 0.0025329019 0.0044792682 + 1692400 0.0046572183 0.0022182295 0.0045104542 + 1692500 0.0048055864 0.0021301251 0.0044953747 + 1692600 0.0058359437 0.0026042565 0.005476635 + 1692700 0.0050682397 0.0031838419 0.0056783661 + 1692800 0.0055552039 0.0028068759 0.0055410778 + 1692900 0.0047064967 0.0025734316 0.0048899105 + 1693000 0.0055812831 0.0024444527 0.0051914905 + 1693100 0.0049172731 0.0023905282 0.0048107486 + 1693200 0.0043107341 0.0026834304 0.0048051198 + 1693300 0.0040104992 0.0028315151 0.0048054327 + 1693400 0.0041511781 0.0031967489 0.0052399069 + 1693500 0.0056688434 0.0029163668 0.0057065007 + 1693600 0.0041892114 0.0029082641 0.0049701416 + 1693700 0.0043811812 0.0030264195 0.0051827821 + 1693800 0.0050186526 0.0030470358 0.0055171539 + 1693900 0.0058572409 0.002815903 0.0056987638 + 1694000 0.0066441996 0.0025972194 0.0058674114 + 1694100 0.0055687861 0.0030277697 0.0057686567 + 1694200 0.0045897401 0.0036658178 0.0059248305 + 1694300 0.0053527916 0.0036297701 0.0062643472 + 1694400 0.0050348546 0.0039862782 0.0064643707 + 1694500 0.0038856891 0.0042482192 0.0061607068 + 1694600 0.0052414161 0.0036265039 0.0062062634 + 1694700 0.005251428 0.0030393016 0.0056239888 + 1694800 0.0048399151 0.0026921285 0.0050742742 + 1694900 0.0042836767 0.0026495055 0.0047578776 + 1695000 0.0056744439 0.002498666 0.0052915564 + 1695100 0.0043619303 0.0028164343 0.0049633219 + 1695200 0.0046680824 0.0033175497 0.0056151215 + 1695300 0.0056509575 0.002951843 0.0057331737 + 1695400 0.004058772 0.0027220188 0.0047196956 + 1695500 0.003362815 0.0030043567 0.0046594923 + 1695600 0.0052080571 0.0025265849 0.0050899255 + 1695700 0.0051810409 0.0027531568 0.0053032004 + 1695800 0.0047457754 0.0026682904 0.0050041018 + 1695900 0.0064383256 0.0024917235 0.0056605869 + 1696000 0.0058515983 0.0029157385 0.005795822 + 1696100 0.0034550813 0.003118056 0.0048186038 + 1696200 0.0047055488 0.0030217435 0.0053377559 + 1696300 0.0042718004 0.0035084174 0.0056109441 + 1696400 0.0060615192 0.0031439824 0.0061273864 + 1696500 0.0058516319 0.0029257318 0.0058058318 + 1696600 0.0059370406 0.0031330337 0.0060551709 + 1696700 0.0050327833 0.0028897556 0.0053668286 + 1696800 0.0054389936 0.0029705954 0.0056476 + 1696900 0.00499077 0.0026462231 0.0051026177 + 1697000 0.0058084211 0.0029200646 0.0057788969 + 1697100 0.0046134829 0.0027522022 0.0050229008 + 1697200 0.0051584866 0.0032285995 0.0057675421 + 1697300 0.0050951902 0.0036424449 0.0061502338 + 1697400 0.0069170279 0.0037332118 0.0071376864 + 1697500 0.0053546971 0.003394432 0.006029947 + 1697600 0.0052823475 0.0031385044 0.0057384099 + 1697700 0.0040149477 0.0028600753 0.0048361824 + 1697800 0.005077328 0.0025063812 0.0050053786 + 1697900 0.0061936897 0.0021016269 0.0051500835 + 1698000 0.005979668 0.0028158132 0.0057589311 + 1698100 0.0034545555 0.0035730417 0.0052733307 + 1698200 0.0054287887 0.0029984426 0.0056704245 + 1698300 0.0054824973 0.0029605912 0.0056590078 + 1698400 0.0050214881 0.0028679029 0.0053394166 + 1698500 0.0052882914 0.0025780092 0.0051808402 + 1698600 0.0041070577 0.0022773748 0.0042988173 + 1698700 0.0052198413 0.0020902674 0.0046594081 + 1698800 0.0031265792 0.0017542697 0.0032931329 + 1698900 0.0050922356 0.0020752502 0.0045815849 + 1699000 0.0043081584 0.0020369456 0.0041573673 + 1699100 0.004376303 0.0019941704 0.004148132 + 1699200 0.0045681212 0.0023063384 0.0045547105 + 1699300 0.0051444518 0.0021935202 0.0047255551 + 1699400 0.0043794602 0.0019588327 0.0041143482 + 1699500 0.0042621805 0.0020360386 0.0041338305 + 1699600 0.0043402516 0.0023318358 0.0044680534 + 1699700 0.0040970654 0.0020567879 0.0040733123 + 1699800 0.0049630556 0.0022420039 0.0046847578 + 1699900 0.0040429424 0.0022995459 0.0042894316 + 1700000 0.0052270956 0.0023752439 0.004947955 + 1700100 0.0046633174 0.0024788783 0.0047741048 + 1700200 0.0035666483 0.0028766263 0.004632086 + 1700300 0.0052487188 0.0025694989 0.0051528526 + 1700400 0.0050522501 0.0023409198 0.0048275741 + 1700500 0.0043218665 0.0023260608 0.0044532295 + 1700600 0.0040820204 0.002237391 0.0042465104 + 1700700 0.0028837166 0.0023926425 0.0038119718 + 1700800 0.0041381632 0.0024456111 0.0044823633 + 1700900 0.0039350182 0.0026959405 0.0046327073 + 1701000 0.0065503777 0.0029913914 0.0062154054 + 1701100 0.0063311586 0.0034317131 0.0065478302 + 1701200 0.0052954639 0.0034442687 0.0060506298 + 1701300 0.007069623 0.0024332104 0.0059127905 + 1701400 0.0050162373 0.0023401649 0.0048090942 + 1701500 0.0049219011 0.0023346174 0.0047571155 + 1701600 0.004940269 0.002251442 0.0046829807 + 1701700 0.005004208 0.0023097505 0.0047727591 + 1701800 0.0038146592 0.0023392795 0.0042168071 + 1701900 0.0052633222 0.0021927678 0.0047833092 + 1702000 0.005942817 0.0024264724 0.0053514527 + 1702100 0.0067625456 0.0023329272 0.0056613676 + 1702200 0.005867638 0.0023141196 0.0052020977 + 1702300 0.0050066537 0.0020618454 0.0045260578 + 1702400 0.0052837217 0.0015740742 0.004174656 + 1702500 0.0042546341 0.0012172743 0.003311352 + 1702600 0.0040546677 0.001376304 0.0033719608 + 1702700 0.0042247524 0.0019021361 0.0039815064 + 1702800 0.0044024263 0.0022428951 0.0044097143 + 1702900 0.003554181 0.0025169635 0.0042662869 + 1703000 0.0051941493 0.002658837 0.0052153323 + 1703100 0.0064851731 0.0029102799 0.006102201 + 1703200 0.0044394906 0.0036666271 0.0058516889 + 1703300 0.0052860184 0.0033929901 0.0059947023 + 1703400 0.0042453794 0.0030860551 0.0051755778 + 1703500 0.0046188069 0.0032001574 0.0054734765 + 1703600 0.0058018274 0.0030559072 0.0059114941 + 1703700 0.0051556322 0.0031179058 0.0056554435 + 1703800 0.007388635 0.0031200525 0.0067566463 + 1703900 0.0054766953 0.0029466655 0.0056422265 + 1704000 0.0070384824 0.0031791781 0.0066434312 + 1704100 0.0052285045 0.0029855251 0.0055589296 + 1704200 0.0058637538 0.0037642824 0.0066503487 + 1704300 0.0047495232 0.0035450477 0.0058827036 + 1704400 0.0053629609 0.002900639 0.0055402213 + 1704500 0.0044037487 0.0025723891 0.0047398592 + 1704600 0.0045464141 0.0029437427 0.0051814309 + 1704700 0.0041940045 0.0030050544 0.0050692909 + 1704800 0.004852129 0.0036245081 0.0060126653 + 1704900 0.005666361 0.0034182937 0.0062072058 + 1705000 0.0071776192 0.0021744692 0.0057072037 + 1705100 0.0039497652 0.0024285575 0.0043725826 + 1705200 0.0042707019 0.0026196742 0.0047216603 + 1705300 0.0041154203 0.0026546097 0.0046801681 + 1705400 0.0068224563 0.0023996927 0.0057576204 + 1705500 0.0068348673 0.0027190325 0.0060830687 + 1705600 0.0057905469 0.0035196226 0.0063696574 + 1705700 0.0054584883 0.0036211537 0.0063077534 + 1705800 0.005992795 0.003988566 0.0069381448 + 1705900 0.0061176163 0.0040045673 0.0070155815 + 1706000 0.0052303943 0.0041267183 0.006701053 + 1706100 0.0054748347 0.0040339252 0.0067285704 + 1706200 0.0049715031 0.0032305374 0.0056774491 + 1706300 0.0060995242 0.0025432503 0.0055453599 + 1706400 0.0072808759 0.0024810372 0.0060645933 + 1706500 0.0060517198 0.002555957 0.0055345379 + 1706600 0.0054015946 0.002688232 0.0053468294 + 1706700 0.0046204497 0.0030949629 0.0053690905 + 1706800 0.0054856129 0.0030774398 0.0057773899 + 1706900 0.0038846484 0.0028045632 0.0047165386 + 1707000 0.005605176 0.0025559039 0.0053147014 + 1707100 0.0063035908 0.0023362423 0.0054387909 + 1707200 0.0032606451 0.0024377487 0.0040425975 + 1707300 0.0041770135 0.0022299753 0.0042858491 + 1707400 0.0052255938 0.0022988101 0.0048707821 + 1707500 0.0053686023 0.0026795847 0.0053219437 + 1707600 0.0048594793 0.0031022794 0.0054940544 + 1707700 0.0042640796 0.0028778068 0.0049765335 + 1707800 0.006193646 0.0027733342 0.0058217693 + 1707900 0.0042832167 0.0032635936 0.0053717393 + 1708000 0.005740699 0.0029906601 0.0058161604 + 1708100 0.0045195285 0.0029209907 0.0051454461 + 1708200 0.0047848213 0.0024147873 0.0047698165 + 1708300 0.0040559689 0.0027575835 0.0047538807 + 1708400 0.0051733639 0.0029828248 0.0055290898 + 1708500 0.0058192678 0.0026349093 0.0054990802 + 1708600 0.0058257144 0.0027200145 0.0055873583 + 1708700 0.0040593282 0.0029561594 0.0049541101 + 1708800 0.0058962629 0.0027352636 0.0056373305 + 1708900 0.0057608803 0.0027178401 0.0055532733 + 1709000 0.0045929986 0.0028266557 0.0050872722 + 1709100 0.0056881802 0.002734702 0.0055343532 + 1709200 0.0041530857 0.0028053507 0.0048494476 + 1709300 0.0045994357 0.0024743339 0.0047381187 + 1709400 0.006110385 0.0027434324 0.0057508875 + 1709500 0.0050877044 0.0023635762 0.0048676807 + 1709600 0.0050724447 0.0021020657 0.0045986595 + 1709700 0.0054349921 0.0019652787 0.0046403139 + 1709800 0.0044126841 0.0024041282 0.0045759961 + 1709900 0.0048973676 0.0026142109 0.005024634 + 1710000 0.0056945975 0.002955427 0.0057582367 + 1710100 0.0045383987 0.0025655947 0.0047993378 + 1710200 0.0049651686 0.0021502801 0.0045940741 + 1710300 0.0056125712 0.0022698021 0.0050322395 + 1710400 0.0040203534 0.0024006116 0.0043793793 + 1710500 0.0042680598 0.0023648035 0.0044654892 + 1710600 0.0038999878 0.0026275126 0.0045470379 + 1710700 0.0044872507 0.002624845 0.0048334137 + 1710800 0.0054108493 0.0024641204 0.0051272728 + 1710900 0.0046510807 0.0027794633 0.0050686671 + 1711000 0.0057748728 0.0024513809 0.0052937011 + 1711100 0.0066710651 0.002281516 0.0055649309 + 1711200 0.0051543517 0.002383307 0.0049202145 + 1711300 0.0040212031 0.0021987094 0.0041778953 + 1711400 0.0038204959 0.0020059996 0.0038863999 + 1711500 0.0052003563 0.001894583 0.0044541333 + 1711600 0.0052450181 0.0018755714 0.0044571037 + 1711700 0.0044268212 0.0020946304 0.0042734565 + 1711800 0.0046410035 0.0027555824 0.0050398263 + 1711900 0.0039964498 0.0027589413 0.0047259439 + 1712000 0.0045707678 0.0029262011 0.0051758759 + 1712100 0.0069728945 0.0025466032 0.0059785747 + 1712200 0.0069787334 0.0027669404 0.0062017857 + 1712300 0.0050488212 0.0029759723 0.005460939 + 1712400 0.0045372769 0.0024141589 0.0046473498 + 1712500 0.0036632711 0.0023480942 0.0041511104 + 1712600 0.0040493307 0.0026345001 0.00462753 + 1712700 0.0051185588 0.0024548427 0.0049741333 + 1712800 0.0063319113 0.0023913174 0.005507805 + 1712900 0.0038482342 0.0025153739 0.0044094266 + 1713000 0.0052531868 0.0025648112 0.0051503641 + 1713100 0.0043221809 0.0023819064 0.0045092298 + 1713200 0.0040488295 0.0024938388 0.0044866221 + 1713300 0.0034815887 0.0028477668 0.0045613613 + 1713400 0.0069551758 0.0022939215 0.0057171721 + 1713500 0.0046601484 0.0020863917 0.0043800585 + 1713600 0.0043473424 0.0019242305 0.0040639381 + 1713700 0.0061160806 0.0020682434 0.0050785018 + 1713800 0.0048695556 0.0020798042 0.0044765386 + 1713900 0.004386583 0.0018929904 0.0040520117 + 1714000 0.003617531 0.0018935487 0.0036740522 + 1714100 0.0055593089 0.0018911349 0.0046273573 + 1714200 0.0055492905 0.0021031358 0.0048344272 + 1714300 0.0050519071 0.0022898359 0.0047763214 + 1714400 0.0065134153 0.0026657881 0.0058716097 + 1714500 0.0059094416 0.002798812 0.0057073653 + 1714600 0.003030212 0.0033786505 0.0048700829 + 1714700 0.0054995183 0.0029987457 0.0057055399 + 1714800 0.0045332873 0.0030002794 0.0052315068 + 1714900 0.0047554468 0.0029682094 0.0053087809 + 1715000 0.0045571993 0.0033160534 0.0055590499 + 1715100 0.0041083944 0.0033362842 0.0053583846 + 1715200 0.0064534214 0.0033180601 0.0064943535 + 1715300 0.0044793255 0.0034465794 0.0056512474 + 1715400 0.0066164133 0.0029496673 0.0062061832 + 1715500 0.0047903435 0.0028070931 0.0051648403 + 1715600 0.0052635067 0.0026362027 0.0052268349 + 1715700 0.0061787184 0.0026437183 0.0056848063 + 1715800 0.0059356212 0.0026228276 0.0055442662 + 1715900 0.0044268122 0.0022982922 0.0044771138 + 1716000 0.0043068213 0.0017643304 0.0038840941 + 1716100 0.0047392486 0.0018469664 0.0041795654 + 1716200 0.0049031223 0.0019443363 0.0043575918 + 1716300 0.0048723343 0.0019530477 0.0043511497 + 1716400 0.0053186602 0.0018474202 0.0044651983 + 1716500 0.0064577179 0.0022431782 0.0054215862 + 1716600 0.0050365953 0.0025324558 0.005011405 + 1716700 0.0055860761 0.0023988723 0.0051482691 + 1716800 0.0045058421 0.0020811562 0.0042988753 + 1716900 0.0066774513 0.0020500894 0.0053366474 + 1717000 0.0053081983 0.0023926411 0.0050052699 + 1717100 0.0049226675 0.0018788266 0.004301702 + 1717200 0.0047429106 0.0019461555 0.0042805568 + 1717300 0.0043918202 0.00219018 0.004351779 + 1717400 0.0051760108 0.0027239917 0.0052715596 + 1717500 0.0055262013 0.0026636038 0.005383531 + 1717600 0.0052019872 0.0022188323 0.0047791854 + 1717700 0.0043256876 0.0020541768 0.0041832261 + 1717800 0.0061362836 0.0020860453 0.0051062474 + 1717900 0.0049318044 0.0022271322 0.0046545046 + 1718000 0.0063310709 0.0021509366 0.0052670106 + 1718100 0.0031400469 0.0022180625 0.0037635544 + 1718200 0.0058672646 0.0015992941 0.0044870884 + 1718300 0.005501664 0.0015817365 0.0042895867 + 1718400 0.007399268 0.0017988331 0.0054406603 + 1718500 0.005647364 0.0024225645 0.0052021265 + 1718600 0.0046122171 0.002515872 0.0047859476 + 1718700 0.0051578326 0.0021557094 0.0046943301 + 1718800 0.0061455964 0.0023346366 0.0053594223 + 1718900 0.0050302803 0.0022943734 0.0047702145 + 1719000 0.0052448309 0.0022131931 0.0047946333 + 1719100 0.0047375 0.0024386867 0.004770425 + 1719200 0.0048274542 0.002342042 0.0047180546 + 1719300 0.0045974955 0.0025212784 0.0047841082 + 1719400 0.0039130925 0.0025179971 0.0044439723 + 1719500 0.0044118658 0.0024602814 0.0046317467 + 1719600 0.0042501032 0.0022705626 0.0043624103 + 1719700 0.005148765 0.0023329716 0.0048671293 + 1719800 0.0065884223 0.0022724462 0.0055151853 + 1719900 0.0057893272 0.0025280772 0.0053775116 + 1720000 0.0039262618 0.0023200431 0.0042525001 + 1720100 0.0043194733 0.0018757418 0.0040017325 + 1720200 0.0036842619 0.0024320726 0.0042454202 + 1720300 0.0045055693 0.0025501001 0.004767685 + 1720400 0.0053250507 0.0021969348 0.0048178582 + 1720500 0.0035097888 0.0022775072 0.0040049814 + 1720600 0.0043507809 0.0024788686 0.0046202686 + 1720700 0.0056125793 0.0025338382 0.0052962795 + 1720800 0.0046382883 0.0024968535 0.0047797611 + 1720900 0.0036828848 0.0024986228 0.0043112926 + 1721000 0.0051619273 0.0024405518 0.0049811879 + 1721100 0.0054839583 0.0025706392 0.0052697749 + 1721200 0.0035185473 0.0027741261 0.0045059112 + 1721300 0.0049987706 0.0027162868 0.0051766192 + 1721400 0.0057953802 0.0029424959 0.0057949096 + 1721500 0.005339383 0.0028524083 0.0054803858 + 1721600 0.0061516767 0.0028811485 0.0059089269 + 1721700 0.0061138948 0.0032301147 0.0062392973 + 1721800 0.0048433325 0.0032649751 0.0056488028 + 1721900 0.0038829032 0.0032204822 0.0051315986 + 1722000 0.0052525715 0.0027097048 0.0052949548 + 1722100 0.005715345 0.0022174199 0.0050304413 + 1722200 0.0057932738 0.0027049408 0.0055563178 + 1722300 0.0044757507 0.0030238012 0.0052267098 + 1722400 0.005385232 0.0034046023 0.0060551462 + 1722500 0.0042436286 0.0033536195 0.0054422805 + 1722600 0.0039266112 0.0034237158 0.0053563447 + 1722700 0.0056726653 0.0033070821 0.0060990971 + 1722800 0.0046421528 0.0033422137 0.0056270233 + 1722900 0.0056067267 0.0032033124 0.0059628732 + 1723000 0.0043274614 0.0029657644 0.0050956868 + 1723100 0.0041569879 0.0031639539 0.0052099713 + 1723200 0.0048022181 0.0031633643 0.005526956 + 1723300 0.0041883405 0.0026627485 0.0047241973 + 1723400 0.0054332696 0.0024027988 0.0050769862 + 1723500 0.0042678354 0.0028786853 0.0049792605 + 1723600 0.0050356665 0.0035168842 0.0059953763 + 1723700 0.0043505865 0.0029525602 0.0050938645 + 1723800 0.0051669957 0.002839718 0.0053828487 + 1723900 0.0071313016 0.0031380267 0.0066479642 + 1724000 0.0053900647 0.0035031784 0.0061561009 + 1724100 0.0041937606 0.0030331305 0.0050972471 + 1724200 0.0042885383 0.0024221973 0.0045329623 + 1724300 0.0051166255 0.0023741116 0.0048924507 + 1724400 0.0054996237 0.0025234336 0.0052302797 + 1724500 0.006429137 0.0021946966 0.0053590375 + 1724600 0.0058595949 0.0020283983 0.0049124176 + 1724700 0.0057186214 0.0026045802 0.0054192142 + 1724800 0.0047587641 0.0028391677 0.0051813719 + 1724900 0.0044472364 0.0031137516 0.0053026258 + 1725000 0.0051496095 0.0032019723 0.0057365458 + 1725100 0.0052368616 0.0027898061 0.005367324 + 1725200 0.0051941165 0.0026210101 0.0051774893 + 1725300 0.0068196887 0.0029057719 0.0062623374 + 1725400 0.0053533412 0.0031629732 0.0057978208 + 1725500 0.0048306667 0.0031713054 0.0055488992 + 1725600 0.0046665806 0.0028387265 0.0051355591 + 1725700 0.0038887382 0.0027266892 0.0046406776 + 1725800 0.005007118 0.0025072005 0.0049716414 + 1725900 0.0055171566 0.0023616003 0.0050770758 + 1726000 0.0053510286 0.0026404986 0.005274208 + 1726100 0.0048009866 0.0026220074 0.004984993 + 1726200 0.005082385 0.0024150674 0.0049165537 + 1726300 0.0054322831 0.0024426962 0.005116398 + 1726400 0.0058297968 0.0025140805 0.0053834336 + 1726500 0.0059649815 0.0024011478 0.0053370372 + 1726600 0.004681758 0.002340689 0.0046449918 + 1726700 0.0050198922 0.0021882901 0.0046590183 + 1726800 0.0038030879 0.0024583189 0.0043301512 + 1726900 0.0061457232 0.0022809602 0.0053058083 + 1727000 0.0053925099 0.0023622989 0.0050164249 + 1727100 0.0049296754 0.0024577831 0.0048841078 + 1727200 0.0053559728 0.002772386 0.0054085289 + 1727300 0.0046535087 0.0031395394 0.0054299382 + 1727400 0.0058269508 0.0025864915 0.0054544439 + 1727500 0.0056573156 0.0022101168 0.0049945768 + 1727600 0.0049905603 0.0026989189 0.0051552103 + 1727700 0.0042830655 0.0032261846 0.0053342559 + 1727800 0.004136421 0.0038153686 0.0058512633 + 1727900 0.0050951756 0.0037449495 0.0062527312 + 1728000 0.004984718 0.003363139 0.0058165549 + 1728100 0.0062848429 0.0026769432 0.0057702643 + 1728200 0.0055187654 0.0023633992 0.0050796665 + 1728300 0.0048460343 0.0023358505 0.004721008 + 1728400 0.003883629 0.0027304114 0.004641885 + 1728500 0.0057253995 0.0026354122 0.0054533823 + 1728600 0.0033845529 0.0024941065 0.0041599411 + 1728700 0.0043987178 0.0021830253 0.0043480192 + 1728800 0.0051691732 0.0020954875 0.00463969 + 1728900 0.0047818633 0.0024723949 0.0048259682 + 1729000 0.0059213791 0.0027525474 0.0056669762 + 1729100 0.0037043638 0.0027132143 0.0045364559 + 1729200 0.0049229976 0.0023786015 0.0048016393 + 1729300 0.0056054439 0.0018014237 0.0045603531 + 1729400 0.0055803481 0.0015483738 0.0042949514 + 1729500 0.005147778 0.0019259366 0.0044596086 + 1729600 0.0043834613 0.0022836024 0.0044410872 + 1729700 0.0036220115 0.002342922 0.0041256308 + 1729800 0.0034882855 0.0019767045 0.0036935951 + 1729900 0.005726432 0.001635036 0.0044535142 + 1730000 0.0053960458 0.002032577 0.0046884433 + 1730100 0.0049832093 0.0026482624 0.0051009358 + 1730200 0.004992416 0.0029584959 0.0054157006 + 1730300 0.007169188 0.0029183722 0.0064469569 + 1730400 0.006694281 0.0030796447 0.0063744861 + 1730500 0.0036663244 0.00328594 0.0050904591 + 1730600 0.00541351 0.002819862 0.0054843239 + 1730700 0.0038812311 0.0025601518 0.0044704452 + 1730800 0.0042066962 0.002390096 0.0044605792 + 1730900 0.0048221125 0.0022593902 0.0046327737 + 1731000 0.0045878249 0.0022064825 0.0044645526 + 1731100 0.0045032409 0.0022094804 0.0044259192 + 1731200 0.0053829766 0.0021162293 0.0047656631 + 1731300 0.0054229911 0.0026563715 0.0053255 + 1731400 0.0048727321 0.0026593119 0.0050576098 + 1731500 0.0050701517 0.0027212787 0.005216744 + 1731600 0.0058280367 0.0028867846 0.0057552714 + 1731700 0.0049363692 0.0027790302 0.0052086494 + 1731800 0.0065099456 0.0023096429 0.0055137567 + 1731900 0.0052811615 0.0024409337 0.0050402554 + 1732000 0.00415052 0.0027978293 0.0048406634 + 1732100 0.0057540991 0.0026030488 0.0054351445 + 1732200 0.0064227028 0.0024695042 0.0056306782 + 1732300 0.0058190592 0.0025921061 0.0054561743 + 1732400 0.0053035167 0.0028277873 0.0054381119 + 1732500 0.0053347273 0.0022297704 0.0048554565 + 1732600 0.0044781971 0.0022605925 0.0044647052 + 1732700 0.0040456283 0.0024149924 0.0044062 + 1732800 0.0056952881 0.0025863984 0.005389548 + 1732900 0.0053296985 0.0023044754 0.0049276864 + 1733000 0.0048537642 0.0021982371 0.0045871991 + 1733100 0.0055571555 0.0023427814 0.0050779439 + 1733200 0.0066740143 0.0025596194 0.0058444858 + 1733300 0.005742997 0.0028620027 0.005688634 + 1733400 0.00542953 0.0025419716 0.0052143184 + 1733500 0.0046905538 0.0024765892 0.0047852211 + 1733600 0.0056352494 0.0023095493 0.0050831486 + 1733700 0.0062935727 0.001883593 0.0049812108 + 1733800 0.004699127 0.0017781318 0.0040909833 + 1733900 0.0056426007 0.002091474 0.0048686916 + 1734000 0.0058376099 0.002551493 0.0054246916 + 1734100 0.0050429739 0.0028676163 0.0053497051 + 1734200 0.0043305002 0.0031475932 0.0052790113 + 1734300 0.005275518 0.0029090427 0.0055055867 + 1734400 0.0067785509 0.0026489317 0.0059852497 + 1734500 0.0050183952 0.0026840051 0.0051539965 + 1734600 0.0047755779 0.0028659719 0.0052164517 + 1734700 0.0037668462 0.0031484145 0.0050024091 + 1734800 0.0059527531 0.0027164336 0.0056463043 + 1734900 0.0062094667 0.002320614 0.005376836 + 1735000 0.0053030555 0.0021161976 0.0047262952 + 1735100 0.0046568977 0.0021988977 0.0044909645 + 1735200 0.0059010002 0.002175547 0.0050799456 + 1735300 0.0061958903 0.0025758372 0.005625377 + 1735400 0.0057136582 0.0026114738 0.0054236649 + 1735500 0.0063750067 0.0028612729 0.0059989715 + 1735600 0.0053494701 0.0036945892 0.0063275315 + 1735700 0.0045713244 0.0033849831 0.0056349318 + 1735800 0.0031216763 0.0030313018 0.0045677519 + 1735900 0.005746327 0.0027460987 0.005574369 + 1736000 0.0037211408 0.0025645001 0.0043959991 + 1736100 0.0046107849 0.0023545481 0.0046239189 + 1736200 0.0034428428 0.0023382377 0.0040327619 + 1736300 0.0057378037 0.0019393258 0.004763401 + 1736400 0.0051073543 0.0018510839 0.0043648599 + 1736500 0.0047645752 0.0020340178 0.0043790822 + 1736600 0.0044756915 0.0021659472 0.0043688267 + 1736700 0.0044055098 0.0022710857 0.0044394225 + 1736800 0.0039354443 0.0022252823 0.0041622588 + 1736900 0.0050097028 0.00269379 0.0051595031 + 1737000 0.0038847536 0.0029975155 0.0049095426 + 1737100 0.0054737758 0.0023939834 0.0050881074 + 1737200 0.0057023108 0.0022977667 0.0051043728 + 1737300 0.0050720907 0.0026275556 0.0051239752 + 1737400 0.004792361 0.0026940309 0.0050527711 + 1737500 0.0047087909 0.0025377319 0.0048553399 + 1737600 0.0048197957 0.0020295456 0.0044017888 + 1737700 0.0056974338 0.0019884191 0.0047926248 + 1737800 0.004759503 0.0024262807 0.0047688486 + 1737900 0.0040707207 0.0028045247 0.0048080825 + 1738000 0.004908504 0.0025846737 0.005000578 + 1738100 0.0050711837 0.0021813444 0.0046773177 + 1738200 0.0038418351 0.0020475184 0.0039384216 + 1738300 0.0044093039 0.0022440428 0.0044142471 + 1738400 0.0051710477 0.0020102751 0.0045554002 + 1738500 0.0060714285 0.0018332096 0.0048214908 + 1738600 0.0040593712 0.0022940007 0.0042919725 + 1738700 0.0049104673 0.002320081 0.0047369517 + 1738800 0.005423353 0.0020358958 0.0047052024 + 1738900 0.0045692734 0.00233662 0.0045855593 + 1739000 0.0045416316 0.0022874765 0.0045228108 + 1739100 0.0055753237 0.0022750601 0.0050191648 + 1739200 0.0049883781 0.0020795018 0.0045347192 + 1739300 0.0052509514 0.0022655514 0.004850004 + 1739400 0.0049064071 0.0027838297 0.0051987019 + 1739500 0.0054466575 0.0031100791 0.0057908559 + 1739600 0.0043893121 0.0028232451 0.0049836097 + 1739700 0.0045384814 0.0025698277 0.0048036115 + 1739800 0.0055498063 0.0028554241 0.0055869694 + 1739900 0.0056696306 0.0027186415 0.0055091628 + 1740000 0.0040783746 0.0022509839 0.0042583089 + 1740100 0.0062706811 0.0021177705 0.0052041213 + 1740200 0.0041165122 0.0025020284 0.0045281243 + 1740300 0.0037188771 0.0027873811 0.0046177659 + 1740400 0.0060068161 0.0021157174 0.0050721972 + 1740500 0.0058949877 0.0014310699 0.0043325092 + 1740600 0.0050029427 0.0013524356 0.0038148215 + 1740700 0.0058466683 0.0015518032 0.0044294603 + 1740800 0.0045495757 0.0016134569 0.0038527012 + 1740900 0.0057265965 0.0020679528 0.0048865121 + 1741000 0.005983955 0.0021213563 0.0050665842 + 1741100 0.0054298262 0.0022750248 0.0049475174 + 1741200 0.0035873618 0.0026966411 0.0044622958 + 1741300 0.0037042601 0.0026854833 0.0045086738 + 1741400 0.00664289 0.0018453586 0.005114906 + 1741500 0.0040297643 0.001944766 0.0039281656 + 1741600 0.003546476 0.0021347868 0.0038803179 + 1741700 0.0055404349 0.0019220741 0.0046490069 + 1741800 0.005490077 0.0020441281 0.0047462754 + 1741900 0.0034403536 0.0022584051 0.0039517041 + 1742000 0.0059071961 0.0022870484 0.0051944965 + 1742100 0.0054958224 0.0022377165 0.0049426916 + 1742200 0.0046305943 0.0020838146 0.0043629352 + 1742300 0.0053569438 0.00186912 0.0045057408 + 1742400 0.0043393579 0.0019951129 0.0041308906 + 1742500 0.0037326919 0.0021895512 0.0040267355 + 1742600 0.0058527136 0.0022864891 0.0051671216 + 1742700 0.0044893954 0.0021836092 0.0043932335 + 1742800 0.0049433752 0.0019914996 0.004424567 + 1742900 0.0037032368 0.0021444734 0.0039671602 + 1743000 0.0040560155 0.0019152222 0.0039115423 + 1743100 0.0042913932 0.001996273 0.0041084431 + 1743200 0.0045073107 0.0021475658 0.0043660078 + 1743300 0.0058356831 0.0017770545 0.0046493048 + 1743400 0.0047261453 0.001632658 0.0039588076 + 1743500 0.0058233083 0.0018122343 0.0046783939 + 1743600 0.0047004673 0.0022741379 0.0045876491 + 1743700 0.0055245323 0.0020215978 0.0047407036 + 1743800 0.00578952 0.0014774067 0.0043269361 + 1743900 0.0055296633 0.0016479642 0.0043695954 + 1744000 0.0068234601 0.0023564261 0.0057148479 + 1744100 0.0042560935 0.0023690165 0.0044638125 + 1744200 0.0050880539 0.0021193128 0.0046235893 + 1744300 0.0051833256 0.002049027 0.0046001951 + 1744400 0.0056838606 0.0022660567 0.0050635819 + 1744500 0.0067776304 0.0019263329 0.0052621979 + 1744600 0.003907055 0.0023832976 0.0043063012 + 1744700 0.0051463204 0.0025410232 0.0050739778 + 1744800 0.0052379929 0.0029426217 0.0055206963 + 1744900 0.0038929115 0.0033297261 0.0052457685 + 1745000 0.0044453848 0.0034127598 0.0056007226 + 1745100 0.0049866859 0.0033395938 0.0057939783 + 1745200 0.0055932312 0.0024621668 0.0052150853 + 1745300 0.0043326859 0.0018693986 0.0040018925 + 1745400 0.0052243159 0.0017183416 0.0042896846 + 1745500 0.0037261437 0.001913941 0.0037479023 + 1745600 0.0039822146 0.0021261749 0.0040861712 + 1745700 0.0050067391 0.0021309063 0.0045951607 + 1745800 0.0041976078 0.0023213329 0.004387343 + 1745900 0.0048218209 0.0020789667 0.0044522067 + 1746000 0.005147471 0.0017156651 0.004249186 + 1746100 0.0040947402 0.0021074055 0.0041227854 + 1746200 0.0053714291 0.0020561375 0.0046998878 + 1746300 0.0047363799 0.001983398 0.004314585 + 1746400 0.003749191 0.0021120408 0.0039573458 + 1746500 0.0056112019 0.0019405974 0.0047023608 + 1746600 0.0046720811 0.0018981587 0.0041976986 + 1746700 0.0050362688 0.0025482266 0.0050270152 + 1746800 0.005483912 0.0030906163 0.0057897293 + 1746900 0.0061140692 0.0025580433 0.0055673117 + 1747000 0.0075131498 0.002046077 0.0057439555 + 1747100 0.0067377668 0.00189538 0.0052116246 + 1747200 0.0047331985 0.0023162136 0.0046458347 + 1747300 0.0053225524 0.0018998918 0.0045195855 + 1747400 0.0036700965 0.0019674262 0.0037738018 + 1747500 0.0045876359 0.0024144239 0.004672401 + 1747600 0.0054887798 0.0029831269 0.0056846357 + 1747700 0.0056493822 0.0028568019 0.0056373572 + 1747800 0.0052499945 0.0032635379 0.0058475196 + 1747900 0.0046888022 0.0030162028 0.0053239726 + 1748000 0.0045277272 0.0025887871 0.0048172778 + 1748100 0.0054692111 0.0024868052 0.0051786825 + 1748200 0.004127615 0.0028054089 0.0048369694 + 1748300 0.0051393173 0.0024609425 0.0049904502 + 1748400 0.0051882494 0.0026960292 0.0052496207 + 1748500 0.0048994391 0.0026399012 0.0050513439 + 1748600 0.0043996888 0.0022298669 0.0043953387 + 1748700 0.0064274864 0.0023549668 0.0055184953 + 1748800 0.006274093 0.0022570724 0.0053451025 + 1748900 0.0052026486 0.002758453 0.0053191316 + 1749000 0.004009864 0.0028613902 0.0048349951 + 1749100 0.0048703204 0.0028675516 0.0052646624 + 1749200 0.0052245597 0.0028838042 0.0054552672 + 1749300 0.004817961 0.0028736314 0.0052449716 + 1749400 0.0051264134 0.0029320523 0.0054552089 + 1749500 0.0073661639 0.0023041125 0.0059296463 + 1749600 0.0043055506 0.0024079303 0.0045270685 + 1749700 0.0047532897 0.0020166188 0.0043561286 + 1749800 0.0051933931 0.0017493598 0.0043054829 + 1749900 0.0049806923 0.0017576068 0.0042090413 + 1750000 0.0036417494 0.0019395724 0.0037319959 + 1750100 0.003840005 0.0018811299 0.0037711324 + 1750200 0.0056635717 0.0019623688 0.004749908 + 1750300 0.0065692611 0.0023040241 0.0055373323 + 1750400 0.0052113071 0.0026860758 0.005251016 + 1750500 0.0036410161 0.0033532161 0.0051452787 + 1750600 0.0055006939 0.0032920537 0.0059994265 + 1750700 0.007096572 0.0026647171 0.0061575611 + 1750800 0.0050566881 0.002760163 0.0052490016 + 1750900 0.0053497695 0.0024858525 0.0051189422 + 1751000 0.0054475209 0.002640353 0.0053215547 + 1751100 0.0055406795 0.0026261803 0.0053532335 + 1751200 0.0036095297 0.0027771921 0.0045537576 + 1751300 0.003771049 0.002593969 0.0044500322 + 1751400 0.0039921933 0.0030453833 0.0050102909 + 1751500 0.0050324697 0.0029510642 0.0054279829 + 1751600 0.005664032 0.0026041898 0.0053919555 + 1751700 0.0038714686 0.0026424 0.0045478885 + 1751800 0.004410971 0.0023977291 0.0045687539 + 1751900 0.0047793964 0.0024451759 0.004797535 + 1752000 0.0056694252 0.0028355191 0.0056259393 + 1752100 0.0044059303 0.0027307674 0.0048993112 + 1752200 0.0036211125 0.002562308 0.0043445743 + 1752300 0.0047929515 0.0025269973 0.0048860282 + 1752400 0.0047792779 0.0026175864 0.0049698873 + 1752500 0.0053357584 0.002855661 0.0054818546 + 1752600 0.0047721485 0.0027612361 0.005110028 + 1752700 0.0051034349 0.0028221558 0.0053340026 + 1752800 0.0052759311 0.0026457975 0.0052425449 + 1752900 0.0039342517 0.0027428813 0.0046792708 + 1753000 0.0064508463 0.0026345971 0.005809623 + 1753100 0.0068647903 0.0027416857 0.0061204497 + 1753200 0.0064463746 0.0028482681 0.0060210931 + 1753300 0.0047305928 0.0025866046 0.0049149433 + 1753400 0.003443834 0.0025018195 0.0041968316 + 1753500 0.0055246018 0.0025632188 0.0052823587 + 1753600 0.0065642887 0.0030686517 0.0062995125 + 1753700 0.0050383242 0.0029283343 0.0054081345 + 1753800 0.0047845833 0.0027391813 0.0050940934 + 1753900 0.0059913298 0.0026551777 0.0056040354 + 1754000 0.0055249961 0.0026399483 0.0053592823 + 1754100 0.0044615362 0.0024935474 0.0046894597 + 1754200 0.0053601971 0.0023018231 0.0049400451 + 1754300 0.0031417986 0.0025888855 0.0041352395 + 1754400 0.0048475742 0.002389492 0.0047754074 + 1754500 0.0048044586 0.0026318205 0.004996515 + 1754600 0.0040643428 0.0030238884 0.0050243072 + 1754700 0.0046313093 0.002897246 0.0051767185 + 1754800 0.0066412028 0.0025758437 0.0058445607 + 1754900 0.0045584059 0.0024877318 0.0047313222 + 1755000 0.0063288676 0.0026912977 0.0058062873 + 1755100 0.0062917476 0.0024243139 0.0055210334 + 1755200 0.0052043884 0.0023621441 0.004923679 + 1755300 0.0053725955 0.0023610806 0.0050054049 + 1755400 0.0043694533 0.002293562 0.0044441523 + 1755500 0.0051508578 0.0021584162 0.004693604 + 1755600 0.0047789279 0.0021904854 0.004542614 + 1755700 0.0057643772 0.0018426952 0.0046798497 + 1755800 0.0045364153 0.0017633178 0.0039960847 + 1755900 0.005349409 0.0018694989 0.0045024111 + 1756000 0.0044423148 0.0021108008 0.0042972526 + 1756100 0.0051941319 0.0021304724 0.0046869592 + 1756200 0.0038357246 0.0024121689 0.0043000646 + 1756300 0.0049703994 0.002061538 0.0045079065 + 1756400 0.0036394093 0.0022033478 0.0039946195 + 1756500 0.0044526621 0.0025282263 0.004719771 + 1756600 0.0040109553 0.0025421677 0.0045163097 + 1756700 0.0051864357 0.0021803224 0.0047330212 + 1756800 0.0076732371 0.0019657416 0.005742413 + 1756900 0.0051793624 0.0024518841 0.0050011015 + 1757000 0.0045633163 0.0028297712 0.0050757785 + 1757100 0.0057156185 0.0023428292 0.0051559852 + 1757200 0.0048347336 0.0019633376 0.0043429331 + 1757300 0.0042042353 0.0020232255 0.0040924975 + 1757400 0.0033656001 0.0025959295 0.0042524359 + 1757500 0.0038702466 0.0029808192 0.0048857062 + 1757600 0.006286415 0.002873339 0.0059674338 + 1757700 0.0055643243 0.0025655075 0.0053041984 + 1757800 0.0049938667 0.0025898882 0.0050478069 + 1757900 0.0068179948 0.0027319535 0.0060876853 + 1758000 0.0057420094 0.0026574842 0.0054836294 + 1758100 0.0049020929 0.0025222139 0.0049349628 + 1758200 0.0046668789 0.0023578443 0.0046548238 + 1758300 0.0046286605 0.0020701523 0.0043483211 + 1758400 0.0045108052 0.0019655011 0.004185663 + 1758500 0.0046233885 0.0020159534 0.0042915274 + 1758600 0.0041456117 0.0021659897 0.0042064079 + 1758700 0.0051782246 0.0019289318 0.0044775892 + 1758800 0.0045746212 0.0021612705 0.0044128419 + 1758900 0.0077424811 0.0026041625 0.006414915 + 1759000 0.0044599219 0.0035705356 0.0057656534 + 1759100 0.0065373173 0.0026687611 0.005886347 + 1759200 0.0053380901 0.0023476053 0.0049749466 + 1759300 0.0036854572 0.0021156971 0.003929633 + 1759400 0.0052732166 0.0018310809 0.0044264922 + 1759500 0.0054625405 0.0017695043 0.0044580984 + 1759600 0.0050989864 0.0021545027 0.0046641601 + 1759700 0.0056697487 0.0023140151 0.0051045945 + 1759800 0.0048036163 0.0025651592 0.0049294391 + 1759900 0.0066365622 0.0021701065 0.0054365395 + 1760000 0.0058820827 0.0022204213 0.0051155089 + 1760100 0.0058255798 0.0020057335 0.004873011 + 1760200 0.0058720848 0.0022649235 0.0051550902 + 1760300 0.0053221326 0.0023306227 0.0049501098 + 1760400 0.0048428638 0.0019462132 0.0043298102 + 1760500 0.0049457944 0.0021150055 0.0045492637 + 1760600 0.0051563363 0.0021394344 0.0046773187 + 1760700 0.0062422111 0.002456977 0.0055293153 + 1760800 0.004972519 0.0024777978 0.0049252095 + 1760900 0.0058191548 0.0025581804 0.0054222956 + 1761000 0.0058589242 0.0023195454 0.0052032347 + 1761100 0.0044741632 0.002366277 0.0045684042 + 1761200 0.0047234054 0.0029343213 0.0052591224 + 1761300 0.0034372568 0.0033588576 0.0050506324 + 1761400 0.0054314571 0.0030128716 0.0056861669 + 1761500 0.0055650354 0.0028475325 0.0055865734 + 1761600 0.0041294886 0.0031608643 0.005193347 + 1761700 0.004710439 0.0031064815 0.0054249007 + 1761800 0.0051489401 0.0030547064 0.0055889504 + 1761900 0.0048898376 0.0028908117 0.0052975287 + 1762000 0.0041400356 0.0026896011 0.0047272749 + 1762100 0.0041153292 0.0023297222 0.0043552358 + 1762200 0.0061146657 0.0023242546 0.0053338166 + 1762300 0.0043538133 0.0026548768 0.0047977693 + 1762400 0.0050189972 0.0029637082 0.0054339959 + 1762500 0.003859436 0.0027595641 0.0046591302 + 1762600 0.0040910028 0.002911193 0.0049247334 + 1762700 0.0040779655 0.0029964208 0.0050035444 + 1762800 0.0062508472 0.0028213474 0.0058979363 + 1762900 0.0058963666 0.0032020578 0.0061041757 + 1763000 0.0055330789 0.0031209309 0.0058442432 + 1763100 0.0061840829 0.0031093313 0.0061530596 + 1763200 0.0057304501 0.0028744931 0.005694949 + 1763300 0.0066838907 0.0024058355 0.005695563 + 1763400 0.0061499035 0.0029665559 0.0059934615 + 1763500 0.0040618285 0.0035568507 0.0055560319 + 1763600 0.0040196835 0.0031507056 0.0051291436 + 1763700 0.0048724074 0.0024303971 0.0048285351 + 1763800 0.0046991752 0.0024985705 0.0048114458 + 1763900 0.0050107177 0.0027343022 0.0052005148 + 1764000 0.0050185802 0.0029683622 0.0054384446 + 1764100 0.004866006 0.0032298905 0.0056248779 + 1764200 0.0035821347 0.0033071952 0.0050702771 + 1764300 0.0054451321 0.0030109296 0.0056909555 + 1764400 0.0050172819 0.0028488798 0.0053183232 + 1764500 0.0055271141 0.002707689 0.0054280655 + 1764600 0.0060708362 0.0023010648 0.0052890544 + 1764700 0.0074247477 0.0024447451 0.0060991131 + 1764800 0.0036788298 0.0034373136 0.0052479876 + 1764900 0.0042358808 0.003479701 0.0055645486 + 1765000 0.0051195677 0.0031467644 0.0056665516 + 1765100 0.0046031175 0.0029567829 0.0052223797 + 1765200 0.0047288973 0.0022340127 0.0045615169 + 1765300 0.0068994347 0.0023721826 0.0057679981 + 1765400 0.0043831128 0.0025344222 0.0046917355 + 1765500 0.0048644325 0.0025755385 0.0049697514 + 1765600 0.0069854098 0.0026202044 0.0060583357 + 1765700 0.0072630577 0.0026085692 0.0061833554 + 1765800 0.0067205096 0.0023127504 0.0056205012 + 1765900 0.0060598137 0.0023281079 0.0053106725 + 1766000 0.0057771635 0.002269321 0.0051127687 + 1766100 0.0039103822 0.0023200114 0.0042446527 + 1766200 0.0061375736 0.0022703678 0.0052912048 + 1766300 0.0040706058 0.0022770093 0.0042805106 + 1766400 0.0042152425 0.001948576 0.0040232657 + 1766500 0.0034265764 0.0020043932 0.0036909112 + 1766600 0.0054639563 0.0020590575 0.0047483485 + 1766700 0.0046924395 0.0021698671 0.0044794271 + 1766800 0.0045292297 0.0024400476 0.0046692778 + 1766900 0.0048551997 0.0020637839 0.0044534525 + 1767000 0.0050079294 0.0022794432 0.0047442835 + 1767100 0.0069337903 0.001999528 0.0054122529 + 1767200 0.0038805317 0.0020346708 0.00394462 + 1767300 0.0059647848 0.0017611073 0.0046968998 + 1767400 0.0048637189 0.0011650154 0.0035588771 + 1767500 0.0060984996 0.0014010857 0.0044026909 + 1767600 0.0052160525 0.0021327381 0.004700014 + 1767700 0.0055470821 0.0021436072 0.0048738117 + 1767800 0.0048510391 0.0020369055 0.0044245263 + 1767900 0.0054070497 0.0017790458 0.0044403281 + 1768000 0.0043708572 0.0019089748 0.004060256 + 1768100 0.0040518453 0.0019619598 0.0039562274 + 1768200 0.0050714221 0.0020866915 0.0045827821 + 1768300 0.005323753 0.0017068329 0.0043271176 + 1768400 0.0045638751 0.002023892 0.0042701743 + 1768500 0.0059003065 0.0024646567 0.0053687139 + 1768600 0.0049066534 0.0026947906 0.005109784 + 1768700 0.0068489917 0.0022641161 0.0056351042 + 1768800 0.0042510009 0.0029146745 0.005006964 + 1768900 0.0057944339 0.0030157024 0.0058676503 + 1769000 0.0043544813 0.0030849147 0.005228136 + 1769100 0.0039011914 0.0026169827 0.0045371004 + 1769200 0.0046844932 0.0027454751 0.005051124 + 1769300 0.0061673357 0.0028124258 0.0058479114 + 1769400 0.0069214398 0.0024992722 0.0059059184 + 1769500 0.0038789042 0.00235156 0.0042607081 + 1769600 0.0041002375 0.0021441195 0.0041622051 + 1769700 0.00403575 0.0021179691 0.0041043148 + 1769800 0.0045756594 0.0028075074 0.0050595898 + 1769900 0.0039400246 0.0028040965 0.0047433274 + 1770000 0.005204059 0.0025583242 0.005119697 + 1770100 0.0058711948 0.0029483714 0.0058381001 + 1770200 0.0052361934 0.002630979 0.005208168 + 1770300 0.0047023753 0.0024430203 0.0047574706 + 1770400 0.0045908241 0.0024594497 0.004718996 + 1770500 0.0057785032 0.0029522005 0.0057963075 + 1770600 0.0051997994 0.0034222023 0.0059814786 + 1770700 0.0049416618 0.0030500653 0.0054822895 + 1770800 0.0049661675 0.0029955153 0.0054398009 + 1770900 0.0064321142 0.0028813089 0.0060471152 + 1771000 0.004261032 0.0031702816 0.0052675083 + 1771100 0.0068024064 0.0028095902 0.0061576496 + 1771200 0.0053259209 0.0027656744 0.0053870261 + 1771300 0.0053442979 0.0027932874 0.005423684 + 1771400 0.0048326742 0.0027707881 0.00514937 + 1771500 0.0046345128 0.0027984688 0.005079518 + 1771600 0.0057706074 0.0027542651 0.0055944859 + 1771700 0.0048530802 0.0028024238 0.0051910492 + 1771800 0.0055409157 0.0025530154 0.0052801848 + 1771900 0.0055911363 0.0025072363 0.0052591237 + 1772000 0.0040757447 0.0026546109 0.0046606415 + 1772100 0.0058964492 0.0022388327 0.0051409913 + 1772200 0.0038905317 0.0020175836 0.0039324546 + 1772300 0.00399064 0.002151522 0.0041156651 + 1772400 0.0049467221 0.0023134491 0.0047481639 + 1772500 0.0041242599 0.0020051436 0.0040350528 + 1772600 0.0054830993 0.0016145022 0.0043132151 + 1772700 0.004681994 0.0019032465 0.0042076654 + 1772800 0.0045499747 0.002562031 0.0048014717 + 1772900 0.0050223167 0.0027183469 0.0051902685 + 1773000 0.004235059 0.0027488046 0.0048332477 + 1773100 0.0040606989 0.0026719993 0.0046706246 + 1773200 0.0054488797 0.0024010905 0.005082961 + 1773300 0.0062052229 0.002264626 0.0053187591 + 1773400 0.0054269835 0.0026401213 0.0053112147 + 1773500 0.0046380591 0.0028636253 0.00514642 + 1773600 0.004549113 0.0026674483 0.0049064649 + 1773700 0.0048622552 0.0023764833 0.0047696245 + 1773800 0.0056222109 0.0021450384 0.0049122204 + 1773900 0.0071084585 0.0017939058 0.0052926002 + 1774000 0.004459918 0.0021342937 0.0043294095 + 1774100 0.0051020282 0.0020863042 0.0045974587 + 1774200 0.0053293032 0.0019718726 0.004594889 + 1774300 0.0046352539 0.0015172904 0.0037987044 + 1774400 0.0063614821 0.0014542566 0.0045852986 + 1774500 0.0053710689 0.0020586972 0.0047022702 + 1774600 0.0055533511 0.0019895532 0.0047228433 + 1774700 0.0054680968 0.002199473 0.0048908019 + 1774800 0.0042172855 0.0027801308 0.004855826 + 1774900 0.0055852535 0.0028298412 0.0055788332 + 1775000 0.0040833234 0.0028824228 0.0048921835 + 1775100 0.0043560454 0.0028346588 0.0049786499 + 1775200 0.0061175753 0.0030111743 0.0060221684 + 1775300 0.0032238608 0.0029474304 0.0045341744 + 1775400 0.0061198982 0.002428581 0.0054407185 + 1775500 0.0079548146 0.0023108139 0.0062260742 + 1775600 0.0049644502 0.00276241 0.0052058503 + 1775700 0.0060934878 0.0025752404 0.005574379 + 1775800 0.005350602 0.0025629638 0.0051964632 + 1775900 0.0051280618 0.0022943512 0.0048183191 + 1776000 0.0047240219 0.0023079589 0.0046330634 + 1776100 0.0041842686 0.0022336587 0.0042931034 + 1776200 0.0050974187 0.002334791 0.0048436767 + 1776300 0.0053821352 0.0026472787 0.0052962984 + 1776400 0.0056731552 0.0027818278 0.0055740839 + 1776500 0.0050670454 0.0028773371 0.0053712735 + 1776600 0.0046221292 0.0029984632 0.0052734174 + 1776700 0.0055535456 0.0028159659 0.0055493516 + 1776800 0.0059875597 0.0024928572 0.0054398592 + 1776900 0.0049587619 0.0025653569 0.0050059975 + 1777000 0.0040677393 0.0027496261 0.0047517165 + 1777100 0.0034271611 0.0028701346 0.0045569405 + 1777200 0.0055770136 0.0024202526 0.005165189 + 1777300 0.0052323678 0.0021988499 0.004774156 + 1777400 0.0041664689 0.0022725353 0.0043232192 + 1777500 0.0039663485 0.0024733917 0.0044255788 + 1777600 0.0063472464 0.0020519986 0.005176034 + 1777700 0.0062397367 0.002386448 0.0054575684 + 1777800 0.0046084284 0.0027630417 0.0050312525 + 1777900 0.0057045911 0.0032707838 0.0060785122 + 1778000 0.0044626995 0.0031800774 0.0053765623 + 1778100 0.0057813672 0.0026079301 0.0054534468 + 1778200 0.0059004454 0.0025130779 0.0054172034 + 1778300 0.0039249344 0.0028642641 0.0047960677 + 1778400 0.0044965644 0.0029340009 0.0051471537 + 1778500 0.0042971531 0.0030673179 0.0051823229 + 1778600 0.0047985103 0.0031130594 0.0054748263 + 1778700 0.004823639 0.0028731663 0.0052473012 + 1778800 0.0043016637 0.002503632 0.0046208571 + 1778900 0.0034058184 0.0022942317 0.0039705329 + 1779000 0.0054909507 0.0023141332 0.0050167105 + 1779100 0.005957912 0.0029305955 0.0058630053 + 1779200 0.0034933304 0.0035989623 0.0053183358 + 1779300 0.00495322 0.0029468239 0.0053847369 + 1779400 0.0059793151 0.0027211616 0.0056641057 + 1779500 0.0038769968 0.0025313243 0.0044395336 + 1779600 0.0037813196 0.0026495168 0.004510635 + 1779700 0.0035656081 0.0031040485 0.0048589962 + 1779800 0.0048257148 0.0026063593 0.0049815158 + 1779900 0.0060898199 0.0025777767 0.0055751099 + 1780000 0.0046471123 0.0026709975 0.0049582481 + 1780100 0.0046240521 0.0024090907 0.0046849914 + 1780200 0.0058371132 0.0021832444 0.0050561986 + 1780300 0.0057681127 0.0022504265 0.0050894195 + 1780400 0.0057722576 0.0025438301 0.0053848631 + 1780500 0.0042416832 0.0031741434 0.0052618468 + 1780600 0.0048474321 0.0028696758 0.0052555213 + 1780700 0.003772141 0.0026399361 0.0044965368 + 1780800 0.0041744501 0.001960199 0.0040148111 + 1780900 0.0041657628 0.0017731268 0.0038234632 + 1781000 0.0048776366 0.0016448013 0.0040455131 + 1781100 0.0063191002 0.0017065806 0.0048167628 + 1781200 0.0044599041 0.001879459 0.0040745681 + 1781300 0.0054328207 0.0023036097 0.0049775761 + 1781400 0.0044055056 0.0023102496 0.0044785844 + 1781500 0.003252073 0.002291964 0.0038925936 + 1781600 0.0055700096 0.0020700076 0.0048114967 + 1781700 0.0053514767 0.0021855871 0.004819517 + 1781800 0.0045026256 0.0019600368 0.0041761729 + 1781900 0.0053511007 0.0020245043 0.0046582491 + 1782000 0.0054313463 0.0021251609 0.0047984017 + 1782100 0.0053387742 0.0022920537 0.0049197316 + 1782200 0.0065387596 0.0023241156 0.0055424114 + 1782300 0.004055933 0.0022686139 0.0042648934 + 1782400 0.0045731281 0.0023143261 0.0045651626 + 1782500 0.005258804 0.0026405442 0.0052288617 + 1782600 0.0046370281 0.0029231546 0.0052054418 + 1782700 0.0073716071 0.0027891061 0.0064173189 + 1782800 0.0054933059 0.0021449847 0.0048487212 + 1782900 0.004688709 0.0021902903 0.0044980143 + 1783000 0.0046070275 0.0025810341 0.0048485554 + 1783100 0.0060217214 0.002394027 0.005357843 + 1783200 0.0053074441 0.0024263392 0.0050385968 + 1783300 0.0046543859 0.0029387726 0.0052296031 + 1783400 0.0056668807 0.002930117 0.0057192848 + 1783500 0.0060303219 0.0027049544 0.0056730034 + 1783600 0.005951856 0.0022164177 0.0051458469 + 1783700 0.0048196162 0.0024817799 0.0048539347 + 1783800 0.0076031405 0.0022558932 0.0059980639 + 1783900 0.0037049606 0.0028503903 0.0046739256 + 1784000 0.0040212042 0.0031334031 0.0051125895 + 1784100 0.0048987818 0.0025960249 0.005007144 + 1784200 0.0059121346 0.0022506871 0.0051605658 + 1784300 0.0045990512 0.0021995184 0.0044631139 + 1784400 0.0042864853 0.0026260286 0.0047357831 + 1784500 0.0038255052 0.0028092062 0.004692072 + 1784600 0.0030588119 0.0027881656 0.0042936746 + 1784700 0.0040570284 0.0023186341 0.0043154528 + 1784800 0.0043872112 0.0018129874 0.0039723179 + 1784900 0.0046845862 0.00175495 0.0040606448 + 1785000 0.0060825824 0.0019738247 0.0049675958 + 1785100 0.0075924044 0.0028160789 0.0065529655 + 1785200 0.0050757213 0.0031374411 0.0056356477 + 1785300 0.0065859585 0.0030621414 0.0063036679 + 1785400 0.0056053785 0.0029720366 0.0057309338 + 1785500 0.0062822537 0.0031291351 0.0062211818 + 1785600 0.0047179706 0.0029443423 0.0052664685 + 1785700 0.0043615292 0.0024588577 0.0046055479 + 1785800 0.0041322789 0.0023354447 0.0043693008 + 1785900 0.0045153953 0.0022922611 0.0045146822 + 1786000 0.0041217835 0.0022508424 0.0042795327 + 1786100 0.0050395437 0.0021488358 0.0046292362 + 1786200 0.0048901237 0.0024726164 0.0048794741 + 1786300 0.0046049755 0.0024318467 0.0046983581 + 1786400 0.0050675449 0.0028623713 0.0053565535 + 1786500 0.0051188968 0.0028093578 0.0053288149 + 1786600 0.0063144773 0.002523197 0.0056311038 + 1786700 0.0056273308 0.0024697832 0.0052394851 + 1786800 0.0058641777 0.001859181 0.004745456 + 1786900 0.003769974 0.0022991978 0.0041547319 + 1787000 0.004155343 0.0026501701 0.004695378 + 1787100 0.0046896192 0.0024061676 0.0047143396 + 1787200 0.0044187429 0.0024693523 0.0046442024 + 1787300 0.0029594881 0.002228887 0.0036855101 + 1787400 0.005720981 0.002086941 0.0049027363 + 1787500 0.0052433211 0.0020375771 0.0046182742 + 1787600 0.0033731947 0.0023766845 0.0040369287 + 1787700 0.0053946692 0.0023280707 0.0049832594 + 1787800 0.0038450071 0.0020653117 0.0039577762 + 1787900 0.0058011883 0.0021315029 0.0049867753 + 1788000 0.0048836285 0.0023042716 0.0047079325 + 1788100 0.0060409569 0.0024436836 0.0054169671 + 1788200 0.0054915145 0.0023972016 0.0051000564 + 1788300 0.0053096412 0.0021909001 0.0048042391 + 1788400 0.0046134145 0.0022054646 0.0044761296 + 1788500 0.0055614033 0.0017865957 0.0045238488 + 1788600 0.0035376907 0.0019443928 0.0036855999 + 1788700 0.0036342501 0.0017978838 0.0035866163 + 1788800 0.0036605705 0.0023307898 0.0041324769 + 1788900 0.0044264074 0.0027176314 0.0048962538 + 1789000 0.0045645148 0.0023610502 0.0046076473 + 1789100 0.0054128415 0.0016410761 0.004305209 + 1789200 0.0044797618 0.0015685684 0.0037734512 + 1789300 0.0050134719 0.0022570514 0.0047246196 + 1789400 0.0035456624 0.0025107962 0.0042559269 + 1789500 0.0054264343 0.002205841 0.0048766641 + 1789600 0.0049377306 0.0019795308 0.00440982 + 1789700 0.0054929627 0.0018279272 0.0045314948 + 1789800 0.0056317395 0.0018387372 0.0046106089 + 1789900 0.0054477424 0.001918861 0.0046001717 + 1790000 0.0061166942 0.0017425682 0.0047531287 + 1790100 0.0047206958 0.0016293485 0.0039528159 + 1790200 0.0050466026 0.0019104786 0.0043943533 + 1790300 0.0055098747 0.0024045502 0.0051164417 + 1790400 0.0041100351 0.0027701659 0.0047930738 + 1790500 0.0054833672 0.0024186698 0.0051175146 + 1790600 0.0038446007 0.0023187968 0.0042110613 + 1790700 0.0035237724 0.0022849663 0.0040193231 + 1790800 0.0048908673 0.0024260437 0.0048332675 + 1790900 0.004583352 0.0023135415 0.00456941 + 1791000 0.0048549088 0.0021225359 0.0045120614 + 1791100 0.0057521822 0.0020858755 0.0049170277 + 1791200 0.0049465905 0.0023389117 0.0047735617 + 1791300 0.0066242164 0.0024416075 0.005701964 + 1791400 0.0036042088 0.0026620747 0.0044360212 + 1791500 0.0038838709 0.0021897137 0.0041013064 + 1791600 0.0072772002 0.0019395536 0.0055213006 + 1791700 0.0064005983 0.0021882377 0.0053385321 + 1791800 0.0039683597 0.0030505669 0.0050037439 + 1791900 0.0056292394 0.0026831906 0.0054538319 + 1792000 0.0056871656 0.0018498849 0.0046490367 + 1792100 0.0060254467 0.0021763085 0.005141958 + 1792200 0.0048516731 0.0026435444 0.0050314772 + 1792300 0.0053022466 0.0026289588 0.0052386583 + 1792400 0.0049425523 0.0020299176 0.00446258 + 1792500 0.0052739601 0.0016919053 0.0042876825 + 1792600 0.0051365909 0.0019345666 0.0044627325 + 1792700 0.0041331536 0.0023882385 0.0044225251 + 1792800 0.0052937532 0.0022958225 0.0049013416 + 1792900 0.0053128167 0.0028033439 0.0054182458 + 1793000 0.0052638617 0.0028096409 0.0054004478 + 1793100 0.0051241865 0.002445513 0.0049675736 + 1793200 0.0040783579 0.0026710147 0.0046783315 + 1793300 0.0062805067 0.0031101245 0.0062013113 + 1793400 0.005943154 0.0030451801 0.0059703262 + 1793500 0.0049224674 0.0029468156 0.0053695925 + 1793600 0.0058270309 0.0024391155 0.0053071072 + 1793700 0.0058299548 0.0026495866 0.0055190175 + 1793800 0.0051110852 0.0023681363 0.0048837486 + 1793900 0.0039492503 0.0024943643 0.0044381359 + 1794000 0.0039914355 0.0028223492 0.0047868839 + 1794100 0.0059978523 0.0026186269 0.0055706948 + 1794200 0.0056554683 0.0028270921 0.0056106429 + 1794300 0.004619497 0.0028630626 0.0051367213 + 1794400 0.0052870487 0.0022770286 0.0048792479 + 1794500 0.0056897904 0.0017861981 0.0045866418 + 1794600 0.0039165268 0.0019003023 0.0038279678 + 1794700 0.0045604543 0.001969831 0.0042144297 + 1794800 0.0044160448 0.0021746743 0.0043481963 + 1794900 0.0058254706 0.0020149964 0.0048822202 + 1795000 0.0059380582 0.0018067001 0.0047293381 + 1795100 0.0066202911 0.0021804784 0.0054389029 + 1795200 0.0054900243 0.0030134827 0.005715604 + 1795300 0.0060153822 0.0027925295 0.0057532254 + 1795400 0.0058207351 0.0024514828 0.0053163759 + 1795500 0.0058946396 0.002399806 0.0053010739 + 1795600 0.0056265761 0.0023844654 0.0051537958 + 1795700 0.0056059041 0.002450215 0.0052093709 + 1795800 0.0047967763 0.0023676529 0.0047285662 + 1795900 0.0042767896 0.0024859965 0.0045909789 + 1796000 0.0034430464 0.0025494097 0.0042440341 + 1796100 0.005215726 0.0022809971 0.0048481123 + 1796200 0.0045562356 0.0022298978 0.0044724201 + 1796300 0.0043491126 0.0025136044 0.0046541833 + 1796400 0.0045600199 0.0025984887 0.0048428735 + 1796500 0.0034345473 0.0022288922 0.0039193335 + 1796600 0.0058832599 0.0018791715 0.0047748385 + 1796700 0.0064036137 0.0017393544 0.0048911331 + 1796800 0.0066724874 0.0015198839 0.0048039987 + 1796900 0.0058135598 0.0017834999 0.0046448614 + 1797000 0.003319867 0.0023055387 0.0039395357 + 1797100 0.0049728983 0.0020983906 0.004545989 + 1797200 0.0042677178 0.0019825045 0.0040830219 + 1797300 0.0042104361 0.0017770067 0.0038493307 + 1797400 0.0062154091 0.0019446376 0.0050037842 + 1797500 0.0043281835 0.0023630485 0.0044933263 + 1797600 0.0055289871 0.0021726597 0.004893958 + 1797700 0.0051531736 0.0021299458 0.0046662734 + 1797800 0.0053781846 0.0021472624 0.0047943377 + 1797900 0.0054897595 0.0024743211 0.0051763121 + 1798000 0.0050022057 0.0019668524 0.0044288755 + 1798100 0.0048799448 0.0017542894 0.0041561372 + 1798200 0.0041060146 0.0019240868 0.0039450159 + 1798300 0.0041274712 0.0021007127 0.0041322024 + 1798400 0.0060308851 0.0019858577 0.004954184 + 1798500 0.003730382 0.002159946 0.0039959934 + 1798600 0.0048111364 0.0019622036 0.0043301848 + 1798700 0.0047630899 0.0017733343 0.0041176676 + 1798800 0.00501451 0.0019162265 0.0043843057 + 1798900 0.0044080898 0.0023343658 0.0045039725 + 1799000 0.0044740597 0.002672373 0.0048744492 + 1799100 0.0045248212 0.0024254856 0.0046525461 + 1799200 0.0051518176 0.0021854981 0.0047211583 + 1799300 0.0047737689 0.0019334957 0.0042830851 + 1799400 0.0053140809 0.0017479017 0.0043634258 + 1799500 0.0050795748 0.0021145 0.0046146032 + 1799600 0.0053631069 0.0022798362 0.0049194904 + 1799700 0.0043960383 0.00209576 0.0042594351 + 1799800 0.0051597263 0.0019462249 0.0044857777 + 1799900 0.0041281448 0.0017238122 0.0037556334 + 1800000 0.0050199322 0.0018336353 0.0043043832 + 1800100 0.0054204362 0.0018285548 0.0044964257 + 1800200 0.0055412333 0.0016496779 0.0043770037 + 1800300 0.0048113097 0.0022128801 0.0045809466 + 1800400 0.0050409066 0.0021017282 0.0045827994 + 1800500 0.0028927146 0.0020448375 0.0034685955 + 1800600 0.0047121491 0.0021203995 0.0044396604 + 1800700 0.0035904741 0.0023243553 0.0040915418 + 1800800 0.0072013401 0.0023519839 0.0058963935 + 1800900 0.0070671509 0.0026557996 0.0061341629 + 1801000 0.0043951041 0.0029656324 0.0051288477 + 1801100 0.0049784295 0.0031797168 0.0056300376 + 1801200 0.0048344439 0.003133135 0.0055125879 + 1801300 0.0050099853 0.0029670405 0.0054328926 + 1801400 0.0045735193 0.0026540108 0.0049050398 + 1801500 0.0052977315 0.00188473 0.0044922072 + 1801600 0.0049562654 0.0018125814 0.0042519932 + 1801700 0.0045675301 0.0023137122 0.0045617934 + 1801800 0.0048071746 0.00239927 0.0047653012 + 1801900 0.0054517467 0.0021838492 0.0048671308 + 1802000 0.0048386263 0.0021204268 0.0045019382 + 1802100 0.0050274556 0.0023877924 0.0048622432 + 1802200 0.0054480685 0.0026230783 0.0053045495 + 1802300 0.006461999 0.0022680816 0.0054485967 + 1802400 0.0058331808 0.0021524903 0.005023509 + 1802500 0.0054084043 0.0026501609 0.00531211 + 1802600 0.005218692 0.0031496215 0.0057181964 + 1802700 0.0058090726 0.0033896076 0.0062487605 + 1802800 0.0078632586 0.0029915859 0.0068617835 + 1802900 0.0058089981 0.0027089198 0.005568036 + 1803000 0.0051654652 0.0022104843 0.0047528618 + 1803100 0.004703662 0.0018466871 0.0041617707 + 1803200 0.0040397084 0.0019100684 0.0038983624 + 1803300 0.0036332072 0.0020431482 0.0038313673 + 1803400 0.004864359 0.001831264 0.0042254407 + 1803500 0.0048880365 0.0015985806 0.004004411 + 1803600 0.0040385033 0.0022234904 0.0042111912 + 1803700 0.0055478957 0.0025472614 0.0052778663 + 1803800 0.0055584698 0.0026285267 0.0053643361 + 1803900 0.0053522914 0.0025015258 0.0051358567 + 1804000 0.0050644693 0.0026985171 0.0051911855 + 1804100 0.0055634785 0.0028769677 0.0056152423 + 1804200 0.0052497919 0.0022671767 0.0048510586 + 1804300 0.0062307075 0.0017298457 0.0047965221 + 1804400 0.0072211907 0.0016212835 0.0051754633 + 1804500 0.0043859804 0.0014603646 0.0036190894 + 1804600 0.0035692032 0.0013195763 0.0030762935 + 1804700 0.0051432347 0.0013458139 0.0038772497 + 1804800 0.0053023912 0.0013947043 0.004004475 + 1804900 0.0059949454 0.0013947318 0.004345369 + 1805000 0.0040003087 0.0015127389 0.0034816409 + 1805100 0.0039385356 0.0016248502 0.0035633482 + 1805200 0.0040802413 0.0017937128 0.0038019566 + 1805300 0.0051402951 0.001982889 0.004512878 + 1805400 0.0041146235 0.0020840224 0.0041091887 + 1805500 0.0052934703 0.002433453 0.0050388329 + 1805600 0.0043038352 0.0024755991 0.004593893 + 1805700 0.0052536304 0.0019706077 0.004556379 + 1805800 0.005897873 0.001744512 0.0046473714 + 1805900 0.0046194686 0.0017818079 0.0040554526 + 1806000 0.0057386222 0.0018847317 0.0047092098 + 1806100 0.0041045571 0.0024567792 0.0044769909 + 1806200 0.0049397588 0.0023933061 0.0048245937 + 1806300 0.0045753957 0.0022770898 0.0045290423 + 1806400 0.0066106763 0.0020850674 0.0053387596 + 1806500 0.0055761992 0.0022584236 0.0050029592 + 1806600 0.0046377816 0.0023891696 0.0046718278 + 1806700 0.0052242301 0.0022455467 0.0048168475 + 1806800 0.0052861273 0.0020562155 0.0046579813 + 1806900 0.0043726188 0.0021346013 0.0042867496 + 1807000 0.0042583586 0.0017538513 0.0038497622 + 1807100 0.0050915543 0.0017042892 0.0042102886 + 1807200 0.0064856959 0.0017434812 0.0049356596 + 1807300 0.0054876027 0.0025260482 0.0052269776 + 1807400 0.0044330924 0.0024317598 0.0046136725 + 1807500 0.0037644098 0.0019539319 0.0038067273 + 1807600 0.0045010455 0.0016861445 0.0039015028 + 1807700 0.0043506116 0.0017510266 0.0038923432 + 1807800 0.0042350624 0.0020291101 0.0041135549 + 1807900 0.0053063717 0.0021161345 0.0047278644 + 1808000 0.0035493615 0.0024457343 0.0041926857 + 1808100 0.0051710292 0.0023805252 0.0049256411 + 1808200 0.0043349716 0.00225242 0.0043860388 + 1808300 0.0056910562 0.0019825513 0.0047836181 + 1808400 0.0033055163 0.0021919589 0.0038188928 + 1808500 0.0047011779 0.0022135335 0.0045273945 + 1808600 0.0047913911 0.001962992 0.0043212548 + 1808700 0.0041808457 0.0016474527 0.0037052127 + 1808800 0.0047888838 0.0021868305 0.0045438592 + 1808900 0.0052044981 0.0022102271 0.004771816 + 1809000 0.0053103584 0.0021204997 0.0047341917 + 1809100 0.0059429301 0.0022822466 0.0052072825 + 1809200 0.0043616877 0.0021582594 0.0043050276 + 1809300 0.0056211318 0.0022094947 0.0049761455 + 1809400 0.0053858218 0.0024898035 0.0051406377 + 1809500 0.0045997225 0.0024521778 0.0047161037 + 1809600 0.0046464994 0.0026325486 0.0049194975 + 1809700 0.006121853 0.0026351219 0.0056482214 + 1809800 0.0055885536 0.0022320107 0.0049826269 + 1809900 0.0039656285 0.0021407902 0.004092623 + 1810000 0.0054741064 0.0021090178 0.0048033045 + 1810100 0.0046794837 0.0021628568 0.0044660402 + 1810200 0.004501564 0.002306516 0.0045221295 + 1810300 0.0049566299 0.0026253834 0.0050649747 + 1810400 0.005197085 0.0025297398 0.00508768 + 1810500 0.0041747829 0.0020617392 0.0041165152 + 1810600 0.0066268802 0.001768072 0.0050297396 + 1810700 0.004466865 0.001828045 0.0040265801 + 1810800 0.0035026532 0.0018272408 0.0035512029 + 1810900 0.0052230362 0.0019031985 0.0044739116 + 1811000 0.0055028143 0.0018439469 0.0045523633 + 1811100 0.0051479723 0.0017012856 0.0042350532 + 1811200 0.0045207911 0.0018257881 0.004050865 + 1811300 0.0061219306 0.0018637351 0.0048768729 + 1811400 0.0050190324 0.0021803421 0.0046506471 + 1811500 0.0038219485 0.0022958085 0.0041769238 + 1811600 0.0046656127 0.0020867296 0.0043830859 + 1811700 0.0044658981 0.0020110084 0.0042090676 + 1811800 0.0058947885 0.0018120185 0.0047133597 + 1811900 0.0061484003 0.0018905092 0.004916675 + 1812000 0.0068288749 0.0025587981 0.005919885 + 1812100 0.0042981429 0.0025838792 0.0046993714 + 1812200 0.0040843189 0.0021741864 0.0041844371 + 1812300 0.0048460519 0.0015443123 0.0039294785 + 1812400 0.0041593146 0.0012292974 0.00327646 + 1812500 0.0044842024 0.0015989783 0.0038060466 + 1812600 0.0050652247 0.0023806845 0.0048737248 + 1812700 0.0052596564 0.0026096978 0.0051984349 + 1812800 0.0057325553 0.0030229081 0.0058444002 + 1812900 0.0041318678 0.0027924931 0.0048261468 + 1813000 0.004841021 0.002278079 0.004660769 + 1813100 0.0054130669 0.0021108995 0.0047751434 + 1813200 0.0042695248 0.0020437136 0.0041451204 + 1813300 0.0041511508 0.0021808827 0.0042240272 + 1813400 0.005056838 0.002210995 0.0046999075 + 1813500 0.0041387626 0.0023634626 0.0044005098 + 1813600 0.0056377233 0.0019866186 0.0047614355 + 1813700 0.005762512 0.0019084257 0.0047446621 + 1813800 0.0051496805 0.0022546792 0.0047892876 + 1813900 0.0058569795 0.002106646 0.0049893781 + 1814000 0.0064430548 0.0018140475 0.0049852385 + 1814100 0.0047837232 0.0021259118 0.0044804006 + 1814200 0.0035031425 0.0020245827 0.0037487857 + 1814300 0.0053258886 0.0018587861 0.0044801219 + 1814400 0.0053185971 0.0025865585 0.0052043055 + 1814500 0.0057137644 0.0028090179 0.0056212613 + 1814600 0.004404868 0.002544911 0.004712932 + 1814700 0.0061318098 0.0021880426 0.0052060427 + 1814800 0.0043665583 0.0022620835 0.0044112489 + 1814900 0.0043501955 0.0023737188 0.0045148307 + 1815000 0.0041959055 0.0022559765 0.0043211488 + 1815100 0.0048135324 0.0026119388 0.0049810993 + 1815200 0.0054796939 0.0023027764 0.0049998133 + 1815300 0.007455992 0.0023829488 0.0060526948 + 1815400 0.004723729 0.0025488219 0.0048737822 + 1815500 0.0049720419 0.0023776897 0.0048248665 + 1815600 0.0049466787 0.0020948787 0.0045295721 + 1815700 0.004929674 0.0020578441 0.004484168 + 1815800 0.0059098459 0.0022254425 0.0051341947 + 1815900 0.0064832342 0.0018257653 0.0050167321 + 1816000 0.003803873 0.0017667317 0.0036389505 + 1816100 0.0042380483 0.001665746 0.0037516604 + 1816200 0.0042837194 0.0014872901 0.0035956832 + 1816300 0.0027343053 0.0017685051 0.003114296 + 1816400 0.0049423757 0.0018415012 0.0042740767 + 1816500 0.0051762762 0.0020181384 0.0045658369 + 1816600 0.0038722831 0.0023461983 0.0042520876 + 1816700 0.0046914089 0.0026487154 0.0049577682 + 1816800 0.0058154498 0.0028353047 0.0056975964 + 1816900 0.004905899 0.0024119757 0.0048265979 + 1817000 0.003818815 0.0023723007 0.0042518737 + 1817100 0.0071954196 0.001922011 0.0054635066 + 1817200 0.0044774708 0.0023346018 0.004538357 + 1817300 0.0047507321 0.0020837197 0.0044219706 + 1817400 0.0047435577 0.0020439072 0.004378627 + 1817500 0.0068178229 0.001724149 0.0050797962 + 1817600 0.006327073 0.002268207 0.0053823132 + 1817700 0.0061924492 0.0024968585 0.0055447046 + 1817800 0.006197334 0.00242807 0.0054783203 + 1817900 0.005683539 0.0025754362 0.0053728031 + 1818000 0.0051314938 0.0023586904 0.0048843475 + 1818100 0.0054999159 0.0026209445 0.0053279344 + 1818200 0.0049351366 0.0028101667 0.0052391793 + 1818300 0.0044161301 0.0022467394 0.0044203034 + 1818400 0.0056616224 0.0018677415 0.0046543213 + 1818500 0.0056775458 0.0018625341 0.0046569512 + 1818600 0.0040073818 0.0024482775 0.0044206607 + 1818700 0.0045972172 0.0025361396 0.0047988324 + 1818800 0.0033365531 0.0022211733 0.003863383 + 1818900 0.0057278802 0.0017202097 0.0045394008 + 1819000 0.0060097756 0.0019301499 0.0048880864 + 1819100 0.0042357548 0.0022413213 0.0043261069 + 1819200 0.0056039546 0.0020537688 0.0048119652 + 1819300 0.0041174601 0.0020894718 0.0041160342 + 1819400 0.0043339104 0.0022104548 0.0043435513 + 1819500 0.0041110696 0.0021997327 0.0042231498 + 1819600 0.0054718355 0.0018912931 0.0045844621 + 1819700 0.0044086238 0.0022234239 0.0043932934 + 1819800 0.0050110799 0.0024839654 0.0049503562 + 1819900 0.0067358346 0.0025793045 0.005894598 + 1820000 0.0045782836 0.0024128948 0.0046662688 + 1820100 0.0047323753 0.0025292139 0.0048584299 + 1820200 0.0035286437 0.0028424632 0.0045792175 + 1820300 0.0055660464 0.0026381349 0.0053776734 + 1820400 0.0050865093 0.0022580472 0.0047615635 + 1820500 0.0042651042 0.002290901 0.004390132 + 1820600 0.0057083276 0.0024441893 0.0052537568 + 1820700 0.0045650607 0.0028427194 0.0050895852 + 1820800 0.0066770237 0.0026953142 0.0059816618 + 1820900 0.0061195402 0.0028273266 0.0058392878 + 1821000 0.0062895214 0.0031064493 0.0062020731 + 1821100 0.0052694618 0.0028414566 0.0054350198 + 1821200 0.0055950455 0.0029415206 0.005695332 + 1821300 0.0055307083 0.0030069414 0.0057290869 + 1821400 0.0051641262 0.0024723805 0.0050140989 + 1821500 0.0058144097 0.0024541587 0.0053159385 + 1821600 0.0062529878 0.0020659494 0.0051435919 + 1821700 0.0051629052 0.0020397902 0.0045809076 + 1821800 0.004543703 0.0019257745 0.0041621283 + 1821900 0.0055451191 0.0019482046 0.0046774429 + 1822000 0.0055833818 0.0016952364 0.0044433071 + 1822100 0.0058352612 0.0022674126 0.0051394552 + 1822200 0.005944804 0.0026154526 0.0055414108 + 1822300 0.0057538992 0.0026422121 0.0054742094 + 1822400 0.004927475 0.0031599356 0.0055851772 + 1822500 0.0065564037 0.0028672766 0.0060942565 + 1822600 0.0054116859 0.0025713919 0.005234956 + 1822700 0.0052683404 0.0019130172 0.0045060285 + 1822800 0.0057627119 0.0020709897 0.0049073245 + 1822900 0.0032544954 0.0024611533 0.0040629753 + 1823000 0.0052897803 0.0025116939 0.0051152576 + 1823100 0.0055209517 0.0027194884 0.0054368319 + 1823200 0.0046823815 0.0024961837 0.0048007933 + 1823300 0.0038589683 0.0028706743 0.0047700102 + 1823400 0.0043683998 0.002897136 0.0050472078 + 1823500 0.0046501789 0.0028886787 0.0051774386 + 1823600 0.0063578379 0.002357525 0.0054867733 + 1823700 0.0050016454 0.0023102323 0.0047719797 + 1823800 0.005470481 0.0024512209 0.0051437233 + 1823900 0.0043523199 0.0025567091 0.0046988665 + 1824000 0.0036466405 0.0023888776 0.0041837085 + 1824100 0.0040739455 0.0025297463 0.0045348913 + 1824200 0.0053224079 0.0024573752 0.0050769978 + 1824300 0.0048236304 0.0027748493 0.0051489799 + 1824400 0.0049100092 0.002963136 0.0053797811 + 1824500 0.0039198478 0.0032396865 0.0051689866 + 1824600 0.0056537411 0.0028908438 0.0056735445 + 1824700 0.0051075199 0.0030773949 0.0055912523 + 1824800 0.0046271392 0.0031932343 0.0054706543 + 1824900 0.0055008533 0.0027408181 0.0054482693 + 1825000 0.0064803393 0.002435504 0.0056250459 + 1825100 0.0044630254 0.0021607935 0.0043574388 + 1825200 0.0046908839 0.0021156162 0.0044244106 + 1825300 0.0056169511 0.002486449 0.0052510421 + 1825400 0.0056087585 0.0031838607 0.0059444215 + 1825500 0.0057248218 0.0040203442 0.0068380299 + 1825600 0.0073423228 0.0035058388 0.0071196383 + 1825700 0.003979594 0.0034071638 0.0053658702 + 1825800 0.0056428183 0.0036942527 0.0064715774 + 1825900 0.0066351399 0.0029154354 0.0061811684 + 1826000 0.0052920264 0.0025865907 0.00519126 + 1826100 0.0053855122 0.0025179265 0.0051686083 + 1826200 0.0046277704 0.0029516302 0.005229361 + 1826300 0.0050127805 0.0025141083 0.0049813362 + 1826400 0.0061839237 0.0020968665 0.0051405164 + 1826500 0.0057607463 0.0016991643 0.0045345316 + 1826600 0.0040933656 0.0018112124 0.0038259158 + 1826700 0.0064049962 0.0021517316 0.0053041907 + 1826800 0.006091037 0.0025781828 0.005576115 + 1826900 0.0056360945 0.0029284798 0.005702495 + 1827000 0.0060928861 0.003587872 0.0065867144 + 1827100 0.0056720534 0.0035963321 0.0063880459 + 1827200 0.0075906578 0.0027357774 0.0064718043 + 1827300 0.005039176 0.0027835442 0.0052637636 + 1827400 0.0052982314 0.0028255569 0.0054332802 + 1827500 0.0046756362 0.0022988761 0.0046001658 + 1827600 0.004802165 0.0019763497 0.0043399152 + 1827700 0.0033257589 0.0022274531 0.0038643501 + 1827800 0.0053073549 0.002475652 0.0050878657 + 1827900 0.0060360692 0.0025184841 0.0054893619 + 1828000 0.0050917559 0.0026499103 0.0051560089 + 1828100 0.0054654898 0.0032242789 0.0059143246 + 1828200 0.00456199 0.0028290574 0.0050744119 + 1828300 0.0055501771 0.0028813219 0.0056130497 + 1828400 0.0050314491 0.0030955024 0.0055719187 + 1828500 0.004785994 0.0025039373 0.0048595438 + 1828600 0.0057807367 0.0022142728 0.0050594792 + 1828700 0.0045551463 0.0022752417 0.0045172277 + 1828800 0.0055491665 0.0026038061 0.0053350365 + 1828900 0.0037147059 0.0024751768 0.0043035086 + 1829000 0.0047517268 0.0025288704 0.0048676109 + 1829100 0.0066094368 0.0021822427 0.0054353249 + 1829200 0.0048464882 0.0023057417 0.0046911226 + 1829300 0.0047882042 0.0025555038 0.004912198 + 1829400 0.0053635892 0.0024945655 0.005134457 + 1829500 0.0066278909 0.0024026486 0.0056648136 + 1829600 0.0066200349 0.0022221081 0.0054804066 + 1829700 0.0044042491 0.0026756166 0.0048433329 + 1829800 0.0073234531 0.0031996435 0.0068041556 + 1829900 0.0052581959 0.0035790705 0.0061670888 + 1830000 0.0035039004 0.0035936995 0.0053182754 + 1830100 0.0073385581 0.0034640101 0.0070759567 + 1830200 0.004938954 0.0031260743 0.0055569657 + 1830300 0.0049568277 0.0028779089 0.0053175975 + 1830400 0.0036013158 0.0030573296 0.0048298522 + 1830500 0.0061105781 0.0031671855 0.0061747357 + 1830600 0.0052200759 0.0030375734 0.0056068295 + 1830700 0.0062275705 0.002874818 0.0059399504 + 1830800 0.0061296935 0.0022317412 0.0052486997 + 1830900 0.0053528336 0.0023210732 0.004955671 + 1831000 0.0048816759 0.0023770409 0.0047797407 + 1831100 0.0048580712 0.0023850182 0.0047761001 + 1831200 0.0043715339 0.0027601381 0.0049117524 + 1831300 0.0047013509 0.0027741834 0.0050881296 + 1831400 0.0048143481 0.0028130008 0.0051825628 + 1831500 0.0049042958 0.0030504252 0.0054642583 + 1831600 0.0058203242 0.0029722202 0.005836911 + 1831700 0.0041161244 0.0028304999 0.0048564048 + 1831800 0.0055260363 0.0023887713 0.0051086172 + 1831900 0.0062498719 0.0026450894 0.0057211982 + 1832000 0.0046661177 0.0028899773 0.0051865821 + 1832100 0.0046876206 0.0029704312 0.0052776195 + 1832200 0.0034724507 0.003001404 0.0047105008 + 1832300 0.0046194843 0.0028973645 0.005171017 + 1832400 0.0058254983 0.0031121484 0.0059793858 + 1832500 0.006334824 0.0027230065 0.0058409277 + 1832600 0.0068156137 0.002483896 0.0058384559 + 1832700 0.0047563145 0.0029155139 0.0052565124 + 1832800 0.0047265646 0.0032537412 0.0055800972 + 1832900 0.0039878173 0.0024737073 0.0044364611 + 1833000 0.0049791779 0.0023674267 0.0048181159 + 1833100 0.0042229519 0.0027111981 0.0047896823 + 1833200 0.0048855338 0.0025667595 0.0049713582 + 1833300 0.0060895489 0.00230643 0.0053036298 + 1833400 0.0033490017 0.0025526019 0.0042009387 + 1833500 0.0052108103 0.0024917503 0.005056446 + 1833600 0.0061813655 0.00230466 0.0053470509 + 1833700 0.0054086844 0.0027200142 0.0053821011 + 1833800 0.00634015 0.002733904 0.0058544466 + 1833900 0.0052414645 0.0032147194 0.0057945027 + 1834000 0.0044772631 0.0031915703 0.0053952232 + 1834100 0.0048544643 0.0025245388 0.0049138454 + 1834200 0.004514759 0.0020443214 0.0042664293 + 1834300 0.0047498309 0.0020691337 0.0044069411 + 1834400 0.0041343415 0.0017252186 0.0037600898 + 1834500 0.0046859675 0.001503296 0.0038096707 + 1834600 0.0042888057 0.001786117 0.0038970135 + 1834700 0.0043864744 0.0022765088 0.0044354767 + 1834800 0.0048572171 0.0023833073 0.0047739688 + 1834900 0.0046152143 0.0025905697 0.0048621204 + 1835000 0.0047362645 0.0020756603 0.0044067905 + 1835100 0.0052343898 0.0021171089 0.0046934101 + 1835200 0.0050298106 0.00214712 0.0046227299 + 1835300 0.0049335613 0.0018313852 0.0042596224 + 1835400 0.0039383615 0.0021550631 0.0040934754 + 1835500 0.0052760136 0.0023504565 0.0049472444 + 1835600 0.0072741115 0.0022399131 0.0058201399 + 1835700 0.0056434479 0.0029361679 0.0057138025 + 1835800 0.0043187436 0.0028328353 0.0049584669 + 1835900 0.0059334448 0.0022190698 0.0051394372 + 1836000 0.0071385803 0.0019367684 0.0054502884 + 1836100 0.0042658796 0.0024015656 0.0045011782 + 1836200 0.0049018677 0.0022017472 0.0046143852 + 1836300 0.0062586425 0.0021982501 0.0052786757 + 1836400 0.0047870215 0.0028632097 0.0052193219 + 1836500 0.0045900394 0.0036932048 0.0059523648 + 1836600 0.0046345259 0.00332229 0.0056033457 + 1836700 0.0052309004 0.0028558819 0.0054304657 + 1836800 0.0038827444 0.002670632 0.0045816703 + 1836900 0.0060035057 0.0018228672 0.0047777177 + 1837000 0.0048591606 0.0019426702 0.0043342883 + 1837100 0.0041449724 0.002444762 0.0044848656 + 1837200 0.0052392827 0.0027587982 0.0053375076 + 1837300 0.0040714415 0.0027232313 0.0047271439 + 1837400 0.0057981526 0.0030381714 0.0058919496 + 1837500 0.0033449321 0.002762782 0.0044091158 + 1837600 0.00711103 0.0022936466 0.0057936066 + 1837700 0.0047345331 0.0026541124 0.0049843904 + 1837800 0.003765338 0.0027831146 0.0046363669 + 1837900 0.0066361561 0.0022923037 0.0055585368 + 1838000 0.0051921494 0.0025550769 0.0051105879 + 1838100 0.0048919293 0.0024807615 0.004888508 + 1838200 0.0043649611 0.0029430032 0.0050913824 + 1838300 0.00453178 0.003330591 0.0055610765 + 1838400 0.0039463582 0.0033183718 0.0052607199 + 1838500 0.0049206927 0.0034866062 0.0059085096 + 1838600 0.0050385132 0.0031018093 0.0055817024 + 1838700 0.0056212816 0.0029045682 0.0056712927 + 1838800 0.0046414223 0.0028899959 0.0051744459 + 1838900 0.0052614446 0.0027395499 0.0053291671 + 1839000 0.0052314514 0.0029799841 0.005554839 + 1839100 0.0048605548 0.0029550639 0.0053473682 + 1839200 0.0067554128 0.0023163997 0.0056413294 + 1839300 0.0049060156 0.0022781267 0.0046928063 + 1839400 0.0049618743 0.0022033716 0.0046455441 + 1839500 0.0035240764 0.002138617 0.0038731233 + 1839600 0.0048552359 0.0019086747 0.0042983611 + 1839700 0.0046275501 0.0022054288 0.0044830511 + 1839800 0.0061433411 0.0027909655 0.0058146412 + 1839900 0.0051115735 0.003362141 0.0058779935 + 1840000 0.0043355778 0.0026649449 0.0047988622 + 1840100 0.0039629117 0.0021480031 0.0040984987 + 1840200 0.0052880168 0.0023072182 0.004909914 + 1840300 0.003703948 0.0027506274 0.0045736643 + 1840400 0.0047837392 0.0022187004 0.0045731971 + 1840500 0.0043066452 0.0019688382 0.0040885151 + 1840600 0.0047048773 0.0018923935 0.0042080753 + 1840700 0.0060854911 0.001803918 0.0047991206 + 1840800 0.0056423561 0.0018479472 0.0046250444 + 1840900 0.0054586248 0.0025023536 0.0051890205 + 1841000 0.0045120561 0.0026589338 0.0048797114 + 1841100 0.0067874675 0.0026447854 0.0059854921 + 1841200 0.0042639452 0.0031006612 0.0051993217 + 1841300 0.0041482533 0.0030352387 0.0050769572 + 1841400 0.0038132532 0.0031679937 0.0050448293 + 1841500 0.0044754075 0.0028690073 0.0050717469 + 1841600 0.0063003909 0.0024604117 0.0055613854 + 1841700 0.005443117 0.0025248425 0.0052038766 + 1841800 0.0059542241 0.0024440751 0.0053746697 + 1841900 0.0056820871 0.0023919089 0.0051885611 + 1842000 0.0056002572 0.0022758944 0.005032271 + 1842100 0.0062841729 0.0027562468 0.0058492381 + 1842200 0.0070072373 0.0030621633 0.0065110379 + 1842300 0.0052901256 0.0029242559 0.0055279896 + 1842400 0.0064250211 0.0027124332 0.0058747483 + 1842500 0.0032013169 0.0026860044 0.0042616525 + 1842600 0.0052383455 0.0028181649 0.005396413 + 1842700 0.003876699 0.0025635009 0.0044715637 + 1842800 0.004681105 0.0023807037 0.0046846851 + 1842900 0.0038058221 0.0026561105 0.0045292886 + 1843000 0.0031374411 0.0028067391 0.0043509484 + 1843100 0.0034437291 0.002890242 0.0045852025 + 1843200 0.0055005487 0.0030022499 0.0057095513 + 1843300 0.0066187815 0.0031020536 0.0063597351 + 1843400 0.0056141724 0.0026530071 0.0054162326 + 1843500 0.0055028675 0.0024614717 0.0051699143 + 1843600 0.0047286954 0.0029001411 0.0052275459 + 1843700 0.0047483328 0.0027396898 0.0050767599 + 1843800 0.0043114962 0.0025112107 0.0046332752 + 1843900 0.0053255667 0.0028222742 0.0054434516 + 1844000 0.0055063825 0.0027248841 0.0054350567 + 1844100 0.005995951 0.0027936004 0.0057447326 + 1844200 0.00525834 0.0035997644 0.0061878536 + 1844300 0.0063913057 0.0029387898 0.0060845105 + 1844400 0.0057398163 0.0023692291 0.0051942949 + 1844500 0.0049303577 0.0023039681 0.0047306286 + 1844600 0.0053228798 0.0022216551 0.00484151 + 1844700 0.0062028055 0.0023253307 0.0053782741 + 1844800 0.0051854665 0.002427201 0.0049794228 + 1844900 0.0051752145 0.0029444063 0.0054915822 + 1845000 0.0048633508 0.0030481174 0.0054417978 + 1845100 0.0054100765 0.0023216662 0.0049844382 + 1845200 0.0033931006 0.002211614 0.0038816557 + 1845300 0.0039102036 0.0019068004 0.0038313538 + 1845400 0.0045982718 0.0019384795 0.0042016914 + 1845500 0.0053863782 0.0020113982 0.0046625062 + 1845600 0.0038879144 0.0022334204 0.0041470033 + 1845700 0.0043230039 0.0021456784 0.0042734069 + 1845800 0.0044747759 0.002368828 0.0045712567 + 1845900 0.0052528103 0.0022032725 0.0047886401 + 1846000 0.0050501089 0.0022989817 0.0047845821 + 1846100 0.0047334761 0.0022541727 0.0045839305 + 1846200 0.0061418295 0.0023111455 0.0053340772 + 1846300 0.004324252 0.0025513583 0.0046797011 + 1846400 0.0042636433 0.0022563546 0.0043548665 + 1846500 0.0054782855 0.0018529421 0.0045492857 + 1846600 0.0035266422 0.00207149 0.0038072592 + 1846700 0.003980126 0.0019620079 0.0039209761 + 1846800 0.0049576056 0.0020301491 0.0044702206 + 1846900 0.0037566645 0.0020913815 0.0039403648 + 1847000 0.0074370212 0.0022738696 0.0059342785 + 1847100 0.0055391568 0.0027831466 0.0055094503 + 1847200 0.0058107226 0.0029034552 0.0057634202 + 1847300 0.0053903116 0.0026479447 0.0053009887 + 1847400 0.0051315459 0.0025272157 0.0050528985 + 1847500 0.0054583541 0.0023365106 0.0050230442 + 1847600 0.0058665984 0.0024483558 0.0053358222 + 1847700 0.0042191096 0.0022573999 0.0043339929 + 1847800 0.0048494058 0.0021351634 0.0045219803 + 1847900 0.0057518913 0.0024249762 0.0052559851 + 1848000 0.0052140027 0.0027471286 0.0053133956 + 1848100 0.0043116849 0.0030607223 0.0051828797 + 1848200 0.0059343275 0.0030224783 0.0059432802 + 1848300 0.0053012091 0.0027698405 0.0053790294 + 1848400 0.0049026127 0.0026305663 0.005043571 + 1848500 0.0049527885 0.0028184718 0.0052561724 + 1848600 0.0049277826 0.0026671012 0.0050924942 + 1848700 0.0064923106 0.0025751352 0.0057705693 + 1848800 0.005520745 0.0024670871 0.0051843288 + 1848900 0.0035137883 0.0027802361 0.0045096788 + 1849000 0.0057391388 0.0024218212 0.0052465536 + 1849100 0.0041346105 0.0022494778 0.0042844814 + 1849200 0.0048285537 0.0024624766 0.0048390303 + 1849300 0.0059787455 0.0023385673 0.0052812311 + 1849400 0.0056679584 0.0020673609 0.0048570592 + 1849500 0.0043388262 0.0023226355 0.0044581515 + 1849600 0.0039020566 0.0021889626 0.0041095061 + 1849700 0.0051423214 0.0021901434 0.0047211297 + 1849800 0.0041588716 0.0024113381 0.0044582827 + 1849900 0.0047889795 0.0023541586 0.0047112345 + 1850000 0.0054701167 0.0020609581 0.0047532812 + 1850100 0.0051561561 0.0019023555 0.0044401511 + 1850200 0.0054684757 0.0022140279 0.0049055432 + 1850300 0.0058419546 0.0027639845 0.0056393216 + 1850400 0.0047395453 0.0028800426 0.0052127875 + 1850500 0.005440492 0.0032507751 0.0059285173 + 1850600 0.0060472687 0.0028048143 0.0057812044 + 1850700 0.0046958775 0.0023340904 0.0046453426 + 1850800 0.005907375 0.0021186557 0.0050261919 + 1850900 0.0047924349 0.0022905175 0.004649294 + 1851000 0.0063914792 0.0025882201 0.0057340263 + 1851100 0.0032469643 0.0029127235 0.0045108387 + 1851200 0.0047250809 0.0023580627 0.0046836884 + 1851300 0.0052089908 0.0015265973 0.0040903975 + 1851400 0.0041131699 0.0015718937 0.0035963445 + 1851500 0.0036831681 0.0014630573 0.0032758666 + 1851600 0.0037159296 0.0013983301 0.0032272642 + 1851700 0.0040101138 0.0018607753 0.0038345032 + 1851800 0.004011332 0.0018404677 0.0038147952 + 1851900 0.0047563587 0.0018739667 0.0042149869 + 1852000 0.0066618608 0.0016231998 0.0049020844 + 1852100 0.0048725042 0.001927105 0.0043252906 + 1852200 0.0044427003 0.0023702135 0.004556855 + 1852300 0.0058728826 0.0024059513 0.0052965107 + 1852400 0.0046694069 0.0025450211 0.0048432448 + 1852500 0.0059368261 0.0020522557 0.0049742873 + 1852600 0.0051835083 0.0022293381 0.0047805961 + 1852700 0.004355955 0.0026495886 0.0047935352 + 1852800 0.0043433767 0.0024100754 0.0045478311 + 1852900 0.0080393494 0.0020998662 0.0060567335 + 1853000 0.0052742981 0.00238149 0.0049774336 + 1853100 0.0027627244 0.0024602307 0.0038200091 + 1853200 0.0053782923 0.0019533478 0.0046004761 + 1853300 0.0044401265 0.0017260248 0.0039113996 + 1853400 0.0061710703 0.0017133426 0.0047506662 + 1853500 0.0053831452 0.002108737 0.0047582538 + 1853600 0.0044917492 0.0021737943 0.0043845771 + 1853700 0.0057104564 0.0020062373 0.0048168525 + 1853800 0.0046405091 0.0023285396 0.0046125402 + 1853900 0.0047116969 0.0026279192 0.0049469575 + 1854000 0.0045657098 0.0029343337 0.005181519 + 1854100 0.0044083838 0.0032305126 0.005400264 + 1854200 0.006445342 0.003034033 0.0062063498 + 1854300 0.0062933034 0.0021032686 0.0052007538 + 1854400 0.0060543222 0.001853983 0.0048338447 + 1854500 0.0050666184 0.0021003844 0.0045941107 + 1854600 0.004578621 0.0020368137 0.0042903538 + 1854700 0.0045063109 0.0021155744 0.0043335243 + 1854800 0.005788676 0.0024103144 0.0052594283 + 1854900 0.0045090994 0.0027100194 0.0049293418 + 1855000 0.0052852601 0.0026299906 0.0052313295 + 1855100 0.0051090777 0.0025383592 0.0050529834 + 1855200 0.0059633796 0.0025030573 0.0054381582 + 1855300 0.0060547168 0.0026089656 0.0055890216 + 1855400 0.005942301 0.0030870039 0.0060117302 + 1855500 0.0060323975 0.0028775959 0.0058466665 + 1855600 0.0044914918 0.0029659145 0.0051765707 + 1855700 0.0046447907 0.0029362984 0.0052224064 + 1855800 0.0050709649 0.0028102192 0.0053060847 + 1855900 0.0045044459 0.0027585837 0.0049756157 + 1856000 0.0053759087 0.0026559711 0.0053019262 + 1856100 0.0058835944 0.002361057 0.0052568886 + 1856200 0.0049954527 0.0023911883 0.0048498876 + 1856300 0.005819257 0.0027660609 0.0056302264 + 1856400 0.0043246114 0.0028929661 0.0050214858 + 1856500 0.0048563963 0.0030621782 0.0054524358 + 1856600 0.005183256 0.0032893195 0.0058404533 + 1856700 0.0060621826 0.0027747939 0.0057585244 + 1856800 0.004786888 0.0026046232 0.0049606697 + 1856900 0.004117613 0.0032304277 0.0052570654 + 1857000 0.0054191466 0.0032638003 0.0059310365 + 1857100 0.0050972847 0.0033741343 0.0058829542 + 1857200 0.0040699343 0.0033996105 0.0054027813 + 1857300 0.0044551055 0.0034986997 0.005691447 + 1857400 0.0053488266 0.0033568213 0.0059894469 + 1857500 0.0072512264 0.0029683979 0.0065373609 + 1857600 0.0059998998 0.0030829804 0.0060360561 + 1857700 0.0042091998 0.0034962922 0.0055680078 + 1857800 0.0041246336 0.0033688614 0.0053989545 + 1857900 0.0040530961 0.0029742893 0.0049691726 + 1858000 0.0042365566 0.0029267726 0.0050119528 + 1858100 0.0045254882 0.0027310622 0.0049584509 + 1858200 0.0041202261 0.0027814633 0.004809387 + 1858300 0.0048359969 0.0028480663 0.0052282835 + 1858400 0.0051916597 0.0028122215 0.0053674916 + 1858500 0.004312734 0.0022326417 0.0043553155 + 1858600 0.0037118503 0.0021643189 0.0039912452 + 1858700 0.0055983224 0.0017850567 0.004540481 + 1858800 0.0040127434 0.0019226761 0.0038976982 + 1858900 0.0041685891 0.002385415 0.0044371425 + 1859000 0.0058586717 0.0022425827 0.0051261477 + 1859100 0.00485961 0.0022525245 0.0046443638 + 1859200 0.005022355 0.0025836221 0.0050555624 + 1859300 0.0060007994 0.0024264013 0.0053799198 + 1859400 0.0048658579 0.0025989371 0.0049938515 + 1859500 0.0056350989 0.0023542833 0.0051278086 + 1859600 0.0042095655 0.002817197 0.0048890925 + 1859700 0.0048897483 0.0031237484 0.0055304214 + 1859800 0.0052931666 0.0028504465 0.0054556769 + 1859900 0.0047012109 0.0030158859 0.0053297632 + 1860000 0.0051294781 0.0034332347 0.0059578997 + 1860100 0.004941004 0.0031253305 0.0055572309 + 1860200 0.0045243966 0.0031158813 0.0053427327 + 1860300 0.0069113738 0.0024382291 0.0058399209 + 1860400 0.0053427446 0.0021960661 0.0048256982 + 1860500 0.0052037557 0.0020781069 0.0046393304 + 1860600 0.0054119535 0.0021170838 0.0047807797 + 1860700 0.0028694602 0.0024478798 0.0038601923 + 1860800 0.0033430079 0.0026009506 0.0042463373 + 1860900 0.007174849 0.0029064284 0.0064377994 + 1861000 0.005856392 0.0033368092 0.0062192521 + 1861100 0.0045203596 0.0033491825 0.005574047 + 1861200 0.006906198 0.0029948557 0.0063940001 + 1861300 0.0052332643 0.0031872611 0.0057630084 + 1861400 0.0046901329 0.0032490747 0.0055574995 + 1861500 0.0049315672 0.0027240868 0.0051513425 + 1861600 0.0057188748 0.0029013001 0.0057160588 + 1861700 0.0048535225 0.0029231301 0.0053119732 + 1861800 0.005891016 0.0027470833 0.0056465678 + 1861900 0.006937185 0.0029161957 0.0063305915 + 1862000 0.005634874 0.0030000727 0.0057734872 + 1862100 0.0058558206 0.0024243947 0.0053065564 + 1862200 0.0040629506 0.002338382 0.0043381155 + 1862300 0.0033126879 0.002753683 0.0043841466 + 1862400 0.0046742181 0.0028241941 0.0051247858 + 1862500 0.00374513 0.0026649694 0.0045082756 + 1862600 0.0054161886 0.0023886372 0.0050544176 + 1862700 0.0031706282 0.0024641461 0.0040246897 + 1862800 0.00575508 0.0022453559 0.0050779343 + 1862900 0.00580198 0.0021053876 0.0049610496 + 1863000 0.0049256086 0.0026866774 0.0051110004 + 1863100 0.0052510916 0.0029516387 0.0055361603 + 1863200 0.005965955 0.0025980246 0.0055343931 + 1863300 0.0058266189 0.00243656 0.005304349 + 1863400 0.0051353719 0.0023412291 0.0048687949 + 1863500 0.0043970366 0.0024521759 0.0046163424 + 1863600 0.0061419605 0.0024346641 0.0054576603 + 1863700 0.0064182798 0.0024390324 0.0055980295 + 1863800 0.0047902072 0.0029105972 0.0052682773 + 1863900 0.0051462424 0.003072362 0.0056052782 + 1864000 0.0053883073 0.0033299411 0.0059819986 + 1864100 0.0053348778 0.0034109151 0.0060366753 + 1864200 0.0051051224 0.0032790048 0.0057916822 + 1864300 0.0048050097 0.0030194893 0.005384455 + 1864400 0.0055690231 0.0028037088 0.0055447123 + 1864500 0.007100897 0.0028960117 0.0063909844 + 1864600 0.0056108796 0.0025358082 0.0052974131 + 1864700 0.004882915 0.0024440182 0.0048473279 + 1864800 0.0055703803 0.002815029 0.0055567006 + 1864900 0.0064487841 0.0022829825 0.0054569934 + 1865000 0.0061763128 0.0020951514 0.0051350554 + 1865100 0.0040235559 0.0020863566 0.0040667005 + 1865200 0.0046086021 0.0021696977 0.004437994 + 1865300 0.007048863 0.0023716368 0.005840999 + 1865400 0.0042937935 0.0030149391 0.0051282906 + 1865500 0.0043727287 0.0027920656 0.0049442681 + 1865600 0.0048721656 0.0024883139 0.004886333 + 1865700 0.0049218301 0.0024961579 0.0049186212 + 1865800 0.0037525528 0.0026512816 0.0044982411 + 1865900 0.0037460623 0.0022848526 0.0041286176 + 1866000 0.005776095 0.0021634673 0.0050063891 + 1866100 0.0037199698 0.0025716927 0.0044026153 + 1866200 0.004541571 0.0024388189 0.0046741234 + 1866300 0.0052545786 0.0019542317 0.0045404696 + 1866400 0.0039580084 0.0019163875 0.0038644698 + 1866500 0.0035921609 0.0018449548 0.0036129715 + 1866600 0.00423047 0.0019275286 0.0040097131 + 1866700 0.0062184773 0.0018626213 0.0049232781 + 1866800 0.0058500973 0.001899177 0.0047785217 + 1866900 0.0048041314 0.0020132104 0.0043777439 + 1867000 0.0047764574 0.0024194226 0.0047703352 + 1867100 0.0045674909 0.0025958529 0.0048439148 + 1867200 0.0040903545 0.0026153052 0.0046285265 + 1867300 0.0052033072 0.0024309914 0.0049919941 + 1867400 0.005209584 0.0023919032 0.0049559953 + 1867500 0.0048780816 0.0022817323 0.004682663 + 1867600 0.0057355416 0.0024456069 0.0052685688 + 1867700 0.0059780291 0.0027144707 0.0056567819 + 1867800 0.0055157223 0.0023292324 0.005044002 + 1867900 0.0043244137 0.0022398044 0.0043682268 + 1868000 0.0068346698 0.0025323319 0.005896271 + 1868100 0.0049760501 0.0024367184 0.0048858681 + 1868200 0.0043621566 0.0026029173 0.0047499162 + 1868300 0.0054992397 0.0025649645 0.0052716215 + 1868400 0.0063147448 0.002555515 0.0056635535 + 1868500 0.0040771683 0.0027433709 0.0047501022 + 1868600 0.0047309589 0.0024361862 0.0047647051 + 1868700 0.0064864773 0.0021200302 0.0053125933 + 1868800 0.0060266931 0.0020461865 0.0050124496 + 1868900 0.0068795497 0.0022254157 0.0056114441 + 1869000 0.0054352952 0.0024310162 0.0051062005 + 1869100 0.0044692643 0.0024716192 0.0046713352 + 1869200 0.0050698281 0.0022691991 0.0047645051 + 1869300 0.0066398809 0.0021033381 0.0053714045 + 1869400 0.0054941917 0.0021583275 0.0048624999 + 1869500 0.0051311871 0.0026243159 0.0051498221 + 1869600 0.0049986939 0.0028130262 0.0052733209 + 1869700 0.0059626852 0.0027016982 0.0056364573 + 1869800 0.0049493404 0.0030189164 0.0054549199 + 1869900 0.0066243421 0.0031556171 0.0064160355 + 1870000 0.0045240699 0.003055826 0.0052825167 + 1870100 0.0046324738 0.0031183197 0.0053983654 + 1870200 0.0036030824 0.0027653448 0.004538737 + 1870300 0.0049482969 0.0030187757 0.0054542656 + 1870400 0.0039968737 0.0031679808 0.0051351921 + 1870500 0.0052059712 0.0030097856 0.0055720996 + 1870600 0.0047171079 0.0029567843 0.0052784859 + 1870700 0.0063473867 0.0025379991 0.0056621035 + 1870800 0.0047778631 0.0025874268 0.0049390313 + 1870900 0.0052243433 0.0028929171 0.0054642735 + 1871000 0.0044553099 0.0031103883 0.0053032361 + 1871100 0.0053490043 0.0028497163 0.0054824294 + 1871200 0.0042241979 0.0021121871 0.0041912846 + 1871300 0.0041443115 0.0018624088 0.0039021871 + 1871400 0.006756833 0.0016359421 0.0049615708 + 1871500 0.0047813936 0.0018529719 0.004206314 + 1871600 0.0043867079 0.0020429153 0.0042019982 + 1871700 0.0044379291 0.0018013234 0.0039856167 + 1871800 0.0046761721 0.0021772487 0.0044788021 + 1871900 0.0054958382 0.0020893481 0.004794331 + 1872000 0.0059607576 0.0020368694 0.0049706798 + 1872100 0.0055018624 0.002696589 0.0054045369 + 1872200 0.0046009642 0.0028447642 0.0051093013 + 1872300 0.0042834465 0.0025376687 0.0046459275 + 1872400 0.0037797137 0.0029443449 0.0048046727 + 1872500 0.005828588 0.0027310478 0.0055998059 + 1872600 0.0045149223 0.0026833277 0.0049055161 + 1872700 0.0044150325 0.0025867928 0.0047598166 + 1872800 0.005794271 0.0022488809 0.0051007486 + 1872900 0.0045129077 0.0020359606 0.0042571574 + 1873000 0.0052561939 0.0020423972 0.0046294302 + 1873100 0.0043939904 0.0019171423 0.0040798095 + 1873200 0.0060949521 0.0019011504 0.0049010096 + 1873300 0.0058761463 0.0020330527 0.0049252185 + 1873400 0.0048963321 0.0024054374 0.0048153508 + 1873500 0.0064491149 0.0022538175 0.0054279912 + 1873600 0.0054457853 0.0021109923 0.0047913398 + 1873700 0.0052060972 0.0019523872 0.0045147632 + 1873800 0.0049325945 0.001625724 0.0040534853 + 1873900 0.0059649722 0.0013497653 0.00428565 + 1874000 0.0046192716 0.0017957223 0.00406927 + 1874100 0.0044043226 0.0020713135 0.004239066 + 1874200 0.004348397 0.0022862139 0.0044264405 + 1874300 0.0043980488 0.0022301978 0.0043948624 + 1874400 0.0055384364 0.0020457469 0.0047716961 + 1874500 0.0038114898 0.0024082427 0.0042842103 + 1874600 0.0062063537 0.0021835877 0.0052382775 + 1874700 0.005289684 0.0021432258 0.0047467422 + 1874800 0.0052264562 0.0021563769 0.0047287733 + 1874900 0.0042062784 0.0021196995 0.0041899771 + 1875000 0.0051387418 0.0020633095 0.004592534 + 1875100 0.0048281497 0.0027889352 0.0051652901 + 1875200 0.0045983106 0.0031257967 0.0053890277 + 1875300 0.0055924693 0.0030964995 0.005849043 + 1875400 0.0043992386 0.0028824018 0.005047652 + 1875500 0.0046670532 0.0024926131 0.0047896784 + 1875600 0.0052590178 0.0023127729 0.0049011957 + 1875700 0.0056722198 0.0021727222 0.0049645179 + 1875800 0.0051897587 0.0020354004 0.0045897348 + 1875900 0.0049763002 0.0020882883 0.0045375611 + 1876000 0.0059528594 0.002035195 0.004965118 + 1876100 0.0054263795 0.0021686337 0.0048394299 + 1876200 0.0044975184 0.0024993213 0.0047129436 + 1876300 0.0057547589 0.0022301694 0.0050625897 + 1876400 0.0063573866 0.0024174958 0.005546522 + 1876500 0.0048612263 0.0030327439 0.0054253788 + 1876600 0.0042261193 0.0030565293 0.0051365724 + 1876700 0.0044980048 0.0027379219 0.0049517836 + 1876800 0.0043664101 0.0025737108 0.0047228033 + 1876900 0.0047523516 0.0022834716 0.0046225197 + 1877000 0.0050803753 0.002367374 0.0048678713 + 1877100 0.0046006543 0.0022684717 0.0045328563 + 1877200 0.0048465519 0.0023522467 0.004737659 + 1877300 0.0046065204 0.0021471774 0.0044144491 + 1877400 0.0045142046 0.0022036652 0.0044255002 + 1877500 0.0047613318 0.0020723379 0.0044158059 + 1877600 0.004612179 0.0023049108 0.0045749677 + 1877700 0.0043730211 0.0025403352 0.0046926816 + 1877800 0.0056333954 0.0025941657 0.0053668525 + 1877900 0.0056188329 0.0025299847 0.0052955041 + 1878000 0.0043592196 0.0027175423 0.0048630957 + 1878100 0.0041645222 0.0028650329 0.0049147586 + 1878200 0.003985234 0.0026551395 0.0046166219 + 1878300 0.0063667535 0.0020433006 0.0051769371 + 1878400 0.0044716572 0.0021770696 0.0043779634 + 1878500 0.0041273664 0.002062141 0.0040935792 + 1878600 0.003695597 0.0021038975 0.0039228242 + 1878700 0.0040410721 0.0022725421 0.0042615073 + 1878800 0.0050836809 0.0021556282 0.0046577524 + 1878900 0.0053602624 0.0026842335 0.0053224876 + 1879000 0.0059684385 0.002687455 0.0056250458 + 1879100 0.0049563284 0.0027429099 0.0051823528 + 1879200 0.0055211972 0.0019567012 0.0046741654 + 1879300 0.0058740237 0.0020862475 0.0049773685 + 1879400 0.0051697637 0.0025034669 0.00504796 + 1879500 0.0043523604 0.0029418483 0.0050840256 + 1879600 0.0038052338 0.0027460003 0.0046188888 + 1879700 0.0054577548 0.0020278433 0.004714082 + 1879800 0.0053393189 0.0016722291 0.0043001751 + 1879900 0.0042706469 0.0020045469 0.0041065059 + 1880000 0.0041588635 0.0019707668 0.0040177074 + 1880100 0.0056334997 0.0019220965 0.0046948346 + 1880200 0.0035521793 0.0021136899 0.0038620281 + 1880300 0.0038509406 0.001948635 0.0038440198 + 1880400 0.0032461177 0.0018797475 0.003477446 + 1880500 0.0055174818 0.0016820166 0.0043976522 + 1880600 0.0043298554 0.0018031562 0.0039342569 + 1880700 0.0042557289 0.0019541601 0.0040487767 + 1880800 0.0053012251 0.0022278545 0.0048370512 + 1880900 0.0050575901 0.0023065071 0.0047957898 + 1881000 0.0042707591 0.0027133315 0.0048153458 + 1881100 0.0046910745 0.0023956075 0.0047044957 + 1881200 0.0065144107 0.0020329881 0.0052392996 + 1881300 0.0051598801 0.0025338848 0.0050735132 + 1881400 0.00505512 0.0027328373 0.0052209041 + 1881500 0.0050849724 0.0023630633 0.0048658232 + 1881600 0.0050155254 0.0023264615 0.0047950404 + 1881700 0.0070139184 0.0021041753 0.0055563383 + 1881800 0.0046250972 0.0019101482 0.0041865632 + 1881900 0.0049034168 0.0015558939 0.0039692944 + 1882000 0.0055570424 0.001730657 0.0044657638 + 1882100 0.0048402397 0.0018567548 0.0042390603 + 1882200 0.0059179228 0.0020411105 0.0049538381 + 1882300 0.0047225951 0.0022266189 0.0045510212 + 1882400 0.0056357875 0.0025366805 0.0053105447 + 1882500 0.0048013455 0.0024987058 0.004861868 + 1882600 0.0042477552 0.0024539069 0.0045445989 + 1882700 0.0036773397 0.0024361645 0.0042461051 + 1882800 0.0041989932 0.0023645868 0.0044312787 + 1882900 0.0045934949 0.0024027486 0.0046636094 + 1883000 0.0038217208 0.0020782918 0.003959295 + 1883100 0.0056743315 0.0019598183 0.0047526533 + 1883200 0.0047343663 0.0017551895 0.0040853854 + 1883300 0.0059014443 0.0016036729 0.00450829 + 1883400 0.0042349215 0.0017464643 0.0038308398 + 1883500 0.0036898214 0.0021214954 0.0039375793 + 1883600 0.0048160705 0.0026638301 0.0050342398 + 1883700 0.0057976416 0.0026520641 0.0055055908 + 1883800 0.004554897 0.002266687 0.0045085504 + 1883900 0.0058228056 0.001494648 0.0043605601 + 1884000 0.0035266237 0.0016786759 0.003414436 + 1884100 0.0058500098 0.0016494703 0.004528772 + 1884200 0.0043684554 0.0016242102 0.0037743093 + 1884300 0.006195006 0.0018161947 0.0048652992 + 1884400 0.0058881955 0.0019572489 0.0048553451 + 1884500 0.0035911007 0.002180089 0.0039475839 + 1884600 0.0046377614 0.001869065 0.0041517132 + 1884700 0.0046806277 0.0018954904 0.0041992368 + 1884800 0.003444748 0.0022582623 0.0039537242 + 1884900 0.0051143112 0.0020213319 0.0045385319 + 1885000 0.0034974452 0.0019405814 0.0036619802 + 1885100 0.0040924134 0.00172944 0.0037436747 + 1885200 0.0036729763 0.0020064004 0.0038141934 + 1885300 0.0037959444 0.0021591138 0.0040274302 + 1885400 0.0063323834 0.0023875949 0.0055043148 + 1885500 0.004655842 0.0026069641 0.0048985113 + 1885600 0.0053028611 0.0020533344 0.0046633364 + 1885700 0.0049850356 0.0015769628 0.004030535 + 1885800 0.0049816619 0.0019593545 0.0044112662 + 1885900 0.0046806184 0.0025347608 0.0048385026 + 1886000 0.0057024816 0.0025532637 0.0053599539 + 1886100 0.0053279816 0.0023700446 0.0049924105 + 1886200 0.005479699 0.0020550159 0.0047520552 + 1886300 0.005047292 0.0017762777 0.0042604917 + 1886400 0.0044146248 0.0016214446 0.0037942677 + 1886500 0.0040524171 0.0018191285 0.0038136775 + 1886600 0.0057021838 0.0019075638 0.0047141073 + 1886700 0.0041784364 0.0020094225 0.0040659966 + 1886800 0.0052509317 0.0020449974 0.0046294404 + 1886900 0.0046349576 0.0018746642 0.0041559323 + 1887000 0.0049529392 0.0019122534 0.0043500281 + 1887100 0.004661776 0.0020309513 0.0043254192 + 1887200 0.0036557668 0.002043711 0.0038430337 + 1887300 0.0040888237 0.0019126882 0.0039251561 + 1887400 0.0060286835 0.0021421505 0.0051093932 + 1887500 0.0049717975 0.002449652 0.0048967086 + 1887600 0.0073813891 0.0022627548 0.0058957822 + 1887700 0.0055732353 0.0024205634 0.0051636402 + 1887800 0.0070941415 0.002930725 0.0064223727 + 1887900 0.005636876 0.0029094849 0.0056838848 + 1888000 0.0056816499 0.0024719786 0.0052684156 + 1888100 0.0046245774 0.0022290291 0.0045051883 + 1888200 0.0063114236 0.0017176486 0.0048240524 + 1888300 0.0043916932 0.0022635028 0.0044250393 + 1888400 0.0058035082 0.0026132683 0.0054696825 + 1888500 0.0051015846 0.0025107855 0.0050217217 + 1888600 0.0052713516 0.002550919 0.0051454124 + 1888700 0.0058000362 0.0019922818 0.0048469871 + 1888800 0.0047354735 0.001622489 0.0039532299 + 1888900 0.0055117103 0.0016145775 0.0043273725 + 1889000 0.0057092592 0.001785768 0.004595794 + 1889100 0.0047709946 0.0020918837 0.0044401076 + 1889200 0.0050482783 0.0022654277 0.0047501272 + 1889300 0.0061151798 0.0023929642 0.0054027793 + 1889400 0.0063336173 0.0026961778 0.0058135051 + 1889500 0.0061583636 0.002820378 0.0058514476 + 1889600 0.0064699151 0.0021157389 0.0053001503 + 1889700 0.0051201489 0.0021565793 0.0046766526 + 1889800 0.0049121072 0.0028000366 0.0052177144 + 1889900 0.0030387554 0.0027141525 0.0042097899 + 1890000 0.0042062304 0.0024462914 0.0045165454 + 1890100 0.0050293524 0.0022088659 0.0046842502 + 1890200 0.0039034811 0.0026135259 0.0045347705 + 1890300 0.0034888769 0.0027515789 0.0044687604 + 1890400 0.0066669734 0.00295295 0.006234351 + 1890500 0.0040402349 0.0024912224 0.0044797755 + 1890600 0.0039183788 0.0027319522 0.0046605293 + 1890700 0.0047365632 0.0024968647 0.0048281419 + 1890800 0.0051791562 0.0021738206 0.0047229365 + 1890900 0.0057150003 0.0024166675 0.0052295192 + 1891000 0.0050478152 0.0019689146 0.0044533861 + 1891100 0.0052799881 0.001860854 0.0044595981 + 1891200 0.0040998981 0.0023531445 0.0043710631 + 1891300 0.0039728547 0.0023457048 0.0043010942 + 1891400 0.0048595483 0.0022642941 0.004656103 + 1891500 0.0044412044 0.0022989655 0.0044848708 + 1891600 0.0050951071 0.0022322929 0.0047400409 + 1891700 0.0042507861 0.0024012922 0.0044934759 + 1891800 0.0046895839 0.002188129 0.0044962835 + 1891900 0.0049597048 0.0022845352 0.0047256399 + 1892000 0.0050099869 0.0022445365 0.0047103894 + 1892100 0.0059925152 0.0024896101 0.0054390512 + 1892200 0.0077902064 0.0032148307 0.0070490729 + 1892300 0.006303119 0.0030261922 0.0061285085 + 1892400 0.0066920142 0.0029825871 0.0062763129 + 1892500 0.0040802134 0.0032032999 0.00521153 + 1892600 0.0053510047 0.0030044884 0.0056381861 + 1892700 0.0051849091 0.0032238496 0.005775797 + 1892800 0.0063142044 0.002836047 0.0059438195 + 1892900 0.0053481166 0.0021463871 0.0047786632 + 1893000 0.0069309538 0.0019279174 0.0053392462 + 1893100 0.0053931864 0.0022440094 0.0048984684 + 1893200 0.0038658145 0.0025187713 0.0044214769 + 1893300 0.0061067045 0.0026550503 0.0056606939 + 1893400 0.0046981341 0.0023181079 0.0046304707 + 1893500 0.0071270809 0.0017187578 0.0052266179 + 1893600 0.0080901997 0.0021248616 0.0061067567 + 1893700 0.0057365471 0.0028460157 0.0056694725 + 1893800 0.0068389839 0.0029483955 0.0063144578 + 1893900 0.005376149 0.0033832866 0.00602936 + 1894000 0.0057957015 0.0031238799 0.0059764518 + 1894100 0.0050235514 0.0025631587 0.0050356879 + 1894200 0.0049391541 0.0021235509 0.0045545408 + 1894300 0.0051867799 0.0021930349 0.0047459031 + 1894400 0.006230486 0.002320752 0.0053873194 + 1894500 0.0048690887 0.0023796468 0.0047761514 + 1894600 0.0053204347 0.0022086936 0.004827345 + 1894700 0.0044088104 0.0021243265 0.0042942879 + 1894800 0.0043764553 0.0024238095 0.0045778461 + 1894900 0.0041280512 0.0024974062 0.0045291814 + 1895000 0.0048355174 0.0023195701 0.0046995513 + 1895100 0.0053022358 0.0020628335 0.0046725277 + 1895200 0.0049901101 0.0020799925 0.0045360623 + 1895300 0.0045410635 0.0020940926 0.0043291473 + 1895400 0.0042245283 0.0021689117 0.0042481718 + 1895500 0.0039773586 0.0025071778 0.004464784 + 1895600 0.0064413932 0.0029770304 0.0061474036 + 1895700 0.0051395562 0.0028473236 0.0053769489 + 1895800 0.0055278879 0.0023450926 0.0050658499 + 1895900 0.0060390843 0.0020362258 0.0050085876 + 1896000 0.0051545954 0.0019877866 0.0045248141 + 1896100 0.0054189475 0.0022472228 0.004914361 + 1896200 0.0058968154 0.0026749681 0.005577307 + 1896300 0.0050191968 0.0025105129 0.0049808989 + 1896400 0.0039256889 0.0029418361 0.0048740111 + 1896500 0.0054341463 0.0025357811 0.0052104 + 1896600 0.0052947666 0.0020190535 0.0046250715 + 1896700 0.005141795 0.002124987 0.0046557142 + 1896800 0.0052080328 0.0022518001 0.0048151288 + 1896900 0.0058334705 0.0021093711 0.0049805324 + 1897000 0.0045062715 0.0022671568 0.0044850873 + 1897100 0.0044513717 0.0023257827 0.0045166922 + 1897200 0.0050414479 0.0020122032 0.0044935408 + 1897300 0.0073251023 0.0021663203 0.005771644 + 1897400 0.0055619114 0.0021584605 0.0048959637 + 1897500 0.0046202924 0.002092301 0.0043663511 + 1897600 0.0046387088 0.0023134812 0.0045965957 + 1897700 0.0047649251 0.0021521145 0.0044973511 + 1897800 0.0051722813 0.0021461667 0.0046918989 + 1897900 0.0043855129 0.0019939438 0.0041524385 + 1898000 0.0051235664 0.0018684049 0.0043901603 + 1898100 0.0049881854 0.0023676376 0.0048227601 + 1898200 0.0053763362 0.0028217756 0.0054679411 + 1898300 0.0043389837 0.0031387307 0.0052743242 + 1898400 0.0057612954 0.0028963912 0.0057320288 + 1898500 0.0063622311 0.0029520987 0.0060835093 + 1898600 0.0044511351 0.0028171385 0.0050079316 + 1898700 0.0057427337 0.0023529681 0.0051794698 + 1898800 0.0060649767 0.0022132747 0.0051983805 + 1898900 0.0055981079 0.0024460427 0.0052013614 + 1899000 0.0041607606 0.0031554496 0.005203324 + 1899100 0.0040453113 0.0034059877 0.0053970394 + 1899200 0.0057374178 0.0026899895 0.0055138748 + 1899300 0.0056993345 0.0021421198 0.004947261 + 1899400 0.006332936 0.0019114325 0.0050284245 + 1899500 0.0037153252 0.0021702309 0.0039988675 + 1899600 0.0053618438 0.0022162483 0.0048552809 + 1899700 0.0064545627 0.0023204581 0.0054973132 + 1899800 0.0043895503 0.0023310634 0.0044915452 + 1899900 0.0048765547 0.0021379324 0.0045381116 + 1900000 0.0043456662 0.0021970375 0.0043359201 + 1900100 0.0043793433 0.0030293039 0.0051847619 + 1900200 0.004543968 0.0034949402 0.0057314245 + 1900300 0.0042497605 0.0029882743 0.0050799533 + 1900400 0.004486564 0.0026579558 0.0048661865 + 1900500 0.0041549405 0.0027639208 0.0048089305 + 1900600 0.0043799709 0.0030862125 0.0052419795 + 1900700 0.0050997178 0.0028736115 0.0053836289 + 1900800 0.0049024027 0.0026012689 0.0050141703 + 1900900 0.0050339707 0.0023224137 0.0048000711 + 1901000 0.0046408465 0.0026773339 0.0049615005 + 1901100 0.0053043148 0.0028589518 0.0054696692 + 1901200 0.0044466185 0.0028678935 0.0050564635 + 1901300 0.0049916807 0.0025072732 0.004964116 + 1901400 0.0058909935 0.0025517873 0.0054512606 + 1901500 0.0054566808 0.0025221631 0.0052078732 + 1901600 0.0066039447 0.002636844 0.005887223 + 1901700 0.0049507531 0.0026600844 0.0050967832 + 1901800 0.00705488 0.0023243034 0.0057966272 + 1901900 0.0046411679 0.0024341645 0.0047184893 + 1902000 0.0053116745 0.0024217008 0.0050360406 + 1902100 0.0042121731 0.0025567747 0.0046299537 + 1902200 0.0035198781 0.0028051445 0.0045375845 + 1902300 0.0038823632 0.0026569819 0.0045678326 + 1902400 0.0055265067 0.0024890799 0.0052091575 + 1902500 0.0057337886 0.0024668359 0.005288935 + 1902600 0.0047772017 0.0022230071 0.0045742861 + 1902700 0.0066254856 0.002505068 0.0057660492 + 1902800 0.005684084 0.0029676908 0.0057653259 + 1902900 0.0036091246 0.0028533665 0.0046297325 + 1903000 0.0049730896 0.0025058533 0.0049535459 + 1903100 0.0036536611 0.0028070019 0.0046052883 + 1903200 0.004152262 0.0029541969 0.0049978883 + 1903300 0.0060399097 0.0028598322 0.0058326003 + 1903400 0.0052242056 0.0028505521 0.0054218408 + 1903500 0.0042396777 0.0026922876 0.004779004 + 1903600 0.0042957869 0.0026671652 0.0047814978 + 1903700 0.0053952224 0.0025797917 0.0052352527 + 1903800 0.0040298711 0.0029321994 0.0049156516 + 1903900 0.0050743959 0.0025886394 0.0050861936 + 1904000 0.0049554617 0.0022425528 0.0046815691 + 1904100 0.0059125601 0.0020703635 0.0049804517 + 1904200 0.0054048414 0.0020211405 0.0046813359 + 1904300 0.0051386017 0.0017135037 0.0042426592 + 1904400 0.005095372 0.0017835043 0.0042913828 + 1904500 0.0039151686 0.0017674407 0.0036944378 + 1904600 0.0057365073 0.0022004832 0.0050239204 + 1904700 0.0050960405 0.0021110555 0.004619263 + 1904800 0.0052888078 0.0019990871 0.0046021722 + 1904900 0.0053179558 0.0024467821 0.0050642134 + 1905000 0.006802629 0.0021532719 0.0055014408 + 1905100 0.0075031322 0.0022645707 0.0059575186 + 1905200 0.0058070135 0.0026271713 0.0054853108 + 1905300 0.0054023551 0.0028932688 0.0055522405 + 1905400 0.0041383012 0.0026894259 0.004726246 + 1905500 0.0050310005 0.0022659506 0.0047421461 + 1905600 0.0041581945 0.0022880687 0.00433468 + 1905700 0.0025436059 0.0024731936 0.0037251246 + 1905800 0.0056613263 0.0025050403 0.0052914743 + 1905900 0.0044946998 0.0022495027 0.0044617378 + 1906000 0.0042768215 0.0023693844 0.0044743825 + 1906100 0.0054550418 0.0022870876 0.004971991 + 1906200 0.0053006024 0.0022471603 0.0048560505 + 1906300 0.0047601127 0.0020725433 0.0044154112 + 1906400 0.0043426308 0.0017830553 0.0039204439 + 1906500 0.0044078296 0.0017917176 0.0039611962 + 1906600 0.0050273864 0.0019915009 0.0044659176 + 1906700 0.0054379245 0.0024129534 0.0050894319 + 1906800 0.004331341 0.0025201245 0.0046519564 + 1906900 0.0063099168 0.0023521046 0.0054577668 + 1907000 0.0034437584 0.0024277555 0.0041227303 + 1907100 0.0056616877 0.0022021025 0.0049887144 + 1907200 0.0053262423 0.00208219 0.0047036998 + 1907300 0.0059995619 0.002592462 0.0055453714 + 1907400 0.0070311211 0.0028615669 0.0063221967 + 1907500 0.0069626297 0.0030425819 0.0064695012 + 1907600 0.0051883837 0.0031247156 0.0056783731 + 1907700 0.0052345718 0.0035302232 0.0061066139 + 1907800 0.007407569 0.0030682767 0.0067141896 + 1907900 0.0046467109 0.0029713816 0.0052584346 + 1908000 0.0059881502 0.0028003231 0.0057476157 + 1908100 0.0054063627 0.0024131797 0.0050741239 + 1908200 0.0051148008 0.0028691383 0.0053865793 + 1908300 0.0050265259 0.0027257068 0.0051997 + 1908400 0.0054002065 0.0025768759 0.0052347901 + 1908500 0.0039744672 0.0030030921 0.0049592752 + 1908600 0.0053265995 0.0026874774 0.0053091631 + 1908700 0.004729641 0.0029330554 0.0052609255 + 1908800 0.0043799158 0.0031678492 0.0053235889 + 1908900 0.006068706 0.0034134992 0.0064004405 + 1909000 0.0056271209 0.0033760133 0.0061456119 + 1909100 0.0065949836 0.0030160461 0.0062620146 + 1909200 0.0048574949 0.0032534341 0.0056442324 + 1909300 0.0066299046 0.0029227414 0.0061858976 + 1909400 0.0060586569 0.0026434609 0.0056254561 + 1909500 0.0053960599 0.0030855333 0.0057414065 + 1909600 0.0050419308 0.0028712916 0.0053528669 + 1909700 0.0032045192 0.0028469541 0.0044241785 + 1909800 0.0061441543 0.0024398294 0.0054639053 + 1909900 0.0044539362 0.002822636 0.0050148078 + 1910000 0.0051633097 0.003173802 0.0057151185 + 1910100 0.004838801 0.0028281332 0.0052097306 + 1910200 0.0039151588 0.002719723 0.0046467152 + 1910300 0.0053867368 0.0027648393 0.0054161239 + 1910400 0.0047883178 0.0027310778 0.0050878279 + 1910500 0.0044689839 0.002457148 0.004656726 + 1910600 0.0035509552 0.002692882 0.0044406178 + 1910700 0.005123139 0.002308879 0.0048304239 + 1910800 0.0048122089 0.0023827898 0.0047512989 + 1910900 0.0081181532 0.0027233078 0.0067189613 + 1911000 0.0048683618 0.0034233596 0.0058195064 + 1911100 0.0037549504 0.0036571434 0.0055052831 + 1911200 0.0041650792 0.0032913353 0.0053413352 + 1911300 0.0051186974 0.0030308084 0.0055501673 + 1911400 0.0042217387 0.0027332151 0.0048111021 + 1911500 0.004682911 0.0024322732 0.0047371434 + 1911600 0.0055665434 0.0022741848 0.0050139679 + 1911700 0.0053825619 0.0027759609 0.0054251906 + 1911800 0.0056070375 0.0032328343 0.005992548 + 1911900 0.0052592614 0.0029291293 0.0055176721 + 1912000 0.0054767695 0.0027668657 0.0054624632 + 1912100 0.0044058104 0.0030278438 0.0051963286 + 1912200 0.0061682385 0.0031800428 0.0062159727 + 1912300 0.0054818366 0.0025324083 0.0052304997 + 1912400 0.0058738154 0.002480401 0.0053714195 + 1912500 0.004992234 0.0030556531 0.0055127683 + 1912600 0.0047396403 0.0027360535 0.0050688452 + 1912700 0.005190719 0.002875212 0.0054300189 + 1912800 0.0032459836 0.0028363389 0.0044339714 + 1912900 0.0042356472 0.0026281396 0.0047128722 + 1913000 0.0051142145 0.0024702105 0.0049873629 + 1913100 0.0047370124 0.0022210099 0.0045525082 + 1913200 0.0052818234 0.0023226606 0.0049223081 + 1913300 0.0049244501 0.0024017881 0.0048255409 + 1913400 0.004030087 0.002496837 0.0044803955 + 1913500 0.0066303644 0.0025940067 0.0058573892 + 1913600 0.0049734339 0.0029455892 0.0053934512 + 1913700 0.0038715841 0.0025404078 0.0044459531 + 1913800 0.0054936581 0.002218937 0.0049228468 + 1913900 0.0040736679 0.0021496548 0.0041546632 + 1914000 0.0036362249 0.0020724131 0.0038621176 + 1914100 0.0040449874 0.0017259222 0.0037168145 + 1914200 0.0043084372 0.0020009298 0.0041214888 + 1914300 0.0076682968 0.0022573249 0.0060315647 + 1914400 0.0058179489 0.0022205321 0.0050840538 + 1914500 0.0048293571 0.0022537173 0.0046306665 + 1914600 0.0053466993 0.0021327229 0.0047643015 + 1914700 0.0066170886 0.0023173729 0.0055742213 + 1914800 0.004600395 0.0033076016 0.0055718585 + 1914900 0.0043616169 0.0029214763 0.0050682097 + 1915000 0.0058928075 0.0022316467 0.0051320129 + 1915100 0.0042474411 0.0021873227 0.0042778601 + 1915200 0.0055313353 0.0023349709 0.005057425 + 1915300 0.0056034483 0.0025409139 0.0052988611 + 1915400 0.0064952993 0.0023835706 0.0055804757 + 1915500 0.0059271446 0.0022747054 0.0051919718 + 1915600 0.0044718675 0.00269988 0.0049008772 + 1915700 0.004452722 0.0029718634 0.0051634376 + 1915800 0.0063362683 0.0028693615 0.0059879935 + 1915900 0.0065101143 0.0025842872 0.0057884841 + 1916000 0.0038634733 0.0027155833 0.0046171366 + 1916100 0.004013169 0.0027185103 0.0046937419 + 1916200 0.0041893475 0.0023513276 0.004413272 + 1916300 0.0066122252 0.0023505594 0.005605014 + 1916400 0.0044033991 0.0023747237 0.0045420217 + 1916500 0.0061230829 0.0025007727 0.0055144775 + 1916600 0.0060899145 0.002418923 0.0054163028 + 1916700 0.0052060664 0.0023569451 0.0049193059 + 1916800 0.0054895773 0.0020612337 0.0047631351 + 1916900 0.0043015074 0.0018825018 0.00399965 + 1917000 0.0039566591 0.0022125133 0.0041599315 + 1917100 0.0060901772 0.0022812415 0.0052787505 + 1917200 0.0051807927 0.0021118118 0.0046617332 + 1917300 0.0035091109 0.002217183 0.0039443235 + 1917400 0.0048379596 0.0024341811 0.0048153643 + 1917500 0.0046143274 0.0023716705 0.0046427848 + 1917600 0.0046302403 0.0024112562 0.0046902026 + 1917700 0.0045389284 0.0024304084 0.0046644122 + 1917800 0.0059510614 0.0020830031 0.0050120411 + 1917900 0.0038553455 0.0022910248 0.0041885777 + 1918000 0.0047111337 0.0026970634 0.0050158245 + 1918100 0.0051308633 0.0026433609 0.0051687077 + 1918200 0.0051334256 0.0024474637 0.0049740716 + 1918300 0.0060202597 0.0022322381 0.0051953347 + 1918400 0.0051574692 0.0024429967 0.0049814386 + 1918500 0.0052267575 0.0027093786 0.0052819233 + 1918600 0.0061451131 0.0022157439 0.0052402918 + 1918700 0.0043869983 0.0024217587 0.0045809845 + 1918800 0.0053752092 0.0025245621 0.0051701728 + 1918900 0.0045529158 0.0022590102 0.0044998985 + 1919000 0.0052687595 0.0019375739 0.0045307915 + 1919100 0.0046442978 0.0020624555 0.0043483208 + 1919200 0.006966526 0.0028785267 0.0063073637 + 1919300 0.0052773955 0.0037975138 0.0063949819 + 1919400 0.0053470317 0.0029643812 0.0055961234 + 1919500 0.0056594859 0.0023721758 0.005157704 + 1919600 0.0046507179 0.0023426492 0.0046316745 + 1919700 0.0053937628 0.002401126 0.0050558686 + 1919800 0.0050035406 0.0026752546 0.0051379348 + 1919900 0.0054581288 0.0031684439 0.0058548667 + 1920000 0.0048592261 0.0031833597 0.00557501 + 1920100 0.006192711 0.0029285174 0.0059764924 + 1920200 0.0056199698 0.002662466 0.0054285449 + 1920300 0.004330002 0.0023144393 0.0044456122 + 1920400 0.0062492858 0.0022383572 0.0053141776 + 1920500 0.0047181848 0.0022361034 0.004558335 + 1920600 0.0038364754 0.0025090869 0.0043973521 + 1920700 0.0068344475 0.0023837169 0.0057475465 + 1920800 0.0044132874 0.0030706552 0.00524282 + 1920900 0.0052377413 0.0035375331 0.006115484 + 1921000 0.0050625826 0.0032258597 0.0057175996 + 1921100 0.0045934687 0.0023099084 0.0045707563 + 1921200 0.0053722789 0.0017992989 0.0044434675 + 1921300 0.0040921716 0.0020110185 0.0040251342 + 1921400 0.0042464826 0.0022998931 0.0043899587 + 1921500 0.0047161555 0.002400351 0.0047215838 + 1921600 0.0043718698 0.0025759465 0.0047277261 + 1921700 0.005958452 0.0022764436 0.0052091192 + 1921800 0.0051043897 0.0020567558 0.0045690726 + 1921900 0.0054548477 0.0023524339 0.0050372417 + 1922000 0.0059675359 0.0025768155 0.0055139621 + 1922100 0.0046638111 0.0023542306 0.0046497001 + 1922200 0.0053266461 0.0022338096 0.0048555183 + 1922300 0.0051130485 0.0024335486 0.0049501271 + 1922400 0.0062873794 0.002200314 0.0052948835 + 1922500 0.0054390613 0.0022615009 0.0049385389 + 1922600 0.0062105712 0.0026585435 0.005715309 + 1922700 0.0041735152 0.0029526922 0.0050068442 + 1922800 0.0057196655 0.0029435175 0.0057586654 + 1922900 0.0050838975 0.0032262563 0.0057284871 + 1923000 0.0055052109 0.0027754636 0.0054850595 + 1923100 0.0048874809 0.002472526 0.004878083 + 1923200 0.0048721977 0.0021844402 0.004582475 + 1923300 0.0043495432 0.0027166532 0.004857444 + 1923400 0.0065056077 0.0027026314 0.0059046102 + 1923500 0.0054171093 0.0023684218 0.0050346553 + 1923600 0.0039196964 0.0022290693 0.0041582949 + 1923700 0.0045133208 0.0019066507 0.0041280508 + 1923800 0.0045834849 0.002071156 0.00432709 + 1923900 0.0039835383 0.0021541397 0.0041147875 + 1924000 0.0053179027 0.0021439353 0.0047613406 + 1924100 0.0070365419 0.0021608708 0.0056241688 + 1924200 0.0042590485 0.0022848428 0.0043810933 + 1924300 0.005243419 0.0021193224 0.0047000677 + 1924400 0.005708324 0.0017312487 0.0045408144 + 1924500 0.0058006141 0.0025520895 0.0054070792 + 1924600 0.0061062966 0.0026323906 0.0056378335 + 1924700 0.0057147517 0.0024386026 0.0052513319 + 1924800 0.0048322046 0.0019017119 0.0042800626 + 1924900 0.0061314671 0.0018149495 0.004832781 + 1925000 0.0051744137 0.0019979348 0.0045447166 + 1925100 0.0064318709 0.0025987993 0.0057644857 + 1925200 0.0046765376 0.0027726185 0.0050743519 + 1925300 0.0055356922 0.0023857581 0.0051103566 + 1925400 0.0050583514 0.0019422296 0.0044318869 + 1925500 0.0040128399 0.0019514756 0.0039265452 + 1925600 0.0067039827 0.0023935311 0.0056931476 + 1925700 0.0069478566 0.0028311334 0.0062507816 + 1925800 0.0048440453 0.0025322055 0.004916384 + 1925900 0.0067386862 0.002112198 0.0054288951 + 1926000 0.0038864551 0.0027006221 0.0046134867 + 1926100 0.0036076212 0.0029339823 0.0047096083 + 1926200 0.0047824068 0.0028823612 0.005236202 + 1926300 0.0048338084 0.0027569753 0.0051361154 + 1926400 0.0057084534 0.0022770253 0.0050866547 + 1926500 0.0055422737 0.0016498642 0.004377702 + 1926600 0.0058188688 0.0018576627 0.0047216372 + 1926700 0.0056285623 0.001828754 0.004599062 + 1926800 0.0053804792 0.0019692935 0.0046174981 + 1926900 0.0042728488 0.0023850994 0.0044881421 + 1927000 0.0050311616 0.001896969 0.0043732438 + 1927100 0.0045917693 0.0017541135 0.0040141249 + 1927200 0.0054952581 0.0019134538 0.0046181511 + 1927300 0.0044454668 0.0023989129 0.0045869161 + 1927400 0.005406817 0.0024731726 0.0051343404 + 1927500 0.004545335 0.0026019434 0.0048391004 + 1927600 0.0051874367 0.003056019 0.0056092105 + 1927700 0.0054108605 0.002903521 0.0055666789 + 1927800 0.0043701043 0.0028301099 0.0049810206 + 1927900 0.0067663321 0.002532235 0.0058625391 + 1928000 0.0048834042 0.0024836653 0.0048872158 + 1928100 0.005003884 0.002126817 0.0045896662 + 1928200 0.0038291612 0.0019638419 0.0038485072 + 1928300 0.0070826926 0.0020214702 0.0055074829 + 1928400 0.0060110113 0.0021453643 0.0051039089 + 1928500 0.0053331534 0.0025847183 0.0052096297 + 1928600 0.0055783933 0.0030469046 0.00579252 + 1928700 0.0058932337 0.0031083961 0.0060089721 + 1928800 0.0058713754 0.0028322979 0.0057221155 + 1928900 0.0043825763 0.0028972926 0.0050543419 + 1929000 0.0064651835 0.0030917794 0.0062738619 + 1929100 0.0047675589 0.0030667707 0.0054133036 + 1929200 0.0064344047 0.0024199223 0.0055868559 + 1929300 0.0041613915 0.002608236 0.0046564209 + 1929400 0.0052434542 0.0026003693 0.0051811319 + 1929500 0.0042788031 0.0028419888 0.0049479622 + 1929600 0.0051311717 0.0030508041 0.0055763027 + 1929700 0.0041357664 0.0031811759 0.0052167484 + 1929800 0.0053405536 0.0031355912 0.0057641449 + 1929900 0.0053568786 0.0025764194 0.0052130081 + 1930000 0.0035314915 0.0026400042 0.0043781602 + 1930100 0.0047677643 0.0032163283 0.0055629623 + 1930200 0.004678255 0.0029343888 0.0052369675 + 1930300 0.003306335 0.0025310104 0.0041583472 + 1930400 0.0040825228 0.0025154543 0.004524821 + 1930500 0.0052109936 0.0026427655 0.0052075514 + 1930600 0.0059333994 0.0025087032 0.0054290482 + 1930700 0.0048580653 0.0026817369 0.0050728159 + 1930800 0.0061855253 0.0025327523 0.0055771906 + 1930900 0.0053319275 0.0025883007 0.0052126087 + 1931000 0.0039990717 0.002553903 0.0045221961 + 1931100 0.0040501791 0.0022323782 0.0042258257 + 1931200 0.0042180624 0.0017578194 0.003833897 + 1931300 0.0050443054 0.0017015862 0.0041843303 + 1931400 0.0040566486 0.0018690432 0.0038656749 + 1931500 0.0059665029 0.0019603292 0.0048969674 + 1931600 0.0054376933 0.0015740379 0.0042504026 + 1931700 0.0050713584 0.0015823515 0.0040784107 + 1931800 0.0043029995 0.0017684269 0.0038863095 + 1931900 0.0053551015 0.0016877853 0.0043234993 + 1932000 0.0059243172 0.001745908 0.0046617829 + 1932100 0.0032134698 0.0025426012 0.0041242309 + 1932200 0.0046879819 0.0023305068 0.0046378729 + 1932300 0.0055771194 0.0023206857 0.0050656742 + 1932400 0.0051247402 0.0022794726 0.0048018057 + 1932500 0.0044660029 0.002197239 0.0043953498 + 1932600 0.0055681978 0.0020173864 0.0047579837 + 1932700 0.0044720137 0.0017784764 0.0039795456 + 1932800 0.0057204328 0.0019462168 0.0047617423 + 1932900 0.0063015774 0.0024615516 0.0055631093 + 1933000 0.0061731608 0.0020845797 0.0051229323 + 1933100 0.0045674762 0.0023528394 0.0046008941 + 1933200 0.0053501274 0.0021261898 0.0047594556 + 1933300 0.0055846555 0.001966533 0.0047152306 + 1933400 0.0041056353 0.0024456809 0.0044664233 + 1933500 0.0066441958 0.002097642 0.0053678321 + 1933600 0.0037798348 0.0021727892 0.0040331767 + 1933700 0.0041807703 0.0020733723 0.0041310952 + 1933800 0.0043092601 0.0021589949 0.0042799588 + 1933900 0.0052814169 0.0023221663 0.0049216137 + 1934000 0.0047009604 0.0025455383 0.0048592922 + 1934100 0.0043929394 0.002858411 0.0050205609 + 1934200 0.004877666 0.0028724634 0.0052731896 + 1934300 0.005689155 0.0024654787 0.0052656097 + 1934400 0.0064128496 0.0027048915 0.0058612159 + 1934500 0.0049423581 0.0032146203 0.0056471871 + 1934600 0.005407287 0.0030924902 0.0057538893 + 1934700 0.0053414612 0.0025397309 0.0051687313 + 1934800 0.0051096145 0.0021110809 0.0046259693 + 1934900 0.0047699233 0.00193222 0.0042799166 + 1935000 0.0037299528 0.0020382571 0.0038740932 + 1935100 0.004692111 0.0018402431 0.0041496414 + 1935200 0.0051072204 0.001731499 0.004245209 + 1935300 0.005000162 0.0021683886 0.0046294058 + 1935400 0.005286832 0.0019450034 0.004547116 + 1935500 0.0051939352 0.0021857548 0.0047421448 + 1935600 0.00644339 0.0022291894 0.0054005454 + 1935700 0.0071900586 0.0021164536 0.0056553106 + 1935800 0.0055004842 0.0021257832 0.0048330528 + 1935900 0.0035549909 0.0025679207 0.0043176428 + 1936000 0.0038259495 0.0025239053 0.0044069898 + 1936100 0.0048043476 0.002104575 0.0044692149 + 1936200 0.0064956738 0.0024944978 0.0056915872 + 1936300 0.0059778758 0.002905859 0.0058480947 + 1936400 0.0061613659 0.0029779558 0.0060105031 + 1936500 0.0043324271 0.0027632046 0.0048955711 + 1936600 0.0046121668 0.0023749216 0.0046449724 + 1936700 0.0060858071 0.0026214388 0.005616797 + 1936800 0.0051709009 0.0028814411 0.0054264939 + 1936900 0.004226439 0.0026343311 0.0047145316 + 1937000 0.0043876144 0.0021528921 0.004312421 + 1937100 0.0044157044 0.0022535556 0.0044269101 + 1937200 0.0047588056 0.0020209118 0.0043631364 + 1937300 0.0065581199 0.0022997553 0.00552758 + 1937400 0.0036893646 0.0025006946 0.0043165537 + 1937500 0.0058091169 0.0022247854 0.0050839602 + 1937600 0.005120915 0.0027894393 0.0053098896 + 1937700 0.0057998658 0.0028762809 0.0057309023 + 1937800 0.0050942553 0.0025534618 0.0050607906 + 1937900 0.0054574882 0.0023642792 0.0050503866 + 1938000 0.0042063799 0.0019526762 0.0040230038 + 1938100 0.0053050435 0.001973706 0.0045847821 + 1938200 0.0061108513 0.0023514397 0.0053591244 + 1938300 0.0044327145 0.0027682141 0.0049499408 + 1938400 0.0045960542 0.0026946725 0.0049567929 + 1938500 0.0046179853 0.0024980571 0.0047709717 + 1938600 0.0044325297 0.0028228987 0.0050045344 + 1938700 0.0059707891 0.0032402563 0.0061790041 + 1938800 0.0050818692 0.0033757848 0.0058770173 + 1938900 0.0063042715 0.0034017244 0.006504608 + 1939000 0.0058689984 0.0031688747 0.0060575223 + 1939100 0.0062984481 0.0027884007 0.0058884182 + 1939200 0.0042516827 0.0027211141 0.0048137392 + 1939300 0.0055852617 0.0028288735 0.0055778695 + 1939400 0.0059443656 0.0027939633 0.0057197058 + 1939500 0.0044849095 0.0030751509 0.0052825673 + 1939600 0.0073540225 0.0029376592 0.0065572171 + 1939700 0.0058212565 0.0027820104 0.0056471601 + 1939800 0.0054193497 0.0027682873 0.0054356235 + 1939900 0.0064416349 0.0033076992 0.0064781914 + 1940000 0.0052415054 0.0031668298 0.0057466332 + 1940100 0.0059695318 0.0028141583 0.0057522872 + 1940200 0.0047844406 0.0030469658 0.0054018076 + 1940300 0.0045235778 0.0029133561 0.0051398045 + 1940400 0.005486135 0.0023386076 0.0050388147 + 1940500 0.0052212236 0.0026086981 0.0051785191 + 1940600 0.004868448 0.0026270879 0.0050232772 + 1940700 0.0071970414 0.0026281287 0.0061704225 + 1940800 0.0056430134 0.0034515461 0.0062289668 + 1940900 0.0053340621 0.0037555634 0.006380922 + 1941000 0.0049319097 0.0035145699 0.0059419942 + 1941100 0.0050221034 0.0038370433 0.0063088599 + 1941200 0.0055321024 0.003051018 0.0057738497 + 1941300 0.0041915875 0.002214242 0.004277289 + 1941400 0.0049878524 0.00197035 0.0044253085 + 1941500 0.0055034125 0.0022729302 0.004981641 + 1941600 0.0053666436 0.0026669515 0.0053083464 + 1941700 0.0041627765 0.0032548749 0.0053037414 + 1941800 0.0043623951 0.0034906228 0.0056377391 + 1941900 0.0034835984 0.0034378913 0.0051524749 + 1942000 0.0056847685 0.003051769 0.005849741 + 1942100 0.0057556863 0.001951808 0.0047846849 + 1942200 0.0060839021 0.002008404 0.0050028245 + 1942300 0.0045323697 0.0020439559 0.0042747316 + 1942400 0.0046040714 0.001721521 0.0039875874 + 1942500 0.0046438812 0.0013562373 0.0036418976 + 1942600 0.004158342 0.0013194538 0.0033661378 + 1942700 0.0046637812 0.001702855 0.0039983099 + 1942800 0.0062838957 0.0020581977 0.0051510527 + 1942900 0.0071831869 0.0024291385 0.0059646133 + 1943000 0.0050244835 0.0027874513 0.0052604393 + 1943100 0.0045697951 0.0023104857 0.0045596817 + 1943200 0.0051384675 0.0018046707 0.0043337602 + 1943300 0.003556892 0.002299325 0.0040499827 + 1943400 0.004777104 0.0023338744 0.0046851053 + 1943500 0.0048931914 0.0023489872 0.0047573549 + 1943600 0.0030260166 0.0022962563 0.0037856238 + 1943700 0.0059935989 0.0022079142 0.0051578887 + 1943800 0.0041742244 0.0024655797 0.0045200808 + 1943900 0.0071192188 0.0020574313 0.0055614218 + 1944000 0.0047882085 0.0018263065 0.0041830029 + 1944100 0.0057996421 0.0016884755 0.0045429869 + 1944200 0.0057450216 0.0021086764 0.0049363043 + 1944300 0.0065961603 0.0027030243 0.005949572 + 1944400 0.0052262423 0.0027619885 0.0053342796 + 1944500 0.0045837099 0.0025227105 0.0047787552 + 1944600 0.0043572839 0.0024910502 0.0046356509 + 1944700 0.0038461622 0.0024563801 0.004349413 + 1944800 0.0066779131 0.0023488247 0.00563561 + 1944900 0.0061684992 0.0022805332 0.0053165913 + 1945000 0.0046183303 0.0025061738 0.0047792582 + 1945100 0.0060686083 0.0026098363 0.0055967294 + 1945200 0.006302049 0.0028400443 0.005941834 + 1945300 0.0041619882 0.002875805 0.0049242835 + 1945400 0.0045392246 0.0024872674 0.004721417 + 1945500 0.004788768 0.002341422 0.0046983937 + 1945600 0.0068003512 0.0018903704 0.0052374183 + 1945700 0.005354327 0.0018558797 0.0044912126 + 1945800 0.0051109486 0.0022146238 0.0047301688 + 1945900 0.0042800015 0.0022164891 0.0043230524 + 1946000 0.0050544186 0.0023136442 0.0048013658 + 1946100 0.0040574935 0.0025921725 0.0045892201 + 1946200 0.0060294764 0.0026184607 0.0055860936 + 1946300 0.0038442817 0.0028544052 0.0047465126 + 1946400 0.0052554143 0.0021231339 0.0047097831 + 1946500 0.0036103926 0.0019464465 0.0037234366 + 1946600 0.0037319802 0.0021007238 0.0039375578 + 1946700 0.0047750959 0.0023237361 0.0046739786 + 1946800 0.0059808432 0.0023604375 0.0053041338 + 1946900 0.0051591368 0.0026466873 0.0051859499 + 1947000 0.0055581688 0.0025523781 0.0052880393 + 1947100 0.0037177628 0.002504245 0.0043340814 + 1947200 0.0058009122 0.0019920139 0.0048471504 + 1947300 0.0058081754 0.0019559148 0.0048146262 + 1947400 0.0044063667 0.0022865131 0.0044552717 + 1947500 0.0041734164 0.0020979631 0.0041520665 + 1947600 0.0043305008 0.0019552981 0.0040867165 + 1947700 0.0048403374 0.0017671576 0.0041495112 + 1947800 0.0053003123 0.0022150025 0.0048237499 + 1947900 0.0044338509 0.0026767257 0.0048590117 + 1948000 0.0056110532 0.0028304549 0.0055921452 + 1948100 0.0048102169 0.0030133628 0.0053808914 + 1948200 0.0045265515 0.00275435 0.0049822621 + 1948300 0.0060881154 0.0020682125 0.0050647068 + 1948400 0.0046306615 0.0019027405 0.0041818942 + 1948500 0.0055676485 0.0018808563 0.0046211833 + 1948600 0.0042734816 0.0017054533 0.0038088075 + 1948700 0.0036355489 0.0016916969 0.0034810686 + 1948800 0.004590274 0.0018233496 0.0040826251 + 1948900 0.0041779645 0.002092464 0.0041488059 + 1949000 0.0050915833 0.0023156868 0.0048217004 + 1949100 0.0039488311 0.0019632255 0.0039067909 + 1949200 0.0044730038 0.0018821053 0.0040836619 + 1949300 0.0042214869 0.002108772 0.0041865351 + 1949400 0.00438614 0.0022550226 0.0044138259 + 1949500 0.0070104042 0.0019165951 0.0053670284 + 1949600 0.004337837 0.0019558641 0.0040908932 + 1949700 0.004938766 0.0022647281 0.0046955269 + 1949800 0.0061550364 0.0019890647 0.0050184967 + 1949900 0.0036435399 0.0022014401 0.0039947449 + 1950000 0.0051231702 0.0026722163 0.0051937767 + 1950100 0.0061761192 0.0023461744 0.0053859831 + 1950200 0.0052544786 0.0024609231 0.0050471118 + 1950300 0.0049698897 0.0027583698 0.0052044874 + 1950400 0.0047757593 0.0029634688 0.0053140378 + 1950500 0.0058921072 0.0030138878 0.0059139094 + 1950600 0.0062332072 0.0030210892 0.0060889959 + 1950700 0.0051183582 0.0028439915 0.0053631834 + 1950800 0.0050172471 0.0027103311 0.0051797574 + 1950900 0.0045950816 0.0024165827 0.0046782244 + 1951000 0.0047382081 0.0019532869 0.0042853737 + 1951100 0.0039407513 0.0020571328 0.0039967213 + 1951200 0.0048356356 0.0016102402 0.0039902796 + 1951300 0.0041751276 0.0017435179 0.0037984635 + 1951400 0.0040588326 0.0023624454 0.0043601521 + 1951500 0.0058778344 0.0025834822 0.0054764788 + 1951600 0.0063941441 0.0029821422 0.00612926 + 1951700 0.0056562701 0.0023183776 0.0051023231 + 1951800 0.0048264504 0.0019548835 0.004330402 + 1951900 0.0062045654 0.0021516686 0.0052054782 + 1952000 0.0042897572 0.0020502277 0.0041615925 + 1952100 0.0059818312 0.0018799987 0.0048241812 + 1952200 0.0034165882 0.0021824738 0.0038640758 + 1952300 0.0043020258 0.0021782343 0.0042956377 + 1952400 0.00519647 0.0018900586 0.0044476962 + 1952500 0.0057732949 0.0021985672 0.0050401108 + 1952600 0.0041574269 0.0024977711 0.0045440047 + 1952700 0.0063289385 0.0020445623 0.0051595867 + 1952800 0.0048921736 0.0020274326 0.0044352993 + 1952900 0.0044313354 0.0026314385 0.0048124864 + 1953000 0.0064333997 0.0025942498 0.0057606887 + 1953100 0.0065624207 0.0022420747 0.0054720162 + 1953200 0.003548008 0.0024522868 0.004198572 + 1953300 0.0045217632 0.002378023 0.0046035784 + 1953400 0.0047003282 0.0022333381 0.0045467808 + 1953500 0.0039800589 0.0021303665 0.0040893018 + 1953600 0.0051977643 0.0019285515 0.0044868261 + 1953700 0.0045300298 0.0025816278 0.0048112519 + 1953800 0.0052281123 0.0020846826 0.0046578941 + 1953900 0.0050875789 0.0018757677 0.0043798105 + 1954000 0.0073630713 0.0014708889 0.0050949005 + 1954100 0.005888075 0.0016951194 0.0045931564 + 1954200 0.0040477305 0.0025104363 0.0045026787 + 1954300 0.0040159159 0.0028807755 0.0048573591 + 1954400 0.0057639811 0.0024426199 0.0052795793 + 1954500 0.0046990691 0.0023312931 0.0046441162 + 1954600 0.0062294968 0.0019907943 0.0050568748 + 1954700 0.0038134165 0.0023362223 0.0042131383 + 1954800 0.0043384228 0.0022677487 0.0044030662 + 1954900 0.0041086895 0.002575238 0.0045974836 + 1955000 0.0057618147 0.0026503823 0.0054862754 + 1955100 0.0053866195 0.0028547051 0.0055059319 + 1955200 0.0065060895 0.0029907507 0.0061929666 + 1955300 0.0051540395 0.0024268348 0.0049635886 + 1955400 0.005918247 0.0022200104 0.0051328976 + 1955500 0.00527401 0.0020125439 0.0046083457 + 1955600 0.0057023232 0.001829265 0.0046358772 + 1955700 0.0044354442 0.002064399 0.0042474692 + 1955800 0.0028178835 0.0020570509 0.003443978 + 1955900 0.0052400123 0.0014843542 0.0040634228 + 1956000 0.0044515493 0.0013945085 0.0035855054 + 1956100 0.0062732301 0.0014166444 0.0045042498 + 1956200 0.0058625883 0.001880113 0.0047656057 + 1956300 0.0048796907 0.0019016454 0.0043033681 + 1956400 0.0043503072 0.0019897976 0.0041309644 + 1956500 0.0047072638 0.002014239 0.0043310954 + 1956600 0.004040348 0.0021437387 0.0041323475 + 1956700 0.0059166536 0.0022461659 0.0051582688 + 1956800 0.0047412221 0.0023105859 0.0046441562 + 1956900 0.0058967643 0.0020323519 0.0049346656 + 1957000 0.0050170232 0.0022913868 0.0047607029 + 1957100 0.0051360562 0.002353474 0.0048813767 + 1957200 0.0051993477 0.0023753953 0.0049344492 + 1957300 0.0075910763 0.0020369698 0.0057732026 + 1957400 0.0060897096 0.0023980093 0.0053952883 + 1957500 0.0063140278 0.0027847931 0.0058924787 + 1957600 0.0054957856 0.0027947956 0.0054997526 + 1957700 0.0041769473 0.0024245732 0.0044804144 + 1957800 0.0043894414 0.0026513851 0.0048118133 + 1957900 0.006061054 0.0025421013 0.0055252763 + 1958000 0.0057354608 0.0020623481 0.0048852702 + 1958100 0.0039545206 0.0017615936 0.0037079592 + 1958200 0.0037806376 0.0017925673 0.0036533498 + 1958300 0.0046866414 0.0022769038 0.0045836102 + 1958400 0.0056758527 0.0027548794 0.0055484631 + 1958500 0.0057331959 0.0026797272 0.0055015346 + 1958600 0.0055173524 0.0028425703 0.0055581422 + 1958700 0.0043320248 0.0031474432 0.0052796116 + 1958800 0.0067276345 0.0027510618 0.0060623194 + 1958900 0.0058622506 0.0025557482 0.0054410746 + 1959000 0.0047431314 0.0024561714 0.0047906813 + 1959100 0.0044309755 0.0018525584 0.0040334292 + 1959200 0.0064284583 0.0019178471 0.0050818539 + 1959300 0.0039232343 0.0028774845 0.0048084514 + 1959400 0.0048943551 0.0032274365 0.0056363769 + 1959500 0.0043600509 0.003034413 0.0051803755 + 1959600 0.0058800444 0.0026355566 0.0055296409 + 1959700 0.0044944449 0.0025639432 0.0047760528 + 1959800 0.005528302 0.0021286715 0.0048496326 + 1959900 0.00391563 0.0018230644 0.0037502885 + 1960000 0.0043009187 0.0018197585 0.0039366169 + 1960100 0.0045976068 0.0021029098 0.0043657944 + 1960200 0.0038440412 0.0020744119 0.0039664009 + 1960300 0.0051809904 0.0021146997 0.0046647185 + 1960400 0.0044555659 0.001894392 0.0040873659 + 1960500 0.004866486 0.0021133084 0.0045085319 + 1960600 0.0051720432 0.0021001547 0.0046457697 + 1960700 0.004844078 0.0023657313 0.004749926 + 1960800 0.0045788827 0.0023075766 0.0045612454 + 1960900 0.0052030572 0.0020636233 0.0046245031 + 1961000 0.0035280792 0.0022292553 0.0039657318 + 1961100 0.0040345965 0.0025924621 0.00457824 + 1961200 0.0047711305 0.0019968839 0.0043451747 + 1961300 0.0043140613 0.0015766238 0.0036999508 + 1961400 0.0050526152 0.0019508331 0.0044376671 + 1961500 0.0062219855 0.0023485514 0.0054109349 + 1961600 0.0055718507 0.0028739577 0.0056163529 + 1961700 0.0060134994 0.0028711164 0.0058308857 + 1961800 0.0038449441 0.0023706876 0.004263121 + 1961900 0.0055905866 0.002436064 0.0051876808 + 1962000 0.003931949 0.0029453362 0.0048805924 + 1962100 0.0036639542 0.0026018508 0.0044052032 + 1962200 0.0038179277 0.0027216413 0.0046007776 + 1962300 0.0070629224 0.0023816472 0.0058579293 + 1962400 0.0053193057 0.0026084756 0.0052265714 + 1962500 0.0041011754 0.0028148603 0.0048334076 + 1962600 0.0049099188 0.0025712547 0.0049878554 + 1962700 0.0033398167 0.0024234008 0.0040672168 + 1962800 0.0050646402 0.0024292192 0.0049219718 + 1962900 0.006115325 0.0025410084 0.0055508949 + 1963000 0.0048081411 0.0024715717 0.0048380787 + 1963100 0.0048101648 0.0025687031 0.0049362061 + 1963200 0.0060622333 0.0027488979 0.0057326533 + 1963300 0.0050848351 0.0031212801 0.0056239723 + 1963400 0.0047200984 0.0033849079 0.0057080813 + 1963500 0.0063871316 0.0027465439 0.0058902102 + 1963600 0.0049201673 0.0026733202 0.005094965 + 1963700 0.0059731457 0.0024461418 0.0053860494 + 1963800 0.0043685298 0.0024379986 0.0045881344 + 1963900 0.0040538819 0.0024972757 0.0044925457 + 1964000 0.0044021569 0.0020981707 0.0042648573 + 1964100 0.0060576169 0.0018181885 0.0047996718 + 1964200 0.0041034429 0.0017188646 0.0037385279 + 1964300 0.0035045935 0.0015705621 0.0032954792 + 1964400 0.0035214944 0.0019167752 0.0036500107 + 1964500 0.0055267248 0.0022641806 0.0049843654 + 1964600 0.0040407335 0.0023263417 0.0043151402 + 1964700 0.0038319704 0.0024393851 0.004325433 + 1964800 0.0068207458 0.0025497371 0.0059068229 + 1964900 0.0053023593 0.0027493608 0.0053591157 + 1965000 0.0063577043 0.0025418261 0.0056710086 + 1965100 0.0050059486 0.002606692 0.0050705573 + 1965200 0.0054695403 0.0026632069 0.0053552462 + 1965300 0.0052190538 0.0027575158 0.0053262688 + 1965400 0.0053617598 0.0025362095 0.0051752007 + 1965500 0.0057303209 0.0020405503 0.0048609426 + 1965600 0.0067614337 0.0024043677 0.0057322609 + 1965700 0.0067062646 0.0027667175 0.0060674571 + 1965800 0.0040011517 0.0024551339 0.0044244507 + 1965900 0.0062326558 0.0021690624 0.0052366976 + 1966000 0.0058405272 0.0022528503 0.0051274848 + 1966100 0.0037411039 0.002395169 0.0042364936 + 1966200 0.0050806558 0.002402328 0.0049029633 + 1966300 0.0054836211 0.0024380918 0.0051370616 + 1966400 0.0044450393 0.0020777425 0.0042655352 + 1966500 0.0051132422 0.0018010772 0.0043177511 + 1966600 0.003656032 0.0020400365 0.0038394897 + 1966700 0.0041207461 0.0021180504 0.0041462302 + 1966800 0.0045797136 0.0021848257 0.0044389035 + 1966900 0.0061018381 0.0027371496 0.0057403981 + 1967000 0.005661954 0.0025965471 0.0053832901 + 1967100 0.0060926362 0.0026552122 0.0056539315 + 1967200 0.0057948131 0.0021289476 0.0049810822 + 1967300 0.0047413638 0.0021041628 0.0044378028 + 1967400 0.0047225822 0.0023754572 0.0046998532 + 1967500 0.0047036249 0.0022176643 0.0045327297 + 1967600 0.0043852775 0.0025284402 0.004686819 + 1967700 0.0045473778 0.0029978622 0.0052360248 + 1967800 0.0044720524 0.0027242031 0.0049252913 + 1967900 0.0041343662 0.0025077714 0.0045426548 + 1968000 0.0051008836 0.0015424749 0.0040530661 + 1968100 0.0044266162 0.0015126516 0.0036913768 + 1968200 0.0052096508 0.0019109596 0.0044750846 + 1968300 0.005410992 0.0023438293 0.0050070519 + 1968400 0.0052020452 0.0022122354 0.004772617 + 1968500 0.0062668959 0.0020335453 0.0051180331 + 1968600 0.0058239703 0.0020508671 0.0049173525 + 1968700 0.0060667961 0.0020515531 0.0050375543 + 1968800 0.0054576229 0.002212246 0.0048984198 + 1968900 0.0035614849 0.0026052277 0.004358146 + 1969000 0.0054188189 0.002573247 0.0052403219 + 1969100 0.0043227859 0.0021020917 0.0042297129 + 1969200 0.0051133051 0.0021091525 0.0046258573 + 1969300 0.0058454842 0.0019518892 0.0048289634 + 1969400 0.0041841745 0.0019568573 0.0040162556 + 1969500 0.0055483137 0.0019161023 0.004646913 + 1969600 0.0055371254 0.0022012944 0.0049265983 + 1969700 0.0045267169 0.0025249533 0.0047529468 + 1969800 0.0061279605 0.002665873 0.0056819786 + 1969900 0.0048941496 0.0029549784 0.0053638176 + 1970000 0.0063825049 0.0030570939 0.0061984831 + 1970100 0.0079492512 0.0027469063 0.0066594283 + 1970200 0.0042565002 0.0025904999 0.0046854961 + 1970300 0.0061828154 0.0027827784 0.0058258829 + 1970400 0.0044564635 0.0031298734 0.0053232891 + 1970500 0.0055782859 0.0029247608 0.0056703235 + 1970600 0.0056623962 0.0027874039 0.0055743646 + 1970700 0.0046475914 0.0025042377 0.0047917241 + 1970800 0.0052519542 0.0023905823 0.0049755285 + 1970900 0.0087668221 0.0027393317 0.007054252 + 1971000 0.0048657029 0.003062321 0.0054571591 + 1971100 0.0053896951 0.0032058845 0.005858625 + 1971200 0.0042152604 0.0030911895 0.005165888 + 1971300 0.0042244388 0.0027016 0.0047808159 + 1971400 0.0041581328 0.0026380988 0.0046846798 + 1971500 0.0056693654 0.0023601876 0.0051505784 + 1971600 0.0047501817 0.0021694997 0.0045074797 + 1971700 0.0036260845 0.002277363 0.0040620765 + 1971800 0.0039920487 0.0025434426 0.0045082791 + 1971900 0.0052947029 0.0030542676 0.0056602542 + 1972000 0.0048847203 0.0031348497 0.005539048 + 1972100 0.0051804965 0.0029293056 0.0054790813 + 1972200 0.0044032118 0.0026739334 0.0048411392 + 1972300 0.0055325795 0.0023577961 0.0050808626 + 1972400 0.0036836982 0.0024419225 0.0042549927 + 1972500 0.0049796973 0.0025287977 0.0049797425 + 1972600 0.0047891595 0.0028103724 0.0051675368 + 1972700 0.0040273808 0.0028180666 0.0048002931 + 1972800 0.0052139 0.0026281261 0.0051943425 + 1972900 0.0045494083 0.0026969517 0.0049361136 + 1973000 0.0042662645 0.0023557858 0.0044555878 + 1973100 0.0039034448 0.0028230566 0.0047442833 + 1973200 0.0052748034 0.0029705491 0.0055667414 + 1973300 0.0051664682 0.0029784724 0.0055213435 + 1973400 0.0047046857 0.0027277293 0.0050433169 + 1973500 0.0053830562 0.002779874 0.0054293469 + 1973600 0.0066215512 0.0023810291 0.0056400738 + 1973700 0.0040740518 0.0026570758 0.0046622731 + 1973800 0.0035686539 0.0029934372 0.0047498841 + 1973900 0.0059361546 0.003181333 0.0061030341 + 1974000 0.0062321998 0.0033460501 0.006413461 + 1974100 0.005172146 0.0031859296 0.0057315952 + 1974200 0.0051031433 0.0031881479 0.0056998512 + 1974300 0.0060544445 0.0032340787 0.0062140006 + 1974400 0.005987858 0.0031463562 0.006093505 + 1974500 0.0053304511 0.0030716635 0.0056952449 + 1974600 0.0053468791 0.0029142453 0.0055459123 + 1974700 0.0073553963 0.0022399864 0.0058602206 + 1974800 0.0059522639 0.0025337519 0.0054633817 + 1974900 0.0049358799 0.0027719504 0.0052013288 + 1975000 0.004461605 0.0030395025 0.0052354487 + 1975100 0.0045897928 0.0028020992 0.0050611378 + 1975200 0.0047956843 0.002848826 0.0052092018 + 1975300 0.0042229187 0.002913311 0.0049917787 + 1975400 0.0050738012 0.0031093931 0.0056066547 + 1975500 0.0040048451 0.0030316112 0.0050027459 + 1975600 0.0057452333 0.002423874 0.005251606 + 1975700 0.0052523968 0.0021502419 0.004735406 + 1975800 0.0069328718 0.0021047481 0.0055170209 + 1975900 0.0064558464 0.0023314058 0.0055088927 + 1976000 0.0052138878 0.0023618796 0.00492809 + 1976100 0.0045089978 0.0026409467 0.0048602191 + 1976200 0.0044029812 0.0024717308 0.0046388231 + 1976300 0.003671671 0.0021052169 0.0039123675 + 1976400 0.0049931252 0.0021350389 0.0045925927 + 1976500 0.0046462479 0.0026576123 0.0049444374 + 1976600 0.0051001143 0.002915772 0.0054259845 + 1976700 0.0054783617 0.0029714565 0.0056678377 + 1976800 0.0037483847 0.0026669281 0.0045118362 + 1976900 0.0051239828 0.0022477273 0.0047696876 + 1977000 0.0041990913 0.0028161513 0.0048828915 + 1977100 0.0039594802 0.0032010428 0.0051498494 + 1977200 0.0058079619 0.0025410678 0.0053996741 + 1977300 0.0059823154 0.0025806854 0.0055251063 + 1977400 0.0061891562 0.0028776728 0.0059238981 + 1977500 0.003159823 0.003219768 0.0047749934 + 1977600 0.0047505594 0.0031008448 0.0054390108 + 1977700 0.0039090978 0.0031140292 0.0050380383 + 1977800 0.00483506 0.0027406432 0.0051203993 + 1977900 0.0038597978 0.0026374838 0.004537228 + 1978000 0.0048744559 0.0026458429 0.0050449892 + 1978100 0.0057549102 0.0027040842 0.0055365791 + 1978200 0.0045618443 0.0029584259 0.0052037086 + 1978300 0.005370497 0.0031401241 0.0057834156 + 1978400 0.0043056396 0.0035560459 0.0056752279 + 1978500 0.0049577181 0.0029973742 0.0054375011 + 1978600 0.0054238419 0.0025874049 0.005256952 + 1978700 0.0048098895 0.0028211325 0.0051885 + 1978800 0.0044888178 0.0030247895 0.0052341295 + 1978900 0.0045758057 0.0029502179 0.0052023723 + 1979000 0.0060411791 0.0029548338 0.0059282266 + 1979100 0.0043154893 0.0030199504 0.0051439803 + 1979200 0.0058870093 0.0027335317 0.0056310441 + 1979300 0.0047422594 0.0027734638 0.0051075446 + 1979400 0.0045072403 0.0029437671 0.0051621745 + 1979500 0.0054360951 0.0024135131 0.0050890911 + 1979600 0.0039778749 0.0019942777 0.003952138 + 1979700 0.0056449301 0.0017813829 0.0045597469 + 1979800 0.0041530596 0.0023567126 0.0044007966 + 1979900 0.0050503597 0.0028423141 0.005328038 + 1980000 0.0062999048 0.0024439437 0.0055446781 + 1980100 0.0052505953 0.0025956758 0.0051799532 + 1980200 0.0049434609 0.002769345 0.0052024547 + 1980300 0.0065141845 0.0020366298 0.00524283 + 1980400 0.0061064227 0.0018875618 0.0048930668 + 1980500 0.0050600753 0.0021138048 0.0046043107 + 1980600 0.0052154245 0.0028344629 0.0054014297 + 1980700 0.0055430207 0.0026775714 0.0054057769 + 1980800 0.0069388202 0.0029468265 0.0063620271 + 1980900 0.004781961 0.0028670738 0.0052206952 + 1981000 0.0042950309 0.0030986563 0.0052126168 + 1981100 0.0058934329 0.0028801275 0.0057808015 + 1981200 0.0051552375 0.0025165771 0.0050539206 + 1981300 0.0041582899 0.0024423829 0.0044890413 + 1981400 0.0041224335 0.0027406088 0.0047696191 + 1981500 0.0041688508 0.003124121 0.0051759772 + 1981600 0.0054967786 0.0025034131 0.0052088588 + 1981700 0.0059341759 0.0023962616 0.0053169888 + 1981800 0.0050288218 0.0029115977 0.0053867209 + 1981900 0.0073145799 0.0031682516 0.0067683964 + 1982000 0.0050831158 0.0027414071 0.0052432531 + 1982100 0.0030982604 0.0023919215 0.0039168466 + 1982200 0.0049525901 0.0019992191 0.004436822 + 1982300 0.004505022 0.0022314753 0.0044487909 + 1982400 0.0049952129 0.0025842099 0.0050427912 + 1982500 0.0038319548 0.0025762614 0.0044623017 + 1982600 0.0047335587 0.0020768117 0.0044066102 + 1982700 0.0047315554 0.0020836694 0.0044124818 + 1982800 0.0037731958 0.0027345713 0.0045916911 + 1982900 0.0045711762 0.0026494406 0.0048993164 + 1983000 0.0054898125 0.0021691463 0.0048711634 + 1983100 0.0046453786 0.0019030225 0.0041894198 + 1983200 0.0054186195 0.0022998265 0.0049668032 + 1983300 0.0054853187 0.0024850769 0.0051848822 + 1983400 0.0050157473 0.0024651767 0.0049338649 + 1983500 0.0034265672 0.0028266297 0.0045131432 + 1983600 0.0058993849 0.0026177563 0.0055213598 + 1983700 0.0042001526 0.0022676125 0.0043348751 + 1983800 0.0055705242 0.0022174523 0.0049591946 + 1983900 0.0050699448 0.0022974572 0.0047928206 + 1984000 0.0050657324 0.0025681994 0.0050614896 + 1984100 0.0053734977 0.0024815444 0.0051263129 + 1984200 0.0053513621 0.0018492774 0.0044831509 + 1984300 0.0054531232 0.0018767829 0.004560742 + 1984400 0.0049844047 0.0021000771 0.0045533388 + 1984500 0.0042442045 0.0030772223 0.0051661667 + 1984600 0.0037087739 0.0029275743 0.0047529864 + 1984700 0.0080061441 0.0023483682 0.0062888923 + 1984800 0.005685293 0.0024488912 0.0052471214 + 1984900 0.0048997754 0.001879708 0.0042913162 + 1985000 0.0047381092 0.0016232973 0.0039553354 + 1985100 0.005041188 0.0016960054 0.0041772151 + 1985200 0.0068723264 0.0019689625 0.0053514357 + 1985300 0.0059336976 0.002259717 0.0051802088 + 1985400 0.0056969021 0.0023596115 0.0051635555 + 1985500 0.0054995841 0.0019500888 0.0046569153 + 1985600 0.0055650213 0.0018248935 0.0045639275 + 1985700 0.003298754 0.0015875152 0.0032111206 + 1985800 0.0046976021 0.0019011104 0.0042132115 + 1985900 0.0048921792 0.0020709354 0.0044788048 + 1986000 0.0050250805 0.0020213273 0.0044946091 + 1986100 0.0053275615 0.0021487742 0.0047709334 + 1986200 0.0039628512 0.002647106 0.0045975718 + 1986300 0.0042828966 0.0028408882 0.0049488764 + 1986400 0.0065968618 0.0024620465 0.0057089395 + 1986500 0.0049763336 0.0022323524 0.0046816416 + 1986600 0.0050415652 0.0019012453 0.0043826406 + 1986700 0.005718796 0.0019400205 0.0047547404 + 1986800 0.0049314747 0.002240595 0.0046678052 + 1986900 0.0057709462 0.0020852965 0.0049256841 + 1987000 0.0055647812 0.0017174938 0.0044564095 + 1987100 0.0055902158 0.0017661794 0.0045176137 + 1987200 0.0061639556 0.0024604312 0.0054942531 + 1987300 0.0053606871 0.0024218447 0.0050603078 + 1987400 0.0044048414 0.0021148092 0.0042828171 + 1987500 0.0050490279 0.0026949514 0.0051800198 + 1987600 0.0033034539 0.0028827272 0.0045086459 + 1987700 0.0056157258 0.0026394497 0.0054034398 + 1987800 0.0046056081 0.0024753942 0.004742217 + 1987900 0.0053904937 0.0019866846 0.0046398182 + 1988000 0.0050083182 0.0021466774 0.004611709 + 1988100 0.003811463 0.0023440655 0.0042200199 + 1988200 0.0054874956 0.0018172397 0.0045181165 + 1988300 0.0046301681 0.0017158983 0.0039948092 + 1988400 0.0045802489 0.0018986344 0.0041529757 + 1988500 0.0042252891 0.0021489599 0.0042285943 + 1988600 0.00464105 0.0027011784 0.0049854453 + 1988700 0.0057547229 0.0027889251 0.0056213278 + 1988800 0.0047532467 0.0025011755 0.0048406641 + 1988900 0.0056052759 0.0020999981 0.0048588448 + 1989000 0.0046328768 0.0022881468 0.0045683908 + 1989100 0.005010845 0.0021371748 0.0046034501 + 1989200 0.0040517167 0.0018519146 0.0038461189 + 1989300 0.0059914567 0.0015364795 0.0044853996 + 1989400 0.0034603101 0.0018072419 0.0035103633 + 1989500 0.0042466357 0.0020787266 0.0041688676 + 1989600 0.0051598579 0.002514277 0.0050538946 + 1989700 0.0043113683 0.0025939534 0.0047159549 + 1989800 0.0041294298 0.0025453096 0.0045777634 + 1989900 0.0038935313 0.0026856849 0.0046020323 + 1990000 0.0056438403 0.0022228385 0.0050006661 + 1990100 0.0047138269 0.0022843105 0.0046043972 + 1990200 0.0051151787 0.0025090598 0.0050266868 + 1990300 0.0049282742 0.0023855288 0.0048111637 + 1990400 0.0052360244 0.0023640181 0.0049411239 + 1990500 0.0052002449 0.0020073376 0.0045668331 + 1990600 0.0052603077 0.0018676685 0.0044567262 + 1990700 0.0032799454 0.0019433734 0.0035577215 + 1990800 0.0043308412 0.0019865754 0.0041181613 + 1990900 0.0049651471 0.0020408853 0.0044846686 + 1991000 0.0064263516 0.0023365408 0.0054995107 + 1991100 0.005110402 0.0024265468 0.0049418228 + 1991200 0.0052620821 0.0028286653 0.0054185964 + 1991300 0.0034043815 0.0029405703 0.0046161643 + 1991400 0.0056655427 0.002730733 0.0055192423 + 1991500 0.0056683951 0.002308152 0.0050980653 + 1991600 0.0050704672 0.0025708244 0.005066445 + 1991700 0.0043307914 0.0029145105 0.0050460719 + 1991800 0.0052904937 0.0030241416 0.0056280565 + 1991900 0.0048906864 0.0032815402 0.0056886749 + 1992000 0.0054884386 0.0034554958 0.0061568366 + 1992100 0.0058638076 0.0032399942 0.006126087 + 1992200 0.0045975454 0.002824056 0.0050869104 + 1992300 0.0047427854 0.0025829998 0.0049173394 + 1992400 0.0038374403 0.002542284 0.0044310241 + 1992500 0.0057449529 0.0024547601 0.0052823541 + 1992600 0.0059882545 0.0020066323 0.0049539764 + 1992700 0.0051644924 0.0020321311 0.0045740297 + 1992800 0.0051663507 0.0025529926 0.0050958058 + 1992900 0.0052874852 0.0029005984 0.0055030325 + 1993000 0.0051789834 0.002932028 0.0054810588 + 1993100 0.0046394072 0.0029994144 0.0052828727 + 1993200 0.005234685 0.0028774698 0.0054539163 + 1993300 0.0047522556 0.0025951217 0.0049341224 + 1993400 0.0074959829 0.0025009687 0.0061903978 + 1993500 0.0039129976 0.0032317131 0.0051576416 + 1993600 0.0043637664 0.0032938349 0.0054416262 + 1993700 0.0043572388 0.0031057684 0.0052503469 + 1993800 0.0074529602 0.0026348982 0.0063031521 + 1993900 0.0037679233 0.0026274942 0.0044820189 + 1994000 0.0049829756 0.0021650901 0.0046176484 + 1994100 0.0055307292 0.0020324649 0.0047546207 + 1994200 0.0047293982 0.0024693387 0.0047970894 + 1994300 0.0063571425 0.0024678261 0.0055967322 + 1994400 0.0052947511 0.0024082668 0.0050142771 + 1994500 0.0047607034 0.0022730389 0.0046161976 + 1994600 0.0070307226 0.0018187729 0.0052792067 + 1994700 0.0063189855 0.0015227998 0.0046329255 + 1994800 0.0058463265 0.0016856726 0.0045631614 + 1994900 0.0044550514 0.0019621556 0.0041548762 + 1995000 0.0051622777 0.0020446714 0.0045854799 + 1995100 0.0041940515 0.00222956 0.0042938197 + 1995200 0.0039296763 0.0022136127 0.0041477503 + 1995300 0.004062208 0.0018235115 0.0038228795 + 1995400 0.0049330481 0.0016191577 0.0040471423 + 1995500 0.00509695 0.0019933343 0.0045019894 + 1995600 0.0062257088 0.0020172697 0.0050814857 + 1995700 0.0039886567 0.0017794217 0.0037425886 + 1995800 0.0044976542 0.0017709365 0.0039846257 + 1995900 0.0053579657 0.0021039712 0.0047410949 + 1996000 0.0064835665 0.0020022043 0.0051933347 + 1996100 0.0046543009 0.0021049099 0.0043956986 + 1996200 0.0057234402 0.002259823 0.0050768287 + 1996300 0.0040347378 0.0023433742 0.0043292217 + 1996400 0.0051954764 0.0026857358 0.0052428843 + 1996500 0.0044238311 0.0025509056 0.00472826 + 1996600 0.0064962637 0.0021231854 0.0053205652 + 1996700 0.0037554311 0.0020482724 0.0038966486 + 1996800 0.003913544 0.0021095955 0.0040357929 + 1996900 0.0044236762 0.002243618 0.0044208961 + 1997000 0.0044884775 0.0024545671 0.0046637396 + 1997100 0.0054405354 0.0025390388 0.0052168023 + 1997200 0.004465932 0.0023606972 0.0045587731 + 1997300 0.0045632708 0.0025142273 0.0047602122 + 1997400 0.0052344775 0.0027464507 0.0053227951 + 1997500 0.0047759755 0.002783892 0.0051345675 + 1997600 0.0056364942 0.0021685357 0.0049427477 + 1997700 0.0037913202 0.0019583496 0.00382439 + 1997800 0.0050482422 0.0022335132 0.0047181949 + 1997900 0.0050208922 0.0027812269 0.0052524473 + 1998000 0.0046525474 0.0028043102 0.0050942359 + 1998100 0.0069723101 0.0019055429 0.0053372267 + 1998200 0.0064172699 0.0018082562 0.0049667562 + 1998300 0.0060220135 0.0020378316 0.0050017913 + 1998400 0.0062648643 0.0026460546 0.0057295425 + 1998500 0.0042685253 0.0027045125 0.0048054273 + 1998600 0.0047982195 0.0024999167 0.0048615404 + 1998700 0.0045770619 0.0023965866 0.0046493593 + 1998800 0.006166689 0.0022217336 0.0052569009 + 1998900 0.0060578663 0.0023546222 0.0053362283 + 1999000 0.004238593 0.0024786217 0.0045648042 + 1999100 0.0054266305 0.0028549884 0.0055259081 + 1999200 0.0033827038 0.0027990632 0.0044639877 + 1999300 0.0047584445 0.0023526277 0.0046946746 + 1999400 0.0056181695 0.0020335116 0.0047987044 + 1999500 0.0033374664 0.0023030393 0.0039456986 + 1999600 0.0053943118 0.0023096891 0.004964702 + 1999700 0.0047621637 0.0021943385 0.0045382159 + 1999800 0.0058336388 0.0020055057 0.0048767498 + 1999900 0.0058349189 0.002299977 0.0051718512 + 2000000 0.0046591833 0.0026625608 0.0049557526 +Loop time of 12.6681 on 1 procs for 2000000 steps with 64 atoms + +Performance: 68203007.046 tau/day, 157877.331 timesteps/s, 10.104 Matom-step/s +96.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0.86381 | 0.86381 | 0.86381 | 0.0 | 6.82 +Neigh | 1.2565 | 1.2565 | 1.2565 | 0.0 | 9.92 +Comm | 1.0357 | 1.0357 | 1.0357 | 0.0 | 8.18 +Output | 0.071243 | 0.071243 | 0.071243 | 0.0 | 0.56 +Modify | 7.5928 | 7.5928 | 7.5928 | 0.0 | 59.94 +Other | | 1.848 | | | 14.59 + +Nlocal: 64 ave 64 max 64 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 4 ave 4 max 4 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 6 +Neighbor list builds = 2000000 +Dangerous builds not checked +Total wall time: 0:00:12 diff --git a/examples/PACKAGES/phonon/2-1D-diatomic/log.6Dec23.Ana.g++.4 b/examples/PACKAGES/phonon/2-1D-diatomic/log.6Dec23.Ana.g++.4 new file mode 100644 index 0000000000..2bb0c1c972 --- /dev/null +++ b/examples/PACKAGES/phonon/2-1D-diatomic/log.6Dec23.Ana.g++.4 @@ -0,0 +1,20125 @@ +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-132-g9edf553332) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# 3D simple cubic lattice simulation +dimension 2 +boundary p f p + +units lj +atom_style bond +atom_modify sort 0 1. +bond_style harmonic +pair_style none +comm_modify cutoff 2.0 + +# geometry +read_data data.pos +Reading data file ... + orthogonal box = (0 0 -0.5) to (64 1 0.5) + 4 by 1 by 1 MPI processor grid + reading atoms ... + 64 atoms + scanning bonds ... + 2 = max bonds/atom + reading bonds ... + 64 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.001 seconds + +# +neighbor 1.0 nsq +neigh_modify delay 0 check no + +#Langevin random seed +variable r equal 571101 + +#Langevin Temperature +variable t equal 0.005 + +# Langevin Damping variable +variable d equal 0.5 + +# Create velocities and equilibrate +compute MyTemp all temp/partial 1 0 0 +velocity all create $t 28711 mom yes rot yes dist gaussian temp MyTemp +velocity all create 0.005 28711 mom yes rot yes dist gaussian temp MyTemp +velocity all set NULL 0.0 0.0 units box +# +fix 1 all langevin $t $t $d $r +fix 1 all langevin 0.005 $t $d $r +fix 1 all langevin 0.005 0.005 $d $r +fix 1 all langevin 0.005 0.005 0.5 $r +fix 1 all langevin 0.005 0.005 0.5 571101 +fix_modify 1 temp MyTemp +fix 2 all setforce NULL 0. 0. +fix 3 all nve +fix 4 all phonon 10 50000 500000 map.in phonon sysdim 1 +fix_modify 4 temp MyTemp + +# 1 2 3 4 +thermo_style custom step temp pe etotal +thermo_modify temp MyTemp +thermo 100 + +# +run 2000000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix phonon command: doi:10.1016/j.cpc.2011.04.019 + +@Article{Kong11, + author = {L. T. Kong}, + title = {Phonon Dispersion Measured Directly from Molecular Dynamics Simulations}, + journal = {Comput.\ Phys.\ Commun.}, + year = 2011, + volume = 182, + pages = {2201--2207} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +WARNING: Communication cutoff 2 is shorter than a bond length based estimate of 2.5. This may lead to errors. (src/comm.cpp:723) +WARNING: Communication cutoff 2 is shorter than a bond length based estimate of 2.5. This may lead to errors. (src/comm.cpp:723) +WARNING: Inconsistent image flags (src/domain.cpp:815) +Per MPI rank memory allocation (min/avg/max) = 3.235 | 3.235 | 3.235 Mbytes + Step Temp PotEng TotEng + 0 0.005 0 0.0024609375 + 100 0.0031092926 0.00040379819 0.0019341531 + 200 0.0039279141 0.00086859939 0.0028018696 + 300 0.0064511702 0.0014805212 0.0046557066 + 400 0.0047373042 0.0020887555 0.0044203974 + 500 0.0051359955 0.0024683239 0.0049961967 + 600 0.0056790179 0.0026466922 0.0054418338 + 700 0.0054525242 0.0028225133 0.0055061775 + 800 0.0055112651 0.0021776912 0.004890267 + 900 0.0050003129 0.0015646928 0.0040257843 + 1000 0.0049003177 0.001701767 0.0041136421 + 1100 0.0047411466 0.0021193246 0.0044528577 + 1200 0.0053835193 0.0019054194 0.0045551204 + 1300 0.0044792417 0.0020111925 0.0042158192 + 1400 0.0059891894 0.0019319674 0.0048797715 + 1500 0.0047035184 0.0023987012 0.0047137141 + 1600 0.0056797568 0.002766631 0.0055621363 + 1700 0.0063182531 0.0024726126 0.0055823778 + 1800 0.0040048174 0.0028326258 0.0048037469 + 1900 0.0046114794 0.0030783445 0.005348057 + 2000 0.0047870171 0.0029788442 0.0053349541 + 2100 0.0065542828 0.002712365 0.005938301 + 2200 0.0065784683 0.0028786985 0.0061165384 + 2300 0.0061937464 0.0036292734 0.006677758 + 2400 0.0066933832 0.0034035578 0.0066979573 + 2500 0.0065453168 0.0024818357 0.0057033588 + 2600 0.0052756649 0.0019078406 0.004504457 + 2700 0.0056619034 0.0013428201 0.0041295382 + 2800 0.0035394016 0.0014177079 0.0031597571 + 2900 0.004269206 0.001530366 0.0036316158 + 3000 0.0054419762 0.0020503515 0.0047288241 + 3100 0.0049565797 0.0024108077 0.0048503743 + 3200 0.00567568 0.0020776217 0.0048711205 + 3300 0.0046753683 0.0022037424 0.0045049003 + 3400 0.0054246376 0.0017626146 0.0044325534 + 3500 0.0054421912 0.0017537041 0.0044322826 + 3600 0.0061099993 0.0020075611 0.0050148264 + 3700 0.0040163755 0.0023383265 0.0043151363 + 3800 0.006683076 0.0019795058 0.0052688323 + 3900 0.0051400304 0.0017273226 0.0042571813 + 4000 0.004545797 0.0020524725 0.0042898569 + 4100 0.0061776203 0.0021697773 0.0052103248 + 4200 0.007241124 0.0017791449 0.0053431357 + 4300 0.0053079733 0.0013440496 0.0039565677 + 4400 0.0041356873 0.0016127731 0.0036483066 + 4500 0.0042719034 0.0016663692 0.0037689467 + 4600 0.0051491675 0.0016802514 0.0042146073 + 4700 0.0050961811 0.0022752318 0.0047835085 + 4800 0.0055374753 0.0024167371 0.0051422132 + 4900 0.0068004041 0.0022243353 0.0055714092 + 5000 0.0056272867 0.0024832453 0.0052529255 + 5100 0.0052627898 0.0026340507 0.0052243301 + 5200 0.0056680235 0.0025933592 0.0053830895 + 5300 0.0068164135 0.0033952558 0.0067502093 + 5400 0.0050555376 0.003557345 0.0060456174 + 5500 0.0059976858 0.0026983783 0.0056503643 + 5600 0.0054411749 0.0023033738 0.0049814521 + 5700 0.0060289983 0.0022403571 0.0052077547 + 5800 0.0043641156 0.0019509792 0.0040989423 + 5900 0.0054432847 0.00196019 0.0046393066 + 6000 0.0034082909 0.0020112851 0.0036888032 + 6100 0.0043928106 0.0018741478 0.0040362343 + 6200 0.0045230673 0.0017133115 0.0039395086 + 6300 0.0065489561 0.0022496203 0.0054729346 + 6400 0.0052678358 0.0024260994 0.0050188624 + 6500 0.0045943377 0.0023203803 0.0045816559 + 6600 0.0045040258 0.0023560041 0.0045728293 + 6700 0.0035414453 0.0022506129 0.0039936679 + 6800 0.0045245181 0.0021720697 0.004398981 + 6900 0.0043446261 0.0021090094 0.00424738 + 7000 0.0050994842 0.0022381066 0.004748009 + 7100 0.0035382116 0.002622187 0.0043636505 + 7200 0.0058864282 0.0026836924 0.0055809187 + 7300 0.0052436597 0.0021487099 0.0047295736 + 7400 0.005685301 0.0015839674 0.0043822015 + 7500 0.0056483316 0.0016032465 0.0043832847 + 7600 0.0035757235 0.0021629578 0.0039228842 + 7700 0.0051999693 0.002193788 0.0047531479 + 7800 0.006313871 0.0021671161 0.0052747245 + 7900 0.0047730576 0.002335035 0.0046842742 + 8000 0.0044387794 0.0025123631 0.0046970748 + 8100 0.0069234991 0.0024867047 0.0058943644 + 8200 0.0066840194 0.0024363507 0.0057261415 + 8300 0.0039825115 0.0026934721 0.0046536145 + 8400 0.0036344523 0.0029203838 0.0047092158 + 8500 0.0056537256 0.0027069512 0.0054896442 + 8600 0.0049288586 0.0020880106 0.0045139332 + 8700 0.0037567885 0.0018937 0.0037427443 + 8800 0.0051885248 0.0022767457 0.0048304727 + 8900 0.0048656999 0.0021481017 0.0045429384 + 9000 0.0053786685 0.0021649391 0.0048122525 + 9100 0.0041150429 0.0021872196 0.0042125923 + 9200 0.0045133627 0.0020803165 0.0043017372 + 9300 0.0060373426 0.0022172154 0.00518872 + 9400 0.0054588295 0.0027773114 0.005464079 + 9500 0.0058802452 0.0027602448 0.005654428 + 9600 0.0042195084 0.0032924694 0.0053692586 + 9700 0.0060165549 0.0025534048 0.005514678 + 9800 0.0050241517 0.001807778 0.0042806027 + 9900 0.0061489635 0.0023496208 0.0053760638 + 10000 0.0052326955 0.0027879909 0.0053634582 + 10100 0.0035569213 0.0026944818 0.004445154 + 10200 0.0066401928 0.0020453285 0.0053135484 + 10300 0.0060613441 0.002091832 0.0050751498 + 10400 0.0067776283 0.0026018522 0.0059377162 + 10500 0.004803969 0.0027545887 0.0051190422 + 10600 0.0071177837 0.0021458255 0.0056491097 + 10700 0.0051269808 0.0023613253 0.0048847611 + 10800 0.0047839896 0.0024783254 0.0048329453 + 10900 0.0067420174 0.0027433441 0.0060616808 + 11000 0.0050132918 0.0027008413 0.0051683209 + 11100 0.0047697403 0.002321385 0.0046689915 + 11200 0.0064471511 0.0025069987 0.0056802059 + 11300 0.0038256685 0.0031693059 0.0050522521 + 11400 0.0069277531 0.0030919855 0.006501739 + 11500 0.0054211261 0.0030552674 0.0057234779 + 11600 0.0058557273 0.0024084707 0.0052905865 + 11700 0.0046548338 0.0026850494 0.0049761004 + 11800 0.0048975299 0.0028348556 0.0052453586 + 11900 0.0056311916 0.0032767124 0.0060483145 + 12000 0.0049885908 0.0030157871 0.0054711092 + 12100 0.0048655578 0.002553305 0.0049480717 + 12200 0.0045185421 0.002484567 0.004708537 + 12300 0.0040890369 0.0024332877 0.0044458606 + 12400 0.0050885895 0.0023510207 0.0048555608 + 12500 0.004919956 0.0026253729 0.0050469137 + 12600 0.0050042266 0.0032084168 0.0056714346 + 12700 0.0043770546 0.0030207212 0.0051750527 + 12800 0.004449569 0.0032156953 0.0054057175 + 12900 0.0052140394 0.0033329527 0.0058992377 + 13000 0.0050918569 0.0032002078 0.0057063561 + 13100 0.0057436034 0.0029710222 0.005797952 + 13200 0.004775945 0.0029036859 0.0052543463 + 13300 0.0063195631 0.0026689886 0.0057793986 + 13400 0.0056684048 0.0025854251 0.0053753431 + 13500 0.0042746154 0.0027119481 0.0048158603 + 13600 0.0051941538 0.0029753599 0.0055318575 + 13700 0.0045493047 0.0034187278 0.0056578387 + 13800 0.0046606562 0.0037771756 0.0060710923 + 13900 0.0055316524 0.0032705549 0.0059931651 + 14000 0.0049580813 0.0027899606 0.0052302662 + 14100 0.0070364257 0.0022597167 0.0057229575 + 14200 0.0065490894 0.0023408445 0.0055642244 + 14300 0.0073815901 0.0023889763 0.0060221027 + 14400 0.0053736605 0.0027999105 0.005444759 + 14500 0.0050721119 0.0027714491 0.0052678792 + 14600 0.0046831327 0.0024454872 0.0047504666 + 14700 0.0055929323 0.002116225 0.0048689964 + 14800 0.00487938 0.0022487257 0.0046502955 + 14900 0.0041725188 0.0026516791 0.0047053407 + 15000 0.0048485447 0.0025045419 0.0048909351 + 15100 0.0053467949 0.0026021928 0.0052338184 + 15200 0.005600918 0.0024956603 0.0052523621 + 15300 0.0063638104 0.0028988598 0.0060310477 + 15400 0.0048681522 0.0031580964 0.0055541401 + 15500 0.004181491 0.0032345472 0.0052926248 + 15600 0.0051507408 0.0026730128 0.005208143 + 15700 0.0049806355 0.0021046656 0.0045560722 + 15800 0.0032597397 0.0024267351 0.0040311383 + 15900 0.0049003502 0.002432989 0.0048448802 + 16000 0.0050497143 0.0027552322 0.0052406384 + 16100 0.0069256157 0.0028386702 0.0062473717 + 16200 0.0046227818 0.0024819379 0.0047572133 + 16300 0.0054134318 0.0023405561 0.0050049796 + 16400 0.006374811 0.0025726433 0.0057102456 + 16500 0.0066448674 0.0030882352 0.0063587559 + 16600 0.0045447667 0.0031809644 0.0054178418 + 16700 0.0034559814 0.002855938 0.0045569288 + 16800 0.0051066369 0.0029599979 0.0054734207 + 16900 0.0067744469 0.0028635139 0.0061978119 + 17000 0.0046669786 0.0030451959 0.0053422245 + 17100 0.0048511517 0.0029146776 0.0053023538 + 17200 0.0052254364 0.0031715416 0.005743436 + 17300 0.0051298417 0.0028949342 0.0054197782 + 17400 0.0052361032 0.0027066784 0.0052838229 + 17500 0.0050390546 0.0025040195 0.0049841791 + 17600 0.0040351246 0.0028207324 0.0048067703 + 17700 0.0056635824 0.002820155 0.0056076995 + 17800 0.0056887209 0.00317468 0.0059745974 + 17900 0.0049440169 0.003511139 0.0059445223 + 18000 0.0054897198 0.0033864147 0.0060883862 + 18100 0.005879619 0.0033533515 0.0062472265 + 18200 0.0041932291 0.0032324656 0.0052963205 + 18300 0.0044018703 0.0027032247 0.0048697703 + 18400 0.0041983735 0.00288756 0.0049539469 + 18500 0.0053416187 0.0032088075 0.0058378854 + 18600 0.004562029 0.0034476786 0.0056930523 + 18700 0.0057561306 0.0033556537 0.0061887493 + 18800 0.0058986022 0.0027969897 0.005700208 + 18900 0.004171279 0.0027614162 0.0048144676 + 19000 0.0054946224 0.0026177619 0.0053221464 + 19100 0.0049922844 0.0023638596 0.0048209995 + 19200 0.004687501 0.0022800612 0.0045871906 + 19300 0.0050481806 0.0024432668 0.0049279181 + 19400 0.0047490937 0.0024888854 0.00482633 + 19500 0.0054990369 0.0021439626 0.0048505198 + 19600 0.0047928046 0.0020857284 0.0044446869 + 19700 0.0036340477 0.0022735134 0.0040621463 + 19800 0.0051410333 0.0021618653 0.0046922177 + 19900 0.0065478784 0.0025517473 0.0057745312 + 20000 0.0035167257 0.0027721702 0.0045030586 + 20100 0.0041179286 0.0024535857 0.0044803787 + 20200 0.0043676783 0.0021276434 0.0042773601 + 20300 0.0050148447 0.0020943064 0.0045625503 + 20400 0.0054429129 0.0022268018 0.0049057356 + 20500 0.0058321233 0.0022379381 0.0051084362 + 20600 0.0066270292 0.0020393432 0.0053010842 + 20700 0.004295378 0.0024717644 0.0045858958 + 20800 0.0055329877 0.002509889 0.0052331563 + 20900 0.0045122556 0.0025360094 0.0047568852 + 21000 0.005270327 0.0027971303 0.0053911193 + 21100 0.0043225609 0.0034493845 0.005576895 + 21200 0.0052944547 0.0033038906 0.005909755 + 21300 0.0059584834 0.0024788501 0.0054115412 + 21400 0.0044898274 0.0024249254 0.0046347623 + 21500 0.0059771607 0.0023183759 0.0052602597 + 21600 0.004790593 0.0017687452 0.0041266152 + 21700 0.0050672709 0.0020666766 0.004560724 + 21800 0.0050570228 0.0027424564 0.0052314598 + 21900 0.0053769964 0.0028247055 0.0054711959 + 22000 0.0062028834 0.0025287646 0.0055817463 + 22100 0.0045987403 0.0028021561 0.0050655986 + 22200 0.0056176826 0.002809137 0.0055740902 + 22300 0.0048838611 0.0029758252 0.0053796006 + 22400 0.0063379833 0.0029710695 0.0060905457 + 22500 0.004581338 0.0032559908 0.0055108681 + 22600 0.0052400691 0.0028046327 0.0053837292 + 22700 0.006448842 0.0021840962 0.0053581356 + 22800 0.00575483 0.0020443807 0.0048768361 + 22900 0.005732221 0.0021246212 0.0049459487 + 23000 0.005264346 0.0025494884 0.0051405337 + 23100 0.0034644345 0.0030264045 0.0047315558 + 23200 0.0048601736 0.0030798408 0.0054719575 + 23300 0.0072877103 0.0025255208 0.0061124407 + 23400 0.0076319628 0.0025273033 0.00628366 + 23500 0.0061085785 0.0027717487 0.0057783147 + 23600 0.0055387401 0.0029187435 0.0056448421 + 23700 0.0042649846 0.0026187689 0.004717941 + 23800 0.0045735494 0.0027724545 0.0050234983 + 23900 0.0034010395 0.0031538022 0.0048277514 + 24000 0.0045051528 0.003327378 0.0055447579 + 24100 0.0068309338 0.0032021011 0.0065642013 + 24200 0.0039097742 0.0033365467 0.0052608887 + 24300 0.0065925239 0.0030325694 0.0062773273 + 24400 0.0067880973 0.0028966348 0.0062376515 + 24500 0.0056149109 0.0030633411 0.00582693 + 24600 0.0043486613 0.0036810389 0.0058213956 + 24700 0.0056721851 0.0031597698 0.0059515485 + 24800 0.0070161406 0.0030335373 0.006486794 + 24900 0.0057156254 0.0033636552 0.0061768146 + 25000 0.0045449739 0.0032291656 0.0054661449 + 25100 0.0051999223 0.0030856763 0.005645013 + 25200 0.0055890758 0.0034022145 0.0061530878 + 25300 0.006235958 0.0032149996 0.0062842602 + 25400 0.0035615605 0.0031945875 0.0049475431 + 25500 0.0042495603 0.0032143371 0.0053059176 + 25600 0.0048304585 0.003015531 0.0053930222 + 25700 0.0056845479 0.0029249434 0.0057228068 + 25800 0.0075757358 0.0024320672 0.0061607497 + 25900 0.0042768233 0.0025083058 0.0046133048 + 26000 0.0050457092 0.0021254399 0.0046088749 + 26100 0.005330724 0.0020636982 0.0046874139 + 26200 0.0041813514 0.0020444241 0.004102433 + 26300 0.0048650223 0.0017385057 0.0041330088 + 26400 0.0037818418 0.0018839961 0.0037453714 + 26500 0.0057264594 0.0017003156 0.0045188074 + 26600 0.0046952689 0.0020179294 0.004328882 + 26700 0.0046541949 0.0023098013 0.0046005379 + 26800 0.0041627743 0.0022906129 0.0043394784 + 26900 0.0050172995 0.0023363927 0.0048058448 + 27000 0.0050219399 0.0026852 0.005156936 + 27100 0.0047405592 0.0026176105 0.0049508544 + 27200 0.0044825745 0.0024694682 0.0046757354 + 27300 0.0047274423 0.0021207316 0.0044475196 + 27400 0.0050886794 0.0018025682 0.0043071526 + 27500 0.004285933 0.0017975262 0.0039070088 + 27600 0.0047306842 0.0015745587 0.0039029424 + 27700 0.0055355996 0.0018138195 0.0045383724 + 27800 0.0040352679 0.001845378 0.0038314864 + 27900 0.0052799246 0.0018621238 0.0044608367 + 28000 0.0037930104 0.0021002345 0.0039671068 + 28100 0.0042318968 0.0025565718 0.0046394585 + 28200 0.0061595984 0.0021361623 0.0051678396 + 28300 0.0038497065 0.0018018518 0.0036966292 + 28400 0.003245253 0.0021151839 0.0037124568 + 28500 0.0052368494 0.002063938 0.0046414498 + 28600 0.0037896292 0.0018143999 0.003679608 + 28700 0.0040484295 0.0016286098 0.0036211961 + 28800 0.0057167495 0.0014573467 0.0042710594 + 28900 0.0058690264 0.0016224728 0.0045111342 + 29000 0.0041766642 0.0019000434 0.0039557453 + 29100 0.0064427458 0.0020981369 0.0052691758 + 29200 0.0047567776 0.0025555943 0.0048968208 + 29300 0.0076126557 0.0027153701 0.0064622241 + 29400 0.0060747608 0.0029299654 0.0059198867 + 29500 0.0057414909 0.0029908265 0.0058167165 + 29600 0.0050366775 0.0029775661 0.0054565559 + 29700 0.0048702432 0.0027577685 0.0051548414 + 29800 0.0042150351 0.0022249531 0.0042995407 + 29900 0.0050072153 0.002188825 0.0046533138 + 30000 0.0052385931 0.0019504754 0.0045288454 + 30100 0.0047964015 0.0022543927 0.0046151216 + 30200 0.0056668869 0.0027090712 0.0054982421 + 30300 0.0064152664 0.0029260648 0.0060835788 + 30400 0.0062010296 0.003120472 0.0061725413 + 30500 0.0074267397 0.0029896791 0.0066450276 + 30600 0.0045120905 0.0023382835 0.004559078 + 30700 0.0055545204 0.0018773436 0.0046112091 + 30800 0.0056187483 0.0021024235 0.0048679011 + 30900 0.0047279802 0.0023396354 0.0046666881 + 31000 0.0042382678 0.0023830179 0.0044690404 + 31100 0.0048707358 0.0020682878 0.0044656031 + 31200 0.004261005 0.0029128294 0.0050100428 + 31300 0.0047470895 0.0029022367 0.0052386948 + 31400 0.0061144328 0.0025283589 0.0055378063 + 31500 0.0056163879 0.0027902851 0.005554601 + 31600 0.0041200566 0.0030247304 0.0050525707 + 31700 0.0043076058 0.0025774137 0.0046975635 + 31800 0.0052202256 0.0022890934 0.0048584231 + 31900 0.0039812256 0.0024323832 0.0043918927 + 32000 0.0038963387 0.0029255952 0.0048433244 + 32100 0.0055946825 0.0031187197 0.0058723525 + 32200 0.0039750694 0.0039995895 0.005956069 + 32300 0.0041170866 0.0034436832 0.0054700618 + 32400 0.0034177152 0.0028501717 0.0045323284 + 32500 0.005211506 0.0021803993 0.0047454374 + 32600 0.0044555612 0.0023413902 0.0045343617 + 32700 0.0047028007 0.0025708999 0.0048855596 + 32800 0.0040347665 0.0029579324 0.004943794 + 32900 0.0041328875 0.0031629897 0.0051971453 + 33000 0.0062793076 0.0026142846 0.0057048813 + 33100 0.0041605022 0.0027985246 0.0048462718 + 33200 0.0072365722 0.0026690435 0.0062307939 + 33300 0.0044803372 0.0024881199 0.0046932859 + 33400 0.0048456915 0.0024046471 0.0047896359 + 33500 0.004893503 0.0021586304 0.0045671514 + 33600 0.0042559619 0.0021639019 0.0042586331 + 33700 0.0056756713 0.0021576654 0.0049511599 + 33800 0.0063596382 0.0024806605 0.005610795 + 33900 0.0055994926 0.0026727578 0.0054287581 + 34000 0.0064562521 0.0025124205 0.0056901071 + 34100 0.003913677 0.0028074552 0.0047337181 + 34200 0.0050900746 0.0025231402 0.0050284113 + 34300 0.0065617931 0.0026154256 0.0058450581 + 34400 0.0048011692 0.0030905988 0.0054536743 + 34500 0.0048056709 0.0032156058 0.0055808969 + 34600 0.0040354422 0.0030971678 0.005083362 + 34700 0.006087834 0.0027728878 0.0057692436 + 34800 0.0053797652 0.0026855103 0.0053333635 + 34900 0.0058378493 0.0028486122 0.0057219287 + 35000 0.0049625915 0.0026119678 0.0050544933 + 35100 0.00730345 0.0022506484 0.0058453152 + 35200 0.0052971237 0.0025621919 0.0051693699 + 35300 0.0059798176 0.0025908986 0.0055340901 + 35400 0.0072213603 0.0027714175 0.0063256808 + 35500 0.0036919283 0.0031586592 0.0049757801 + 35600 0.0059948028 0.002976643 0.00592721 + 35700 0.0058987959 0.0025320278 0.0054353415 + 35800 0.0085632108 0.0024165878 0.0066312932 + 35900 0.0049659305 0.002623482 0.0050676509 + 36000 0.0048871312 0.0026692854 0.0050746703 + 36100 0.0050423605 0.0028126033 0.0052943902 + 36200 0.0054508664 0.0027813974 0.0054642457 + 36300 0.0043917001 0.0024449272 0.0046064671 + 36400 0.0058852486 0.001662152 0.0045587978 + 36500 0.004376686 0.0012946708 0.003448821 + 36600 0.0045995068 0.0014132429 0.0036770626 + 36700 0.0052640792 0.0016298257 0.0042207397 + 36800 0.0046101058 0.0022292853 0.0044983217 + 36900 0.0062925203 0.0027288883 0.0058259881 + 37000 0.0058887204 0.0030900839 0.0059884384 + 37100 0.003955873 0.00280184 0.0047488712 + 37200 0.0051728133 0.0023278277 0.0048738217 + 37300 0.0044624074 0.002153214 0.0043495552 + 37400 0.0054219103 0.0021778367 0.0048464331 + 37500 0.0056408011 0.0022706441 0.0050469759 + 37600 0.0056867515 0.0020669251 0.0048658731 + 37700 0.0054355104 0.0018766256 0.0045519159 + 37800 0.0060895364 0.002088862 0.0050860557 + 37900 0.0052695007 0.0020859158 0.0046794982 + 38000 0.0051904573 0.0018629764 0.0044176546 + 38100 0.0051914814 0.002059636 0.0046148182 + 38200 0.0052801103 0.0020918637 0.004690668 + 38300 0.0043833673 0.0021607426 0.0043181812 + 38400 0.0063337657 0.0022764335 0.0053938338 + 38500 0.0061489876 0.002666119 0.0056925738 + 38600 0.0065438448 0.0028713253 0.0060921239 + 38700 0.0069803926 0.0029497225 0.0063853844 + 38800 0.0042546671 0.0032903986 0.0053844925 + 38900 0.006328746 0.0034787891 0.0065937188 + 39000 0.0062059977 0.0037241942 0.0067787087 + 39100 0.0058922502 0.0032950137 0.0061951056 + 39200 0.0069862319 0.0024531871 0.0058917231 + 39300 0.0068722351 0.0026125238 0.005994952 + 39400 0.0044678762 0.0029836049 0.0051826378 + 39500 0.0048324623 0.0024639161 0.0048423936 + 39600 0.0052848494 0.0018086831 0.0044098199 + 39700 0.0057744393 0.0017420292 0.0045841361 + 39800 0.0055283138 0.0020003167 0.0047212837 + 39900 0.0054910471 0.001966547 0.0046691718 + 40000 0.0058599724 0.0020328682 0.0049170734 + 40100 0.0056009066 0.0021835491 0.0049402454 + 40200 0.0061286205 0.0022872447 0.0053036752 + 40300 0.0055799686 0.0023823168 0.0051287076 + 40400 0.0056994039 0.0027070242 0.0055121996 + 40500 0.0047968544 0.0028433836 0.0052043354 + 40600 0.0046229571 0.0024847847 0.0047601464 + 40700 0.0054599132 0.0023632247 0.0050505257 + 40800 0.0048089307 0.0022941492 0.0046610448 + 40900 0.0059855807 0.0024140102 0.0053600382 + 41000 0.0049511345 0.002463219 0.0049001055 + 41100 0.0043615952 0.0024588088 0.0046055315 + 41200 0.0054054808 0.0024869736 0.0051474837 + 41300 0.0035397634 0.0029027072 0.0046449345 + 41400 0.0060651017 0.0026547866 0.0056399539 + 41500 0.0047277528 0.0025713454 0.0048982863 + 41600 0.0048286022 0.0021934611 0.0045700388 + 41700 0.0045903816 0.0020430148 0.0043023432 + 41800 0.0043399978 0.0022056343 0.0043417269 + 41900 0.0051569228 0.0020364457 0.0045746186 + 42000 0.0047952234 0.0018950341 0.0042551831 + 42100 0.0050371729 0.0021271879 0.0046064214 + 42200 0.0050711136 0.0025738144 0.0050697532 + 42300 0.0048236072 0.0029130705 0.0052871896 + 42400 0.0044010377 0.0031443185 0.0053104543 + 42500 0.0059897978 0.0028640967 0.0058122003 + 42600 0.0038422824 0.0028080627 0.0046991861 + 42700 0.0056509967 0.0027291941 0.005510544 + 42800 0.0042071761 0.0029230606 0.0049937801 + 42900 0.0042193067 0.0026382709 0.0047149609 + 43000 0.0052480966 0.0022338417 0.0048168892 + 43100 0.005522502 0.002039487 0.0047575934 + 43200 0.0058423562 0.0023365092 0.0052120438 + 43300 0.0046834013 0.0024156241 0.0047207356 + 43400 0.0041374095 0.0021058427 0.0041422239 + 43500 0.0058634201 0.0022094852 0.0050953872 + 43600 0.0046182426 0.0024466051 0.0047196464 + 43700 0.0049200288 0.0022391918 0.0046607685 + 43800 0.0057244756 0.0022968649 0.0051143803 + 43900 0.0058377262 0.0022191461 0.005092402 + 44000 0.0045298591 0.0027006662 0.0049302063 + 44100 0.0034804595 0.0031901258 0.0049031645 + 44200 0.0046654548 0.0028375831 0.0051338616 + 44300 0.0065913375 0.0023608728 0.0056050467 + 44400 0.004852674 0.0025328711 0.0049212966 + 44500 0.0060857702 0.0022299535 0.0052252936 + 44600 0.004425753 0.0022909724 0.0044692727 + 44700 0.0053830457 0.0021993527 0.0048488205 + 44800 0.0054246736 0.0027316494 0.0054016059 + 44900 0.0056320375 0.0028277009 0.0055997194 + 45000 0.0066433951 0.0024791215 0.0057489176 + 45100 0.0064237078 0.0020807233 0.005242392 + 45200 0.0050712488 0.0024388037 0.004934809 + 45300 0.0061357574 0.0025291205 0.0055490636 + 45400 0.0051832243 0.0025725279 0.0051236461 + 45500 0.0053433545 0.0018614422 0.0044913745 + 45600 0.0046224495 0.0017536992 0.0040288111 + 45700 0.0044520617 0.0016574041 0.0038486532 + 45800 0.0048541322 0.0018061685 0.0041953117 + 45900 0.0037656301 0.0019218755 0.0037752715 + 46000 0.0049253038 0.0017347223 0.0041588952 + 46100 0.0080366601 0.0018538199 0.0058093636 + 46200 0.0051968486 0.0020311005 0.0045889244 + 46300 0.0036341036 0.0023502428 0.0041389031 + 46400 0.0048643106 0.0021348796 0.0045290325 + 46500 0.0042532667 0.0017966314 0.0038900361 + 46600 0.0051351736 0.0022954508 0.004822919 + 46700 0.0064077543 0.0022535448 0.0054073614 + 46800 0.0053069906 0.0019501388 0.0045621732 + 46900 0.00444173 0.0017552894 0.0039414533 + 47000 0.0045493159 0.0017915283 0.0040306447 + 47100 0.0047988382 0.0020509901 0.0044129182 + 47200 0.0046359373 0.0021243589 0.0044061093 + 47300 0.0058430427 0.001944178 0.0048200506 + 47400 0.0051240047 0.0019098295 0.0044318006 + 47500 0.0044751278 0.0020569405 0.0042595425 + 47600 0.0056649938 0.0020727306 0.0048609697 + 47700 0.0032412862 0.0022585668 0.0038538873 + 47800 0.0068755144 0.0017509017 0.005134944 + 47900 0.0037889607 0.0017356028 0.0036004819 + 48000 0.0045654479 0.0022019401 0.0044489965 + 48100 0.0050696536 0.0025464754 0.0050416956 + 48200 0.0055857755 0.0028438484 0.0055930973 + 48300 0.0044025891 0.002854618 0.0050215174 + 48400 0.0036912724 0.0022986696 0.0041154677 + 48500 0.0046860971 0.0020477439 0.0043541824 + 48600 0.0048275121 0.001977789 0.0043538301 + 48700 0.0037416362 0.0026342835 0.00447587 + 48800 0.0055730939 0.0025685349 0.0053115421 + 48900 0.0051819998 0.002543137 0.0050936526 + 49000 0.0052188892 0.0024982216 0.0050668936 + 49100 0.0051652225 0.0026542001 0.0051964581 + 49200 0.0054453028 0.0030541746 0.0057342845 + 49300 0.0053947386 0.002738394 0.0053936168 + 49400 0.0063579991 0.00239582 0.0055251477 + 49500 0.006528586 0.0022369185 0.0054502069 + 49600 0.0044034693 0.0028330478 0.0050003804 + 49700 0.0056727625 0.0028099507 0.0056020135 + 49800 0.0043653481 0.002720564 0.0048691338 + 49900 0.0046597798 0.0025349663 0.0048284516 + 50000 0.0052933222 0.0027579917 0.0053632987 + 50100 0.0039339254 0.0027051142 0.0046413431 + 50200 0.0041284865 0.0022670852 0.0042990747 + 50300 0.0042675751 0.002292962 0.0043934091 + 50400 0.004289444 0.0025165916 0.0046278023 + 50500 0.0037658203 0.0028293094 0.0046827991 + 50600 0.0048503604 0.0025583313 0.0049456181 + 50700 0.0061761989 0.0020442165 0.0050840643 + 50800 0.0052612743 0.002184757 0.0047742904 + 50900 0.0073896746 0.0024261726 0.006063278 + 51000 0.0062873711 0.0023875812 0.0054821466 + 51100 0.0064470829 0.0021771864 0.00535036 + 51200 0.004880062 0.0024538531 0.0048557587 + 51300 0.0052523628 0.0022732214 0.0048583687 + 51400 0.0052394924 0.0023781803 0.004956993 + 51500 0.0039796224 0.0029113805 0.0048701008 + 51600 0.0064184777 0.0027375379 0.0058966324 + 51700 0.0056029741 0.0029126654 0.0056703793 + 51800 0.0059927679 0.0029288337 0.0058783992 + 51900 0.0059489382 0.0028366718 0.0057646649 + 52000 0.0058144888 0.0026501852 0.0055120039 + 52100 0.0059379992 0.0022779526 0.0052005615 + 52200 0.0065256134 0.0019969986 0.005208824 + 52300 0.0048225829 0.0022542333 0.0046278483 + 52400 0.005131577 0.002066672 0.0045923701 + 52500 0.0040958222 0.0017579172 0.0037738297 + 52600 0.005194631 0.0016662004 0.0042229328 + 52700 0.0035620693 0.0016046777 0.0033578837 + 52800 0.0055449807 0.001454566 0.0041837362 + 52900 0.0039053835 0.001887189 0.0038093699 + 53000 0.0043031657 0.0022651418 0.0043831062 + 53100 0.0039730849 0.0023945596 0.0043500623 + 53200 0.0052178592 0.0018976116 0.0044657767 + 53300 0.005307497 0.0016101643 0.004222448 + 53400 0.0046646002 0.0019185625 0.0042144204 + 53500 0.0026995641 0.0023139328 0.0036426245 + 53600 0.0052326327 0.0023278376 0.004903274 + 53700 0.0037869084 0.0023525329 0.0042164019 + 53800 0.0037463138 0.0021992956 0.0040431844 + 53900 0.004496825 0.0022581519 0.004471433 + 54000 0.0057660791 0.0024945312 0.0053325232 + 54100 0.0061380315 0.0037129682 0.0067340305 + 54200 0.0046104183 0.0036979259 0.0059671161 + 54300 0.0057958224 0.0034695141 0.0063221455 + 54400 0.0048332403 0.0034151314 0.0057939918 + 54500 0.0049693773 0.002820724 0.0052665894 + 54600 0.0045103017 0.0027294131 0.0049493272 + 54700 0.0043333968 0.0027706615 0.0049035053 + 54800 0.0046199654 0.0022569874 0.0045308766 + 54900 0.0052861212 0.0021567699 0.0047585327 + 55000 0.0047585824 0.0023981935 0.0047403083 + 55100 0.005124486 0.0023184498 0.0048406578 + 55200 0.0058088782 0.002483519 0.0053425762 + 55300 0.005216959 0.0021403532 0.0047080752 + 55400 0.0046261335 0.0025583826 0.0048353077 + 55500 0.0057579771 0.0027232685 0.0055572728 + 55600 0.0041409444 0.0025401723 0.0045782933 + 55700 0.0042118565 0.0022279306 0.0043009537 + 55800 0.0053401908 0.0019908841 0.0046192593 + 55900 0.0046193509 0.0024350302 0.004708617 + 56000 0.0058551596 0.0027796935 0.0056615299 + 56100 0.0062778834 0.0021096314 0.0051995271 + 56200 0.0049990389 0.0019808532 0.0044413176 + 56300 0.005667261 0.0021110132 0.0049003682 + 56400 0.0043763366 0.0027361171 0.0048900953 + 56500 0.0044730567 0.0038021939 0.0060037765 + 56600 0.0055258064 0.0036028104 0.0063225432 + 56700 0.0062959125 0.0032143303 0.0063130998 + 56800 0.0042019051 0.0031651388 0.005233264 + 56900 0.0060869881 0.002905635 0.0059015744 + 57000 0.0057868988 0.0027878009 0.0056360401 + 57100 0.0064950497 0.0029399405 0.0061367228 + 57200 0.0050587709 0.0026105139 0.0051003777 + 57300 0.0053527418 0.0023974504 0.005032003 + 57400 0.003922727 0.0021677513 0.0040984684 + 57500 0.0037475815 0.0024135009 0.0042580137 + 57600 0.0053270862 0.002463369 0.0050852943 + 57700 0.0045609319 0.0028937259 0.0051385595 + 57800 0.0069238565 0.0028018135 0.0062096492 + 57900 0.006054894 0.0026147955 0.0055949386 + 58000 0.0057192263 0.0029135455 0.0057284772 + 58100 0.0048946299 0.0025414547 0.0049505303 + 58200 0.003849572 0.002477886 0.0043725973 + 58300 0.0041912557 0.0023914223 0.0044543059 + 58400 0.0052934173 0.0021797269 0.0047850807 + 58500 0.0039186585 0.0019992363 0.003927951 + 58600 0.0053470831 0.0019047638 0.0045365312 + 58700 0.0085743974 0.0016808313 0.0059010425 + 58800 0.0048791203 0.0022616712 0.0046631132 + 58900 0.0050189617 0.0024291926 0.0048994628 + 59000 0.004253455 0.0020956428 0.0041891402 + 59100 0.0060767167 0.0023415227 0.0053324067 + 59200 0.0048321865 0.0027353929 0.0051137347 + 59300 0.0048977252 0.0027351029 0.0051457021 + 59400 0.0069428306 0.0028635561 0.0062807305 + 59500 0.0060870338 0.0028130836 0.0058090455 + 59600 0.0053928323 0.0023989577 0.0050532423 + 59700 0.004054515 0.0018770089 0.0038725905 + 59800 0.0054963992 0.0015445642 0.0042498232 + 59900 0.0042701987 0.0017503963 0.0038521348 + 60000 0.0043336871 0.0019396657 0.0040726523 + 60100 0.0041307694 0.0022506674 0.0042837805 + 60200 0.003790249 0.0022967599 0.004162273 + 60300 0.0055833267 0.0021989572 0.0049470008 + 60400 0.0036377404 0.0022479319 0.0040383822 + 60500 0.0058214434 0.0018167156 0.0046819573 + 60600 0.0046723496 0.0021228113 0.0044224834 + 60700 0.0047974296 0.0023165037 0.0046777386 + 60800 0.0044223476 0.002395644 0.0045722682 + 60900 0.0050279614 0.0024646163 0.004939316 + 61000 0.0060984498 0.002411333 0.0054129137 + 61100 0.0051019827 0.0026219034 0.0051330355 + 61200 0.0050952837 0.0026447827 0.0051526177 + 61300 0.0060527815 0.00238081 0.0053599134 + 61400 0.0049286023 0.0025701005 0.0049958969 + 61500 0.005969882 0.0021249039 0.0050632051 + 61600 0.0046007253 0.0023236173 0.0045880368 + 61700 0.0044396835 0.0025771435 0.0047623002 + 61800 0.0056639445 0.0023601406 0.0051478633 + 61900 0.006055309 0.0021640884 0.0051444358 + 62000 0.0057279406 0.0025880729 0.0054072937 + 62100 0.0067898204 0.0027957117 0.0061375765 + 62200 0.0047542979 0.0029157249 0.0052557309 + 62300 0.0055163244 0.0030389236 0.0057539895 + 62400 0.004623678 0.0029257019 0.0052014185 + 62500 0.006981775 0.0028329928 0.0062693352 + 62600 0.0052790636 0.0025089823 0.0051072715 + 62700 0.004502983 0.0025521714 0.0047684833 + 62800 0.005198644 0.002347132 0.0049058396 + 62900 0.0056829005 0.0019331054 0.004730158 + 63000 0.0061506305 0.0024549965 0.0054822599 + 63100 0.0053233931 0.002854602 0.0054747096 + 63200 0.0039360144 0.0027564754 0.0046937325 + 63300 0.004489603 0.0027418476 0.0049515741 + 63400 0.0045865176 0.0025666641 0.0048240907 + 63500 0.0053091807 0.0025226324 0.0051357448 + 63600 0.0058253669 0.0025830883 0.0054502611 + 63700 0.0048093506 0.0023022853 0.0046693876 + 63800 0.0045950013 0.002432953 0.0046945552 + 63900 0.0051578718 0.0023777817 0.0049164218 + 64000 0.0047482866 0.002104565 0.0044416124 + 64100 0.0070255221 0.0021853492 0.0056432233 + 64200 0.0046851077 0.0026144698 0.0049204212 + 64300 0.0039295793 0.0030161401 0.0049502299 + 64400 0.0048660988 0.0026698987 0.0050649317 + 64500 0.0063953974 0.0028111385 0.0059588731 + 64600 0.0056994558 0.0028564498 0.0056616507 + 64700 0.0053282082 0.0028300066 0.005452484 + 64800 0.00507252 0.0030659405 0.0055625715 + 64900 0.0041852498 0.0031037884 0.005163716 + 65000 0.0045581036 0.0032779545 0.0055213961 + 65100 0.0046913219 0.0032499247 0.0055589347 + 65200 0.0054147947 0.0031621711 0.0058272654 + 65300 0.0054888969 0.0029858355 0.005687402 + 65400 0.0065697151 0.0029281082 0.0061616398 + 65500 0.0060901872 0.0034613474 0.0064588614 + 65600 0.0049597153 0.0033572894 0.0057983993 + 65700 0.0039222949 0.0029538356 0.0048843402 + 65800 0.0044882884 0.0029928496 0.0052019291 + 65900 0.0052161718 0.0026758705 0.0052432051 + 66000 0.0065934271 0.0022680927 0.0055132951 + 66100 0.0050492444 0.0023166854 0.0048018603 + 66200 0.0056593498 0.0025581565 0.0053436177 + 66300 0.0049524609 0.0023519584 0.0047894978 + 66400 0.0063402264 0.0023849748 0.005505555 + 66500 0.004771672 0.00244859 0.0047971473 + 66600 0.0051824552 0.002613505 0.0051642446 + 66700 0.005774468 0.0028348791 0.005677 + 66800 0.0046950833 0.0030075585 0.0053184198 + 66900 0.0053165495 0.0027537876 0.0053705268 + 67000 0.0057308856 0.0025272009 0.0053478711 + 67100 0.0046796202 0.0026661548 0.0049694054 + 67200 0.0047437058 0.0027420071 0.0050767998 + 67300 0.0050394751 0.0025004341 0.0049808008 + 67400 0.0055788811 0.0026418202 0.0053876757 + 67500 0.0070713654 0.0028505191 0.0063309568 + 67600 0.0059801004 0.002765848 0.0057091787 + 67700 0.0040164007 0.0031384648 0.0051152871 + 67800 0.0075967981 0.0028843543 0.0066234034 + 67900 0.0047833735 0.0027882528 0.0051425694 + 68000 0.0063575501 0.0022887647 0.0054178714 + 68100 0.0065862164 0.0024200602 0.0056617136 + 68200 0.0046499936 0.0024835086 0.0047721774 + 68300 0.0043503721 0.0023886701 0.0045298689 + 68400 0.0053742441 0.0021740698 0.0048192056 + 68500 0.0059063897 0.0020291838 0.004936235 + 68600 0.0037691784 0.0023709168 0.0042260593 + 68700 0.0042457471 0.0025315096 0.0046212133 + 68800 0.0047705747 0.0028486739 0.0051966911 + 68900 0.0056572728 0.0027676577 0.0055520966 + 69000 0.0048876697 0.0026945633 0.0051002133 + 69100 0.0052634311 0.0025543709 0.0051449659 + 69200 0.0039270634 0.0024077842 0.0043406358 + 69300 0.0047719266 0.0025001822 0.0048488648 + 69400 0.0045964308 0.0031156371 0.0053779429 + 69500 0.0038131207 0.0031568404 0.0050336107 + 69600 0.0040019157 0.0028941661 0.0048638589 + 69700 0.0057987524 0.0024173543 0.0052714277 + 69800 0.0055944122 0.0023275401 0.0050810399 + 69900 0.0055300148 0.0028197269 0.005541531 + 70000 0.0051611491 0.0030411359 0.005581389 + 70100 0.0040971549 0.0031491635 0.0051657319 + 70200 0.0055808339 0.0027528473 0.0054996639 + 70300 0.0042680699 0.0031070625 0.0052077532 + 70400 0.0055008862 0.0028543271 0.0055617945 + 70500 0.0039595314 0.0030008573 0.0049496891 + 70600 0.0045317436 0.0031540993 0.0053845669 + 70700 0.0063358217 0.0026458835 0.0057642957 + 70800 0.0056228319 0.0027053506 0.0054728382 + 70900 0.0038862998 0.0030872936 0.0050000818 + 71000 0.0037652125 0.0030456236 0.0048988141 + 71100 0.0058617583 0.0027103107 0.0055953949 + 71200 0.0047988175 0.0035246525 0.0058865705 + 71300 0.0039944958 0.0037905669 0.0057566078 + 71400 0.0044217413 0.0034184861 0.0055948119 + 71500 0.0053516896 0.0026979819 0.0053320166 + 71600 0.005877523 0.0025172463 0.0054100897 + 71700 0.004796699 0.0024635307 0.0048244059 + 71800 0.0054039206 0.002438195 0.0050979372 + 71900 0.0059330037 0.0027598928 0.0056800431 + 72000 0.0035154301 0.0025919891 0.0043222399 + 72100 0.0053907319 0.0023632867 0.0050165376 + 72200 0.0039996053 0.0023936698 0.0043622255 + 72300 0.0056224097 0.0020771766 0.0048444563 + 72400 0.0048398147 0.0023749691 0.0047570654 + 72500 0.0045617379 0.0025707433 0.0048159736 + 72600 0.0060582008 0.0026253095 0.0056070802 + 72700 0.0046195931 0.0025751137 0.0048488197 + 72800 0.0048813644 0.002833168 0.0052357145 + 72900 0.0056481557 0.0027074701 0.0054874217 + 73000 0.006292515 0.0026396304 0.0057367277 + 73100 0.0053764044 0.0024208455 0.0050670445 + 73200 0.0059340445 0.0020910744 0.0050117369 + 73300 0.0045107467 0.0018860273 0.0041061604 + 73400 0.0042894239 0.0019444778 0.0040556787 + 73500 0.0043062405 0.0019736233 0.004093101 + 73600 0.0042642569 0.0019793602 0.0040781741 + 73700 0.0033844928 0.0020560248 0.0037218298 + 73800 0.0047683045 0.0017120433 0.0040589432 + 73900 0.0049814296 0.0020021175 0.0044539149 + 74000 0.0051039521 0.0018494992 0.0043616006 + 74100 0.0044872886 0.0017563487 0.003964936 + 74200 0.0042683632 0.0021370509 0.0042378859 + 74300 0.0044182173 0.0020842929 0.0042588842 + 74400 0.004146047 0.0018979692 0.0039386017 + 74500 0.005618121 0.0016769569 0.0044421258 + 74600 0.0041630417 0.0015606788 0.0036096758 + 74700 0.00469299 0.0014615955 0.0037714265 + 74800 0.003438476 0.0016440585 0.0033364334 + 74900 0.0032591127 0.0016853854 0.00328948 + 75000 0.0044285675 0.0020511374 0.004230823 + 75100 0.0061376235 0.0023545114 0.0053753729 + 75200 0.0058007348 0.0026356641 0.0054907132 + 75300 0.0062121848 0.0025091645 0.0055667242 + 75400 0.0052656835 0.00222879 0.0048204936 + 75500 0.0058606828 0.0017085793 0.0045931341 + 75600 0.0050754009 0.0019710511 0.0044691 + 75700 0.0042340893 0.0026732432 0.004757209 + 75800 0.0054321853 0.0027528315 0.0054264852 + 75900 0.0061882937 0.0018661997 0.0049120005 + 76000 0.0066425031 0.0018949786 0.0051643356 + 76100 0.004637703 0.0023976495 0.004680269 + 76200 0.0057871464 0.0022146154 0.0050629765 + 76300 0.0056041364 0.0021844582 0.0049427441 + 76400 0.0047894742 0.0024401459 0.0047974652 + 76500 0.0058023585 0.0023425909 0.0051984393 + 76600 0.0049052887 0.0025078887 0.0049222105 + 76700 0.0049974918 0.0019694335 0.0044291365 + 76800 0.0042191193 0.0016510723 0.0037276701 + 76900 0.0039503471 0.0016873391 0.0036316505 + 77000 0.0047298801 0.0019322374 0.0042602253 + 77100 0.0049992408 0.0018474957 0.0043080595 + 77200 0.0032936644 0.002130223 0.0037513235 + 77300 0.0048303958 0.0023550529 0.0047325133 + 77400 0.0063234799 0.0028929245 0.0060052622 + 77500 0.00463004 0.0027082779 0.0049871257 + 77600 0.0050929326 0.0025020123 0.0050086901 + 77700 0.003384678 0.0023701129 0.0040360091 + 77800 0.0041880355 0.0019308741 0.0039921728 + 77900 0.0049763231 0.0021491433 0.0045984273 + 78000 0.003992385 0.0026137623 0.0045787643 + 78100 0.0051057387 0.0027451908 0.0052581715 + 78200 0.0054348861 0.0025577891 0.0052327721 + 78300 0.0057776202 0.0023891943 0.0052328667 + 78400 0.0048359892 0.0024817177 0.0048619312 + 78500 0.0048704429 0.0028022562 0.0051994273 + 78600 0.0054872014 0.0027906432 0.0054913751 + 78700 0.005509956 0.0026370384 0.0053489699 + 78800 0.0048209086 0.0025299026 0.0049026936 + 78900 0.0045972366 0.002261219 0.0045239214 + 79000 0.0040975737 0.002188761 0.0042055355 + 79100 0.0054985041 0.0019990431 0.0047053381 + 79200 0.0049955306 0.0020001032 0.0044588409 + 79300 0.0039372456 0.001866941 0.003804804 + 79400 0.0036515198 0.0018464302 0.0036436626 + 79500 0.0048873976 0.0018264761 0.0042319921 + 79600 0.005304039 0.0022275707 0.0048381524 + 79700 0.005194031 0.0024761037 0.0050325409 + 79800 0.0052406455 0.0025873547 0.0051667349 + 79900 0.004216836 0.0025392835 0.0046147575 + 80000 0.005005837 0.0023327163 0.0047965267 + 80100 0.0046348948 0.0021326396 0.0044138769 + 80200 0.0067222787 0.0024210591 0.0057296806 + 80300 0.0053915682 0.0027591997 0.0054128621 + 80400 0.0056163828 0.0028198112 0.0055841246 + 80500 0.0036451048 0.0028991527 0.0046932278 + 80600 0.004460046 0.0031348911 0.00533007 + 80700 0.005176748 0.002861288 0.0054092187 + 80800 0.0052764546 0.0026789984 0.0052760035 + 80900 0.0045249993 0.0026485499 0.004875698 + 81000 0.0042943847 0.002686603 0.0048002454 + 81100 0.0046355411 0.0027805802 0.0050621356 + 81200 0.0056521846 0.0026661315 0.0054480661 + 81300 0.0054679611 0.002602514 0.0052937761 + 81400 0.0047593182 0.0031466731 0.0054891501 + 81500 0.0045296063 0.0033412661 0.0055706817 + 81600 0.0070010873 0.0032878869 0.0067337345 + 81700 0.0074436949 0.0033922567 0.0070559503 + 81800 0.005610758 0.0036244321 0.0063859771 + 81900 0.0053273856 0.003409863 0.0060319356 + 82000 0.0063763287 0.0026304698 0.0057688191 + 82100 0.00515822 0.0025793429 0.0051181543 + 82200 0.0051360532 0.003051596 0.0055794972 + 82300 0.0044412777 0.0028681254 0.0050540667 + 82400 0.0064105925 0.0030078272 0.0061630407 + 82500 0.0040821554 0.0033344019 0.0053435877 + 82600 0.0044197889 0.0031022601 0.005277625 + 82700 0.0047935976 0.0025883712 0.00494772 + 82800 0.003738449 0.0023020582 0.0041420761 + 82900 0.0053933957 0.0025158866 0.0051704485 + 83000 0.0047459556 0.0030100237 0.0053459237 + 83100 0.0043152191 0.0032077675 0.0053316644 + 83200 0.0045985383 0.0027825467 0.0050458898 + 83300 0.003769822 0.0025818133 0.0044372725 + 83400 0.0067398285 0.002684571 0.0060018303 + 83500 0.0045499328 0.0030768795 0.0053162995 + 83600 0.0035234858 0.0030251824 0.0047593981 + 83700 0.0049511097 0.0029298231 0.0053666974 + 83800 0.0045676475 0.0028474562 0.0050955952 + 83900 0.0044610737 0.002519446 0.0047151307 + 84000 0.0064545826 0.0025222216 0.0056990865 + 84100 0.004653975 0.0027302156 0.0050208439 + 84200 0.0036167014 0.0030734672 0.0048535624 + 84300 0.0057445599 0.0027562257 0.0055836263 + 84400 0.0058224252 0.0024675774 0.0053333023 + 84500 0.0047973173 0.0023781583 0.0047393379 + 84600 0.0039284071 0.0024652748 0.0043987876 + 84700 0.0029638347 0.0025692972 0.0040280596 + 84800 0.0047887044 0.0029186118 0.0052755522 + 84900 0.0055379755 0.0025806577 0.00530638 + 85000 0.0050508036 0.0027085904 0.0051945329 + 85100 0.0052692208 0.002708691 0.0053021357 + 85200 0.0046732792 0.0025088182 0.0048089478 + 85300 0.0054368212 0.0027754547 0.0054513901 + 85400 0.0041549798 0.0031598353 0.0052048644 + 85500 0.0047011152 0.0032261337 0.0055399639 + 85600 0.0055808536 0.0027000149 0.0054468413 + 85700 0.0048434129 0.0026429768 0.0050268441 + 85800 0.0048083651 0.002842628 0.0052092452 + 85900 0.0068372124 0.0027700697 0.0061352602 + 86000 0.0057512903 0.0032940136 0.0061247267 + 86100 0.0040721642 0.0039506876 0.005954956 + 86200 0.0036910287 0.0039669643 0.0057836425 + 86300 0.0054343665 0.0034411799 0.0061159072 + 86400 0.0062628222 0.0032835749 0.0063660577 + 86500 0.0048513507 0.0035688868 0.005956661 + 86600 0.0069173355 0.0031980342 0.0066026603 + 86700 0.0081806389 0.0029566119 0.0069830201 + 86800 0.0062293924 0.0027879988 0.0058540278 + 86900 0.0056635501 0.0030769808 0.0058645094 + 87000 0.0050517479 0.0034190971 0.0059055043 + 87100 0.0042098299 0.0032866868 0.0053587124 + 87200 0.0051519893 0.0023312815 0.0048670263 + 87300 0.0053215622 0.0019148403 0.0045340467 + 87400 0.0032577713 0.0022767786 0.0038802129 + 87500 0.0044570195 0.0022494502 0.0044431395 + 87600 0.0052392036 0.0021528124 0.0047314829 + 87700 0.0053547779 0.0023921325 0.0050276873 + 87800 0.0045686383 0.0022639202 0.0045125469 + 87900 0.0054222401 0.0021765081 0.0048452669 + 88000 0.0072019377 0.0019999176 0.0055446213 + 88100 0.0051035154 0.0019149795 0.004426866 + 88200 0.0060975634 0.0017265057 0.0047276502 + 88300 0.0061669752 0.0020150074 0.0050503155 + 88400 0.0058805473 0.0027046436 0.0055989755 + 88500 0.0056084198 0.0029070098 0.005667404 + 88600 0.0055620748 0.0024571016 0.0051946853 + 88700 0.0057423726 0.0020670094 0.0048933333 + 88800 0.0045542811 0.0022137937 0.004455354 + 88900 0.0048961572 0.0025511938 0.0049610211 + 89000 0.0050029344 0.0025574486 0.0050198304 + 89100 0.0053494041 0.002790112 0.0054230218 + 89200 0.0062382018 0.0029382962 0.0060086611 + 89300 0.0046549933 0.0025582805 0.00484941 + 89400 0.0061553926 0.0028467604 0.0058763677 + 89500 0.0054415236 0.0027038997 0.0053821496 + 89600 0.0049929284 0.0024439412 0.0049013981 + 89700 0.0052089147 0.0020782333 0.004641996 + 89800 0.0054194082 0.0019060222 0.0045733872 + 89900 0.0042438172 0.0020655704 0.0041543242 + 90000 0.0053810893 0.0022202497 0.0048687545 + 90100 0.0041317433 0.0025163811 0.0045499735 + 90200 0.0049091287 0.0025324657 0.0049486775 + 90300 0.0051286993 0.0024879148 0.0050121964 + 90400 0.0050204469 0.0025904592 0.0050614604 + 90500 0.0042464315 0.0025457079 0.0046357484 + 90600 0.0052250066 0.0023698037 0.0049414866 + 90700 0.0045462634 0.0023097843 0.0045473983 + 90800 0.0037093636 0.002571643 0.0043973454 + 90900 0.0063113799 0.0028984616 0.0060048439 + 91000 0.0043201494 0.0035103634 0.0056366869 + 91100 0.0047435479 0.0028845182 0.0052192332 + 91200 0.0065770065 0.0024854189 0.0057225393 + 91300 0.0062774446 0.0029098606 0.0059995404 + 91400 0.0049078754 0.0033611622 0.0057767571 + 91500 0.0053685781 0.0029029245 0.0055452715 + 91600 0.0053490556 0.0027350213 0.0053677596 + 91700 0.0058290963 0.0025725331 0.0054415414 + 91800 0.0072866405 0.0023256296 0.0059120229 + 91900 0.0058739958 0.002397964 0.0052890713 + 92000 0.0054562234 0.0023199876 0.0050054725 + 92100 0.005611244 0.0020159579 0.004777742 + 92200 0.0056938966 0.0019908685 0.0047933333 + 92300 0.0045806723 0.0018484046 0.0041029543 + 92400 0.004021423 0.0017415055 0.0037207996 + 92500 0.0062152423 0.0016326148 0.0046916794 + 92600 0.0041680258 0.002100735 0.0041521852 + 92700 0.0062858018 0.0020078107 0.0051016038 + 92800 0.0050359408 0.0019708759 0.004449503 + 92900 0.0045713716 0.0019061094 0.0041560814 + 93000 0.0053129071 0.0017527225 0.004367669 + 93100 0.0057446369 0.0018012696 0.0046287081 + 93200 0.0054739901 0.0024684525 0.005162682 + 93300 0.0045647369 0.0031014684 0.0053481748 + 93400 0.0036193876 0.0029006396 0.0046820569 + 93500 0.0060601698 0.0019741831 0.004956923 + 93600 0.0046004665 0.0020015396 0.0042658317 + 93700 0.0042683715 0.0021208495 0.0042216887 + 93800 0.0042496451 0.0021423506 0.0042339729 + 93900 0.0050268403 0.0021521183 0.0046262662 + 94000 0.0040358142 0.0025002024 0.0044865797 + 94100 0.0053294078 0.0023011019 0.0049241698 + 94200 0.0054369608 0.002656387 0.0053323911 + 94300 0.0050797075 0.0022979222 0.0047980907 + 94400 0.0050921226 0.0023796543 0.0048859334 + 94500 0.0049329385 0.0025064774 0.004934408 + 94600 0.0062590368 0.0023118525 0.0053924721 + 94700 0.0051941686 0.0020324496 0.0045889545 + 94800 0.0061044642 0.0022752168 0.0052797577 + 94900 0.0058587855 0.0022442433 0.0051278642 + 95000 0.0040628882 0.0023417837 0.0043414865 + 95100 0.0044093913 0.0024604208 0.0046306681 + 95200 0.0052381724 0.0024953602 0.0050735231 + 95300 0.0041843167 0.0023526891 0.0044121575 + 95400 0.0036206776 0.0024898436 0.0042718959 + 95500 0.0055885007 0.0024269834 0.0051775736 + 95600 0.0053328236 0.0028022568 0.0054270059 + 95700 0.0055391784 0.0026378076 0.005364122 + 95800 0.0053066117 0.0022822165 0.0048940645 + 95900 0.0046804735 0.0024918323 0.0047955029 + 96000 0.0067041432 0.0019985496 0.0052982451 + 96100 0.0048748809 0.0023756505 0.0047750059 + 96200 0.0037728758 0.0023720232 0.0042289855 + 96300 0.0044732638 0.0024277705 0.004629455 + 96400 0.0060579424 0.0023268191 0.0053084627 + 96500 0.0038456366 0.0025592995 0.0044520738 + 96600 0.0049971155 0.0027362251 0.0051957429 + 96700 0.0076930517 0.0024331244 0.0062195483 + 96800 0.0050724787 0.0025514936 0.0050481042 + 96900 0.0060769703 0.0024391751 0.0054301839 + 97000 0.0048021801 0.0021185012 0.0044820743 + 97100 0.005660294 0.0023463709 0.0051322969 + 97200 0.0048179777 0.0030827943 0.0054541426 + 97300 0.0053757318 0.0030170491 0.0056629171 + 97400 0.0067381828 0.0026761785 0.0059926278 + 97500 0.0042197502 0.002912353 0.0049892613 + 97600 0.0057027576 0.0030602803 0.0058671063 + 97700 0.0061693172 0.0025635465 0.0056000073 + 97800 0.0045497375 0.002284389 0.0045237129 + 97900 0.004449448 0.0023558994 0.004545862 + 98000 0.0043326526 0.002198167 0.0043306445 + 98100 0.0050126314 0.0024800737 0.0049472282 + 98200 0.0037659765 0.0027438261 0.0045973926 + 98300 0.0066021495 0.0026389775 0.0058884729 + 98400 0.0047517542 0.0026253143 0.0049640683 + 98500 0.0040493294 0.0025695401 0.0045625693 + 98600 0.0031819859 0.0025493936 0.0041155272 + 98700 0.0050691486 0.0019875569 0.0044825284 + 98800 0.0057652299 0.0020979909 0.0049355649 + 98900 0.0044760097 0.0021491409 0.0043521769 + 99000 0.0073474081 0.0023083358 0.0059246382 + 99100 0.0051021109 0.0029499858 0.005461181 + 99200 0.0049845442 0.0030591608 0.0055124912 + 99300 0.0062195698 0.0028596317 0.0059208262 + 99400 0.0053308323 0.0027370214 0.0053607905 + 99500 0.0079201013 0.0027481443 0.0066463192 + 99600 0.0063782264 0.0029359374 0.0060752207 + 99700 0.0061058594 0.002578078 0.0055833057 + 99800 0.0038451427 0.0023133588 0.00420589 + 99900 0.0061566822 0.0018607765 0.0048910185 + 100000 0.0068927201 0.0020927363 0.005485247 + 100100 0.0047391181 0.0028683768 0.0052009115 + 100200 0.0053483393 0.0029064148 0.0055388005 + 100300 0.0045258461 0.0031283243 0.0053558891 + 100400 0.0050365226 0.0030179463 0.0054968598 + 100500 0.0047312271 0.0029646693 0.0052933201 + 100600 0.0061205474 0.0026210987 0.0056335556 + 100700 0.0025651757 0.002853931 0.0041164784 + 100800 0.0039133509 0.0023758551 0.0043019575 + 100900 0.0052092894 0.0020576226 0.0046215697 + 101000 0.0047933685 0.0019465261 0.0043057621 + 101100 0.003956389 0.0021475561 0.0040948413 + 101200 0.0050643083 0.0024413601 0.0049339493 + 101300 0.00586629 0.0027702329 0.0056575475 + 101400 0.0041134663 0.0028491547 0.0048737514 + 101500 0.0042609904 0.0027710094 0.0048682156 + 101600 0.0040332019 0.0028290391 0.0048141307 + 101700 0.0044978865 0.0027827381 0.0049965416 + 101800 0.0060428561 0.0022749661 0.0052491843 + 101900 0.0051600197 0.0021403985 0.0046800957 + 102000 0.0045333669 0.0023159227 0.0045471892 + 102100 0.0070046179 0.0023404156 0.005788001 + 102200 0.0061519161 0.0022998284 0.0053277247 + 102300 0.0054322922 0.0028143567 0.0054880629 + 102400 0.0067449733 0.0027663729 0.0060861645 + 102500 0.0055718833 0.0028907092 0.0056331205 + 102600 0.005492805 0.003230284 0.005933774 + 102700 0.0057980123 0.0026981722 0.0055518814 + 102800 0.0046380472 0.0021701776 0.0044529664 + 102900 0.0048709823 0.0021799543 0.004577391 + 103000 0.0042697277 0.0023603737 0.0044618803 + 103100 0.0055478928 0.0024828905 0.005213494 + 103200 0.0058182369 0.002465523 0.0053291864 + 103300 0.0059052791 0.0028961956 0.0058027001 + 103400 0.0044892107 0.0033950945 0.0056046279 + 103500 0.0044678566 0.002913743 0.0051127662 + 103600 0.0047670318 0.0030027417 0.0053490152 + 103700 0.005096998 0.0027861302 0.0052948089 + 103800 0.0058219052 0.0025488868 0.0054143558 + 103900 0.0055457492 0.0027238297 0.0054533781 + 104000 0.0053618337 0.0031234195 0.005762447 + 104100 0.0046966491 0.0030342066 0.0053458386 + 104200 0.0056029936 0.0025226951 0.0052804185 + 104300 0.0048428918 0.002439357 0.0048229678 + 104400 0.0049155836 0.002751652 0.0051710407 + 104500 0.0050080274 0.0031713836 0.0056362721 + 104600 0.0052479614 0.0032808705 0.0058638515 + 104700 0.0058029768 0.0030601196 0.0059162722 + 104800 0.0059414983 0.002753915 0.0056782462 + 104900 0.0055676729 0.0027724396 0.0055127786 + 105000 0.0057471966 0.0028378259 0.0056665242 + 105100 0.0062413446 0.0034486799 0.0065205916 + 105200 0.0046813066 0.0037080686 0.0060121492 + 105300 0.006480056 0.0040398659 0.0072292685 + 105400 0.0048801732 0.0040482258 0.006450186 + 105500 0.005828717 0.003617556 0.0064863776 + 105600 0.0075420792 0.0028916713 0.0066037884 + 105700 0.0062363383 0.0023966336 0.0054660814 + 105800 0.0062864114 0.0022015099 0.005295603 + 105900 0.0040615775 0.0025536747 0.0045527324 + 106000 0.0063290288 0.0023102446 0.0054253134 + 106100 0.0051585324 0.002286666 0.0048256311 + 106200 0.0034732608 0.0022578884 0.0039673839 + 106300 0.0044176304 0.0020919564 0.0042662589 + 106400 0.0041908911 0.0019892799 0.0040519841 + 106500 0.0039026099 0.0023120102 0.004232826 + 106600 0.0048572336 0.0024848361 0.0048755058 + 106700 0.0063257167 0.0021928248 0.0053062635 + 106800 0.0036730623 0.0025819264 0.0043897617 + 106900 0.0059944179 0.0028382753 0.0057886528 + 107000 0.0064580669 0.0030999903 0.0062785701 + 107100 0.0046255253 0.0031334458 0.0054100715 + 107200 0.0049283482 0.0030364233 0.0054620947 + 107300 0.0063133439 0.0031381277 0.0062454766 + 107400 0.0041474774 0.0030566705 0.0050980071 + 107500 0.0046740446 0.0026914709 0.0049919772 + 107600 0.0047388492 0.0030377523 0.0053701547 + 107700 0.0054282275 0.0028094709 0.0054811766 + 107800 0.0053721217 0.0023284663 0.0049725574 + 107900 0.004243258 0.0018403539 0.0039288324 + 108000 0.0049353152 0.0019312174 0.0043603179 + 108100 0.0055130508 0.0025271957 0.0052406504 + 108200 0.0060558392 0.0024565719 0.0054371802 + 108300 0.0045859105 0.0023894119 0.0046465397 + 108400 0.0058885278 0.002025608 0.0049238677 + 108500 0.0054340107 0.0023452816 0.0050198337 + 108600 0.0044141867 0.0027647819 0.0049373895 + 108700 0.0058358218 0.002351073 0.0052233915 + 108800 0.0046712028 0.0020506598 0.0043497674 + 108900 0.0060486201 0.0022072723 0.0051843275 + 109000 0.004853394 0.002811998 0.0052007778 + 109100 0.0057238236 0.0026146211 0.0054318155 + 109200 0.0053979441 0.0026364855 0.0052932861 + 109300 0.0050589705 0.0025353887 0.0050253508 + 109400 0.0045738921 0.0024354124 0.004686625 + 109500 0.0046261854 0.0029166817 0.0051936324 + 109600 0.0041689619 0.0030250569 0.0050769678 + 109700 0.0039751906 0.0031283774 0.0050849166 + 109800 0.0059722001 0.0028077245 0.0057471667 + 109900 0.0064808043 0.0030567557 0.0062465266 + 110000 0.0044133757 0.0032871436 0.0054593519 + 110100 0.0062212538 0.002947876 0.0060098993 + 110200 0.0048243587 0.0028732762 0.0052477653 + 110300 0.0053680497 0.0024404749 0.0050825619 + 110400 0.0056285554 0.0027253265 0.0054956311 + 110500 0.0043921234 0.0031812544 0.0053430026 + 110600 0.0052145725 0.0034524517 0.0060189991 + 110700 0.0059297045 0.0035462473 0.0064647737 + 110800 0.0039791183 0.0035589564 0.0055174287 + 110900 0.0050631029 0.0032870617 0.0057790576 + 111000 0.0045785739 0.0032190924 0.0054726092 + 111100 0.0054237583 0.0031450294 0.0058145354 + 111200 0.0035705701 0.0032154539 0.0049728439 + 111300 0.004091047 0.0030329976 0.0050465598 + 111400 0.0055188185 0.0020035252 0.0047198186 + 111500 0.0051455747 0.001780299 0.0043128866 + 111600 0.0053045141 0.0021690289 0.0047798444 + 111700 0.0046372748 0.0023414381 0.0046238468 + 111800 0.0052027731 0.0021395942 0.0047003341 + 111900 0.0052496752 0.0022014434 0.0047852679 + 112000 0.0028159529 0.0022920464 0.0036780232 + 112100 0.0063535899 0.0023859576 0.0055131152 + 112200 0.0039606696 0.0028131121 0.0047625042 + 112300 0.0043064443 0.0026684668 0.0047880449 + 112400 0.0025763379 0.0024405732 0.0037086145 + 112500 0.0044170283 0.0024207001 0.0045947062 + 112600 0.0054643594 0.0024536122 0.0051431015 + 112700 0.005955353 0.0023101328 0.0052412831 + 112800 0.0068939122 0.0023991721 0.0057922695 + 112900 0.0048423154 0.0022677423 0.0046510694 + 113000 0.0024904304 0.0024689214 0.0036946801 + 113100 0.0040994351 0.0022112216 0.0042289123 + 113200 0.0041927948 0.0024644187 0.0045280599 + 113300 0.0059215586 0.0022238183 0.0051383354 + 113400 0.0037381398 0.0026043886 0.0044442543 + 113500 0.0054818864 0.0028451912 0.0055433072 + 113600 0.0080378216 0.0030499469 0.0070060622 + 113700 0.0045790699 0.0034810623 0.0057348233 + 113800 0.0054508947 0.0038292872 0.0065121494 + 113900 0.0063119462 0.0039706622 0.0070773233 + 114000 0.0049062179 0.0040489597 0.0064637388 + 114100 0.0060687528 0.0035775812 0.0065645454 + 114200 0.0048148785 0.0029373954 0.0053072185 + 114300 0.00424213 0.002213809 0.0043017323 + 114400 0.0044688861 0.0020153475 0.0042148774 + 114500 0.0043934851 0.0022074317 0.0043698501 + 114600 0.0031678524 0.0024544466 0.004013624 + 114700 0.0042061988 0.0022330402 0.0043032787 + 114800 0.0050375599 0.0017099923 0.0041894163 + 114900 0.0052476925 0.0022381717 0.0048210204 + 115000 0.004291679 0.0024672021 0.0045795128 + 115100 0.0033461379 0.0025738305 0.0042207577 + 115200 0.0047508507 0.0023793279 0.0047176372 + 115300 0.0045127302 0.0021958678 0.0044169772 + 115400 0.0042068752 0.0023957038 0.0044662752 + 115500 0.0037285941 0.0028463631 0.0046815305 + 115600 0.0041860224 0.0029260055 0.0049863134 + 115700 0.004168745 0.0027625036 0.0048143078 + 115800 0.0066204617 0.0020382981 0.0052968066 + 115900 0.0044148392 0.0023831315 0.0045560601 + 116000 0.0036425746 0.0027894567 0.0045822864 + 116100 0.0066123437 0.0025253525 0.0057798654 + 116200 0.0043932293 0.0025026014 0.004664894 + 116300 0.0056396985 0.0025709236 0.0053467127 + 116400 0.005249659 0.0024941895 0.005078006 + 116500 0.0048737354 0.0021327014 0.004531493 + 116600 0.0060342766 0.0020303848 0.0050003803 + 116700 0.0043521148 0.0023331204 0.004475177 + 116800 0.0046410869 0.002373728 0.0046580129 + 116900 0.0042897946 0.001961581 0.0040729643 + 117000 0.004750975 0.0015980869 0.0039364574 + 117100 0.0061153179 0.0014042146 0.0044140977 + 117200 0.0054286137 0.0022777892 0.004949685 + 117300 0.0048997545 0.0024122729 0.0048238708 + 117400 0.0049525901 0.0021413592 0.0045789621 + 117500 0.0060313513 0.0022504283 0.005218984 + 117600 0.0037243337 0.0021229818 0.0039560523 + 117700 0.0044672452 0.0022478248 0.004446547 + 117800 0.0063305931 0.0023211774 0.0054370162 + 117900 0.0046473976 0.0023775733 0.0046649643 + 118000 0.0057980765 0.0026267782 0.005480519 + 118100 0.0057644375 0.0022614293 0.0050986134 + 118200 0.0053759352 0.002184078 0.0048300461 + 118300 0.00350863 0.002208991 0.0039358949 + 118400 0.0044288284 0.001965456 0.0041452699 + 118500 0.0043770258 0.0023589102 0.0045132276 + 118600 0.0034849389 0.0028846954 0.0045999387 + 118700 0.0052191098 0.0031236261 0.0056924067 + 118800 0.0048827199 0.0031725471 0.0055757608 + 118900 0.0051153876 0.0028000437 0.0053177736 + 119000 0.0040971591 0.002313308 0.0043298784 + 119100 0.0057227038 0.001881064 0.0046977073 + 119200 0.0056176632 0.0020407526 0.0048056963 + 119300 0.0041188652 0.0022214132 0.0042486672 + 119400 0.0050258033 0.0023982737 0.0048719112 + 119500 0.0051708736 0.0023822894 0.0049273288 + 119600 0.0072497277 0.0017190797 0.005287305 + 119700 0.0049186695 0.0014997358 0.0039206434 + 119800 0.0046465176 0.0016186327 0.0039055906 + 119900 0.0035278697 0.0018591078 0.0035954811 + 120000 0.0040577145 0.0019211545 0.0039183108 + 120100 0.0057931299 0.0020505043 0.0049018104 + 120200 0.0054083879 0.0023873443 0.0050492853 + 120300 0.004472033 0.0032540249 0.0054551037 + 120400 0.0057364472 0.003440831 0.0062642387 + 120500 0.0044371632 0.0032682687 0.005452185 + 120600 0.0063617472 0.0027073182 0.0058384906 + 120700 0.0056331876 0.0024164048 0.0051889894 + 120800 0.0049574073 0.002579453 0.0050194269 + 120900 0.0063554724 0.0024675274 0.0055956115 + 121000 0.0050136393 0.0028690616 0.0053367122 + 121100 0.0057016186 0.0030473984 0.0058536638 + 121200 0.0034069274 0.0029406284 0.0046174755 + 121300 0.005908511 0.0024885791 0.0053966743 + 121400 0.0057957821 0.002047517 0.0049001285 + 121500 0.0044996932 0.0021861322 0.0044008249 + 121600 0.0049906281 0.0024747946 0.0049311194 + 121700 0.0060887065 0.002855947 0.0058527323 + 121800 0.004711195 0.0030064421 0.0053252333 + 121900 0.0049532559 0.0025154823 0.0049534129 + 122000 0.0059505907 0.0017859567 0.004714763 + 122100 0.0052105709 0.0018487319 0.0044133098 + 122200 0.0039354219 0.0023273716 0.0042643371 + 122300 0.005401392 0.0028101278 0.0054686255 + 122400 0.0056674886 0.0030709657 0.0058604328 + 122500 0.0061112212 0.0027812454 0.0057891121 + 122600 0.0047755166 0.0028547195 0.0052051691 + 122700 0.0041808644 0.0029896441 0.0050474133 + 122800 0.0077709546 0.0028883017 0.0067130684 + 122900 0.0042970339 0.0032379295 0.0053528759 + 123000 0.0075226296 0.0027071748 0.006409719 + 123100 0.005367627 0.0023276368 0.0049695157 + 123200 0.0041869074 0.0023193481 0.0043800916 + 123300 0.0041202043 0.0023587885 0.0043867016 + 123400 0.0056211685 0.0025252194 0.0052918882 + 123500 0.0043712009 0.0028400139 0.0049914644 + 123600 0.0037914677 0.0024664059 0.0043325189 + 123700 0.0038488631 0.0026006088 0.0044949711 + 123800 0.0031128641 0.0028649081 0.0043970209 + 123900 0.0044313471 0.0025276524 0.004708706 + 124000 0.0056320112 0.0027359714 0.0055079769 + 124100 0.0064750184 0.0027770805 0.0059640036 + 124200 0.0044987626 0.0032505587 0.0054647935 + 124300 0.006510302 0.0031229655 0.0063272547 + 124400 0.006619952 0.0029509754 0.006209233 + 124500 0.0047679095 0.0029512296 0.005297935 + 124600 0.0047701325 0.002816422 0.0051642216 + 124700 0.006678067 0.0028511954 0.0061380565 + 124800 0.0060663232 0.0024223656 0.0054081341 + 124900 0.003844719 0.0026911177 0.0045834404 + 125000 0.0041647942 0.0031817005 0.0052315602 + 125100 0.0050881992 0.0028574448 0.0053617929 + 125200 0.0037529619 0.0024375219 0.0042846828 + 125300 0.0050005985 0.002394114 0.0048553461 + 125400 0.0052503824 0.0023653029 0.0049494755 + 125500 0.0048088113 0.0025903931 0.0049572299 + 125600 0.0038505247 0.0025145197 0.0044096998 + 125700 0.0040790621 0.0026110609 0.0046187243 + 125800 0.0048334165 0.0025063267 0.0048852739 + 125900 0.0071298224 0.0023279068 0.0058371163 + 126000 0.0047556503 0.0025211966 0.0048618683 + 126100 0.0060659642 0.0024950479 0.0054806396 + 126200 0.0037014517 0.0031655455 0.0049873538 + 126300 0.0049728628 0.0035461648 0.0059937457 + 126400 0.0041408641 0.0035428252 0.0055809067 + 126500 0.0038449795 0.0033059564 0.0051984072 + 126600 0.0066626245 0.002801587 0.0060808475 + 126700 0.0049966227 0.0029878413 0.0054471166 + 126800 0.0047933269 0.0034440127 0.0058032283 + 126900 0.0069443863 0.0029671072 0.0063850473 + 127000 0.006278224 0.0028666475 0.0059567109 + 127100 0.0053949188 0.002669936 0.0053252476 + 127200 0.005096313 0.0020292732 0.0045376148 + 127300 0.004632969 0.0024694119 0.0047497013 + 127400 0.0040407222 0.0029519618 0.0049407547 + 127500 0.0067337362 0.0027864718 0.0061007326 + 127600 0.0048046858 0.002784265 0.0051490713 + 127700 0.0049217312 0.0028916068 0.0053140213 + 127800 0.0047809578 0.0027657663 0.0051188939 + 127900 0.0037821584 0.0027926455 0.0046541766 + 128000 0.0047841444 0.0030150198 0.0053697159 + 128100 0.0057148258 0.003019537 0.0058323029 + 128200 0.0049766972 0.0032299129 0.0056793811 + 128300 0.0053534075 0.0030153571 0.0056502374 + 128400 0.0040248704 0.0025979375 0.0045789284 + 128500 0.0052981287 0.0023984432 0.0050061159 + 128600 0.0057796888 0.0029875603 0.0058322509 + 128700 0.0072908316 0.0033206486 0.0069091048 + 128800 0.0050902396 0.0035021684 0.0060075207 + 128900 0.0058251458 0.0027165912 0.0055836552 + 129000 0.0048756176 0.0026574316 0.0050571496 + 129100 0.0046723639 0.0024646451 0.0047643242 + 129200 0.0038316242 0.0022505067 0.0041363842 + 129300 0.0060166322 0.0021926397 0.0051539509 + 129400 0.0057549304 0.0027197829 0.0055522877 + 129500 0.0028962582 0.0030377794 0.0044632815 + 129600 0.0038922573 0.0024899203 0.0044056407 + 129700 0.0042411643 0.0023759221 0.0044633702 + 129800 0.006548476 0.0023240161 0.0055470941 + 129900 0.0049729391 0.0028642532 0.0053118717 + 130000 0.0050890459 0.0028088299 0.0053135946 + 130100 0.0029038256 0.0027921066 0.0042213333 + 130200 0.0059512066 0.0027683475 0.005697457 + 130300 0.0051614526 0.00301503 0.0055554325 + 130400 0.004222731 0.003405594 0.0054839694 + 130500 0.0050986052 0.0028953762 0.0054048459 + 130600 0.0046849881 0.0026998659 0.0050057585 + 130700 0.0043345774 0.0026810714 0.0048144962 + 130800 0.0044094469 0.0026339556 0.0048042303 + 130900 0.0049347584 0.0027561296 0.005184956 + 131000 0.0050455262 0.002312234 0.0047955789 + 131100 0.0042198059 0.0022460696 0.0043230053 + 131200 0.0054589123 0.0027009148 0.0053877232 + 131300 0.004288358 0.0027913246 0.0049020008 + 131400 0.004764887 0.0024861655 0.0048313833 + 131500 0.0035330946 0.0021225872 0.0038615322 + 131600 0.0041490186 0.001770521 0.0038126161 + 131700 0.0038325307 0.0023784068 0.0042647305 + 131800 0.0039187208 0.0030081226 0.004936868 + 131900 0.0056226883 0.0027875838 0.0055550007 + 132000 0.0072295511 0.0024125427 0.0059708374 + 132100 0.0046347951 0.0027197012 0.0050008894 + 132200 0.0056619899 0.0031905621 0.0059773228 + 132300 0.0044276207 0.0030490221 0.0052282417 + 132400 0.005951752 0.0025991866 0.0055285645 + 132500 0.0061282756 0.0025352287 0.0055514893 + 132600 0.0055495961 0.0025212417 0.0052526835 + 132700 0.0048877637 0.0027421997 0.005147896 + 132800 0.0034509233 0.0027896644 0.0044881657 + 132900 0.005277937 0.0024213042 0.0050190389 + 133000 0.0051294936 0.002263101 0.0047877736 + 133100 0.0036120892 0.0022617565 0.0040395817 + 133200 0.004439563 0.0022846635 0.0044697609 + 133300 0.0035550703 0.0021552705 0.0039050317 + 133400 0.0056073403 0.002274687 0.0050345498 + 133500 0.0041909664 0.0025752587 0.004638 + 133600 0.0051610993 0.0023581062 0.0048983347 + 133700 0.0054679436 0.0020752744 0.0047665279 + 133800 0.0055609206 0.0021740809 0.0049110965 + 133900 0.0054706246 0.0022358669 0.0049284399 + 134000 0.0072174486 0.0022197526 0.0057720906 + 134100 0.0056280937 0.0020959985 0.0048660759 + 134200 0.00320157 0.0022067432 0.0037825159 + 134300 0.0036899818 0.0023298354 0.0041459984 + 134400 0.0046726079 0.0020348693 0.0043346685 + 134500 0.0057699374 0.0020992695 0.0049391606 + 134600 0.0046495065 0.0028228922 0.0051113212 + 134700 0.0055851509 0.0027449905 0.005493932 + 134800 0.0057087169 0.0024403493 0.0052501084 + 134900 0.0062368544 0.0025605615 0.0056302633 + 135000 0.0047129051 0.002878744 0.0051983769 + 135100 0.0067149977 0.0028027509 0.0061077889 + 135200 0.0060036119 0.0030845849 0.0060394876 + 135300 0.0047894219 0.0033706831 0.0057279767 + 135400 0.0059559832 0.0031160128 0.0060474733 + 135500 0.0043512947 0.0027041016 0.0048457544 + 135600 0.005859584 0.0025719437 0.0054559577 + 135700 0.0056721565 0.002248849 0.0050406136 + 135800 0.0032238519 0.0024688859 0.0040556255 + 135900 0.0059933399 0.0026121893 0.0055620363 + 136000 0.0056552632 0.0025388815 0.0053223314 + 136100 0.0050593197 0.0022617223 0.0047518562 + 136200 0.0050047211 0.0021421627 0.0046054238 + 136300 0.0045940525 0.0029279919 0.0051891272 + 136400 0.003724996 0.0033720961 0.0052054926 + 136500 0.0045012527 0.003297171 0.0055126313 + 136600 0.0060896246 0.0036641993 0.0066614364 + 136700 0.0049609583 0.0032629857 0.0057047073 + 136800 0.0040463819 0.0027778349 0.0047694135 + 136900 0.006408245 0.0025904147 0.0057444728 + 137000 0.0050540566 0.0026528671 0.0051404106 + 137100 0.0047870635 0.003245626 0.0056017587 + 137200 0.0074121915 0.0037180989 0.0073662869 + 137300 0.0052349364 0.0033878165 0.0059643867 + 137400 0.0058541837 0.0031318797 0.0060132358 + 137500 0.0040823976 0.0036330008 0.0056423059 + 137600 0.0053323801 0.0034120443 0.0060365752 + 137700 0.0067755067 0.0029591037 0.0062939235 + 137800 0.004991057 0.0031590074 0.0056155433 + 137900 0.0052144771 0.0027804173 0.0053469178 + 138000 0.0057173559 0.0025035738 0.0053175849 + 138100 0.0063300389 0.0026457222 0.0057612882 + 138200 0.0046665103 0.0026325565 0.0049293545 + 138300 0.0038463653 0.0027528063 0.0046459392 + 138400 0.0038282657 0.0023279826 0.0042122071 + 138500 0.004285187 0.0021769479 0.0042860634 + 138600 0.0036035568 0.0023719659 0.0041455915 + 138700 0.0037155657 0.0022815446 0.0041102996 + 138800 0.0067540559 0.0023474794 0.0056717413 + 138900 0.0052553201 0.0025828327 0.0051694356 + 139000 0.0048674684 0.0029406494 0.0053363565 + 139100 0.0059678472 0.0025270168 0.0054643166 + 139200 0.0031008877 0.0025340614 0.0040602796 + 139300 0.0061751052 0.0020039506 0.0050432602 + 139400 0.0060990107 0.0024530115 0.0054548683 + 139500 0.0053108621 0.0026250503 0.0052389903 + 139600 0.007318019 0.0025050101 0.0061068475 + 139700 0.0050636844 0.0023382691 0.0048305513 + 139800 0.0038298708 0.0027151808 0.0046001954 + 139900 0.0047285822 0.0028639871 0.0051913361 + 140000 0.0046841634 0.0029255187 0.0052310054 + 140100 0.0056061179 0.0031796896 0.0059389507 + 140200 0.0038705077 0.0027080388 0.0046130543 + 140300 0.0051424444 0.0026064153 0.0051374622 + 140400 0.0065045864 0.0027068243 0.0059083005 + 140500 0.0046017649 0.0027195837 0.0049845149 + 140600 0.0040298853 0.0031429802 0.0051264394 + 140700 0.0037369929 0.0034842423 0.0053235435 + 140800 0.0058948699 0.0031347601 0.0060361414 + 140900 0.0065136025 0.0026883729 0.0058942866 + 141000 0.0050676416 0.0023541001 0.00484833 + 141100 0.0053267963 0.0029896649 0.0056114474 + 141200 0.0046416643 0.0031167179 0.0054012871 + 141300 0.0051519915 0.0029593653 0.0054951112 + 141400 0.0048294707 0.0028335515 0.0052105566 + 141500 0.0052590565 0.0025592497 0.0051476915 + 141600 0.0043637556 0.0023779375 0.0045257234 + 141700 0.0051475278 0.0023975576 0.0049311064 + 141800 0.006713657 0.0025250403 0.0058294184 + 141900 0.0060193024 0.0025528064 0.0055154318 + 142000 0.004065715 0.0023551248 0.0043562189 + 142100 0.0041284712 0.0023653344 0.0043973163 + 142200 0.0054852282 0.00233491 0.0050346707 + 142300 0.0067942632 0.0019412508 0.0052853023 + 142400 0.0049805305 0.002606619 0.0050579738 + 142500 0.0048308913 0.0025076625 0.0048853668 + 142600 0.004614004 0.0023748148 0.0046457699 + 142700 0.0051328841 0.0025104499 0.0050367913 + 142800 0.0044062746 0.0021163207 0.004285034 + 142900 0.0040404159 0.0022546703 0.0042433125 + 143000 0.0065640881 0.0023586717 0.0055894338 + 143100 0.003516694 0.0025346147 0.0042654875 + 143200 0.007276868 0.0020486423 0.0056302258 + 143300 0.0046541822 0.0024620998 0.0047528301 + 143400 0.0056799685 0.0028777415 0.005673351 + 143500 0.0045914574 0.0029610551 0.005220913 + 143600 0.0055265034 0.0026883383 0.0054084142 + 143700 0.0057692562 0.0027838501 0.0056234059 + 143800 0.005251827 0.0030910286 0.0056759122 + 143900 0.005895299 0.0030406374 0.0059422299 + 144000 0.0059802117 0.0029996761 0.0059430615 + 144100 0.0057776726 0.0027359486 0.0055796468 + 144200 0.0063136629 0.0025318903 0.0056393963 + 144300 0.0050762109 0.0029654917 0.0054639392 + 144400 0.0064340233 0.0030450431 0.0062117889 + 144500 0.0039014963 0.0028079833 0.004728251 + 144600 0.0063785732 0.0026160555 0.0057555095 + 144700 0.0056440049 0.0028442142 0.0056221228 + 144800 0.0058923689 0.0026688125 0.0055689628 + 144900 0.0049193227 0.0027595818 0.0051808109 + 145000 0.0046421203 0.0028055789 0.0050903725 + 145100 0.0038722053 0.0028558462 0.0047616973 + 145200 0.0047170512 0.0026870237 0.0050086974 + 145300 0.003834807 0.0024850018 0.0043724459 + 145400 0.0047690841 0.0022338669 0.0045811505 + 145500 0.0037166949 0.002027839 0.0038571497 + 145600 0.0047000444 0.0020381383 0.0043514414 + 145700 0.0057814336 0.0016998888 0.0045454382 + 145800 0.0033900556 0.0016602961 0.0033288391 + 145900 0.0041450863 0.0019435152 0.0039836749 + 146000 0.0045887174 0.0019038834 0.0041623927 + 146100 0.0065125829 0.0021933647 0.0053987767 + 146200 0.0049932067 0.0024568665 0.0049144604 + 146300 0.0039152773 0.0027466834 0.0046737339 + 146400 0.0060507017 0.0028514257 0.0058295054 + 146500 0.0047387714 0.0029390682 0.0052714322 + 146600 0.0052024922 0.0028442935 0.0054048951 + 146700 0.0060052565 0.0023899495 0.0053456617 + 146800 0.0051683287 0.0023090933 0.0048528801 + 146900 0.0053436024 0.0022974242 0.0049274785 + 147000 0.0071639077 0.0024480552 0.005974041 + 147100 0.0065196954 0.002632821 0.0058417335 + 147200 0.0050609312 0.0027223509 0.005213278 + 147300 0.0057571621 0.0027745068 0.0056081101 + 147400 0.0053649115 0.0027177632 0.0053583056 + 147500 0.0045414889 0.0028874559 0.00512272 + 147600 0.0049332062 0.0031211521 0.0055492146 + 147700 0.0056962388 0.0029720779 0.0057756955 + 147800 0.0059606235 0.0027767006 0.005710445 + 147900 0.0072320549 0.0024933807 0.0060529078 + 148000 0.0045939467 0.00265624 0.0049173231 + 148100 0.0046023761 0.0027506387 0.0050158707 + 148200 0.0061995344 0.0030586875 0.0061100208 + 148300 0.0045765669 0.0030359713 0.0052885003 + 148400 0.005660659 0.0026315461 0.0054176517 + 148500 0.0052784394 0.0023206442 0.0049186261 + 148600 0.0049285188 0.0019616177 0.0043873731 + 148700 0.0046873725 0.0017461676 0.0040532337 + 148800 0.0040508611 0.0017552738 0.003749057 + 148900 0.0055427422 0.0017803286 0.0045083971 + 149000 0.0050605911 0.0019526318 0.0044433915 + 149100 0.0050969601 0.0020073586 0.0045160187 + 149200 0.0059374245 0.0019822838 0.0049046099 + 149300 0.0058870088 0.002030079 0.0049275911 + 149400 0.0054993195 0.0025284438 0.0052351401 + 149500 0.0049191244 0.0029002019 0.0053213335 + 149600 0.0057266649 0.0025645302 0.0053831231 + 149700 0.0055070722 0.0019129299 0.004623442 + 149800 0.0062900436 0.0017665204 0.0048624012 + 149900 0.0056877644 0.0023568921 0.0051563387 + 150000 0.0040633032 0.0024978653 0.0044977723 + 150100 0.0059065441 0.0025713664 0.0054784936 + 150200 0.0043786317 0.0022960291 0.0044511368 + 150300 0.0044678144 0.0023551093 0.0045541117 + 150400 0.0047664427 0.0030327699 0.0053787534 + 150500 0.0043626469 0.0032115727 0.005358813 + 150600 0.0055810764 0.0027438669 0.005490803 + 150700 0.0052176237 0.0021268922 0.0046949414 + 150800 0.0041288456 0.001970191 0.0040023572 + 150900 0.0055062279 0.0022251822 0.0049352788 + 151000 0.0045719801 0.0021531267 0.0044033981 + 151100 0.0055794305 0.0019287943 0.0046749203 + 151200 0.0049703667 0.0021704752 0.0046168275 + 151300 0.0036916574 0.0028849682 0.0047019559 + 151400 0.0058815715 0.0030944158 0.0059892517 + 151500 0.0048832927 0.002950691 0.0053541866 + 151600 0.0045976362 0.0026309069 0.004893806 + 151700 0.006120255 0.0020285213 0.0050408343 + 151800 0.0051372399 0.0021839875 0.0047124728 + 151900 0.0052042876 0.00240085 0.0049623353 + 152000 0.0050205716 0.0029259719 0.0053970345 + 152100 0.0058522251 0.0025955031 0.0054758952 + 152200 0.0042887877 0.0020095241 0.0041204118 + 152300 0.005330074 0.0018272849 0.0044506807 + 152400 0.00480544 0.0021606375 0.004525815 + 152500 0.0074797268 0.0021726001 0.0058540281 + 152600 0.0039565212 0.0023273415 0.0042746917 + 152700 0.0063912512 0.0022634526 0.0054091465 + 152800 0.0065790217 0.0019853118 0.005223424 + 152900 0.0050869368 0.0018109616 0.0043146883 + 153000 0.0070899745 0.0021123703 0.0056019671 + 153100 0.0037925084 0.0025104721 0.0043770974 + 153200 0.0042449525 0.0024655595 0.004554872 + 153300 0.0059961265 0.0020824899 0.0050337084 + 153400 0.0044138562 0.0019774571 0.004149902 + 153500 0.0053096128 0.0017418099 0.0043551349 + 153600 0.0042743405 0.001879478 0.003983255 + 153700 0.0067359596 0.0021980064 0.0055133615 + 153800 0.0055408257 0.0028711074 0.0055982326 + 153900 0.0057967511 0.0028049991 0.0056580876 + 154000 0.0070378351 0.0026033769 0.0060673114 + 154100 0.0050904115 0.0023128522 0.0048182891 + 154200 0.0071553266 0.0023426286 0.0058643909 + 154300 0.0058171174 0.0027082947 0.0055714072 + 154400 0.0049291425 0.0033458473 0.0057719096 + 154500 0.0048097717 0.0030533034 0.0054206129 + 154600 0.0075785535 0.0028909271 0.0066209964 + 154700 0.0036126655 0.0025970315 0.0043751403 + 154800 0.006061279 0.0022181966 0.0052014823 + 154900 0.0036169182 0.0022535085 0.0040337104 + 155000 0.0066066541 0.0020625025 0.005314215 + 155100 0.0043648438 0.0025657248 0.0047140463 + 155200 0.0049003929 0.0024141609 0.004826073 + 155300 0.0066730751 0.0025663091 0.0058507133 + 155400 0.0057846151 0.0027551201 0.0056022354 + 155500 0.0049225698 0.0027598451 0.0051826725 + 155600 0.004069593 0.0024696688 0.0044726716 + 155700 0.0049670105 0.0023122728 0.0047569733 + 155800 0.004701923 0.002148021 0.0044622487 + 155900 0.0049726636 0.0021941072 0.00464159 + 156000 0.004012041 0.0026518994 0.0046265758 + 156100 0.0035723047 0.0027119276 0.0044701713 + 156200 0.0048944322 0.0022870219 0.0046960002 + 156300 0.0044790987 0.0022607505 0.0044653069 + 156400 0.0037681326 0.0020707356 0.0039253634 + 156500 0.0038962953 0.0021613676 0.0040790754 + 156600 0.0048530822 0.0024600508 0.0048486772 + 156700 0.0053963457 0.0028032013 0.0054592152 + 156800 0.0048844591 0.0031611314 0.0055652011 + 156900 0.0068226061 0.00236135 0.0057193514 + 157000 0.0056876583 0.002456648 0.0052560423 + 157100 0.0047627014 0.0026931216 0.0050372637 + 157200 0.0046972571 0.0026466014 0.0049585326 + 157300 0.0050567087 0.002495932 0.0049847808 + 157400 0.0035624655 0.0027512197 0.0045046207 + 157500 0.0049063616 0.0026304156 0.0050452655 + 157600 0.0048010882 0.0025177335 0.0048807691 + 157700 0.0046076904 0.0023802712 0.0046481188 + 157800 0.0047613498 0.0026738143 0.0050172911 + 157900 0.0041881969 0.0027614712 0.0048228494 + 158000 0.0035935616 0.0029168835 0.0046855896 + 158100 0.0040061622 0.0028677451 0.0048395281 + 158200 0.0049728455 0.0025366116 0.004984184 + 158300 0.0053012414 0.0026293091 0.0052385138 + 158400 0.0049653937 0.0025138193 0.004957724 + 158500 0.0056274582 0.0024311565 0.005200921 + 158600 0.0050253217 0.0020865216 0.0045599221 + 158700 0.0048937323 0.0019749515 0.0043835853 + 158800 0.0054613692 0.0023358198 0.0050238375 + 158900 0.004625328 0.0021293997 0.0044059283 + 159000 0.0049608724 0.0019581014 0.0043997808 + 159100 0.0042975604 0.001813401 0.0039286065 + 159200 0.004007979 0.0018575257 0.0038302028 + 159300 0.0044807819 0.001919341 0.0041247258 + 159400 0.0035247127 0.0019541894 0.0036890089 + 159500 0.0047180245 0.0021532023 0.004475355 + 159600 0.0060139986 0.0022546591 0.005214674 + 159700 0.0034318228 0.0027334226 0.0044225229 + 159800 0.004857026 0.0023139283 0.0047044957 + 159900 0.0069916401 0.0020898519 0.0055310497 + 160000 0.0045818962 0.0025318923 0.0047870443 + 160100 0.0053253562 0.0025424674 0.0051635411 + 160200 0.0047916339 0.0026900881 0.0050484704 + 160300 0.0052348832 0.0027013373 0.0052778814 + 160400 0.0049859532 0.0026081746 0.0050621984 + 160500 0.0052201659 0.0021964198 0.0047657201 + 160600 0.0036651159 0.0020128449 0.0038167691 + 160700 0.0048709859 0.0018466158 0.0042440542 + 160800 0.006627867 0.0019662856 0.0052284389 + 160900 0.0043266125 0.0025279695 0.0046574741 + 161000 0.0044245664 0.0023871324 0.0045648487 + 161100 0.0041329709 0.0019688615 0.0040030581 + 161200 0.003846364 0.0023829855 0.0042761178 + 161300 0.0043839637 0.0027475765 0.0049053086 + 161400 0.0064710166 0.0028860966 0.0060710501 + 161500 0.0057036433 0.0028480773 0.0056553392 + 161600 0.0043459523 0.0026377332 0.0047767566 + 161700 0.0073058079 0.0024453325 0.0060411598 + 161800 0.0050609128 0.0028560094 0.0053469274 + 161900 0.004887756 0.0026446548 0.0050503472 + 162000 0.0075617163 0.0023839144 0.0061056966 + 162100 0.0057689049 0.0025047694 0.0053441523 + 162200 0.0045838307 0.0024136448 0.004669749 + 162300 0.0044540312 0.0021479755 0.004340194 + 162400 0.0048578866 0.0017214838 0.0041124749 + 162500 0.0041754591 0.0017337166 0.0037888254 + 162600 0.0046655816 0.0017788833 0.0040752242 + 162700 0.0055272708 0.0020256211 0.0047460747 + 162800 0.0049871135 0.0023953587 0.0048499536 + 162900 0.0058831999 0.0019619296 0.004857567 + 163000 0.0058358671 0.0017928747 0.0046652156 + 163100 0.0037075099 0.0018195836 0.0036443736 + 163200 0.0045824458 0.0017214233 0.0039768459 + 163300 0.0046740031 0.0018998972 0.0042003831 + 163400 0.0061252749 0.0024023533 0.005417137 + 163500 0.0058329728 0.0023640534 0.0052349697 + 163600 0.0056629825 0.0024562254 0.0052434747 + 163700 0.0045043298 0.002524817 0.0047417919 + 163800 0.006520856 0.0025508284 0.0057603122 + 163900 0.0046895637 0.0028482818 0.0051564264 + 164000 0.0063727699 0.0028461265 0.0059827242 + 164100 0.0072127749 0.0020941392 0.0056441769 + 164200 0.0049270053 0.0018662336 0.004291244 + 164300 0.0049993373 0.0017534565 0.0042140678 + 164400 0.0046943021 0.0018510102 0.004161487 + 164500 0.0052074774 0.0018782512 0.0044413065 + 164600 0.0056074789 0.0019756211 0.0047355521 + 164700 0.0050911148 0.0021591126 0.0046648956 + 164800 0.0049991449 0.0025027994 0.0049633161 + 164900 0.0073525565 0.0025799205 0.0061987569 + 165000 0.0048121021 0.0024706973 0.0048391538 + 165100 0.005524344 0.0024716576 0.0051906707 + 165200 0.0052685784 0.0022100267 0.0048031552 + 165300 0.0044971001 0.0019953906 0.004208807 + 165400 0.005100979 0.0021059179 0.0046165559 + 165500 0.0040575225 0.0023336897 0.0043307516 + 165600 0.0038918738 0.0025639854 0.004479517 + 165700 0.0051465714 0.0021657196 0.0046987977 + 165800 0.0061822505 0.0016470318 0.0046898582 + 165900 0.0063303416 0.0014378917 0.0045536067 + 166000 0.0054264257 0.0017100199 0.0043808388 + 166100 0.004349781 0.0023426964 0.0044836043 + 166200 0.0049066658 0.0024949134 0.004909913 + 166300 0.0040176584 0.0020554523 0.0040328936 + 166400 0.0046246853 0.0022087886 0.0044850009 + 166500 0.0070682051 0.0022058492 0.0056847314 + 166600 0.0055349229 0.0019238282 0.0046480481 + 166700 0.0043578158 0.0019355173 0.0040803798 + 166800 0.0047413261 0.0023332956 0.0046669171 + 166900 0.0053527634 0.0020351239 0.0046696872 + 167000 0.0052364061 0.0017401564 0.0043174501 + 167100 0.0053651494 0.0018747937 0.0045154531 + 167200 0.0052888317 0.0026672339 0.0052703308 + 167300 0.0050726371 0.0028682798 0.0053649684 + 167400 0.003677792 0.0023844951 0.0041946584 + 167500 0.0053201652 0.0020006082 0.004619127 + 167600 0.004544796 0.0020132012 0.004250093 + 167700 0.0058567705 0.0020572976 0.0049399268 + 167800 0.0035784184 0.0023080577 0.0040693106 + 167900 0.0039790572 0.0021859386 0.0041443808 + 168000 0.0045600905 0.0018777913 0.0041222109 + 168100 0.0036832321 0.0023875818 0.0042004227 + 168200 0.0048776744 0.0024996797 0.0049004101 + 168300 0.0053292789 0.0026748888 0.0052978932 + 168400 0.0036995894 0.0026349365 0.0044558281 + 168500 0.0062535501 0.0020514616 0.0051293809 + 168600 0.0049770649 0.0019781783 0.0044278274 + 168700 0.0045961011 0.0022477077 0.0045098512 + 168800 0.005663714 0.0025628908 0.0053505001 + 168900 0.0055292611 0.002352109 0.0050735422 + 169000 0.0046436978 0.0022098576 0.0044954276 + 169100 0.0041333651 0.0020241907 0.0040585813 + 169200 0.0037197293 0.0024016937 0.004232498 + 169300 0.005489457 0.0024605161 0.0051623582 + 169400 0.0040865096 0.0026496824 0.0046610114 + 169500 0.0040373825 0.0026353905 0.0046225396 + 169600 0.0034674041 0.0023267865 0.0040333995 + 169700 0.0059029064 0.002017751 0.0049230878 + 169800 0.0046989578 0.002650261 0.0049630293 + 169900 0.0036133101 0.0031956684 0.0049740945 + 170000 0.0053628981 0.0024685505 0.0051081019 + 170100 0.0061608451 0.0019685258 0.0050008168 + 170200 0.0047571172 0.0020772106 0.0044186042 + 170300 0.0055534355 0.0019430253 0.0046763568 + 170400 0.0057422237 0.0019967064 0.0048229571 + 170500 0.0052788553 0.0022124737 0.0048106603 + 170600 0.004586182 0.0018828529 0.0041401143 + 170700 0.0047478216 0.0019445734 0.0042813918 + 170800 0.0040305399 0.0025672056 0.004550987 + 170900 0.0057189788 0.0021522978 0.0049671077 + 171000 0.0049629948 0.0019913638 0.0044340878 + 171100 0.0053121838 0.0020424918 0.0046570822 + 171200 0.0052132895 0.0019396927 0.0045056087 + 171300 0.0059575306 0.0021419452 0.0050741672 + 171400 0.006214123 0.0028038074 0.0058623211 + 171500 0.0048343055 0.0030135182 0.005392903 + 171600 0.0041593422 0.0030681451 0.0051153214 + 171700 0.0053209585 0.0025819887 0.005200898 + 171800 0.00301784 0.0025028146 0.0039881578 + 171900 0.0052223272 0.0025128108 0.005083175 + 172000 0.0039693658 0.002487965 0.0044416373 + 172100 0.0054053735 0.0023729125 0.0050333698 + 172200 0.0061139551 0.0024945771 0.0055037894 + 172300 0.0065982303 0.0026244557 0.0058720222 + 172400 0.0044461568 0.0031227546 0.0053110974 + 172500 0.0045374438 0.0030506348 0.0052839079 + 172600 0.0048310711 0.002667172 0.0050449649 + 172700 0.0047433722 0.0024186416 0.00475327 + 172800 0.0050026524 0.002798637 0.00526088 + 172900 0.0054883234 0.0031020136 0.0058032978 + 173000 0.0039163405 0.0031224461 0.0050500199 + 173100 0.0050517875 0.0027021584 0.0051885851 + 173200 0.0050566296 0.0021681634 0.0046569733 + 173300 0.0036273553 0.0020996555 0.0038849945 + 173400 0.0042698436 0.0020779564 0.0041795201 + 173500 0.0044170938 0.0020961149 0.0042701533 + 173600 0.0041224682 0.0018911372 0.0039201645 + 173700 0.0047891012 0.0017303651 0.0040875009 + 173800 0.004100556 0.0017392489 0.0037574913 + 173900 0.0037423726 0.0019070066 0.0037489556 + 174000 0.0048682515 0.0020535707 0.0044496633 + 174100 0.003646044 0.0021295261 0.0039240634 + 174200 0.0050172914 0.0020854307 0.0045548788 + 174300 0.0051566865 0.0023028563 0.004840913 + 174400 0.0052841038 0.0024630354 0.0050638053 + 174500 0.004490522 0.0022349459 0.0044451247 + 174600 0.0047782341 0.0020849184 0.0044367055 + 174700 0.0040964372 0.0024977226 0.0045139378 + 174800 0.0040551893 0.0025963858 0.0045922993 + 174900 0.0059994098 0.0021935499 0.0051463845 + 175000 0.0065729476 0.0021281108 0.0053632334 + 175100 0.0049796021 0.0016327698 0.0040836677 + 175200 0.0042227705 0.0016724506 0.0037508455 + 175300 0.0044238664 0.0019777182 0.0041550899 + 175400 0.0061949884 0.001707499 0.0047565949 + 175500 0.0043817437 0.0017329954 0.0038896349 + 175600 0.0044265344 0.0021545832 0.0043332681 + 175700 0.0047536219 0.0020801393 0.0044198126 + 175800 0.005704211 0.0020559587 0.0048635 + 175900 0.0046785331 0.0022904666 0.0045931821 + 176000 0.0034089204 0.0022107383 0.0038885663 + 176100 0.0045071064 0.0021344055 0.0043527469 + 176200 0.005613267 0.0018453411 0.0046081209 + 176300 0.0056495081 0.0016542671 0.0044348844 + 176400 0.0046394758 0.0024333497 0.0047168416 + 176500 0.0069611352 0.0023052451 0.0057314288 + 176600 0.00483255 0.0024479322 0.0048264529 + 176700 0.0034912079 0.0024137278 0.0041320567 + 176800 0.0051365409 0.0021038756 0.0046320168 + 176900 0.0058711759 0.0022695046 0.0051592239 + 177000 0.0047640289 0.002532547 0.0048773424 + 177100 0.0053943745 0.0024351039 0.0050901476 + 177200 0.00386933 0.0027150553 0.0046194912 + 177300 0.0048801683 0.0024310324 0.0048329902 + 177400 0.0049975809 0.0028054134 0.0052651603 + 177500 0.0053986777 0.0031848207 0.0058419824 + 177600 0.004805723 0.0026165852 0.004981902 + 177700 0.0065635799 0.0025133608 0.0057438728 + 177800 0.0033628824 0.0026449453 0.004300114 + 177900 0.0047631895 0.0025551761 0.0048995584 + 178000 0.0060088141 0.0023785052 0.0053359683 + 178100 0.0063254964 0.0023370019 0.0054503322 + 178200 0.0057124108 0.0031303054 0.0059418826 + 178300 0.005123675 0.0038711114 0.0063929202 + 178400 0.0030555371 0.0037363059 0.005240203 + 178500 0.0047061112 0.0027637771 0.0050800662 + 178600 0.0048588126 0.0023288757 0.0047203225 + 178700 0.0053281264 0.0021882143 0.0048106515 + 178800 0.0052294455 0.0022595207 0.0048333884 + 178900 0.0041615502 0.0020373922 0.0040856552 + 179000 0.004428132 0.0021075527 0.0042870239 + 179100 0.0037152765 0.0019860589 0.0038146715 + 179200 0.0049731731 0.0018360222 0.0042837558 + 179300 0.0042773946 0.0022274504 0.0043327306 + 179400 0.0046810595 0.0019552727 0.0042592317 + 179500 0.0058305835 0.0017417261 0.0046114664 + 179600 0.0058480135 0.00189033 0.0047686491 + 179700 0.0049242416 0.002069512 0.0044931622 + 179800 0.0033260189 0.0025168914 0.0041539163 + 179900 0.0051746784 0.0021788731 0.0047257852 + 180000 0.0040196775 0.0016545892 0.0036330242 + 180100 0.0048295889 0.0015275207 0.003904584 + 180200 0.0043740754 0.0018049372 0.0039578024 + 180300 0.0035676308 0.0021859754 0.0039419187 + 180400 0.0057953096 0.0019296322 0.0047820111 + 180500 0.0044506249 0.0021893219 0.0043798638 + 180600 0.0049140423 0.0022269566 0.0046455867 + 180700 0.0047712139 0.0021436328 0.0044919646 + 180800 0.0045407452 0.0024161174 0.0046510154 + 180900 0.0053600713 0.002771809 0.005409969 + 181000 0.004434367 0.0026187908 0.0048013307 + 181100 0.0071169343 0.0023010471 0.0058039132 + 181200 0.004285378 0.0019717332 0.0040809427 + 181300 0.0041564306 0.0022597755 0.0043055187 + 181400 0.0053792166 0.0023339319 0.004981515 + 181500 0.0051305197 0.0024697858 0.0049949634 + 181600 0.0051295553 0.0025783593 0.0051030623 + 181700 0.009124747 0.0020825581 0.0065736445 + 181800 0.0047726843 0.0021801695 0.004529225 + 181900 0.0059808113 0.0020797918 0.0050234723 + 182000 0.0051825644 0.0022786675 0.004829461 + 182100 0.0050588588 0.0020712119 0.0045611189 + 182200 0.0062617528 0.0019050456 0.0049870021 + 182300 0.005109916 0.0027709936 0.0052860304 + 182400 0.0051822025 0.0031720051 0.0057226204 + 182500 0.0052780941 0.0027301085 0.0053279204 + 182600 0.0061596153 0.0025281391 0.0055598247 + 182700 0.0045751785 0.0032274056 0.0054792513 + 182800 0.0049043855 0.0028058466 0.0052197239 + 182900 0.0045887427 0.0022676583 0.0045261801 + 183000 0.0044753868 0.0019190827 0.0041218121 + 183100 0.0054517901 0.0019729475 0.0046562504 + 183200 0.0039342381 0.0025168143 0.0044531971 + 183300 0.0057890057 0.0027806477 0.005629924 + 183400 0.0036536159 0.0023044945 0.0041027586 + 183500 0.0053228603 0.0023476772 0.0049675225 + 183600 0.0052981316 0.0020753827 0.0046830569 + 183700 0.0062605211 0.0016048064 0.0046861566 + 183800 0.0049081239 0.0017252993 0.0041410165 + 183900 0.0057950751 0.0018612511 0.0047135147 + 184000 0.0063049269 0.0016872024 0.0047904086 + 184100 0.0042631014 0.0018950664 0.0039933116 + 184200 0.0047372243 0.0024578143 0.0047894169 + 184300 0.0053135723 0.0025455874 0.0051608612 + 184400 0.0038799938 0.0025098987 0.0044195832 + 184500 0.0045957427 0.0025714652 0.0048334324 + 184600 0.0067499861 0.0023078239 0.0056300827 + 184700 0.0047108752 0.0023209042 0.0046395381 + 184800 0.0049793386 0.0023064359 0.0047572041 + 184900 0.0050227224 0.0023910147 0.0048631359 + 185000 0.0042363105 0.0024464388 0.0045314979 + 185100 0.00740465 0.002053654 0.0056981302 + 185200 0.0044881728 0.0023690322 0.0045780547 + 185300 0.004517252 0.0026305967 0.0048539317 + 185400 0.0048224464 0.0030154052 0.005388953 + 185500 0.0042217705 0.0024790573 0.00455696 + 185600 0.0057903525 0.0023386591 0.0051885982 + 185700 0.0063881358 0.0030633771 0.0062075376 + 185800 0.0056718967 0.0036215638 0.0064132005 + 185900 0.0047302451 0.0033010317 0.0056291992 + 186000 0.005203559 0.0023262793 0.004887406 + 186100 0.0032175832 0.0022258041 0.0038094584 + 186200 0.0033506874 0.0023935202 0.0040426867 + 186300 0.0056397707 0.0025183023 0.0052941269 + 186400 0.0049725471 0.00284336 0.0052907855 + 186500 0.0066831373 0.0028567372 0.0061460938 + 186600 0.0057502365 0.0026832031 0.0055133976 + 186700 0.0044696376 0.0026444162 0.004844316 + 186800 0.0044932944 0.0019395356 0.004151079 + 186900 0.0046353455 0.0018717352 0.0041531943 + 187000 0.005669231 0.0022282147 0.0050185394 + 187100 0.0065580156 0.0025604875 0.0057882608 + 187200 0.0049545514 0.0022997772 0.0047383455 + 187300 0.0052254104 0.0023301278 0.0049020095 + 187400 0.0049236313 0.0023556567 0.0047790065 + 187500 0.0049793641 0.0022683903 0.0047191711 + 187600 0.0044811794 0.0017970363 0.0040026168 + 187700 0.0034976653 0.0018531272 0.0035746344 + 187800 0.0035191021 0.0019180821 0.0036501402 + 187900 0.0044275647 0.0022800765 0.0044592685 + 188000 0.0052082732 0.0027710913 0.0053345382 + 188100 0.0044241932 0.0030186278 0.0051961603 + 188200 0.0045787244 0.0024479479 0.0047015388 + 188300 0.004634167 0.0021515401 0.0044324191 + 188400 0.004167344 0.0020327636 0.0040838782 + 188500 0.0043919582 0.0021576481 0.004319315 + 188600 0.005322047 0.002064414 0.004683859 + 188700 0.0061529318 0.0020282018 0.0050565979 + 188800 0.0032070569 0.0022023773 0.0037808506 + 188900 0.0053872432 0.0019923792 0.004643913 + 189000 0.0045016806 0.0021488207 0.0043644916 + 189100 0.0057274129 0.0022466839 0.0050656449 + 189200 0.0046221949 0.0021069141 0.0043819007 + 189300 0.0068490993 0.0019226229 0.005293664 + 189400 0.0037350971 0.0022583555 0.0040967236 + 189500 0.003885258 0.0021444394 0.0040567149 + 189600 0.0046976325 0.002503803 0.004815919 + 189700 0.0048606634 0.0024978715 0.0048902293 + 189800 0.003433156 0.0021227889 0.0038125454 + 189900 0.0037856576 0.0022632313 0.0041264846 + 190000 0.0056254693 0.0024565838 0.0052253694 + 190100 0.0044766869 0.0023167453 0.0045201146 + 190200 0.0070538823 0.0022203604 0.0056921931 + 190300 0.0065013101 0.0022362545 0.0054361181 + 190400 0.0054918463 0.0021174997 0.0048205179 + 190500 0.0043990819 0.0022698655 0.0044350386 + 190600 0.0043012959 0.0023794308 0.0044964749 + 190700 0.0055971591 0.0023693936 0.0051242454 + 190800 0.0045773608 0.0024611651 0.0047140848 + 190900 0.0052964741 0.0024180061 0.0050248644 + 191000 0.0050287916 0.002092457 0.0045675654 + 191100 0.0056337201 0.0022029358 0.0049757824 + 191200 0.0033560932 0.0025174468 0.0041692739 + 191300 0.0044463779 0.0024772054 0.004665657 + 191400 0.0047705366 0.0023694483 0.0047174468 + 191500 0.0051969542 0.0021932209 0.0047510968 + 191600 0.0053674342 0.0023989609 0.0050407449 + 191700 0.0052798798 0.0023126525 0.0049113433 + 191800 0.0045860385 0.0020829852 0.004340176 + 191900 0.0045687607 0.0020453302 0.0042940171 + 192000 0.0063496622 0.002374989 0.0055002134 + 192100 0.0053699797 0.0020497046 0.0046927415 + 192200 0.004333292 0.002095074 0.0042278662 + 192300 0.0063626022 0.0022385443 0.0053701376 + 192400 0.0057531456 0.0031913241 0.0060229505 + 192500 0.0057794668 0.0032200226 0.0060646039 + 192600 0.0066419351 0.0029578844 0.0062269619 + 192700 0.0072512743 0.0029194062 0.0064883928 + 192800 0.0041357556 0.0028900502 0.0049256174 + 192900 0.0040896636 0.0025366207 0.004549502 + 193000 0.0046796306 0.0027052001 0.0050084558 + 193100 0.0062739864 0.0022782079 0.0053661856 + 193200 0.0048617253 0.0023235562 0.0047164366 + 193300 0.0062369691 0.0020696454 0.0051394036 + 193400 0.004256416 0.001924225 0.0040191797 + 193500 0.0057754498 0.0020574176 0.0049000219 + 193600 0.0056877426 0.0022726429 0.0050720787 + 193700 0.005256276 0.0029808507 0.005567924 + 193800 0.004945056 0.0028183792 0.0052522739 + 193900 0.0042030795 0.0022309003 0.0042996035 + 194000 0.0043105551 0.0017612245 0.0038828259 + 194100 0.0041899101 0.0015768691 0.0036390905 + 194200 0.0043291821 0.0016591278 0.0037898972 + 194300 0.0044585655 0.0015293406 0.0037237908 + 194400 0.0053153199 0.0018284505 0.0044445845 + 194500 0.0061449818 0.0020592782 0.0050837615 + 194600 0.0061376146 0.0026356104 0.0056564675 + 194700 0.0056698285 0.0026079796 0.0053985983 + 194800 0.0064004851 0.0031548317 0.0063050704 + 194900 0.0053617929 0.0035448699 0.0061838773 + 195000 0.0045282291 0.0027882956 0.0050170334 + 195100 0.0059081249 0.0027889328 0.005696838 + 195200 0.0032729464 0.0025447778 0.0041556811 + 195300 0.0042985832 0.002524723 0.0046404319 + 195400 0.0047661351 0.0023914788 0.0047373109 + 195500 0.0038593606 0.00238978 0.004289309 + 195600 0.005075743 0.0024251201 0.0049233374 + 195700 0.0045398143 0.0022220348 0.0044564746 + 195800 0.004937009 0.0017655956 0.0041955298 + 195900 0.0060583299 0.0019017701 0.0048836044 + 196000 0.0076291999 0.0027184432 0.00647344 + 196100 0.0061440581 0.0030237989 0.0060478275 + 196200 0.0060455899 0.0030641276 0.0060396913 + 196300 0.0058385045 0.00273602 0.005609659 + 196400 0.0055596615 0.0028144818 0.0055508776 + 196500 0.004697577 0.0026391329 0.0049512215 + 196600 0.005737456 0.0019909962 0.0048149003 + 196700 0.0054136171 0.0022208007 0.0048853154 + 196800 0.0048088201 0.0027594425 0.0051262836 + 196900 0.0055985364 0.0026448882 0.0054004179 + 197000 0.0044740806 0.0024931522 0.0046952387 + 197100 0.0041001315 0.0027948555 0.004812889 + 197200 0.0038338796 0.0031093612 0.0049963488 + 197300 0.0062949104 0.0027018131 0.0058000893 + 197400 0.0047446356 0.0029366982 0.0052719485 + 197500 0.0057944843 0.0027999689 0.0056519416 + 197600 0.0053559467 0.0024977472 0.0051338773 + 197700 0.0048897126 0.0020364402 0.0044430956 + 197800 0.0059481337 0.002160028 0.0050876251 + 197900 0.005345526 0.0025859299 0.005216931 + 198000 0.0047040647 0.0026455784 0.0049608602 + 198100 0.0056515831 0.0025990005 0.0053806391 + 198200 0.0048142535 0.0028615487 0.0052310641 + 198300 0.0043242099 0.0031347877 0.0052631097 + 198400 0.005807058 0.0027468337 0.0056049951 + 198500 0.0061511925 0.0027441751 0.0057717152 + 198600 0.0053996441 0.0023009638 0.0049586012 + 198700 0.0066572726 0.0024529527 0.0057295791 + 198800 0.0043062101 0.0029815024 0.0051009651 + 198900 0.0047533396 0.0031481027 0.0054876371 + 199000 0.0050250906 0.0026846351 0.0051579219 + 199100 0.0044296701 0.0026991238 0.004879352 + 199200 0.004750793 0.0030099909 0.0053482719 + 199300 0.0063902038 0.0026691129 0.0058142913 + 199400 0.0035302494 0.0029283298 0.0046658745 + 199500 0.0053457865 0.0026855497 0.0053166789 + 199600 0.004942038 0.0022475159 0.0046799252 + 199700 0.0044123628 0.0021423566 0.0043140664 + 199800 0.0051721474 0.0025822506 0.0051279169 + 199900 0.0067216405 0.0027738371 0.0060821445 + 200000 0.0041999242 0.0033280621 0.0053952123 + 200100 0.0053853215 0.0028134835 0.0054640715 + 200200 0.0070326806 0.0023628302 0.0058242277 + 200300 0.0064740704 0.002282518 0.0054689746 + 200400 0.0055416572 0.0024834017 0.0052109361 + 200500 0.004109526 0.0019832724 0.0040059297 + 200600 0.0044651691 0.0017090321 0.0039067325 + 200700 0.0038325448 0.0018320484 0.003718379 + 200800 0.0049511768 0.0024366153 0.0048735226 + 200900 0.0041947457 0.0029313781 0.0049959795 + 201000 0.0063873725 0.0022336584 0.0053774433 + 201100 0.0069929335 0.002034948 0.0054767825 + 201200 0.0050143912 0.0021640919 0.0046321126 + 201300 0.0050905906 0.0016847499 0.004190275 + 201400 0.0049727172 0.0016768572 0.0041243664 + 201500 0.0046479509 0.0019203048 0.0042079682 + 201600 0.0047688674 0.0018733406 0.0042205175 + 201700 0.004804047 0.0020160994 0.0043805913 + 201800 0.0054441503 0.002052441 0.0047319837 + 201900 0.0051429261 0.001669314 0.004200598 + 202000 0.0049024111 0.0016081589 0.0040210644 + 202100 0.0042113786 0.0019490637 0.0040218515 + 202200 0.004111462 0.0022001332 0.0042237434 + 202300 0.0046680541 0.0026443269 0.0049418848 + 202400 0.0036635719 0.0023805656 0.0041837299 + 202500 0.0054525369 0.0020080216 0.0046916921 + 202600 0.005937081 0.0023620036 0.0052841606 + 202700 0.0051676288 0.0029471165 0.0054905588 + 202800 0.004759393 0.0027313526 0.0050738664 + 202900 0.0057345927 0.0024192778 0.0052417726 + 203000 0.0047367148 0.0025740525 0.0049054043 + 203100 0.0057929086 0.002468494 0.0053196912 + 203200 0.0054904975 0.0020961964 0.0047985507 + 203300 0.0063134233 0.0021722452 0.0052796332 + 203400 0.0051885883 0.0028214429 0.0053752012 + 203500 0.0044270709 0.0029040288 0.0050829778 + 203600 0.0046992443 0.0021915657 0.004504475 + 203700 0.0059437513 0.0025333722 0.0054588123 + 203800 0.0053737015 0.002810977 0.0054558457 + 203900 0.0066920242 0.0024644919 0.0057582226 + 204000 0.006243038 0.0025903378 0.005663083 + 204100 0.0056129344 0.0025774994 0.0053401156 + 204200 0.0048078247 0.0023617848 0.004728136 + 204300 0.0039033054 0.0025607926 0.0044819507 + 204400 0.0045629641 0.0020741264 0.0043199603 + 204500 0.0033175956 0.001717367 0.0033502461 + 204600 0.0040958831 0.0019772267 0.0039931692 + 204700 0.0039958114 0.0024394696 0.004406158 + 204800 0.0048196769 0.0023969146 0.0047690993 + 204900 0.0051131635 0.0022316528 0.004748288 + 205000 0.0059828248 0.0021182188 0.0050628904 + 205100 0.0051022085 0.0026633045 0.0051745477 + 205200 0.0052887323 0.00292452 0.0055275679 + 205300 0.0062273339 0.0027976118 0.0058626277 + 205400 0.0051367864 0.0024056458 0.0049339079 + 205500 0.0055875058 0.0027185751 0.0054686757 + 205600 0.00468734 0.0030357362 0.0053427864 + 205700 0.0054954466 0.0029601312 0.0056649213 + 205800 0.0048609678 0.0030414698 0.0054339774 + 205900 0.0054288731 0.0034074542 0.0060794777 + 206000 0.0051448428 0.0036281669 0.0061603942 + 206100 0.0048684587 0.0030152249 0.0054114194 + 206200 0.0052992523 0.0021403745 0.0047486002 + 206300 0.0048983015 0.0024127494 0.0048236322 + 206400 0.0045774258 0.0024722444 0.0047251962 + 206500 0.0047342701 0.0022539591 0.0045841077 + 206600 0.0035954723 0.0022302778 0.0039999244 + 206700 0.0047492822 0.002494433 0.0048319703 + 206800 0.0044127539 0.0030415744 0.0052134767 + 206900 0.0070963809 0.0027009435 0.0061936935 + 207000 0.0046251506 0.0026018927 0.004878334 + 207100 0.0050813155 0.0027401742 0.0052411342 + 207200 0.0047673375 0.0023453195 0.0046917434 + 207300 0.0037448637 0.0021069549 0.00395013 + 207400 0.0039488791 0.0019467734 0.0038903624 + 207500 0.0035155969 0.0015758529 0.0033061858 + 207600 0.0056508505 0.0018424313 0.0046237093 + 207700 0.0052555391 0.0025433071 0.0051300177 + 207800 0.0042075733 0.0023281315 0.0043990465 + 207900 0.0042010999 0.0021518 0.0042195288 + 208000 0.0044481116 0.0022338561 0.004423161 + 208100 0.0051551973 0.0021666464 0.0047039701 + 208200 0.0053914538 0.0023752575 0.0050288637 + 208300 0.0053525975 0.0026841155 0.0053185971 + 208400 0.0060511996 0.0031570164 0.0061353412 + 208500 0.0051730288 0.002940035 0.0054861351 + 208600 0.0052149457 0.003216135 0.0057828661 + 208700 0.004828151 0.0031983072 0.0055746628 + 208800 0.0044526029 0.0028915398 0.0050830553 + 208900 0.0040981326 0.0024623903 0.0044794399 + 209000 0.0058089547 0.0022475677 0.0051066626 + 209100 0.0057334283 0.0022034171 0.0050253388 + 209200 0.0063096948 0.0024183518 0.0055239047 + 209300 0.0039976111 0.0022370908 0.004204665 + 209400 0.0055610622 0.0021147052 0.0048517905 + 209500 0.0053008893 0.0023916369 0.0050006683 + 209600 0.0070691985 0.0019004331 0.0053798043 + 209700 0.0062931622 0.0021488898 0.0052463056 + 209800 0.0048644074 0.0021023193 0.0044965198 + 209900 0.003924071 0.0026411717 0.0045725504 + 210000 0.0063880485 0.0028103649 0.0059544825 + 210100 0.0057982449 0.0028924307 0.0057462544 + 210200 0.0047734612 0.0030308233 0.0053802612 + 210300 0.0054816582 0.0027751167 0.0054731203 + 210400 0.0052958465 0.0024222574 0.0050288069 + 210500 0.0057722258 0.0023469976 0.0051880149 + 210600 0.0035149635 0.0023618861 0.0040919072 + 210700 0.0058076782 0.0025043674 0.005362834 + 210800 0.004459559 0.0021467134 0.0043416526 + 210900 0.0044791566 0.0024051969 0.0046097818 + 211000 0.0042569465 0.0027750241 0.00487024 + 211100 0.0055279109 0.0026435626 0.0053643313 + 211200 0.004493039 0.0027203652 0.0049317828 + 211300 0.0046735215 0.0029132749 0.0052135237 + 211400 0.0050920638 0.0026008955 0.0051071457 + 211500 0.0049222996 0.0023215203 0.0047442147 + 211600 0.0050756892 0.0022876547 0.0047858455 + 211700 0.0065229765 0.0023501437 0.0055606712 + 211800 0.0054191296 0.0026280366 0.0052952645 + 211900 0.0050024632 0.0026274652 0.0050896151 + 212000 0.00590247 0.0025616998 0.0054668217 + 212100 0.0048186591 0.0023566123 0.004728296 + 212200 0.0054431288 0.0021070132 0.0047860532 + 212300 0.0063542075 0.00227693 0.0054043915 + 212400 0.005162244 0.0027068134 0.0052476054 + 212500 0.0040114671 0.0026427266 0.0046171206 + 212600 0.0048006208 0.0023054264 0.004668232 + 212700 0.0052229435 0.0025578575 0.005128525 + 212800 0.0038931308 0.0026227374 0.0045388877 + 212900 0.0048290439 0.0026415281 0.0050183231 + 213000 0.0040905801 0.0029631218 0.0049764543 + 213100 0.005207265 0.0031066913 0.005669642 + 213200 0.0054019102 0.0027748876 0.0054336402 + 213300 0.0044333387 0.0029849175 0.0051669514 + 213400 0.0056501601 0.0034215949 0.0062025331 + 213500 0.0061760554 0.0039982134 0.0070379907 + 213600 0.0045489709 0.0038971774 0.006136124 + 213700 0.0048863296 0.0031860245 0.0055910149 + 213800 0.0050085949 0.0025913387 0.0050565065 + 213900 0.0051986788 0.0022305244 0.0047892491 + 214000 0.0055735953 0.0024720068 0.0052152607 + 214100 0.0037980273 0.0027517675 0.0046211091 + 214200 0.0050520706 0.002312817 0.004799383 + 214300 0.0050857961 0.0017696903 0.0042728556 + 214400 0.0060684553 0.0019088957 0.0048957135 + 214500 0.0044446644 0.0019350112 0.0041226195 + 214600 0.006092336 0.0023805274 0.005379099 + 214700 0.0052035114 0.0024779863 0.0050390895 + 214800 0.0048829249 0.0025147529 0.0049180675 + 214900 0.0047669341 0.0026790249 0.0050252502 + 215000 0.0047873677 0.0024137417 0.0047700242 + 215100 0.0066486351 0.0021263004 0.0053986755 + 215200 0.0045455448 0.0019261038 0.0041633642 + 215300 0.0049052148 0.0021954316 0.004609717 + 215400 0.0041021395 0.0028887951 0.0049078169 + 215500 0.0053038751 0.0025718828 0.0051823838 + 215600 0.0058534039 0.0021976474 0.0050786196 + 215700 0.003262341 0.0023300071 0.0039356906 + 215800 0.0051064175 0.0024531906 0.0049665054 + 215900 0.0051592426 0.0026491808 0.0051884955 + 216000 0.0053203134 0.0030577737 0.0056763655 + 216100 0.0053277381 0.0033275955 0.0059498415 + 216200 0.0042801 0.0031816935 0.0052883052 + 216300 0.0041623512 0.0027636796 0.0048123368 + 216400 0.0058105992 0.0026117987 0.005471703 + 216500 0.0053768073 0.0025606112 0.0052070086 + 216600 0.0051228059 0.0022271737 0.0047485547 + 216700 0.0059058162 0.0021608278 0.0050675967 + 216800 0.0039726736 0.0021441307 0.004099431 + 216900 0.0043721624 0.0025840483 0.004735972 + 217000 0.0056160388 0.0028437801 0.0056079242 + 217100 0.0041746786 0.0032536978 0.0053084224 + 217200 0.0057100735 0.0032289914 0.0060394182 + 217300 0.0043162838 0.0030216469 0.0051460678 + 217400 0.0043752374 0.002668579 0.0048220161 + 217500 0.0042170934 0.0023912275 0.0044668281 + 217600 0.0063328705 0.0020422916 0.0051592513 + 217700 0.0062497029 0.0019591966 0.0050352222 + 217800 0.0053580767 0.0022857659 0.0049229442 + 217900 0.0053639089 0.002351745 0.0049917939 + 218000 0.0055645868 0.0024061236 0.0051449436 + 218100 0.0051222358 0.0028660671 0.0053871675 + 218200 0.0049982641 0.0024891982 0.0049492814 + 218300 0.0059825879 0.0023176901 0.0052622451 + 218400 0.005143539 0.0029416527 0.0054732383 + 218500 0.0055190938 0.0027878516 0.0055042806 + 218600 0.006129199 0.0025430613 0.0055597765 + 218700 0.0046476328 0.0028899442 0.0051774509 + 218800 0.0038840204 0.0029759293 0.0048875956 + 218900 0.0051657211 0.0026541382 0.0051966415 + 219000 0.0034380395 0.0029766585 0.0046688186 + 219100 0.0043871508 0.0026438629 0.0048031637 + 219200 0.0042349797 0.0025555416 0.0046399457 + 219300 0.0045959531 0.0022516306 0.0045137013 + 219400 0.0039925205 0.0017821794 0.003747248 + 219500 0.0032141506 0.0018235224 0.0034054871 + 219600 0.0039302688 0.0019496116 0.0038840408 + 219700 0.0052048532 0.0020464329 0.0046081966 + 219800 0.0037366259 0.0019415147 0.0037806353 + 219900 0.003831393 0.0015200661 0.0034058299 + 220000 0.0040281887 0.0013973882 0.0033800124 + 220100 0.0061221965 0.0015689058 0.0045821744 + 220200 0.0030405005 0.0020696027 0.0035660991 + 220300 0.0045173747 0.0017877476 0.004011143 + 220400 0.0038068216 0.0015903681 0.0034640381 + 220500 0.0043229742 0.0017417515 0.0038694654 + 220600 0.0042954897 0.0018155923 0.0039297786 + 220700 0.0049732473 0.0024552979 0.0049030681 + 220800 0.0039199489 0.0027399926 0.0046693424 + 220900 0.0073803199 0.0024402571 0.0060727583 + 221000 0.003586343 0.0026747028 0.0044398561 + 221100 0.0057945914 0.0023872022 0.0052392277 + 221200 0.0055027712 0.0018946027 0.0046029979 + 221300 0.0044562983 0.0021319529 0.0043252872 + 221400 0.0062133198 0.0019380015 0.0049961198 + 221500 0.0059396047 0.0017425494 0.0046659485 + 221600 0.0056772919 0.0021063674 0.0049006595 + 221700 0.0042231859 0.0027231848 0.0048017841 + 221800 0.0069971396 0.0019467534 0.0053906581 + 221900 0.0047647337 0.00149565 0.0038407924 + 222000 0.0048914915 0.0013644292 0.0037719601 + 222100 0.005321636 0.0013088827 0.0039281255 + 222200 0.0042663514 0.0021165683 0.0042164131 + 222300 0.0033959772 0.0022480461 0.0039195036 + 222400 0.0041632543 0.0021762272 0.0042253289 + 222500 0.0047245586 0.0021173604 0.0044427291 + 222600 0.0048775399 0.0017432812 0.0041439454 + 222700 0.0034951236 0.0021196042 0.0038398603 + 222800 0.0058638408 0.0023959613 0.0052820705 + 222900 0.0054272464 0.0026363638 0.0053075867 + 223000 0.0049185603 0.0024817254 0.0049025793 + 223100 0.0050773088 0.0024038692 0.0049028571 + 223200 0.0054103988 0.0023483231 0.0050112537 + 223300 0.0043200682 0.0025139327 0.0046402163 + 223400 0.0052427547 0.0022273127 0.0048077311 + 223500 0.0052465395 0.0022672168 0.0048494979 + 223600 0.0044880346 0.002368036 0.0045769905 + 223700 0.0045494549 0.0022684947 0.0045076795 + 223800 0.0040233301 0.0020226378 0.0040028706 + 223900 0.0040900073 0.0016837016 0.0036967521 + 224000 0.0046923093 0.0021489467 0.0044584427 + 224100 0.0041836547 0.0023007104 0.0043598529 + 224200 0.0049110786 0.0021286982 0.0045458697 + 224300 0.0043506761 0.002204002 0.0043453504 + 224400 0.0042240932 0.0019477304 0.0040267763 + 224500 0.0042659728 0.0019181336 0.0040177921 + 224600 0.0043398124 0.0020081426 0.004144144 + 224700 0.004507153 0.0017996491 0.0040180134 + 224800 0.0044701452 0.0019725813 0.0041727309 + 224900 0.0039622704 0.0019842942 0.0039344742 + 225000 0.0061308817 0.0019529588 0.0049705021 + 225100 0.0049435145 0.0020911039 0.0045242399 + 225200 0.004093472 0.0022209585 0.0042357142 + 225300 0.0047675321 0.0018703171 0.0042168368 + 225400 0.0054186533 0.0019290268 0.0045960202 + 225500 0.0050741402 0.0025760999 0.0050735283 + 225600 0.0042325475 0.0029652791 0.0050484861 + 225700 0.0047659685 0.002169149 0.0045148991 + 225800 0.0044735046 0.0021195531 0.0043213561 + 225900 0.0048556388 0.0023854946 0.0047753793 + 226000 0.0044344359 0.0023214448 0.0045040187 + 226100 0.0046480913 0.0025863895 0.0048741219 + 226200 0.0067682057 0.0028617035 0.0061929298 + 226300 0.0047391087 0.0031847517 0.0055172818 + 226400 0.0041577996 0.0029053245 0.0049517415 + 226500 0.0048128696 0.0026742352 0.0050430694 + 226600 0.0036982291 0.0021646791 0.0039849013 + 226700 0.0048764169 0.0018070649 0.0042071763 + 226800 0.0052699491 0.0019498185 0.0045436215 + 226900 0.0047176152 0.001774989 0.0040969402 + 227000 0.0032664881 0.0021215201 0.0037292447 + 227100 0.0044379577 0.0020645635 0.0042488708 + 227200 0.0045471488 0.0023553554 0.0045934052 + 227300 0.0049479197 0.002573389 0.0050086932 + 227400 0.0042580597 0.0024427868 0.0045385505 + 227500 0.0049785047 0.0023167638 0.0047671216 + 227600 0.0050195967 0.0023385458 0.0048091286 + 227700 0.0054479636 0.002276985 0.0049584046 + 227800 0.0066448825 0.0021532774 0.0054238055 + 227900 0.0044228305 0.0021582146 0.0043350765 + 228000 0.0065803091 0.0020088199 0.0052475658 + 228100 0.0060904258 0.0021659211 0.0051635525 + 228200 0.0042738922 0.0022420018 0.0043455582 + 228300 0.004993816 0.0020883526 0.0045462465 + 228400 0.0045299657 0.0023619708 0.0045915633 + 228500 0.0041310785 0.0025303085 0.0045635737 + 228600 0.0046645032 0.0027388841 0.0050346943 + 228700 0.0050783726 0.0027031329 0.0052026444 + 228800 0.0048723473 0.0026635349 0.0050616434 + 228900 0.0051210643 0.0024312419 0.0049517657 + 229000 0.0056534064 0.0024600154 0.0052425514 + 229100 0.0065483176 0.0029636461 0.0061866462 + 229200 0.0065222087 0.002519589 0.0057297386 + 229300 0.0059642952 0.0020866457 0.0050221972 + 229400 0.0061439508 0.0025676517 0.0055916275 + 229500 0.0067820621 0.0026830015 0.0060210477 + 229600 0.0038758927 0.0024921968 0.0043998627 + 229700 0.0064483738 0.0022381942 0.0054120031 + 229800 0.0060546752 0.0018472046 0.0048272401 + 229900 0.005306472 0.0022029503 0.0048147294 + 230000 0.0051602156 0.0023345223 0.0048743159 + 230100 0.0053637798 0.0026126728 0.0052526581 + 230200 0.0048303598 0.0027153666 0.0050928092 + 230300 0.0055390956 0.0023667793 0.0050930529 + 230400 0.0069008046 0.002702245 0.0060987348 + 230500 0.005674929 0.0030255945 0.0058187236 + 230600 0.0038220683 0.0032918801 0.0051730543 + 230700 0.0058390829 0.0034674187 0.0063413423 + 230800 0.0060442338 0.0032144945 0.0061893908 + 230900 0.0049582871 0.0032287515 0.0056691584 + 231000 0.0060141024 0.0028696808 0.0058297468 + 231100 0.0044554257 0.0027249244 0.0049178293 + 231200 0.0051708668 0.002716268 0.005261304 + 231300 0.0048006639 0.002983935 0.0053467618 + 231400 0.00447391 0.0031280619 0.0053300645 + 231500 0.0045577149 0.0027811627 0.005024413 + 231600 0.0044139752 0.0027117444 0.0048842478 + 231700 0.0045026682 0.0020092596 0.0042254166 + 231800 0.0054919855 0.0017344951 0.0044375817 + 231900 0.0041387616 0.0023232467 0.0043602935 + 232000 0.0036803056 0.001968189 0.0037795894 + 232100 0.0059672175 0.0017298054 0.0046667953 + 232200 0.0032707783 0.0018709559 0.0034807921 + 232300 0.0045974806 0.001789405 0.0040522275 + 232400 0.0036469432 0.0022394379 0.0040344178 + 232500 0.0039472231 0.0026651405 0.0046079144 + 232600 0.005434308 0.0022587927 0.0049334912 + 232700 0.0057623437 0.0024269615 0.005263115 + 232800 0.0074961308 0.0024851743 0.0061746761 + 232900 0.0071901387 0.0026527301 0.0061916265 + 233000 0.0050607391 0.0024967284 0.0049875609 + 233100 0.0053620609 0.0023970829 0.0050362222 + 233200 0.0045476637 0.0023561432 0.0045944465 + 233300 0.0037525232 0.0024906652 0.0043376102 + 233400 0.0047688718 0.0024408783 0.0047880574 + 233500 0.0031299432 0.0025887748 0.0041292937 + 233600 0.0045164181 0.0024591527 0.0046820772 + 233700 0.0053150152 0.0021681933 0.0047841773 + 233800 0.004637423 0.0021773795 0.0044598611 + 233900 0.0053695921 0.002167214 0.0048100601 + 234000 0.0043348454 0.0022093939 0.0043429506 + 234100 0.004011328 0.0025255007 0.0044998262 + 234200 0.0052998864 0.0022559962 0.004864534 + 234300 0.0063518506 0.001817946 0.0049442474 + 234400 0.0050703705 0.0024368694 0.0049324424 + 234500 0.004706701 0.0025247229 0.0048413023 + 234600 0.0052302431 0.0023364061 0.0049106664 + 234700 0.0041092847 0.0021047635 0.004127302 + 234800 0.0039826386 0.0017951385 0.0037553434 + 234900 0.0062424634 0.0015996352 0.0046720976 + 235000 0.0052565368 0.0015346848 0.0041218866 + 235100 0.0049046889 0.0016930612 0.0041070877 + 235200 0.0036400599 0.0019723421 0.0037639341 + 235300 0.0046744425 0.0021098891 0.0044105913 + 235400 0.0051539142 0.0017594183 0.0042961104 + 235500 0.0037746039 0.0016242011 0.003482014 + 235600 0.0051648463 0.0017812158 0.0043232886 + 235700 0.0047729525 0.0023454259 0.0046946135 + 235800 0.0033649924 0.0023188302 0.0039750374 + 235900 0.0062172441 0.0021089836 0.0051690335 + 236000 0.004816518 0.0019992696 0.0043698996 + 236100 0.0052151793 0.002070719 0.0046375651 + 236200 0.004827451 0.0019135343 0.0042895453 + 236300 0.0050046961 0.0022186646 0.0046819134 + 236400 0.0045881808 0.0022662024 0.0045244476 + 236500 0.0051239845 0.0024099301 0.0049318913 + 236600 0.004602264 0.0023974703 0.0046626471 + 236700 0.0047128878 0.0024920603 0.0048116848 + 236800 0.0032384716 0.002523293 0.0041172283 + 236900 0.0048657456 0.0022385965 0.0046334556 + 237000 0.0046383124 0.0020388087 0.0043217281 + 237100 0.005574622 0.001893651 0.0046374103 + 237200 0.003168054 0.0017013078 0.0032605843 + 237300 0.0055563406 0.0018175233 0.0045522847 + 237400 0.0039793843 0.0020594735 0.0040180767 + 237500 0.0046518134 0.0020248512 0.0043144156 + 237600 0.004374617 0.0017693036 0.0039224354 + 237700 0.0050219449 0.0018428722 0.0043146107 + 237800 0.0048871638 0.0021417501 0.004547151 + 237900 0.0055150938 0.0021436014 0.0048580616 + 238000 0.0054367667 0.0019979912 0.0046738998 + 238100 0.0048788176 0.0019144875 0.0043157805 + 238200 0.0034208499 0.0020565788 0.0037402783 + 238300 0.0036257698 0.0021378522 0.0039224107 + 238400 0.0067556513 0.0018475876 0.0051726347 + 238500 0.003586729 0.0020164915 0.0037818347 + 238600 0.0068775855 0.0018754989 0.0052605605 + 238700 0.0048328396 0.0020861216 0.0044647848 + 238800 0.0061728932 0.0018529232 0.0048911441 + 238900 0.0043040098 0.0019173776 0.0040357574 + 239000 0.0043357825 0.0022716839 0.0044057018 + 239100 0.0048714117 0.0022363767 0.0046340247 + 239200 0.0058877048 0.0018485912 0.0047464459 + 239300 0.0032062995 0.0019814322 0.0035595327 + 239400 0.0043306548 0.0020342208 0.004165715 + 239500 0.0046305069 0.0023963576 0.0046754353 + 239600 0.0044101756 0.0025950626 0.0047656959 + 239700 0.0059885339 0.0021475971 0.0050950786 + 239800 0.0041349637 0.0024153231 0.0044505005 + 239900 0.006019093 0.0031009006 0.0060634229 + 240000 0.0062222551 0.0032156189 0.0062781351 + 240100 0.0068837101 0.0035459217 0.0069339978 + 240200 0.0070769059 0.0034775843 0.006960749 + 240300 0.0047264308 0.0031586594 0.0054849495 + 240400 0.0070571559 0.0023748236 0.0058482675 + 240500 0.0056444694 0.0025732561 0.0053513933 + 240600 0.0043331132 0.0025159805 0.0046486847 + 240700 0.0048812369 0.0023677523 0.0047702361 + 240800 0.0051870695 0.0022107441 0.0047637549 + 240900 0.0052767918 0.001995697 0.0045928679 + 241000 0.0041558792 0.0022979826 0.0043434544 + 241100 0.005156414 0.0020280011 0.0045659236 + 241200 0.0067894849 0.002462208 0.0058039076 + 241300 0.0041140169 0.0027553109 0.0047801786 + 241400 0.0057473376 0.0023666685 0.0051954362 + 241500 0.0043314787 0.0024565619 0.0045884616 + 241600 0.0055436011 0.0025640577 0.0052925488 + 241700 0.006488099 0.0024387671 0.0056321283 + 241800 0.0047686136 0.0027419827 0.0050890347 + 241900 0.0035681806 0.0029254163 0.0046816302 + 242000 0.0051391235 0.0026567797 0.0051861921 + 242100 0.0048716115 0.0021453854 0.0045431317 + 242200 0.0042724274 0.0023953815 0.0044982168 + 242300 0.0055093195 0.0026496059 0.0053612241 + 242400 0.0049881973 0.0027754248 0.0052305532 + 242500 0.0030932127 0.0026554965 0.0041779372 + 242600 0.006591986 0.0018831107 0.0051276038 + 242700 0.0052147612 0.0018969429 0.0044635832 + 242800 0.0065116712 0.0023513647 0.0055563279 + 242900 0.0045148103 0.0030660355 0.0052881688 + 243000 0.0073799916 0.0025790274 0.006211367 + 243100 0.0053290473 0.0031175444 0.0057404349 + 243200 0.0051171329 0.0028754983 0.0053940871 + 243300 0.0051409155 0.0025578671 0.0050881615 + 243400 0.0047165809 0.0021923363 0.0045137784 + 243500 0.0045166148 0.002121142 0.0043441634 + 243600 0.0040809112 0.0026735313 0.0046821048 + 243700 0.0051543951 0.0025845985 0.0051215273 + 243800 0.0064490971 0.0023334505 0.0055076155 + 243900 0.0051410772 0.0026519156 0.0051822895 + 244000 0.0039820685 0.0027639209 0.0047238452 + 244100 0.00467663 0.0027908214 0.0050926003 + 244200 0.0046588357 0.0028141759 0.0051071966 + 244300 0.005293506 0.0025865973 0.0051919948 + 244400 0.007410014 0.0023239121 0.0059710284 + 244500 0.0060935897 0.0024278533 0.0054270419 + 244600 0.0040435345 0.002851639 0.0048418161 + 244700 0.0050820046 0.0029799471 0.0054812462 + 244800 0.0074354578 0.0029476987 0.006607338 + 244900 0.0053798653 0.0029793821 0.0056272845 + 245000 0.005461727 0.0026410394 0.0053292332 + 245100 0.0054569366 0.0026636556 0.0053494916 + 245200 0.003503583 0.0021219611 0.0038463808 + 245300 0.004803962 0.0021641468 0.0045285969 + 245400 0.0055260245 0.0019720338 0.004691874 + 245500 0.0070330405 0.0019615817 0.0054231563 + 245600 0.0044170027 0.002300428 0.0044744215 + 245700 0.0055870428 0.0021603908 0.0049102635 + 245800 0.0059776788 0.0019954428 0.0049375816 + 245900 0.0052225416 0.0023577331 0.0049282027 + 246000 0.0073096844 0.002961027 0.0065587623 + 246100 0.006976596 0.0026136294 0.0060474228 + 246200 0.0047291107 0.0024682308 0.00479584 + 246300 0.0035398277 0.0022342451 0.0039765041 + 246400 0.0051353885 0.0021948366 0.0047224107 + 246500 0.0054684473 0.0025837802 0.0052752816 + 246600 0.0061479108 0.0029136241 0.0059395489 + 246700 0.0044727679 0.0027485025 0.0049499429 + 246800 0.0045592778 0.0025094564 0.0047534759 + 246900 0.0053064118 0.0024518521 0.0050636017 + 247000 0.0061524526 0.0024515267 0.005479687 + 247100 0.0051825215 0.0026882781 0.0052390504 + 247200 0.0052143843 0.0025116965 0.0050781512 + 247300 0.0053565922 0.0026009001 0.0052373479 + 247400 0.0053628231 0.0021800805 0.004819595 + 247500 0.0045375959 0.0021211071 0.0043544551 + 247600 0.0035183901 0.0021182138 0.0038499214 + 247700 0.0047370254 0.001590041 0.0039215457 + 247800 0.0058390555 0.0019137687 0.0047876788 + 247900 0.0037134827 0.001709548 0.0035372777 + 248000 0.0050337255 0.001700029 0.0041775658 + 248100 0.0037386078 0.0020601957 0.0039002917 + 248200 0.0054324972 0.0022723521 0.0049461594 + 248300 0.0047860707 0.0023921765 0.0047478207 + 248400 0.0036917857 0.002483896 0.0043009467 + 248500 0.0042347002 0.0022806585 0.004364925 + 248600 0.0056371569 0.0020586646 0.0048332028 + 248700 0.0038616582 0.0020865615 0.0039872214 + 248800 0.0049690029 0.0019674185 0.0044130996 + 248900 0.0060562505 0.0018561439 0.0048369547 + 249000 0.0037071369 0.0017740044 0.0035986108 + 249100 0.0046435369 0.0021335631 0.004419054 + 249200 0.0045768741 0.0026080068 0.004860687 + 249300 0.0057961662 0.0024776344 0.0053304349 + 249400 0.0040843161 0.0024293322 0.0044395815 + 249500 0.0052446971 0.0022759552 0.0048573296 + 249600 0.0046992647 0.0022456298 0.0045585492 + 249700 0.0048278528 0.0021651532 0.004541362 + 249800 0.0058364223 0.0022095797 0.0050821938 + 249900 0.0057887328 0.0018955162 0.0047446582 + 250000 0.005766292 0.0019312345 0.0047693313 + 250100 0.0044347727 0.0021503825 0.0043331222 + 250200 0.0057409838 0.0024672049 0.0052928453 + 250300 0.0044670368 0.0027981122 0.0049967319 + 250400 0.0044230751 0.0027211607 0.004898143 + 250500 0.0057820925 0.002541331 0.0053872047 + 250600 0.0051627471 0.0022660729 0.0048071125 + 250700 0.006222781 0.0017949222 0.0048576972 + 250800 0.0048515551 0.0020782094 0.0044660842 + 250900 0.0053778934 0.0020392427 0.0046861746 + 251000 0.0035470004 0.0023890874 0.0041348767 + 251100 0.0058639003 0.0025621387 0.0054482771 + 251200 0.0044575198 0.0024243884 0.004618324 + 251300 0.0041964307 0.0023136695 0.0043791002 + 251400 0.0052759725 0.0025327243 0.005129492 + 251500 0.0060932987 0.0027095021 0.0057085475 + 251600 0.0054235915 0.0027192669 0.0053886909 + 251700 0.0048087035 0.0031589222 0.005525706 + 251800 0.0055717805 0.0028770134 0.0056193741 + 251900 0.0064562737 0.0022667949 0.0054444921 + 252000 0.0055850782 0.0021761081 0.0049250138 + 252100 0.0042212292 0.0021828232 0.0042604594 + 252200 0.0048215953 0.002215147 0.004588276 + 252300 0.0055022284 0.0022217011 0.0049298291 + 252400 0.0053869711 0.0022784748 0.0049298746 + 252500 0.0052113896 0.0022338286 0.0047988094 + 252600 0.0047584188 0.0025935874 0.0049356217 + 252700 0.004885046 0.0024642652 0.0048686237 + 252800 0.0037774495 0.0021112627 0.0039704761 + 252900 0.0051623982 0.0018081986 0.0043490664 + 253000 0.0033831247 0.0018589365 0.0035240682 + 253100 0.0054786023 0.0017626771 0.0044591767 + 253200 0.0055143728 0.0021930637 0.0049071691 + 253300 0.0055880461 0.002934803 0.0056851695 + 253400 0.0061899165 0.0026872344 0.0057338339 + 253500 0.0053919807 0.0025861505 0.005240016 + 253600 0.0069050127 0.0025976196 0.0059961805 + 253700 0.0043969004 0.0027177493 0.0048818487 + 253800 0.0060593172 0.0032471949 0.006229515 + 253900 0.0054770114 0.0034515027 0.0061472192 + 254000 0.005677278 0.0027528802 0.0055471655 + 254100 0.0059649178 0.0021551076 0.0050909656 + 254200 0.0048490131 0.0026424101 0.0050290338 + 254300 0.0030850129 0.0029960545 0.0045144593 + 254400 0.0039100981 0.0028624729 0.0047869743 + 254500 0.0041339674 0.0027036415 0.0047383286 + 254600 0.0059359927 0.0023949706 0.005316592 + 254700 0.0054328699 0.0022170107 0.0048910013 + 254800 0.0061202254 0.0025467067 0.0055590052 + 254900 0.0051695256 0.003107667 0.0056520428 + 255000 0.0052321648 0.0028179227 0.0053931288 + 255100 0.0053902046 0.0024878739 0.0051408652 + 255200 0.0061044305 0.0021629863 0.0051675106 + 255300 0.0054170789 0.0025807149 0.0052469334 + 255400 0.0042852911 0.002962793 0.0050719597 + 255500 0.0046953618 0.0031960683 0.0055070667 + 255600 0.0046254968 0.0029824855 0.0052590972 + 255700 0.0053649263 0.0027370741 0.0053776238 + 255800 0.0049026614 0.0031016189 0.0055146476 + 255900 0.0051831572 0.0033466161 0.0058977013 + 256000 0.0047143739 0.0031897814 0.0055101373 + 256100 0.0054324992 0.0025118324 0.0051856406 + 256200 0.0046152598 0.0025538157 0.0048253889 + 256300 0.0048185045 0.0028945382 0.0052661459 + 256400 0.0035905472 0.0029428424 0.0047100649 + 256500 0.0045253579 0.0028312116 0.0050585362 + 256600 0.0047945979 0.0025714886 0.0049313297 + 256700 0.0042507765 0.0024655156 0.0045576947 + 256800 0.0052837562 0.0024614333 0.005062032 + 256900 0.0029970273 0.0026530506 0.00412815 + 257000 0.0049476461 0.0024544353 0.0048896049 + 257100 0.0057154753 0.0021078991 0.0049209846 + 257200 0.004822972 0.0018847068 0.0042585133 + 257300 0.0052251462 0.0019582799 0.0045300315 + 257400 0.0041542922 0.0021554507 0.0042001414 + 257500 0.0048590528 0.002090325 0.00448189 + 257600 0.0047565192 0.0021258705 0.0044669699 + 257700 0.0050121183 0.0023239571 0.004790859 + 257800 0.0048230951 0.0027104922 0.0050843593 + 257900 0.0073882235 0.0023333304 0.0059697217 + 258000 0.0048040541 0.0026207284 0.0049852238 + 258100 0.0057370765 0.0030749722 0.0058986895 + 258200 0.0086275468 0.002406991 0.0066533617 + 258300 0.0068190781 0.0022083534 0.0055646184 + 258400 0.0038955943 0.0029984438 0.0049158066 + 258500 0.0050790798 0.0023683648 0.0048682244 + 258600 0.0057060467 0.0019393257 0.0047477706 + 258700 0.0058761263 0.0021863165 0.0050784724 + 258800 0.0042695446 0.0024579352 0.0045593517 + 258900 0.0048734225 0.0022232974 0.004621935 + 259000 0.0064742108 0.0023051028 0.0054916284 + 259100 0.0055228109 0.0018554306 0.0045736891 + 259200 0.0046681449 0.001928608 0.0042262106 + 259300 0.006851663 0.0020977546 0.0054700575 + 259400 0.0060051478 0.0026387322 0.0055943909 + 259500 0.0066374892 0.0032712177 0.0065381069 + 259600 0.0053979837 0.0035836781 0.0062404982 + 259700 0.0056378245 0.0029352379 0.0057101046 + 259800 0.0046709741 0.0026555918 0.0049545868 + 259900 0.0053878537 0.0025585221 0.0052103563 + 260000 0.0041472709 0.0030544091 0.005095644 + 260100 0.0058015409 0.0032901529 0.0061455988 + 260200 0.0058043045 0.0028484159 0.005705222 + 260300 0.0063112964 0.0027237023 0.0058300435 + 260400 0.004888389 0.0028105416 0.0052165455 + 260500 0.005743362 0.0024645621 0.0052913731 + 260600 0.0063971611 0.0023468937 0.0054954965 + 260700 0.0060643796 0.0020915464 0.0050763582 + 260800 0.0053032794 0.0022447692 0.004854977 + 260900 0.0049412903 0.0026773427 0.005109384 + 261000 0.0051488793 0.0026011995 0.0051354135 + 261100 0.0050018153 0.0026049926 0.0050668236 + 261200 0.0047576989 0.0025007075 0.0048423874 + 261300 0.005488335 0.002368724 0.0050700138 + 261400 0.0033948108 0.0024873819 0.0041582653 + 261500 0.0054931755 0.0023500966 0.0050537689 + 261600 0.0045049483 0.0021238935 0.0043411727 + 261700 0.0053819848 0.0021026222 0.0047515678 + 261800 0.0037550445 0.0022476753 0.0040958613 + 261900 0.0042092584 0.0024831976 0.004554942 + 262000 0.0061032563 0.0025187791 0.0055227256 + 262100 0.0032646717 0.0034947116 0.0051015422 + 262200 0.0058171386 0.003345222 0.0062083448 + 262300 0.0051294092 0.0025496041 0.0050742352 + 262400 0.0069985607 0.0021288406 0.0055734447 + 262500 0.0053512462 0.0021857548 0.0048195713 + 262600 0.0056136203 0.002196112 0.0049590657 + 262700 0.0050849366 0.0020444571 0.0045471993 + 262800 0.0052005694 0.0016438204 0.0042034756 + 262900 0.0036698385 0.0019815514 0.0037878001 + 263000 0.0052594093 0.0017579142 0.0043465297 + 263100 0.0045832546 0.0021698059 0.0044256265 + 263200 0.005429286 0.0023872757 0.0050595024 + 263300 0.0065589654 0.0025425652 0.005770806 + 263400 0.0057144099 0.0026034921 0.0054160532 + 263500 0.0045003518 0.0022595255 0.0044745424 + 263600 0.007043766 0.0017513601 0.0052182137 + 263700 0.0058368479 0.0016774469 0.0045502705 + 263800 0.0034969649 0.0016830667 0.0034042291 + 263900 0.0034891345 0.0018228878 0.0035401962 + 264000 0.0040784466 0.0020991871 0.0041065476 + 264100 0.0051487519 0.0021269137 0.0046610651 + 264200 0.0051558638 0.0023399809 0.0048776326 + 264300 0.0050344344 0.0023833725 0.0048612582 + 264400 0.0063132187 0.0020069765 0.0051142638 + 264500 0.0058024096 0.0020529968 0.0049088703 + 264600 0.0034500529 0.0025446645 0.0042427374 + 264700 0.005475134 0.003125887 0.0058206795 + 264800 0.005652738 0.0031370399 0.0059192469 + 264900 0.0043293716 0.002756773 0.0048876356 + 265000 0.0046905052 0.0025610499 0.0048696579 + 265100 0.0050314013 0.0024782675 0.0049546603 + 265200 0.0060076556 0.0023303362 0.0052872292 + 265300 0.004414654 0.0024172735 0.004590111 + 265400 0.0044391079 0.0028101685 0.0049950419 + 265500 0.0055350488 0.0025610695 0.0052853514 + 265600 0.0046998035 0.0025062201 0.0048194046 + 265700 0.0045818552 0.0029235414 0.0051786732 + 265800 0.0068294118 0.0028823303 0.0062436814 + 265900 0.0058922634 0.0027458189 0.0056459173 + 266000 0.0039611817 0.0023991811 0.0043488253 + 266100 0.0050522317 0.002052021 0.0045386663 + 266200 0.0047255882 0.0019069089 0.0042327843 + 266300 0.0054821522 0.0021498777 0.0048481245 + 266400 0.0045789401 0.0023611946 0.0046148917 + 266500 0.0049732766 0.0024839127 0.0049316973 + 266600 0.0051742985 0.0020437673 0.0045904923 + 266700 0.0042534319 0.0022289814 0.0043224674 + 266800 0.0047598023 0.0021948578 0.004537573 + 266900 0.0043521559 0.0022447536 0.0043868303 + 267000 0.0030030503 0.0022235043 0.0037015682 + 267100 0.0056318508 0.0021111904 0.004883117 + 267200 0.0056486203 0.0018486505 0.0046288308 + 267300 0.0043919401 0.0016374544 0.0037991124 + 267400 0.0034201523 0.0018373823 0.0035207385 + 267500 0.0041631712 0.0015199241 0.0035689849 + 267600 0.0043853219 0.0015730807 0.0037314813 + 267700 0.0047349113 0.0020448675 0.0043753316 + 267800 0.0057064072 0.002052198 0.0048608203 + 267900 0.0048879024 0.0021724229 0.0045781874 + 268000 0.0036880069 0.0023244635 0.0041396544 + 268100 0.0046500657 0.0022488981 0.0045376023 + 268200 0.0062520963 0.0017204735 0.0047976771 + 268300 0.0041402314 0.0019649792 0.0040027494 + 268400 0.0048741269 0.0020965177 0.004495502 + 268500 0.0048367265 0.0020543502 0.0044349265 + 268600 0.0051142029 0.0022333307 0.0047504775 + 268700 0.0042878026 0.0023510373 0.0044614401 + 268800 0.0045307574 0.0021211832 0.0043511654 + 268900 0.00455761 0.0022488731 0.0044920717 + 269000 0.0049876702 0.0025762372 0.0050311061 + 269100 0.0060612968 0.0026941079 0.0056774025 + 269200 0.0047706622 0.0030300039 0.0053780643 + 269300 0.0055034628 0.0025282654 0.005237001 + 269400 0.0051665434 0.0025667272 0.0051096353 + 269500 0.0067853662 0.0025462185 0.0058858909 + 269600 0.0057552605 0.0024596427 0.00529231 + 269700 0.0046026785 0.0027242011 0.0049895819 + 269800 0.0047756766 0.0032599333 0.0056104616 + 269900 0.0056819028 0.0031370133 0.0059335748 + 270000 0.0038138629 0.0026166211 0.0044937567 + 270100 0.0052549669 0.0024476731 0.0050341021 + 270200 0.0046403825 0.0024317144 0.0047156527 + 270300 0.0051303407 0.0022715849 0.0047966745 + 270400 0.0052906216 0.0022821953 0.0048861731 + 270500 0.0044572239 0.0027448594 0.0049386493 + 270600 0.0057436359 0.0025424269 0.0053693727 + 270700 0.0035282271 0.0024938792 0.0042304285 + 270800 0.0062899179 0.0022304452 0.0053262642 + 270900 0.0040232843 0.0025252652 0.0045054754 + 271000 0.0057043653 0.0024694752 0.0052770925 + 271100 0.0047376736 0.0029535112 0.0052853349 + 271200 0.0071916728 0.0038766784 0.0074163299 + 271300 0.0038019027 0.0042604784 0.0061317274 + 271400 0.0062011796 0.0033202443 0.0063723874 + 271500 0.0061725106 0.0023913344 0.005429367 + 271600 0.0040400288 0.0024642975 0.0044527492 + 271700 0.0049995611 0.0029251118 0.0053858333 + 271800 0.0043864127 0.0030331718 0.0051921093 + 271900 0.0048245412 0.0027774713 0.0051520502 + 272000 0.0043961962 0.0026798624 0.0048436152 + 272100 0.0047323099 0.0027448225 0.0050740063 + 272200 0.0038012171 0.0022177537 0.0040886652 + 272300 0.0070157315 0.0018218668 0.0052749221 + 272400 0.0056453519 0.0019079812 0.0046865528 + 272500 0.0035721491 0.0024429576 0.0042011247 + 272600 0.004341789 0.002456488 0.0045934622 + 272700 0.0054913402 0.002143827 0.004846596 + 272800 0.00472976 0.0020590328 0.0043869615 + 272900 0.0052466068 0.0019148565 0.0044971708 + 273000 0.004114626 0.0019289496 0.0039541171 + 273100 0.0043257018 0.0024297984 0.0045588548 + 273200 0.0068234818 0.0023784841 0.0057369166 + 273300 0.0048907409 0.0023618315 0.004768993 + 273400 0.0052861533 0.0021219302 0.0047237087 + 273500 0.0048357096 0.0022009855 0.0045810613 + 273600 0.0045986824 0.0025838893 0.0048473033 + 273700 0.0063393364 0.0027712962 0.0058914383 + 273800 0.0062942563 0.0031424736 0.0062404279 + 273900 0.005184468 0.003038091 0.0055898213 + 274000 0.005938651 0.0027505581 0.0056734878 + 274100 0.0051104729 0.0026690997 0.0051844106 + 274200 0.0060224727 0.00277046 0.0057346458 + 274300 0.0061933058 0.0029951289 0.0060433966 + 274400 0.0074816655 0.0027840875 0.0064664698 + 274500 0.0062352194 0.0021505307 0.0052194277 + 274600 0.0039661179 0.0023385474 0.004290621 + 274700 0.0048211693 0.0024625605 0.0048354797 + 274800 0.0044796313 0.0023878641 0.0045926826 + 274900 0.0049559171 0.0022526569 0.0046918974 + 275000 0.0046755167 0.0022411409 0.0045423717 + 275100 0.0049049277 0.002756779 0.0051709231 + 275200 0.0046037389 0.0025833068 0.0048492096 + 275300 0.00522018 0.0024355984 0.0050049058 + 275400 0.0037799788 0.0024536307 0.004314089 + 275500 0.0069942519 0.0018332474 0.0052757308 + 275600 0.0039112852 0.0016966517 0.0036217374 + 275700 0.0051908681 0.0017787769 0.0043336573 + 275800 0.0063278127 0.0024873404 0.0056018107 + 275900 0.0040360013 0.0027921382 0.0047786076 + 276000 0.004500949 0.0021230842 0.004338395 + 276100 0.0041897723 0.0019974884 0.0040596419 + 276200 0.0046088875 0.0020858035 0.0043542403 + 276300 0.0072240131 0.002094959 0.0056505279 + 276400 0.0055478904 0.0022366082 0.0049672105 + 276500 0.0055579578 0.0026998819 0.0054354393 + 276600 0.0043318636 0.0024750289 0.004607118 + 276700 0.0064119674 0.0021705242 0.0053264144 + 276800 0.0053954591 0.0022477407 0.0049033182 + 276900 0.0052614567 0.0024098325 0.0049994557 + 277000 0.0048636238 0.0018590855 0.0042529003 + 277100 0.003520994 0.0016787062 0.0034116954 + 277200 0.004140638 0.0013561996 0.0033941699 + 277300 0.0042454512 0.0015178683 0.0036074263 + 277400 0.0054319431 0.001564842 0.0042383764 + 277500 0.0046889981 0.0016627103 0.0039705766 + 277600 0.0043380388 0.0022512305 0.0043863589 + 277700 0.0056332479 0.0023634649 0.0051360791 + 277800 0.0057502842 0.0016951058 0.0045253238 + 277900 0.0056749196 0.001981014 0.0047741385 + 278000 0.0036075385 0.0026654385 0.0044410239 + 278100 0.0052572262 0.0027417245 0.0053292656 + 278200 0.0042513624 0.002936908 0.0050293754 + 278300 0.0050386651 0.0030552669 0.0055352349 + 278400 0.0072303073 0.0021701343 0.0057288011 + 278500 0.0063783166 0.0022290795 0.0053684072 + 278600 0.0043831161 0.0024259208 0.0045832358 + 278700 0.0065951424 0.00194576 0.0051918067 + 278800 0.0054278298 0.001956374 0.004627884 + 278900 0.0053726837 0.0019995452 0.004643913 + 279000 0.0060749824 0.0016992056 0.004689236 + 279100 0.0061532296 0.0019178694 0.0049464121 + 279200 0.0057572341 0.002129961 0.0049635997 + 279300 0.0068822259 0.002405421 0.0057927666 + 279400 0.0054554468 0.0026650646 0.0053501674 + 279500 0.0048317323 0.0029288986 0.0053070168 + 279600 0.0065983663 0.0021639858 0.0054116192 + 279700 0.005003009 0.0021960955 0.004658514 + 279800 0.0042077492 0.002117982 0.0041889836 + 279900 0.0050582914 0.0028482785 0.0053379063 + 280000 0.0051803771 0.0031812829 0.0057309998 + 280100 0.0068770128 0.0025702195 0.0059549992 + 280200 0.004635281 0.0021733645 0.0044547919 + 280300 0.0047597789 0.0017885257 0.0041312294 + 280400 0.0049991935 0.0020213712 0.0044819118 + 280500 0.0049963018 0.0020851906 0.0045443079 + 280600 0.0044653591 0.0022407593 0.0044385532 + 280700 0.0049027816 0.0024770707 0.0048901585 + 280800 0.0045988823 0.0018999586 0.004163471 + 280900 0.0054186092 0.0016150068 0.0042819785 + 281000 0.0047496988 0.0021406007 0.0044783431 + 281100 0.0043663199 0.0024074713 0.0045565194 + 281200 0.0046968367 0.0021369448 0.0044486692 + 281300 0.0045476529 0.0017696397 0.0040079377 + 281400 0.0064500517 0.0015921606 0.0047667954 + 281500 0.0043363341 0.0020210274 0.0041553169 + 281600 0.0042955159 0.0022738612 0.0043880604 + 281700 0.0042434109 0.0018594373 0.0039479911 + 281800 0.0042175849 0.0019760324 0.0040518749 + 281900 0.0035388071 0.0025743888 0.0043161454 + 282000 0.0046843838 0.0023981728 0.004703768 + 282100 0.0056874711 0.0020478275 0.0048471296 + 282200 0.0058917464 0.0020042797 0.0049041237 + 282300 0.0045129028 0.0023344608 0.0045556552 + 282400 0.0057282285 0.0024930632 0.0053124257 + 282500 0.0066411478 0.0032656145 0.0065343044 + 282600 0.0069439342 0.003100206 0.0065179236 + 282700 0.004129887 0.0025246121 0.0045572909 + 282800 0.0053519687 0.0025942337 0.0052284058 + 282900 0.0041982288 0.0023332108 0.0043995266 + 283000 0.0044830169 0.0022258465 0.0044323314 + 283100 0.0063056098 0.0021801693 0.0052837116 + 283200 0.0050993641 0.002300683 0.0048105262 + 283300 0.004185084 0.002661567 0.0047214131 + 283400 0.0034945964 0.0023137574 0.0040337541 + 283500 0.0030590252 0.0022222645 0.0037278785 + 283600 0.0061361734 0.0023552407 0.0053753886 + 283700 0.004768576 0.0027039614 0.0050509949 + 283800 0.0045701799 0.0024720693 0.0047214548 + 283900 0.0049408708 0.0023043212 0.0047361561 + 284000 0.0049358636 0.002203072 0.0046324424 + 284100 0.0047068783 0.0018293951 0.0041460617 + 284200 0.0057271662 0.0019050539 0.0047238935 + 284300 0.0048602186 0.0020232597 0.0044153985 + 284400 0.0046399298 0.0017306248 0.0040143402 + 284500 0.004838342 0.0021547082 0.0045360796 + 284600 0.0053105939 0.0022403043 0.0048541123 + 284700 0.0049292796 0.0023180445 0.0047441743 + 284800 0.0052194381 0.0023143728 0.004883315 + 284900 0.0052130417 0.0023936567 0.0049594507 + 285000 0.0043442216 0.0024261814 0.004564353 + 285100 0.006233051 0.0024174475 0.0054852773 + 285200 0.0050914973 0.0019829213 0.0044888926 + 285300 0.0046185212 0.0019569279 0.0042301063 + 285400 0.0045282902 0.0019725166 0.0042012844 + 285500 0.0049141769 0.0018458871 0.0042645836 + 285600 0.0056971937 0.001808528 0.0046126155 + 285700 0.0049916766 0.0019151184 0.0043719592 + 285800 0.0053458969 0.0020794961 0.0047106797 + 285900 0.0054678514 0.0017456399 0.004436848 + 286000 0.0059128621 0.0017128373 0.0046230741 + 286100 0.0047479889 0.0023382417 0.0046751425 + 286200 0.006799768 0.0025924905 0.0059392513 + 286300 0.0053577271 0.0030510977 0.005688104 + 286400 0.0039977238 0.0026332707 0.0046009003 + 286500 0.0069462545 0.0025059442 0.0059248038 + 286600 0.0043150032 0.0029942664 0.0051180571 + 286700 0.00560429 0.0023949108 0.0051532723 + 286800 0.0055775448 0.0023973771 0.0051425749 + 286900 0.0063759399 0.0026614711 0.005799629 + 287000 0.0045365168 0.0026515829 0.0048843997 + 287100 0.0060747941 0.0027114281 0.0057013658 + 287200 0.004172689 0.0028114402 0.0048651856 + 287300 0.0045376667 0.0026113572 0.0048447401 + 287400 0.0060645654 0.0024012045 0.0053861078 + 287500 0.0052383311 0.0023951955 0.0049734366 + 287600 0.0055368562 0.0022310437 0.0049562151 + 287700 0.0052636091 0.0018138397 0.0044045223 + 287800 0.0062828453 0.0021714179 0.0052637558 + 287900 0.0042104707 0.0022595452 0.0043318863 + 288000 0.0057777004 0.0018355297 0.0046792416 + 288100 0.0051921985 0.0021810501 0.0047365853 + 288200 0.0058528773 0.0026100163 0.0054907293 + 288300 0.0058341614 0.0026436807 0.005515182 + 288400 0.0052182311 0.0026295384 0.0051978865 + 288500 0.004299066 0.0025109751 0.0046269216 + 288600 0.0043859205 0.0019025164 0.0040612117 + 288700 0.0052304298 0.0016545307 0.0042288828 + 288800 0.0037215091 0.001916718 0.0037483982 + 288900 0.0035523313 0.00209225 0.0038406631 + 289000 0.0040814138 0.0018715773 0.0038803982 + 289100 0.0040749802 0.0015220359 0.0035276902 + 289200 0.004563635 0.0016286313 0.0038747954 + 289300 0.0043571533 0.0018914432 0.0040359796 + 289400 0.0036877039 0.0021866842 0.004001726 + 289500 0.0033650594 0.0020512442 0.0037074844 + 289600 0.0052908587 0.0019624332 0.0045665277 + 289700 0.005062489 0.0020473023 0.0045389961 + 289800 0.0049112042 0.0022290304 0.0046462637 + 289900 0.0053688528 0.0022261331 0.0048686153 + 290000 0.0054714003 0.00238285 0.0050758048 + 290100 0.0054705891 0.0024137111 0.0051062667 + 290200 0.0048228561 0.0023046324 0.0046783819 + 290300 0.0048015411 0.0021683083 0.0045315668 + 290400 0.0050067351 0.0021795458 0.0046437982 + 290500 0.0058691785 0.0019661364 0.0048548727 + 290600 0.0047319972 0.002243638 0.0045726679 + 290700 0.0061390566 0.002591001 0.0056125679 + 290800 0.005353336 0.0027388023 0.0053736473 + 290900 0.0059276512 0.0031800288 0.0060975447 + 291000 0.0049850416 0.0029089602 0.0053625353 + 291100 0.0061668677 0.0020745749 0.0051098301 + 291200 0.0051890402 0.0016073654 0.0041613462 + 291300 0.0048298542 0.0019888237 0.0043660176 + 291400 0.0045341831 0.0022236302 0.0044552984 + 291500 0.0063239277 0.0019171301 0.0050296883 + 291600 0.0065558982 0.0023911498 0.0056178809 + 291700 0.0054762724 0.0028171959 0.0055125487 + 291800 0.005722823 0.0029778241 0.005794526 + 291900 0.004683525 0.0026245364 0.0049297089 + 292000 0.0057753239 0.0023005972 0.0051431395 + 292100 0.0046110268 0.0024812047 0.0047506945 + 292200 0.0048003443 0.0023713009 0.0047339703 + 292300 0.004681882 0.0024257536 0.0047301174 + 292400 0.0052092643 0.0023472006 0.0049111354 + 292500 0.0056114893 0.0024010271 0.005162932 + 292600 0.0047876668 0.0020866721 0.0044431019 + 292700 0.0053880281 0.0021662566 0.0048181767 + 292800 0.0052626616 0.0028133611 0.0054035773 + 292900 0.0051567001 0.0026750901 0.0052131534 + 293000 0.0050489134 0.0025886298 0.0050736419 + 293100 0.0038216528 0.0027921383 0.004673108 + 293200 0.005623423 0.0025697967 0.0053375752 + 293300 0.0065145971 0.0018053043 0.0050117076 + 293400 0.004938578 0.0019736633 0.0044043696 + 293500 0.0044552349 0.0024181591 0.00461097 + 293600 0.0060091635 0.0027142015 0.0056718367 + 293700 0.0045917332 0.0030291169 0.0052891106 + 293800 0.0063812958 0.0029222789 0.0060630729 + 293900 0.0061683918 0.0026194997 0.005655505 + 294000 0.0050876898 0.0025255452 0.0050296425 + 294100 0.0064434002 0.0025515397 0.0057229008 + 294200 0.0050263743 0.0022643841 0.0047383027 + 294300 0.0046935827 0.0018206187 0.0041307414 + 294400 0.0043713792 0.0019639927 0.0041155309 + 294500 0.0038691431 0.0023440425 0.0042483863 + 294600 0.0041443337 0.0023542929 0.0043940821 + 294700 0.0047761357 0.0023763704 0.0047271247 + 294800 0.0058036973 0.002577991 0.0054344983 + 294900 0.0032174384 0.0031578984 0.0047414814 + 295000 0.0041326157 0.0028312804 0.0048653023 + 295100 0.0047699002 0.0027233964 0.0050710817 + 295200 0.0053388613 0.0028745491 0.0055022699 + 295300 0.0044648536 0.003102311 0.0052998561 + 295400 0.0037315193 0.0037024038 0.005539011 + 295500 0.0047320782 0.0038539053 0.0061829751 + 295600 0.0047945335 0.0039841369 0.0063439463 + 295700 0.004501885 0.0035775416 0.0057933132 + 295800 0.0046577659 0.0033848838 0.0056773779 + 295900 0.0043655634 0.0031507441 0.0052994198 + 296000 0.0050425134 0.003369187 0.005851049 + 296100 0.0048280944 0.0039351316 0.0063114594 + 296200 0.0057850591 0.004011328 0.0068586618 + 296300 0.0047632502 0.0034987583 0.0058431705 + 296400 0.0045903924 0.0034994806 0.0057588143 + 296500 0.0054547929 0.0036914364 0.0063762173 + 296600 0.0056680887 0.0041171169 0.0069068793 + 296700 0.0044638722 0.0038960668 0.0060931289 + 296800 0.0046988564 0.0038288201 0.0061415385 + 296900 0.0053482637 0.0033676742 0.0060000227 + 297000 0.0049736501 0.0026883851 0.0051363535 + 297100 0.0048279476 0.002489462 0.0048657174 + 297200 0.0067151482 0.0023855199 0.0056906319 + 297300 0.0036861091 0.0028255392 0.004639796 + 297400 0.0037353804 0.0030810524 0.00491956 + 297500 0.005054177 0.0028445885 0.0053321912 + 297600 0.0041982683 0.003414521 0.0054808562 + 297700 0.0051665777 0.0029158035 0.0054587285 + 297800 0.0056267008 0.0029932491 0.0057626409 + 297900 0.0047894391 0.0033125728 0.0056698748 + 298000 0.0050938468 0.0029143325 0.0054214603 + 298100 0.006560443 0.0024815059 0.0057104739 + 298200 0.0064361012 0.0025811904 0.005748959 + 298300 0.0042625674 0.0029099596 0.005007942 + 298400 0.0057987348 0.0027819543 0.0056360191 + 298500 0.0041916361 0.0029221337 0.0049852046 + 298600 0.0040299317 0.0035713987 0.0055548807 + 298700 0.0047716656 0.0031948652 0.0055434194 + 298800 0.0054470654 0.0027142585 0.005395236 + 298900 0.0050687642 0.0029528231 0.0054476055 + 299000 0.0045661962 0.0030635187 0.0053109434 + 299100 0.0044955442 0.0028338279 0.0050464786 + 299200 0.0056666178 0.0027740768 0.0055631152 + 299300 0.0045737756 0.0023572754 0.0046084306 + 299400 0.0066380545 0.0021379187 0.0054050861 + 299500 0.0057717039 0.0025196605 0.005360421 + 299600 0.0054850732 0.0033670609 0.0060667454 + 299700 0.0059891698 0.0034666421 0.0064144367 + 299800 0.0055398687 0.0030127846 0.0057394387 + 299900 0.0048303464 0.0028326083 0.0052100444 + 300000 0.004407302 0.0023494468 0.0045186658 + 300100 0.00477637 0.0021841283 0.0045349979 + 300200 0.0048083762 0.0024451386 0.0048117612 + 300300 0.0056085078 0.002680185 0.0054406225 + 300400 0.0074233179 0.0023134305 0.0059670948 + 300500 0.0050704408 0.0026439586 0.0051395662 + 300600 0.0049634917 0.0022972331 0.0047402017 + 300700 0.0036546055 0.001960305 0.0037590562 + 300800 0.0049432606 0.0023915163 0.0048245274 + 300900 0.0053253321 0.0027894647 0.0054105265 + 301000 0.0053744909 0.002529552 0.0051748093 + 301100 0.0051558756 0.002276316 0.0048139735 + 301200 0.0050724895 0.0026398044 0.0051364204 + 301300 0.0054766116 0.0028522677 0.0055477875 + 301400 0.0082819788 0.0023352417 0.0064115281 + 301500 0.0070224256 0.0019944516 0.0054508018 + 301600 0.0050522409 0.0020378151 0.0045244649 + 301700 0.0049488574 0.0020421286 0.0044778943 + 301800 0.0050908856 0.0022183443 0.0047240145 + 301900 0.0041866625 0.0020786426 0.0041392656 + 302000 0.004739559 0.0017319415 0.0040646932 + 302100 0.0037248892 0.0023807207 0.0042140646 + 302200 0.0042094663 0.0022181837 0.0042900304 + 302300 0.0039733197 0.002222742 0.0041783603 + 302400 0.0047346361 0.0019066583 0.004236987 + 302500 0.0050623457 0.0017640479 0.0042556712 + 302600 0.0052462504 0.0016013883 0.0041835272 + 302700 0.0042686844 0.0015541398 0.0036551329 + 302800 0.0042301754 0.002104899 0.0041869385 + 302900 0.0033483017 0.0021384126 0.0037864048 + 303000 0.00442122 0.0018350766 0.0040111458 + 303100 0.0062186178 0.0017203988 0.0047811248 + 303200 0.0047340346 0.0019720364 0.0043020691 + 303300 0.004689168 0.0020101917 0.0043181416 + 303400 0.0045578588 0.0020445194 0.0042878406 + 303500 0.0043817621 0.0021850783 0.0043417268 + 303600 0.0035841208 0.0021516824 0.0039157419 + 303700 0.0058968622 0.0019518054 0.0048541672 + 303800 0.0033484182 0.0020529718 0.0037010214 + 303900 0.0050449146 0.0022799799 0.0047630238 + 304000 0.0036037773 0.0026255556 0.0043992897 + 304100 0.0062312177 0.0024235938 0.0054905213 + 304200 0.0041263208 0.0023744005 0.004405324 + 304300 0.0043984139 0.0020822054 0.0042470498 + 304400 0.0040928712 0.002374974 0.0043894341 + 304500 0.0055371047 0.0021760806 0.0049013743 + 304600 0.0044048041 0.0026272372 0.0047952267 + 304700 0.0058012126 0.0030399629 0.0058952472 + 304800 0.0050516176 0.0033354943 0.0058218374 + 304900 0.006836836 0.0025240536 0.0058890589 + 305000 0.0050902157 0.0025884308 0.0050937713 + 305100 0.0057291004 0.0023419568 0.0051617485 + 305200 0.0053228108 0.0020239837 0.0046438046 + 305300 0.0053955911 0.0019479152 0.0046035577 + 305400 0.0040193581 0.0021271401 0.0041054179 + 305500 0.0041849574 0.0018470205 0.0039068042 + 305600 0.0049514905 0.0018458081 0.0042828699 + 305700 0.0052652823 0.0019558431 0.0045473492 + 305800 0.0034979488 0.0022951898 0.0040168364 + 305900 0.0052354035 0.0025450889 0.0051218891 + 306000 0.0031370684 0.0024383519 0.0039823777 + 306100 0.0045551135 0.0023856564 0.0046276263 + 306200 0.0050935701 0.0021239503 0.0046309418 + 306300 0.0040784925 0.0022937909 0.0043011739 + 306400 0.0042540116 0.002397879 0.0044916504 + 306500 0.0052467446 0.002004087 0.0045864691 + 306600 0.0065488406 0.0020348609 0.0052581183 + 306700 0.0043596903 0.0029051269 0.0050509119 + 306800 0.0046645979 0.002972177 0.0052680338 + 306900 0.0047547176 0.0033045484 0.005644761 + 307000 0.0047681746 0.0031120867 0.0054589227 + 307100 0.0054867773 0.0026596551 0.0053601783 + 307200 0.0058500079 0.0025111704 0.0053904712 + 307300 0.0063982978 0.0027160652 0.0058652274 + 307400 0.0059730175 0.0028699288 0.0058097734 + 307500 0.0050090784 0.0026526477 0.0051180535 + 307600 0.0048612647 0.0024766319 0.0048692856 + 307700 0.0059681011 0.0028568836 0.0057943084 + 307800 0.0054060074 0.0030058971 0.0056666664 + 307900 0.0053494347 0.0029024838 0.0055354088 + 308000 0.0058962963 0.0023574841 0.0052595674 + 308100 0.005637914 0.0022458487 0.0050207595 + 308200 0.0049152158 0.0022066836 0.0046258914 + 308300 0.0056515714 0.0022415117 0.0050231445 + 308400 0.005359579 0.0020391035 0.0046770213 + 308500 0.0046308227 0.0019509338 0.0042301669 + 308600 0.0048121191 0.0020273697 0.0043958346 + 308700 0.0049875113 0.0022333949 0.0046881856 + 308800 0.0047266329 0.0020339881 0.0043603777 + 308900 0.0042208711 0.0021573432 0.0042348032 + 309000 0.0037077832 0.0023635859 0.0041885104 + 309100 0.0040910602 0.0023000052 0.0043135739 + 309200 0.0049812937 0.002431241 0.0048829715 + 309300 0.0055188262 0.002133444 0.0048497413 + 309400 0.0054182701 0.0021795727 0.0048463775 + 309500 0.0051889796 0.0022679366 0.0048218875 + 309600 0.0035676311 0.0023042104 0.0040601538 + 309700 0.0058294328 0.0020906737 0.0049598477 + 309800 0.0054913561 0.0021131805 0.0048159573 + 309900 0.0054057385 0.001950806 0.0046114429 + 310000 0.0039120885 0.0022033321 0.0041288131 + 310100 0.0043571969 0.0025734192 0.0047179771 + 310200 0.0059126183 0.0023678949 0.0052780118 + 310300 0.0043364634 0.0020560957 0.0041904488 + 310400 0.007548701 0.0018570945 0.0055724707 + 310500 0.0060028963 0.0016888139 0.0046433644 + 310600 0.0038766214 0.0018548754 0.0037629 + 310700 0.0052795658 0.0018261991 0.0044247354 + 310800 0.0056715525 0.0021457627 0.0049372299 + 310900 0.0056869259 0.0022381788 0.0050372126 + 311000 0.0053091031 0.002502259 0.0051153332 + 311100 0.0044708064 0.0022637002 0.0044641752 + 311200 0.0047870457 0.0015593789 0.003915503 + 311300 0.0044255125 0.0017381618 0.0039163437 + 311400 0.0050789394 0.0022633584 0.0047631489 + 311500 0.0055457542 0.0022889548 0.0050185058 + 311600 0.0061165704 0.0020854722 0.0050959717 + 311700 0.0046995428 0.0021023285 0.0044153847 + 311800 0.0051916003 0.0023305646 0.0048858054 + 311900 0.0041874877 0.002382633 0.0044436621 + 312000 0.0056161507 0.0019128454 0.0046770445 + 312100 0.0056300932 0.0017734256 0.0045444871 + 312200 0.0046984931 0.0019349466 0.0042474862 + 312300 0.0058892667 0.0019832623 0.0048818857 + 312400 0.0046603011 0.0018206541 0.0041143961 + 312500 0.0051248228 0.0016915406 0.0042139143 + 312600 0.003623361 0.0025082263 0.0042915993 + 312700 0.00436203 0.0027990309 0.0049459675 + 312800 0.0051419582 0.0022438221 0.0047746296 + 312900 0.0053865161 0.0019997127 0.0046508885 + 313000 0.0032852554 0.0020405837 0.0036575454 + 313100 0.0053423861 0.0021515747 0.0047810303 + 313200 0.0055723456 0.0022226532 0.004965292 + 313300 0.0043421363 0.0025150696 0.0046522148 + 313400 0.0041458275 0.0026320537 0.0046725782 + 313500 0.0054786839 0.0023822567 0.0050787965 + 313600 0.0052435321 0.0020792066 0.0046600076 + 313700 0.0034127325 0.0017954081 0.0034751124 + 313800 0.0061383639 0.001561761 0.004582987 + 313900 0.0045462185 0.0016283636 0.0038659555 + 314000 0.0052934339 0.0023337136 0.0049390756 + 314100 0.0036827914 0.0027374778 0.0045501017 + 314200 0.0051690441 0.0026335222 0.0051776611 + 314300 0.0045593208 0.0023326227 0.0045766634 + 314400 0.0048705022 0.0022515356 0.0046487359 + 314500 0.003898442 0.0022965814 0.0042153458 + 314600 0.0040825937 0.0023101072 0.0043195088 + 314700 0.006707449 0.0022111779 0.0055125005 + 314800 0.0046805158 0.002372918 0.0046766093 + 314900 0.0055302609 0.0027370076 0.0054589329 + 315000 0.0051276004 0.002757763 0.0052815038 + 315100 0.0049702658 0.0024483286 0.0048946313 + 315200 0.0037529144 0.002543446 0.0043905835 + 315300 0.0042338203 0.0028972502 0.0049810836 + 315400 0.0063067169 0.0029903698 0.006094457 + 315500 0.0047048896 0.0031393154 0.0054550032 + 315600 0.0051435142 0.0028387204 0.0053702938 + 315700 0.0062954677 0.0021036712 0.0052022218 + 315800 0.004237169 0.0023599097 0.0044453913 + 315900 0.004397165 0.0023196885 0.0044839182 + 316000 0.0043302122 0.0020323299 0.0041636062 + 316100 0.0049271998 0.0020654736 0.0044905797 + 316200 0.0053085607 0.0027064701 0.0053192773 + 316300 0.0044725613 0.0033813536 0.0055826924 + 316400 0.0046519413 0.0029610602 0.0052506875 + 316500 0.0054014814 0.0023263517 0.0049848933 + 316600 0.0044283178 0.002510769 0.0046903316 + 316700 0.0067717605 0.001844347 0.0051773229 + 316800 0.0044669332 0.0021077543 0.004306323 + 316900 0.0036547785 0.0025468883 0.0043457246 + 317000 0.0050171048 0.0023962162 0.0048655725 + 317100 0.0071787377 0.0024097465 0.0059430314 + 317200 0.0044148338 0.0020594222 0.0042323482 + 317300 0.0043079915 0.0021105472 0.0042308867 + 317400 0.0038560663 0.0024198225 0.0043177301 + 317500 0.0050116933 0.0027338187 0.0052005115 + 317600 0.0060326032 0.002347974 0.0053171459 + 317700 0.0054623456 0.0021779604 0.0048664587 + 317800 0.0048331001 0.0021761574 0.0045549488 + 317900 0.0063524084 0.0022339737 0.0053605498 + 318000 0.004901513 0.0024114101 0.0048238736 + 318100 0.0040332184 0.002412127 0.0043972267 + 318200 0.0029339959 0.0025659409 0.004010017 + 318300 0.0045585473 0.0023486087 0.0045922688 + 318400 0.0054704093 0.0020840383 0.0047765053 + 318500 0.0050797247 0.0021891589 0.0046893359 + 318600 0.0054525684 0.0019969945 0.0046806805 + 318700 0.0053762293 0.001726044 0.0043721569 + 318800 0.0054249501 0.0017018242 0.0043719169 + 318900 0.004330402 0.0019833171 0.0041146868 + 319000 0.0038360328 0.0021522708 0.0040403181 + 319100 0.0055684809 0.0020167165 0.0047574532 + 319200 0.004284045 0.0019434688 0.0040520222 + 319300 0.0063718334 0.0017816172 0.0049177539 + 319400 0.0051533336 0.0018074207 0.004343827 + 319500 0.0048021719 0.00171344 0.004077009 + 319600 0.0037444614 0.0018686862 0.0037116633 + 319700 0.0052170381 0.0018346701 0.0044024311 + 319800 0.0049567957 0.0015128261 0.0039524989 + 319900 0.005423445 0.0015575245 0.0042268763 + 320000 0.0047558433 0.0020817794 0.004422546 + 320100 0.0053541203 0.0022594276 0.0048946586 + 320200 0.0048890929 0.0027585231 0.0051648735 + 320300 0.0046885042 0.0027292093 0.0050368325 + 320400 0.0042832678 0.0024342388 0.0045424096 + 320500 0.006275035 0.0025951797 0.0056836735 + 320600 0.004313069 0.0029318888 0.0050547275 + 320700 0.0059163932 0.0027556207 0.0056675955 + 320800 0.0054062737 0.0029163113 0.0055772116 + 320900 0.0041848346 0.0025107955 0.0045705188 + 321000 0.0049411991 0.0020041346 0.004436131 + 321100 0.0077328449 0.0016776986 0.0054837082 + 321200 0.0057871649 0.0017208619 0.0045692321 + 321300 0.0060196546 0.0022030384 0.0051658372 + 321400 0.00461595 0.0026544299 0.0049263428 + 321500 0.0042537204 0.0027478067 0.0048414347 + 321600 0.0046237703 0.0026813013 0.0049570633 + 321700 0.0055182986 0.002393261 0.0051092986 + 321800 0.0047211208 0.0016341463 0.0039578229 + 321900 0.0061683206 0.0016900629 0.0047260332 + 322000 0.0047461837 0.0019787575 0.0043147697 + 322100 0.0060556065 0.0019963216 0.0049768154 + 322200 0.0055081249 0.0022298018 0.004940832 + 322300 0.0054487291 0.0021818264 0.0048636228 + 322400 0.0044364616 0.0023282912 0.0045118622 + 322500 0.0049557678 0.0022436216 0.0046827886 + 322600 0.0036995459 0.0019292417 0.0037501119 + 322700 0.0062886367 0.0019391413 0.0050343297 + 322800 0.0059683071 0.0022501036 0.0051876298 + 322900 0.0049483262 0.0021878231 0.0046233273 + 323000 0.0046811018 0.0020223173 0.0043262971 + 323100 0.0052530583 0.0021954349 0.0047809245 + 323200 0.0042666355 0.0024625931 0.0045625777 + 323300 0.0051179845 0.0027274651 0.0052464731 + 323400 0.0042851112 0.0028408075 0.0049498857 + 323500 0.0051256743 0.0024649027 0.0049876955 + 323600 0.0069470662 0.002182073 0.0056013322 + 323700 0.0052414917 0.0021300172 0.0047098139 + 323800 0.0046729298 0.0021642415 0.0044641991 + 323900 0.003672568 0.0022504011 0.0040579931 + 324000 0.0040985566 0.002603244 0.0046205023 + 324100 0.0055987003 0.0020428228 0.004798433 + 324200 0.0046573668 0.0020766897 0.0043689874 + 324300 0.0053773689 0.0021114389 0.0047581126 + 324400 0.0049274468 0.0021303746 0.0045556023 + 324500 0.0040833991 0.0022241856 0.0042339836 + 324600 0.0047327468 0.0022688538 0.0045982526 + 324700 0.0048887141 0.0020520794 0.0044582434 + 324800 0.0046422501 0.0021103133 0.0043951708 + 324900 0.0048881105 0.0023761989 0.0047820658 + 325000 0.0060047671 0.0025870226 0.0055424939 + 325100 0.0049180187 0.0027790555 0.0051996428 + 325200 0.0062007002 0.0023988109 0.005450718 + 325300 0.0044993526 0.0024316518 0.0046461769 + 325400 0.0055093535 0.0024568251 0.00516846 + 325500 0.0069679736 0.0026954358 0.0061249853 + 325600 0.0069193015 0.0022678818 0.0056734755 + 325700 0.0045540257 0.0020017747 0.0042432092 + 325800 0.0053570349 0.0021692353 0.004805901 + 325900 0.0053877121 0.0025044219 0.0051561865 + 326000 0.0046825941 0.0025691204 0.0048738347 + 326100 0.003925802 0.0022019042 0.0041341349 + 326200 0.0062582327 0.0015244106 0.0046046345 + 326300 0.0068347571 0.0020053268 0.0053693088 + 326400 0.0046983633 0.00297375 0.0052862258 + 326500 0.0058448115 0.0030711255 0.0059478687 + 326600 0.005139949 0.0027408719 0.0052706906 + 326700 0.0054095148 0.0026682707 0.0053307663 + 326800 0.0054034172 0.0026692949 0.0053287893 + 326900 0.0050380489 0.0030087552 0.0054884199 + 327000 0.0034580091 0.0030424687 0.0047444575 + 327100 0.0052446371 0.0024043662 0.004985711 + 327200 0.0046463652 0.0024948102 0.0047816931 + 327300 0.0038620132 0.002641501 0.0045423356 + 327400 0.0073741605 0.0025322087 0.0061616783 + 327500 0.0052571985 0.0027780421 0.0053655695 + 327600 0.005088172 0.0030493757 0.0055537103 + 327700 0.0065554774 0.0032792446 0.0065057686 + 327800 0.0052343162 0.0030574814 0.0056337464 + 327900 0.0049236987 0.0031555679 0.0055789509 + 328000 0.0052031062 0.0035526073 0.0061135112 + 328100 0.0060673871 0.0037342013 0.0067204934 + 328200 0.0050889049 0.0036389355 0.0061436309 + 328300 0.0050785826 0.0035460685 0.0060456833 + 328400 0.0045434383 0.0034408666 0.0056770901 + 328500 0.0052877579 0.0029696224 0.0055721908 + 328600 0.0050253347 0.0024848099 0.0049582168 + 328700 0.0052512171 0.0022022801 0.0047868635 + 328800 0.0049160892 0.0025730983 0.0049927359 + 328900 0.0050941844 0.0025926357 0.0050999296 + 329000 0.0039180984 0.0026692127 0.0045976517 + 329100 0.0054585344 0.002482941 0.0051695634 + 329200 0.0054954159 0.0026444515 0.0053492265 + 329300 0.0046143964 0.0025941152 0.0048652634 + 329400 0.006960367 0.0019194005 0.0053452061 + 329500 0.0047686944 0.0019079107 0.0042550025 + 329600 0.0051870621 0.0018777292 0.0044307363 + 329700 0.0059538034 0.0015264193 0.0044568069 + 329800 0.0043799686 0.0020161335 0.0041718993 + 329900 0.0052712923 0.0021590463 0.0047535105 + 330000 0.0053332301 0.0025410555 0.0051660047 + 330100 0.0046552418 0.0024851589 0.0047764107 + 330200 0.0048900717 0.0023225208 0.0047293529 + 330300 0.0053167511 0.0022525034 0.0048693418 + 330400 0.0048345322 0.002077708 0.0044572044 + 330500 0.0048050781 0.0019270586 0.004292058 + 330600 0.0047251509 0.002101988 0.0044276482 + 330700 0.0039152501 0.002329562 0.0042565992 + 330800 0.0046767587 0.002431382 0.0047332242 + 330900 0.0056838327 0.0022556699 0.0050531812 + 331000 0.0055205194 0.0021515436 0.0048686743 + 331100 0.0049053012 0.0020338647 0.0044481926 + 331200 0.0045840723 0.0019497666 0.0042059897 + 331300 0.0056883506 0.0018411301 0.0046408652 + 331400 0.0035325639 0.0021928754 0.0039315592 + 331500 0.005869627 0.0021434509 0.0050324079 + 331600 0.004183353 0.0023965949 0.0044555889 + 331700 0.0051743173 0.0021144378 0.0046611722 + 331800 0.0038044271 0.0017878303 0.0036603217 + 331900 0.0053013268 0.001670427 0.0042796739 + 332000 0.0047421602 0.002057254 0.0043912859 + 332100 0.0042269323 0.0024985037 0.004578947 + 332200 0.0053408182 0.0028982098 0.0055268937 + 332300 0.0051917881 0.00265377 0.0052091031 + 332400 0.0055172461 0.0022514795 0.0049669991 + 332500 0.0041866221 0.0026833936 0.0047439967 + 332600 0.0043529057 0.0029903164 0.0051327622 + 332700 0.0062293779 0.0020483112 0.0051143331 + 332800 0.0068322091 0.0018817668 0.0052444948 + 332900 0.0040134166 0.0018680803 0.0038434338 + 333000 0.0061292018 0.0022366792 0.0052533957 + 333100 0.004932516 0.0023471574 0.0047748801 + 333200 0.0061575874 0.0021419923 0.0051726799 + 333300 0.0050726641 0.0022762897 0.0047729916 + 333400 0.0054191051 0.00214659 0.0048138057 + 333500 0.0063655078 0.0017205742 0.0048535975 + 333600 0.0045410157 0.0018944772 0.0041295083 + 333700 0.0030479874 0.0022480072 0.0037481885 + 333800 0.004962038 0.0023021475 0.0047444006 + 333900 0.0057596988 0.0021670178 0.0050018696 + 334000 0.0049113554 0.0025308301 0.0049481378 + 334100 0.0039345305 0.0025575924 0.0044941191 + 334200 0.0048117365 0.0031461428 0.0055144194 + 334300 0.0051048097 0.0029536036 0.0054661272 + 334400 0.0068333567 0.0021771046 0.0055403973 + 334500 0.0052793974 0.0018210092 0.0044194626 + 334600 0.0056259121 0.0019640803 0.0047330839 + 334700 0.0053889992 0.0023503824 0.0050027805 + 334800 0.0044886898 0.0024747015 0.0046839786 + 334900 0.0047925746 0.0025418338 0.0049006791 + 335000 0.0044154385 0.0023696633 0.0045428869 + 335100 0.0047571411 0.0024285907 0.004769996 + 335200 0.003993589 0.0022499831 0.0042155777 + 335300 0.004287693 0.0020806816 0.0041910305 + 335400 0.0045631241 0.0024013919 0.0046473046 + 335500 0.0055096628 0.0024665395 0.0051783266 + 335600 0.0040940996 0.0027143798 0.0047294445 + 335700 0.0052403425 0.002967039 0.0055462701 + 335800 0.0056061618 0.0035106349 0.0062699176 + 335900 0.0075980496 0.0034431504 0.0071828154 + 336000 0.0032215472 0.0033426906 0.0049282959 + 336100 0.0047077911 0.0026971073 0.0050142232 + 336200 0.0047663834 0.0022553563 0.0046013106 + 336300 0.0039328458 0.0020954134 0.0040311109 + 336400 0.0042018264 0.0022164094 0.0042844958 + 336500 0.0037977169 0.0027396769 0.0046088657 + 336600 0.0042739423 0.0025487615 0.0046523425 + 336700 0.0059793975 0.0023591355 0.0053021202 + 336800 0.0035023616 0.0024340604 0.004157879 + 336900 0.0040055936 0.0026585124 0.0046300155 + 337000 0.0049780844 0.002325301 0.0047754519 + 337100 0.0043256106 0.0022734046 0.0044024161 + 337200 0.004248647 0.0021038438 0.0041949748 + 337300 0.0052712734 0.0024560847 0.0050505396 + 337400 0.0069396545 0.0024496106 0.0058652219 + 337500 0.0060548065 0.0025200127 0.0055001128 + 337600 0.0045335519 0.002500282 0.0047316395 + 337700 0.0057117138 0.0024246632 0.0052358974 + 337800 0.0042014384 0.0022945544 0.0043624499 + 337900 0.004430173 0.0023453638 0.0045258396 + 338000 0.005024134 0.0027260699 0.0051988859 + 338100 0.0059976787 0.0027225217 0.0056745042 + 338200 0.0037443738 0.0027902104 0.0046331444 + 338300 0.0075222074 0.0021777655 0.0058801019 + 338400 0.006247184 0.001938065 0.0050128508 + 338500 0.0060858226 0.0023556697 0.0053510355 + 338600 0.0068085553 0.0025197505 0.0058708363 + 338700 0.0056970965 0.0025558051 0.0053598448 + 338800 0.0045576536 0.0023970817 0.0046403019 + 338900 0.0057812553 0.0025753358 0.0054207973 + 339000 0.0048550782 0.0025046226 0.0048942315 + 339100 0.0052733407 0.0024456583 0.0050411307 + 339200 0.0057388997 0.0020362481 0.0048608628 + 339300 0.0043296026 0.001772134 0.0039031103 + 339400 0.0038653054 0.0017886144 0.0036910694 + 339500 0.0051677407 0.0016747718 0.0042182692 + 339600 0.0049165801 0.0020145517 0.0044344309 + 339700 0.0045459704 0.0022275759 0.0044650457 + 339800 0.0056806909 0.0020143637 0.0048103287 + 339900 0.0052448513 0.0016424735 0.0042239237 + 340000 0.0052300848 0.001790711 0.0043648934 + 340100 0.0042548148 0.0020412132 0.0041353798 + 340200 0.004370051 0.0021633834 0.0043142679 + 340300 0.005587929 0.0023610796 0.0051113884 + 340400 0.0065133915 0.002703027 0.0059088369 + 340500 0.0043944002 0.0025235791 0.004686448 + 340600 0.005600272 0.0024071242 0.0051635081 + 340700 0.005864293 0.0020337677 0.0049200994 + 340800 0.004874457 0.0020398375 0.0044389843 + 340900 0.0056183186 0.0022348228 0.005000089 + 341000 0.0056199942 0.0022891475 0.0050552384 + 341100 0.0053342145 0.0018592687 0.0044847024 + 341200 0.0045659325 0.0017646364 0.0040119313 + 341300 0.003986842 0.0017677218 0.0037299956 + 341400 0.0047341378 0.0015510869 0.0038811704 + 341500 0.0044615818 0.0021497669 0.0043457017 + 341600 0.0050248061 0.0019984824 0.0044716292 + 341700 0.0040796134 0.002259972 0.0042679067 + 341800 0.0056162977 0.0021136203 0.0048778918 + 341900 0.0050670342 0.0025915947 0.0050855256 + 342000 0.0056804688 0.0025376988 0.0053335546 + 342100 0.0046931583 0.0023418552 0.0046517691 + 342200 0.0050276846 0.0018057045 0.004280268 + 342300 0.0052501665 0.0018632587 0.004447325 + 342400 0.0063160445 0.0019544946 0.0050631728 + 342500 0.0041530206 0.0021098871 0.004153952 + 342600 0.0062532956 0.0022192512 0.0052970452 + 342700 0.0058333135 0.0021487073 0.0050197913 + 342800 0.0051613759 0.0022681408 0.0048085055 + 342900 0.0059367913 0.0020783207 0.0050003351 + 343000 0.005200571 0.0021443554 0.0047040115 + 343100 0.0054280202 0.002408529 0.0050801326 + 343200 0.0049806026 0.0023304687 0.0047818591 + 343300 0.0054342149 0.0027119661 0.0053866188 + 343400 0.0063576618 0.0029670865 0.0060962482 + 343500 0.0053713221 0.0029423801 0.0055860777 + 343600 0.0041584408 0.0030906259 0.0051373585 + 343700 0.0032876152 0.0025705187 0.0041886418 + 343800 0.0050104163 0.0024429653 0.0049090296 + 343900 0.0048543915 0.0021944261 0.0045836969 + 344000 0.0048703942 0.0019176586 0.0043148057 + 344100 0.003295204 0.002284444 0.0039063022 + 344200 0.0055771511 0.0025991401 0.0053441441 + 344300 0.0042652153 0.0024363283 0.004535614 + 344400 0.0062176097 0.0021150784 0.0051753082 + 344500 0.0050678934 0.0021044766 0.0045988304 + 344600 0.0047160249 0.0020509256 0.0043720941 + 344700 0.0046508414 0.0023662449 0.0046553309 + 344800 0.0051567984 0.0018469929 0.0043851046 + 344900 0.004570061 0.0021653553 0.0044146822 + 345000 0.003046877 0.0022178712 0.0037175059 + 345100 0.0057348254 0.0022616528 0.0050842621 + 345200 0.006161358 0.0023404022 0.0053729456 + 345300 0.0058887984 0.0022254971 0.0051238901 + 345400 0.0044436968 0.002257732 0.004444864 + 345500 0.0042144354 0.0023213119 0.0043956043 + 345600 0.0057327721 0.0021188182 0.0049404169 + 345700 0.0052592935 0.0020069359 0.0045954945 + 345800 0.0042459225 0.0019016069 0.0039913969 + 345900 0.0052239414 0.0019851562 0.0045563148 + 346000 0.0061328181 0.0017614999 0.0047799964 + 346100 0.0052357636 0.0022311453 0.0048081227 + 346200 0.0045645144 0.0021838692 0.0044304662 + 346300 0.0037821052 0.0020397909 0.0039012958 + 346400 0.0043074193 0.0018144091 0.003934467 + 346500 0.0045143135 0.001417883 0.0036397717 + 346600 0.0055195658 0.0013540051 0.0040706664 + 346700 0.0047593025 0.0017194118 0.004061881 + 346800 0.0039306834 0.0016931342 0.0036277674 + 346900 0.0046604632 0.0017326507 0.0040264725 + 347000 0.0053054693 0.0016788032 0.0042900889 + 347100 0.0042388825 0.0021964062 0.0042827312 + 347200 0.0045697501 0.0023196422 0.004568816 + 347300 0.0034768158 0.0025364478 0.004247693 + 347400 0.0053914204 0.0022946437 0.0049482335 + 347500 0.0052014527 0.0019618516 0.0045219416 + 347600 0.0045722789 0.0015520863 0.0038025048 + 347700 0.0051123531 0.0015106333 0.0040268696 + 347800 0.0049361696 0.0017032092 0.0041327302 + 347900 0.005568933 0.0019522179 0.0046931771 + 348000 0.0051310638 0.0017643202 0.0042897656 + 348100 0.0039881148 0.0018777774 0.0038406777 + 348200 0.0035851959 0.0020266836 0.0037912722 + 348300 0.002952394 0.0022995776 0.003752709 + 348400 0.0039129392 0.0023289081 0.0042548078 + 348500 0.0064633647 0.0028891802 0.0060703675 + 348600 0.0048935115 0.0031469066 0.0055554318 + 348700 0.006335867 0.0024411307 0.0055595652 + 348800 0.0061243203 0.0024221811 0.0054364951 + 348900 0.0042463709 0.0022673099 0.0043573205 + 349000 0.0045989837 0.0022633951 0.0045269574 + 349100 0.0037373698 0.0025027384 0.0043422251 + 349200 0.0039409397 0.0025641848 0.004503866 + 349300 0.0045460844 0.0020147025 0.0042522284 + 349400 0.0044503 0.0016873567 0.0038777387 + 349500 0.0059720428 0.0017295309 0.0046688957 + 349600 0.0056155027 0.0022519698 0.0050158501 + 349700 0.0047371619 0.0026709878 0.0050025597 + 349800 0.0048362076 0.0023802091 0.0047605301 + 349900 0.0057864608 0.0021830239 0.0050310476 + 350000 0.0052236517 0.0024527568 0.0050237728 + 350100 0.004443983 0.0023268555 0.0045141284 + 350200 0.0042408303 0.0018857004 0.0039729841 + 350300 0.0047812553 0.0018573259 0.0042106 + 350400 0.0045467398 0.0021199094 0.0043577579 + 350500 0.0066430437 0.0019432182 0.0052128412 + 350600 0.0063660177 0.0016070519 0.0047403262 + 350700 0.0065046781 0.0022041933 0.0054057145 + 350800 0.0046062013 0.0025287184 0.0047958331 + 350900 0.0047136967 0.0023056726 0.0046256952 + 351000 0.0037208199 0.0024926689 0.00432401 + 351100 0.0053651181 0.0020464525 0.0046870965 + 351200 0.0070890549 0.002316582 0.0058057262 + 351300 0.0056898337 0.003073965 0.0058744301 + 351400 0.0050563954 0.0034530042 0.0059416988 + 351500 0.0051013005 0.0031434943 0.0056542907 + 351600 0.0048574345 0.0027764805 0.005167249 + 351700 0.0048242624 0.0022667373 0.004641179 + 351800 0.0065455496 0.0015948543 0.004816492 + 351900 0.0047199093 0.0016903909 0.0040134713 + 352000 0.0067600009 0.0019906811 0.0053178691 + 352100 0.0045308667 0.0021729548 0.0044029907 + 352200 0.0042702607 0.0022084932 0.0043102622 + 352300 0.0037805789 0.0023423166 0.0042030703 + 352400 0.0049377228 0.0021132711 0.0045435566 + 352500 0.0041337811 0.0022709297 0.004305525 + 352600 0.0037402035 0.0027041041 0.0045449855 + 352700 0.0046461666 0.0024632001 0.0047499853 + 352800 0.0040061669 0.0026069994 0.0045787847 + 352900 0.0039695487 0.0028137069 0.0047674691 + 353000 0.0047639571 0.0026280765 0.0049728367 + 353100 0.0050503369 0.002767478 0.0052531907 + 353200 0.0041564164 0.0027499747 0.0047957109 + 353300 0.0070587247 0.0027295157 0.0062037317 + 353400 0.0059001183 0.0027995774 0.0057035418 + 353500 0.0053257885 0.0022998181 0.0049211046 + 353600 0.0047305707 0.0023745987 0.0047029265 + 353700 0.0050102512 0.0028648263 0.0053308093 + 353800 0.0056849573 0.0024770559 0.0052751208 + 353900 0.0044813979 0.0022631815 0.0044688696 + 354000 0.0055161576 0.0023909407 0.0051059245 + 354100 0.0048404168 0.0022772173 0.00465961 + 354200 0.0057038953 0.0015820519 0.0043894378 + 354300 0.0043058737 0.001735639 0.0038549362 + 354400 0.0042045104 0.0015723333 0.0036417408 + 354500 0.0043803684 0.0015700105 0.003725973 + 354600 0.0050025429 0.0019000321 0.0043622212 + 354700 0.004157403 0.001746301 0.0037925228 + 354800 0.0060940671 0.0018859622 0.0048853859 + 354900 0.0044883981 0.001880682 0.0040898155 + 355000 0.0051495155 0.0017852587 0.0043197859 + 355100 0.0053839798 0.0017588497 0.0044087773 + 355200 0.0068927923 0.0021738583 0.0055664045 + 355300 0.0036031045 0.0032279987 0.0050014017 + 355400 0.005480126 0.0027975742 0.0054948237 + 355500 0.0053967714 0.0021242724 0.0047804958 + 355600 0.0053995162 0.0016477232 0.0043052976 + 355700 0.0057097148 0.0014781684 0.0042884187 + 355800 0.0058772949 0.0013284102 0.0042211413 + 355900 0.0057805829 0.0015749209 0.0044200515 + 356000 0.0031881402 0.0017178125 0.0032869753 + 356100 0.0044083241 0.001687507 0.003857229 + 356200 0.0045478118 0.0017810036 0.0040193797 + 356300 0.0048317708 0.0016252077 0.0040033449 + 356400 0.0057608244 0.0017447128 0.0045801185 + 356500 0.0052239484 0.0018080834 0.0043792455 + 356600 0.0049041803 0.0020249336 0.0044387098 + 356700 0.0049211642 0.0022583051 0.0046804406 + 356800 0.005101814 0.0028033816 0.0053144307 + 356900 0.005559252 0.0025624363 0.0052986307 + 357000 0.0056867421 0.0026256587 0.005424602 + 357100 0.0046447779 0.0029195852 0.0052056868 + 357200 0.0051405217 0.0031960105 0.005726111 + 357300 0.0044273431 0.0031255901 0.005304673 + 357400 0.0048561252 0.0029612265 0.0053513507 + 357500 0.0046381398 0.0024819059 0.0047647403 + 357600 0.0040553696 0.0021980486 0.0041940508 + 357700 0.0043534115 0.002515168 0.0046578627 + 357800 0.0038247247 0.0028892718 0.0047717535 + 357900 0.0038564116 0.002645514 0.0045435916 + 358000 0.0038190195 0.0023736503 0.0042533239 + 358100 0.00383418 0.0020918592 0.0039789947 + 358200 0.0051289665 0.0023491995 0.0048736127 + 358300 0.0054105038 0.0022878658 0.0049508481 + 358400 0.0051548996 0.0022956278 0.004832805 + 358500 0.005582117 0.0026474914 0.0053949397 + 358600 0.0051827846 0.0031447863 0.0056956881 + 358700 0.0048289959 0.0032998477 0.0056766191 + 358800 0.0045535349 0.0031330255 0.0053742185 + 358900 0.0049885472 0.0027565335 0.0052118341 + 359000 0.0042926172 0.0024316256 0.0045443981 + 359100 0.0039553894 0.0025613879 0.0045081811 + 359200 0.0058890794 0.0026341857 0.005532717 + 359300 0.0051335292 0.0026376642 0.0051643231 + 359400 0.0042050352 0.0027508188 0.0048204846 + 359500 0.0051651838 0.0027907153 0.0053329542 + 359600 0.0059861306 0.002556911 0.0055032097 + 359700 0.0035331462 0.0023967432 0.0041357136 + 359800 0.0044701602 0.0026125734 0.0048127304 + 359900 0.0046197256 0.0027209638 0.004994735 + 360000 0.003826488 0.0025254866 0.0044088362 + 360100 0.0057010919 0.0029236803 0.0057296865 + 360200 0.0062217937 0.002596345 0.0056586341 + 360300 0.0050082644 0.0021212355 0.0045862407 + 360400 0.0063035736 0.0022942297 0.0053967698 + 360500 0.0051811312 0.0023572081 0.0049072961 + 360600 0.0053847567 0.002264755 0.0049150649 + 360700 0.0043525426 0.0024928382 0.0046351052 + 360800 0.0035449933 0.0028026614 0.0045474627 + 360900 0.0045761792 0.0029321144 0.0051844526 + 361000 0.006418951 0.0024244741 0.0055838015 + 361100 0.0048888227 0.0023515354 0.0047577528 + 361200 0.005590229 0.0025751538 0.0053265946 + 361300 0.0045680386 0.0025977709 0.0048461024 + 361400 0.0043073006 0.0025119767 0.0046319762 + 361500 0.0051932604 0.0026035312 0.0051595891 + 361600 0.0051029719 0.0028634654 0.0053750844 + 361700 0.0049703706 0.0030584263 0.0055047806 + 361800 0.0053682149 0.0030109239 0.0056530921 + 361900 0.0046340989 0.0026149764 0.0048958219 + 362000 0.0044337144 0.0028667231 0.0050489419 + 362100 0.0037900896 0.0029358974 0.0048013321 + 362200 0.0045572918 0.0025977653 0.0048408074 + 362300 0.0051541845 0.002507614 0.0050444392 + 362400 0.0036798969 0.0029684042 0.0047796034 + 362500 0.0053942301 0.0032072582 0.0058622308 + 362600 0.0059965458 0.0030234627 0.0059748876 + 362700 0.0055647085 0.002921344 0.005660224 + 362800 0.0068377821 0.0029774723 0.0063429432 + 362900 0.0040328601 0.0034893948 0.0054743182 + 363000 0.0040211106 0.0030535168 0.0050326572 + 363100 0.0044453628 0.0025806379 0.0047685899 + 363200 0.0046861453 0.0026920287 0.0049984908 + 363300 0.003920987 0.0030635274 0.0049933881 + 363400 0.0053557601 0.0029157199 0.0055517581 + 363500 0.0046297417 0.0029025019 0.0051812029 + 363600 0.0054474366 0.0028309299 0.0055120901 + 363700 0.0032631435 0.0027046737 0.0043107522 + 363800 0.0050650548 0.0027002807 0.0051932373 + 363900 0.0044619191 0.0029004621 0.0050965629 + 364000 0.0042331362 0.0028459578 0.0049294545 + 364100 0.0055407869 0.0025089149 0.0052360209 + 364200 0.0039098862 0.0022996242 0.0042240213 + 364300 0.0052674167 0.0018408621 0.0044334187 + 364400 0.0044423689 0.0024026902 0.0045891687 + 364500 0.0079041322 0.00280496 0.0066952751 + 364600 0.0051143194 0.0026418296 0.0051590337 + 364700 0.0047828604 0.0029699388 0.0053240029 + 364800 0.0056099862 0.0024971838 0.0052583489 + 364900 0.0068162944 0.0022217465 0.0055766413 + 365000 0.0056810363 0.0026367662 0.0054329012 + 365100 0.0065621524 0.0024227694 0.0056525788 + 365200 0.0043264355 0.0026420779 0.0047714954 + 365300 0.0061444505 0.0024775777 0.0055017994 + 365400 0.0051151466 0.0021545518 0.004672163 + 365500 0.0037642577 0.0018100691 0.0036627896 + 365600 0.0041892358 0.001437979 0.0034998685 + 365700 0.0044815934 0.0018826293 0.0040884136 + 365800 0.004227186 0.0023346047 0.0044151729 + 365900 0.0050893539 0.0020157002 0.0045206166 + 366000 0.0067765342 0.0016351577 0.0049704831 + 366100 0.004503594 0.0016687757 0.0038853884 + 366200 0.0054952026 0.0017288319 0.0044335019 + 366300 0.0045206345 0.0021248622 0.004349862 + 366400 0.0048190603 0.0021468052 0.0045186864 + 366500 0.0034764003 0.0019209508 0.0036319915 + 366600 0.004070208 0.0021028907 0.0041061962 + 366700 0.0044960444 0.0018028436 0.0040157405 + 366800 0.0049959761 0.0014927447 0.0039517017 + 366900 0.0058464971 0.0017464698 0.0046240426 + 367000 0.0052557459 0.0024559809 0.0050427934 + 367100 0.0056219633 0.0025583438 0.0053254039 + 367200 0.0056735324 0.0018656336 0.0046580754 + 367300 0.0046061308 0.0019960168 0.0042630968 + 367400 0.0054879805 0.0018296945 0.0045308099 + 367500 0.0048690481 0.0019543268 0.0043508114 + 367600 0.0045085157 0.0024236125 0.0046426475 + 367700 0.0053453336 0.0028186949 0.0054496013 + 367800 0.0066653883 0.0023978067 0.0056784275 + 367900 0.0057930777 0.0021632049 0.0050144853 + 368000 0.0052863626 0.0022370954 0.004838977 + 368100 0.0061681137 0.0025777265 0.005613595 + 368200 0.0041789828 0.0026862845 0.0047431276 + 368300 0.0053900043 0.0028459017 0.0054987944 + 368400 0.0048330578 0.0026487085 0.0050274791 + 368500 0.0049339107 0.0025886978 0.005017107 + 368600 0.0074057061 0.0018744803 0.0055194763 + 368700 0.0037564702 0.0021013434 0.0039502311 + 368800 0.0040380378 0.002094915 0.0040823867 + 368900 0.0061492214 0.0020928831 0.005119453 + 369000 0.0044535626 0.0025959766 0.0047879645 + 369100 0.0044467504 0.0026116317 0.0048002667 + 369200 0.0042535156 0.0021720853 0.0042656125 + 369300 0.0058457148 0.0021052312 0.004982419 + 369400 0.0048374549 0.0027433288 0.0051242636 + 369500 0.0063571235 0.0030965832 0.0062254799 + 369600 0.0054989072 0.0027768044 0.0054832978 + 369700 0.0052306424 0.0023624463 0.0049369031 + 369800 0.0048024356 0.0023000117 0.0046637105 + 369900 0.0050992058 0.0027093642 0.0052191296 + 370000 0.0052195061 0.0026522548 0.0052212305 + 370100 0.0042770081 0.0021442792 0.0042493691 + 370200 0.0052822795 0.0021836793 0.0047835512 + 370300 0.0058296697 0.00190065 0.0047699405 + 370400 0.0048358072 0.0015845327 0.0039646566 + 370500 0.0067371797 0.0018252829 0.0051412386 + 370600 0.0040577775 0.0022673171 0.0042645045 + 370700 0.0036049264 0.002252263 0.0040265627 + 370800 0.0036451611 0.0025052199 0.0042993226 + 370900 0.0063666324 0.0022322711 0.005365848 + 371000 0.0064587555 0.0020610469 0.0052399655 + 371100 0.0041514091 0.0022305568 0.0042738285 + 371200 0.0048404655 0.0021123975 0.0044948141 + 371300 0.0059211936 0.0022478923 0.0051622298 + 371400 0.0039685199 0.0025903263 0.0045435822 + 371500 0.0050317235 0.0026771571 0.0051537085 + 371600 0.0050717625 0.0025996467 0.0050959048 + 371700 0.0050450148 0.0027546635 0.0052377567 + 371800 0.0055764248 0.0025246952 0.0052693418 + 371900 0.0062088457 0.0025022017 0.0055581179 + 372000 0.004615516 0.0024876295 0.0047593288 + 372100 0.0070883365 0.0016605565 0.0051493472 + 372200 0.0065387283 0.0018632921 0.0050815725 + 372300 0.0065411034 0.0023815307 0.0056009801 + 372400 0.004292892 0.002815987 0.0049288948 + 372500 0.0056721637 0.0026204415 0.0054122096 + 372600 0.0046103322 0.0026530131 0.004922161 + 372700 0.0057484843 0.0024825179 0.0053118501 + 372800 0.0053928496 0.002591855 0.0052461482 + 372900 0.0043492636 0.0025573154 0.0046979686 + 373000 0.005140919 0.0029383081 0.0054686042 + 373100 0.0045577228 0.0029350342 0.0051782884 + 373200 0.0055239786 0.0027913601 0.0055101933 + 373300 0.0047386558 0.0029049082 0.0052372153 + 373400 0.0069952409 0.003134556 0.0065775261 + 373500 0.0064730239 0.0034655317 0.0066514731 + 373600 0.0050156889 0.0034284125 0.0058970719 + 373700 0.0066410028 0.0030874307 0.0063560493 + 373800 0.0053736632 0.0032626808 0.0059075306 + 373900 0.0060341633 0.0030149769 0.0059849167 + 374000 0.0069991454 0.0032646462 0.0067095381 + 374100 0.0036710776 0.0040067129 0.0058135714 + 374200 0.0038490373 0.0038355523 0.0057300004 + 374300 0.0055866792 0.0033463606 0.0060960543 + 374400 0.0040107618 0.0031078979 0.0050819447 + 374500 0.0066085704 0.0023919616 0.0056446173 + 374600 0.0071683062 0.0021447763 0.005672927 + 374700 0.0057951522 0.0024039755 0.0052562769 + 374800 0.0059625885 0.0031241176 0.0060588291 + 374900 0.0033171414 0.0030051793 0.0046378348 + 375000 0.0039944654 0.0025346506 0.0045006766 + 375100 0.0037728536 0.002476127 0.0043330784 + 375200 0.0039802256 0.0023493678 0.0043083851 + 375300 0.0059677755 0.002629459 0.0055667235 + 375400 0.006034149 0.0028094903 0.005779423 + 375500 0.0045596302 0.0029853431 0.0052295361 + 375600 0.0056436788 0.0030391934 0.0058169416 + 375700 0.0075819451 0.0031409582 0.0068726968 + 375800 0.0048490462 0.0036850126 0.0060716525 + 375900 0.0052054991 0.0035537389 0.0061158205 + 376000 0.0058926361 0.0035980018 0.0064982836 + 376100 0.0046593485 0.0034971656 0.0057904387 + 376200 0.0056096489 0.0030792972 0.0058402963 + 376300 0.0047129095 0.0030371127 0.0053567478 + 376400 0.0051539653 0.0027874571 0.0053241744 + 376500 0.003356937 0.0027589412 0.0044111836 + 376600 0.0034592499 0.0030280998 0.0047306993 + 376700 0.0043236339 0.0031292379 0.0052572764 + 376800 0.0057987638 0.0024689135 0.0053229926 + 376900 0.0034856722 0.0022105859 0.0039261902 + 377000 0.0049742213 0.0025868095 0.0050350591 + 377100 0.005936407 0.0023481746 0.0052699999 + 377200 0.0059749849 0.002150067 0.0050908799 + 377300 0.0051719634 0.0018407016 0.0043862773 + 377400 0.005403138 0.0017415029 0.0044008599 + 377500 0.0032340795 0.0021705081 0.0037622816 + 377600 0.0043518118 0.0021109525 0.0042528598 + 377700 0.0048616155 0.0023511083 0.0047439347 + 377800 0.0055685351 0.0027660297 0.005506793 + 377900 0.0039647789 0.0029691018 0.0049205164 + 378000 0.0036941273 0.003005458 0.0048236613 + 378100 0.0043388564 0.0030004052 0.0051359361 + 378200 0.0058206483 0.0026659632 0.0055308136 + 378300 0.0075120853 0.0021739658 0.0058713203 + 378400 0.0051371965 0.0028166365 0.0053451004 + 378500 0.0034284171 0.0028800181 0.0045674422 + 378600 0.0048101159 0.0024066549 0.0047741339 + 378700 0.0040349294 0.0026111408 0.0045970826 + 378800 0.0055592754 0.0023556025 0.0050918084 + 378900 0.0049068976 0.002171014 0.0045861277 + 379000 0.0051329043 0.0022628589 0.0047892102 + 379100 0.0056864329 0.0022750068 0.005073798 + 379200 0.0032617896 0.0023435066 0.0039489187 + 379300 0.0047321979 0.0024452479 0.0047743766 + 379400 0.0052941575 0.0021408734 0.0047465916 + 379500 0.0054851678 0.0022930021 0.0049927332 + 379600 0.0046255205 0.0025222524 0.0047988757 + 379700 0.0046739953 0.0027250167 0.0050254988 + 379800 0.0055754016 0.0027379662 0.0054821092 + 379900 0.0053446134 0.0018645103 0.0044950622 + 380000 0.0052832099 0.0021185872 0.0047189171 + 380100 0.0047543806 0.0021337331 0.0044737798 + 380200 0.0047243927 0.0018343106 0.0041595977 + 380300 0.0071342311 0.0018027978 0.0053141772 + 380400 0.0046540675 0.0022513182 0.0045419921 + 380500 0.005430611 0.0024422704 0.0051151493 + 380600 0.0055598436 0.0022235198 0.0049600053 + 380700 0.0047808646 0.0023014323 0.0046545141 + 380800 0.0047719801 0.0022931772 0.0046418861 + 380900 0.0058720736 0.0019508954 0.0048410567 + 381000 0.0051157921 0.0019031631 0.004421092 + 381100 0.0050590818 0.0019750264 0.0044650432 + 381200 0.0049092735 0.0023897376 0.0048060207 + 381300 0.0048078244 0.0028529381 0.0052192892 + 381400 0.0042791378 0.0030976819 0.00520382 + 381500 0.0055912775 0.0029106099 0.0056625668 + 381600 0.0057732899 0.0024834551 0.0053249962 + 381700 0.0049503884 0.0024793745 0.0049158938 + 381800 0.0076225649 0.0024193349 0.0061710661 + 381900 0.0043758236 0.0027466687 0.0049003943 + 382000 0.00670672 0.0025761987 0.0058771624 + 382100 0.0059750372 0.00250242 0.0054432587 + 382200 0.004061035 0.0027026999 0.0047014906 + 382300 0.005179748 0.0022644219 0.0048138291 + 382400 0.0066741501 0.0020538692 0.0053388025 + 382500 0.0052325779 0.001772029 0.0043474384 + 382600 0.0066314187 0.0016952126 0.0049591139 + 382700 0.0061792218 0.0018636264 0.0049049621 + 382800 0.0039181168 0.0022157817 0.0041442298 + 382900 0.0050249222 0.0018233354 0.0042965392 + 383000 0.0043565395 0.0019847984 0.0041290326 + 383100 0.0048747943 0.0023253889 0.0047247017 + 383200 0.0057085417 0.0021536469 0.0049633198 + 383300 0.0040618511 0.0019923134 0.0039915057 + 383400 0.0051685132 0.0015375197 0.0040813973 + 383500 0.004537572 0.0016425445 0.0038758807 + 383600 0.0044125732 0.0016269627 0.0037987761 + 383700 0.0038235325 0.0013046466 0.0031865415 + 383800 0.0049839923 0.0015618624 0.0040149211 + 383900 0.005599459 0.0015725937 0.0043285774 + 384000 0.0056120148 0.0014096534 0.0041718169 + 384100 0.0057160586 0.0014749326 0.0042883052 + 384200 0.0044946646 0.0022598642 0.0044720819 + 384300 0.0057834664 0.0021757405 0.0050222903 + 384400 0.0063814723 0.0020677428 0.0052086237 + 384500 0.0051198425 0.0023553967 0.0048753191 + 384600 0.0036811419 0.0020213603 0.0038331723 + 384700 0.0048712374 0.0019316235 0.0043291857 + 384800 0.0052867771 0.0019163016 0.0045183872 + 384900 0.0050037456 0.0016058495 0.0040686306 + 385000 0.004629819 0.0014932635 0.0037720025 + 385100 0.003621437 0.0019264185 0.0037088446 + 385200 0.0041512086 0.0019095153 0.0039526883 + 385300 0.0049662167 0.0015398708 0.0039841806 + 385400 0.0044505366 0.0016125096 0.0038030081 + 385500 0.0042839461 0.0019203714 0.0040288761 + 385600 0.0057445216 0.0018816442 0.0047090259 + 385700 0.0052631243 0.0018210388 0.0044114827 + 385800 0.0054834397 0.0017079642 0.0044068446 + 385900 0.0044265542 0.0016367302 0.0038154248 + 386000 0.0052257242 0.0016450837 0.0042171198 + 386100 0.004924848 0.0017389956 0.0041629442 + 386200 0.0038440846 0.0019943585 0.0038863688 + 386300 0.0053790199 0.0020895 0.0047369864 + 386400 0.0039781022 0.0023868398 0.004344812 + 386500 0.0062682513 0.0020130821 0.0050982371 + 386600 0.0055580273 0.0022954078 0.0050309994 + 386700 0.0039313011 0.0027214366 0.0046563739 + 386800 0.0054600219 0.0027293549 0.0054167094 + 386900 0.0044751158 0.0025374533 0.0047400494 + 387000 0.0061837575 0.0019120577 0.0049556259 + 387100 0.0044751813 0.0017798241 0.0039824524 + 387200 0.0051079555 0.0022547222 0.0047687941 + 387300 0.0039627002 0.0027185708 0.0046689623 + 387400 0.0048424487 0.0026268827 0.0050102754 + 387500 0.0043333555 0.0020027234 0.0041355468 + 387600 0.0034502914 0.0021711309 0.0038693212 + 387700 0.0048684961 0.0023310785 0.0047272914 + 387800 0.0043911386 0.0019911313 0.0041523948 + 387900 0.0052612356 0.0017202415 0.0043097559 + 388000 0.0047683854 0.0017627475 0.0041096872 + 388100 0.0050746485 0.0019335968 0.0044312754 + 388200 0.0052815751 0.0023861899 0.0049857152 + 388300 0.0037020012 0.0026708354 0.0044929141 + 388400 0.0040451703 0.002743392 0.0047343743 + 388500 0.0041615884 0.0023114165 0.0043596983 + 388600 0.0047844671 0.0020661821 0.004421037 + 388700 0.0054800283 0.0019985392 0.0046957406 + 388800 0.0043317967 0.002124605 0.0042566611 + 388900 0.005170542 0.0022716202 0.0048164964 + 389000 0.0058464669 0.0027811942 0.0056587521 + 389100 0.0041030202 0.0026611754 0.0046806306 + 389200 0.0045495291 0.0022345635 0.0044737848 + 389300 0.0054459122 0.0022391771 0.004919587 + 389400 0.0052199665 0.0027601721 0.0053293744 + 389500 0.0061368246 0.0031539181 0.0061743864 + 389600 0.005976284 0.0030673504 0.0060088027 + 389700 0.0048885453 0.003542297 0.0059483779 + 389800 0.0054708972 0.0035083419 0.0062010491 + 389900 0.0058812136 0.002832449 0.0057271088 + 390000 0.0075254603 0.002799743 0.0065036805 + 390100 0.0051405863 0.0025908091 0.0051209414 + 390200 0.0053042959 0.0022388224 0.0048495305 + 390300 0.0062614014 0.0017239901 0.0048057736 + 390400 0.0049845896 0.0020168628 0.0044702155 + 390500 0.0042006555 0.0025443162 0.0046118263 + 390600 0.0051464122 0.0026996731 0.0052326729 + 390700 0.0062757033 0.0025431388 0.0056319615 + 390800 0.0053428403 0.0019901679 0.0046198471 + 390900 0.0053973964 0.0018692048 0.0045257359 + 391000 0.0036987263 0.0025336343 0.0043541012 + 391100 0.0050458013 0.0024420126 0.0049254929 + 391200 0.0052119876 0.0021778808 0.0047431559 + 391300 0.0050953256 0.0018835177 0.0043913733 + 391400 0.0033812666 0.0020759366 0.0037401537 + 391500 0.0057080908 0.0019698948 0.0047793458 + 391600 0.0063328665 0.0021557665 0.0052727242 + 391700 0.0039413836 0.0020073962 0.0039472959 + 391800 0.0039660017 0.0022614295 0.0042134459 + 391900 0.0049916707 0.0024842946 0.0049411325 + 392000 0.0054398213 0.0028382263 0.0055156384 + 392100 0.0054508902 0.0027488044 0.0054316645 + 392200 0.0057977372 0.0026315258 0.0054850996 + 392300 0.0050042207 0.0025526988 0.0050157136 + 392400 0.0048271986 0.0023941185 0.0047700053 + 392500 0.0041025076 0.0022663865 0.0042855894 + 392600 0.0072755732 0.0020557916 0.0056367378 + 392700 0.0043496317 0.0023674108 0.0045082451 + 392800 0.0046855649 0.0021045149 0.0044106913 + 392900 0.0033446104 0.0020005006 0.003646676 + 393000 0.0045990188 0.00206054 0.0043241196 + 393100 0.0052460599 0.0022303716 0.0048124167 + 393200 0.0047711466 0.0021205833 0.004468882 + 393300 0.0051892965 0.0024648732 0.0050189801 + 393400 0.0053033686 0.0025422831 0.0051525349 + 393500 0.0048955456 0.002798047 0.0052075733 + 393600 0.0049881142 0.0028002267 0.0052553141 + 393700 0.0055092927 0.0028509924 0.0055625974 + 393800 0.0039317225 0.0030930416 0.0050281863 + 393900 0.0052430539 0.0026911126 0.0052716782 + 394000 0.0035015433 0.0023637284 0.0040871442 + 394100 0.0046074061 0.002126733 0.0043944407 + 394200 0.0043153184 0.0020149208 0.0041388666 + 394300 0.0052504473 0.0020255151 0.0046097196 + 394400 0.0052092352 0.0019813196 0.0045452401 + 394500 0.0042736867 0.0021541083 0.0042575635 + 394600 0.0039595791 0.0018631834 0.0038120388 + 394700 0.0051925469 0.0023120649 0.0048677716 + 394800 0.0050869559 0.0023572538 0.0048609899 + 394900 0.006922066 0.0020525605 0.0054595149 + 395000 0.0054273534 0.0019966284 0.004667904 + 395100 0.0051762939 0.0026548825 0.0052025896 + 395200 0.0053514461 0.0027991235 0.0054330384 + 395300 0.0035088138 0.0029537349 0.0046807292 + 395400 0.0055483576 0.0027634919 0.0054943242 + 395500 0.0052687351 0.0028045266 0.0053977322 + 395600 0.0044483922 0.0023468054 0.0045362485 + 395700 0.0041267691 0.002164359 0.0041955032 + 395800 0.0043741869 0.0021252485 0.0042781686 + 395900 0.0063243753 0.0024648914 0.0055776699 + 396000 0.0054708636 0.0026390235 0.0053317142 + 396100 0.0051723307 0.0022118304 0.0047575869 + 396200 0.004586684 0.0022586325 0.004516141 + 396300 0.0059440511 0.0023310228 0.0052566105 + 396400 0.0055609213 0.002590236 0.005327252 + 396500 0.0050870244 0.002239868 0.0047436378 + 396600 0.0041804941 0.0021616126 0.0042191995 + 396700 0.0038802145 0.0018423161 0.0037521092 + 396800 0.0061203299 0.0018534766 0.0048658265 + 396900 0.0043399754 0.0023803309 0.0045164126 + 397000 0.0058284046 0.0020924743 0.0049611422 + 397100 0.0055217707 0.0021022139 0.0048199604 + 397200 0.0044277227 0.002107601 0.0042868708 + 397300 0.0056150894 0.001720883 0.0044845598 + 397400 0.0041102587 0.0017757548 0.0037987727 + 397500 0.0046513414 0.0017220752 0.0040114073 + 397600 0.0050377627 0.0016181233 0.0040976472 + 397700 0.0061769992 0.0023764348 0.0054166766 + 397800 0.0047808194 0.0030165689 0.0053696285 + 397900 0.0055760698 0.002053534 0.0047980059 + 398000 0.0055691418 0.0017499215 0.0044909834 + 398100 0.0049167129 0.0018910418 0.0043109865 + 398200 0.0058016316 0.0021041361 0.0049596267 + 398300 0.0054140041 0.0026576633 0.0053223684 + 398400 0.0041558734 0.0025154532 0.0045609221 + 398500 0.0043547218 0.0023237664 0.0044671061 + 398600 0.0044622602 0.0026300108 0.0048262795 + 398700 0.005146999 0.0022122839 0.0047455724 + 398800 0.0040351362 0.0023315336 0.0043175772 + 398900 0.0045359275 0.0020565524 0.0042890792 + 399000 0.0063761678 0.002550587 0.0056888571 + 399100 0.004652718 0.0026902888 0.0049802985 + 399200 0.0049144492 0.0028750259 0.0052938564 + 399300 0.0056568011 0.0032765483 0.006060755 + 399400 0.0052632656 0.0033600169 0.0059505304 + 399500 0.0053307568 0.0029159846 0.0055397164 + 399600 0.0051225843 0.0025197604 0.0050410323 + 399700 0.0051607817 0.002632922 0.0051729943 + 399800 0.0067008821 0.0022503663 0.0055484568 + 399900 0.0040684948 0.0022012331 0.0042036954 + 400000 0.0043018412 0.0024955532 0.0046128656 + 400100 0.0059699682 0.0022849274 0.0052232711 + 400200 0.0042878974 0.0023960084 0.0045064579 + 400300 0.0048843103 0.0024968616 0.0049008581 + 400400 0.0043269842 0.0025766782 0.0047063657 + 400500 0.0044718328 0.0029791321 0.0051801123 + 400600 0.0047500116 0.0026937861 0.0050316824 + 400700 0.0059071301 0.0023402093 0.0052476249 + 400800 0.0043340052 0.0022095755 0.0043427186 + 400900 0.0065827032 0.0019167528 0.005156677 + 401000 0.0062302996 0.0020241588 0.0050906344 + 401100 0.0046408824 0.0023453388 0.0046295231 + 401200 0.0062343081 0.0020570225 0.0051254711 + 401300 0.0059727946 0.0021337157 0.0050734505 + 401400 0.0064103273 0.0023292325 0.0054843155 + 401500 0.0044584443 0.0028893329 0.0050837234 + 401600 0.0051522431 0.0028248711 0.0053607408 + 401700 0.0066058449 0.0029438494 0.0061951637 + 401800 0.0047124582 0.0028307476 0.0051501607 + 401900 0.0067387796 0.0021581179 0.005474861 + 402000 0.0050326979 0.0021973456 0.0046743766 + 402100 0.0046879033 0.0025553426 0.00486267 + 402200 0.0040704799 0.0033767801 0.0053802194 + 402300 0.006324689 0.003453047 0.0065659799 + 402400 0.0055930564 0.0028165406 0.0055693731 + 402500 0.0052275947 0.002096669 0.0046696257 + 402600 0.004642966 0.0018434276 0.0041286375 + 402700 0.003650016 0.0020953312 0.0038918234 + 402800 0.0051012346 0.0022120484 0.0047228123 + 402900 0.0071794719 0.0022412118 0.0057748581 + 403000 0.0043225531 0.0021409343 0.0042684409 + 403100 0.0044772254 0.0020203404 0.0042239748 + 403200 0.0057605354 0.0017503586 0.0045856221 + 403300 0.005048701 0.001929942 0.0044148495 + 403400 0.005443421 0.0023007026 0.0049798863 + 403500 0.0044011609 0.002868656 0.0050348524 + 403600 0.005736204 0.0021998111 0.005023099 + 403700 0.0054169133 0.0017653574 0.0044314944 + 403800 0.0038011991 0.0018261146 0.0036970173 + 403900 0.003980187 0.0018807697 0.0038397679 + 404000 0.0035236389 0.0017103613 0.0034446524 + 404100 0.006442942 0.0016647618 0.0048358973 + 404200 0.0042810324 0.0019267793 0.0040338499 + 404300 0.0047810948 0.0022050801 0.0045582752 + 404400 0.0061455956 0.002928854 0.0059536393 + 404500 0.0041327763 0.0032360306 0.0052701314 + 404600 0.0046176919 0.0026511236 0.0049238938 + 404700 0.0061944191 0.0020123266 0.0050611423 + 404800 0.0069023557 0.0021162494 0.0055135026 + 404900 0.0057298909 0.0026481841 0.0054683648 + 405000 0.0042274535 0.0029363207 0.0050170205 + 405100 0.0052259568 0.0024285241 0.0050006747 + 405200 0.0035815838 0.0022430987 0.0040059095 + 405300 0.0049390262 0.0020767126 0.0045076395 + 405400 0.004717932 0.001867227 0.0041893341 + 405500 0.0052931139 0.0020971236 0.0047023281 + 405600 0.0053121316 0.0022131399 0.0048277047 + 405700 0.0050983594 0.0024652851 0.0049746339 + 405800 0.0049376121 0.0025140209 0.0049442518 + 405900 0.0032520175 0.0028221934 0.0044227957 + 406000 0.0061568184 0.0024774472 0.0055077563 + 406100 0.0055818615 0.0021588711 0.0049061935 + 406200 0.0046639999 0.0018787306 0.0041742931 + 406300 0.005288292 0.0019252654 0.0045280966 + 406400 0.0044953572 0.0025592984 0.004771857 + 406500 0.0045969456 0.0029879646 0.0052505237 + 406600 0.0048280014 0.0028576873 0.0052339693 + 406700 0.0075352637 0.0022201315 0.0059288941 + 406800 0.0049389902 0.0026568922 0.0050878014 + 406900 0.0045650707 0.0023703714 0.0046172422 + 407000 0.0071900314 0.0026088725 0.006147716 + 407100 0.0053131289 0.0028406675 0.0054557232 + 407200 0.0059784932 0.0029032333 0.0058457729 + 407300 0.0039669509 0.0026236302 0.0045761138 + 407400 0.0050915389 0.0021379728 0.0046439646 + 407500 0.0051873221 0.0020674196 0.0046205547 + 407600 0.004596137 0.001878313 0.0041404742 + 407700 0.0029142961 0.0021418341 0.0035762142 + 407800 0.004192577 0.0021681804 0.0042317144 + 407900 0.0041639613 0.0022486384 0.0042980882 + 408000 0.0042055132 0.0025019355 0.0045718365 + 408100 0.005824106 0.0023034534 0.0051700056 + 408200 0.0033730116 0.0020252282 0.0036853824 + 408300 0.00409374 0.0018757058 0.0038905934 + 408400 0.0036809656 0.0017112464 0.0035229716 + 408500 0.0036534748 0.0016096065 0.0034078012 + 408600 0.004633451 0.0014825582 0.0037630849 + 408700 0.0059630793 0.0017265514 0.0046615045 + 408800 0.0045231384 0.0023268125 0.0045530447 + 408900 0.0057182403 0.0026175172 0.0054319636 + 409000 0.0043355235 0.0026464753 0.0047803657 + 409100 0.0056915541 0.0027048394 0.0055061512 + 409200 0.004974869 0.0030863196 0.005534888 + 409300 0.0048047823 0.003019594 0.0053844478 + 409400 0.0059671689 0.0024226096 0.0053595755 + 409500 0.004858147 0.002386313 0.0047774322 + 409600 0.0045269099 0.002359549 0.0045876375 + 409700 0.003870913 0.0025489371 0.0044541521 + 409800 0.0043690901 0.0025586078 0.0047090193 + 409900 0.0058640869 0.0021878973 0.0050741276 + 410000 0.0037403759 0.0025190102 0.0043599765 + 410100 0.0052327647 0.0027818596 0.005357361 + 410200 0.0059281145 0.002461922 0.0053796659 + 410300 0.0057749358 0.0018851778 0.004727529 + 410400 0.0049929226 0.001736443 0.0041938971 + 410500 0.0035856203 0.0017603808 0.0035251783 + 410600 0.0045872938 0.0017937803 0.004051589 + 410700 0.0050094979 0.0025314291 0.0049970414 + 410800 0.0054287713 0.0030284571 0.0057004304 + 410900 0.0048362245 0.0038101647 0.0061904939 + 411000 0.0066822701 0.0030889273 0.0063778571 + 411100 0.0063592501 0.0024981252 0.0056280687 + 411200 0.0047201365 0.0029595497 0.0052827419 + 411300 0.0047526329 0.0031654787 0.0055046652 + 411400 0.0050393599 0.0030306518 0.0055109618 + 411500 0.0050225251 0.0029973033 0.0054693274 + 411600 0.0047860691 0.0028408056 0.005196449 + 411700 0.004869027 0.0023060273 0.0047025015 + 411800 0.0053446949 0.0027356731 0.0053662651 + 411900 0.0051415781 0.0027057792 0.0052363997 + 412000 0.0055999076 0.0021980561 0.0049542607 + 412100 0.0050468522 0.0022509375 0.004734935 + 412200 0.0044268034 0.0022585115 0.0044373288 + 412300 0.0042449861 0.0022543572 0.0043436863 + 412400 0.0043439458 0.001970501 0.0041085368 + 412500 0.0043183232 0.0021298697 0.0042552944 + 412600 0.0052741602 0.002362392 0.0049582677 + 412700 0.0046125276 0.0023717109 0.0046419393 + 412800 0.0055467249 0.0023574327 0.0050874614 + 412900 0.004153537 0.0023308486 0.0043751677 + 413000 0.0045403446 0.0026363117 0.0048710126 + 413100 0.0043818882 0.002819361 0.0049760716 + 413200 0.0054472765 0.0024632019 0.0051442833 + 413300 0.0043313992 0.0024744064 0.004606267 + 413400 0.0044642051 0.0021129509 0.0043101768 + 413500 0.0057733722 0.0024896552 0.0053312368 + 413600 0.0042665759 0.0028461258 0.0049460811 + 413700 0.0046983345 0.0029020421 0.0052145036 + 413800 0.0049755327 0.0025669546 0.0050158496 + 413900 0.0043618534 0.0028830989 0.0050299486 + 414000 0.0050574281 0.0029275896 0.0054167925 + 414100 0.0055602426 0.0026315294 0.0053682113 + 414200 0.0035059435 0.002834075 0.0045596566 + 414300 0.0044110285 0.0024380785 0.0046091316 + 414400 0.0071638669 0.0020640485 0.0055900142 + 414500 0.0044645007 0.0022021175 0.0043994889 + 414600 0.0042361647 0.0021003205 0.0041853078 + 414700 0.004324298 0.0021053877 0.0042337531 + 414800 0.0050041792 0.0021898809 0.0046528753 + 414900 0.0035924864 0.0026056453 0.0043738221 + 415000 0.0039756323 0.0026275672 0.0045843237 + 415100 0.0042889175 0.0023790951 0.0044900467 + 415200 0.0057031315 0.0023889869 0.0051959969 + 415300 0.003885794 0.002617586 0.0045301253 + 415400 0.0058873633 0.0024223398 0.0053200264 + 415500 0.0043650511 0.0025619916 0.0047104152 + 415600 0.0041506416 0.0022492491 0.0042921431 + 415700 0.0053210922 0.0020073885 0.0046263636 + 415800 0.0045855203 0.0018974571 0.0041543929 + 415900 0.0039438321 0.0020553135 0.0039964184 + 416000 0.0042912814 0.0019882355 0.0041003506 + 416100 0.0055537428 0.0019247581 0.0046582408 + 416200 0.0039375991 0.0019060405 0.0038440776 + 416300 0.0043386973 0.0020110548 0.0041465074 + 416400 0.0048703639 0.0019117811 0.0043089133 + 416500 0.0036318688 0.002232718 0.0040202784 + 416600 0.0045061035 0.0021808995 0.0043987473 + 416700 0.0038484738 0.0020900586 0.0039842293 + 416800 0.0060766697 0.0020908887 0.0050817495 + 416900 0.0044503596 0.002939364 0.0051297754 + 417000 0.0051947804 0.003092305 0.005649111 + 417100 0.0053205909 0.0024934826 0.0051122109 + 417200 0.0056995871 0.0018547069 0.0046599724 + 417300 0.0053189225 0.0020483838 0.004666291 + 417400 0.0043605184 0.0019106202 0.0040568128 + 417500 0.0052530821 0.0015683689 0.0041538703 + 417600 0.0047238242 0.0017873985 0.0041124058 + 417700 0.0048574953 0.0022838904 0.0046746888 + 417800 0.0047167364 0.001886919 0.0042084377 + 417900 0.0058392773 0.0015386529 0.0044126721 + 418000 0.0044770075 0.0018533642 0.0040568914 + 418100 0.0046507652 0.0023710027 0.0046600512 + 418200 0.0052404781 0.0023787116 0.0049580094 + 418300 0.0047689575 0.0022274773 0.0045746985 + 418400 0.0046257639 0.002264732 0.0045414752 + 418500 0.0042565343 0.0023245965 0.0044196094 + 418600 0.0047293329 0.0019753981 0.0043031167 + 418700 0.0049000291 0.001740778 0.0041525111 + 418800 0.0055998097 0.0021400571 0.0048962134 + 418900 0.0048123092 0.0034072988 0.0057758573 + 419000 0.0064975634 0.0033271204 0.0065251399 + 419100 0.0085356322 0.0025131153 0.0067142467 + 419200 0.0049143263 0.0023312089 0.0047499788 + 419300 0.0056220407 0.0023425596 0.0051096578 + 419400 0.0054148317 0.0025526594 0.0052177719 + 419500 0.0077865118 0.0025572295 0.0063896532 + 419600 0.0052747393 0.0025238105 0.0051199712 + 419700 0.0039679733 0.0025346956 0.0044876825 + 419800 0.0049853952 0.0028580195 0.0053117687 + 419900 0.0054021217 0.0028767954 0.0055356522 + 420000 0.005763454 0.0027572119 0.0055939119 + 420100 0.0035204725 0.0027272971 0.0044600297 + 420200 0.0049905275 0.0024039454 0.0048602207 + 420300 0.0057948939 0.002174696 0.0050268704 + 420400 0.0044494325 0.0025569092 0.0047468643 + 420500 0.005003256 0.0026797063 0.0051422464 + 420600 0.005618271 0.0024976176 0.0052628603 + 420700 0.0055368195 0.0022974848 0.0050226382 + 420800 0.00424107 0.0022712416 0.0043586433 + 420900 0.0043137072 0.002796883 0.0049200357 + 421000 0.0046340692 0.0029130927 0.0051939236 + 421100 0.0056340681 0.0029497881 0.0057228059 + 421200 0.0047466351 0.0031042458 0.0054404803 + 421300 0.0051041013 0.0028386976 0.0053508724 + 421400 0.0051331138 0.0027126068 0.0052390613 + 421500 0.0053369591 0.0025299346 0.0051567192 + 421600 0.0039603425 0.0022840561 0.0042332872 + 421700 0.0052014706 0.0021820603 0.0047421592 + 421800 0.004959982 0.0024361108 0.004877352 + 421900 0.0050124541 0.0024341897 0.0049012569 + 422000 0.0036809774 0.0025452674 0.0043569985 + 422100 0.0050287987 0.0021130574 0.0045881692 + 422200 0.0049904039 0.0017798304 0.0042360448 + 422300 0.0047627961 0.0018213789 0.0041655676 + 422400 0.0070572271 0.0019513244 0.0054248034 + 422500 0.0025878606 0.0024927842 0.0037664969 + 422600 0.0058429503 0.0021879054 0.0050637325 + 422700 0.0059793792 0.0021894635 0.0051324392 + 422800 0.0068102853 0.0022534581 0.0056053954 + 422900 0.00513117 0.0022902775 0.0048157752 + 423000 0.004869771 0.0027014317 0.0050982721 + 423100 0.0068459967 0.0024292313 0.0057987453 + 423200 0.0040564865 0.0024604928 0.0044570447 + 423300 0.0071066634 0.0023490455 0.0058468564 + 423400 0.0053297986 0.0024547415 0.0050780017 + 423500 0.0057300694 0.0026067489 0.0054270174 + 423600 0.005462869 0.0024086835 0.0050974393 + 423700 0.0040400249 0.0025980073 0.0045864571 + 423800 0.0047669862 0.0025918986 0.0049381497 + 423900 0.0050894481 0.0023447609 0.0048497236 + 424000 0.0054140458 0.0026637855 0.0053285112 + 424100 0.005742278 0.0025952579 0.0054215353 + 424200 0.0053091398 0.0024951889 0.0051082812 + 424300 0.0055271007 0.0022279962 0.0049483661 + 424400 0.004335276 0.0028134023 0.004947171 + 424500 0.0049645868 0.002949325 0.0053928325 + 424600 0.0045511416 0.0030486697 0.0052886848 + 424700 0.0046897902 0.0028161827 0.0051244389 + 424800 0.0047826404 0.0025451707 0.0048991265 + 424900 0.0044037183 0.0026653914 0.0048328465 + 425000 0.0047263108 0.0029452697 0.0052715008 + 425100 0.0042236365 0.0032527113 0.0053315324 + 425200 0.0059704012 0.0028545028 0.0057930596 + 425300 0.0053083475 0.0030473486 0.0056600509 + 425400 0.0043103677 0.0031419894 0.0052634985 + 425500 0.0056328248 0.0030460121 0.0058184181 + 425600 0.0045775337 0.0029628604 0.0052158653 + 425700 0.0059618261 0.0027694765 0.0057038128 + 425800 0.0056627757 0.0024645855 0.0052517329 + 425900 0.006125291 0.0021401558 0.0051549474 + 426000 0.0047825361 0.0020632386 0.0044171431 + 426100 0.004655465 0.0021854254 0.0044767871 + 426200 0.0041052989 0.0019959741 0.0040165509 + 426300 0.0052515051 0.002169575 0.0047543002 + 426400 0.0063697634 0.002221899 0.0053570169 + 426500 0.0046001194 0.0024848402 0.0047489615 + 426600 0.0043989318 0.0027649269 0.0049300261 + 426700 0.0063745156 0.0026984302 0.0058358872 + 426800 0.0047877763 0.0023551764 0.0047116601 + 426900 0.0037951803 0.0022073733 0.0040753136 + 427000 0.0043729153 0.0020238016 0.0041760959 + 427100 0.0040415536 0.0022133412 0.0042025434 + 427200 0.0050872818 0.0021796139 0.0046835104 + 427300 0.0044208076 0.0021622689 0.0043381352 + 427400 0.0058996469 0.0026229149 0.0055266474 + 427500 0.0049355568 0.002581367 0.0050105864 + 427600 0.0061306551 0.002690291 0.0057077228 + 427700 0.004904284 0.0026895883 0.0051034156 + 427800 0.0045280309 0.0027706166 0.0049992568 + 427900 0.00495987 0.0030856274 0.0055268134 + 428000 0.0040824467 0.0026083349 0.0046176641 + 428100 0.0049747806 0.0023404584 0.0047889832 + 428200 0.0052040074 0.002172916 0.0047342634 + 428300 0.004939376 0.0022174506 0.0046485497 + 428400 0.0048382592 0.0026002661 0.0049815968 + 428500 0.0046416071 0.0025656128 0.0048501538 + 428600 0.0044767955 0.0026843672 0.00488779 + 428700 0.0035735796 0.0025660251 0.0043248963 + 428800 0.004311085 0.0022366942 0.0043585563 + 428900 0.0050739677 0.0023455166 0.0048428601 + 429000 0.0037940541 0.0023601602 0.0042275462 + 429100 0.0055547918 0.0021105462 0.0048445453 + 429200 0.0042162856 0.0017486627 0.0038238658 + 429300 0.0057382749 0.0016813081 0.0045056153 + 429400 0.0055631786 0.0015729118 0.0043110388 + 429500 0.0051857756 0.0018445086 0.0043968825 + 429600 0.0040706664 0.0018051675 0.0038086986 + 429700 0.0053408112 0.0018253439 0.0044540244 + 429800 0.0050966219 0.0021874378 0.0046959314 + 429900 0.0050524891 0.002366694 0.004853466 + 430000 0.003398462 0.0030885928 0.0047612734 + 430100 0.0053794525 0.0026414764 0.0052891756 + 430200 0.0071897547 0.0023218784 0.0058605858 + 430300 0.0045791566 0.0026704002 0.0049242038 + 430400 0.0041643946 0.0029423716 0.0049920346 + 430500 0.0050914714 0.0020934158 0.0045993744 + 430600 0.004780942 0.0015313717 0.0038844916 + 430700 0.0061559996 0.0014365062 0.0044664122 + 430800 0.0037960187 0.0016939491 0.003562302 + 430900 0.0024408521 0.00218683 0.0033881869 + 431000 0.0044516881 0.0027738647 0.0049649299 + 431100 0.0034320705 0.0030180523 0.0047072745 + 431200 0.0047076332 0.0028021699 0.0051192081 + 431300 0.0042540836 0.0026279929 0.0047217996 + 431400 0.0060260477 0.0027428293 0.0057087746 + 431500 0.0043970662 0.0028934887 0.0050576697 + 431600 0.0058863532 0.0024602894 0.0053574789 + 431700 0.0054390145 0.002425187 0.005102202 + 431800 0.0058500297 0.0025461408 0.0054254523 + 431900 0.0045494164 0.0029165301 0.005155696 + 432000 0.0051378428 0.0025261381 0.0050549201 + 432100 0.0038577352 0.002686937 0.004585666 + 432200 0.0050002653 0.0024768137 0.0049378818 + 432300 0.0048282351 0.0022950422 0.0046714391 + 432400 0.0048922691 0.0029345556 0.0053424693 + 432500 0.0064276735 0.0031582107 0.0063218313 + 432600 0.0044386569 0.003027335 0.0052119864 + 432700 0.0050995574 0.0030344573 0.0055443957 + 432800 0.0058159344 0.002553705 0.0054162353 + 432900 0.0046480596 0.0021526667 0.0044403835 + 433000 0.0070024766 0.0020139073 0.0054604388 + 433100 0.0034873712 0.0023987998 0.0041152403 + 433200 0.004439647 0.0024713654 0.0046565041 + 433300 0.006508401 0.0022871094 0.005490463 + 433400 0.0059845556 0.0020134721 0.0049589956 + 433500 0.0050847483 0.0024438795 0.004946529 + 433600 0.006185912 0.0024574478 0.0055020764 + 433700 0.0041403265 0.0026688688 0.0047066857 + 433800 0.0067771947 0.0026388797 0.0059745302 + 433900 0.0062387002 0.0028799063 0.0059505165 + 434000 0.0053668018 0.0037214375 0.0063629102 + 434100 0.0055743868 0.0037356521 0.0064792956 + 434200 0.0062527803 0.0033607041 0.0064382444 + 434300 0.0063616802 0.0025677963 0.0056989358 + 434400 0.0055334166 0.0027557942 0.0054792727 + 434500 0.0047707111 0.002786872 0.0051349563 + 434600 0.0047452219 0.0025210648 0.0048566037 + 434700 0.0051707406 0.0025207327 0.0050657066 + 434800 0.0039854204 0.0023178351 0.0042794092 + 434900 0.0043699641 0.002353035 0.0045038767 + 435000 0.0058124542 0.0028029362 0.0056637535 + 435100 0.0039308403 0.0030755628 0.0050102733 + 435200 0.0067578729 0.0028093062 0.0061354468 + 435300 0.0045503254 0.0026289301 0.0048685434 + 435400 0.0054826654 0.0020654017 0.0047639011 + 435500 0.0058699816 0.0020616899 0.0049508215 + 435600 0.0063944339 0.002345736 0.0054929965 + 435700 0.0055379767 0.0025789184 0.0053046413 + 435800 0.0038171469 0.0023916575 0.0042704095 + 435900 0.0050577016 0.0019156315 0.004404969 + 436000 0.0039126465 0.0017374666 0.0036632223 + 436100 0.0048960534 0.0016009147 0.004010691 + 436200 0.0039395923 0.0018295104 0.0037685285 + 436300 0.0047905566 0.0020261744 0.0043840264 + 436400 0.0051604041 0.0021377624 0.0046776489 + 436500 0.0061764261 0.0022112608 0.0052512205 + 436600 0.0038333103 0.0020677709 0.0039544783 + 436700 0.0045392087 0.0017584762 0.0039926179 + 436800 0.0058969792 0.0018721305 0.0047745499 + 436900 0.0043249159 0.0028724516 0.0050011211 + 437000 0.0051787197 0.0030897366 0.0056386377 + 437100 0.0055898883 0.002854714 0.0056059872 + 437200 0.005234784 0.0027668905 0.0053433858 + 437300 0.0069970957 0.0023683678 0.0058122509 + 437400 0.0047714146 0.0022484354 0.004596866 + 437500 0.0045872059 0.0025493246 0.00480709 + 437600 0.0051512787 0.0028601383 0.0053955333 + 437700 0.0047786884 0.0029814433 0.005333454 + 437800 0.0080754113 0.0022956461 0.0062702626 + 437900 0.0048525166 0.0017660863 0.0041544343 + 438000 0.0048193669 0.001697799 0.0040698312 + 438100 0.0060441868 0.0016112007 0.0045860739 + 438200 0.0039414958 0.0021760853 0.0041160403 + 438300 0.00576472 0.0022154007 0.0050527238 + 438400 0.0040716287 0.0017808774 0.0037848822 + 438500 0.0041537765 0.0019990225 0.0040434594 + 438600 0.0062210369 0.0018943866 0.0049563032 + 438700 0.0064164013 0.0017760566 0.0049341291 + 438800 0.0058880484 0.0021867145 0.0050847383 + 438900 0.00405706 0.0026600552 0.0046568894 + 439000 0.0055796719 0.0020772304 0.0048234751 + 439100 0.0045044706 0.0016667818 0.0038838259 + 439200 0.004923599 0.0022425513 0.0046658852 + 439300 0.0055227663 0.0025733597 0.0052915963 + 439400 0.0030831807 0.0027848077 0.0043023107 + 439500 0.0048515837 0.0027475117 0.0051354006 + 439600 0.0057318888 0.0026987713 0.0055199353 + 439700 0.004861225 0.0027377519 0.0051303861 + 439800 0.0051200189 0.0021845632 0.0047045725 + 439900 0.0051621361 0.0020527049 0.0045934438 + 440000 0.0057624599 0.0024782095 0.0053144202 + 440100 0.0046420464 0.0031000907 0.0053848479 + 440200 0.0062301057 0.0032207917 0.0062871718 + 440300 0.0061432702 0.0028770404 0.0059006812 + 440400 0.0067205213 0.0027212803 0.0060290369 + 440500 0.0059789602 0.0028137637 0.0057565332 + 440600 0.0058185988 0.0031652411 0.0060290826 + 440700 0.0050817892 0.0033031854 0.0058043785 + 440800 0.0062662568 0.0027604333 0.0058446066 + 440900 0.0050632565 0.0027724837 0.0052645553 + 441000 0.0052671579 0.0031092681 0.0057016974 + 441100 0.0043811116 0.00299583 0.0051521584 + 441200 0.0045549877 0.0027253519 0.0049672599 + 441300 0.0057420638 0.0025819531 0.0054081252 + 441400 0.005067782 0.0026179863 0.0051122852 + 441500 0.0045041831 0.0025853352 0.0048022379 + 441600 0.0041433391 0.0026831201 0.0047224198 + 441700 0.0054100776 0.0025651141 0.0052278867 + 441800 0.0067533953 0.0029852045 0.0063091413 + 441900 0.0047596663 0.0037059499 0.0060485981 + 442000 0.0053624036 0.0032738252 0.0059131332 + 442100 0.0051464151 0.0027944117 0.0053274129 + 442200 0.0051920309 0.002840755 0.0053962077 + 442300 0.0056636797 0.0032036189 0.0059912113 + 442400 0.0045649429 0.0035508434 0.0057976512 + 442500 0.0046142528 0.0033136726 0.0055847502 + 442600 0.0052747653 0.002910494 0.0055066675 + 442700 0.0066585845 0.0028269246 0.0061041966 + 442800 0.0039361539 0.0026358168 0.0045731425 + 442900 0.0043322365 0.0026993357 0.0048316084 + 443000 0.0045744428 0.0028032386 0.0050547222 + 443100 0.0062439027 0.0028911264 0.0059642973 + 443200 0.0052513708 0.0033682986 0.0059529577 + 443300 0.0055303817 0.0033086407 0.0060306254 + 443400 0.0041924954 0.0028599614 0.0049234553 + 443500 0.0046536434 0.002758171 0.0050486361 + 443600 0.0045545631 0.0028416143 0.0050833134 + 443700 0.0035428713 0.0033599083 0.0051036652 + 443800 0.004382897 0.0035001787 0.0056573858 + 443900 0.0079017189 0.0031349304 0.0070240577 + 444000 0.0047893428 0.002777063 0.0051343177 + 444100 0.0047657192 0.0023260369 0.0046716643 + 444200 0.0040943267 0.002504197 0.0045193735 + 444300 0.0064630785 0.0024236971 0.0056047436 + 444400 0.0059552873 0.0024331697 0.0053642876 + 444500 0.0053767272 0.0023226653 0.0049690232 + 444600 0.0043329638 0.0020887919 0.0042214225 + 444700 0.0047737783 0.0026844343 0.0050340283 + 444800 0.003977059 0.0031674735 0.0051249323 + 444900 0.0039964901 0.0030856666 0.005052689 + 445000 0.0045421486 0.0024993426 0.0047349314 + 445100 0.004346563 0.0024721799 0.0046115039 + 445200 0.0036088105 0.0027974261 0.0045736375 + 445300 0.0043189962 0.0030255567 0.0051513126 + 445400 0.0066857306 0.0032457048 0.0065363378 + 445500 0.0044152075 0.0031630004 0.0053361104 + 445600 0.0047243431 0.0029252312 0.0052504938 + 445700 0.0041430176 0.0029075299 0.0049466714 + 445800 0.0038293036 0.0028271549 0.0047118903 + 445900 0.0050057749 0.003030862 0.0054946418 + 446000 0.0059914923 0.0027640874 0.005713025 + 446100 0.0053058957 0.0027253537 0.0053368492 + 446200 0.0051471977 0.0029108501 0.0054442365 + 446300 0.0042789589 0.0033591159 0.005465166 + 446400 0.0039802854 0.0032692142 0.0052282609 + 446500 0.0044080596 0.0023517907 0.0045213826 + 446600 0.0053742938 0.0024764041 0.0051215643 + 446700 0.004611337 0.0027471864 0.0050168289 + 446800 0.0053493577 0.0029255183 0.0055584053 + 446900 0.0041720928 0.0029517011 0.0050051531 + 447000 0.006767249 0.002405073 0.0057358283 + 447100 0.0055221371 0.0024966572 0.0052145841 + 447200 0.0044134446 0.0024369374 0.0046091796 + 447300 0.0050011161 0.0020977666 0.0045592534 + 447400 0.0042823765 0.0024540106 0.0045617428 + 447500 0.0047928719 0.0026555482 0.0050145399 + 447600 0.0047801156 0.0025843827 0.0049370959 + 447700 0.0044906232 0.0027341634 0.004944392 + 447800 0.0060969943 0.002609903 0.0056107674 + 447900 0.006031385 0.0024408677 0.00540944 + 448000 0.0040669389 0.002399875 0.0044015715 + 448100 0.0060424713 0.0022333173 0.0052073462 + 448200 0.0051840932 0.0022802285 0.0048317744 + 448300 0.0047547848 0.0022446017 0.0045848473 + 448400 0.0060123001 0.0022435216 0.0052027005 + 448500 0.0052020181 0.0023442604 0.0049046287 + 448600 0.005561712 0.0019589965 0.0046964016 + 448700 0.0036234954 0.002007808 0.0037912471 + 448800 0.0045741838 0.002034732 0.0042860881 + 448900 0.0043718779 0.0023066934 0.0044584771 + 449000 0.0046757031 0.0026611636 0.0049624862 + 449100 0.0060425739 0.0023168305 0.0052909098 + 449200 0.0041186587 0.0021362647 0.0041634171 + 449300 0.0037822041 0.0023871591 0.0042487127 + 449400 0.005178331 0.0025698083 0.0051185181 + 449500 0.0040157755 0.0025357032 0.0045122177 + 449600 0.0053278221 0.0024104043 0.0050326917 + 449700 0.0045527409 0.0021997974 0.0044405996 + 449800 0.0038990635 0.0020818205 0.0040008908 + 449900 0.0044828095 0.0020369569 0.0042433397 + 450000 0.0049635114 0.0020262884 0.0044692667 + 450100 0.0035521786 0.0020849276 0.0038332655 + 450200 0.0052211697 0.002294343 0.0048641375 + 450300 0.0052857225 0.0023754817 0.0049770482 + 450400 0.0043063693 0.0021362378 0.0042557789 + 450500 0.0043226818 0.0019038797 0.0040314496 + 450600 0.003823413 0.0019815114 0.0038633475 + 450700 0.0042747631 0.0019115549 0.0040155398 + 450800 0.0055858659 0.0020405967 0.00478989 + 450900 0.0057604484 0.0027347747 0.0055699954 + 451000 0.0042386959 0.0032725975 0.0053588306 + 451100 0.0071826399 0.0030908682 0.0066260738 + 451200 0.0039124654 0.0032342266 0.0051598932 + 451300 0.0058677828 0.0034854186 0.0063734679 + 451400 0.006438282 0.0031748312 0.0063436731 + 451500 0.0048921136 0.0026345962 0.0050424334 + 451600 0.005938308 0.0023880651 0.0053108261 + 451700 0.0046262983 0.0024120701 0.0046890763 + 451800 0.0037430292 0.0023094939 0.0041517661 + 451900 0.0048428483 0.0022834568 0.0046670462 + 452000 0.0059854173 0.0022567287 0.0052026763 + 452100 0.0062183354 0.0022347644 0.0052953514 + 452200 0.0054658653 0.0026200388 0.0053102694 + 452300 0.0055524403 0.0024750422 0.0052078839 + 452400 0.005003563 0.0023289167 0.0047916079 + 452500 0.0056818278 0.0028104012 0.0056069259 + 452600 0.005223316 0.0031013676 0.0056722185 + 452700 0.0057401607 0.0026157339 0.0054409692 + 452800 0.0058957429 0.0022609006 0.0051627115 + 452900 0.0042137134 0.0027284137 0.0048023508 + 453000 0.0062862727 0.0026278574 0.0057218823 + 453100 0.0043662392 0.0027550166 0.0049040249 + 453200 0.0044442918 0.003355687 0.0055431119 + 453300 0.0059963335 0.0029296648 0.0058809852 + 453400 0.0051329863 0.0026573336 0.0051837253 + 453500 0.0068271168 0.002694962 0.0060551835 + 453600 0.0053483136 0.0026032439 0.005235617 + 453700 0.0072114255 0.0026164658 0.0061658393 + 453800 0.004458976 0.0027643614 0.0049590137 + 453900 0.0055182098 0.0024153394 0.0051313333 + 454000 0.0044179965 0.0022301483 0.0044046309 + 454100 0.0059172601 0.002008565 0.0049209665 + 454200 0.0052779251 0.0020142719 0.0046120007 + 454300 0.0066158891 0.0022093718 0.0054656297 + 454400 0.0052858488 0.0021808304 0.0047824591 + 454500 0.0053429253 0.0022636096 0.0048933307 + 454600 0.0067293251 0.0022505756 0.0055626653 + 454700 0.0042449219 0.0025087988 0.0045980963 + 454800 0.0044919377 0.0025451342 0.0047560097 + 454900 0.0050262759 0.0025491515 0.0050230217 + 455000 0.0041853295 0.0025363501 0.0045963169 + 455100 0.0050320969 0.0026618337 0.0051385689 + 455200 0.0042504549 0.0023550321 0.0044470528 + 455300 0.0043846502 0.0024753922 0.0046334622 + 455400 0.0056711031 0.0028728801 0.0056641262 + 455500 0.0046295285 0.0029786781 0.0052572742 + 455600 0.0049766747 0.0024987513 0.0049482083 + 455700 0.0044787663 0.0025870158 0.0047914086 + 455800 0.0055729364 0.0024142832 0.0051572129 + 455900 0.0050974515 0.0025042982 0.0050132001 + 456000 0.0052151739 0.0024428946 0.0050097381 + 456100 0.0057634102 0.0022723744 0.0051090529 + 456200 0.005357478 0.0023478286 0.0049847123 + 456300 0.0058908281 0.0024826179 0.0053820099 + 456400 0.0068280572 0.0022588768 0.0056195612 + 456500 0.0062276117 0.0024500104 0.005515163 + 456600 0.0049359192 0.0024581389 0.0048875367 + 456700 0.0055209556 0.0020815055 0.0047988508 + 456800 0.0065737104 0.0020362311 0.0052717292 + 456900 0.0037896207 0.0023080375 0.0041732414 + 457000 0.0035330667 0.0023567518 0.0040956831 + 457100 0.0050664596 0.0019113863 0.0044050344 + 457200 0.0051997284 0.0018109329 0.0043701742 + 457300 0.0048649627 0.0022044861 0.0045989599 + 457400 0.0040363741 0.0030680025 0.0050546554 + 457500 0.004868475 0.0029337509 0.0053299535 + 457600 0.0058488769 0.0026264389 0.005505183 + 457700 0.0048008691 0.0022143343 0.0045772621 + 457800 0.0045491183 0.0022430535 0.0044820727 + 457900 0.0052229109 0.0027455195 0.0053161709 + 458000 0.0045521843 0.0028892488 0.005129777 + 458100 0.0037843087 0.0029750347 0.0048376241 + 458200 0.0058908568 0.0027113375 0.0056107437 + 458300 0.0044390666 0.0026214171 0.0048062702 + 458400 0.0058694169 0.0022180462 0.0051068998 + 458500 0.0046465162 0.0021476773 0.0044346345 + 458600 0.0041999142 0.0023323288 0.0043994741 + 458700 0.004038393 0.0024470405 0.0044346871 + 458800 0.0049249626 0.0022905638 0.0047145688 + 458900 0.0059248629 0.0026560582 0.0055722017 + 459000 0.0058551851 0.0030105384 0.0058923873 + 459100 0.0059704562 0.0037080985 0.0066466824 + 459200 0.0067476875 0.0035140401 0.0068351676 + 459300 0.0063549107 0.0032055615 0.0063333691 + 459400 0.0056231677 0.0032093101 0.0059769629 + 459500 0.0049721481 0.0027567568 0.005203986 + 459600 0.0050804815 0.0024140192 0.0049145687 + 459700 0.005090543 0.0029386329 0.0054441345 + 459800 0.0073273375 0.0026589513 0.0062653752 + 459900 0.0047069482 0.0030363903 0.0053530913 + 460000 0.0071149664 0.002485934 0.0059878315 + 460100 0.0045232327 0.0023422229 0.0045685015 + 460200 0.0039011479 0.0023880728 0.004308169 + 460300 0.0052166063 0.0023895815 0.0049571299 + 460400 0.0058553717 0.002356049 0.0052379897 + 460500 0.003769331 0.0023024807 0.0041576983 + 460600 0.0044425891 0.0025901201 0.0047767069 + 460700 0.0048049249 0.0030762461 0.0054411701 + 460800 0.0038050787 0.0030156292 0.0048884413 + 460900 0.0055574724 0.0026837961 0.0054191146 + 461000 0.0037252063 0.0024689779 0.0043024779 + 461100 0.0044132608 0.0025482741 0.0047204259 + 461200 0.0047577847 0.0028085289 0.0051502511 + 461300 0.0062671948 0.0027518409 0.0058364758 + 461400 0.0048884672 0.0028345273 0.0052405697 + 461500 0.0059439611 0.0031444593 0.0060700026 + 461600 0.0051192876 0.0033559026 0.0058755519 + 461700 0.0057464447 0.0030058714 0.0058341997 + 461800 0.0043789235 0.0031391124 0.0052943638 + 461900 0.0053001274 0.0027662812 0.0053749377 + 462000 0.0040188296 0.0025387826 0.0045168003 + 462100 0.0053038913 0.0019849181 0.004595427 + 462200 0.0036834213 0.0021394645 0.0039523985 + 462300 0.0061241928 0.0022375652 0.0052518163 + 462400 0.0067665333 0.0023209908 0.0056513939 + 462500 0.0048055384 0.0026984827 0.0050637087 + 462600 0.0053325179 0.0030094649 0.0056340635 + 462700 0.0063219786 0.003195951 0.0063075499 + 462800 0.0059905139 0.0029845222 0.0059329783 + 462900 0.0043668187 0.003197193 0.0053464866 + 463000 0.0056486229 0.0029108923 0.0056910739 + 463100 0.0054583055 0.003052586 0.0057390958 + 463200 0.0045377986 0.003046073 0.0052795207 + 463300 0.0065258803 0.002281827 0.0054937838 + 463400 0.0052539664 0.0019165157 0.0045024523 + 463500 0.0042581457 0.0019578191 0.0040536251 + 463600 0.0058754416 0.002011521 0.0049033399 + 463700 0.0052016904 0.0022716019 0.0048318089 + 463800 0.005303376 0.0022294118 0.0048396672 + 463900 0.0053250346 0.002138638 0.0047595535 + 464000 0.0045370561 0.0026446085 0.0048776908 + 464100 0.0036276267 0.0021673417 0.0039528142 + 464200 0.0058074579 0.0023499331 0.0052082913 + 464300 0.0058987413 0.0023788095 0.0052820962 + 464400 0.0050863288 0.0027761836 0.005279611 + 464500 0.0051814999 0.0028533438 0.0054036133 + 464600 0.0052262215 0.0026760432 0.0052483241 + 464700 0.0047922317 0.0026530435 0.0050117201 + 464800 0.0072995516 0.0023369637 0.0059297118 + 464900 0.0062876596 0.0023273194 0.0054220268 + 465000 0.0047130915 0.0027722073 0.005091932 + 465100 0.0053059015 0.0030296809 0.0056411793 + 465200 0.0071140274 0.002829789 0.0063312243 + 465300 0.0051996013 0.0030640614 0.0056232402 + 465400 0.0049424294 0.0026204389 0.0050530409 + 465500 0.004640903 0.002538005 0.0048221995 + 465600 0.0057528853 0.0024688011 0.0053002993 + 465700 0.0057775328 0.0025397103 0.0053833397 + 465800 0.0043930409 0.0023570419 0.0045192417 + 465900 0.0058210189 0.0025337639 0.0053987966 + 466000 0.0037705558 0.0025837434 0.0044395639 + 466100 0.0033904199 0.0024455778 0.0041143001 + 466200 0.0040639443 0.0024181859 0.0044184085 + 466300 0.0049604044 0.0021711037 0.0046125527 + 466400 0.0057981659 0.0019002999 0.0047540846 + 466500 0.0050051265 0.0020456512 0.0045091119 + 466600 0.0038299856 0.0023921224 0.0042771934 + 466700 0.0051769004 0.0020811644 0.0046291701 + 466800 0.0049427206 0.001945279 0.0043780244 + 466900 0.0039545539 0.002530434 0.004476816 + 467000 0.0056279428 0.0020895652 0.0048595682 + 467100 0.0043166941 0.0018834558 0.0040080787 + 467200 0.004521646 0.0022178899 0.0044433875 + 467300 0.0043993546 0.0024630686 0.0046283759 + 467400 0.0060550244 0.0028708605 0.0058510678 + 467500 0.0039694642 0.0028413901 0.0047951108 + 467600 0.0059745687 0.002223368 0.005163976 + 467700 0.0073579967 0.0018062479 0.0054277619 + 467800 0.0058510996 0.0025646917 0.0054445298 + 467900 0.0056589511 0.002398842 0.005184107 + 468000 0.0066277241 0.001717702 0.004979785 + 468100 0.004289371 0.00210594 0.0042171148 + 468200 0.0059869494 0.0022550407 0.0052017423 + 468300 0.0042434072 0.0024812083 0.0045697602 + 468400 0.0047578634 0.0026845806 0.0050263415 + 468500 0.0044200406 0.0028427741 0.0050182628 + 468600 0.0049601847 0.0024759274 0.0049172683 + 468700 0.0051813637 0.0022432679 0.0047934703 + 468800 0.0055160049 0.0019861104 0.0047010191 + 468900 0.0054145172 0.0018606241 0.0045255818 + 469000 0.0050179497 0.0017698286 0.0042396007 + 469100 0.006827133 0.0018968222 0.0052570517 + 469200 0.0043364205 0.0023818024 0.0045161344 + 469300 0.0042779268 0.0025621595 0.0046677016 + 469400 0.0043609692 0.0023604094 0.0045068239 + 469500 0.00435664 0.0022746122 0.004418896 + 469600 0.0054624151 0.002047811 0.0047363435 + 469700 0.0030212366 0.002020544 0.0035075588 + 469800 0.0030569168 0.0020561535 0.0035607298 + 469900 0.004441992 0.0018756072 0.0040619002 + 470000 0.0050354214 0.002190655 0.0046690264 + 470100 0.0052605988 0.0021559112 0.0047451121 + 470200 0.0039628229 0.0022485019 0.0041989538 + 470300 0.0038882512 0.002129247 0.0040429956 + 470400 0.0055003439 0.0021092776 0.0048164781 + 470500 0.0066998865 0.0024644286 0.005762029 + 470600 0.005626229 0.0027918429 0.0055610025 + 470700 0.0058792826 0.002680778 0.0055744874 + 470800 0.00429514 0.0022853162 0.0043993304 + 470900 0.0054355737 0.0024780238 0.0051533452 + 471000 0.0047345322 0.0026393068 0.0049695844 + 471100 0.0047741354 0.0027944164 0.0051441861 + 471200 0.0049859781 0.0021690278 0.0046230639 + 471300 0.0044161031 0.0018747419 0.0040482927 + 471400 0.0050214682 0.0020725083 0.0045440122 + 471500 0.0053692348 0.0026075721 0.0052502424 + 471600 0.006675278 0.0029349539 0.0062204423 + 471700 0.0055883027 0.0030122013 0.005762694 + 471800 0.0059790976 0.0033320077 0.0062748448 + 471900 0.0042649589 0.0037324354 0.0058315948 + 472000 0.0063931188 0.0036847621 0.0068313753 + 472100 0.0054117434 0.0041079481 0.0067715405 + 472200 0.0058045282 0.0036964952 0.0065534115 + 472300 0.0067190517 0.0027155745 0.0060226077 + 472400 0.0055353417 0.0022480471 0.0049724731 + 472500 0.0056498597 0.0024376224 0.0052184127 + 472600 0.0049199615 0.0027682172 0.0051897607 + 472700 0.0070035183 0.0030364636 0.0064835077 + 472800 0.0042817298 0.0032854213 0.0053928352 + 472900 0.0048778224 0.0031066164 0.0055074196 + 473000 0.0042209319 0.0030407662 0.0051182561 + 473100 0.0054840538 0.0026403523 0.0053395351 + 473200 0.0038314423 0.0026744629 0.0045602509 + 473300 0.0044381532 0.0026483069 0.0048327104 + 473400 0.0048748604 0.002879944 0.0052792894 + 473500 0.0055695798 0.0030065843 0.0057478619 + 473600 0.0052383457 0.0032031928 0.0057814411 + 473700 0.0062898565 0.0029743557 0.0060701444 + 473800 0.0074973081 0.0024897566 0.0061798379 + 473900 0.0051826012 0.0024512145 0.005002026 + 474000 0.0045143492 0.0024703317 0.004692238 + 474100 0.0042104287 0.0026474891 0.0047198095 + 474200 0.0061543926 0.0028413105 0.0058704256 + 474300 0.0053929571 0.0027057955 0.0053601415 + 474400 0.0042807328 0.0023167678 0.004423691 + 474500 0.0053386276 0.0019614777 0.0045890835 + 474600 0.0051915979 0.0022256763 0.0047809159 + 474700 0.0053101143 0.0027458601 0.005359432 + 474800 0.0065996491 0.0023805353 0.0056288001 + 474900 0.006165849 0.0019566348 0.0049913886 + 475000 0.0053501971 0.0023707722 0.0050040723 + 475100 0.0056335557 0.0019874605 0.0047602261 + 475200 0.0047311216 0.0017060137 0.0040346126 + 475300 0.0045025627 0.0017024679 0.003918573 + 475400 0.0054300759 0.0019177566 0.004590372 + 475500 0.005692519 0.0020686134 0.0048704001 + 475600 0.0045116865 0.0024280755 0.0046486712 + 475700 0.0046015725 0.0021616525 0.004426489 + 475800 0.0036448189 0.0022573947 0.004051329 + 475900 0.0050416596 0.0020447145 0.0045261563 + 476000 0.0049772145 0.0022565836 0.0047063064 + 476100 0.0050821571 0.0021573196 0.0046586938 + 476200 0.0057763973 0.0016699889 0.0045130594 + 476300 0.0042236306 0.0017734591 0.0038522773 + 476400 0.0048830418 0.002281843 0.0046852152 + 476500 0.0051305768 0.0022456879 0.0047708937 + 476600 0.0044399123 0.0017674343 0.0039527037 + 476700 0.0048235126 0.001747622 0.0041216946 + 476800 0.0029895271 0.002332608 0.0038040158 + 476900 0.0039065839 0.0023735788 0.0042963506 + 477000 0.0057358643 0.0025747243 0.005397845 + 477100 0.006495331 0.0028459599 0.0060428806 + 477200 0.0036942739 0.0030729041 0.0048911795 + 477300 0.0054288887 0.0026720818 0.0053441129 + 477400 0.0054835947 0.0025946863 0.0052936431 + 477500 0.0054529548 0.0021918722 0.0048757484 + 477600 0.0068092185 0.0020296056 0.0053810178 + 477700 0.0045444619 0.0023456665 0.0045823938 + 477800 0.0046679139 0.0025203573 0.0048178462 + 477900 0.0058005592 0.0025796245 0.0054345873 + 478000 0.005102984 0.0021915734 0.0047031984 + 478100 0.0048480484 0.0021639013 0.0045500501 + 478200 0.0058537532 0.002293732 0.0051748762 + 478300 0.0047485895 0.0030168759 0.0053540723 + 478400 0.005321422 0.0031839717 0.005803109 + 478500 0.0045197113 0.0034829863 0.0057075317 + 478600 0.003920075 0.0031543959 0.0050838078 + 478700 0.0045942518 0.0026425301 0.0049037634 + 478800 0.0053606151 0.0027259872 0.005364415 + 478900 0.0055184989 0.0025430031 0.0052591393 + 479000 0.0054709108 0.0025178673 0.0052105813 + 479100 0.0060734552 0.0025457248 0.0055350035 + 479200 0.0038710543 0.0029572874 0.0048625719 + 479300 0.0064768831 0.0025555783 0.0057434192 + 479400 0.0047266405 0.0022165166 0.0045429099 + 479500 0.0041899517 0.0021105472 0.004172789 + 479600 0.0051089757 0.0019238963 0.0044384702 + 479700 0.0052763911 0.0018409582 0.004437932 + 479800 0.0056727056 0.0020507629 0.0048427977 + 479900 0.0046079909 0.0022477124 0.0045157079 + 480000 0.0047371187 0.001880386 0.0042119366 + 480100 0.0055126582 0.0016567758 0.0043700372 + 480200 0.0036651617 0.0020150547 0.0038190014 + 480300 0.0043983013 0.0020484185 0.0042132074 + 480400 0.0041201815 0.0024795705 0.0045074723 + 480500 0.0035539699 0.0028926755 0.0046418951 + 480600 0.0040479456 0.0026857801 0.0046781284 + 480700 0.0048059515 0.0024318132 0.0047972425 + 480800 0.0056649585 0.0019205828 0.0047088046 + 480900 0.005004063 0.0019652244 0.0044281617 + 481000 0.0040456025 0.0020738351 0.0040650301 + 481100 0.0037035211 0.0018714687 0.0036942955 + 481200 0.0054814298 0.0020116416 0.0047095328 + 481300 0.0053114325 0.0016704856 0.0042847063 + 481400 0.0045450479 0.0015930901 0.0038301059 + 481500 0.0044955159 0.0019785231 0.0041911598 + 481600 0.004382536 0.0021368844 0.0042939138 + 481700 0.0041638758 0.0022370161 0.0042864238 + 481800 0.0048225945 0.0021764818 0.0045501026 + 481900 0.0043109698 0.0020686081 0.0041904136 + 482000 0.0051000011 0.002273925 0.0047840818 + 482100 0.0051725369 0.0026287365 0.0051745945 + 482200 0.0043606825 0.0026763124 0.0048225858 + 482300 0.0062271789 0.0022903576 0.0053552972 + 482400 0.006336912 0.0018858078 0.0050047567 + 482500 0.005813882 0.0020471028 0.0049086228 + 482600 0.0041865602 0.0023336123 0.0043941849 + 482700 0.0050079387 0.0022384298 0.0047032746 + 482800 0.0063791574 0.0026138117 0.0057535532 + 482900 0.004725331 0.0026780171 0.005003766 + 483000 0.005001861 0.0022868335 0.0047486869 + 483100 0.0046748767 0.0020798573 0.0043807732 + 483200 0.005604248 0.0021659655 0.0049243063 + 483300 0.0055097862 0.0027288832 0.0054407311 + 483400 0.0054278063 0.0024357829 0.0051072812 + 483500 0.0054492427 0.0020743408 0.00475639 + 483600 0.0045108603 0.0019886831 0.0042088722 + 483700 0.0036391367 0.0025148911 0.0043060287 + 483800 0.003780863 0.0024865492 0.0043474427 + 483900 0.004548274 0.0023844515 0.0046230552 + 484000 0.0048207915 0.0022779288 0.0046506621 + 484100 0.0048812449 0.0022334274 0.0046359151 + 484200 0.0070497565 0.0020759908 0.0055457928 + 484300 0.0068034416 0.002098698 0.0054472669 + 484400 0.0066215726 0.0019078977 0.005166953 + 484500 0.0039564701 0.002120789 0.0040681142 + 484600 0.0043868999 0.0020779724 0.0042371497 + 484700 0.0042864089 0.0018287335 0.0039384504 + 484800 0.0046100097 0.0019454191 0.0042144082 + 484900 0.0044831969 0.0020484014 0.0042549749 + 485000 0.0056751244 0.0018998529 0.0046930782 + 485100 0.0048586946 0.0015079674 0.0038993561 + 485200 0.0058916409 0.0017304499 0.0046302419 + 485300 0.0052061446 0.0018185229 0.0043809222 + 485400 0.0054987992 0.0020373649 0.0047438051 + 485500 0.0046091525 0.0018914765 0.0041600437 + 485600 0.0051514373 0.0018770523 0.0044125254 + 485700 0.0064069401 0.0018052085 0.0049586243 + 485800 0.0054154306 0.0023821156 0.0050475229 + 485900 0.0067457162 0.0029937362 0.0063138935 + 486000 0.0046136854 0.0031141199 0.0053849182 + 486100 0.0053139263 0.0024085899 0.0050240381 + 486200 0.0053620471 0.0019773408 0.0046164734 + 486300 0.0037387618 0.0021997594 0.0040399312 + 486400 0.0060661866 0.002301865 0.0052875662 + 486500 0.0045466293 0.0024188852 0.0046566793 + 486600 0.0051930471 0.0023155754 0.0048715282 + 486700 0.004942165 0.0024410016 0.0048734735 + 486800 0.0063950557 0.0022798436 0.0054274101 + 486900 0.0055105421 0.0026051746 0.0053173945 + 487000 0.0061576212 0.0023509877 0.0053816918 + 487100 0.0057075088 0.0023993584 0.0052085229 + 487200 0.0050952116 0.0025734102 0.0050812097 + 487300 0.0048605523 0.0021885109 0.004580814 + 487400 0.0051484957 0.0019376002 0.0044716254 + 487500 0.0036660335 0.0020809783 0.0038853541 + 487600 0.0053173554 0.0022569108 0.0048740467 + 487700 0.0050517592 0.0024071751 0.0048935879 + 487800 0.0054306478 0.002276436 0.004949333 + 487900 0.0049553062 0.0024631857 0.0049021255 + 488000 0.004595676 0.0025667823 0.0048287166 + 488100 0.0042972543 0.0026330129 0.0047480677 + 488200 0.0042027735 0.0026677265 0.004736279 + 488300 0.0042555673 0.0021093122 0.0042038492 + 488400 0.0039788366 0.0019465279 0.0039048615 + 488500 0.0046010947 0.0020319976 0.0042965989 + 488600 0.0053535197 0.0022985798 0.0049335153 + 488700 0.0047867103 0.0026788752 0.0050348342 + 488800 0.0045671245 0.0023502175 0.0045980991 + 488900 0.0043042132 0.0021525849 0.0042710648 + 489000 0.0040621391 0.0020836197 0.0040829538 + 489100 0.0035002268 0.0024774803 0.0042002482 + 489200 0.003617471 0.0022934435 0.0040739175 + 489300 0.0040389742 0.002265435 0.0042533676 + 489400 0.0052632795 0.0020305529 0.0046210733 + 489500 0.0051889776 0.002110869 0.0046648189 + 489600 0.0057555511 0.0024457472 0.0052785575 + 489700 0.0064930083 0.0029294758 0.0061252533 + 489800 0.0053644955 0.0033192481 0.0059595857 + 489900 0.0042996195 0.0029290722 0.0050452912 + 490000 0.0063427722 0.0026770177 0.0057988509 + 490100 0.0056094738 0.0028773619 0.0056382748 + 490200 0.0046299985 0.0029781372 0.0052569646 + 490300 0.0048014492 0.0026442064 0.0050074197 + 490400 0.0044407485 0.0023484415 0.0045341224 + 490500 0.004567439 0.0021386784 0.0043867147 + 490600 0.0066762667 0.0024293248 0.0057152998 + 490700 0.004466595 0.002712336 0.0049107382 + 490800 0.0043845317 0.0025788969 0.0047369086 + 490900 0.0048682176 0.0024263241 0.0048224 + 491000 0.0045882402 0.0026391377 0.0048974122 + 491100 0.0038772274 0.0022269042 0.0041352271 + 491200 0.0042423617 0.0020141747 0.0041022121 + 491300 0.0041589917 0.0022197861 0.0042667898 + 491400 0.0046337074 0.0023064972 0.0045871501 + 491500 0.0055676083 0.0022678105 0.0050081177 + 491600 0.0049517356 0.002723131 0.0051603134 + 491700 0.0068671087 0.002767813 0.0061477181 + 491800 0.0055963991 0.0029715769 0.0057260546 + 491900 0.0050704958 0.0033386805 0.0058343151 + 492000 0.0051144032 0.0032329584 0.0057502038 + 492100 0.0046705906 0.0029790669 0.0052778732 + 492200 0.0049224905 0.0028076296 0.0052304179 + 492300 0.0057805255 0.0025200417 0.0053651441 + 492400 0.0048184702 0.0022873195 0.0046589103 + 492500 0.004366199 0.002504202 0.0046531905 + 492600 0.0048857155 0.0028146177 0.0052193058 + 492700 0.0034530568 0.0028282291 0.0045277805 + 492800 0.0043684869 0.0022276855 0.0043778002 + 492900 0.0051460853 0.0021215629 0.0046544018 + 493000 0.0051312971 0.001845894 0.0043714544 + 493100 0.0056375988 0.0018482441 0.0046229998 + 493200 0.0040150112 0.0021702332 0.0041463715 + 493300 0.0054452575 0.0019266548 0.0046067425 + 493400 0.0052135454 0.0019255353 0.0044915772 + 493500 0.0048256624 0.0021935035 0.0045686342 + 493600 0.0049299229 0.0019969559 0.0044234023 + 493700 0.0047551348 0.0018740337 0.0042144517 + 493800 0.0032140244 0.0021466197 0.0037285223 + 493900 0.0041551801 0.0023500339 0.0043951616 + 494000 0.0038107074 0.0022371858 0.0041127683 + 494100 0.0032834325 0.0022900782 0.0039061427 + 494200 0.0046757787 0.0022883286 0.0045896885 + 494300 0.0045219864 0.0023410112 0.0045666764 + 494400 0.0046774086 0.00218029 0.004482452 + 494500 0.0064367496 0.0019536285 0.0051217162 + 494600 0.0047397831 0.0025279638 0.0048608258 + 494700 0.0050026501 0.0028421811 0.005304423 + 494800 0.0045419983 0.0026340343 0.0048695491 + 494900 0.0056420265 0.0028753428 0.0056522776 + 495000 0.005507323 0.0028003863 0.0055110219 + 495100 0.0047008538 0.0024023383 0.0047160398 + 495200 0.0053552105 0.0021364541 0.0047722218 + 495300 0.0034040418 0.0018591845 0.0035346113 + 495400 0.0048995382 0.0016600105 0.0040715019 + 495500 0.005778084 0.002001479 0.0048453797 + 495600 0.0047276551 0.0026102186 0.0049371114 + 495700 0.0051477279 0.0027275966 0.005261244 + 495800 0.0056346969 0.0030160442 0.0057893716 + 495900 0.007548474 0.0027741931 0.0064894577 + 496000 0.004194577 0.0027022593 0.0047667776 + 496100 0.0049067335 0.0023000918 0.0047151247 + 496200 0.0058939002 0.0018330963 0.0047340003 + 496300 0.0046005158 0.0019081988 0.0041725151 + 496400 0.0064731697 0.0020485627 0.0052345759 + 496500 0.0049280334 0.0024483804 0.0048738968 + 496600 0.005490108 0.0020169475 0.00471911 + 496700 0.0044688839 0.0018056445 0.0040051734 + 496800 0.0049985486 0.0016347172 0.0040949403 + 496900 0.0051988524 0.0018173291 0.0043761393 + 497000 0.004844001 0.00235639 0.0047405467 + 497100 0.0061112077 0.0023566644 0.0053645244 + 497200 0.0078006514 0.0022437953 0.0060831784 + 497300 0.004558918 0.0025357951 0.0047796376 + 497400 0.0047921801 0.0025138945 0.0048725457 + 497500 0.0048843636 0.0021674974 0.0045715202 + 497600 0.0056120386 0.0024121104 0.0051742857 + 497700 0.0045760778 0.0027305961 0.0049828844 + 497800 0.0035819925 0.0024594192 0.0042224312 + 497900 0.0074781907 0.0018958138 0.0055764858 + 498000 0.0045278918 0.0021953068 0.0044238786 + 498100 0.0050322353 0.0019859024 0.0044627057 + 498200 0.0044954206 0.0017299993 0.0039425891 + 498300 0.0040242139 0.0017524434 0.0037331112 + 498400 0.0055497334 0.0018656262 0.0045971357 + 498500 0.0049968978 0.0017442568 0.0042036674 + 498600 0.0050737898 0.0022926717 0.0047899276 + 498700 0.005525373 0.0023865778 0.0051060973 + 498800 0.0057704614 0.0020944633 0.0049346123 + 498900 0.0055561655 0.0023676252 0.0051023005 + 499000 0.0040895872 0.0025225513 0.004535395 + 499100 0.0042393223 0.0024756279 0.0045621693 + 499200 0.0077667447 0.0023186237 0.0061413183 + 499300 0.0064844065 0.0021250581 0.005316602 + 499400 0.0057094806 0.0018238033 0.0046339383 + 499500 0.0044348281 0.0018955745 0.0040783415 + 499600 0.0045596766 0.0022754682 0.004519684 + 499700 0.0048571506 0.0024647578 0.0048553866 + 499800 0.005310784 0.0024297556 0.0050436571 + 499900 0.0061446883 0.0019408077 0.0049651465 + 500000 0.0056624348 0.0024138843 0.0052008639 + 500100 0.0048835137 0.002178494 0.0045820984 + 500200 0.0055733307 0.002016472 0.0047595958 + 500300 0.0051382959 0.0023847449 0.0049137499 + 500400 0.004525495 0.0022094289 0.004436821 + 500500 0.0044443143 0.0022040318 0.0043914677 + 500600 0.0042794941 0.0019443915 0.004050705 + 500700 0.0035095916 0.001651998 0.0033793752 + 500800 0.0051789805 0.0014859761 0.0040350055 + 500900 0.0037251403 0.0017888331 0.0036223006 + 501000 0.005196477 0.0015769704 0.0041346114 + 501100 0.0048340341 0.0016927793 0.0040720304 + 501200 0.0047134371 0.0018507837 0.0041706786 + 501300 0.0043296181 0.0019996355 0.0041306194 + 501400 0.0056750864 0.0020678129 0.0048610195 + 501500 0.0043584182 0.0023054272 0.0044505861 + 501600 0.0059924049 0.0022003219 0.0051497087 + 501700 0.0049630935 0.0023988592 0.0048416318 + 501800 0.0058468728 0.0024451022 0.0053228599 + 501900 0.0049186537 0.0028502889 0.0052711888 + 502000 0.0061707998 0.0028398213 0.0058770118 + 502100 0.005503032 0.0028803688 0.0055888923 + 502200 0.0070180528 0.0031244659 0.0065786637 + 502300 0.0066838755 0.0031566969 0.0064464169 + 502400 0.0058283947 0.0023332199 0.0052018829 + 502500 0.004509389 0.0025082531 0.004727718 + 502600 0.0039601786 0.0026125611 0.0045617115 + 502700 0.0045416411 0.0026236358 0.0048589748 + 502800 0.0063011943 0.002491442 0.0055928111 + 502900 0.0050682158 0.0024076976 0.0049022101 + 503000 0.0070107344 0.001862217 0.0053128128 + 503100 0.0061854647 0.0020742312 0.0051186397 + 503200 0.0041900694 0.001880071 0.0039423708 + 503300 0.0058227259 0.0021278756 0.0049937485 + 503400 0.005453523 0.0021369014 0.0048210572 + 503500 0.0063048575 0.0020907495 0.0051939215 + 503600 0.0053862005 0.0026757929 0.0053268135 + 503700 0.0033275451 0.0027795829 0.004417359 + 503800 0.004557141 0.0026406128 0.0048835807 + 503900 0.0058531039 0.0023728567 0.0052536813 + 504000 0.0036455145 0.0021363477 0.0039306244 + 504100 0.0049457892 0.0018438005 0.0042780562 + 504200 0.004395065 0.0015966349 0.0037598309 + 504300 0.0046427608 0.0016608848 0.0039459936 + 504400 0.0045025319 0.0016507706 0.0038668606 + 504500 0.0045890442 0.0019425051 0.0042011753 + 504600 0.0047648729 0.0016263507 0.0039715616 + 504700 0.0046581454 0.0015048587 0.0037975397 + 504800 0.0043827462 0.001824576 0.0039817089 + 504900 0.0040884205 0.0018720093 0.0038842788 + 505000 0.0042261644 0.0018175427 0.0038976079 + 505100 0.0057494313 0.0018561532 0.0046859514 + 505200 0.0063262964 0.0020478088 0.0051615328 + 505300 0.0046771356 0.0024535425 0.0047555702 + 505400 0.0054914877 0.0026326858 0.0053355274 + 505500 0.0052362328 0.0026905597 0.005267768 + 505600 0.0070355087 0.0023559431 0.0058187325 + 505700 0.0041237394 0.0027402428 0.0047698958 + 505800 0.0044894867 0.0030239292 0.0052335984 + 505900 0.0049179813 0.0024798941 0.004900463 + 506000 0.0055150845 0.0020895527 0.0048040083 + 506100 0.0056561347 0.0027135545 0.0054974333 + 506200 0.0054337959 0.0029230384 0.0055974848 + 506300 0.0065274065 0.0024525733 0.0056652812 + 506400 0.0053089612 0.0018536343 0.0044666386 + 506500 0.0044572255 0.0018064189 0.0040002096 + 506600 0.0050722866 0.0014997487 0.0039962647 + 506700 0.0032767142 0.0013797102 0.002992468 + 506800 0.0034362649 0.0013548045 0.0030460911 + 506900 0.0050170389 0.0017192413 0.0041885651 + 507000 0.0055718197 0.0018875544 0.0046299344 + 507100 0.0071455244 0.0022827922 0.00579973 + 507200 0.0047344092 0.0024193278 0.0047495449 + 507300 0.0050290498 0.0022646182 0.0047398537 + 507400 0.0058703886 0.0017460469 0.0046353788 + 507500 0.0048327524 0.0016765618 0.0040551821 + 507600 0.0042987642 0.0016261512 0.0037419492 + 507700 0.0044786554 0.0021650077 0.0043693459 + 507800 0.004213251 0.0023742269 0.0044479364 + 507900 0.0060305488 0.0019401768 0.0049083375 + 508000 0.003595985 0.0019049745 0.0036748734 + 508100 0.0033402846 0.001802375 0.0034464213 + 508200 0.0043488891 0.002163127 0.0043035958 + 508300 0.0048044042 0.0025134679 0.0048781356 + 508400 0.0035499684 0.0025288183 0.0042760684 + 508500 0.0044713204 0.0023492824 0.0045500104 + 508600 0.0058588449 0.002351898 0.0052355483 + 508700 0.0032789412 0.0025474405 0.0041612943 + 508800 0.0051226125 0.0023944953 0.0049157811 + 508900 0.0062531839 0.0025439781 0.0056217171 + 509000 0.0035942299 0.0026501611 0.0044191962 + 509100 0.0061266408 0.0021961913 0.0052116473 + 509200 0.0041447386 0.0024501888 0.0044901773 + 509300 0.0061417541 0.0024764782 0.0054993727 + 509400 0.0065466947 0.0022071231 0.0054293244 + 509500 0.0052427949 0.0020891604 0.0046695985 + 509600 0.004688901 0.002059927 0.0043677455 + 509700 0.005319515 0.0026855881 0.0053037868 + 509800 0.0074845041 0.0029748415 0.0066586208 + 509900 0.0079878654 0.00291482 0.0068463475 + 510000 0.0066976224 0.0027541766 0.0060506626 + 510100 0.00683835 0.0021812792 0.0055470296 + 510200 0.0069571827 0.0021433416 0.0055675799 + 510300 0.0069416195 0.0023640465 0.0057806248 + 510400 0.0058623055 0.0022858652 0.0051712187 + 510500 0.0051198073 0.0024065676 0.0049264727 + 510600 0.0040816845 0.0022519116 0.0042608657 + 510700 0.0062419196 0.0019902787 0.0050624735 + 510800 0.004801117 0.0025262548 0.0048893046 + 510900 0.0059795981 0.0021087622 0.0050518457 + 511000 0.0063875193 0.0018539342 0.0049977914 + 511100 0.0054673922 0.0017633445 0.0044543266 + 511200 0.005795674 0.0015987836 0.0044513419 + 511300 0.0045666154 0.0016318381 0.0038794692 + 511400 0.0052553269 0.0020294053 0.0046160115 + 511500 0.0057930053 0.0019662174 0.0048174622 + 511600 0.0055270902 0.0016826762 0.0044030408 + 511700 0.0041399938 0.0017255193 0.0037631725 + 511800 0.0051729386 0.0017139027 0.0042599584 + 511900 0.0041396625 0.0022103365 0.0042478267 + 512000 0.0054187933 0.00205081 0.0047178724 + 512100 0.0056454439 0.0024898735 0.0052684904 + 512200 0.0068296237 0.0024373531 0.0057988085 + 512300 0.0054543851 0.0021255845 0.0048101646 + 512400 0.00447135 0.0024816884 0.004682431 + 512500 0.0054418554 0.0026090002 0.0052874135 + 512600 0.0050686832 0.0024335164 0.0049282589 + 512700 0.0062524184 0.0024246974 0.0055020595 + 512800 0.0047736173 0.0026574487 0.0050069635 + 512900 0.0040728674 0.002671811 0.0046764254 + 513000 0.0061994319 0.0024946726 0.0055459555 + 513100 0.0062538144 0.0023801221 0.0054581714 + 513200 0.0053455585 0.0026299108 0.0052609278 + 513300 0.0046967656 0.0022179163 0.0045296056 + 513400 0.0038996581 0.0021689066 0.0040882696 + 513500 0.0039149384 0.0021444307 0.0040713145 + 513600 0.0043341152 0.0024228919 0.0045560892 + 513700 0.0047852266 0.0027363072 0.0050915359 + 513800 0.0048969481 0.0024886463 0.0048988629 + 513900 0.0051300205 0.001893264 0.0044181959 + 514000 0.005614362 0.0017692143 0.0045325331 + 514100 0.0054211534 0.0016662906 0.0043345145 + 514200 0.0038296943 0.0018453568 0.0037302845 + 514300 0.0062263199 0.0016673401 0.004731857 + 514400 0.0061946996 0.0021080595 0.0051570132 + 514500 0.0049183927 0.0022027334 0.0046235048 + 514600 0.0064182885 0.0016088657 0.0047678671 + 514700 0.0050388119 0.0017274156 0.0042074558 + 514800 0.0052376557 0.0021864596 0.0047643682 + 514900 0.0053547913 0.0023719811 0.0050075424 + 515000 0.0042433818 0.0026020279 0.0046905674 + 515100 0.0054477361 0.0024901747 0.0051714823 + 515200 0.0052281857 0.0019065957 0.0044798434 + 515300 0.0065536511 0.0021660396 0.0053916648 + 515400 0.0039901416 0.0024720998 0.0044359976 + 515500 0.0048997544 0.0019462009 0.0043577988 + 515600 0.0045650123 0.0019063118 0.0041531538 + 515700 0.0041162934 0.0018106048 0.003836593 + 515800 0.0050461063 0.0015311981 0.0040148285 + 515900 0.0046146387 0.0016262137 0.0038974812 + 516000 0.0035174612 0.0018358289 0.0035670794 + 516100 0.0042844152 0.0016509081 0.0037596438 + 516200 0.0055611281 0.0014246619 0.0041617796 + 516300 0.005136607 0.0019813589 0.0045095327 + 516400 0.0043396551 0.0021748914 0.0043108154 + 516500 0.0043006405 0.0021204066 0.0042371281 + 516600 0.004263579 0.0016289506 0.0037274309 + 516700 0.0045408959 0.0014671841 0.0037021563 + 516800 0.0029021403 0.001943065 0.0033714622 + 516900 0.0059783309 0.001760332 0.0047027917 + 517000 0.0045705432 0.0016934536 0.0039430178 + 517100 0.0049468442 0.0021404428 0.0045752177 + 517200 0.004555038 0.0026605313 0.0049024641 + 517300 0.0052369647 0.0025063917 0.0050839602 + 517400 0.004330215 0.0029978763 0.005129154 + 517500 0.0055578571 0.0028711662 0.005606674 + 517600 0.0047299052 0.0024803027 0.0048083029 + 517700 0.0047423011 0.0024190556 0.0047531569 + 517800 0.0053251604 0.0020217861 0.0046427635 + 517900 0.0058197363 0.0017676349 0.0046320364 + 518000 0.0046937168 0.0016494521 0.0039596408 + 518100 0.0043342057 0.0016191619 0.0037524037 + 518200 0.0055818627 0.0018660005 0.0046133236 + 518300 0.0048042523 0.0019743529 0.0043389459 + 518400 0.0050937389 0.0022712502 0.0047783248 + 518500 0.0064487381 0.0023938224 0.0055678107 + 518600 0.0047140933 0.0022674993 0.0045877171 + 518700 0.0062927264 0.0023209448 0.0054181461 + 518800 0.0054475856 0.0026373643 0.0053185978 + 518900 0.0043727702 0.0024855831 0.0046378059 + 519000 0.0046556641 0.0028674161 0.0051588758 + 519100 0.0055212701 0.0024771327 0.0051946328 + 519200 0.0043848974 0.0020756139 0.0042338056 + 519300 0.0045381871 0.0022370443 0.0044706833 + 519400 0.0046222962 0.0024174005 0.0046924369 + 519500 0.0037252776 0.002817078 0.004650613 + 519600 0.0057771277 0.0028654359 0.005708866 + 519700 0.0045003544 0.0033403785 0.0055553967 + 519800 0.0054131291 0.0037315303 0.0063958048 + 519900 0.004651672 0.0038220128 0.0061115076 + 520000 0.0050434872 0.0036480255 0.0061303669 + 520100 0.0061169838 0.0032543786 0.0062650815 + 520200 0.0057008896 0.0026115024 0.005417409 + 520300 0.0058616515 0.0024870899 0.0053721214 + 520400 0.0055688332 0.0023874843 0.0051283944 + 520500 0.0060654097 0.002484404 0.0054697228 + 520600 0.0050095443 0.0028558316 0.0053214666 + 520700 0.0048441201 0.0030830217 0.0054672371 + 520800 0.0046001051 0.002607227 0.0048713412 + 520900 0.0065132277 0.0023634371 0.0055691663 + 521000 0.0037069127 0.0024112798 0.0042357759 + 521100 0.0045263865 0.0020989574 0.0043267883 + 521200 0.0058255187 0.0019188448 0.0047860923 + 521300 0.0056548613 0.0022866326 0.0050698846 + 521400 0.0057180677 0.0021968144 0.0050111758 + 521500 0.006054992 0.0020747359 0.0050549273 + 521600 0.0054204845 0.0018491084 0.0045170031 + 521700 0.0050595869 0.0015769048 0.0040671702 + 521800 0.00429125 0.001683371 0.0037954706 + 521900 0.004160497 0.0012801153 0.0033278599 + 522000 0.0043488192 0.0015318305 0.003672265 + 522100 0.0037533835 0.0016263224 0.0034736908 + 522200 0.0046829056 0.0016752456 0.0039801132 + 522300 0.004603022 0.0020112177 0.0042767676 + 522400 0.0038600481 0.0023859312 0.0042857987 + 522500 0.0036600432 0.0022469683 0.0040483959 + 522600 0.0050387204 0.0022731068 0.004753102 + 522700 0.0046225004 0.0020466085 0.0043217454 + 522800 0.0061591162 0.0018474901 0.0048789301 + 522900 0.0058733193 0.0021453235 0.0050360978 + 523000 0.0057785358 0.0026381246 0.0054822476 + 523100 0.0058086284 0.0029752782 0.0058342125 + 523200 0.0053045463 0.0033197256 0.005930557 + 523300 0.0056368931 0.0025175604 0.0052919688 + 523400 0.0054357745 0.0020576795 0.0047330998 + 523500 0.0045152407 0.0022688592 0.0044912042 + 523600 0.0054775569 0.0025929659 0.0052889509 + 523700 0.0056957761 0.0027874973 0.0055908871 + 523800 0.0072141772 0.0024197701 0.0059704979 + 523900 0.0050966289 0.0027573896 0.0052658867 + 524000 0.0036952035 0.0029085073 0.0047272403 + 524100 0.0058049953 0.002612452 0.0054695981 + 524200 0.0049804089 0.0033325738 0.0057838687 + 524300 0.004271243 0.0034427836 0.005545036 + 524400 0.0054026763 0.0029469565 0.0056060862 + 524500 0.0051462743 0.0024733652 0.0050062971 + 524600 0.0051864714 0.0026963626 0.005249079 + 524700 0.0064426316 0.002571182 0.0057421647 + 524800 0.005406054 0.0022945869 0.0049553791 + 524900 0.0057138623 0.0022691303 0.0050814219 + 525000 0.0053074613 0.0026613026 0.0052735688 + 525100 0.0052577072 0.0031688864 0.0057566642 + 525200 0.0059542925 0.0033829437 0.006313572 + 525300 0.0054027386 0.0028180348 0.0054771952 + 525400 0.0039002838 0.0027143462 0.0046340172 + 525500 0.0050597481 0.0027312205 0.0052215653 + 525600 0.0075880083 0.0023357388 0.0060704617 + 525700 0.0058801604 0.0024164394 0.0053105809 + 525800 0.0056364664 0.0028568707 0.0056310689 + 525900 0.0049235435 0.0033485449 0.0057718515 + 526000 0.0053048523 0.0029586924 0.0055696743 + 526100 0.0035919151 0.0023545624 0.0041224581 + 526200 0.0041038347 0.0022221535 0.0042420097 + 526300 0.0043376887 0.0023080409 0.0044429971 + 526400 0.0047448765 0.0026320614 0.0049674303 + 526500 0.0045152225 0.0026403474 0.0048626834 + 526600 0.0055994586 0.0024555189 0.0052115024 + 526700 0.0034248408 0.002340957 0.0040266209 + 526800 0.0039971892 0.0024833456 0.0044507122 + 526900 0.0048292603 0.0023836693 0.0047605709 + 527000 0.0044772355 0.0025830502 0.0047866895 + 527100 0.0046630396 0.0024453473 0.0047404371 + 527200 0.0052724274 0.002432336 0.0050273589 + 527300 0.0028373624 0.0027964359 0.0041929502 + 527400 0.0039430992 0.0023777745 0.0043185187 + 527500 0.0054090314 0.0023759811 0.0050382388 + 527600 0.002929373 0.0023180902 0.003759891 + 527700 0.0042005719 0.002268532 0.004336001 + 527800 0.0072953928 0.002750324 0.0063410251 + 527900 0.0046688096 0.0029938168 0.0052917465 + 528000 0.0041370893 0.0024909946 0.0045272183 + 528100 0.0056945304 0.0019620629 0.0047648396 + 528200 0.0051985379 0.0025677196 0.005126375 + 528300 0.0048719708 0.0027115162 0.0051094393 + 528400 0.0040207091 0.0024323355 0.0044112783 + 528500 0.008099733 0.0020396175 0.0060262048 + 528600 0.004857595 0.0020991004 0.0044899479 + 528700 0.005155611 0.0019757452 0.0045132725 + 528800 0.0063363581 0.0024680208 0.005586697 + 528900 0.0057551823 0.0026058676 0.0054384964 + 529000 0.0057822176 0.0022160173 0.0050619525 + 529100 0.0052314068 0.0022714314 0.0048462644 + 529200 0.0040419062 0.0019752328 0.0039646085 + 529300 0.0054694946 0.0018209101 0.0045129269 + 529400 0.005525826 0.0027032016 0.005422944 + 529500 0.0035249839 0.0031436108 0.0048785638 + 529600 0.0063949814 0.0022703901 0.00541792 + 529700 0.0048449065 0.0024352411 0.0048198436 + 529800 0.0038710993 0.0025057492 0.0044110559 + 529900 0.0035913338 0.0022896252 0.0040572348 + 530000 0.004025439 0.0021796409 0.0041609116 + 530100 0.0055054913 0.0021316764 0.0048414104 + 530200 0.004662836 0.0023023495 0.0045973391 + 530300 0.0050819495 0.0023109283 0.0048122003 + 530400 0.0049697193 0.0019635192 0.0044095529 + 530500 0.0050245349 0.0017477613 0.0042207746 + 530600 0.0054880307 0.0018981388 0.0045992789 + 530700 0.0038854129 0.0027918618 0.0047042135 + 530800 0.0030971261 0.0028578368 0.0043822036 + 530900 0.0046396336 0.0025274611 0.0048110308 + 531000 0.0061496971 0.0021006601 0.0051274641 + 531100 0.003942664 0.0024380325 0.0043785624 + 531200 0.0053784531 0.0025994681 0.0052466755 + 531300 0.0040589994 0.0027927185 0.0047905073 + 531400 0.0042906615 0.0028627686 0.0049745785 + 531500 0.0042420365 0.0024396007 0.0045274781 + 531600 0.0041338267 0.0022819651 0.004316583 + 531700 0.0051967044 0.0026242374 0.0051819903 + 531800 0.0056961593 0.0024130521 0.0052166306 + 531900 0.0052508334 0.0029224754 0.00550687 + 532000 0.0046108669 0.0028793818 0.0051487928 + 532100 0.0053268141 0.0026098765 0.0052316678 + 532200 0.0042737838 0.0028470577 0.0049505607 + 532300 0.0060723965 0.0022620961 0.0052508537 + 532400 0.0043630915 0.0022714526 0.0044189117 + 532500 0.005759076 0.0023319795 0.0051665248 + 532600 0.0039721966 0.0024627492 0.0044178147 + 532700 0.0037964448 0.0027724839 0.0046410466 + 532800 0.0069269806 0.0022317266 0.0056410999 + 532900 0.0052320668 0.002354348 0.0049295059 + 533000 0.0054862846 0.0026839308 0.0053842115 + 533100 0.0059860538 0.002910234 0.0058564949 + 533200 0.0043883215 0.0029217455 0.0050816225 + 533300 0.0069007279 0.002367797 0.005764249 + 533400 0.0044460037 0.0026977982 0.0048860657 + 533500 0.0038453385 0.0031650502 0.0050576778 + 533600 0.0042990919 0.0033082497 0.005424209 + 533700 0.0046166648 0.0028810644 0.0051533292 + 533800 0.0071946642 0.0022606732 0.005801797 + 533900 0.0043421277 0.0022322144 0.0043693554 + 534000 0.0053836981 0.0022624715 0.0049122604 + 534100 0.0057333637 0.0020435452 0.0048654352 + 534200 0.0046205351 0.0019239585 0.0041981281 + 534300 0.0043759909 0.0019749801 0.0041287882 + 534400 0.0043723622 0.0022821136 0.0044341356 + 534500 0.0064669782 0.0024836541 0.0056666199 + 534600 0.0053992901 0.002679735 0.0053371981 + 534700 0.0049876905 0.0023443119 0.0047991908 + 534800 0.0048767244 0.0018868546 0.0042871174 + 534900 0.0048734234 0.0020307143 0.0044293524 + 535000 0.0045361321 0.0024068776 0.0046395051 + 535100 0.0038598892 0.0022537706 0.0041535598 + 535200 0.0037093726 0.0023198876 0.0041455944 + 535300 0.0058200876 0.0023561987 0.0052207731 + 535400 0.0040214392 0.0021999067 0.0041792088 + 535500 0.0053283215 0.0021840804 0.0048066137 + 535600 0.0050856007 0.0017131378 0.004216207 + 535700 0.0041746577 0.0015726541 0.0036273685 + 535800 0.0031498584 0.0019191818 0.0034695027 + 535900 0.0060209231 0.0017883815 0.0047518046 + 536000 0.0060685328 0.0018642805 0.0048511365 + 536100 0.0049621059 0.0021014525 0.0045437389 + 536200 0.0055513401 0.0023605364 0.0050928367 + 536300 0.0043818501 0.0029696806 0.0051263724 + 536400 0.0052789959 0.0028790008 0.0054772566 + 536500 0.0084113473 0.0025030039 0.0066429639 + 536600 0.0075315133 0.0026804486 0.0063873653 + 536700 0.0053195672 0.0030633716 0.0056815961 + 536800 0.0058334754 0.0026098017 0.0054809654 + 536900 0.0043435181 0.0024756003 0.0046134256 + 537000 0.0041578301 0.0027205673 0.0047669993 + 537100 0.0050098109 0.0029256014 0.0053913677 + 537200 0.0049368827 0.0028776081 0.00530748 + 537300 0.0042533814 0.0028406052 0.0049340664 + 537400 0.0061248467 0.002577896 0.005592469 + 537500 0.0053425137 0.0024121422 0.0050416607 + 537600 0.00419403 0.0025514424 0.0046156915 + 537700 0.0043984167 0.0022420152 0.0044068609 + 537800 0.0060509307 0.0020128573 0.0049910497 + 537900 0.0057582777 0.0021682095 0.0050023618 + 538000 0.005168106 0.0019183638 0.0044620409 + 538100 0.00415536 0.0022882644 0.0043334807 + 538200 0.0041758214 0.002094797 0.0041500841 + 538300 0.0060414073 0.0016009722 0.0045744774 + 538400 0.0059164627 0.001440212 0.004352221 + 538500 0.0059881408 0.0018887063 0.0048359943 + 538600 0.0054638882 0.0022798466 0.0049691041 + 538700 0.004676916 0.0025521609 0.0048540805 + 538800 0.0036823962 0.0024285518 0.0042409812 + 538900 0.0032520028 0.0023278175 0.0039284126 + 539000 0.0064569985 0.0025443511 0.005722405 + 539100 0.0058323304 0.0023683166 0.0052389167 + 539200 0.0058181532 0.0024261978 0.0052898201 + 539300 0.0063346496 0.0027685561 0.0058863914 + 539400 0.0049713382 0.0032664342 0.0057132647 + 539500 0.0051553469 0.0028072772 0.0053446745 + 539600 0.0034955774 0.002000709 0.0037211885 + 539700 0.0046341533 0.0018053916 0.004086264 + 539800 0.0058158875 0.0016858552 0.0045483623 + 539900 0.0033440158 0.0020741365 0.0037200192 + 540000 0.0059217478 0.0018056509 0.0047202611 + 540100 0.0058188436 0.0020188269 0.004882789 + 540200 0.0053669225 0.0019813497 0.0046228819 + 540300 0.0056309524 0.0021264207 0.0048979051 + 540400 0.0059687146 0.0019614176 0.0048991443 + 540500 0.0071577582 0.0022036206 0.0057265797 + 540600 0.0044357735 0.0023275145 0.0045107468 + 540700 0.003720775 0.0023254591 0.0041567781 + 540800 0.0042992901 0.0026158502 0.0047319071 + 540900 0.0058258956 0.0021921781 0.0050596111 + 541000 0.0042267588 0.0021452375 0.0042255953 + 541100 0.0042663757 0.0018815804 0.0039814372 + 541200 0.0051209425 0.0018726817 0.0043931456 + 541300 0.0048161694 0.0022325362 0.0046029946 + 541400 0.003410056 0.0026263498 0.0043047367 + 541500 0.0060970468 0.0021104368 0.005111327 + 541600 0.0054115585 0.0020121991 0.0046757006 + 541700 0.005550315 0.0024542955 0.0051860911 + 541800 0.0046569833 0.0030407556 0.0053328646 + 541900 0.0065198796 0.0023648156 0.0055738188 + 542000 0.0035914259 0.0020516067 0.0038192617 + 542100 0.004027831 0.0020051808 0.0039876289 + 542200 0.0050244724 0.0020811023 0.0045540849 + 542300 0.0041593742 0.0024232781 0.0044704701 + 542400 0.0034621805 0.0025172793 0.0042213213 + 542500 0.0047468793 0.0022263168 0.0045626714 + 542600 0.0059738078 0.0022147048 0.0051549383 + 542700 0.0050328936 0.0027857707 0.005262898 + 542800 0.0040358938 0.0027701607 0.0047565771 + 542900 0.0061454759 0.0026578754 0.0056826018 + 543000 0.0050489272 0.0022291438 0.0047141627 + 543100 0.0053874388 0.0024079489 0.0050595789 + 543200 0.0045328634 0.0024302986 0.0046613173 + 543300 0.0048580572 0.0024755301 0.0048666052 + 543400 0.0040171779 0.002471646 0.0044488508 + 543500 0.0056598939 0.0018505406 0.0046362697 + 543600 0.005848611 0.0015529006 0.0044315138 + 543700 0.0050739241 0.0016990497 0.0041963717 + 543800 0.0042209717 0.0019467347 0.0040242443 + 543900 0.0050311154 0.0021651464 0.0046413985 + 544000 0.0041655246 0.0026758865 0.0047261056 + 544100 0.0062185838 0.0023812783 0.0054419875 + 544200 0.0077343388 0.0025669031 0.006373648 + 544300 0.005050591 0.0027903521 0.0052761899 + 544400 0.007226173 0.0023742654 0.0059308974 + 544500 0.005130265 0.0019896907 0.004514743 + 544600 0.0052409765 0.002094925 0.0046744681 + 544700 0.0046914294 0.0024294572 0.0047385201 + 544800 0.0045133219 0.0026119667 0.0048333673 + 544900 0.0044826015 0.0023664504 0.0045727309 + 545000 0.0051121156 0.0020420349 0.0045581543 + 545100 0.0053803874 0.0019188337 0.0045669931 + 545200 0.0053647116 0.0022799689 0.0049204129 + 545300 0.0044422481 0.0020683904 0.0042548094 + 545400 0.0033663788 0.0019715546 0.0036284442 + 545500 0.0049923823 0.0015867938 0.0040439819 + 545600 0.0059574551 0.0016125929 0.0045447778 + 545700 0.0048046611 0.001825263 0.0041900572 + 545800 0.005824663 0.0020227069 0.0048895332 + 545900 0.0042698559 0.0021754563 0.004277026 + 546000 0.0043578576 0.0022632576 0.0044081407 + 546100 0.0040583638 0.002198756 0.0041962319 + 546200 0.0047029774 0.0024125192 0.0047272659 + 546300 0.0056260242 0.0025609863 0.0053300451 + 546400 0.0034356425 0.0024043193 0.0040952995 + 546500 0.0042306732 0.0019864245 0.004068709 + 546600 0.0041433197 0.0019824813 0.0040217715 + 546700 0.0049038611 0.0020612044 0.0044748235 + 546800 0.0042639962 0.0020043224 0.004103008 + 546900 0.0052710799 0.0019062284 0.0045005881 + 547000 0.0066669992 0.002154315 0.0054357287 + 547100 0.0061413883 0.0025319701 0.0055546847 + 547200 0.0030254062 0.0025678408 0.0040569079 + 547300 0.0046777581 0.0022667526 0.0045690867 + 547400 0.0060405154 0.0019033233 0.0048763895 + 547500 0.0066588726 0.0019681875 0.0052456014 + 547600 0.0050597946 0.0024286851 0.0049190528 + 547700 0.0046251098 0.0026985338 0.004974955 + 547800 0.0060958738 0.0026454609 0.0056457738 + 547900 0.0050132859 0.0025522635 0.0050197402 + 548000 0.0048546843 0.0023714008 0.0047608157 + 548100 0.0040929333 0.0026554505 0.0046699411 + 548200 0.0053919288 0.0025106214 0.0051644613 + 548300 0.0046740067 0.0022920559 0.0045925436 + 548400 0.005816646 0.0020822344 0.0049451149 + 548500 0.0050631929 0.0019517423 0.0044437825 + 548600 0.0049312768 0.0018535691 0.0042806819 + 548700 0.0068481014 0.001717803 0.0050883529 + 548800 0.0057663949 0.0018578809 0.0046960284 + 548900 0.0047880553 0.0019291643 0.0042857852 + 549000 0.005647146 0.0023733327 0.0051527873 + 549100 0.005955082 0.0021947139 0.0051257308 + 549200 0.0040082975 0.0021145905 0.0040874244 + 549300 0.0052782893 0.0019891543 0.0045870624 + 549400 0.0041237668 0.0020754653 0.0041051318 + 549500 0.0055532475 0.0024332307 0.0051664697 + 549600 0.0053535557 0.0025181818 0.005153135 + 549700 0.0034846362 0.0030958099 0.0048109042 + 549800 0.0059212735 0.002758143 0.0056725198 + 549900 0.0057608429 0.0023236346 0.0051590494 + 550000 0.0045939652 0.0022032395 0.0044643317 + 550100 0.0037323526 0.0020145162 0.0038515335 + 550200 0.0052089504 0.0017874963 0.0043512766 + 550300 0.004500074 0.0019714429 0.004186323 + 550400 0.0048810035 0.0022435691 0.004645938 + 550500 0.0042663666 0.0023390606 0.0044389129 + 550600 0.0048501483 0.0022594958 0.0046466781 + 550700 0.0045184594 0.0021241862 0.0043481154 + 550800 0.0046434911 0.0023434839 0.0046289522 + 550900 0.0051087154 0.0022932464 0.0048076923 + 551000 0.0048192033 0.0021711174 0.004543069 + 551100 0.0050727505 0.0022333439 0.0047300883 + 551200 0.005791656 0.002012016 0.0048625967 + 551300 0.0050885804 0.0022819228 0.0047864585 + 551400 0.0048236218 0.0022396143 0.0046137406 + 551500 0.0070503252 0.0016283797 0.0050984617 + 551600 0.0044409029 0.0019605985 0.0041463554 + 551700 0.0060555511 0.0026070818 0.0055875484 + 551800 0.0058308889 0.0021959086 0.0050657992 + 551900 0.0042057309 0.0018932022 0.0039632104 + 552000 0.0047984144 0.0019302616 0.0042919812 + 552100 0.0046190862 0.0021148146 0.0043882711 + 552200 0.0042768651 0.002328956 0.0044339755 + 552300 0.003312967 0.0022450634 0.0038756643 + 552400 0.0036442508 0.0019043076 0.0036979623 + 552500 0.0045792904 0.0018768082 0.0041306777 + 552600 0.0031660457 0.0020909654 0.0036492535 + 552700 0.0039195736 0.0020074154 0.0039365805 + 552800 0.0041600967 0.001949835 0.0039973825 + 552900 0.0056814093 0.0021148695 0.0049111882 + 553000 0.0044316611 0.0020235485 0.0042047567 + 553100 0.0032779102 0.0024635199 0.0040768663 + 553200 0.0062724871 0.0019422959 0.0050295356 + 553300 0.0058122063 0.0014643447 0.00432504 + 553400 0.0059535416 0.0016042485 0.0045345072 + 553500 0.0054425556 0.0024698445 0.0051486023 + 553600 0.0042715664 0.0026722028 0.0047746143 + 553700 0.0052049274 0.0022531065 0.0048149067 + 553800 0.0044114588 0.0019917296 0.0041629945 + 553900 0.005019873 0.0020902186 0.0045609374 + 554000 0.0048724991 0.0022581706 0.0046563537 + 554100 0.0041247776 0.0021034624 0.0041336264 + 554200 0.005230158 0.0015227596 0.004096978 + 554300 0.0055851201 0.0020506436 0.00479957 + 554400 0.0049064765 0.0024283642 0.0048432706 + 554500 0.0055257832 0.0021889441 0.0049086656 + 554600 0.0053455494 0.0022406453 0.0048716579 + 554700 0.0064986966 0.0026730186 0.0058715959 + 554800 0.0047959593 0.0029160204 0.0052765317 + 554900 0.006471976 0.0024125427 0.0055979684 + 555000 0.0048199236 0.0030314226 0.0054037287 + 555100 0.0053014895 0.0033913513 0.0060006781 + 555200 0.0065357944 0.0028693931 0.0060862294 + 555300 0.0054135004 0.0025289464 0.0051934037 + 555400 0.0057436291 0.0020738062 0.0049007487 + 555500 0.0037904234 0.0019676084 0.0038332075 + 555600 0.0041233701 0.001985574 0.0040150452 + 555700 0.006063 0.001598577 0.0045827098 + 555800 0.0053988216 0.0018088027 0.0044660352 + 555900 0.0052647816 0.0018307233 0.004421983 + 556000 0.0043853277 0.0019996375 0.004158041 + 556100 0.0038447135 0.0022144896 0.0041068096 + 556200 0.004958842 0.002127997 0.0045686771 + 556300 0.0048188125 0.0023337222 0.0047054815 + 556400 0.0048051071 0.0021403949 0.0045054086 + 556500 0.0050575357 0.0019753808 0.0044646366 + 556600 0.0054179298 0.0021179519 0.0047845893 + 556700 0.0031056624 0.0020357358 0.003564304 + 556800 0.0047824441 0.0019551935 0.0043090527 + 556900 0.0042412927 0.0021890562 0.0042765675 + 557000 0.0049296875 0.0024746358 0.0049009663 + 557100 0.0042721054 0.0025116584 0.0046143353 + 557200 0.0048072134 0.0021655477 0.004531598 + 557300 0.0050023537 0.0025096059 0.0049717019 + 557400 0.0050536706 0.0029729969 0.0054603503 + 557500 0.0056734761 0.0029830862 0.0057755002 + 557600 0.0060015705 0.0021667435 0.0051206414 + 557700 0.005033288 0.002144194 0.0046215155 + 557800 0.00523837 0.0020057976 0.0045840578 + 557900 0.0048486604 0.0020898024 0.0044762525 + 558000 0.0049463276 0.0023242504 0.004758771 + 558100 0.0051096864 0.0020377359 0.0045526597 + 558200 0.0045483317 0.0021476351 0.0043862671 + 558300 0.0041507479 0.0022509973 0.0042939435 + 558400 0.0053334765 0.0021878993 0.0048129698 + 558500 0.0038861547 0.0024494651 0.0043621819 + 558600 0.0044352415 0.0027335732 0.0049165437 + 558700 0.0057870176 0.0020676911 0.0049159888 + 558800 0.0051092973 0.0020211822 0.0045359144 + 558900 0.0064785841 0.00230617 0.0054948481 + 559000 0.0043688487 0.0025187759 0.0046690686 + 559100 0.0044935855 0.0021971957 0.0044088824 + 559200 0.0049416359 0.0022499604 0.0046821718 + 559300 0.0053359854 0.002413445 0.0050397503 + 559400 0.0045221477 0.0030577286 0.0052834732 + 559500 0.0052521066 0.0028591842 0.0054442054 + 559600 0.0040636593 0.002436944 0.0044370263 + 559700 0.0043246015 0.002125368 0.0042538828 + 559800 0.0051114218 0.0023872844 0.0049030624 + 559900 0.0058918302 0.0027504275 0.0056503127 + 560000 0.0064093462 0.0031291053 0.0062837054 + 560100 0.0060729024 0.0025741335 0.0055631402 + 560200 0.0061194885 0.0021625676 0.0051745034 + 560300 0.0046349769 0.0024547972 0.0047360748 + 560400 0.0051075739 0.0025494206 0.0050633046 + 560500 0.0051281554 0.0028335732 0.0053575871 + 560600 0.0032772103 0.0032526599 0.0048656618 + 560700 0.0044674242 0.0027695865 0.0049683968 + 560800 0.0050710021 0.0025364888 0.0050323727 + 560900 0.0055251157 0.0023370866 0.0050564795 + 561000 0.0052039099 0.0022622719 0.0048235713 + 561100 0.0050769531 0.0027883226 0.0052871354 + 561200 0.0064498497 0.0026542987 0.0058288341 + 561300 0.0036017295 0.002621181 0.0043939072 + 561400 0.004206566 0.0026095236 0.0046799428 + 561500 0.0046478216 0.0023907074 0.0046783071 + 561600 0.0049888696 0.002736511 0.0051919703 + 561700 0.0041836223 0.0026446832 0.0047038098 + 561800 0.0068578053 0.0024014708 0.0057767968 + 561900 0.0058495127 0.0019104121 0.0047894691 + 562000 0.0050983777 0.0022487807 0.0047581385 + 562100 0.0059747553 0.0023111634 0.0052518633 + 562200 0.0056388428 0.0020751077 0.0048504756 + 562300 0.0054779083 0.0020684032 0.0047645612 + 562400 0.0040993817 0.002414198 0.0044318624 + 562500 0.0046115122 0.0028224859 0.0050922146 + 562600 0.0066544027 0.0025397551 0.005814969 + 562700 0.0074955373 0.0024252014 0.0061144112 + 562800 0.0044636138 0.0027536356 0.0049505705 + 562900 0.0047588846 0.0022307195 0.004572983 + 563000 0.0060616198 0.0020455854 0.0050290389 + 563100 0.005611219 0.0022601964 0.0050219682 + 563200 0.0051858853 0.0023609568 0.0049133848 + 563300 0.0054360326 0.0025230713 0.0051986186 + 563400 0.0038014879 0.0028472427 0.0047182875 + 563500 0.0037714532 0.0028341622 0.0046904243 + 563600 0.0051438334 0.0019551062 0.0044868367 + 563700 0.0045488643 0.0020665859 0.00430548 + 563800 0.0045385299 0.0018884888 0.0041222965 + 563900 0.0040290187 0.0018242781 0.0038073108 + 564000 0.0043997931 0.0017174145 0.0038829377 + 564100 0.0047580164 0.0019064199 0.0042482561 + 564200 0.0039910361 0.0023872913 0.0043516294 + 564300 0.0052640516 0.0024250879 0.0050159883 + 564400 0.0075413638 0.0023396526 0.0060514176 + 564500 0.0074387955 0.0029699319 0.006631214 + 564600 0.0043817146 0.003694873 0.0058514982 + 564700 0.004109151 0.0030417378 0.0050642106 + 564800 0.0052158901 0.00257147 0.0051386659 + 564900 0.0048216327 0.0022272255 0.0046003729 + 565000 0.0054344654 0.0019176622 0.0045924381 + 565100 0.0040944942 0.0023389508 0.0043542096 + 565200 0.0044856034 0.003058305 0.0052660629 + 565300 0.0056420202 0.0027681028 0.0055450347 + 565400 0.0062712969 0.002764641 0.005851295 + 565500 0.0077591687 0.0024233073 0.0062422732 + 565600 0.0046909461 0.0020748412 0.0043836663 + 565700 0.004748616 0.0021739876 0.0045111971 + 565800 0.0049728644 0.0022705921 0.0047181738 + 565900 0.0052254287 0.0024067331 0.0049786238 + 566000 0.0050621302 0.0027815034 0.0052730207 + 566100 0.0049361047 0.0028373296 0.0052668186 + 566200 0.0051447584 0.0024639085 0.0049960943 + 566300 0.0048032478 0.002570619 0.0049347175 + 566400 0.0053431566 0.0022532643 0.0048830992 + 566500 0.0058516703 0.0026135977 0.0054937167 + 566600 0.0048309574 0.0032879602 0.005665697 + 566700 0.0052846372 0.0029515238 0.0055525562 + 566800 0.0061046131 0.0026136774 0.0056182916 + 566900 0.0058063172 0.0027813308 0.0056391276 + 567000 0.0059914488 0.0029786529 0.0059275691 + 567100 0.0056421402 0.0031551932 0.0059321841 + 567200 0.0048636411 0.003085854 0.0054796774 + 567300 0.0077936006 0.0025445446 0.0063804574 + 567400 0.005579526 0.0026794657 0.0054256386 + 567500 0.0043730167 0.0023228948 0.0044752389 + 567600 0.0039097291 0.0022243704 0.0041486902 + 567700 0.0034960561 0.0019875226 0.0037082377 + 567800 0.0045981092 0.0020639147 0.0043270466 + 567900 0.0035917092 0.0021803528 0.0039481472 + 568000 0.0063089338 0.0020727167 0.005177895 + 568100 0.0055816686 0.0021771309 0.0049243584 + 568200 0.0043595924 0.0021749455 0.0043206824 + 568300 0.0047785853 0.0020720599 0.0044240198 + 568400 0.0041301238 0.0017934743 0.0038262696 + 568500 0.0054451207 0.0017941048 0.0044741251 + 568600 0.0047132475 0.0021022026 0.0044220041 + 568700 0.0048710068 0.0020065718 0.0044040205 + 568800 0.0044336099 0.0017164622 0.0038986296 + 568900 0.0045796105 0.0017998488 0.0040538759 + 569000 0.0041369526 0.0017806823 0.0038168386 + 569100 0.0040258792 0.0015974165 0.0035789039 + 569200 0.0046680277 0.0018978914 0.0041954362 + 569300 0.0036308384 0.0022652697 0.004052323 + 569400 0.0054802555 0.0020382481 0.0047355614 + 569500 0.0067300447 0.0019385014 0.0052509453 + 569600 0.0036313658 0.002445643 0.0042329558 + 569700 0.0036027736 0.0021229508 0.0038961909 + 569800 0.0056460881 0.0019873213 0.0047662553 + 569900 0.0050268359 0.0019225914 0.0043967372 + 570000 0.0051339175 0.0021950732 0.0047219232 + 570100 0.0048405507 0.0023727071 0.0047551657 + 570200 0.0051211215 0.0019885747 0.0045091267 + 570300 0.0061297598 0.0016611436 0.0046781347 + 570400 0.0040666234 0.0021270379 0.0041285791 + 570500 0.004322568 0.0022993174 0.0044268313 + 570600 0.0047291109 0.0021352739 0.0044628832 + 570700 0.0046008836 0.0021211702 0.0043856676 + 570800 0.0051786752 0.0019494628 0.004498342 + 570900 0.0062254505 0.0017268259 0.0047909148 + 571000 0.0068823285 0.0017017302 0.0050891263 + 571100 0.0049498776 0.0023745564 0.0048108242 + 571200 0.0036800103 0.0027306997 0.0045419547 + 571300 0.0053700291 0.0020990142 0.0047420754 + 571400 0.0034965741 0.0019696681 0.0036906382 + 571500 0.0047592008 0.001681059 0.0040234781 + 571600 0.0041193898 0.001686567 0.0037140792 + 571700 0.0054669725 0.0022189993 0.0049097749 + 571800 0.0064934294 0.0026560311 0.0058520159 + 571900 0.005047058 0.0028623253 0.0053464242 + 572000 0.005998126 0.0024644319 0.0054166345 + 572100 0.0043491174 0.0023203107 0.0044608919 + 572200 0.0052337935 0.0023319929 0.0049080006 + 572300 0.0072045616 0.0023940229 0.005940018 + 572400 0.0054550143 0.0024196343 0.0051045242 + 572500 0.0049230177 0.002367782 0.0047908297 + 572600 0.0060671525 0.0023702291 0.0053564057 + 572700 0.0062847963 0.0023754855 0.0054687837 + 572800 0.0053567603 0.0028237978 0.0054603282 + 572900 0.0043655155 0.0026894889 0.0048381411 + 573000 0.0063725382 0.0022279938 0.0053644774 + 573100 0.0047699084 0.0025742942 0.0049219835 + 573200 0.0036180176 0.0028280552 0.0046087983 + 573300 0.0050248209 0.0029792412 0.0054523952 + 573400 0.0044223145 0.0029865528 0.0051631607 + 573500 0.0057885747 0.0023286736 0.0051777377 + 573600 0.0048237176 0.0021931474 0.0045673209 + 573700 0.0042547699 0.0024557432 0.0045498878 + 573800 0.0031182702 0.0023675255 0.0039022992 + 573900 0.0052423501 0.0022464255 0.0048266447 + 574000 0.0046406461 0.0023493008 0.0046333688 + 574100 0.004734204 0.0017032876 0.0040334036 + 574200 0.005099507 0.0014834884 0.003993402 + 574300 0.0035158464 0.0016571093 0.0033875649 + 574400 0.0054534886 0.0019244782 0.0046086171 + 574500 0.0051266865 0.0019386542 0.0044619452 + 574600 0.0033872137 0.0020081573 0.0036753015 + 574700 0.004655954 0.0019817619 0.0042733642 + 574800 0.0046185312 0.0020618404 0.0043350237 + 574900 0.0047995006 0.0023048497 0.0046671039 + 575000 0.0050755125 0.0026755071 0.0051736109 + 575100 0.0036707798 0.0024006589 0.0042073708 + 575200 0.0051468898 0.0022196228 0.0047528576 + 575300 0.0064164476 0.0016211148 0.0047792101 + 575400 0.0051481085 0.0018695341 0.0044033687 + 575500 0.003592246 0.0024615973 0.0042296559 + 575600 0.0034785956 0.0025856151 0.0042977364 + 575700 0.0047854945 0.002123119 0.0044784796 + 575800 0.0053542315 0.0018618491 0.0044971349 + 575900 0.0066491088 0.0018320604 0.0051046687 + 576000 0.0044632955 0.0019028983 0.0040996765 + 576100 0.0049400038 0.002159288 0.0045906961 + 576200 0.0056257127 0.0025529044 0.0053218099 + 576300 0.0065379809 0.0022652213 0.0054831338 + 576400 0.0064144884 0.0018842407 0.0050413718 + 576500 0.0066138068 0.0016959868 0.0049512198 + 576600 0.0051943681 0.001691939 0.004248542 + 576700 0.0051076808 0.0021260857 0.0046400223 + 576800 0.0057374598 0.0022202768 0.0050441828 + 576900 0.0051313803 0.002232652 0.0047582532 + 577000 0.0053677554 0.0025087556 0.0051506977 + 577100 0.0039931891 0.0031944649 0.0051598626 + 577200 0.0045661265 0.0029783113 0.0052257017 + 577300 0.0061150982 0.002926073 0.0059358479 + 577400 0.0063128481 0.0034037144 0.0065108193 + 577500 0.00529392 0.0032683196 0.0058739209 + 577600 0.0052953873 0.0029013563 0.0055076797 + 577700 0.0054031807 0.0025436719 0.00520305 + 577800 0.0049522059 0.0028277539 0.0052651677 + 577900 0.003186122 0.002391623 0.0039597924 + 578000 0.0041565062 0.0019792218 0.0040250022 + 578100 0.0046856165 0.0021640189 0.0044702207 + 578200 0.005004822 0.0024979706 0.0049612815 + 578300 0.0049643222 0.002297127 0.0047405043 + 578400 0.0048462687 0.0024736235 0.0048588964 + 578500 0.0053253421 0.0024362043 0.0050572711 + 578600 0.0048523498 0.0024553941 0.00484366 + 578700 0.0041173504 0.0031647435 0.0051912519 + 578800 0.0058969382 0.0027387727 0.0056411719 + 578900 0.0048351795 0.0027667317 0.0051465466 + 579000 0.005392456 0.0024834153 0.0051375148 + 579100 0.0050003489 0.0022460832 0.0047071924 + 579200 0.004761308 0.0020586608 0.0044021171 + 579300 0.0064933985 0.002085013 0.0052809825 + 579400 0.0044239087 0.0023406677 0.0045180602 + 579500 0.0044149344 0.0019855554 0.0041585309 + 579600 0.004343994 0.0020321108 0.0041701703 + 579700 0.0061534638 0.0024957909 0.0055244489 + 579800 0.0054074957 0.0026312662 0.005292768 + 579900 0.0038822773 0.0027822137 0.0046930221 + 580000 0.0045458864 0.0028466773 0.0050841058 + 580100 0.0062173217 0.0027678126 0.0058279007 + 580200 0.0048361142 0.0033189745 0.0056992494 + 580300 0.0060229706 0.0029449387 0.0059093696 + 580400 0.0055788728 0.0020902743 0.0048361257 + 580500 0.0053304907 0.0015617874 0.0041853883 + 580600 0.0060043773 0.0015750012 0.0045302807 + 580700 0.0042033116 0.0022161988 0.0042850163 + 580800 0.0037392645 0.0023529392 0.0041933584 + 580900 0.0053314339 0.0019321542 0.0045562193 + 581000 0.0045078405 0.0022429492 0.0044616519 + 581100 0.004653413 0.0026129934 0.0049033451 + 581200 0.0046418397 0.0029003329 0.0051849883 + 581300 0.0055802853 0.0030312157 0.0057777624 + 581400 0.0058276453 0.0030040272 0.0058723214 + 581500 0.0057710868 0.0027307924 0.0055712492 + 581600 0.0049846721 0.0022437484 0.0046971417 + 581700 0.0053645595 0.002238059 0.0048784281 + 581800 0.0041218909 0.002876401 0.0049051442 + 581900 0.003990832 0.0029297999 0.0048940375 + 582000 0.0065845461 0.0026587263 0.0058995576 + 582100 0.005644132 0.0028451555 0.0056231267 + 582200 0.0039747651 0.0029563596 0.0049126893 + 582300 0.0056126114 0.0023658176 0.0051282747 + 582400 0.0037075478 0.0024873975 0.0043122062 + 582500 0.0050110884 0.0023822924 0.0048486875 + 582600 0.0057463571 0.002143084 0.0049713691 + 582700 0.0065125666 0.0026221532 0.0058275571 + 582800 0.0047086628 0.002345687 0.004663232 + 582900 0.0061582236 0.0016433638 0.0046743645 + 583000 0.0054020617 0.0018412531 0.0045000803 + 583100 0.004836987 0.0017160122 0.0040967167 + 583200 0.0046984081 0.0022266216 0.0045391193 + 583300 0.0032951672 0.0022620211 0.0038838612 + 583400 0.0040623566 0.0017210981 0.0037205393 + 583500 0.0046090068 0.0019804218 0.0042489174 + 583600 0.0046019311 0.0019187379 0.0041837508 + 583700 0.0068769673 0.0023676715 0.0057524288 + 583800 0.0044378935 0.0023142313 0.004498507 + 583900 0.0045304084 0.0022479313 0.0044777417 + 584000 0.0036520832 0.0024147512 0.0042122609 + 584100 0.005192162 0.0022978101 0.0048533273 + 584200 0.0056412988 0.0021722692 0.004948846 + 584300 0.0056996831 0.0018859777 0.0046912905 + 584400 0.0057460235 0.0021211956 0.0049493165 + 584500 0.0049503433 0.0025916272 0.0050281243 + 584600 0.0034366684 0.0024101098 0.004101595 + 584700 0.0057011918 0.0021863047 0.00499236 + 584800 0.0046062865 0.0021186076 0.0043857643 + 584900 0.0037326112 0.00263873 0.0044758746 + 585000 0.0056768629 0.0028334697 0.0056275507 + 585100 0.0050605832 0.0027540462 0.005244802 + 585200 0.0054018867 0.0020682263 0.0047269674 + 585300 0.0051439537 0.0017651079 0.0042968976 + 585400 0.0055837263 0.0021888048 0.0049370451 + 585500 0.0052868487 0.002050249 0.0046523698 + 585600 0.0055739294 0.0017872622 0.0045306806 + 585700 0.0045102005 0.0019919907 0.004211855 + 585800 0.0048682387 0.0020703826 0.0044664689 + 585900 0.0044081675 0.002029607 0.004199252 + 586000 0.0047445369 0.0019135712 0.0042487729 + 586100 0.0061438683 0.0023290354 0.0053529706 + 586200 0.0064298934 0.0026815881 0.0058463013 + 586300 0.0063310353 0.0026776793 0.0057937357 + 586400 0.0056225587 0.0023231989 0.005090552 + 586500 0.004513313 0.0022252042 0.0044466005 + 586600 0.0036709334 0.0025141921 0.0043209797 + 586700 0.0039206763 0.0027882455 0.0047179534 + 586800 0.0056586078 0.0025878302 0.0053729262 + 586900 0.0043161426 0.0023246934 0.0044490448 + 587000 0.005302919 0.0018250371 0.0044350675 + 587100 0.0053848123 0.0017673888 0.0044177261 + 587200 0.0060450607 0.001607223 0.0045825263 + 587300 0.0033986866 0.0016475711 0.0033203622 + 587400 0.0048842299 0.0015627839 0.0039667408 + 587500 0.0048093807 0.001503945 0.0038710621 + 587600 0.0064296816 0.0016741785 0.0048387874 + 587700 0.004477964 0.0017481161 0.003952114 + 587800 0.004673766 0.001872592 0.0041729612 + 587900 0.0045154712 0.0019943067 0.0042167651 + 588000 0.0058179436 0.0021686087 0.0050321278 + 588100 0.0063296355 0.0028528066 0.005968174 + 588200 0.0063104763 0.0030326314 0.0061385689 + 588300 0.0053733711 0.002671832 0.0053165381 + 588400 0.0069668213 0.002331082 0.0057600644 + 588500 0.0042131761 0.0027724587 0.0048461313 + 588600 0.0049260723 0.0026324256 0.0050569768 + 588700 0.0061105632 0.0027176386 0.0057251814 + 588800 0.0044183313 0.0023861135 0.0045607609 + 588900 0.0062797917 0.0017388073 0.0048296423 + 589000 0.0053554554 0.0017750262 0.0044109144 + 589100 0.0052395848 0.0019123143 0.0044911724 + 589200 0.005649998 0.0016765471 0.0044574055 + 589300 0.0048455209 0.0020097164 0.0043946212 + 589400 0.0049680434 0.0025145261 0.004959735 + 589500 0.0048758217 0.0023823071 0.0047821256 + 589600 0.0069714655 0.0019972605 0.0054285287 + 589700 0.0061939342 0.0020663066 0.0051148836 + 589800 0.0040019715 0.0022239792 0.0041936996 + 589900 0.0054484724 0.0025713165 0.0052529866 + 590000 0.0055838244 0.0025997242 0.0053480128 + 590100 0.0056311476 0.0026402196 0.0054118 + 590200 0.0045600356 0.0029196214 0.0051640139 + 590300 0.0056221651 0.0029479643 0.0057151237 + 590400 0.0053037629 0.0028772134 0.0054876593 + 590500 0.0053861522 0.002774568 0.0054255648 + 590600 0.0052524451 0.0027616944 0.0053468823 + 590700 0.005687739 0.0024413732 0.0052408072 + 590800 0.005327012 0.0026521622 0.0052740509 + 590900 0.0050047274 0.0026926897 0.005155954 + 591000 0.0047363931 0.0029678113 0.0052990048 + 591100 0.0057592426 0.002838585 0.0056732123 + 591200 0.0054888565 0.0028349957 0.0055365422 + 591300 0.0062098712 0.0028917928 0.0059482138 + 591400 0.0048013896 0.0026163868 0.0049795707 + 591500 0.0069362598 0.002417891 0.0058318314 + 591600 0.0042975064 0.0025297769 0.0046449558 + 591700 0.0035558072 0.0028050285 0.0045551523 + 591800 0.0041361128 0.0024496664 0.0044854094 + 591900 0.004860677 0.0022450309 0.0046373953 + 592000 0.0047403664 0.0022856139 0.004618763 + 592100 0.0045160144 0.0025640772 0.004786803 + 592200 0.0048421437 0.0026499851 0.0050332277 + 592300 0.0045459374 0.0024911724 0.004728626 + 592400 0.0057099908 0.0021439264 0.0049543125 + 592500 0.0057702407 0.0018874768 0.0047275172 + 592600 0.0059749222 0.0021945078 0.0051352899 + 592700 0.0054896634 0.0021052349 0.0048071786 + 592800 0.0052247694 0.0022646772 0.0048362434 + 592900 0.0043722841 0.0025692903 0.0047212739 + 593000 0.0046009259 0.0028896647 0.0051541829 + 593100 0.0064131909 0.0024141139 0.0055706063 + 593200 0.0060932381 0.002212048 0.0052110637 + 593300 0.0051408667 0.002031581 0.0045618514 + 593400 0.0058225232 0.002196462 0.0050622351 + 593500 0.0046498137 0.003115453 0.0054040331 + 593600 0.0043473891 0.003080368 0.0052200985 + 593700 0.0060869269 0.0022570863 0.0052529956 + 593800 0.0055092603 0.0017456013 0.0044571903 + 593900 0.0054248965 0.0018515588 0.004521625 + 594000 0.0047615775 0.0021745107 0.0045180997 + 594100 0.0045181701 0.0023870431 0.00461083 + 594200 0.0036143221 0.0024367859 0.00421571 + 594300 0.003974357 0.0022068963 0.0041630251 + 594400 0.0048553709 0.0023302648 0.0047200177 + 594500 0.0038107739 0.0024341095 0.0043097248 + 594600 0.0045993946 0.0022795729 0.0045433374 + 594700 0.0054976161 0.0022087075 0.0049145654 + 594800 0.0053993254 0.001955223 0.0046127034 + 594900 0.004650678 0.002448248 0.0047372536 + 595000 0.0051513077 0.0021824852 0.0047178945 + 595100 0.0052257158 0.0019043536 0.0044763856 + 595200 0.0058765106 0.0019741531 0.0048664982 + 595300 0.0065246371 0.0019511974 0.0051625422 + 595400 0.0045766779 0.0017792743 0.0040318579 + 595500 0.0048113662 0.0022210946 0.0045891889 + 595600 0.005632944 0.0020008283 0.004773293 + 595700 0.0047322748 0.0018307627 0.0041599293 + 595800 0.0063239196 0.0019812652 0.0050938193 + 595900 0.005473129 0.0021331571 0.0048269627 + 596000 0.0050048901 0.0024547859 0.0049181302 + 596100 0.0060253459 0.0024626162 0.0054282161 + 596200 0.005422019 0.0021810368 0.0048496868 + 596300 0.0055884721 0.0019972391 0.0047478152 + 596400 0.0061635212 0.001828353 0.0048619611 + 596500 0.0047397326 0.0019519134 0.0042847505 + 596600 0.0058896097 0.0022336338 0.0051324261 + 596700 0.0047341535 0.002369863 0.0046999541 + 596800 0.0045741426 0.0025141491 0.0047654849 + 596900 0.005337334 0.0021601309 0.0047870999 + 597000 0.0061277343 0.0021172384 0.0051332327 + 597100 0.0036795387 0.0025224095 0.0043334325 + 597200 0.0058694246 0.0025360382 0.0054248956 + 597300 0.0046305382 0.0021926977 0.0044717907 + 597400 0.0056575838 0.0020280863 0.0048126783 + 597500 0.0062503851 0.0026014208 0.0056777823 + 597600 0.0037152694 0.0032871415 0.0051157506 + 597700 0.00771326 0.0024935039 0.0062898741 + 597800 0.0040256438 0.0021219145 0.0041032861 + 597900 0.0044198802 0.0019964589 0.0041718687 + 598000 0.0044679102 0.0022707963 0.0044698459 + 598100 0.0050917027 0.0024086888 0.0049147612 + 598200 0.0054250737 0.002540289 0.0052104424 + 598300 0.006305976 0.0024264458 0.0055301684 + 598400 0.0040358751 0.0022316632 0.0042180705 + 598500 0.0033344307 0.0019989719 0.003640137 + 598600 0.0034738689 0.0023782545 0.0040880494 + 598700 0.0039590814 0.0026611544 0.0046097647 + 598800 0.0057954655 0.0023354018 0.0051878575 + 598900 0.0062037578 0.0019928266 0.0050462386 + 599000 0.0042501876 0.0018293697 0.0039212589 + 599100 0.0041485661 0.0020379257 0.0040797981 + 599200 0.0066555938 0.0020083351 0.0052841351 + 599300 0.0045276838 0.0023003655 0.0045288349 + 599400 0.0057774175 0.0024949729 0.0053385456 + 599500 0.0046491947 0.0029501216 0.0052383972 + 599600 0.004673742 0.0030391208 0.0053394782 + 599700 0.0043514765 0.0031535601 0.0052953024 + 599800 0.0043890737 0.0030622054 0.0052224527 + 599900 0.006153685 0.0025380814 0.0055668482 + 600000 0.0053250562 0.0023735739 0.0049945 + 600100 0.0051923368 0.0022278712 0.0047834745 + 600200 0.0051601375 0.0020776365 0.0046173917 + 600300 0.0047451337 0.0018672369 0.0042027324 + 600400 0.0072017421 0.0019302936 0.0054749011 + 600500 0.0057781583 0.0020605644 0.0049045017 + 600600 0.0053688308 0.0026460537 0.0052885251 + 600700 0.0065266991 0.0023957225 0.0056080822 + 600800 0.0053747177 0.0022308544 0.0048762233 + 600900 0.0041958749 0.0020003326 0.0040654898 + 601000 0.0044500222 0.0016525808 0.0038428261 + 601100 0.004507416 0.0019866672 0.004205161 + 601200 0.0051222044 0.0022547829 0.0047758679 + 601300 0.0048267342 0.0023113338 0.004686992 + 601400 0.0041048859 0.0022274836 0.0042478571 + 601500 0.0049359514 0.0020777653 0.0045071789 + 601600 0.0046811202 0.0023189063 0.0046228951 + 601700 0.0044403219 0.0027660103 0.0049514812 + 601800 0.0046581458 0.002279938 0.0045726192 + 601900 0.0054774248 0.0024664524 0.0051623724 + 602000 0.0044761111 0.0027990972 0.0050021831 + 602100 0.0053949784 0.0021598374 0.0048151783 + 602200 0.0065961549 0.0019629617 0.0052095067 + 602300 0.0058830721 0.0019253204 0.0048208949 + 602400 0.004323113 0.0019698611 0.0040976433 + 602500 0.0032642145 0.0021476033 0.0037542088 + 602600 0.0041136691 0.0024186966 0.0044433931 + 602700 0.0053804627 0.0022303295 0.004878526 + 602800 0.0043982191 0.0021097309 0.0042744793 + 602900 0.0056686651 0.0020894482 0.0048794943 + 603000 0.0056659766 0.0021676326 0.0049563555 + 603100 0.0039847668 0.0023057418 0.0042669943 + 603200 0.0058915925 0.0019705007 0.0048702689 + 603300 0.0051528896 0.0016406049 0.0041767928 + 603400 0.0057263824 0.002041463 0.0048599169 + 603500 0.0044328977 0.0021793681 0.0043611849 + 603600 0.0037981835 0.0019397355 0.0038091539 + 603700 0.0053760914 0.0017484471 0.004394492 + 603800 0.0046883621 0.0020180116 0.0043255648 + 603900 0.0048092774 0.0025723477 0.004939414 + 604000 0.0055031443 0.0020055891 0.004714168 + 604100 0.0049165117 0.0016542489 0.0040740945 + 604200 0.0040828727 0.0019696457 0.0039791847 + 604300 0.0043682844 0.0024886216 0.0046386366 + 604400 0.0046197689 0.0026497709 0.0049235634 + 604500 0.0055894567 0.0021413627 0.0048924234 + 604600 0.0051903511 0.0019364268 0.0044910528 + 604700 0.0045037919 0.0020095349 0.004226245 + 604800 0.004439308 0.0022324465 0.0044174184 + 604900 0.005534611 0.0018035673 0.0045276336 + 605000 0.0043921597 0.0018216509 0.003983417 + 605100 0.0049845736 0.0022729573 0.0047263021 + 605200 0.0058519356 0.0026644841 0.0055447336 + 605300 0.0060847891 0.002632108 0.0056269651 + 605400 0.0058721197 0.0024658698 0.0053560537 + 605500 0.0048410899 0.0021976889 0.0045804128 + 605600 0.0045105084 0.002031265 0.0042512809 + 605700 0.0054546884 0.0023471 0.0050318294 + 605800 0.0044642467 0.0026603244 0.0048575708 + 605900 0.0052115226 0.0024833467 0.005048393 + 606000 0.0045358862 0.0021000657 0.0043325722 + 606100 0.0044181697 0.002163983 0.0043385509 + 606200 0.0043422965 0.0020795148 0.0042167388 + 606300 0.0066575095 0.0017280339 0.0050047768 + 606400 0.0049151812 0.001729473 0.0041486637 + 606500 0.0045643775 0.00192391 0.0041704395 + 606600 0.0057121431 0.0019577762 0.0047692216 + 606700 0.0050703909 0.0018009024 0.0042964854 + 606800 0.0064835237 0.0014302314 0.0046213407 + 606900 0.0038252176 0.0014071276 0.0032898519 + 607000 0.003533358 0.0016815253 0.0034206 + 607100 0.0034298026 0.0019241227 0.0036122287 + 607200 0.0048350844 0.0017218934 0.0041016615 + 607300 0.0033857435 0.0016487304 0.003315151 + 607400 0.0050785215 0.0014842241 0.0039838089 + 607500 0.0043484731 0.0018211387 0.0039614028 + 607600 0.003566615 0.0020247633 0.0037802066 + 607700 0.0043900488 0.0020668224 0.0042275495 + 607800 0.0054984024 0.0023190031 0.005025248 + 607900 0.0066379578 0.0029109345 0.0061780544 + 608000 0.0055598457 0.0030563313 0.0057928179 + 608100 0.0053966565 0.002798497 0.0054546638 + 608200 0.0041338743 0.0026660756 0.0047007168 + 608300 0.0045551021 0.0024265738 0.0046685381 + 608400 0.006568203 0.0023811538 0.0056139412 + 608500 0.0040888072 0.0025593743 0.004571834 + 608600 0.0043456235 0.0024356597 0.0045745213 + 608700 0.0060409638 0.0018571908 0.0048304776 + 608800 0.0058438598 0.0018232312 0.0046995059 + 608900 0.006004032 0.0019789492 0.0049340588 + 609000 0.0050607345 0.0023679371 0.0048587673 + 609100 0.0046156525 0.0019710778 0.0042428442 + 609200 0.0045967442 0.0016086155 0.0038710755 + 609300 0.0059047244 0.0019481547 0.0048543863 + 609400 0.0055602021 0.0024430208 0.0051796827 + 609500 0.0041727583 0.0027666172 0.0048203967 + 609600 0.0048091172 0.0025705369 0.0049375242 + 609700 0.0043510872 0.0023665611 0.0045081118 + 609800 0.005206994 0.0022562946 0.004819112 + 609900 0.0040851589 0.0024266715 0.0044373356 + 610000 0.0048453122 0.0024051044 0.0047899065 + 610100 0.0044807184 0.0023205294 0.004525883 + 610200 0.0044065311 0.0024904142 0.0046592538 + 610300 0.0063767003 0.0020675909 0.0052061231 + 610400 0.0052350124 0.002591465 0.0051680727 + 610500 0.0064631881 0.0030060703 0.0061871707 + 610600 0.0046917817 0.0026273403 0.0049365766 + 610700 0.0041433235 0.0017814437 0.0038207357 + 610800 0.0053980184 0.0015865843 0.0042434214 + 610900 0.0059560617 0.0020122326 0.0049437317 + 611000 0.0059825823 0.0021664867 0.0051110389 + 611100 0.0054522541 0.0019767842 0.0046603155 + 611200 0.0043686732 0.0021365528 0.0042867592 + 611300 0.0049592097 0.0021467476 0.0045876086 + 611400 0.0053829924 0.00208063 0.0047300716 + 611500 0.0054176248 0.0021074343 0.0047739216 + 611600 0.0040710466 0.0026186241 0.0046223424 + 611700 0.0047167969 0.0027069152 0.0050284637 + 611800 0.0047889997 0.0025358679 0.0048929537 + 611900 0.0043770268 0.0024141511 0.004568469 + 612000 0.0045986959 0.0020628682 0.0043262888 + 612100 0.0048910599 0.0021146283 0.0045219469 + 612200 0.0046236932 0.0026374171 0.004913141 + 612300 0.0049948833 0.0025406442 0.0049990633 + 612400 0.0042780397 0.0020545487 0.0041601463 + 612500 0.0040714977 0.0020563876 0.0040603278 + 612600 0.0057202277 0.0020535336 0.0048689582 + 612700 0.0061748031 0.0021679693 0.0052071302 + 612800 0.0037393841 0.0021654217 0.0040058998 + 612900 0.0045130221 0.0019423264 0.0041635795 + 613000 0.0052607902 0.001859876 0.0044491712 + 613100 0.0040937432 0.0025051568 0.004520046 + 613200 0.0052245028 0.0018813284 0.0044527633 + 613300 0.0046609094 0.0015406041 0.0038346454 + 613400 0.0040357494 0.0016795821 0.0036659276 + 613500 0.0049109961 0.0015273187 0.0039444496 + 613600 0.0038297486 0.0017335481 0.0036185025 + 613700 0.005237457 0.0014093008 0.0039871117 + 613800 0.0036330253 0.0013500078 0.0031381374 + 613900 0.004394622 0.0016292279 0.0037922059 + 614000 0.0055512133 0.0016394119 0.0043716497 + 614100 0.0033392815 0.0015896177 0.0032331703 + 614200 0.0042461685 0.001492845 0.0035827561 + 614300 0.0058257262 0.0017078365 0.0045751861 + 614400 0.0056881367 0.0018670217 0.0046666515 + 614500 0.0048485166 0.0018422658 0.0042286451 + 614600 0.0040512309 0.001645056 0.0036390212 + 614700 0.0045304479 0.0018352233 0.0040650531 + 614800 0.0038727677 0.0022118342 0.004117962 + 614900 0.0037916265 0.0024098281 0.0042760193 + 615000 0.0042176584 0.0017797123 0.003855591 + 615100 0.0061138681 0.0015509966 0.0045601661 + 615200 0.0054113915 0.0019054779 0.0045688972 + 615300 0.0041271695 0.0027278208 0.0047591621 + 615400 0.0052153877 0.0029214117 0.0054883603 + 615500 0.004793971 0.0020710263 0.0044305589 + 615600 0.004138146 0.0020102637 0.0040470075 + 615700 0.0044327345 0.002187274 0.0043690105 + 615800 0.0058516503 0.0018461544 0.0047262635 + 615900 0.0065407361 0.0020272045 0.0052464731 + 616000 0.0051881886 0.002592717 0.0051462786 + 616100 0.003837684 0.0025177092 0.0044065692 + 616200 0.0059031089 0.002107387 0.0050128234 + 616300 0.00583192 0.002223385 0.0050937831 + 616400 0.0054435045 0.0025798535 0.0052590783 + 616500 0.0046041874 0.002461751 0.0047278745 + 616600 0.0061574066 0.0021681603 0.0051987589 + 616700 0.0047348293 0.0026742579 0.0050046817 + 616800 0.0035516777 0.0029646958 0.0047127871 + 616900 0.0044848245 0.0026513603 0.0048587349 + 617000 0.0049517836 0.0023856472 0.0048228531 + 617100 0.0046457178 0.0020401329 0.0043266972 + 617200 0.0045045946 0.0019031618 0.0041202669 + 617300 0.0068110496 0.0019038815 0.0052561949 + 617400 0.0047803818 0.002395717 0.0047485611 + 617500 0.0052556533 0.0025569267 0.0051436935 + 617600 0.0048927737 0.0028869456 0.0052951077 + 617700 0.0042618982 0.0030312032 0.0051288562 + 617800 0.0046338249 0.0028899038 0.0051706145 + 617900 0.0060684584 0.0022534314 0.0052402508 + 618000 0.0057880345 0.0022323041 0.0050811023 + 618100 0.005214687 0.002130533 0.0046971367 + 618200 0.0048455591 0.0020066945 0.0043916181 + 618300 0.0052590363 0.0017051076 0.0042935395 + 618400 0.0043967357 0.0017189625 0.0038829808 + 618500 0.0055488351 0.0017334525 0.0044645198 + 618600 0.0041961022 0.0019250703 0.0039903394 + 618700 0.0040643501 0.0017954215 0.0037958437 + 618800 0.0045993293 0.0015869514 0.0038506838 + 618900 0.0040624691 0.0018512324 0.0038507289 + 619000 0.0037251591 0.0018965683 0.0037300451 + 619100 0.0062023456 0.0018104882 0.0048632052 + 619200 0.0045998756 0.0022067339 0.0044707352 + 619300 0.0045081589 0.0025797222 0.0047985816 + 619400 0.0046268111 0.0026170835 0.0048943421 + 619500 0.003219306 0.0023457757 0.0039302779 + 619600 0.0048224076 0.0017779151 0.0041514438 + 619700 0.0049464104 0.0017941006 0.004228662 + 619800 0.0042063704 0.0016940673 0.0037643902 + 619900 0.005106122 0.0018045929 0.0043177623 + 620000 0.0044278464 0.0019235971 0.0041029278 + 620100 0.0043162431 0.0023825751 0.004506976 + 620200 0.0048456849 0.002446585 0.0048315705 + 620300 0.0067651998 0.0020879817 0.0054177285 + 620400 0.0041466803 0.0028435653 0.0048845095 + 620500 0.0052929719 0.0034085991 0.0060137337 + 620600 0.0052917723 0.0036858638 0.006290408 + 620700 0.0042548671 0.0033700569 0.0054642493 + 620800 0.0065818056 0.0027272418 0.0059667243 + 620900 0.0055124027 0.0023433273 0.005056463 + 621000 0.0048642478 0.0025391538 0.0049332758 + 621100 0.0041027017 0.0024180698 0.0044373683 + 621200 0.005387674 0.0024843949 0.0051361407 + 621300 0.0053318621 0.0027513444 0.0053756203 + 621400 0.0044139363 0.0028044446 0.0049769289 + 621500 0.0054543163 0.0025668798 0.0052514261 + 621600 0.0054456173 0.0027056228 0.0053858875 + 621700 0.0056413401 0.0026635871 0.0054401842 + 621800 0.0058271818 0.0020148299 0.0048828959 + 621900 0.0050115225 0.0020928403 0.004559449 + 622000 0.0054314449 0.0021543662 0.0048276555 + 622100 0.0052691813 0.0021078945 0.0047013197 + 622200 0.0054480627 0.0023136176 0.004995086 + 622300 0.0057243689 0.0024292731 0.005246736 + 622400 0.0050841528 0.0022032422 0.0047055986 + 622500 0.0060356811 0.0021222613 0.0050929481 + 622600 0.0048995914 0.0021113047 0.0045228224 + 622700 0.0048154551 0.0019710144 0.0043411212 + 622800 0.0044431358 0.0023705001 0.004557356 + 622900 0.005901811 0.0025726307 0.0054774283 + 623000 0.0052898325 0.0026709143 0.0052745037 + 623100 0.0056074346 0.0026132226 0.0053731318 + 623200 0.0033188788 0.0031632455 0.0047967562 + 623300 0.0042801315 0.0028731309 0.0049797581 + 623400 0.0067990512 0.0023847001 0.0057311081 + 623500 0.004584067 0.0021272064 0.0043834269 + 623600 0.0058148825 0.0019868721 0.0048488845 + 623700 0.0044906605 0.001966891 0.0041771379 + 623800 0.0050101027 0.0021213739 0.0045872838 + 623900 0.0041308774 0.0022590918 0.004292258 + 624000 0.0039088916 0.0021258761 0.0040497836 + 624100 0.0067143641 0.0019403738 0.0052450999 + 624200 0.0042684698 0.0024479993 0.0045488868 + 624300 0.0034836813 0.0020500657 0.0037646901 + 624400 0.0049981541 0.0016871721 0.004147201 + 624500 0.00406509 0.0015825335 0.00358332 + 624600 0.0044498772 0.0016054629 0.0037956368 + 624700 0.0055950397 0.0020721753 0.0048259839 + 624800 0.0035597631 0.0023670798 0.0041191507 + 624900 0.0068086764 0.0022343328 0.0055854782 + 625000 0.0048656857 0.0025869298 0.0049817595 + 625100 0.0052158221 0.0023580585 0.004925221 + 625200 0.0058551533 0.0021285191 0.0050103524 + 625300 0.0053019161 0.0020973334 0.0047068702 + 625400 0.0040714243 0.0024396637 0.0044435679 + 625500 0.0047771684 0.0024940706 0.0048453331 + 625600 0.0044665783 0.0020710149 0.0042694089 + 625700 0.0047428876 0.0017047169 0.0040391069 + 625800 0.0061800942 0.0021315332 0.0051732984 + 625900 0.0040623507 0.0025865355 0.0045859737 + 626000 0.0042000536 0.0022702762 0.0043374901 + 626100 0.0049874336 0.002068315 0.0045230675 + 626200 0.0048294883 0.002125679 0.0045026928 + 626300 0.0039624165 0.0021900756 0.0041403275 + 626400 0.0050521584 0.0021750688 0.004661678 + 626500 0.0045628492 0.002671477 0.0049172543 + 626600 0.0058034392 0.0028381132 0.0056944934 + 626700 0.0043802864 0.0027828709 0.0049387931 + 626800 0.0055787823 0.0022801198 0.0050259267 + 626900 0.0047261128 0.002642978 0.0049691117 + 627000 0.0046310906 0.0027162425 0.0049956074 + 627100 0.0052641576 0.0028193662 0.0054103188 + 627200 0.004641862 0.0030909146 0.0053755811 + 627300 0.0057270046 0.0028490403 0.0056678004 + 627400 0.0045621716 0.0029096211 0.005155065 + 627500 0.007032323 0.0028103944 0.0062716159 + 627600 0.0039459225 0.003064009 0.0050061427 + 627700 0.0038587382 0.0028518976 0.0047511203 + 627800 0.0075717393 0.0020585279 0.0057852433 + 627900 0.0051357981 0.0021364778 0.0046642534 + 628000 0.0044260964 0.0025114879 0.0046899572 + 628100 0.0060593105 0.0027756842 0.0057580011 + 628200 0.0043547263 0.0027668765 0.0049102183 + 628300 0.0037209496 0.0025657362 0.0043971411 + 628400 0.0045627953 0.002248441 0.0044941918 + 628500 0.005239751 0.0026664844 0.0052454244 + 628600 0.0046453025 0.003765475 0.0060518348 + 628700 0.0066401358 0.0038796887 0.0071478805 + 628800 0.0059895125 0.0033733858 0.006321349 + 628900 0.0070768624 0.0029143348 0.006397478 + 629000 0.0054266687 0.0027572044 0.0054281429 + 629100 0.0034375238 0.0026996285 0.0043915348 + 629200 0.0051925923 0.0024610111 0.0050167401 + 629300 0.0041555817 0.0027128264 0.0047581517 + 629400 0.0044521086 0.0027204906 0.0049117628 + 629500 0.0041809334 0.002529072 0.0045868752 + 629600 0.0042669357 0.0020779439 0.0041780763 + 629700 0.0045680512 0.0020945771 0.0043429148 + 629800 0.0059147104 0.0023078883 0.0052190348 + 629900 0.0043712888 0.0026237507 0.0047752444 + 630000 0.0048157422 0.0026045603 0.0049748084 + 630100 0.0055707573 0.0030457721 0.0057876292 + 630200 0.0045766477 0.0033000415 0.0055526103 + 630300 0.0057071689 0.0028730917 0.0056820889 + 630400 0.0067087598 0.0026110316 0.0059129994 + 630500 0.0056872862 0.0021737422 0.0049729534 + 630600 0.0056833597 0.0023016848 0.0050989634 + 630700 0.0059496266 0.0022055037 0.0051338355 + 630800 0.0065498756 0.0023516507 0.0055754176 + 630900 0.0064522018 0.0024759231 0.0056516161 + 631000 0.0063096132 0.0026066423 0.005712155 + 631100 0.00549989 0.0025803672 0.0052873443 + 631200 0.0049976878 0.0028900495 0.0053498489 + 631300 0.0045690105 0.0026839249 0.0049327347 + 631400 0.0062222616 0.0026718145 0.0057343339 + 631500 0.0063024813 0.0026585647 0.0057605672 + 631600 0.0040453333 0.0028058985 0.004796961 + 631700 0.0057699328 0.0028600471 0.0056999359 + 631800 0.0061370821 0.0025596931 0.0055802881 + 631900 0.0055751983 0.0021654586 0.0049095015 + 632000 0.0038636372 0.0025999688 0.0045016028 + 632100 0.0056280259 0.0025686555 0.0053386995 + 632200 0.0050487326 0.002587086 0.0050720091 + 632300 0.0040208309 0.002606145 0.0045851477 + 632400 0.0058991885 0.0027613761 0.005664883 + 632500 0.0049623844 0.0026638914 0.005106315 + 632600 0.0044826823 0.0025823913 0.0047887114 + 632700 0.0050605848 0.0030645981 0.0055553548 + 632800 0.0046536373 0.0030282114 0.0053186735 + 632900 0.0059450116 0.0028035921 0.0057296525 + 633000 0.005127998 0.002693259 0.0052171955 + 633100 0.0048254285 0.0024465338 0.0048215494 + 633200 0.0055120519 0.0027326057 0.0054455688 + 633300 0.0050428877 0.0026823999 0.0051644461 + 633400 0.0041148125 0.002450661 0.0044759203 + 633500 0.0056274963 0.0021191733 0.0048889566 + 633600 0.0053931469 0.0016944153 0.0043488548 + 633700 0.0054379029 0.0019339488 0.0046104166 + 633800 0.0062857743 0.0023004847 0.0053942643 + 633900 0.0053106209 0.002283413 0.0048972342 + 634000 0.006609494 0.0020822009 0.0053353113 + 634100 0.0063953619 0.0023051764 0.0054528935 + 634200 0.0039006993 0.0024728184 0.0043926939 + 634300 0.0045421041 0.002010268 0.0042458349 + 634400 0.0060688812 0.0019176166 0.0049046441 + 634500 0.0048143248 0.0023138428 0.0046833933 + 634600 0.0038704497 0.0027908592 0.0046958461 + 634700 0.0050077691 0.0029276721 0.0053924335 + 634800 0.0040518363 0.0025723648 0.004566628 + 634900 0.0061577116 0.0022448278 0.0052755764 + 635000 0.003805301 0.0021431074 0.004016029 + 635100 0.0060436908 0.0020338949 0.005008524 + 635200 0.0053662142 0.0017545172 0.0043957008 + 635300 0.0046101363 0.0017445886 0.0040136401 + 635400 0.0057987552 0.001506208 0.0043602828 + 635500 0.0046143387 0.0018567985 0.0041279183 + 635600 0.0052171456 0.001698415 0.0042662289 + 635700 0.0040155062 0.0018533852 0.0038297672 + 635800 0.0051347926 0.0016021457 0.0041294264 + 635900 0.0051390971 0.0019683836 0.004497783 + 636000 0.0038733629 0.0022666666 0.0041730875 + 636100 0.0057102314 0.0021733446 0.0049838491 + 636200 0.0051251761 0.0020994622 0.0046220098 + 636300 0.0074337052 0.0020145623 0.0056733391 + 636400 0.0044536816 0.0019611078 0.0041531542 + 636500 0.0033599938 0.0022054654 0.0038592123 + 636600 0.0046226138 0.0022417738 0.0045169665 + 636700 0.0060414146 0.0022826514 0.0052561602 + 636800 0.004148215 0.0026954367 0.0047371363 + 636900 0.0034877892 0.0026158173 0.0043324635 + 637000 0.0069044682 0.0021132824 0.0055115754 + 637100 0.0050049356 0.002607555 0.0050709218 + 637200 0.0054464766 0.0027141338 0.0053948215 + 637300 0.00623623 0.0023363033 0.0054056978 + 637400 0.0062249278 0.0025260644 0.0055898961 + 637500 0.0037915594 0.0026230007 0.0044891589 + 637600 0.0043693529 0.0024867305 0.0046372714 + 637700 0.00498965 0.002001712 0.0044575554 + 637800 0.0038762921 0.0021788283 0.0040866909 + 637900 0.0044616372 0.0024603771 0.0046563392 + 638000 0.0044222798 0.0024634653 0.0046400561 + 638100 0.0051703666 0.0021879269 0.0047327168 + 638200 0.004445918 0.0021376613 0.0043258865 + 638300 0.005299031 0.0021928211 0.0048009379 + 638400 0.0059526405 0.0020993716 0.0050291869 + 638500 0.005175845 0.0023209956 0.0048684819 + 638600 0.0047167462 0.0025777505 0.004899274 + 638700 0.0041727393 0.0025332559 0.0045870261 + 638800 0.0058723164 0.0022994916 0.0051897723 + 638900 0.0060132619 0.0022657134 0.0052253658 + 639000 0.004945629 0.0024772919 0.0049114687 + 639100 0.0052189351 0.0024241949 0.0049928895 + 639200 0.0066683921 0.0025594879 0.0058415871 + 639300 0.0062841785 0.0028762519 0.005969246 + 639400 0.0063586768 0.0029737082 0.0061033695 + 639500 0.0065281995 0.0023083036 0.0055214018 + 639600 0.0054707149 0.0025453049 0.0052379224 + 639700 0.0055758524 0.002709463 0.0054538278 + 639800 0.0034595929 0.0029669909 0.0046697593 + 639900 0.0041244752 0.0026762085 0.0047062236 + 640000 0.0051431498 0.0028808391 0.0054122331 + 640100 0.0051798608 0.0031722331 0.0057216958 + 640200 0.0057214799 0.0032292551 0.006045296 + 640300 0.0054455284 0.0027157322 0.0053959532 + 640400 0.0054455773 0.0024854322 0.0051656772 + 640500 0.0047345391 0.0027558777 0.0050861587 + 640600 0.006733415 0.0025880406 0.0059021433 + 640700 0.0047395064 0.0027336703 0.0050663962 + 640800 0.0062411417 0.0025408779 0.0056126898 + 640900 0.0050998752 0.0017375373 0.0042476321 + 641000 0.0056561156 0.0021846421 0.0049685115 + 641100 0.0058538656 0.00254139 0.0054225895 + 641200 0.004950766 0.0024075581 0.0048442632 + 641300 0.0056893086 0.0023597147 0.0051599213 + 641400 0.0043746791 0.0022920463 0.0044452086 + 641500 0.0037236182 0.00256163 0.0043943483 + 641600 0.0053100116 0.0023907191 0.0050042405 + 641700 0.005428081 0.0030217147 0.0056933483 + 641800 0.006267192 0.0029533727 0.0060380063 + 641900 0.0057774934 0.0026972 0.0055408101 + 642000 0.0038449551 0.0027537668 0.0046462057 + 642100 0.004257314 0.0023520245 0.0044474213 + 642200 0.0052856624 0.0023596918 0.0049612288 + 642300 0.0048658893 0.002423782 0.0048187119 + 642400 0.005788242 0.0026162355 0.0054651359 + 642500 0.0062273412 0.002805341 0.0058703605 + 642600 0.0054248221 0.0024190649 0.0050890945 + 642700 0.005242129 0.0023067004 0.0048868108 + 642800 0.0043918511 0.0023322406 0.0044938547 + 642900 0.00522115 0.0024326377 0.0050024225 + 643000 0.0059783853 0.0024072907 0.0053497772 + 643100 0.0046466198 0.0027894466 0.0050764547 + 643200 0.0073782268 0.0023709219 0.0060023929 + 643300 0.0046385936 0.0025431633 0.0048262211 + 643400 0.0047608314 0.0030721144 0.0054153361 + 643500 0.0059928139 0.0027744882 0.0057240763 + 643600 0.0062677345 0.0027672141 0.0058521147 + 643700 0.0042997232 0.0025965554 0.0047128254 + 643800 0.0032344451 0.0026778483 0.0042698017 + 643900 0.0050154163 0.0029332673 0.0054017925 + 644000 0.0042367343 0.0030487334 0.0051340011 + 644100 0.0045176293 0.0029652125 0.0051887331 + 644200 0.0063381078 0.0028825089 0.0060020463 + 644300 0.0055938005 0.002905058 0.0056582567 + 644400 0.0062274671 0.00319695 0.0062620315 + 644500 0.0062583222 0.0030839128 0.0061641808 + 644600 0.0054015352 0.0026252837 0.0052838518 + 644700 0.0046114722 0.0027973553 0.0050670642 + 644800 0.003662566 0.0028125415 0.0046152107 + 644900 0.0052232858 0.0024610493 0.0050318853 + 645000 0.0047116173 0.0028904605 0.0052094596 + 645100 0.0042203776 0.0027169972 0.0047942144 + 645200 0.00521798 0.0027041334 0.0052723579 + 645300 0.0047877258 0.0022574666 0.0046139253 + 645400 0.0049967796 0.002360128 0.0048194804 + 645500 0.0046544965 0.0027686961 0.0050595811 + 645600 0.0058639216 0.00319602 0.0060821689 + 645700 0.0061195699 0.0030413845 0.0060533603 + 645800 0.0062476449 0.0028991103 0.005974123 + 645900 0.0047045655 0.0028685941 0.0051841224 + 646000 0.0057156769 0.0028558408 0.0056690255 + 646100 0.0048367545 0.0032304886 0.0056110787 + 646200 0.0043506056 0.0032550353 0.005396349 + 646300 0.0047896466 0.0034602373 0.0058176415 + 646400 0.0048127578 0.0033759485 0.0057447277 + 646500 0.0079171257 0.0028440797 0.00674079 + 646600 0.0046406121 0.0029226344 0.0052066856 + 646700 0.0043823644 0.0028112692 0.0049682142 + 646800 0.0057005003 0.0026941916 0.0054999066 + 646900 0.0046881273 0.0030427356 0.0053501733 + 647000 0.0048731972 0.0032385919 0.0056371186 + 647100 0.0045438203 0.0029999841 0.0052363957 + 647200 0.0041087108 0.0025699262 0.0045921823 + 647300 0.006103715 0.0025286993 0.0055328715 + 647400 0.0057582841 0.0027017994 0.0055359549 + 647500 0.0052698904 0.0024237885 0.0050175627 + 647600 0.0046473686 0.0022767467 0.0045641235 + 647700 0.0051930613 0.0024123431 0.004968303 + 647800 0.0030099998 0.0025578748 0.0040393591 + 647900 0.0045835614 0.0025889726 0.0048449443 + 648000 0.0051944396 0.0026892889 0.0052459272 + 648100 0.0044701583 0.0023626703 0.0045628263 + 648200 0.0055983539 0.0022048592 0.004960299 + 648300 0.0046608376 0.002568065 0.004862071 + 648400 0.0070467314 0.0026525806 0.0061208937 + 648500 0.00433232 0.0028869277 0.0050192415 + 648600 0.0055700874 0.0028983493 0.0056398767 + 648700 0.0060783889 0.0033107944 0.0063025014 + 648800 0.0044530661 0.0031112078 0.0053029513 + 648900 0.00539632 0.0027147238 0.005370725 + 649000 0.0048906836 0.0024972733 0.0049044067 + 649100 0.00577515 0.0023305507 0.0051730073 + 649200 0.0069418625 0.0020726629 0.0054893609 + 649300 0.0057817901 0.0020721015 0.0049178263 + 649400 0.0049206736 0.0022024286 0.0046243226 + 649500 0.0058331836 0.0021678396 0.0050388597 + 649600 0.0051056921 0.002231002 0.0047439598 + 649700 0.0047737879 0.0021059489 0.0044555476 + 649800 0.0034085119 0.0023418649 0.0040194918 + 649900 0.0036290612 0.0026512326 0.0044374112 + 650000 0.0055876481 0.0023001662 0.0050503367 + 650100 0.0063976091 0.0022125706 0.0053613938 + 650200 0.005549217 0.0023748841 0.0051061393 + 650300 0.010122103 0.0021425897 0.0071245623 + 650400 0.0057239955 0.0026101986 0.0054274776 + 650500 0.0043453731 0.002656293 0.0047950313 + 650600 0.005404793 0.0023107703 0.0049709418 + 650700 0.0035842984 0.0023157029 0.0040798498 + 650800 0.004741598 0.0023375455 0.0046713008 + 650900 0.003503162 0.0023624188 0.0040866313 + 651000 0.0042828139 0.0024384175 0.004546365 + 651100 0.005249292 0.0021924408 0.0047760767 + 651200 0.0049361955 0.0024318934 0.0048614271 + 651300 0.0056836505 0.0029006425 0.0056980642 + 651400 0.0063771265 0.002756177 0.0058949189 + 651500 0.0044791824 0.0024500014 0.004654599 + 651600 0.0063510815 0.0021498176 0.0052757405 + 651700 0.004056697 0.0023661319 0.0043627875 + 651800 0.0059306413 0.0022351787 0.0051541662 + 651900 0.0050098469 0.0020806394 0.0045464234 + 652000 0.0045068621 0.0026001152 0.0048183364 + 652100 0.0073138478 0.0028822319 0.0064820164 + 652200 0.0050386438 0.0028524696 0.0053324271 + 652300 0.0068609347 0.0027507388 0.0061276051 + 652400 0.0040357993 0.0032675321 0.0052539021 + 652500 0.0044223185 0.0031589622 0.0053355721 + 652600 0.0071099531 0.0023663198 0.0058657499 + 652700 0.0047823944 0.0022182036 0.0045720383 + 652800 0.005776848 0.0023723041 0.0052155965 + 652900 0.00572282 0.0026074588 0.0054241593 + 653000 0.0042549244 0.0026574061 0.0047516267 + 653100 0.0056084627 0.0019873651 0.0047477803 + 653200 0.0059677483 0.0022955007 0.0052327518 + 653300 0.0055424756 0.0026901218 0.005418059 + 653400 0.0063838408 0.0027866778 0.0059287244 + 653500 0.0052673411 0.0022409184 0.0048334379 + 653600 0.0051225949 0.0023047784 0.0048260556 + 653700 0.0062962611 0.0024906142 0.0055895552 + 653800 0.0047930993 0.0023325022 0.0046916058 + 653900 0.0040081401 0.0024313595 0.0044041159 + 654000 0.005197082 0.0021265944 0.0046845332 + 654100 0.0051660522 0.0020277143 0.0045703806 + 654200 0.0044144694 0.0018197764 0.003992523 + 654300 0.0062144097 0.0023999229 0.0054585777 + 654400 0.0036439381 0.0028235644 0.0046170651 + 654500 0.0059737055 0.0028104599 0.0057506431 + 654600 0.0050318712 0.0030389249 0.005515549 + 654700 0.0053381176 0.0027020291 0.0053293839 + 654800 0.0044745761 0.0026045181 0.0048068486 + 654900 0.0050335091 0.0025190728 0.0049965031 + 655000 0.0035823255 0.0027932457 0.0045564215 + 655100 0.0031145377 0.0027425765 0.0042755131 + 655200 0.004523821 0.0025811687 0.0048077368 + 655300 0.0056799679 0.0025656115 0.0053612207 + 655400 0.0052750453 0.0026293177 0.0052256291 + 655500 0.0039275872 0.0028153933 0.0047485026 + 655600 0.0051506333 0.0031891073 0.0057241846 + 655700 0.0060668386 0.0027962755 0.0057822976 + 655800 0.0053528591 0.0024782729 0.0051128833 + 655900 0.0048490024 0.0029672557 0.0053538741 + 656000 0.0038765256 0.0029823242 0.0048903017 + 656100 0.0063262315 0.0029792859 0.0060929779 + 656200 0.0069794214 0.0033128463 0.0067480303 + 656300 0.005430877 0.0032071729 0.0058801827 + 656400 0.0051778186 0.0030660778 0.0056145354 + 656500 0.0066455386 0.0027016573 0.0059725083 + 656600 0.0048145464 0.0024933758 0.0048630354 + 656700 0.0051648104 0.0022596874 0.0048017425 + 656800 0.0058420524 0.0023401866 0.0052155717 + 656900 0.0060911542 0.0023967711 0.0053947611 + 657000 0.0050724879 0.0023719824 0.0048685976 + 657100 0.0047839971 0.0024083538 0.0047629774 + 657200 0.0042935016 0.0022699323 0.0043831402 + 657300 0.0076523948 0.0024543099 0.006220723 + 657400 0.0054883571 0.0026136972 0.0053149979 + 657500 0.0044652898 0.0022016236 0.0043993835 + 657600 0.0053922258 0.0020590236 0.0047130097 + 657700 0.0050393137 0.0023210855 0.0048013727 + 657800 0.0047615883 0.0020667547 0.0044103489 + 657900 0.0053117209 0.0022677203 0.0048820829 + 658000 0.0049096828 0.0023405402 0.0047570247 + 658100 0.0057210923 0.0024097005 0.0052255506 + 658200 0.0050190404 0.0027066755 0.0051769844 + 658300 0.0062904591 0.0023236289 0.0054197142 + 658400 0.0042330469 0.002433001 0.0045164538 + 658500 0.005746468 0.0024194768 0.0052478165 + 658600 0.0053290685 0.0023569296 0.0049798305 + 658700 0.0062772674 0.0030012961 0.0060908886 + 658800 0.0042964322 0.0032341805 0.0053488308 + 658900 0.0049114128 0.0030434204 0.0054607564 + 659000 0.0053887215 0.0028402765 0.0054925378 + 659100 0.0053730616 0.0028320801 0.0054766338 + 659200 0.0051381145 0.0025886388 0.0051175545 + 659300 0.0040950091 0.002325604 0.0043411163 + 659400 0.0056198041 0.0022914045 0.0050574018 + 659500 0.0045701885 0.0027807956 0.0050301852 + 659600 0.0045987793 0.0030294027 0.0052928644 + 659700 0.0046749862 0.0033867049 0.0056876747 + 659800 0.0049548898 0.003396649 0.0058353838 + 659900 0.0057340161 0.003264883 0.006087094 + 660000 0.0043456804 0.0030503143 0.0051892039 + 660100 0.0061547561 0.0030670215 0.0060963155 + 660200 0.0053016947 0.0037459804 0.0063554083 + 660300 0.0058320576 0.003482043 0.0063525089 + 660400 0.0058433814 0.002991962 0.0058680013 + 660500 0.0038152604 0.0026380893 0.0045159128 + 660600 0.0041979416 0.0024439138 0.0045100882 + 660700 0.0045026778 0.0025470847 0.0047632464 + 660800 0.0030148277 0.0024512742 0.0039351348 + 660900 0.0057236057 0.0027723553 0.0055894425 + 661000 0.00478601 0.0033528334 0.0057084477 + 661100 0.0049081098 0.003399793 0.0058155033 + 661200 0.0040955174 0.0033996693 0.0054154317 + 661300 0.0051870201 0.0032877553 0.0058407418 + 661400 0.005914557 0.0026544292 0.0055655002 + 661500 0.0047236399 0.003297436 0.0056223525 + 661600 0.0053756574 0.003452547 0.0060983784 + 661700 0.0039603795 0.0028781585 0.0048274077 + 661800 0.0045453956 0.002559566 0.0047967529 + 661900 0.0052764044 0.0027021228 0.0052991031 + 662000 0.0040959093 0.0028115687 0.004827524 + 662100 0.0044642394 0.0029976633 0.0051949061 + 662200 0.0052828556 0.0027781662 0.0053783217 + 662300 0.0035876386 0.0029732175 0.0047390084 + 662400 0.0040105239 0.0031401024 0.0051140321 + 662500 0.0047787451 0.0030440407 0.0053960793 + 662600 0.0057775994 0.002887736 0.0057313981 + 662700 0.0044382023 0.002727297 0.0049117247 + 662800 0.0048301824 0.0026968292 0.0050741847 + 662900 0.0040239137 0.002362009 0.004342529 + 663000 0.0042490754 0.0022350926 0.0043264344 + 663100 0.0033249458 0.0024511597 0.0040876565 + 663200 0.0041609336 0.0023234858 0.0043714454 + 663300 0.0041017235 0.0023567329 0.00437555 + 663400 0.0044477459 0.0026955444 0.0048846694 + 663500 0.0060014893 0.0025435244 0.0054973825 + 663600 0.004307415 0.0025365654 0.0046566212 + 663700 0.0056159136 0.0024039253 0.0051680078 + 663800 0.0065390204 0.00219668 0.0054151041 + 663900 0.0054912535 0.0020606719 0.0047633983 + 664000 0.0044345913 0.002293131 0.0044757814 + 664100 0.0041555742 0.0023161922 0.0043615139 + 664200 0.0031413095 0.0025453338 0.0040914471 + 664300 0.0041105942 0.0029195214 0.0049427045 + 664400 0.0046428992 0.0028746548 0.0051598318 + 664500 0.0072655144 0.0025847828 0.0061607782 + 664600 0.0052345667 0.0025762996 0.0051526878 + 664700 0.0037331669 0.0022941981 0.0041316162 + 664800 0.0051810305 0.0021994156 0.004749454 + 664900 0.004509729 0.0024132263 0.0046328586 + 665000 0.00477035 0.0028265272 0.0051744338 + 665100 0.0044087451 0.0022770806 0.0044470099 + 665200 0.0040520462 0.0021113227 0.0041056891 + 665300 0.0043239509 0.0020739875 0.0042021821 + 665400 0.0049726428 0.0021277087 0.0045751814 + 665500 0.0045771515 0.0021318443 0.004384661 + 665600 0.0059517816 0.0021595798 0.0050889723 + 665700 0.0054603901 0.0022029878 0.0048905235 + 665800 0.0040986578 0.0025710884 0.0045883965 + 665900 0.0048044861 0.0029357238 0.0053004318 + 666000 0.0061509383 0.0025987652 0.0056261801 + 666100 0.0056196583 0.0026415148 0.0054074404 + 666200 0.0067696314 0.0030948428 0.0064267707 + 666300 0.0052439667 0.00329714 0.0058781548 + 666400 0.0044176999 0.0036885531 0.0058628898 + 666500 0.0053416813 0.0035022872 0.006131396 + 666600 0.0055569702 0.003379198 0.0061142693 + 666700 0.0050913226 0.0032818023 0.0057876876 + 666800 0.0063432195 0.0028554882 0.0059775416 + 666900 0.0047056859 0.0028873971 0.0052034768 + 667000 0.0041611872 0.0028857933 0.0049338777 + 667100 0.0050493897 0.002788189 0.0052734355 + 667200 0.004808921 0.0024794586 0.0048463494 + 667300 0.0039109027 0.0024515955 0.0043764929 + 667400 0.0052156733 0.0027301177 0.0052972069 + 667500 0.0039116631 0.0031553488 0.0050806205 + 667600 0.0047971516 0.0032446073 0.0056057053 + 667700 0.0047793195 0.0032200247 0.0055723461 + 667800 0.0055620497 0.0024211613 0.0051587327 + 667900 0.0053043672 0.0019433618 0.004554105 + 668000 0.0058205962 0.0020698374 0.0049346621 + 668100 0.0054995063 0.0025926252 0.0052994135 + 668200 0.0049666162 0.0026698209 0.0051143273 + 668300 0.0046388342 0.002617397 0.0049005732 + 668400 0.0044927457 0.0026358236 0.0048470969 + 668500 0.0052749997 0.002235145 0.0048314339 + 668600 0.0044983063 0.0019778732 0.0041918834 + 668700 0.0045923066 0.0021011957 0.0043614716 + 668800 0.0061028751 0.0021476038 0.0051513626 + 668900 0.0043012972 0.0022644137 0.0043814584 + 669000 0.0045107511 0.0023343617 0.004554497 + 669100 0.004660623 0.0024002674 0.0046941677 + 669200 0.0038898097 0.002060501 0.0039750167 + 669300 0.005517835 0.0022014052 0.0049172147 + 669400 0.0055111529 0.001894235 0.0046067556 + 669500 0.005334685 0.0019934578 0.0046191231 + 669600 0.0044794144 0.0021519832 0.004356695 + 669700 0.0038738662 0.0019494654 0.0038561339 + 669800 0.0052420468 0.0023466568 0.0049267267 + 669900 0.0048688313 0.0024703167 0.0048666946 + 670000 0.0037509523 0.0022570741 0.0041032459 + 670100 0.0039704158 0.00242549 0.0043796791 + 670200 0.004389933 0.0021552119 0.004315882 + 670300 0.0042967313 0.0023080071 0.0044228045 + 670400 0.0059354496 0.0021755822 0.0050969364 + 670500 0.0050977279 0.0021836059 0.0046926438 + 670600 0.0036038403 0.0024191941 0.0041929593 + 670700 0.004241098 0.0023258681 0.0044132835 + 670800 0.0061144714 0.0020769683 0.0050864347 + 670900 0.0054586183 0.002522163 0.0052088267 + 671000 0.0049240076 0.0024891554 0.0049126904 + 671100 0.0050374809 0.0023642003 0.0048435855 + 671200 0.0060233694 0.0027136158 0.005678243 + 671300 0.0046272145 0.0031537379 0.005431195 + 671400 0.0061035517 0.0031646937 0.0061687855 + 671500 0.0036325136 0.00292582 0.0047136978 + 671600 0.0049905021 0.0025717689 0.0050280317 + 671700 0.0050943456 0.002249328 0.0047567012 + 671800 0.0039089411 0.0019585399 0.0038824718 + 671900 0.0055331273 0.001495158 0.0042184941 + 672000 0.0044196264 0.0017786762 0.0039539611 + 672100 0.0043487363 0.0018029131 0.0039433067 + 672200 0.0051027201 0.001669001 0.004180496 + 672300 0.0036104074 0.0017716858 0.0035486832 + 672400 0.0061954906 0.0020552037 0.0051045467 + 672500 0.0035817099 0.0022520607 0.0040149335 + 672600 0.0031469774 0.0024142178 0.0039631207 + 672700 0.005077208 0.0022658858 0.0047648241 + 672800 0.0045872279 0.0025772249 0.0048350011 + 672900 0.0055735376 0.0026322159 0.0053754415 + 673000 0.0053303444 0.0028112249 0.0054347537 + 673100 0.0037327751 0.0025838194 0.0044210446 + 673200 0.0021470028 0.0023446057 0.0034013336 + 673300 0.0046628152 0.0022917576 0.004586737 + 673400 0.0042823257 0.0024690401 0.0045767473 + 673500 0.004298241 0.0022871669 0.0044027074 + 673600 0.0043526995 0.002488095 0.0046304393 + 673700 0.004340375 0.002559932 0.0046962103 + 673800 0.0051615566 0.0023889993 0.004929453 + 673900 0.0048620725 0.0023335343 0.0047265856 + 674000 0.0052473234 0.0025124802 0.0050951472 + 674100 0.0058235506 0.0022467762 0.005113055 + 674200 0.005971909 0.0021765562 0.0051158552 + 674300 0.0061295706 0.0022893125 0.0053062106 + 674400 0.0064053288 0.0027204323 0.0058730551 + 674500 0.0051944822 0.0026923899 0.0052490492 + 674600 0.005530208 0.0022271259 0.0049490252 + 674700 0.0040987322 0.002279689 0.0042970337 + 674800 0.0051864583 0.0022054378 0.0047581478 + 674900 0.0048975851 0.0026255119 0.0050360421 + 675000 0.0061868725 0.0031807853 0.0062258866 + 675100 0.0049910107 0.0036069689 0.006063482 + 675200 0.0052145371 0.0036034489 0.0061699789 + 675300 0.0071562015 0.003549751 0.0070719439 + 675400 0.0068272948 0.002947095 0.0063074041 + 675500 0.0063077902 0.0026762608 0.0057808763 + 675600 0.0049959875 0.0025691493 0.005028112 + 675700 0.0056173626 0.0025009228 0.0052657185 + 675800 0.0049445943 0.0024747085 0.004908376 + 675900 0.0040933695 0.0018895094 0.0039042147 + 676000 0.0038499582 0.0018027333 0.0036976346 + 676100 0.0053556425 0.0022149216 0.0048509019 + 676200 0.0043945477 0.0025367759 0.0046997174 + 676300 0.0052902428 0.0022239496 0.0048277409 + 676400 0.0054658557 0.0019620313 0.0046522572 + 676500 0.0045682552 0.0021504799 0.0043989181 + 676600 0.0047928675 0.0025692272 0.0049282166 + 676700 0.0037063938 0.002727848 0.0045520887 + 676800 0.0052998716 0.0021376821 0.0047462127 + 676900 0.002981355 0.0023638045 0.0038311902 + 677000 0.0046045802 0.0023589924 0.0046253092 + 677100 0.0047930207 0.0023450887 0.0047041535 + 677200 0.0040678771 0.0022644103 0.0042665686 + 677300 0.0056949119 0.0020827341 0.0048856986 + 677400 0.0062007205 0.0027037348 0.0057556519 + 677500 0.0041438311 0.0027203797 0.0047599216 + 677600 0.0050703669 0.0021918764 0.0046874476 + 677700 0.0053101137 0.0024337346 0.0050473062 + 677800 0.0037488165 0.0029075701 0.0047526907 + 677900 0.0061416311 0.0024859027 0.0055087367 + 678000 0.0044144874 0.0025958413 0.0047685968 + 678100 0.0045070083 0.0028767384 0.0050950315 + 678200 0.0068741949 0.0021578233 0.0055412161 + 678300 0.0058371933 0.0021994966 0.0050724902 + 678400 0.0051618932 0.0021726343 0.0047132536 + 678500 0.0047813898 0.0025517853 0.0049051257 + 678600 0.0039093504 0.0025394571 0.0044635904 + 678700 0.0039859698 0.0026482893 0.0046101338 + 678800 0.0054728443 0.0025646763 0.0052583419 + 678900 0.003280819 0.002153447 0.0037682251 + 679000 0.0038402396 0.0023250387 0.0042151566 + 679100 0.0054007843 0.0027640666 0.0054222651 + 679200 0.0052352712 0.0027588435 0.0053355786 + 679300 0.0052942134 0.0024277342 0.0050334798 + 679400 0.005358493 0.0022742269 0.0049116101 + 679500 0.0052606863 0.0022295884 0.0048188325 + 679600 0.0047119994 0.0021846381 0.0045038253 + 679700 0.0056274384 0.0023296111 0.0050993659 + 679800 0.0040239884 0.0027632393 0.0047437961 + 679900 0.0053055881 0.0026751014 0.0052864455 + 680000 0.0044272325 0.0024984124 0.0046774409 + 680100 0.0047556236 0.0022982334 0.0046388919 + 680200 0.0031146306 0.00220906 0.0037420422 + 680300 0.0050145817 0.0021406391 0.0046087535 + 680400 0.0053935909 0.0019910477 0.0046457057 + 680500 0.0047470971 0.0024143648 0.0047508266 + 680600 0.0050237752 0.0023396701 0.0048123095 + 680700 0.0056330079 0.002291643 0.0050641391 + 680800 0.0056525231 0.0026917594 0.0054738606 + 680900 0.0042202242 0.0027786697 0.0048558113 + 681000 0.0055496706 0.002723179 0.0054546575 + 681100 0.0057328028 0.0024413472 0.0052629611 + 681200 0.0036770533 0.0023757596 0.0041855592 + 681300 0.0068943649 0.0025635894 0.0059569096 + 681400 0.004365415 0.0029915489 0.0051401516 + 681500 0.0048292843 0.0025122366 0.0048891499 + 681600 0.0046729137 0.0026269375 0.0049268872 + 681700 0.0052587478 0.0027901751 0.005378465 + 681800 0.0053986633 0.0025703286 0.0052274832 + 681900 0.0055200028 0.002635407 0.0053522834 + 682000 0.0050348627 0.002648181 0.0051262775 + 682100 0.0060930243 0.0023042949 0.0053032053 + 682200 0.0048238041 0.0022753912 0.0046496073 + 682300 0.0033731226 0.0020911932 0.0037514019 + 682400 0.0047006592 0.0017690846 0.0040826903 + 682500 0.0040590832 0.0018470383 0.0038448683 + 682600 0.0049279955 0.0016606833 0.004086181 + 682700 0.0062723448 0.0019820331 0.0050692028 + 682800 0.0049858927 0.0021062893 0.0045602834 + 682900 0.005843359 0.002378021 0.0052540492 + 683000 0.0053403477 0.0029523177 0.0055807701 + 683100 0.007141127 0.0028043233 0.0063190968 + 683200 0.0053756185 0.0025610361 0.0052068484 + 683300 0.0063403102 0.0019175933 0.0050382147 + 683400 0.005286925 0.0020250927 0.0046272511 + 683500 0.0032896195 0.0027237685 0.0043428781 + 683600 0.0035291663 0.0029344631 0.0046714747 + 683700 0.0053300525 0.0025880607 0.0052114459 + 683800 0.0045404678 0.0020184882 0.0042532497 + 683900 0.0068308586 0.0020201859 0.0053822491 + 684000 0.0054309634 0.0026511971 0.0053242494 + 684100 0.005690009 0.0027232831 0.0055238344 + 684200 0.0040589861 0.0028239168 0.004821699 + 684300 0.0048223761 0.002591848 0.0049653612 + 684400 0.0054688888 0.0023825297 0.0050742484 + 684500 0.0058457586 0.0021276148 0.0050048241 + 684600 0.0035423932 0.0024468397 0.0041903613 + 684700 0.005906867 0.0019767239 0.00488401 + 684800 0.004022751 0.0022921804 0.0042721281 + 684900 0.0058477743 0.002581546 0.0054597474 + 685000 0.0031587125 0.002792986 0.0043476649 + 685100 0.0046839259 0.0027068184 0.0050121882 + 685200 0.0067969476 0.0022681923 0.005613565 + 685300 0.0040723286 0.002451904 0.0044562532 + 685400 0.0057689485 0.0025663392 0.0054057436 + 685500 0.0041937554 0.0025959229 0.0046600369 + 685600 0.0061519493 0.0024277747 0.0054556872 + 685700 0.0040462883 0.0026984659 0.0046899984 + 685800 0.0049665892 0.0025976855 0.0050421787 + 685900 0.0048190275 0.0032881929 0.005660058 + 686000 0.0056700317 0.0029955809 0.0057862996 + 686100 0.0057197953 0.0022135045 0.0050287163 + 686200 0.006461703 0.0021460036 0.005326373 + 686300 0.0057309934 0.0019162675 0.0047369908 + 686400 0.0034657999 0.0019788982 0.0036847215 + 686500 0.0054336578 0.0020558777 0.0047302562 + 686600 0.0054148542 0.0025794794 0.0052446029 + 686700 0.0032248387 0.0031089248 0.0046961501 + 686800 0.0061278649 0.0027967657 0.0058128242 + 686900 0.004529436 0.002491336 0.0047206678 + 687000 0.0056825745 0.001860347 0.0046572392 + 687100 0.003269067 0.0019987436 0.0036077375 + 687200 0.0045473012 0.0019795031 0.0042176279 + 687300 0.0054199685 0.001873784 0.0045414247 + 687400 0.0044179304 0.0022389661 0.0044134162 + 687500 0.005622913 0.0022898795 0.005057407 + 687600 0.0039455683 0.0021209384 0.0040628978 + 687700 0.0046210474 0.0021059863 0.0043804081 + 687800 0.0033482461 0.0020703246 0.0037182895 + 687900 0.0052151452 0.0019813269 0.0045481562 + 688000 0.0064005433 0.0021959734 0.0053462408 + 688100 0.0046320544 0.0024764816 0.0047563208 + 688200 0.0044479257 0.0027352324 0.0049244458 + 688300 0.0051492371 0.0030631473 0.0055975375 + 688400 0.0061971718 0.0030425443 0.0060927148 + 688500 0.0048181888 0.0027562769 0.0051277292 + 688600 0.0059391397 0.0028595698 0.0057827402 + 688700 0.0083395992 0.0028312354 0.0069358818 + 688800 0.0057413722 0.0028519838 0.0056778154 + 688900 0.0070947493 0.002324726 0.0058166729 + 689000 0.0043702745 0.0020002506 0.004151245 + 689100 0.0074966626 0.0017087373 0.0053985009 + 689200 0.0038439821 0.0016333631 0.0035253231 + 689300 0.0048249571 0.001692116 0.0040668996 + 689400 0.0048025941 0.0017815433 0.0041453201 + 689500 0.0048111646 0.0020338184 0.0044018135 + 689600 0.0064846653 0.0023232847 0.0055149559 + 689700 0.0060028621 0.0026510607 0.0056055944 + 689800 0.0057983924 0.0028210466 0.0056749428 + 689900 0.005149903 0.0027938967 0.0053286145 + 690000 0.003202341 0.0025112226 0.0040873749 + 690100 0.0067104832 0.0019881771 0.005290993 + 690200 0.0053097285 0.0025332165 0.0051465985 + 690300 0.005308733 0.0032841344 0.0058970264 + 690400 0.0051393221 0.0031945747 0.0057240848 + 690500 0.00429844 0.0033796868 0.0054953252 + 690600 0.0045519958 0.0027409324 0.0049813679 + 690700 0.006255421 0.0023842528 0.0054630929 + 690800 0.0055972577 0.0021945875 0.0049494877 + 690900 0.0049481257 0.0020997778 0.0045351834 + 691000 0.0058362779 0.001910773 0.004783316 + 691100 0.0038302671 0.0018277377 0.0037129473 + 691200 0.0064727675 0.0018151094 0.0050009246 + 691300 0.0046563863 0.0020750831 0.0043668982 + 691400 0.0055699853 0.0022216957 0.0049631729 + 691500 0.0049138735 0.0021900945 0.0046086417 + 691600 0.0041234164 0.0025392924 0.0045687864 + 691700 0.0043149641 0.0027751766 0.004898948 + 691800 0.0040520687 0.0032759214 0.005270299 + 691900 0.0051580231 0.0030757943 0.0056145088 + 692000 0.0047824642 0.0026482193 0.0050020884 + 692100 0.0067906469 0.0023072361 0.0056495076 + 692200 0.0036106605 0.0023881266 0.0041652486 + 692300 0.0049948273 0.0020861055 0.0045444971 + 692400 0.0039468959 0.0019467946 0.0038894074 + 692500 0.0046830259 0.0016006911 0.0039056179 + 692600 0.0049307313 0.0016842817 0.004111126 + 692700 0.0051398368 0.0017911757 0.0043209391 + 692800 0.0063658709 0.0019689722 0.0051021742 + 692900 0.0061205335 0.0019943214 0.0050067715 + 693000 0.0056235116 0.0026542262 0.0054220483 + 693100 0.0054698188 0.0032086183 0.0059007947 + 693200 0.0054884238 0.0032776495 0.0059789831 + 693300 0.0055605495 0.0029475647 0.0056843976 + 693400 0.0044205303 0.0030115011 0.0051872308 + 693500 0.0043788568 0.00331665 0.0054718686 + 693600 0.0062080812 0.0027304523 0.0057859923 + 693700 0.0064421283 0.0027132037 0.0058839387 + 693800 0.0048190733 0.0030086171 0.0053805048 + 693900 0.0035663692 0.0026693435 0.0044246658 + 694000 0.0049551919 0.0020523111 0.0044911946 + 694100 0.0042917013 0.0021157585 0.0042280802 + 694200 0.0050861912 0.0022263312 0.004729691 + 694300 0.0047008671 0.0021239756 0.0044376836 + 694400 0.0065839257 0.0023323718 0.0055728977 + 694500 0.0051649728 0.0025604207 0.0051025558 + 694600 0.004161208 0.0024873112 0.0045354057 + 694700 0.0053816544 0.0024059169 0.0050546999 + 694800 0.0039079174 0.0023925747 0.0043160028 + 694900 0.0052342298 0.0024296906 0.0050059131 + 695000 0.0045785519 0.002423683 0.004677189 + 695100 0.004942542 0.0025335757 0.0049662331 + 695200 0.0054862293 0.0027311761 0.0054314296 + 695300 0.0043264172 0.0028932393 0.0050226478 + 695400 0.0057449819 0.0030830821 0.0059106904 + 695500 0.0045755071 0.0030204289 0.0052724362 + 695600 0.0053786098 0.0026297036 0.0052769881 + 695700 0.0032127587 0.0023970437 0.0039783234 + 695800 0.0060046894 0.0021069328 0.0050623658 + 695900 0.005282996 0.0023494363 0.0049496609 + 696000 0.0043922614 0.001965721 0.0041275372 + 696100 0.0047761182 0.0024122064 0.0047629521 + 696200 0.0050412806 0.0027314678 0.0052127231 + 696300 0.0047357034 0.0023462451 0.0046770991 + 696400 0.005151523 0.0021060238 0.004641539 + 696500 0.0043950834 0.0019924204 0.0041556255 + 696600 0.0056044277 0.0017410294 0.0044994587 + 696700 0.0035545853 0.0020995916 0.003849114 + 696800 0.0066133881 0.0019195232 0.0051745502 + 696900 0.0048738247 0.0019333298 0.0043321654 + 697000 0.0045971713 0.0023028107 0.0045654809 + 697100 0.004872788 0.0028971132 0.0052954386 + 697200 0.0051673617 0.0026475285 0.0051908393 + 697300 0.0057018968 0.0028076319 0.0056140343 + 697400 0.0054994568 0.0024258287 0.0051325926 + 697500 0.0052152962 0.0023774554 0.004944359 + 697600 0.0035638043 0.0025040999 0.0042581598 + 697700 0.0059742414 0.0018971561 0.0048376031 + 697800 0.0051163238 0.0015506097 0.0040688003 + 697900 0.0040014726 0.0018450493 0.0038145241 + 698000 0.0036444684 0.0017862762 0.003580038 + 698100 0.003456669 0.0018392049 0.0035405342 + 698200 0.0044518898 0.0017127222 0.0039038867 + 698300 0.0049224576 0.0017226284 0.0041454005 + 698400 0.0039122177 0.002005895 0.0039314397 + 698500 0.0042037796 0.0019736603 0.004042708 + 698600 0.0039839161 0.0019802182 0.0039410519 + 698700 0.0052816896 0.0021115766 0.0047111581 + 698800 0.0046944807 0.002336338 0.0046469027 + 698900 0.0063060853 0.0024049554 0.0055087317 + 699000 0.0058585456 0.0022754832 0.0051589861 + 699100 0.0045469282 0.0024992762 0.0047372174 + 699200 0.0049749888 0.0026374173 0.0050860446 + 699300 0.0062545908 0.0025193238 0.0055977552 + 699400 0.0048357232 0.0026991695 0.005079252 + 699500 0.0053216969 0.0028707531 0.0054900258 + 699600 0.0060161903 0.0027668616 0.0057279553 + 699700 0.0052737675 0.0030158514 0.0056115338 + 699800 0.0070877686 0.0026564191 0.0061449302 + 699900 0.0052166355 0.0025147301 0.0050822929 + 700000 0.0043656451 0.0022753302 0.0044240462 + 700100 0.0038248471 0.0024563771 0.004338919 + 700200 0.0039052765 0.0030551085 0.0049772367 + 700300 0.0045890661 0.0032331093 0.0054917903 + 700400 0.0039151458 0.0027732711 0.0047002569 + 700500 0.0050300543 0.0025740969 0.0050498268 + 700600 0.0039374238 0.0025378489 0.0044757997 + 700700 0.0051782203 0.002504175 0.0050528303 + 700800 0.0054187677 0.0023400363 0.005007086 + 700900 0.006505807 0.0024131263 0.0056152032 + 701000 0.0054748113 0.0027502337 0.0054448674 + 701100 0.0050406519 0.0031163654 0.0055973112 + 701200 0.0059312561 0.0031836647 0.0061029548 + 701300 0.0064894032 0.0032781757 0.0064721788 + 701400 0.0067586946 0.0031228986 0.0064494436 + 701500 0.0079498192 0.0035992447 0.0075120463 + 701600 0.0067890795 0.0032774748 0.0066189748 + 701700 0.0057666493 0.0033529933 0.006191266 + 701800 0.0061152287 0.0026072872 0.0056171263 + 701900 0.0055090796 0.0024911615 0.0052026616 + 702000 0.0047980613 0.002759375 0.0051209208 + 702100 0.0053628652 0.0025502574 0.0051897927 + 702200 0.0060940457 0.0028786485 0.0058780616 + 702300 0.0064213441 0.0036896673 0.0068501725 + 702400 0.0039651695 0.0040855501 0.0060371569 + 702500 0.0078126301 0.0036911419 0.0075364207 + 702600 0.0048401619 0.0035713261 0.0059535933 + 702700 0.0060419287 0.0025751888 0.0055489506 + 702800 0.0050751146 0.0026985018 0.0051964097 + 702900 0.0052876667 0.002683773 0.0052862965 + 703000 0.0061366809 0.0024348293 0.0054552269 + 703100 0.0065617107 0.0019630791 0.0051926711 + 703200 0.004459442 0.0021737174 0.004368599 + 703300 0.0055795098 0.0017449326 0.0044910975 + 703400 0.0054370048 0.0017591508 0.0044351767 + 703500 0.0056359461 0.0019718565 0.0047457987 + 703600 0.0040142247 0.0021038417 0.0040795929 + 703700 0.0039467871 0.0021153821 0.0040579414 + 703800 0.0048677085 0.0017092132 0.0041050384 + 703900 0.0047805898 0.0019800674 0.004333014 + 704000 0.0065745575 0.0023760323 0.0056119473 + 704100 0.0052528146 0.0027106932 0.0052960629 + 704200 0.0046279808 0.0029476253 0.0052254595 + 704300 0.0055893629 0.0027219461 0.0054729606 + 704400 0.0045085078 0.0025716229 0.0047906541 + 704500 0.0044128057 0.0026455169 0.0048174447 + 704600 0.0045177452 0.0023134205 0.0045369982 + 704700 0.0049044048 0.0024051055 0.0048189922 + 704800 0.0045436443 0.0022976942 0.0045340191 + 704900 0.0060282825 0.0027985832 0.0057656284 + 705000 0.0046240486 0.002625725 0.004901624 + 705100 0.0051970905 0.0020774812 0.0046354241 + 705200 0.0048665355 0.0022636847 0.0046589326 + 705300 0.0038669055 0.0028939318 0.0047971743 + 705400 0.003865597 0.0031912499 0.0050938484 + 705500 0.0053482865 0.0029835091 0.0056158688 + 705600 0.0067143262 0.0029365411 0.0062412485 + 705700 0.005349037 0.0032857481 0.0059184772 + 705800 0.0070342073 0.003516182 0.0069783309 + 705900 0.0045458984 0.0033659256 0.0056033599 + 706000 0.005193812 0.0031890808 0.0057454102 + 706100 0.0048946495 0.0025809619 0.0049900472 + 706200 0.0053234925 0.0024864197 0.0051065762 + 706300 0.0053787553 0.0031654582 0.0058128143 + 706400 0.0062128883 0.0033701447 0.0064280506 + 706500 0.0046118733 0.0029534369 0.0052233433 + 706600 0.0050105622 0.002029364 0.0044955001 + 706700 0.0041301378 0.0022551608 0.004287963 + 706800 0.0052515482 0.0023203385 0.0049050849 + 706900 0.0053555944 0.0021989623 0.0048349189 + 707000 0.0065960435 0.0019334874 0.0051799776 + 707100 0.0047494675 0.0020813733 0.0044190018 + 707200 0.004411809 0.0022401271 0.0044115644 + 707300 0.0055757284 0.0025192364 0.0052635402 + 707400 0.0044690587 0.0025381789 0.0047377938 + 707500 0.0042259374 0.0024787763 0.0045587299 + 707600 0.0055279177 0.0021244417 0.0048452137 + 707700 0.0059313348 0.0020475149 0.0049668437 + 707800 0.0058807941 0.0028627967 0.00575725 + 707900 0.0043843154 0.0032188183 0.0053767235 + 708000 0.0054983794 0.0028080194 0.005514253 + 708100 0.0039486999 0.0029197832 0.0048632839 + 708200 0.0062866856 0.0026086502 0.0057028782 + 708300 0.0042988486 0.0029498118 0.0050656513 + 708400 0.005467111 0.0027582341 0.0054490778 + 708500 0.0065089567 0.0022993939 0.005503021 + 708600 0.0059031768 0.0015965052 0.004501975 + 708700 0.0056030837 0.0017044547 0.0044622224 + 708800 0.0053787377 0.0019851778 0.0046325253 + 708900 0.0065322946 0.0021057384 0.0053208522 + 709000 0.0036546299 0.0031490959 0.0049478591 + 709100 0.0053508048 0.0027071513 0.0053407506 + 709200 0.0054144376 0.0019445567 0.0046094752 + 709300 0.0045926855 0.0023090503 0.0045695127 + 709400 0.0051262002 0.0022386092 0.0047616609 + 709500 0.0067580094 0.0019344051 0.0052606129 + 709600 0.0047565686 0.0020066518 0.0043477754 + 709700 0.0055281051 0.0022272428 0.004948107 + 709800 0.0050394896 0.0023210705 0.0048014443 + 709900 0.0043467543 0.0024097948 0.0045492129 + 710000 0.0046377978 0.0021771895 0.0044598556 + 710100 0.0038945639 0.0022082369 0.0041250925 + 710200 0.005114854 0.0022464631 0.0047639303 + 710300 0.0043179925 0.0023043977 0.0044296596 + 710400 0.0044721534 0.0023526122 0.0045537502 + 710500 0.0061011947 0.0021718633 0.0051747951 + 710600 0.0041095909 0.0020957155 0.0041184048 + 710700 0.0043425914 0.0025276117 0.0046649809 + 710800 0.0055329933 0.0027102522 0.0054335224 + 710900 0.0047922339 0.0025213419 0.0048800195 + 711000 0.003777331 0.0027220295 0.0045811846 + 711100 0.0046333654 0.0026482427 0.0049287272 + 711200 0.0051131809 0.0024321926 0.0049488363 + 711300 0.004969291 0.0023286381 0.004774461 + 711400 0.0055487239 0.0020670584 0.0047980709 + 711500 0.0045571881 0.0024348796 0.0046778706 + 711600 0.0057029589 0.002580169 0.0053870941 + 711700 0.0059238486 0.002158135 0.0050737793 + 711800 0.0054291269 0.0022525066 0.0049246549 + 711900 0.0055356996 0.0024208035 0.0051454057 + 712000 0.0054332053 0.002218367 0.0048925227 + 712100 0.0045596575 0.0025629241 0.0048071306 + 712200 0.0046111395 0.0024311062 0.0047006514 + 712300 0.0046815876 0.0025041039 0.0048083228 + 712400 0.0053776866 0.0024831017 0.0051299318 + 712500 0.0048059949 0.0023630946 0.0047285452 + 712600 0.0075089824 0.0024169834 0.0061128107 + 712700 0.0059636133 0.0025822403 0.0055174562 + 712800 0.0067052662 0.0029849303 0.0062851785 + 712900 0.0070633496 0.0025705535 0.0060470459 + 713000 0.0073174454 0.0019810563 0.0055826114 + 713100 0.0062012887 0.001842188 0.0048943847 + 713200 0.0052279567 0.0019254976 0.0044986325 + 713300 0.0035630502 0.0024204873 0.004174176 + 713400 0.0038866131 0.0027946661 0.0047076085 + 713500 0.005436294 0.0024269547 0.0051026307 + 713600 0.0054913525 0.0023055267 0.0050083018 + 713700 0.0047577729 0.0022621909 0.0046039073 + 713800 0.0050094978 0.0023593693 0.0048249815 + 713900 0.0052272859 0.0021960237 0.0047688285 + 714000 0.0037754536 0.002080327 0.003938558 + 714100 0.0036131911 0.0022313015 0.0040096689 + 714200 0.005572197 0.0023395547 0.0050821204 + 714300 0.0060405507 0.0023356166 0.0053087001 + 714400 0.0059057598 0.0023838361 0.0052905773 + 714500 0.004815325 0.0022134954 0.0045835382 + 714600 0.0065631757 0.0021038864 0.0053341994 + 714700 0.0056217254 0.0019521372 0.0047190802 + 714800 0.0048494398 0.002261962 0.0046487957 + 714900 0.0057168146 0.0033001182 0.0061138629 + 715000 0.0042673805 0.0040649223 0.0061652736 + 715100 0.0056094541 0.0038416147 0.0066025179 + 715200 0.0045385049 0.0032558893 0.0054896846 + 715300 0.0044344348 0.0028437694 0.0050263428 + 715400 0.0051412962 0.0021987822 0.004729264 + 715500 0.0067280066 0.0017929539 0.0051043946 + 715600 0.0049976754 0.001942729 0.0044025223 + 715700 0.0042026405 0.0020876476 0.0041561347 + 715800 0.0033701938 0.0021584986 0.0038172659 + 715900 0.0042704953 0.001858297 0.0039601814 + 716000 0.0062776028 0.0020182626 0.0051080202 + 716100 0.0043923828 0.0028390013 0.0050008772 + 716200 0.0044739218 0.0032557221 0.0054577305 + 716300 0.0059027968 0.0028455185 0.0057508013 + 716400 0.0047753669 0.0023594388 0.0047098147 + 716500 0.0039242318 0.0021649586 0.0040964164 + 716600 0.0041162833 0.0020596414 0.0040856246 + 716700 0.0051407387 0.0019324103 0.0044626176 + 716800 0.0032567257 0.0022339627 0.0038368824 + 716900 0.0047781832 0.002890841 0.005242603 + 717000 0.005362996 0.0026430192 0.0052826187 + 717100 0.0032694743 0.0025196458 0.0041288402 + 717200 0.00303582 0.0024200494 0.0039142421 + 717300 0.0061655031 0.0020208089 0.0050553925 + 717400 0.0053491122 0.0018235811 0.0044563472 + 717500 0.0059446826 0.0017592563 0.0046851548 + 717600 0.0054103892 0.0013710466 0.0040339726 + 717700 0.0034506329 0.0014272723 0.0031256307 + 717800 0.0060774516 0.0015903789 0.0045816246 + 717900 0.0063366707 0.0021087518 0.0052275819 + 718000 0.0051277503 0.0024408011 0.0049646158 + 718100 0.0061196173 0.0022053979 0.005217397 + 718200 0.0046569744 0.0023762196 0.0046683242 + 718300 0.0045601427 0.002328325 0.0045727702 + 718400 0.0038138021 0.0023071153 0.004184221 + 718500 0.0043383604 0.0024379992 0.0045732859 + 718600 0.0051590137 0.0022957248 0.0048349268 + 718700 0.0048019051 0.0023756484 0.004739086 + 718800 0.0041363971 0.0024992354 0.0045351184 + 718900 0.0051252981 0.0021998585 0.0047224662 + 719000 0.0050416755 0.0020400467 0.0045214964 + 719100 0.0047732706 0.0022350821 0.0045844263 + 719200 0.0040107702 0.002539189 0.00451324 + 719300 0.0044102958 0.0024285728 0.0045992653 + 719400 0.005394967 0.0020668545 0.0047221898 + 719500 0.0047031958 0.0021800341 0.0044948883 + 719600 0.0054826076 0.0018629606 0.0045614316 + 719700 0.0053742676 0.0016332506 0.004278398 + 719800 0.0044933134 0.0015845889 0.0037961416 + 719900 0.0048316198 0.0016699271 0.00404799 + 720000 0.0044009979 0.0022967587 0.0044628748 + 720100 0.0046157872 0.0025948562 0.004866689 + 720200 0.0045968951 0.0023475158 0.0046100501 + 720300 0.0056405285 0.0023282128 0.0051044104 + 720400 0.004081373 0.0027609139 0.0047697146 + 720500 0.0063183681 0.0024888059 0.0055986277 + 720600 0.0043897229 0.002364405 0.0045249717 + 720700 0.0068735792 0.0022074214 0.0055905111 + 720800 0.0052012383 0.0020444746 0.004604459 + 720900 0.0043798592 0.001974445 0.0041301569 + 721000 0.0065869777 0.0018998551 0.0051418831 + 721100 0.0038719779 0.0019618727 0.0038676118 + 721200 0.0037178686 0.0016285312 0.0034584196 + 721300 0.0051754265 0.0016035959 0.0041508761 + 721400 0.0050593837 0.002083898 0.0045740634 + 721500 0.0056238935 0.0020732821 0.0048412921 + 721600 0.0055898373 0.0018958154 0.0046470634 + 721700 0.0054736698 0.0021549098 0.0048489816 + 721800 0.0047690517 0.0023819473 0.0047292149 + 721900 0.0046385799 0.0023754131 0.0046584641 + 722000 0.0048266965 0.0020213168 0.0043969565 + 722100 0.0065359604 0.0016495777 0.0048664957 + 722200 0.0056110704 0.002069987 0.0048316857 + 722300 0.0046437798 0.0022194724 0.0045050828 + 722400 0.0044219512 0.0023336052 0.0045100343 + 722500 0.0057637987 0.0024396943 0.005276564 + 722600 0.0068569524 0.0022002239 0.0055751301 + 722700 0.00489327 0.0021076028 0.0045160091 + 722800 0.0064488761 0.001834134 0.0050081902 + 722900 0.0047199538 0.0021433898 0.004466492 + 723000 0.0046343299 0.0022189409 0.0044999002 + 723100 0.0040187433 0.0019295973 0.0039075726 + 723200 0.0056927685 0.0020502952 0.0048522047 + 723300 0.0053209446 0.0021308252 0.0047497276 + 723400 0.0057209692 0.0018369192 0.0046527087 + 723500 0.0060742861 0.0022030505 0.0051927382 + 723600 0.0046539939 0.002395629 0.0046862666 + 723700 0.0043948755 0.0026596484 0.0048227512 + 723800 0.0039201086 0.0024227399 0.0043521683 + 723900 0.0042463127 0.0019974934 0.0040874755 + 724000 0.0053764131 0.0020813008 0.0047275041 + 724100 0.0050054805 0.0020645239 0.0045281588 + 724200 0.0030416609 0.0019389042 0.0034359716 + 724300 0.0051475674 0.0021296144 0.0046631827 + 724400 0.0062966118 0.0023690792 0.0054681928 + 724500 0.0044374414 0.0020514846 0.0042355378 + 724600 0.0047622713 0.0017687188 0.0041126492 + 724700 0.0054120222 0.0020329107 0.0046966403 + 724800 0.0048278186 0.0021385048 0.0045146967 + 724900 0.003790716 0.0019964167 0.0038621597 + 725000 0.0047111423 0.0017825789 0.0041013443 + 725100 0.0076197824 0.0019621731 0.0057125347 + 725200 0.0061800745 0.0028202387 0.0058619941 + 725300 0.0052023023 0.0026039075 0.0051644157 + 725400 0.0053225263 0.002438601 0.0050582819 + 725500 0.0045884247 0.0025743388 0.004832704 + 725600 0.0042209056 0.0025340883 0.0046115652 + 725700 0.0035742778 0.0022203132 0.003979528 + 725800 0.0051896437 0.0017626514 0.0043169292 + 725900 0.0034237294 0.0020494556 0.0037345724 + 726000 0.0035126469 0.0021759176 0.0039047985 + 726100 0.0050979404 0.0019967913 0.0045059338 + 726200 0.005400228 0.0019442488 0.0046021735 + 726300 0.0053241518 0.0019917598 0.0046122408 + 726400 0.0047922283 0.0021125464 0.0044712212 + 726500 0.0062934292 0.0025852952 0.0056828424 + 726600 0.0068871812 0.0025894803 0.0059792648 + 726700 0.0057481382 0.0030624425 0.0058916043 + 726800 0.0051076262 0.0027320123 0.005245922 + 726900 0.0071252611 0.0024222027 0.0059291671 + 727000 0.0043081431 0.0022913017 0.0044117159 + 727100 0.0035038303 0.0027152053 0.0044397468 + 727200 0.004971815 0.0030147941 0.0054618593 + 727300 0.0050114237 0.0030855522 0.0055521123 + 727400 0.0049208531 0.003093055 0.0055150374 + 727500 0.004048348 0.0032602868 0.0052528331 + 727600 0.0043135635 0.0028272546 0.0049503367 + 727700 0.0067816701 0.0027467811 0.0060846344 + 727800 0.0050062801 0.002632651 0.0050966795 + 727900 0.0041864224 0.0022979583 0.0043584631 + 728000 0.0045874719 0.0023110379 0.0045689343 + 728100 0.0040309908 0.0023044119 0.0042884152 + 728200 0.0058208039 0.0022129918 0.0050779187 + 728300 0.0057514283 0.0020346896 0.0048654707 + 728400 0.0033553012 0.0021923086 0.0038437459 + 728500 0.0064943402 0.0016356901 0.0048321232 + 728600 0.0061545843 0.0018918073 0.0049210168 + 728700 0.0050793377 0.0021681376 0.0046681241 + 728800 0.0037438959 0.002418843 0.0042615418 + 728900 0.0057983032 0.002054287 0.0049081394 + 729000 0.0036446773 0.0020218482 0.0038157128 + 729100 0.0055742242 0.002123656 0.0048672194 + 729200 0.0046344169 0.0028789632 0.0051599652 + 729300 0.0042595225 0.0034435113 0.005539995 + 729400 0.0043330443 0.0036886568 0.0058213271 + 729500 0.0031170831 0.0033450665 0.0048792558 + 729600 0.0053967356 0.0024891989 0.0051454047 + 729700 0.0063001806 0.0025011334 0.0056020036 + 729800 0.0045251016 0.0032457683 0.0054729667 + 729900 0.0048342587 0.0029639239 0.0053432857 + 730000 0.0059392598 0.0026949735 0.005618203 + 730100 0.0056717061 0.0029569172 0.0057484601 + 730200 0.0043491807 0.0028451784 0.0049857908 + 730300 0.0055032566 0.0026930997 0.0054017338 + 730400 0.0052249806 0.0025131677 0.0050848378 + 730500 0.0054093335 0.0026603814 0.0053227877 + 730600 0.0045744435 0.0027667822 0.0050182661 + 730700 0.0052148304 0.0031969425 0.0057636169 + 730800 0.0047945084 0.003408421 0.0057682182 + 730900 0.0048729856 0.0028616339 0.0052600565 + 731000 0.0042953513 0.0029651854 0.0050793037 + 731100 0.0054031574 0.002660524 0.0053198906 + 731200 0.0050108492 0.0022365669 0.0047028442 + 731300 0.0042820532 0.002440682 0.004548255 + 731400 0.0051015884 0.0025032937 0.0050142318 + 731500 0.0045485441 0.0030044094 0.005243146 + 731600 0.0049433119 0.0032675711 0.0057006074 + 731700 0.0050136146 0.0028915148 0.0053591532 + 731800 0.0058504203 0.0020692829 0.0049487867 + 731900 0.0056545564 0.0018356314 0.0046187334 + 732000 0.0055365062 0.002465336 0.0051903351 + 732100 0.0048269584 0.002845543 0.0052213116 + 732200 0.0040214559 0.0023334848 0.0043127951 + 732300 0.0060689862 0.0020615689 0.005048648 + 732400 0.0043281202 0.002386317 0.0045165636 + 732500 0.0044936918 0.0022454272 0.0044571662 + 732600 0.0053919466 0.0018381749 0.0044920236 + 732700 0.0062948216 0.0023543685 0.005452601 + 732800 0.0058712882 0.0027419303 0.005631705 + 732900 0.0072402981 0.0028241528 0.006387737 + 733000 0.005300886 0.0030270134 0.0056360432 + 733100 0.005806499 0.0029434368 0.005801323 + 733200 0.0058314609 0.0026517042 0.0055218764 + 733300 0.0064181169 0.0026108541 0.0057697711 + 733400 0.0050350329 0.0020280231 0.0045062033 + 733500 0.0044040811 0.0019480113 0.004115645 + 733600 0.0058020214 0.0022679654 0.0051236478 + 733700 0.0056595075 0.0025638232 0.0053493621 + 733800 0.0051598293 0.002908228 0.0054478315 + 733900 0.0034276756 0.0025831737 0.0042702328 + 734000 0.0038637224 0.0026986202 0.0046002961 + 734100 0.0044866442 0.0026556864 0.0048639566 + 734200 0.0051683061 0.0025767887 0.0051205643 + 734300 0.0047391777 0.0025859796 0.0049185436 + 734400 0.0046773298 0.0025071128 0.0048092361 + 734500 0.0043405635 0.0023732969 0.004509668 + 734600 0.0055912762 0.0019958036 0.0047477599 + 734700 0.0050623016 0.0018510404 0.004342642 + 734800 0.0055904453 0.0016775835 0.0044291307 + 734900 0.0036779715 0.0021978797 0.0040081313 + 735000 0.0048906206 0.0025461169 0.0049532192 + 735100 0.005978406 0.0027309068 0.0056734035 + 735200 0.0051531358 0.002341746 0.004878055 + 735300 0.0039368425 0.0022489053 0.00418657 + 735400 0.0038454338 0.0023016979 0.0041943724 + 735500 0.0043071771 0.0021294342 0.0042493729 + 735600 0.0050312379 0.0018828246 0.004359137 + 735700 0.0043093364 0.0018967474 0.0040177489 + 735800 0.0047147624 0.0021604137 0.0044809608 + 735900 0.0030199658 0.0027764313 0.0042628207 + 736000 0.0050935813 0.0023405077 0.0048475047 + 736100 0.0045580387 0.0021779977 0.0044214074 + 736200 0.0049650743 0.0019677906 0.0044115381 + 736300 0.004870898 0.0018643179 0.004261713 + 736400 0.0046667319 0.0020463287 0.0043432358 + 736500 0.0047715393 0.0017558702 0.0041043622 + 736600 0.0045041016 0.0017048531 0.0039217156 + 736700 0.0043108506 0.0020032578 0.0041250046 + 736800 0.0045604163 0.0020349451 0.004279525 + 736900 0.00535843 0.0018928249 0.0045301772 + 737000 0.0056279625 0.0017121702 0.004482183 + 737100 0.0055642409 0.0020663802 0.0048050301 + 737200 0.0042567065 0.0025666106 0.0046617083 + 737300 0.0042753296 0.0025465534 0.0046508172 + 737400 0.0049357129 0.002079254 0.0045085502 + 737500 0.0054578617 0.0021741677 0.004860459 + 737600 0.0043933223 0.0028710213 0.0050333596 + 737700 0.0059859883 0.0031130226 0.0060592512 + 737800 0.005357095 0.0026852972 0.0053219924 + 737900 0.0044232547 0.0025071792 0.0046842499 + 738000 0.0043737931 0.0027776339 0.0049303601 + 738100 0.0064713883 0.0025523608 0.0057374972 + 738200 0.005119339 0.002104403 0.0046240777 + 738300 0.0058725927 0.0022482921 0.0051387088 + 738400 0.0048219806 0.0023421527 0.0047154713 + 738500 0.0050991435 0.001966196 0.0044759306 + 738600 0.0044333489 0.0018307801 0.0040128189 + 738700 0.0048206686 0.0022797802 0.004652453 + 738800 0.0057341053 0.0026292127 0.0054514677 + 738900 0.005682821 0.0020034377 0.0048004512 + 739000 0.0055442433 0.0016583726 0.0043871798 + 739100 0.0058367103 0.0018728019 0.0047455578 + 739200 0.0041532237 0.0022743746 0.0043185393 + 739300 0.0061060411 0.0024561268 0.0054614439 + 739400 0.0033542462 0.0025406408 0.0041915589 + 739500 0.0051448578 0.0024508977 0.0049831324 + 739600 0.0042500232 0.002498221 0.0045900293 + 739700 0.0054344356 0.0021729132 0.0048476745 + 739800 0.005424145 0.0020177152 0.0046874116 + 739900 0.0061891945 0.0020361312 0.0050823753 + 740000 0.0043174918 0.0023125631 0.0044375786 + 740100 0.0051585474 0.0026053477 0.0051443203 + 740200 0.0052789958 0.0025394875 0.0051377432 + 740300 0.0054712123 0.0025613241 0.0052541865 + 740400 0.0054906009 0.0028328086 0.0055352137 + 740500 0.0057915209 0.0033959999 0.0062465141 + 740600 0.0048085848 0.0033966339 0.0057633592 + 740700 0.0067239593 0.0027255705 0.0060350193 + 740800 0.0068087706 0.0021009331 0.0054521249 + 740900 0.0051377925 0.0020202842 0.0045490414 + 741000 0.0054481905 0.0022881454 0.0049696766 + 741100 0.0058888098 0.0025542973 0.0054526959 + 741200 0.006035978 0.0024297582 0.0054005911 + 741300 0.0056965947 0.0026673252 0.0054711179 + 741400 0.0049146757 0.0030784935 0.0054974355 + 741500 0.0049512111 0.0030985624 0.0055354866 + 741600 0.0059101221 0.0028383478 0.005747236 + 741700 0.0052241035 0.0027529354 0.0053241738 + 741800 0.0074419477 0.0025358889 0.0061987226 + 741900 0.0040063141 0.0026553044 0.0046271621 + 742000 0.0035948293 0.0026051272 0.0043744573 + 742100 0.0056012483 0.0023199726 0.005076837 + 742200 0.0052170834 0.0024293687 0.0049971519 + 742300 0.004432285 0.0027302752 0.0049117905 + 742400 0.005183309 0.0026959605 0.0052471205 + 742500 0.0046727283 0.002434232 0.0047340905 + 742600 0.0072137158 0.0025553091 0.0061058099 + 742700 0.0035173514 0.0027809368 0.0045121332 + 742800 0.008059325 0.0022618696 0.0062285687 + 742900 0.0062201972 0.0019453589 0.0050068622 + 743000 0.0056167006 0.0020745358 0.0048390056 + 743100 0.0039879594 0.0024223906 0.0043852143 + 743200 0.0035775616 0.0024025592 0.0041633903 + 743300 0.0044830022 0.0023662205 0.0045726982 + 743400 0.0048368773 0.0024054851 0.0047861356 + 743500 0.0044356506 0.0023736002 0.004556772 + 743600 0.0053004465 0.002140258 0.0047490716 + 743700 0.0064087954 0.0024067588 0.0055610878 + 743800 0.0055876259 0.0030821595 0.0058323191 + 743900 0.0049731911 0.0025850852 0.0050328277 + 744000 0.0049793238 0.0021190323 0.0045697933 + 744100 0.0049167387 0.0021646866 0.0045846439 + 744200 0.0051236254 0.0018829068 0.0044046912 + 744300 0.0039245386 0.0022456602 0.004177269 + 744400 0.0049974654 0.0025969943 0.0050566843 + 744500 0.0034847202 0.0026357934 0.0043509291 + 744600 0.0052624414 0.0019537824 0.0045438903 + 744700 0.0053786115 0.0019307552 0.0045780406 + 744800 0.0047300017 0.0023005865 0.0046286342 + 744900 0.0041245936 0.0023117237 0.0043417972 + 745000 0.0057282403 0.0017873801 0.0046067483 + 745100 0.0050972652 0.0017212006 0.0042300108 + 745200 0.0038212104 0.0023404583 0.0042212103 + 745300 0.0049302563 0.0024605839 0.0048871944 + 745400 0.0065370839 0.0025476501 0.0057651211 + 745500 0.0056277783 0.0025405949 0.005310517 + 745600 0.0078289395 0.002142735 0.0059960411 + 745700 0.0061431655 0.0021653679 0.0051889572 + 745800 0.0057991225 0.0024787764 0.005333032 + 745900 0.0069651012 0.0028018803 0.0062300161 + 746000 0.0079754912 0.0021183436 0.0060437807 + 746100 0.0051304897 0.0020079666 0.0045331295 + 746200 0.0053757426 0.0019411738 0.0045870472 + 746300 0.0032664429 0.0022089573 0.0038166597 + 746400 0.0036527735 0.0023651091 0.0041629586 + 746500 0.0053152746 0.0021534059 0.0047695176 + 746600 0.0041534754 0.0022998665 0.0043441552 + 746700 0.0040065159 0.0026149481 0.0045869051 + 746800 0.0054141531 0.0024193093 0.0050840878 + 746900 0.0053495874 0.0022732559 0.0049062559 + 747000 0.0051896532 0.0024684212 0.0050227036 + 747100 0.0038318199 0.0026711753 0.0045571492 + 747200 0.0046102827 0.0025753776 0.0048445011 + 747300 0.0049852879 0.0026972451 0.0051509415 + 747400 0.0054558913 0.0028715739 0.0055568954 + 747500 0.0035844854 0.0025251745 0.0042894134 + 747600 0.0044205374 0.0021099855 0.0042857188 + 747700 0.00485057 0.0020085397 0.0043959296 + 747800 0.0036916064 0.0022435908 0.0040605533 + 747900 0.0049314137 0.0021907709 0.0046179511 + 748000 0.005719573 0.0020352825 0.0048503848 + 748100 0.0061416186 0.0022724288 0.0052952567 + 748200 0.0034921703 0.0028009301 0.0045197327 + 748300 0.0058159445 0.0022358013 0.0050983365 + 748400 0.0049961167 0.0025341405 0.0049931667 + 748500 0.0052746275 0.0026099368 0.0052060425 + 748600 0.0050180595 0.0026405261 0.0051103523 + 748700 0.0062016583 0.0026385235 0.0056909022 + 748800 0.0052601716 0.003079793 0.0056687837 + 748900 0.005853724 0.0031613433 0.0060424731 + 749000 0.0062165121 0.0024266276 0.0054863172 + 749100 0.0076571985 0.0021034499 0.0058722273 + 749200 0.0062859393 0.002735961 0.0058298217 + 749300 0.0051662172 0.0033661615 0.0059089091 + 749400 0.0044989474 0.003103798 0.0053181237 + 749500 0.004798559 0.0029880876 0.0053498784 + 749600 0.005569171 0.0026183755 0.0053594519 + 749700 0.0056433523 0.0025349102 0.0053124976 + 749800 0.0047298486 0.0029280485 0.0052560209 + 749900 0.0053621285 0.0027955367 0.0054347094 + 750000 0.0047814272 0.002737316 0.0050906747 + 750100 0.0045115387 0.0026256934 0.0048462163 + 750200 0.0042634748 0.0023735172 0.0044719462 + 750300 0.0045286176 0.0025137241 0.004742653 + 750400 0.0056692348 0.0024638555 0.0052541821 + 750500 0.0036316193 0.0029661957 0.0047536333 + 750600 0.0056676641 0.0027882462 0.0055777996 + 750700 0.0049060896 0.0025740246 0.0049887406 + 750800 0.0047350967 0.0023335966 0.004664152 + 750900 0.0043063069 0.0027179673 0.0048374778 + 751000 0.0062313908 0.0020905522 0.0051575649 + 751100 0.0058157046 0.0026164246 0.0054788418 + 751200 0.0050407483 0.0025733076 0.0050543009 + 751300 0.0058316777 0.0020142477 0.0048845265 + 751400 0.0040703245 0.0018952526 0.0038986154 + 751500 0.0051713511 0.0019109119 0.0044561863 + 751600 0.0049521989 0.0019625409 0.0043999513 + 751700 0.0049054184 0.0024154813 0.0048298669 + 751800 0.0056621992 0.0026889602 0.0054758239 + 751900 0.005291383 0.0026336329 0.0052379854 + 752000 0.0043776385 0.0024230635 0.0045776824 + 752100 0.0034775952 0.0025240478 0.0042356766 + 752200 0.0058619384 0.0025123738 0.0053975466 + 752300 0.0044869209 0.0027601138 0.0049685202 + 752400 0.004020747 0.0024646445 0.0044436059 + 752500 0.0039535061 0.0021655355 0.0041114018 + 752600 0.0052333954 0.001682192 0.0042580038 + 752700 0.0039968518 0.0018483139 0.0038155144 + 752800 0.0045548923 0.0020836178 0.0043254789 + 752900 0.0042650734 0.0016833199 0.0037825357 + 753000 0.0047808174 0.0016967796 0.0040498381 + 753100 0.0045745612 0.0019397316 0.0041912734 + 753200 0.0056203371 0.0018492651 0.0046155248 + 753300 0.0050010431 0.0019703543 0.0044318052 + 753400 0.0068736011 0.0023634706 0.0057465712 + 753500 0.0039157879 0.0031806869 0.0051079887 + 753600 0.0048615179 0.003137976 0.0055307543 + 753700 0.0063350762 0.0025190034 0.0056370487 + 753800 0.0060476745 0.0023617181 0.0053383078 + 753900 0.0043087866 0.0023951336 0.0045158645 + 754000 0.0048586901 0.0019528375 0.0043442241 + 754100 0.0058651522 0.0016054624 0.004492217 + 754200 0.0043544407 0.0019387502 0.0040819515 + 754300 0.0042534688 0.0021986749 0.0042921791 + 754400 0.0062550204 0.0025323084 0.0056109512 + 754500 0.0051378396 0.0026370458 0.0051658262 + 754600 0.00394405 0.0032456185 0.0051868306 + 754700 0.005010206 0.0028467424 0.0053127031 + 754800 0.0048608538 0.0026053491 0.0049978006 + 754900 0.0058425418 0.0024078918 0.0052835179 + 755000 0.0060563467 0.0024548609 0.0054357191 + 755100 0.0059836758 0.0021114443 0.0050565348 + 755200 0.0050013983 0.0022752098 0.0047368355 + 755300 0.0032615824 0.0024061907 0.0040115007 + 755400 0.0064150999 0.002246985 0.0054044169 + 755500 0.0055112882 0.002460885 0.0051734722 + 755600 0.0052222051 0.0024289879 0.0049992919 + 755700 0.0052218758 0.0024813171 0.0050514591 + 755800 0.006114554 0.0024650675 0.0054745746 + 755900 0.0054320736 0.0026670715 0.0053406702 + 756000 0.0053319724 0.0024794791 0.0051038093 + 756100 0.0048143464 0.0024638363 0.0048333974 + 756200 0.0055361104 0.002505422 0.0052302263 + 756300 0.0057105042 0.0030322741 0.0058429129 + 756400 0.0034691314 0.0033961299 0.005103593 + 756500 0.0057434107 0.0027792298 0.0056060648 + 756600 0.0047914668 0.0026447284 0.0050030285 + 756700 0.0046594967 0.0034020138 0.0056953598 + 756800 0.0053054054 0.0031268215 0.0057380758 + 756900 0.0050841106 0.0023417634 0.004844099 + 757000 0.0063364823 0.0020951387 0.005213876 + 757100 0.0048196269 0.0019269659 0.004299126 + 757200 0.0062587926 0.0022842501 0.0053647495 + 757300 0.0056206295 0.0027809256 0.0055473292 + 757400 0.0061145063 0.0024919758 0.0055014594 + 757500 0.0049652892 0.002206854 0.0046507073 + 757600 0.0051136781 0.0018515575 0.004368446 + 757700 0.0052543809 0.0019105107 0.0044966513 + 757800 0.0036294043 0.0022245789 0.0040109263 + 757900 0.0039912572 0.0020383654 0.0040028122 + 758000 0.0043439363 0.0018703499 0.004008381 + 758100 0.0060640938 0.0020722687 0.0050569399 + 758200 0.0044688256 0.0023686952 0.0045681953 + 758300 0.0052102099 0.0027399926 0.0053043927 + 758400 0.0045943514 0.0028186671 0.0050799494 + 758500 0.0053338356 0.0025993864 0.0052246336 + 758600 0.0052645778 0.0023392636 0.004930423 + 758700 0.0038525558 0.0026449583 0.0045411381 + 758800 0.0037095431 0.002197116 0.0040229067 + 758900 0.0036907583 0.0021893151 0.0040058602 + 759000 0.0058859333 0.0022531865 0.0051501693 + 759100 0.005295062 0.0023043466 0.0049105099 + 759200 0.005104182 0.0021126566 0.0046248711 + 759300 0.0051899574 0.0025045635 0.0050589957 + 759400 0.0054487332 0.0021820928 0.0048638912 + 759500 0.0047455734 0.001787527 0.0041232389 + 759600 0.0044024984 0.0020522199 0.0042190746 + 759700 0.0039504517 0.0024014315 0.0043457944 + 759800 0.0050707058 0.0022847825 0.0047805205 + 759900 0.004735368 0.0019863397 0.0043170287 + 760000 0.0055820948 0.0020319172 0.0047793545 + 760100 0.0051653585 0.0025402744 0.0050825993 + 760200 0.0060967935 0.0023310098 0.0053317753 + 760300 0.0063768843 0.0019767753 0.005115398 + 760400 0.0053995693 0.0023735712 0.0050311717 + 760500 0.0065081311 0.0026416632 0.005844884 + 760600 0.0064264647 0.0029777989 0.0061408245 + 760700 0.0045365752 0.0028659822 0.0050988278 + 760800 0.003332127 0.002676562 0.0043165933 + 760900 0.0049914289 0.0023518271 0.004808546 + 761000 0.0072336956 0.002327499 0.0058878335 + 761100 0.0065748081 0.0027127844 0.0059488228 + 761200 0.0060559915 0.0029002183 0.0058809016 + 761300 0.0056729967 0.0024674665 0.0052596445 + 761400 0.0055529551 0.002141332 0.0048744271 + 761500 0.0050047078 0.002133781 0.0045970356 + 761600 0.0039916897 0.002162554 0.0041272138 + 761700 0.0058271515 0.0020632058 0.0049312569 + 761800 0.0042683088 0.0024213818 0.0045221901 + 761900 0.0047985638 0.0021766999 0.0045384931 + 762000 0.0062651128 0.0019364312 0.0050200414 + 762100 0.0055235339 0.0020838229 0.0048024373 + 762200 0.0042158333 0.0028139894 0.0048889698 + 762300 0.0044478736 0.0028097732 0.004998961 + 762400 0.0039739399 0.0022994461 0.0042553696 + 762500 0.0048120456 0.0017444468 0.0041128755 + 762600 0.0059390801 0.0020323701 0.0049555111 + 762700 0.0044992462 0.0024930479 0.0047075207 + 762800 0.0038452853 0.0026129176 0.004505519 + 762900 0.0039066441 0.0026089578 0.0045317592 + 763000 0.0033345723 0.0027622918 0.0044035266 + 763100 0.0048157479 0.0026280419 0.0049982929 + 763200 0.0048598637 0.0026240558 0.00501602 + 763300 0.0050436839 0.0026234043 0.0051058425 + 763400 0.0038756331 0.0026958028 0.004603341 + 763500 0.0059289088 0.0024552231 0.0053733579 + 763600 0.0052284732 0.002811908 0.0053852971 + 763700 0.0055330587 0.003274904 0.0059982063 + 763800 0.0060076317 0.0032582717 0.0062151529 + 763900 0.0038501729 0.0030276593 0.0049226663 + 764000 0.0043871332 0.0025676327 0.0047269248 + 764100 0.0076227508 0.0023979944 0.006149817 + 764200 0.0050682044 0.0023724815 0.0048669884 + 764300 0.0043784839 0.0022766926 0.0044317276 + 764400 0.0043873095 0.0022449605 0.0044043394 + 764500 0.005315215 0.0020012792 0.0046173616 + 764600 0.0049733579 0.0020683703 0.0045161949 + 764700 0.0039314839 0.0021614655 0.0040964927 + 764800 0.003993667 0.0024026635 0.0043682964 + 764900 0.0044241521 0.0025711868 0.0047486992 + 765000 0.0046273827 0.0032019815 0.0054795214 + 765100 0.0049916148 0.002737624 0.0051944344 + 765200 0.0062204629 0.0026077145 0.0056693486 + 765300 0.0048271291 0.0024289455 0.0048047981 + 765400 0.0046716859 0.0023253422 0.0046246876 + 765500 0.0042397209 0.0026811739 0.0047679115 + 765600 0.0060421002 0.0027055727 0.0056794189 + 765700 0.0048138334 0.0027440907 0.0051133993 + 765800 0.0065963991 0.0022859406 0.0055326058 + 765900 0.0062031805 0.0027792521 0.00583238 + 766000 0.0055473522 0.0027023316 0.005432669 + 766100 0.0058429861 0.0025317798 0.0054076245 + 766200 0.0049090397 0.0023518712 0.0047680392 + 766300 0.0057174021 0.0025726663 0.0053867002 + 766400 0.005629205 0.0024151496 0.0051857739 + 766500 0.0040836388 0.0024054743 0.0044153902 + 766600 0.005482046 0.0024045756 0.0051027701 + 766700 0.0058142484 0.0025493402 0.0054110406 + 766800 0.0053665291 0.002208853 0.0048501916 + 766900 0.0050070973 0.0020269846 0.0044914153 + 767000 0.0047397166 0.0018797855 0.0042126147 + 767100 0.0046293083 0.0020523048 0.0043307925 + 767200 0.0060042706 0.0025108996 0.0054661266 + 767300 0.0050154283 0.0024544538 0.004922985 + 767400 0.0044375875 0.0023681538 0.0045522789 + 767500 0.0052030538 0.0023383775 0.0048992556 + 767600 0.0047573317 0.0025381811 0.0048796803 + 767700 0.005152448 0.0024578097 0.0049937802 + 767800 0.0043095077 0.0024065976 0.0045276834 + 767900 0.0042822422 0.0023716626 0.0044793287 + 768000 0.0044621689 0.0022150359 0.0044112597 + 768100 0.0050672685 0.0023475872 0.0048416334 + 768200 0.0051289214 0.0023446091 0.0048690001 + 768300 0.0053161536 0.002121147 0.0047376913 + 768400 0.0042290818 0.0025597476 0.0046412487 + 768500 0.0048607904 0.0026112919 0.0050037122 + 768600 0.0052147421 0.0028593152 0.005425946 + 768700 0.0047442289 0.0035166206 0.0058516708 + 768800 0.0055487604 0.0033900581 0.0061210886 + 768900 0.00573745 0.0027431647 0.0055670659 + 769000 0.0041616147 0.0028770425 0.0049253373 + 769100 0.0061700821 0.003226473 0.0062633103 + 769200 0.0044752015 0.0032798427 0.0054824809 + 769300 0.0053666671 0.0030895562 0.0057309626 + 769400 0.0056023884 0.0022726676 0.0050300931 + 769500 0.0071285806 0.0019874931 0.0054960914 + 769600 0.0054672449 0.0022031037 0.0048940133 + 769700 0.0038263919 0.0032436106 0.0051269128 + 769800 0.005041845 0.0033667251 0.0058482582 + 769900 0.0055291178 0.0025141957 0.0052355584 + 770000 0.0070725226 0.0019445541 0.0054255613 + 770100 0.004558823 0.001975975 0.0042197707 + 770200 0.0059836012 0.0017639695 0.0047090232 + 770300 0.005793066 0.0021543867 0.0050056614 + 770400 0.0054308914 0.0025249752 0.0051979921 + 770500 0.0060921971 0.0024846156 0.0054831189 + 770600 0.0060799265 0.0024033767 0.0053958405 + 770700 0.0055749707 0.0023116933 0.0050556242 + 770800 0.0047797009 0.0021853795 0.0045378885 + 770900 0.0050924076 0.0016771495 0.0041835689 + 771000 0.005557092 0.0018612545 0.0045963857 + 771100 0.0049572328 0.0020001769 0.004440065 + 771200 0.0063685021 0.0017397864 0.0048742835 + 771300 0.0054974556 0.0017494668 0.0044552458 + 771400 0.0053677031 0.0019536369 0.0045955533 + 771500 0.0050200806 0.0018165396 0.0042873605 + 771600 0.0062513544 0.0020398877 0.0051167261 + 771700 0.0062473819 0.0020595708 0.0051344541 + 771800 0.0048147962 0.0023673582 0.0047371407 + 771900 0.0052968686 0.0024888995 0.005095952 + 772000 0.0053363505 0.0028277463 0.0054542313 + 772100 0.0057577622 0.0026211062 0.0054550048 + 772200 0.0073484072 0.0020615063 0.0056783005 + 772300 0.002975839 0.0023146615 0.0037793322 + 772400 0.0043204091 0.0022832278 0.0044096791 + 772500 0.0048559531 0.0023750704 0.0047651099 + 772600 0.0058114234 0.0026981403 0.0055584502 + 772700 0.0059717182 0.0026789983 0.0056182033 + 772800 0.0057452682 0.0027494978 0.005577247 + 772900 0.0059714966 0.002392934 0.00533203 + 773000 0.0053569769 0.0027807761 0.0054174132 + 773100 0.0041032389 0.0031769908 0.0051965537 + 773200 0.0050144398 0.0028010678 0.0052691124 + 773300 0.0045182463 0.0028195835 0.0050434079 + 773400 0.0069073227 0.0023782412 0.0057779391 + 773500 0.0082597995 0.0020566188 0.0061219889 + 773600 0.005147002 0.0024416284 0.0049749184 + 773700 0.0042807528 0.002565868 0.0046728011 + 773800 0.00457699 0.002403341 0.0046560783 + 773900 0.0062048751 0.0024270339 0.0054809958 + 774000 0.0056010928 0.0020881458 0.0048449337 + 774100 0.0044762802 0.0021822966 0.0043854658 + 774200 0.0036800125 0.0024923543 0.0043036104 + 774300 0.0042170452 0.0023471803 0.0044227572 + 774400 0.0046551411 0.0026871489 0.0049783511 + 774500 0.0044597262 0.0024406649 0.0046356863 + 774600 0.0073621053 0.0024495009 0.0060730371 + 774700 0.0051899996 0.002945165 0.0054996179 + 774800 0.0049350352 0.0033925016 0.0058214643 + 774900 0.0054288445 0.0026769383 0.0053489477 + 775000 0.0040132507 0.0024423643 0.0044176361 + 775100 0.0065604102 0.0023241885 0.0055531404 + 775200 0.004759022 0.0024775733 0.0048199045 + 775300 0.0041721974 0.0029305047 0.0049840081 + 775400 0.004920214 0.0022956908 0.0047173586 + 775500 0.0058795278 0.0017957661 0.0046895962 + 775600 0.005796192 0.0018490861 0.0047018994 + 775700 0.0040082245 0.0025694174 0.0045422154 + 775800 0.0043240482 0.0026851831 0.0048134256 + 775900 0.0054032696 0.0020722437 0.0047316655 + 776000 0.0050791041 0.0018415783 0.0043414498 + 776100 0.003712392 0.0020749131 0.003902106 + 776200 0.0050031104 0.0018389152 0.0043013836 + 776300 0.0052068302 0.0019219169 0.0044846536 + 776400 0.0049490613 0.0018079807 0.0042438468 + 776500 0.0074777663 0.0015148391 0.0051953023 + 776600 0.0042342345 0.0021527084 0.0042367456 + 776700 0.0048625562 0.0023111446 0.004704434 + 776800 0.0040961535 0.0025732416 0.0045893172 + 776900 0.0044756072 0.0026365796 0.0048394175 + 777000 0.0075152789 0.0024206838 0.0061196101 + 777100 0.005516003 0.0025210172 0.005235925 + 777200 0.0039787127 0.0029551346 0.0049134073 + 777300 0.0045254023 0.0027871241 0.0050144705 + 777400 0.0040747213 0.0025684238 0.0045739507 + 777500 0.0039554892 0.0023369173 0.0042837596 + 777600 0.0053270046 0.0020339961 0.0046558812 + 777700 0.0047351195 0.0023738108 0.0047043774 + 777800 0.0048394304 0.0024999231 0.0048818303 + 777900 0.0033198296 0.0027432777 0.0043772563 + 778000 0.0046165114 0.0029775303 0.0052497195 + 778100 0.0050645882 0.0029087409 0.0054014679 + 778200 0.0052084141 0.0026043365 0.0051678528 + 778300 0.0053292339 0.00256176 0.0051847423 + 778400 0.0059918921 0.002225962 0.0051750964 + 778500 0.0067156137 0.0019427497 0.0052480909 + 778600 0.0069734406 0.0018350799 0.0052673201 + 778700 0.005302429 0.0018841217 0.004493911 + 778800 0.0055933066 0.0016819542 0.0044349097 + 778900 0.004203678 0.0016117157 0.0036807135 + 779000 0.004488953 0.0019639954 0.004173402 + 779100 0.0056610631 0.0023156645 0.005101969 + 779200 0.0040946405 0.0024329528 0.0044482837 + 779300 0.0052846985 0.0020834698 0.0046845323 + 779400 0.0036760387 0.0019529647 0.003762265 + 779500 0.0055183491 0.0022353649 0.0049514274 + 779600 0.0050240303 0.0024130809 0.0048858459 + 779700 0.00563063 0.002610883 0.0053822087 + 779800 0.0059641117 0.0029555541 0.0058910154 + 779900 0.0057599065 0.0030016898 0.0058366438 + 780000 0.0062650131 0.0033034901 0.0063870512 + 780100 0.0055228764 0.0031071226 0.0058254134 + 780200 0.0062994446 0.003268714 0.0063692219 + 780300 0.0047601264 0.0031671408 0.0055100155 + 780400 0.0055441548 0.0025255896 0.0052543533 + 780500 0.0049467338 0.0028893302 0.0053240507 + 780600 0.0034495926 0.003200194 0.0048980404 + 780700 0.0055558855 0.0031304973 0.0058650347 + 780800 0.0071873858 0.0028675799 0.0064051214 + 780900 0.0052971745 0.0031174567 0.0057246598 + 781000 0.005232574 0.0031133494 0.0056887569 + 781100 0.0055835546 0.0028390865 0.0055872423 + 781200 0.0053366164 0.0027047133 0.0053313291 + 781300 0.0063079107 0.0025731785 0.0056778534 + 781400 0.004272414 0.0020582954 0.0041611241 + 781500 0.0050782059 0.0018694264 0.0043688558 + 781600 0.0049321778 0.0022682076 0.0046957638 + 781700 0.0040452874 0.0026057338 0.0045967737 + 781800 0.0042787784 0.0022918146 0.0043977759 + 781900 0.0055658209 0.0015948091 0.0043342366 + 782000 0.0049635319 0.0017448473 0.0041878356 + 782100 0.0039689732 0.0024424109 0.0043958899 + 782200 0.0055774124 0.0023117967 0.0050569294 + 782300 0.0044049023 0.0026385013 0.0048065392 + 782400 0.0046955026 0.0025664482 0.0048775159 + 782500 0.005206874 0.0030234487 0.005586207 + 782600 0.0054369101 0.0030450337 0.0057210129 + 782700 0.0058401265 0.0027044715 0.0055789088 + 782800 0.005014852 0.0024818598 0.0049501072 + 782900 0.0039286022 0.0024247586 0.0043583675 + 783000 0.0052167959 0.0024465143 0.005014156 + 783100 0.0072079775 0.0022555094 0.0058031858 + 783200 0.0047624473 0.0031643028 0.0055083198 + 783300 0.0048995074 0.0034948063 0.0059062826 + 783400 0.0046136716 0.0037939777 0.0060647692 + 783500 0.0065051727 0.0034428863 0.006644651 + 783600 0.0063888688 0.0031794108 0.0063239322 + 783700 0.0059546255 0.0033902113 0.0063210035 + 783800 0.003981038 0.004103358 0.0060627751 + 783900 0.0050363632 0.0036396981 0.0061185332 + 784000 0.0076586393 0.0029908699 0.0067603564 + 784100 0.0055753142 0.0030340918 0.0057781917 + 784200 0.0069190314 0.0029226973 0.0063281581 + 784300 0.0038070664 0.0024916788 0.0043654693 + 784400 0.0066383628 0.001980977 0.0052482961 + 784500 0.0046661378 0.0022706602 0.0045672749 + 784600 0.0048888651 0.0021972716 0.0046035099 + 784700 0.0043550302 0.0024462272 0.0045897187 + 784800 0.0045183354 0.0027124689 0.0049363371 + 784900 0.00504639 0.0023728589 0.004856629 + 785000 0.0042504652 0.0024410086 0.0045330344 + 785100 0.0054230573 0.002188386 0.004857547 + 785200 0.0057269141 0.0026201598 0.0054388753 + 785300 0.0042627752 0.0030103451 0.0051084298 + 785400 0.0038880708 0.002907284 0.0048209438 + 785500 0.0047396732 0.0026660689 0.0049988768 + 785600 0.0063119048 0.0024097134 0.0055163541 + 785700 0.0063059906 0.0027964404 0.0059001702 + 785800 0.0039141781 0.0032885487 0.0052150583 + 785900 0.0057452056 0.0026362407 0.0054639591 + 786000 0.0050209909 0.0024243071 0.0048955761 + 786100 0.0074743471 0.0022596872 0.0059384674 + 786200 0.0048594268 0.0027905696 0.0051823187 + 786300 0.005558456 0.0034110404 0.006146843 + 786400 0.0051930229 0.0028765149 0.0054324558 + 786500 0.0063318406 0.0025370832 0.0056535359 + 786600 0.0047517847 0.0031060132 0.0054447822 + 786700 0.0043178485 0.0030523422 0.0051775333 + 786800 0.0050807331 0.0029497895 0.0054504628 + 786900 0.0051932324 0.0025771339 0.005133178 + 787000 0.0075099697 0.002408286 0.0061045992 + 787100 0.0051749965 0.0029180851 0.0054651536 + 787200 0.0046956748 0.0031920242 0.0055031766 + 787300 0.0056945396 0.0028486358 0.005651417 + 787400 0.0051738955 0.0022781349 0.0048246616 + 787500 0.0061350007 0.0022389242 0.0052584949 + 787600 0.0052392248 0.0022610752 0.0048397562 + 787700 0.0058328586 0.0024856656 0.0053565257 + 787800 0.0039304377 0.0023579027 0.004292415 + 787900 0.0043956102 0.0023691894 0.0045326538 + 788000 0.0057275376 0.0023895609 0.0052085832 + 788100 0.0078830504 0.0024566936 0.0063366325 + 788200 0.0066063144 0.0030933481 0.0063448935 + 788300 0.0046591439 0.0034039288 0.0056971012 + 788400 0.0060329283 0.0030307123 0.0060000441 + 788500 0.0055952219 0.0027958962 0.0055497944 + 788600 0.0051344836 0.0021654916 0.0046926203 + 788700 0.0056725362 0.001929883 0.0047218344 + 788800 0.0038733196 0.0026761222 0.0045825218 + 788900 0.0053701776 0.0031225403 0.0057656746 + 789000 0.0049600165 0.0034779797 0.0059192379 + 789100 0.0051412283 0.0028203029 0.0053507511 + 789200 0.0049923965 0.0024412984 0.0048984935 + 789300 0.0041070026 0.0026724464 0.0046938617 + 789400 0.0060319495 0.0023889766 0.0053578267 + 789500 0.0068776647 0.0026133459 0.0059984465 + 789600 0.005097349 0.0025823783 0.0050912297 + 789700 0.0044953441 0.0022414706 0.0044540227 + 789800 0.0045150978 0.0023070835 0.0045293582 + 789900 0.0058959864 0.0022280303 0.0051299611 + 790000 0.0046694084 0.0018942873 0.0041925117 + 790100 0.0045552816 0.0019587076 0.0042007603 + 790200 0.0049424973 0.001908115 0.0043407504 + 790300 0.0052614537 0.0018640156 0.0044536373 + 790400 0.0075504859 0.0022933042 0.006009559 + 790500 0.004808548 0.0026137646 0.0049804718 + 790600 0.0063962849 0.0018414099 0.0049895814 + 790700 0.0048067395 0.0017041349 0.004069952 + 790800 0.0062313664 0.0019806043 0.005047605 + 790900 0.0036257424 0.0021211523 0.0039056974 + 791000 0.0058206821 0.0019762484 0.0048411153 + 791100 0.0042831491 0.0019485765 0.0040566889 + 791200 0.0046565941 0.0020206007 0.0043125181 + 791300 0.0060108654 0.0017238755 0.0046823483 + 791400 0.0059959569 0.0018649616 0.0048160966 + 791500 0.0046180379 0.0019989843 0.0042719248 + 791600 0.0047133935 0.002089358 0.0044092314 + 791700 0.0036772708 0.0023762114 0.0041861181 + 791800 0.002887288 0.0025457891 0.0039668761 + 791900 0.0059905242 0.0020872762 0.0050357373 + 792000 0.0050223864 0.0021270534 0.0045990092 + 792100 0.0036972524 0.0020106586 0.0038304 + 792200 0.0052037036 0.0012554535 0.0038166513 + 792300 0.0041601446 0.0015070173 0.0035545885 + 792400 0.0033984236 0.0021023334 0.003774995 + 792500 0.0045788178 0.0018724928 0.0041261296 + 792600 0.0062773072 0.0017197006 0.0048093127 + 792700 0.0065576029 0.0021682807 0.0053958508 + 792800 0.0036962742 0.002305865 0.004125125 + 792900 0.0049206412 0.0025385391 0.0049604172 + 793000 0.005425183 0.0026990851 0.0053692924 + 793100 0.0052441961 0.0024180741 0.0049992019 + 793200 0.0059867232 0.0021662683 0.0051128586 + 793300 0.005243021 0.0024385778 0.0050191272 + 793400 0.0054777778 0.002528862 0.0052249558 + 793500 0.0052732979 0.002767387 0.0053628383 + 793600 0.0054084433 0.0029939388 0.005655907 + 793700 0.0033607073 0.0027016978 0.0043557959 + 793800 0.006092199 0.0025279025 0.0055264067 + 793900 0.0052426301 0.0028191001 0.0053994571 + 794000 0.0032016821 0.0026345757 0.0042104036 + 794100 0.0069855605 0.0027516789 0.0061898844 + 794200 0.0044505305 0.0031718852 0.0053623807 + 794300 0.0039255971 0.0031462577 0.0050783875 + 794400 0.0072739024 0.0024652809 0.0060454048 + 794500 0.0059843804 0.0023263538 0.005271791 + 794600 0.0059572874 0.00265106 0.0055831624 + 794700 0.0056308405 0.0026385093 0.0054099386 + 794800 0.0055757483 0.0025204431 0.0052647566 + 794900 0.0048433799 0.0026034563 0.0049873074 + 795000 0.0057871667 0.002114272 0.0049626431 + 795100 0.0061411986 0.0022719705 0.0052945917 + 795200 0.0059645963 0.0027751968 0.0057108966 + 795300 0.005676599 0.0023542591 0.0051482102 + 795400 0.005879839 0.0019507861 0.0048447693 + 795500 0.0054648022 0.0019161389 0.0046058462 + 795600 0.0037909814 0.0020571438 0.0039230175 + 795700 0.0049760238 0.0020926043 0.004541741 + 795800 0.0060876649 0.0020096976 0.0050059702 + 795900 0.0051249872 0.0021676485 0.0046901031 + 796000 0.0047406622 0.00227329 0.0046065846 + 796100 0.0051477449 0.0020569483 0.004590604 + 796200 0.0054224438 0.0018557372 0.0045245963 + 796300 0.0041579411 0.0018900422 0.0039365289 + 796400 0.0049537068 0.0024485388 0.0048866913 + 796500 0.0054012053 0.0022064874 0.0048648931 + 796600 0.003885557 0.0019672262 0.0038796488 + 796700 0.0041971368 0.0021457437 0.004211522 + 796800 0.0049260887 0.0020477808 0.00447234 + 796900 0.0052150441 0.0022691767 0.0048359562 + 797000 0.0049949753 0.0026724226 0.005130887 + 797100 0.0048429289 0.0028514076 0.0052350366 + 797200 0.0036630101 0.0030279523 0.0048308401 + 797300 0.0049861638 0.0033185025 0.00577263 + 797400 0.0059589929 0.0035099587 0.0064429005 + 797500 0.0068001361 0.0027775149 0.0061244569 + 797600 0.0050843421 0.0022672926 0.0047697423 + 797700 0.0054247252 0.0021785194 0.0048485013 + 797800 0.0060898437 0.0022373119 0.0052346568 + 797900 0.0045254692 0.0024615852 0.0046889646 + 798000 0.0053348881 0.0023765669 0.0050023322 + 798100 0.0059633229 0.0023727995 0.0053078725 + 798200 0.0040366384 0.0028223447 0.0048091277 + 798300 0.0054853851 0.0028382476 0.0055380856 + 798400 0.0037344918 0.0031003154 0.0049383856 + 798500 0.0055912322 0.0026149833 0.0053669179 + 798600 0.0067329291 0.0022204979 0.0055343614 + 798700 0.0055965816 0.0024667148 0.0052212823 + 798800 0.0065797282 0.0025959885 0.0058344485 + 798900 0.0065713894 0.0030480415 0.0062823972 + 799000 0.0045786624 0.0030380876 0.005291648 + 799100 0.0051307304 0.0028176862 0.0053429676 + 799200 0.0051815512 0.0033167456 0.0058670403 + 799300 0.0055247645 0.0034934721 0.0062126922 + 799400 0.0036280497 0.0036858235 0.0054715042 + 799500 0.0054181693 0.0028831203 0.0055498755 + 799600 0.004307995 0.0026311681 0.0047515094 + 799700 0.0054128937 0.0026943111 0.0053584697 + 799800 0.0050671056 0.0024314113 0.0049253773 + 799900 0.0040153685 0.0024327399 0.0044090541 + 800000 0.0065944192 0.0026461924 0.0058918831 + 800100 0.0056989692 0.0030248047 0.0058297661 + 800200 0.0052238894 0.0028770789 0.005448212 + 800300 0.0053472908 0.0024979291 0.0051297988 + 800400 0.0050119433 0.0028198426 0.0052866584 + 800500 0.0044052211 0.0032197175 0.0053879122 + 800600 0.0047769985 0.0028232399 0.0051744189 + 800700 0.0050875244 0.0021924727 0.0046964886 + 800800 0.0050891894 0.0021763624 0.0046811978 + 800900 0.0046180592 0.0022233713 0.0044963224 + 801000 0.0049110187 0.0022157727 0.0046329147 + 801100 0.0046612339 0.0025801033 0.0048743044 + 801200 0.0057912024 0.0023779979 0.0052283553 + 801300 0.004580307 0.0025391576 0.0047935274 + 801400 0.0053558831 0.0023927555 0.0050288543 + 801500 0.0071264353 0.0021692121 0.0056767544 + 801600 0.0044605458 0.0026787021 0.004874127 + 801700 0.0051829383 0.0026085316 0.005159509 + 801800 0.0036555488 0.0028779315 0.0046771469 + 801900 0.0037129209 0.0028543062 0.0046817595 + 802000 0.0042029235 0.0025157385 0.0045843649 + 802100 0.0048948294 0.0021574943 0.0045666681 + 802200 0.0054047182 0.0019907317 0.0046508664 + 802300 0.0066340302 0.0019599801 0.0052251668 + 802400 0.0033611588 0.0026488687 0.0043031891 + 802500 0.0057964131 0.0026330065 0.0054859286 + 802600 0.0042573213 0.0027230031 0.0048184035 + 802700 0.0050715141 0.0023323401 0.004828476 + 802800 0.0052455293 0.0021727989 0.0047545829 + 802900 0.0043382456 0.0021369005 0.0042721307 + 803000 0.004858222 0.0019771173 0.0043682735 + 803100 0.0056956279 0.0021257568 0.0049290737 + 803200 0.0034836913 0.0028634706 0.0045780999 + 803300 0.0076588062 0.0026262354 0.0063958041 + 803400 0.0065363167 0.0026984061 0.0059154995 + 803500 0.0053437716 0.0028397229 0.0054698605 + 803600 0.0048283264 0.0026542571 0.005030699 + 803700 0.0063854525 0.002338144 0.0054809839 + 803800 0.0048028882 0.0027134361 0.0050773576 + 803900 0.0049903332 0.0027050008 0.0051611805 + 804000 0.0040286695 0.0021686719 0.0041515326 + 804100 0.0044837713 0.0017533571 0.0039602133 + 804200 0.005427535 0.0017705946 0.0044419594 + 804300 0.0039781982 0.0023860224 0.0043440418 + 804400 0.0059611923 0.0026586393 0.0055926637 + 804500 0.0063743443 0.0028160383 0.0059534109 + 804600 0.0048014459 0.0027203277 0.0050835394 + 804700 0.0069980563 0.0028722118 0.0063165676 + 804800 0.0053090994 0.0030856864 0.0056987587 + 804900 0.0044798155 0.0026560302 0.0048609394 + 805000 0.0046060196 0.0022414286 0.0045084538 + 805100 0.0037810915 0.0023793877 0.0042403937 + 805200 0.0054648779 0.0023693187 0.0050590633 + 805300 0.0047273624 0.0025142 0.0048409487 + 805400 0.003802994 0.0025995938 0.0044713799 + 805500 0.0054997805 0.0020551479 0.0047620711 + 805600 0.0059762316 0.0015803165 0.0045217431 + 805700 0.0050585977 0.0021848695 0.004674648 + 805800 0.0058137721 0.0024660738 0.0053275398 + 805900 0.0051647894 0.0027307872 0.005272832 + 806000 0.0041972157 0.0026033447 0.0046691618 + 806100 0.0059938686 0.0018452851 0.0047953923 + 806200 0.0054752685 0.0019755942 0.0046704529 + 806300 0.0045191957 0.0021209591 0.0043452507 + 806400 0.0047783795 0.0022730863 0.0046249449 + 806500 0.0070927761 0.0023474042 0.0058383799 + 806600 0.0048031679 0.0030793229 0.0054433821 + 806700 0.0048519426 0.0033300207 0.0057180862 + 806800 0.0058446772 0.0034086568 0.0062853339 + 806900 0.0044759346 0.0035216341 0.0057246332 + 807000 0.0061450902 0.0032800906 0.0063046271 + 807100 0.0060654966 0.0036027682 0.0065881298 + 807200 0.0051107256 0.0032783332 0.0057937685 + 807300 0.0038824921 0.0031026085 0.0050135226 + 807400 0.0042073679 0.0029456845 0.0050164983 + 807500 0.0045022625 0.0024579652 0.0046739225 + 807600 0.0038076074 0.0026790433 0.0045531 + 807700 0.0047200224 0.0029318709 0.005255007 + 807800 0.0059020995 0.0024778281 0.0053827677 + 807900 0.0056249985 0.0025086952 0.0052772492 + 808000 0.0050013296 0.0031225578 0.0055841497 + 808100 0.0062035485 0.0036662574 0.0067195664 + 808200 0.0053092942 0.0033327398 0.005945908 + 808300 0.0072860121 0.0026954477 0.0062815318 + 808400 0.0055869222 0.0029131222 0.0056629355 + 808500 0.0066775721 0.0029521033 0.0062387209 + 808600 0.0064914464 0.0028710074 0.0060660162 + 808700 0.0038194408 0.0026761059 0.0045559869 + 808800 0.0042538905 0.0022051746 0.0042988864 + 808900 0.0058142114 0.0020698715 0.0049315537 + 809000 0.0041814801 0.0023882557 0.0044463279 + 809100 0.0043059143 0.0020387136 0.0041580308 + 809200 0.0070717432 0.0017621612 0.0052427848 + 809300 0.006369485 0.0026626448 0.0057976257 + 809400 0.0048244078 0.0027335988 0.005108112 + 809500 0.0056788469 0.0025628971 0.0053579546 + 809600 0.0060233095 0.0022524465 0.0052170442 + 809700 0.0058706495 0.0026325095 0.0055219698 + 809800 0.0062622474 0.0028198752 0.0059020751 + 809900 0.0062105443 0.0029134764 0.0059702287 + 810000 0.0053129268 0.0030607132 0.0056756694 + 810100 0.0051102102 0.0026993188 0.0052145004 + 810200 0.0039650609 0.002621871 0.0045734244 + 810300 0.0054564162 0.0024894124 0.0051749922 + 810400 0.0038501687 0.0026797162 0.0045747211 + 810500 0.0034502108 0.0029647467 0.0046628974 + 810600 0.0047395758 0.002651548 0.0049843079 + 810700 0.0039382437 0.0019980361 0.0039363904 + 810800 0.0078414055 0.0018974779 0.0057569197 + 810900 0.0052435374 0.0022607785 0.004841582 + 811000 0.0045516226 0.0023289666 0.0045692184 + 811100 0.0051127818 0.0022919624 0.0048084097 + 811200 0.0052257612 0.002606625 0.0051786794 + 811300 0.0030990609 0.002794074 0.004319393 + 811400 0.0053885374 0.0027246085 0.0053767793 + 811500 0.006305813 0.0025706286 0.005674271 + 811600 0.0051746001 0.0029853519 0.0055322254 + 811700 0.0042235266 0.0033744363 0.0054532033 + 811800 0.0047639426 0.0029524662 0.0052972192 + 811900 0.0060282306 0.0028285126 0.0057955323 + 812000 0.0050358032 0.0028832301 0.0053617895 + 812100 0.0034431429 0.0025625559 0.0042572278 + 812200 0.0055558408 0.0023655687 0.0051000841 + 812300 0.0051115359 0.0020510076 0.0045668417 + 812400 0.0053085223 0.0019050442 0.0045178326 + 812500 0.0046592557 0.0017725341 0.0040657615 + 812600 0.0045477712 0.001636453 0.0038748092 + 812700 0.0046586394 0.0023007102 0.0045936343 + 812800 0.005347923 0.0030437473 0.0056759281 + 812900 0.0057864324 0.0027437754 0.0055917851 + 813000 0.0047082049 0.0024572109 0.0047745305 + 813100 0.0048234159 0.0021548033 0.0045288283 + 813200 0.0045164183 0.0021058069 0.0043287315 + 813300 0.0044567175 0.002278956 0.0044724967 + 813400 0.0038570192 0.0020864357 0.0039848123 + 813500 0.005390578 0.0022027026 0.0048558778 + 813600 0.0060454772 0.0022775256 0.0052530339 + 813700 0.0056213831 0.0023370284 0.0051038029 + 813800 0.00617676 0.0021093688 0.0051494929 + 813900 0.0052385667 0.0021538883 0.0047322454 + 814000 0.0048262646 0.002281692 0.0046571191 + 814100 0.0043604831 0.0024548068 0.004600982 + 814200 0.0055924177 0.0028025747 0.0055550928 + 814300 0.0024676711 0.0031120374 0.0043265943 + 814400 0.0056064942 0.0025836149 0.0053430613 + 814500 0.0048332501 0.0024809125 0.0048597777 + 814600 0.0054700397 0.0025805494 0.0052728345 + 814700 0.0073709857 0.0025606557 0.0061885627 + 814800 0.0055112011 0.0025935914 0.0053061357 + 814900 0.004469499 0.0021824735 0.004382305 + 815000 0.0052821803 0.0021281717 0.0047279948 + 815100 0.0058845079 0.0019969061 0.0048931873 + 815200 0.0043466261 0.0026758964 0.0048152515 + 815300 0.0046557657 0.0026979474 0.004989457 + 815400 0.0041724988 0.0026112509 0.0046649027 + 815500 0.005230108 0.0020750763 0.0046492701 + 815600 0.0034916183 0.002120006 0.0038385369 + 815700 0.0048880473 0.0019371784 0.0043430142 + 815800 0.0054127907 0.0021834009 0.0048475088 + 815900 0.0055169433 0.0024209194 0.00513629 + 816000 0.0052105913 0.0024144845 0.0049790724 + 816100 0.0051669103 0.0021614205 0.0047045091 + 816200 0.0029282456 0.0028004218 0.0042416676 + 816300 0.0037742281 0.0026643525 0.0045219804 + 816400 0.0045134635 0.0024647099 0.0046861802 + 816500 0.0050553838 0.0021643943 0.004652591 + 816600 0.006750546 0.0021206207 0.0054431551 + 816700 0.0045652547 0.0024425843 0.0046895456 + 816800 0.005098987 0.0026671035 0.0051767612 + 816900 0.0051446774 0.0023562307 0.0048883767 + 817000 0.0046907594 0.0024474226 0.0047561558 + 817100 0.0049376664 0.0024954336 0.0049256913 + 817200 0.0063755109 0.0020884892 0.005226436 + 817300 0.0050217952 0.002250477 0.0047221418 + 817400 0.0055436193 0.0021318247 0.0048603249 + 817500 0.0045157298 0.0023013466 0.0045239324 + 817600 0.0048899348 0.0024105862 0.004817351 + 817700 0.0047597253 0.0022672832 0.0046099605 + 817800 0.0042519945 0.0020183078 0.0041110863 + 817900 0.0049386271 0.0023245278 0.0047552583 + 818000 0.0053478265 0.0022932201 0.0049253535 + 818100 0.0058260413 0.0019750755 0.0048425802 + 818200 0.0056738847 0.0018350978 0.0046277129 + 818300 0.0049890329 0.0016483373 0.0041038769 + 818400 0.0053050784 0.0023398563 0.0049509496 + 818500 0.0044153357 0.0025953789 0.0047685519 + 818600 0.0040644025 0.0026176535 0.0046181016 + 818700 0.0037671356 0.0026916745 0.0045458115 + 818800 0.0051673248 0.0023176376 0.0048609303 + 818900 0.0043143121 0.0022128089 0.0043362594 + 819000 0.0048645145 0.0024652201 0.0048594733 + 819100 0.0039076097 0.0026636471 0.0045869238 + 819200 0.0053402698 0.0023723756 0.0050007896 + 819300 0.0054896598 0.0023903158 0.0050922577 + 819400 0.0062950555 0.0025041797 0.0056025273 + 819500 0.0042995286 0.0023192551 0.0044354294 + 819600 0.0050977358 0.0021398276 0.0046488694 + 819700 0.0033851602 0.0020613621 0.0037274956 + 819800 0.0057279711 0.0021562646 0.0049755004 + 819900 0.0055345619 0.0025553706 0.0052794128 + 820000 0.0054932106 0.0029321909 0.0056358805 + 820100 0.0057881279 0.0029813774 0.0058302216 + 820200 0.0049272735 0.0031184211 0.0055435636 + 820300 0.0052148123 0.0029212885 0.0054879539 + 820400 0.0036501024 0.0027993487 0.0045958835 + 820500 0.0054548757 0.0025969142 0.0052817358 + 820600 0.0039310263 0.0026021358 0.0045369378 + 820700 0.0058548012 0.0026423526 0.0055240126 + 820800 0.0050437526 0.0025368918 0.0050193638 + 820900 0.0041487109 0.0025821969 0.0046241405 + 821000 0.0039444755 0.0025633104 0.004504732 + 821100 0.0042631919 0.002858954 0.0049572438 + 821200 0.005324654 0.0032457827 0.0058665108 + 821300 0.0063770026 0.0033584102 0.0064970911 + 821400 0.0047782836 0.0033903159 0.0057421273 + 821500 0.0051002851 0.0029829868 0.0054932833 + 821600 0.0043650859 0.0028791752 0.0050276159 + 821700 0.0039764429 0.002922572 0.0048797274 + 821800 0.0044366813 0.0029655011 0.0051491802 + 821900 0.0040988183 0.0029867356 0.0050041227 + 822000 0.0035100697 0.0030989025 0.004826515 + 822100 0.0045662868 0.0030472147 0.005294684 + 822200 0.0038758233 0.0030606952 0.004968327 + 822300 0.0056096867 0.0030637911 0.0058248088 + 822400 0.004947784 0.0026891223 0.0051243597 + 822500 0.0048144104 0.0025652587 0.0049348513 + 822600 0.0039923199 0.0027059663 0.0046709362 + 822700 0.0049376488 0.0028180233 0.0052482724 + 822800 0.0054299778 0.0025793821 0.0052519493 + 822900 0.0041272905 0.0025425475 0.0045739484 + 823000 0.0055881399 0.0021937761 0.0049441887 + 823100 0.0054151207 0.0020701387 0.0047353934 + 823200 0.0038821076 0.0019102878 0.0038210126 + 823300 0.0056778598 0.0017094149 0.0045039865 + 823400 0.0040836726 0.0019064115 0.0039163441 + 823500 0.0053048696 0.0019444695 0.00455546 + 823600 0.0048216716 0.0022049637 0.0045781302 + 823700 0.0039284639 0.0020996013 0.0040331421 + 823800 0.0042195351 0.0023768979 0.0044537004 + 823900 0.005601324 0.0026252928 0.0053821945 + 824000 0.0050219716 0.0028229175 0.0052946691 + 824100 0.0052959335 0.0022815642 0.0048881564 + 824200 0.0055805462 0.0021881823 0.0049348574 + 824300 0.0047781199 0.0022548008 0.0046065317 + 824400 0.0032454504 0.0029006742 0.0044980443 + 824500 0.0050552362 0.0024921692 0.0049802932 + 824600 0.0052998174 0.0024646544 0.0050731582 + 824700 0.0046838476 0.0027293078 0.005034639 + 824800 0.0049608225 0.0028445248 0.0052861797 + 824900 0.0057234437 0.0028347525 0.00565176 + 825000 0.0039898669 0.0028940124 0.0048577751 + 825100 0.0060108361 0.00246201 0.0054204684 + 825200 0.0048572569 0.0023865772 0.0047772583 + 825300 0.0042387482 0.0027490317 0.0048352906 + 825400 0.0040558687 0.0025411782 0.0045374261 + 825500 0.0073690023 0.0023202327 0.0059471636 + 825600 0.0045074993 0.002842335 0.0050608698 + 825700 0.0059004928 0.0029013025 0.0058054513 + 825800 0.0030570323 0.002513558 0.0040181911 + 825900 0.0068532306 0.0021470654 0.0055201398 + 826000 0.0054651262 0.0023016432 0.00499151 + 826100 0.00600929 0.0025972132 0.0055549106 + 826200 0.005615815 0.0030305354 0.0057945694 + 826300 0.0053858028 0.002954521 0.0056053458 + 826400 0.0043427054 0.0026753748 0.0048128001 + 826500 0.0049137282 0.0024463094 0.004864785 + 826600 0.0056030162 0.0024198797 0.0051776142 + 826700 0.0047923425 0.0027123483 0.0050710793 + 826800 0.004480837 0.0031168027 0.0053222147 + 826900 0.0052948044 0.0022387271 0.0048447637 + 827000 0.0061302789 0.0019062717 0.0049235183 + 827100 0.0052407143 0.0023239037 0.0049033178 + 827200 0.0046216986 0.002913732 0.0051884743 + 827300 0.00528304 0.0029154353 0.0055156815 + 827400 0.0037126406 0.0030299464 0.0048572617 + 827500 0.0050832313 0.0029000665 0.0054019694 + 827600 0.0051182806 0.0023884696 0.0049076234 + 827700 0.0036645257 0.0021600213 0.003963655 + 827800 0.004080861 0.0024773445 0.0044858932 + 827900 0.0049191818 0.0021084062 0.004529566 + 828000 0.00362901 0.0021830474 0.0039692008 + 828100 0.0050172891 0.0023702078 0.0048396548 + 828200 0.0047746271 0.0023254822 0.0046754939 + 828300 0.0044402471 0.0023823007 0.0045677348 + 828400 0.0053961049 0.0021354421 0.0047913375 + 828500 0.0038138387 0.0023981459 0.0042752696 + 828600 0.0059832955 0.001921518 0.0048664213 + 828700 0.0050969047 0.0018561853 0.0043648181 + 828800 0.0050271234 0.0019802599 0.0044545472 + 828900 0.0048085201 0.0022099886 0.0045766821 + 829000 0.0044675786 0.0024593423 0.0046582286 + 829100 0.0047367418 0.0031082657 0.0054396309 + 829200 0.0040472784 0.0028075952 0.0047996151 + 829300 0.0070695819 0.0022950797 0.0057746395 + 829400 0.0053395782 0.0028319101 0.0054599837 + 829500 0.0039429987 0.0024019919 0.0043426866 + 829600 0.0065078515 0.0021143094 0.0053173925 + 829700 0.0050003217 0.0025047706 0.0049658664 + 829800 0.0046791749 0.0022751731 0.0045782045 + 829900 0.0052979047 0.0023433787 0.0049509412 + 830000 0.0048703133 0.0025783734 0.0049754807 + 830100 0.0055378797 0.0024628142 0.0051884894 + 830200 0.0053565765 0.0023746135 0.0050110535 + 830300 0.0043463736 0.0021639139 0.0043031447 + 830400 0.0048430295 0.0021869289 0.0045706075 + 830500 0.0052325384 0.0022040368 0.0047794268 + 830600 0.0043599191 0.0027313738 0.0048772715 + 830700 0.0043692796 0.0030693007 0.0052198055 + 830800 0.0045882154 0.0033811099 0.0056393722 + 830900 0.0065486927 0.0028642139 0.0060873986 + 831000 0.0045815645 0.002936361 0.0051913497 + 831100 0.0042075418 0.0027288216 0.0047997211 + 831200 0.0046459571 0.0022604463 0.0045471283 + 831300 0.005797726 0.002243048 0.0050966162 + 831400 0.0056988836 0.00231096 0.0051158793 + 831500 0.0057072059 0.0023576581 0.0051666735 + 831600 0.0046982061 0.0021843834 0.0044967817 + 831700 0.0053486451 0.0022056794 0.0048382157 + 831800 0.0040010323 0.0024779339 0.0044471919 + 831900 0.006494833 0.0028728765 0.0060695521 + 832000 0.0047117583 0.0034687133 0.0057877818 + 832100 0.0057912782 0.0029683894 0.0058187841 + 832200 0.0060270765 0.002157138 0.0051235897 + 832300 0.007251224 0.0018967637 0.0054657255 + 832400 0.0064009397 0.0021945388 0.0053450013 + 832500 0.0050111675 0.0022410424 0.0047074764 + 832600 0.0048378848 0.0026886963 0.0050698427 + 832700 0.0051787344 0.0027255999 0.0052745083 + 832800 0.004689871 0.0024316257 0.0047399215 + 832900 0.0034277032 0.0023790435 0.0040661161 + 833000 0.0044696008 0.0021099471 0.0043098288 + 833100 0.0061699925 0.0020857204 0.0051225136 + 833200 0.0039125187 0.0025067028 0.0044323955 + 833300 0.0048502082 0.0021609541 0.0045481659 + 833400 0.0059054619 0.0021440786 0.0050506731 + 833500 0.004940462 0.0025142294 0.0049458631 + 833600 0.0041902354 0.0024913621 0.0045537436 + 833700 0.0052703174 0.0022940175 0.0048880018 + 833800 0.004340896 0.0023446826 0.0044812173 + 833900 0.004877385 0.0022282105 0.0046287985 + 834000 0.0053425262 0.002756142 0.0053856666 + 834100 0.0043125357 0.0029359606 0.0050585368 + 834200 0.0046649327 0.002747609 0.0050436306 + 834300 0.0064561711 0.0025779917 0.0057556384 + 834400 0.0048930787 0.0027202162 0.0051285284 + 834500 0.0047205745 0.0022929183 0.0046163261 + 834600 0.0048492618 0.0021825588 0.0045693048 + 834700 0.0049459976 0.0016719606 0.0041063188 + 834800 0.0047953843 0.0016602176 0.0040204459 + 834900 0.0046820874 0.0020502498 0.0043547147 + 835000 0.0065979768 0.0024129932 0.0056604349 + 835100 0.0045576155 0.0022692913 0.0045124927 + 835200 0.0065135153 0.0022846469 0.0054905177 + 835300 0.0030009983 0.0022460122 0.0037230661 + 835400 0.0059658493 0.0020883267 0.0050246431 + 835500 0.0048315203 0.0019948457 0.0043728596 + 835600 0.0031239653 0.0019994841 0.0035370608 + 835700 0.0041565135 0.0019148482 0.0039606322 + 835800 0.003809809 0.0021929065 0.0040680468 + 835900 0.0053705759 0.0023229546 0.004966285 + 836000 0.005077358 0.002500607 0.0049996192 + 836100 0.0053556847 0.0031143364 0.0057503375 + 836200 0.004984942 0.0035721228 0.006025649 + 836300 0.0070822924 0.0032554602 0.006741276 + 836400 0.0054718886 0.0028136939 0.005506889 + 836500 0.0056159526 0.0025325959 0.0052966975 + 836600 0.0060192042 0.0027861157 0.0057486928 + 836700 0.0043592167 0.003107011 0.005252563 + 836800 0.0055948438 0.002760963 0.0055146752 + 836900 0.0049064934 0.0027830004 0.0051979151 + 837000 0.0055784883 0.0023866885 0.0051323507 + 837100 0.0044902457 0.0021617784 0.0043718212 + 837200 0.0052561964 0.002303115 0.0048901492 + 837300 0.0050954864 0.0028496403 0.005357575 + 837400 0.0048755876 0.0030837587 0.005483462 + 837500 0.005742323 0.0026072527 0.0054335524 + 837600 0.0055079335 0.0022230215 0.0049339576 + 837700 0.0061817618 0.0017959298 0.0048385157 + 837800 0.0045943077 0.0018951829 0.0041564437 + 837900 0.0048133439 0.0023006799 0.0046697476 + 838000 0.0050914579 0.0024750258 0.0049809777 + 838100 0.0040188361 0.0028593434 0.0048373643 + 838200 0.0058977205 0.0029581159 0.0058609002 + 838300 0.0061398872 0.0029178629 0.0059398387 + 838400 0.0047173224 0.0034011131 0.0057229203 + 838500 0.0059173999 0.003634333 0.0065468033 + 838600 0.0045664846 0.003552914 0.0058004806 + 838700 0.0031958228 0.0031295864 0.0047025304 + 838800 0.0045723699 0.0026815559 0.0049320192 + 838900 0.0056059034 0.0026598876 0.0054190431 + 839000 0.004779818 0.0025396969 0.0048922635 + 839100 0.0052729036 0.0025454183 0.0051406755 + 839200 0.0039037152 0.0028924148 0.0048137746 + 839300 0.0043905103 0.0025542932 0.0047152475 + 839400 0.0053546337 0.0025942139 0.0052296977 + 839500 0.0059565767 0.0027355327 0.0056672853 + 839600 0.0039087203 0.0031716571 0.0050954803 + 839700 0.0049869404 0.0031173201 0.0055718298 + 839800 0.0060750044 0.0025489499 0.0055389912 + 839900 0.0044465404 0.0030400992 0.0052286308 + 840000 0.0054299585 0.0033522919 0.0060248496 + 840100 0.0056288379 0.0026073121 0.0053777557 + 840200 0.0052150847 0.0025111071 0.0050779066 + 840300 0.0043187097 0.0025895315 0.0047151464 + 840400 0.0046921722 0.0024899817 0.0047994102 + 840500 0.0054253911 0.0021632061 0.0048335158 + 840600 0.0050713173 0.0023490407 0.0048450797 + 840700 0.0048181018 0.0031911941 0.0055626036 + 840800 0.0054794177 0.0037547057 0.0064516066 + 840900 0.0050973124 0.0035508984 0.0060597318 + 841000 0.0046546587 0.0031148726 0.0054058374 + 841100 0.0055435348 0.0025287132 0.0052571718 + 841200 0.0053457034 0.0024573792 0.0050884676 + 841300 0.0077636694 0.0023208367 0.0061420177 + 841400 0.0065009065 0.002283152 0.0054828169 + 841500 0.0071009391 0.0024377083 0.0059327018 + 841600 0.005411894 0.0031726215 0.0058362881 + 841700 0.0053544432 0.0030108837 0.0056462736 + 841800 0.0045817388 0.0028917445 0.005146819 + 841900 0.0040236834 0.0030585056 0.0050389123 + 842000 0.0054125498 0.0028390331 0.0055030225 + 842100 0.004217771 0.0030911423 0.0051670765 + 842200 0.0050450088 0.0027716445 0.0052547348 + 842300 0.0054880727 0.0023543394 0.0050555002 + 842400 0.0044084595 0.0023339506 0.0045037392 + 842500 0.0042131717 0.0023259479 0.0043996183 + 842600 0.0047286046 0.0027934971 0.0051208572 + 842700 0.0038817184 0.0033092298 0.0052197631 + 842800 0.0055294802 0.0027377888 0.0054593298 + 842900 0.0068443704 0.002315121 0.0056838345 + 843000 0.0061434578 0.0024437274 0.0054674605 + 843100 0.0054599568 0.0023488016 0.0050361241 + 843200 0.0032087412 0.0024780623 0.0040573646 + 843300 0.0045024692 0.0026513626 0.0048674217 + 843400 0.0066423531 0.003003852 0.0062731351 + 843500 0.0051296741 0.0034133493 0.0059381107 + 843600 0.0041860763 0.0029404614 0.0050007958 + 843700 0.007019709 0.0023880577 0.0058430707 + 843800 0.0051683152 0.00223293 0.0047767102 + 843900 0.0058690921 0.0022658004 0.0051544941 + 844000 0.0043587705 0.0025141786 0.0046595109 + 844100 0.005153663 0.0029748237 0.0055113922 + 844200 0.0044371928 0.0025179889 0.0047019197 + 844300 0.0056225988 0.0026683005 0.0054356733 + 844400 0.0050551583 0.0029424128 0.0054304985 + 844500 0.0053918434 0.0030217492 0.0056755471 + 844600 0.0046854649 0.0031671229 0.0054732502 + 844700 0.0049030199 0.0032470253 0.0056602304 + 844800 0.0069112327 0.0032788667 0.006680489 + 844900 0.0051291929 0.0038400186 0.0063645433 + 845000 0.0047786344 0.0033021459 0.0056541301 + 845100 0.0039412797 0.002778399 0.0047182476 + 845200 0.0038569212 0.0025232811 0.0044216095 + 845300 0.0051891665 0.0023906364 0.0049446793 + 845400 0.0046390859 0.0022719516 0.0045552516 + 845500 0.0040747373 0.0021928635 0.0041983983 + 845600 0.004439015 0.0024843315 0.0046691591 + 845700 0.0037536404 0.0025601048 0.0044075997 + 845800 0.004936483 0.0025444605 0.0049741357 + 845900 0.0068460187 0.0026147899 0.0059843147 + 846000 0.0065297456 0.002630307 0.0058441662 + 846100 0.0062047508 0.0026208418 0.0056747426 + 846200 0.0054360299 0.002198023 0.004873569 + 846300 0.0052640758 0.0017395057 0.004330418 + 846400 0.0043880683 0.0017628444 0.0039225968 + 846500 0.0049087537 0.0024932444 0.0049092717 + 846600 0.004847951 0.0025475294 0.0049336303 + 846700 0.0065963223 0.0020577711 0.0053043985 + 846800 0.0053818794 0.002395288 0.0050441818 + 846900 0.0050628592 0.0025462946 0.0050381706 + 847000 0.0030152207 0.0026005513 0.0040846052 + 847100 0.0048974099 0.0022957326 0.0047061765 + 847200 0.0074260501 0.0024629201 0.0061179291 + 847300 0.0063674402 0.0025647345 0.005698709 + 847400 0.0059714852 0.0027637178 0.0057028082 + 847500 0.0044461781 0.0029573809 0.0051457342 + 847600 0.0039300116 0.0027828305 0.0047171331 + 847700 0.0056456528 0.0030841981 0.0058629179 + 847800 0.0035710533 0.0029204866 0.0046781144 + 847900 0.0060548804 0.0025563895 0.005536526 + 848000 0.0044579307 0.0024987105 0.0046928483 + 848100 0.0049145358 0.0022204382 0.0046393113 + 848200 0.0049688023 0.0018621017 0.0043076841 + 848300 0.0058046021 0.0018948349 0.0047517875 + 848400 0.0045410421 0.0021858663 0.0044209104 + 848500 0.0042418565 0.0020027414 0.0040905302 + 848600 0.0038243924 0.0021694921 0.0040518103 + 848700 0.0036310145 0.0021458241 0.0039329641 + 848800 0.0038689581 0.002344805 0.0042490578 + 848900 0.0062173243 0.0022170695 0.0052771588 + 849000 0.0051361401 0.0024436387 0.0049715826 + 849100 0.0054569233 0.0021134058 0.0047992352 + 849200 0.0044187938 0.0022433272 0.0044182022 + 849300 0.0037376707 0.0023789326 0.0042185674 + 849400 0.0061614861 0.0020562427 0.0050888491 + 849500 0.0053275016 0.0021568831 0.0047790128 + 849600 0.0044802347 0.0021865194 0.004391635 + 849700 0.0049496131 0.0020513572 0.0044874949 + 849800 0.0045186258 0.0022854632 0.0045094743 + 849900 0.0052761374 0.0023739826 0.0049708315 + 850000 0.0031951692 0.0023910345 0.0039636568 + 850100 0.0054835915 0.002238687 0.0049376422 + 850200 0.004938231 0.0021920139 0.0046225494 + 850300 0.0058156764 0.002612582 0.0054749852 + 850400 0.0043563993 0.0028685719 0.0050127371 + 850500 0.0054055009 0.0024091998 0.0050697198 + 850600 0.0061932353 0.002280135 0.005328368 + 850700 0.0041984771 0.00314148 0.0052079179 + 850800 0.0047025906 0.0035446434 0.0058591998 + 850900 0.0063035928 0.0025097659 0.0056123155 + 851000 0.0068277239 0.0022311821 0.0055917025 + 851100 0.0044138337 0.0022501442 0.004422578 + 851200 0.0061451331 0.002742787 0.0057673447 + 851300 0.0046803139 0.0030287901 0.0053323821 + 851400 0.0045533093 0.0030086242 0.0052497062 + 851500 0.0044985227 0.0028307677 0.0050448843 + 851600 0.0056300243 0.0023372586 0.0051082862 + 851700 0.0061220994 0.0020470821 0.0050603029 + 851800 0.0047962774 0.002609977 0.0049706448 + 851900 0.003749986 0.0028374135 0.0046831098 + 852000 0.0049728472 0.0028294276 0.0052770009 + 852100 0.0048955801 0.0028485923 0.0052581356 + 852200 0.004968306 0.0032638565 0.0057091946 + 852300 0.0063265199 0.0030749267 0.0061887607 + 852400 0.0054089856 0.0025708859 0.005233121 + 852500 0.0053983314 0.0028026127 0.0054596039 + 852600 0.0054176427 0.0032084888 0.0058749848 + 852700 0.004396246 0.0029406828 0.0051044602 + 852800 0.0050987555 0.0027320307 0.0052415744 + 852900 0.0050349584 0.0026316085 0.005109752 + 853000 0.0033336831 0.0026232081 0.0042640053 + 853100 0.0039614122 0.0024374997 0.0043872572 + 853200 0.0042126843 0.002265329 0.0043387595 + 853300 0.0043689158 0.0022569557 0.0044072814 + 853400 0.0053997596 0.0018455159 0.0045032101 + 853500 0.0043725553 0.0020590971 0.0042112142 + 853600 0.0066079854 0.0023185132 0.0055708811 + 853700 0.0044475381 0.0026119592 0.0048009819 + 853800 0.005120285 0.0028352514 0.0053553917 + 853900 0.0048482072 0.0024305649 0.0048167919 + 854000 0.0051312592 0.0022356521 0.0047611938 + 854100 0.004877251 0.0020973453 0.0044978672 + 854200 0.004725607 0.0018644349 0.0041903196 + 854300 0.005317072 0.0018847972 0.0045017936 + 854400 0.0041692348 0.0018684678 0.003920513 + 854500 0.0051985727 0.0020537527 0.0046124251 + 854600 0.0047524657 0.0023958702 0.0047349744 + 854700 0.0043306889 0.0024600159 0.0045915268 + 854800 0.0048310429 0.0023657731 0.0047435521 + 854900 0.0044791801 0.0027094822 0.0049140787 + 855000 0.0033942401 0.0025814724 0.004252075 + 855100 0.0038074896 0.0024091642 0.004283163 + 855200 0.0050636891 0.0022372461 0.0047295306 + 855300 0.0034044483 0.0022587457 0.0039343726 + 855400 0.0039835644 0.0018077957 0.0037684564 + 855500 0.002777819 0.0019279028 0.0032951106 + 855600 0.0038774754 0.002150586 0.0040590309 + 855700 0.0049144272 0.0023586484 0.004777468 + 855800 0.0049106582 0.0025654576 0.0049824222 + 855900 0.0069343928 0.0024336718 0.0058466932 + 856000 0.0036455591 0.0022646433 0.0040589419 + 856100 0.003605119 0.0022924618 0.0040668564 + 856200 0.0035791984 0.0026400735 0.0044017102 + 856300 0.0048799897 0.0027372824 0.0051391524 + 856400 0.002746728 0.0026192462 0.0039711514 + 856500 0.0054380667 0.0022567382 0.0049332866 + 856600 0.0061749226 0.0020849511 0.0051241708 + 856700 0.0040058165 0.0026154647 0.0045870775 + 856800 0.0059931241 0.0025562353 0.0055059761 + 856900 0.0048963625 0.0024004269 0.0048103553 + 857000 0.0055969158 0.0026876335 0.0054423654 + 857100 0.0051739402 0.002743231 0.0052897797 + 857200 0.0053840182 0.0026751473 0.0053250938 + 857300 0.0041924419 0.0027998611 0.0048633286 + 857400 0.0053299334 0.0028202003 0.0054435269 + 857500 0.0061154301 0.0028077169 0.0058176551 + 857600 0.0072261092 0.0024978662 0.0060544668 + 857700 0.0058980682 0.0023804081 0.0052833635 + 857800 0.0055182489 0.0025612469 0.00527726 + 857900 0.0063052204 0.002538328 0.0056416787 + 858000 0.0040196686 0.0023013359 0.0042797666 + 858100 0.0050606719 0.0018555096 0.004346309 + 858200 0.0037567222 0.0019220316 0.0037710433 + 858300 0.0056589692 0.0018470131 0.004632287 + 858400 0.0055303252 0.0021392818 0.0048612387 + 858500 0.0055460937 0.0021100707 0.0048397887 + 858600 0.0050637443 0.0017672698 0.0042595814 + 858700 0.004568835 0.0021402251 0.0043889486 + 858800 0.0045902894 0.0019767149 0.0042359979 + 858900 0.0045756598 0.0021266806 0.0043787632 + 859000 0.0042768864 0.0020382898 0.0041433198 + 859100 0.0063249855 0.0015563279 0.0046694067 + 859200 0.0047500419 0.0017342378 0.004072149 + 859300 0.0041323893 0.0014718818 0.0035057922 + 859400 0.0053391123 0.0015656832 0.0041935275 + 859500 0.0036048887 0.0020851876 0.0038594688 + 859600 0.0048495304 0.0019913219 0.0043782002 + 859700 0.0041414289 0.0021313542 0.0041697137 + 859800 0.0073432898 0.0023626989 0.0059769743 + 859900 0.0039892847 0.00293476 0.0048982361 + 860000 0.0062440094 0.0023615056 0.005434729 + 860100 0.004860226 0.0020959942 0.0044881367 + 860200 0.0049370042 0.0020951569 0.0045250886 + 860300 0.0059990317 0.0021673993 0.0051200477 + 860400 0.0040931682 0.0023978527 0.0044124589 + 860500 0.0044690059 0.0023391057 0.0045386946 + 860600 0.0038942531 0.0018940647 0.0038107674 + 860700 0.0048111881 0.0016635408 0.0040315474 + 860800 0.0044683155 0.00208925 0.004288499 + 860900 0.0044256109 0.0021941586 0.004372389 + 861000 0.0046894162 0.0019986658 0.0043067378 + 861100 0.0065398693 0.0017114946 0.0049303365 + 861200 0.0061990516 0.0019206304 0.0049717261 + 861300 0.0048464537 0.0024697348 0.0048550987 + 861400 0.005717148 0.0023265078 0.0051404166 + 861500 0.0043728718 0.0024148899 0.0045671627 + 861600 0.004735949 0.0024070653 0.0047380402 + 861700 0.0055232233 0.002578912 0.0052973735 + 861800 0.0049098209 0.0023724617 0.0047890142 + 861900 0.0038719959 0.0024398792 0.0043456272 + 862000 0.0035976822 0.0021922779 0.0039630121 + 862100 0.0047977125 0.0022317417 0.0045931158 + 862200 0.0042093705 0.0020941211 0.0041659206 + 862300 0.004098719 0.0023950239 0.0044123622 + 862400 0.0067901916 0.0017165889 0.0050586363 + 862500 0.0060635942 0.001788462 0.0047728873 + 862600 0.0056808841 0.0031429867 0.0059390468 + 862700 0.0052697406 0.0032587958 0.0058524963 + 862800 0.0065579644 0.0023749745 0.0056027226 + 862900 0.0043646147 0.0024241015 0.0045723103 + 863000 0.0050196426 0.0027259426 0.0051965479 + 863100 0.0047535419 0.0025022154 0.0048418494 + 863200 0.0045128092 0.0024136688 0.0046348171 + 863300 0.0064311044 0.0020482532 0.0052135624 + 863400 0.0059720491 0.0019479799 0.0048873478 + 863500 0.0037512207 0.0022301873 0.0040764913 + 863600 0.0046887442 0.0025060694 0.0048138107 + 863700 0.0036761278 0.0027176719 0.004527016 + 863800 0.004801365 0.0029085195 0.0052716914 + 863900 0.003726435 0.0029671611 0.0048012658 + 864000 0.004563945 0.0027771311 0.0050234478 + 864100 0.0042075493 0.0026485287 0.0047194318 + 864200 0.0053500739 0.0023761281 0.0050093676 + 864300 0.0058965633 0.0021942201 0.0050964349 + 864400 0.0044294321 0.0025881461 0.0047682573 + 864500 0.0055091965 0.0028472954 0.005558853 + 864600 0.0053872189 0.002728326 0.0053798478 + 864700 0.0060962017 0.0029691766 0.0059696509 + 864800 0.0061778466 0.0030355507 0.0060762095 + 864900 0.0051570779 0.0031916041 0.0057298534 + 865000 0.0076162223 0.0026611587 0.0064097681 + 865100 0.005605806 0.0026873748 0.0054464825 + 865200 0.0044798342 0.003021487 0.0052264054 + 865300 0.003816902 0.0033328768 0.0052115082 + 865400 0.0048835204 0.003611202 0.0060148097 + 865500 0.0041657438 0.0031582993 0.0052086264 + 865600 0.0062170297 0.0028311768 0.0058911211 + 865700 0.0058919921 0.0027710742 0.0056710391 + 865800 0.0050460616 0.0028093818 0.0052929902 + 865900 0.0056643922 0.0027508349 0.0055387779 + 866000 0.0064485225 0.0034281957 0.0066020778 + 866100 0.0052162797 0.0041055345 0.0066729221 + 866200 0.0044365377 0.0037313985 0.0059150069 + 866300 0.0054305542 0.00302673 0.0056995809 + 866400 0.0045273144 0.0028125537 0.0050408413 + 866500 0.0043386962 0.0024119597 0.0045474117 + 866600 0.0026668785 0.0024523789 0.0037649832 + 866700 0.0043138994 0.002673674 0.0047969213 + 866800 0.0044669174 0.0027166851 0.0049152461 + 866900 0.0066887152 0.0027194908 0.0060115928 + 867000 0.0042560968 0.0030809594 0.0051757571 + 867100 0.0046671202 0.0032843436 0.0055814419 + 867200 0.0044372122 0.0030699941 0.0052539345 + 867300 0.0050802141 0.0033639198 0.0058643376 + 867400 0.0057253046 0.0036424245 0.0064603479 + 867500 0.00538732 0.003499042 0.0061506135 + 867600 0.0045810379 0.0030143233 0.0052690529 + 867700 0.0035375601 0.0027386694 0.0044798123 + 867800 0.0045027028 0.0024866845 0.0047028585 + 867900 0.0058403886 0.0027708111 0.0056453774 + 868000 0.0052393628 0.0027198422 0.0052985911 + 868100 0.0048576061 0.0025891137 0.0049799667 + 868200 0.0055655333 0.0023044659 0.0050437519 + 868300 0.0073108728 0.0020413027 0.0056396229 + 868400 0.0045469132 0.002444579 0.0046825129 + 868500 0.0042068955 0.0027359177 0.0048064991 + 868600 0.0056316646 0.0025111397 0.0052829746 + 868700 0.0057845446 0.0023856671 0.0052327476 + 868800 0.0054262611 0.0025627625 0.0052335004 + 868900 0.0050228084 0.0023199342 0.0047920977 + 869000 0.0050111096 0.0020432288 0.0045096343 + 869100 0.0057876833 0.0021763286 0.005024954 + 869200 0.0049956749 0.0027460896 0.0052048984 + 869300 0.0051612695 0.0025240398 0.0050643521 + 869400 0.006180273 0.0031015584 0.0061434115 + 869500 0.0042293455 0.0030540464 0.0051356774 + 869600 0.0049385343 0.002738009 0.0051686938 + 869700 0.0052798852 0.0025776016 0.0051762951 + 869800 0.0058137121 0.0023094281 0.0051708645 + 869900 0.0050872991 0.0025746108 0.0050785159 + 870000 0.004436364 0.0025758295 0.0047593524 + 870100 0.0058172526 0.0022240053 0.0050871843 + 870200 0.0043002265 0.0026084377 0.0047249554 + 870300 0.0068404555 0.0030605106 0.0064272973 + 870400 0.0049248825 0.0032091221 0.0056330877 + 870500 0.0063886929 0.0028342472 0.005978682 + 870600 0.0047967993 0.0027241096 0.0050850342 + 870700 0.0058920983 0.0026130555 0.0055130726 + 870800 0.0055714851 0.0028513391 0.0055935544 + 870900 0.005075158 0.0027694497 0.0052673791 + 871000 0.0050083249 0.0030357328 0.0055007677 + 871100 0.0051257829 0.0035278133 0.0060506596 + 871200 0.0056707628 0.0036260715 0.0064171501 + 871300 0.006641047 0.0032972225 0.0065658628 + 871400 0.0041912828 0.0029429554 0.0050058525 + 871500 0.0046522246 0.0029040134 0.0051937802 + 871600 0.0044957678 0.0029768658 0.0051896265 + 871700 0.0043461442 0.0029419727 0.0050810905 + 871800 0.006611967 0.0027163394 0.0059706669 + 871900 0.0057757588 0.0025923131 0.0054350694 + 872000 0.0055330044 0.0023399861 0.0050632618 + 872100 0.0048293014 0.0021329394 0.0045098611 + 872200 0.0063156247 0.0022077412 0.0053162127 + 872300 0.0057142658 0.0025045721 0.0053170623 + 872400 0.0037642739 0.0024837807 0.0043365092 + 872500 0.0047268162 0.0022720222 0.004598502 + 872600 0.0055781157 0.0019483221 0.004693801 + 872700 0.0040060737 0.0016381042 0.0036098436 + 872800 0.0045142624 0.0017598408 0.0039817043 + 872900 0.0032839412 0.0017495705 0.0033658853 + 873000 0.0040106283 0.0018620763 0.0038360574 + 873100 0.0035795915 0.001895944 0.0036577741 + 873200 0.0048052089 0.0021190547 0.0044841185 + 873300 0.003960684 0.0021806234 0.0041300226 + 873400 0.0037994705 0.0020216668 0.0038917187 + 873500 0.0046901124 0.0019348788 0.0042432935 + 873600 0.0061179499 0.0019589955 0.004970174 + 873700 0.0048190738 0.0018480141 0.004219902 + 873800 0.0059665981 0.002232979 0.005169664 + 873900 0.0047685943 0.002407071 0.0047541135 + 874000 0.0057719709 0.002088015 0.0049289069 + 874100 0.0041464616 0.0025388006 0.0045796372 + 874200 0.0045916669 0.0021885724 0.0044485335 + 874300 0.0048332391 0.0021505507 0.0045294106 + 874400 0.006486308 0.002256696 0.0054491757 + 874500 0.0053741781 0.002334104 0.0049792073 + 874600 0.0047163007 0.0021698643 0.0044911686 + 874700 0.0054901067 0.0023056173 0.0050077792 + 874800 0.0040647614 0.0023218565 0.0043224812 + 874900 0.0062427249 0.002194796 0.0052673872 + 875000 0.0045240017 0.0026142598 0.0048409168 + 875100 0.0067621737 0.0029344402 0.0062626975 + 875200 0.0054000376 0.0031982849 0.0058561159 + 875300 0.0058077998 0.0026048379 0.0054633644 + 875400 0.0045109922 0.0022342593 0.0044545133 + 875500 0.0045533051 0.0019957561 0.004236836 + 875600 0.0048779342 0.0021514217 0.00455228 + 875700 0.0052436207 0.0023813744 0.004962219 + 875800 0.0069509741 0.0025043261 0.0059255086 + 875900 0.0041365959 0.0027307059 0.0047666867 + 876000 0.0041683689 0.0023980233 0.0044496424 + 876100 0.0044818974 0.0023080499 0.0045139838 + 876200 0.0055356339 0.0023281093 0.0050526791 + 876300 0.00513072 0.0028247312 0.0053500074 + 876400 0.0036105803 0.002752252 0.0045293345 + 876500 0.0053410201 0.0027367805 0.0053655639 + 876600 0.0067312377 0.0023960519 0.005709083 + 876700 0.0048540433 0.0021947179 0.0045838173 + 876800 0.00880151 0.0024503637 0.0067823569 + 876900 0.0046331472 0.0026565607 0.0049369378 + 877000 0.004905985 0.0023807329 0.0047953973 + 877100 0.004617521 0.0020409056 0.0043135917 + 877200 0.0058643511 0.0020728182 0.0049591785 + 877300 0.0038735243 0.0027327707 0.0046392709 + 877400 0.0050967443 0.0027072748 0.0052158286 + 877500 0.0063793264 0.0027483633 0.005888188 + 877600 0.00403064 0.0028343681 0.0048181988 + 877700 0.0051088484 0.0023991886 0.0049136999 + 877800 0.0057543479 0.0023554394 0.0051876575 + 877900 0.0039270919 0.0022284197 0.0041612853 + 878000 0.0053222998 0.0020218725 0.0046414419 + 878100 0.0047902295 0.0020631431 0.0044208342 + 878200 0.0043340027 0.00231719 0.0044503319 + 878300 0.0054717621 0.0024053434 0.0050984763 + 878400 0.0031097682 0.0027653396 0.0042959286 + 878500 0.004790605 0.0023610385 0.0047189144 + 878600 0.0031274303 0.002191831 0.0037311131 + 878700 0.0036689744 0.0022415149 0.0040473383 + 878800 0.0038995636 0.0020067935 0.0039261099 + 878900 0.0062542244 0.0017543833 0.0048326344 + 879000 0.00474175 0.0019873939 0.004321224 + 879100 0.0052369868 0.0022792552 0.0048568346 + 879200 0.0064249611 0.0023138618 0.0054761474 + 879300 0.0056699912 0.0024631786 0.0052538773 + 879400 0.0048663356 0.0022185995 0.0046137491 + 879500 0.0058871335 0.0015116222 0.0044091957 + 879600 0.0061483032 0.0017329028 0.0047590208 + 879700 0.0055595524 0.0022580625 0.0049944047 + 879800 0.0056313023 0.0020773869 0.0048490435 + 879900 0.0048404677 0.0025494979 0.0049319155 + 880000 0.0040448833 0.0026216084 0.0046124494 + 880100 0.0045252148 0.0023408464 0.0045681006 + 880200 0.005936884 0.0019798395 0.0049018996 + 880300 0.0050693011 0.0020955269 0.0045905736 + 880400 0.0060913318 0.0022565687 0.005254646 + 880500 0.0060456891 0.001835741 0.0048113537 + 880600 0.0040864686 0.0019716202 0.003982929 + 880700 0.004756474 0.0023789686 0.0047200456 + 880800 0.0051401003 0.0031718114 0.0057017045 + 880900 0.0041480808 0.003085802 0.0051274355 + 881000 0.0048996801 0.0026138552 0.0050254165 + 881100 0.0048452029 0.0021694403 0.0045541886 + 881200 0.0066722963 0.0020492008 0.0053332216 + 881300 0.0058587938 0.0023327799 0.0052164049 + 881400 0.0043007331 0.0024314499 0.0045482169 + 881500 0.004468019 0.0024242582 0.0046233613 + 881600 0.005868686 0.0018921017 0.0047805956 + 881700 0.0043253173 0.0019337986 0.0040626657 + 881800 0.0063366724 0.0026035135 0.0057223444 + 881900 0.0039472875 0.002625037 0.0045678426 + 882000 0.0053638009 0.0027222261 0.0053622219 + 882100 0.0056831005 0.0025810808 0.0053782319 + 882200 0.0040140185 0.0025357768 0.0045114265 + 882300 0.0041209138 0.0023556268 0.0043838891 + 882400 0.0034619986 0.002513694 0.0042176465 + 882500 0.0043527108 0.0025881754 0.0047305252 + 882600 0.0049268614 0.0029792959 0.0054042355 + 882700 0.0046309437 0.0027390805 0.0050183731 + 882800 0.0052378206 0.0023544931 0.0049324829 + 882900 0.0062184447 0.0027192116 0.0057798524 + 883000 0.0043203617 0.0032189361 0.0053453641 + 883100 0.0063489264 0.0027537505 0.0058786127 + 883200 0.0048147937 0.002134571 0.0045043523 + 883300 0.004277267 0.0019209472 0.0040261646 + 883400 0.0038598613 0.0019715336 0.003871309 + 883500 0.0040542753 0.0022615955 0.0042570591 + 883600 0.004916653 0.0022659212 0.0046858364 + 883700 0.0056886929 0.0023650792 0.0051649827 + 883800 0.0057146391 0.0027283382 0.0055410122 + 883900 0.0049039897 0.0033535674 0.0057672498 + 884000 0.0036804375 0.002989282 0.0048007473 + 884100 0.0080928572 0.0026990704 0.0066822736 + 884200 0.0044607618 0.0026092282 0.0048047594 + 884300 0.0039954684 0.0022201633 0.0041866829 + 884400 0.0042467578 0.0019744931 0.0040646942 + 884500 0.0051340083 0.0019964091 0.0045233038 + 884600 0.003100419 0.0023613492 0.0038873366 + 884700 0.0041449656 0.0022216534 0.0042617536 + 884800 0.0033603474 0.0022331405 0.0038870616 + 884900 0.0048812673 0.0024164915 0.0048189902 + 885000 0.0042665966 0.0025352993 0.0046352648 + 885100 0.0054631535 0.0022137156 0.0049026115 + 885200 0.0069571409 0.001915605 0.0053398227 + 885300 0.0049421166 0.0023023362 0.0047347841 + 885400 0.0055708664 0.0023132033 0.0050551141 + 885500 0.0055058378 0.002477637 0.0051875416 + 885600 0.0037021519 0.0027240328 0.0045461856 + 885700 0.0056733761 0.0028714199 0.0056637847 + 885800 0.0054825803 0.0023433392 0.0050417967 + 885900 0.0040208964 0.001898886 0.003877921 + 886000 0.0058827386 0.0021022735 0.0049976839 + 886100 0.0051112767 0.0026441841 0.0051598906 + 886200 0.0059883547 0.002345352 0.0052927453 + 886300 0.0056269975 0.0021332867 0.0049028245 + 886400 0.0049726928 0.0021445223 0.0045920195 + 886500 0.0041298088 0.0022254303 0.0042580706 + 886600 0.0050615884 0.0021906527 0.0046819033 + 886700 0.0037399563 0.0026923643 0.0045331241 + 886800 0.0039432036 0.002596804 0.0045375995 + 886900 0.0043618806 0.0025544807 0.0047013438 + 887000 0.0037841737 0.0028361698 0.0046986928 + 887100 0.0056115396 0.0023784116 0.0051403413 + 887200 0.0053603542 0.0021550098 0.0047933092 + 887300 0.0051647738 0.0024022075 0.0049442446 + 887400 0.0029236063 0.0022744631 0.0037134256 + 887500 0.0050034686 0.0022457197 0.0047083644 + 887600 0.004708532 0.0023879169 0.0047053975 + 887700 0.0050590601 0.0021671028 0.0046571089 + 887800 0.0077791709 0.0020773967 0.0059062074 + 887900 0.0056139027 0.0023325158 0.0050956086 + 888000 0.0045523085 0.0026130965 0.0048536858 + 888100 0.0039871808 0.0030177469 0.0049801874 + 888200 0.0057709602 0.0023512353 0.0051916298 + 888300 0.0051665456 0.0020936322 0.0046365413 + 888400 0.0077188166 0.0020481416 0.0058472467 + 888500 0.0039039817 0.0029153255 0.0048368165 + 888600 0.0041614589 0.0029893635 0.0050375815 + 888700 0.0045992298 0.0029448165 0.0052085 + 888800 0.0058725833 0.0024482657 0.0053386778 + 888900 0.0035874335 0.0019298779 0.0036955678 + 889000 0.0059200477 0.0020298543 0.0049436278 + 889100 0.0042555304 0.0028009792 0.0048954981 + 889200 0.0046057575 0.0025407934 0.0048076897 + 889300 0.0057758907 0.0023389256 0.0051817468 + 889400 0.0053544819 0.0023413119 0.0049767209 + 889500 0.0049923356 0.0024262825 0.0048834477 + 889600 0.0063049296 0.0026107213 0.0057139289 + 889700 0.0049646716 0.0027958326 0.005239382 + 889800 0.0039571107 0.0022758524 0.0042234929 + 889900 0.0047717947 0.0020637322 0.0044123498 + 890000 0.0069206807 0.0019908668 0.0053971393 + 890100 0.0059347109 0.0025491412 0.0054701317 + 890200 0.0052049866 0.003007148 0.0055689774 + 890300 0.0053196822 0.0031648453 0.0057831264 + 890400 0.0048521128 0.0030192572 0.0054074064 + 890500 0.0048677904 0.0026446925 0.0050405581 + 890600 0.0067814112 0.0029473075 0.0062850334 + 890700 0.0046930538 0.0030981052 0.0054079676 + 890800 0.0039973048 0.0028045827 0.0047720061 + 890900 0.00626743 0.0024104092 0.0054951599 + 891000 0.0049200327 0.0024471786 0.0048687572 + 891100 0.0062977728 0.0023927152 0.0054924002 + 891200 0.0035214956 0.0029145079 0.004647744 + 891300 0.0047377268 0.0029986041 0.005330454 + 891400 0.0050334107 0.002647294 0.0051246758 + 891500 0.0055015247 0.0019884857 0.0046962674 + 891600 0.0041820649 0.0015573603 0.0036157204 + 891700 0.0048282537 0.0018235864 0.0041999925 + 891800 0.0047139661 0.002625204 0.0049453592 + 891900 0.0048805778 0.0025626557 0.0049648151 + 892000 0.0051501763 0.0018350364 0.0043698888 + 892100 0.0033330381 0.0022052422 0.0038457219 + 892200 0.0036016393 0.0020583874 0.0038310693 + 892300 0.0047351724 0.002025046 0.0043556387 + 892400 0.005399144 0.0021626363 0.0048200275 + 892500 0.0056372482 0.002503977 0.0052785601 + 892600 0.0048218047 0.0024895486 0.0048627806 + 892700 0.0067038324 0.0025951106 0.0058946531 + 892800 0.004451721 0.0028017194 0.0049928009 + 892900 0.0047129257 0.0025067759 0.004826419 + 893000 0.0049398088 0.0025082581 0.0049395703 + 893100 0.0035313693 0.0024098384 0.0041479342 + 893200 0.0051151295 0.0023215639 0.0048391667 + 893300 0.0047619871 0.0018017262 0.0041455167 + 893400 0.0049459564 0.0016298623 0.0040642002 + 893500 0.0043644189 0.0018853857 0.0040334981 + 893600 0.0050062027 0.0023044961 0.0047684865 + 893700 0.0052140925 0.0021896748 0.004755986 + 893800 0.0064170406 0.0021065672 0.0052649544 + 893900 0.004747034 0.0024907052 0.004827136 + 894000 0.0041950389 0.0023292477 0.0043939935 + 894100 0.0046881287 0.00241676 0.0047241983 + 894200 0.0058082824 0.0024070911 0.0052658551 + 894300 0.0053581062 0.0021717635 0.0048089564 + 894400 0.0050816598 0.0022045332 0.0047056627 + 894500 0.0047434229 0.0022897741 0.0046244276 + 894600 0.0049731068 0.0022710964 0.0047187974 + 894700 0.0046697396 0.0022836032 0.0045819906 + 894800 0.0051144298 0.0019455928 0.0044628513 + 894900 0.0049148252 0.002232214 0.0046512295 + 895000 0.0058526189 0.0026614775 0.0055420633 + 895100 0.0042649513 0.0021418529 0.0042410086 + 895200 0.0045468513 0.0017405662 0.0039784696 + 895300 0.0050808261 0.0018094842 0.0043102033 + 895400 0.0058382994 0.0021427028 0.0050162408 + 895500 0.004106316 0.0021081735 0.0041292509 + 895600 0.0067530066 0.0023948249 0.0057185703 + 895700 0.0044877522 0.0028302256 0.0050390411 + 895800 0.0044197682 0.002863379 0.0050387336 + 895900 0.0058222767 0.0026615852 0.0055272371 + 896000 0.0063856689 0.0031503295 0.0062932759 + 896100 0.0046409102 0.0028214295 0.0051056274 + 896200 0.0049070431 0.0025574599 0.0049726452 + 896300 0.0053852951 0.0024679903 0.0051185652 + 896400 0.0044671985 0.0027184706 0.0049171699 + 896500 0.0058328064 0.002745444 0.0056162784 + 896600 0.0065478399 0.0021114362 0.0053342011 + 896700 0.0061439048 0.0021665239 0.0051904771 + 896800 0.0036829305 0.0027589793 0.0045716717 + 896900 0.0044508603 0.0030245961 0.0052152538 + 897000 0.0050272643 0.0025669108 0.0050412675 + 897100 0.0050802269 0.0021774833 0.0046779075 + 897200 0.0042164763 0.0019903137 0.0040656106 + 897300 0.0041734314 0.0023467402 0.004400851 + 897400 0.0043216406 0.0026199988 0.0047470562 + 897500 0.0036269146 0.002690346 0.004475468 + 897600 0.0046437661 0.0026545276 0.0049401312 + 897700 0.0054832617 0.0027667434 0.0054655363 + 897800 0.0041538692 0.0028489247 0.0048934072 + 897900 0.0065105841 0.0029924388 0.0061968669 + 898000 0.004299604 0.0031579409 0.0052741523 + 898100 0.0052186398 0.0029154994 0.0054840487 + 898200 0.0035310151 0.0026704237 0.0044083452 + 898300 0.0051850188 0.0028335734 0.0053855748 + 898400 0.0054968972 0.0028471248 0.0055526289 + 898500 0.0051974416 0.0030740068 0.0056321225 + 898600 0.0051864874 0.003142801 0.0056955253 + 898700 0.0055671615 0.0030370295 0.0057771167 + 898800 0.0038765726 0.0026755214 0.004583522 + 898900 0.0048034816 0.0021779084 0.0045421219 + 899000 0.0046593988 0.0023266387 0.0046199365 + 899100 0.0041435908 0.0024061951 0.0044456187 + 899200 0.0056456566 0.0021338593 0.0049125809 + 899300 0.0061629923 0.0019429937 0.0049763414 + 899400 0.0055107345 0.0019098829 0.0046221976 + 899500 0.0066799499 0.0023135203 0.0056013081 + 899600 0.005545488 0.0025098915 0.0052393114 + 899700 0.0056387523 0.0024068424 0.0051821658 + 899800 0.0052677192 0.0025708827 0.0051635882 + 899900 0.0064063305 0.0026330632 0.005786179 + 900000 0.0051896554 0.0026394357 0.0051937192 + 900100 0.0051424257 0.0023731255 0.0049041631 + 900200 0.0053264588 0.0029323066 0.0055539231 + 900300 0.0053726428 0.0034458433 0.006090191 + 900400 0.0048000036 0.0036932606 0.0060557623 + 900500 0.005780796 0.0032810089 0.0061262444 + 900600 0.0046671391 0.0028289157 0.0051260232 + 900700 0.0053174645 0.0026545405 0.00527173 + 900800 0.0051488013 0.00193654 0.0044707156 + 900900 0.003116809 0.0023804557 0.0039145102 + 901000 0.004077861 0.0025178214 0.0045248937 + 901100 0.0042719277 0.0018802099 0.0039827993 + 901200 0.0048587422 0.0016647607 0.0040561729 + 901300 0.0039318658 0.0019997331 0.0039349482 + 901400 0.0044805585 0.0020621932 0.0042674681 + 901500 0.0060297803 0.0018512514 0.0048190339 + 901600 0.0039994996 0.0025063376 0.0044748413 + 901700 0.0034125925 0.0029590806 0.004638716 + 901800 0.0045463418 0.0023386836 0.0045763362 + 901900 0.0050268241 0.0021964724 0.0046706124 + 902000 0.0044808963 0.0024731456 0.0046785868 + 902100 0.0051115058 0.0024148337 0.004930653 + 902200 0.005531322 0.0027690417 0.0054914892 + 902300 0.0037200675 0.0031584568 0.0049894275 + 902400 0.0069074203 0.0024208256 0.0058205715 + 902500 0.0055928815 0.0018101716 0.0045629179 + 902600 0.0054221857 0.0015644734 0.0042332055 + 902700 0.0064962399 0.0021000223 0.0052973904 + 902800 0.004849673 0.0024158471 0.0048027955 + 902900 0.0048140188 0.0023172684 0.0046866683 + 903000 0.0035801467 0.0024054441 0.0041675475 + 903100 0.0050845457 0.0023943017 0.0048968516 + 903200 0.0049651469 0.0024342683 0.0048780515 + 903300 0.0043481802 0.0022700021 0.004410122 + 903400 0.005027613 0.0022551328 0.004729661 + 903500 0.0043957529 0.0021295682 0.0042931028 + 903600 0.0049175925 0.0022158232 0.0046362007 + 903700 0.0040175087 0.0021626444 0.004140012 + 903800 0.0055263848 0.0023220466 0.0050420641 + 903900 0.0047937213 0.0026752084 0.0050346182 + 904000 0.004467783 0.0025544565 0.0047534434 + 904100 0.0064322884 0.0023668003 0.0055326923 + 904200 0.0043566861 0.0027039954 0.0048483018 + 904300 0.0055333259 0.0024370724 0.0051605063 + 904400 0.0052625818 0.0023261315 0.0049163085 + 904500 0.0064790833 0.0018271918 0.0050161156 + 904600 0.0040258508 0.0019372338 0.0039187072 + 904700 0.0042438272 0.0021382229 0.0042269816 + 904800 0.0038983496 0.002465181 0.0043838999 + 904900 0.0034373802 0.0025154921 0.0042073276 + 905000 0.0047749684 0.0020926246 0.0044428043 + 905100 0.00519731 0.0018125935 0.0043706445 + 905200 0.0041247178 0.0015505379 0.0035806725 + 905300 0.004085031 0.0017677597 0.0037783609 + 905400 0.0053755281 0.0019285148 0.0045742825 + 905500 0.003456825 0.0021468759 0.003848282 + 905600 0.0041703039 0.0020036896 0.004056261 + 905700 0.0053675936 0.0017989072 0.0044407697 + 905800 0.0056304321 0.0018881238 0.0046593521 + 905900 0.0051827582 0.002111801 0.0046626899 + 906000 0.0046268981 0.0021604913 0.0044377927 + 906100 0.0048778891 0.0017415816 0.0041424176 + 906200 0.0048284554 0.001606012 0.0039825174 + 906300 0.0050097732 0.0018370374 0.0043027852 + 906400 0.0052951566 0.0023753996 0.0049816095 + 906500 0.00360998 0.0026529742 0.0044297612 + 906600 0.0049020618 0.0023203924 0.004733126 + 906700 0.0039728164 0.0018402498 0.0037956204 + 906800 0.0051668375 0.0021418819 0.0046849348 + 906900 0.006029456 0.0025353953 0.0055030181 + 907000 0.0048182768 0.0028396772 0.0052111728 + 907100 0.0036523186 0.002486252 0.0042838775 + 907200 0.0051804608 0.0021969438 0.0047467019 + 907300 0.0039423503 0.0023228638 0.0042632394 + 907400 0.005958297 0.0020076149 0.0049402142 + 907500 0.0048427423 0.0020886078 0.0044721451 + 907600 0.004835821 0.0023873406 0.0047674712 + 907700 0.0050311498 0.0026626227 0.0051388917 + 907800 0.0044004019 0.0027295723 0.0048953951 + 907900 0.0057030186 0.002624149 0.0054311035 + 908000 0.0042225539 0.0023421616 0.0044204499 + 908100 0.0045252748 0.0022372436 0.0044645273 + 908200 0.0046938466 0.0022998039 0.0046100565 + 908300 0.0051968877 0.0018848299 0.004442673 + 908400 0.0044940251 0.0018741044 0.0040860074 + 908500 0.0055300511 0.0020345523 0.0047563743 + 908600 0.0038314241 0.0020939873 0.0039797664 + 908700 0.0048246269 0.0022942635 0.0046688846 + 908800 0.0044088803 0.0022280308 0.0043980265 + 908900 0.0045746775 0.0020235409 0.00427514 + 909000 0.0050827935 0.0018146604 0.0043163478 + 909100 0.0043291849 0.0022176685 0.0043484392 + 909200 0.0039598556 0.0025095571 0.0044585485 + 909300 0.0048759012 0.0023761529 0.0047760105 + 909400 0.0041999011 0.0024309747 0.0044981135 + 909500 0.0046997417 0.0023285298 0.0046416839 + 909600 0.0059034033 0.0023520687 0.00525765 + 909700 0.0067561221 0.0022643851 0.005589664 + 909800 0.005264055 0.0026799018 0.0052708038 + 909900 0.0055196706 0.0025711149 0.0052878278 + 910000 0.0062146072 0.0024327557 0.0054915076 + 910100 0.0053605092 0.002071339 0.0047097146 + 910200 0.0052003627 0.0018847933 0.0044443468 + 910300 0.004986245 0.0023018261 0.0047559936 + 910400 0.0048801521 0.002320487 0.0047224368 + 910500 0.004200677 0.0021142694 0.0041817901 + 910600 0.0049719859 0.0021912313 0.0046383806 + 910700 0.0037471977 0.0019161405 0.0037604644 + 910800 0.0038389037 0.0021119146 0.004001375 + 910900 0.0037920245 0.00236374 0.0042301271 + 911000 0.0043721584 0.0026287394 0.0047806611 + 911100 0.0049263575 0.0024380386 0.0048627302 + 911200 0.0059134533 0.0019308571 0.0048413849 + 911300 0.0064167319 0.0020178936 0.0051761288 + 911400 0.0048285169 0.0020266596 0.0044031953 + 911500 0.0046326742 0.001782392 0.0040625363 + 911600 0.0040839881 0.0018114111 0.003821499 + 911700 0.0030959627 0.002070187 0.0035939811 + 911800 0.0047393469 0.0019927063 0.0043253536 + 911900 0.0046939067 0.0019820098 0.004292292 + 912000 0.004420928 0.0018938262 0.0040697517 + 912100 0.004395885 0.0018882566 0.0040518562 + 912200 0.0041323549 0.0023464686 0.004380362 + 912300 0.0043761685 0.0029673675 0.0051212629 + 912400 0.0056509547 0.0030831731 0.0058645023 + 912500 0.0051194264 0.003034336 0.0055540537 + 912600 0.0051966358 0.0025092989 0.0050670181 + 912700 0.0055324059 0.0023396096 0.0050625907 + 912800 0.0047506141 0.0026615199 0.0049997128 + 912900 0.0039486766 0.0025280358 0.0044715251 + 913000 0.004373017 0.0022402261 0.0043925704 + 913100 0.0039033431 0.0019819891 0.0039031658 + 913200 0.0053159262 0.0019174568 0.0045338892 + 913300 0.0052168605 0.0024007616 0.0049684351 + 913400 0.0055527821 0.0024970091 0.0052300191 + 913500 0.0046554484 0.0023618506 0.0046532041 + 913600 0.0070462828 0.0019004153 0.0053685076 + 913700 0.0041963773 0.0022378223 0.0043032268 + 913800 0.0056328715 0.0022897384 0.0050621673 + 913900 0.0053138456 0.002097841 0.0047132494 + 914000 0.0037398641 0.002182162 0.0040228764 + 914100 0.0052541978 0.0023648724 0.0049509229 + 914200 0.0058063138 0.0022929702 0.0051507652 + 914300 0.0045500048 0.0020048574 0.0042443129 + 914400 0.0052569465 0.0019113962 0.0044987996 + 914500 0.0054154439 0.0018967399 0.0045621537 + 914600 0.0039986677 0.0020059697 0.0039740639 + 914700 0.0048618809 0.0020141853 0.0044071423 + 914800 0.0052625525 0.0022567853 0.0048469478 + 914900 0.0049194382 0.002049686 0.004470972 + 915000 0.0063626364 0.0022869034 0.0054185135 + 915100 0.0054391834 0.0024435513 0.0051206493 + 915200 0.0068518643 0.0022031435 0.0055755454 + 915300 0.0057379642 0.0024685895 0.0052927437 + 915400 0.0055694189 0.0028649298 0.0056061282 + 915500 0.0066814905 0.0023894394 0.0056779855 + 915600 0.006617267 0.0017228016 0.0049797377 + 915700 0.0049821151 0.001960516 0.0044126508 + 915800 0.004374652 0.0023311884 0.0044843374 + 915900 0.0055239533 0.0025468219 0.0052656427 + 916000 0.0044149637 0.0025288393 0.0047018293 + 916100 0.0052821089 0.0022409764 0.0048407644 + 916200 0.0054109994 0.0027208874 0.0053841137 + 916300 0.0054591035 0.0029888188 0.0056757214 + 916400 0.0051584313 0.0027536913 0.0052926067 + 916500 0.0049676597 0.0022049074 0.0046499274 + 916600 0.0052999312 0.0021233569 0.0047319168 + 916700 0.004787813 0.0020811328 0.0044376345 + 916800 0.0042617761 0.002414167 0.0045117599 + 916900 0.0039547541 0.0024373515 0.0043838321 + 917000 0.0047993266 0.0021320374 0.0044942059 + 917100 0.0050136032 0.0021069187 0.0045745515 + 917200 0.0053652832 0.00202814 0.0046688653 + 917300 0.0052628699 0.0019093167 0.0044996355 + 917400 0.0049229523 0.0025203343 0.0049433499 + 917500 0.005809302 0.0028338009 0.0056930667 + 917600 0.0055712206 0.0020231028 0.0047651879 + 917700 0.0062799992 0.0016827936 0.0047737307 + 917800 0.0051908567 0.0020571311 0.0046120058 + 917900 0.0065142937 0.0021426872 0.0053489412 + 918000 0.0046367163 0.0028041505 0.0050862843 + 918100 0.0048450661 0.0028857279 0.0052704089 + 918200 0.005410084 0.0025368448 0.0051996205 + 918300 0.0047911948 0.0027259989 0.0050841651 + 918400 0.00427912 0.0024676312 0.0045737606 + 918500 0.0048245465 0.0022192971 0.0045938786 + 918600 0.0049379289 0.0023679803 0.0047983672 + 918700 0.0049156677 0.0019446651 0.0043640953 + 918800 0.0052779085 0.0021049093 0.0047026299 + 918900 0.0059643791 0.002599548 0.0055351409 + 919000 0.0046481243 0.0030577347 0.0053454834 + 919100 0.0048180207 0.0026039327 0.0049753023 + 919200 0.0055939875 0.0024421783 0.0051954691 + 919300 0.0046148186 0.0024993115 0.0047706676 + 919400 0.0055463641 0.0018848679 0.004614719 + 919500 0.004104701 0.0019455644 0.003965847 + 919600 0.0053001198 0.0018246676 0.0044333203 + 919700 0.0037959858 0.001735494 0.0036038308 + 919800 0.0050620719 0.001912069 0.0044035575 + 919900 0.0058138327 0.0021383286 0.0049998244 + 920000 0.004642861 0.0025800829 0.0048652411 + 920100 0.0040573286 0.0021370816 0.004134048 + 920200 0.0048501684 0.0024113612 0.0047985534 + 920300 0.0052341946 0.0022744757 0.0048506808 + 920400 0.0037841596 0.0023285473 0.0041910633 + 920500 0.0060918899 0.0024068471 0.0054051992 + 920600 0.0042072636 0.002481413 0.0045521755 + 920700 0.0046767655 0.0024857938 0.0047876393 + 920800 0.0046189717 0.0023065742 0.0045799744 + 920900 0.0047623473 0.0019080102 0.004251978 + 921000 0.0063031126 0.0014992809 0.0046015941 + 921100 0.0048650079 0.0015990944 0.0039935904 + 921200 0.0040323277 0.0016520694 0.0036367307 + 921300 0.005558326 0.0013382922 0.0040740307 + 921400 0.0044101514 0.0012694396 0.0034400609 + 921500 0.0050585866 0.00117576 0.0036655331 + 921600 0.0070669766 0.0016424342 0.0051207117 + 921700 0.0056199389 0.002807347 0.0055734106 + 921800 0.0033955469 0.0025573448 0.0042285906 + 921900 0.0051801323 0.0021881293 0.0047377257 + 922000 0.0043708721 0.0025531149 0.0047044035 + 922100 0.0057740512 0.0025266342 0.0053685501 + 922200 0.0048701307 0.0024925675 0.0048895849 + 922300 0.0050470222 0.0022464522 0.0047305334 + 922400 0.0042561643 0.0021318229 0.0042266537 + 922500 0.0051114651 0.0017115714 0.0042273706 + 922600 0.0054348521 0.0015433214 0.0042182876 + 922700 0.0059361619 0.0016659807 0.0045876853 + 922800 0.0051299906 0.0020099622 0.0045348795 + 922900 0.0057384537 0.0024503723 0.0052747675 + 923000 0.005634874 0.0028824962 0.0056559107 + 923100 0.0043511282 0.0030385815 0.0051801524 + 923200 0.0059011403 0.0028525032 0.0057569707 + 923300 0.0054503706 0.0026074421 0.0052900463 + 923400 0.0044338149 0.00233958 0.0045218483 + 923500 0.0056876908 0.0024450671 0.0052444774 + 923600 0.0053548725 0.0024238017 0.005059403 + 923700 0.0041610726 0.0026370685 0.0046850964 + 923800 0.0054549439 0.0026620921 0.0053469473 + 923900 0.0060462426 0.0024251044 0.0054009894 + 924000 0.0061486763 0.0017146287 0.0047409303 + 924100 0.004507576 0.0018390553 0.0040576279 + 924200 0.0034168225 0.0019163151 0.0035980324 + 924300 0.0054691574 0.0019024082 0.0045942591 + 924400 0.0039611614 0.0024174581 0.0043670922 + 924500 0.0053401689 0.002610925 0.0052392893 + 924600 0.0051411284 0.0027116465 0.0052420456 + 924700 0.0054969837 0.0029139914 0.005619538 + 924800 0.005116258 0.0033864836 0.0059046418 + 924900 0.0043689912 0.0037963878 0.0059467507 + 925000 0.0048611998 0.0027932738 0.0051858956 + 925100 0.0057674136 0.0021834085 0.0050220573 + 925200 0.0043701244 0.0018700985 0.0040210192 + 925300 0.0050861714 0.002356186 0.004859536 + 925400 0.004891706 0.0025516349 0.0049592714 + 925500 0.0063681802 0.0025185198 0.0056528585 + 925600 0.0058278042 0.0027964462 0.0056648186 + 925700 0.0042685023 0.0024918294 0.0045927329 + 925800 0.0052014945 0.0021294976 0.0046896082 + 925900 0.0052965415 0.0020046196 0.0046115112 + 926000 0.0038945964 0.0022407669 0.0041576385 + 926100 0.0049378928 0.0019338653 0.0043642344 + 926200 0.0039983645 0.0020208436 0.0039887887 + 926300 0.0049777957 0.0020083615 0.0044583703 + 926400 0.004938174 0.0022088875 0.004639395 + 926500 0.0047395914 0.0023426808 0.0046754485 + 926600 0.0041298425 0.002563619 0.0045962758 + 926700 0.0060335777 0.0020011078 0.0049707594 + 926800 0.0058276761 0.0019550486 0.0048233579 + 926900 0.0053588424 0.0021297578 0.004767313 + 927000 0.0047052876 0.0026836065 0.0049994902 + 927100 0.0040548089 0.0031515587 0.0051472849 + 927200 0.0039159035 0.0031973402 0.005124699 + 927300 0.0055796588 0.0025156008 0.0052618391 + 927400 0.0036371989 0.0025330991 0.0043232829 + 927500 0.0048493519 0.002644484 0.0050312744 + 927600 0.0045915698 0.0023485232 0.0046084365 + 927700 0.0057341515 0.0020982342 0.0049205119 + 927800 0.0052595564 0.0020665295 0.0046552174 + 927900 0.003396242 0.0021541864 0.0038257743 + 928000 0.0057551108 0.0021484576 0.0049810512 + 928100 0.0042093886 0.0022079188 0.0042797273 + 928200 0.0057364553 0.0024043462 0.0052277577 + 928300 0.0053995242 0.0026189272 0.0052765055 + 928400 0.0045129009 0.0025028327 0.0047240261 + 928500 0.0050918747 0.00242307 0.0049292271 + 928600 0.0047191248 0.0029643215 0.0052870157 + 928700 0.0056036212 0.0030811318 0.0058391641 + 928800 0.0046392643 0.0029314724 0.0052148603 + 928900 0.0049473007 0.0023843057 0.0048193052 + 929000 0.0048188628 0.0024122828 0.0047840668 + 929100 0.0042367487 0.0021726274 0.0042579021 + 929200 0.0048459381 0.0017390697 0.0041241799 + 929300 0.0036791651 0.0019192079 0.003730047 + 929400 0.0043344527 0.0024421972 0.0045755607 + 929500 0.0038389118 0.002643325 0.0045327894 + 929600 0.0053219726 0.0026959858 0.0053153942 + 929700 0.0038805304 0.0026494063 0.0045593548 + 929800 0.0048373892 0.0025029799 0.0048838824 + 929900 0.0050956037 0.0028198027 0.0053277952 + 930000 0.0054092309 0.0031296845 0.0057920403 + 930100 0.0052065626 0.0033493884 0.0059119934 + 930200 0.0060104759 0.0035229027 0.0064811838 + 930300 0.0045309219 0.0031274206 0.0053574838 + 930400 0.007266367 0.0027468187 0.0063232337 + 930500 0.0045850537 0.0032635695 0.0055202756 + 930600 0.0043762842 0.0031506709 0.0053046232 + 930700 0.0044604384 0.0026714507 0.0048668228 + 930800 0.0051464237 0.0022446364 0.0047776418 + 930900 0.0060339021 0.0020165491 0.0049863603 + 931000 0.0071020203 0.0024638627 0.0059593883 + 931100 0.0056639732 0.0033222923 0.0061100291 + 931200 0.0044304106 0.0035117304 0.0056923232 + 931300 0.0047807737 0.0034171773 0.0057702143 + 931400 0.0045114333 0.0026519549 0.0048724259 + 931500 0.0053472048 0.0023658636 0.004997691 + 931600 0.00421367 0.0024548988 0.0045288145 + 931700 0.0047050512 0.0023228339 0.0046386013 + 931800 0.0058761409 0.0023940254 0.0052861885 + 931900 0.0054523806 0.0022427319 0.0049263255 + 932000 0.0062041289 0.0022833672 0.0053369619 + 932100 0.005553912 0.0029192016 0.0056527677 + 932200 0.0053969721 0.0030977278 0.00575405 + 932300 0.0038672837 0.0030317984 0.0049352271 + 932400 0.0041890234 0.002940507 0.005002292 + 932500 0.006199807 0.0023398115 0.005391279 + 932600 0.0060328623 0.0021920828 0.0051613822 + 932700 0.0056022576 0.0021436183 0.0049009795 + 932800 0.0037513242 0.0022034674 0.0040498222 + 932900 0.0057822151 0.0022280361 0.0050739701 + 933000 0.004073598 0.0027069939 0.0047119679 + 933100 0.0040395685 0.0026693543 0.0046575794 + 933200 0.004896641 0.0029657658 0.0053758313 + 933300 0.0033809608 0.0030693651 0.0047334317 + 933400 0.0035249135 0.0029027 0.0046376184 + 933500 0.0037263457 0.0028186316 0.0046526924 + 933600 0.0053147414 0.0027182781 0.0053341273 + 933700 0.0042836624 0.0021090264 0.0042173915 + 933800 0.0039882246 0.002014775 0.0039777293 + 933900 0.0058757471 0.002213763 0.0051057323 + 934000 0.0039019677 0.0023645871 0.0042850869 + 934100 0.0045881015 0.0025526282 0.0048108344 + 934200 0.0048076113 0.0025711084 0.0049373545 + 934300 0.0064304546 0.0024602113 0.0056252007 + 934400 0.0044470448 0.0025451466 0.0047339264 + 934500 0.0046184101 0.0027887184 0.0050618422 + 934600 0.0051422959 0.0029513366 0.0054823104 + 934700 0.0059289564 0.0030727061 0.0059908644 + 934800 0.0040907699 0.0028460848 0.0048595106 + 934900 0.0058702665 0.0022105463 0.0050998181 + 935000 0.0042501409 0.0021318175 0.0042236837 + 935100 0.0042552609 0.0023089585 0.0044033447 + 935200 0.0046383473 0.00242752 0.0047104565 + 935300 0.0036176388 0.002688679 0.0044692356 + 935400 0.0058130486 0.0028215994 0.0056827093 + 935500 0.0060911113 0.0031725991 0.0061705679 + 935600 0.0061797377 0.0030352173 0.006076807 + 935700 0.0056871505 0.0027031988 0.0055023432 + 935800 0.0070082996 0.0023441877 0.0057935851 + 935900 0.0045674525 0.0026709615 0.0049190046 + 936000 0.0064976042 0.0027217517 0.0059197912 + 936100 0.0049208596 0.0029439921 0.0053659777 + 936200 0.0059595122 0.0025776072 0.0055108046 + 936300 0.0057494793 0.0024622841 0.005292106 + 936400 0.0053918274 0.0023191201 0.0049729101 + 936500 0.0046591399 0.0022943274 0.0045874979 + 936600 0.0041456389 0.0022140195 0.0042544511 + 936700 0.0049345798 0.0022264915 0.00465523 + 936800 0.0042294849 0.0026834699 0.0047651696 + 936900 0.0044745315 0.0027253656 0.0049276741 + 937000 0.0043750472 0.0024856963 0.0046390399 + 937100 0.0065205043 0.0020256014 0.0052349121 + 937200 0.003894459 0.0021326678 0.0040494719 + 937300 0.0042757519 0.002342313 0.0044467847 + 937400 0.005789107 0.0020006931 0.0048500192 + 937500 0.0053955103 0.0022000383 0.0048556411 + 937600 0.0057601113 0.0026158752 0.00545093 + 937700 0.0042768243 0.0025861258 0.0046911253 + 937800 0.0052665614 0.0028553205 0.0054474563 + 937900 0.0048967551 0.0030680345 0.0054781561 + 938000 0.0044598184 0.0029767424 0.0051718093 + 938100 0.0051669013 0.0027480699 0.0052911542 + 938200 0.005058361 0.0022343884 0.0047240504 + 938300 0.0055617119 0.0022157697 0.0049531747 + 938400 0.0055006492 0.0030293846 0.0057367354 + 938500 0.0047615923 0.0032788869 0.0056224831 + 938600 0.0043054883 0.0029317573 0.0050508648 + 938700 0.0047922707 0.00245256 0.0048112557 + 938800 0.0062419456 0.001938114 0.0050103216 + 938900 0.0051272045 0.0021837101 0.0047072561 + 939000 0.0046132337 0.0025506977 0.0048212736 + 939100 0.0042723858 0.0028687715 0.0049715864 + 939200 0.0057209927 0.0025703367 0.0053861378 + 939300 0.0045563957 0.0025772742 0.0048198752 + 939400 0.0036301583 0.0028005332 0.0045872517 + 939500 0.0047717076 0.0028537755 0.0052023504 + 939600 0.005847651 0.0026699104 0.0055480511 + 939700 0.0058028807 0.0026750506 0.0055311559 + 939800 0.0041662964 0.0029831398 0.0050337388 + 939900 0.0057540793 0.0025766038 0.0054086897 + 940000 0.0055865214 0.0022934528 0.0050430688 + 940100 0.0055537429 0.0017258368 0.0044593197 + 940200 0.00530236 0.0020064863 0.0046162416 + 940300 0.0062258222 0.0025992646 0.0056635365 + 940400 0.0038571234 0.0023207923 0.0042192202 + 940500 0.0047267027 0.0022756132 0.0046020372 + 940600 0.0052180928 0.0023328223 0.0049011024 + 940700 0.0052404956 0.002184849 0.0047641554 + 940800 0.0050910967 0.0026406146 0.0051463887 + 940900 0.006916421 0.0025829048 0.0059870807 + 941000 0.0059410891 0.0023656385 0.0052897683 + 941100 0.0047842835 0.002450873 0.0048056375 + 941200 0.0059869149 0.0025221128 0.0054687975 + 941300 0.0055028583 0.0025628549 0.005271293 + 941400 0.004044303 0.0026673609 0.0046579163 + 941500 0.005232939 0.0027992363 0.0053748235 + 941600 0.0054789374 0.0025693566 0.0052660211 + 941700 0.0058847145 0.002512034 0.0054084169 + 941800 0.0046831932 0.0025126173 0.0048176265 + 941900 0.0058933143 0.0024832708 0.0053838864 + 942000 0.0052535013 0.0027002764 0.0052859841 + 942100 0.0040428723 0.0026460414 0.0046358926 + 942200 0.0029825638 0.0027818726 0.0042498532 + 942300 0.0042674152 0.0029062828 0.0050066512 + 942400 0.007551551 0.0024815077 0.0061982867 + 942500 0.0053853304 0.002300703 0.0049512953 + 942600 0.0044000582 0.0024228008 0.0045884544 + 942700 0.0055262419 0.0026545484 0.0053744956 + 942800 0.0045500215 0.0031296539 0.0053691176 + 942900 0.0048788686 0.0026166526 0.0050179707 + 943000 0.0063967354 0.0024988661 0.0056472593 + 943100 0.0037014131 0.0027575411 0.0045793303 + 943200 0.0052847483 0.0029265673 0.0055276544 + 943300 0.0058889948 0.0026026083 0.0055010979 + 943400 0.0049484459 0.0030018104 0.0054373736 + 943500 0.0040954753 0.0037254432 0.005741185 + 943600 0.0059729898 0.0037985025 0.0067383334 + 943700 0.005429131 0.0035912496 0.0062634 + 943800 0.0057702796 0.0030298208 0.0058698803 + 943900 0.0063097178 0.0024069178 0.005512482 + 944000 0.0063115687 0.0018228507 0.0049293259 + 944100 0.0047306978 0.0021377933 0.0044661836 + 944200 0.0049731402 0.0022457233 0.0046934407 + 944300 0.0050328435 0.0027647491 0.0052418518 + 944400 0.0048402985 0.0027084786 0.005090813 + 944500 0.0049663793 0.0023661841 0.0048105738 + 944600 0.0055851171 0.0025338039 0.0052827287 + 944700 0.0047259597 0.0028206648 0.0051467231 + 944800 0.0055804226 0.002790576 0.0055371903 + 944900 0.004539636 0.0025764804 0.0048108325 + 945000 0.0049546389 0.002670543 0.0051091543 + 945100 0.00629192 0.0024849238 0.0055817282 + 945200 0.0055061487 0.0021399441 0.0048500017 + 945300 0.0042405755 0.0018943107 0.003981469 + 945400 0.0046383428 0.0019598295 0.0042427638 + 945500 0.0053577969 0.0022172381 0.0048542787 + 945600 0.0067188967 0.0022628882 0.0055698451 + 945700 0.0054645058 0.0028110695 0.005500631 + 945800 0.0057043696 0.0026245262 0.0054321456 + 945900 0.0050061015 0.0024214893 0.0048854299 + 946000 0.0054027856 0.0022816078 0.0049407913 + 946100 0.0057359931 0.0023312369 0.005154421 + 946200 0.0039478941 0.0029821023 0.0049252065 + 946300 0.0036498332 0.0026728435 0.0044692458 + 946400 0.0030426277 0.0022709828 0.0037685261 + 946500 0.0040760536 0.001987561 0.0039937436 + 946600 0.0052555951 0.001818584 0.0044053222 + 946700 0.0040844329 0.0019546641 0.0039649709 + 946800 0.003721803 0.0022740336 0.0041058585 + 946900 0.0050439767 0.002654704 0.0051372863 + 947000 0.0057007413 0.0028250808 0.0056309144 + 947100 0.0053458807 0.0030505089 0.0056816845 + 947200 0.0059890647 0.0026540915 0.0056018343 + 947300 0.0053634335 0.0021911688 0.0048309838 + 947400 0.0062812626 0.0025456603 0.0056372193 + 947500 0.0055662807 0.0029317744 0.0056714282 + 947600 0.0058796594 0.0029795713 0.0058734662 + 947700 0.0045831884 0.0026968115 0.0049525996 + 947800 0.0049316095 0.0021935426 0.0046208192 + 947900 0.0045622238 0.0021104641 0.0043559336 + 948000 0.0049015154 0.0024799711 0.0048924357 + 948100 0.0051006123 0.0024315928 0.0049420505 + 948200 0.0044246905 0.0023395206 0.0045172979 + 948300 0.0042431313 0.0024323421 0.0045207583 + 948400 0.0061765315 0.0020255371 0.0050655487 + 948500 0.0040925191 0.0021204769 0.0041347636 + 948600 0.0062126189 0.0020628051 0.0051205784 + 948700 0.0038472073 0.0024518676 0.0043454149 + 948800 0.0056633353 0.0026472281 0.0054346509 + 948900 0.0069753118 0.0024827005 0.0059158618 + 949000 0.0047123715 0.0023976062 0.0047169765 + 949100 0.0036626458 0.0025671018 0.0043698103 + 949200 0.0051176564 0.0023153214 0.0048341679 + 949300 0.0049317815 0.00238205 0.0048094112 + 949400 0.0053877343 0.0022436456 0.0048954211 + 949500 0.0050071881 0.0024375935 0.0049020689 + 949600 0.0052238604 0.0025904968 0.0051616156 + 949700 0.0059739605 0.0022618692 0.0052021778 + 949800 0.0066254491 0.0018933576 0.0051543209 + 949900 0.0052973689 0.0018922931 0.0044995919 + 950000 0.005871615 0.0023023909 0.0051923264 + 950100 0.0043702924 0.0022634459 0.0044144492 + 950200 0.0052240399 0.0019970327 0.0045682398 + 950300 0.0050474881 0.0022985127 0.0047828233 + 950400 0.0034046545 0.00262315 0.0042988784 + 950500 0.0067568238 0.0021261418 0.005451766 + 950600 0.0066191696 0.0020446596 0.0053025322 + 950700 0.0051685827 0.0022882745 0.0048321863 + 950800 0.0057577136 0.0024297998 0.0052636745 + 950900 0.0049442696 0.0026405251 0.0050740328 + 951000 0.0043484213 0.0025744845 0.0047147231 + 951100 0.0056253987 0.0023795711 0.005148322 + 951200 0.0045659117 0.0022679499 0.0045152345 + 951300 0.0043378108 0.0018926746 0.0040276908 + 951400 0.0065256962 0.0016194286 0.0048312947 + 951500 0.0049328263 0.0018101225 0.0042379979 + 951600 0.0054955109 0.0021776736 0.0048824954 + 951700 0.0051266456 0.0023573296 0.0048806005 + 951800 0.0056545541 0.0018344479 0.0046175487 + 951900 0.0044242089 0.0020848418 0.0042623821 + 952000 0.004295656 0.002310632 0.0044249002 + 952100 0.0054488928 0.0023271455 0.0050090225 + 952200 0.0053456947 0.0025244414 0.0051555255 + 952300 0.0039378611 0.0027640493 0.0047022153 + 952400 0.0062848054 0.0026895723 0.005782875 + 952500 0.0052284652 0.0027776272 0.0053510124 + 952600 0.004612894 0.0029092513 0.00517966 + 952700 0.0031301463 0.0032166521 0.004757271 + 952800 0.0054251697 0.0029185922 0.0055887929 + 952900 0.0045127441 0.0030191288 0.0052402451 + 953000 0.0042209796 0.0033981003 0.0054756137 + 953100 0.0053297597 0.0031183136 0.0057415548 + 953200 0.0057773043 0.0027225539 0.0055660709 + 953300 0.0049408349 0.0031541272 0.0055859444 + 953400 0.0048188352 0.0034399608 0.0058117312 + 953500 0.0070756999 0.0035650154 0.0070475864 + 953600 0.0069269414 0.0029926105 0.0064019644 + 953700 0.0042365424 0.0025294809 0.0046146541 + 953800 0.0052880541 0.0024942767 0.0050969908 + 953900 0.0040853431 0.0025450474 0.0045558022 + 954000 0.0053354698 0.0024467394 0.005072791 + 954100 0.0068383884 0.0024883028 0.0058540721 + 954200 0.0059830907 0.0029992574 0.0059440599 + 954300 0.0051325576 0.0032958988 0.0058220795 + 954400 0.0053431121 0.0035292586 0.0061590715 + 954500 0.0062911869 0.0028190741 0.0059155176 + 954600 0.0056662969 0.0027713601 0.0055602406 + 954700 0.004839716 0.0030467468 0.0054287946 + 954800 0.0040856117 0.0031213348 0.0051322218 + 954900 0.0061049369 0.0024529619 0.0054577355 + 955000 0.0067830182 0.0022949625 0.0056334793 + 955100 0.0048124159 0.0026790293 0.0050476402 + 955200 0.0051320904 0.0026637322 0.0051896829 + 955300 0.0044366945 0.0026572959 0.0048409815 + 955400 0.0043384277 0.0029294092 0.0050647291 + 955500 0.0043606052 0.0025305988 0.0046768341 + 955600 0.0049270141 0.0023991187 0.0048241335 + 955700 0.0055404666 0.0024470576 0.005174006 + 955800 0.0048660762 0.0025300831 0.004925105 + 955900 0.0045288338 0.0025020567 0.0047310921 + 956000 0.0037373819 0.0027021187 0.0045416113 + 956100 0.0054147805 0.002217414 0.0048825013 + 956200 0.0054748648 0.0021616306 0.0048562906 + 956300 0.0048912715 0.0026420371 0.0050494598 + 956400 0.0060685353 0.0030810823 0.0060679395 + 956500 0.0067688139 0.0029920088 0.0063235344 + 956600 0.0065194866 0.0027315496 0.0059403594 + 956700 0.0052484005 0.0029923982 0.0055755954 + 956800 0.0073177895 0.0032899337 0.0068916582 + 956900 0.00369462 0.0037931516 0.0056115974 + 957000 0.0046778423 0.0032054554 0.005507831 + 957100 0.0073346237 0.0025621863 0.0061721964 + 957200 0.0052161599 0.0026695404 0.0052368691 + 957300 0.0062881644 0.002733055 0.0058280109 + 957400 0.0066282065 0.002796169 0.0060584894 + 957500 0.0054778016 0.0027070739 0.0054031794 + 957600 0.0040035548 0.0025968919 0.0045673915 + 957700 0.0063525773 0.0031867178 0.0063133769 + 957800 0.0063702191 0.003345988 0.0064813302 + 957900 0.0048880732 0.0030220289 0.0054278775 + 958000 0.0051681918 0.0025990416 0.005142761 + 958100 0.0062247171 0.0028495466 0.0059132745 + 958200 0.0053088503 0.0035062588 0.0061192085 + 958300 0.0056476554 0.0038400067 0.0066197121 + 958400 0.0064903041 0.0035941482 0.0067885947 + 958500 0.0044972172 0.0029075558 0.0051210299 + 958600 0.0050582398 0.0029406203 0.0054302228 + 958700 0.0052528671 0.0031631749 0.0057485704 + 958800 0.006320579 0.0033955212 0.0065064311 + 958900 0.0047043381 0.0030384364 0.0053538529 + 959000 0.0046587727 0.0031213947 0.0054143844 + 959100 0.0046601284 0.0030741291 0.0053677861 + 959200 0.0057811055 0.0031875593 0.0060329472 + 959300 0.0063902738 0.0029558541 0.006101067 + 959400 0.0045763232 0.0030535503 0.0053059593 + 959500 0.0049363889 0.0027582756 0.0051879045 + 959600 0.0057086478 0.0022773497 0.0050870748 + 959700 0.0041746861 0.001880601 0.0039353293 + 959800 0.0067161598 0.0019156643 0.0052212742 + 959900 0.0055711488 0.0021579566 0.0049000064 + 960000 0.0036301064 0.0022034891 0.0039901821 + 960100 0.0050614143 0.0022651395 0.0047563044 + 960200 0.0053190788 0.0022989089 0.004916893 + 960300 0.0048745753 0.0022139832 0.0046131882 + 960400 0.0037753518 0.002381552 0.004239733 + 960500 0.0047743809 0.0021340948 0.0044839854 + 960600 0.0050978142 0.0021010776 0.004610158 + 960700 0.0046660592 0.0025711972 0.0048677732 + 960800 0.0053728543 0.0024075427 0.0050519944 + 960900 0.0050684637 0.002379489 0.0048741234 + 961000 0.0040528163 0.0026684818 0.0046632273 + 961100 0.0050397994 0.0023025136 0.0047830398 + 961200 0.005869114 0.0024980724 0.0053867769 + 961300 0.00460283 0.0027099919 0.0049754473 + 961400 0.0033418859 0.0025795541 0.0042243886 + 961500 0.0045319783 0.0023352223 0.0045658054 + 961600 0.0047375909 0.0026318039 0.0049635869 + 961700 0.0054719538 0.0028897986 0.0055830259 + 961800 0.0052110218 0.0032483011 0.0058131009 + 961900 0.0055237285 0.0032202476 0.0059389578 + 962000 0.0049923225 0.0036686818 0.0061258405 + 962100 0.0051654824 0.0033459152 0.005888301 + 962200 0.0046553772 0.003007577 0.0052988955 + 962300 0.0051898955 0.0026861344 0.005240536 + 962400 0.0047444432 0.0026110999 0.0049462555 + 962500 0.0046547194 0.0024057364 0.0046967311 + 962600 0.0043444244 0.0022185106 0.004356782 + 962700 0.0045710532 0.0022787153 0.0045285305 + 962800 0.0056309538 0.0025598267 0.0053313118 + 962900 0.0056799637 0.0028003728 0.0055959799 + 963000 0.0054720794 0.0033730209 0.00606631 + 963100 0.0048060275 0.0033059762 0.0056714429 + 963200 0.0060132481 0.003040183 0.0059998285 + 963300 0.0060286894 0.0023676814 0.005334927 + 963400 0.0042948451 0.0019431746 0.0040570437 + 963500 0.0049993469 0.0018178056 0.0042784217 + 963600 0.0046736506 0.0019528234 0.0042531358 + 963700 0.0051311231 0.0022791924 0.004804667 + 963800 0.0044148408 0.0030809563 0.0052538858 + 963900 0.0034097809 0.0033801416 0.0050583932 + 964000 0.0044419105 0.0030615022 0.005247755 + 964100 0.0038787818 0.0027943085 0.0047033964 + 964200 0.0048640733 0.0023350531 0.0047290892 + 964300 0.0043575879 0.0026652359 0.0048099862 + 964400 0.00515347 0.0025261831 0.0050626566 + 964500 0.0058013073 0.0025799651 0.0054352961 + 964600 0.0042752995 0.0030501086 0.0051543576 + 964700 0.0039066008 0.0031121239 0.005034904 + 964800 0.0044702605 0.002633125 0.0048333313 + 964900 0.0055637268 0.0025685072 0.005306904 + 965000 0.0063072728 0.0031860859 0.0062904467 + 965100 0.0044775059 0.0033925959 0.0055963683 + 965200 0.0049590206 0.0035235257 0.0059642936 + 965300 0.006077838 0.0033054811 0.006296917 + 965400 0.0053871944 0.0035425306 0.0061940403 + 965500 0.005775289 0.003313173 0.006155698 + 965600 0.0043051279 0.0032338621 0.0053527923 + 965700 0.0048105097 0.0031314818 0.0054991545 + 965800 0.0051837212 0.0029806351 0.0055319979 + 965900 0.0060806147 0.0028220307 0.0058148332 + 966000 0.0073224969 0.0027265501 0.0063305916 + 966100 0.0054534369 0.0029525469 0.0056366604 + 966200 0.0052222476 0.0027012929 0.0052716179 + 966300 0.00521233 0.0023217229 0.0048871665 + 966400 0.0057072644 0.0022546914 0.0050637356 + 966500 0.0050167813 0.0024404549 0.004909652 + 966600 0.0054217678 0.0022421428 0.0049106691 + 966700 0.0060904884 0.0023933786 0.0053910409 + 966800 0.0056468198 0.002944943 0.0057242371 + 966900 0.0042769952 0.0031348273 0.0052399109 + 967000 0.0057855226 0.0031396883 0.0059872501 + 967100 0.0066250209 0.0029328255 0.006193578 + 967200 0.0058449091 0.0027103353 0.0055871266 + 967300 0.0045471547 0.0027637775 0.0050018302 + 967400 0.0052337235 0.0028440651 0.0054200383 + 967500 0.005479885 0.0030187323 0.0057158632 + 967600 0.0050895891 0.002381631 0.0048866631 + 967700 0.0038354455 0.0027555543 0.0046433127 + 967800 0.0048407113 0.0026137701 0.0049963078 + 967900 0.0051305605 0.0024706873 0.0049958851 + 968000 0.0055470194 0.0024453347 0.0051755083 + 968100 0.0052279897 0.0025694082 0.0051425594 + 968200 0.0055225297 0.0026274135 0.0053455336 + 968300 0.0046820165 0.0025232228 0.0048276528 + 968400 0.0049002252 0.0027831473 0.0051949769 + 968500 0.0048682168 0.0021295981 0.0045256736 + 968600 0.0054144194 0.0018143244 0.0044792339 + 968700 0.0045578242 0.002160903 0.0044042071 + 968800 0.0055532297 0.0025480002 0.0052812304 + 968900 0.0059639747 0.0022492709 0.0051846647 + 969000 0.0051230932 0.0024924616 0.005013984 + 969100 0.0053698262 0.002713762 0.0053567234 + 969200 0.0045618098 0.0028775127 0.0051227785 + 969300 0.0043560547 0.0024619789 0.0046059745 + 969400 0.0049038556 0.0025159774 0.0049295938 + 969500 0.0056376871 0.0026553717 0.0054301708 + 969600 0.005043098 0.0025124895 0.0049946393 + 969700 0.0050046294 0.0027719528 0.0052351688 + 969800 0.0042023088 0.0031761414 0.0052444653 + 969900 0.0050246276 0.0030673514 0.0055404102 + 970000 0.0048542202 0.002921362 0.0053105485 + 970100 0.0049725212 0.0025353311 0.0049827439 + 970200 0.0073508767 0.0026966449 0.0063146545 + 970300 0.0056753656 0.0033404216 0.0061337656 + 970400 0.0049212835 0.0037268567 0.0061490509 + 970500 0.0047838439 0.0036177179 0.0059722661 + 970600 0.0049137632 0.0032094314 0.0056279242 + 970700 0.0053006436 0.0028654733 0.0054743838 + 970800 0.0047455832 0.0029088356 0.0052445523 + 970900 0.0058562198 0.0028616988 0.005744057 + 971000 0.0046797299 0.0027642705 0.0050675751 + 971100 0.0035736731 0.0027741373 0.0045330546 + 971200 0.0048921041 0.0021112037 0.0045190362 + 971300 0.0055196962 0.0019084903 0.0046252158 + 971400 0.0056464769 0.0022449631 0.0050240885 + 971500 0.0038859703 0.002663827 0.004576453 + 971600 0.0047725244 0.0025582852 0.004907262 + 971700 0.0046081126 0.0025390258 0.0048070812 + 971800 0.0043262709 0.0026059807 0.0047353171 + 971900 0.006566044 0.002471612 0.0057033367 + 972000 0.0057944598 0.0025446497 0.0053966104 + 972100 0.0058313404 0.0026248712 0.005494984 + 972200 0.0031429178 0.0027992152 0.0043461201 + 972300 0.0052467752 0.0028551449 0.0054375421 + 972400 0.0055893576 0.0027462849 0.0054972968 + 972500 0.0061902888 0.0025071501 0.0055539329 + 972600 0.0057115877 0.0032148349 0.006026007 + 972700 0.0047704902 0.0030924464 0.005440422 + 972800 0.0058587438 0.0030758046 0.0059594051 + 972900 0.0048952981 0.0028195135 0.0052289181 + 973000 0.0045538318 0.0025685315 0.0048098706 + 973100 0.0042741367 0.0028053202 0.0049089968 + 973200 0.0035746403 0.0024357127 0.0041951059 + 973300 0.0045904176 0.0023875068 0.004646853 + 973400 0.0048457394 0.0023069306 0.0046919429 + 973500 0.0042837146 0.0027912615 0.0048996523 + 973600 0.0047674613 0.0028068874 0.0051533723 + 973700 0.0049523031 0.002596494 0.0050339557 + 973800 0.0068748342 0.0027046842 0.0060883917 + 973900 0.0057609804 0.0024336636 0.0052691462 + 974000 0.0056063668 0.0024964712 0.0052558549 + 974100 0.0051900314 0.0023804685 0.0049349371 + 974200 0.0064487718 0.002307078 0.0054810829 + 974300 0.0061834083 0.0025944841 0.0056378803 + 974400 0.0057025311 0.0027520556 0.0055587701 + 974500 0.0042751238 0.0024166917 0.0045208542 + 974600 0.0053766503 0.0021838034 0.0048301235 + 974700 0.0030039709 0.0025841816 0.0040626986 + 974800 0.0046691123 0.0025361846 0.0048342633 + 974900 0.0052974161 0.0029100697 0.0055173917 + 975000 0.0040907323 0.0033242655 0.0053376728 + 975100 0.0047023544 0.0028784567 0.0051928967 + 975200 0.0050075817 0.0026531915 0.0051178606 + 975300 0.0058441367 0.0024578842 0.0053342952 + 975400 0.0039066278 0.0026738475 0.0045966408 + 975500 0.0045124393 0.002391999 0.0046129652 + 975600 0.0040024196 0.0022331199 0.0042030608 + 975700 0.0040280973 0.0025148811 0.0044974602 + 975800 0.0059446815 0.0023142213 0.0052401192 + 975900 0.003542666 0.0022327459 0.0039764018 + 976000 0.0058896396 0.0020503669 0.0049491739 + 976100 0.0055778445 0.0024299175 0.0051752629 + 976200 0.0047260621 0.0024655669 0.0047916756 + 976300 0.0035849619 0.0024940339 0.0042585073 + 976400 0.0049926099 0.002404931 0.0048622312 + 976500 0.0070676434 0.0020788192 0.005557425 + 976600 0.0054104219 0.0023046444 0.0049675864 + 976700 0.0036560688 0.0026005898 0.0044000612 + 976800 0.0043873014 0.0025404343 0.0046998092 + 976900 0.0046546409 0.0025788444 0.0048698005 + 977000 0.0056209652 0.0027395092 0.005506078 + 977100 0.005725543 0.0031284995 0.0059465402 + 977200 0.0055606875 0.0025838678 0.0053207686 + 977300 0.0043430628 0.0028360571 0.0049736583 + 977400 0.0037029631 0.0028367586 0.0046593107 + 977500 0.0069719144 0.001938028 0.0053695171 + 977600 0.0057626055 0.0019937371 0.0048300195 + 977700 0.0060237783 0.002190744 0.0051555723 + 977800 0.0050946393 0.0026385334 0.0051460512 + 977900 0.0037238203 0.0028303221 0.0046631399 + 978000 0.0044458966 0.0028124466 0.0050006613 + 978100 0.0043034232 0.0030163878 0.0051344789 + 978200 0.0066942561 0.0027167802 0.0060116094 + 978300 0.0045747149 0.0027150106 0.0049666281 + 978400 0.0043064495 0.0022617086 0.0043812892 + 978500 0.0070645926 0.0017127655 0.0051898697 + 978600 0.0061699792 0.0016400269 0.0046768135 + 978700 0.0036209581 0.0021046637 0.003886854 + 978800 0.0040657748 0.002035424 0.0040365476 + 978900 0.0047386898 0.0024307211 0.004763045 + 979000 0.0045105558 0.0025228213 0.0047428605 + 979100 0.0036730443 0.0026645951 0.0044724216 + 979200 0.0051323164 0.0023169247 0.0048429867 + 979300 0.0057187874 0.0018002487 0.0046149644 + 979400 0.0042600571 0.0018455482 0.0039422951 + 979500 0.0041048546 0.0017923513 0.0038127094 + 979600 0.003105054 0.0020439512 0.00357222 + 979700 0.0049926746 0.001661332 0.004118664 + 979800 0.0046366505 0.0014668497 0.0037489511 + 979900 0.0044969741 0.0017386524 0.0039520069 + 980000 0.0051131067 0.0020044239 0.0045210311 + 980100 0.0046570978 0.0025129328 0.0048050981 + 980200 0.0051005303 0.002560698 0.0050711152 + 980300 0.0055117421 0.0026174832 0.0053302938 + 980400 0.0058534693 0.0025608534 0.0054418578 + 980500 0.0057978676 0.0021891361 0.0050427741 + 980600 0.0044253449 0.0021351924 0.0043132919 + 980700 0.0043456794 0.0022010256 0.0043399147 + 980800 0.0056947785 0.0020800787 0.0048829775 + 980900 0.0048152358 0.001968839 0.0043388378 + 981000 0.0029653224 0.002164821 0.0036243156 + 981100 0.0040486421 0.0023118002 0.0043044912 + 981200 0.0045338017 0.0024766984 0.0047081789 + 981300 0.0046008279 0.0023761418 0.0046406118 + 981400 0.0056993449 0.0023749512 0.0051800975 + 981500 0.0054130928 0.002659066 0.0053233226 + 981600 0.005610702 0.0026451966 0.005406714 + 981700 0.0045894496 0.0028323961 0.0050912659 + 981800 0.0063038393 0.0026143064 0.0057169773 + 981900 0.0050714527 0.0026284386 0.0051245442 + 982000 0.0041796551 0.0021776633 0.0042348373 + 982100 0.0043339387 0.0019022954 0.0040354059 + 982200 0.0043746088 0.0023569466 0.0045100743 + 982300 0.0040782177 0.0025824333 0.0045896811 + 982400 0.0045632306 0.0023712852 0.0046172503 + 982500 0.0049301252 0.0021066786 0.0045332246 + 982600 0.0036209218 0.0022648047 0.0040469771 + 982700 0.0033353884 0.0021042753 0.0037459118 + 982800 0.0045760063 0.0019367141 0.0041889672 + 982900 0.0050377889 0.0019743714 0.0044539081 + 983000 0.0042943915 0.0020259614 0.0041396073 + 983100 0.0052937197 0.002134796 0.0047402987 + 983200 0.0056382139 0.0021933519 0.0049684103 + 983300 0.0053333703 0.0022857977 0.0049108159 + 983400 0.0069554299 0.0020510222 0.0054743979 + 983500 0.0056814687 0.0023336303 0.0051299782 + 983600 0.0052359144 0.0025928945 0.0051699461 + 983700 0.0053388082 0.0023695764 0.0049972711 + 983800 0.0047616257 0.0023042835 0.0046478961 + 983900 0.0046452937 0.0024219967 0.0047083522 + 984000 0.0040258955 0.0025652991 0.0045467945 + 984100 0.0041818839 0.0026859109 0.0047441819 + 984200 0.0042180805 0.0022511493 0.0043272358 + 984300 0.0047444256 0.0017922791 0.004127426 + 984400 0.0047754173 0.0022868123 0.004637213 + 984500 0.0050065817 0.0025157426 0.0049799195 + 984600 0.0040293114 0.0025699096 0.0045530863 + 984700 0.0066311489 0.0022045242 0.0054682928 + 984800 0.0047586844 0.0020744293 0.0044165942 + 984900 0.0040522337 0.002212741 0.0042071998 + 985000 0.0043877025 0.0023442663 0.0045038386 + 985100 0.0047194088 0.0024219322 0.0047447662 + 985200 0.0050078776 0.0027892304 0.0052540452 + 985300 0.0064805713 0.003028348 0.0062180042 + 985400 0.0050827564 0.0026706738 0.005172343 + 985500 0.0072465769 0.0018527453 0.0054194199 + 985600 0.0058564897 0.001726072 0.004608563 + 985700 0.0041509868 0.0019787873 0.0040218511 + 985800 0.0051875305 0.0022633469 0.0048165846 + 985900 0.0044728751 0.0026456499 0.0048471432 + 986000 0.0036312795 0.0029691821 0.0047564525 + 986100 0.0053595988 0.0027197938 0.0053577213 + 986200 0.0055906173 0.0021037715 0.0048554035 + 986300 0.0047186748 0.0016520983 0.0039745711 + 986400 0.0058123615 0.0017820438 0.0046428155 + 986500 0.0066101727 0.0016947645 0.0049482088 + 986600 0.0036669052 0.0018614828 0.0036662877 + 986700 0.0052426282 0.002364853 0.0049452091 + 986800 0.0047556773 0.0024987693 0.0048394542 + 986900 0.0043722851 0.0020883044 0.0042402884 + 987000 0.0058560623 0.0018318586 0.0047141393 + 987100 0.0046471891 0.0022574238 0.0045447122 + 987200 0.005769302 0.0023883314 0.0052279097 + 987300 0.005340578 0.00297314 0.0056017057 + 987400 0.0041984966 0.0030720457 0.0051384932 + 987500 0.0055734875 0.0030758856 0.0058190865 + 987600 0.0049103416 0.0029534745 0.0053702833 + 987700 0.0045587859 0.0030990145 0.005342792 + 987800 0.0066957473 0.0027528671 0.0060484302 + 987900 0.0056831183 0.0021810314 0.0049781912 + 988000 0.0045077179 0.0024094969 0.0046281393 + 988100 0.0062549101 0.002726276 0.0058048646 + 988200 0.0068147466 0.0029799176 0.0063340507 + 988300 0.0052853542 0.0027561071 0.0053574924 + 988400 0.0046311802 0.0026079829 0.0048873919 + 988500 0.0046459606 0.0026749404 0.0049616242 + 988600 0.0059728465 0.0023656494 0.0053054098 + 988700 0.0049717089 0.0021957331 0.004642746 + 988800 0.0047747132 0.0022157475 0.0045658016 + 988900 0.0042181843 0.002401465 0.0044776026 + 989000 0.0047821828 0.0028397489 0.0051934795 + 989100 0.0053718057 0.002497782 0.0051417176 + 989200 0.0066377755 0.0021378332 0.0054048634 + 989300 0.0060905417 0.0022763824 0.0052740709 + 989400 0.0037452542 0.0021602432 0.0040036105 + 989500 0.0043685903 0.0022350323 0.0043851978 + 989600 0.0069068776 0.0022565415 0.0056560203 + 989700 0.0046816061 0.0027092837 0.0050135117 + 989800 0.00490818 0.0027726734 0.0051884183 + 989900 0.0043398336 0.0024285008 0.0045645126 + 990000 0.0069544621 0.0022539892 0.0056768885 + 990100 0.003624218 0.0024782567 0.0042620515 + 990200 0.0066288969 0.0028806224 0.0061432826 + 990300 0.0069195306 0.0027260589 0.0061317654 + 990400 0.0054687046 0.0029015494 0.0055931774 + 990500 0.005405137 0.0031001144 0.0057604552 + 990600 0.0060387136 0.0029450032 0.0059171826 + 990700 0.0059216057 0.0036512444 0.0065657847 + 990800 0.0058546676 0.0038843742 0.0067659684 + 990900 0.0056179445 0.0035174389 0.006282521 + 991000 0.0047503494 0.0029900174 0.00532808 + 991100 0.0056318629 0.0027035374 0.0054754699 + 991200 0.0052598092 0.002498335 0.0050871473 + 991300 0.0033715191 0.0023957363 0.0040551559 + 991400 0.0050440027 0.0023087044 0.0047912995 + 991500 0.0044482628 0.0023793485 0.0045687279 + 991600 0.0032028784 0.002523457 0.0040998737 + 991700 0.0049485832 0.0019852062 0.004420837 + 991800 0.0056996799 0.0016747567 0.0044800679 + 991900 0.0041014305 0.0021716022 0.004190275 + 992000 0.0063350615 0.0020193899 0.005137428 + 992100 0.004976477 0.0020866343 0.004535994 + 992200 0.0049413425 0.0018221806 0.0042542476 + 992300 0.0047170725 0.0016484546 0.0039701387 + 992400 0.0042431954 0.0017753624 0.0038638101 + 992500 0.004570868 0.002151285 0.0044010091 + 992600 0.0047171369 0.0024519763 0.0047736922 + 992700 0.0052287214 0.0025553304 0.0051288417 + 992800 0.0066636663 0.0020834451 0.0053632184 + 992900 0.0038725765 0.0020896936 0.0039957273 + 993000 0.0040123605 0.0021346996 0.0041095333 + 993100 0.005667179 0.0023106654 0.0050999801 + 993200 0.005458508 0.0024129144 0.0050995238 + 993300 0.0045746999 0.0023087006 0.0045603106 + 993400 0.0045178636 0.0021612608 0.0043848968 + 993500 0.0043224283 0.0022167168 0.004344162 + 993600 0.0045043539 0.0021878761 0.0044048628 + 993700 0.0058663594 0.0021263902 0.0050137389 + 993800 0.0055741808 0.0023690888 0.0051126309 + 993900 0.0044862602 0.0025900667 0.0047981479 + 994000 0.0066439917 0.0022507587 0.0055208484 + 994100 0.0041967791 0.0020804078 0.00414601 + 994200 0.0054912069 0.001927211 0.0046299144 + 994300 0.0051995124 0.0020930127 0.0046521477 + 994400 0.0040071081 0.0024384396 0.0044106882 + 994500 0.0049260802 0.0023990951 0.0048236502 + 994600 0.0064031087 0.0026113315 0.0057628615 + 994700 0.0067609024 0.0024949952 0.0058226268 + 994800 0.0043920228 0.0028643466 0.0050260453 + 994900 0.005128719 0.002999845 0.0055241364 + 995000 0.0046327629 0.0029911327 0.0052713207 + 995100 0.0041598878 0.0028300294 0.0048774741 + 995200 0.0047627074 0.0024182285 0.0047623736 + 995300 0.0061863427 0.0025083093 0.0055531499 + 995400 0.0037393553 0.0033186768 0.0051591408 + 995500 0.0050329205 0.0035142706 0.0059914111 + 995600 0.0060284058 0.0028443355 0.0058114415 + 995700 0.0047874711 0.0024486666 0.004805 + 995800 0.0042591236 0.0024370641 0.0045333515 + 995900 0.0055620273 0.0022726227 0.005010183 + 996000 0.005385517 0.0021813918 0.004832076 + 996100 0.0036977244 0.0024519957 0.0042719695 + 996200 0.0049012424 0.0026396055 0.0050519357 + 996300 0.0066092072 0.0022052398 0.005458209 + 996400 0.0054576964 0.0019726874 0.0046588973 + 996500 0.0046304117 0.0026276713 0.0049067021 + 996600 0.006361277 0.0025277726 0.0056587137 + 996700 0.0061761539 0.0026615286 0.0057013544 + 996800 0.0063618554 0.002861389 0.0059926147 + 996900 0.0044350199 0.0029396208 0.0051224821 + 997000 0.0064446301 0.003154206 0.0063261724 + 997100 0.0061720505 0.003261819 0.0062996251 + 997200 0.0069770107 0.0034193368 0.0068533343 + 997300 0.0063646032 0.00355161 0.0066841881 + 997400 0.003787801 0.0031669672 0.0050312755 + 997500 0.0046285794 0.0028086618 0.0050867908 + 997600 0.0054970574 0.0028917883 0.0055973712 + 997700 0.0046989528 0.003231901 0.0055446669 + 997800 0.0045025204 0.003176973 0.0053930572 + 997900 0.0049197127 0.0033125007 0.0057339218 + 998000 0.0053014456 0.0033725734 0.0059818786 + 998100 0.0056266485 0.0030373836 0.0058067496 + 998200 0.0063411088 0.0028264742 0.0059474887 + 998300 0.003737419 0.0024761208 0.0043156317 + 998400 0.0053751435 0.0023075905 0.004953169 + 998500 0.0047116107 0.0025685752 0.0048875711 + 998600 0.0049634078 0.0026877375 0.0051306648 + 998700 0.0046450477 0.0023514683 0.0046377027 + 998800 0.0055964607 0.002087633 0.004842141 + 998900 0.0043958493 0.0019594316 0.0041230137 + 999000 0.0044517957 0.0019771562 0.0041682744 + 999100 0.0053311029 0.0021296631 0.0047535653 + 999200 0.0055097537 0.0023279157 0.0050397476 + 999300 0.004760601 0.0030707458 0.0054138541 + 999400 0.0056533655 0.0026483438 0.0054308596 + 999500 0.0044695981 0.0023121902 0.0045120705 + 999600 0.0037290837 0.0025775742 0.0044129826 + 999700 0.0042972643 0.0027132524 0.0048283122 + 999800 0.0036132133 0.0025116103 0.0042899887 + 999900 0.0057246924 0.0022913205 0.0051089426 + 1000000 0.0056460263 0.0023395355 0.0051184391 + 1000100 0.0055925972 0.0025469812 0.0052995876 + 1000200 0.0049404491 0.002321484 0.0047531113 + 1000300 0.0054957555 0.0022888156 0.0049937578 + 1000400 0.0046862982 0.0021826163 0.0044891537 + 1000500 0.0037980366 0.0025190111 0.0043883573 + 1000600 0.0047866591 0.0025732813 0.004929215 + 1000700 0.0041300225 0.0025274855 0.004560231 + 1000800 0.0039164373 0.0028742943 0.0048019158 + 1000900 0.0054213217 0.0026365205 0.0053048272 + 1001000 0.0055433366 0.0027732863 0.0055016473 + 1001100 0.0047810859 0.0031906429 0.0055438336 + 1001200 0.0054012041 0.0028428434 0.0055012486 + 1001300 0.0052415762 0.002150741 0.0047305793 + 1001400 0.0044536038 0.0022164367 0.0044084448 + 1001500 0.0090839552 0.0022883312 0.0067593404 + 1001600 0.0060289464 0.002254895 0.005222267 + 1001700 0.004808016 0.0029290838 0.0052955292 + 1001800 0.0066931606 0.0030378049 0.0063320949 + 1001900 0.0072971659 0.0022743284 0.0058659022 + 1002000 0.0052141929 0.0024361955 0.005002556 + 1002100 0.0045579305 0.0029278932 0.0051712496 + 1002200 0.004027045 0.0025954366 0.0045774978 + 1002300 0.0038366619 0.0025258411 0.0044141981 + 1002400 0.004892441 0.0022978236 0.0047058219 + 1002500 0.0051598819 0.0022536903 0.0047933197 + 1002600 0.0054597833 0.002205033 0.0048922701 + 1002700 0.0063493283 0.0021952269 0.0053202869 + 1002800 0.0045402255 0.0021480357 0.004382678 + 1002900 0.0042396971 0.0024238819 0.0045106078 + 1003000 0.0034689584 0.0024635573 0.0041709353 + 1003100 0.0042858918 0.0023220502 0.0044315126 + 1003200 0.0061034048 0.0023044817 0.0053085012 + 1003300 0.0039023206 0.0025276932 0.0044483667 + 1003400 0.0045827387 0.0024600243 0.004715591 + 1003500 0.0052577672 0.0026563215 0.0052441288 + 1003600 0.0039052656 0.002845093 0.0047672159 + 1003700 0.0055635868 0.0024214113 0.0051597392 + 1003800 0.0045321932 0.0023714378 0.0046021266 + 1003900 0.0060495599 0.0022254556 0.0052029734 + 1004000 0.005878573 0.0018478455 0.0047412057 + 1004100 0.0051935743 0.0018609558 0.0044171681 + 1004200 0.0039750285 0.0019441779 0.0039006373 + 1004300 0.0051701754 0.0020535639 0.0045982596 + 1004400 0.0041768503 0.0021855518 0.0042413453 + 1004500 0.0049735822 0.0020513392 0.0044992742 + 1004600 0.0045107956 0.0023109299 0.0045310871 + 1004700 0.0052150484 0.0024771721 0.0050439538 + 1004800 0.004797247 0.0024644966 0.0048256416 + 1004900 0.0066434817 0.0023848305 0.0056546691 + 1005000 0.0049735537 0.0029804031 0.0054283241 + 1005100 0.0049326833 0.0029300963 0.0053579013 + 1005200 0.0047033198 0.0030759027 0.0053908179 + 1005300 0.005377862 0.0027275664 0.0053744829 + 1005400 0.0046481151 0.0027200572 0.0050078014 + 1005500 0.0050095914 0.0027808697 0.0052465279 + 1005600 0.0058203327 0.0026450922 0.0055097872 + 1005700 0.0044990729 0.0030670383 0.0052814257 + 1005800 0.00471133 0.0033806322 0.0056994899 + 1005900 0.0054468085 0.0029076273 0.0055884784 + 1006000 0.0066365579 0.0024329113 0.0056993421 + 1006100 0.0061112237 0.0021582131 0.005166081 + 1006200 0.0050375063 0.0020974781 0.0045768757 + 1006300 0.006214733 0.0021794305 0.0052382444 + 1006400 0.0051363281 0.0023407516 0.004868788 + 1006500 0.0063977697 0.002087327 0.0052362293 + 1006600 0.0052450373 0.002214863 0.0047964048 + 1006700 0.0045021858 0.0025157918 0.0047317114 + 1006800 0.00640584 0.0020166602 0.0051695346 + 1006900 0.0046386971 0.0020043477 0.0042874564 + 1007000 0.0052009765 0.0021094924 0.004669348 + 1007100 0.0044833914 0.0026257176 0.0048323868 + 1007200 0.0047693876 0.0026738145 0.0050212474 + 1007300 0.0050582544 0.0029430705 0.0054326801 + 1007400 0.0053537263 0.003070521 0.0057055582 + 1007500 0.0056470207 0.0027410876 0.0055204806 + 1007600 0.0060484161 0.0027151647 0.0056921195 + 1007700 0.0064279864 0.0025495891 0.0057133637 + 1007800 0.005664372 0.0029086173 0.0056965504 + 1007900 0.006264195 0.0030758331 0.0061589915 + 1008000 0.005047561 0.002678869 0.0051632154 + 1008100 0.0047047593 0.0029555783 0.005271202 + 1008200 0.0050279474 0.0032566603 0.0057313532 + 1008300 0.0043459602 0.0030469507 0.005185978 + 1008400 0.0044912988 0.0026299113 0.0048404724 + 1008500 0.0046034076 0.0023590584 0.0046247981 + 1008600 0.0049719661 0.0026203384 0.005067478 + 1008700 0.0045239408 0.0022576156 0.0044842427 + 1008800 0.0048960588 0.0021032399 0.0045130188 + 1008900 0.0056016537 0.0020386298 0.0047956937 + 1009000 0.0052307197 0.0021401789 0.0047146737 + 1009100 0.0038945398 0.0021638606 0.0040807044 + 1009200 0.0055867154 0.0020401487 0.0047898601 + 1009300 0.0039606007 0.0022601655 0.0042095237 + 1009400 0.0046665152 0.0025774366 0.004874237 + 1009500 0.0038493457 0.0026096636 0.0045042635 + 1009600 0.0047686705 0.0022906869 0.0046377669 + 1009700 0.003422839 0.0026168221 0.0043015007 + 1009800 0.0043868918 0.0023785341 0.0045377074 + 1009900 0.0044431887 0.0021734503 0.0043603322 + 1010000 0.004982549 0.0022031208 0.0046554691 + 1010100 0.0045963734 0.0022073422 0.0044696197 + 1010200 0.0047870851 0.0026913638 0.0050475072 + 1010300 0.0053647354 0.0028038627 0.0054443184 + 1010400 0.005608622 0.0025437515 0.0053042452 + 1010500 0.0049488301 0.0020356942 0.0044714465 + 1010600 0.0044432401 0.0018759504 0.0040628577 + 1010700 0.0050949186 0.0019258416 0.0044334969 + 1010800 0.0061712835 0.0019990447 0.0050364733 + 1010900 0.003973647 0.0022901128 0.0042458922 + 1011000 0.0041232887 0.0023360449 0.004365476 + 1011100 0.0063822151 0.0023583906 0.005499637 + 1011200 0.0043137382 0.0024890332 0.0046122012 + 1011300 0.0065759485 0.0022779248 0.0055145244 + 1011400 0.0063608752 0.0023077078 0.0054384511 + 1011500 0.0045697116 0.0026429442 0.0048920991 + 1011600 0.0060195287 0.0024735057 0.0054362425 + 1011700 0.0061936993 0.0026793061 0.0057277675 + 1011800 0.0051055855 0.0024514962 0.0049644015 + 1011900 0.0071199242 0.0025240351 0.0060283728 + 1012000 0.0054640925 0.0029037924 0.0055931505 + 1012100 0.0056327508 0.0027148393 0.0054872088 + 1012200 0.0045772432 0.0024595027 0.0047123646 + 1012300 0.0049687731 0.0022664609 0.0047120289 + 1012400 0.0053170161 0.0024294649 0.0050464337 + 1012500 0.0041548385 0.0021781115 0.0042230711 + 1012600 0.0074842286 0.0017828361 0.0054664798 + 1012700 0.0055591688 0.0026313289 0.0053674823 + 1012800 0.0071579766 0.0029887313 0.0065117979 + 1012900 0.0052912295 0.0027163137 0.0053205907 + 1013000 0.0043067221 0.0026354253 0.0047551401 + 1013100 0.0049634332 0.0031198179 0.0055627576 + 1013200 0.0044245604 0.0032035239 0.0053812372 + 1013300 0.0053686334 0.0029911603 0.0056335345 + 1013400 0.0074941349 0.0031623933 0.0068509128 + 1013500 0.0052407188 0.0028572022 0.0054366185 + 1013600 0.0069862984 0.0022736861 0.0057122549 + 1013700 0.006895488 0.0021934615 0.0055873345 + 1013800 0.0042190758 0.0023383858 0.0044149621 + 1013900 0.0052714821 0.002461343 0.0050559006 + 1014000 0.0051893648 0.0025186639 0.0050728044 + 1014100 0.0034648094 0.0033059024 0.0050112383 + 1014200 0.0054156946 0.003495732 0.0061612691 + 1014300 0.0066456565 0.0028781187 0.0061490277 + 1014400 0.0056414451 0.0031596938 0.0059363426 + 1014500 0.0053655242 0.0032750266 0.0059158706 + 1014600 0.0067668484 0.0028596963 0.0061902545 + 1014700 0.004855123 0.0025514308 0.0049410616 + 1014800 0.0039045587 0.0025898877 0.0045116627 + 1014900 0.0039530411 0.0025041728 0.0044498103 + 1015000 0.0052164742 0.0025878275 0.0051553109 + 1015100 0.0037975422 0.0022417212 0.004110824 + 1015200 0.0059088556 0.0022527878 0.0051610526 + 1015300 0.0044214116 0.002366024 0.0045421875 + 1015400 0.0037317535 0.0027976996 0.004634422 + 1015500 0.0056334429 0.0024407041 0.0052134142 + 1015600 0.0047252401 0.0027632169 0.005088921 + 1015700 0.0048131246 0.0028550838 0.0052240436 + 1015800 0.0039696199 0.0026109567 0.004564754 + 1015900 0.0052833784 0.0025924449 0.0051928577 + 1016000 0.0040654035 0.0028735682 0.0048745089 + 1016100 0.0040838074 0.0028431033 0.0048531022 + 1016200 0.007055341 0.0028789506 0.0063515012 + 1016300 0.0065955547 0.0027295654 0.005975815 + 1016400 0.0063679265 0.0026007381 0.0057349519 + 1016500 0.0035261923 0.0032998354 0.0050353832 + 1016600 0.00565319 0.0033438681 0.0061262976 + 1016700 0.0051877016 0.0034282309 0.0059815527 + 1016800 0.0045822119 0.0032877188 0.0055430262 + 1016900 0.0052128882 0.0028161425 0.0053818609 + 1017000 0.0061094799 0.0022271491 0.0052341588 + 1017100 0.0048128522 0.0021643862 0.0045332119 + 1017200 0.0041341478 0.0023965775 0.0044313534 + 1017300 0.004861161 0.0030056504 0.0053982531 + 1017400 0.0043091835 0.0025107886 0.0046317148 + 1017500 0.0064074082 0.0021442245 0.0052978707 + 1017600 0.0041004166 0.0024507208 0.0044688946 + 1017700 0.0046147676 0.0021990114 0.0044703424 + 1017800 0.0062978426 0.0019078119 0.0050075313 + 1017900 0.0039308586 0.0022156637 0.0041503832 + 1018000 0.0042533743 0.0025879166 0.0046813742 + 1018100 0.0060273296 0.0019700983 0.0049366746 + 1018200 0.0052618879 0.0022546608 0.0048444962 + 1018300 0.0058727698 0.0022800978 0.0051706017 + 1018400 0.0050656894 0.0023928571 0.0048861261 + 1018500 0.0049474227 0.0025969853 0.0050320449 + 1018600 0.006753281 0.0029732748 0.0062971553 + 1018700 0.0067815896 0.0026340429 0.0059718566 + 1018800 0.0051700244 0.0022675786 0.0048122 + 1018900 0.0040301288 0.0021687977 0.0041523767 + 1019000 0.0039022649 0.0024709112 0.0043915572 + 1019100 0.0041957549 0.0023506926 0.0044157907 + 1019200 0.0064048561 0.002129576 0.0052819661 + 1019300 0.0036714477 0.0023579966 0.0041650373 + 1019400 0.004949139 0.0021320484 0.0045679527 + 1019500 0.0039555393 0.0018034412 0.0037503082 + 1019600 0.0039237387 0.0018747247 0.0038059398 + 1019700 0.0058459751 0.0023337152 0.0052110311 + 1019800 0.0030055574 0.002700978 0.0041802758 + 1019900 0.0045948385 0.0026562661 0.0049177882 + 1020000 0.0037442323 0.0028082915 0.0046511558 + 1020100 0.0050822173 0.0023297736 0.0048311774 + 1020200 0.0047431634 0.0021846878 0.0045192135 + 1020300 0.0048174068 0.0020707747 0.0044418421 + 1020400 0.0052878167 0.0021668599 0.0047694572 + 1020500 0.0046586105 0.0021630136 0.0044559235 + 1020600 0.0041115518 0.0021562598 0.0041799142 + 1020700 0.0070692603 0.0021471224 0.005626524 + 1020800 0.0049966096 0.0020732028 0.0045324716 + 1020900 0.0057126558 0.0018681623 0.0046798601 + 1021000 0.0054867353 0.002212568 0.0049130705 + 1021100 0.0031660929 0.0024306364 0.0039889478 + 1021200 0.0046211302 0.0023213505 0.004595813 + 1021300 0.0051739286 0.0021331967 0.0046797396 + 1021400 0.0066759471 0.0020019665 0.0052877843 + 1021500 0.0055615571 0.0022180374 0.0049553663 + 1021600 0.0048452217 0.0022480855 0.004632843 + 1021700 0.0049729257 0.0019979276 0.0044455395 + 1021800 0.0056743075 0.0020786042 0.0048714274 + 1021900 0.0035081707 0.0027023469 0.0044290247 + 1022000 0.0042483712 0.0024500584 0.0045410536 + 1022100 0.0054522015 0.0019163385 0.0045998439 + 1022200 0.0051889018 0.001945688 0.0044996006 + 1022300 0.0056453622 0.0025589467 0.0053375234 + 1022400 0.0052698463 0.0028181365 0.005411889 + 1022500 0.0037795005 0.0031166408 0.0049768637 + 1022600 0.0048316383 0.0027854127 0.0051634847 + 1022700 0.0050223218 0.0026125368 0.0050844608 + 1022800 0.004507058 0.0026040657 0.0048223833 + 1022900 0.0039695077 0.0022136965 0.0041674385 + 1023000 0.0055012884 0.0019982476 0.004705913 + 1023100 0.0031998583 0.0021423046 0.0037172349 + 1023200 0.0030743204 0.0021726006 0.0036857427 + 1023300 0.0045831944 0.001844792 0.0041005831 + 1023400 0.0035512706 0.0018087445 0.0035566355 + 1023500 0.0043856175 0.0016421703 0.0038007165 + 1023600 0.0047541206 0.0015588046 0.0038987233 + 1023700 0.005342409 0.0019806762 0.0046101431 + 1023800 0.0052089716 0.0024834254 0.0050472161 + 1023900 0.0051995455 0.0029949422 0.0055540935 + 1024000 0.0056098248 0.0030495287 0.0058106144 + 1024100 0.0056642534 0.0025572257 0.0053451004 + 1024200 0.0046282702 0.0024859596 0.0047639363 + 1024300 0.0040953808 0.0025336156 0.0045493108 + 1024400 0.004206298 0.0023734888 0.0044437761 + 1024500 0.0046211817 0.002417612 0.0046920999 + 1024600 0.0056735951 0.0023509242 0.0051433968 + 1024700 0.0054664077 0.0019450977 0.0046355952 + 1024800 0.0046590403 0.0021779678 0.0044710892 + 1024900 0.0065578161 0.0021859776 0.0054136527 + 1025000 0.0039042053 0.0022559555 0.0041775565 + 1025100 0.0058996046 0.0024532852 0.0053569968 + 1025200 0.0058789711 0.0023141485 0.0052077046 + 1025300 0.003353529 0.0028383109 0.0044888759 + 1025400 0.00428017 0.0027336024 0.0048402486 + 1025500 0.0052123803 0.0026358664 0.0052013348 + 1025600 0.0041789987 0.0023090152 0.0043658661 + 1025700 0.0029325475 0.002124299 0.0035676622 + 1025800 0.0036000024 0.0020680759 0.0038399521 + 1025900 0.0043034191 0.002531819 0.0046499081 + 1026000 0.0068327855 0.0027075529 0.0060705645 + 1026100 0.0045502651 0.0027166403 0.0049562239 + 1026200 0.0060979761 0.0026784401 0.0056797877 + 1026300 0.0038960402 0.0027433396 0.0046609219 + 1026400 0.0041401031 0.002529271 0.004566978 + 1026500 0.0053055982 0.0025591734 0.0051705226 + 1026600 0.0043658678 0.0023006977 0.0044495233 + 1026700 0.0039513916 0.0023675073 0.0043123328 + 1026800 0.0069903036 0.0027282405 0.0061687806 + 1026900 0.0057826378 0.0032537872 0.0060999292 + 1027000 0.0057596853 0.0026638181 0.0054986632 + 1027100 0.005701483 0.002278483 0.0050846817 + 1027200 0.0061633312 0.0020357238 0.0050692383 + 1027300 0.003532871 0.0024438422 0.0041826771 + 1027400 0.0055014258 0.0022205979 0.0049283309 + 1027500 0.0046229601 0.0019521677 0.0042275309 + 1027600 0.006989442 0.0016118572 0.0050519732 + 1027700 0.0049635506 0.0019589396 0.0044019371 + 1027800 0.0056758478 0.0028576428 0.0056512242 + 1027900 0.00327597 0.003041804 0.0046541955 + 1028000 0.0037628282 0.0027102062 0.0045622232 + 1028100 0.0052724157 0.0027003378 0.0052953549 + 1028200 0.006080691 0.0028126407 0.0058054808 + 1028300 0.0065649944 0.0028255554 0.0060567635 + 1028400 0.0050121108 0.0033382707 0.005805169 + 1028500 0.0056826092 0.0032084631 0.0060053723 + 1028600 0.0042002579 0.002694079 0.0047613934 + 1028700 0.0066834895 0.002258917 0.005548447 + 1028800 0.0045922851 0.0022420059 0.0045022713 + 1028900 0.0048712045 0.0025183997 0.0049159457 + 1029000 0.0052646881 0.0033633473 0.005954561 + 1029100 0.0048625918 0.0029534062 0.0053467131 + 1029200 0.0057014379 0.0026375615 0.005443738 + 1029300 0.0048608271 0.0025414757 0.0049339141 + 1029400 0.0051651592 0.0023982954 0.0049405221 + 1029500 0.0045357622 0.0021540142 0.0043864597 + 1029600 0.0054649613 0.0019855178 0.0046753034 + 1029700 0.0046980766 0.0023724499 0.0046847845 + 1029800 0.0040914081 0.0030789948 0.0050927347 + 1029900 0.0047981622 0.0031598229 0.0055214184 + 1030000 0.0058612544 0.002776013 0.0056608491 + 1030100 0.0064202814 0.0024708739 0.0056308561 + 1030200 0.0050861532 0.0020215724 0.0045249134 + 1030300 0.0067062245 0.0018720248 0.0051727447 + 1030400 0.0049224867 0.0021800762 0.0046028626 + 1030500 0.0041215173 0.0022080898 0.0042366491 + 1030600 0.0041207036 0.0022127356 0.0042408944 + 1030700 0.0068400848 0.0023983496 0.0057649539 + 1030800 0.0044528346 0.0027687749 0.0049604045 + 1030900 0.0070479509 0.0023833474 0.0058522607 + 1031000 0.0049759289 0.0024377004 0.0048867904 + 1031100 0.0032327895 0.0028998531 0.0044909917 + 1031200 0.0048615806 0.0032685191 0.0056613283 + 1031300 0.005370078 0.0026277545 0.0052708398 + 1031400 0.0060750751 0.0021748115 0.0051648875 + 1031500 0.005379745 0.0017666943 0.0044145376 + 1031600 0.0045140212 0.0017730508 0.0039947956 + 1031700 0.0043665694 0.0020032745 0.0041524453 + 1031800 0.0041726974 0.0025691982 0.0046229477 + 1031900 0.0050521332 0.0026458068 0.0051324036 + 1032000 0.0053705352 0.0025099068 0.0051532171 + 1032100 0.007654016 0.0024031304 0.0061703413 + 1032200 0.0040749908 0.0025051007 0.0045107602 + 1032300 0.0046165709 0.0022078209 0.0044800394 + 1032400 0.0036751055 0.0020709356 0.0038797766 + 1032500 0.0033839086 0.0021195431 0.0037850606 + 1032600 0.0051066616 0.0021381895 0.0046516245 + 1032700 0.0050656637 0.0021250325 0.0046182889 + 1032800 0.0040431094 0.0025213176 0.0045112855 + 1032900 0.0066792729 0.0020981347 0.0053855893 + 1033000 0.004824984 0.0025398143 0.0049146111 + 1033100 0.0048996561 0.0025738096 0.0049853591 + 1033200 0.0050806143 0.0020029674 0.0045035822 + 1033300 0.0046642364 0.0018067472 0.004102426 + 1033400 0.0040403936 0.0016397664 0.0036283976 + 1033500 0.0053939136 0.0018843594 0.0045391763 + 1033600 0.005484246 0.0020506463 0.0047499236 + 1033700 0.0036159886 0.0020227503 0.0038024947 + 1033800 0.0050148351 0.0022406347 0.0047088738 + 1033900 0.0047444928 0.002296645 0.0046318251 + 1034000 0.0050312986 0.0027366299 0.0052129722 + 1034100 0.0063589272 0.0030381955 0.00616798 + 1034200 0.0067236977 0.0023092184 0.0056185384 + 1034300 0.0049680327 0.0026865028 0.0051317064 + 1034400 0.0051523917 0.0027076268 0.0052435695 + 1034500 0.0041234999 0.0024502128 0.0044797479 + 1034600 0.0061890826 0.0024552299 0.0055014189 + 1034700 0.0064972983 0.002343888 0.005541777 + 1034800 0.0050713399 0.0022881858 0.0047842359 + 1034900 0.0057461717 0.0024244137 0.0052526076 + 1035000 0.0034326384 0.0027770791 0.0044665808 + 1035100 0.0055798365 0.0024750063 0.0052213321 + 1035200 0.0056296425 0.0023080801 0.0050789198 + 1035300 0.0043531282 0.0019049271 0.0040474823 + 1035400 0.0043662512 0.0017353607 0.0038843749 + 1035500 0.0051634335 0.0016711893 0.0042125667 + 1035600 0.0048670405 0.0017633646 0.0041588611 + 1035700 0.0042291318 0.0020773239 0.0041588497 + 1035800 0.0045279649 0.0020359836 0.0042645913 + 1035900 0.0038965146 0.002398115 0.0043159307 + 1036000 0.0031336769 0.0027202013 0.0042625579 + 1036100 0.0042775167 0.0029523849 0.0050577251 + 1036200 0.00486144 0.0024360053 0.0048287453 + 1036300 0.0047166622 0.0024865987 0.0048080808 + 1036400 0.0038127293 0.0030536732 0.0049302509 + 1036500 0.0075581794 0.0028831116 0.006603153 + 1036600 0.0061946015 0.0031505143 0.0061994198 + 1036700 0.0067447053 0.0032815784 0.006601238 + 1036800 0.0034089842 0.0033389783 0.0050168377 + 1036900 0.0061686821 0.0027241569 0.0057603051 + 1037000 0.006077241 0.0019963662 0.0049875082 + 1037100 0.0039250741 0.0025042577 0.0044361301 + 1037200 0.0035140072 0.0030047125 0.0047342629 + 1037300 0.0029208577 0.0033796455 0.0048172552 + 1037400 0.0032743346 0.0031189712 0.0047305578 + 1037500 0.0050406973 0.0027320608 0.005213029 + 1037600 0.0057236087 0.0024500467 0.0052671354 + 1037700 0.0048327434 0.0025967861 0.004975402 + 1037800 0.0047829972 0.0028708018 0.0052249333 + 1037900 0.0047536848 0.0026018532 0.0049415574 + 1038000 0.0051140073 0.0025934792 0.0051105297 + 1038100 0.0049294402 0.0019130294 0.0043392383 + 1038200 0.0042351704 0.0021029265 0.0041874245 + 1038300 0.0040168887 0.0021304997 0.0041075621 + 1038400 0.0059694792 0.0019527881 0.0048908911 + 1038500 0.0043211159 0.0020289906 0.0041557898 + 1038600 0.0048248303 0.0020029572 0.0043776783 + 1038700 0.0058992733 0.0020822776 0.0049858262 + 1038800 0.0052211833 0.0021498538 0.004719655 + 1038900 0.004649293 0.0024529093 0.0047412332 + 1039000 0.0039990718 0.0029562236 0.0049245167 + 1039100 0.0042098056 0.0028912042 0.0049632179 + 1039200 0.0050850596 0.0025319277 0.0050347305 + 1039300 0.0045152753 0.0023520479 0.00457441 + 1039400 0.0062259963 0.0020046102 0.0050689678 + 1039500 0.0056779939 0.0022651941 0.0050598318 + 1039600 0.0044277367 0.0026782715 0.0048575482 + 1039700 0.0045023155 0.002354273 0.0045702564 + 1039800 0.0043247257 0.002163382 0.0042919579 + 1039900 0.0042062967 0.0022468955 0.0043171822 + 1040000 0.0050778196 0.0022544566 0.004753696 + 1040100 0.0050600155 0.0021103293 0.0046008057 + 1040200 0.0054684698 0.0018513772 0.0045428897 + 1040300 0.0053051289 0.001983815 0.0045949332 + 1040400 0.0044366112 0.0020872667 0.0042709113 + 1040500 0.0054431214 0.0020871011 0.0047661375 + 1040600 0.005470087 0.0021104266 0.0048027351 + 1040700 0.0056049725 0.0023505042 0.0051092016 + 1040800 0.0041774901 0.0026097938 0.0046659022 + 1040900 0.0051490801 0.0026461129 0.0051804257 + 1041000 0.004636891 0.002916294 0.0051985138 + 1041100 0.005797887 0.0028243474 0.0056779949 + 1041200 0.0062323018 0.0029256871 0.0059931481 + 1041300 0.0051272126 0.002661483 0.005185033 + 1041400 0.0049660447 0.0027418935 0.0051861187 + 1041500 0.0063268978 0.0028045148 0.0059185348 + 1041600 0.0032933076 0.002962613 0.0045835378 + 1041700 0.0047449892 0.0024270775 0.0047625019 + 1041800 0.0042863222 0.0020111771 0.0041208513 + 1041900 0.0031221317 0.0022484954 0.0037851696 + 1042000 0.0051021031 0.0021521482 0.0046633396 + 1042100 0.0063941336 0.0020735218 0.0052206345 + 1042200 0.0049537948 0.0022361872 0.0046743831 + 1042300 0.004606095 0.0024272725 0.0046943349 + 1042400 0.0039299391 0.0025002881 0.004434555 + 1042500 0.0061159768 0.0024378667 0.005448074 + 1042600 0.0061582222 0.0025559948 0.0055869949 + 1042700 0.0056590016 0.0028669022 0.005652192 + 1042800 0.0050548371 0.0032235904 0.005711518 + 1042900 0.0046886958 0.0028335908 0.0051413083 + 1043000 0.0053970903 0.0027777278 0.0054341082 + 1043100 0.0048160391 0.0024478811 0.0048182753 + 1043200 0.0051052775 0.0023440728 0.0048568266 + 1043300 0.0041327156 0.0028550155 0.0048890865 + 1043400 0.0042999566 0.0031370727 0.0052534575 + 1043500 0.0048790912 0.0033641257 0.0057655534 + 1043600 0.0056772384 0.0025724774 0.0053667431 + 1043700 0.0052546233 0.0025480548 0.0051343147 + 1043800 0.0066995902 0.0024847741 0.0057822287 + 1043900 0.0049228817 0.0023839181 0.0048068989 + 1044000 0.0038825555 0.0026640037 0.004574949 + 1044100 0.0046232202 0.0025700351 0.0048455263 + 1044200 0.0054467126 0.0023249683 0.0050057722 + 1044300 0.0055569048 0.0022421717 0.0049772108 + 1044400 0.0054774512 0.0022269166 0.0049228496 + 1044500 0.005297665 0.0021177744 0.0047252189 + 1044600 0.004792443 0.0017570498 0.0041158304 + 1044700 0.0043103617 0.0018999688 0.004021475 + 1044800 0.0047607025 0.0020687055 0.0044118637 + 1044900 0.005188426 0.0023009111 0.0048545896 + 1045000 0.0047132412 0.0024222409 0.0047420393 + 1045100 0.0048284502 0.0022050733 0.0045815761 + 1045200 0.0047990478 0.0022127995 0.0045748308 + 1045300 0.0036429103 0.0024676326 0.0042606275 + 1045400 0.0051774784 0.0024435297 0.0049918198 + 1045500 0.003526419 0.0025120435 0.0042477028 + 1045600 0.004052625 0.0024949063 0.0044895576 + 1045700 0.0061855437 0.0019188763 0.0049633236 + 1045800 0.0056353166 0.0023585587 0.0051321911 + 1045900 0.0047320758 0.0025462735 0.0048753421 + 1046000 0.0039974744 0.0022675962 0.0042351032 + 1046100 0.0042089129 0.0021978262 0.0042694005 + 1046200 0.0041472096 0.002726829 0.0047680337 + 1046300 0.0042897623 0.0031143064 0.0052256738 + 1046400 0.0032148421 0.0031788379 0.004761143 + 1046500 0.0060073043 0.0023539846 0.0053107047 + 1046600 0.0059217441 0.0019800292 0.0048946376 + 1046700 0.0070923465 0.001995713 0.0054864773 + 1046800 0.0046101133 0.0021113562 0.0043803963 + 1046900 0.0040281716 0.0021943662 0.0041769819 + 1047000 0.00494774 0.0023237031 0.0047589189 + 1047100 0.0063487124 0.0021444182 0.0052691751 + 1047200 0.0046085803 0.0024751562 0.0047434418 + 1047300 0.0054211418 0.0025821576 0.0052503759 + 1047400 0.0043964793 0.0029702128 0.0051341049 + 1047500 0.0038873134 0.0032882296 0.0052015166 + 1047600 0.0048863502 0.0030063797 0.0054113802 + 1047700 0.0048951105 0.002709894 0.0051192062 + 1047800 0.0041848377 0.0025860244 0.0046457492 + 1047900 0.0048545431 0.0025313172 0.0049206626 + 1048000 0.0045360574 0.002661593 0.0048941837 + 1048100 0.0059789344 0.0024387825 0.0053815393 + 1048200 0.0051828945 0.0021444717 0.0046954275 + 1048300 0.0045380715 0.002409739 0.0046433211 + 1048400 0.0052356153 0.0020703302 0.0046472346 + 1048500 0.0051557175 0.0024810119 0.0050185916 + 1048600 0.0045977536 0.0027847469 0.0050477037 + 1048700 0.0048478097 0.0023566152 0.0047426465 + 1048800 0.0055093782 0.0024929778 0.0052046249 + 1048900 0.0039553153 0.0024438856 0.0043906424 + 1049000 0.0040823259 0.0026089679 0.0046182377 + 1049100 0.0076277943 0.0026128366 0.0063671416 + 1049200 0.0042105489 0.0031028121 0.0051751916 + 1049300 0.0041216467 0.0027669077 0.0047955307 + 1049400 0.0062214385 0.002509011 0.0055711253 + 1049500 0.0054882658 0.0032558477 0.0059571035 + 1049600 0.0057038885 0.0034858542 0.0062932369 + 1049700 0.0041505135 0.003560942 0.0056037729 + 1049800 0.0057747316 0.0037821635 0.0066244142 + 1049900 0.0057856154 0.0032717652 0.0061193727 + 1050000 0.0042047871 0.0024100016 0.0044795452 + 1050100 0.0036964469 0.0024784851 0.0042978301 + 1050200 0.0060601747 0.0028347601 0.0058175023 + 1050300 0.0068647019 0.0030168639 0.0063955844 + 1050400 0.0055108827 0.0032336446 0.0059460322 + 1050500 0.0059029714 0.0031163664 0.0060217351 + 1050600 0.0045831405 0.0034041692 0.0056599336 + 1050700 0.0056225022 0.0028948311 0.0056621564 + 1050800 0.0054385373 0.0034187587 0.0060955387 + 1050900 0.0041420812 0.0034765905 0.0055152711 + 1051000 0.0054202714 0.0033764429 0.0060442327 + 1051100 0.0070931713 0.0029071698 0.00639834 + 1051200 0.0062197505 0.0029072753 0.0059685588 + 1051300 0.005773752 0.0035899535 0.0064317221 + 1051400 0.0053251736 0.0040512836 0.0066722674 + 1051500 0.0060711831 0.0039747321 0.0069628925 + 1051600 0.0050026212 0.0039654476 0.0064276752 + 1051700 0.0054554154 0.0032540198 0.0059391071 + 1051800 0.0062104722 0.0029732962 0.0060300129 + 1051900 0.0050860198 0.0032166721 0.0057199475 + 1052000 0.005618611 0.0033127191 0.0060781292 + 1052100 0.0057510475 0.0031361652 0.0059667589 + 1052200 0.0053800618 0.0028166539 0.0054646531 + 1052300 0.005934636 0.0026446472 0.0055656008 + 1052400 0.0048657105 0.0030668855 0.0054617274 + 1052500 0.0048261271 0.0031663667 0.0055417261 + 1052600 0.0053508985 0.0027302487 0.005363894 + 1052700 0.0043122647 0.0022299637 0.0043524065 + 1052800 0.004156491 0.0021443532 0.0041901261 + 1052900 0.0064610133 0.0019927145 0.0051727445 + 1053000 0.0056900592 0.0021618251 0.0049624011 + 1053100 0.0050738083 0.0023582383 0.0048555034 + 1053200 0.005169665 0.0024546964 0.004999141 + 1053300 0.0048086664 0.0029187332 0.0052854987 + 1053400 0.0068823741 0.0025032829 0.0058907014 + 1053500 0.0062402815 0.0022958385 0.005367227 + 1053600 0.0045801043 0.0026869731 0.0049412432 + 1053700 0.0049426641 0.00290874 0.0053414575 + 1053800 0.0071865543 0.0025369435 0.0060740758 + 1053900 0.0066551745 0.0022308572 0.0055064508 + 1054000 0.0056791594 0.0024123703 0.0052075816 + 1054100 0.0048040372 0.0026697991 0.0050342862 + 1054200 0.0065363305 0.0026876027 0.0059047029 + 1054300 0.0052406243 0.0027342756 0.0053136454 + 1054400 0.0040328958 0.0026811586 0.0046660995 + 1054500 0.0068565851 0.0019411716 0.005315897 + 1054600 0.0061828038 0.0019754481 0.0050185469 + 1054700 0.0057490897 0.0023759729 0.005205603 + 1054800 0.0054780946 0.0025889696 0.0052852193 + 1054900 0.0031630598 0.0028625985 0.004419417 + 1055000 0.0046252846 0.0030009133 0.0052774205 + 1055100 0.0057295902 0.0029710117 0.0057910443 + 1055200 0.0039852723 0.0026451163 0.0046066175 + 1055300 0.0045792635 0.0025946253 0.0048484816 + 1055400 0.0050512772 0.0024243108 0.0049104864 + 1055500 0.0046710081 0.0023984222 0.004697434 + 1055600 0.004064158 0.002640357 0.0046406848 + 1055700 0.0043403858 0.0022113994 0.004347683 + 1055800 0.0047893124 0.0023132678 0.0046705075 + 1055900 0.0049643701 0.0021176158 0.0045610167 + 1056000 0.0050560403 0.0020733767 0.0045618965 + 1056100 0.003822777 0.0024153468 0.0042968699 + 1056200 0.0053453124 0.0024334823 0.0050643782 + 1056300 0.0054654944 0.0023942621 0.0050843101 + 1056400 0.0061418846 0.0019636694 0.0049866283 + 1056500 0.0078055518 0.0020010399 0.0058428349 + 1056600 0.005828319 0.0023465097 0.0052151355 + 1056700 0.0040936119 0.0023131712 0.0043279957 + 1056800 0.0049924181 0.0019591194 0.0044163251 + 1056900 0.0050563712 0.0017106101 0.0041992928 + 1057000 0.0054691798 0.0019355926 0.0046274545 + 1057100 0.0055072846 0.0025524802 0.0052630968 + 1057200 0.0047293493 0.0026997224 0.005027449 + 1057300 0.006766143 0.0022512997 0.0055815106 + 1057400 0.0053911503 0.0024351642 0.0050886209 + 1057500 0.0059934543 0.0032983108 0.0062482141 + 1057600 0.0041526128 0.0032558743 0.0052997384 + 1057700 0.0029271056 0.0027670944 0.0042077792 + 1057800 0.0049712062 0.0023654439 0.0048122094 + 1057900 0.0068825354 0.0017792863 0.0051667842 + 1058000 0.0038872595 0.0021290149 0.0040422754 + 1058100 0.0049173235 0.0018035509 0.004223796 + 1058200 0.0049732258 0.0022749909 0.0047227504 + 1058300 0.0052963958 0.0026782333 0.0052850531 + 1058400 0.0063698896 0.0025766077 0.0057117878 + 1058500 0.0038892637 0.0026545892 0.0045688361 + 1058600 0.0048697182 0.0028129428 0.0052097572 + 1058700 0.0058980224 0.0026557009 0.0055586337 + 1058800 0.0053079912 0.0023920218 0.0050045487 + 1058900 0.0050286067 0.0018416637 0.0043166811 + 1059000 0.0041795491 0.0022315536 0.0042886754 + 1059100 0.0058059944 0.002452839 0.0053104768 + 1059200 0.003888127 0.0024895906 0.0044032781 + 1059300 0.0046750972 0.0028080422 0.0051090666 + 1059400 0.0053055211 0.0031517514 0.0057630625 + 1059500 0.0058755794 0.0033107276 0.0062026144 + 1059600 0.0055786412 0.0026934351 0.0054391726 + 1059700 0.0061653947 0.0021073495 0.0051418797 + 1059800 0.0051092848 0.0022944385 0.0048091646 + 1059900 0.0043441472 0.0025713605 0.0047094955 + 1060000 0.0045837812 0.0023739797 0.0046300595 + 1060100 0.0043629392 0.002312605 0.0044599891 + 1060200 0.0055347271 0.0023507322 0.0050748557 + 1060300 0.0043194338 0.002663673 0.0047896444 + 1060400 0.0046859735 0.0027593042 0.0050656818 + 1060500 0.0056984767 0.0025233456 0.0053280646 + 1060600 0.0057564598 0.0027905443 0.0056238019 + 1060700 0.0041918037 0.0031057917 0.005168945 + 1060800 0.0070834384 0.0026294246 0.0061158044 + 1060900 0.0055551728 0.0019980861 0.0047322727 + 1061000 0.0046477009 0.0023674057 0.004654946 + 1061100 0.0058145986 0.002421291 0.0052831637 + 1061200 0.0050784454 0.0023578108 0.0048573581 + 1061300 0.0041811937 0.0023800504 0.0044379816 + 1061400 0.0047079893 0.0024121653 0.0047293787 + 1061500 0.0045711304 0.0023126703 0.0045625235 + 1061600 0.0060801668 0.0021770771 0.0051696593 + 1061700 0.0050183147 0.0021265805 0.0045965322 + 1061800 0.0062643977 0.002293271 0.0053765292 + 1061900 0.0050294164 0.002248784 0.0047241999 + 1062000 0.0043932399 0.0025695124 0.0047318102 + 1062100 0.0053972384 0.0026090754 0.0052655287 + 1062200 0.0049893665 0.0023665266 0.0048222304 + 1062300 0.0061404767 0.0023090531 0.005331319 + 1062400 0.0052303118 0.0023985816 0.0049728756 + 1062500 0.0048996138 0.0028252861 0.0052368147 + 1062600 0.0039666964 0.0033605008 0.0053128592 + 1062700 0.0054994412 0.00319705 0.0059038062 + 1062800 0.0059722355 0.0027228091 0.0056622687 + 1062900 0.0043496912 0.0023798889 0.0045207526 + 1063000 0.0039705444 0.0024176681 0.0043719204 + 1063100 0.005567729 0.0022576682 0.0049980348 + 1063200 0.0053774795 0.0024144739 0.0050612021 + 1063300 0.0051704325 0.0022874457 0.004832268 + 1063400 0.0040351031 0.002310991 0.0042970183 + 1063500 0.0048870978 0.002130999 0.0045363674 + 1063600 0.0042309172 0.0023871232 0.0044695277 + 1063700 0.005053422 0.0024658746 0.0049531057 + 1063800 0.0056475084 0.0028286416 0.0056082746 + 1063900 0.0039982268 0.0029188803 0.0048867576 + 1064000 0.0069210301 0.0029448261 0.0063512706 + 1064100 0.0046528209 0.0028776774 0.0051677377 + 1064200 0.0036073156 0.0027160184 0.0044914941 + 1064300 0.0056696787 0.0024033492 0.0051938942 + 1064400 0.0056701401 0.0021075391 0.0048983112 + 1064500 0.0045408005 0.0018719118 0.0041068371 + 1064600 0.004725092 0.0019959201 0.0043215514 + 1064700 0.006284125 0.0022605886 0.0053535563 + 1064800 0.0064287862 0.0023742947 0.0055384629 + 1064900 0.0055662564 0.0025012275 0.0052408693 + 1065000 0.0064851171 0.0028555826 0.0060474762 + 1065100 0.0056197366 0.0029586835 0.0057246476 + 1065200 0.0057245445 0.0028671029 0.0056846521 + 1065300 0.0047337282 0.0029046823 0.0052345641 + 1065400 0.0063285799 0.0027092138 0.0058240618 + 1065500 0.0043268792 0.0029769128 0.0051065487 + 1065600 0.0054257702 0.0031061809 0.0057766771 + 1065700 0.0054664973 0.0031297433 0.005820285 + 1065800 0.0040822963 0.0034954676 0.0055047229 + 1065900 0.0049137945 0.0032967998 0.005715308 + 1066000 0.0058926799 0.0028143017 0.0057146051 + 1066100 0.0056563695 0.0027499484 0.0055339427 + 1066200 0.0062467356 0.0028537012 0.0059282664 + 1066300 0.0073693688 0.0026044 0.0062315112 + 1066400 0.0060120514 0.0026182466 0.0055773032 + 1066500 0.0040973823 0.0026165032 0.0046331835 + 1066600 0.0039854163 0.0031027607 0.0050643327 + 1066700 0.0047397458 0.0027503869 0.0050832305 + 1066800 0.00590011 0.0021123173 0.0050162777 + 1066900 0.0037940229 0.001928945 0.0037963157 + 1067000 0.0043354963 0.0020437126 0.0041775896 + 1067100 0.0047574423 0.0022942643 0.004635818 + 1067200 0.0050872629 0.002232211 0.0047360983 + 1067300 0.0054004118 0.00204635 0.0047043652 + 1067400 0.0054064917 0.0022174827 0.0048784903 + 1067500 0.0036920924 0.0026552233 0.004472425 + 1067600 0.0049692357 0.0030407846 0.0054865803 + 1067700 0.0054789427 0.0028102312 0.0055068983 + 1067800 0.0043502847 0.002737795 0.0048789508 + 1067900 0.0057116591 0.0025866331 0.0053978403 + 1068000 0.0047162985 0.0027443836 0.0050656868 + 1068100 0.0046957898 0.0031324129 0.005443622 + 1068200 0.0063257767 0.0035651848 0.006678653 + 1068300 0.0037195518 0.0038397049 0.0056704218 + 1068400 0.004852633 0.003077699 0.0054661043 + 1068500 0.0058535828 0.0027935501 0.0056746104 + 1068600 0.0047325461 0.0027083081 0.0050376081 + 1068700 0.0044167822 0.0028614135 0.0050352985 + 1068800 0.0047446084 0.0028989832 0.0052342202 + 1068900 0.0063512833 0.002654074 0.0057800963 + 1069000 0.0047793122 0.0024758412 0.004828159 + 1069100 0.0051811346 0.0025445125 0.0050946022 + 1069200 0.0047010716 0.0028835242 0.0051973329 + 1069300 0.0052618791 0.0027086704 0.0052985015 + 1069400 0.004888299 0.0026074289 0.0050133885 + 1069500 0.0044375186 0.0027279184 0.0049120096 + 1069600 0.0052230937 0.0022720115 0.0048427529 + 1069700 0.0072007172 0.0025756473 0.0061197503 + 1069800 0.0050286119 0.0030640604 0.0055390803 + 1069900 0.0085755702 0.002620021 0.0068408095 + 1070000 0.0063898418 0.0024859562 0.0056309565 + 1070100 0.0037901848 0.0026965068 0.0045619884 + 1070200 0.0053735462 0.0022948244 0.0049396167 + 1070300 0.0049299673 0.0023826327 0.004809101 + 1070400 0.0056260718 0.0027134328 0.005482515 + 1070500 0.0047629685 0.0033598436 0.0057041172 + 1070600 0.003668694 0.0032343632 0.0050400485 + 1070700 0.0043588321 0.0027665365 0.0049118992 + 1070800 0.0045553223 0.0025374489 0.0047795216 + 1070900 0.0049787867 0.0025848164 0.005035313 + 1071000 0.0055645677 0.0025540902 0.0052929009 + 1071100 0.0060909405 0.0021403627 0.0051382474 + 1071200 0.0045806933 0.0018936821 0.0041482421 + 1071300 0.0032846087 0.0022340657 0.0038507091 + 1071400 0.0058318034 0.0024500427 0.0053203835 + 1071500 0.0045498135 0.0026834445 0.0049228058 + 1071600 0.0039651275 0.002807732 0.0047593182 + 1071700 0.0049895963 0.0024876941 0.0049435111 + 1071800 0.0048134742 0.0024926215 0.0048617533 + 1071900 0.0056370171 0.0026275974 0.0054020668 + 1072000 0.0050050004 0.0026910944 0.0051544931 + 1072100 0.0044595304 0.003013443 0.0052083681 + 1072200 0.0038933253 0.0029741407 0.0048903867 + 1072300 0.0041948316 0.0027654225 0.0048300661 + 1072400 0.0049727132 0.0027848273 0.0052323345 + 1072500 0.0050778093 0.0025209376 0.0050201718 + 1072600 0.0041405667 0.0022033216 0.0042412568 + 1072700 0.0057947264 0.002025359 0.0048774509 + 1072800 0.0052722166 0.0021427002 0.0047376193 + 1072900 0.005475667 0.0019976495 0.0046927043 + 1073000 0.0038378647 0.002153581 0.00404253 + 1073100 0.0032542165 0.0022408197 0.0038425044 + 1073200 0.0049229257 0.0018017672 0.0042247697 + 1073300 0.0035415818 0.0015470817 0.0032902039 + 1073400 0.0036064963 0.0015745929 0.0033496653 + 1073500 0.0039269445 0.0016751601 0.0036079531 + 1073600 0.0050532556 0.0018794 0.0043665493 + 1073700 0.0029316432 0.002229927 0.0036728451 + 1073800 0.0051061941 0.0021754033 0.0046886082 + 1073900 0.0046971027 0.0020389008 0.004350756 + 1074000 0.0041729655 0.0018001895 0.0038540709 + 1074100 0.0052385474 0.0024877395 0.005066087 + 1074200 0.0043502878 0.0026966594 0.0048378166 + 1074300 0.0057408911 0.0018698347 0.0046954295 + 1074400 0.0057025576 0.0017746376 0.0045813652 + 1074500 0.0043141202 0.0020345196 0.0041578756 + 1074600 0.0061410207 0.0022506193 0.0052731529 + 1074700 0.0055733968 0.0027841709 0.0055273272 + 1074800 0.0045372683 0.0032624646 0.0054956513 + 1074900 0.0040977405 0.0033103539 0.0053272105 + 1075000 0.0052420929 0.0031054134 0.005685506 + 1075100 0.0051580972 0.0030433218 0.0055820728 + 1075200 0.0047594115 0.0027162161 0.005058739 + 1075300 0.0050802329 0.0028596573 0.0053600844 + 1075400 0.0065437208 0.0022655901 0.0054863277 + 1075500 0.005183424 0.0020029541 0.0045541706 + 1075600 0.0043149449 0.0018319177 0.0039556797 + 1075700 0.0062130022 0.0016198308 0.0046777929 + 1075800 0.0053953611 0.0015267456 0.0041822749 + 1075900 0.0047669979 0.0016072218 0.0039534786 + 1076000 0.0047293632 0.0020709283 0.0043986617 + 1076100 0.0035504664 0.0026779538 0.004425449 + 1076200 0.0059223142 0.0027265862 0.0056414752 + 1076300 0.006096387 0.0026496305 0.005650196 + 1076400 0.0041063944 0.0021349173 0.0041560333 + 1076500 0.0044300915 0.0019323655 0.0041128011 + 1076600 0.0060205277 0.0021861268 0.0051493552 + 1076700 0.0043351276 0.0018373869 0.0039710825 + 1076800 0.0050224661 0.0019119707 0.0043839657 + 1076900 0.00391171 0.0020561677 0.0039814625 + 1077000 0.0059798301 0.0019964244 0.004939622 + 1077100 0.0031892114 0.0021507743 0.0037204643 + 1077200 0.0034359303 0.0022751959 0.0039663178 + 1077300 0.005047831 0.0024452014 0.0049296807 + 1077400 0.0043738481 0.0030225937 0.0051753471 + 1077500 0.0049582207 0.0031882872 0.0056286615 + 1077600 0.0053649063 0.002724706 0.0053652458 + 1077700 0.0037679264 0.0023930301 0.0042475564 + 1077800 0.0049571704 0.0022785097 0.004718367 + 1077900 0.005416246 0.0025695818 0.0052353904 + 1078000 0.004467054 0.0030290654 0.0052276935 + 1078100 0.0046475494 0.0028718292 0.0051592949 + 1078200 0.0055450946 0.0022910815 0.0050203078 + 1078300 0.0046436016 0.0022666217 0.0045521443 + 1078400 0.0055005947 0.0023517169 0.0050590409 + 1078500 0.0056130485 0.0023138668 0.0050765391 + 1078600 0.005605679 0.00220806 0.0049671051 + 1078700 0.0048962771 0.0025550052 0.0049648915 + 1078800 0.0036046679 0.003271447 0.0050456195 + 1078900 0.0045646665 0.0029417218 0.0051883936 + 1079000 0.0040934077 0.0025125144 0.0045272385 + 1079100 0.0046760352 0.0027001637 0.0050016498 + 1079200 0.0059155935 0.0025063829 0.0054179641 + 1079300 0.0071362612 0.0026083804 0.0061207589 + 1079400 0.005938656 0.0027956073 0.0057185395 + 1079500 0.005592672 0.0026282391 0.0053808823 + 1079600 0.003896231 0.0026444981 0.0045621743 + 1079700 0.0047958225 0.0027565223 0.0051169661 + 1079800 0.006112223 0.0027491265 0.0057574862 + 1079900 0.0065473326 0.0027224073 0.0059449226 + 1080000 0.0048917781 0.0027805786 0.0051882507 + 1080100 0.0052670537 0.002935789 0.005528167 + 1080200 0.0043095396 0.0031971787 0.0053182802 + 1080300 0.0060951897 0.0026964138 0.00569639 + 1080400 0.0045032997 0.002198183 0.0044146508 + 1080500 0.0038001125 0.0020764719 0.0039468398 + 1080600 0.0048871704 0.0021575469 0.0045629511 + 1080700 0.0054363121 0.0024862923 0.0051619772 + 1080800 0.0044893367 0.0024585634 0.0046681587 + 1080900 0.0048832574 0.0027283429 0.0051318212 + 1081000 0.0047755718 0.002959496 0.0053099727 + 1081100 0.004872503 0.0024630054 0.0048611905 + 1081200 0.0055966963 0.0022451393 0.0049997633 + 1081300 0.0042412156 0.0028958994 0.0049833727 + 1081400 0.0038990521 0.0037099269 0.0056289915 + 1081500 0.0042750356 0.0035788489 0.005682968 + 1081600 0.006615429 0.0028688493 0.0061248808 + 1081700 0.0056996149 0.0026226931 0.0054279723 + 1081800 0.0051053415 0.0029649529 0.0054777382 + 1081900 0.0048595941 0.0034337354 0.0058255669 + 1082000 0.0062193259 0.0034325703 0.0064936448 + 1082100 0.0048331093 0.0035249084 0.0059037044 + 1082200 0.0051151239 0.0034046527 0.0059222527 + 1082300 0.00493154 0.0030745955 0.0055018379 + 1082400 0.0044693479 0.0031159836 0.0053157408 + 1082500 0.0058638532 0.0028169761 0.0057030913 + 1082600 0.0041780913 0.0025863866 0.004642791 + 1082700 0.0037747212 0.0024670411 0.0043249117 + 1082800 0.0053714275 0.0021659715 0.004809721 + 1082900 0.0061908659 0.0021121818 0.0051592486 + 1083000 0.0051041448 0.0024815937 0.00499379 + 1083100 0.0048362885 0.0024887335 0.0048690943 + 1083200 0.0053731486 0.0022247408 0.0048693373 + 1083300 0.0052460965 0.0017187401 0.0043008032 + 1083400 0.0050109214 0.0020012092 0.0044675221 + 1083500 0.0068066228 0.0024791764 0.005829311 + 1083600 0.0049458772 0.0024121554 0.0048464543 + 1083700 0.0044916069 0.0025901572 0.00480087 + 1083800 0.004923253 0.0026081468 0.0050313103 + 1083900 0.0048735484 0.0028020698 0.0052007694 + 1084000 0.0041624025 0.0029322659 0.0049809484 + 1084100 0.006205252 0.0031182059 0.0061723534 + 1084200 0.0037106073 0.0030484985 0.004874813 + 1084300 0.0053533091 0.0026747679 0.0053095998 + 1084400 0.0056121921 0.0029517881 0.0057140388 + 1084500 0.0046431639 0.0030992712 0.0053845785 + 1084600 0.0063682974 0.002592441 0.0057268374 + 1084700 0.0042805742 0.0022285835 0.0043354286 + 1084800 0.0027032657 0.002303809 0.0036343226 + 1084900 0.0039309322 0.002455015 0.0043897707 + 1085000 0.0044096026 0.0027970884 0.0049674397 + 1085100 0.0052117026 0.0029502571 0.005515392 + 1085200 0.0064769424 0.0029959552 0.0061838253 + 1085300 0.0043720636 0.0036096296 0.0057615047 + 1085400 0.0054703209 0.0034989211 0.0061913447 + 1085500 0.0038822012 0.0035048785 0.0054156494 + 1085600 0.0052788723 0.0029675189 0.0055657139 + 1085700 0.0045274179 0.0027299671 0.0049583056 + 1085800 0.0044645668 0.002825656 0.00502306 + 1085900 0.0043675785 0.0030463151 0.0051959826 + 1086000 0.0059505616 0.0027220478 0.0056508398 + 1086100 0.0040700521 0.0026931771 0.0046964059 + 1086200 0.0044977942 0.0031799124 0.0053936705 + 1086300 0.0066923989 0.0028642334 0.0061581484 + 1086400 0.0043081672 0.0029675082 0.0050879342 + 1086500 0.0043837507 0.0032079369 0.0053655642 + 1086600 0.0050099159 0.0031628159 0.0056286338 + 1086700 0.0060057466 0.0032024532 0.0061584066 + 1086800 0.0058924724 0.003201816 0.0061020172 + 1086900 0.004208976 0.0027094985 0.0047811039 + 1087000 0.0043129066 0.002510114 0.0046328727 + 1087100 0.0052634365 0.0025257353 0.0051163329 + 1087200 0.0050161221 0.0028914861 0.0053603586 + 1087300 0.0042362844 0.0032639546 0.0053490008 + 1087400 0.0066333219 0.0032997231 0.0065645612 + 1087500 0.0047676373 0.003316343 0.0056629144 + 1087600 0.0054587979 0.0034528468 0.0061395988 + 1087700 0.0056237402 0.0033054877 0.0060734223 + 1087800 0.0065933117 0.0032501976 0.0064953432 + 1087900 0.0040468073 0.003255591 0.0052473789 + 1088000 0.0074887149 0.0028797848 0.0065656367 + 1088100 0.0054764936 0.0027159713 0.005411433 + 1088200 0.0056946021 0.0024425464 0.0052453583 + 1088300 0.0060849286 0.0025722701 0.0055671959 + 1088400 0.0051000428 0.0028576697 0.005367847 + 1088500 0.0051255179 0.0028039101 0.005326626 + 1088600 0.0038954711 0.0029710128 0.004888315 + 1088700 0.0034305855 0.0027619242 0.0044504155 + 1088800 0.0037428918 0.0027496111 0.0045918157 + 1088900 0.0040431797 0.0028494559 0.0048394584 + 1089000 0.0035803629 0.0026116108 0.0043738207 + 1089100 0.0053684429 0.0028894118 0.0055316923 + 1089200 0.0044596094 0.002952058 0.005147022 + 1089300 0.0043188878 0.0030839375 0.0052096401 + 1089400 0.0052916548 0.0031374219 0.0057419083 + 1089500 0.0046807865 0.0034781569 0.0057819816 + 1089600 0.0048251677 0.0038108961 0.0061857833 + 1089700 0.0034556163 0.0037571051 0.0054579162 + 1089800 0.0074133481 0.0028065438 0.006455301 + 1089900 0.0046841111 0.0024983653 0.0048038263 + 1090000 0.0051884507 0.0031555509 0.0057092415 + 1090100 0.0054482173 0.0034610661 0.0061426105 + 1090200 0.0059911472 0.0025684533 0.0055172211 + 1090300 0.0040312954 0.0026682576 0.0046524108 + 1090400 0.0052286887 0.0032912613 0.0058647565 + 1090500 0.0047397058 0.0033986175 0.0057314414 + 1090600 0.0058992293 0.0029277967 0.0058313236 + 1090700 0.0063641369 0.0030260694 0.006158418 + 1090800 0.0049009632 0.0033877119 0.0057999047 + 1090900 0.0047493294 0.0035438112 0.0058813718 + 1091000 0.0044137633 0.0039778149 0.006150214 + 1091100 0.0047881064 0.0040988497 0.0064554958 + 1091200 0.0070672605 0.0039443578 0.007422775 + 1091300 0.004157013 0.0034959657 0.0055419955 + 1091400 0.0058447547 0.0029215613 0.0057982765 + 1091500 0.0049583333 0.0027792141 0.0052196438 + 1091600 0.0045865089 0.0030769706 0.0053343929 + 1091700 0.0053466059 0.003346286 0.0059778186 + 1091800 0.0044793431 0.0037073938 0.0059120705 + 1091900 0.0043111727 0.0031683281 0.0052902334 + 1092000 0.0047856628 0.0026660719 0.0050215153 + 1092100 0.0057388409 0.002815794 0.0056403797 + 1092200 0.0045472782 0.0031640204 0.0054021338 + 1092300 0.0038222552 0.0029303328 0.004811599 + 1092400 0.0047550644 0.0030006651 0.0053410483 + 1092500 0.0061579705 0.0027703337 0.0058012098 + 1092600 0.0045403249 0.0031470111 0.0053817022 + 1092700 0.0060487987 0.002794692 0.0057718351 + 1092800 0.0055724709 0.0024135542 0.0051562547 + 1092900 0.0053899147 0.0022472497 0.0049000983 + 1093000 0.0043028728 0.002771622 0.0048894422 + 1093100 0.0053187592 0.0026675746 0.0052854014 + 1093200 0.0052470305 0.0024737278 0.0050562506 + 1093300 0.005454694 0.0026662751 0.0053510074 + 1093400 0.0039611401 0.0027646924 0.004714316 + 1093500 0.0048669861 0.0033328893 0.005728359 + 1093600 0.0037383672 0.0031549245 0.004994902 + 1093700 0.0048840972 0.0028624802 0.0052663718 + 1093800 0.0047558044 0.0028671691 0.0052079166 + 1093900 0.0031406878 0.0028045363 0.0043503436 + 1094000 0.0040212351 0.0024880253 0.0044672269 + 1094100 0.0047756878 0.0024108135 0.0047613473 + 1094200 0.0042974814 0.002855119 0.0049702857 + 1094300 0.004245122 0.0035434008 0.0056327968 + 1094400 0.0047275343 0.0033492979 0.0056761312 + 1094500 0.0043017978 0.0034618206 0.0055791117 + 1094600 0.0052820172 0.003350155 0.0059498979 + 1094700 0.005846617 0.0033122682 0.0061899 + 1094800 0.0076372806 0.0033354068 0.0070943809 + 1094900 0.0075696499 0.0028223891 0.0065480762 + 1095000 0.0058048741 0.0030054632 0.0058625497 + 1095100 0.006514947 0.0031572997 0.0063638752 + 1095200 0.0067973185 0.0027644498 0.006110005 + 1095300 0.0052075666 0.0026829768 0.005246076 + 1095400 0.0050859841 0.0026749356 0.0051781934 + 1095500 0.0047844675 0.0027987008 0.0051535559 + 1095600 0.004964642 0.0031577504 0.0056012851 + 1095700 0.0063751853 0.0033985748 0.0065363613 + 1095800 0.0052637185 0.0029777664 0.0055685029 + 1095900 0.0048437485 0.0021287915 0.004512824 + 1096000 0.0071799037 0.0019550673 0.0054889261 + 1096100 0.0042820795 0.0027420654 0.0048496514 + 1096200 0.0042616034 0.0031958372 0.0052933451 + 1096300 0.004546308 0.0027355321 0.0049731681 + 1096400 0.005880272 0.0027142967 0.005608493 + 1096500 0.0052145024 0.0029664608 0.0055329737 + 1096600 0.006097337 0.0029990159 0.0060000489 + 1096700 0.0061077747 0.0030041845 0.0060103549 + 1096800 0.0053759658 0.0026647462 0.0053107294 + 1096900 0.004641537 0.0025205632 0.0048050697 + 1097000 0.0043981788 0.0022997894 0.004464518 + 1097100 0.0061608046 0.0023072473 0.0053395183 + 1097200 0.0052842569 0.0027276479 0.0053284931 + 1097300 0.0061853197 0.0031356541 0.0061799912 + 1097400 0.0046691285 0.0027509386 0.0050490253 + 1097500 0.0048377639 0.0025019963 0.0048830832 + 1097600 0.0036085757 0.0027531557 0.0045292515 + 1097700 0.0044541715 0.002782877 0.0049751646 + 1097800 0.0053040802 0.002477923 0.005088525 + 1097900 0.0058856988 0.0027721508 0.0056690182 + 1098000 0.005630234 0.002802467 0.0055735978 + 1098100 0.0050669173 0.0021735762 0.0046674496 + 1098200 0.0043006493 0.0020985577 0.0042152835 + 1098300 0.0042142147 0.0025351751 0.0046093589 + 1098400 0.0055460485 0.0026564166 0.0053861124 + 1098500 0.0066466011 0.0029106803 0.0061820543 + 1098600 0.0052778224 0.0027367443 0.0053344225 + 1098700 0.0035720015 0.0024204502 0.0041785447 + 1098800 0.0059336745 0.0019021694 0.0048226498 + 1098900 0.0040676837 0.0022085909 0.004210654 + 1099000 0.0043963704 0.0022216116 0.0043854501 + 1099100 0.0043395385 0.0023649065 0.0045007731 + 1099200 0.0042487895 0.0022400281 0.0043312291 + 1099300 0.0050951978 0.0022955915 0.0048033842 + 1099400 0.0051662805 0.0026230135 0.0051657922 + 1099500 0.005843817 0.0026581326 0.0055343863 + 1099600 0.0048025849 0.0029193367 0.0052831089 + 1099700 0.0060163494 0.0024397982 0.0054009702 + 1099800 0.0074527006 0.0021978046 0.0058659307 + 1099900 0.0042199 0.0030633222 0.0051403043 + 1100000 0.0059267004 0.0033132126 0.0062302605 + 1100100 0.0046449284 0.0034101761 0.0056963517 + 1100200 0.0054285311 0.0030123607 0.0056842159 + 1100300 0.0052340931 0.0028578364 0.0054339916 + 1100400 0.005613654 0.0028146167 0.005577587 + 1100500 0.0034880064 0.0030111327 0.0047278858 + 1100600 0.0055052288 0.0031023809 0.0058119857 + 1100700 0.0065035281 0.0027536672 0.0059546224 + 1100800 0.0042586252 0.0027588273 0.0048548694 + 1100900 0.0055027071 0.0028274268 0.0055357904 + 1101000 0.0055884697 0.0029285279 0.0056791028 + 1101100 0.0065992595 0.0032411437 0.0064892168 + 1101200 0.0048236311 0.0031405174 0.0055146483 + 1101300 0.0057644928 0.0034794768 0.0063166881 + 1101400 0.00636087 0.0034247465 0.0065554872 + 1101500 0.0052617456 0.0034005258 0.0059902912 + 1101600 0.0048447888 0.0028654637 0.0052500082 + 1101700 0.0057304487 0.0025991781 0.0054196333 + 1101800 0.0043166664 0.0026380458 0.0047626551 + 1101900 0.0027638389 0.0028116671 0.004171994 + 1102000 0.0048992046 0.0024858449 0.0048971722 + 1102100 0.0038775517 0.002519444 0.0044279264 + 1102200 0.0041692432 0.0024935402 0.0045455896 + 1102300 0.0038888929 0.0024295069 0.0043435713 + 1102400 0.0041193365 0.0025743431 0.0046018291 + 1102500 0.004123797 0.002277048 0.0043067294 + 1102600 0.0053109536 0.0018566664 0.0044706514 + 1102700 0.0069572075 0.0021575208 0.0055817714 + 1102800 0.0050476968 0.0027018202 0.0051862335 + 1102900 0.0057096398 0.002377766 0.0051879793 + 1103000 0.0046701312 0.0021527478 0.004451328 + 1103100 0.0043433053 0.0020793194 0.00421704 + 1103200 0.004512025 0.0024148928 0.0046356551 + 1103300 0.0043354877 0.0027021723 0.0048360452 + 1103400 0.0041653132 0.0032567755 0.0053068906 + 1103500 0.0051845222 0.0035569339 0.0061086909 + 1103600 0.005750755 0.0031233115 0.0059537612 + 1103700 0.0052475368 0.0030386087 0.0056213807 + 1103800 0.0048063859 0.0029824061 0.0053480491 + 1103900 0.003819012 0.0028912402 0.0047709102 + 1104000 0.0054647042 0.0024102136 0.0050998727 + 1104100 0.0056975108 0.002479472 0.0052837156 + 1104200 0.0056329711 0.0026448816 0.0054173595 + 1104300 0.0059294505 0.0030120391 0.0059304406 + 1104400 0.0057232558 0.003021047 0.0058379619 + 1104500 0.0046629593 0.0031525806 0.0054476309 + 1104600 0.0052709774 0.0029765276 0.0055708367 + 1104700 0.0051723182 0.0027645804 0.0053103307 + 1104800 0.0056703815 0.0026743494 0.0054652403 + 1104900 0.0050425953 0.0028684863 0.0053503887 + 1105000 0.0060872054 0.00272533 0.0057213764 + 1105100 0.0040165237 0.0025744825 0.0045513653 + 1105200 0.0048238085 0.0027923003 0.0051665186 + 1105300 0.0057075778 0.0035665247 0.0063757231 + 1105400 0.0044266737 0.0039846573 0.0061634107 + 1105500 0.0048511787 0.003849831 0.0062375205 + 1105600 0.0070319024 0.0027396393 0.0062006538 + 1105700 0.0065411117 0.0028334912 0.0060529446 + 1105800 0.0046391095 0.0033648917 0.0056482034 + 1105900 0.0043926351 0.0031788257 0.0053408258 + 1106000 0.0057881828 0.0028727267 0.0057215979 + 1106100 0.0051342171 0.0031000844 0.0056270818 + 1106200 0.0041727057 0.003015779 0.0050695325 + 1106300 0.0076241874 0.0029438473 0.006696377 + 1106400 0.0034871605 0.0032176077 0.0049339445 + 1106500 0.0062672852 0.0030482699 0.0061329493 + 1106600 0.0059029193 0.0031323135 0.0060376566 + 1106700 0.0054376249 0.0028816527 0.0055579837 + 1106800 0.0043782432 0.0026193093 0.0047742259 + 1106900 0.0038931144 0.0024937205 0.0044098628 + 1107000 0.0049565251 0.0026380511 0.0050775908 + 1107100 0.0061656321 0.0027992464 0.0058338934 + 1107200 0.0055203319 0.0029685796 0.005685618 + 1107300 0.004924756 0.0031084248 0.0055323282 + 1107400 0.0049074939 0.0029308127 0.0053462198 + 1107500 0.0055539598 0.0028535955 0.0055871851 + 1107600 0.005530852 0.002638223 0.0053604392 + 1107700 0.0056035848 0.002753771 0.0055117854 + 1107800 0.0044316081 0.00310817 0.0052893521 + 1107900 0.0055694135 0.0028708967 0.0056120925 + 1108000 0.0068393656 0.0025340838 0.005900334 + 1108100 0.0050314529 0.0023480599 0.0048244781 + 1108200 0.0054633946 0.0023381371 0.0050271516 + 1108300 0.003331477 0.0024024803 0.0040421916 + 1108400 0.0048764772 0.0026439327 0.0050440739 + 1108500 0.0048347789 0.0027128469 0.0050924646 + 1108600 0.0051338042 0.0025066029 0.0050333971 + 1108700 0.0056911884 0.0023415182 0.00514265 + 1108800 0.004523905 0.0024261128 0.0046527223 + 1108900 0.0054715166 0.002375838 0.0050688501 + 1109000 0.0058647252 0.0027451538 0.0056316982 + 1109100 0.0058143007 0.0031428907 0.0060046168 + 1109200 0.0046175991 0.0027672911 0.0050400157 + 1109300 0.0046730626 0.0020632209 0.0043632439 + 1109400 0.0048874505 0.0021198384 0.0045253804 + 1109500 0.0043572696 0.0029215498 0.0050661434 + 1109600 0.0056067547 0.0032222032 0.0059817778 + 1109700 0.0067303045 0.0027024346 0.0060150064 + 1109800 0.0055496828 0.0023598693 0.0050913537 + 1109900 0.0042777807 0.0026225494 0.0047280196 + 1110000 0.0053521616 0.0029618295 0.0055960965 + 1110100 0.0036331605 0.0030226 0.0048107962 + 1110200 0.0041319109 0.0029802932 0.0050139681 + 1110300 0.0039246772 0.0028420728 0.0047737499 + 1110400 0.0049573681 0.0028340487 0.0052740033 + 1110500 0.0057927134 0.0026073461 0.0054584472 + 1110600 0.0044012245 0.0027377315 0.0049039592 + 1110700 0.0049880632 0.0028399774 0.0052950398 + 1110800 0.0059612936 0.0028884767 0.0058225509 + 1110900 0.0060762308 0.002972223 0.0059628679 + 1111000 0.0050389978 0.0031182376 0.0055983694 + 1111100 0.003790939 0.0026517711 0.0045176239 + 1111200 0.0046618916 0.0024736532 0.004768178 + 1111300 0.0054599593 0.0026168622 0.0053041859 + 1111400 0.0045384405 0.0028312576 0.0050650213 + 1111500 0.0038829066 0.0030965173 0.0050076353 + 1111600 0.0041840858 0.0031965068 0.0052558615 + 1111700 0.0043844937 0.0026048493 0.0047628423 + 1111800 0.0041321366 0.0022903279 0.0043241139 + 1111900 0.003964238 0.0023112138 0.0042623623 + 1112000 0.0027238711 0.0026258506 0.0039665059 + 1112100 0.0039635869 0.0025339846 0.0044848125 + 1112200 0.0062341302 0.0025339899 0.0056023509 + 1112300 0.0052680537 0.0032535158 0.005846386 + 1112400 0.0042264651 0.0037682305 0.0058484438 + 1112500 0.0036646009 0.0035047427 0.0053084135 + 1112600 0.0050881358 0.0027003687 0.0052046856 + 1112700 0.0054198161 0.002762181 0.0054297468 + 1112800 0.0044966586 0.0027843272 0.0049975263 + 1112900 0.0055852218 0.0026674687 0.0054164451 + 1113000 0.0061931076 0.0032676133 0.0063157835 + 1113100 0.0055056777 0.0032258007 0.0059356265 + 1113200 0.004039471 0.0029580929 0.0049462701 + 1113300 0.0065675563 0.0023906935 0.0056231627 + 1113400 0.0050072538 0.0024108193 0.004875327 + 1113500 0.0078146016 0.0032376491 0.0070838983 + 1113600 0.0048579328 0.0035665594 0.0059575732 + 1113700 0.0081687388 0.002899786 0.0069203371 + 1113800 0.0058866491 0.0027624973 0.0056598324 + 1113900 0.0058893593 0.0030807964 0.0059794654 + 1114000 0.0051587937 0.0034598296 0.0059989234 + 1114100 0.0046150411 0.0026419868 0.0049134523 + 1114200 0.0060719435 0.0025878344 0.0055763691 + 1114300 0.0049825373 0.0026597145 0.0051120571 + 1114400 0.0057845958 0.0029815559 0.0058286616 + 1114500 0.0046539977 0.0032007859 0.0054914254 + 1114600 0.004392356 0.0031609728 0.0053228356 + 1114700 0.0046761557 0.0029197406 0.005221286 + 1114800 0.0045048321 0.0027661549 0.0049833769 + 1114900 0.00508801 0.0028334242 0.0053376791 + 1115000 0.0050853557 0.002923528 0.0054264765 + 1115100 0.0052494842 0.002847849 0.0054315795 + 1115200 0.006317395 0.0024858691 0.005595212 + 1115300 0.0054294419 0.0027658066 0.00543811 + 1115400 0.0042300512 0.0031350702 0.0052170485 + 1115500 0.0053541606 0.0031074253 0.0057426762 + 1115600 0.0050243323 0.0028907704 0.0053636839 + 1115700 0.0049021237 0.0030137226 0.0054264866 + 1115800 0.0047303487 0.0029760977 0.0053043162 + 1115900 0.0036881927 0.0029575114 0.0047727937 + 1116000 0.0050958215 0.0024771551 0.0049852547 + 1116100 0.0040445735 0.0023626829 0.0043533715 + 1116200 0.0041473562 0.0025356497 0.0045769266 + 1116300 0.0039785856 0.002882779 0.0048409891 + 1116400 0.0053961779 0.0031478078 0.0058037391 + 1116500 0.0048252247 0.0034242473 0.0057991626 + 1116600 0.0047889659 0.0033063643 0.0056634335 + 1116700 0.0038779709 0.0031517499 0.0050604387 + 1116800 0.0049438184 0.002966657 0.0053999426 + 1116900 0.004168775 0.00313996 0.0051917789 + 1117000 0.0048980233 0.0032930253 0.0057037712 + 1117100 0.0048019162 0.0036822573 0.0060457004 + 1117200 0.00538707 0.003629423 0.0062808716 + 1117300 0.0040782169 0.0034862798 0.0054935272 + 1117400 0.0048477334 0.003726453 0.0061124468 + 1117500 0.0052247772 0.0043192514 0.0068908214 + 1117600 0.0059275607 0.0041564718 0.0070739431 + 1117700 0.005604071 0.0038637016 0.0066219553 + 1117800 0.0044473977 0.0036268456 0.0058157991 + 1117900 0.0034891594 0.0030316632 0.0047489838 + 1118000 0.0049087571 0.0028317598 0.0052477886 + 1118100 0.0046843325 0.0028990456 0.0052046155 + 1118200 0.0046039055 0.0029277624 0.0051937471 + 1118300 0.0045140778 0.002908801 0.0051305737 + 1118400 0.0044524158 0.0028951052 0.0050865286 + 1118500 0.0044554001 0.002956587 0.0051494792 + 1118600 0.0065673552 0.003009158 0.0062415281 + 1118700 0.0054890846 0.0033987449 0.0061004038 + 1118800 0.006250578 0.0034284943 0.0065049507 + 1118900 0.0056715143 0.0028887606 0.005680209 + 1119000 0.0055559111 0.0026634225 0.0053979725 + 1119100 0.0048735286 0.0028519205 0.0052506104 + 1119200 0.0033187482 0.0031943185 0.0048277649 + 1119300 0.0049638123 0.0027545601 0.0051976865 + 1119400 0.0055929886 0.0030380799 0.0057908789 + 1119500 0.0048867214 0.0027795248 0.005184708 + 1119600 0.0041770599 0.0028756076 0.0049315043 + 1119700 0.0051865995 0.0029954143 0.0055481938 + 1119800 0.005642964 0.0026927286 0.005470125 + 1119900 0.0039845423 0.0027506115 0.0047117534 + 1120000 0.0069531815 0.0027996708 0.0062219399 + 1120100 0.0039960026 0.0027866146 0.0047533971 + 1120200 0.0053982884 0.0029162425 0.0055732126 + 1120300 0.0046132877 0.0029844992 0.0052551017 + 1120400 0.0043427505 0.0032586985 0.005396146 + 1120500 0.0043349062 0.003704319 0.0058379057 + 1120600 0.0048054036 0.0035245379 0.0058896974 + 1120700 0.0052581624 0.0032188142 0.0058068159 + 1120800 0.0051729728 0.0029025762 0.0054486487 + 1120900 0.0049286823 0.0025691546 0.0049949904 + 1121000 0.0043083161 0.0021423808 0.0042628802 + 1121100 0.0054077786 0.0019890021 0.0046506431 + 1121200 0.0047822158 0.0022276192 0.004581366 + 1121300 0.0039936991 0.0022821507 0.0042477995 + 1121400 0.0044991906 0.0024168375 0.0046312829 + 1121500 0.0052349057 0.0024563312 0.0050328863 + 1121600 0.0052056368 0.0023494289 0.0049115782 + 1121700 0.0045432751 0.002012715 0.0042488582 + 1121800 0.0060093355 0.0021693047 0.0051270245 + 1121900 0.0046350748 0.0030168312 0.0052981571 + 1122000 0.0037322971 0.0036723751 0.0055093651 + 1122100 0.0033744806 0.0033288604 0.0049897375 + 1122200 0.0048366756 0.0026560772 0.0050366285 + 1122300 0.0061682736 0.002095147 0.0051310941 + 1122400 0.0050386627 0.0023030757 0.0047830425 + 1122500 0.0053367311 0.002326859 0.0049535313 + 1122600 0.0067898682 0.0023832506 0.0057251388 + 1122700 0.0053118303 0.0028403753 0.0054547918 + 1122800 0.0042001575 0.0036077992 0.0056750642 + 1122900 0.0053676878 0.0031778103 0.0058197192 + 1123000 0.0063103099 0.0023234944 0.0054293501 + 1123100 0.0041018874 0.0024070343 0.0044259321 + 1123200 0.0043128544 0.0026609753 0.0047837083 + 1123300 0.0041202396 0.002637988 0.0046659185 + 1123400 0.0058061377 0.0022749523 0.0051326607 + 1123500 0.0050071048 0.0023962674 0.0048607019 + 1123600 0.0059089931 0.0031031763 0.0060115089 + 1123700 0.0058659697 0.0031411138 0.0060282708 + 1123800 0.0042967587 0.0029434151 0.0050582261 + 1123900 0.0039773969 0.0027235156 0.0046811406 + 1124000 0.0059008284 0.0023867927 0.0052911067 + 1124100 0.0057712028 0.0027152902 0.0055558041 + 1124200 0.0068375925 0.0024356401 0.0058010177 + 1124300 0.0035722141 0.0024466982 0.0042048973 + 1124400 0.0068371762 0.0024781781 0.0058433508 + 1124500 0.0037194717 0.0027963904 0.0046270679 + 1124600 0.0058691357 0.0026854232 0.0055741384 + 1124700 0.0051238493 0.0025774731 0.0050993676 + 1124800 0.0069454108 0.0029511609 0.0063696053 + 1124900 0.0056908804 0.0033754416 0.0061764218 + 1125000 0.0047231927 0.0027796281 0.0051043245 + 1125100 0.0047771442 0.0022741655 0.0046254162 + 1125200 0.0045494031 0.0023848487 0.0046240081 + 1125300 0.0044130306 0.0024930325 0.004665071 + 1125400 0.0055293135 0.0028201865 0.0055416455 + 1125500 0.0035395239 0.002796676 0.0045387855 + 1125600 0.0041082491 0.0028563266 0.0048783555 + 1125700 0.0054929104 0.0026744254 0.0053779673 + 1125800 0.0047522349 0.0034239661 0.0057629568 + 1125900 0.0054165929 0.0036463155 0.0063122948 + 1126000 0.0050288382 0.0037659683 0.0062410996 + 1126100 0.0045067468 0.0032037123 0.0054218767 + 1126200 0.0066272022 0.0030449963 0.0063068224 + 1126300 0.0052951503 0.0032423892 0.005848596 + 1126400 0.0041545886 0.0034982854 0.0055431219 + 1126500 0.0065379293 0.0027955152 0.0060134023 + 1126600 0.0064513712 0.0028665936 0.0060418778 + 1126700 0.003713694 0.0036422336 0.0054700674 + 1126800 0.0053573898 0.0033575081 0.0059943484 + 1126900 0.0042053516 0.0029462366 0.0050160581 + 1127000 0.005211016 0.0029060059 0.0054708028 + 1127100 0.0049170855 0.0027006019 0.0051207299 + 1127200 0.004778754 0.0024525487 0.0048045917 + 1127300 0.0053425937 0.0020716853 0.0047012432 + 1127400 0.0040075613 0.002011512 0.0039839836 + 1127500 0.0045776187 0.0021253659 0.0043784126 + 1127600 0.0074041408 0.002199831 0.0058440565 + 1127700 0.0050858668 0.0026175938 0.0051207938 + 1127800 0.0071645465 0.0026332148 0.006159515 + 1127900 0.004865156 0.0027723183 0.0051668872 + 1128000 0.0052602656 0.0028692267 0.0054582636 + 1128100 0.0038944366 0.0024272007 0.0043439937 + 1128200 0.0052921202 0.0024326607 0.0050373761 + 1128300 0.0036266174 0.0026925419 0.0044775177 + 1128400 0.0053389319 0.0026699171 0.0052976727 + 1128500 0.004845435 0.0027231857 0.0051080482 + 1128600 0.0059441984 0.002658333 0.0055839931 + 1128700 0.0069702298 0.0028026823 0.0062333423 + 1128800 0.0061068787 0.0025464921 0.0055522215 + 1128900 0.0060763736 0.0026927429 0.0056834581 + 1129000 0.0045725068 0.0025243574 0.0047748881 + 1129100 0.0054260351 0.0017802705 0.0044508971 + 1129200 0.0038238499 0.0014001411 0.0032821922 + 1129300 0.0039509387 0.0018399105 0.0037845131 + 1129400 0.0065081657 0.0018697709 0.0050730088 + 1129500 0.0045965217 0.001990162 0.0042525126 + 1129600 0.0050957838 0.0020342802 0.0045423613 + 1129700 0.0041746003 0.0020685903 0.0041232764 + 1129800 0.0050746827 0.0019749545 0.0044726499 + 1129900 0.0041243667 0.0019410774 0.0039710391 + 1130000 0.0043662854 0.0020184339 0.0041674649 + 1130100 0.0040571233 0.0022509175 0.0042477829 + 1130200 0.0047284553 0.002371551 0.0046988376 + 1130300 0.0051584115 0.0024082177 0.0049471233 + 1130400 0.0041029511 0.0023910341 0.0044104554 + 1130500 0.005448655 0.0026135566 0.0052953165 + 1130600 0.0054196881 0.0030882846 0.0057557874 + 1130700 0.0054924079 0.0033689168 0.0060722113 + 1130800 0.005646432 0.0026018046 0.0053809078 + 1130900 0.0050255575 0.0018517844 0.0043253009 + 1131000 0.0079075971 0.0021922249 0.0060842454 + 1131100 0.0046615269 0.0025926579 0.0048870032 + 1131200 0.0057055402 0.0024085839 0.0052167795 + 1131300 0.0040890575 0.0022249797 0.0042375627 + 1131400 0.0041310337 0.0020446897 0.0040779329 + 1131500 0.0038024149 0.0022842948 0.0041557959 + 1131600 0.0059112325 0.0025170925 0.0054265273 + 1131700 0.0061367789 0.0025448653 0.0055653111 + 1131800 0.0056715825 0.0025966246 0.0053881066 + 1131900 0.0044246862 0.002915148 0.0050929232 + 1132000 0.0052359607 0.0030426753 0.0056197497 + 1132100 0.004949879 0.0026345452 0.0050708137 + 1132200 0.0057100459 0.0027191888 0.0055296021 + 1132300 0.0060828724 0.0027222307 0.0057161445 + 1132400 0.0046719916 0.0026893135 0.0049888093 + 1132500 0.0042833766 0.00253215 0.0046403744 + 1132600 0.0048644527 0.002039096 0.0044333188 + 1132700 0.0042309328 0.0017465433 0.0038289555 + 1132800 0.005005301 0.0020633663 0.0045269129 + 1132900 0.0045563432 0.0023035522 0.0045461274 + 1133000 0.0061924739 0.0026896772 0.0057375354 + 1133100 0.0056900484 0.002531901 0.0053324717 + 1133200 0.0055411445 0.0028574732 0.0055847553 + 1133300 0.005022954 0.0032690401 0.0057412753 + 1133400 0.0066423782 0.0025068638 0.0057761593 + 1133500 0.0036826021 0.0023458121 0.0041583428 + 1133600 0.0040931249 0.0024900803 0.0045046652 + 1133700 0.0033514787 0.002912181 0.004561737 + 1133800 0.0057362119 0.0028126433 0.005635935 + 1133900 0.0060792279 0.0028441399 0.0058362599 + 1134000 0.0032759607 0.002922868 0.004535255 + 1134100 0.0055051399 0.0018452961 0.0045548571 + 1134200 0.0034090913 0.0018186237 0.0034965358 + 1134300 0.0042155821 0.0017104255 0.0037852823 + 1134400 0.0059398095 0.0015079166 0.0044314166 + 1134500 0.005455146 0.0019404188 0.0046253735 + 1134600 0.0047454946 0.002081255 0.0044169281 + 1134700 0.0043066885 0.0023352016 0.0044548998 + 1134800 0.0060191115 0.0021199172 0.0050824487 + 1134900 0.0044722726 0.0020554492 0.0042566459 + 1135000 0.0036781893 0.0024230089 0.0042333677 + 1135100 0.0059304579 0.002443407 0.0053623042 + 1135200 0.0044434966 0.0026759436 0.0048629771 + 1135300 0.0029924711 0.0024543955 0.0039272523 + 1135400 0.0046413704 0.0019591521 0.0042435766 + 1135500 0.0059219661 0.0018629257 0.0047776434 + 1135600 0.0044778117 0.0022832529 0.0044871758 + 1135700 0.0050899973 0.0024709733 0.0049762064 + 1135800 0.0043232067 0.0023191549 0.0044469832 + 1135900 0.0055312962 0.0020871278 0.0048095627 + 1136000 0.0042206897 0.0020206712 0.0040980419 + 1136100 0.0041385623 0.0019670665 0.0040040151 + 1136200 0.0044843484 0.0022235988 0.004430739 + 1136300 0.004153764 0.0022768102 0.0043212409 + 1136400 0.0048923707 0.0020464932 0.0044544569 + 1136500 0.004328573 0.0024003093 0.0045307788 + 1136600 0.0052369604 0.0025833333 0.0051608998 + 1136700 0.0062547118 0.0024746839 0.0055531749 + 1136800 0.0051821616 0.0022200364 0.0047706316 + 1136900 0.0049912465 0.0020782946 0.0045349237 + 1137000 0.0058701458 0.00188489 0.0047741024 + 1137100 0.0035517707 0.0021527121 0.0039008492 + 1137200 0.0043852135 0.0021579537 0.0043163009 + 1137300 0.0045063646 0.0022883438 0.0045063202 + 1137400 0.005572923 0.0020480991 0.0047910222 + 1137500 0.0044852717 0.0020959642 0.0043035589 + 1137600 0.0055150731 0.0019985983 0.0047130484 + 1137700 0.0056286604 0.0017177688 0.0044881251 + 1137800 0.0047889261 0.001895732 0.0042527816 + 1137900 0.0047509835 0.0022335227 0.0045718974 + 1138000 0.0057392689 0.0021102105 0.0049350069 + 1138100 0.004432503 0.0020734015 0.0042550241 + 1138200 0.0059331456 0.0019019884 0.0048222085 + 1138300 0.0058238831 0.0024896459 0.0053560884 + 1138400 0.0026837126 0.0027631533 0.004084043 + 1138500 0.0055655421 0.0021269364 0.0048662266 + 1138600 0.0033664595 0.0023344491 0.0039913784 + 1138700 0.0046844709 0.0022620781 0.0045677161 + 1138800 0.004178015 0.0024932855 0.0045496523 + 1138900 0.0040537708 0.0023631609 0.0043583762 + 1139000 0.0050104474 0.002501626 0.0049677056 + 1139100 0.0041621783 0.0025818249 0.004630397 + 1139200 0.0072838621 0.00222524 0.0058102658 + 1139300 0.0048259561 0.0021804377 0.004555713 + 1139400 0.0037696823 0.0020818909 0.0039372814 + 1139500 0.0049182909 0.0020523446 0.0044730659 + 1139600 0.0053017872 0.0021928937 0.0048023671 + 1139700 0.0045049615 0.0022101674 0.0044274532 + 1139800 0.0042656371 0.0020617143 0.0041612076 + 1139900 0.0058591777 0.0018000012 0.0046838153 + 1140000 0.0045797183 0.0019666384 0.0042207185 + 1140100 0.006799421 0.0022179847 0.0055645748 + 1140200 0.0059603338 0.002857669 0.0057912708 + 1140300 0.0053543064 0.0028976006 0.0055329233 + 1140400 0.0048310468 0.0026990113 0.0050767921 + 1140500 0.0060259214 0.0024750315 0.0054409147 + 1140600 0.0042224912 0.0025842334 0.0046624908 + 1140700 0.0083554354 0.0022495943 0.0063620352 + 1140800 0.0064376315 0.0025016654 0.0056701872 + 1140900 0.00462634 0.002845412 0.0051224388 + 1141000 0.003755128 0.0034845312 0.0053327582 + 1141100 0.0058033437 0.0030097483 0.0058660815 + 1141200 0.0051914254 0.0027186019 0.0052737566 + 1141300 0.0052176293 0.0021925811 0.004760633 + 1141400 0.0064614253 0.0021854035 0.0053656363 + 1141500 0.0053155189 0.0029044796 0.0055207116 + 1141600 0.0055475507 0.00331853 0.0060489652 + 1141700 0.0058365928 0.0030010657 0.0058737637 + 1141800 0.0044465947 0.0032620772 0.0054506356 + 1141900 0.0051888352 0.0031481739 0.0057020537 + 1142000 0.0059901266 0.0031214835 0.006069749 + 1142100 0.004964298 0.0031480725 0.0055914379 + 1142200 0.0047599814 0.0031955994 0.0055384027 + 1142300 0.0049590525 0.0030336796 0.0054744633 + 1142400 0.0057945174 0.0030835573 0.0059355463 + 1142500 0.0049633691 0.0034745133 0.0059174215 + 1142600 0.0048709654 0.0033475063 0.0057449346 + 1142700 0.0053944404 0.0031492669 0.005804343 + 1142800 0.005587364 0.0025762505 0.0053262812 + 1142900 0.0035158469 0.0022894285 0.0040198844 + 1143000 0.0036430008 0.0022809425 0.004073982 + 1143100 0.0068415242 0.0029874186 0.0063547313 + 1143200 0.0054087814 0.0037370419 0.0063991765 + 1143300 0.005041422 0.0035666714 0.0060479963 + 1143400 0.0047988846 0.0032867552 0.0056487062 + 1143500 0.006094082 0.0031151592 0.0061145902 + 1143600 0.0055997101 0.0027744749 0.0055305822 + 1143700 0.0050554445 0.0027773346 0.0052655612 + 1143800 0.0054194726 0.0032904415 0.0059578382 + 1143900 0.006081078 0.0032604416 0.0062534722 + 1144000 0.0043726651 0.0039695038 0.0061216749 + 1144100 0.0070897374 0.0038437499 0.00733323 + 1144200 0.0062554518 0.003240405 0.0063192602 + 1144300 0.0067990493 0.0028106923 0.0061570993 + 1144400 0.0050523484 0.0028197361 0.0053064388 + 1144500 0.0050316195 0.0025003773 0.0049768776 + 1144600 0.0055260234 0.0021241281 0.0048439678 + 1144700 0.0046538337 0.0026878997 0.0049784584 + 1144800 0.0045116736 0.0028840203 0.0051046097 + 1144900 0.0047690452 0.0030304645 0.0053777289 + 1145000 0.0041923249 0.0029496974 0.0050131073 + 1145100 0.0042856152 0.0027723354 0.0048816616 + 1145200 0.003858879 0.0027661064 0.0046653984 + 1145300 0.0048555426 0.0025297419 0.0049195793 + 1145400 0.0044020542 0.0024055422 0.0045721782 + 1145500 0.0042114879 0.0030076383 0.00508048 + 1145600 0.0061286127 0.0027618552 0.0057782817 + 1145700 0.0040497919 0.0027825898 0.0047758467 + 1145800 0.0051717522 0.0027408747 0.0052863465 + 1145900 0.005043385 0.002977228 0.0054595191 + 1146000 0.00487679 0.0028547198 0.0052550149 + 1146100 0.0051262654 0.0029757146 0.0054987984 + 1146200 0.0054027078 0.0024410994 0.0051002447 + 1146300 0.0062796599 0.0020873077 0.0051780778 + 1146400 0.0042986867 0.002429872 0.0045456319 + 1146500 0.0048742659 0.0030478994 0.0054469522 + 1146600 0.0054907564 0.0031056462 0.0058081279 + 1146700 0.0054203032 0.0031191747 0.0057869802 + 1146800 0.0049624525 0.0029869776 0.0054294346 + 1146900 0.0057191657 0.0025235814 0.0053384832 + 1147000 0.0047452564 0.0023382209 0.0046737768 + 1147100 0.0053177956 0.0025852402 0.0052025927 + 1147200 0.0051177414 0.0030058017 0.0055246901 + 1147300 0.0043957011 0.0024358068 0.0045993159 + 1147400 0.0068955573 0.0020416908 0.0054355979 + 1147500 0.0039819063 0.0022809825 0.004240827 + 1147600 0.0057598084 0.0023468667 0.0051817724 + 1147700 0.0051407156 0.0025736437 0.0051038396 + 1147800 0.0040143988 0.0026598219 0.0046356588 + 1147900 0.0054370383 0.0027854725 0.0054615148 + 1148000 0.0054395972 0.0027262414 0.0054035432 + 1148100 0.0042234288 0.0024214974 0.0045002163 + 1148200 0.0076328876 0.0022770374 0.0060338493 + 1148300 0.006336389 0.0025838144 0.0057025058 + 1148400 0.0060396468 0.0024529575 0.0054255962 + 1148500 0.0039388604 0.0020865441 0.004025202 + 1148600 0.005392957 0.0023357212 0.0049900673 + 1148700 0.0039748445 0.0024967208 0.0044530895 + 1148800 0.0046196112 0.0025132019 0.0047869168 + 1148900 0.0059514473 0.0021981811 0.0051274091 + 1149000 0.0065715698 0.0023463684 0.0055808129 + 1149100 0.004644607 0.0027008002 0.0049868177 + 1149200 0.0049295679 0.0028220968 0.0052483685 + 1149300 0.0054460119 0.0030006984 0.0056811574 + 1149400 0.0062745756 0.0031781903 0.0062664579 + 1149500 0.0065741428 0.0029813645 0.0062170754 + 1149600 0.0066934974 0.0026913747 0.0059858304 + 1149700 0.0061721547 0.0023873349 0.0054251923 + 1149800 0.0056961844 0.0022140533 0.0050176441 + 1149900 0.0053112574 0.002285355 0.0048994895 + 1150000 0.0050948997 0.0025496493 0.0050572952 + 1150100 0.0050678753 0.0025414941 0.005035839 + 1150200 0.0040393003 0.0024599009 0.004447994 + 1150300 0.0068148184 0.0024749029 0.0058290714 + 1150400 0.0044849052 0.0030183919 0.0052258061 + 1150500 0.003847672 0.0033638448 0.0052576208 + 1150600 0.0053835341 0.0033924855 0.0060421936 + 1150700 0.0038954774 0.0027037363 0.0046210416 + 1150800 0.0052811873 0.0024068783 0.0050062127 + 1150900 0.0059872014 0.0024297753 0.005376601 + 1151000 0.0038092582 0.0021765381 0.0040514074 + 1151100 0.0042447037 0.0022539031 0.0043430932 + 1151200 0.0070673892 0.0024505015 0.0059289821 + 1151300 0.0043538011 0.0029209815 0.005063868 + 1151400 0.0052917274 0.0029787268 0.0055832488 + 1151500 0.0058722166 0.0028939542 0.0057841858 + 1151600 0.0065003816 0.002971586 0.0061709926 + 1151700 0.005964835 0.0027736243 0.0057094415 + 1151800 0.0055927159 0.0028631465 0.0056158114 + 1151900 0.0070862591 0.0028099427 0.0062977109 + 1152000 0.0063895324 0.0032125527 0.0063574007 + 1152100 0.0069302755 0.0029309385 0.0063419335 + 1152200 0.0056270659 0.0025569668 0.0053265383 + 1152300 0.0059818122 0.0024037914 0.0053479646 + 1152400 0.0050044954 0.0021718436 0.0046349936 + 1152500 0.0048276408 0.0024321417 0.0048082461 + 1152600 0.005707324 0.0028117132 0.0056207867 + 1152700 0.0062034468 0.0021821569 0.0052354159 + 1152800 0.0054674082 0.0020680969 0.0047590869 + 1152900 0.0050083654 0.0020320315 0.0044970863 + 1153000 0.0052598796 0.0023987311 0.0049875781 + 1153100 0.004380988 0.0029213973 0.0050776648 + 1153200 0.0042603186 0.002988854 0.0050857296 + 1153300 0.0045907718 0.0028126646 0.005072185 + 1153400 0.0068902445 0.0025427023 0.0059339945 + 1153500 0.0045968112 0.002409876 0.004672369 + 1153600 0.0044429877 0.0023526366 0.0045394196 + 1153700 0.0057036918 0.0025287389 0.0053360247 + 1153800 0.0041296805 0.0023828448 0.0044154219 + 1153900 0.0049974928 0.0023435344 0.0048032379 + 1154000 0.0046145454 0.002246546 0.0045177676 + 1154100 0.0053412966 0.0023104251 0.0049393445 + 1154200 0.004387453 0.0022474293 0.0044068788 + 1154300 0.0053281904 0.0019741384 0.0045966071 + 1154400 0.0038556997 0.002038094 0.0039358212 + 1154500 0.0050912216 0.0019561753 0.004462011 + 1154600 0.0040327874 0.0024639552 0.0044488428 + 1154700 0.0046551425 0.0025220734 0.0048132763 + 1154800 0.0039495982 0.0023863499 0.0043302928 + 1154900 0.0047598169 0.0020644866 0.004407209 + 1155000 0.0052886324 0.0018055326 0.0044085313 + 1155100 0.0040620694 0.0019977608 0.0039970605 + 1155200 0.0054041003 0.0026143342 0.0052741648 + 1155300 0.0062970629 0.0027024812 0.0058018169 + 1155400 0.0056788951 0.0025768732 0.0053719544 + 1155500 0.0042006685 0.0028132226 0.0048807391 + 1155600 0.0064618626 0.0025673829 0.0057478309 + 1155700 0.0059508173 0.0021324526 0.0050613705 + 1155800 0.0053607303 0.0022007029 0.0048391873 + 1155900 0.0042130574 0.002179215 0.0042528292 + 1156000 0.0057980857 0.0021669138 0.0050206591 + 1156100 0.0062799394 0.0019364683 0.005027376 + 1156200 0.0049606833 0.0017206393 0.0041622256 + 1156300 0.004882085 0.0017647469 0.0041676481 + 1156400 0.0042137427 0.0024250595 0.004499011 + 1156500 0.0057096837 0.0022910102 0.0051012452 + 1156600 0.0068839597 0.0020614243 0.0054496233 + 1156700 0.0047515617 0.002192974 0.0045316333 + 1156800 0.0039846241 0.002398469 0.0043596512 + 1156900 0.0032979713 0.0026289664 0.0042521867 + 1157000 0.0059024896 0.0025113206 0.0054164522 + 1157100 0.0050548931 0.0024592359 0.004947191 + 1157200 0.0034494624 0.002539371 0.0042371532 + 1157300 0.0062868937 0.0025209392 0.0056152697 + 1157400 0.0043955494 0.0027577788 0.0049212133 + 1157500 0.0057931094 0.0024382099 0.0052895059 + 1157600 0.0051723891 0.0025154181 0.0050612033 + 1157700 0.0040309427 0.0030887434 0.005072723 + 1157800 0.0046537214 0.0029713749 0.0052618784 + 1157900 0.0045166723 0.0025401378 0.0047631874 + 1158000 0.0044460371 0.0022204408 0.0044087247 + 1158100 0.0061720571 0.0017919298 0.0048297391 + 1158200 0.0070801632 0.0024560702 0.005940838 + 1158300 0.003710306 0.0033438674 0.0051700336 + 1158400 0.0059739584 0.0031238426 0.0060641502 + 1158500 0.0069038189 0.0025304498 0.0059284231 + 1158600 0.0066933107 0.0027249536 0.0060193175 + 1158700 0.0046808802 0.0030893743 0.005393245 + 1158800 0.0048868161 0.0028010529 0.0052062827 + 1158900 0.0054891034 0.0028741305 0.0055757986 + 1159000 0.0052035258 0.0028440212 0.0054051316 + 1159100 0.0068173318 0.0026018756 0.0059572811 + 1159200 0.0048183584 0.0024923509 0.0048638867 + 1159300 0.005989711 0.0022968108 0.0052448717 + 1159400 0.0049890905 0.0023906538 0.0048462217 + 1159500 0.0060369553 0.0023628325 0.0053341464 + 1159600 0.0059590704 0.0023355014 0.0052684814 + 1159700 0.0042444954 0.0025064035 0.0045954911 + 1159800 0.0052971469 0.0021382116 0.0047454011 + 1159900 0.0042318877 0.0020720237 0.0041549059 + 1160000 0.00351868 0.002514236 0.0042460863 + 1160100 0.0066969894 0.00257182 0.0058679945 + 1160200 0.0038614306 0.0031237184 0.0050242663 + 1160300 0.0046983561 0.0028904567 0.0052029288 + 1160400 0.0030716934 0.0026409312 0.0041527803 + 1160500 0.0052267964 0.0021895292 0.0047620931 + 1160600 0.0046378065 0.0019163119 0.0041989823 + 1160700 0.0042175194 0.0018441714 0.0039199817 + 1160800 0.004119872 0.0020197566 0.0040475061 + 1160900 0.0066885874 0.0023592573 0.0056512963 + 1161000 0.0062817519 0.0024409372 0.005532737 + 1161100 0.0043047443 0.0027891213 0.0049078626 + 1161200 0.0055424564 0.0031741721 0.0059020999 + 1161300 0.0068180176 0.0031334374 0.0064891804 + 1161400 0.0052523061 0.0029059118 0.0054910312 + 1161500 0.0053394151 0.0027825841 0.0054105774 + 1161600 0.0052175716 0.0027850143 0.0053530378 + 1161700 0.0058371023 0.0030451302 0.005918079 + 1161800 0.0046462809 0.0036679083 0.0059547496 + 1161900 0.0052051272 0.0035706762 0.0061325747 + 1162000 0.0061977264 0.0035990255 0.0066494689 + 1162100 0.004412788 0.0036140777 0.0057859968 + 1162200 0.005279992 0.0030114317 0.0056101778 + 1162300 0.0053489006 0.0024663095 0.0050989716 + 1162400 0.0051826986 0.0025710789 0.0051219384 + 1162500 0.0041518787 0.0026848105 0.0047283133 + 1162600 0.0042278114 0.0026027182 0.0046835941 + 1162700 0.0045350174 0.0025259162 0.0047579951 + 1162800 0.0049717421 0.0024233772 0.0048704065 + 1162900 0.0061833751 0.0027600097 0.0058033896 + 1163000 0.0045985286 0.002663015 0.0049263533 + 1163100 0.0043285286 0.0024415438 0.0045719915 + 1163200 0.003518059 0.0021892783 0.0039208229 + 1163300 0.0051012578 0.00205001 0.0045607854 + 1163400 0.0063332 0.0019746295 0.0050917514 + 1163500 0.0053964042 0.002497155 0.0051531977 + 1163600 0.0043853153 0.0025334414 0.0046918388 + 1163700 0.0044904719 0.0023034259 0.0045135801 + 1163800 0.0052070762 0.0023525066 0.0049153644 + 1163900 0.0048182308 0.0029634691 0.0053349421 + 1164000 0.0036711715 0.0037256151 0.0055325198 + 1164100 0.0038251069 0.0039143036 0.0057969734 + 1164200 0.004398862 0.0034824065 0.0056474714 + 1164300 0.0055652425 0.0027858543 0.0055249971 + 1164400 0.004946589 0.0028534432 0.0052880925 + 1164500 0.0041932217 0.0026544717 0.004718323 + 1164600 0.0047320303 0.0024419029 0.0047709491 + 1164700 0.0057750472 0.0023389878 0.0051813938 + 1164800 0.0055549588 0.0022642726 0.0049983539 + 1164900 0.0057307896 0.0022644654 0.0050850884 + 1165000 0.0050992325 0.0024432553 0.0049530338 + 1165100 0.0040929979 0.0025582408 0.0045727632 + 1165200 0.0064004732 0.0025392066 0.0056894395 + 1165300 0.0045058913 0.0028809184 0.0050986617 + 1165400 0.0046544792 0.0026359716 0.004926848 + 1165500 0.004676084 0.0025443979 0.004845908 + 1165600 0.0054654932 0.0024314702 0.0051215176 + 1165700 0.0056674154 0.0023169313 0.0051063623 + 1165800 0.0043325588 0.0029596515 0.0050920828 + 1165900 0.0043694497 0.0026137643 0.0047643529 + 1166000 0.0045798263 0.0022492718 0.004503405 + 1166100 0.0037324988 0.0023447688 0.004181858 + 1166200 0.0037846013 0.0022211252 0.0040838586 + 1166300 0.0054494978 0.0022710841 0.0049532588 + 1166400 0.0057987108 0.0017948656 0.0046489186 + 1166500 0.0054510181 0.001888682 0.004571605 + 1166600 0.0036951387 0.002652078 0.004470779 + 1166700 0.004327766 0.0028526145 0.0049826868 + 1166800 0.0059865961 0.0027068614 0.0056533892 + 1166900 0.0049662672 0.002369812 0.0048141466 + 1167000 0.0052248943 0.0023887458 0.0049603735 + 1167100 0.0060574567 0.0028789108 0.0058603153 + 1167200 0.0046697662 0.0031525082 0.0054509088 + 1167300 0.0043243664 0.0029180149 0.0050464139 + 1167400 0.0040481769 0.0029175807 0.0049100428 + 1167500 0.0055289242 0.0028617992 0.0055830665 + 1167600 0.0056033944 0.0029915571 0.0057494778 + 1167700 0.005541443 0.0022367362 0.0049641652 + 1167800 0.0041649882 0.0019923605 0.0040423157 + 1167900 0.0055732615 0.0020125636 0.0047556533 + 1168000 0.0036963562 0.0017472726 0.0035665729 + 1168100 0.0047060459 0.0014476708 0.0037639277 + 1168200 0.0037110034 0.0017130432 0.0035395527 + 1168300 0.0060673715 0.0017580067 0.0047442911 + 1168400 0.0050998199 0.0023848287 0.0048948963 + 1168500 0.0057262186 0.0026451176 0.0054634908 + 1168600 0.0062939148 0.0026012351 0.0056990213 + 1168700 0.003159149 0.0024273557 0.0039822493 + 1168800 0.0043798862 0.002309753 0.0044654782 + 1168900 0.0056548979 0.0024391306 0.0052224007 + 1169000 0.0048026548 0.0021642805 0.0045280872 + 1169100 0.0054092119 0.0019561542 0.0046185007 + 1169200 0.003738173 0.0023235919 0.0041634739 + 1169300 0.0039532398 0.0022717969 0.0042175321 + 1169400 0.0032537448 0.002682017 0.0042834695 + 1169500 0.0041327232 0.0021719829 0.0042060576 + 1169600 0.0043419362 0.0019775222 0.0041145689 + 1169700 0.004748595 0.0019876143 0.0043248134 + 1169800 0.0056697658 0.0020470842 0.0048376721 + 1169900 0.0044353827 0.0019305571 0.004113597 + 1170000 0.0037253516 0.0017034733 0.0035370448 + 1170100 0.0049573517 0.0015529842 0.0039929307 + 1170200 0.0037455132 0.0018269178 0.0036704126 + 1170300 0.0041743208 0.0021201616 0.0041747101 + 1170400 0.0043594119 0.0026248244 0.0047704724 + 1170500 0.0053548436 0.0030385871 0.0056741742 + 1170600 0.0046997873 0.0028542741 0.0051674506 + 1170700 0.0064066847 0.0025629233 0.0057162134 + 1170800 0.0052964884 0.0021969164 0.0048037818 + 1170900 0.0053465931 0.0020653296 0.0046968559 + 1171000 0.0048145525 0.002233113 0.0046027756 + 1171100 0.0060869163 0.0019659032 0.0049618073 + 1171200 0.0033836448 0.0019653842 0.0036307719 + 1171300 0.0046879148 0.0021495696 0.0044569027 + 1171400 0.0052650136 0.001996975 0.0045883488 + 1171500 0.0035296954 0.0020638305 0.0038011024 + 1171600 0.0054637452 0.0021336988 0.0048228858 + 1171700 0.0048900894 0.0024550597 0.0048619006 + 1171800 0.0056638798 0.0025900718 0.0053777626 + 1171900 0.0063126928 0.0024321339 0.0055391624 + 1172000 0.0048455705 0.0025653563 0.0049502856 + 1172100 0.004444044 0.0025908494 0.0047781523 + 1172200 0.0031678039 0.0028580957 0.0044172492 + 1172300 0.0046678172 0.0027381246 0.0050355659 + 1172400 0.0065547607 0.002437567 0.0056637383 + 1172500 0.0060032435 0.0025888242 0.0055435457 + 1172600 0.0064226591 0.0028556585 0.006016811 + 1172700 0.0043133701 0.0027896919 0.0049126788 + 1172800 0.0053294855 0.0026299469 0.0052530531 + 1172900 0.0055391479 0.0027580615 0.0054843609 + 1173000 0.0061858496 0.0025420879 0.0055866858 + 1173100 0.0047490726 0.0031570437 0.0054944779 + 1173200 0.0054078653 0.0032804223 0.0059421061 + 1173300 0.0072529073 0.003089422 0.0066592123 + 1173400 0.004692452 0.0029490379 0.0052586041 + 1173500 0.0046613553 0.0025599399 0.0048542007 + 1173600 0.0040277376 0.002349293 0.0043316951 + 1173700 0.0041603796 0.0023433277 0.0043910146 + 1173800 0.0043688357 0.0025202401 0.0046705264 + 1173900 0.0044338406 0.0028192768 0.0050015577 + 1174000 0.0045044621 0.002727417 0.0049444569 + 1174100 0.005096092 0.0022582654 0.0047664982 + 1174200 0.0056749221 0.0017818969 0.0045750226 + 1174300 0.003942828 0.0024378895 0.0043785001 + 1174400 0.005951958 0.0028397226 0.005769202 + 1174500 0.0056212459 0.0024190973 0.0051858043 + 1174600 0.0062481626 0.0018684616 0.0049437291 + 1174700 0.0067416182 0.0025830895 0.0059012298 + 1174800 0.0049533623 0.0035013385 0.0059393215 + 1174900 0.0058340134 0.0032780306 0.006149459 + 1175000 0.0041998637 0.0029299207 0.0049970412 + 1175100 0.0055400732 0.0020585066 0.0047852613 + 1175200 0.0064043085 0.0023244419 0.0054765625 + 1175300 0.0047464305 0.0025797315 0.0049158652 + 1175400 0.0059348523 0.0029275519 0.005848612 + 1175500 0.0051865477 0.0030396448 0.0055923987 + 1175600 0.0077088102 0.0028146722 0.0066088523 + 1175700 0.0063130683 0.0026984058 0.0058056191 + 1175800 0.0049192826 0.0029703542 0.0053915636 + 1175900 0.0050546501 0.0026505964 0.005138432 + 1176000 0.0040904086 0.0019651511 0.0039783991 + 1176100 0.0043341675 0.0018367671 0.0039699901 + 1176200 0.0052052122 0.0020969552 0.0046588956 + 1176300 0.0040757998 0.0022114969 0.0042175547 + 1176400 0.0039461845 0.0021321726 0.0040744353 + 1176500 0.006336472 0.0018931402 0.0050118725 + 1176600 0.0066427846 0.0023034734 0.0055729689 + 1176700 0.0045019307 0.0022430277 0.0044588217 + 1176800 0.0063319042 0.002069983 0.0051864671 + 1176900 0.0052891837 0.0024657456 0.0050690157 + 1177000 0.0036843528 0.0027365214 0.0045499138 + 1177100 0.0042864055 0.0024777354 0.0045874506 + 1177200 0.0041220866 0.0022832015 0.004312041 + 1177300 0.0053775703 0.0022213111 0.004868084 + 1177400 0.0055859864 0.0023010898 0.0050504425 + 1177500 0.0042188371 0.0023825489 0.0044590078 + 1177600 0.0056927446 0.0024284464 0.0052303442 + 1177700 0.0053174458 0.0023601307 0.0049773111 + 1177800 0.005168293 0.0021356313 0.0046794005 + 1177900 0.0031412513 0.0019649382 0.0035110229 + 1178000 0.0059873307 0.0016150744 0.0045619638 + 1178100 0.004143903 0.0017602381 0.0037998154 + 1178200 0.0049959225 0.0019092126 0.0043681432 + 1178300 0.0057147826 0.0019867035 0.004799448 + 1178400 0.0048129129 0.0021947187 0.0045635743 + 1178500 0.0042483087 0.0022782669 0.0043692314 + 1178600 0.0050576881 0.0023484644 0.0048377953 + 1178700 0.0048444148 0.0025869996 0.00497136 + 1178800 0.0063556511 0.0024622267 0.0055903987 + 1178900 0.0057913696 0.0021326696 0.0049831093 + 1179000 0.0059626013 0.0023376304 0.0052723482 + 1179100 0.0054727498 0.0026862452 0.0053798643 + 1179200 0.0048555283 0.0025847172 0.0049745476 + 1179300 0.0044836121 0.0026095063 0.0048162841 + 1179400 0.0043266466 0.0024350687 0.0045645901 + 1179500 0.0039582008 0.0023566882 0.0043048651 + 1179600 0.0048051695 0.0025067073 0.0048717516 + 1179700 0.0047746316 0.0028089674 0.0051589814 + 1179800 0.0058299741 0.0027176342 0.0055870745 + 1179900 0.0050721931 0.0031787474 0.0056752175 + 1180000 0.0061434713 0.0030231722 0.006046912 + 1180100 0.0057428555 0.0027753954 0.0056019571 + 1180200 0.0054234191 0.0025434542 0.0052127933 + 1180300 0.0043601598 0.0023017696 0.0044477858 + 1180400 0.0045403158 0.0021549236 0.0043896103 + 1180500 0.0062461813 0.0017550637 0.0048293561 + 1180600 0.0044974135 0.0019947003 0.004208271 + 1180700 0.006208301 0.0026084983 0.0056641464 + 1180800 0.0063334274 0.002457788 0.0055750218 + 1180900 0.0039596166 0.0027407643 0.0046896381 + 1181000 0.004952683 0.0027582917 0.0051959404 + 1181100 0.0048849928 0.0025387567 0.0049430891 + 1181200 0.0050443956 0.002015645 0.0044984335 + 1181300 0.0055044393 0.0021406168 0.004849833 + 1181400 0.0058327819 0.0022550041 0.0051258265 + 1181500 0.0052830581 0.0029003197 0.0055005748 + 1181600 0.0059132546 0.0032795724 0.0061900024 + 1181700 0.0035293467 0.0031779192 0.0049150195 + 1181800 0.0057662108 0.0023630044 0.0052010612 + 1181900 0.0049395101 0.002106951 0.0045381161 + 1182000 0.0050756116 0.0022284007 0.0047265533 + 1182100 0.0043723065 0.0024940211 0.0046460156 + 1182200 0.0041432942 0.0025832265 0.0046225041 + 1182300 0.006530988 0.0026565395 0.0058710102 + 1182400 0.0052039057 0.0026001157 0.005161413 + 1182500 0.0043670294 0.002851637 0.0050010343 + 1182600 0.0036643534 0.0027037538 0.0045073028 + 1182700 0.0047665803 0.0024367009 0.0047827522 + 1182800 0.0059181168 0.0025051703 0.0054179934 + 1182900 0.0040956014 0.0028548993 0.0048707031 + 1183000 0.0057044306 0.0030553917 0.0058630411 + 1183100 0.0061465504 0.0029568253 0.0059820806 + 1183200 0.0056679999 0.0026530258 0.0054427445 + 1183300 0.005777735 0.0027327255 0.0055764544 + 1183400 0.0040930111 0.0032974296 0.0053119585 + 1183500 0.0051705135 0.003274415 0.0058192772 + 1183600 0.0057094442 0.0031288311 0.0059389482 + 1183700 0.0042705016 0.0032260223 0.0053279098 + 1183800 0.0064781772 0.0028046848 0.0059931627 + 1183900 0.0050003358 0.0029120368 0.0053731396 + 1184000 0.0051838396 0.0028965787 0.0054479998 + 1184100 0.0058658657 0.0025465789 0.0054336847 + 1184200 0.0057378387 0.0025710062 0.0053950987 + 1184300 0.0065389265 0.003051613 0.0062699908 + 1184400 0.0042784931 0.0031456068 0.0052514276 + 1184500 0.0075543107 0.002770699 0.0064888363 + 1184600 0.0038320684 0.0030671733 0.0049532694 + 1184700 0.0068836248 0.003172189 0.0065602231 + 1184800 0.0052381555 0.0028405657 0.0054187204 + 1184900 0.0048053257 0.0024891774 0.0048542986 + 1185000 0.0049123818 0.0024740836 0.0048918966 + 1185100 0.0069480544 0.002541521 0.0059612665 + 1185200 0.0061035233 0.0026864663 0.0056905442 + 1185300 0.0065204125 0.0028128582 0.0060221238 + 1185400 0.0057378361 0.003140701 0.0059647922 + 1185500 0.0052995998 0.0031761247 0.0057845215 + 1185600 0.0047898299 0.0031024801 0.0054599745 + 1185700 0.0047598911 0.0028927963 0.0052355552 + 1185800 0.0043205025 0.0027088378 0.0048353351 + 1185900 0.004182238 0.0032609939 0.0053194391 + 1186000 0.0049466611 0.0037203843 0.0061550691 + 1186100 0.0075153834 0.0029633421 0.0066623199 + 1186200 0.005952768 0.0024214338 0.0053513118 + 1186300 0.0045338439 0.0024857197 0.004717221 + 1186400 0.0039728987 0.0028940752 0.0048494863 + 1186500 0.0070007291 0.0038725181 0.0073181894 + 1186600 0.006721709 0.0038388568 0.0071471979 + 1186700 0.0055335323 0.0040923156 0.006815851 + 1186800 0.0054868375 0.0039391915 0.0066397443 + 1186900 0.0065071584 0.0032156689 0.0064184109 + 1187000 0.0049099978 0.0025488954 0.0049655349 + 1187100 0.0042134564 0.0025800176 0.0046538282 + 1187200 0.0031585852 0.003300472 0.0048550882 + 1187300 0.0067737322 0.0034098551 0.0067438014 + 1187400 0.0050297259 0.0037287664 0.0062043346 + 1187500 0.0051397838 0.0030057959 0.0055355332 + 1187600 0.0055468048 0.0020691524 0.0047992204 + 1187700 0.0050564984 0.0020236563 0.0045124016 + 1187800 0.0042675667 0.0021311754 0.0042316184 + 1187900 0.0037595055 0.0019511377 0.0038015193 + 1188000 0.0037697331 0.0017586814 0.0036140969 + 1188100 0.0045335396 0.002314244 0.0045455955 + 1188200 0.0045182737 0.0021209098 0.0043447476 + 1188300 0.0051985895 0.001672396 0.0042310768 + 1188400 0.0041695541 0.0021293336 0.004181536 + 1188500 0.006292215 0.0021865288 0.0052834784 + 1188600 0.004942999 0.002043249 0.0044761313 + 1188700 0.005022989 0.0025872393 0.0050594917 + 1188800 0.0045609679 0.002596793 0.0048416444 + 1188900 0.0045641782 0.0032085696 0.005455001 + 1189000 0.0042988048 0.0027869089 0.0049027269 + 1189100 0.00398304 0.0020922677 0.0040526701 + 1189200 0.0045048309 0.0019077949 0.0041250164 + 1189300 0.0051786009 0.0019808636 0.0045297062 + 1189400 0.0045784854 0.0020093532 0.0042628265 + 1189500 0.0051120721 0.001970535 0.004486633 + 1189600 0.0044467672 0.0017839838 0.003972627 + 1189700 0.0045131602 0.0022403643 0.0044616853 + 1189800 0.0032331007 0.002984013 0.0045753047 + 1189900 0.006078208 0.0026766843 0.0056683023 + 1190000 0.0045261564 0.0022569076 0.0044846252 + 1190100 0.0051987448 0.002049329 0.0046080862 + 1190200 0.004779418 0.0024251929 0.0047775626 + 1190300 0.004300943 0.0025241437 0.0046410141 + 1190400 0.0053516946 0.0023511687 0.0049852059 + 1190500 0.0043150056 0.0023743763 0.0044981681 + 1190600 0.0061088807 0.0025507729 0.0055574876 + 1190700 0.0038351394 0.002551762 0.0044393697 + 1190800 0.004246945 0.0022584567 0.0043487499 + 1190900 0.0051584521 0.0020761387 0.0046150644 + 1191000 0.0047115158 0.0022670361 0.0045859853 + 1191100 0.0044893315 0.0028303402 0.0050399331 + 1191200 0.006536 0.0026859904 0.0059029279 + 1191300 0.0055540728 0.0024653055 0.0051989507 + 1191400 0.0059039227 0.0022034473 0.0051092843 + 1191500 0.0058159591 0.0020265524 0.0048890948 + 1191600 0.0047863245 0.0020225771 0.0043783462 + 1191700 0.004174721 0.0022398252 0.0042945707 + 1191800 0.0048588091 0.0023797117 0.0047711568 + 1191900 0.0046831749 0.002571828 0.0048768281 + 1192000 0.0059062127 0.0024127937 0.0053197577 + 1192100 0.0041490352 0.0024751031 0.0045172064 + 1192200 0.0042252197 0.0026869817 0.004766582 + 1192300 0.0055778715 0.0024317705 0.0051771291 + 1192400 0.0037959591 0.0026252441 0.0044935677 + 1192500 0.00512867 0.0023077147 0.004831982 + 1192600 0.0054102835 0.0023072061 0.0049700801 + 1192700 0.00597936 0.0024631871 0.0054061533 + 1192800 0.0053236067 0.0028505863 0.005470799 + 1192900 0.0047977701 0.0028662483 0.0052276508 + 1193000 0.0045713589 0.0024265417 0.0046765075 + 1193100 0.0066379493 0.0019736457 0.0052407613 + 1193200 0.0050147636 0.0024739857 0.0049421897 + 1193300 0.0045421238 0.0029527775 0.0051883541 + 1193400 0.0043817168 0.0027741839 0.0049308101 + 1193500 0.0038367714 0.0024843455 0.0043727565 + 1193600 0.0041309784 0.0022113174 0.0042445333 + 1193700 0.0043505506 0.0020424261 0.0041837127 + 1193800 0.0047451944 0.0022211147 0.0045566401 + 1193900 0.0055200967 0.0023524861 0.0050694087 + 1194000 0.0058636965 0.0022775113 0.0051635495 + 1194100 0.0037152706 0.0025999101 0.0044285199 + 1194200 0.0056987911 0.002667719 0.0054725927 + 1194300 0.0041701203 0.002457221 0.0045097021 + 1194400 0.0054497342 0.00203528 0.0047175711 + 1194500 0.0054747112 0.0023559541 0.0050505386 + 1194600 0.0043077965 0.0032010485 0.0053212921 + 1194700 0.0051202382 0.0035221661 0.0060422834 + 1194800 0.0061111349 0.0031092602 0.0061170844 + 1194900 0.0055465458 0.0028487031 0.0055786436 + 1195000 0.006222553 0.0033181768 0.0063808395 + 1195100 0.0056269139 0.0033225421 0.0060920388 + 1195200 0.0043792785 0.0026808946 0.0048363208 + 1195300 0.0063252799 0.001867458 0.0049806817 + 1195400 0.0052557957 0.0018806725 0.0044675095 + 1195500 0.0063833465 0.0020589345 0.0052007379 + 1195600 0.0058089094 0.0016676694 0.0045267419 + 1195700 0.0056211091 0.0017257006 0.0044923402 + 1195800 0.0040383424 0.0021526042 0.0041402259 + 1195900 0.0037384857 0.0020636524 0.0039036883 + 1196000 0.005395895 0.0020982908 0.0047540829 + 1196100 0.0057120149 0.0022121456 0.0050235279 + 1196200 0.0060694071 0.0018394085 0.0048266948 + 1196300 0.0057823095 0.0020887703 0.0049347507 + 1196400 0.0052219441 0.0021773909 0.0047475665 + 1196500 0.0045627781 0.0022801312 0.0045258736 + 1196600 0.00485071 0.0021984811 0.0045859399 + 1196700 0.0052611535 0.0022251852 0.0048146592 + 1196800 0.0051198557 0.0022075362 0.0047274652 + 1196900 0.0048117363 0.001798591 0.0041668675 + 1197000 0.0042825533 0.001790112 0.0038979312 + 1197100 0.005348905 0.0019353591 0.0045680232 + 1197200 0.0033154904 0.0022278409 0.0038596838 + 1197300 0.0041906882 0.0022437829 0.0043063873 + 1197400 0.0045090534 0.0020926386 0.0043119383 + 1197500 0.0040574934 0.0016657874 0.0036628349 + 1197600 0.0048762441 0.0018493608 0.0042493872 + 1197700 0.0063497312 0.0024132025 0.0055384608 + 1197800 0.0046251597 0.0026708513 0.0049472971 + 1197900 0.0069719337 0.0028551476 0.0062866462 + 1198000 0.0044692544 0.0027583599 0.0049580711 + 1198100 0.0041915325 0.0028717737 0.0049347936 + 1198200 0.0061294936 0.0028767867 0.0058936469 + 1198300 0.0053198892 0.0024869179 0.0051053009 + 1198400 0.0058837829 0.0021386245 0.0050345489 + 1198500 0.0049132505 0.0022760239 0.0046942644 + 1198600 0.0046412712 0.0021718954 0.0044562711 + 1198700 0.0045286575 0.0020474986 0.0042764472 + 1198800 0.0043951777 0.0020693259 0.0042325774 + 1198900 0.0053010447 0.0020598185 0.0046689264 + 1199000 0.0048610389 0.0022977388 0.0046902814 + 1199100 0.0065968829 0.0024693606 0.0057162638 + 1199200 0.0053155687 0.0027039851 0.0053202416 + 1199300 0.0054972004 0.0028530892 0.0055587425 + 1199400 0.0062024119 0.0026212792 0.0056740288 + 1199500 0.0055216234 0.0024368083 0.0051544823 + 1199600 0.0053384574 0.0024057002 0.0050332222 + 1199700 0.006368849 0.0020448513 0.0051795192 + 1199800 0.0050780972 0.0022440811 0.004743457 + 1199900 0.0038633873 0.0025688801 0.004470391 + 1200000 0.0063516408 0.002298404 0.0054246022 + 1200100 0.0060878359 0.0021627557 0.0051591124 + 1200200 0.0056388388 0.0030333991 0.005808765 + 1200300 0.0041902877 0.0025999267 0.004662334 + 1200400 0.006283227 0.0019402546 0.0050327804 + 1200500 0.0049190135 0.0022570221 0.004678099 + 1200600 0.0038708868 0.0024980423 0.0044032444 + 1200700 0.0050114163 0.0022676177 0.0047341741 + 1200800 0.0063653733 0.0021734237 0.0053063808 + 1200900 0.006365828 0.0026078258 0.0057410068 + 1201000 0.0043852148 0.0028734331 0.0050317811 + 1201100 0.0058261542 0.0024732687 0.005340829 + 1201200 0.0036321832 0.0027904805 0.0045781956 + 1201300 0.0051301588 0.0020646165 0.0045896165 + 1201400 0.0061405895 0.0017890215 0.0048113429 + 1201500 0.0056523574 0.0019911248 0.0047731445 + 1201600 0.0053925963 0.0026782981 0.0053324666 + 1201700 0.0040852599 0.003057261 0.0050679748 + 1201800 0.0055135883 0.0029445968 0.0056583161 + 1201900 0.0068881019 0.002473658 0.0058638956 + 1202000 0.0052123226 0.0027273492 0.0052927892 + 1202100 0.004391538 0.0034495005 0.0056109607 + 1202200 0.0055299325 0.0038105343 0.006532298 + 1202300 0.0055390954 0.0031234096 0.0058496831 + 1202400 0.0042184034 0.0027781002 0.0048543456 + 1202500 0.0044268132 0.0026497483 0.0048285704 + 1202600 0.0035727428 0.0029738294 0.0047322888 + 1202700 0.0056870229 0.0028863676 0.0056854492 + 1202800 0.0071989522 0.0027630507 0.006306285 + 1202900 0.0053495528 0.0027265564 0.0053595394 + 1203000 0.0053397479 0.0025457053 0.0051738625 + 1203100 0.0060050412 0.0024113071 0.0053669133 + 1203200 0.0047153054 0.0025209357 0.00484175 + 1203300 0.0051919812 0.0022908377 0.0048462659 + 1203400 0.0043544467 0.0023448058 0.0044880101 + 1203500 0.0048804861 0.0026118225 0.0050139368 + 1203600 0.0054587809 0.0025165811 0.0052033248 + 1203700 0.0062025059 0.0027152537 0.0057680496 + 1203800 0.0048681232 0.0026932237 0.0050892531 + 1203900 0.0052276618 0.0025048792 0.005077869 + 1204000 0.005391501 0.0026909576 0.0053445869 + 1204100 0.0054879044 0.0029869106 0.0056879886 + 1204200 0.0058702558 0.0028882563 0.0057775228 + 1204300 0.0053966617 0.0023805119 0.0050366813 + 1204400 0.0051530045 0.0022804132 0.0048166576 + 1204500 0.0043694889 0.0022980178 0.0044486256 + 1204600 0.0042641912 0.0023092076 0.0044079891 + 1204700 0.0043579375 0.0018831675 0.0040280898 + 1204800 0.0063257606 0.0020704301 0.0051838904 + 1204900 0.0040565681 0.0029066513 0.0049032434 + 1205000 0.0054050621 0.0029396294 0.0055999334 + 1205100 0.005238259 0.0026855753 0.0052637809 + 1205200 0.0071015998 0.0025507977 0.0060461164 + 1205300 0.006183181 0.0025522171 0.0055955014 + 1205400 0.004574534 0.0024545717 0.0047061002 + 1205500 0.0041011224 0.0023142169 0.004332738 + 1205600 0.005027222 0.0021264348 0.0046007707 + 1205700 0.0060686013 0.0021661145 0.0051530042 + 1205800 0.0036859521 0.0023152981 0.0041294777 + 1205900 0.0048740334 0.0023601685 0.0047591068 + 1206000 0.0039938866 0.0022827523 0.0042484933 + 1206100 0.004598437 0.0029596057 0.005222899 + 1206200 0.0061176075 0.0031908898 0.0062018998 + 1206300 0.0049089949 0.0032143304 0.0056304763 + 1206400 0.0048250026 0.0033186466 0.0056934526 + 1206500 0.0079203023 0.0028411902 0.006739464 + 1206600 0.005126173 0.0026027671 0.0051258054 + 1206700 0.0061990389 0.002382026 0.0054331154 + 1206800 0.0051924774 0.0026427427 0.0051984152 + 1206900 0.0048387575 0.0027599881 0.005141564 + 1207000 0.0039574445 0.0025281809 0.0044759856 + 1207100 0.0041307843 0.0025409862 0.0045741066 + 1207200 0.0065283404 0.0021442065 0.005357374 + 1207300 0.0067602325 0.0027666066 0.0060939085 + 1207400 0.003488681 0.0028096689 0.004526754 + 1207500 0.0046239732 0.002663219 0.0049390808 + 1207600 0.0045139502 0.0027245595 0.0049462693 + 1207700 0.0046586126 0.002904697 0.0051976079 + 1207800 0.0040451527 0.0025829366 0.0045739103 + 1207900 0.006075512 0.002070365 0.005060656 + 1208000 0.0045789412 0.0024051743 0.0046588719 + 1208100 0.0034270935 0.002879007 0.0045657796 + 1208200 0.0048866811 0.002990118 0.0053952813 + 1208300 0.004878715 0.0021802661 0.0045815086 + 1208400 0.0046005415 0.0021559196 0.0044202486 + 1208500 0.003794187 0.0023419928 0.0042094442 + 1208600 0.0044917269 0.0021401392 0.0043509111 + 1208700 0.0052782087 0.0021255783 0.0047234466 + 1208800 0.0032139954 0.0021575543 0.0037394427 + 1208900 0.0052089674 0.0023045086 0.0048682972 + 1209000 0.0043451726 0.002438959 0.0045775986 + 1209100 0.0057368825 0.0023651193 0.0051887412 + 1209200 0.0045244364 0.002240435 0.0044673061 + 1209300 0.0035334841 0.0023505147 0.0040896514 + 1209400 0.0056041319 0.0019833219 0.0047416056 + 1209500 0.0048418143 0.0023288677 0.0047119482 + 1209600 0.0031655068 0.0029315672 0.0044895901 + 1209700 0.004838994 0.0030706471 0.0054523394 + 1209800 0.0036682544 0.0022524355 0.0040579044 + 1209900 0.0045842512 0.0020862844 0.0043425955 + 1210000 0.0050247231 0.0028474949 0.0053206008 + 1210100 0.0045348375 0.0030376679 0.0052696583 + 1210200 0.0044115513 0.0026146068 0.0047859172 + 1210300 0.0039577719 0.0030639563 0.0050119222 + 1210400 0.0040121174 0.0033666407 0.0053413547 + 1210500 0.004291115 0.0029086275 0.0050206606 + 1210600 0.0051341666 0.0022969974 0.00482397 + 1210700 0.0054623978 0.0019654705 0.0046539944 + 1210800 0.0044452188 0.0018080347 0.0039959159 + 1210900 0.0062156842 0.0020326357 0.0050919178 + 1211000 0.0045460868 0.0025444714 0.0047819986 + 1211100 0.0046081628 0.0025749359 0.0048430161 + 1211200 0.0042054752 0.0028479585 0.0049178409 + 1211300 0.0066137494 0.0027989566 0.0060541614 + 1211400 0.0036237938 0.0030879047 0.0048714907 + 1211500 0.0049260143 0.0025228434 0.004947366 + 1211600 0.0063240736 0.0018881664 0.0050007964 + 1211700 0.0052058662 0.0021143387 0.004676601 + 1211800 0.005590774 0.0021511607 0.0049028697 + 1211900 0.0051080676 0.0029728547 0.0054869817 + 1212000 0.0034521876 0.003272257 0.0049713806 + 1212100 0.0054039309 0.0027924899 0.0054522371 + 1212200 0.0051201925 0.0027393095 0.0052594042 + 1212300 0.0044661615 0.0028008169 0.0049990058 + 1212400 0.0054341553 0.0021948104 0.0048694337 + 1212500 0.0048796641 0.0024926942 0.0048944039 + 1212600 0.0041127434 0.0028233507 0.0048475916 + 1212700 0.004579734 0.002767175 0.0050212628 + 1212800 0.0061633083 0.0023965215 0.0054300248 + 1212900 0.0060578411 0.0019172243 0.0048988179 + 1213000 0.0036610178 0.002367632 0.0041695391 + 1213100 0.0046571032 0.0027114991 0.0050036671 + 1213200 0.0054698003 0.0026627465 0.0053549138 + 1213300 0.0050183098 0.0026858727 0.0051558221 + 1213400 0.0051273521 0.0027227894 0.0052464081 + 1213500 0.0046831448 0.0028815833 0.0051865686 + 1213600 0.0054902203 0.0025840078 0.0052862256 + 1213700 0.0043893301 0.0025072203 0.0046675937 + 1213800 0.0046068689 0.0028205018 0.0050879451 + 1213900 0.0048969775 0.0025526331 0.0049628642 + 1214000 0.0041943033 0.0025804505 0.0046448342 + 1214100 0.0040121294 0.0025999254 0.0045746453 + 1214200 0.005370481 0.0028013232 0.0054446068 + 1214300 0.0059072742 0.0025840855 0.005491572 + 1214400 0.0055304882 0.0030404927 0.0057625299 + 1214500 0.0043891872 0.0034059984 0.0055663015 + 1214600 0.0055994545 0.0030175621 0.0057735436 + 1214700 0.0061481569 0.0028873538 0.0059133998 + 1214800 0.0079943925 0.0025610039 0.0064957439 + 1214900 0.0052602164 0.0025253318 0.0051143446 + 1215000 0.0038680243 0.0023029883 0.0042067815 + 1215100 0.0050890387 0.00242963 0.0049343912 + 1215200 0.004113272 0.0023497481 0.0043742492 + 1215300 0.0038499734 0.0021963382 0.004091247 + 1215400 0.0041281775 0.0022528088 0.0042846461 + 1215500 0.0051454557 0.0024478937 0.0049804227 + 1215600 0.0072871312 0.0017700365 0.0053566714 + 1215700 0.0050108738 0.0016902288 0.0041565183 + 1215800 0.004871837 0.002165082 0.0045629393 + 1215900 0.0064086284 0.0025597535 0.0057140003 + 1216000 0.0041459309 0.0028659035 0.0049064789 + 1216100 0.0049227991 0.002844425 0.0052673652 + 1216200 0.0051910481 0.0025537837 0.0051087527 + 1216300 0.0044374623 0.0027883326 0.0049723961 + 1216400 0.0071951181 0.0029668755 0.0065082227 + 1216500 0.0043799416 0.0029180915 0.005073844 + 1216600 0.0047258169 0.0030544293 0.0053804173 + 1216700 0.0045218103 0.0027350443 0.0049606228 + 1216800 0.0044661716 0.0022175622 0.004415756 + 1216900 0.0049903781 0.0021374137 0.0045936155 + 1217000 0.0043389059 0.0022385076 0.0043740629 + 1217100 0.006407007 0.0023647134 0.0055181622 + 1217200 0.0048730074 0.0025264623 0.0049248956 + 1217300 0.0049369975 0.0023502554 0.0047801839 + 1217400 0.0046140018 0.00266051 0.004931464 + 1217500 0.0053336802 0.0022569629 0.0048821336 + 1217600 0.0040862154 0.0020516741 0.0040628583 + 1217700 0.0049972171 0.0018410143 0.0043005821 + 1217800 0.0035183377 0.0018542972 0.003585979 + 1217900 0.005207947 0.0020501278 0.0046134142 + 1218000 0.0037648244 0.0021702667 0.0040232662 + 1218100 0.0042024998 0.0021898638 0.0042582817 + 1218200 0.0055091201 0.0018748013 0.0045863214 + 1218300 0.0055223909 0.002071586 0.0047896378 + 1218400 0.0045717671 0.0024112625 0.0046614291 + 1218500 0.0059612069 0.0023071113 0.0052411429 + 1218600 0.0054463893 0.0018107338 0.0044913786 + 1218700 0.0053892503 0.0019350361 0.0045875577 + 1218800 0.0053832629 0.0019235672 0.0045731419 + 1218900 0.0047018368 0.0020795533 0.0043937386 + 1219000 0.0042371614 0.0019729418 0.0040584196 + 1219100 0.0045700183 0.0015310568 0.0037803627 + 1219200 0.0047594762 0.0014156176 0.0037581723 + 1219300 0.003685734 0.0018034542 0.0036175264 + 1219400 0.0048707931 0.0021272098 0.0045245532 + 1219500 0.0049542694 0.0022203142 0.0046587437 + 1219600 0.0050473906 0.0023030486 0.0047873112 + 1219700 0.0040256572 0.0024668173 0.0044481955 + 1219800 0.0044644207 0.0025585266 0.0047558586 + 1219900 0.0048460796 0.0029030836 0.0052882634 + 1220000 0.0062816604 0.0030527926 0.0061445473 + 1220100 0.005115471 0.0027505235 0.0052682943 + 1220200 0.0062119902 0.0025631034 0.0056205674 + 1220300 0.0060884229 0.0023511886 0.0053478342 + 1220400 0.0045214209 0.002504838 0.0047302248 + 1220500 0.0046308707 0.0024313914 0.0047106481 + 1220600 0.0041174951 0.0022973487 0.0043239283 + 1220700 0.0053244446 0.0023537237 0.0049743488 + 1220800 0.0059630339 0.0029036463 0.005838577 + 1220900 0.0047749352 0.0029832469 0.0053334103 + 1221000 0.0056946746 0.0030348287 0.0058376764 + 1221100 0.0059814455 0.0030607263 0.006004719 + 1221200 0.0051202788 0.0023622434 0.0048823807 + 1221300 0.004984285 0.0020689303 0.004522133 + 1221400 0.0068744926 0.0022085256 0.0055920649 + 1221500 0.0040543232 0.0026313856 0.0046268728 + 1221600 0.0077106493 0.0024936013 0.0062886865 + 1221700 0.0051547144 0.0026715004 0.0052085864 + 1221800 0.0063239398 0.0021493055 0.0052618697 + 1221900 0.0054208799 0.0021977296 0.004865819 + 1222000 0.004665222 0.002428667 0.004724831 + 1222100 0.004561046 0.0025830993 0.0048279891 + 1222200 0.0056901502 0.0028618947 0.0056625155 + 1222300 0.0050248446 0.0034538667 0.0059270324 + 1222400 0.0052476439 0.0037342998 0.0063171245 + 1222500 0.0048766086 0.0034432902 0.0058434959 + 1222600 0.0051544272 0.0025827195 0.0051196642 + 1222700 0.0051347832 0.0023111877 0.0048384638 + 1222800 0.0043624262 0.0021475217 0.0042946534 + 1222900 0.0041498605 0.0025728196 0.0046153291 + 1223000 0.0033467348 0.0024887573 0.0041359783 + 1223100 0.0050613256 0.0022335996 0.0047247208 + 1223200 0.005643903 0.0024287302 0.0052065887 + 1223300 0.0038254939 0.0024166386 0.0042994989 + 1223400 0.0042332384 0.0020770815 0.0041606285 + 1223500 0.0044656332 0.0020583747 0.0042563035 + 1223600 0.004882894 0.0021446391 0.0045479385 + 1223700 0.0061946461 0.0026042832 0.0056532106 + 1223800 0.0056527037 0.0029556689 0.005737859 + 1223900 0.0049803219 0.002904934 0.0053561862 + 1224000 0.0060799778 0.0026895715 0.0056820606 + 1224100 0.0053600648 0.0023380187 0.0049761756 + 1224200 0.0056949114 0.0023339672 0.0051369314 + 1224300 0.0053694402 0.0025057888 0.0051485601 + 1224400 0.0038090966 0.0023248217 0.0041996114 + 1224500 0.004489443 0.0026708532 0.0048805009 + 1224600 0.0045501674 0.0030569115 0.005296447 + 1224700 0.0052479327 0.0029799229 0.0055628897 + 1224800 0.0047647318 0.0026428132 0.0049879546 + 1224900 0.0051321248 0.0018748554 0.004400823 + 1225000 0.0039272498 0.0016638217 0.0035967649 + 1225100 0.0051763008 0.0018644654 0.004412176 + 1225200 0.0034056793 0.002181257 0.0038574897 + 1225300 0.0042970863 0.0024283062 0.0045432784 + 1225400 0.0063294294 0.0025823334 0.0056975994 + 1225500 0.0058664982 0.0024376931 0.0053251102 + 1225600 0.0039685805 0.0025568649 0.0045101507 + 1225700 0.0048389399 0.0026306393 0.005012305 + 1225800 0.0053039688 0.0024337781 0.0050443252 + 1225900 0.0062284234 0.0023811229 0.005446675 + 1226000 0.0057656623 0.0021774755 0.0050152624 + 1226100 0.005838147 0.0022816553 0.0051551183 + 1226200 0.0037740306 0.0025397216 0.0043972523 + 1226300 0.0048268885 0.0025327635 0.0049084977 + 1226400 0.0054671593 0.0025382635 0.005229131 + 1226500 0.0047711244 0.0018531878 0.0042014756 + 1226600 0.0054091403 0.0017847566 0.0044470679 + 1226700 0.0039490498 0.0017919361 0.0037356091 + 1226800 0.0047240603 0.0020807899 0.0044059133 + 1226900 0.0059246705 0.0023325061 0.0052485549 + 1227000 0.0067133475 0.0024037951 0.0057080208 + 1227100 0.0072778075 0.00195123 0.0055332758 + 1227200 0.0050639405 0.0014984279 0.0039908361 + 1227300 0.0064431428 0.0014502432 0.0046214776 + 1227400 0.0051629137 0.0022838419 0.0048249635 + 1227500 0.0057692552 0.002377012 0.0052165673 + 1227600 0.0051643892 0.0023501072 0.004891955 + 1227700 0.0044807812 0.0026594571 0.0048648416 + 1227800 0.0054256379 0.0028703044 0.0055407356 + 1227900 0.0045980454 0.0027284553 0.0049915558 + 1228000 0.0054522573 0.0020856729 0.0047692058 + 1228100 0.004651788 0.0019381089 0.0042276608 + 1228200 0.0055255044 0.0018826055 0.0046021897 + 1228300 0.0038131475 0.002277255 0.0041540386 + 1228400 0.0043024746 0.0023641452 0.0044817694 + 1228500 0.0043454544 0.002704886 0.0048436643 + 1228600 0.0042641503 0.0025622065 0.004660968 + 1228700 0.0062657222 0.0025456916 0.0056296018 + 1228800 0.0058883258 0.0030563682 0.0059545286 + 1228900 0.0048127256 0.0032604177 0.0056291811 + 1229000 0.0062757459 0.0033524372 0.0064412809 + 1229100 0.0043987704 0.0033447963 0.0055098161 + 1229200 0.0040227961 0.0029886022 0.0049685722 + 1229300 0.0047777432 0.0021405055 0.0044920509 + 1229400 0.0059707574 0.0022418934 0.0051806255 + 1229500 0.0053975498 0.002500489 0.0051570956 + 1229600 0.0055231112 0.0026426461 0.0053610523 + 1229700 0.0056529972 0.0021888815 0.004971216 + 1229800 0.0055793423 0.0024043653 0.0051504478 + 1229900 0.0048799599 0.0026996918 0.0051015471 + 1230000 0.0046353733 0.0027718384 0.0050533112 + 1230100 0.0055496431 0.0027506062 0.0054820712 + 1230200 0.0041035506 0.0025397285 0.0045594448 + 1230300 0.0062103949 0.0020806814 0.0051373601 + 1230400 0.0043182268 0.0020946737 0.004220051 + 1230500 0.0036885647 0.0021831723 0.0039986378 + 1230600 0.0056248193 0.0021180569 0.0048865227 + 1230700 0.0044823617 0.0024665023 0.0046726647 + 1230800 0.0048606692 0.0026319366 0.0050242972 + 1230900 0.006954861 0.0026320497 0.0060551454 + 1231000 0.0051091836 0.0029824315 0.0054971078 + 1231100 0.0041626925 0.0028876089 0.0049364341 + 1231200 0.0045914579 0.0025669224 0.0048267806 + 1231300 0.0047678458 0.0021666702 0.0045133444 + 1231400 0.0036605949 0.0023152733 0.0041169723 + 1231500 0.0043314978 0.0020713238 0.0042032329 + 1231600 0.0053069871 0.0017444958 0.0043565285 + 1231700 0.005708117 0.0017088876 0.0045183515 + 1231800 0.0053830154 0.0026496624 0.0052991153 + 1231900 0.0036640032 0.0036700839 0.0054734605 + 1232000 0.0043220393 0.0030603265 0.0051875802 + 1232100 0.0037258748 0.0025194033 0.0043532323 + 1232200 0.0034496491 0.0020861816 0.0037840558 + 1232300 0.0053270842 0.0020708744 0.0046927987 + 1232400 0.0042033393 0.0026599472 0.0047287783 + 1232500 0.0061102992 0.0026926754 0.0057000883 + 1232600 0.0047928605 0.0030711248 0.0054301108 + 1232700 0.0071167887 0.0024327563 0.0059355508 + 1232800 0.0060771973 0.0022222102 0.0052133308 + 1232900 0.0053936094 0.002627009 0.0052816761 + 1233000 0.0043989744 0.0029923013 0.0051574215 + 1233100 0.0056766237 0.0027430432 0.0055370065 + 1233200 0.0041768729 0.0025051303 0.0045609349 + 1233300 0.0054621012 0.00250129 0.0051896679 + 1233400 0.0041819147 0.0026967584 0.0047550446 + 1233500 0.0042737594 0.0025959457 0.0046994367 + 1233600 0.0053408721 0.0023063565 0.004935067 + 1233700 0.0048960868 0.0022227763 0.004632569 + 1233800 0.0039189465 0.0022867624 0.0042156188 + 1233900 0.0057765804 0.002576005 0.0054191657 + 1234000 0.0069178609 0.0024075564 0.0058124411 + 1234100 0.0043975132 0.0024984576 0.0046628586 + 1234200 0.0042745042 0.0019636661 0.0040675236 + 1234300 0.0044879497 0.0018346459 0.0040435587 + 1234400 0.0057215411 0.0019048462 0.0047209172 + 1234500 0.0037360609 0.0023247393 0.0041635817 + 1234600 0.0047554119 0.002626854 0.0049674083 + 1234700 0.0050763103 0.0029239588 0.0054224553 + 1234800 0.0049046266 0.0028083403 0.0052223362 + 1234900 0.0046145975 0.0025095645 0.0047808117 + 1235000 0.0047921218 0.0021808027 0.0045394251 + 1235100 0.0042700287 0.002295769 0.0043974237 + 1235200 0.0038482945 0.0021909844 0.0040850669 + 1235300 0.0045825618 0.0019163761 0.0041718558 + 1235400 0.0041311554 0.0024132391 0.0044465421 + 1235500 0.0047370207 0.0031069405 0.0054384429 + 1235600 0.00373988 0.0030761298 0.004916852 + 1235700 0.0060064825 0.0024516316 0.0054079472 + 1235800 0.0061177475 0.0023615081 0.0053725869 + 1235900 0.006159879 0.0021250975 0.0051569129 + 1236000 0.0058612164 0.0022562619 0.0051410793 + 1236100 0.0060475072 0.0019796602 0.0049561677 + 1236200 0.0049684718 0.0019399702 0.00438539 + 1236300 0.0053781401 0.0026981992 0.0053452525 + 1236400 0.0064149306 0.0025157133 0.0056730619 + 1236500 0.0058547292 0.0020364638 0.0049180883 + 1236600 0.0040103451 0.0025521737 0.0045260154 + 1236700 0.0042719426 0.0025629835 0.0046655802 + 1236800 0.004833378 0.0023881747 0.004767103 + 1236900 0.0044091721 0.0026180986 0.0047882379 + 1237000 0.0046093257 0.0025342568 0.0048029093 + 1237100 0.0054837127 0.0024302138 0.0051292286 + 1237200 0.0039341753 0.0023007611 0.004237113 + 1237300 0.0056239102 0.0024324635 0.0052004818 + 1237400 0.0049500967 0.002999984 0.0054363598 + 1237500 0.0075011598 0.0028325701 0.0065245472 + 1237600 0.005198688 0.0028007344 0.0053594637 + 1237700 0.0049169038 0.0024811417 0.0049011803 + 1237800 0.006895949 0.001834309 0.0052284089 + 1237900 0.0041566386 0.0022463588 0.0042922044 + 1238000 0.0042289922 0.0023531907 0.0044346478 + 1238100 0.0039810506 0.002502626 0.0044620493 + 1238200 0.004325473 0.0025079471 0.0046368908 + 1238300 0.0048173677 0.0025212234 0.0048922715 + 1238400 0.0048334717 0.0026695324 0.0050485068 + 1238500 0.0043255666 0.0026408459 0.0047698357 + 1238600 0.0044900681 0.0023952619 0.0046052173 + 1238700 0.005529738 0.0025672294 0.0052888973 + 1238800 0.005892341 0.002629252 0.0055293886 + 1238900 0.0057493991 0.0029808837 0.005810666 + 1239000 0.0050842998 0.0026610781 0.0051635069 + 1239100 0.005402205 0.0020199312 0.004678829 + 1239200 0.0050887736 0.0017646991 0.0042693299 + 1239300 0.0050525796 0.0015686358 0.0040554524 + 1239400 0.0053817066 0.002034434 0.0046832427 + 1239500 0.0031516887 0.0019438558 0.0034950776 + 1239600 0.004361034 0.0018879041 0.0040343505 + 1239700 0.0045376641 0.0019096202 0.0041430017 + 1239800 0.0047135365 0.0021581154 0.0044780592 + 1239900 0.0041943226 0.0023199793 0.0043843724 + 1240000 0.0042095597 0.0021025454 0.0041744381 + 1240100 0.006361896 0.0016263007 0.0047575464 + 1240200 0.0052315661 0.001995568 0.0045704794 + 1240300 0.0039738485 0.0020966359 0.0040525144 + 1240400 0.0047027534 0.0020261601 0.0043407966 + 1240500 0.0049545106 0.0021995237 0.0046380719 + 1240600 0.0045555274 0.0023394034 0.004581577 + 1240700 0.0056259389 0.0026881174 0.0054571342 + 1240800 0.0064411215 0.003023571 0.0061938105 + 1240900 0.0045918611 0.0023963356 0.0046563922 + 1241000 0.0041647131 0.0021808588 0.0042306786 + 1241100 0.0031115428 0.0022087599 0.0037402224 + 1241200 0.0043263135 0.0017696856 0.003899043 + 1241300 0.0059652902 0.0017637852 0.0046998265 + 1241400 0.0045793273 0.0022310398 0.0044849274 + 1241500 0.0053760529 0.0023243538 0.0049703799 + 1241600 0.0069613694 0.0022295328 0.0056558319 + 1241700 0.004557503 0.0023185125 0.0045616585 + 1241800 0.004421102 0.0023811321 0.0045571432 + 1241900 0.005293685 0.0020572319 0.0046627175 + 1242000 0.0042236835 0.0020949383 0.0041737826 + 1242100 0.0049813958 0.0017347528 0.0041865335 + 1242200 0.0046286537 0.0015366416 0.0038148071 + 1242300 0.0056019204 0.0015712564 0.0043284515 + 1242400 0.0044299573 0.0020403187 0.0042206883 + 1242500 0.005884893 0.0021766038 0.0050730746 + 1242600 0.0060181075 0.0022818061 0.0052438435 + 1242700 0.0061915833 0.0028851781 0.005932598 + 1242800 0.0054666741 0.0034095046 0.0061001333 + 1242900 0.0044537691 0.0034758297 0.0056679191 + 1243000 0.0038960623 0.0031817676 0.0050993608 + 1243100 0.0049062633 0.0031651505 0.0055799519 + 1243200 0.0065486118 0.0031715825 0.0063947274 + 1243300 0.0047188445 0.0025620573 0.0048846136 + 1243400 0.0057704927 0.0021701573 0.0050103217 + 1243500 0.0035741859 0.0018957017 0.0036548713 + 1243600 0.0056915738 0.0021370061 0.0049383276 + 1243700 0.0039153985 0.0025552514 0.0044823616 + 1243800 0.004248202 0.0024909052 0.0045818171 + 1243900 0.0059063496 0.0022068916 0.0051139231 + 1244000 0.0042924198 0.0024878186 0.004600494 + 1244100 0.0049464861 0.0021981589 0.0046327575 + 1244200 0.0039386262 0.0021126086 0.0040511512 + 1244300 0.0044794383 0.0021601754 0.004364899 + 1244400 0.0058050358 0.0017535608 0.0046107269 + 1244500 0.0037262091 0.0017156123 0.0035496058 + 1244600 0.0048218188 0.0020799612 0.0044532001 + 1244700 0.005281099 0.0025872285 0.0051865194 + 1244800 0.0060592511 0.0024499943 0.005432282 + 1244900 0.0061557819 0.0023318476 0.0053616465 + 1245000 0.0051001008 0.0022596072 0.0047698131 + 1245100 0.0068533709 0.0018865416 0.0052596851 + 1245200 0.0070521047 0.0024309425 0.0059019003 + 1245300 0.0060652015 0.002497493 0.0054827093 + 1245400 0.0057376612 0.002371629 0.0051956341 + 1245500 0.0036478228 0.0024440589 0.0042394717 + 1245600 0.0044295832 0.0024164436 0.0045966291 + 1245700 0.0045774433 0.0024675169 0.0047204773 + 1245800 0.0048708952 0.0023456459 0.0047430397 + 1245900 0.0053982012 0.0020858189 0.0047427461 + 1246000 0.005949572 0.0020024537 0.0049307587 + 1246100 0.0060547259 0.0017811305 0.0047611909 + 1246200 0.004149582 0.0024029431 0.0044453155 + 1246300 0.0036826277 0.0030291277 0.004841671 + 1246400 0.0050697929 0.0026378997 0.0051331884 + 1246500 0.004285921 0.0022861323 0.0043956091 + 1246600 0.0052123302 0.0019897554 0.0045551991 + 1246700 0.0049395052 0.0023668114 0.0047979741 + 1246800 0.0041676953 0.0020604126 0.0041117001 + 1246900 0.0050253551 0.0014601163 0.0039335332 + 1247000 0.0052725604 0.0018131491 0.0044082375 + 1247100 0.0056207002 0.0025944627 0.0053609011 + 1247200 0.0053042701 0.0021843276 0.004795023 + 1247300 0.0066225027 0.0019442009 0.005203714 + 1247400 0.0045829178 0.0026496071 0.0049052619 + 1247500 0.0053950636 0.0024578334 0.0051132163 + 1247600 0.0053962454 0.0027077757 0.0053637402 + 1247700 0.0063574467 0.003018317 0.0061473728 + 1247800 0.0057401367 0.0024415871 0.0052668107 + 1247900 0.0041255425 0.0024351803 0.0044657208 + 1248000 0.0045485357 0.0020640608 0.0043027932 + 1248100 0.0058557041 0.0021805141 0.0050626184 + 1248200 0.0047681597 0.0017256095 0.0040724381 + 1248300 0.0061723227 0.0013588286 0.0043967687 + 1248400 0.0057440725 0.0016045363 0.004431697 + 1248500 0.0050541103 0.0019015551 0.004389125 + 1248600 0.005194954 0.0019991933 0.0045560847 + 1248700 0.0045980205 0.0019043989 0.0041674871 + 1248800 0.0050777552 0.0018843722 0.0043835798 + 1248900 0.004314401 0.0021801937 0.0043036879 + 1249000 0.0048678427 0.0022597345 0.0046556259 + 1249100 0.004092595 0.0027551512 0.0047694753 + 1249200 0.0047721336 0.0030088746 0.0053576591 + 1249300 0.0050816372 0.0028521877 0.005353306 + 1249400 0.0063576148 0.002427066 0.0055562045 + 1249500 0.0036990649 0.0024611517 0.0042817852 + 1249600 0.0050419771 0.0024140406 0.0048956387 + 1249700 0.0031269649 0.0022617243 0.0038007773 + 1249800 0.0043072241 0.0022122073 0.0043321691 + 1249900 0.0047704581 0.0028009544 0.0051489142 + 1250000 0.0052331951 0.0029601114 0.0055358247 + 1250100 0.0056057494 0.0028641059 0.0056231856 + 1250200 0.0060326351 0.0022729152 0.0052421028 + 1250300 0.0059143589 0.0022987328 0.0052097064 + 1250400 0.0056956622 0.0026016941 0.0054050278 + 1250500 0.0055853586 0.0028715748 0.0056206185 + 1250600 0.0061218323 0.0032564797 0.006269569 + 1250700 0.0050352955 0.0029814804 0.0054597899 + 1250800 0.0049930933 0.0026107761 0.0050683142 + 1250900 0.0068241939 0.0027534664 0.0061122494 + 1251000 0.0056336945 0.002647932 0.005420766 + 1251100 0.0048892312 0.0025137672 0.0049201856 + 1251200 0.0056769569 0.0020866923 0.0048808195 + 1251300 0.0066610289 0.0020548956 0.0053333708 + 1251400 0.0062824255 0.0021345477 0.005226679 + 1251500 0.0047830545 0.0023398281 0.0046939878 + 1251600 0.0043830779 0.0025993728 0.004756669 + 1251700 0.0047791709 0.0024633784 0.0048156266 + 1251800 0.0069457744 0.0018281291 0.0052467525 + 1251900 0.0050721329 0.0018724086 0.0043688491 + 1252000 0.0056959932 0.002104696 0.0049081926 + 1252100 0.0056018746 0.0018195869 0.0045767596 + 1252200 0.0065083891 0.0020233906 0.0052267384 + 1252300 0.0041738624 0.0025150219 0.0045693447 + 1252400 0.0049806385 0.0020388475 0.0044902555 + 1252500 0.0042445446 0.0019895591 0.0040786709 + 1252600 0.0048289597 0.0023598032 0.0047365568 + 1252700 0.0050732777 0.0025454336 0.0050424375 + 1252800 0.0044916142 0.0025030147 0.004713731 + 1252900 0.0050828067 0.0023946628 0.0048963568 + 1253000 0.003945415 0.0021563692 0.0040982532 + 1253100 0.0039446635 0.0017538754 0.0036953894 + 1253200 0.0039950502 0.0016394741 0.0036057878 + 1253300 0.0046291346 0.0016212072 0.0038996094 + 1253400 0.0059530463 0.0017102855 0.0046403005 + 1253500 0.0042673817 0.0019484789 0.0040488308 + 1253600 0.0055016773 0.0020139752 0.004721832 + 1253700 0.005804968 0.0020689216 0.0049260543 + 1253800 0.0056275497 0.0023846243 0.0051544339 + 1253900 0.0062942883 0.0021953753 0.0052933453 + 1254000 0.0061455537 0.0023129797 0.0053377444 + 1254100 0.0049964026 0.0029944237 0.0054535906 + 1254200 0.0044968647 0.002874252 0.0050875526 + 1254300 0.0061828547 0.0028060096 0.0058491334 + 1254400 0.0055164693 0.0028355909 0.0055507281 + 1254500 0.0061291487 0.0030606727 0.0060773631 + 1254600 0.0039797254 0.003045895 0.0050046661 + 1254700 0.0061688457 0.0020015548 0.0050377836 + 1254800 0.0050912067 0.0017322179 0.0042380462 + 1254900 0.0060011143 0.0015170152 0.0044706886 + 1255000 0.0044109154 0.0018179682 0.0039889656 + 1255100 0.0064610884 0.0021346891 0.005314756 + 1255200 0.0044966342 0.0022704627 0.0044836498 + 1255300 0.0054248317 0.0021371271 0.0048071615 + 1255400 0.0048697031 0.0024376184 0.0048344254 + 1255500 0.0059804359 0.0021786033 0.0051220991 + 1255600 0.0053355867 0.0019957714 0.0046218805 + 1255700 0.0047458488 0.0024143463 0.0047501937 + 1255800 0.0041851148 0.0027236399 0.0047835011 + 1255900 0.0052105185 0.0025267383 0.0050912904 + 1256000 0.0053169454 0.0025991168 0.0052160508 + 1256100 0.0050789603 0.0031105131 0.0056103138 + 1256200 0.0034150202 0.0030450513 0.0047258816 + 1256300 0.0040982094 0.002933445 0.0049505324 + 1256400 0.0052326115 0.0027884472 0.0053638732 + 1256500 0.0064559231 0.0023473946 0.0055249192 + 1256600 0.0052522449 0.0025575942 0.0051426835 + 1256700 0.0065159043 0.0023919892 0.0055990358 + 1256800 0.0052520935 0.0027223939 0.0053074087 + 1256900 0.0062531749 0.0028335815 0.005911316 + 1257000 0.0072695069 0.0022134769 0.0057914373 + 1257100 0.0045859324 0.0022675638 0.0045247024 + 1257200 0.0047520053 0.0021313714 0.0044702491 + 1257300 0.005208273 0.0020655842 0.0046290311 + 1257400 0.0042694504 0.0022850074 0.0043863775 + 1257500 0.0060035765 0.0026670262 0.0056219115 + 1257600 0.0049377937 0.0027640616 0.005194382 + 1257700 0.0045883492 0.0026414281 0.0048997562 + 1257800 0.0035054205 0.002957949 0.0046832731 + 1257900 0.0041021238 0.0025911398 0.0046101539 + 1258000 0.0042425292 0.0021648724 0.0042529922 + 1258100 0.0038783702 0.0021636251 0.0040725104 + 1258200 0.0049314377 0.0022404999 0.0046676919 + 1258300 0.004383105 0.0024180282 0.0045753377 + 1258400 0.0058674759 0.0022268751 0.0051147734 + 1258500 0.0039854301 0.002030164 0.0039917429 + 1258600 0.0047845389 0.0021255972 0.0044804874 + 1258700 0.004916498 0.0023219582 0.0047417971 + 1258800 0.0063731813 0.0029666689 0.0061034691 + 1258900 0.0070238099 0.0030723153 0.0065293468 + 1259000 0.0070281169 0.0023253999 0.0057845512 + 1259100 0.0042275779 0.0022120615 0.0042928225 + 1259200 0.0046852796 0.0019739008 0.0042799368 + 1259300 0.0040230084 0.0020194646 0.003999539 + 1259400 0.0048987767 0.0020996855 0.0045108022 + 1259500 0.0052139889 0.0023287746 0.0048950347 + 1259600 0.0038484752 0.0026882144 0.0045823858 + 1259700 0.0043336225 0.002349405 0.0044823598 + 1259800 0.0045256856 0.0019957654 0.0042232513 + 1259900 0.004135825 0.0019639849 0.0039995863 + 1260000 0.0048135316 0.0021056216 0.0044747817 + 1260100 0.0039922884 0.0019626137 0.0039275682 + 1260200 0.0046371657 0.0021139224 0.0043962774 + 1260300 0.0046146944 0.00269005 0.0049613449 + 1260400 0.0046088196 0.0027662379 0.0050346413 + 1260500 0.007496484 0.0021167645 0.0058064402 + 1260600 0.0059731892 0.0021704359 0.005110365 + 1260700 0.0036115229 0.0031229313 0.0049004778 + 1260800 0.0050833385 0.0030301514 0.005532107 + 1260900 0.0067312723 0.0026507531 0.0059638012 + 1261000 0.0038910819 0.0027218801 0.004637022 + 1261100 0.0045767167 0.0028027581 0.0050553608 + 1261200 0.0052984234 0.0030808649 0.0056886827 + 1261300 0.0072408068 0.0028611759 0.0064250105 + 1261400 0.0056274943 0.0028950468 0.0056648292 + 1261500 0.0040025423 0.0027093837 0.004679385 + 1261600 0.0049634345 0.0023136959 0.0047566364 + 1261700 0.003792224 0.0027369892 0.0046034745 + 1261800 0.0040855923 0.0026194226 0.0046303001 + 1261900 0.0048152561 0.0024691538 0.0048391627 + 1262000 0.0038502854 0.0024988895 0.0043939518 + 1262100 0.0045586083 0.0026735646 0.0049172546 + 1262200 0.0059022594 0.002798233 0.0057032513 + 1262300 0.0035697295 0.0027093266 0.0044663029 + 1262400 0.0065371694 0.0025939997 0.0058115127 + 1262500 0.0054877994 0.0025334462 0.0052344725 + 1262600 0.0056248979 0.0025622537 0.0053307581 + 1262700 0.0043621344 0.0023971945 0.0045441825 + 1262800 0.0038116068 0.0026918804 0.0045679056 + 1262900 0.0053218445 0.0026901213 0.0053094666 + 1263000 0.0047305365 0.0025782915 0.0049066024 + 1263100 0.0049638177 0.0022739294 0.0047170585 + 1263200 0.0054327659 0.0023463161 0.0050202555 + 1263300 0.0046124951 0.0024644764 0.0047346889 + 1263400 0.0036554243 0.0020640248 0.0038631789 + 1263500 0.0041028019 0.0017903805 0.0038097283 + 1263600 0.0045240089 0.0016447729 0.0038714335 + 1263700 0.0041895753 0.0017794052 0.0038414618 + 1263800 0.0051557971 0.0020365172 0.0045741361 + 1263900 0.0043256578 0.0019912309 0.0041202655 + 1264000 0.0047471869 0.0018797711 0.0042162771 + 1264100 0.0046488414 0.0019981751 0.0042862767 + 1264200 0.0051216997 0.0021538422 0.0046746787 + 1264300 0.0038097216 0.0021457989 0.0040208962 + 1264400 0.0051324448 0.0019656371 0.0044917623 + 1264500 0.0046652061 0.0019259822 0.0042221384 + 1264600 0.0050749085 0.001857272 0.0043550785 + 1264700 0.0039166541 0.0018672053 0.0037949335 + 1264800 0.0051591673 0.0021480735 0.0046873511 + 1264900 0.0048215165 0.0021417758 0.0045148659 + 1265000 0.0043828449 0.0018293595 0.0039865409 + 1265100 0.0047276098 0.001551421 0.0038782915 + 1265200 0.0048435475 0.0016594301 0.0040433636 + 1265300 0.0049928364 0.0020071353 0.0044645469 + 1265400 0.0052496923 0.0021314404 0.0047152733 + 1265500 0.0039774491 0.0024442901 0.0044019408 + 1265600 0.0034485401 0.002975025 0.0046723533 + 1265700 0.0036397541 0.0031535501 0.0049449915 + 1265800 0.0049352024 0.0022495895 0.0046786344 + 1265900 0.0050899526 0.0017772874 0.0042824985 + 1266000 0.0039706952 0.0016351106 0.0035894372 + 1266100 0.0050076621 0.0018948135 0.0043595222 + 1266200 0.0043589228 0.0018746047 0.0040200121 + 1266300 0.0043359866 0.0019773719 0.0041114903 + 1266400 0.0047944497 0.0021943349 0.0045541031 + 1266500 0.0050571877 0.0019932923 0.0044823768 + 1266600 0.0037649203 0.0020637737 0.0039168204 + 1266700 0.005415593 0.0016638512 0.0043293384 + 1266800 0.0035149272 0.0016796292 0.0034096324 + 1266900 0.0066362225 0.001646221 0.0049124867 + 1267000 0.0043631006 0.0019970428 0.0041445064 + 1267100 0.0061836156 0.0020359313 0.0050794296 + 1267200 0.0056714327 0.0018106785 0.0046020868 + 1267300 0.0045399002 0.0018453094 0.0040797915 + 1267400 0.0042831043 0.002317129 0.0044252194 + 1267500 0.0044892039 0.0020743315 0.0042838615 + 1267600 0.0047712105 0.0015674485 0.0039157787 + 1267700 0.0039578391 0.0015019717 0.0034499706 + 1267800 0.004719006 0.0019000561 0.0042226918 + 1267900 0.0051073314 0.0018833601 0.0043971248 + 1268000 0.004534352 0.00203952 0.0042712714 + 1268100 0.0075758796 0.0023946619 0.0061234151 + 1268200 0.0056484724 0.0031559055 0.005936013 + 1268300 0.0054592866 0.0037145009 0.0064014935 + 1268400 0.0066572843 0.0029393347 0.0062159668 + 1268500 0.0067362929 0.0022252994 0.0055408186 + 1268600 0.0041212835 0.0028569721 0.0048854164 + 1268700 0.0034742303 0.0029639137 0.0046738864 + 1268800 0.0048618295 0.0024254117 0.0048183434 + 1268900 0.0044240368 0.0027357933 0.004913249 + 1269000 0.0039780356 0.0027338525 0.0046917919 + 1269100 0.0053928715 0.002556738 0.0052110419 + 1269200 0.0059683909 0.002589831 0.0055273984 + 1269300 0.0050186157 0.0026472713 0.0051173712 + 1269400 0.0062543485 0.0026670949 0.0057454071 + 1269500 0.0052293196 0.0023594512 0.0049332569 + 1269600 0.0050776239 0.0021722148 0.0046713578 + 1269700 0.0059244307 0.0023814938 0.0052974245 + 1269800 0.0044007005 0.0026461181 0.0048120879 + 1269900 0.0042182669 0.0024365483 0.0045127265 + 1270000 0.0043757445 0.0022098613 0.004363548 + 1270100 0.0059931442 0.0016347971 0.0045845477 + 1270200 0.0075170145 0.0016395935 0.0053393741 + 1270300 0.004650979 0.0021299084 0.0044190622 + 1270400 0.0043663045 0.0025937054 0.0047427459 + 1270500 0.0054776448 0.0023453046 0.0050413329 + 1270600 0.0052700157 0.002169385 0.0047632209 + 1270700 0.004734685 0.0026844269 0.0050147796 + 1270800 0.0048319864 0.0026507655 0.0050290088 + 1270900 0.0058990686 0.0024232473 0.0053266951 + 1271000 0.0070376897 0.0026928116 0.0061566744 + 1271100 0.0055303319 0.0033017004 0.0060236606 + 1271200 0.0050094361 0.0032412087 0.0057067905 + 1271300 0.0056558432 0.0029480892 0.0057318245 + 1271400 0.0062570954 0.0029896576 0.0060693217 + 1271500 0.0057105778 0.0032004854 0.0060111604 + 1271600 0.0065771935 0.0033566866 0.006593899 + 1271700 0.0052114545 0.0032267951 0.0057918078 + 1271800 0.0058218655 0.0026854654 0.0055509148 + 1271900 0.0045363584 0.0021518912 0.0043846301 + 1272000 0.0056083395 0.0022698806 0.0050302352 + 1272100 0.0043711723 0.0024181903 0.0045696266 + 1272200 0.0044461398 0.0023753122 0.0045636467 + 1272300 0.0038250346 0.0018676954 0.0037503296 + 1272400 0.0047422828 0.0021935991 0.0045276914 + 1272500 0.0054635067 0.0024208523 0.0051099221 + 1272600 0.0059221017 0.0026300926 0.005544877 + 1272700 0.00426459 0.0026036698 0.0047026476 + 1272800 0.0065933213 0.0024117317 0.0056568821 + 1272900 0.0058032049 0.0021026665 0.0049589314 + 1273000 0.0048533311 0.0021194656 0.0045082145 + 1273100 0.0063012947 0.0025567737 0.0056581922 + 1273200 0.0070065095 0.0030258424 0.0064743588 + 1273300 0.0051095723 0.0029033073 0.0054181749 + 1273400 0.0066487079 0.0028050361 0.006077447 + 1273500 0.0059564656 0.0029464078 0.0058781057 + 1273600 0.0039381536 0.0025748696 0.0045131796 + 1273700 0.0063935376 0.0021528312 0.0052996505 + 1273800 0.0051158521 0.0023602316 0.00487819 + 1273900 0.0051802599 0.0022448789 0.004794538 + 1274000 0.0048345491 0.0020093415 0.0043888461 + 1274100 0.0044752189 0.0018842162 0.0040868631 + 1274200 0.0040952078 0.0020271582 0.0040427683 + 1274300 0.004318966 0.0019796158 0.0041053569 + 1274400 0.0045475638 0.001903687 0.0041419411 + 1274500 0.0055600563 0.0016639487 0.004400539 + 1274600 0.0048019347 0.0015094691 0.0038729213 + 1274700 0.0045092434 0.0018339002 0.0040532934 + 1274800 0.0054991684 0.0022605913 0.0049672132 + 1274900 0.0035911121 0.0025760015 0.004343502 + 1275000 0.0065164449 0.0023141198 0.0055214325 + 1275100 0.0052328648 0.0021867471 0.0047622978 + 1275200 0.0053613393 0.0021531471 0.0047919312 + 1275300 0.0046667852 0.0026661312 0.0049630645 + 1275400 0.006373836 0.0024886835 0.0056258059 + 1275500 0.0040731515 0.002269662 0.0042744162 + 1275600 0.0062119263 0.0024087146 0.0054661471 + 1275700 0.0051719034 0.0024297147 0.0049752609 + 1275800 0.0056651452 0.002771521 0.0055598346 + 1275900 0.0052050722 0.0025840821 0.0051459535 + 1276000 0.0053226707 0.0022863707 0.0049061227 + 1276100 0.0039101406 0.0021336831 0.0040582054 + 1276200 0.0043155352 0.0017367922 0.0038608447 + 1276300 0.003902112 0.0019705743 0.003891145 + 1276400 0.0048918915 0.0019912642 0.0043989921 + 1276500 0.0052831492 0.0019657521 0.0045660521 + 1276600 0.0058667952 0.0017097341 0.0045972973 + 1276700 0.0062050592 0.0014719301 0.0045259827 + 1276800 0.0056872434 0.0013999448 0.0041991349 + 1276900 0.0071579343 0.0020016913 0.005524737 + 1277000 0.004920243 0.0026973258 0.0051190079 + 1277100 0.004946847 0.0029133052 0.0053480815 + 1277200 0.0060297215 0.0022182369 0.0051859904 + 1277300 0.0052502573 0.0018631962 0.0044473072 + 1277400 0.0040771475 0.0021689845 0.0041757056 + 1277500 0.0041071352 0.0020898994 0.00411138 + 1277600 0.0046195149 0.0023380026 0.0046116701 + 1277700 0.0050880003 0.0021680247 0.0046722749 + 1277800 0.0038880853 0.002530482 0.0044441489 + 1277900 0.0055898234 0.0022796498 0.005030891 + 1278000 0.0039854232 0.0024499127 0.0044114882 + 1278100 0.0077490952 0.0022294451 0.0060434529 + 1278200 0.0043336377 0.002435803 0.0045687653 + 1278300 0.0036847587 0.0019786923 0.0037922844 + 1278400 0.0052585362 0.002077264 0.0046654498 + 1278500 0.005048084 0.001993466 0.0044780698 + 1278600 0.0043629144 0.0025468716 0.0046942435 + 1278700 0.0051815526 0.0020233999 0.0045736954 + 1278800 0.0043553193 0.0017704049 0.0039140386 + 1278900 0.0072733185 0.0018771025 0.005456939 + 1279000 0.0046582087 0.0027018592 0.0049945713 + 1279100 0.0034695022 0.0027206127 0.0044282584 + 1279200 0.0049120037 0.0025377403 0.0049553671 + 1279300 0.0052479788 0.0021079817 0.0046909713 + 1279400 0.0052584818 0.002131801 0.00471996 + 1279500 0.0042196435 0.0020795002 0.004156356 + 1279600 0.0066724898 0.0019345263 0.0052186424 + 1279700 0.0053535603 0.0027004971 0.0053354526 + 1279800 0.0043585993 0.0028582528 0.0050035008 + 1279900 0.0051692679 0.0023290374 0.0048732864 + 1280000 0.0046154313 0.0021295486 0.0044012063 + 1280100 0.0039297216 0.0026048557 0.0045390155 + 1280200 0.0043417294 0.002247867 0.0043848119 + 1280300 0.004556513 0.0022133787 0.0044560375 + 1280400 0.0041139005 0.0023648199 0.0043896303 + 1280500 0.0043705114 0.0023890139 0.004540125 + 1280600 0.0053784575 0.0023984458 0.0050456554 + 1280700 0.0037306235 0.0022731305 0.0041092967 + 1280800 0.0065428261 0.0018869982 0.0051072954 + 1280900 0.0052579566 0.0018662422 0.0044541427 + 1281000 0.0060004163 0.0020358786 0.0049892085 + 1281100 0.0039264182 0.0019259962 0.0038585301 + 1281200 0.0060467639 0.0019496107 0.0049257523 + 1281300 0.0051568329 0.0025145391 0.0050526678 + 1281400 0.0043019847 0.0027371581 0.0048545412 + 1281500 0.0051069734 0.0026398081 0.0051533966 + 1281600 0.0045569652 0.0024305907 0.004673472 + 1281700 0.00524928 0.0027864174 0.0053700475 + 1281800 0.0042813112 0.0034256952 0.0055329031 + 1281900 0.0037585272 0.0033767846 0.0052266847 + 1282000 0.004716521 0.0027878291 0.0051092418 + 1282100 0.0046578015 0.0025768224 0.0048693341 + 1282200 0.0062327656 0.0025196432 0.0055873325 + 1282300 0.0040442993 0.0025882951 0.0045788487 + 1282400 0.0043923137 0.0026517348 0.0048135768 + 1282500 0.0057967541 0.0027407631 0.005593853 + 1282600 0.0035645611 0.0027161683 0.0044706007 + 1282700 0.0049900158 0.002233612 0.0046896354 + 1282800 0.0063215929 0.0019414174 0.0050528264 + 1282900 0.0039847773 0.0021751268 0.0041363844 + 1283000 0.005333826 0.0017561445 0.004381387 + 1283100 0.0049079485 0.0024158249 0.0048314558 + 1283200 0.0048502699 0.0026187192 0.0050059614 + 1283300 0.0063238833 0.0023429996 0.0054555359 + 1283400 0.0057914854 0.0020676189 0.0049181156 + 1283500 0.0038765347 0.0021716809 0.0040796628 + 1283600 0.0053226361 0.0022529374 0.0048726723 + 1283700 0.0046733714 0.0026349176 0.0049350926 + 1283800 0.0061943648 0.0026970806 0.0057458695 + 1283900 0.005437314 0.0028516028 0.0055277808 + 1284000 0.005241537 0.0029778597 0.0055576787 + 1284100 0.0058351875 0.0028317665 0.0057037729 + 1284200 0.005128987 0.0024220686 0.0049464919 + 1284300 0.0048743552 0.0023159063 0.0047150031 + 1284400 0.004666322 0.0022891627 0.0045858681 + 1284500 0.0037144729 0.0027942687 0.0046224858 + 1284600 0.0056775441 0.0029842618 0.005778678 + 1284700 0.0077326076 0.0032309666 0.0070368594 + 1284800 0.004806199 0.0030734393 0.0054389904 + 1284900 0.0057886138 0.0028126586 0.0056617419 + 1285000 0.0039315946 0.0026927647 0.0046278465 + 1285100 0.0052100042 0.0022970264 0.0048613254 + 1285200 0.0038682251 0.0028332006 0.0047370926 + 1285300 0.0061454299 0.0027189749 0.0057436787 + 1285400 0.0060465085 0.0021152531 0.005091269 + 1285500 0.0054263656 0.0019972367 0.004668026 + 1285600 0.0043923443 0.0024085029 0.0045703598 + 1285700 0.0067195945 0.0022556587 0.0055629591 + 1285800 0.0056400981 0.0023942358 0.0051702216 + 1285900 0.0060181758 0.0026954565 0.0056575274 + 1286000 0.0033905206 0.0026292685 0.0042980404 + 1286100 0.0056425315 0.0025395511 0.0053167346 + 1286200 0.0036935485 0.0023340726 0.004151991 + 1286300 0.0054996006 0.001896125 0.0046029597 + 1286400 0.0036781271 0.0022324092 0.0040427374 + 1286500 0.0043731176 0.0025428834 0.0046952772 + 1286600 0.0064313766 0.0023024728 0.0054679159 + 1286700 0.004614995 0.0025078218 0.0047792646 + 1286800 0.0052866371 0.0024659616 0.0050679783 + 1286900 0.0052077374 0.0023186504 0.0048818337 + 1287000 0.004834278 0.0022560506 0.0046354217 + 1287100 0.0042351698 0.0021119081 0.0041964057 + 1287200 0.0051913982 0.0019024949 0.0044576362 + 1287300 0.0038507277 0.0017254568 0.0036207369 + 1287400 0.0057109234 0.0016285509 0.004439396 + 1287500 0.0047549451 0.0021048336 0.0044451581 + 1287600 0.0052288919 0.0022144912 0.0047880865 + 1287700 0.0053429165 0.0023054743 0.0049351911 + 1287800 0.0050057396 0.002698224 0.0051619865 + 1287900 0.0051948169 0.0026109728 0.0051677967 + 1288000 0.0034642672 0.002330309 0.004035378 + 1288100 0.0056452647 0.0019440692 0.0047225979 + 1288200 0.0047203594 0.0019212081 0.00424451 + 1288300 0.0045941649 0.0023984241 0.0046596147 + 1288400 0.0047405396 0.0023366171 0.0046698515 + 1288500 0.0045384661 0.0021841877 0.004417964 + 1288600 0.0060031591 0.0023569592 0.0053116391 + 1288700 0.0047789175 0.0029660367 0.0053181601 + 1288800 0.0043178709 0.003185107 0.0053103091 + 1288900 0.0050314079 0.0032613879 0.005737784 + 1289000 0.0054847054 0.0028880313 0.0055875347 + 1289100 0.0054373778 0.0024343929 0.0051106022 + 1289200 0.0066309269 0.0025081338 0.0057717931 + 1289300 0.0047413955 0.0029530894 0.005286745 + 1289400 0.0039863896 0.0027094705 0.0046715216 + 1289500 0.0049473488 0.0024372587 0.0048722819 + 1289600 0.0057462964 0.0018727182 0.0047009734 + 1289700 0.0057686372 0.0017207404 0.0045599915 + 1289800 0.0043557709 0.001792863 0.003936719 + 1289900 0.0041273681 0.0016964763 0.0037279152 + 1290000 0.0053144833 0.0017841723 0.0043998945 + 1290100 0.0047569819 0.0022076539 0.0045489809 + 1290200 0.0055750443 0.0020595431 0.0048035102 + 1290300 0.0048428391 0.0018932829 0.0042768678 + 1290400 0.0044331353 0.0016787648 0.0038606986 + 1290500 0.0048808868 0.0014937853 0.0038960968 + 1290600 0.004218793 0.0015453106 0.0036217478 + 1290700 0.0048549763 0.0015021431 0.0038917017 + 1290800 0.0045296508 0.0017409693 0.0039704068 + 1290900 0.0050890985 0.0015810193 0.0040858099 + 1291000 0.0049844279 0.0018739663 0.0043272394 + 1291100 0.0045762096 0.0018474655 0.0040998186 + 1291200 0.0049043243 0.0018668618 0.0042807089 + 1291300 0.0038826354 0.0018389436 0.0037499282 + 1291400 0.0057706323 0.0016375277 0.0044777608 + 1291500 0.0055352718 0.0018231913 0.0045475829 + 1291600 0.0052628768 0.0022690623 0.0048593845 + 1291700 0.005426893 0.0024836235 0.0051546724 + 1291800 0.0037051135 0.0026695893 0.0044931999 + 1291900 0.0048106329 0.0032962079 0.0056639413 + 1292000 0.0040176978 0.0030217171 0.0049991777 + 1292100 0.0058617714 0.0021905295 0.0050756201 + 1292200 0.0038408765 0.0021384439 0.0040288753 + 1292300 0.0042436494 0.0025698934 0.0046585646 + 1292400 0.0056897873 0.0023307487 0.0051311909 + 1292500 0.0047617294 0.0024239905 0.0047676542 + 1292600 0.0052942167 0.0022829183 0.0048886656 + 1292700 0.0060571419 0.0027024369 0.0056836865 + 1292800 0.0050420125 0.0028759907 0.0053576063 + 1292900 0.003509557 0.0031597494 0.0048871095 + 1293000 0.0057753709 0.0033348113 0.0061773766 + 1293100 0.0042397259 0.0032138135 0.0053005536 + 1293200 0.0046888985 0.0027153014 0.0050231186 + 1293300 0.0053824995 0.0019944201 0.0046436191 + 1293400 0.0057934476 0.0017772745 0.004628737 + 1293500 0.0047313211 0.001981136 0.0043098331 + 1293600 0.0051635629 0.0019478368 0.0044892779 + 1293700 0.0038353433 0.0020448066 0.0039325146 + 1293800 0.0061114688 0.0022537933 0.0052617819 + 1293900 0.0049067925 0.0019206236 0.0043356855 + 1294000 0.0046724442 0.0019507337 0.0042504523 + 1294100 0.0049783033 0.0022958007 0.0047460594 + 1294200 0.0040962167 0.0020994628 0.0041155695 + 1294300 0.004691515 0.0018898253 0.0041989303 + 1294400 0.0048528884 0.0018420012 0.0042305321 + 1294500 0.0034979404 0.0018019085 0.0035235511 + 1294600 0.0041904175 0.0020610464 0.0041235175 + 1294700 0.004244099 0.0024337126 0.0045226051 + 1294800 0.0047492492 0.0029036127 0.0052411338 + 1294900 0.0062505222 0.002429814 0.0055062429 + 1295000 0.0049284586 0.0023525051 0.0047782308 + 1295100 0.005095385 0.002337882 0.0048457668 + 1295200 0.0045085926 0.0028861564 0.0051052293 + 1295300 0.0056793709 0.0033316584 0.0061269738 + 1295400 0.0056727142 0.0032461854 0.0060382244 + 1295500 0.0056987782 0.0028868567 0.0056917241 + 1295600 0.0052952669 0.0023557641 0.0049620283 + 1295700 0.0047752035 0.0018555602 0.0042058556 + 1295800 0.0048329384 0.0018996702 0.0042783821 + 1295900 0.0052574655 0.0023346183 0.0049222771 + 1296000 0.0061336061 0.0026497217 0.005668606 + 1296100 0.0059500707 0.0029118799 0.0058404303 + 1296200 0.0041852224 0.0028314094 0.0048913236 + 1296300 0.0054145364 0.0024127528 0.00507772 + 1296400 0.0064876605 0.0023333435 0.0055264889 + 1296500 0.0052440376 0.0023652597 0.0049463094 + 1296600 0.0050537266 0.0019984823 0.0044858634 + 1296700 0.0057959064 0.0021612137 0.0050138864 + 1296800 0.0031366436 0.0028490475 0.0043928642 + 1296900 0.0051956778 0.0026188002 0.0051760479 + 1297000 0.0069192422 0.0020621756 0.0054677401 + 1297100 0.0051681657 0.0020721975 0.004615904 + 1297200 0.0047207752 0.0022187467 0.0045422533 + 1297300 0.0026050302 0.0018984188 0.0031805822 + 1297400 0.0041298001 0.0019502354 0.0039828714 + 1297500 0.0057421586 0.0020800908 0.0049063095 + 1297600 0.004727166 0.0022271596 0.0045538116 + 1297700 0.0035950726 0.002310093 0.0040795428 + 1297800 0.0040894731 0.0024801264 0.0044929139 + 1297900 0.0040173096 0.0022493922 0.0042266617 + 1298000 0.004732309 0.0021064006 0.004435584 + 1298100 0.0039909297 0.0027235952 0.0046878809 + 1298200 0.00404955 0.0025892348 0.0045823727 + 1298300 0.0053614151 0.0021615622 0.0048003837 + 1298400 0.0046184346 0.0019269352 0.004200071 + 1298500 0.0072085174 0.0020209514 0.0055688936 + 1298600 0.0039383709 0.0026037262 0.0045421431 + 1298700 0.0041980903 0.0025836938 0.0046499414 + 1298800 0.0065135536 0.0025115771 0.0057174667 + 1298900 0.0048173062 0.0023721827 0.0047432006 + 1299000 0.0065079036 0.0022319568 0.0054350656 + 1299100 0.006895437 0.0020281353 0.0054219832 + 1299200 0.0053169139 0.0024321923 0.0050491109 + 1299300 0.0046262719 0.0026900852 0.0049670784 + 1299400 0.004984608 0.0028113372 0.005264699 + 1299500 0.0053141054 0.0029227961 0.0055383324 + 1299600 0.0053004874 0.0024795352 0.0050883688 + 1299700 0.0045987718 0.0020239613 0.0042874193 + 1299800 0.0043145306 0.0025024767 0.0046260347 + 1299900 0.0041202946 0.0027228599 0.0047508174 + 1300000 0.0063318497 0.002383176 0.0054996333 + 1300100 0.0058924308 0.0025114608 0.0054116416 + 1300200 0.0047190394 0.0027996247 0.005122277 + 1300300 0.006119855 0.0024985709 0.0055106871 + 1300400 0.0049513388 0.0030684339 0.005505421 + 1300500 0.0035864566 0.0039749297 0.0057401388 + 1300600 0.0078897247 0.003159147 0.0070423708 + 1300700 0.0074980434 0.0023777395 0.0060681827 + 1300800 0.0049443405 0.0023728318 0.0048063744 + 1300900 0.0065631147 0.0023697549 0.0056000379 + 1301000 0.0068541253 0.0026724691 0.0060459839 + 1301100 0.0063326822 0.0029901544 0.0061070214 + 1301200 0.0044681542 0.0028569617 0.0050561313 + 1301300 0.0047778029 0.0029640798 0.0053156547 + 1301400 0.0055199611 0.0024961316 0.0052129874 + 1301500 0.0047857048 0.0025829155 0.0049383796 + 1301600 0.0052368839 0.0025823341 0.0051598629 + 1301700 0.0058375992 0.0025756704 0.0054488638 + 1301800 0.0045759399 0.0026315022 0.0048837226 + 1301900 0.0038729533 0.0028467091 0.0047529283 + 1302000 0.0047841826 0.002732407 0.0050871218 + 1302100 0.0054710205 0.002255795 0.0049485628 + 1302200 0.0055366333 0.0027258422 0.0054509039 + 1302300 0.0055797878 0.0033512831 0.0060975849 + 1302400 0.008012364 0.0028787189 0.0068223043 + 1302500 0.0047470227 0.0022700922 0.0046065174 + 1302600 0.0037328167 0.0018648912 0.0037021369 + 1302700 0.0046862858 0.0021769215 0.0044834528 + 1302800 0.0029581106 0.0025193922 0.0039753372 + 1302900 0.0039481834 0.0024326789 0.0043759253 + 1303000 0.0058570943 0.0022785114 0.0051613 + 1303100 0.0042446774 0.0026479492 0.0047371264 + 1303200 0.0060134081 0.0025963109 0.0055560352 + 1303300 0.0055307325 0.0024036497 0.0051258071 + 1303400 0.0055739678 0.0026690511 0.0054124884 + 1303500 0.0045533781 0.0026853452 0.004926461 + 1303600 0.0043397855 0.0025520173 0.0046880055 + 1303700 0.0048949281 0.0024918458 0.0049010683 + 1303800 0.0073805965 0.0025010398 0.0061336771 + 1303900 0.0041160847 0.0028930763 0.0049189618 + 1304000 0.0050564246 0.0023557194 0.0048444284 + 1304100 0.0055585864 0.0019823434 0.0047182101 + 1304200 0.0047442236 0.002081771 0.0044168185 + 1304300 0.0052379918 0.0021168174 0.0046948915 + 1304400 0.0032972055 0.0018660346 0.0034888779 + 1304500 0.0053540355 0.0017924938 0.0044276832 + 1304600 0.004160738 0.0026294566 0.0046773199 + 1304700 0.0036667952 0.0028224335 0.0046271842 + 1304800 0.0061833866 0.0026240191 0.0056674047 + 1304900 0.0041754701 0.0029445809 0.0049996951 + 1305000 0.0050113825 0.0031360568 0.0056025966 + 1305100 0.0054532853 0.0030513264 0.0057353653 + 1305200 0.0056638958 0.0027671768 0.0055548756 + 1305300 0.0066031207 0.0024026678 0.0056526413 + 1305400 0.0049350302 0.0025612308 0.004990191 + 1305500 0.0055379898 0.0026943295 0.0054200588 + 1305600 0.0054150835 0.0024006606 0.005065897 + 1305700 0.0060223613 0.0023234695 0.0052876004 + 1305800 0.0054136813 0.0025763155 0.0052408618 + 1305900 0.0058265019 0.0028968054 0.0057645368 + 1306000 0.0041709635 0.0026336032 0.0046864993 + 1306100 0.0052690259 0.002491682 0.0050850307 + 1306200 0.0052224147 0.0021281024 0.0046985096 + 1306300 0.0051334901 0.0021110008 0.0046376405 + 1306400 0.0037565609 0.0020199453 0.0038688776 + 1306500 0.0044588317 0.0017988904 0.0039934716 + 1306600 0.0050584299 0.001883929 0.0043736249 + 1306700 0.0052725285 0.0021647011 0.0047597738 + 1306800 0.0053388024 0.001959278 0.0045869699 + 1306900 0.0043045428 0.002072168 0.0041908102 + 1307000 0.0047974469 0.0023824403 0.0047436837 + 1307100 0.0047658452 0.0023996225 0.0047453119 + 1307200 0.0044477612 0.0018380783 0.0040272108 + 1307300 0.0044486747 0.0018294167 0.0040189988 + 1307400 0.0042020658 0.0017112162 0.0037794204 + 1307500 0.0045640352 0.0019226782 0.0041690392 + 1307600 0.0049743397 0.0019186721 0.0043669799 + 1307700 0.0045399014 0.001958924 0.0041934067 + 1307800 0.0059437523 0.0022159869 0.0051414274 + 1307900 0.0054231063 0.0023395783 0.0050087635 + 1308000 0.0059547942 0.0022445252 0.0051754005 + 1308100 0.0030864476 0.0022796335 0.0037987444 + 1308200 0.0054134391 0.0018593406 0.0045237676 + 1308300 0.0037585955 0.001975202 0.0038251357 + 1308400 0.004772209 0.0021247716 0.0044735932 + 1308500 0.0053156378 0.0027577425 0.005374033 + 1308600 0.0042825586 0.0031260446 0.0052338664 + 1308700 0.0072289601 0.0023626387 0.0059206425 + 1308800 0.0057848658 0.0021194363 0.004966675 + 1308900 0.0050592795 0.0022264552 0.0047165694 + 1309000 0.0047948371 0.001967209 0.0043271678 + 1309100 0.0050628652 0.0019598453 0.0044517243 + 1309200 0.0045653538 0.0022606621 0.0045076721 + 1309300 0.0034881047 0.0019703826 0.0036871841 + 1309400 0.0057416754 0.0013083198 0.0041343007 + 1309500 0.0062314421 0.0014450903 0.0045121282 + 1309600 0.0039869932 0.0022578662 0.0042202144 + 1309700 0.0045724231 0.0024042073 0.0046546968 + 1309800 0.0057962679 0.0021869695 0.0050398201 + 1309900 0.0047623068 0.002019708 0.0043636559 + 1310000 0.006010524 0.0020491106 0.0050074154 + 1310100 0.0063881855 0.0023587898 0.0055029748 + 1310200 0.0057403147 0.0027564242 0.0055817354 + 1310300 0.0041667314 0.0029802032 0.0050310163 + 1310400 0.0045074555 0.0029624944 0.0051810076 + 1310500 0.0049398482 0.0029647237 0.0053960552 + 1310600 0.0046007132 0.002475195 0.0047396085 + 1310700 0.004681337 0.0022003984 0.004504494 + 1310800 0.0035588329 0.0026823482 0.0044339612 + 1310900 0.0047674313 0.0026533775 0.0049998476 + 1311000 0.0047063185 0.0021736029 0.0044899941 + 1311100 0.0068675182 0.0021725165 0.0055526231 + 1311200 0.004714824 0.0025992398 0.0049198173 + 1311300 0.0043657608 0.0026720831 0.004820856 + 1311400 0.0053233531 0.0021414352 0.0047615231 + 1311500 0.0048528002 0.0023300311 0.0047185186 + 1311600 0.0048648359 0.0025019264 0.0048963379 + 1311700 0.0057355414 0.0028332134 0.0056561752 + 1311800 0.005761288 0.0031786825 0.0060143165 + 1311900 0.0054464151 0.0032021235 0.0058827809 + 1312000 0.0058257821 0.0025665599 0.005433937 + 1312100 0.0060107606 0.0029074531 0.0058658743 + 1312200 0.0058985501 0.0027837857 0.0056869784 + 1312300 0.0044218122 0.0029637148 0.0051400754 + 1312400 0.0060886097 0.0025520911 0.0055488287 + 1312500 0.0059123834 0.0023494089 0.0052594102 + 1312600 0.0044203703 0.002743389 0.00491904 + 1312700 0.0066212413 0.0026749252 0.0059338174 + 1312800 0.0043883943 0.0025376001 0.0046975129 + 1312900 0.0066471741 0.0022666217 0.0055382777 + 1313000 0.0049294896 0.0020452223 0.0044714555 + 1313100 0.0031926113 0.0021226432 0.0036940065 + 1313200 0.0081627269 0.0019084054 0.0059259976 + 1313300 0.0046723847 0.0016345553 0.0039342447 + 1313400 0.0054953076 0.0016279459 0.0043326676 + 1313500 0.0049167963 0.0016096459 0.0040296316 + 1313600 0.0034147962 0.002232161 0.003912881 + 1313700 0.0042865522 0.0020564636 0.004166251 + 1313800 0.0063754328 0.0019852318 0.0051231401 + 1313900 0.0053446121 0.0022451801 0.0048757314 + 1314000 0.0054806464 0.0026543182 0.0053518238 + 1314100 0.0037620547 0.002532458 0.0043840943 + 1314200 0.0055236325 0.0022861611 0.005004824 + 1314300 0.0044446622 0.0020671074 0.0042547146 + 1314400 0.0054415455 0.0018320524 0.0045103131 + 1314500 0.0044742128 0.0020821003 0.0042842519 + 1314600 0.0060765781 0.0022830349 0.0052738507 + 1314700 0.0048609746 0.002164675 0.0045571859 + 1314800 0.0050611193 0.001931775 0.0044227947 + 1314900 0.0031835563 0.0015990136 0.0031659202 + 1315000 0.0048448505 0.0016075714 0.0039921463 + 1315100 0.0045800033 0.0017796564 0.0040338768 + 1315200 0.0050566482 0.0015131318 0.0040019508 + 1315300 0.003121771 0.0017355511 0.0032720478 + 1315400 0.0049908046 0.0022625539 0.0047189655 + 1315500 0.0050345205 0.0023551663 0.0048330944 + 1315600 0.0047374689 0.0023769969 0.0047087199 + 1315700 0.0067175031 0.0019480283 0.0052542993 + 1315800 0.0050003592 0.0018314684 0.0042925827 + 1315900 0.006555917 0.0021866357 0.0054133761 + 1316000 0.0041628346 0.0027225212 0.0047714164 + 1316100 0.0045263055 0.002924497 0.005152288 + 1316200 0.0063396275 0.0027704946 0.00589078 + 1316300 0.0049334165 0.0025866266 0.0050147925 + 1316400 0.0053120144 0.0022826761 0.0048971832 + 1316500 0.0050207788 0.0020722717 0.0045434363 + 1316600 0.0055709462 0.0021418247 0.0048837748 + 1316700 0.004618274 0.0030081087 0.0052811655 + 1316800 0.0049970391 0.0030728058 0.005532286 + 1316900 0.0072853512 0.0024633598 0.0060491186 + 1317000 0.0043933221 0.0026119401 0.0047742783 + 1317100 0.0064698274 0.0022560107 0.0054403789 + 1317200 0.0038169296 0.0019576924 0.0038363375 + 1317300 0.0043120935 0.0017473908 0.0038697493 + 1317400 0.0043378312 0.0020248322 0.0041598585 + 1317500 0.0038572541 0.0022726373 0.0041711296 + 1317600 0.0041751471 0.0022350877 0.0042900429 + 1317700 0.0043202067 0.0021274519 0.0042538037 + 1317800 0.0059104057 0.0017443936 0.0046534214 + 1317900 0.0041221135 0.0015620515 0.0035909042 + 1318000 0.0038528002 0.0015433018 0.0034396019 + 1318100 0.0046837172 0.0016156081 0.0039208751 + 1318200 0.0052158081 0.0019080154 0.004475171 + 1318300 0.0043686683 0.001880018 0.004030222 + 1318400 0.0042554142 0.001944707 0.0040391687 + 1318500 0.0062269787 0.0018645643 0.0049294054 + 1318600 0.0062687 0.0020977331 0.0051831089 + 1318700 0.0062477071 0.0019755689 0.0050506122 + 1318800 0.0051285308 0.0024723491 0.0049965479 + 1318900 0.0048644966 0.002957521 0.0053517655 + 1319000 0.0043894324 0.0026339482 0.0047943719 + 1319100 0.0051644991 0.0022991922 0.004841094 + 1319200 0.0042128386 0.0019868967 0.0040604032 + 1319300 0.0042892487 0.0023964282 0.0045075429 + 1319400 0.0050401256 0.0026237441 0.0051044309 + 1319500 0.0056353201 0.0030609734 0.0058346075 + 1319600 0.0053338451 0.0038180637 0.0064433156 + 1319700 0.0061271665 0.0035417716 0.0065574863 + 1319800 0.0052866271 0.0031822504 0.0057842622 + 1319900 0.0051945639 0.0031091778 0.0056658772 + 1320000 0.0036354723 0.0031032225 0.0048925565 + 1320100 0.0059922101 0.0027224754 0.0056717663 + 1320200 0.0055425097 0.0025032817 0.0052312357 + 1320300 0.0053273268 0.0029668172 0.0055888609 + 1320400 0.0058744953 0.003197833 0.0060891861 + 1320500 0.0068309239 0.0028633521 0.0062254474 + 1320600 0.0043075886 0.0028819985 0.0050021398 + 1320700 0.0054108464 0.0024493972 0.0051125481 + 1320800 0.0056855522 0.0021711014 0.0049694591 + 1320900 0.0049077983 0.0024618536 0.0048774106 + 1321000 0.0050513098 0.0025980052 0.0050841967 + 1321100 0.0072981138 0.0027970905 0.0063891309 + 1321200 0.006663933 0.0022312708 0.0055111753 + 1321300 0.0051856161 0.0020460811 0.0045983766 + 1321400 0.0050452514 0.0021111615 0.0045943712 + 1321500 0.0046100615 0.0025294342 0.0047984488 + 1321600 0.006070899 0.0029265955 0.0059146161 + 1321700 0.0055473991 0.0028674822 0.0055978427 + 1321800 0.0075481008 0.0026368849 0.0063519657 + 1321900 0.0051309003 0.0032514508 0.0057768158 + 1322000 0.0081653066 0.0033505697 0.0073694316 + 1322100 0.0073334421 0.0027962711 0.0064056996 + 1322200 0.0041823714 0.0025300655 0.0045885765 + 1322300 0.005331712 0.0025994568 0.0052236588 + 1322400 0.0047718131 0.0026093121 0.0049579388 + 1322500 0.0048615916 0.0027934076 0.0051862223 + 1322600 0.0047245619 0.0026811396 0.0050065099 + 1322700 0.0049123381 0.0022657358 0.0046835272 + 1322800 0.00599223 0.0023381803 0.005287481 + 1322900 0.0052575185 0.0022575157 0.0048452006 + 1323000 0.0041925048 0.0020506911 0.0041141895 + 1323100 0.0039236439 0.0020415527 0.0039727211 + 1323200 0.0046909879 0.0019899959 0.0042988415 + 1323300 0.0056710861 0.0019381784 0.0047294161 + 1323400 0.0055745393 0.0022217745 0.004965493 + 1323500 0.0042807803 0.0025358963 0.0046428429 + 1323600 0.0039593358 0.0025527773 0.0045015129 + 1323700 0.0049697314 0.0025557685 0.0050018082 + 1323800 0.0046007031 0.0021142751 0.0043786837 + 1323900 0.0048612775 0.0019082628 0.0043009229 + 1324000 0.0057909608 0.0020334915 0.00488373 + 1324100 0.0062867379 0.0016358048 0.0047300586 + 1324200 0.0059660378 0.0018609988 0.004797408 + 1324300 0.0053545971 0.0022412025 0.0048766683 + 1324400 0.005059312 0.0023038485 0.0047939787 + 1324500 0.0043704429 0.0018531157 0.004004193 + 1324600 0.0040098116 0.0016902994 0.0036638785 + 1324700 0.0038288168 0.0018753497 0.0037598455 + 1324800 0.003634961 0.0023175369 0.0041066193 + 1324900 0.0036898777 0.0025320998 0.0043482115 + 1325000 0.0043241273 0.0023565374 0.0044848188 + 1325100 0.0049317178 0.0022734395 0.0047007693 + 1325200 0.0053162192 0.0022242533 0.0048408299 + 1325300 0.0055476208 0.0021152755 0.0048457452 + 1325400 0.003593686 0.0024150048 0.0041837721 + 1325500 0.0054378462 0.0022592048 0.0049356447 + 1325600 0.0065536227 0.0024994002 0.0057250114 + 1325700 0.0051601511 0.0023257224 0.0048654843 + 1325800 0.0051302228 0.0018518724 0.0043769039 + 1325900 0.0038699145 0.0020730197 0.0039777433 + 1326000 0.0050568901 0.0021423929 0.004631331 + 1326100 0.0049834618 0.0022408244 0.004693622 + 1326200 0.0039913258 0.0025861856 0.0045506663 + 1326300 0.0046295579 0.0021294106 0.0044080212 + 1326400 0.0050571824 0.0022061731 0.004695255 + 1326500 0.0041045925 0.0025970629 0.0046172921 + 1326600 0.0036795721 0.0028988748 0.0047099142 + 1326700 0.0036310784 0.0028073248 0.0045944962 + 1326800 0.0046110163 0.003243329 0.0055128136 + 1326900 0.0053736135 0.0033280973 0.0059729227 + 1327000 0.006116951 0.0033888801 0.0063995669 + 1327100 0.0055968367 0.0031568103 0.0059115034 + 1327200 0.0053334135 0.0032142692 0.0058393086 + 1327300 0.0038907116 0.0027329829 0.0046479425 + 1327400 0.005035743 0.0023316143 0.004810144 + 1327500 0.0051806815 0.002275878 0.0048257447 + 1327600 0.0048021868 0.0024414936 0.00480507 + 1327700 0.0057451109 0.0023501828 0.0051778546 + 1327800 0.0066435498 0.0022101027 0.0054799749 + 1327900 0.0042889838 0.002431948 0.0045429322 + 1328000 0.0041318662 0.002739031 0.0047726839 + 1328100 0.0080839781 0.0024701014 0.0064489344 + 1328200 0.004340025 0.0024494179 0.0045855239 + 1328300 0.005571553 0.0021016374 0.0048438862 + 1328400 0.0056852909 0.0023511077 0.0051493368 + 1328500 0.0044940153 0.0027860141 0.0049979122 + 1328600 0.0049238943 0.0026880061 0.0051114853 + 1328700 0.0041697256 0.00320047 0.0052527568 + 1328800 0.0046159989 0.003298046 0.0055699829 + 1328900 0.0024936561 0.002896332 0.0041236784 + 1329000 0.0045764717 0.0026403675 0.0048928496 + 1329100 0.005666672 0.0025095134 0.0052985786 + 1329200 0.0032736006 0.0027008984 0.0043121237 + 1329300 0.0044711177 0.002749349 0.0049499773 + 1329400 0.0052201992 0.0025947614 0.0051640782 + 1329500 0.0038943875 0.0025350925 0.0044518613 + 1329600 0.0049273528 0.0030029785 0.00542816 + 1329700 0.004170178 0.0029865062 0.0050390156 + 1329800 0.0048316617 0.0026719112 0.0050499947 + 1329900 0.005994336 0.0025215992 0.0054719364 + 1330000 0.005634686 0.0021991972 0.0049725192 + 1330100 0.0051535929 0.0021950222 0.0047315562 + 1330200 0.0041320697 0.0024517377 0.0044854907 + 1330300 0.0036614323 0.0024577361 0.0042598473 + 1330400 0.0048935853 0.0023500908 0.0047586523 + 1330500 0.0059952222 0.0024943092 0.0054450826 + 1330600 0.0046077683 0.0025550958 0.0048229818 + 1330700 0.0077625645 0.0026010177 0.0064216549 + 1330800 0.0051712081 0.0026230549 0.0051682589 + 1330900 0.004206721 0.0025753929 0.0046458884 + 1331000 0.0041955917 0.0027088907 0.0047739085 + 1331100 0.0046515083 0.0026022701 0.0048916844 + 1331200 0.0042688927 0.0027323654 0.004833461 + 1331300 0.0041266134 0.0029076859 0.0049387535 + 1331400 0.0053966186 0.0027796791 0.0054358273 + 1331500 0.0063188639 0.0024244064 0.0055344722 + 1331600 0.0047033434 0.0021718461 0.0044867729 + 1331700 0.0055746234 0.0021927332 0.0049364932 + 1331800 0.0051666193 0.0023701982 0.0049131436 + 1331900 0.005132011 0.0030923612 0.0056182729 + 1332000 0.004194713 0.0033502508 0.0054148361 + 1332100 0.0073531477 0.0030711859 0.0066903132 + 1332200 0.0060039477 0.0027666097 0.0057216777 + 1332300 0.0057952067 0.002719257 0.0055715853 + 1332400 0.0053484218 0.0027663985 0.0053988249 + 1332500 0.0068405678 0.0020850382 0.0054518802 + 1332600 0.0059786481 0.0019350833 0.0048776992 + 1332700 0.0060012222 0.002070284 0.0050240106 + 1332800 0.0044401403 0.0020546247 0.0042400062 + 1332900 0.0043389129 0.0022251648 0.0043607235 + 1333000 0.0057895692 0.0025565252 0.0054060788 + 1333100 0.0077065246 0.0026668306 0.0064598856 + 1333200 0.004930992 0.0029902563 0.005417229 + 1333300 0.0058446597 0.002726706 0.0056033745 + 1333400 0.0040019498 0.002781458 0.0047511677 + 1333500 0.0040081658 0.002625907 0.0045986761 + 1333600 0.0041485598 0.0026174851 0.0046593543 + 1333700 0.0058732874 0.0024478221 0.0053385808 + 1333800 0.0063626751 0.0022574262 0.0053890554 + 1333900 0.0055350904 0.0021114796 0.0048357819 + 1334000 0.0050497307 0.0026191756 0.0051045899 + 1334100 0.0051952617 0.0029758758 0.0055329187 + 1334200 0.0045465732 0.0030337241 0.0052714906 + 1334300 0.0046851797 0.0030513293 0.0053573162 + 1334400 0.0056387258 0.0027600579 0.0055353682 + 1334500 0.0046192477 0.002500339 0.004773875 + 1334600 0.00661801 0.0019942108 0.0052515125 + 1334700 0.0051871112 0.0026447844 0.0051978157 + 1334800 0.0054291948 0.0030497532 0.005721935 + 1334900 0.0043393084 0.0031671771 0.0053029305 + 1335000 0.0062092515 0.0028069572 0.0058630731 + 1335100 0.0058768444 0.0028152451 0.0057077544 + 1335200 0.0040368328 0.0028336874 0.0048205661 + 1335300 0.0063797454 0.002746821 0.005886852 + 1335400 0.0045712127 0.0030284788 0.0052783726 + 1335500 0.0038403251 0.0032400197 0.0051301797 + 1335600 0.0071077784 0.0028727039 0.0063710636 + 1335700 0.0048099518 0.0031127822 0.0054801803 + 1335800 0.0048838951 0.0033383409 0.005742133 + 1335900 0.0037513822 0.0026508781 0.0044972616 + 1336000 0.0041077627 0.0027594889 0.0047812783 + 1336100 0.0058204146 0.0035619603 0.0064266957 + 1336200 0.0053185961 0.0035882292 0.0062059757 + 1336300 0.0079743208 0.0033866001 0.0073114611 + 1336400 0.0054255868 0.0042452623 0.0069156683 + 1336500 0.0048787138 0.0044623244 0.0068635663 + 1336600 0.0043129635 0.0043634161 0.0064862029 + 1336700 0.0053430313 0.003899773 0.0065295462 + 1336800 0.0060226608 0.0032980439 0.0062623223 + 1336900 0.0070485694 0.0032966692 0.0067658869 + 1337000 0.0059972029 0.0023817954 0.0053335437 + 1337100 0.0057111381 0.0025360793 0.0053470301 + 1337200 0.0056306631 0.0034286623 0.0062000043 + 1337300 0.0074969404 0.0036383442 0.0073282446 + 1337400 0.0061731357 0.003217388 0.0062557282 + 1337500 0.0046330353 0.0029544196 0.0052347416 + 1337600 0.0058621957 0.0028039457 0.0056892452 + 1337700 0.0033712179 0.0027917321 0.0044510034 + 1337800 0.0051222183 0.0025578965 0.0050789883 + 1337900 0.006150864 0.0025886202 0.0056159986 + 1338000 0.0062904863 0.0025201486 0.0056162473 + 1338100 0.0090442156 0.0022704368 0.0067218866 + 1338200 0.0055219362 0.0027221274 0.0054399554 + 1338300 0.0044216323 0.0027554375 0.0049317096 + 1338400 0.0036170976 0.0024635778 0.0042438681 + 1338500 0.0054122108 0.0022287029 0.0048925255 + 1338600 0.0051408818 0.0018556385 0.0043859162 + 1338700 0.0062157671 0.0017829456 0.0048422685 + 1338800 0.0052733462 0.0020899404 0.0046854155 + 1338900 0.0040266085 0.0025472467 0.0045290931 + 1339000 0.0059769368 0.0025161414 0.0054579149 + 1339100 0.0064176357 0.0029140347 0.0060727148 + 1339200 0.0059952995 0.0030772987 0.0060281102 + 1339300 0.005510149 0.0031389529 0.0058509793 + 1339400 0.0062226767 0.0028701708 0.0059328945 + 1339500 0.0052721357 0.0027984569 0.0053933363 + 1339600 0.0064937151 0.0029543752 0.0061505006 + 1339700 0.0045414908 0.0024640072 0.0046992722 + 1339800 0.0057017861 0.0019411994 0.0047475472 + 1339900 0.0060653445 0.0026938939 0.0056791806 + 1340000 0.0060733913 0.0027951113 0.0057843586 + 1340100 0.0045991231 0.0022282446 0.0044918755 + 1340200 0.0058776858 0.0019026173 0.0047955408 + 1340300 0.0047311392 0.0017483915 0.0040769991 + 1340400 0.0048036326 0.0020358501 0.004400138 + 1340500 0.0060117414 0.0024049153 0.0053638193 + 1340600 0.0054463015 0.0025823892 0.0052629907 + 1340700 0.0049779703 0.0024763418 0.0049264366 + 1340800 0.0054919886 0.0027870233 0.0054901114 + 1340900 0.0043576847 0.0029130939 0.0050578919 + 1341000 0.0044825572 0.0029853123 0.005191571 + 1341100 0.004812787 0.0028205146 0.0051893083 + 1341200 0.0047120136 0.0035305025 0.0058496967 + 1341300 0.0046874408 0.0039690178 0.0062761176 + 1341400 0.0062361867 0.0041520563 0.0072214294 + 1341500 0.0053851253 0.0037644361 0.0064149275 + 1341600 0.0048433352 0.0034153259 0.0057991549 + 1341700 0.0062951354 0.0028126532 0.0059110402 + 1341800 0.0048438234 0.0028391529 0.0052232223 + 1341900 0.005753849 0.0031752305 0.006007203 + 1342000 0.0061179451 0.0029080192 0.0059191953 + 1342100 0.0034962727 0.0029368628 0.0046576845 + 1342200 0.0058502171 0.0026401364 0.0055195402 + 1342300 0.0064866752 0.0027425055 0.0059351659 + 1342400 0.0052087411 0.0025834393 0.0051471165 + 1342500 0.0049940199 0.0025171344 0.0049751286 + 1342600 0.004668018 0.0024558743 0.0047534144 + 1342700 0.0045189485 0.0024520217 0.0046761916 + 1342800 0.0051233226 0.0026228428 0.0051444781 + 1342900 0.0037468134 0.0030431627 0.0048872974 + 1343000 0.0059696663 0.0031614331 0.0060996283 + 1343100 0.0047878162 0.0032144616 0.0055709649 + 1343200 0.003748029 0.0033109103 0.0051556433 + 1343300 0.0042460427 0.0024980532 0.0045879024 + 1343400 0.0071586165 0.0023060272 0.0058294088 + 1343500 0.0054150368 0.0024142849 0.0050794984 + 1343600 0.0050525185 0.0020655618 0.0045523482 + 1343700 0.0036280325 0.0019928042 0.0037784764 + 1343800 0.0030708368 0.0020350864 0.0035465138 + 1343900 0.0056312438 0.0019941158 0.0047657436 + 1344000 0.0046013413 0.0024535005 0.0047182232 + 1344100 0.0044111254 0.0029581505 0.0051292513 + 1344200 0.0043114147 0.0030502024 0.0051722268 + 1344300 0.0047897279 0.002736236 0.0050936803 + 1344400 0.0046347873 0.0020429184 0.0043241028 + 1344500 0.0030899935 0.0020031706 0.0035240268 + 1344600 0.0045524167 0.002145954 0.0043865966 + 1344700 0.0055744055 0.0021592649 0.0049029176 + 1344800 0.0054264093 0.0026838488 0.0053546596 + 1344900 0.0043485031 0.0025354476 0.0046757265 + 1345000 0.0045794977 0.0023844479 0.0046384194 + 1345100 0.0053136504 0.0025082475 0.0051235598 + 1345200 0.0039413589 0.0026366487 0.0045765363 + 1345300 0.0052593533 0.0023455841 0.0049341721 + 1345400 0.0055447428 0.0017910846 0.0045201377 + 1345500 0.0046586533 0.0020962018 0.0043891327 + 1345600 0.0052934612 0.0026739222 0.0052792976 + 1345700 0.005405319 0.0028124209 0.0054728514 + 1345800 0.0045011632 0.0028842278 0.005099644 + 1345900 0.0039341866 0.0031378069 0.0050741643 + 1346000 0.0063389135 0.0025380989 0.0056580329 + 1346100 0.0049265084 0.0026473603 0.0050721262 + 1346200 0.006199529 0.0024838111 0.0055351417 + 1346300 0.0056512162 0.0025248709 0.0053063289 + 1346400 0.0035233342 0.0022480104 0.0039821514 + 1346500 0.0037405183 0.0019571467 0.003798183 + 1346600 0.004239601 0.0018713685 0.0039580472 + 1346700 0.0052613443 0.0020079701 0.0045975381 + 1346800 0.0068687575 0.0023641613 0.0057448779 + 1346900 0.0048423561 0.0026223662 0.0050057133 + 1347000 0.0041527469 0.0026040351 0.0046479652 + 1347100 0.0058195047 0.0022164907 0.0050807782 + 1347200 0.0052838005 0.0026694485 0.005270069 + 1347300 0.0053870977 0.0029657113 0.0056171734 + 1347400 0.0049156879 0.0027651035 0.0051845436 + 1347500 0.0060204226 0.0024759603 0.005439137 + 1347600 0.0060074505 0.0026284011 0.0055851931 + 1347700 0.0050182713 0.0024896555 0.0049595859 + 1347800 0.0055916167 0.002352011 0.0051041348 + 1347900 0.006572813 0.0024590334 0.0056940898 + 1348000 0.0056708211 0.0025097013 0.0053008085 + 1348100 0.0042530986 0.0022979118 0.0043912338 + 1348200 0.0028864114 0.0022777394 0.003698395 + 1348300 0.0042211773 0.0024194518 0.0044970625 + 1348400 0.0049976965 0.0022735815 0.0047333852 + 1348500 0.0051690487 0.0021795207 0.0047236618 + 1348600 0.005745913 0.0021596383 0.0049877049 + 1348700 0.0045772967 0.0025931426 0.0048460309 + 1348800 0.0047734237 0.002524238 0.0048736575 + 1348900 0.0057790179 0.0026104297 0.0054547901 + 1349000 0.0040291367 0.0028712989 0.0048543896 + 1349100 0.0055353725 0.003011239 0.0057356801 + 1349200 0.0035565093 0.0029028549 0.0046533243 + 1349300 0.0057598021 0.0024045361 0.0052394387 + 1349400 0.0045457273 0.0025915639 0.0048289141 + 1349500 0.0051984019 0.0026340478 0.0051926363 + 1349600 0.0063117772 0.0022005038 0.0053070816 + 1349700 0.0053675584 0.0020648774 0.0047067225 + 1349800 0.0064013234 0.0021678472 0.0053184986 + 1349900 0.0051652732 0.0025819533 0.0051242362 + 1350000 0.0061489672 0.0028685568 0.0058950016 + 1350100 0.0051945323 0.0029455158 0.0055021997 + 1350200 0.0063950707 0.0023318749 0.0054794487 + 1350300 0.0061334439 0.0022348893 0.0052536937 + 1350400 0.0047820017 0.0024147963 0.0047684377 + 1350500 0.0055520437 0.0023877299 0.0051203764 + 1350600 0.0054365525 0.0021674789 0.0048432821 + 1350700 0.0054262848 0.0020371929 0.0047079424 + 1350800 0.0036663641 0.0016138033 0.0034183419 + 1350900 0.0051550118 0.0015592237 0.004096456 + 1351000 0.0047444531 0.0021163606 0.0044515212 + 1351100 0.0047630752 0.0022207498 0.0045650759 + 1351200 0.0051396364 0.0024945558 0.0050242206 + 1351300 0.004223836 0.0025096511 0.0045885704 + 1351400 0.0044342209 0.0027247095 0.0049071776 + 1351500 0.0061294065 0.002579511 0.0055963282 + 1351600 0.0052921542 0.0027355767 0.0053403088 + 1351700 0.0061588383 0.0024930531 0.0055243564 + 1351800 0.0054294794 0.0025044012 0.0051767231 + 1351900 0.005222382 0.0027450371 0.0053154282 + 1352000 0.0058741779 0.0026341143 0.0055253113 + 1352100 0.006512934 0.0029059796 0.0061115643 + 1352200 0.0048053391 0.0028965504 0.0052616782 + 1352300 0.0056441611 0.002789877 0.0055678625 + 1352400 0.0046254687 0.0028678069 0.0051444048 + 1352500 0.0065434778 0.0029485829 0.0061692009 + 1352600 0.0047033512 0.0031293814 0.0054443121 + 1352700 0.0050283096 0.0032199787 0.0056948498 + 1352800 0.0043913492 0.0028294768 0.004990844 + 1352900 0.0043700659 0.0023937124 0.0045446042 + 1353000 0.0059012254 0.0024030148 0.0053075242 + 1353100 0.0070277264 0.0026494734 0.0061084325 + 1353200 0.0074233353 0.0031915629 0.0068452357 + 1353300 0.0064124848 0.0027680261 0.005924171 + 1353400 0.0071027239 0.0023876857 0.0058835576 + 1353500 0.0038552646 0.0025189983 0.0044165114 + 1353600 0.0055503716 0.0022744537 0.0050062773 + 1353700 0.004778845 0.0018819004 0.0042339882 + 1353800 0.0057824228 0.0019463579 0.0047923941 + 1353900 0.0047835506 0.0022958582 0.004650262 + 1354000 0.0054779744 0.0021111112 0.0048073017 + 1354100 0.0061425235 0.0025028274 0.0055261007 + 1354200 0.0051854215 0.0024342367 0.0049864363 + 1354300 0.0039274316 0.002535983 0.0044690157 + 1354400 0.0042692706 0.002371632 0.0044729136 + 1354500 0.0038360423 0.0021761755 0.0040642276 + 1354600 0.0039095084 0.0023657203 0.0042899315 + 1354700 0.005640079 0.0027085285 0.0054845048 + 1354800 0.0065654227 0.0023567947 0.0055882136 + 1354900 0.0047764848 0.0021899886 0.0045409147 + 1355000 0.0047514716 0.0021386772 0.0044772921 + 1355100 0.0059254953 0.0020006412 0.0049170959 + 1355200 0.0052485364 0.0020261954 0.0046094595 + 1355300 0.0037172656 0.0021765283 0.00400612 + 1355400 0.0041559155 0.0023544809 0.0043999706 + 1355500 0.007614316 0.0022218767 0.0059695479 + 1355600 0.0043285265 0.0020952705 0.0042257171 + 1355700 0.0060534546 0.002162354 0.0051417887 + 1355800 0.007003944 0.0026862317 0.0061334854 + 1355900 0.003382962 0.002598167 0.0042632186 + 1356000 0.0048292677 0.0027267651 0.0051036703 + 1356100 0.0075319393 0.002510707 0.0062178334 + 1356200 0.0042146369 0.0021920779 0.0042664695 + 1356300 0.0042826116 0.0022811095 0.0043889574 + 1356400 0.0039850137 0.0025090705 0.0044704444 + 1356500 0.0046626478 0.0021257785 0.0044206755 + 1356600 0.0049294599 0.0022641708 0.0046903894 + 1356700 0.0033946579 0.0027947723 0.0044655805 + 1356800 0.0040896769 0.0027440673 0.0047569552 + 1356900 0.0054707515 0.0023872108 0.0050798463 + 1357000 0.0046655946 0.0024757648 0.0047721121 + 1357100 0.0044920876 0.0022482339 0.0044591833 + 1357200 0.0049553418 0.002366729 0.0048056863 + 1357300 0.005430416 0.0026721541 0.0053449369 + 1357400 0.0039011414 0.002866198 0.004786291 + 1357500 0.0058819296 0.0024513283 0.0053463405 + 1357600 0.0040965182 0.0026845347 0.0047007897 + 1357700 0.0052188848 0.0024601741 0.0050288439 + 1357800 0.0062073246 0.0022481489 0.0053033165 + 1357900 0.0065512908 0.002711113 0.0059355765 + 1358000 0.0046814605 0.0028668985 0.0051710549 + 1358100 0.004979439 0.0025952819 0.0050460996 + 1358200 0.0041863042 0.0026328755 0.0046933221 + 1358300 0.004501508 0.0024852607 0.0047008467 + 1358400 0.0055387631 0.002404934 0.0051310439 + 1358500 0.0071217518 0.0019834913 0.0054887286 + 1358600 0.0067406243 0.0016264772 0.0049441282 + 1358700 0.0058251985 0.0021082062 0.0049752961 + 1358800 0.0054444216 0.0023034329 0.0049831091 + 1358900 0.0041516559 0.002207006 0.0042503991 + 1359000 0.0035025061 0.0022372591 0.0039611488 + 1359100 0.0048683872 0.0026926188 0.0050887781 + 1359200 0.0033508885 0.0022916454 0.0039409108 + 1359300 0.003684996 0.0018596605 0.0036733695 + 1359400 0.0051367803 0.001833884 0.004362143 + 1359500 0.0057700939 0.0023271078 0.0051670759 + 1359600 0.0038451497 0.0026079034 0.004500438 + 1359700 0.0049856781 0.0024218929 0.0048757814 + 1359800 0.0038083926 0.0026713731 0.0045458163 + 1359900 0.0053079165 0.0026585908 0.0052710809 + 1360000 0.0070424418 0.0028033016 0.0062695034 + 1360100 0.0070129166 0.0031687987 0.0066204686 + 1360200 0.0049512599 0.0033150781 0.0057520264 + 1360300 0.0057900455 0.002775088 0.005624876 + 1360400 0.0052846286 0.0027305871 0.0053316153 + 1360500 0.0054593557 0.0027302337 0.0054172604 + 1360600 0.0052779536 0.0029040683 0.0055018112 + 1360700 0.0056158583 0.0030390576 0.0058031129 + 1360800 0.006021119 0.002635504 0.0055990235 + 1360900 0.0060886518 0.0024344262 0.0054311845 + 1361000 0.0034433358 0.0027968794 0.0044916463 + 1361100 0.0052800544 0.0023468674 0.0049456442 + 1361200 0.0050996455 0.0024597342 0.004969716 + 1361300 0.0055134603 0.0022332651 0.0049469213 + 1361400 0.0060201774 0.0026436949 0.0056067509 + 1361500 0.0047837746 0.0031119594 0.0054664734 + 1361600 0.0049968706 0.0035871622 0.0060465595 + 1361700 0.0052847765 0.0036411671 0.0062422681 + 1361800 0.0047483277 0.0036035808 0.0059406483 + 1361900 0.0046022373 0.0032126376 0.0054778013 + 1362000 0.0053303556 0.0026575736 0.005281108 + 1362100 0.0044206563 0.0025572208 0.0047330125 + 1362200 0.0055513172 0.0028263117 0.0055586006 + 1362300 0.0049790228 0.0034409754 0.0058915882 + 1362400 0.0062354751 0.0032915892 0.0063606121 + 1362500 0.0052675234 0.0027958624 0.0053884715 + 1362600 0.0044285831 0.0027185281 0.0048982214 + 1362700 0.004273845 0.0025648183 0.0046683514 + 1362800 0.0037216327 0.0025191664 0.0043509075 + 1362900 0.0046843028 0.002941438 0.0052469933 + 1363000 0.0041896306 0.0025724117 0.0046344955 + 1363100 0.0047848653 0.0025250147 0.0048800656 + 1363200 0.0031452389 0.003150532 0.0046985793 + 1363300 0.0040066875 0.0031387705 0.005110812 + 1363400 0.0065905579 0.0025417543 0.0057855445 + 1363500 0.0062923443 0.00228471 0.0053817232 + 1363600 0.0049765582 0.0022733277 0.0047227274 + 1363700 0.0030730054 0.0028960576 0.0044085524 + 1363800 0.0043929667 0.0029771493 0.0051393126 + 1363900 0.0048725358 0.0026824766 0.0050806779 + 1364000 0.0038249288 0.0029814497 0.0048640319 + 1364100 0.0054574286 0.003020073 0.0057061512 + 1364200 0.0039298161 0.0029464596 0.0048806659 + 1364300 0.004536227 0.0030005574 0.0052332317 + 1364400 0.004816354 0.0027606315 0.0051311808 + 1364500 0.004803634 0.0024553638 0.0048196524 + 1364600 0.0039853997 0.0025906502 0.0045522141 + 1364700 0.0053842034 0.0026555195 0.0053055571 + 1364800 0.0043792255 0.0026089764 0.0047643765 + 1364900 0.0043202046 0.0022143949 0.0043407456 + 1365000 0.004448748 0.0023153769 0.004504995 + 1365100 0.0054760585 0.0020816887 0.0047769362 + 1365200 0.0044783685 0.002125354 0.004329551 + 1365300 0.0053731159 0.0024329133 0.0050774937 + 1365400 0.0060482012 0.0023122466 0.0052890956 + 1365500 0.0048616953 0.0026601918 0.0050530575 + 1365600 0.0050382639 0.0028262154 0.0053059859 + 1365700 0.0038354542 0.0029892576 0.0048770202 + 1365800 0.0053649235 0.0031520912 0.0057926394 + 1365900 0.0052164089 0.0034336542 0.0060011054 + 1366000 0.0038693933 0.0031653439 0.0050698109 + 1366100 0.0048232241 0.0027148007 0.0050887313 + 1366200 0.005991603 0.0025343347 0.0054833268 + 1366300 0.0053327477 0.002346802 0.0049715137 + 1366400 0.0059033656 0.0022157559 0.0051213187 + 1366500 0.0049315497 0.0021889845 0.0046162316 + 1366600 0.0059422025 0.0023771276 0.0053018054 + 1366700 0.0049347182 0.0021336645 0.0045624711 + 1366800 0.0059787853 0.0026492116 0.005591895 + 1366900 0.0040455472 0.0027909488 0.0047821166 + 1367000 0.0044107965 0.0026217779 0.0047927168 + 1367100 0.0050067021 0.0026992804 0.0051635165 + 1367200 0.0062367001 0.0021512005 0.0052208264 + 1367300 0.0053865002 0.0020431639 0.004694332 + 1367400 0.0061007328 0.0025602517 0.0055629561 + 1367500 0.0045700224 0.0029570155 0.0052063234 + 1367600 0.0044795846 0.0028327889 0.0050375845 + 1367700 0.0041458666 0.0026055042 0.0046460479 + 1367800 0.0045942513 0.0027318955 0.0049931285 + 1367900 0.004590477 0.0027579932 0.0050173686 + 1368000 0.00660291 0.0026223106 0.0058721804 + 1368100 0.0040591401 0.0023286265 0.0043264845 + 1368200 0.0057205248 0.0023171749 0.0051327457 + 1368300 0.0056575557 0.0024465994 0.0052311776 + 1368400 0.005405829 0.0026891818 0.0053498633 + 1368500 0.0038041054 0.0024733766 0.0043457098 + 1368600 0.0051527562 0.0025497919 0.0050859141 + 1368700 0.0043403407 0.0022796446 0.0044159061 + 1368800 0.0050239174 0.0018707422 0.0043434515 + 1368900 0.0041224383 0.0019787577 0.0040077703 + 1369000 0.0050095389 0.0019513113 0.0044169437 + 1369100 0.0040483261 0.0020941849 0.0040867205 + 1369200 0.0041680534 0.0021381952 0.004189659 + 1369300 0.0060371137 0.0017795273 0.0047509192 + 1369400 0.0048006131 0.0019823201 0.0043451218 + 1369500 0.0053456708 0.0022801428 0.0049112152 + 1369600 0.0047752185 0.0026026417 0.0049529446 + 1369700 0.0046759912 0.0027713409 0.0050728053 + 1369800 0.0065674778 0.0022577215 0.005490152 + 1369900 0.0051240338 0.0025134504 0.0050354358 + 1370000 0.0042779335 0.0027196276 0.004825173 + 1370100 0.0046008162 0.0027288754 0.0049933396 + 1370200 0.0037258743 0.0025655217 0.0043993505 + 1370300 0.0063847982 0.0022990335 0.0054415514 + 1370400 0.0062723432 0.0026387989 0.0057259678 + 1370500 0.0056679874 0.0024897478 0.0052794604 + 1370600 0.006007491 0.0024511697 0.0054079817 + 1370700 0.0053914519 0.0025546795 0.0052082847 + 1370800 0.005140136 0.0024776721 0.0050075828 + 1370900 0.0068324942 0.0025842952 0.0059471634 + 1371000 0.0044867656 0.0026935644 0.0049018943 + 1371100 0.0043471291 0.0028951221 0.0050347246 + 1371200 0.0044821242 0.0029385657 0.0051446112 + 1371300 0.0036421296 0.0030005054 0.0047931161 + 1371400 0.0050516135 0.0028168389 0.0053031799 + 1371500 0.0048613532 0.002799346 0.0051920433 + 1371600 0.0046638012 0.0027167168 0.0050121815 + 1371700 0.0035211509 0.0025288562 0.0042619227 + 1371800 0.0043718984 0.0022533588 0.0044051525 + 1371900 0.0057436387 0.0023710617 0.0051980089 + 1372000 0.0066918091 0.0023301956 0.0056238204 + 1372100 0.0055533972 0.00287002 0.0056033327 + 1372200 0.0044120588 0.0028955698 0.00506713 + 1372300 0.0036606528 0.00264503 0.0044467575 + 1372400 0.0068266652 0.0023074641 0.0056674633 + 1372500 0.0039932459 0.0021267422 0.0040921679 + 1372600 0.0050924226 0.001849234 0.0043556607 + 1372700 0.0041900582 0.0018830052 0.0039452994 + 1372800 0.0057581939 0.0017174227 0.0045515337 + 1372900 0.0056212734 0.0020544957 0.0048212162 + 1373000 0.0051362813 0.0024625721 0.0049905855 + 1373100 0.004420521 0.002843354 0.0050190791 + 1373200 0.006994455 0.0023119602 0.0057545435 + 1373300 0.0043804486 0.0021562964 0.0043122984 + 1373400 0.0055908842 0.0027180377 0.005469801 + 1373500 0.0055545001 0.0027004915 0.005434347 + 1373600 0.0049964643 0.0025042428 0.00496344 + 1373700 0.0059565605 0.0028292935 0.0057610381 + 1373800 0.0045191823 0.0030257553 0.0052500403 + 1373900 0.0048228188 0.0027483677 0.0051220988 + 1374000 0.0038692592 0.0026323156 0.0045367166 + 1374100 0.0053129432 0.0024874683 0.0051024325 + 1374200 0.0035090085 0.0025746049 0.0043016951 + 1374300 0.0048379138 0.0025242465 0.0049054072 + 1374400 0.0048351945 0.0022746343 0.0046544566 + 1374500 0.0041074203 0.0024100529 0.0044316738 + 1374600 0.0060503318 0.0024627725 0.0054406702 + 1374700 0.003720018 0.0026661522 0.0044970986 + 1374800 0.0051323403 0.0024995494 0.0050256232 + 1374900 0.0071069164 0.0023077314 0.0058056668 + 1375000 0.0064681669 0.0022733145 0.0054568654 + 1375100 0.005713488 0.0021367807 0.004948888 + 1375200 0.0043884823 0.0025265454 0.0046865016 + 1375300 0.0064791296 0.0024661429 0.0056550895 + 1375400 0.0032028826 0.0023610545 0.0039374733 + 1375500 0.0057308712 0.0019669554 0.0047876185 + 1375600 0.0060933872 0.0018502144 0.0048493034 + 1375700 0.0056707894 0.0020047714 0.004795863 + 1375800 0.0043556855 0.0021166618 0.0042604757 + 1375900 0.0047383094 0.0028115022 0.0051436389 + 1376000 0.003369995 0.003313391 0.0049720604 + 1376100 0.0043901263 0.0031818314 0.0053425967 + 1376200 0.0049552584 0.0027434664 0.0051823827 + 1376300 0.0055328561 0.0021543456 0.0048775483 + 1376400 0.0066840919 0.0020951682 0.0053849947 + 1376500 0.0049523805 0.0031931449 0.0056306447 + 1376600 0.0046269547 0.0031329523 0.0054102816 + 1376700 0.0047203308 0.0028021993 0.0051254871 + 1376800 0.0057598509 0.0028326267 0.0056675533 + 1376900 0.0059352636 0.0026557153 0.0055769779 + 1377000 0.0051117088 0.0027528145 0.0052687337 + 1377100 0.0047858397 0.0026368492 0.0049923796 + 1377200 0.0064076164 0.0022926805 0.0054464292 + 1377300 0.0061607345 0.0027053284 0.005737565 + 1377400 0.0042827741 0.0031675459 0.0052754738 + 1377500 0.0077493073 0.0027727932 0.0065869053 + 1377600 0.0054846595 0.0027228269 0.0054223077 + 1377700 0.0046581701 0.0025742096 0.0048669028 + 1377800 0.0048034992 0.002660924 0.0050251463 + 1377900 0.0054795036 0.0026411017 0.0053380449 + 1378000 0.0040536713 0.0025241149 0.0045192813 + 1378100 0.0042009423 0.0024901139 0.0045577652 + 1378200 0.004290137 0.0024493139 0.0045608657 + 1378300 0.0038522385 0.0025039501 0.0043999737 + 1378400 0.0056331318 0.002705141 0.005477698 + 1378500 0.0058776485 0.0029471347 0.0058400398 + 1378600 0.0052791536 0.0033260137 0.0059243471 + 1378700 0.0039045194 0.003624063 0.0055458186 + 1378800 0.0058561895 0.0031905142 0.0060728575 + 1378900 0.0053241845 0.0025723597 0.0051928568 + 1379000 0.0054487883 0.0023700146 0.0050518401 + 1379100 0.0049724266 0.0030305187 0.0054778849 + 1379200 0.0061134763 0.00347509 0.0064840666 + 1379300 0.0055127161 0.0034911912 0.0062044812 + 1379400 0.0063223653 0.0033225032 0.0064342924 + 1379500 0.0039045201 0.0036121194 0.0055338754 + 1379600 0.0046887391 0.0031285179 0.0054362567 + 1379700 0.0057605866 0.0030296451 0.0058649339 + 1379800 0.0043808195 0.0033532686 0.0055094532 + 1379900 0.0048643306 0.0031954903 0.005589653 + 1380000 0.0052066593 0.0027956075 0.0053582601 + 1380100 0.0059142902 0.002585564 0.0054965038 + 1380200 0.0057022018 0.0027301492 0.0055367017 + 1380300 0.0042643626 0.0026578184 0.0047566844 + 1380400 0.0043408676 0.0022711847 0.0044077054 + 1380500 0.0047938933 0.0022235653 0.0045830597 + 1380600 0.0048401908 0.0024125846 0.0047948661 + 1380700 0.0058005223 0.002367375 0.0052223196 + 1380800 0.0039217587 0.0029924713 0.0049227119 + 1380900 0.0043217222 0.0028836934 0.005010791 + 1381000 0.0040554117 0.0023582632 0.0043542862 + 1381100 0.0041104258 0.0027403491 0.0047634493 + 1381200 0.0044090813 0.0025880563 0.0047581509 + 1381300 0.0049424333 0.0024753729 0.0049079768 + 1381400 0.0071372836 0.002233558 0.0057464398 + 1381500 0.004864107 0.0021015708 0.0044956234 + 1381600 0.0043234647 0.0018926445 0.0040205998 + 1381700 0.0053246453 0.0019524166 0.0045731405 + 1381800 0.0037194739 0.0021037315 0.0039344101 + 1381900 0.0058521311 0.0025043552 0.005384701 + 1382000 0.0059877189 0.0031034795 0.0060505599 + 1382100 0.0039152219 0.0022544397 0.004181463 + 1382200 0.0057985071 0.0024927294 0.0053466821 + 1382300 0.0049599457 0.0024854875 0.0049267108 + 1382400 0.0046615641 0.0017695422 0.0040639058 + 1382500 0.0056258529 0.0016495668 0.0044185413 + 1382600 0.0027196945 0.0020409437 0.0033795433 + 1382700 0.0044635994 0.0025041931 0.0047011209 + 1382800 0.0047085053 0.0021446382 0.0044621057 + 1382900 0.0031565347 0.0020338222 0.0035874291 + 1383000 0.0048301801 0.0023537063 0.0047310605 + 1383100 0.0052687726 0.0023545489 0.004947773 + 1383200 0.0059326958 0.0023358331 0.0052558319 + 1383300 0.0053950166 0.0024843432 0.0051397029 + 1383400 0.0058808491 0.0029365362 0.0058310167 + 1383500 0.003498115 0.0030465674 0.0047682958 + 1383600 0.0059266946 0.0025574051 0.0054744501 + 1383700 0.0041248594 0.0024522053 0.0044824096 + 1383800 0.0044439165 0.0027815012 0.0049687413 + 1383900 0.0053774968 0.0030764356 0.0057231723 + 1384000 0.0049430654 0.0031114321 0.0055443471 + 1384100 0.0077421164 0.0019722222 0.0057827951 + 1384200 0.0041176808 0.0020922688 0.0041189398 + 1384300 0.0055643417 0.0026576903 0.0053963897 + 1384400 0.0062522007 0.0028146412 0.0058918963 + 1384500 0.0057189457 0.0031444818 0.0059592754 + 1384600 0.0045070919 0.002578521 0.0047968553 + 1384700 0.0043052618 0.0021955204 0.0043145165 + 1384800 0.0034509273 0.0024958848 0.0041943881 + 1384900 0.005964358 0.0020483185 0.0049839009 + 1385000 0.0052523753 0.0018066152 0.0043917687 + 1385100 0.0053182048 0.0017405603 0.0043581143 + 1385200 0.0045830918 0.0019227603 0.0041785008 + 1385300 0.0038263004 0.002445385 0.0043286422 + 1385400 0.0048999145 0.0025926065 0.0050042831 + 1385500 0.0050265515 0.0024456204 0.0049196263 + 1385600 0.0046592111 0.0023169782 0.0046101837 + 1385700 0.0048439557 0.0023436511 0.0047277856 + 1385800 0.0051102594 0.0023832948 0.0048985006 + 1385900 0.005097566 0.002197439 0.0047063972 + 1386000 0.0055034929 0.0023651223 0.0050738727 + 1386100 0.0053618765 0.0023556973 0.0049947459 + 1386200 0.0049401423 0.0027887962 0.0052202726 + 1386300 0.0060835687 0.0028214624 0.0058157189 + 1386400 0.0052298097 0.002420377 0.004994424 + 1386500 0.0046326105 0.0025011284 0.0047812414 + 1386600 0.0041846435 0.0025955924 0.0046552216 + 1386700 0.0053699307 0.0025923061 0.0052353189 + 1386800 0.0050752653 0.0023933673 0.0048913494 + 1386900 0.0038100606 0.0021799461 0.0040552103 + 1387000 0.0027825717 0.0023671291 0.0037366761 + 1387100 0.0056646214 0.0019065572 0.004694613 + 1387200 0.0058515892 0.0020952467 0.0049753258 + 1387300 0.0052014967 0.0026152078 0.0051753194 + 1387400 0.0054468701 0.002868124 0.0055490054 + 1387500 0.0049546438 0.0027840904 0.0052227041 + 1387600 0.0050834858 0.002735424 0.0052374521 + 1387700 0.005294044 0.0023068178 0.0049124801 + 1387800 0.0059292767 0.0021208877 0.0050392035 + 1387900 0.0049726888 0.0022517468 0.0046992421 + 1388000 0.0050748431 0.0023324416 0.0048302159 + 1388100 0.0061823804 0.0023433389 0.0053862293 + 1388200 0.0061800202 0.0022116259 0.0052533545 + 1388300 0.0060599155 0.0020563983 0.0050390129 + 1388400 0.0081273283 0.0019108661 0.0059110355 + 1388500 0.0048822166 0.0024273613 0.0048303272 + 1388600 0.0055914916 0.0018437407 0.004595803 + 1388700 0.0040400148 0.0016320931 0.0036205379 + 1388800 0.003315494 0.0016944327 0.0033262774 + 1388900 0.0056041126 0.0015154323 0.0042737065 + 1389000 0.0051634656 0.0020095043 0.0045508976 + 1389100 0.0077519268 0.0023886343 0.0062040358 + 1389200 0.0047421629 0.002795006 0.0051290393 + 1389300 0.0072830377 0.0025444038 0.0061290239 + 1389400 0.0039758082 0.0023370772 0.0042939204 + 1389500 0.0045014668 0.00209694 0.0043125057 + 1389600 0.0056653389 0.0017721951 0.0045606041 + 1389700 0.0038439194 0.0016812581 0.0035731871 + 1389800 0.0066542217 0.0019536286 0.0052287533 + 1389900 0.0057979307 0.0023518705 0.0052055396 + 1390000 0.0065244596 0.0026432895 0.0058545469 + 1390100 0.0062268979 0.0022803711 0.0053451724 + 1390200 0.0060332135 0.0014948514 0.0044643237 + 1390300 0.004638955 0.0018432881 0.0041265237 + 1390400 0.006000733 0.0019995923 0.004953078 + 1390500 0.0051978383 0.0025632791 0.0051215902 + 1390600 0.0068836604 0.0023081201 0.0056961717 + 1390700 0.0061642467 0.0023160299 0.0053499951 + 1390800 0.0035151043 0.0024808454 0.0042109358 + 1390900 0.0042163109 0.0018628074 0.0039380229 + 1391000 0.0041924498 0.0017926912 0.0038561626 + 1391100 0.004257087 0.001779405 0.00387469 + 1391200 0.0065678552 0.001806068 0.0050386842 + 1391300 0.0035077118 0.0020024134 0.0037288653 + 1391400 0.0049926938 0.0018832768 0.0043406183 + 1391500 0.0042934198 0.0020384009 0.0041515685 + 1391600 0.0044105593 0.00191361 0.0040844322 + 1391700 0.0056736827 0.0020034135 0.0047959292 + 1391800 0.0053283721 0.0027215393 0.0053440974 + 1391900 0.0058274844 0.0030893836 0.0059575985 + 1392000 0.0056948766 0.0024408455 0.0052437925 + 1392100 0.0040291659 0.0028067072 0.0047898123 + 1392200 0.0053320943 0.0027494571 0.0053738473 + 1392300 0.0042347176 0.0023535007 0.0044377758 + 1392400 0.0046434501 0.0023318117 0.0046172598 + 1392500 0.0041601812 0.0022528202 0.0043004094 + 1392600 0.0059326069 0.0020042193 0.0049241743 + 1392700 0.0045019796 0.0020520711 0.0042678892 + 1392800 0.0045287497 0.0020824205 0.0043114145 + 1392900 0.0051219935 0.0019224175 0.0044433987 + 1393000 0.0043681857 0.0018015013 0.0039514677 + 1393100 0.0040097755 0.0017928609 0.0037664223 + 1393200 0.0060186943 0.0021266753 0.0050890014 + 1393300 0.0059054561 0.0023682531 0.0052748448 + 1393400 0.0041007117 0.0024603225 0.0044786415 + 1393500 0.0042056147 0.0024775538 0.0045475048 + 1393600 0.0064406819 0.0019802619 0.005150285 + 1393700 0.0040469533 0.001863383 0.0038552428 + 1393800 0.0039331739 0.0022106732 0.0041465322 + 1393900 0.0042773763 0.0024608711 0.0045661422 + 1394000 0.004912718 0.0018365224 0.0042545008 + 1394100 0.0037398122 0.0020778426 0.0039185314 + 1394200 0.0067070249 0.0026440655 0.0059451793 + 1394300 0.0062294574 0.0033164969 0.006382558 + 1394400 0.0076921893 0.0026728947 0.0064588941 + 1394500 0.003772347 0.0028257467 0.0046824487 + 1394600 0.00492703 0.0024630736 0.0048880962 + 1394700 0.0045590646 0.0024214734 0.004665388 + 1394800 0.0052728396 0.0023403819 0.0049356076 + 1394900 0.0051183066 0.0024787588 0.0049979253 + 1395000 0.0063347727 0.0023964146 0.0055143105 + 1395100 0.0085961162 0.0030390948 0.0072699957 + 1395200 0.0039968919 0.0033541955 0.0053214157 + 1395300 0.0054313808 0.0030986174 0.0057718752 + 1395400 0.0048543786 0.0027312053 0.0051204698 + 1395500 0.0047898364 0.0025140637 0.0048715612 + 1395600 0.0044162468 0.0020544255 0.0042280469 + 1395700 0.0068440373 0.0019609388 0.0053294884 + 1395800 0.0047888273 0.0025359123 0.0048929132 + 1395900 0.0046368688 0.0029256514 0.0052078602 + 1396000 0.0050655448 0.0030031942 0.0054963921 + 1396100 0.0041816405 0.0027205875 0.0047787387 + 1396200 0.0057937274 0.0023066717 0.0051582719 + 1396300 0.0054536244 0.0025519768 0.0052361825 + 1396400 0.0055837431 0.0024065702 0.0051548187 + 1396500 0.0049677582 0.0020968158 0.0045418843 + 1396600 0.004950519 0.0018304169 0.0042670005 + 1396700 0.0047346309 0.0019387682 0.0042690944 + 1396800 0.0043763015 0.0022641564 0.0044181173 + 1396900 0.0055078836 0.0025413725 0.005252284 + 1397000 0.0046450959 0.0027456177 0.0050318758 + 1397100 0.0060479213 0.0023048863 0.0052815976 + 1397200 0.0051315156 0.0024582334 0.0049839012 + 1397300 0.0054124547 0.0026769481 0.0053408907 + 1397400 0.0070818639 0.0021288068 0.0056144117 + 1397500 0.0051144829 0.0019562111 0.0044734957 + 1397600 0.0043340122 0.0021336067 0.0042667533 + 1397700 0.0048913556 0.0025183865 0.0049258505 + 1397800 0.004269518 0.0028041077 0.0049055111 + 1397900 0.0058187686 0.0023056572 0.0051695823 + 1398000 0.0052958955 0.0024076944 0.005014268 + 1398100 0.0044953541 0.0022148202 0.0044273773 + 1398200 0.0045447813 0.001856671 0.0040935556 + 1398300 0.0046573162 0.001896079 0.0041883518 + 1398400 0.0056681065 0.0015856992 0.0043754703 + 1398500 0.0058260297 0.0017271741 0.0045946731 + 1398600 0.0048653889 0.0024889319 0.0048836155 + 1398700 0.0032867756 0.0029814438 0.0045991537 + 1398800 0.005091339 0.0027242378 0.0052301312 + 1398900 0.0063739917 0.0020979954 0.0052351945 + 1399000 0.0049657724 0.0018951759 0.004339267 + 1399100 0.0079280938 0.0022599653 0.006162074 + 1399200 0.0054413145 0.0023479982 0.0050261451 + 1399300 0.0053029798 0.0020527476 0.0046628079 + 1399400 0.0037127856 0.0022006595 0.0040280462 + 1399500 0.0043171438 0.0024632286 0.0045880728 + 1399600 0.0047700481 0.0021488597 0.0044966177 + 1399700 0.0044252691 0.0021624154 0.0043404775 + 1399800 0.004712566 0.0024338814 0.0047533475 + 1399900 0.0045630593 0.0024536113 0.004699492 + 1400000 0.0050441316 0.002293786 0.0047764445 + 1400100 0.005884545 0.002139929 0.0050362284 + 1400200 0.0067089218 0.002526209 0.0058282565 + 1400300 0.0048965769 0.0023295728 0.0047396068 + 1400400 0.0064632934 0.0021102491 0.0052914013 + 1400500 0.0044438541 0.0019925579 0.0041797673 + 1400600 0.0038355105 0.0022040582 0.0040918485 + 1400700 0.005609214 0.0020780174 0.0048388024 + 1400800 0.0064602544 0.0021037228 0.0052833793 + 1400900 0.0062014801 0.0020631208 0.0051154118 + 1401000 0.0046865264 0.0024384858 0.0047451355 + 1401100 0.0040522448 0.0023669264 0.0043613906 + 1401200 0.0055314211 0.0020897636 0.0048122599 + 1401300 0.0038952545 0.002252076 0.0041692715 + 1401400 0.0049680234 0.0025932578 0.0050384569 + 1401500 0.0057466972 0.0021908268 0.0050192793 + 1401600 0.0048899971 0.001850184 0.0042569795 + 1401700 0.0044039108 0.0020796495 0.0042471993 + 1401800 0.0052759102 0.0021623436 0.0047590807 + 1401900 0.0056641043 0.0017749996 0.0045628009 + 1402000 0.0048259031 0.0018187773 0.0041940265 + 1402100 0.0051795513 0.0019673175 0.0045166279 + 1402200 0.0062081206 0.0018107023 0.0048662616 + 1402300 0.0059204175 0.0015481878 0.0044621433 + 1402400 0.0070532029 0.0016620232 0.0051335215 + 1402500 0.0058339141 0.0021255055 0.0049968851 + 1402600 0.0049797504 0.0021236641 0.0045746351 + 1402700 0.0041325201 0.0022442035 0.0042781782 + 1402800 0.0042712305 0.0020672155 0.0041694617 + 1402900 0.00626073 0.0018812718 0.0049627249 + 1403000 0.0053949688 0.0018579026 0.0045132389 + 1403100 0.0041685215 0.0022632883 0.0043149824 + 1403200 0.0037772177 0.0021590866 0.0040181859 + 1403300 0.0073647119 0.0017244294 0.0053492486 + 1403400 0.0062529904 0.001633673 0.0047113167 + 1403500 0.0047434028 0.0015658685 0.0039005121 + 1403600 0.0048095962 0.0018481468 0.0042153699 + 1403700 0.0045989196 0.0022947951 0.0045583258 + 1403800 0.0053966194 0.0020036787 0.0046598273 + 1403900 0.0049214911 0.0015972635 0.0040195599 + 1404000 0.0058046167 0.0021863572 0.0050433169 + 1404100 0.0045043343 0.0026923424 0.0049093194 + 1404200 0.0042507413 0.0025661025 0.0046582643 + 1404300 0.0044336806 0.0021525653 0.0043347675 + 1404400 0.0058452471 0.0019173289 0.0047942865 + 1404500 0.0044938233 0.0019475828 0.0041593865 + 1404600 0.0052160013 0.0021173465 0.0046845971 + 1404700 0.0064727549 0.0019206939 0.0051065029 + 1404800 0.0040322651 0.0017340039 0.0037186344 + 1404900 0.005320893 0.0016277989 0.0042466759 + 1405000 0.0049636041 0.0013835698 0.0038265937 + 1405100 0.0048197926 0.0013452459 0.0037174876 + 1405200 0.0045605998 0.0018178601 0.0040625303 + 1405300 0.0047448721 0.0019539274 0.0042892942 + 1405400 0.0044662357 0.0019626794 0.0041609048 + 1405500 0.0058710166 0.0020015871 0.0048912281 + 1405600 0.0072834406 0.0020615868 0.0056464052 + 1405700 0.0054691081 0.0023628802 0.0050547068 + 1405800 0.0061126433 0.002127078 0.0051356446 + 1405900 0.0045216511 0.0017470681 0.0039725683 + 1406000 0.0049452294 0.0020164693 0.0044504494 + 1406100 0.0052583438 0.002646415 0.0052345061 + 1406200 0.0060117951 0.0021514577 0.005110388 + 1406300 0.0069862352 0.001600923 0.0050394606 + 1406400 0.0064211682 0.0021164317 0.0052768504 + 1406500 0.0041442684 0.0025158448 0.0045556018 + 1406600 0.0062461737 0.0023336452 0.0054079338 + 1406700 0.006370823 0.0018583335 0.004993973 + 1406800 0.0041218087 0.0018522121 0.0038809148 + 1406900 0.0032811107 0.0019560163 0.003570938 + 1407000 0.0048422263 0.0020684399 0.0044517231 + 1407100 0.0046762305 0.001767189 0.0040687712 + 1407200 0.0043096575 0.0017406311 0.0038617906 + 1407300 0.0033414758 0.0018336178 0.0034782504 + 1407400 0.0035297471 0.0017924997 0.0035297971 + 1407500 0.00551669 0.0017227697 0.0044380156 + 1407600 0.0050492352 0.0018212256 0.0043063961 + 1407700 0.0044198469 0.0017613497 0.0039367431 + 1407800 0.0048478069 0.0021409441 0.0045269741 + 1407900 0.0049858308 0.0021828756 0.0046368391 + 1408000 0.0059416311 0.0021784915 0.005102888 + 1408100 0.006304377 0.0022863817 0.0053893172 + 1408200 0.0049035958 0.0020689528 0.0044824414 + 1408300 0.0024817942 0.0026002882 0.0038217963 + 1408400 0.0042149928 0.0026229414 0.0046975081 + 1408500 0.0047464814 0.00251167 0.0048478288 + 1408600 0.0050719648 0.0024369902 0.0049333479 + 1408700 0.0068529715 0.002460844 0.0058337909 + 1408800 0.0040882124 0.0029439273 0.0049560944 + 1408900 0.0056456505 0.0027721407 0.0055508594 + 1409000 0.0061861696 0.00245789 0.0055026454 + 1409100 0.0059626585 0.0031786524 0.0061133984 + 1409200 0.0039518235 0.0030457018 0.0049907399 + 1409300 0.0056880065 0.0026150734 0.0054146391 + 1409400 0.0047162412 0.0026982089 0.0050194839 + 1409500 0.0075248413 0.0022082831 0.0059119159 + 1409600 0.0055070884 0.0021998962 0.0049104162 + 1409700 0.0055103928 0.0024378716 0.005150018 + 1409800 0.0057270973 0.0023099444 0.0051287501 + 1409900 0.004676644 0.0024124006 0.0047141863 + 1410000 0.0043602869 0.002624488 0.0047705667 + 1410100 0.0045999126 0.0022686924 0.0045327119 + 1410200 0.0055974244 0.0021259133 0.0048808956 + 1410300 0.0057667478 0.0024842892 0.0053226104 + 1410400 0.0046715711 0.0029920908 0.0052913797 + 1410500 0.0048448389 0.0029463715 0.0053309407 + 1410600 0.0054656439 0.0030657024 0.005755824 + 1410700 0.0049726984 0.0029410071 0.0053885071 + 1410800 0.0058018312 0.002787135 0.0056427238 + 1410900 0.0048483785 0.0025351841 0.0049214954 + 1411000 0.003972459 0.0026847541 0.0046399487 + 1411100 0.0065904265 0.0020437351 0.0052874606 + 1411200 0.0054339446 0.0020560422 0.0047305618 + 1411300 0.0055871438 0.0025332117 0.005283134 + 1411400 0.0048479229 0.0024596312 0.0048457183 + 1411500 0.0062420874 0.0018631743 0.0049354517 + 1411600 0.0051529465 0.0019177311 0.004453947 + 1411700 0.0041874656 0.0021472403 0.0042082585 + 1411800 0.0058248434 0.0023667335 0.0052336486 + 1411900 0.0048059491 0.0022596634 0.0046250915 + 1412000 0.0055370802 0.0022395777 0.0049648593 + 1412100 0.0057668035 0.0024354386 0.0052737872 + 1412200 0.0042536289 0.002943695 0.0050372779 + 1412300 0.0068905819 0.0027123855 0.0061038438 + 1412400 0.0063466928 0.002675755 0.0057995179 + 1412500 0.005289756 0.0023353579 0.0049389097 + 1412600 0.0051156946 0.0019511318 0.0044690127 + 1412700 0.0032339255 0.001983898 0.0035755957 + 1412800 0.006151708 0.0019942778 0.0050220715 + 1412900 0.0049400502 0.0019181631 0.004349594 + 1413000 0.0038480264 0.0020093782 0.0039033287 + 1413100 0.0041308533 0.0022864912 0.0043196455 + 1413200 0.0047160649 0.0024681572 0.0047893454 + 1413300 0.0047491359 0.0028660693 0.0052035346 + 1413400 0.0048899455 0.0029305739 0.0053373439 + 1413500 0.0049750938 0.0030247321 0.0054734111 + 1413600 0.0044119376 0.0029846335 0.0051561341 + 1413700 0.0045397391 0.0028850754 0.0051194782 + 1413800 0.0045330509 0.0027892603 0.0050203712 + 1413900 0.0059092656 0.0030510733 0.0059595399 + 1414000 0.0038343482 0.0034283198 0.005315538 + 1414100 0.0039727392 0.0032328562 0.0051881888 + 1414200 0.0058877676 0.0025957049 0.0054935905 + 1414300 0.0056516924 0.002884864 0.0056665564 + 1414400 0.0024034572 0.0032587213 0.0044416729 + 1414500 0.004080519 0.003035109 0.0050434895 + 1414600 0.0040575619 0.0029614199 0.0049585012 + 1414700 0.0049398755 0.0025281402 0.0049594852 + 1414800 0.0075758289 0.0018531298 0.005581858 + 1414900 0.00396713 0.0019682838 0.0039208556 + 1415000 0.0059201663 0.0024522685 0.0053661004 + 1415100 0.0049733052 0.0029931033 0.0054409019 + 1415200 0.0050491458 0.0028060701 0.0052911966 + 1415300 0.0065707012 0.0030711824 0.0063051994 + 1415400 0.003352944 0.0035074663 0.0051577434 + 1415500 0.0045806217 0.00274312 0.0049976448 + 1415600 0.0056798655 0.0020595189 0.0048550777 + 1415700 0.0046042666 0.002098173 0.0043643355 + 1415800 0.0035619644 0.0023239903 0.0040771447 + 1415900 0.0044145426 0.0021076908 0.0042804735 + 1416000 0.0053595814 0.0023009462 0.0049388652 + 1416100 0.0050806441 0.0027275913 0.0052282209 + 1416200 0.0056979698 0.0021357993 0.0049402688 + 1416300 0.0061872509 0.0018716818 0.0049169693 + 1416400 0.0051137964 0.0021402847 0.0046572314 + 1416500 0.0037018659 0.0022504401 0.0040724523 + 1416600 0.0044822439 0.0023139098 0.0045200142 + 1416700 0.0043803787 0.0020548641 0.0042108317 + 1416800 0.0044826212 0.0019739233 0.0041802134 + 1416900 0.0046207299 0.0020074893 0.0042817547 + 1417000 0.0039294667 0.0023141243 0.0042481587 + 1417100 0.0065451848 0.002157864 0.0053793222 + 1417200 0.005947878 0.0024429508 0.0053704221 + 1417300 0.0037575213 0.0033187838 0.0051681888 + 1417400 0.0057373323 0.0027288802 0.0055527234 + 1417500 0.0044995578 0.0023550337 0.0045696598 + 1417600 0.0045897823 0.002138835 0.0043978685 + 1417700 0.0055259583 0.0024355759 0.0051553835 + 1417800 0.0059815937 0.0026245834 0.0055686491 + 1417900 0.0063182268 0.0024548889 0.0055646412 + 1418000 0.0030992474 0.002694297 0.0042197078 + 1418100 0.0040815812 0.0029448435 0.0049537468 + 1418200 0.0043203521 0.0029740036 0.0051004268 + 1418300 0.0037188968 0.002562317 0.0043927116 + 1418400 0.0043957647 0.0025653629 0.0047289033 + 1418500 0.0064206371 0.0032936412 0.0064537985 + 1418600 0.0060074215 0.0033807126 0.0063374904 + 1418700 0.0032931458 0.0033714594 0.0049923046 + 1418800 0.0048915101 0.0026509672 0.0050585074 + 1418900 0.0047061966 0.0027184623 0.0050347935 + 1419000 0.0058009971 0.0033541081 0.0062092864 + 1419100 0.0059318588 0.0037992659 0.0067188526 + 1419200 0.0037720965 0.0036195795 0.0054761583 + 1419300 0.0045452305 0.0034947155 0.0057318212 + 1419400 0.0040872037 0.0028220499 0.0048337204 + 1419500 0.0051763184 0.0026132334 0.0051609526 + 1419600 0.0057723043 0.0026511485 0.0054922045 + 1419700 0.0053712436 0.0029634344 0.0056070933 + 1419800 0.003875883 0.0026958328 0.0046034939 + 1419900 0.0049101116 0.0026091423 0.0050258379 + 1420000 0.0046593643 0.0026570764 0.0049503573 + 1420100 0.0043938575 0.0027414192 0.0049040209 + 1420200 0.0051232387 0.0024231691 0.0049447631 + 1420300 0.0040824108 0.0022876674 0.004296979 + 1420400 0.0053195795 0.0023735423 0.0049917728 + 1420500 0.0050854893 0.002943533 0.0054465473 + 1420600 0.0059712993 0.0032117487 0.0061507476 + 1420700 0.0054116575 0.0028386029 0.0055021531 + 1420800 0.0057148673 0.002514515 0.0053273012 + 1420900 0.0053243183 0.002448204 0.0050687669 + 1421000 0.0046180013 0.0021215381 0.0043944606 + 1421100 0.0057133146 0.0016472621 0.0044592841 + 1421200 0.0048431267 0.0022168891 0.0046006155 + 1421300 0.0056165797 0.0025037692 0.0052681796 + 1421400 0.0051827921 0.0026469223 0.0051978278 + 1421500 0.0047183099 0.002586304 0.0049085971 + 1421600 0.005958832 0.0025452401 0.0054781027 + 1421700 0.0046246945 0.0025227735 0.0047989903 + 1421800 0.0037779473 0.0025287096 0.004388168 + 1421900 0.0043298828 0.0026032767 0.0047343909 + 1422000 0.0063606692 0.0023835416 0.0055141835 + 1422100 0.0048741326 0.0022394921 0.0046384793 + 1422200 0.0042804419 0.0022160233 0.0043228033 + 1422300 0.0049379216 0.0022764636 0.0047068469 + 1422400 0.0048834432 0.0021742013 0.0045777711 + 1422500 0.0057540192 0.0021860295 0.0050180858 + 1422600 0.0038040223 0.002625094 0.0044973862 + 1422700 0.0045870123 0.0024481714 0.0047058415 + 1422800 0.0037634991 0.0021753329 0.0040276801 + 1422900 0.0045659321 0.0018487676 0.0040960623 + 1423000 0.0041025657 0.0017801957 0.0037994273 + 1423100 0.0061653758 0.0017647278 0.0047992487 + 1423200 0.0046336171 0.0019368685 0.0042174769 + 1423300 0.0038136443 0.0021560201 0.0040330481 + 1423400 0.0056931864 0.0018369336 0.0046390488 + 1423500 0.0049613568 0.0023346021 0.0047765199 + 1423600 0.0044319331 0.0026202699 0.004801612 + 1423700 0.0044642519 0.0024679515 0.0046652004 + 1423800 0.0069624655 0.0019199625 0.0053468009 + 1423900 0.0042217524 0.0021698171 0.0042477108 + 1424000 0.0041997421 0.0022778342 0.0043448947 + 1424100 0.0041949004 0.0022304471 0.0042951247 + 1424200 0.0037193036 0.0020177833 0.003848378 + 1424300 0.004477307 0.0018853168 0.0040889914 + 1424400 0.0048135482 0.0019485257 0.004317694 + 1424500 0.0039760097 0.0021879688 0.004144911 + 1424600 0.0046306159 0.0019504621 0.0042295933 + 1424700 0.0041760633 0.0021163537 0.0041717599 + 1424800 0.0038341962 0.0021494171 0.0040365605 + 1424900 0.0060069134 0.0019118316 0.0048683593 + 1425000 0.0051222256 0.0021169997 0.0046380951 + 1425100 0.0042080918 0.0023442505 0.0044154207 + 1425200 0.0051451874 0.0021195976 0.0046519945 + 1425300 0.0046919685 0.0019849175 0.0042942458 + 1425400 0.0029448126 0.0021875881 0.003636988 + 1425500 0.0056150153 0.0021291168 0.0048927572 + 1425600 0.0057258393 0.0023859578 0.0052041443 + 1425700 0.0058540309 0.0026903369 0.0055716177 + 1425800 0.004607402 0.0026668309 0.0049345366 + 1425900 0.0048503463 0.0027673552 0.005154635 + 1426000 0.0051856149 0.0028928958 0.0054451906 + 1426100 0.0049212914 0.002458609 0.0048808071 + 1426200 0.0040150755 0.0023965958 0.0043727658 + 1426300 0.0055526007 0.0027746756 0.0055075963 + 1426400 0.0050941733 0.0029592341 0.0054665225 + 1426500 0.0055943274 0.0026924484 0.0054459064 + 1426600 0.0063167422 0.0032528438 0.0063618654 + 1426700 0.0058260444 0.0035007272 0.0063682334 + 1426800 0.0050706644 0.0032670129 0.0057627306 + 1426900 0.0056200015 0.0031391065 0.005905201 + 1427000 0.0042976223 0.0032810072 0.0053962432 + 1427100 0.0035026036 0.00285109 0.0045750276 + 1427200 0.0054204273 0.0024187151 0.0050865816 + 1427300 0.0067860862 0.0026632934 0.0060033202 + 1427400 0.0057488551 0.0034868608 0.0063163754 + 1427500 0.0037526345 0.0036570191 0.0055040189 + 1427600 0.0063865124 0.0030493785 0.0061927401 + 1427700 0.0045230296 0.0024286482 0.0046548268 + 1427800 0.0048550254 0.0023431677 0.0047327505 + 1427900 0.0068763801 0.00269326 0.0060777283 + 1428000 0.0039128282 0.0033556872 0.0052815323 + 1428100 0.0058812336 0.0031982827 0.0060929524 + 1428200 0.004862504 0.0029580364 0.0053513001 + 1428300 0.0039839097 0.0030305431 0.0049913737 + 1428400 0.005540365 0.0031940979 0.0059209963 + 1428500 0.0044665434 0.0031866693 0.0053850461 + 1428600 0.0039367857 0.0026192068 0.0045568435 + 1428700 0.0039081451 0.0023297897 0.0042533299 + 1428800 0.0038859173 0.0020671783 0.0039797782 + 1428900 0.004614208 0.0018966859 0.0041677414 + 1429000 0.0040791609 0.0019174472 0.0039251592 + 1429100 0.0049809311 0.0022253532 0.0046769053 + 1429200 0.0035392322 0.0023446258 0.0040865916 + 1429300 0.0044707735 0.0020387873 0.0042392461 + 1429400 0.0036306403 0.0018331621 0.0036201178 + 1429500 0.0045832229 0.0017889949 0.0040447999 + 1429600 0.0033719921 0.0017651013 0.0034247537 + 1429700 0.0044152319 0.0017670475 0.0039401695 + 1429800 0.0046767401 0.0020657831 0.0043676161 + 1429900 0.0046249504 0.0024544419 0.0047307847 + 1430000 0.0060512532 0.0029355448 0.005913896 + 1430100 0.0047008641 0.0032411461 0.0055548526 + 1430200 0.0053547302 0.0032773767 0.0059129079 + 1430300 0.005674024 0.0031556542 0.0059483379 + 1430400 0.0053671208 0.0033877724 0.0060294022 + 1430500 0.0048807142 0.0032189601 0.0056211866 + 1430600 0.0045737284 0.003034807 0.005285939 + 1430700 0.0063771833 0.0029526905 0.0060914604 + 1430800 0.0052296066 0.0031792514 0.0057531984 + 1430900 0.0046091446 0.0033850788 0.0056536422 + 1431000 0.0065393065 0.003344019 0.0065625839 + 1431100 0.004039168 0.0033444783 0.0053325063 + 1431200 0.0058758103 0.0031112909 0.0060032913 + 1431300 0.0052079777 0.0031130958 0.0056763974 + 1431400 0.0044750576 0.0030913061 0.0052938735 + 1431500 0.0049264866 0.0025112825 0.0049360376 + 1431600 0.0042592641 0.0024594311 0.0045557876 + 1431700 0.005180374 0.0026233222 0.0051730375 + 1431800 0.0074936313 0.002476675 0.0061649467 + 1431900 0.0066400435 0.0030618004 0.0063299468 + 1432000 0.0055772139 0.0029666252 0.0057116602 + 1432100 0.0058966112 0.0023887891 0.0052910274 + 1432200 0.0042749928 0.0018730972 0.0039771952 + 1432300 0.0049999818 0.0019223549 0.0043832834 + 1432400 0.0048250027 0.002295356 0.004670162 + 1432500 0.0060396365 0.0023457053 0.0053183389 + 1432600 0.0057324454 0.0022400664 0.0050615044 + 1432700 0.005363965 0.0026163955 0.005256472 + 1432800 0.0050075785 0.0026595463 0.0051242138 + 1432900 0.0042893362 0.0026875946 0.0047987523 + 1433000 0.0045611716 0.0026330418 0.0048779934 + 1433100 0.00465964 0.0027916005 0.0050850171 + 1433200 0.0061552467 0.0029171144 0.0059466499 + 1433300 0.0056094678 0.0026675907 0.0054285006 + 1433400 0.0053265269 0.0024159035 0.0050375535 + 1433500 0.0038590825 0.0024329433 0.0043323355 + 1433600 0.0044033454 0.0026159454 0.0047832169 + 1433700 0.0041468863 0.0026695755 0.0047106211 + 1433800 0.0041679617 0.0030237319 0.0050751505 + 1433900 0.0038013566 0.0031920962 0.0050630764 + 1434000 0.0048009919 0.0032215223 0.0055845105 + 1434100 0.0062220681 0.0031399342 0.0062023583 + 1434200 0.0047067417 0.0031472046 0.005463804 + 1434300 0.0077590008 0.002767342 0.0065862252 + 1434400 0.0049347294 0.0027083628 0.0051371749 + 1434500 0.0061143463 0.0027658535 0.0057752583 + 1434600 0.0041698266 0.0030096482 0.0050619847 + 1434700 0.0066896359 0.0025061234 0.0057986786 + 1434800 0.0054389684 0.0022756697 0.004952662 + 1434900 0.0044642156 0.0026164627 0.0048136938 + 1435000 0.0071203603 0.0024730972 0.0059776495 + 1435100 0.0051733797 0.0026072382 0.005153511 + 1435200 0.0041493519 0.0025274205 0.0045696796 + 1435300 0.0041278929 0.0024306965 0.0044623938 + 1435400 0.0072007584 0.0022959957 0.005840119 + 1435500 0.005853858 0.0025098361 0.0053910318 + 1435600 0.0042311078 0.0021256596 0.004208158 + 1435700 0.0053947507 0.0018976604 0.0045528892 + 1435800 0.0046587813 0.0022350255 0.0045280194 + 1435900 0.0051568135 0.0023879679 0.004926087 + 1436000 0.004689413 0.0024575838 0.0047656543 + 1436100 0.0064492499 0.0024726658 0.005646906 + 1436200 0.0056397554 0.002326034 0.0051018511 + 1436300 0.0045117135 0.0019313491 0.004151958 + 1436400 0.0051725826 0.00185188 0.0043977606 + 1436500 0.0051835086 0.0018276659 0.0043789241 + 1436600 0.0039485909 0.0018069561 0.0037504032 + 1436700 0.0066622717 0.0019004813 0.0051795682 + 1436800 0.0044471134 0.0024430301 0.0046318437 + 1436900 0.0063969341 0.0030047971 0.0061532881 + 1437000 0.0050722313 0.0032966995 0.0057931884 + 1437100 0.0058487644 0.0030681418 0.0059468305 + 1437200 0.0044010133 0.0027904207 0.0049565444 + 1437300 0.0052683285 0.0028661448 0.0054591503 + 1437400 0.0042825745 0.0031537971 0.0052616267 + 1437500 0.0053789821 0.0031724922 0.00581996 + 1437600 0.0037898966 0.0028121157 0.0046774554 + 1437700 0.0057249014 0.0026112139 0.0054289388 + 1437800 0.0043055358 0.0026869283 0.0048060593 + 1437900 0.0051372852 0.0025925853 0.0051210929 + 1438000 0.0062371876 0.0024895657 0.0055594314 + 1438100 0.0043429541 0.0028577695 0.0049953172 + 1438200 0.0050273593 0.0025634328 0.0050378362 + 1438300 0.0040876143 0.0024319938 0.0044438664 + 1438400 0.0053721147 0.0026425148 0.0052866025 + 1438500 0.0053019738 0.0026097358 0.005219301 + 1438600 0.0050182032 0.0027777995 0.0052476964 + 1438700 0.0052319622 0.0025874407 0.0051625471 + 1438800 0.004865052 0.002622406 0.0050169238 + 1438900 0.0045267218 0.002735087 0.0049630829 + 1439000 0.0036766682 0.0035072499 0.00531686 + 1439100 0.0037483544 0.0035607348 0.005405628 + 1439200 0.005057265 0.003383369 0.0058724916 + 1439300 0.0043238521 0.0029849554 0.0051131013 + 1439400 0.005447654 0.0024062295 0.0050874967 + 1439500 0.0042586719 0.0023278687 0.0044239338 + 1439600 0.0042839139 0.0025047442 0.004613233 + 1439700 0.0039699955 0.002836945 0.0047909271 + 1439800 0.0073573063 0.0020980224 0.0057191966 + 1439900 0.0057070566 0.0018489974 0.0046579393 + 1440000 0.0043169329 0.0022238596 0.0043486 + 1440100 0.005424819 0.0023264109 0.004996439 + 1440200 0.0077547356 0.0028212794 0.0066380633 + 1440300 0.0059920446 0.0033401334 0.0062893428 + 1440400 0.006210324 0.0036509719 0.0067076157 + 1440500 0.0069205094 0.0033510362 0.0067572244 + 1440600 0.004366601 0.0028025405 0.0049517269 + 1440700 0.003419389 0.0025554143 0.0042383948 + 1440800 0.0061205151 0.0024210308 0.0054334718 + 1440900 0.0033713355 0.0021514838 0.003810813 + 1441000 0.0060930342 0.0016456214 0.0046445367 + 1441100 0.0060782582 0.0014728375 0.0044644802 + 1441200 0.0038471131 0.0014511922 0.0033446932 + 1441300 0.0044028729 0.0018749659 0.004042005 + 1441400 0.0049957365 0.0018888735 0.0043477125 + 1441500 0.0046945114 0.0021143378 0.0044249176 + 1441600 0.0048686501 0.002873822 0.0052701107 + 1441700 0.0061461648 0.0024593988 0.0054844643 + 1441800 0.0054095989 0.0019481442 0.0046106811 + 1441900 0.0047732928 0.0018827268 0.0042320818 + 1442000 0.0043566391 0.0018049507 0.003949234 + 1442100 0.0049246192 0.0016849818 0.0041088178 + 1442200 0.0051331701 0.001510982 0.0040374642 + 1442300 0.0047237487 0.0022966642 0.0046216343 + 1442400 0.005205616 0.0023564314 0.0049185706 + 1442500 0.0033111438 0.0024028153 0.0040325188 + 1442600 0.0038076136 0.0024315412 0.004305601 + 1442700 0.0041834843 0.0022509457 0.0043100044 + 1442800 0.0033832594 0.0020936288 0.0037588268 + 1442900 0.0072466003 0.002616541 0.0061832271 + 1443000 0.0056678557 0.0026737095 0.0054633572 + 1443100 0.0056162833 0.0020415509 0.0048058154 + 1443200 0.0047003583 0.0018092275 0.0041226851 + 1443300 0.0054230227 0.0021907618 0.0048599058 + 1443400 0.0060076393 0.0025045069 0.0054613919 + 1443500 0.0057365619 0.00249493 0.0053183941 + 1443600 0.0057454022 0.0027271928 0.0055550079 + 1443700 0.0036891058 0.0029053171 0.0047210488 + 1443800 0.0052046652 0.0023740994 0.0049357706 + 1443900 0.0060853437 0.0018951579 0.004890288 + 1444000 0.0033746743 0.0021448017 0.0038057742 + 1444100 0.0045957475 0.0016251082 0.0038870776 + 1444200 0.0032711442 0.0016953905 0.0033054068 + 1444300 0.0048267611 0.0014518034 0.0038274749 + 1444400 0.0047041789 0.001455071 0.003770409 + 1444500 0.0033695726 0.0016990436 0.0033575052 + 1444600 0.0046304075 0.0020972522 0.0043762809 + 1444700 0.0047709036 0.002343727 0.0046919061 + 1444800 0.0061913282 0.002284743 0.0053320373 + 1444900 0.0038224879 0.002180168 0.0040615488 + 1445000 0.0041551203 0.0020946074 0.0041397057 + 1445100 0.0053307594 0.0019885424 0.0046122755 + 1445200 0.0062070668 0.0021543342 0.0052093749 + 1445300 0.0033452066 0.0022744384 0.0039209073 + 1445400 0.0040652002 0.002272147 0.0042729877 + 1445500 0.0049986389 0.0019508348 0.0044111024 + 1445600 0.0039451482 0.0020397607 0.0039815133 + 1445700 0.0046986102 0.0021330733 0.0044456705 + 1445800 0.0040063248 0.002022896 0.003994759 + 1445900 0.0051736492 0.0015726398 0.0041190453 + 1446000 0.0048487738 0.0015494474 0.0039359533 + 1446100 0.0054270883 0.0018074572 0.0044786023 + 1446200 0.0051941443 0.0019785764 0.0045350693 + 1446300 0.005240828 0.0021337001 0.0047131701 + 1446400 0.0043475722 0.0019946795 0.0041345002 + 1446500 0.0042253843 0.0021009192 0.0041806005 + 1446600 0.0040124958 0.0022467842 0.0042216844 + 1446700 0.0029282008 0.0023951028 0.0038363267 + 1446800 0.0037829749 0.00260343 0.004465363 + 1446900 0.0038237612 0.0027111854 0.0045931928 + 1447000 0.0052923386 0.0030299865 0.0056348094 + 1447100 0.0056314903 0.002601682 0.0053734312 + 1447200 0.0042386703 0.0022058389 0.0042920594 + 1447300 0.0059929731 0.0018260525 0.004775719 + 1447400 0.0056382379 0.0019062243 0.0046812946 + 1447500 0.0045954483 0.0017624888 0.004024311 + 1447600 0.0028827762 0.0020027431 0.0034216095 + 1447700 0.0058178612 0.0019664775 0.004829956 + 1447800 0.0042025449 0.0018736292 0.0039420693 + 1447900 0.0043853535 0.0019969059 0.0041553221 + 1448000 0.004923998 0.002436158 0.0048596883 + 1448100 0.0059679476 0.0024572882 0.0053946374 + 1448200 0.005562388 0.0033488044 0.0060865422 + 1448300 0.0075013533 0.0029034993 0.0065955716 + 1448400 0.00741849 0.0025502384 0.0062015265 + 1448500 0.0068307866 0.0024353392 0.005797367 + 1448600 0.0040839612 0.0030510415 0.0050611161 + 1448700 0.0047352284 0.003371044 0.0057016643 + 1448800 0.0061347559 0.0027022902 0.0057217403 + 1448900 0.0057856125 0.0021750061 0.0050226122 + 1449000 0.0056679569 0.0021770964 0.004966794 + 1449100 0.0058896196 0.0021826603 0.0050814575 + 1449200 0.0048985384 0.002330404 0.0047414034 + 1449300 0.0049679344 0.0022560267 0.0047011819 + 1449400 0.0055477203 0.0027234923 0.0054540109 + 1449500 0.0079004369 0.0027862263 0.0066747226 + 1449600 0.0054172067 0.0031762107 0.0058424921 + 1449700 0.005002464 0.0028379056 0.0053000559 + 1449800 0.0051160257 0.0028982981 0.005416342 + 1449900 0.0051227352 0.003004742 0.0055260882 + 1450000 0.0057287502 0.0025450802 0.0053646995 + 1450100 0.0056073162 0.0024995799 0.0052594308 + 1450200 0.0057836175 0.0024013992 0.0052480234 + 1450300 0.0067750006 0.0027628082 0.0060973789 + 1450400 0.0043972296 0.0027105035 0.0048747649 + 1450500 0.0054763071 0.0024891225 0.0051844924 + 1450600 0.0057178618 0.0022464556 0.0050607157 + 1450700 0.0061579281 0.0024982733 0.0055291285 + 1450800 0.0045390397 0.0028799091 0.0051139677 + 1450900 0.0051685032 0.0024463529 0.0049902255 + 1451000 0.0044305376 0.0022938701 0.0044745253 + 1451100 0.0047133739 0.0021006966 0.0044205603 + 1451200 0.0057235908 0.0018461718 0.0046632517 + 1451300 0.006004086 0.0021519183 0.0051070544 + 1451400 0.0040322374 0.002756033 0.0047406498 + 1451500 0.0043728001 0.0027247223 0.0048769598 + 1451600 0.0055212588 0.002258472 0.0049759665 + 1451700 0.0066730515 0.0020929581 0.0053773506 + 1451800 0.0031665051 0.0022776347 0.003836149 + 1451900 0.003784522 0.0018660426 0.003728737 + 1452000 0.0033821802 0.0017906676 0.0034553344 + 1452100 0.006757293 0.0022897792 0.0056156344 + 1452200 0.0048573513 0.0026142077 0.0050049353 + 1452300 0.00430802 0.0025490515 0.0046694051 + 1452400 0.0039294661 0.0021559485 0.0040899826 + 1452500 0.0038969615 0.0017022484 0.0036202841 + 1452600 0.004590687 0.0018409684 0.0041004471 + 1452700 0.0051159474 0.0020458798 0.0045638852 + 1452800 0.0049528227 0.0026631002 0.0051008176 + 1452900 0.0047330997 0.0027702829 0.0050998554 + 1453000 0.0063737402 0.0023140752 0.0054511505 + 1453100 0.0047500343 0.0024479873 0.0047858948 + 1453200 0.0045168395 0.0027721472 0.0049952791 + 1453300 0.0042891789 0.0029214883 0.0050325685 + 1453400 0.0057065644 0.0027375142 0.0055462138 + 1453500 0.0038001202 0.0027552502 0.0046256218 + 1453600 0.0058150295 0.0026504164 0.0055125013 + 1453700 0.0055896222 0.0022478202 0.0049989624 + 1453800 0.0036936041 0.0024832638 0.0043012096 + 1453900 0.005369649 0.0025091606 0.0051520347 + 1454000 0.0044864475 0.0024324321 0.0046406055 + 1454100 0.0063129997 0.0021847129 0.0052918924 + 1454200 0.0037074548 0.0021045029 0.0039292658 + 1454300 0.0043195772 0.0023780094 0.0045040513 + 1454400 0.0046585735 0.0031234365 0.0054163281 + 1454500 0.0059755822 0.0025557227 0.0054968295 + 1454600 0.0058701787 0.0021950335 0.0050842621 + 1454700 0.0054183465 0.0023235048 0.0049903472 + 1454800 0.0042733961 0.0025290183 0.0046323304 + 1454900 0.0052068067 0.0024189489 0.0049816741 + 1455000 0.0045823865 0.002526235 0.0047816284 + 1455100 0.0039746281 0.0021867448 0.004143007 + 1455200 0.0043305595 0.0021487817 0.0042802289 + 1455300 0.0051120048 0.0020130464 0.0045291112 + 1455400 0.004177744 0.0019791264 0.0040353598 + 1455500 0.0053220478 0.0022573257 0.0048767712 + 1455600 0.0048477936 0.0025940657 0.0049800891 + 1455700 0.0055753043 0.0024142587 0.0051583537 + 1455800 0.0050433735 0.0026035325 0.0050858178 + 1455900 0.005470185 0.0023727319 0.0050650886 + 1456000 0.0040940075 0.0021411249 0.0041561442 + 1456100 0.0052399543 0.0025715758 0.0051506158 + 1456200 0.0042775702 0.0028511985 0.0049565651 + 1456300 0.0067405309 0.0025485822 0.0058661872 + 1456400 0.0048037026 0.002187046 0.0045513683 + 1456500 0.0044465658 0.0018457881 0.0040343322 + 1456600 0.0052870243 0.0021567241 0.0047589314 + 1456700 0.0042506386 0.0025892883 0.0046813995 + 1456800 0.0032239448 0.0026797197 0.0042665051 + 1456900 0.0066837645 0.0025508937 0.0058405591 + 1457000 0.0049765339 0.0023108589 0.0047602467 + 1457100 0.0052639881 0.0020040843 0.0045949535 + 1457200 0.004533619 0.0018602956 0.0040916862 + 1457300 0.0036115982 0.0019603396 0.0037379231 + 1457400 0.0039622841 0.0021887416 0.0041389283 + 1457500 0.003628022 0.0020672615 0.0038529285 + 1457600 0.0041987843 0.0019779216 0.0040445107 + 1457700 0.0064684783 0.0020336792 0.0052173833 + 1457800 0.0055919081 0.0027547662 0.0055070335 + 1457900 0.0040480185 0.0026999851 0.0046923692 + 1458000 0.0049271598 0.0022785609 0.0047036474 + 1458100 0.004411403 0.0023597613 0.0045309987 + 1458200 0.0042684819 0.0022268958 0.0043277892 + 1458300 0.0044130884 0.0021596972 0.0043317641 + 1458400 0.0039889629 0.0020908569 0.0040541746 + 1458500 0.0057810361 0.0021389487 0.0049843025 + 1458600 0.0067682536 0.0024884909 0.0058197407 + 1458700 0.0052194691 0.0027670519 0.0053360094 + 1458800 0.0057028913 0.0028593874 0.0056662792 + 1458900 0.0042364424 0.0028407231 0.0049258472 + 1459000 0.0050717595 0.003081125 0.0055773817 + 1459100 0.0059575122 0.0032758295 0.0062080425 + 1459200 0.0063490171 0.00335972 0.0064846268 + 1459300 0.0048450028 0.0034255311 0.0058101809 + 1459400 0.006431161 0.0031247824 0.0062901195 + 1459500 0.0065274619 0.0024631518 0.0056758869 + 1459600 0.0054235214 0.002268305 0.0049376944 + 1459700 0.0066661359 0.0024164514 0.0056974402 + 1459800 0.0055828744 0.0029385904 0.0056864114 + 1459900 0.0057898606 0.002960113 0.00580981 + 1460000 0.0040429684 0.0031424571 0.0051323556 + 1460100 0.0053984364 0.002911853 0.0055688959 + 1460200 0.0048510764 0.0034719082 0.0058595474 + 1460300 0.0055578698 0.003237171 0.0059726851 + 1460400 0.0057300397 0.0026785547 0.0054988087 + 1460500 0.0043904262 0.0023793642 0.0045402771 + 1460600 0.0055959248 0.0022681705 0.0050224147 + 1460700 0.0062984814 0.0026292347 0.0057292685 + 1460800 0.0055824753 0.0026330777 0.0053807023 + 1460900 0.0047477963 0.002217434 0.00455424 + 1461000 0.0046012085 0.0022280726 0.00449273 + 1461100 0.0054480127 0.0024424 0.0051238438 + 1461200 0.0052206685 0.0028659688 0.0054355166 + 1461300 0.0052527756 0.0024147268 0.0050000773 + 1461400 0.0072866321 0.0020829109 0.0056693002 + 1461500 0.0050582989 0.0024242565 0.004913888 + 1461600 0.0047584564 0.0023354111 0.0046774638 + 1461700 0.0076589149 0.0022571312 0.0060267534 + 1461800 0.0067435548 0.0018879362 0.0052070295 + 1461900 0.0051466183 0.0023318232 0.0048649244 + 1462000 0.0036180322 0.0025931276 0.0043738778 + 1462100 0.0041584662 0.0021369045 0.0041836496 + 1462200 0.0062149343 0.002137702 0.005196615 + 1462300 0.003977728 0.0029530984 0.0049108864 + 1462400 0.0065095274 0.0027551624 0.0059590704 + 1462500 0.0062027956 0.0023767697 0.0054297081 + 1462600 0.0045769702 0.0026008842 0.0048536117 + 1462700 0.0052513074 0.0025039544 0.0050885823 + 1462800 0.0066536642 0.0019483993 0.0052232497 + 1462900 0.005776343 0.0020865772 0.004929621 + 1463000 0.0036490773 0.0022883712 0.0040844014 + 1463100 0.0058244427 0.0022447865 0.0051115044 + 1463200 0.0049889112 0.0023059539 0.0047614336 + 1463300 0.0045998231 0.0023042272 0.0045682026 + 1463400 0.0049815666 0.0018444765 0.0042963413 + 1463500 0.0055929434 0.0022918485 0.0050446254 + 1463600 0.0049432748 0.0025023304 0.0049353485 + 1463700 0.003424031 0.0023527265 0.0040379918 + 1463800 0.0045431041 0.002447584 0.0046836431 + 1463900 0.0048955886 0.0023734147 0.0047829622 + 1464000 0.0066348236 0.002060525 0.0053261022 + 1464100 0.0057107225 0.0023333381 0.0051440844 + 1464200 0.0055438538 0.0026334714 0.0053620869 + 1464300 0.0061978063 0.0022721314 0.0053226142 + 1464400 0.005690344 0.0024404756 0.0052411918 + 1464500 0.0060017244 0.0027629292 0.005716903 + 1464600 0.0050996835 0.0028358017 0.0053458021 + 1464700 0.0068572701 0.0027675129 0.0061425755 + 1464800 0.0050784274 0.0034150994 0.0059146379 + 1464900 0.00480379 0.003686251 0.0060506164 + 1465000 0.0060346086 0.0031148032 0.0060849621 + 1465100 0.0057877135 0.0023019812 0.0051506214 + 1465200 0.0047170825 0.0023329417 0.0046546307 + 1465300 0.0042120459 0.0023207367 0.004393853 + 1465400 0.0047381237 0.0021609611 0.0044930063 + 1465500 0.0047560804 0.0023159773 0.0046568606 + 1465600 0.0070705082 0.0020260567 0.0055060724 + 1465700 0.0047406443 0.0024266878 0.0047599737 + 1465800 0.0054114649 0.0023368911 0.0050003465 + 1465900 0.0044373747 0.0021945591 0.0043785795 + 1466000 0.0044150512 0.0024043259 0.0045773589 + 1466100 0.0049416282 0.0025720422 0.0050042498 + 1466200 0.0051049888 0.0022625869 0.0047751986 + 1466300 0.0045339219 0.0024677109 0.0046992506 + 1466400 0.004114492 0.002246497 0.0042715985 + 1466500 0.0071668824 0.0017953977 0.0053228477 + 1466600 0.0049167774 0.0022771426 0.004697119 + 1466700 0.0052092216 0.0021438916 0.0047078053 + 1466800 0.0044954395 0.0024071387 0.0046197379 + 1466900 0.0050708051 0.0023547693 0.0048505562 + 1467000 0.0052134645 0.0026376577 0.0052036597 + 1467100 0.004587448 0.002622622 0.0048805066 + 1467200 0.0064027846 0.0021179006 0.0052692711 + 1467300 0.0063330238 0.0018152113 0.0049322465 + 1467400 0.0046208364 0.0022465397 0.0045208576 + 1467500 0.004333651 0.002667768 0.0048007369 + 1467600 0.0061702818 0.0026351145 0.00567205 + 1467700 0.0065303527 0.0024746949 0.0056888529 + 1467800 0.0042485407 0.0026341985 0.0047252772 + 1467900 0.004694991 0.0026103457 0.0049211616 + 1468000 0.0052837688 0.0022527529 0.0048533579 + 1468100 0.0056016699 0.0024369382 0.0051940101 + 1468200 0.0062133675 0.0019404347 0.0049985766 + 1468300 0.00601011 0.0016561732 0.0046142743 + 1468400 0.0047013064 0.0018050459 0.0041189702 + 1468500 0.0056601348 0.0020547939 0.0048406415 + 1468600 0.0044467185 0.0021549376 0.0043435568 + 1468700 0.0041179744 0.0018986262 0.0039254418 + 1468800 0.0043878715 0.0015282776 0.0036879331 + 1468900 0.0051371501 0.0015488467 0.0040772878 + 1469000 0.0049479192 0.0023444453 0.0047797492 + 1469100 0.0054398595 0.0027022634 0.0053796943 + 1469200 0.0056765977 0.0020330578 0.0048270082 + 1469300 0.0050707162 0.0016686052 0.0041643484 + 1469400 0.0069028637 0.0020304272 0.0054279304 + 1469500 0.004890926 0.0022983424 0.0047055951 + 1469600 0.0056510005 0.0021684306 0.0049497824 + 1469700 0.0046332447 0.002512428 0.0047928532 + 1469800 0.0052006364 0.0028424492 0.0054021374 + 1469900 0.0055142704 0.0029572797 0.0056713346 + 1470000 0.0055273568 0.0024273814 0.0051478773 + 1470100 0.0048683878 0.0024629137 0.0048590733 + 1470200 0.0069393672 0.0026128819 0.0060283518 + 1470300 0.0053999965 0.0026718679 0.0053296787 + 1470400 0.0067236716 0.0022527171 0.0055620242 + 1470500 0.0047192917 0.0022250513 0.0045478277 + 1470600 0.0060719696 0.002539689 0.0055282365 + 1470700 0.0057277748 0.0023767538 0.0051958929 + 1470800 0.0056209507 0.0022084025 0.0049749642 + 1470900 0.0056186702 0.0023145028 0.005079942 + 1471000 0.0063817253 0.0023437256 0.0054847311 + 1471100 0.0053445351 0.0020555339 0.0046860473 + 1471200 0.0043327826 0.0022779233 0.0044104648 + 1471300 0.0043414345 0.0023480815 0.0044848813 + 1471400 0.0057345165 0.0021856098 0.0050080671 + 1471500 0.0064971867 0.002404988 0.0056028221 + 1471600 0.0050126522 0.0027622884 0.0052294531 + 1471700 0.0038746346 0.0025350489 0.0044420956 + 1471800 0.0066146334 0.0019971439 0.0052527838 + 1471900 0.0063681302 0.0020055633 0.0051398774 + 1472000 0.0038600908 0.0025509082 0.0044507967 + 1472100 0.004367434 0.0025174181 0.0046670145 + 1472200 0.0071786446 0.0023775269 0.0059107661 + 1472300 0.0046705956 0.0022826273 0.004581436 + 1472400 0.0054363988 0.0020504344 0.004726162 + 1472500 0.0046461542 0.0022746565 0.0045614355 + 1472600 0.005314631 0.0022164427 0.0048322377 + 1472700 0.0067796005 0.0019299724 0.0052668071 + 1472800 0.004128349 0.0017329796 0.0037649014 + 1472900 0.0053983828 0.0020979339 0.0047549504 + 1473000 0.0050981295 0.0029855991 0.0054948347 + 1473100 0.0044317302 0.0027105703 0.0048918125 + 1473200 0.0052674001 0.002350431 0.0049429795 + 1473300 0.0047583554 0.0022722707 0.0046142738 + 1473400 0.0055641101 0.0020521962 0.0047907817 + 1473500 0.0062635726 0.0024082455 0.0054910976 + 1473600 0.004803321 0.0025972829 0.0049614174 + 1473700 0.0059629301 0.0029341712 0.0058690509 + 1473800 0.0050663072 0.0028576311 0.0053512041 + 1473900 0.0048037108 0.0029600332 0.0053243596 + 1474000 0.0064609221 0.0027529455 0.0059329306 + 1474100 0.004504887 0.0022432005 0.0044604496 + 1474200 0.006262558 0.0021333738 0.0052157266 + 1474300 0.0066860989 0.0020858499 0.0053766642 + 1474400 0.0063537689 0.0020729112 0.0052001568 + 1474500 0.0052112374 0.0023280462 0.0048929522 + 1474600 0.0054448975 0.0020925606 0.0047724711 + 1474700 0.0055568044 0.0019825739 0.0047175636 + 1474800 0.0055099186 0.0023573583 0.0050692713 + 1474900 0.0053901266 0.00270733 0.0053602829 + 1475000 0.0051487918 0.0024568702 0.0049910412 + 1475100 0.0052225871 0.0021899388 0.0047604309 + 1475200 0.0035847137 0.0018299457 0.0035942969 + 1475300 0.0052938929 0.0015623582 0.0041679462 + 1475400 0.0062480864 0.0014841899 0.0045594199 + 1475500 0.0049200375 0.0018945347 0.0043161157 + 1475600 0.0041628526 0.0021226127 0.0041715167 + 1475700 0.0048937401 0.0020962814 0.0045049191 + 1475800 0.005001836 0.0027191328 0.0051809739 + 1475900 0.0050684017 0.0022827944 0.0047773983 + 1476000 0.0064653641 0.0017858346 0.004968006 + 1476100 0.0048719284 0.001744476 0.0041423782 + 1476200 0.0044265506 0.0014426705 0.0036213634 + 1476300 0.0042645464 0.0015400447 0.0036390011 + 1476400 0.0049766439 0.0018430531 0.004292495 + 1476500 0.0039332336 0.0020300184 0.0039659068 + 1476600 0.0042324804 0.0019421907 0.0040253646 + 1476700 0.0039475384 0.0021347964 0.0040777255 + 1476800 0.0054406227 0.0020541111 0.0047319176 + 1476900 0.0063202244 0.0019913085 0.0051020439 + 1477000 0.0056546316 0.0023345486 0.0051176877 + 1477100 0.0049516908 0.0022678467 0.0047050071 + 1477200 0.0049938071 0.0024696178 0.0049275072 + 1477300 0.0045860693 0.0022613707 0.0045185766 + 1477400 0.0045566549 0.0020962228 0.0043389514 + 1477500 0.0045477738 0.0019943135 0.0042326709 + 1477600 0.0046846204 0.0018779482 0.0041836598 + 1477700 0.0041273213 0.0018629945 0.0038944105 + 1477800 0.0050560778 0.0018053873 0.0042939256 + 1477900 0.0060566834 0.0014884678 0.0044694917 + 1478000 0.0051855187 0.0011171863 0.0036694338 + 1478100 0.0052310828 0.0015611093 0.0041357829 + 1478200 0.0047953975 0.0017766127 0.0041368474 + 1478300 0.0046528399 0.0018336402 0.0041237098 + 1478400 0.0060154979 0.0018421339 0.0048028868 + 1478500 0.0053784248 0.0024503669 0.0050975604 + 1478600 0.0046429232 0.0022968087 0.0045819975 + 1478700 0.0067284193 0.0021758036 0.0054874475 + 1478800 0.0050115026 0.0022227094 0.0046893084 + 1478900 0.0045114978 0.0015503601 0.0037708629 + 1479000 0.0055216442 0.001679603 0.0043972872 + 1479100 0.0041891036 0.0017839304 0.0038457548 + 1479200 0.0041611876 0.0015113242 0.0035594087 + 1479300 0.0054527307 0.0014065528 0.0040903187 + 1479400 0.0039386086 0.0016150861 0.00355362 + 1479500 0.0056676296 0.0015645083 0.0043540447 + 1479600 0.004822647 0.0019940677 0.0043677142 + 1479700 0.0044497442 0.0027908501 0.0049809586 + 1479800 0.0057669155 0.002624823 0.0054632268 + 1479900 0.0042047679 0.0025630706 0.0046326048 + 1480000 0.0050431171 0.0024760455 0.0049582047 + 1480100 0.0061117135 0.0025113859 0.0055194949 + 1480200 0.0057352556 0.0025155273 0.0053383484 + 1480300 0.0050146779 0.0022565727 0.0047247345 + 1480400 0.0063004993 0.0028655144 0.0059665414 + 1480500 0.0042920716 0.0026999663 0.0048124703 + 1480600 0.0045764047 0.002342623 0.0045950722 + 1480700 0.0054609237 0.0024976116 0.00518541 + 1480800 0.0049035546 0.0021295064 0.0045429747 + 1480900 0.0039866434 0.0017366011 0.0036987772 + 1481000 0.0036916328 0.0020342146 0.0038511902 + 1481100 0.0041188845 0.0021314762 0.0041587397 + 1481200 0.0058121795 0.0017894109 0.004650093 + 1481300 0.0040802464 0.0016895716 0.0036978178 + 1481400 0.0055503583 0.0018426349 0.0045744519 + 1481500 0.0058914632 0.0021599163 0.0050596208 + 1481600 0.0044502035 0.0029060345 0.005096369 + 1481700 0.0048910845 0.0026019552 0.0050092858 + 1481800 0.0063106649 0.0023004421 0.0054064725 + 1481900 0.0050949244 0.0024992173 0.0050068754 + 1482000 0.0051341869 0.0021600334 0.004687016 + 1482100 0.0064304467 0.0021020243 0.0052670098 + 1482200 0.0049084147 0.0020880092 0.0045038696 + 1482300 0.0041204628 0.0016909803 0.0037190206 + 1482400 0.0058032882 0.0015042723 0.0043605782 + 1482500 0.0051307142 0.0017599099 0.0042851833 + 1482600 0.0052421887 0.0018621517 0.0044422915 + 1482700 0.006646007 0.0024415578 0.0057126394 + 1482800 0.0064926819 0.0029369848 0.0061326017 + 1482900 0.0065884364 0.0025405146 0.0057832607 + 1483000 0.0068402767 0.002302549 0.0056692478 + 1483100 0.0050608817 0.0023741377 0.0048650405 + 1483200 0.0049697599 0.002175639 0.0046216927 + 1483300 0.0050340224 0.0018722527 0.0043499356 + 1483400 0.0057834455 0.0017602342 0.0046067738 + 1483500 0.0066866057 0.0016509414 0.0049420051 + 1483600 0.0055550211 0.0020781017 0.0048122136 + 1483700 0.006104311 0.0021885593 0.0051930248 + 1483800 0.0058966765 0.0024804227 0.0053826931 + 1483900 0.0043964438 0.0027289334 0.0048928081 + 1484000 0.0047159393 0.0020820676 0.004403194 + 1484100 0.0066091914 0.0020903083 0.0053432697 + 1484200 0.0042605202 0.0023689465 0.0044659213 + 1484300 0.0038418114 0.0022427861 0.0041336777 + 1484400 0.0043127083 0.0023704967 0.0044931578 + 1484500 0.0042626909 0.003248652 0.0053466952 + 1484600 0.0057875468 0.0025695493 0.0054181075 + 1484700 0.0062562714 0.0021442807 0.0052235393 + 1484800 0.0061775564 0.0024192038 0.0054597199 + 1484900 0.0058244198 0.0025321533 0.0053988599 + 1485000 0.0064011168 0.0021796884 0.0053302381 + 1485100 0.0057683433 0.0021396062 0.0049787127 + 1485200 0.0052737627 0.0020723638 0.0046680439 + 1485300 0.0051698008 0.0020710236 0.0046155349 + 1485400 0.006249243 0.0029123539 0.0059881532 + 1485500 0.0053272757 0.0031115657 0.0057335842 + 1485600 0.0050587034 0.003023072 0.0055129025 + 1485700 0.0066414695 0.0026033803 0.0058722286 + 1485800 0.0050254321 0.0025565475 0.0050300023 + 1485900 0.0038230771 0.0024541329 0.0043358036 + 1486000 0.0051966152 0.0024303941 0.0049881031 + 1486100 0.0041447857 0.0024191238 0.0044591356 + 1486200 0.006229588 0.0024534984 0.0055196237 + 1486300 0.0053477883 0.0025194976 0.0051516122 + 1486400 0.0051445091 0.002563166 0.0050952291 + 1486500 0.0048010582 0.0026166701 0.0049796909 + 1486600 0.0055046283 0.0021550499 0.0048643591 + 1486700 0.0050818744 0.0021313674 0.0046326024 + 1486800 0.006125438 0.0024647437 0.0054796077 + 1486900 0.0047716284 0.0024313536 0.0047798895 + 1487000 0.0051899323 0.0025743453 0.0051287651 + 1487100 0.0042189233 0.0024940298 0.0045705311 + 1487200 0.004076262 0.0030572656 0.0050635508 + 1487300 0.004194235 0.0030033736 0.0050677236 + 1487400 0.0062500574 0.0026047445 0.0056809447 + 1487500 0.0044748327 0.0023108773 0.0045133341 + 1487600 0.0056194873 0.0019896162 0.0047554576 + 1487700 0.0054284888 0.0023929764 0.0050648107 + 1487800 0.0047589912 0.0027743725 0.0051166885 + 1487900 0.0052179466 0.0024708585 0.0050390666 + 1488000 0.0036881592 0.0020585629 0.0038738288 + 1488100 0.0049204744 0.0025546259 0.0049764219 + 1488200 0.0045336161 0.0029335264 0.0051649156 + 1488300 0.0055008577 0.0022299626 0.004937416 + 1488400 0.0061090111 0.0018189885 0.0048257674 + 1488500 0.0046179961 0.0021770042 0.0044499242 + 1488600 0.0069132106 0.0023410417 0.0057436376 + 1488700 0.0056893547 0.0028095385 0.0056097677 + 1488800 0.0048925947 0.0028995595 0.0053076335 + 1488900 0.0057893355 0.0028502474 0.0056996859 + 1489000 0.00415178 0.0024843174 0.0045277716 + 1489100 0.0050210302 0.0025341819 0.0050054702 + 1489200 0.0048679593 0.0026137649 0.0050097136 + 1489300 0.005426067 0.0025187047 0.0051893471 + 1489400 0.0064736768 0.0028559938 0.0060422566 + 1489500 0.0057840197 0.0032920224 0.0061388446 + 1489600 0.0048647292 0.0032400299 0.0056343888 + 1489700 0.0053791984 0.0030591685 0.0057067427 + 1489800 0.0051093602 0.0028832665 0.0053980297 + 1489900 0.0043490522 0.0029364476 0.0050769967 + 1490000 0.0046189313 0.002438904 0.0047122843 + 1490100 0.0033522025 0.0020940342 0.0037439464 + 1490200 0.0055979414 0.0024641723 0.0052194091 + 1490300 0.0041294925 0.0024326997 0.0044651843 + 1490400 0.0047052833 0.0024030769 0.0047189586 + 1490500 0.00517226 0.002628905 0.0051746267 + 1490600 0.0043274521 0.0027095497 0.0048394676 + 1490700 0.0066316653 0.0017565496 0.0050205723 + 1490800 0.0042497492 0.001764226 0.0038558995 + 1490900 0.004954974 0.0020042894 0.0044430656 + 1491000 0.0039548675 0.0023036213 0.0042501577 + 1491100 0.003773325 0.0024488615 0.0043060449 + 1491200 0.0047884728 0.0019777285 0.004334555 + 1491300 0.0055490741 0.0018135504 0.0045447353 + 1491400 0.0055137577 0.0023082874 0.00502209 + 1491500 0.0054323077 0.0026281402 0.0053018542 + 1491600 0.0063562754 0.0025802906 0.0057087699 + 1491700 0.0041067902 0.0027600437 0.0047813545 + 1491800 0.004834544 0.0025465431 0.0049260452 + 1491900 0.0036699567 0.0025353092 0.004341616 + 1492000 0.0048825864 0.002831887 0.005235035 + 1492100 0.0053571916 0.0023050577 0.0049418005 + 1492200 0.0057715032 0.0022149698 0.0050556315 + 1492300 0.0049405883 0.0023843264 0.0048160222 + 1492400 0.0066728689 0.0022023718 0.0054866745 + 1492500 0.0044326416 0.002041683 0.0042233738 + 1492600 0.006490182 0.0019115657 0.0051059521 + 1492700 0.0055712094 0.0021821509 0.0049242305 + 1492800 0.00458795 0.002453384 0.0047115156 + 1492900 0.0039544866 0.0024181832 0.004364532 + 1493000 0.0038174705 0.0026419092 0.0045208204 + 1493100 0.0056453831 0.0021570913 0.0049356783 + 1493200 0.0054524912 0.0022872231 0.0049708712 + 1493300 0.0038577378 0.0024559837 0.004354714 + 1493400 0.0050575116 0.002332611 0.004821855 + 1493500 0.0057376621 0.0024308796 0.0052548851 + 1493600 0.0054328631 0.0025320639 0.0052060512 + 1493700 0.0065261449 0.0021761289 0.0053882159 + 1493800 0.005320308 0.0020082427 0.0046268318 + 1493900 0.0059649493 0.002102895 0.0050387685 + 1494000 0.0058234588 0.0027285889 0.0055948225 + 1494100 0.0053757132 0.0027801939 0.0054260528 + 1494200 0.0051656065 0.0026532617 0.0051957087 + 1494300 0.0043183978 0.0021887599 0.0043142213 + 1494400 0.0066697141 0.0017503538 0.0050331037 + 1494500 0.0045145738 0.0019145802 0.004136597 + 1494600 0.0037149068 0.0020392749 0.0038677056 + 1494700 0.0051592063 0.0018813202 0.0044206171 + 1494800 0.0050549936 0.0019659229 0.0044539275 + 1494900 0.0047057111 0.0022269378 0.00454303 + 1495000 0.0041444478 0.0023923208 0.0044321662 + 1495100 0.0047424852 0.0023234021 0.004657594 + 1495200 0.0039052112 0.0021759884 0.0040980846 + 1495300 0.0047780586 0.002266316 0.0046180167 + 1495400 0.0046673535 0.0025270391 0.0048242521 + 1495500 0.0064114797 0.0023275695 0.0054832197 + 1495600 0.0049701781 0.0022977568 0.0047440163 + 1495700 0.0049019178 0.002397053 0.0048097156 + 1495800 0.0077236118 0.0019149853 0.0057164505 + 1495900 0.005481349 0.0016512729 0.0043491243 + 1496000 0.0055172321 0.0021117788 0.0048272915 + 1496100 0.004949446 0.0022249438 0.0046609992 + 1496200 0.0045173884 0.0023780281 0.0046014301 + 1496300 0.0082592452 0.0023396396 0.0064047369 + 1496400 0.0045293643 0.0026151919 0.0048444884 + 1496500 0.0047793989 0.0025621841 0.0049145445 + 1496600 0.0055908705 0.0026107526 0.0053625091 + 1496700 0.0061451609 0.0028421959 0.0058667672 + 1496800 0.0042212423 0.0029899813 0.005067624 + 1496900 0.0031428117 0.0030264036 0.0045732562 + 1497000 0.003683848 0.0028440791 0.0046572231 + 1497100 0.0063902706 0.0022090411 0.0053542525 + 1497200 0.0062598919 0.0021438666 0.0052249072 + 1497300 0.0060909246 0.0027378289 0.0057357058 + 1497400 0.0052964001 0.0027707184 0.0053775403 + 1497500 0.0037257199 0.0022313963 0.0040651491 + 1497600 0.0033112858 0.001663395 0.0032931685 + 1497700 0.0047040547 0.0018477307 0.0041630076 + 1497800 0.006174548 0.0019172736 0.004956309 + 1497900 0.0052007276 0.0023374717 0.0048972048 + 1498000 0.0039442666 0.0027556655 0.0046969842 + 1498100 0.0058569341 0.0024576744 0.0053403841 + 1498200 0.0057243381 0.0021443321 0.0049617798 + 1498300 0.0042955436 0.0020230429 0.0041372558 + 1498400 0.0053213624 0.002081689 0.004700797 + 1498500 0.0039679231 0.0022580276 0.0042109897 + 1498600 0.003331932 0.0021629341 0.0038028694 + 1498700 0.0051669311 0.002404877 0.004947976 + 1498800 0.0053953503 0.0023317074 0.0049872314 + 1498900 0.0054637311 0.0021053178 0.0047944979 + 1499000 0.0050388391 0.0025664001 0.0050464538 + 1499100 0.0044079666 0.0021888991 0.0043584452 + 1499200 0.0049043333 0.0017430348 0.0041568864 + 1499300 0.0052984377 0.0023471789 0.0049550037 + 1499400 0.0047145914 0.002660722 0.004981185 + 1499500 0.0054142053 0.0027892003 0.0054540044 + 1499600 0.004719967 0.0023175015 0.0046406103 + 1499700 0.0036133681 0.0023205375 0.0040989921 + 1499800 0.00450027 0.0023143678 0.0045293444 + 1499900 0.0054411038 0.0021356146 0.0048136578 + 1500000 0.003692483 0.0023129774 0.0041303713 + 1500100 0.0048437867 0.0024122836 0.0047963348 + 1500200 0.0052954254 0.002259854 0.0048661962 + 1500300 0.0049388982 0.0023352299 0.0047660938 + 1500400 0.0057716217 0.0024258008 0.0052665208 + 1500500 0.0037373169 0.0025623923 0.0044018529 + 1500600 0.0047272109 0.0025192239 0.004845898 + 1500700 0.0056212462 0.0027350862 0.0055017933 + 1500800 0.0050268939 0.0023463102 0.0048204846 + 1500900 0.0043949774 0.0021224014 0.0042855543 + 1501000 0.0058346776 0.0019533886 0.004825144 + 1501100 0.0046513122 0.0020630596 0.0043523773 + 1501200 0.0048750665 0.0017524234 0.0041518702 + 1501300 0.0064348679 0.0017643754 0.004931537 + 1501400 0.0047596434 0.0020704603 0.0044130973 + 1501500 0.0055008538 0.0021180663 0.0048255177 + 1501600 0.0056532213 0.0020692981 0.004851743 + 1501700 0.005034928 0.0021075373 0.0045856659 + 1501800 0.0036573041 0.0019906614 0.0037907408 + 1501900 0.0050235745 0.001981936 0.0044544766 + 1502000 0.0049797687 0.0022951094 0.0047460894 + 1502100 0.0038400142 0.0023399632 0.0042299702 + 1502200 0.0043136045 0.0028452033 0.0049683055 + 1502300 0.004264136 0.0028787613 0.0049775158 + 1502400 0.005475586 0.0029304531 0.0056254681 + 1502500 0.005151299 0.0029667837 0.0055021886 + 1502600 0.004591292 0.0024222029 0.0046819794 + 1502700 0.005192881 0.0020815332 0.0046374043 + 1502800 0.0046316052 0.0020810151 0.0043606333 + 1502900 0.0072536694 0.0018461915 0.0054163569 + 1503000 0.0048483571 0.0018659627 0.0042522634 + 1503100 0.0041771063 0.0024975326 0.0045534521 + 1503200 0.0067754644 0.00264407 0.0059788689 + 1503300 0.005246429 0.0024073594 0.0049895862 + 1503400 0.0037686212 0.0020060442 0.0038609125 + 1503500 0.0049456813 0.0021985607 0.0046327632 + 1503600 0.004706661 0.0025430087 0.0048595684 + 1503700 0.0043172581 0.0024631599 0.0045880604 + 1503800 0.0048456167 0.0027736778 0.0051586298 + 1503900 0.0070687461 0.0024267498 0.0059058983 + 1504000 0.0061946677 0.0025087077 0.0055576457 + 1504100 0.0057969605 0.0025579169 0.0054111084 + 1504200 0.0060882876 0.0024898842 0.0054864632 + 1504300 0.0035113445 0.0032156063 0.0049438462 + 1504400 0.0056295335 0.0035082388 0.0062790249 + 1504500 0.0042719482 0.0031324959 0.0052350954 + 1504600 0.0049853268 0.002535756 0.0049894715 + 1504700 0.004836319 0.0024196194 0.0047999951 + 1504800 0.0046044734 0.0024723642 0.0047386284 + 1504900 0.0059045754 0.0022435526 0.0051497108 + 1505000 0.00450463 0.0022781843 0.0044953068 + 1505100 0.0056751165 0.0025929471 0.0053861685 + 1505200 0.0055928607 0.0027419721 0.0054947083 + 1505300 0.004852877 0.0030134988 0.0054020242 + 1505400 0.0048841943 0.0027220665 0.0051260059 + 1505500 0.0054190807 0.0025197263 0.0051869301 + 1505600 0.0050878703 0.0025592491 0.0050634353 + 1505700 0.0059066315 0.0020012867 0.0049084569 + 1505800 0.0043431493 0.0021715195 0.0043091633 + 1505900 0.0051571201 0.0026563155 0.0051945855 + 1506000 0.0050411292 0.0033442162 0.0058253969 + 1506100 0.0046846707 0.0033790392 0.0056847756 + 1506200 0.0046829373 0.0031229548 0.005427838 + 1506300 0.0070290175 0.0030060876 0.0064656822 + 1506400 0.0054024936 0.0027031191 0.0053621589 + 1506500 0.0048924758 0.0025044441 0.0049124596 + 1506600 0.0052747398 0.0021042506 0.0047004116 + 1506700 0.0038663284 0.0017686475 0.003671606 + 1506800 0.0056411864 0.0018078569 0.0045843783 + 1506900 0.004383927 0.0020145698 0.0041722839 + 1507000 0.005774592 0.0018382765 0.0046804585 + 1507100 0.0039662937 0.0023561308 0.004308291 + 1507200 0.0043004457 0.0025469096 0.0046635352 + 1507300 0.0050651623 0.0025465585 0.0050395681 + 1507400 0.0051002197 0.0023519865 0.0048622509 + 1507500 0.0050313437 0.0026107957 0.0050871602 + 1507600 0.0056537164 0.002480808 0.0052634966 + 1507700 0.0058010691 0.0022854669 0.0051406806 + 1507800 0.0062232559 0.0020584311 0.0051214399 + 1507900 0.0035227126 0.0022692556 0.0040030907 + 1508000 0.0043524771 0.0021906377 0.0043328725 + 1508100 0.0050897435 0.0022349241 0.0047400322 + 1508200 0.0045667767 0.0028489971 0.0050967075 + 1508300 0.0050808813 0.002659235 0.0051599813 + 1508400 0.0060607612 0.0028851161 0.005868147 + 1508500 0.004753333 0.002973656 0.0053131871 + 1508600 0.0058419217 0.0031440409 0.0060193618 + 1508700 0.006273995 0.00268066 0.005768642 + 1508800 0.0048476588 0.0023281634 0.0047141204 + 1508900 0.0058189326 0.0025546534 0.0054186593 + 1509000 0.0044159499 0.0032721708 0.0054456461 + 1509100 0.0058170787 0.0031932807 0.0060563741 + 1509200 0.0047685919 0.0029035743 0.0052506156 + 1509300 0.0043946348 0.002896467 0.0050594513 + 1509400 0.0045418719 0.0027978564 0.005033309 + 1509500 0.0059876446 0.003277519 0.0062245628 + 1509600 0.005548594 0.0039081741 0.0066391227 + 1509700 0.0052395058 0.0030080807 0.0055869 + 1509800 0.0044032345 0.0023611931 0.0045284101 + 1509900 0.0053346307 0.0020282123 0.0046538509 + 1510000 0.0050269552 0.0018426489 0.0043168534 + 1510100 0.0050750293 0.0019851865 0.0044830525 + 1510200 0.0057687046 0.0023530403 0.0051923246 + 1510300 0.003871221 0.0026073051 0.0045126716 + 1510400 0.0043704133 0.0031429376 0.0052940003 + 1510500 0.0061154086 0.0029420951 0.0059520227 + 1510600 0.004459885 0.0030707475 0.0052658471 + 1510700 0.005376231 0.0027203347 0.0053664484 + 1510800 0.0038731297 0.0021574806 0.0040637866 + 1510900 0.0052683603 0.0026376541 0.0052306752 + 1511000 0.0037464295 0.0028302782 0.004674224 + 1511100 0.0045320129 0.0031903483 0.0054209484 + 1511200 0.0055896773 0.0032769903 0.0060281596 + 1511300 0.0062370698 0.002866001 0.0059358088 + 1511400 0.0057949626 0.0026065195 0.0054587277 + 1511500 0.0060494835 0.0026769118 0.0056543919 + 1511600 0.0056089006 0.0029465465 0.0057071773 + 1511700 0.0046997517 0.0027089258 0.0050220848 + 1511800 0.0061638515 0.0028846233 0.005918394 + 1511900 0.0049957453 0.002883685 0.0053425284 + 1512000 0.0051966791 0.0025995418 0.0051572823 + 1512100 0.003608936 0.0021167813 0.0038930544 + 1512200 0.0049258816 0.002110402 0.0045348594 + 1512300 0.0054037442 0.0022535711 0.0049132265 + 1512400 0.0035455988 0.0027464541 0.0044915535 + 1512500 0.0051608497 0.0027003003 0.005240406 + 1512600 0.0049070876 0.0026834776 0.0050986847 + 1512700 0.0049026272 0.0028898928 0.0053029046 + 1512800 0.0050683608 0.0027479985 0.0052425823 + 1512900 0.0039218045 0.0027878891 0.0047181522 + 1513000 0.0046677332 0.002917759 0.005215159 + 1513100 0.0046583706 0.0031248395 0.0054176313 + 1513200 0.0071732993 0.0031145553 0.0066451636 + 1513300 0.0045780892 0.0032303843 0.0054836625 + 1513400 0.0062466189 0.0032223703 0.0062968781 + 1513500 0.0054313875 0.0033740107 0.0060472717 + 1513600 0.0055785173 0.003281944 0.0060276205 + 1513700 0.0043455686 0.002885176 0.0050240106 + 1513800 0.0053708571 0.0024919923 0.005135461 + 1513900 0.0038019162 0.0022680529 0.0041393086 + 1514000 0.0053917242 0.0019656528 0.0046193921 + 1514100 0.0041095939 0.0022867564 0.0043094472 + 1514200 0.0052631127 0.0025396083 0.0051300466 + 1514300 0.0054031409 0.0026616348 0.0053209932 + 1514400 0.0056201314 0.0024949737 0.0052611321 + 1514500 0.0041186107 0.0027015114 0.0047286401 + 1514600 0.0054978585 0.0024662829 0.0051722601 + 1514700 0.0044095454 0.0026676095 0.0048379326 + 1514800 0.0061763494 0.0023333684 0.0053732903 + 1514900 0.0064733013 0.0021786155 0.0053646935 + 1515000 0.0047025267 0.0025933626 0.0049078875 + 1515100 0.0064364848 0.0024439485 0.0056119059 + 1515200 0.0064785247 0.0020598219 0.0052484708 + 1515300 0.0054058637 0.002352911 0.0050136096 + 1515400 0.0035196655 0.0029374648 0.0046698002 + 1515500 0.0046591607 0.0026673898 0.0049605704 + 1515600 0.0058240967 0.0023377858 0.0052043334 + 1515700 0.0063877695 0.0022772613 0.0054212416 + 1515800 0.0057246993 0.0022628483 0.0050804737 + 1515900 0.0067557799 0.0023205617 0.0056456721 + 1516000 0.0033645883 0.0024208876 0.0040768959 + 1516100 0.0049322586 0.0026586114 0.0050862074 + 1516200 0.0077598111 0.0025611761 0.0063804582 + 1516300 0.004583774 0.0025529129 0.0048089891 + 1516400 0.0032283146 0.0023499976 0.0039389337 + 1516500 0.0050646805 0.0024564714 0.0049492439 + 1516600 0.0049312161 0.0027461695 0.0051732524 + 1516700 0.0049292925 0.0027017394 0.0051278756 + 1516800 0.0047413676 0.0021838956 0.0045175374 + 1516900 0.0045861571 0.0023085691 0.0045658183 + 1517000 0.0052190606 0.0021452376 0.004713994 + 1517100 0.0075244806 0.0024523544 0.0061558098 + 1517200 0.0046739777 0.0029301371 0.0052306104 + 1517300 0.0049476584 0.0030381463 0.0054733219 + 1517400 0.0042247175 0.0028007397 0.0048800928 + 1517500 0.0058546129 0.002322779 0.0052043463 + 1517600 0.0041058096 0.0027633287 0.0047841569 + 1517700 0.0034118361 0.0026435835 0.0043228466 + 1517800 0.0046436478 0.0027065678 0.0049921132 + 1517900 0.004960714 0.0026498213 0.0050914228 + 1518000 0.0053723254 0.0023325332 0.0049767246 + 1518100 0.0043651051 0.0019841936 0.0041326438 + 1518200 0.0042547728 0.0019971338 0.0040912797 + 1518300 0.005349718 0.0016782622 0.0043113266 + 1518400 0.0050426352 0.0019862987 0.0044682207 + 1518500 0.0042076019 0.0023805951 0.0044515242 + 1518600 0.0059405852 0.0023732735 0.0052971553 + 1518700 0.0048373115 0.0021172394 0.0044981036 + 1518800 0.0046984628 0.0025864678 0.0048989924 + 1518900 0.0050606077 0.0028272321 0.005318 + 1519000 0.0067051867 0.0026284892 0.0059286982 + 1519100 0.0034635304 0.0026457294 0.0043504358 + 1519200 0.0038027621 0.0029790045 0.0048506765 + 1519300 0.0035132516 0.0026789858 0.0044081643 + 1519400 0.0054281937 0.0022760129 0.0049477019 + 1519500 0.0053354834 0.0020876523 0.0047137105 + 1519600 0.0045332797 0.0018763811 0.0041076048 + 1519700 0.0051547779 0.0019357277 0.0044728449 + 1519800 0.006465676 0.0021385211 0.005320846 + 1519900 0.00592553 0.0023707039 0.0052871757 + 1520000 0.0056563535 0.0022812893 0.0050652757 + 1520100 0.0035088515 0.0028004546 0.0045274674 + 1520200 0.006777475 0.0030619931 0.0063977816 + 1520300 0.0040148036 0.0032220093 0.0051980455 + 1520400 0.0060604652 0.0029068991 0.0058897843 + 1520500 0.0055641449 0.0025986286 0.0053372312 + 1520600 0.0071392396 0.0028755928 0.0063894373 + 1520700 0.0048708368 0.0031084928 0.0055058578 + 1520800 0.003327894 0.0029560407 0.0045939885 + 1520900 0.0045192286 0.0023064943 0.0045308021 + 1521000 0.0038920152 0.0021220011 0.0040376024 + 1521100 0.0037565449 0.0022599902 0.0041089146 + 1521200 0.0054251517 0.0023433955 0.0050135874 + 1521300 0.0052638002 0.0027460222 0.0053367989 + 1521400 0.0054406847 0.0030494301 0.005727267 + 1521500 0.0065680204 0.0028561027 0.0060888002 + 1521600 0.0058159078 0.002439693 0.0053022101 + 1521700 0.0050361473 0.0022403798 0.0047191085 + 1521800 0.0053216889 0.00258813 0.0052073988 + 1521900 0.0035867315 0.0026119032 0.0043772476 + 1522000 0.004816737 0.0022542272 0.004624965 + 1522100 0.0040602217 0.0022138651 0.0042122555 + 1522200 0.005048014 0.0020438724 0.0045284418 + 1522300 0.0065026322 0.001975679 0.0051761933 + 1522400 0.0057451906 0.0021097916 0.0049375026 + 1522500 0.0041024372 0.0024762711 0.0044954394 + 1522600 0.0035038985 0.0020505258 0.0037751008 + 1522700 0.0053581729 0.0016786098 0.0043158355 + 1522800 0.0062303491 0.0015978292 0.0046643292 + 1522900 0.005156271 0.0019659533 0.0045038054 + 1523000 0.0047210836 0.0022106091 0.0045342675 + 1523100 0.0072655139 0.001674445 0.0052504401 + 1523200 0.0058223083 0.0022099884 0.0050756557 + 1523300 0.0052542189 0.0021546581 0.0047407189 + 1523400 0.0038248179 0.002031898 0.0039144256 + 1523500 0.0040684159 0.0017311467 0.0037335702 + 1523600 0.0045892724 0.0017262398 0.0039850223 + 1523700 0.0057007942 0.0021419263 0.004947786 + 1523800 0.0058240746 0.0027114113 0.005577948 + 1523900 0.0045568081 0.0022774626 0.0045202666 + 1524000 0.0048793233 0.0019350567 0.0043365986 + 1524100 0.0050696995 0.0019202817 0.0044155245 + 1524200 0.0053973318 0.0016401749 0.0042966741 + 1524300 0.0048903316 0.0012890357 0.0036959957 + 1524400 0.0042671585 0.0014012825 0.0035015246 + 1524500 0.0058517035 0.0017872867 0.004667422 + 1524600 0.0046382072 0.0021606416 0.0044435092 + 1524700 0.0056462898 0.0023916627 0.0051706959 + 1524800 0.0046598496 0.0021024821 0.0043960018 + 1524900 0.005699419 0.0019046468 0.0047098295 + 1525000 0.0033273306 0.0020862783 0.0037239488 + 1525100 0.004380102 0.0021761421 0.0043319736 + 1525200 0.003772649 0.0024649238 0.0043217745 + 1525300 0.0031545137 0.002608771 0.0041613832 + 1525400 0.0045836032 0.0022768501 0.0045328424 + 1525500 0.0040823067 0.0024713746 0.0044806349 + 1525600 0.0044000888 0.002280304 0.0044459728 + 1525700 0.0047722393 0.0019108724 0.0042597089 + 1525800 0.0056080435 0.001453594 0.0042138028 + 1525900 0.0055114815 0.0011634271 0.0038761094 + 1526000 0.0049483707 0.0011495022 0.0035850284 + 1526100 0.004880522 0.0012172963 0.0036194283 + 1526200 0.0066191966 0.0017733835 0.0050312693 + 1526300 0.0042405728 0.0020251292 0.0041122861 + 1526400 0.0062244928 0.002448245 0.0055118625 + 1526500 0.0054271942 0.0030468702 0.0057180674 + 1526600 0.0050285319 0.0027171131 0.0051920936 + 1526700 0.0050968715 0.0021430509 0.0046516673 + 1526800 0.0045901611 0.0022790588 0.0045382787 + 1526900 0.0055944149 0.0026258018 0.0053793029 + 1527000 0.007271411 0.0029679187 0.0065468163 + 1527100 0.0062374365 0.0033103765 0.0063803648 + 1527200 0.0059625783 0.003199183 0.0061338895 + 1527300 0.006152816 0.0028605336 0.0058888728 + 1527400 0.0052729746 0.0032309848 0.005826277 + 1527500 0.0042462431 0.0028631373 0.0049530851 + 1527600 0.0042751497 0.0025674118 0.0046715871 + 1527700 0.0061364049 0.0020669095 0.0050871712 + 1527800 0.0057262025 0.0022617607 0.005080126 + 1527900 0.004447093 0.0025921138 0.0047809174 + 1528000 0.0054677083 0.0022600516 0.0049511893 + 1528100 0.0035077599 0.0021074302 0.0038339057 + 1528200 0.0050339039 0.0021972778 0.0046749024 + 1528300 0.0035779288 0.0021746523 0.0039356641 + 1528400 0.0037058746 0.0023775368 0.0042015219 + 1528500 0.0055175536 0.002566403 0.0052820739 + 1528600 0.0060170038 0.0023403913 0.0053018854 + 1528700 0.0060599653 0.0021607648 0.005143404 + 1528800 0.0043113863 0.0024480216 0.004570032 + 1528900 0.0047744163 0.0030696956 0.0054196036 + 1529000 0.0054983022 0.0024304098 0.0051366054 + 1529100 0.0044617616 0.0023990051 0.0045950284 + 1529200 0.0057001376 0.0026844996 0.0054900361 + 1529300 0.005629834 0.0024551056 0.0052260395 + 1529400 0.0045716833 0.0020872858 0.0043374112 + 1529500 0.0048700684 0.0016741262 0.004071113 + 1529600 0.0041708913 0.0018676733 0.0039205339 + 1529700 0.0046767871 0.0024642599 0.0047661161 + 1529800 0.0065608406 0.0022412618 0.0054704255 + 1529900 0.0056425372 0.0016516657 0.004428852 + 1530000 0.0056781382 0.0018525568 0.0046472654 + 1530100 0.0064421167 0.0019045627 0.005075292 + 1530200 0.0051904175 0.0020134169 0.0045680755 + 1530300 0.0042652287 0.0020004009 0.0040996932 + 1530400 0.0036809683 0.0019963378 0.0038080644 + 1530500 0.003931933 0.0022663249 0.0042015732 + 1530600 0.0057025957 0.0023396532 0.0051463995 + 1530700 0.0057559291 0.0025509846 0.005383981 + 1530800 0.0058789303 0.0024201973 0.0053137333 + 1530900 0.0058919176 0.0021648812 0.0050648094 + 1531000 0.0037402069 0.0021719081 0.0040127912 + 1531100 0.0045172382 0.002313688 0.0045370162 + 1531200 0.0060054078 0.0022131898 0.0051689765 + 1531300 0.0049078552 0.0023051962 0.0047207812 + 1531400 0.0069658187 0.0022046454 0.0056331343 + 1531500 0.0054110155 0.0024928736 0.0051561078 + 1531600 0.0051969973 0.0025620164 0.0051199135 + 1531700 0.0061682978 0.0022709324 0.0053068914 + 1531800 0.0054760205 0.0022977592 0.004992988 + 1531900 0.0051575334 0.0023001205 0.004838594 + 1532000 0.0059494425 0.0022736404 0.0052018817 + 1532100 0.0050624768 0.0019928451 0.0044845329 + 1532200 0.004513116 0.0019978229 0.0042191222 + 1532300 0.0056896545 0.0020731942 0.004873571 + 1532400 0.004422191 0.0019142836 0.0040908307 + 1532500 0.0045479223 0.0017495232 0.0039879537 + 1532600 0.0052601888 0.001881266 0.0044702651 + 1532700 0.0047343173 0.0018501595 0.0041803312 + 1532800 0.004219267 0.0020565466 0.004133217 + 1532900 0.0048048121 0.0022081962 0.0045730647 + 1533000 0.005459758 0.0021851742 0.0048723988 + 1533100 0.0035073099 0.0024671686 0.0041934227 + 1533200 0.0057664048 0.0024882695 0.0053264219 + 1533300 0.0055170407 0.0024787857 0.0051942042 + 1533400 0.0052506378 0.0027841019 0.0053684002 + 1533500 0.0056440975 0.0029101428 0.005688097 + 1533600 0.0055919165 0.0026154285 0.0053676999 + 1533700 0.005526397 0.0023944184 0.0051144419 + 1533800 0.0060976591 0.0026665055 0.0056676971 + 1533900 0.0034250528 0.0028399375 0.0045257057 + 1534000 0.0040608144 0.0025872934 0.0045859755 + 1534100 0.005695719 0.0018685143 0.0046718761 + 1534200 0.0045769448 0.0017572461 0.0040099611 + 1534300 0.0052523754 0.002338458 0.0049236115 + 1534400 0.0061583398 0.0026915553 0.0057226132 + 1534500 0.0059382109 0.0024314764 0.0053541896 + 1534600 0.0063817566 0.0024703845 0.0056114053 + 1534700 0.0060212244 0.0024575091 0.0054210805 + 1534800 0.004397083 0.0028757537 0.005039943 + 1534900 0.0052448261 0.0029087019 0.0054901398 + 1535000 0.0048596332 0.0026952883 0.005087139 + 1535100 0.0052326678 0.002306521 0.0048819747 + 1535200 0.0043461906 0.00242336 0.0045625007 + 1535300 0.0047011188 0.0026460045 0.0049598364 + 1535400 0.0042047306 0.0025449711 0.004614487 + 1535500 0.00389625 0.0024598073 0.0043774929 + 1535600 0.0036640904 0.0025447922 0.0043482117 + 1535700 0.0034240249 0.0023507886 0.0040360509 + 1535800 0.0067547516 0.0020350715 0.0053596758 + 1535900 0.0049287347 0.0022134401 0.0046393017 + 1536000 0.0039353368 0.0019829678 0.0039198914 + 1536100 0.0059513461 0.0016972403 0.0046264184 + 1536200 0.0050637477 0.0017898257 0.004282139 + 1536300 0.0035436011 0.0020083628 0.003752479 + 1536400 0.0046172399 0.0020550739 0.0043276217 + 1536500 0.0046188634 0.0025311816 0.0048045284 + 1536600 0.0053677689 0.0021381806 0.0047801294 + 1536700 0.0032368701 0.0021737899 0.0037669368 + 1536800 0.004523468 0.0022055795 0.0044319739 + 1536900 0.0045830083 0.0018056926 0.004061392 + 1537000 0.0051529215 0.0015647277 0.0041009312 + 1537100 0.0048608143 0.0019785247 0.0043709567 + 1537200 0.0088069716 0.0024620797 0.0067967611 + 1537300 0.0039463486 0.0026649205 0.0046072639 + 1537400 0.0051417103 0.0021576768 0.0046883624 + 1537500 0.0034474026 0.002186201 0.0038829694 + 1537600 0.0033782808 0.002178071 0.0038408186 + 1537700 0.0044970731 0.0017589217 0.0039723248 + 1537800 0.0057016841 0.0016827233 0.0044890209 + 1537900 0.0053415632 0.0023490164 0.0049780671 + 1538000 0.0051761174 0.0024022989 0.0049499192 + 1538100 0.0054635239 0.0024362009 0.0051252791 + 1538200 0.0059026473 0.0018707031 0.0047759123 + 1538300 0.0050695193 0.0018136585 0.0043088125 + 1538400 0.0049479685 0.0016753992 0.0041107274 + 1538500 0.0037874736 0.0015919478 0.003456095 + 1538600 0.0046191218 0.0020246729 0.0042981469 + 1538700 0.0046027844 0.0021111764 0.0043766093 + 1538800 0.0053654563 0.0020837403 0.0047245508 + 1538900 0.0051519032 0.0019825155 0.0045182178 + 1539000 0.0054852319 0.0017924088 0.0044921714 + 1539100 0.0064525184 0.0019315498 0.0051073988 + 1539200 0.005022124 0.0025702357 0.0050420624 + 1539300 0.0048117996 0.0028129769 0.0051812845 + 1539400 0.0058846479 0.0025438698 0.0054402199 + 1539500 0.0062570543 0.0021936379 0.0052732819 + 1539600 0.0048810692 0.0022976237 0.0047000249 + 1539700 0.0050917779 0.0020800769 0.0045861863 + 1539800 0.0054301892 0.0020102526 0.0046829238 + 1539900 0.0042800002 0.0022409951 0.0043475577 + 1540000 0.0045259097 0.0028604526 0.0050880488 + 1540100 0.003699824 0.0032641746 0.0050851818 + 1540200 0.0064647524 0.0024899553 0.0056718257 + 1540300 0.0044177153 0.002269611 0.0044439553 + 1540400 0.0049358382 0.002018089 0.0044474469 + 1540500 0.0045251845 0.0018036285 0.0040308677 + 1540600 0.0051773712 0.0021349386 0.004683176 + 1540700 0.0061310739 0.0025459328 0.0055635708 + 1540800 0.0044024036 0.0031785384 0.0053453464 + 1540900 0.003425442 0.0031501075 0.0048360673 + 1541000 0.0051088863 0.0029283194 0.0054428494 + 1541100 0.0052663012 0.0022540631 0.0048460707 + 1541200 0.005514526 0.002189611 0.0049037918 + 1541300 0.0044469988 0.0021840852 0.0043728424 + 1541400 0.0037437795 0.0022589825 0.004101624 + 1541500 0.0048368767 0.002200111 0.0045807612 + 1541600 0.0046556834 0.0024134665 0.0047049356 + 1541700 0.0057578219 0.0019904727 0.0048244006 + 1541800 0.0044806061 0.0016673371 0.0038726354 + 1541900 0.0043681814 0.0022009742 0.0043509384 + 1542000 0.005284266 0.002392908 0.0049937576 + 1542100 0.006311621 0.0023553227 0.0054618236 + 1542200 0.0041792886 0.0021222636 0.0041792572 + 1542300 0.005735288 0.0020917566 0.0049145936 + 1542400 0.0051138688 0.0023002341 0.0048172164 + 1542500 0.0048049767 0.0024909505 0.0048558999 + 1542600 0.0036473256 0.0024624813 0.0042576494 + 1542700 0.0034860965 0.0029428155 0.0046586286 + 1542800 0.0046743259 0.0029915618 0.0052922065 + 1542900 0.0050119983 0.0030731574 0.0055400003 + 1543000 0.0040117193 0.0027692368 0.0047437549 + 1543100 0.0048512923 0.0023842277 0.0047719731 + 1543200 0.0041948797 0.0026204843 0.0046851517 + 1543300 0.0044936253 0.0029585084 0.0051702147 + 1543400 0.004782282 0.0024038001 0.0047575795 + 1543500 0.004760535 0.0025329418 0.0048760176 + 1543600 0.0047605751 0.0023896778 0.0047327733 + 1543700 0.0048908368 0.0021242821 0.0045314909 + 1543800 0.0054728162 0.0023349131 0.0050285649 + 1543900 0.0041394744 0.0025766949 0.0046140925 + 1544000 0.0056611587 0.0022906364 0.005076988 + 1544100 0.0062848321 0.0018919016 0.0049852174 + 1544200 0.0063645765 0.0019639396 0.0050965046 + 1544300 0.0051563851 0.0023822716 0.0049201799 + 1544400 0.0042751784 0.0024224496 0.004526639 + 1544500 0.0054372793 0.0022954412 0.0049716021 + 1544600 0.0059955988 0.0021405696 0.0050915284 + 1544700 0.0054492994 0.0023862223 0.0050682994 + 1544800 0.0047284173 0.0026070387 0.0049343066 + 1544900 0.0041799411 0.002874978 0.0049322928 + 1545000 0.0044513121 0.0027695064 0.0049603866 + 1545100 0.0043498639 0.0022266397 0.0043675884 + 1545200 0.0055854833 0.001817255 0.00456636 + 1545300 0.004961312 0.001906352 0.0043482478 + 1545400 0.0044626703 0.001683627 0.0038800975 + 1545500 0.0043587683 0.0015523116 0.0036976428 + 1545600 0.0049680507 0.002174711 0.0046199235 + 1545700 0.0048802957 0.0024387794 0.0048408 + 1545800 0.0048990582 0.0026014625 0.0050127177 + 1545900 0.0040208125 0.0026997052 0.0046786988 + 1546000 0.00597365 0.002537669 0.0054778249 + 1546100 0.0057277683 0.0023687902 0.0051879261 + 1546200 0.005057944 0.0027132956 0.0052027525 + 1546300 0.004990625 0.0027979527 0.0052542759 + 1546400 0.0048134654 0.0024433377 0.0048124652 + 1546500 0.0053544909 0.002052532 0.0046879455 + 1546600 0.0035835438 0.0018170021 0.0035807776 + 1546700 0.0031818596 0.0020105699 0.0035766415 + 1546800 0.0041296545 0.0023579785 0.0043905429 + 1546900 0.0049519121 0.0021007495 0.0045380187 + 1547000 0.0052590613 0.0019921058 0.0045805501 + 1547100 0.0051841247 0.0025264615 0.0050780229 + 1547200 0.0036882999 0.0028666434 0.0046819785 + 1547300 0.0053979815 0.0029666146 0.0056234336 + 1547400 0.0045796068 0.0032987433 0.0055527686 + 1547500 0.0049277645 0.0035473312 0.0059727154 + 1547600 0.0056794609 0.002463717 0.0052590767 + 1547700 0.0048957825 0.0025200875 0.0049297305 + 1547800 0.0058745378 0.0025502142 0.0054415882 + 1547900 0.006107305 0.0026210089 0.005626948 + 1548000 0.0052155442 0.002826823 0.0053938486 + 1548100 0.0067649827 0.0031701257 0.0064997656 + 1548200 0.0065480011 0.0034575327 0.006680377 + 1548300 0.00693597 0.0036824911 0.0070962888 + 1548400 0.0050376185 0.0036363632 0.006115816 + 1548500 0.0069316353 0.0031809632 0.0065926274 + 1548600 0.0061262461 0.0031000575 0.0061153193 + 1548700 0.0067660079 0.002967052 0.0062971965 + 1548800 0.0051999785 0.0027437061 0.0053030705 + 1548900 0.005616526 0.002353903 0.0051182869 + 1549000 0.0054199462 0.0020781156 0.0047457454 + 1549100 0.0044017848 0.0019792967 0.0041458001 + 1549200 0.0044710664 0.0019886486 0.0041892516 + 1549300 0.0036999037 0.0020115357 0.003832582 + 1549400 0.0042153577 0.0021927975 0.0042675439 + 1549500 0.0043799663 0.0020311401 0.0041869048 + 1549600 0.0055076624 0.0025016586 0.0052124612 + 1549700 0.0048872159 0.002369643 0.0047750695 + 1549800 0.0067538825 0.0018839929 0.0052081694 + 1549900 0.0073850869 0.0023238275 0.0059586749 + 1550000 0.0036540187 0.0029872679 0.0047857302 + 1550100 0.0051176982 0.0027125064 0.0052313735 + 1550200 0.0044115149 0.0025269582 0.0046982507 + 1550300 0.0056773761 0.0022729769 0.0050673105 + 1550400 0.0043159449 0.0020628824 0.0041871365 + 1550500 0.0051065179 0.0023380585 0.0048514228 + 1550600 0.0067672786 0.0025360643 0.0058668342 + 1550700 0.0041815169 0.0029661652 0.0050242555 + 1550800 0.0054616532 0.0034341655 0.006122323 + 1550900 0.0050806329 0.0032867971 0.0057874211 + 1551000 0.0056234876 0.0036643577 0.006432168 + 1551100 0.0058331718 0.0036579161 0.0065289304 + 1551200 0.0059735795 0.0032301194 0.0061702406 + 1551300 0.0045565996 0.0034074881 0.0056501895 + 1551400 0.0070408232 0.0031591746 0.0066245797 + 1551500 0.0042744188 0.003055926 0.0051597415 + 1551600 0.0043088661 0.0030345927 0.0051553627 + 1551700 0.0037500171 0.0026331215 0.0044788331 + 1551800 0.0053886076 0.0022630092 0.0049152145 + 1551900 0.0057658943 0.0026335949 0.005471496 + 1552000 0.004726228 0.0032258143 0.0055520047 + 1552100 0.0049840266 0.0027459769 0.0051990525 + 1552200 0.0043885475 0.0027689024 0.0049288906 + 1552300 0.0047545967 0.0027484336 0.0050885866 + 1552400 0.0052219712 0.0029181204 0.0054883093 + 1552500 0.0057933387 0.002758486 0.0056098949 + 1552600 0.0057672845 0.0026547237 0.005493309 + 1552700 0.0038088142 0.0024888889 0.0043635397 + 1552800 0.0042326931 0.002099703 0.0041829816 + 1552900 0.0042945873 0.0016344803 0.0037482225 + 1553000 0.0040237006 0.0016031735 0.0035835886 + 1553100 0.0047354146 0.0016413763 0.0039720882 + 1553200 0.0043518342 0.0017431132 0.0038850316 + 1553300 0.0044655552 0.0022221739 0.0044200643 + 1553400 0.0032544635 0.0024872041 0.0040890103 + 1553500 0.0054762767 0.0023572263 0.0050525812 + 1553600 0.0053052545 0.0025754657 0.0051866456 + 1553700 0.0057703163 0.0024725409 0.0053126185 + 1553800 0.0070628381 0.0021733528 0.0056495934 + 1553900 0.0044485514 0.0024114066 0.004600928 + 1554000 0.0048000492 0.0023376959 0.0047002202 + 1554100 0.0053545858 0.0023948322 0.0050302924 + 1554200 0.0039072501 0.0022023497 0.0041254494 + 1554300 0.0052130058 0.0021025071 0.0046682834 + 1554400 0.0037969667 0.0022474161 0.0041162357 + 1554500 0.0038771236 0.0020462205 0.0039544923 + 1554600 0.0057874886 0.001833177 0.0046817065 + 1554700 0.0044090276 0.002274185 0.0044442532 + 1554800 0.0059207439 0.0023017309 0.005215847 + 1554900 0.0054595916 0.0027646818 0.0054518245 + 1555000 0.0048483286 0.0024453112 0.004831598 + 1555100 0.005367942 0.0019472447 0.0045892787 + 1555200 0.0049508357 0.0016240006 0.00406074 + 1555300 0.0057651464 0.0017553945 0.0045929275 + 1555400 0.0054749217 0.0018012444 0.0044959325 + 1555500 0.0041884452 0.0021093043 0.0041708047 + 1555600 0.0046477399 0.0022997883 0.0045873478 + 1555700 0.0043078793 0.0029847072 0.0051049915 + 1555800 0.0051528631 0.0033103206 0.0058464954 + 1555900 0.005451874 0.0034756225 0.0061589667 + 1556000 0.0047588319 0.0032504079 0.0055926455 + 1556100 0.0040095088 0.003018379 0.0049918091 + 1556200 0.0047343028 0.0027966566 0.0051268213 + 1556300 0.0043266906 0.0028814078 0.0050109509 + 1556400 0.0045723048 0.0028028855 0.0050533168 + 1556500 0.0060305483 0.0027028082 0.0056709687 + 1556600 0.0057502385 0.0028782077 0.0057084032 + 1556700 0.0051685131 0.0027396522 0.0052835297 + 1556800 0.0059130043 0.0019557545 0.0048660613 + 1556900 0.0052229255 0.0023622163 0.004932875 + 1557000 0.0045622635 0.0025359096 0.0047813986 + 1557100 0.0055684382 0.0023834029 0.0051241185 + 1557200 0.0039598822 0.0027676995 0.0047167041 + 1557300 0.0036836182 0.0031003314 0.0049133623 + 1557400 0.0045167478 0.0028115192 0.005034606 + 1557500 0.0048607686 0.0026872981 0.0050797077 + 1557600 0.004861016 0.0025320047 0.004924536 + 1557700 0.004475153 0.0026295053 0.0048321196 + 1557800 0.0050595554 0.0023366253 0.0048268752 + 1557900 0.003669774 0.0025344748 0.0043406917 + 1558000 0.0041765532 0.0027528734 0.0048085207 + 1558100 0.0053149597 0.0028206091 0.0054365658 + 1558200 0.0044533673 0.0028644336 0.0050563254 + 1558300 0.0036254705 0.0027349636 0.0045193749 + 1558400 0.0041824331 0.002437578 0.0044961193 + 1558500 0.0051048976 0.0026325474 0.0051451142 + 1558600 0.0052429436 0.0030328575 0.0056133688 + 1558700 0.0055600486 0.002731636 0.0054682224 + 1558800 0.0051893675 0.0024179856 0.0049721274 + 1558900 0.005815597 0.0022107297 0.0050730939 + 1559000 0.0054505298 0.0023367119 0.0050193946 + 1559100 0.0058093854 0.0023649962 0.0052243031 + 1559200 0.0051535747 0.0024576971 0.0049942222 + 1559300 0.0050128095 0.0023239978 0.0047912399 + 1559400 0.0053293801 0.002677283 0.0053003373 + 1559500 0.0052142291 0.0031004537 0.0056668321 + 1559600 0.0063234508 0.0032555938 0.0063679173 + 1559700 0.0046763389 0.0032946785 0.0055963141 + 1559800 0.0043880308 0.0030634527 0.0052231866 + 1559900 0.0055477434 0.0028084237 0.0055389537 + 1560000 0.0039171092 0.0024033934 0.0043313456 + 1560100 0.0045587131 0.0024299253 0.0046736669 + 1560200 0.006588495 0.0026669276 0.0059097025 + 1560300 0.0046821669 0.0026213344 0.0049258385 + 1560400 0.0053608103 0.0024192915 0.0050578153 + 1560500 0.0042207404 0.0025510163 0.004628412 + 1560600 0.0043822379 0.0022382682 0.0043951509 + 1560700 0.0046645361 0.0025470572 0.0048428836 + 1560800 0.0045664755 0.0028849658 0.0051325279 + 1560900 0.0067676531 0.0027526658 0.00608362 + 1561000 0.0046937446 0.0034233834 0.0057335858 + 1561100 0.0042776007 0.0028918474 0.0049972291 + 1561200 0.0047479383 0.0022768042 0.00461368 + 1561300 0.0049006596 0.0024473743 0.0048594177 + 1561400 0.0057880646 0.0028522229 0.005701036 + 1561500 0.0045697412 0.0028891095 0.0051382791 + 1561600 0.0047120346 0.0027677684 0.005086973 + 1561700 0.004570985 0.0028210686 0.0050708503 + 1561800 0.005451917 0.0025110432 0.0051944086 + 1561900 0.0045451022 0.0028960948 0.0051331373 + 1562000 0.0037731379 0.003004109 0.0048612003 + 1562100 0.0066911155 0.0034157886 0.006709072 + 1562200 0.0057186409 0.0030798792 0.0058945228 + 1562300 0.0045255742 0.0027237664 0.0049511974 + 1562400 0.005358735 0.0027016837 0.0053391861 + 1562500 0.0063072895 0.0028867093 0.0059910783 + 1562600 0.0038327284 0.0028936279 0.0047800489 + 1562700 0.0040731312 0.0027665793 0.0047713235 + 1562800 0.0048582361 0.0026246688 0.0050158319 + 1562900 0.0066632136 0.0025262875 0.0058058379 + 1563000 0.0041865481 0.0029494919 0.0050100586 + 1563100 0.0061145195 0.0029564432 0.0059659333 + 1563200 0.0044923207 0.00298449 0.0051955541 + 1563300 0.0047703776 0.0024665174 0.0048144376 + 1563400 0.0060025774 0.0022536254 0.005208019 + 1563500 0.0059916154 0.0021820335 0.0051310317 + 1563600 0.0051765934 0.002866766 0.0054146206 + 1563700 0.0042054106 0.0033189354 0.0053887859 + 1563800 0.0047910563 0.0030094648 0.0053675628 + 1563900 0.0048881185 0.0024678151 0.0048736859 + 1564000 0.003813069 0.0021769922 0.0040537371 + 1564100 0.0042811758 0.002276822 0.0043839632 + 1564200 0.0065097921 0.0019191227 0.005123161 + 1564300 0.0078023108 0.0020849617 0.0059251616 + 1564400 0.0052355653 0.0022005422 0.004777422 + 1564500 0.0046497289 0.002637401 0.0049259395 + 1564600 0.0048406506 0.0024257913 0.004808299 + 1564700 0.0045454054 0.0023774458 0.0046146376 + 1564800 0.0048901436 0.0021995889 0.0046064564 + 1564900 0.0052027904 0.0021939137 0.0047546622 + 1565000 0.0043025045 0.0027430719 0.0048607108 + 1565100 0.0042745229 0.0029218375 0.0050257042 + 1565200 0.0060169714 0.0035898249 0.006551303 + 1565300 0.0082240018 0.0030279015 0.0070756524 + 1565400 0.0053254684 0.0030352171 0.0056563461 + 1565500 0.0052567654 0.0030996129 0.0056869271 + 1565600 0.0048247676 0.0031188943 0.0054935846 + 1565700 0.0040267048 0.0030141485 0.0049960423 + 1565800 0.0054220929 0.0027826566 0.0054513429 + 1565900 0.0060505542 0.0024242195 0.0054022267 + 1566000 0.0045775848 0.0026193906 0.0048724207 + 1566100 0.0056984137 0.0027122851 0.0055169731 + 1566200 0.0052827088 0.0026895976 0.0052896808 + 1566300 0.0049700517 0.0027388731 0.0051850704 + 1566400 0.0059108245 0.0024681642 0.0053773982 + 1566500 0.0046202996 0.0026454739 0.0049195277 + 1566600 0.0057839407 0.0025296035 0.0053763868 + 1566700 0.0060465361 0.0023105483 0.0052865778 + 1566800 0.0043092435 0.002489544 0.0046104998 + 1566900 0.0044036108 0.0026586647 0.0048260669 + 1567000 0.0053389413 0.0025952438 0.005223004 + 1567100 0.0067758074 0.0026620791 0.0059970469 + 1567200 0.0069635451 0.0023732118 0.0058005816 + 1567300 0.0041601971 0.0021614714 0.0042090684 + 1567400 0.0062606858 0.0021807497 0.005262181 + 1567500 0.0068357038 0.0026498956 0.0060143436 + 1567600 0.0038671557 0.0025664376 0.0044698033 + 1567700 0.0057484679 0.0022801596 0.0051094836 + 1567800 0.0068087945 0.0024563609 0.0058075645 + 1567900 0.0057511292 0.0022973528 0.0051279867 + 1568000 0.0053167168 0.0025422583 0.0051590798 + 1568100 0.0040447274 0.002513191 0.0045039553 + 1568200 0.0056956958 0.0027224075 0.0055257578 + 1568300 0.0046687461 0.0033777321 0.0056756306 + 1568400 0.0057649763 0.003909089 0.0067465382 + 1568500 0.0063496693 0.0041098667 0.0072350945 + 1568600 0.0059244561 0.0038862205 0.0068021638 + 1568700 0.0057863508 0.0038168779 0.0066648475 + 1568800 0.006409447 0.0029544805 0.0061091302 + 1568900 0.0062785977 0.0026452272 0.0057354745 + 1569000 0.0048372743 0.0026289445 0.0050097904 + 1569100 0.0046569917 0.0022795465 0.0045716596 + 1569200 0.0037983755 0.0023473909 0.0042169039 + 1569300 0.0052964668 0.0020512979 0.0046581526 + 1569400 0.0062053515 0.0018841169 0.0049383133 + 1569500 0.0048116922 0.0017820862 0.0041503409 + 1569600 0.005461677 0.0019620395 0.0046502087 + 1569700 0.0056772611 0.0021785916 0.0049728686 + 1569800 0.0047518715 0.0024066823 0.0047454941 + 1569900 0.005076947 0.002045635 0.0045444448 + 1570000 0.0049919299 0.0022560758 0.0047130413 + 1570100 0.0063363454 0.0026851953 0.0058038653 + 1570200 0.0063076606 0.003211753 0.0063163048 + 1570300 0.0047404908 0.0036467863 0.0059799967 + 1570400 0.0051974715 0.003165474 0.0057236045 + 1570500 0.0048665615 0.0027748966 0.0051701574 + 1570600 0.0053529951 0.0028245095 0.0054591868 + 1570700 0.0049419578 0.0027699052 0.0052022751 + 1570800 0.0051238104 0.0025681235 0.0050899989 + 1570900 0.0048235233 0.0026017958 0.0049758736 + 1571000 0.0086286711 0.0025990266 0.0068459506 + 1571100 0.0056619418 0.0027627726 0.0055495096 + 1571200 0.0060733655 0.0022951696 0.0052844042 + 1571300 0.00631883 0.0019235717 0.0050336208 + 1571400 0.0033686878 0.0021983491 0.0038563752 + 1571500 0.0052567712 0.0024273572 0.0050146742 + 1571600 0.0045142022 0.0025754127 0.0047972466 + 1571700 0.0045888073 0.0021527891 0.0044113427 + 1571800 0.0051401099 0.0020776066 0.0046075044 + 1571900 0.0035801561 0.0023862875 0.0041483956 + 1572000 0.0061267775 0.0022776938 0.0052932171 + 1572100 0.0056790952 0.0020952677 0.0048904474 + 1572200 0.0063761139 0.0020529344 0.0051911779 + 1572300 0.0065699641 0.002525814 0.0057594683 + 1572400 0.0039547661 0.0027677027 0.0047141892 + 1572500 0.00536703 0.0026510483 0.0052926334 + 1572600 0.0042758921 0.0026869867 0.0047915274 + 1572700 0.0055924844 0.0028031408 0.0055556917 + 1572800 0.0043813905 0.0034406119 0.0055970775 + 1572900 0.0053080182 0.0032792483 0.0058917885 + 1573000 0.005464643 0.0027397626 0.0054293916 + 1573100 0.0052726896 0.0021621871 0.004757339 + 1573200 0.0046117138 0.0023189045 0.0045887324 + 1573300 0.0050671473 0.0027146027 0.0052085892 + 1573400 0.0043960363 0.0027354985 0.0048991727 + 1573500 0.0035983274 0.0025008931 0.0042719448 + 1573600 0.0050384741 0.0023847208 0.0048645948 + 1573700 0.0075343602 0.0021438265 0.0058521445 + 1573800 0.0043693056 0.00290184 0.0050523576 + 1573900 0.0054669231 0.0030048682 0.0056956194 + 1574000 0.0052884919 0.0030516633 0.005654593 + 1574100 0.0050084727 0.0028981622 0.0053632699 + 1574200 0.0043080829 0.0028604821 0.0049808666 + 1574300 0.0069234385 0.0027914303 0.0061990602 + 1574400 0.0063446762 0.0025018224 0.0056245927 + 1574500 0.0049590251 0.0021153102 0.0045560803 + 1574600 0.0058866942 0.0019927614 0.0048901187 + 1574700 0.0057685203 0.0023762166 0.0052154102 + 1574800 0.0055198906 0.0027462669 0.0054630881 + 1574900 0.0049793801 0.0026808213 0.00513161 + 1575000 0.00475631 0.0027485152 0.0050895115 + 1575100 0.0069835417 0.0026263427 0.0060635546 + 1575200 0.005350482 0.0025791114 0.0052125518 + 1575300 0.0041986807 0.0026548958 0.0047214339 + 1575400 0.0050169598 0.002922725 0.00539201 + 1575500 0.0064598945 0.0025940488 0.0057735282 + 1575600 0.0048722792 0.0027182243 0.0051162992 + 1575700 0.0043504723 0.0028340165 0.0049752645 + 1575800 0.0047074307 0.0027192736 0.0050362122 + 1575900 0.0052286924 0.0023240203 0.0048975174 + 1576000 0.0047314031 0.0022900335 0.004618771 + 1576100 0.005524252 0.0026189422 0.00533791 + 1576200 0.0043854326 0.0026524414 0.0048108965 + 1576300 0.0044578575 0.0024188341 0.0046129358 + 1576400 0.0055619115 0.0020595673 0.0047970706 + 1576500 0.0036223306 0.0024144712 0.004197337 + 1576600 0.0055367264 0.002393796 0.0051189036 + 1576700 0.0053150098 0.0027311765 0.0053471579 + 1576800 0.0046246012 0.0025291783 0.0048053492 + 1576900 0.005442827 0.0022180158 0.0048969072 + 1577000 0.0040140158 0.0021730544 0.0041487028 + 1577100 0.0058246422 0.00203707 0.004903886 + 1577200 0.0049362886 0.0023732595 0.0048028391 + 1577300 0.0049600536 0.0025984126 0.005039689 + 1577400 0.0047085737 0.0024837429 0.004801244 + 1577500 0.0038727613 0.00240444 0.0043105647 + 1577600 0.0046659364 0.0020658619 0.0043623774 + 1577700 0.0058526039 0.0018967139 0.0047772924 + 1577800 0.0040599744 0.0024265771 0.0044248457 + 1577900 0.0041714662 0.002561777 0.0046149205 + 1578000 0.0043181295 0.0018919788 0.0040173082 + 1578100 0.0051365203 0.0015413851 0.0040695162 + 1578200 0.0044781166 0.0016587765 0.0038628495 + 1578300 0.0049549922 0.0015587223 0.0039975075 + 1578400 0.0047740401 0.0019001204 0.0042498432 + 1578500 0.0043444513 0.0020618389 0.0042001235 + 1578600 0.0044951295 0.0018380812 0.0040505278 + 1578700 0.0056927786 0.0018400944 0.0046420088 + 1578800 0.004620508 0.0019560352 0.0042301915 + 1578900 0.0065141856 0.0015900942 0.0047962949 + 1579000 0.0051614282 0.001669409 0.0042097995 + 1579100 0.0053378887 0.0020525591 0.0046798012 + 1579200 0.005392074 0.0023021448 0.0049560562 + 1579300 0.0036725035 0.0020895691 0.0038971294 + 1579400 0.0044592716 0.0021248912 0.0043196889 + 1579500 0.0037967168 0.0022242395 0.0040929361 + 1579600 0.0048190561 0.0021811914 0.0045530706 + 1579700 0.0045198986 0.0021946519 0.0044192895 + 1579800 0.0063532953 0.0017606555 0.004887668 + 1579900 0.0051164479 0.0018315908 0.0043498425 + 1580000 0.0055424258 0.0020218277 0.0047497404 + 1580100 0.0062613017 0.0024941768 0.0055759112 + 1580200 0.0061615565 0.0029073231 0.0059399642 + 1580300 0.0060279579 0.0026668152 0.0056337008 + 1580400 0.0054242212 0.002789877 0.0054596109 + 1580500 0.0057453488 0.0027876283 0.0056154172 + 1580600 0.0064534862 0.0024339198 0.0056102451 + 1580700 0.0041853434 0.0025441333 0.004604107 + 1580800 0.0060576386 0.0027034795 0.0056849735 + 1580900 0.0051243464 0.0024781252 0.0050002644 + 1581000 0.004201813 0.0017640459 0.0038321257 + 1581100 0.00399069 0.0019651346 0.0039293023 + 1581200 0.0038954181 0.0018747589 0.003792035 + 1581300 0.0049893215 0.0018552405 0.0043109222 + 1581400 0.0059389441 0.0017281545 0.0046512286 + 1581500 0.004642993 0.0020063355 0.0042915587 + 1581600 0.0069953305 0.0020260346 0.0054690488 + 1581700 0.0057983709 0.0024335216 0.0052874072 + 1581800 0.0051675129 0.0024758566 0.0050192419 + 1581900 0.0047957573 0.002498002 0.0048584138 + 1582000 0.0054338341 0.0021006881 0.0047751533 + 1582100 0.0039773121 0.0021127204 0.0040703036 + 1582200 0.0050427516 0.0024058944 0.0048878737 + 1582300 0.003659936 0.0025395938 0.0043409685 + 1582400 0.006786266 0.0022891211 0.0056292364 + 1582500 0.0052109448 0.0025695398 0.0051343017 + 1582600 0.0044367894 0.0027099083 0.0048936406 + 1582700 0.0050424744 0.0018603725 0.0043422153 + 1582800 0.0038373601 0.0019327149 0.0038214156 + 1582900 0.0052585109 0.0021884031 0.0047765764 + 1583000 0.0052591541 0.0023334893 0.0049219793 + 1583100 0.0040441909 0.0025093222 0.0044998225 + 1583200 0.0042386512 0.0023923727 0.0044785838 + 1583300 0.0051433678 0.0025190245 0.0050505258 + 1583400 0.0046488221 0.0023850326 0.0046731248 + 1583500 0.0051018558 0.0025406176 0.0050516872 + 1583600 0.0044565595 0.0021359378 0.0043294007 + 1583700 0.0035215033 0.0019136578 0.0036468977 + 1583800 0.0049237651 0.0020508311 0.0044742467 + 1583900 0.004752269 0.0024858143 0.0048248217 + 1584000 0.0056544259 0.0031694034 0.0059524411 + 1584100 0.0065647375 0.0031621713 0.0063932531 + 1584200 0.005722126 0.0030735519 0.0058899108 + 1584300 0.0049034313 0.0028310581 0.0052444657 + 1584400 0.0057131705 0.0026416531 0.0054536042 + 1584500 0.0045166034 0.0026237106 0.0048467263 + 1584600 0.0052876157 0.0026324345 0.0052349329 + 1584700 0.0052133152 0.0022351073 0.0048010359 + 1584800 0.0037175023 0.0021677287 0.0039974369 + 1584900 0.0044229281 0.0024542445 0.0046311544 + 1585000 0.0040643582 0.002680055 0.0046804813 + 1585100 0.0047491753 0.0027617283 0.005099213 + 1585200 0.0047422029 0.002174019 0.004508072 + 1585300 0.004563221 0.0021086898 0.0043546502 + 1585400 0.005063662 0.0018487429 0.0043410141 + 1585500 0.0042928544 0.0017799855 0.0038928748 + 1585600 0.0048379594 0.0015194877 0.0039006708 + 1585700 0.0049071725 0.0016724981 0.0040877471 + 1585800 0.0041223902 0.001487846 0.003516835 + 1585900 0.0058114851 0.0016416867 0.004502027 + 1586000 0.0050988122 0.0017834031 0.0042929748 + 1586100 0.0042925348 0.0020469953 0.0041597272 + 1586200 0.0039994056 0.0019360671 0.0039045245 + 1586300 0.003975639 0.0023560783 0.0043128381 + 1586400 0.0045719919 0.0020939443 0.0043442215 + 1586500 0.0042069506 0.0017573745 0.003827983 + 1586600 0.0047634178 0.0017355396 0.0040800343 + 1586700 0.0047785687 0.001918367 0.0042703188 + 1586800 0.0047154733 0.0022767577 0.0045976547 + 1586900 0.0059446193 0.0021681572 0.0050940245 + 1587000 0.0053180013 0.0022556846 0.0048731384 + 1587100 0.0038084594 0.0024737511 0.0043482272 + 1587200 0.005483877 0.002421265 0.0051203607 + 1587300 0.0054600607 0.0021972497 0.0048846233 + 1587400 0.0051333407 0.0023517236 0.0048782898 + 1587500 0.0043969768 0.0027337463 0.0048978834 + 1587600 0.0058871872 0.0024230005 0.0053206004 + 1587700 0.0048570012 0.0023281502 0.0047187055 + 1587800 0.0064710044 0.002314667 0.0054996145 + 1587900 0.0040037605 0.0023307285 0.0043013293 + 1588000 0.0050947644 0.0023675887 0.0048751681 + 1588100 0.0035596616 0.0027212233 0.0044732443 + 1588200 0.0054708254 0.0024669485 0.0051596204 + 1588300 0.0056779045 0.0025657491 0.0053603427 + 1588400 0.0053866156 0.0022524994 0.0049037242 + 1588500 0.0051547904 0.0024222047 0.0049593281 + 1588600 0.0052069795 0.0027689779 0.0053317881 + 1588700 0.0047003245 0.0027823105 0.0050957515 + 1588800 0.0045631305 0.0030203816 0.0052662974 + 1588900 0.0046944171 0.0030409638 0.0053514972 + 1589000 0.0074931965 0.0029736483 0.006661706 + 1589100 0.0068660716 0.0030742168 0.0064536114 + 1589200 0.0074997257 0.0029327195 0.0066239907 + 1589300 0.0043630058 0.0031850642 0.0053324811 + 1589400 0.0042071613 0.0026943915 0.0047651037 + 1589500 0.0071988634 0.0023138689 0.0058570595 + 1589600 0.0044055538 0.0023443862 0.0045127447 + 1589700 0.0054214139 0.0024266549 0.005095007 + 1589800 0.0050860237 0.0024378587 0.004941136 + 1589900 0.0036188718 0.0023155232 0.0040966867 + 1590000 0.0042047185 0.0020460981 0.0041156079 + 1590100 0.0046529004 0.0019620829 0.0042521823 + 1590200 0.0029176668 0.0020368272 0.0034728663 + 1590300 0.0038188616 0.0019107387 0.0037903347 + 1590400 0.0040788245 0.0018480652 0.0038556116 + 1590500 0.0042179801 0.0019019887 0.0039780258 + 1590600 0.0036532922 0.0021922504 0.0039903551 + 1590700 0.0054326519 0.0023167716 0.004990655 + 1590800 0.0046169288 0.0024788242 0.0047512188 + 1590900 0.0068430849 0.0027411775 0.0061092583 + 1591000 0.0058273156 0.0026316154 0.0054997473 + 1591100 0.0060569145 0.0028112725 0.0057924101 + 1591200 0.0048064262 0.0025595322 0.0049251951 + 1591300 0.0049661251 0.0023136436 0.0047579083 + 1591400 0.003707035 0.0022752267 0.0040997829 + 1591500 0.0056829709 0.0016898806 0.0044869679 + 1591600 0.0040203096 0.0014872958 0.0034660419 + 1591700 0.0047930891 0.0015071324 0.003866231 + 1591800 0.0040708759 0.0019583731 0.0039620073 + 1591900 0.0054918717 0.0018054008 0.0045084314 + 1592000 0.004151575 0.0019016307 0.0039449841 + 1592100 0.0044988222 0.001899889 0.004114153 + 1592200 0.005217525 0.0018724489 0.0044404495 + 1592300 0.0052766034 0.0021268755 0.0047239538 + 1592400 0.0054603656 0.0025998236 0.0052873473 + 1592500 0.0046175049 0.0022968326 0.0045695108 + 1592600 0.0043958853 0.0022511283 0.0044147281 + 1592700 0.0049991939 0.0025153151 0.0049758559 + 1592800 0.0051857696 0.002302592 0.004854963 + 1592900 0.0046877663 0.002330559 0.004637819 + 1593000 0.004854663 0.0023214067 0.0047108112 + 1593100 0.0040062659 0.0025394328 0.0045112668 + 1593200 0.005343076 0.0029215819 0.0055513772 + 1593300 0.0032162973 0.0033184519 0.0049014732 + 1593400 0.0051703845 0.0032382371 0.0057830358 + 1593500 0.0036450322 0.0032421903 0.0050362296 + 1593600 0.0048849217 0.0029863749 0.0053906723 + 1593700 0.0065149431 0.0023045919 0.0055111655 + 1593800 0.003501124 0.0027234924 0.0044467018 + 1593900 0.004084296 0.0024861167 0.0044963561 + 1594000 0.0062021136 0.0024135847 0.0054661875 + 1594100 0.0049631209 0.0022160357 0.0046588217 + 1594200 0.0063790042 0.0022593298 0.005398996 + 1594300 0.0047455938 0.0025855721 0.0049212941 + 1594400 0.0043011359 0.0026189978 0.0047359632 + 1594500 0.002851039 0.0024450878 0.0038483335 + 1594600 0.0053812708 0.0025525663 0.0052011605 + 1594700 0.0071642142 0.0021648256 0.0056909623 + 1594800 0.0044149043 0.0023987726 0.0045717333 + 1594900 0.0058370022 0.0025200124 0.0053929119 + 1595000 0.0039393348 0.0023332235 0.0042721148 + 1595100 0.0042156263 0.0019120281 0.0039869067 + 1595200 0.0054885343 0.0018058998 0.0045072878 + 1595300 0.0038360159 0.0020610299 0.003949069 + 1595400 0.0055459077 0.0024246996 0.005154326 + 1595500 0.0054824196 0.0027138236 0.0054122019 + 1595600 0.0053939296 0.0029786621 0.0056334869 + 1595700 0.0065460013 0.0021857483 0.0054076083 + 1595800 0.0052831684 0.0019938121 0.0045941215 + 1595900 0.0041178288 0.0018523463 0.0038790902 + 1596000 0.0055697399 0.0021568962 0.0048982525 + 1596100 0.0041816597 0.0030199677 0.0050781283 + 1596200 0.0031115822 0.0032706168 0.0048020987 + 1596300 0.0049608444 0.0029127704 0.005354436 + 1596400 0.0039215722 0.0031558551 0.0050860039 + 1596500 0.0047328975 0.003024492 0.005353965 + 1596600 0.0042035268 0.0028061399 0.0048750632 + 1596700 0.0049004179 0.0030208491 0.0054327736 + 1596800 0.0047628173 0.0027882283 0.0051324274 + 1596900 0.0060027044 0.0024469472 0.0054014032 + 1597000 0.0057209146 0.0027601928 0.0055759554 + 1597100 0.0047408142 0.0030426648 0.0053760342 + 1597200 0.0030014282 0.0027572923 0.0042345578 + 1597300 0.004846891 0.0022740761 0.0046596553 + 1597400 0.0037410297 0.0021874315 0.0040287196 + 1597500 0.0043874138 0.0019160558 0.0040754861 + 1597600 0.0049913003 0.0019499917 0.0044066473 + 1597700 0.0047622203 0.0021108237 0.004454729 + 1597800 0.0043343069 0.0022779198 0.0044112115 + 1597900 0.0055585837 0.0023139456 0.005049811 + 1598000 0.0038272801 0.0024246616 0.004308401 + 1598100 0.0041382353 0.0025562953 0.004593083 + 1598200 0.0050540289 0.0026864618 0.0051739916 + 1598300 0.0056165474 0.0031356775 0.0059000719 + 1598400 0.0052344469 0.0031516162 0.0057279455 + 1598500 0.0054082041 0.0025284788 0.0051903293 + 1598600 0.0052479792 0.0022988491 0.0048818389 + 1598700 0.0046545918 0.0025686884 0.0048596204 + 1598800 0.0046024249 0.0030872571 0.0053525131 + 1598900 0.0058678106 0.0032713377 0.0061594007 + 1599000 0.0048277854 0.0033193301 0.0056955057 + 1599100 0.00439184 0.0034086673 0.0055702761 + 1599200 0.0041094072 0.003150597 0.0051731959 + 1599300 0.0050949157 0.0032221352 0.005729789 + 1599400 0.0039936995 0.0032152734 0.0051809224 + 1599500 0.0063211533 0.0023917176 0.0055029102 + 1599600 0.0058423018 0.0023804816 0.0052559895 + 1599700 0.0046246365 0.0024989802 0.0047751685 + 1599800 0.0049495828 0.0028262729 0.0052623957 + 1599900 0.004017195 0.0026675133 0.0046447265 + 1600000 0.0043745132 0.0022793758 0.0044324565 + 1600100 0.0045895815 0.0019854556 0.0042443902 + 1600200 0.0046984851 0.0019322348 0.0042447704 + 1600300 0.0042268557 0.002334804 0.0044152095 + 1600400 0.004793568 0.00266546 0.0050247942 + 1600500 0.0034391627 0.0025632569 0.0042559698 + 1600600 0.0070550335 0.0018301032 0.0053025025 + 1600700 0.0049394058 0.0018528273 0.0042839411 + 1600800 0.0028422524 0.0021068447 0.0035057658 + 1600900 0.0067434009 0.0024164147 0.0057354323 + 1601000 0.0056388282 0.0025440986 0.0053194594 + 1601100 0.0053751386 0.0028182141 0.0054637901 + 1601200 0.0052389928 0.0029078564 0.0054864232 + 1601300 0.0050333931 0.0025304788 0.005007852 + 1601400 0.0059482039 0.0021028452 0.0050304768 + 1601500 0.0055213581 0.0024346701 0.0051522135 + 1601600 0.0037288743 0.002324804 0.0041601093 + 1601700 0.0056556503 0.0022049677 0.0049886081 + 1601800 0.0040624726 0.0024726491 0.0044721474 + 1601900 0.0034867964 0.0027830459 0.0044992035 + 1602000 0.0049679296 0.0029009672 0.0053461201 + 1602100 0.0055335335 0.0027743488 0.0054978849 + 1602200 0.0045418546 0.0034519694 0.0056874134 + 1602300 0.0052809575 0.0034501904 0.0060494116 + 1602400 0.0058651238 0.0025227757 0.0054095163 + 1602500 0.0049361528 0.00231091 0.0047404227 + 1602600 0.0043104513 0.0022764544 0.0043980046 + 1602700 0.0053271617 0.0024139678 0.0050359302 + 1602800 0.0058995609 0.0028624595 0.0057661496 + 1602900 0.0054241437 0.0032762902 0.005945986 + 1603000 0.0050448779 0.0032366549 0.0057196807 + 1603100 0.0057075978 0.0023601516 0.0051693599 + 1603200 0.0041655963 0.0023425385 0.0043927929 + 1603300 0.0060295574 0.0020519236 0.0050195963 + 1603400 0.005426414 0.0017187423 0.0043895555 + 1603500 0.0056009155 0.0017236258 0.0044803264 + 1603600 0.006974447 0.0019857075 0.0054184431 + 1603700 0.0048882396 0.002523061 0.0049289914 + 1603800 0.0043380562 0.0025434864 0.0046786235 + 1603900 0.0052584945 0.0024918351 0.0050800004 + 1604000 0.0059326972 0.002127988 0.0050479874 + 1604100 0.0065950881 0.0017500762 0.0049960961 + 1604200 0.00482263 0.0020711601 0.0044447983 + 1604300 0.0051458668 0.0023107803 0.0048435117 + 1604400 0.0042680554 0.0023723408 0.0044730243 + 1604500 0.0053742789 0.002362173 0.0050073259 + 1604600 0.0041118319 0.002375179 0.0043989712 + 1604700 0.0050831249 0.0022667311 0.0047685816 + 1604800 0.0041086992 0.0022873299 0.0043095803 + 1604900 0.0047018885 0.0026513396 0.0049655503 + 1605000 0.0053649309 0.0026216195 0.0052621715 + 1605100 0.0060363937 0.0024252532 0.0053962908 + 1605200 0.0054765132 0.002795359 0.0054908303 + 1605300 0.0039269883 0.00303796 0.0049707745 + 1605400 0.0051422275 0.0027354927 0.0052664327 + 1605500 0.0054841678 0.0024499587 0.0051491976 + 1605600 0.0055229626 0.0025339272 0.0052522603 + 1605700 0.005089259 0.0029509259 0.0054557956 + 1605800 0.0043764435 0.0032017757 0.0053558065 + 1605900 0.004190651 0.0031920615 0.0052546475 + 1606000 0.0047882674 0.0029578637 0.005314589 + 1606100 0.0059971781 0.0026759884 0.0056277245 + 1606200 0.005728652 0.0025349262 0.0053544971 + 1606300 0.0062639303 0.0024751203 0.0055581485 + 1606400 0.0041794934 0.0025617197 0.0046188141 + 1606500 0.0064613885 0.0020815211 0.0052617358 + 1606600 0.0045546195 0.0021451614 0.0043868882 + 1606700 0.0047886895 0.0024426601 0.0047995932 + 1606800 0.0056471202 0.0024305207 0.0052099627 + 1606900 0.0049907273 0.002468332 0.0049247056 + 1607000 0.0041845634 0.0022233762 0.0042829659 + 1607100 0.0042700232 0.0027501835 0.0048518355 + 1607200 0.0052964323 0.0027567015 0.0053635393 + 1607300 0.0055170809 0.0025907369 0.0053061752 + 1607400 0.0048916594 0.0027149177 0.0051225313 + 1607500 0.0044964207 0.0025374189 0.004750501 + 1607600 0.0039441887 0.0024275679 0.0043688482 + 1607700 0.003897614 0.0021153706 0.0040337275 + 1607800 0.0040291982 0.0020320668 0.0040151878 + 1607900 0.004002073 0.0018992941 0.0038690644 + 1608000 0.0050251084 0.0022581123 0.0047314079 + 1608100 0.004070836 0.0021913543 0.0041949689 + 1608200 0.0046930311 0.002632906 0.0049427573 + 1608300 0.003937739 0.0025916814 0.0045297873 + 1608400 0.0056694888 0.0021333682 0.0049238197 + 1608500 0.0065816405 0.0020128297 0.0052522309 + 1608600 0.0046214969 0.0021051358 0.0043797788 + 1608700 0.0047078134 0.0023058353 0.0046229621 + 1608800 0.0053080629 0.0026603705 0.0052729327 + 1608900 0.0056237557 0.0024408175 0.0052087598 + 1609000 0.0052624346 0.0024042331 0.0049943377 + 1609100 0.0063787001 0.0024748284 0.0056143449 + 1609200 0.0035646447 0.0031737737 0.0049282473 + 1609300 0.0049314463 0.0036753054 0.0061025017 + 1609400 0.0051582992 0.0037673146 0.006306165 + 1609500 0.0040492678 0.0037583079 0.0057513069 + 1609600 0.0044385477 0.0030328268 0.0052174245 + 1609700 0.0051611024 0.0025641295 0.0051043596 + 1609800 0.0045539401 0.0023415549 0.0045829473 + 1609900 0.0038430315 0.0025131945 0.0044046866 + 1610000 0.0047565674 0.0028025376 0.0051436606 + 1610100 0.0057652593 0.0029541475 0.005791736 + 1610200 0.0059286459 0.0030276191 0.0059456246 + 1610300 0.0059947404 0.0028466799 0.0057972162 + 1610400 0.00604313 0.0030184176 0.0059927707 + 1610500 0.0065487436 0.0024534783 0.005676688 + 1610600 0.0052184953 0.0023768378 0.004945316 + 1610700 0.0037095881 0.002417048 0.0042428609 + 1610800 0.0045604004 0.0024595834 0.0047041555 + 1610900 0.0055044472 0.0027086299 0.0054178501 + 1611000 0.0053146434 0.0028215083 0.0054373094 + 1611100 0.005082257 0.0029581165 0.0054595399 + 1611200 0.005223638 0.0031048414 0.0056758508 + 1611300 0.004918254 0.0026950221 0.0051157252 + 1611400 0.0052047618 0.0025115833 0.005073302 + 1611500 0.0062551376 0.0027344763 0.0058131768 + 1611600 0.006252729 0.0030881086 0.0061656236 + 1611700 0.0047875219 0.0031112528 0.0054676112 + 1611800 0.0044900789 0.0031881043 0.005398065 + 1611900 0.0076259731 0.0025564529 0.0063098615 + 1612000 0.0060367684 0.0028074859 0.0057787079 + 1612100 0.0042247907 0.0030352014 0.0051145906 + 1612200 0.005590746 0.0024210295 0.0051727248 + 1612300 0.0041198692 0.0022966997 0.0043244479 + 1612400 0.0049503843 0.0021513411 0.0045878584 + 1612500 0.0060779413 0.0019982704 0.0049897571 + 1612600 0.0050257062 0.002223146 0.0046967357 + 1612700 0.0039217894 0.0021930495 0.0041233053 + 1612800 0.0045941635 0.0022158566 0.0044770464 + 1612900 0.0034313888 0.0026800819 0.0043689686 + 1613000 0.0057187795 0.0025554462 0.005370158 + 1613100 0.0055306355 0.0030900529 0.0058121626 + 1613200 0.0048194059 0.0032506782 0.0056227296 + 1613300 0.005985996 0.0030830993 0.0060293317 + 1613400 0.0050039417 0.0024906743 0.0049535519 + 1613500 0.0051001646 0.0019312625 0.0044414998 + 1613600 0.0046083342 0.0021513844 0.0044195489 + 1613700 0.0043670427 0.002499628 0.0046490318 + 1613800 0.004959452 0.0024819977 0.004922978 + 1613900 0.0034556631 0.0021691991 0.0038700333 + 1614000 0.0050439013 0.0021366176 0.0046191627 + 1614100 0.0050370021 0.0018127313 0.0042918808 + 1614200 0.0058431277 0.0017967849 0.0046726993 + 1614300 0.0058064709 0.0017086086 0.0045664811 + 1614400 0.0031850803 0.0018955573 0.003463214 + 1614500 0.0031524332 0.0018781936 0.0034297819 + 1614600 0.0054399302 0.0019625674 0.004640033 + 1614700 0.0048807247 0.0018930391 0.0042952708 + 1614800 0.0062686613 0.0018580308 0.0049433875 + 1614900 0.0056355562 0.0030230741 0.0057968244 + 1615000 0.0050039235 0.0038420801 0.0063049486 + 1615100 0.0058849708 0.0030824938 0.0059790029 + 1615200 0.0047278331 0.0027362131 0.0050631934 + 1615300 0.0041897113 0.0027089164 0.0047710399 + 1615400 0.0050328856 0.0025802944 0.0050574178 + 1615500 0.0052364461 0.0027253615 0.0053026748 + 1615600 0.0048289286 0.0028643359 0.0052410742 + 1615700 0.0044498189 0.0030454785 0.0052356238 + 1615800 0.0060777622 0.0026071206 0.0055985192 + 1615900 0.0051868459 0.0019963934 0.0045492941 + 1616000 0.0040910556 0.0024157473 0.0044293138 + 1616100 0.0057285988 0.002600197 0.0054197418 + 1616200 0.0059873455 0.002843569 0.0057904656 + 1616300 0.0053956511 0.0032552266 0.0059108986 + 1616400 0.0054550829 0.0031686793 0.0058536029 + 1616500 0.0039139207 0.0027483776 0.0046747604 + 1616600 0.0055410923 0.0023791693 0.0051064256 + 1616700 0.0036428497 0.0021620253 0.0039549904 + 1616800 0.004636639 0.0015438197 0.0038259154 + 1616900 0.0042411274 0.0013967856 0.0034842155 + 1617000 0.0039721117 0.001893474 0.0038484977 + 1617100 0.0049619091 0.0022864851 0.0047286747 + 1617200 0.0064114705 0.0020242968 0.0051799425 + 1617300 0.0051911132 0.002031956 0.0045869571 + 1617400 0.0051283708 0.002290093 0.004814213 + 1617500 0.0050483959 0.0021394307 0.0046241881 + 1617600 0.0037335683 0.0018799636 0.0037175793 + 1617700 0.0055778747 0.0023572778 0.005102638 + 1617800 0.0046368528 0.0031646796 0.0054468806 + 1617900 0.0038817368 0.0036307631 0.0055413054 + 1618000 0.0043367073 0.0037103184 0.0058447915 + 1618100 0.0065962211 0.0034912398 0.0067378174 + 1618200 0.00467878 0.0032058599 0.0055086969 + 1618300 0.0050097712 0.0031584135 0.0056241603 + 1618400 0.0046472607 0.0030264288 0.0053137524 + 1618500 0.0041731709 0.0028593788 0.0049133613 + 1618600 0.0051558456 0.0027209578 0.0052586006 + 1618700 0.0032559283 0.0025755236 0.0041780508 + 1618800 0.0042700649 0.0026039108 0.0047055834 + 1618900 0.0065345854 0.0023880844 0.0056043257 + 1619000 0.0062264592 0.0022482142 0.0053127995 + 1619100 0.0055246046 0.0023476098 0.0050667511 + 1619200 0.0051234802 0.0024532434 0.0049749563 + 1619300 0.0051797105 0.0026008207 0.0051502095 + 1619400 0.0046729854 0.0022908786 0.0045908637 + 1619500 0.0077088643 0.0020655663 0.0058597729 + 1619600 0.0046048984 0.0019554412 0.0042219146 + 1619700 0.0042809713 0.002305986 0.0044130266 + 1619800 0.0045569727 0.0024190566 0.0046619415 + 1619900 0.0055875873 0.0028185852 0.0055687259 + 1620000 0.004069753 0.0026058147 0.0046088962 + 1620100 0.0057136736 0.001923045 0.0047352437 + 1620200 0.0038524831 0.0018775909 0.0037737349 + 1620300 0.0056943401 0.0016436055 0.0044462885 + 1620400 0.0045443441 0.0018236454 0.0040603147 + 1620500 0.0055055138 0.0016650387 0.0043747838 + 1620600 0.0054116992 0.0017311293 0.0043947 + 1620700 0.0043399493 0.0021194979 0.0042555668 + 1620800 0.0049012284 0.002388003 0.0048003264 + 1620900 0.0052355446 0.0020395893 0.0046164589 + 1621000 0.0052271193 0.0021228159 0.0046955387 + 1621100 0.0047243264 0.0023256548 0.0046509092 + 1621200 0.0050317528 0.0027437459 0.0052203118 + 1621300 0.0069274452 0.0021082389 0.0055178408 + 1621400 0.0047931032 0.0017879408 0.0041470463 + 1621500 0.0039750451 0.0020664823 0.0040229498 + 1621600 0.0049770175 0.0023538565 0.0048034823 + 1621700 0.0051236208 0.0025961348 0.0051179169 + 1621800 0.0039706733 0.0031798159 0.0051341317 + 1621900 0.0044144927 0.0031730312 0.0053457893 + 1622000 0.0061727206 0.0028347637 0.0058728996 + 1622100 0.0068922047 0.002671952 0.006064209 + 1622200 0.0060694586 0.0023774697 0.0053647813 + 1622300 0.0035296616 0.0027419844 0.0044792398 + 1622400 0.0054848875 0.0026790469 0.00537864 + 1622500 0.0046569572 0.0023896803 0.0046817764 + 1622600 0.0042448492 0.0022519102 0.0043411719 + 1622700 0.0040219761 0.0024328623 0.0044124286 + 1622800 0.006761474 0.0020758997 0.0054038127 + 1622900 0.0065386789 0.0022789119 0.0054971679 + 1623000 0.0048234463 0.0024385541 0.004812594 + 1623100 0.0051826743 0.0023765145 0.004927362 + 1623200 0.0055099879 0.0023364152 0.0050483624 + 1623300 0.0061305308 0.0024291831 0.0054465537 + 1623400 0.0048143376 0.0022020317 0.0045715885 + 1623500 0.0063231518 0.0020475996 0.0051597759 + 1623600 0.0048362488 0.0027074938 0.005087835 + 1623700 0.0051264523 0.0031535852 0.0056767609 + 1623800 0.0059167033 0.0028247082 0.0057368356 + 1623900 0.0043472213 0.0030819772 0.0052216252 + 1624000 0.0041945757 0.0032209636 0.0052854813 + 1624100 0.005769571 0.0028767547 0.0057164654 + 1624200 0.0054000973 0.0022651088 0.0049229692 + 1624300 0.0046450249 0.0023470824 0.0046333056 + 1624400 0.0053520891 0.0025735368 0.0052077682 + 1624500 0.0048352307 0.0029505627 0.0053304028 + 1624600 0.0057423747 0.0025602142 0.0053865393 + 1624700 0.0050811784 0.0021761335 0.004677026 + 1624800 0.0062851906 0.0020633224 0.0051568147 + 1624900 0.0051625935 0.0021535413 0.0046945053 + 1625000 0.0053742102 0.0022922023 0.0049373214 + 1625100 0.0059552561 0.0027078308 0.0056389334 + 1625200 0.0057537797 0.0027966082 0.0056285466 + 1625300 0.0055376466 0.002702153 0.0054277134 + 1625400 0.0050500825 0.0025712995 0.005056887 + 1625500 0.0049123106 0.0023778981 0.004795676 + 1625600 0.006623826 0.0023224303 0.0055825946 + 1625700 0.0046174679 0.002357534 0.004630194 + 1625800 0.0046199285 0.0022650083 0.0045388794 + 1625900 0.0056211094 0.0024038515 0.0051704913 + 1626000 0.0048052309 0.0025036039 0.0048686785 + 1626100 0.0062085869 0.0027676748 0.0058234636 + 1626200 0.0061373307 0.0033297401 0.0063504576 + 1626300 0.0038421058 0.0030980308 0.0049890672 + 1626400 0.0042609983 0.0025424415 0.0046396516 + 1626500 0.0056352702 0.0025241234 0.005297733 + 1626600 0.0055172432 0.0027162898 0.0054318079 + 1626700 0.0037323362 0.0031402975 0.0049773067 + 1626800 0.0039318522 0.0032914627 0.0052266712 + 1626900 0.0060979201 0.0032529212 0.0062542413 + 1627000 0.0043537504 0.0030233391 0.0051662006 + 1627100 0.0049206028 0.002186197 0.0046080562 + 1627200 0.0057422648 0.0021457331 0.0049720041 + 1627300 0.004403158 0.0026612933 0.0048284726 + 1627400 0.005056037 0.0029223082 0.0054108264 + 1627500 0.0049147125 0.0025198291 0.0049387892 + 1627600 0.0053600139 0.00203519 0.0046733218 + 1627700 0.0042672984 0.0020480385 0.0041483494 + 1627800 0.0042166744 0.0022010821 0.0042764766 + 1627900 0.0050680205 0.0024940153 0.0049884316 + 1628000 0.0053959379 0.0026639245 0.0053197376 + 1628100 0.0049595815 0.0022600307 0.0047010748 + 1628200 0.0064586278 0.0023881653 0.0055670211 + 1628300 0.003738002 0.0027477314 0.0045875292 + 1628400 0.0048302966 0.0029700254 0.0053474371 + 1628500 0.00474228 0.0031086821 0.005442773 + 1628600 0.0050933528 0.0028325779 0.0053394625 + 1628700 0.0069159227 0.0021626039 0.0055665345 + 1628800 0.0061590076 0.0016894485 0.0047208351 + 1628900 0.0055693382 0.0018720607 0.0046132193 + 1629000 0.0035110004 0.0021282166 0.0038562871 + 1629100 0.0054786117 0.0025277063 0.0052242105 + 1629200 0.0046665496 0.0027566722 0.0050534896 + 1629300 0.0042015802 0.0027778225 0.0048457877 + 1629400 0.0046114205 0.0023158745 0.004585558 + 1629500 0.0056258802 0.0020232622 0.0047922502 + 1629600 0.0052780758 0.0020347554 0.0046325583 + 1629700 0.0050536447 0.0028635086 0.0053508494 + 1629800 0.0045489142 0.0032840751 0.0055229938 + 1629900 0.0057616707 0.0027969242 0.0056327465 + 1630000 0.0044952206 0.0021671687 0.0043796601 + 1630100 0.005175771 0.0017846996 0.0043321494 + 1630200 0.0052578936 0.0021064821 0.0046943516 + 1630300 0.0058081063 0.0025947688 0.0054534462 + 1630400 0.0064989604 0.002710731 0.0059094381 + 1630500 0.0048784994 0.0025497719 0.0049509083 + 1630600 0.0048836394 0.0024608266 0.0048644929 + 1630700 0.0048533056 0.0021653284 0.0045540647 + 1630800 0.0056883516 0.0019247002 0.0047244357 + 1630900 0.0062773573 0.0020333458 0.0051229825 + 1631000 0.0063469812 0.0025840923 0.0057079971 + 1631100 0.0069346937 0.0029617968 0.0063749664 + 1631200 0.0069704389 0.0025497776 0.0059805405 + 1631300 0.0059225172 0.0023180072 0.0052329961 + 1631400 0.0041619167 0.0022605463 0.0043089897 + 1631500 0.0057852318 0.0019792434 0.0048266622 + 1631600 0.0045032988 0.0022015293 0.0044179966 + 1631700 0.0046514025 0.0021371129 0.004426475 + 1631800 0.0049671876 0.0028075758 0.0052523635 + 1631900 0.0046606132 0.0033572768 0.0056511724 + 1632000 0.0042631595 0.0029797503 0.0050780241 + 1632100 0.0061697088 0.0026422356 0.0056788891 + 1632200 0.0047099849 0.0021214464 0.0044396421 + 1632300 0.0059211095 0.0017733082 0.0046876043 + 1632400 0.0049198584 0.0020800075 0.0045015003 + 1632500 0.0064742254 0.0022836297 0.0054701625 + 1632600 0.0062013553 0.0024054881 0.0054577176 + 1632700 0.00588076 0.0028656448 0.0057600814 + 1632800 0.0055642166 0.0027528004 0.0054914382 + 1632900 0.0049799097 0.0026234336 0.0050744829 + 1633000 0.0045192972 0.0023621559 0.0045864975 + 1633100 0.0054099189 0.0018772981 0.0045399925 + 1633200 0.0054714614 0.0018240143 0.0045169992 + 1633300 0.0043990218 0.0018639283 0.0040290719 + 1633400 0.0037577995 0.0016362336 0.0034857756 + 1633500 0.0039789509 0.0017359692 0.0036943591 + 1633600 0.0042237819 0.0022135662 0.0042924589 + 1633700 0.0057468718 0.0025683349 0.0053968734 + 1633800 0.0045695268 0.003020167 0.0052692309 + 1633900 0.0042656834 0.0029782749 0.005077791 + 1634000 0.0061215854 0.0025177236 0.0055306914 + 1634100 0.0059072133 0.0019412479 0.0048487045 + 1634200 0.0056780875 0.0016467691 0.0044414528 + 1634300 0.0049634004 0.002002322 0.0044452457 + 1634400 0.0052354444 0.0026459167 0.005222737 + 1634500 0.0057632708 0.0025715148 0.0054081247 + 1634600 0.006977854 0.0022393232 0.0056737357 + 1634700 0.005373763 0.0021560613 0.0048009602 + 1634800 0.0055571687 0.0022063484 0.0049415174 + 1634900 0.0039352395 0.0021792153 0.004116091 + 1635000 0.0035996991 0.0020578823 0.0038296092 + 1635100 0.0080275978 0.0020440022 0.0059950855 + 1635200 0.0051361061 0.0027250581 0.0052529853 + 1635300 0.0046517485 0.0028249261 0.0051144586 + 1635400 0.0085592717 0.0024083495 0.006621116 + 1635500 0.0044164378 0.0023721724 0.0045458879 + 1635600 0.0038091226 0.0026827804 0.0045575829 + 1635700 0.0047492692 0.0026181388 0.0049556698 + 1635800 0.0042338235 0.0025616553 0.0046454904 + 1635900 0.0041432559 0.002319641 0.0043588998 + 1636000 0.0033411533 0.002425732 0.0040702059 + 1636100 0.0046156345 0.0024984543 0.0047702119 + 1636200 0.0050523088 0.0021237386 0.0046104218 + 1636300 0.0051887301 0.0019337478 0.004487576 + 1636400 0.0052894465 0.0022246757 0.0048280751 + 1636500 0.0055323546 0.0023719902 0.005094946 + 1636600 0.0055015505 0.0020191821 0.0047269765 + 1636700 0.0039812323 0.0021974022 0.0041569149 + 1636800 0.0041680721 0.0022886818 0.0043401548 + 1636900 0.0041758935 0.0022210578 0.0042763804 + 1637000 0.0049950675 0.002051427 0.0045099368 + 1637100 0.0049663671 0.0018956794 0.0043400632 + 1637200 0.004944914 0.0021587288 0.0045925537 + 1637300 0.0047666796 0.0024115456 0.0047576457 + 1637400 0.0051511647 0.002569223 0.0051045619 + 1637500 0.0050151646 0.0023708316 0.0048392329 + 1637600 0.0058132528 0.0024623259 0.0053235362 + 1637700 0.0044726589 0.0023785111 0.0045798978 + 1637800 0.005370535 0.002954867 0.0055981772 + 1637900 0.0052765312 0.00251666 0.0051137026 + 1638000 0.0044304033 0.0023362903 0.0045168794 + 1638100 0.0045640885 0.0021043068 0.0043506941 + 1638200 0.0050252096 0.0023229557 0.0047963011 + 1638300 0.0049887057 0.0026141302 0.0050695088 + 1638400 0.0035790815 0.0026280199 0.0043895991 + 1638500 0.0046552131 0.0025423504 0.0048335881 + 1638600 0.0049783321 0.0027208202 0.0051710931 + 1638700 0.0041591378 0.0029549208 0.0050019964 + 1638800 0.0058582287 0.0025536019 0.0054369488 + 1638900 0.0056607428 0.0030769611 0.0058631079 + 1639000 0.0072361981 0.0029926139 0.0065541801 + 1639100 0.0046509286 0.0026856811 0.0049748101 + 1639200 0.0064654748 0.0024811394 0.0056633652 + 1639300 0.00352715 0.0030059536 0.0047419728 + 1639400 0.0050461223 0.0028462486 0.005329887 + 1639500 0.0045677728 0.0024787602 0.0047269609 + 1639600 0.0056377859 0.0021431362 0.004917984 + 1639700 0.0037059762 0.0019844566 0.0038084918 + 1639800 0.0040719222 0.0017164905 0.0037206397 + 1639900 0.0060908267 0.0019582406 0.0049560694 + 1640000 0.0045410056 0.0022245163 0.0044595425 + 1640100 0.004051639 0.0018886349 0.003882801 + 1640200 0.0043235934 0.0016937806 0.0038217992 + 1640300 0.0058178259 0.0020958472 0.0049593084 + 1640400 0.0037231025 0.0025010978 0.0043335624 + 1640500 0.0041800004 0.0026498196 0.0047071636 + 1640600 0.005073165 0.002454756 0.0049517043 + 1640700 0.0044725616 0.0027014949 0.0049028338 + 1640800 0.0058231768 0.0022295233 0.0050956181 + 1640900 0.0049430822 0.0022890794 0.0047220027 + 1641000 0.0046040644 0.0022284851 0.004494548 + 1641100 0.0052002351 0.0022077572 0.0047672479 + 1641200 0.0052113786 0.0023835201 0.0049484955 + 1641300 0.0043909589 0.002467231 0.0046284061 + 1641400 0.0057458452 0.0020714104 0.0048994436 + 1641500 0.0053750168 0.0020864374 0.0047319534 + 1641600 0.0047343153 0.0021055206 0.0044356915 + 1641700 0.0050024467 0.0022565155 0.0047186572 + 1641800 0.005852285 0.0022835126 0.0051639341 + 1641900 0.0062388318 0.0021736646 0.0052443396 + 1642000 0.0041015452 0.0023450328 0.0043637621 + 1642100 0.0067141688 0.0019960771 0.005300707 + 1642200 0.0048695968 0.0020602101 0.0044569648 + 1642300 0.0047596882 0.0024240118 0.0047666709 + 1642400 0.0060196093 0.0023088085 0.005271585 + 1642500 0.0056968972 0.0022273214 0.005031263 + 1642600 0.0053325754 0.002342622 0.0049672489 + 1642700 0.004734313 0.0023336757 0.0046638454 + 1642800 0.0034524647 0.0021735944 0.0038728544 + 1642900 0.0047110762 0.0020137212 0.004332454 + 1643000 0.0052530703 0.0019243252 0.0045098208 + 1643100 0.0042071248 0.002184782 0.0042554762 + 1643200 0.005309823 0.0020204783 0.0046339068 + 1643300 0.0055969946 0.0016053296 0.0043601004 + 1643400 0.0046944544 0.0016350964 0.0039456482 + 1643500 0.0046872271 0.0017775691 0.0040845637 + 1643600 0.004456623 0.0018231447 0.0040166389 + 1643700 0.0045745729 0.002229039 0.0044805865 + 1643800 0.0049420481 0.0021201689 0.0045525832 + 1643900 0.0053830565 0.0019851232 0.0046345964 + 1644000 0.0048761574 0.0018573314 0.0042573151 + 1644100 0.004203885 0.0023868949 0.0044559945 + 1644200 0.0046810059 0.0024584876 0.0047624201 + 1644300 0.0057094973 0.0022872121 0.0050973552 + 1644400 0.0036886261 0.0023515285 0.0041670241 + 1644500 0.0061717763 0.0016600464 0.0046977175 + 1644600 0.0064580816 0.0017915058 0.0049700928 + 1644700 0.0048948705 0.0021610397 0.0045702338 + 1644800 0.005350294 0.002323976 0.0049573239 + 1644900 0.0057308318 0.0022471738 0.0050678176 + 1645000 0.0058401386 0.0022263211 0.0051007643 + 1645100 0.0051245414 0.002651606 0.0051738412 + 1645200 0.0043246553 0.0030279313 0.0051564726 + 1645300 0.0053147706 0.0030558999 0.0056717636 + 1645400 0.0051852042 0.0027270999 0.0052791926 + 1645500 0.0051742084 0.002438322 0.0049850027 + 1645600 0.0046101765 0.0019685538 0.0042376251 + 1645700 0.0065742187 0.0017178365 0.0049535847 + 1645800 0.003744466 0.0018470719 0.0036900513 + 1645900 0.0048028998 0.0020872345 0.0044511617 + 1646000 0.0047617152 0.0021237043 0.004467361 + 1646100 0.0040649426 0.0023238395 0.0043245535 + 1646200 0.0039288231 0.0028882708 0.0048219884 + 1646300 0.0052156694 0.0023394604 0.0049065476 + 1646400 0.005042431 0.00196693 0.0044487515 + 1646500 0.0042764998 0.0019860174 0.0040908571 + 1646600 0.0047395959 0.0017888618 0.0041216316 + 1646700 0.0043932592 0.0013821653 0.0035444726 + 1646800 0.0051547645 0.0015001972 0.0040373079 + 1646900 0.0061073591 0.0015255675 0.0045315333 + 1647000 0.0054275967 0.0014669585 0.0041383537 + 1647100 0.0053632638 0.0016748215 0.0043145529 + 1647200 0.0035703868 0.0016687946 0.0034260943 + 1647300 0.0056618388 0.0020187385 0.0048054248 + 1647400 0.0048287363 0.002438593 0.0048152366 + 1647500 0.0057216898 0.0027596351 0.0055757793 + 1647600 0.005174181 0.0025202777 0.0050669449 + 1647700 0.0049651472 0.0024866401 0.0049304235 + 1647800 0.005365863 0.0023570155 0.0049980262 + 1647900 0.0049891614 0.0021156593 0.0045712622 + 1648000 0.0050403045 0.0021424665 0.0046232414 + 1648100 0.0057883806 0.0024484355 0.0052974041 + 1648200 0.006788147 0.0026289427 0.0059699838 + 1648300 0.0060802954 0.0025762088 0.0055688542 + 1648400 0.0040705205 0.0026997454 0.0047032047 + 1648500 0.0042312687 0.0027606764 0.0048432539 + 1648600 0.0052099077 0.0028541129 0.0054183644 + 1648700 0.0048747767 0.0022169149 0.004616219 + 1648800 0.0045461198 0.0020350518 0.0042725951 + 1648900 0.0036588286 0.0022366512 0.0040374809 + 1649000 0.0044501012 0.0018600042 0.0040502884 + 1649100 0.0046691915 0.0020453656 0.0043434833 + 1649200 0.006534594 0.0022373371 0.0054535825 + 1649300 0.0055112234 0.0024064786 0.0051190338 + 1649400 0.0048348508 0.0028218328 0.005201486 + 1649500 0.0057298082 0.003018723 0.005838863 + 1649600 0.0055498254 0.003307464 0.0060390187 + 1649700 0.0038254094 0.0035860049 0.0054688236 + 1649800 0.0064265648 0.0031516322 0.006314707 + 1649900 0.0069550081 0.0028445611 0.0062677291 + 1650000 0.0043346511 0.0026495477 0.0047830088 + 1650100 0.0071385732 0.0025394594 0.0060529759 + 1650200 0.0048832825 0.0025524716 0.0049559622 + 1650300 0.0073649069 0.0021808723 0.0058057874 + 1650400 0.0043002427 0.0025423651 0.0046588908 + 1650500 0.004002758 0.0026089955 0.0045791029 + 1650600 0.005764212 0.002684259 0.0055213321 + 1650700 0.0058951212 0.002844901 0.005746406 + 1650800 0.0047659832 0.0026960216 0.0050417789 + 1650900 0.0041101714 0.0025265818 0.0045495568 + 1651000 0.0068366225 0.002338385 0.0057032851 + 1651100 0.0054091101 0.00219484 0.0048571363 + 1651200 0.0042423197 0.0024169674 0.0045049841 + 1651300 0.0058451037 0.0023428666 0.0052197536 + 1651400 0.0042711944 0.0016752953 0.0037775238 + 1651500 0.0040859549 0.0017150754 0.0037261313 + 1651600 0.0049498582 0.002099282 0.0045355404 + 1651700 0.0071591447 0.0017078561 0.0052314976 + 1651800 0.0044158684 0.0016028476 0.0037762829 + 1651900 0.0057140894 0.0020705471 0.0048829505 + 1652000 0.0043954789 0.002714584 0.0048779838 + 1652100 0.005968871 0.0025068393 0.005444643 + 1652200 0.0059905433 0.0022364479 0.0051849184 + 1652300 0.0052800563 0.0024656047 0.0050643824 + 1652400 0.0032568076 0.0028114822 0.0044144422 + 1652500 0.0055076691 0.0022849174 0.0049957233 + 1652600 0.0049072924 0.0023961135 0.0048114215 + 1652700 0.0042663949 0.0025427503 0.0046426166 + 1652800 0.0049975923 0.0026153236 0.0050750761 + 1652900 0.0049781945 0.0022515197 0.0047017248 + 1653000 0.0064871623 0.0019588341 0.0051517343 + 1653100 0.005997703 0.0018025305 0.0047545249 + 1653200 0.0053907864 0.0018882893 0.004541567 + 1653300 0.0053181104 0.0024260116 0.0050435191 + 1653400 0.0054540544 0.0024953582 0.0051797756 + 1653500 0.0053275091 0.0022279021 0.0048500355 + 1653600 0.0038624052 0.0019759723 0.0038769998 + 1653700 0.0057824753 0.0018891486 0.0047352107 + 1653800 0.0051869983 0.0019369949 0.0044899707 + 1653900 0.0047357151 0.0023242155 0.0046550753 + 1654000 0.0045571681 0.0026031531 0.0048461343 + 1654100 0.0045124027 0.0026096595 0.0048306077 + 1654200 0.0048158776 0.0022834244 0.0046537391 + 1654300 0.0051855525 0.0019980286 0.0045502927 + 1654400 0.0053669265 0.0019027346 0.0045442688 + 1654500 0.0055509681 0.001821465 0.0045535821 + 1654600 0.0053908861 0.0018949818 0.0045483085 + 1654700 0.004909933 0.0017923273 0.0042089349 + 1654800 0.0044074265 0.0022359887 0.0044052689 + 1654900 0.0050157816 0.0021074928 0.0045761978 + 1655000 0.0044967248 0.00224264 0.0044558718 + 1655100 0.0052806149 0.0026926491 0.0052917018 + 1655200 0.0039931656 0.003019199 0.0049845852 + 1655300 0.0056810886 0.0024113102 0.005207471 + 1655400 0.0033289016 0.0022053174 0.0038437612 + 1655500 0.0050977383 0.0024188615 0.0049279046 + 1655600 0.0053128523 0.0023835679 0.0049984874 + 1655700 0.0046083619 0.0025461394 0.0048143175 + 1655800 0.0053062306 0.0029176684 0.0055293287 + 1655900 0.0037384072 0.002677357 0.0045173543 + 1656000 0.0059792257 0.0020171686 0.0049600688 + 1656100 0.004817052 0.0020729078 0.0044438006 + 1656200 0.0057515925 0.0022344672 0.0050653291 + 1656300 0.0048807521 0.0022234719 0.0046257171 + 1656400 0.0056049874 0.0020820174 0.0048407221 + 1656500 0.0044133141 0.0022394391 0.0044116171 + 1656600 0.0044195492 0.0018437626 0.0040190094 + 1656700 0.0062446246 0.0018543824 0.0049279086 + 1656800 0.0047787372 0.0019739203 0.004325955 + 1656900 0.0038336776 0.002212807 0.0040996952 + 1657000 0.003613762 0.0022597548 0.0040384032 + 1657100 0.00382004 0.0023198041 0.00419998 + 1657200 0.004011871 0.0022682655 0.0042428583 + 1657300 0.0047145067 0.0020443257 0.004364747 + 1657400 0.0055184307 0.0019131706 0.0046292732 + 1657500 0.0071289261 0.0014594171 0.0049681854 + 1657600 0.0048660577 0.0016103183 0.0040053311 + 1657700 0.0045341645 0.002336157 0.0045678161 + 1657800 0.0046757823 0.0028887139 0.0051900755 + 1657900 0.0053410644 0.0021816234 0.0048104285 + 1658000 0.0047402858 0.0025156678 0.0048487772 + 1658100 0.0056370865 0.0023643725 0.0051388761 + 1658200 0.0041935172 0.0023914255 0.0044554222 + 1658300 0.004282907 0.0024746079 0.0045826012 + 1658400 0.0074479312 0.0021177672 0.0057835458 + 1658500 0.0049777291 0.0017289873 0.0041789633 + 1658600 0.0050417065 0.0020276574 0.0045091223 + 1658700 0.0050307397 0.0023185055 0.0047945727 + 1658800 0.004038375 0.0021679743 0.004155612 + 1658900 0.003503584 0.0021720952 0.0038965155 + 1659000 0.0052910905 0.002196961 0.0048011696 + 1659100 0.0048228184 0.0019366531 0.0043103841 + 1659200 0.0046174833 0.0021720084 0.004444676 + 1659300 0.0055542595 0.0025131509 0.005246888 + 1659400 0.0057695858 0.0025978611 0.0054375791 + 1659500 0.004711788 0.0024758593 0.0047949425 + 1659600 0.0051384912 0.0022936803 0.0048227814 + 1659700 0.0044010537 0.0020707101 0.0042368537 + 1659800 0.0049095162 0.0020439981 0.0044604006 + 1659900 0.0046780174 0.0022854578 0.0045879195 + 1660000 0.0067450043 0.0017224023 0.0050422091 + 1660100 0.0058403823 0.0017588759 0.004633439 + 1660200 0.0046878432 0.0023436733 0.0046509711 + 1660300 0.0054210102 0.0025995127 0.0052676661 + 1660400 0.0047963715 0.002945149 0.0053058631 + 1660500 0.0057319761 0.0031710179 0.0059922249 + 1660600 0.0052229398 0.0032772148 0.0058478805 + 1660700 0.0059206401 0.0029207202 0.0058347852 + 1660800 0.004843871 0.0029971263 0.005381219 + 1660900 0.0055889606 0.0025804251 0.0053312416 + 1661000 0.0055644767 0.0022201058 0.0049588716 + 1661100 0.0059282833 0.0023293448 0.0052471717 + 1661200 0.0046391517 0.0024696833 0.0047530158 + 1661300 0.0040642617 0.0027455921 0.0047459709 + 1661400 0.0042933276 0.0026179097 0.0047310319 + 1661500 0.0040151082 0.0028631675 0.0048393535 + 1661600 0.004279003 0.0030381897 0.0051442615 + 1661700 0.0057435606 0.0028888754 0.0057157841 + 1661800 0.0037448561 0.0031836693 0.0050268407 + 1661900 0.004596708 0.0032387053 0.0055011475 + 1662000 0.0050759346 0.0024366423 0.0049349538 + 1662100 0.0052257239 0.0023533473 0.0049253833 + 1662200 0.0044210899 0.0024990602 0.0046750654 + 1662300 0.0056033107 0.0025848174 0.0053426969 + 1662400 0.0066358506 0.0027587089 0.0060247917 + 1662500 0.0056071654 0.003014511 0.0057742877 + 1662600 0.0049660039 0.0027533011 0.0051975061 + 1662700 0.0060531281 0.0021308389 0.0051101129 + 1662800 0.005861853 0.0021454145 0.0050305453 + 1662900 0.0038908696 0.0025902343 0.0045052717 + 1663000 0.0056522176 0.0025143287 0.0052962796 + 1663100 0.0055372797 0.0021035973 0.0048289772 + 1663200 0.0042768356 0.0021210177 0.0042260227 + 1663300 0.0053558636 0.0024040597 0.0050401488 + 1663400 0.0060922937 0.0027221776 0.0057207284 + 1663500 0.006375591 0.002663702 0.0058016882 + 1663600 0.0059875267 0.0028963196 0.0058433054 + 1663700 0.0068278961 0.0024397941 0.0058003992 + 1663800 0.0061057916 0.0018157217 0.004820916 + 1663900 0.0055429349 0.0017891884 0.0045173516 + 1664000 0.0055361968 0.0022779825 0.0050028294 + 1664100 0.0037665714 0.0026955057 0.0045493651 + 1664200 0.0051487852 0.0020746861 0.0046088538 + 1664300 0.0046889523 0.0019963856 0.0043042293 + 1664400 0.0056569895 0.0019737372 0.0047580367 + 1664500 0.0051386538 0.0019180699 0.0044472511 + 1664600 0.0042875221 0.0018323782 0.003942643 + 1664700 0.0049439524 0.001640022 0.0040733735 + 1664800 0.0045238293 0.0020440857 0.004270658 + 1664900 0.003767421 0.0023254001 0.0041796777 + 1665000 0.0056924923 0.0021444421 0.0049462156 + 1665100 0.0051674341 0.0022042301 0.0047475766 + 1665200 0.0045523603 0.0027783077 0.0050189226 + 1665300 0.0040445851 0.0031882475 0.0051789417 + 1665400 0.0055891826 0.0029354134 0.0056863392 + 1665500 0.004918696 0.002677685 0.0050986057 + 1665600 0.0057772188 0.0027209958 0.0055644706 + 1665700 0.0053459306 0.0027669584 0.0053981586 + 1665800 0.0065039066 0.0020904471 0.0052915886 + 1665900 0.0051640527 0.0020862773 0.0046279594 + 1666000 0.0045137265 0.002360831 0.0045824307 + 1666100 0.0056749129 0.0024788174 0.0052719386 + 1666200 0.0046995294 0.0022842106 0.0045972603 + 1666300 0.0060180922 0.0021221867 0.0050842164 + 1666400 0.0059973676 0.0020055143 0.0049573437 + 1666500 0.0046005561 0.0022143808 0.004478717 + 1666600 0.0050999365 0.0021271135 0.0046372385 + 1666700 0.0045718363 0.002574887 0.0048250876 + 1666800 0.0043060392 0.0028577207 0.0049770994 + 1666900 0.0062483995 0.0027974397 0.0058728238 + 1667000 0.0054655357 0.002828494 0.0055185623 + 1667100 0.0047892466 0.0027235163 0.0050807236 + 1667200 0.0046299293 0.0026575845 0.0049363778 + 1667300 0.0058404138 0.0025011877 0.0053757664 + 1667400 0.0065386361 0.0024784556 0.0056966905 + 1667500 0.0047697226 0.0026577261 0.0050053239 + 1667600 0.0053969427 0.0026984417 0.0053547495 + 1667700 0.0044686528 0.002670472 0.004869887 + 1667800 0.0046989791 0.0023980879 0.0047108667 + 1667900 0.0050816208 0.0024705813 0.0049716916 + 1668000 0.005494463 0.0025077321 0.0052120381 + 1668100 0.0044802436 0.0024892007 0.0046943205 + 1668200 0.0054701406 0.0021126596 0.0048049944 + 1668300 0.005322637 0.0022732534 0.0048929887 + 1668400 0.0046224305 0.0027679012 0.0050430037 + 1668500 0.0059863822 0.0027543955 0.005700818 + 1668600 0.0067773042 0.0022175776 0.005553282 + 1668700 0.0057689524 0.0020546536 0.0048940599 + 1668800 0.0048062032 0.0021636872 0.0045292403 + 1668900 0.0053034886 0.0021450456 0.0047553564 + 1669000 0.0048433929 0.0020064959 0.0043903533 + 1669100 0.0053798451 0.0020987039 0.0047465964 + 1669200 0.003625422 0.0021724521 0.0039568394 + 1669300 0.0062224189 0.0022577831 0.0053203799 + 1669400 0.0069485989 0.0026287473 0.0060487608 + 1669500 0.0052677537 0.002401227 0.0049939495 + 1669600 0.0044691072 0.0020244913 0.00422413 + 1669700 0.0050508983 0.0015346902 0.0040206792 + 1669800 0.0062203771 0.0019352856 0.0049968775 + 1669900 0.005613948 0.0026852408 0.0054483558 + 1670000 0.0041907667 0.0028269567 0.0048895997 + 1670100 0.0047219185 0.0020474959 0.0043715652 + 1670200 0.0056121418 0.0018635246 0.0046257507 + 1670300 0.0042865423 0.0021050837 0.0042148662 + 1670400 0.003567557 0.0023989219 0.0041548288 + 1670500 0.0055933638 0.0021686759 0.0049216597 + 1670600 0.0049794729 0.0020792613 0.0045300956 + 1670700 0.0067706171 0.0022141404 0.0055465535 + 1670800 0.0045230302 0.0025492911 0.0047754701 + 1670900 0.0057870654 0.0020608917 0.004909213 + 1671000 0.0070929888 0.0019743299 0.0054654103 + 1671100 0.0053601366 0.0021461588 0.0047843511 + 1671200 0.0054056705 0.0020350043 0.0046956078 + 1671300 0.0039767668 0.0024049113 0.0043622262 + 1671400 0.005272827 0.0025935639 0.0051887834 + 1671500 0.0055982468 0.0024444846 0.0051998717 + 1671600 0.0057442249 0.0024223484 0.0052495841 + 1671700 0.005872344 0.0026005668 0.0054908611 + 1671800 0.0051788125 0.0020654797 0.0046144265 + 1671900 0.0056998229 0.0019196817 0.0047250633 + 1672000 0.0047271802 0.0017368779 0.0040635369 + 1672100 0.0041147306 0.0019900875 0.0040153065 + 1672200 0.0048646279 0.0021454986 0.0045398076 + 1672300 0.0052613865 0.0021080168 0.0046976055 + 1672400 0.0068598059 0.0024943899 0.0058707006 + 1672500 0.0071453478 0.0023933276 0.0059101784 + 1672600 0.0053388106 0.0023785698 0.0050062656 + 1672700 0.0056790277 0.0024228613 0.0052180077 + 1672800 0.00612055 0.0026082393 0.0056206975 + 1672900 0.0060649115 0.002480152 0.0054652256 + 1673000 0.006398725 0.0021722026 0.0053215751 + 1673100 0.0064629458 0.0020909211 0.0052719023 + 1673200 0.0049756806 0.0022082863 0.0046572541 + 1673300 0.0050955516 0.0026182129 0.0051261797 + 1673400 0.0048670881 0.0030422543 0.0054377743 + 1673500 0.00435027 0.0032331649 0.0053743134 + 1673600 0.0057140135 0.0029927025 0.0058050685 + 1673700 0.0052241095 0.0023597901 0.0049310315 + 1673800 0.0059210982 0.0020953483 0.0050096388 + 1673900 0.0045984702 0.0019641754 0.0042274849 + 1674000 0.0052111232 0.0019985364 0.0045633861 + 1674100 0.0049404241 0.002138367 0.0045699821 + 1674200 0.004949596 0.0023530277 0.004789157 + 1674300 0.0059613218 0.0024327488 0.0053668369 + 1674400 0.0041206076 0.0021671419 0.0041952534 + 1674500 0.0059138656 0.00181156 0.0047222908 + 1674600 0.0041828823 0.0018620115 0.0039207739 + 1674700 0.0062326368 0.0018314432 0.0048990691 + 1674800 0.0060605352 0.0020712824 0.005054202 + 1674900 0.0061480029 0.0019892975 0.0050152676 + 1675000 0.0058656144 0.0018297909 0.004716773 + 1675100 0.0042155328 0.0018778111 0.0039526437 + 1675200 0.0038010469 0.0020645614 0.0039353892 + 1675300 0.0049817644 0.0014450409 0.0038970031 + 1675400 0.0055140976 0.0012367732 0.0039507431 + 1675500 0.0049999613 0.0016601845 0.004121103 + 1675600 0.0056076093 0.0019721892 0.0047321844 + 1675700 0.0034637433 0.002040257 0.0037450682 + 1675800 0.0056737957 0.0015911388 0.0043837101 + 1675900 0.0055187843 0.0019051038 0.0046213805 + 1676000 0.0060135832 0.0018931377 0.0048529482 + 1676100 0.0060554459 0.0019484996 0.0049289144 + 1676200 0.0048749309 0.0019809843 0.0043803644 + 1676300 0.004646842 0.0021205611 0.0044076787 + 1676400 0.003756463 0.0023220134 0.0041708975 + 1676500 0.0047217859 0.002193846 0.00451785 + 1676600 0.006938833 0.0021052843 0.0055204912 + 1676700 0.0051262152 0.003228301 0.0057513601 + 1676800 0.0046691732 0.0027773671 0.0050754758 + 1676900 0.0051147667 0.0021441148 0.004661539 + 1677000 0.0049699795 0.001986653 0.0044328148 + 1677100 0.0051059588 0.0018211347 0.0043342238 + 1677200 0.0050164516 0.001868413 0.0043374478 + 1677300 0.0053919104 0.0019392475 0.0045930784 + 1677400 0.004265035 0.0025210687 0.0046202656 + 1677500 0.0053678762 0.0024159384 0.0050579399 + 1677600 0.0046856566 0.0020674361 0.0043736577 + 1677700 0.0067544377 0.0019414865 0.0052659363 + 1677800 0.0048636793 0.0021498625 0.0045437046 + 1677900 0.006095801 0.0019579207 0.0049581977 + 1678000 0.0070614343 0.0017215473 0.005197097 + 1678100 0.0037641082 0.0016898817 0.0035425286 + 1678200 0.0030619173 0.0016572848 0.0031643223 + 1678300 0.0039417801 0.0015721245 0.0035122194 + 1678400 0.0056865549 0.001502897 0.0043017483 + 1678500 0.0050092314 0.0018234828 0.0042889639 + 1678600 0.0037644644 0.0019357319 0.0037885542 + 1678700 0.005790249 0.0016854407 0.0045353289 + 1678800 0.005207895 0.0019534793 0.0045167401 + 1678900 0.0055836472 0.0021891766 0.004937378 + 1679000 0.006021064 0.0022783801 0.0052418725 + 1679100 0.0039483813 0.0021736078 0.0041169517 + 1679200 0.0051534614 0.0023403315 0.0048768008 + 1679300 0.0051195957 0.0027035659 0.0052233669 + 1679400 0.0053812285 0.0027283617 0.0053769351 + 1679500 0.0053915381 0.002206345 0.0048599927 + 1679600 0.0044169094 0.002048059 0.0042220066 + 1679700 0.0040523024 0.0021903319 0.0041848245 + 1679800 0.0037773561 0.00240033 0.0042594975 + 1679900 0.0052642345 0.0026135516 0.005204542 + 1680000 0.0051726831 0.0025790545 0.0051249844 + 1680100 0.0046970977 0.0022283635 0.0045402163 + 1680200 0.0055309133 0.001823907 0.0045461535 + 1680300 0.0060103453 0.0020912003 0.0050494171 + 1680400 0.0030804795 0.0029340626 0.0044502361 + 1680500 0.0055184597 0.0026877484 0.0054038653 + 1680600 0.0048956382 0.0025526903 0.0049622622 + 1680700 0.0043616208 0.0026705607 0.0048172959 + 1680800 0.0054125566 0.0023646613 0.005028654 + 1680900 0.0035094527 0.001920997 0.0036483058 + 1681000 0.0040307683 0.0019898291 0.0039737229 + 1681100 0.0050070499 0.0023311567 0.0047955641 + 1681200 0.0039452883 0.0029432592 0.0048850808 + 1681300 0.0041985467 0.0031603501 0.0052268223 + 1681400 0.0054056552 0.0024097785 0.0050703745 + 1681500 0.0044889187 0.0023051434 0.004514533 + 1681600 0.0055183655 0.002209528 0.0049255985 + 1681700 0.0062193521 0.0024846889 0.0055457762 + 1681800 0.0050016948 0.0026756631 0.0051374348 + 1681900 0.0052219423 0.0030217479 0.0055919226 + 1682000 0.0065966068 0.0031257917 0.0063725591 + 1682100 0.0068945714 0.003045179 0.0064386008 + 1682200 0.0039225445 0.0027087104 0.0046393378 + 1682300 0.0069350552 0.0023046824 0.0057180299 + 1682400 0.005081251 0.0028677373 0.0053686655 + 1682500 0.0054667375 0.0031227074 0.0058133673 + 1682600 0.0052851341 0.0030673474 0.0056686243 + 1682700 0.0047172623 0.0028387872 0.0051605647 + 1682800 0.0052213115 0.0028535054 0.0054233696 + 1682900 0.005646337 0.0028315594 0.0056106159 + 1683000 0.004864205 0.0027184025 0.0051125034 + 1683100 0.0057060774 0.0028881904 0.0056966503 + 1683200 0.0059643864 0.0027967164 0.0057323129 + 1683300 0.0053439693 0.0023684992 0.0049987341 + 1683400 0.0054720417 0.0030495957 0.0057428662 + 1683500 0.0050509147 0.0030444096 0.0055304067 + 1683600 0.0044670716 0.0029421827 0.0051408195 + 1683700 0.0044509651 0.0027491608 0.0049398702 + 1683800 0.0042771773 0.0028355603 0.0049407335 + 1683900 0.0058907075 0.0027761909 0.0056755235 + 1684000 0.0064230909 0.0025499557 0.0057113207 + 1684100 0.0046143274 0.0026336545 0.0049047688 + 1684200 0.0048588108 0.0029707889 0.0053622348 + 1684300 0.0049979528 0.0028206406 0.0052805705 + 1684400 0.0056373186 0.0023278037 0.0051024214 + 1684500 0.0044867251 0.0019375735 0.0041458835 + 1684600 0.0055330235 0.0017307224 0.0044540074 + 1684700 0.0049594562 0.0018351243 0.0042761066 + 1684800 0.0050224067 0.0017177572 0.0041897229 + 1684900 0.0046879136 0.001868948 0.0041762805 + 1685000 0.0053686339 0.002213986 0.0048563605 + 1685100 0.0049776179 0.0023309804 0.0047809017 + 1685200 0.0059131572 0.0023384271 0.0052488092 + 1685300 0.0049339424 0.002445643 0.0048740678 + 1685400 0.0047701195 0.0023646905 0.0047124837 + 1685500 0.0054994964 0.0024831177 0.0051899011 + 1685600 0.0044702614 0.0026097483 0.0048099551 + 1685700 0.0055175683 0.0026254428 0.005341121 + 1685800 0.0057847605 0.0021670434 0.0050142302 + 1685900 0.005828247 0.0018884032 0.0047569936 + 1686000 0.0073418969 0.0014845811 0.005098171 + 1686100 0.0059717393 0.0019117382 0.0048509537 + 1686200 0.0039565474 0.0021409912 0.0040883544 + 1686300 0.0043816387 0.0024659672 0.004622555 + 1686400 0.0049826522 0.0028654726 0.0053178717 + 1686500 0.0056715263 0.0028726972 0.0056641515 + 1686600 0.007200648 0.0025468223 0.0060908912 + 1686700 0.0056622289 0.0024166647 0.005203543 + 1686800 0.004821981 0.0020118716 0.0043851904 + 1686900 0.005103465 0.0021146795 0.0046265412 + 1687000 0.0048123822 0.0023339864 0.0047025807 + 1687100 0.0058652336 0.0020801433 0.0049669379 + 1687200 0.0043159507 0.0020089092 0.0041331661 + 1687300 0.0049713385 0.0021222347 0.0045690654 + 1687400 0.0047213951 0.0025416277 0.0048654393 + 1687500 0.0045627644 0.0024400393 0.0046857749 + 1687600 0.0060246892 0.0022401909 0.0052054676 + 1687700 0.0037779644 0.0025440011 0.004403468 + 1687800 0.0058370091 0.002311969 0.005184872 + 1687900 0.0045638173 0.0024581199 0.0047043737 + 1688000 0.005009825 0.0021787833 0.0046445565 + 1688100 0.0037870547 0.0022061434 0.0040700843 + 1688200 0.0060846387 0.0022696422 0.0052644253 + 1688300 0.0041685659 0.0024404582 0.0044921743 + 1688400 0.0058952625 0.0025881016 0.0054896761 + 1688500 0.0056082931 0.0018546913 0.004615023 + 1688600 0.0049918098 0.0016011217 0.0040580281 + 1688700 0.0058209952 0.001992981 0.0048580021 + 1688800 0.0036908754 0.0023583132 0.0041749159 + 1688900 0.0048933435 0.0020087851 0.0044172276 + 1689000 0.0045659188 0.0016725446 0.0039198327 + 1689100 0.0041830992 0.0021205737 0.0041794429 + 1689200 0.0043387846 0.0022361143 0.0043716099 + 1689300 0.0032971642 0.0025564555 0.0041792785 + 1689400 0.0059961602 0.0021961742 0.0051474093 + 1689500 0.0064726187 0.0019109443 0.0050966863 + 1689600 0.0045205387 0.0021734301 0.0043983828 + 1689700 0.0051682228 0.0018960825 0.0044398171 + 1689800 0.0049304983 0.0019966725 0.0044234021 + 1689900 0.005158526 0.0018383717 0.0043773337 + 1690000 0.0049949479 0.0021698854 0.0046283363 + 1690100 0.0046354043 0.0031514331 0.0054329212 + 1690200 0.0049276351 0.0028578185 0.0052831389 + 1690300 0.0050069607 0.0025875588 0.0050519223 + 1690400 0.0047365309 0.0025075357 0.004838797 + 1690500 0.0037630878 0.0024350151 0.0042871599 + 1690600 0.0045872131 0.0019578405 0.0042156095 + 1690700 0.0048813653 0.0021953555 0.0045979025 + 1690800 0.0041415209 0.0025141611 0.0045525659 + 1690900 0.0044696141 0.0023942639 0.0045941521 + 1691000 0.0056572446 0.0021756034 0.0049600285 + 1691100 0.0058266755 0.0022201025 0.0050879193 + 1691200 0.0044476272 0.0027759971 0.0049650636 + 1691300 0.0049278874 0.0024873101 0.0049127547 + 1691400 0.0058763902 0.0021191849 0.0050114707 + 1691500 0.0067004195 0.0023270967 0.0056249594 + 1691600 0.0061361219 0.0023605488 0.0053806713 + 1691700 0.0050870456 0.0023223018 0.004826082 + 1691800 0.0033801789 0.0023251286 0.0039888104 + 1691900 0.0034618409 0.0022333275 0.0039372023 + 1692000 0.0052712328 0.0020088894 0.0046033243 + 1692100 0.0059036477 0.0022171935 0.0051228951 + 1692200 0.0055530562 0.0024232732 0.0051564181 + 1692300 0.0058564598 0.0022826423 0.0051651186 + 1692400 0.0037755082 0.0020210377 0.0038792956 + 1692500 0.0052610567 0.0018548199 0.0044442462 + 1692600 0.0052613525 0.0021471481 0.00473672 + 1692700 0.0042279636 0.0024295043 0.0045104552 + 1692800 0.005643333 0.0023774779 0.0051550559 + 1692900 0.0049733984 0.0020458491 0.0044936936 + 1693000 0.0042226196 0.001990415 0.0040687356 + 1693100 0.0039577414 0.0019044884 0.0038524393 + 1693200 0.0046929889 0.0021724697 0.0044823002 + 1693300 0.0041046759 0.0022490669 0.0042693371 + 1693400 0.0048665525 0.002265257 0.0046605133 + 1693500 0.0065438573 0.0026435769 0.0058643817 + 1693600 0.004706746 0.0028577945 0.005174396 + 1693700 0.0050037331 0.0028921999 0.0053549748 + 1693800 0.0030648437 0.003280814 0.0047892918 + 1693900 0.0055577253 0.0028791117 0.0056145546 + 1694000 0.0053553139 0.0023924481 0.0050282666 + 1694100 0.0059621076 0.0023868327 0.0053213076 + 1694200 0.0046620923 0.0025646853 0.0048593089 + 1694300 0.0039610244 0.0022463705 0.0041959372 + 1694400 0.0047666857 0.0021612589 0.0045073621 + 1694500 0.0046015337 0.0020646855 0.0043295029 + 1694600 0.0066090269 0.0019120672 0.0051649477 + 1694700 0.0044822576 0.002264004 0.0044701152 + 1694800 0.0049069022 0.0022100667 0.0046251826 + 1694900 0.0049347657 0.0020863662 0.0045151962 + 1695000 0.0068638184 0.0019541598 0.0053324454 + 1695100 0.0045912109 0.0021151595 0.0043748961 + 1695200 0.0045865522 0.0022019492 0.0044593928 + 1695300 0.0061455752 0.0027120027 0.005736778 + 1695400 0.0061065704 0.0028371916 0.0058427692 + 1695500 0.0048899424 0.0026800725 0.005086841 + 1695600 0.0063326684 0.0026822491 0.0057991093 + 1695700 0.0062497879 0.0028592737 0.0059353412 + 1695800 0.00543492 0.0028128673 0.005487867 + 1695900 0.0067846997 0.0028772382 0.0062165826 + 1696000 0.0050755091 0.0028608453 0.0053589475 + 1696100 0.0063024638 0.0030227116 0.0061247055 + 1696200 0.0046773063 0.0030021956 0.0053043073 + 1696300 0.0045386006 0.00276819 0.0050020325 + 1696400 0.0044588795 0.0026306405 0.0048252453 + 1696500 0.0050428824 0.0027622029 0.0052442466 + 1696600 0.0045331693 0.002437122 0.0046682912 + 1696700 0.0041191378 0.003153731 0.0051811191 + 1696800 0.003790192 0.003478938 0.0053444231 + 1696900 0.0074946347 0.0031787544 0.0068675199 + 1697000 0.0053002535 0.0031406512 0.0057493698 + 1697100 0.0045657695 0.002872699 0.0051199137 + 1697200 0.0060227464 0.0025343595 0.00549868 + 1697300 0.0063164693 0.0025475248 0.0056564121 + 1697400 0.0056078822 0.0027558392 0.0055159688 + 1697500 0.0062467275 0.0031465532 0.0062211144 + 1697600 0.0047984031 0.002994675 0.005356389 + 1697700 0.0040674815 0.0022853538 0.0042873174 + 1697800 0.0044000689 0.0023943086 0.0045599676 + 1697900 0.0040461376 0.0024633528 0.0044548111 + 1698000 0.0042780589 0.0025779397 0.0046835468 + 1698100 0.0040982139 0.0029530235 0.0049701132 + 1698200 0.005179126 0.0028799004 0.0054290014 + 1698300 0.0061904816 0.0024054236 0.0054523012 + 1698400 0.0037483858 0.0022315175 0.0040764262 + 1698500 0.0043744499 0.0022750423 0.0044280919 + 1698600 0.0045943146 0.0022676178 0.004528882 + 1698700 0.0046645402 0.0024890384 0.0047848668 + 1698800 0.0055412028 0.0029328581 0.0056601688 + 1698900 0.0045247288 0.0033074187 0.0055344337 + 1699000 0.0071931793 0.0031680643 0.0067084572 + 1699100 0.0057400966 0.0024842645 0.0053094683 + 1699200 0.0050198865 0.0021812991 0.0046520245 + 1699300 0.0039768139 0.0020243712 0.0039817093 + 1699400 0.0040131263 0.0021110317 0.0040862423 + 1699500 0.0059980641 0.002305602 0.0052577742 + 1699600 0.0040698211 0.0030060368 0.0050091519 + 1699700 0.0048736651 0.0034222629 0.00582102 + 1699800 0.0037396603 0.0029263142 0.0047669282 + 1699900 0.005812955 0.0023645279 0.0052255916 + 1700000 0.0043845413 0.0024027115 0.0045607279 + 1700100 0.0058442843 0.0028842342 0.0057607178 + 1700200 0.0043183262 0.0030371006 0.0051625267 + 1700300 0.0048563337 0.0027832128 0.0051734395 + 1700400 0.0051907672 0.0023527638 0.0049075945 + 1700500 0.0061239688 0.0021440684 0.0051582093 + 1700600 0.0075516637 0.0020132237 0.0057300582 + 1700700 0.0060023891 0.0022469515 0.0052012524 + 1700800 0.0039046849 0.0025709881 0.0044928252 + 1700900 0.0058202189 0.0027260074 0.0055906464 + 1701000 0.0038186414 0.0026064183 0.0044859058 + 1701100 0.0055169896 0.0021622337 0.004877627 + 1701200 0.0035377113 0.0021944242 0.0039356414 + 1701300 0.0056848348 0.0021002236 0.0048982282 + 1701400 0.0039646886 0.002296089 0.0042474591 + 1701500 0.0062804092 0.0022082397 0.0052993786 + 1701600 0.0051691493 0.0025823267 0.0051265173 + 1701700 0.0046055456 0.0022893038 0.0045560957 + 1701800 0.0038991571 0.0021524593 0.0040715756 + 1701900 0.0057664311 0.0019572691 0.0047954344 + 1702000 0.0051982639 0.0019444218 0.0045029423 + 1702100 0.0074901503 0.0018939837 0.005580542 + 1702200 0.0045923713 0.0021526629 0.0044129706 + 1702300 0.0052590589 0.0020203443 0.0046087873 + 1702400 0.00562086 0.0019095756 0.0046760926 + 1702500 0.0045260931 0.002434388 0.0046620745 + 1702600 0.0049580746 0.0025288246 0.0049691269 + 1702700 0.0046608894 0.0023512482 0.0046452797 + 1702800 0.004232211 0.002031554 0.0041145953 + 1702900 0.0051420169 0.0021886814 0.0047195179 + 1703000 0.0048701075 0.0023115125 0.0047085185 + 1703100 0.0066663748 0.0018846152 0.0051657216 + 1703200 0.0058193063 0.0019368901 0.0048010799 + 1703300 0.0057523808 0.0020795274 0.0049107773 + 1703400 0.0038127113 0.0019419422 0.0038185111 + 1703500 0.0038297536 0.0021754131 0.0040603699 + 1703600 0.0047884726 0.0020231452 0.0043799716 + 1703700 0.0053417439 0.0016724836 0.0043016232 + 1703800 0.0055351552 0.0016088683 0.0043332024 + 1703900 0.0036108303 0.0022069815 0.003984187 + 1704000 0.0048132642 0.0027614978 0.0051305263 + 1704100 0.0049786669 0.0026363488 0.0050867864 + 1704200 0.0046169784 0.0021642682 0.0044366873 + 1704300 0.0045591769 0.0022268986 0.0044708684 + 1704400 0.0051917094 0.0019459154 0.0045012099 + 1704500 0.0057288018 0.0019151471 0.0047347918 + 1704600 0.0045614962 0.0023304544 0.0045755658 + 1704700 0.0063141938 0.0029081443 0.0060159116 + 1704800 0.0056709682 0.0027781829 0.0055693625 + 1704900 0.0064564287 0.0022907553 0.0054685289 + 1705000 0.0060661198 0.0018756588 0.0048613272 + 1705100 0.004523384 0.0023463366 0.0045726896 + 1705200 0.0055134655 0.0030393394 0.0057529982 + 1705300 0.0065298392 0.0032757044 0.0064896096 + 1705400 0.0064532296 0.0032297929 0.0064059918 + 1705500 0.0053057903 0.0029300504 0.0055414941 + 1705600 0.0040101676 0.0026020394 0.0045757938 + 1705700 0.0043889528 0.0024649928 0.0046251805 + 1705800 0.0054629294 0.0027865229 0.0054753085 + 1705900 0.0041038994 0.0028548707 0.0048747587 + 1706000 0.0054834713 0.002831437 0.0055303331 + 1706100 0.0061631691 0.0027932874 0.0058267222 + 1706200 0.0037654773 0.0028468871 0.0047002079 + 1706300 0.0058183111 0.0025206243 0.0053843243 + 1706400 0.0057390232 0.0022611407 0.0050858162 + 1706500 0.004448892 0.0024399848 0.0046296738 + 1706600 0.0053657894 0.0027618764 0.0054028509 + 1706700 0.0048799613 0.0026704158 0.0050722718 + 1706800 0.0042349506 0.0024490041 0.0045333938 + 1706900 0.0058377051 0.0024342326 0.0053074781 + 1707000 0.0056214367 0.0031205536 0.0058873545 + 1707100 0.0050421001 0.0028504566 0.0053321152 + 1707200 0.0063760843 0.0019474256 0.0050856546 + 1707300 0.0037013061 0.0021756931 0.0039974297 + 1707400 0.0042345312 0.0023778414 0.0044620248 + 1707500 0.0039682208 0.0029143143 0.004867423 + 1707600 0.0048770237 0.0029002257 0.0053006358 + 1707700 0.0062507511 0.0023030401 0.0053795816 + 1707800 0.0045440603 0.0023498187 0.0045863483 + 1707900 0.004203353 0.0025034626 0.0045723004 + 1708000 0.0054485601 0.0025294876 0.0052112008 + 1708100 0.0056778897 0.002889679 0.0056842653 + 1708200 0.00486668 0.0029723962 0.0053677152 + 1708300 0.0045578278 0.0031055638 0.0053488696 + 1708400 0.004834638 0.003271001 0.0056505494 + 1708500 0.0032618431 0.0035429708 0.0051484093 + 1708600 0.0047874808 0.0028477783 0.0052041165 + 1708700 0.0044189216 0.0028793893 0.0050543273 + 1708800 0.0063994629 0.0024695401 0.0056192757 + 1708900 0.0050542008 0.0022476358 0.0047352503 + 1709000 0.004981572 0.0020024182 0.0044542857 + 1709100 0.004380795 0.0019388329 0.0040950055 + 1709200 0.0051848657 0.0019921372 0.0045440632 + 1709300 0.0055768814 0.0019313221 0.0046761935 + 1709400 0.004979277 0.0019154694 0.0043662073 + 1709500 0.0043973499 0.0024717259 0.0046360466 + 1709600 0.0035456104 0.0026785732 0.0044236784 + 1709700 0.005811699 0.0027179228 0.0055783684 + 1709800 0.007121913 0.0026080058 0.0061133224 + 1709900 0.0060638604 0.0028350371 0.0058195934 + 1710000 0.0052678181 0.0025898001 0.0051825543 + 1710100 0.0041049129 0.0025065893 0.0045269761 + 1710200 0.0043330288 0.0024041512 0.0045368138 + 1710300 0.0062867594 0.0020655328 0.0051597972 + 1710400 0.0055314338 0.0024767251 0.0051992277 + 1710500 0.0063878448 0.0024929878 0.0056370052 + 1710600 0.0045406588 0.0025411819 0.0047760374 + 1710700 0.006297162 0.0022004628 0.0052998472 + 1710800 0.005283643 0.0018751683 0.0044757113 + 1710900 0.0051578629 0.0017091581 0.0042477937 + 1711000 0.0052006994 0.002173989 0.0047337082 + 1711100 0.0043173133 0.0025699813 0.0046949089 + 1711200 0.0040983822 0.0025260258 0.0045431983 + 1711300 0.0052746121 0.0022863144 0.0048824126 + 1711400 0.0054878368 0.0028984867 0.0055995314 + 1711500 0.0067796982 0.0024076926 0.0057445753 + 1711600 0.0046536889 0.0018240342 0.0041145217 + 1711700 0.0044821112 0.0020286266 0.0042346657 + 1711800 0.0046361385 0.0025561028 0.0048379522 + 1711900 0.0051071964 0.002365253 0.0048789512 + 1712000 0.0047836003 0.0027295539 0.0050839822 + 1712100 0.00450808 0.0027601316 0.0049789522 + 1712200 0.0048206304 0.0026220614 0.0049947155 + 1712300 0.0049373103 0.0025958148 0.0050258972 + 1712400 0.0054125974 0.0020513319 0.0047153447 + 1712500 0.0063145579 0.0015689169 0.0046768634 + 1712600 0.004602017 0.0017320941 0.0039971493 + 1712700 0.0052998147 0.0018798854 0.004488388 + 1712800 0.0048614561 0.0018325451 0.004225293 + 1712900 0.0052841559 0.0020508191 0.0046516146 + 1713000 0.0057652637 0.0021943842 0.005031975 + 1713100 0.006024923 0.002322297 0.0052876888 + 1713200 0.005376508 0.0026399715 0.0052862215 + 1713300 0.0065228323 0.0023875486 0.0055980051 + 1713400 0.0060933161 0.0025868367 0.0055858907 + 1713500 0.0044001372 0.0020899264 0.0042556189 + 1713600 0.0035216397 0.0020020822 0.0037353893 + 1713700 0.0046788741 0.0019875388 0.0042904221 + 1713800 0.0050208677 0.0023745141 0.0048457224 + 1713900 0.0052495855 0.0023949139 0.0049786943 + 1714000 0.0056364473 0.0023444906 0.0051186795 + 1714100 0.0049006202 0.0022546098 0.0046666338 + 1714200 0.0045867763 0.0019007925 0.0041583465 + 1714300 0.005763989 0.0021735831 0.0050105464 + 1714400 0.0045662585 0.0030313777 0.005278833 + 1714500 0.0051186681 0.0031132575 0.0056326019 + 1714600 0.0042558895 0.0031583369 0.0052530325 + 1714700 0.0057047354 0.0026772491 0.0054850485 + 1714800 0.0060437255 0.0025699737 0.0055446198 + 1714900 0.0055806561 0.0025590688 0.0053057979 + 1715000 0.0029840206 0.0027135554 0.004182253 + 1715100 0.0046986882 0.0023745359 0.0046871715 + 1715200 0.0046699587 0.0021566073 0.0044551025 + 1715300 0.0063129638 0.0023194822 0.005426644 + 1715400 0.0060508057 0.0032501938 0.0062283248 + 1715500 0.0048982439 0.0031362751 0.0055471295 + 1715600 0.0044264639 0.0026582882 0.0048369384 + 1715700 0.0052883932 0.0024098368 0.0050127178 + 1715800 0.0050448903 0.002322774 0.0048058059 + 1715900 0.0051867992 0.0024794327 0.0050323104 + 1716000 0.00560592 0.0026269281 0.0053860919 + 1716100 0.0043141282 0.0026639167 0.0047872767 + 1716200 0.0045769226 0.0027645745 0.0050172785 + 1716300 0.0065411569 0.0027867164 0.0060061921 + 1716400 0.0070310857 0.0030806852 0.0065412978 + 1716500 0.0052503854 0.0029026902 0.0054868642 + 1716600 0.0073343976 0.0028403264 0.0064502252 + 1716700 0.0060832658 0.0028613958 0.0058555031 + 1716800 0.0054910473 0.0026808131 0.0053834379 + 1716900 0.0055143214 0.0023098799 0.00502396 + 1717000 0.0053015252 0.0023394848 0.0049488292 + 1717100 0.0063310111 0.0024857154 0.0056017599 + 1717200 0.0063915913 0.0019914027 0.0051372641 + 1717300 0.0060075176 0.001826661 0.004783486 + 1717400 0.0043173293 0.0021524442 0.0042773797 + 1717500 0.0063110656 0.0019123339 0.0050185615 + 1717600 0.003714028 0.0022806782 0.0041086764 + 1717700 0.005229619 0.0022376 0.0048115531 + 1717800 0.0042302071 0.0019218967 0.0040039517 + 1717900 0.00523954 0.0021312324 0.0047100685 + 1718000 0.0042949752 0.0026912957 0.0048052288 + 1718100 0.0050237827 0.0029157174 0.0053883604 + 1718200 0.0047100714 0.0028888956 0.0052071339 + 1718300 0.004921693 0.0030119914 0.0054343871 + 1718400 0.0064274601 0.0028578029 0.0060213184 + 1718500 0.0060473624 0.0028072471 0.0057836833 + 1718600 0.005322243 0.0028398995 0.0054594409 + 1718700 0.0051491598 0.0024344432 0.0049687953 + 1718800 0.0046066858 0.0024387693 0.0047061225 + 1718900 0.004317617 0.0023245261 0.0044496032 + 1719000 0.0046023531 0.0020304826 0.0042957032 + 1719100 0.0044009245 0.0018714929 0.0040375729 + 1719200 0.0054529023 0.0020497318 0.0047335821 + 1719300 0.0053240309 0.0019026124 0.0045230339 + 1719400 0.0057705078 0.00208724 0.0049274118 + 1719500 0.0034143162 0.0021937311 0.0038742149 + 1719600 0.0045486215 0.0021857068 0.0044244814 + 1719700 0.0042197367 0.0019289062 0.0040058078 + 1719800 0.0049475497 0.002148299 0.0045834211 + 1719900 0.0050196127 0.0029051055 0.0053756962 + 1720000 0.0031861708 0.0029043778 0.0044725712 + 1720100 0.0056102436 0.0023391481 0.0051004399 + 1720200 0.0051394595 0.0023564239 0.0048860016 + 1720300 0.0046551852 0.0022145993 0.0045058233 + 1720400 0.0041847096 0.0022112213 0.004270883 + 1720500 0.0053792014 0.001572803 0.0042203786 + 1720600 0.0044692687 0.0018748164 0.0040745345 + 1720700 0.0046099398 0.0021347627 0.0044037175 + 1720800 0.0058001166 0.0015841667 0.0044389116 + 1720900 0.0051775216 0.0015937382 0.0041420496 + 1721000 0.0034829949 0.0018005603 0.0035148468 + 1721100 0.0052871982 0.0018043927 0.0044066856 + 1721200 0.006733601 0.0022294213 0.0055436155 + 1721300 0.0064700555 0.0030380252 0.0062225056 + 1721400 0.0047180721 0.0029784584 0.0053006345 + 1721500 0.0076652437 0.0019180907 0.0056908279 + 1721600 0.0043591984 0.0015023846 0.0036479275 + 1721700 0.0040924691 0.0013835104 0.0033977726 + 1721800 0.0069590769 0.0016430724 0.005068243 + 1721900 0.005888223 0.0024684194 0.0053665292 + 1722000 0.0060792815 0.0031727526 0.006164899 + 1722100 0.0053337144 0.0032363978 0.0058615853 + 1722200 0.0062244435 0.0026659275 0.0057295208 + 1722300 0.0066817233 0.0021012552 0.0053899159 + 1722400 0.0058894697 0.0020705418 0.0049692652 + 1722500 0.0060091617 0.0022747576 0.0052323918 + 1722600 0.0055482894 0.002422441 0.0051532397 + 1722700 0.0058563119 0.0029568822 0.0058392858 + 1722800 0.0066227587 0.0030549084 0.0063145474 + 1722900 0.0048284115 0.0029260073 0.0053024911 + 1723000 0.0039981336 0.0023979103 0.0043657417 + 1723100 0.0039827832 0.0018998726 0.0038601487 + 1723200 0.0049538319 0.0019711155 0.0044093296 + 1723300 0.0055817528 0.0019876434 0.0047349123 + 1723400 0.0043783572 0.0021933487 0.0043483214 + 1723500 0.0056451818 0.0025688522 0.0053473401 + 1723600 0.0054384757 0.0027440816 0.0054208313 + 1723700 0.0042192451 0.002427783 0.0045044427 + 1723800 0.0038456054 0.0020218435 0.0039146024 + 1723900 0.0061537909 0.0016705805 0.0046993994 + 1724000 0.0045234255 0.0020633598 0.0042897333 + 1724100 0.0048428337 0.0021404811 0.0045240633 + 1724200 0.0052521743 0.0023169849 0.0049020394 + 1724300 0.0050320999 0.0022964643 0.004773201 + 1724400 0.0059580847 0.0024015023 0.0053339971 + 1724500 0.0057872266 0.0023950672 0.0052434678 + 1724600 0.0050606072 0.0022167972 0.0047075648 + 1724700 0.0049062328 0.0022146898 0.0046294762 + 1724800 0.0049686435 0.0024106913 0.0048561955 + 1724900 0.0060563298 0.0024966263 0.0054774761 + 1725000 0.0038113479 0.002464901 0.0043407988 + 1725100 0.0045482817 0.0028201911 0.0050587985 + 1725200 0.0052076841 0.0029658556 0.0055290127 + 1725300 0.0041491695 0.0026856708 0.0047278401 + 1725400 0.0041076971 0.0027076816 0.0047294388 + 1725500 0.0037062003 0.0030584796 0.0048826251 + 1725600 0.0053074667 0.0026501246 0.0052623934 + 1725700 0.0056133252 0.0023024226 0.0050652311 + 1725800 0.0043313045 0.002469979 0.0046017929 + 1725900 0.0054246761 0.0027169335 0.0053868913 + 1726000 0.0043837252 0.0024208172 0.0045784319 + 1726100 0.0045089484 0.0022415402 0.0044607882 + 1726200 0.0042631905 0.0025925055 0.0046907946 + 1726300 0.0051095727 0.0024154812 0.004930349 + 1726400 0.0057676911 0.0020817917 0.0049205772 + 1726500 0.0043065966 0.002364921 0.0044845741 + 1726600 0.0053119615 0.0026665319 0.0052810129 + 1726700 0.0042699524 0.0027657891 0.0048674063 + 1726800 0.0053099412 0.0028063367 0.0054198233 + 1726900 0.0064073753 0.0026696871 0.0058233172 + 1727000 0.0072150546 0.0023502149 0.0059013745 + 1727100 0.0038983305 0.0025433124 0.0044620219 + 1727200 0.006077243 0.0025276981 0.0055188412 + 1727300 0.0047260409 0.0023199206 0.0046460188 + 1727400 0.0044766195 0.0026016189 0.0048049551 + 1727500 0.0053718047 0.0025990809 0.0052430161 + 1727600 0.0041486924 0.0028502005 0.0048921351 + 1727700 0.0047980587 0.0023080979 0.0046696424 + 1727800 0.0056871021 0.0028268952 0.0056260157 + 1727900 0.0050535172 0.0028632376 0.0053505156 + 1728000 0.0046062398 0.0025663411 0.0048334747 + 1728100 0.0060639525 0.0018200523 0.0048046539 + 1728200 0.0055950405 0.0018252946 0.0045791036 + 1728300 0.0049891693 0.0024725115 0.0049281183 + 1728400 0.0035810118 0.0029311959 0.0046937251 + 1728500 0.0050982016 0.0031985656 0.0057078367 + 1728600 0.0048283847 0.0027699274 0.005146398 + 1728700 0.0068009511 0.0022593819 0.005606725 + 1728800 0.0056008109 0.0025192903 0.0052759394 + 1728900 0.004340848 0.0030637037 0.0052002148 + 1729000 0.0062897524 0.0030514447 0.0061471822 + 1729100 0.0066984596 0.0033338893 0.0066307874 + 1729200 0.0058507682 0.0030451916 0.0059248666 + 1729300 0.0063427553 0.0028599179 0.0059817428 + 1729400 0.0044810845 0.0027491532 0.0049546869 + 1729500 0.0053676808 0.0026872247 0.0053291301 + 1729600 0.0056848847 0.0024208062 0.0052188354 + 1729700 0.0048245478 0.0026170187 0.0049916008 + 1729800 0.0047839915 0.0024735474 0.0048281683 + 1729900 0.005369634 0.0022589357 0.0049018024 + 1730000 0.0054132155 0.0026537454 0.0053180624 + 1730100 0.0067092891 0.00267764 0.0059798683 + 1730200 0.0052392966 0.0022639266 0.004842643 + 1730300 0.0070786864 0.0022898876 0.0057739286 + 1730400 0.0053631597 0.0023351666 0.0049748468 + 1730500 0.0051859122 0.0023506696 0.0049031107 + 1730600 0.0059060715 0.0023268948 0.0052337893 + 1730700 0.0046630515 0.0026580973 0.004953193 + 1730800 0.0055499333 0.0024273991 0.0051590069 + 1730900 0.0065771148 0.0020621896 0.0052993632 + 1731000 0.0062080359 0.002153805 0.0052093227 + 1731100 0.0047950708 0.0021417547 0.0045018286 + 1731200 0.0048497873 0.0020427185 0.0044297232 + 1731300 0.0039781935 0.0018545331 0.0038125502 + 1731400 0.0045776067 0.0021795081 0.0044325489 + 1731500 0.0046391258 0.0022278836 0.0045112033 + 1731600 0.0050808086 0.0023625847 0.0048632951 + 1731700 0.0055104565 0.0020754336 0.0047876115 + 1731800 0.0044293541 0.002198454 0.0043785267 + 1731900 0.0049140692 0.0025269286 0.004945572 + 1732000 0.00490804 0.0026160225 0.0050316984 + 1732100 0.0057014812 0.0029634804 0.0057696782 + 1732200 0.0044007956 0.002791257 0.0049572735 + 1732300 0.0045349131 0.0024191716 0.0046511991 + 1732400 0.0045752525 0.0020678262 0.0043197083 + 1732500 0.0048191459 0.0019219057 0.0042938291 + 1732600 0.0044850116 0.0021579714 0.0043654381 + 1732700 0.0056861348 0.0023623702 0.0051610147 + 1732800 0.0058499013 0.0024021711 0.0052814194 + 1732900 0.0044577069 0.0026117377 0.0048057653 + 1733000 0.0058006109 0.0024127759 0.0052677641 + 1733100 0.0057115163 0.0026029781 0.005414115 + 1733200 0.0063385098 0.0029817493 0.0061014845 + 1733300 0.0042983826 0.0034761469 0.0055917571 + 1733400 0.0046202366 0.0030800108 0.0053540335 + 1733500 0.0036891307 0.0029338799 0.0047496239 + 1733600 0.0051229184 0.0026892348 0.0052106711 + 1733700 0.0044154352 0.0025617963 0.0047350183 + 1733800 0.0063241233 0.0027785077 0.0058911621 + 1733900 0.00695156 0.0035955266 0.0070169975 + 1734000 0.0041615833 0.0040419459 0.0060902252 + 1734100 0.0038936387 0.0034600406 0.0053764409 + 1734200 0.0051605063 0.0031800992 0.0057200359 + 1734300 0.0052366256 0.0030672198 0.0056446215 + 1734400 0.004005989 0.0028126786 0.0047843762 + 1734500 0.0048799029 0.0027625902 0.0051644175 + 1734600 0.0047937047 0.0025813175 0.004940719 + 1734700 0.0032032412 0.00252313 0.0040997253 + 1734800 0.0062017067 0.0021254437 0.0051778462 + 1734900 0.0051053319 0.0022121972 0.0047249778 + 1735000 0.0048231672 0.0024125499 0.0047864525 + 1735100 0.0059116522 0.0024619012 0.0053715425 + 1735200 0.0062627461 0.0026025598 0.0056850051 + 1735300 0.0054669841 0.0023448144 0.0050355956 + 1735400 0.0041177792 0.0022470984 0.0042738178 + 1735500 0.0045989274 0.0023512596 0.0046147942 + 1735600 0.0055093436 0.0027905061 0.0055021362 + 1735700 0.0057805058 0.002543616 0.0053887086 + 1735800 0.0057664189 0.0025011423 0.0053393016 + 1735900 0.0039254981 0.0028128323 0.0047449134 + 1736000 0.0057750142 0.0027684877 0.0056108775 + 1736100 0.0057675921 0.0026827251 0.0055214618 + 1736200 0.0048528378 0.0029633434 0.0053518495 + 1736300 0.0053781396 0.002940768 0.0055878211 + 1736400 0.0044925727 0.0029930026 0.0052041907 + 1736500 0.0051701291 0.0027590954 0.0053037683 + 1736600 0.0038588675 0.0026475135 0.0045467998 + 1736700 0.004522238 0.002638509 0.004864298 + 1736800 0.0064431004 0.0029030268 0.0060742402 + 1736900 0.0050815426 0.003294226 0.0057952977 + 1737000 0.0053920476 0.0032753809 0.0059292793 + 1737100 0.0052459742 0.0024737034 0.0050557064 + 1737200 0.0063836724 0.0022389735 0.0053809373 + 1737300 0.0051639744 0.0021257583 0.0046674019 + 1737400 0.0054670811 0.0017755298 0.0044663588 + 1737500 0.0057685714 0.002231081 0.0050702998 + 1737600 0.0046858408 0.0029350811 0.0052413933 + 1737700 0.0058984801 0.0028674427 0.0057706009 + 1737800 0.0043988792 0.0023111859 0.0044762593 + 1737900 0.0044264889 0.0020485231 0.0042271856 + 1738000 0.0051393712 0.0017608114 0.0042903456 + 1738100 0.0045917014 0.0022926984 0.0045526764 + 1738200 0.004479761 0.0023728341 0.0045777164 + 1738300 0.005368063 0.0021680184 0.0048101119 + 1738400 0.0057442615 0.0018745348 0.0047017885 + 1738500 0.0046054117 0.0018873064 0.0041540325 + 1738600 0.0033398128 0.0020601099 0.003703924 + 1738700 0.0051835482 0.0017944772 0.0043457548 + 1738800 0.0053885307 0.0017879887 0.0044401562 + 1738900 0.0040761492 0.0022166725 0.0042229021 + 1739000 0.0069041919 0.0022615675 0.0056597244 + 1739100 0.0051931889 0.0023298349 0.0048858576 + 1739200 0.0055963117 0.0026465353 0.0054009699 + 1739300 0.0056318977 0.0026716832 0.0054436328 + 1739400 0.0055306769 0.0029035576 0.0056256876 + 1739500 0.006867315 0.0029206439 0.0063006505 + 1739600 0.0053242811 0.0031762226 0.0057967672 + 1739700 0.0048751434 0.0029073433 0.0053068279 + 1739800 0.0048751874 0.0026590832 0.0050585895 + 1739900 0.0057703437 0.0021867227 0.0050268138 + 1740000 0.0042725377 0.0019134551 0.0040163448 + 1740100 0.0041024861 0.001898583 0.0039177754 + 1740200 0.0051091329 0.0021492398 0.0046638912 + 1740300 0.0052013669 0.0021924903 0.0047525381 + 1740400 0.0062141991 0.0019572732 0.0050158243 + 1740500 0.0057470593 0.00227032 0.0050989507 + 1740600 0.0047373262 0.0021800544 0.0045117071 + 1740700 0.005092345 0.0020785724 0.0045849609 + 1740800 0.0039890719 0.0020188979 0.0039822692 + 1740900 0.005393016 0.0021570442 0.0048114193 + 1741000 0.0072792977 0.0020286493 0.0056114286 + 1741100 0.0056773867 0.0023842726 0.0051786114 + 1741200 0.0054747849 0.0023036758 0.0049982965 + 1741300 0.0050466157 0.0017955336 0.0042794148 + 1741400 0.0030123306 0.0019412241 0.0034238556 + 1741500 0.0046932208 0.0024352894 0.0047452341 + 1741600 0.0055899586 0.0028532974 0.0056046051 + 1741700 0.0054984135 0.0024685359 0.0051747863 + 1741800 0.0052463227 0.0024792121 0.0050613866 + 1741900 0.0060522107 0.0023063321 0.0052851545 + 1742000 0.0050315299 0.002062553 0.0045390091 + 1742100 0.0046617886 0.0024981284 0.0047926025 + 1742200 0.0055813063 0.0024535839 0.0052006331 + 1742300 0.0064262397 0.0027195953 0.0058825101 + 1742400 0.0059582045 0.0030589613 0.0059915151 + 1742500 0.0054657407 0.0027300688 0.005420238 + 1742600 0.0058010795 0.002480272 0.0053354908 + 1742700 0.0054963929 0.0028385366 0.0055437925 + 1742800 0.0048028497 0.0027724027 0.0051363053 + 1742900 0.0056208353 0.0025022304 0.0052687353 + 1743000 0.004246989 0.0026303846 0.0047206995 + 1743100 0.0062022262 0.0024694876 0.0055221458 + 1743200 0.0058462665 0.0023832838 0.0052607431 + 1743300 0.0053549727 0.0021810879 0.0048167385 + 1743400 0.0047035584 0.0023735358 0.0046885684 + 1743500 0.0034134059 0.002592851 0.0042728867 + 1743600 0.0051712008 0.0025261332 0.0050713336 + 1743700 0.0044363511 0.0026329242 0.0048164408 + 1743800 0.0053060297 0.0026032613 0.0052148228 + 1743900 0.0054716927 0.002332985 0.0050260837 + 1744000 0.0063445202 0.0024138597 0.0055365532 + 1744100 0.0043863175 0.0028443544 0.005003245 + 1744200 0.0045464123 0.0027069968 0.0049446842 + 1744300 0.005951118 0.0022016178 0.0051306837 + 1744400 0.0050947173 0.001724297 0.0042318531 + 1744500 0.0048014688 0.0021897829 0.0045530058 + 1744600 0.00487067 0.0022233159 0.0046205988 + 1744700 0.0048236901 0.0019837245 0.0043578845 + 1744800 0.004999187 0.0017956371 0.0042561744 + 1744900 0.0035831861 0.0020680084 0.0038316078 + 1745000 0.0042314275 0.0022480265 0.0043306823 + 1745100 0.0042478908 0.0025489479 0.0046397067 + 1745200 0.0052483172 0.0024313491 0.0050145052 + 1745300 0.0045378881 0.0020740335 0.0043075253 + 1745400 0.0043915261 0.0023843865 0.0045458408 + 1745500 0.0053291165 0.0026037176 0.0052266421 + 1745600 0.0054009538 0.0028146595 0.0054729414 + 1745700 0.0068645466 0.002672489 0.0060511331 + 1745800 0.0056311371 0.0031068617 0.005878437 + 1745900 0.0042973983 0.002653416 0.0047685417 + 1746000 0.0046242551 0.0023277919 0.0046037925 + 1746100 0.0044363567 0.0022964124 0.0044799317 + 1746200 0.0060753117 0.0022112382 0.0052014307 + 1746300 0.0050968031 0.0022395165 0.0047480993 + 1746400 0.0064975577 0.0025083368 0.0057063535 + 1746500 0.0039253878 0.0030012192 0.004933246 + 1746600 0.0045624115 0.0024381548 0.0046837167 + 1746700 0.0050428968 0.002286799 0.0047688498 + 1746800 0.0053986739 0.0028348423 0.0054920021 + 1746900 0.0053338222 0.0031627113 0.0057879519 + 1747000 0.004808345 0.0029430475 0.0053096548 + 1747100 0.0049854319 0.0026326346 0.0050864018 + 1747200 0.0043278169 0.0026074625 0.0047375598 + 1747300 0.0058127942 0.0021512535 0.0050122382 + 1747400 0.0050299536 0.0019513494 0.0044270297 + 1747500 0.0033296707 0.0018749604 0.0035137826 + 1747600 0.0050821451 0.0019248895 0.0044262578 + 1747700 0.003142756 0.0021924738 0.0037392991 + 1747800 0.0049419141 0.0024137461 0.0048460944 + 1747900 0.0055905406 0.0023531513 0.0051047455 + 1748000 0.0046477209 0.002188752 0.0044763022 + 1748100 0.0040046171 0.0022227146 0.004193737 + 1748200 0.0040960373 0.002194631 0.0042106494 + 1748300 0.005282793 0.0017988512 0.0043989758 + 1748400 0.0043921949 0.0020864533 0.0042482368 + 1748500 0.0042543171 0.0022500011 0.0043439228 + 1748600 0.0066522817 0.0020993677 0.0053735376 + 1748700 0.0056817628 0.0022326134 0.0050291061 + 1748800 0.0050795857 0.0021900957 0.0046902043 + 1748900 0.0047185086 0.0023217423 0.0046441332 + 1749000 0.0050972477 0.0025653027 0.0050741044 + 1749100 0.0050868432 0.0026435291 0.0051472097 + 1749200 0.0051871881 0.0023108891 0.0048639582 + 1749300 0.0064264388 0.0017740441 0.004937057 + 1749400 0.0063055008 0.0018011861 0.0049046748 + 1749500 0.0069004729 0.002116499 0.0055128255 + 1749600 0.006438433 0.0026964641 0.0058653803 + 1749700 0.0049059039 0.0030643461 0.0054789707 + 1749800 0.0053504113 0.0031932531 0.0058266587 + 1749900 0.006567927 0.0027408992 0.0059735508 + 1750000 0.0047004473 0.0026999458 0.0050134472 + 1750100 0.0045194218 0.0030544121 0.005278815 + 1750200 0.0046574412 0.0031933932 0.0054857275 + 1750300 0.0050384001 0.0026517994 0.0051316369 + 1750400 0.0045103148 0.0024982068 0.0047181274 + 1750500 0.0054787126 0.0022292761 0.0049258299 + 1750600 0.0053521577 0.0022898362 0.0049241013 + 1750700 0.0051119653 0.0021675508 0.0046835962 + 1750800 0.0047665826 0.0026361204 0.0049821727 + 1750900 0.004580188 0.0028859618 0.0051402731 + 1751000 0.0042656883 0.0029205065 0.005020025 + 1751100 0.0056277709 0.0023845488 0.0051544673 + 1751200 0.0045446094 0.0025149174 0.0047517173 + 1751300 0.0050549662 0.0026517505 0.0051397417 + 1751400 0.0050120001 0.0026755338 0.0051423776 + 1751500 0.0062114627 0.0020897298 0.0051469341 + 1751600 0.004914896 0.0017117639 0.0041308143 + 1751700 0.0055210158 0.0018511901 0.004568565 + 1751800 0.0050834351 0.0018927326 0.0043947358 + 1751900 0.0039311635 0.0021238117 0.0040586813 + 1752000 0.0049438864 0.0017887845 0.0042221036 + 1752100 0.0032405662 0.0018654634 0.0034604295 + 1752200 0.0044732747 0.0014953347 0.0036970245 + 1752300 0.0045395614 0.0019769274 0.0042112428 + 1752400 0.0028218285 0.0022511914 0.0036400601 + 1752500 0.0044655688 0.001972408 0.0041703051 + 1752600 0.0039814906 0.0020485341 0.004008174 + 1752700 0.0046969606 0.0024785517 0.004790337 + 1752800 0.0048822206 0.0028935692 0.0052965372 + 1752900 0.0047247037 0.0032678542 0.0055932943 + 1753000 0.0042201198 0.003098704 0.0051757942 + 1753100 0.0063567307 0.002653466 0.0057821694 + 1753200 0.0045079292 0.0025000387 0.0047187851 + 1753300 0.0052004298 0.0024806622 0.0050402487 + 1753400 0.0046461842 0.0027618625 0.0050486563 + 1753500 0.0053771996 0.002723434 0.0053700245 + 1753600 0.0055640019 0.0029344634 0.0056729956 + 1753700 0.005369234 0.0024611314 0.0051038013 + 1753800 0.005321373 0.0021165929 0.0047357061 + 1753900 0.0054002143 0.0023984184 0.0050563364 + 1754000 0.0053405146 0.0022725361 0.0049010706 + 1754100 0.0053506228 0.0026329247 0.0052664343 + 1754200 0.0049644493 0.0029107086 0.0053541485 + 1754300 0.0072825315 0.0022295067 0.0058138777 + 1754400 0.0046835638 0.0025033155 0.0048085071 + 1754500 0.0036046763 0.0027013682 0.0044755448 + 1754600 0.0041478466 0.0025137778 0.004555296 + 1754700 0.0034703992 0.0023181957 0.0040262828 + 1754800 0.0047454946 0.002392268 0.0047279412 + 1754900 0.0051593718 0.0020220853 0.0045614636 + 1755000 0.0040566811 0.0019432997 0.0039399474 + 1755100 0.0036832981 0.0023505985 0.0041634718 + 1755200 0.0041252032 0.0022304634 0.0042608368 + 1755300 0.0051401338 0.0023037253 0.004833635 + 1755400 0.0051469098 0.0024113026 0.0049445473 + 1755500 0.0064663223 0.0022295903 0.0054122332 + 1755600 0.0060200869 0.0023455369 0.0053085484 + 1755700 0.0055601216 0.0024580054 0.0051946277 + 1755800 0.0054160084 0.0025995885 0.0052652802 + 1755900 0.0057054685 0.0032258196 0.0060339799 + 1756000 0.0050384958 0.0030416904 0.005521575 + 1756100 0.0064460307 0.0026068692 0.0057795249 + 1756200 0.0042743526 0.0028990377 0.0050028207 + 1756300 0.0043740773 0.0025659955 0.0047188617 + 1756400 0.0061618572 0.0023346896 0.0053674787 + 1756500 0.0046699095 0.0025047206 0.0048031917 + 1756600 0.0044528692 0.0024633848 0.0046550314 + 1756700 0.0046800795 0.0025193571 0.0048228337 + 1756800 0.0049480248 0.0020294093 0.0044647653 + 1756900 0.0050684272 0.0019403402 0.0044349568 + 1757000 0.0050713927 0.0023070178 0.0048030939 + 1757100 0.0055811681 0.0025373925 0.0052843737 + 1757200 0.0070233652 0.0022706571 0.0057274696 + 1757300 0.0060053821 0.0022451238 0.0052008978 + 1757400 0.0037923252 0.0025159235 0.0043824585 + 1757500 0.0042712408 0.0023591884 0.0044614398 + 1757600 0.0061874432 0.001672791 0.0047181732 + 1757700 0.0036913929 0.0015459509 0.0033628083 + 1757800 0.0029228911 0.0015724136 0.0030110241 + 1757900 0.0054732729 0.0015790886 0.0042729651 + 1758000 0.0051505571 0.001693166 0.0042282058 + 1758100 0.0039613463 0.0021498169 0.004099542 + 1758200 0.0044882075 0.0020920253 0.0043010649 + 1758300 0.0039216968 0.0021544446 0.0040846547 + 1758400 0.0040729263 0.0024950147 0.0044996581 + 1758500 0.0046871637 0.0025124835 0.0048194469 + 1758600 0.0033049105 0.0026269344 0.00425357 + 1758700 0.005944781 0.0018212274 0.0047471743 + 1758800 0.0059269598 0.0022017409 0.0051189165 + 1758900 0.0038105644 0.0027549024 0.0046304146 + 1759000 0.0063515853 0.0024268464 0.0055530173 + 1759100 0.0075137089 0.0023561528 0.0060543064 + 1759200 0.004955617 0.002454792 0.0048938847 + 1759300 0.0040819976 0.0024533724 0.0044624806 + 1759400 0.0054967202 0.0024749852 0.0051804021 + 1759500 0.0052375042 0.0026054462 0.0051832803 + 1759600 0.0051787794 0.0026267342 0.0051756647 + 1759700 0.0047241651 0.0027049664 0.0050301414 + 1759800 0.0042256753 0.0024974489 0.0045772735 + 1759900 0.0053545264 0.0023130628 0.0049484938 + 1760000 0.0045371057 0.0021044397 0.0043375464 + 1760100 0.0058708692 0.0018275733 0.0047171417 + 1760200 0.0049432998 0.0020164781 0.0044495084 + 1760300 0.005098235 0.0022965971 0.0048058846 + 1760400 0.0052112863 0.0022551184 0.0048200484 + 1760500 0.0046281779 0.0030128816 0.0052908129 + 1760600 0.0050295467 0.0033600964 0.0058355764 + 1760700 0.0051623181 0.0031915651 0.0057323935 + 1760800 0.0058188278 0.0032168985 0.0060808528 + 1760900 0.0062977821 0.0031408311 0.0062405207 + 1761000 0.00422701 0.0031908397 0.0052713211 + 1761100 0.0046367969 0.0029861078 0.0052682812 + 1761200 0.0062811768 0.0025988762 0.0056903929 + 1761300 0.0061118847 0.0024525882 0.0054607815 + 1761400 0.0050238429 0.0023429421 0.0048156148 + 1761500 0.0053899847 0.002376252 0.0050291351 + 1761600 0.0060125414 0.0023916819 0.0053509796 + 1761700 0.0054018546 0.0021545491 0.0048132744 + 1761800 0.0045294624 0.0024458619 0.0046752067 + 1761900 0.005624374 0.0027897247 0.0055579712 + 1762000 0.005834977 0.0028015735 0.0056734763 + 1762100 0.0057335507 0.0026593649 0.0054813469 + 1762200 0.0047114546 0.0028165613 0.0051354803 + 1762300 0.0059473398 0.0029636195 0.0058908258 + 1762400 0.0042657685 0.0029506188 0.0050501767 + 1762500 0.0051752849 0.00256444 0.0051116505 + 1762600 0.0038390399 0.0024854031 0.0043749305 + 1762700 0.0047251022 0.0023227533 0.0046483895 + 1762800 0.0036082298 0.0025819829 0.0043579085 + 1762900 0.0062208891 0.002803894 0.0058657378 + 1763000 0.004668174 0.0027365137 0.0050341306 + 1763100 0.0047268707 0.0027806895 0.0051071961 + 1763200 0.0049680651 0.0025420326 0.0049872522 + 1763300 0.0033834284 0.002560723 0.0042260041 + 1763400 0.0046479766 0.0026313033 0.0049189792 + 1763500 0.0046283393 0.0024873487 0.0047653595 + 1763600 0.0043134868 0.0024691937 0.0045922379 + 1763700 0.0036518016 0.0026640547 0.0044614258 + 1763800 0.0045016499 0.0023901206 0.0046057764 + 1763900 0.0034139343 0.0024598745 0.0041401702 + 1764000 0.0051095608 0.0025838779 0.0050987399 + 1764100 0.0059879693 0.0032477739 0.0061949776 + 1764200 0.0038739884 0.0031753722 0.0050821008 + 1764300 0.0045022117 0.002956489 0.0051724213 + 1764400 0.0049689066 0.0028721882 0.0053178219 + 1764500 0.004725437 0.0029149328 0.0052407338 + 1764600 0.0044185456 0.0025944638 0.0047692167 + 1764700 0.0043172934 0.00253465 0.0046595679 + 1764800 0.0062150719 0.0022688738 0.0053278545 + 1764900 0.0048847625 0.0028064925 0.0052107115 + 1765000 0.0042511322 0.0033522905 0.0054446447 + 1765100 0.0051236373 0.0031647562 0.0056865464 + 1765200 0.0042022183 0.0027575327 0.0048258121 + 1765300 0.0035379434 0.002656183 0.0043975146 + 1765400 0.00501983 0.0026551129 0.0051258105 + 1765500 0.0049277529 0.0023778612 0.0048032396 + 1765600 0.0032482655 0.0028854581 0.0044842138 + 1765700 0.0037625191 0.0026790169 0.0045308818 + 1765800 0.0032768664 0.0022626258 0.0038754584 + 1765900 0.0047176096 0.0021862251 0.0045081735 + 1766000 0.0057603886 0.0024699226 0.0053051139 + 1766100 0.0064225896 0.002793772 0.0059548903 + 1766200 0.0047063355 0.0023876736 0.0047040731 + 1766300 0.0054504107 0.0023765764 0.0050592005 + 1766400 0.0039914591 0.0024297976 0.0043943439 + 1766500 0.0041184626 0.0021772636 0.0042043194 + 1766600 0.0050240567 0.0019588307 0.0044316086 + 1766700 0.0054256421 0.0017246903 0.0043951236 + 1766800 0.0050071608 0.0017291922 0.0041936541 + 1766900 0.005745941 0.0020018055 0.0048298858 + 1767000 0.0045803157 0.0022706831 0.0045250572 + 1767100 0.0050169129 0.0023754304 0.0048446923 + 1767200 0.0045450991 0.002406946 0.0046439869 + 1767300 0.0050894201 0.0025236226 0.0050285716 + 1767400 0.0043824933 0.0023941991 0.0045512075 + 1767500 0.0053138151 0.0020306504 0.0046460438 + 1767600 0.0058160192 0.0018605639 0.0047231358 + 1767700 0.0042062534 0.002223653 0.0042939184 + 1767800 0.0055246376 0.0018462537 0.0045654113 + 1767900 0.0051960875 0.0015849198 0.0041423691 + 1768000 0.0054945511 0.0022419146 0.004946264 + 1768100 0.0047796386 0.0027742682 0.0051267466 + 1768200 0.0057204779 0.0023769826 0.0051925303 + 1768300 0.0048841351 0.0019376981 0.0043416083 + 1768400 0.0045570713 0.0021471694 0.004390103 + 1768500 0.0049952252 0.0024233299 0.0048819173 + 1768600 0.0052583811 0.0019924977 0.0045806072 + 1768700 0.0043546323 0.0020115575 0.0041548531 + 1768800 0.0045224593 0.0021622621 0.00438816 + 1768900 0.005460156 0.002583 0.0052704205 + 1769000 0.0065372568 0.0026006482 0.0058182043 + 1769100 0.006265027 0.0019833354 0.0050669034 + 1769200 0.0052385439 0.001702913 0.0042812588 + 1769300 0.0040683256 0.0022594428 0.0042618218 + 1769400 0.0043657782 0.0027289293 0.0048777107 + 1769500 0.00767431 0.0027602894 0.0065374888 + 1769600 0.0044288334 0.0030303808 0.0052101972 + 1769700 0.0048089151 0.0035398793 0.0059067672 + 1769800 0.0060987505 0.0033649264 0.0063666551 + 1769900 0.0064223065 0.0030716754 0.0062326544 + 1770000 0.0056170546 0.0025165594 0.0052812035 + 1770100 0.0045576038 0.0023796836 0.0046228792 + 1770200 0.0048410652 0.0022840302 0.004666742 + 1770300 0.0041289055 0.0027210727 0.0047532684 + 1770400 0.0047516537 0.00248652 0.0048252246 + 1770500 0.0060319301 0.0023529561 0.0053217967 + 1770600 0.0045258466 0.0028277178 0.005055283 + 1770700 0.0046942117 0.0027847865 0.0050952188 + 1770800 0.0044130319 0.0024541237 0.0046261629 + 1770900 0.0052257846 0.0020278697 0.0045999356 + 1771000 0.0047804097 0.0021104194 0.0044632773 + 1771100 0.0047788573 0.002017952 0.0043700458 + 1771200 0.0048548681 0.0021137355 0.0045032409 + 1771300 0.0032823452 0.0024028568 0.0040183861 + 1771400 0.0050210262 0.0024165568 0.0048878431 + 1771500 0.0051847841 0.0022569155 0.0048088015 + 1771600 0.0055445935 0.0017646575 0.0044936371 + 1771700 0.0045388396 0.0018851815 0.0041191416 + 1771800 0.0035953536 0.0018975416 0.0036671297 + 1771900 0.0049724604 0.0016857843 0.0041331671 + 1772000 0.0056706013 0.0018515761 0.0046425751 + 1772100 0.003944834 0.0020786246 0.0040202225 + 1772200 0.0036079367 0.0024033752 0.0041791565 + 1772300 0.0045755857 0.0026162412 0.0048682873 + 1772400 0.0034933029 0.0025777384 0.0042970984 + 1772500 0.0065414067 0.0022375359 0.0054571346 + 1772600 0.0048097969 0.0023539945 0.0047213164 + 1772700 0.0053549039 0.0019986889 0.0046343057 + 1772800 0.0038070911 0.0016934381 0.0035672407 + 1772900 0.0059690059 0.0017327728 0.0046706428 + 1773000 0.004082254 0.0017151733 0.0037244077 + 1773100 0.0040046099 0.0018915948 0.0038626138 + 1773200 0.0038222815 0.0019968983 0.0038781775 + 1773300 0.0067406891 0.0017732555 0.0050909384 + 1773400 0.0051026719 0.0022672364 0.0047787078 + 1773500 0.0036955801 0.0020537126 0.0038726309 + 1773600 0.0041731451 0.0017187541 0.003772724 + 1773700 0.004499991 0.0018739643 0.0040888036 + 1773800 0.0043067617 0.0021409255 0.0042606598 + 1773900 0.0051347174 0.0023815608 0.0049088045 + 1774000 0.0064573384 0.0025505981 0.0057288194 + 1774100 0.0050917658 0.0024168508 0.0049229543 + 1774200 0.0044585869 0.0024851286 0.0046795894 + 1774300 0.0056536853 0.0023538464 0.0051365196 + 1774400 0.0056005701 0.0022998213 0.0050563519 + 1774500 0.0061285672 0.0024625455 0.0054789497 + 1774600 0.0054776543 0.0024151804 0.0051112134 + 1774700 0.0056619309 0.0025847439 0.0053714755 + 1774800 0.0062016705 0.0025874183 0.005639803 + 1774900 0.0058421881 0.002557017 0.005432469 + 1775000 0.0045985656 0.002236606 0.0044999625 + 1775100 0.0051291932 0.0024843423 0.0050088671 + 1775200 0.004364618 0.0024996764 0.0046478868 + 1775300 0.0039051873 0.0027646763 0.0046867607 + 1775400 0.0063795741 0.0025588832 0.0056988299 + 1775500 0.0063119559 0.0021169356 0.0052236013 + 1775600 0.0059617581 0.0025238383 0.0054581411 + 1775700 0.0054899653 0.0024468952 0.0051489875 + 1775800 0.0055215207 0.0023390288 0.0050566523 + 1775900 0.0050550214 0.0025284907 0.005016509 + 1776000 0.0045892131 0.0025194148 0.0047781681 + 1776100 0.0041501854 0.0027014616 0.004744131 + 1776200 0.0047754886 0.0020028362 0.004353272 + 1776300 0.0053003665 0.0018877121 0.0044964862 + 1776400 0.0044651847 0.0021418288 0.0043395369 + 1776500 0.0044603025 0.0024485244 0.0046438296 + 1776600 0.0037560289 0.0021867801 0.0040354506 + 1776700 0.0046238846 0.0019446178 0.004220436 + 1776800 0.004213288 0.0023911607 0.0044648883 + 1776900 0.0031976243 0.0026071422 0.0041809729 + 1777000 0.0047968598 0.0026668333 0.0050277877 + 1777100 0.0038244761 0.0028225083 0.0047048676 + 1777200 0.0037937198 0.002586164 0.0044533855 + 1777300 0.0046655009 0.0025263289 0.0048226301 + 1777400 0.004661397 0.0025190752 0.0048133565 + 1777500 0.0051573993 0.0024386198 0.0049770273 + 1777600 0.0047780367 0.0030031455 0.0053548355 + 1777700 0.0062093471 0.0030732274 0.0061293904 + 1777800 0.0045540466 0.0032030161 0.0054444609 + 1777900 0.0046611195 0.0032616967 0.0055558415 + 1778000 0.0048099464 0.0033393575 0.005706753 + 1778100 0.0054995684 0.002944977 0.0056517959 + 1778200 0.0061905557 0.0026740946 0.0057210087 + 1778300 0.0056353786 0.0027930353 0.0055666982 + 1778400 0.0053455046 0.0024575583 0.0050885489 + 1778500 0.004047745 0.0022540148 0.0042462643 + 1778600 0.0049280135 0.0025675526 0.0049930592 + 1778700 0.0045322632 0.002666127 0.0048968503 + 1778800 0.0046544841 0.0025353683 0.0048262472 + 1778900 0.0044000911 0.0022777715 0.0044434414 + 1779000 0.0054709604 0.0019663544 0.0046590927 + 1779100 0.0047062465 0.0019247036 0.0042410593 + 1779200 0.0038895696 0.0022424024 0.0041568 + 1779300 0.0041003082 0.0023400037 0.0043581242 + 1779400 0.003122224 0.002192082 0.0037288016 + 1779500 0.0055292436 0.0019280265 0.004649451 + 1779600 0.0042103362 0.0021639245 0.0042361993 + 1779700 0.0067593303 0.0022199682 0.0055468261 + 1779800 0.0031135546 0.0023966387 0.0039290913 + 1779900 0.0049619773 0.0018687106 0.0043109338 + 1780000 0.0053476912 0.0018497737 0.0044818404 + 1780100 0.0058108125 0.0020454815 0.0049054908 + 1780200 0.0049814562 0.0025073961 0.0049592066 + 1780300 0.0048875921 0.0025185966 0.0049242083 + 1780400 0.0043619666 0.0022252011 0.0043721066 + 1780500 0.0049801472 0.0022018527 0.0046530189 + 1780600 0.0049276642 0.0022632027 0.0046885375 + 1780700 0.0072821118 0.0023415561 0.0059257205 + 1780800 0.0046587299 0.0023160076 0.0046089762 + 1780900 0.0057270468 0.0021868433 0.0050056241 + 1781000 0.0053100277 0.0023471591 0.0049606883 + 1781100 0.0051602547 0.0026407639 0.0051805768 + 1781200 0.0075585811 0.0024489102 0.0061691494 + 1781300 0.0047285189 0.0024636041 0.004790922 + 1781400 0.0050752927 0.0023149127 0.0048129083 + 1781500 0.0065357036 0.0020783903 0.005295182 + 1781600 0.0055870461 0.0025538669 0.0053037411 + 1781700 0.0058373832 0.0028694358 0.0057425228 + 1781800 0.0033691874 0.0030648432 0.0047231151 + 1781900 0.0059878738 0.0022801759 0.0052273326 + 1782000 0.0045812605 0.0025404348 0.004795274 + 1782100 0.0065449764 0.0023287566 0.0055501122 + 1782200 0.0047833168 0.0023686811 0.0047229698 + 1782300 0.0068409392 0.0023189956 0.0056860204 + 1782400 0.0061206634 0.0027325156 0.0057450296 + 1782500 0.0055069281 0.0028051864 0.0055156276 + 1782600 0.0049337196 0.0029745736 0.0054028887 + 1782700 0.0060572787 0.0029598738 0.0059411906 + 1782800 0.0055754749 0.0030039771 0.0057481562 + 1782900 0.00652515 0.0024693664 0.0056809637 + 1783000 0.006289504 0.0020173063 0.0051129215 + 1783100 0.0043428969 0.0020575078 0.0041950273 + 1783200 0.0042364574 0.0021425806 0.0042277119 + 1783300 0.0050842706 0.0020651561 0.0045675706 + 1783400 0.0061688945 0.0022703542 0.005306607 + 1783500 0.0042145013 0.0033602784 0.0054346032 + 1783600 0.0052167031 0.0034854415 0.0060530375 + 1783700 0.0065535817 0.003167534 0.006393125 + 1783800 0.0049478334 0.0027693058 0.0052045676 + 1783900 0.0045044198 0.0023400403 0.0045570594 + 1784000 0.0040945657 0.0019824516 0.0039977456 + 1784100 0.0048018115 0.0023189907 0.0046823823 + 1784200 0.0036853516 0.0025391673 0.0043530512 + 1784300 0.0047241047 0.002068943 0.0043940883 + 1784400 0.0060395304 0.0020553237 0.0050279051 + 1784500 0.0048996812 0.0019777268 0.0043892886 + 1784600 0.0042767825 0.001967195 0.0040721739 + 1784700 0.0043782022 0.0024274982 0.0045823946 + 1784800 0.0036696254 0.0027925397 0.0045986834 + 1784900 0.0051607344 0.0022783573 0.0048184063 + 1785000 0.0042759146 0.0022080339 0.0043125856 + 1785100 0.0040806956 0.0023333323 0.0043417996 + 1785200 0.0050233404 0.0028172137 0.0052896391 + 1785300 0.0051710019 0.0034114921 0.0059565945 + 1785400 0.0061249297 0.003462239 0.0064768528 + 1785500 0.0071444001 0.0028132054 0.0063295898 + 1785600 0.0052201819 0.0032469836 0.0058162919 + 1785700 0.0045679197 0.0034563029 0.0057045758 + 1785800 0.006371421 0.0034568883 0.0065928221 + 1785900 0.0044025559 0.0036331347 0.0058000177 + 1786000 0.0056747568 0.0032167273 0.0060097717 + 1786100 0.0044482833 0.0030602478 0.0052496373 + 1786200 0.0061749483 0.0027846231 0.0058238555 + 1786300 0.0046543536 0.0021852494 0.0044760641 + 1786400 0.0040429031 0.0021625208 0.0041523871 + 1786500 0.0039926837 0.0023723509 0.0043375 + 1786600 0.0045251912 0.0024880654 0.0047153079 + 1786700 0.0033676835 0.0021443193 0.003801851 + 1786800 0.0071275007 0.0022943165 0.0058023833 + 1786900 0.0054443683 0.0026333719 0.0053130219 + 1787000 0.0046480987 0.0024945135 0.0047822496 + 1787100 0.0038736523 0.0023465056 0.0042530689 + 1787200 0.0043702918 0.0019372402 0.0040882432 + 1787300 0.0045753069 0.0018687866 0.0041206955 + 1787400 0.0045993547 0.0019468858 0.0042106307 + 1787500 0.0036721395 0.0021265306 0.0039339117 + 1787600 0.0047381551 0.0026714295 0.0050034903 + 1787700 0.0063692624 0.0020714331 0.0052063045 + 1787800 0.0050480957 0.0022112319 0.0046958416 + 1787900 0.0059645152 0.00228359 0.0052192499 + 1788000 0.0062284456 0.0020928765 0.0051584395 + 1788100 0.0049550279 0.0022546672 0.00469347 + 1788200 0.0047497157 0.0024974632 0.0048352139 + 1788300 0.004883545 0.002277743 0.0046813629 + 1788400 0.0047690289 0.002529262 0.0048765184 + 1788500 0.0045930804 0.0022623929 0.0045230496 + 1788600 0.0041145534 0.0022540232 0.0042791549 + 1788700 0.0057297777 0.0019660715 0.0047861964 + 1788800 0.0062106233 0.0020883237 0.0051451148 + 1788900 0.0048168965 0.0024904224 0.0048612386 + 1789000 0.0066720646 0.0020628324 0.0053467391 + 1789100 0.0055595363 0.0016561054 0.0043924396 + 1789200 0.0035366758 0.0019938788 0.0037345864 + 1789300 0.0062950624 0.0019099528 0.0050083038 + 1789400 0.005390661 0.0019621774 0.0046153933 + 1789500 0.0052982008 0.00184072 0.0044484282 + 1789600 0.0046340165 0.0015254903 0.0038062953 + 1789700 0.0053650023 0.0018657511 0.0045063382 + 1789800 0.0056764113 0.0025286467 0.0053225054 + 1789900 0.0059640442 0.0028336945 0.0057691225 + 1790000 0.0055700194 0.0024838164 0.0052253104 + 1790100 0.0066266938 0.0018925115 0.0051540873 + 1790200 0.0057497024 0.0020974604 0.004927392 + 1790300 0.0043426342 0.0020648547 0.004202245 + 1790400 0.0060369059 0.0016816501 0.0046529397 + 1790500 0.0042515587 0.0017756815 0.0038682455 + 1790600 0.0052347697 0.001813969 0.0043904572 + 1790700 0.0058858514 0.0017520453 0.0046489877 + 1790800 0.004288986 0.0021989975 0.0043099827 + 1790900 0.0039229725 0.0028944506 0.0048252886 + 1791000 0.0062508781 0.0023255079 0.005402112 + 1791100 0.0052110481 0.0022855325 0.0048503452 + 1791200 0.003643579 0.002472176 0.0042655001 + 1791300 0.004417113 0.0026033906 0.0047774384 + 1791400 0.0045490242 0.0027782909 0.0050172637 + 1791500 0.0049576122 0.0026151461 0.0050552208 + 1791600 0.0031474745 0.0026379926 0.0041871402 + 1791700 0.003473677 0.0025859974 0.0042956978 + 1791800 0.0051139383 0.0026600311 0.0051770476 + 1791900 0.0043073444 0.0028623952 0.0049824162 + 1792000 0.0041164567 0.0024874879 0.0045135565 + 1792100 0.0048384165 0.0024690971 0.0048505052 + 1792200 0.0081298217 0.0021309406 0.0061323373 + 1792300 0.0042194584 0.0022042249 0.0042809896 + 1792400 0.0052419579 0.0019675574 0.0045475835 + 1792500 0.0049762092 0.0024835844 0.0049328124 + 1792600 0.0055012919 0.0029609719 0.005668639 + 1792700 0.0067921371 0.0025997114 0.0059427164 + 1792800 0.0043036458 0.0020167091 0.0041349098 + 1792900 0.005603795 0.0024892864 0.0052474043 + 1793000 0.0062540866 0.0027110432 0.0057892265 + 1793100 0.0050546532 0.0021701394 0.0046579765 + 1793200 0.0047276132 0.0024940732 0.0048209453 + 1793300 0.0053447093 0.0027126427 0.0053432418 + 1793400 0.0054095087 0.002814228 0.0054767205 + 1793500 0.0041129745 0.0032604421 0.0052847967 + 1793600 0.0050352564 0.0033898781 0.0058681683 + 1793700 0.0050851983 0.0031814995 0.0056843705 + 1793800 0.0047760778 0.0027621752 0.005112901 + 1793900 0.0039936773 0.0024451121 0.0044107502 + 1794000 0.0047359123 0.0024294758 0.0047604326 + 1794100 0.0042061233 0.0024328535 0.0045030548 + 1794200 0.0048059312 0.0025799667 0.0049453859 + 1794300 0.0046132211 0.0022759787 0.0045465485 + 1794400 0.0066490626 0.0021967793 0.0054693648 + 1794500 0.0050924174 0.0019320815 0.0044385057 + 1794600 0.0040034002 0.0021522317 0.0041226553 + 1794700 0.0051065497 0.0023634646 0.0048768446 + 1794800 0.005632733 0.0024962085 0.0052685693 + 1794900 0.0045298416 0.002225933 0.0044554644 + 1795000 0.0040491323 0.0020795061 0.0040724384 + 1795100 0.0048983409 0.0019013468 0.0043122489 + 1795200 0.0040405817 0.0020045194 0.0039932432 + 1795300 0.0050364633 0.0020112284 0.0044901127 + 1795400 0.0057389492 0.0023073648 0.0051320039 + 1795500 0.0039780355 0.0025641144 0.0045220538 + 1795600 0.0049730091 0.0025085013 0.0049561542 + 1795700 0.006408733 0.0021673348 0.0053216331 + 1795800 0.004792136 0.0022256335 0.0045842629 + 1795900 0.0045630255 0.0022705129 0.004516377 + 1796000 0.0035277562 0.0026300382 0.0043663557 + 1796100 0.0045241839 0.002372766 0.0045995128 + 1796200 0.0055173256 0.0025898165 0.0053053752 + 1796300 0.0061117678 0.0025571562 0.0055652919 + 1796400 0.0073479505 0.0026268481 0.0062434175 + 1796500 0.0043183253 0.0023712776 0.0044967033 + 1796600 0.004348155 0.0016179511 0.0037580586 + 1796700 0.0056450051 0.0014752798 0.0042536807 + 1796800 0.0046353843 0.0021901388 0.004471617 + 1796900 0.006225231 0.0026176423 0.0056816232 + 1797000 0.0063068047 0.0026679007 0.0057720311 + 1797100 0.0055678998 0.0026393356 0.0053797863 + 1797200 0.0051309108 0.0024992416 0.0050246118 + 1797300 0.0044473401 0.002421524 0.0046104492 + 1797400 0.0044643018 0.0028370186 0.0050342921 + 1797500 0.0055023377 0.0024784811 0.005186663 + 1797600 0.0053411191 0.0022540413 0.0048828734 + 1797700 0.0051552838 0.0021151485 0.0046525147 + 1797800 0.0038869259 0.0024056219 0.0043187182 + 1797900 0.0030820401 0.002228797 0.0037457387 + 1798000 0.0051881965 0.0017716914 0.0043252569 + 1798100 0.0059743982 0.0016350333 0.0045755574 + 1798200 0.0061993433 0.0020781476 0.0051293869 + 1798300 0.0059991001 0.0024557678 0.0054084499 + 1798400 0.0055412849 0.0028825844 0.0056099356 + 1798500 0.0050483943 0.003015748 0.0055005045 + 1798600 0.005495592 0.0031350153 0.0058398769 + 1798700 0.0063751072 0.003091301 0.0062290491 + 1798800 0.0054270709 0.0028957027 0.0055668391 + 1798900 0.0052123766 0.0027072041 0.0052726707 + 1799000 0.0041180592 0.0027582874 0.0047851447 + 1799100 0.0043172201 0.0029182905 0.0050431723 + 1799200 0.0044023884 0.0029764053 0.0051432059 + 1799300 0.0044921479 0.0028306598 0.0050416388 + 1799400 0.0041433792 0.0027556472 0.0047949667 + 1799500 0.0049875556 0.0026105429 0.0050653555 + 1799600 0.0077610393 0.0023674491 0.0061873357 + 1799700 0.0047891382 0.0023438601 0.0047010141 + 1799800 0.0053020443 0.0020783495 0.0046879494 + 1799900 0.0049234214 0.0019104437 0.0043336902 + 1800000 0.0047790741 0.0021032157 0.0044554162 + 1800100 0.0036331741 0.0020843366 0.0038725395 + 1800200 0.0047352244 0.0020710509 0.0044016692 + 1800300 0.005294135 0.0020941923 0.0046998994 + 1800400 0.0058007625 0.0025984834 0.0054535462 + 1800500 0.005617984 0.0025262781 0.0052913796 + 1800600 0.0039413893 0.0024314475 0.00437135 + 1800700 0.0049376613 0.0020359733 0.0044662285 + 1800800 0.0033301203 0.0018367925 0.0034758361 + 1800900 0.0047274678 0.0017935172 0.0041203178 + 1801000 0.0048379544 0.0022453291 0.0046265098 + 1801100 0.0051383544 0.0023018712 0.004830905 + 1801200 0.0042695393 0.0030315824 0.0051329963 + 1801300 0.0067603929 0.0028633405 0.0061907213 + 1801400 0.0059697546 0.0028735332 0.0058117718 + 1801500 0.0042024252 0.0025750555 0.0046434367 + 1801600 0.0048701801 0.002174067 0.0045711088 + 1801700 0.0049899462 0.0022169824 0.0046729716 + 1801800 0.0057771597 0.0020375094 0.0048809552 + 1801900 0.0056149879 0.0019598968 0.0047235236 + 1802000 0.0036617644 0.0024695573 0.004271832 + 1802100 0.0056811563 0.0020365192 0.0048327134 + 1802200 0.0053013932 0.0016783998 0.0042876793 + 1802300 0.0042807333 0.0020946101 0.0042015336 + 1802400 0.0030761482 0.0027197703 0.004233812 + 1802500 0.0044610182 0.0023432902 0.0045389476 + 1802600 0.0038763209 0.002305101 0.0042129777 + 1802700 0.0045107335 0.0019496306 0.0041697572 + 1802800 0.006385859 0.0016505536 0.0047935936 + 1802900 0.0049579119 0.0023155467 0.004755769 + 1803000 0.007050688 0.0025810672 0.0060513277 + 1803100 0.0053073952 0.0028196259 0.0054318595 + 1803200 0.0059726292 0.0027635339 0.0057031873 + 1803300 0.0060180776 0.002857788 0.0058198105 + 1803400 0.0047705381 0.0023731285 0.0047211277 + 1803500 0.0074020479 0.0020872728 0.0057304682 + 1803600 0.005030685 0.0022777715 0.0047538118 + 1803700 0.00457286 0.0027636967 0.0050144013 + 1803800 0.0042654121 0.0027562982 0.0048556807 + 1803900 0.0048499235 0.0024959102 0.004882982 + 1804000 0.0044309401 0.0021332478 0.0043141011 + 1804100 0.0045031058 0.0025722384 0.0047886108 + 1804200 0.0058344395 0.0026002066 0.0054718448 + 1804300 0.0052151495 0.0022070644 0.0047738958 + 1804400 0.0051989006 0.0023666234 0.0049254572 + 1804500 0.0050393713 0.002613227 0.0050935425 + 1804600 0.0045627497 0.0026765674 0.0049222957 + 1804700 0.0042077504 0.0029243555 0.0049953576 + 1804800 0.0057969629 0.0027573975 0.0056105901 + 1804900 0.0059594583 0.0032498059 0.0061829768 + 1805000 0.0055313757 0.0034137522 0.0061362261 + 1805100 0.005438106 0.0032742994 0.0059508672 + 1805200 0.0057383228 0.0031829228 0.0060072536 + 1805300 0.006237904 0.0031414153 0.0062116336 + 1805400 0.0049817683 0.0033836116 0.0058355757 + 1805500 0.0050987143 0.0034076224 0.0059171458 + 1805600 0.0061698457 0.0030538861 0.006090607 + 1805700 0.0047790807 0.0027976751 0.0051498789 + 1805800 0.0048309245 0.0028614727 0.0052391933 + 1805900 0.004706441 0.0030729632 0.0053894146 + 1806000 0.0041337097 0.0037866101 0.0058211703 + 1806100 0.0040957301 0.004015511 0.0060313781 + 1806200 0.0056328146 0.0030470795 0.0058194804 + 1806300 0.0044991058 0.0027411549 0.0049555585 + 1806400 0.0047439478 0.0029891761 0.0053240879 + 1806500 0.0048563413 0.0029672809 0.0053575113 + 1806600 0.0049094802 0.0028120515 0.0052284363 + 1806700 0.0047098824 0.0025304342 0.0048485794 + 1806800 0.0049030447 0.0024805041 0.0048937215 + 1806900 0.0052827546 0.0027779274 0.0053780332 + 1807000 0.0058354393 0.0028757122 0.0057478425 + 1807100 0.003983775 0.0030556651 0.0050164294 + 1807200 0.0027642773 0.0030092899 0.0043698326 + 1807300 0.0046877138 0.0027178962 0.0050251303 + 1807400 0.0035589686 0.0023291201 0.0040807999 + 1807500 0.0063153338 0.0023452137 0.0054535421 + 1807600 0.0031179518 0.0026524695 0.0041870864 + 1807700 0.0037822925 0.0023258721 0.0041874692 + 1807800 0.0044255119 0.0023930883 0.0045712699 + 1807900 0.0054514361 0.0019036431 0.0045867718 + 1808000 0.0048670089 0.0016465127 0.0040419937 + 1808100 0.006382617 0.0018253762 0.0049668205 + 1808200 0.0054746023 0.0024120266 0.0051065574 + 1808300 0.0057489736 0.0022222572 0.0050518301 + 1808400 0.0062400488 0.0022291045 0.0053003785 + 1808500 0.0051033353 0.0021942179 0.0047060157 + 1808600 0.0061352781 0.0023033122 0.0053230194 + 1808700 0.0048054119 0.0022359599 0.0046011236 + 1808800 0.0036561264 0.0026253442 0.004424844 + 1808900 0.0040567113 0.0030081741 0.0050048367 + 1809000 0.0061695427 0.0025226723 0.0055592441 + 1809100 0.0071837656 0.0020580988 0.0055938585 + 1809200 0.0056956086 0.0024984009 0.0053017082 + 1809300 0.0051972427 0.0027185435 0.0052765614 + 1809400 0.0079311974 0.0027442756 0.0066479118 + 1809500 0.0049998155 0.003119772 0.0055806187 + 1809600 0.0069964643 0.0029875658 0.0064311381 + 1809700 0.0063042904 0.0024823795 0.0055852725 + 1809800 0.005637542 0.0029733828 0.0057481105 + 1809900 0.0060714202 0.0028060165 0.0057942937 + 1810000 0.0050768332 0.0026431881 0.005141942 + 1810100 0.0045561462 0.0023121113 0.0045545895 + 1810200 0.0042086515 0.0022474412 0.0043188868 + 1810300 0.0044359051 0.0024022058 0.0045855029 + 1810400 0.0050926811 0.0024792052 0.0049857592 + 1810500 0.0032949713 0.0027228062 0.0043445499 + 1810600 0.006193523 0.0025635152 0.0056118897 + 1810700 0.0054281214 0.0026447226 0.0053163761 + 1810800 0.0067506687 0.0025418124 0.0058644071 + 1810900 0.0060839581 0.0025406905 0.0055351387 + 1811000 0.0048144367 0.0027323007 0.0051019062 + 1811100 0.0049938575 0.0027521135 0.0052100277 + 1811200 0.00390463 0.0027507189 0.004672529 + 1811300 0.0049517444 0.0027146902 0.0051518769 + 1811400 0.0052000821 0.0021609212 0.0047203366 + 1811500 0.0063498616 0.0024710959 0.0055964184 + 1811600 0.0050803669 0.0029993646 0.0054998577 + 1811700 0.0047756192 0.0027249939 0.005075494 + 1811800 0.0068853768 0.0023880439 0.0057769403 + 1811900 0.004555979 0.0027325448 0.0049749407 + 1812000 0.0053250845 0.0023328951 0.0049538351 + 1812100 0.0059492168 0.002518421 0.0054465511 + 1812200 0.0046827926 0.0026257674 0.0049305793 + 1812300 0.0051616054 0.0025007015 0.0050411791 + 1812400 0.0052380017 0.0021615585 0.0047396375 + 1812500 0.0044126591 0.002665687 0.0048375426 + 1812600 0.0042683156 0.0031074861 0.0052082977 + 1812700 0.005323682 0.0031201705 0.0057404202 + 1812800 0.0055819242 0.0029026502 0.0056500036 + 1812900 0.0056904979 0.0022598696 0.0050606615 + 1813000 0.0069260468 0.0019485827 0.0053574964 + 1813100 0.0048736966 0.0024965992 0.0048953717 + 1813200 0.0043880241 0.0026394422 0.0047991728 + 1813300 0.0058141021 0.002507025 0.0053686534 + 1813400 0.005709122 0.002700422 0.0055103805 + 1813500 0.0069937004 0.0019116894 0.0053539013 + 1813600 0.0047739814 0.0021839834 0.0045336774 + 1813700 0.0045464559 0.0022655343 0.004503243 + 1813800 0.0056461766 0.0023303373 0.0051093148 + 1813900 0.004352647 0.0027811815 0.0049234999 + 1814000 0.0044952028 0.0026657318 0.0048782144 + 1814100 0.0046573603 0.0025483313 0.0048406258 + 1814200 0.0068988388 0.0025475036 0.0059430258 + 1814300 0.0060974564 0.0026201891 0.0056212809 + 1814400 0.0040782139 0.0025123895 0.0045196354 + 1814500 0.0051203506 0.0027590515 0.005279224 + 1814600 0.0062988146 0.0029661 0.0060662977 + 1814700 0.0053368726 0.0027230676 0.0053498096 + 1814800 0.0051942452 0.0025613875 0.00511793 + 1814900 0.0046503534 0.0027056294 0.0049944752 + 1815000 0.0050202285 0.0027555903 0.005226484 + 1815100 0.0046419172 0.0033262235 0.0056109171 + 1815200 0.0048453775 0.003650058 0.0060348922 + 1815300 0.0055045876 0.0031494782 0.0058587674 + 1815400 0.0060460494 0.0025753044 0.0055510943 + 1815500 0.0053716556 0.0030874821 0.0057313439 + 1815600 0.0055977108 0.0026731943 0.0054283176 + 1815700 0.0056485114 0.0023216996 0.0051018263 + 1815800 0.0052491614 0.001975069 0.0045586406 + 1815900 0.0030587047 0.0018193543 0.0033248105 + 1816000 0.0035629556 0.001642153 0.0033957952 + 1816100 0.0052583811 0.0016951501 0.0042832595 + 1816200 0.0063133885 0.0017456907 0.0048530617 + 1816300 0.0050960136 0.0019174212 0.0044256154 + 1816400 0.0042485794 0.00238597 0.0044770677 + 1816500 0.0057376651 0.0026643009 0.0054883079 + 1816600 0.0045847907 0.0025752483 0.004831825 + 1816700 0.0047144177 0.0025976475 0.0049180249 + 1816800 0.0057581802 0.0024717067 0.005305811 + 1816900 0.0080771832 0.0018970414 0.00587253 + 1817000 0.0053785857 0.0022783972 0.0049256699 + 1817100 0.0054556602 0.0027939516 0.0054791593 + 1817200 0.0027870945 0.0031233444 0.0044951174 + 1817300 0.0066350469 0.002494526 0.0057602131 + 1817400 0.0054674496 0.0023148108 0.0050058211 + 1817500 0.005389846 0.0028802171 0.0055330319 + 1817600 0.0039749506 0.0028155659 0.0047719869 + 1817700 0.0059075619 0.0021050701 0.0050126982 + 1817800 0.0037151036 0.0021345158 0.0039630433 + 1817900 0.0041381898 0.0021953792 0.0042321445 + 1818000 0.0045639526 0.0024114218 0.0046577422 + 1818100 0.0056582819 0.0022595447 0.0050444803 + 1818200 0.0061542921 0.0019802879 0.0050093536 + 1818300 0.0035436361 0.0022900333 0.0040341667 + 1818400 0.0030906352 0.0022577108 0.0037788828 + 1818500 0.005299035 0.0021427952 0.004750914 + 1818600 0.0044605286 0.0030211344 0.0052165509 + 1818700 0.0084252615 0.0029141882 0.0070609966 + 1818800 0.0052654956 0.0028931681 0.0054847792 + 1818900 0.0064927064 0.0026932096 0.0058888386 + 1819000 0.0042155278 0.0031478047 0.0052226348 + 1819100 0.0061241663 0.0027834883 0.0057977264 + 1819200 0.0047188444 0.0025616591 0.0048842153 + 1819300 0.0046865926 0.0022295961 0.0045362784 + 1819400 0.0047011684 0.0020899192 0.0044037755 + 1819500 0.0046125463 0.0017626294 0.004032867 + 1819600 0.006569472 0.001940279 0.005173691 + 1819700 0.0050470459 0.0020577459 0.0045418388 + 1819800 0.0046823175 0.0018815438 0.0041861219 + 1819900 0.0047398166 0.0018877692 0.0042206477 + 1820000 0.0055046266 0.0020156473 0.0047249557 + 1820100 0.0052743619 0.0019628005 0.0045587755 + 1820200 0.0036075098 0.0020577587 0.0038333299 + 1820300 0.0040706159 0.0018824593 0.0038859656 + 1820400 0.0039578743 0.0019991012 0.0039471174 + 1820500 0.0048044345 0.0017974638 0.0041621464 + 1820600 0.0047396822 0.0021966943 0.0045295066 + 1820700 0.004221107 0.0024852846 0.0045628607 + 1820800 0.0057762266 0.0021183352 0.0049613217 + 1820900 0.0049292566 0.0020930433 0.0045191617 + 1821000 0.0051252232 0.0022882071 0.0048107779 + 1821100 0.0044850187 0.002830597 0.0050380671 + 1821200 0.0061189455 0.002898423 0.0059100915 + 1821300 0.0045778032 0.0025490465 0.004802184 + 1821400 0.0072489223 0.0024855257 0.0060533546 + 1821500 0.0050077595 0.0029467603 0.005411517 + 1821600 0.0048030003 0.002704961 0.0050689378 + 1821700 0.0061186786 0.0024799416 0.0054914787 + 1821800 0.0054033741 0.0030831135 0.0057425867 + 1821900 0.0053313872 0.0036172759 0.006241318 + 1822000 0.0064464205 0.0033732684 0.0065461159 + 1822100 0.00719653 0.0030434248 0.0065854669 + 1822200 0.0050603549 0.0027627911 0.0052534345 + 1822300 0.0041442588 0.0029611955 0.0050009479 + 1822400 0.0057457721 0.0033040127 0.00613201 + 1822500 0.0060276161 0.0034863523 0.0064530696 + 1822600 0.0049598557 0.0035633034 0.0060044824 + 1822700 0.0048481249 0.0035280276 0.0059142141 + 1822800 0.0057377127 0.0030747693 0.0058987998 + 1822900 0.0047174951 0.0030567746 0.0053786667 + 1823000 0.004346437 0.0032114091 0.005350671 + 1823100 0.0044479236 0.003055827 0.0052450394 + 1823200 0.0053455065 0.0027133252 0.0053443167 + 1823300 0.0049241651 0.0024630671 0.0048866796 + 1823400 0.0059108284 0.0023917394 0.0053009753 + 1823500 0.0061144291 0.0024484684 0.0054579139 + 1823600 0.0045269391 0.0023719378 0.0046000407 + 1823700 0.0054659545 0.0026420181 0.0053322926 + 1823800 0.0056600927 0.0025921534 0.0053779802 + 1823900 0.0060232515 0.0023613412 0.0053259103 + 1824000 0.0043007121 0.0023806413 0.004497398 + 1824100 0.0068658427 0.0024411754 0.0058204573 + 1824200 0.0057992292 0.0031316194 0.0059859275 + 1824300 0.0042782816 0.0029725392 0.0050782559 + 1824400 0.0043930448 0.0022916297 0.0044538315 + 1824500 0.0066307409 0.002382041 0.0056456088 + 1824600 0.0046970932 0.0029140734 0.0052259239 + 1824700 0.0052341104 0.0027628339 0.0053389976 + 1824800 0.0057090688 0.0023714315 0.0051813638 + 1824900 0.0041767944 0.0029039131 0.0049596791 + 1825000 0.0047985349 0.0032829106 0.0056446895 + 1825100 0.0054354559 0.0030923425 0.005767606 + 1825200 0.0047763358 0.0026897147 0.0050405674 + 1825300 0.0046690722 0.0026267875 0.0049248464 + 1825400 0.0053295392 0.0025708265 0.0051939591 + 1825500 0.0052039664 0.0026326981 0.0051940254 + 1825600 0.005168094 0.0028084954 0.0053521666 + 1825700 0.0052807938 0.0031881972 0.0057873379 + 1825800 0.0063996855 0.0031917795 0.0063416247 + 1825900 0.0049656207 0.0025723001 0.0050163165 + 1826000 0.0044579691 0.0026210072 0.0048151639 + 1826100 0.0039711717 0.0027422528 0.0046968139 + 1826200 0.0042724386 0.0027052279 0.0048080688 + 1826300 0.0049160374 0.0022891764 0.0047087886 + 1826400 0.0052075253 0.0021843586 0.0047474375 + 1826500 0.0049262254 0.0024342733 0.0048588998 + 1826600 0.0062682518 0.0025638302 0.0056489854 + 1826700 0.005087883 0.0024378312 0.0049420235 + 1826800 0.0066816683 0.0026729123 0.005961546 + 1826900 0.0058840259 0.0028664687 0.0057625127 + 1827000 0.0043170339 0.0031289596 0.0052537497 + 1827100 0.0033102255 0.0030834146 0.0047126662 + 1827200 0.005304711 0.003083488 0.0056944004 + 1827300 0.0048934582 0.00292277 0.0053312689 + 1827400 0.0070284222 0.0026549206 0.0061142221 + 1827500 0.0057499984 0.0026277568 0.0054578341 + 1827600 0.0035804456 0.0026635442 0.0044257947 + 1827700 0.0061231124 0.0025581302 0.0055718496 + 1827800 0.0061432991 0.0024547061 0.0054783611 + 1827900 0.005415717 0.0018447313 0.0045102795 + 1828000 0.0042125419 0.0018357509 0.0039091114 + 1828100 0.0044047823 0.0020566684 0.0042246472 + 1828200 0.0044642671 0.0020736408 0.0042708973 + 1828300 0.0042333244 0.0025415446 0.0046251339 + 1828400 0.004676091 0.0026121607 0.0049136743 + 1828500 0.0047821278 0.002265139 0.0046188425 + 1828600 0.0056606687 0.0023629358 0.0051490462 + 1828700 0.0042643567 0.0023600494 0.0044589125 + 1828800 0.0055143145 0.0019632792 0.0046773558 + 1828900 0.0053505859 0.0022500497 0.0048835412 + 1829000 0.0054430077 0.0026329033 0.0053118836 + 1829100 0.0037750871 0.0030123678 0.0048704185 + 1829200 0.0051351073 0.0028976646 0.0054251002 + 1829300 0.003705895 0.0023914385 0.0042154337 + 1829400 0.0052122035 0.0022645812 0.0048299626 + 1829500 0.0050618367 0.0021924018 0.0046837746 + 1829600 0.0037012563 0.0027290508 0.0045507629 + 1829700 0.0057358305 0.0034644657 0.0062875698 + 1829800 0.0059052509 0.0033467078 0.0062531985 + 1829900 0.0050542655 0.0027401648 0.0052278111 + 1830000 0.0057027576 0.0021682464 0.0049750724 + 1830100 0.0048569274 0.0022625129 0.0046530318 + 1830200 0.0058706701 0.0026763652 0.0055658356 + 1830300 0.0059568705 0.0029857847 0.0059176819 + 1830400 0.0045320701 0.0029337449 0.0051643732 + 1830500 0.0059118425 0.0020544785 0.0049642135 + 1830600 0.0052206447 0.002079378 0.0046489141 + 1830700 0.0053053301 0.0024817254 0.0050929425 + 1830800 0.0042621922 0.0027185603 0.0048163581 + 1830900 0.0043277719 0.0023677986 0.0044978738 + 1831000 0.0042477281 0.0021741656 0.0042648442 + 1831100 0.0054975051 0.0021475996 0.0048534029 + 1831200 0.0055499534 0.0022680067 0.0049996244 + 1831300 0.0058004202 0.0021802601 0.0050351544 + 1831400 0.0045817929 0.0020443244 0.0042994256 + 1831500 0.005024284 0.0019508498 0.0044237395 + 1831600 0.0063923386 0.0016479732 0.0047942023 + 1831700 0.0053891001 0.0021805845 0.0048330323 + 1831800 0.0042736062 0.0020027254 0.004106141 + 1831900 0.0058263068 0.0019485808 0.0048162161 + 1832000 0.0048090669 0.0024221702 0.0047891328 + 1832100 0.0058706145 0.0021870863 0.0050765294 + 1832200 0.0060252898 0.0020606339 0.0050262062 + 1832300 0.0057948786 0.0019945458 0.0048467126 + 1832400 0.0046757112 0.0026301785 0.0049315051 + 1832500 0.0051749671 0.0024789905 0.0050260446 + 1832600 0.0043664165 0.0020048783 0.0041539739 + 1832700 0.0045591068 0.0018953011 0.0041392364 + 1832800 0.0046872018 0.0018004993 0.0041074814 + 1832900 0.0037222815 0.0021428358 0.0039748962 + 1833000 0.005116769 0.0020980478 0.0046164576 + 1833100 0.0042426721 0.0022351938 0.004323384 + 1833200 0.0059273852 0.0018062704 0.0047236553 + 1833300 0.0050169575 0.0015648148 0.0040340985 + 1833400 0.0036444582 0.0018204961 0.0036142529 + 1833500 0.0041192498 0.0016766313 0.0037040746 + 1833600 0.0060917824 0.0013252966 0.0043235957 + 1833700 0.0039343989 0.0015139989 0.0034504609 + 1833800 0.0045641837 0.0016012208 0.0038476549 + 1833900 0.0038779444 0.0015620393 0.0034707151 + 1834000 0.0034397932 0.0014937013 0.0031867245 + 1834100 0.0041536156 0.0016923532 0.0037367109 + 1834200 0.0061741431 0.0020231792 0.0050620152 + 1834300 0.00700956 0.0025129784 0.0059629962 + 1834400 0.004511051 0.00277052 0.0049908029 + 1834500 0.0066063277 0.0023224758 0.0055740277 + 1834600 0.0063307989 0.0021381683 0.0052541084 + 1834700 0.0053347989 0.002864189 0.0054899104 + 1834800 0.003810059 0.0031292314 0.0050044948 + 1834900 0.0039350338 0.0023325102 0.0042692847 + 1835000 0.0039253816 0.0023004742 0.0042324979 + 1835100 0.0043493171 0.0026065013 0.0047471809 + 1835200 0.0059382305 0.0020238556 0.0049465784 + 1835300 0.0055512799 0.0020961808 0.0048284514 + 1835400 0.004560111 0.0025052234 0.0047496531 + 1835500 0.0061620989 0.0021435891 0.0051764971 + 1835600 0.0060534744 0.0020609768 0.0050404213 + 1835700 0.0050988575 0.0023864775 0.0048960715 + 1835800 0.0040857965 0.0029020823 0.0049130602 + 1835900 0.0056307064 0.0022661865 0.0050375498 + 1836000 0.0047747567 0.0020853721 0.0044354477 + 1836100 0.0040440968 0.002506713 0.0044971668 + 1836200 0.0067721313 0.002122843 0.0054560014 + 1836300 0.0061105582 0.0023768815 0.0053844218 + 1836400 0.0043726814 0.0021686447 0.0043208239 + 1836500 0.0061544343 0.0019122589 0.0049413945 + 1836600 0.0043637841 0.0021561815 0.0043039815 + 1836700 0.0053660962 0.0020910825 0.004732208 + 1836800 0.0057512497 0.0020633396 0.0048940328 + 1836900 0.0031473321 0.0024506435 0.003999721 + 1837000 0.0044484178 0.0024652237 0.0046546794 + 1837100 0.0043878205 0.0023345958 0.0044942262 + 1837200 0.0053451094 0.002484964 0.00511576 + 1837300 0.0048560547 0.0028732618 0.0052633512 + 1837400 0.0051813158 0.0027726192 0.005322798 + 1837500 0.0050665778 0.0026530164 0.0051467226 + 1837600 0.0042243288 0.0026143297 0.0046934915 + 1837700 0.0058733006 0.0022217371 0.0051125023 + 1837800 0.0059696299 0.0019280442 0.0048662214 + 1837900 0.0066097859 0.0022531339 0.005506388 + 1838000 0.0045753028 0.0024758607 0.0047277675 + 1838100 0.0050992566 0.0025984728 0.0051082631 + 1838200 0.0071713953 0.0027416285 0.0062712996 + 1838300 0.0046583695 0.0027351704 0.0050279617 + 1838400 0.0048769053 0.0025654867 0.0049658385 + 1838500 0.0059869798 0.0024622399 0.0054089565 + 1838600 0.0046443328 0.0024363716 0.0047222541 + 1838700 0.0059914538 0.0025693318 0.0055182505 + 1838800 0.0041579393 0.0025931373 0.004639623 + 1838900 0.0052373178 0.0024469232 0.0050246656 + 1839000 0.0053400258 0.0029002151 0.005528509 + 1839100 0.0052395177 0.0031068153 0.0056856404 + 1839200 0.0037071654 0.0029448845 0.0047695049 + 1839300 0.0056261925 0.0025735682 0.0053427098 + 1839400 0.0059516351 0.0023083108 0.0052376312 + 1839500 0.0038140735 0.00212545 0.0040026893 + 1839600 0.0049929643 0.0022773455 0.0047348201 + 1839700 0.004022392 0.0018980272 0.0038777983 + 1839800 0.0045130695 0.0015877761 0.0038090525 + 1839900 0.0062050786 0.001686639 0.0047407012 + 1840000 0.0035642651 0.001629771 0.0033840578 + 1840100 0.0042978546 0.0018277923 0.0039431426 + 1840200 0.0061407046 0.0019549632 0.0049773412 + 1840300 0.0041827911 0.0018496769 0.0039083943 + 1840400 0.0063945954 0.0023121147 0.0054594546 + 1840500 0.0058929146 0.0025536802 0.0054540991 + 1840600 0.0043325298 0.0027928762 0.0049252932 + 1840700 0.0040040946 0.002453111 0.0044238764 + 1840800 0.0067747652 0.0022475444 0.0055819991 + 1840900 0.0065009975 0.0022714826 0.0054711923 + 1841000 0.0050763861 0.0026430654 0.0051415992 + 1841100 0.0042768045 0.0024847768 0.0045897666 + 1841200 0.0063417284 0.0020045203 0.0051258397 + 1841300 0.0070350604 0.0021580166 0.0056205854 + 1841400 0.0052567241 0.0025163768 0.0051036706 + 1841500 0.0055590012 0.0023723552 0.0051084261 + 1841600 0.0053868186 0.0024026588 0.0050539836 + 1841700 0.0037579794 0.0025671645 0.0044167949 + 1841800 0.0043316275 0.0025265842 0.0046585571 + 1841900 0.0057632867 0.0018918011 0.0047284188 + 1842000 0.0062377117 0.0018049957 0.0048751194 + 1842100 0.0048405258 0.0018059836 0.0041884299 + 1842200 0.0053049944 0.0019553899 0.0045664419 + 1842300 0.0036553117 0.0024211139 0.0042202126 + 1842400 0.0048940481 0.0022653279 0.0046741172 + 1842500 0.0067878786 0.0019725053 0.0053134143 + 1842600 0.0042258662 0.0021923432 0.0042722617 + 1842700 0.003957031 0.0021651342 0.0041127353 + 1842800 0.0066389383 0.0016018918 0.0048694942 + 1842900 0.0042927053 0.0016011071 0.003713923 + 1843000 0.0033250501 0.0018255905 0.0034621386 + 1843100 0.0050949771 0.0018026786 0.0043103626 + 1843200 0.006508666 0.0018330325 0.0050365166 + 1843300 0.0033278315 0.001954456 0.0035923731 + 1843400 0.0048972395 0.0022044465 0.0046148065 + 1843500 0.0048153418 0.0020468086 0.0044168596 + 1843600 0.0037205933 0.0014914504 0.0033226799 + 1843700 0.0047488901 0.0013849712 0.0037223155 + 1843800 0.0033948239 0.0019311101 0.0036020001 + 1843900 0.0045488295 0.0020181184 0.0042569955 + 1844000 0.0045874363 0.001811521 0.0040693998 + 1844100 0.0052658303 0.0021204679 0.0047122437 + 1844200 0.0045968924 0.0022905404 0.0045530734 + 1844300 0.0060474182 0.0021894167 0.0051658804 + 1844400 0.0049932763 0.0025474994 0.0050051276 + 1844500 0.0048293397 0.0023694126 0.0047463532 + 1844600 0.0052131184 0.0024645913 0.005030423 + 1844700 0.0061719866 0.0022514869 0.0052892615 + 1844800 0.0050334766 0.0021639955 0.0046414097 + 1844900 0.0055293568 0.0024199037 0.005141384 + 1845000 0.0044610265 0.0029095308 0.0051051923 + 1845100 0.0042041923 0.0025764383 0.0046456892 + 1845200 0.0051668084 0.0023306589 0.0048736974 + 1845300 0.005157825 0.0025926176 0.0051312346 + 1845400 0.0054317547 0.0022402149 0.0049136566 + 1845500 0.0041568267 0.0023582423 0.0044041804 + 1845600 0.0057886644 0.0025178985 0.0053670068 + 1845700 0.0059044547 0.0024941627 0.0054002615 + 1845800 0.0059969151 0.0023975717 0.0053491783 + 1845900 0.0047543229 0.002571547 0.0049115653 + 1846000 0.0039368594 0.0025859241 0.0045235971 + 1846100 0.004775652 0.0022191813 0.0045696975 + 1846200 0.0037914846 0.0019438728 0.0038099942 + 1846300 0.0043008757 0.0016148405 0.0037316777 + 1846400 0.0044770452 0.0021008033 0.004304349 + 1846500 0.0051053014 0.0023464521 0.0048592176 + 1846600 0.0054041435 0.002645248 0.0053050999 + 1846700 0.0050141443 0.0024578393 0.0049257384 + 1846800 0.0055054676 0.0026416981 0.0053514204 + 1846900 0.0044873244 0.003125533 0.005334138 + 1847000 0.0058283333 0.0032702439 0.0061388767 + 1847100 0.0042937873 0.0033463131 0.0054596616 + 1847200 0.0057513306 0.0030710728 0.0059018058 + 1847300 0.006793525 0.002961628 0.0063053161 + 1847400 0.0038773767 0.0029170547 0.0048254511 + 1847500 0.0041149712 0.0029708609 0.0049961983 + 1847600 0.0039325399 0.0028078588 0.0047434058 + 1847700 0.006893422 0.0027425911 0.0061354473 + 1847800 0.0051960168 0.0031100695 0.005667484 + 1847900 0.0051463719 0.0031311171 0.005664097 + 1848000 0.0061257952 0.002339528 0.0053545678 + 1848100 0.0054010959 0.0022581169 0.0049164688 + 1848200 0.0047333457 0.0022860651 0.0046157587 + 1848300 0.0057888656 0.002194388 0.0050435953 + 1848400 0.0054622628 0.0023915895 0.005080047 + 1848500 0.0059248318 0.0029236314 0.0058397596 + 1848600 0.0040095068 0.0030648882 0.0050383173 + 1848700 0.0059111071 0.0023688248 0.0052781979 + 1848800 0.0054172868 0.0024390272 0.0051053481 + 1848900 0.0070208916 0.0025671618 0.0060227569 + 1849000 0.004724782 0.0025884869 0.0049139655 + 1849100 0.0053265164 0.0026514622 0.005273107 + 1849200 0.0033529411 0.0023697388 0.0040200145 + 1849300 0.0044540227 0.0023620306 0.0045542449 + 1849400 0.0055284968 0.0022315086 0.0049525656 + 1849500 0.0036457713 0.0022485933 0.0040429964 + 1849600 0.0047417136 0.0021222733 0.0044560854 + 1849700 0.0057860543 0.001774611 0.0046224346 + 1849800 0.0053944584 0.002060481 0.004715566 + 1849900 0.0038387652 0.0026056477 0.0044950399 + 1850000 0.0049164014 0.0024579002 0.0048776915 + 1850100 0.0058634625 0.0019565724 0.0048424953 + 1850200 0.0073364201 0.0020673989 0.0056782931 + 1850300 0.0042555208 0.0021681261 0.0042626403 + 1850400 0.0056087858 0.0023942487 0.005154823 + 1850500 0.0057459801 0.0029505264 0.0057786259 + 1850600 0.0042882882 0.0029515747 0.0050622165 + 1850700 0.0046174863 0.0024875534 0.0047602225 + 1850800 0.0036369905 0.0025078208 0.0042979021 + 1850900 0.0044561347 0.0022503581 0.004443612 + 1851000 0.0044843582 0.0023873753 0.0045945203 + 1851100 0.0049394703 0.0023392001 0.0047703456 + 1851200 0.0042230222 0.0023102304 0.0043887491 + 1851300 0.0071762252 0.0022007768 0.0057328252 + 1851400 0.0042970609 0.0026495172 0.0047644768 + 1851500 0.0058965459 0.0026745763 0.0055767825 + 1851600 0.0054059417 0.0025722442 0.0052329812 + 1851700 0.0066319401 0.0026965125 0.0059606705 + 1851800 0.0066072348 0.0030885972 0.0063405956 + 1851900 0.0056313101 0.0030698164 0.0058414768 + 1852000 0.0053502195 0.0031426859 0.005775997 + 1852100 0.0058557708 0.0026686303 0.0055507675 + 1852200 0.0038576923 0.0026235122 0.0045222201 + 1852300 0.0038111654 0.0024515931 0.0043274011 + 1852400 0.0052085258 0.0021442695 0.0047078407 + 1852500 0.005401477 0.0026355922 0.0052941317 + 1852600 0.006985303 0.0027080225 0.0061461013 + 1852700 0.0056859042 0.0027272822 0.0055258131 + 1852800 0.0057359892 0.0031463233 0.0059695055 + 1852900 0.0046615671 0.0029153198 0.0052096849 + 1853000 0.0044095797 0.0024852492 0.0046555892 + 1853100 0.0046837822 0.0031883826 0.0054936816 + 1853200 0.0049301988 0.0035737318 0.006000314 + 1853300 0.0065595738 0.0029043468 0.006132887 + 1853400 0.0055032558 0.0024367131 0.0051453468 + 1853500 0.0038057409 0.0023078545 0.0041809926 + 1853600 0.0045012882 0.0023006524 0.0045161302 + 1853700 0.0052065069 0.002500923 0.0050635006 + 1853800 0.0042202466 0.0019984945 0.0040756472 + 1853900 0.004339723 0.0020389863 0.0041749437 + 1854000 0.0041196616 0.0021069941 0.00413464 + 1854100 0.0061360722 0.0020723062 0.0050924043 + 1854200 0.0040347251 0.0027041865 0.0046900278 + 1854300 0.0054632755 0.0025811143 0.0052700702 + 1854400 0.0064021063 0.002334433 0.0054854697 + 1854500 0.0058030263 0.0022148894 0.0050710664 + 1854600 0.0049767724 0.0018175855 0.0042670906 + 1854700 0.0055312395 0.0016646701 0.004387077 + 1854800 0.0045300512 0.0023492809 0.0045789155 + 1854900 0.004640963 0.0023878105 0.0046720345 + 1855000 0.0048504668 0.0021932125 0.0045805516 + 1855100 0.004647965 0.0024363792 0.0047240495 + 1855200 0.0078412364 0.002015546 0.0058749045 + 1855300 0.0049130905 0.002331263 0.0047494248 + 1855400 0.0051127284 0.0022695687 0.0047859897 + 1855500 0.0079244979 0.0022374752 0.006137814 + 1855600 0.0042753444 0.0024377542 0.0045420253 + 1855700 0.0049556914 0.0024035775 0.0048427068 + 1855800 0.0036937537 0.0022895355 0.0041075549 + 1855900 0.005991489 0.0027525034 0.0057014394 + 1856000 0.004689148 0.0033877572 0.0056956973 + 1856100 0.0062211485 0.0031845146 0.0062464862 + 1856200 0.0053055331 0.0033115284 0.0059228455 + 1856300 0.0057074055 0.0039510784 0.0067601921 + 1856400 0.0055782585 0.0037769536 0.0065225026 + 1856500 0.0048280099 0.0033241821 0.0057004682 + 1856600 0.0069805862 0.0026401759 0.0060759332 + 1856700 0.0064498861 0.0022167681 0.0053913214 + 1856800 0.0058621504 0.0028292454 0.0057145225 + 1856900 0.0037879703 0.0031138749 0.0049782665 + 1857000 0.003467584 0.0026480154 0.0043547169 + 1857100 0.0047823127 0.0022996061 0.0046534006 + 1857200 0.0038895265 0.0028356516 0.004750028 + 1857300 0.0043347494 0.002869831 0.0050033405 + 1857400 0.0054685304 0.0023681724 0.0050597147 + 1857500 0.0060147552 0.0022652952 0.0052256825 + 1857600 0.0045478284 0.002851587 0.0050899712 + 1857700 0.0053586913 0.0027302396 0.0053677205 + 1857800 0.0070846109 0.0017387752 0.0052257322 + 1857900 0.0064475545 0.0014661036 0.0046395093 + 1858000 0.0043763018 0.0019593739 0.0041133349 + 1858100 0.0053690229 0.0021017813 0.0047443472 + 1858200 0.0046563575 0.0025059352 0.0047977362 + 1858300 0.0041396473 0.002555403 0.0045928856 + 1858400 0.0047728038 0.0026282998 0.0049774142 + 1858500 0.006470428 0.0030093594 0.0061940232 + 1858600 0.0047605149 0.0031440111 0.005487077 + 1858700 0.0077366335 0.0030706843 0.0068785585 + 1858800 0.0048647783 0.0030753872 0.0054697703 + 1858900 0.004820027 0.0028120882 0.0051844453 + 1859000 0.0063891291 0.0026005306 0.0057451801 + 1859100 0.0051560952 0.0030488979 0.0055866636 + 1859200 0.0060566406 0.0028970592 0.005878062 + 1859300 0.0046943006 0.002506563 0.004817039 + 1859400 0.0055425033 0.0020302093 0.0047581601 + 1859500 0.0045982237 0.0018146755 0.0040778638 + 1859600 0.0035399145 0.0018665588 0.0036088604 + 1859700 0.0045423087 0.0021282529 0.0043639205 + 1859800 0.0037207733 0.0021305612 0.0039618793 + 1859900 0.0044054061 0.0021796917 0.0043479775 + 1860000 0.005932068 0.0022732282 0.0051929179 + 1860100 0.0043755592 0.0024842854 0.0046378809 + 1860200 0.0032876748 0.0028363968 0.0044545492 + 1860300 0.0059272851 0.0025166359 0.0054339715 + 1860400 0.004321436 0.0025575052 0.004684462 + 1860500 0.0054558672 0.002274636 0.0049599456 + 1860600 0.0049036477 0.0024563222 0.0048698363 + 1860700 0.0048760824 0.0019898265 0.0043897733 + 1860800 0.0046641324 0.0018851635 0.0041807912 + 1860900 0.0043780566 0.0020062402 0.004161065 + 1861000 0.0055492165 0.0020167843 0.0047480394 + 1861100 0.0033389333 0.0022804701 0.0039238514 + 1861200 0.0063803098 0.0024292257 0.0055695344 + 1861300 0.0035786872 0.0023830349 0.0041444201 + 1861400 0.0035567786 0.0025782852 0.0043288871 + 1861500 0.0032348035 0.0026225013 0.0042146311 + 1861600 0.0045525206 0.002443316 0.0046840097 + 1861700 0.0040119361 0.0025023235 0.0044769483 + 1861800 0.0045266604 0.0025172593 0.004745225 + 1861900 0.0045295604 0.002656538 0.004885931 + 1862000 0.0054644802 0.0028322449 0.0055217938 + 1862100 0.003208986 0.0024021322 0.003981555 + 1862200 0.0048134817 0.0022811453 0.0046502808 + 1862300 0.0048584428 0.0023475763 0.0047388411 + 1862400 0.0067717978 0.0026599531 0.0059929474 + 1862500 0.0059808181 0.0029197271 0.005863411 + 1862600 0.0039679724 0.0028907525 0.0048437389 + 1862700 0.0064531904 0.0030437782 0.0062199578 + 1862800 0.0065118712 0.0030695858 0.0062746474 + 1862900 0.0053216122 0.0027991428 0.0054183738 + 1863000 0.004739374 0.0027211267 0.0050537873 + 1863100 0.0052326824 0.0022610528 0.0048365137 + 1863200 0.0050972266 0.0021115552 0.0046203465 + 1863300 0.0066119305 0.0021021437 0.0053564533 + 1863400 0.0053203613 0.0023532343 0.0049718496 + 1863500 0.0050885517 0.0028047989 0.0053093205 + 1863600 0.0044068727 0.0026052602 0.0047742679 + 1863700 0.0056863712 0.0023029932 0.005101754 + 1863800 0.0044268932 0.0023771973 0.0045560588 + 1863900 0.0055537315 0.0027405363 0.0054740135 + 1864000 0.0068573457 0.0030670774 0.0064421772 + 1864100 0.0057276391 0.002540487 0.0053595594 + 1864200 0.0030694617 0.0029692888 0.0044800395 + 1864300 0.0048608225 0.0032036573 0.0055960934 + 1864400 0.0044595741 0.0028210258 0.0050159724 + 1864500 0.0051874258 0.0024520545 0.0050052407 + 1864600 0.0067960006 0.0022809881 0.0056258946 + 1864700 0.0059179746 0.002829365 0.0057421181 + 1864800 0.0052415302 0.0026229942 0.0052028099 + 1864900 0.0060549964 0.0029101503 0.0058903438 + 1865000 0.0045203163 0.0025853498 0.004810193 + 1865100 0.006091938 0.0019235087 0.0049218844 + 1865200 0.0047302797 0.0018730234 0.0042012079 + 1865300 0.0055399286 0.0021125419 0.0048392255 + 1865400 0.0039701251 0.0023686322 0.0043226782 + 1865500 0.0045390367 0.0026779331 0.0049119902 + 1865600 0.0053537474 0.0033727682 0.0060078157 + 1865700 0.004090182 0.0033816516 0.005394788 + 1865800 0.0064397508 0.0025797728 0.0057493377 + 1865900 0.0035855119 0.0028525187 0.0046172628 + 1866000 0.0051443394 0.0037132803 0.0062452598 + 1866100 0.0066165548 0.0031818656 0.0064384511 + 1866200 0.0048653112 0.0027777515 0.0051723968 + 1866300 0.0037216276 0.0023893801 0.0042211187 + 1866400 0.0049615152 0.0021048897 0.0045468854 + 1866500 0.0047106262 0.0022430462 0.0045615576 + 1866600 0.0048975355 0.0023237048 0.0047342105 + 1866700 0.0038036004 0.0023038832 0.0041759678 + 1866800 0.0053448426 0.0020609693 0.004691634 + 1866900 0.0054731906 0.0019144473 0.0046082833 + 1867000 0.0043384198 0.0019936323 0.0041289483 + 1867100 0.0034268818 0.002425875 0.0041125434 + 1867200 0.0033523165 0.0026065871 0.0042565554 + 1867300 0.0037396548 0.0023672759 0.0042078872 + 1867400 0.005117206 0.0023976735 0.0049162984 + 1867500 0.0052770044 0.002535848 0.0051331236 + 1867600 0.004308679 0.0030070198 0.0051276977 + 1867700 0.0055263505 0.0032094499 0.0059294505 + 1867800 0.0061098128 0.0031781068 0.0061852803 + 1867900 0.004660493 0.0032951244 0.0055889608 + 1868000 0.0067854571 0.0026265577 0.0059662748 + 1868100 0.0050968912 0.0022260605 0.0047346866 + 1868200 0.0048572885 0.0024735446 0.0048642412 + 1868300 0.0039092563 0.0021621323 0.0040862194 + 1868400 0.0056991046 0.0020548994 0.0048599274 + 1868500 0.005284039 0.0029604537 0.0055611917 + 1868600 0.0045160986 0.0034292952 0.0056520625 + 1868700 0.0034092828 0.003518588 0.0051965944 + 1868800 0.0030193527 0.0032730338 0.0047591215 + 1868900 0.0034438338 0.0028386575 0.0045336695 + 1869000 0.0047307941 0.0027731924 0.0051016302 + 1869100 0.0040447984 0.0028021227 0.0047929219 + 1869200 0.0048505393 0.0028608647 0.0052482395 + 1869300 0.0063625905 0.002919718 0.0060513055 + 1869400 0.0067848495 0.0031793113 0.0065187294 + 1869500 0.0045596958 0.0031859167 0.005430142 + 1869600 0.0057924945 0.0024790922 0.0053300856 + 1869700 0.0053072377 0.0021731322 0.0047852883 + 1869800 0.0056780667 0.0021036353 0.0048983087 + 1869900 0.0043032269 0.002188774 0.0043067685 + 1870000 0.0043671548 0.0024678133 0.0046172723 + 1870100 0.0046922885 0.002552911 0.0048623968 + 1870200 0.0053225288 0.0025836047 0.0052032868 + 1870300 0.0049462468 0.0025937607 0.0050282416 + 1870400 0.0060739788 0.0028547255 0.0058442619 + 1870500 0.0048340341 0.0028473073 0.0052265585 + 1870600 0.0058118076 0.0029229831 0.0057834821 + 1870700 0.0073615574 0.0032111231 0.0068343897 + 1870800 0.0042308895 0.0036316201 0.005714011 + 1870900 0.0053891732 0.0029727284 0.0056252121 + 1871000 0.004779606 0.0022234438 0.0045759062 + 1871100 0.0061932698 0.0024094366 0.0054576866 + 1871200 0.0045215771 0.002432079 0.0046575427 + 1871300 0.0041758229 0.002499802 0.0045550898 + 1871400 0.0056554092 0.0026633131 0.0054468349 + 1871500 0.0054185251 0.0029096757 0.005576606 + 1871600 0.0067017516 0.0031502069 0.0064487253 + 1871700 0.0047055816 0.0034096238 0.0057256523 + 1871800 0.0057692407 0.0032562317 0.0060957799 + 1871900 0.0046890195 0.0031299242 0.005437801 + 1872000 0.0055600953 0.0027866123 0.0055232217 + 1872100 0.0048912463 0.0023618494 0.0047692597 + 1872200 0.0046469393 0.0020241062 0.0043112716 + 1872300 0.0041755244 0.002041704 0.0040968449 + 1872400 0.0041896567 0.0025998113 0.004661908 + 1872500 0.004458692 0.002983104 0.0051776165 + 1872600 0.004688445 0.0027472915 0.0050548855 + 1872700 0.0040757138 0.0027332641 0.0047392794 + 1872800 0.0054063048 0.0026866045 0.0053475201 + 1872900 0.0037723437 0.0026832536 0.0045399541 + 1873000 0.0065930219 0.0028084968 0.0060534997 + 1873100 0.0051760692 0.0026146639 0.0051622605 + 1873200 0.004892065 0.0022055328 0.004613346 + 1873300 0.0055419029 0.0022264827 0.004954138 + 1873400 0.0048259498 0.0027062102 0.0050814824 + 1873500 0.0057972147 0.0024657324 0.005319049 + 1873600 0.0055570476 0.0021369903 0.0048720996 + 1873700 0.0043602796 0.0023875278 0.0045336029 + 1873800 0.0045517076 0.0024379645 0.0046782581 + 1873900 0.0063473709 0.0022268464 0.005350943 + 1874000 0.0043228575 0.0019217877 0.0040494441 + 1874100 0.0040155173 0.001815175 0.0037915624 + 1874200 0.0057612223 0.001763671 0.0045992726 + 1874300 0.0062082252 0.0022728136 0.0053284245 + 1874400 0.0045750219 0.002456557 0.0047083256 + 1874500 0.0037742823 0.0021123756 0.0039700302 + 1874600 0.004915498 0.0019859566 0.0044053033 + 1874700 0.0055706526 0.0019498607 0.0046916663 + 1874800 0.0054142919 0.0027370279 0.0054018747 + 1874900 0.0043241254 0.0025236152 0.0046518957 + 1875000 0.0048042712 0.0019815289 0.0043461311 + 1875100 0.0032159292 0.0019538075 0.0035366477 + 1875200 0.0058984061 0.0019814429 0.0048845647 + 1875300 0.0052965178 0.0021199849 0.0047268648 + 1875400 0.0047214343 0.0023473952 0.0046712262 + 1875500 0.0043756696 0.0025274583 0.0046811082 + 1875600 0.0049256375 0.0024113159 0.0048356531 + 1875700 0.0047309759 0.0022856241 0.0046141513 + 1875800 0.0057840598 0.0025421354 0.0053889773 + 1875900 0.0042040125 0.0029851736 0.005054336 + 1876000 0.0059212467 0.0024668687 0.0053812323 + 1876100 0.0054522521 0.0020222667 0.0047057971 + 1876200 0.0054662073 0.0022376383 0.0049280372 + 1876300 0.0050719505 0.0024173332 0.0049136838 + 1876400 0.0063523372 0.0025429751 0.005669516 + 1876500 0.0055843888 0.0029053706 0.005653937 + 1876600 0.0047151009 0.0027060821 0.0050267958 + 1876700 0.0054850462 0.0024727002 0.0051723714 + 1876800 0.0046210661 0.0025601136 0.0048345445 + 1876900 0.0037496477 0.0025373327 0.0043828624 + 1877000 0.0050432999 0.0019806088 0.004462858 + 1877100 0.0054592549 0.0020040705 0.0046910475 + 1877200 0.0051109297 0.0019649997 0.0044805354 + 1877300 0.0042384714 0.0022323685 0.0043184912 + 1877400 0.0041413068 0.0020872925 0.004125592 + 1877500 0.0052160394 0.0023711887 0.0049384581 + 1877600 0.0046370853 0.0029830081 0.0052653235 + 1877700 0.0057520258 0.0025043489 0.0053354241 + 1877800 0.0060626651 0.0024434345 0.0054274024 + 1877900 0.006902339 0.0027798959 0.0061771409 + 1878000 0.0051071781 0.0025592496 0.0050729388 + 1878100 0.0062690779 0.0027477316 0.0058332934 + 1878200 0.0047883709 0.0027006309 0.0050574072 + 1878300 0.0058615201 0.0024216622 0.0053066291 + 1878400 0.0060143139 0.0021480149 0.005108185 + 1878500 0.0048049723 0.0021512093 0.0045161565 + 1878600 0.0055340504 0.0025787165 0.0053025069 + 1878700 0.0052206628 0.0027529708 0.0053225158 + 1878800 0.0063180219 0.0030097719 0.0061194233 + 1878900 0.0063870988 0.0028288825 0.0059725327 + 1879000 0.0048685795 0.0032422683 0.0056385222 + 1879100 0.0034628061 0.0033188076 0.0050231575 + 1879200 0.005136643 0.0033882664 0.0059164579 + 1879300 0.005524731 0.0024085276 0.0051277312 + 1879400 0.0060786859 0.0019167448 0.0049085981 + 1879500 0.0077670229 0.0021747841 0.0059976157 + 1879600 0.0036522971 0.0030366173 0.0048342323 + 1879700 0.0052145422 0.0026096262 0.0051761586 + 1879800 0.0051987423 0.0024065817 0.0049653376 + 1879900 0.0060038876 0.0023294786 0.005284517 + 1880000 0.0053217054 0.0025471026 0.0051663794 + 1880100 0.004968597 0.0025506045 0.0049960858 + 1880200 0.0052091552 0.0022117118 0.0047755928 + 1880300 0.0058151918 0.0024907447 0.0053529094 + 1880400 0.0050961756 0.0028089656 0.0053172395 + 1880500 0.0040564377 0.0030026217 0.0049991496 + 1880600 0.0060662002 0.002636631 0.0056223389 + 1880700 0.0052255074 0.0024262224 0.0049981518 + 1880800 0.0053339541 0.002773885 0.0053991905 + 1880900 0.0055355189 0.0029046548 0.005629168 + 1881000 0.0056006053 0.0032436923 0.0060002402 + 1881100 0.0064665222 0.0033238678 0.0065066092 + 1881200 0.0054231342 0.0031412439 0.0058104427 + 1881300 0.0043154036 0.0028406641 0.0049646518 + 1881400 0.0045191024 0.0025884783 0.004812724 + 1881500 0.0044045411 0.0029250214 0.0050928815 + 1881600 0.0057528265 0.0026481177 0.005479587 + 1881700 0.0060190793 0.0025043423 0.0054668579 + 1881800 0.0045887559 0.0025979437 0.004856472 + 1881900 0.0057782809 0.0025737541 0.0054177517 + 1882000 0.0065270374 0.0026359224 0.0058484487 + 1882100 0.0060406032 0.0027429199 0.0057160293 + 1882200 0.0039788448 0.0029224545 0.0048807922 + 1882300 0.0066074788 0.0027595086 0.0060116271 + 1882400 0.0051453686 0.0025387668 0.0050712529 + 1882500 0.0060317613 0.002098868 0.0050676255 + 1882600 0.006448898 0.001923362 0.0050974289 + 1882700 0.0059669499 0.0023562779 0.0052931361 + 1882800 0.0060680488 0.0022946316 0.0052812494 + 1882900 0.0056021761 0.0020088256 0.0047661467 + 1883000 0.0056953704 0.0023894936 0.0051926837 + 1883100 0.0053216772 0.0029541438 0.0055734068 + 1883200 0.0065061726 0.0025832715 0.0057855284 + 1883300 0.0063202896 0.0024345595 0.005545327 + 1883400 0.0068579801 0.002325842 0.0057012541 + 1883500 0.0071121464 0.002743176 0.0062436856 + 1883600 0.0046543549 0.0032268637 0.005517679 + 1883700 0.0057006858 0.0028152103 0.0056210166 + 1883800 0.004771784 0.002453251 0.0048018635 + 1883900 0.0045633295 0.0022838651 0.0045298789 + 1884000 0.005878393 0.0025256948 0.0054189664 + 1884100 0.0054179506 0.0026863669 0.0053530144 + 1884200 0.0047204083 0.0025593078 0.0048826338 + 1884300 0.0056404512 0.0021281989 0.0049043585 + 1884400 0.0043066859 0.0025346106 0.0046543076 + 1884500 0.0051859231 0.0022041059 0.0047565524 + 1884600 0.0053210003 0.0021424945 0.0047614244 + 1884700 0.0047036404 0.002283601 0.004598674 + 1884800 0.0049688403 0.0020394648 0.0044850659 + 1884900 0.0054371927 0.0020240565 0.0047001747 + 1885000 0.0037103272 0.0021438145 0.0039699912 + 1885100 0.0054058411 0.0022021696 0.004862857 + 1885200 0.0046737251 0.0026378657 0.0049382147 + 1885300 0.0043638761 0.0024339663 0.0045818116 + 1885400 0.0034712784 0.0020999025 0.0038084224 + 1885500 0.0045385593 0.0022503089 0.0044841311 + 1885600 0.0054440823 0.0026524943 0.0053320035 + 1885700 0.0036201468 0.0030876091 0.0048694001 + 1885800 0.0050205264 0.0026878016 0.0051588419 + 1885900 0.0062864707 0.0023182757 0.005412398 + 1886000 0.0044907035 0.0029694419 0.0051797101 + 1886100 0.0044914696 0.0033071486 0.0055177938 + 1886200 0.0053991399 0.0030902825 0.0057476717 + 1886300 0.004363116 0.0030140239 0.0051614951 + 1886400 0.004098891 0.0025808328 0.0045982557 + 1886500 0.006086939 0.0027443563 0.0057402716 + 1886600 0.005660049 0.0021133646 0.00489917 + 1886700 0.0058828921 0.0022571012 0.0051525872 + 1886800 0.0057290175 0.0024425344 0.0052622852 + 1886900 0.0052050316 0.0024592864 0.0050211379 + 1887000 0.0062320746 0.002126873 0.0051942222 + 1887100 0.0047384274 0.0019866885 0.0043188832 + 1887200 0.0054033272 0.002203792 0.0048632421 + 1887300 0.0059731553 0.0024067677 0.00534668 + 1887400 0.0056235999 0.0026351924 0.005403058 + 1887500 0.0050510843 0.0025432248 0.0050293054 + 1887600 0.0063842634 0.001975656 0.0051179107 + 1887700 0.0049133788 0.0020984213 0.0045167249 + 1887800 0.0035723495 0.0027499399 0.0045082057 + 1887900 0.0043977587 0.002784853 0.0049493749 + 1888000 0.0041508509 0.0026746503 0.0047176473 + 1888100 0.0037450268 0.0028595053 0.0047027607 + 1888200 0.0054304018 0.0028392663 0.0055120423 + 1888300 0.0059788406 0.0023610872 0.0053037978 + 1888400 0.0044911688 0.0023294794 0.0045399765 + 1888500 0.0048887035 0.002411555 0.0048177137 + 1888600 0.0067854657 0.0025141355 0.0058538568 + 1888700 0.0054149271 0.0024267432 0.0050919026 + 1888800 0.0059421908 0.002135976 0.005060648 + 1888900 0.0065538005 0.0026626792 0.0058883779 + 1889000 0.0057745754 0.003396202 0.0062383758 + 1889100 0.0050456416 0.0033006467 0.0057840484 + 1889200 0.0064315123 0.0026438821 0.0058093921 + 1889300 0.0047622908 0.0026906596 0.0050345996 + 1889400 0.0066720012 0.0024799867 0.0057638623 + 1889500 0.005092495 0.0030872875 0.0055937499 + 1889600 0.0055532969 0.002912351 0.0056456144 + 1889700 0.0049216734 0.0025312593 0.0049536454 + 1889800 0.0055179201 0.0021624802 0.0048783316 + 1889900 0.0058660801 0.0023685641 0.0052557754 + 1890000 0.0040871469 0.0025248624 0.004536505 + 1890100 0.0039133457 0.002547627 0.0044737268 + 1890200 0.0048779036 0.0020820696 0.0044829128 + 1890300 0.003670163 0.0021596624 0.0039660708 + 1890400 0.0038677989 0.0017526133 0.0036562956 + 1890500 0.0045336887 0.0019887565 0.0042201814 + 1890600 0.0046748432 0.0021420554 0.0044429548 + 1890700 0.0051422933 0.0021353131 0.0046662856 + 1890800 0.004183233 0.0022456088 0.0043045438 + 1890900 0.0046981875 0.0024632108 0.0047756 + 1891000 0.0054956389 0.0026731675 0.0053780523 + 1891100 0.00592023 0.0026331005 0.0055469637 + 1891200 0.0045474332 0.0026325063 0.0048706961 + 1891300 0.004608103 0.0023316489 0.0045996996 + 1891400 0.0049420919 0.0022813318 0.0047137676 + 1891500 0.0040376491 0.0023860826 0.0043733631 + 1891600 0.0050536753 0.0023425254 0.0048298812 + 1891700 0.006246103 0.0024611363 0.0055353901 + 1891800 0.0054245812 0.0026307377 0.0053006488 + 1891900 0.0034357716 0.0028114619 0.0045025057 + 1892000 0.005852963 0.0025949164 0.0054756716 + 1892100 0.0032238035 0.0026165193 0.0042032351 + 1892200 0.0043276504 0.0022178521 0.0043478676 + 1892300 0.0029282277 0.0023074366 0.0037486737 + 1892400 0.0047213097 0.002145576 0.0044693456 + 1892500 0.0052583168 0.0026234272 0.005211505 + 1892600 0.0045403233 0.0029854234 0.0052201137 + 1892700 0.0046729552 0.0024699087 0.0047698788 + 1892800 0.0036037751 0.0024426173 0.0042163504 + 1892900 0.0041537882 0.0026871798 0.0047316225 + 1893000 0.0043700778 0.0024405039 0.0045914015 + 1893100 0.0057534432 0.0026399166 0.0054716895 + 1893200 0.0057451902 0.0031598989 0.0059876097 + 1893300 0.0046728407 0.0032290993 0.0055290131 + 1893400 0.0051401508 0.0025692376 0.0050991556 + 1893500 0.0053003285 0.0025457037 0.0051544592 + 1893600 0.0043298698 0.0027343414 0.0048654492 + 1893700 0.0057948319 0.002908147 0.0057602908 + 1893800 0.0053442013 0.0031336372 0.0057639863 + 1893900 0.0049870934 0.0030326422 0.0054872273 + 1894000 0.0069012689 0.0024843334 0.0058810517 + 1894100 0.0067647341 0.0022403894 0.0055699069 + 1894200 0.005279849 0.002743924 0.0053425996 + 1894300 0.0047544748 0.0029099247 0.0052500177 + 1894400 0.005261512 0.0026219833 0.0052116337 + 1894500 0.0047897687 0.0022566937 0.004614158 + 1894600 0.0038228123 0.0023490056 0.0042305461 + 1894700 0.0048933473 0.0023661411 0.0047745855 + 1894800 0.004569812 0.0023610351 0.0046102394 + 1894900 0.0056709631 0.0022587003 0.0050498774 + 1895000 0.0046414976 0.0025295381 0.0048140252 + 1895100 0.0049476506 0.0022759687 0.0047111405 + 1895200 0.0046190611 0.0021311927 0.0044046369 + 1895300 0.0053049037 0.0020429943 0.0046540015 + 1895400 0.0057968098 0.0028995619 0.0057526792 + 1895500 0.0058788921 0.0027155978 0.005609115 + 1895600 0.0052798314 0.0021210403 0.0047197073 + 1895700 0.0056612492 0.0022980319 0.005084428 + 1895800 0.0057096335 0.0022189923 0.0050292025 + 1895900 0.0069880069 0.0023877053 0.005827115 + 1896000 0.0039568412 0.0024774863 0.0044249941 + 1896100 0.0047992374 0.0025952209 0.0049573455 + 1896200 0.0049993603 0.0022526371 0.0047132598 + 1896300 0.0048849859 0.0018396167 0.0042439457 + 1896400 0.0059910115 0.0016357106 0.0045844115 + 1896500 0.0054455163 0.0026757124 0.0053559275 + 1896600 0.0055475272 0.0029801363 0.0057105598 + 1896700 0.0062025814 0.0026967139 0.005749547 + 1896800 0.0053409441 0.0026173818 0.0052461277 + 1896900 0.0059782583 0.002331711 0.005274135 + 1897000 0.0041660061 0.002263472 0.0043139281 + 1897100 0.0060125142 0.0025125687 0.005471853 + 1897200 0.0052006584 0.002801335 0.005361034 + 1897300 0.0039730566 0.0025779126 0.0045334014 + 1897400 0.0064602853 0.0024174398 0.0055971114 + 1897500 0.0043274972 0.002183524 0.0043134641 + 1897600 0.0047117235 0.0023839942 0.0047030456 + 1897700 0.0041941499 0.0023383437 0.0044026518 + 1897800 0.0053648276 0.0021908695 0.0048313706 + 1897900 0.0046141106 0.0025917137 0.0048627213 + 1898000 0.0070300038 0.0020430173 0.0055030973 + 1898100 0.0060237868 0.0020215711 0.0049864036 + 1898200 0.0046759737 0.0025797097 0.0048811655 + 1898300 0.0048025004 0.0030650425 0.0054287732 + 1898400 0.0051496978 0.0025402781 0.005074895 + 1898500 0.0047195978 0.0024327316 0.0047556586 + 1898600 0.0063573374 0.0024042639 0.0055332659 + 1898700 0.0046162812 0.0024931112 0.0047651871 + 1898800 0.0041033627 0.0023308286 0.0043504525 + 1898900 0.0041240946 0.0021934837 0.0042233115 + 1899000 0.004850002 0.0021318491 0.0045189594 + 1899100 0.0065869038 0.0020879619 0.0053299536 + 1899200 0.0043778449 0.0018211242 0.0039758448 + 1899300 0.0050030669 0.0012983126 0.0037607596 + 1899400 0.0039187712 0.0013228747 0.0032516449 + 1899500 0.0032449361 0.0016668573 0.0032639742 + 1899600 0.0056672129 0.0018036778 0.0045930091 + 1899700 0.0037992044 0.0020791727 0.0039490937 + 1899800 0.0045470024 0.0021182486 0.0043562263 + 1899900 0.0047231047 0.0022173972 0.0045420503 + 1900000 0.0053300875 0.0022916035 0.004915006 + 1900100 0.0048306604 0.0025569351 0.0049345257 + 1900200 0.0040966856 0.0027455851 0.0047619225 + 1900300 0.0043303269 0.002996066 0.0051273987 + 1900400 0.0051381071 0.0028505418 0.0053794539 + 1900500 0.0059490862 0.0020907957 0.0050188616 + 1900600 0.0048679756 0.0022374171 0.0046333739 + 1900700 0.005012857 0.0021693215 0.0046365871 + 1900800 0.0050708109 0.0023779739 0.0048737636 + 1900900 0.0041821971 0.0026376227 0.0046960478 + 1901000 0.005404535 0.0030704857 0.0057305302 + 1901100 0.0047944112 0.0030860373 0.0054457865 + 1901200 0.0070357249 0.0026255956 0.0060884914 + 1901300 0.0045535371 0.002569472 0.0048106661 + 1901400 0.0039118465 0.0026214576 0.0045468195 + 1901500 0.0073550191 0.0024203993 0.0060404477 + 1901600 0.0057117371 0.0027114287 0.0055226743 + 1901700 0.0065490838 0.0025668453 0.0057902224 + 1901800 0.004260773 0.0024469972 0.0045440964 + 1901900 0.0041750038 0.0021509692 0.0042058539 + 1902000 0.0045457156 0.0024178128 0.0046551572 + 1902100 0.0059872773 0.0024372182 0.0053840813 + 1902200 0.0045160632 0.0035003738 0.0057231237 + 1902300 0.0055001476 0.0034006115 0.0061077154 + 1902400 0.0059550829 0.0031375481 0.0060685655 + 1902500 0.0050391372 0.0031961305 0.0056763308 + 1902600 0.0042426149 0.0025121536 0.0046003156 + 1902700 0.0047949495 0.0021866065 0.0045466207 + 1902800 0.0039367236 0.0023732024 0.0043108086 + 1902900 0.0047595488 0.0026923367 0.0050349271 + 1903000 0.0044576031 0.0031222722 0.0053162487 + 1903100 0.004150805 0.0028512973 0.0048942716 + 1903200 0.0039852276 0.0024151036 0.0043765828 + 1903300 0.0037228981 0.0022708435 0.0041032073 + 1903400 0.004917446 0.0022102479 0.0046305533 + 1903500 0.0047431145 0.002589296 0.0049237977 + 1903600 0.0043696452 0.0027557655 0.0049064503 + 1903700 0.005185098 0.0025393957 0.0050914361 + 1903800 0.0057310578 0.0023195051 0.0051402601 + 1903900 0.0053102874 0.0024383993 0.0050520564 + 1904000 0.0052027173 0.0026509567 0.0052116691 + 1904100 0.0043211835 0.0025741276 0.0047009601 + 1904200 0.0041580641 0.0023446171 0.0043911642 + 1904300 0.0041864551 0.0024657771 0.004526298 + 1904400 0.0056566883 0.0021790954 0.0049632467 + 1904500 0.006778714 0.002712637 0.0060490354 + 1904600 0.0039736841 0.0031408601 0.0050966578 + 1904700 0.0050912493 0.0028153415 0.0053211908 + 1904800 0.005076642 0.0028085208 0.0053071805 + 1904900 0.0032943059 0.0024980852 0.0041195014 + 1905000 0.0037882655 0.0020867276 0.0039512645 + 1905100 0.0053723012 0.0021475057 0.0047916852 + 1905200 0.0073327848 0.002153062 0.005762167 + 1905300 0.005440251 0.002276741 0.0049543645 + 1905400 0.0032125915 0.0028348256 0.004416023 + 1905500 0.0054312733 0.002476392 0.0051495968 + 1905600 0.0048966453 0.001953348 0.0043634156 + 1905700 0.0048121145 0.0016774856 0.0040459482 + 1905800 0.0046266203 0.002101896 0.0043790607 + 1905900 0.0057664022 0.0019710096 0.0048091607 + 1906000 0.0049416028 0.0024064764 0.0048386715 + 1906100 0.007570037 0.0025902875 0.0063161651 + 1906200 0.0068214384 0.0029560065 0.0063134332 + 1906300 0.0050311319 0.0029884823 0.0054647425 + 1906400 0.0060765472 0.0028586423 0.0058494428 + 1906500 0.0046787191 0.0025389079 0.004841715 + 1906600 0.0044540714 0.0022714216 0.0044636598 + 1906700 0.0044067025 0.0019346154 0.0041035393 + 1906800 0.005059984 0.0019276435 0.0044181043 + 1906900 0.0050416392 0.0021345997 0.0046160315 + 1907000 0.002996101 0.0021540088 0.0036286523 + 1907100 0.0051071641 0.0019251077 0.00443879 + 1907200 0.0044396102 0.0016589167 0.0038440374 + 1907300 0.0050889076 0.0020489349 0.0045536316 + 1907400 0.0055755347 0.0023837472 0.0051279557 + 1907500 0.0049106105 0.0021196967 0.0045366379 + 1907600 0.0059661707 0.0020762518 0.0050127265 + 1907700 0.0047166881 0.0024016827 0.0047231776 + 1907800 0.0049089498 0.0031022377 0.0055183614 + 1907900 0.005397857 0.0031730682 0.0058298259 + 1908000 0.0047662876 0.0023375764 0.0046834836 + 1908100 0.0046199691 0.001775239 0.00404913 + 1908200 0.0050452228 0.0018444428 0.0043276383 + 1908300 0.0047603733 0.0017920082 0.0041350045 + 1908400 0.0038675141 0.0016875472 0.0035910893 + 1908500 0.004835123 0.0016088029 0.00398859 + 1908600 0.0058328719 0.0018367944 0.0047076611 + 1908700 0.0047179976 0.0020597241 0.0043818635 + 1908800 0.0059366768 0.0024961091 0.0054180672 + 1908900 0.004227242 0.0028320478 0.0049126435 + 1909000 0.0057554033 0.0030182397 0.0058509772 + 1909100 0.0061576564 0.0027027229 0.0057334444 + 1909200 0.0052513319 0.0033031546 0.0058877945 + 1909300 0.0048859401 0.0036683538 0.0060731524 + 1909400 0.0055377487 0.0029829006 0.0057085113 + 1909500 0.0047643415 0.0027919961 0.0051369454 + 1909600 0.0054951702 0.0029891037 0.0056937578 + 1909700 0.0041095528 0.0025528422 0.0045755127 + 1909800 0.007272566 0.0022218834 0.0058013495 + 1909900 0.0039220409 0.0022547404 0.0041851199 + 1910000 0.0047225379 0.002514619 0.0048389931 + 1910100 0.0058879728 0.0027466564 0.005644643 + 1910200 0.006528338 0.0026450181 0.0058581845 + 1910300 0.0046439253 0.0024163572 0.0047020392 + 1910400 0.0051834228 0.0026579842 0.0052092 + 1910500 0.0040563731 0.0026631551 0.0046596512 + 1910600 0.0050328442 0.0029919211 0.0054690242 + 1910700 0.0050630107 0.0035057353 0.0059976859 + 1910800 0.0049746875 0.0026685022 0.0051169812 + 1910900 0.0057173477 0.0020991767 0.0049131837 + 1911000 0.0046907694 0.0022966537 0.0046053918 + 1911100 0.0065888469 0.0026599633 0.0059029114 + 1911200 0.00427356 0.0022274448 0.0043308376 + 1911300 0.0053582195 0.002015108 0.0046523566 + 1911400 0.0048187241 0.0021585839 0.0045302997 + 1911500 0.0058522389 0.0023088198 0.0051892186 + 1911600 0.0057870962 0.0023608358 0.0052091722 + 1911700 0.0060391836 0.0028022399 0.0057746506 + 1911800 0.004150109 0.0032498756 0.0052925074 + 1911900 0.007629351 0.0028020814 0.0065571526 + 1912000 0.0066731973 0.0032815621 0.0065660263 + 1912100 0.0050280362 0.0032963667 0.0057711032 + 1912200 0.0045765045 0.0028652027 0.005117701 + 1912300 0.0047195925 0.0027956166 0.005118541 + 1912400 0.0077001644 0.0027999169 0.0065898416 + 1912500 0.0048165925 0.0025380028 0.0049086694 + 1912600 0.007696698 0.0026624425 0.006450661 + 1912700 0.0041079889 0.0028555062 0.004877407 + 1912800 0.0052192108 0.0024016141 0.0049704444 + 1912900 0.0049426902 0.002582116 0.0050148463 + 1913000 0.0046256853 0.0030066141 0.0052833186 + 1913100 0.0047843624 0.0035995933 0.0059543967 + 1913200 0.0063358234 0.003427947 0.0065463601 + 1913300 0.0059560744 0.002920499 0.0058520043 + 1913400 0.0041158383 0.0028066148 0.004832379 + 1913500 0.0064308144 0.0023463427 0.0055115092 + 1913600 0.005041651 0.00265289 0.0051343275 + 1913700 0.0046494252 0.0030958059 0.0053841949 + 1913800 0.0047279327 0.0027650252 0.0050920546 + 1913900 0.0069718217 0.002398766 0.0058302095 + 1914000 0.0040504757 0.0022822345 0.004275828 + 1914100 0.0068041484 0.0022742631 0.0056231798 + 1914200 0.0054643207 0.002142423 0.0048318934 + 1914300 0.0056139546 0.002363668 0.0051267863 + 1914400 0.0057601367 0.0027706486 0.0056057158 + 1914500 0.0027285846 0.00303235 0.0043753252 + 1914600 0.0059873074 0.0029319225 0.0058788004 + 1914700 0.0040133114 0.0027049917 0.0046802934 + 1914800 0.0049003588 0.0022504487 0.0046623441 + 1914900 0.0044893426 0.0021901289 0.0043997272 + 1915000 0.0066817682 0.0020660453 0.0053547281 + 1915100 0.0047132426 0.0021029413 0.0044227404 + 1915200 0.005278895 0.0019373865 0.0045355926 + 1915300 0.0051287813 0.0018019601 0.0043262822 + 1915400 0.0059525341 0.002014033 0.0049437959 + 1915500 0.0056357336 0.0018295806 0.0046034182 + 1915600 0.0049980416 0.0018706758 0.0043306494 + 1915700 0.0056904148 0.0022325439 0.0050332949 + 1915800 0.0058885468 0.0025350444 0.0054333135 + 1915900 0.005349483 0.0024452148 0.0050781635 + 1916000 0.0050838221 0.0020246399 0.0045268337 + 1916100 0.0051209928 0.001816397 0.0043368857 + 1916200 0.0058039751 0.0022564188 0.0051130627 + 1916300 0.0055975955 0.0024994365 0.0052545031 + 1916400 0.0047112445 0.0025587713 0.004877587 + 1916500 0.0042882349 0.003044653 0.0051552687 + 1916600 0.0053242482 0.0027546238 0.0053751522 + 1916700 0.0038883807 0.0026727715 0.0045865839 + 1916800 0.003688847 0.0030532563 0.0048688606 + 1916900 0.0037975175 0.003511902 0.0053809926 + 1917000 0.0057643247 0.0029355395 0.005772668 + 1917100 0.005111019 0.0028043355 0.0053199151 + 1917200 0.0060825139 0.0025017641 0.0054955014 + 1917300 0.0062536089 0.0029044536 0.0059824018 + 1917400 0.0050425253 0.0025370735 0.0050189414 + 1917500 0.0054135027 0.002245707 0.0049101654 + 1917600 0.0065485632 0.0023249025 0.0055480234 + 1917700 0.0048849791 0.0022546502 0.0046589759 + 1917800 0.0051482475 0.0021951351 0.0047290382 + 1917900 0.0053544621 0.0020075348 0.0046429341 + 1918000 0.0053262883 0.0019328457 0.0045543783 + 1918100 0.0060461978 0.001651526 0.004627389 + 1918200 0.0046698301 0.0018758811 0.0041743132 + 1918300 0.0042708431 0.0019947964 0.004096852 + 1918400 0.0039956408 0.0019069849 0.0038735893 + 1918500 0.0038001177 0.0020832957 0.0039536662 + 1918600 0.0048608402 0.0020100984 0.0044025432 + 1918700 0.0036821439 0.0024000724 0.0042123776 + 1918800 0.0061682744 0.0024691375 0.005505085 + 1918900 0.006099424 0.0024157024 0.0054177626 + 1919000 0.0043264222 0.002640324 0.004769735 + 1919100 0.0038973467 0.0025444394 0.0044626648 + 1919200 0.0050867038 0.0025724956 0.0050761077 + 1919300 0.0052029358 0.0024809639 0.0050417839 + 1919400 0.0050322349 0.002048704 0.0045255071 + 1919500 0.0060410557 0.0021798289 0.005153161 + 1919600 0.0037607224 0.0022657796 0.0041167601 + 1919700 0.0051398142 0.0020738906 0.0046036429 + 1919800 0.0037165375 0.0019577776 0.0037870109 + 1919900 0.0031281502 0.0018735888 0.0034132252 + 1920000 0.0051947165 0.0017730936 0.0043298682 + 1920100 0.004330287 0.002288851 0.0044201641 + 1920200 0.0048950272 0.0025740787 0.0049833498 + 1920300 0.0035704254 0.0025333977 0.0042907165 + 1920400 0.0043962745 0.0026224325 0.0047862238 + 1920500 0.0039251136 0.0027513093 0.0046832012 + 1920600 0.0044635229 0.0031175181 0.0053144083 + 1920700 0.0056043101 0.0033182104 0.0060765818 + 1920800 0.0046069116 0.0034868964 0.0057543607 + 1920900 0.003577433 0.0037292382 0.005490006 + 1921000 0.0063838813 0.0027244262 0.0058664928 + 1921100 0.0041506989 0.0025888331 0.0046317552 + 1921200 0.0048619386 0.0022635713 0.0046565567 + 1921300 0.0044773337 0.0021662926 0.0043699803 + 1921400 0.003900307 0.0023464508 0.0042661331 + 1921500 0.0044703712 0.0023756772 0.004575938 + 1921600 0.004932632 0.0023256903 0.0047534701 + 1921700 0.0043420133 0.0023648547 0.0045019394 + 1921800 0.0045997431 0.0022586051 0.0045225412 + 1921900 0.0053365641 0.0023498205 0.0049764107 + 1922000 0.0053821284 0.0025420177 0.005191034 + 1922100 0.0052308199 0.0028014342 0.0053759784 + 1922200 0.0041631041 0.0026841886 0.0047332164 + 1922300 0.0054832129 0.0024144963 0.0051132651 + 1922400 0.0055782326 0.002206884 0.0049524204 + 1922500 0.0032460741 0.0020926455 0.0036903226 + 1922600 0.0066380088 0.0020062945 0.0052734395 + 1922700 0.0056985402 0.0025442235 0.0053489738 + 1922800 0.0036198238 0.0032067891 0.0049884211 + 1922900 0.0054192648 0.0030056309 0.0056729252 + 1923000 0.0061245558 0.0027178274 0.0057322572 + 1923100 0.0051370424 0.0025178819 0.00504627 + 1923200 0.0047593132 0.0028112136 0.005153688 + 1923300 0.0044549868 0.0025814598 0.0047741486 + 1923400 0.0049665583 0.0022443608 0.0046888387 + 1923500 0.0051670012 0.0023279618 0.0048710952 + 1923600 0.0039239176 0.002548313 0.0044796162 + 1923700 0.0044777504 0.0020788479 0.0042827407 + 1923800 0.004624284 0.0020832828 0.0043592976 + 1923900 0.0051181058 0.0023570135 0.0048760812 + 1924000 0.0040273889 0.0027529132 0.0047351437 + 1924100 0.0053706508 0.0025842545 0.0052276217 + 1924200 0.0049351878 0.0029627551 0.0053917928 + 1924300 0.003545962 0.0035518227 0.0052971009 + 1924400 0.0058439293 0.0027194861 0.005595795 + 1924500 0.0049057266 0.0020828384 0.0044973757 + 1924600 0.0046912841 0.0017704634 0.0040794548 + 1924700 0.0063113997 0.0018522129 0.0049586049 + 1924800 0.0059624955 0.0023540125 0.0052886782 + 1924900 0.0044409137 0.0027953922 0.0049811544 + 1925000 0.0039595608 0.0028850509 0.0048338972 + 1925100 0.0065169571 0.0023095459 0.0055171108 + 1925200 0.0067160917 0.0020422623 0.0053478387 + 1925300 0.0058567461 0.0023641951 0.0052468123 + 1925400 0.0060221967 0.0028426603 0.0058067103 + 1925500 0.005649952 0.0032380688 0.0060189045 + 1925600 0.0041657719 0.0031699087 0.0052202495 + 1925700 0.0060815552 0.0023825441 0.0053758096 + 1925800 0.0063190234 0.0016302848 0.0047404292 + 1925900 0.0046709849 0.0022551573 0.0045541577 + 1926000 0.0058368811 0.0031983217 0.0060711616 + 1926100 0.0052961946 0.0038102184 0.0064169391 + 1926200 0.0052895126 0.003454049 0.006057481 + 1926300 0.006124378 0.0034426464 0.0064569887 + 1926400 0.0044815633 0.0040705536 0.0062763231 + 1926500 0.0044242635 0.0036164399 0.0057940071 + 1926600 0.0052713896 0.0030829619 0.005677474 + 1926700 0.0072500218 0.0030359495 0.0066043196 + 1926800 0.0055454671 0.0030713128 0.0058007224 + 1926900 0.0074944746 0.0027506489 0.0064393357 + 1927000 0.0049960805 0.0029627922 0.0054218006 + 1927100 0.004418773 0.0028766592 0.005051524 + 1927200 0.0043189672 0.0030675052 0.0051932469 + 1927300 0.0049815153 0.0023808584 0.004832698 + 1927400 0.006308883 0.0017544495 0.0048596028 + 1927500 0.004438817 0.0018419462 0.0040266764 + 1927600 0.0055998075 0.0018429951 0.0045991503 + 1927700 0.0039662932 0.0021295364 0.0040816963 + 1927800 0.0044685427 0.0026220553 0.0048214162 + 1927900 0.0049762662 0.002725274 0.00517453 + 1928000 0.0053023664 0.0023780196 0.004987778 + 1928100 0.0041435239 0.0023367904 0.0043761811 + 1928200 0.0049575096 0.00210858 0.0045486043 + 1928300 0.0063884718 0.0018600774 0.0050044033 + 1928400 0.0055266316 0.0019648135 0.0046849525 + 1928500 0.0050120423 0.0022745893 0.0047414539 + 1928600 0.0043486374 0.0026795747 0.0048199197 + 1928700 0.005879917 0.0029380033 0.005832025 + 1928800 0.0065891246 0.0026662551 0.0059093399 + 1928900 0.0039052761 0.0023757496 0.0042978777 + 1929000 0.0053138672 0.0021842282 0.0047996472 + 1929100 0.0031450727 0.0020439062 0.0035918717 + 1929200 0.0047279656 0.0018760313 0.0042030769 + 1929300 0.0050209108 0.0019270717 0.0043983012 + 1929400 0.005032235 0.0015083042 0.0039851074 + 1929500 0.0040398011 0.0017281006 0.0037164402 + 1929600 0.0040108597 0.0021542557 0.0041283507 + 1929700 0.0051965528 0.0024851577 0.0050428361 + 1929800 0.0052707378 0.0027267839 0.0053209752 + 1929900 0.0028536884 0.0025999506 0.0040045004 + 1930000 0.0042516575 0.0024275455 0.0045201582 + 1930100 0.004983334 0.0024988933 0.004951628 + 1930200 0.0050479883 0.0026307939 0.0051153506 + 1930300 0.0065120059 0.002245208 0.0054503359 + 1930400 0.0062018765 0.0024094151 0.0054619012 + 1930500 0.0043514347 0.0023706209 0.0045123427 + 1930600 0.0043563884 0.0026113649 0.0047555248 + 1930700 0.0060091242 0.00236401 0.0053216258 + 1930800 0.003104329 0.002848696 0.004376608 + 1930900 0.0048784827 0.0026897402 0.0050908684 + 1931000 0.0063577913 0.0025383558 0.0056675812 + 1931100 0.0033163564 0.00284296 0.0044752292 + 1931200 0.0060514918 0.002577335 0.0055558036 + 1931300 0.0051392801 0.0025614613 0.0050909507 + 1931400 0.0050410908 0.0028551437 0.0053363055 + 1931500 0.00511992 0.0030768724 0.005596833 + 1931600 0.0050654393 0.0033412104 0.0058343563 + 1931700 0.0044601041 0.0025499883 0.0047451958 + 1931800 0.0036216655 0.0025702389 0.0043527774 + 1931900 0.0047548449 0.0028661313 0.0052064066 + 1932000 0.0049478185 0.0027961375 0.0052313919 + 1932100 0.0050225206 0.002730362 0.0052023839 + 1932200 0.005778871 0.0025453649 0.005389653 + 1932300 0.0049965016 0.0024927179 0.0049519335 + 1932400 0.0057106809 0.0025594703 0.0053701961 + 1932500 0.0055127515 0.0026162254 0.0053295328 + 1932600 0.0043926689 0.0026909047 0.0048529214 + 1932700 0.0051962762 0.0023331953 0.0048907374 + 1932800 0.0047392967 0.0024737647 0.0048063873 + 1932900 0.0054556969 0.002823279 0.0055085048 + 1933000 0.004956996 0.0028693847 0.0053091561 + 1933100 0.0042062344 0.002938057 0.005008313 + 1933200 0.0056051874 0.0034255414 0.0061843446 + 1933300 0.0048563142 0.0033062822 0.0056964993 + 1933400 0.005235212 0.0031473982 0.0057241041 + 1933500 0.0065727364 0.0023668875 0.0056019062 + 1933600 0.0059748916 0.0023437225 0.0052844894 + 1933700 0.0053190794 0.0031124324 0.0057304168 + 1933800 0.005985915 0.0036479081 0.0065941006 + 1933900 0.0059375943 0.0033772407 0.0062996504 + 1934000 0.004699284 0.003005606 0.0053185349 + 1934100 0.004053937 0.0031747434 0.0051700405 + 1934200 0.0058182129 0.0028281804 0.0056918321 + 1934300 0.0050716018 0.0025387934 0.0050349724 + 1934400 0.0036908703 0.0027327942 0.0045493944 + 1934500 0.0032370182 0.0024725305 0.0040657504 + 1934600 0.0035705637 0.00224111 0.0039984968 + 1934700 0.0039971964 0.002169627 0.0041369971 + 1934800 0.0051397675 0.0017770427 0.0043067721 + 1934900 0.00461032 0.0021080832 0.0043772251 + 1935000 0.004324499 0.0022287176 0.0043571819 + 1935100 0.0034532641 0.0023118702 0.0040115236 + 1935200 0.0051344814 0.0021074178 0.0046345454 + 1935300 0.0050470782 0.0021592986 0.0046434074 + 1935400 0.0033818952 0.0024234119 0.0040879385 + 1935500 0.0045808859 0.0025190898 0.0047737445 + 1935600 0.0054240134 0.0026066994 0.005276331 + 1935700 0.0042887173 0.0029593556 0.0050702086 + 1935800 0.0059985647 0.0026345396 0.0055869581 + 1935900 0.004796757 0.0025065503 0.0048674541 + 1936000 0.0049364587 0.0024822509 0.0049119141 + 1936100 0.004594675 0.0023203344 0.004581776 + 1936200 0.0046762124 0.0021445269 0.0044461002 + 1936300 0.0048598418 0.0022677673 0.0046597207 + 1936400 0.0065516638 0.00171545 0.004940097 + 1936500 0.0060673449 0.0016095987 0.00459587 + 1936600 0.0070462544 0.0018204232 0.0052885015 + 1936700 0.0055736607 0.0025027203 0.0052460065 + 1936800 0.0044036138 0.0025697214 0.0047371251 + 1936900 0.0039441818 0.0020478288 0.0039891057 + 1937000 0.0061509227 0.002090052 0.0051174593 + 1937100 0.0036223589 0.0022728492 0.004055729 + 1937200 0.0042139815 0.0022576716 0.0043317406 + 1937300 0.0037037538 0.002398906 0.0042218473 + 1937400 0.0049894115 0.0025814065 0.0050371324 + 1937500 0.0055789872 0.0028142555 0.0055601633 + 1937600 0.007081208 0.0032461718 0.0067314539 + 1937700 0.006231307 0.0026053404 0.0056723118 + 1937800 0.0060089869 0.0019677451 0.0049252933 + 1937900 0.0067739124 0.0024650536 0.0057990886 + 1938000 0.0039062844 0.0031418473 0.0050644716 + 1938100 0.0051518303 0.0026025551 0.0051382215 + 1938200 0.0047388189 0.0027721714 0.0051045588 + 1938300 0.0043781574 0.003108054 0.0052629284 + 1938400 0.0054552864 0.0034289281 0.0061139519 + 1938500 0.0041296853 0.0034670651 0.0054996446 + 1938600 0.0053058604 0.0032443571 0.0058558353 + 1938700 0.0055949361 0.0025779202 0.0053316779 + 1938800 0.0045073852 0.0021296711 0.0043481497 + 1938900 0.0058585983 0.002019133 0.0049026619 + 1939000 0.0032239611 0.0023200403 0.0039068337 + 1939100 0.0037828325 0.0027700149 0.0046318778 + 1939200 0.0069787351 0.0022294261 0.0056642723 + 1939300 0.0061903712 0.0022751341 0.0053219574 + 1939400 0.0055902515 0.0028733596 0.0056248115 + 1939500 0.0050402591 0.0029988342 0.0054795867 + 1939600 0.0048763755 0.0029215586 0.0053216497 + 1939700 0.0041482246 0.0024516211 0.0044933254 + 1939800 0.0043516185 0.0023939686 0.0045357808 + 1939900 0.0054472655 0.0025505052 0.0052315812 + 1940000 0.005145342 0.002662653 0.005195126 + 1940100 0.0057011228 0.0027953131 0.0056013344 + 1940200 0.0040785332 0.0030854661 0.0050928692 + 1940300 0.0040788998 0.0032542251 0.0052618086 + 1940400 0.0050658017 0.0030313349 0.0055246592 + 1940500 0.0055474925 0.0027979373 0.0055283437 + 1940600 0.0047742798 0.00298593 0.0053357709 + 1940700 0.0062188236 0.0025469831 0.0056078103 + 1940800 0.005945815 0.0026606777 0.0055871335 + 1940900 0.0052952546 0.0023847389 0.004990997 + 1941000 0.0052949543 0.0022026723 0.0048087826 + 1941100 0.0037063373 0.0022480371 0.0040722499 + 1941200 0.0055405733 0.0024726819 0.0051996829 + 1941300 0.0047065967 0.0028062748 0.0051228029 + 1941400 0.0050484149 0.0027680862 0.0052528529 + 1941500 0.0042915311 0.0027787379 0.0048909759 + 1941600 0.0051582995 0.0029162229 0.0054550734 + 1941700 0.0055366248 0.002838226 0.0055632836 + 1941800 0.0053780047 0.002775794 0.0054227807 + 1941900 0.006706415 0.0024265135 0.0057273272 + 1942000 0.0065832043 0.0024869133 0.0057270841 + 1942100 0.0032782944 0.0026915956 0.0043051311 + 1942200 0.0066601518 0.0025991007 0.0058771441 + 1942300 0.0041240012 0.002563401 0.0045931828 + 1942400 0.0054204446 0.0023165569 0.004984432 + 1942500 0.0037172072 0.0024435977 0.0042731606 + 1942600 0.0037926762 0.002328878 0.0041955858 + 1942700 0.0053463379 0.0021802338 0.0048116345 + 1942800 0.0045507092 0.0022007949 0.0044405971 + 1942900 0.0048258246 0.0022631148 0.0046383254 + 1943000 0.0034955483 0.0024004294 0.0041208946 + 1943100 0.0049050615 0.0020473969 0.0044616069 + 1943200 0.0047890735 0.0019402588 0.0042973809 + 1943300 0.0054653259 0.0020487305 0.0047386956 + 1943400 0.0047863015 0.0027511799 0.0051069377 + 1943500 0.0058998465 0.0033449399 0.0062487706 + 1943600 0.0057805839 0.0031070824 0.0059522136 + 1943700 0.0047936014 0.0031259179 0.0054852686 + 1943800 0.0050677506 0.0026732705 0.005167554 + 1943900 0.0045127824 0.0027795124 0.0050006475 + 1944000 0.0050546056 0.0028049731 0.0052927868 + 1944100 0.0053359488 0.0024160982 0.0050423855 + 1944200 0.0045904277 0.0021568462 0.0044161973 + 1944300 0.0033639452 0.0023327646 0.0039884564 + 1944400 0.0050876393 0.0023524658 0.0048565383 + 1944500 0.0054270074 0.0022140652 0.0048851704 + 1944600 0.0050238062 0.002558082 0.0050307367 + 1944700 0.0051051852 0.0026625399 0.0051752483 + 1944800 0.0061227416 0.0027734205 0.0057869574 + 1944900 0.0031995157 0.0031089271 0.0046836887 + 1945000 0.0044512474 0.0027137285 0.0049045768 + 1945100 0.0047594509 0.0027200654 0.0050626076 + 1945200 0.0046775037 0.0027543994 0.0050566083 + 1945300 0.0052743168 0.0031578542 0.0057538069 + 1945400 0.0053682525 0.0035269489 0.0061691357 + 1945500 0.006350538 0.002948923 0.0060745784 + 1945600 0.0064832924 0.0027263817 0.0059173771 + 1945700 0.0074028235 0.0026305927 0.0062741699 + 1945800 0.0058663562 0.0027916007 0.0056789478 + 1945900 0.0050019607 0.0025371587 0.0049990612 + 1946000 0.0044238312 0.0025426852 0.0047200396 + 1946100 0.0037030356 0.0025740606 0.0043966485 + 1946200 0.0042838995 0.0027502205 0.0048587023 + 1946300 0.0047773872 0.002786207 0.0051375773 + 1946400 0.0051526495 0.0026014516 0.0051375213 + 1946500 0.0076270688 0.0026415451 0.0063954931 + 1946600 0.0047242571 0.0025659365 0.0048911568 + 1946700 0.0048333514 0.0023590609 0.004737976 + 1946800 0.0053565315 0.002257476 0.0048938938 + 1946900 0.0059610525 0.0023695108 0.0053034664 + 1947000 0.0045577812 0.0031901352 0.0054334181 + 1947100 0.005844588 0.0034009342 0.0062775673 + 1947200 0.0064723263 0.003016532 0.0062021301 + 1947300 0.0047410241 0.002407734 0.0047412068 + 1947400 0.0051796106 0.0021166615 0.004666001 + 1947500 0.0056131407 0.0023017822 0.0050644999 + 1947600 0.0040413068 0.0025051076 0.0044941883 + 1947700 0.0071707001 0.002672227 0.006201556 + 1947800 0.0057692155 0.002125059 0.0049645947 + 1947900 0.0053170554 0.0024372873 0.0050542756 + 1948000 0.0072151446 0.002708757 0.006259961 + 1948100 0.0058242903 0.003000284 0.0058669269 + 1948200 0.0040369356 0.0031077036 0.0050946329 + 1948300 0.0035193017 0.0030335402 0.0047656965 + 1948400 0.0038302612 0.002361838 0.0042470447 + 1948500 0.0059146757 0.0021739636 0.0050850931 + 1948600 0.0039929097 0.0025196666 0.0044849269 + 1948700 0.004166267 0.0026297952 0.0046803798 + 1948800 0.0058336366 0.0026636158 0.0055348588 + 1948900 0.0049999772 0.0029040774 0.0053650037 + 1949000 0.0059989511 0.0026607328 0.0056133415 + 1949100 0.0047545626 0.0025554586 0.0048955949 + 1949200 0.0057977146 0.002594913 0.0054484756 + 1949300 0.0064667773 0.003339303 0.0065221699 + 1949400 0.0049615943 0.0033409148 0.0057829495 + 1949500 0.0067899672 0.002648112 0.005990049 + 1949600 0.0068948266 0.0024144686 0.0058080161 + 1949700 0.0050326154 0.0024139038 0.0048908942 + 1949800 0.0048365048 0.0028725814 0.0052530486 + 1949900 0.0044952425 0.0026543335 0.0048668356 + 1950000 0.0050917471 0.0021394626 0.0046455569 + 1950100 0.0050872701 0.0021925374 0.0046964282 + 1950200 0.0046731912 0.0021802616 0.0044803479 + 1950300 0.0050813338 0.0024437577 0.0049447267 + 1950400 0.0065714472 0.0029035187 0.0061379029 + 1950500 0.0055752144 0.0031158284 0.0058598793 + 1950600 0.004228857 0.0027501269 0.0048315175 + 1950700 0.0051847602 0.0023106036 0.0048624777 + 1950800 0.0043578089 0.0020012967 0.0041461558 + 1950900 0.006663119 0.0020215627 0.0053010665 + 1951000 0.0047351301 0.0025493217 0.0048798936 + 1951100 0.005562217 0.0021867041 0.0049243578 + 1951200 0.0064418701 0.0019500702 0.0051206782 + 1951300 0.0057807315 0.00236247 0.0052076738 + 1951400 0.004772253 0.002189906 0.0045387492 + 1951500 0.0041916669 0.0023603503 0.0044234363 + 1951600 0.0067226276 0.0025296423 0.0058384356 + 1951700 0.0040191775 0.0025013843 0.0044795733 + 1951800 0.004524232 0.0028105252 0.0050372957 + 1951900 0.0043891412 0.0029057761 0.0050660565 + 1952000 0.0068677649 0.0027262976 0.0061065256 + 1952100 0.0051094236 0.0021597537 0.0046745481 + 1952200 0.0040898544 0.0023383224 0.0043512977 + 1952300 0.0043464376 0.002503438 0.0046427003 + 1952400 0.0041903513 0.0030089787 0.0050714173 + 1952500 0.0064205284 0.0031231322 0.0062832361 + 1952600 0.0058704025 0.0031556656 0.0060450044 + 1952700 0.0049274505 0.0031297258 0.0055549554 + 1952800 0.0048737599 0.0033222941 0.0057210978 + 1952900 0.0066088582 0.003444252 0.0066970494 + 1953000 0.0054236332 0.0032509523 0.0059203968 + 1953100 0.0053846099 0.0030959985 0.0057462362 + 1953200 0.0028500022 0.0031333156 0.004536051 + 1953300 0.0046566587 0.0025504478 0.004842397 + 1953400 0.0077711968 0.0019007523 0.0057256382 + 1953500 0.0069616574 0.0023644328 0.0057908736 + 1953600 0.0048881206 0.0026264793 0.0050323511 + 1953700 0.0052888933 0.0027474138 0.0053505409 + 1953800 0.0074956975 0.0026425758 0.0063318644 + 1953900 0.0056179827 0.0023914299 0.0051565308 + 1954000 0.0053870586 0.0022106596 0.0048621025 + 1954100 0.004424963 0.002500458 0.0046783695 + 1954200 0.0046798898 0.0026370373 0.0049404206 + 1954300 0.0052544217 0.0021605854 0.0047467461 + 1954400 0.0050273269 0.002165618 0.0046400054 + 1954500 0.0046684298 0.002686144 0.0049838868 + 1954600 0.0054626524 0.0028373524 0.0055260016 + 1954700 0.0066007504 0.0028672996 0.0061161064 + 1954800 0.0059563656 0.0028522115 0.0057838602 + 1954900 0.0054633579 0.0026666691 0.0053556656 + 1955000 0.0046503677 0.002707889 0.0049967418 + 1955100 0.0047431397 0.0027024929 0.0050370069 + 1955200 0.0050195107 0.0023682479 0.0048387883 + 1955300 0.0045741621 0.0020076468 0.0042589922 + 1955400 0.0038039197 0.0016487356 0.0035209773 + 1955500 0.0056133631 0.0016971895 0.0044600166 + 1955600 0.0039780835 0.0019722123 0.0039301753 + 1955700 0.0040127551 0.0024941871 0.004469215 + 1955800 0.0054595832 0.0028275734 0.005514712 + 1955900 0.0063029842 0.0027363005 0.0058385505 + 1956000 0.0051445844 0.0027147023 0.0052468024 + 1956100 0.0048667928 0.0029448916 0.0053402662 + 1956200 0.0040899994 0.0030969522 0.0051099987 + 1956300 0.0037899769 0.0029835146 0.0048488938 + 1956400 0.0048812065 0.0023568734 0.0047593423 + 1956500 0.0055074596 0.0019658601 0.0046765628 + 1956600 0.0058901341 0.0020758098 0.0049748602 + 1956700 0.0048194316 0.0025490661 0.0049211301 + 1956800 0.0046468987 0.0032572576 0.0055444031 + 1956900 0.0052343258 0.0033531535 0.0059294233 + 1957000 0.0055998221 0.0030170602 0.0057732226 + 1957100 0.0068342514 0.0022217251 0.0055854582 + 1957200 0.0051168869 0.0022720953 0.0047905631 + 1957300 0.0055558371 0.0026512202 0.0053857337 + 1957400 0.0053567749 0.0029787585 0.0056152962 + 1957500 0.0042399255 0.0029031937 0.004990032 + 1957600 0.0040041379 0.002232762 0.0042035486 + 1957700 0.004641315 0.002192824 0.0044772213 + 1957800 0.0050283382 0.0020983373 0.0045732225 + 1957900 0.0057780746 0.0019640651 0.0048079612 + 1958000 0.0057950254 0.0022857947 0.0051380338 + 1958100 0.0066803377 0.0023297289 0.0056177076 + 1958200 0.0043241561 0.0023626924 0.0044909879 + 1958300 0.0034570657 0.0024143197 0.0041158442 + 1958400 0.0073499538 0.0021226688 0.0057402242 + 1958500 0.0073945849 0.0020975105 0.0057370328 + 1958600 0.0040551392 0.002633804 0.0046296928 + 1958700 0.0046865437 0.0025870524 0.0048937107 + 1958800 0.0043491703 0.0027173619 0.0048579692 + 1958900 0.0055667036 0.0019983184 0.0047381803 + 1959000 0.0053060665 0.0019304823 0.0045420619 + 1959100 0.0047756449 0.0026499171 0.0050004299 + 1959200 0.0054528555 0.0024816743 0.0051655017 + 1959300 0.004815367 0.0024863101 0.0048563735 + 1959400 0.0055988808 0.0026555272 0.0054112264 + 1959500 0.0061027932 0.0023869042 0.0053906227 + 1959600 0.0060132203 0.0023539141 0.005313546 + 1959700 0.0043376207 0.0027019675 0.0048368902 + 1959800 0.0052857044 0.0026223824 0.00522394 + 1959900 0.0050688623 0.0026707624 0.0051655931 + 1960000 0.0046591238 0.0029970502 0.0052902127 + 1960100 0.005477859 0.0027695929 0.0054657266 + 1960200 0.0040375931 0.0026603595 0.0046476124 + 1960300 0.0046429165 0.0031988093 0.0054839947 + 1960400 0.0044887887 0.0033220371 0.0055313628 + 1960500 0.0066373727 0.0025943416 0.0058611735 + 1960600 0.0056922809 0.0024955233 0.0052971928 + 1960700 0.0041416495 0.0024605267 0.0044989948 + 1960800 0.0048993467 0.002402592 0.0048139892 + 1960900 0.0045304907 0.0029118729 0.0051417237 + 1961000 0.0042019432 0.0035134647 0.0055816086 + 1961100 0.0061618032 0.0037809757 0.0068137383 + 1961200 0.0049303858 0.0038546414 0.0062813157 + 1961300 0.0050455763 0.0033860774 0.0058694469 + 1961400 0.0061649589 0.0036026256 0.0066369413 + 1961500 0.0048234046 0.003484642 0.0058586614 + 1961600 0.0059422179 0.0032452576 0.006169943 + 1961700 0.0065296381 0.003098156 0.0063119623 + 1961800 0.0060899224 0.0034118878 0.0064092715 + 1961900 0.0052955754 0.0032686534 0.0058750694 + 1962000 0.0038683442 0.0033408285 0.0052447791 + 1962100 0.0063367427 0.0028744196 0.0059932851 + 1962200 0.005404768 0.0026065862 0.0052667454 + 1962300 0.0031756845 0.0022704803 0.0038335125 + 1962400 0.003420545 0.0019062778 0.0035898273 + 1962500 0.004691671 0.001735755 0.0040449368 + 1962600 0.0043914784 0.0019029559 0.0040643867 + 1962700 0.0027455303 0.0021064122 0.0034577279 + 1962800 0.0035606309 0.0020828882 0.0038353862 + 1962900 0.0058632975 0.0016839897 0.0045698315 + 1963000 0.00467719 0.001668561 0.0039706154 + 1963100 0.0042506773 0.0017901663 0.0038822966 + 1963200 0.0039646745 0.0019753484 0.0039267116 + 1963300 0.0051894469 0.0020689034 0.0046230843 + 1963400 0.0048809231 0.0022483025 0.0046506318 + 1963500 0.0048083714 0.0021423363 0.0045089566 + 1963600 0.0032428015 0.0022220203 0.0038180866 + 1963700 0.0028174699 0.0021783896 0.0035651131 + 1963800 0.0062744596 0.0020330543 0.0051212649 + 1963900 0.0041645521 0.0020185667 0.0040683072 + 1964000 0.0052158431 0.0019924735 0.0045596463 + 1964100 0.0036921621 0.0022743034 0.0040915394 + 1964200 0.0052800557 0.0023193504 0.0049181278 + 1964300 0.0067953305 0.0019550107 0.0052995874 + 1964400 0.006800689 0.0022361702 0.0055833843 + 1964500 0.0043669842 0.0029376954 0.0050870704 + 1964600 0.0053926428 0.0033148006 0.005968992 + 1964700 0.0047360625 0.0028978717 0.0052289024 + 1964800 0.0072769312 0.0024402664 0.0060218809 + 1964900 0.005094762 0.0023892467 0.0048968248 + 1965000 0.0044721133 0.0031615481 0.0053626664 + 1965100 0.0061740158 0.0026497547 0.0056885282 + 1965200 0.0066903482 0.0024959895 0.0057888953 + 1965300 0.0056803286 0.0020346543 0.004830441 + 1965400 0.006155835 0.0019636441 0.0049934691 + 1965500 0.0047015071 0.0023071994 0.0046212224 + 1965600 0.0061535427 0.0021489944 0.0051776912 + 1965700 0.0063394401 0.0019596995 0.0050798926 + 1965800 0.0039961068 0.0022404754 0.0042073092 + 1965900 0.0047642305 0.0019956955 0.0043405901 + 1966000 0.0058794784 0.0020433316 0.0049371373 + 1966100 0.0044863111 0.0026222613 0.0048303675 + 1966200 0.0089809411 0.0022778255 0.0066981325 + 1966300 0.0050404211 0.0027158817 0.005196714 + 1966400 0.0040094505 0.0030998228 0.0050732242 + 1966500 0.005631371 0.0031255424 0.0058972327 + 1966600 0.0051370621 0.002859266 0.0053876638 + 1966700 0.0042151008 0.0022332093 0.0043078293 + 1966800 0.0044673367 0.0022326175 0.0044313848 + 1966900 0.0033525125 0.0023818343 0.0040318991 + 1967000 0.0040219548 0.0022764338 0.0042559897 + 1967100 0.0046302799 0.0021484902 0.0044274561 + 1967200 0.0049714506 0.0020357125 0.0044825983 + 1967300 0.005977992 0.0021433671 0.00508566 + 1967400 0.0053902316 0.0020022409 0.0046552456 + 1967500 0.0046586404 0.0019883349 0.0042812595 + 1967600 0.0039033117 0.0023083811 0.0042295423 + 1967700 0.0043752254 0.0025024203 0.0046558515 + 1967800 0.0043589795 0.0024982533 0.0046436885 + 1967900 0.0052777293 0.0025180008 0.0051156332 + 1968000 0.0034189485 0.0024891574 0.0041719211 + 1968100 0.0048088533 0.0023660067 0.0047328642 + 1968200 0.0064220903 0.0022541356 0.0054150081 + 1968300 0.0060765069 0.0026611767 0.0056519575 + 1968400 0.0039367764 0.0027331653 0.0046707974 + 1968500 0.0060924498 0.0030554742 0.0060541019 + 1968600 0.00614092 0.0033329465 0.0063554306 + 1968700 0.0047542107 0.0029760359 0.0053159989 + 1968800 0.0054506215 0.0025875217 0.0052702495 + 1968900 0.0043579159 0.002381629 0.0045265407 + 1969000 0.0040054447 0.0024285121 0.0043999419 + 1969100 0.0042311652 0.0026493681 0.0047318947 + 1969200 0.0053567692 0.0024350446 0.0050715794 + 1969300 0.0056387297 0.002089391 0.0048647032 + 1969400 0.0051026868 0.0017434762 0.0042549549 + 1969500 0.0048391876 0.001917665 0.0042994526 + 1969600 0.0037442695 0.0018411399 0.0036840225 + 1969700 0.0041662021 0.0023597055 0.0044102581 + 1969800 0.0048332633 0.003008715 0.0053875868 + 1969900 0.0035195388 0.0031190537 0.0048513267 + 1970000 0.0037215918 0.0023704618 0.0042021828 + 1970100 0.0045265138 0.002228958 0.0044568515 + 1970200 0.0053884757 0.0022231472 0.0048752876 + 1970300 0.0060521133 0.0023611798 0.0053399543 + 1970400 0.0067249521 0.0024082083 0.0057181457 + 1970500 0.0056554492 0.0029147842 0.0056983256 + 1970600 0.0042355139 0.0033454496 0.0054301166 + 1970700 0.0052954485 0.0033357837 0.0059421372 + 1970800 0.0039578327 0.003382902 0.0053308978 + 1970900 0.0070756702 0.0033565376 0.006839094 + 1971000 0.0038925924 0.0033054241 0.0052213094 + 1971100 0.0057297208 0.0028192575 0.0056393545 + 1971200 0.0053615822 0.0030168347 0.0056557385 + 1971300 0.0047059075 0.0033849381 0.0057011269 + 1971400 0.0057164524 0.0028652423 0.0056788087 + 1971500 0.0055595605 0.002817329 0.0055536752 + 1971600 0.0058039023 0.0030304874 0.0058870956 + 1971700 0.0043448922 0.003096274 0.0052347757 + 1971800 0.0036321233 0.0029971895 0.0047848752 + 1971900 0.005140237 0.0029246325 0.0054545928 + 1972000 0.0047777658 0.0030824931 0.0054340497 + 1972100 0.0067663028 0.0032434707 0.0065737604 + 1972200 0.0059467742 0.003827276 0.0067542039 + 1972300 0.0052360169 0.0038464504 0.0064235524 + 1972400 0.0054253556 0.0033726987 0.006042991 + 1972500 0.0047094539 0.0027297566 0.0050476909 + 1972600 0.0049655731 0.0027897336 0.0052337266 + 1972700 0.0042014405 0.0028846031 0.0049524997 + 1972800 0.0067617805 0.0027408443 0.0060689082 + 1972900 0.0047488406 0.0035163253 0.0058536453 + 1973000 0.0050213518 0.0036927106 0.0061641572 + 1973100 0.0045958668 0.0034397612 0.0057017894 + 1973200 0.00491002 0.0029937584 0.0054104088 + 1973300 0.0060429046 0.0028447392 0.0058189814 + 1973400 0.0055203192 0.0025766793 0.0052937114 + 1973500 0.0055681405 0.0023389798 0.005079549 + 1973600 0.0043210092 0.0028398802 0.0049666269 + 1973700 0.0049103211 0.0028410593 0.005257858 + 1973800 0.0045391302 0.003143301 0.0053774041 + 1973900 0.0041241205 0.0026072632 0.0046371038 + 1974000 0.0051957384 0.0021001088 0.0046573864 + 1974100 0.0060325521 0.0020217554 0.0049909021 + 1974200 0.0047307958 0.0023757612 0.0047041998 + 1974300 0.0062928884 0.0022520228 0.0053493038 + 1974400 0.0048969188 0.0027798908 0.005190093 + 1974500 0.0060556348 0.0025749225 0.0055554303 + 1974600 0.0064805615 0.0021720665 0.0053617179 + 1974700 0.0044676811 0.0025536507 0.0047525875 + 1974800 0.0068051163 0.0028049398 0.006154333 + 1974900 0.0068328027 0.0024118326 0.0057748527 + 1975000 0.0055704185 0.0024589736 0.005200664 + 1975100 0.0059750587 0.0024398561 0.0053807053 + 1975200 0.0062643598 0.0023495976 0.0054328372 + 1975300 0.0060022128 0.0026989646 0.0056531788 + 1975400 0.0066336948 0.0025435592 0.0058085808 + 1975500 0.0055590611 0.0024328755 0.0051689759 + 1975600 0.0057934535 0.002595223 0.0054466884 + 1975700 0.0050700463 0.0028409376 0.005336351 + 1975800 0.0041203695 0.0026620262 0.0046900206 + 1975900 0.006391252 0.0022078384 0.0053535327 + 1976000 0.005554686 0.0020056826 0.0047396296 + 1976100 0.0056292475 0.0021034226 0.0048740678 + 1976200 0.0053536508 0.0026886722 0.0053236722 + 1976300 0.005483876 0.0026237706 0.0053228658 + 1976400 0.0049829385 0.0022140453 0.0046665854 + 1976500 0.0038646913 0.001928554 0.0038307067 + 1976600 0.0056354078 0.001951041 0.0047247183 + 1976700 0.006322617 0.0020049399 0.005116853 + 1976800 0.0068346506 0.0028231365 0.0061870661 + 1976900 0.004425002 0.0029317198 0.0051096504 + 1977000 0.0039872885 0.0028442901 0.0048067837 + 1977100 0.0051132872 0.0027037761 0.0052204721 + 1977200 0.0065234064 0.0023518813 0.0055626204 + 1977300 0.006834685 0.0024803098 0.0058442564 + 1977400 0.0048422499 0.0027909748 0.0051742697 + 1977500 0.003860027 0.0028217769 0.0047216339 + 1977600 0.004524088 0.0020753902 0.0043020897 + 1977700 0.0039299072 0.001968914 0.0039031652 + 1977800 0.0052786677 0.0016284221 0.0042265163 + 1977900 0.0058670623 0.0019257935 0.0048134883 + 1978000 0.005328742 0.0018319712 0.0044547114 + 1978100 0.0053149862 0.0015611072 0.004177077 + 1978200 0.0047016678 0.0017958738 0.0041099759 + 1978300 0.0040021215 0.0017083803 0.0036781744 + 1978400 0.0050191291 0.0019845438 0.0044548964 + 1978500 0.0053307985 0.0021834192 0.0048071716 + 1978600 0.0045795286 0.0015629799 0.0038169666 + 1978700 0.0040588884 0.0016023327 0.0036000669 + 1978800 0.0056087102 0.0017337129 0.00449425 + 1978900 0.0042195899 0.0016850083 0.0037618377 + 1979000 0.0041282468 0.001924472 0.0039563435 + 1979100 0.0041563346 0.0021684014 0.0042140974 + 1979200 0.0047855088 0.0019797408 0.0043351084 + 1979300 0.004713838 0.0022519439 0.004572036 + 1979400 0.0053922758 0.0024204081 0.0050744189 + 1979500 0.0044929275 0.0023548922 0.004566255 + 1979600 0.0052116931 0.002142128 0.0047072581 + 1979700 0.0044301591 0.002051807 0.0042322759 + 1979800 0.0049303952 0.0020448889 0.0044715678 + 1979900 0.0043640762 0.0023095794 0.0044575232 + 1980000 0.0066283108 0.0027330313 0.005995403 + 1980100 0.0059506906 0.0028329204 0.0057617759 + 1980200 0.0059808309 0.0020017151 0.0049454053 + 1980300 0.0040694112 0.0015880621 0.0035909755 + 1980400 0.0062363532 0.0014758557 0.0045453108 + 1980500 0.0053348598 0.0016729627 0.004298714 + 1980600 0.0060339265 0.002075905 0.0050457282 + 1980700 0.0058317331 0.0024649366 0.0053352428 + 1980800 0.0053585871 0.0025072608 0.0051446904 + 1980900 0.0047268588 0.0027389226 0.0050654234 + 1981000 0.0046919327 0.0025076764 0.004816987 + 1981100 0.0054195362 0.002119352 0.00478678 + 1981200 0.0049859359 0.002384692 0.0048387073 + 1981300 0.0046362027 0.0021999107 0.0044817917 + 1981400 0.004668489 0.0025675308 0.0048653027 + 1981500 0.0051245574 0.0023607949 0.004883038 + 1981600 0.0045853814 0.0029000395 0.0051569069 + 1981700 0.0040460053 0.0029528043 0.0049441976 + 1981800 0.0074680387 0.0022237666 0.0058994419 + 1981900 0.0053653048 0.0020252809 0.0046660168 + 1982000 0.0055223326 0.0019722649 0.004690288 + 1982100 0.0049637703 0.0020603435 0.0045034492 + 1982200 0.0056249922 0.0023490878 0.0051176387 + 1982300 0.004992881 0.0018096202 0.0042670538 + 1982400 0.0052150644 0.001666925 0.0042337145 + 1982500 0.005313939 0.0016009002 0.0042163545 + 1982600 0.0041870273 0.0016989236 0.0037597261 + 1982700 0.004182574 0.0020278464 0.004086457 + 1982800 0.0054656535 0.0018606793 0.0045508056 + 1982900 0.0070960884 0.0017181386 0.0052107446 + 1983000 0.0060347209 0.0021900075 0.0051602217 + 1983100 0.0035152978 0.0024311352 0.0041613209 + 1983200 0.0046516392 0.002079688 0.0043691666 + 1983300 0.0051688307 0.0020050591 0.004549093 + 1983400 0.0048165233 0.0022223044 0.0045929369 + 1983500 0.006040761 0.0028677546 0.0058409416 + 1983600 0.0046465971 0.0031376505 0.0054246475 + 1983700 0.0070986138 0.0034349895 0.0069288385 + 1983800 0.0056043517 0.0030140473 0.0057724392 + 1983900 0.0056223852 0.0027937842 0.005561052 + 1984000 0.0050532751 0.0024712755 0.0049584344 + 1984100 0.0056924885 0.0024401928 0.0052419645 + 1984200 0.0056846356 0.0021283476 0.0049262542 + 1984300 0.0039684604 0.0022801088 0.0042333354 + 1984400 0.0057022348 0.0023077644 0.0051143331 + 1984500 0.0050569045 0.0029058378 0.005394783 + 1984600 0.0042357858 0.0029254972 0.005010298 + 1984700 0.0061819768 0.002168067 0.0052107587 + 1984800 0.0045070634 0.0017174146 0.0039357348 + 1984900 0.0064325048 0.0016413865 0.0048073849 + 1985000 0.00469054 0.0022749654 0.0045835906 + 1985100 0.005221984 0.0023528129 0.0049230081 + 1985200 0.0034586036 0.0022755683 0.0039778498 + 1985300 0.0055984832 0.0021331389 0.0048886424 + 1985400 0.0048608198 0.0026110527 0.0050034875 + 1985500 0.0035728121 0.003113909 0.0048724025 + 1985600 0.0057716041 0.0024205499 0.0052612613 + 1985700 0.0056227728 0.0023218579 0.0050893164 + 1985800 0.0048254807 0.0024124083 0.0047874496 + 1985900 0.0043041213 0.002521663 0.0046400977 + 1986000 0.0060402316 0.0023918867 0.0053648131 + 1986100 0.0045195804 0.0025196187 0.0047440997 + 1986200 0.0056304062 0.0028655702 0.0056367858 + 1986300 0.004940732 0.0029267485 0.0053585151 + 1986400 0.0051048822 0.0025004927 0.0050130519 + 1986500 0.0051543479 0.0022587456 0.0047956512 + 1986600 0.0052495893 0.0020899933 0.0046737756 + 1986700 0.0057607706 0.0023671158 0.0052024951 + 1986800 0.0058301603 0.0021323223 0.0050018543 + 1986900 0.0055676168 0.0015264375 0.0042667489 + 1987000 0.0042138366 0.0014262963 0.003500294 + 1987100 0.0062862323 0.0016101627 0.0047041676 + 1987200 0.0058300172 0.0014433623 0.0043128239 + 1987300 0.0042680877 0.0016998945 0.0038005939 + 1987400 0.0056182989 0.0018484745 0.004613731 + 1987500 0.0065123996 0.001742609 0.0049479307 + 1987600 0.0056369884 0.0017309688 0.004505424 + 1987700 0.0048519312 0.002041564 0.0044296239 + 1987800 0.0046661666 0.0027280469 0.0050246757 + 1987900 0.0057507062 0.0029982409 0.0058286666 + 1988000 0.0046941817 0.0028044002 0.0051148177 + 1988100 0.0056456028 0.0021826056 0.0049613007 + 1988200 0.0054698025 0.0019572188 0.0046493872 + 1988300 0.0050247915 0.0023554816 0.0048286212 + 1988400 0.0042434649 0.0020184918 0.0041070722 + 1988500 0.0051100694 0.0018169564 0.0043320687 + 1988600 0.0064519371 0.0022968105 0.0054723733 + 1988700 0.004244774 0.0028191818 0.0049084065 + 1988800 0.0055475823 0.0023268452 0.0050572959 + 1988900 0.0047735124 0.0021846311 0.0045340942 + 1989000 0.0067925537 0.0021052906 0.0054485006 + 1989100 0.0053264826 0.0027883386 0.0054099668 + 1989200 0.0044899899 0.0026529638 0.0048628807 + 1989300 0.0044819859 0.0020405624 0.0042465398 + 1989400 0.0055102469 0.0020744229 0.0047864975 + 1989500 0.0032349766 0.0022298778 0.0038220928 + 1989600 0.0042232508 0.0024966295 0.0045752607 + 1989700 0.0058795448 0.0022546869 0.0051485253 + 1989800 0.0077871398 0.0024580206 0.0062907534 + 1989900 0.0066070218 0.0026114385 0.005863332 + 1990000 0.0055028717 0.0021736585 0.0048821031 + 1990100 0.0058517627 0.0019654744 0.0048456389 + 1990200 0.005259527 0.0023259082 0.0049145816 + 1990300 0.0039825638 0.0032344198 0.0051945879 + 1990400 0.0046223289 0.003680173 0.0059552254 + 1990500 0.0041608433 0.003327208 0.0053751231 + 1990600 0.0051822972 0.0020900233 0.0046406852 + 1990700 0.0045353647 0.0020709256 0.0043031754 + 1990800 0.004117584 0.0026043084 0.0046309317 + 1990900 0.0031785486 0.0023566873 0.0039211291 + 1991000 0.0046371325 0.0022251759 0.0045075145 + 1991100 0.0031842429 0.0021117931 0.0036790376 + 1991200 0.0064351612 0.0018734894 0.0050407954 + 1991300 0.0044154695 0.0017651334 0.0039383723 + 1991400 0.0051370601 0.001617819 0.0041462158 + 1991500 0.0068023705 0.0021464791 0.0054945208 + 1991600 0.004941278 0.0024908807 0.004922916 + 1991700 0.0071691365 0.0023977738 0.0059263332 + 1991800 0.004928178 0.0024002531 0.0048258407 + 1991900 0.0044836427 0.0024387138 0.0046455067 + 1992000 0.0043522849 0.002431429 0.0045735693 + 1992100 0.0055260491 0.0022524073 0.0049722596 + 1992200 0.0064724232 0.0022818623 0.0054675081 + 1992300 0.0057010022 0.0026553879 0.00546135 + 1992400 0.005649787 0.0021582975 0.0049390521 + 1992500 0.0059608769 0.001989569 0.0049234381 + 1992600 0.0044612397 0.0018231766 0.004018943 + 1992700 0.0054501286 0.0021690321 0.0048515173 + 1992800 0.0051572844 0.0027260947 0.0052644457 + 1992900 0.0041187454 0.0028101566 0.0048373517 + 1993000 0.0039292726 0.0028538619 0.0047878007 + 1993100 0.004333378 0.0026337387 0.0047665731 + 1993200 0.0055955453 0.0024484898 0.0052025472 + 1993300 0.0046788239 0.0021023181 0.0044051767 + 1993400 0.0054766711 0.0021039039 0.004799453 + 1993500 0.0044777734 0.0023353662 0.0045392704 + 1993600 0.0046387967 0.0020376463 0.0043208041 + 1993700 0.0067209752 0.0017739096 0.0050818896 + 1993800 0.0036846547 0.0021362854 0.0039498264 + 1993900 0.0035441194 0.0021016423 0.0038460136 + 1994000 0.0046487757 0.002166301 0.0044543703 + 1994100 0.0061404977 0.001974164 0.0049964402 + 1994200 0.0052462447 0.0025239715 0.0051061076 + 1994300 0.0061448229 0.0033154981 0.0063399032 + 1994400 0.0060807602 0.0030597861 0.0060526603 + 1994500 0.0055340069 0.0024630001 0.0051867691 + 1994600 0.0048207495 0.0024412778 0.0048139905 + 1994700 0.0056573062 0.0021671285 0.0049515839 + 1994800 0.0040610277 0.0024453574 0.0044441445 + 1994900 0.0055377006 0.0025202564 0.0052458435 + 1995000 0.0056677693 0.0025586879 0.0053482931 + 1995100 0.0050007413 0.002912869 0.0053741714 + 1995200 0.0036082484 0.0026871674 0.0044631022 + 1995300 0.0031404131 0.0025518402 0.0040975123 + 1995400 0.0045197622 0.0024076203 0.0046321908 + 1995500 0.0053878155 0.0022927619 0.0049445773 + 1995600 0.0055513181 0.0023714437 0.005103733 + 1995700 0.004986409 0.0021815935 0.0046358417 + 1995800 0.0059840528 0.0022040675 0.0051493435 + 1995900 0.0048047694 0.0028504619 0.0052153093 + 1996000 0.0041188062 0.0032162296 0.0052434545 + 1996100 0.0057045074 0.0030025305 0.0058102177 + 1996200 0.0053857785 0.0030991164 0.0057499293 + 1996300 0.004934022 0.0032275728 0.0056560368 + 1996400 0.0052477409 0.0029614228 0.0055442952 + 1996500 0.0057506584 0.0026090882 0.0054394904 + 1996600 0.0054215917 0.0028450729 0.0055135126 + 1996700 0.0040779023 0.0029812633 0.0049883559 + 1996800 0.004955063 0.0029577484 0.0053965685 + 1996900 0.0045757937 0.0030085418 0.0052606903 + 1997000 0.0042222687 0.0030588955 0.0051370433 + 1997100 0.0046832438 0.002815517 0.005120551 + 1997200 0.0051500003 0.0021958113 0.004730577 + 1997300 0.0045633612 0.0017893532 0.0040353825 + 1997400 0.0036703158 0.0018360092 0.0036424928 + 1997500 0.0044518319 0.002115422 0.0043065581 + 1997600 0.0047498709 0.0023608622 0.0046986893 + 1997700 0.0059294019 0.0022669779 0.0051853554 + 1997800 0.0039899174 0.0024775314 0.0044413189 + 1997900 0.0055844392 0.0021641055 0.0049126966 + 1998000 0.0051106512 0.0018176641 0.0043330627 + 1998100 0.0056143278 0.0022659689 0.0050292709 + 1998200 0.0043151851 0.0025546655 0.0046785456 + 1998300 0.0052712957 0.0024152156 0.0050096815 + 1998400 0.0042348839 0.0024296798 0.0045140367 + 1998500 0.0030287342 0.002623803 0.0041145081 + 1998600 0.0055051309 0.0021173655 0.0048269221 + 1998700 0.0057217041 0.0017686861 0.0045848373 + 1998800 0.0048875419 0.0018746291 0.0042802161 + 1998900 0.007364676 0.0019868413 0.0056116428 + 1999000 0.0053002642 0.0021333448 0.0047420686 + 1999100 0.0044239819 0.0026956169 0.0048730454 + 1999200 0.0037866761 0.0031115123 0.0049752669 + 1999300 0.0045921308 0.0027207583 0.0049809477 + 1999400 0.0052107996 0.0020772636 0.004641954 + 1999500 0.0049143451 0.001868372 0.0042871512 + 1999600 0.0059949807 0.0022728405 0.0052234951 + 1999700 0.0050216233 0.002669087 0.0051406673 + 1999800 0.0049219953 0.0025093587 0.0049319033 + 1999900 0.0045165212 0.0022190108 0.004441986 + 2000000 0.0049904073 0.001955233 0.0044114491 +Loop time of 22.6651 on 4 procs for 2000000 steps with 64 atoms + +Performance: 38120276.772 tau/day, 88241.381 timesteps/s, 5.647 Matom-step/s +96.8% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0.37899 | 0.39755 | 0.41982 | 2.3 | 1.75 +Neigh | 2.9184 | 3.0178 | 3.1717 | 5.4 | 13.31 +Comm | 10.429 | 10.694 | 11.003 | 6.2 | 47.18 +Output | 0.12974 | 0.14293 | 0.17878 | 5.5 | 0.63 +Modify | 6.4203 | 6.5794 | 6.7365 | 4.5 | 29.03 +Other | | 1.833 | | | 8.09 + +Nlocal: 16 ave 16 max 16 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 4 ave 4 max 4 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 6 +Neighbor list builds = 2000000 +Dangerous builds not checked +Total wall time: 0:00:22 diff --git a/examples/PACKAGES/phonon/2-1D-diatomic/log.lammps b/examples/PACKAGES/phonon/2-1D-diatomic/log.lammps deleted file mode 100644 index b5867bb658..0000000000 --- a/examples/PACKAGES/phonon/2-1D-diatomic/log.lammps +++ /dev/null @@ -1,20088 +0,0 @@ -LAMMPS (23 Sep 2013) -# 3D simple cubic lattice simulation -dimension 2 -boundary p f p - -units lj -atom_style bond -atom_modify sort 0 1. -bond_style harmonic -pair_style none -communicate single cutoff 2.0 - -# geometry -read_data data.pos - 2 = max bonds/atom - orthogonal box = (0 0 0) to (64 1 1) - 1 by 1 by 1 MPI processor grid - 64 atoms - 64 bonds - 2 = max # of 1-2 neighbors - 2 = max # of 1-3 neighbors - 4 = max # of 1-4 neighbors - 6 = max # of special neighbors - -# -neighbor 1.0 nsq -neigh_modify delay 0 check no - -#Langevin random seed -variable r equal 571101 - -#Langevin Temperature -variable t equal 0.005 - -# Langevin Damping variable -variable d equal 0.5 - -# Create velocities and equilibrate -compute MyTemp all temp/partial 1 0 0 -velocity all create $t 28711 mom yes rot yes dist gaussian temp MyTemp -velocity all create 0.0050000000000000001041 28711 mom yes rot yes dist gaussian temp MyTemp -velocity all set NULL 0.0 0.0 units box -# -fix 1 all langevin $t $t $d $r -fix 1 all langevin 0.0050000000000000001041 $t $d $r -fix 1 all langevin 0.0050000000000000001041 0.0050000000000000001041 $d $r -fix 1 all langevin 0.0050000000000000001041 0.0050000000000000001041 0.5 $r -fix 1 all langevin 0.0050000000000000001041 0.0050000000000000001041 0.5 571101 -fix_modify 1 temp MyTemp -fix 2 all setforce NULL 0. 0. -fix 3 all nve -fix 4 all phonon 10 50000 500000 map.in phonon sysdim 1 -fix_modify 4 temp MyTemp - -# 1 2 3 4 -thermo_style custom step temp pe etotal -thermo_modify temp MyTemp -thermo 100 - -# -run 2000000 -Memory usage per processor = 2.01061 Mbytes -Step Temp PotEng TotEng - 0 0.005 0 0.002421875 - 100 0.0044233185 0.00069227571 0.0028348206 - 200 0.0051557212 0.0012425996 0.003739902 - 300 0.004357315 0.0012750554 0.0033856298 - 400 0.0048269093 0.0014376622 0.0037756964 - 500 0.0047025425 0.0016352541 0.0039130482 - 600 0.0054651713 0.0016709504 0.0043181428 - 700 0.0053552729 0.0018353947 0.0044293551 - 800 0.005954909 0.0019755263 0.0048599354 - 900 0.0042057592 0.0023020508 0.0043392155 - 1000 0.0057669621 0.0025897902 0.0053831625 - 1100 0.0040680049 0.0026989519 0.0046693918 - 1200 0.0046829459 0.0024368094 0.0047051113 - 1300 0.0044905385 0.0024665322 0.0046416368 - 1400 0.0074275036 0.0018704053 0.0054681024 - 1500 0.0052733986 0.0017110596 0.0042653621 - 1600 0.0045302499 0.0017525366 0.0039468764 - 1700 0.0055159362 0.002127395 0.0047991766 - 1800 0.0051833134 0.0024402092 0.0049508766 - 1900 0.0052803653 0.0024879535 0.0050456305 - 2000 0.0056694273 0.0023283837 0.0050745125 - 2100 0.0057566849 0.0021451166 0.0049335108 - 2200 0.00386807 0.0021520647 0.0040256611 - 2300 0.0058041566 0.0023206647 0.0051320531 - 2400 0.0049628786 0.0021353417 0.004539236 - 2500 0.0047613146 0.0019441945 0.0042504562 - 2600 0.0040749997 0.002513164 0.004486992 - 2700 0.0058050329 0.0028770553 0.0056888682 - 2800 0.0047471027 0.0030253369 0.0053247148 - 2900 0.0052674274 0.0019963239 0.004547734 - 3000 0.0070755768 0.0012651894 0.0046924219 - 3100 0.004904144 0.001906362 0.0042818068 - 3200 0.0046180231 0.0022520542 0.0044889091 - 3300 0.0047402454 0.0022380719 0.0045341283 - 3400 0.004526243 0.0019165088 0.0041089077 - 3500 0.0040109678 0.0018036815 0.003746494 - 3600 0.0046845845 0.0022599412 0.0045290368 - 3700 0.0045085962 0.0024312547 0.0046151059 - 3800 0.005224178 0.002911252 0.0054417132 - 3900 0.0062560876 0.00261489 0.0056451824 - 4000 0.0062177588 0.0026008254 0.0056125523 - 4100 0.0065797211 0.0026930138 0.0058800662 - 4200 0.0066811803 0.0023916324 0.0056278291 - 4300 0.0062371547 0.0022726451 0.0052937669 - 4400 0.0059163392 0.0022861682 0.005151895 - 4500 0.0062722067 0.0026254197 0.0056635198 - 4600 0.0040357278 0.0030401402 0.0049949458 - 4700 0.004112287 0.0028318222 0.0048237112 - 4800 0.0049222174 0.0026333499 0.0050175489 - 4900 0.0053288359 0.0023349026 0.0049160575 - 5000 0.0052122846 0.0020219366 0.0045466369 - 5100 0.0058812614 0.0021999893 0.0050487252 - 5200 0.0051967264 0.0018998782 0.0044170426 - 5300 0.005879625 0.0019625602 0.0048105036 - 5400 0.0059624731 0.0021443126 0.0050323855 - 5500 0.0059591574 0.0023506099 0.0052370768 - 5600 0.003079608 0.0029662562 0.0044579413 - 5700 0.0056499809 0.0030961313 0.0058328408 - 5800 0.004573757 0.0024716554 0.004687069 - 5900 0.0061564453 0.0021550869 0.0051371151 - 6000 0.0075508592 0.0021537409 0.0058111883 - 6100 0.0063879372 0.0024185024 0.0055126595 - 6200 0.0041526115 0.0027590092 0.0047704304 - 6300 0.0053061863 0.0025648127 0.0051349967 - 6400 0.006060304 0.0027159393 0.0056513991 - 6500 0.0056452086 0.0030946398 0.0058290377 - 6600 0.0041209765 0.0033636656 0.0053597636 - 6700 0.0045845779 0.0028218743 0.0050425293 - 6800 0.0059546759 0.0023227413 0.0052070374 - 6900 0.0040117754 0.0023341431 0.0042773468 - 7000 0.0042824332 0.0023350167 0.0044093203 - 7100 0.0055815793 0.0020343862 0.0047379636 - 7200 0.0047361478 0.0021430515 0.0044371231 - 7300 0.0046591248 0.0021899851 0.0044467487 - 7400 0.0055490678 0.0024363348 0.0051241645 - 7500 0.0062602828 0.0022183901 0.0052507145 - 7600 0.0071038558 0.0023618503 0.0058027804 - 7700 0.0049840045 0.0028164024 0.0052305296 - 7800 0.0060742119 0.0028555113 0.0057977076 - 7900 0.0057662888 0.0026868797 0.0054799259 - 8000 0.0055472766 0.0026213197 0.0053082818 - 8100 0.0061220787 0.0024665333 0.0054319151 - 8200 0.0035301258 0.0022766722 0.0039865769 - 8300 0.0047057949 0.0020748339 0.0043542033 - 8400 0.0056584891 0.0025104488 0.0052512795 - 8500 0.0052931944 0.0031335003 0.0056973914 - 8600 0.006813214 0.0031081279 0.0064082784 - 8700 0.0057000798 0.0031294549 0.0058904311 - 8800 0.0063988595 0.0029939656 0.0060934132 - 8900 0.0050809819 0.0033860223 0.0058471229 - 9000 0.0058880586 0.0027651879 0.0056172163 - 9100 0.0051273933 0.0025437215 0.0050273027 - 9200 0.0043046349 0.0024518668 0.0045369243 - 9300 0.006666349 0.0021761986 0.0054052113 - 9400 0.0047012258 0.0027272975 0.0050044538 - 9500 0.0051760716 0.0035739909 0.0060811506 - 9600 0.0057728292 0.0032402839 0.006036498 - 9700 0.0055216035 0.0027984706 0.0054729973 - 9800 0.004703682 0.0029933541 0.0052717001 - 9900 0.0041593147 0.0030192883 0.0050339564 - 10000 0.0046929175 0.0027902403 0.0050633722 - 10100 0.0055668751 0.0024845169 0.005180972 - 10200 0.0037097247 0.0027718476 0.0045687455 - 10300 0.0059339557 0.0024143878 0.0052886476 - 10400 0.0062305492 0.0023004427 0.0053183649 - 10500 0.006469886 0.0023585975 0.0054924485 - 10600 0.005657095 0.0024652988 0.0052054542 - 10700 0.0045489624 0.0022108292 0.0044142329 - 10800 0.0039137671 0.0021290713 0.0040248023 - 10900 0.0060584769 0.0014383624 0.0043729371 - 11000 0.0047773964 0.0017109606 0.0040250119 - 11100 0.0049103899 0.0022149005 0.0045933706 - 11200 0.0046635517 0.0023331593 0.0045920672 - 11300 0.0058616014 0.0023070819 0.0051462951 - 11400 0.0058097494 0.0021263416 0.0049404389 - 11500 0.0042942986 0.0014448672 0.003524918 - 11600 0.0040720183 0.0016123951 0.0035847789 - 11700 0.0053356245 0.0021014328 0.0046858759 - 11800 0.004687293 0.0021548492 0.0044252567 - 11900 0.0063532628 0.0019672104 0.005044572 - 12000 0.0043395406 0.0022585224 0.0043604874 - 12100 0.0053231095 0.0021427925 0.0047211737 - 12200 0.0048807984 0.0020771697 0.0044413064 - 12300 0.005499659 0.0021925484 0.0048564457 - 12400 0.005787679 0.0024101225 0.0052135295 - 12500 0.0040004679 0.0025784294 0.0045161561 - 12600 0.0058999596 0.0023774445 0.0052352374 - 12700 0.0051056486 0.0021385748 0.0046116234 - 12800 0.0047215983 0.002353936 0.0046409602 - 12900 0.0041353898 0.0026153486 0.0046184281 - 13000 0.0051901137 0.0025926707 0.0051066321 - 13100 0.0060193473 0.0023755093 0.0052911307 - 13200 0.005107327 0.0027866382 0.0052604997 - 13300 0.0047592681 0.0028306117 0.0051358822 - 13400 0.0061681377 0.002657851 0.0056455427 - 13500 0.0072085778 0.0028599475 0.0063516024 - 13600 0.0050179552 0.0027511364 0.0051817084 - 13700 0.0059074923 0.0022787841 0.0051402257 - 13800 0.0051721231 0.0023292898 0.0048345369 - 13900 0.0056939157 0.0020847768 0.0048427673 - 14000 0.0049202318 0.0020644018 0.0044476391 - 14100 0.0040767722 0.0020900385 0.004064725 - 14200 0.0060941803 0.0018489783 0.0048008469 - 14300 0.0054383001 0.0020061738 0.0046403505 - 14400 0.0053425018 0.0021812163 0.0047689906 - 14500 0.0058368713 0.0024358519 0.0052630865 - 14600 0.0054571894 0.0023154743 0.0049588004 - 14700 0.0056178837 0.0023659893 0.0050871518 - 14800 0.0064882962 0.0020825205 0.0052252889 - 14900 0.005756471 0.0021430626 0.0049313532 - 15000 0.0046968536 0.0026066542 0.0048816927 - 15100 0.004720725 0.0032852489 0.0055718501 - 15200 0.0041348554 0.0029406617 0.0049434823 - 15300 0.0066270017 0.0024823417 0.0056922957 - 15400 0.0062516894 0.0023389147 0.0053670767 - 15500 0.0063330891 0.0025187531 0.0055863432 - 15600 0.0037977587 0.0029118772 0.0047514165 - 15700 0.0060562637 0.0031529593 0.006086462 - 15800 0.0043590131 0.0042309954 0.0063423924 - 15900 0.0054996632 0.0039737454 0.0066376448 - 16000 0.0041029463 0.0027442708 0.0047316355 - 16100 0.0042593335 0.00241485 0.0044779647 - 16200 0.0042988081 0.0023259836 0.0044082188 - 16300 0.0041297023 0.0022021148 0.0042024394 - 16400 0.0061941988 0.0022393604 0.0052396755 - 16500 0.0048353816 0.002554023 0.0048961609 - 16600 0.0038443719 0.0027341543 0.0045962719 - 16700 0.0061213827 0.0026077704 0.0055728152 - 16800 0.0047782061 0.0025470655 0.0048615091 - 16900 0.0039175995 0.0029583529 0.0048559402 - 17000 0.0061051305 0.0026385274 0.0055957 - 17100 0.0068087722 0.0022961877 0.0055941868 - 17200 0.0055006619 0.0019430445 0.0046074277 - 17300 0.0055775768 0.0016768303 0.0043784691 - 17400 0.0046182935 0.0014177136 0.0036546995 - 17500 0.0055841841 0.0017164119 0.0044212511 - 17600 0.0059014797 0.0020151382 0.0048736675 - 17700 0.0050213328 0.0020801248 0.0045123329 - 17800 0.0038746517 0.0018465872 0.0037233716 - 17900 0.0052844911 0.0016009704 0.0041606458 - 18000 0.0035418291 0.0019176939 0.0036332673 - 18100 0.0051249341 0.0021592843 0.0046416743 - 18200 0.0051268243 0.0024105073 0.0048938128 - 18300 0.0044284461 0.0029788146 0.0051238432 - 18400 0.0054172764 0.0033614937 0.005985487 - 18500 0.0049756673 0.0036188793 0.0060289681 - 18600 0.0048959297 0.0029290296 0.0053004956 - 18700 0.0055142947 0.0025621639 0.0052331504 - 18800 0.0051765163 0.0026813913 0.0051887663 - 18900 0.0040512918 0.0032544717 0.0052168162 - 19000 0.0044329832 0.0029897042 0.0051369304 - 19100 0.0046617492 0.0027504707 0.0050085055 - 19200 0.0066856654 0.0029502301 0.0061885992 - 19300 0.005695229 0.0032255642 0.0059841907 - 19400 0.0054773421 0.0030408839 0.0056939715 - 19500 0.0058641449 0.0028107365 0.0056511817 - 19600 0.0051606233 0.0032742325 0.0057739094 - 19700 0.006336015 0.0039769501 0.0070459574 - 19800 0.005961745 0.0038052578 0.0066929781 - 19900 0.0050629494 0.0031771549 0.005629521 - 20000 0.0048692221 0.0031411072 0.0054996367 - 20100 0.0051220625 0.0035425191 0.0060235181 - 20200 0.0059705121 0.0034199888 0.0063119556 - 20300 0.0064367845 0.0037184565 0.006836274 - 20400 0.0035516568 0.0040344529 0.0057547867 - 20500 0.0068050837 0.0032583702 0.0065545826 - 20600 0.0059588791 0.0028310909 0.0057174229 - 20700 0.0043616569 0.0031799688 0.0052926464 - 20800 0.0057048259 0.0033570742 0.0061203492 - 20900 0.0080710352 0.0026310052 0.0065404129 - 21000 0.0059029844 0.0023584706 0.0052177287 - 21100 0.0051953361 0.0027721438 0.0052886347 - 21200 0.0056943428 0.0029476308 0.0057058281 - 21300 0.0049915906 0.0033105902 0.0057283919 - 21400 0.0061267053 0.0026490823 0.0056167052 - 21500 0.0064465952 0.002037581 0.0051601506 - 21600 0.0041680365 0.0025317962 0.0045506889 - 21700 0.0050285899 0.0027899923 0.0052257155 - 21800 0.0054184947 0.0028818109 0.0055063943 - 21900 0.0057267707 0.0030080119 0.0057819164 - 22000 0.0054268504 0.0029637096 0.0055923403 - 22100 0.0067493917 0.0027743804 0.006043617 - 22200 0.0045902214 0.0027471146 0.0049705031 - 22300 0.0059222982 0.0031696808 0.006038294 - 22400 0.0048914946 0.0035294815 0.0058987992 - 22500 0.0040811307 0.0031259245 0.0051027222 - 22600 0.0055866271 0.0029409967 0.0056470192 - 22700 0.0036328459 0.0028084271 0.0045680868 - 22800 0.0051276977 0.0028518928 0.0053356213 - 22900 0.0051798654 0.0031764952 0.0056854925 - 23000 0.0063744515 0.0033434283 0.0064310533 - 23100 0.0060796668 0.0033795647 0.0063244033 - 23200 0.0069620292 0.0038535022 0.0072257351 - 23300 0.00545905 0.0040805422 0.0067247696 - 23400 0.0039613172 0.0037091454 0.0056279085 - 23500 0.0044549281 0.0033245481 0.0054824039 - 23600 0.0054469272 0.0030351464 0.0056735018 - 23700 0.0050671251 0.0033868405 0.0058412292 - 23800 0.0056075201 0.0035940982 0.0063102407 - 23900 0.0061485936 0.0035529151 0.0065311401 - 24000 0.0053796477 0.003261894 0.0058676608 - 24100 0.00472662 0.0022780761 0.0045675327 - 24200 0.004909189 0.0021154602 0.0044933486 - 24300 0.0046818374 0.0026013054 0.0048690704 - 24400 0.0056878596 0.0026242394 0.0053792964 - 24500 0.0049548837 0.0023025163 0.0047025381 - 24600 0.0058855025 0.0020313353 0.0048821255 - 24700 0.0057197921 0.001865509 0.0046360333 - 24800 0.0045906296 0.0018954295 0.0041190156 - 24900 0.0053914928 0.0018988531 0.0045103574 - 25000 0.0052923355 0.0019126127 0.0044760877 - 25100 0.0055086636 0.0022551009 0.0049233598 - 25200 0.0050354993 0.0025207667 0.0049598366 - 25300 0.0062771114 0.002689693 0.0057301688 - 25400 0.0051407684 0.0026353614 0.0051254211 - 25500 0.0049473786 0.002035293 0.0044316795 - 25600 0.0049497931 0.0017289305 0.0041264865 - 25700 0.0038828638 0.0017067677 0.0035875299 - 25800 0.0041032253 0.0016555139 0.0036430136 - 25900 0.0043960907 0.0019220131 0.0040513695 - 26000 0.0054947112 0.0019971585 0.0046586592 - 26100 0.0050400022 0.0025193504 0.0049606015 - 26200 0.0057018652 0.0025971986 0.0053590396 - 26300 0.005011558 0.0026140868 0.0050415602 - 26400 0.0054824751 0.0030303377 0.0056859116 - 26500 0.0046574698 0.0032112751 0.0054672371 - 26600 0.0049652224 0.0034011085 0.0058061381 - 26700 0.0061257817 0.0030244937 0.0059916692 - 26800 0.005980876 0.0023447196 0.0052417064 - 26900 0.0060087308 0.0021342555 0.0050447345 - 27000 0.0048195443 0.0022132999 0.0045477667 - 27100 0.0046801222 0.0022269075 0.0044938417 - 27200 0.0048517121 0.0018881337 0.0042381817 - 27300 0.0049279497 0.0019983652 0.0043853408 - 27400 0.0056404921 0.0022896346 0.005021748 - 27500 0.0035470369 0.0020012119 0.0037193079 - 27600 0.0046343287 0.0015742386 0.0038189915 - 27700 0.0055773176 0.0020371974 0.0047387107 - 27800 0.0044427908 0.0021849169 0.0043368936 - 27900 0.0060403259 0.0021016061 0.0050273889 - 28000 0.0062634535 0.0020122561 0.0050461164 - 28100 0.0041086235 0.0020061686 0.0039962831 - 28200 0.0057899213 0.0018915964 0.0046960896 - 28300 0.0044324131 0.0016828195 0.0038297696 - 28400 0.0050883025 0.0020824193 0.0045470658 - 28500 0.0049381249 0.0021670207 0.004558925 - 28600 0.0050259897 0.0024610669 0.0048955306 - 28700 0.0049500964 0.0019898824 0.0043875854 - 28800 0.0050759356 0.0020809308 0.0045395871 - 28900 0.0040248015 0.0027204362 0.0046699494 - 29000 0.0047153614 0.0026787292 0.0049627323 - 29100 0.0040957835 0.0024111307 0.0043950258 - 29200 0.0056519885 0.0021787617 0.0049164437 - 29300 0.0047676273 0.0023988021 0.0047081216 - 29400 0.0055401434 0.0021774177 0.0048609246 - 29500 0.0049873906 0.0023485753 0.0047643426 - 29600 0.0044948166 0.0027077998 0.0048849766 - 29700 0.0045424759 0.0030638874 0.0052641492 - 29800 0.0058669608 0.0032529844 0.0060947935 - 29900 0.0048799697 0.0027421848 0.0051059202 - 30000 0.0056811578 0.002309364 0.0050611748 - 30100 0.0047488378 0.0021725318 0.0044727501 - 30200 0.0049144139 0.0019817158 0.0043621351 - 30300 0.0057501213 0.0021028142 0.0048880292 - 30400 0.0042716315 0.0025429944 0.004612066 - 30500 0.0067528421 0.0028193599 0.0060902678 - 30600 0.0057971722 0.0027646877 0.005572693 - 30700 0.0046519658 0.0021713071 0.0044246031 - 30800 0.0062556802 0.0024026847 0.0054327798 - 30900 0.0062369515 0.0028131674 0.0058341908 - 31000 0.0058799256 0.0033815814 0.0062296703 - 31100 0.0056127161 0.0032625824 0.0059812417 - 31200 0.0059713954 0.0032344169 0.0061268115 - 31300 0.0038908456 0.0033710537 0.005255682 - 31400 0.0052843391 0.0023752877 0.0049348894 - 31500 0.0046910063 0.0022372171 0.0045094233 - 31600 0.0055172099 0.0022328649 0.0049052634 - 31700 0.0053802906 0.0023889173 0.0049949955 - 31800 0.0038325771 0.0033449711 0.0052013757 - 31900 0.0037186998 0.0034627943 0.0052640395 - 32000 0.0049583079 0.0033150552 0.0057167356 - 32100 0.0053326022 0.0037481206 0.0063310998 - 32200 0.0057556792 0.0037742283 0.0065621354 - 32300 0.0051391774 0.0033843618 0.0058736509 - 32400 0.006500734 0.0030393375 0.0061881305 - 32500 0.0045531068 0.0030148805 0.0052202916 - 32600 0.0073127557 0.002436045 0.005978161 - 32700 0.0055198561 0.0020534511 0.0047271314 - 32800 0.0046088417 0.0024366817 0.0046690894 - 32900 0.0044566327 0.0025665994 0.0047252809 - 33000 0.0062871 0.0024855066 0.0055308207 - 33100 0.0061567926 0.0029374257 0.0059196221 - 33200 0.0052775834 0.0029602392 0.0055165687 - 33300 0.004685985 0.0026471956 0.0049169696 - 33400 0.0049421143 0.0024079735 0.0048018101 - 33500 0.0051545234 0.0025147584 0.0050114806 - 33600 0.0045488623 0.0025390452 0.0047424003 - 33700 0.0055326329 0.0022224498 0.0049023188 - 33800 0.0052992461 0.0025359157 0.005102738 - 33900 0.0057505741 0.0023395306 0.005124965 - 34000 0.0058652694 0.0023020932 0.0051430831 - 34100 0.0061933253 0.0021174817 0.0051173736 - 34200 0.0046537724 0.0025895065 0.0048436775 - 34300 0.004264356 0.0028746019 0.0049401494 - 34400 0.0042366824 0.0028783879 0.0049305309 - 34500 0.0057063776 0.0022336498 0.0049976764 - 34600 0.005758766 0.0025030016 0.0052924039 - 34700 0.0049833459 0.0027923014 0.0052061095 - 34800 0.0052309003 0.0028121502 0.0053458675 - 34900 0.005864006 0.0025934089 0.0054337868 - 35000 0.0044589164 0.0025795618 0.0047393495 - 35100 0.0033028726 0.0027300683 0.0043298972 - 35200 0.0044310294 0.0026994133 0.0048456932 - 35300 0.0050963569 0.0023707266 0.0048392745 - 35400 0.0039651028 0.0020705618 0.0039911584 - 35500 0.0045984269 0.0021294605 0.0043568236 - 35600 0.0060885016 0.0019210399 0.0048701579 - 35700 0.0051118945 0.0021462282 0.0046223021 - 35800 0.0062500349 0.0022475991 0.0052749598 - 35900 0.0045383142 0.0025734167 0.0047716626 - 36000 0.0046724525 0.0024962743 0.0047594935 - 36100 0.0055275874 0.0026324039 0.005309829 - 36200 0.0035475281 0.0024770701 0.004195404 - 36300 0.004057809 0.0023731267 0.0043386279 - 36400 0.0050400913 0.00202538 0.0044666742 - 36500 0.0045837726 0.002006235 0.0042264998 - 36600 0.0048101942 0.0020225857 0.0043525235 - 36700 0.0051934098 0.0018959513 0.0044115092 - 36800 0.0050127358 0.0020565516 0.0044845955 - 36900 0.0053246432 0.0020928223 0.0046719463 - 37000 0.0053723732 0.0027875044 0.0053897477 - 37100 0.0049468732 0.0031870831 0.0055832248 - 37200 0.006831562 0.0028839943 0.0061930321 - 37300 0.0063607127 0.0026862884 0.0057672587 - 37400 0.0054788572 0.002514145 0.0051679664 - 37500 0.0054031478 0.0026456973 0.005262847 - 37600 0.0039371481 0.0025561282 0.0044631844 - 37700 0.0066068788 0.0020766222 0.0052768291 - 37800 0.0032801454 0.0020764102 0.0036652307 - 37900 0.0041339612 0.0026674868 0.0046698742 - 38000 0.0055823449 0.0032666872 0.0059706355 - 38100 0.005973594 0.0035272518 0.0064207114 - 38200 0.0065961453 0.0031633082 0.0063583161 - 38300 0.0040993355 0.0030945568 0.0050801724 - 38400 0.0056239193 0.0026509411 0.005375027 - 38500 0.0054596641 0.0024468678 0.0050913925 - 38600 0.0047467989 0.0024470794 0.0047463101 - 38700 0.0051589986 0.0024852238 0.0049841137 - 38800 0.0040314269 0.0023425102 0.0042952326 - 38900 0.0055494799 0.0024739439 0.0051619732 - 39000 0.0057123393 0.0029043123 0.0056712266 - 39100 0.004762561 0.0031165168 0.0054233823 - 39200 0.0045190791 0.0034780146 0.0056669435 - 39300 0.0053509933 0.0032816447 0.005873532 - 39400 0.0066184379 0.0027647815 0.0059705874 - 39500 0.004686954 0.0027430682 0.0050133115 - 39600 0.0040613984 0.0027835233 0.0047507631 - 39700 0.00436362 0.0028185692 0.0049321977 - 39800 0.0041818019 0.0026689778 0.0046945381 - 39900 0.0044652386 0.0026446309 0.0048074808 - 40000 0.0043859781 0.0029722398 0.0050966979 - 40100 0.0048911651 0.0035377264 0.0059068845 - 40200 0.0054885033 0.0034219954 0.0060804892 - 40300 0.0048882782 0.003313088 0.0056808478 - 40400 0.0045649906 0.002663118 0.0048742853 - 40500 0.0032042203 0.0025591672 0.0041112114 - 40600 0.0037560453 0.0024499954 0.0042693299 - 40700 0.0050624348 0.0023781604 0.0048302772 - 40800 0.0050378892 0.0028467059 0.0052869335 - 40900 0.0041181479 0.002696186 0.0046909139 - 41000 0.0035577537 0.0024444495 0.0041677365 - 41100 0.0040897334 0.0020456915 0.0040266561 - 41200 0.0061506262 0.0023639004 0.0053431099 - 41300 0.0059776113 0.0025750297 0.0054704352 - 41400 0.00577835 0.0026284328 0.0054273211 - 41500 0.0054837764 0.0029007679 0.0055569721 - 41600 0.0053454726 0.002971531 0.0055607443 - 41700 0.0049686369 0.0028284588 0.0052351423 - 41800 0.0053946647 0.0028582538 0.0054712945 - 41900 0.0062644531 0.0027138489 0.0057481934 - 42000 0.0049638948 0.0025881998 0.0049925863 - 42100 0.0052367551 0.0024496317 0.004986185 - 42200 0.0055528583 0.0021027513 0.0047924171 - 42300 0.0064240321 0.0023581031 0.0054697437 - 42400 0.0048573302 0.0025692651 0.0049220344 - 42500 0.0055153024 0.0025061428 0.0051776174 - 42600 0.0053402657 0.002518657 0.0051053482 - 42700 0.0055903918 0.002742837 0.005450683 - 42800 0.0042357447 0.0025491503 0.0046008391 - 42900 0.0062111691 0.0024254143 0.0054339493 - 43000 0.0058532768 0.0024727352 0.0053079161 - 43100 0.0064674118 0.0021505975 0.0052832501 - 43200 0.0076669666 0.0020239967 0.0057376837 - 43300 0.0059820853 0.0025064513 0.0054040239 - 43400 0.0037967844 0.0028834415 0.0047225089 - 43500 0.0050749536 0.0028538958 0.0053120764 - 43600 0.0048557888 0.0027304777 0.0050825004 - 43700 0.0051716941 0.0030697631 0.0055748024 - 43800 0.0052060302 0.0033859119 0.0059075827 - 43900 0.0057196614 0.0025229604 0.0052934214 - 44000 0.0067206824 0.0018883388 0.0051436693 - 44100 0.0042383267 0.0020011317 0.0040540712 - 44200 0.0053722894 0.0022571199 0.0048593226 - 44300 0.0044275281 0.0025010136 0.0046455975 - 44400 0.0043012685 0.0022262373 0.0043096642 - 44500 0.0061094887 0.0019067784 0.004866062 - 44600 0.0051340212 0.001770822 0.0042576135 - 44700 0.0049228722 0.0019485124 0.0043330286 - 44800 0.0047224749 0.0024206022 0.004708051 - 44900 0.0052923059 0.0025880463 0.005151507 - 45000 0.0064914225 0.0028052885 0.0059495713 - 45100 0.0059607581 0.00259952 0.0054867623 - 45200 0.0047371886 0.0028174016 0.0051119773 - 45300 0.0046126347 0.0030326037 0.0052668486 - 45400 0.0035204206 0.0030079807 0.0047131844 - 45500 0.00494563 0.0027042174 0.0050997569 - 45600 0.0063314331 0.0024492755 0.0055160634 - 45700 0.0061351887 0.0026754165 0.0056471485 - 45800 0.0048941125 0.0024666734 0.0048372591 - 45900 0.0047081916 0.0024228099 0.0047033402 - 46000 0.0049590605 0.0025580479 0.0049600929 - 46100 0.0051945351 0.0020052558 0.0045213587 - 46200 0.0052197173 0.0023940852 0.0049223858 - 46300 0.004827257 0.0022937074 0.00463191 - 46400 0.0044532629 0.0020113079 0.0041683571 - 46500 0.0034159661 0.0022722167 0.0039268253 - 46600 0.0049121478 0.0020406144 0.004419936 - 46700 0.0064815376 0.0019302174 0.0050697122 - 46800 0.0045098648 0.0018962701 0.0040807359 - 46900 0.0062450317 0.0022291702 0.0052541075 - 47000 0.0035127948 0.0024280893 0.0041295993 - 47100 0.006492068 0.0021365674 0.0052811628 - 47200 0.0042201123 0.0022357441 0.004279861 - 47300 0.0063195803 0.0022819849 0.0053430316 - 47400 0.0043423628 0.0024638177 0.0045671497 - 47500 0.0050864859 0.0024792265 0.0049429932 - 47600 0.005518443 0.0024967413 0.0051697371 - 47700 0.0048723978 0.0027333198 0.0050933874 - 47800 0.0053948693 0.0026147393 0.0052278791 - 47900 0.0058932227 0.0024898507 0.0053443804 - 48000 0.0041492471 0.0024426199 0.0044524114 - 48100 0.0059808441 0.0023673784 0.0052643497 - 48200 0.0058362548 0.002247142 0.0050740779 - 48300 0.0040490527 0.0019009578 0.0038622177 - 48400 0.0061822623 0.0017955615 0.0047900947 - 48500 0.0061813661 0.0020093812 0.0050034804 - 48600 0.0053920983 0.0025090577 0.0051208554 - 48700 0.004592587 0.0024533089 0.0046778432 - 48800 0.0050657386 0.0026800425 0.0051337597 - 48900 0.0052137153 0.0028926037 0.005417997 - 49000 0.0037940992 0.002916792 0.0047545588 - 49100 0.0077501956 0.0023703921 0.006124393 - 49200 0.0054885198 0.0023761014 0.0050346032 - 49300 0.0046145502 0.002223878 0.0044590507 - 49400 0.0051217949 0.0019930866 0.004473956 - 49500 0.0057785479 0.0022009466 0.0049999307 - 49600 0.0047012565 0.0023248618 0.0046020329 - 49700 0.0046750482 0.0024799876 0.004744464 - 49800 0.00351766 0.0025689197 0.0042727863 - 49900 0.0051033202 0.0022472872 0.0047192079 - 50000 0.0047317705 0.0022400935 0.0045320448 - 50100 0.0055201845 0.0031067555 0.0057805949 - 50200 0.0069692937 0.0033680673 0.0067438189 - 50300 0.0040680843 0.0031412817 0.00511176 - 50400 0.0058262804 0.0028436797 0.0056657843 - 50500 0.0076287107 0.002556941 0.0062520978 - 50600 0.0050080379 0.0026449193 0.0050706876 - 50700 0.0048428632 0.0024425476 0.0047883095 - 50800 0.0060281456 0.002736442 0.005656325 - 50900 0.0049388392 0.0024590955 0.0048513457 - 51000 0.0050367373 0.0025554771 0.0049951467 - 51100 0.0053142174 0.0027915755 0.0053656495 - 51200 0.0049006094 0.003084364 0.0054580967 - 51300 0.0053791559 0.0028159019 0.0054214306 - 51400 0.0042938503 0.0029417859 0.0050216197 - 51500 0.0043081475 0.0027751418 0.0048619007 - 51600 0.0088102151 0.0023316717 0.0065991196 - 51700 0.0052813802 0.0026402437 0.0051984123 - 51800 0.004604044 0.0023271625 0.0045572463 - 51900 0.0057863468 0.0017470293 0.004549791 - 52000 0.0057661775 0.00183123 0.0046242222 - 52100 0.0061247121 0.0015843677 0.0045510251 - 52200 0.0071722834 0.0017511898 0.0052252645 - 52300 0.0046260782 0.0022794638 0.0045202205 - 52400 0.0048161519 0.0026170508 0.0049498744 - 52500 0.0049589132 0.0025467959 0.0049487695 - 52600 0.0054419295 0.0022110196 0.0048469542 - 52700 0.0042229886 0.001917851 0.0039633611 - 52800 0.0046001197 0.0016801582 0.0039083412 - 52900 0.004914422 0.0018046979 0.0041851211 - 53000 0.0046991263 0.0019851838 0.0042613231 - 53100 0.0042639054 0.0023242775 0.0043896067 - 53200 0.0045067401 0.0025471883 0.0047301406 - 53300 0.0047538542 0.0019830045 0.0042856526 - 53400 0.0047486025 0.0019324063 0.0042325106 - 53500 0.0048083968 0.0017693685 0.0040984357 - 53600 0.0065633193 0.0021607598 0.0053398676 - 53700 0.0041226678 0.0021096217 0.0041065389 - 53800 0.0065666343 0.001859017 0.0050397305 - 53900 0.0043684625 0.0023654451 0.0044814191 - 54000 0.00661965 0.0020896491 0.005296042 - 54100 0.0056617034 0.0024751997 0.0052175873 - 54200 0.0056699902 0.0029135378 0.0056599393 - 54300 0.0065132674 0.002260152 0.0054150159 - 54400 0.0052304147 0.0022743599 0.004807842 - 54500 0.003902541 0.0025482596 0.0044385529 - 54600 0.0042006917 0.0023859112 0.0044206212 - 54700 0.0049002253 0.0017799436 0.0041534902 - 54800 0.0063188116 0.0019720347 0.0050327091 - 54900 0.003883617 0.0027179506 0.0045990776 - 55000 0.0047682205 0.0023564442 0.004666051 - 55100 0.0049795399 0.0022132117 0.0046251763 - 55200 0.0045826496 0.0025256612 0.004745382 - 55300 0.0049672743 0.0024701981 0.0048762216 - 55400 0.0057203318 0.0025342839 0.0053050696 - 55500 0.0063745311 0.0030385825 0.006126246 - 55600 0.0046079574 0.003329151 0.0055611304 - 55700 0.0054436227 0.0029024557 0.0055392104 - 55800 0.0039797603 0.0025810969 0.0045087933 - 55900 0.0048568595 0.0021527815 0.0045053228 - 56000 0.0040275306 0.0022058644 0.0041566995 - 56100 0.0061120989 0.0021592222 0.0051197701 - 56200 0.0057123527 0.0025617635 0.0053286843 - 56300 0.0046194509 0.0025573711 0.0047949177 - 56400 0.0039442485 0.0023640907 0.004274586 - 56500 0.0038660966 0.002758116 0.0046307566 - 56600 0.0032326056 0.0033549076 0.004920701 - 56700 0.0056923409 0.0031221452 0.0058793728 - 56800 0.0060646237 0.0030141178 0.0059516699 - 56900 0.006115688 0.003334233 0.0062965194 - 57000 0.0053874687 0.0029809086 0.0055904638 - 57100 0.0054521391 0.0024928762 0.0051337561 - 57200 0.0031401527 0.002510637 0.0040316484 - 57300 0.0047253215 0.0019448527 0.0042336803 - 57400 0.0057749118 0.0014821744 0.0042793972 - 57500 0.0044322247 0.0015605608 0.0037074196 - 57600 0.0044258001 0.0020299208 0.0041736677 - 57700 0.0075688346 0.0022068043 0.0058729586 - 57800 0.0045678533 0.0022477979 0.0044603519 - 57900 0.0058210499 0.0021932846 0.0050128556 - 58000 0.0039106773 0.0023497057 0.0042439401 - 58100 0.0043659259 0.0023985942 0.0045133396 - 58200 0.0052811537 0.0025796006 0.0051376594 - 58300 0.0060919327 0.0025554362 0.0055062161 - 58400 0.0059583906 0.0024175234 0.0053036189 - 58500 0.0048347897 0.0027857753 0.0051276266 - 58600 0.0047331614 0.0029995955 0.0052922205 - 58700 0.004541713 0.0033203508 0.005520243 - 58800 0.0052809511 0.0030393743 0.005597335 - 58900 0.0042685389 0.002498237 0.0045658106 - 59000 0.0048942191 0.0023499639 0.0047206013 - 59100 0.0045228238 0.0021725498 0.0043632926 - 59200 0.0040432327 0.0020297669 0.0039882077 - 59300 0.0042141076 0.0021916311 0.0042328394 - 59400 0.0049196661 0.0023702708 0.0047532341 - 59500 0.0041507688 0.0026243121 0.0046348407 - 59600 0.0036895214 0.0023204866 0.0041075985 - 59700 0.0053414352 0.0022056775 0.0047929352 - 59800 0.0060050644 0.0021506186 0.0050593216 - 59900 0.005024536 0.002515958 0.0049497177 - 60000 0.0052421833 0.0025078435 0.005047026 - 60100 0.0035915521 0.0023423059 0.0040819639 - 60200 0.0051291229 0.0019083665 0.0043927854 - 60300 0.0043115937 0.0018644636 0.0039528917 - 60400 0.0045119236 0.0021517262 0.0043371892 - 60500 0.0046815212 0.0021488682 0.00441648 - 60600 0.0048052376 0.0020429475 0.0043704844 - 60700 0.0050119835 0.0023182045 0.004745884 - 60800 0.0049760362 0.0019843876 0.0043946551 - 60900 0.0045491831 0.0020072164 0.004210727 - 61000 0.0041761499 0.0021053473 0.0041281699 - 61100 0.0065150362 0.0017252353 0.004880956 - 61200 0.0065141561 0.0022325099 0.0053878042 - 61300 0.0046754362 0.0023997879 0.0046644523 - 61400 0.0055955869 0.0025219758 0.0052323382 - 61500 0.0059363172 0.0024926639 0.0053680675 - 61600 0.0059652198 0.002390112 0.0052795153 - 61700 0.0052771229 0.0026384214 0.0051945278 - 61800 0.0053741127 0.0027089185 0.0053120043 - 61900 0.004194665 0.0025417051 0.004573496 - 62000 0.0055512641 0.0022903635 0.0049792571 - 62100 0.0036711721 0.002286762 0.004064986 - 62200 0.0051575367 0.0022098016 0.0047079834 - 62300 0.0063992682 0.0026185075 0.0057181531 - 62400 0.0048267437 0.0034547814 0.0057927354 - 62500 0.0052452969 0.0030296057 0.0055702964 - 62600 0.0055306378 0.0026198443 0.005298747 - 62700 0.0061692352 0.002705465 0.0056936883 - 62800 0.0039775361 0.0025686951 0.0044953142 - 62900 0.0050395494 0.0027264043 0.0051674361 - 63000 0.0042250592 0.0026460156 0.0046925287 - 63100 0.0069409293 0.002427531 0.0057895437 - 63200 0.0040096476 0.0028749921 0.0048171651 - 63300 0.0042946451 0.0029661691 0.0050463878 - 63400 0.0051014173 0.0027802312 0.0052512302 - 63500 0.0056054677 0.0028154461 0.0055305945 - 63600 0.0052449525 0.0028559522 0.005396476 - 63700 0.0033595984 0.0026309727 0.0042582782 - 63800 0.0047839734 0.0023940687 0.0047113058 - 63900 0.0044410395 0.0021801679 0.0043312964 - 64000 0.0055577161 0.0027829926 0.0054750113 - 64100 0.004048642 0.0028515993 0.0048126603 - 64200 0.0044841913 0.0026711683 0.0048431985 - 64300 0.0047136338 0.0022843925 0.0045675589 - 64400 0.0049709033 0.0025534181 0.0049611994 - 64500 0.0047805405 0.0030334391 0.0053490134 - 64600 0.0057422735 0.0036739468 0.0064553605 - 64700 0.0061023866 0.0037429091 0.0066987526 - 64800 0.0048404033 0.0031406146 0.0054851849 - 64900 0.0040186357 0.0031754299 0.0051219566 - 65000 0.0057484996 0.0026695165 0.005453946 - 65100 0.006219253 0.0025334997 0.0055459503 - 65200 0.0047424095 0.0027193037 0.0050164083 - 65300 0.0053205035 0.0026214206 0.0051985395 - 65400 0.0043465598 0.0028623895 0.0049677544 - 65500 0.0038907909 0.0032448815 0.0051294834 - 65600 0.0048670438 0.0025113118 0.0048687861 - 65700 0.0073689169 0.0020844691 0.0056537882 - 65800 0.0039196302 0.0026456796 0.0045442505 - 65900 0.0055500851 0.0030361829 0.0057245054 - 66000 0.0045567352 0.0034902943 0.005697463 - 66100 0.0074516027 0.0033760203 0.0069853903 - 66200 0.0065781665 0.0030425231 0.0062288225 - 66300 0.004619924 0.0029103623 0.005148138 - 66400 0.0040646631 0.002963337 0.0049321583 - 66500 0.0045000401 0.0028953359 0.0050750429 - 66600 0.0051483879 0.0031211333 0.0056148837 - 66700 0.0040349733 0.0031688416 0.0051232818 - 66800 0.0048868605 0.003276955 0.0056440281 - 66900 0.0067859836 0.0035137595 0.0068007203 - 67000 0.0058265386 0.0034412575 0.0062634871 - 67100 0.0052633353 0.0034055609 0.0059549889 - 67200 0.0064284956 0.0032394384 0.0063532409 - 67300 0.0027000434 0.0035506332 0.0048584668 - 67400 0.0050159624 0.0028996921 0.0053292989 - 67500 0.0049480369 0.0020429813 0.0044396867 - 67600 0.0054561308 0.0018739843 0.0045167977 - 67700 0.0051401736 0.002447023 0.0049367946 - 67800 0.0054504276 0.0025875138 0.0052275646 - 67900 0.0049973108 0.0027785558 0.0051991283 - 68000 0.0046135151 0.0025744134 0.0048090847 - 68100 0.0058902686 0.0025091051 0.0053622039 - 68200 0.006525741 0.00277525 0.0059361558 - 68300 0.0062333605 0.003294486 0.0063137701 - 68400 0.0038789664 0.0031190984 0.0049979727 - 68500 0.006344903 0.0027980168 0.0058713292 - 68600 0.0059552753 0.0029377461 0.0058223326 - 68700 0.006534808 0.0024723211 0.0056376187 - 68800 0.0049830423 0.0026495847 0.0050632458 - 68900 0.0055194895 0.0026376665 0.0053111693 - 69000 0.005248464 0.0027441409 0.0052863656 - 69100 0.00610038 0.0025242272 0.0054790988 - 69200 0.0056081198 0.002615829 0.005332262 - 69300 0.0046932551 0.0031978213 0.0054711167 - 69400 0.0044797368 0.0033121118 0.0054819843 - 69500 0.0040834073 0.0027978938 0.0047757942 - 69600 0.0046264427 0.0024383867 0.0046793199 - 69700 0.0057525135 0.0024217076 0.0052080813 - 69800 0.0035937948 0.0030663858 0.0048071302 - 69900 0.0063268299 0.0031536224 0.0062181806 - 70000 0.0050163574 0.0031688775 0.0055986757 - 70100 0.0065569871 0.0026073082 0.0057833488 - 70200 0.006758981 0.0028884486 0.00616233 - 70300 0.0052551484 0.0029803949 0.0055258574 - 70400 0.0039765128 0.0021870199 0.0041131433 - 70500 0.0033767572 0.0022690098 0.0039046266 - 70600 0.0043322512 0.0028274575 0.0049258917 - 70700 0.0039618499 0.0026013424 0.0045203635 - 70800 0.0046505746 0.002561616 0.0048142381 - 70900 0.0049752977 0.0027637395 0.0051736494 - 71000 0.006268218 0.0025706371 0.0056068052 - 71100 0.0050346124 0.0027204481 0.0051590885 - 71200 0.0037601067 0.0027686558 0.0045899575 - 71300 0.0035681459 0.0023250873 0.0040534079 - 71400 0.0060254663 0.001740141 0.0046587262 - 71500 0.0050622254 0.0022541539 0.0047061694 - 71600 0.0048347187 0.0022714046 0.0046132215 - 71700 0.0055556574 0.0023434464 0.005034468 - 71800 0.0053445551 0.0027155957 0.0053043646 - 71900 0.0079132467 0.0027812266 0.0066142054 - 72000 0.0054146716 0.0027339743 0.0053567058 - 72100 0.0047148006 0.0025977096 0.0048814412 - 72200 0.0050282558 0.0021100138 0.0045455752 - 72300 0.0062543109 0.0019785708 0.0050080026 - 72400 0.0072896671 0.0020219907 0.0055529232 - 72500 0.0046146006 0.0024291039 0.0046643011 - 72600 0.0069708546 0.0022660823 0.00564259 - 72700 0.0054515937 0.0025579627 0.0051985784 - 72800 0.0046026466 0.0027741876 0.0050035946 - 72900 0.0064497579 0.0030699937 0.0061940952 - 73000 0.0039078342 0.0030667562 0.0049596133 - 73100 0.00561605 0.0027168376 0.0054371118 - 73200 0.0068059247 0.0029699092 0.006266529 - 73300 0.005497213 0.0028514874 0.0055141999 - 73400 0.0049823935 0.0028217111 0.005235058 - 73500 0.0057119756 0.0024973709 0.0052641091 - 73600 0.0046997505 0.0020906123 0.0043670539 - 73700 0.0050232687 0.0020640359 0.0044971816 - 73800 0.0041944443 0.0022356183 0.0042673022 - 73900 0.0045972572 0.0023048966 0.004531693 - 74000 0.0047054619 0.0019601751 0.0042393832 - 74100 0.0042026724 0.0022902352 0.0043259047 - 74200 0.0059282033 0.0025191425 0.0053906159 - 74300 0.005877514 0.0029029143 0.0057498351 - 74400 0.0069952655 0.0034254568 0.0068137885 - 74500 0.0070912842 0.0039348173 0.0073696581 - 74600 0.0050307689 0.0036515215 0.0060883002 - 74700 0.0047360866 0.0033218963 0.0056159383 - 74800 0.0053356726 0.0036256723 0.0062101387 - 74900 0.006863753 0.0031790434 0.0065036738 - 75000 0.005580115 0.0027386146 0.0054414829 - 75100 0.0078636186 0.0026344761 0.0064434164 - 75200 0.0040973716 0.0025574235 0.0045420879 - 75300 0.0054074111 0.0026065051 0.0052257198 - 75400 0.005254965 0.0028002385 0.0053456122 - 75500 0.0044720107 0.0028930439 0.0050591741 - 75600 0.0060863331 0.0026520671 0.0056001347 - 75700 0.0066099709 0.0027123812 0.0059140858 - 75800 0.0038365247 0.0024724153 0.0043307319 - 75900 0.005075693 0.0025125634 0.0049711022 - 76000 0.0054433305 0.0026148583 0.0052514715 - 76100 0.0051580329 0.0029510855 0.0054495077 - 76200 0.0057161531 0.0026737724 0.0054425341 - 76300 0.0043657759 0.0027971583 0.004911831 - 76400 0.0034616864 0.0026831546 0.0043599089 - 76500 0.004966147 0.0021238462 0.0045293237 - 76600 0.0051730714 0.0018829864 0.0043886929 - 76700 0.0044397151 0.0020428068 0.0041932937 - 76800 0.0039450716 0.0022134128 0.0041243069 - 76900 0.0036250139 0.0021532973 0.0039091634 - 77000 0.0040164772 0.0024830857 0.0044285669 - 77100 0.0046688773 0.00263704 0.0048985274 - 77200 0.0064065334 0.0021917237 0.0052948883 - 77300 0.0058595336 0.0020535165 0.004891728 - 77400 0.0048718733 0.002122692 0.0044825057 - 77500 0.0060504111 0.0023263985 0.0052570664 - 77600 0.0065032321 0.0024305826 0.0055805856 - 77700 0.0056393474 0.002711323 0.0054428819 - 77800 0.0030755162 0.002956813 0.0044465161 - 77900 0.0057298975 0.0021610632 0.0049364823 - 78000 0.0045418424 0.002100903 0.0043008579 - 78100 0.0049140678 0.0019305455 0.0043107971 - 78200 0.0041294307 0.0020458946 0.0040460875 - 78300 0.0052952164 0.0023708202 0.0049356906 - 78400 0.004457679 0.0026233814 0.0047825697 - 78500 0.0070009253 0.0021412988 0.005532372 - 78600 0.0061236104 0.0023672944 0.0053334182 - 78700 0.0053717833 0.0025820229 0.0051839805 - 78800 0.0060639382 0.0021566479 0.005093868 - 78900 0.0041250294 0.0021847706 0.0041828317 - 79000 0.005706545 0.002315735 0.0050798427 - 79100 0.0042556826 0.0024410485 0.0045023948 - 79200 0.0059974474 0.0021755407 0.0050805543 - 79300 0.0055114287 0.0020889466 0.0047585449 - 79400 0.0055983464 0.0021016464 0.0048133455 - 79500 0.0082437534 0.0021285658 0.0061216339 - 79600 0.0050465926 0.0021368629 0.0045813062 - 79700 0.0069452511 0.0018334751 0.0051975811 - 79800 0.0056488933 0.0024177836 0.0051539663 - 79900 0.0052280726 0.0030449064 0.0055772541 - 80000 0.0041110439 0.0032288172 0.0052201041 - 80100 0.0057369848 0.00272939 0.005508242 - 80200 0.0053777867 0.0028405433 0.0054454087 - 80300 0.0046586072 0.00315523 0.0054117429 - 80400 0.0051137896 0.0029395986 0.0054165905 - 80500 0.0059399739 0.0029858116 0.0058629865 - 80600 0.0048061983 0.0032012276 0.0055292299 - 80700 0.0051087799 0.0028180944 0.0052926596 - 80800 0.0048093725 0.0027996258 0.0051291657 - 80900 0.0049792769 0.0020527068 0.004464544 - 81000 0.0049096707 0.0024235204 0.0048016421 - 81100 0.0059262559 0.0025178365 0.0053883667 - 81200 0.0051276429 0.0027750924 0.0052587944 - 81300 0.0054372475 0.0028985058 0.0055321726 - 81400 0.0057780692 0.0025358419 0.0053345942 - 81500 0.0041024598 0.0028027443 0.0047898733 - 81600 0.0045601815 0.0025630314 0.0047718693 - 81700 0.0063894925 0.0021932971 0.0052882075 - 81800 0.0064732463 0.0018812447 0.0050167234 - 81900 0.0066474483 0.0017587537 0.0049786115 - 82000 0.004917615 0.001924415 0.0043063847 - 82100 0.004489754 0.0019222251 0.0040969497 - 82200 0.0056075768 0.0025398812 0.0052560512 - 82300 0.0059249982 0.0026874967 0.0055574177 - 82400 0.0048363982 0.0023776424 0.0047202728 - 82500 0.0052834032 0.0026662934 0.0052254418 - 82600 0.0057631869 0.0029563341 0.0057478778 - 82700 0.0050851893 0.0030043059 0.0054674445 - 82800 0.0041206627 0.0034284014 0.0054243474 - 82900 0.0035620119 0.0030847655 0.004810115 - 83000 0.0041407295 0.0029260086 0.0049316745 - 83100 0.0054412358 0.0030196489 0.0056552475 - 83200 0.004583473 0.0032571778 0.0054772976 - 83300 0.0055113619 0.0023589494 0.0050285153 - 83400 0.0069174692 0.0017824873 0.0051331364 - 83500 0.0061866193 0.0016827484 0.0046793921 - 83600 0.004353602 0.0019381363 0.0040469122 - 83700 0.0050190239 0.0018789372 0.0043100269 - 83800 0.0041536901 0.0021615758 0.0041735194 - 83900 0.0059183519 0.0021545118 0.0050212134 - 84000 0.0037340364 0.0024722566 0.0042809305 - 84100 0.0050033916 0.0026976825 0.0051212003 - 84200 0.0048944916 0.0024718609 0.0048426303 - 84300 0.0042001892 0.0021077311 0.0041421977 - 84400 0.0049456355 0.0015073227 0.0039028649 - 84500 0.0044720662 0.001611771 0.0037779281 - 84600 0.0052346177 0.0015177681 0.004053286 - 84700 0.0045013366 0.0017618261 0.003942161 - 84800 0.0049107432 0.0013961452 0.0037747864 - 84900 0.0043488879 0.0013498269 0.0034563195 - 85000 0.0064998215 0.0020456528 0.0051940038 - 85100 0.0048853371 0.0021624427 0.0045287779 - 85200 0.0045485871 0.0018881244 0.0040913463 - 85300 0.0050653798 0.0020477097 0.0045012531 - 85400 0.0049699322 0.0023741228 0.0047814337 - 85500 0.0045490788 0.0023015527 0.0045050128 - 85600 0.0060800789 0.0020008583 0.0049458965 - 85700 0.0059808413 0.0020764162 0.0049733862 - 85800 0.0052986641 0.0021173971 0.0046839375 - 85900 0.0057675585 0.0019953221 0.0047889832 - 86000 0.0039523946 0.0022732048 0.0041876459 - 86100 0.0050423764 0.0026499257 0.0050923268 - 86200 0.003318581 0.0023325784 0.0039400161 - 86300 0.0059300665 0.0019402382 0.0048126141 - 86400 0.0070320099 0.001944154 0.0053502838 - 86500 0.0052833995 0.0024706684 0.0050298151 - 86600 0.0055891057 0.0025374932 0.0052447163 - 86700 0.0057373949 0.0022411441 0.0050201947 - 86800 0.0056764233 0.0021929884 0.0049425059 - 86900 0.004803751 0.0021964892 0.0045233061 - 87000 0.0052359699 0.0020543494 0.0045905223 - 87100 0.0046570125 0.001713431 0.0039691714 - 87200 0.0051248727 0.001336361 0.0038187212 - 87300 0.0047000868 0.0015192696 0.0037958742 - 87400 0.004118889 0.0015514147 0.0035465016 - 87500 0.005870272 0.001753756 0.004597169 - 87600 0.0044572848 0.0018585281 0.0040175254 - 87700 0.0041683219 0.0016429101 0.0036619411 - 87800 0.0058514031 0.0019633765 0.0047976499 - 87900 0.0061125854 0.0022856206 0.0052464042 - 88000 0.0066943363 0.0021441552 0.0053867243 - 88100 0.0039254348 0.002316744 0.0042181265 - 88200 0.0068588709 0.0024739218 0.0057961873 - 88300 0.0069057205 0.002288677 0.0056336354 - 88400 0.0054266107 0.0022548597 0.0048833742 - 88500 0.0052064282 0.0020090861 0.0045309498 - 88600 0.0052768536 0.0019089121 0.0044648881 - 88700 0.0042445073 0.0021549179 0.0042108511 - 88800 0.0062812522 0.001799475 0.0048419565 - 88900 0.0059142482 0.0018745193 0.0047392332 - 89000 0.0043694972 0.0019744394 0.0040909146 - 89100 0.0052108663 0.0019301472 0.0044541606 - 89200 0.0057143594 0.0021044317 0.0048723246 - 89300 0.0043582991 0.0024466939 0.004557745 - 89400 0.0048023043 0.0020949795 0.0044210957 - 89500 0.004808124 0.0019284386 0.0042573737 - 89600 0.00476397 0.001930445 0.0042379929 - 89700 0.004604502 0.002337612 0.0045679177 - 89800 0.0057879007 0.0022949631 0.0050984775 - 89900 0.0052946831 0.0024925967 0.0050572089 - 90000 0.0055378441 0.0024039415 0.0050863348 - 90100 0.0058684269 0.002880647 0.0057231663 - 90200 0.005552366 0.0032169118 0.0059063391 - 90300 0.0053845858 0.0031744294 0.0057825882 - 90400 0.0075823295 0.00265476 0.0063274508 - 90500 0.006822235 0.0021741833 0.0054787034 - 90600 0.0057406108 0.0018564442 0.0046370525 - 90700 0.0061929261 0.0022094774 0.005209176 - 90800 0.0050952982 0.0023266713 0.0047947064 - 90900 0.0039625948 0.0023297199 0.0042491018 - 91000 0.0063407759 0.0021713965 0.0052427099 - 91100 0.0052086163 0.0020914303 0.0046143538 - 91200 0.0054182748 0.0015990891 0.0042235659 - 91300 0.0057321371 0.0016774485 0.0044539524 - 91400 0.0050441742 0.0020159357 0.0044592076 - 91500 0.0037670303 0.002371835 0.0041964903 - 91600 0.0049966484 0.0026391458 0.0050593974 - 91700 0.0047454346 0.0027592353 0.0050578052 - 91800 0.0053011709 0.0024995523 0.005067307 - 91900 0.0056618924 0.0021128378 0.004855317 - 92000 0.0062095965 0.0024252744 0.0054330477 - 92100 0.0063171116 0.0025200663 0.0055799172 - 92200 0.0056119567 0.0017711912 0.0044894827 - 92300 0.0058378255 0.0019380853 0.0047657821 - 92400 0.0042336652 0.0018008081 0.0038514897 - 92500 0.0042370425 0.0022072158 0.0042595333 - 92600 0.0043235339 0.0024379119 0.0045321236 - 92700 0.0044879422 0.0024475679 0.0046214149 - 92800 0.0058834505 0.0023251113 0.0051749077 - 92900 0.005756043 0.0024066582 0.0051947415 - 93000 0.0044536031 0.0025373832 0.0046945972 - 93100 0.0051969383 0.0026852596 0.0052025266 - 93200 0.0037687496 0.002611426 0.0044369141 - 93300 0.0058500822 0.0021886453 0.0050222788 - 93400 0.0046393328 0.0022539185 0.0045010953 - 93500 0.0060990277 0.0020735348 0.0050277514 - 93600 0.0057903995 0.0022677422 0.0050724669 - 93700 0.004039946 0.0024796678 0.0044365166 - 93800 0.0040127246 0.0026040197 0.0045476832 - 93900 0.0055350421 0.0021933771 0.0048744131 - 94000 0.0058327734 0.0018346472 0.0046598968 - 94100 0.0070996451 0.0025435671 0.0059824577 - 94200 0.0050671066 0.0034214701 0.0058758499 - 94300 0.0043795491 0.002999433 0.0051207771 - 94400 0.0052674244 0.0026593973 0.005210806 - 94500 0.0051818237 0.0030455114 0.0055554573 - 94600 0.0065697865 0.0024956948 0.0056779351 - 94700 0.0070094641 0.0024252992 0.0058205083 - 94800 0.0054917442 0.0027604714 0.005420535 - 94900 0.0066119691 0.0028869362 0.0060896087 - 95000 0.0056385088 0.0029829856 0.0057141383 - 95100 0.0050993484 0.0028679566 0.0053379534 - 95200 0.0058858168 0.0022729168 0.0051238593 - 95300 0.0062965949 0.0018579187 0.0049078318 - 95400 0.0044611397 0.0020835659 0.0042444305 - 95500 0.0063304895 0.0022082517 0.0052745825 - 95600 0.005184073 0.0021347568 0.0046457922 - 95700 0.0048956427 0.0020223769 0.0043937039 - 95800 0.0046100111 0.0021281529 0.004361127 - 95900 0.0032666395 0.0018612349 0.0034435134 - 96000 0.0060483222 0.0014379132 0.0043675693 - 96100 0.0041513227 0.0017725748 0.0037833718 - 96200 0.0045880407 0.0019493675 0.0041716997 - 96300 0.0059601324 0.0019194048 0.0048063439 - 96400 0.0043881156 0.0022762073 0.0044017007 - 96500 0.0041805335 0.0022317369 0.0042566828 - 96600 0.004881105 0.0023583859 0.0047226711 - 96700 0.0052846465 0.0022912902 0.0048510409 - 96800 0.0047966695 0.0020744338 0.0043978206 - 96900 0.0050533015 0.0021496448 0.0045973377 - 97000 0.0045114593 0.0025112984 0.0046965365 - 97100 0.0054643775 0.0026864011 0.005333209 - 97200 0.0043249951 0.0025447095 0.004639629 - 97300 0.0066926436 0.0020899918 0.005331741 - 97400 0.0058913938 0.0016239444 0.0044775882 - 97500 0.0053658761 0.0021217711 0.0047208673 - 97600 0.0036553349 0.0025763458 0.0043468986 - 97700 0.0043394248 0.002288061 0.0043899699 - 97800 0.0056212435 0.0018992525 0.0046220423 - 97900 0.0054798177 0.0021919399 0.0048462266 - 98000 0.0049509021 0.0019962544 0.0043943476 - 98100 0.0042790442 0.0018627951 0.0039354571 - 98200 0.0037401669 0.0017788287 0.003590472 - 98300 0.0068480188 0.0015246766 0.0048416857 - 98400 0.0039201126 0.0017635201 0.0036623246 - 98500 0.0054968742 0.0016443104 0.0043068588 - 98600 0.0041370186 0.0019667231 0.0039705915 - 98700 0.0052825266 0.0026388381 0.0051975619 - 98800 0.0040041632 0.0028434737 0.0047829903 - 98900 0.0065165253 0.0023111822 0.0054676242 - 99000 0.0064681397 0.0020668099 0.0051998151 - 99100 0.0063149096 0.0019019507 0.004960735 - 99200 0.0049314203 0.0019410197 0.0043296764 - 99300 0.0046497177 0.0023414394 0.0045936464 - 99400 0.0038879343 0.0022197012 0.0041029194 - 99500 0.0050567291 0.0021887068 0.00463806 - 99600 0.005655471 0.0022006669 0.0049400357 - 99700 0.0048840573 0.0021113179 0.0044770331 - 99800 0.005823411 0.0021126246 0.0049333393 - 99900 0.0047618653 0.0021259239 0.0044324524 - 100000 0.007696203 0.0024388401 0.0061666884 - 100100 0.0073106081 0.0023243372 0.005865413 - 100200 0.006016061 0.0029521521 0.0058661816 - 100300 0.0055273814 0.0031697806 0.005847106 - 100400 0.0053392471 0.0034314149 0.0060176127 - 100500 0.0062960647 0.0031182896 0.0061679459 - 100600 0.0070199816 0.002492006 0.0058923096 - 100700 0.0051043528 0.002902067 0.0053744879 - 100800 0.0038326997 0.0026239068 0.0044803707 - 100900 0.0057151104 0.0019074322 0.0046756888 - 101000 0.0057532049 0.0016153895 0.0044020982 - 101100 0.0040796154 0.001817895 0.0037939587 - 101200 0.0047624823 0.0019289102 0.0042357376 - 101300 0.0051036634 0.0018719042 0.0043439911 - 101400 0.0065753722 0.0015822094 0.0047671553 - 101500 0.0039828229 0.0020203059 0.0039494858 - 101600 0.0046735947 0.0018433764 0.0041071488 - 101700 0.0049722882 0.0019188186 0.0043272707 - 101800 0.0048222828 0.0023774593 0.0047132525 - 101900 0.0054160514 0.0025370853 0.0051604852 - 102000 0.0048117095 0.0024001219 0.0047307937 - 102100 0.0046555088 0.0022769933 0.0045320054 - 102200 0.0066544461 0.0022551433 0.0054783906 - 102300 0.0047551273 0.0020009904 0.0043042552 - 102400 0.0054685518 0.0018656486 0.0045144783 - 102500 0.0059973091 0.0016290337 0.0045339803 - 102600 0.0039780027 0.0017456321 0.0036724772 - 102700 0.0042633081 0.0020866242 0.0041516641 - 102800 0.0031365937 0.0026861296 0.0042054172 - 102900 0.0050579011 0.0024823838 0.0049323047 - 103000 0.0046816361 0.0026508931 0.0049185606 - 103100 0.0056716538 0.0029522162 0.0056994235 - 103200 0.0053933432 0.0033957726 0.0060081732 - 103300 0.0043404863 0.0030780057 0.0051804287 - 103400 0.0074855511 0.0021918547 0.0058176685 - 103500 0.0062016772 0.0020714767 0.0050754141 - 103600 0.0055218621 0.0026433814 0.0053180333 - 103700 0.0059561235 0.0028396713 0.0057246686 - 103800 0.0060169586 0.0032316614 0.0061461257 - 103900 0.0048927283 0.0033080421 0.0056779574 - 104000 0.0056498689 0.0029920653 0.0057287206 - 104100 0.0066860038 0.0022159582 0.0054544913 - 104200 0.0058035262 0.002343808 0.005154891 - 104300 0.0041835713 0.003347017 0.0053734343 - 104400 0.0057079552 0.0029430141 0.0057078049 - 104500 0.0059374467 0.002449276 0.0053252268 - 104600 0.0048214353 0.0018531817 0.0041885644 - 104700 0.0052779165 0.0017432416 0.0042997324 - 104800 0.0048858272 0.0018834502 0.0042500228 - 104900 0.0057512645 0.0016220764 0.0044078452 - 105000 0.0052988573 0.0021380146 0.0047046487 - 105100 0.0058832222 0.0019673084 0.0048169942 - 105200 0.0053475525 0.0019948531 0.0045850738 - 105300 0.0041397427 0.0020907945 0.0040959823 - 105400 0.0045790287 0.0020310304 0.0042489975 - 105500 0.0043722927 0.0021508461 0.0042686754 - 105600 0.0046067426 0.0024228679 0.0046542589 - 105700 0.005018148 0.002080523 0.0045111884 - 105800 0.0052749529 0.0022413182 0.0047963736 - 105900 0.0076960461 0.0024406842 0.0061684565 - 106000 0.0045639319 0.0026210451 0.0048316996 - 106100 0.0038509526 0.0024808189 0.0043461241 - 106200 0.0040054331 0.0021623439 0.0041024756 - 106300 0.0039114456 0.0021949342 0.0040895406 - 106400 0.0052278257 0.0024897576 0.0050219857 - 106500 0.0045390508 0.0025443522 0.004742955 - 106600 0.0061024335 0.0022728907 0.0052287569 - 106700 0.0051527587 0.0024614051 0.0049572726 - 106800 0.0052183827 0.0026997783 0.0052274324 - 106900 0.0056088639 0.0023585648 0.0050753583 - 107000 0.0046101111 0.0024816484 0.004714671 - 107100 0.0044679439 0.0022694233 0.0044335836 - 107200 0.0045860203 0.0019392897 0.0041606432 - 107300 0.0058802136 0.0019804881 0.0048287166 - 107400 0.0049646531 0.002064715 0.0044694688 - 107500 0.0052613236 0.0023954167 0.0049438703 - 107600 0.0043194571 0.0024957442 0.0045879813 - 107700 0.0066364807 0.0028354197 0.006049965 - 107800 0.0042517261 0.0025732018 0.0046326316 - 107900 0.00524204 0.0019576809 0.004496794 - 108000 0.0050961112 0.0018965904 0.0043650192 - 108100 0.0067936578 0.0019144154 0.0052050934 - 108200 0.0053161285 0.0022588286 0.0048338283 - 108300 0.0045306332 0.0026376774 0.0048322028 - 108400 0.0063826772 0.0024520193 0.0055436286 - 108500 0.0046676579 0.002490945 0.0047518418 - 108600 0.0051416199 0.0021937019 0.004684174 - 108700 0.0064869086 0.0016906363 0.0048327326 - 108800 0.0040160856 0.0020567216 0.004002013 - 108900 0.0035565191 0.0023242864 0.0040469753 - 109000 0.0036516065 0.0022500229 0.0040187698 - 109100 0.0037524697 0.0018657768 0.0036833793 - 109200 0.0036620517 0.0017786876 0.0035524939 - 109300 0.0043601873 0.0017838727 0.0038958384 - 109400 0.0054085444 0.0023048718 0.0049246355 - 109500 0.0074864336 0.0021898475 0.0058160887 - 109600 0.0066111758 0.0024873854 0.0056896737 - 109700 0.0045604734 0.0027053979 0.0049143772 - 109800 0.0039595043 0.0024113819 0.0043292668 - 109900 0.0047338973 0.0021033612 0.0043963427 - 110000 0.0056269506 0.002674601 0.0054001552 - 110100 0.0036531246 0.0032054268 0.0049749091 - 110200 0.0048667259 0.0030104597 0.0053677801 - 110300 0.006168454 0.0030602215 0.0060480664 - 110400 0.0041761191 0.0030911546 0.0051139623 - 110500 0.0059090568 0.002598239 0.0054604384 - 110600 0.0045375909 0.0022431194 0.004441015 - 110700 0.0057696608 0.0023805379 0.0051752173 - 110800 0.0046650742 0.0030865629 0.0053462082 - 110900 0.0043046474 0.002795159 0.0048802226 - 111000 0.0042240019 0.0021821467 0.0042281476 - 111100 0.0048321444 0.0019847152 0.0043252851 - 111200 0.0050803984 0.002198103 0.004658921 - 111300 0.0064427053 0.0022849608 0.0054056462 - 111400 0.0035957555 0.0021962891 0.0039379832 - 111500 0.006515365 0.0021400543 0.0052959342 - 111600 0.0074862529 0.0028302675 0.0064564212 - 111700 0.0058507754 0.0031502207 0.00598419 - 111800 0.0035653772 0.0028608031 0.0045877827 - 111900 0.0059250528 0.002726309 0.0055962564 - 112000 0.0058440437 0.0029221579 0.0057528666 - 112100 0.00482355 0.0028232538 0.0051596609 - 112200 0.0070596595 0.0025463696 0.0059658922 - 112300 0.0045960365 0.0022749048 0.00450111 - 112400 0.0056799328 0.0022098531 0.0049610706 - 112500 0.0054811811 0.0022190694 0.0048740165 - 112600 0.0045042898 0.00268168 0.0048634454 - 112700 0.0062558009 0.0029466832 0.0059768368 - 112800 0.0049366105 0.0029908095 0.0053819803 - 112900 0.0066481338 0.0027347409 0.0059549307 - 113000 0.0052279053 0.0027963475 0.0053286141 - 113100 0.0042225202 0.003162054 0.0052073373 - 113200 0.0040749023 0.0027371589 0.0047109397 - 113300 0.0048998505 0.0021637767 0.0045371418 - 113400 0.00352536 0.0017261671 0.0034337633 - 113500 0.0029015566 0.0017978024 0.0032032439 - 113600 0.0038776359 0.0019394359 0.0038176658 - 113700 0.0051849841 0.0019772248 0.0044887015 - 113800 0.0058124854 0.0017174622 0.0045328848 - 113900 0.0037047808 0.0017787627 0.0035732659 - 114000 0.0041666284 0.0020308384 0.004049049 - 114100 0.0061662468 0.002638101 0.0056248768 - 114200 0.004304001 0.0026532178 0.0047379682 - 114300 0.0050490776 0.0022522054 0.0046978523 - 114400 0.0056884414 0.002042042 0.0047973808 - 114500 0.0052554417 0.0020783942 0.0046239988 - 114600 0.0038518772 0.0026483718 0.0045141249 - 114700 0.0051543718 0.0029475245 0.0054441733 - 114800 0.0058737052 0.0029875361 0.0058326121 - 114900 0.0041440283 0.0023984051 0.0044056687 - 115000 0.0051027808 0.0022201759 0.0046918354 - 115100 0.0034641834 0.0023163688 0.0039943326 - 115200 0.0061293381 0.0024178044 0.0053867025 - 115300 0.0053766092 0.0020885186 0.0046928137 - 115400 0.0034780508 0.0021764521 0.0038611329 - 115500 0.0048067076 0.0023054965 0.0046337455 - 115600 0.0054101573 0.00237602 0.004996565 - 115700 0.0044630353 0.0022184252 0.0043802079 - 115800 0.0045209922 0.0018593802 0.0040492358 - 115900 0.0038611647 0.002162646 0.0040328977 - 116000 0.004944749 0.0025678436 0.0049629563 - 116100 0.0051720362 0.0029651205 0.0054703255 - 116200 0.00689407 0.0026147194 0.0059540346 - 116300 0.0054057159 0.0028143039 0.0054326975 - 116400 0.0057806459 0.0029415951 0.0057415955 - 116500 0.005766428 0.0023509824 0.0051440959 - 116600 0.0051498164 0.0018616126 0.0043560549 - 116700 0.0051476664 0.0022472774 0.0047406783 - 116800 0.0063542739 0.0024037036 0.005481555 - 116900 0.0057602129 0.0025620152 0.0053521184 - 117000 0.0054987673 0.0021147012 0.0047781666 - 117100 0.0052519826 0.0018913517 0.0044352807 - 117200 0.0045214673 0.0015938769 0.0037839626 - 117300 0.0046828548 0.0018861704 0.0041544282 - 117400 0.0044177668 0.002280712 0.0044205678 - 117500 0.0074609125 0.0024627621 0.0060766416 - 117600 0.0056408566 0.0027237603 0.0054560502 - 117700 0.0061117954 0.0021693105 0.0051297114 - 117800 0.0055664488 0.0023697025 0.0050659511 - 117900 0.0050747675 0.0024835866 0.0049416771 - 118000 0.0068481927 0.0023967767 0.0057138701 - 118100 0.0042235647 0.0025089998 0.0045547889 - 118200 0.003953235 0.002553726 0.0044685742 - 118300 0.0054646384 0.0027956747 0.005442609 - 118400 0.0050824794 0.0029863688 0.0054481948 - 118500 0.0054210026 0.0025003759 0.005126174 - 118600 0.0043803858 0.0029519831 0.0050737325 - 118700 0.0056351702 0.0028630059 0.0055925414 - 118800 0.0066681825 0.002437407 0.0056673079 - 118900 0.0055705813 0.0019361373 0.0046343876 - 119000 0.0042805896 0.0020391194 0.00411253 - 119100 0.0056592447 0.0026603383 0.005401535 - 119200 0.0051993665 0.0030146209 0.005533064 - 119300 0.0052828783 0.002805073 0.0053639672 - 119400 0.0059544946 0.0021309711 0.0050151794 - 119500 0.0056381361 0.002120532 0.0048515042 - 119600 0.0046777484 0.0020266262 0.0042924106 - 119700 0.0059582531 0.0021689571 0.005054986 - 119800 0.0061083063 0.0022955138 0.0052542247 - 119900 0.0044808404 0.0022726761 0.0044430832 - 120000 0.005586272 0.0026431059 0.0053489564 - 120100 0.0069725386 0.0025349201 0.0059122435 - 120200 0.005239046 0.0026784609 0.0052161239 - 120300 0.0035828465 0.0026037115 0.0043391528 - 120400 0.0048374798 0.0027079318 0.0050510861 - 120500 0.0062721365 0.0025611543 0.0055992204 - 120600 0.0043448161 0.00264874 0.0047532603 - 120700 0.0061063366 0.0020413566 0.0049991134 - 120800 0.0045121108 0.0022386167 0.0044241704 - 120900 0.003211123 0.0026053078 0.0041606955 - 121000 0.0044652744 0.0020954059 0.0042582732 - 121100 0.0055905388 0.0021312478 0.0048391651 - 121200 0.0059609496 0.002299694 0.005187029 - 121300 0.0058848236 0.0020347078 0.0048851692 - 121400 0.0038825674 0.0017813083 0.0036619269 - 121500 0.0052612828 0.0017220779 0.0042705117 - 121600 0.0049516632 0.0021784769 0.0045769388 - 121700 0.0045087736 0.0024613827 0.00464532 - 121800 0.0055802324 0.0021942805 0.0048972056 - 121900 0.0050904435 0.002520569 0.0049862526 - 122000 0.0060818097 0.0028956291 0.0058415056 - 122100 0.004955435 0.0025629837 0.0049632725 - 122200 0.0065624036 0.0024590743 0.0056377386 - 122300 0.0052915293 0.002316756 0.0048798405 - 122400 0.0061768745 0.0023721373 0.0053640609 - 122500 0.0071503935 0.0020375418 0.0055010136 - 122600 0.0058391142 0.0023298915 0.0051582124 - 122700 0.0055384253 0.0025179109 0.0052005856 - 122800 0.004922185 0.0022975915 0.0046817748 - 122900 0.0062145361 0.0018251859 0.0048353518 - 123000 0.0051446009 0.0019396813 0.0044315974 - 123100 0.005033431 0.0025734129 0.005011481 - 123200 0.0050837213 0.0032938548 0.0057562823 - 123300 0.0064502745 0.0031506704 0.0062750221 - 123400 0.004930603 0.0032083157 0.0055965765 - 123500 0.005579077 0.0028103192 0.0055126846 - 123600 0.0036742864 0.0028206076 0.00460034 - 123700 0.0055457877 0.0023946382 0.0050808791 - 123800 0.0066992709 0.0028619902 0.0061069496 - 123900 0.0055512535 0.003128291 0.0058171794 - 124000 0.0051873346 0.0024910731 0.0050036884 - 124100 0.0063742546 0.002077798 0.0051653276 - 124200 0.0070468958 0.0024365725 0.0058499126 - 124300 0.0040212963 0.0028721437 0.0048199591 - 124400 0.0056996044 0.0022874889 0.0050482348 - 124500 0.0050007059 0.0022836172 0.0047058342 - 124600 0.0066381217 0.0023507994 0.0055661396 - 124700 0.0045878966 0.0026262496 0.0048485121 - 124800 0.0041311011 0.003228213 0.0052292151 - 124900 0.0047211922 0.0027416919 0.0050285194 - 125000 0.0067181938 0.0020426993 0.0052968244 - 125100 0.0046811656 0.002124116 0.0043915555 - 125200 0.0063842025 0.0022294397 0.0053217878 - 125300 0.0048965277 0.0022377438 0.0046094993 - 125400 0.0035615968 0.0029051559 0.0046303043 - 125500 0.0058938775 0.0033189741 0.006173821 - 125600 0.0059156882 0.0030288852 0.0058942967 - 125700 0.0044481406 0.0027651789 0.004919747 - 125800 0.0050424118 0.0029785848 0.005421003 - 125900 0.0041718929 0.0029094986 0.0049302592 - 126000 0.0051708876 0.002787446 0.0052920947 - 126100 0.0045373432 0.0024920161 0.0046897917 - 126200 0.00578265 0.0024835149 0.0052844859 - 126300 0.0034767501 0.0024732559 0.0041573068 - 126400 0.0056102439 0.001927748 0.0046452099 - 126500 0.0055713772 0.0021818464 0.0048804822 - 126600 0.0042567305 0.00277519 0.0048370439 - 126700 0.0053931507 0.0029052193 0.0055175267 - 126800 0.0056438831 0.0028716506 0.0056054064 - 126900 0.005468644 0.0025559187 0.0052047932 - 127000 0.0048493901 0.0027848419 0.0051337652 - 127100 0.0061565307 0.0030662974 0.006048367 - 127200 0.0070176183 0.0030468032 0.006445962 - 127300 0.0058282552 0.0025238628 0.0053469239 - 127400 0.0063471689 0.00259904 0.00567345 - 127500 0.0057057753 0.0031367728 0.0059005077 - 127600 0.0056791759 0.0033984394 0.0061492902 - 127700 0.0051632474 0.0030074298 0.0055083777 - 127800 0.0076534247 0.0019689299 0.0056760575 - 127900 0.0075903554 0.0019104056 0.0055869839 - 128000 0.0049649457 0.0020599031 0.0044647987 - 128100 0.0052604523 0.0021126715 0.004660703 - 128200 0.00440192 0.0022472278 0.0043794078 - 128300 0.0050805988 0.0020540917 0.0045150068 - 128400 0.0047370458 0.0020113349 0.0043058414 - 128500 0.004362165 0.0023161298 0.0044290534 - 128600 0.0051177 0.0025994429 0.0050783289 - 128700 0.0061461819 0.0026905569 0.0056676138 - 128800 0.00593289 0.0028499342 0.0057236778 - 128900 0.0060278748 0.0024285885 0.0053483404 - 129000 0.0041100872 0.0025625362 0.0045533597 - 129100 0.0052959873 0.0027574793 0.0053227232 - 129200 0.0059443213 0.0023214797 0.0052007603 - 129300 0.0040543032 0.00269661 0.0046604131 - 129400 0.0046175229 0.0024916497 0.0047282624 - 129500 0.0048136754 0.0028084895 0.0051401135 - 129600 0.0028513253 0.0033409943 0.004722105 - 129700 0.0047955687 0.0027549778 0.0050778314 - 129800 0.0047586562 0.0020609534 0.0043659275 - 129900 0.0054215136 0.0018842388 0.0045102844 - 130000 0.0062627092 0.0020731162 0.005106616 - 130100 0.0051958703 0.0026240978 0.0051408475 - 130200 0.0052627168 0.0024846778 0.0050338063 - 130300 0.0045012577 0.002389936 0.0045702327 - 130400 0.0066390792 0.0022602413 0.0054760453 - 130500 0.0049662946 0.0025500829 0.0049556319 - 130600 0.0050060477 0.0027712711 0.0051960754 - 130700 0.00572121 0.0025719353 0.0053431464 - 130800 0.0046974207 0.0028413186 0.0051166318 - 130900 0.0056757871 0.0027935027 0.0055427121 - 131000 0.0059115566 0.002712697 0.0055761072 - 131100 0.0058740958 0.0022982408 0.005143506 - 131200 0.0044974806 0.0023774641 0.0045559312 - 131300 0.0045800058 0.0025689254 0.0047873657 - 131400 0.0056834525 0.0029619575 0.0057148798 - 131500 0.0046631825 0.0031582242 0.0054169533 - 131600 0.0058674328 0.0026092811 0.0054513188 - 131700 0.005347855 0.0023478025 0.0049381697 - 131800 0.0040916227 0.0020894628 0.0040713426 - 131900 0.0054778529 0.0018078835 0.0044612185 - 132000 0.0040909488 0.0021097034 0.0040912567 - 132100 0.004968684 0.0020752518 0.0044819582 - 132200 0.0047008895 0.0018997441 0.0041767374 - 132300 0.0051219925 0.002124006 0.0046049711 - 132400 0.0029927443 0.0022202672 0.0036698777 - 132500 0.0062934079 0.0020373737 0.0050857431 - 132600 0.0059057473 0.002004911 0.0048655073 - 132700 0.0054848535 0.0024189325 0.0050756584 - 132800 0.0049497118 0.0030761345 0.0054736512 - 132900 0.0060071004 0.0024503953 0.0053600846 - 133000 0.006063228 0.0019646295 0.0049015056 - 133100 0.0040063655 0.0025435752 0.0044841585 - 133200 0.0065750003 0.0028405289 0.0060252947 - 133300 0.0058067939 0.0031386337 0.0059512995 - 133400 0.0066559606 0.0027113969 0.0059353778 - 133500 0.0038450659 0.00221617 0.0040786238 - 133600 0.0056503038 0.0020836055 0.0048204714 - 133700 0.0046146841 0.0023213839 0.0045566216 - 133800 0.0045373707 0.0023564923 0.0045542812 - 133900 0.0048099217 0.0026987664 0.0050285723 - 134000 0.0053884792 0.0027682068 0.0053782514 - 134100 0.0062308953 0.0029554363 0.0059735263 - 134200 0.0056985904 0.0030222108 0.0057824655 - 134300 0.0034586671 0.003375087 0.0050503788 - 134400 0.0056563554 0.0030824737 0.0058222708 - 134500 0.0043856518 0.0029930593 0.0051173594 - 134600 0.0049009155 0.0032451473 0.0056190283 - 134700 0.0051442581 0.0033158062 0.0058075562 - 134800 0.0051442524 0.0032756692 0.0057674164 - 134900 0.004658872 0.0032892871 0.0055459282 - 135000 0.0053586994 0.0035369077 0.0061325278 - 135100 0.0055197609 0.003257191 0.0059308252 - 135200 0.0055811044 0.0030434867 0.0057468341 - 135300 0.0044441028 0.0031685312 0.0053211435 - 135400 0.0035533718 0.0027638989 0.0044850634 - 135500 0.005805911 0.0024396273 0.0052518654 - 135600 0.0045487175 0.0019475857 0.0041508707 - 135700 0.0041470552 0.0021127304 0.0041214603 - 135800 0.0047611845 0.002468967 0.0047751657 - 135900 0.0050767944 0.0027340037 0.005193076 - 136000 0.0048970377 0.0025228559 0.0048948585 - 136100 0.0059651074 0.0025362529 0.0054256018 - 136200 0.0041991551 0.0023371698 0.0043711356 - 136300 0.0063424191 0.0020084803 0.0050805895 - 136400 0.0042579555 0.002092712 0.0041551592 - 136500 0.006265943 0.0020801076 0.0051151737 - 136600 0.0049942562 0.0022305941 0.0046496869 - 136700 0.0056534345 0.0026953219 0.0054337042 - 136800 0.0055302327 0.0024611458 0.0051398523 - 136900 0.005975365 0.0019086862 0.0048030036 - 137000 0.0043744043 0.0022763343 0.0043951864 - 137100 0.0050144275 0.0025196852 0.0049485486 - 137200 0.0043714787 0.0023049478 0.0044223828 - 137300 0.0041946477 0.0021135551 0.0041453376 - 137400 0.0042185648 0.0023681816 0.0044115489 - 137500 0.005496559 0.0021891207 0.0048515165 - 137600 0.0041936411 0.0021033565 0.0041346514 - 137700 0.0049805828 0.0020122729 0.0044247427 - 137800 0.0038037327 0.0017927632 0.0036351962 - 137900 0.0049124267 0.0017033379 0.0040827945 - 138000 0.0043758127 0.0020785279 0.0041980622 - 138100 0.0056667732 0.0023714127 0.005116256 - 138200 0.0041246039 0.0022178694 0.0042157244 - 138300 0.0056451416 0.0019974971 0.0047318626 - 138400 0.0055119572 0.0017079461 0.0043778004 - 138500 0.0055075486 0.0020796613 0.0047473802 - 138600 0.0046743392 0.0022015344 0.0044656674 - 138700 0.0047707846 0.0021651892 0.004476038 - 138800 0.005304505 0.0025850164 0.005154386 - 138900 0.0043337924 0.0027784473 0.004877628 - 139000 0.0043623991 0.0025036672 0.0046167042 - 139100 0.004608583 0.0024286917 0.0046609741 - 139200 0.0048135512 0.0033003566 0.0056319204 - 139300 0.0054805599 0.0033301416 0.0059847878 - 139400 0.0042028378 0.0027178659 0.0047536155 - 139500 0.0044043451 0.0019977873 0.0041311419 - 139600 0.0048424859 0.0022821291 0.0046277082 - 139700 0.0062551406 0.0019294553 0.004959289 - 139800 0.0051915488 0.001832374 0.0043470305 - 139900 0.0049121661 0.0022556117 0.0046349422 - 140000 0.0045235999 0.0024629987 0.0046541175 - 140100 0.0050676825 0.0027743925 0.0052290512 - 140200 0.0073821926 0.0028178922 0.0063936417 - 140300 0.0052860239 0.0028341073 0.0053945252 - 140400 0.0064413543 0.0027307036 0.0058507345 - 140500 0.0050360424 0.0025924429 0.005031776 - 140600 0.0061859291 0.0023847305 0.00538104 - 140700 0.0065076809 0.0021052799 0.0052574378 - 140800 0.0047956367 0.0023749728 0.0046978593 - 140900 0.0073244499 0.0024139165 0.0059616969 - 141000 0.0044205127 0.0023799657 0.0045211516 - 141100 0.0051551949 0.0023011933 0.0047982408 - 141200 0.0052905842 0.0020279007 0.0045905274 - 141300 0.0041089305 0.001786607 0.0037768702 - 141400 0.0034866208 0.0019499329 0.0036387648 - 141500 0.0050545911 0.0019635877 0.0044119052 - 141600 0.005756048 0.0021824888 0.0049705745 - 141700 0.0049588215 0.0023978791 0.0047998083 - 141800 0.0057578448 0.0022673785 0.0050563346 - 141900 0.0050405481 0.0027058216 0.0051473371 - 142000 0.0046272214 0.0028562472 0.0050975575 - 142100 0.0044570694 0.0027280231 0.0048869161 - 142200 0.0069467632 0.0019940643 0.0053589028 - 142300 0.0045994605 0.001931807 0.0041596707 - 142400 0.0054041239 0.0020891157 0.0047067382 - 142500 0.0049300054 0.0024431095 0.0048310808 - 142600 0.0050131352 0.0024489808 0.0048772181 - 142700 0.0048672102 0.0023631343 0.0047206893 - 142800 0.0051326778 0.002794142 0.0052802828 - 142900 0.0053560719 0.0026083604 0.0052027077 - 143000 0.005599714 0.0025999276 0.0053122891 - 143100 0.0039117899 0.0023040853 0.0041988586 - 143200 0.0051584001 0.0022889875 0.0047875876 - 143300 0.0064411135 0.0026773848 0.0057972991 - 143400 0.0051558872 0.0029735879 0.0054709708 - 143500 0.0046394507 0.0028406391 0.005087873 - 143600 0.0042859102 0.002926405 0.0050023927 - 143700 0.0061690604 0.0029937245 0.0059818631 - 143800 0.003917043 0.002896098 0.0047934157 - 143900 0.0048680247 0.0029521148 0.0053100642 - 144000 0.0041163453 0.0029744737 0.0049683284 - 144100 0.0042369012 0.0023264242 0.0043786733 - 144200 0.0041434632 0.0024513983 0.0044583883 - 144300 0.0045265932 0.0023645957 0.0045571643 - 144400 0.0064452761 0.0023171252 0.0054390559 - 144500 0.0050201953 0.0029854517 0.0054171088 - 144600 0.0065017758 0.0034607356 0.0066100333 - 144700 0.0054259719 0.0031138693 0.0057420744 - 144800 0.0054103325 0.0027970467 0.0054176765 - 144900 0.0067084004 0.0024817036 0.005731085 - 145000 0.0067026941 0.0025945691 0.0058411866 - 145100 0.0048057835 0.0033560496 0.0056838509 - 145200 0.0045413099 0.0031222249 0.0053219219 - 145300 0.0041646006 0.00296848 0.0049857084 - 145400 0.0046490635 0.0029314585 0.0051833486 - 145500 0.0052566106 0.0031541388 0.0057003095 - 145600 0.0063179019 0.0030547471 0.0061149809 - 145700 0.0052922615 0.0026764387 0.0052398779 - 145800 0.0056831002 0.0025356996 0.0052884513 - 145900 0.0053312045 0.0024035209 0.0049858231 - 146000 0.0045855023 0.0023246479 0.0045457505 - 146100 0.0062503124 0.0025600011 0.0055874962 - 146200 0.0045591971 0.0023141248 0.0045224858 - 146300 0.004481118 0.0021588429 0.0043293844 - 146400 0.0054696099 0.002005789 0.0046551313 - 146500 0.0045938394 0.0020148029 0.0042399439 - 146600 0.0042479958 0.0023147482 0.0043723712 - 146700 0.0030578505 0.0024294713 0.0039106177 - 146800 0.0033832871 0.0019653841 0.0036041638 - 146900 0.0046161514 0.0018298665 0.0040658148 - 147000 0.0045288419 0.0018626625 0.0040563203 - 147100 0.0063009162 0.0017128736 0.0047648799 - 147200 0.0068037669 0.0016677784 0.004963353 - 147300 0.0044446367 0.0019195138 0.0040723847 - 147400 0.0047164853 0.0025261143 0.0048106619 - 147500 0.0049797033 0.0026090611 0.0050211048 - 147600 0.0048701452 0.0025958424 0.004954819 - 147700 0.0039382902 0.002775244 0.0046828534 - 147800 0.0068881798 0.0023115448 0.0056480069 - 147900 0.0057560178 0.0025356828 0.0053237539 - 148000 0.0037795347 0.0027412825 0.0045719947 - 148100 0.0049886603 0.0025711459 0.0049875282 - 148200 0.0054287608 0.002708267 0.005337823 - 148300 0.004795759 0.0026062378 0.0049291836 - 148400 0.005351881 0.0027086998 0.0053010171 - 148500 0.0044378564 0.0029363355 0.0050859222 - 148600 0.0040598016 0.0029548032 0.0049212696 - 148700 0.0042479132 0.0028292548 0.0048868378 - 148800 0.0050079853 0.0022032719 0.0046290148 - 148900 0.0049560196 0.0022388164 0.0046393884 - 149000 0.0053142859 0.0024087774 0.0049828846 - 149100 0.0043892665 0.002474407 0.0046004579 - 149200 0.0050040943 0.0025886343 0.0050124925 - 149300 0.003785899 0.0030963039 0.0049300987 - 149400 0.0046572747 0.0029329657 0.0051888331 - 149500 0.005182398 0.0022291726 0.0047393966 - 149600 0.0051034073 0.002645802 0.0051177649 - 149700 0.0062453156 0.0027451965 0.0057702713 - 149800 0.0040003697 0.0031180403 0.0050557194 - 149900 0.0052578932 0.0034325933 0.0059793853 - 150000 0.0055673012 0.0031025456 0.0057992071 - 150100 0.0042120305 0.0033666032 0.0054068055 - 150200 0.0047008151 0.0028921646 0.0051691219 - 150300 0.006436053 0.0021398593 0.0052573225 - 150400 0.0039478372 0.0021817371 0.0040939708 - 150500 0.0036672454 0.0021634299 0.0039397519 - 150600 0.0038281746 0.0022922422 0.0041465143 - 150700 0.0049741354 0.0024764518 0.0048857986 - 150800 0.0053414497 0.0028145888 0.0054018535 - 150900 0.0044913569 0.0029924045 0.0051679055 - 151000 0.0047310275 0.0028749769 0.0051665684 - 151100 0.0054432615 0.002923927 0.0055605067 - 151200 0.0044545471 0.0027202175 0.0048778888 - 151300 0.005200589 0.0026043818 0.0051234171 - 151400 0.0046763629 0.0024565223 0.0047216356 - 151500 0.0064746861 0.0022237364 0.0053599125 - 151600 0.0045998426 0.0024988315 0.0047268802 - 151700 0.0046772489 0.0026060623 0.0048716047 - 151800 0.0042034604 0.0022417296 0.0042777807 - 151900 0.0054320399 0.0020370203 0.0046681646 - 152000 0.0047593132 0.0021594689 0.0044647613 - 152100 0.0060243811 0.0018982484 0.004816308 - 152200 0.0057493286 0.00215867 0.0049435011 - 152300 0.006338288 0.0022354437 0.0053055519 - 152400 0.0049191092 0.0026941585 0.005076852 - 152500 0.0036713332 0.0027742011 0.0045525031 - 152600 0.0053815381 0.0024932392 0.0050999217 - 152700 0.0044817213 0.0019686182 0.0041394519 - 152800 0.0052429979 0.0018338469 0.004373424 - 152900 0.0055636332 0.002105456 0.0048003408 - 153000 0.0038718233 0.0024007181 0.0042761326 - 153100 0.0044198318 0.0027341842 0.0048750402 - 153200 0.004164547 0.0024886887 0.0045058911 - 153300 0.0066801176 0.0021850502 0.0054207322 - 153400 0.0066444838 0.0030123744 0.0062307963 - 153500 0.0046670883 0.0027962745 0.0050568954 - 153600 0.0050569859 0.0023953035 0.0048447811 - 153700 0.0056574767 0.0024891698 0.0052295101 - 153800 0.0052700823 0.0023535181 0.0049062142 - 153900 0.0051632144 0.0022715295 0.0047724615 - 154000 0.0042337596 0.0021679538 0.0042186811 - 154100 0.005491921 0.0021899006 0.0048500498 - 154200 0.0047673306 0.002659424 0.0049685998 - 154300 0.0072143942 0.0023794034 0.0058738756 - 154400 0.0052574085 0.0021847983 0.0047313555 - 154500 0.0049066593 0.0023323421 0.0047090052 - 154600 0.0049329687 0.0020242138 0.0044136206 - 154700 0.0044738201 0.0023567162 0.0045237228 - 154800 0.0069959333 0.0025653453 0.0059540005 - 154900 0.0054682055 0.0024833758 0.0051320378 - 155000 0.0043667131 0.0024252642 0.0045403908 - 155100 0.0048510794 0.002432654 0.0047823956 - 155200 0.0053573126 0.0021590407 0.004753989 - 155300 0.0038716761 0.0022326442 0.0041079873 - 155400 0.0044067852 0.0022416321 0.0043761687 - 155500 0.0048673892 0.0025992402 0.0049568818 - 155600 0.0062431377 0.0022925316 0.0053165515 - 155700 0.0065293515 0.0020887983 0.0052514529 - 155800 0.0064674854 0.0019299478 0.005062636 - 155900 0.0049443007 0.0018346679 0.0042295635 - 156000 0.0046110401 0.0022421651 0.0044756377 - 156100 0.0035320908 0.0028460672 0.0045569237 - 156200 0.0051375215 0.0029886751 0.0054771621 - 156300 0.0045384454 0.0035289115 0.0057272209 - 156400 0.007449067 0.0030849724 0.0066931142 - 156500 0.0058027133 0.0025212537 0.0053319429 - 156600 0.004794061 0.0025330507 0.004855174 - 156700 0.0046444186 0.0024802054 0.0047298457 - 156800 0.0036685867 0.0024427138 0.0042196855 - 156900 0.0057219502 0.0020886566 0.0048602262 - 157000 0.0045312197 0.0023553929 0.0045502024 - 157100 0.0049651552 0.0023599911 0.0047649882 - 157200 0.0056482905 0.0019587615 0.0046946522 - 157300 0.0050909533 0.001890189 0.0043561195 - 157400 0.0051901878 0.0017647626 0.0042787598 - 157500 0.0051705452 0.00139791 0.0039023928 - 157600 0.0048677016 0.0013188193 0.0036766123 - 157700 0.0045459928 0.0015970186 0.0037989839 - 157800 0.0049654654 0.0017060322 0.0041111795 - 157900 0.005077764 0.0019306335 0.0043901754 - 158000 0.0055413432 0.0022015826 0.0048856707 - 158100 0.0060683005 0.0017923339 0.004731667 - 158200 0.0051983427 0.0016303503 0.0041482975 - 158300 0.0050188722 0.0016466829 0.0040776991 - 158400 0.0042586344 0.0019458243 0.0040086004 - 158500 0.0039015186 0.002230434 0.0041202321 - 158600 0.0059018117 0.0020963845 0.0049550746 - 158700 0.0045117917 0.0026484076 0.0048338067 - 158800 0.0039525279 0.002537756 0.0044522617 - 158900 0.0053521188 0.0026255837 0.0052180163 - 159000 0.0051960364 0.0030255902 0.0055424204 - 159100 0.0054781755 0.0028587191 0.0055122103 - 159200 0.003580188 0.0027664748 0.0045006283 - 159300 0.0043438726 0.0026956299 0.0047996932 - 159400 0.0064902022 0.0022900838 0.0054337755 - 159500 0.0061888156 0.0021282956 0.0051260032 - 159600 0.0054523759 0.0028752149 0.0055162095 - 159700 0.0043848522 0.0028030229 0.0049269357 - 159800 0.0051834959 0.0025268622 0.005037618 - 159900 0.0058104463 0.00204287 0.0048573049 - 160000 0.0050935227 0.0021823931 0.0046495682 - 160100 0.0045065106 0.0018609616 0.0040438026 - 160200 0.0065247049 0.0019719606 0.0051323645 - 160300 0.0043202581 0.0025761183 0.0046687432 - 160400 0.0037731082 0.0029681783 0.0047957776 - 160500 0.0048078738 0.0027838241 0.0051126379 - 160600 0.0056656097 0.002514063 0.0052583427 - 160700 0.0047905705 0.0025004306 0.0048208631 - 160800 0.0059485762 0.0027451888 0.0056265303 - 160900 0.0069172279 0.0025777952 0.0059283274 - 161000 0.0045929814 0.002757201 0.0049819264 - 161100 0.0050765581 0.0022732258 0.0047321836 - 161200 0.0048672061 0.0021223981 0.0044799511 - 161300 0.0084339973 0.0017979256 0.005883143 - 161400 0.0043087197 0.0020939555 0.0041809916 - 161500 0.0048125215 0.0019393911 0.0042704562 - 161600 0.0061851204 0.0018939874 0.0048899051 - 161700 0.0048819373 0.0017452599 0.0041099482 - 161800 0.0053347953 0.0017629933 0.0043470347 - 161900 0.0059179407 0.0020049844 0.004871487 - 162000 0.0056691395 0.0026944993 0.0054404887 - 162100 0.0062329956 0.0028188328 0.00583794 - 162200 0.0065406343 0.0028653361 0.0060334558 - 162300 0.0047925456 0.0027958749 0.0051172642 - 162400 0.0042940493 0.0024094122 0.0044893424 - 162500 0.004674617 0.0020342223 0.0042984899 - 162600 0.0048720063 0.0018968445 0.0042567226 - 162700 0.0047032571 0.0020574632 0.0043356034 - 162800 0.0063507849 0.0024420795 0.0055182409 - 162900 0.0046496671 0.0021915443 0.0044437268 - 163000 0.0052163891 0.0019197839 0.0044464724 - 163100 0.0042621643 0.0017866294 0.0038511153 - 163200 0.003913794 0.0022974134 0.0041931574 - 163300 0.0043629936 0.0022760116 0.0043893366 - 163400 0.006070931 0.0022716007 0.0052122079 - 163500 0.0046416141 0.0025036778 0.0047519596 - 163600 0.0071688341 0.0024717357 0.0059441397 - 163700 0.0051661612 0.0024036609 0.0049060202 - 163800 0.006407258 0.0023039278 0.0054074435 - 163900 0.0049495761 0.0029762358 0.0053736867 - 164000 0.0056070224 0.002607829 0.0053237304 - 164100 0.0049666508 0.002887288 0.0052930095 - 164200 0.0058178851 0.0025532376 0.0053712757 - 164300 0.0057135711 0.0022369992 0.0050045102 - 164400 0.0039687789 0.0018559992 0.0037783764 - 164500 0.0052175444 0.0018823853 0.0044096334 - 164600 0.0053989443 0.0027528088 0.0053679224 - 164700 0.0052602067 0.0024845198 0.0050324324 - 164800 0.0060999519 0.0017206815 0.0046753457 - 164900 0.0072795707 0.0019280897 0.0054541318 - 165000 0.004577988 0.0021762846 0.0043937475 - 165100 0.0066311513 0.00211785 0.0053298139 - 165200 0.0053043591 0.0024129504 0.0049822493 - 165300 0.0050505966 0.002193457 0.0046398397 - 165400 0.0053447822 0.0023196192 0.0049084981 - 165500 0.0052686317 0.0024356049 0.0049875984 - 165600 0.0037062287 0.0022874951 0.0040826997 - 165700 0.0065031044 0.0018203609 0.004970302 - 165800 0.0042549744 0.0022655152 0.0043265184 - 165900 0.0049047866 0.002865856 0.005241612 - 166000 0.0042771074 0.0029348981 0.005006622 - 166100 0.0044818132 0.0027141984 0.0048850766 - 166200 0.005394058 0.0022853924 0.0048981393 - 166300 0.0040815134 0.0023739117 0.0043508948 - 166400 0.0054641429 0.002521733 0.0051684273 - 166500 0.0051554511 0.0030905531 0.0055877247 - 166600 0.0048378447 0.0025567763 0.0049001073 - 166700 0.0084159574 0.00216405 0.0062405294 - 166800 0.0040051911 0.0026447406 0.0045847551 - 166900 0.0040266005 0.0026342481 0.0045846327 - 167000 0.0049446525 0.0027660638 0.0051611298 - 167100 0.0053975892 0.0026433147 0.0052577719 - 167200 0.0040086986 0.0024036545 0.0043453678 - 167300 0.0045407865 0.0022339223 0.0044333658 - 167400 0.0042888042 0.0021276537 0.0042050432 - 167500 0.0049512221 0.0023172703 0.0047155185 - 167600 0.0066094263 0.002166447 0.0053678878 - 167700 0.0055063393 0.0026266253 0.0052937585 - 167800 0.0063715344 0.0025261516 0.0056123636 - 167900 0.0060565087 0.0023051275 0.0052387489 - 168000 0.0046761261 0.0029428931 0.0052078917 - 168100 0.0042716448 0.0034805445 0.0055496224 - 168200 0.0045763221 0.003173535 0.005390191 - 168300 0.0052264064 0.0027643524 0.005295893 - 168400 0.005614281 0.0026517138 0.0053711312 - 168500 0.0045414774 0.0026239022 0.0048236803 - 168600 0.004369677 0.0024286681 0.0045452304 - 168700 0.0047279523 0.0022579649 0.0045480668 - 168800 0.0058736256 0.0022428108 0.0050878482 - 168900 0.0042201681 0.002250521 0.004294665 - 169000 0.0050922908 0.0022707129 0.0047372913 - 169100 0.0050772604 0.0020877072 0.0045470053 - 169200 0.0043384511 0.0020589712 0.0041604084 - 169300 0.0038461152 0.0020456951 0.0039086572 - 169400 0.0038110489 0.0018595937 0.0037055705 - 169500 0.0053986464 0.0019227898 0.0045377592 - 169600 0.0033657695 0.0026934035 0.0043236981 - 169700 0.0047444138 0.0025662912 0.0048643667 - 169800 0.0057891597 0.0021446014 0.0049487256 - 169900 0.0044467918 0.0022621392 0.0044160539 - 170000 0.0040623737 0.002449087 0.0044167993 - 170100 0.0059199183 0.002008681 0.0048761414 - 170200 0.0046689524 0.00236858 0.0046301039 - 170300 0.0059912456 0.0028317645 0.0057337741 - 170400 0.0040889385 0.0031981785 0.0051787581 - 170500 0.0053163322 0.0030502131 0.0056253115 - 170600 0.0044476618 0.0032635911 0.0054179273 - 170700 0.0072373312 0.0032582239 0.0067638062 - 170800 0.0057174135 0.0029927618 0.0057621339 - 170900 0.0051583236 0.0030367685 0.0055353315 - 171000 0.004752941 0.0028672361 0.0051694419 - 171100 0.0067618001 0.0027897097 0.0060649567 - 171200 0.006125981 0.0029634779 0.0059307499 - 171300 0.0051492572 0.0032023616 0.005696533 - 171400 0.0048470645 0.0024037324 0.0047515293 - 171500 0.0048322247 0.0020342993 0.0043749082 - 171600 0.0048465763 0.0021079081 0.0044554685 - 171700 0.0050603844 0.0023483275 0.0047994512 - 171800 0.0060571521 0.0028178385 0.0057517715 - 171900 0.0053419868 0.00291038 0.0054979048 - 172000 0.0055085435 0.0025834794 0.0052516802 - 172100 0.0047816038 0.0026764145 0.0049925039 - 172200 0.0057277113 0.002473442 0.0052478022 - 172300 0.0051192765 0.0027374121 0.0052170616 - 172400 0.005596358 0.0030916856 0.0058024214 - 172500 0.0042281872 0.0029650156 0.0050130438 - 172600 0.0048929982 0.0026994372 0.0050694832 - 172700 0.0046070082 0.0028262354 0.005057755 - 172800 0.0045721369 0.0024372032 0.004651832 - 172900 0.0042542587 0.0028236651 0.0048843217 - 173000 0.0040198806 0.0025763625 0.0045234922 - 173100 0.0038632863 0.0024507968 0.0043220761 - 173200 0.005179401 0.0023385965 0.0048473688 - 173300 0.0045384982 0.0023440778 0.0045424129 - 173400 0.003819509 0.0024128415 0.0042629162 - 173500 0.0038319386 0.0024929789 0.0043490742 - 173600 0.0041644251 0.0029191284 0.0049362718 - 173700 0.0037860578 0.0033559084 0.0051897802 - 173800 0.0053638365 0.003062021 0.0056601293 - 173900 0.0045422519 0.0025494231 0.0047495764 - 174000 0.0046648823 0.002151625 0.0044111774 - 174100 0.00419413 0.0024077856 0.0044393173 - 174200 0.006513566 0.00248414 0.0056391485 - 174300 0.0070665639 0.0026349534 0.0060578202 - 174400 0.0050057449 0.002819314 0.0052439717 - 174500 0.0046849136 0.0029546937 0.0052239487 - 174600 0.0061534255 0.0024333402 0.0054139057 - 174700 0.0047288255 0.0023150192 0.004605544 - 174800 0.0046613413 0.0023306249 0.0045884621 - 174900 0.0059836457 0.0019996837 0.0048980121 - 175000 0.0049117306 0.0021873632 0.0045664827 - 175100 0.0056488975 0.0026604624 0.0053966471 - 175200 0.0051269617 0.0023215836 0.0048049557 - 175300 0.0046810432 0.0021657823 0.0044331626 - 175400 0.0068231356 0.0025416854 0.0058466417 - 175500 0.0048125289 0.0025211253 0.0048521939 - 175600 0.0059890689 0.002143281 0.0050442362 - 175700 0.0061277037 0.0023581915 0.005326298 - 175800 0.0056664343 0.0026984486 0.0054431278 - 175900 0.006226498 0.0026334748 0.0056494348 - 176000 0.0036742198 0.0033117737 0.0050914739 - 176100 0.0050177728 0.0029069105 0.0053373942 - 176200 0.0046582718 0.0022242181 0.0044805685 - 176300 0.0041702059 0.0020266951 0.0040466386 - 176400 0.0043947762 0.0022945087 0.0044232284 - 176500 0.0050314031 0.0023279738 0.0047650597 - 176600 0.0067434407 0.0021558213 0.0054221753 - 176700 0.0057649581 0.0021036347 0.0048960363 - 176800 0.0045517789 0.0020718413 0.0042766092 - 176900 0.0045014192 0.002306267 0.0044866419 - 177000 0.0039469761 0.002131983 0.0040437995 - 177100 0.0052114292 0.0017970982 0.0043213843 - 177200 0.0044156937 0.0019055287 0.0040443804 - 177300 0.0037534259 0.0018644198 0.0036824855 - 177400 0.0054399325 0.0020093058 0.0046442731 - 177500 0.0057693264 0.0020479726 0.0048424901 - 177600 0.0054223268 0.0022352031 0.0048616427 - 177700 0.0073963469 0.002506764 0.0060893696 - 177800 0.0052954181 0.0025605429 0.005125511 - 177900 0.004069189 0.002576384 0.0045473974 - 178000 0.0038721198 0.0023007757 0.0041763337 - 178100 0.0045339862 0.0022879117 0.0044840612 - 178200 0.006320902 0.0025996003 0.0056612872 - 178300 0.0068138857 0.002397765 0.0056982409 - 178400 0.0077096252 0.0025457506 0.0062801003 - 178500 0.0043518136 0.0027738328 0.0048817425 - 178600 0.0053528388 0.0024783057 0.005071087 - 178700 0.006383901 0.0022961462 0.0053883482 - 178800 0.0057754086 0.0024095078 0.0052069714 - 178900 0.0045293708 0.0025332296 0.0047271436 - 179000 0.0050434616 0.0028301783 0.005273105 - 179100 0.0055845463 0.0027675743 0.0054725889 - 179200 0.0039278071 0.0028319306 0.0047344622 - 179300 0.004081491 0.003000061 0.0049770332 - 179400 0.0062062904 0.0028575068 0.0058636787 - 179500 0.0052464655 0.0023084301 0.0048496869 - 179600 0.0052736987 0.0022150575 0.0047695053 - 179700 0.0042601771 0.0029507932 0.0050143165 - 179800 0.004979261 0.003274902 0.0056867316 - 179900 0.0061351201 0.0031000563 0.0060717551 - 180000 0.0066566727 0.0028260329 0.0060503588 - 180100 0.0064538913 0.0029894834 0.006115587 - 180200 0.0046227557 0.0033606421 0.0055997894 - 180300 0.0058760106 0.0031954553 0.0060416479 - 180400 0.0066399034 0.0028787069 0.0060949102 - 180500 0.0048316771 0.003121693 0.0054620366 - 180600 0.0043999536 0.0031631323 0.0052943598 - 180700 0.0050133232 0.0029488755 0.0053772039 - 180800 0.0060917075 0.003139579 0.0060902498 - 180900 0.0067565673 0.0031876283 0.0064603406 - 181000 0.0054760351 0.0034357265 0.0060881811 - 181100 0.0059791683 0.0031307651 0.0060269248 - 181200 0.0049620975 0.0027527775 0.0051562934 - 181300 0.0058168352 0.0025542441 0.0053717737 - 181400 0.0074124776 0.0027314387 0.0063218575 - 181500 0.0047401492 0.002528518 0.0048245278 - 181600 0.0053862645 0.0027190833 0.0053280552 - 181700 0.0054039109 0.0029065742 0.0055240935 - 181800 0.00733339 0.0028731752 0.0064252859 - 181900 0.006454915 0.003000843 0.0061274424 - 182000 0.0056203447 0.0037176893 0.0064400438 - 182100 0.0060120851 0.0031727342 0.0060848379 - 182200 0.0043869015 0.0025403986 0.004665304 - 182300 0.0040502603 0.0026548658 0.0046167107 - 182400 0.0047276291 0.0024992324 0.0047891777 - 182500 0.0069399783 0.0021612268 0.0055227788 - 182600 0.0052651879 0.0021067349 0.0046570603 - 182700 0.0046511944 0.0019013654 0.0041542877 - 182800 0.0039678969 0.0017224289 0.003644379 - 182900 0.0060322293 0.0019686185 0.0048904796 - 183000 0.0044312063 0.0024721146 0.0046184801 - 183100 0.0055569702 0.0024702265 0.005161884 - 183200 0.0044802585 0.0025738277 0.0047439529 - 183300 0.0039253332 0.0024418988 0.0043432321 - 183400 0.0054920333 0.002521262 0.0051814656 - 183500 0.0043290383 0.0027746516 0.0048715296 - 183600 0.0052618606 0.0025950347 0.0051437484 - 183700 0.0041607749 0.0033383627 0.0053537381 - 183800 0.0062872104 0.0033602091 0.0064055767 - 183900 0.0053335613 0.0031962745 0.0057797182 - 184000 0.0057493116 0.0029152922 0.005700115 - 184100 0.0034488087 0.0028402707 0.0045107874 - 184200 0.0052121074 0.002817431 0.0053420455 - 184300 0.0046878421 0.003004564 0.0052752375 - 184400 0.0060565068 0.0024850035 0.005418624 - 184500 0.004775217 0.0021330363 0.004446032 - 184600 0.0045152901 0.0020452738 0.0042323675 - 184700 0.0052189619 0.0028027033 0.005330638 - 184800 0.0044494116 0.002797766 0.0049529498 - 184900 0.0044963623 0.0022585517 0.0044364772 - 185000 0.0049105831 0.0023633887 0.0047419524 - 185100 0.0057402555 0.0029314345 0.0057118707 - 185200 0.0052035643 0.0032472885 0.0057677649 - 185300 0.0044396187 0.0031022778 0.0052527181 - 185400 0.00552578 0.0027084551 0.0053850048 - 185500 0.0059026866 0.0020049507 0.0048640645 - 185600 0.0040026931 0.0024818848 0.0044206893 - 185700 0.0053803795 0.0026164507 0.0052225721 - 185800 0.003861688 0.0023225395 0.0041930446 - 185900 0.0053582503 0.0021537608 0.0047491633 - 186000 0.0046154584 0.0022786866 0.0045142993 - 186100 0.0049055032 0.0023179292 0.0046940323 - 186200 0.0052858241 0.0021079373 0.0046682584 - 186300 0.0052024362 0.0024076039 0.004927534 - 186400 0.004857801 0.0023052738 0.0046582711 - 186500 0.004023298 0.0021850719 0.0041338569 - 186600 0.0036155255 0.002280809 0.0040320792 - 186700 0.0038579955 0.0027198323 0.0045885489 - 186800 0.0063677161 0.0025739598 0.0056583222 - 186900 0.0045225785 0.0024861386 0.0046767625 - 187000 0.0049835336 0.0020343537 0.0044482528 - 187100 0.0045320336 0.0021878754 0.0043830792 - 187200 0.0034144141 0.0026306899 0.0042845467 - 187300 0.0039057395 0.002513463 0.0044053056 - 187400 0.0058619531 0.0020707321 0.0049101156 - 187500 0.0064173394 0.0019263661 0.0050347649 - 187600 0.0053520084 0.0019748014 0.0045671805 - 187700 0.0052174347 0.0020493688 0.0045765637 - 187800 0.0046195121 0.0023494084 0.0045869846 - 187900 0.003689577 0.002147859 0.0039349979 - 188000 0.0059961492 0.0017618515 0.0046662363 - 188100 0.0041823325 0.0017718191 0.0037976365 - 188200 0.0043850261 0.00196323 0.004087227 - 188300 0.003635617 0.0019857711 0.0037467731 - 188400 0.0059524417 0.0016029899 0.0044862039 - 188500 0.0056924296 0.0018621911 0.0046194617 - 188600 0.0048042949 0.0024473011 0.0047743814 - 188700 0.0058318226 0.0022984831 0.0051232721 - 188800 0.0052188059 0.0026443254 0.0051721845 - 188900 0.0056113973 0.0025944274 0.0053124479 - 189000 0.0044310254 0.0022104356 0.0043567136 - 189100 0.0047866433 0.0025570562 0.0048755866 - 189200 0.0033139611 0.002889829 0.0044950289 - 189300 0.0038916042 0.0030517495 0.0049367453 - 189400 0.004604689 0.0023109722 0.0045413684 - 189500 0.0062908433 0.0017933712 0.0048404984 - 189600 0.0047164727 0.0021168432 0.0044013847 - 189700 0.0043846343 0.0023526239 0.0044764312 - 189800 0.0062542294 0.0024680157 0.0054974081 - 189900 0.0054322102 0.0028654338 0.0054966607 - 190000 0.0052922781 0.0035149977 0.0060784449 - 190100 0.0048195915 0.0033319567 0.0056664464 - 190200 0.0049659617 0.0031083355 0.0055137232 - 190300 0.0048846338 0.002618541 0.0049845355 - 190400 0.0072407499 0.0025871515 0.0060943898 - 190500 0.0051735903 0.0033501057 0.0058560635 - 190600 0.0040078499 0.0037742335 0.0057155358 - 190700 0.006697174 0.003039924 0.0062838677 - 190800 0.0053998872 0.0029342198 0.0055497901 - 190900 0.0050070716 0.0032378488 0.0056631491 - 191000 0.0044775182 0.0032919033 0.0054607011 - 191100 0.0048496929 0.0029186711 0.0052677411 - 191200 0.0046411987 0.0026224616 0.0048705422 - 191300 0.0055062313 0.0028360695 0.0055031503 - 191400 0.0043036098 0.0030423482 0.0051269092 - 191500 0.0047557858 0.0028837441 0.0051873279 - 191600 0.0049657398 0.0031398468 0.0055451271 - 191700 0.0057967036 0.0027231302 0.0055309085 - 191800 0.0046446397 0.0023950176 0.0046447649 - 191900 0.0060831854 0.0021788919 0.0051254348 - 192000 0.0050062294 0.0025966413 0.0050215337 - 192100 0.0043299953 0.0029248104 0.0050221519 - 192200 0.0055555236 0.0024065811 0.0050975378 - 192300 0.0055035662 0.0023360749 0.0050018648 - 192400 0.0035013393 0.0024301448 0.004126106 - 192500 0.0039670881 0.0021160113 0.0040375696 - 192600 0.0054090169 0.0020258664 0.0046458589 - 192700 0.0043622174 0.0025770528 0.0046900019 - 192800 0.0044188753 0.0025913243 0.004731717 - 192900 0.0054753877 0.0025689278 0.0052210687 - 193000 0.0030370073 0.0026801634 0.0041512138 - 193100 0.004409951 0.0022050277 0.0043410977 - 193200 0.0057759185 0.001896822 0.0046945325 - 193300 0.0042752982 0.0025307205 0.0046015681 - 193400 0.0055186183 0.0031917268 0.0058648075 - 193500 0.0060706248 0.0030096467 0.0059501056 - 193600 0.0042938989 0.00264227 0.0047221273 - 193700 0.0055878445 0.0026675461 0.0053741583 - 193800 0.0041577783 0.0032179247 0.0052318486 - 193900 0.0044302076 0.0028307011 0.004976583 - 194000 0.0045536136 0.0026532486 0.0048589052 - 194100 0.0042068026 0.0024913282 0.0045289982 - 194200 0.0037699595 0.0026229049 0.004448979 - 194300 0.0037420602 0.0026526448 0.0044652052 - 194400 0.003878494 0.0026486011 0.0045272466 - 194500 0.0046998411 0.0024972143 0.0047736999 - 194600 0.0074446112 0.0023454877 0.0059514713 - 194700 0.0035616348 0.0025592457 0.0042844125 - 194800 0.004454451 0.0026486558 0.0048062805 - 194900 0.0041375053 0.0031289022 0.0051330063 - 195000 0.0055855352 0.0023818302 0.0050873238 - 195100 0.0049993147 0.0022307876 0.0046523307 - 195200 0.0050902708 0.0024878171 0.004953417 - 195300 0.0052889476 0.0028110914 0.0053729254 - 195400 0.0069216615 0.0026928476 0.0060455273 - 195500 0.0056653594 0.0028165203 0.0055606787 - 195600 0.0068159974 0.0033075535 0.0066090523 - 195700 0.0038892912 0.0033528858 0.0052367612 - 195800 0.0050771126 0.0029442862 0.0054035126 - 195900 0.0049673801 0.0024786018 0.0048846766 - 196000 0.0045366143 0.0023858427 0.0045832652 - 196100 0.0034262945 0.0023407836 0.004000395 - 196200 0.0080690464 0.002105792 0.0060142364 - 196300 0.0055825313 0.0026808195 0.0053848581 - 196400 0.0058569898 0.0025960602 0.0054330397 - 196500 0.0049358445 0.0023874592 0.0047782588 - 196600 0.0057120089 0.0030756087 0.005842363 - 196700 0.0065281028 0.0036266314 0.0067886812 - 196800 0.0083678972 0.002787348 0.0068405482 - 196900 0.0053579919 0.0027321079 0.0053273852 - 197000 0.0051319658 0.0031094842 0.0055952801 - 197100 0.0051893931 0.0026560568 0.0051696691 - 197200 0.0057025248 0.0025227845 0.005284945 - 197300 0.0057190745 0.0021218735 0.0048920502 - 197400 0.0054308536 0.0021085758 0.0047391455 - 197500 0.0061738386 0.0024553693 0.0054458224 - 197600 0.0073637833 0.0034092835 0.006976116 - 197700 0.006880961 0.0038654894 0.0071984549 - 197800 0.0045154568 0.003905548 0.0060927224 - 197900 0.0058546478 0.0034661516 0.0063019967 - 198000 0.006251792 0.0032547858 0.0062829976 - 198100 0.0047231964 0.0027934021 0.0050812004 - 198200 0.0050989071 0.0024584673 0.0049282504 - 198300 0.0066451305 0.0021919512 0.0054106863 - 198400 0.0052993565 0.0027496567 0.0053165324 - 198500 0.0048914502 0.0030021438 0.00537144 - 198600 0.0045970991 0.0028914871 0.005118207 - 198700 0.0046075146 0.0028712859 0.0051030508 - 198800 0.0044019458 0.0030324028 0.0051645953 - 198900 0.0064983384 0.0028781354 0.006025768 - 199000 0.0043115478 0.0026259277 0.0047143336 - 199100 0.0052927869 0.0030187438 0.0055824374 - 199200 0.0046158741 0.0034427209 0.0056785349 - 199300 0.0057827879 0.0033809411 0.0061819789 - 199400 0.0047102404 0.0030595364 0.0053410591 - 199500 0.0065787425 0.0026770398 0.0058636182 - 199600 0.0051927359 0.0026411966 0.005156428 - 199700 0.0045327092 0.0027294203 0.0049249513 - 199800 0.0048496623 0.0025053467 0.0048544019 - 199900 0.0054228679 0.0020631595 0.0046898612 - 200000 0.0055794195 0.0018362356 0.0045387669 - 200100 0.0046262225 0.0020656778 0.0043065043 - 200200 0.003627737 0.002270457 0.0040276421 - 200300 0.0038479801 0.0021699958 0.0040338612 - 200400 0.0050120202 0.002216547 0.0046442443 - 200500 0.0049172792 0.0023821287 0.0047639358 - 200600 0.0036694163 0.0025848857 0.0043622592 - 200700 0.0041600694 0.0027527852 0.0047678188 - 200800 0.004511666 0.0024639128 0.004649251 - 200900 0.0066329627 0.0025066272 0.0057194686 - 201000 0.0050300515 0.0032750403 0.0057114715 - 201100 0.0059981294 0.0034641684 0.0063695123 - 201200 0.0053221902 0.0032550253 0.0058329612 - 201300 0.004780854 0.0027813602 0.0050970863 - 201400 0.0047724553 0.0027331203 0.0050447783 - 201500 0.0083500719 0.0026781623 0.0067227284 - 201600 0.0057064719 0.0026443441 0.0054084164 - 201700 0.0053270485 0.0031907506 0.0057710397 - 201800 0.0056772678 0.0027345683 0.0054844949 - 201900 0.0051556952 0.0026502128 0.0051475027 - 202000 0.0054386571 0.0024793145 0.0051136641 - 202100 0.0060716989 0.002756279 0.0056972581 - 202200 0.0040641357 0.0033367206 0.0053052863 - 202300 0.0046033751 0.0032435963 0.0054733561 - 202400 0.004246771 0.0028810152 0.0049380449 - 202500 0.0058791109 0.002499567 0.0053472613 - 202600 0.0044302003 0.0030500904 0.0051959687 - 202700 0.0045842744 0.0028628921 0.0050834 - 202800 0.0056273109 0.0031744904 0.0059002191 - 202900 0.0066554885 0.0030585302 0.0062822825 - 203000 0.0059381392 0.0028487683 0.0057250544 - 203100 0.0051322804 0.0031226977 0.005608646 - 203200 0.0055475824 0.0025834209 0.0052705311 - 203300 0.0049699258 0.0025155703 0.0049228781 - 203400 0.0050097429 0.0023647721 0.0047913663 - 203500 0.0044111825 0.0023675111 0.0045041776 - 203600 0.0040262051 0.0027285627 0.0046787558 - 203700 0.0053123872 0.003257171 0.0058303585 - 203800 0.005475602 0.0030955672 0.0057478119 - 203900 0.0063764118 0.0027558197 0.0058443942 - 204000 0.0063038368 0.0024937674 0.0055471884 - 204100 0.0050449743 0.0026723037 0.0051159631 - 204200 0.0067524323 0.0025882042 0.0058589137 - 204300 0.0073031627 0.0026445353 0.0061820047 - 204400 0.0050223894 0.002810413 0.0052431329 - 204500 0.0037718568 0.0030748839 0.004901877 - 204600 0.0062012174 0.0032083521 0.0062120668 - 204700 0.0054393438 0.0028176179 0.0054523 - 204800 0.0088331665 0.002493314 0.006771879 - 204900 0.0053942416 0.0025172599 0.0051300957 - 205000 0.0037609622 0.0030769793 0.0048986954 - 205100 0.0063160379 0.0030003872 0.006059718 - 205200 0.0042026933 0.0026768992 0.0047125788 - 205300 0.0058727251 0.0025895103 0.0054341116 - 205400 0.0067897991 0.002280172 0.005568981 - 205500 0.0055292419 0.002319809 0.0049980356 - 205600 0.0052534527 0.0026419529 0.0051865941 - 205700 0.0043953817 0.0023659035 0.0044949165 - 205800 0.0045353981 0.0024362533 0.0046330868 - 205900 0.0031392895 0.0024728119 0.0039934052 - 206000 0.0045591585 0.0023565796 0.004564922 - 206100 0.0053648652 0.0021715123 0.0047701189 - 206200 0.0051829247 0.0019909078 0.0045013869 - 206300 0.0050365147 0.0026592167 0.0050987785 - 206400 0.0050082255 0.0028922498 0.005318109 - 206500 0.0052750194 0.0029120324 0.0054671199 - 206600 0.0055912708 0.0023448232 0.005053095 - 206700 0.0046981304 0.0021110812 0.0043867381 - 206800 0.0058175925 0.0023570336 0.00517493 - 206900 0.0049001501 0.002548525 0.0049220352 - 207000 0.005069773 0.0027047998 0.005160471 - 207100 0.0051734466 0.002815373 0.0053212611 - 207200 0.0060320982 0.0024832317 0.0054050292 - 207300 0.0057246583 0.0025824224 0.0053553038 - 207400 0.0039285605 0.0031760522 0.0050789488 - 207500 0.0056609938 0.0027601583 0.0055022022 - 207600 0.0075766164 0.0025548419 0.0062247655 - 207700 0.0062695972 0.0026526646 0.0056895007 - 207800 0.0054721533 0.0026693164 0.0053198907 - 207900 0.0051668536 0.0022696373 0.004772332 - 208000 0.0056308201 0.0020367354 0.0047641639 - 208100 0.0044197953 0.0020936931 0.0042345314 - 208200 0.0047528949 0.0021909893 0.0044931728 - 208300 0.0050687545 0.0022296153 0.0046847933 - 208400 0.0048438733 0.0025091078 0.0048553589 - 208500 0.0054793216 0.0023856561 0.0050397025 - 208600 0.0045392641 0.0025997239 0.00479843 - 208700 0.0069382514 0.0028903382 0.0062510537 - 208800 0.0051695301 0.0024669796 0.0049709708 - 208900 0.0047937797 0.0023494014 0.0046713884 - 209000 0.0058598094 0.0027101484 0.0055484936 - 209100 0.003453191 0.0028632708 0.0045359102 - 209200 0.0044239072 0.002822116 0.004964946 - 209300 0.0040727375 0.0028257088 0.004798441 - 209400 0.0049134092 0.0033985709 0.0057785035 - 209500 0.004197963 0.0032123208 0.0052457091 - 209600 0.004950149 0.0030137388 0.0054114672 - 209700 0.0056623336 0.0031856888 0.0059283816 - 209800 0.0037767196 0.0031179024 0.004947251 - 209900 0.0054877261 0.0030862769 0.0057443942 - 210000 0.0067233116 0.0032367487 0.0064933527 - 210100 0.0059930893 0.0035364581 0.0064393608 - 210200 0.0059538067 0.0030089911 0.0058928662 - 210300 0.0052167989 0.0027591159 0.0052860029 - 210400 0.0057580904 0.0023534834 0.0051425584 - 210500 0.0057889341 0.0019918568 0.0047958718 - 210600 0.0048658675 0.0022582845 0.0046151891 - 210700 0.0049044132 0.0027921752 0.0051677504 - 210800 0.006885278 0.0028135277 0.0061485842 - 210900 0.0066110515 0.0031688163 0.0063710444 - 211000 0.0054439086 0.0030748344 0.0057117276 - 211100 0.0053383283 0.0029234553 0.0055092081 - 211200 0.0068191874 0.0024696249 0.0057726689 - 211300 0.0057627794 0.0026758586 0.0054672049 - 211400 0.0045150576 0.0032959442 0.0054829253 - 211500 0.0060131577 0.0032466078 0.0061592311 - 211600 0.0062034207 0.0034196759 0.0064244579 - 211700 0.0065560387 0.0034097479 0.0065853292 - 211800 0.0045648133 0.0033793404 0.0055904218 - 211900 0.0033423538 0.0033912292 0.0050101818 - 212000 0.0055023199 0.003326599 0.0059917852 - 212100 0.0065361398 0.0031275845 0.0062935272 - 212200 0.004875831 0.0032259827 0.0055877133 - 212300 0.0054858679 0.0029599265 0.0056171438 - 212400 0.0061264953 0.002381524 0.0053490452 - 212500 0.005214498 0.001990062 0.0045158345 - 212600 0.0057493994 0.0019943938 0.0047792592 - 212700 0.005623798 0.0020935105 0.0048175377 - 212800 0.0065557591 0.002189019 0.0053644648 - 212900 0.0059814045 0.0023138649 0.0052111077 - 213000 0.0043864828 0.002104435 0.0042291376 - 213100 0.0051890328 0.0025328931 0.0050463308 - 213200 0.005177568 0.0024633304 0.0049712149 - 213300 0.0043030541 0.0023018382 0.00438613 - 213400 0.0053245053 0.0023578072 0.0049368645 - 213500 0.0052064675 0.0024410219 0.0049629046 - 213600 0.0040067453 0.0023947802 0.0043355474 - 213700 0.0050007498 0.0027064505 0.0051286887 - 213800 0.0054415807 0.0027049209 0.0053406866 - 213900 0.0040205892 0.0024956952 0.0044431681 - 214000 0.0051135836 0.0027462569 0.005223149 - 214100 0.0043145674 0.0029988943 0.0050887628 - 214200 0.0046628981 0.0029250343 0.0051836256 - 214300 0.0056386487 0.0026121313 0.0053433518 - 214400 0.0052691657 0.0024649062 0.0050171584 - 214500 0.0053264764 0.0026753261 0.0052553382 - 214600 0.0051007139 0.003263655 0.0057343133 - 214700 0.0044406768 0.0027810427 0.0049319955 - 214800 0.0041287444 0.0021758036 0.0041756642 - 214900 0.0041351767 0.0020965452 0.0040995214 - 215000 0.0059756871 0.0024289882 0.0053234617 - 215100 0.0063538104 0.0024425944 0.0055202213 - 215200 0.0044142672 0.0021936266 0.0043317872 - 215300 0.0053632676 0.0023117074 0.0049095402 - 215400 0.0041813117 0.0024621573 0.0044874801 - 215500 0.0039120259 0.0024418236 0.0043367112 - 215600 0.0049408678 0.002201248 0.0045944808 - 215700 0.0055855941 0.0018770499 0.004582572 - 215800 0.0058154559 0.0018535909 0.0046704524 - 215900 0.0047862493 0.0022969899 0.0046153294 - 216000 0.0066111398 0.0024597439 0.0056620148 - 216100 0.0044377463 0.0032458319 0.0053953653 - 216200 0.0033917 0.0030578865 0.0047007412 - 216300 0.0053549289 0.0027917723 0.005385566 - 216400 0.0057641906 0.0027734806 0.0055655104 - 216500 0.0035664256 0.0030744324 0.0048019198 - 216600 0.0053216588 0.0028866069 0.0054642854 - 216700 0.0060473874 0.0025742992 0.0055035025 - 216800 0.00527329 0.0024363575 0.0049906074 - 216900 0.0041275952 0.0028042369 0.0048035408 - 217000 0.0052517655 0.0027585654 0.0053023893 - 217100 0.0041891447 0.0022853911 0.0043145081 - 217200 0.0056755423 0.0024929182 0.005242009 - 217300 0.0048143059 0.0034005223 0.0057324517 - 217400 0.0051420074 0.0035189033 0.0060095632 - 217500 0.0050148067 0.0033553455 0.0057843924 - 217600 0.0061779397 0.002547201 0.0055396405 - 217700 0.0046718327 0.002432099 0.0046950179 - 217800 0.0054400962 0.002252869 0.0048879157 - 217900 0.0052228186 0.001961152 0.0044909548 - 218000 0.0042315155 0.0020871308 0.0041367711 - 218100 0.0040349799 0.0023119007 0.0042663441 - 218200 0.0045962683 0.0025354819 0.0047617993 - 218300 0.0052550654 0.0029716284 0.0055170507 - 218400 0.0049325395 0.0025894029 0.0049786017 - 218500 0.0043424276 0.0024087658 0.0045121292 - 218600 0.0046181375 0.0024001065 0.0046370169 - 218700 0.0063442927 0.0023319855 0.0054050023 - 218800 0.0063210459 0.002292401 0.0053541576 - 218900 0.004425962 0.002161475 0.0043053003 - 219000 0.0053481681 0.0023158821 0.004906401 - 219100 0.0048637667 0.0029258406 0.0052817276 - 219200 0.0056117679 0.0035876087 0.0063058088 - 219300 0.0054586012 0.0030469409 0.0056909508 - 219400 0.0042932422 0.0026438157 0.0047233549 - 219500 0.0064948926 0.0019504585 0.0050964221 - 219600 0.0058272923 0.0018366736 0.0046592683 - 219700 0.0059606981 0.0025572656 0.0054444787 - 219800 0.0051471199 0.0027081645 0.0052013007 - 219900 0.0063578155 0.0022763014 0.0053558683 - 220000 0.0051302098 0.0020347664 0.0045197117 - 220100 0.005186118 0.0016477173 0.0041597432 - 220200 0.0040678023 0.0016691751 0.0036395168 - 220300 0.0052729398 0.001620618 0.0041746983 - 220400 0.0038373588 0.0019250365 0.0037837571 - 220500 0.0031123609 0.0022007598 0.0037083096 - 220600 0.003778775 0.0024907121 0.0043210562 - 220700 0.0052178506 0.0022113497 0.004738746 - 220800 0.0054711128 0.0021446446 0.0047947149 - 220900 0.003199606 0.0024607572 0.0040105663 - 221000 0.0044880533 0.0026779085 0.0048518093 - 221100 0.004125102 0.0026335148 0.0046316111 - 221200 0.0062759649 0.002487109 0.0055270295 - 221300 0.0065846908 0.0025336522 0.0057231119 - 221400 0.00623465 0.002282917 0.0053028256 - 221500 0.0031856136 0.0021569919 0.0037000235 - 221600 0.0053218097 0.001894651 0.0044724026 - 221700 0.0038260613 0.0022992947 0.0041525431 - 221800 0.0041522995 0.0025537836 0.0045650537 - 221900 0.0042572831 0.0022230627 0.0042851842 - 222000 0.0030534317 0.0021013358 0.0035803418 - 222100 0.005488967 0.0017795994 0.0044383178 - 222200 0.0056175036 0.0021400928 0.0048610711 - 222300 0.005063635 0.0029091567 0.0053618549 - 222400 0.0041365371 0.0029853006 0.0049889358 - 222500 0.0077756175 0.002877737 0.0066440517 - 222600 0.0056018509 0.003098357 0.0058117536 - 222700 0.0045511141 0.0030353608 0.0052398067 - 222800 0.0060903168 0.0026433974 0.0055933946 - 222900 0.0067682161 0.0023094817 0.0055878364 - 223000 0.0061405979 0.0025118402 0.0054861923 - 223100 0.0047410389 0.0027534355 0.0050498763 - 223200 0.0060495475 0.002271013 0.0052012625 - 223300 0.0046638557 0.0023831345 0.0046421896 - 223400 0.0038669393 0.0023398699 0.0042129186 - 223500 0.0039575513 0.0024278834 0.0043448222 - 223600 0.0041017738 0.002334902 0.0043216987 - 223700 0.0043298244 0.0021836209 0.0042808796 - 223800 0.0054089227 0.0023133144 0.0049332614 - 223900 0.0045626207 0.0022696781 0.0044796975 - 224000 0.0056860084 0.0018120713 0.0045662316 - 224100 0.0059062196 0.0022074251 0.0050682502 - 224200 0.0064250817 0.0026978093 0.0058099582 - 224300 0.005542489 0.0026783338 0.0053629769 - 224400 0.0074546374 0.0025328532 0.0061436932 - 224500 0.0064812195 0.0027228111 0.0058621518 - 224600 0.005741166 0.0028837977 0.0056646749 - 224700 0.0069747847 0.0026264433 0.0060048546 - 224800 0.0052410051 0.0030167347 0.0055553466 - 224900 0.0059214962 0.0037691787 0.0066374034 - 225000 0.005412622 0.0039626798 0.0065844186 - 225100 0.006309758 0.0028737625 0.0059300516 - 225200 0.0064634513 0.0024383195 0.0055690537 - 225300 0.0045406866 0.0022316267 0.0044310217 - 225400 0.0049487621 0.0022483332 0.0046453898 - 225500 0.0062329741 0.0023148391 0.0053339359 - 225600 0.0041232072 0.0026638528 0.0046610313 - 225700 0.0050742266 0.0025713808 0.0050292093 - 225800 0.0044303136 0.0026256376 0.0047715707 - 225900 0.0056311072 0.0026817455 0.005409313 - 226000 0.0068033319 0.00261131 0.005906674 - 226100 0.0043961786 0.002808152 0.004937551 - 226200 0.0046141673 0.0031405336 0.0053755208 - 226300 0.0054519637 0.0027800399 0.0054208349 - 226400 0.004847372 0.0024578222 0.004805768 - 226500 0.0045188545 0.0026329527 0.0048217728 - 226600 0.0057554771 0.0021998924 0.0049877017 - 226700 0.0044097186 0.002266295 0.0044022525 - 226800 0.0035189588 0.0024047027 0.0041091983 - 226900 0.003098653 0.0021289864 0.0036298964 - 227000 0.0047172095 0.0018439527 0.0041288511 - 227100 0.0048103259 0.002404556 0.0047345576 - 227200 0.0037297016 0.0027718781 0.0045784523 - 227300 0.0045447955 0.0026217206 0.004823106 - 227400 0.0045007704 0.0023878138 0.0045678745 - 227500 0.0058323633 0.002389255 0.005214306 - 227600 0.0068183459 0.0022908101 0.0055934464 - 227700 0.0045747189 0.0026717476 0.004887627 - 227800 0.0050176575 0.0026163603 0.0050467882 - 227900 0.0036796247 0.0025454418 0.00432776 - 228000 0.00491033 0.0024189057 0.0047973467 - 228100 0.0055126097 0.0025724337 0.005242604 - 228200 0.0041685076 0.0029127549 0.0049318758 - 228300 0.0051510468 0.0026914224 0.0051864607 - 228400 0.0047856628 0.0021502655 0.0044683209 - 228500 0.004866734 0.0019715281 0.0043288523 - 228600 0.0051592719 0.0021102646 0.0046092869 - 228700 0.0049746105 0.0020757778 0.0044853548 - 228800 0.0036021676 0.0023614814 0.0041062813 - 228900 0.0059877605 0.0024416265 0.005341948 - 229000 0.0043174828 0.0023997436 0.0044910243 - 229100 0.0042049422 0.0022650903 0.0043018592 - 229200 0.0065286288 0.0024941617 0.0056564663 - 229300 0.0056362557 0.0027213769 0.0054514383 - 229400 0.0051290209 0.00327929 0.0057636595 - 229500 0.0066789243 0.0030820398 0.0063171438 - 229600 0.0059183637 0.0024901584 0.0053568658 - 229700 0.0057982286 0.0019707058 0.0047792228 - 229800 0.0050011252 0.0019480566 0.0043704766 - 229900 0.004321825 0.0024300528 0.0045234368 - 230000 0.0036508331 0.0025123539 0.0042807262 - 230100 0.005509942 0.0022644247 0.0049333029 - 230200 0.0043507952 0.0026559428 0.0047633593 - 230300 0.0057676122 0.0029358721 0.0057295593 - 230400 0.0048036056 0.0029227902 0.0052495366 - 230500 0.0036636385 0.0028767116 0.0046512865 - 230600 0.0054154284 0.0028489494 0.0054720476 - 230700 0.0045368166 0.0029584635 0.0051559841 - 230800 0.0045140404 0.0031217297 0.005308218 - 230900 0.0043387024 0.0028636045 0.0049651635 - 231000 0.0050769646 0.0027490438 0.0052081986 - 231100 0.0059429853 0.0028782857 0.0057569192 - 231200 0.0053044903 0.0032167657 0.0057861281 - 231300 0.0050297408 0.0027882783 0.005224559 - 231400 0.0045738539 0.0026328267 0.0048482872 - 231500 0.0046681392 0.0027775309 0.0050386608 - 231600 0.0052148423 0.0025689982 0.0050949375 - 231700 0.0043153243 0.0023895363 0.0044797715 - 231800 0.0061385936 0.0023294802 0.0053028615 - 231900 0.0049635039 0.0025419727 0.0049461699 - 232000 0.004241066 0.0026458287 0.0047000951 - 232100 0.0045435424 0.0023174664 0.0045182448 - 232200 0.0051189457 0.002062294 0.0045417833 - 232300 0.0047419469 0.0022054825 0.004502363 - 232400 0.00431206 0.0024493511 0.0045380051 - 232500 0.0056251612 0.0022659696 0.0049906571 - 232600 0.0052658156 0.0030317167 0.0055823461 - 232700 0.0046908845 0.0029861642 0.0052583113 - 232800 0.0055743866 0.0024753 0.0051753935 - 232900 0.0066765767 0.0026818058 0.0059157726 - 233000 0.0062234094 0.0029064813 0.0059209452 - 233100 0.0070658898 0.0029850791 0.0064076194 - 233200 0.0052167812 0.0032092181 0.0057360965 - 233300 0.0060124385 0.003310662 0.0062229369 - 233400 0.0063823996 0.002877688 0.0059691628 - 233500 0.0060331803 0.0025431953 0.005465517 - 233600 0.0063644023 0.0025974016 0.005680159 - 233700 0.0051628902 0.0027301284 0.0052309033 - 233800 0.0053145861 0.0027527723 0.0053270249 - 233900 0.0043206694 0.0029547987 0.0050476229 - 234000 0.0059020228 0.0027340506 0.0055928429 - 234100 0.0050062994 0.0022053905 0.0046303167 - 234200 0.0078100793 0.0017037514 0.0054867586 - 234300 0.0046161667 0.0019596835 0.0041956393 - 234400 0.0050944878 0.0018116463 0.0042792888 - 234500 0.0042634506 0.0023415788 0.0044066877 - 234600 0.00428626 0.0028626135 0.0049387706 - 234700 0.004968459 0.0027870733 0.0051936706 - 234800 0.0051382846 0.0022763257 0.0047651824 - 234900 0.0045315332 0.0020101406 0.004205102 - 235000 0.004975662 0.001865673 0.0042757593 - 235100 0.0043909004 0.0017625098 0.0038893522 - 235200 0.0051800331 0.0020328034 0.0045418819 - 235300 0.0032674907 0.002124785 0.0037074758 - 235400 0.0055269996 0.0017186312 0.0043957717 - 235500 0.0057467803 0.0019456791 0.0047292758 - 235600 0.0045077765 0.0021374404 0.0043208947 - 235700 0.0042028378 0.0018902358 0.0039259853 - 235800 0.005099313 0.0020037983 0.004473778 - 235900 0.0033529963 0.0025725767 0.0041966843 - 236000 0.0053995268 0.0023464522 0.004961848 - 236100 0.0045012156 0.0021930247 0.0043733011 - 236200 0.0049091554 0.0024386405 0.0048165126 - 236300 0.0069653901 0.0021055867 0.0054794475 - 236400 0.0047438608 0.002191105 0.0044889125 - 236500 0.0051546019 0.0022057965 0.0047025568 - 236600 0.0065103421 0.0025948815 0.0057483284 - 236700 0.0053195594 0.0024629027 0.0050395642 - 236800 0.0052766115 0.0020286706 0.0045845293 - 236900 0.0035092625 0.0021947349 0.0038945339 - 237000 0.0041926683 0.0024914111 0.0045222349 - 237100 0.0044278678 0.0020756898 0.0042204383 - 237200 0.0038339831 0.0019751766 0.0038322622 - 237300 0.0061213563 0.0017586027 0.0047236346 - 237400 0.0048298873 0.0022858627 0.0046253394 - 237500 0.0059646373 0.0021850835 0.0050742047 - 237600 0.0055278003 0.0022226724 0.0049002007 - 237700 0.0051456295 0.0024101967 0.004902611 - 237800 0.0050009637 0.0026858219 0.0051081637 - 237900 0.0071672981 0.0028339163 0.0063055763 - 238000 0.005171969 0.0034742749 0.0059794474 - 238100 0.0052052185 0.0028177443 0.0053390221 - 238200 0.0072680303 0.0021368642 0.0056573163 - 238300 0.0050799934 0.0020391314 0.0044997532 - 238400 0.005749211 0.0024366369 0.005221411 - 238500 0.0049573153 0.0025454828 0.0049466824 - 238600 0.0057230289 0.0020965603 0.0048686525 - 238700 0.0040923544 0.00186858 0.0038508142 - 238800 0.004060711 0.0019959986 0.0039629055 - 238900 0.0033652206 0.0020618457 0.0036918744 - 239000 0.0052277575 0.0019478561 0.0044800512 - 239100 0.0052226557 0.001803707 0.0043334309 - 239200 0.0047376558 0.0020792031 0.0043740051 - 239300 0.0042251937 0.0022198789 0.0042664571 - 239400 0.0057153848 0.0017859459 0.0045543354 - 239500 0.0046256172 0.0015505472 0.0037910806 - 239600 0.0056163318 0.0018025965 0.0045230072 - 239700 0.0036285918 0.0021637379 0.0039213371 - 239800 0.0049236661 0.0019910547 0.0043759554 - 239900 0.0058635086 0.0018882717 0.0047284087 - 240000 0.0066624837 0.0019866379 0.0052137784 - 240100 0.0034821625 0.0022488416 0.003935514 - 240200 0.004819533 0.0018478152 0.0041822765 - 240300 0.0057981808 0.0021402994 0.0049487932 - 240400 0.0059115361 0.0026527898 0.0055161901 - 240500 0.0069781136 0.0030914393 0.006471463 - 240600 0.0084656388 0.0029081066 0.0070086504 - 240700 0.0047583135 0.0024661669 0.004770975 - 240800 0.0045821282 0.0021581271 0.0043775955 - 240900 0.0055760107 0.0020904089 0.004791289 - 241000 0.0041513608 0.0024897069 0.0045005223 - 241100 0.0052704366 0.0027482605 0.0053011282 - 241200 0.0044913521 0.0026331314 0.0048086301 - 241300 0.0056699947 0.002370938 0.0051173416 - 241400 0.0033328361 0.0019750094 0.0035893519 - 241500 0.0046973668 0.0020117941 0.0042870812 - 241600 0.005138729 0.0022091038 0.0046981757 - 241700 0.0059157493 0.0019198655 0.0047853066 - 241800 0.0052186784 0.0019003946 0.004428192 - 241900 0.0053083921 0.0020270629 0.0045983153 - 242000 0.0045613929 0.0017495958 0.0039590204 - 242100 0.0053975892 0.0017730026 0.0043874599 - 242200 0.0058277191 0.0020860266 0.0049088281 - 242300 0.005049181 0.0022593641 0.0047050612 - 242400 0.0048413414 0.0024018051 0.0047468299 - 242500 0.0052376124 0.0026273034 0.0051642719 - 242600 0.0060061037 0.0026127499 0.0055219564 - 242700 0.0059299632 0.0025155919 0.0053879178 - 242800 0.0054485027 0.0024640599 0.0051031784 - 242900 0.0047623829 0.0022967118 0.004603491 - 243000 0.0063633347 0.0025207717 0.0056030119 - 243100 0.0045125438 0.0027099903 0.0048957537 - 243200 0.0048052365 0.0027052507 0.0050327871 - 243300 0.0059757193 0.0024615976 0.0053560866 - 243400 0.0061589753 0.0022001475 0.0051834012 - 243500 0.0047142979 0.0021799774 0.0044634655 - 243600 0.0047056913 0.0022800163 0.0045593356 - 243700 0.0059142249 0.0020880174 0.0049527201 - 243800 0.0064136136 0.0020587049 0.005165299 - 243900 0.0048816043 0.0024468295 0.0048113566 - 244000 0.0048074604 0.0033398968 0.0056685104 - 244100 0.0046559031 0.003248713 0.0055039161 - 244200 0.0055436955 0.0027289447 0.0054141722 - 244300 0.0070264054 0.0024818683 0.0058852834 - 244400 0.0051233199 0.0031479758 0.0056295838 - 244500 0.0056598048 0.0031698625 0.0059113305 - 244600 0.0057580601 0.0025725437 0.0053616041 - 244700 0.0049095636 0.0025240111 0.0049020809 - 244800 0.0057913166 0.0025613171 0.0053664861 - 244900 0.0041071411 0.0026002993 0.0045896957 - 245000 0.0046756988 0.0024115673 0.0046763589 - 245100 0.0056179717 0.0025698964 0.0052911014 - 245200 0.0034182365 0.0022096604 0.0038653687 - 245300 0.0046988398 0.002179747 0.0044557475 - 245400 0.0049488171 0.0022804486 0.0046775318 - 245500 0.0041323873 0.0028051411 0.0048067662 - 245600 0.0046980622 0.0031284548 0.0054040787 - 245700 0.0056452324 0.0031059223 0.0058403318 - 245800 0.0054631839 0.0029054784 0.0055517081 - 245900 0.0070675091 0.0025991726 0.0060224973 - 246000 0.0045481252 0.002713764 0.0049167622 - 246100 0.0054761255 0.0028389041 0.0054914024 - 246200 0.0044324429 0.0029082778 0.0050552424 - 246300 0.0040348864 0.0025527813 0.0045071794 - 246400 0.0056796243 0.0029614693 0.0057125373 - 246500 0.0055188937 0.0036872414 0.0063604556 - 246600 0.0055529288 0.0035214136 0.0062111135 - 246700 0.0047160145 0.0029122135 0.005196533 - 246800 0.00594989 0.0029536689 0.0058356469 - 246900 0.007630909 0.0027956558 0.0064918773 - 247000 0.0054893054 0.0034634935 0.0061223759 - 247100 0.0061033789 0.0031795788 0.006135903 - 247200 0.0072617431 0.0028361746 0.0063535815 - 247300 0.006263785 0.0022991135 0.0053331344 - 247400 0.0038192951 0.0021797875 0.0040297586 - 247500 0.0055273506 0.0022985558 0.0049758662 - 247600 0.0036791679 0.002800514 0.004582611 - 247700 0.004826145 0.0026802853 0.0050179492 - 247800 0.006046772 0.002848815 0.0057777202 - 247900 0.004601667 0.0029376211 0.0051665536 - 248000 0.0046772133 0.0026812409 0.0049467661 - 248100 0.0046937623 0.0026567352 0.0049302763 - 248200 0.0051140555 0.0026949542 0.0051720748 - 248300 0.0032589626 0.0026990045 0.0042775645 - 248400 0.0042668957 0.0023476537 0.0044144313 - 248500 0.0067954071 0.0022232043 0.0055147296 - 248600 0.004832643 0.0025040369 0.0048448484 - 248700 0.0036562785 0.002936838 0.0047078479 - 248800 0.0044334735 0.0026584576 0.0048059214 - 248900 0.0038348191 0.0020077313 0.0038652218 - 249000 0.0051633196 0.001938844 0.0044398269 - 249100 0.0044188972 0.0022355097 0.004375913 - 249200 0.0059340369 0.002308091 0.0051823901 - 249300 0.0068290885 0.0022267603 0.0055346001 - 249400 0.0076446534 0.00282856 0.006531439 - 249500 0.0055814904 0.003103097 0.0058066314 - 249600 0.0040654125 0.0031745258 0.00514371 - 249700 0.004792743 0.0025014055 0.0048228904 - 249800 0.004687433 0.0018758624 0.0041463378 - 249900 0.0062360216 0.0016514885 0.0046720614 - 250000 0.003840373 0.0018880808 0.0037482615 - 250100 0.0040635215 0.0022489819 0.0042172502 - 250200 0.0054691913 0.0023548199 0.0050039594 - 250300 0.0055497907 0.002583402 0.0052715819 - 250400 0.0066972725 0.0023764237 0.0056204151 - 250500 0.0039151024 0.0026815474 0.0045779251 - 250600 0.0047727283 0.0025481241 0.0048599144 - 250700 0.0048081972 0.0024981607 0.0048271312 - 250800 0.0054004036 0.002419393 0.0050352135 - 250900 0.0061612216 0.0023458556 0.0053301974 - 251000 0.0047173707 0.0024238338 0.0047088102 - 251100 0.0048779337 0.0022743677 0.0046371168 - 251200 0.003745594 0.002236078 0.0040503501 - 251300 0.0043768581 0.0020309988 0.0041510394 - 251400 0.00665493 0.0019439845 0.0051674662 - 251500 0.0051692409 0.0021034041 0.0046072551 - 251600 0.0055274991 0.0023233535 0.0050007359 - 251700 0.0056784684 0.0022824742 0.0050329824 - 251800 0.0041177387 0.0026288709 0.0046234006 - 251900 0.0050046679 0.002329221 0.0047533571 - 252000 0.0049046167 0.0022239012 0.0045995749 - 252100 0.0034935569 0.0024088088 0.0041010004 - 252200 0.0059590747 0.0024981145 0.0053845413 - 252300 0.0058021477 0.0026390515 0.0054494668 - 252400 0.0063264705 0.0021374718 0.0052018559 - 252500 0.0061055523 0.0020083589 0.0049657358 - 252600 0.0052691677 0.0021870556 0.0047393087 - 252700 0.0052619769 0.0016690207 0.0042177907 - 252800 0.0055049973 0.0017162665 0.0043827495 - 252900 0.0047765533 0.0026056401 0.0049192831 - 253000 0.0043137988 0.002672107 0.0047616033 - 253100 0.0063097391 0.0023078445 0.0053641244 - 253200 0.0051381574 0.0029118366 0.0054006316 - 253300 0.0049068724 0.0029160435 0.0052928098 - 253400 0.0052657429 0.0027378798 0.0052884741 - 253500 0.0064790318 0.0028014598 0.0059397408 - 253600 0.0063917984 0.0027995179 0.0058955452 - 253700 0.0055354347 0.0035172324 0.0061984586 - 253800 0.0057571901 0.0028000939 0.0055887328 - 253900 0.0045623111 0.002337468 0.0045473375 - 254000 0.0057972895 0.0018763191 0.0046843813 - 254100 0.0046534865 0.0019720253 0.0042260578 - 254200 0.0062063142 0.0019539618 0.0049601453 - 254300 0.0065166813 0.0021526593 0.0053091768 - 254400 0.0052643329 0.0025896358 0.005139547 - 254500 0.0045225071 0.0026638556 0.004854445 - 254600 0.0031138976 0.0026644157 0.0041727098 - 254700 0.0059205565 0.0024847408 0.0053525104 - 254800 0.0046780353 0.002174108 0.0044400313 - 254900 0.0035450308 0.0021388027 0.0038559269 - 255000 0.0045117963 0.0018425622 0.0040279636 - 255100 0.0055112361 0.0018357121 0.004505217 - 255200 0.005448322 0.0020169782 0.0046560092 - 255300 0.0039385542 0.0021829323 0.0040906695 - 255400 0.0055187856 0.0024696756 0.0051428374 - 255500 0.0038962748 0.0025246636 0.0044119217 - 255600 0.004967245 0.0019611141 0.0043671234 - 255700 0.0070388522 0.0019371036 0.0053465476 - 255800 0.0046384403 0.0026255333 0.0048722778 - 255900 0.0048755865 0.0025144246 0.0048760369 - 256000 0.0038340659 0.0027963864 0.0046535121 - 256100 0.0051841428 0.0023232545 0.0048343237 - 256200 0.0056245827 0.0019116833 0.0046360906 - 256300 0.0045934747 0.0021885543 0.0044135186 - 256400 0.0056472024 0.0023536517 0.0050890153 - 256500 0.006807783 0.0026539258 0.0059514457 - 256600 0.0047411602 0.0033621027 0.0056586021 - 256700 0.0057565452 0.002670742 0.0054590686 - 256800 0.0059444935 0.0022357305 0.0051150945 - 256900 0.0052931747 0.0020825413 0.0046464228 - 257000 0.0040115329 0.0018494872 0.0037925734 - 257100 0.0043291471 0.0017512208 0.0038481514 - 257200 0.005263762 0.0015998007 0.0041494354 - 257300 0.0033568335 0.001849402 0.0034753682 - 257400 0.0061843764 0.0016072137 0.004602771 - 257500 0.0047233481 0.0016758338 0.0039637056 - 257600 0.0053182 0.0017493486 0.0043253517 - 257700 0.0058757336 0.0014883028 0.0043343613 - 257800 0.0072035285 0.0016602537 0.0051494628 - 257900 0.0081186197 0.0023863179 0.0063187742 - 258000 0.0047178719 0.002478951 0.0047641702 - 258100 0.0044518041 0.0019618207 0.0041181633 - 258200 0.0056257992 0.0017697468 0.0044947433 - 258300 0.0068307063 0.001612456 0.0049210793 - 258400 0.0050706728 0.001572694 0.0040288012 - 258500 0.0052675117 0.0017788725 0.0043303235 - 258600 0.0041691913 0.0019043594 0.0039238114 - 258700 0.0049803928 0.0016351828 0.0040475606 - 258800 0.0050754091 0.0019049334 0.0043633346 - 258900 0.0046983234 0.0019595429 0.0042352933 - 259000 0.0037413885 0.0017440124 0.0035562475 - 259100 0.0047359317 0.0016126095 0.0039065765 - 259200 0.0042083283 0.0013044754 0.0033428844 - 259300 0.0049319722 0.0015333001 0.0039222241 - 259400 0.0052157592 0.0019103726 0.004436756 - 259500 0.0053248415 0.0022973329 0.004876553 - 259600 0.0035088334 0.0025321158 0.0042317069 - 259700 0.0038089627 0.0024491585 0.0042941247 - 259800 0.0065161276 0.0021674025 0.0053236518 - 259900 0.0054174005 0.002420808 0.0050448614 - 260000 0.0053639465 0.0020315595 0.004629721 - 260100 0.0056403216 0.001915745 0.0046477758 - 260200 0.0060100441 0.0018028914 0.0047140065 - 260300 0.0070289878 0.0013973018 0.0048019677 - 260400 0.0046458117 0.0015503525 0.0038006675 - 260500 0.0046196673 0.0018023303 0.0040399817 - 260600 0.0051224754 0.0020177918 0.0044989908 - 260700 0.0044753941 0.0024621841 0.0046299531 - 260800 0.0038536982 0.002254166 0.004120801 - 260900 0.0064126039 0.0021229393 0.0052290443 - 261000 0.0059060211 0.002330416 0.005191145 - 261100 0.0043724941 0.002545062 0.0046629888 - 261200 0.0042461847 0.0023467461 0.0044034918 - 261300 0.0035961487 0.0019028116 0.0036446962 - 261400 0.004368446 0.0017323522 0.0038483183 - 261500 0.0045048792 0.0018762463 0.0040582971 - 261600 0.0047085558 0.0024625933 0.0047433 - 261700 0.0049114324 0.0028608159 0.005239791 - 261800 0.0053085783 0.002588982 0.0051603246 - 261900 0.0069671853 0.0023205412 0.0056952716 - 262000 0.0054254569 0.0023912166 0.0050191722 - 262100 0.0045823603 0.0025509483 0.004770529 - 262200 0.0053517612 0.0020984567 0.0046907161 - 262300 0.0049300848 0.002140889 0.0045288988 - 262400 0.0049967998 0.0026679139 0.0050882389 - 262500 0.0050594767 0.0024939854 0.0049446694 - 262600 0.0047555061 0.00248758 0.0047910282 - 262700 0.0052783707 0.0022081259 0.0047648366 - 262800 0.0070256528 0.0016249947 0.0050280453 - 262900 0.0062812456 0.0017980906 0.0048405689 - 263000 0.0052501371 0.0025614117 0.0051044469 - 263100 0.0052752081 0.0028004919 0.0053556708 - 263200 0.0037143549 0.003007998 0.0048071386 - 263300 0.004653718 0.0027045379 0.0049586825 - 263400 0.0039925604 0.0027309094 0.0046648059 - 263500 0.0058124768 0.0029632682 0.0057786867 - 263600 0.0063280629 0.0023086314 0.0053737869 - 263700 0.004888505 0.0020311736 0.0043990432 - 263800 0.0062590033 0.0019924896 0.0050241943 - 263900 0.006010035 0.0029262332 0.0058373439 - 264000 0.0060439634 0.0027627943 0.0056903391 - 264100 0.0058323953 0.0021963594 0.0050214258 - 264200 0.0036784955 0.0020079337 0.0037897049 - 264300 0.0053164691 0.0020363197 0.0046114844 - 264400 0.0049534119 0.0023598538 0.0047591627 - 264500 0.0040397091 0.0025499337 0.0045066678 - 264600 0.0068337725 0.0022580577 0.0055681663 - 264700 0.0050256089 0.0021739529 0.0046082322 - 264800 0.0061090579 0.0024530614 0.0054121363 - 264900 0.0058760972 0.0022871067 0.0051333413 - 265000 0.005269257 0.0025112506 0.0050635469 - 265100 0.0052786475 0.0026716069 0.0052284517 - 265200 0.0032038901 0.0024457031 0.0039975874 - 265300 0.0036163004 0.0027541053 0.0045057508 - 265400 0.0053942386 0.003153057 0.0057658913 - 265500 0.0068235888 0.0027737242 0.0060789 - 265600 0.0044997171 0.0027788114 0.0049583619 - 265700 0.0058253902 0.0026537882 0.0054754616 - 265800 0.0044442585 0.0027484697 0.0049011575 - 265900 0.0048903982 0.0024715873 0.004840374 - 266000 0.0050069657 0.0020938724 0.0045191214 - 266100 0.0047747954 0.0019140341 0.0042268257 - 266200 0.0048106546 0.0021224453 0.0044526061 - 266300 0.0049650657 0.0021317683 0.004536722 - 266400 0.0043768411 0.0021909305 0.0043109629 - 266500 0.0058784635 0.002003797 0.0048511778 - 266600 0.0045040309 0.0021315267 0.0043131667 - 266700 0.0054342663 0.0022362437 0.0048684664 - 266800 0.0044080591 0.0023166886 0.0044518422 - 266900 0.0050127374 0.002206361 0.0046344057 - 267000 0.0064913981 0.0020625532 0.0052068242 - 267100 0.005103823 0.0021572166 0.0046293809 - 267200 0.0061272682 0.0019306543 0.0048985499 - 267300 0.0049305577 0.001825894 0.0042141328 - 267400 0.0058503107 0.0017260539 0.0045597982 - 267500 0.0052797997 0.0022498457 0.0048072487 - 267600 0.0050441061 0.0028620063 0.0053052452 - 267700 0.0057612156 0.0030081609 0.0057987498 - 267800 0.0054779221 0.002698006 0.0053513745 - 267900 0.0079551644 0.002574791 0.0064280737 - 268000 0.0032258988 0.0034479065 0.0050104512 - 268100 0.0079095856 0.0029698567 0.0068010622 - 268200 0.0062905401 0.0032786888 0.0063256692 - 268300 0.0062639493 0.0035496172 0.0065837176 - 268400 0.0045671719 0.0033094009 0.0055216248 - 268500 0.0040976821 0.002966342 0.0049511568 - 268600 0.0047931753 0.0025829905 0.0049046848 - 268700 0.0048779032 0.0021015423 0.0044642766 - 268800 0.0050637887 0.0021027144 0.004555487 - 268900 0.0056090882 0.0024495757 0.0051664778 - 269000 0.0039906473 0.0024452565 0.0043782263 - 269100 0.0052418125 0.0027980797 0.0053370826 - 269200 0.0057434724 0.0021612499 0.0049432443 - 269300 0.005216396 0.0020249492 0.0045516411 - 269400 0.0048396659 0.0025649611 0.0049091743 - 269500 0.0054167538 0.0031129076 0.0057366478 - 269600 0.004820009 0.0032376547 0.0055723466 - 269700 0.0070270559 0.0026947011 0.0060984313 - 269800 0.0047443209 0.0025550696 0.0048531001 - 269900 0.0045481729 0.0024033357 0.004606357 - 270000 0.0049086693 0.002049567 0.0044272037 - 270100 0.0058908276 0.0022962981 0.0051496677 - 270200 0.0036067232 0.0026432303 0.0043902368 - 270300 0.0057928784 0.0021974127 0.0050033381 - 270400 0.005053916 0.0021177841 0.0045657746 - 270500 0.0048752186 0.0022275082 0.0045889422 - 270600 0.0032699991 0.0024956807 0.0040795865 - 270700 0.0052927934 0.0025353381 0.0050990349 - 270800 0.0054887423 0.0023931662 0.0050517757 - 270900 0.0058302123 0.0020122873 0.0048362964 - 271000 0.005731027 0.00224232 0.0050182862 - 271100 0.0034969976 0.0023273249 0.0040211832 - 271200 0.0042467378 0.0019570577 0.0040140713 - 271300 0.0031121141 0.0017977344 0.0033051647 - 271400 0.0066475516 0.0016530553 0.0048729631 - 271500 0.0051375937 0.0017690675 0.0042575895 - 271600 0.0041799961 0.0017029927 0.0037276783 - 271700 0.006194718 0.0014154489 0.0044160154 - 271800 0.0047177134 0.0017953302 0.0040804727 - 271900 0.0055799394 0.0019350397 0.0046378228 - 272000 0.0062912494 0.0018971412 0.0049444651 - 272100 0.0035682792 0.0022253613 0.0039537465 - 272200 0.0034853716 0.0020921557 0.0037803825 - 272300 0.0036736845 0.0022032473 0.0039826882 - 272400 0.0050344634 0.0019178184 0.0043563866 - 272500 0.0052441209 0.0019685079 0.0045086289 - 272600 0.0047231838 0.0021900195 0.0044778116 - 272700 0.0058294404 0.0020799349 0.00490357 - 272800 0.0043272736 0.0020678163 0.0041638395 - 272900 0.0038811321 0.002426714 0.0043066374 - 273000 0.005139986 0.002649716 0.0051393967 - 273100 0.0053415066 0.0026965721 0.0052838644 - 273200 0.0063481812 0.0028196737 0.005894574 - 273300 0.0047283376 0.0025522987 0.0048425872 - 273400 0.005696289 0.0026374024 0.0053965423 - 273500 0.0042219208 0.0022958007 0.0043407936 - 273600 0.0036241646 0.0022526091 0.0040080638 - 273700 0.0048816003 0.0021735548 0.0045380799 - 273800 0.0057076251 0.002618648 0.0053832789 - 273900 0.0063742635 0.002580039 0.0056675729 - 274000 0.0056345699 0.0026608727 0.0053901175 - 274100 0.004416718 0.0028973893 0.0050367371 - 274200 0.0057477014 0.0031518095 0.0059358523 - 274300 0.006004147 0.0036299621 0.0065382208 - 274400 0.0063051377 0.0031482632 0.0062023143 - 274500 0.0059790665 0.0027668806 0.0056629909 - 274600 0.0057493674 0.0027634284 0.0055482783 - 274700 0.0072968155 0.0029853977 0.0065197927 - 274800 0.005198957 0.0029540255 0.0054722703 - 274900 0.0050155325 0.0025202834 0.0049496819 - 275000 0.0043899364 0.0026373259 0.0047637014 - 275100 0.0053222175 0.0024349247 0.0050128738 - 275200 0.0040656324 0.0022086715 0.0041779622 - 275300 0.0048220551 0.0020300752 0.0043657581 - 275400 0.0035440769 0.0017625278 0.00347919 - 275500 0.0039093294 0.0017268248 0.0036204062 - 275600 0.0056235296 0.0020717263 0.0047956234 - 275700 0.0056060804 0.0024730979 0.0051885431 - 275800 0.0049264396 0.0023195304 0.0047057746 - 275900 0.0049825251 0.0023696041 0.0047830147 - 276000 0.0054700564 0.0026505187 0.0053000773 - 276100 0.0044169178 0.002485561 0.0046250056 - 276200 0.0055586222 0.0023222053 0.0050146629 - 276300 0.0053705712 0.0023236344 0.0049250048 - 276400 0.0060547452 0.0019992997 0.0049320669 - 276500 0.0046606582 0.0023984461 0.0046559524 - 276600 0.0060511553 0.0026341288 0.0055651571 - 276700 0.0039796743 0.0027619682 0.0046896229 - 276800 0.0054915481 0.0023263863 0.0049863549 - 276900 0.0048440017 0.0023136712 0.0046599846 - 277000 0.0044227366 0.0022648297 0.0044070928 - 277100 0.0038632582 0.0023099025 0.0041811682 - 277200 0.0038444967 0.0021885764 0.0040507545 - 277300 0.0055892187 0.00200039 0.0047076679 - 277400 0.0039236785 0.0020672236 0.0039677554 - 277500 0.0034056352 0.0020528058 0.0037024104 - 277600 0.0036934351 0.00213724 0.0039262476 - 277700 0.0046906213 0.0021499904 0.0044220102 - 277800 0.00609252 0.0018436492 0.0047947136 - 277900 0.0049513435 0.0014812055 0.0038795125 - 278000 0.003047044 0.0015995049 0.0030754169 - 278100 0.0034529396 0.0022277632 0.0039002809 - 278200 0.0043306675 0.0022844394 0.0043821065 - 278300 0.0054848878 0.0022335678 0.0048903103 - 278400 0.0057710311 0.0021207813 0.0049161245 - 278500 0.0039414831 0.0022412189 0.0041503748 - 278600 0.0034676854 0.0028701517 0.0045498118 - 278700 0.0062396434 0.0026863731 0.0057087004 - 278800 0.0057227613 0.0024608786 0.0052328412 - 278900 0.0051820952 0.0026300063 0.0051400837 - 279000 0.005976977 0.0026068986 0.0055019968 - 279100 0.0044933695 0.002436609 0.0046130849 - 279200 0.006899132 0.0024907889 0.0058325559 - 279300 0.003761944 0.0026302171 0.0044524087 - 279400 0.0043545816 0.0024801557 0.0045894062 - 279500 0.0053597518 0.0027179644 0.0053140942 - 279600 0.0050414284 0.0027654488 0.0052073906 - 279700 0.0042915111 0.002860104 0.0049388047 - 279800 0.004025961 0.0032152861 0.005165361 - 279900 0.0047655282 0.0030243479 0.0053326506 - 280000 0.0054075633 0.0028544309 0.0054737194 - 280100 0.0044873034 0.0026352172 0.0048087548 - 280200 0.0048953564 0.0022515318 0.0046227201 - 280300 0.00460641 0.0022037379 0.0044349677 - 280400 0.0050615033 0.0024758118 0.0049274775 - 280500 0.0043289014 0.001877696 0.0039745076 - 280600 0.0048357445 0.0017671946 0.0041095083 - 280700 0.0033548259 0.0017203931 0.0033453869 - 280800 0.0046363266 0.0018056278 0.0040513485 - 280900 0.0053820712 0.0019477469 0.0045546877 - 281000 0.0065609301 0.002316338 0.0054942886 - 281100 0.0055500429 0.0019422518 0.0046305538 - 281200 0.003664777 0.0018951105 0.0036702368 - 281300 0.0062900219 0.0021375778 0.0051843071 - 281400 0.004712892 0.00246706 0.0047498671 - 281500 0.0034911336 0.0023968133 0.0040878311 - 281600 0.0061169372 0.0018671526 0.0048300441 - 281700 0.0046924866 0.0024158831 0.0046888063 - 281800 0.0045594828 0.0025793598 0.0047878592 - 281900 0.0044891123 0.0023825568 0.0045569706 - 282000 0.0047646967 0.0021679185 0.0044758185 - 282100 0.0054799134 0.0020904725 0.0047448055 - 282200 0.0049555397 0.0017257586 0.0041260981 - 282300 0.0048169727 0.0015553753 0.0038885965 - 282400 0.0038647632 0.0014253841 0.0032973788 - 282500 0.0062442579 0.0013567627 0.0043813251 - 282600 0.0035521143 0.0016501699 0.0033707253 - 282700 0.0060996729 0.0017251984 0.0046797275 - 282800 0.003993268 0.0021202349 0.0040544741 - 282900 0.005003996 0.0017605337 0.0041843442 - 283000 0.0047445357 0.0017664565 0.004064591 - 283100 0.0050042115 0.0022662518 0.0046901667 - 283200 0.0041964413 0.0024572061 0.0044898573 - 283300 0.0043024732 0.0026301756 0.0047141861 - 283400 0.0071269919 0.0026617283 0.006113865 - 283500 0.0061461533 0.0023906431 0.0053676861 - 283600 0.0038239749 0.0024142 0.0042664378 - 283700 0.0052982747 0.0023992978 0.0049656496 - 283800 0.0060131159 0.0024285987 0.0053412017 - 283900 0.0046165231 0.0023469422 0.0045830706 - 284000 0.0040749037 0.0024865385 0.00446032 - 284100 0.0051019896 0.0025776224 0.0050488986 - 284200 0.0051827365 0.00292629 0.005436678 - 284300 0.0042477718 0.0033523498 0.0054098642 - 284400 0.0040148339 0.0026454072 0.0045900924 - 284500 0.005786173 0.001843288 0.0046459655 - 284600 0.0045501146 0.0018996266 0.0041035884 - 284700 0.0034149759 0.0021404735 0.0037946024 - 284800 0.0060329469 0.0019663474 0.0048885561 - 284900 0.0060143164 0.0023801317 0.0052933162 - 285000 0.0051160004 0.0029107115 0.0053887742 - 285100 0.0051120351 0.0024212153 0.0048973573 - 285200 0.0046770328 0.0019142654 0.0041797032 - 285300 0.0061166259 0.0014248263 0.0043875669 - 285400 0.0042472827 0.0019623021 0.0040195796 - 285500 0.003554286 0.0019961642 0.0037177714 - 285600 0.0052552881 0.0016050932 0.0041506234 - 285700 0.0061879424 0.0017956191 0.0047929037 - 285800 0.0056271643 0.0022742261 0.0049998838 - 285900 0.0049265381 0.0023623822 0.0047486741 - 286000 0.0045074912 0.0024537117 0.0046370277 - 286100 0.0064203719 0.0020527594 0.005162627 - 286200 0.0051812531 0.0024050303 0.0049146998 - 286300 0.0052708805 0.0023959674 0.0049490501 - 286400 0.0051490525 0.0021706606 0.0046647329 - 286500 0.0049610143 0.0021289454 0.0045319367 - 286600 0.0050519506 0.0028283491 0.0052753877 - 286700 0.0037305106 0.0032208086 0.0050277747 - 286800 0.0061379725 0.0031427698 0.0061158502 - 286900 0.0055056139 0.0030135492 0.0056803309 - 287000 0.0057428556 0.002687509 0.0054692047 - 287100 0.005668155 0.0026121588 0.0053576713 - 287200 0.0056442236 0.00260797 0.0053418908 - 287300 0.0055024462 0.0026422113 0.0053074587 - 287400 0.0075779213 0.0023957023 0.0060662579 - 287500 0.0047342733 0.0022842035 0.0045773671 - 287600 0.0068547693 0.0021751277 0.0054954066 - 287700 0.0054653308 0.0025214307 0.0051687003 - 287800 0.0049848633 0.0028654939 0.005280037 - 287900 0.0042434717 0.0028334978 0.0048889294 - 288000 0.0056501839 0.0023412273 0.0050780352 - 288100 0.0037990131 0.0024017251 0.004241872 - 288200 0.0057313819 0.0023093976 0.0050855356 - 288300 0.0046235434 0.0020671971 0.0043067259 - 288400 0.0048044071 0.0019254613 0.004252596 - 288500 0.0053265656 0.0021301946 0.0047102498 - 288600 0.0049862582 0.002333241 0.0047484599 - 288700 0.0056025701 0.0025692856 0.0052830304 - 288800 0.0042550719 0.0023849649 0.0044460153 - 288900 0.0062047048 0.0018742869 0.0048796908 - 289000 0.0049504005 0.0018319234 0.0042297736 - 289100 0.0042249641 0.0019319721 0.003978439 - 289200 0.0054274524 0.0020533005 0.0046822227 - 289300 0.0049626652 0.0020780142 0.0044818051 - 289400 0.0049047062 0.0022827933 0.0046585104 - 289500 0.0053574873 0.0022592846 0.0048543175 - 289600 0.0037800207 0.0024930435 0.0043239911 - 289700 0.0036875602 0.0024109536 0.0041971155 - 289800 0.0034075936 0.0024153023 0.0040658554 - 289900 0.0049780497 0.0022573917 0.0046686345 - 290000 0.0051216526 0.001905486 0.0043862864 - 290100 0.0038758829 0.0021757955 0.0040531762 - 290200 0.0038574497 0.0017233101 0.0035917623 - 290300 0.0043717036 0.0018746528 0.0039921967 - 290400 0.0068083572 0.0016338543 0.0049316523 - 290500 0.0044327986 0.0019991163 0.0041462531 - 290600 0.0056221578 0.0020720494 0.0047952821 - 290700 0.0047315666 0.0020690294 0.004360882 - 290800 0.0072145469 0.0020831747 0.0055777209 - 290900 0.0042575088 0.0024865838 0.0045488146 - 291000 0.0041466948 0.0027040413 0.0047125965 - 291100 0.0058427124 0.0026887315 0.0055187953 - 291200 0.0061456833 0.0028577563 0.0058345717 - 291300 0.0061423461 0.0028322275 0.0058074264 - 291400 0.0047802823 0.0023821023 0.0046975515 - 291500 0.0054344087 0.0020621012 0.0046943929 - 291600 0.0049758333 0.0019609841 0.0043711534 - 291700 0.0041863687 0.0020423122 0.0040700846 - 291800 0.0055801607 0.0023351118 0.0050380021 - 291900 0.0056856988 0.0026243119 0.0053783222 - 292000 0.005754962 0.0027465637 0.0055341234 - 292100 0.0042304984 0.002228974 0.0042781217 - 292200 0.0060096783 0.0020208493 0.0049317873 - 292300 0.0052146218 0.0021279129 0.0046537453 - 292400 0.0062311074 0.0017922221 0.0048104147 - 292500 0.0044781582 0.002050183 0.0042192909 - 292600 0.0058848216 0.0020830024 0.0049334629 - 292700 0.0060493032 0.0020534975 0.0049836288 - 292800 0.0044165524 0.0022990951 0.0044383627 - 292900 0.0058789535 0.0022567444 0.0051043626 - 293000 0.005662544 0.0020769191 0.0048197138 - 293100 0.0072232266 0.0022425996 0.00574135 - 293200 0.0061232458 0.0031284991 0.0060944462 - 293300 0.0059246434 0.0033541553 0.0062239045 - 293400 0.0067097379 0.0029505219 0.0062005512 - 293500 0.0056296657 0.0030218491 0.0057487184 - 293600 0.0039748938 0.0029699761 0.0048953153 - 293700 0.0065484728 0.0026244721 0.0057963886 - 293800 0.0073392563 0.0026925692 0.0062475214 - 293900 0.0057582151 0.0028094831 0.0055986185 - 294000 0.004538544 0.002509564 0.0047079213 - 294100 0.0044047648 0.0022007731 0.0043343311 - 294200 0.0052934666 0.0020390474 0.0046030702 - 294300 0.0061058705 0.0021158672 0.0050733982 - 294400 0.0050344655 0.0021113529 0.0045499222 - 294500 0.0045809326 0.0023376689 0.0045565581 - 294600 0.0054211049 0.0022611612 0.0048870088 - 294700 0.0058076795 0.0020239704 0.0048370652 - 294800 0.0057590055 0.0021965197 0.004986038 - 294900 0.0050513169 0.002200315 0.0046470466 - 295000 0.0049075058 0.0022296147 0.0046066879 - 295100 0.0055401878 0.0024273575 0.0051108859 - 295200 0.00607398 0.002159578 0.0051016621 - 295300 0.0037684568 0.0021293416 0.0039546879 - 295400 0.0043112743 0.0019853384 0.0040736119 - 295500 0.0045270608 0.00226977 0.0044625651 - 295600 0.0047932152 0.0025499174 0.004871631 - 295700 0.00624084 0.0022932062 0.0053161131 - 295800 0.0064115155 0.0019563073 0.0050618852 - 295900 0.0039986193 0.0023714683 0.0043082995 - 296000 0.0045616 0.0024176892 0.0046272142 - 296100 0.0047329649 0.0025202435 0.0048127734 - 296200 0.0073159209 0.0027672246 0.0063108738 - 296300 0.0051610177 0.0028790672 0.0053789351 - 296400 0.0043827003 0.002245762 0.0043686324 - 296500 0.0065197923 0.0022129578 0.0053709822 - 296600 0.0059304012 0.0021762535 0.0050487916 - 296700 0.0062477932 0.0023235058 0.0053497806 - 296800 0.0057577672 0.0026256775 0.005414596 - 296900 0.0052910129 0.0023150716 0.004877906 - 297000 0.0065153992 0.0022116377 0.0053675342 - 297100 0.0049235535 0.0023376145 0.0047224607 - 297200 0.0052307269 0.002447234 0.0049808674 - 297300 0.0043038583 0.0026640542 0.0047487355 - 297400 0.0060021428 0.0027115781 0.0056188661 - 297500 0.0050781134 0.0026797757 0.0051394869 - 297600 0.0063573219 0.0030559718 0.0061352996 - 297700 0.0044253373 0.0029716449 0.0051151677 - 297800 0.006339385 0.0028369719 0.0059076115 - 297900 0.0062965307 0.002624069 0.0056739511 - 298000 0.0038797199 0.0027087948 0.0045880342 - 298100 0.0049882281 0.0023853754 0.0048015484 - 298200 0.0042051452 0.0021808957 0.0042177629 - 298300 0.003786051 0.0021775112 0.0040113796 - 298400 0.0049912473 0.0021294928 0.0045471282 - 298500 0.0047586844 0.0017965245 0.0041015122 - 298600 0.0048716934 0.0017142086 0.0040739351 - 298700 0.0056879465 0.0019625094 0.0047176085 - 298800 0.0052335251 0.0020504705 0.0045854592 - 298900 0.0058194918 0.002044887 0.0048637034 - 299000 0.0048018757 0.0020833163 0.0044092248 - 299100 0.0059772835 0.0018254251 0.0047206718 - 299200 0.0038077208 0.001879495 0.0037238597 - 299300 0.0065616236 0.0019687144 0.0051470008 - 299400 0.0051041607 0.0019767518 0.0044490796 - 299500 0.0064380036 0.0020033074 0.0051217153 - 299600 0.0053702061 0.0019924504 0.004593644 - 299700 0.0065251193 0.0020709074 0.0052315121 - 299800 0.0044270964 0.0020909696 0.0042353445 - 299900 0.0038858323 0.0022098233 0.0040920233 - 300000 0.0051697864 0.0023828084 0.0048869237 - 300100 0.0056852366 0.0026037287 0.0053575151 - 300200 0.005237369 0.0022095344 0.004746385 - 300300 0.0042697415 0.0024767489 0.004544905 - 300400 0.0040226593 0.0023191483 0.0042676239 - 300500 0.0045656996 0.0021236544 0.0043351652 - 300600 0.004428291 0.0022743039 0.0044192574 - 300700 0.0067076301 0.0024061226 0.0056551309 - 300800 0.004711198 0.0024809999 0.0047629864 - 300900 0.0050098608 0.0023185445 0.0047451959 - 301000 0.0046160334 0.0019968755 0.0042327667 - 301100 0.0053764575 0.0017902758 0.0043944974 - 301200 0.0049342316 0.0018952057 0.0042852241 - 301300 0.0050924735 0.0021512481 0.004617915 - 301400 0.0052204774 0.002006928 0.0045355968 - 301500 0.0047082749 0.0017361699 0.0040167406 - 301600 0.0048625692 0.0016964196 0.0040517265 - 301700 0.0043972004 0.0020556723 0.0041855663 - 301800 0.0035864233 0.0020547534 0.0037919271 - 301900 0.0069740594 0.0017763235 0.0051543835 - 302000 0.0030741852 0.0021111307 0.0036001891 - 302100 0.0062654625 0.0023596327 0.0053944661 - 302200 0.0054746563 0.0026259513 0.0052777379 - 302300 0.0054139906 0.0020563704 0.0046787721 - 302400 0.0046312364 0.0022165393 0.0044597945 - 302500 0.0051235109 0.0025393308 0.0050210314 - 302600 0.0042370704 0.0027944635 0.0048467945 - 302700 0.0047036264 0.0024697095 0.0047480286 - 302800 0.0050692922 0.002165856 0.0046212945 - 302900 0.0044198074 0.002720335 0.0048611792 - 303000 0.0049197537 0.0028570571 0.0052400628 - 303100 0.0043388125 0.0025930336 0.0046946459 - 303200 0.0044678415 0.0020970143 0.004261125 - 303300 0.0040236227 0.0017369246 0.0036858668 - 303400 0.0049769434 0.0017071217 0.0041178287 - 303500 0.0049072332 0.0018950275 0.0042719686 - 303600 0.0043772125 0.001995364 0.0041155763 - 303700 0.0043669385 0.0024568834 0.0045721192 - 303800 0.0043307663 0.002545941 0.0046436559 - 303900 0.0042300286 0.0021400475 0.0041889676 - 304000 0.0052738864 0.0015509765 0.0041055152 - 304100 0.0046433498 0.0016978455 0.0039469681 - 304200 0.0037355155 0.0023674443 0.0041768347 - 304300 0.0046679388 0.0022864153 0.0045474481 - 304400 0.0049127508 0.0024410788 0.0048206925 - 304500 0.0049198448 0.0024822241 0.0048652739 - 304600 0.0033705167 0.0021655031 0.0037980972 - 304700 0.0044683088 0.0018748499 0.004039187 - 304800 0.0048398483 0.0017818811 0.0041261826 - 304900 0.0057192778 0.0019196914 0.0046899666 - 305000 0.0054198301 0.0023417641 0.0049669944 - 305100 0.005658651 0.0023636853 0.0051045944 - 305200 0.0064689008 0.0023452214 0.0054785952 - 305300 0.0060902269 0.0026367845 0.0055867382 - 305400 0.0033567927 0.0029501828 0.0045761292 - 305500 0.0042164705 0.0027017896 0.0047441426 - 305600 0.0042503504 0.0026358114 0.0046945749 - 305700 0.0046530992 0.0022386204 0.0044924653 - 305800 0.0045921582 0.0022401021 0.0044644287 - 305900 0.0030666111 0.0025930676 0.0040784574 - 306000 0.0064337535 0.0025821995 0.0056985489 - 306100 0.0044606564 0.002705796 0.0048664264 - 306200 0.0055262061 0.0024500124 0.0051267684 - 306300 0.0058160386 0.0018711082 0.0046882519 - 306400 0.0045778824 0.0019313201 0.0041487319 - 306500 0.0067246156 0.0023495257 0.0056067613 - 306600 0.0043343898 0.0024501064 0.0045495765 - 306700 0.0050596271 0.002031493 0.0044822498 - 306800 0.0052212339 0.0014487258 0.0039777609 - 306900 0.0034556631 0.0016509755 0.0033248123 - 307000 0.0045210562 0.0018402752 0.0040301619 - 307100 0.0040733763 0.002018593 0.0039916347 - 307200 0.0062392431 0.0018685074 0.0048906408 - 307300 0.004717321 0.0023319148 0.0046168672 - 307400 0.0045625533 0.0026460381 0.0048560248 - 307500 0.0065293324 0.0024289333 0.0055915786 - 307600 0.0064661655 0.0020303867 0.0051624356 - 307700 0.0055993079 0.0018244228 0.0045365876 - 307800 0.0064311429 0.0023455802 0.0054606651 - 307900 0.0048806105 0.0027903247 0.0051543705 - 308000 0.0044242805 0.0024212854 0.0045642963 - 308100 0.0044772849 0.0024033528 0.0045720377 - 308200 0.0034400384 0.0026575495 0.0043238181 - 308300 0.0053243721 0.0025601048 0.0051390976 - 308400 0.0051437615 0.0026309935 0.0051225029 - 308500 0.0049764554 0.0025213035 0.0049317741 - 308600 0.0055129734 0.0022898018 0.0049601483 - 308700 0.004229622 0.0023842385 0.0044329617 - 308800 0.003878809 0.0021722385 0.0040510366 - 308900 0.004391638 0.0024504288 0.0045776285 - 309000 0.0037982747 0.0024222511 0.0042620404 - 309100 0.0057581475 0.0022771556 0.0050662583 - 309200 0.0050143736 0.0027918241 0.0052206613 - 309300 0.0048434915 0.0030118163 0.0053578825 - 309400 0.005497243 0.0027303471 0.0053930742 - 309500 0.0045694354 0.0024562012 0.0046695215 - 309600 0.0054987405 0.0022856018 0.0049490542 - 309700 0.0052955631 0.0024276709 0.0049927093 - 309800 0.0039840021 0.00280008 0.004729831 - 309900 0.0045019149 0.0025729222 0.0047535372 - 310000 0.0034586245 0.0021421196 0.0038173908 - 310100 0.0038138403 0.0019081209 0.0037554498 - 310200 0.0041810826 0.0021447346 0.0041699465 - 310300 0.0062348317 0.0020328312 0.0050528278 - 310400 0.0074580415 0.0019295828 0.0055420717 - 310500 0.0040171861 0.0023896365 0.0043354611 - 310600 0.0050458501 0.0025892375 0.0050333211 - 310700 0.0061784641 0.0024350176 0.0054277111 - 310800 0.0043775919 0.0026637609 0.004784157 - 310900 0.0064152905 0.002782843 0.0058902494 - 311000 0.0044313688 0.0024267642 0.0045732085 - 311100 0.0067116167 0.0022425931 0.0054935324 - 311200 0.0067085984 0.0022356766 0.005485154 - 311300 0.0047843671 0.0027619115 0.0050793393 - 311400 0.0047137963 0.0025079929 0.004791238 - 311500 0.0032132491 0.0026945801 0.0042509976 - 311600 0.0055397163 0.002515562 0.0051988621 - 311700 0.0054750437 0.0031895375 0.0058415118 - 311800 0.0061897 0.0031564834 0.0061546193 - 311900 0.0063037731 0.0029239269 0.005977317 - 312000 0.0058006901 0.0024698674 0.0052795767 - 312100 0.0048859388 0.0020722211 0.0044388478 - 312200 0.0052031237 0.0017145158 0.0042347788 - 312300 0.0056612279 0.0020349417 0.0047770989 - 312400 0.0053487988 0.0024027483 0.0049935727 - 312500 0.0045596714 0.0023881513 0.0045967421 - 312600 0.0060677253 0.0021044293 0.0050434838 - 312700 0.0039097786 0.0024468246 0.0043406236 - 312800 0.0044116546 0.0027561856 0.0048930808 - 312900 0.0040679797 0.0027926295 0.0047630572 - 313000 0.0042333158 0.0031291415 0.0051796538 - 313100 0.0056606347 0.0033573681 0.006099238 - 313200 0.0066384706 0.0027863829 0.0060018921 - 313300 0.0056735102 0.002026208 0.0047743145 - 313400 0.0051857966 0.001989157 0.0045010273 - 313500 0.0047678964 0.001952217 0.0042616669 - 313600 0.0057782129 0.0021224277 0.0049212495 - 313700 0.0046493881 0.0019022251 0.0041542725 - 313800 0.0043099587 0.0017742296 0.0038618659 - 313900 0.004480202 0.0018380441 0.004008142 - 314000 0.0042542315 0.001783789 0.0038444324 - 314100 0.007785569 0.0018297916 0.0056009266 - 314200 0.0066732828 0.0020146496 0.005247021 - 314300 0.0062985715 0.0020935048 0.0051443754 - 314400 0.0049784092 0.0018755834 0.0042870003 - 314500 0.0047713347 0.0016820373 0.0039931525 - 314600 0.0052198137 0.0016648185 0.0041931658 - 314700 0.0061979521 0.0019535301 0.0049556632 - 314800 0.0049515303 0.0021285482 0.0045269457 - 314900 0.0045132376 0.002465457 0.0046515564 - 315000 0.0048123613 0.0023122931 0.0046432806 - 315100 0.0051132724 0.0022380397 0.004714781 - 315200 0.0039218844 0.002403125 0.0043027877 - 315300 0.0083593784 0.002053197 0.006102271 - 315400 0.0032322871 0.0026759522 0.0042415913 - 315500 0.0039416833 0.0027338555 0.0046431084 - 315600 0.004825659 0.0025893625 0.004926791 - 315700 0.0037613117 0.0025357775 0.0043576628 - 315800 0.0051007694 0.002537531 0.0050082161 - 315900 0.0049208238 0.0026820177 0.0050655418 - 316000 0.0045147451 0.0022733028 0.0044601324 - 316100 0.0049485332 0.0020010714 0.0043980171 - 316200 0.0038538121 0.0019222601 0.0037889503 - 316300 0.0037903815 0.0020680216 0.0039039876 - 316400 0.0068227753 0.0017544868 0.0050592686 - 316500 0.0049345852 0.0021567763 0.004546966 - 316600 0.0054031524 0.0024862258 0.0051033777 - 316700 0.0051304454 0.0024481279 0.0049331874 - 316800 0.0048610189 0.002166237 0.004520793 - 316900 0.005192057 0.0018025573 0.0043174599 - 317000 0.0047356143 0.0014142953 0.0037081085 - 317100 0.0047218415 0.0017572361 0.0040443781 - 317200 0.0047211141 0.0020307216 0.0043175112 - 317300 0.0043180202 0.0025274522 0.0046189933 - 317400 0.004995451 0.0027447598 0.0051644314 - 317500 0.0045832886 0.0028351687 0.0050551992 - 317600 0.003636182 0.0025288171 0.0042900927 - 317700 0.00517903 0.0020476817 0.0045562744 - 317800 0.0049644459 0.0022254804 0.0046301339 - 317900 0.0066883205 0.0021698853 0.0054095406 - 318000 0.0046736221 0.0026543574 0.0049181431 - 318100 0.0057384413 0.0029254511 0.0057050087 - 318200 0.0056906776 0.0030658223 0.0058222443 - 318300 0.0060708371 0.0030123286 0.0059528904 - 318400 0.0062898126 0.0028016735 0.0058483015 - 318500 0.0056893881 0.0028201687 0.005575966 - 318600 0.0075068126 0.0021660662 0.0058021785 - 318700 0.0040378679 0.0026751663 0.0046310086 - 318800 0.0044841708 0.0027530532 0.0049250734 - 318900 0.0036053596 0.0032303 0.004976646 - 319000 0.0051597759 0.0031017345 0.005601001 - 319100 0.0059055047 0.0024139917 0.0052744705 - 319200 0.0044774986 0.0028188261 0.0049876144 - 319300 0.0042752053 0.0024653574 0.0045361599 - 319400 0.0044617121 0.0021085313 0.0042696731 - 319500 0.0036710069 0.0019352053 0.0037133493 - 319600 0.003573466 0.0018392521 0.0035701497 - 319700 0.0035782806 0.0020374161 0.0037706458 - 319800 0.0047320345 0.0023280944 0.0046201737 - 319900 0.005212714 0.0025998087 0.005124717 - 320000 0.0048382529 0.0025219708 0.0048654996 - 320100 0.0048526767 0.0025556548 0.0049061701 - 320200 0.0045535429 0.0026952901 0.0049009124 - 320300 0.0053986582 0.002847617 0.0054625921 - 320400 0.0058061803 0.0025845145 0.0053968831 - 320500 0.0056475748 0.0019888273 0.0047243714 - 320600 0.0050077215 0.0023612725 0.0047868876 - 320700 0.0027967195 0.0026141653 0.0039688263 - 320800 0.0035679851 0.0024721846 0.0042004274 - 320900 0.0062719149 0.0024061903 0.0054441491 - 321000 0.0053386164 0.0025222781 0.0051081704 - 321100 0.0049358394 0.0027162487 0.0051070459 - 321200 0.0046641643 0.0030701027 0.0053293073 - 321300 0.0063828707 0.0031742168 0.0062659198 - 321400 0.0069542474 0.0032779068 0.0066463704 - 321500 0.0049380597 0.0030341532 0.0054260259 - 321600 0.0063153572 0.003053056 0.0061120571 - 321700 0.0050487503 0.0035569924 0.0060024808 - 321800 0.0058858416 0.003088806 0.0059397605 - 321900 0.00459321 0.0026922259 0.004917062 - 322000 0.0061449898 0.0025908962 0.0055673756 - 322100 0.0050782733 0.0023956834 0.004855472 - 322200 0.0056183878 0.001938786 0.0046601926 - 322300 0.0045948467 0.0020185653 0.0042441942 - 322400 0.0065018301 0.0022373027 0.0053866266 - 322500 0.0052984038 0.0022473439 0.0048137582 - 322600 0.0048928372 0.0022208698 0.0045908379 - 322700 0.006704038 0.0023453206 0.005592589 - 322800 0.0051410371 0.0024095212 0.0048997111 - 322900 0.0051478534 0.0023195697 0.0048130612 - 323000 0.0054594467 0.0023695538 0.0050139733 - 323100 0.0066693942 0.0021823144 0.0054128022 - 323200 0.0059523107 0.0025005645 0.005383715 - 323300 0.0023798394 0.0031890469 0.0043417816 - 323400 0.0060256569 0.0029678729 0.0058865504 - 323500 0.0055538314 0.002613578 0.0053037151 - 323600 0.0050657291 0.0025802014 0.005033914 - 323700 0.0040218588 0.0025862687 0.0045343566 - 323800 0.0063346253 0.0025661317 0.0056344658 - 323900 0.0064242241 0.0028022614 0.0059139949 - 324000 0.0057008445 0.0028443506 0.0056056972 - 324100 0.0045477325 0.0027213013 0.0049241093 - 324200 0.005294888 0.0021739585 0.0047386699 - 324300 0.0052320005 0.0023656514 0.0048999016 - 324400 0.0064986617 0.0022451232 0.0053929125 - 324500 0.0060030927 0.0023547613 0.0052625094 - 324600 0.0053592441 0.0026246294 0.0052205133 - 324700 0.004884889 0.0023617381 0.0047278562 - 324800 0.0045261905 0.0024111151 0.0046034886 - 324900 0.0044270898 0.0024311094 0.004575481 - 325000 0.0049208698 0.0022783678 0.0046619141 - 325100 0.0057024592 0.0022683858 0.0050305145 - 325200 0.0056971011 0.0025565539 0.0053160873 - 325300 0.0052872603 0.0021960778 0.0047570945 - 325400 0.0053993826 0.0018134537 0.0044287797 - 325500 0.0040905242 0.0023465547 0.0043279023 - 325600 0.0057239098 0.0019642632 0.004736782 - 325700 0.0048993033 0.0016525162 0.0040256162 - 325800 0.0034508452 0.0018311044 0.0035026076 - 325900 0.0057442468 0.0020400661 0.0048224356 - 326000 0.0054486244 0.0023744639 0.0050136413 - 326100 0.0051852192 0.0022124472 0.0047240377 - 326200 0.004597662 0.0021126922 0.0043396848 - 326300 0.0056227048 0.0021766025 0.0049001002 - 326400 0.0044456844 0.0020952158 0.0042485942 - 326500 0.0038966976 0.0020385023 0.0039259652 - 326600 0.0049391006 0.0017399899 0.0041323668 - 326700 0.0051069879 0.0017263433 0.0042000405 - 326800 0.004825054 0.0019122312 0.0042493667 - 326900 0.0045616528 0.0022371183 0.0044466689 - 327000 0.0053301094 0.0023392119 0.0049209836 - 327100 0.0046038147 0.00252156 0.0047515328 - 327200 0.0076582834 0.002502766 0.006212247 - 327300 0.0058739609 0.0030597489 0.0059049488 - 327400 0.005318151 0.0030405806 0.0056165599 - 327500 0.004108564 0.0026701574 0.0046602431 - 327600 0.0051222234 0.0025710616 0.0050521385 - 327700 0.00526734 0.0025892791 0.0051406469 - 327800 0.004633207 0.0026371515 0.0048813612 - 327900 0.0042578901 0.0024764477 0.0045388633 - 328000 0.0061341342 0.002199158 0.0051703793 - 328100 0.0059296881 0.0024213865 0.0052935792 - 328200 0.0047308055 0.0022493501 0.004540834 - 328300 0.0051095618 0.0020667013 0.0045416453 - 328400 0.0065704568 0.0023281586 0.0055107236 - 328500 0.0055472521 0.0026281843 0.0053151345 - 328600 0.0058252683 0.0027028113 0.0055244256 - 328700 0.0052960788 0.0028003223 0.0053656105 - 328800 0.005239674 0.0028444496 0.0053824166 - 328900 0.0048355624 0.0028244206 0.0051666462 - 329000 0.0055135704 0.0030078856 0.0056785213 - 329100 0.0056082875 0.0030155158 0.0057320301 - 329200 0.0054081217 0.0030536672 0.0056732261 - 329300 0.0058533314 0.002474638 0.0053098454 - 329400 0.0054120825 0.0020666285 0.0046881059 - 329500 0.0029524802 0.0021124801 0.0035425877 - 329600 0.0056423413 0.0020353883 0.0047683974 - 329700 0.0063692706 0.0016034125 0.0046885279 - 329800 0.0052127034 0.0016826417 0.0042075449 - 329900 0.005319199 0.0019604341 0.0045369212 - 330000 0.0031781654 0.0025373045 0.0040767283 - 330100 0.0051778758 0.002231448 0.0047394816 - 330200 0.0046986679 0.0024939429 0.0047698602 - 330300 0.0052715716 0.0023932901 0.0049467076 - 330400 0.0060492513 0.0022028467 0.0051329528 - 330500 0.0049429205 0.0021978873 0.0045921145 - 330600 0.0059849426 0.0016749698 0.0045739264 - 330700 0.0048362684 0.0018933464 0.0042359139 - 330800 0.0040928753 0.0022445987 0.0042270852 - 330900 0.004788993 0.0021104313 0.0044300998 - 331000 0.0035220178 0.0019528163 0.0036587936 - 331100 0.0041588681 0.0018828693 0.0038973211 - 331200 0.0049155071 0.0021225164 0.0045034651 - 331300 0.0056269467 0.0020925279 0.0048180803 - 331400 0.0069319787 0.0021043349 0.0054620121 - 331500 0.00659538 0.0019441258 0.005138763 - 331600 0.0049352845 0.0019508261 0.0043413546 - 331700 0.0044196233 0.0023500907 0.0044908457 - 331800 0.0059327528 0.0028495309 0.005723208 - 331900 0.0044496564 0.0037254643 0.0058807666 - 332000 0.0044923866 0.0034383168 0.0056143165 - 332100 0.0070982856 0.0022357874 0.0056740195 - 332200 0.0041835882 0.0021270369 0.0041534624 - 332300 0.0049890085 0.0019882427 0.0044047937 - 332400 0.003888717 0.0018989748 0.0037825721 - 332500 0.0046439838 0.0024378098 0.0046872395 - 332600 0.0051160988 0.0023721099 0.0048502203 - 332700 0.0054519003 0.0020552572 0.0046960214 - 332800 0.0058611617 0.0023626351 0.0052016353 - 332900 0.0054913653 0.002470806 0.0051306861 - 333000 0.0029572721 0.0023991224 0.003831551 - 333100 0.0059373877 0.0018772887 0.0047532108 - 333200 0.005308089 0.0023503354 0.004921441 - 333300 0.0046825859 0.002290478 0.0045586055 - 333400 0.0038212563 0.0025509067 0.0044018277 - 333500 0.0058047513 0.0024241104 0.0052357868 - 333600 0.0050387501 0.0023256982 0.0047663428 - 333700 0.0041169855 0.0025522254 0.0045463903 - 333800 0.004679942 0.0024299344 0.0046967813 - 333900 0.0060903701 0.0025326401 0.0054826632 - 334000 0.0050898225 0.0026975775 0.0051629603 - 334100 0.004900185 0.0023177322 0.0046912593 - 334200 0.0048231169 0.002258431 0.0045946283 - 334300 0.0048147853 0.0020960946 0.0044282562 - 334400 0.0045463442 0.0022295431 0.0044316785 - 334500 0.0047733832 0.0029920799 0.0053041873 - 334600 0.0097144254 0.0032108556 0.0079162804 - 334700 0.0061505394 0.0031333631 0.0061125306 - 334800 0.0055260316 0.0029627022 0.0056393737 - 334900 0.0049076409 0.0030378466 0.0054149852 - 335000 0.0036839807 0.0028541777 0.0046386059 - 335100 0.0049859442 0.0027093376 0.0051244044 - 335200 0.0038504892 0.0025810605 0.0044461412 - 335300 0.0049462904 0.0025528079 0.0049486673 - 335400 0.0048827618 0.0026368989 0.0050019866 - 335500 0.0062973069 0.0021259208 0.0051761789 - 335600 0.0045021732 0.0020506002 0.0042313403 - 335700 0.0049909774 0.0022228444 0.0046403491 - 335800 0.0055753185 0.0026098621 0.005310407 - 335900 0.0040463795 0.0029354359 0.0048954009 - 336000 0.0043721389 0.0030566588 0.0051744135 - 336100 0.0046608869 0.0029231261 0.0051807432 - 336200 0.0054174795 0.0026295651 0.0052536567 - 336300 0.0042727531 0.0027406648 0.0048102796 - 336400 0.0047314887 0.0030293834 0.0053211983 - 336500 0.0047866781 0.0026620877 0.0049806349 - 336600 0.005846287 0.0022922518 0.0051240471 - 336700 0.0052613179 0.002335401 0.0048838519 - 336800 0.0056813937 0.0021341754 0.0048861005 - 336900 0.0048770803 0.0021274594 0.0044897952 - 337000 0.0045430444 0.0021509319 0.0043514691 - 337100 0.004403098 0.002220429 0.0043531796 - 337200 0.0035826279 0.0021590887 0.0038944241 - 337300 0.0033679162 0.0021686487 0.0037999831 - 337400 0.0047831536 0.0021443759 0.0044612159 - 337500 0.0068131508 0.0022543776 0.0055544975 - 337600 0.0048288303 0.0026662698 0.0050052345 - 337700 0.0034902634 0.003140606 0.0048312024 - 337800 0.005567371 0.0028961124 0.0055928077 - 337900 0.0057694038 0.0029107966 0.0057053516 - 338000 0.0039878655 0.0027504314 0.0046820538 - 338100 0.0047098683 0.0025734041 0.0048547466 - 338200 0.0054980197 0.0027488587 0.005411962 - 338300 0.0054251321 0.0029753605 0.0056031589 - 338400 0.0051737429 0.0029896244 0.0054956561 - 338500 0.004943038 0.0023970068 0.0047912909 - 338600 0.0063702391 0.0019280976 0.0050136822 - 338700 0.0045608474 0.0022345273 0.0044436877 - 338800 0.0040878137 0.0027390887 0.0047191235 - 338900 0.0042452994 0.0027617771 0.004818094 - 339000 0.0039021612 0.0022736808 0.0041637902 - 339100 0.0060276391 0.0020012803 0.004920918 - 339200 0.0047841092 0.0024369505 0.0047542534 - 339300 0.0049094772 0.0021615807 0.0045396088 - 339400 0.0047248845 0.0024432645 0.0047318804 - 339500 0.0055656576 0.002490558 0.0051864234 - 339600 0.0049199975 0.0025736211 0.0049567449 - 339700 0.0051537482 0.0023708669 0.0048672136 - 339800 0.0040265375 0.002602244 0.0045525981 - 339900 0.0054048083 0.0028400428 0.0054579968 - 340000 0.0049765272 0.0029617317 0.005372237 - 340100 0.0048412234 0.0029535905 0.0052985581 - 340200 0.0047843411 0.0025721132 0.0048895284 - 340300 0.0045713559 0.0024667344 0.004680985 - 340400 0.0057567487 0.0024981084 0.0052865336 - 340500 0.0049553019 0.0024494608 0.0048496851 - 340600 0.0050265744 0.0026196028 0.0050543498 - 340700 0.0044765528 0.0025233412 0.0046916714 - 340800 0.00574 0.0018868627 0.0046671752 - 340900 0.005349896 0.0018484248 0.0044397806 - 341000 0.0048649386 0.0021560492 0.0045125038 - 341100 0.0049278029 0.0027207663 0.0051076708 - 341200 0.0057887649 0.0026844366 0.0054883697 - 341300 0.0046534073 0.00217078 0.0044247742 - 341400 0.0045935247 0.0016889279 0.0039139165 - 341500 0.0056172434 0.001602469 0.0043233213 - 341600 0.0045061094 0.0021855376 0.0043681843 - 341700 0.0036667087 0.0026911592 0.0044672212 - 341800 0.004218731 0.0022562677 0.0042997155 - 341900 0.0048540371 0.0019424288 0.004293603 - 342000 0.0042194485 0.0021296655 0.0041734608 - 342100 0.00291096 0.0021059025 0.0035158987 - 342200 0.0053330814 0.0019954015 0.0045786127 - 342300 0.0060649643 0.002180444 0.0051181611 - 342400 0.0043359767 0.0022677723 0.004368011 - 342500 0.0041545178 0.0017680065 0.0037803511 - 342600 0.005220769 0.0014495199 0.0039783299 - 342700 0.0052679593 0.001554432 0.0041060997 - 342800 0.0073623384 0.0019399489 0.0055060816 - 342900 0.0058025599 0.0021426526 0.0049532676 - 343000 0.0050067426 0.0027331704 0.0051583114 - 343100 0.0052475675 0.0029613201 0.0055031106 - 343200 0.0049787356 0.002732876 0.005144451 - 343300 0.0050050821 0.0023573649 0.0047817016 - 343400 0.0060127489 0.0023719067 0.0052843319 - 343500 0.0052888831 0.0022036853 0.004765488 - 343600 0.0038877446 0.0023350413 0.0042181676 - 343700 0.0048944747 0.0019501029 0.0043208641 - 343800 0.0049853906 0.0019470734 0.004361872 - 343900 0.0059018263 0.001941951 0.0048006481 - 344000 0.0045591589 0.0023470633 0.0045554059 - 344100 0.0053389811 0.0023904807 0.0049765497 - 344200 0.0053317461 0.0023412748 0.0049238394 - 344300 0.0050618663 0.0024256499 0.0048774914 - 344400 0.00690968 0.0027064163 0.0060532925 - 344500 0.005103634 0.0030125908 0.0054846635 - 344600 0.0042091513 0.0025111973 0.0045500049 - 344700 0.0060091623 0.0021741883 0.0050848762 - 344800 0.0051273217 0.0019761751 0.0044597215 - 344900 0.0050030764 0.0022010452 0.0046244103 - 345000 0.0057694698 0.0020909773 0.0048855642 - 345100 0.0035877435 0.0017911026 0.0035289159 - 345200 0.0036062959 0.0015365912 0.0032833908 - 345300 0.0031951796 0.0018936674 0.0034413326 - 345400 0.0034816668 0.0020222861 0.0037087185 - 345500 0.003763315 0.0018916301 0.0037144858 - 345600 0.0054069349 0.0020093515 0.0046283356 - 345700 0.0047233039 0.0018926228 0.0041804731 - 345800 0.0051817811 0.0017747192 0.0042846444 - 345900 0.0052220362 0.001850183 0.0043796068 - 346000 0.006857246 0.0017546439 0.0050761225 - 346100 0.0055127842 0.0024375967 0.0051078515 - 346200 0.0067006279 0.0029091753 0.006154792 - 346300 0.0048875955 0.0025522464 0.0049196755 - 346400 0.0077679694 0.0021572702 0.0059198804 - 346500 0.0049868831 0.0021613379 0.0045768594 - 346600 0.0055361799 0.0021385042 0.0048200913 - 346700 0.0046978917 0.0024720808 0.0047476221 - 346800 0.0043800358 0.0024128641 0.0045344439 - 346900 0.0044561285 0.0021908365 0.0043492737 - 347000 0.0051132039 0.0019562118 0.0044329199 - 347100 0.0060675557 0.0022186208 0.005157593 - 347200 0.0045103555 0.0020556763 0.0042403797 - 347300 0.0061713583 0.0017531988 0.0047424504 - 347400 0.0052496816 0.0017929852 0.0043357997 - 347500 0.0059896294 0.0018061397 0.0047073665 - 347600 0.005114099 0.0016944751 0.0041716168 - 347700 0.0055253278 0.0018751539 0.0045514846 - 347800 0.0040174613 0.0024613338 0.0044072916 - 347900 0.004939336 0.0024695232 0.0048620141 - 348000 0.0041367654 0.0026495433 0.0046532891 - 348100 0.0061157659 0.0024433116 0.0054056357 - 348200 0.0049043857 0.0022791079 0.0046546698 - 348300 0.0049858097 0.001960082 0.0043750836 - 348400 0.0063625638 0.0021468966 0.0052287634 - 348500 0.0046534443 0.002895145 0.0051491571 - 348600 0.0071626187 0.0028821055 0.0063514989 - 348700 0.0065202411 0.0028128889 0.0059711307 - 348800 0.0049185243 0.0036066776 0.0059890878 - 348900 0.0043340694 0.0029956783 0.0050949931 - 349000 0.0052353904 0.0021492663 0.0046851586 - 349100 0.0058658004 0.0021469575 0.0049882045 - 349200 0.0054979908 0.0026438916 0.0053069809 - 349300 0.005598686 0.0030374771 0.0057493407 - 349400 0.0050758835 0.0033165949 0.0057752259 - 349500 0.0045072534 0.0030711642 0.0052543651 - 349600 0.0041270414 0.0022614421 0.0042604778 - 349700 0.0062161033 0.0022995855 0.0053105106 - 349800 0.0052260993 0.0023036268 0.0048350187 - 349900 0.0040492653 0.0022545184 0.0042158813 - 350000 0.0071036482 0.0018332831 0.0052741127 - 350100 0.0062627346 0.0020781741 0.0051116862 - 350200 0.0049440408 0.0025683567 0.0049631264 - 350300 0.0051871083 0.0027938642 0.0053063698 - 350400 0.0049304782 0.0032151404 0.0056033408 - 350500 0.0048109718 0.0029305421 0.0052608565 - 350600 0.0073699325 0.0026251371 0.0061949482 - 350700 0.0061293139 0.0030161161 0.0059850025 - 350800 0.0065422315 0.00257019 0.0057390834 - 350900 0.0055973003 0.0024246423 0.0051358346 - 351000 0.004151137 0.0024112769 0.0044219839 - 351100 0.0058075002 0.0021696597 0.0049826677 - 351200 0.0057605532 0.0024704787 0.0052607466 - 351300 0.0050120828 0.0027125186 0.0051402462 - 351400 0.0066718116 0.0029859347 0.0062175935 - 351500 0.0050726648 0.0029548392 0.0054119112 - 351600 0.0058976325 0.0027070123 0.0055636781 - 351700 0.0060088923 0.0025527872 0.0054633444 - 351800 0.0038116073 0.0022483249 0.0040945722 - 351900 0.0044322067 0.0018848967 0.0040317468 - 352000 0.0063802444 0.0019466298 0.0050370607 - 352100 0.0044398785 0.0027682394 0.0049188055 - 352200 0.0049293607 0.0030408161 0.0054284751 - 352300 0.0076429576 0.0024955279 0.0061975855 - 352400 0.0050524066 0.0022966541 0.0047439136 - 352500 0.0057917216 0.0024724635 0.0052778286 - 352600 0.0041703127 0.0027577142 0.0047777094 - 352700 0.005043015 0.0025352942 0.0049780046 - 352800 0.005155016 0.0023089575 0.0048059184 - 352900 0.0047436065 0.0024820003 0.0047796847 - 353000 0.0048589104 0.0023511224 0.0047046571 - 353100 0.0063703048 0.0023922717 0.0054778881 - 353200 0.0043278275 0.0025672153 0.0046635067 - 353300 0.0049967227 0.0022859233 0.0047062108 - 353400 0.0065974702 0.0020531897 0.0052488393 - 353500 0.0051870056 0.0025204902 0.005032946 - 353600 0.0040917971 0.0031766427 0.0051586069 - 353700 0.0046298273 0.0033724671 0.0056150397 - 353800 0.004228123 0.002659879 0.0047078761 - 353900 0.0064391069 0.0019715778 0.0050905203 - 354000 0.0040083593 0.0025368842 0.0044784332 - 354100 0.0064822763 0.002335157 0.0054750096 - 354200 0.0047068833 0.0029898341 0.0052697307 - 354300 0.004090677 0.0026772689 0.0046586906 - 354400 0.0048499735 0.0020506704 0.0043998763 - 354500 0.0050036008 0.0018554385 0.0042790576 - 354600 0.0064253536 0.0017479398 0.0048602204 - 354700 0.0071442908 0.0017115622 0.005172078 - 354800 0.0059548725 0.0020935264 0.0049779178 - 354900 0.0057452998 0.0026087667 0.0053916463 - 355000 0.0047944367 0.0030901188 0.0054124241 - 355100 0.0048969973 0.0030072782 0.0053792613 - 355200 0.0062846194 0.0025923696 0.0056364821 - 355300 0.0056735741 0.0023952384 0.0051433759 - 355400 0.0054072986 0.0022308494 0.0048500096 - 355500 0.0048295021 0.0024809613 0.0048202514 - 355600 0.0052444432 0.0022106923 0.0047509695 - 355700 0.0048991384 0.0026599844 0.0050330045 - 355800 0.004768268 0.0031037627 0.0054133924 - 355900 0.0058397767 0.0030012694 0.0058299112 - 356000 0.0054827447 0.0023742002 0.0050299047 - 356100 0.0054077406 0.0022962487 0.0049156231 - 356200 0.0062324509 0.0029818147 0.0060006581 - 356300 0.0051602121 0.0033505043 0.0058499821 - 356400 0.0040983305 0.0026873388 0.0046724676 - 356500 0.0069404309 0.0021781972 0.0055399684 - 356600 0.0055192079 0.0021980461 0.0048714124 - 356700 0.005452268 0.0025026557 0.0051435981 - 356800 0.0045021406 0.0030242858 0.0052050101 - 356900 0.0044137895 0.0035037082 0.0056416375 - 357000 0.0070062302 0.0029445345 0.0063381772 - 357100 0.0054642355 0.0017913948 0.0044381339 - 357200 0.0049786334 0.0016507557 0.0040622812 - 357300 0.0041890392 0.0019167914 0.0039458573 - 357400 0.0044573655 0.0020337826 0.004192819 - 357500 0.0047521598 0.0020275139 0.0043293414 - 357600 0.0041528112 0.0021636151 0.0041751331 - 357700 0.0042429198 0.0023077561 0.0043629204 - 357800 0.0063877418 0.0023709461 0.0054650085 - 357900 0.0060418631 0.0026718996 0.0055984271 - 358000 0.0045903354 0.0032530541 0.0054764979 - 358100 0.0043107269 0.003083957 0.0051719653 - 358200 0.0051628539 0.002532991 0.0050337483 - 358300 0.0066009424 0.002737997 0.0059353285 - 358400 0.0043457425 0.002725158 0.004830127 - 358500 0.0050858093 0.002652948 0.0051163869 - 358600 0.0045657904 0.0030159922 0.0052275469 - 358700 0.0046286254 0.0027097253 0.0049517157 - 358800 0.0053362126 0.0024109801 0.0049957081 - 358900 0.0051314307 0.0025756755 0.0050612123 - 359000 0.0040758652 0.0029600554 0.0049343026 - 359100 0.0030005844 0.0029732736 0.0044266816 - 359200 0.0059441748 0.0026677613 0.0055469709 - 359300 0.0050201958 0.002785985 0.0052176423 - 359400 0.0058001353 0.0027232936 0.0055327342 - 359500 0.0043475659 0.0026200801 0.0047259324 - 359600 0.0044712302 0.0025859651 0.0047517172 - 359700 0.0054052925 0.0025298612 0.0051480497 - 359800 0.0055587443 0.0025683059 0.0052608227 - 359900 0.004690763 0.0030372187 0.0053093071 - 360000 0.0050841418 0.0029792511 0.0054418823 - 360100 0.0048458707 0.0023198526 0.0046670712 - 360200 0.0063378746 0.0021607871 0.0052306952 - 360300 0.0060908649 0.0023085938 0.0052588565 - 360400 0.0056279001 0.0024335505 0.0051595646 - 360500 0.0048047643 0.0022144044 0.0045417121 - 360600 0.0038479048 0.0020981483 0.0039619772 - 360700 0.0047175513 0.0023411492 0.0046262131 - 360800 0.0045992797 0.0023056362 0.0045334123 - 360900 0.0034723795 0.0023504913 0.0040324251 - 361000 0.004936281 0.0024664558 0.0048574669 - 361100 0.0049876284 0.0025390449 0.0049549274 - 361200 0.0037735964 0.0021145653 0.0039424011 - 361300 0.0051327684 0.0016573788 0.0041435635 - 361400 0.0039618481 0.00188808 0.0038071002 - 361500 0.0056722135 0.0022020042 0.0049494826 - 361600 0.004241234 0.0021685789 0.0042229266 - 361700 0.0053737298 0.002229472 0.0048323723 - 361800 0.0062359481 0.0026249476 0.0056454849 - 361900 0.0038147183 0.0029447575 0.0047925117 - 362000 0.0049200062 0.0024012722 0.0047844002 - 362100 0.0047088458 0.0019604414 0.0042412886 - 362200 0.0048458078 0.0018643423 0.0042115304 - 362300 0.00373887 0.0020104441 0.0038214592 - 362400 0.004137062 0.0020303362 0.0040342256 - 362500 0.0054929975 0.0023052904 0.004965961 - 362600 0.0043747247 0.0026918772 0.0048108845 - 362700 0.004693766 0.0025232952 0.0047968381 - 362800 0.0046265942 0.0022262411 0.0044672476 - 362900 0.0035378333 0.0022794319 0.0039930699 - 363000 0.0050652832 0.0024757111 0.0049292076 - 363100 0.0044421206 0.0021882849 0.004339937 - 363200 0.0065214227 0.0020451298 0.0052039439 - 363300 0.0051229857 0.0023692513 0.0048506975 - 363400 0.0050582979 0.0024944748 0.0049445878 - 363500 0.0043183757 0.0028522617 0.0049439749 - 363600 0.0065760558 0.0026348187 0.0058200958 - 363700 0.0050494935 0.0026059791 0.0050518275 - 363800 0.0041075793 0.0024742488 0.0044638575 - 363900 0.0053428213 0.0026835448 0.0052714738 - 364000 0.005789288 0.0028848042 0.0056889905 - 364100 0.0038597354 0.0030855839 0.0049551432 - 364200 0.0051784709 0.0026492793 0.0051576011 - 364300 0.0061041308 0.0025653899 0.0055220783 - 364400 0.0052134816 0.00235263 0.0048779101 - 364500 0.005569615 0.0020512566 0.0047490389 - 364600 0.0050043314 0.0016572699 0.0040812429 - 364700 0.0050432066 0.0018647914 0.0043075946 - 364800 0.0054092522 0.0022860252 0.0049061317 - 364900 0.0059678829 0.002521721 0.0054124143 - 365000 0.0046346546 0.0024411733 0.0046860841 - 365100 0.0063012634 0.0023529686 0.0054051431 - 365200 0.0042098789 0.0030070803 0.0050462404 - 365300 0.0048654423 0.0032252344 0.005581933 - 365400 0.0053507101 0.0025832082 0.0051749584 - 365500 0.0064741101 0.0018436384 0.0049795355 - 365600 0.0054284316 0.0020357948 0.0046651914 - 365700 0.0044664429 0.0022757716 0.0044392049 - 365800 0.0049116222 0.002150403 0.00452947 - 365900 0.0053647771 0.0021813839 0.0047799478 - 366000 0.0044184109 0.0017891215 0.0039292893 - 366100 0.0038571497 0.0016414143 0.0035097212 - 366200 0.0060548026 0.0016134144 0.0045462094 - 366300 0.0060344003 0.0018898605 0.0048127731 - 366400 0.0039762963 0.0021023087 0.0040283272 - 366500 0.0036709328 0.0021205777 0.0038986858 - 366600 0.0057415043 0.0016959637 0.0044770048 - 366700 0.0061604602 0.0015514467 0.0045354196 - 366800 0.0050585675 0.0018181566 0.0042684003 - 366900 0.0047495168 0.0019097624 0.0042103096 - 367000 0.0042367123 0.0023680278 0.0044201853 - 367100 0.0047269412 0.0024953421 0.0047849542 - 367200 0.0046005605 0.0020026819 0.0042310784 - 367300 0.0052073081 0.0021610141 0.004683304 - 367400 0.0052623605 0.0021777394 0.0047266952 - 367500 0.0032245289 0.0023220384 0.0038839196 - 367600 0.0038546672 0.0018498922 0.0037169966 - 367700 0.0058147029 0.001894461 0.0047109577 - 367800 0.005788861 0.0019467002 0.0047506797 - 367900 0.0039220752 0.0023457218 0.004245477 - 368000 0.0044410852 0.0021265457 0.0042776964 - 368100 0.0062932391 0.0023995194 0.0054478071 - 368200 0.0061534367 0.0022959159 0.0052764868 - 368300 0.0048747348 0.0023846121 0.0047458118 - 368400 0.0047498957 0.0020328836 0.0043336144 - 368500 0.0055666292 0.0022313659 0.0049277019 - 368600 0.0066515698 0.002362172 0.0055840262 - 368700 0.0047022426 0.0025148732 0.004792522 - 368800 0.0054439592 0.0025244475 0.0051613653 - 368900 0.0037232638 0.0027629526 0.0045664085 - 369000 0.0053908167 0.0023021471 0.004913324 - 369100 0.0064289349 0.0022944388 0.0054084541 - 369200 0.0043677078 0.0025667495 0.0046823579 - 369300 0.0049641876 0.0022586389 0.0046631672 - 369400 0.0046140287 0.0018615143 0.0040964345 - 369500 0.0043457083 0.0017634152 0.0038683677 - 369600 0.0044870155 0.0018472039 0.004020602 - 369700 0.0047220954 0.0021038107 0.0043910757 - 369800 0.0034588534 0.0024939666 0.0041693487 - 369900 0.0036523706 0.0024143144 0.0041834314 - 370000 0.0057506335 0.0017899602 0.0045754233 - 370100 0.0054900793 0.0020198975 0.0046791546 - 370200 0.0043429339 0.0023431134 0.004446722 - 370300 0.0042917608 0.0022614472 0.0043402688 - 370400 0.0039151261 0.0022290107 0.0041253999 - 370500 0.0054618266 0.0022246547 0.004870227 - 370600 0.0073050345 0.0019328328 0.0054712089 - 370700 0.0054144237 0.0020994081 0.0047220195 - 370800 0.004496771 0.0021007025 0.0042788259 - 370900 0.0064962334 0.0019075861 0.0050541992 - 371000 0.0052257869 0.0023972213 0.0049284619 - 371100 0.0038712474 0.0029998611 0.0048749966 - 371200 0.0067856813 0.0025273484 0.0058141627 - 371300 0.0053616878 0.0026117921 0.0052088596 - 371400 0.006098118 0.0023771462 0.0053309221 - 371500 0.0062442531 0.0024052295 0.0054297896 - 371600 0.0037694751 0.0026567068 0.0044825463 - 371700 0.0038281479 0.002824822 0.0046790811 - 371800 0.0046382014 0.0027472909 0.0049939197 - 371900 0.0061838396 0.0020543151 0.0050496123 - 372000 0.0061538492 0.0015782731 0.0045590438 - 372100 0.004494937 0.0018586817 0.0040359168 - 372200 0.0055573091 0.0022335001 0.0049253217 - 372300 0.0051561421 0.0024337641 0.0049312704 - 372400 0.0072745187 0.0021669262 0.0056905212 - 372500 0.0064038816 0.0025302666 0.0056321468 - 372600 0.0055966719 0.0027668451 0.005477733 - 372700 0.0048800383 0.0028855944 0.0052493629 - 372800 0.0058255511 0.0027342412 0.0055559925 - 372900 0.0054284356 0.0027460206 0.0053754191 - 373000 0.0052916361 0.0026187748 0.005181911 - 373100 0.0053779016 0.0023993129 0.0050042339 - 373200 0.0047299643 0.0023962069 0.0046872834 - 373300 0.0036101243 0.0022315396 0.0039801935 - 373400 0.0039676565 0.0023413781 0.0042632117 - 373500 0.0058344104 0.0027150431 0.0055410857 - 373600 0.0053741481 0.0032718597 0.0058749626 - 373700 0.0059462559 0.003237619 0.0061178368 - 373800 0.0052514381 0.0026365379 0.0051802032 - 373900 0.0052684752 0.0025070228 0.0050589405 - 374000 0.0047303746 0.0029361146 0.0052273898 - 374100 0.0051157192 0.0027747753 0.0052527018 - 374200 0.0053496479 0.0026101415 0.0052013771 - 374300 0.0053821191 0.0026441054 0.0052510694 - 374400 0.0040405491 0.0031346792 0.0050918202 - 374500 0.0032364036 0.0038823842 0.0054500172 - 374600 0.0057874835 0.0028498786 0.0056531909 - 374700 0.0058654305 0.0019901131 0.004831181 - 374800 0.0070698268 0.0021374901 0.0055619375 - 374900 0.0040614933 0.0027342217 0.0047015075 - 375000 0.0066983213 0.0023997047 0.0056442041 - 375100 0.0058111193 0.0018238021 0.004638563 - 375200 0.0050194707 0.0020900834 0.0045213895 - 375300 0.0050484978 0.0023687028 0.0048140689 - 375400 0.0051342338 0.0018234779 0.0043103724 - 375500 0.0055454423 0.0018897099 0.0045757835 - 375600 0.0042351417 0.0020340688 0.0040854656 - 375700 0.0075552315 0.0012575392 0.0049171045 - 375800 0.0045342398 0.0013084394 0.0035047117 - 375900 0.0049355581 0.0018762058 0.0042668668 - 376000 0.0053168704 0.00233916 0.0049145191 - 376100 0.0047647187 0.0024492353 0.0047571459 - 376200 0.0049414131 0.0030966092 0.0054901062 - 376300 0.0069178264 0.0032253188 0.006576141 - 376400 0.0065542884 0.0029524979 0.0061272313 - 376500 0.0063105418 0.0025513362 0.0056080049 - 376600 0.0064464841 0.0024227894 0.0055453052 - 376700 0.0056234833 0.003148961 0.0058728357 - 376800 0.0056481403 0.0029914922 0.0057273102 - 376900 0.0060710761 0.002355089 0.0052957664 - 377000 0.0055242222 0.0023326022 0.0050083973 - 377100 0.0027938815 0.002325327 0.0036786133 - 377200 0.0061533643 0.0023041254 0.0052846612 - 377300 0.0056260704 0.0024538556 0.0051789834 - 377400 0.0052614173 0.002694112 0.005242611 - 377500 0.0049172504 0.0027265502 0.0051083434 - 377600 0.0050607111 0.0026552202 0.0051065021 - 377700 0.006025699 0.0023492575 0.0052679555 - 377800 0.0057757164 0.0022351039 0.0050327165 - 377900 0.0050803256 0.0023358829 0.0047966656 - 378000 0.0056059778 0.0020677619 0.0047831574 - 378100 0.0038782128 0.0020201379 0.0038986472 - 378200 0.0046745422 0.0021004768 0.0043647082 - 378300 0.004264994 0.0023083777 0.0043742341 - 378400 0.0049834023 0.0018573012 0.0042711366 - 378500 0.0049769256 0.0016000005 0.0040106988 - 378600 0.0056047913 0.0015140782 0.0042288989 - 378700 0.0039242373 0.0017666102 0.0036674126 - 378800 0.0048707542 0.0019823688 0.0043416404 - 378900 0.0050304857 0.0025846748 0.0050213163 - 379000 0.0054773384 0.0024122645 0.0050653503 - 379100 0.0061868895 0.0023417188 0.0053384934 - 379200 0.004864575 0.0021864276 0.0045427061 - 379300 0.0070102921 0.0017517106 0.0051473208 - 379400 0.0044130485 0.0020127605 0.0041503309 - 379500 0.0050704695 0.0018277408 0.0042837495 - 379600 0.0042181719 0.0018277686 0.0038709456 - 379700 0.0041412021 0.0022538301 0.0042597249 - 379800 0.0061616466 0.0022012625 0.0051858101 - 379900 0.0052826992 0.0023009707 0.0048597781 - 380000 0.0056579829 0.0023778931 0.0051184786 - 380100 0.0047308726 0.0025454751 0.0048369915 - 380200 0.0050606212 0.0027679146 0.005219153 - 380300 0.0038462978 0.0030491766 0.0049122271 - 380400 0.007920252 0.0025756765 0.0064120486 - 380500 0.0050392171 0.002412302 0.0048531728 - 380600 0.0062714115 0.0019993477 0.0050370626 - 380700 0.0035938811 0.0017924415 0.0035332276 - 380800 0.0053381132 0.0018515881 0.0044372367 - 380900 0.0053209269 0.0021585337 0.0047358576 - 381000 0.004030254 0.0025312431 0.0044833974 - 381100 0.0068533214 0.002523909 0.0058434865 - 381200 0.0062503436 0.0028462152 0.0058737254 - 381300 0.0043650647 0.0033162949 0.0054306231 - 381400 0.0049792042 0.0035683593 0.0059801614 - 381500 0.0059637828 0.0030838404 0.0059725476 - 381600 0.0045778639 0.0021561013 0.0043735041 - 381700 0.0061325827 0.0020028052 0.004973275 - 381800 0.0045811788 0.0021488781 0.0043678865 - 381900 0.0043737714 0.0021952623 0.0043138078 - 382000 0.0067488457 0.0023733458 0.0056423179 - 382100 0.007096274 0.0024034921 0.0058407498 - 382200 0.0040588649 0.0028906392 0.0048566519 - 382300 0.0058508966 0.0026077954 0.0054418235 - 382400 0.0057288496 0.0029715216 0.0057464332 - 382500 0.0049548858 0.0035722101 0.0059722329 - 382600 0.0055348172 0.0028582552 0.0055391823 - 382700 0.0052730996 0.0026933655 0.0052475232 - 382800 0.00588835 0.002627519 0.0054796885 - 382900 0.0057445099 0.002174486 0.004956983 - 383000 0.0044767034 0.0019377746 0.0041061778 - 383100 0.0067457424 0.0020981539 0.0053656229 - 383200 0.0049244358 0.0021907756 0.0045760492 - 383300 0.0054147508 0.0019686602 0.0045914302 - 383400 0.0039859814 0.0020545081 0.0039852178 - 383500 0.005155284 0.0019896319 0.0044867226 - 383600 0.0049941121 0.0018146036 0.0042336266 - 383700 0.0055640813 0.0020982904 0.0047933923 - 383800 0.0054213892 0.0020343575 0.0046603429 - 383900 0.0048909689 0.0020865409 0.0044556039 - 384000 0.0045885133 0.0023111712 0.0045337323 - 384100 0.0046349451 0.0024907067 0.0047357582 - 384200 0.00557791 0.0019133513 0.0046151514 - 384300 0.0037512794 0.0016797464 0.0034967724 - 384400 0.0038551851 0.0019735947 0.00384095 - 384500 0.0042202422 0.0021804137 0.0042245935 - 384600 0.0057087788 0.0023249015 0.0050900913 - 384700 0.0046454282 0.0023753019 0.0046254311 - 384800 0.0054745253 0.0021937988 0.004845522 - 384900 0.0045368239 0.0026965207 0.0048940447 - 385000 0.0041982847 0.0026933246 0.0047268688 - 385100 0.0048760554 0.0022167305 0.0045785698 - 385200 0.0053039028 0.0022225456 0.0047916235 - 385300 0.0039120963 0.0022315063 0.0041264279 - 385400 0.0040402711 0.0019954893 0.0039524956 - 385500 0.0049102712 0.0023788165 0.0047572291 - 385600 0.0046045115 0.0025209069 0.0047512172 - 385700 0.0044898126 0.0024522162 0.0046269692 - 385800 0.0048645889 0.0021385085 0.0044947938 - 385900 0.0040572112 0.0024039829 0.0043691946 - 386000 0.0050023948 0.002378024 0.004801059 - 386100 0.0059455195 0.0020115004 0.0048913614 - 386200 0.005255952 0.0022580301 0.0048038818 - 386300 0.0052751673 0.0026572858 0.005212445 - 386400 0.004685733 0.0029002822 0.0051699341 - 386500 0.0052910176 0.0030087101 0.0055715467 - 386600 0.0053419821 0.0031555864 0.005743109 - 386700 0.0055457528 0.0027924329 0.0054786569 - 386800 0.0068090896 0.0026024024 0.0059005552 - 386900 0.0059236179 0.0026913956 0.0055606481 - 387000 0.005019468 0.0028113342 0.005242639 - 387100 0.0063875014 0.002743005 0.005836951 - 387200 0.0050408865 0.0024721569 0.0049138363 - 387300 0.0063298479 0.0020659062 0.0051319263 - 387400 0.0053971579 0.0021171442 0.0047313926 - 387500 0.003889334 0.0020530896 0.0039369858 - 387600 0.0036848432 0.0020258659 0.0038107118 - 387700 0.0048606687 0.0023081219 0.0046625083 - 387800 0.0049167267 0.0024678758 0.0048494153 - 387900 0.0053050876 0.0025032767 0.0050729285 - 388000 0.0068339955 0.0026636149 0.0059738314 - 388100 0.0060226312 0.0028259382 0.0057431502 - 388200 0.0070972792 0.0025621982 0.0059999428 - 388300 0.0063299827 0.0024126507 0.005478736 - 388400 0.0054560601 0.0020461083 0.0046888874 - 388500 0.0044626467 0.0020704918 0.0042320863 - 388600 0.0051394192 0.0019947789 0.0044841851 - 388700 0.0053205237 0.0018231985 0.0044003272 - 388800 0.0040460268 0.0019298472 0.0038896414 - 388900 0.00517331 0.0019418184 0.0044476404 - 389000 0.0055168558 0.001929991 0.004602218 - 389100 0.0052681133 0.0023239736 0.004875716 - 389200 0.0057689787 0.0024079422 0.0052022912 - 389300 0.0053535958 0.0026644446 0.0052575926 - 389400 0.0040697188 0.0024623991 0.0044336692 - 389500 0.0052346571 0.0024821788 0.0050177158 - 389600 0.0047062598 0.0024712312 0.0047508258 - 389700 0.0041715435 0.0023442407 0.004364832 - 389800 0.0047404988 0.0021067988 0.0044029779 - 389900 0.0047802322 0.0020847983 0.0044002232 - 390000 0.0035226638 0.0024382367 0.004144527 - 390100 0.0035037774 0.0029083852 0.0046055274 - 390200 0.0042542554 0.0030030028 0.0050636578 - 390300 0.0054835175 0.0028489525 0.0055050313 - 390400 0.0046314911 0.0024568398 0.0047002183 - 390500 0.0067075809 0.0028102929 0.0060592774 - 390600 0.0047297019 0.0027998308 0.0050907801 - 390700 0.0048304299 0.0023968628 0.0047366023 - 390800 0.0069044771 0.0020082827 0.0053526388 - 390900 0.0052642517 0.0021623094 0.0047121813 - 391000 0.00517168 0.0021082263 0.0046132588 - 391100 0.0050084246 0.0021258905 0.0045518461 - 391200 0.007297029 0.0018807664 0.0054152648 - 391300 0.0060103399 0.0024932568 0.0054045152 - 391400 0.0046376913 0.0030062456 0.0052526273 - 391500 0.0066260625 0.0028858552 0.0060953542 - 391600 0.0048720628 0.0025879289 0.0049478343 - 391700 0.0050226836 0.0023601445 0.0047930069 - 391800 0.0050890899 0.0020242809 0.0044893088 - 391900 0.0045969094 0.0019641815 0.0041908095 - 392000 0.0054029133 0.0028547385 0.0054717747 - 392100 0.0051548209 0.0029750811 0.0054719475 - 392200 0.0051447656 0.0024835182 0.004975514 - 392300 0.0061617073 0.002127041 0.005111618 - 392400 0.0062132303 0.0025841984 0.0055937319 - 392500 0.0057195931 0.0027630511 0.005533479 - 392600 0.0050982327 0.0023951079 0.0048645644 - 392700 0.0045998322 0.0020559036 0.0042839473 - 392800 0.0050371292 0.0021851769 0.0046250363 - 392900 0.0048820782 0.002119745 0.0044845016 - 393000 0.0045272589 0.0023212573 0.0045141483 - 393100 0.0049704781 0.0024117378 0.0048193132 - 393200 0.0052321435 0.0022862779 0.0048205973 - 393300 0.0034738982 0.0026210674 0.0043037369 - 393400 0.0054256079 0.0027963895 0.0054244183 - 393500 0.0055837333 0.0030730053 0.0057776261 - 393600 0.0056042252 0.0030140984 0.005728645 - 393700 0.0049696694 0.0026476291 0.0050548127 - 393800 0.0061737694 0.0025250726 0.0055154922 - 393900 0.0047655834 0.0024639268 0.0047722563 - 394000 0.0054849443 0.0022933223 0.0049500922 - 394100 0.0060242384 0.0024522707 0.0053702612 - 394200 0.0056736627 0.0024299 0.0051780804 - 394300 0.0054494012 0.002227172 0.0048667257 - 394400 0.0046974816 0.0025945743 0.004869917 - 394500 0.004435697 0.0026222773 0.004770818 - 394600 0.0050512314 0.0024303805 0.0048770707 - 394700 0.0047245126 0.0022545045 0.0045429403 - 394800 0.0058243602 0.002184723 0.0050058975 - 394900 0.0039107579 0.0022496546 0.004143928 - 395000 0.0036116806 0.0023107702 0.004060178 - 395100 0.0035638378 0.0023290413 0.0040552752 - 395200 0.0052422859 0.0023899765 0.0049292087 - 395300 0.005014301 0.0025214134 0.0049502155 - 395400 0.0060291757 0.0023454762 0.0052658582 - 395500 0.004091934 0.0021419017 0.0041239323 - 395600 0.0055352597 0.0019628586 0.004644 - 395700 0.0041618106 0.002274486 0.0042903631 - 395800 0.0051687075 0.0025634985 0.0050670912 - 395900 0.005752105 0.0024676809 0.0052538567 - 396000 0.0054319731 0.0027179064 0.0053490184 - 396100 0.0049860914 0.0025247158 0.0049398538 - 396200 0.0029080513 0.0024982392 0.0039068265 - 396300 0.0046659348 0.001961431 0.0042214932 - 396400 0.0069662435 0.0020488809 0.0054231551 - 396500 0.0049207411 0.0023979841 0.0047814681 - 396600 0.0052927354 0.0026543393 0.005218008 - 396700 0.0047469755 0.0025058928 0.004805209 - 396800 0.0042466319 0.0019756599 0.0040326222 - 396900 0.0044531738 0.0021057029 0.0042627089 - 397000 0.0041011013 0.0022198619 0.0042063328 - 397100 0.0060654742 0.0023404234 0.0052783875 - 397200 0.0048515552 0.0021960724 0.0045460445 - 397300 0.0048631821 0.0025634241 0.004919028 - 397400 0.0055134828 0.0028094622 0.0054800554 - 397500 0.0062739519 0.0027608224 0.0057997678 - 397600 0.0053863916 0.0024085405 0.0050175739 - 397700 0.0053237766 0.0025580333 0.0051367377 - 397800 0.0038631946 0.0026306728 0.0045019077 - 397900 0.0051794447 0.0023244451 0.0048332386 - 398000 0.0046537886 0.0024109717 0.0046651505 - 398100 0.004651872 0.0021782076 0.0044314581 - 398200 0.0039933405 0.0022504689 0.0041847432 - 398300 0.0055355804 0.0023094689 0.0049907656 - 398400 0.004309813 0.0021575462 0.0042451119 - 398500 0.0042760593 0.0021373776 0.0042085938 - 398600 0.005587814 0.0021958705 0.0049024679 - 398700 0.0046963949 0.0020186235 0.0042934398 - 398800 0.0053325242 0.001896144 0.0044790854 - 398900 0.0049222169 0.001696836 0.0040810349 - 399000 0.0037193794 0.0018952072 0.0036967816 - 399100 0.0041384213 0.0019039509 0.0039084987 - 399200 0.0062966861 0.0017337739 0.0047837312 - 399300 0.0047742271 0.0019824213 0.0042949376 - 399400 0.0047343106 0.0022855637 0.0045787454 - 399500 0.0052284105 0.0022776034 0.0048101148 - 399600 0.0038893043 0.0025003793 0.0043842611 - 399700 0.0042321875 0.0025865726 0.0046365384 - 399800 0.0054769425 0.0025327063 0.0051856003 - 399900 0.0048819399 0.0027764048 0.0051410944 - 400000 0.0054971165 0.0023154855 0.0049781513 - 400100 0.0049020722 0.0021193958 0.004493837 - 400200 0.0051687326 0.0021615092 0.0046651141 - 400300 0.0052764246 0.0021081105 0.0046638787 - 400400 0.0038036695 0.0019309536 0.0037733561 - 400500 0.0057192507 0.0020251235 0.0047953856 - 400600 0.0036970181 0.0023841691 0.0041749122 - 400700 0.0042249475 0.0028010696 0.0048475285 - 400800 0.0059055369 0.0029165254 0.0057770198 - 400900 0.0053985339 0.0025694867 0.0051844015 - 401000 0.0068201387 0.0026167518 0.0059202565 - 401100 0.0056930801 0.0023914329 0.0051490185 - 401200 0.0068661998 0.0018792671 0.0052050827 - 401300 0.0044198332 0.0017516325 0.0038924892 - 401400 0.0046234299 0.0018906723 0.0041301462 - 401500 0.005060961 0.0022426063 0.0046940093 - 401600 0.005973636 0.0023131321 0.005206612 - 401700 0.0061747115 0.0027018962 0.0056927721 - 401800 0.0057152695 0.0030514405 0.0058197742 - 401900 0.0050132193 0.0032193983 0.0056476764 - 402000 0.006553072 0.0030194846 0.0061936288 - 402100 0.006236895 0.0030409563 0.0060619523 - 402200 0.0056200018 0.0026922506 0.005414439 - 402300 0.0067452694 0.002263087 0.0055303269 - 402400 0.0047985403 0.0022443819 0.0045686749 - 402500 0.0060978119 0.002518161 0.0054717887 - 402600 0.0055573429 0.0025338671 0.0052257051 - 402700 0.0035089611 0.0022546148 0.0039542678 - 402800 0.0058257135 0.0021417564 0.0049635864 - 402900 0.0059108734 0.0031117723 0.0059748516 - 403000 0.0061945489 0.0030161351 0.0060166197 - 403100 0.0071448356 0.002955554 0.0064163337 - 403200 0.0065212796 0.0030648142 0.006223559 - 403300 0.0058874707 0.0031999763 0.00605172 - 403400 0.0038552771 0.0030656649 0.0049330648 - 403500 0.0058762856 0.0028519846 0.0056983104 - 403600 0.005243254 0.0020336661 0.0045733673 - 403700 0.0050301941 0.002070891 0.0045073913 - 403800 0.0041329802 0.0024189339 0.0044208462 - 403900 0.0057325517 0.0026915508 0.0054682555 - 404000 0.0051663862 0.0031819551 0.0056844235 - 404100 0.0046680848 0.0035233366 0.0057844402 - 404200 0.0052407682 0.0031365335 0.0056750306 - 404300 0.006118943 0.0025470622 0.0055109252 - 404400 0.0062770986 0.0020781821 0.0051186518 - 404500 0.0042990092 0.002337786 0.0044201185 - 404600 0.006380319 0.0022807018 0.0053711688 - 404700 0.0064189486 0.0019722941 0.0050814723 - 404800 0.0042294192 0.0024867612 0.0045353861 - 404900 0.0051766252 0.0028692212 0.005376649 - 405000 0.006188712 0.0023468957 0.0053445531 - 405100 0.0040600397 0.0024924713 0.004459053 - 405200 0.0058677946 0.0024291229 0.0052713359 - 405300 0.0038978375 0.0028050426 0.0046930576 - 405400 0.0050456589 0.002506996 0.004950987 - 405500 0.0050703669 0.0025318754 0.0049878343 - 405600 0.0055195057 0.0027307213 0.0054042318 - 405700 0.0077525638 0.0033918945 0.0071470426 - 405800 0.0059740858 0.0039859171 0.0068796149 - 405900 0.0050558689 0.0040599615 0.006508898 - 406000 0.0048017535 0.0034136431 0.0057394925 - 406100 0.0056616935 0.00327427 0.0060166528 - 406200 0.0054017031 0.0032330535 0.0058495035 - 406300 0.004139828 0.0030840516 0.0050892808 - 406400 0.0050158857 0.0026629251 0.0050924947 - 406500 0.0051772966 0.0027778067 0.0052855597 - 406600 0.0050885005 0.002760866 0.0052256085 - 406700 0.0053468184 0.0024164541 0.0050063192 - 406800 0.0077593706 0.0024724681 0.0062309133 - 406900 0.0060073036 0.0027856094 0.0056953971 - 407000 0.0048343261 0.0032969608 0.0056385875 - 407100 0.0059989357 0.0030699531 0.0059756876 - 407200 0.0062461321 0.0028453468 0.005870817 - 407300 0.0065219581 0.003259075 0.0064181484 - 407400 0.0060103362 0.002998524 0.0059097806 - 407500 0.0075833918 0.0028067775 0.0064799829 - 407600 0.0058960865 0.0025440109 0.0053999278 - 407700 0.0064055037 0.002455696 0.0055583618 - 407800 0.0061378518 0.0024576689 0.0054306909 - 407900 0.0067168283 0.0022320897 0.0054855534 - 408000 0.005147035 0.0023989795 0.0048920745 - 408100 0.0052563459 0.0025811102 0.0051271528 - 408200 0.0067295018 0.0027950061 0.0060546086 - 408300 0.004847408 0.0032791902 0.0056271534 - 408400 0.004721639 0.0022915073 0.0045785512 - 408500 0.0037493394 0.0020831623 0.0038992486 - 408600 0.0047151725 0.0023054263 0.0045893379 - 408700 0.0054573374 0.0026063159 0.0052497137 - 408800 0.0058973929 0.0029486697 0.0058052194 - 408900 0.0046417132 0.0027660227 0.0050143525 - 409000 0.0033982879 0.0025031766 0.0041492223 - 409100 0.0050213121 0.0025931697 0.0050253678 - 409200 0.0058632901 0.0020407525 0.0048807836 - 409300 0.0039329481 0.0020735754 0.0039785971 - 409400 0.0050545291 0.001838585 0.0042868726 - 409500 0.0041695059 0.0018406817 0.0038602861 - 409600 0.0047331569 0.0020856872 0.0043783101 - 409700 0.004506268 0.002749117 0.0049318405 - 409800 0.0049838897 0.0028763119 0.0052903834 - 409900 0.0067057462 0.0026319943 0.0058800901 - 410000 0.0053021841 0.0027157352 0.0052839806 - 410100 0.003677237 0.002634277 0.0044154387 - 410200 0.0050044679 0.0022930352 0.0047170743 - 410300 0.0053328213 0.0022350644 0.0048181497 - 410400 0.0052038123 0.0022547515 0.0047753481 - 410500 0.0046231517 0.0026848487 0.0049241878 - 410600 0.0036668068 0.0027466132 0.0045227227 - 410700 0.0060875377 0.0028886548 0.0058373059 - 410800 0.0048889219 0.0030379812 0.0054060527 - 410900 0.0059186621 0.0029971644 0.0058640163 - 411000 0.0045995436 0.0031337849 0.0053616889 - 411100 0.0047893354 0.0027800193 0.0050998536 - 411200 0.0078335215 0.0024599709 0.0062543329 - 411300 0.0048721448 0.0025801454 0.0049400905 - 411400 0.0044060747 0.0028158105 0.004950003 - 411500 0.0048431546 0.0025460788 0.0048919818 - 411600 0.0043361762 0.0024090158 0.0045093512 - 411700 0.0055880584 0.0024752196 0.0051819354 - 411800 0.0055588542 0.0029273973 0.0056199673 - 411900 0.0062306345 0.0024680098 0.0054859734 - 412000 0.0034560688 0.0022948239 0.0039688572 - 412100 0.0058910954 0.0020181429 0.0048716422 - 412200 0.0036857373 0.0019992098 0.0037844888 - 412300 0.005661197 0.0018969868 0.0046391291 - 412400 0.004170256 0.0017962836 0.0038162513 - 412500 0.0040732849 0.00160117 0.0035741673 - 412600 0.0049315278 0.0016077148 0.0039964235 - 412700 0.0047056412 0.0023026565 0.0045819515 - 412800 0.004353635 0.0026561675 0.0047649595 - 412900 0.0064621964 0.0025224959 0.0056526223 - 413000 0.0061502835 0.0024735596 0.0054526031 - 413100 0.0062503106 0.0025919043 0.0056193985 - 413200 0.0042201858 0.0024676344 0.0045117869 - 413300 0.0051966993 0.0023118479 0.0048289991 - 413400 0.0047788245 0.0019991813 0.0043139244 - 413500 0.0057097124 0.0020898967 0.0048555387 - 413600 0.0048331519 0.0025041699 0.0048452278 - 413700 0.0039819509 0.0024789337 0.0044076912 - 413800 0.0051388331 0.0026471797 0.005136302 - 413900 0.0041262329 0.0024354132 0.0044340573 - 414000 0.0055383514 0.0025391181 0.0052217571 - 414100 0.0052716755 0.0030084829 0.0055619508 - 414200 0.0053130295 0.0030561504 0.0056296491 - 414300 0.0034808745 0.0033891831 0.0050752317 - 414400 0.0054529154 0.003137434 0.0057786899 - 414500 0.0051753854 0.0028505564 0.0053573837 - 414600 0.0047143388 0.0022334856 0.0045169935 - 414700 0.0050825057 0.0021198938 0.0045817325 - 414800 0.0052153433 0.0026020197 0.0051282017 - 414900 0.0049845209 0.0027269736 0.005141351 - 415000 0.0056716037 0.0026061842 0.0053533673 - 415100 0.0044417484 0.0025407915 0.0046922634 - 415200 0.0059854077 0.0021892381 0.0050884199 - 415300 0.0053260185 0.0019859315 0.0045657217 - 415400 0.0049563112 0.0023237551 0.0047244684 - 415500 0.005619213 0.0026669822 0.0053887885 - 415600 0.0045760155 0.0026044316 0.0048209391 - 415700 0.0060167792 0.0023132047 0.0052275821 - 415800 0.004778248 0.0024071716 0.0047216355 - 415900 0.0054434502 0.0024851074 0.0051217786 - 416000 0.0041734557 0.0028904633 0.0049119809 - 416100 0.0043722658 0.0025678854 0.0046857016 - 416200 0.0055766919 0.0024055416 0.0051067518 - 416300 0.0040862151 0.0026948418 0.0046741022 - 416400 0.0045933582 0.0025514984 0.0047764063 - 416500 0.0065527376 0.0022956923 0.0054696745 - 416600 0.0045715082 0.0027203571 0.0049346814 - 416700 0.0054360988 0.0028537377 0.0054868481 - 416800 0.0069851873 0.0024937376 0.0058771877 - 416900 0.0041290898 0.0030002282 0.0050002561 - 417000 0.0059552477 0.0033220072 0.0062065804 - 417100 0.0062428209 0.0027337051 0.0057575715 - 417200 0.0051862093 0.0029679518 0.0054800219 - 417300 0.0049066696 0.0030618144 0.0054384825 - 417400 0.0043344808 0.0028716467 0.0049711608 - 417500 0.0038876842 0.0025501953 0.0044332923 - 417600 0.0052516091 0.0023687366 0.0049124847 - 417700 0.0051636209 0.0021993517 0.0047004806 - 417800 0.0056924341 0.0022551084 0.0050123812 - 417900 0.0059063933 0.0021018131 0.0049627224 - 418000 0.0038453719 0.0024869162 0.0043495182 - 418100 0.0049634587 0.0028910919 0.0052952672 - 418200 0.0069812973 0.0023440498 0.0057256157 - 418300 0.0052909739 0.00279429 0.0053571055 - 418400 0.0052271327 0.0028003247 0.0053322171 - 418500 0.0038542523 0.0027291811 0.0045960846 - 418600 0.0061266077 0.0026279099 0.0055954855 - 418700 0.0053169639 0.0029543195 0.0055297239 - 418800 0.0054337647 0.0032846554 0.0059166352 - 418900 0.0045968611 0.0030534001 0.0052800047 - 419000 0.0047300231 0.0028375869 0.0051286918 - 419100 0.0043735173 0.0027147932 0.0048332156 - 419200 0.0060355106 0.0027265951 0.0056500455 - 419300 0.0049770785 0.0022958926 0.0047066649 - 419400 0.0055153777 0.0021487895 0.0048203006 - 419500 0.0055419904 0.0021098232 0.0047942248 - 419600 0.0058756283 0.0019564927 0.0048025002 - 419700 0.0046805727 0.0024650344 0.0047321868 - 419800 0.0050236302 0.0028256536 0.0052589745 - 419900 0.0044036821 0.0028769025 0.005009936 - 420000 0.0052814151 0.0025711405 0.005129326 - 420100 0.0062414066 0.0024752553 0.0054984366 - 420200 0.0076801213 0.0024229542 0.0061430129 - 420300 0.0054017759 0.0032648228 0.005881308 - 420400 0.0048868548 0.0035074226 0.0058744929 - 420500 0.0050401825 0.0039219814 0.0063633198 - 420600 0.0056346012 0.0040289739 0.0067582339 - 420700 0.005210317 0.0033026834 0.0058264307 - 420800 0.0062652227 0.0023589165 0.0053936338 - 420900 0.0072435399 0.0020388105 0.0055474001 - 421000 0.0045204962 0.0022345535 0.0044241689 - 421100 0.00570234 0.0024718979 0.0052339689 - 421200 0.0047340395 0.0022362456 0.004529296 - 421300 0.0058873303 0.0021517483 0.005003424 - 421400 0.0052195557 0.0027362553 0.0052644776 - 421500 0.0069194345 0.0028201261 0.0061717272 - 421600 0.005244691 0.0025572254 0.0050976226 - 421700 0.0049734212 0.0023424059 0.0047514068 - 421800 0.0052348219 0.0021845593 0.0047201761 - 421900 0.0036451446 0.0022215207 0.0039871377 - 422000 0.0059207679 0.0022021456 0.0050700175 - 422100 0.0050464878 0.0023330637 0.0047774562 - 422200 0.0059821344 0.0022987101 0.0051963065 - 422300 0.0043008955 0.002695735 0.0047789812 - 422400 0.0050555975 0.0030041086 0.0054529137 - 422500 0.0046106206 0.0027468557 0.0049801251 - 422600 0.0043235185 0.0024039042 0.0044981085 - 422700 0.0038835426 0.002326193 0.004207284 - 422800 0.004805624 0.0022759415 0.0046036656 - 422900 0.0052912463 0.0021744692 0.0047374166 - 423000 0.0051484534 0.0022364306 0.0047302127 - 423100 0.0045718491 0.0024199035 0.004634393 - 423200 0.0039855898 0.0020349218 0.0039654418 - 423300 0.0038674441 0.002025704 0.0038989972 - 423400 0.0048534919 0.0021005553 0.0044514655 - 423500 0.0038856692 0.0023685728 0.0042506939 - 423600 0.0043426981 0.0023259277 0.004429422 - 423700 0.0060664094 0.00224099 0.0051794071 - 423800 0.0043944189 0.0028714746 0.0050000212 - 423900 0.0038914906 0.0028862596 0.0047712004 - 424000 0.0052726166 0.0029826157 0.0055365393 - 424100 0.0069035294 0.0030466699 0.0063905669 - 424200 0.0049447598 0.0032745516 0.0056696696 - 424300 0.0061752168 0.0027763243 0.0057674449 - 424400 0.0053004933 0.0029320463 0.0054994728 - 424500 0.0063289736 0.002828952 0.0058945485 - 424600 0.0052330378 0.0023325888 0.0048673415 - 424700 0.0040903473 0.0023907117 0.0043719736 - 424800 0.0058061588 0.0024713058 0.005283664 - 424900 0.0047234552 0.0023834412 0.0046713648 - 425000 0.0056159001 0.0027061662 0.0054263678 - 425100 0.004317379 0.002883791 0.0049750214 - 425200 0.0047944389 0.0029740056 0.0052963119 - 425300 0.0063999265 0.002265734 0.0053656984 - 425400 0.0048456693 0.0022264372 0.0045735583 - 425500 0.0058459948 0.0027136885 0.0055453422 - 425600 0.0059024846 0.002953972 0.005812988 - 425700 0.0055674131 0.0024693588 0.0051660745 - 425800 0.0060809528 0.0021867195 0.005132181 - 425900 0.0049124572 0.0020839003 0.0044633718 - 426000 0.0051395903 0.0020107872 0.0045002763 - 426100 0.0040665807 0.0019838211 0.0039535711 - 426200 0.0044772782 0.0019058981 0.0040745797 - 426300 0.0052691555 0.0019254647 0.0044777119 - 426400 0.0054233912 0.0018184285 0.0044453836 - 426500 0.0041085937 0.0021685478 0.0041586479 - 426600 0.005104878 0.0024581194 0.0049307947 - 426700 0.0059516019 0.0023957277 0.0052785348 - 426800 0.0058927852 0.0019747364 0.0048290542 - 426900 0.0051361365 0.0020515313 0.0045393474 - 427000 0.0053125373 0.002232748 0.0048060083 - 427100 0.0037012838 0.0023368297 0.004129639 - 427200 0.0045289731 0.002268002 0.0044617233 - 427300 0.0066293558 0.002056483 0.0052675772 - 427400 0.0052936788 0.0020965395 0.0046606652 - 427500 0.0040511646 0.0022634689 0.0042257517 - 427600 0.0046447955 0.0021646374 0.0044144602 - 427700 0.0055241268 0.0023366476 0.0050123965 - 427800 0.0039869769 0.0024190539 0.0043502459 - 427900 0.0046675908 0.0028077933 0.0050686576 - 428000 0.0063656046 0.0026707242 0.0057540639 - 428100 0.0044759408 0.0028749573 0.0050429911 - 428200 0.004320327 0.0029070374 0.0049996958 - 428300 0.0069303822 0.0024814858 0.0058383897 - 428400 0.0053510652 0.0023380708 0.0049299931 - 428500 0.0057235183 0.0022187229 0.0049910521 - 428600 0.0061546563 0.002541028 0.0055221896 - 428700 0.0036562173 0.0031815053 0.0049524856 - 428800 0.0030185995 0.0032467613 0.0047088954 - 428900 0.0048982718 0.0022316109 0.0046042113 - 429000 0.0042196398 0.0021338092 0.0041776972 - 429100 0.0058111588 0.0022229382 0.0050377182 - 429200 0.0055322703 0.0021004876 0.0047801811 - 429300 0.003688935 0.0021099166 0.0038967445 - 429400 0.004697761 0.0021825378 0.0044580157 - 429500 0.006397937 0.0021049304 0.0052039312 - 429600 0.004619885 0.002056297 0.0042940538 - 429700 0.0047807866 0.0020649638 0.0043806573 - 429800 0.0037916936 0.0020722431 0.0039088447 - 429900 0.0070862366 0.0021503969 0.0055827928 - 430000 0.0045131066 0.0022617536 0.0044477896 - 430100 0.0038803583 0.0023696756 0.0042492241 - 430200 0.0041781365 0.002476643 0.0045004279 - 430300 0.0051852469 0.0023023564 0.0048139604 - 430400 0.0072137494 0.0020312368 0.0055253967 - 430500 0.0047224911 0.002259334 0.0045467906 - 430600 0.0060491839 0.002470788 0.0054008615 - 430700 0.0057229043 0.0021657655 0.0049377972 - 430800 0.0043303563 0.0023166548 0.0044141711 - 430900 0.0038138203 0.0027010051 0.0045483243 - 431000 0.0056109611 0.002161303 0.0048791122 - 431100 0.0059947772 0.0024452417 0.0053489619 - 431200 0.0035379187 0.0027658852 0.0044795646 - 431300 0.0050563557 0.0027822379 0.0052314102 - 431400 0.0060875788 0.0024567352 0.0054054062 - 431500 0.0061094402 0.0029285083 0.0058877684 - 431600 0.0053299591 0.0031103118 0.0056920107 - 431700 0.0064131032 0.0021108409 0.0052171878 - 431800 0.0054748041 0.0025894507 0.0052413089 - 431900 0.0026382562 0.0027952086 0.0040731139 - 432000 0.0040430957 0.0025217745 0.004480149 - 432100 0.0049409803 0.0025327998 0.0049260871 - 432200 0.0052637756 0.0031393112 0.0056889526 - 432300 0.0040699721 0.0035648841 0.0055362769 - 432400 0.0064323484 0.0031847047 0.0063003734 - 432500 0.0060511658 0.003082211 0.0060132444 - 432600 0.0051561811 0.0031221832 0.0056197085 - 432700 0.0059170822 0.0030807323 0.005946819 - 432800 0.0046692875 0.0027336935 0.0049953797 - 432900 0.0038371161 0.0025776949 0.004436298 - 433000 0.0051188266 0.0022520041 0.0047314357 - 433100 0.0062506315 0.0019394112 0.0049670608 - 433200 0.00477566 0.0022321984 0.0045454087 - 433300 0.0060174646 0.0025902417 0.0055049511 - 433400 0.0047128125 0.0028288271 0.0051115957 - 433500 0.0041135921 0.0028680725 0.0048605937 - 433600 0.0039796269 0.0027961466 0.0047237784 - 433700 0.005704948 0.002621645 0.0053849792 - 433800 0.0065693643 0.0027395171 0.0059215529 - 433900 0.0059580431 0.0032491161 0.0061350433 - 434000 0.0049694843 0.0035143711 0.005921465 - 434100 0.0049454108 0.0033922508 0.0057876842 - 434200 0.0060175473 0.0031519151 0.0060666645 - 434300 0.0062454043 0.0029528088 0.0059779265 - 434400 0.005953159 0.0031014936 0.005985055 - 434500 0.0068590686 0.0032557575 0.0065781188 - 434600 0.0062663702 0.0032967429 0.0063320159 - 434700 0.0045297029 0.0035633732 0.005757448 - 434800 0.0050358333 0.0034506553 0.0058898871 - 434900 0.0052598495 0.0025840728 0.0051318124 - 435000 0.004977605 0.002737558 0.0051485854 - 435100 0.0058482721 0.002794456 0.0056272128 - 435200 0.0054889635 0.0024834131 0.0051421298 - 435300 0.0054804827 0.0022941314 0.0049487402 - 435400 0.0040455699 0.0021202447 0.0040798177 - 435500 0.0045747967 0.002254459 0.0044703761 - 435600 0.0053912234 0.0020819737 0.0046933476 - 435700 0.0050825415 0.0021037105 0.0045655666 - 435800 0.0060423632 0.0019772745 0.0049040442 - 435900 0.0061221962 0.0024945649 0.0054600037 - 436000 0.0063794515 0.0022291809 0.0053192278 - 436100 0.0057486479 0.0022536627 0.0050381641 - 436200 0.0051125446 0.0026623921 0.0051387809 - 436300 0.0051738519 0.0027121245 0.005218209 - 436400 0.0049957896 0.0022705847 0.0046904203 - 436500 0.0049061291 0.0023757265 0.0047521328 - 436600 0.004872339 0.0026072779 0.0049673171 - 436700 0.0043638986 0.0019601845 0.0040739478 - 436800 0.0046614598 0.0020037993 0.0042616939 - 436900 0.0064931625 0.0019569359 0.0051020615 - 437000 0.0050229191 0.0021982672 0.0046312437 - 437100 0.0049491361 0.0020996176 0.0044968554 - 437200 0.0040133024 0.0023928801 0.0043368235 - 437300 0.004732141 0.0021672999 0.0044594307 - 437400 0.0039027089 0.0020617697 0.0039521444 - 437500 0.0053213686 0.0020560268 0.0046335647 - 437600 0.0039906748 0.0021539653 0.0040869484 - 437700 0.0056821581 0.0022516145 0.0050039098 - 437800 0.0057280028 0.0024107266 0.0051852279 - 437900 0.0051237764 0.0025551037 0.0050369329 - 438000 0.0045497669 0.0029150198 0.0051188132 - 438100 0.0047067718 0.0028485579 0.0051284005 - 438200 0.0051276324 0.0026184025 0.0051020994 - 438300 0.0044044677 0.0024708694 0.0046042834 - 438400 0.0038735561 0.0024589185 0.0043351722 - 438500 0.0052507269 0.0026342594 0.0051775803 - 438600 0.004504654 0.0025961378 0.0047780796 - 438700 0.0063411005 0.0023135992 0.0053850697 - 438800 0.0053666926 0.0022526463 0.004852138 - 438900 0.0051093451 0.0022752354 0.0047500744 - 439000 0.0045348347 0.0022672838 0.0044638444 - 439100 0.0045837085 0.0024623979 0.0046826317 - 439200 0.0038949019 0.002712393 0.0045989861 - 439300 0.0055394059 0.0023633942 0.0050465439 - 439400 0.0046458983 0.0024489439 0.0046993009 - 439500 0.0049315477 0.0021856943 0.0045744127 - 439600 0.0055589007 0.0020184611 0.0047110536 - 439700 0.0044839226 0.0020780021 0.0042499021 - 439800 0.0058451045 0.0017566506 0.004587873 - 439900 0.0066556588 0.0019478607 0.0051716954 - 440000 0.0038763241 0.0025927928 0.0044703873 - 440100 0.0040264139 0.0025847032 0.0045349975 - 440200 0.004368939 0.0022345108 0.0043507156 - 440300 0.0045593163 0.0022591732 0.0044675921 - 440400 0.0054583549 0.0022702532 0.0049141438 - 440500 0.0058446581 0.0022950396 0.0051260459 - 440600 0.0074502176 0.0022824376 0.0058911367 - 440700 0.0042515148 0.0025754742 0.0046348017 - 440800 0.0040710737 0.0024429413 0.0044148676 - 440900 0.0053892596 0.0024030798 0.0050135024 - 441000 0.0059084227 0.0023073074 0.0051691996 - 441100 0.0064284544 0.0025054598 0.0056192425 - 441200 0.0050114011 0.0026423659 0.0050697633 - 441300 0.0056897836 0.0025674894 0.0053234783 - 441400 0.003644692 0.0024668604 0.0042322581 - 441500 0.0055505498 0.0024682961 0.0051568437 - 441600 0.0054658323 0.0027970285 0.005444541 - 441700 0.0036264425 0.0026009549 0.004357513 - 441800 0.0060290114 0.0019727234 0.0048930258 - 441900 0.0061890395 0.0019004749 0.0048982909 - 442000 0.0063915963 0.0026094476 0.005705377 - 442100 0.0054312455 0.0034459156 0.0060766751 - 442200 0.0057242071 0.0028559507 0.0056286135 - 442300 0.0049966897 0.0022302049 0.0046504765 - 442400 0.0060377355 0.0020588152 0.0049833433 - 442500 0.005509326 0.0028034627 0.0054720425 - 442600 0.0058447055 0.0034193739 0.0062504031 - 442700 0.0047888657 0.0032285186 0.0055481254 - 442800 0.0056235415 0.0024926141 0.005216517 - 442900 0.0046838061 0.0020827056 0.0043514242 - 443000 0.0052792355 0.0019325021 0.0044896318 - 443100 0.0047644953 0.0024231876 0.00473099 - 443200 0.0046478557 0.0029372723 0.0051885774 - 443300 0.0061748527 0.0032137013 0.0062046456 - 443400 0.0055171142 0.0025889621 0.0052613143 - 443500 0.0044773134 0.0025791405 0.0047478392 - 443600 0.0032214787 0.0031917051 0.0047521088 - 443700 0.0044811655 0.0030316829 0.0052022475 - 443800 0.004073356 0.0029690422 0.004942074 - 443900 0.0069225984 0.002720051 0.0060731846 - 444000 0.0054977397 0.00291295 0.0055759177 - 444100 0.0053405449 0.0037313384 0.0063181649 - 444200 0.0065501685 0.0040549551 0.007227693 - 444300 0.0061987199 0.0038925499 0.0068950549 - 444400 0.0049018816 0.0036557519 0.0060301008 - 444500 0.0071244309 0.0034038307 0.0068547269 - 444600 0.0042899028 0.0031291384 0.00520706 - 444700 0.0054303442 0.0027711153 0.0054014383 - 444800 0.005383763 0.0025833021 0.0051910623 - 444900 0.0030531577 0.0026130436 0.0040919168 - 445000 0.0041345518 0.0028126007 0.0048152743 - 445100 0.0050731766 0.0030335351 0.005490855 - 445200 0.0068678662 0.0027903902 0.0061170129 - 445300 0.004087145 0.0026925674 0.0046722782 - 445400 0.0046928391 0.002356826 0.0046299199 - 445500 0.0060427525 0.0022303665 0.0051573247 - 445600 0.0043554795 0.0025763304 0.0046860158 - 445700 0.0054766424 0.0029944104 0.0056471591 - 445800 0.0051649562 0.0025696988 0.0050714744 - 445900 0.0049719471 0.0024780604 0.0048863473 - 446000 0.0058458562 0.0023196258 0.0051512124 - 446100 0.0043090146 0.0025248336 0.0046120126 - 446200 0.0038578489 0.0026222138 0.0044908594 - 446300 0.0054940749 0.0025485342 0.0052097267 - 446400 0.0054517815 0.0022344298 0.0048751364 - 446500 0.0058581454 0.0022655311 0.0051030703 - 446600 0.0059353474 0.0024510751 0.0053260089 - 446700 0.0045173182 0.0023462853 0.0045343613 - 446800 0.0041856295 0.0025763069 0.0046037211 - 446900 0.0053092458 0.0024233605 0.0049950265 - 447000 0.0043462462 0.0026704237 0.0047756367 - 447100 0.0046794193 0.0034471994 0.0057137931 - 447200 0.0050817813 0.0034844031 0.0059458909 - 447300 0.0049599601 0.0032981373 0.0057006179 - 447400 0.0043756359 0.0034179081 0.0055373567 - 447500 0.0063507401 0.0031783937 0.0062545334 - 447600 0.0059493562 0.0032156254 0.0060973448 - 447700 0.0055673052 0.0027750916 0.0054717551 - 447800 0.0043280759 0.0028954816 0.0049918933 - 447900 0.006845838 0.0026950325 0.0060109853 - 448000 0.0064587539 0.0031736977 0.0063021566 - 448100 0.0063555826 0.0032581095 0.0063365948 - 448200 0.0053336269 0.0030057102 0.0055891857 - 448300 0.0046960139 0.0031478774 0.0054225092 - 448400 0.0050279503 0.0031663325 0.005601746 - 448500 0.0070074117 0.002875415 0.0062696301 - 448600 0.0070850293 0.002653168 0.006084979 - 448700 0.0056082659 0.0028270019 0.0055435057 - 448800 0.0050853289 0.0028400634 0.0053032696 - 448900 0.003998957 0.0024190209 0.0043560157 - 449000 0.0054434758 0.0020866001 0.0047232837 - 449100 0.0043006918 0.0018381771 0.0039213247 - 449200 0.0046627218 0.0021391119 0.0043976177 - 449300 0.0052183904 0.0029195624 0.0054472203 - 449400 0.00431807 0.0030521884 0.0051437536 - 449500 0.0056376026 0.0024495885 0.0051803022 - 449600 0.0061994374 0.0021465085 0.005149361 - 449700 0.005423881 0.0022025166 0.004829709 - 449800 0.0047532776 0.0024468856 0.0047492544 - 449900 0.006421684 0.0024803518 0.005590855 - 450000 0.0047478554 0.0023229784 0.0046227208 - 450100 0.0045620761 0.0021688281 0.0043785837 - 450200 0.0051537911 0.0021357496 0.0046321171 - 450300 0.0063189366 0.0022942822 0.0053550172 - 450400 0.0050262373 0.002449932 0.0048845157 - 450500 0.0048805256 0.0028562846 0.0052202892 - 450600 0.0051208622 0.0029036994 0.005384117 - 450700 0.0051662128 0.0028916655 0.0053940498 - 450800 0.0057414448 0.0025452145 0.0053262268 - 450900 0.004090118 0.0023873882 0.0043685391 - 451000 0.0052255759 0.0027011919 0.0052323302 - 451100 0.0053629329 0.0030474355 0.0056451061 - 451200 0.0046697502 0.0030776341 0.0053395443 - 451300 0.0057023219 0.0027807614 0.0055428236 - 451400 0.0054955354 0.0024054393 0.0050673392 - 451500 0.0047976555 0.0027607982 0.0050846626 - 451600 0.0043777644 0.002938968 0.0050594476 - 451700 0.0041803844 0.0030347882 0.0050596619 - 451800 0.0058279612 0.0028832692 0.0057061879 - 451900 0.0062109245 0.002370356 0.0053787726 - 452000 0.0049976907 0.0024844504 0.0049052068 - 452100 0.0050768153 0.0028267807 0.0052858631 - 452200 0.004550057 0.0030756141 0.005279548 - 452300 0.0064725183 0.0025437904 0.0056789165 - 452400 0.0072352403 0.0031611671 0.0066657366 - 452500 0.0050385991 0.0038626705 0.006303242 - 452600 0.0064204671 0.0033418522 0.006451766 - 452700 0.0062414072 0.0028506418 0.0058738234 - 452800 0.0054558138 0.0027473951 0.0053900549 - 452900 0.0039786799 0.0023745218 0.0043016948 - 453000 0.0047009013 0.00254688 0.0048238791 - 453100 0.0055546321 0.0025861957 0.0052767206 - 453200 0.0035168791 0.0028880904 0.0045915787 - 453300 0.006350497 0.0030771007 0.0061531227 - 453400 0.0056300359 0.0030012693 0.0057283179 - 453500 0.0067192178 0.0024758651 0.0057304863 - 453600 0.0080590266 0.0025544191 0.0064580101 - 453700 0.0059000442 0.0029318986 0.0057897325 - 453800 0.0048860256 0.0028765246 0.0052431933 - 453900 0.0051051352 0.0031726859 0.0056454858 - 454000 0.0054795537 0.0030538955 0.0057080543 - 454100 0.0056747996 0.0027650331 0.0055137641 - 454200 0.0057054139 0.0028350401 0.0055986 - 454300 0.005806749 0.0027026965 0.0055153406 - 454400 0.0058146592 0.0029583278 0.0057748034 - 454500 0.0058884462 0.0030421028 0.0058943189 - 454600 0.0047479489 0.0028260254 0.0051258132 - 454700 0.0062909083 0.0028095167 0.0058566754 - 454800 0.0049724924 0.0030430497 0.0054516006 - 454900 0.005890218 0.0028166014 0.0056696757 - 455000 0.0056237283 0.0029832876 0.005707281 - 455100 0.00376877 0.0039480735 0.0057735715 - 455200 0.0071852094 0.003881456 0.0073617918 - 455300 0.0051527917 0.0035524373 0.0060483208 - 455400 0.0048938375 0.003083862 0.0054543146 - 455500 0.0054056278 0.0032024377 0.0058207886 - 455600 0.007051777 0.0030208489 0.0064365534 - 455700 0.0043723675 0.0028930394 0.0050109049 - 455800 0.0048421539 0.0029360286 0.0052814469 - 455900 0.0044086164 0.0030320833 0.0051675069 - 456000 0.0062692258 0.0028234293 0.0058600856 - 456100 0.0064945504 0.0027770243 0.0059228222 - 456200 0.0046398552 0.002835239 0.0050826689 - 456300 0.0055122776 0.0027002912 0.0053703007 - 456400 0.0046684185 0.0027225083 0.0049837735 - 456500 0.0062210862 0.0028579871 0.0058713258 - 456600 0.0076488393 0.0028041182 0.0065090247 - 456700 0.0062952337 0.0029791448 0.0060283986 - 456800 0.0051191322 0.0030421104 0.00552169 - 456900 0.0053816786 0.0028118267 0.0054185773 - 457000 0.0045053465 0.002470759 0.0046530362 - 457100 0.0043803094 0.0026134603 0.0047351727 - 457200 0.0037081417 0.002855833 0.0046519642 - 457300 0.0055045022 0.0026106633 0.0052769065 - 457400 0.0050546824 0.0026161506 0.0050645124 - 457500 0.003875194 0.0025188248 0.0043958719 - 457600 0.0052271818 0.002360878 0.0048927942 - 457700 0.004247155 0.0026022215 0.0046594372 - 457800 0.0045453239 0.0020820236 0.0042836649 - 457900 0.0059224278 0.0021974558 0.0050661318 - 458000 0.0047835591 0.0028747455 0.0051917819 - 458100 0.0054580427 0.0033037412 0.0059474806 - 458200 0.007007129 0.0032106155 0.0066046936 - 458300 0.0059139826 0.0028762564 0.0057408417 - 458400 0.0056018526 0.002604292 0.0053176894 - 458500 0.0063406889 0.0022052498 0.005276521 - 458600 0.0049251086 0.0024799383 0.0048655377 - 458700 0.0038896155 0.0026525315 0.004536564 - 458800 0.0058831884 0.0030999513 0.0059496207 - 458900 0.0038147877 0.0033297579 0.0051775457 - 459000 0.0044368504 0.0032250401 0.0053741395 - 459100 0.0055578761 0.0028281511 0.0055202474 - 459200 0.0045819344 0.0025303804 0.0047497549 - 459300 0.004350653 0.0022661296 0.0043734771 - 459400 0.004297496 0.0022762772 0.0043578768 - 459500 0.0029976294 0.0028355235 0.0042875002 - 459600 0.0034583798 0.0026951884 0.0043703411 - 459700 0.0059890612 0.002473296 0.0053742475 - 459800 0.0044784116 0.0020856324 0.004254863 - 459900 0.0044595644 0.0020551488 0.0042152503 - 460000 0.0053501598 0.0026182739 0.0052097576 - 460100 0.003453547 0.0027610646 0.0044338764 - 460200 0.0043920065 0.0023457773 0.0044731555 - 460300 0.0048950399 0.0027266088 0.0050976437 - 460400 0.0047851559 0.002961256 0.0052790659 - 460500 0.004659885 0.0028081637 0.0050652955 - 460600 0.0045167295 0.0022622011 0.004449992 - 460700 0.0072618797 0.0018863082 0.0054037812 - 460800 0.006022984 0.0019881652 0.0049055481 - 460900 0.0055259531 0.0023352087 0.0050118422 - 461000 0.0059433396 0.0022813582 0.0051601633 - 461100 0.0045057466 0.0023737986 0.0045562696 - 461200 0.0041792022 0.002068705 0.0040930061 - 461300 0.0053678386 0.0026074736 0.0052075204 - 461400 0.0054419753 0.0030231227 0.0056590795 - 461500 0.005323714 0.0031494026 0.0057280765 - 461600 0.0058385364 0.0027426333 0.0055706744 - 461700 0.0073974517 0.0024786139 0.0060617545 - 461800 0.0035894959 0.0024510088 0.0041896708 - 461900 0.0044768725 0.0026161916 0.0047846767 - 462000 0.0055114468 0.0030533012 0.0057229083 - 462100 0.0047175112 0.0031423588 0.0054274033 - 462200 0.0052353089 0.0027731063 0.0053089591 - 462300 0.0049740684 0.0025537392 0.0049630536 - 462400 0.0049755153 0.0027822515 0.0051922667 - 462500 0.0053013034 0.0028200769 0.0053878958 - 462600 0.004289165 0.0023978625 0.0044754268 - 462700 0.003589266 0.0022184266 0.0039569773 - 462800 0.0047705792 0.0023837207 0.00469447 - 462900 0.00495507 0.0024610334 0.0048611454 - 463000 0.0031718224 0.0030998244 0.0046361759 - 463100 0.0047733922 0.0026613902 0.004973502 - 463200 0.004526524 0.0021014179 0.0042939529 - 463300 0.0051778162 0.0022895959 0.0047976006 - 463400 0.0057278144 0.0024091346 0.0051835447 - 463500 0.0051855034 0.002446119 0.0049578472 - 463600 0.0058818137 0.0025018521 0.0053508557 - 463700 0.0042466823 0.003112027 0.0051690138 - 463800 0.0066176255 0.0031451192 0.0063505315 - 463900 0.0064131719 0.0024892332 0.0055956134 - 464000 0.0044034654 0.0023699711 0.0045028997 - 464100 0.0046517162 0.0024455665 0.0046987415 - 464200 0.0045470732 0.0025966804 0.004799169 - 464300 0.0056081725 0.0026711557 0.0053876142 - 464400 0.0041758909 0.002669336 0.0046920332 - 464500 0.0065173927 0.0022740883 0.0054309504 - 464600 0.004795367 0.0023085544 0.0046313103 - 464700 0.0060123803 0.0024667575 0.0053790042 - 464800 0.0061133552 0.0026939326 0.005655089 - 464900 0.0073981283 0.0026726401 0.0062561085 - 465000 0.0055176495 0.0025129761 0.0051855875 - 465100 0.0054005351 0.0021372197 0.0047531039 - 465200 0.0048375629 0.0024096319 0.0047528264 - 465300 0.0049518725 0.002238308 0.0046368712 - 465400 0.0045510705 0.0023216286 0.0045260534 - 465500 0.0041226116 0.0023034734 0.0043003634 - 465600 0.0042707142 0.0019977614 0.0040663885 - 465700 0.0044170241 0.0019817908 0.0041212868 - 465800 0.0051370437 0.0023564533 0.0048447089 - 465900 0.0050902416 0.0025562218 0.0050218075 - 466000 0.0050582914 0.0031053103 0.0055554202 - 466100 0.0044923213 0.0029250102 0.0051009784 - 466200 0.0055093251 0.0028027457 0.005471325 - 466300 0.0053037066 0.0028960262 0.0054650091 - 466400 0.005686728 0.0030377418 0.0057922506 - 466500 0.0058243221 0.0028219046 0.0056430606 - 466600 0.0039067467 0.0022156433 0.0041079737 - 466700 0.0036875231 0.0022678153 0.0040539593 - 466800 0.0055231775 0.0025775643 0.0052528534 - 466900 0.0055038439 0.0025838294 0.0052497538 - 467000 0.0052010892 0.0025630844 0.005082362 - 467100 0.005734232 0.0028699829 0.0056475015 - 467200 0.0061112718 0.002948751 0.0059088982 - 467300 0.0051865532 0.0027163 0.0052285367 - 467400 0.0051895309 0.0027321041 0.0052457831 - 467500 0.0036503258 0.0028480099 0.0046161364 - 467600 0.0048030006 0.0029583971 0.0052848505 - 467700 0.0036877342 0.0028107078 0.004596954 - 467800 0.0066095066 0.0030059336 0.0062074133 - 467900 0.0051842984 0.0026010532 0.0051121978 - 468000 0.0039397534 0.0023264182 0.0042347363 - 468100 0.0037234713 0.0023651876 0.004168744 - 468200 0.0067800612 0.0025571048 0.0058411969 - 468300 0.0038759777 0.0029221067 0.0047995334 - 468400 0.0048200184 0.0030211112 0.0053558076 - 468500 0.0060484364 0.0030409125 0.0059706239 - 468600 0.0051223971 0.0025728844 0.0050540455 - 468700 0.0054904658 0.00252257 0.0051820143 - 468800 0.0050111907 0.0024827574 0.0049100529 - 468900 0.0053405749 0.00249678 0.005083621 - 469000 0.0057075859 0.0029768292 0.0057414411 - 469100 0.004113966 0.0033809821 0.0053736844 - 469200 0.0068339598 0.0026462172 0.0059564164 - 469300 0.0057308688 0.0022934808 0.0050693704 - 469400 0.0043906061 0.0026716699 0.0047983697 - 469500 0.0041102734 0.0023651329 0.0043560466 - 469600 0.0050020005 0.0022355994 0.0046584434 - 469700 0.0047809143 0.0016936142 0.0040093696 - 469800 0.0053525448 0.0016388859 0.0042315248 - 469900 0.0040648353 0.0017442947 0.0037131993 - 470000 0.0065669517 0.0021260069 0.0053068741 - 470100 0.0061563359 0.002619176 0.0056011512 - 470200 0.0055368398 0.0025622012 0.005244108 - 470300 0.0055135083 0.0022126658 0.0048832714 - 470400 0.0046652993 0.0022566421 0.0045163965 - 470500 0.0057863488 0.0026392313 0.005441994 - 470600 0.0057693355 0.0029498632 0.0057443851 - 470700 0.0052941336 0.0027606765 0.0053250225 - 470800 0.0063990183 0.0028790913 0.0059786158 - 470900 0.0047568965 0.0028435053 0.005147627 - 471000 0.0068842813 0.0023150918 0.0056496656 - 471100 0.0046841211 0.0022445525 0.0045134237 - 471200 0.0038055846 0.0027523206 0.0045956506 - 471300 0.0044792146 0.0028532789 0.0050228985 - 471400 0.0061465558 0.0023009884 0.0052782264 - 471500 0.0062277801 0.0017097465 0.0047263275 - 471600 0.0061480745 0.002141529 0.0051195026 - 471700 0.0033705514 0.0031674206 0.0048000315 - 471800 0.0050154944 0.00292139 0.0053507701 - 471900 0.006058648 0.0024881689 0.0054228265 - 472000 0.0062640041 0.0021995047 0.0052336317 - 472100 0.0054340402 0.0024308306 0.0050629438 - 472200 0.003989829 0.0028188225 0.004751396 - 472300 0.0049953992 0.0027601455 0.005179792 - 472400 0.0052276132 0.0027333281 0.0052654532 - 472500 0.0058165242 0.0025059776 0.0053233565 - 472600 0.0057906813 0.0024657288 0.0052705901 - 472700 0.006942916 0.0024809942 0.0058439691 - 472800 0.0053825615 0.0020544002 0.0046615784 - 472900 0.0048004165 0.0016298001 0.0039550018 - 473000 0.005028153 0.0019650909 0.0044006025 - 473100 0.0034255614 0.0024144212 0.0040736775 - 473200 0.0050628649 0.0023795654 0.0048318906 - 473300 0.0057794328 0.0024983032 0.0052977159 - 473400 0.0045618358 0.0028688348 0.005078474 - 473500 0.0048513833 0.0026101497 0.0049600385 - 473600 0.0055356638 0.002498511 0.0051798481 - 473700 0.0053802262 0.0025464115 0.0051524585 - 473800 0.00510818 0.0025319921 0.0050062667 - 473900 0.0051381487 0.0022146597 0.0047034505 - 474000 0.0061947311 0.0023603237 0.0053608966 - 474100 0.0040313428 0.0024041483 0.0043568299 - 474200 0.0044744569 0.0028143051 0.0049816201 - 474300 0.0038278713 0.0025114087 0.0043655339 - 474400 0.0054127797 0.0021975254 0.0048193405 - 474500 0.0041154942 0.0023292419 0.0043226844 - 474600 0.0046469881 0.0025673108 0.0048181957 - 474700 0.0048213144 0.0029798253 0.0053151495 - 474800 0.0049389856 0.0028280421 0.0052203633 - 474900 0.006975293 0.0026281598 0.0060068173 - 475000 0.0037697184 0.0027662455 0.0045922029 - 475100 0.0040236326 0.0021722207 0.0041211678 - 475200 0.0051575315 0.0018508504 0.0043490297 - 475300 0.0031432952 0.0021764192 0.0036989528 - 475400 0.0049911628 0.0023398656 0.0047574601 - 475500 0.0055415252 0.0027072592 0.0053914354 - 475600 0.0041433484 0.0027500932 0.0047570276 - 475700 0.005270634 0.0028656569 0.0054186203 - 475800 0.0056942608 0.0025594595 0.0053176171 - 475900 0.004088747 0.002201128 0.0041816148 - 476000 0.0042204076 0.0020281487 0.0040724086 - 476100 0.0058318125 0.0016574783 0.0044822625 - 476200 0.0058442963 0.0024371189 0.0052679499 - 476300 0.0053412202 0.0031334036 0.0057205571 - 476400 0.0059018669 0.0026057579 0.0054644747 - 476500 0.0048338722 0.0020527281 0.004394135 - 476600 0.0048924179 0.0019357911 0.004305556 - 476700 0.0043861243 0.0019441015 0.0040686305 - 476800 0.0045619196 0.0019501892 0.004159869 - 476900 0.0047551197 0.0014535839 0.003756845 - 477000 0.0061913648 0.0015592099 0.0045581522 - 477100 0.0055891591 0.002176388 0.0048836369 - 477200 0.0043540467 0.0024863996 0.004595391 - 477300 0.0038601577 0.0022787226 0.0041484865 - 477400 0.0049695626 0.0018644863 0.0042716182 - 477500 0.004815476 0.0021441269 0.0044766231 - 477600 0.0055105663 0.0020697639 0.0047389444 - 477700 0.0043536467 0.0020429499 0.0041517475 - 477800 0.0066836796 0.0022652205 0.0055026278 - 477900 0.0053369824 0.0026153528 0.0052004537 - 478000 0.0064369971 0.0021442077 0.0052621282 - 478100 0.0050672513 0.0021770221 0.004631472 - 478200 0.0038828643 0.0022036068 0.0040843692 - 478300 0.0063421829 0.0021303865 0.0052023813 - 478400 0.0060391036 0.0022127507 0.0051379415 - 478500 0.0038634428 0.0023748576 0.0042462127 - 478600 0.0054894562 0.0023423196 0.005001275 - 478700 0.0049855855 0.0024445405 0.0048594334 - 478800 0.006223373 0.0024455837 0.00546003 - 478900 0.0059515923 0.0026736669 0.0055564694 - 479000 0.005061052 0.0027552864 0.0052067335 - 479100 0.0058725485 0.0025906534 0.0054351691 - 479200 0.0061519135 0.0021153659 0.0050951989 - 479300 0.0052336076 0.0020207057 0.0045557344 - 479400 0.005518007 0.0019533006 0.0046260853 - 479500 0.0042448295 0.0024134167 0.0044695061 - 479600 0.0046681683 0.0029527287 0.0052138728 - 479700 0.0047548467 0.0022224256 0.0045255544 - 479800 0.0038900149 0.0017235818 0.0036078078 - 479900 0.0049294055 0.0021023951 0.0044900759 - 480000 0.0047510802 0.0026168286 0.004918133 - 480100 0.0042979725 0.0028063914 0.0048882219 - 480200 0.0046264572 0.0027966415 0.0050375817 - 480300 0.0051964603 0.0028133213 0.0053303567 - 480400 0.0055337007 0.0028171919 0.0054975782 - 480500 0.0063877434 0.0036253917 0.0067194549 - 480600 0.005643884 0.0033820883 0.0061158447 - 480700 0.0053621487 0.0024628249 0.0050601157 - 480800 0.004797464 0.00217778 0.0045015516 - 480900 0.0062509053 0.0023138143 0.0053415965 - 481000 0.0053753897 0.0027678286 0.005371533 - 481100 0.0035616035 0.0030472353 0.004772387 - 481200 0.0047866279 0.0024235187 0.0047420416 - 481300 0.0051455542 0.0022735106 0.0047658884 - 481400 0.0041237359 0.0022113623 0.0042087968 - 481500 0.004631156 0.0020929481 0.0043361643 - 481600 0.0044058355 0.0019197726 0.0040538492 - 481700 0.0041088335 0.0020123232 0.0040025395 - 481800 0.0056109013 0.0028408442 0.0055586245 - 481900 0.0047374006 0.0033206808 0.0056153592 - 482000 0.0063229265 0.0030079055 0.006070573 - 482100 0.0058130422 0.0033215035 0.0061371958 - 482200 0.0077597113 0.0027019655 0.0064605756 - 482300 0.0065893859 0.0024973977 0.0056891315 - 482400 0.0040189965 0.0028641766 0.0048108781 - 482500 0.0049202031 0.0027526888 0.0051359122 - 482600 0.0055123705 0.0023734266 0.005043481 - 482700 0.0052790229 0.0026558566 0.0052128833 - 482800 0.0058743937 0.0023690474 0.0052144569 - 482900 0.0070221647 0.0022373664 0.0056387275 - 483000 0.0033126406 0.0025439634 0.0041485237 - 483100 0.0044123706 0.0024516572 0.0045888993 - 483200 0.0044650094 0.0027014088 0.0048641477 - 483300 0.0041912031 0.0027619887 0.0047921027 - 483400 0.0055412704 0.0023540897 0.0050381425 - 483500 0.005532407 0.0026335591 0.0053133187 - 483600 0.0051762304 0.0029242918 0.0054315284 - 483700 0.0073514053 0.0023795961 0.005940433 - 483800 0.0058492076 0.0025639254 0.0053971353 - 483900 0.0044365157 0.0027681927 0.00491713 - 484000 0.0045005475 0.0030809363 0.005260889 - 484100 0.0069803061 0.0031873174 0.0065684032 - 484200 0.0069927654 0.0029874716 0.0063745923 - 484300 0.0052848507 0.0030180195 0.0055778691 - 484400 0.004411049 0.0028691039 0.0050057058 - 484500 0.0039799474 0.002893732 0.004821519 - 484600 0.0062447324 0.0023519146 0.0053767068 - 484700 0.0054977304 0.0020609726 0.0047239358 - 484800 0.0058587631 0.0018428905 0.0046807289 - 484900 0.0070459057 0.0018226241 0.0052354847 - 485000 0.0048149848 0.0024355553 0.0047678135 - 485100 0.0061339948 0.0026951561 0.0056663098 - 485200 0.0043157218 0.0022598951 0.0043503228 - 485300 0.0044903653 0.0024462859 0.0046213066 - 485400 0.0050274164 0.0023231168 0.0047582716 - 485500 0.0048916211 0.0023777703 0.0047471493 - 485600 0.0062398267 0.002534779 0.0055571951 - 485700 0.005392126 0.002458414 0.005070225 - 485800 0.0063614205 0.0025063479 0.0055876609 - 485900 0.0040874542 0.0025754494 0.00455531 - 486000 0.0060414141 0.0023754748 0.0053017848 - 486100 0.0048688957 0.0026864735 0.0050448449 - 486200 0.0059322501 0.0024450211 0.0053184548 - 486300 0.0043875702 0.0023348433 0.0044600726 - 486400 0.006080852 0.002134399 0.0050798117 - 486500 0.0044129482 0.0019195061 0.0040570279 - 486600 0.0063001527 0.0017271637 0.0047788001 - 486700 0.0046375809 0.0017990925 0.0040454208 - 486800 0.0048029231 0.0022103281 0.004536744 - 486900 0.0057973393 0.0025631719 0.0053712581 - 487000 0.0044288513 0.0028839957 0.0050292206 - 487100 0.0067442949 0.0029683185 0.0062350863 - 487200 0.005202376 0.0028901392 0.0054100401 - 487300 0.0055701185 0.0027489451 0.0054469713 - 487400 0.0056681665 0.0025479244 0.0052934426 - 487500 0.0056600707 0.0025386846 0.0052802814 - 487600 0.0053033218 0.0025799102 0.0051487068 - 487700 0.0038349214 0.0029554471 0.0048129872 - 487800 0.0034292781 0.0027318193 0.0043928759 - 487900 0.00460703 0.0025018369 0.004733367 - 488000 0.0069637079 0.0023022664 0.0056753124 - 488100 0.0037580135 0.0027982885 0.0046185763 - 488200 0.0056614055 0.0028352006 0.0055774439 - 488300 0.006494712 0.0025897247 0.0057356008 - 488400 0.0054954672 0.0026168543 0.0052787212 - 488500 0.0055350169 0.0028524087 0.0055334326 - 488600 0.0050322799 0.0030931201 0.0055306306 - 488700 0.0043574902 0.0031448059 0.0052554653 - 488800 0.0051975433 0.0030613534 0.0055789134 - 488900 0.0058839388 0.0026396949 0.0054897277 - 489000 0.0064419514 0.0021984565 0.0053187768 - 489100 0.0046967809 0.0020257794 0.0043007827 - 489200 0.0054692971 0.0023685484 0.0050177392 - 489300 0.00504637 0.0028794102 0.0053237457 - 489400 0.0044891299 0.003181306 0.0053557283 - 489500 0.0046455323 0.0031940408 0.0054442205 - 489600 0.0065218709 0.0025912034 0.0057502346 - 489700 0.0051733115 0.0026077014 0.0051135241 - 489800 0.0035644192 0.0025546123 0.0042811278 - 489900 0.0039191628 0.0025915928 0.0044899373 - 490000 0.0041132212 0.0028041708 0.0047965123 - 490100 0.005582137 0.0028368998 0.0055407474 - 490200 0.0048301335 0.0027130162 0.0050526121 - 490300 0.0056799428 0.0026787901 0.0054300124 - 490400 0.0082013455 0.0027427555 0.0067152822 - 490500 0.0056668702 0.0026429724 0.0053878626 - 490600 0.0057139562 0.0024760455 0.0052437431 - 490700 0.0048259677 0.0022843124 0.0046218905 - 490800 0.0049652057 0.0019312249 0.0043362464 - 490900 0.0031312324 0.0018946916 0.0034113822 - 491000 0.0047512333 0.0020526531 0.0043540317 - 491100 0.0051339485 0.0025687189 0.0050554752 - 491200 0.0049289692 0.00299753 0.0053849995 - 491300 0.0078189444 0.002631964 0.0064192652 - 491400 0.0048727403 0.002678362 0.0050385956 - 491500 0.0051279573 0.0024615657 0.0049454201 - 491600 0.0044386014 0.0020626901 0.0042126376 - 491700 0.0047699638 0.0024301759 0.0047406271 - 491800 0.006072844 0.0028367656 0.0057782995 - 491900 0.0060515169 0.0033275671 0.0062587706 - 492000 0.0042752675 0.0036966936 0.0057675263 - 492100 0.0046502036 0.0032003561 0.0054527985 - 492200 0.0043685985 0.0027508513 0.0048668912 - 492300 0.0060963321 0.0027585912 0.0057115021 - 492400 0.0046449449 0.0024397023 0.0046895976 - 492500 0.0037262744 0.0025491993 0.0043541135 - 492600 0.0060159311 0.0023798466 0.0052938132 - 492700 0.0065088358 0.0022733982 0.0054261155 - 492800 0.0051664449 0.0023954969 0.0048979936 - 492900 0.005992178 0.0021306929 0.0050331541 - 493000 0.0038677015 0.0022277328 0.0041011507 - 493100 0.0041956215 0.0025727383 0.0046049924 - 493200 0.0070230245 0.0023435232 0.0057453007 - 493300 0.0054371153 0.0021532253 0.004786828 - 493400 0.0043550985 0.0022763165 0.0043858173 - 493500 0.0049367902 0.0022698571 0.0046611149 - 493600 0.0037335368 0.0025787193 0.0043871512 - 493700 0.0054326046 0.0027819426 0.0054133605 - 493800 0.0053550772 0.0027033185 0.005297184 - 493900 0.0051164232 0.0026523102 0.0051305777 - 494000 0.0054370919 0.0029831151 0.0056167064 - 494100 0.0053694006 0.0030988999 0.0056997033 - 494200 0.0055338393 0.0030150907 0.0056955441 - 494300 0.0067353752 0.0029400985 0.0062025459 - 494400 0.0050803428 0.0031076738 0.0055684649 - 494500 0.00578682 0.0029392056 0.0057421965 - 494600 0.0057609042 0.0028929604 0.0056833984 - 494700 0.0045089385 0.0031176949 0.005301712 - 494800 0.0048663498 0.003228167 0.0055853052 - 494900 0.0052534245 0.0027495147 0.0052941422 - 495000 0.0077561 0.0026203896 0.0063772505 - 495100 0.0059820726 0.0036574487 0.0065550151 - 495200 0.0056909423 0.0039711075 0.0067276577 - 495300 0.0040527282 0.0033268043 0.0052898445 - 495400 0.0060957274 0.0030422517 0.0059948696 - 495500 0.0058034516 0.0028594082 0.0056704551 - 495600 0.0054701476 0.002743286 0.0053928888 - 495700 0.0047603497 0.0030076384 0.0053134328 - 495800 0.0050545047 0.0027340816 0.0051823573 - 495900 0.0058939397 0.0023361559 0.005191033 - 496000 0.0061110569 0.0030029718 0.005963015 - 496100 0.0058853412 0.0033621921 0.0062129042 - 496200 0.0067248343 0.0028319212 0.0060892629 - 496300 0.0066981065 0.002770805 0.0060152004 - 496400 0.0064863025 0.0031447331 0.0062865359 - 496500 0.0061897639 0.003199935 0.0061981019 - 496600 0.0051472149 0.0028675541 0.0053607363 - 496700 0.006382336 0.0025626756 0.0056541196 - 496800 0.006204864 0.0027518023 0.0057572833 - 496900 0.0049929385 0.0025816073 0.0050000619 - 497000 0.0044177274 0.0020356099 0.0041754466 - 497100 0.0036613656 0.0019894594 0.0037629334 - 497200 0.0070057139 0.0022869125 0.0056803052 - 497300 0.0061026336 0.0028285277 0.0057844908 - 497400 0.0057677369 0.0033667937 0.0061605412 - 497500 0.006522736 0.0031774545 0.0063369047 - 497600 0.005729313 0.0023769947 0.0051521307 - 497700 0.0056048631 0.0022468609 0.0049617164 - 497800 0.0039242035 0.0024076038 0.0043083899 - 497900 0.005087084 0.0024470648 0.0049111211 - 498000 0.0046375807 0.0027283772 0.0049747053 - 498100 0.0042674298 0.0025705554 0.0046375917 - 498200 0.0060898466 0.0022674248 0.0052171943 - 498300 0.0071775611 0.0027975309 0.006274162 - 498400 0.0041129562 0.0029626355 0.0049548487 - 498500 0.0051784607 0.0031997129 0.0057080298 - 498600 0.0044023236 0.0028993885 0.005031764 - 498700 0.0047330695 0.0025855405 0.0048781211 - 498800 0.0065985036 0.0018670715 0.0050632217 - 498900 0.0059491851 0.0017070008 0.0045886374 - 499000 0.0070807184 0.0015857537 0.0050154767 - 499100 0.006738136 0.0016622015 0.0049259862 - 499200 0.0059721871 0.0021384546 0.0050312327 - 499300 0.0051852902 0.0020369556 0.0045485806 - 499400 0.0046114789 0.001874611 0.0041082961 - 499500 0.00443148 0.001637688 0.0037841861 - 499600 0.0042865988 0.0018736111 0.0039499324 - 499700 0.005312305 0.0018473267 0.0044204745 - 499800 0.0049067888 0.0017631609 0.0041398867 - 499900 0.0043170056 0.001667882 0.0037589316 - 500000 0.0032993183 0.001608823 0.0032069303 - 500100 0.0042357324 0.0016772916 0.0037289745 - 500200 0.0064164971 0.0016756118 0.0047836025 - 500300 0.0058427162 0.0018270082 0.0046570738 - 500400 0.0049681423 0.00214396 0.004550404 - 500500 0.0053330078 0.0017446589 0.0043278345 - 500600 0.0048810588 0.0018252984 0.0041895613 - 500700 0.0055179408 0.0019875371 0.0046602896 - 500800 0.0063163315 0.0022790737 0.0053385468 - 500900 0.0043383108 0.0020630132 0.0041643825 - 501000 0.0067816853 0.0020876045 0.0053724833 - 501100 0.0043433248 0.0026634376 0.0047672356 - 501200 0.004296162 0.0027911033 0.0048720568 - 501300 0.0051173998 0.0021797378 0.0046584783 - 501400 0.0054966542 0.0020433582 0.0047058001 - 501500 0.0059269688 0.0018618921 0.0047327676 - 501600 0.005592786 0.0022180779 0.0049270836 - 501700 0.0053995068 0.0021221823 0.0047375684 - 501800 0.0051127126 0.0020865538 0.004563024 - 501900 0.0048960788 0.0020942046 0.0044657428 - 502000 0.0038682703 0.00259403 0.0044677234 - 502100 0.0043085251 0.002859221 0.0049461628 - 502200 0.0053673749 0.0025324398 0.005132262 - 502300 0.0072176813 0.002002544 0.0054986084 - 502400 0.0045092757 0.0022813867 0.0044655671 - 502500 0.0052097042 0.0023251606 0.004848611 - 502600 0.0049740612 0.0022295801 0.0046388909 - 502700 0.0057863047 0.0022169832 0.0050197246 - 502800 0.006009963 0.0019928939 0.0049039698 - 502900 0.0048387329 0.0023641772 0.0047079384 - 503000 0.0061073403 0.0028606656 0.0058189086 - 503100 0.0040274401 0.0028389299 0.0047897212 - 503200 0.0056944715 0.0026483614 0.005406621 - 503300 0.0057543444 0.0024669461 0.0052542067 - 503400 0.0052244853 0.0022540072 0.0047846173 - 503500 0.0059037997 0.0021992031 0.0050588561 - 503600 0.0060853152 0.0023168731 0.0052644477 - 503700 0.0067237791 0.0020783954 0.0053352259 - 503800 0.0064061539 0.0017827275 0.0048857083 - 503900 0.0042079696 0.0023148491 0.0043530843 - 504000 0.0060932822 0.002303571 0.0052550046 - 504100 0.0037727513 0.002495298 0.0043227244 - 504200 0.0055797927 0.0023454399 0.005048152 - 504300 0.0055118653 0.0020767092 0.0047465189 - 504400 0.0043522126 0.0018645119 0.0039726149 - 504500 0.0047224479 0.0020586461 0.0043460818 - 504600 0.0057028805 0.0021327978 0.0048951306 - 504700 0.006450019 0.0019334898 0.0050577178 - 504800 0.0052435035 0.0018945815 0.0044344035 - 504900 0.0056019153 0.0019536788 0.0046671065 - 505000 0.0048879769 0.0018372793 0.0042048932 - 505100 0.0040663519 0.0014307809 0.0034004201 - 505200 0.0042107345 0.0015649617 0.0036045362 - 505300 0.0045448375 0.0013343663 0.003535772 - 505400 0.0056575824 0.0013886024 0.0041289939 - 505500 0.0070898906 0.0016637565 0.0050979223 - 505600 0.0040480823 0.0023299536 0.0042907435 - 505700 0.0042093282 0.0024478238 0.0044867172 - 505800 0.0054540222 0.0020082786 0.0046500706 - 505900 0.004444581 0.0022319756 0.0043848195 - 506000 0.0050779026 0.00239419 0.0048537991 - 506100 0.0055617835 0.0023060387 0.0050000276 - 506200 0.0049453096 0.0017253624 0.0041207468 - 506300 0.0046165318 0.0013407189 0.0035768515 - 506400 0.0046173862 0.0018982109 0.0041347574 - 506500 0.0051447666 0.0021955252 0.0046875215 - 506600 0.0038350621 0.0021778985 0.0040355067 - 506700 0.0053889377 0.0022283549 0.0048386216 - 506800 0.0057043432 0.0021142348 0.004877276 - 506900 0.0041008627 0.0021726822 0.0041590376 - 507000 0.0061094419 0.002116832 0.0050760929 - 507100 0.0058585442 0.0024369803 0.0052747127 - 507200 0.0048739543 0.0024024533 0.004763275 - 507300 0.0047561266 0.002519304 0.0048230528 - 507400 0.0064345371 0.0022637258 0.0053804547 - 507500 0.0059195023 0.0025663938 0.0054336528 - 507600 0.0049725061 0.0024661253 0.0048746829 - 507700 0.005032419 0.002013263 0.004450841 - 507800 0.0051551019 0.0018199718 0.0043169743 - 507900 0.0033728938 0.0022862555 0.0039200009 - 508000 0.0050433686 0.0025749666 0.0050178482 - 508100 0.0035832264 0.0024158857 0.004151511 - 508200 0.0074599094 0.0020443429 0.0056577365 - 508300 0.0059261755 0.002683676 0.0055541673 - 508400 0.0059608876 0.0029674757 0.0058547806 - 508500 0.0043143783 0.0029347162 0.0050244932 - 508600 0.0057436375 0.0028869161 0.0056689906 - 508700 0.005534383 0.0024124568 0.0050931736 - 508800 0.0046972026 0.0023144925 0.0045897 - 508900 0.005517408 0.0026294877 0.0053019822 - 509000 0.0057774567 0.0028002115 0.0055986671 - 509100 0.005319679 0.0026796271 0.0052563466 - 509200 0.0050245704 0.0028189534 0.0052527297 - 509300 0.0055063743 0.0030860361 0.0057531861 - 509400 0.0051820755 0.0035204776 0.0060305454 - 509500 0.0056591015 0.003207115 0.0059482423 - 509600 0.0041583931 0.0029289109 0.0049431326 - 509700 0.0051650282 0.0026571604 0.005158971 - 509800 0.0058293214 0.0026431534 0.005466731 - 509900 0.0048557482 0.0019842825 0.0043362856 - 510000 0.0051225107 0.002272965 0.0047541812 - 510100 0.0050807332 0.0023745949 0.004835575 - 510200 0.0051961337 0.0026978518 0.005214729 - 510300 0.0044597975 0.0030027027 0.0051629171 - 510400 0.0040932708 0.0029733033 0.0049559813 - 510500 0.0049138672 0.0031562323 0.0055363868 - 510600 0.0069482384 0.0032743482 0.0066399011 - 510700 0.0047196643 0.0033558816 0.005641969 - 510800 0.0051683347 0.0034435438 0.0059469559 - 510900 0.0046348361 0.0033150483 0.005560047 - 511000 0.0062301549 0.0028742535 0.0058919848 - 511100 0.0050414037 0.0025331935 0.0049751234 - 511200 0.0051946735 0.0024103631 0.0049265331 - 511300 0.0047184754 0.0026058351 0.0048913466 - 511400 0.005450099 0.0025748181 0.0052147098 - 511500 0.0045578619 0.001776277 0.0039839914 - 511600 0.0049702742 0.001599674 0.0040071506 - 511700 0.0050248182 0.00214128 0.0045751763 - 511800 0.0051323377 0.0025174666 0.0050034427 - 511900 0.0047391173 0.002103458 0.004398968 - 512000 0.0044518967 0.0017788708 0.0039352582 - 512100 0.0049511977 0.0019213591 0.0043195955 - 512200 0.003799335 0.0025925316 0.0044328344 - 512300 0.0044135984 0.003154165 0.0052920017 - 512400 0.0041401946 0.0030853768 0.0050907836 - 512500 0.0050183023 0.00283652 0.0052672601 - 512600 0.0042379312 0.0024487124 0.0045014603 - 512700 0.0045547711 0.0020163616 0.0042225789 - 512800 0.0051106968 0.002003509 0.0044790027 - 512900 0.0043370996 0.0020885269 0.0041893095 - 513000 0.0041131414 0.0023995112 0.0043918141 - 513100 0.0053108806 0.0023586101 0.0049310679 - 513200 0.0050290451 0.0020706313 0.004506575 - 513300 0.004762348 0.0019348467 0.004241609 - 513400 0.0069595561 0.0017505745 0.0051216095 - 513500 0.0046538615 0.0021654951 0.0044197092 - 513600 0.0043824693 0.0026427366 0.0047654951 - 513700 0.0049757312 0.0021447029 0.0045548227 - 513800 0.0054334602 0.0026033851 0.0052352174 - 513900 0.0062849501 0.0026074037 0.0056516763 - 514000 0.0069508307 0.0025719548 0.0059387634 - 514100 0.0065189194 0.0030267894 0.006184391 - 514200 0.0050982116 0.0034218581 0.0058913043 - 514300 0.0049487333 0.0031817942 0.005578837 - 514400 0.0044062001 0.0027490446 0.0048832978 - 514500 0.0064269289 0.0024542652 0.0055673089 - 514600 0.0050822234 0.0027032718 0.0051649737 - 514700 0.004094303 0.0025875443 0.0045707223 - 514800 0.0061221175 0.002139394 0.0051047946 - 514900 0.0072661036 0.0020340325 0.0055535514 - 515000 0.0058090075 0.0024749012 0.0052886392 - 515100 0.0054032506 0.002551522 0.0051687215 - 515200 0.0052785575 0.0025564872 0.0051132885 - 515300 0.0047983842 0.0027508199 0.0050750372 - 515400 0.0042785383 0.0025338003 0.0046062173 - 515500 0.0050673841 0.0019894325 0.0044439467 - 515600 0.0044860431 0.002081796 0.0042547231 - 515700 0.003250059 0.0021068181 0.0036810654 - 515800 0.0059909491 0.0021341952 0.0050360612 - 515900 0.0046746796 0.0017890336 0.0040533315 - 516000 0.0055209368 0.0020708156 0.0047450194 - 516100 0.0065994269 0.0022743588 0.0054709562 - 516200 0.0074097058 0.0020125602 0.0056016364 - 516300 0.0063357708 0.002287745 0.005356634 - 516400 0.0048568167 0.0025736188 0.0049261394 - 516500 0.0064312669 0.00201034 0.0051254849 - 516600 0.0040751731 0.0020361769 0.0040100888 - 516700 0.0048689178 0.0020394246 0.0043978067 - 516800 0.0049192351 0.002433234 0.0048159885 - 516900 0.0051745795 0.0027563148 0.0052627518 - 517000 0.0072987087 0.0028593399 0.0063946519 - 517100 0.0045933572 0.0030878862 0.0053127936 - 517200 0.005575091 0.0027067367 0.0054071714 - 517300 0.0055050529 0.0021070531 0.0047735631 - 517400 0.0056718869 0.0017623465 0.0045096667 - 517500 0.0038031478 0.0018628454 0.0037049951 - 517600 0.0036833675 0.0019709456 0.0037550767 - 517700 0.0061270973 0.0020203165 0.0049881292 - 517800 0.0060546287 0.0024413626 0.0053740733 - 517900 0.0040255476 0.0028285136 0.0047783882 - 518000 0.0050631726 0.002699403 0.0051518773 - 518100 0.0054577569 0.0026273923 0.0052709933 - 518200 0.0036984147 0.0025929924 0.004384412 - 518300 0.0039632636 0.0021709854 0.0040906912 - 518400 0.0055198472 0.0021706724 0.0048443484 - 518500 0.0035248928 0.0024582597 0.0041656296 - 518600 0.0059881825 0.0023383408 0.0052388667 - 518700 0.0065783757 0.0023440884 0.0055304892 - 518800 0.0043088939 0.0026734737 0.0047605942 - 518900 0.0047910759 0.0023773425 0.0046980198 - 519000 0.006128246 0.0024030049 0.005371374 - 519100 0.0052525367 0.0029440895 0.0054882869 - 519200 0.0046234724 0.0029171888 0.0051566833 - 519300 0.0050081952 0.0029163714 0.005342216 - 519400 0.0063769364 0.0027632127 0.0058520413 - 519500 0.0061558435 0.0023306795 0.0053124162 - 519600 0.0064683508 0.0026070135 0.0057401209 - 519700 0.0053973891 0.0027328971 0.0053472575 - 519800 0.0041931304 0.0028241892 0.0048552367 - 519900 0.0052737178 0.0023597445 0.0049142016 - 520000 0.0043678529 0.0021867615 0.0043024402 - 520100 0.0037919305 0.0023121052 0.0041488216 - 520200 0.0060554262 0.0023096823 0.0052427793 - 520300 0.0042703557 0.0024533441 0.0045217976 - 520400 0.0051831553 0.0026934706 0.0052040614 - 520500 0.0040682467 0.0025176755 0.0044882325 - 520600 0.0056862538 0.002228791 0.0049830701 - 520700 0.0058732667 0.0022347786 0.0050796422 - 520800 0.0055104174 0.002255991 0.0049250994 - 520900 0.0027963696 0.0022621147 0.0036166062 - 521000 0.0061852593 0.0020585009 0.0050544858 - 521100 0.0053609789 0.0023966648 0.0049933889 - 521200 0.0050655709 0.0025323242 0.0049859601 - 521300 0.0048224285 0.0025241414 0.0048600052 - 521400 0.0045896641 0.0027450743 0.0049681929 - 521500 0.0043301314 0.0028501055 0.0049475129 - 521600 0.0056775565 0.0027695238 0.0055195903 - 521700 0.0053361086 0.0025308467 0.0051155243 - 521800 0.0047211673 0.0027485948 0.0050354103 - 521900 0.0049204998 0.0027896047 0.0051729718 - 522000 0.0035939448 0.00267229 0.004413107 - 522100 0.0047248755 0.0027422123 0.0050308238 - 522200 0.0058240433 0.0023953096 0.0052163306 - 522300 0.0052382428 0.002252974 0.0047902478 - 522400 0.0045279111 0.0019238053 0.0041170122 - 522500 0.0046539876 0.0018687635 0.0041230387 - 522600 0.0050176079 0.0020362121 0.0044666159 - 522700 0.0039190908 0.002052654 0.0039509636 - 522800 0.0037650101 0.0024136507 0.0042373275 - 522900 0.0052380532 0.0023970329 0.0049342149 - 523000 0.0052934291 0.0022348659 0.0047988706 - 523100 0.0044140673 0.0026742949 0.0048123588 - 523200 0.0039445915 0.0027364646 0.0046471261 - 523300 0.0058018272 0.0030182347 0.0058284948 - 523400 0.0047642957 0.0025753349 0.0048830407 - 523500 0.0050962305 0.0026421463 0.0051106329 - 523600 0.0042194131 0.0024307968 0.004474575 - 523700 0.0047678774 0.0027618331 0.0050712737 - 523800 0.0046844303 0.0026263306 0.0048953516 - 523900 0.0046023044 0.0024740574 0.0047032986 - 524000 0.0041949733 0.0028498556 0.0048817958 - 524100 0.0048278994 0.0023345719 0.0046730857 - 524200 0.0050404078 0.0028544728 0.0052959204 - 524300 0.0064614116 0.0030249036 0.0061546499 - 524400 0.0046792492 0.0031111465 0.0053776578 - 524500 0.0061400821 0.0021432673 0.0051173695 - 524600 0.0057563996 0.0020390118 0.0048272679 - 524700 0.0041016163 0.0025689606 0.004555681 - 524800 0.0069216083 0.0024188171 0.0057714711 - 524900 0.0044262017 0.0028725975 0.0050165389 - 525000 0.005270869 0.00290703 0.0054601072 - 525100 0.0050602989 0.0026134293 0.0050645116 - 525200 0.0055269238 0.002518869 0.0051959727 - 525300 0.0046077825 0.0026939195 0.0049258142 - 525400 0.0055437744 0.0027602664 0.0054455321 - 525500 0.0041887532 0.0029035383 0.0049324656 - 525600 0.0057813788 0.0027885095 0.0055888649 - 525700 0.0056689891 0.0027608076 0.0055067242 - 525800 0.0050156214 0.0029108956 0.0053403372 - 525900 0.0055844563 0.0030354489 0.0057404199 - 526000 0.0061368784 0.0031595708 0.0061321213 - 526100 0.0047292281 0.0028878349 0.0051785548 - 526200 0.0058960157 0.0028097507 0.0056656333 - 526300 0.0045894403 0.0031987078 0.005421718 - 526400 0.0045465856 0.0031275745 0.0053298269 - 526500 0.0055590305 0.0030423327 0.0057349881 - 526600 0.006441985 0.0029351996 0.0060555361 - 526700 0.0060417134 0.0032939947 0.0062204496 - 526800 0.0048378535 0.0029341458 0.0052774811 - 526900 0.005632075 0.0025309015 0.0052589378 - 527000 0.0054437634 0.0021829688 0.0048197917 - 527100 0.0044776113 0.0025882043 0.0047570473 - 527200 0.0056378241 0.002616825 0.005347646 - 527300 0.004737756 0.0022615187 0.0045563692 - 527400 0.0048228289 0.00212585 0.0044619077 - 527500 0.0037632344 0.0023241302 0.0041469469 - 527600 0.0048313496 0.002447901 0.004788086 - 527700 0.0043116834 0.0024711283 0.0045596 - 527800 0.0043658095 0.0024952566 0.0046099456 - 527900 0.0035715458 0.0024969292 0.0042268967 - 528000 0.0047002505 0.0022032522 0.004479936 - 528100 0.0051051873 0.0023209632 0.0047937883 - 528200 0.0048817825 0.0023785122 0.0047431256 - 528300 0.0040758726 0.002595663 0.0045699138 - 528400 0.0052915039 0.0031980005 0.0057610727 - 528500 0.0067582652 0.0025388476 0.0058123822 - 528600 0.005876625 0.0022449191 0.0050914093 - 528700 0.003192079 0.0027509498 0.0042971131 - 528800 0.0062133903 0.0027307251 0.0057403361 - 528900 0.0066980458 0.0023929775 0.0056373435 - 529000 0.0054134206 0.0026524197 0.0052745454 - 529100 0.0042328582 0.0026033952 0.0046536859 - 529200 0.005390425 0.0027496564 0.0053606436 - 529300 0.005661039 0.0030432251 0.0057852909 - 529400 0.0044075278 0.0036563439 0.0057912402 - 529500 0.0060970279 0.0033904348 0.0063436827 - 529600 0.0059589195 0.0023417613 0.005228113 - 529700 0.00537436 0.0023981647 0.0050013703 - 529800 0.0041100465 0.0027147159 0.0047055196 - 529900 0.0043527516 0.0029683936 0.0050767577 - 530000 0.0034469239 0.003247984 0.0049175877 - 530100 0.0060432222 0.0027891952 0.005716381 - 530200 0.0079598154 0.002101132 0.0059566676 - 530300 0.005617787 0.0025370682 0.0052581838 - 530400 0.0059327995 0.0029956944 0.0058693941 - 530500 0.0061360322 0.0024922302 0.0054643708 - 530600 0.0055974427 0.0024131506 0.0051244119 - 530700 0.0050820876 0.0023386907 0.0048003268 - 530800 0.0043898693 0.0025794687 0.0047058117 - 530900 0.0058921107 0.0020376901 0.0048916812 - 531000 0.0041646959 0.0022086635 0.0042259381 - 531100 0.0063311425 0.0023063582 0.0053730054 - 531200 0.0045421264 0.0024370267 0.0046371192 - 531300 0.0052786792 0.0026721308 0.005228991 - 531400 0.0045737654 0.0028191735 0.0050345911 - 531500 0.0054695654 0.0027645049 0.0054138257 - 531600 0.0047359359 0.0027416939 0.0050356628 - 531700 0.0056099499 0.0029627744 0.0056800938 - 531800 0.0053850423 0.0029220142 0.0055303941 - 531900 0.0045832073 0.0025194258 0.0047394168 - 532000 0.0048063271 0.0023408247 0.0046688894 - 532100 0.0051526845 0.002074624 0.0045704555 - 532200 0.0053657602 0.0019700955 0.0045691356 - 532300 0.0059173056 0.0019633779 0.0048295729 - 532400 0.0051278744 0.0019910645 0.0044748787 - 532500 0.0045224823 0.0024439173 0.0046344947 - 532600 0.0044857315 0.0027554372 0.0049282134 - 532700 0.0049487519 0.0025345837 0.0049316354 - 532800 0.0052825167 0.0023857729 0.004944492 - 532900 0.0047027298 0.0024816738 0.0047595586 - 533000 0.0062123182 0.0026632936 0.0056723852 - 533100 0.004973404 0.0030723643 0.0054813568 - 533200 0.0039915497 0.003372246 0.0053056528 - 533300 0.0044911181 0.0028831997 0.005058585 - 533400 0.0053964049 0.0029285286 0.0055424122 - 533500 0.0050886418 0.0025140144 0.0049788253 - 533600 0.0041492704 0.0026412702 0.0046510731 - 533700 0.0054136313 0.0024986979 0.0051209256 - 533800 0.00619048 0.0022164931 0.0052150068 - 533900 0.0073377797 0.0022046517 0.0057588888 - 534000 0.0040091409 0.0024189944 0.0043609221 - 534100 0.0067725197 0.0027079106 0.0059883499 - 534200 0.003573658 0.0024979908 0.0042289814 - 534300 0.0068819459 0.0020445816 0.0053780242 - 534400 0.0067056665 0.002220251 0.0054683082 - 534500 0.0061318764 0.0026200407 0.0055901683 - 534600 0.0065528202 0.0029693524 0.0061433747 - 534700 0.004640391 0.003209905 0.0054575944 - 534800 0.005574734 0.0024278335 0.0051280953 - 534900 0.0059694192 0.0024344037 0.0053258411 - 535000 0.0037700408 0.0023400032 0.0041661167 - 535100 0.0045623732 0.0022638721 0.0044737716 - 535200 0.0039927421 0.002451231 0.0043852155 - 535300 0.0060670048 0.0024403036 0.005379009 - 535400 0.0048485349 0.002337623 0.0046861321 - 535500 0.0057886916 0.0022999702 0.0051038677 - 535600 0.0055892771 0.0023917824 0.0050990885 - 535700 0.0067239878 0.0026262541 0.0058831857 - 535800 0.0064324593 0.0025380457 0.0056537682 - 535900 0.0043815235 0.0029904056 0.0051127061 - 536000 0.0051528263 0.0027175001 0.0052134003 - 536100 0.0053703445 0.0028556705 0.0054569312 - 536200 0.0056732611 0.0029379122 0.0056858981 - 536300 0.0072480956 0.0025030799 0.0060138762 - 536400 0.004849866 0.0027211814 0.0050703352 - 536500 0.0049455511 0.002674492 0.0050699933 - 536600 0.0043236403 0.002722026 0.0048162893 - 536700 0.0048792434 0.0032566543 0.0056200378 - 536800 0.0040785002 0.0034062068 0.0053817303 - 536900 0.0042769548 0.0030672294 0.0051388793 - 537000 0.0045045904 0.003072091 0.0052540019 - 537100 0.0054746796 0.0029187715 0.0055705695 - 537200 0.0048578342 0.0032657387 0.0056187522 - 537300 0.0042425648 0.0035328063 0.0055877986 - 537400 0.0052875365 0.0030021833 0.0055633338 - 537500 0.0050230528 0.0026416536 0.0050746948 - 537600 0.0055640674 0.002219872 0.0049149671 - 537700 0.0041085805 0.0025016353 0.004491729 - 537800 0.0049245499 0.0023915509 0.0047768797 - 537900 0.0047427385 0.002450941 0.0047482049 - 538000 0.0053619141 0.0025597995 0.0051569766 - 538100 0.0052720346 0.0027714816 0.0053251234 - 538200 0.0058818627 0.0029899107 0.005838938 - 538300 0.0038771199 0.0028823677 0.0047603476 - 538400 0.0048174302 0.0026088135 0.0049422562 - 538500 0.0050546274 0.0027221434 0.0051704785 - 538600 0.006485699 0.0021895159 0.0053310264 - 538700 0.0054858447 0.0017149738 0.0043721799 - 538800 0.0058693539 0.0018093993 0.0046523676 - 538900 0.0058723108 0.002409977 0.0052543776 - 539000 0.0055144372 0.0025692191 0.0052402746 - 539100 0.005679146 0.0023069777 0.005057814 - 539200 0.0046027402 0.0025965173 0.0048259696 - 539300 0.0044752163 0.0027180412 0.0048857241 - 539400 0.005018521 0.0023036925 0.0047345386 - 539500 0.0052616517 0.0022767507 0.0048253632 - 539600 0.0057967175 0.0029869117 0.0057946967 - 539700 0.0065233118 0.003283493 0.0064432222 - 539800 0.0057916386 0.0027382902 0.0055436152 - 539900 0.0062385876 0.002839082 0.0058608979 - 540000 0.0042398106 0.0025290867 0.0045827449 - 540100 0.0051541769 0.0021387814 0.0046353359 - 540200 0.0041572182 0.0021274714 0.0041411239 - 540300 0.0053917702 0.0024025154 0.0050141541 - 540400 0.0040857752 0.002021617 0.0040006644 - 540500 0.0047667756 0.0015378008 0.0038467077 - 540600 0.0042663822 0.0015484675 0.0036149964 - 540700 0.0034663952 0.0016797444 0.0033587796 - 540800 0.0034561166 0.0016935162 0.0033675726 - 540900 0.0047643628 0.0019110343 0.0042187726 - 541000 0.0050728441 0.0021718839 0.0046290427 - 541100 0.0042811193 0.0024130893 0.0044867565 - 541200 0.0048496487 0.0028563414 0.00520539 - 541300 0.004985339 0.0027095842 0.0051243577 - 541400 0.0047979341 0.0021403486 0.0044643479 - 541500 0.0070123367 0.0019429512 0.0053395518 - 541600 0.0050958651 0.0020924082 0.0045607179 - 541700 0.0062014117 0.0020082089 0.0050120177 - 541800 0.0062289094 0.0019066496 0.0049237776 - 541900 0.0055593914 0.0022653977 0.004958228 - 542000 0.0059408554 0.002100056 0.0049776578 - 542100 0.0053898641 0.0018001363 0.0044108517 - 542200 0.0036741772 0.0017627849 0.0035424645 - 542300 0.0059332111 0.0016099044 0.0044838036 - 542400 0.0058705079 0.0017543757 0.004597903 - 542500 0.0048775726 0.0021754716 0.0045380458 - 542600 0.0063241432 0.0021277654 0.0051910223 - 542700 0.0049632936 0.0022798731 0.0046839684 - 542800 0.0043557734 0.0026352364 0.0047450641 - 542900 0.0051525096 0.0025076471 0.005003394 - 543000 0.0050169822 0.002181007 0.0046111078 - 543100 0.0038258799 0.0020574173 0.0039105779 - 543200 0.0044343136 0.0018112041 0.0039590747 - 543300 0.0060264237 0.0020397335 0.0049587825 - 543400 0.0054954441 0.0018406213 0.0045024771 - 543500 0.0065228721 0.0016899228 0.004849439 - 543600 0.0055522906 0.0021284948 0.0048178855 - 543700 0.0045604336 0.002127948 0.004336908 - 543800 0.0053220422 0.0019926537 0.0045705179 - 543900 0.0061586744 0.0018268841 0.004809992 - 544000 0.0044582323 0.0021649635 0.0043244197 - 544100 0.0059623704 0.0022976386 0.0051856618 - 544200 0.0052569243 0.0025356408 0.0050819635 - 544300 0.0066984546 0.0022820027 0.0055265666 - 544400 0.0046757291 0.0024797539 0.0047445601 - 544500 0.0071127802 0.0022473474 0.0056926004 - 544600 0.0048893296 0.0023939896 0.0047622586 - 544700 0.0054489713 0.0028634881 0.0055028336 - 544800 0.0048259232 0.0027948668 0.0051324234 - 544900 0.005591875 0.0028614048 0.0055699692 - 545000 0.0063602716 0.0029283287 0.0060090852 - 545100 0.0053541423 0.0030610758 0.0056544885 - 545200 0.005367 0.0029470335 0.0055466742 - 545300 0.0055167935 0.0025523012 0.005224498 - 545400 0.0056994426 0.0031139026 0.0058745702 - 545500 0.0049711927 0.0031339213 0.0055418428 - 545600 0.0067128676 0.0025305074 0.0057820526 - 545700 0.0048757416 0.0028043836 0.005166071 - 545800 0.0045876251 0.0025670638 0.0047891947 - 545900 0.0052128519 0.0023168105 0.0048417856 - 546000 0.0034372463 0.0019928599 0.0036577761 - 546100 0.0056069829 0.0021675362 0.0048834185 - 546200 0.0040260483 0.0024720319 0.004422149 - 546300 0.0067950546 0.0025877631 0.0058791176 - 546400 0.003741411 0.0028748663 0.0046871123 - 546500 0.0040389871 0.0027047795 0.0046611639 - 546600 0.0053129735 0.0017738416 0.0043473131 - 546700 0.0056363023 0.0016238683 0.0043539522 - 546800 0.0046586255 0.0018591555 0.0041156772 - 546900 0.005669432 0.0015447616 0.0042908927 - 547000 0.0049574839 0.0021173359 0.0045186171 - 547100 0.005673349 0.0026730733 0.0054211018 - 547200 0.0056621797 0.0029414848 0.0056841031 - 547300 0.0055313387 0.0026521003 0.0053313425 - 547400 0.004791434 0.0028046766 0.0051255275 - 547500 0.0068359552 0.0027378389 0.0060490047 - 547600 0.0047248234 0.0032162033 0.0055047896 - 547700 0.0060239238 0.003290781 0.006208619 - 547800 0.0059068114 0.0033377135 0.0061988252 - 547900 0.0047055594 0.0034838926 0.0057631479 - 548000 0.0052767565 0.0030846194 0.0056405483 - 548100 0.0060383957 0.0028032946 0.0057281425 - 548200 0.0057868592 0.0025618723 0.0053648823 - 548300 0.0051638843 0.0027179067 0.0052191631 - 548400 0.0048326397 0.0028127524 0.0051535622 - 548500 0.0051525275 0.0024394769 0.0049352324 - 548600 0.0055293108 0.0029110203 0.0055892803 - 548700 0.0065319309 0.0029424413 0.0061063454 - 548800 0.0058464787 0.0027876145 0.0056195027 - 548900 0.0049390242 0.0025658396 0.0049581795 - 549000 0.0045890529 0.0025049634 0.0047277859 - 549100 0.0055569036 0.0019885545 0.0046801797 - 549200 0.0063905529 0.0019840373 0.0050794613 - 549300 0.0074596359 0.0025135672 0.0061268283 - 549400 0.0053570405 0.0026304188 0.0052252353 - 549500 0.0059581054 0.0029910037 0.005876961 - 549600 0.0059996128 0.0036784752 0.0065845376 - 549700 0.0065633644 0.0035407328 0.0067198624 - 549800 0.0052195882 0.0034048172 0.0059330552 - 549900 0.0057289021 0.0033532747 0.0061282116 - 550000 0.0053460939 0.0032148215 0.0058043357 - 550100 0.0040697751 0.002680677 0.0046519743 - 550200 0.0060442477 0.0023970957 0.0053247781 - 550300 0.0060730882 0.0023659472 0.0053075993 - 550400 0.005383023 0.0027085021 0.0053159039 - 550500 0.0049215108 0.0032069103 0.005590767 - 550600 0.0054517942 0.003274207 0.0059149198 - 550700 0.0085432901 0.0025334433 0.0066715995 - 550800 0.0030382077 0.0031491088 0.0046207407 - 550900 0.0043019362 0.003428497 0.0055122473 - 551000 0.0053686924 0.0023712412 0.0049717016 - 551100 0.0049034898 0.0024837107 0.0048588386 - 551200 0.0049745712 0.0028061251 0.005215683 - 551300 0.0048695427 0.0026473504 0.0050060351 - 551400 0.004751729 0.0024002048 0.0047018235 - 551500 0.0063330524 0.0020949948 0.005162567 - 551600 0.0048328391 0.0022455182 0.0045864246 - 551700 0.0042282344 0.0024611929 0.004509244 - 551800 0.006645412 0.0024614426 0.0056803141 - 551900 0.0058188745 0.0024700601 0.0052885775 - 552000 0.0052480831 0.0027316998 0.00527374 - 552100 0.0051608891 0.0030063072 0.0055061129 - 552200 0.0069377272 0.0031822037 0.0065426653 - 552300 0.0064965079 0.0027447965 0.0058915425 - 552400 0.005648899 0.0023861342 0.0051223196 - 552500 0.0051724006 0.002758018 0.0052633995 - 552600 0.0060622783 0.0028512502 0.0057876663 - 552700 0.0053510862 0.0023097979 0.0049017302 - 552800 0.0045094362 0.0019871691 0.0041714273 - 552900 0.0047247043 0.0020072662 0.0042957949 - 553000 0.0052287121 0.0020893712 0.0046220286 - 553100 0.0047968374 0.0017615888 0.0040850569 - 553200 0.0060118052 0.0021291319 0.0050411 - 553300 0.0051192929 0.0028327505 0.005312408 - 553400 0.0061220269 0.0026817943 0.0056471511 - 553500 0.0048618021 0.0031680587 0.0055229941 - 553600 0.0049757191 0.0029539105 0.0053640245 - 553700 0.006398669 0.0025574573 0.0056568126 - 553800 0.0063491838 0.0021123389 0.0051877248 - 553900 0.0035501791 0.0024234802 0.0041430982 - 554000 0.004650797 0.0023025755 0.0045553053 - 554100 0.005103852 0.0023614604 0.0048336387 - 554200 0.0045803999 0.0020769879 0.0042956191 - 554300 0.0037749249 0.0021486843 0.0039771635 - 554400 0.0058275668 0.002386078 0.0052088057 - 554500 0.0054455353 0.0025230376 0.0051607188 - 554600 0.0041495072 0.0024906535 0.004500571 - 554700 0.0047690675 0.0025086365 0.0048186536 - 554800 0.004730561 0.0022737814 0.0045651469 - 554900 0.0047985433 0.0019142053 0.0042384997 - 555000 0.0053987469 0.0018575384 0.0044725565 - 555100 0.0049494794 0.0022035226 0.0046009266 - 555200 0.0043292626 0.002689409 0.0047863955 - 555300 0.0070094524 0.0022869527 0.0056821562 - 555400 0.0056551207 0.0025896651 0.0053288642 - 555500 0.0041549163 0.0024945708 0.0045071083 - 555600 0.0041394489 0.0020455779 0.0040506234 - 555700 0.0060699101 0.0022911545 0.0052312672 - 555800 0.0056416981 0.0027009029 0.0054336005 - 555900 0.0051060529 0.0024774947 0.004950739 - 556000 0.0043632804 0.0025630387 0.0046765026 - 556100 0.0038305992 0.0026185893 0.0044740358 - 556200 0.0053018187 0.0023434465 0.004911515 - 556300 0.0054067067 0.0026663608 0.0052852344 - 556400 0.0038957743 0.0031066874 0.004993703 - 556500 0.0044632625 0.0033383817 0.0055002744 - 556600 0.0044782644 0.0036390777 0.005808237 - 556700 0.0059487086 0.0037976422 0.0066790479 - 556800 0.0044252004 0.0040839509 0.0062274073 - 556900 0.00567655 0.003422323 0.0061719019 - 557000 0.0059510629 0.0028719535 0.0057544996 - 557100 0.0053962821 0.0033076055 0.0059214297 - 557200 0.0044468039 0.0038077489 0.0059616695 - 557300 0.0053667309 0.0034013805 0.0060008908 - 557400 0.0042969709 0.0032749134 0.0053562587 - 557500 0.0057635181 0.0033549242 0.0061466283 - 557600 0.0045923005 0.0035420806 0.0057664762 - 557700 0.0050336654 0.0034669515 0.0059051332 - 557800 0.0045029422 0.0034417716 0.0056228843 - 557900 0.0049087297 0.0035286255 0.0059062915 - 558000 0.0071669009 0.0034222098 0.0068936774 - 558100 0.0044803667 0.0035720869 0.0057422645 - 558200 0.0048098196 0.0033264889 0.0056562452 - 558300 0.005665179 0.0029665022 0.0057105733 - 558400 0.0050084658 0.0028889195 0.0053148951 - 558500 0.0049637486 0.0022276252 0.0046319409 - 558600 0.0047102319 0.0018273654 0.004108884 - 558700 0.0052060921 0.0022405643 0.0047622651 - 558800 0.004256262 0.0024815709 0.0045431978 - 558900 0.0048328412 0.0027288284 0.0050697359 - 559000 0.004950576 0.0034809715 0.0058789068 - 559100 0.0046400131 0.0028063872 0.0050538936 - 559200 0.0062002762 0.0025458413 0.0055491001 - 559300 0.0053867446 0.0025883249 0.0051975293 - 559400 0.005097148 0.0023479295 0.0048168606 - 559500 0.0041573112 0.0022932205 0.0043069181 - 559600 0.0058009466 0.0025664433 0.0053762768 - 559700 0.0045778723 0.0029491909 0.0051665978 - 559800 0.0054819145 0.0028927039 0.0055480062 - 559900 0.0063432834 0.0028790588 0.0059515867 - 560000 0.0052693025 0.0031518026 0.005704121 - 560100 0.0047670539 0.0027430314 0.0050520731 - 560200 0.0059506311 0.0026132512 0.0054955881 - 560300 0.0044793549 0.002365114 0.0045348016 - 560400 0.0043856086 0.0027140097 0.0048382889 - 560500 0.0078566419 0.0019981387 0.0058036996 - 560600 0.0053404982 0.0019517182 0.004538522 - 560700 0.0043392268 0.0022451393 0.0043469522 - 560800 0.0042384263 0.0023081762 0.0043611639 - 560900 0.0049598431 0.0023038774 0.0047063014 - 561000 0.0058709185 0.0022256569 0.0050693831 - 561100 0.0056821077 0.0022213306 0.0049736015 - 561200 0.0056826907 0.0023658244 0.0051183777 - 561300 0.0042262345 0.0023014833 0.0043485656 - 561400 0.0053049356 0.0029730917 0.0055426699 - 561500 0.0055826907 0.0030928568 0.0057969726 - 561600 0.0053138105 0.0030017266 0.0055756035 - 561700 0.0052442943 0.0029462163 0.0054864213 - 561800 0.0046041163 0.0025334727 0.0047635916 - 561900 0.0045386072 0.0023110773 0.0045094652 - 562000 0.0041405604 0.002381026 0.0043866099 - 562100 0.0046860868 0.0023243365 0.0045941598 - 562200 0.0029126828 0.002627475 0.0040383058 - 562300 0.0058375945 0.0023399186 0.0051675034 - 562400 0.0058190319 0.0028734544 0.0056920479 - 562500 0.0048735206 0.0030178865 0.005378498 - 562600 0.0068327385 0.0026772317 0.0059868394 - 562700 0.0048888087 0.0024921787 0.0048601954 - 562800 0.0050589018 0.0023455174 0.0047959229 - 562900 0.0049672296 0.0025210562 0.0049270581 - 563000 0.005268997 0.002729622 0.0052817925 - 563100 0.0053517709 0.002843902 0.0054361661 - 563200 0.00545499 0.0026374431 0.0052797039 - 563300 0.0064488147 0.0023001928 0.0054238374 - 563400 0.0046953317 0.002285711 0.0045600123 - 563500 0.0051955613 0.002079381 0.004595981 - 563600 0.0052779514 0.0017234271 0.0042799348 - 563700 0.0047973492 0.0020281315 0.0043518475 - 563800 0.0054621479 0.0025317577 0.0051774856 - 563900 0.0051929537 0.0028131926 0.0053285295 - 564000 0.0072362803 0.0020217117 0.0055267849 - 564100 0.0039150339 0.0019401062 0.0038364507 - 564200 0.0046878472 0.0027288067 0.0049994827 - 564300 0.0044096451 0.0028260808 0.0049620027 - 564400 0.0061368213 0.0025805866 0.0055531095 - 564500 0.0041824455 0.0025719321 0.0045978041 - 564600 0.0062068369 0.0023567258 0.0053631624 - 564700 0.0045105936 0.0021898751 0.0043746939 - 564800 0.0056758537 0.0017783342 0.0045275758 - 564900 0.0063329952 0.0019254818 0.0049930263 - 565000 0.0043766664 0.0020688561 0.0041888038 - 565100 0.0052294762 0.0019728707 0.0045058982 - 565200 0.0061905575 0.0023958362 0.0053943875 - 565300 0.0053314899 0.0028834002 0.0054658406 - 565400 0.0048444228 0.0032183002 0.0055648175 - 565500 0.0056439254 0.0029225231 0.0056562995 - 565600 0.005917008 0.0032057072 0.006071758 - 565700 0.0048871355 0.0032373109 0.0056045172 - 565800 0.0070092999 0.0024233164 0.005818446 - 565900 0.0054682116 0.0020229284 0.0046715934 - 566000 0.004153986 0.0019968257 0.0040089126 - 566100 0.0054182927 0.0019209488 0.0045454344 - 566200 0.0036807871 0.0022040309 0.0039869122 - 566300 0.0045306205 0.0023012544 0.0044957737 - 566400 0.0035309596 0.0022710814 0.0039813899 - 566500 0.0053806981 0.0018619677 0.0044682433 - 566600 0.0059620037 0.0015829686 0.0044708141 - 566700 0.0054927918 0.0019137998 0.0045743708 - 566800 0.0053191002 0.0022904636 0.0048669028 - 566900 0.005621882 0.0026460591 0.0053691582 - 567000 0.0040788095 0.002427557 0.0044032303 - 567100 0.0059935969 0.0025448623 0.0054480108 - 567200 0.0040795787 0.0022714506 0.0042474966 - 567300 0.005316039 0.0019406895 0.0045156459 - 567400 0.0035027851 0.0020375326 0.0037341942 - 567500 0.0034897908 0.0022624785 0.0039528459 - 567600 0.0044838562 0.002222508 0.0043943758 - 567700 0.0049189607 0.0019294352 0.0043120567 - 567800 0.0039905751 0.0019713002 0.003904235 - 567900 0.0062203406 0.0019721982 0.0049851756 - 568000 0.0047616312 0.0015886092 0.0038950243 - 568100 0.0047439315 0.0017862275 0.0040840693 - 568200 0.0057143125 0.0020805602 0.0048484303 - 568300 0.0050452993 0.0027774559 0.0052212727 - 568400 0.005536293 0.0026913124 0.0053729543 - 568500 0.0046165243 0.0023774366 0.0046135656 - 568600 0.0058226265 0.0021804142 0.0050007488 - 568700 0.0041836392 0.0025424702 0.0045689204 - 568800 0.0034610878 0.0022805793 0.0039570437 - 568900 0.0044855547 0.0023788355 0.004551526 - 569000 0.0058404264 0.0023044837 0.0051334403 - 569100 0.0042392076 0.0024207024 0.0044740686 - 569200 0.0053231419 0.0021758782 0.004754275 - 569300 0.0058044246 0.0017940681 0.0046055862 - 569400 0.0055691129 0.0022604127 0.0049579517 - 569500 0.0056908511 0.0023315964 0.0050881024 - 569600 0.005347966 0.0023778656 0.0049682867 - 569700 0.0049655365 0.0025284994 0.0049336812 - 569800 0.0044045975 0.0023244635 0.0044579404 - 569900 0.0035977424 0.0021046906 0.0038473471 - 570000 0.0048878658 0.0017960988 0.0041636588 - 570100 0.0057159303 0.002115094 0.0048837477 - 570200 0.0057231973 0.002152781 0.0049249547 - 570300 0.0048571769 0.0021359817 0.0044886768 - 570400 0.0046636965 0.0018421515 0.0041011295 - 570500 0.0050473351 0.0016909525 0.0041357555 - 570600 0.0059122595 0.0018742998 0.0047380505 - 570700 0.0066142378 0.0023071467 0.0055109182 - 570800 0.0045663969 0.0021410171 0.0043528656 - 570900 0.0043005975 0.0018595665 0.0039426684 - 571000 0.004365716 0.0018880743 0.004002718 - 571100 0.0054197439 0.0025447466 0.005169935 - 571200 0.0046023816 0.0026663425 0.0048956211 - 571300 0.0042130697 0.0028514873 0.004892193 - 571400 0.0053773445 0.003046215 0.0056508662 - 571500 0.005151531 0.0029880663 0.0054833391 - 571600 0.0048257185 0.0025322004 0.0048696578 - 571700 0.0071501901 0.0018950047 0.0053583781 - 571800 0.0037726475 0.0026406037 0.0044679798 - 571900 0.0051743859 0.0029719928 0.005478336 - 572000 0.0055720615 0.002755352 0.0054543193 - 572100 0.0050067807 0.0026246089 0.0050497683 - 572200 0.0052502753 0.0026146423 0.0051577444 - 572300 0.0038490615 0.0031194786 0.0049838678 - 572400 0.0052921085 0.0029725435 0.0055359085 - 572500 0.0048249775 0.0028960781 0.0052331766 - 572600 0.0056514052 0.0026837899 0.0054211893 - 572700 0.0049457719 0.0023664883 0.0047620965 - 572800 0.0054198222 0.0023147184 0.0049399448 - 572900 0.0051884982 0.0024949148 0.0050080937 - 573000 0.0051863051 0.0023221056 0.0048342222 - 573100 0.0041251158 0.0019139735 0.0039120765 - 573200 0.0036677216 0.0023580012 0.0041345539 - 573300 0.0064586439 0.0027053822 0.0058337879 - 573400 0.0057469927 0.0030710761 0.0058547757 - 573500 0.0060612491 0.0024866911 0.0054226086 - 573600 0.005296336 0.0022407624 0.0048061751 - 573700 0.0050339136 0.0024846172 0.0049229191 - 573800 0.0056866566 0.0019681328 0.004722607 - 573900 0.0051274175 0.0019053087 0.0043889016 - 574000 0.0048654904 0.0023930987 0.0047498206 - 574100 0.0066689278 0.0023990055 0.0056292674 - 574200 0.0058598904 0.002262743 0.0051011274 - 574300 0.0076259923 0.0022129178 0.0059067578 - 574400 0.0050186568 0.0026119935 0.0050429054 - 574500 0.0045679515 0.0023577668 0.0045703683 - 574600 0.0050572993 0.0017981672 0.0042477966 - 574700 0.0047969436 0.0019949194 0.0043184389 - 574800 0.004996707 0.002274167 0.004694447 - 574900 0.0056161366 0.0025614245 0.0052817406 - 575000 0.0048281111 0.0024793372 0.0048179535 - 575100 0.0051480389 0.0022941684 0.0047877497 - 575200 0.0047216774 0.0022719963 0.0045590588 - 575300 0.0051022312 0.0025309176 0.0050023109 - 575400 0.0037788111 0.0024546856 0.0042850473 - 575500 0.004722155 0.002165322 0.0044526158 - 575600 0.005530176 0.0020774921 0.0047561711 - 575700 0.0054101916 0.0018948057 0.0045153672 - 575800 0.00566099 0.0019362194 0.0046782614 - 575900 0.0042141688 0.0022593145 0.0043005525 - 576000 0.003995031 0.0023162375 0.0042513306 - 576100 0.0051075243 0.0020628273 0.0045367843 - 576200 0.0040353824 0.0018711377 0.003825776 - 576300 0.0053867586 0.0018096085 0.0044188197 - 576400 0.004994048 0.0024198997 0.0048388917 - 576500 0.0043661134 0.0029810936 0.0050959298 - 576600 0.006449466 0.0024125024 0.0055364625 - 576700 0.0046565073 0.0022207506 0.0044762463 - 576800 0.0050519205 0.0018216963 0.0042687203 - 576900 0.0068888466 0.0018001895 0.0051369745 - 577000 0.0044995997 0.0021451098 0.0043246034 - 577100 0.0053461967 0.0021973805 0.0047869445 - 577200 0.0043472923 0.0024903759 0.0045960956 - 577300 0.0054902913 0.002118658 0.0047780179 - 577400 0.005680523 0.0017659191 0.0045174224 - 577500 0.0055636137 0.0015917143 0.0042865897 - 577600 0.004094923 0.0019678584 0.0039513367 - 577700 0.0065741417 0.0018517993 0.0050361492 - 577800 0.004018276 0.0020673864 0.0040137388 - 577900 0.005147125 0.0021927783 0.004685917 - 578000 0.0047783174 0.0026254334 0.0049399309 - 578100 0.0053791051 0.0026928419 0.0052983459 - 578200 0.0054760298 0.0025707991 0.005223251 - 578300 0.004471636 0.0027044734 0.0048704221 - 578400 0.0077722145 0.0025363261 0.0063009925 - 578500 0.0052044765 0.0029307988 0.0054517171 - 578600 0.0053368897 0.0027898134 0.0053748694 - 578700 0.0063207843 0.0027058233 0.0057674532 - 578800 0.0045879814 0.0028044757 0.0050267792 - 578900 0.0051532451 0.0025437989 0.005039902 - 579000 0.0060760873 0.0022193309 0.0051624357 - 579100 0.0053354325 0.0022602309 0.004844581 - 579200 0.0071025332 0.0022644918 0.0057047813 - 579300 0.0056916861 0.0020917064 0.0048486169 - 579400 0.0052676038 0.0019895352 0.0045410308 - 579500 0.0043892688 0.0021754853 0.0043015374 - 579600 0.0059140073 0.00244846 0.0053130573 - 579700 0.005333148 0.0022967025 0.0048799461 - 579800 0.0052086138 0.0023374885 0.0048604108 - 579900 0.0054262718 0.0023785446 0.005006895 - 580000 0.0047908914 0.0022496267 0.0045702147 - 580100 0.0039691459 0.0022101204 0.0041326755 - 580200 0.004246553 0.0021550652 0.0042119893 - 580300 0.0055687574 0.0020470027 0.0047443695 - 580400 0.006397478 0.0020796483 0.0051784267 - 580500 0.0045698236 0.0021203567 0.004333865 - 580600 0.0045570141 0.0022014054 0.0044087091 - 580700 0.0036813985 0.0018904147 0.0036735921 - 580800 0.0052226358 0.0018776943 0.0044074086 - 580900 0.0037791449 0.0022117553 0.0040422786 - 581000 0.0037394385 0.0022158315 0.004027122 - 581100 0.0062858838 0.0019365271 0.0049812521 - 581200 0.006981861 0.0018671227 0.0052489617 - 581300 0.0050643651 0.0021483694 0.0046014212 - 581400 0.0065827375 0.00244155 0.0056300635 - 581500 0.004356633 0.0026328181 0.0047430622 - 581600 0.0053606425 0.0025549691 0.0051515303 - 581700 0.0046857334 0.0022514176 0.0045210697 - 581800 0.0065889038 0.0018657528 0.0050572531 - 581900 0.0035159025 0.0020216664 0.0037246816 - 582000 0.0049457166 0.0020693488 0.0044649303 - 582100 0.0056514548 0.0018261843 0.0045636077 - 582200 0.0055447799 0.0019666333 0.0046523861 - 582300 0.0046920434 0.0020912087 0.0043639172 - 582400 0.0059142573 0.0019985159 0.0048632343 - 582500 0.0039366388 0.002160278 0.0040670874 - 582600 0.0038930912 0.0022078573 0.0040935733 - 582700 0.0062497002 0.00229459 0.0053217885 - 582800 0.0043595331 0.0022361469 0.0043477957 - 582900 0.0052498318 0.0022092525 0.0047521398 - 583000 0.0063621866 0.0022527295 0.0053344136 - 583100 0.0040075774 0.0025863269 0.0045274972 - 583200 0.0053688862 0.0017826092 0.0043831634 - 583300 0.0038017052 0.0018327198 0.0036741707 - 583400 0.0048429254 0.0020580946 0.0044038866 - 583500 0.0051043128 0.0019083875 0.004380789 - 583600 0.0042978354 0.0019707394 0.0040525034 - 583700 0.0069939743 0.002251433 0.0056391393 - 583800 0.0048676208 0.0027602344 0.0051179882 - 583900 0.00563248 0.0024567127 0.0051849452 - 584000 0.0049855462 0.0023539679 0.0047688418 - 584100 0.0058837958 0.0024355611 0.0052855247 - 584200 0.0040267152 0.0023685215 0.0043189617 - 584300 0.0040310772 0.0024628353 0.0044153883 - 584400 0.0045279405 0.0021244603 0.0043176815 - 584500 0.0048347445 0.0021055119 0.0044473413 - 584600 0.0040552802 0.0025672857 0.004531562 - 584700 0.0055827368 0.0024898033 0.0051939414 - 584800 0.0048785334 0.0022409179 0.0046039575 - 584900 0.0047728119 0.0019586659 0.0042704967 - 585000 0.0037337632 0.0020502266 0.0038587681 - 585100 0.0044596645 0.0024199543 0.0045801043 - 585200 0.0056002614 0.0026780933 0.0053907199 - 585300 0.0053507488 0.0029041255 0.0054958945 - 585400 0.0058900916 0.0029864319 0.005839445 - 585500 0.0056585598 0.0028735227 0.0056143876 - 585600 0.0060010165 0.0022200333 0.0051267757 - 585700 0.0050713235 0.0021134884 0.0045699107 - 585800 0.0050383859 0.0025796999 0.0050201681 - 585900 0.0050430704 0.0026889603 0.0051316975 - 586000 0.0043594606 0.0031144241 0.0052260379 - 586100 0.0046140152 0.0030361977 0.0052711113 - 586200 0.0056762717 0.0026327688 0.0053822129 - 586300 0.0054413094 0.0025779401 0.0052135743 - 586400 0.0056725994 0.002508729 0.0052563943 - 586500 0.0054727409 0.0025777079 0.0052285668 - 586600 0.0063742816 0.0029656339 0.0060531766 - 586700 0.0066110337 0.0033284206 0.00653064 - 586800 0.0052307319 0.0032797937 0.0058134294 - 586900 0.0052112207 0.0031464111 0.0056705962 - 587000 0.0051203385 0.0027282062 0.0052083702 - 587100 0.0054830413 0.0026759733 0.0053318214 - 587200 0.0048701787 0.0030480695 0.0054070624 - 587300 0.0073515763 0.002847786 0.0064087058 - 587400 0.0068226363 0.002809434 0.0061141485 - 587500 0.0034443722 0.002730412 0.0043987798 - 587600 0.0047060473 0.0025369559 0.0048164475 - 587700 0.0036077049 0.0027831397 0.0045306218 - 587800 0.0061897322 0.002450218 0.0054483695 - 587900 0.0045423993 0.0026826762 0.0048829009 - 588000 0.0054403083 0.0028441477 0.0054792971 - 588100 0.0049353534 0.0027585242 0.005149086 - 588200 0.0061888996 0.0029234407 0.0059211889 - 588300 0.0045508764 0.0032466398 0.0054509705 - 588400 0.0057536464 0.0027211011 0.0055080236 - 588500 0.006034468 0.0025857625 0.0055087079 - 588600 0.0049979888 0.0024256673 0.0048465681 - 588700 0.0059419058 0.0021659919 0.0050441025 - 588800 0.003903197 0.0022222871 0.0041128981 - 588900 0.0063481921 0.0019367782 0.0050116837 - 589000 0.004409767 0.0020771987 0.0042131796 - 589100 0.0055286344 0.002443433 0.0051213653 - 589200 0.0060668705 0.0020685177 0.0050071581 - 589300 0.003703552 0.00200943 0.003803338 - 589400 0.004142518 0.0020240463 0.0040305785 - 589500 0.0062051192 0.0023596171 0.0053652217 - 589600 0.0043732584 0.0021106892 0.0042289862 - 589700 0.004093096 0.001865429 0.0038480224 - 589800 0.0050829529 0.0016250203 0.0040870756 - 589900 0.0060659504 0.0015656779 0.0045038726 - 590000 0.0049192951 0.0018621855 0.0042449691 - 590100 0.0046151737 0.0019554026 0.0041908774 - 590200 0.0046022836 0.0024321566 0.0046613877 - 590300 0.0045768985 0.0016620822 0.0038790174 - 590400 0.0047481584 0.0014528227 0.003752712 - 590500 0.0037163931 0.0016887921 0.0034889201 - 590600 0.0039726384 0.0022465013 0.0041707481 - 590700 0.003773466 0.0023419013 0.0041696739 - 590800 0.0047333435 0.0025571155 0.0048498287 - 590900 0.0061694199 0.0024195091 0.0054078219 - 591000 0.0059641877 0.0024174285 0.005306332 - 591100 0.0068089308 0.002721689 0.0060197649 - 591200 0.0051856511 0.0028565289 0.0053683287 - 591300 0.0048107153 0.0027426459 0.0050728362 - 591400 0.0049020988 0.0022573702 0.0046318243 - 591500 0.0059114402 0.002284648 0.0051480018 - 591600 0.0040608347 0.0023083381 0.0042753049 - 591700 0.0040979408 0.0027080069 0.004692947 - 591800 0.0059665936 0.0024603025 0.0053503712 - 591900 0.005781307 0.0025990853 0.0053994059 - 592000 0.0038640567 0.0025206084 0.0043922609 - 592100 0.004966791 0.0023860662 0.0047918556 - 592200 0.0051226029 0.0025910121 0.0050722728 - 592300 0.005269477 0.0026585271 0.00521093 - 592400 0.0054378732 0.0025596623 0.0051936322 - 592500 0.0062555044 0.0024313702 0.0054613802 - 592600 0.0050955845 0.0022173185 0.0046854922 - 592700 0.0047113539 0.0024480802 0.0047301422 - 592800 0.0049408578 0.0024020534 0.0047952814 - 592900 0.0063286134 0.0024861758 0.0055515979 - 593000 0.0053766602 0.0021220622 0.004726382 - 593100 0.00468887 0.0019018462 0.0041730176 - 593200 0.0042140248 0.0018336464 0.0038748146 - 593300 0.0065338812 0.0015470171 0.0047118658 - 593400 0.0064535658 0.0015625482 0.0046884941 - 593500 0.0051040685 0.0020374888 0.004509772 - 593600 0.0043862731 0.0027730001 0.0048976012 - 593700 0.0042857779 0.0029345919 0.0050105156 - 593800 0.0072749112 0.0018530304 0.0053768155 - 593900 0.0058046392 0.0017711364 0.0045827586 - 594000 0.0040528586 0.0021770611 0.0041401645 - 594100 0.0038723016 0.00221391 0.004089556 - 594200 0.0060275726 0.0020048264 0.0049244319 - 594300 0.0051810084 0.0018212388 0.0043307898 - 594400 0.0056183067 0.0021499802 0.0048713475 - 594500 0.0040747085 0.0022558408 0.0042295278 - 594600 0.004771173 0.0018437442 0.0041547811 - 594700 0.0046581926 0.0014142102 0.0036705222 - 594800 0.003944575 0.0015819722 0.0034926256 - 594900 0.0054661531 0.0019707854 0.0046184533 - 595000 0.0061380584 0.0024011396 0.0053742616 - 595100 0.0056062424 0.0027481416 0.0054636652 - 595200 0.0050679888 0.0024913607 0.0049461677 - 595300 0.0052161116 0.002080179 0.0046067331 - 595400 0.0038553365 0.0018362256 0.0037036542 - 595500 0.0031693558 0.0016669144 0.0032020711 - 595600 0.0044522818 0.0015670139 0.0037235879 - 595700 0.0042943002 0.0015542919 0.0036343436 - 595800 0.0059788964 0.0018517215 0.0047477494 - 595900 0.003655345 0.0020485162 0.003819074 - 596000 0.0053356645 0.0021727047 0.0047571672 - 596100 0.0046558441 0.0023158474 0.0045710218 - 596200 0.0052402621 0.0022562724 0.0047945244 - 596300 0.0051345659 0.0025507771 0.0050378325 - 596400 0.0044697162 0.0031747214 0.0053397402 - 596500 0.0063030476 0.0027841645 0.0058372032 - 596600 0.0069757582 0.0023681824 0.0057470653 - 596700 0.0044496942 0.0020447256 0.0042000462 - 596800 0.0045516872 0.0020404215 0.0042451449 - 596900 0.0035969409 0.0018840124 0.0036262807 - 597000 0.0037257667 0.0014483245 0.0032529928 - 597100 0.0059259126 0.0011014717 0.0039718357 - 597200 0.0038202466 0.0014159628 0.0032663947 - 597300 0.0054639165 0.0020757876 0.0047223721 - 597400 0.0055508918 0.0024530948 0.005141808 - 597500 0.0060970772 0.0027347671 0.0056880389 - 597600 0.0047898846 0.0031130306 0.005433131 - 597700 0.0047920774 0.002819026 0.0051401885 - 597800 0.0057367874 0.0024342385 0.0052129949 - 597900 0.0052008783 0.0023280547 0.0048472301 - 598000 0.0060790881 0.0022224971 0.0051670554 - 598100 0.0066451146 0.0027582806 0.005977008 - 598200 0.0057492219 0.0029968452 0.0057816245 - 598300 0.0050374512 0.0029906533 0.0054306687 - 598400 0.0047051169 0.0025070469 0.0047860879 - 598500 0.0073726388 0.0021858281 0.0057569501 - 598600 0.0063648226 0.0027452724 0.0058282333 - 598700 0.0060104608 0.0026152305 0.0055265474 - 598800 0.0042659693 0.0022141516 0.0042804805 - 598900 0.0038705346 0.0021315164 0.0040063066 - 599000 0.0040809048 0.0019868679 0.0039635562 - 599100 0.0052769221 0.0022817798 0.004837789 - 599200 0.0053171262 0.0025118948 0.0050873778 - 599300 0.0054256982 0.0023001168 0.0049281894 - 599400 0.0054228178 0.0025721744 0.0051988518 - 599500 0.0062359325 0.002417204 0.0054377338 - 599600 0.0045351537 0.0029738275 0.0051705425 - 599700 0.0050776069 0.002684245 0.0051437108 - 599800 0.0050648728 0.0022275391 0.0046808368 - 599900 0.0046943522 0.002135554 0.0044093808 - 600000 0.0048747364 0.0020071338 0.0043683343 - 600100 0.005588673 0.0018407788 0.0045477922 - 600200 0.0058351814 0.0018871888 0.0047136048 - 600300 0.0053250862 0.0023515371 0.0049308757 - 600400 0.0050543566 0.0026164485 0.0050646525 - 600500 0.005100373 0.00206325 0.0045337432 - 600600 0.0036177016 0.0016838579 0.0034361821 - 600700 0.0049672784 0.0019065677 0.0043125932 - 600800 0.0042946395 0.0017929836 0.0038731996 - 600900 0.0044124241 0.0018286858 0.0039659538 - 601000 0.0055566732 0.0020189989 0.0047105125 - 601100 0.0057210813 0.0024097924 0.0051809412 - 601200 0.0065911495 0.0024405002 0.0056330882 - 601300 0.0054445906 0.0022317553 0.0048689789 - 601400 0.0047864467 0.002222181 0.0045406161 - 601500 0.0056464782 0.0021247293 0.0048597422 - 601600 0.0037568496 0.0024808978 0.0043006218 - 601700 0.006309968 0.0025792352 0.005635626 - 601800 0.0059192473 0.0023827215 0.0052498569 - 601900 0.004776623 0.0023849748 0.0046986516 - 602000 0.0053800555 0.0025392025 0.0051451669 - 602100 0.0054156019 0.0022077453 0.0048309275 - 602200 0.0045437293 0.0017201682 0.0039210371 - 602300 0.0023581833 0.0020646479 0.0032068929 - 602400 0.0038876477 0.0025498183 0.0044328976 - 602500 0.0062171854 0.0023509631 0.0053624123 - 602600 0.0043768894 0.002301513 0.0044215688 - 602700 0.0049346904 0.0016964475 0.0040866882 - 602800 0.0050908826 0.0017507888 0.004216685 - 602900 0.0042612807 0.0019044076 0.0039684654 - 603000 0.0043949688 0.0018798754 0.0040086884 - 603100 0.0048314579 0.0019852753 0.0043255127 - 603200 0.0043642178 0.0023282332 0.0044421512 - 603300 0.0051557421 0.0027632118 0.0052605244 - 603400 0.0061843769 0.0025066026 0.0055021601 - 603500 0.0046609128 0.0022847999 0.0045424295 - 603600 0.0033696244 0.0025563924 0.0041885542 - 603700 0.0040809355 0.002544763 0.0045214661 - 603800 0.0061179104 0.002370599 0.0053339619 - 603900 0.0045220011 0.0026008307 0.0047911751 - 604000 0.0064351235 0.001996465 0.0051134779 - 604100 0.0049820944 0.0016284274 0.0040416294 - 604200 0.0035321138 0.001795098 0.0035059656 - 604300 0.0044365546 0.0018980504 0.0040470065 - 604400 0.0066611702 0.0017332138 0.0049597181 - 604500 0.0054184841 0.002029382 0.0046539602 - 604600 0.0050670034 0.002162919 0.0046172487 - 604700 0.0052688345 0.0023969963 0.004949088 - 604800 0.004897347 0.0021697703 0.0045419227 - 604900 0.0044088073 0.0027876351 0.0049231511 - 605000 0.0057715934 0.0033970758 0.0061926913 - 605100 0.0051651147 0.0029561565 0.005458009 - 605200 0.0069009771 0.0024125512 0.005755212 - 605300 0.0047669484 0.0023245698 0.0046335604 - 605400 0.0043236483 0.0024379013 0.0045321684 - 605500 0.0048466368 0.0022995594 0.0046471491 - 605600 0.0044497614 0.0022697388 0.004425092 - 605700 0.0030225433 0.0026421513 0.0041061957 - 605800 0.0052359275 0.0027525463 0.0052886987 - 605900 0.0053218883 0.0028680552 0.0054458448 - 606000 0.0041924005 0.0026707342 0.0047014282 - 606100 0.0054381278 0.0023711233 0.0050052164 - 606200 0.004612356 0.0019344863 0.0041685963 - 606300 0.0050316184 0.0021089642 0.0045461543 - 606400 0.0052729529 0.0019932211 0.0045473077 - 606500 0.0027029929 0.0020289367 0.0033381989 - 606600 0.0032779252 0.0023257194 0.0039134644 - 606700 0.0053961404 0.00220816 0.0048219154 - 606800 0.0040901423 0.0020302675 0.0040114302 - 606900 0.0056080644 0.0021432471 0.0048596533 - 607000 0.0061819575 0.0020380811 0.0050324667 - 607100 0.0036832622 0.0023800416 0.0041641217 - 607200 0.0059458583 0.0026246877 0.0055047128 - 607300 0.0053715634 0.0027345848 0.0053364358 - 607400 0.0078374131 0.0027998144 0.0065960614 - 607500 0.0045643397 0.0028804667 0.0050913187 - 607600 0.0049622041 0.0024997918 0.0049033594 - 607700 0.0041277037 0.0024666813 0.0044660378 - 607800 0.005601648 0.0024629267 0.0051762249 - 607900 0.0055009706 0.0022822899 0.0049468225 - 608000 0.0035645658 0.0027395243 0.0044661108 - 608100 0.0041109552 0.0028614573 0.0048527013 - 608200 0.0057750365 0.002457851 0.0052551343 - 608300 0.0048665497 0.0022568586 0.0046140936 - 608400 0.0048629459 0.0023761253 0.0047316148 - 608500 0.0038691023 0.0023095905 0.0041836869 - 608600 0.0050669773 0.0022197971 0.0046741143 - 608700 0.0052757452 0.002186054 0.0047414931 - 608800 0.003457623 0.0020846226 0.0037594088 - 608900 0.0054173549 0.0021994456 0.0048234769 - 609000 0.0066742275 0.0022840277 0.0055168567 - 609100 0.0061517546 0.0023931156 0.0053728717 - 609200 0.0046287734 0.0022138782 0.0044559403 - 609300 0.0037747215 0.0020491822 0.0038775629 - 609400 0.0031764508 0.0020181942 0.0035567876 - 609500 0.003926951 0.0023734595 0.0042755764 - 609600 0.0058807065 0.0027651429 0.0056136101 - 609700 0.0049768693 0.0032489737 0.0056596448 - 609800 0.0063842675 0.0029459049 0.0060382845 - 609900 0.0058046808 0.0024674666 0.0052791089 - 610000 0.0055194699 0.0020248242 0.0046983174 - 610100 0.0050228984 0.0019085419 0.0043415083 - 610200 0.0050074021 0.002141871 0.0045673314 - 610300 0.00464046 0.0031249423 0.0053726651 - 610400 0.0052716169 0.0031306349 0.0056840743 - 610500 0.0064972781 0.0029696299 0.006116749 - 610600 0.0053459962 0.0025745357 0.0051640026 - 610700 0.0052570201 0.0026166633 0.0051630324 - 610800 0.0066789241 0.0029452789 0.0061803828 - 610900 0.0060472576 0.003004564 0.0059337044 - 611000 0.0059201032 0.0027356622 0.0056032122 - 611100 0.0062575544 0.0028911301 0.005922133 - 611200 0.0037583286 0.0028732128 0.0046936532 - 611300 0.0060949335 0.0027142313 0.0056664647 - 611400 0.0053176366 0.0021932164 0.0047689466 - 611500 0.0050365003 0.0019057165 0.0043452713 - 611600 0.003809659 0.0019748334 0.003820137 - 611700 0.004460536 0.0021256494 0.0042862216 - 611800 0.005168518 0.0023163913 0.0048198922 - 611900 0.0039613685 0.0025127458 0.0044315337 - 612000 0.0064079681 0.0030166932 0.0061205527 - 612100 0.0056480103 0.003019512 0.0057552669 - 612200 0.0046690319 0.0029198561 0.0051814185 - 612300 0.0056495421 0.0028206225 0.0055571194 - 612400 0.0052683581 0.0025215495 0.0050734105 - 612500 0.0043764328 0.0028677151 0.0049875497 - 612600 0.0048068091 0.003196749 0.0055250472 - 612700 0.0042094011 0.0031532786 0.0051922073 - 612800 0.0055065477 0.0028945235 0.0055617576 - 612900 0.0049832613 0.0031854012 0.0055991684 - 613000 0.0049536497 0.0030987095 0.0054981336 - 613100 0.0052435517 0.002801174 0.0053410193 - 613200 0.003698988 0.0031045472 0.0048962445 - 613300 0.0048910452 0.0027478364 0.0051169364 - 613400 0.0059321058 0.0026634493 0.005536813 - 613500 0.0053143832 0.002953302 0.0055274564 - 613600 0.004624879 0.0030357275 0.0052759032 - 613700 0.005572153 0.0033003207 0.0059993323 - 613800 0.0048909014 0.0033029937 0.0056720241 - 613900 0.0041964208 0.0029993354 0.0050319768 - 614000 0.0049687758 0.0023300172 0.004736768 - 614100 0.004791737 0.0020516828 0.0043726804 - 614200 0.0035785719 0.0024639203 0.0041972911 - 614300 0.0041536001 0.0028766013 0.0048885013 - 614400 0.0048820826 0.0028376523 0.0052024111 - 614500 0.0062377832 0.0026423372 0.0056637635 - 614600 0.0052549168 0.0024802607 0.005025611 - 614700 0.0054194919 0.0021043041 0.0047293705 - 614800 0.0047128893 0.0020498995 0.0043327052 - 614900 0.0055991866 0.0017388454 0.0044509515 - 615000 0.0053194065 0.0015924528 0.0041690403 - 615100 0.0047353813 0.0020494904 0.0043431907 - 615200 0.0058927017 0.0024588897 0.0053131671 - 615300 0.0046463883 0.0027834552 0.0050340495 - 615400 0.0046414915 0.0027317377 0.0049799602 - 615500 0.0034574516 0.0023867994 0.0040615025 - 615600 0.005093183 0.0021629293 0.0046299398 - 615700 0.004922949 0.0019916942 0.0043762477 - 615800 0.0053117527 0.0022224986 0.0047953789 - 615900 0.0039845357 0.002662029 0.0045920385 - 616000 0.006530012 0.0019979231 0.0051608977 - 616100 0.006320235 0.0020304834 0.0050918473 - 616200 0.0065351758 0.001915805 0.0050812808 - 616300 0.0065782172 0.0025804614 0.0057667853 - 616400 0.0063488866 0.0025710868 0.0056463287 - 616500 0.0052326963 0.0022704766 0.0048050638 - 616600 0.0048913444 0.0023485667 0.0047178116 - 616700 0.0065422932 0.0025848099 0.0057537332 - 616800 0.0058546972 0.002387942 0.0052238109 - 616900 0.0042008495 0.002116814 0.0041516005 - 617000 0.0052811333 0.001867439 0.0044254879 - 617100 0.0041609741 0.0020155051 0.0040309769 - 617200 0.0050556713 0.0019738319 0.0044226727 - 617300 0.003897861 0.0022266424 0.0041146688 - 617400 0.0046011176 0.0021923506 0.004421017 - 617500 0.0046833685 0.0020624888 0.0043309954 - 617600 0.0059696124 0.0021619725 0.0050535035 - 617700 0.0065099946 0.002793131 0.0059464096 - 617800 0.0047033887 0.0031199095 0.0053981133 - 617900 0.0070180143 0.0030188275 0.0064181782 - 618000 0.0054651912 0.0025897816 0.0052369836 - 618100 0.0044343628 0.0025003918 0.0046482863 - 618200 0.0049723012 0.0024652435 0.0048737019 - 618300 0.0048008842 0.0024438239 0.0047692522 - 618400 0.0067515642 0.0023571949 0.0056274838 - 618500 0.0049093292 0.0023338791 0.0047118354 - 618600 0.0036863014 0.0027801086 0.0045656608 - 618700 0.0063932221 0.002851233 0.0059479499 - 618800 0.0047122664 0.0028200536 0.0051025576 - 618900 0.003530486 0.0028275992 0.0045376783 - 619000 0.0041286567 0.0026782452 0.0046780633 - 619100 0.0045740226 0.0029194595 0.0051350017 - 619200 0.004219104 0.0030115484 0.0050551769 - 619300 0.0053312255 0.0029366558 0.0055189681 - 619400 0.0053521071 0.0029125056 0.0055049325 - 619500 0.0060033189 0.0030257178 0.0059335754 - 619600 0.0058429977 0.0030648124 0.0058950144 - 619700 0.0053758151 0.0034239431 0.0060278535 - 619800 0.0061492432 0.0031701512 0.0061486909 - 619900 0.0038256625 0.0032681921 0.0051212474 - 620000 0.0057498593 0.00278742 0.0055725081 - 620100 0.007399701 0.0026377902 0.0062220203 - 620200 0.0032833421 0.002553577 0.0041439458 - 620300 0.0067235446 0.0023477115 0.0056044284 - 620400 0.0068798281 0.0027762437 0.0061086605 - 620500 0.0053722954 0.0029271581 0.0055293636 - 620600 0.007010691 0.0027605746 0.0061563781 - 620700 0.0053074436 0.0025517512 0.0051225442 - 620800 0.0044906385 0.0024814966 0.0046566496 - 620900 0.0044122107 0.0025883901 0.0047255547 - 621000 0.0055044253 0.0025960965 0.0052623025 - 621100 0.0037348797 0.0026990263 0.0045081087 - 621200 0.0041841773 0.0019390366 0.0039657474 - 621300 0.005370255 0.0018683078 0.0044695251 - 621400 0.0046827423 0.0024821464 0.0047503497 - 621500 0.0032553094 0.0029293424 0.0045061329 - 621600 0.0056249789 0.0022121287 0.0049367278 - 621700 0.0053355169 0.0025528185 0.0051372095 - 621800 0.0056138509 0.0029616762 0.0056808852 - 621900 0.0052041488 0.002507202 0.0050279616 - 622000 0.0038459894 0.0024646415 0.0043275427 - 622100 0.0053101939 0.0023494945 0.0049216196 - 622200 0.0053406418 0.0021402416 0.004727115 - 622300 0.0060133494 0.0020082382 0.0049209543 - 622400 0.0057465184 0.0017641299 0.0045475998 - 622500 0.0041440519 0.0020403021 0.0040475773 - 622600 0.0054036265 0.0021693869 0.0047867685 - 622700 0.0051386108 0.0024482117 0.0049372263 - 622800 0.0049837905 0.0025556902 0.0049697137 - 622900 0.0048685918 0.0026593345 0.0050175586 - 623000 0.006147535 0.0021392113 0.0051169235 - 623100 0.0057624115 0.0023107247 0.0051018928 - 623200 0.0049008253 0.002622959 0.0049967962 - 623300 0.0044468787 0.0024302964 0.0045842533 - 623400 0.0056108462 0.0026983243 0.0054160779 - 623500 0.0055734708 0.0028317319 0.0055313818 - 623600 0.0060542196 0.0029881227 0.0059206353 - 623700 0.0071445663 0.0033772984 0.0068379477 - 623800 0.0044900495 0.0035743549 0.0057492226 - 623900 0.0057530383 0.0024801593 0.0052667872 - 624000 0.0045026316 0.0023335392 0.0045145014 - 624100 0.0036760964 0.0024322088 0.004212818 - 624200 0.0052370134 0.0022798154 0.0048164937 - 624300 0.0056922835 0.0020539089 0.0048111087 - 624400 0.0046660505 0.0020280045 0.0042881227 - 624500 0.0057315692 0.0018557687 0.0046319975 - 624600 0.0036427234 0.0021510104 0.0039154546 - 624700 0.0063984091 0.0025790383 0.0056782677 - 624800 0.0047408233 0.0027501161 0.0050464523 - 624900 0.0058191939 0.0024231203 0.0052417923 - 625000 0.0046005372 0.0027703911 0.0049987763 - 625100 0.0044261841 0.0026501042 0.0047940371 - 625200 0.0049550339 0.0028058854 0.00520598 - 625300 0.0056578482 0.0029696101 0.0057101303 - 625400 0.0069969058 0.0025700942 0.0059592204 - 625500 0.0060664935 0.0025986927 0.0055371505 - 625600 0.0058373845 0.0024865746 0.0053140577 - 625700 0.0064864064 0.002056236 0.0051980891 - 625800 0.0056530619 0.0017298982 0.0044681 - 625900 0.00629157 0.0022366251 0.0052841043 - 626000 0.0050924897 0.0028542946 0.0053209694 - 626100 0.0046623572 0.00271281 0.0049711393 - 626200 0.0051348586 0.0024870893 0.0049742865 - 626300 0.0048646866 0.0023213911 0.0046777237 - 626400 0.0054906395 0.0024105779 0.0050701064 - 626500 0.0054598049 0.0026026187 0.0052472117 - 626600 0.0056884155 0.0027111938 0.0054665201 - 626700 0.0048485612 0.0023931273 0.0047416491 - 626800 0.0061027427 0.0021594794 0.0051154954 - 626900 0.0042279316 0.002232961 0.0042808654 - 627000 0.0058900381 0.0025719736 0.0054249608 - 627100 0.0044722036 0.0029610814 0.005127305 - 627200 0.0051982234 0.0027889563 0.0053068458 - 627300 0.0049415118 0.0030509928 0.0054445376 - 627400 0.0060853266 0.0027679946 0.0057155747 - 627500 0.0052674199 0.0027472018 0.0052986083 - 627600 0.0042928341 0.0021784377 0.0042577793 - 627700 0.0058874463 0.001891201 0.0047429328 - 627800 0.0039091894 0.0021941946 0.0040877083 - 627900 0.0055796868 0.0028062552 0.0055089161 - 628000 0.0068355562 0.0030495206 0.0063604932 - 628100 0.0048401644 0.0031278611 0.0054723158 - 628200 0.0054692296 0.0024930113 0.0051421694 - 628300 0.005675327 0.0024334811 0.0051824677 - 628400 0.0068574662 0.0029182884 0.0062398737 - 628500 0.0043666402 0.0030285597 0.0051436511 - 628600 0.0049560913 0.0026880101 0.0050886168 - 628700 0.0048714803 0.0021658821 0.0045255054 - 628800 0.0064625829 0.0017107986 0.0048411122 - 628900 0.0052324998 0.0015760162 0.0041105083 - 629000 0.0065545984 0.0016857281 0.0048606117 - 629100 0.0047776243 0.0016975766 0.0040117384 - 629200 0.004832408 0.0019075865 0.0042482841 - 629300 0.0049306992 0.001723074 0.0041113814 - 629400 0.0049602384 0.0017450372 0.0041476527 - 629500 0.0038682459 0.0015511167 0.0034247983 - 629600 0.0064627828 0.0019343707 0.0050647811 - 629700 0.0058556025 0.0021735815 0.0050098889 - 629800 0.0053579114 0.0021547466 0.0047499849 - 629900 0.0049218809 0.0020461756 0.0044302116 - 630000 0.0062799871 0.0016371053 0.0046789741 - 630100 0.0054975274 0.0015974837 0.0042603485 - 630200 0.0038199249 0.0017306618 0.0035809379 - 630300 0.0057386414 0.0019858483 0.0047655027 - 630400 0.0031865565 0.0028659344 0.0044094227 - 630500 0.0039400617 0.002853807 0.0047622744 - 630600 0.0046150669 0.0027036041 0.0049390271 - 630700 0.0050376394 0.0024288036 0.0048689102 - 630800 0.0055047619 0.0025578912 0.0052242602 - 630900 0.0060534795 0.002327708 0.0052598622 - 631000 0.0051725442 0.0020780083 0.0045834594 - 631100 0.0041018511 0.0022359015 0.0042227357 - 631200 0.0044559887 0.0024747023 0.0046330718 - 631300 0.0051086611 0.0022323999 0.0047069076 - 631400 0.0051913154 0.0020389331 0.0045534765 - 631500 0.0061621441 0.0023679372 0.0053527258 - 631600 0.0054744902 0.0028776466 0.0055293528 - 631700 0.0065295203 0.002200441 0.0053631774 - 631800 0.0055585597 0.0017262841 0.0044187114 - 631900 0.0039463699 0.0020326862 0.0039442091 - 632000 0.005717277 0.0018812113 0.0046505174 - 632100 0.0050585563 0.0015742099 0.0040244481 - 632200 0.00473 0.0021514877 0.0044425815 - 632300 0.0052694681 0.0023481641 0.0049005627 - 632400 0.0063208537 0.0019694978 0.0050311613 - 632500 0.0035673501 0.0015993505 0.0033272857 - 632600 0.0050990688 0.001644455 0.0041143165 - 632700 0.0041691286 0.0018980907 0.0039175124 - 632800 0.0032918626 0.0022724765 0.0038669725 - 632900 0.0040420381 0.0018994847 0.0038573469 - 633000 0.0054287672 0.0018757184 0.0045052775 - 633100 0.004236058 0.0026012857 0.0046531263 - 633200 0.004345557 0.003022086 0.0051269651 - 633300 0.0048562645 0.0028752129 0.005227466 - 633400 0.0053548986 0.0022003587 0.0047941378 - 633500 0.0052741251 0.0025138555 0.0050685098 - 633600 0.0044190281 0.0026608225 0.0048012892 - 633700 0.0043849331 0.0023786182 0.0045025702 - 633800 0.0061766849 0.0023331491 0.0053249808 - 633900 0.0088525921 0.0027226023 0.0070105766 - 634000 0.0056096816 0.0037804422 0.0064976317 - 634100 0.0060617844 0.003193831 0.0061300078 - 634200 0.0039535419 0.0028626417 0.0047776385 - 634300 0.00590905 0.0028060761 0.0056682722 - 634400 0.0046472647 0.0029562611 0.00520728 - 634500 0.004518618 0.0026952576 0.0048839631 - 634600 0.006131264 0.0022140264 0.0051838574 - 634700 0.0061562261 0.0022022194 0.0051841414 - 634800 0.0043827421 0.0020616123 0.004184503 - 634900 0.0048128584 0.0025007034 0.0048319317 - 635000 0.0064847444 0.0031499142 0.0062909623 - 635100 0.0041063782 0.0035147184 0.0055037453 - 635200 0.0059764842 0.0029388929 0.0058337524 - 635300 0.0073039221 0.0024250847 0.005962922 - 635400 0.0060600892 0.0024760171 0.0054113728 - 635500 0.0057470201 0.0030342223 0.0058179352 - 635600 0.0047454981 0.0030955946 0.0053941952 - 635700 0.0051693255 0.0029176509 0.0054215429 - 635800 0.0045023723 0.0027717603 0.0049525969 - 635900 0.0040753195 0.0027852955 0.0047592784 - 636000 0.0044083465 0.002507491 0.0046427838 - 636100 0.0043058174 0.001820477 0.0039061073 - 636200 0.0063650766 0.0015277999 0.0046108839 - 636300 0.0050426478 0.0016900544 0.0041325869 - 636400 0.0049588381 0.0019033688 0.004305306 - 636500 0.0057901207 0.0022092922 0.005013882 - 636600 0.004185967 0.0024775314 0.0045051091 - 636700 0.0038040838 0.0022263207 0.0040689238 - 636800 0.0043084256 0.0018243316 0.0039112252 - 636900 0.0038994503 0.0017236301 0.0036124264 - 637000 0.0051161702 0.0015266561 0.004004801 - 637100 0.00596317 0.0018561718 0.0047445823 - 637200 0.0051350513 0.002078083 0.0045653734 - 637300 0.0054747903 0.002089245 0.0047410966 - 637400 0.0043667579 0.0020342331 0.0041493815 - 637500 0.0056973589 0.0021073184 0.0048669766 - 637600 0.0041750965 0.0026542574 0.0046765698 - 637700 0.0061792871 0.002745641 0.0057387332 - 637800 0.0057331349 0.0025961205 0.0053731077 - 637900 0.0041919304 0.0025483633 0.0045788296 - 638000 0.005294641 0.0023035016 0.0048680933 - 638100 0.0064870668 0.0019328689 0.0050750419 - 638200 0.0048194902 0.0016038068 0.0039382474 - 638300 0.0044331258 0.001610414 0.0037577093 - 638400 0.0052085348 0.0017607055 0.0042835896 - 638500 0.0049535922 0.0017793689 0.0041787652 - 638600 0.0046224152 0.0020689614 0.0043079437 - 638700 0.0042983057 0.0025444203 0.0046264121 - 638800 0.003812503 0.0022338003 0.0040804815 - 638900 0.0052513836 0.0020647703 0.0046084093 - 639000 0.0067964588 0.0023641762 0.0056562109 - 639100 0.0053183139 0.0026339867 0.005210045 - 639200 0.0055152971 0.0025328994 0.0052043714 - 639300 0.0062121589 0.0022446323 0.0052536468 - 639400 0.0050641085 0.0022539557 0.0047068833 - 639500 0.0057559088 0.0029046959 0.0056927142 - 639600 0.005367169 0.0027441501 0.0053438725 - 639700 0.0047234995 0.0018984967 0.0041864418 - 639800 0.00513697 0.0019668202 0.00445504 - 639900 0.0062925294 0.0021999826 0.0052479266 - 640000 0.0057511344 0.002506752 0.0052924577 - 640100 0.0049154211 0.0026473046 0.0050282117 - 640200 0.0048126792 0.0025176641 0.0048488056 - 640300 0.0044936129 0.0024960518 0.0046726455 - 640400 0.0068434047 0.0020052544 0.0053200285 - 640500 0.004583629 0.001953175 0.0041733703 - 640600 0.0039392555 0.0020652496 0.0039733264 - 640700 0.0047267993 0.0020139826 0.004303526 - 640800 0.004051912 0.0022327478 0.0041953927 - 640900 0.0041520424 0.0023614187 0.0043725642 - 641000 0.0053617247 0.0025669101 0.0051639955 - 641100 0.0053435491 0.0028292284 0.00541751 - 641200 0.0075655041 0.0030415885 0.0067061296 - 641300 0.0053307771 0.0027276584 0.0053097535 - 641400 0.0047348811 0.0023506567 0.0046441148 - 641500 0.0043262569 0.0024170891 0.0045126198 - 641600 0.0057657956 0.0026866723 0.0054794796 - 641700 0.0044775737 0.003128199 0.0052970238 - 641800 0.0040335931 0.0029748774 0.004928649 - 641900 0.0062890788 0.0026869569 0.0057332295 - 642000 0.0059535789 0.0025124595 0.0053962243 - 642100 0.004690481 0.0025410986 0.0048130503 - 642200 0.0053817835 0.002337803 0.0049446044 - 642300 0.0053687173 0.0019952094 0.0045956818 - 642400 0.0047505812 0.0018220118 0.0041230745 - 642500 0.0058057443 0.0016874929 0.0044996503 - 642600 0.0030658627 0.0016180681 0.0031030953 - 642700 0.0036966047 0.0017713105 0.0035618534 - 642800 0.0052508799 0.0023782125 0.0049216074 - 642900 0.0049901825 0.0021817129 0.0045988325 - 643000 0.0049296018 0.0018497522 0.0042375281 - 643100 0.00515626 0.0018355722 0.0043331356 - 643200 0.0051617449 0.0019973384 0.0044975586 - 643300 0.0055244066 0.0020477734 0.0047236578 - 643400 0.0053767668 0.0022053729 0.0048097443 - 643500 0.00434843 0.0023365469 0.0044428177 - 643600 0.0049882766 0.0025266936 0.0049428901 - 643700 0.0037566915 0.0023079415 0.0041275889 - 643800 0.0056980087 0.0019817678 0.0047417407 - 643900 0.0041423264 0.0023963407 0.0044027801 - 644000 0.0037912548 0.0024222865 0.0042586755 - 644100 0.0057603357 0.002101442 0.0048916046 - 644200 0.00532663 0.002110891 0.0046909774 - 644300 0.0057190969 0.0020262215 0.004796409 - 644400 0.0043800588 0.0018601308 0.0039817218 - 644500 0.0054245978 0.0019536585 0.004581198 - 644600 0.005281386 0.0026610488 0.0052192202 - 644700 0.0065105136 0.0030431518 0.0061966819 - 644800 0.0060627218 0.0026206971 0.005557328 - 644900 0.0072041067 0.0022367692 0.0057262584 - 645000 0.0039946857 0.0025027339 0.0044376598 - 645100 0.0041685849 0.0023142783 0.0043334366 - 645200 0.0047317383 0.0024040888 0.0046960246 - 645300 0.006799252 0.0021872851 0.0054806728 - 645400 0.004984767 0.001611568 0.0040260645 - 645500 0.0044552706 0.0020202222 0.0041782439 - 645600 0.0055154873 0.0021567896 0.0048283538 - 645700 0.0056363245 0.0022036445 0.0049337391 - 645800 0.0049785046 0.0019962464 0.0044077095 - 645900 0.0042090368 0.0018332818 0.003872034 - 646000 0.0061780986 0.0018658506 0.0048583671 - 646100 0.003923402 0.0017647928 0.0036651906 - 646200 0.0054927756 0.0016453366 0.0043058998 - 646300 0.0053939014 0.0017874352 0.0044001062 - 646400 0.0060586182 0.0019088366 0.0048434798 - 646500 0.0047905578 0.0024876828 0.0048081093 - 646600 0.0048955254 0.0025217938 0.0048930639 - 646700 0.0046908636 0.0021415008 0.0044136379 - 646800 0.0055205929 0.0020183798 0.004692417 - 646900 0.0047197025 0.0023522788 0.0046383846 - 647000 0.0055525974 0.0020173281 0.0047068674 - 647100 0.0047900259 0.0020948305 0.0044149993 - 647200 0.0039464537 0.0025422166 0.0044537801 - 647300 0.0071061145 0.0021658687 0.0056078929 - 647400 0.0067457385 0.0021034903 0.0053709574 - 647500 0.004881933 0.0022831652 0.0046478515 - 647600 0.0038573267 0.0020709541 0.0039393467 - 647700 0.0031484268 0.0022126625 0.0037376817 - 647800 0.004245487 0.0025194612 0.004575869 - 647900 0.0064904909 0.0023994081 0.0055432396 - 648000 0.003875315 0.0026297528 0.0045068585 - 648100 0.0056863273 0.002233484 0.0049877988 - 648200 0.006800374 0.002049273 0.0053432042 - 648300 0.0049228805 0.0027597797 0.0051442999 - 648400 0.0058948425 0.0033134619 0.0061687762 - 648500 0.0044187231 0.0035694988 0.0057098178 - 648600 0.0048949381 0.0037049491 0.0060759347 - 648700 0.0047370767 0.0032176095 0.005512131 - 648800 0.0067112199 0.0025373004 0.0057880475 - 648900 0.00506353 0.0025289941 0.0049816414 - 649000 0.0044099058 0.0023883548 0.0045244029 - 649100 0.0048435638 0.0021324996 0.0044786008 - 649200 0.0062953522 0.0018395101 0.0048888213 - 649300 0.0057140417 0.0017273488 0.0044950877 - 649400 0.0046219473 0.0019399734 0.0041787292 - 649500 0.0049905247 0.0020640816 0.0044813671 - 649600 0.0031804226 0.002003618 0.0035441352 - 649700 0.0042359115 0.0018474485 0.0038992182 - 649800 0.006846573 0.0019491861 0.0052654949 - 649900 0.0051430937 0.002608293 0.0050994791 - 650000 0.005663919 0.0025385806 0.0052820413 - 650100 0.0051394907 0.002552119 0.0050415598 - 650200 0.0046411116 0.0025305983 0.0047786367 - 650300 0.0043540221 0.0024243567 0.0045333361 - 650400 0.0054640694 0.0022720191 0.0049186777 - 650500 0.0048787208 0.0026291645 0.0049922949 - 650600 0.0070533492 0.0028568861 0.0062733521 - 650700 0.0056402206 0.0029314141 0.0056633959 - 650800 0.0039633843 0.0028581039 0.0047778682 - 650900 0.0049035621 0.0025752015 0.0049503644 - 651000 0.0043974216 0.0025016429 0.004631644 - 651100 0.0054508527 0.0025367073 0.0051769641 - 651200 0.0060408669 0.0026193911 0.005545436 - 651300 0.0067377857 0.0027126697 0.0059762846 - 651400 0.0046457135 0.0026466361 0.0048969036 - 651500 0.0069560897 0.0024836006 0.0058529565 - 651600 0.0058218941 0.002398065 0.005218045 - 651700 0.0038882045 0.0023190403 0.0042023893 - 651800 0.0052891264 0.0023576551 0.0049195757 - 651900 0.0059361115 0.0023180711 0.0051933751 - 652000 0.0049822704 0.002723253 0.0051365402 - 652100 0.0047691359 0.0025777617 0.0048878119 - 652200 0.0035934774 0.0023214278 0.0040620184 - 652300 0.0066565234 0.0019705312 0.0051947847 - 652400 0.0055082759 0.0018146544 0.0044827255 - 652500 0.0045457233 0.0018222331 0.0040240678 - 652600 0.0042907296 0.0020565138 0.004134836 - 652700 0.0052918522 0.0026195994 0.0051828403 - 652800 0.0050375595 0.0031837901 0.005623858 - 652900 0.0069732202 0.0033649566 0.0067426101 - 653000 0.0053387676 0.0029891304 0.005575096 - 653100 0.005126136 0.0026014038 0.0050843759 - 653200 0.0055425591 0.0026917599 0.005376437 - 653300 0.0051494142 0.0027768342 0.0052710816 - 653400 0.0046667682 0.0028796715 0.0051401374 - 653500 0.0047060503 0.0028268332 0.0051063263 - 653600 0.0056044243 0.0029280817 0.0056427248 - 653700 0.0038584977 0.002763066 0.0046320258 - 653800 0.0057715139 0.0028576027 0.0056531797 - 653900 0.0055351929 0.0028996208 0.0055807298 - 654000 0.0046023606 0.0024168021 0.0046460705 - 654100 0.0049783603 0.0022988069 0.0047102001 - 654200 0.0045671311 0.0021763806 0.0043885847 - 654300 0.0049080779 0.001945487 0.0043228372 - 654400 0.0055039094 0.0019530808 0.004619037 - 654500 0.0053434534 0.0020517196 0.0046399548 - 654600 0.0064515856 0.0020262481 0.0051512348 - 654700 0.0054236439 0.0021331314 0.0047602089 - 654800 0.0058858807 0.0025702839 0.0054212573 - 654900 0.003758986 0.002832568 0.0046533268 - 655000 0.0040142218 0.0026273239 0.0045717126 - 655100 0.0030834239 0.0024823978 0.0039759313 - 655200 0.004943824 0.002359078 0.0047537428 - 655300 0.0053238326 0.0028080644 0.0053867958 - 655400 0.0039314736 0.0034448535 0.005349161 - 655500 0.0062947606 0.003003687 0.0060527117 - 655600 0.005831412 0.0024507158 0.005275306 - 655700 0.0051031302 0.0027437667 0.0052155954 - 655800 0.0053921088 0.0027836714 0.0053954742 - 655900 0.003042301 0.0028407348 0.0043143494 - 656000 0.0044334354 0.0027647513 0.0049121966 - 656100 0.0063124688 0.0026640428 0.0057216448 - 656200 0.0067039677 0.0024197087 0.0056669431 - 656300 0.0064594907 0.0031459207 0.0062747365 - 656400 0.0063143318 0.0040595144 0.0071180188 - 656500 0.0047835356 0.0038918809 0.006208906 - 656600 0.006173573 0.0036461384 0.0066364629 - 656700 0.0060779953 0.0035508436 0.0064948725 - 656800 0.0051100696 0.0036661918 0.0061413818 - 656900 0.0045448402 0.0032612164 0.0054626233 - 657000 0.0042624843 0.0031360191 0.00520066 - 657100 0.0061780642 0.0028013427 0.0057938426 - 657200 0.0063834342 0.0030723427 0.0061643187 - 657300 0.0064985571 0.0030556917 0.0062034303 - 657400 0.0046493367 0.0027233375 0.00497536 - 657500 0.0039536099 0.0023789087 0.0042939384 - 657600 0.0040609235 0.0024138076 0.0043808174 - 657700 0.0057497035 0.002153922 0.0049389346 - 657800 0.0050982439 0.0022214829 0.0046909448 - 657900 0.003856894 0.0021461622 0.0040143452 - 658000 0.004875946 0.0016817935 0.0040435798 - 658100 0.0052966117 0.0017318736 0.0042974199 - 658200 0.0036333057 0.0024492223 0.0042091048 - 658300 0.0055014078 0.0028560834 0.0055208278 - 658400 0.0048445811 0.0026367831 0.004983377 - 658500 0.0043502915 0.0024185839 0.0045257564 - 658600 0.005252141 0.0024774002 0.0050214059 - 658700 0.0057420291 0.0025360799 0.0053173753 - 658800 0.0045631064 0.0026801526 0.0048904072 - 658900 0.0049866389 0.002590223 0.0050056262 - 659000 0.0045274279 0.0029992893 0.0051922622 - 659100 0.007209328 0.0025473612 0.0060393795 - 659200 0.0051121409 0.0024476878 0.004923881 - 659300 0.0057217422 0.0026059033 0.0053773722 - 659400 0.0048380715 0.0026662877 0.0050097286 - 659500 0.0043877335 0.003044067 0.0051693754 - 659600 0.0056171148 0.0028647986 0.0055855886 - 659700 0.0037907919 0.0027043927 0.0045405576 - 659800 0.005247633 0.0026988874 0.0052407096 - 659900 0.0071151958 0.0026892424 0.0061356653 - 660000 0.0051081289 0.0028144848 0.0052887347 - 660100 0.0045772269 0.0026756309 0.0048927252 - 660200 0.0056775029 0.0026207046 0.0053707451 - 660300 0.0048854512 0.0022776415 0.0046440319 - 660400 0.0073197634 0.0018182451 0.0053637555 - 660500 0.0061799104 0.0021687695 0.0051621636 - 660600 0.0032734561 0.0021423746 0.0037279549 - 660700 0.0059749782 0.0020075174 0.0049016475 - 660800 0.0055942463 0.0024850403 0.0051947533 - 660900 0.0039168013 0.0030655364 0.004962737 - 661000 0.0036937267 0.0028047689 0.0045939178 - 661100 0.0070880239 0.0022191658 0.0056524274 - 661200 0.0041299842 0.0022620895 0.0042625506 - 661300 0.0066088736 0.0022758094 0.0054769825 - 661400 0.0042766706 0.0024043409 0.0044758532 - 661500 0.0037452718 0.0022768785 0.0040909946 - 661600 0.0039826649 0.0020812471 0.0040103504 - 661700 0.0052712392 0.0022630614 0.0048163179 - 661800 0.0035303187 0.0024049235 0.0041149217 - 661900 0.0041050006 0.0026587881 0.0046471478 - 662000 0.0053046069 0.0027413493 0.0053107683 - 662100 0.0064409263 0.003098326 0.0062181497 - 662200 0.0048305218 0.0036770192 0.0060168031 - 662300 0.0059453223 0.0035500629 0.0064298283 - 662400 0.0058585213 0.0027763552 0.0056140764 - 662500 0.0076515022 0.0020899482 0.0057961446 - 662600 0.0061928708 0.0022959624 0.0052956342 - 662700 0.0035047787 0.0026848167 0.0043824439 - 662800 0.0039718028 0.0026594289 0.0045832709 - 662900 0.006190969 0.00262631 0.0056250607 - 663000 0.0064937098 0.0029484641 0.0060938548 - 663100 0.0048884593 0.0029218466 0.005289694 - 663200 0.0052110482 0.0024708453 0.0049949468 - 663300 0.0048992134 0.0023383819 0.0047114384 - 663400 0.0039907543 0.0027080232 0.0046410448 - 663500 0.0039238123 0.0027687968 0.0046693934 - 663600 0.0048269203 0.0023904833 0.0047285228 - 663700 0.0043343422 0.0022459179 0.0043453649 - 663800 0.0051654036 0.0017995455 0.0043015378 - 663900 0.0059653237 0.0020627862 0.0049522398 - 664000 0.0057718231 0.0022683372 0.005064064 - 664100 0.0046163062 0.0022393083 0.0044753316 - 664200 0.0032325147 0.0019707946 0.0035365439 - 664300 0.0045698841 0.0022761214 0.004489659 - 664400 0.0052345545 0.0025435159 0.0050790032 - 664500 0.0039974158 0.0024938858 0.0044301341 - 664600 0.0046914913 0.0022486292 0.0045210703 - 664700 0.0039342229 0.0024992378 0.0044048771 - 664800 0.0050004568 0.0028348354 0.0052569317 - 664900 0.0050375832 0.0028845156 0.0053245949 - 665000 0.0050255197 0.0025445442 0.0049787803 - 665100 0.0054461118 0.0024663843 0.0051043447 - 665200 0.0060032804 0.0025972092 0.0055050482 - 665300 0.0051966285 0.0024782834 0.0049954003 - 665400 0.0050295425 0.0023870574 0.004823242 - 665500 0.0065092317 0.0027998044 0.0059527135 - 665600 0.0049951082 0.0033540077 0.0057735133 - 665700 0.0044626353 0.0031241047 0.0052856937 - 665800 0.0056197071 0.002527722 0.0052497677 - 665900 0.0045284169 0.0023701414 0.0045635933 - 666000 0.0045781813 0.0023526428 0.0045701994 - 666100 0.0045018062 0.0024962708 0.0046768332 - 666200 0.0044095361 0.0026102522 0.0047461213 - 666300 0.0056640952 0.00220317 0.0049467161 - 666400 0.0042839775 0.0020539057 0.0041289573 - 666500 0.0050379341 0.0022393053 0.0046795547 - 666600 0.0042928593 0.002469051 0.0045484047 - 666700 0.0058179651 0.0022106921 0.005028769 - 666800 0.0056580281 0.0023105133 0.0050511206 - 666900 0.0040756478 0.0024162372 0.0043903791 - 667000 0.0065846572 0.0027105478 0.0058999912 - 667100 0.0055445292 0.0028426254 0.0055282567 - 667200 0.0061404972 0.0027759535 0.0057502568 - 667300 0.0035910058 0.0024062949 0.0041456883 - 667400 0.0048036523 0.0020610535 0.0043878226 - 667500 0.003457991 0.0019794819 0.0036544462 - 667600 0.0038203384 0.001968766 0.0038192424 - 667700 0.0032395937 0.0019771201 0.0035462982 - 667800 0.0044064509 0.0025733893 0.004707764 - 667900 0.0055470123 0.0023080042 0.0049948383 - 668000 0.0047103893 0.0023611953 0.0046427901 - 668100 0.0046817142 0.002491793 0.0047594984 - 668200 0.0063145839 0.0021554981 0.0052141247 - 668300 0.0056526054 0.0021614282 0.004899409 - 668400 0.0046070692 0.0021935806 0.0044251298 - 668500 0.0050492037 0.0021590651 0.0046047732 - 668600 0.0088383081 0.0018305981 0.0061116536 - 668700 0.0044401579 0.0023136281 0.0044643296 - 668800 0.0044978628 0.0024863303 0.0046649826 - 668900 0.0049398112 0.002252732 0.0046454531 - 669000 0.0060791426 0.0025346379 0.0054792226 - 669100 0.0045527823 0.002356554 0.0045618079 - 669200 0.0047368266 0.0021394846 0.004433885 - 669300 0.0050729684 0.0020526462 0.0045098653 - 669400 0.0047574176 0.0021275938 0.004431968 - 669500 0.0052082424 0.0022788136 0.0048015561 - 669600 0.0055135217 0.0021206537 0.0047912658 - 669700 0.0043991675 0.0017870453 0.003917892 - 669800 0.0057803454 0.001716041 0.0045158958 - 669900 0.0052209085 0.0019883816 0.0045172592 - 670000 0.00487207 0.0024860514 0.0048459603 - 670100 0.0052612955 0.0027424239 0.0052908639 - 670200 0.0047554345 0.0025028587 0.0048062723 - 670300 0.0069987632 0.0022817887 0.0056718146 - 670400 0.0057736247 0.0026996808 0.0054962803 - 670500 0.0054649502 0.0028821895 0.0055292747 - 670600 0.0045800927 0.0030836457 0.0053021281 - 670700 0.0064241944 0.0030539157 0.0061656349 - 670800 0.0042970309 0.0032665449 0.0053479193 - 670900 0.0074591033 0.0032366526 0.0068496558 - 671000 0.0060037934 0.003266237 0.0061743244 - 671100 0.0051022413 0.0032044483 0.0056758465 - 671200 0.0047392309 0.003150356 0.005445921 - 671300 0.0048220238 0.0028274751 0.0051631428 - 671400 0.0049543229 0.0029732546 0.0053730047 - 671500 0.0054379883 0.0032481333 0.0058821589 - 671600 0.0039607189 0.0033397411 0.0052582143 - 671700 0.0051199914 0.0028648786 0.0053448745 - 671800 0.0060965899 0.0028614991 0.0058145348 - 671900 0.0040823295 0.0029249817 0.00490236 - 672000 0.0048224752 0.0028554703 0.0051913567 - 672100 0.0045443499 0.002951749 0.0051529185 - 672200 0.0056765236 0.0023936426 0.0051432087 - 672300 0.0033590441 0.001847507 0.003474544 - 672400 0.0047584909 0.0023142257 0.0046191197 - 672500 0.0057905861 0.0024139131 0.0052187282 - 672600 0.0044930103 0.0022105582 0.0043868601 - 672700 0.0056529034 0.0021606619 0.004898787 - 672800 0.0029842424 0.0024735124 0.0039190048 - 672900 0.0055176969 0.0024383986 0.0051110331 - 673000 0.0058900887 0.002437771 0.0052907827 - 673100 0.0055556903 0.0029462787 0.0056373161 - 673200 0.0044478004 0.0031054349 0.0052598382 - 673300 0.0063511054 0.0032243219 0.0063006385 - 673400 0.0051153695 0.0025921229 0.00506988 - 673500 0.0076496927 0.0019056578 0.0056109777 - 673600 0.0050444928 0.0021748386 0.0046182648 - 673700 0.0042447845 0.0021829548 0.0042390223 - 673800 0.0045986287 0.0025209503 0.0047484111 - 673900 0.0054706216 0.0026675827 0.005317415 - 674000 0.0049650717 0.0025137742 0.0049187308 - 674100 0.0054329525 0.0020138869 0.0046454733 - 674200 0.0048640549 0.0019913979 0.0043474245 - 674300 0.0050858849 0.0019248412 0.0043883167 - 674400 0.0044601137 0.0020593264 0.0042196939 - 674500 0.0050922499 0.0019393671 0.0044059256 - 674600 0.0052855109 0.0022119747 0.0047721441 - 674700 0.0059545537 0.0022713499 0.0051555869 - 674800 0.0055734975 0.0022645956 0.0049642584 - 674900 0.0043798167 0.0022470664 0.0043685401 - 675000 0.0051503739 0.002456838 0.0049515503 - 675100 0.0052250542 0.0027520001 0.0052828857 - 675200 0.0075699276 0.0023520192 0.0060187029 - 675300 0.0035411458 0.0025540116 0.0042692541 - 675400 0.0040744192 0.0024365958 0.0044101426 - 675500 0.0061467774 0.0021582575 0.0051356028 - 675600 0.0044258898 0.0026457176 0.0047895079 - 675700 0.0061952699 0.0025115971 0.005512431 - 675800 0.0052217221 0.0023770971 0.0049063687 - 675900 0.0042423637 0.0025823778 0.0046372727 - 676000 0.0049014411 0.002256747 0.0046308825 - 676100 0.0037324483 0.0025248464 0.0043327511 - 676200 0.004568583 0.0023808197 0.0045937271 - 676300 0.0049923416 0.002333082 0.0047512474 - 676400 0.0048964395 0.002360636 0.0047323489 - 676500 0.0047273964 0.0022093084 0.0044991411 - 676600 0.003985956 0.0020733573 0.0040040547 - 676700 0.0057483484 0.0018608836 0.0046452398 - 676800 0.0057907928 0.0020612579 0.0048661732 - 676900 0.0041273828 0.0021948485 0.0041940496 - 677000 0.0044050488 0.0020142167 0.0041479122 - 677100 0.0054080404 0.0022972057 0.0049167253 - 677200 0.0048803105 0.0024456699 0.0048095703 - 677300 0.00576458 0.0023249019 0.0051171203 - 677400 0.0054136493 0.002586122 0.0052083584 - 677500 0.0050461954 0.0023619758 0.0048062267 - 677600 0.0046359273 0.0018034277 0.004048955 - 677700 0.0041651905 0.0018005079 0.003818022 - 677800 0.0044502978 0.0020047214 0.0041603344 - 677900 0.0057833273 0.0024324326 0.0052337317 - 678000 0.0058113764 0.0026540691 0.0054689545 - 678100 0.0047202253 0.0023342639 0.0046206231 - 678200 0.0035894822 0.0020762461 0.0038149016 - 678300 0.0052947317 0.0021884505 0.0047530861 - 678400 0.0053057264 0.0025350042 0.0051049654 - 678500 0.0033285114 0.0026962737 0.0043085214 - 678600 0.0044892321 0.0020850169 0.0042594887 - 678700 0.0032158902 0.0023200238 0.0038777206 - 678800 0.0041575443 0.0026867478 0.0047005584 - 678900 0.0058519511 0.003124892 0.0059594308 - 679000 0.0048723103 0.002904829 0.0052648543 - 679100 0.0045899694 0.0026390094 0.0048622758 - 679200 0.0048564843 0.0022594594 0.004611819 - 679300 0.0059384571 0.0019245889 0.004801029 - 679400 0.0077187753 0.0021703106 0.0059090923 - 679500 0.0051688044 0.0026888859 0.0051925255 - 679600 0.004070692 0.0028872213 0.0048589627 - 679700 0.0048345879 0.0029798607 0.0053216142 - 679800 0.005860978 0.0028466624 0.0056855736 - 679900 0.0052474297 0.0030261892 0.005567913 - 680000 0.0076275458 0.0025858365 0.006280429 - 680100 0.0055989288 0.0024195857 0.0051315669 - 680200 0.0056377985 0.0021929221 0.0049237307 - 680300 0.00565205 0.0023102093 0.005047921 - 680400 0.0056759079 0.0025225486 0.0052718165 - 680500 0.0051132394 0.0026571143 0.0051338396 - 680600 0.0065130406 0.0025316933 0.0056864473 - 680700 0.0058029179 0.0024899958 0.0053007841 - 680800 0.0049472536 0.0021309981 0.004527324 - 680900 0.0046929495 0.0022271788 0.0045003262 - 681000 0.004361032 0.002533281 0.0046456559 - 681100 0.0038968901 0.0026932862 0.0045808423 - 681200 0.0041876199 0.0025821553 0.0046105337 - 681300 0.0051278282 0.0023649284 0.0048487202 - 681400 0.005898771 0.0022149776 0.0050721948 - 681500 0.0059602298 0.0029478383 0.0058348246 - 681600 0.0067050198 0.0034200323 0.0066677763 - 681700 0.0048052461 0.0037840072 0.0061115483 - 681800 0.0065597367 0.0028143517 0.0059917242 - 681900 0.0046579302 0.0024974117 0.0047535967 - 682000 0.0049615574 0.002466016 0.0048692704 - 682100 0.0048412638 0.0025752921 0.0049202792 - 682200 0.0048487745 0.0024238825 0.0047725076 - 682300 0.0045227888 0.0020818299 0.0042725557 - 682400 0.0053009738 0.0016715858 0.004239245 - 682500 0.0051125039 0.0017264847 0.0042028538 - 682600 0.0043904292 0.0018105733 0.0039371874 - 682700 0.0053926513 0.0019181475 0.004530213 - 682800 0.0048312899 0.0022087878 0.0045489438 - 682900 0.0047987695 0.0027864544 0.0051108584 - 683000 0.0059111909 0.0024126045 0.0052758376 - 683100 0.0057995783 0.0025636252 0.005372796 - 683200 0.0067236482 0.0022166267 0.0054733938 - 683300 0.0050484878 0.0019651876 0.0044105489 - 683400 0.0065888504 0.0019511123 0.0051425867 - 683500 0.0045550119 0.0020965571 0.004302891 - 683600 0.0028744234 0.0022215432 0.0036138421 - 683700 0.0056943205 0.001929467 0.0046876535 - 683800 0.0056803787 0.0020244787 0.0047759122 - 683900 0.00475549 0.0019410179 0.0042444584 - 684000 0.0049528209 0.0020333643 0.0044323869 - 684100 0.0049093654 0.0024540671 0.0048320409 - 684200 0.0051899527 0.0023308208 0.0048447042 - 684300 0.0059806939 0.0022141523 0.0051110509 - 684400 0.0024605996 0.0024779473 0.0036698003 - 684500 0.0054022965 0.0023591908 0.0049759282 - 684600 0.0055633664 0.0028738941 0.0055686497 - 684700 0.006130549 0.0030061541 0.0059756388 - 684800 0.0047513093 0.0025464458 0.0048478613 - 684900 0.0055100128 0.002691452 0.0053603645 - 685000 0.004735371 0.0027147674 0.0050084627 - 685100 0.0058698091 0.0025501516 0.0053933404 - 685200 0.0078923931 0.0032148157 0.0070376936 - 685300 0.0045854891 0.0039288576 0.0061499539 - 685400 0.0052587644 0.0033902472 0.0059374612 - 685500 0.0040129245 0.003204865 0.0051486253 - 685600 0.0052833065 0.002810966 0.0053700676 - 685700 0.0051453278 0.0025628998 0.005055168 - 685800 0.0045324805 0.0026705858 0.004866006 - 685900 0.0077763308 0.0026602773 0.0064269375 - 686000 0.0033311875 0.0025365934 0.0041501374 - 686100 0.0051084726 0.0028058989 0.0052803153 - 686200 0.0059598068 0.0024300372 0.0053168187 - 686300 0.0057803801 0.002433187 0.0052330587 - 686400 0.0043392471 0.0026967121 0.0047985349 - 686500 0.0052508574 0.0026750609 0.005218445 - 686600 0.0056321984 0.0023164449 0.005044541 - 686700 0.0057485401 0.0021157315 0.0049001806 - 686800 0.003423079 0.0025194249 0.0041774788 - 686900 0.0045575634 0.002295016 0.0045025858 - 687000 0.004619164 0.0022850766 0.0045224841 - 687100 0.0046654728 0.0022283087 0.0044881471 - 687200 0.004863556 0.0023487564 0.0047045413 - 687300 0.006172934 0.002240496 0.0052305109 - 687400 0.0049606063 0.0023311927 0.0047339864 - 687500 0.0045253287 0.001962663 0.0041546191 - 687600 0.003957309 0.0017706064 0.003687428 - 687700 0.0047020149 0.0025448263 0.0048223648 - 687800 0.0061684784 0.0026165334 0.0056043901 - 687900 0.0054085211 0.0027118165 0.0053315689 - 688000 0.0063006496 0.0032390254 0.0062909025 - 688100 0.0060432639 0.0029908844 0.0059180903 - 688200 0.0063558115 0.0021358221 0.0052144183 - 688300 0.0056745978 0.0016409605 0.0043895938 - 688400 0.0042063538 0.0014861797 0.0035236323 - 688500 0.0058117274 0.0016127107 0.0044277662 - 688600 0.0051227145 0.0019692893 0.0044506042 - 688700 0.0047235935 0.002250906 0.0045388966 - 688800 0.0049586961 0.0023860639 0.0047879323 - 688900 0.0073283806 0.0024628402 0.0060125245 - 689000 0.0063520585 0.0025219784 0.0055987567 - 689100 0.0063643007 0.0026380952 0.0057208034 - 689200 0.0045782251 0.0022181105 0.0044356882 - 689300 0.0045791388 0.0020769127 0.004294933 - 689400 0.0043718521 0.0021233551 0.004240971 - 689500 0.0054560001 0.0018926329 0.0045353829 - 689600 0.0055724106 0.0019569141 0.0046560505 - 689700 0.0043345714 0.0021556018 0.0042551598 - 689800 0.0038935601 0.0023508292 0.0042367724 - 689900 0.0052007588 0.0023658891 0.0048850067 - 690000 0.0052563947 0.0020806806 0.0046267468 - 690100 0.0048999668 0.0020947318 0.0044681533 - 690200 0.0062732998 0.0018237452 0.0048623748 - 690300 0.0048219074 0.0017034242 0.0040390356 - 690400 0.0047122131 0.0021077306 0.0043902088 - 690500 0.0046980895 0.0026692926 0.0049449297 - 690600 0.0071789315 0.0024391651 0.00591646 - 690700 0.0056947468 0.0027471965 0.0055055894 - 690800 0.0057765625 0.0027483369 0.0055463594 - 690900 0.0057439325 0.0028271717 0.005609389 - 691000 0.0058139247 0.0025706292 0.005386749 - 691100 0.0052781061 0.0030115843 0.0055681669 - 691200 0.0044837473 0.003576585 0.0057484001 - 691300 0.0049365253 0.0035070865 0.005898216 - 691400 0.0062517786 0.0031108732 0.0061390784 - 691500 0.0040722653 0.0032249173 0.0051974208 - 691600 0.0061018542 0.0031453214 0.006100907 - 691700 0.0059338826 0.0026904008 0.0055646252 - 691800 0.0055201967 0.002653074 0.0053269192 - 691900 0.0043633046 0.0023197013 0.0044331769 - 692000 0.0045333564 0.0020832707 0.0042791153 - 692100 0.0063676516 0.0019233611 0.0050076923 - 692200 0.0042678043 0.0021041334 0.0041713511 - 692300 0.0054541041 0.001656117 0.0042979486 - 692400 0.0048317635 0.0024898739 0.0048302594 - 692500 0.006048147 0.0029900424 0.0059196136 - 692600 0.005374931 0.0031780219 0.0057815041 - 692700 0.0049558733 0.0028020917 0.0052025928 - 692800 0.0058100517 0.0028638218 0.0056780656 - 692900 0.0054230936 0.0026270138 0.0052538247 - 693000 0.0055547687 0.002490169 0.0051807601 - 693100 0.0074226986 0.0025287077 0.0061240774 - 693200 0.0046690469 0.0027059757 0.0049675453 - 693300 0.0051606818 0.0022748099 0.0047745152 - 693400 0.0054636867 0.0020126602 0.0046591335 - 693500 0.0055681757 0.0022273983 0.0049244834 - 693600 0.0041752017 0.0024957423 0.0045181056 - 693700 0.0042382072 0.0025918975 0.0046447792 - 693800 0.0044741799 0.0028116242 0.004978805 - 693900 0.0058244331 0.0026048594 0.0054260691 - 694000 0.0041558302 0.0023163249 0.0043293051 - 694100 0.0050020092 0.0022471803 0.0046700285 - 694200 0.0058270531 0.0024211746 0.0052436534 - 694300 0.004738693 0.002571209 0.0048665134 - 694400 0.0061088216 0.0023734428 0.0053324033 - 694500 0.005458943 0.0020365569 0.0046807324 - 694600 0.0063820424 0.0021100497 0.0052013515 - 694700 0.0055482577 0.0024067036 0.005094141 - 694800 0.0062675316 0.0023689426 0.0054047782 - 694900 0.0096804294 0.0019935477 0.0066825057 - 695000 0.0048710209 0.0024501114 0.0048095122 - 695100 0.0038570269 0.0026339212 0.0045021686 - 695200 0.0057671424 0.0024888803 0.0052823399 - 695300 0.0066145345 0.0027993367 0.0060032519 - 695400 0.0052143337 0.0028904789 0.0054161717 - 695500 0.0070589196 0.0024182345 0.0058373986 - 695600 0.0057425513 0.0021734505 0.0049549988 - 695700 0.0056989086 0.0021237303 0.0048841392 - 695800 0.0061171483 0.0025549098 0.0055179035 - 695900 0.0052580699 0.0028852457 0.0054321233 - 696000 0.0050614627 0.0030283082 0.0054799542 - 696100 0.0047960868 0.0026645625 0.0049876671 - 696200 0.0061891809 0.0024145045 0.005412389 - 696300 0.0058555315 0.0022909599 0.0051272329 - 696400 0.0062036252 0.0020355491 0.00504043 - 696500 0.0053945537 0.0018318959 0.0044448829 - 696600 0.0065690238 0.0020428696 0.0052247405 - 696700 0.0043967929 0.0026228024 0.004752499 - 696800 0.004853418 0.0020895256 0.0044404 - 696900 0.0055846588 0.0015044996 0.0042095687 - 697000 0.0058338276 0.0021565543 0.0049823146 - 697100 0.0050625761 0.0022433303 0.0046955156 - 697200 0.0069969662 0.0019204202 0.0053095757 - 697300 0.0063957018 0.0021658064 0.0052637245 - 697400 0.0045989005 0.0027498639 0.0049774563 - 697500 0.0060780181 0.0029234193 0.0058674593 - 697600 0.0050057552 0.00293233 0.0053569926 - 697700 0.004193981 0.0024610964 0.004492556 - 697800 0.0042423477 0.0027867136 0.0048416008 - 697900 0.0045899491 0.0028606019 0.0050838585 - 698000 0.004401685 0.0025704307 0.0047024969 - 698100 0.0042580508 0.00215044 0.0042129333 - 698200 0.0044041405 0.0023475741 0.0044808296 - 698300 0.0049493948 0.0019581358 0.0043554989 - 698400 0.0037983504 0.0021331644 0.0039729904 - 698500 0.005515871 0.0025001123 0.0051718623 - 698600 0.0065573906 0.0027314198 0.0059076558 - 698700 0.0049387288 0.0023230356 0.0047152324 - 698800 0.0050345082 0.0022071756 0.0046457655 - 698900 0.0047717199 0.0023317987 0.0046431005 - 699000 0.0048294157 0.0024121938 0.004751442 - 699100 0.0045909584 0.0025376875 0.004761433 - 699200 0.0043954709 0.0023829204 0.0045119766 - 699300 0.0048221455 0.0024294355 0.0047651622 - 699400 0.0048300187 0.002467943 0.0048074833 - 699500 0.0043811204 0.0027106607 0.0048327659 - 699600 0.0052703921 0.0024916009 0.005044447 - 699700 0.0057587106 0.0023043241 0.0050936995 - 699800 0.0044870729 0.0023423374 0.0045157634 - 699900 0.0047304532 0.0020414022 0.0043327155 - 700000 0.0041787728 0.0021283157 0.0041524087 - 700100 0.0036062352 0.0025431083 0.0042898785 - 700200 0.0051262547 0.0025122709 0.0049953005 - 700300 0.0054914527 0.002226945 0.0048868674 - 700400 0.0041895469 0.0019509109 0.0039802227 - 700500 0.0060707193 0.0018257735 0.0047662781 - 700600 0.0043026401 0.0020288969 0.0041129882 - 700700 0.0041768192 0.0016857469 0.0037088937 - 700800 0.0063879782 0.0022266324 0.0053208094 - 700900 0.0044052334 0.0025686507 0.0047024356 - 701000 0.0054788822 0.0020676298 0.0047214634 - 701100 0.004801091 0.00199119 0.0043167185 - 701200 0.0062348055 0.0017184038 0.0047383877 - 701300 0.0065042721 0.0018401704 0.0049906772 - 701400 0.0044736986 0.0028332273 0.0050001751 - 701500 0.0055927476 0.002506155 0.0052151421 - 701600 0.0059604078 0.0017129648 0.0046000374 - 701700 0.0056015271 0.0019616901 0.0046749298 - 701800 0.0050607986 0.0022307498 0.0046820741 - 701900 0.0046002042 0.0019739656 0.0042021895 - 702000 0.0038108384 0.0025604899 0.0044063648 - 702100 0.0049169166 0.0026641501 0.0050457815 - 702200 0.0085618524 0.0021639486 0.0063110959 - 702300 0.0049097207 0.0022283997 0.0046065457 - 702400 0.0067935192 0.0024463853 0.0057369961 - 702500 0.0053811683 0.0019627941 0.0045692975 - 702600 0.0046809674 0.001991516 0.0042588595 - 702700 0.0054086504 0.0022730097 0.0048928247 - 702800 0.0056085158 0.0025759436 0.0052925685 - 702900 0.0055426653 0.0026017016 0.0052864301 - 703000 0.00471894 0.002794403 0.0050801396 - 703100 0.0045774664 0.002415893 0.0046331033 - 703200 0.00522573 0.0021451707 0.0046763837 - 703300 0.0057025498 0.0022242361 0.0049864086 - 703400 0.0064690111 0.0023730992 0.0055065264 - 703500 0.0041530995 0.0027858813 0.0047975388 - 703600 0.0055286027 0.0026429566 0.0053208736 - 703700 0.0056172277 0.0026507208 0.0053715654 - 703800 0.0047195323 0.0027030308 0.0049890543 - 703900 0.0055108569 0.0027462047 0.0054155261 - 704000 0.0046224079 0.0027388825 0.0049778613 - 704100 0.0053297097 0.00195107 0.0045326481 - 704200 0.0051174881 0.0020559212 0.0045347045 - 704300 0.0045424814 0.0025013062 0.0047015706 - 704400 0.0046666796 0.0025500648 0.0048104877 - 704500 0.0056375077 0.0029254977 0.0056561654 - 704600 0.0057353016 0.0032640429 0.0060420796 - 704700 0.0054522922 0.0032827885 0.0059237426 - 704800 0.0070030835 0.0029405143 0.0063326329 - 704900 0.0063082631 0.0023411845 0.0053967494 - 705000 0.0054770895 0.0024367068 0.005089672 - 705100 0.0045910072 0.002352379 0.0045761481 - 705200 0.005661665 0.0023450564 0.0050874254 - 705300 0.004060935 0.0025280924 0.0044951078 - 705400 0.0037944195 0.0025931871 0.004431109 - 705500 0.0044786852 0.0025880873 0.0047574504 - 705600 0.006410589 0.0023408854 0.0054460145 - 705700 0.0061954683 0.001956196 0.004957126 - 705800 0.0054776268 0.0024576837 0.0051109092 - 705900 0.0045295236 0.0026511833 0.0048451714 - 706000 0.006460047 0.0023223801 0.0054514654 - 706100 0.0042067492 0.0022495603 0.0042872044 - 706200 0.0051741735 0.0022777741 0.0047840144 - 706300 0.0052556869 0.0024797707 0.0050254941 - 706400 0.0042497782 0.002251837 0.0043103234 - 706500 0.0051002473 0.0021288003 0.0045992326 - 706600 0.0037299088 0.0021225139 0.0039291885 - 706700 0.0053655139 0.0022394159 0.0048383367 - 706800 0.0034480242 0.0022469429 0.0039170797 - 706900 0.0066706638 0.0022409199 0.0054720227 - 707000 0.0056595753 0.0020052435 0.0047466003 - 707100 0.0039446335 0.002327033 0.0042377149 - 707200 0.0043109189 0.0025031611 0.0045912624 - 707300 0.0046741891 0.002655885 0.0049199453 - 707400 0.0054345414 0.00280855 0.005440906 - 707500 0.0053535833 0.002488227 0.0050813689 - 707600 0.0051239294 0.0023952979 0.0048772012 - 707700 0.0051169251 0.0027353397 0.0052138503 - 707800 0.0046251019 0.0030465967 0.0052868804 - 707900 0.0063908658 0.0027051759 0.0058007515 - 708000 0.0054480412 0.0025166826 0.0051555776 - 708100 0.0042853989 0.002730763 0.004806503 - 708200 0.0059379999 0.0027442805 0.0056204992 - 708300 0.00540226 0.0025189229 0.0051356426 - 708400 0.0058787883 0.0024221046 0.0052696427 - 708500 0.004507402 0.0024928195 0.0046760924 - 708600 0.0049856809 0.0023358504 0.0047507896 - 708700 0.0055204688 0.0026213505 0.0052953276 - 708800 0.0050879996 0.0028986757 0.0053631755 - 708900 0.005434699 0.0026172187 0.005249651 - 709000 0.0052427384 0.0026232354 0.0051626868 - 709100 0.0048797346 0.0025167894 0.0048804109 - 709200 0.0040083715 0.0022219025 0.0041634574 - 709300 0.0035651663 0.0017662253 0.0034931027 - 709400 0.0036406016 0.0017804123 0.0035438287 - 709500 0.0035924717 0.0018424879 0.0035825913 - 709600 0.0047120851 0.0020122145 0.0042946307 - 709700 0.00512661 0.0020424767 0.0045256784 - 709800 0.0047428596 0.0017808349 0.0040781575 - 709900 0.00375979 0.0017657161 0.0035868644 - 710000 0.006641813 0.0017993057 0.0050164338 - 710100 0.0060820427 0.0024764488 0.0054224383 - 710200 0.0043855466 0.0028485729 0.004972822 - 710300 0.0064794195 0.0026963601 0.005834829 - 710400 0.0053344625 0.0022294512 0.0048133314 - 710500 0.0055311904 0.0022657644 0.0049449347 - 710600 0.0068281191 0.0024796327 0.0057870029 - 710700 0.0038703626 0.0025687053 0.0044434122 - 710800 0.0061813258 0.0022215143 0.005215594 - 710900 0.00453134 0.00251339 0.0047082578 - 711000 0.0045235043 0.00202264 0.0042137124 - 711100 0.0063642965 0.0017762558 0.0048589619 - 711200 0.0044582341 0.0018577366 0.0040171938 - 711300 0.0051839424 0.0024149878 0.0049259598 - 711400 0.0064769999 0.0025255185 0.0056628154 - 711500 0.0075827087 0.0021529086 0.0058257832 - 711600 0.0050624708 0.0021041466 0.0045562809 - 711700 0.00580146 0.0024517783 0.0052618605 - 711800 0.0068480653 0.002462522 0.0057795536 - 711900 0.0054221114 0.0025731586 0.0051994938 - 712000 0.006717789 0.0026344255 0.0058883546 - 712100 0.0051453455 0.002686562 0.0051788387 - 712200 0.0054526541 0.0026373189 0.0052784483 - 712300 0.0043582019 0.0023859562 0.0044969602 - 712400 0.0043750678 0.0018745419 0.0039937154 - 712500 0.0046554989 0.0018892455 0.0041442528 - 712600 0.0050356755 0.0020698643 0.0045090196 - 712700 0.0047184824 0.0024959341 0.004781449 - 712800 0.0050791685 0.002759856 0.0052200783 - 712900 0.0074202693 0.0031212529 0.0067154459 - 713000 0.0062772241 0.0034683118 0.0065088422 - 713100 0.0056318167 0.0039743641 0.0067022753 - 713200 0.0051846605 0.0033834126 0.0058947325 - 713300 0.0058652172 0.0028223214 0.005663286 - 713400 0.004675212 0.0024177259 0.0046822817 - 713500 0.0061257909 0.0022293893 0.0051965692 - 713600 0.004664284 0.0021263336 0.0043855961 - 713700 0.0056371949 0.0027043603 0.0054348766 - 713800 0.0049996223 0.0033824589 0.005804151 - 713900 0.0070068641 0.0024378561 0.0058318058 - 714000 0.0062026798 0.002099055 0.005103478 - 714100 0.0035215667 0.0023217679 0.0040275268 - 714200 0.0054993005 0.0027180656 0.0053817893 - 714300 0.005857727 0.0030096041 0.0058469407 - 714400 0.0055024108 0.0026080412 0.0052732714 - 714500 0.0057747828 0.0026751069 0.0054722673 - 714600 0.0049955232 0.0025379785 0.0049576851 - 714700 0.0032006078 0.0028130535 0.0043633479 - 714800 0.0055393563 0.0027983131 0.0054814388 - 714900 0.0049694286 0.0026166982 0.0050237652 - 715000 0.0059805941 0.0024806119 0.0053774621 - 715100 0.0065716092 0.0024302014 0.0056133246 - 715200 0.0089228858 0.0028459847 0.0071680075 - 715300 0.0052927921 0.0031428369 0.0057065331 - 715400 0.0057132413 0.0031519668 0.0059193181 - 715500 0.0040462124 0.0032436261 0.0052035102 - 715600 0.0059612609 0.0030884882 0.0059759739 - 715700 0.0063344395 0.0027913305 0.0058595747 - 715800 0.0046259357 0.0023895745 0.0046302621 - 715900 0.005379215 0.0021756668 0.0047812241 - 716000 0.0057383734 0.0023385969 0.0051181215 - 716100 0.0055421502 0.0026878091 0.0053722881 - 716200 0.0056300734 0.0024158274 0.0051428942 - 716300 0.0050441384 0.0019328656 0.0043761201 - 716400 0.0059025446 0.0017314084 0.0045904535 - 716500 0.0057807667 0.0022435514 0.0050436103 - 716600 0.004393764 0.0029567948 0.0050850243 - 716700 0.004702431 0.0034130027 0.0056907427 - 716800 0.0045778145 0.0033550789 0.0055724578 - 716900 0.0059064196 0.00301146 0.005872382 - 717000 0.0046480886 0.0030216706 0.0052730885 - 717100 0.0069054657 0.0031217447 0.0064665796 - 717200 0.005477618 0.0031696663 0.0058228875 - 717300 0.0051154363 0.003292638 0.0057704275 - 717400 0.0077441087 0.0027250486 0.0064761013 - 717500 0.0052524103 0.00256508 0.0051092162 - 717600 0.0048748806 0.0025907291 0.0049519994 - 717700 0.0047600452 0.0025672634 0.0048729104 - 717800 0.0054090412 0.00230352 0.0049235243 - 717900 0.0046619741 0.0020731011 0.0043312448 - 718000 0.0053294537 0.0018008467 0.0043823008 - 718100 0.0046162088 0.0018206496 0.0040566258 - 718200 0.0050000238 0.0016794416 0.0041013281 - 718300 0.0051873158 0.0021215089 0.004634115 - 718400 0.0051626891 0.0024075919 0.0049082695 - 718500 0.0036214193 0.002433216 0.0041873409 - 718600 0.0051045272 0.0023379762 0.0048104816 - 718700 0.0062954773 0.0023335726 0.0053829444 - 718800 0.0050353454 0.0022728486 0.004711844 - 718900 0.004746775 0.0025205597 0.0048197789 - 719000 0.0038732396 0.0022713257 0.0041474262 - 719100 0.0047661558 0.0023954525 0.0047040592 - 719200 0.005178044 0.0026623781 0.0051704932 - 719300 0.0046655945 0.0030847939 0.0053446912 - 719400 0.0069183978 0.0029502808 0.0063013797 - 719500 0.0055334561 0.0029425732 0.005622841 - 719600 0.0049183826 0.0029125595 0.0052949011 - 719700 0.0059499532 0.0032769089 0.0061589175 - 719800 0.006188803 0.0030911611 0.0060888626 - 719900 0.005991225 0.0028312971 0.0057332967 - 720000 0.0044274497 0.0029269585 0.0050715044 - 720100 0.0055029076 0.0026692124 0.0053346833 - 720200 0.0063939702 0.0022701919 0.0053672713 - 720300 0.0056366996 0.0024956361 0.0052259125 - 720400 0.0048413749 0.0027543861 0.005099427 - 720500 0.0049474431 0.0026370285 0.0050334462 - 720600 0.0040908057 0.002450589 0.004432073 - 720700 0.0044459328 0.0024159328 0.0045694315 - 720800 0.0045523702 0.0027966544 0.0050017087 - 720900 0.005643145 0.0031534819 0.0058868803 - 721000 0.0059065884 0.0031807245 0.0060417283 - 721100 0.0051923351 0.0027039451 0.0052189824 - 721200 0.0064785591 0.0028758243 0.0060138763 - 721300 0.00615862 0.0028269129 0.0058099945 - 721400 0.0068610949 0.0022807146 0.0056040575 - 721500 0.0081061997 0.0024625907 0.0063890312 - 721600 0.0040233968 0.0025551384 0.0045039712 - 721700 0.0052388964 0.0028190221 0.0053566126 - 721800 0.0061999915 0.0023274298 0.0053305507 - 721900 0.0054358053 0.0024741949 0.0051071631 - 722000 0.003838774 0.0026506795 0.0045100857 - 722100 0.0049583625 0.0023802069 0.0047819137 - 722200 0.0056906814 0.002351271 0.0051076948 - 722300 0.0049567868 0.0025054283 0.0049063719 - 722400 0.0059891071 0.0029824551 0.0058834289 - 722500 0.0068570938 0.003371585 0.0066929898 - 722600 0.0056510958 0.0029229383 0.0056601878 - 722700 0.0040444824 0.0026627006 0.0046217467 - 722800 0.004727718 0.0022822784 0.0045722668 - 722900 0.0048145231 0.001986105 0.0043181396 - 723000 0.0054619861 0.0019466744 0.004592324 - 723100 0.0040061672 0.0025296308 0.0044701181 - 723200 0.0048038597 0.0025590709 0.0048859404 - 723300 0.0074883816 0.0021660182 0.0057932031 - 723400 0.0049083665 0.0021579121 0.0045354021 - 723500 0.0062112268 0.0021783702 0.0051869332 - 723600 0.0061727035 0.0025749245 0.0055648277 - 723700 0.0063961978 0.0027922863 0.0058904446 - 723800 0.0044859702 0.0026529682 0.00482586 - 723900 0.0055046322 0.0021750135 0.0048413197 - 724000 0.0050565022 0.0018012154 0.0042504586 - 724100 0.0049084558 0.0022080456 0.0045855789 - 724200 0.0046985032 0.0026523124 0.0049281499 - 724300 0.0068714735 0.0022923772 0.0056207471 - 724400 0.0057126867 0.0027152326 0.0054823152 - 724500 0.0050816253 0.0029965363 0.0054579485 - 724600 0.0055755977 0.0032361909 0.005936871 - 724700 0.0050996932 0.0026581843 0.0051283482 - 724800 0.0047294723 0.0022998906 0.0045907288 - 724900 0.0054790539 0.002350356 0.0050042727 - 725000 0.004895326 0.0022109548 0.0045821284 - 725100 0.003846575 0.0019044002 0.003767585 - 725200 0.0052504129 0.0020034579 0.0045466267 - 725300 0.0037154404 0.0018571547 0.0036568211 - 725400 0.0050111834 0.0017600516 0.0041873436 - 725500 0.0054783632 0.0020577438 0.004711326 - 725600 0.0049330416 0.0024695381 0.0048589801 - 725700 0.0055647825 0.0025517997 0.0052472412 - 725800 0.0057036083 0.0017989134 0.0045615987 - 725900 0.0037192811 0.0024376915 0.0042392183 - 726000 0.0051508533 0.0023964737 0.0048914182 - 726100 0.0061501248 0.0021742851 0.0051532518 - 726200 0.0063181753 0.0019830661 0.0050434322 - 726300 0.0046982274 0.0026372459 0.0049129498 - 726400 0.0038511484 0.0029006239 0.0047660239 - 726500 0.0043958673 0.002509471 0.0046387193 - 726600 0.0042715344 0.0024953303 0.0045643548 - 726700 0.0048458546 0.0023768848 0.0047240956 - 726800 0.0063770561 0.0024485501 0.0055374367 - 726900 0.0047400097 0.0029890736 0.0052850158 - 727000 0.0070673478 0.0028327918 0.0062560384 - 727100 0.0070820335 0.0029651394 0.0063954994 - 727200 0.0039479674 0.0026858343 0.0045981309 - 727300 0.0054003542 0.0019873831 0.0046031797 - 727400 0.0049316484 0.0021305775 0.0045193447 - 727500 0.0061709029 0.0021613939 0.0051504249 - 727600 0.0055272865 0.0025956251 0.0052729045 - 727700 0.0038785519 0.0029926998 0.0048713733 - 727800 0.0053280881 0.0029926047 0.0055733974 - 727900 0.0054815309 0.0027662502 0.0054213667 - 728000 0.005753936 0.002666976 0.0054540388 - 728100 0.0053589103 0.0025921523 0.0051878745 - 728200 0.0056192421 0.0023553162 0.0050771366 - 728300 0.0052589139 0.0020550223 0.0046023087 - 728400 0.005409234 0.0018375977 0.0044576954 - 728500 0.0054857729 0.0020158551 0.0046730263 - 728600 0.0051191676 0.0024437289 0.0049233257 - 728700 0.0053719274 0.0026498071 0.0052518344 - 728800 0.0046494949 0.0027278381 0.0049799372 - 728900 0.0048771526 0.0029355335 0.0052979043 - 729000 0.00544485 0.0030578125 0.0056951617 - 729100 0.0053852974 0.00309945 0.0057079535 - 729200 0.0048740017 0.0025077498 0.0048685944 - 729300 0.0066120823 0.0022496715 0.0054523989 - 729400 0.0060449538 0.0023088178 0.0052368423 - 729500 0.0049026886 0.002701094 0.0050758338 - 729600 0.0044761231 0.0027181035 0.0048862256 - 729700 0.004676877 0.0028727864 0.0051381487 - 729800 0.0036183095 0.0035781064 0.0053307251 - 729900 0.0045331122 0.0031313448 0.0053270711 - 730000 0.005476015 0.0029534265 0.0056058712 - 730100 0.0043627708 0.0030523971 0.0051656142 - 730200 0.0032777449 0.0028982212 0.0044858789 - 730300 0.007563967 0.0022146651 0.0058784616 - 730400 0.0067371872 0.0023302466 0.0055935717 - 730500 0.0045065954 0.0022213373 0.0044042194 - 730600 0.0052704309 0.0019390478 0.0044919128 - 730700 0.0059137964 0.0022802388 0.0051447339 - 730800 0.0050608309 0.0026025608 0.0050539007 - 730900 0.0062398714 0.0027097877 0.0057322254 - 731000 0.0047617397 0.0030275973 0.0053340649 - 731100 0.0046792512 0.0034529954 0.0057195077 - 731200 0.00509595 0.0035170925 0.0059854433 - 731300 0.0050659312 0.0034050824 0.0058588928 - 731400 0.005371438 0.0031989564 0.0058007467 - 731500 0.005112203 0.0036221626 0.0060983859 - 731600 0.0032918372 0.0036360984 0.005230582 - 731700 0.0037735471 0.0035277316 0.0053555434 - 731800 0.0066359347 0.0028484347 0.0060627156 - 731900 0.0049579401 0.0022694499 0.0046709522 - 732000 0.0063631568 0.0021209446 0.0052030987 - 732100 0.0042288681 0.0023739762 0.0044223341 - 732200 0.005429492 0.0024005795 0.0050304897 - 732300 0.0040277822 0.0022119968 0.0041629538 - 732400 0.0058670828 0.0022432964 0.0050851646 - 732500 0.003673472 0.0021578765 0.0039372145 - 732600 0.0042044913 0.00193757 0.0039741205 - 732700 0.0047431313 0.0024785032 0.0047759575 - 732800 0.0044952429 0.0028991998 0.0050765831 - 732900 0.0048338689 0.003438596 0.0057800012 - 733000 0.006339951 0.002922159 0.0059930728 - 733100 0.0051831495 0.0026119494 0.0051225374 - 733200 0.0052697338 0.0027533717 0.005305899 - 733300 0.0042280104 0.002757402 0.0048053445 - 733400 0.0049814098 0.0032544518 0.0056673222 - 733500 0.0044752987 0.0024661513 0.0046338741 - 733600 0.0052063619 0.00224759 0.0047694215 - 733700 0.0050382146 0.0018829762 0.0043233614 - 733800 0.0066544331 0.0024645099 0.005687751 - 733900 0.006680338 0.0030030583 0.006238847 - 734000 0.0042505333 0.0035291224 0.0055879744 - 734100 0.0063307112 0.0031534516 0.0062198898 - 734200 0.004658071 0.0027625536 0.0050188067 - 734300 0.0047759022 0.0027887309 0.0051020585 - 734400 0.0048203603 0.002524387 0.0048592491 - 734500 0.0055671495 0.0025837948 0.0052803828 - 734600 0.0061529575 0.0022458698 0.0052262086 - 734700 0.0058559872 0.0020677774 0.0049042712 - 734800 0.0057407184 0.0022955265 0.005076187 - 734900 0.00590117 0.0021992038 0.005057583 - 735000 0.0063566285 0.0022259034 0.0053048953 - 735100 0.0057565592 0.0022854259 0.0050737593 - 735200 0.0055835748 0.0022336839 0.004938228 - 735300 0.0049543367 0.0023675736 0.0047673304 - 735400 0.0036807121 0.0024222398 0.0042050847 - 735500 0.0054778125 0.0024658539 0.0051191693 - 735600 0.0030518812 0.0028967815 0.0043750364 - 735700 0.007310571 0.0025167039 0.0060577617 - 735800 0.0055438135 0.0024278822 0.0051131668 - 735900 0.006869377 0.0022290848 0.0055564393 - 736000 0.0048027921 0.0025056309 0.0048319833 - 736100 0.0045425242 0.0024042116 0.0046044967 - 736200 0.0042525718 0.0026010843 0.0046609238 - 736300 0.006492408 0.0021993545 0.0053441146 - 736400 0.004651565 0.0021165602 0.004369662 - 736500 0.0043953403 0.0018186068 0.0039475998 - 736600 0.0050792169 0.0016558183 0.004116064 - 736700 0.004369873 0.0019698061 0.0040864634 - 736800 0.0040026795 0.0024088807 0.0043476785 - 736900 0.0040976156 0.0027644994 0.004749282 - 737000 0.004106859 0.0028900938 0.0048793536 - 737100 0.0063158418 0.0024556265 0.0055148624 - 737200 0.005431213 0.0024243357 0.0050550795 - 737300 0.005924806 0.0025342033 0.0054040312 - 737400 0.0056796882 0.0024188332 0.0051699322 - 737500 0.004441957 0.0022944116 0.0044459845 - 737600 0.0046113627 0.0025849434 0.0048185723 - 737700 0.006737235 0.0023813028 0.0056446511 - 737800 0.0046750137 0.0024699824 0.0047344421 - 737900 0.0039763111 0.0025747852 0.0045008109 - 738000 0.0037607063 0.0023300044 0.0041515965 - 738100 0.0039031745 0.0019904941 0.0038810942 - 738200 0.0043225888 0.001900879 0.003994633 - 738300 0.0046372094 0.0023146899 0.0045608382 - 738400 0.0047023575 0.0022026998 0.0044804042 - 738500 0.0052622949 0.0021012261 0.0046501502 - 738600 0.0047068299 0.0024054083 0.0046852791 - 738700 0.0055278223 0.002171961 0.0048495 - 738800 0.0046122254 0.002473151 0.0047071977 - 738900 0.0045559611 0.002332265 0.0045390586 - 739000 0.0039625867 0.0024779491 0.0043973271 - 739100 0.0044235959 0.0025991656 0.0047418449 - 739200 0.0041743994 0.003076561 0.0050985357 - 739300 0.0051131572 0.002866324 0.0053430095 - 739400 0.004852732 0.0023808085 0.0047313506 - 739500 0.0059609727 0.0026254409 0.005512787 - 739600 0.0051284258 0.0026784955 0.0051625767 - 739700 0.0059700262 0.003273439 0.0061651704 - 739800 0.0049349826 0.0034952679 0.0058856501 - 739900 0.0063161443 0.003178255 0.0062376374 - 740000 0.0050214979 0.003500517 0.005932805 - 740100 0.0044791321 0.0037168261 0.0058864058 - 740200 0.0051620237 0.0034217746 0.0059221299 - 740300 0.0052648278 0.0033173481 0.005867499 - 740400 0.0051052842 0.0030848359 0.005557708 - 740500 0.005663582 0.002711443 0.0054547406 - 740600 0.0063090029 0.0024317647 0.005487688 - 740700 0.0060103622 0.0023786942 0.0052899634 - 740800 0.0051195162 0.0025854687 0.0050652344 - 740900 0.0060392541 0.0021965562 0.0051218199 - 741000 0.0054283708 0.0023331421 0.0049625092 - 741100 0.004959905 0.0025730253 0.0049754793 - 741200 0.0045670398 0.0026805109 0.0048926708 - 741300 0.0039605947 0.0026560074 0.0045744205 - 741400 0.0060403575 0.0026328527 0.0055586508 - 741500 0.0039740358 0.0027231264 0.00464805 - 741600 0.0060432851 0.0027643436 0.0056915598 - 741700 0.006483741 0.0028111811 0.0059517431 - 741800 0.0076532232 0.0028429088 0.0065499388 - 741900 0.0051189486 0.0032586507 0.0057381414 - 742000 0.0046819489 0.0035386888 0.0058065078 - 742100 0.0051041558 0.0036295736 0.0061018991 - 742200 0.005788989 0.0028306425 0.0056346841 - 742300 0.0057061059 0.0024026868 0.0051665819 - 742400 0.0052611338 0.0021069177 0.0046552794 - 742500 0.0039797073 0.0024740437 0.0044017145 - 742600 0.0039453249 0.002707852 0.0046188688 - 742700 0.0066975677 0.0025890346 0.005833169 - 742800 0.0047498702 0.0020913817 0.0043921001 - 742900 0.0053681222 0.0018372542 0.0044374384 - 743000 0.0034797339 0.0018860329 0.003571529 - 743100 0.0055241222 0.0023034785 0.0049792252 - 743200 0.0057624014 0.0028859194 0.0056770826 - 743300 0.003636597 0.0027915731 0.0045530498 - 743400 0.0052645043 0.0022671512 0.0048171454 - 743500 0.006251133 0.0022775673 0.0053054598 - 743600 0.0056627135 0.0025409092 0.0052837861 - 743700 0.0040757197 0.0023474295 0.0043216062 - 743800 0.0045966008 0.0029579302 0.0051844087 - 743900 0.0051542333 0.0025058832 0.0050024649 - 744000 0.0061734254 0.0025085221 0.005498775 - 744100 0.0044154528 0.0031359684 0.0052747034 - 744200 0.0062188552 0.0023755464 0.0053878044 - 744300 0.0069102997 0.0020440984 0.0053912748 - 744400 0.004558688 0.0023369767 0.0045450912 - 744500 0.004487921 0.0022783019 0.0044521387 - 744600 0.0055070974 0.0024048963 0.0050723967 - 744700 0.0059737448 0.0022449237 0.0051384563 - 744800 0.006120748 0.0027785327 0.00574327 - 744900 0.0050077844 0.0025295672 0.0049552128 - 745000 0.0074628841 0.0024675969 0.0060824314 - 745100 0.0054194922 0.0024743236 0.0050993902 - 745200 0.005389157 0.0017995255 0.0044098984 - 745300 0.0048279349 0.0020036814 0.0043422124 - 745400 0.0041397304 0.0022696933 0.0042748752 - 745500 0.0046419307 0.0020256092 0.0042740444 - 745600 0.0044425491 0.0020537265 0.0042055863 - 745700 0.0047651403 0.0020931056 0.0044012204 - 745800 0.0054236402 0.0020263822 0.0046534579 - 745900 0.0047853379 0.0019938002 0.0043116982 - 746000 0.0060623507 0.0020429619 0.004979413 - 746100 0.0047014606 0.0025135848 0.0047908548 - 746200 0.004965934 0.0024344046 0.0048397788 - 746300 0.0055932152 0.002343357 0.0050525706 - 746400 0.0049266452 0.0021113809 0.0044977246 - 746500 0.0047652677 0.0019402465 0.0042484231 - 746600 0.0038562713 0.0018309787 0.0036988601 - 746700 0.0048342466 0.0019831078 0.004324696 - 746800 0.0056932941 0.0019735554 0.0047312447 - 746900 0.0041886205 0.0023945189 0.004423382 - 747000 0.0044613347 0.0027148872 0.0048758462 - 747100 0.0057865536 0.0023054795 0.0051083414 - 747200 0.0063054382 0.0024579913 0.0055121879 - 747300 0.0034634401 0.0023988042 0.004076408 - 747400 0.0064502427 0.0021514503 0.0052757866 - 747500 0.0048032995 0.0026462871 0.0049728853 - 747600 0.0041190058 0.0025815516 0.0045766951 - 747700 0.0057858322 0.0024797184 0.0052822309 - 747800 0.0045919208 0.0024305716 0.0046547832 - 747900 0.0058002231 0.0028026068 0.0056120899 - 748000 0.005291906 0.0031069468 0.0056702138 - 748100 0.0065461449 0.0030200336 0.0061908225 - 748200 0.0063951989 0.0032524008 0.0063500752 - 748300 0.0066038243 0.0029102526 0.00610898 - 748400 0.0042697851 0.0022912265 0.0043594037 - 748500 0.0056437412 0.0021802531 0.0049139402 - 748600 0.0049512502 0.0024454459 0.0048437077 - 748700 0.0045302969 0.0027310978 0.0049254604 - 748800 0.0047146439 0.0024759289 0.0047595846 - 748900 0.0060893946 0.0024500201 0.0053995706 - 749000 0.0060740652 0.0027602487 0.0057023741 - 749100 0.0051665738 0.0026116324 0.0051141916 - 749200 0.0053525043 0.0025882461 0.0051808654 - 749300 0.005388829 0.0025634208 0.0051736348 - 749400 0.0039177951 0.0024934771 0.0043911591 - 749500 0.0059754451 0.0022399138 0.00513427 - 749600 0.0028647676 0.0024167983 0.0038044201 - 749700 0.0048010271 0.0020752415 0.004400739 - 749800 0.0040762963 0.0022194436 0.0041938997 - 749900 0.0036431979 0.0025568843 0.0043215583 - 750000 0.0051223711 0.0022636794 0.0047448279 - 750100 0.0055678037 0.0021985637 0.0048954686 - 750200 0.0065057278 0.0022547973 0.0054060092 - 750300 0.0054631994 0.0023072157 0.0049534529 - 750400 0.0048736048 0.002499519 0.0048601713 - 750500 0.0045445828 0.0021143772 0.0043156595 - 750600 0.0049993729 0.001952963 0.0043745342 - 750700 0.005681936 0.0019977134 0.0047499012 - 750800 0.0049616794 0.0023975306 0.004800844 - 750900 0.0044389315 0.0024066039 0.0045567113 - 751000 0.0060116574 0.0028109387 0.0057228352 - 751100 0.005210912 0.0028238686 0.0053479041 - 751200 0.0037262721 0.0027795016 0.0045844146 - 751300 0.005451559 0.0029350603 0.0055756592 - 751400 0.0052447297 0.0026386973 0.0051791133 - 751500 0.0037289958 0.0026517222 0.0044579545 - 751600 0.005314361 0.0026473018 0.0052214454 - 751700 0.0043641172 0.0026516604 0.0047655296 - 751800 0.0050005554 0.0027447694 0.0051669134 - 751900 0.0054921374 0.0024544434 0.0051146975 - 752000 0.0047860822 0.0020991973 0.0044174559 - 752100 0.0053936535 0.0025581267 0.0051706776 - 752200 0.0052058217 0.0028061856 0.0053277555 - 752300 0.0053276668 0.0031186998 0.0056992884 - 752400 0.0056203561 0.0026319277 0.0053542877 - 752500 0.0056658717 0.0025710355 0.0053154421 - 752600 0.0072025488 0.0023217371 0.0058104717 - 752700 0.0038432475 0.0023981565 0.0042597294 - 752800 0.0065637344 0.0019056435 0.0050849524 - 752900 0.006098587 0.0018743678 0.0048283709 - 753000 0.0057722569 0.0020573056 0.0048532426 - 753100 0.005283166 0.0021980095 0.0047570431 - 753200 0.0053553191 0.0021525907 0.0047465734 - 753300 0.0061588546 0.0023756162 0.0053588115 - 753400 0.0043267982 0.0021563942 0.004252187 - 753500 0.0035980486 0.0022225813 0.0039653861 - 753600 0.0060803977 0.0023276238 0.0052728165 - 753700 0.0049304522 0.002205605 0.0045937928 - 753800 0.006626439 0.002533506 0.0057431874 - 753900 0.0053653956 0.0027791533 0.0053780168 - 754000 0.0042466864 0.0029996416 0.0050566304 - 754100 0.0054300014 0.0027544546 0.0053846115 - 754200 0.0043776796 0.0025675863 0.0046880248 - 754300 0.005130299 0.002415471 0.0049004595 - 754400 0.005256581 0.0026462188 0.0051923753 - 754500 0.0041268074 0.0030563532 0.0050552755 - 754600 0.0058975481 0.0028677897 0.0057244146 - 754700 0.0068271457 0.0028995498 0.0062064485 - 754800 0.0056316753 0.0028354888 0.0055633315 - 754900 0.0050352331 0.0029661539 0.0054050949 - 755000 0.0035691332 0.0031042698 0.0048330687 - 755100 0.0049233296 0.0030150711 0.0053998089 - 755200 0.0049701606 0.0027056074 0.005113029 - 755300 0.0072109985 0.0027659171 0.0062587445 - 755400 0.0057320045 0.0026131273 0.005389567 - 755500 0.006045405 0.002740203 0.005668446 - 755600 0.0049883527 0.0036078526 0.0060240859 - 755700 0.007375558 0.003442929 0.007015465 - 755800 0.0049255536 0.0030685589 0.0054543739 - 755900 0.0075131738 0.0027511586 0.0063903522 - 756000 0.0058314536 0.0023131334 0.0051377438 - 756100 0.0050831922 0.0024018327 0.0048640039 - 756200 0.0051101252 0.0032160797 0.0056912966 - 756300 0.0063157093 0.003100306 0.0061594777 - 756400 0.0058551919 0.0027757749 0.0056118835 - 756500 0.0034390559 0.0028984755 0.0045642682 - 756600 0.0030949448 0.0028122705 0.0043113844 - 756700 0.0050795401 0.002650893 0.0051112953 - 756800 0.0055264962 0.0027177763 0.0053946729 - 756900 0.0065383041 0.0022873804 0.0054543715 - 757000 0.0055022238 0.0020434471 0.0047085868 - 757100 0.0040272703 0.0024719108 0.0044226198 - 757200 0.0035809542 0.002695377 0.0044299017 - 757300 0.0066347846 0.0027342805 0.0059480042 - 757400 0.0043478004 0.0028754261 0.0049813919 - 757500 0.0041702637 0.0027873973 0.0048073688 - 757600 0.0053590816 0.0028180694 0.0054138746 - 757700 0.0054521619 0.0027859351 0.0054268261 - 757800 0.0046260183 0.0025376646 0.0047783922 - 757900 0.0064311432 0.0019950017 0.0051100867 - 758000 0.0039471388 0.0024018758 0.0043137712 - 758100 0.0047190504 0.0022817925 0.0045675826 - 758200 0.0060506376 0.0024595959 0.0053903735 - 758300 0.0064513402 0.0027083457 0.0058332136 - 758400 0.006371663 0.0025824607 0.005668735 - 758500 0.0058915518 0.0024169712 0.0052706916 - 758600 0.0046536692 0.0029309559 0.0051850769 - 758700 0.0051647844 0.0027650834 0.0052667759 - 758800 0.005316229 0.0021738362 0.0047488846 - 758900 0.0051350478 0.0018826566 0.0043699454 - 759000 0.004111089 0.001742928 0.0037342367 - 759100 0.0048536547 0.0016458146 0.0039968036 - 759200 0.0042480668 0.0020348014 0.0040924587 - 759300 0.006021987 0.0024389562 0.0053558562 - 759400 0.0058332154 0.0027157682 0.0055412319 - 759500 0.0047712508 0.0025260977 0.0048371723 - 759600 0.0043742449 0.0017030151 0.0038217899 - 759700 0.0032574524 0.002141725 0.0037195535 - 759800 0.0036935759 0.0024476493 0.0042367251 - 759900 0.0059037414 0.0029378824 0.0057975071 - 760000 0.0041140134 0.00298536 0.0049780853 - 760100 0.004846587 0.0025676484 0.004915214 - 760200 0.0058447973 0.0023933416 0.0052244153 - 760300 0.0050325076 0.0024624451 0.004900066 - 760400 0.0041477248 0.0026224419 0.0046314962 - 760500 0.0050871668 0.0027115628 0.0051756592 - 760600 0.0055421819 0.0024283168 0.0051128111 - 760700 0.0054932916 0.0026428738 0.0053036869 - 760800 0.0046297764 0.003240853 0.0054834009 - 760900 0.0047812315 0.0027771494 0.0050930584 - 761000 0.0063199186 0.002028444 0.0050896545 - 761100 0.0054294376 0.0019878905 0.0046177743 - 761200 0.0045154336 0.0021774757 0.0043646389 - 761300 0.0045396783 0.0018706437 0.0040695504 - 761400 0.0051653631 0.0016833531 0.0041853259 - 761500 0.005599997 0.0015899286 0.0043024271 - 761600 0.0048078471 0.0020348496 0.0043636506 - 761700 0.0047482323 0.0021097505 0.0044096755 - 761800 0.0038246889 0.0018414955 0.0036940792 - 761900 0.0056827051 0.0016474277 0.004399988 - 762000 0.0057092964 0.0015420724 0.0043075128 - 762100 0.0045391566 0.0013602237 0.0035588777 - 762200 0.0044899605 0.0016686965 0.0038435211 - 762300 0.0045852026 0.0022528575 0.004473815 - 762400 0.0042588948 0.0025304091 0.0045933113 - 762500 0.0047312281 0.0021688453 0.0044605339 - 762600 0.0050346723 0.0021304441 0.0045691135 - 762700 0.0051240336 0.0022373005 0.0047192542 - 762800 0.0051444506 0.0018788635 0.0043707067 - 762900 0.0043869905 0.0019426454 0.004067594 - 763000 0.005154752 0.0016757875 0.0041726205 - 763100 0.004498083 0.0019305754 0.0041093344 - 763200 0.0046439111 0.0022114515 0.0044608459 - 763300 0.0036196794 0.002333305 0.0040865872 - 763400 0.0056886715 0.0023068945 0.0050623448 - 763500 0.0053048215 0.0019912101 0.004560733 - 763600 0.0069263831 0.0017200815 0.0050750483 - 763700 0.004600454 0.0020582521 0.0042865969 - 763800 0.004662196 0.0023221987 0.0045804499 - 763900 0.0048687124 0.0019326067 0.0042908893 - 764000 0.0067789492 0.0021889297 0.0054724832 - 764100 0.003512793 0.002483274 0.0041847832 - 764200 0.0045074322 0.0023041714 0.0044874589 - 764300 0.0063804463 0.002341384 0.0054319127 - 764400 0.0055391229 0.0026013616 0.0052843743 - 764500 0.005470308 0.0023600216 0.005009702 - 764600 0.0058792358 0.0021133491 0.0049611039 - 764700 0.0045520362 0.0023204235 0.004525316 - 764800 0.0058203481 0.0019314854 0.0047507165 - 764900 0.007226176 0.0015771483 0.0050773273 - 765000 0.0041915838 0.0018653523 0.0038956507 - 765100 0.0043062752 0.0025462814 0.0046321334 - 765200 0.0033303954 0.0026985551 0.0043117154 - 765300 0.0039700027 0.0022315652 0.0041545353 - 765400 0.0047482265 0.0017876401 0.0040875623 - 765500 0.0038673149 0.0017415293 0.00361476 - 765600 0.0054561829 0.0016139741 0.0042568127 - 765700 0.0038406618 0.0015785869 0.0034389074 - 765800 0.0038183622 0.0016474664 0.0034969856 - 765900 0.0052547365 0.0017919565 0.0043372195 - 766000 0.0051985145 0.0020601801 0.0045782106 - 766100 0.0042378925 0.0026218784 0.0046746076 - 766200 0.0050418782 0.0027996782 0.0052418379 - 766300 0.0062241225 0.0028392902 0.0058540995 - 766400 0.0052219179 0.0031309494 0.0056603159 - 766500 0.0045914774 0.0029361548 0.0051601516 - 766600 0.006053504 0.0028461203 0.0057782863 - 766700 0.006490654 0.0029992186 0.0061431292 - 766800 0.0059316478 0.0028198417 0.0056929837 - 766900 0.0062483812 0.0026499744 0.005676534 - 767000 0.0063401191 0.0027706011 0.0058415964 - 767100 0.0045772214 0.0034799406 0.0056970322 - 767200 0.0057522581 0.0032044323 0.0059906823 - 767300 0.0062610441 0.0024192544 0.0054519476 - 767400 0.0079693394 0.0021777674 0.0060379161 - 767500 0.0050124547 0.002129649 0.0045575567 - 767600 0.0040684071 0.0016102289 0.0035808635 - 767700 0.0053711113 0.0015707906 0.0041724227 - 767800 0.005673462 0.0017966338 0.0045447169 - 767900 0.0058188138 0.0019611954 0.0047796834 - 768000 0.0076103836 0.0023318847 0.0060181643 - 768100 0.005160982 0.0024465886 0.0049464392 - 768200 0.0055875218 0.0024912298 0.0051976857 - 768300 0.0047596471 0.0022167908 0.0045222449 - 768400 0.0056920429 0.0022247557 0.0049818389 - 768500 0.0055513026 0.0023712328 0.0050601449 - 768600 0.0042729207 0.0030495216 0.0051192176 - 768700 0.0040998653 0.0031651913 0.0051510636 - 768800 0.0057019028 0.0036939395 0.0064557987 - 768900 0.0061303314 0.004016652 0.0069860313 - 769000 0.005091407 0.0034525733 0.0059187236 - 769100 0.0050085212 0.0033528847 0.0057788871 - 769200 0.0048595465 0.0029380505 0.0052918934 - 769300 0.0053831445 0.0026332593 0.0052407199 - 769400 0.0037350487 0.0027467781 0.0045559424 - 769500 0.0056596388 0.0023588059 0.0051001934 - 769600 0.0049638689 0.0026193113 0.0050236853 - 769700 0.005880014 0.0027755263 0.0056236581 - 769800 0.0049185317 0.0029133649 0.0052957787 - 769900 0.0055495319 0.0033933876 0.0060814421 - 770000 0.0072312795 0.0035631031 0.0070657541 - 770100 0.0049660885 0.0034444712 0.0058499204 - 770200 0.0038022003 0.0037673844 0.0056090751 - 770300 0.0053781293 0.0036302366 0.006235268 - 770400 0.0070369037 0.0028442022 0.0062527024 - 770500 0.0069346263 0.0026336852 0.0059926448 - 770600 0.0044757625 0.0030408404 0.0052087879 - 770700 0.0038475836 0.0029697149 0.0048333882 - 770800 0.0040728708 0.0027753497 0.0047481465 - 770900 0.0053466617 0.0028792354 0.0054690247 - 771000 0.0045467066 0.0030823496 0.0052846606 - 771100 0.0063461058 0.0025265989 0.0056004938 - 771200 0.0071804675 0.0023081993 0.0057862383 - 771300 0.0062137302 0.0025046709 0.0055144464 - 771400 0.0047367989 0.0026184791 0.004912866 - 771500 0.0058469579 0.0028931719 0.0057252921 - 771600 0.0045922794 0.0035144117 0.005738797 - 771700 0.006211922 0.0029465701 0.0059554698 - 771800 0.0075044618 0.002348316 0.0059832896 - 771900 0.0052031558 0.0024728731 0.0049931516 - 772000 0.0043842597 0.0022069377 0.0043305635 - 772100 0.0055186163 0.0023029587 0.0049760384 - 772200 0.0054323961 0.0023195224 0.0049508393 - 772300 0.0055308186 0.0025630966 0.0052420868 - 772400 0.0058004329 0.0025809632 0.0053905479 - 772500 0.0036009933 0.0019350198 0.0036792509 - 772600 0.0047034409 0.0016816952 0.0039599244 - 772700 0.0044906129 0.0018893042 0.0040644448 - 772800 0.0034435177 0.0024549315 0.0041228854 - 772900 0.0058846827 0.0022318815 0.0050822747 - 773000 0.0048578079 0.001942489 0.0042954897 - 773100 0.0048396002 0.0024491423 0.0047933237 - 773200 0.0051959981 0.0025537678 0.0050705793 - 773300 0.0050210125 0.0026527471 0.0050848001 - 773400 0.005193196 0.002619867 0.0051353213 - 773500 0.0048600405 0.0029955685 0.0053496507 - 773600 0.0061346354 0.0034482659 0.0064197299 - 773700 0.0054241287 0.0030892889 0.0057166012 - 773800 0.0056551397 0.002416815 0.0051560233 - 773900 0.0031414659 0.0023677344 0.0038893819 - 774000 0.0042022152 0.0021140919 0.0041495399 - 774100 0.0067430155 0.0021443027 0.0054104508 - 774200 0.0040815876 0.002589673 0.004566692 - 774300 0.0075856022 0.0022858271 0.0059601031 - 774400 0.0057176383 0.0025224593 0.0052919403 - 774500 0.0045136615 0.0032333048 0.0054196096 - 774600 0.0052038233 0.0031053426 0.0056259445 - 774700 0.0058805838 0.0028883253 0.005736733 - 774800 0.0068381669 0.0028162281 0.0061284652 - 774900 0.0051330328 0.0031573072 0.00564362 - 775000 0.0046320973 0.0033635907 0.0056072628 - 775100 0.0057604451 0.0034379325 0.0062281481 - 775200 0.0065829877 0.0030264928 0.0062151274 - 775300 0.0061989428 0.0027139555 0.0057165684 - 775400 0.004328927 0.0029518611 0.0050486851 - 775500 0.0042196001 0.0029703788 0.0050142476 - 775600 0.0055112491 0.0032962412 0.0059657525 - 775700 0.0054171732 0.0030866034 0.0057105467 - 775800 0.0054601155 0.0031831501 0.0058278936 - 775900 0.0047543219 0.003605209 0.0059080836 - 776000 0.0057972416 0.0034041003 0.0062121392 - 776100 0.0065506343 0.0032086367 0.0063816002 - 776200 0.0046267739 0.0033980772 0.0056391707 - 776300 0.0058471091 0.0030471992 0.0058793926 - 776400 0.0060407587 0.0031433282 0.0060693207 - 776500 0.0061459646 0.0028574333 0.0058343849 - 776600 0.0042212348 0.0029027784 0.004947439 - 776700 0.0053848391 0.0029405997 0.0055488811 - 776800 0.0047608593 0.003401405 0.0057074463 - 776900 0.0050052561 0.003005481 0.0054299019 - 777000 0.0055942116 0.0026950137 0.00540471 - 777100 0.0044105799 0.002386982 0.0045233566 - 777200 0.0043093702 0.002394251 0.0044816022 - 777300 0.0066878881 0.002272038 0.0055114838 - 777400 0.0057520506 0.0021157524 0.0049019019 - 777500 0.004196014 0.002441151 0.0044735953 - 777600 0.0066036579 0.0028874357 0.0060860825 - 777700 0.0061497894 0.0031155066 0.0060943109 - 777800 0.0052234092 0.0036152428 0.0061453316 - 777900 0.0064354415 0.0029589116 0.0060760786 - 778000 0.0052803406 0.002707939 0.005265604 - 778100 0.0043416772 0.0026640603 0.0047670602 - 778200 0.0062529936 0.002782534 0.0058113277 - 778300 0.004925973 0.0030307002 0.0054167184 - 778400 0.0042397819 0.0028110987 0.004864743 - 778500 0.0057403466 0.0021069102 0.0048873906 - 778600 0.0047379679 0.0020266598 0.004321613 - 778700 0.0061697769 0.0021260553 0.005114541 - 778800 0.0048290043 0.0023258503 0.0046648993 - 778900 0.0038024903 0.0023862016 0.0042280329 - 779000 0.0049636359 0.0022436361 0.0046478972 - 779100 0.0056587188 0.0018776125 0.0046185544 - 779200 0.0051884985 0.001737976 0.004251155 - 779300 0.004428864 0.0021747248 0.0043199558 - 779400 0.0044203285 0.0023124029 0.0044534996 - 779500 0.0041852597 0.0026123789 0.0046396141 - 779600 0.0043785287 0.0025600038 0.0046808536 - 779700 0.0051466607 0.00211242 0.0046053338 - 779800 0.00539287 0.0023269039 0.0049390754 - 779900 0.0043092757 0.0025621266 0.004649432 - 780000 0.0061319749 0.002146481 0.0051166563 - 780100 0.0037993999 0.002122117 0.0039624513 - 780200 0.0056727583 0.0022600386 0.0050077809 - 780300 0.0047386817 0.002763709 0.005059008 - 780400 0.0027402503 0.0026923316 0.0040196403 - 780500 0.005039469 0.0028133382 0.005254331 - 780600 0.0054691872 0.0028716393 0.0055207769 - 780700 0.006186041 0.0023984169 0.0053947805 - 780800 0.0047902584 0.0023238028 0.0046440842 - 780900 0.0053550477 0.0022342833 0.0048281346 - 781000 0.0039026581 0.0023692796 0.0042596296 - 781100 0.0045739 0.0020617424 0.0042772252 - 781200 0.0054327527 0.0021556443 0.0047871339 - 781300 0.0043185853 0.0025787618 0.0046705765 - 781400 0.0037805224 0.0028517752 0.0046829657 - 781500 0.004510459 0.002617395 0.0048021486 - 781600 0.0051567532 0.0026570397 0.005154842 - 781700 0.0048122974 0.0025233215 0.004854278 - 781800 0.0042923759 0.0023535142 0.0044326338 - 781900 0.0073519916 0.0019243201 0.005485441 - 782000 0.0053594197 0.0021839152 0.0047798841 - 782100 0.0050034751 0.0024937685 0.0049173268 - 782200 0.007034737 0.0028054286 0.0062128793 - 782300 0.0042522772 0.002639807 0.0046995037 - 782400 0.0069283346 0.002375895 0.0057318071 - 782500 0.0064697184 0.0022963202 0.00543009 - 782600 0.0041290731 0.0023164519 0.0043164717 - 782700 0.0043035881 0.0021345434 0.0042190939 - 782800 0.0051568851 0.0021508274 0.0046486936 - 782900 0.0041302919 0.0026853061 0.0046859162 - 783000 0.0050220793 0.0029409727 0.0053735423 - 783100 0.0061099399 0.0031032797 0.0060627819 - 783200 0.0053528697 0.0031694985 0.0057622947 - 783300 0.0050766355 0.0028753798 0.0053343751 - 783400 0.0058419523 0.0024931283 0.0053228239 - 783500 0.005095339 0.0024761415 0.0049441964 - 783600 0.0039667446 0.0025661282 0.0044875202 - 783700 0.0060219446 0.0022169923 0.0051338718 - 783800 0.0046304073 0.0026046009 0.0048474545 - 783900 0.0048265872 0.0025451026 0.0048829808 - 784000 0.0063051752 0.0025355689 0.0055896382 - 784100 0.0057969752 0.0027322558 0.0055401656 - 784200 0.0044060043 0.0027604817 0.0048946401 - 784300 0.0060862992 0.0024487098 0.005396761 - 784400 0.0067962271 0.0023379813 0.0056299038 - 784500 0.0058019109 0.0025348177 0.0053451183 - 784600 0.0057904029 0.0024636475 0.0052683739 - 784700 0.0048924686 0.002481917 0.0048517065 - 784800 0.0050918641 0.0026235301 0.0050899017 - 784900 0.0072269338 0.0025243451 0.0060248911 - 785000 0.0063741897 0.0025066148 0.005594113 - 785100 0.0054284688 0.002749544 0.0053789586 - 785200 0.005382125 0.002482863 0.0050898298 - 785300 0.0059917513 0.0023745615 0.0052768161 - 785400 0.0054359468 0.0024237914 0.0050568282 - 785500 0.0054103836 0.0021565967 0.0047772513 - 785600 0.0063025639 0.0023888144 0.0054416188 - 785700 0.0058403688 0.0031639769 0.0059929055 - 785800 0.0050944071 0.0034536552 0.0059212587 - 785900 0.0059987992 0.0035046578 0.0064103262 - 786000 0.007365797 0.002823302 0.0063911099 - 786100 0.0059774224 0.0026193208 0.0055146348 - 786200 0.0067888447 0.0023828628 0.0056712094 - 786300 0.0048203911 0.0023224673 0.0046573442 - 786400 0.0056565512 0.0023624136 0.0051023057 - 786500 0.0045103285 0.0021360012 0.0043206915 - 786600 0.0050192577 0.0017155007 0.0041467036 - 786700 0.0056275175 0.0023742941 0.0051001229 - 786800 0.0049795458 0.0032716907 0.0056836582 - 786900 0.0060163758 0.0033736329 0.0062878149 - 787000 0.0051015085 0.0029061632 0.0053772063 - 787100 0.006020987 0.0028350614 0.005751477 - 787200 0.0038499633 0.0027990029 0.0046638288 - 787300 0.0055830509 0.0028928335 0.0055971238 - 787400 0.0041788037 0.0032199135 0.0052440216 - 787500 0.0062399409 0.0029044215 0.0059268929 - 787600 0.0044890697 0.0030002263 0.0051746195 - 787700 0.003872958 0.0030851533 0.0049611174 - 787800 0.0041240279 0.0031358287 0.0051334047 - 787900 0.0054346661 0.0027475833 0.0053799996 - 788000 0.0058159249 0.0025360746 0.0053531632 - 788100 0.0067224099 0.0026364286 0.0058925959 - 788200 0.0039361813 0.0028674176 0.0047740054 - 788300 0.005066175 0.0027480897 0.0052020182 - 788400 0.006335758 0.0022750505 0.0053439333 - 788500 0.0080288311 0.0027454652 0.0066344302 - 788600 0.0064851161 0.0031200006 0.0062612287 - 788700 0.0052477636 0.0028632594 0.0054051449 - 788800 0.0063507679 0.0026100182 0.0056861715 - 788900 0.0051707543 0.0022791367 0.0047837208 - 789000 0.0049561856 0.0023462195 0.0047468719 - 789100 0.0075346557 0.0028996014 0.0065492003 - 789200 0.0047133113 0.0032678341 0.0055508443 - 789300 0.0035991573 0.0030768573 0.0048201992 - 789400 0.0061032262 0.0026794783 0.0056357285 - 789500 0.0040440181 0.0025375031 0.0044963244 - 789600 0.0061664379 0.0023631136 0.0053499819 - 789700 0.0037562959 0.0022183743 0.0040378301 - 789800 0.0061894462 0.0019284215 0.0049264345 - 789900 0.0051870598 0.002191797 0.0047042792 - 790000 0.0046911163 0.0024566555 0.004728915 - 790100 0.0051610317 0.0022107976 0.0047106724 - 790200 0.00703089 0.0023355758 0.0057411632 - 790300 0.0050151645 0.0024155135 0.0048447339 - 790400 0.0048150512 0.0030825666 0.005414857 - 790500 0.0033664783 0.003715539 0.0053461769 - 790600 0.006469053 0.0034377822 0.0065712298 - 790700 0.00661032 0.0024262 0.0056280737 - 790800 0.0060666158 0.00216567 0.005104187 - 790900 0.0048253715 0.0024571803 0.0047944696 - 791000 0.0045823763 0.0024203794 0.0046399679 - 791100 0.0055175786 0.0021846406 0.0048572177 - 791200 0.0050922867 0.0025544083 0.0050209846 - 791300 0.0045760914 0.00247051 0.0046870543 - 791400 0.0055465528 0.0024334271 0.0051200386 - 791500 0.0050837449 0.0025317863 0.0049942252 - 791600 0.0053087569 0.002640896 0.0052123251 - 791700 0.0040875617 0.0023412963 0.004321209 - 791800 0.0046665602 0.0021708959 0.004431261 - 791900 0.0043882835 0.0025420913 0.0046676662 - 792000 0.0053989692 0.0023110929 0.0049262186 - 792100 0.0047919182 0.002471106 0.0047921914 - 792200 0.0056883463 0.0024642553 0.005219548 - 792300 0.0068011527 0.0025467801 0.0058410885 - 792400 0.0053716563 0.002740569 0.005342465 - 792500 0.0059280188 0.0023645531 0.0052359373 - 792600 0.0043803749 0.0023545515 0.0044762956 - 792700 0.0037302302 0.0024857876 0.0042926178 - 792800 0.0054451195 0.0026501033 0.0052875831 - 792900 0.0052758624 0.0025013372 0.0050568331 - 793000 0.0049554304 0.0026457917 0.0050460783 - 793100 0.0053906797 0.0025512692 0.0051623797 - 793200 0.0066731694 0.0025679801 0.0058002965 - 793300 0.0046964898 0.0027293009 0.0050041632 - 793400 0.0061949154 0.0021946091 0.0051952712 - 793500 0.0066926357 0.0020275373 0.0052692827 - 793600 0.005096658 0.002443357 0.0049120507 - 793700 0.00424849 0.0023193463 0.0043772086 - 793800 0.0066745706 0.0025340148 0.00576701 - 793900 0.0070540937 0.0025223119 0.0059391386 - 794000 0.0058003628 0.0022466743 0.0050562251 - 794100 0.0060000635 0.0020879807 0.0049942615 - 794200 0.0036570128 0.0021624611 0.0039338267 - 794300 0.0042110466 0.0019991982 0.0040389239 - 794400 0.0048903858 0.002301327 0.0046701076 - 794500 0.0064509973 0.0020550647 0.0051797665 - 794600 0.0045797045 0.0018709143 0.0040892087 - 794700 0.0067579869 0.0016562854 0.0049296853 - 794800 0.005898519 0.0023543859 0.005211481 - 794900 0.0055031199 0.0030154153 0.005680989 - 795000 0.0060232779 0.0028694574 0.0057869826 - 795100 0.0049901187 0.0027053821 0.0051224708 - 795200 0.0053616533 0.0026213693 0.0052184201 - 795300 0.0076826033 0.0029623531 0.0066836141 - 795400 0.0042119303 0.0034530381 0.0054931918 - 795500 0.0046889232 0.0029879769 0.005259174 - 795600 0.0052160389 0.0022391611 0.00476568 - 795700 0.0046833032 0.0016673794 0.0039358544 - 795800 0.0037768559 0.001499013 0.0033284276 - 795900 0.0043021475 0.0017011868 0.0037850395 - 796000 0.0047962353 0.002013108 0.0043362845 - 796100 0.0043519043 0.0024872694 0.004595223 - 796200 0.0048730316 0.0022701394 0.0046305141 - 796300 0.0045697255 0.0019273391 0.0041407999 - 796400 0.0055406149 0.0020086141 0.0046923494 - 796500 0.0058441736 0.0017623916 0.0045931631 - 796600 0.0048537925 0.0021300292 0.004481085 - 796700 0.0053195548 0.0019603263 0.0045369857 - 796800 0.0046852532 0.0022430875 0.004512507 - 796900 0.0040477748 0.0024227966 0.0043834375 - 797000 0.004584546 0.0026333979 0.0048540374 - 797100 0.0049978086 0.0028167795 0.005237593 - 797200 0.0035660844 0.0024404344 0.0041677565 - 797300 0.004161226 0.002210263 0.0042258568 - 797400 0.0063315251 0.0021242358 0.0051910682 - 797500 0.0047108257 0.0024901344 0.0047719406 - 797600 0.0039679786 0.002775946 0.0046979357 - 797700 0.006004146 0.0023484324 0.0052566906 - 797800 0.0040026266 0.0029875041 0.0049262763 - 797900 0.0051295441 0.0030263987 0.0055110216 - 798000 0.0049667934 0.0026418226 0.0050476132 - 798100 0.0056748962 0.0018637972 0.0046125751 - 798200 0.00443772 0.0016415176 0.0037910382 - 798300 0.0038997708 0.0016732375 0.003562189 - 798400 0.0048351834 0.0018440517 0.0041860936 - 798500 0.0054684527 0.0021918258 0.0048406076 - 798600 0.0050622247 0.0022664717 0.0047184868 - 798700 0.0034878488 0.0023997354 0.0040891622 - 798800 0.0063455738 0.0026420358 0.0057156731 - 798900 0.0033816345 0.0026003388 0.004238318 - 799000 0.0046508612 0.0024228237 0.0046755846 - 799100 0.0043451546 0.002680875 0.0047855592 - 799200 0.0060037474 0.0025517871 0.0054598522 - 799300 0.0055035177 0.0026729891 0.0053387554 - 799400 0.0050511333 0.002686959 0.0051336017 - 799500 0.005696337 0.0022016365 0.0049607998 - 799600 0.0063514853 0.0024087426 0.0054852433 - 799700 0.0043875335 0.0026511468 0.0047763583 - 799800 0.0036962295 0.0025332789 0.0043236401 - 799900 0.0089483024 0.0023210805 0.0066554145 - 800000 0.0048241531 0.0029766507 0.0053133498 - 800100 0.0054647709 0.0028408666 0.005487865 - 800200 0.0043247672 0.0023569362 0.0044517453 - 800300 0.0070851407 0.0020174042 0.0054492692 - 800400 0.0053275451 0.0020128999 0.0045934296 - 800500 0.005550409 0.0022073302 0.0048958096 - 800600 0.0054000562 0.002410543 0.0050261952 - 800700 0.0043177208 0.0023005844 0.0043919804 - 800800 0.0050099681 0.0022270827 0.004653786 - 800900 0.004330821 0.0029943279 0.0050920693 - 801000 0.0071417783 0.0032012301 0.006660529 - 801100 0.0044119307 0.003283531 0.0054205599 - 801200 0.0053930979 0.0031962479 0.0058085297 - 801300 0.0046087716 0.0031324869 0.0053648606 - 801400 0.0048559015 0.002898965 0.0052510423 - 801500 0.0054965396 0.0026962475 0.0053586338 - 801600 0.0046347188 0.0027814959 0.0050264378 - 801700 0.0060662199 0.0022734888 0.0052118141 - 801800 0.0064599217 0.0023274667 0.0054564912 - 801900 0.007951916 0.0020824898 0.0059341991 - 802000 0.0047665775 0.0024332216 0.0047420326 - 802100 0.0060335782 0.0020841797 0.0050066942 - 802200 0.0037688539 0.0020819125 0.0039074511 - 802300 0.0048953376 0.002468559 0.0048397382 - 802400 0.0051327827 0.002269863 0.0047560546 - 802500 0.0064748682 0.0022055939 0.0053418582 - 802600 0.0039265823 0.002563091 0.0044650293 - 802700 0.0048141546 0.0024164156 0.0047482718 - 802800 0.0045818185 0.0023733639 0.0045926822 - 802900 0.0034634497 0.0020788953 0.0037565037 - 803000 0.0048284168 0.0016107118 0.0039494762 - 803100 0.0052698664 0.0013974394 0.003950031 - 803200 0.0048823365 0.001440539 0.0038054207 - 803300 0.0041602655 0.0016900505 0.0037051791 - 803400 0.0048944712 0.0022910621 0.0046618216 - 803500 0.0061035768 0.0025738369 0.0055302569 - 803600 0.0055991496 0.0024420685 0.0051541566 - 803700 0.0053701395 0.0023765241 0.0049776855 - 803800 0.0058012696 0.0018933414 0.0047033314 - 803900 0.0059155228 0.0023422865 0.0052076179 - 804000 0.0064140647 0.0031504246 0.0062572372 - 804100 0.006582868 0.0034353101 0.0066238867 - 804200 0.0038774186 0.0030593907 0.0049375153 - 804300 0.0038547624 0.002892681 0.0047598315 - 804400 0.0042139853 0.002302636 0.0043437852 - 804500 0.0060779217 0.0021414117 0.005085405 - 804600 0.0058543673 0.0024938675 0.0053295766 - 804700 0.0059720078 0.0026776589 0.0055703502 - 804800 0.0056342763 0.00267543 0.0054045326 - 804900 0.0041959188 0.0024365954 0.0044689936 - 805000 0.0053405163 0.0025304368 0.0051172493 - 805100 0.0044991504 0.0026069109 0.0047861868 - 805200 0.0042837011 0.0025428591 0.0046177768 - 805300 0.0052127931 0.0023518956 0.0048768423 - 805400 0.0057905767 0.0021446834 0.004949494 - 805500 0.0041522068 0.0026968416 0.0047080668 - 805600 0.0054307549 0.0024950014 0.0051255233 - 805700 0.0047075309 0.0030051671 0.0052853774 - 805800 0.0063916131 0.0031190659 0.0062150034 - 805900 0.0060611731 0.0027166388 0.0056525196 - 806000 0.0053310461 0.0021056274 0.0046878529 - 806100 0.0038815868 0.0019579432 0.0038380868 - 806200 0.0046136763 0.0026710497 0.0049057992 - 806300 0.0047977439 0.0023336816 0.0046575888 - 806400 0.0051951821 0.0019755149 0.0044919312 - 806500 0.0047076023 0.0019514081 0.0042316529 - 806600 0.0050819841 0.0019632875 0.0044248736 - 806700 0.0046669729 0.0020581683 0.0043187332 - 806800 0.0041476382 0.0017416763 0.0037506885 - 806900 0.006398114 0.001795272 0.0048943584 - 807000 0.0053636428 0.0027161842 0.0053141987 - 807100 0.0057529022 0.0025147737 0.0053013357 - 807200 0.0049986034 0.0018273876 0.0042485861 - 807300 0.0056682742 0.0018010432 0.0045466135 - 807400 0.0035597721 0.0024616454 0.00418591 - 807500 0.0049803409 0.0028477034 0.0052600561 - 807600 0.0028980816 0.0028793742 0.0042831324 - 807700 0.0043731907 0.0024081686 0.0045264328 - 807800 0.0055733309 0.0023037616 0.0050033438 - 807900 0.004798967 0.002316374 0.0046408736 - 808000 0.0061418714 0.0019980631 0.0049730321 - 808100 0.0043169957 0.0020577852 0.00414883 - 808200 0.0046232709 0.0019028098 0.0041422067 - 808300 0.0044524603 0.0021268768 0.0042835373 - 808400 0.0049722384 0.0022953434 0.0047037714 - 808500 0.0040467963 0.0018311444 0.0037913113 - 808600 0.0045854102 0.0017467643 0.0039678223 - 808700 0.0044628094 0.0018715614 0.0040332347 - 808800 0.0053457962 0.0022691551 0.0048585251 - 808900 0.0051987077 0.0021620711 0.0046801951 - 809000 0.0054532984 0.0018102708 0.0044517122 - 809100 0.0060608195 0.0013841888 0.0043198982 - 809200 0.0040661344 0.0017803551 0.003749889 - 809300 0.0048948286 0.0014959495 0.0038668821 - 809400 0.0044786658 0.0015185586 0.0036879124 - 809500 0.0039656841 0.0014976983 0.0034185765 - 809600 0.0044908414 0.0017383442 0.0039135955 - 809700 0.0061750245 0.0018944717 0.0048854991 - 809800 0.0053226146 0.0022708 0.0048489415 - 809900 0.0063337286 0.0025189983 0.0055868981 - 810000 0.0052957978 0.0027215971 0.0052867491 - 810100 0.0047616338 0.0027908366 0.0050972529 - 810200 0.0054302874 0.0030171718 0.0056474673 - 810300 0.0044523643 0.0031941878 0.0053508018 - 810400 0.003536477 0.0030359691 0.0047489502 - 810500 0.007317624 0.0029644726 0.0065089467 - 810600 0.0045130004 0.0029755527 0.0051615372 - 810700 0.0053853279 0.0021462294 0.0047547476 - 810800 0.0062156153 0.0018983025 0.0049089911 - 810900 0.0048582993 0.0018117879 0.0041650267 - 811000 0.0047600881 0.0017826443 0.004088312 - 811100 0.0042342742 0.0017290717 0.0037800483 - 811200 0.005100782 0.0019897446 0.0044604359 - 811300 0.0052689568 0.0022833533 0.0048355043 - 811400 0.0051788182 0.0024110831 0.0049195732 - 811500 0.0056704868 0.0023328576 0.0050794996 - 811600 0.005411715 0.0025396021 0.0051609016 - 811700 0.0054108428 0.0022864462 0.0049073232 - 811800 0.0075556749 0.001997445 0.005657225 - 811900 0.00554471 0.00230139 0.0049871089 - 812000 0.0053942999 0.002590243 0.005203107 - 812100 0.0067589535 0.0025940667 0.0058679348 - 812200 0.0053461533 0.0025595601 0.0051491031 - 812300 0.0053976153 0.0026792054 0.0052936753 - 812400 0.0045248244 0.002899332 0.0050910438 - 812500 0.005058527 0.0027971215 0.0052473455 - 812600 0.0042214738 0.0024650766 0.004509853 - 812700 0.0043970669 0.002361145 0.0044909743 - 812800 0.0060833748 0.0022479285 0.0051945632 - 812900 0.0058132524 0.0021884717 0.0050042659 - 813000 0.0066235166 0.002836232 0.0060444978 - 813100 0.0069291524 0.0031433991 0.0064997073 - 813200 0.0065763602 0.0030410795 0.006226504 - 813300 0.0050079383 0.0028699491 0.0052956693 - 813400 0.0045644355 0.0027430744 0.0049539729 - 813500 0.0051998769 0.0028019323 0.0053206227 - 813600 0.006348489 0.0028319583 0.0059070076 - 813700 0.0038615467 0.0028423917 0.0047128284 - 813800 0.0053029383 0.0023853611 0.0049539719 - 813900 0.0041421367 0.0021021236 0.0041084711 - 814000 0.0050269011 0.0020561868 0.0044910921 - 814100 0.0036844239 0.0023533644 0.0041380072 - 814200 0.0049654017 0.0022529463 0.0046580627 - 814300 0.0054536355 0.0021934848 0.0048350895 - 814400 0.0046075175 0.0018983617 0.004130128 - 814500 0.0048065781 0.0017752168 0.0041034031 - 814600 0.0040994038 0.0024690427 0.0044546914 - 814700 0.0079657545 0.0023152406 0.0061736529 - 814800 0.0043990628 0.0024007933 0.0045315893 - 814900 0.0055395883 0.00264252 0.0053257581 - 815000 0.0062987728 0.0028213425 0.0058723106 - 815100 0.0050061862 0.003216012 0.0056408834 - 815200 0.0050951073 0.0033079696 0.0057759122 - 815300 0.0064539887 0.002742085 0.0058682358 - 815400 0.0064236241 0.002094496 0.0052059389 - 815500 0.0053050967 0.0021351667 0.0047048229 - 815600 0.0069063243 0.0023045455 0.0056497963 - 815700 0.0060321364 0.0023675894 0.0052894054 - 815800 0.0065677686 0.0024314381 0.0056127011 - 815900 0.0034465652 0.0025807393 0.0042501694 - 816000 0.0053124549 0.0026352826 0.005208503 - 816100 0.006542271 0.0023116137 0.0054805262 - 816200 0.0053675486 0.0028666974 0.0054666037 - 816300 0.005744887 0.0027759716 0.0055586513 - 816400 0.0053165842 0.0021723714 0.0047475919 - 816500 0.0055401157 0.0020055299 0.0046890234 - 816600 0.0050324525 0.0023088615 0.0047464557 - 816700 0.0045545448 0.0025013925 0.0047075002 - 816800 0.0056833114 0.0020522488 0.0048051028 - 816900 0.0048159357 0.0022739445 0.0046066634 - 817000 0.0048672835 0.0025941683 0.0049517588 - 817100 0.006170043 0.0024014536 0.0053900682 - 817200 0.0067570661 0.0018879019 0.0051608558 - 817300 0.0047699812 0.0023337634 0.004644223 - 817400 0.0042205243 0.0022243729 0.0042686893 - 817500 0.0050890877 0.0023099498 0.0047749766 - 817600 0.0053995223 0.0020555472 0.0046709408 - 817700 0.0056584825 0.0023506662 0.0050914936 - 817800 0.0040069341 0.0027738289 0.0047146876 - 817900 0.0059275203 0.0022911699 0.0051623125 - 818000 0.0047603286 0.0021436879 0.004449472 - 818100 0.004165436 0.0025337735 0.0045514066 - 818200 0.0042734701 0.0021938012 0.0042637632 - 818300 0.006579353 0.001542726 0.0047296001 - 818400 0.0052622085 0.0017699251 0.0043188074 - 818500 0.0052237755 0.0021898032 0.0047200695 - 818600 0.0041879128 0.0023140823 0.0043426025 - 818700 0.0045616964 0.0022472322 0.0044568039 - 818800 0.0050839222 0.0024176008 0.0048801257 - 818900 0.0028601999 0.0026067491 0.0039921584 - 819000 0.0063770968 0.0023904689 0.0054793752 - 819100 0.0064956601 0.0026430923 0.0057894277 - 819200 0.0064966105 0.0028862621 0.0060330578 - 819300 0.0050632659 0.002776409 0.0052289284 - 819400 0.0057113969 0.0025809281 0.005347386 - 819500 0.0060251734 0.0022263679 0.0051448113 - 819600 0.0039914411 0.002575696 0.0045090503 - 819700 0.0065432677 0.0029028869 0.0060722822 - 819800 0.0060557595 0.0029447287 0.0058779872 - 819900 0.0055422868 0.0026225556 0.0053071008 - 820000 0.0033393236 0.0024233731 0.004040858 - 820100 0.0035101684 0.002490749 0.0041909868 - 820200 0.0037944477 0.0022334698 0.0040714053 - 820300 0.0047857218 0.0022799217 0.0045980057 - 820400 0.0064000593 0.0024310187 0.0055310475 - 820500 0.0057143791 0.0023734809 0.0051413833 - 820600 0.0050626088 0.0021192712 0.0045714724 - 820700 0.0052328071 0.0020425149 0.0045771558 - 820800 0.005325438 0.0020128773 0.0045923863 - 820900 0.0046107253 0.0023131901 0.0045465102 - 821000 0.005930006 0.0023645718 0.0052369185 - 821100 0.0051765739 0.0031304243 0.0056378273 - 821200 0.0047440929 0.0031335897 0.0054315097 - 821300 0.0052369826 0.0029940386 0.005530702 - 821400 0.0043493819 0.0029779325 0.0050846644 - 821500 0.0069021163 0.0025988339 0.0059420465 - 821600 0.0028944514 0.002193758 0.0035957579 - 821700 0.0045841121 0.0022284613 0.0044488906 - 821800 0.0047160235 0.0022930871 0.004577411 - 821900 0.0049876826 0.0019863048 0.0044022136 - 822000 0.0045513185 0.0021394762 0.0043440211 - 822100 0.0042197203 0.002150464 0.004194391 - 822200 0.004001737 0.0018142528 0.0037525942 - 822300 0.0048013639 0.0018633444 0.004189005 - 822400 0.0060998734 0.0021488861 0.0051035123 - 822500 0.0052544879 0.0021969756 0.0047421182 - 822600 0.0057795582 0.002034021 0.0048334945 - 822700 0.0045897083 0.0024494283 0.0046725682 - 822800 0.0041447443 0.0026608005 0.004668411 - 822900 0.0048164089 0.0029775656 0.0053105136 - 823000 0.0060693132 0.0029476817 0.0058875053 - 823100 0.0068741238 0.0025658432 0.0058954969 - 823200 0.0053158639 0.002192046 0.0047669176 - 823300 0.0041441383 0.002466153 0.00447347 - 823400 0.0065336327 0.0022529207 0.0054176491 - 823500 0.0040817626 0.0020893023 0.0040664061 - 823600 0.0035413419 0.0022180494 0.0039333869 - 823700 0.0034978393 0.0021319421 0.003826208 - 823800 0.0040189958 0.0023192821 0.0042659832 - 823900 0.0050449297 0.0027002211 0.0051438589 - 824000 0.0044065578 0.00241935 0.0045537764 - 824100 0.0049948908 0.0027630434 0.0051824437 - 824200 0.0052255683 0.0025264072 0.0050575419 - 824300 0.0034338671 0.0026672169 0.0043304963 - 824400 0.0040301041 0.0024379426 0.0043900243 - 824500 0.0043939947 0.0021353393 0.0042636805 - 824600 0.0046015261 0.0023034962 0.0045323604 - 824700 0.0055116021 0.0019687488 0.004638431 - 824800 0.0057457895 0.0019137463 0.0046968631 - 824900 0.0061598914 0.0022012977 0.005184995 - 825000 0.005980911 0.0025340696 0.0054310734 - 825100 0.0040388393 0.0026518289 0.0046081417 - 825200 0.0045036012 0.0026641868 0.0048456186 - 825300 0.0049192598 0.0026286721 0.0050114386 - 825400 0.0043730318 0.0027937184 0.0049119057 - 825500 0.0047907837 0.0028431576 0.0051636934 - 825600 0.0045912123 0.0028346942 0.0050585627 - 825700 0.0034615048 0.0024475823 0.0041242487 - 825800 0.0057425965 0.0025805558 0.0053621259 - 825900 0.0039801694 0.0025144349 0.0044423295 - 826000 0.0056857335 0.0020423031 0.0047963302 - 826100 0.0047997786 0.0018884482 0.0042133409 - 826200 0.0049843393 0.0018359854 0.0042502747 - 826300 0.0064825593 0.0021620584 0.0053020481 - 826400 0.0053932601 0.0023900746 0.005002435 - 826500 0.006056701 0.0023642806 0.0052979952 - 826600 0.0062265065 0.002377576 0.0053935401 - 826700 0.0045355 0.0021999674 0.0043968502 - 826800 0.0050379029 0.0020220155 0.0044622497 - 826900 0.0046593627 0.0019770457 0.0042339245 - 827000 0.0049981096 0.0021686279 0.0045895872 - 827100 0.0049193146 0.0020620868 0.0044448798 - 827200 0.00459885 0.0023080332 0.0045356011 - 827300 0.004613596 0.0023329309 0.0045676415 - 827400 0.0054427924 0.0023947827 0.0050311353 - 827500 0.0055947344 0.0029717256 0.0056816751 - 827600 0.0057356231 0.0028960672 0.0056742596 - 827700 0.0039488977 0.0028574619 0.0047702092 - 827800 0.0054817551 0.0025028525 0.0051580776 - 827900 0.0057111596 0.0029706195 0.0057369625 - 828000 0.0058450403 0.0032386558 0.0060698471 - 828100 0.0062228118 0.0033842814 0.0063984559 - 828200 0.0054049447 0.0036594447 0.0062774648 - 828300 0.0059065699 0.0032876541 0.0061486489 - 828400 0.005179526 0.0025602192 0.0050690521 - 828500 0.0062229252 0.0026861668 0.0057003962 - 828600 0.0068777957 0.0023503301 0.0056817624 - 828700 0.0035515058 0.0027120034 0.004432264 - 828800 0.005118853 0.0024464101 0.0049258545 - 828900 0.0043459863 0.0023968363 0.0045019235 - 829000 0.00487111 0.0026423938 0.0050018377 - 829100 0.0048978132 0.0029040012 0.0052763794 - 829200 0.0058389628 0.0025143534 0.005342601 - 829300 0.0047915658 0.0025204788 0.0048413935 - 829400 0.0061962764 0.0029958507 0.0059971721 - 829500 0.0047366063 0.0030922363 0.00538653 - 829600 0.0040120395 0.0025893264 0.0045326581 - 829700 0.005352479 0.0022548532 0.0048474602 - 829800 0.0046655326 0.0023244881 0.0045843554 - 829900 0.0051785426 0.0023708818 0.0048792383 - 830000 0.0049267985 0.0022590341 0.0046454521 - 830100 0.0034315258 0.0022996178 0.0039617632 - 830200 0.0043360919 0.0020753282 0.0041756228 - 830300 0.0046260226 0.0022220398 0.0044627694 - 830400 0.0059769369 0.0024802649 0.0053753437 - 830500 0.0058350569 0.0022756619 0.0051020175 - 830600 0.0058028164 0.0020120768 0.004822816 - 830700 0.005518512 0.0023972716 0.0050703008 - 830800 0.0059080228 0.0023178378 0.0051795364 - 830900 0.0044971516 0.0023351242 0.004513432 - 831000 0.0061761945 0.0025086881 0.0055002823 - 831100 0.0038117296 0.0028707326 0.0047170391 - 831200 0.0051339365 0.0022681902 0.0047549407 - 831300 0.004010342 0.0018099531 0.0037524625 - 831400 0.0060078819 0.0017692154 0.0046792832 - 831500 0.0055727414 0.0021407587 0.0048400553 - 831600 0.0040245431 0.0024121882 0.0043615763 - 831700 0.0056943699 0.0023282783 0.0050864887 - 831800 0.0053188756 0.0024197897 0.0049961201 - 831900 0.0062563522 0.0023068296 0.0053372502 - 832000 0.0052745773 0.002474497 0.0050293704 - 832100 0.0037176737 0.0021889589 0.0039897071 - 832200 0.0079583488 0.0015772511 0.0054320763 - 832300 0.0045830933 0.0021184677 0.0043384035 - 832400 0.0061970706 0.0024167754 0.0054184815 - 832500 0.0054147424 0.0023379442 0.0049607101 - 832600 0.0045424213 0.002082179 0.0042824143 - 832700 0.0050937126 0.0021369516 0.0046042186 - 832800 0.0036796767 0.0025341454 0.0043164888 - 832900 0.0049846049 0.0020885783 0.0045029964 - 833000 0.0055207885 0.0022813384 0.0049554704 - 833100 0.0051201046 0.0024835693 0.00496362 - 833200 0.0058830742 0.002816323 0.005665937 - 833300 0.0054137401 0.0029264813 0.0055487616 - 833400 0.0051874226 0.0028107166 0.0053233744 - 833500 0.0040988918 0.0026917799 0.0046771806 - 833600 0.004302148 0.0021876737 0.0042715266 - 833700 0.0066157197 0.0014693206 0.0046738098 - 833800 0.0045364452 0.0017716483 0.0039689889 - 833900 0.0066623366 0.0019840621 0.0052111314 - 834000 0.0040989843 0.0024341347 0.0044195802 - 834100 0.0037467081 0.0024179441 0.0042327559 - 834200 0.0041269421 0.0025669429 0.0045659304 - 834300 0.0056012893 0.0021579695 0.004871094 - 834400 0.0058678559 0.0021478039 0.0049900466 - 834500 0.0047017494 0.0021682526 0.0044456625 - 834600 0.0055502488 0.0019675529 0.0046559547 - 834700 0.0053420939 0.0020092097 0.0045967864 - 834800 0.0045949008 0.0024704585 0.0046961136 - 834900 0.004337325 0.0024703569 0.0045712487 - 835000 0.0045422146 0.0028491574 0.0050492926 - 835100 0.0062929794 0.0025783793 0.0056265412 - 835200 0.0052948594 0.0024411945 0.005005892 - 835300 0.0037158626 0.0026309993 0.0044308702 - 835400 0.0045912973 0.0023154577 0.0045393673 - 835500 0.0045197763 0.0021770982 0.0043663648 - 835600 0.0055790169 0.0022450968 0.0049474331 - 835700 0.0054329092 0.0019989442 0.0046305097 - 835800 0.0052921154 0.0021705242 0.0047338926 - 835900 0.0045914653 0.0025838512 0.0048078423 - 836000 0.00480491 0.002649399 0.0049767773 - 836100 0.0057766663 0.0021896471 0.0049877199 - 836200 0.0044991783 0.0022957362 0.0044750257 - 836300 0.0056510698 0.0025503386 0.0052875755 - 836400 0.0048522203 0.0026181684 0.0049684626 - 836500 0.0073145606 0.0028265682 0.0063695585 - 836600 0.0058313206 0.0031592187 0.0059837646 - 836700 0.0040188518 0.0027793702 0.0047260016 - 836800 0.0045976337 0.0025512495 0.0047782283 - 836900 0.0043706733 0.0023690972 0.0044861421 - 837000 0.0052712761 0.002313835 0.0048671093 - 837100 0.0059679898 0.0023961018 0.0052868469 - 837200 0.0038697098 0.0025417435 0.0044161342 - 837300 0.0062701213 0.0025193594 0.0055564494 - 837400 0.004342511 0.0025749844 0.0046783882 - 837500 0.0078962961 0.0021384158 0.0059631842 - 837600 0.0063414999 0.0023705574 0.0054422214 - 837700 0.0047926252 0.0023893503 0.0047107781 - 837800 0.0056513239 0.0023528334 0.0050901934 - 837900 0.0055139365 0.0024624729 0.0051332859 - 838000 0.0049581246 0.002512766 0.0049143576 - 838100 0.0058663078 0.0023105879 0.0051520807 - 838200 0.0056090756 0.0023337216 0.0050506176 - 838300 0.0041015021 0.002127573 0.0041142381 - 838400 0.0056437258 0.0023825146 0.0051161943 - 838500 0.004199298 0.0023708453 0.0044048803 - 838600 0.004998893 0.0020697711 0.0044911099 - 838700 0.0053021263 0.0019570358 0.0045252532 - 838800 0.0051229968 0.0018582538 0.0043397054 - 838900 0.0038871496 0.0017116579 0.003594496 - 839000 0.0046071258 0.0018011569 0.0040327334 - 839100 0.0035353213 0.001936047 0.0036484683 - 839200 0.004412277 0.0023337095 0.0044709062 - 839300 0.0071344419 0.0022619689 0.0057177141 - 839400 0.0046304856 0.0029365632 0.0051794547 - 839500 0.003635207 0.0034120498 0.0051728531 - 839600 0.0040909069 0.0029285483 0.0049100813 - 839700 0.0052435848 0.0023147554 0.0048546168 - 839800 0.0028826631 0.0021162648 0.0035125548 - 839900 0.0054795308 0.0020162644 0.0046704121 - 840000 0.0049045616 0.0017858008 0.0041614478 - 840100 0.0038253155 0.002003736 0.0038566231 - 840200 0.0040379277 0.0021812672 0.0041371384 - 840300 0.0053418251 0.0024734887 0.0050609353 - 840400 0.0067309497 0.0030962639 0.0063565676 - 840500 0.0044313056 0.003124712 0.0052711257 - 840600 0.0046469022 0.0031021083 0.0053529515 - 840700 0.0045061259 0.0024353235 0.0046179782 - 840800 0.0034020917 0.0022570163 0.0039049045 - 840900 0.004742868 0.0025826689 0.0048799956 - 841000 0.0040852077 0.0027812847 0.0047600572 - 841100 0.0048806397 0.0026939012 0.005057961 - 841200 0.0043685743 0.0024993002 0.0046153284 - 841300 0.004985408 0.0022976992 0.0047125062 - 841400 0.0047789092 0.0022122699 0.0045270541 - 841500 0.0037330465 0.0022782194 0.0040864138 - 841600 0.0049585875 0.0020628673 0.0044646831 - 841700 0.0061202055 0.0019682301 0.0049327046 - 841800 0.0048181385 0.0021143409 0.0044481268 - 841900 0.0054938713 0.0023905406 0.0050516345 - 842000 0.0054432633 0.0023828496 0.0050194302 - 842100 0.0047971672 0.0023132216 0.0046368495 - 842200 0.005414443 0.0016615812 0.004284202 - 842300 0.0040518641 0.0014658586 0.0034284803 - 842400 0.0051666151 0.0018372752 0.0043398544 - 842500 0.0047905582 0.0021211996 0.0044416263 - 842600 0.0066801764 0.0020455703 0.0052812807 - 842700 0.0054692178 0.0022100907 0.004859243 - 842800 0.0072044893 0.0028864104 0.0063760849 - 842900 0.0063627307 0.0031421571 0.0062241048 - 843000 0.0075163131 0.0024377602 0.0060784744 - 843100 0.0078431844 0.0021741203 0.0059731627 - 843200 0.0053367244 0.0023543176 0.0049392935 - 843300 0.0060816561 0.0022066505 0.0051524527 - 843400 0.0061239287 0.0022866255 0.0052529035 - 843500 0.0053474298 0.00251117 0.0051013313 - 843600 0.0065357194 0.0020490237 0.0052147628 - 843700 0.0056361432 0.0017052454 0.0044352523 - 843800 0.0048813018 0.0022678594 0.00463224 - 843900 0.0053272225 0.0027229423 0.0053033157 - 844000 0.0059293796 0.0025452792 0.0054173225 - 844100 0.0064942587 0.002198614 0.0053442705 - 844200 0.0053751023 0.0028066296 0.0054101948 - 844300 0.0046364829 0.0034054878 0.0056512842 - 844400 0.0043410389 0.0032769394 0.0053796301 - 844500 0.0078233555 0.00275888 0.0065483178 - 844600 0.0053461678 0.0023630164 0.0049525664 - 844700 0.005604804 0.0019556998 0.0046705268 - 844800 0.0044237592 0.0018393265 0.0039820849 - 844900 0.0057805607 0.0017300913 0.0045300504 - 845000 0.0035871937 0.0019901145 0.0037276614 - 845100 0.0056223523 0.0024746851 0.005198012 - 845200 0.0042528666 0.002868687 0.0049286693 - 845300 0.0050594811 0.0025666168 0.0050173029 - 845400 0.005854056 0.0021362682 0.0049718266 - 845500 0.0055824248 0.0017349966 0.0044389836 - 845600 0.0031475808 0.002219519 0.0037441284 - 845700 0.0054859728 0.0022972851 0.0049545532 - 845800 0.0047401683 0.0023717831 0.0046678022 - 845900 0.0045984093 0.0020473423 0.0042746968 - 846000 0.0043674519 0.0017364579 0.0038519424 - 846100 0.0043055989 0.0018138571 0.0038993816 - 846200 0.0042141115 0.002067507 0.0041087173 - 846300 0.004734706 0.0020638533 0.0043572265 - 846400 0.0057632516 0.0021146701 0.0049062451 - 846500 0.0057678768 0.0017697501 0.0045635654 - 846600 0.0056407848 0.0018700167 0.0046022718 - 846700 0.0045046841 0.0024373158 0.0046192722 - 846800 0.0048742509 0.0024873948 0.0048483601 - 846900 0.0061905879 0.0024314535 0.0054300195 - 847000 0.0066294527 0.0023046501 0.0055157913 - 847100 0.0059596026 0.0025653313 0.0054520138 - 847200 0.0060575006 0.0023033575 0.0052374594 - 847300 0.0053473826 0.0020083009 0.0045984393 - 847400 0.0046242044 0.0018274772 0.0040673262 - 847500 0.0047585162 0.0018791618 0.0041840681 - 847600 0.0066284825 0.0015820347 0.0047927059 - 847700 0.0049443664 0.0020828085 0.0044777359 - 847800 0.0044812173 0.0025104955 0.0046810851 - 847900 0.00570263 0.0022656499 0.0050278613 - 848000 0.0050332411 0.0021970468 0.004635023 - 848100 0.0065102341 0.0022228496 0.0053762443 - 848200 0.0053020083 0.0023642775 0.0049324378 - 848300 0.0053274385 0.0021139618 0.0046944398 - 848400 0.0053183634 0.0018275016 0.0044035838 - 848500 0.004827764 0.0020952437 0.0044336919 - 848600 0.0063194465 0.0021583366 0.0052193185 - 848700 0.0051665827 0.0027331178 0.0052356813 - 848800 0.0047422019 0.0031194839 0.0054164879 - 848900 0.0058795123 0.0026998931 0.0055477818 - 849000 0.0041452078 0.0024759441 0.0044837791 - 849100 0.0070765726 0.0021107849 0.0055384997 - 849200 0.0047761626 0.0020776899 0.0043911437 - 849300 0.006662591 0.0020612993 0.0052884918 - 849400 0.0068060427 0.0021599752 0.0054566522 - 849500 0.0038453469 0.002101379 0.0039639689 - 849600 0.0060106407 0.0019559547 0.0048673588 - 849700 0.004552989 0.0019320627 0.0041374167 - 849800 0.0050282681 0.0018207869 0.0042563542 - 849900 0.0047089863 0.0017501765 0.0040310917 - 850000 0.0043243929 0.0019558883 0.0040505161 - 850100 0.0056564703 0.0018933254 0.0046331782 - 850200 0.0052461651 0.0018375648 0.004378676 - 850300 0.006151586 0.0021834358 0.0051631102 - 850400 0.0065256154 0.0017365857 0.0048974306 - 850500 0.0046127787 0.0016723056 0.0039066203 - 850600 0.0044770506 0.0023173061 0.0044858774 - 850700 0.0063483717 0.0025545353 0.0056295279 - 850800 0.0055342617 0.0024077276 0.0050883856 - 850900 0.0048869174 0.0027211888 0.0050882894 - 851000 0.0060937245 0.0026640692 0.005615717 - 851100 0.0059759438 0.002279412 0.0051740098 - 851200 0.0054568681 0.0021773895 0.00482056 - 851300 0.0054415679 0.0021548459 0.0047906053 - 851400 0.005322702 0.002165118 0.0047433018 - 851500 0.0048832469 0.0022932947 0.0046586174 - 851600 0.0056398491 0.0023176497 0.0050494516 - 851700 0.0049476685 0.0023908128 0.0047873397 - 851800 0.0043297269 0.0025219515 0.0046191629 - 851900 0.0053344877 0.002362204 0.0049460965 - 852000 0.005651052 0.0027253419 0.0054625702 - 852100 0.0052554842 0.0029110326 0.0054566577 - 852200 0.0068338062 0.002393966 0.0057040908 - 852300 0.0066171613 0.0022001058 0.0054052933 - 852400 0.0045747562 0.0024792577 0.0046951552 - 852500 0.0054963541 0.0026458971 0.0053081936 - 852600 0.0051301672 0.0024514297 0.0049363545 - 852700 0.0046758254 0.0022307605 0.0044956134 - 852800 0.0054242631 0.0020245972 0.0046519747 - 852900 0.0055965071 0.0017909959 0.0045018041 - 853000 0.0047093561 0.0019958598 0.0042769542 - 853100 0.0038906764 0.0023574268 0.0042419732 - 853200 0.0045265386 0.002205101 0.0043976431 - 853300 0.0060613464 0.0017927315 0.0047286962 - 853400 0.0038360721 0.0019044134 0.0037625108 - 853500 0.0069481094 0.001961426 0.0053269165 - 853600 0.0061749654 0.0026702197 0.0056612186 - 853700 0.0039727464 0.0027154868 0.0046397858 - 853800 0.0062323726 0.0023276151 0.0053464205 - 853900 0.0058344756 0.0025840553 0.0054101295 - 854000 0.0054062086 0.0027285542 0.0053471864 - 854100 0.0068726921 0.0024558042 0.0057847644 - 854200 0.0047506581 0.002789197 0.005090297 - 854300 0.0046492118 0.0027093244 0.0049612864 - 854400 0.0053650482 0.0026714527 0.0052701479 - 854500 0.0042997042 0.0026879602 0.0047706294 - 854600 0.0032125823 0.0024378487 0.0039939432 - 854700 0.0048370649 0.0021016679 0.0044446212 - 854800 0.0032609397 0.0020056082 0.0035851258 - 854900 0.0047658867 0.0019665593 0.0042750357 - 855000 0.0051441662 0.0019664955 0.004458201 - 855100 0.0045112696 0.0018055282 0.0039906745 - 855200 0.0048344969 0.0016857722 0.0040274816 - 855300 0.0059210706 0.0017305205 0.004598539 - 855400 0.0057537109 0.0019684333 0.004755387 - 855500 0.0046773708 0.0019018094 0.0041674108 - 855600 0.0056116668 0.001564644 0.0042827951 - 855700 0.0048116404 0.0020640989 0.0043947372 - 855800 0.0054605995 0.0023709866 0.0050159645 - 855900 0.0055447047 0.0019926245 0.0046783409 - 856000 0.0050054473 0.0020305152 0.0044550288 - 856100 0.0048380213 0.0020647083 0.0044081249 - 856200 0.0037347387 0.0025173661 0.0043263802 - 856300 0.0039466067 0.0030060816 0.0049177193 - 856400 0.0055201911 0.0027180454 0.0053918879 - 856500 0.0046404214 0.0024800248 0.0047277289 - 856600 0.004603687 0.0027250226 0.0049549335 - 856700 0.0066560246 0.0025893617 0.0058133736 - 856800 0.0039967012 0.0029387001 0.0048746023 - 856900 0.0053172122 0.0026016934 0.0051772181 - 857000 0.0059338459 0.0027521462 0.0056263528 - 857100 0.0047370318 0.0026488803 0.00494338 - 857200 0.0045607335 0.0023662758 0.0045753812 - 857300 0.0059721903 0.002197875 0.0050906547 - 857400 0.0065228781 0.0024161879 0.005575707 - 857500 0.0062006409 0.0028075766 0.0058110121 - 857600 0.0038365911 0.0028732953 0.0047316441 - 857700 0.0054072567 0.0021494542 0.0047685942 - 857800 0.0056006298 0.0019976169 0.004710422 - 857900 0.0057936282 0.0025047956 0.0053110842 - 858000 0.0050862902 0.0029010384 0.0053647102 - 858100 0.0049961001 0.0026673228 0.0050873088 - 858200 0.0059523257 0.0023044549 0.0051876127 - 858300 0.0047614486 0.0021864549 0.0044927816 - 858400 0.004968407 0.0021119848 0.0045185569 - 858500 0.0057749881 0.0018307458 0.0046280056 - 858600 0.0066652147 0.0018144372 0.0050429005 - 858700 0.0061584912 0.0022876948 0.005270714 - 858800 0.0046949773 0.0025472064 0.0048213361 - 858900 0.0050928117 0.0024940559 0.0049608866 - 859000 0.0049797355 0.0022765165 0.0046885759 - 859100 0.0056067745 0.0020718244 0.0047876058 - 859200 0.0054229514 0.0020380228 0.0046647649 - 859300 0.0039780228 0.0018189108 0.0037457656 - 859400 0.0042505982 0.001724247 0.0037831305 - 859500 0.0052628541 0.0016918975 0.0042410925 - 859600 0.0048974198 0.0024996152 0.0048718029 - 859700 0.0047976964 0.0023383387 0.0046622229 - 859800 0.0057708349 0.0018095158 0.004604764 - 859900 0.0064772899 0.0018962116 0.0050336489 - 860000 0.0034462723 0.0023083792 0.0039776674 - 860100 0.0061993454 0.0018095954 0.0048124033 - 860200 0.0057034573 0.0015984848 0.0043610969 - 860300 0.0058192592 0.001697176 0.0045158796 - 860400 0.0049323521 0.0019389007 0.0043280088 - 860500 0.0054758397 0.0016975892 0.004349949 - 860600 0.004427477 0.0015387656 0.0036833247 - 860700 0.0053766726 0.0018820538 0.0044863796 - 860800 0.0040810129 0.0023712742 0.0043480148 - 860900 0.0053870128 0.0017524227 0.004361757 - 861000 0.0045158816 0.0017887084 0.0039760886 - 861100 0.0050735179 0.0018720085 0.0043294938 - 861200 0.0073476016 0.001434559 0.0049935535 - 861300 0.00308931 0.001910658 0.0034070426 - 861400 0.0053646876 0.0022540369 0.0048525574 - 861500 0.0071445394 0.0025223269 0.0059829632 - 861600 0.0057081751 0.0022294717 0.004994369 - 861700 0.0063887216 0.0019052813 0.0049998183 - 861800 0.0032269482 0.0020065916 0.0035696446 - 861900 0.0042111684 0.0018873598 0.0039271445 - 862000 0.0041561577 0.0015282853 0.0035414241 - 862100 0.0056271413 0.001517036 0.0042426825 - 862200 0.0042311892 0.0017120049 0.0037614871 - 862300 0.0050005287 0.0018080548 0.0042301858 - 862400 0.0054122903 0.0013855865 0.0040071646 - 862500 0.0054489963 0.0018658846 0.0045052422 - 862600 0.0040738253 0.0024948433 0.0044681024 - 862700 0.0039638648 0.002588913 0.00450891 - 862800 0.0070186638 0.0020004464 0.0054001117 - 862900 0.004618009 0.0023952034 0.0046320516 - 863000 0.0053286422 0.0020605854 0.0046416465 - 863100 0.004821944 0.0020788595 0.0044144886 - 863200 0.0046004549 0.0021816466 0.0044099919 - 863300 0.0059568402 0.0020204467 0.0049057911 - 863400 0.0048051147 0.0022981038 0.0046255812 - 863500 0.0064309824 0.0023055222 0.0054205293 - 863600 0.004371846 0.0018549647 0.0039725776 - 863700 0.005676439 0.0015940985 0.0043436237 - 863800 0.0032598176 0.0018324503 0.0034114244 - 863900 0.0038777622 0.0020756202 0.0039539113 - 864000 0.0055107621 0.0022622969 0.0049315723 - 864100 0.0056518722 0.0029205846 0.0056582102 - 864200 0.0040179165 0.0031639942 0.0051101725 - 864300 0.0043485825 0.0026786517 0.0047849963 - 864400 0.0053794451 0.0022325172 0.0048381859 - 864500 0.0060767923 0.0016320858 0.0045755321 - 864600 0.0044020236 0.0018533493 0.0039855794 - 864700 0.0049490534 0.0022481836 0.0046453813 - 864800 0.004145541 0.0023796275 0.0043876239 - 864900 0.0037447399 0.0029604778 0.0047743362 - 865000 0.004296659 0.0031483916 0.0052295858 - 865100 0.0058345092 0.0032608653 0.0060869557 - 865200 0.0054960718 0.0031744876 0.0058366473 - 865300 0.0045008081 0.0032947914 0.0054748703 - 865400 0.0045653353 0.0030730639 0.0052843982 - 865500 0.0071978057 0.0026306075 0.0061170447 - 865600 0.0063455199 0.0028166189 0.0058902301 - 865700 0.0050912691 0.0028198794 0.0052859629 - 865800 0.0060307172 0.0024094242 0.0053305528 - 865900 0.0041719136 0.0023382874 0.0043590581 - 866000 0.0044351216 0.0020427447 0.0041910067 - 866100 0.004781782 0.0016894987 0.0040056743 - 866200 0.0055641472 0.0018026637 0.0044977975 - 866300 0.0045042024 0.002469276 0.0046509991 - 866400 0.0059607457 0.0024847772 0.0053720134 - 866500 0.0054225 0.0024807233 0.0051072467 - 866600 0.0054996571 0.0023395445 0.0050034409 - 866700 0.0057250688 0.0021726529 0.0049457331 - 866800 0.005871109 0.0021315082 0.0049753266 - 866900 0.0047196067 0.0021038641 0.0043899236 - 867000 0.0050635695 0.0020815585 0.0045342249 - 867100 0.0056827948 0.0024987451 0.0052513489 - 867200 0.0051267951 0.0028326384 0.0053159298 - 867300 0.0057432587 0.002637855 0.0054197459 - 867400 0.0045812587 0.0026254513 0.0048444985 - 867500 0.0046908666 0.0027738758 0.0050460143 - 867600 0.0050349511 0.0023926967 0.0048315012 - 867700 0.0055894676 0.0021833812 0.0048907795 - 867800 0.0032962255 0.0021784017 0.0037750109 - 867900 0.0050099061 0.0023848044 0.0048114777 - 868000 0.0052312897 0.0026183719 0.0051522779 - 868100 0.0059175261 0.0025713594 0.0054376611 - 868200 0.0068417628 0.002708126 0.0060221049 - 868300 0.0063183105 0.0029442976 0.0060047292 - 868400 0.0056966803 0.0024823776 0.0052417071 - 868500 0.0053847449 0.0020218806 0.0046301164 - 868600 0.0057887812 0.0019590944 0.0047630353 - 868700 0.0059481688 0.001974104 0.0048552483 - 868800 0.0065051111 0.0018759743 0.0050268875 - 868900 0.0037922577 0.0019039411 0.0037408159 - 869000 0.0052164416 0.0025044649 0.0050311788 - 869100 0.0053844601 0.0024453599 0.0050534577 - 869200 0.0059956641 0.0019829856 0.0048871354 - 869300 0.0052352734 0.0017753918 0.0043112273 - 869400 0.0039440863 0.0016644951 0.0035749119 - 869500 0.0056507857 0.0013360053 0.0040731046 - 869600 0.0039593142 0.0015651736 0.0034829664 - 869700 0.0050498121 0.0017194958 0.0041654985 - 869800 0.0045089653 0.0018625733 0.0040466033 - 869900 0.0040847952 0.0021729251 0.0041514978 - 870000 0.0053131464 0.002425373 0.0049989283 - 870100 0.0046395931 0.0029205034 0.0051678063 - 870200 0.0051698091 0.0031165061 0.0056206324 - 870300 0.00526207 0.0026580498 0.005206865 - 870400 0.0044115242 0.0025758166 0.0047126487 - 870500 0.0053439686 0.0022063411 0.0047948259 - 870600 0.0048150245 0.0022421613 0.0045744388 - 870700 0.0045740713 0.0026258586 0.0048414243 - 870800 0.0058442331 0.0023316024 0.0051624028 - 870900 0.0045884688 0.0020398695 0.004262409 - 871000 0.006745615 0.0023629332 0.0056303405 - 871100 0.0029735211 0.0029038651 0.0043441644 - 871200 0.0029176933 0.0027037768 0.0041170345 - 871300 0.00370194 0.0024572035 0.0042503307 - 871400 0.0047947072 0.002195163 0.0045175993 - 871500 0.0040491894 0.0021832617 0.0041445879 - 871600 0.004131186 0.0020976391 0.0040986823 - 871700 0.0036244676 0.0025006773 0.0042562788 - 871800 0.0050327311 0.0028469612 0.0052846903 - 871900 0.0059752716 0.002640368 0.0055346401 - 872000 0.0072052441 0.0026021206 0.0060921607 - 872100 0.0054599654 0.003356316 0.0060009867 - 872200 0.0061494091 0.0034011473 0.0063797674 - 872300 0.0062216418 0.0029028621 0.0059164698 - 872400 0.0057700572 0.002376346 0.0051712175 - 872500 0.0054605262 0.0017247568 0.0043696991 - 872600 0.0065060645 0.0019192938 0.0050706688 - 872700 0.0034921797 0.00214903 0.0038405545 - 872800 0.0046568465 0.001904314 0.0041599741 - 872900 0.0047508738 0.0018934728 0.0041946773 - 873000 0.0039989058 0.0023370909 0.0042740609 - 873100 0.0046116014 0.0024025697 0.0046363141 - 873200 0.0058362033 0.0024107606 0.0052376716 - 873300 0.0050052353 0.0021089349 0.0045333457 - 873400 0.0043243666 0.0018570149 0.0039516299 - 873500 0.0060417746 0.0017800661 0.0047065506 - 873600 0.0058286883 0.0016270908 0.0044503617 - 873700 0.0059504082 0.0016722526 0.0045544816 - 873800 0.0047201343 0.001502395 0.00378871 - 873900 0.0051643384 0.0019103465 0.0044118229 - 874000 0.0044716935 0.0019164247 0.0040824012 - 874100 0.0055209738 0.0016687887 0.0043430104 - 874200 0.005541297 0.0017268129 0.0044108787 - 874300 0.0043406096 0.0018662017 0.0039686845 - 874400 0.004566841 0.0020667351 0.0042787987 - 874500 0.0053422991 0.0021666657 0.0047543418 - 874600 0.0035525786 0.0024153898 0.0041361701 - 874700 0.005953952 0.0024292206 0.0053131661 - 874800 0.0058431573 0.0024488044 0.0052790837 - 874900 0.0064058203 0.0024285904 0.0055314096 - 875000 0.00405313 0.0020533357 0.0040165705 - 875100 0.0037929332 0.0019596841 0.0037968861 - 875200 0.0050701367 0.0021221614 0.0045780088 - 875300 0.0060715716 0.0017051027 0.0046460202 - 875400 0.004710324 0.0014137658 0.003695329 - 875500 0.0043335123 0.0016019138 0.0037009589 - 875600 0.0042025856 0.0018473997 0.0038830271 - 875700 0.0049053841 0.0017878385 0.0041638839 - 875800 0.0041899618 0.0019920418 0.0040215545 - 875900 0.0044421586 0.0024465964 0.0045982669 - 876000 0.0064750486 0.0024625979 0.0055989496 - 876100 0.0046489407 0.0024328187 0.0046846493 - 876200 0.0054684069 0.0026573109 0.0053060705 - 876300 0.0059946188 0.0025223652 0.0054260087 - 876400 0.005264461 0.002009759 0.0045597323 - 876500 0.0047465956 0.0023134978 0.0046126301 - 876600 0.0038953848 0.0025319194 0.0044187464 - 876700 0.0059633005 0.0024601723 0.005348646 - 876800 0.0052690376 0.0023696607 0.0049218508 - 876900 0.0051080073 0.0027025657 0.0051767568 - 877000 0.0053158923 0.0022440654 0.0048189508 - 877100 0.0043594579 0.0018305838 0.0039421963 - 877200 0.0049671968 0.0015844873 0.0039904732 - 877300 0.0039512363 0.0015694145 0.0034832945 - 877400 0.0038771032 0.0016423989 0.0035203707 - 877500 0.0045670734 0.0017279506 0.0039401268 - 877600 0.0044039909 0.0018076409 0.003940824 - 877700 0.0071993151 0.0015499751 0.0050371433 - 877800 0.0056428781 0.0021374626 0.0048707317 - 877900 0.0055321069 0.002384965 0.0050645793 - 878000 0.0043618243 0.0021396002 0.0042523589 - 878100 0.0061990178 0.0018258514 0.0048285006 - 878200 0.0053402256 0.0019623311 0.0045490028 - 878300 0.0038492453 0.0021352829 0.0039997611 - 878400 0.0054717178 0.0018519674 0.0045023307 - 878500 0.0052963635 0.0023764019 0.004941828 - 878600 0.0043833021 0.002746165 0.0048693269 - 878700 0.0044160999 0.0022371139 0.0043761623 - 878800 0.0061904195 0.0018416638 0.0048401482 - 878900 0.0047326323 0.0022643587 0.0045567275 - 879000 0.0051858318 0.0024106959 0.0049225832 - 879100 0.0079683743 0.0022448074 0.0061044887 - 879200 0.0051239936 0.0026982857 0.0051802201 - 879300 0.0047041908 0.0026877246 0.004966317 - 879400 0.0055377993 0.0023778524 0.005060224 - 879500 0.0055742892 0.0016449477 0.004344994 - 879600 0.0044573179 0.0014146499 0.0035736632 - 879700 0.0045609099 0.0019616657 0.0041708564 - 879800 0.0046675853 0.0020757603 0.0043366219 - 879900 0.0043234176 0.0019717256 0.004065881 - 880000 0.0058968536 0.0018146106 0.0046708991 - 880100 0.0055390001 0.0019235335 0.0046064867 - 880200 0.0039529748 0.0024218493 0.0043365715 - 880300 0.0046439565 0.0023837985 0.004633215 - 880400 0.0071932878 0.0023345259 0.0058187747 - 880500 0.0052674529 0.0021674933 0.0047189158 - 880600 0.005248383 0.0018679768 0.0044101623 - 880700 0.0048606276 0.0020791383 0.0044335048 - 880800 0.0048506162 0.0024348835 0.0047844008 - 880900 0.0050412458 0.002781054 0.0052229074 - 881000 0.0042634156 0.0029056002 0.0049706921 - 881100 0.0052326974 0.0025866147 0.0051212026 - 881200 0.0043613578 0.0027186653 0.004831198 - 881300 0.004146849 0.0026637517 0.0046723816 - 881400 0.0042814352 0.0026028388 0.004676659 - 881500 0.003785976 0.00278726 0.0046210921 - 881600 0.0052532072 0.0028894347 0.0054339569 - 881700 0.005764702 0.0030157881 0.0058080656 - 881800 0.0056337431 0.0028247563 0.0055536006 - 881900 0.0043008144 0.0024057746 0.0044889815 - 882000 0.0047230168 0.0027151318 0.005002843 - 882100 0.0046751936 0.0027084039 0.0049729508 - 882200 0.0041987458 0.0025262908 0.0045600583 - 882300 0.0060678202 0.0023405991 0.0052796995 - 882400 0.0042507609 0.0024753505 0.0045343129 - 882500 0.0042872149 0.0028020391 0.0048786589 - 882600 0.0045338505 0.0021538453 0.0043499291 - 882700 0.004983702 0.0016432505 0.0040572312 - 882800 0.0050595637 0.0015767053 0.0040274315 - 882900 0.0044370081 0.0019226743 0.0040718501 - 883000 0.005687331 0.0022366066 0.0049914075 - 883100 0.0053818283 0.0030032195 0.0056100426 - 883200 0.0050895469 0.0036501023 0.0061153515 - 883300 0.0038622119 0.0036312824 0.0055020413 - 883400 0.0074901418 0.0028521747 0.0064802121 - 883500 0.0056732364 0.0027929712 0.0055409451 - 883600 0.0039074301 0.0034270502 0.0053197116 - 883700 0.0046025349 0.0030687325 0.0052980853 - 883800 0.0034021955 0.0028092021 0.0044571405 - 883900 0.0064375422 0.0021370687 0.0052552532 - 884000 0.0067525074 0.0026539708 0.0059247165 - 884100 0.0036573499 0.0034490249 0.0052205538 - 884200 0.0051928922 0.00303347 0.0055487772 - 884300 0.0065179501 0.002426461 0.005583593 - 884400 0.0062911228 0.0022301253 0.005277388 - 884500 0.0034050143 0.0025816056 0.0042309094 - 884600 0.0064674698 0.0024211082 0.0055537889 - 884700 0.0046329158 0.0025708732 0.0048149418 - 884800 0.0072985087 0.0022377646 0.0057729797 - 884900 0.0038575832 0.0020324469 0.0039009637 - 885000 0.0050410193 0.0022163007 0.0046580444 - 885100 0.0043707072 0.0022736629 0.0043907242 - 885200 0.004138619 0.0021482775 0.0041529211 - 885300 0.0039862609 0.002079799 0.0040106441 - 885400 0.0059560956 0.0020044921 0.0048894759 - 885500 0.005322811 0.0020141479 0.0045923845 - 885600 0.0058956604 0.0020864892 0.0049421997 - 885700 0.0049946359 0.002453454 0.0048727308 - 885800 0.0056644697 0.002332643 0.0050763705 - 885900 0.0050716607 0.002964918 0.0054215036 - 886000 0.0054045129 0.0025100331 0.0051278441 - 886100 0.0059882925 0.0020659526 0.0049665318 - 886200 0.006096828 0.0020023039 0.004955455 - 886300 0.0053336988 0.002271011 0.0048545214 - 886400 0.0052045542 0.0024073449 0.0049283008 - 886500 0.0048959906 0.0029383142 0.0053098096 - 886600 0.004638033 0.0029994036 0.0052459508 - 886700 0.0045122938 0.002907806 0.0050934483 - 886800 0.0051713532 0.0024628951 0.0049677693 - 886900 0.0042443536 0.001928563 0.0039844217 - 887000 0.0028255773 0.0019292419 0.0032978809 - 887100 0.0068117491 0.0019577002 0.0052571411 - 887200 0.0045456934 0.0024212392 0.0046230595 - 887300 0.0058900422 0.0021755969 0.0050285861 - 887400 0.0062706005 0.0023322932 0.0053696153 - 887500 0.005548478 0.0023313272 0.0050188713 - 887600 0.0054736861 0.0024643622 0.005115679 - 887700 0.0039463103 0.0024272924 0.0043387864 - 887800 0.0039924175 0.0021788804 0.0041127076 - 887900 0.0055343364 0.0016450099 0.0043257041 - 888000 0.0047919084 0.0016353844 0.003956465 - 888100 0.0049460331 0.0019212786 0.0043170133 - 888200 0.0059661917 0.0021576517 0.0050475258 - 888300 0.0049179065 0.0024993666 0.0048814775 - 888400 0.0036315647 0.0026611834 0.0044202225 - 888500 0.0058186933 0.0027077724 0.0055262019 - 888600 0.0058492566 0.0029980904 0.005831324 - 888700 0.0064297926 0.0029913321 0.0061057628 - 888800 0.0070386539 0.0024357744 0.0058451223 - 888900 0.0057771403 0.0021590932 0.0049573955 - 889000 0.0044407088 0.0024799225 0.0046308908 - 889100 0.0054594916 0.0023096099 0.0049540511 - 889200 0.0049090422 0.0021031621 0.0044809795 - 889300 0.0065360724 0.0021871981 0.0053531081 - 889400 0.005691903 0.0028192648 0.0055762803 - 889500 0.0051702174 0.0030208834 0.0055252074 - 889600 0.0047698676 0.0024453573 0.0047557619 - 889700 0.003996052 0.0021937929 0.0041293805 - 889800 0.0054418871 0.0019022418 0.0045381559 - 889900 0.0043950819 0.0020598343 0.0041887021 - 890000 0.0044762402 0.002387122 0.0045553008 - 890100 0.0042872516 0.002504315 0.0045809525 - 890200 0.0055197558 0.0023429889 0.0050166207 - 890300 0.0056102307 0.0023759244 0.0050933799 - 890400 0.0050478269 0.0020259344 0.0044709755 - 890500 0.0052168402 0.0019840923 0.0045109993 - 890600 0.0056599383 0.0019663242 0.0047078568 - 890700 0.0050345104 0.0024545533 0.0048931442 - 890800 0.0070266932 0.0026905877 0.0060941422 - 890900 0.0061902914 0.002874101 0.0058725234 - 891000 0.005704681 0.0026272594 0.0053904642 - 891100 0.0043684334 0.0025106053 0.0046265652 - 891200 0.0060222599 0.0024555351 0.0053725672 - 891300 0.0041504194 0.0027426637 0.004753023 - 891400 0.0067955548 0.002646601 0.0059381979 - 891500 0.0054975194 0.0025001104 0.0051629714 - 891600 0.005069437 0.0024447005 0.0049002091 - 891700 0.0038224773 0.0022549932 0.0041065057 - 891800 0.003605403 0.0023547885 0.0041011556 - 891900 0.0045216269 0.0021268917 0.0043170547 - 892000 0.0053800219 0.0018694963 0.0044754444 - 892100 0.0041062631 0.0020859348 0.0040749059 - 892200 0.0032373267 0.0021789853 0.0037470654 - 892300 0.0042217013 0.001770897 0.0038157836 - 892400 0.0052008904 0.0016918711 0.0042110524 - 892500 0.0036185822 0.0017684996 0.0035212504 - 892600 0.0045543661 0.0017652825 0.0039713036 - 892700 0.0047761223 0.0018555434 0.0041689776 - 892800 0.0064822186 0.0019634839 0.0051033085 - 892900 0.0051606404 0.0021953698 0.004695055 - 893000 0.005993053 0.0024585912 0.0053614762 - 893100 0.0054240582 0.0025574685 0.0051847467 - 893200 0.0030233616 0.0025515256 0.0040159664 - 893300 0.0042492579 0.002072348 0.0041305823 - 893400 0.0058409863 0.001823827 0.0046530548 - 893500 0.0051256547 0.0018506098 0.0043333488 - 893600 0.0036487024 0.002215258 0.0039825982 - 893700 0.0045363689 0.0024568576 0.0046541613 - 893800 0.0056094856 0.0020533916 0.0047704861 - 893900 0.0034179908 0.0022169955 0.0038725848 - 894000 0.0058012414 0.0019435341 0.0047535104 - 894100 0.0044939125 0.0019489307 0.0041256696 - 894200 0.0046610004 0.0017225125 0.0039801845 - 894300 0.0046431468 0.0015357668 0.003784791 - 894400 0.0048812667 0.0016672496 0.0040316132 - 894500 0.0056409101 0.0017675592 0.004499875 - 894600 0.0050777632 0.0022585899 0.0047181315 - 894700 0.0042065658 0.0024203815 0.0044579369 - 894800 0.0062284713 0.0019149874 0.0049319032 - 894900 0.0045448629 0.0021619562 0.0043633741 - 895000 0.005606208 0.0019612157 0.0046767228 - 895100 0.0065788197 0.001983889 0.0051705049 - 895200 0.0067371629 0.0018369417 0.005100255 - 895300 0.0046520004 0.0020163795 0.0042696922 - 895400 0.0050037902 0.0018940856 0.0043177965 - 895500 0.0048304878 0.002493375 0.0048331426 - 895600 0.005643987 0.0027981961 0.0055320023 - 895700 0.0049259569 0.0024999227 0.0048859331 - 895800 0.0040459693 0.0020146088 0.0039743751 - 895900 0.0040014398 0.0018255828 0.0037637802 - 896000 0.0045106381 0.0020483397 0.00423318 - 896100 0.0046739256 0.0022489978 0.0045129306 - 896200 0.005499405 0.0019130071 0.0045767814 - 896300 0.006365639 0.0017611681 0.0048445245 - 896400 0.0044027731 0.0024713067 0.0046038999 - 896500 0.0044174393 0.0026651805 0.0048048777 - 896600 0.0052201871 0.002545059 0.0050735872 - 896700 0.0046186165 0.0025037594 0.0047409017 - 896800 0.005272724 0.0022104342 0.0047644098 - 896900 0.0033805803 0.00258318 0.0042206486 - 897000 0.0057561129 0.0029572318 0.005745349 - 897100 0.0055640408 0.0027971872 0.0054922694 - 897200 0.0055860325 0.0020999322 0.0048056667 - 897300 0.006012205 0.0019762244 0.0048883862 - 897400 0.0057359195 0.0020488708 0.0048272068 - 897500 0.0074420565 0.0020755737 0.0056803198 - 897600 0.0052695622 0.0022607462 0.0048131904 - 897700 0.0065516547 0.0020369783 0.005210436 - 897800 0.0046123884 0.0020223656 0.0042564913 - 897900 0.0055838272 0.0021178249 0.0048224912 - 898000 0.0064646132 0.00221803 0.005349327 - 898100 0.0050159452 0.0026882594 0.0051178579 - 898200 0.0065906009 0.0022600013 0.0054523236 - 898300 0.004929631 0.0024263577 0.0048141477 - 898400 0.0052301095 0.0028008482 0.0053341825 - 898500 0.0044976538 0.0032755229 0.005454074 - 898600 0.0058539133 0.0028076731 0.0056431624 - 898700 0.0044959341 0.0024642021 0.0046419202 - 898800 0.0049091907 0.0021018413 0.0044797306 - 898900 0.0055770912 0.0023902317 0.0050916352 - 899000 0.0041398471 0.0023403177 0.0043455561 - 899100 0.0048142021 0.0021322023 0.0044640814 - 899200 0.0063231358 0.0020418595 0.0051046285 - 899300 0.0055685133 0.0022262928 0.0049235414 - 899400 0.0061629855 0.0020302209 0.005015417 - 899500 0.0062020526 0.0024865451 0.0054906644 - 899600 0.0051226892 0.0027278271 0.0052091297 - 899700 0.0042703558 0.0022399043 0.0043083579 - 899800 0.0059025635 0.001767706 0.0046267602 - 899900 0.0043578793 0.0020483386 0.0041591864 - 900000 0.0042593814 0.0021364835 0.0041996214 - 900100 0.0054281984 0.0017004785 0.004329762 - 900200 0.0042193539 0.0017787872 0.0038225367 - 900300 0.004738457 0.0020132917 0.0043084818 - 900400 0.0058560486 0.0022871326 0.0051236561 - 900500 0.0068740444 0.0019033736 0.0052329889 - 900600 0.006127382 0.0018686183 0.0048365689 - 900700 0.0048922163 0.0024524544 0.0048221217 - 900800 0.0060117479 0.0021581181 0.0050700585 - 900900 0.0045395544 0.0020258677 0.0042247143 - 901000 0.004295454 0.0024485912 0.0045292017 - 901100 0.0065956402 0.0022540921 0.0054488553 - 901200 0.0048978414 0.0025596015 0.0049319934 - 901300 0.0040791314 0.0022668264 0.0042426557 - 901400 0.0049997796 0.0021101881 0.0045319563 - 901500 0.0040500611 0.0024226095 0.0043843579 - 901600 0.007115019 0.0024922533 0.0059385906 - 901700 0.0049235539 0.0026210768 0.0050059232 - 901800 0.0048686323 0.0025609599 0.0049192037 - 901900 0.0043760732 0.0025170182 0.0046366787 - 902000 0.0065086153 0.0020525186 0.0052051291 - 902100 0.0046337373 0.002230444 0.0044749105 - 902200 0.0050318966 0.0024600463 0.0048973712 - 902300 0.0050944373 0.0020308522 0.0044984702 - 902400 0.0049888847 0.0016579245 0.0040744156 - 902500 0.0054903286 0.0016660084 0.0043253863 - 902600 0.0043177795 0.0018904717 0.0039818962 - 902700 0.0062790814 0.0018594397 0.0049008697 - 902800 0.003207295 0.0022846115 0.003838145 - 902900 0.0042602569 0.0021324935 0.0041960554 - 903000 0.0049859075 0.001727202 0.0041422509 - 903100 0.0054440976 0.001476138 0.0041131228 - 903200 0.0055207865 0.0018628086 0.0045369396 - 903300 0.0045460418 0.0019234322 0.0041254211 - 903400 0.0057253382 0.0016142898 0.0043875005 - 903500 0.004517051 0.0017783756 0.0039663222 - 903600 0.0036438615 0.0024402376 0.004205233 - 903700 0.0052197102 0.0023653566 0.0048936538 - 903800 0.0059419561 0.0016433414 0.0045214764 - 903900 0.0056567843 0.0019317653 0.0046717702 - 904000 0.0052937106 0.0021048981 0.0046690391 - 904100 0.0048080967 0.0018316583 0.0041605802 - 904200 0.0060970424 0.0018468035 0.0048000585 - 904300 0.0041421769 0.0021458098 0.0041521768 - 904400 0.007146738 0.0016215836 0.0050832848 - 904500 0.007787798 0.0014163473 0.0051885619 - 904600 0.005668724 0.0023374203 0.0050832085 - 904700 0.0053693372 0.0024650056 0.0050657783 - 904800 0.005154094 0.001878347 0.0043748613 - 904900 0.0057698256 0.0017504915 0.0045452508 - 905000 0.0041696751 0.0018211408 0.0038408271 - 905100 0.0043531354 0.0019840178 0.0040925678 - 905200 0.0058451703 0.0019799254 0.0048111798 - 905300 0.0054650983 0.0021764289 0.0048235859 - 905400 0.0057499869 0.0026637349 0.0054488847 - 905500 0.0056918362 0.003046413 0.0058033962 - 905600 0.0044745722 0.0038276114 0.0059949823 - 905700 0.0047424721 0.0038826027 0.0061797377 - 905800 0.005093406 0.003193247 0.0056603655 - 905900 0.0060736532 0.0027080366 0.0056499624 - 906000 0.0035037543 0.0028134255 0.0045105565 - 906100 0.0050714809 0.0027230573 0.0051795559 - 906200 0.0056115002 0.0023651339 0.0050832043 - 906300 0.0045996265 0.001853458 0.0040814021 - 906400 0.0035727116 0.0022892824 0.0040198146 - 906500 0.0034137939 0.0021799407 0.0038334971 - 906600 0.0037305271 0.0023158212 0.0041227953 - 906700 0.0045167623 0.0022119196 0.0043997263 - 906800 0.0040065008 0.0025050385 0.0044456873 - 906900 0.0046923231 0.0025804452 0.0048532892 - 907000 0.0043457245 0.002189401 0.0042943613 - 907100 0.0061746189 0.0016894069 0.0046802379 - 907200 0.0050401136 0.0018341432 0.0042754482 - 907300 0.005057163 0.0019376799 0.0043872433 - 907400 0.005042958 0.0016542677 0.0040969505 - 907500 0.0048932089 0.0019045592 0.0042747073 - 907600 0.0047952827 0.001759932 0.004082647 - 907700 0.0050272746 0.0014515635 0.0038866496 - 907800 0.0046504439 0.0018944389 0.0041469977 - 907900 0.0044410563 0.0018247923 0.0039759289 - 908000 0.0046761434 0.0016539908 0.0039189977 - 908100 0.0034004304 0.0019854184 0.0036325019 - 908200 0.0068044767 0.0018748429 0.0051707613 - 908300 0.0040347687 0.0019124011 0.0038667422 - 908400 0.0046679579 0.0018401347 0.0041011768 - 908500 0.0054585099 0.0019853505 0.0046293162 - 908600 0.004330041 0.0021322935 0.0042296571 - 908700 0.0044300126 0.0022972809 0.0044430683 - 908800 0.004697979 0.002173199 0.0044487826 - 908900 0.0061717845 0.0023025761 0.0052920342 - 909000 0.0041861233 0.0026203846 0.0046480381 - 909100 0.0045995902 0.0027069095 0.004934836 - 909200 0.0052120131 0.0024671095 0.0049916783 - 909300 0.0051970506 0.002422193 0.0049395144 - 909400 0.0048531837 0.0024188656 0.0047696265 - 909500 0.0039914626 0.0019779275 0.0039112922 - 909600 0.0056878237 0.0020939493 0.0048489889 - 909700 0.0056175673 0.0026174903 0.0053384995 - 909800 0.00697851 0.0020714194 0.0054516352 - 909900 0.0060132183 0.0021055463 0.0050181989 - 910000 0.0051857925 0.0022876334 0.0047995017 - 910100 0.0041871586 0.0026873841 0.0047155391 - 910200 0.0038338552 0.0027169581 0.0045739817 - 910300 0.0061645318 0.0023320838 0.0053180289 - 910400 0.0063824166 0.0021287008 0.0052201838 - 910500 0.0057394552 0.0022033969 0.0049834455 - 910600 0.0059210169 0.0022818269 0.0051498195 - 910700 0.003469782 0.0022701182 0.0039507938 - 910800 0.0044905947 0.0021681536 0.0043432855 - 910900 0.0058791896 0.0019750787 0.0048228111 - 911000 0.0053555664 0.0022856094 0.0048797118 - 911100 0.005213983 0.0023249692 0.0048504922 - 911200 0.0045698415 0.0022585285 0.0044720454 - 911300 0.0061612242 0.0021085581 0.005092901 - 911400 0.0058758465 0.0022432827 0.0050893959 - 911500 0.0044027955 0.0027507593 0.0048833633 - 911600 0.0052156486 0.002696259 0.0052225888 - 911700 0.0063856789 0.0027295991 0.0058226624 - 911800 0.0056817151 0.0028727171 0.0056247978 - 911900 0.0063451275 0.002500619 0.0055740401 - 912000 0.005737267 0.0027046381 0.0054836269 - 912100 0.0060002515 0.0030092083 0.0059155801 - 912200 0.0059424739 0.0024705787 0.0053489645 - 912300 0.0047851733 0.0023035004 0.0046213187 - 912400 0.0047256407 0.0023664881 0.0046554703 - 912500 0.0043052672 0.0021955463 0.0042809101 - 912600 0.003144249 0.002479325 0.0040023206 - 912700 0.0046216139 0.0022396193 0.0044782135 - 912800 0.0042552103 0.0018742801 0.0039353976 - 912900 0.0042687944 0.0021970494 0.0042647467 - 913000 0.004027396 0.0023966575 0.0043474275 - 913100 0.0034939552 0.0025796824 0.0042720669 - 913200 0.0067819467 0.0027322256 0.0060172311 - 913300 0.0038331843 0.0030352932 0.0048919919 - 913400 0.0050591405 0.0029329178 0.005383439 - 913500 0.0051101589 0.0026816536 0.0051568868 - 913600 0.0046362084 0.0026826872 0.0049283506 - 913700 0.0039210399 0.002137312 0.0040365657 - 913800 0.0051157981 0.0023175874 0.004795552 - 913900 0.0048268969 0.0021036862 0.0044417144 - 914000 0.0044905287 0.0020587357 0.0042338355 - 914100 0.0045170325 0.0021239335 0.0043118711 - 914200 0.0044158162 0.0023683157 0.0045072266 - 914300 0.0055705512 0.0022064565 0.0049046923 - 914400 0.0060907842 0.0016856105 0.0046358341 - 914500 0.0048729554 0.0021228839 0.0044832217 - 914600 0.0065464239 0.00241981 0.0055907341 - 914700 0.0046573176 0.0025388147 0.0047947029 - 914800 0.0054240097 0.0027172833 0.005344538 - 914900 0.0057883048 0.0029735479 0.005777258 - 915000 0.0045808023 0.0027395684 0.0049583945 - 915100 0.0038683618 0.0023550161 0.0042287539 - 915200 0.004703271 0.0018115949 0.0040897418 - 915300 0.0051867167 0.0020276543 0.0045399702 - 915400 0.0032235799 0.0024626438 0.0040240653 - 915500 0.0040876354 0.0024397717 0.0044197201 - 915600 0.0074145058 0.002155763 0.0057471642 - 915700 0.0043724886 0.0022494778 0.0043674019 - 915800 0.0053016308 0.0025366596 0.005104637 - 915900 0.0056865713 0.0026991698 0.0054536028 - 916000 0.0054463197 0.0029504799 0.005588541 - 916100 0.0050555737 0.0031390158 0.0055878093 - 916200 0.0071986191 0.0027097586 0.0061965898 - 916300 0.0060022288 0.0026426113 0.0055499409 - 916400 0.0053392027 0.0030975023 0.0056836786 - 916500 0.005177007 0.0036593801 0.0061669928 - 916600 0.0067229465 0.0039288046 0.0071852318 - 916700 0.0053893356 0.0037001688 0.0063106283 - 916800 0.0059365521 0.0033425896 0.0062181071 - 916900 0.0074573754 0.0032091367 0.0068213029 - 917000 0.0050574434 0.0027750643 0.0052247634 - 917100 0.0054116714 0.0022393159 0.0048605943 - 917200 0.0061593956 0.0024190565 0.0054025138 - 917300 0.0067936658 0.0026052085 0.0058958904 - 917400 0.0057355551 0.0024771158 0.0052552753 - 917500 0.0050371089 0.0020639598 0.0045038094 - 917600 0.0050725547 0.001887216 0.0043442346 - 917700 0.0042605592 0.0024512378 0.0045149461 - 917800 0.0064137993 0.0027059867 0.0058126708 - 917900 0.004250677 0.0029623601 0.0050212818 - 918000 0.0039084173 0.0030945255 0.0049876652 - 918100 0.0058246688 0.0026456898 0.0054670137 - 918200 0.0056728585 0.0022751624 0.0050229533 - 918300 0.0054981502 0.0024477511 0.0051109176 - 918400 0.004901977 0.0026690499 0.005043445 - 918500 0.0061602568 0.0020866042 0.0050704786 - 918600 0.0063151199 0.0018891448 0.004948031 - 918700 0.0051182627 0.0019971801 0.0044763386 - 918800 0.0063975702 0.0023723127 0.0054711358 - 918900 0.0041444452 0.0026970552 0.0047045208 - 919000 0.0058041953 0.0024597086 0.0052711157 - 919100 0.0033992011 0.0019129039 0.003559392 - 919200 0.0043897882 0.0022468364 0.00437314 - 919300 0.0057987982 0.0026871317 0.0054959246 - 919400 0.0046330509 0.00319299 0.0054371241 - 919500 0.0054502423 0.0030455807 0.0056855418 - 919600 0.0049949754 0.0025858498 0.005005291 - 919700 0.0052284024 0.0022286936 0.004761201 - 919800 0.0045669225 0.0019831564 0.0041952594 - 919900 0.005767867 0.0021537537 0.0049475643 - 920000 0.006044791 0.0024163542 0.0053442999 - 920100 0.0040664588 0.002423536 0.0043932269 - 920200 0.0052343123 0.0024604368 0.0049958068 - 920300 0.0054357889 0.0026202217 0.0052531819 - 920400 0.0067858593 0.0025088107 0.0057957113 - 920500 0.0052729414 0.002991958 0.005546039 - 920600 0.0043010869 0.0028094671 0.0048928061 - 920700 0.0057952162 0.0024490479 0.0052561057 - 920800 0.0060168758 0.0023668369 0.0052812611 - 920900 0.0058670716 0.0019157896 0.0047576524 - 921000 0.003767353 0.0015371493 0.0033619609 - 921100 0.0031087698 0.0020596462 0.0035654565 - 921200 0.0042799954 0.0023118854 0.0043850082 - 921300 0.0039054558 0.0021787667 0.0040704718 - 921400 0.0047381845 0.0021212198 0.0044162779 - 921500 0.0053355864 0.0020007995 0.0045852241 - 921600 0.0033417958 0.0019832992 0.0036019815 - 921700 0.0043265103 0.0020510336 0.0041466871 - 921800 0.0051211654 0.0019196867 0.0044002512 - 921900 0.0055913981 0.0018312269 0.0045395603 - 922000 0.0043358958 0.002234489 0.0043346885 - 922100 0.0046468326 0.0024925429 0.0047433524 - 922200 0.0042407173 0.0026368236 0.004690921 - 922300 0.0040624497 0.0026026131 0.0045703621 - 922400 0.0053370338 0.0023605738 0.0049456995 - 922500 0.0042330465 0.002272125 0.0043225069 - 922600 0.005584522 0.002173176 0.0048781788 - 922700 0.006278129 0.0021570855 0.0051980542 - 922800 0.006107336 0.0021422133 0.0051004542 - 922900 0.0042554764 0.0022539021 0.0043151485 - 923000 0.0035923982 0.0027196989 0.0044597668 - 923100 0.0052124833 0.0029739745 0.0054987711 - 923200 0.004134719 0.0036283332 0.0056310877 - 923300 0.0036562 0.0037877734 0.0055587452 - 923400 0.0054100314 0.0027443176 0.0053648016 - 923500 0.005234214 0.0026622469 0.0051975693 - 923600 0.0038672531 0.0025845211 0.0044577219 - 923700 0.0047025023 0.0023204832 0.0045982577 - 923800 0.0049111746 0.0026406177 0.0050194679 - 923900 0.0040796996 0.0025583441 0.0045344486 - 924000 0.0047663556 0.0022207037 0.0045294072 - 924100 0.0044868492 0.002828208 0.0050015256 - 924200 0.004954876 0.0030483145 0.0054483326 - 924300 0.0082057481 0.0025911319 0.0065657911 - 924400 0.0051054897 0.002820739 0.0052937105 - 924500 0.0038842349 0.002818311 0.0046997373 - 924600 0.0042711068 0.0026089651 0.0046777824 - 924700 0.0058377554 0.0026266715 0.0054543342 - 924800 0.0060193981 0.0030570738 0.0059727198 - 924900 0.0052110871 0.0032506449 0.0057747652 - 925000 0.0053566852 0.0023863316 0.0049809759 - 925100 0.0048543748 0.0020251345 0.0043764723 - 925200 0.0042410717 0.0024322038 0.0044864729 - 925300 0.0044960593 0.002768516 0.0049462947 - 925400 0.0060057645 0.0025291227 0.0054381649 - 925500 0.0049844822 0.0019662695 0.0043806281 - 925600 0.0050490504 0.0018776896 0.0043233233 - 925700 0.0062993092 0.0022325223 0.0052837501 - 925800 0.0049836832 0.0022213381 0.0046353096 - 925900 0.0046641415 0.0024474086 0.0047066022 - 926000 0.0032548816 0.0029021561 0.0044787394 - 926100 0.0048230251 0.0029527108 0.0052888635 - 926200 0.0056117445 0.0025699743 0.0052881631 - 926300 0.0051753219 0.0023572425 0.004864039 - 926400 0.0051483961 0.0025076044 0.0050013588 - 926500 0.0061967042 0.0018575716 0.0048591002 - 926600 0.0071504607 0.0018387821 0.0053022865 - 926700 0.0048674033 0.0024301001 0.0047877486 - 926800 0.0057691943 0.003027284 0.0058217375 - 926900 0.0053634028 0.0026781552 0.0052760534 - 927000 0.0065061219 0.0025474992 0.005698902 - 927100 0.0051804666 0.0026992705 0.005208559 - 927200 0.0049918042 0.0024906806 0.0049085857 - 927300 0.0051527194 0.0024263638 0.0049222123 - 927400 0.0053902259 0.002445864 0.0050567546 - 927500 0.0049548899 0.002520241 0.0049202658 - 927600 0.006396757 0.0022163214 0.0053147506 - 927700 0.00596603 0.0020855771 0.0049753729 - 927800 0.0049203407 0.0022184662 0.0046017562 - 927900 0.0042733869 0.0022094773 0.0042793991 - 928000 0.0051944121 0.0022818802 0.0047979235 - 928100 0.0037828276 0.0026725548 0.0045048619 - 928200 0.00576688 0.0023255125 0.005118845 - 928300 0.0048896022 0.0022407986 0.0046091997 - 928400 0.0067378852 0.0021471449 0.0054108081 - 928500 0.0058434172 0.0025542447 0.0053846499 - 928600 0.0044746314 0.002593051 0.0047604505 - 928700 0.0046253994 0.0028466128 0.0050870406 - 928800 0.005743956 0.0026235145 0.0054057432 - 928900 0.0058176895 0.0023592641 0.0051772075 - 929000 0.0062319268 0.0022942373 0.0053128268 - 929100 0.0055421003 0.0029425765 0.0056270313 - 929200 0.0051330945 0.0031922185 0.0056785612 - 929300 0.0039561701 0.002923185 0.0048394548 - 929400 0.0042949374 0.0024044956 0.0044848559 - 929500 0.0047085653 0.0023569925 0.0046377038 - 929600 0.004934285 0.0020820992 0.0044721435 - 929700 0.0047294666 0.0015832845 0.0038741199 - 929800 0.0057836402 0.0016239214 0.0044253721 - 929900 0.0055655917 0.0022330285 0.004928862 - 930000 0.0049863661 0.0027601712 0.0051754422 - 930100 0.0051293089 0.0030517166 0.0055362256 - 930200 0.0057293197 0.0030946544 0.0058697936 - 930300 0.0051039828 0.0031148554 0.0055870971 - 930400 0.0038427628 0.0033508434 0.0052121816 - 930500 0.0051922515 0.0029043348 0.0054193316 - 930600 0.0053145138 0.0022133247 0.0047875423 - 930700 0.0034529574 0.0023477352 0.0040202614 - 930800 0.0046203866 0.0023255838 0.0045635836 - 930900 0.0052839928 0.0026095954 0.0051690294 - 931000 0.0065618837 0.0026381287 0.0058165411 - 931100 0.0043599334 0.0028267436 0.0049385864 - 931200 0.0035621095 0.0029160512 0.004641448 - 931300 0.0053401607 0.0026662148 0.0052528551 - 931400 0.0061804861 0.0028247452 0.0058184182 - 931500 0.0045931684 0.0027248582 0.0049496741 - 931600 0.0060140835 0.0026924976 0.0056055693 - 931700 0.004904271 0.0026734892 0.0050489954 - 931800 0.0044298363 0.0028193181 0.0049650201 - 931900 0.0048944374 0.0027562625 0.0051270056 - 932000 0.0071154618 0.0024511833 0.0058977351 - 932100 0.003860532 0.0031107282 0.0049806734 - 932200 0.0068208984 0.0028945422 0.0061984149 - 932300 0.0046845672 0.0026342887 0.0049033759 - 932400 0.0053276433 0.0027672522 0.0053478295 - 932500 0.0064986706 0.002241014 0.0053888076 - 932600 0.0051487462 0.0018146476 0.0043085716 - 932700 0.0042916111 0.0016016391 0.0036803882 - 932800 0.0041685914 0.0021902094 0.0042093709 - 932900 0.0052071217 0.0024670542 0.0049892538 - 933000 0.0045115141 0.0023520526 0.0045373173 - 933100 0.0052643306 0.0020472923 0.0045972024 - 933200 0.0062967363 0.0021521319 0.0052021135 - 933300 0.0044429328 0.0028898726 0.0050419181 - 933400 0.0048935659 0.0028798925 0.0052502135 - 933500 0.0052139498 0.0026799801 0.0052054871 - 933600 0.0069463374 0.0023720407 0.0057366729 - 933700 0.0066049392 0.0021761456 0.005375413 - 933800 0.0053360362 0.0029085199 0.0054931625 - 933900 0.0047683956 0.0035885992 0.0058982908 - 934000 0.0052247587 0.002537406 0.0050681485 - 934100 0.0054624088 0.0021797338 0.004825588 - 934200 0.0045599789 0.0021010767 0.0043098165 - 934300 0.0058858189 0.002057112 0.0049080556 - 934400 0.0035967249 0.0018614409 0.0036036045 - 934500 0.0049413456 0.0017813772 0.0041748415 - 934600 0.0047759456 0.0016350869 0.0039484355 - 934700 0.0037973415 0.0021312356 0.0039705729 - 934800 0.0050670225 0.0022912836 0.0047456226 - 934900 0.0048448934 0.0021616178 0.0045083631 - 935000 0.004402585 0.0021219578 0.0042544599 - 935100 0.0058958687 0.0020132321 0.0048690435 - 935200 0.0037062857 0.001953819 0.0037490512 - 935300 0.0058526465 0.0018491855 0.0046840611 - 935400 0.0042845237 0.0021022821 0.0041775983 - 935500 0.0047717854 0.0021027694 0.004414103 - 935600 0.0040405173 0.0022639309 0.0042210565 - 935700 0.0053764713 0.0024574989 0.0050617272 - 935800 0.0049258183 0.0022476217 0.004633565 - 935900 0.0055006753 0.0017809537 0.0044453433 - 936000 0.0065473003 0.0021087918 0.0052801404 - 936100 0.0044343634 0.0028015241 0.0049494188 - 936200 0.0061595775 0.0027402436 0.005723789 - 936300 0.0060430921 0.0025683632 0.005495486 - 936400 0.0051984418 0.0027383144 0.0052563096 - 936500 0.0039275214 0.0024941812 0.0043965744 - 936600 0.0062931767 0.0019471787 0.0049954362 - 936700 0.0042759639 0.0022225781 0.0042937481 - 936800 0.0040872639 0.0023745899 0.0043543584 - 936900 0.0048975196 0.0023378734 0.0047101095 - 937000 0.0032179144 0.0026585836 0.0042172609 - 937100 0.0052467175 0.0024809538 0.0050223326 - 937200 0.0063316569 0.0022425738 0.0053094701 - 937300 0.0043823871 0.0023939209 0.0045166397 - 937400 0.0037825542 0.0019736449 0.0038058196 - 937500 0.006945398 0.001727082 0.0050912592 - 937600 0.0044025021 0.0019377315 0.0040701934 - 937700 0.0045997414 0.0021051691 0.0043331689 - 937800 0.0051405122 0.0017352909 0.0042252265 - 937900 0.0052900352 0.0016068988 0.0041692596 - 938000 0.0043683697 0.0022520078 0.0043679368 - 938100 0.0053322185 0.0023079194 0.0048907128 - 938200 0.0044762555 0.0020837585 0.0042519448 - 938300 0.0042120204 0.0021331489 0.0041733463 - 938400 0.0045968366 0.0021254906 0.0043520834 - 938500 0.0053763696 0.0024403812 0.0050445602 - 938600 0.0046906164 0.002448163 0.0047201803 - 938700 0.0070948586 0.0023749902 0.0058115623 - 938800 0.0060569508 0.0022366681 0.0051705037 - 938900 0.0044139434 0.0021018629 0.0042398668 - 939000 0.0047177505 0.0022456193 0.0045307797 - 939100 0.0060812161 0.0024174248 0.0053630139 - 939200 0.0053180732 0.0030814073 0.005657349 - 939300 0.005757489 0.0035168383 0.006305622 - 939400 0.0044985973 0.0034419901 0.0056209982 - 939500 0.0067988373 0.0024250929 0.0057182798 - 939600 0.005756216 0.0018577468 0.0046459139 - 939700 0.0045083919 0.0021324049 0.0043161572 - 939800 0.0052943144 0.0022828249 0.0048472584 - 939900 0.0058716815 0.0018424029 0.0046864986 - 940000 0.0055416488 0.0018416544 0.0045258906 - 940100 0.0031436003 0.0022041912 0.0037268726 - 940200 0.0055225652 0.0019159445 0.0045909371 - 940300 0.0054997233 0.0022909675 0.004954896 - 940400 0.004628769 0.0022951016 0.0045371615 - 940500 0.005589582 0.0018861739 0.0045936276 - 940600 0.0047684808 0.0022485015 0.0045582344 - 940700 0.0062162041 0.0024726269 0.0054836008 - 940800 0.0042707863 0.0022847921 0.0043534542 - 940900 0.0066448263 0.0026329137 0.0058515015 - 941000 0.0051064829 0.0025892115 0.0050626642 - 941100 0.004041892 0.0028100085 0.0047677999 - 941200 0.003785463 0.0027129149 0.0045464986 - 941300 0.0046511635 0.0025333914 0.0047862987 - 941400 0.0045344153 0.0022348387 0.0044311962 - 941500 0.005084644 0.0021555214 0.0046183958 - 941600 0.0050205532 0.0023537695 0.0047856 - 941700 0.0062520441 0.0022463079 0.0052746417 - 941800 0.0042861818 0.0021466886 0.0042228079 - 941900 0.004392198 0.002190112 0.0043175829 - 942000 0.0034351542 0.0019786369 0.0036425397 - 942100 0.0040987862 0.0018693301 0.0038546796 - 942200 0.005630164 0.0017928489 0.0045199596 - 942300 0.0053026795 0.0016426074 0.0042110928 - 942400 0.0035599233 0.0015657275 0.0032900653 - 942500 0.0045835524 0.0016203927 0.0038405509 - 942600 0.0053250268 0.0023007467 0.0048800566 - 942700 0.0048466492 0.0025985395 0.0049461352 - 942800 0.0046209911 0.0025038338 0.0047421264 - 942900 0.0068072383 0.0025411377 0.0058383938 - 943000 0.005411537 0.0026705977 0.0052918109 - 943100 0.0036802679 0.0027317137 0.0045143434 - 943200 0.0052115453 0.0028054444 0.0053297867 - 943300 0.006023415 0.0027199325 0.0056375241 - 943400 0.0051481728 0.002571866 0.0050655122 - 943500 0.0044697046 0.0022288141 0.0043938273 - 943600 0.005675314 0.0018073149 0.0045562951 - 943700 0.0052683777 0.0016124523 0.0041643227 - 943800 0.0063775556 0.0014874661 0.0045765946 - 943900 0.0079578724 0.0020475722 0.0059021667 - 944000 0.004360418 0.0029470757 0.0050591532 - 944100 0.0049746408 0.0027739785 0.0051835702 - 944200 0.0050460203 0.0024382669 0.004882433 - 944300 0.0041933764 0.0025049891 0.0045361558 - 944400 0.0050356239 0.0024802493 0.0049193796 - 944500 0.0039023641 0.0022275687 0.0041177763 - 944600 0.0048365324 0.0023149804 0.0046576758 - 944700 0.0034079495 0.0021403785 0.0037911041 - 944800 0.0038934696 0.0022816553 0.0041675546 - 944900 0.0049994576 0.0023964179 0.0048180302 - 945000 0.0051028167 0.0024058153 0.0048774922 - 945100 0.0041022427 0.0021579791 0.0041450029 - 945200 0.0048800623 0.0018972421 0.0042610223 - 945300 0.005403965 0.0018377338 0.0044552794 - 945400 0.0028189269 0.0018746929 0.0032401106 - 945500 0.0061938881 0.0018988392 0.0048990037 - 945600 0.0041378738 0.0022335236 0.0042378062 - 945700 0.0045096853 0.0023237851 0.004508164 - 945800 0.0052720965 0.0021733537 0.0047270255 - 945900 0.0033297437 0.0024562721 0.0040691167 - 946000 0.0056340142 0.0029726908 0.0057016665 - 946100 0.0041008987 0.0032302616 0.0052166344 - 946200 0.0051130462 0.0027650909 0.0052417227 - 946300 0.0056753951 0.0025245556 0.005273575 - 946400 0.0072498138 0.0029957017 0.0065073302 - 946500 0.0051987779 0.0038308286 0.0063489866 - 946600 0.0059265893 0.0043868597 0.0072575514 - 946700 0.0062096998 0.0034209343 0.0064287576 - 946800 0.0079950045 0.0025314299 0.0064040102 - 946900 0.0051343178 0.0026700614 0.0051569966 - 947000 0.0049109735 0.0034117973 0.0057905501 - 947100 0.0046992868 0.0030929475 0.0053691646 - 947200 0.0043415693 0.00236724 0.0044701876 - 947300 0.0061322055 0.0017398769 0.004710164 - 947400 0.0049727991 0.0019178436 0.0043265432 - 947500 0.0064763975 0.002839243 0.005976248 - 947600 0.0044282292 0.0025117934 0.0046567169 - 947700 0.0068256802 0.0020960784 0.0054022673 - 947800 0.003521005 0.0019985364 0.0037040232 - 947900 0.0059596959 0.0020234897 0.0049102174 - 948000 0.005005203 0.0022069317 0.0046313269 - 948100 0.0038802047 0.0022964781 0.0041759522 - 948200 0.005091983 0.0021104511 0.0045768804 - 948300 0.0032690026 0.0020940331 0.0036774562 - 948400 0.0054928067 0.0019917874 0.0046523656 - 948500 0.0063228598 0.0017077834 0.0047704186 - 948600 0.005332437 0.0015879005 0.0041707997 - 948700 0.0042068674 0.0020733234 0.0041110248 - 948800 0.005213208 0.0022764196 0.0048015672 - 948900 0.0046888905 0.0022654908 0.0045366722 - 949000 0.0061654031 0.0022942677 0.0052806348 - 949100 0.0045621684 0.0023463816 0.0045561819 - 949200 0.0050308026 0.0026853832 0.0051221783 - 949300 0.0062045131 0.0030100737 0.0060153848 - 949400 0.0062289807 0.0030469915 0.006064154 - 949500 0.0065569173 0.0026823296 0.0058583364 - 949600 0.0056407572 0.0026618394 0.0053940811 - 949700 0.0062082815 0.0021954619 0.0052025983 - 949800 0.0052405865 0.0021203296 0.0046587387 - 949900 0.0033519112 0.0025513791 0.0041749611 - 950000 0.0053131252 0.0019912283 0.0045647733 - 950100 0.0049894741 0.0016561234 0.0040728999 - 950200 0.0053411158 0.0016456956 0.0042327985 - 950300 0.0039732811 0.0019581877 0.0038827457 - 950400 0.0059342095 0.0023727343 0.0052471171 - 950500 0.0057752607 0.0027487682 0.0055461601 - 950600 0.0057572419 0.002894755 0.005683419 - 950700 0.0056000498 0.0027801129 0.005492637 - 950800 0.0042088159 0.0028489361 0.0048875813 - 950900 0.0061734962 0.0028081964 0.0057984836 - 951000 0.0043815689 0.0031820963 0.0053044187 - 951100 0.0051664904 0.0029436207 0.0054461395 - 951200 0.0044327504 0.0024947531 0.0046418665 - 951300 0.005171337 0.0026408234 0.0051456898 - 951400 0.0068744234 0.0029331053 0.0062629041 - 951500 0.0047606888 0.0033934423 0.005699401 - 951600 0.0037071288 0.0033728531 0.0051684937 - 951700 0.0053865368 0.0032247545 0.0058338583 - 951800 0.0049175734 0.0036315834 0.006013533 - 951900 0.0051782682 0.0038334192 0.0063416429 - 952000 0.0040840689 0.0031068683 0.0050850892 - 952100 0.0058587822 0.0027311967 0.0055690444 - 952200 0.0046111946 0.002773444 0.0050069913 - 952300 0.0053522936 0.002912185 0.0055047022 - 952400 0.0065907487 0.003172013 0.0063644069 - 952500 0.0055674737 0.0029210535 0.0056177986 - 952600 0.0069084289 0.0028771526 0.0062234229 - 952700 0.0060708507 0.0028515029 0.0057920713 - 952800 0.0069585295 0.0025188217 0.0058893594 - 952900 0.0048204144 0.002485112 0.0048200002 - 953000 0.0069428352 0.0028080094 0.0061709452 - 953100 0.0047471093 0.0028290936 0.0051284746 - 953200 0.0036051639 0.0028000619 0.0045463132 - 953300 0.0056673368 0.0030097582 0.0057548745 - 953400 0.0060320612 0.0032784386 0.0062002182 - 953500 0.0057180543 0.0034351563 0.0062048389 - 953600 0.0038916943 0.003025445 0.0049104845 - 953700 0.00737188 0.0026030746 0.006173829 - 953800 0.0062597288 0.0028046327 0.0058366888 - 953900 0.0056359009 0.0024194409 0.0051493304 - 954000 0.00643797 0.0023126947 0.0054310864 - 954100 0.0049080539 0.0026652063 0.005042545 - 954200 0.0034596401 0.0024356395 0.0041114027 - 954300 0.0038744587 0.0022654954 0.0041421864 - 954400 0.004950674 0.0026744576 0.0050724404 - 954500 0.0050698128 0.0027979152 0.0052536057 - 954600 0.0058338159 0.0025317718 0.0053575264 - 954700 0.0040856969 0.002203056 0.0041820654 - 954800 0.0055699018 0.0018720323 0.0045699535 - 954900 0.0047980173 0.0018126325 0.0041366721 - 955000 0.0055898982 0.0022302791 0.0049378861 - 955100 0.0053229546 0.0021141285 0.0046924346 - 955200 0.0047164182 0.0022851334 0.0045696484 - 955300 0.0052976166 0.002277011 0.0048430441 - 955400 0.0044672816 0.0025256492 0.0046894887 - 955500 0.0039087567 0.0023362256 0.0042295297 - 955600 0.0040131683 0.002094189 0.0040380674 - 955700 0.0064930612 0.0015757988 0.0047208753 - 955800 0.0050546006 0.0017680817 0.0042164038 - 955900 0.0045747457 0.0019607462 0.0041766387 - 956000 0.0050182033 0.0024105161 0.0048412083 - 956100 0.0040137932 0.002189101 0.0041332822 - 956200 0.0061792428 0.0021681473 0.005161218 - 956300 0.0057191765 0.0024544626 0.0052246887 - 956400 0.0047886321 0.0022090529 0.0045285466 - 956500 0.00560629 0.0020619527 0.0047774994 - 956600 0.0053011552 0.0019516047 0.0045193517 - 956700 0.0059302 0.002239956 0.0051123966 - 956800 0.0048866442 0.0025588454 0.0049258136 - 956900 0.0036529137 0.0029422396 0.0047116196 - 957000 0.0056451389 0.0029132276 0.0056475917 - 957100 0.0070470705 0.0026443147 0.0060577395 - 957200 0.0040377774 0.0022018026 0.004157601 - 957300 0.0044653293 0.002212534 0.0043754279 - 957400 0.0056186963 0.0021741388 0.0048956948 - 957500 0.004049556 0.0019940025 0.0039555062 - 957600 0.0047872015 0.0020116963 0.004330497 - 957700 0.0052721379 0.0020372776 0.0045909693 - 957800 0.0062856865 0.0025436691 0.0055882985 - 957900 0.0043697159 0.0026838986 0.0048004798 - 958000 0.0049416664 0.0026650965 0.0050587161 - 958100 0.0047999366 0.0027154956 0.0050404649 - 958200 0.0050593847 0.0022163736 0.0046670131 - 958300 0.0046629457 0.0019513039 0.0042099183 - 958400 0.0058839581 0.0025983195 0.0054483617 - 958500 0.0038060689 0.0026717825 0.0045153471 - 958600 0.0037977217 0.0020216229 0.0038611443 - 958700 0.0037925678 0.001969528 0.003806553 - 958800 0.0042955345 0.0014518741 0.0035325236 - 958900 0.0043793328 0.0017684281 0.0038896674 - 959000 0.0057369549 0.0022281857 0.0050070232 - 959100 0.0064752034 0.0025851078 0.0057215345 - 959200 0.0064714173 0.0022009826 0.0053355754 - 959300 0.0060301539 0.0023047435 0.0052255993 - 959400 0.0045810197 0.0025677903 0.0047867218 - 959500 0.0059542854 0.0026858088 0.0055699158 - 959600 0.0056682423 0.0022321446 0.0049776995 - 959700 0.0050938783 0.0022735076 0.0047408549 - 959800 0.0049016391 0.0018602921 0.0042345235 - 959900 0.0067222321 0.0018380015 0.0050940827 - 960000 0.003409282 0.0021628656 0.0038142365 - 960100 0.0042491695 0.0021001705 0.004158362 - 960200 0.0046222876 0.0019667416 0.0042056622 - 960300 0.0036195501 0.0024447524 0.004197972 - 960400 0.0039536324 0.0026212194 0.0045362601 - 960500 0.0059259416 0.0024468969 0.0053172749 - 960600 0.0048850081 0.0027166128 0.0050827886 - 960700 0.0040476218 0.0026169123 0.0045774791 - 960800 0.0061431448 0.0028528319 0.0058284177 - 960900 0.0052175395 0.0033753033 0.005902549 - 961000 0.005760718 0.0038911803 0.0066815281 - 961100 0.0051228469 0.0036594519 0.0061408308 - 961200 0.0051653392 0.0034565846 0.0059585457 - 961300 0.0042495426 0.0039830906 0.0060414628 - 961400 0.0044687998 0.0037522314 0.0059168063 - 961500 0.0058159173 0.0033407056 0.0061577905 - 961600 0.0044613401 0.003477246 0.0056382076 - 961700 0.0053861932 0.0030882922 0.0056972296 - 961800 0.0049455504 0.0029627196 0.0053582206 - 961900 0.0054369273 0.002848965 0.0054824766 - 962000 0.0064603154 0.0028437102 0.0059729255 - 962100 0.0063945766 0.0023526109 0.0054499839 - 962200 0.0058369491 0.0021947195 0.0050219917 - 962300 0.0066036713 0.0021596896 0.0053583429 - 962400 0.0053764386 0.001943272 0.0045474844 - 962500 0.0047865341 0.0017216339 0.0040401114 - 962600 0.0038031509 0.0021001021 0.0039422533 - 962700 0.0040399494 0.0023889489 0.0043457994 - 962800 0.0057168874 0.0022548604 0.0050239778 - 962900 0.004672955 0.0020505425 0.0043140051 - 963000 0.0050582114 0.0018664446 0.0043165158 - 963100 0.0071511998 0.0018459503 0.0053098127 - 963200 0.0047589308 0.0019341507 0.0042392578 - 963300 0.0043425273 0.0021516761 0.0042550878 - 963400 0.0049150006 0.002149957 0.0045306604 - 963500 0.0044473681 0.0022949989 0.0044491928 - 963600 0.005628517 0.0023341139 0.0050604269 - 963700 0.0046958708 0.0024041639 0.0046787263 - 963800 0.004767959 0.0023676483 0.0046771284 - 963900 0.0042201912 0.0021342763 0.0041784314 - 964000 0.0053728519 0.0018726357 0.0044751109 - 964100 0.0043961126 0.0024115831 0.0045409502 - 964200 0.0064928159 0.0021475366 0.0052924943 - 964300 0.005506791 0.0023284356 0.0049957875 - 964400 0.0050950167 0.0024139679 0.0048818666 - 964500 0.004102306 0.0024621087 0.0044491631 - 964600 0.00395354 0.0026947947 0.0046097906 - 964700 0.005293674 0.0022967198 0.0048608432 - 964800 0.005031552 0.0022575097 0.0046946677 - 964900 0.0040922668 0.0022363905 0.0042185822 - 965000 0.0044885756 0.0022792882 0.004453442 - 965100 0.0045409485 0.0022216162 0.0044211382 - 965200 0.004201773 0.0021195251 0.0041547589 - 965300 0.0039640352 0.0021926107 0.0041126902 - 965400 0.0044334689 0.0026161672 0.0047636288 - 965500 0.0046109958 0.0032256686 0.0054591197 - 965600 0.0049730528 0.0030283091 0.0054371316 - 965700 0.0058801371 0.002400504 0.0052486954 - 965800 0.0046741331 0.0020507299 0.0043147631 - 965900 0.0041467241 0.0025946329 0.0046032023 - 966000 0.0050482258 0.0024024378 0.0048476721 - 966100 0.0046646201 0.0017780347 0.00403746 - 966200 0.0035482684 0.0018961322 0.0036148247 - 966300 0.0056065278 0.002354511 0.0050701729 - 966400 0.0051263193 0.0025615649 0.0050446258 - 966500 0.0047595387 0.0021873787 0.0044927802 - 966600 0.0052113283 0.0021902013 0.0047144385 - 966700 0.005161612 0.0028715693 0.0053717252 - 966800 0.0051562039 0.0029199303 0.0054174666 - 966900 0.0045355762 0.0025349815 0.0047319012 - 967000 0.0058331776 0.0021280568 0.0049535022 - 967100 0.0060020769 0.0019397131 0.0048469691 - 967200 0.0051808475 0.0023787496 0.0048882226 - 967300 0.0050747134 0.0022780389 0.0047361032 - 967400 0.0051112508 0.0022006553 0.0046764174 - 967500 0.0055156654 0.001924989 0.0045966395 - 967600 0.0055930633 0.0018527671 0.0045619071 - 967700 0.0056062244 0.0019661198 0.0046816347 - 967800 0.0060888986 0.0022285445 0.0051778548 - 967900 0.0054797657 0.0025613281 0.0052155896 - 968000 0.0038443421 0.0022827109 0.0041448141 - 968100 0.0056246951 0.0017000515 0.0044245132 - 968200 0.0046822858 0.0016397629 0.003907745 - 968300 0.0039266085 0.0022635909 0.0041655419 - 968400 0.0042855011 0.0027002421 0.0047760317 - 968500 0.0052867339 0.0028617173 0.005422479 - 968600 0.0048331683 0.0022474225 0.0045884884 - 968700 0.004051918 0.0019738994 0.0039365472 - 968800 0.0057849919 0.0015582885 0.004360394 - 968900 0.0048411833 0.0020793549 0.004424303 - 969000 0.0044723103 0.0025175534 0.0046838287 - 969100 0.0049496066 0.0023548657 0.0047523314 - 969200 0.0035932671 0.0022298021 0.0039702909 - 969300 0.0066821846 0.0018532983 0.0050899815 - 969400 0.0054573758 0.0019228919 0.0045663083 - 969500 0.0048132251 0.0018704082 0.0042018141 - 969600 0.0049205294 0.0019723359 0.0043557173 - 969700 0.0048956781 0.0022518534 0.0046231975 - 969800 0.0057715991 0.0023461999 0.0051418182 - 969900 0.0063703485 0.0023492566 0.0054348942 - 970000 0.0054874448 0.0023271783 0.0049851594 - 970100 0.0064599441 0.0021323502 0.0052613856 - 970200 0.0069126232 0.0020025521 0.005350854 - 970300 0.0055695495 0.0026123443 0.0053100949 - 970400 0.0055752524 0.0022515158 0.0049520286 - 970500 0.0045340588 0.0018256185 0.0040218032 - 970600 0.0046580967 0.0017761751 0.0040324406 - 970700 0.0063583315 0.0018913878 0.0049712046 - 970800 0.0060803259 0.0016933755 0.0046385333 - 970900 0.0040675354 0.0017244813 0.0036946937 - 971000 0.0050124103 0.0021135393 0.0045414256 - 971100 0.0050606206 0.0023659304 0.0048171685 - 971200 0.0063052563 0.0026184269 0.0056725354 - 971300 0.005419171 0.0027364852 0.0053613962 - 971400 0.0054045242 0.0028213625 0.0054391789 - 971500 0.0077329379 0.0024044216 0.0061500634 - 971600 0.0047739165 0.0022373645 0.0045497303 - 971700 0.0055566069 0.0017801453 0.0044716268 - 971800 0.0052343581 0.0018126707 0.004348063 - 971900 0.0054768402 0.0021509283 0.0048037727 - 972000 0.0053380778 0.0020617765 0.004647408 - 972100 0.0067599231 0.0020485566 0.0053228943 - 972200 0.0039044427 0.0026390995 0.004530314 - 972300 0.0046807297 0.0023372425 0.004604471 - 972400 0.006701176 0.0021606903 0.0054065725 - 972500 0.0047470287 0.0021208545 0.0044201965 - 972600 0.0042133114 0.0014399456 0.0034807682 - 972700 0.0049169814 0.0013970871 0.00377875 - 972800 0.0033900015 0.0013416909 0.0029837228 - 972900 0.0034041824 0.0015178454 0.0031667463 - 973000 0.0042446951 0.0018632652 0.0039192894 - 973100 0.0053080875 0.0023574145 0.0049285194 - 973200 0.0053518641 0.0024310562 0.0050233654 - 973300 0.0043804356 0.0027399221 0.0048616956 - 973400 0.0050171847 0.0029705252 0.0054007241 - 973500 0.0045817863 0.0032140553 0.0054333581 - 973600 0.0036593217 0.00308736 0.0048598439 - 973700 0.0040972453 0.0023760405 0.0043606437 - 973800 0.005064119 0.0020923803 0.0045453129 - 973900 0.0045015528 0.0023680602 0.0045484999 - 974000 0.0048204211 0.0022864414 0.0046213329 - 974100 0.0051560809 0.0020707058 0.0045681825 - 974200 0.00602797 0.001955475 0.0048752729 - 974300 0.003836624 0.0022801636 0.0041385284 - 974400 0.0039592505 0.0023065004 0.0042242623 - 974500 0.0040104255 0.0022297553 0.0041723051 - 974600 0.0053318389 0.0020914797 0.0046740892 - 974700 0.0058503584 0.0024939504 0.0053277177 - 974800 0.0050485207 0.0032573583 0.0057027355 - 974900 0.00684454 0.0032466028 0.0065619269 - 975000 0.0065628332 0.0028270935 0.0060059658 - 975100 0.0060170006 0.0028585747 0.0057730594 - 975200 0.004893265 0.0027797997 0.005149975 - 975300 0.005644511 0.0027780836 0.0055121436 - 975400 0.0055351566 0.0033663627 0.0060474542 - 975500 0.0053213933 0.0031887808 0.0057663307 - 975600 0.0069410274 0.0030508696 0.0064129298 - 975700 0.0046329958 0.003080082 0.0053241893 - 975800 0.0050454201 0.0029018929 0.0053457683 - 975900 0.0048680015 0.0028571501 0.0052150884 - 976000 0.005530198 0.0027703853 0.0054490749 - 976100 0.0041685669 0.002721175 0.0047403246 - 976200 0.0057433846 0.0023367878 0.0051187397 - 976300 0.0053536412 0.0023081854 0.0049013554 - 976400 0.0040894139 0.0027627095 0.0047435193 - 976500 0.0030183026 0.0024657537 0.003927744 - 976600 0.0039368946 0.0023823389 0.0042892722 - 976700 0.0049231391 0.0022510183 0.0046356638 - 976800 0.0051838972 0.0022889363 0.0047998865 - 976900 0.0037797387 0.0029159468 0.0047467578 - 977000 0.0047089653 0.0027337466 0.0050146517 - 977100 0.0062333277 0.0020681056 0.0050873737 - 977200 0.0044708493 0.0019937729 0.0041593405 - 977300 0.0044729184 0.0017957091 0.0039622789 - 977400 0.0066330325 0.0018076326 0.0050205077 - 977500 0.004426551 0.0028198862 0.0049639969 - 977600 0.0065115133 0.0025534828 0.0057074971 - 977700 0.0064903401 0.0025028762 0.0056466347 - 977800 0.0055693107 0.0022845376 0.0049821725 - 977900 0.0043181723 0.0026889857 0.0047806004 - 978000 0.0043189901 0.0029497055 0.0050417163 - 978100 0.0060070167 0.0025654377 0.0054750864 - 978200 0.0064760654 0.0023437558 0.0054805999 - 978300 0.0050723855 0.0021510459 0.0046079826 - 978400 0.0056119258 0.0021307259 0.0048490025 - 978500 0.0047867612 0.0022562573 0.0045748447 - 978600 0.0039879435 0.0026199733 0.0045516335 - 978700 0.0049050977 0.0024594011 0.0048353078 - 978800 0.0040357991 0.0022414028 0.0041962429 - 978900 0.0059215407 0.0018829325 0.0047511788 - 979000 0.004971728 0.002111431 0.0045196118 - 979100 0.0047046426 0.0020773071 0.0043561184 - 979200 0.0051497091 0.0021219768 0.0046163672 - 979300 0.0063997397 0.0018407598 0.0049406337 - 979400 0.0037710937 0.0018396016 0.0036662251 - 979500 0.0052133577 0.0015330069 0.004058227 - 979600 0.0035530153 0.0014376514 0.0031586432 - 979700 0.0038593393 0.0012101149 0.0030794823 - 979800 0.0051400442 0.0016692327 0.0041589416 - 979900 0.004175554 0.0018759758 0.0038985097 - 980000 0.0057141708 0.0018474672 0.0046152687 - 980100 0.0040635511 0.0016710327 0.0036393153 - 980200 0.0040758613 0.0018260053 0.0038002506 - 980300 0.0042276844 0.0020454007 0.0040931854 - 980400 0.005166425 0.0023569629 0.00485945 - 980500 0.0059196891 0.0031162177 0.0059835671 - 980600 0.0041985485 0.0032641418 0.0052978137 - 980700 0.0068137465 0.0024877256 0.005788134 - 980800 0.003480164 0.0027054452 0.0043911496 - 980900 0.0049228132 0.0028757806 0.0052602682 - 981000 0.005568669 0.0024680185 0.0051653426 - 981100 0.0072705156 0.0024366666 0.0059583226 - 981200 0.0051728396 0.0026419647 0.0051475589 - 981300 0.0055306637 0.0024943223 0.0051732375 - 981400 0.0052103892 0.0023333708 0.0048571531 - 981500 0.0040845731 0.0025041816 0.0044826467 - 981600 0.0056801175 0.002924182 0.005675489 - 981700 0.0056894542 0.0027554171 0.0055112465 - 981800 0.0052287571 0.0026502694 0.0051829486 - 981900 0.0062279797 0.0021750588 0.0051917365 - 982000 0.0035609025 0.0023668943 0.0040917064 - 982100 0.0046843957 0.0022972056 0.0045662098 - 982200 0.0050642359 0.0023734028 0.004826392 - 982300 0.0051849696 0.0023793118 0.0048907815 - 982400 0.0057742239 0.002574319 0.0053712088 - 982500 0.0049765671 0.0028488026 0.0052593273 - 982600 0.0041687924 0.003227985 0.0052472439 - 982700 0.0043092096 0.0037344593 0.0058217327 - 982800 0.0048516688 0.0035613854 0.0059114125 - 982900 0.0053535195 0.0028726144 0.0054657254 - 983000 0.0057700954 0.0029743286 0.0057692185 - 983100 0.0049637843 0.0028201132 0.0052244462 - 983200 0.0050106838 0.0027453406 0.0051723905 - 983300 0.0063687241 0.0023219668 0.0054068175 - 983400 0.0044638791 0.0023708038 0.0045329952 - 983500 0.0041380905 0.0019094296 0.0039138172 - 983600 0.0052992071 0.0024262577 0.0049930611 - 983700 0.0044133835 0.0026049554 0.004742688 - 983800 0.0051286117 0.0023722774 0.0048564487 - 983900 0.0044055984 0.0025840093 0.004717971 - 984000 0.0048390587 0.0026660006 0.0050099196 - 984100 0.0052517817 0.0024934895 0.0050373213 - 984200 0.0050511034 0.0024526566 0.0048992848 - 984300 0.005120445 0.0027967948 0.0052770104 - 984400 0.0035825618 0.0029222764 0.0046575798 - 984500 0.005688478 0.0027526784 0.0055080349 - 984600 0.0064180043 0.0027642814 0.0058730022 - 984700 0.0044222089 0.0029104482 0.0050524556 - 984800 0.0045402345 0.0031145431 0.0053137192 - 984900 0.0055922187 0.003055667 0.005764398 - 985000 0.0041009438 0.0033472978 0.0053336924 - 985100 0.004308171 0.0030740969 0.0051608672 - 985200 0.0060160165 0.0032917994 0.0062058073 - 985300 0.004556486 0.0033076654 0.0055147133 - 985400 0.0062118039 0.0033594401 0.0063682826 - 985500 0.0050290706 0.0032243699 0.005660326 - 985600 0.0050700655 0.0027963229 0.0052521359 - 985700 0.0051243403 0.0026648049 0.0051469072 - 985800 0.0064421767 0.0029352288 0.0060556581 - 985900 0.0059146031 0.0030297651 0.005894651 - 986000 0.0059471673 0.0030318393 0.0059124985 - 986100 0.005221966 0.0029639791 0.005493369 - 986200 0.0049872668 0.0028562779 0.0052719853 - 986300 0.0064083426 0.0029136954 0.0060177363 - 986400 0.0075816646 0.0030321867 0.0067045555 - 986500 0.0048120934 0.0031939484 0.0055248061 - 986600 0.0056758174 0.0029077879 0.0056570119 - 986700 0.0038237583 0.0031529826 0.0050051155 - 986800 0.0052247197 0.0029449946 0.0054757182 - 986900 0.0039987404 0.0027345012 0.0046713911 - 987000 0.0045769183 0.0027946598 0.0050116046 - 987100 0.003948505 0.0025608629 0.00447342 - 987200 0.0053330342 0.0027178034 0.0053009919 - 987300 0.0037690257 0.0029005868 0.0047262086 - 987400 0.0071917129 0.0027798141 0.0062633 - 987500 0.0036855695 0.0028413445 0.0046265422 - 987600 0.0071626415 0.0024860097 0.0059554142 - 987700 0.0065228409 0.0024253988 0.0055848998 - 987800 0.0060545617 0.0027159338 0.0056486121 - 987900 0.0067510413 0.0026475906 0.0059176263 - 988000 0.0069241755 0.0028980733 0.0062519708 - 988100 0.0074866761 0.0028463305 0.0064726892 - 988200 0.0065304623 0.0028229601 0.0059861527 - 988300 0.004561441 0.0028819666 0.0050914145 - 988400 0.0052258114 0.0028251015 0.0053563539 - 988500 0.0049742407 0.0028904207 0.0052998185 - 988600 0.0063154069 0.0023979318 0.005456957 - 988700 0.007664824 0.0024812106 0.0061938597 - 988800 0.005302173 0.0028687568 0.0054369968 - 988900 0.0068591097 0.002768468 0.0060908493 - 989000 0.0044832982 0.0028805115 0.0050521091 - 989100 0.0057414168 0.0028877942 0.005668793 - 989200 0.0057768758 0.0030672771 0.0058654513 - 989300 0.0065666095 0.002497555 0.0056782565 - 989400 0.0055048397 0.0022052964 0.0048717031 - 989500 0.004988756 0.002719427 0.0051358557 - 989600 0.0038988202 0.0030875314 0.0049760224 - 989700 0.0046371331 0.0024280134 0.0046741247 - 989800 0.006387656 0.0021870487 0.0052810696 - 989900 0.0040767604 0.0022977586 0.0042724394 - 990000 0.0032176587 0.0024655837 0.0040241372 - 990100 0.0053518026 0.0024501974 0.0050424768 - 990200 0.0061678928 0.0023492996 0.0053368726 - 990300 0.0030407835 0.0026476097 0.0041204893 - 990400 0.0058147888 0.0028046956 0.0056212339 - 990500 0.0042721774 0.0031280593 0.0051973952 - 990600 0.008633618 0.0026677063 0.006849615 - 990700 0.0057711898 0.0026465389 0.005441959 - 990800 0.0037519197 0.0029536112 0.0047709474 - 990900 0.0064820509 0.0030311292 0.0061708726 - 991000 0.0061953423 0.003375455 0.0063763239 - 991100 0.0063170428 0.0038461082 0.0069059257 - 991200 0.0045007117 0.0034323775 0.0056124098 - 991300 0.0047824764 0.00275659 0.005073102 - 991400 0.0061370086 0.002512749 0.0054853626 - 991500 0.0044609952 0.0026613919 0.0048221865 - 991600 0.0065778786 0.0021112289 0.0052973888 - 991700 0.0048911768 0.0021462033 0.004515367 - 991800 0.0058746502 0.0021097485 0.0049552822 - 991900 0.0048116993 0.002448547 0.0047792139 - 992000 0.0051390565 0.0021558063 0.0046450368 - 992100 0.0042368811 0.0026219544 0.0046741936 - 992200 0.003584564 0.0025554912 0.0042917644 - 992300 0.0074277829 0.0024056232 0.0060034556 - 992400 0.0045093328 0.0026966481 0.0048808562 - 992500 0.0048638458 0.0024237171 0.0047796424 - 992600 0.0042387456 0.0020709134 0.0041240558 - 992700 0.0058346584 0.0020567557 0.0048829183 - 992800 0.0047791806 0.0021638155 0.0044787311 - 992900 0.0050432375 0.0022831604 0.0047259786 - 993000 0.0058545493 0.0022022786 0.0050380759 - 993100 0.0060523061 0.0020840039 0.0050155897 - 993200 0.0061682071 0.0027081922 0.0056959175 - 993300 0.0036947729 0.0027494034 0.004539059 - 993400 0.0050775395 0.002264335 0.0047237682 - 993500 0.0052163964 0.0023020636 0.0048287556 - 993600 0.0039278289 0.0025151362 0.0044176783 - 993700 0.0050935582 0.0022132214 0.0046804136 - 993800 0.0049088391 0.0021669247 0.0045446437 - 993900 0.0043640255 0.0022723071 0.004386132 - 994000 0.0039512455 0.0023597147 0.0042735992 - 994100 0.0044082107 0.0026960218 0.0048312488 - 994200 0.005542011 0.002690482 0.0053748936 - 994300 0.0051035675 0.0031918265 0.0056638671 - 994400 0.0044666727 0.0036362587 0.0057998033 - 994500 0.0048418996 0.0031226028 0.0054678979 - 994600 0.0052553142 0.0029700689 0.0055156117 - 994700 0.0053126877 0.0030852112 0.0056585443 - 994800 0.0041947089 0.0025849569 0.004616769 - 994900 0.0048992634 0.0025351245 0.0049082052 - 995000 0.0052567554 0.0023247117 0.0048709526 - 995100 0.005468025 0.0023076779 0.0049562526 - 995200 0.0056871936 0.0024085952 0.0051633296 - 995300 0.0070999095 0.0024732653 0.005912284 - 995400 0.0048040698 0.0023683595 0.0046953308 - 995500 0.0044043002 0.0023087316 0.0044420645 - 995600 0.0050913645 0.0022640307 0.0047301604 - 995700 0.0048861939 0.0023118181 0.0046785683 - 995800 0.0058665606 0.0027848978 0.005626513 - 995900 0.0055226934 0.0032062019 0.0058812565 - 996000 0.0068720583 0.0027828838 0.006111537 - 996100 0.0057494514 0.0024266921 0.0052115826 - 996200 0.005113965 0.0024579443 0.0049350211 - 996300 0.0043592503 0.0023953088 0.0045068207 - 996400 0.0046924445 0.0022902873 0.00456319 - 996500 0.004365909 0.0020184398 0.004133177 - 996600 0.002989 0.0022717449 0.0037195418 - 996700 0.0045663138 0.0026969407 0.004908749 - 996800 0.0054185325 0.0029500719 0.0055746735 - 996900 0.0060091344 0.0026772403 0.0055879147 - 997000 0.0039072152 0.0024993702 0.0043919276 - 997100 0.0053123441 0.0021697932 0.0047429599 - 997200 0.0049014502 0.0019825895 0.0043567295 - 997300 0.0064721126 0.0016866843 0.0048216139 - 997400 0.0058443936 0.002200832 0.0050317102 - 997500 0.0053118919 0.0028131674 0.005386115 - 997600 0.0057866158 0.002527966 0.005330858 - 997700 0.0039495061 0.0020253583 0.0039384003 - 997800 0.0048430509 0.0019361416 0.0042819944 - 997900 0.004348259 0.0019607491 0.004066937 - 998000 0.004070038 0.0023530402 0.0043244649 - 998100 0.0043265054 0.0020690333 0.0041646844 - 998200 0.006440916 0.0018058566 0.0049256753 - 998300 0.0047030221 0.0017507567 0.004028783 - 998400 0.0045244802 0.0018707626 0.0040623077 - 998500 0.0056847629 0.0017229935 0.0044765505 - 998600 0.0060921182 0.0019074388 0.0048583085 - 998700 0.0065815686 0.0020988255 0.0052867728 - 998800 0.0047238556 0.0022786743 0.0045667919 - 998900 0.0047305893 0.0021402839 0.0044316631 - 999000 0.0039749926 0.0023083816 0.0042337686 - 999100 0.0043500216 0.002498269 0.0046053107 - 999200 0.0053912988 0.0022375668 0.0048489771 - 999300 0.0046214368 0.0018447362 0.0040832446 - 999400 0.0072041574 0.0017386224 0.0052281361 - 999500 0.0041062982 0.00186204 0.0038510281 - 999600 0.0045259828 0.0017033787 0.0038956516 - 999700 0.0044195358 0.0020669123 0.0042076249 - 999800 0.0048482789 0.0025011758 0.0048495609 - 999900 0.0042323155 0.0023462542 0.004396282 - 1000000 0.0070195744 0.0020962934 0.0054963997 - 1000100 0.0052325519 0.0025812336 0.0051157509 - 1000200 0.0053701453 0.0026391364 0.0052403005 - 1000300 0.0065498581 0.0021817095 0.005354297 - 1000400 0.0041255626 0.0025574907 0.0045558101 - 1000500 0.0068536711 0.0020642998 0.0053840467 - 1000600 0.0047630137 0.0025446958 0.0048517805 - 1000700 0.0060269635 0.0024016652 0.0053209757 - 1000800 0.0046985302 0.0024313838 0.0047072344 - 1000900 0.0067033466 0.0025403247 0.0057872581 - 1001000 0.0040097015 0.0032729377 0.0052151369 - 1001100 0.0052482508 0.0034639203 0.0060060418 - 1001200 0.0060915552 0.0027361193 0.0056867163 - 1001300 0.0056792722 0.0023643931 0.0051152905 - 1001400 0.0054905462 0.0024136607 0.005073144 - 1001500 0.0046295517 0.0026468889 0.004889328 - 1001600 0.0054502247 0.0028193046 0.0054592572 - 1001700 0.0052788064 0.0028894148 0.0054463367 - 1001800 0.0055583299 0.0033857366 0.0060780526 - 1001900 0.0047587923 0.003369221 0.005674261 - 1002000 0.0056817373 0.0029473319 0.0056994234 - 1002100 0.0056383287 0.0026581838 0.0053892493 - 1002200 0.0064859239 0.0025746735 0.0057162929 - 1002300 0.0046104042 0.0027650586 0.0049982232 - 1002400 0.0059714729 0.0024222294 0.0053146616 - 1002500 0.0063302697 0.0021997444 0.0052659688 - 1002600 0.0044932739 0.0023220662 0.0044984958 - 1002700 0.0049096682 0.0024521597 0.0048302802 - 1002800 0.0063771561 0.0024211933 0.0055101283 - 1002900 0.0046441679 0.0022813492 0.0045308681 - 1003000 0.0053822089 0.002286375 0.0048933824 - 1003100 0.0049075636 0.0018562121 0.0042333132 - 1003200 0.0065958629 0.001719224 0.0049140951 - 1003300 0.004025014 0.002488262 0.0044378782 - 1003400 0.0046172338 0.0024646716 0.0047011443 - 1003500 0.0064930447 0.0019758945 0.0051209631 - 1003600 0.0040095284 0.0024768536 0.0044189689 - 1003700 0.0048585659 0.0030287471 0.0053821149 - 1003800 0.0061509045 0.0025724101 0.0055517545 - 1003900 0.0047175866 0.0021163149 0.004401396 - 1004000 0.0045241505 0.0021242432 0.0043156285 - 1004100 0.0047481811 0.0025187357 0.004818636 - 1004200 0.006617178 0.0020720806 0.0052772762 - 1004300 0.0050368325 0.0018419125 0.0042816283 - 1004400 0.005106638 0.0019006513 0.004374179 - 1004500 0.0039323097 0.0023159722 0.0042206847 - 1004600 0.0053007172 0.0022477189 0.0048152538 - 1004700 0.0065897868 0.0020144991 0.0052064271 - 1004800 0.0054973969 0.0023697468 0.0050325484 - 1004900 0.0058628253 0.0026540284 0.0054938344 - 1005000 0.00413297 0.0026888362 0.0046907435 - 1005100 0.00412526 0.0023138106 0.0043119834 - 1005200 0.0049363457 0.0024143357 0.0048053781 - 1005300 0.0045071406 0.0026901017 0.0048732479 - 1005400 0.0048519358 0.0026978177 0.0050479741 - 1005500 0.0064146042 0.0024478435 0.0055549174 - 1005600 0.0054513568 0.0023177772 0.0049582781 - 1005700 0.00447881 0.001963008 0.0041324316 - 1005800 0.0053050187 0.0019798199 0.0045494383 - 1005900 0.0047930078 0.0020366258 0.0043582389 - 1006000 0.0065162712 0.0023037002 0.0054600191 - 1006100 0.004875834 0.0021997989 0.004561531 - 1006200 0.0027085454 0.0022747815 0.0035867332 - 1006300 0.0067881906 0.001950608 0.0052386378 - 1006400 0.0059613196 0.0022863746 0.0051738887 - 1006500 0.0044118402 0.002802581 0.0049395661 - 1006600 0.0042169602 0.0022632247 0.0043058147 - 1006700 0.0056546605 0.0017322046 0.0044711808 - 1006800 0.0062867256 0.002003197 0.0050483297 - 1006900 0.0057937642 0.0021739543 0.0049803088 - 1007000 0.0034848698 0.0020343903 0.0037223741 - 1007100 0.005348628 0.0021950729 0.0047858146 - 1007200 0.0048438885 0.0020535682 0.0043998266 - 1007300 0.0062452268 0.0022640794 0.0052891111 - 1007400 0.005227317 0.0024503951 0.0049823768 - 1007500 0.0053465064 0.0024460091 0.0050357231 - 1007600 0.0046799404 0.002512578 0.0047794242 - 1007700 0.0072895832 0.0028336923 0.0063645842 - 1007800 0.0046507198 0.0024023875 0.0046550799 - 1007900 0.0051192108 0.0025190649 0.0049986826 - 1008000 0.0046550281 0.0029909017 0.005245681 - 1008100 0.0053984828 0.0025362398 0.0051511299 - 1008200 0.0043161306 0.0019302334 0.0040208591 - 1008300 0.0043527491 0.0019643249 0.0040726877 - 1008400 0.0033611641 0.0020162 0.0036442639 - 1008500 0.0063591108 0.0018061396 0.0048863339 - 1008600 0.0057279212 0.0023369356 0.0051113974 - 1008700 0.0056912092 0.0026669715 0.0054236509 - 1008800 0.0062573403 0.0023190033 0.0053499025 - 1008900 0.0045910917 0.0023248534 0.0045486635 - 1009000 0.0045538104 0.00246036 0.0046661119 - 1009100 0.0044797773 0.0019869571 0.0041568492 - 1009200 0.0052965561 0.0016599991 0.0042255184 - 1009300 0.0045962559 0.0023272984 0.0045536099 - 1009400 0.0051370128 0.0028127386 0.0053009792 - 1009500 0.0053695149 0.0025544086 0.0051552674 - 1009600 0.004616299 0.0020260733 0.0042620931 - 1009700 0.0057652885 0.0017984997 0.0045910613 - 1009800 0.0048354733 0.0015946763 0.0039368587 - 1009900 0.0041120965 0.0023055816 0.0042973783 - 1010000 0.0060496451 0.0023587392 0.0052890361 - 1010100 0.0048651693 0.0026004243 0.0049569907 - 1010200 0.0066348692 0.0026431761 0.0058569409 - 1010300 0.0052862234 0.0027032003 0.0052637147 - 1010400 0.0051022076 0.0023330273 0.0048044091 - 1010500 0.0051775151 0.0020150587 0.0045229176 - 1010600 0.0082577855 0.001539418 0.0055392828 - 1010700 0.0069191579 0.0020209849 0.005372452 - 1010800 0.0060028173 0.0026247777 0.0055323923 - 1010900 0.0052966547 0.0027692911 0.0053348582 - 1011000 0.0069224708 0.0026458177 0.0059988895 - 1011100 0.0053068061 0.0027163641 0.0052868483 - 1011200 0.004687591 0.0030474854 0.0053180373 - 1011300 0.0057899877 0.0027832973 0.0055878226 - 1011400 0.0066418206 0.0025730008 0.0057901327 - 1011500 0.0053138794 0.0026094625 0.0051833728 - 1011600 0.0060165823 0.0023032517 0.0052175337 - 1011700 0.0061856289 0.0020557481 0.0050519121 - 1011800 0.0066706745 0.0019218252 0.0051529331 - 1011900 0.0045293602 0.0023039189 0.0044978277 - 1012000 0.0057647557 0.002531751 0.0053240545 - 1012100 0.0049911994 0.0022824955 0.0047001077 - 1012200 0.0051439875 0.0022418214 0.0047334403 - 1012300 0.0057384728 0.0023284362 0.0051080089 - 1012400 0.0066250661 0.0026167188 0.0058257352 - 1012500 0.0068708197 0.0025897903 0.0059178436 - 1012600 0.0050975326 0.0027880521 0.0052571694 - 1012700 0.0052715421 0.0025888901 0.0051422933 - 1012800 0.0052074254 0.0024156259 0.0049379726 - 1012900 0.0044039857 0.0027058371 0.0048390177 - 1013000 0.0052763111 0.0025897156 0.0051454288 - 1013100 0.0051636261 0.0020046097 0.0045057411 - 1013200 0.0049832625 0.0023956177 0.0048093855 - 1013300 0.0046930831 0.0026373177 0.0049105299 - 1013400 0.0067062999 0.0027374673 0.0059858313 - 1013500 0.0047248591 0.002877889 0.0051664927 - 1013600 0.0061764498 0.0023986205 0.0053903384 - 1013700 0.0065034853 0.0021889873 0.005339113 - 1013800 0.0043887207 0.0021668113 0.0042925979 - 1013900 0.0053222402 0.0024537634 0.0050317234 - 1014000 0.006520899 0.0027566654 0.0059152259 - 1014100 0.0049332213 0.0023208718 0.0047104009 - 1014200 0.0038336999 0.0019617069 0.0038186553 - 1014300 0.0051914237 0.0019169924 0.0044315883 - 1014400 0.0046941658 0.0018816177 0.0041553542 - 1014500 0.0060464859 0.0019279088 0.0048566754 - 1014600 0.0036892386 0.0017710766 0.0035580516 - 1014700 0.0053947819 0.0017358422 0.0043489396 - 1014800 0.0044155349 0.0020296398 0.0041684145 - 1014900 0.0046298261 0.0025822178 0.0048247898 - 1015000 0.0036701402 0.002841104 0.0046188282 - 1015100 0.0038641773 0.0027268024 0.0045985133 - 1015200 0.0032599393 0.002317249 0.0038962821 - 1015300 0.0041118648 0.0023775971 0.0043692816 - 1015400 0.0045885034 0.0031171535 0.0053397098 - 1015500 0.0054260317 0.0031654748 0.0057937089 - 1015600 0.0047105721 0.0030056696 0.005287353 - 1015700 0.005108738 0.0030577765 0.0055323214 - 1015800 0.0059870645 0.0031986424 0.0060986268 - 1015900 0.0064254133 0.0032086769 0.0063209865 - 1016000 0.0050439835 0.002408469 0.0048516485 - 1016100 0.0048624278 0.0020007332 0.0043559717 - 1016200 0.0044088157 0.0021621199 0.00429764 - 1016300 0.0055024204 0.0025066122 0.005171847 - 1016400 0.00393655 0.0028599956 0.004766762 - 1016500 0.0054707951 0.0028846604 0.0055345768 - 1016600 0.0059370087 0.0024472741 0.0053230127 - 1016700 0.0069316485 0.0020347046 0.0053922219 - 1016800 0.0045213751 0.0025442309 0.0047342719 - 1016900 0.0034594828 0.0028401787 0.0045158657 - 1017000 0.0065232298 0.0021223617 0.0052820512 - 1017100 0.0051342279 0.0020001091 0.0044870008 - 1017200 0.0072780507 0.0022567284 0.0057820342 - 1017300 0.0058161913 0.0021464675 0.0049636852 - 1017400 0.0047325847 0.0023252538 0.0046175995 - 1017500 0.0042997801 0.0029184885 0.0050011944 - 1017600 0.0066824044 0.0026343497 0.0058711394 - 1017700 0.0044266708 0.0025660203 0.004710189 - 1017800 0.0062487075 0.003179033 0.0062057507 - 1017900 0.005401907 0.0030382399 0.0056547886 - 1018000 0.0053601609 0.0026615858 0.0052579138 - 1018100 0.0056794837 0.0024091544 0.0051601544 - 1018200 0.0045919502 0.0021240911 0.004348317 - 1018300 0.0043435173 0.0018917078 0.003995599 - 1018400 0.0034351708 0.002317108 0.0039810188 - 1018500 0.0053939175 0.002771873 0.0053845518 - 1018600 0.0058856424 0.0032101345 0.0060609926 - 1018700 0.0044480017 0.0033875564 0.0055420572 - 1018800 0.0057047297 0.0033283391 0.0060915676 - 1018900 0.0054730739 0.0026372475 0.0052882676 - 1019000 0.0042629903 0.0022800879 0.0043449738 - 1019100 0.0052077081 0.0022464353 0.0047689189 - 1019200 0.0050942183 0.0018721845 0.0043396965 - 1019300 0.0040548417 0.0018056177 0.0037696817 - 1019400 0.0044711706 0.0017214879 0.0038872111 - 1019500 0.0047484589 0.0018031314 0.0041031662 - 1019600 0.0041579299 0.0020998886 0.0041138859 - 1019700 0.0046275548 0.0019312803 0.0041727522 - 1019800 0.0063528809 0.0021346335 0.0052118102 - 1019900 0.0042460417 0.003027595 0.0050842715 - 1020000 0.0042832434 0.002899557 0.004974253 - 1020100 0.0053464014 0.0028771418 0.005466805 - 1020200 0.0044230013 0.0028524105 0.0049948017 - 1020300 0.0047357866 0.0021806217 0.0044745183 - 1020400 0.0045821536 0.0023735922 0.0045930728 - 1020500 0.0054775413 0.0021853522 0.0048385363 - 1020600 0.0040751981 0.0023345907 0.0043085148 - 1020700 0.0055512772 0.0022365656 0.0049254655 - 1020800 0.0054598107 0.0025796584 0.0052242541 - 1020900 0.0035040119 0.0026447199 0.0043419757 - 1021000 0.0053143151 0.0026582772 0.0052323985 - 1021100 0.005507319 0.0025363521 0.0052039597 - 1021200 0.0057728261 0.0023159916 0.0051122042 - 1021300 0.0073548629 0.0023251855 0.0058876972 - 1021400 0.0060504748 0.0030086748 0.0059393735 - 1021500 0.0061221796 0.0030706907 0.0060361214 - 1021600 0.0060702426 0.0026691374 0.0056094111 - 1021700 0.0051405374 0.0024112139 0.0049011617 - 1021800 0.0057808999 0.0022662419 0.0050663653 - 1021900 0.0048026619 0.0021260782 0.0044523675 - 1022000 0.0036357903 0.0020737877 0.0038348736 - 1022100 0.0051158048 0.0022228122 0.0047007802 - 1022200 0.005755132 0.002668009 0.0054556511 - 1022300 0.0059996099 0.0033110409 0.0062171019 - 1022400 0.0047671679 0.0032533003 0.0055623973 - 1022500 0.0054285991 0.0027284783 0.005357956 - 1022600 0.0052230554 0.0029468718 0.0054767892 - 1022700 0.0048664548 0.0031295435 0.0054867326 - 1022800 0.0043943918 0.002896219 0.0050247526 - 1022900 0.0043247706 0.0025882603 0.004683071 - 1023000 0.0048848365 0.0022677683 0.004633861 - 1023100 0.0049178948 0.0025966102 0.0049787155 - 1023200 0.0033315308 0.0030363188 0.0046500291 - 1023300 0.0044013643 0.0029460343 0.0050779452 - 1023400 0.005364758 0.0027550706 0.0053536253 - 1023500 0.0073007812 0.0030776823 0.0066139982 - 1023600 0.0065841722 0.0031133426 0.006302551 - 1023700 0.0056889932 0.0028873636 0.0056429697 - 1023800 0.0051669262 0.0028117141 0.0053144439 - 1023900 0.004827673 0.0021873848 0.0045257889 - 1024000 0.0043853363 0.0020483858 0.004172533 - 1024100 0.0059189432 0.0021419052 0.0050088933 - 1024200 0.0055283239 0.0026150491 0.005292831 - 1024300 0.0061155448 0.0027077361 0.0056699531 - 1024400 0.0068760867 0.0026466595 0.005977264 - 1024500 0.0051925935 0.002561036 0.0050761984 - 1024600 0.0082323947 0.0020422552 0.0060298214 - 1024700 0.005799531 0.0020187446 0.0048278924 - 1024800 0.0054000261 0.0025314144 0.0051470521 - 1024900 0.0044695438 0.0025731411 0.0047380764 - 1025000 0.0045952976 0.0024691567 0.004695004 - 1025100 0.0053044745 0.0023498442 0.0049191991 - 1025200 0.005024066 0.0023510773 0.0047846093 - 1025300 0.0065706122 0.0019071369 0.0050897772 - 1025400 0.0048238984 0.001767191 0.0041037668 - 1025500 0.0055314211 0.0017209956 0.0044002777 - 1025600 0.0060320515 0.0017505847 0.0046723597 - 1025700 0.0038934672 0.0024498057 0.0043357039 - 1025800 0.0050289387 0.0028339978 0.00526989 - 1025900 0.0045919126 0.0023474646 0.0045716723 - 1026000 0.0044114923 0.0021050676 0.0042418842 - 1026100 0.0046321802 0.00221666 0.0044603723 - 1026200 0.0040821634 0.0023186665 0.0042959644 - 1026300 0.0037296863 0.0022467572 0.0040533241 - 1026400 0.0052337583 0.0022928352 0.0048279369 - 1026500 0.0039430283 0.0022245955 0.0041344998 - 1026600 0.0054602296 0.0020235758 0.0046683745 - 1026700 0.0049102192 0.0014182042 0.0037965917 - 1026800 0.0053014117 0.0013866048 0.0039544761 - 1026900 0.0056513537 0.0018480663 0.0045854408 - 1027000 0.0045532286 0.0022905244 0.0044959945 - 1027100 0.0046316927 0.0023136766 0.0045571527 - 1027200 0.0051660201 0.001963923 0.004466214 - 1027300 0.0048393052 0.0018556331 0.0041996715 - 1027400 0.0067613969 0.0021984102 0.0054734618 - 1027500 0.0049713888 0.0022700187 0.0046780352 - 1027600 0.0037095075 0.0024084557 0.0042052484 - 1027700 0.0038349611 0.0021637889 0.0040213482 - 1027800 0.0048790817 0.0020022 0.0043655052 - 1027900 0.0045423054 0.0020654942 0.0042656734 - 1028000 0.0057283811 0.0020610393 0.0048357239 - 1028100 0.0061367674 0.0019742205 0.0049467172 - 1028200 0.0052771557 0.0023865824 0.0049427047 - 1028300 0.005535402 0.0023787155 0.0050599258 - 1028400 0.0064866915 0.0020018412 0.0051438324 - 1028500 0.0041083578 0.0020369798 0.0040269656 - 1028600 0.0059207484 0.0019689878 0.0048368504 - 1028700 0.0067323034 0.0021136548 0.0053746143 - 1028800 0.0042043387 0.0022973977 0.0043338742 - 1028900 0.0053116358 0.002290996 0.0048638196 - 1029000 0.0049354483 0.0022147525 0.0046053603 - 1029100 0.0044698549 0.0025776517 0.0047427377 - 1029200 0.0047584209 0.0022950643 0.0045999244 - 1029300 0.0052892301 0.0018724979 0.0044344687 - 1029400 0.0054818444 0.0017704023 0.0044256707 - 1029500 0.0038388059 0.0018927733 0.0037521949 - 1029600 0.0045650783 0.0019485516 0.0041597614 - 1029700 0.0036446442 0.0026707846 0.0044361591 - 1029800 0.0038678333 0.0033154554 0.0051889372 - 1029900 0.0047884069 0.002955111 0.0052744956 - 1030000 0.0064022555 0.0027724387 0.0058735311 - 1030100 0.0060573778 0.00286997 0.0058040124 - 1030200 0.0044693759 0.0023823694 0.0045472234 - 1030300 0.0030920786 0.0023227516 0.0038204771 - 1030400 0.005346967 0.002197186 0.0047871232 - 1030500 0.0066086334 0.0018782556 0.0050793124 - 1030600 0.0051829132 0.0020068367 0.0045173103 - 1030700 0.0063067222 0.0025056412 0.0055604598 - 1030800 0.0056677641 0.0026663239 0.0054116471 - 1030900 0.0050968529 0.0024672351 0.0049360232 - 1031000 0.0067383123 0.0023181787 0.0055820488 - 1031100 0.0059881676 0.0020466332 0.0049471519 - 1031200 0.0055663863 0.0021368423 0.0048330607 - 1031300 0.0034025601 0.0022124228 0.0038605379 - 1031400 0.0045634291 0.0017948023 0.0040052133 - 1031500 0.0044045767 0.0020297085 0.0041631753 - 1031600 0.0041718604 0.0019618614 0.0039826063 - 1031700 0.0058755956 0.0017305672 0.0045765589 - 1031800 0.0045726897 0.0018680982 0.0040829947 - 1031900 0.0042671092 0.0020754387 0.0041423197 - 1032000 0.0060461418 0.00278744 0.0057160399 - 1032100 0.0042543898 0.0033105136 0.0053712336 - 1032200 0.005748412 0.0030131374 0.0057975245 - 1032300 0.004084875 0.0024920976 0.0044707089 - 1032400 0.004669198 0.002714266 0.0049759088 - 1032500 0.005942937 0.0022159467 0.0050945569 - 1032600 0.0051193792 0.002368764 0.0048484633 - 1032700 0.0063379135 0.0022401018 0.0053100286 - 1032800 0.0084550659 0.0025119917 0.0066074143 - 1032900 0.0047609683 0.0027068607 0.0050129548 - 1033000 0.0058041584 0.0019943702 0.0048057594 - 1033100 0.0046967721 0.0020954505 0.0043704495 - 1033200 0.0047987375 0.0025848757 0.0049092642 - 1033300 0.0042214905 0.0024116275 0.004456412 - 1033400 0.0047379009 0.0020986235 0.0043935442 - 1033500 0.006200839 0.002276343 0.0052798744 - 1033600 0.0038524451 0.0027764324 0.0046424605 - 1033700 0.0040667331 0.0025559094 0.0045257333 - 1033800 0.0070318244 0.002408968 0.005815008 - 1033900 0.0057186479 0.0027291526 0.0054991227 - 1034000 0.0041315 0.002980724 0.0049819193 - 1034100 0.005460398 0.0029034493 0.0055483296 - 1034200 0.005516467 0.0030485242 0.0057205629 - 1034300 0.0068329585 0.0024180015 0.0057277158 - 1034400 0.0055535597 0.0021037621 0.0047937676 - 1034500 0.0051150841 0.0025129772 0.0049905961 - 1034600 0.0042055861 0.0030079548 0.0050450356 - 1034700 0.0048726576 0.0023807 0.0047408935 - 1034800 0.0040564246 0.0018694469 0.0038342775 - 1034900 0.0046597231 0.0014423714 0.0036994248 - 1035000 0.0048417142 0.0014394467 0.003784652 - 1035100 0.0038869062 0.0018775773 0.0037602974 - 1035200 0.0044563262 0.0021910738 0.0043496069 - 1035300 0.0059008165 0.0022340779 0.0050922859 - 1035400 0.0053356457 0.0025991782 0.0051836316 - 1035500 0.0058445117 0.0026273926 0.005458328 - 1035600 0.0047444516 0.0028242283 0.0051223221 - 1035700 0.0055535084 0.0026596127 0.0053495933 - 1035800 0.0058252839 0.0027804829 0.0056021048 - 1035900 0.0050175613 0.0023998764 0.0048302577 - 1036000 0.0055744515 0.0025014985 0.0052016235 - 1036100 0.0057709245 0.0029080149 0.0057033065 - 1036200 0.0066537631 0.0026296507 0.0058525672 - 1036300 0.0052007765 0.0023603519 0.004879478 - 1036400 0.0065285278 0.0021221336 0.0052843892 - 1036500 0.0043333792 0.0024160752 0.0045150557 - 1036600 0.0046607865 0.0028951698 0.0051527383 - 1036700 0.0061910196 0.0027600601 0.0057588352 - 1036800 0.0050137415 0.0028037611 0.0052322922 - 1036900 0.0040788343 0.0030605631 0.0050362485 - 1037000 0.0044214633 0.0024932595 0.0046349057 - 1037100 0.0051084848 0.0020303693 0.0045047916 - 1037200 0.0030348555 0.0021146815 0.0035846897 - 1037300 0.0058140438 0.002246274 0.0050624514 - 1037400 0.0045038662 0.0024294542 0.0046110144 - 1037500 0.0038990828 0.002157604 0.0040462223 - 1037600 0.0055521666 0.0017895905 0.0044789212 - 1037700 0.0040583161 0.0022472954 0.0042130423 - 1037800 0.0051801598 0.0026879189 0.0051970588 - 1037900 0.0041998569 0.0026330274 0.0046673331 - 1038000 0.0033788944 0.0029466503 0.0045833023 - 1038100 0.0055669201 0.0030588649 0.0057553418 - 1038200 0.0054285881 0.0032098628 0.0058393352 - 1038300 0.0056126542 0.0025868315 0.0053054609 - 1038400 0.005698879 0.0023028664 0.0050632609 - 1038500 0.0051723592 0.0019114659 0.0044168274 - 1038600 0.0041034937 0.0017290724 0.0037167021 - 1038700 0.0049592381 0.0021875468 0.0045896778 - 1038800 0.0053936999 0.0028163553 0.0054289287 - 1038900 0.0058354323 0.002639329 0.0054658665 - 1039000 0.0050145579 0.0026121307 0.0050410572 - 1039100 0.0054386513 0.0026849777 0.0053193244 - 1039200 0.0048402409 0.0025755885 0.0049200802 - 1039300 0.0052599645 0.0023768188 0.0049246141 - 1039400 0.0036211664 0.0024595735 0.0042135759 - 1039500 0.0053673878 0.0024711159 0.0050709443 - 1039600 0.0061094993 0.0022200131 0.0051793019 - 1039700 0.0049153573 0.0024831547 0.0048640309 - 1039800 0.0043960102 0.0027346177 0.0048639351 - 1039900 0.004557728 0.0027471346 0.0049547841 - 1040000 0.0045089496 0.0030803048 0.0052643273 - 1040100 0.0054162653 0.0033029735 0.005926477 - 1040200 0.0060171899 0.0033187059 0.0062332822 - 1040300 0.0058441532 0.0029577083 0.0057884701 - 1040400 0.0039903492 0.0030342981 0.0049671235 - 1040500 0.0043964848 0.003054063 0.0051836104 - 1040600 0.0035111309 0.0030924659 0.0047931699 - 1040700 0.0044344771 0.0027323146 0.0048802644 - 1040800 0.0040750729 0.002455651 0.0044295144 - 1040900 0.005689888 0.0028733694 0.0056294089 - 1041000 0.006339962 0.0030181983 0.0060891173 - 1041100 0.0056099484 0.0028785466 0.0055958653 - 1041200 0.0045686949 0.0022862077 0.0044991693 - 1041300 0.0047887414 0.0022941411 0.0046136877 - 1041400 0.0053800141 0.0023019229 0.0049078672 - 1041500 0.0071157371 0.002158894 0.0056055792 - 1041600 0.0061180607 0.0022994036 0.0052628392 - 1041700 0.0053016762 0.0021743767 0.0047423761 - 1041800 0.0057957357 0.0020731587 0.0048804682 - 1041900 0.0053512814 0.0020942794 0.0046863063 - 1042000 0.0059834344 0.0020764351 0.0049746611 - 1042100 0.0045966144 0.002599633 0.0048261181 - 1042200 0.0050997589 0.0030943349 0.0055645306 - 1042300 0.0061422446 0.0030520076 0.0060271573 - 1042400 0.0059954307 0.0026142224 0.0055182591 - 1042500 0.0051482924 0.0026071774 0.0051008816 - 1042600 0.007061626 0.0026629009 0.006083376 - 1042700 0.0067436831 0.0027230907 0.0059895622 - 1042800 0.0046298555 0.003072998 0.0053155842 - 1042900 0.0050186883 0.0027021479 0.005133075 - 1043000 0.0050903713 0.0022409002 0.0047065488 - 1043100 0.0044588871 0.0024278795 0.0045876529 - 1043200 0.0052072144 0.0026102171 0.0051324616 - 1043300 0.0030839047 0.0027556461 0.0042494125 - 1043400 0.0059592906 0.002698681 0.0055852124 - 1043500 0.0050922919 0.0034398161 0.005906395 - 1043600 0.0038020976 0.0032725893 0.0051142303 - 1043700 0.0049406202 0.0029200179 0.0053131308 - 1043800 0.0060987179 0.0023572155 0.005311282 - 1043900 0.0040090898 0.0020428714 0.0039847743 - 1044000 0.0058859457 0.0022271144 0.0050781194 - 1044100 0.0035222421 0.0028677327 0.0045738187 - 1044200 0.004567284 0.0029862066 0.0051984848 - 1044300 0.0056237352 0.0030926997 0.0058166964 - 1044400 0.0047226262 0.0030008259 0.005288348 - 1044500 0.0045797583 0.0031397002 0.0053580206 - 1044600 0.0042709434 0.0033023234 0.0053710617 - 1044700 0.0056781867 0.0030103629 0.0057607346 - 1044800 0.006156635 0.0029568962 0.0059390163 - 1044900 0.0041001197 0.0027493668 0.0047353623 - 1045000 0.0052522924 0.0027817665 0.0053258456 - 1045100 0.0040277478 0.0027064855 0.0046574258 - 1045200 0.0043634287 0.0026709197 0.0047844555 - 1045300 0.0058868151 0.0030714997 0.0059229257 - 1045400 0.0050471839 0.0033394996 0.0057842293 - 1045500 0.0058434188 0.0030523226 0.0058827286 - 1045600 0.0045523559 0.0024874115 0.0046924589 - 1045700 0.0044619269 0.0020011725 0.0041624184 - 1045800 0.0055585861 0.0025449897 0.0052374299 - 1045900 0.0040431393 0.0029213592 0.0048797548 - 1046000 0.0048892381 0.0026265189 0.0049947436 - 1046100 0.0037503361 0.002481961 0.0042985301 - 1046200 0.0044872095 0.0022634926 0.0044369847 - 1046300 0.0047746797 0.0022874475 0.004600183 - 1046400 0.0061950467 0.0023911164 0.0053918421 - 1046500 0.0051735862 0.0023944166 0.0049003724 - 1046600 0.0043333193 0.0022191308 0.0043180824 - 1046700 0.0054754352 0.0023761788 0.0050283427 - 1046800 0.0051042846 0.0022944247 0.0047668125 - 1046900 0.0041417916 0.0019654933 0.0039716737 - 1047000 0.0043957265 0.001923832 0.004053012 - 1047100 0.0043303464 0.0023049735 0.0044024851 - 1047200 0.0047851687 0.0018690607 0.0041868768 - 1047300 0.0051151393 0.0017590889 0.0042367345 - 1047400 0.0048118511 0.0018008274 0.0041315677 - 1047500 0.0047303586 0.0019035053 0.0041947728 - 1047600 0.0065920633 0.0019855473 0.0051785779 - 1047700 0.0062582789 0.0023615578 0.0053929116 - 1047800 0.0048014767 0.0027926979 0.0051184131 - 1047900 0.0057384066 0.0032674862 0.0060470269 - 1048000 0.0059847998 0.0030799753 0.0059788627 - 1048100 0.005076815 0.0026382659 0.0050973481 - 1048200 0.0044421798 0.0032793435 0.0054310243 - 1048300 0.0050194106 0.0037750581 0.0062063351 - 1048400 0.0062738555 0.003956149 0.0069950477 - 1048500 0.0062953867 0.0037226807 0.0067720087 - 1048600 0.0054240372 0.0033741468 0.0060014148 - 1048700 0.0069298408 0.00330614 0.0066627817 - 1048800 0.0035072166 0.0031158584 0.0048146665 - 1048900 0.0054537628 0.0028931217 0.005534788 - 1049000 0.0048183121 0.0032362375 0.0055701074 - 1049100 0.0058951537 0.0025658331 0.0054212981 - 1049200 0.0046208027 0.0020463783 0.0042845796 - 1049300 0.0032212387 0.0020255072 0.0035857947 - 1049400 0.0049216459 0.0023464476 0.0047303698 - 1049500 0.005070999 0.0021575179 0.004613783 - 1049600 0.0041882551 0.0024114365 0.0044401225 - 1049700 0.0051884589 0.0031825664 0.0056957262 - 1049800 0.0044853504 0.0031304689 0.0053030605 - 1049900 0.0060712477 0.003068241 0.0060090016 - 1050000 0.0037048753 0.0034713129 0.0052658619 - 1050100 0.0062138653 0.0027698093 0.0057796503 - 1050200 0.0057780981 0.0019958669 0.0047946332 - 1050300 0.0045655908 0.0020439664 0.0042554244 - 1050400 0.0046907112 0.0025375955 0.0048096587 - 1050500 0.0039409238 0.0028274892 0.0047363741 - 1050600 0.0039198834 0.002950878 0.0048495715 - 1050700 0.0059775774 0.002684179 0.0055795681 - 1050800 0.006151992 0.0023402862 0.0053201573 - 1050900 0.0032610249 0.0032720798 0.0048516387 - 1051000 0.0030154085 0.0031736418 0.0046342303 - 1051100 0.00548625 0.0029361669 0.0055935692 - 1051200 0.0058514998 0.0027292874 0.0055636076 - 1051300 0.0060877556 0.00219913 0.0051478866 - 1051400 0.0057433428 0.0023417702 0.0051237019 - 1051500 0.0042960148 0.0029116988 0.0049925809 - 1051600 0.0046403897 0.0032794007 0.0055270895 - 1051700 0.0062749217 0.0029328392 0.0059722544 - 1051800 0.0061847335 0.0026417056 0.0056374359 - 1051900 0.0066949391 0.0022436035 0.0054864646 - 1052000 0.0070111648 0.0022360041 0.005632037 - 1052100 0.0055455373 0.0027194826 0.0054056022 - 1052200 0.0067458887 0.0031767594 0.0064442993 - 1052300 0.0067892815 0.0034247701 0.0067133284 - 1052400 0.0051307248 0.0037775062 0.006262701 - 1052500 0.0060415184 0.0032124949 0.0061388554 - 1052600 0.0067726888 0.0020240372 0.0053045583 - 1052700 0.0052825891 0.0016935366 0.0042522907 - 1052800 0.0054954954 0.0020682107 0.0047300913 - 1052900 0.0041623514 0.0023108258 0.0043269647 - 1053000 0.0044068318 0.0025164544 0.0046510136 - 1053100 0.0049483196 0.0024965868 0.0048934291 - 1053200 0.0051731368 0.0024294693 0.0049352075 - 1053300 0.0064350229 0.0025382805 0.0056552447 - 1053400 0.0059161963 0.0024864121 0.0053520696 - 1053500 0.0065120382 0.0023189527 0.0054732212 - 1053600 0.0057853163 0.002302472 0.0051047346 - 1053700 0.0056497473 0.0024376302 0.0051742265 - 1053800 0.0054466864 0.0026715737 0.0053098125 - 1053900 0.0050118649 0.0025753306 0.0050029527 - 1054000 0.0063104427 0.002557761 0.0056143817 - 1054100 0.0070722156 0.0021673502 0.0055929547 - 1054200 0.0064075669 0.0023814499 0.0054851151 - 1054300 0.0044291901 0.0025413633 0.0046867522 - 1054400 0.0048569824 0.00275675 0.0051093509 - 1054500 0.0037186115 0.002959103 0.0047603054 - 1054600 0.0045431532 0.0026088075 0.0048093974 - 1054700 0.0047717656 0.0025090238 0.0048203478 - 1054800 0.0042690326 0.0023342283 0.004402041 - 1054900 0.0064558073 0.0020389246 0.0051659563 - 1055000 0.0064952929 0.0020231563 0.0051693138 - 1055100 0.0055631201 0.002830059 0.0055246953 - 1055200 0.005929974 0.0033165703 0.0061889015 - 1055300 0.0054133698 0.0032224003 0.0058445013 - 1055400 0.006704382 0.0035141798 0.0067616148 - 1055500 0.0065665987 0.0039308979 0.0071115941 - 1055600 0.0056407958 0.0042461384 0.0069783989 - 1055700 0.0050383267 0.0038020497 0.0062424892 - 1055800 0.0073291938 0.0029503413 0.0065004195 - 1055900 0.0048628571 0.0026550806 0.005010527 - 1056000 0.0056038271 0.0027748167 0.0054891704 - 1056100 0.0046476641 0.0032541372 0.0055053496 - 1056200 0.0042379505 0.0030272735 0.0050800307 - 1056300 0.0057602149 0.0025603505 0.0053504546 - 1056400 0.0062273259 0.002449477 0.005465838 - 1056500 0.0050699956 0.0030696623 0.0055254414 - 1056600 0.0053945912 0.0045063382 0.0071193434 - 1056700 0.0042991792 0.0046079341 0.006690349 - 1056800 0.0048685728 0.0039257182 0.0062839332 - 1056900 0.0057098515 0.0037414312 0.0065071405 - 1057000 0.0062060513 0.0037755561 0.0067816123 - 1057100 0.0065460533 0.0039003539 0.0070710985 - 1057200 0.0066316759 0.0032084111 0.0064206291 - 1057300 0.005828463 0.0034881754 0.0063113372 - 1057400 0.0065445572 0.0033703576 0.0065403775 - 1057500 0.0058463579 0.0026365689 0.0054683985 - 1057600 0.0034784512 0.0024947119 0.0041795867 - 1057700 0.0057155074 0.0019677195 0.0047361684 - 1057800 0.0043230509 0.0018008337 0.0038948115 - 1057900 0.0035915871 0.0018859172 0.0036255922 - 1058000 0.0060777562 0.0015778999 0.0045218131 - 1058100 0.0058803871 0.0019388495 0.004787162 - 1058200 0.0051487605 0.0024604192 0.0049543501 - 1058300 0.0043828267 0.002756867 0.0048797986 - 1058400 0.0062692343 0.00220817 0.0052448304 - 1058500 0.0054219083 0.0025666724 0.0051929093 - 1058600 0.0055797464 0.002608373 0.0053110627 - 1058700 0.0052995868 0.0027703229 0.0053373102 - 1058800 0.0073359145 0.0030646463 0.0066179799 - 1058900 0.0046243616 0.0033812324 0.0056211575 - 1059000 0.0049853284 0.003233533 0.0056483014 - 1059100 0.0042738678 0.0029096613 0.004979816 - 1059200 0.0042917895 0.0029561942 0.0050350298 - 1059300 0.0040655166 0.0024745533 0.0044437879 - 1059400 0.0064983645 0.0019758052 0.0051234505 - 1059500 0.0053038844 0.0021747977 0.0047438667 - 1059600 0.0055261105 0.0027298097 0.0054065195 - 1059700 0.0046599033 0.0028093564 0.0050664971 - 1059800 0.0056066714 0.0025771745 0.005292906 - 1059900 0.0057200307 0.0025716419 0.0053422817 - 1060000 0.0040774116 0.0027644989 0.0047394951 - 1060100 0.0060385475 0.0029319419 0.0058568634 - 1060200 0.004403367 0.0031743624 0.0053072433 - 1060300 0.0055782871 0.0027670858 0.0054690686 - 1060400 0.0052127148 0.0022694991 0.0047944079 - 1060500 0.0057499156 0.0018471167 0.0046322321 - 1060600 0.0037755025 0.0015496331 0.0033783921 - 1060700 0.0057008363 0.0014365452 0.0041978877 - 1060800 0.0057756579 0.0020766006 0.0048741848 - 1060900 0.0047304387 0.0020955578 0.0043868641 - 1061000 0.0053721483 0.001716578 0.0043187123 - 1061100 0.0061881217 0.0016818852 0.0046792567 - 1061200 0.0053977085 0.0016705273 0.0042850424 - 1061300 0.0054413248 0.001565074 0.0042007157 - 1061400 0.0062270368 0.0015772183 0.0045934392 - 1061500 0.0041608748 0.001645915 0.0036613388 - 1061600 0.0054254472 0.0016396001 0.0042675511 - 1061700 0.0051121133 0.0019411305 0.0044173104 - 1061800 0.0038195247 0.0026587595 0.0045088418 - 1061900 0.0046565658 0.002804854 0.0050603781 - 1062000 0.0072129372 0.0025331379 0.0060269044 - 1062100 0.0058446079 0.0023355077 0.0051664897 - 1062200 0.0045619497 0.0026551988 0.0048648932 - 1062300 0.0046954009 0.0026782401 0.0049525749 - 1062400 0.004151728 0.0023599309 0.0043709242 - 1062500 0.0040055555 0.0022044975 0.0041446885 - 1062600 0.0044022221 0.0022161696 0.0043484959 - 1062700 0.0052402662 0.0020015138 0.0045397677 - 1062800 0.0058893502 0.0017352069 0.0045878609 - 1062900 0.004345349 0.0021104423 0.0042152208 - 1063000 0.0052990573 0.002310091 0.0048768219 - 1063100 0.0061570614 0.0019882184 0.004970545 - 1063200 0.0056408495 0.0018660051 0.0045982916 - 1063300 0.0041914651 0.0019360779 0.0039663188 - 1063400 0.0039457356 0.0020012734 0.0039124891 - 1063500 0.0050815845 0.0020923654 0.0045537579 - 1063600 0.0046082951 0.0026829683 0.0049151112 - 1063700 0.004837358 0.0024757163 0.0048188116 - 1063800 0.0058201796 0.0024716145 0.005290764 - 1063900 0.0036369087 0.0026853306 0.0044469582 - 1064000 0.0078034501 0.0023398396 0.0061196357 - 1064100 0.0056235376 0.0026643974 0.0053882984 - 1064200 0.0061286389 0.0031405553 0.0061091147 - 1064300 0.0066948352 0.0029835287 0.0062263395 - 1064400 0.0058562282 0.0025721444 0.005408755 - 1064500 0.0052049294 0.0027184014 0.0052395391 - 1064600 0.0060106572 0.0025434626 0.0054548747 - 1064700 0.004139262 0.0025798194 0.0045847744 - 1064800 0.0041960076 0.0028008187 0.0048332599 - 1064900 0.0051237683 0.0026398529 0.0051216781 - 1065000 0.0050899836 0.0022007599 0.0046662207 - 1065100 0.0067047136 0.0020528636 0.0053004592 - 1065200 0.0067567947 0.0019493579 0.0052221803 - 1065300 0.0049399675 0.0019026907 0.0042954875 - 1065400 0.0038262215 0.0021771459 0.0040304719 - 1065500 0.0053400521 0.0019820075 0.0045685952 - 1065600 0.0050473174 0.0017233238 0.0041681182 - 1065700 0.004214167 0.001760672 0.0038019092 - 1065800 0.0045188192 0.0018128844 0.0040016875 - 1065900 0.004855718 0.0022630805 0.0046150689 - 1066000 0.0061694764 0.0025067599 0.0054951001 - 1066100 0.0062629758 0.0025781844 0.0056118133 - 1066200 0.0053971934 0.0026271061 0.0052413717 - 1066300 0.0054583889 0.0024786217 0.0051225288 - 1066400 0.0066783919 0.0029599581 0.0061948042 - 1066500 0.0048273498 0.0031028566 0.0054411042 - 1066600 0.0075934216 0.0027159893 0.0063940528 - 1066700 0.0048507704 0.0028648581 0.00521445 - 1066800 0.0054257182 0.0024405457 0.005068628 - 1066900 0.0059615996 0.002494611 0.0053822608 - 1067000 0.0049202046 0.0026677185 0.0050509426 - 1067100 0.0048389678 0.0028802797 0.0052241547 - 1067200 0.0067269628 0.0022334361 0.0054918087 - 1067300 0.0042104549 0.0018509037 0.0038903428 - 1067400 0.0058557906 0.0019117902 0.0047481888 - 1067500 0.0047894741 0.0023249914 0.0046448929 - 1067600 0.0071288993 0.00197306 0.0054261206 - 1067700 0.0053343027 0.0021844588 0.0047682617 - 1067800 0.0045779734 0.0027827298 0.0050001856 - 1067900 0.0042417169 0.0027237383 0.0047783199 - 1068000 0.0056787605 0.0024828195 0.0052334691 - 1068100 0.0059353986 0.0028029681 0.0056779268 - 1068200 0.0044727687 0.002924487 0.0050909843 - 1068300 0.005831936 0.0027612081 0.0055860521 - 1068400 0.0043533764 0.0026320975 0.0047407642 - 1068500 0.0057880229 0.0024978604 0.0053014341 - 1068600 0.0057365807 0.0020388752 0.0048175315 - 1068700 0.0052910634 0.0022031318 0.0047659906 - 1068800 0.0064654001 0.0028170835 0.0059487617 - 1068900 0.0045878083 0.0032811689 0.0055033886 - 1069000 0.0049800743 0.0027801098 0.0051923333 - 1069100 0.0046679996 0.0025181876 0.0047792499 - 1069200 0.0044618053 0.0017327119 0.0038938988 - 1069300 0.0038116456 0.0015180858 0.0033643516 - 1069400 0.0039335752 0.0018722093 0.0037775348 - 1069500 0.0051494146 0.001938108 0.0044323557 - 1069600 0.0044461151 0.0024778803 0.0046314673 - 1069700 0.0062141006 0.0023860154 0.0053959703 - 1069800 0.0067091416 0.0022180703 0.0054678108 - 1069900 0.0049835145 0.0023402862 0.0047541761 - 1070000 0.003682953 0.0025998111 0.0043837415 - 1070100 0.0044706102 0.0019022076 0.0040676595 - 1070200 0.005844165 0.0019072231 0.0047379905 - 1070300 0.0050964082 0.002200525 0.0046690977 - 1070400 0.0049611698 0.0022761776 0.0046792442 - 1070500 0.0038319172 0.0028136051 0.00466969 - 1070600 0.0036730169 0.0028883859 0.0046675034 - 1070700 0.005598575 0.0025701362 0.005281946 - 1070800 0.007484964 0.0022683349 0.0058938643 - 1070900 0.0042687366 0.0028643037 0.004931973 - 1071000 0.0046200037 0.0029875217 0.005225336 - 1071100 0.0055579145 0.0026213159 0.0053134307 - 1071200 0.0061021545 0.0022301124 0.0051858435 - 1071300 0.0054617713 0.0021597839 0.0048053294 - 1071400 0.0032741073 0.0022637534 0.0038496492 - 1071500 0.0043790948 0.0022033629 0.0043244869 - 1071600 0.0051281837 0.0021010726 0.0045850366 - 1071700 0.0043904939 0.0025936202 0.0047202657 - 1071800 0.0053387648 0.0030932876 0.0056792518 - 1071900 0.0065516798 0.0027998983 0.0059733682 - 1072000 0.0059552678 0.0027023453 0.0055869281 - 1072100 0.0059425762 0.0020332934 0.0049117288 - 1072200 0.0059463548 0.0020830808 0.0049633464 - 1072300 0.0058470068 0.0027795029 0.0056116468 - 1072400 0.0052839663 0.0028729709 0.005432392 - 1072500 0.0049315434 0.0027870366 0.005175753 - 1072600 0.0058698035 0.0026447414 0.0054879274 - 1072700 0.0055127353 0.0025056931 0.0051759243 - 1072800 0.006370666 0.0026674273 0.0057532187 - 1072900 0.0044177152 0.0024215995 0.0045614303 - 1073000 0.0042947762 0.0022283569 0.0043086391 - 1073100 0.0046906838 0.0022703413 0.0045423913 - 1073200 0.0047041404 0.0025142477 0.0047928157 - 1073300 0.0034514166 0.0026269133 0.0042986933 - 1073400 0.0065085288 0.0023934425 0.0055460112 - 1073500 0.0061174172 0.0026043912 0.0055675152 - 1073600 0.0047951799 0.0030919927 0.005414658 - 1073700 0.0076000464 0.0026579508 0.0063392233 - 1073800 0.0069264645 0.002706163 0.0060611693 - 1073900 0.0046299095 0.0029257534 0.0051683658 - 1074000 0.0053674834 0.0034473729 0.0060472477 - 1074100 0.0038936925 0.0037577365 0.0056437438 - 1074200 0.0059799725 0.0034188257 0.0063153748 - 1074300 0.0050837335 0.0028437468 0.0053061802 - 1074400 0.0052559988 0.0022050832 0.0047509576 - 1074500 0.0049198956 0.0023034264 0.0046865008 - 1074600 0.0045299432 0.0021370969 0.0043312881 - 1074700 0.0051216889 0.001780517 0.0042613351 - 1074800 0.0039887919 0.001806484 0.0037385551 - 1074900 0.0046432137 0.002014284 0.0042633406 - 1075000 0.0053522762 0.0024692315 0.0050617403 - 1075100 0.0042995741 0.0025792318 0.004661838 - 1075200 0.0056007671 0.0023316338 0.0050445054 - 1075300 0.0058112372 0.0025766208 0.0053914388 - 1075400 0.0037581538 0.0024082249 0.0042285806 - 1075500 0.0054067897 0.0024169922 0.005035906 - 1075600 0.0053876161 0.0026546878 0.0052643143 - 1075700 0.0047732148 0.0028792878 0.0051913137 - 1075800 0.0062756856 0.0030154041 0.0060551893 - 1075900 0.0053291246 0.0030932407 0.0056745354 - 1076000 0.0037451606 0.0025468615 0.0043609237 - 1076100 0.0055731402 0.0025652329 0.0052647227 - 1076200 0.0046541114 0.0028917112 0.0051460465 - 1076300 0.0047945322 0.0029389111 0.0052612627 - 1076400 0.0045376223 0.0030961292 0.00529404 - 1076500 0.0060245954 0.0030571803 0.0059753437 - 1076600 0.0065666797 0.0024033465 0.005584082 - 1076700 0.0044585111 0.0020850858 0.004244677 - 1076800 0.0050259096 0.0021037503 0.0045381752 - 1076900 0.004517216 0.0025253606 0.0047133871 - 1077000 0.0058184988 0.0029104177 0.005728753 - 1077100 0.0042568295 0.0031385046 0.0052004064 - 1077200 0.0046488275 0.0025823447 0.0048341205 - 1077300 0.0053147997 0.0024347093 0.0050090654 - 1077400 0.0049139489 0.0027841294 0.0051643233 - 1077500 0.0052737353 0.0032653728 0.0058198384 - 1077600 0.0049110962 0.0036155012 0.0059943134 - 1077700 0.0053438111 0.0035104136 0.0060988222 - 1077800 0.0054875029 0.0029817499 0.0056397592 - 1077900 0.0058752377 0.0030208154 0.0058666336 - 1078000 0.005022463 0.003602896 0.0060356515 - 1078100 0.0050301108 0.0035783781 0.0060148381 - 1078200 0.0049986179 0.0031954153 0.0056166208 - 1078300 0.0045141079 0.003561313 0.005747834 - 1078400 0.0048877816 0.0037896446 0.0061571638 - 1078500 0.0048377315 0.0034986031 0.0058418793 - 1078600 0.0047511969 0.0031997045 0.0055010655 - 1078700 0.0047245413 0.0030228882 0.0053113379 - 1078800 0.0049058976 0.0031776122 0.0055539064 - 1078900 0.0048460187 0.0032666028 0.0056138931 - 1079000 0.0047336415 0.0032013578 0.0054942154 - 1079100 0.0056347075 0.0031540874 0.0058833988 - 1079200 0.0063244884 0.0028355945 0.0058990185 - 1079300 0.0062209545 0.0029855291 0.0059988039 - 1079400 0.0049189622 0.0032107604 0.0055933827 - 1079500 0.0046984723 0.0028938558 0.0051696783 - 1079600 0.0071821467 0.0026490425 0.0061278948 - 1079700 0.0043954308 0.0032076955 0.0053367323 - 1079800 0.0062837609 0.0030542165 0.0060979132 - 1079900 0.0035804175 0.0030759134 0.0048101781 - 1080000 0.00413089 0.0025929534 0.0045938532 - 1080100 0.0064720667 0.0022263148 0.0053612221 - 1080200 0.0049039451 0.002406281 0.0047816294 - 1080300 0.0058499506 0.002542893 0.0053764628 - 1080400 0.0068680201 0.0023637122 0.0056904094 - 1080500 0.0068432802 0.0023583301 0.005673044 - 1080600 0.0051043323 0.0023137969 0.0047862079 - 1080700 0.0036361119 0.0024553934 0.0042166351 - 1080800 0.0050686804 0.0025085116 0.0049636536 - 1080900 0.0056685578 0.0026168808 0.0053625885 - 1081000 0.006285144 0.0027857389 0.0058301055 - 1081100 0.0066115043 0.002691254 0.0058937014 - 1081200 0.0047199328 0.0031120423 0.0053982598 - 1081300 0.0060021691 0.0028452056 0.0057525062 - 1081400 0.0059395421 0.0020962444 0.0049732101 - 1081500 0.0041509946 0.0020058129 0.0040164509 - 1081600 0.0047306847 0.0020368086 0.004328234 - 1081700 0.0042517241 0.0017678698 0.0038272987 - 1081800 0.0038830918 0.0016707911 0.0035516637 - 1081900 0.0061499979 0.0019014037 0.0048803089 - 1082000 0.0053069563 0.0024609679 0.0050315248 - 1082100 0.0061721772 0.0027669499 0.0057565983 - 1082200 0.0051514099 0.0033449617 0.0058401759 - 1082300 0.0069381534 0.0025696723 0.0059303404 - 1082400 0.0058283773 0.0028981662 0.0057212864 - 1082500 0.0042527905 0.0031421766 0.005202122 - 1082600 0.006291325 0.0029199973 0.0059673579 - 1082700 0.0063749642 0.0027457085 0.0058335818 - 1082800 0.0053867165 0.0024652256 0.0050744164 - 1082900 0.004526233 0.002508989 0.0047013831 - 1083000 0.0062218671 0.0024099527 0.0054236696 - 1083100 0.0039332786 0.0025421425 0.0044473244 - 1083200 0.0053251035 0.0024543846 0.0050337316 - 1083300 0.0055171858 0.0024383084 0.0051106952 - 1083400 0.0073011089 0.0023249905 0.0058614652 - 1083500 0.0066255735 0.0022984878 0.0055077499 - 1083600 0.0042253786 0.0025105389 0.0045572066 - 1083700 0.0061031018 0.0022635761 0.005219766 - 1083800 0.0053642938 0.002501247 0.0050995769 - 1083900 0.0042374529 0.0029500561 0.0050025724 - 1084000 0.0070899487 0.0022117555 0.0056459493 - 1084100 0.0052819776 0.0016432927 0.0042017506 - 1084200 0.0035519341 0.0015223978 0.0032428659 - 1084300 0.0054370929 0.0020647973 0.0046983892 - 1084400 0.005199213 0.0026951671 0.0052135359 - 1084500 0.004901397 0.0030029438 0.0053770579 - 1084600 0.0050176827 0.0027900435 0.0052204836 - 1084700 0.0040626743 0.0026848518 0.0046527096 - 1084800 0.0051023786 0.0026899918 0.0051614565 - 1084900 0.0041363238 0.0027096805 0.0047132124 - 1085000 0.0051984633 0.0024818649 0.0049998706 - 1085100 0.0049879299 0.0027960061 0.0052120346 - 1085200 0.0050963683 0.0025423165 0.0050108698 - 1085300 0.0056810978 0.0023327391 0.0050845209 - 1085400 0.003929703 0.0027566722 0.0046601221 - 1085500 0.0049665299 0.0027425427 0.0051482056 - 1085600 0.0055375709 0.0021395541 0.004821815 - 1085700 0.0043848892 0.0018988622 0.0040227929 - 1085800 0.0066533659 0.0022316966 0.0054544207 - 1085900 0.0060173732 0.0034272297 0.0063418948 - 1086000 0.0049067337 0.003172581 0.0055492801 - 1086100 0.0054230169 0.0021921553 0.0048189291 - 1086200 0.0051146639 0.0019398928 0.0044173081 - 1086300 0.0060094973 0.002334398 0.0052452482 - 1086400 0.0053635788 0.0023997769 0.0049977604 - 1086500 0.0065649857 0.0029721423 0.0061520573 - 1086600 0.0054509822 0.0029376332 0.0055779528 - 1086700 0.0067697855 0.002919432 0.0061985468 - 1086800 0.0038698382 0.0027073339 0.0045817868 - 1086900 0.0041462811 0.0025393404 0.0045476953 - 1087000 0.0039218087 0.0021702546 0.0040698807 - 1087100 0.0051017785 0.0021793002 0.0046504742 - 1087200 0.0046870121 0.0025643787 0.0048346502 - 1087300 0.0061004172 0.0027058036 0.0056606932 - 1087400 0.0044975843 0.003109418 0.0052879354 - 1087500 0.0048917646 0.0033787504 0.0057481989 - 1087600 0.0053630695 0.0029418973 0.0055396341 - 1087700 0.0036779683 0.0029262482 0.0047077641 - 1087800 0.0042476704 0.0027759393 0.0048334046 - 1087900 0.0044328727 0.0027920923 0.004939265 - 1088000 0.0044451138 0.0030057364 0.0051588384 - 1088100 0.0033832642 0.0034892546 0.0051280231 - 1088200 0.0052867194 0.0032730449 0.0058337996 - 1088300 0.005313392 0.0033817117 0.005955386 - 1088400 0.0052061788 0.0030114041 0.005533147 - 1088500 0.0066228439 0.0023470256 0.0055549656 - 1088600 0.0055471282 0.00221387 0.0049007602 - 1088700 0.0052273034 0.0024938962 0.0050258713 - 1088800 0.0042261537 0.0027704328 0.004817476 - 1088900 0.0041904178 0.0028947435 0.0049244772 - 1089000 0.0064554797 0.0029244896 0.0060513626 - 1089100 0.0044300513 0.0032489615 0.0053947676 - 1089200 0.0049959879 0.0035487045 0.0059686362 - 1089300 0.0061074032 0.0034910762 0.0064493497 - 1089400 0.0055831794 0.0030407135 0.0057450661 - 1089500 0.0058929272 0.0027509463 0.005605333 - 1089600 0.0046946959 0.0028189206 0.005092914 - 1089700 0.0037690347 0.0028420626 0.0046676888 - 1089800 0.0043982276 0.0030437195 0.005174111 - 1089900 0.0057188771 0.0031449167 0.0059149978 - 1090000 0.0042804412 0.0032502663 0.005323605 - 1090100 0.004624 0.0028172726 0.0050570226 - 1090200 0.0054208404 0.002574581 0.0052003006 - 1090300 0.004381194 0.0026126879 0.0047348287 - 1090400 0.0056822356 0.0024056565 0.0051579893 - 1090500 0.0044728531 0.0026230644 0.0047896026 - 1090600 0.0058636985 0.0028425754 0.0056828044 - 1090700 0.0052922545 0.0032845389 0.0058479747 - 1090800 0.0059587635 0.0032711927 0.0061574688 - 1090900 0.0050426757 0.0029143158 0.0053568618 - 1091000 0.0066291784 0.0026128168 0.0058238251 - 1091100 0.0062415851 0.0030065233 0.006029791 - 1091200 0.0047395576 0.0033559212 0.0056516444 - 1091300 0.0060363753 0.0030735504 0.0059974197 - 1091400 0.0056152549 0.0026535724 0.0053734615 - 1091500 0.0054639905 0.0023296178 0.0049762382 - 1091600 0.0044183066 0.0023990736 0.0045391908 - 1091700 0.0043174156 0.0024249343 0.0045161825 - 1091800 0.0054132335 0.0024531886 0.0050752236 - 1091900 0.0039395657 0.002534241 0.0044424681 - 1092000 0.0054842532 0.0023192122 0.0049756473 - 1092100 0.0055053252 0.0027242549 0.0053908968 - 1092200 0.0053012881 0.0033752722 0.0059430836 - 1092300 0.0047234863 0.0035138794 0.0058018181 - 1092400 0.0064323818 0.003321107 0.0064367919 - 1092500 0.0054843572 0.0037079042 0.0063643897 - 1092600 0.0078370494 0.0030336152 0.006829686 - 1092700 0.0063446346 0.002613754 0.0056869364 - 1092800 0.0059633842 0.0028710929 0.0057596071 - 1092900 0.0070269941 0.0031533841 0.0065570843 - 1093000 0.0042992649 0.0029021803 0.0049846367 - 1093100 0.0060839256 0.0028782594 0.0058251609 - 1093200 0.0056994562 0.0030218662 0.0057825403 - 1093300 0.0051146382 0.0033306376 0.0058080405 - 1093400 0.0083655337 0.002656526 0.0067085814 - 1093500 0.0051782097 0.0026098689 0.0051180643 - 1093600 0.0065426647 0.0027739553 0.0059430585 - 1093700 0.0045447284 0.0029828382 0.005184191 - 1093800 0.0064101173 0.002605975 0.0057108756 - 1093900 0.0058614236 0.0024542958 0.0052934229 - 1094000 0.0042904413 0.0025811201 0.0046593026 - 1094100 0.0056625542 0.0033440361 0.0060868358 - 1094200 0.0057784117 0.0036718478 0.0064707659 - 1094300 0.0055079029 0.0035276765 0.006195567 - 1094400 0.0056188048 0.0033436822 0.0060652908 - 1094500 0.0040676415 0.0031825821 0.005152846 - 1094600 0.0067734376 0.002647229 0.0059281128 - 1094700 0.0059217287 0.002564425 0.0054327623 - 1094800 0.0057097806 0.0026486609 0.0054143358 - 1094900 0.0044006018 0.0032307565 0.005362298 - 1095000 0.0044884359 0.0027571699 0.004931256 - 1095100 0.0048498768 0.00280179 0.005150949 - 1095200 0.006350535 0.0024003655 0.0054764058 - 1095300 0.0051251269 0.0025898814 0.0050723648 - 1095400 0.003691519 0.0027482362 0.0045363158 - 1095500 0.0057008243 0.0026220713 0.005383408 - 1095600 0.0056188682 0.0028694236 0.0055910629 - 1095700 0.005221882 0.0033289373 0.0058582864 - 1095800 0.0047047848 0.0032167767 0.0054956568 - 1095900 0.0046865817 0.003161965 0.0054320281 - 1096000 0.0055159007 0.0031809461 0.0058527105 - 1096100 0.0040095595 0.0032243972 0.0051665275 - 1096200 0.0043930547 0.0027103273 0.0048382132 - 1096300 0.0058256689 0.0025833607 0.0054051691 - 1096400 0.0047355783 0.0029756063 0.005269402 - 1096500 0.0063579513 0.0036096963 0.0066893289 - 1096600 0.006432794 0.00379917 0.0069150546 - 1096700 0.0040803141 0.0033797392 0.0053561413 - 1096800 0.0049613199 0.002858169 0.0052613083 - 1096900 0.0050754582 0.0026693845 0.0051278095 - 1097000 0.0060352652 0.0027035402 0.0056268718 - 1097100 0.007082164 0.0026357406 0.0060661638 - 1097200 0.0043619888 0.0030000695 0.0051129079 - 1097300 0.0049814198 0.0028316353 0.0052445105 - 1097400 0.0060979598 0.0029761349 0.0059298342 - 1097500 0.0054745878 0.0029114111 0.0055631646 - 1097600 0.0057292214 0.0026563798 0.0054314714 - 1097700 0.0071978013 0.0023953117 0.0058817468 - 1097800 0.0058154671 0.0023072287 0.0051240956 - 1097900 0.0053895188 0.0021798597 0.0047904078 - 1098000 0.0048657227 0.0018576008 0.0042144353 - 1098100 0.0042690898 0.0018168772 0.0038847176 - 1098200 0.0045405828 0.0019814854 0.0041808302 - 1098300 0.0047981163 0.0022366803 0.0045607679 - 1098400 0.0044396598 0.0022386456 0.0043891058 - 1098500 0.0040698196 0.0018875362 0.0038588551 - 1098600 0.0048147055 0.002000718 0.004332841 - 1098700 0.0060187487 0.0029066347 0.0058219661 - 1098800 0.0057693796 0.0035289047 0.0063234479 - 1098900 0.0071693028 0.002916203 0.0063888341 - 1099000 0.0073210081 0.0030789026 0.0066250159 - 1099100 0.0067435558 0.0029762179 0.0062426277 - 1099200 0.0048226972 0.0029145459 0.0052505398 - 1099300 0.0046461714 0.0029592078 0.0052096971 - 1099400 0.0069408269 0.0021730429 0.0055350059 - 1099500 0.0043041789 0.0019335274 0.0040183641 - 1099600 0.003603541 0.00216291 0.0039083752 - 1099700 0.003894492 0.0021533131 0.0040397077 - 1099800 0.005168519 0.0021102807 0.0046137821 - 1099900 0.0045393919 0.0022872039 0.0044859718 - 1100000 0.005991602 0.0028215728 0.005723755 - 1100100 0.0050655252 0.0029993638 0.0054529776 - 1100200 0.0055902586 0.0024816416 0.005189423 - 1100300 0.0074988604 0.0020600139 0.0056922744 - 1100400 0.0043779754 0.0027274697 0.0048480516 - 1100500 0.0049486275 0.0026323365 0.005029328 - 1100600 0.005717754 0.002607548 0.0053770851 - 1100700 0.0035280902 0.0030057222 0.0047146408 - 1100800 0.0052552356 0.0022842801 0.0048297848 - 1100900 0.0057624002 0.0019534868 0.0047446494 - 1101000 0.0065461063 0.0022116816 0.0053824519 - 1101100 0.0044729927 0.0027498418 0.0049164477 - 1101200 0.0053173352 0.0028275565 0.0054031408 - 1101300 0.0062939468 0.0027415691 0.0057901996 - 1101400 0.0060473494 0.0027084644 0.0056376493 - 1101500 0.0076713162 0.0024222086 0.0061380024 - 1101600 0.0055393709 0.0023420687 0.0050252015 - 1101700 0.005769938 0.0027323685 0.0055271822 - 1101800 0.0056879359 0.0028914594 0.0056465533 - 1101900 0.004281146 0.0030105743 0.0050842544 - 1102000 0.0062108899 0.0027505116 0.0057589114 - 1102100 0.0042766193 0.0034124381 0.0054839255 - 1102200 0.0070866685 0.0026569773 0.0060895823 - 1102300 0.0059960313 0.0021652996 0.0050696273 - 1102400 0.006073389 0.0025011958 0.0054429936 - 1102500 0.0067239677 0.0027330961 0.005990018 - 1102600 0.0057148376 0.0023671297 0.0051352542 - 1102700 0.0055588686 0.002208501 0.0049010779 - 1102800 0.0057283742 0.0024804578 0.005255139 - 1102900 0.0042399939 0.0021502968 0.0042040438 - 1103000 0.0056430688 0.0015586125 0.004291974 - 1103100 0.0051763224 0.0020368495 0.0045441307 - 1103200 0.0047321503 0.0020808634 0.0043729987 - 1103300 0.0044539193 0.002333621 0.0044909882 - 1103400 0.004527375 0.0025516773 0.0047446246 - 1103500 0.0050443504 0.0026124683 0.0050558255 - 1103600 0.0061479287 0.0028957526 0.0058736556 - 1103700 0.0052408946 0.0026595735 0.0051981318 - 1103800 0.0059141539 0.0026558015 0.0055204698 - 1103900 0.0059907394 0.0029483244 0.0058500887 - 1104000 0.004982474 0.0029546977 0.0053680835 - 1104100 0.0073602118 0.0023425188 0.0059076214 - 1104200 0.0057828528 0.0022520712 0.0050531405 - 1104300 0.0055333856 0.0023419635 0.0050221971 - 1104400 0.0060315657 0.0022093135 0.0051308531 - 1104500 0.0047213363 0.0027605439 0.0050474412 - 1104600 0.0069538672 0.0028847 0.0062529794 - 1104700 0.0049158793 0.0035468761 0.0059280051 - 1104800 0.0060768314 0.0035000048 0.0064434701 - 1104900 0.0069096594 0.0033658437 0.00671271 - 1105000 0.0064244297 0.0025905511 0.0057023842 - 1105100 0.0046026557 0.0027842294 0.0050136408 - 1105200 0.0036388043 0.002994907 0.0047574528 - 1105300 0.0077870325 0.0025917826 0.0063636265 - 1105400 0.0057526193 0.0027424675 0.0055288925 - 1105500 0.0051400807 0.002753312 0.0052430386 - 1105600 0.0040027181 0.0026940899 0.0046329065 - 1105700 0.0041962949 0.0029002116 0.0049327919 - 1105800 0.0044277254 0.0028368954 0.0049815749 - 1105900 0.0056800184 0.0030259142 0.0057771731 - 1106000 0.004715906 0.0033293001 0.005613567 - 1106100 0.0053016618 0.0029800702 0.0055480627 - 1106200 0.004759044 0.0022602746 0.0045654365 - 1106300 0.0051209233 0.0019345967 0.0044150439 - 1106400 0.0048572817 0.0018998365 0.0042525823 - 1106500 0.0041739278 0.002232467 0.0042542133 - 1106600 0.00445912 0.0025034246 0.0046633108 - 1106700 0.0056106446 0.0019190265 0.0046366825 - 1106800 0.0063655654 0.0019334817 0.0050168024 - 1106900 0.0068860158 0.0024513237 0.0057867376 - 1107000 0.0040029011 0.0025818941 0.0045207993 - 1107100 0.0055620575 0.0023053265 0.004999448 - 1107200 0.0054078069 0.0024843063 0.0051037127 - 1107300 0.0040787447 0.002713159 0.004688801 - 1107400 0.0049364509 0.0027653613 0.0051564547 - 1107500 0.0049182113 0.0027939281 0.0051761867 - 1107600 0.0063447058 0.0033471401 0.006420357 - 1107700 0.0054817401 0.0034237314 0.0060789493 - 1107800 0.005538563 0.0029211627 0.0056039042 - 1107900 0.0055796166 0.0029718666 0.0056744934 - 1108000 0.0065057892 0.0029371454 0.006088387 - 1108100 0.0051297066 0.002561892 0.0050465937 - 1108200 0.0050588149 0.0024788572 0.0049292207 - 1108300 0.0047802043 0.002681684 0.0049970955 - 1108400 0.0063243561 0.0022674154 0.0053307754 - 1108500 0.0058038146 0.0019768639 0.0047880866 - 1108600 0.0041419714 0.0018362636 0.0038425309 - 1108700 0.0046970636 0.0016418472 0.0039169874 - 1108800 0.0048032611 0.0018533547 0.0041799343 - 1108900 0.0052189894 0.0024763651 0.0050043131 - 1109000 0.0044299576 0.0028127601 0.0049585208 - 1109100 0.0051990741 0.0027628922 0.0052811937 - 1109200 0.0062447348 0.0031271589 0.0061519523 - 1109300 0.005239519 0.003407012 0.005944904 - 1109400 0.0061915785 0.0028100926 0.0058091384 - 1109500 0.004669854 0.0021393798 0.0044013404 - 1109600 0.0053710694 0.0024599835 0.0050615953 - 1109700 0.0043475318 0.0030414075 0.0051472432 - 1109800 0.0049280213 0.0029226095 0.0053096198 - 1109900 0.0044991705 0.0028915679 0.0050708536 - 1110000 0.0042017831 0.0028794884 0.0049147271 - 1110100 0.0059891207 0.0028923404 0.0057933207 - 1110200 0.0061235873 0.0029086248 0.0058747374 - 1110300 0.0057204854 0.0028717441 0.0056426042 - 1110400 0.0055783107 0.0029003033 0.0056022975 - 1110500 0.0066020431 0.0023540105 0.0055518751 - 1110600 0.0046055133 0.0021596553 0.0043904508 - 1110700 0.0042039683 0.0025462803 0.0045825774 - 1110800 0.00591305 0.0028137331 0.0056778667 - 1110900 0.0048127822 0.0030802342 0.0054114256 - 1111000 0.0062253191 0.0023251833 0.0053405722 - 1111100 0.0035526035 0.0020666596 0.0037874519 - 1111200 0.0054558046 0.0022146625 0.0048573179 - 1111300 0.0045353779 0.0024494886 0.0046463123 - 1111400 0.0043986653 0.0028053301 0.0049359336 - 1111500 0.004393291 0.002867982 0.0049959823 - 1111600 0.0062179306 0.0026386135 0.0056504237 - 1111700 0.0051220633 0.0027601392 0.0052411386 - 1111800 0.0072570875 0.0030809078 0.0065960596 - 1111900 0.0045708254 0.0032789128 0.0054929064 - 1112000 0.007134497 0.0028967331 0.0063525051 - 1112100 0.0057309567 0.0026336111 0.0054095432 - 1112200 0.0055190149 0.0025008303 0.0051741031 - 1112300 0.0077837574 0.002888359 0.0066586165 - 1112400 0.0046867737 0.0030217336 0.0052918896 - 1112500 0.0060998888 0.0027859074 0.005740541 - 1112600 0.004250596 0.0029630435 0.005021926 - 1112700 0.0057270844 0.0031149313 0.0058889878 - 1112800 0.0059949933 0.0029216089 0.0058254338 - 1112900 0.0038490955 0.0033003677 0.0051647733 - 1113000 0.0049005718 0.0029372453 0.0053109598 - 1113100 0.0074636184 0.0026301645 0.0062453547 - 1113200 0.0059426318 0.0032439437 0.006122406 - 1113300 0.0050525439 0.0037705819 0.0062179078 - 1113400 0.0061163791 0.0033813594 0.0063439806 - 1113500 0.0050377043 0.0033490719 0.0057892099 - 1113600 0.0064889473 0.002885276 0.0060283598 - 1113700 0.005297396 0.0028426061 0.0054085323 - 1113800 0.0065973159 0.0026799041 0.005875479 - 1113900 0.004461859 0.0029127513 0.0050739642 - 1114000 0.0046785 0.0027714446 0.005037593 - 1114100 0.0052176923 0.002746836 0.0052741557 - 1114200 0.0053826716 0.0025609802 0.0051682118 - 1114300 0.0056213693 0.0025951344 0.0053179852 - 1114400 0.0065630034 0.0026482467 0.0058272014 - 1114500 0.0060913688 0.0024537136 0.0054042203 - 1114600 0.0051503109 0.0025607417 0.0050554235 - 1114700 0.0041454833 0.002518074 0.0045260425 - 1114800 0.0046998443 0.0020204196 0.0042969067 - 1114900 0.0056620937 0.0017501652 0.0044927418 - 1115000 0.0077727034 0.0021252153 0.0058901185 - 1115100 0.0034333436 0.0027088295 0.0043718553 - 1115200 0.0050058601 0.0026338398 0.0050585533 - 1115300 0.0051960552 0.0023730127 0.004889852 - 1115400 0.0049552232 0.0025254066 0.0049255928 - 1115500 0.0057052902 0.0025194608 0.0052829607 - 1115600 0.0053390851 0.0022372035 0.0048233228 - 1115700 0.0059887923 0.0020338894 0.0049347106 - 1115800 0.0051627314 0.0023646213 0.0048653193 - 1115900 0.0045640861 0.0025179668 0.004728696 - 1116000 0.0060555999 0.0022952809 0.0052284621 - 1116100 0.0041919601 0.0026195274 0.0046500081 - 1116200 0.0051495525 0.0025018039 0.0049961184 - 1116300 0.005519823 0.0022266146 0.0049002788 - 1116400 0.0051210825 0.0020035653 0.0044840897 - 1116500 0.0062988818 0.0022884472 0.005339468 - 1116600 0.0061087928 0.0024641851 0.0054231316 - 1116700 0.0046177278 0.0021939512 0.0044306631 - 1116800 0.0041769198 0.0019891339 0.0040123294 - 1116900 0.006167003 0.0019083148 0.0048954569 - 1117000 0.0042236196 0.0023301626 0.0043759784 - 1117100 0.0062767353 0.0023550938 0.0053953875 - 1117200 0.0071159125 0.001978103 0.005424873 - 1117300 0.0057704407 0.0018903744 0.0046854316 - 1117400 0.0033183309 0.0019777585 0.003585075 - 1117500 0.0034051181 0.0025133751 0.0041627292 - 1117600 0.0045513233 0.0021574214 0.0043619686 - 1117700 0.0052935223 0.0020450649 0.0046091147 - 1117800 0.0043975907 0.0022937522 0.0044238352 - 1117900 0.0063904534 0.0020517868 0.0051471627 - 1118000 0.0052364858 0.0020489557 0.0045853785 - 1118100 0.0043162274 0.0018152976 0.0039059702 - 1118200 0.0047738302 0.0019587773 0.0042711013 - 1118300 0.004757437 0.0025165433 0.0048209269 - 1118400 0.0048395872 0.0027462713 0.0050904463 - 1118500 0.0050019611 0.0024198526 0.0048426775 - 1118600 0.0035624735 0.0026980004 0.0044235735 - 1118700 0.0067613143 0.0029532848 0.0062282964 - 1118800 0.0047228201 0.0034329798 0.0057205958 - 1118900 0.0058421184 0.0029928159 0.005822592 - 1119000 0.0049576564 0.0023965506 0.0047979155 - 1119100 0.0034416312 0.0024797063 0.0041467464 - 1119200 0.0046850377 0.0023303402 0.0045996553 - 1119300 0.0052078449 0.00183094 0.0043534898 - 1119400 0.004644418 0.0016409615 0.0038906015 - 1119500 0.0046271457 0.0018955022 0.0041367759 - 1119600 0.0041463097 0.0020388906 0.0040472593 - 1119700 0.0048725502 0.0020397247 0.0043998662 - 1119800 0.0046815582 0.0018494379 0.0041170677 - 1119900 0.0053195369 0.0016650809 0.0042417315 - 1120000 0.0044638291 0.0020760454 0.0042382126 - 1120100 0.004469075 0.0020868379 0.0042515461 - 1120200 0.0042341547 0.0018719823 0.003922901 - 1120300 0.0036386296 0.002030855 0.0037933162 - 1120400 0.0064265565 0.0020943397 0.005207203 - 1120500 0.0066591907 0.0022433355 0.005468881 - 1120600 0.0045775824 0.0022661987 0.0044834652 - 1120700 0.0046390369 0.0020878846 0.0043349181 - 1120800 0.0067438183 0.0020808827 0.0053474197 - 1120900 0.0059543147 0.001750714 0.0046348351 - 1121000 0.0061220649 0.0017307582 0.0046961334 - 1121100 0.0033660968 0.0020448046 0.0036752578 - 1121200 0.0054772212 0.0019817192 0.0046347482 - 1121300 0.0035526849 0.0021489675 0.0038697993 - 1121400 0.0051126388 0.0024042 0.0048806344 - 1121500 0.0044333375 0.0026802185 0.0048276164 - 1121600 0.0048808525 0.0023961655 0.0047603284 - 1121700 0.005102982 0.0024768871 0.004948644 - 1121800 0.0047777656 0.0025316264 0.0048458566 - 1121900 0.0039108025 0.002762688 0.004656983 - 1122000 0.0042828427 0.0026290946 0.0047035965 - 1122100 0.0058676683 0.0022950888 0.0051372406 - 1122200 0.0058639977 0.0022225089 0.0050628828 - 1122300 0.0040040898 0.002282767 0.004222248 - 1122400 0.0070540323 0.0020981883 0.0055149852 - 1122500 0.0042517997 0.0022902103 0.0043496758 - 1122600 0.0041411567 0.0026633962 0.004669269 - 1122700 0.0064431414 0.0027870392 0.0059079358 - 1122800 0.004849307 0.0029201935 0.0052690766 - 1122900 0.0062730927 0.0029414558 0.0059799851 - 1123000 0.0048430293 0.0029907684 0.0053366107 - 1123100 0.0035634674 0.0035276685 0.005253723 - 1123200 0.0053990425 0.0033959872 0.0060111484 - 1123300 0.0048499045 0.0028202987 0.0051694711 - 1123400 0.0057250731 0.0027939386 0.0055670209 - 1123500 0.0062777701 0.0028752902 0.0059160851 - 1123600 0.006419634 0.0030133771 0.0061228873 - 1123700 0.0064464662 0.0028294986 0.0059520057 - 1123800 0.0048177011 0.0032187242 0.0055522982 - 1123900 0.0053172438 0.003386106 0.005961646 - 1124000 0.0049536166 0.0031748826 0.0055742906 - 1124100 0.0043508357 0.0034000784 0.0055075145 - 1124200 0.0057146728 0.0030273085 0.0057953532 - 1124300 0.0048722754 0.0021931561 0.0045531645 - 1124400 0.0056537312 0.0021740404 0.0049125664 - 1124500 0.0038434346 0.0023524702 0.0042141338 - 1124600 0.0057773022 0.0026292496 0.0054276304 - 1124700 0.0044487795 0.0028939264 0.005048804 - 1124800 0.0052577368 0.0023432951 0.0048900114 - 1124900 0.0044307009 0.0019914533 0.0041375741 - 1125000 0.0049754345 0.0018164568 0.0042264329 - 1125100 0.0048936445 0.0018742551 0.0042446142 - 1125200 0.0045839548 0.0020350977 0.0042554509 - 1125300 0.0044937451 0.0019347001 0.0041113579 - 1125400 0.0044921595 0.0017968958 0.0039727856 - 1125500 0.0053508522 0.0015407948 0.0041326139 - 1125600 0.0054916355 0.001982856 0.0046428669 - 1125700 0.0040330866 0.0023768527 0.004330379 - 1125800 0.0056965677 0.0021504936 0.0049097685 - 1125900 0.0049613874 0.0018191145 0.0042222866 - 1126000 0.005100772 0.0017902025 0.004260889 - 1126100 0.0049466069 0.0019919154 0.0043879281 - 1126200 0.0039808296 0.0021888208 0.0041170351 - 1126300 0.0058040337 0.0024938039 0.0053051328 - 1126400 0.0047554511 0.0024425025 0.0047459242 - 1126500 0.0049186823 0.0022966247 0.0046791114 - 1126600 0.0051539093 0.0022966779 0.0047931027 - 1126700 0.0059964275 0.0022608342 0.0051653538 - 1126800 0.006373339 0.0022071396 0.0052942256 - 1126900 0.0040377024 0.0031021856 0.0050579477 - 1127000 0.0048268246 0.0030383962 0.0053763894 - 1127100 0.0040887107 0.0023748909 0.0043553601 - 1127200 0.005146414 0.0022876806 0.0047804749 - 1127300 0.0053639923 0.0025736865 0.0051718703 - 1127400 0.0057177598 0.0028185099 0.0055880498 - 1127500 0.0051573895 0.0027891926 0.0052873031 - 1127600 0.0043687495 0.0030341861 0.0051502991 - 1127700 0.0064834901 0.0029172103 0.0060576509 - 1127800 0.0049592445 0.0027902871 0.0051924211 - 1127900 0.0060249661 0.0023578618 0.0052762047 - 1128000 0.0055681941 0.0023378738 0.0050349678 - 1128100 0.0055507674 0.0026383758 0.0053270288 - 1128200 0.0059521439 0.0028025264 0.0056855961 - 1128300 0.004542843 0.0023843268 0.0045847664 - 1128400 0.0045249636 0.0024192494 0.0046110286 - 1128500 0.005428913 0.0023932526 0.0050228824 - 1128600 0.0057016471 0.0020499638 0.0048116991 - 1128700 0.0053989465 0.0020597678 0.0046748825 - 1128800 0.0059949082 0.00187658 0.0047803636 - 1128900 0.0036698125 0.0018608379 0.0036384033 - 1129000 0.0040045207 0.001965745 0.0039054348 - 1129100 0.0041111786 0.0021296467 0.0041209989 - 1129200 0.004428244 0.0018543296 0.0039992603 - 1129300 0.0041130019 0.0018402294 0.0038324647 - 1129400 0.0059280141 0.001535005 0.0044063868 - 1129500 0.0049854461 0.0018838907 0.0042987162 - 1129600 0.0056838182 0.0019430536 0.004696153 - 1129700 0.0049260912 0.0020110878 0.0043971632 - 1129800 0.0037792077 0.0026032696 0.0044338234 - 1129900 0.0092903375 0.0022446137 0.0067446209 - 1130000 0.0071727897 0.0023438992 0.0058182192 - 1130100 0.0047729598 0.0028365257 0.0051484281 - 1130200 0.0044948817 0.0030416691 0.0052188774 - 1130300 0.0059845982 0.0032434583 0.0061422481 - 1130400 0.0037997161 0.0029790204 0.0048195079 - 1130500 0.0046746905 0.0030231297 0.0052874329 - 1130600 0.0060855439 0.0026444695 0.0055921548 - 1130700 0.0057220403 0.0023969026 0.0051685159 - 1130800 0.0052709218 0.0025276501 0.0050807529 - 1130900 0.005930761 0.0023715632 0.0052442755 - 1131000 0.0068947365 0.0018801823 0.0052198203 - 1131100 0.0046048901 0.0020515075 0.0042820011 - 1131200 0.0052443648 0.0018972692 0.0044375083 - 1131300 0.0061898383 0.0019176224 0.0049158254 - 1131400 0.007276682 0.001730895 0.0052555378 - 1131500 0.004736313 0.0019458369 0.0042399885 - 1131600 0.0048378441 0.0017806011 0.0041239318 - 1131700 0.0054226114 0.0020329675 0.0046595449 - 1131800 0.0063813903 0.002365146 0.0054561319 - 1131900 0.0046646189 0.0028605455 0.0051199703 - 1132000 0.0061067643 0.0027505798 0.0057085437 - 1132100 0.0045950579 0.0031127224 0.0053384536 - 1132200 0.0051791691 0.0030967707 0.0056054307 - 1132300 0.005756028 0.0026704394 0.0054585154 - 1132400 0.0051868515 0.0022424932 0.0047548744 - 1132500 0.0038081643 0.0023206964 0.0041652759 - 1132600 0.004017069 0.0025793955 0.0045251633 - 1132700 0.0044857237 0.0029310032 0.0051037756 - 1132800 0.0067974446 0.0024922917 0.005784804 - 1132900 0.005318313 0.0026365893 0.0052126471 - 1133000 0.0048777784 0.0027148725 0.0050775464 - 1133100 0.0039737055 0.0026241037 0.0045488673 - 1133200 0.0046920138 0.0026337053 0.0049063995 - 1133300 0.0065746946 0.0019987642 0.0051833819 - 1133400 0.0049969322 0.0020182263 0.0044386154 - 1133500 0.0044596953 0.0021717284 0.0043318933 - 1133600 0.0048443667 0.0026703531 0.0050168432 - 1133700 0.0067524272 0.0026803801 0.005951087 - 1133800 0.006077686 0.0031234238 0.006067303 - 1133900 0.0063143095 0.0028867496 0.0059452433 - 1134000 0.0052392593 0.0025298732 0.0050676394 - 1134100 0.0048002399 0.0021696776 0.0044947938 - 1134200 0.0050572431 0.0021992034 0.0046488055 - 1134300 0.0048731409 0.0024642864 0.004824714 - 1134400 0.0043047554 0.0025640256 0.0046491415 - 1134500 0.0052255753 0.002372054 0.0049031921 - 1134600 0.0031178221 0.0024094554 0.0039196505 - 1134700 0.0044015147 0.0024269397 0.0045589234 - 1134800 0.0033238445 0.0024320706 0.0040420577 - 1134900 0.004194843 0.0025241635 0.0045560405 - 1135000 0.0037101822 0.0025068941 0.0043040136 - 1135100 0.0055116838 0.0025373396 0.0052070615 - 1135200 0.0041575901 0.0026237589 0.0046375916 - 1135300 0.0057561629 0.0032163866 0.006004528 - 1135400 0.0072900048 0.0029171034 0.0064481995 - 1135500 0.0060000158 0.0030302729 0.0059365306 - 1135600 0.0058020688 0.0026631488 0.0054735259 - 1135700 0.0058279284 0.0022712096 0.0050941124 - 1135800 0.0060632932 0.0027881186 0.0057250262 - 1135900 0.005640887 0.003176418 0.0059087227 - 1136000 0.0046643868 0.0027777878 0.0050371001 - 1136100 0.005054532 0.0023652102 0.0048134992 - 1136200 0.0041459412 0.0020396758 0.0040478661 - 1136300 0.0055293795 0.0022452614 0.0049235546 - 1136400 0.0047179597 0.002881262 0.0051665238 - 1136500 0.0049248434 0.0027086224 0.0050940934 - 1136600 0.0052963933 0.0028196874 0.0053851279 - 1136700 0.0046928838 0.0027364285 0.0050095442 - 1136800 0.0057326002 0.002394365 0.0051710932 - 1136900 0.0038948981 0.0021896122 0.0040762034 - 1137000 0.0028945288 0.0026541865 0.0040562239 - 1137100 0.0043781798 0.0028407502 0.0049614311 - 1137200 0.0069554365 0.0025825056 0.0059515452 - 1137300 0.00452629 0.0022532396 0.0044456614 - 1137400 0.0046279734 0.0024334904 0.0046751651 - 1137500 0.004351536 0.0024884751 0.0045962503 - 1137600 0.0037869838 0.0023028259 0.0041371461 - 1137700 0.0055295977 0.0020823934 0.0047607922 - 1137800 0.0038467064 0.0020212928 0.0038845412 - 1137900 0.0055221435 0.0023685114 0.0050432996 - 1138000 0.0039674752 0.0028974309 0.0048191767 - 1138100 0.0052700656 0.0024208576 0.0049735457 - 1138200 0.0044167752 0.0023445886 0.0044839641 - 1138300 0.005636097 0.0025104928 0.0052404773 - 1138400 0.005037631 0.0031525233 0.0055926258 - 1138500 0.0041855768 0.0031913415 0.0052187302 - 1138600 0.0065921315 0.0030949552 0.0062880188 - 1138700 0.0061945647 0.0025664285 0.0055669208 - 1138800 0.0064623825 0.0028272715 0.005957488 - 1138900 0.0034648015 0.0033808311 0.0050590944 - 1139000 0.0044857387 0.0027614942 0.0049342739 - 1139100 0.0064566944 0.0023789154 0.0055063768 - 1139200 0.0055943762 0.0023901095 0.0050998855 - 1139300 0.0056841484 0.0023423223 0.0050955816 - 1139400 0.0040183559 0.0022154101 0.0041618013 - 1139500 0.0055868231 0.0020725301 0.0047786476 - 1139600 0.0047389599 0.0021389583 0.004434392 - 1139700 0.0049494874 0.0027890667 0.0051864746 - 1139800 0.0069506112 0.0024615196 0.0058282218 - 1139900 0.0048973033 0.0020186337 0.004390765 - 1140000 0.0060081604 0.0020201391 0.0049303418 - 1140100 0.0048438413 0.002255988 0.0046022236 - 1140200 0.0060653977 0.0023438986 0.0052818256 - 1140300 0.0048104365 0.0024028173 0.0047328725 - 1140400 0.0039991755 0.0024701378 0.0044072385 - 1140500 0.0048700301 0.0024254186 0.0047843394 - 1140600 0.0069221784 0.0023357184 0.0056886486 - 1140700 0.0060691426 0.0027869742 0.0057267152 - 1140800 0.0048910647 0.0034900842 0.0058591936 - 1140900 0.0040398267 0.0038232433 0.0057800343 - 1141000 0.0042180412 0.0038243315 0.0058674452 - 1141100 0.0059231824 0.002839534 0.0057085755 - 1141200 0.005354011 0.0022931714 0.0048865205 - 1141300 0.0051783931 0.0021378174 0.0046461015 - 1141400 0.0052849808 0.0020395781 0.0045994907 - 1141500 0.0051487452 0.0020115977 0.0045055211 - 1141600 0.0064735056 0.0025616568 0.0056972611 - 1141700 0.0067311662 0.0025635414 0.0058239501 - 1141800 0.005132103 0.002553306 0.0050391685 - 1141900 0.0041027243 0.0024260529 0.00441331 - 1142000 0.0056809702 0.002295273 0.0050469929 - 1142100 0.0048483519 0.0025983382 0.0049467587 - 1142200 0.0038145108 0.0025929405 0.0044405942 - 1142300 0.0055250683 0.0023849663 0.0050611713 - 1142400 0.0040095032 0.0024642064 0.0044063095 - 1142500 0.0036528503 0.0026264631 0.0043958125 - 1142600 0.0048429037 0.0023045779 0.0046503594 - 1142700 0.0045429605 0.0020963047 0.0042968012 - 1142800 0.0061348102 0.001664454 0.0046360027 - 1142900 0.0044486375 0.0017260722 0.003880881 - 1143000 0.0046413341 0.0017294928 0.003977639 - 1143100 0.004661328 0.002147277 0.0044051078 - 1143200 0.0049650758 0.0022086045 0.0046135631 - 1143300 0.0052880292 0.0019103406 0.0044717297 - 1143400 0.0052014909 0.0021098644 0.0046293365 - 1143500 0.0055887642 0.0025796942 0.0052867518 - 1143600 0.0055839114 0.0023187104 0.0050234175 - 1143700 0.0052810842 0.0017850873 0.0043431124 - 1143800 0.004990785 0.0017853719 0.0042027834 - 1143900 0.0033289232 0.0020039866 0.0036164338 - 1144000 0.0035391305 0.0017679694 0.0034822357 - 1144100 0.0045314249 0.0020405056 0.0042354145 - 1144200 0.0052419059 0.0021604978 0.004699546 - 1144300 0.0039735865 0.0020807649 0.0040054709 - 1144400 0.0056485876 0.0020263179 0.0047623525 - 1144500 0.0064180831 0.0019639866 0.0050727455 - 1144600 0.0056327825 0.002239834 0.004968213 - 1144700 0.0040408967 0.0026488634 0.0046061727 - 1144800 0.0041419951 0.0025415288 0.0045478077 - 1144900 0.0053995326 0.00236156 0.0049769586 - 1145000 0.0064408989 0.0021087864 0.0052285968 - 1145100 0.0047141744 0.0018330811 0.0041165093 - 1145200 0.0058855252 0.0021813025 0.0050321038 - 1145300 0.0055913673 0.0024222387 0.0051305573 - 1145400 0.0057917742 0.0027683887 0.0055737793 - 1145500 0.004572236 0.0025683676 0.0047830444 - 1145600 0.005489683 0.0030352154 0.0056942806 - 1145700 0.0044046618 0.0033050713 0.0054385793 - 1145800 0.0057185236 0.0030036789 0.0057735888 - 1145900 0.0064315575 0.0024926004 0.0056078861 - 1146000 0.0034863621 0.0023780838 0.0040667904 - 1146100 0.0047479772 0.002209847 0.0045096485 - 1146200 0.0053816828 0.0021303573 0.0047371099 - 1146300 0.0046908666 0.0028590413 0.0051311798 - 1146400 0.0050655753 0.003205932 0.0056595701 - 1146500 0.0057557474 0.0031469046 0.0059348447 - 1146600 0.0046373063 0.0029709954 0.0052171906 - 1146700 0.0044204311 0.0028087058 0.0049498521 - 1146800 0.0042089964 0.0028495072 0.0048882398 - 1146900 0.0064497306 0.0023582928 0.0054823811 - 1147000 0.0070101159 0.0021117471 0.005507272 - 1147100 0.0037115607 0.0024469689 0.004244756 - 1147200 0.0068034881 0.0021093185 0.0054047581 - 1147300 0.0054872021 0.0018853208 0.0045431843 - 1147400 0.0049567945 0.0018875303 0.0042884776 - 1147500 0.0041831361 0.0019190025 0.003945209 - 1147600 0.005534308 0.0015985132 0.0042791936 - 1147700 0.0037389826 0.0014457724 0.0032568422 - 1147800 0.0040270568 0.0016509832 0.0036015888 - 1147900 0.0046347787 0.0018677006 0.0041126715 - 1148000 0.0040695851 0.0018336304 0.0038048357 - 1148100 0.0043609626 0.0021018722 0.0042142134 - 1148200 0.0061600166 0.0020763864 0.0050601444 - 1148300 0.004122537 0.0021940581 0.004190912 - 1148400 0.0041961177 0.0020782247 0.0041107192 - 1148500 0.0054746186 0.0016956954 0.0043474638 - 1148600 0.0047176508 0.0019699054 0.0042550175 - 1148700 0.0056169718 0.0021662702 0.0048869909 - 1148800 0.005319238 0.0026655882 0.005242094 - 1148900 0.0059076752 0.0026971705 0.0055587007 - 1149000 0.0061821927 0.0029378161 0.0059323157 - 1149100 0.004627763 0.0029031071 0.0051446797 - 1149200 0.0050339947 0.0027509186 0.0051892598 - 1149300 0.0047412975 0.0025125938 0.0048091597 - 1149400 0.0050014719 0.0021590348 0.0045816228 - 1149500 0.0048325291 0.0017321232 0.0040728795 - 1149600 0.0065474606 0.0021118484 0.0052832746 - 1149700 0.004934817 0.0024773103 0.0048676123 - 1149800 0.0049132583 0.0019481887 0.0043280482 - 1149900 0.0049227776 0.0018385922 0.0042230625 - 1150000 0.004463006 0.0016429621 0.0038047306 - 1150100 0.0042063395 0.0015992787 0.0036367244 - 1150200 0.0056543585 0.0020034111 0.004742241 - 1150300 0.0053451622 0.0023993574 0.0049884204 - 1150400 0.0042737151 0.0025646748 0.0046347556 - 1150500 0.005469964 0.0027067461 0.0053562599 - 1150600 0.0058441675 0.0027847815 0.0056155501 - 1150700 0.0050601939 0.0024704898 0.0049215212 - 1150800 0.0049544684 0.0022731289 0.0046729495 - 1150900 0.0056828075 0.0024480259 0.0052006357 - 1151000 0.0067327591 0.0029036662 0.0061648465 - 1151100 0.0047833804 0.0030969221 0.005413872 - 1151200 0.0062155971 0.0025157406 0.0055264205 - 1151300 0.0050750297 0.0022496955 0.004707913 - 1151400 0.0053811112 0.0023982762 0.0050047519 - 1151500 0.0045474608 0.0028874092 0.0050900855 - 1151600 0.0047204352 0.0029783471 0.0052648079 - 1151700 0.0046256848 0.0024319571 0.0046725231 - 1151800 0.0038990487 0.0021065752 0.0039951769 - 1151900 0.0049082795 0.0020635624 0.0044410103 - 1152000 0.0044721368 0.002517005 0.0046831963 - 1152100 0.0046331998 0.0022642517 0.0045084578 - 1152200 0.0062709569 0.0021277085 0.0051652032 - 1152300 0.0050871865 0.0021558777 0.0046199836 - 1152400 0.0078327636 0.0019303702 0.0057243651 - 1152500 0.0067162473 0.0020356992 0.0052888815 - 1152600 0.0045632633 0.0023332814 0.0045436121 - 1152700 0.0054022418 0.0023111839 0.0049278948 - 1152800 0.0051404923 0.0022776969 0.0047676229 - 1152900 0.005410548 0.0022727145 0.0048934487 - 1153000 0.0033356045 0.0026712951 0.0042869785 - 1153100 0.005308631 0.0023333334 0.0049047015 - 1153200 0.0042502864 0.0026002696 0.004659002 - 1153300 0.0044371689 0.0029815279 0.0051307816 - 1153400 0.0046751321 0.0032048231 0.0054693402 - 1153500 0.0045475933 0.0029934218 0.0051961623 - 1153600 0.0056811283 0.0024302611 0.0051820576 - 1153700 0.0047596739 0.0020725254 0.0043779925 - 1153800 0.0049513328 0.0019882906 0.0043865924 - 1153900 0.0042089108 0.0023100833 0.0043487744 - 1154000 0.0051241546 0.0024838021 0.0049658145 - 1154100 0.004148685 0.0025244875 0.0045340068 - 1154200 0.0030936242 0.0023448182 0.0038432925 - 1154300 0.0055907764 0.0020982963 0.0048063287 - 1154400 0.0033639279 0.0023536402 0.0039830428 - 1154500 0.005775588 0.002322239 0.0051197894 - 1154600 0.006807368 0.0019288445 0.0052261634 - 1154700 0.0041662545 0.0019925029 0.0040105324 - 1154800 0.0062519183 0.002435379 0.005463652 - 1154900 0.0044657432 0.0028550737 0.0050181681 - 1155000 0.0064057432 0.0025670144 0.0056697963 - 1155100 0.00584164 0.0022505298 0.0050800742 - 1155200 0.004591415 0.0021340382 0.0043580048 - 1155300 0.0037893327 0.0023898363 0.0042252943 - 1155400 0.0058423898 0.0024319363 0.0052618439 - 1155500 0.0058690804 0.0027719697 0.0056148056 - 1155600 0.0040446518 0.0029840043 0.0049431326 - 1155700 0.0063385443 0.0030291639 0.0060993963 - 1155800 0.0047188443 0.0028375141 0.0051232043 - 1155900 0.0056731312 0.0023122165 0.0050601394 - 1156000 0.0047967701 0.0025346972 0.0048581327 - 1156100 0.004742185 0.0026980564 0.0049950523 - 1156200 0.0062806427 0.0022128942 0.0052550806 - 1156300 0.005752198 0.0023934842 0.0051797051 - 1156400 0.0054382789 0.0024522381 0.0050864044 - 1156500 0.0054639354 0.0024890812 0.0051356749 - 1156600 0.0053616253 0.0025512007 0.0051482379 - 1156700 0.0051434637 0.0025540462 0.0050454114 - 1156800 0.0042257554 0.0029251492 0.0049719995 - 1156900 0.0047665581 0.0031324847 0.0054412863 - 1157000 0.0067044008 0.0029561489 0.006203593 - 1157100 0.0042689636 0.0031678353 0.0052356146 - 1157200 0.0040518559 0.0032194132 0.0051820308 - 1157300 0.0052178027 0.0027988205 0.0053261937 - 1157400 0.0066043359 0.0027000523 0.0058990275 - 1157500 0.006079544 0.002746934 0.0056917131 - 1157600 0.0050606169 0.002901775 0.0053530114 - 1157700 0.0064603918 0.0030100238 0.0061392761 - 1157800 0.0053001861 0.0039106169 0.0064778945 - 1157900 0.0052000787 0.0040684566 0.0065872447 - 1158000 0.0057580036 0.0033320745 0.0061211075 - 1158100 0.0047785153 0.0027090016 0.0050235949 - 1158200 0.0052707945 0.0023323705 0.0048854116 - 1158300 0.0048516238 0.0019314777 0.004281483 - 1158400 0.0049688433 0.0018769058 0.0042836893 - 1158500 0.004519836 0.002230922 0.0044202176 - 1158600 0.0042537213 0.0024296025 0.0044899988 - 1158700 0.005228664 0.0021030758 0.00463571 - 1158800 0.0054164343 0.0018861956 0.004509781 - 1158900 0.0034716845 0.002509759 0.0041913562 - 1159000 0.0045915777 0.0023593109 0.0045833564 - 1159100 0.0047700178 0.002063104 0.0043735814 - 1159200 0.004393079 0.0022659601 0.0043938577 - 1159300 0.0045198018 0.0024125764 0.0046018554 - 1159400 0.0051428213 0.0022100385 0.0047010925 - 1159500 0.0052661664 0.0023362145 0.0048870138 - 1159600 0.0055894649 0.0024125218 0.0051199189 - 1159700 0.0046727592 0.0021117032 0.004375071 - 1159800 0.0051435457 0.001855243 0.004346648 - 1159900 0.0038777256 0.0020174798 0.0038957531 - 1160000 0.0051413829 0.0021263973 0.0046167547 - 1160100 0.0055307658 0.0022768119 0.0049557766 - 1160200 0.0035424441 0.0024968603 0.0042127317 - 1160300 0.0059435967 0.0024692376 0.0053481673 - 1160400 0.0041756292 0.0029479272 0.0049704976 - 1160500 0.0049589139 0.0029675708 0.0053695447 - 1160600 0.0043712388 0.0029440476 0.0050613664 - 1160700 0.0045163172 0.0025657061 0.0047532972 - 1160800 0.0051944969 0.0021255825 0.0046416669 - 1160900 0.0067156297 0.0025178324 0.0057707155 - 1161000 0.004056431 0.0031259619 0.0050907956 - 1161100 0.0058931919 0.0025434951 0.0053980099 - 1161200 0.0054224487 0.0022502999 0.0048767985 - 1161300 0.0038735843 0.0022187697 0.0040950371 - 1161400 0.0048544085 0.002012969 0.0043643231 - 1161500 0.0054645696 0.001985245 0.0046321459 - 1161600 0.0051928536 0.0027684766 0.0052837651 - 1161700 0.0046319851 0.0031193095 0.0053629273 - 1161800 0.0060638797 0.002475454 0.0054126457 - 1161900 0.005199675 0.0021923891 0.0047109817 - 1162000 0.004609249 0.0028669194 0.0050995244 - 1162100 0.0052152847 0.0030444007 0.0055705542 - 1162200 0.0049732691 0.00316177 0.0055706973 - 1162300 0.0043144549 0.0025844113 0.0046742254 - 1162400 0.0049420528 0.0021909709 0.0045847778 - 1162500 0.0048188898 0.0023145201 0.0046486698 - 1162600 0.0048454528 0.0027245295 0.0050715457 - 1162700 0.0043467401 0.0028178892 0.0049233414 - 1162800 0.005277177 0.0024147811 0.0049709137 - 1162900 0.0064408747 0.0024004291 0.0055202277 - 1163000 0.0047007331 0.0029561356 0.0052330532 - 1163100 0.00384003 0.0030524672 0.0049124817 - 1163200 0.0050005668 0.0031115352 0.0055336847 - 1163300 0.0038528077 0.0027836992 0.0046499029 - 1163400 0.0048839398 0.0024628476 0.004828506 - 1163500 0.0042905247 0.0019774004 0.0040556233 - 1163600 0.0030253242 0.0019848756 0.003450267 - 1163700 0.0041910011 0.0020495388 0.004079555 - 1163800 0.0055929031 0.002375368 0.0050844304 - 1163900 0.0035780342 0.0026764014 0.0044095117 - 1164000 0.0046883122 0.0020709336 0.0043418348 - 1164100 0.0049748143 0.002316272 0.0047259477 - 1164200 0.0040163357 0.0023203852 0.0042657977 - 1164300 0.0054430167 0.0022088405 0.0048453017 - 1164400 0.0046973612 0.0020902446 0.004365529 - 1164500 0.0049222902 0.002044263 0.0044284973 - 1164600 0.006837137 0.0018565641 0.0051683023 - 1164700 0.0028880519 0.0024721747 0.0038710748 - 1164800 0.0046019881 0.0025122619 0.0047413499 - 1164900 0.0045414854 0.0025276193 0.0047274013 - 1165000 0.0053724376 0.0025158496 0.0051181241 - 1165100 0.0048636324 0.0025720036 0.0049278255 - 1165200 0.0054537349 0.002452536 0.0050941889 - 1165300 0.006479511 0.002087116 0.0052256292 - 1165400 0.00686202 0.0030014009 0.0063251918 - 1165500 0.0058301325 0.0035626293 0.0063865997 - 1165600 0.0057124913 0.0034256968 0.0061926847 - 1165700 0.0065684472 0.0029512992 0.0061328908 - 1165800 0.0058284569 0.0026635837 0.0054867425 - 1165900 0.0044832508 0.0025447563 0.0047163309 - 1166000 0.0058243965 0.0023778288 0.0051990208 - 1166100 0.0051730047 0.0022850604 0.0047907346 - 1166200 0.0066384024 0.0022510929 0.005466569 - 1166300 0.0047868141 0.002695027 0.0050136401 - 1166400 0.0065758606 0.0032109238 0.0063961063 - 1166500 0.0043023234 0.0034306608 0.0055145987 - 1166600 0.0049265512 0.0029820011 0.0053682993 - 1166700 0.0045727332 0.0025140699 0.0047289875 - 1166800 0.0047759424 0.0024453899 0.004758737 - 1166900 0.005173594 0.0022658269 0.0047717865 - 1167000 0.0039025459 0.0021562335 0.0040465292 - 1167100 0.0039856359 0.002165961 0.0040965034 - 1167200 0.0039958669 0.0024126402 0.0043481382 - 1167300 0.0042446413 0.0032827656 0.0053387637 - 1167400 0.0049762607 0.0034069206 0.0058172968 - 1167500 0.0052126589 0.0024697638 0.0049946455 - 1167600 0.0040196118 0.0023346643 0.0042816638 - 1167700 0.0048311145 0.0023110255 0.0046510966 - 1167800 0.0043694444 0.0025354481 0.0046518978 - 1167900 0.0049424504 0.0024844164 0.0048784158 - 1168000 0.0045488547 0.0023984554 0.0046018069 - 1168100 0.0045202761 0.0027310081 0.0049205168 - 1168200 0.0042782163 0.0023629623 0.0044352233 - 1168300 0.0064277693 0.0018937928 0.0050072436 - 1168400 0.0053344235 0.0020768669 0.0046607283 - 1168500 0.0043275709 0.0024407358 0.0045369029 - 1168600 0.0049017376 0.0023591401 0.0047334193 - 1168700 0.005873306 0.0024652248 0.0053101074 - 1168800 0.0042387361 0.0023883085 0.0044414463 - 1168900 0.0065426224 0.0024837578 0.0056528405 - 1169000 0.0056974501 0.0027936649 0.0055533673 - 1169100 0.0066269728 0.0028578974 0.0060678373 - 1169200 0.0040959955 0.0030193983 0.0050033961 - 1169300 0.0057523744 0.003143069 0.0059293753 - 1169400 0.0046176896 0.0032268029 0.0054634963 - 1169500 0.0043953845 0.0025841484 0.0047131627 - 1169600 0.0051315166 0.0017313412 0.0042169196 - 1169700 0.0058794712 0.0021161831 0.0049640519 - 1169800 0.003871864 0.0026928155 0.0045682496 - 1169900 0.0042063296 0.0023702738 0.0044077147 - 1170000 0.0057896056 0.0016652633 0.0044696036 - 1170100 0.0055594229 0.0017822843 0.0044751298 - 1170200 0.0047880241 0.0022270201 0.0045462193 - 1170300 0.0057381842 0.0024352392 0.0052146722 - 1170400 0.0055401153 0.0024108044 0.0050942978 - 1170500 0.0044162091 0.0022997972 0.0044388985 - 1170600 0.0037248632 0.0021282888 0.0039325195 - 1170700 0.0049929569 0.0017596661 0.0041781296 - 1170800 0.0062924172 0.0019396599 0.0049875495 - 1170900 0.0053535269 0.0019155251 0.0045086397 - 1171000 0.0075768576 0.0019644782 0.0056345186 - 1171100 0.0037131394 0.0021682169 0.0039667688 - 1171200 0.0061774121 0.0024212122 0.0054133962 - 1171300 0.0037588839 0.0024388311 0.0042595405 - 1171400 0.0060738879 0.0021122886 0.005054328 - 1171500 0.0045812274 0.002515479 0.004734511 - 1171600 0.0059664161 0.0027905401 0.0056805229 - 1171700 0.0048494476 0.0026247164 0.0049736676 - 1171800 0.0071080493 0.0019299827 0.0053729441 - 1171900 0.006434183 0.0022755446 0.005392102 - 1172000 0.0058992121 0.0023690337 0.0052264646 - 1172100 0.0062123352 0.0021197917 0.0051288916 - 1172200 0.0053937212 0.0016966344 0.0043092181 - 1172300 0.0052825226 0.0015841693 0.0041428912 - 1172400 0.0048459559 0.0020028441 0.004350104 - 1172500 0.0047064226 0.0017632155 0.004042889 - 1172600 0.0034104937 0.0018752952 0.0035272531 - 1172700 0.0038355432 0.002323123 0.0041809643 - 1172800 0.0049897464 0.0021250163 0.0045419247 - 1172900 0.0046203785 0.0018660073 0.0041040031 - 1173000 0.0052473138 0.0018495388 0.0043912064 - 1173100 0.0038746641 0.0018378357 0.0037146261 - 1173200 0.0051192795 0.002143589 0.00462324 - 1173300 0.0050206119 0.0023724366 0.0048042955 - 1173400 0.0051859152 0.002783138 0.0052950657 - 1173500 0.0043256999 0.002872541 0.0049678018 - 1173600 0.007824927 0.0024461239 0.0062363229 - 1173700 0.0046905358 0.0026937725 0.0049657507 - 1173800 0.0038467589 0.0022569463 0.0041202201 - 1173900 0.0050128096 0.0019452811 0.0043733608 - 1174000 0.0041676276 0.0022181862 0.0042368808 - 1174100 0.0061456358 0.0021457384 0.0051225307 - 1174200 0.0049790512 0.0020724066 0.0044841345 - 1174300 0.0042807079 0.0022588583 0.0043323261 - 1174400 0.0043958607 0.0021924599 0.0043217049 - 1174500 0.0039945787 0.0024284072 0.0043632813 - 1174600 0.0039141396 0.0023998598 0.0042957712 - 1174700 0.00592057 0.0024268401 0.0052946162 - 1174800 0.0046836092 0.0029519281 0.0052205513 - 1174900 0.0042100443 0.0024945281 0.0045337683 - 1175000 0.004555474 0.0021455185 0.0043520762 - 1175100 0.0040266634 0.0019073988 0.0038578139 - 1175200 0.0044518199 0.001962242 0.0041185923 - 1175300 0.0049319684 0.0020340511 0.0044229733 - 1175400 0.0073012935 0.0023085304 0.0058450944 - 1175500 0.0036314558 0.0020844619 0.0038434483 - 1175600 0.0048303783 0.0018599165 0.004199631 - 1175700 0.0046831136 0.0022565358 0.004524919 - 1175800 0.003667105 0.0020974421 0.0038736961 - 1175900 0.0059629243 0.0019099833 0.0047982748 - 1176000 0.0042820405 0.0020400316 0.004114145 - 1176100 0.002882526 0.0026047853 0.0040010089 - 1176200 0.0039880935 0.0024917037 0.0044234365 - 1176300 0.0044890764 0.0023121327 0.0044865291 - 1176400 0.006402357 0.0021668743 0.005268016 - 1176500 0.0068220544 0.002511791 0.0058162236 - 1176600 0.0065478346 0.0023442913 0.0055158987 - 1176700 0.004415574 0.0021797742 0.0043185679 - 1176800 0.0067775478 0.0021687048 0.0054515795 - 1176900 0.004536699 0.0025751044 0.004772568 - 1177000 0.0050447624 0.0019739316 0.0044174884 - 1177100 0.0041040536 0.0017096242 0.0036975251 - 1177200 0.0036805728 0.0014637519 0.0032465294 - 1177300 0.0049878148 0.0015821721 0.0039981449 - 1177400 0.0051238387 0.001588212 0.0040700713 - 1177500 0.0048911254 0.0015118057 0.0038809446 - 1177600 0.0041081177 0.0016980359 0.0036879054 - 1177700 0.0040021213 0.001792513 0.0037310405 - 1177800 0.0048175083 0.0026672846 0.0050007652 - 1177900 0.0042832538 0.0032040022 0.0052787033 - 1178000 0.0068988774 0.00264225 0.0059838937 - 1178100 0.0050128526 0.0023763172 0.0048044177 - 1178200 0.0047913966 0.0021814621 0.0045022949 - 1178300 0.0051414325 0.002273276 0.0047636574 - 1178400 0.0047297924 0.0024419408 0.004732934 - 1178500 0.0040644294 0.002360043 0.004328751 - 1178600 0.0044288023 0.0020151122 0.0041603133 - 1178700 0.0048002345 0.0019130799 0.0042381935 - 1178800 0.0047787705 0.0023020386 0.0046167555 - 1178900 0.0047314243 0.0024021331 0.0046939167 - 1179000 0.0038919923 0.0025676374 0.0044528211 - 1179100 0.0031954782 0.0022251053 0.0037729151 - 1179200 0.0068985342 0.001648906 0.0049903835 - 1179300 0.0047685609 0.0014714233 0.003781195 - 1179400 0.004381248 0.0020468868 0.0041690538 - 1179500 0.0047941051 0.0026078147 0.0049299594 - 1179600 0.005012138 0.0025112968 0.0049390511 - 1179700 0.0045255626 0.0023470214 0.0045390908 - 1179800 0.0058994351 0.0023236233 0.0051811622 - 1179900 0.0060066972 0.0022762666 0.0051857605 - 1180000 0.0049537983 0.0020207385 0.0044202346 - 1180100 0.0066203856 0.002078508 0.0052852572 - 1180200 0.0037162083 0.0026383307 0.0044383691 - 1180300 0.0053323173 0.0026081403 0.0051909815 - 1180400 0.0051119578 0.0022195585 0.0046956631 - 1180500 0.0035903571 0.0023114156 0.0040504948 - 1180600 0.0051080322 0.0023296422 0.0048038453 - 1180700 0.0053457774 0.002271874 0.0048612349 - 1180800 0.0051614058 0.0025802622 0.0050803181 - 1180900 0.0050568184 0.0024055716 0.004854968 - 1181000 0.004108013 0.0025953808 0.0045851995 - 1181100 0.0043293367 0.0025687202 0.0046657427 - 1181200 0.0062507523 0.0023469588 0.0053746669 - 1181300 0.0046203396 0.0027506522 0.0049886292 - 1181400 0.0062401812 0.0027056729 0.0057282606 - 1181500 0.0056492719 0.0028907288 0.0056270949 - 1181600 0.0054881664 0.0030904927 0.0057488233 - 1181700 0.0039879122 0.0026063543 0.0045379992 - 1181800 0.0057417757 0.0024085556 0.0051897281 - 1181900 0.0056109766 0.0023109873 0.0050288041 - 1182000 0.0051799753 0.0026242636 0.0051333141 - 1182100 0.0046984826 0.0022896625 0.00456549 - 1182200 0.0055136486 0.0024874653 0.0051581388 - 1182300 0.0058043985 0.0023176154 0.0051291209 - 1182400 0.0035866867 0.0020672864 0.0038045877 - 1182500 0.0044080327 0.0021304846 0.0042656255 - 1182600 0.0056253012 0.0023689819 0.0050937372 - 1182700 0.0054809246 0.0022514377 0.0049062606 - 1182800 0.0077617017 0.0024223415 0.0061819157 - 1182900 0.0062932739 0.0024085414 0.005456846 - 1183000 0.0039199039 0.0020384246 0.0039371281 - 1183100 0.0049506324 0.0019051828 0.0043031453 - 1183200 0.0044565274 0.0021550442 0.0043136747 - 1183300 0.0062465775 0.0020275333 0.0050532193 - 1183400 0.0046630554 0.0023294189 0.0045880864 - 1183500 0.0039317819 0.0023654475 0.0042699044 - 1183600 0.0046629388 0.0023057807 0.0045643916 - 1183700 0.0043288068 0.0022457181 0.0043424839 - 1183800 0.003674881 0.0024490101 0.0042290306 - 1183900 0.0049171557 0.0029464191 0.0053281664 - 1184000 0.0061970925 0.0031610052 0.0061627219 - 1184100 0.0059542318 0.0024357261 0.0053198072 - 1184200 0.0049391352 0.0023022205 0.0046946141 - 1184300 0.0054461539 0.0021793013 0.0048172821 - 1184400 0.0055607466 0.0020359436 0.0047294302 - 1184500 0.0056697056 0.002066312 0.0048125756 - 1184600 0.005452119 0.0021088614 0.0047497316 - 1184700 0.0037488016 0.0026518767 0.0044677025 - 1184800 0.0054216932 0.002567196 0.0051933286 - 1184900 0.006278547 0.0023180459 0.0053592171 - 1185000 0.0059389949 0.0027032063 0.005579907 - 1185100 0.0056804494 0.0030042081 0.0057556758 - 1185200 0.0060434927 0.0029700023 0.0058973191 - 1185300 0.0040560852 0.0027415736 0.0047062399 - 1185400 0.0042675345 0.0026256638 0.0046927508 - 1185500 0.0047619154 0.0027929246 0.0050994774 - 1185600 0.0047999158 0.00288006 0.0052050192 - 1185700 0.0073698083 0.0019651635 0.0055349144 - 1185800 0.0042515272 0.0021515817 0.0042109152 - 1185900 0.0058080172 0.0025284239 0.0053416823 - 1186000 0.0064057318 0.0029228325 0.0060256088 - 1186100 0.0053994127 0.0037628881 0.0063782287 - 1186200 0.0073016068 0.0032657857 0.0068025015 - 1186300 0.0070827474 0.0026548214 0.0060855272 - 1186400 0.0086037644 0.0021435384 0.0063109868 - 1186500 0.005339263 0.0021214684 0.0047076739 - 1186600 0.0038071346 0.0022997496 0.0041438304 - 1186700 0.0053435017 0.0023755827 0.0049638413 - 1186800 0.006353603 0.0026558421 0.0057333685 - 1186900 0.0045292822 0.0024257155 0.0046195866 - 1187000 0.0048949739 0.0024944005 0.0048654035 - 1187100 0.0045380517 0.002479702 0.0046778208 - 1187200 0.0045376708 0.0019301164 0.0041280507 - 1187300 0.0046149873 0.001881184 0.0041165685 - 1187400 0.006698441 0.0019588324 0.0052033897 - 1187500 0.0059552389 0.0024342935 0.0053188623 - 1187600 0.0041006221 0.0025110839 0.0044973227 - 1187700 0.0046151032 0.0021571739 0.0043926145 - 1187800 0.0048414665 0.0018105437 0.004155629 - 1187900 0.0042571611 0.0016638499 0.0037259123 - 1188000 0.0050652611 0.0019404814 0.0043939672 - 1188100 0.0071805015 0.0021707718 0.0056488272 - 1188200 0.006137743 0.0019553275 0.0049282968 - 1188300 0.0050000145 0.0020737628 0.0044956448 - 1188400 0.0047550674 0.0019977318 0.0043009676 - 1188500 0.0046787907 0.001939539 0.0042058282 - 1188600 0.0055523404 0.0020064595 0.0046958743 - 1188700 0.0034704683 0.0023600094 0.0040410175 - 1188800 0.0059400224 0.0025647976 0.005441996 - 1188900 0.0042171745 0.0027053406 0.0047480345 - 1189000 0.0058162169 0.0029918002 0.0058090303 - 1189100 0.006670854 0.0025979775 0.0058291724 - 1189200 0.0043491407 0.0023721368 0.0044787519 - 1189300 0.0042049856 0.002337125 0.0043739149 - 1189400 0.0047152786 0.0026720338 0.0049559969 - 1189500 0.0039717774 0.0025808407 0.0045046704 - 1189600 0.0046243281 0.0026732666 0.0049131755 - 1189700 0.0048578414 0.0025633285 0.0049163455 - 1189800 0.0058636306 0.0031625825 0.0060027786 - 1189900 0.0056060891 0.0030481 0.0057635494 - 1190000 0.0063938616 0.0021359855 0.0052330122 - 1190100 0.0042004244 0.0021845521 0.0042191327 - 1190200 0.0040073128 0.0020296652 0.0039707074 - 1190300 0.0036962138 0.0020591844 0.0038495379 - 1190400 0.0048840682 0.0023058623 0.0046715828 - 1190500 0.0052009256 0.0022862697 0.004805468 - 1190600 0.0047434101 0.0022795131 0.0045771024 - 1190700 0.0052147482 0.0022472257 0.0047731194 - 1190800 0.0050435132 0.0022835267 0.0047264785 - 1190900 0.0039759071 0.0020546351 0.0039804651 - 1191000 0.004272648 0.0019849377 0.0040545016 - 1191100 0.0050748904 0.0017359821 0.0041941322 - 1191200 0.0060385774 0.0016542624 0.0045791984 - 1191300 0.005166003 0.0017188646 0.0042211473 - 1191400 0.0044422656 0.0018790101 0.0040307325 - 1191500 0.0040973167 0.0019895569 0.0039741946 - 1191600 0.0055433474 0.0020110553 0.0046961142 - 1191700 0.005872401 0.0020567417 0.0049011859 - 1191800 0.0034242248 0.0027096618 0.0043682707 - 1191900 0.0046761346 0.0023207091 0.0045857119 - 1192000 0.0045463853 0.0018351575 0.0040373129 - 1192100 0.0043949101 0.0015115511 0.0036403357 - 1192200 0.0048172077 0.001649426 0.0039827609 - 1192300 0.0039633881 0.0018879691 0.0038077352 - 1192400 0.005121225 0.0018985476 0.004379141 - 1192500 0.0035159614 0.001935446 0.0036384899 - 1192600 0.00462523 0.0019099518 0.0041502976 - 1192700 0.004987127 0.0019549301 0.0043705697 - 1192800 0.0048740294 0.0018555793 0.0042164372 - 1192900 0.0049972329 0.0020964493 0.004516984 - 1193000 0.0046604352 0.0023266828 0.0045840811 - 1193100 0.0058576877 0.0021047202 0.0049420376 - 1193200 0.0049262877 0.0023131917 0.0046993623 - 1193300 0.0050646297 0.0027435018 0.0051966818 - 1193400 0.0065256267 0.0029053417 0.0060661921 - 1193500 0.0056710608 0.0028548136 0.0056017337 - 1193600 0.0056971645 0.0021960871 0.0049556512 - 1193700 0.0040703693 0.0021133201 0.0040849053 - 1193800 0.0042480186 0.0022843307 0.0043419647 - 1193900 0.0045032378 0.0024790074 0.0046602632 - 1194000 0.0056184973 0.0026354129 0.0053568725 - 1194100 0.0051114061 0.0024175057 0.0048933431 - 1194200 0.0044774567 0.0020824519 0.00425122 - 1194300 0.0051701356 0.0021112587 0.0046155431 - 1194400 0.0065754563 0.0019888308 0.0051738175 - 1194500 0.0063887758 0.0023228454 0.0054174087 - 1194600 0.0063784919 0.0030785424 0.0061681244 - 1194700 0.0041245033 0.0034276752 0.0054254815 - 1194800 0.0038480974 0.0025435448 0.004407467 - 1194900 0.0045902926 0.0022693672 0.0044927902 - 1195000 0.00444941 0.0017348978 0.0038900808 - 1195100 0.0065697695 0.0017118726 0.0048941047 - 1195200 0.0052617115 0.0021676791 0.0047163206 - 1195300 0.005401466 0.0022911142 0.0049074492 - 1195400 0.0053272992 0.0018647167 0.0044451272 - 1195500 0.0052324403 0.002005871 0.0045403343 - 1195600 0.0059317817 0.0024961236 0.0053693304 - 1195700 0.004778824 0.0026631803 0.0049779232 - 1195800 0.0057112506 0.0028577368 0.0056241238 - 1195900 0.0044570466 0.0035689755 0.0057278574 - 1196000 0.0056817962 0.0033943345 0.0061464545 - 1196100 0.0075838241 0.0025033852 0.0061768 - 1196200 0.0044318524 0.0021710353 0.0043177138 - 1196300 0.0041773121 0.002498458 0.0045218435 - 1196400 0.0057460925 0.0026845718 0.0054678354 - 1196500 0.0060661691 0.00242575 0.0053640507 - 1196600 0.0062616779 0.0028053175 0.0058383178 - 1196700 0.0053178298 0.0030421055 0.0056179293 - 1196800 0.006789594 0.0025901899 0.0058788994 - 1196900 0.005792022 0.0020054826 0.0048109933 - 1197000 0.0051869986 0.0023050199 0.0048174723 - 1197100 0.0046092146 0.0023315401 0.0045641285 - 1197200 0.0056427868 0.0023609728 0.0050941977 - 1197300 0.0045103962 0.0023409294 0.0045256525 - 1197400 0.0061182832 0.0022347056 0.0051982491 - 1197500 0.0058828596 0.0023731811 0.0052226912 - 1197600 0.005071483 0.0024972521 0.0049537517 - 1197700 0.0057572694 0.0022244783 0.0050131557 - 1197800 0.0052064455 0.0020711178 0.0045929899 - 1197900 0.0040300838 0.0021037315 0.0040558034 - 1198000 0.0043941016 0.0021482489 0.0042766419 - 1198100 0.0050793494 0.0024683807 0.0049286906 - 1198200 0.0048804613 0.0026816146 0.005045588 - 1198300 0.0056802502 0.0025406139 0.0052919851 - 1198400 0.0046270069 0.0021070613 0.0043482677 - 1198500 0.0074783438 0.001918237 0.0055405598 - 1198600 0.0052435499 0.0018358318 0.0043756763 - 1198700 0.00554753 0.0022805033 0.0049675881 - 1198800 0.0057127562 0.0026884223 0.0054555386 - 1198900 0.0061620664 0.0029718136 0.0059565646 - 1199000 0.0062193976 0.0031038696 0.0061163903 - 1199100 0.0054285473 0.0030823506 0.0057118032 - 1199200 0.0048121845 0.0024891519 0.0048200537 - 1199300 0.0043784253 0.0018196529 0.0039404526 - 1199400 0.0053131352 0.0019874939 0.0045610438 - 1199500 0.0038451508 0.0022714013 0.0041338962 - 1199600 0.0044678741 0.0024702036 0.0046343301 - 1199700 0.0038271826 0.0025157273 0.0043695188 - 1199800 0.0044241211 0.00259263 0.0047355637 - 1199900 0.0045219798 0.0025772057 0.0047675397 - 1200000 0.0049178434 0.0029985254 0.0053806058 - 1200100 0.0057867189 0.0029591496 0.0057620916 - 1200200 0.0043658806 0.0024517638 0.0045664872 - 1200300 0.0086750271 0.0020721422 0.0062741084 - 1200400 0.0057429282 0.0018125884 0.0045943193 - 1200500 0.0050067716 0.0017250759 0.0041502308 - 1200600 0.005122786 0.0020159676 0.0044973171 - 1200700 0.0035610109 0.0023133519 0.0040382166 - 1200800 0.0060502314 0.0020210513 0.0049516322 - 1200900 0.0055021196 0.0024644983 0.0051295875 - 1201000 0.0057069922 0.0028034334 0.0055677577 - 1201100 0.0052009842 0.0026247314 0.0051439581 - 1201200 0.0050840246 0.0024022792 0.0048648536 - 1201300 0.0041212154 0.002162859 0.0041590727 - 1201400 0.0039455008 0.0021018947 0.0040129967 - 1201500 0.0049240065 0.0023208324 0.004705898 - 1201600 0.003692277 0.002507891 0.0042963377 - 1201700 0.0061318703 0.0019479496 0.0049180742 - 1201800 0.0049227074 0.0016942285 0.0040786649 - 1201900 0.0063873679 0.0022072477 0.005301129 - 1202000 0.0040121082 0.0026036133 0.0045469782 - 1202100 0.0040518608 0.0024622432 0.0044248633 - 1202200 0.0044805205 0.002355052 0.0045253041 - 1202300 0.0062310615 0.0022311533 0.0052493237 - 1202400 0.0048190273 0.0022765668 0.0046107832 - 1202500 0.0046616419 0.0020317304 0.0042897132 - 1202600 0.0049389405 0.0021915055 0.0045838048 - 1202700 0.0052353253 0.0024042987 0.0049401594 - 1202800 0.0039859463 0.0028017198 0.0047324125 - 1202900 0.0050805867 0.0023570894 0.0048179986 - 1203000 0.0049568867 0.0024650853 0.0048660773 - 1203100 0.00498873 0.0023223237 0.0047387398 - 1203200 0.0051270789 0.0018854191 0.0043688479 - 1203300 0.0061260889 0.001421438 0.0043887623 - 1203400 0.0038257806 0.0017868116 0.0036399241 - 1203500 0.0040065299 0.0018061983 0.0037468612 - 1203600 0.0056549452 0.0017170103 0.0044561244 - 1203700 0.0053109783 0.001281404 0.0038539091 - 1203800 0.004262954 0.0014866532 0.0035515216 - 1203900 0.0056330968 0.0016976927 0.004426224 - 1204000 0.0058477801 0.0021212646 0.004953783 - 1204100 0.0050239048 0.002782588 0.0052160419 - 1204200 0.0039232745 0.0031707592 0.0050710953 - 1204300 0.0032934731 0.0027428717 0.0043381478 - 1204400 0.0052429164 0.0022302411 0.0047697788 - 1204500 0.0052885503 0.0017547717 0.0043164132 - 1204600 0.0059708084 0.001655476 0.0045475863 - 1204700 0.0048819931 0.0014743571 0.0038390725 - 1204800 0.0039504151 0.0017113885 0.0036248708 - 1204900 0.0043843929 0.0023967269 0.0045204173 - 1205000 0.0046206984 0.0024106195 0.0046487703 - 1205100 0.0055802741 0.0022877994 0.0049907447 - 1205200 0.0046803596 0.0021972855 0.0044643347 - 1205300 0.0049596108 0.0023384042 0.0047407157 - 1205400 0.0071013343 0.0024347014 0.0058744102 - 1205500 0.005332256 0.0027896271 0.0053724386 - 1205600 0.0052023365 0.003033026 0.0055529078 - 1205700 0.0047039393 0.0029726993 0.0052511699 - 1205800 0.0042013701 0.002889224 0.0049242627 - 1205900 0.0043922595 0.0027759965 0.0049034973 - 1206000 0.0049692113 0.002282187 0.0046891487 - 1206100 0.0055531878 0.0022470734 0.0049368988 - 1206200 0.0058439703 0.0026436416 0.0054743147 - 1206300 0.0058617849 0.0030555779 0.0058948799 - 1206400 0.0043519545 0.0029736637 0.0050816417 - 1206500 0.0046485012 0.0024274583 0.0046790761 - 1206600 0.0042392321 0.0024792821 0.0045326601 - 1206700 0.0047694 0.0023621667 0.0046723448 - 1206800 0.006177448 0.0026988067 0.005691008 - 1206900 0.0055557264 0.0024406264 0.0051316813 - 1207000 0.0055453053 0.0026956574 0.0053816647 - 1207100 0.0064343341 0.0031107784 0.006227409 - 1207200 0.0053819306 0.0032640035 0.0058708761 - 1207300 0.0061640315 0.0032755208 0.0062612235 - 1207400 0.005756469 0.002390232 0.0051785217 - 1207500 0.0059684594 0.0022128592 0.0051038317 - 1207600 0.0048181263 0.0026211381 0.004954918 - 1207700 0.0035904662 0.0024777924 0.0042169245 - 1207800 0.0046352935 0.002042445 0.0042876653 - 1207900 0.0073589872 0.0020643137 0.0056288231 - 1208000 0.0050508822 0.0023341849 0.004780706 - 1208100 0.0060483655 0.0028754375 0.0058051145 - 1208200 0.0038020354 0.0030007853 0.0048423962 - 1208300 0.003969456 0.0028588994 0.0047816046 - 1208400 0.0058488432 0.002724714 0.0055577474 - 1208500 0.0034006879 0.0025108053 0.0041580135 - 1208600 0.0044346557 0.0023749365 0.0045229729 - 1208700 0.0068049155 0.0022545427 0.0055506737 - 1208800 0.0060514832 0.0022253286 0.0051565158 - 1208900 0.0064198391 0.0022312312 0.0053408408 - 1209000 0.0055364121 0.0024447725 0.0051264721 - 1209100 0.0050292962 0.0024643825 0.0049004479 - 1209200 0.005342726 0.0026074309 0.0051953138 - 1209300 0.0059490636 0.0026915776 0.0055731553 - 1209400 0.0060813123 0.002375609 0.0053212446 - 1209500 0.0045478019 0.0024801069 0.0046829485 - 1209600 0.0049852812 0.0025211221 0.0049358677 - 1209700 0.0056374604 0.0022117562 0.0049424011 - 1209800 0.0050869393 0.0024196658 0.004883652 - 1209900 0.0037555279 0.002582736 0.0044018198 - 1210000 0.0042975302 0.0028066588 0.004888275 - 1210100 0.0035908886 0.0025379151 0.0042772518 - 1210200 0.0077857827 0.0020594973 0.0058307358 - 1210300 0.0064202934 0.0025595049 0.0056693345 - 1210400 0.0049447166 0.0029147448 0.0053098419 - 1210500 0.0060984795 0.0026292062 0.0055831572 - 1210600 0.0049969918 0.0024200584 0.0048404763 - 1210700 0.0052440637 0.0028653836 0.0054054769 - 1210800 0.0052062256 0.0023827098 0.0049044753 - 1210900 0.0040240384 0.0020561345 0.0040052782 - 1211000 0.0049684412 0.0021050262 0.0045116149 - 1211100 0.0039119159 0.0023847973 0.0042796315 - 1211200 0.0060114263 0.0019227733 0.0048345579 - 1211300 0.0043717478 0.0023200618 0.0044376272 - 1211400 0.005344072 0.002718649 0.0053071839 - 1211500 0.0059034403 0.0026406223 0.0055001012 - 1211600 0.0055494004 0.0029309485 0.0056189393 - 1211700 0.0048150893 0.0029021282 0.0052344371 - 1211800 0.0046128532 0.0028571666 0.0050915174 - 1211900 0.0050088055 0.0026905359 0.0051166761 - 1212000 0.0049435934 0.0029652787 0.0053598318 - 1212100 0.0063402342 0.0030240974 0.0060951483 - 1212200 0.0049798321 0.0030903527 0.0055024589 - 1212300 0.0060096683 0.0023333719 0.0052443049 - 1212400 0.0058212386 0.0017663708 0.0045860333 - 1212500 0.005535689 0.0019140842 0.0045954335 - 1212600 0.0053941892 0.0021288283 0.0047416387 - 1212700 0.0067459767 0.0022754933 0.0055430757 - 1212800 0.0072885235 0.0022786689 0.0058090475 - 1212900 0.0059733573 0.0019472542 0.0048405992 - 1213000 0.004722237 0.0021778349 0.0044651685 - 1213100 0.0058712411 0.0022246784 0.0050685608 - 1213200 0.004588422 0.0029014014 0.0051239183 - 1213300 0.0049258376 0.0029637325 0.0053496851 - 1213400 0.0074698543 0.0023502775 0.0059684882 - 1213500 0.0054982225 0.0028666653 0.0055298669 - 1213600 0.0031830238 0.0032006807 0.0047424579 - 1213700 0.0045753175 0.0030996529 0.0053158223 - 1213800 0.0061134865 0.0025878049 0.0055490249 - 1213900 0.0053311072 0.0029593042 0.0055415592 - 1214000 0.0063694011 0.0035237722 0.0066089509 - 1214100 0.0055791108 0.0036058439 0.0063082257 - 1214200 0.0057734212 0.0034950392 0.00629154 - 1214300 0.0048801253 0.0032925129 0.0056563235 - 1214400 0.0063048151 0.0031647131 0.0062186079 - 1214500 0.0054318264 0.0031535 0.0057845409 - 1214600 0.0035853061 0.0028929178 0.0046295505 - 1214700 0.0049784293 0.0028063808 0.0052178075 - 1214800 0.0049368497 0.0026939112 0.0050851977 - 1214900 0.0060710959 0.0026882957 0.0056289828 - 1215000 0.0055339998 0.0028681759 0.0055487071 - 1215100 0.0043712911 0.0035028345 0.0056201786 - 1215200 0.0048858445 0.0032874425 0.0056540235 - 1215300 0.0058685499 0.0025592429 0.0054018217 - 1215400 0.0064716329 0.002151554 0.0052862512 - 1215500 0.0043416261 0.0021666805 0.0042696557 - 1215600 0.00475838 0.0021832442 0.0044880845 - 1215700 0.003330975 0.0024834746 0.0040969157 - 1215800 0.005871541 0.002535503 0.0053795306 - 1215900 0.0045125028 0.0029748491 0.0051605926 - 1216000 0.006655752 0.0035888902 0.0068127701 - 1216100 0.0053353024 0.0035314747 0.0061157618 - 1216200 0.0044523032 0.0025426369 0.0046992212 - 1216300 0.0063207633 0.002094104 0.0051557237 - 1216400 0.0044733335 0.0020092758 0.0041760467 - 1216500 0.0040638732 0.0020833824 0.004051821 - 1216600 0.0048229063 0.0020617051 0.0043978003 - 1216700 0.0051516952 0.0023547202 0.0048500726 - 1216800 0.0058445856 0.0024278842 0.0052588553 - 1216900 0.0046358435 0.0025186488 0.0047641355 - 1217000 0.0048541881 0.0031284465 0.0054796939 - 1217100 0.0066969277 0.002479284 0.0057231083 - 1217200 0.0071061259 0.0023088158 0.0057508456 - 1217300 0.0050118454 0.0024709939 0.0048986065 - 1217400 0.0049475484 0.0020320224 0.0044284912 - 1217500 0.0060314934 0.0018033543 0.0047248589 - 1217600 0.0063067889 0.002187672 0.0052425229 - 1217700 0.0053348249 0.00296921 0.0055532658 - 1217800 0.004984643 0.0029142777 0.0053287142 - 1217900 0.0054784159 0.002379077 0.0050326847 - 1218000 0.0054916213 0.0020913024 0.0047513065 - 1218100 0.0043888942 0.0024267048 0.0045525755 - 1218200 0.0046132498 0.0024769657 0.0047115085 - 1218300 0.0048159641 0.0025773831 0.0049101157 - 1218400 0.0060231613 0.0023056917 0.0052231605 - 1218500 0.0042030125 0.0022195036 0.0042553378 - 1218600 0.0040437448 0.0022358132 0.0041945021 - 1218700 0.0052767813 0.0023052182 0.0048611592 - 1218800 0.0056739435 0.0028242516 0.005572568 - 1218900 0.0053775781 0.002941635 0.0055463994 - 1219000 0.0057697921 0.0025639944 0.0053587375 - 1219100 0.007439845 0.0027177935 0.0063214684 - 1219200 0.0065999183 0.0026965439 0.0058933793 - 1219300 0.003719831 0.0026617539 0.004463547 - 1219400 0.0042560613 0.0026505068 0.0047120365 - 1219500 0.0031173992 0.0027965838 0.004306574 - 1219600 0.0052741237 0.0027523666 0.0053070202 - 1219700 0.0049068936 0.0023566697 0.0047334464 - 1219800 0.005878186 0.0021035456 0.0049507919 - 1219900 0.0033208851 0.0023120882 0.003920642 - 1220000 0.00472975 0.0025902241 0.0048811967 - 1220100 0.0043553594 0.0026667382 0.0047763654 - 1220200 0.004615552 0.0028601542 0.0050958122 - 1220300 0.0052499012 0.0028299723 0.0053728931 - 1220400 0.0046989367 0.0027409923 0.0050170398 - 1220500 0.0041636167 0.0024237456 0.0044404974 - 1220600 0.0053300644 0.0023119411 0.004893691 - 1220700 0.0051615185 0.0025396096 0.0050397201 - 1220800 0.0058051342 0.0021088713 0.0049207331 - 1220900 0.0045875933 0.0018779955 0.004100111 - 1221000 0.0043016235 0.0016137135 0.0036973124 - 1221100 0.0046817204 0.0016511602 0.0039188685 - 1221200 0.0042687202 0.002302614 0.0043702753 - 1221300 0.0040956356 0.002404108 0.0043879315 - 1221400 0.0042768623 0.001996467 0.0040680721 - 1221500 0.0049044417 0.0015570101 0.003932599 - 1221600 0.0043281329 0.0019672714 0.0040637108 - 1221700 0.0050442921 0.0019786935 0.0044220225 - 1221800 0.0052122322 0.0017801083 0.0043047832 - 1221900 0.0051549722 0.0024127553 0.0049096949 - 1222000 0.007084518 0.0027819869 0.0062135503 - 1222100 0.0047767795 0.0027660321 0.0050797846 - 1222200 0.0064111878 0.0026184044 0.0057238235 - 1222300 0.0056678013 0.00260465 0.0053499912 - 1222400 0.005156974 0.0025146824 0.0050125917 - 1222500 0.0042748183 0.0020582983 0.0041289134 - 1222600 0.005848478 0.0022597906 0.0050926471 - 1222700 0.0045153553 0.0029161554 0.0051032806 - 1222800 0.0050758989 0.0025484776 0.0050071161 - 1222900 0.0064920275 0.0022665723 0.0054111481 - 1223000 0.0038283265 0.0028607942 0.0047151399 - 1223100 0.0047955048 0.0026286743 0.0049514969 - 1223200 0.0048234536 0.0016519714 0.0039883317 - 1223300 0.0054008252 0.0015170434 0.0041330681 - 1223400 0.0058527969 0.0021115203 0.0049464688 - 1223500 0.0058106155 0.0024325882 0.0052471051 - 1223600 0.0083990887 0.0023807175 0.0064490261 - 1223700 0.0050784203 0.0029653545 0.0054252143 - 1223800 0.0049991912 0.0028840716 0.0053055548 - 1223900 0.0048625684 0.0028033543 0.0051586608 - 1224000 0.0055268817 0.0028703582 0.0055474415 - 1224100 0.0059059893 0.0027146789 0.0055753925 - 1224200 0.0059315906 0.0022979286 0.0051710428 - 1224300 0.0046104784 0.0020993286 0.0043325291 - 1224400 0.0048916049 0.0021293203 0.0044986914 - 1224500 0.0041026607 0.0020698327 0.0040570589 - 1224600 0.0057418493 0.002063074 0.0048442822 - 1224700 0.0047295649 0.0020300756 0.0043209586 - 1224800 0.0059427066 0.0018757672 0.0047542656 - 1224900 0.0050060828 0.0016251179 0.0040499393 - 1225000 0.004921513 0.0016336109 0.0040174687 - 1225100 0.0049011914 0.0017063202 0.0040803348 - 1225200 0.0069164518 0.0017354214 0.0050855777 - 1225300 0.004892743 0.0023169682 0.0046868906 - 1225400 0.0062728587 0.0018313699 0.0048697859 - 1225500 0.0055356772 0.0017642771 0.0044456207 - 1225600 0.0045883967 0.0017940164 0.0040165211 - 1225700 0.0040463516 0.0015221257 0.0034820772 - 1225800 0.0045439313 0.0015499657 0.0037509324 - 1225900 0.0040607474 0.0015641427 0.0035310672 - 1226000 0.0049239319 0.0014110059 0.0037960354 - 1226100 0.0045963532 0.001631044 0.0038574026 - 1226200 0.0074669831 0.0017745575 0.0053913775 - 1226300 0.0051231263 0.0021549454 0.0046364597 - 1226400 0.0060262892 0.0024179556 0.0053369394 - 1226500 0.0065081667 0.0022420931 0.0053944863 - 1226600 0.0046140479 0.0024521858 0.0046871152 - 1226700 0.0054692146 0.0025228679 0.0051720187 - 1226800 0.0060497292 0.0025681724 0.00549851 - 1226900 0.0056093624 0.0025305108 0.0052475457 - 1227000 0.0049866565 0.0022913688 0.0047067805 - 1227100 0.0055243878 0.0020503133 0.0047261886 - 1227200 0.0052554164 0.0019892482 0.0045348405 - 1227300 0.0043499996 0.0018530044 0.0039600355 - 1227400 0.0047263691 0.0024073878 0.0046967229 - 1227500 0.0043359635 0.0024568344 0.0045570668 - 1227600 0.0043284083 0.0020765118 0.0041730845 - 1227700 0.0066677828 0.0020490525 0.0052787598 - 1227800 0.007036154 0.0018717082 0.0052798453 - 1227900 0.0050815899 0.0023627638 0.0048241589 - 1228000 0.0049045733 0.002281396 0.0046570486 - 1228100 0.0070317759 0.0021534439 0.0055594604 - 1228200 0.0041319188 0.002437249 0.0044386471 - 1228300 0.005462702 0.0022533064 0.0048993026 - 1228400 0.0071039169 0.0021034827 0.0055444425 - 1228500 0.003981553 0.002430185 0.0043587497 - 1228600 0.0054905863 0.0019964671 0.0046559699 - 1228700 0.0061307369 0.0019935843 0.0049631599 - 1228800 0.0049367833 0.0027281079 0.0051193624 - 1228900 0.0051164384 0.0028492337 0.0053275085 - 1229000 0.0048720402 0.0025420406 0.0049019351 - 1229100 0.0066970075 0.0023499617 0.0055938247 - 1229200 0.0060263532 0.0024204175 0.0053394324 - 1229300 0.0050175755 0.0028035737 0.0052339619 - 1229400 0.0051625507 0.0023594841 0.0048600946 - 1229500 0.0060239765 0.0025266228 0.0054444864 - 1229600 0.0047583171 0.0029776205 0.0052824303 - 1229700 0.0045956294 0.0025642299 0.0047902378 - 1229800 0.0079386309 0.0023407876 0.0061860619 - 1229900 0.005185279 0.0024801823 0.0049918018 - 1230000 0.0029226681 0.0025941207 0.0040097881 - 1230100 0.0057940757 0.0021764441 0.0049829496 - 1230200 0.0061117766 0.0022411486 0.0052015403 - 1230300 0.0051060853 0.0028780631 0.0053513232 - 1230400 0.0070958233 0.0031589414 0.0065959809 - 1230500 0.0049193376 0.0031412514 0.0055240556 - 1230600 0.005652116 0.0026360253 0.005373769 - 1230700 0.0054312848 0.002300077 0.0049308556 - 1230800 0.0044369133 0.0018254803 0.0039746102 - 1230900 0.0059736199 0.0017862477 0.0046797198 - 1231000 0.0054484211 0.0019112507 0.0045503297 - 1231100 0.0057591166 0.0019270215 0.0047165936 - 1231200 0.0053210673 0.0021275956 0.0047049876 - 1231300 0.0062321969 0.0024628224 0.0054815428 - 1231400 0.0058405258 0.0025994762 0.0054284809 - 1231500 0.0051335537 0.0021636921 0.0046502572 - 1231600 0.0046903008 0.0021841067 0.0044559711 - 1231700 0.0044877018 0.0024861854 0.0046599159 - 1231800 0.0051171549 0.0031316728 0.0056102947 - 1231900 0.0062075656 0.0032046378 0.0062114273 - 1232000 0.0054741857 0.0033050268 0.0059565855 - 1232100 0.0051165287 0.0031471438 0.0056254624 - 1232200 0.0052617272 0.0026260737 0.0051747228 - 1232300 0.0032609935 0.0032636099 0.0048431536 - 1232400 0.0050854235 0.0035896428 0.0060528948 - 1232500 0.0054223983 0.0031602652 0.0057867394 - 1232600 0.0062990837 0.0031502771 0.0062013957 - 1232700 0.0040185175 0.0030124199 0.0049588893 - 1232800 0.0044089017 0.0024555548 0.0045911165 - 1232900 0.0047482258 0.002128154 0.0044280759 - 1233000 0.0049608551 0.0021940671 0.0045969813 - 1233100 0.0039761765 0.00234896 0.0042749205 - 1233200 0.0064340887 0.0022327233 0.005349235 - 1233300 0.0048738011 0.0021576711 0.0045184185 - 1233400 0.0061177767 0.0022781815 0.0052414795 - 1233500 0.0034266987 0.0028253178 0.004485125 - 1233600 0.004704931 0.0029106819 0.0051896329 - 1233700 0.0049840616 0.0029237816 0.0053379364 - 1233800 0.0062400184 0.0028068974 0.0058294063 - 1233900 0.0068915177 0.0024173896 0.0057554685 - 1234000 0.0041463549 0.0024376954 0.0044460861 - 1234100 0.004161518 0.0023895534 0.0044052887 - 1234200 0.0050535035 0.0018259751 0.0042737659 - 1234300 0.0052124569 0.0016215276 0.0041463115 - 1234400 0.0034582499 0.0018033431 0.0034784329 - 1234500 0.0054189279 0.0017289161 0.0043537093 - 1234600 0.004812648 0.0018868345 0.0042179608 - 1234700 0.0034907773 0.0025200455 0.0042108908 - 1234800 0.0054484369 0.0029337718 0.0055728584 - 1234900 0.0055347788 0.0027910671 0.0054719756 - 1235000 0.006688656 0.0022884819 0.0055282997 - 1235100 0.0069773428 0.0016106396 0.0049902901 - 1235200 0.0055413457 0.0020016552 0.0046857445 - 1235300 0.0047674783 0.0024287352 0.0047379825 - 1235400 0.0057233285 0.002445846 0.0052180833 - 1235500 0.0055059385 0.0020603348 0.0047272738 - 1235600 0.0035404211 0.0020043585 0.0037192499 - 1235700 0.0057070168 0.0018251455 0.0045894818 - 1235800 0.0054710166 0.002228948 0.0048789717 - 1235900 0.0039764106 0.0021824128 0.0041084867 - 1236000 0.0048746016 0.0023671696 0.0047283047 - 1236100 0.0059101395 0.0025488036 0.0054115275 - 1236200 0.0049901216 0.0026593405 0.0050764307 - 1236300 0.0065171719 0.0022623216 0.0054190767 - 1236400 0.0049528886 0.0022921082 0.0046911636 - 1236500 0.0039931478 0.0022233683 0.0041575493 - 1236600 0.004893389 0.0018914065 0.0042616418 - 1236700 0.0051958075 0.0020781277 0.0045948469 - 1236800 0.006428876 0.0025620711 0.0056760579 - 1236900 0.0057591417 0.0030686558 0.0058582401 - 1237000 0.0057141551 0.0027688021 0.005536596 - 1237100 0.0061175797 0.0020805294 0.0050437321 - 1237200 0.0047172341 0.0019584215 0.0042433318 - 1237300 0.0045432816 0.0024178469 0.0046184989 - 1237400 0.0042130675 0.0023478731 0.0043885777 - 1237500 0.0043361222 0.0022112943 0.0043116035 - 1237600 0.0061992667 0.0022907719 0.0052935417 - 1237700 0.003776618 0.0023374851 0.0041667845 - 1237800 0.0053307368 0.0023049456 0.0048870212 - 1237900 0.0043382729 0.0022395823 0.0043409332 - 1238000 0.0043016439 0.0021542758 0.0042378846 - 1238100 0.0059859371 0.0019259586 0.0048253969 - 1238200 0.005344889 0.0020199149 0.0046088455 - 1238300 0.003976737 0.002278884 0.004205116 - 1238400 0.0039909835 0.0026023592 0.0045354918 - 1238500 0.0056286883 0.002334869 0.0050612649 - 1238600 0.0058031134 0.0023119051 0.0051227881 - 1238700 0.0059074796 0.0022243015 0.0050857369 - 1238800 0.0063755409 0.0018667249 0.0049548775 - 1238900 0.0038078742 0.001855116 0.0036995551 - 1239000 0.0049281625 0.0020325386 0.0044196173 - 1239100 0.0063726362 0.0018883841 0.0049751298 - 1239200 0.0034319835 0.0026940145 0.0043563815 - 1239300 0.0048807835 0.0026714625 0.005035592 - 1239400 0.0061473822 0.0019450109 0.0049226491 - 1239500 0.0034145554 0.0015045451 0.0031584704 - 1239600 0.0044328163 0.0014635049 0.0036106502 - 1239700 0.00379952 0.0017988299 0.0036392224 - 1239800 0.0047992195 0.002043694 0.004368316 - 1239900 0.0062659572 0.0017709376 0.0048060106 - 1240000 0.0049308356 0.0017247608 0.0041131343 - 1240100 0.0049449539 0.0015665742 0.0039617862 - 1240200 0.005803467 0.0017806763 0.0045917306 - 1240300 0.0056041204 0.0018243486 0.0045388444 - 1240400 0.0039573039 0.0015186488 0.0034354679 - 1240500 0.0043845858 0.0023025543 0.0044263381 - 1240600 0.004024584 0.0021148354 0.0040642433 - 1240700 0.0054133648 0.0019414303 0.0045635289 - 1240800 0.0047235432 0.0020199191 0.0043078853 - 1240900 0.0057660124 0.0020271434 0.0048200557 - 1241000 0.0049150405 0.0019919981 0.0043727208 - 1241100 0.0057187145 0.0017171797 0.0044871821 - 1241200 0.0042985718 0.0014768617 0.0035589824 - 1241300 0.0041385555 0.0020742721 0.0040788849 - 1241400 0.00501059 0.0028123287 0.0052393332 - 1241500 0.0063921949 0.0022959924 0.0053922118 - 1241600 0.0062644021 0.0020517286 0.0050860484 - 1241700 0.0073804379 0.0020427448 0.0056176444 - 1241800 0.0045787407 0.002277954 0.0044957816 - 1241900 0.0051952782 0.002304919 0.0048213819 - 1242000 0.0046827923 0.0020342912 0.0043025188 - 1242100 0.0052684227 0.001744761 0.0042966532 - 1242200 0.0056834162 0.0017502616 0.0045031664 - 1242300 0.0036431951 0.0014742469 0.0032389195 - 1242400 0.0042550911 0.0014568165 0.0035178762 - 1242500 0.0051477795 0.0016534031 0.0041468588 - 1242600 0.0044675827 0.0018749647 0.00403895 - 1242700 0.0060015067 0.0017737252 0.004680705 - 1242800 0.0044224139 0.0017524942 0.0038946009 - 1242900 0.0040277025 0.0013373081 0.0032882265 - 1243000 0.0077903842 0.0016882676 0.0054617349 - 1243100 0.0053430906 0.0019545873 0.0045426468 - 1243200 0.0049447682 0.0018871902 0.0042823123 - 1243300 0.0059080496 0.001682517 0.0045442285 - 1243400 0.0040276328 0.0020406104 0.003991495 - 1243500 0.0041143056 0.0022657198 0.0042585866 - 1243600 0.0048261133 0.0019765161 0.0043141647 - 1243700 0.0036433056 0.0021508215 0.0039155477 - 1243800 0.0041580299 0.0022962466 0.0043102923 - 1243900 0.0054054509 0.0019429551 0.0045612204 - 1244000 0.0030539324 0.0021602589 0.0036395074 - 1244100 0.0033893751 0.0027500569 0.0043917854 - 1244200 0.0053626505 0.0029715007 0.0055690346 - 1244300 0.0065091564 0.0029145613 0.0060674339 - 1244400 0.0071228679 0.0027039244 0.0061540635 - 1244500 0.0065876579 0.0026991709 0.0058900677 - 1244600 0.0053093129 0.0032123008 0.0057839992 - 1244700 0.006987052 0.0032989401 0.0066832934 - 1244800 0.0047797553 0.0029660193 0.0052812133 - 1244900 0.007095144 0.0019494858 0.0053861962 - 1245000 0.0052835689 0.0022563224 0.0048155511 - 1245100 0.0057418898 0.002885857 0.0056670849 - 1245200 0.0040715876 0.0031731832 0.0051453585 - 1245300 0.0047229904 0.0028963248 0.0051840232 - 1245400 0.003095711 0.0028463494 0.0043458344 - 1245500 0.0038725865 0.0023741172 0.0042499013 - 1245600 0.0058419464 0.0022147666 0.0050444594 - 1245700 0.0043959601 0.0022812967 0.0044105899 - 1245800 0.0047677993 0.0023697743 0.004679177 - 1245900 0.004892943 0.0025547437 0.0049247629 - 1246000 0.007894544 0.0027441203 0.00656804 - 1246100 0.0031893515 0.0033184994 0.0048633416 - 1246200 0.0048964471 0.0030776475 0.0054493641 - 1246300 0.0046172331 0.0021451121 0.0043815843 - 1246400 0.0051651233 0.0016076591 0.0041095157 - 1246500 0.0044594109 0.0015074191 0.0036674463 - 1246600 0.0036960575 0.0018362406 0.0036265184 - 1246700 0.0056261242 0.0020523228 0.0047774767 - 1246800 0.0063227359 0.0025646121 0.0056271873 - 1246900 0.0053813852 0.0022625165 0.0048691249 - 1247000 0.0051639871 0.0020673616 0.0045686678 - 1247100 0.0051954556 0.002669238 0.0051857868 - 1247200 0.004930802 0.0031635051 0.0055518624 - 1247300 0.0057482776 0.0027960734 0.0055803954 - 1247400 0.0050850224 0.002881808 0.0053448657 - 1247500 0.0063559825 0.0028008668 0.0058795458 - 1247600 0.0056856861 0.0022960405 0.0050500447 - 1247700 0.0047095565 0.0024055515 0.0046867429 - 1247800 0.006187156 0.002954424 0.0059513277 - 1247900 0.004530405 0.0035792014 0.0057736163 - 1248000 0.0045294568 0.0035629229 0.0057568786 - 1248100 0.0070295466 0.0029516876 0.0063566242 - 1248200 0.0046885379 0.0027011071 0.0049721176 - 1248300 0.0058452543 0.0026464451 0.0054777402 - 1248400 0.0054584687 0.0025581152 0.005202061 - 1248500 0.0060671649 0.0026113909 0.0055501739 - 1248600 0.0055918883 0.0020214102 0.0047299811 - 1248700 0.004523266 0.0021902838 0.0043812408 - 1248800 0.0065253154 0.00227167 0.0054323696 - 1248900 0.0050404107 0.0023595486 0.0048009976 - 1249000 0.0034864497 0.0020667344 0.0037554835 - 1249100 0.0045014515 0.0021673257 0.0043477163 - 1249200 0.004191657 0.0022342742 0.0042646081 - 1249300 0.0050300312 0.0021730971 0.0046095184 - 1249400 0.0052317936 0.0021966464 0.0047307964 - 1249500 0.005331759 0.0020765935 0.0046591643 - 1249600 0.0045618193 0.0018389406 0.0040485719 - 1249700 0.0051951008 0.0017623738 0.0042787507 - 1249800 0.0056998028 0.0019023752 0.0046632172 - 1249900 0.0059129152 0.0022496807 0.005113749 - 1250000 0.0052940849 0.0027700664 0.0053343888 - 1250100 0.0051532756 0.0024198653 0.0049159832 - 1250200 0.0045154402 0.0022467301 0.0044338964 - 1250300 0.0058858098 0.0025512052 0.0054021443 - 1250400 0.0052653818 0.0025784565 0.0051288758 - 1250500 0.0057810244 0.0025473468 0.0053475305 - 1250600 0.0053313643 0.0022839405 0.0048663201 - 1250700 0.0046852438 0.0023912268 0.0046606417 - 1250800 0.0044189454 0.0025559206 0.0046963473 - 1250900 0.003908807 0.0023499847 0.0042433131 - 1251000 0.0072700221 0.0019762438 0.0054976608 - 1251100 0.005241866 0.0020334382 0.004572467 - 1251200 0.0049898792 0.001787422 0.0042043948 - 1251300 0.004280811 0.0018863659 0.0039598838 - 1251400 0.0057228763 0.0019039961 0.0046760142 - 1251500 0.0053589766 0.0017944966 0.0043902509 - 1251600 0.0053039102 0.0017194333 0.0042885148 - 1251700 0.0051756292 0.0016517745 0.0041587199 - 1251800 0.0036042105 0.0022112791 0.0039570686 - 1251900 0.0058239065 0.0018934172 0.0047143719 - 1252000 0.0061243514 0.0016775045 0.0046439872 - 1252100 0.0046157588 0.0017356136 0.0039713717 - 1252200 0.0028382504 0.0021219107 0.0034966882 - 1252300 0.0057089171 0.0022779862 0.0050432429 - 1252400 0.0057277328 0.0024937588 0.0052681294 - 1252500 0.0035658874 0.0020417072 0.0037689339 - 1252600 0.0049755319 0.0019366739 0.0043466971 - 1252700 0.0046711615 0.0021699412 0.004432535 - 1252800 0.004315405 0.0022645294 0.0043548037 - 1252900 0.0066935114 0.0026386857 0.0058808553 - 1253000 0.0041401533 0.0026695803 0.0046749671 - 1253100 0.0035875286 0.0025757127 0.0043134218 - 1253200 0.005363691 0.0022827211 0.0048807589 - 1253300 0.0032826884 0.0020802296 0.0036702817 - 1253400 0.0043019855 0.0019818671 0.0040656413 - 1253500 0.0058663701 0.0021168621 0.0049583851 - 1253600 0.0058686211 0.0020946062 0.0049372196 - 1253700 0.0048306908 0.0025731901 0.004913056 - 1253800 0.0051982091 0.0022647518 0.0047826344 - 1253900 0.0057220162 0.0021559519 0.0049275535 - 1254000 0.0064522194 0.002147253 0.0052725467 - 1254100 0.0052211718 0.0021362962 0.0046653013 - 1254200 0.0041205626 0.0023760812 0.0043719787 - 1254300 0.0055882297 0.0025700577 0.0052768565 - 1254400 0.004884527 0.0022084548 0.0045743976 - 1254500 0.005180365 0.0020131971 0.0045224364 - 1254600 0.0061098196 0.0015883031 0.0045477469 - 1254700 0.0050090734 0.00153934 0.0039656099 - 1254800 0.00427303 0.0015992443 0.0036689932 - 1254900 0.0040224673 0.0020671933 0.0040155759 - 1255000 0.0050167958 0.002478413 0.0049084235 - 1255100 0.0049392632 0.0026458685 0.0050383241 - 1255200 0.006244506 0.002916698 0.0059413806 - 1255300 0.0046706661 0.0028031206 0.0050654745 - 1255400 0.0047253877 0.0025965393 0.004885399 - 1255500 0.0043701091 0.0025821638 0.0046989354 - 1255600 0.0049638207 0.0024757164 0.0048800671 - 1255700 0.0050497679 0.002709241 0.0051552223 - 1255800 0.0064005608 0.0021356945 0.0052359662 - 1255900 0.0060500088 0.0019223622 0.0048528352 - 1256000 0.0046656882 0.0023686365 0.0046285793 - 1256100 0.0044895513 0.0025674865 0.0047421129 - 1256200 0.0047775974 0.0025031397 0.0048172885 - 1256300 0.0053283614 0.0022174894 0.0047984145 - 1256400 0.0041130641 0.0021096928 0.0041019582 - 1256500 0.0043535074 0.0024933832 0.0046021134 - 1256600 0.0050263177 0.0027620741 0.0051966968 - 1256700 0.0046079301 0.002605662 0.0048376281 - 1256800 0.0069480556 0.0018968784 0.0052623429 - 1256900 0.005522555 0.0023096631 0.0049846506 - 1257000 0.005291689 0.0023794705 0.0049426324 - 1257100 0.0053675165 0.0022487453 0.0048486361 - 1257200 0.0065814821 0.0023939645 0.0055818699 - 1257300 0.0054650717 0.0029255245 0.0055726686 - 1257400 0.0051365143 0.0030409 0.0055288991 - 1257500 0.0041991243 0.0029288321 0.004962783 - 1257600 0.0048028384 0.0025940793 0.0049204541 - 1257700 0.0056457124 0.0024913369 0.0052259789 - 1257800 0.0046795314 0.0025721618 0.0048388099 - 1257900 0.0035392908 0.0024338562 0.0041482002 - 1258000 0.0047256003 0.0021195332 0.0044084958 - 1258100 0.0057558078 0.0019703004 0.0047582698 - 1258200 0.0043664471 0.002346211 0.0044612088 - 1258300 0.0045156938 0.0023822153 0.0045695045 - 1258400 0.005384514 0.0021016822 0.0047098061 - 1258500 0.0057489064 0.0018780586 0.0046626852 - 1258600 0.0042872648 0.0018434342 0.0039200781 - 1258700 0.003698113 0.0018222667 0.0036135401 - 1258800 0.0048925058 0.0018014152 0.0041712227 - 1258900 0.0046148283 0.0017216018 0.0039569093 - 1259000 0.004277507 0.0016719185 0.003743836 - 1259100 0.0041192508 0.0019326373 0.0039278994 - 1259200 0.004485483 0.0019388396 0.0041114954 - 1259300 0.0043447491 0.0022871433 0.0043916312 - 1259400 0.004648178 0.002163975 0.0044154362 - 1259500 0.0050437208 0.0020469027 0.004489955 - 1259600 0.0052003717 0.0017550119 0.0042739419 - 1259700 0.0054029674 0.0019504788 0.0045675411 - 1259800 0.0047191827 0.0027554542 0.0050413083 - 1259900 0.005498408 0.0023281712 0.0049914626 - 1260000 0.0058155796 0.0021893799 0.0050063013 - 1260100 0.0044537378 0.0024390519 0.0045963311 - 1260200 0.0054965664 0.0023968841 0.0050592834 - 1260300 0.0054454828 0.002361037 0.0049986927 - 1260400 0.0050638537 0.0023996042 0.0048524084 - 1260500 0.0045914982 0.0022619345 0.0044859414 - 1260600 0.0050153142 0.0024519988 0.0048812916 - 1260700 0.0070352772 0.0026982906 0.006106003 - 1260800 0.0039680685 0.0033932164 0.0053152496 - 1260900 0.0048518643 0.0033624118 0.0057125336 - 1261000 0.0037400276 0.0031797897 0.0049913656 - 1261100 0.0048214752 0.0029382891 0.0052736911 - 1261200 0.0054242064 0.0028402267 0.0054675767 - 1261300 0.005904405 0.0027167544 0.0055767006 - 1261400 0.0059163811 0.0025474059 0.005413153 - 1261500 0.0063522866 0.0021493945 0.0052262834 - 1261600 0.004787085 0.0022597336 0.0045784779 - 1261700 0.0047126012 0.0021188633 0.0044015295 - 1261800 0.0050303594 0.0020977856 0.0045343659 - 1261900 0.0050305614 0.0019679115 0.0044045897 - 1262000 0.0038857476 0.0016356642 0.0035178232 - 1262100 0.0051757636 0.0016714183 0.0041784287 - 1262200 0.0050755882 0.0022963014 0.0047547895 - 1262300 0.0044442903 0.0028051949 0.004957898 - 1262400 0.0046115364 0.0025811155 0.0048148285 - 1262500 0.0045978213 0.0024290828 0.0046561525 - 1262600 0.0042021484 0.0024218344 0.00445725 - 1262700 0.0059484082 0.002440528 0.0053217882 - 1262800 0.0052988389 0.0026516726 0.0052182977 - 1262900 0.0047690517 0.0028653833 0.0051753927 - 1263000 0.0059274781 0.0020919062 0.0049630284 - 1263100 0.00551961 0.0017718889 0.00444545 - 1263200 0.0046659403 0.0020708754 0.0043309402 - 1263300 0.0066492308 0.0024577785 0.0056784997 - 1263400 0.0043384199 0.0022926194 0.0043940416 - 1263500 0.0046786437 0.0023552944 0.0046215124 - 1263600 0.0081117179 0.0024477266 0.00637684 - 1263700 0.0070270083 0.0027513823 0.0061550895 - 1263800 0.0068596895 0.0027863642 0.0061090263 - 1263900 0.0056129986 0.0028311872 0.0055499834 - 1264000 0.0048651651 0.0028762078 0.0052327721 - 1264100 0.0057598174 0.0026949404 0.005484852 - 1264200 0.0036056624 0.0025236573 0.00427015 - 1264300 0.0054143172 0.0022470143 0.0048695742 - 1264400 0.005594979 0.0024930823 0.0052031503 - 1264500 0.0053945676 0.0025555437 0.0051685373 - 1264600 0.0054053854 0.002515013 0.0051332465 - 1264700 0.0051755967 0.0025257348 0.0050326644 - 1264800 0.006117553 0.0025010072 0.005464197 - 1264900 0.004120579 0.0026651547 0.0046610601 - 1265000 0.0037041865 0.0029995038 0.0047937191 - 1265100 0.0049951264 0.0029827541 0.0054022685 - 1265200 0.0041796225 0.0025406002 0.0045651048 - 1265300 0.0051935111 0.0025849979 0.0051006049 - 1265400 0.0042499019 0.0027199691 0.0047785154 - 1265500 0.0046336387 0.0025880601 0.0048324789 - 1265600 0.0048740112 0.0024656017 0.0048264509 - 1265700 0.0035154987 0.0027882154 0.0044910351 - 1265800 0.0046458142 0.0025509862 0.0048013025 - 1265900 0.0046462098 0.0024609568 0.0047114647 - 1266000 0.005121899 0.0027884087 0.0052693285 - 1266100 0.0051479903 0.0031376491 0.0056312069 - 1266200 0.0059481562 0.0028142476 0.0056953858 - 1266300 0.0058382403 0.002599435 0.0054273326 - 1266400 0.0055933474 0.0028408249 0.0055501026 - 1266500 0.0040635205 0.0024595149 0.0044277826 - 1266600 0.0046905431 0.0019839779 0.0042559598 - 1266700 0.0035428505 0.0021161738 0.003832242 - 1266800 0.0058736093 0.0021697168 0.0050147464 - 1266900 0.0041219641 0.0025220154 0.0045185918 - 1267000 0.0050073062 0.0023810284 0.0048064423 - 1267100 0.0055590026 0.0024038781 0.00509652 - 1267200 0.006112241 0.0026177984 0.0055784152 - 1267300 0.0054448763 0.002756427 0.005393789 - 1267400 0.0057510893 0.0023642022 0.0051498861 - 1267500 0.004726983 0.0022965078 0.0045861402 - 1267600 0.0052841632 0.0025536933 0.0051132098 - 1267700 0.004893576 0.0029233821 0.005293708 - 1267800 0.0052192321 0.0031144665 0.0056425321 - 1267900 0.0068439839 0.0025061132 0.0058211679 - 1268000 0.006015045 0.0020837816 0.004997319 - 1268100 0.0067004026 0.001849905 0.0050954125 - 1268200 0.0052155676 0.0024157609 0.0049420514 - 1268300 0.0053797659 0.0022264712 0.0048322953 - 1268400 0.006090211 0.0019831158 0.0049330618 - 1268500 0.0057234742 0.0019514436 0.0047237514 - 1268600 0.0040136207 0.0022929217 0.0042370192 - 1268700 0.0053206468 0.0021682533 0.0047454416 - 1268800 0.0050408184 0.0019052075 0.0043468539 - 1268900 0.0064632841 0.001808451 0.0049391042 - 1269000 0.0063654221 0.0023635958 0.0054468471 - 1269100 0.0049178974 0.002646587 0.0050286935 - 1269200 0.004558907 0.0024484067 0.0046566272 - 1269300 0.005183017 0.0016509455 0.0041614694 - 1269400 0.0048106869 0.0017051754 0.0040353518 - 1269500 0.0034839283 0.0019419014 0.0036294291 - 1269600 0.0050151894 0.0018527323 0.0042819646 - 1269700 0.0043271063 0.0019872363 0.0040831784 - 1269800 0.0041169398 0.0024216859 0.0044158287 - 1269900 0.0060725149 0.0021824588 0.0051238332 - 1270000 0.0036881158 0.0019589247 0.0037453557 - 1270100 0.0036529915 0.0019579495 0.0037273673 - 1270200 0.0043997901 0.0021169968 0.0042481451 - 1270300 0.0050831959 0.002049996 0.004512169 - 1270400 0.0043736466 0.0023178162 0.0044363013 - 1270500 0.0038346692 0.0028785936 0.0047360115 - 1270600 0.0038538815 0.0028418676 0.0047085915 - 1270700 0.0052714211 0.0026212423 0.0051745869 - 1270800 0.0059236599 0.001929483 0.0047987558 - 1270900 0.0056472623 0.0020782132 0.0048136059 - 1271000 0.0056543991 0.0021814364 0.0049202859 - 1271100 0.0055728695 0.0017650436 0.0044644023 - 1271200 0.00669089 0.0021438305 0.0053847303 - 1271300 0.0057294494 0.0025840571 0.0053592591 - 1271400 0.0058204713 0.0024865487 0.0053058395 - 1271500 0.0049648613 0.002011054 0.0044159087 - 1271600 0.0061488191 0.0022867356 0.0052650698 - 1271700 0.0064169485 0.0020398351 0.0051480446 - 1271800 0.0050070455 0.0020750005 0.0045002881 - 1271900 0.0044633557 0.0018492295 0.0040111675 - 1272000 0.0034659456 0.0018990853 0.0035779027 - 1272100 0.0051227402 0.0016317041 0.0041130314 - 1272200 0.0054004548 0.0012639756 0.0038798209 - 1272300 0.0047745581 0.0018941511 0.0042068276 - 1272400 0.0047879851 0.0021988857 0.004518066 - 1272500 0.0054188953 0.0025150331 0.0051398106 - 1272600 0.0032329649 0.0027299847 0.0042959521 - 1272700 0.0045381928 0.0022358111 0.0044339982 - 1272800 0.005448293 0.0025173538 0.0051563707 - 1272900 0.0051895648 0.0029809905 0.005494686 - 1273000 0.0080493198 0.0025570831 0.0064559723 - 1273100 0.0068926071 0.0022789551 0.0056175616 - 1273200 0.0072389935 0.0023297541 0.0058361416 - 1273300 0.0054306658 0.0027975617 0.0054280404 - 1273400 0.0065772332 0.0027566007 0.0059424481 - 1273500 0.0035954493 0.0027403812 0.004481927 - 1273600 0.0048382702 0.0027424797 0.0050860168 - 1273700 0.0067244737 0.0025106691 0.0057678361 - 1273800 0.0056770307 0.0022897857 0.0050395974 - 1273900 0.0045156029 0.0021286204 0.0043158655 - 1274000 0.0047463153 0.0020892833 0.0043882798 - 1274100 0.0053467924 0.0022288199 0.0048186725 - 1274200 0.004210154 0.0022996886 0.004338982 - 1274300 0.0058287445 0.0020791596 0.0049024578 - 1274400 0.0051212252 0.0018140554 0.0042946489 - 1274500 0.0053836841 0.0017111172 0.0043188392 - 1274600 0.0045995462 0.0021480291 0.0043759343 - 1274700 0.004736306 0.0021010662 0.0043952145 - 1274800 0.0045626016 0.0024020618 0.004612072 - 1274900 0.0057526691 0.0028701369 0.005656586 - 1275000 0.0052067339 0.0028076295 0.0053296412 - 1275100 0.0059893588 0.0021389463 0.005040042 - 1275200 0.0043640454 0.0021323025 0.004246137 - 1275300 0.0044244657 0.0019251339 0.0040682345 - 1275400 0.0054503622 0.0016327918 0.004272811 - 1275500 0.0059898545 0.001680761 0.0045820968 - 1275600 0.0049949558 0.0021944837 0.0046139154 - 1275700 0.0053151612 0.0020638268 0.004638358 - 1275800 0.0035133146 0.0021728542 0.003874616 - 1275900 0.0042820938 0.0020820809 0.0041562201 - 1276000 0.006302479 0.0019631955 0.0050159588 - 1276100 0.0075173802 0.0021911947 0.0058324257 - 1276200 0.0040415786 0.0025754661 0.0045331058 - 1276300 0.0037149708 0.0029517072 0.0047511462 - 1276400 0.0052395791 0.0025466854 0.0050846065 - 1276500 0.0054035544 0.0018786156 0.0044959622 - 1276600 0.0052663016 0.0019922776 0.0045431425 - 1276700 0.0035341683 0.0022344873 0.0039463501 - 1276800 0.004792851 0.0018843444 0.0042058816 - 1276900 0.0051386003 0.001809417 0.0042984265 - 1277000 0.0038144222 0.0021995103 0.004047121 - 1277100 0.0050619792 0.0019032495 0.0043551457 - 1277200 0.0050635874 0.0016043514 0.0040570266 - 1277300 0.005892845 0.0018388632 0.00469321 - 1277400 0.0054994829 0.0020686446 0.0047324566 - 1277500 0.006449458 0.0019685343 0.0050924905 - 1277600 0.0046668781 0.0023198812 0.0045804003 - 1277700 0.0038129965 0.0023189199 0.0041658401 - 1277800 0.0050773616 0.0018566298 0.0043159768 - 1277900 0.0044451025 0.0018188709 0.0039719674 - 1278000 0.0058034958 0.0019452732 0.0047563415 - 1278100 0.0036896975 0.0021041152 0.0038913125 - 1278200 0.0060281793 0.0020339102 0.0049538095 - 1278300 0.0048170914 0.0022418237 0.0045751023 - 1278400 0.0061225662 0.0023684487 0.0053340667 - 1278500 0.0047394519 0.0026189651 0.0049146371 - 1278600 0.0046273216 0.0027322041 0.004973563 - 1278700 0.0048580758 0.0024011987 0.0047543292 - 1278800 0.0058413855 0.0024757388 0.0053051599 - 1278900 0.0068279367 0.002575051 0.0058823328 - 1279000 0.0041608637 0.0038182758 0.0058336941 - 1279100 0.0039574372 0.0036643829 0.0055812665 - 1279200 0.0073424393 0.0031405014 0.0066969955 - 1279300 0.0069274582 0.0031659309 0.0065214184 - 1279400 0.0062037888 0.0030355417 0.0060405018 - 1279500 0.0047645041 0.0031335263 0.0054413329 - 1279600 0.0072831085 0.0024789868 0.0060067425 - 1279700 0.0063648036 0.0022177982 0.0053007499 - 1279800 0.0046030873 0.0021134042 0.0043430246 - 1279900 0.0045734686 0.0025056312 0.004720905 - 1280000 0.0054448211 0.0028613583 0.0054986935 - 1280100 0.0047755977 0.002957628 0.0052708081 - 1280200 0.0049864165 0.0024774675 0.0048927629 - 1280300 0.0048303351 0.0022050035 0.0045446971 - 1280400 0.0037687861 0.0020989046 0.0039244104 - 1280500 0.0048720666 0.0020236906 0.0043835978 - 1280600 0.0041780474 0.0020881521 0.0041118938 - 1280700 0.0037508529 0.0022478487 0.0040646681 - 1280800 0.0048334227 0.0024601944 0.0048013835 - 1280900 0.004866536 0.0025403803 0.0048976086 - 1281000 0.005357517 0.0023480616 0.0049431089 - 1281100 0.007081713 0.0028770828 0.0063072875 - 1281200 0.0048786822 0.0035933942 0.0059565059 - 1281300 0.0065024741 0.0029399244 0.0060895603 - 1281400 0.0044867118 0.0023828678 0.0045561188 - 1281500 0.0064076919 0.0020963473 0.0052000731 - 1281600 0.0041094339 0.0022930052 0.0042835122 - 1281700 0.0035088027 0.0025446943 0.0042442706 - 1281800 0.0044792103 0.0027133779 0.0048829954 - 1281900 0.0053105081 0.0022973717 0.004869649 - 1282000 0.0058249827 0.0024108865 0.0052323625 - 1282100 0.0043288694 0.0025181884 0.0046149845 - 1282200 0.0047727959 0.0022762186 0.0045880416 - 1282300 0.0057292503 0.0019293189 0.0047044245 - 1282400 0.0046039653 0.0016641086 0.0038941543 - 1282500 0.0068539171 0.0020208918 0.0053407578 - 1282600 0.0052448539 0.0023453854 0.0048858615 - 1282700 0.0053703258 0.0021306929 0.0047319445 - 1282800 0.0049612464 0.0020056242 0.0044087279 - 1282900 0.0059366497 0.002052736 0.0049283007 - 1283000 0.0033837336 0.0022902157 0.0039292117 - 1283100 0.003787647 0.0021245712 0.0039592127 - 1283200 0.0034226759 0.0023977189 0.0040555776 - 1283300 0.0049076598 0.0022182461 0.0045953938 - 1283400 0.0060122274 0.0018784345 0.0047906071 - 1283500 0.0046374794 0.0023414151 0.0045876942 - 1283600 0.0039392385 0.0022086089 0.0041166775 - 1283700 0.0052832368 0.0020530878 0.0046121556 - 1283800 0.0046127545 0.0024056402 0.0046399432 - 1283900 0.0046825384 0.0025795085 0.004847613 - 1284000 0.0048764729 0.0026838852 0.0050459267 - 1284100 0.0051390955 0.0029242529 0.0054135023 - 1284200 0.0035898256 0.0031292177 0.0048680394 - 1284300 0.0058622857 0.0029495029 0.0057890475 - 1284400 0.0032257894 0.0027082216 0.0042707133 - 1284500 0.0055081072 0.0025489176 0.0052169071 - 1284600 0.0047205585 0.002521007 0.0048075275 - 1284700 0.0062537564 0.0024854074 0.0055145706 - 1284800 0.0051173461 0.0022817812 0.0047604957 - 1284900 0.006335434 0.0018494295 0.0049181553 - 1285000 0.0045391072 0.0023631691 0.0045617991 - 1285100 0.0043489659 0.0026086388 0.0047151692 - 1285200 0.0050695706 0.0023520548 0.0048076281 - 1285300 0.0052618673 0.0023386651 0.0048873821 - 1285400 0.0048140219 0.0023881348 0.0047199266 - 1285500 0.0034291253 0.0022948654 0.003955848 - 1285600 0.0047697153 0.002847982 0.0051583128 - 1285700 0.0069806976 0.0027773559 0.0061586313 - 1285800 0.0040963419 0.0028422471 0.0048264126 - 1285900 0.0055955035 0.0028761195 0.0055864415 - 1286000 0.0046638362 0.0029338249 0.0051928706 - 1286100 0.0066887506 0.0032045186 0.0064443822 - 1286200 0.004281666 0.003406107 0.005480039 - 1286300 0.0075467096 0.002842744 0.0064981815 - 1286400 0.0061818072 0.0025135825 0.0055078953 - 1286500 0.0063239327 0.0021569168 0.0052200717 - 1286600 0.0047966338 0.0019203679 0.0042437374 - 1286700 0.0049568917 0.0019823801 0.0043833745 - 1286800 0.0050851044 0.0019916719 0.0044547693 - 1286900 0.0038203463 0.0017507089 0.0036011891 - 1287000 0.0042748099 0.001614616 0.0036852271 - 1287100 0.0043224826 0.0019437723 0.0040374748 - 1287200 0.0044769301 0.0018963357 0.0040648487 - 1287300 0.0050949924 0.0020600429 0.0045279298 - 1287400 0.0072118041 0.0021476597 0.0056408773 - 1287500 0.0053817812 0.002173356 0.0047801563 - 1287600 0.0060568623 0.0023285637 0.0052623564 - 1287700 0.0054102665 0.0025510062 0.0051716041 - 1287800 0.0039157062 0.002494659 0.0043913292 - 1287900 0.0034439124 0.0024845925 0.0041527376 - 1288000 0.0052143332 0.0024074442 0.0049331368 - 1288100 0.004584184 0.0026676725 0.0048881366 - 1288200 0.0052976488 0.0025527301 0.0051187788 - 1288300 0.0051404273 0.0024200461 0.0049099406 - 1288400 0.0053864798 0.0025649907 0.0051740668 - 1288500 0.0058319276 0.0022525462 0.0050773862 - 1288600 0.0050467973 0.0026424966 0.005087039 - 1288700 0.0040845071 0.002179605 0.0041580381 - 1288800 0.0046423035 0.0021262386 0.0043748543 - 1288900 0.0060296353 0.0021972359 0.0051178405 - 1289000 0.0045404212 0.0021195238 0.0043187903 - 1289100 0.0044094403 0.0020349185 0.0041707411 - 1289200 0.0054471511 0.0021730514 0.0048115152 - 1289300 0.0057995312 0.002165052 0.0049741999 - 1289400 0.0043979301 0.002287874 0.0044181213 - 1289500 0.0046353374 0.0020704133 0.0043156548 - 1289600 0.0045194832 0.0019933791 0.0041825038 - 1289700 0.0046821702 0.0024486703 0.0047165965 - 1289800 0.0048861478 0.00322119 0.0055879178 - 1289900 0.0066851539 0.0029991519 0.0062372733 - 1290000 0.0055016397 0.002548459 0.0052133157 - 1290100 0.0045345344 0.0021762822 0.0043726973 - 1290200 0.005046144 0.0022061273 0.0046503533 - 1290300 0.004815596 0.0024521573 0.0047847116 - 1290400 0.0041293538 0.0025546914 0.0045548472 - 1290500 0.0047233136 0.0022415116 0.0045293666 - 1290600 0.0045613929 0.0022961169 0.0045055416 - 1290700 0.0057411811 0.0024032826 0.0051841672 - 1290800 0.004858854 0.0024783056 0.0048318131 - 1290900 0.0061352039 0.0028119659 0.0057837053 - 1291000 0.0034925672 0.0032017775 0.0048934898 - 1291100 0.0055603675 0.002889636 0.005582939 - 1291200 0.006003773 0.0036041555 0.006512233 - 1291300 0.0042455057 0.0033123339 0.0053687507 - 1291400 0.0052095932 0.0025423314 0.0050657281 - 1291500 0.005900647 0.0023954565 0.0052535824 - 1291600 0.0048225696 0.0019939535 0.0043298856 - 1291700 0.0055703022 0.0020256229 0.004723738 - 1291800 0.005000291 0.0021047392 0.0045267552 - 1291900 0.0038942105 0.0025379841 0.0044242424 - 1292000 0.0042634486 0.0028009091 0.004866017 - 1292100 0.0049206109 0.0027884001 0.005171821 - 1292200 0.0051542356 0.0025507607 0.0050473436 - 1292300 0.0059494275 0.0027376293 0.0056193832 - 1292400 0.004254004 0.0029220243 0.0049825575 - 1292500 0.0063668871 0.0026389121 0.0057228731 - 1292600 0.0046253879 0.0023340603 0.0045744825 - 1292700 0.0027944644 0.0022530854 0.0036066541 - 1292800 0.004940825 0.0025278745 0.0049210866 - 1292900 0.0046408419 0.0026507808 0.0048986886 - 1293000 0.0058365468 0.0024233075 0.0052503849 - 1293100 0.0055170462 0.0027343692 0.0054066884 - 1293200 0.0061249813 0.0034896714 0.0064564592 - 1293300 0.0060021342 0.0034744703 0.0063817541 - 1293400 0.0067494085 0.0036111321 0.0068803769 - 1293500 0.0048118459 0.0039735676 0.0063043055 - 1293600 0.005277314 0.0037894625 0.0063456614 - 1293700 0.0040811921 0.0031665327 0.0051433602 - 1293800 0.0053372178 0.0030764463 0.0056616612 - 1293900 0.0044746794 0.0034413389 0.0056087618 - 1294000 0.005379032 0.0033656172 0.0059710858 - 1294100 0.0062371457 0.0034749766 0.0064960941 - 1294200 0.0065969088 0.0034673699 0.0066627476 - 1294300 0.005748518 0.0034818957 0.0062663341 - 1294400 0.004776456 0.0032827255 0.0055963213 - 1294500 0.0052245739 0.0031232448 0.0056538978 - 1294600 0.0055192741 0.0032293454 0.0059027438 - 1294700 0.0056277333 0.0037427341 0.0064686674 - 1294800 0.0041575208 0.0032730166 0.0052868157 - 1294900 0.0064073053 0.0027902714 0.0058938099 - 1295000 0.0044645509 0.0029290562 0.005091573 - 1295100 0.0060279306 0.00242134 0.0053411189 - 1295200 0.004316886 0.0021133018 0.0042042935 - 1295300 0.0038075525 0.0020200234 0.0038643066 - 1295400 0.0061587533 0.002303015 0.0052861611 - 1295500 0.0041703776 0.0029753769 0.0049954035 - 1295600 0.0042256827 0.002605182 0.0046519971 - 1295700 0.00511659 0.0026034508 0.0050817991 - 1295800 0.0047528552 0.0030627162 0.0053648804 - 1295900 0.0049079279 0.0028354998 0.0052127773 - 1296000 0.0044802857 0.0026455852 0.0048157236 - 1296100 0.0055264197 0.0023943634 0.0050712229 - 1296200 0.0058229966 0.002232791 0.005053305 - 1296300 0.0044870973 0.0021870901 0.0043605278 - 1296400 0.0043727981 0.002362077 0.004480151 - 1296500 0.0060162428 0.0022883869 0.0052025045 - 1296600 0.0051169221 0.0024197885 0.0048982977 - 1296700 0.0061633637 0.0026637064 0.0056490857 - 1296800 0.0038074607 0.0026839864 0.0045282251 - 1296900 0.004437799 0.0027971168 0.0049466757 - 1297000 0.0052040017 0.0030055743 0.0055262626 - 1297100 0.0057486932 0.0028997721 0.0056842953 - 1297200 0.0064793816 0.0029016399 0.0060400903 - 1297300 0.0048409695 0.0030354571 0.0053803017 - 1297400 0.0051753506 0.0029149012 0.0054217117 - 1297500 0.0045719507 0.0029962842 0.0052108228 - 1297600 0.0042330336 0.0026701866 0.0047205623 - 1297700 0.0059075468 0.0024958682 0.0053573361 - 1297800 0.0058920119 0.0027422346 0.0055961779 - 1297900 0.006884647 0.0027628241 0.006097575 - 1298000 0.0055174813 0.003073784 0.0057463141 - 1298100 0.0066868528 0.0031085375 0.0063474818 - 1298200 0.003830987 0.0032062489 0.0050618832 - 1298300 0.0043861602 0.0027548725 0.0048794188 - 1298400 0.004570615 0.0024642115 0.0046781032 - 1298500 0.0048022362 0.0023428191 0.0046689022 - 1298600 0.0048892631 0.0025882173 0.0049564541 - 1298700 0.0051745235 0.0026441548 0.0051505646 - 1298800 0.0049471341 0.0025284962 0.0049247643 - 1298900 0.003679593 0.0024152399 0.0041975427 - 1299000 0.0047307403 0.0026222504 0.0049137028 - 1299100 0.0037958256 0.0032150672 0.0050536703 - 1299200 0.0036344963 0.0030787989 0.004839258 - 1299300 0.0054537457 0.0024380877 0.0050797458 - 1299400 0.006060622 0.0020960634 0.0050316772 - 1299500 0.0046659051 0.0028779847 0.0051380325 - 1299600 0.0040003475 0.0033352742 0.0052729425 - 1299700 0.004340343 0.0030103902 0.0051127438 - 1299800 0.0069633486 0.0023517461 0.0057246181 - 1299900 0.0044592952 0.0027200292 0.0048800003 - 1300000 0.0038296562 0.0028113159 0.0046663056 - 1300100 0.0060201146 0.0024384309 0.0053544239 - 1300200 0.0065376802 0.0023236078 0.0054902967 - 1300300 0.004719727 0.0023967682 0.004682886 - 1300400 0.0040748627 0.0023205396 0.0042943012 - 1300500 0.0038573324 0.002396932 0.0042653274 - 1300600 0.0055863434 0.0020235282 0.0047294133 - 1300700 0.0060967855 0.0020999905 0.005053121 - 1300800 0.0051006236 0.0020750363 0.0045456509 - 1300900 0.0043702175 0.0025221597 0.0046389838 - 1301000 0.0063017495 0.0024325598 0.0054849697 - 1301100 0.004423975 0.0024009547 0.0045438175 - 1301200 0.0055266716 0.0027406919 0.0054176734 - 1301300 0.0049299754 0.003066513 0.0054544699 - 1301400 0.005242104 0.0031496419 0.005688786 - 1301500 0.0057021425 0.0031480319 0.0059100071 - 1301600 0.0055851721 0.0025869804 0.0052922981 - 1301700 0.0056344151 0.0023206745 0.0050498443 - 1301800 0.0065892392 0.0021104516 0.0053021143 - 1301900 0.0054126842 0.0022865177 0.0049082866 - 1302000 0.0056250192 0.0023445507 0.0050691694 - 1302100 0.0058567594 0.0020047945 0.0048416623 - 1302200 0.0048603921 0.0021826516 0.004536904 - 1302300 0.0048524701 0.0026448889 0.0049953041 - 1302400 0.0046197117 0.0025350023 0.0047726751 - 1302500 0.0059416704 0.0024585463 0.0053365429 - 1302600 0.0041938038 0.0024621638 0.0044935375 - 1302700 0.0046746321 0.0024965625 0.0047608374 - 1302800 0.0046112315 0.0026276196 0.0048611848 - 1302900 0.0055839956 0.0026995854 0.0054043333 - 1303000 0.0044404271 0.0028008981 0.00495173 - 1303100 0.0041615144 0.0030291805 0.005044914 - 1303200 0.0035692272 0.0029663074 0.0046951518 - 1303300 0.0043116154 0.0028252291 0.0049136678 - 1303400 0.0075539651 0.0026299938 0.0062889457 - 1303500 0.0056644886 0.003310817 0.0060545537 - 1303600 0.0074436378 0.0034947017 0.0071002138 - 1303700 0.0051459946 0.0031423149 0.005634906 - 1303800 0.004554309 0.0028653651 0.0050713585 - 1303900 0.0046625471 0.0024539978 0.0047124191 - 1304000 0.0086195105 0.0019904523 0.0061655276 - 1304100 0.0052924219 0.0025605624 0.0051240793 - 1304200 0.0057177877 0.0026454658 0.0054150192 - 1304300 0.0075197471 0.002433864 0.0060762415 - 1304400 0.0047356113 0.0026326027 0.0049264144 - 1304500 0.0059167699 0.0024866439 0.0053525793 - 1304600 0.0031989391 0.0027161534 0.0042656395 - 1304700 0.0059111632 0.0030626962 0.0059259158 - 1304800 0.0061844009 0.0035542282 0.0065497974 - 1304900 0.0051251127 0.003138996 0.0056214725 - 1305000 0.0066526319 0.0022380795 0.0054604481 - 1305100 0.0039837433 0.0021924998 0.0041221254 - 1305200 0.0056528241 0.002435391 0.0051734777 - 1305300 0.0046622491 0.002339628 0.0045979049 - 1305400 0.0062092438 0.0023667011 0.0053743035 - 1305500 0.0054266208 0.0027479987 0.0053765181 - 1305600 0.0063534719 0.002721084 0.005798547 - 1305700 0.0060235185 0.0027950514 0.0057126931 - 1305800 0.004633712 0.0027901674 0.0050346216 - 1305900 0.0047814015 0.0026752888 0.0049912801 - 1306000 0.007456621 0.0016913705 0.0053031713 - 1306100 0.0048302248 0.0013143558 0.003653996 - 1306200 0.005293255 0.0015010486 0.0040649689 - 1306300 0.0059032821 0.0018312082 0.0046906105 - 1306400 0.0070912426 0.00232095 0.0057557706 - 1306500 0.0046952946 0.0032948764 0.0055691597 - 1306600 0.0056029605 0.0030919796 0.0058059136 - 1306700 0.006682492 0.0023697816 0.0056066137 - 1306800 0.0046124668 0.0018709543 0.0041051179 - 1306900 0.0041602675 0.0019885625 0.0040036921 - 1307000 0.0052943388 0.0020131381 0.0045775834 - 1307100 0.0059622923 0.0017661021 0.0046540874 - 1307200 0.0050239974 0.0016888104 0.0041223091 - 1307300 0.0046454497 0.0020899035 0.0043400432 - 1307400 0.0040564403 0.002435565 0.0044004033 - 1307500 0.0061032142 0.0021375068 0.0050937512 - 1307600 0.0061170493 0.0020569854 0.0050199311 - 1307700 0.0046977623 0.0020313531 0.0043068317 - 1307800 0.005081132 0.0021348384 0.0045960118 - 1307900 0.0038160407 0.0020515868 0.0038999816 - 1308000 0.0057975484 0.0017762873 0.0045844748 - 1308100 0.0056038699 0.0023448766 0.0050592511 - 1308200 0.0027211948 0.0023355951 0.0036536738 - 1308300 0.0031335772 0.0019526396 0.003470466 - 1308400 0.0046713061 0.0019360729 0.0041987368 - 1308500 0.0042611148 0.0017894489 0.0038534264 - 1308600 0.0046446003 0.0018539057 0.004103634 - 1308700 0.0044153849 0.0019696363 0.0041083383 - 1308800 0.0047845204 0.0022124789 0.0045299809 - 1308900 0.0040252719 0.0027255954 0.0046753364 - 1309000 0.004801004 0.0023736481 0.0046991344 - 1309100 0.006959958 0.0020287396 0.0053999693 - 1309200 0.004550505 0.0026413017 0.0048454526 - 1309300 0.0048033008 0.0031968762 0.005523475 - 1309400 0.0058189786 0.0035973973 0.0064159651 - 1309500 0.0042502966 0.003291709 0.0053504465 - 1309600 0.0054896109 0.0035236263 0.0061826566 - 1309700 0.0052918622 0.0030799686 0.0056432143 - 1309800 0.0045868128 0.0025666216 0.0047883591 - 1309900 0.0060925411 0.0021452002 0.0050962748 - 1310000 0.0070919688 0.0024413334 0.0058765057 - 1310100 0.0056974646 0.0026906491 0.0054503585 - 1310200 0.0049215875 0.0029137362 0.0052976301 - 1310300 0.0063790799 0.0026703504 0.0057602172 - 1310400 0.00616978 0.0028168275 0.0058053147 - 1310500 0.006857825 0.0028337436 0.0061555026 - 1310600 0.0075962849 0.0025291558 0.0062086063 - 1310700 0.0052724335 0.0026284933 0.0051823283 - 1310800 0.0046006162 0.0027972408 0.0050256643 - 1310900 0.0047445129 0.0025675546 0.0048656781 - 1311000 0.0044299631 0.0022842106 0.004429974 - 1311100 0.0035889954 0.0025668812 0.0043053009 - 1311200 0.0058840888 0.0025185278 0.0053686333 - 1311300 0.0037606718 0.0031535751 0.0049751505 - 1311400 0.0056131621 0.0032141645 0.0059330399 - 1311500 0.0062993608 0.0031596062 0.0062108591 - 1311600 0.0033833763 0.0030387867 0.0046776096 - 1311700 0.0058443372 0.002550865 0.0053817158 - 1311800 0.005498277 0.0024977241 0.005160952 - 1311900 0.0052511813 0.0028211448 0.0053646858 - 1312000 0.0050043128 0.0023100887 0.0047340528 - 1312100 0.0052212053 0.0019058932 0.0044349145 - 1312200 0.0056921982 0.0018439299 0.0046010884 - 1312300 0.0038305369 0.0020287042 0.0038841206 - 1312400 0.0043073746 0.0018391418 0.0039255264 - 1312500 0.0065964024 0.001863998 0.0050591304 - 1312600 0.0046788011 0.0018124273 0.0040787215 - 1312700 0.0048105844 0.0017493588 0.0040794857 - 1312800 0.0068537531 0.0018377602 0.0051575469 - 1312900 0.0029005875 0.0023323374 0.0037373095 - 1313000 0.0054008371 0.0022103283 0.0048263588 - 1313100 0.0044776676 0.002051426 0.0042202962 - 1313200 0.0076773103 0.0016271142 0.0053458114 - 1313300 0.0048130196 0.0019172189 0.0042485253 - 1313400 0.0045021401 0.0021476983 0.0043284224 - 1313500 0.0062965366 0.0015903403 0.0046402252 - 1313600 0.0069658982 0.0017869116 0.0051610186 - 1313700 0.0050262849 0.0024805189 0.0049151256 - 1313800 0.0055742062 0.0028937752 0.0055937813 - 1313900 0.0057535897 0.0034574039 0.0062442989 - 1314000 0.0037628017 0.0034830954 0.0053057025 - 1314100 0.0048461786 0.0031172735 0.0054646412 - 1314200 0.0057819426 0.0029704063 0.0057710347 - 1314300 0.0064140473 0.0032407872 0.0063475914 - 1314400 0.0056980152 0.0035887562 0.0063487323 - 1314500 0.0054516297 0.0031483364 0.0057889696 - 1314600 0.0052912801 0.0030188315 0.0055817953 - 1314700 0.0063342463 0.0024933201 0.0055614706 - 1314800 0.0065404081 0.0024060224 0.0055740326 - 1314900 0.0068318769 0.0023149008 0.0056240912 - 1315000 0.0041929874 0.00272503 0.0047560083 - 1315100 0.0050221764 0.0024650781 0.0048976948 - 1315200 0.0050488053 0.001992144 0.004437659 - 1315300 0.0037998177 0.0018829724 0.003723509 - 1315400 0.0060248305 0.0021299462 0.0050482235 - 1315500 0.0061274232 0.0022738278 0.0052417985 - 1315600 0.0058109339 0.0020893828 0.004904054 - 1315700 0.0052543069 0.0021579749 0.0047030298 - 1315800 0.0057726217 0.0022469975 0.0050431111 - 1315900 0.0072054859 0.0030993114 0.0065894686 - 1316000 0.0043301879 0.0037581146 0.0058555493 - 1316100 0.0054082115 0.0033239738 0.0059435762 - 1316200 0.0045062938 0.0029033682 0.0050861042 - 1316300 0.0049168056 0.0030019247 0.0053835024 - 1316400 0.0051851836 0.0029407412 0.0054523145 - 1316500 0.005285561 0.0025437415 0.0051039351 - 1316600 0.0059203691 0.0023069911 0.0051746699 - 1316700 0.0052673328 0.0021521715 0.0047035358 - 1316800 0.0052258605 0.0017174975 0.0042487737 - 1316900 0.0059577412 0.0016150508 0.0045008317 - 1317000 0.0027082396 0.0017315117 0.0030433153 - 1317100 0.0042515004 0.0014016511 0.0034609716 - 1317200 0.0054153371 0.0016271594 0.0042502133 - 1317300 0.0054249153 0.0018136621 0.0044413554 - 1317400 0.0059212403 0.0023568706 0.0052249714 - 1317500 0.0052377124 0.0026620327 0.0051990496 - 1317600 0.0048178299 0.0027629361 0.0050965725 - 1317700 0.006659327 0.0023071912 0.0055328027 - 1317800 0.0047547638 0.0020389067 0.0043419954 - 1317900 0.0031705047 0.0020734899 0.0036092031 - 1318000 0.0052329294 0.0020842421 0.0046189423 - 1318100 0.0048743014 0.0019927003 0.00435369 - 1318200 0.0057364376 0.0024611329 0.0052397199 - 1318300 0.0054642239 0.0027212341 0.0053679676 - 1318400 0.0054065882 0.0029979774 0.0056167935 - 1318500 0.0058297772 0.0033003627 0.0061241611 - 1318600 0.0062027141 0.002913958 0.0059183977 - 1318700 0.0071287264 0.0028761232 0.0063291 - 1318800 0.0058002414 0.0034346216 0.0062441136 - 1318900 0.0067401316 0.0033586488 0.0066234001 - 1319000 0.0042134386 0.0025922133 0.0046330976 - 1319100 0.0048967079 0.0018087897 0.0041806325 - 1319200 0.0037246548 0.0020956462 0.0038997758 - 1319300 0.0045792605 0.002351358 0.0045694373 - 1319400 0.0040727466 0.0020148305 0.0039875671 - 1319500 0.0051870074 0.0020849562 0.0045974129 - 1319600 0.0046243118 0.0025719486 0.0048118496 - 1319700 0.0067238334 0.0026222059 0.0058790627 - 1319800 0.0049413188 0.0022117022 0.0046051535 - 1319900 0.0051431357 0.0019248779 0.0044160842 - 1320000 0.0040072146 0.0019473083 0.0038883029 - 1320100 0.0053366539 0.0016771373 0.0042620791 - 1320200 0.0037413567 0.0017120596 0.0035242792 - 1320300 0.0050318459 0.0017610079 0.0041983082 - 1320400 0.0064347074 0.0017029411 0.0048197525 - 1320500 0.0037608609 0.0019024995 0.0037241665 - 1320600 0.0039884612 0.0019570078 0.0038889187 - 1320700 0.0043248644 0.0021416397 0.0042364959 - 1320800 0.0048114321 0.0017844097 0.0041149471 - 1320900 0.0047395049 0.0017854068 0.0040811045 - 1321000 0.004818463 0.0017061329 0.0040400759 - 1321100 0.0046053516 0.0019672793 0.0041979965 - 1321200 0.0054628543 0.0023179918 0.0049640619 - 1321300 0.0055804938 0.0030855144 0.0057885661 - 1321400 0.0051888889 0.0025923166 0.0051056847 - 1321500 0.0058107464 0.0022320493 0.0050466296 - 1321600 0.005442017 0.0020282938 0.0046642708 - 1321700 0.005097286 0.0019144713 0.0043834692 - 1321800 0.0058237191 0.0021584466 0.0049793105 - 1321900 0.0032567102 0.0026366459 0.0042141149 - 1322000 0.0056461974 0.0020955612 0.0048304381 - 1322100 0.0047776123 0.0020441572 0.0043583131 - 1322200 0.0052094126 0.0021450647 0.0046683739 - 1322300 0.0049936822 0.0025233456 0.0049421604 - 1322400 0.0057426835 0.0027080528 0.0054896651 - 1322500 0.006591027 0.0029686884 0.0061612172 - 1322600 0.0053922485 0.0028461152 0.0054579856 - 1322700 0.004014444 0.0027285587 0.0046730551 - 1322800 0.0037287623 0.0022288103 0.0040349296 - 1322900 0.0058368854 0.0020861196 0.0049133609 - 1323000 0.005631828 0.0023106332 0.0050385499 - 1323100 0.0074959955 0.0024784357 0.0061093085 - 1323200 0.004761421 0.0031405469 0.0054468602 - 1323300 0.0046685592 0.002541018 0.0048023513 - 1323400 0.0045125752 0.002170558 0.0043563366 - 1323500 0.0065552779 0.0022174467 0.0053926595 - 1323600 0.0047468403 0.0021286126 0.0044278634 - 1323700 0.0041211634 0.0025648095 0.0045609981 - 1323800 0.004203325 0.0028280897 0.0048640752 - 1323900 0.0047060877 0.0025866559 0.0048661672 - 1324000 0.0059285379 0.002253259 0.0051248945 - 1324100 0.005210881 0.0022260071 0.0047500276 - 1324200 0.0052515764 0.0021981356 0.0047418679 - 1324300 0.0052896132 0.0022916874 0.0048538438 - 1324400 0.0064688124 0.0027878465 0.0059211775 - 1324500 0.0026505475 0.0031246163 0.0044084752 - 1324600 0.0045054783 0.002260094 0.004442435 - 1324700 0.0044549722 0.0019247253 0.0040826025 - 1324800 0.0044392253 0.0022468111 0.0043970608 - 1324900 0.0048567716 0.0020120918 0.0043645905 - 1325000 0.0039150215 0.001908425 0.0038047636 - 1325100 0.0051480328 0.0018407952 0.0043343735 - 1325200 0.0052965227 0.0023220547 0.0048875579 - 1325300 0.004839946 0.0025121856 0.0048565345 - 1325400 0.0050598996 0.0026038404 0.0050547292 - 1325500 0.0043991967 0.0026205252 0.0047513861 - 1325600 0.0052121009 0.002583058 0.0051076694 - 1325700 0.0043334556 0.00250869 0.0046077076 - 1325800 0.0054377906 0.0025171968 0.0051511267 - 1325900 0.0050828747 0.0024079516 0.004869969 - 1326000 0.0060158419 0.0024589928 0.0053729163 - 1326100 0.005108652 0.0025896645 0.0050641679 - 1326200 0.0048385569 0.0026779229 0.0050215989 - 1326300 0.0053661626 0.002694689 0.005293924 - 1326400 0.0056024574 0.0022262695 0.0049399598 - 1326500 0.0063696665 0.0017841321 0.0048694393 - 1326600 0.0049504127 0.002247982 0.0046458381 - 1326700 0.0053396156 0.0025312235 0.0051175998 - 1326800 0.0064460538 0.0025551822 0.0056774895 - 1326900 0.005575178 0.0024695788 0.0051700556 - 1327000 0.005792611 0.0025224 0.005328196 - 1327100 0.0050231144 0.002028517 0.004461588 - 1327200 0.0038390724 0.0019162142 0.0037757649 - 1327300 0.0066125092 0.0023244163 0.0055273504 - 1327400 0.0043979566 0.0023801189 0.0045103791 - 1327500 0.0049258376 0.0022380758 0.0046240284 - 1327600 0.0045764619 0.0023607248 0.0045774486 - 1327700 0.0046312579 0.0019454542 0.0041887198 - 1327800 0.004749834 0.001850953 0.0041516538 - 1327900 0.0039398369 0.0018377931 0.0037461516 - 1328000 0.005698629 0.0023089467 0.0050692201 - 1328100 0.0052348136 0.0030423454 0.0055779583 - 1328200 0.0038733702 0.0031075606 0.0049837244 - 1328300 0.0055541257 0.0020194938 0.0047097735 - 1328400 0.0077009393 0.0015945698 0.0053247123 - 1328500 0.0039341051 0.0018776257 0.0037832078 - 1328600 0.0055229825 0.0018082549 0.0044834496 - 1328700 0.0059255924 0.0020274142 0.004897623 - 1328800 0.0063194864 0.002351228 0.0054122292 - 1328900 0.005926943 0.0028326879 0.005703551 - 1329000 0.0047557474 0.0028179537 0.0051215189 - 1329100 0.0044025406 0.002690386 0.0048228666 - 1329200 0.0060342216 0.0022566001 0.0051794262 - 1329300 0.0044065282 0.0026216747 0.0047560869 - 1329400 0.0047402797 0.0029482665 0.0052443395 - 1329500 0.004955904 0.0028800418 0.0052805578 - 1329600 0.0044552897 0.0024246571 0.004582688 - 1329700 0.0049262623 0.0022184158 0.004604574 - 1329800 0.004086915 0.0026203236 0.0045999231 - 1329900 0.0046866147 0.0031113284 0.0053814074 - 1330000 0.0040654001 0.0036182808 0.0055874589 - 1330100 0.004890503 0.00357724 0.0059460774 - 1330200 0.0051097294 0.0034518272 0.0059268524 - 1330300 0.0051791624 0.003214085 0.0057227419 - 1330400 0.0052921084 0.002472314 0.005035679 - 1330500 0.0051216933 0.0025140706 0.0049948908 - 1330600 0.0060157468 0.0024999178 0.0054137951 - 1330700 0.0053619475 0.0026380866 0.0052352799 - 1330800 0.0043089933 0.0027779795 0.0048651482 - 1330900 0.0042864111 0.0025061353 0.0045823657 - 1331000 0.0070792342 0.0025596348 0.0059886389 - 1331100 0.0050996357 0.0030582167 0.0055283527 - 1331200 0.0052770725 0.0027794376 0.0053355196 - 1331300 0.0024921346 0.0027633882 0.0039705159 - 1331400 0.0064004071 0.0024991778 0.0055993751 - 1331500 0.0048630502 0.0026848612 0.0050404011 - 1331600 0.0036407985 0.0027657057 0.0045292174 - 1331700 0.0056092453 0.0023471102 0.0050640884 - 1331800 0.0048641732 0.0024050969 0.0047611808 - 1331900 0.0062211576 0.0022662797 0.0052796529 - 1332000 0.0041467738 0.0025093853 0.0045179789 - 1332100 0.0065359142 0.0025199892 0.0056858226 - 1332200 0.0067606906 0.0024374032 0.0057121127 - 1332300 0.007179957 0.0028086143 0.0062864059 - 1332400 0.0049355459 0.0030413103 0.0054319653 - 1332500 0.0058545048 0.0028953373 0.005731113 - 1332600 0.0059424933 0.0032645174 0.0061429126 - 1332700 0.0079205503 0.0031888658 0.0070253823 - 1332800 0.0054700599 0.0030109877 0.005660548 - 1332900 0.0056226942 0.0027441113 0.0054676038 - 1333000 0.0053878655 0.0024861014 0.0050958488 - 1333100 0.0064695694 0.0025872037 0.0057209013 - 1333200 0.0058545077 0.002664498 0.0055002751 - 1333300 0.0051804067 0.0024299727 0.0049392322 - 1333400 0.0048608866 0.0025692041 0.004923696 - 1333500 0.0055169407 0.002635253 0.0053075212 - 1333600 0.0053276787 0.002886663 0.0054672573 - 1333700 0.0050513054 0.003062686 0.0055094121 - 1333800 0.0057491541 0.0030830375 0.005867784 - 1333900 0.004953189 0.0032025191 0.0056017201 - 1334000 0.0075212857 0.0031199996 0.0067631223 - 1334100 0.0052017789 0.0034677585 0.0059873701 - 1334200 0.0066068493 0.0029946611 0.0061948537 - 1334300 0.0064183761 0.0028680064 0.0059769074 - 1334400 0.0057479591 0.0034995943 0.006283762 - 1334500 0.005645431 0.0031033473 0.0058378529 - 1334600 0.0060518268 0.0028373724 0.005768726 - 1334700 0.0055827212 0.0032525937 0.0059567243 - 1334800 0.0064489425 0.0028848012 0.0060085077 - 1334900 0.0069259693 0.0024674747 0.0058222411 - 1335000 0.0047497339 0.0027331228 0.0050337752 - 1335100 0.0055324993 0.0027694255 0.0054492298 - 1335200 0.0066443053 0.0028855109 0.0061038462 - 1335300 0.0063232756 0.0028422946 0.0059051312 - 1335400 0.0047341242 0.0030415409 0.0053346323 - 1335500 0.0046565289 0.0028753787 0.0051308849 - 1335600 0.0057063802 0.0027832706 0.0055472985 - 1335700 0.0057183575 0.0027520447 0.0055218741 - 1335800 0.0040579102 0.0027696629 0.0047352131 - 1335900 0.0046676478 0.0030169607 0.0052778526 - 1336000 0.0054602684 0.0031068954 0.0057517129 - 1336100 0.0047257578 0.0026696558 0.0049586947 - 1336200 0.0056836179 0.0021847634 0.0049377658 - 1336300 0.0044872473 0.0022876398 0.0044611502 - 1336400 0.0045956998 0.0022505909 0.004476633 - 1336500 0.004343332 0.0023114797 0.0044152812 - 1336600 0.0040223395 0.0027323792 0.0046806999 - 1336700 0.0050175562 0.0026538611 0.0050842399 - 1336800 0.0071359505 0.0023115884 0.0057680644 - 1336900 0.0054697847 0.0023857753 0.0050352022 - 1337000 0.0052059343 0.0023244825 0.0048461069 - 1337100 0.0046151663 0.0027228164 0.0049582875 - 1337200 0.0051296392 0.0025105029 0.0049951719 - 1337300 0.005493466 0.0023534632 0.0050143608 - 1337400 0.0043844226 0.0024919035 0.0046156082 - 1337500 0.0050151634 0.0025529682 0.004982188 - 1337600 0.0050214337 0.0024895878 0.0049218448 - 1337700 0.005946964 0.0026839035 0.0055644642 - 1337800 0.0048330031 0.0023337476 0.0046747335 - 1337900 0.0056610087 0.0021882782 0.0049303293 - 1338000 0.004828186 0.001949356 0.0042880086 - 1338100 0.0057962156 0.0019577912 0.0047653331 - 1338200 0.0071955783 0.0027163337 0.0062016919 - 1338300 0.0050787817 0.0032624701 0.005722505 - 1338400 0.0059102978 0.0028584672 0.0057212677 - 1338500 0.005357822 0.002423348 0.0050185431 - 1338600 0.005368441 0.0024682839 0.0050686225 - 1338700 0.0060928429 0.0021858409 0.0051370617 - 1338800 0.0059222715 0.002316441 0.0051850413 - 1338900 0.0030355888 0.0028862474 0.0043566107 - 1339000 0.0044750749 0.0032254019 0.0053930163 - 1339100 0.0039922876 0.0034044822 0.0053382465 - 1339200 0.0046037156 0.0029628566 0.0051927813 - 1339300 0.0063309024 0.0025823213 0.0056488522 - 1339400 0.004707632 0.0025048604 0.0047851196 - 1339500 0.0039684438 0.0026220879 0.0045443028 - 1339600 0.0062145458 0.0025471003 0.0055572709 - 1339700 0.0044953083 0.002795338 0.004972753 - 1339800 0.0049553282 0.0031230237 0.0055232608 - 1339900 0.0050050968 0.0027865074 0.0052108512 - 1340000 0.0060725343 0.002489127 0.0054305108 - 1340100 0.0057177086 0.0027509032 0.0055204183 - 1340200 0.0055090148 0.0026450089 0.005313438 - 1340300 0.0059892118 0.0027873977 0.0056884222 - 1340400 0.0054785295 0.0033318122 0.005985475 - 1340500 0.0063070233 0.0028040279 0.0058589923 - 1340600 0.0062522964 0.0019767882 0.0050052443 - 1340700 0.0055425587 0.0020186921 0.004703369 - 1340800 0.004203107 0.0024559656 0.0044918455 - 1340900 0.0058441873 0.0024261645 0.0052569428 - 1341000 0.0054353491 0.0024233247 0.0050560719 - 1341100 0.0039016934 0.0028237193 0.0047136021 - 1341200 0.0046369946 0.002670428 0.0049164723 - 1341300 0.0052461022 0.002601759 0.0051428397 - 1341400 0.003820381 0.0025381772 0.0043886743 - 1341500 0.0052639846 0.0026078263 0.0051575688 - 1341600 0.0052159257 0.0027023633 0.0052288273 - 1341700 0.0057879786 0.0029707248 0.005774277 - 1341800 0.0035912433 0.0032974045 0.0050369129 - 1341900 0.0055773024 0.0034433537 0.0061448595 - 1342000 0.0042126249 0.003103768 0.0051442582 - 1342100 0.0045756004 0.0025792256 0.004795532 - 1342200 0.0046505721 0.0021279333 0.0043805542 - 1342300 0.0042507532 0.0021191744 0.0041781329 - 1342400 0.0035172017 0.0023162806 0.0040199252 - 1342500 0.0054751646 0.0020337777 0.0046858106 - 1342600 0.0061373962 0.0021206109 0.0050934122 - 1342700 0.0056135338 0.0027345275 0.0054535829 - 1342800 0.0044202432 0.0030683963 0.0052094517 - 1342900 0.0061070019 0.0027938605 0.0057519396 - 1343000 0.0038967519 0.0025158125 0.0044033017 - 1343100 0.0036467716 0.0022138358 0.0039802408 - 1343200 0.0040012868 0.0021319806 0.0040701039 - 1343300 0.0047435129 0.0023037236 0.0046013626 - 1343400 0.0066623237 0.002612731 0.0058397941 - 1343500 0.005762419 0.0027233081 0.0055144798 - 1343600 0.0040528207 0.0029435992 0.0049066843 - 1343700 0.0050141261 0.0028823047 0.005311022 - 1343800 0.004302369 0.0027238141 0.0048077741 - 1343900 0.0040648698 0.0019444421 0.0039133634 - 1344000 0.0062825029 0.0017156357 0.0047587231 - 1344100 0.0034203785 0.0025170079 0.0041737537 - 1344200 0.004594304 0.0029623151 0.0051876811 - 1344300 0.0052824884 0.0025441422 0.0051028476 - 1344400 0.0059163231 0.0024040155 0.0052697345 - 1344500 0.0055281176 0.0022810479 0.0049587299 - 1344600 0.0052198572 0.0025390414 0.0050674098 - 1344700 0.0054303505 0.0028194962 0.0054498223 - 1344800 0.0064331566 0.002566021 0.0056820812 - 1344900 0.005086968 0.0030821238 0.005546124 - 1345000 0.0058588845 0.0025819266 0.0054198238 - 1345100 0.0066036491 0.0023954182 0.0055940608 - 1345200 0.0049715264 0.0025480421 0.0049561252 - 1345300 0.0052151503 0.0020204305 0.0045465189 - 1345400 0.0047384509 0.0020915321 0.0043867192 - 1345500 0.0037608655 0.0024855435 0.0043072127 - 1345600 0.0054009616 0.0023869493 0.0050030401 - 1345700 0.0051532436 0.0023226272 0.0048187296 - 1345800 0.0067548301 0.0024843739 0.0057562447 - 1345900 0.0059468508 0.002505412 0.0053859179 - 1346000 0.0057084776 0.0028895471 0.0056545909 - 1346100 0.0049169792 0.0031177891 0.0054994509 - 1346200 0.0051719767 0.0029768303 0.0054820066 - 1346300 0.0067626045 0.0026226331 0.0058982696 - 1346400 0.0061938138 0.0022071818 0.0052073104 - 1346500 0.0043198512 0.0018583285 0.0039507564 - 1346600 0.0042930692 0.0021971975 0.0042766529 - 1346700 0.005941673 0.0026347565 0.0055127544 - 1346800 0.0062942479 0.0025972502 0.0056460265 - 1346900 0.0054406417 0.0030377957 0.0056731066 - 1347000 0.00473916 0.0028704452 0.0051659759 - 1347100 0.0048892198 0.0027417479 0.0051099637 - 1347200 0.0046349656 0.0028122905 0.005057352 - 1347300 0.0054065847 0.0025843853 0.0052031998 - 1347400 0.0048138068 0.0025627826 0.0048944703 - 1347500 0.0042559616 0.002518535 0.0045800164 - 1347600 0.0056121957 0.0020170945 0.0047355017 - 1347700 0.0047983542 0.0018921731 0.0042163759 - 1347800 0.0058324541 0.0021274267 0.0049525216 - 1347900 0.0058449287 0.0024929027 0.00532404 - 1348000 0.0069319448 0.0025922189 0.0059498796 - 1348100 0.0085146926 0.0029122681 0.0070365723 - 1348200 0.0049597956 0.0040961873 0.0064985883 - 1348300 0.0054691838 0.0046358932 0.0072850291 - 1348400 0.0063458972 0.0040713712 0.0071451651 - 1348500 0.0060540321 0.0031556825 0.0060881043 - 1348600 0.0064569969 0.0031562988 0.0062839067 - 1348700 0.0059287675 0.0033549645 0.0062267113 - 1348800 0.0053492573 0.002810193 0.0054012395 - 1348900 0.0058673638 0.0028741046 0.0057161089 - 1349000 0.0044919468 0.0029234044 0.0050991912 - 1349100 0.0064593562 0.0026685232 0.0057972739 - 1349200 0.0056065482 0.002425348 0.0051410198 - 1349300 0.0050298767 0.002658849 0.0050951955 - 1349400 0.004063572 0.0028301826 0.0047984752 - 1349500 0.0052567472 0.0025813215 0.0051275584 - 1349600 0.004302198 0.0025724225 0.0046562997 - 1349700 0.0042333182 0.0022195691 0.0042700826 - 1349800 0.0041577814 0.0025716983 0.0045856237 - 1349900 0.0050808381 0.0026537707 0.0051148016 - 1350000 0.0055004512 0.0028487224 0.0055130034 - 1350100 0.0046024133 0.0030881938 0.0053174877 - 1350200 0.006500949 0.0032338259 0.0063827231 - 1350300 0.0057963475 0.0032112697 0.0060188755 - 1350400 0.005206231 0.0034883551 0.0060101232 - 1350500 0.0051491304 0.0031372888 0.0056313989 - 1350600 0.003245251 0.0031502395 0.0047221579 - 1350700 0.0038762679 0.0026880711 0.0045656383 - 1350800 0.0048149501 0.0026705819 0.0050028234 - 1350900 0.0037687107 0.0024680973 0.0042935665 - 1351000 0.0054188793 0.0022462469 0.0048710166 - 1351100 0.0045548355 0.0024547092 0.0046609577 - 1351200 0.0045619231 0.0027949448 0.0050046263 - 1351300 0.004268475 0.0033785019 0.0054460445 - 1351400 0.0058519171 0.0027892332 0.0056237555 - 1351500 0.0043928844 0.002806925 0.0049347284 - 1351600 0.0054783765 0.0031406067 0.0057941953 - 1351700 0.0059201418 0.0029828067 0.0058503754 - 1351800 0.0052181403 0.0027695262 0.0052970629 - 1351900 0.0064030255 0.0025447926 0.005646258 - 1352000 0.0036232797 0.0027476266 0.0045026527 - 1352100 0.0035783924 0.0029204238 0.0046537076 - 1352200 0.0048202235 0.0031386566 0.0054734524 - 1352300 0.0056540311 0.0030615851 0.0058002565 - 1352400 0.0054242731 0.0025120673 0.0051394495 - 1352500 0.0044640134 0.0024065305 0.004568787 - 1352600 0.0051711594 0.0023284044 0.0048331848 - 1352700 0.0041618513 0.0024553396 0.0044712364 - 1352800 0.0058610425 0.0022204371 0.0050593795 - 1352900 0.0047416633 0.0019982752 0.0042950184 - 1353000 0.0047039663 0.002175734 0.0044542177 - 1353100 0.0060814531 0.002179217 0.0051249209 - 1353200 0.0056035372 0.0023906938 0.0051049071 - 1353300 0.0055858175 0.0025442868 0.0052499171 - 1353400 0.0054720737 0.0021577309 0.0048082666 - 1353500 0.0036804807 0.0019666826 0.0037494154 - 1353600 0.0044853953 0.0016990156 0.0038716289 - 1353700 0.0037357607 0.001917073 0.0037265821 - 1353800 0.0038589449 0.0025510147 0.0044201911 - 1353900 0.0047045557 0.0032191703 0.0054979395 - 1354000 0.0036138644 0.003099647 0.0048501126 - 1354100 0.0058925677 0.0034009611 0.0062551736 - 1354200 0.0054869521 0.0031106737 0.0057684161 - 1354300 0.0041949782 0.0026826122 0.0047145548 - 1354400 0.0053275805 0.002880469 0.0054610158 - 1354500 0.0059880463 0.0024160364 0.0053164963 - 1354600 0.0050710523 0.0019712689 0.0044275598 - 1354700 0.0042329579 0.0020696871 0.004120026 - 1354800 0.0039366533 0.0021220929 0.0040289094 - 1354900 0.0057084466 0.0017811669 0.0045461958 - 1355000 0.0052864405 0.0018062435 0.0043668631 - 1355100 0.0039166873 0.0019901138 0.0038872592 - 1355200 0.0053211406 0.0020403972 0.0046178247 - 1355300 0.0042864208 0.0021292702 0.0042055052 - 1355400 0.0042476693 0.0025937939 0.0046512588 - 1355500 0.0067592026 0.0026632413 0.0059372301 - 1355600 0.0049658059 0.0028230599 0.0052283721 - 1355700 0.0061500647 0.0025272872 0.0055062248 - 1355800 0.0046247666 0.0024033583 0.0046434797 - 1355900 0.005434074 0.0019197455 0.0045518752 - 1356000 0.0046307429 0.0017468709 0.0039898869 - 1356100 0.0051161917 0.0023400029 0.0048181582 - 1356200 0.004735664 0.0025238473 0.0048176846 - 1356300 0.0050908777 0.0029303291 0.005396223 - 1356400 0.0046612974 0.0030952604 0.0053530763 - 1356500 0.0046247479 0.0028427599 0.0050828722 - 1356600 0.006215008 0.0032329556 0.0062433501 - 1356700 0.0056228001 0.0035730287 0.0062965724 - 1356800 0.0043768388 0.003476292 0.0055963233 - 1356900 0.0049159284 0.0029816134 0.0053627663 - 1357000 0.0050511445 0.002881153 0.0053278011 - 1357100 0.004499096 0.0027689514 0.0049482011 - 1357200 0.0048679127 0.0027100694 0.0050679645 - 1357300 0.0070780818 0.0029473796 0.0063758255 - 1357400 0.0049875412 0.0028466584 0.0052624987 - 1357500 0.0052353142 0.0025437583 0.0050796137 - 1357600 0.006263088 0.002106929 0.0051406122 - 1357700 0.0063854761 0.0019630221 0.0050559871 - 1357800 0.0061471645 0.0024307922 0.005408325 - 1357900 0.0054708707 0.0025268774 0.0051768304 - 1358000 0.0051831173 0.0025627029 0.0050732754 - 1358100 0.0054118122 0.0023076687 0.0049290152 - 1358200 0.003917521 0.0023449971 0.0042425463 - 1358300 0.0039895988 0.0024311235 0.0043635854 - 1358400 0.0042220238 0.0023980522 0.004443095 - 1358500 0.0048114151 0.0024682622 0.0047987914 - 1358600 0.006079977 0.0025013913 0.0054463801 - 1358700 0.0047708041 0.0025361267 0.004846985 - 1358800 0.0042808813 0.0029690915 0.0050426434 - 1358900 0.0048806249 0.002871493 0.0052355457 - 1359000 0.0034419372 0.0028216681 0.0044888564 - 1359100 0.0050356609 0.0027743121 0.0052134604 - 1359200 0.0041109754 0.0025866239 0.0045778776 - 1359300 0.0062250068 0.0023004068 0.0053156444 - 1359400 0.0044697527 0.0022874234 0.0044524599 - 1359500 0.0045273805 0.0025195553 0.0047125052 - 1359600 0.0049832086 0.0026248059 0.0050385475 - 1359700 0.0065888436 0.0029961584 0.0061876295 - 1359800 0.0061949196 0.0027798554 0.0057805196 - 1359900 0.0054490025 0.003040614 0.0056799746 - 1360000 0.0051436414 0.003034625 0.0055260762 - 1360100 0.0058959129 0.0030329482 0.005888781 - 1360200 0.003755807 0.0030324996 0.0048517187 - 1360300 0.0050554567 0.0027416869 0.0051904238 - 1360400 0.0054656887 0.0027305349 0.0053779779 - 1360500 0.0061544239 0.0025929524 0.0055740014 - 1360600 0.0043975007 0.002753423 0.0048834624 - 1360700 0.0046076948 0.0029400305 0.0051718827 - 1360800 0.0058549922 0.0031682868 0.0060042987 - 1360900 0.0063120918 0.0031630454 0.0062204649 - 1361000 0.0041394299 0.0029177574 0.0049227937 - 1361100 0.0049771717 0.0023099236 0.0047207411 - 1361200 0.0048001715 0.0019696625 0.0042947456 - 1361300 0.005633868 0.0026181623 0.0053470672 - 1361400 0.0058700094 0.0031273078 0.0059705936 - 1361500 0.0057154065 0.0030175801 0.0057859801 - 1361600 0.0055716565 0.0025644445 0.0052632156 - 1361700 0.0045820065 0.0023422844 0.0045616938 - 1361800 0.0058893624 0.0026253089 0.0054779689 - 1361900 0.0052352042 0.0025820178 0.0051178199 - 1362000 0.00535648 0.0022529551 0.0048475001 - 1362100 0.0054611373 0.0021606231 0.0048058615 - 1362200 0.0051765571 0.0027224202 0.005229815 - 1362300 0.0052124036 0.0028813758 0.0054061338 - 1362400 0.0066742305 0.0027390738 0.0059719042 - 1362500 0.0041492709 0.0027843057 0.0047941088 - 1362600 0.0039229779 0.0029373315 0.0048375239 - 1362700 0.0065180699 0.0027995264 0.0059567165 - 1362800 0.0055971499 0.002448642 0.0051597615 - 1362900 0.0053430804 0.0026932171 0.0052812716 - 1363000 0.0040794388 0.0027994011 0.0047753793 - 1363100 0.0053713556 0.0026742253 0.0052759756 - 1363200 0.0066494568 0.0027621627 0.0059829934 - 1363300 0.0040938115 0.0029803535 0.0049632935 - 1363400 0.0043685008 0.0029811075 0.0050971 - 1363500 0.0065712395 0.0030804851 0.0062634292 - 1363600 0.0058222989 0.0029560679 0.0057762439 - 1363700 0.0049408826 0.0027258453 0.0051190853 - 1363800 0.00538456 0.0026194879 0.0052276342 - 1363900 0.005336458 0.0028322565 0.0054171033 - 1364000 0.0046217701 0.0027996862 0.0050383561 - 1364100 0.0055335672 0.0026258715 0.0053061931 - 1364200 0.0051948079 0.0026322935 0.0051485286 - 1364300 0.0047401247 0.0026237186 0.0049197164 - 1364400 0.00590418 0.0026039228 0.00546376 - 1364500 0.0060922464 0.0024697735 0.0054207054 - 1364600 0.005326947 0.0023452554 0.0049254953 - 1364700 0.0029242057 0.0023019521 0.0037183642 - 1364800 0.0047951803 0.0020983044 0.0044209699 - 1364900 0.0042085574 0.0019951793 0.0040336993 - 1365000 0.0039467274 0.0019753817 0.0038870778 - 1365100 0.0047110666 0.0021385113 0.0044204342 - 1365200 0.0045190353 0.002218225 0.0044071327 - 1365300 0.0048530447 0.0020277145 0.004378408 - 1365400 0.0039376314 0.0019180144 0.0038253046 - 1365500 0.0030669611 0.0024606562 0.0039462155 - 1365600 0.0046539891 0.0025744452 0.0048287212 - 1365700 0.0050144205 0.002722342 0.0051512019 - 1365800 0.0053347697 0.0029497731 0.0055338021 - 1365900 0.0057187752 0.0033939982 0.00616403 - 1366000 0.0059497245 0.0028647186 0.0057466164 - 1366100 0.0051743816 0.0023292003 0.0048355414 - 1366200 0.0038743472 0.002838269 0.0047149059 - 1366300 0.0057422494 0.0024073443 0.0051887464 - 1366400 0.0045363151 0.0018981073 0.0040953849 - 1366500 0.0044346556 0.0019122919 0.0040603282 - 1366600 0.0049968574 0.0022090527 0.0046294055 - 1366700 0.0049974427 0.0022878477 0.004708484 - 1366800 0.0047987409 0.0022536962 0.0045780864 - 1366900 0.0056571679 0.0022332546 0.0049734453 - 1367000 0.004813609 0.0023159375 0.0046475294 - 1367100 0.0045268032 0.002507884 0.0047005543 - 1367200 0.0046869487 0.0026352366 0.0049054774 - 1367300 0.0060009189 0.0029588109 0.005865506 - 1367400 0.0037493738 0.0033762508 0.0051923538 - 1367500 0.0052761747 0.003281422 0.0058370691 - 1367600 0.0049055816 0.0030134658 0.0053896069 - 1367700 0.0057906975 0.0027439794 0.0055488485 - 1367800 0.0069104413 0.0022292695 0.0055765145 - 1367900 0.0063612306 0.0024244227 0.0055056438 - 1368000 0.0043658731 0.0024118666 0.0045265864 - 1368100 0.0072791775 0.0022974128 0.0058232644 - 1368200 0.0041908572 0.002317056 0.0043470024 - 1368300 0.00412716 0.0020481947 0.0040472879 - 1368400 0.0045072189 0.0018808685 0.0040640526 - 1368500 0.0049205156 0.0022729942 0.004656369 - 1368600 0.0064693109 0.0027221516 0.005855724 - 1368700 0.0062935419 0.0031170673 0.0061655016 - 1368800 0.0058339329 0.0031220135 0.0059478248 - 1368900 0.0062942579 0.0026180729 0.0056668541 - 1369000 0.0055486392 0.0025116192 0.0051992413 - 1369100 0.0058866258 0.0027319249 0.0055832593 - 1369200 0.0059528058 0.0025611777 0.005444568 - 1369300 0.0050737254 0.0028624168 0.0053200026 - 1369400 0.0048677797 0.0023932451 0.0047510759 - 1369500 0.0048389258 0.0022404084 0.0045842631 - 1369600 0.0051830138 0.002162883 0.0046734053 - 1369700 0.0070505919 0.0023977616 0.005812892 - 1369800 0.0061463209 0.0024345094 0.0054116336 - 1369900 0.0039799177 0.0025226641 0.0044504367 - 1370000 0.0039353668 0.002370141 0.0042763343 - 1370100 0.0054050674 0.0017940268 0.0044121063 - 1370200 0.0058469952 0.0018744267 0.004706565 - 1370300 0.0057263803 0.0017279136 0.004501629 - 1370400 0.0038617263 0.0016740925 0.0035446162 - 1370500 0.004625051 0.0019493658 0.0041896249 - 1370600 0.0066885713 0.0022880522 0.0055278289 - 1370700 0.0061286047 0.0024799712 0.0054485141 - 1370800 0.0044150722 0.0022565582 0.0043951088 - 1370900 0.004293598 0.0023248681 0.0044045797 - 1371000 0.0053076591 0.0018587271 0.0044296245 - 1371100 0.0041441972 0.0020248754 0.0040322209 - 1371200 0.0045236599 0.002190417 0.0043815648 - 1371300 0.0044226598 0.0018311919 0.0039734177 - 1371400 0.0045584247 0.0018516032 0.0040595902 - 1371500 0.0056333867 0.0018929048 0.0046215765 - 1371600 0.0036725302 0.0021316879 0.0039105697 - 1371700 0.0044208894 0.0021971199 0.0043384883 - 1371800 0.0048357572 0.002130924 0.0044732439 - 1371900 0.0041106848 0.0021726409 0.0041637539 - 1372000 0.0055413978 0.0025574785 0.0052415931 - 1372100 0.0039063966 0.0028759261 0.0047680869 - 1372200 0.0055168631 0.0024869336 0.0051591642 - 1372300 0.0051155846 0.0026580564 0.0051359176 - 1372400 0.0052627113 0.0025738307 0.0051229564 - 1372500 0.007126888 0.0024828964 0.0059349828 - 1372600 0.0054603903 0.0027914426 0.0054363192 - 1372700 0.0062409204 0.0028274246 0.0058503704 - 1372800 0.0050738977 0.0028085322 0.0052662014 - 1372900 0.0055962146 0.0025643645 0.0052750309 - 1373000 0.0031905655 0.0025605965 0.0041060267 - 1373100 0.0054562366 0.0022826202 0.0049254848 - 1373200 0.0043526961 0.001899089 0.0040074261 - 1373300 0.0053944678 0.0018068009 0.0044197462 - 1373400 0.0064690351 0.0021681425 0.0053015813 - 1373500 0.0042162903 0.0024970963 0.0045393619 - 1373600 0.0048110271 0.0028586544 0.0051889957 - 1373700 0.005213855 0.0028899424 0.0054154034 - 1373800 0.0046653269 0.0030690699 0.0053288376 - 1373900 0.0044778933 0.0026719358 0.0048409154 - 1374000 0.0048993095 0.0023940511 0.0047671542 - 1374100 0.0046707744 0.0021940172 0.0044564236 - 1374200 0.0060907522 0.0020064602 0.0049566683 - 1374300 0.0046118768 0.0019759873 0.0042098651 - 1374400 0.003656688 0.0022542325 0.0040254407 - 1374500 0.0054364933 0.0020901911 0.0047234925 - 1374600 0.0044537331 0.0018702351 0.0040275121 - 1374700 0.0052974158 0.0019365131 0.0045024489 - 1374800 0.0039011149 0.0018064856 0.0036960881 - 1374900 0.005664869 0.0015264967 0.0042704177 - 1375000 0.0045063355 0.0016820948 0.0038648511 - 1375100 0.0046614776 0.0023163881 0.0045742913 - 1375200 0.0060504456 0.0026673506 0.0055980351 - 1375300 0.0044105975 0.002136047 0.0042724302 - 1375400 0.0057459852 0.0019286425 0.0047118541 - 1375500 0.006401563 0.0023856755 0.0054864326 - 1375600 0.004204011 0.0031175279 0.0051538458 - 1375700 0.0060431072 0.0031470563 0.0060741864 - 1375800 0.0047209898 0.0027311732 0.0050179026 - 1375900 0.0059682293 0.0023445841 0.0052354451 - 1376000 0.0040790606 0.0022409659 0.0042167609 - 1376100 0.0038949239 0.001810078 0.0036966817 - 1376200 0.0052418713 0.0015656032 0.0041046346 - 1376300 0.00525566 0.0016484827 0.004194193 - 1376400 0.0054201906 0.0023585174 0.0049839222 - 1376500 0.0057463124 0.002842205 0.005625575 - 1376600 0.0056603804 0.0022497659 0.0049915126 - 1376700 0.0057055928 0.0021518314 0.0049154779 - 1376800 0.0055877194 0.0025006416 0.0052071932 - 1376900 0.0064259334 0.0021155572 0.0052281187 - 1377000 0.0063069539 0.0017971424 0.0048520731 - 1377100 0.0061854637 0.0017772077 0.0047732917 - 1377200 0.0044451808 0.0019666261 0.0041197605 - 1377300 0.0066203962 0.0020580973 0.0052648517 - 1377400 0.0040240252 0.0022636583 0.0042127955 - 1377500 0.0053248723 0.0022936697 0.0048729048 - 1377600 0.0040870547 0.0018493746 0.0038290418 - 1377700 0.0037284775 0.0019617656 0.0037677469 - 1377800 0.0043641432 0.0019992972 0.0041131791 - 1377900 0.0052119327 0.0019853086 0.0045098386 - 1378000 0.0051793298 0.0019888203 0.0044975582 - 1378100 0.0066711164 0.0021672742 0.0053985962 - 1378200 0.0046361394 0.0023629256 0.0046085556 - 1378300 0.0038142736 0.0027886984 0.0046362372 - 1378400 0.0050109253 0.0023658676 0.0047930345 - 1378500 0.0060437615 0.0017465649 0.0046740118 - 1378600 0.0054801184 0.0018138946 0.004468327 - 1378700 0.0048424133 0.0022991672 0.0046447112 - 1378800 0.0047006756 0.0022948113 0.0045717011 - 1378900 0.0043072916 0.0021674104 0.0042537548 - 1379000 0.005928501 0.0018492159 0.0047208336 - 1379100 0.006134436 0.0021295359 0.0051009033 - 1379200 0.0044402166 0.0023025729 0.0044533028 - 1379300 0.0044614511 0.0023310684 0.0044920838 - 1379400 0.0053886971 0.0022665625 0.0048767126 - 1379500 0.0051790111 0.002039778 0.0045483615 - 1379600 0.0052488182 0.001769963 0.0043123593 - 1379700 0.0046417268 0.0020398661 0.0042882026 - 1379800 0.005411015 0.002548004 0.0051689644 - 1379900 0.0040558686 0.0029753316 0.0049398929 - 1380000 0.0069404391 0.0026164112 0.0059781864 - 1380100 0.0059403951 0.0019113699 0.0047887488 - 1380200 0.0045451221 0.0018107683 0.0040123119 - 1380300 0.0038609308 0.0020865075 0.0039566458 - 1380400 0.0047732313 0.0017854574 0.0040974913 - 1380500 0.0054586951 0.0016731841 0.0043172395 - 1380600 0.0049798434 0.0019549043 0.0043670159 - 1380700 0.0041975017 0.0026008657 0.0046340306 - 1380800 0.0040253706 0.0026606084 0.0046103973 - 1380900 0.0045817728 0.0024009266 0.0046202228 - 1381000 0.0045047504 0.002535392 0.0047173805 - 1381100 0.0067763681 0.0025541275 0.0058364308 - 1381200 0.0052645648 0.0022331116 0.0047831352 - 1381300 0.005779599 0.001766959 0.0045664523 - 1381400 0.0062293429 0.0023325835 0.0053499214 - 1381500 0.0051682384 0.0027365281 0.0052398936 - 1381600 0.0060447248 0.002918324 0.0058462375 - 1381700 0.005242083 0.0031120618 0.0056511958 - 1381800 0.0047690575 0.0030393441 0.0053493563 - 1381900 0.0056563507 0.0023141276 0.0050539225 - 1382000 0.0058673695 0.0021538198 0.0049958269 - 1382100 0.0046723383 0.0024766822 0.0047398461 - 1382200 0.0050953626 0.0025356785 0.0050037448 - 1382300 0.0056762742 0.0024138735 0.0051633188 - 1382400 0.0048324988 0.0023093299 0.0046500715 - 1382500 0.0042324975 0.0022498939 0.0043000099 - 1382600 0.0058795802 0.0023550857 0.0052030073 - 1382700 0.005153358 0.0027273361 0.0052234939 - 1382800 0.0051683541 0.0027905311 0.0052939526 - 1382900 0.0053388664 0.0022418258 0.0048278392 - 1383000 0.0052822444 0.0019532777 0.0045118648 - 1383100 0.0052969755 0.0022287686 0.0047944911 - 1383200 0.0048906216 0.0020434792 0.0044123741 - 1383300 0.0043440422 0.0019259714 0.0040301169 - 1383400 0.0048495426 0.0018718843 0.0042208815 - 1383500 0.0045081114 0.0024159287 0.0045995452 - 1383600 0.0066508065 0.0021617314 0.0053832158 - 1383700 0.0047646431 0.0020357538 0.0043436278 - 1383800 0.0060329763 0.0022115346 0.0051337575 - 1383900 0.0043489689 0.0026317117 0.0047382435 - 1384000 0.0048198098 0.0030449367 0.0053795321 - 1384100 0.0046463705 0.0029123528 0.0051629386 - 1384200 0.0044240319 0.0028515181 0.0049944086 - 1384300 0.003766173 0.002773788 0.0045980281 - 1384400 0.0055637926 0.0023142296 0.0050091917 - 1384500 0.0048990127 0.0021444985 0.0045174577 - 1384600 0.0042814231 0.0021430882 0.0042169025 - 1384700 0.0055967712 0.0021088724 0.0048198085 - 1384800 0.0056540954 0.0024450226 0.0051837251 - 1384900 0.0053451899 0.0027210632 0.0053101396 - 1385000 0.0056950573 0.0029384698 0.0056970132 - 1385100 0.0037892145 0.0034060227 0.0052414235 - 1385200 0.0057744213 0.0033212083 0.0061181936 - 1385300 0.0034791776 0.0033340949 0.0050193215 - 1385400 0.0052484126 0.0033978604 0.0059400603 - 1385500 0.0053592442 0.0037671616 0.0063630455 - 1385600 0.0044920711 0.0040932284 0.0062690753 - 1385700 0.0032120601 0.0037969714 0.005352813 - 1385800 0.0055922957 0.0034972972 0.0062060654 - 1385900 0.0046160757 0.0035657394 0.0058016511 - 1386000 0.0052495422 0.0032761289 0.0058188759 - 1386100 0.0051213375 0.0031221506 0.0056027984 - 1386200 0.0052136359 0.0030211372 0.0055464921 - 1386300 0.0043477625 0.0029191726 0.0050251201 - 1386400 0.0061538462 0.0028948633 0.0058756326 - 1386500 0.0039634133 0.0030752942 0.0049950726 - 1386600 0.005286128 0.0031926639 0.0057531321 - 1386700 0.0061644125 0.0025783842 0.0055642715 - 1386800 0.0047864192 0.002765282 0.0050837038 - 1386900 0.0050986912 0.0032404021 0.0057100806 - 1387000 0.0058863695 0.0037306016 0.0065818118 - 1387100 0.0055216926 0.0034448063 0.0061193761 - 1387200 0.0042461973 0.0031076441 0.005164396 - 1387300 0.0052071454 0.0027499919 0.005272203 - 1387400 0.0056311347 0.0030177641 0.005745345 - 1387500 0.0070175758 0.0028751327 0.006274271 - 1387600 0.0042335698 0.0028570489 0.0049076843 - 1387700 0.0041601764 0.0030541457 0.0050692311 - 1387800 0.0048741506 0.0027582611 0.0051191778 - 1387900 0.0058136133 0.0023188206 0.0051347896 - 1388000 0.004043825 0.0025644687 0.0045231964 - 1388100 0.0045802911 0.002534434 0.0047530125 - 1388200 0.004075494 0.0024801553 0.0044542226 - 1388300 0.0044252179 0.0022462107 0.0043896757 - 1388400 0.0042473856 0.0022749915 0.0043323189 - 1388500 0.0035886419 0.0022836438 0.0040218922 - 1388600 0.0052031072 0.0022241099 0.004744365 - 1388700 0.0043883707 0.0024692353 0.0045948523 - 1388800 0.0064316377 0.0021300197 0.0052453442 - 1388900 0.0056939205 0.0021748889 0.0049328816 - 1389000 0.0046850629 0.0025342245 0.0048035519 - 1389100 0.0050362047 0.0027527431 0.0051921548 - 1389200 0.0072314221 0.0031964471 0.0066991672 - 1389300 0.0055840011 0.0028337412 0.0055384918 - 1389400 0.005725758 0.0025736385 0.0053470525 - 1389500 0.004444506 0.0026647175 0.0048175251 - 1389600 0.0041636336 0.0026446031 0.0046613632 - 1389700 0.0052688478 0.0022784582 0.0048305563 - 1389800 0.0047083849 0.0023686258 0.0046492497 - 1389900 0.0057010312 0.0025340889 0.0052955259 - 1390000 0.0062932929 0.0029386129 0.0059869266 - 1390100 0.0059704325 0.002694354 0.0055862823 - 1390200 0.0039371246 0.0028791439 0.0047861886 - 1390300 0.0060348461 0.002576335 0.0054994636 - 1390400 0.0050221954 0.0022800283 0.0047126542 - 1390500 0.0052916619 0.0020109226 0.0045740713 - 1390600 0.0052778355 0.0025003453 0.0050567968 - 1390700 0.0062761055 0.0025602772 0.0056002658 - 1390800 0.0044774625 0.0024840417 0.0046528126 - 1390900 0.0059681329 0.0025905334 0.0054813478 - 1391000 0.0059800037 0.0029492858 0.0058458501 - 1391100 0.0043150528 0.0029742313 0.005064335 - 1391200 0.0040455381 0.0027768148 0.0047363723 - 1391300 0.0060104581 0.0021620684 0.0050733841 - 1391400 0.0050371964 0.0020682822 0.0045081742 - 1391500 0.0049574149 0.0023958543 0.0047971022 - 1391600 0.0060203672 0.0022753669 0.0051914823 - 1391700 0.0057996139 0.002033661 0.0048428489 - 1391800 0.0058372652 0.001919913 0.0047473384 - 1391900 0.004388007 0.0019562949 0.0040817358 - 1392000 0.0051597346 0.0017588239 0.0042580704 - 1392100 0.0046972299 0.001928926 0.0042041467 - 1392200 0.0051121948 0.0020543798 0.0045305991 - 1392300 0.0040083942 0.0021073865 0.0040489525 - 1392400 0.0060192347 0.0018140833 0.0047296501 - 1392500 0.0036398537 0.0020026072 0.0037656613 - 1392600 0.0050666649 0.0021834705 0.0046376363 - 1392700 0.0061329021 0.0024163221 0.0053869466 - 1392800 0.0044616929 0.0024171167 0.0045782492 - 1392900 0.0047491817 0.0021609852 0.0044613701 - 1393000 0.0060749107 0.0022228128 0.0051653477 - 1393100 0.0043212265 0.0027987798 0.0048918739 - 1393200 0.0039441989 0.002785934 0.0046964054 - 1393300 0.0046901102 0.0022819304 0.0045537026 - 1393400 0.0046306425 0.0019967482 0.0042397157 - 1393500 0.0064199787 0.0021827396 0.0052924168 - 1393600 0.0059689912 0.0023099044 0.0052011345 - 1393700 0.0053361758 0.0018288219 0.0044135321 - 1393800 0.0056514212 0.0021978611 0.0049352682 - 1393900 0.0038096992 0.0030511112 0.0048964342 - 1394000 0.007898829 0.0027966506 0.0066226459 - 1394100 0.004846359 0.0026547916 0.0050022468 - 1394200 0.0057661491 0.0029227296 0.0057157081 - 1394300 0.0047969366 0.0031258418 0.0054493579 - 1394400 0.0049587174 0.0025860354 0.0049879141 - 1394500 0.0037110031 0.0020792133 0.0038767305 - 1394600 0.0054842773 0.0023399525 0.0049963993 - 1394700 0.0047574016 0.0026034959 0.0049078624 - 1394800 0.0063889786 0.0021892089 0.0052838704 - 1394900 0.0069535806 0.002090831 0.0054589716 - 1395000 0.0053560011 0.00214633 0.004740643 - 1395100 0.0050841597 0.0026378239 0.0051004638 - 1395200 0.0045833296 0.0027533463 0.0049733966 - 1395300 0.0039602617 0.0026235108 0.0045417625 - 1395400 0.005398048 0.0021072402 0.0047219197 - 1395500 0.0056210729 0.0021395114 0.0048622186 - 1395600 0.0040487718 0.0026368631 0.0045979869 - 1395700 0.0057286937 0.0024672988 0.0052421348 - 1395800 0.0050261228 0.0024963864 0.0049309146 - 1395900 0.005126749 0.002351409 0.0048346781 - 1396000 0.0067990676 0.0024335471 0.0057268455 - 1396100 0.0051783103 0.0028245018 0.0053327458 - 1396200 0.004164026 0.0033703313 0.0053872813 - 1396300 0.004640551 0.0029284202 0.005176187 - 1396400 0.0043399632 0.002749262 0.0048514316 - 1396500 0.0051047991 0.0023958113 0.0048684484 - 1396600 0.00399534 0.0023969557 0.0043321985 - 1396700 0.0051869685 0.0027841703 0.0052966082 - 1396800 0.0050377023 0.0032592848 0.0056994218 - 1396900 0.0037429684 0.0040791933 0.0058921936 - 1397000 0.0052174808 0.0043093782 0.0068365954 - 1397100 0.0062192847 0.0036112633 0.0066237293 - 1397200 0.0074913555 0.0030689685 0.0066975938 - 1397300 0.00578335 0.0031925681 0.0059938783 - 1397400 0.0045316943 0.0033107467 0.0055057861 - 1397500 0.0053074719 0.0031783061 0.0057491128 - 1397600 0.0055957327 0.0031915664 0.0059019994 - 1397700 0.0048719462 0.0031384855 0.0054983344 - 1397800 0.0051306775 0.0028371911 0.005322363 - 1397900 0.0055997159 0.0029296977 0.0056420601 - 1398000 0.0050676108 0.0031698549 0.0056244789 - 1398100 0.0050669857 0.0025712703 0.0050255915 - 1398200 0.0052279926 0.0024549887 0.0049872976 - 1398300 0.0047318684 0.0028208497 0.0051128485 - 1398400 0.0044250028 0.0029130517 0.0050564124 - 1398500 0.0043153121 0.0028274579 0.0049176872 - 1398600 0.0063078491 0.002854384 0.0059097484 - 1398700 0.0053881859 0.0029924627 0.0056023652 - 1398800 0.0067260388 0.0027960081 0.0060539332 - 1398900 0.0045060289 0.0022929912 0.004475599 - 1399000 0.0028283298 0.0018549152 0.0032248874 - 1399100 0.0043190583 0.0016897773 0.0037818212 - 1399200 0.0046972205 0.0014700539 0.00374527 - 1399300 0.0040901257 0.0012616025 0.0032427572 - 1399400 0.0045401559 0.0012739443 0.0034730823 - 1399500 0.0052164618 0.0016412946 0.0041680183 - 1399600 0.0045761408 0.0023073874 0.0045239556 - 1399700 0.0056248844 0.002593531 0.0053180843 - 1399800 0.0041000904 0.0027663879 0.0047523692 - 1399900 0.0040722694 0.0026792658 0.0046517713 - 1400000 0.0052861458 0.002459721 0.0050201978 - 1400100 0.0050072026 0.0022774445 0.0047028083 - 1400200 0.005753223 0.0023518388 0.0051385562 - 1400300 0.0045843046 0.002416928 0.0046374506 - 1400400 0.0059357987 0.0026978563 0.0055730088 - 1400500 0.0040329336 0.0025618809 0.0045153331 - 1400600 0.0054909256 0.0023149535 0.0049746206 - 1400700 0.004113711 0.0025851478 0.0045777265 - 1400800 0.0045366327 0.0028522382 0.0050496697 - 1400900 0.0035328044 0.0026515887 0.0043627908 - 1401000 0.0039255562 0.0024297123 0.0043311536 - 1401100 0.004358655 0.0020715954 0.0041828189 - 1401200 0.0069278009 0.0021096746 0.0054653282 - 1401300 0.0067905562 0.0023471469 0.0056363225 - 1401400 0.0040942544 0.0023020103 0.0042851648 - 1401500 0.0053406955 0.0025968744 0.0051837738 - 1401600 0.0059069933 0.0028410918 0.0057022917 - 1401700 0.0057399104 0.0027856403 0.0055659094 - 1401800 0.0050709939 0.0026351644 0.0050914271 - 1401900 0.005798589 0.0025849613 0.0053936529 - 1402000 0.004911999 0.0027165135 0.005095763 - 1402100 0.0059691509 0.0028052648 0.0056965723 - 1402200 0.0053125479 0.0030224465 0.0055957119 - 1402300 0.0043157476 0.0034294009 0.0055198411 - 1402400 0.0054650606 0.0027266615 0.0053738002 - 1402500 0.003901049 0.0022903266 0.0041798972 - 1402600 0.0057728288 0.0022576709 0.0050538849 - 1402700 0.0067564679 0.0025680634 0.0058407275 - 1402800 0.0051853656 0.0027544837 0.0052661451 - 1402900 0.0056858701 0.0032650075 0.0060191008 - 1403000 0.0045531112 0.0027997561 0.0050051694 - 1403100 0.0054745892 0.0022744771 0.0049262312 - 1403200 0.0063178943 0.0024053235 0.0054655536 - 1403300 0.004914873 0.0025310272 0.0049116688 - 1403400 0.0051021243 0.0024985627 0.0049699042 - 1403500 0.0048771968 0.0029527907 0.0053151829 - 1403600 0.0054624857 0.0033550169 0.0060009084 - 1403700 0.0065756931 0.0030011584 0.0061862598 - 1403800 0.0046106862 0.0024351445 0.0046684457 - 1403900 0.0041008479 0.0020397088 0.004026057 - 1404000 0.0063841771 0.0022757992 0.005368135 - 1404100 0.0046719487 0.0025021536 0.0047651287 - 1404200 0.0045160192 0.002597848 0.0047852948 - 1404300 0.003994474 0.00219177 0.0041265934 - 1404400 0.005559268 0.0021415725 0.0048343429 - 1404500 0.0037950602 0.0021665101 0.0040047424 - 1404600 0.0057506146 0.001984024 0.004769478 - 1404700 0.0051995168 0.0021015387 0.0046200546 - 1404800 0.0055828052 0.0026958665 0.0054000378 - 1404900 0.0047412434 0.0027185346 0.0050150744 - 1405000 0.0044999295 0.0027605933 0.0049402466 - 1405100 0.0052138374 0.0024257692 0.0049512216 - 1405200 0.0043248029 0.0027394126 0.004834239 - 1405300 0.0059242158 0.0030478259 0.005917368 - 1405400 0.0047775562 0.0034137685 0.0057278973 - 1405500 0.0058985889 0.0032024894 0.0060596184 - 1405600 0.0053548303 0.003312417 0.0059061629 - 1405700 0.0066740242 0.0031577129 0.0063904433 - 1405800 0.0061333683 0.003255636 0.0062264863 - 1405900 0.0056550627 0.0032573489 0.0059965199 - 1406000 0.0064050927 0.0030490882 0.006151555 - 1406100 0.0054124152 0.0032679185 0.0058895572 - 1406200 0.0050806477 0.0033954131 0.0058563518 - 1406300 0.0058406144 0.0029879867 0.0058170343 - 1406400 0.0051908225 0.0031934027 0.0057077074 - 1406500 0.0042051839 0.0029958039 0.0050326898 - 1406600 0.0060525493 0.0029464259 0.0058781295 - 1406700 0.0039546818 0.0032436548 0.0051592038 - 1406800 0.0041074945 0.0036741037 0.0056636714 - 1406900 0.0048736342 0.0034921062 0.0058527727 - 1407000 0.0054505403 0.0035308836 0.0061709891 - 1407100 0.0048402212 0.0032930471 0.0056375293 - 1407200 0.0067493202 0.0028424081 0.0061116101 - 1407300 0.0054003467 0.0030410217 0.0056568147 - 1407400 0.0045240003 0.0033133442 0.0055046568 - 1407500 0.0041963824 0.0029767839 0.0050094067 - 1407600 0.0053414237 0.0026683251 0.0052555772 - 1407700 0.0052606871 0.0031616861 0.0057098315 - 1407800 0.004464005 0.0031436271 0.0053058795 - 1407900 0.0052452471 0.0026386612 0.0051793278 - 1408000 0.0050670825 0.0022685205 0.0047228886 - 1408100 0.0060969703 0.0023376454 0.0052908653 - 1408200 0.0063349759 0.0031313758 0.0061998797 - 1408300 0.0042745189 0.0036212391 0.0056917092 - 1408400 0.005244884 0.003714541 0.0062550317 - 1408500 0.0054411942 0.0033346759 0.0059702543 - 1408600 0.0060711658 0.0031483525 0.0060890734 - 1408700 0.003770678 0.0034445929 0.0052710151 - 1408800 0.0041506589 0.0033959886 0.005406464 - 1408900 0.0057733949 0.0026967551 0.0054932432 - 1409000 0.0048042568 0.002610706 0.0049377679 - 1409100 0.0052683941 0.0027701993 0.0053220777 - 1409200 0.0058911029 0.0029536291 0.0058071321 - 1409300 0.0065337652 0.0027021729 0.0058669655 - 1409400 0.0055331783 0.0024156795 0.0050958128 - 1409500 0.005130369 0.0024428512 0.0049278737 - 1409600 0.0062742914 0.0023963509 0.0054354608 - 1409700 0.0055503151 0.0027276719 0.0054161058 - 1409800 0.0062707805 0.0033063573 0.0063437666 - 1409900 0.0042424242 0.0034680627 0.0055229869 - 1410000 0.0055625392 0.0029263881 0.005620743 - 1410100 0.0061364225 0.002306783 0.0052791127 - 1410200 0.0048980443 0.0022589097 0.0046313999 - 1410300 0.0043854633 0.0022506481 0.0043748569 - 1410400 0.0039369896 0.0023349109 0.0042418902 - 1410500 0.0036714676 0.0030337354 0.0048121025 - 1410600 0.00789003 0.0031926131 0.0070143464 - 1410700 0.0044221873 0.0030919599 0.0052339569 - 1410800 0.0045001107 0.0022004444 0.0043801855 - 1410900 0.0053159256 0.0022091312 0.0047840327 - 1411000 0.0064650696 0.0025519181 0.0056834362 - 1411100 0.0062975078 0.0031927926 0.0062431479 - 1411200 0.0051305868 0.0033955537 0.0058806817 - 1411300 0.0051795239 0.003090989 0.0055998209 - 1411400 0.0049000043 0.0028246836 0.0051981232 - 1411500 0.0068305088 0.0033724251 0.0066809527 - 1411600 0.0043042554 0.0034437448 0.0055286186 - 1411700 0.0050747099 0.0025337676 0.0049918302 - 1411800 0.0047816996 0.0022759021 0.0045920379 - 1411900 0.0056001869 0.0024861426 0.0051987331 - 1412000 0.0051146558 0.0026881904 0.0051656018 - 1412100 0.00530764 0.0031878104 0.0057586985 - 1412200 0.0058019626 0.0032770597 0.0060873853 - 1412300 0.0061335993 0.0033220285 0.0062929906 - 1412400 0.0051923029 0.003314234 0.0058292557 - 1412500 0.0050082213 0.0032339912 0.0056598484 - 1412600 0.0048916625 0.003129302 0.0054987011 - 1412700 0.0049923336 0.0032467423 0.0056649039 - 1412800 0.0048119354 0.0033531713 0.0056839525 - 1412900 0.0051408931 0.0035879063 0.0060780264 - 1413000 0.0054892206 0.003704881 0.0063637222 - 1413100 0.0072065778 0.003659767 0.0071504532 - 1413200 0.0067469882 0.0037399875 0.0070080599 - 1413300 0.0054779853 0.0038716764 0.0065250755 - 1413400 0.00533822 0.0029305434 0.0055162438 - 1413500 0.0051511802 0.0028090249 0.0053041278 - 1413600 0.0060988775 0.0024369297 0.0053910735 - 1413700 0.0047666918 0.0025498978 0.0048587641 - 1413800 0.0058675697 0.0020431829 0.0048852869 - 1413900 0.0057942262 0.0021201431 0.0049267214 - 1414000 0.0055229375 0.0023981245 0.0050732973 - 1414100 0.0054111403 0.0022922413 0.0049132624 - 1414200 0.0041551103 0.0025300665 0.0045426981 - 1414300 0.0045264972 0.0022943056 0.0044868277 - 1414400 0.0048276583 0.0022724472 0.0046108442 - 1414500 0.0060510031 0.0022133475 0.0051443021 - 1414600 0.0038064809 0.0024177958 0.00426156 - 1414700 0.0047201409 0.0025757065 0.0048620248 - 1414800 0.0068399602 0.0026816792 0.005994785 - 1414900 0.0052368925 0.0027837174 0.0053203372 - 1415000 0.0038464007 0.0027034421 0.0045665425 - 1415100 0.00506918 0.0027574332 0.0052128172 - 1415200 0.004328419 0.002638491 0.0047350689 - 1415300 0.0059016872 0.0029248714 0.0057835012 - 1415400 0.0051391245 0.0032996659 0.0057889294 - 1415500 0.0057616931 0.0029018704 0.0056926905 - 1415600 0.0042487579 0.0031262222 0.0051842143 - 1415700 0.0037107501 0.003244745 0.0050421396 - 1415800 0.0065790745 0.0031260138 0.006312753 - 1415900 0.0035098192 0.0031496813 0.00484975 - 1416000 0.0044513748 0.0027863266 0.0049424613 - 1416100 0.0041380909 0.0025684026 0.0045727904 - 1416200 0.0044826373 0.0025757684 0.0047470458 - 1416300 0.003709527 0.002562363 0.0043591651 - 1416400 0.0051887179 0.0026946148 0.0052079001 - 1416500 0.0068308566 0.0026560836 0.0059647797 - 1416600 0.0038371026 0.0029163879 0.0047749844 - 1416700 0.0031742388 0.0026027702 0.0041402921 - 1416800 0.0046108937 0.0024827909 0.0047161926 - 1416900 0.0050319603 0.0024183605 0.0048557163 - 1417000 0.0049280589 0.0022355464 0.004622575 - 1417100 0.0059184117 0.0022074119 0.0050741425 - 1417200 0.0042593845 0.0028073431 0.0048704825 - 1417300 0.0065893717 0.0027342817 0.0059260086 - 1417400 0.0038739259 0.0030216286 0.0048980615 - 1417500 0.0050479432 0.0031184997 0.0055635972 - 1417600 0.0055774043 0.0028253043 0.0055268595 - 1417700 0.005289253 0.0023758075 0.0049377894 - 1417800 0.0064332833 0.0024013228 0.0055174445 - 1417900 0.0053798183 0.0023996786 0.0050055281 - 1418000 0.0056042569 0.0026026617 0.0053172236 - 1418100 0.0041625757 0.0029904048 0.0050066524 - 1418200 0.0050295476 0.0030167244 0.0054529116 - 1418300 0.0058880054 0.0030100875 0.0058620902 - 1418400 0.0063065548 0.002849766 0.0059045034 - 1418500 0.0063848573 0.0029900782 0.0060827435 - 1418600 0.0041341297 0.0031483069 0.005150776 - 1418700 0.0050185927 0.0027247819 0.0051556628 - 1418800 0.0044475444 0.0029927998 0.0051470791 - 1418900 0.0049219635 0.0032068648 0.0055909409 - 1419000 0.0053963541 0.0025883369 0.0052021959 - 1419100 0.0053178762 0.0025807333 0.0051565795 - 1419200 0.0054118583 0.0024292292 0.005050598 - 1419300 0.0065426953 0.0020988403 0.0052679583 - 1419400 0.0062607395 0.0024683203 0.0055008659 - 1419500 0.0052686927 0.0031655113 0.0057175343 - 1419600 0.0064960219 0.0030163424 0.006162853 - 1419700 0.0046774321 0.0027644404 0.0050300716 - 1419800 0.0042110993 0.0025890347 0.004628786 - 1419900 0.0051945091 0.0022724136 0.0047885039 - 1420000 0.0048014479 0.002007493 0.0043331943 - 1420100 0.0039473264 0.0025664984 0.0044784846 - 1420200 0.0045890452 0.0027912914 0.0050141101 - 1420300 0.0053816292 0.0023703402 0.0049770669 - 1420400 0.0047180715 0.0025704443 0.0048557602 - 1420500 0.0049492764 0.0029085663 0.0053058721 - 1420600 0.0028554475 0.0033327634 0.0047158708 - 1420700 0.0034188207 0.0028944929 0.0045504842 - 1420800 0.005109273 0.0023418884 0.0048166925 - 1420900 0.0050788428 0.0024787356 0.0049388001 - 1421000 0.004576774 0.0027657644 0.0049826393 - 1421100 0.006125803 0.0027176006 0.0056847864 - 1421200 0.0060519435 0.0024328576 0.0053642678 - 1421300 0.0052014212 0.0024395395 0.0049589779 - 1421400 0.0041994942 0.0027694868 0.0048036168 - 1421500 0.0041408815 0.0027993833 0.0048051228 - 1421600 0.007352047 0.0026982168 0.0062593646 - 1421700 0.0064821643 0.0024120238 0.0055518222 - 1421800 0.0052974662 0.0027377024 0.0053036626 - 1421900 0.0061211783 0.0033043756 0.0062693213 - 1422000 0.0079727514 0.0031804708 0.0070422722 - 1422100 0.0044431302 0.003033485 0.0051856262 - 1422200 0.0057372679 0.0026342132 0.0054132023 - 1422300 0.0051762026 0.0026965174 0.0052037405 - 1422400 0.0047807381 0.0030989875 0.0054146575 - 1422500 0.0051031598 0.0031348104 0.0056066534 - 1422600 0.0058824252 0.0030098666 0.0058591663 - 1422700 0.0046803592 0.0028218013 0.0050888503 - 1422800 0.0054272664 0.0027982338 0.0054270659 - 1422900 0.0047282127 0.0029309312 0.0052211592 - 1423000 0.0049851642 0.0030114939 0.0054261828 - 1423100 0.0053218889 0.002487146 0.005064936 - 1423200 0.0044087788 0.0024888258 0.004624328 - 1423300 0.0040954046 0.0027476445 0.0047313561 - 1423400 0.0042993857 0.0027614898 0.0048440048 - 1423500 0.0056534026 0.0027782264 0.0055165933 - 1423600 0.00324703 0.0029009424 0.0044737225 - 1423700 0.0035685278 0.0026468924 0.004375398 - 1423800 0.0047214521 0.0022770935 0.0045640468 - 1423900 0.005329836 0.0025211128 0.0051027521 - 1424000 0.00728158 0.0021667223 0.0056937376 - 1424100 0.0048393325 0.0020212875 0.0043653391 - 1424200 0.0055717492 0.0020382632 0.0047370792 - 1424300 0.0054603701 0.0023362746 0.0049811414 - 1424400 0.0049874006 0.0025861162 0.0050018883 - 1424500 0.0045631026 0.0022474004 0.0044576533 - 1424600 0.0057434195 0.0023140759 0.0050960447 - 1424700 0.0053902585 0.0029713812 0.0055822876 - 1424800 0.0045985443 0.0031781182 0.0054055381 - 1424900 0.0053685274 0.0025910653 0.0051914457 - 1425000 0.0083783746 0.0022901564 0.0063484317 - 1425100 0.0060878255 0.0025821524 0.0055309429 - 1425200 0.005396139 0.0023744444 0.0049881993 - 1425300 0.0040988467 0.002459758 0.0044451369 - 1425400 0.0045996753 0.0026327833 0.004860751 - 1425500 0.006534108 0.0027998028 0.0059647613 - 1425600 0.0075040403 0.0030499078 0.0066846773 - 1425700 0.0059892674 0.0031893347 0.0060903861 - 1425800 0.0065715183 0.0028778653 0.0060609445 - 1425900 0.0060237449 0.0029445942 0.0058623457 - 1426000 0.0045161938 0.0027931347 0.0049806661 - 1426100 0.005860092 0.0023149931 0.0051534751 - 1426200 0.0053308375 0.0023875341 0.0049696585 - 1426300 0.0049415476 0.0026166118 0.0050101739 - 1426400 0.0045943722 0.002636283 0.004861682 - 1426500 0.0047976052 0.0031739707 0.0054978107 - 1426600 0.0050735928 0.0031306286 0.0055881501 - 1426700 0.0065124877 0.0029291042 0.0060835904 - 1426800 0.0053097985 0.0025923876 0.0051643212 - 1426900 0.0054691755 0.0022421068 0.0048912387 - 1427000 0.0036498518 0.0022370207 0.0040049177 - 1427100 0.0041620288 0.0020754944 0.0040914771 - 1427200 0.0052150429 0.0021007897 0.0046268261 - 1427300 0.0041255658 0.0025050139 0.0045033348 - 1427400 0.0045432682 0.0025850285 0.0047856741 - 1427500 0.0041154929 0.0025410729 0.0045345148 - 1427600 0.00516477 0.0025172963 0.0050189818 - 1427700 0.0041717085 0.0028537479 0.0048744192 - 1427800 0.0024619272 0.0030832771 0.0042757731 - 1427900 0.0055483241 0.0026724811 0.0053599506 - 1428000 0.0049842681 0.0027130595 0.0051273144 - 1428100 0.0049040152 0.0028260645 0.0052014469 - 1428200 0.0037798325 0.0027347102 0.0045655666 - 1428300 0.0053953643 0.0029220933 0.0055354729 - 1428400 0.0048844827 0.002402343 0.0047682643 - 1428500 0.0048822436 0.001892698 0.0042575348 - 1428600 0.004427746 0.0018820528 0.0040267423 - 1428700 0.0058502412 0.0022412238 0.0050749344 - 1428800 0.0056958713 0.0021375436 0.0048964813 - 1428900 0.0056733162 0.0022515304 0.0049995429 - 1429000 0.0053080208 0.0020697863 0.0046408589 - 1429100 0.0051538469 0.0026791964 0.005175591 - 1429200 0.0067087903 0.0028741892 0.0061237595 - 1429300 0.0049330012 0.0029177848 0.0053072072 - 1429400 0.0043614497 0.0021813539 0.0042939311 - 1429500 0.0055733299 0.0019252148 0.0046247964 - 1429600 0.0058785433 0.0021971473 0.0050445667 - 1429700 0.0047159923 0.0021559311 0.0044402399 - 1429800 0.0060655302 0.0023604719 0.0052984631 - 1429900 0.0063033419 0.0021960013 0.0052491826 - 1430000 0.006152043 0.002449022 0.0054289178 - 1430100 0.0051400619 0.0026934507 0.0051831682 - 1430200 0.0051414995 0.003352586 0.0058429998 - 1430300 0.006314044 0.0030940561 0.0061524211 - 1430400 0.0050195927 0.0025194472 0.0049508124 - 1430500 0.0061777494 0.0020537929 0.0050461403 - 1430600 0.0032893 0.002252765 0.0038460197 - 1430700 0.0054234326 0.0024066189 0.0050335941 - 1430800 0.005790535 0.0022558397 0.0050606301 - 1430900 0.0056579838 0.0020494159 0.0047900018 - 1431000 0.0052375238 0.0016790916 0.0042160172 - 1431100 0.0044825482 0.0016999911 0.0038712254 - 1431200 0.0050527117 0.0017500633 0.0041974705 - 1431300 0.0057605949 0.0015995463 0.0043898344 - 1431400 0.0044411377 0.0020946092 0.0042457853 - 1431500 0.0055203401 0.0021353874 0.0048093022 - 1431600 0.0057991646 0.0021680644 0.0049770348 - 1431700 0.0041894608 0.0021667478 0.0041960178 - 1431800 0.0043944145 0.0022622848 0.0043908293 - 1431900 0.0047469191 0.0022751089 0.0045743978 - 1432000 0.0049646007 0.0022524835 0.0046572119 - 1432100 0.0056739172 0.0022525258 0.0050008294 - 1432200 0.0059920176 0.0026246282 0.0055270117 - 1432300 0.0050899887 0.0026478738 0.0051133371 - 1432400 0.0041917172 0.0027458839 0.0047762469 - 1432500 0.0044134046 0.0026382676 0.0047760104 - 1432600 0.0056961389 0.0021280454 0.0048871127 - 1432700 0.0046479861 0.0016275427 0.0038789109 - 1432800 0.0063408677 0.0013349783 0.0044063361 - 1432900 0.0050811438 0.0016386217 0.0040998007 - 1433000 0.0052891807 0.0018045322 0.0043664791 - 1433100 0.0058638635 0.0016988386 0.0045391475 - 1433200 0.0055865013 0.0019606535 0.0046666151 - 1433300 0.0051205988 0.0021616254 0.0046419155 - 1433400 0.0053505754 0.0023184884 0.0049101734 - 1433500 0.0050819317 0.0025079667 0.0049695274 - 1433600 0.0032099748 0.0028332531 0.0043880847 - 1433700 0.004569241 0.0029483783 0.0051616044 - 1433800 0.0051732542 0.0027733554 0.0052791504 - 1433900 0.0052085796 0.0019788994 0.0045018052 - 1434000 0.0055279157 0.0018001395 0.0044777236 - 1434100 0.0042912122 0.0022584196 0.0043369756 - 1434200 0.0044231601 0.0028090256 0.0049514938 - 1434300 0.0060338696 0.0034177201 0.0063403757 - 1434400 0.0041270675 0.0036160973 0.0056151456 - 1434500 0.0061956001 0.0029985763 0.0059995701 - 1434600 0.0074851689 0.002846217 0.0064718457 - 1434700 0.0058999823 0.0029870497 0.0058448536 - 1434800 0.0058431338 0.0028623888 0.0056926567 - 1434900 0.0054151778 0.002641745 0.0052647217 - 1435000 0.006011084 0.0025597028 0.0054713216 - 1435100 0.0050077952 0.0026331505 0.0050588013 - 1435200 0.0048446594 0.0021828222 0.0045294541 - 1435300 0.0055653102 0.0018942076 0.0045899047 - 1435400 0.0043955541 0.0019244442 0.0040535407 - 1435500 0.0055095354 0.0018963803 0.0045650615 - 1435600 0.0045531287 0.002085246 0.0042906677 - 1435700 0.004099606 0.0022378687 0.0042236154 - 1435800 0.0055202209 0.0025600583 0.0052339152 - 1435900 0.0041890304 0.0028700994 0.004899161 - 1436000 0.0073427402 0.0028647652 0.006421405 - 1436100 0.0058952182 0.0032415686 0.0060970649 - 1436200 0.0062598481 0.0031053695 0.0061374835 - 1436300 0.0047890937 0.0032552726 0.0055749899 - 1436400 0.0054727412 0.003001336 0.005652195 - 1436500 0.0065378312 0.0028470678 0.0060138298 - 1436600 0.0054584082 0.002864798 0.0055087145 - 1436700 0.005627276 0.0027871126 0.0055128244 - 1436800 0.0046347518 0.002859949 0.005104907 - 1436900 0.0042902898 0.002874094 0.0049522031 - 1437000 0.0079236171 0.0025174233 0.0063554253 - 1437100 0.0054069554 0.0023615542 0.0049805482 - 1437200 0.004776893 0.00207739 0.0043911975 - 1437300 0.005380493 0.0021359815 0.0047421578 - 1437400 0.0049655551 0.0020217506 0.0044269413 - 1437500 0.0055776995 0.0025781751 0.0052798733 - 1437600 0.0061139986 0.0029510693 0.0059125374 - 1437700 0.005869232 0.003013193 0.0058561022 - 1437800 0.0043435399 0.002921156 0.0050250581 - 1437900 0.0043984886 0.0025980065 0.0047285244 - 1438000 0.0055783053 0.0026974277 0.0053994193 - 1438100 0.0052641115 0.0024263256 0.0049761296 - 1438200 0.0054929693 0.002291602 0.004952259 - 1438300 0.004075263 0.0024238677 0.0043978233 - 1438400 0.0040946735 0.0025545688 0.0045379262 - 1438500 0.0056693064 0.0022661911 0.0050122613 - 1438600 0.0060601899 0.0019286167 0.0048640211 - 1438700 0.0057987633 0.0019006841 0.0047094601 - 1438800 0.0053032257 0.0021096273 0.0046783772 - 1438900 0.0053820648 0.0021453668 0.0047523044 - 1439000 0.0042361119 0.0022259988 0.0042778655 - 1439100 0.0041322437 0.0025337168 0.0045352724 - 1439200 0.0046909672 0.0026098631 0.0048820503 - 1439300 0.0034029145 0.0029359534 0.0045842401 - 1439400 0.0056520017 0.0023619289 0.0050996172 - 1439500 0.0060052874 0.0023526232 0.0052614343 - 1439600 0.0059328622 0.0026161541 0.0054898842 - 1439700 0.0037213418 0.0031811399 0.0049836649 - 1439800 0.0070127944 0.0025731689 0.0059699912 - 1439900 0.0047538479 0.0023258865 0.0046285316 - 1440000 0.0055386581 0.002210269 0.0048930565 - 1440100 0.0051210995 0.0026474696 0.0051280022 - 1440200 0.0054662913 0.0024084579 0.0050561928 - 1440300 0.0057341256 0.0023226261 0.0051000932 - 1440400 0.0052006008 0.0027513824 0.0052704234 - 1440500 0.0048286035 0.0028749452 0.0052138 - 1440600 0.0055177421 0.0031951099 0.0058677663 - 1440700 0.0072662408 0.0030634789 0.0065830643 - 1440800 0.0057891198 0.0030730619 0.0058771668 - 1440900 0.0057471166 0.0030118754 0.005795635 - 1441000 0.0054925668 0.0027729535 0.0054334156 - 1441100 0.0043894138 0.0022451223 0.0043712446 - 1441200 0.0054905573 0.0018899427 0.0045494313 - 1441300 0.0041415462 0.0023276347 0.0043336962 - 1441400 0.0058547553 0.0019449892 0.0047808863 - 1441500 0.0039253684 0.0016789644 0.0035803148 - 1441600 0.0046096849 0.0015595662 0.0037923823 - 1441700 0.0044429727 0.0019924642 0.0041445291 - 1441800 0.0055727525 0.0024369316 0.0051362336 - 1441900 0.0042709314 0.0023866714 0.0044554038 - 1442000 0.0042308855 0.0020515104 0.0041008456 - 1442100 0.0055854409 0.0015529455 0.0042583935 - 1442200 0.0053943572 0.0018537677 0.0044666595 - 1442300 0.005247451 0.0021990254 0.0047407595 - 1442400 0.0083661474 0.0023690264 0.0064213791 - 1442500 0.0056012065 0.0028025244 0.0055156088 - 1442600 0.0048970703 0.0026169957 0.0049890141 - 1442700 0.0057922934 0.002424423 0.0052300651 - 1442800 0.0043785692 0.0025881903 0.0047090597 - 1442900 0.0050093672 0.0023320153 0.0047584276 - 1443000 0.0046003759 0.0019311697 0.0041594768 - 1443100 0.0046115135 0.002387794 0.0046214958 - 1443200 0.005059255 0.0027053195 0.0051558961 - 1443300 0.0042460789 0.0021435517 0.0042002462 - 1443400 0.0043546969 0.0016467595 0.0037560658 - 1443500 0.0040162235 0.0018501846 0.0037955428 - 1443600 0.0055650662 0.0022476462 0.0049432252 - 1443700 0.0041642478 0.0028715376 0.0048885951 - 1443800 0.0052649365 0.0027773399 0.0053275435 - 1443900 0.0059555504 0.0022845213 0.005169241 - 1444000 0.0061670422 0.0020427004 0.0050298615 - 1444100 0.0043426387 0.0020409033 0.0041443689 - 1444200 0.0058530781 0.0019919121 0.0048269968 - 1444300 0.0052279998 0.0022678342 0.0048001466 - 1444400 0.0062794005 0.0023187529 0.0053603375 - 1444500 0.0055026379 0.0024194086 0.0050847488 - 1444600 0.0043939542 0.0022184009 0.0043467224 - 1444700 0.0041570688 0.0023268713 0.0043404515 - 1444800 0.0068463309 0.0022334445 0.0055496361 - 1444900 0.0047583259 0.002129779 0.0044345931 - 1445000 0.0052741295 0.0021541894 0.0047088459 - 1445100 0.0041880718 0.0026114721 0.0046400693 - 1445200 0.0051189019 0.0027721383 0.0052516065 - 1445300 0.0050509073 0.002454661 0.0049011942 - 1445400 0.0051021147 0.0022458508 0.0047171876 - 1445500 0.0065883592 0.0024859923 0.0056772288 - 1445600 0.0042419078 0.0029991109 0.005053785 - 1445700 0.0046827266 0.0029649496 0.0052331453 - 1445800 0.0057736163 0.002475268 0.0052718634 - 1445900 0.0062225149 0.0026520178 0.0056660485 - 1446000 0.0060835186 0.0025457312 0.0054924356 - 1446100 0.0043464511 0.0022629432 0.0043682555 - 1446200 0.0050593733 0.0024076408 0.0048582747 - 1446300 0.0046682394 0.0023031089 0.0045642873 - 1446400 0.0060961787 0.0022169243 0.0051697608 - 1446500 0.0065732522 0.0024717625 0.0056556815 - 1446600 0.0066036673 0.002626856 0.0058255074 - 1446700 0.0045817017 0.0031544351 0.0053736968 - 1446800 0.0050119036 0.003436858 0.0058644989 - 1446900 0.0052415023 0.0029532937 0.0054921463 - 1447000 0.0066083812 0.0025383845 0.0057393191 - 1447100 0.0066006519 0.0022439445 0.0054411353 - 1447200 0.00561719 0.0025307011 0.0052515275 - 1447300 0.0036575007 0.0029116647 0.0046832665 - 1447400 0.0039580195 0.0031160751 0.0050332408 - 1447500 0.00445176 0.003076702 0.0052330232 - 1447600 0.0039444754 0.0029572712 0.0048678764 - 1447700 0.0044678284 0.0025777737 0.004741878 - 1447800 0.0052717194 0.0026655529 0.005219042 - 1447900 0.0059623814 0.0030522887 0.0059403172 - 1448000 0.0057029035 0.0031992812 0.0059616251 - 1448100 0.0047796939 0.002992389 0.0053075532 - 1448200 0.0053319672 0.002755556 0.0053382276 - 1448300 0.0046396121 0.0025343869 0.004781699 - 1448400 0.0043942412 0.002363594 0.0044920545 - 1448500 0.0049476393 0.0022792345 0.0046757473 - 1448600 0.00415622 0.002271355 0.0042845241 - 1448700 0.0045251586 0.0021779166 0.0043697903 - 1448800 0.0055283537 0.0023911526 0.0050689489 - 1448900 0.0056889426 0.0025444658 0.0053000473 - 1449000 0.0041647053 0.0028586779 0.004875957 - 1449100 0.0039666991 0.0026663488 0.0045877186 - 1449200 0.0052734045 0.0020487543 0.0046030596 - 1449300 0.0047389878 0.0022182569 0.0045137041 - 1449400 0.0048089777 0.0024823688 0.0048117173 - 1449500 0.0044615341 0.00289044 0.0050514956 - 1449600 0.0050843203 0.0023626654 0.004825383 - 1449700 0.0045616467 0.0018008958 0.0040104434 - 1449800 0.0042049416 0.0018550536 0.0038918222 - 1449900 0.0046202819 0.0018294381 0.0040673872 - 1450000 0.0054305816 0.0018850201 0.0045154581 - 1450100 0.0053933994 0.0019291134 0.0045415412 - 1450200 0.0047525332 0.0018372378 0.0041392461 - 1450300 0.0041722537 0.0017501484 0.0037710837 - 1450400 0.0046176538 0.0022331698 0.0044698459 - 1450500 0.0041577865 0.00227851 0.0042924379 - 1450600 0.0045247094 0.0025245705 0.0047162266 - 1450700 0.0078488772 0.0025732969 0.0063750968 - 1450800 0.0047484289 0.0026031573 0.0049031776 - 1450900 0.0052397071 0.0022305417 0.0047685249 - 1451000 0.0048296975 0.0024731204 0.0048125051 - 1451100 0.005468788 0.002143506 0.0047924501 - 1451200 0.0040565805 0.0018576415 0.0038225477 - 1451300 0.0041059124 0.0018373091 0.0038261104 - 1451400 0.0058702603 0.002020262 0.0048636693 - 1451500 0.0058725388 0.0023819825 0.0052264935 - 1451600 0.0060460925 0.0025541218 0.0054826978 - 1451700 0.0050731614 0.0026118846 0.0050691972 - 1451800 0.0043393856 0.0027377157 0.0048396056 - 1451900 0.0062822734 0.0023534094 0.0053963856 - 1452000 0.0062129803 0.0020336791 0.0050430914 - 1452100 0.0051168346 0.0019193825 0.0043978493 - 1452200 0.0051282777 0.0017585784 0.0042425879 - 1452300 0.0058535995 0.0018222199 0.0046575572 - 1452400 0.0053793817 0.0023354181 0.0049410561 - 1452500 0.0045876476 0.0024835416 0.0047056834 - 1452600 0.0039243908 0.0025165734 0.0044174502 - 1452700 0.0048125701 0.0017215179 0.0040526065 - 1452800 0.0036942169 0.001475301 0.0032646873 - 1452900 0.0045017114 0.0015320014 0.0037125179 - 1453000 0.003017507 0.0015336841 0.0029952891 - 1453100 0.0045223992 0.0015056022 0.0036961393 - 1453200 0.0040319027 0.001728229 0.0036811819 - 1453300 0.0045007919 0.0019994794 0.0041795505 - 1453400 0.0038832827 0.0021453491 0.0040263141 - 1453500 0.0030108823 0.0022646143 0.0037230104 - 1453600 0.0041583932 0.0022455757 0.0042597974 - 1453700 0.004235194 0.0021353046 0.0041867267 - 1453800 0.0049647494 0.0017002946 0.0041050951 - 1453900 0.0046890268 0.0019458161 0.0042170634 - 1454000 0.0044383071 0.0023311429 0.004480948 - 1454100 0.0046371347 0.0028739891 0.0051201012 - 1454200 0.0058445341 0.0025747457 0.0054056919 - 1454300 0.0062683955 0.0028100651 0.0058463192 - 1454400 0.0056668135 0.0030342801 0.0057791429 - 1454500 0.0044128792 0.0029081862 0.0050456746 - 1454600 0.0040774055 0.0027128225 0.0046878158 - 1454700 0.0068453359 0.0025867486 0.0059024581 - 1454800 0.0055923434 0.0027013082 0.0054100995 - 1454900 0.0054915709 0.0027630477 0.0054230273 - 1455000 0.0052844697 0.0030228782 0.0055825432 - 1455100 0.0054076767 0.0025187365 0.0051380799 - 1455200 0.0063209657 0.0024602475 0.0055219653 - 1455300 0.0046223837 0.0026144805 0.0048534476 - 1455400 0.00585989 0.0026796241 0.0055180083 - 1455500 0.0058569777 0.0024844484 0.0053214219 - 1455600 0.0044302039 0.0025393191 0.0046851991 - 1455700 0.0041729425 0.0024459049 0.0044671739 - 1455800 0.0054724284 0.002475139 0.0051258465 - 1455900 0.0065403071 0.0026968246 0.0058647859 - 1456000 0.0057533495 0.0031409851 0.0059277637 - 1456100 0.0061232571 0.0032823801 0.0062483328 - 1456200 0.0045203092 0.0031527594 0.0053422842 - 1456300 0.0076543351 0.0028630929 0.0065706614 - 1456400 0.005042995 0.0029909502 0.005433651 - 1456500 0.0067028995 0.0024942414 0.0057409584 - 1456600 0.0041055622 0.0025584217 0.0045470534 - 1456700 0.0039033101 0.0023942429 0.0042849088 - 1456800 0.0041293248 0.002311224 0.0043113657 - 1456900 0.0060504485 0.0022862609 0.0052169469 - 1457000 0.0061619097 0.0026073962 0.0055920712 - 1457100 0.005172901 0.0034496822 0.0059553061 - 1457200 0.0049638948 0.0037802086 0.0061845951 - 1457300 0.0058748535 0.0033663699 0.0062120021 - 1457400 0.0053391857 0.0033025128 0.0058886809 - 1457500 0.0041438643 0.003037704 0.0050448883 - 1457600 0.0072144406 0.0022131144 0.0057076091 - 1457700 0.0054581719 0.0022630314 0.0049068334 - 1457800 0.0053508953 0.0025290105 0.0051208505 - 1457900 0.0049958151 0.0024379133 0.0048577612 - 1458000 0.0040909771 0.0019845504 0.0039661174 - 1458100 0.0056840678 0.0017082142 0.0044614346 - 1458200 0.0052491057 0.0016877934 0.004230329 - 1458300 0.0048079871 0.0016884559 0.0040173246 - 1458400 0.0056933713 0.0014917075 0.0042494342 - 1458500 0.004567392 0.001994127 0.0042064575 - 1458600 0.0046386752 0.0020245202 0.0042713785 - 1458700 0.0061025795 0.0021905003 0.0051464372 - 1458800 0.0050645731 0.0027703996 0.0052235522 - 1458900 0.0037732264 0.0026619421 0.0044895986 - 1459000 0.0051215636 0.0024254723 0.0049062297 - 1459100 0.0040638848 0.0026144426 0.0045828868 - 1459200 0.0054211124 0.0025063166 0.005132168 - 1459300 0.0048435835 0.0026823016 0.0050284123 - 1459400 0.0054033204 0.0026533112 0.0052705445 - 1459500 0.005996486 0.0027041753 0.0056087232 - 1459600 0.0052702068 0.0025666865 0.0051194429 - 1459700 0.0057097689 0.002077063 0.0048427324 - 1459800 0.0040372518 0.0017560864 0.0037116302 - 1459900 0.004152134 0.0020447881 0.004055978 - 1460000 0.0039223034 0.0020413075 0.0039411732 - 1460100 0.0057823342 0.0019006589 0.004701477 - 1460200 0.0043736233 0.0022036998 0.0043221736 - 1460300 0.0036655753 0.0022997644 0.0040752774 - 1460400 0.005587805 0.002308138 0.0050147311 - 1460500 0.005452974 0.0027498506 0.0053911349 - 1460600 0.0042749173 0.0029686162 0.0050392793 - 1460700 0.0057333093 0.0022207922 0.0049978638 - 1460800 0.0037151814 0.0023297069 0.0041292479 - 1460900 0.0049936504 0.0024820876 0.004900887 - 1461000 0.0051491177 0.0025591363 0.0050532402 - 1461100 0.00564253 0.0025323576 0.005265458 - 1461200 0.0046004555 0.002636337 0.0048646826 - 1461300 0.0052384352 0.0019793549 0.0045167219 - 1461400 0.005185575 0.0020839819 0.0045957448 - 1461500 0.0047494917 0.0022035409 0.004504076 - 1461600 0.00517071 0.0021381603 0.004642723 - 1461700 0.0045553058 0.0021038136 0.0043102899 - 1461800 0.0053458721 0.0022237267 0.0048131335 - 1461900 0.0064996469 0.0020461019 0.0051943684 - 1462000 0.0048865463 0.0022758218 0.0046427427 - 1462100 0.00592766 0.002133831 0.0050050413 - 1462200 0.0059272249 0.0025610087 0.0054320082 - 1462300 0.0074469225 0.00252742 0.0061345231 - 1462400 0.0075698702 0.0024670252 0.0061336811 - 1462500 0.005326331 0.0026172659 0.0051972075 - 1462600 0.0038911471 0.0028119197 0.0046966941 - 1462700 0.00514366 0.002542355 0.0050338153 - 1462800 0.0062528005 0.0019765026 0.0050052028 - 1462900 0.0043829268 0.0019872676 0.0041102478 - 1463000 0.0047443906 0.0017370829 0.0040351471 - 1463100 0.0057068768 0.0020160308 0.0047802993 - 1463200 0.0067022269 0.0018375592 0.0050839503 - 1463300 0.0045989095 0.0023728015 0.0046003983 - 1463400 0.0057096208 0.0025908741 0.0053564717 - 1463500 0.0039557416 0.002524481 0.0044405433 - 1463600 0.0052876704 0.0023961968 0.0049574121 - 1463700 0.006149774 0.002736188 0.0057149848 - 1463800 0.0061171523 0.0024609783 0.005423974 - 1463900 0.0063471872 0.0024860457 0.0055604645 - 1464000 0.0047370024 0.0029283765 0.005222862 - 1464100 0.0054372708 0.0027915094 0.0054251875 - 1464200 0.0053296042 0.0021251285 0.0047066555 - 1464300 0.004666464 0.0022092789 0.0044695974 - 1464400 0.0065849986 0.0021178272 0.0053074359 - 1464500 0.0059178804 0.0019091398 0.0047756131 - 1464600 0.0058489701 0.002381125 0.0052142199 - 1464700 0.006418593 0.0026015072 0.0057105132 - 1464800 0.0056141558 0.0025190176 0.0052383743 - 1464900 0.006000079 0.0022264514 0.0051327396 - 1465000 0.0048748833 0.0021112483 0.0044725199 - 1465100 0.0048899635 0.0024455181 0.0048140942 - 1465200 0.0042582541 0.0022126681 0.0042752599 - 1465300 0.0053747412 0.0017741453 0.0043775355 - 1465400 0.003601226 0.0021130303 0.0038573742 - 1465500 0.0064819429 0.0023004169 0.005440108 - 1465600 0.0053892889 0.0022174481 0.004827885 - 1465700 0.0054480436 0.0017845301 0.0044234262 - 1465800 0.0065318604 0.001846151 0.0050100209 - 1465900 0.0044632289 0.0022435296 0.0044054061 - 1466000 0.0057122349 0.0020737457 0.0048406095 - 1466100 0.0070421201 0.001982267 0.0053932939 - 1466200 0.0039865832 0.0025076493 0.0044386506 - 1466300 0.004415774 0.0030262603 0.0051651509 - 1466400 0.0055850578 0.0026624456 0.005367708 - 1466500 0.005236096 0.0021233158 0.0046595498 - 1466600 0.005184864 0.0020208704 0.0045322889 - 1466700 0.003751572 0.0026417048 0.0044588724 - 1466800 0.0063741426 0.0027293632 0.0058168385 - 1466900 0.0037445156 0.0026219203 0.0044356701 - 1467000 0.0056197207 0.0021996107 0.0049216629 - 1467100 0.0051139832 0.0022800107 0.0047570963 - 1467200 0.0045816187 0.0026754063 0.0048946279 - 1467300 0.0068272918 0.0024848851 0.0057918546 - 1467400 0.0042173689 0.0025648253 0.0046076134 - 1467500 0.0051009837 0.0016478679 0.0041186569 - 1467600 0.0057623037 0.0012067668 0.0039978826 - 1467700 0.0040304008 0.0015924305 0.0035446559 - 1467800 0.0048284166 0.0017091015 0.0040478658 - 1467900 0.0040969127 0.0019570093 0.0039414514 - 1468000 0.0060652068 0.0021348671 0.0050727017 - 1468100 0.0053063062 0.0022060146 0.0047762567 - 1468200 0.0054375168 0.0022614198 0.004895217 - 1468300 0.0052123748 0.002471451 0.004996195 - 1468400 0.0060355451 0.0026647527 0.0055882199 - 1468500 0.0049142724 0.0027348755 0.0051152261 - 1468600 0.0046400576 0.0026382499 0.0048857778 - 1468700 0.0051567169 0.0021812272 0.0046790119 - 1468800 0.0061593573 0.0024975763 0.005481015 - 1468900 0.0052490452 0.003031924 0.0055744303 - 1469000 0.0050877039 0.0027418176 0.0052061742 - 1469100 0.0064057208 0.0022247739 0.005327545 - 1469200 0.005976163 0.0027591086 0.0056538126 - 1469300 0.0063250797 0.0032317561 0.0062954666 - 1469400 0.0070905916 0.0028726078 0.0063071131 - 1469500 0.0044446052 0.0024176065 0.0045704621 - 1469600 0.0042890828 0.002220526 0.0042980504 - 1469700 0.0050274963 0.0022230267 0.0046582202 - 1469800 0.0041695412 0.0024484634 0.0044680849 - 1469900 0.0054252749 0.0019424022 0.0045702697 - 1470000 0.0053498931 0.0016201944 0.0042115488 - 1470100 0.0042175849 0.0018147625 0.0038576552 - 1470200 0.0039988292 0.0023289283 0.0042658612 - 1470300 0.0052521471 0.0026747721 0.0052187808 - 1470400 0.005546019 0.0029790513 0.0056654043 - 1470500 0.0047759942 0.0030428745 0.0053562467 - 1470600 0.006386243 0.0029369583 0.0060302948 - 1470700 0.0054346118 0.0023425496 0.0049749397 - 1470800 0.0047045485 0.002701677 0.0049804427 - 1470900 0.0054651331 0.0028081891 0.005455363 - 1471000 0.0050780631 0.0030637546 0.0055234414 - 1471100 0.0041094265 0.0033372814 0.0053277848 - 1471200 0.0053352913 0.0024765537 0.0050608354 - 1471300 0.0050103105 0.0020971046 0.0045239737 - 1471400 0.003772461 0.0023584189 0.0041857047 - 1471500 0.0058772755 0.0026375109 0.0054843162 - 1471600 0.0051843898 0.0031088683 0.0056200571 - 1471700 0.0051944526 0.0028057856 0.0053218486 - 1471800 0.0039572667 0.0024537617 0.0043705627 - 1471900 0.0051575941 0.002474715 0.0049729246 - 1472000 0.0041014242 0.0025479071 0.0045345345 - 1472100 0.0055878093 0.0024194879 0.005126083 - 1472200 0.0038000415 0.002272239 0.0041128841 - 1472300 0.005353411 0.0018914908 0.0044845493 - 1472400 0.005906194 0.0019606431 0.0048214558 - 1472500 0.0055040507 0.0021896052 0.0048556298 - 1472600 0.0043703106 0.0024723184 0.0045891876 - 1472700 0.004409094 0.0024839479 0.0046196028 - 1472800 0.0042272393 0.0027484741 0.0047960431 - 1472900 0.006188501 0.0027147119 0.0057122671 - 1473000 0.0057191981 0.0023811832 0.0051514198 - 1473100 0.0044899124 0.002869692 0.0050444933 - 1473200 0.0057157864 0.0028702082 0.0056387923 - 1473300 0.0062213496 0.002543577 0.0055570432 - 1473400 0.005456392 0.0024120497 0.0050549895 - 1473500 0.0046258575 0.0024212013 0.004661851 - 1473600 0.0052027447 0.0024047411 0.0049248206 - 1473700 0.0043982272 0.0024074006 0.0045377919 - 1473800 0.0044458531 0.0026578268 0.0048112868 - 1473900 0.0035305577 0.0026203168 0.0043304307 - 1474000 0.0047710024 0.0024592187 0.004770173 - 1474100 0.0042614391 0.0026414029 0.0047055375 - 1474200 0.0051305652 0.0024951751 0.0049802926 - 1474300 0.0051535413 0.0024813884 0.0049776349 - 1474400 0.0049265871 0.0027535179 0.0051398335 - 1474500 0.0034948082 0.0030861866 0.0047789843 - 1474600 0.0047561724 0.0031116167 0.0054153877 - 1474700 0.0051828571 0.0031586275 0.0056690739 - 1474800 0.0046551379 0.0024959888 0.0047508212 - 1474900 0.0049986661 0.0019684774 0.0043897063 - 1475000 0.0040904193 0.0019438189 0.0039251157 - 1475100 0.0054195461 0.0024355682 0.0050606609 - 1475200 0.0042965556 0.0027882581 0.0048694022 - 1475300 0.0042457106 0.0025092077 0.0045657238 - 1475400 0.005244805 0.0025098724 0.0050503249 - 1475500 0.0047481101 0.0025727239 0.0048725897 - 1475600 0.0049006972 0.0030994913 0.0054732665 - 1475700 0.0054342256 0.0027459424 0.0053781454 - 1475800 0.0057857099 0.00229776 0.0051002133 - 1475900 0.0067680306 0.0021606215 0.0054388863 - 1476000 0.0055385445 0.0027687568 0.0054514893 - 1476100 0.0053315529 0.0029102322 0.0054927031 - 1476200 0.0060831602 0.002585514 0.0055320448 - 1476300 0.0054085062 0.0026988071 0.0053185522 - 1476400 0.0047313369 0.002783342 0.0050750833 - 1476500 0.0058839891 0.0027091415 0.0055591987 - 1476600 0.0052667549 0.0030537101 0.0056047945 - 1476700 0.0052783481 0.0028876048 0.0054443047 - 1476800 0.0065383915 0.002094562 0.0052615954 - 1476900 0.0045817119 0.0020867583 0.004306025 - 1477000 0.0050283669 0.0020289717 0.0044645869 - 1477100 0.0038707806 0.0021030892 0.0039779986 - 1477200 0.0042920342 0.002278068 0.004357022 - 1477300 0.0045645484 0.0022513195 0.0044622727 - 1477400 0.003694654 0.0023117774 0.0041013754 - 1477500 0.0074140287 0.001797872 0.0053890422 - 1477600 0.0058540342 0.0023190632 0.005154611 - 1477700 0.0047878333 0.0029133292 0.005232436 - 1477800 0.0076301469 0.0022616619 0.0059575143 - 1477900 0.0068712101 0.0024795042 0.0058077466 - 1478000 0.0055132914 0.0028823751 0.0055528756 - 1478100 0.0048868703 0.0028407131 0.0052077909 - 1478200 0.0060871388 0.0019986197 0.0049470775 - 1478300 0.0050743554 0.0021843725 0.0046422634 - 1478400 0.0058856081 0.0023615204 0.0052123618 - 1478500 0.0036902753 0.0022833679 0.004070845 - 1478600 0.0052140966 0.0020763462 0.0046019242 - 1478700 0.0042943241 0.0024020623 0.0044821255 - 1478800 0.005532859 0.0025120023 0.0051919809 - 1478900 0.0042791994 0.0022837965 0.0043565337 - 1479000 0.006787581 0.0020283568 0.0053160913 - 1479100 0.0037371549 0.0023141394 0.0041243238 - 1479200 0.0058809472 0.0018695353 0.0047181191 - 1479300 0.0041296177 0.0020498024 0.0040500859 - 1479400 0.0053771498 0.002246603 0.0048511599 - 1479500 0.0054595867 0.0022285204 0.0048730077 - 1479600 0.0056445261 0.0020948337 0.004828901 - 1479700 0.0053976835 0.0022153432 0.0048298461 - 1479800 0.0053165728 0.0021922773 0.0047674922 - 1479900 0.0049900379 0.0024681067 0.0048851563 - 1480000 0.0050718976 0.0024277523 0.0048844527 - 1480100 0.0047640635 0.0023480122 0.0046556055 - 1480200 0.0047264472 0.0021879367 0.0044773096 - 1480300 0.0059123387 0.0016500257 0.0045138147 - 1480400 0.004136953 0.0016185433 0.0036223799 - 1480500 0.0056200498 0.0016013844 0.004323596 - 1480600 0.0052163388 0.0020078688 0.0045345329 - 1480700 0.0052614215 0.0020527763 0.0046012773 - 1480800 0.0036584459 0.0025601138 0.0043321735 - 1480900 0.0051593386 0.0020462776 0.0045453322 - 1481000 0.0048094693 0.001930828 0.0042604147 - 1481100 0.0054279439 0.0019763791 0.0046055394 - 1481200 0.0054017707 0.0023335219 0.0049500046 - 1481300 0.0051254267 0.0027999238 0.0052825524 - 1481400 0.0040692302 0.0027982974 0.0047693308 - 1481500 0.0048482225 0.0022334872 0.004581845 - 1481600 0.0063793942 0.0017350282 0.0048250473 - 1481700 0.0051020843 0.0013425118 0.0038138339 - 1481800 0.0052409701 0.0015166755 0.0040552704 - 1481900 0.004695727 0.0021607594 0.0044352521 - 1482000 0.0053285147 0.0020764316 0.004657431 - 1482100 0.004698224 0.0017972067 0.0040729089 - 1482200 0.003691928 0.0023231522 0.0041114298 - 1482300 0.0053180156 0.0022127552 0.004788669 - 1482400 0.0048082279 0.0019727944 0.0043017798 - 1482500 0.0059785539 0.002029415 0.0049252771 - 1482600 0.0048274508 0.0020749628 0.0044132593 - 1482700 0.0040729609 0.0020724551 0.0040452955 - 1482800 0.0043957192 0.002450936 0.0045801125 - 1482900 0.0055777245 0.0022054277 0.004907138 - 1483000 0.0049863519 0.002195659 0.0046109232 - 1483100 0.0050903432 0.0018827448 0.0043483799 - 1483200 0.0062327284 0.0016051852 0.004624163 - 1483300 0.0035291963 0.0019196136 0.0036290681 - 1483400 0.0058381721 0.0016687622 0.0044966268 - 1483500 0.0042642399 0.0015701748 0.003635666 - 1483600 0.0065663546 0.0020978752 0.0052784532 - 1483700 0.005749216 0.002553032 0.0053378085 - 1483800 0.0051765196 0.0024472087 0.0049545854 - 1483900 0.0061064604 0.0017020895 0.0046599062 - 1484000 0.0049511519 0.0017087075 0.0041069217 - 1484100 0.0059331705 0.0018134559 0.0046873354 - 1484200 0.0041280716 0.001785213 0.0037847477 - 1484300 0.0048904219 0.0019202834 0.0042890815 - 1484400 0.0041109446 0.0019026208 0.0038938596 - 1484500 0.0047130296 0.0020794832 0.0043623569 - 1484600 0.0060579639 0.0022062807 0.0051406069 - 1484700 0.0045462151 0.0023768351 0.0045789081 - 1484800 0.0058191941 0.0025026653 0.0053213374 - 1484900 0.0071424488 0.0026233793 0.0060830029 - 1485000 0.0059538075 0.0021718529 0.0050557285 - 1485100 0.0058673193 0.0021620543 0.0050040371 - 1485200 0.0046977978 0.0022943788 0.0045698746 - 1485300 0.0046974668 0.0020517952 0.0043271307 - 1485400 0.0070835684 0.0019955459 0.0054266493 - 1485500 0.0038207213 0.0025465228 0.0043971847 - 1485600 0.0050472912 0.0023907202 0.0048355018 - 1485700 0.004594153 0.0021361256 0.0043614185 - 1485800 0.0048182401 0.00193531 0.004269145 - 1485900 0.0041596057 0.0018954145 0.0039102235 - 1486000 0.0055098167 0.0019366603 0.0046054778 - 1486100 0.0050543374 0.0019474125 0.0043956071 - 1486200 0.0052143065 0.001746892 0.0042725717 - 1486300 0.0041552295 0.0017679419 0.0037806311 - 1486400 0.0052547326 0.0017500977 0.0042953588 - 1486500 0.0054111628 0.0020025251 0.0046235571 - 1486600 0.0050696033 0.0021669263 0.0046225154 - 1486700 0.0052456719 0.0022207261 0.0047615984 - 1486800 0.0056496829 0.0019780764 0.0047146416 - 1486900 0.0045446647 0.0016565552 0.0038578772 - 1487000 0.0039191701 0.0020878057 0.0039861537 - 1487100 0.0042691731 0.0021082122 0.004176093 - 1487200 0.0041889942 0.001847204 0.003876248 - 1487300 0.0062633622 0.0020288277 0.0050626438 - 1487400 0.004250334 0.0022285924 0.004287348 - 1487500 0.0047984596 0.0021043938 0.0044286477 - 1487600 0.0048498424 0.0021713991 0.0045205415 - 1487700 0.0054894141 0.0021416511 0.004800586 - 1487800 0.0058571743 0.0020056539 0.0048427227 - 1487900 0.0042398225 0.0020685396 0.0041222036 - 1488000 0.0048099469 0.002336157 0.004665975 - 1488100 0.0039827087 0.0022824711 0.0042115956 - 1488200 0.005783661 0.0021527227 0.0049541834 - 1488300 0.00481355 0.002314746 0.0046463093 - 1488400 0.0036768096 0.0022836425 0.0040645971 - 1488500 0.0061749832 0.0022008946 0.0051919021 - 1488600 0.005391242 0.0023792952 0.004990678 - 1488700 0.0050694925 0.0026103559 0.0050658913 - 1488800 0.0048043573 0.0018408078 0.0041679184 - 1488900 0.0051122197 0.0015526673 0.0040288987 - 1489000 0.0030768076 0.0020259143 0.003516243 - 1489100 0.0041410651 0.0017749526 0.0037807811 - 1489200 0.0049935765 0.00182655 0.0042453137 - 1489300 0.0054803968 0.0020533543 0.0047079216 - 1489400 0.0045170474 0.0024197441 0.004607689 - 1489500 0.0050867998 0.0025497106 0.0050136292 - 1489600 0.0042307909 0.0024987037 0.0045479931 - 1489700 0.0036947938 0.0021665333 0.003956199 - 1489800 0.0056096714 0.0019323342 0.0046495188 - 1489900 0.0051936514 0.0021011751 0.00461685 - 1490000 0.0050670625 0.0017306345 0.0041849929 - 1490100 0.0051091938 0.001743046 0.0042178117 - 1490200 0.0055480502 0.0024547322 0.005142069 - 1490300 0.0053356351 0.0030254358 0.005609884 - 1490400 0.0061976443 0.0025870061 0.00558899 - 1490500 0.0047281088 0.0023062917 0.0045964694 - 1490600 0.0052597339 0.0020993804 0.004647064 - 1490700 0.004277447 0.0021408886 0.0042127769 - 1490800 0.0048767301 0.0024004496 0.0047626157 - 1490900 0.0043809375 0.0023268997 0.0044489163 - 1491000 0.007157505 0.0019125128 0.0053794293 - 1491100 0.0052807721 0.0018322031 0.0043900771 - 1491200 0.0066932554 0.0025401164 0.005782162 - 1491300 0.005979757 0.0029071776 0.0058036224 - 1491400 0.0057994359 0.0028003628 0.0056094645 - 1491500 0.0055590694 0.0027567049 0.0054493791 - 1491600 0.0061551541 0.0029741406 0.0059555434 - 1491700 0.0068842481 0.0029093565 0.0062439142 - 1491800 0.0041170823 0.0027457226 0.0047399344 - 1491900 0.0049898554 0.0024389231 0.0048558843 - 1492000 0.0049478603 0.002382194 0.0047788139 - 1492100 0.0040402146 0.0023445617 0.0043015406 - 1492200 0.0040201857 0.0022555002 0.0042027777 - 1492300 0.006239274 0.0022241968 0.0052463451 - 1492400 0.0047739617 0.0021621666 0.0044745543 - 1492500 0.0062614879 0.0023058026 0.0053387108 - 1492600 0.0057638002 0.0022587708 0.0050506116 - 1492700 0.0044449305 0.0019791576 0.0041321708 - 1492800 0.0052005051 0.0016452523 0.0041642469 - 1492900 0.0052043338 0.0017982244 0.0043190736 - 1493000 0.0044067231 0.0020876618 0.0042221683 - 1493100 0.0058031541 0.0020716562 0.0048825589 - 1493200 0.0054961372 0.0018879922 0.0045501836 - 1493300 0.003806672 0.0018742151 0.0037180719 - 1493400 0.0041893358 0.0022328105 0.00426202 - 1493500 0.0043607957 0.0022858664 0.0043981268 - 1493600 0.0039448907 0.0022789052 0.0041897116 - 1493700 0.0046303402 0.0024898583 0.0047326793 - 1493800 0.0049687724 0.002511586 0.0049183352 - 1493900 0.005216078 0.0029583776 0.0054849153 - 1494000 0.0039564267 0.0030287321 0.0049451263 - 1494100 0.0047325081 0.0025916917 0.0048840003 - 1494200 0.004308868 0.0025069613 0.0045940693 - 1494300 0.0048658759 0.0025346103 0.0048915189 - 1494400 0.0037536818 0.0025934398 0.0044116294 - 1494500 0.0052993777 0.0023431775 0.0049100636 - 1494600 0.0046509573 0.0025537281 0.0048065355 - 1494700 0.0057135837 0.0027079346 0.0054754517 - 1494800 0.004773551 0.0028562583 0.0051684471 - 1494900 0.0073955111 0.0023315014 0.0059137021 - 1495000 0.0054763125 0.0029292007 0.0055817896 - 1495100 0.0052144316 0.0031379183 0.0056636586 - 1495200 0.0041003252 0.0027123334 0.0046984285 - 1495300 0.0046814165 0.0021280201 0.0043955813 - 1495400 0.0052068802 0.0024683531 0.0049904357 - 1495500 0.0039765233 0.002757552 0.0046836804 - 1495600 0.0052793295 0.0025614806 0.0051186558 - 1495700 0.0072559162 0.0020065389 0.0055211233 - 1495800 0.0049853552 0.002547521 0.0049623024 - 1495900 0.0055453155 0.0024594402 0.0051454524 - 1496000 0.0049242616 0.0019930538 0.0043782431 - 1496100 0.0047986489 0.0018700009 0.0041943465 - 1496200 0.0059043984 0.002600817 0.00546076 - 1496300 0.0038178668 0.0023775654 0.0042268447 - 1496400 0.0054542479 0.0019266048 0.0045685061 - 1496500 0.003843049 0.0020506038 0.0039120807 - 1496600 0.0044631125 0.0018933131 0.0040551332 - 1496700 0.0049909093 0.0019904042 0.0044078759 - 1496800 0.0065730221 0.0022090458 0.0053928534 - 1496900 0.0057328426 0.0024679365 0.0052447821 - 1497000 0.0044749437 0.0024045301 0.004572081 - 1497100 0.0051054169 0.0022184287 0.004691365 - 1497200 0.004568793 0.0018647046 0.0040777137 - 1497300 0.0058605336 0.0021165442 0.0049552402 - 1497400 0.0065901644 0.0024501237 0.0056422346 - 1497500 0.0049672534 0.0022667889 0.0046728022 - 1497600 0.0044448979 0.0023057229 0.0044587203 - 1497700 0.0052211966 0.0020947972 0.0046238143 - 1497800 0.0057018558 0.0024502475 0.0052120839 - 1497900 0.0047173017 0.0029310253 0.0052159683 - 1498000 0.0049082529 0.0030032859 0.0053807209 - 1498100 0.0054147939 0.0030215831 0.0056443739 - 1498200 0.0062899922 0.0024560006 0.0055027155 - 1498300 0.0048103347 0.0025649886 0.0048949945 - 1498400 0.0048502315 0.0028964423 0.0052457732 - 1498500 0.0059197312 0.0032489682 0.0061163379 - 1498600 0.0053092142 0.0026672475 0.0052388981 - 1498700 0.0067123577 0.0020487635 0.0053000618 - 1498800 0.0053247385 0.0023020849 0.0048812551 - 1498900 0.0058527324 0.0027525906 0.0055875078 - 1499000 0.0065672195 0.003261612 0.006442609 - 1499100 0.0053673793 0.0030295106 0.0056293349 - 1499200 0.0067588681 0.0020029443 0.005276771 - 1499300 0.0052735227 0.0020638007 0.0046181632 - 1499400 0.0047850956 0.0028078733 0.005125654 - 1499500 0.005072873 0.0026393393 0.0050965121 - 1499600 0.0054697287 0.0024310294 0.0050804292 - 1499700 0.0050147247 0.002653142 0.0050821493 - 1499800 0.0042425308 0.0030298658 0.0050848416 - 1499900 0.0040472473 0.0026626597 0.0046230451 - 1500000 0.005391967 0.0024955895 0.0051073236 - 1500100 0.0054682375 0.0024130616 0.0050617391 - 1500200 0.0034275356 0.0025798354 0.004240048 - 1500300 0.0052979033 0.0026616875 0.0052278594 - 1500400 0.0049696894 0.00256389 0.0049710833 - 1500500 0.0056962334 0.0024809108 0.0052400238 - 1500600 0.0084394238 0.0020381304 0.0061259763 - 1500700 0.0040544766 0.0025453819 0.004509269 - 1500800 0.0040078693 0.0028185719 0.0047598836 - 1500900 0.006600141 0.0026945961 0.0058915393 - 1501000 0.005254805 0.0026472671 0.0051925633 - 1501100 0.0046546942 0.0023586042 0.0046132217 - 1501200 0.0055715737 0.0022415292 0.0049402602 - 1501300 0.0057956687 0.0022725187 0.0050797957 - 1501400 0.0058936482 0.0021463039 0.0050010397 - 1501500 0.0049877128 0.0019706151 0.0043865384 - 1501600 0.0055784461 0.0026318307 0.0053338905 - 1501700 0.0055660112 0.0031192022 0.0058152389 - 1501800 0.0066590729 0.002527848 0.0057533364 - 1501900 0.0051037539 0.0017830663 0.004255197 - 1502000 0.0045319587 0.0018606142 0.0040557816 - 1502100 0.004977855 0.0019482666 0.0043594151 - 1502200 0.005173136 0.0020857053 0.004591443 - 1502300 0.0036756262 0.0020145811 0.0037949626 - 1502400 0.0058185183 0.0018877584 0.0047061032 - 1502500 0.0044842041 0.0020455779 0.0042176142 - 1502600 0.005518871 0.0020175809 0.0046907841 - 1502700 0.0066752219 0.0021028036 0.0053361142 - 1502800 0.005614568 0.0020638006 0.004783357 - 1502900 0.0047438241 0.0021815534 0.0044793432 - 1503000 0.0054250193 0.0022470715 0.0048748153 - 1503100 0.0045569251 0.0023578866 0.0045651472 - 1503200 0.0058508483 0.0021617884 0.004995793 - 1503300 0.0054118292 0.0018522453 0.0044736001 - 1503400 0.0038733041 0.0022744395 0.0041505712 - 1503500 0.0035942052 0.0022381228 0.003979066 - 1503600 0.0050190378 0.0018423824 0.0042734788 - 1503700 0.0057417441 0.0018363681 0.0046175254 - 1503800 0.0042757315 0.0023310311 0.0044020885 - 1503900 0.0047740055 0.0022262141 0.004538623 - 1504000 0.005487152 0.0021817691 0.0048396083 - 1504100 0.0077432812 0.0020347027 0.0057853545 - 1504200 0.0050486395 0.0022102093 0.004655644 - 1504300 0.0070789805 0.0021726119 0.005601493 - 1504400 0.0040387872 0.0024647812 0.0044210687 - 1504500 0.0050486134 0.002578387 0.0050238092 - 1504600 0.004724324 0.0025759273 0.0048642717 - 1504700 0.0060772979 0.002542617 0.0054863082 - 1504800 0.0059013442 0.0025918616 0.0054503252 - 1504900 0.0053515646 0.002439487 0.0050316512 - 1505000 0.0040912628 0.0023453789 0.0043270844 - 1505100 0.0049990041 0.0025070305 0.0049284232 - 1505200 0.0052837571 0.0027826172 0.005341937 - 1505300 0.0052590758 0.0027637824 0.0053111472 - 1505400 0.0045049469 0.0025783204 0.004760404 - 1505500 0.0051025614 0.0026814833 0.0051530365 - 1505600 0.0069982289 0.0026910716 0.0060808387 - 1505700 0.0034709757 0.0028530913 0.0045343451 - 1505800 0.0048268019 0.0024340844 0.0047720665 - 1505900 0.0044754574 0.0022618212 0.0044296209 - 1506000 0.0060817651 0.002275757 0.0052216119 - 1506100 0.0049973788 0.0023111951 0.0047318005 - 1506200 0.0053979202 0.0023261461 0.0049407637 - 1506300 0.0056295214 0.0022969425 0.005023742 - 1506400 0.0045138011 0.0022848414 0.0044712138 - 1506500 0.004665066 0.0024650186 0.00472466 - 1506600 0.0030157095 0.0028482977 0.004309032 - 1506700 0.0059962878 0.0027522343 0.0056566862 - 1506800 0.0063096081 0.0027816633 0.0058378797 - 1506900 0.0047589934 0.0027283652 0.0050335027 - 1507000 0.0065415912 0.0025180422 0.0056866254 - 1507100 0.0052145179 0.0019867926 0.0045125747 - 1507200 0.0035282714 0.0019865039 0.0036955103 - 1507300 0.0059480524 0.0019052749 0.0047863628 - 1507400 0.0074867422 0.0020258921 0.0056522829 - 1507500 0.0051737642 0.0024659569 0.004971999 - 1507600 0.003959078 0.0024986301 0.0044163085 - 1507700 0.0057750287 0.0023217916 0.0051190712 - 1507800 0.0047545577 0.0023028329 0.0046058218 - 1507900 0.0056972324 0.0021900065 0.0049496035 - 1508000 0.0058194712 0.0019332008 0.0047520072 - 1508100 0.0049793942 0.0019969272 0.0044088213 - 1508200 0.0050442584 0.002283153 0.0047264656 - 1508300 0.0057045424 0.0025134136 0.0052765514 - 1508400 0.0050951031 0.0024053753 0.0048733159 - 1508500 0.0051705473 0.0022894321 0.004793916 - 1508600 0.0037994537 0.0026972276 0.004537588 - 1508700 0.0059422453 0.0024081132 0.0052863882 - 1508800 0.0047537682 0.0025004575 0.004803064 - 1508900 0.0059558093 0.0023170312 0.0052018763 - 1509000 0.0042812632 0.0022552463 0.0043289832 - 1509100 0.0046126828 0.0021880857 0.0044223539 - 1509200 0.0043856207 0.0021466985 0.0042709835 - 1509300 0.0054961077 0.0020215602 0.0046837374 - 1509400 0.0058359754 0.0018501112 0.0046769118 - 1509500 0.0046516132 0.0021932856 0.0044464107 - 1509600 0.0044435857 0.0022295264 0.0043818882 - 1509700 0.0041537929 0.0021007782 0.0041127717 - 1509800 0.0065052577 0.0020199123 0.0051708965 - 1509900 0.0049997297 0.0022112102 0.0046329543 - 1510000 0.0043948534 0.0020862418 0.0042149989 - 1510100 0.0047218803 0.0018873627 0.0041745235 - 1510200 0.0042081904 0.0022254086 0.0042637509 - 1510300 0.005258069 0.0022916508 0.004838528 - 1510400 0.0050714345 0.0023341844 0.0047906604 - 1510500 0.0056822333 0.0023022392 0.0050545709 - 1510600 0.0060787185 0.0025767656 0.0055211449 - 1510700 0.0053092486 0.0025543414 0.0051260087 - 1510800 0.0050855806 0.0020384034 0.0045017315 - 1510900 0.00523639 0.001982109 0.0045184854 - 1511000 0.003208463 0.0024982925 0.0040523918 - 1511100 0.0047378377 0.0021273302 0.0044222203 - 1511200 0.0067183582 0.0021289698 0.0053831745 - 1511300 0.0054591127 0.0027379717 0.0053822294 - 1511400 0.0064713502 0.0029050801 0.0060396404 - 1511500 0.004330383 0.0030686449 0.0051661742 - 1511600 0.0047264532 0.0028660752 0.005155451 - 1511700 0.0031370083 0.0025843549 0.0041038434 - 1511800 0.0056008931 0.002529563 0.0052424956 - 1511900 0.0067699217 0.0024244852 0.0057036661 - 1512000 0.0047689416 0.0023640688 0.0046740248 - 1512100 0.0044607643 0.0023998791 0.0045605618 - 1512200 0.0048110323 0.0027617529 0.0050920967 - 1512300 0.0062326429 0.0025482623 0.0055671987 - 1512400 0.0050013646 0.0022933987 0.0047159347 - 1512500 0.0048099057 0.0021906598 0.0045204579 - 1512600 0.006733147 0.0026145466 0.0058759147 - 1512700 0.0051315395 0.0031374926 0.0056230821 - 1512800 0.0052873938 0.0030270056 0.005588087 - 1512900 0.0049498888 0.0027322889 0.0051298912 - 1513000 0.0051821017 0.0023608821 0.0048709626 - 1513100 0.003652697 0.0025309924 0.0043002676 - 1513200 0.0045923891 0.0026734714 0.0048979099 - 1513300 0.0049680727 0.0025646955 0.0049711057 - 1513400 0.0050240363 0.002338969 0.0047724865 - 1513500 0.0059291254 0.0018943529 0.004766273 - 1513600 0.0064814711 0.0018104882 0.0049499508 - 1513700 0.005097892 0.0021432146 0.0046125061 - 1513800 0.0046520625 0.0023272486 0.0045805914 - 1513900 0.0064507048 0.0021363241 0.0052608842 - 1514000 0.0038010178 0.0022503744 0.0040914924 - 1514100 0.0052916069 0.0025594105 0.0051225326 - 1514200 0.0043880092 0.0030104598 0.0051359017 - 1514300 0.0036163475 0.0032078688 0.0049595371 - 1514400 0.0058218344 0.0029336174 0.0057535685 - 1514500 0.0057587682 0.0027114487 0.0055008521 - 1514600 0.0040029704 0.0025887225 0.0045276613 - 1514700 0.0047734935 0.0028460018 0.0051581628 - 1514800 0.0030792973 0.0034129825 0.0049045171 - 1514900 0.0048410209 0.0035162204 0.0058610899 - 1515000 0.0068180847 0.0033933101 0.0066958199 - 1515100 0.0056107183 0.0033137075 0.0060313991 - 1515200 0.0071140726 0.00324889 0.006694769 - 1515300 0.0047911522 0.0028407987 0.005161513 - 1515400 0.0053529431 0.0028875587 0.0054803906 - 1515500 0.004437171 0.0026115728 0.0047608275 - 1515600 0.0068796085 0.0027909926 0.0061233029 - 1515700 0.0048175219 0.0027470297 0.0050805168 - 1515800 0.0049257222 0.0024983794 0.004884276 - 1515900 0.005858802 0.001941589 0.0047794463 - 1516000 0.0064051292 0.0019217696 0.0050242541 - 1516100 0.0052851572 0.0023774694 0.0049374674 - 1516200 0.0041539423 0.0024053279 0.0044173937 - 1516300 0.0052446163 0.0026706705 0.0052110315 - 1516400 0.0043961657 0.0027262913 0.004855684 - 1516500 0.006212903 0.0025891175 0.0055984924 - 1516600 0.0058115487 0.0026051141 0.005420083 - 1516700 0.0042065122 0.0026073491 0.0046448784 - 1516800 0.0044058912 0.0024874463 0.0046215499 - 1516900 0.005113136 0.002768596 0.0052452712 - 1517000 0.0045464144 0.0031460338 0.0053482032 - 1517100 0.0060625474 0.0028324735 0.0057690198 - 1517200 0.0050687233 0.0025840117 0.0050391745 - 1517300 0.0072775188 0.0024580667 0.0059831149 - 1517400 0.0051670094 0.0023447324 0.0048475026 - 1517500 0.0040799937 0.0022905317 0.0042667786 - 1517600 0.0034428902 0.0021209967 0.0037886466 - 1517700 0.0046126716 0.0020346857 0.0042689485 - 1517800 0.0057051643 0.0018829777 0.0046464167 - 1517900 0.0050695128 0.0019210955 0.0043766408 - 1518000 0.0066577631 0.0019748282 0.0051996822 - 1518100 0.0052959291 0.0019921583 0.0045573739 - 1518200 0.0053822134 0.0018299904 0.004437 - 1518300 0.0053086742 0.0015980403 0.0041694294 - 1518400 0.0054165306 0.0015758832 0.0041995152 - 1518500 0.0050931877 0.0016362264 0.0041032391 - 1518600 0.0044791591 0.0019285912 0.0040981839 - 1518700 0.0049959638 0.002172694 0.004592614 - 1518800 0.0041418492 0.002814155 0.0048203632 - 1518900 0.0045913239 0.0020974566 0.0043213791 - 1519000 0.0071830392 0.001913368 0.0053926526 - 1519100 0.0047182643 0.0021385759 0.0044239851 - 1519200 0.0069566805 0.0018851864 0.0052548285 - 1519300 0.0037083459 0.0020104365 0.0038066665 - 1519400 0.0041133304 0.0021488441 0.0041412385 - 1519500 0.0066287998 0.00201613 0.0052269548 - 1519600 0.0058821241 0.0025064324 0.0053555862 - 1519700 0.0052259395 0.0029563557 0.0054876701 - 1519800 0.0065573987 0.0028372625 0.0060135025 - 1519900 0.0089463739 0.0026172457 0.0069506456 - 1520000 0.0065474935 0.0022321964 0.0054036386 - 1520100 0.0055510364 0.0025135654 0.0052023486 - 1520200 0.0058049387 0.0026370471 0.0054488143 - 1520300 0.005493844 0.0026271139 0.0052881946 - 1520400 0.0050583876 0.0028512557 0.0053014121 - 1520500 0.0051014632 0.003121894 0.0055929153 - 1520600 0.0044885748 0.0030643542 0.0052385076 - 1520700 0.0054012553 0.0025722405 0.0051884735 - 1520800 0.0042287849 0.0021172571 0.0041655748 - 1520900 0.0052539442 0.0019430455 0.0044879248 - 1521000 0.0052606736 0.0023296951 0.0048778339 - 1521100 0.0050005233 0.0024795835 0.004901712 - 1521200 0.0066735817 0.0026569251 0.0058894412 - 1521300 0.0053296603 0.0028770572 0.0054586114 - 1521400 0.0065353264 0.0027022535 0.0058678023 - 1521500 0.0061327482 0.0032460925 0.0062166425 - 1521600 0.0058992513 0.0040217218 0.0068791717 - 1521700 0.0069443917 0.0035971614 0.0069608512 - 1521800 0.0056206096 0.0028125234 0.0055350061 - 1521900 0.0052831636 0.0021936166 0.004752649 - 1522000 0.0067290562 0.0023391834 0.00559857 - 1522100 0.0052951241 0.0028122174 0.0053770431 - 1522200 0.0046911234 0.0028382652 0.0051105281 - 1522300 0.0057740351 0.0023981143 0.0051949125 - 1522400 0.0049106954 0.0028107489 0.005189367 - 1522500 0.0051294253 0.0032530792 0.0057376445 - 1522600 0.0069066749 0.0024779927 0.0058234134 - 1522700 0.0072016563 0.0024086059 0.0058969082 - 1522800 0.0060828089 0.0026562027 0.0056025633 - 1522900 0.003685837 0.0028420704 0.0046273977 - 1523000 0.0047394273 0.0023901877 0.0046858478 - 1523100 0.0058548714 0.0024875582 0.0053235115 - 1523200 0.0033487126 0.0030950037 0.0047170364 - 1523300 0.0064951024 0.0027971854 0.0059432506 - 1523400 0.0058726599 0.0024008115 0.0052453811 - 1523500 0.0049927155 0.0030599057 0.0054782522 - 1523600 0.0053687169 0.0031263213 0.0057267936 - 1523700 0.0053521834 0.0028800962 0.0054725601 - 1523800 0.0077497072 0.0025457897 0.0062995541 - 1523900 0.0058307214 0.0026457392 0.0054699949 - 1524000 0.0060329954 0.0024858469 0.005408079 - 1524100 0.0051006904 0.0026520058 0.0051226527 - 1524200 0.0045643074 0.0022769421 0.0044877785 - 1524300 0.0045380957 0.0019136592 0.0041117993 - 1524400 0.005687828 0.0019232528 0.0046782945 - 1524500 0.0040131051 0.0022021767 0.0041460245 - 1524600 0.0040284306 0.0021113019 0.0040625729 - 1524700 0.004078557 0.0019386425 0.0039141935 - 1524800 0.0057913044 0.0018115042 0.0046166673 - 1524900 0.0040241515 0.0024694639 0.0044186622 - 1525000 0.0057146143 0.0026153409 0.0053833572 - 1525100 0.0057572734 0.0026190828 0.0054077621 - 1525200 0.0061140807 0.0029249159 0.0058864237 - 1525300 0.0051445183 0.0029653417 0.0054572177 - 1525400 0.004511997 0.0027678536 0.0049533521 - 1525500 0.0036219069 0.0029686452 0.0047230063 - 1525600 0.0064041956 0.0026283431 0.0057303754 - 1525700 0.0067161826 0.0025407841 0.005793935 - 1525800 0.0062912964 0.0021594536 0.0052068002 - 1525900 0.0057274913 0.0020912127 0.0048654663 - 1526000 0.0053418239 0.002275318 0.0048627639 - 1526100 0.0056349329 0.0023111935 0.0050406141 - 1526200 0.0057040253 0.0024527083 0.0052155956 - 1526300 0.0050304481 0.0024303445 0.0048669679 - 1526400 0.0064459372 0.0021751979 0.0052974487 - 1526500 0.006216941 0.0019162951 0.0049276259 - 1526600 0.0062742771 0.0024253074 0.0054644104 - 1526700 0.0033920912 0.0029008603 0.0045439045 - 1526800 0.0049837746 0.0022731766 0.0046871924 - 1526900 0.0042262339 0.002019344 0.0040664261 - 1527000 0.0057606167 0.0023020349 0.0050923336 - 1527100 0.0037095431 0.0027199229 0.0045167329 - 1527200 0.0047251083 0.0028555807 0.0051443051 - 1527300 0.0061763631 0.0024348375 0.0054265134 - 1527400 0.0046357502 0.0020697467 0.0043151882 - 1527500 0.006311376 0.0020592098 0.0051162826 - 1527600 0.0063706679 0.0021537206 0.0052395128 - 1527700 0.0046267961 0.0020650329 0.0043061372 - 1527800 0.0060550905 0.0018617589 0.0047946934 - 1527900 0.0048333307 0.0020586012 0.0043997457 - 1528000 0.0047598541 0.0024850844 0.0047906387 - 1528100 0.0047415352 0.0021564955 0.0044531767 - 1528200 0.0047194619 0.0019189003 0.0042048897 - 1528300 0.0044102519 0.0019490497 0.0040852654 - 1528400 0.0039711705 0.0024318138 0.0043553495 - 1528500 0.0052404466 0.0024381448 0.0049764862 - 1528600 0.0068619367 0.0025456971 0.0058694477 - 1528700 0.006679804 0.0025231539 0.0057586839 - 1528800 0.0053587548 0.0023810339 0.0049766808 - 1528900 0.0053969911 0.0026444526 0.0052586202 - 1529000 0.0031799254 0.0025086225 0.0040488989 - 1529100 0.005553668 0.0020197348 0.0047097927 - 1529200 0.0057930503 0.0021682527 0.0049742614 - 1529300 0.0056971425 0.0029889069 0.0057484603 - 1529400 0.0043176012 0.0032349073 0.0053262453 - 1529500 0.0049380207 0.0031183885 0.0055102423 - 1529600 0.0039491277 0.0026401058 0.0045529646 - 1529700 0.0045088289 0.0018869476 0.0040709116 - 1529800 0.0057490867 0.0018578868 0.0046426006 - 1529900 0.0047216112 0.0017447214 0.0040317518 - 1530000 0.0049973223 0.0017472191 0.0041677971 - 1530100 0.005047189 0.0022327246 0.0046774568 - 1530200 0.0045326232 0.0024750193 0.0046705087 - 1530300 0.0051208417 0.0025413105 0.0050217182 - 1530400 0.0043694259 0.0024226919 0.0045391326 - 1530500 0.0067688609 0.0025130737 0.0057917407 - 1530600 0.0071656045 0.0027064789 0.0061773185 - 1530700 0.0054819656 0.0031448532 0.0058001803 - 1530800 0.0051719879 0.0030697086 0.0055748903 - 1530900 0.0048095701 0.0024066583 0.0047362939 - 1531000 0.00381747 0.0022509714 0.0041000585 - 1531100 0.0048674171 0.0022381289 0.0045957841 - 1531200 0.0043323914 0.0018798702 0.0039783723 - 1531300 0.0052331631 0.0013995626 0.003934376 - 1531400 0.0049382309 0.001567074 0.0039590297 - 1531500 0.006134076 0.0021073591 0.0050785522 - 1531600 0.0048916553 0.0023610481 0.0047304437 - 1531700 0.0042175358 0.0020656414 0.0041085103 - 1531800 0.0038070387 0.0020010158 0.0038450501 - 1531900 0.0048229927 0.0017798739 0.004116011 - 1532000 0.0048150314 0.0017927779 0.0041250588 - 1532100 0.0057375277 0.0019803089 0.0047594239 - 1532200 0.0053579738 0.0019005988 0.0044958674 - 1532300 0.0054386889 0.0019873421 0.004621707 - 1532400 0.0059162583 0.0024460526 0.0053117403 - 1532500 0.0061818537 0.0027528337 0.0057471691 - 1532600 0.0047233049 0.0030605909 0.0053484417 - 1532700 0.0056459292 0.0028029732 0.0055377202 - 1532800 0.0053422351 0.0024691484 0.0050567935 - 1532900 0.0065092657 0.0024053876 0.0055583132 - 1533000 0.0060462098 0.0022792857 0.0052079186 - 1533100 0.005685922 0.0020038494 0.0047579679 - 1533200 0.0075167134 0.0023211018 0.0059620098 - 1533300 0.0060808008 0.0028718073 0.0058171952 - 1533400 0.0062765717 0.0030621368 0.0061023512 - 1533500 0.00460427 0.0027811304 0.0050113237 - 1533600 0.0065100384 0.0020003802 0.0051536801 - 1533700 0.0048556174 0.0019842618 0.0043362015 - 1533800 0.0041709224 0.0018056059 0.0038258964 - 1533900 0.0053745314 0.0021534749 0.0047567636 - 1534000 0.0037659201 0.0023537041 0.0041778216 - 1534100 0.0036466218 0.0019769107 0.0037432431 - 1534200 0.0060279252 0.0022206342 0.0051404105 - 1534300 0.006115698 0.0023957672 0.0053580584 - 1534400 0.0049554498 0.002475283 0.004875579 - 1534500 0.0054832062 0.0027737105 0.0054296386 - 1534600 0.0045081064 0.0025869044 0.0047705184 - 1534700 0.0044151631 0.0025153969 0.0046539916 - 1534800 0.0041230938 0.0027553798 0.0047525034 - 1534900 0.0046633107 0.0030190549 0.005277846 - 1535000 0.0052845571 0.0024124116 0.004972119 - 1535100 0.0057315732 0.0021904489 0.0049666797 - 1535200 0.0041943822 0.0024382849 0.0044699388 - 1535300 0.0046798444 0.0026180448 0.0048848445 - 1535400 0.0059602264 0.002513991 0.0054009756 - 1535500 0.0051666272 0.0029252944 0.0054278794 - 1535600 0.0044883906 0.0030169608 0.005191025 - 1535700 0.004595705 0.0027173102 0.0049433548 - 1535800 0.0061463803 0.0025968294 0.0055739824 - 1535900 0.0061020541 0.0024250976 0.0053807801 - 1536000 0.0057038054 0.0020521669 0.0048149477 - 1536100 0.0058541224 0.0019552126 0.0047908031 - 1536200 0.0043637241 0.0026999818 0.0048136607 - 1536300 0.0055830162 0.0029676081 0.0056718816 - 1536400 0.0046329866 0.0030257561 0.005269859 - 1536500 0.0051584037 0.0025718648 0.0050704666 - 1536600 0.0062931994 0.0027138874 0.0057621559 - 1536700 0.0055477348 0.0032772193 0.0059644034 - 1536800 0.0061132985 0.0031211556 0.0060822845 - 1536900 0.0037353255 0.0032931116 0.0051024099 - 1537000 0.0053229341 0.0033360067 0.0059143029 - 1537100 0.0046616737 0.0036970032 0.0059550014 - 1537200 0.0053915194 0.0035072117 0.0061187289 - 1537300 0.0032724893 0.003221151 0.004806263 - 1537400 0.0053023668 0.0027828608 0.0053511947 - 1537500 0.0037883469 0.0027495561 0.0045845366 - 1537600 0.0063525742 0.0024589749 0.005536003 - 1537700 0.0042816526 0.0021815656 0.0042554911 - 1537800 0.0056479305 0.0021442065 0.0048799229 - 1537900 0.0032893922 0.0027200582 0.0043133576 - 1538000 0.0051604343 0.0028036007 0.0053031861 - 1538100 0.0034857601 0.002791869 0.004480284 - 1538200 0.0056664172 0.0025072339 0.0052519047 - 1538300 0.0048544245 0.0026846791 0.005036041 - 1538400 0.0040331666 0.0029860913 0.0049396564 - 1538500 0.0059755281 0.0028701222 0.0057645186 - 1538600 0.0066036797 0.0030722133 0.0062708706 - 1538700 0.0047189396 0.0034666427 0.0057523791 - 1538800 0.004659844 0.0035587958 0.0058159077 - 1538900 0.0043701407 0.0039314831 0.0060482701 - 1539000 0.0047981421 0.0035056813 0.0058297814 - 1539100 0.0066725155 0.0030348935 0.0062668932 - 1539200 0.0060650031 0.0030912167 0.0060289526 - 1539300 0.0045336925 0.0033982708 0.0055942781 - 1539400 0.0053808188 0.003416013 0.0060223471 - 1539500 0.0044230855 0.0040012211 0.0061436532 - 1539600 0.0057512822 0.0038689584 0.0066547358 - 1539700 0.0046747125 0.0030331443 0.0052974582 - 1539800 0.0057471544 0.0024883643 0.0052721422 - 1539900 0.0052727931 0.0023233805 0.0048773896 - 1540000 0.0048078107 0.0024354863 0.0047642695 - 1540100 0.0050218408 0.0025955771 0.0050280313 - 1540200 0.0053913221 0.0025058668 0.0051172884 - 1540300 0.0045510564 0.0023882271 0.004592645 - 1540400 0.0076239389 0.0021672956 0.005860141 - 1540500 0.0053806617 0.002340476 0.004946734 - 1540600 0.0054819856 0.002576816 0.0052321528 - 1540700 0.0053811901 0.0028037649 0.0054102788 - 1540800 0.004879618 0.0027240799 0.0050876449 - 1540900 0.0060573709 0.0029010782 0.0058351172 - 1541000 0.0057019477 0.0026858834 0.0054477644 - 1541100 0.0074046968 0.0023714239 0.0059580739 - 1541200 0.0055972312 0.0022910696 0.0050022285 - 1541300 0.0048249319 0.0022072333 0.0045443097 - 1541400 0.0043642281 0.0022330614 0.0043469844 - 1541500 0.0041363049 0.0022069037 0.0042104263 - 1541600 0.0040764561 0.0021802991 0.0041548326 - 1541700 0.0049618281 0.0023332904 0.0047366759 - 1541800 0.0044962869 0.0021279203 0.0043058093 - 1541900 0.0052901953 0.0025363907 0.0050988291 - 1542000 0.0054502145 0.0027982366 0.0054381842 - 1542100 0.004911633 0.0030159773 0.0053950495 - 1542200 0.0044252069 0.0028000859 0.0049435456 - 1542300 0.0068383527 0.0024814318 0.0057937589 - 1542400 0.0054435906 0.0024453718 0.005082111 - 1542500 0.0054509609 0.0024175472 0.0050578564 - 1542600 0.0036104805 0.0029393433 0.0046881698 - 1542700 0.0043923032 0.0029686156 0.0050961374 - 1542800 0.0051299233 0.0026798668 0.0051646735 - 1542900 0.0062860742 0.0024221203 0.0054669375 - 1543000 0.0045391163 0.0024924781 0.0046911125 - 1543100 0.0057082868 0.0018544262 0.0046193776 - 1543200 0.0036724159 0.0017456333 0.0035244598 - 1543300 0.0037875389 0.0018219668 0.003656556 - 1543400 0.0050249733 0.00188866 0.0043226315 - 1543500 0.0057108104 0.0019696728 0.0047358465 - 1543600 0.0053842096 0.0022414983 0.0048494748 - 1543700 0.0051278902 0.0027391525 0.0052229743 - 1543800 0.0056986954 0.0025396286 0.0052999341 - 1543900 0.0055139982 0.0023338954 0.0050047383 - 1544000 0.0069820584 0.0024148014 0.005796736 - 1544100 0.0056641422 0.002334605 0.0050781738 - 1544200 0.0048784031 0.0021634979 0.0045264744 - 1544300 0.0052077988 0.0018358571 0.0043583847 - 1544400 0.0031008699 0.002039045 0.0035410289 - 1544500 0.0060038152 0.0020213919 0.0049294899 - 1544600 0.0064675682 0.0024790575 0.0056117859 - 1544700 0.0042751897 0.0027951202 0.0048659152 - 1544800 0.0040617944 0.0030382264 0.005005658 - 1544900 0.0057312871 0.0024612086 0.0052373008 - 1545000 0.0046632995 0.0023989823 0.004657768 - 1545100 0.0040421307 0.0022177581 0.0041756651 - 1545200 0.0058087131 0.0019594178 0.0047730132 - 1545300 0.0055474579 0.0023566146 0.0050436645 - 1545400 0.0051083646 0.0027243851 0.0051987492 - 1545500 0.0050934693 0.0025947986 0.0050619478 - 1545600 0.0065423819 0.0019655234 0.0051344896 - 1545700 0.0054545242 0.0014485508 0.004090586 - 1545800 0.0066364669 0.0016569879 0.0048715266 - 1545900 0.0058141766 0.0022519928 0.0050682345 - 1546000 0.0049244443 0.0024922621 0.0048775398 - 1546100 0.0058152561 0.0022357546 0.0050525193 - 1546200 0.0034717967 0.0025273329 0.0042089845 - 1546300 0.0043397674 0.0024036579 0.0045057328 - 1546400 0.0038928326 0.0022377344 0.0041233252 - 1546500 0.0052632168 0.0018595963 0.0044089669 - 1546600 0.0050994951 0.0020047226 0.0044747906 - 1546700 0.0059251157 0.0020748851 0.0049448631 - 1546800 0.0067560147 0.0022222418 0.0054946864 - 1546900 0.0047862267 0.0024343027 0.0047526313 - 1547000 0.004039567 0.0026486735 0.0046053388 - 1547100 0.004853204 0.0026391783 0.004989949 - 1547200 0.0041605206 0.002560574 0.0045758262 - 1547300 0.0050725544 0.0024429477 0.0048999663 - 1547400 0.0047186292 0.0023559648 0.0046415508 - 1547500 0.0048620048 0.0024245684 0.004779602 - 1547600 0.0048795018 0.0023836883 0.004747197 - 1547700 0.0054913161 0.0024660056 0.0051258619 - 1547800 0.0049288892 0.0023814311 0.0047688618 - 1547900 0.0058303621 0.0028562737 0.0056803553 - 1548000 0.0063821049 0.0035944731 0.0066858052 - 1548100 0.0058249545 0.0032486289 0.0060700912 - 1548200 0.0062438368 0.0034309212 0.0064552796 - 1548300 0.0056379986 0.003053987 0.0057848926 - 1548400 0.0059740347 0.0024700149 0.005363688 - 1548500 0.0038752622 0.0020529903 0.0039300705 - 1548600 0.0040219113 0.0021777208 0.0041258342 - 1548700 0.005942808 0.0019927524 0.0048713 - 1548800 0.0047153261 0.0023345067 0.0046184927 - 1548900 0.0049593488 0.0024369251 0.0048391097 - 1549000 0.0050381079 0.002264049 0.0047043825 - 1549100 0.0059562932 0.0021892915 0.005074371 - 1549200 0.0072277467 0.0027671292 0.006268069 - 1549300 0.0058049349 0.0031527596 0.0059645249 - 1549400 0.0047528117 0.0033128605 0.0056150036 - 1549500 0.0059819052 0.0035221725 0.0064196578 - 1549600 0.0044743048 0.0031282783 0.0052955197 - 1549700 0.0053799847 0.0028112756 0.0054172057 - 1549800 0.0055432839 0.0029213875 0.0056064156 - 1549900 0.0045586922 0.0026948533 0.0049029698 - 1550000 0.0069249362 0.0024560388 0.0058103047 - 1550100 0.0061589195 0.0021452097 0.0051284363 - 1550200 0.0043431459 0.0022612974 0.0043650087 - 1550300 0.0060581698 0.0022047047 0.0051391307 - 1550400 0.0074359927 0.0024189681 0.0060207771 - 1550500 0.0048172184 0.0023341974 0.0046675375 - 1550600 0.0051539578 0.0022709805 0.0047674288 - 1550700 0.0054919653 0.0022913658 0.0049515365 - 1550800 0.0069713208 0.0020794296 0.0054561632 - 1550900 0.0051903058 0.0021099188 0.0046239732 - 1551000 0.0066815544 0.0022508274 0.0054872053 - 1551100 0.0048906283 0.0021545887 0.0045234868 - 1551200 0.0049591075 0.0019567834 0.0043588511 - 1551300 0.0064467673 0.0023898241 0.005512477 - 1551400 0.0053407448 0.0026481821 0.0052351053 - 1551500 0.0048855794 0.002207671 0.0045741236 - 1551600 0.0062588298 0.0023519662 0.0053835869 - 1551700 0.0060434265 0.0023575313 0.005284816 - 1551800 0.0039079931 0.0024641166 0.0043570508 - 1551900 0.0040319075 0.0022303829 0.0041833382 - 1552000 0.0040647749 0.0019093305 0.0038782058 - 1552100 0.0046510565 0.0020988722 0.0043517277 - 1552200 0.0059982107 0.0024147057 0.005320089 - 1552300 0.0042683422 0.0031686023 0.0052360805 - 1552400 0.0068953841 0.0027698477 0.0061097994 - 1552500 0.0054199652 0.0027353543 0.0053606499 - 1552600 0.003778754 0.003144417 0.004974751 - 1552700 0.0041779641 0.0029711369 0.0049948383 - 1552800 0.0043711772 0.0029289084 0.0050461973 - 1552900 0.0040092099 0.0032461781 0.0051881391 - 1553000 0.0064047027 0.0028528994 0.0059551773 - 1553100 0.0059759397 0.002806705 0.0057013008 - 1553200 0.005668937 0.0032952544 0.0060411457 - 1553300 0.0057278984 0.0030868769 0.0058613277 - 1553400 0.0057179503 0.0030613168 0.005830949 - 1553500 0.0042405778 0.0033753112 0.0054293411 - 1553600 0.0057235718 0.0037012504 0.0064736055 - 1553700 0.0063779192 0.0034808355 0.0065701401 - 1553800 0.0062900426 0.0029304415 0.0059771809 - 1553900 0.0050642523 0.0025688157 0.0050218129 - 1554000 0.0061167413 0.0024950424 0.005457839 - 1554100 0.0037144377 0.0024019687 0.0042011494 - 1554200 0.0059503893 0.0027513148 0.0056335346 - 1554300 0.0051254132 0.0029763478 0.0054589698 - 1554400 0.0054766027 0.0028583144 0.0055110438 - 1554500 0.0060667613 0.0025452424 0.0054838299 - 1554600 0.0061854464 0.0022397093 0.0052357849 - 1554700 0.0044567525 0.0022637448 0.0044224843 - 1554800 0.0040499379 0.0025823078 0.0045439964 - 1554900 0.0045746892 0.0023307619 0.004546627 - 1555000 0.0049350472 0.0020514231 0.0044418366 - 1555100 0.0058824909 0.0024944885 0.00534382 - 1555200 0.0066637054 0.0021763634 0.0054040957 - 1555300 0.0046453025 0.0024603376 0.0047104061 - 1555400 0.0046565008 0.0025757797 0.0048312722 - 1555500 0.0052436872 0.002298897 0.004838808 - 1555600 0.0051774016 0.0024582895 0.0049660934 - 1555700 0.0073400035 0.0029532156 0.0065085298 - 1555800 0.0061774254 0.0035498309 0.0065420214 - 1555900 0.0051134144 0.0034919197 0.0059687298 - 1556000 0.0050143806 0.0034916693 0.00592051 - 1556100 0.0062986163 0.0033352973 0.0063861895 - 1556200 0.0057500759 0.0030602233 0.0058454163 - 1556300 0.0047394034 0.0030563036 0.0053519521 - 1556400 0.0034341861 0.0026825998 0.0043460337 - 1556500 0.0034289247 0.0027053653 0.0043662507 - 1556600 0.0038557901 0.0026460385 0.0045136868 - 1556700 0.0051920668 0.002235379 0.0047502864 - 1556800 0.0052298235 0.0022065536 0.0047397494 - 1556900 0.0048180742 0.0020493277 0.0043830824 - 1557000 0.0063224293 0.0021978863 0.005260313 - 1557100 0.005333443 0.0027405498 0.0053239362 - 1557200 0.0065811601 0.0027412408 0.0059289902 - 1557300 0.0045788036 0.0022226432 0.0044405011 - 1557400 0.0052466238 0.0020431062 0.0045844395 - 1557500 0.0057542459 0.0023734926 0.0051607055 - 1557600 0.0054325684 0.0028601809 0.0054915812 - 1557700 0.0059323596 0.0034743464 0.006347833 - 1557800 0.0062371125 0.0029386684 0.0059597697 - 1557900 0.0050294224 0.0021870902 0.0046232167 - 1558000 0.0045626958 0.0019046302 0.0041146859 - 1558100 0.0062439299 0.0017423428 0.0047667464 - 1558200 0.0046561796 0.0022872704 0.0045426075 - 1558300 0.0052643651 0.0023708701 0.0049207969 - 1558400 0.0063084428 0.0019318765 0.0049875285 - 1558500 0.0041715403 0.0022256818 0.0042462716 - 1558600 0.0054211659 0.0027167511 0.0053426283 - 1558700 0.0062450057 0.0028337817 0.0058587063 - 1558800 0.0072601654 0.0025891125 0.0061057552 - 1558900 0.005186857 0.0027040573 0.0052164412 - 1559000 0.0041016859 0.0028150759 0.00480183 - 1559100 0.0057702979 0.0024221651 0.0052171532 - 1559200 0.0054699302 0.0018025774 0.0044520749 - 1559300 0.0067612737 0.0021292969 0.0054042889 - 1559400 0.0059704929 0.0024386761 0.0053306336 - 1559500 0.0051493562 0.0026458687 0.0051400881 - 1559600 0.0049171623 0.0026633958 0.0050451462 - 1559700 0.005404746 0.0029545418 0.0055724656 - 1559800 0.0055039894 0.0030164685 0.0056824633 - 1559900 0.0037630424 0.0030853407 0.0049080644 - 1560000 0.0054813426 0.0028547781 0.0055098034 - 1560100 0.0030315672 0.0028123228 0.0042807382 - 1560200 0.004358684 0.0026426565 0.0047538941 - 1560300 0.0065646563 0.0024969998 0.0056767552 - 1560400 0.0050948868 0.0021671856 0.0046350214 - 1560500 0.0035610079 0.0016874899 0.0034123532 - 1560600 0.0058460608 0.0017116558 0.0045433415 - 1560700 0.0047432978 0.0022116892 0.0045092241 - 1560800 0.0061266891 0.0022149023 0.0051825173 - 1560900 0.0059504999 0.0024796307 0.0053619041 - 1561000 0.0046876429 0.0024955075 0.0047660845 - 1561100 0.0051938449 0.0028757402 0.0053915089 - 1561200 0.006174337 0.0026177415 0.005608436 - 1561300 0.0065804522 0.0025056491 0.0056930557 - 1561400 0.0059930059 0.0024234832 0.0053263455 - 1561500 0.0033781749 0.0022381494 0.0038744529 - 1561600 0.0044425672 0.0014729508 0.0036248192 - 1561700 0.0052424396 0.0014762713 0.004015578 - 1561800 0.006625354 0.0015278728 0.0047370286 - 1561900 0.0037767739 0.0021981998 0.0040275746 - 1562000 0.0033608838 0.0023049965 0.0039329246 - 1562100 0.0050261525 0.0019058826 0.0043404253 - 1562200 0.004967475 0.0016534838 0.0040596045 - 1562300 0.004178352 0.0023251041 0.0043489933 - 1562400 0.0054909014 0.0021576367 0.004817292 - 1562500 0.0051843334 0.0020275755 0.004538737 - 1562600 0.0053732832 0.0024466815 0.0050493655 - 1562700 0.0051696226 0.0022098629 0.0047138988 - 1562800 0.0045019775 0.0022927022 0.0044733475 - 1562900 0.0049725643 0.0020511102 0.0044596961 - 1563000 0.0041735559 0.0017493355 0.0037709016 - 1563100 0.0055456854 0.0016832239 0.0043694153 - 1563200 0.0050891646 0.0023222491 0.0047873132 - 1563300 0.0053023055 0.0023700212 0.0049383254 - 1563400 0.0043133827 0.0025059364 0.0045952311 - 1563500 0.0037285113 0.0020546483 0.0038606459 - 1563600 0.0055501961 0.0018977481 0.0045861243 - 1563700 0.0053362993 0.0024227831 0.0050075531 - 1563800 0.0048692272 0.002541243 0.004899775 - 1563900 0.0059862676 0.0026100128 0.0055096112 - 1564000 0.0048507576 0.0027180264 0.0050676121 - 1564100 0.0067064316 0.0024902449 0.0057386728 - 1564200 0.0060531888 0.0021232645 0.0050552779 - 1564300 0.0052194545 0.0022621795 0.0047903528 - 1564400 0.0066194469 0.0025362183 0.0057425129 - 1564500 0.007056341 0.0026929474 0.0061108626 - 1564600 0.005544745 0.0027331937 0.0054189295 - 1564700 0.0055009836 0.002739827 0.005404366 - 1564800 0.0042922053 0.0026524062 0.0047314431 - 1564900 0.00366396 0.0026086845 0.0043834151 - 1565000 0.0037459385 0.0025970483 0.0044114872 - 1565100 0.0055830437 0.0024963873 0.0052006741 - 1565200 0.0054999604 0.0021718431 0.0048358864 - 1565300 0.004859061 0.0024118025 0.0047654102 - 1565400 0.0067881569 0.0022593598 0.0055473733 - 1565500 0.0060846757 0.0021094329 0.0050566977 - 1565600 0.0045404819 0.0025228103 0.0047221062 - 1565700 0.0035961664 0.0026850348 0.0044269279 - 1565800 0.0064949471 0.0027537403 0.0058997303 - 1565900 0.005743465 0.0031262197 0.0059082105 - 1566000 0.0066817846 0.0032969284 0.0065334178 - 1566100 0.007094427 0.0029889834 0.0064253465 - 1566200 0.0058900617 0.0032229029 0.0060759015 - 1566300 0.0069190386 0.0028646491 0.0062160584 - 1566400 0.0068824773 0.0024631472 0.0057968471 - 1566500 0.0052997844 0.002143086 0.004710169 - 1566600 0.0048612554 0.0021424928 0.0044971634 - 1566700 0.0045941393 0.0019185175 0.0041438037 - 1566800 0.0074168117 0.0018253797 0.0054178979 - 1566900 0.0060304123 0.0025360738 0.0054570548 - 1567000 0.0055494858 0.0027317071 0.0054197393 - 1567100 0.0041388506 0.0027095807 0.0047143364 - 1567200 0.0032499057 0.0024424348 0.0040166078 - 1567300 0.0048222 0.0022037633 0.0045395164 - 1567400 0.0038035159 0.0017526463 0.0035949743 - 1567500 0.004058264 0.0019774415 0.0039431632 - 1567600 0.00416427 0.0021447974 0.0041618656 - 1567700 0.0046170581 0.0018898239 0.0041262114 - 1567800 0.0059122966 0.0019729202 0.0048366889 - 1567900 0.0041760817 0.001869168 0.0038919576 - 1568000 0.0040028232 0.0021096197 0.0040484872 - 1568100 0.0055203241 0.0022428513 0.0049167583 - 1568200 0.0058737343 0.0026171567 0.0054622467 - 1568300 0.0052930766 0.0028405759 0.0054044098 - 1568400 0.0054994628 0.0026289274 0.0052927297 - 1568500 0.0056738462 0.0027745399 0.0055228092 - 1568600 0.0044148165 0.0029221424 0.0050605691 - 1568700 0.005291887 0.0026219008 0.0051851586 - 1568800 0.0054021458 0.0026798166 0.005296481 - 1568900 0.005671631 0.0025323858 0.0052795821 - 1569000 0.004481767 0.0024064009 0.0045772568 - 1569100 0.0055877592 0.0026664611 0.005373032 - 1569200 0.0049932905 0.0024248775 0.0048435026 - 1569300 0.0050379689 0.0027672307 0.0052074969 - 1569400 0.0042708731 0.0030060136 0.0050747177 - 1569500 0.00602201 0.002915038 0.0058319491 - 1569600 0.0063162299 0.0027150678 0.0057744916 - 1569700 0.004944306 0.0024803496 0.0048752478 - 1569800 0.0058631206 0.0023514876 0.0051914366 - 1569900 0.0068159234 0.0026309511 0.005932414 - 1570000 0.004585661 0.0029261631 0.0051473426 - 1570100 0.004618518 0.0026638327 0.0049009273 - 1570200 0.0063847743 0.0024806428 0.0055732679 - 1570300 0.0041964531 0.0025427917 0.0045754486 - 1570400 0.0039845467 0.0022865574 0.0042165722 - 1570500 0.0046699432 0.0017474231 0.0040094269 - 1570600 0.003554783 0.0017308678 0.0034527158 - 1570700 0.0030641801 0.0016265628 0.003110775 - 1570800 0.0045729537 0.0016679825 0.0038830069 - 1570900 0.0035930276 0.001965702 0.0037060747 - 1571000 0.0048295172 0.0020249815 0.0043642789 - 1571100 0.0051350458 0.0016258908 0.0041131786 - 1571200 0.0043058586 0.0017167317 0.0038023819 - 1571300 0.0045808344 0.0021382498 0.0043570915 - 1571400 0.0054078692 0.0022294987 0.0048489353 - 1571500 0.0043733645 0.0024268502 0.0045451987 - 1571600 0.0057357025 0.0024287463 0.0052069771 - 1571700 0.0061519929 0.0028381494 0.005818021 - 1571800 0.0058516003 0.0028587335 0.0056931024 - 1571900 0.0064073845 0.0028820766 0.0059856535 - 1572000 0.0060670239 0.0023682508 0.0053069655 - 1572100 0.0070304053 0.0022075801 0.0056129327 - 1572200 0.0041775114 0.0020822387 0.0041057208 - 1572300 0.0040177918 0.0019885155 0.0039346334 - 1572400 0.0052246177 0.0021287541 0.0046594283 - 1572500 0.0049400018 0.0018238928 0.0042167062 - 1572600 0.0051556601 0.0017600456 0.0042573184 - 1572700 0.003688053 0.0020809909 0.0038673915 - 1572800 0.0048818458 0.0018357934 0.0042004374 - 1572900 0.0063159171 0.001740161 0.0047994334 - 1573000 0.0053955484 0.0022730991 0.0048865678 - 1573100 0.0046575065 0.002566298 0.0048222777 - 1573200 0.0043762553 0.0024991601 0.0046189087 - 1573300 0.0055498503 0.0022597692 0.004947978 - 1573400 0.005588443 0.0020974263 0.0048043284 - 1573500 0.0051597873 0.0022748968 0.0047741688 - 1573600 0.004724524 0.0023916947 0.004680136 - 1573700 0.0051937243 0.0022737852 0.0047894954 - 1573800 0.0048522009 0.0022492778 0.0045995627 - 1573900 0.0051051012 0.0021429441 0.0046157275 - 1574000 0.0044737121 0.0023841149 0.0045510692 - 1574100 0.0053665113 0.0025369493 0.0051363532 - 1574200 0.0038852634 0.00269673 0.0045786545 - 1574300 0.0061255855 0.0022076039 0.0051746844 - 1574400 0.0056418003 0.0019697879 0.0047025349 - 1574500 0.0047851497 0.0018530358 0.0041708427 - 1574600 0.0041814713 0.002099736 0.0041251362 - 1574700 0.0060582406 0.0023489209 0.0052833812 - 1574800 0.0045459003 0.0026265761 0.0048284965 - 1574900 0.005903515 0.0025951479 0.005454663 - 1575000 0.0051688766 0.0023470515 0.0048507261 - 1575100 0.0051336584 0.0019136882 0.004400304 - 1575200 0.006510209 0.0017463165 0.004899699 - 1575300 0.0075866137 0.0017365152 0.0054112812 - 1575400 0.0058238827 0.0019425154 0.0047634586 - 1575500 0.0035118439 0.0022305427 0.0039315921 - 1575600 0.0036827319 0.0022668681 0.0040506914 - 1575700 0.0053042917 0.0022867425 0.0048560088 - 1575800 0.0039034628 0.0024084226 0.0042991624 - 1575900 0.0047127807 0.0020795594 0.0043623126 - 1576000 0.005338424 0.0023309655 0.0049167646 - 1576100 0.0063098201 0.0025646648 0.0056209839 - 1576200 0.0040858156 0.0034101284 0.0053891954 - 1576300 0.0045580215 0.003158786 0.0053665777 - 1576400 0.0055946847 0.0025880959 0.0052980212 - 1576500 0.0038975649 0.0026330796 0.0045209626 - 1576600 0.0045379611 0.0026105917 0.0048086666 - 1576700 0.0043662126 0.0020267962 0.0041416805 - 1576800 0.00539947 0.0017290917 0.00434446 - 1576900 0.0073896777 0.001654251 0.0052336261 - 1577000 0.0065524155 0.0020587501 0.0052325763 - 1577100 0.0060168985 0.0021254348 0.00503987 - 1577200 0.0068182534 0.0022116545 0.005514246 - 1577300 0.0052581477 0.0025621729 0.0051090882 - 1577400 0.0034835981 0.002481416 0.0041687838 - 1577500 0.0057718552 0.0023391018 0.0051348442 - 1577600 0.0048415649 0.0023913012 0.0047364342 - 1577700 0.0049246362 0.0021017696 0.0044871402 - 1577800 0.0048201259 0.0022311365 0.004565885 - 1577900 0.0053458584 0.0025091337 0.0050985339 - 1578000 0.0070270158 0.0028711885 0.0062748993 - 1578100 0.0059240764 0.0032821841 0.0061516586 - 1578200 0.006257051 0.0026032668 0.0056340259 - 1578300 0.00457323 0.0023725588 0.0045877171 - 1578400 0.0059782718 0.0023634342 0.0052591597 - 1578500 0.0044374097 0.0023305084 0.0044798788 - 1578600 0.0052147675 0.0020414369 0.0045673399 - 1578700 0.0045512293 0.0020716588 0.0042761604 - 1578800 0.0043554681 0.0023776294 0.0044873092 - 1578900 0.005595776 0.0022787101 0.0049891641 - 1579000 0.0038411951 0.0020431861 0.003903765 - 1579100 0.0048158991 0.0023391254 0.0046718265 - 1579200 0.005008712 0.0026474081 0.005073503 - 1579300 0.0061811962 0.0023799971 0.005374014 - 1579400 0.0033525994 0.0025564925 0.0041804079 - 1579500 0.0065727218 0.0018775994 0.0050612615 - 1579600 0.0040759281 0.0021520968 0.0041263745 - 1579700 0.0047645885 0.0027848336 0.0050926811 - 1579800 0.0044147898 0.0027557918 0.0048942056 - 1579900 0.0045653269 0.0029750638 0.0051863939 - 1580000 0.0039609959 0.0023674262 0.0042860336 - 1580100 0.0060429259 0.0018431199 0.0047701621 - 1580200 0.004022891 0.002059016 0.0040076039 - 1580300 0.005544227 0.0022127748 0.0048982597 - 1580400 0.0062097975 0.0025707318 0.0055786024 - 1580500 0.004073454 0.0033446527 0.0053177319 - 1580600 0.007933819 0.0028807078 0.0067236514 - 1580700 0.005172183 0.0031580415 0.0056633177 - 1580800 0.0057098872 0.0024851053 0.0052508319 - 1580900 0.0062766807 0.0026643365 0.0057046037 - 1581000 0.0042536845 0.0028545405 0.004914919 - 1581100 0.004446252 0.0025549116 0.0047085649 - 1581200 0.0048964643 0.002423392 0.0047951169 - 1581300 0.0046906057 0.0024415751 0.0047135872 - 1581400 0.0061506853 0.0021826275 0.0051618657 - 1581500 0.0038872016 0.0027125782 0.0045954415 - 1581600 0.004845834 0.0026477711 0.004994972 - 1581700 0.0053802092 0.0021363182 0.004742357 - 1581800 0.0034166458 0.0023547415 0.0040096794 - 1581900 0.0042536831 0.0027583688 0.0048187465 - 1582000 0.0053588439 0.0027099827 0.0053056727 - 1582100 0.0057443399 0.002820329 0.0056027437 - 1582200 0.0049724137 0.002916229 0.0053247418 - 1582300 0.0034221983 0.0029205806 0.0045782079 - 1582400 0.0039625375 0.0026142987 0.0045336528 - 1582500 0.005738429 0.0023236075 0.005103159 - 1582600 0.0048558945 0.0027813053 0.0051333792 - 1582700 0.0056701606 0.0029696602 0.0057161442 - 1582800 0.0043288387 0.0029857465 0.0050825277 - 1582900 0.0044882414 0.0026877424 0.0048617344 - 1583000 0.0054390726 0.0020632727 0.0046978235 - 1583100 0.0051871231 0.0019511516 0.0044636643 - 1583200 0.0060570447 0.0022511711 0.0051850522 - 1583300 0.0057237115 0.0029107612 0.005683184 - 1583400 0.0079339292 0.0033799998 0.0072229967 - 1583500 0.0058444709 0.0033998798 0.0062307954 - 1583600 0.0045169617 0.0029584633 0.0051463666 - 1583700 0.0060801654 0.0024822532 0.0054273333 - 1583800 0.005887333 0.0023676505 0.0052193274 - 1583900 0.0064247921 0.0023074655 0.0054194741 - 1584000 0.006911764 0.0023508953 0.005698781 - 1584100 0.0061378638 0.0024594911 0.0054325189 - 1584200 0.0044543025 0.0025713587 0.0047289115 - 1584300 0.0046215615 0.0027754768 0.0050140457 - 1584400 0.0054444282 0.0026711437 0.0053082886 - 1584500 0.0061435879 0.0021812537 0.005157054 - 1584600 0.005089001 0.0022469563 0.0047119412 - 1584700 0.0038361917 0.0026236127 0.0044817681 - 1584800 0.0051359452 0.0027387524 0.0052264759 - 1584900 0.0056206517 0.0022273997 0.0049499029 - 1585000 0.0055020532 0.0021958311 0.0048608881 - 1585100 0.0056447842 0.002049358 0.0047835504 - 1585200 0.0051968172 0.0022188799 0.0047360882 - 1585300 0.004360805 0.002863436 0.0049757009 - 1585400 0.005571869 0.0029366314 0.0056355055 - 1585500 0.0052485817 0.0025134822 0.0050557639 - 1585600 0.0062999041 0.0021440065 0.0051955225 - 1585700 0.004817355 0.0021832009 0.0045166073 - 1585800 0.0045160556 0.0018375262 0.0040249906 - 1585900 0.0046135889 0.0019863165 0.0042210236 - 1586000 0.0065022664 0.0025320832 0.0056816185 - 1586100 0.0050580105 0.0025146104 0.0049645843 - 1586200 0.0061940693 0.0023587473 0.0053589997 - 1586300 0.0051468949 0.0020418691 0.0045348963 - 1586400 0.004739279 0.0022793706 0.0045749589 - 1586500 0.0037871467 0.0029212508 0.00475565 - 1586600 0.0055036793 0.0025312496 0.0051970943 - 1586700 0.0058667521 0.0020467441 0.0048884521 - 1586800 0.0054855627 0.0021577031 0.0048147725 - 1586900 0.0053854434 0.0023506257 0.0049591998 - 1587000 0.0045905974 0.0026478487 0.0048714194 - 1587100 0.0055986743 0.0024560255 0.0051678834 - 1587200 0.0060409611 0.0025748165 0.005500907 - 1587300 0.0063704 0.0024081259 0.0054937884 - 1587400 0.0058138279 0.0023381184 0.0051541913 - 1587500 0.0045974353 0.0024286617 0.0046555444 - 1587600 0.0046891144 0.0028648672 0.005136157 - 1587700 0.0048080653 0.0030058588 0.0053347655 - 1587800 0.0051723977 0.0032189114 0.0057242915 - 1587900 0.0047430765 0.002796949 0.0050943767 - 1588000 0.0056900378 0.0021470682 0.0049031803 - 1588100 0.0030208379 0.0020844838 0.0035477021 - 1588200 0.0062217503 0.0018153351 0.0048289954 - 1588300 0.0039330395 0.0020960023 0.0040010683 - 1588400 0.005020379 0.0024511254 0.0048828714 - 1588500 0.004927905 0.0024968872 0.0048838412 - 1588600 0.0057974814 0.0024684781 0.0052766332 - 1588700 0.0042895867 0.0027719042 0.0048496728 - 1588800 0.0052065954 0.002703673 0.0052256177 - 1588900 0.0060744684 0.0020877754 0.005030096 - 1589000 0.0067735658 0.0016248491 0.0049057951 - 1589100 0.005212219 0.0016203838 0.0041450524 - 1589200 0.004582361 0.0014005214 0.0036201025 - 1589300 0.0041554592 0.00202873 0.0040415305 - 1589400 0.0038962468 0.0023230755 0.0042103201 - 1589500 0.0049098188 0.0018285982 0.0042067917 - 1589600 0.0052337674 0.0015913847 0.0041264908 - 1589700 0.0050503026 0.0018760557 0.004322296 - 1589800 0.0040185041 0.0022484616 0.0041949245 - 1589900 0.0057769253 0.002283386 0.0050815842 - 1590000 0.0052837519 0.0018854349 0.0044447523 - 1590100 0.0061601181 0.0019418049 0.0049256121 - 1590200 0.003931325 0.0022810722 0.0041853077 - 1590300 0.0049976317 0.0021847809 0.0046055088 - 1590400 0.0039975447 0.0018518217 0.0037881324 - 1590500 0.004673434 0.0024846366 0.0047483312 - 1590600 0.0052058563 0.0023016133 0.0048232 - 1590700 0.0071779323 0.0020372794 0.0055140903 - 1590800 0.0048703577 0.0022512297 0.0046103092 - 1590900 0.0049131031 0.0022913015 0.0046710858 - 1591000 0.005474445 0.0020360191 0.0046877034 - 1591100 0.0049654871 0.0020036224 0.0044087803 - 1591200 0.0044751139 0.0020369531 0.0042045864 - 1591300 0.0043362084 0.0021094425 0.0042097934 - 1591400 0.0047325047 0.0022097231 0.0045020301 - 1591500 0.0053436093 0.0021081032 0.0046964139 - 1591600 0.0069435561 0.0021090135 0.0054722985 - 1591700 0.0040500539 0.0023832782 0.004345023 - 1591800 0.0060395935 0.0020003979 0.004925826 - 1591900 0.0045837452 0.001762029 0.0039822805 - 1592000 0.0039098664 0.0018656185 0.00375946 - 1592100 0.0040513012 0.0019797538 0.0039421029 - 1592200 0.0047614787 0.0015732545 0.0038795957 - 1592300 0.0046774242 0.0018397809 0.0041054082 - 1592400 0.0051032564 0.0022423299 0.0047142197 - 1592500 0.0057913389 0.0022762512 0.005081431 - 1592600 0.0058437728 0.0021445698 0.0049751473 - 1592700 0.005742192 0.0024309453 0.0052123196 - 1592800 0.0057013034 0.0029059839 0.0056675528 - 1592900 0.0045920667 0.002871792 0.0050960744 - 1593000 0.0049385075 0.0034191867 0.0058112763 - 1593100 0.0041099351 0.0037588133 0.0057495631 - 1593200 0.0058538887 0.0032985485 0.0061340258 - 1593300 0.0037264445 0.0024945843 0.0042995808 - 1593400 0.004502 0.002635392 0.0048160482 - 1593500 0.0048451397 0.0033763713 0.0057232358 - 1593600 0.0042784051 0.0035392669 0.0056116194 - 1593700 0.0064201055 0.0027718358 0.0058815744 - 1593800 0.0040364408 0.0025656338 0.0045207848 - 1593900 0.0048964719 0.0026656127 0.0050373413 - 1594000 0.0038329339 0.0024715488 0.0043281262 - 1594100 0.0057414836 0.0021028368 0.0048838679 - 1594200 0.0050067054 0.0022671352 0.0046922581 - 1594300 0.0037189858 0.002442526 0.0042439097 - 1594400 0.0032691329 0.0025327263 0.0041162126 - 1594500 0.0033164759 0.0024706847 0.0040771027 - 1594600 0.0051975795 0.0023696234 0.004887201 - 1594700 0.0045323389 0.0023258662 0.0045212179 - 1594800 0.0056431996 0.0022419514 0.0049753763 - 1594900 0.0049950709 0.0023760932 0.0047955807 - 1595000 0.0068024975 0.0023937858 0.0056887455 - 1595100 0.0047682876 0.002643377 0.0049530163 - 1595200 0.0050407713 0.0033389567 0.0057805803 - 1595300 0.004817933 0.0029572314 0.0052909177 - 1595400 0.0044855328 0.0025750951 0.0047477751 - 1595500 0.0057756774 0.0024672368 0.0052648306 - 1595600 0.005597854 0.0024045082 0.0051159687 - 1595700 0.0058049163 0.0023731212 0.0051848776 - 1595800 0.0048875257 0.0025252662 0.0048926615 - 1595900 0.0055818303 0.0027551668 0.0054588658 - 1596000 0.0058369707 0.0029454581 0.0057727409 - 1596100 0.0047589104 0.0029040067 0.0052091039 - 1596200 0.0054839413 0.0022022657 0.0048585498 - 1596300 0.0075266758 0.002274552 0.0059202856 - 1596400 0.003489475 0.0024234604 0.0041136749 - 1596500 0.0055121816 0.0027867003 0.0054566632 - 1596600 0.0053764957 0.0027413863 0.0053456264 - 1596700 0.0061997062 0.0022582804 0.0052612631 - 1596800 0.0060875951 0.0023891421 0.005337821 - 1596900 0.0054119836 0.002393014 0.0050144435 - 1597000 0.0064647105 0.0021674766 0.0052988207 - 1597100 0.0057005573 0.0017665011 0.0045277085 - 1597200 0.0046045828 0.0017922838 0.0040226286 - 1597300 0.0054231526 0.0014276233 0.0040544628 - 1597400 0.0059075686 0.0016598443 0.0045213229 - 1597500 0.0056974648 0.0019669245 0.004726634 - 1597600 0.0060259872 0.0025141878 0.0054330253 - 1597700 0.0047386317 0.0028752842 0.0051705589 - 1597800 0.004024535 0.0030892225 0.0050386066 - 1597900 0.0055453721 0.0027374835 0.0054235231 - 1598000 0.0063957237 0.0024912787 0.0055892074 - 1598100 0.0049296633 0.0024005768 0.0047883825 - 1598200 0.0055704404 0.0021636528 0.0048618349 - 1598300 0.0043974454 0.0026882539 0.0048182665 - 1598400 0.0055970167 0.0028214825 0.0055325375 - 1598500 0.0048436188 0.0025159258 0.0048620536 - 1598600 0.0058167728 0.0019790813 0.0047965806 - 1598700 0.0046816077 0.0020468852 0.004314539 - 1598800 0.004910951 0.0019988004 0.0043775423 - 1598900 0.0052630188 0.0017776498 0.0043269245 - 1599000 0.0041792012 0.0017650867 0.0037893873 - 1599100 0.0043451789 0.0020188283 0.0041235243 - 1599200 0.0049781157 0.0020039727 0.0044152475 - 1599300 0.0060722229 0.0017117198 0.0046529528 - 1599400 0.0069956048 0.0016397563 0.0050282524 - 1599500 0.0051306505 0.0017304548 0.0042156136 - 1599600 0.0052463366 0.0016726189 0.0042138132 - 1599700 0.0039914895 0.0018541543 0.003787532 - 1599800 0.0055462877 0.0018171214 0.0045036045 - 1599900 0.0034377879 0.0021101955 0.003775374 - 1600000 0.0063423738 0.0013923529 0.0044644402 - 1600100 0.004941173 0.0013082215 0.0037016021 - 1600200 0.0056809893 0.0015322894 0.0042840186 - 1600300 0.0051488717 0.0019520747 0.0044460594 - 1600400 0.0059184055 0.0018650426 0.0047317702 - 1600500 0.0059221076 0.0023119163 0.0051804372 - 1600600 0.0048488837 0.0026175886 0.0049662666 - 1600700 0.0050318854 0.0025068568 0.0049441763 - 1600800 0.0047527624 0.0020908318 0.0043929511 - 1600900 0.0043936014 0.0015765475 0.0037046982 - 1601000 0.0037157943 0.0018904952 0.0036903331 - 1601100 0.0049551976 0.0017723139 0.0041724878 - 1601200 0.003436793 0.0018172682 0.0034819648 - 1601300 0.003684736 0.0020870152 0.0038718092 - 1601400 0.0042919379 0.0021504689 0.0042293763 - 1601500 0.0056278829 0.0021258754 0.0048518811 - 1601600 0.0062361655 0.0020246025 0.0050452452 - 1601700 0.0053370283 0.0020925117 0.0046776348 - 1601800 0.0056527359 0.0019987693 0.0047368133 - 1601900 0.0050533013 0.0020049214 0.0044526143 - 1602000 0.0046857148 0.0019438343 0.0042134774 - 1602100 0.0048185564 0.001923807 0.0042577953 - 1602200 0.0038847128 0.0020160991 0.0038977569 - 1602300 0.0044476679 0.0018843631 0.0040387023 - 1602400 0.0045779074 0.0019511336 0.0041685574 - 1602500 0.0054753114 0.0017115182 0.0043636221 - 1602600 0.0038114378 0.0022823745 0.0041285396 - 1602700 0.0056898258 0.0020694887 0.0048254981 - 1602800 0.0049016459 0.0019655073 0.0043397421 - 1602900 0.0042102547 0.0023110241 0.0043503662 - 1603000 0.0049342351 0.0021056024 0.0044956225 - 1603100 0.0050260846 0.0020352552 0.0044697649 - 1603200 0.0044775376 0.00218468 0.0043534873 - 1603300 0.004580155 0.0018033758 0.0040218884 - 1603400 0.0050143584 0.0015302665 0.0039590963 - 1603500 0.0052364983 0.0019732466 0.0045096754 - 1603600 0.0055187567 0.0022681286 0.0049412764 - 1603700 0.0050013711 0.0022331909 0.00465573 - 1603800 0.0059395131 0.0030138046 0.0058907562 - 1603900 0.0069860915 0.0028200216 0.0062039096 - 1604000 0.0065162123 0.0027574132 0.0059137036 - 1604100 0.0043773052 0.0031415138 0.005261771 - 1604200 0.0043635877 0.0031826749 0.0052962877 - 1604300 0.0051109284 0.0027722156 0.0052478215 - 1604400 0.0053692828 0.0028988645 0.0054996109 - 1604500 0.0046242314 0.0031473764 0.0053872384 - 1604600 0.0058259116 0.0027373207 0.0055592466 - 1604700 0.0062951111 0.0025161468 0.0055653412 - 1604800 0.0047151438 0.0023653119 0.0046492097 - 1604900 0.0051799152 0.0024508226 0.004959844 - 1605000 0.0062943142 0.0024429124 0.0054917209 - 1605100 0.0063855262 0.0024059264 0.0054989157 - 1605200 0.0061103126 0.0024267276 0.0053864103 - 1605300 0.0048723043 0.0027478424 0.0051078648 - 1605400 0.0048573582 0.0026403848 0.0049931677 - 1605500 0.0028884072 0.0026554499 0.0040545221 - 1605600 0.0040538472 0.002735714 0.0046992962 - 1605700 0.0053077046 0.0023521519 0.0049230713 - 1605800 0.0058424611 0.0018836724 0.0047136145 - 1605900 0.0042626924 0.001676679 0.0037414207 - 1606000 0.0044140606 0.0019550443 0.0040931049 - 1606100 0.0052860189 0.0018604842 0.0044208995 - 1606200 0.0047649024 0.0018244751 0.0041324747 - 1606300 0.0053898703 0.0022187601 0.0048294786 - 1606400 0.0067315225 0.0025386649 0.0057992461 - 1606500 0.0059757767 0.0023887748 0.0052832916 - 1606600 0.0049230943 0.002530915 0.0049155388 - 1606700 0.0070253971 0.0021938393 0.005596766 - 1606800 0.0063198431 0.0022604868 0.0053216608 - 1606900 0.0058300316 0.0023451126 0.0051690342 - 1607000 0.0045950265 0.0024492506 0.0046749666 - 1607100 0.003935841 0.0024619517 0.0043683747 - 1607200 0.0038208641 0.0024409365 0.0042916675 - 1607300 0.0039432692 0.0020744345 0.0039844555 - 1607400 0.0065771788 0.0017044802 0.0048903012 - 1607500 0.0056850098 0.0022110101 0.0049646867 - 1607600 0.0040016165 0.0022257014 0.0041639844 - 1607700 0.0050808778 0.0021817796 0.0046428298 - 1607800 0.0049731515 0.0021331741 0.0045420443 - 1607900 0.0045682053 0.0020414561 0.0042541806 - 1608000 0.0051171432 0.001570733 0.0040493492 - 1608100 0.0055484034 0.0020612053 0.0047487132 - 1608200 0.0046164328 0.0025694135 0.0048054981 - 1608300 0.005286003 0.0024523403 0.005012748 - 1608400 0.0047352071 0.0021981084 0.0044917244 - 1608500 0.0063897742 0.0022077686 0.0053028155 - 1608600 0.0056925073 0.001934949 0.0046922572 - 1608700 0.0050732464 0.002343552 0.0048009057 - 1608800 0.0045074471 0.0026211981 0.0048044928 - 1608900 0.0051933358 0.0023360225 0.0048515445 - 1609000 0.0037600096 0.0023066653 0.00412792 - 1609100 0.0055915942 0.0023991489 0.0051075774 - 1609200 0.005944377 0.0023295603 0.0052088679 - 1609300 0.0037036047 0.0025335732 0.0043275067 - 1609400 0.0042546625 0.0025569625 0.0046178147 - 1609500 0.0053328316 0.0026362432 0.0052193335 - 1609600 0.0059219235 0.0026218099 0.0054902416 - 1609700 0.0054456367 0.003011369 0.0056490993 - 1609800 0.0040038948 0.0029020373 0.0048414239 - 1609900 0.0041102741 0.0031724137 0.0051633277 - 1610000 0.003518955 0.0028951428 0.0045996366 - 1610100 0.0056112038 0.0023859309 0.0051038577 - 1610200 0.006003593 0.0021770738 0.0050850641 - 1610300 0.0047762172 0.0021062606 0.0044197408 - 1610400 0.0048711983 0.0019418836 0.0043013703 - 1610500 0.0059027829 0.0019441419 0.0048033024 - 1610600 0.004117446 0.0020521882 0.0040465761 - 1610700 0.0049933061 0.002107624 0.0045262567 - 1610800 0.0049511108 0.0021236228 0.0045218171 - 1610900 0.0033681512 0.0023207441 0.0039521923 - 1611000 0.0062501814 0.0022233798 0.0052508114 - 1611100 0.0038024192 0.0021442203 0.0039860171 - 1611200 0.0039758151 0.0024458566 0.004371642 - 1611300 0.004802705 0.0023163722 0.0046426824 - 1611400 0.0048801719 0.0020670211 0.0044308544 - 1611500 0.0034194365 0.0020365919 0.0036928815 - 1611600 0.0054497406 0.0017436191 0.0043833372 - 1611700 0.0057036923 0.0018150684 0.0045777943 - 1611800 0.0049782914 0.0020971884 0.0045085483 - 1611900 0.0052511906 0.0023554158 0.0048989612 - 1612000 0.0048144117 0.0023491825 0.0046811632 - 1612100 0.005920788 0.0024304728 0.0052983545 - 1612200 0.0044155106 0.0028537633 0.0049925263 - 1612300 0.0060625545 0.002934887 0.0058714369 - 1612400 0.0043816158 0.0025391269 0.004661472 - 1612500 0.0048425712 0.0021459803 0.0044916007 - 1612600 0.0046306395 0.0019249851 0.0041679511 - 1612700 0.0061970992 0.0018412876 0.0048430075 - 1612800 0.0065152336 0.0022380768 0.0053938931 - 1612900 0.0043038506 0.0024148408 0.0044995184 - 1613000 0.006373374 0.0023563558 0.0054434588 - 1613100 0.0053001529 0.0027209971 0.0052882587 - 1613200 0.005189881 0.0032345841 0.0057484327 - 1613300 0.0046420232 0.0029976144 0.0052460943 - 1613400 0.0059594371 0.0025762718 0.0054628741 - 1613500 0.0049439871 0.0023083024 0.0047030461 - 1613600 0.0050113315 0.0024894534 0.0049168171 - 1613700 0.0049184097 0.0025763982 0.0049587529 - 1613800 0.0061991507 0.0027874156 0.0057901292 - 1613900 0.0059266032 0.0033265485 0.0061972469 - 1614000 0.0051354442 0.0030976337 0.0055851145 - 1614100 0.0059500833 0.002300423 0.0051824946 - 1614200 0.0047702683 0.0018826311 0.0041932298 - 1614300 0.00393382 0.0017897011 0.0036951451 - 1614400 0.0045938565 0.0018607571 0.0040859063 - 1614500 0.0038872091 0.0019993862 0.0038822531 - 1614600 0.0043586616 0.0016293924 0.0037406191 - 1614700 0.004858898 0.0018562791 0.0042098079 - 1614800 0.0033568088 0.0025450823 0.0041710366 - 1614900 0.004003977 0.0027900934 0.0047295198 - 1615000 0.0044760764 0.0026389467 0.0048070462 - 1615100 0.006431388 0.0023630463 0.0054782499 - 1615200 0.0037542431 0.0023480022 0.0041664637 - 1615300 0.0049407957 0.0022759538 0.0046691517 - 1615400 0.0044656873 0.0021151735 0.0042782408 - 1615500 0.0049599968 0.0023620574 0.0047645558 - 1615600 0.0043810568 0.0020800812 0.0042021556 - 1615700 0.0056655317 0.00212706 0.0048713019 - 1615800 0.0038156695 0.0026178984 0.0044661133 - 1615900 0.0052716718 0.0023129532 0.0048664192 - 1616000 0.004030695 0.0022289685 0.0041813364 - 1616100 0.0048176837 0.002358245 0.0046918106 - 1616200 0.0055515586 0.0024069412 0.0050959774 - 1616300 0.0059777069 0.0025258067 0.0054212585 - 1616400 0.0048900009 0.0025706712 0.0049392653 - 1616500 0.0054017426 0.0025157769 0.005132246 - 1616600 0.004371241 0.0023713465 0.0044886664 - 1616700 0.0044720521 0.0027206867 0.0048868369 - 1616800 0.0066594396 0.0027337993 0.0059594654 - 1616900 0.0046935506 0.0029192697 0.0051927082 - 1617000 0.0072221321 0.0027065685 0.0062047887 - 1617100 0.0071987937 0.0028022556 0.0062891713 - 1617200 0.0059304534 0.0025249334 0.0053974968 - 1617300 0.0062613883 0.0025373254 0.0055701853 - 1617400 0.0044759404 0.0027396066 0.0049076402 - 1617500 0.0073528028 0.0023789191 0.005940433 - 1617600 0.0045470631 0.0029939162 0.0051963999 - 1617700 0.0051265375 0.0032044172 0.0056875838 - 1617800 0.0064465992 0.0033165708 0.0064391423 - 1617900 0.0071271966 0.0029781028 0.0064303387 - 1618000 0.0044453335 0.0029038576 0.005057066 - 1618100 0.0043006357 0.002856773 0.0049398934 - 1618200 0.0036910513 0.0023082003 0.0040960533 - 1618300 0.004817343 0.0019917086 0.0043251092 - 1618400 0.006247931 0.0017755491 0.0048018907 - 1618500 0.0050997192 0.0022890006 0.0047591771 - 1618600 0.0053659017 0.0019864301 0.0045855388 - 1618700 0.0043488006 0.001974363 0.0040808133 - 1618800 0.0052673118 0.0019211909 0.0044725451 - 1618900 0.0060236189 0.0019886699 0.0049063603 - 1619000 0.0039049264 0.0023959836 0.0042874323 - 1619100 0.004495161 0.0023634299 0.0045407735 - 1619200 0.0057851954 0.0023808163 0.0051830204 - 1619300 0.0053257812 0.0024233158 0.0050029911 - 1619400 0.0058538156 0.0026359765 0.0054714184 - 1619500 0.0036547915 0.0026135085 0.0043837981 - 1619600 0.0045891604 0.0024891857 0.0047120602 - 1619700 0.0042891773 0.0021900327 0.0042676029 - 1619800 0.0060342699 0.0019793429 0.0049021923 - 1619900 0.0047492868 0.0018120153 0.0041124511 - 1620000 0.0049084308 0.0021930553 0.0045705765 - 1620100 0.0038526758 0.0026082599 0.0044743997 - 1620200 0.0048425748 0.0024701357 0.0048157579 - 1620300 0.0035047665 0.0023370466 0.0040346679 - 1620400 0.0055061469 0.0022127462 0.0048797861 - 1620500 0.004778844 0.0022172441 0.0045319967 - 1620600 0.0053738474 0.0018471577 0.004450115 - 1620700 0.0042726627 0.0017492406 0.0038188116 - 1620800 0.0064603861 0.0020983175 0.005227567 - 1620900 0.0040909419 0.0022838291 0.004265379 - 1621000 0.0063984232 0.0022040858 0.0053033221 - 1621100 0.0051104418 0.0023629554 0.0048383257 - 1621200 0.0060284288 0.0025550772 0.0054750974 - 1621300 0.005805582 0.002915039 0.0057271178 - 1621400 0.0050453693 0.0027744422 0.005218293 - 1621500 0.0047890221 0.0025247834 0.004844466 - 1621600 0.0063433545 0.002384962 0.0054575243 - 1621700 0.0070973218 0.0022055093 0.0056432745 - 1621800 0.0069115451 0.0024151239 0.0057629035 - 1621900 0.0054200639 0.0026165783 0.0052419217 - 1622000 0.0056562836 0.0028586865 0.0055984489 - 1622100 0.0041413375 0.0025197303 0.0045256906 - 1622200 0.0054737324 0.0023349276 0.0049862667 - 1622300 0.003967964 0.0024541917 0.0043761742 - 1622400 0.0028976266 0.0025246191 0.003928157 - 1622500 0.0052420506 0.0028677676 0.0054068858 - 1622600 0.0059972196 0.002389707 0.0052946102 - 1622700 0.0040065277 0.0023733734 0.0043140352 - 1622800 0.0056596009 0.0020999108 0.00484128 - 1622900 0.0044299819 0.0023395255 0.004485298 - 1623000 0.0043620809 0.0021797105 0.0042925934 - 1623100 0.005314494 0.0023630158 0.0049372239 - 1623200 0.0058292285 0.0023787636 0.0052022962 - 1623300 0.0051979961 0.0027135576 0.0052313369 - 1623400 0.0057087403 0.0027703772 0.0055355483 - 1623500 0.0039235929 0.0029510234 0.0048515137 - 1623600 0.0067243992 0.0024462914 0.0057034223 - 1623700 0.0053967645 0.0021424792 0.004756537 - 1623800 0.0046381411 0.0027987141 0.0050453137 - 1623900 0.004082387 0.002865963 0.0048433692 - 1624000 0.0065374838 0.0024614396 0.0056280333 - 1624100 0.0040033679 0.0023375995 0.0042767308 - 1624200 0.005624285 0.0017328913 0.0044571543 - 1624300 0.0040024952 0.0017065842 0.0036452928 - 1624400 0.0042813911 0.0018206292 0.003894428 - 1624500 0.0042260725 0.0020283002 0.0040753041 - 1624600 0.0037949571 0.0019461039 0.0037842863 - 1624700 0.0044535748 0.002030114 0.0041873143 - 1624800 0.0034825046 0.001917442 0.0036042802 - 1624900 0.0053292372 0.0017776864 0.0043590357 - 1625000 0.0053245042 0.0021213259 0.0047003826 - 1625100 0.0040410712 0.0031570596 0.0051144534 - 1625200 0.0056874761 0.0028881419 0.0056430131 - 1625300 0.0065705546 0.0024487463 0.0056313586 - 1625400 0.0043055319 0.0027322065 0.0048176985 - 1625500 0.005830842 0.0023244585 0.0051487725 - 1625600 0.0059381743 0.0023655913 0.0052418945 - 1625700 0.0045837976 0.0027661537 0.0049864307 - 1625800 0.0048444556 0.0027100059 0.0050565391 - 1625900 0.0057651216 0.0022416814 0.0050341622 - 1626000 0.0053012028 0.0023681709 0.004935941 - 1626100 0.0049384854 0.003125752 0.0055178309 - 1626200 0.0062358362 0.0026636711 0.0056841543 - 1626300 0.0046874361 0.0024246911 0.004695168 - 1626400 0.0044869431 0.0025052543 0.0046786174 - 1626500 0.0035800262 0.0025192789 0.0042533541 - 1626600 0.0046841285 0.0027655226 0.0050343973 - 1626700 0.0041691909 0.0029542826 0.0049737344 - 1626800 0.0060997562 0.0032292684 0.0061838378 - 1626900 0.0058007849 0.0036176152 0.0064273704 - 1627000 0.0045128215 0.0037184791 0.005904377 - 1627100 0.0050406556 0.0035488479 0.0059904155 - 1627200 0.0040073688 0.0030058363 0.0049469056 - 1627300 0.0061908753 0.0030642657 0.006062971 - 1627400 0.0039065371 0.0032458364 0.0051380653 - 1627500 0.0051642532 0.0028623159 0.005363751 - 1627600 0.0067965514 0.0024610278 0.0057531074 - 1627700 0.0045587892 0.0025545682 0.0047627317 - 1627800 0.0051417132 0.0024227345 0.0049132518 - 1627900 0.0035869146 0.0023942874 0.0041316992 - 1628000 0.0046276091 0.00209971 0.0043412082 - 1628100 0.0046020073 0.0020975148 0.0043266121 - 1628200 0.004382452 0.0018049766 0.0039277268 - 1628300 0.0046630985 0.0015147608 0.0037734492 - 1628400 0.0042045174 0.0018365181 0.0038730813 - 1628500 0.0048461173 0.0020705875 0.0044179255 - 1628600 0.0053558138 0.0022168049 0.0048110272 - 1628700 0.0049043361 0.0025133216 0.0048888594 - 1628800 0.0064171355 0.0032075038 0.0063158038 - 1628900 0.0054735925 0.0028385056 0.005489777 - 1629000 0.0052149699 0.0028510327 0.0053770337 - 1629100 0.0042858848 0.0029193038 0.0049952793 - 1629200 0.0050623489 0.0025912323 0.0050433075 - 1629300 0.0040644984 0.0025444534 0.0045131948 - 1629400 0.0050243592 0.0026086364 0.0050423104 - 1629500 0.0061488142 0.0025917124 0.0055700443 - 1629600 0.0049372577 0.0028130911 0.0052045753 - 1629700 0.0057724154 0.0028065512 0.0056025649 - 1629800 0.0048683759 0.002568613 0.0049267326 - 1629900 0.0044953328 0.0024910462 0.004668473 - 1630000 0.0038418478 0.0033325149 0.0051934099 - 1630100 0.003338324 0.003374816 0.0049918167 - 1630200 0.0060095811 0.0028019869 0.0057128777 - 1630300 0.0045956624 0.0028697213 0.0050957453 - 1630400 0.0045070672 0.0024492956 0.0046324063 - 1630500 0.0033115035 0.0026420192 0.0042460288 - 1630600 0.0044852433 0.0031377632 0.0053103029 - 1630700 0.0067963003 0.0030078724 0.0062998304 - 1630800 0.0052429781 0.0026498517 0.0051894192 - 1630900 0.0051841648 0.0025594328 0.0050705126 - 1631000 0.004858108 0.0025302276 0.0048833736 - 1631100 0.0048785473 0.0028473498 0.0052103961 - 1631200 0.0064626866 0.0029541142 0.006084478 - 1631300 0.0056098377 0.002856209 0.0055734742 - 1631400 0.0045668615 0.0028268309 0.0050389045 - 1631500 0.0038328518 0.0026087637 0.0044653013 - 1631600 0.0058824971 0.002311845 0.0051611795 - 1631700 0.0063147482 0.0024269291 0.0054856352 - 1631800 0.0060659518 0.003286567 0.0062247624 - 1631900 0.0042220233 0.0036497191 0.0056947617 - 1632000 0.0054271323 0.0030586781 0.0056874453 - 1632100 0.0054839155 0.0026613596 0.0053176312 - 1632200 0.0057045884 0.0027607647 0.0055239247 - 1632300 0.0047255922 0.0029713942 0.0052603529 - 1632400 0.0051819134 0.0031252721 0.0056352614 - 1632500 0.0039050894 0.0033140849 0.0052056126 - 1632600 0.0047495726 0.0031580406 0.0054586148 - 1632700 0.0063966709 0.0031000289 0.0061984164 - 1632800 0.0055189822 0.0029952899 0.0056685469 - 1632900 0.0040047371 0.0026489173 0.0045887118 - 1633000 0.0062933265 0.0026433993 0.0056917293 - 1633100 0.0059337427 0.0030116682 0.0058858248 - 1633200 0.006359466 0.0027956507 0.005876017 - 1633300 0.0047104236 0.0029844 0.0052660114 - 1633400 0.0042268 0.002790872 0.0048382283 - 1633500 0.0038591701 0.0028435944 0.0047128799 - 1633600 0.0031940908 0.0030125162 0.004559654 - 1633700 0.0040740916 0.0028865552 0.0048599433 - 1633800 0.0034606577 0.0026572074 0.0043334635 - 1633900 0.0039067085 0.0022911504 0.0041834623 - 1634000 0.0051313415 0.0022158791 0.0047013727 - 1634100 0.0046947443 0.0022191783 0.0044931951 - 1634200 0.0048104103 0.0023955558 0.0047255983 - 1634300 0.0057429069 0.0023626853 0.0051444059 - 1634400 0.0041751574 0.0027762147 0.0047985565 - 1634500 0.0046693438 0.0029445637 0.0052062771 - 1634600 0.0046417766 0.0030257714 0.0052741319 - 1634700 0.0062083201 0.0030294691 0.0060366241 - 1634800 0.003571156 0.0031035372 0.0048333159 - 1634900 0.0051623823 0.0027713637 0.0052718927 - 1635000 0.0037265404 0.0028573222 0.0046623652 - 1635100 0.0058873146 0.0026371731 0.0054888411 - 1635200 0.0047862028 0.0025997832 0.0049181002 - 1635300 0.0049504365 0.0025784801 0.0049763478 - 1635400 0.0035665645 0.0029345955 0.0046621501 - 1635500 0.0042484133 0.0030827688 0.005140594 - 1635600 0.0051219171 0.0026991518 0.0051800804 - 1635700 0.0046885811 0.0027625614 0.0050335929 - 1635800 0.0047536102 0.0029899861 0.0052925161 - 1635900 0.0059540219 0.0025746155 0.0054585949 - 1636000 0.0047358251 0.002245374 0.0045392893 - 1636100 0.002598486 0.0020978585 0.0033565001 - 1636200 0.0040893713 0.0023780209 0.0043588101 - 1636300 0.0041528929 0.0026810101 0.0046925676 - 1636400 0.0035626505 0.0025782016 0.0043038604 - 1636500 0.0045566107 0.0026434374 0.0048505458 - 1636600 0.0063691542 0.0025479012 0.0056329603 - 1636700 0.0047202115 0.0023611332 0.0046474857 - 1636800 0.005245015 0.0024327859 0.0049733401 - 1636900 0.004927184 0.0027972794 0.0051838841 - 1637000 0.0053373397 0.0028844772 0.0054697512 - 1637100 0.0045923645 0.0029665988 0.0051910253 - 1637200 0.0053772536 0.0029839395 0.0055885467 - 1637300 0.0041474294 0.0023581479 0.004367059 - 1637400 0.0049627179 0.0021146657 0.0045184822 - 1637500 0.0041380168 0.0023219887 0.0043263406 - 1637600 0.005419279 0.001809193 0.0044341563 - 1637700 0.0041948871 0.0019582106 0.0039901091 - 1637800 0.0046919734 0.0021692113 0.0044418859 - 1637900 0.004602092 0.0026335818 0.0048627202 - 1638000 0.0042647192 0.0029536203 0.0050193437 - 1638100 0.0048683081 0.0027523447 0.0051104314 - 1638200 0.0060166565 0.0025242223 0.0054385403 - 1638300 0.0045427536 0.0024050329 0.0046054291 - 1638400 0.0046847444 0.0026808727 0.0049500458 - 1638500 0.0047609796 0.0027595263 0.0050656258 - 1638600 0.0050813898 0.0027471393 0.0052084375 - 1638700 0.0066349853 0.0029231793 0.0061370003 - 1638800 0.0062991747 0.0031073219 0.0061584847 - 1638900 0.0053209234 0.0035520849 0.0061294072 - 1639000 0.0074072873 0.0028344147 0.0064223195 - 1639100 0.0042572692 0.0022031492 0.0042652639 - 1639200 0.0062225508 0.0023563522 0.0053704003 - 1639300 0.006479103 0.0030578683 0.0061961838 - 1639400 0.0043455299 0.0032681228 0.0053729889 - 1639500 0.0060938638 0.0031539242 0.0061056394 - 1639600 0.0067729548 0.0029356938 0.0062163438 - 1639700 0.0053452872 0.0027668677 0.0053559912 - 1639800 0.0041779208 0.002420171 0.0044438514 - 1639900 0.0056622493 0.002322991 0.005065643 - 1640000 0.0050286093 0.0027070536 0.0051427863 - 1640100 0.0052117905 0.0026757912 0.0052002522 - 1640200 0.0046801443 0.0022426678 0.0045096127 - 1640300 0.0053165635 0.0018280031 0.0044032135 - 1640400 0.0067909496 0.0020477176 0.0053370838 - 1640500 0.0039028218 0.0028001783 0.0046906076 - 1640600 0.0049552032 0.0029954246 0.0053956012 - 1640700 0.0071560738 0.0031545723 0.0066207956 - 1640800 0.0043465629 0.0034105095 0.0055158759 - 1640900 0.0060644535 0.0025373865 0.0054748561 - 1641000 0.004227289 0.0021605115 0.0042081046 - 1641100 0.0054959094 0.0020836725 0.0047457537 - 1641200 0.0052651289 0.0022941937 0.0048444905 - 1641300 0.0043287493 0.0028155489 0.0049122869 - 1641400 0.0045403401 0.0030781831 0.0052774104 - 1641500 0.0040336592 0.0033298149 0.0052836186 - 1641600 0.0057757351 0.0028875435 0.0056851652 - 1641700 0.0060523972 0.0025243676 0.0054559975 - 1641800 0.006865761 0.0027416026 0.0060672056 - 1641900 0.0040282199 0.0029304026 0.0048815717 - 1642000 0.0049175295 0.0024167297 0.004798658 - 1642100 0.0036910505 0.0025452441 0.0043330966 - 1642200 0.0054144359 0.0024581011 0.0050807184 - 1642300 0.0056887737 0.0021600857 0.0049155855 - 1642400 0.0044845885 0.0023943661 0.0045665886 - 1642500 0.0060156141 0.0027570923 0.0056709054 - 1642600 0.0066799105 0.0031536488 0.0063892305 - 1642700 0.0056270164 0.0027892661 0.0055148522 - 1642800 0.007317675 0.0018435186 0.0053880174 - 1642900 0.0047236616 0.0020708213 0.0043588449 - 1643000 0.0036713734 0.0024174699 0.0041957914 - 1643100 0.0041410821 0.0025324946 0.0045383313 - 1643200 0.002682738 0.0025110384 0.0038104896 - 1643300 0.0057424211 0.0021542636 0.0049357488 - 1643400 0.0067810357 0.0022867498 0.005571314 - 1643500 0.0050166686 0.0021801906 0.0046101395 - 1643600 0.0042042113 0.001954686 0.0039911008 - 1643700 0.0050259711 0.0017595825 0.0041940372 - 1643800 0.0053059853 0.0020562003 0.004626287 - 1643900 0.0047370168 0.0019902403 0.0042847328 - 1644000 0.0052036428 0.0020866507 0.0046071652 - 1644100 0.0051552566 0.002589622 0.0050866994 - 1644200 0.0055395833 0.0026960654 0.0053793011 - 1644300 0.004698711 0.0029258862 0.0052018244 - 1644400 0.0045114785 0.003224238 0.0054094854 - 1644500 0.004647839 0.0029159306 0.0051672276 - 1644600 0.0072926122 0.0029618724 0.0064942315 - 1644700 0.0048948261 0.0030003264 0.0053712578 - 1644800 0.0050000955 0.0027685477 0.0051904689 - 1644900 0.0053723731 0.0023977088 0.004999952 - 1645000 0.0046450849 0.002375725 0.004625688 - 1645100 0.0059106385 0.0021293669 0.0049923324 - 1645200 0.005559943 0.0019184789 0.0046115763 - 1645300 0.0058312894 0.0022329184 0.0050574492 - 1645400 0.0068685548 0.0022083885 0.0055353447 - 1645500 0.0053295913 0.0022470394 0.0048285602 - 1645600 0.0038295985 0.0026698328 0.0045247946 - 1645700 0.0066323347 0.002621146 0.0058336831 - 1645800 0.0050473383 0.0026457454 0.0050905498 - 1645900 0.0047659693 0.002216062 0.0045245784 - 1646000 0.0049610214 0.0026536078 0.0050566025 - 1646100 0.0051274468 0.002716523 0.0052001301 - 1646200 0.0056290751 0.0029433803 0.0056699636 - 1646300 0.0045494065 0.0026903282 0.004893947 - 1646400 0.0057840386 0.0024965354 0.0052981791 - 1646500 0.0045430598 0.0025816441 0.0047821886 - 1646600 0.0042374927 0.0026912156 0.0047437512 - 1646700 0.0058313086 0.0029717251 0.0057962651 - 1646800 0.0064608026 0.0032741846 0.0064036359 - 1646900 0.0050392487 0.0031673301 0.0056082162 - 1647000 0.0040369854 0.002883343 0.0048387578 - 1647100 0.0045121116 0.0030961629 0.0052817169 - 1647200 0.0066765959 0.0032960012 0.0065299773 - 1647300 0.0065253762 0.0029666079 0.006127337 - 1647400 0.0062181518 0.0027576071 0.0057695244 - 1647500 0.0042412434 0.002753699 0.0048080513 - 1647600 0.0052977098 0.0024811452 0.0050472233 - 1647700 0.0057160809 0.0025937582 0.0053624849 - 1647800 0.0054182671 0.0026701766 0.0052946497 - 1647900 0.0056438088 0.0027235245 0.0054572444 - 1648000 0.0058637451 0.0026038961 0.0054441476 - 1648100 0.0051001915 0.0024296314 0.0049000366 - 1648200 0.0052711614 0.0024179414 0.0049711602 - 1648300 0.0051200069 0.0024349808 0.0049149841 - 1648400 0.0050923422 0.0028653332 0.0053319364 - 1648500 0.0043169703 0.0029874531 0.0050784856 - 1648600 0.0047024773 0.0032064927 0.0054842552 - 1648700 0.0046212897 0.0028625484 0.0051009856 - 1648800 0.0040025679 0.0024173995 0.0043561433 - 1648900 0.0055918023 0.0021114459 0.0048199751 - 1649000 0.0049313489 0.0022001459 0.004588768 - 1649100 0.0067971778 0.0025454615 0.0058378445 - 1649200 0.0038288749 0.0025251248 0.0043797361 - 1649300 0.003677428 0.0022998546 0.0040811088 - 1649400 0.0042718662 0.0023312724 0.0044004575 - 1649500 0.0055863449 0.002089348 0.0047952338 - 1649600 0.004638832 0.0020759896 0.0043229238 - 1649700 0.0055232434 0.002607606 0.005282927 - 1649800 0.0053285619 0.0025897867 0.0051708088 - 1649900 0.0047836729 0.0024029504 0.0047200419 - 1650000 0.0053026043 0.0023573708 0.0049258198 - 1650100 0.0049200436 0.0021046538 0.0044877999 - 1650200 0.0044689765 0.0023465201 0.0045111806 - 1650300 0.0053559689 0.0024072497 0.0050015472 - 1650400 0.0057898558 0.0024238325 0.0052282939 - 1650500 0.0047982731 0.00269558 0.0050197435 - 1650600 0.0052538643 0.0027814148 0.0053262553 - 1650700 0.004558796 0.0024770583 0.0046852251 - 1650800 0.0060318192 0.002197683 0.0051193455 - 1650900 0.0047245587 0.0019879444 0.0042764025 - 1651000 0.005931727 0.0017901517 0.0046633319 - 1651100 0.0049338998 0.0021203616 0.0045102193 - 1651200 0.0061610579 0.0023324502 0.0053167126 - 1651300 0.0056758832 0.0023584647 0.0051077207 - 1651400 0.0046728582 0.0021602619 0.0044236776 - 1651500 0.0062928934 0.0025407867 0.005588907 - 1651600 0.0049292478 0.0029060926 0.005293697 - 1651700 0.0053864399 0.0025568017 0.0051658586 - 1651800 0.0067717705 0.0030720433 0.0063521196 - 1651900 0.0058668446 0.0034375463 0.0062792991 - 1652000 0.0049535703 0.0032965519 0.0056959375 - 1652100 0.0065825188 0.0026777047 0.0058661122 - 1652200 0.0055775145 0.0021969455 0.0048985541 - 1652300 0.0048843963 0.0021469747 0.0045128542 - 1652400 0.0033396056 0.0021811277 0.0037987492 - 1652500 0.004672797 0.0019609942 0.0042243802 - 1652600 0.0057929542 0.0018903715 0.0046963337 - 1652700 0.0054160383 0.0020993208 0.0047227144 - 1652800 0.0063179041 0.002269329 0.0053295639 - 1652900 0.0065228553 0.0020596114 0.0052191194 - 1653000 0.0062142204 0.0024181898 0.0054282028 - 1653100 0.0044555618 0.0028594363 0.0050175991 - 1653200 0.0057339087 0.0028209005 0.0055982625 - 1653300 0.0054458467 0.0028351635 0.0054729955 - 1653400 0.0056950155 0.0024045076 0.0051630307 - 1653500 0.005482261 0.002004394 0.0046598641 - 1653600 0.0054143735 0.0021673221 0.0047899093 - 1653700 0.0052203261 0.0022551543 0.0047837498 - 1653800 0.004901459 0.002289129 0.0046632732 - 1653900 0.005338794 0.0020499177 0.0046358961 - 1654000 0.0038477122 0.0019258486 0.0037895842 - 1654100 0.0070551282 0.0019130871 0.0053304148 - 1654200 0.003270829 0.0023271426 0.0039114504 - 1654300 0.0047781474 0.0028411194 0.0051555345 - 1654400 0.0055617546 0.0029205387 0.0056145135 - 1654500 0.0056337318 0.0027186 0.0054474388 - 1654600 0.0050273724 0.0030160756 0.0054512091 - 1654700 0.0054903245 0.0029387259 0.0055981019 - 1654800 0.0059319265 0.0028730688 0.0057463458 - 1654900 0.0035603035 0.0027610498 0.0044855718 - 1655000 0.0050221004 0.0028213336 0.0052539135 - 1655100 0.0048174819 0.0024105864 0.0047440542 - 1655200 0.0057506053 0.0021118137 0.0048972631 - 1655300 0.0056441826 0.00218559 0.004919491 - 1655400 0.0046642681 0.0024055985 0.0046648533 - 1655500 0.0042424914 0.0026403123 0.0046952691 - 1655600 0.0047704053 0.0027893953 0.0051000604 - 1655700 0.0050043839 0.0031701288 0.0055941273 - 1655800 0.0052155537 0.0031189994 0.0056452832 - 1655900 0.0039674553 0.0032597219 0.005181458 - 1656000 0.0060066889 0.0029508746 0.0058603645 - 1656100 0.0049927558 0.003165949 0.0055843151 - 1656200 0.0050036514 0.0032903728 0.0057140165 - 1656300 0.0048771611 0.0030134393 0.0053758142 - 1656400 0.0051021404 0.0032871931 0.0057585423 - 1656500 0.005929017 0.0029820681 0.0058539357 - 1656600 0.0050336388 0.0031878116 0.0056259803 - 1656700 0.0050401042 0.0031045746 0.0055458751 - 1656800 0.0062243019 0.002819135 0.0058340312 - 1656900 0.0048861447 0.0027726628 0.0051393891 - 1657000 0.00532877 0.0028002427 0.0053813657 - 1657100 0.0044469503 0.0029537101 0.0051077017 - 1657200 0.0051694507 0.0029844954 0.0054884481 - 1657300 0.0040011982 0.002767666 0.0047057464 - 1657400 0.0041235359 0.0028464702 0.0048438079 - 1657500 0.0054242683 0.0031632355 0.0057906154 - 1657600 0.0057514689 0.0033881126 0.0061739804 - 1657700 0.0043540667 0.0036254174 0.0057344184 - 1657800 0.0062419726 0.0034503599 0.0064738154 - 1657900 0.0059295514 0.0032782192 0.0061503457 - 1658000 0.004299356 0.0029738728 0.0050563734 - 1658100 0.0052469641 0.0027275998 0.005269098 - 1658200 0.0042614543 0.0030605864 0.0051247284 - 1658300 0.004387671 0.0031253088 0.005250587 - 1658400 0.0059777904 0.0030770988 0.005972591 - 1658500 0.0037922044 0.0030403049 0.004877154 - 1658600 0.0061253352 0.0029950861 0.0059620453 - 1658700 0.0055660518 0.0031917799 0.0058878362 - 1658800 0.0045183302 0.0030141247 0.0052026909 - 1658900 0.0058326645 0.0024600254 0.0052852223 - 1659000 0.004460247 0.0025680061 0.0047284383 - 1659100 0.0057773987 0.0027404625 0.00553889 - 1659200 0.0047587195 0.0024857354 0.0047907402 - 1659300 0.0060320459 0.0023173462 0.0052391185 - 1659400 0.0037153012 0.0032983411 0.0050979401 - 1659500 0.0045802835 0.0034547563 0.0056733311 - 1659600 0.0061315277 0.00295335 0.0059233087 - 1659700 0.004992946 0.0027360904 0.0051545486 - 1659800 0.0050188413 0.0027330461 0.0051640473 - 1659900 0.0044500551 0.002791221 0.0049467165 - 1660000 0.0064847081 0.0027670949 0.0059081254 - 1660100 0.0057592272 0.0027863859 0.0055760116 - 1660200 0.0041086915 0.0030069208 0.0049970683 - 1660300 0.004424 0.0027520579 0.004894933 - 1660400 0.0061762975 0.0027783988 0.005770043 - 1660500 0.0056707581 0.0024719543 0.0052187277 - 1660600 0.0049629861 0.0025328919 0.0049368383 - 1660700 0.0053236665 0.0024633393 0.0050419903 - 1660800 0.0051952247 0.0027176635 0.0052341005 - 1660900 0.0060855014 0.0028970291 0.0058446938 - 1661000 0.003094757 0.0032414196 0.0047404426 - 1661100 0.0050978022 0.002812059 0.005281307 - 1661200 0.0054495562 0.0030411944 0.0056808232 - 1661300 0.0061396435 0.0031575757 0.0061314656 - 1661400 0.00524369 0.0029387947 0.0054787071 - 1661500 0.0040509249 0.0029745906 0.0049367573 - 1661600 0.0047935864 0.0026904799 0.0050123734 - 1661700 0.0056110424 0.0023859158 0.0051037645 - 1661800 0.0061060846 0.0021386659 0.0050963006 - 1661900 0.0051536105 0.0022067945 0.0047030746 - 1662000 0.0052090958 0.0023353282 0.004858484 - 1662100 0.0058810285 0.0022137304 0.0050623536 - 1662200 0.0063334987 0.0022591156 0.005326904 - 1662300 0.0039636817 0.0022059713 0.0041258796 - 1662400 0.0043820542 0.002171334 0.0042938915 - 1662500 0.0067745879 0.0024615018 0.0057429428 - 1662600 0.0049593417 0.0028793199 0.0052815011 - 1662700 0.0056049961 0.0028478548 0.0055627747 - 1662800 0.0040909883 0.0028378733 0.0048194458 - 1662900 0.0058671816 0.0022302971 0.0050722132 - 1663000 0.0054818946 0.0017920656 0.0044473583 - 1663100 0.0061570581 0.0017720004 0.0047543254 - 1663200 0.0039573884 0.0022120312 0.0041288912 - 1663300 0.0043651756 0.0020429395 0.0041573214 - 1663400 0.0058387918 0.0021608615 0.0049890263 - 1663500 0.0042485734 0.0023129427 0.0043708455 - 1663600 0.0057363948 0.0024428526 0.0052214188 - 1663700 0.004371576 0.0023406812 0.0044581633 - 1663800 0.0043484821 0.0022767785 0.0043830745 - 1663900 0.0054013088 0.0021853468 0.0048016058 - 1664000 0.0056252597 0.0022688418 0.0049935769 - 1664100 0.0044189214 0.0027477216 0.0048881367 - 1664200 0.0058551711 0.0025479869 0.0053840855 - 1664300 0.0041716164 0.0027639276 0.0047845543 - 1664400 0.0051236387 0.002611687 0.0050934495 - 1664500 0.0042348443 0.0027628858 0.0048141386 - 1664600 0.0044774774 0.0025950363 0.0047638145 - 1664700 0.0064681525 0.0025912658 0.0057242772 - 1664800 0.0038198166 0.0028182631 0.0046684867 - 1664900 0.0051927189 0.0026352324 0.0051504557 - 1665000 0.0046434758 0.0025132346 0.0047624182 - 1665100 0.0055223565 0.0023805013 0.0050553927 - 1665200 0.0038966918 0.0021006918 0.0039881519 - 1665300 0.0046424246 0.0018347562 0.0040834307 - 1665400 0.0041092346 0.001929404 0.0039198145 - 1665500 0.0054503193 0.0023500693 0.0049900677 - 1665600 0.0057073971 0.0025553248 0.0053198452 - 1665700 0.0057352272 0.0023328468 0.0051108475 - 1665800 0.0053083543 0.0026471907 0.0052184248 - 1665900 0.0044371799 0.0020976483 0.0042469073 - 1666000 0.0071691037 0.0017689638 0.0052414984 - 1666100 0.0045736976 0.0027760855 0.0049914703 - 1666200 0.0051197393 0.0031253638 0.0056052375 - 1666300 0.0063902014 0.0025248986 0.0056201524 - 1666400 0.0049573082 0.0024929864 0.0048941825 - 1666500 0.0048897781 0.0028115785 0.0051800647 - 1666600 0.0055795929 0.0028185713 0.0055211866 - 1666700 0.0065163501 0.0026337759 0.005790133 - 1666800 0.0040128459 0.0023890681 0.0043327903 - 1666900 0.0059335176 0.00242743 0.0053014776 - 1667000 0.0056465668 0.0022669661 0.0050020219 - 1667100 0.0043835393 0.0020672071 0.0041904839 - 1667200 0.0039914458 0.0022459029 0.0041792594 - 1667300 0.004187031 0.0023801076 0.0044082007 - 1667400 0.0041143252 0.0024662325 0.0044591088 - 1667500 0.0043986209 0.0025908975 0.0047214795 - 1667600 0.005014944 0.0029587692 0.0053878827 - 1667700 0.0059444346 0.00277019 0.0056495255 - 1667800 0.0054956009 0.0024442106 0.0051061423 - 1667900 0.0048219251 0.0023319351 0.0046675551 - 1668000 0.0047440535 0.0027615797 0.0050594806 - 1668100 0.0040279565 0.0029996558 0.0049506973 - 1668200 0.0072338731 0.0024664348 0.005970342 - 1668300 0.005334767 0.0027167508 0.0053007785 - 1668400 0.0074994691 0.0030077526 0.0066403079 - 1668500 0.0055513403 0.0035811093 0.0062700398 - 1668600 0.005855234 0.003728927 0.0065650559 - 1668700 0.005006675 0.0036518755 0.0060769837 - 1668800 0.0057382052 0.0036722041 0.0064516472 - 1668900 0.0057108294 0.0034289284 0.0061951114 - 1669000 0.0060763099 0.0026911534 0.0056343661 - 1669100 0.0043275169 0.0029045287 0.0050006697 - 1669200 0.0058463545 0.0029177693 0.0057495973 - 1669300 0.0060536017 0.0023303365 0.0052625498 - 1669400 0.0073690969 0.0027254232 0.0062948295 - 1669500 0.0059538893 0.0029932816 0.0058771968 - 1669600 0.0061858511 0.0021671832 0.0051634548 - 1669700 0.0055942011 0.0023930151 0.0051027063 - 1669800 0.0065231746 0.0022152737 0.0053749364 - 1669900 0.0052193323 0.0020632227 0.0045913368 - 1670000 0.0037711584 0.0023483304 0.0041749852 - 1670100 0.0057263012 0.0023266757 0.0051003528 - 1670200 0.0044866453 0.0025804129 0.0047536318 - 1670300 0.0046890007 0.0028996057 0.0051708404 - 1670400 0.0060182042 0.00291928 0.0058343477 - 1670500 0.004841997 0.0027379466 0.0050832889 - 1670600 0.0044180937 0.0023936051 0.0045336193 - 1670700 0.0045372791 0.002614307 0.0048120516 - 1670800 0.0065033423 0.0025306355 0.0056806919 - 1670900 0.0040590712 0.0026423038 0.0046084164 - 1671000 0.0059158115 0.0024879661 0.0053534372 - 1671100 0.0046224469 0.0024175363 0.0046565341 - 1671200 0.0069059694 0.00252812 0.0058731989 - 1671300 0.0061278345 0.0025989623 0.0055671322 - 1671400 0.006242046 0.0028273765 0.0058508676 - 1671500 0.0040730165 0.0026534562 0.0046263236 - 1671600 0.0044394215 0.0025538108 0.0047041556 - 1671700 0.0071575051 0.0019720231 0.0054389397 - 1671800 0.0047206727 0.0021982079 0.0044847837 - 1671900 0.0043499169 0.0022843206 0.0043913116 - 1672000 0.0048117129 0.0025819102 0.0049125836 - 1672100 0.0052910877 0.0024208409 0.0049837115 - 1672200 0.0050996448 0.002286286 0.0047564265 - 1672300 0.0049723131 0.0020675912 0.0044760554 - 1672400 0.0045631686 0.0019044442 0.004114729 - 1672500 0.0046480125 0.0017034927 0.0039548737 - 1672600 0.0048587596 0.0018307732 0.0041842349 - 1672700 0.0053580944 0.0018771162 0.0044724431 - 1672800 0.0042389298 0.0022153459 0.0042685776 - 1672900 0.0076980108 0.0022126985 0.0059414225 - 1673000 0.0046229108 0.0022658636 0.0045050861 - 1673100 0.0066409683 0.0020784744 0.0052951935 - 1673200 0.003666307 0.0022543852 0.0040302526 - 1673300 0.0071443356 0.0018237573 0.0052842949 - 1673400 0.0058382724 0.002155931 0.0049838442 - 1673500 0.0053453247 0.0028471553 0.0054362969 - 1673600 0.0061513439 0.0032649658 0.0062445231 - 1673700 0.0053566964 0.0033719953 0.0059666451 - 1673800 0.0056947373 0.0030599226 0.005818311 - 1673900 0.0060595929 0.0024340743 0.0053691896 - 1674000 0.0045149765 0.0022988574 0.0044857991 - 1674100 0.0051128026 0.002270119 0.0047466328 - 1674200 0.0050145724 0.0020195983 0.0044485318 - 1674300 0.0042440786 0.0020538248 0.0041095504 - 1674400 0.0044967359 0.0020453402 0.0042234466 - 1674500 0.0055006695 0.0019256854 0.0045900722 - 1674600 0.0061018287 0.0018058804 0.0047614537 - 1674700 0.0048665629 0.0018082569 0.0041654983 - 1674800 0.0042151267 0.0025053937 0.0045470956 - 1674900 0.0059925122 0.0023846704 0.0052872935 - 1675000 0.0043946981 0.0023584928 0.0044871747 - 1675100 0.0053716809 0.002449895 0.005051803 - 1675200 0.0044524563 0.0026122493 0.0047689078 - 1675300 0.0037086699 0.0021754867 0.0039718737 - 1675400 0.0067590548 0.002137703 0.0054116202 - 1675500 0.0059117688 0.0023839454 0.0052474584 - 1675600 0.0051294028 0.0022854145 0.0047699689 - 1675700 0.0057572828 0.0022684261 0.00505711 - 1675800 0.005456718 0.0024292575 0.0050723553 - 1675900 0.005298139 0.0028332593 0.0053995454 - 1676000 0.0052774734 0.0029137972 0.0054700734 - 1676100 0.0057098565 0.0027241047 0.0054898164 - 1676200 0.0047457404 0.0021208312 0.0044195492 - 1676300 0.007425845 0.0022712854 0.005868179 - 1676400 0.0047694518 0.0026426806 0.0049528838 - 1676500 0.0047574395 0.0027392955 0.0050436802 - 1676600 0.007899068 0.0026384036 0.0064645146 - 1676700 0.0043624692 0.0025789576 0.0046920286 - 1676800 0.0048652869 0.0028518242 0.0052084475 - 1676900 0.0047752211 0.0024662982 0.0047792959 - 1677000 0.0045245011 0.0021237793 0.0043153345 - 1677100 0.0049244536 0.0018086983 0.0041939805 - 1677200 0.0058525169 0.0020089855 0.0048437983 - 1677300 0.004842559 0.0021280567 0.0044736712 - 1677400 0.0050723316 0.0023456138 0.0048025245 - 1677500 0.0047256655 0.0024621396 0.0047511338 - 1677600 0.0044767557 0.0023741546 0.0045425831 - 1677700 0.0043205962 0.0020846427 0.0041774314 - 1677800 0.0053579762 0.0018529924 0.0044482621 - 1677900 0.0053761171 0.0021100096 0.0047140664 - 1678000 0.0046707103 0.0021841967 0.0044465721 - 1678100 0.0045718908 0.0028275118 0.0050420214 - 1678200 0.0041610528 0.0024992894 0.0045147994 - 1678300 0.0063336156 0.0022580113 0.0053258563 - 1678400 0.0062512029 0.0024541826 0.005482109 - 1678500 0.0060700487 0.0023914278 0.0053316076 - 1678600 0.0048420113 0.0025636762 0.0049090254 - 1678700 0.0053620531 0.0025706881 0.0051679325 - 1678800 0.0045776711 0.0020647353 0.0042820447 - 1678900 0.0047722517 0.0019902873 0.0043018467 - 1679000 0.0043076379 0.001989093 0.0040756051 - 1679100 0.0066623743 0.0021855178 0.0054126053 - 1679200 0.0050078291 0.0022759748 0.004701642 - 1679300 0.0044347082 0.0022778889 0.0044259507 - 1679400 0.0055476872 0.0023191742 0.0050063352 - 1679500 0.004874041 0.0022130527 0.0045739163 - 1679600 0.0038675807 0.002523013 0.0043963724 - 1679700 0.003931867 0.0028867277 0.0047912258 - 1679800 0.0067152867 0.0019312346 0.0051839516 - 1679900 0.0055194176 0.0020729362 0.0047464041 - 1680000 0.0041322722 0.0025528787 0.0045544481 - 1680100 0.0039825128 0.0025506282 0.0044796578 - 1680200 0.006635767 0.0021797319 0.0053939315 - 1680300 0.0059500114 0.0022422304 0.0051242671 - 1680400 0.0050519802 0.0023645557 0.0048116086 - 1680500 0.0062937583 0.0026182845 0.0056668237 - 1680600 0.0056690547 0.0030498584 0.0057958068 - 1680700 0.0046610928 0.0024100072 0.004667724 - 1680800 0.0063545321 0.0021866325 0.005264609 - 1680900 0.0042783039 0.0026254424 0.0046977459 - 1681000 0.0055563611 0.0026367119 0.0053280743 - 1681100 0.0059049383 0.0026119613 0.0054721658 - 1681200 0.0066024929 0.0023781614 0.0055762439 - 1681300 0.0053813042 0.0028303157 0.0054368849 - 1681400 0.0047812666 0.0031188399 0.005434766 - 1681500 0.0051013229 0.0028076728 0.0052786261 - 1681600 0.0055442081 0.0025577798 0.0052432557 - 1681700 0.0051852852 0.0020308906 0.0045425132 - 1681800 0.0042587659 0.0021526481 0.0042154878 - 1681900 0.0064362692 0.0020341022 0.0051516701 - 1682000 0.00464978 0.0020636815 0.0043159187 - 1682100 0.0056441855 0.0017995643 0.0045334666 - 1682200 0.006275263 0.0015056166 0.0045451971 - 1682300 0.0047256852 0.0018418036 0.0041308074 - 1682400 0.0040296601 0.0020281506 0.0039800172 - 1682500 0.0042551115 0.0026119373 0.0046730069 - 1682600 0.0043238697 0.0027306068 0.0048249812 - 1682700 0.0053185127 0.002467474 0.0050436286 - 1682800 0.0044007223 0.0026712975 0.0048028974 - 1682900 0.0048759963 0.0024107658 0.0047725766 - 1683000 0.0041493974 0.0023715377 0.004381402 - 1683100 0.0062986259 0.0024605377 0.0055114346 - 1683200 0.0037193652 0.0028189022 0.0046204697 - 1683300 0.0065453591 0.0018210297 0.004991438 - 1683400 0.0046202837 0.001985766 0.0042237159 - 1683500 0.0050345051 0.0019645325 0.0044031209 - 1683600 0.0045247532 0.0019452125 0.0041368898 - 1683700 0.0050505053 0.0020634298 0.0045097683 - 1683800 0.0035690654 0.0022963329 0.0040250989 - 1683900 0.0046458049 0.0020764672 0.004326779 - 1684000 0.0050408584 0.0016244194 0.0040660852 - 1684100 0.0055199079 0.00161079 0.0042844954 - 1684200 0.005535216 0.0015977897 0.00427891 - 1684300 0.0063467488 0.0011848094 0.0042590159 - 1684400 0.0048665594 0.0013284399 0.0036856796 - 1684500 0.0049960226 0.001922315 0.0043422634 - 1684600 0.0042657639 0.0023952621 0.0044614915 - 1684700 0.0065680655 0.0025559655 0.0057373723 - 1684800 0.0044846468 0.0028040921 0.0049763429 - 1684900 0.0050656078 0.0024190095 0.0048726633 - 1685000 0.0054944066 0.001904972 0.0045663252 - 1685100 0.0048078204 0.0019482137 0.0042770017 - 1685200 0.0042331569 0.0021978555 0.0042482909 - 1685300 0.0052321913 0.0022645104 0.004798853 - 1685400 0.0049371896 0.0023017344 0.0046931856 - 1685500 0.0045885231 0.0020394309 0.0042619968 - 1685600 0.0053103705 0.001865246 0.0044374568 - 1685700 0.0049527026 0.0022075673 0.0046065326 - 1685800 0.0057904256 0.0027011814 0.0055059188 - 1685900 0.0060466057 0.0028425648 0.0057713894 - 1686000 0.0061075374 0.0026380509 0.0055963893 - 1686100 0.0056271966 0.0032006499 0.0059263233 - 1686200 0.0048798153 0.0031400613 0.0055037218 - 1686300 0.0049475052 0.0029762922 0.00537274 - 1686400 0.0063480739 0.002618879 0.0056937273 - 1686500 0.0061658794 0.0027213028 0.0057079007 - 1686600 0.0034795295 0.0026624062 0.0043478033 - 1686700 0.0048506997 0.0030919031 0.0054414608 - 1686800 0.0044726529 0.0038268359 0.0059932772 - 1686900 0.004686186 0.0038480479 0.0061179193 - 1687000 0.0053684595 0.0030269723 0.0056273199 - 1687100 0.0045065322 0.0023775374 0.0045603889 - 1687200 0.0035444945 0.0022161458 0.0039330103 - 1687300 0.0040613288 0.0023201418 0.004287348 - 1687400 0.0046064418 0.002439353 0.0046705982 - 1687500 0.0046764362 0.0024194358 0.0046845846 - 1687600 0.0054498492 0.0027048043 0.0053445751 - 1687700 0.0048940331 0.0030952735 0.0054658208 - 1687800 0.0054808861 0.00276403 0.0054188342 - 1687900 0.0062174666 0.003032598 0.0060441834 - 1688000 0.0083017196 0.0025968412 0.0066179866 - 1688100 0.0069250651 0.0024728479 0.0058271764 - 1688200 0.005404374 0.0021886109 0.0048063545 - 1688300 0.0048998713 0.0023947246 0.0047680998 - 1688400 0.0046715727 0.0022447761 0.0045075691 - 1688500 0.0053715419 0.0015078315 0.0041096721 - 1688600 0.0046036512 0.0017857927 0.0040156862 - 1688700 0.0048671391 0.0021206851 0.0044782056 - 1688800 0.004135492 0.0022043061 0.0042074351 - 1688900 0.0037334174 0.0023294953 0.0041378693 - 1689000 0.0044658218 0.001949062 0.0041121944 - 1689100 0.0050595436 0.0017621217 0.0042128382 - 1689200 0.0042966604 0.0017501508 0.0038313457 - 1689300 0.0055499858 0.001948421 0.0046366954 - 1689400 0.0057087112 0.0021982751 0.0049634321 - 1689500 0.0055491041 0.0021701226 0.0048579699 - 1689600 0.0062658353 0.0018447043 0.0048797183 - 1689700 0.0036320579 0.0022269457 0.0039862238 - 1689800 0.0046776729 0.0022405421 0.00450629 - 1689900 0.0042357334 0.0021134226 0.004165106 - 1690000 0.0054570692 0.0021917708 0.0048350387 - 1690100 0.0049815701 0.0023892794 0.0048022275 - 1690200 0.0044308841 0.0026051306 0.0047513401 - 1690300 0.0043419451 0.0024092475 0.0045123772 - 1690400 0.0048765805 0.0035104922 0.0058725859 - 1690500 0.0052473241 0.0038558102 0.0063974828 - 1690600 0.0054002341 0.0030268852 0.0056426236 - 1690700 0.0043807304 0.0029255276 0.0050474439 - 1690800 0.0077854265 0.0025436467 0.0063147126 - 1690900 0.0046412038 0.0025388098 0.0047868929 - 1691000 0.0032120693 0.002566905 0.004122751 - 1691100 0.0047209193 0.0027559985 0.0050426937 - 1691200 0.0046386309 0.0022231156 0.0044699525 - 1691300 0.0055257357 0.0020816368 0.0047581651 - 1691400 0.0051422883 0.0022733037 0.0047640996 - 1691500 0.0048546963 0.0023803065 0.0047318 - 1691600 0.0058728697 0.0026529246 0.0054975959 - 1691700 0.004643295 0.0031610662 0.0054101622 - 1691800 0.0043866786 0.0031021327 0.0052269301 - 1691900 0.0057212034 0.0028096152 0.005580823 - 1692000 0.0041441284 0.0023524593 0.0043597715 - 1692100 0.0052684838 0.0023374568 0.0048893787 - 1692200 0.0067811094 0.0021429007 0.0054275006 - 1692300 0.0040183046 0.0025329019 0.0044792682 - 1692400 0.0047323347 0.0022182295 0.0045104542 - 1692500 0.0048830959 0.0021301251 0.0044953747 - 1692600 0.0059300718 0.0026042565 0.005476635 - 1692700 0.0051499855 0.0031838419 0.0056783661 - 1692800 0.005644804 0.0028068759 0.0055410778 - 1692900 0.0047824079 0.0025734316 0.0048899105 - 1693000 0.0056713038 0.0024444527 0.0051914905 - 1693100 0.0049965839 0.0023905282 0.0048107486 - 1693200 0.0043802621 0.0026834304 0.0048051198 - 1693300 0.0040751847 0.0028315151 0.0048054327 - 1693400 0.0042181326 0.0031967489 0.0052399069 - 1693500 0.0057602764 0.0029163668 0.0057065007 - 1693600 0.0042567793 0.0029082641 0.0049701416 - 1693700 0.0044518454 0.0030264195 0.0051827821 - 1693800 0.0050995986 0.0030470358 0.0055171539 - 1693900 0.0059517126 0.002815903 0.0056987638 - 1694000 0.0067513641 0.0025972194 0.0058674114 - 1694100 0.0056586053 0.0030277697 0.0057686567 - 1694200 0.0046637682 0.0036658178 0.0059248305 - 1694300 0.005439127 0.0036297701 0.0062643472 - 1694400 0.0051160619 0.0039862782 0.0064643707 - 1694500 0.0039483615 0.0042482192 0.0061607068 - 1694600 0.005325955 0.0036265039 0.0062062634 - 1694700 0.0053361284 0.0030393016 0.0056239888 - 1694800 0.0049179782 0.0026921285 0.0050742742 - 1694900 0.0043527683 0.0026495055 0.0047578776 - 1695000 0.0057659672 0.002498666 0.0052915564 - 1695100 0.004432284 0.0028164343 0.0049633219 - 1695200 0.004743374 0.0033175497 0.0056151215 - 1695300 0.0057421019 0.002951843 0.0057331737 - 1695400 0.0041242361 0.0027220188 0.0047196956 - 1695500 0.003417054 0.0030043567 0.0046594923 - 1695600 0.005292058 0.0025265849 0.0050899255 - 1695700 0.0052646061 0.0027531568 0.0053032004 - 1695800 0.0048223202 0.0026682904 0.0050041018 - 1695900 0.0065421696 0.0024917235 0.0056605869 - 1696000 0.0059459789 0.0029157385 0.005795822 - 1696100 0.0035108084 0.003118056 0.0048186038 - 1696200 0.0047814448 0.0030217435 0.0053377559 - 1696300 0.0043407004 0.0035084174 0.0056109441 - 1696400 0.0061592856 0.0031439824 0.0061273864 - 1696500 0.005946013 0.0029257318 0.0058058318 - 1696600 0.0060327993 0.0031330337 0.0060551709 - 1696700 0.0051139572 0.0028897556 0.0053668286 - 1696800 0.0055267193 0.0029705954 0.0056476 - 1696900 0.0050712663 0.0026462231 0.0051026177 - 1697000 0.0059021053 0.0029200646 0.0057788969 - 1697100 0.0046878939 0.0027522022 0.0050229008 - 1697200 0.005241688 0.0032285995 0.0057675421 - 1697300 0.0051773707 0.0036424449 0.0061502338 - 1697400 0.0070285928 0.0037332118 0.0071376864 - 1697500 0.0054410632 0.003394432 0.006029947 - 1697600 0.0053675467 0.0031385044 0.0057384099 - 1697700 0.0040797049 0.0028600753 0.0048361824 - 1697800 0.0051592204 0.0025063812 0.0050053786 - 1697900 0.0062935879 0.0021016269 0.0051500835 - 1698000 0.0060761143 0.0028158132 0.0057589311 - 1698100 0.0035102741 0.0035730417 0.0052733307 - 1698200 0.0055163498 0.0029984426 0.0056704245 - 1698300 0.0055709247 0.0029605912 0.0056590078 - 1698400 0.0051024798 0.0028679029 0.0053394166 - 1698500 0.0053735865 0.0025780092 0.0051808402 - 1698600 0.0041733006 0.0022773748 0.0042988173 - 1698700 0.0053040322 0.0020902674 0.0046594081 - 1698800 0.0031770079 0.0017542697 0.0032931329 - 1698900 0.0051743684 0.0020752502 0.0045815849 - 1699000 0.0043776448 0.0020369456 0.0041573673 - 1699100 0.0044468885 0.0019941704 0.004148132 - 1699200 0.0046418006 0.0023063384 0.0045547105 - 1699300 0.0052274268 0.0021935202 0.0047255551 - 1699400 0.0044500966 0.0019588327 0.0041143482 - 1699500 0.0043309253 0.0020360386 0.0041338305 - 1699600 0.0044102557 0.0023318358 0.0044680534 - 1699700 0.0041631471 0.0020567879 0.0040733123 - 1699800 0.0050431049 0.0022420039 0.0046847578 - 1699900 0.0041081511 0.0022995459 0.0042894316 - 1700000 0.0053114036 0.0023752439 0.004947955 - 1700100 0.0047385322 0.0024788783 0.0047741048 - 1700200 0.0036241749 0.0028766263 0.004632086 - 1700300 0.0053333755 0.0025694989 0.0051528526 - 1700400 0.005133738 0.0023409198 0.0048275741 - 1700500 0.0043915741 0.0023260608 0.0044532295 - 1700600 0.0041478594 0.002237391 0.0042465104 - 1700700 0.0029302281 0.0023926425 0.0038119718 - 1700800 0.0042049078 0.0024456111 0.0044823633 - 1700900 0.0039984862 0.0026959405 0.0046327073 - 1701000 0.006656029 0.0029913914 0.0062154054 - 1701100 0.0064332741 0.0034317131 0.0065478302 - 1701200 0.0053808746 0.0034442687 0.0060506298 - 1701300 0.0071836492 0.0024332104 0.0059127905 - 1701400 0.0050971444 0.0023401649 0.0048090942 - 1701500 0.0050012866 0.0023346174 0.0047571155 - 1701600 0.0050199507 0.002251442 0.0046829807 - 1701700 0.0050849211 0.0023097505 0.0047727591 - 1701800 0.0038761859 0.0023392795 0.0042168071 - 1701900 0.0053482145 0.0021927678 0.0047833092 - 1702000 0.0060386689 0.0024264724 0.0053514527 - 1702100 0.006871619 0.0023329272 0.0056613676 - 1702200 0.0059622773 0.0023141196 0.0052020977 - 1702300 0.0050874061 0.0020618454 0.0045260578 - 1702400 0.0053689431 0.0015740742 0.004174656 - 1702500 0.0043232572 0.0012172743 0.003311352 - 1702600 0.0041200656 0.001376304 0.0033719608 - 1702700 0.0042928936 0.0019021361 0.0039815064 - 1702800 0.0044734331 0.0022428951 0.0044097143 - 1702900 0.0036115065 0.0025169635 0.0042662869 - 1703000 0.0052779259 0.002658837 0.0052153323 - 1703100 0.0065897727 0.0029102799 0.006102201 - 1703200 0.0045110953 0.0036666271 0.0058516889 - 1703300 0.0053712768 0.0033929901 0.0059947023 - 1703400 0.0043138533 0.0030860551 0.0051755778 - 1703500 0.0046933038 0.0032001574 0.0054734765 - 1703600 0.0058954052 0.0030559072 0.0059114941 - 1703700 0.0052387875 0.0031179058 0.0056554435 - 1703800 0.0075078065 0.0031200525 0.0067566463 - 1703900 0.0055650291 0.0029466655 0.0056422265 - 1704000 0.0071520064 0.0031791781 0.0066434312 - 1704100 0.0053128352 0.0029855251 0.0055589296 - 1704200 0.0059583304 0.0037642824 0.0066503487 - 1704300 0.0048261284 0.0035450477 0.0058827036 - 1704400 0.0054494603 0.002900639 0.0055402213 - 1704500 0.0044747769 0.0025723891 0.0047398592 - 1704600 0.0046197433 0.0029437427 0.0051814309 - 1704700 0.0042616497 0.0030050544 0.0050692909 - 1704800 0.0049303892 0.0036245081 0.0060126653 - 1704900 0.0057577539 0.0034182937 0.0062072058 - 1705000 0.0072933872 0.0021744692 0.0057072037 - 1705100 0.0040134711 0.0024285575 0.0043725826 - 1705200 0.0043395842 0.0026196742 0.0047216603 - 1705300 0.004181798 0.0026546097 0.0046801681 - 1705400 0.0069324959 0.0023996927 0.0057576204 - 1705500 0.0069451071 0.0027190325 0.0060830687 - 1705600 0.0058839428 0.0035196226 0.0063696574 - 1705700 0.0055465285 0.0036211537 0.0063077534 - 1705800 0.006089453 0.003988566 0.0069381448 - 1705900 0.0062162876 0.0040045673 0.0070155815 - 1706000 0.0053147555 0.0041267183 0.006701053 - 1706100 0.0055631384 0.0040339252 0.0067285704 - 1706200 0.0050516886 0.0032305374 0.0056774491 - 1706300 0.0061979036 0.0025432503 0.0055453599 - 1706400 0.0073983094 0.0024810372 0.0060645933 - 1706500 0.0061493282 0.002555957 0.0055345379 - 1706600 0.0054887171 0.002688232 0.0053468294 - 1706700 0.004694973 0.0030949629 0.0053690905 - 1706800 0.0055740906 0.0030774398 0.0057773899 - 1706900 0.003947304 0.0028045632 0.0047165386 - 1707000 0.005695582 0.0025559039 0.0053147014 - 1707100 0.0064052616 0.0023362423 0.0054387909 - 1707200 0.0033132362 0.0024377487 0.0040425975 - 1707300 0.0042443847 0.0022299753 0.0042858491 - 1707400 0.0053098776 0.0022988101 0.0048707821 - 1707500 0.0054551927 0.0026795847 0.0053219437 - 1707600 0.004937858 0.0031022794 0.0054940544 - 1707700 0.0043328551 0.0028778068 0.0049765335 - 1707800 0.0062935435 0.0027733342 0.0058217693 - 1707900 0.0043523008 0.0032635936 0.0053717393 - 1708000 0.0058332909 0.0029906601 0.0058161604 - 1708100 0.0045924241 0.0029209907 0.0051454461 - 1708200 0.0048619958 0.0024147873 0.0047698165 - 1708300 0.0041213878 0.0027575835 0.0047538807 - 1708400 0.0052568052 0.0029828248 0.0055290898 - 1708500 0.0059131269 0.0026349093 0.0054990802 - 1708600 0.0059196775 0.0027200145 0.0055873583 - 1708700 0.0041248013 0.0029561594 0.0049541101 - 1708800 0.0059913639 0.0027352636 0.0056373305 - 1708900 0.0058537977 0.0027178401 0.0055532733 - 1709000 0.0046670792 0.0028266557 0.0050872722 - 1709100 0.0057799251 0.002734702 0.0055343532 - 1709200 0.0042200709 0.0028053507 0.0048494476 - 1709300 0.0046736202 0.0024743339 0.0047381187 - 1709400 0.0062089396 0.0027434324 0.0057508875 - 1709500 0.0051697641 0.0023635762 0.0048676807 - 1709600 0.0051542583 0.0021020657 0.0045986595 - 1709700 0.0055226533 0.0019652787 0.0046403139 - 1709800 0.0044838564 0.0024041282 0.0045759961 - 1709900 0.0049763574 0.0026142109 0.005024634 - 1710000 0.0057864459 0.002955427 0.0057582367 - 1710100 0.0046115986 0.0025655947 0.0047993378 - 1710200 0.005045252 0.0021502801 0.0045940741 - 1710300 0.0057030965 0.0022698021 0.0050322395 - 1710400 0.0040851978 0.0024006116 0.0043793793 - 1710500 0.0043368994 0.0023648035 0.0044654892 - 1710600 0.0039628908 0.0026275126 0.0045470379 - 1710700 0.0045596257 0.002624845 0.0048334137 - 1710800 0.0054981211 0.0024641204 0.0051272728 - 1710900 0.0047260981 0.0027794633 0.0050686671 - 1711000 0.0058680159 0.0024513809 0.0052937011 - 1711100 0.0067786629 0.002281516 0.0055649309 - 1711200 0.0052374864 0.002383307 0.0049202145 - 1711300 0.0040860612 0.0021987094 0.0041778953 - 1711400 0.0038821168 0.0020059996 0.0038863999 - 1711500 0.005284233 0.001894583 0.0044541333 - 1711600 0.0053296152 0.0018755714 0.0044571037 - 1711700 0.0044982215 0.0020946304 0.0042734565 - 1711800 0.0047158584 0.0027555824 0.0050398263 - 1711900 0.0040609087 0.0027589413 0.0047259439 - 1712000 0.0046444898 0.0029262011 0.0051758759 - 1712100 0.0070853606 0.0025466032 0.0059785747 - 1712200 0.0070912936 0.0027669404 0.0062017857 - 1712300 0.0051302538 0.0029759723 0.005460939 - 1712400 0.0046104587 0.0024141589 0.0046473498 - 1712500 0.0037223561 0.0023480942 0.0041511104 - 1712600 0.0041146425 0.0026345001 0.00462753 - 1712700 0.0052011162 0.0024548427 0.0049741333 - 1712800 0.0064340389 0.0023913174 0.005507805 - 1712900 0.0039103025 0.0025153739 0.0044094266 - 1713000 0.0053379156 0.0025648112 0.0051503641 - 1713100 0.0043918935 0.0023819064 0.0045092298 - 1713200 0.0041141332 0.0024938388 0.0044866221 - 1713300 0.0035377434 0.0028477668 0.0045613613 - 1713400 0.0070673561 0.0022939215 0.0057171721 - 1713500 0.0047353121 0.0020863917 0.0043800585 - 1713600 0.0044174609 0.0019242305 0.0040639381 - 1713700 0.006214727 0.0020682434 0.0050785018 - 1713800 0.0049480968 0.0020798042 0.0044765386 - 1713900 0.0044573343 0.0018929904 0.0040520117 - 1714000 0.0036758783 0.0018935487 0.0036740522 - 1714100 0.0056489752 0.0018911349 0.0046273573 - 1714200 0.0056387951 0.0021031358 0.0048344272 - 1714300 0.0051333895 0.0022898359 0.0047763214 - 1714400 0.0066184704 0.0026657881 0.0058716097 - 1714500 0.0060047552 0.002798812 0.0057073653 - 1714600 0.0030790864 0.0033786505 0.0048700829 - 1714700 0.0055882202 0.0029987457 0.0057055399 - 1714800 0.0046064049 0.0030002794 0.0052315068 - 1714900 0.0048321475 0.0029682094 0.0053087809 - 1715000 0.0046307025 0.0033160534 0.0055590499 - 1715100 0.0041746589 0.0033362842 0.0053583846 - 1715200 0.0065575089 0.0033180601 0.0064943535 - 1715300 0.0045515727 0.0034465794 0.0056512474 - 1715400 0.0067231296 0.0029496673 0.0062061832 - 1715500 0.0048676071 0.0028070931 0.0051648403 - 1715600 0.005348402 0.0026362027 0.0052268349 - 1715700 0.0062783752 0.0026437183 0.0056848063 - 1715800 0.0060313571 0.0026228276 0.0055442662 - 1715900 0.0044982124 0.0022982922 0.0044771138 - 1716000 0.0043762862 0.0017643304 0.0038840941 - 1716100 0.0048156881 0.0018469664 0.0041795654 - 1716200 0.0049822049 0.0019443363 0.0043575918 - 1716300 0.0049509203 0.0019530477 0.0043511497 - 1716400 0.005404445 0.0018474202 0.0044651983 - 1716500 0.0065618746 0.0022431782 0.0054215862 - 1716600 0.0051178307 0.0025324558 0.005011405 - 1716700 0.0056761741 0.0023988723 0.0051482691 - 1716800 0.004578517 0.0020811562 0.0042988753 - 1716900 0.0067851521 0.0020500894 0.0053366474 - 1717000 0.0053938144 0.0023926411 0.0050052699 - 1717100 0.0050020654 0.0018788266 0.004301702 - 1717200 0.0048194091 0.0019461555 0.0042805568 - 1717300 0.004462656 0.00219018 0.004351779 - 1717400 0.0052594949 0.0027239917 0.0052715596 - 1717500 0.0056153336 0.0026636038 0.005383531 - 1717600 0.0052858902 0.0022188323 0.0047791854 - 1717700 0.0043954568 0.0020541768 0.0041832261 - 1717800 0.0062352559 0.0020860453 0.0051062474 - 1717900 0.0050113496 0.0022271322 0.0046545046 - 1718000 0.006433185 0.0021509366 0.0052670106 - 1718100 0.0031906929 0.0022180625 0.0037635544 - 1718200 0.0059618979 0.0015992941 0.0044870884 - 1718300 0.0055904005 0.0015817365 0.0042895867 - 1718400 0.007518611 0.0017988331 0.0054406603 - 1718500 0.0057384505 0.0024225645 0.0052021265 - 1718600 0.0046866077 0.002515872 0.0047859476 - 1718700 0.0052410234 0.0021557094 0.0046943301 - 1718800 0.0062447189 0.0023346366 0.0053594223 - 1718900 0.0051114139 0.0022943734 0.0047702145 - 1719000 0.0053294249 0.0022131931 0.0047946333 - 1719100 0.0048139113 0.0024386867 0.004770425 - 1719200 0.0049053164 0.002342042 0.0047180546 - 1719300 0.0046716487 0.0025212784 0.0047841082 - 1719400 0.0039762069 0.0025179971 0.0044439723 - 1719500 0.0044830249 0.0024602814 0.0046317467 - 1719600 0.0043186533 0.0022705626 0.0043624103 - 1719700 0.0052318096 0.0023329716 0.0048671293 - 1719800 0.0066946871 0.0022724462 0.0055151853 - 1719900 0.0058827034 0.0025280772 0.0053775116 - 1720000 0.0039895886 0.0023200431 0.0042525001 - 1720100 0.0043891422 0.0018757418 0.0040017325 - 1720200 0.0037436855 0.0024320726 0.0042454202 - 1720300 0.0045782398 0.0025501001 0.004767685 - 1720400 0.0054109386 0.0021969348 0.0048178582 - 1720500 0.0035663983 0.0022775072 0.0040049814 - 1720600 0.0044209548 0.0024788686 0.0046202686 - 1720700 0.0057031048 0.0025338382 0.0052962795 - 1720800 0.0047130994 0.0024968535 0.0047797611 - 1720900 0.0037422862 0.0024986228 0.0043112926 - 1721000 0.0052451842 0.0024405518 0.0049811879 - 1721100 0.0055724093 0.0025706392 0.0052697749 - 1721200 0.0035752981 0.0027741261 0.0045059112 - 1721300 0.0050793959 0.0027162868 0.0051766192 - 1721400 0.0058888541 0.0029424959 0.0057949096 - 1721500 0.005425502 0.0028524083 0.0054803858 - 1721600 0.0062508973 0.0028811485 0.0059089269 - 1721700 0.006212506 0.0032301147 0.0062392973 - 1721800 0.0049214507 0.0032649751 0.0056488028 - 1721900 0.0039455307 0.0032204822 0.0051315986 - 1722000 0.0053372904 0.0027097048 0.0052949548 - 1722100 0.005807528 0.0022174199 0.0050304413 - 1722200 0.0058867137 0.0027049408 0.0055563178 - 1722300 0.0045479402 0.0030238012 0.0052267098 - 1722400 0.0054720906 0.0034046023 0.0060551462 - 1722500 0.0043120742 0.0033536195 0.0054422805 - 1722600 0.0039899437 0.0034237158 0.0053563447 - 1722700 0.0057641599 0.0033070821 0.0060990971 - 1722800 0.0047170262 0.0033422137 0.0056270233 - 1722900 0.0056971578 0.0032033124 0.0059628732 - 1723000 0.0043972592 0.0029657644 0.0050956868 - 1723100 0.0042240361 0.0031639539 0.0052099713 - 1723200 0.0048796733 0.0031633643 0.005526956 - 1723300 0.0042558943 0.0026627485 0.0047241973 - 1723400 0.005520903 0.0024027988 0.0050769862 - 1723500 0.0043366714 0.0028786853 0.0049792605 - 1723600 0.0051168869 0.0035168842 0.0059953763 - 1723700 0.0044207572 0.0029525602 0.0050938645 - 1723800 0.0052503344 0.002839718 0.0053828487 - 1723900 0.0072463226 0.0031380267 0.0066479642 - 1724000 0.0054770013 0.0035031784 0.0061561009 - 1724100 0.0042614019 0.0030331305 0.0050972471 - 1724200 0.0043577083 0.0024221973 0.0045329623 - 1724300 0.0051991517 0.0023741116 0.0048924507 - 1724400 0.0055883274 0.0025234336 0.0052302797 - 1724500 0.0065328327 0.0021946966 0.0053590375 - 1724600 0.0059541045 0.0020283983 0.0049124176 - 1724700 0.0058108572 0.0026045802 0.0054192142 - 1724800 0.0048355184 0.0028391677 0.0051813719 - 1724900 0.0045189661 0.0031137516 0.0053026258 - 1725000 0.0052326677 0.0032019723 0.0057365458 - 1725100 0.0053213271 0.0027898061 0.005367324 - 1725200 0.0052778925 0.0026210101 0.0051774893 - 1725300 0.0069296837 0.0029057719 0.0062623374 - 1725400 0.0054396855 0.0031629732 0.0057978208 - 1725500 0.0049085807 0.0031713054 0.0055488992 - 1725600 0.004741848 0.0028387265 0.0051355591 - 1725700 0.0039514598 0.0027266892 0.0046406776 - 1725800 0.005087878 0.0025072005 0.0049716414 - 1725900 0.005606143 0.0023616003 0.0050770758 - 1726000 0.0054373355 0.0026404986 0.005274208 - 1726100 0.0048784219 0.0026220074 0.004984993 - 1726200 0.0051643589 0.0024150674 0.0049165537 - 1726300 0.0055199005 0.0024426962 0.005116398 - 1726400 0.0059238258 0.0025140805 0.0053834336 - 1726500 0.0060611909 0.0024011478 0.0053370372 - 1726600 0.0047572702 0.002340689 0.0046449918 - 1726700 0.0051008582 0.0021882901 0.0046590183 - 1726800 0.003864428 0.0024583189 0.0043301512 - 1726900 0.0062448477 0.0022809602 0.0053058083 - 1727000 0.0054794859 0.0023622989 0.0050164249 - 1727100 0.0050091863 0.0024577831 0.0048841078 - 1727200 0.0054423594 0.002772386 0.0054085289 - 1727300 0.0047285653 0.0031395394 0.0054299382 - 1727400 0.0059209339 0.0025864915 0.0054544439 - 1727500 0.0057485627 0.0022101168 0.0049945768 - 1727600 0.0050710532 0.0026989189 0.0051552103 - 1727700 0.0043521472 0.0032261846 0.0053342559 - 1727800 0.0042031374 0.0038153686 0.0058512633 - 1727900 0.0051773558 0.0037449495 0.0062527312 - 1728000 0.0050651166 0.003363139 0.0058165549 - 1728100 0.0063862113 0.0026769432 0.0057702643 - 1728200 0.0056077777 0.0023633992 0.0050796665 - 1728300 0.0049241961 0.0023358505 0.004721008 - 1728400 0.0039462681 0.0027304114 0.004641885 - 1728500 0.0058177446 0.0026354122 0.0054533823 - 1728600 0.0034391425 0.0024941065 0.0041599411 - 1728700 0.0044696648 0.0021830253 0.0043480192 - 1728800 0.005252547 0.0020954875 0.00463969 - 1728900 0.0048589901 0.0024723949 0.0048259682 - 1729000 0.0060168853 0.0027525474 0.0056669762 - 1729100 0.0037641116 0.0027132143 0.0045364559 - 1729200 0.0050024007 0.0023786015 0.0048016393 - 1729300 0.0056958542 0.0018014237 0.0045603531 - 1729400 0.0056703537 0.0015483738 0.0042949514 - 1729500 0.0052308066 0.0019259366 0.0044596086 - 1729600 0.0044541623 0.0022836024 0.0044410872 - 1729700 0.003680431 0.002342922 0.0041256308 - 1729800 0.0035445482 0.0019767045 0.0036935951 - 1729900 0.0058187938 0.001635036 0.0044535142 - 1730000 0.0054830788 0.002032577 0.0046884433 - 1730100 0.0050635837 0.0026482624 0.0051009358 - 1730200 0.0050729389 0.0029584959 0.0054157006 - 1730300 0.0072848201 0.0029183722 0.0064469569 - 1730400 0.0068022532 0.0030796447 0.0063744861 - 1730500 0.0037254587 0.00328594 0.0050904591 - 1730600 0.0055008246 0.002819862 0.0054843239 - 1730700 0.0039438316 0.0025601518 0.0044704452 - 1730800 0.0042745461 0.002390096 0.0044605792 - 1730900 0.0048998885 0.0022593902 0.0046327737 - 1731000 0.0046618221 0.0022064825 0.0044645526 - 1731100 0.0045758738 0.0022094804 0.0044259192 - 1731200 0.0054697988 0.0021162293 0.0047656631 - 1731300 0.0055104587 0.0026563715 0.0053255 - 1731400 0.0049513246 0.0026593119 0.0050576098 - 1731500 0.0051519284 0.0027212787 0.005216744 - 1731600 0.0059220373 0.0028867846 0.0057552714 - 1731700 0.005015988 0.0027790302 0.0052086494 - 1731800 0.0066149447 0.0023096429 0.0055137567 - 1731900 0.0053663416 0.0024409337 0.0050402554 - 1732000 0.0042174638 0.0027978293 0.0048406634 - 1732100 0.0058469071 0.0026030488 0.0054351445 - 1732200 0.0065262948 0.0024695042 0.0056306782 - 1732300 0.005912915 0.0025921061 0.0054561743 - 1732400 0.0053890573 0.0028277873 0.0054381119 - 1732500 0.0054207713 0.0022297704 0.0048554565 - 1732600 0.0045504261 0.0022605925 0.0044647052 - 1732700 0.0041108803 0.0024149924 0.0044062 - 1732800 0.0057871476 0.0025863984 0.005389548 - 1732900 0.0054156614 0.0023044754 0.0049276864 - 1733000 0.0049320508 0.0021982371 0.0045871991 - 1733100 0.005646787 0.0023427814 0.0050779439 - 1733200 0.0067816597 0.0025596194 0.0058444858 - 1733300 0.005835626 0.0028620027 0.005688634 - 1733400 0.005517103 0.0025419716 0.0052143184 - 1733500 0.0047662079 0.0024765892 0.0047852211 - 1733600 0.0057261405 0.0023095493 0.0050831486 - 1733700 0.0063950819 0.001883593 0.0049812108 - 1733800 0.0047749193 0.0017781318 0.0040909833 - 1733900 0.0057336104 0.002091474 0.0048686916 - 1734000 0.0059317649 0.002551493 0.0054246916 - 1734100 0.0051243122 0.0028676163 0.0053497051 - 1734200 0.004400347 0.0031475932 0.0052790113 - 1734300 0.005360607 0.0029090427 0.0055055867 - 1734400 0.0068878824 0.0026489317 0.0059852497 - 1734500 0.005099337 0.0026840051 0.0051539965 - 1734600 0.0048526033 0.0028659719 0.0052164517 - 1734700 0.0038276018 0.0031484145 0.0050024091 - 1734800 0.0060487652 0.0027164336 0.0056463043 - 1734900 0.0063096194 0.002320614 0.005376836 - 1735000 0.0053885886 0.0021161976 0.0047262952 - 1735100 0.004732009 0.0021988977 0.0044909645 - 1735200 0.0059961776 0.002175547 0.0050799456 - 1735300 0.006295824 0.0025758372 0.005625377 - 1735400 0.005805814 0.0026114738 0.0054236649 - 1735500 0.0064778294 0.0028612729 0.0059989715 - 1735600 0.0054357519 0.0036945892 0.0063275315 - 1735700 0.0046450555 0.0033849831 0.0056349318 - 1735800 0.0031720259 0.0030313018 0.0045677519 - 1735900 0.0058390097 0.0027460987 0.005574369 - 1736000 0.0037811592 0.0025645001 0.0043959991 - 1736100 0.0046851524 0.0023545481 0.0046239189 - 1736200 0.0034983725 0.0023382377 0.0040327619 - 1736300 0.0058303489 0.0019393258 0.004763401 - 1736400 0.005189731 0.0018510839 0.0043648599 - 1736500 0.0048414232 0.0020340178 0.0043790822 - 1736600 0.0045478801 0.0021659472 0.0043688267 - 1736700 0.0044765664 0.0022710857 0.0044394225 - 1736800 0.0039989192 0.0022252823 0.0041622588 - 1736900 0.0050905045 0.00269379 0.0051595031 - 1737000 0.0039474109 0.0029975155 0.0049095426 - 1737100 0.0055620625 0.0023939834 0.0050881074 - 1737200 0.0057942835 0.0022977667 0.0051043728 - 1737300 0.0051538986 0.0026275556 0.0051239752 - 1737400 0.0048696572 0.0026940309 0.0050527711 - 1737500 0.0047847391 0.0025377319 0.0048553399 - 1737600 0.0048975344 0.0020295456 0.0044017888 - 1737700 0.0057893279 0.0019884191 0.0047926248 - 1737800 0.0048362692 0.0024262807 0.0047688486 - 1737900 0.0041363774 0.0028045247 0.0048080825 - 1738000 0.0049876734 0.0025846737 0.005000578 - 1738100 0.005152977 0.0021813444 0.0046773177 - 1738200 0.0039038002 0.0020475184 0.0039384216 - 1738300 0.0044804217 0.0022440428 0.0044142471 - 1738400 0.0052544517 0.0020102751 0.0045554002 - 1738500 0.0061693548 0.0018332096 0.0048214908 - 1738600 0.004124845 0.0022940007 0.0042919725 - 1738700 0.0049896684 0.002320081 0.0047369517 - 1738800 0.0055108264 0.0020358958 0.0047052024 - 1738900 0.0046429714 0.00233662 0.0045855593 - 1739000 0.0046148838 0.0022874765 0.0045228108 - 1739100 0.0056652483 0.0022750601 0.0050191648 - 1739200 0.0050688358 0.0020795018 0.0045347192 - 1739300 0.0053356442 0.0022655514 0.004850004 - 1739400 0.0049855427 0.0027838297 0.0051987019 - 1739500 0.0055345069 0.0031100791 0.0057908559 - 1739600 0.0044601075 0.0028232451 0.0049836097 - 1739700 0.0046116827 0.0025698277 0.0048036115 - 1739800 0.0056393193 0.0028554241 0.0055869694 - 1739900 0.0057610763 0.0027186415 0.0055091628 - 1740000 0.0041441549 0.0022509839 0.0042583089 - 1740100 0.0063718211 0.0021177705 0.0052041213 - 1740200 0.0041829076 0.0025020284 0.0045281243 - 1740300 0.003778859 0.0027873811 0.0046177659 - 1740400 0.0061037003 0.0021157174 0.0050721972 - 1740500 0.0059900681 0.0014310699 0.0043325092 - 1740600 0.0050836353 0.0013524356 0.0038148215 - 1740700 0.0059409694 0.0015518032 0.0044294603 - 1740800 0.004622956 0.0016134569 0.0038527012 - 1740900 0.005818961 0.0020679528 0.0048865121 - 1741000 0.0060804704 0.0021213563 0.0050665842 - 1741100 0.0055174041 0.0022750248 0.0049475174 - 1741200 0.0036452225 0.0026966411 0.0044622958 - 1741300 0.0037640062 0.0026854833 0.0045086738 - 1741400 0.0067500334 0.0018453586 0.005114906 - 1741500 0.0040947605 0.001944766 0.0039281656 - 1741600 0.0036036773 0.0021347868 0.0038803179 - 1741700 0.0056297968 0.0019220741 0.0046490069 - 1741800 0.0055786267 0.0020441281 0.0047462754 - 1741900 0.0034958432 0.0022584051 0.0039517041 - 1742000 0.0060024735 0.0022870484 0.0051944965 - 1742100 0.0055844647 0.0022377165 0.0049426916 - 1742200 0.0047052813 0.0020838146 0.0043629352 - 1742300 0.0054433462 0.00186912 0.0045057408 - 1742400 0.0044093475 0.0019951129 0.0041308906 - 1742500 0.0037928966 0.0021895512 0.0040267355 - 1742600 0.0059471122 0.0022864891 0.0051671216 - 1742700 0.004561805 0.0021836092 0.0043932335 - 1742800 0.005023107 0.0019914996 0.004424567 - 1742900 0.0037629664 0.0021444734 0.0039671602 - 1743000 0.0041214351 0.0019152222 0.0039115423 - 1743100 0.0043606092 0.001996273 0.0041084431 - 1743200 0.0045800093 0.0021475658 0.0043660078 - 1743300 0.005929807 0.0017770545 0.0046493048 - 1743400 0.0048023735 0.001632658 0.0039588076 - 1743500 0.0059172326 0.0018122343 0.0046783939 - 1743600 0.0047762813 0.0022741379 0.0045876491 - 1743700 0.0056136377 0.0020215978 0.0047407036 - 1743800 0.0058828994 0.0014774067 0.0043269361 - 1743900 0.0056188514 0.0016479642 0.0043695954 - 1744000 0.0069335159 0.0023564261 0.0057148479 - 1744100 0.0043247402 0.0023690165 0.0044638125 - 1744200 0.0051701192 0.0021193128 0.0046235893 - 1744300 0.0052669276 0.002049027 0.0046001951 - 1744400 0.0057755358 0.0022660567 0.0050635819 - 1744500 0.0068869471 0.0019263329 0.0052621979 - 1744600 0.003970072 0.0023832976 0.0043063012 - 1744700 0.0052293256 0.0025410232 0.0050739778 - 1744800 0.0053224767 0.0029426217 0.0055206963 - 1744900 0.0039557004 0.0033297261 0.0052457685 - 1745000 0.0045170846 0.0034127598 0.0056007226 - 1745100 0.0050671163 0.0033395938 0.0057939783 - 1745200 0.0056834446 0.0024621668 0.0052150853 - 1745300 0.0044025679 0.0018693986 0.0040018925 - 1745400 0.0053085791 0.0017183416 0.0042896846 - 1745500 0.0037862428 0.001913941 0.0037479023 - 1745600 0.0040464438 0.0021261749 0.0040861712 - 1745700 0.005087493 0.0021309063 0.0045951607 - 1745800 0.0042653112 0.0023213329 0.004387343 - 1745900 0.0048995922 0.0020789667 0.0044522067 - 1746000 0.0052304947 0.0017156651 0.004249186 - 1746100 0.0041607844 0.0021074055 0.0041227854 - 1746200 0.005458065 0.0020561375 0.0046998878 - 1746300 0.0048127731 0.001983398 0.004314585 - 1746400 0.0038096618 0.0021120408 0.0039573458 - 1746500 0.0057017051 0.0019405974 0.0047023608 - 1746600 0.0047474372 0.0018981587 0.0041976986 - 1746700 0.0051174989 0.0025482266 0.0050270152 - 1746800 0.0055723622 0.0030906163 0.0057897293 - 1746900 0.0062126832 0.0025580433 0.0055673117 - 1747000 0.0076343297 0.002046077 0.0057439555 - 1747100 0.0068464404 0.00189538 0.0052116246 - 1747200 0.0048095404 0.0023162136 0.0046458347 - 1747300 0.0054084 0.0018998918 0.0045195855 - 1747400 0.0037292916 0.0019674262 0.0037738018 - 1747500 0.0046616301 0.0024144239 0.004672401 - 1747600 0.0055773085 0.0029831269 0.0056846357 - 1747700 0.0057405012 0.0028568019 0.0056373572 - 1747800 0.0053346718 0.0032635379 0.0058475196 - 1747900 0.004764428 0.0030162028 0.0053239726 - 1748000 0.004600755 0.0025887871 0.0048172778 - 1748100 0.0055574242 0.0024868052 0.0051786825 - 1748200 0.0041941894 0.0028054089 0.0048369694 - 1748300 0.0052222096 0.0024609425 0.0049904502 - 1748400 0.0052719308 0.0026960292 0.0052496207 - 1748500 0.0049784623 0.0026399012 0.0050513439 - 1748600 0.0044706516 0.0022298669 0.0043953387 - 1748700 0.0065311555 0.0023549668 0.0055184953 - 1748800 0.006375288 0.0022570724 0.0053451025 - 1748900 0.0052865623 0.002758453 0.0053191316 - 1749000 0.0040745392 0.0028613902 0.0048349951 - 1749100 0.004948874 0.0028675516 0.0052646624 - 1749200 0.0053088268 0.0028838042 0.0054552672 - 1749300 0.00489567 0.0028736314 0.0052449716 - 1749400 0.0052090975 0.0029320523 0.0054552089 - 1749500 0.007484973 0.0023041125 0.0059296463 - 1749600 0.004374995 0.0024079303 0.0045270685 - 1749700 0.0048299557 0.0020166188 0.0043561286 - 1749800 0.0052771575 0.0017493598 0.0043054829 - 1749900 0.005061026 0.0017576068 0.0042090413 - 1750000 0.0037004873 0.0019395724 0.0037319959 - 1750100 0.0039019406 0.0018811299 0.0037711324 - 1750200 0.0057549197 0.0019623688 0.004749908 - 1750300 0.0066752169 0.0023040241 0.0055373323 - 1750400 0.0052953605 0.0026860758 0.005251016 - 1750500 0.0036997421 0.0033532161 0.0051452787 - 1750600 0.0055894148 0.0032920537 0.0059994265 - 1750700 0.0072110328 0.0026647171 0.0061575611 - 1750800 0.0051382476 0.002760163 0.0052490016 - 1750900 0.0054360561 0.0024858525 0.0051189422 - 1751000 0.0055353842 0.002640353 0.0053215547 - 1751100 0.0056300453 0.0026261803 0.0053532335 - 1751200 0.003667748 0.0027771921 0.0045537576 - 1751300 0.0038318724 0.002593969 0.0044500322 - 1751400 0.0040565835 0.0030453833 0.0050102909 - 1751500 0.0051136385 0.0029510642 0.0054279829 - 1751600 0.0057553874 0.0026041898 0.0053919555 - 1751700 0.0039339117 0.0026424 0.0045478885 - 1751800 0.0044821157 0.0023977291 0.0045687539 - 1751900 0.0048564834 0.0024451759 0.004797535 - 1752000 0.0057608676 0.0028355191 0.0056259393 - 1752100 0.0044769937 0.0027307674 0.0048993112 - 1752200 0.0036795176 0.002562308 0.0043445743 - 1752300 0.0048702572 0.0025269973 0.0048860282 - 1752400 0.004856363 0.0026175864 0.0049698873 - 1752500 0.005421819 0.002855661 0.0054818546 - 1752600 0.0048491186 0.0027612361 0.005110028 - 1752700 0.0051857484 0.0028221558 0.0053340026 - 1752800 0.0053610268 0.0026457975 0.0052425449 - 1752900 0.0039977073 0.0027428813 0.0046792708 - 1753000 0.0065548922 0.0026345971 0.005809623 - 1753100 0.0069755128 0.0027416857 0.0061204497 - 1753200 0.0065503483 0.0028482681 0.0060210931 - 1753300 0.0048068927 0.0025866046 0.0049149433 - 1753400 0.0034993797 0.0025018195 0.0041968316 - 1753500 0.0056137083 0.0025632188 0.0052823587 - 1753600 0.0066701644 0.0030686517 0.0062995125 - 1753700 0.0051195875 0.0029283343 0.0054081345 - 1753800 0.004861754 0.0027391813 0.0050940934 - 1753900 0.0060879641 0.0026551777 0.0056040354 - 1754000 0.005614109 0.0026399483 0.0053592823 - 1754100 0.0045334964 0.0024935474 0.0046894597 - 1754200 0.0054466519 0.0023018231 0.0049400451 - 1754300 0.0031924728 0.0025888855 0.0041352395 - 1754400 0.0049257609 0.002389492 0.0047754074 - 1754500 0.0048819499 0.0026318205 0.004996515 - 1754600 0.0041298967 0.0030238884 0.0050243072 - 1754700 0.0047060078 0.002897246 0.0051767185 - 1754800 0.0067483189 0.0025758437 0.0058445607 - 1754900 0.0046319285 0.0024877318 0.0047313222 - 1755000 0.0064309461 0.0026912977 0.0058062873 - 1755100 0.0063932274 0.0024243139 0.0055210334 - 1755200 0.0052883302 0.0023621441 0.004923679 - 1755300 0.0054592503 0.0023610806 0.0050054049 - 1755400 0.0044399284 0.002293562 0.0044441523 - 1755500 0.0052339361 0.0021584162 0.004693604 - 1755600 0.0048560074 0.0021904854 0.004542614 - 1755700 0.0058573511 0.0018426952 0.0046798497 - 1755800 0.0046095833 0.0017633178 0.0039960847 - 1755900 0.0054356898 0.0018694989 0.0045024111 - 1756000 0.004513965 0.0021108008 0.0042972526 - 1756100 0.0052779082 0.0021304724 0.0046869592 - 1756200 0.0038975911 0.0024121689 0.0043000646 - 1756300 0.0050505672 0.002061538 0.0045079065 - 1756400 0.0036981094 0.0022033478 0.0039946195 - 1756500 0.0045244793 0.0025282263 0.004719771 - 1756600 0.0040756481 0.0025421677 0.0045163097 - 1756700 0.0052700879 0.0021803224 0.0047330212 - 1756800 0.007796999 0.0019657416 0.005742413 - 1756900 0.0052629005 0.0024518841 0.0050011015 - 1757000 0.0046369182 0.0028297712 0.0050757785 - 1757100 0.0058078059 0.0023428292 0.0051559852 - 1757200 0.0049127132 0.0019633376 0.0043429331 - 1757300 0.0042720455 0.0020232255 0.0040924975 - 1757400 0.003419884 0.0025959295 0.0042524359 - 1757500 0.0039326699 0.0029808192 0.0048857062 - 1757600 0.0063878088 0.002873339 0.0059674338 - 1757700 0.0056540715 0.0025655075 0.0053041984 - 1757800 0.0050744129 0.0025898882 0.0050478069 - 1757900 0.0069279625 0.0027319535 0.0060876853 - 1758000 0.0058346224 0.0026574842 0.0054836294 - 1758100 0.0049811589 0.0025222139 0.0049349628 - 1758200 0.0047421511 0.0023578443 0.0046548238 - 1758300 0.0047033164 0.0020701523 0.0043483211 - 1758400 0.0045835601 0.0019655011 0.004185663 - 1758500 0.0046979593 0.0020159534 0.0042915274 - 1758600 0.0042124764 0.0021659897 0.0042064079 - 1758700 0.0052617443 0.0019289318 0.0044775892 - 1758800 0.0046484055 0.0021612705 0.0044128419 - 1758900 0.0078673598 0.0026041625 0.006414915 - 1759000 0.0045318562 0.0035705356 0.0057656534 - 1759100 0.0066427579 0.0026687611 0.005886347 - 1759200 0.0054241883 0.0023476053 0.0049749466 - 1759300 0.0037449 0.0021156971 0.003929633 - 1759400 0.0053582685 0.0018310809 0.0044264922 - 1759500 0.0055506459 0.0017695043 0.0044580984 - 1759600 0.0051812282 0.0021545027 0.0046641601 - 1759700 0.0057611963 0.0023140151 0.0051045945 - 1759800 0.004881094 0.0025651592 0.0049294391 - 1759900 0.0067436035 0.0021701065 0.0054365395 - 1760000 0.005976955 0.0022204213 0.0051155089 - 1760100 0.0059195408 0.0020057335 0.004873011 - 1760200 0.0059667958 0.0022649235 0.0051550902 - 1760300 0.0054079734 0.0023306227 0.0049501098 - 1760400 0.0049209745 0.0019462132 0.0043298102 - 1760500 0.0050255653 0.0021150055 0.0045492637 - 1760600 0.005239503 0.0021394344 0.0046773187 - 1760700 0.0063428919 0.002456977 0.0055293153 - 1760800 0.0050527209 0.0024777978 0.0049252095 - 1760900 0.0059130121 0.0025581804 0.0054222956 - 1761000 0.005953423 0.0023195454 0.0052032347 - 1761100 0.0045463271 0.002366277 0.0045684042 - 1761200 0.0047995894 0.0029343213 0.0052591224 - 1761300 0.0034926964 0.0033588576 0.0050506324 - 1761400 0.0055190612 0.0030128716 0.0056861669 - 1761500 0.005654794 0.0028475325 0.0055865734 - 1761600 0.0041960933 0.0031608643 0.005193347 - 1761700 0.0047864138 0.0031064815 0.0054249007 - 1761800 0.0052319875 0.0030547064 0.0055889504 - 1761900 0.0049687059 0.0028908117 0.0052975287 - 1762000 0.0042068104 0.0026896011 0.0047272749 - 1762100 0.0041817055 0.0023297222 0.0043552358 - 1762200 0.0062132894 0.0023242546 0.0053338166 - 1762300 0.0044240361 0.0026548768 0.0047977693 - 1762400 0.0050999488 0.0029637082 0.0054339959 - 1762500 0.0039216849 0.0027595641 0.0046591302 - 1762600 0.0041569867 0.002911193 0.0049247334 - 1762700 0.0041437392 0.0029964208 0.0050035444 - 1762800 0.0063516673 0.0028213474 0.0058979363 - 1762900 0.0059914693 0.0032020578 0.0061041757 - 1763000 0.0056223222 0.0031209309 0.0058442432 - 1763100 0.0062838262 0.0031093313 0.0061530596 - 1763200 0.0058228767 0.0028744931 0.005694949 - 1763300 0.0067916954 0.0024058355 0.005695563 - 1763400 0.0062490954 0.0029665559 0.0059934615 - 1763500 0.0041273419 0.0035568507 0.0055560319 - 1763600 0.0040845171 0.0031507056 0.0051291436 - 1763700 0.0049509946 0.0024303971 0.0048285351 - 1763800 0.0047749683 0.0024985705 0.0048114458 - 1763900 0.0050915357 0.0027343022 0.0052005148 - 1764000 0.005099525 0.0029683622 0.0054384446 - 1764100 0.00494449 0.0032298905 0.0056248779 - 1764200 0.0036399111 0.0033071952 0.0050702771 - 1764300 0.0055329568 0.0030109296 0.0056909555 - 1764400 0.0050982058 0.0028488798 0.0053183232 - 1764500 0.0056162611 0.002707689 0.0054280655 - 1764600 0.0061687529 0.0023010648 0.0052890544 - 1764700 0.0075445017 0.0024447451 0.0060991131 - 1764800 0.0037381658 0.0034373136 0.0052479876 - 1764900 0.0043042014 0.003479701 0.0055645486 - 1765000 0.0052021414 0.0031467644 0.0056665516 - 1765100 0.0046773613 0.0029567829 0.0052223797 - 1765200 0.0048051699 0.0022340127 0.0045615169 - 1765300 0.0070107159 0.0023721826 0.0057679981 - 1765400 0.0044538081 0.0025344222 0.0046917355 - 1765500 0.0049428911 0.0025755385 0.0049697514 - 1765600 0.0070980777 0.0026202044 0.0060583357 - 1765700 0.0073802038 0.0026085692 0.0061833554 - 1765800 0.0068289049 0.0023127504 0.0056205012 - 1765900 0.0061575527 0.0023281079 0.0053106725 - 1766000 0.0058703435 0.002269321 0.0051127687 - 1766100 0.0039734529 0.0023200114 0.0042446527 - 1766200 0.0062365667 0.0022703678 0.0052912048 - 1766300 0.0041362607 0.0022770093 0.0042805106 - 1766400 0.0042832303 0.001948576 0.0040232657 - 1766500 0.0034818437 0.0020043932 0.0036909112 - 1766600 0.0055520846 0.0020590575 0.0047483485 - 1766700 0.004768124 0.0021698671 0.0044794271 - 1766800 0.0046022818 0.0024400476 0.0046692778 - 1766900 0.0049335094 0.0020637839 0.0044534525 - 1767000 0.0050887024 0.0022794432 0.0047442835 - 1767100 0.0070456257 0.001999528 0.0054122529 - 1767200 0.0039431209 0.0020346708 0.00394462 - 1767300 0.006060991 0.0017611073 0.0046968998 - 1767400 0.004942166 0.0011650154 0.0035588771 - 1767500 0.0061968624 0.0014010857 0.0044026909 - 1767600 0.0053001824 0.0021327381 0.004700014 - 1767700 0.0056365512 0.0021436072 0.0048738117 - 1767800 0.0049292817 0.0020369055 0.0044245263 - 1767900 0.0054942602 0.0017790458 0.0044403281 - 1768000 0.0044413549 0.0019089748 0.004060256 - 1768100 0.0041171976 0.0019619598 0.0039562274 - 1768200 0.0051532192 0.0020866915 0.0045827821 - 1768300 0.00540962 0.0017068329 0.0043271176 - 1768400 0.004637486 0.002023892 0.0042701743 - 1768500 0.0059954728 0.0024646567 0.0053687139 - 1768600 0.0049857929 0.0026947906 0.005109784 - 1768700 0.0069594593 0.0022641161 0.0056351042 - 1768800 0.0043195655 0.0029146745 0.005006964 - 1768900 0.0058878925 0.0030157024 0.0058676503 - 1769000 0.0044247149 0.0030849147 0.005228136 - 1769100 0.0039641138 0.0026169827 0.0045371004 - 1769200 0.0047600495 0.0027454751 0.005051124 - 1769300 0.0062668089 0.0028124258 0.0058479114 - 1769400 0.0070330759 0.0024992722 0.0059059184 - 1769500 0.0039414672 0.00235156 0.0042607081 - 1769600 0.0041663704 0.0021441195 0.0041622051 - 1769700 0.0041008427 0.0021179691 0.0041043148 - 1769800 0.0046494603 0.0028075074 0.0050595898 - 1769900 0.0040035734 0.0028040965 0.0047433274 - 1770000 0.0052879955 0.0025583242 0.005119697 - 1770100 0.0059658915 0.0029483714 0.0058381001 - 1770200 0.0053206482 0.002630979 0.005208168 - 1770300 0.0047782201 0.0024430203 0.0047574706 - 1770400 0.0046648697 0.0024594497 0.004718996 - 1770500 0.0058717048 0.0029522005 0.0057963075 - 1770600 0.0052836672 0.0034222023 0.0059814786 - 1770700 0.0050213661 0.0030500653 0.0054822895 - 1770800 0.005046267 0.0029955153 0.0054398009 - 1770900 0.006535858 0.0028813089 0.0060471152 - 1771000 0.0043297584 0.0031702816 0.0052675083 - 1771100 0.0069121227 0.0028095902 0.0061576496 - 1771200 0.0054118229 0.0027656744 0.0053870261 - 1771300 0.0054304962 0.0027932874 0.005423684 - 1771400 0.0049106206 0.0027707881 0.00514937 - 1771500 0.004709263 0.0027984688 0.005079518 - 1771600 0.0058636818 0.0027542651 0.0055944859 - 1771700 0.0049313557 0.0028024238 0.0051910492 - 1771800 0.0056302853 0.0025530154 0.0052801848 - 1771900 0.0056813159 0.0025072363 0.0052591237 - 1772000 0.0041414825 0.0026546109 0.0046606415 - 1772100 0.0059915532 0.0022388327 0.0051409913 - 1772200 0.0039532822 0.0020175836 0.0039324546 - 1772300 0.0040550051 0.002151522 0.0041156651 - 1772400 0.005026508 0.0023134491 0.0047481639 - 1772500 0.0041907802 0.0020051436 0.0040350528 - 1772600 0.0055715364 0.0016145022 0.0043132151 - 1772700 0.00475751 0.0019032465 0.0042076654 - 1772800 0.0046233614 0.002562031 0.0048014717 - 1772900 0.0051033219 0.0027183469 0.0051902685 - 1773000 0.0043033664 0.0027488046 0.0048332477 - 1773100 0.0041261941 0.0026719993 0.0046706246 - 1773200 0.0055367649 0.0024010905 0.005082961 - 1773300 0.0063053071 0.002264626 0.0053187591 - 1773400 0.0055145155 0.0026401213 0.0053112147 - 1773500 0.0047128666 0.0028636253 0.00514642 - 1773600 0.0046224858 0.0026674483 0.0049064649 - 1773700 0.0049406786 0.0023764833 0.0047696245 - 1773800 0.0057128917 0.0021450384 0.0049122204 - 1773900 0.0072231111 0.0017939058 0.0052926002 - 1774000 0.0045318521 0.0021342937 0.0043294095 - 1774100 0.005184319 0.0020863042 0.0045974587 - 1774200 0.0054152597 0.0019718726 0.004594889 - 1774300 0.0047100161 0.0015172904 0.0037987044 - 1774400 0.0064640867 0.0014542566 0.0045852986 - 1774500 0.005457699 0.0020586972 0.0047022702 - 1774600 0.0056429213 0.0019895532 0.0047228433 - 1774700 0.0055562919 0.002199473 0.0048908019 - 1774800 0.0042853062 0.0027801308 0.004855826 - 1774900 0.0056753382 0.0028298412 0.0055788332 - 1775000 0.0041491834 0.0028824228 0.0048921835 - 1775100 0.0044263042 0.0028346588 0.0049786499 - 1775200 0.0062162459 0.0030111743 0.0060221684 - 1775300 0.0032758586 0.0029474304 0.0045341744 - 1775400 0.0062186063 0.002428581 0.0054407185 - 1775500 0.008083118 0.0023108139 0.0062260742 - 1775600 0.005044522 0.00276241 0.0052058503 - 1775700 0.0061917699 0.0025752404 0.005574379 - 1775800 0.005436902 0.0025629638 0.0051964632 - 1775900 0.0052107725 0.0022943512 0.0048183191 - 1776000 0.0048002158 0.0023079589 0.0046330634 - 1776100 0.0042517568 0.0022336587 0.0042931034 - 1776200 0.0051796352 0.002334791 0.0048436767 - 1776300 0.0054689438 0.0026472787 0.0052962984 - 1776400 0.0057646577 0.0027818278 0.0055740839 - 1776500 0.0051487719 0.0028773371 0.0053712735 - 1776600 0.0046966797 0.0029984632 0.0052734174 - 1776700 0.0056431189 0.0028159659 0.0055493516 - 1776800 0.0060841333 0.0024928572 0.0054398592 - 1776900 0.0050387419 0.0025653569 0.0050059975 - 1777000 0.004133348 0.0027496261 0.0047517165 - 1777100 0.0034824379 0.0028701346 0.0045569405 - 1777200 0.0056669654 0.0024202526 0.005165189 - 1777300 0.0053167609 0.0021988499 0.004774156 - 1777400 0.00423367 0.0022725353 0.0043232192 - 1777500 0.0040303219 0.0024733917 0.0044255788 - 1777600 0.0064496214 0.0020519986 0.005176034 - 1777700 0.0063403776 0.002386448 0.0054575684 - 1777800 0.0046827579 0.0027630417 0.0050312525 - 1777900 0.0057966006 0.0032707838 0.0060785122 - 1778000 0.0045346785 0.0031800774 0.0053765623 - 1778100 0.0058746151 0.0026079301 0.0054534468 - 1778200 0.0059956139 0.0025130779 0.0054172034 - 1778300 0.0039882398 0.0028642641 0.0047960677 - 1778400 0.0045690896 0.0029340009 0.0051471537 - 1778500 0.004366462 0.0030673179 0.0051823229 - 1778600 0.0048759057 0.0031130594 0.0054748263 - 1778700 0.0049014396 0.0028731663 0.0052473012 - 1778800 0.0043710454 0.002503632 0.0046208571 - 1778900 0.003460751 0.0022942317 0.0039705329 - 1779000 0.0055795145 0.0023141332 0.0050167105 - 1779100 0.0060540073 0.0029305955 0.0058630053 - 1779200 0.0035496744 0.0035989623 0.0053183358 - 1779300 0.0050331106 0.0029468239 0.0053847369 - 1779400 0.0060757557 0.0027211616 0.0056641057 - 1779500 0.003939529 0.0025313243 0.0044395336 - 1779600 0.0038423086 0.0026495168 0.004510635 - 1779700 0.0036231179 0.0031040485 0.0048589962 - 1779800 0.0049035489 0.0026063593 0.0049815158 - 1779900 0.0061880428 0.0025777767 0.0055751099 - 1780000 0.0047220657 0.0026709975 0.0049582481 - 1780100 0.0046986336 0.0024090907 0.0046849914 - 1780200 0.0059312602 0.0021832444 0.0050561986 - 1780300 0.0058611467 0.0022504265 0.0050894195 - 1780400 0.0058653585 0.0025438301 0.0053848631 - 1780500 0.0043100974 0.0031741434 0.0052618468 - 1780600 0.0049256165 0.0028696758 0.0052555213 - 1780700 0.003832982 0.0026399361 0.0044965368 - 1780800 0.00424178 0.001960199 0.0040148111 - 1780900 0.0042329525 0.0017731268 0.0038234632 - 1781000 0.0049563082 0.0016448013 0.0040455131 - 1781100 0.0064210212 0.0017065806 0.0048167628 - 1781200 0.0045318381 0.001879459 0.0040745681 - 1781300 0.0055204468 0.0023036097 0.0049775761 - 1781400 0.0044765622 0.0023102496 0.0044785844 - 1781500 0.0033045257 0.002291964 0.0038925936 - 1781600 0.0056598485 0.0020700076 0.0048114967 - 1781700 0.0054377908 0.0021855871 0.004819517 - 1781800 0.0045752486 0.0019600368 0.0041761729 - 1781900 0.0054374088 0.0020245043 0.0046582491 - 1782000 0.0055189486 0.0021251609 0.0047984017 - 1782100 0.0054248835 0.0022920537 0.0049197316 - 1782200 0.0066442234 0.0023241156 0.0055424114 - 1782300 0.0041213512 0.0022686139 0.0042648934 - 1782400 0.0046468882 0.0023143261 0.0045651626 - 1782500 0.0053436234 0.0026405442 0.0052288617 - 1782600 0.0047118189 0.0029231546 0.0052054418 - 1782700 0.0074905039 0.0027891061 0.0064173189 - 1782800 0.0055819076 0.0021449847 0.0048487212 - 1782900 0.0047643333 0.0021902903 0.0044980143 - 1783000 0.0046813344 0.0025810341 0.0048485554 - 1783100 0.0061188459 0.002394027 0.005357843 - 1783200 0.005393048 0.0024263392 0.0050385968 - 1783300 0.0047294566 0.0029387726 0.0052296031 - 1783400 0.005758282 0.002930117 0.0057192848 - 1783500 0.0061275852 0.0027049544 0.0056730034 - 1783600 0.0060478537 0.0022164177 0.0051458469 - 1783700 0.004897352 0.0024817799 0.0048539347 - 1783800 0.0077257718 0.0022558932 0.0059980639 - 1783900 0.003764718 0.0028503903 0.0046739256 - 1784000 0.0040860623 0.0031334031 0.0051125895 - 1784100 0.0049777944 0.0025960249 0.005007144 - 1784200 0.0060074916 0.0022506871 0.0051605658 - 1784300 0.0046732294 0.0021995184 0.0044631139 - 1784400 0.0043556222 0.0026260286 0.0047357831 - 1784500 0.0038872069 0.0028092062 0.004692072 - 1784600 0.0031081476 0.0027881656 0.0042936746 - 1784700 0.0041224644 0.0023186341 0.0043154528 - 1784800 0.0044579727 0.0018129874 0.0039723179 - 1784900 0.0047601441 0.00175495 0.0040606448 - 1785000 0.0061806885 0.0019738247 0.0049675958 - 1785100 0.0077148625 0.0028160789 0.0065529655 - 1785200 0.0051575877 0.0031374411 0.0056356477 - 1785300 0.0066921837 0.0030621414 0.0063036679 - 1785400 0.0056957879 0.0029720366 0.0057309338 - 1785500 0.0063835804 0.0031291351 0.0062211818 - 1785600 0.0047940669 0.0029443423 0.0052664685 - 1785700 0.0044318765 0.0024588577 0.0046055479 - 1785800 0.0041989286 0.0023354447 0.0043693008 - 1785900 0.0045882243 0.0022922611 0.0045146822 - 1786000 0.0041882639 0.0022508424 0.0042795327 - 1786100 0.0051208267 0.0021488358 0.0046292362 - 1786200 0.0049689966 0.0024726164 0.0048794741 - 1786300 0.0046792493 0.0024318467 0.0046983581 - 1786400 0.0051492795 0.0028623713 0.0053565535 - 1786500 0.0052014597 0.0028093578 0.0053288149 - 1786600 0.0064163237 0.002523197 0.0056311038 - 1786700 0.0057180942 0.0024697832 0.0052394851 - 1786800 0.0059587612 0.001859181 0.004745456 - 1786900 0.0038307801 0.0022991978 0.0041547319 - 1787000 0.0042223646 0.0026501701 0.004695378 - 1787100 0.0047652583 0.0024061676 0.0047143396 - 1787200 0.004490013 0.0024693523 0.0046442024 - 1787300 0.0030072218 0.002228887 0.0036855101 - 1787400 0.0058132548 0.002086941 0.0049027363 - 1787500 0.0053278908 0.0020375771 0.0046182742 - 1787600 0.0034276011 0.0023766845 0.0040369287 - 1787700 0.00548168 0.0023280707 0.0049832594 - 1787800 0.0039070234 0.0020653117 0.0039577762 - 1787900 0.0058947559 0.0021315029 0.0049867753 - 1788000 0.0049623967 0.0023042716 0.0047079325 - 1788100 0.0061383917 0.0024436836 0.0054169671 - 1788200 0.0055800873 0.0023972016 0.0051000564 - 1788300 0.0053952805 0.0021909001 0.0048042391 - 1788400 0.0046878244 0.0022054646 0.0044761296 - 1788500 0.0056511033 0.0017865957 0.0045238488 - 1788600 0.0035947502 0.0019443928 0.0036855999 - 1788700 0.003692867 0.0017978838 0.0035866163 - 1788800 0.0037196119 0.0023307898 0.0041324769 - 1788900 0.0044978011 0.0027176314 0.0048962538 - 1789000 0.004638136 0.0023610502 0.0046076473 - 1789100 0.0055001454 0.0016410761 0.004305209 - 1789200 0.004552016 0.0015685684 0.0037734512 - 1789300 0.0050943344 0.0022570514 0.0047246196 - 1789400 0.0036028505 0.0025107962 0.0042559269 - 1789500 0.0055139574 0.002205841 0.0048766641 - 1789600 0.0050173714 0.0019795308 0.00440982 - 1789700 0.0055815588 0.0018279272 0.0045314948 - 1789800 0.005722574 0.0018387372 0.0046106089 - 1789900 0.0055356092 0.001918861 0.0046001717 - 1790000 0.0062153506 0.0017425682 0.0047531287 - 1790100 0.004796836 0.0016293485 0.0039528159 - 1790200 0.0051279994 0.0019104786 0.0043943533 - 1790300 0.0055987436 0.0024045502 0.0051164417 - 1790400 0.0041763259 0.0027701659 0.0047930738 - 1790500 0.0055718086 0.0024186698 0.0051175146 - 1790600 0.0039066104 0.0023187968 0.0042110613 - 1790700 0.0035806075 0.0022849663 0.0040193231 - 1790800 0.0049697523 0.0024260437 0.0048332675 - 1790900 0.0046572771 0.0023135415 0.00456941 - 1791000 0.0049332138 0.0021225359 0.0045120614 - 1791100 0.0058449594 0.0020858755 0.0049170277 - 1791200 0.0050263742 0.0023389117 0.0047735617 - 1791300 0.0067310586 0.0024416075 0.005701964 - 1791400 0.0036623412 0.0026620747 0.0044360212 - 1791500 0.0039465139 0.0021897137 0.0041013064 - 1791600 0.0073945744 0.0019395536 0.0055213006 - 1791700 0.0065038337 0.0021882377 0.0053385321 - 1791800 0.0040323655 0.0030505669 0.0050037439 - 1791900 0.0057200335 0.0026831906 0.0054538319 - 1792000 0.005778894 0.0018498849 0.0046490367 - 1792100 0.0061226313 0.0021763085 0.005141958 - 1792200 0.0049299259 0.0026435444 0.0050314772 - 1792300 0.0053877667 0.0026289588 0.0052386583 - 1792400 0.0050222709 0.0020299176 0.00446258 - 1792500 0.0053590239 0.0016919053 0.0042876825 - 1792600 0.0052194391 0.0019345666 0.0044627325 - 1792700 0.0041998174 0.0023882385 0.0044225251 - 1792800 0.0053791363 0.0022958225 0.0049013416 - 1792900 0.0053985073 0.0028033439 0.0054182458 - 1793000 0.0053487627 0.0028096409 0.0054004478 - 1793100 0.0052068347 0.002445513 0.0049675736 - 1793200 0.0041441379 0.0026710147 0.0046783315 - 1793300 0.0063818052 0.0031101245 0.0062013113 - 1793400 0.0060390113 0.0030451801 0.0059703262 - 1793500 0.005001862 0.0029468156 0.0053695925 - 1793600 0.0059210152 0.0024391155 0.0053071072 - 1793700 0.0059239863 0.0026495866 0.0055190175 - 1793800 0.005193522 0.0023681363 0.0048837486 - 1793900 0.0040129479 0.0024943643 0.0044381359 - 1794000 0.0040558135 0.0028223492 0.0047868839 - 1794100 0.0060945918 0.0026186269 0.0055706948 - 1794200 0.0057466856 0.0028270921 0.0056106429 - 1794300 0.004694005 0.0028630626 0.0051367213 - 1794400 0.0053723237 0.0022770286 0.0048792479 - 1794500 0.0057815612 0.0017861981 0.0045866418 - 1794600 0.0039796965 0.0019003023 0.0038279678 - 1794700 0.00463401 0.001969831 0.0042144297 - 1794800 0.0044872713 0.0021746743 0.0043481963 - 1794900 0.0059194298 0.0020149964 0.0048822202 - 1795000 0.0060338334 0.0018067001 0.0047293381 - 1795100 0.00672707 0.0021804784 0.0054389029 - 1795200 0.0055785731 0.0030134827 0.005715604 - 1795300 0.0061124045 0.0027925295 0.0057532254 - 1795400 0.005914618 0.0024514828 0.0053163759 - 1795500 0.0059897145 0.002399806 0.0053010739 - 1795600 0.0057173274 0.0023844654 0.0051537958 - 1795700 0.0056963219 0.002450215 0.0052093709 - 1795800 0.0048741436 0.0023676529 0.0047285662 - 1795900 0.0043457701 0.0024859965 0.0045909789 - 1796000 0.0034985794 0.0025494097 0.0042440341 - 1796100 0.0052998507 0.0022809971 0.0048481123 - 1796200 0.0046297233 0.0022298978 0.0044724201 - 1796300 0.0044192596 0.0025136044 0.0046541833 - 1796400 0.0046335686 0.0025984887 0.0048428735 - 1796500 0.0034899433 0.0022288922 0.0039193335 - 1796600 0.0059781512 0.0018791715 0.0047748385 - 1796700 0.0065068978 0.0017393544 0.0048911331 - 1796800 0.0067801081 0.0015198839 0.0048039987 - 1796900 0.0059073269 0.0017834999 0.0046448614 - 1797000 0.0033734132 0.0023055387 0.0039395357 - 1797100 0.0050531063 0.0020983906 0.004545989 - 1797200 0.004336552 0.0019825045 0.0040830219 - 1797300 0.0042783464 0.0017770067 0.0038493307 - 1797400 0.0063156576 0.0019446376 0.0050037842 - 1797500 0.0043979929 0.0023630485 0.0044933263 - 1797600 0.0056181643 0.0021726597 0.004893958 - 1797700 0.0052362893 0.0021299458 0.0046662734 - 1797800 0.0054649295 0.0021472624 0.0047943377 - 1797900 0.005578304 0.0024743211 0.0051763121 - 1798000 0.0050828864 0.0019668524 0.0044288755 - 1798100 0.0049586536 0.0017542894 0.0041561372 - 1798200 0.0041722407 0.0019240868 0.0039450159 - 1798300 0.0041940433 0.0021007127 0.0041322024 - 1798400 0.0061281574 0.0019858577 0.004954184 - 1798500 0.0037905494 0.002159946 0.0039959934 - 1798600 0.0048887354 0.0019622036 0.0043301848 - 1798700 0.0048399139 0.0017733343 0.0041176676 - 1798800 0.0050953892 0.0019162265 0.0043843057 - 1798900 0.0044791881 0.0023343658 0.0045039725 - 1799000 0.0045462219 0.002672373 0.0048744492 - 1799100 0.0045978022 0.0024254856 0.0046525461 - 1799200 0.0052349115 0.0021854981 0.0047211583 - 1799300 0.0048507652 0.0019334957 0.0042830851 - 1799400 0.0053997918 0.0017479017 0.0043634258 - 1799500 0.0051615034 0.0021145 0.0046146032 - 1799600 0.0054496087 0.0022798362 0.0049194904 - 1799700 0.0044669421 0.00209576 0.0042594351 - 1799800 0.0052429477 0.0019462249 0.0044857777 - 1799900 0.0041947278 0.0017238122 0.0037556334 - 1800000 0.0051008989 0.0018336353 0.0043043832 - 1800100 0.0055078626 0.0018285548 0.0044964257 - 1800200 0.005630608 0.0016496779 0.0043770037 - 1800300 0.0048889115 0.0022128801 0.0045809466 - 1800400 0.0051222115 0.0021017282 0.0045827994 - 1800500 0.0029393713 0.0020448375 0.0034685955 - 1800600 0.0047881515 0.0021203995 0.0044396604 - 1800700 0.003648385 0.0023243553 0.0040915418 - 1800800 0.0073174908 0.0023519839 0.0058963935 - 1800900 0.0071811372 0.0026557996 0.0061341629 - 1801000 0.0044659929 0.0029656324 0.0051288477 - 1801100 0.0050587267 0.0031797168 0.0056300376 - 1801200 0.0049124188 0.003133135 0.0055125879 - 1801300 0.0050907915 0.0029670405 0.0054328926 - 1801400 0.0046472857 0.0026540108 0.0049050398 - 1801500 0.0053831788 0.00188473 0.0044922072 - 1801600 0.0050362051 0.0018125814 0.0042519932 - 1801700 0.0046411999 0.0023137122 0.0045617934 - 1801800 0.0048847097 0.00239927 0.0047653012 - 1801900 0.005539678 0.0021838492 0.0048671308 - 1802000 0.0049166686 0.0021204268 0.0045019382 - 1802100 0.0051085436 0.0023877924 0.0048622432 - 1802200 0.0055359406 0.0026230783 0.0053045495 - 1802300 0.0065662248 0.0022680816 0.0054485967 - 1802400 0.0059272643 0.0021524903 0.005023509 - 1802500 0.0054956367 0.0026501609 0.00531211 - 1802600 0.0053028644 0.0031496215 0.0057181964 - 1802700 0.0059027673 0.0033896076 0.0062487605 - 1802800 0.0079900853 0.0029915859 0.0068617835 - 1802900 0.0059026916 0.0027089198 0.005568036 - 1803000 0.0052487792 0.0022104843 0.0047528618 - 1803100 0.0047795275 0.0018466871 0.0041617707 - 1803200 0.004104865 0.0019100684 0.0038983624 - 1803300 0.0036918073 0.0020431482 0.0038313673 - 1803400 0.0049428164 0.001831264 0.0042254407 - 1803500 0.0049668758 0.0015985806 0.004004411 - 1803600 0.0041036405 0.0022234904 0.0042111912 - 1803700 0.0056373779 0.0025472614 0.0052778663 - 1803800 0.0056481225 0.0026285267 0.0053643361 - 1803900 0.0054386187 0.0025015258 0.0051358567 - 1804000 0.0051461542 0.0026985171 0.0051911855 - 1804100 0.005653212 0.0028769677 0.0056152423 - 1804200 0.005334466 0.0022671767 0.0048510586 - 1804300 0.0063312028 0.0017298457 0.0047965221 - 1804400 0.0073376616 0.0016212835 0.0051754633 - 1804500 0.004456722 0.0014603646 0.0036190894 - 1804600 0.003626771 0.0013195763 0.0030762935 - 1804700 0.0052261901 0.0013458139 0.0038772497 - 1804800 0.0053879137 0.0013947043 0.004004475 - 1804900 0.0060916381 0.0013947318 0.004345369 - 1805000 0.0040648298 0.0015127389 0.0034816409 - 1805100 0.0040020604 0.0016248502 0.0035633482 - 1805200 0.0041460517 0.0017937128 0.0038019566 - 1805300 0.005223203 0.001982889 0.004512878 - 1805400 0.0041809884 0.0020840224 0.0041091887 - 1805500 0.0053788488 0.002433453 0.0050388329 - 1805600 0.0043732519 0.0024755991 0.004593893 - 1805700 0.0053383664 0.0019706077 0.004556379 - 1805800 0.005993 0.001744512 0.0046473714 - 1805900 0.0046939761 0.0017818079 0.0040554526 - 1806000 0.0058311806 0.0018847317 0.0047092098 - 1806100 0.0041707596 0.0024567792 0.0044769909 - 1806200 0.0050194324 0.0023933061 0.0048245937 - 1806300 0.0046491924 0.0022770898 0.0045290423 - 1806400 0.0067173001 0.0020850674 0.0053387596 - 1806500 0.0056661379 0.0022584236 0.0050029592 - 1806600 0.0047125845 0.0023891696 0.0046718278 - 1806700 0.0053084919 0.0022455467 0.0048168475 - 1806800 0.0053713874 0.0020562155 0.0046579813 - 1806900 0.0044431449 0.0021346013 0.0042867496 - 1807000 0.0043270418 0.0017538513 0.0038497622 - 1807100 0.0051736761 0.0017042892 0.0042102886 - 1807200 0.0065903039 0.0017434812 0.0049356596 - 1807300 0.0055761124 0.0025260482 0.0052269776 - 1807400 0.0045045939 0.0024317598 0.0046136725 - 1807500 0.0038251261 0.0019539319 0.0038067273 - 1807600 0.004573643 0.0016861445 0.0039015028 - 1807700 0.0044207828 0.0017510266 0.0038923432 - 1807800 0.0043033699 0.0020291101 0.0041135549 - 1807900 0.0053919584 0.0021161345 0.0047278644 - 1808000 0.0036066092 0.0024457343 0.0041926857 - 1808100 0.0052544329 0.0023805252 0.0049256411 - 1808200 0.0044048905 0.00225242 0.0043860388 - 1808300 0.0057828474 0.0019825513 0.0047836181 - 1808400 0.0033588311 0.0021919589 0.0038188928 - 1808500 0.0047770034 0.0022135335 0.0045273945 - 1808600 0.0048686716 0.001962992 0.0043212548 - 1808700 0.0042482787 0.0016474527 0.0037052127 - 1808800 0.0048661239 0.0021868305 0.0045438592 - 1808900 0.0052884416 0.0022102271 0.004771816 - 1809000 0.0053960093 0.0021204997 0.0047341917 - 1809100 0.0060387838 0.0022822466 0.0052072825 - 1809200 0.0044320375 0.0021582594 0.0043050276 - 1809300 0.0057117952 0.0022094947 0.0049761455 - 1809400 0.0054726899 0.0024898035 0.0051406377 - 1809500 0.0046739115 0.0024521778 0.0047161037 - 1809600 0.0047214429 0.0026325486 0.0049194975 - 1809700 0.0062205926 0.0026351219 0.0056482214 - 1809800 0.0056786915 0.0022320107 0.0049826269 - 1809900 0.0040295903 0.0021407902 0.004092623 - 1810000 0.0055623985 0.0021090178 0.0048033045 - 1810100 0.0047549592 0.0021628568 0.0044660402 - 1810200 0.0045741698 0.002306516 0.0045221295 - 1810300 0.0050365756 0.0026253834 0.0050649747 - 1810400 0.005280909 0.0025297398 0.00508768 - 1810500 0.0042421182 0.0020617392 0.0041165152 - 1810600 0.0067337654 0.001768072 0.0050297396 - 1810700 0.0045389112 0.001828045 0.0040265801 - 1810800 0.0035591476 0.0018272408 0.0035512029 - 1810900 0.0053072787 0.0019031985 0.0044739116 - 1811000 0.0055915694 0.0018439469 0.0045523633 - 1811100 0.0052310041 0.0017012856 0.0042350532 - 1811200 0.0045937071 0.0018257881 0.004050865 - 1811300 0.0062206714 0.0018637351 0.0048768729 - 1811400 0.0050999845 0.0021803421 0.0046506471 - 1811500 0.0038835928 0.0022958085 0.0041769238 - 1811600 0.0047408645 0.0020867296 0.0043830859 - 1811700 0.0045379287 0.0020110084 0.0042090676 - 1811800 0.0059898657 0.0018120185 0.0047133597 - 1811900 0.006247568 0.0018905092 0.004916675 - 1812000 0.0069390181 0.0025587981 0.005919885 - 1812100 0.0043674677 0.0025838792 0.0046993714 - 1812200 0.004150195 0.0021741864 0.0041844371 - 1812300 0.0049242141 0.0015443123 0.0039294785 - 1812400 0.0042264003 0.0012292974 0.00327646 - 1812500 0.0045565282 0.0015989783 0.0038060466 - 1812600 0.0051469219 0.0023806845 0.0048737248 - 1812700 0.0053444895 0.0026096978 0.0051984349 - 1812800 0.0058250159 0.0030229081 0.0058444002 - 1812900 0.0041985108 0.0027924931 0.0048261468 - 1813000 0.0049191019 0.002278079 0.004660769 - 1813100 0.0055003744 0.0021108995 0.0047751434 - 1813200 0.0043383881 0.0020437136 0.0041451204 - 1813300 0.0042181048 0.0021808827 0.0042240272 - 1813400 0.0051383999 0.002210995 0.0046999075 - 1813500 0.0042055168 0.0023634626 0.0044005098 - 1813600 0.0057286544 0.0019866186 0.0047614355 - 1813700 0.0058554557 0.0019084257 0.0047446621 - 1813800 0.0052327399 0.0022546792 0.0047892876 - 1813900 0.0059514469 0.002106646 0.0049893781 - 1814000 0.0065469751 0.0018140475 0.0049852385 - 1814100 0.0048608801 0.0021259118 0.0044804006 - 1814200 0.0035596448 0.0020245827 0.0037487857 - 1814300 0.00541179 0.0018587861 0.0044801219 - 1814400 0.0054043809 0.0025865585 0.0052043055 - 1814500 0.0058059219 0.0028090179 0.0056212613 - 1814600 0.0044759143 0.002544911 0.004712932 - 1814700 0.00623071 0.0021880426 0.0052060427 - 1814800 0.0044369867 0.0022620835 0.0044112489 - 1814900 0.00442036 0.0023737188 0.0045148307 - 1815000 0.0042635814 0.0022559765 0.0043211488 - 1815100 0.00489117 0.0026119388 0.0049810993 - 1815200 0.0055680761 0.0023027764 0.0049998133 - 1815300 0.0075762499 0.0023829488 0.0060526948 - 1815400 0.0047999181 0.0025488219 0.0048737822 - 1815500 0.0050522361 0.0023776897 0.0048248665 - 1815600 0.0050264638 0.0020948787 0.0045295721 - 1815700 0.0050091849 0.0020578441 0.004484168 - 1815800 0.006005166 0.0022254425 0.0051341947 - 1815900 0.0065878025 0.0018257653 0.0050167321 - 1816000 0.0038652258 0.0017667317 0.0036389505 - 1816100 0.0043064039 0.001665746 0.0037516604 - 1816200 0.0043528116 0.0014872901 0.0035956832 - 1816300 0.0027784069 0.0017685051 0.003114296 - 1816400 0.0050220914 0.0018415012 0.0042740767 - 1816500 0.0052597645 0.0020181384 0.0045658369 - 1816600 0.0039347393 0.0023461983 0.0042520876 - 1816700 0.0047670768 0.0026487154 0.0049577682 - 1816800 0.0059092474 0.0028353047 0.0056975964 - 1816900 0.0049850265 0.0024119757 0.0048265979 - 1817000 0.0038804088 0.0023723007 0.0042518737 - 1817100 0.0073114747 0.001922011 0.0054635066 - 1817200 0.0045496881 0.0023346018 0.004538357 - 1817300 0.0048273568 0.0020837197 0.0044219706 - 1817400 0.0048200667 0.0020439072 0.004378627 - 1817500 0.0069277878 0.001724149 0.0050797962 - 1817600 0.0064291226 0.002268207 0.0053823132 - 1817700 0.0062923275 0.0024968585 0.0055447046 - 1817800 0.006297291 0.00242807 0.0054783203 - 1817900 0.005775209 0.0025754362 0.0053728031 - 1818000 0.0052142599 0.0023586904 0.0048843475 - 1818100 0.0055886242 0.0026209445 0.0053279344 - 1818200 0.0050147356 0.0028101667 0.0052391793 - 1818300 0.004487358 0.0022467394 0.0044203034 - 1818400 0.0057529389 0.0018677415 0.0046543213 - 1818500 0.0057691191 0.0018625341 0.0046569512 - 1818600 0.004072017 0.0024482775 0.0044206607 - 1818700 0.0046713659 0.0025361396 0.0047988324 - 1818800 0.0033903684 0.0022211733 0.003863383 - 1818900 0.0058202654 0.0017202097 0.0045394008 - 1819000 0.0061067075 0.0019301499 0.0048880864 - 1819100 0.0043040734 0.0022413213 0.0043261069 - 1819200 0.005694341 0.0020537688 0.0048119652 - 1819300 0.0041838707 0.0020894718 0.0041160342 - 1819400 0.0044038122 0.0022104548 0.0043435513 - 1819500 0.0041773772 0.0021997327 0.0042231498 - 1819600 0.0055600909 0.0018912931 0.0045844621 - 1819700 0.0044797306 0.0022234239 0.0043932934 - 1819800 0.0050919037 0.0024839654 0.0049503562 - 1819900 0.0068444771 0.0025793045 0.005894598 - 1820000 0.0046521269 0.0024128948 0.0046662688 - 1820100 0.0048087039 0.0025292139 0.0048584299 - 1820200 0.0035855573 0.0028424632 0.0045792175 - 1820300 0.0056558214 0.0026381349 0.0053776734 - 1820400 0.0051685498 0.0022580472 0.0047615635 - 1820500 0.0043338962 0.002290901 0.004390132 - 1820600 0.0058003973 0.0024441893 0.0052537568 - 1820700 0.0046386907 0.0028427194 0.0050895852 - 1820800 0.0067847177 0.0026953142 0.0059816618 - 1820900 0.0062182425 0.0028273266 0.0058392878 - 1821000 0.0063909653 0.0031064493 0.0062020731 - 1821100 0.0053544532 0.0028414566 0.0054350198 - 1821200 0.0056852882 0.0029415206 0.005695332 - 1821300 0.0056199133 0.0030069414 0.0057290869 - 1821400 0.0052474186 0.0024723805 0.0050140989 - 1821500 0.0059081905 0.0024541587 0.0053159385 - 1821600 0.0063538425 0.0020659494 0.0051435919 - 1821700 0.0052461778 0.0020397902 0.0045809076 - 1821800 0.0046169885 0.0019257745 0.0041621283 - 1821900 0.0056345565 0.0019482046 0.0046774429 - 1822000 0.0056734363 0.0016952364 0.0044433071 - 1822100 0.0059293783 0.0022674126 0.0051394552 - 1822200 0.0060406879 0.0026154526 0.0055414108 - 1822300 0.005846704 0.0026422121 0.0054742094 - 1822400 0.0050069504 0.0031599356 0.0055851772 - 1822500 0.0066621521 0.0028672766 0.0060942565 - 1822600 0.0054989712 0.0025713919 0.005234956 - 1822700 0.0053533136 0.0019130172 0.0045060285 - 1822800 0.0058556589 0.0020709897 0.0049073245 - 1822900 0.0033069873 0.0024611533 0.0040629753 - 1823000 0.0053750994 0.0025116939 0.0051152576 - 1823100 0.0056099994 0.0027194884 0.0054368319 - 1823200 0.0047579038 0.0024961837 0.0048007933 - 1823300 0.0039212098 0.0028706743 0.0047700102 - 1823400 0.0044388579 0.002897136 0.0050472078 - 1823500 0.0047251818 0.0028886787 0.0051774386 - 1823600 0.0064603836 0.002357525 0.0054867733 - 1823700 0.0050823171 0.0023102323 0.0047719797 - 1823800 0.0055587146 0.0024512209 0.0051437233 - 1823900 0.0044225187 0.0025567091 0.0046988665 - 1824000 0.0037054573 0.0023888776 0.0041837085 - 1824100 0.0041396543 0.0025297463 0.0045348913 - 1824200 0.0054082532 0.0024573752 0.0050769978 - 1824300 0.0049014309 0.0027748493 0.0051489799 - 1824400 0.0049892029 0.002963136 0.0053797811 - 1824500 0.0039830712 0.0032396865 0.0051689866 - 1824600 0.0057449304 0.0028908438 0.0056735445 - 1824700 0.0051898993 0.0030773949 0.0055912523 - 1824800 0.0047017705 0.0031932343 0.0054706543 - 1824900 0.0055895767 0.0027408181 0.0054482693 - 1825000 0.0065848609 0.002435504 0.0056250459 - 1825100 0.0045350096 0.0021607935 0.0043574388 - 1825200 0.0047665433 0.0021156162 0.0044244106 - 1825300 0.0057075471 0.002486449 0.0052510421 - 1825400 0.0056992223 0.0031838607 0.0059444215 - 1825500 0.0058171576 0.0040203442 0.0068380299 - 1825600 0.0074607473 0.0035058388 0.0071196383 - 1825700 0.004043781 0.0034071638 0.0053658702 - 1825800 0.0057338315 0.0036942527 0.0064715774 - 1825900 0.0067421583 0.0029154354 0.0061811684 - 1826000 0.0053773817 0.0025865907 0.00519126 - 1826100 0.0054723753 0.0025179265 0.0051686083 - 1826200 0.0047024119 0.0029516302 0.005229361 - 1826300 0.0050936318 0.0025141083 0.0049813362 - 1826400 0.0062836644 0.0020968665 0.0051405164 - 1826500 0.0058536616 0.0016991643 0.0045345316 - 1826600 0.0041593877 0.0018112124 0.0038259158 - 1826700 0.0065083026 0.0021517316 0.0053041907 - 1826800 0.0061892795 0.0025781828 0.005576115 - 1826900 0.0057269993 0.0029284798 0.005702495 - 1827000 0.0061911585 0.003587872 0.0065867144 - 1827100 0.0057635382 0.0035963321 0.0063880459 - 1827200 0.0077130877 0.0027357774 0.0064718043 - 1827300 0.0051204531 0.0027835442 0.0052637636 - 1827400 0.0053836868 0.0028255569 0.0054332802 - 1827500 0.0047510497 0.0022988761 0.0046001658 - 1827600 0.0048796192 0.0019763497 0.0043399152 - 1827700 0.0033794002 0.0022274531 0.0038643501 - 1827800 0.0053929574 0.002475652 0.0050878657 - 1827900 0.0061334252 0.0025184841 0.0054893619 - 1828000 0.005173881 0.0026499103 0.0051560089 - 1828100 0.0055536428 0.0032242789 0.0059143246 - 1828200 0.0046355705 0.0028290574 0.0050744119 - 1828300 0.0056396961 0.0028813219 0.0056130497 - 1828400 0.0051126015 0.0030955024 0.0055719187 - 1828500 0.0048631875 0.0025039373 0.0048595438 - 1828600 0.0058739744 0.0022142728 0.0050594792 - 1828700 0.0046286164 0.0022752417 0.0045172277 - 1828800 0.0056386692 0.0026038061 0.0053350365 - 1828900 0.0037746205 0.0024751768 0.0043035086 - 1829000 0.0048283675 0.0025288704 0.0048676109 - 1829100 0.0067160407 0.0021822427 0.0054353249 - 1829200 0.0049246573 0.0023057417 0.0046911226 - 1829300 0.0048654333 0.0025555038 0.004912198 - 1829400 0.0054500987 0.0024945655 0.005134457 - 1829500 0.0067347924 0.0024026486 0.0056648136 - 1829600 0.0067268096 0.0022221081 0.0054804066 - 1829700 0.0044752854 0.0026756166 0.0048433329 - 1829800 0.0074415733 0.0031996435 0.0068041556 - 1829900 0.0053430055 0.0035790705 0.0061670888 - 1830000 0.0035604149 0.0035936995 0.0053182754 - 1830100 0.007456922 0.0034640101 0.0070759567 - 1830200 0.0050186146 0.0031260743 0.0055569657 - 1830300 0.0050367765 0.0028779089 0.0053175975 - 1830400 0.0036594015 0.0030573296 0.0048298522 - 1830500 0.0062091358 0.0031671855 0.0061747357 - 1830600 0.0053042707 0.0030375734 0.0056068295 - 1830700 0.0063280152 0.002874818 0.0059399504 - 1830800 0.0062285596 0.0022317412 0.0052486997 - 1830900 0.0054391696 0.0023210732 0.004955671 - 1831000 0.0049604126 0.0023770409 0.0047797407 - 1831100 0.0049364272 0.0023850182 0.0047761001 - 1831200 0.0044420425 0.0027601381 0.0049117524 - 1831300 0.0047771792 0.0027741834 0.0050881296 - 1831400 0.0048919989 0.0028130008 0.0051825628 - 1831500 0.0049833973 0.0030504252 0.0054642583 - 1831600 0.0059142004 0.0029722202 0.005836911 - 1831700 0.0041825135 0.0028304999 0.0048564048 - 1831800 0.0056151659 0.0023887713 0.0051086172 - 1831900 0.0063506762 0.0026450894 0.0057211982 - 1832000 0.0047413776 0.0028899773 0.0051865821 - 1832100 0.0047632274 0.0029704312 0.0052776195 - 1832200 0.003528458 0.003001404 0.0047105008 - 1832300 0.0046939922 0.0028973645 0.005171017 - 1832400 0.0059194579 0.0031121484 0.0059793858 - 1832500 0.0064369985 0.0027230065 0.0058409277 - 1832600 0.006925543 0.002483896 0.0058384559 - 1832700 0.0048330293 0.0029155139 0.0052565124 - 1832800 0.0048027995 0.0032537412 0.0055800972 - 1832900 0.0040521369 0.0024737073 0.0044364611 - 1833000 0.0050594872 0.0023674267 0.0048181159 - 1833100 0.004291064 0.0027111981 0.0047896823 - 1833200 0.0049643327 0.0025667595 0.0049713582 - 1833300 0.0061877674 0.00230643 0.0053036298 - 1833400 0.0034030178 0.0025526019 0.0042009387 - 1833500 0.0052948556 0.0024917503 0.005056446 - 1833600 0.0062810649 0.00230466 0.0053470509 - 1833700 0.0054959213 0.0027200142 0.0053821011 - 1833800 0.0064424105 0.002733904 0.0058544466 - 1833900 0.0053260042 0.0032147194 0.0057945027 - 1834000 0.004549477 0.0031915703 0.0053952232 - 1834100 0.0049327621 0.0025245388 0.0049138454 - 1834200 0.0045875777 0.0020443214 0.0042664293 - 1834300 0.0048264411 0.0020691337 0.0044069411 - 1834400 0.0042010244 0.0017252186 0.0037600898 - 1834500 0.0047615477 0.001503296 0.0038096707 - 1834600 0.0043579799 0.001786117 0.0038970135 - 1834700 0.004457224 0.0022765088 0.0044354767 - 1834800 0.0049355593 0.0023833073 0.0047739688 - 1834900 0.0046896532 0.0025905697 0.0048621204 - 1835000 0.0048126559 0.0020756603 0.0044067905 - 1835100 0.0053188155 0.0021171089 0.0046934101 - 1835200 0.0051109366 0.00214712 0.0046227299 - 1835300 0.0050131349 0.0018313852 0.0042596224 - 1835400 0.0040018834 0.0021550631 0.0040934754 - 1835500 0.0053611106 0.0023504565 0.0049472444 - 1835600 0.0073914359 0.0022399131 0.0058201399 - 1835700 0.0057344713 0.0029361679 0.0057138025 - 1835800 0.0043884007 0.0028328353 0.0049584669 - 1835900 0.0060291455 0.0022190698 0.0051394372 - 1836000 0.0072537187 0.0019367684 0.0054502884 - 1836100 0.0043346841 0.0024015656 0.0045011782 - 1836200 0.0049809301 0.0022017472 0.0046143852 - 1836300 0.0063595883 0.0021982501 0.0052786757 - 1836400 0.0048642316 0.0028632097 0.0052193219 - 1836500 0.0046640723 0.0036932048 0.0059523648 - 1836600 0.0047092763 0.00332229 0.0056033457 - 1836700 0.0053152697 0.0028558819 0.0054304657 - 1836800 0.0039453693 0.002670632 0.0045816703 - 1836900 0.0061003364 0.0018228672 0.0047777177 - 1837000 0.0049375342 0.0019426702 0.0043342883 - 1837100 0.0042118268 0.002444762 0.0044848656 - 1837200 0.0053237873 0.0027587982 0.0053375076 - 1837300 0.0041371099 0.0027232313 0.0047271439 - 1837400 0.0058916712 0.0030381714 0.0058919496 - 1837500 0.0033988827 0.002762782 0.0044091158 - 1837600 0.007225724 0.0022936466 0.0057936066 - 1837700 0.0048108966 0.0026541124 0.0049843904 - 1837800 0.0038260692 0.0027831146 0.0046363669 - 1837900 0.0067431909 0.0022923037 0.0055585368 - 1838000 0.0052758937 0.0025550769 0.0051105879 - 1838100 0.0049708314 0.0024807615 0.004888508 - 1838200 0.0044353637 0.0029430032 0.0050913824 - 1838300 0.0046048732 0.003330591 0.0055610765 - 1838400 0.0040100092 0.0033183718 0.0052607199 - 1838500 0.0050000587 0.0034866062 0.0059085096 - 1838600 0.0051197795 0.0031018093 0.0055817024 - 1838700 0.0057119474 0.0029045682 0.0056712927 - 1838800 0.004716284 0.0028899959 0.0051744459 - 1838900 0.0053463066 0.0027395499 0.0053291671 - 1839000 0.0053158297 0.0029799841 0.005554839 - 1839100 0.0049389509 0.0029550639 0.0053473682 - 1839200 0.0068643711 0.0023163997 0.0056413294 - 1839300 0.0049851449 0.0022781267 0.0046928063 - 1839400 0.0050419045 0.0022033716 0.0046455441 - 1839500 0.0035809164 0.002138617 0.0038731233 - 1839600 0.0049335462 0.0019086747 0.0042983611 - 1839700 0.004702188 0.0022054288 0.0044830511 - 1839800 0.0062424273 0.0027909655 0.0058146412 - 1839900 0.0051940182 0.003362141 0.0058779935 - 1840000 0.0044055065 0.0026649449 0.0047988622 - 1840100 0.0040268297 0.0021480031 0.0040984987 - 1840200 0.0053733074 0.0023072182 0.004909914 - 1840300 0.0037636891 0.0027506274 0.0045736643 - 1840400 0.0048608963 0.0022187004 0.0045731971 - 1840500 0.0043761072 0.0019688382 0.0040885151 - 1840600 0.0047807624 0.0018923935 0.0042080753 - 1840700 0.0061836442 0.001803918 0.0047991206 - 1840800 0.0057333619 0.0018479472 0.0046250444 - 1840900 0.0055466672 0.0025023536 0.0051890205 - 1841000 0.0045848312 0.0026589338 0.0048797114 - 1841100 0.0068969427 0.0026447854 0.0059854921 - 1841200 0.0043327185 0.0031006612 0.0051993217 - 1841300 0.0042151606 0.0030352387 0.0050769572 - 1841400 0.0038747573 0.0031679937 0.0050448293 - 1841500 0.0045475915 0.0028690073 0.0050717469 - 1841600 0.0064020101 0.0024604117 0.0055613854 - 1841700 0.0055309092 0.0025248425 0.0052038766 - 1841800 0.0060502599 0.0024440751 0.0053746697 - 1841900 0.0057737337 0.0023919089 0.0051885611 - 1842000 0.0056905839 0.0022758944 0.005032271 - 1842100 0.0063855305 0.0027562468 0.0058492381 - 1842200 0.0071202573 0.0030621633 0.0065110379 - 1842300 0.0053754502 0.0029242559 0.0055279896 - 1842400 0.0065286505 0.0027124332 0.0058747483 - 1842500 0.003252951 0.0026860044 0.0042616525 - 1842600 0.0053228349 0.0028181649 0.005396413 - 1842700 0.0039392265 0.0025635009 0.0044715637 - 1842800 0.0047566067 0.0023807037 0.0046846851 - 1842900 0.0038672063 0.0026561105 0.0045292886 - 1843000 0.003188045 0.0028067391 0.0043509484 - 1843100 0.0034992731 0.002890242 0.0045852025 - 1843200 0.0055892673 0.0030022499 0.0057095513 - 1843300 0.006725536 0.0031020536 0.0063597351 - 1843400 0.0057047235 0.0026530071 0.0054162326 - 1843500 0.0055916234 0.0024614717 0.0051699143 - 1843600 0.0048049647 0.0029001411 0.0052275459 - 1843700 0.0048249189 0.0027396898 0.0050767599 - 1843800 0.0043810365 0.0025112107 0.0046332752 - 1843900 0.0054114629 0.0028222742 0.0054434516 - 1844000 0.0055951951 0.0027248841 0.0054350567 - 1844100 0.0060926599 0.0027936004 0.0057447326 - 1844200 0.0053431519 0.0035997644 0.0061878536 - 1844300 0.0064943913 0.0029387898 0.0060845105 - 1844400 0.0058323939 0.0023692291 0.0051942949 - 1844500 0.0050098796 0.0023039681 0.0047306286 - 1844600 0.0054087327 0.0022216551 0.00484151 - 1844700 0.0063028508 0.0023253307 0.0053782741 - 1844800 0.0052691031 0.002427201 0.0049794228 - 1844900 0.0052586857 0.0029444063 0.0054915822 - 1845000 0.004941792 0.0030481174 0.0054417978 - 1845100 0.0054973358 0.0023216662 0.0049844382 - 1845200 0.003447828 0.002211614 0.0038816557 - 1845300 0.0039732714 0.0019068004 0.0038313538 - 1845400 0.0046724375 0.0019384795 0.0042016914 - 1845500 0.0054732553 0.0020113982 0.0046625062 - 1845600 0.0039506227 0.0022334204 0.0041470033 - 1845700 0.0043927298 0.0021456784 0.0042734069 - 1845800 0.0045469497 0.002368828 0.0045712567 - 1845900 0.0053375331 0.0022032725 0.0047886401 - 1846000 0.0051315623 0.0022989817 0.0047845821 - 1846100 0.0048098225 0.0022541727 0.0045839305 - 1846200 0.0062408913 0.0023111455 0.0053340772 - 1846300 0.0043939981 0.0025513583 0.0046797011 - 1846400 0.0043324117 0.0022563546 0.0043548665 - 1846500 0.0055666449 0.0018529421 0.0045492857 - 1846600 0.0035835235 0.00207149 0.0038072592 - 1846700 0.0040443216 0.0019620079 0.0039209761 - 1846800 0.005037567 0.0020301491 0.0044702206 - 1846900 0.0038172558 0.0020913815 0.0039403648 - 1847000 0.0075569731 0.0022738696 0.0059342785 - 1847100 0.005628498 0.0027831466 0.0055094503 - 1847200 0.0059044439 0.0029034552 0.0057634202 - 1847300 0.0054772521 0.0026479447 0.0053009887 - 1847400 0.0052143127 0.0025272157 0.0050528985 - 1847500 0.005546392 0.0023365106 0.0050230442 - 1847600 0.005961221 0.0024483558 0.0053358222 - 1847700 0.0042871597 0.0022573999 0.0043339929 - 1847800 0.004927622 0.0021351634 0.0045219803 - 1847900 0.0058446637 0.0024249762 0.0052559851 - 1848000 0.0052980995 0.0027471286 0.0053133956 - 1848100 0.0043812282 0.0030607223 0.0051828797 - 1848200 0.0060300425 0.0030224783 0.0059432802 - 1848300 0.0053867125 0.0027698405 0.0053790294 - 1848400 0.0049816871 0.0026305663 0.005043571 - 1848500 0.0050326722 0.0028184718 0.0052561724 - 1848600 0.005007263 0.0026671012 0.0050924942 - 1848700 0.0065970253 0.0025751352 0.0057705693 - 1848800 0.0056097893 0.0024670871 0.0051843288 - 1848900 0.0035704623 0.0027802361 0.0045096788 - 1849000 0.0058317055 0.0024218212 0.0052465536 - 1849100 0.0042012977 0.0022494778 0.0042844814 - 1849200 0.0049064336 0.0024624766 0.0048390303 - 1849300 0.0060751769 0.0023385673 0.0052812311 - 1849400 0.005759377 0.0020673609 0.0048570592 - 1849500 0.0044088073 0.0023226355 0.0044581515 - 1849600 0.003964993 0.0021889626 0.0041095061 - 1849700 0.0052252621 0.0021901434 0.0047211297 - 1849800 0.0042259502 0.0024113381 0.0044582827 - 1849900 0.0048662211 0.0023541586 0.0047112345 - 1850000 0.0055583444 0.0020609581 0.0047532812 - 1850100 0.0052393199 0.0019023555 0.0044401511 - 1850200 0.0055566769 0.0022140279 0.0049055432 - 1850300 0.0059361797 0.0027639845 0.0056393216 - 1850400 0.0048159895 0.0028800426 0.0052127875 - 1850500 0.0055282418 0.0032507751 0.0059285173 - 1850600 0.0061448052 0.0028048143 0.0057812044 - 1850700 0.0047716174 0.0023340904 0.0046453426 - 1850800 0.0060026553 0.0021186557 0.0050261919 - 1850900 0.0048697322 0.0022905175 0.004649294 - 1851000 0.0064945676 0.0025882201 0.0057340263 - 1851100 0.0032993346 0.0029127235 0.0045108387 - 1851200 0.0048012918 0.0023580627 0.0046836884 - 1851300 0.0052930068 0.0015265973 0.0040903975 - 1851400 0.0041795114 0.0015718937 0.0035963445 - 1851500 0.003742574 0.0014630573 0.0032758666 - 1851600 0.003775864 0.0013983301 0.0032272642 - 1851700 0.0040747931 0.0018607753 0.0038345032 - 1851800 0.0040760309 0.0018404677 0.0038147952 - 1851900 0.0048330741 0.0018739667 0.0042149869 - 1852000 0.0067693102 0.0016231998 0.0049020844 - 1852100 0.004951093 0.001927105 0.0043252906 - 1852200 0.0045143567 0.0023702135 0.004556855 - 1852300 0.0059676065 0.0024059513 0.0052965107 - 1852400 0.0047447199 0.0025450211 0.0048432448 - 1852500 0.0060325814 0.0020522557 0.0049742873 - 1852600 0.0052671133 0.0022293381 0.0047805961 - 1852700 0.0044262123 0.0026495886 0.0047935352 - 1852800 0.0044134311 0.0024100754 0.0045478311 - 1852900 0.0081690164 0.0020998662 0.0060567335 - 1853000 0.0053593674 0.00238149 0.0049774336 - 1853100 0.0028072845 0.0024602307 0.0038200091 - 1853200 0.0054650389 0.0019533478 0.0046004761 - 1853300 0.0045117415 0.0017260248 0.0039113996 - 1853400 0.0062706037 0.0017133426 0.0047506662 - 1853500 0.0054699701 0.002108737 0.0047582538 - 1853600 0.0045641967 0.0021737943 0.0043845771 - 1853700 0.0058025605 0.0020062373 0.0048168525 - 1853800 0.004715356 0.0023285396 0.0046125402 - 1853900 0.004787692 0.0026279192 0.0049469575 - 1854000 0.0046393503 0.0029343337 0.005181519 - 1854100 0.0044794868 0.0032305126 0.005400264 - 1854200 0.0065492991 0.003034033 0.0062063498 - 1854300 0.0063948083 0.0021032686 0.0052007538 - 1854400 0.0061519726 0.001853983 0.0048338447 - 1854500 0.0051483381 0.0021003844 0.0045941107 - 1854600 0.0046524698 0.0020368137 0.0042903538 - 1854700 0.0045789934 0.0021155744 0.0043335243 - 1854800 0.0058820417 0.0024103144 0.0052594283 - 1854900 0.0045818268 0.0027100194 0.0049293418 - 1855000 0.0053705062 0.0026299906 0.0052313295 - 1855100 0.0051914822 0.0025383592 0.0050529834 - 1855200 0.0060595631 0.0025030573 0.0054381582 - 1855300 0.0061523736 0.0026089656 0.0055890216 - 1855400 0.0060381446 0.0030870039 0.0060117302 - 1855500 0.0061296942 0.0028775959 0.0058466665 - 1855600 0.0045639352 0.0029659145 0.0051765707 - 1855700 0.0047197067 0.0029362984 0.0052224064 - 1855800 0.0051527546 0.0028102192 0.0053060847 - 1855900 0.0045770983 0.0027585837 0.0049756157 - 1856000 0.0054626169 0.0026559711 0.0053019262 - 1856100 0.005978491 0.002361057 0.0052568886 - 1856200 0.0050760245 0.0023911883 0.0048498876 - 1856300 0.005913116 0.0027660609 0.0056302264 - 1856400 0.0043943632 0.0028929661 0.0050214858 - 1856500 0.0049347253 0.0030621782 0.0054524358 - 1856600 0.0052668569 0.0032893195 0.0058404533 - 1856700 0.0061599597 0.0027747939 0.0057585244 - 1856800 0.0048640959 0.0026046232 0.0049606697 - 1856900 0.0041840261 0.0032304277 0.0052570654 - 1857000 0.0055065522 0.0032638003 0.0059310365 - 1857100 0.005179499 0.0033741343 0.0058829542 - 1857200 0.0041355784 0.0033996105 0.0054027813 - 1857300 0.004526962 0.0034986997 0.005691447 - 1857400 0.005435098 0.0033568213 0.0059894469 - 1857500 0.0073681817 0.0029683979 0.0065373609 - 1857600 0.0060966724 0.0030829804 0.0060360561 - 1857700 0.0042770901 0.0034962922 0.0055680078 - 1857800 0.00419116 0.0033688614 0.0053989545 - 1857900 0.0041184686 0.0029742893 0.0049691726 - 1858000 0.0043048881 0.0029267726 0.0050119528 - 1858100 0.00459848 0.0027310622 0.0049584509 - 1858200 0.0041866813 0.0027814633 0.004809387 - 1858300 0.0049139968 0.0028480663 0.0052282835 - 1858400 0.0052753962 0.0028122215 0.0053674916 - 1858500 0.0043822943 0.0022326417 0.0043553155 - 1858600 0.0037717188 0.0021643189 0.0039912452 - 1858700 0.0056886179 0.0017850567 0.004540481 - 1858800 0.004077465 0.0019226761 0.0038976982 - 1858900 0.0042358244 0.002385415 0.0044371425 - 1859000 0.0059531665 0.0022425827 0.0051261477 - 1859100 0.0049379908 0.0022525245 0.0046443638 - 1859200 0.0051033607 0.0025836221 0.0050555624 - 1859300 0.0060975865 0.0024264013 0.0053799198 - 1859400 0.0049443395 0.0025989371 0.0049938515 - 1859500 0.0057259876 0.0023542833 0.0051278086 - 1859600 0.0042774617 0.002817197 0.0048890925 - 1859700 0.0049686152 0.0031237484 0.0055304214 - 1859800 0.0053785402 0.0028504465 0.0054556769 - 1859900 0.0047770369 0.0030158859 0.0053297632 - 1860000 0.0052122116 0.0034332347 0.0059578997 - 1860100 0.0050206976 0.0031253305 0.0055572309 - 1860200 0.0045973708 0.0031158813 0.0053427327 - 1860300 0.0070228476 0.0024382291 0.0058399209 - 1860400 0.0054289179 0.0021960661 0.0048256982 - 1860500 0.0052876873 0.0020781069 0.0046393304 - 1860600 0.005499243 0.0021170838 0.0047807797 - 1860700 0.0029157418 0.0024478798 0.0038601923 - 1860800 0.0033969274 0.0026009506 0.0042463373 - 1860900 0.0072905724 0.0029064284 0.0064377994 - 1861000 0.00595085 0.0033368092 0.0062192521 - 1861100 0.0045932686 0.0033491825 0.005574047 - 1861200 0.0070175883 0.0029948557 0.0063940001 - 1861300 0.0053176718 0.0031872611 0.0057630084 - 1861400 0.0047657802 0.0032490747 0.0055574995 - 1861500 0.0050111086 0.0027240868 0.0051513425 - 1861600 0.0058111147 0.0029013001 0.0057160588 - 1861700 0.0049318051 0.0029231301 0.0053119732 - 1861800 0.0059860324 0.0027470833 0.0056465678 - 1861900 0.0070490751 0.0029161957 0.0063305915 - 1862000 0.0057257591 0.0030000727 0.0057734872 - 1862100 0.0059502694 0.0024243947 0.0053065564 - 1862200 0.0041284821 0.002338382 0.0043381155 - 1862300 0.0033661184 0.002753683 0.0043841466 - 1862400 0.0047496088 0.0028241941 0.0051247858 - 1862500 0.0038055354 0.0026649694 0.0045082756 - 1862600 0.0055035465 0.0023886372 0.0050544176 - 1862700 0.0032217674 0.0024641461 0.0040246897 - 1862800 0.0058479039 0.0022453559 0.0050779343 - 1862900 0.0058955603 0.0021053876 0.0049610496 - 1863000 0.0050050539 0.0026866774 0.0051110004 - 1863100 0.0053357866 0.0029516387 0.0055361603 - 1863200 0.0060621801 0.0025980246 0.0055343931 - 1863300 0.0059205966 0.00243656 0.005304349 - 1863400 0.0052182005 0.0023412291 0.0048687949 - 1863500 0.0044679566 0.0024521759 0.0046163424 - 1863600 0.0062410243 0.0024346641 0.0054576603 - 1863700 0.0065218005 0.0024390324 0.0055980295 - 1863800 0.0048674686 0.0029105972 0.0052682773 - 1863900 0.0052292463 0.003072362 0.0056052782 - 1864000 0.0054752155 0.0033299411 0.0059819986 - 1864100 0.0054209242 0.0034109151 0.0060366753 - 1864200 0.005187463 0.0032790048 0.0057916822 - 1864300 0.0048825099 0.0030194893 0.005384455 - 1864400 0.005658846 0.0028037088 0.0055447123 - 1864500 0.0072154276 0.0028960117 0.0063909844 - 1864600 0.0057013777 0.0025358082 0.0052974131 - 1864700 0.0049616717 0.0024440182 0.0048473279 - 1864800 0.0056602252 0.002815029 0.0055567006 - 1864900 0.0065527968 0.0022829825 0.0054569934 - 1865000 0.0062759308 0.0020951514 0.0051350554 - 1865100 0.004088452 0.0020863566 0.0040667005 - 1865200 0.0046829344 0.0021696977 0.004437994 - 1865300 0.0071625543 0.0023716368 0.005840999 - 1865400 0.0043630482 0.0030149391 0.0051282906 - 1865500 0.0044432566 0.0027920656 0.0049442681 - 1865600 0.0049507489 0.0024883139 0.004886333 - 1865700 0.0050012144 0.0024961579 0.0049186212 - 1865800 0.0038130778 0.0026512816 0.0044982411 - 1865900 0.0038064827 0.0022848526 0.0041286176 - 1866000 0.0058692579 0.0021634673 0.0050063891 - 1866100 0.0037799693 0.0025716927 0.0044026153 - 1866200 0.0046148222 0.0024388189 0.0046741234 - 1866300 0.0053393299 0.0019542317 0.0045404696 - 1866400 0.0040218473 0.0019163875 0.0038644698 - 1866500 0.003650099 0.0018449548 0.0036129715 - 1866600 0.0042987034 0.0019275286 0.0040097131 - 1866700 0.0063187754 0.0018626213 0.0049232781 - 1866800 0.0059444537 0.001899177 0.0047785217 - 1866900 0.0048816174 0.0020132104 0.0043777439 - 1867000 0.0048534971 0.0024194226 0.0047703352 - 1867100 0.0046411602 0.0025958529 0.0048439148 - 1867200 0.004156328 0.0026153052 0.0046285265 - 1867300 0.0052872315 0.0024309914 0.0049919941 - 1867400 0.0052936095 0.0023919032 0.0049559953 - 1867500 0.0049567603 0.0022817323 0.004682663 - 1867600 0.0058280503 0.0024456069 0.0052685688 - 1867700 0.006074449 0.0027144707 0.0056567819 - 1867800 0.0056046855 0.0023292324 0.005044002 - 1867900 0.0043941624 0.0022398044 0.0043682268 - 1868000 0.0069449064 0.0025323319 0.005896271 - 1868100 0.005056309 0.0024367184 0.0048858681 - 1868200 0.004432514 0.0026029173 0.0047499162 - 1868300 0.0055879371 0.0025649645 0.0052716215 - 1868400 0.0064165955 0.002555515 0.0056635535 - 1868500 0.004142929 0.0027433709 0.0047501022 - 1868600 0.0048072647 0.0024361862 0.0047647051 - 1868700 0.0065910979 0.0021200302 0.0053125933 - 1868800 0.0061238979 0.0020461865 0.0050124496 - 1868900 0.0069905102 0.0022254157 0.0056114441 - 1869000 0.0055229613 0.0024310162 0.0051062005 - 1869100 0.0045413492 0.0024716192 0.0046713352 - 1869200 0.0051515995 0.0022691991 0.0047645051 - 1869300 0.0067469758 0.0021033381 0.0053714045 - 1869400 0.0055828077 0.0021583275 0.0048624999 - 1869500 0.0052139482 0.0026243159 0.0051498221 - 1869600 0.005079318 0.0028130262 0.0052733209 - 1869700 0.0060588575 0.0027016982 0.0056364573 - 1869800 0.0050291685 0.0030189164 0.0054549199 - 1869900 0.0067311863 0.0031556171 0.0064160355 - 1870000 0.0045970388 0.003055826 0.0052825167 - 1870100 0.0047071911 0.0031183197 0.0053983654 - 1870200 0.0036611966 0.0027653448 0.004538737 - 1870300 0.0050281081 0.0030187757 0.0054542656 - 1870400 0.0040613395 0.0031679808 0.0051351921 - 1870500 0.0052899385 0.0030097856 0.0055720996 - 1870600 0.0047931903 0.0029567843 0.0052784859 - 1870700 0.0064497639 0.0025379991 0.0056621035 - 1870800 0.0048549254 0.0025874268 0.0049390313 - 1870900 0.0053086069 0.0028929171 0.0054642735 - 1871000 0.0045271697 0.0031103883 0.0053032361 - 1871100 0.0054352786 0.0028497163 0.0054824294 - 1871200 0.0042923301 0.0021121871 0.0041912846 - 1871300 0.0042111552 0.0018624088 0.0039021871 - 1871400 0.0068658141 0.0016359421 0.0049615708 - 1871500 0.0048585128 0.0018529719 0.004206314 - 1871600 0.0044574613 0.0020429153 0.0042019982 - 1871700 0.0045095086 0.0018013234 0.0039856167 - 1871800 0.0047515942 0.0021772487 0.0044788021 - 1871900 0.0055844807 0.0020893481 0.004794331 - 1872000 0.0060568989 0.0020368694 0.0049706798 - 1872100 0.0055906022 0.002696589 0.0054045369 - 1872200 0.0046751733 0.0028447642 0.0051093013 - 1872300 0.0043525343 0.0025376687 0.0046459275 - 1872400 0.0038406768 0.0029443449 0.0048046727 - 1872500 0.0059225974 0.0027310478 0.0055998059 - 1872600 0.0045877437 0.0026833277 0.0049055161 - 1872700 0.0044862427 0.0025867928 0.0047598166 - 1872800 0.005887727 0.0022488809 0.0051007486 - 1872900 0.0045856965 0.0020359606 0.0042571574 - 1873000 0.0053409713 0.0020423972 0.0046294302 - 1873100 0.0044648612 0.0019171423 0.0040798095 - 1873200 0.0061932578 0.0019011504 0.0049010096 - 1873300 0.0059709229 0.0020330527 0.0049252185 - 1873400 0.0049753052 0.0024054374 0.0048153508 - 1873500 0.0065531329 0.0022538175 0.0054279912 - 1873600 0.0055336205 0.0021109923 0.0047913398 - 1873700 0.0052900665 0.0019523872 0.0045147632 - 1873800 0.0050121524 0.001625724 0.0040534853 - 1873900 0.0060611814 0.0013497653 0.00428565 - 1874000 0.004693776 0.0017957223 0.00406927 - 1874100 0.0044753601 0.0020713135 0.004239066 - 1874200 0.0044185325 0.0022862139 0.0044264405 - 1874300 0.0044689851 0.0022301978 0.0043948624 - 1874400 0.0056277661 0.0020457469 0.0047716961 - 1874500 0.0038729654 0.0024082427 0.0042842103 - 1874600 0.0063064562 0.0021835877 0.0052382775 - 1874700 0.0053750015 0.0021432258 0.0047467422 - 1874800 0.0053107539 0.0021563769 0.0047287733 - 1874900 0.0042741216 0.0021196995 0.0041899771 - 1875000 0.0052216247 0.0020633095 0.004592534 - 1875100 0.004906023 0.0027889352 0.0051652901 - 1875200 0.0046724769 0.0031257967 0.0053890277 - 1875300 0.0056826704 0.0030964995 0.005849043 - 1875400 0.004470194 0.0028824018 0.005047652 - 1875500 0.0047423283 0.0024926131 0.0047896784 - 1875600 0.0053438407 0.0023127729 0.0049011957 - 1875700 0.0057637072 0.0021727222 0.0049645179 - 1875800 0.0052734644 0.0020354004 0.0045897348 - 1875900 0.0050565631 0.0020882883 0.0045375611 - 1876000 0.0060488733 0.002035195 0.004965118 - 1876100 0.0055139018 0.0021686337 0.0048394299 - 1876200 0.004570059 0.0024993213 0.0047129436 - 1876300 0.0058475776 0.0022301694 0.0050625897 - 1876400 0.0064599251 0.0024174958 0.005546522 - 1876500 0.0049396332 0.0030327439 0.0054253788 - 1876600 0.0042942825 0.0030565293 0.0051365724 - 1876700 0.0045705533 0.0027379219 0.0049517836 - 1876800 0.004436836 0.0025737108 0.0047228033 - 1876900 0.0048290024 0.0022834716 0.0046225197 - 1877000 0.0051623169 0.002367374 0.0048678713 - 1877100 0.0046748584 0.0022684717 0.0045328563 - 1877200 0.004924722 0.0023522467 0.004737659 - 1877300 0.0046808191 0.0021471774 0.0044144491 - 1877400 0.0045870143 0.0022036652 0.0044255002 - 1877500 0.0048381275 0.0020723379 0.0044158059 - 1877600 0.004686569 0.0023049108 0.0045749677 - 1877700 0.0044435537 0.0025403352 0.0046926816 - 1877800 0.0057242566 0.0025941657 0.0053668525 - 1877900 0.0057094593 0.0025299847 0.0052955041 - 1878000 0.0044295296 0.0027175423 0.0048630957 - 1878100 0.0042316919 0.0028650329 0.0049147586 - 1878200 0.004049512 0.0026551395 0.0046166219 - 1878300 0.0064694431 0.0020433006 0.0051769371 - 1878400 0.0045437807 0.0021770696 0.0043779634 - 1878500 0.0041939368 0.002062141 0.0040935792 - 1878600 0.0037552034 0.0021038975 0.0039228242 - 1878700 0.0041062507 0.0022725421 0.0042615073 - 1878800 0.0051656757 0.0021556282 0.0046577524 - 1878900 0.0054467183 0.0026842335 0.0053224876 - 1879000 0.0060647037 0.002687455 0.0056250458 - 1879100 0.0050362692 0.0027429099 0.0051823528 - 1879200 0.0056102488 0.0019567012 0.0046741654 - 1879300 0.005968766 0.0020862475 0.0049773685 - 1879400 0.005253147 0.0025034669 0.00504796 - 1879500 0.0044225597 0.0029418483 0.0050840256 - 1879600 0.0038666085 0.0027460003 0.0046188888 - 1879700 0.0055457831 0.0020278433 0.004714082 - 1879800 0.005425437 0.0016722291 0.0043001751 - 1879900 0.0043395283 0.0020045469 0.0041065059 - 1880000 0.004225942 0.0019707668 0.0040177074 - 1880100 0.0057243625 0.0019220965 0.0046948346 - 1880200 0.0036094725 0.0021136899 0.0038620281 - 1880300 0.0039130526 0.001948635 0.0038440198 - 1880400 0.0032984745 0.0018797475 0.003477446 - 1880500 0.0056064734 0.0016820166 0.0043976522 - 1880600 0.0043996918 0.0018031562 0.0039342569 - 1880700 0.0043243697 0.0019541601 0.0040487767 - 1880800 0.0053867287 0.0022278545 0.0048370512 - 1880900 0.0051391641 0.0023065071 0.0047957898 - 1881000 0.0043396424 0.0027133315 0.0048153458 - 1881100 0.004766737 0.0023956075 0.0047044957 - 1881200 0.0066194818 0.0020329881 0.0052392996 - 1881300 0.005243104 0.0025338848 0.0050735132 - 1881400 0.0051366542 0.0027328373 0.0052209041 - 1881500 0.0051669881 0.0023630633 0.0048658232 - 1881600 0.005096421 0.0023264615 0.0047950404 - 1881700 0.0071270461 0.0021041753 0.0055563383 - 1881800 0.0046996955 0.0019101482 0.0041865632 - 1881900 0.0049825042 0.0015558939 0.0039692944 - 1882000 0.0056466721 0.001730657 0.0044657638 - 1882100 0.0049183081 0.0018567548 0.0042390603 - 1882200 0.0060133731 0.0020411105 0.0049538381 - 1882300 0.004798766 0.0022266189 0.0045510212 - 1882400 0.0057266873 0.0025366805 0.0053105447 - 1882500 0.0048787865 0.0024987058 0.004861868 - 1882600 0.0043162674 0.0024539069 0.0045445989 - 1882700 0.0037366517 0.0024361645 0.0042461051 - 1882800 0.0042667189 0.0023645868 0.0044312787 - 1882900 0.0046675836 0.0024027486 0.0046636094 - 1883000 0.0038833615 0.0020782918 0.003959295 - 1883100 0.0057658529 0.0019598183 0.0047526533 - 1883200 0.0048107271 0.0017551895 0.0040853854 - 1883300 0.0059966289 0.0016036729 0.00450829 - 1883400 0.0043032267 0.0017464643 0.0038308398 - 1883500 0.0037493347 0.0021214954 0.0039375793 - 1883600 0.004893749 0.0026638301 0.0050342398 - 1883700 0.005891152 0.0026520641 0.0055055908 - 1883800 0.0046283631 0.002266687 0.0045085504 - 1883900 0.0059167218 0.001494648 0.0043605601 - 1884000 0.0035835048 0.0016786759 0.003414436 - 1884100 0.0059443648 0.0016494703 0.004528772 - 1884200 0.0044389143 0.0016242102 0.0037743093 - 1884300 0.0062949255 0.0018161947 0.0048652992 - 1884400 0.0059831664 0.0019572489 0.0048553451 - 1884500 0.0036490217 0.002180089 0.0039475839 - 1884600 0.004712564 0.001869065 0.0041517132 - 1884700 0.0047561217 0.0018954904 0.0041992368 - 1884800 0.0035003084 0.0022582623 0.0039537242 - 1884900 0.0051968001 0.0020213319 0.0045385319 - 1885000 0.0035538557 0.0019405814 0.0036619802 - 1885100 0.00415842 0.00172944 0.0037436747 - 1885200 0.0037322178 0.0020064004 0.0038141934 - 1885300 0.0038571693 0.0021591138 0.0040274302 - 1885400 0.0064345186 0.0023875949 0.0055043148 - 1885500 0.0047309363 0.0026069641 0.0048985113 - 1885600 0.0053883911 0.0020533344 0.0046633364 - 1885700 0.0050654394 0.0015769628 0.004030535 - 1885800 0.0050620112 0.0019593545 0.0044112662 - 1885900 0.0047561122 0.0025347608 0.0048385026 - 1886000 0.0057944571 0.0025532637 0.0053599539 - 1886100 0.0054139168 0.0023700446 0.0049924105 - 1886200 0.0055680812 0.0020550159 0.0047520552 - 1886300 0.0051287 0.0017762777 0.0042604917 - 1886400 0.0044858284 0.0016214446 0.0037942677 - 1886500 0.0041177787 0.0018191285 0.0038136775 - 1886600 0.0057941545 0.0019075638 0.0047141073 - 1886700 0.0042458306 0.0020094225 0.0040659966 - 1886800 0.0053356242 0.0020449974 0.0046294404 - 1886900 0.0047097149 0.0018746642 0.0041559323 - 1887000 0.0050328253 0.0019122534 0.0043500281 - 1887100 0.004736966 0.0020309513 0.0043254192 - 1887200 0.0037147308 0.002043711 0.0038430337 - 1887300 0.0041547725 0.0019126882 0.0039251561 - 1887400 0.0061259204 0.0021421505 0.0051093932 - 1887500 0.0050519878 0.002449652 0.0048967086 - 1887600 0.0075004437 0.0022627548 0.0058957822 - 1887700 0.0056631262 0.0024205634 0.0051636402 - 1887800 0.0072085632 0.002930725 0.0064223727 - 1887900 0.0057277934 0.0029094849 0.0056838848 - 1888000 0.0057732894 0.0024719786 0.0052684156 - 1888100 0.0046991674 0.0022290291 0.0045051883 - 1888200 0.0064132207 0.0017176486 0.0048240524 - 1888300 0.0044625269 0.0022635028 0.0044250393 - 1888400 0.0058971131 0.0026132683 0.0054696825 - 1888500 0.0051838683 0.0025107855 0.0050217217 - 1888600 0.0053563734 0.002550919 0.0051454124 - 1888700 0.0058935851 0.0019922818 0.0048469871 - 1888800 0.0048118521 0.001622489 0.0039532299 - 1888900 0.0056006089 0.0016145775 0.0043273725 - 1889000 0.0058013441 0.001785768 0.004595794 - 1889100 0.0048479461 0.0020918837 0.0044401076 - 1889200 0.0051297022 0.0022654277 0.0047501272 - 1889300 0.0062138118 0.0023929642 0.0054027793 - 1889400 0.0064357724 0.0026961778 0.0058135051 - 1889500 0.0062576921 0.002820378 0.0058514476 - 1889600 0.0065742685 0.0021157389 0.0053001503 - 1889700 0.005202732 0.0021565793 0.0046766526 - 1889800 0.0049913348 0.0028000366 0.0052177144 - 1889900 0.0030877676 0.0027141525 0.0042097899 - 1890000 0.0042740729 0.0024462914 0.0045165454 - 1890100 0.005110471 0.0022088659 0.0046842502 - 1890200 0.0039664404 0.0026135259 0.0045347705 - 1890300 0.0035451491 0.0027515789 0.0044687604 - 1890400 0.0067745053 0.00295295 0.006234351 - 1890500 0.0041054 0.0024912224 0.0044797755 - 1890600 0.0039815785 0.0027319522 0.0046605293 - 1890700 0.0048129594 0.0024968647 0.0048281419 - 1890800 0.005262691 0.0021738206 0.0047229365 - 1890900 0.0058071777 0.0024166675 0.0052295192 - 1891000 0.0051292316 0.0019689146 0.0044533861 - 1891100 0.0053651492 0.001860854 0.0044595981 - 1891200 0.0041660255 0.0023531445 0.0043710631 - 1891300 0.004036933 0.0023457048 0.0043010942 - 1891400 0.0049379281 0.0022642941 0.004656103 - 1891500 0.0045128368 0.0022989655 0.0044848708 - 1891600 0.0051772863 0.0022322929 0.0047400409 - 1891700 0.0043193472 0.0024012922 0.0044934759 - 1891800 0.0047652223 0.002188129 0.0044962835 - 1891900 0.0050397 0.0022845352 0.0047256399 - 1892000 0.0050907931 0.0022445365 0.0047103894 - 1892100 0.0060891686 0.0024896101 0.0054390512 - 1892200 0.0079158549 0.0032148307 0.0070490729 - 1892300 0.0064047822 0.0030261922 0.0061285085 - 1892400 0.0067999499 0.0029825871 0.0062763129 - 1892500 0.0041460233 0.0032032999 0.00521153 - 1892600 0.0054373113 0.0030044884 0.0056381861 - 1892700 0.0052685367 0.0032238496 0.005775797 - 1892800 0.0064160464 0.002836047 0.0059438195 - 1892900 0.0054343766 0.0021463871 0.0047786632 - 1893000 0.0070427434 0.0019279174 0.0053392462 - 1893100 0.0054801733 0.0022440094 0.0048984684 - 1893200 0.0039281664 0.0025187713 0.0044214769 - 1893300 0.0062051998 0.0026550503 0.0056606939 - 1893400 0.0047739104 0.0023181079 0.0046304707 - 1893500 0.0072420339 0.0017187578 0.0052266179 - 1893600 0.0082206867 0.0021248616 0.0061067567 - 1893700 0.0058290721 0.0028460157 0.0056694725 - 1893800 0.00694929 0.0029483955 0.0063144578 - 1893900 0.0054628611 0.0033832866 0.00602936 - 1894000 0.0058891806 0.0031238799 0.0059764518 - 1894100 0.0051045764 0.0025631587 0.0050356879 - 1894200 0.0050188179 0.0021235509 0.0045545408 - 1894300 0.0052704377 0.0021930349 0.0047459031 - 1894400 0.0063309777 0.002320752 0.0053873194 - 1894500 0.0049476224 0.0023796468 0.0047761514 - 1894600 0.0054062481 0.0022086936 0.004827345 - 1894700 0.0044799203 0.0021243265 0.0042942879 - 1894800 0.0044470433 0.0024238095 0.0045778461 - 1894900 0.0041946326 0.0024974062 0.0045291814 - 1895000 0.0049135096 0.0023195701 0.0046995513 - 1895100 0.0053877558 0.0020628335 0.0046725277 - 1895200 0.0050705957 0.0020799925 0.0045360623 - 1895300 0.0046143065 0.0020940926 0.0043291473 - 1895400 0.0042926659 0.0021689117 0.0042481718 - 1895500 0.0040415096 0.0025071778 0.004464784 - 1895600 0.0065452866 0.0029770304 0.0061474036 - 1895700 0.0052224523 0.0028473236 0.0053769489 - 1895800 0.0056170474 0.0023450926 0.0050658499 - 1895900 0.0061364889 0.0020362258 0.0050085876 - 1896000 0.005237734 0.0019877866 0.0045248141 - 1896100 0.0055063499 0.0022472228 0.004914361 - 1896200 0.0059919253 0.0026749681 0.005577307 - 1896300 0.0051001516 0.0025105129 0.0049808989 - 1896400 0.0039890064 0.0029418361 0.0048740111 - 1896500 0.0055217938 0.0025357811 0.0052104 - 1896600 0.0053801661 0.0020190535 0.0046250715 - 1896700 0.0052247271 0.002124987 0.0046557142 - 1896800 0.0052920334 0.0022518001 0.0048151288 - 1896900 0.0059275587 0.0021093711 0.0049805324 - 1897000 0.0045789533 0.0022671568 0.0044850873 - 1897100 0.004523168 0.0023257827 0.0045166922 - 1897200 0.0051227615 0.0020122032 0.0044935408 - 1897300 0.0074432491 0.0021663203 0.005771644 - 1897400 0.0056516197 0.0021584605 0.0048959637 - 1897500 0.0046948132 0.002092301 0.0043663511 - 1897600 0.0047135267 0.0023134812 0.0045965957 - 1897700 0.0048417788 0.0021521145 0.0044973511 - 1897800 0.0052557052 0.0021461667 0.0046918989 - 1897900 0.004456247 0.0019939438 0.0041524385 - 1898000 0.0052062046 0.0018684049 0.0043901603 - 1898100 0.00506864 0.0023676376 0.0048227601 - 1898200 0.0054630513 0.0028217756 0.0054679411 - 1898300 0.0044089673 0.0031387307 0.0052743242 - 1898400 0.0058542196 0.0028963912 0.0057320288 - 1898500 0.0064648477 0.0029520987 0.0060835093 - 1898600 0.0045229276 0.0028171385 0.0050079316 - 1898700 0.0058353584 0.0023529681 0.0051794698 - 1898800 0.0061627989 0.0022132747 0.0051983805 - 1898900 0.0056884 0.0024460427 0.0052013614 - 1899000 0.0042278696 0.0031554496 0.005203324 - 1899100 0.0041105582 0.0034059877 0.0053970394 - 1899200 0.0058299568 0.0026899895 0.0055138748 - 1899300 0.0057912593 0.0021421198 0.004947261 - 1899400 0.0064350801 0.0019114325 0.0050284245 - 1899500 0.0037752498 0.0021702309 0.0039988675 - 1899600 0.0054483252 0.0022162483 0.0048552809 - 1899700 0.0065586686 0.0023204581 0.0054973132 - 1899800 0.0044603494 0.0023310634 0.0044915452 - 1899900 0.0049552088 0.0021379324 0.0045381116 - 1900000 0.0044157576 0.0021970375 0.0043359201 - 1900100 0.0044499778 0.0030293039 0.0051847619 - 1900200 0.0046172578 0.0034949402 0.0057314245 - 1900300 0.0043183051 0.0029882743 0.0050799533 - 1900400 0.0045589279 0.0026579558 0.0048661865 - 1900500 0.0042219557 0.0027639208 0.0048089305 - 1900600 0.0044506156 0.0030862125 0.0052419795 - 1900700 0.0051819713 0.0028736115 0.0053836289 - 1900800 0.0049814737 0.0026012689 0.0050141703 - 1900900 0.0051151638 0.0023224137 0.0048000711 - 1901000 0.0047156988 0.0026773339 0.0049615005 - 1901100 0.0053898683 0.0028589518 0.0054696692 - 1901200 0.0045183381 0.0028678935 0.0050564635 - 1901300 0.0050721917 0.0025072732 0.004964116 - 1901400 0.0059860095 0.0025517873 0.0054512606 - 1901500 0.0055446918 0.0025221631 0.0052078732 - 1901600 0.0067104599 0.002636844 0.005887223 - 1901700 0.0050306039 0.0026600844 0.0050967832 - 1901800 0.0071686684 0.0023243034 0.0057966272 - 1901900 0.0047160254 0.0024341645 0.0047184893 - 1902000 0.0053973467 0.0024217008 0.0050360406 - 1902100 0.0042801114 0.0025567747 0.0046299537 - 1902200 0.0035766503 0.0028051445 0.0045375845 - 1902300 0.003944982 0.0026569819 0.0045678326 - 1902400 0.0056156439 0.0024890799 0.0052091575 - 1902500 0.0058262691 0.0024668359 0.005288935 - 1902600 0.0048542534 0.0022230071 0.0045742861 - 1902700 0.0067323482 0.002505068 0.0057660492 - 1902800 0.0057757627 0.0029676908 0.0057653259 - 1902900 0.0036673363 0.0028533665 0.0046297325 - 1903000 0.0050533007 0.0025058533 0.0049535459 - 1903100 0.0037125912 0.0028070019 0.0046052883 - 1903200 0.004219234 0.0029541969 0.0049978883 - 1903300 0.0061373276 0.0028598322 0.0058326003 - 1903400 0.005308467 0.0028505521 0.0054218408 - 1903500 0.0043080596 0.0026922876 0.004779004 - 1903600 0.0043650738 0.0026671652 0.0047814978 - 1903700 0.0054822421 0.0025797917 0.0052352527 - 1903800 0.004094869 0.0029321994 0.0049156516 - 1903900 0.005156241 0.0025886394 0.0050861936 - 1904000 0.0050353885 0.0022425528 0.0046815691 - 1904100 0.006007924 0.0020703635 0.0049804517 - 1904200 0.0054920162 0.0020211405 0.0046813359 - 1904300 0.0052214824 0.0017135037 0.0042426592 - 1904400 0.0051775555 0.0017835043 0.0042913828 - 1904500 0.0039783165 0.0017674407 0.0036944378 - 1904600 0.0058290316 0.0022004832 0.0050239204 - 1904700 0.0051782347 0.0021110555 0.004619263 - 1904800 0.0053741112 0.0019990871 0.0046021722 - 1904900 0.0054037292 0.0024467821 0.0050642134 - 1905000 0.0069123488 0.0021532719 0.0055014408 - 1905100 0.0076241504 0.0022645707 0.0059575186 - 1905200 0.005900675 0.0026271713 0.0054853108 - 1905300 0.0054894899 0.0028932688 0.0055522405 - 1905400 0.004205048 0.0026894259 0.004726246 - 1905500 0.0051121457 0.0022659506 0.0047421461 - 1905600 0.0042252621 0.0022880687 0.00433468 - 1905700 0.0025846318 0.0024731936 0.0037251246 - 1905800 0.005752638 0.0025050403 0.0052914743 - 1905900 0.0045671949 0.0022495027 0.0044617378 - 1906000 0.0043458025 0.0023693844 0.0044743825 - 1906100 0.0055430264 0.0022870876 0.004971991 - 1906200 0.005386096 0.0022471603 0.0048560505 - 1906300 0.0048368887 0.0020725433 0.0044154112 - 1906400 0.0044126732 0.0017830553 0.0039204439 - 1906500 0.0044789236 0.0017917176 0.0039611962 - 1906600 0.0051084733 0.0019915009 0.0044659176 - 1906700 0.005525633 0.0024129534 0.0050894319 - 1906800 0.0044012013 0.0025201245 0.0046519564 - 1906900 0.0064116897 0.0023521046 0.0054577668 - 1907000 0.0034993029 0.0024277555 0.0041227303 - 1907100 0.0057530052 0.0022021025 0.0049887144 - 1907200 0.0054121494 0.00208219 0.0047036998 - 1907300 0.0060963291 0.002592462 0.0055453714 - 1907400 0.0071445262 0.0028615669 0.0063221967 - 1907500 0.0070749302 0.0030425819 0.0064695012 - 1907600 0.0052720673 0.0031247156 0.0056783731 - 1907700 0.0053190003 0.0035302232 0.0061066139 - 1907800 0.0075270459 0.0030682767 0.0067141896 - 1907900 0.0047216579 0.0029713816 0.0052584346 - 1908000 0.0060847332 0.0028003231 0.0057476157 - 1908100 0.0054935621 0.0024131797 0.0050741239 - 1908200 0.0051972976 0.0028691383 0.0053865793 - 1908300 0.0051075989 0.0027257068 0.0051997 - 1908400 0.0054873066 0.0025768759 0.0052347901 - 1908500 0.0040385715 0.0030030921 0.0049592752 - 1908600 0.0054125124 0.0026874774 0.0053091631 - 1908700 0.0048059255 0.0029330554 0.0052609255 - 1908800 0.0044505596 0.0031678492 0.0053235889 - 1908900 0.0061665884 0.0034134992 0.0064004405 - 1909000 0.0057178809 0.0033760133 0.0061456119 - 1909100 0.0067013543 0.0030160461 0.0062620146 - 1909200 0.0049358416 0.0032534341 0.0056442324 - 1909300 0.0067368385 0.0029227414 0.0061858976 - 1909400 0.0061563772 0.0026434609 0.0056254561 - 1909500 0.0054830931 0.0030855333 0.0057414065 - 1909600 0.0051232523 0.0028712916 0.0053528669 - 1909700 0.003256205 0.0028469541 0.0044241785 - 1909800 0.0062432536 0.0024398294 0.0054639053 - 1909900 0.0045257739 0.002822636 0.0050148078 - 1910000 0.0052465888 0.003173802 0.0057151185 - 1910100 0.0049168462 0.0028281332 0.0052097306 - 1910200 0.0039783065 0.002719723 0.0046467152 - 1910300 0.0054736196 0.0027648393 0.0054161239 - 1910400 0.0048655487 0.0027310778 0.0050878279 - 1910500 0.0045410643 0.002457148 0.004656726 - 1910600 0.0036082287 0.002692882 0.0044406178 - 1910700 0.0052057702 0.002308879 0.0048304239 - 1910800 0.0048898251 0.0023827898 0.0047512989 - 1910900 0.0082490912 0.0027233078 0.0067189613 - 1911000 0.0049468838 0.0034233596 0.0058195064 - 1911100 0.0038155142 0.0036571434 0.0055052831 - 1911200 0.0042322579 0.0032913353 0.0053413352 - 1911300 0.005201257 0.0030308084 0.0055501673 - 1911400 0.0042898312 0.0027332151 0.0048111021 - 1911500 0.0047584419 0.0024322732 0.0047371434 - 1911600 0.0056563264 0.0022741848 0.0050139679 - 1911700 0.0054693774 0.0027759609 0.0054251906 - 1911800 0.0056974736 0.0032328343 0.005992548 - 1911900 0.0053440882 0.0029291293 0.0055176721 - 1912000 0.0055651045 0.0027668657 0.0054624632 - 1912100 0.0044768719 0.0030278438 0.0051963286 - 1912200 0.0062677262 0.0031800428 0.0062159727 - 1912300 0.0055702533 0.0025324083 0.0052304997 - 1912400 0.0059685543 0.002480401 0.0053714195 - 1912500 0.0050727539 0.0030556531 0.0055127683 - 1912600 0.0048160861 0.0027360535 0.0050688452 - 1912700 0.0052744402 0.002875212 0.0054300189 - 1912800 0.0032983382 0.0028363389 0.0044339714 - 1912900 0.0043039641 0.0026281396 0.0047128722 - 1913000 0.0051967018 0.0024702105 0.0049873629 - 1913100 0.0048134159 0.0022210099 0.0045525082 - 1913200 0.0053670141 0.0023226606 0.0049223081 - 1913300 0.0050038767 0.0024017881 0.0048255409 - 1913400 0.0040950884 0.002496837 0.0044803955 - 1913500 0.0067373058 0.0025940067 0.0058573892 - 1913600 0.0050536505 0.0029455892 0.0053934512 - 1913700 0.003934029 0.0025404078 0.0044459531 - 1913800 0.0055822655 0.002218937 0.0049228468 - 1913900 0.0041393723 0.0021496548 0.0041546632 - 1914000 0.0036948737 0.0020724131 0.0038621176 - 1914100 0.0041102291 0.0017259222 0.0037168145 - 1914200 0.0043779282 0.0020009298 0.0041214888 - 1914300 0.007791979 0.0022573249 0.0060315647 - 1914400 0.0059117868 0.0022205321 0.0050840538 - 1914500 0.00490725 0.0022537173 0.0046306665 - 1914600 0.0054329364 0.0021327229 0.0047643015 - 1914700 0.0067238159 0.0023173729 0.0055742213 - 1914800 0.0046745949 0.0033076016 0.0055718585 - 1914900 0.0044319656 0.0029214763 0.0050682097 - 1915000 0.0059878528 0.0022316467 0.0051320129 - 1915100 0.0043159482 0.0021873227 0.0042778601 - 1915200 0.0056205504 0.0023349709 0.005057425 - 1915300 0.0056938265 0.0025409139 0.0052988611 - 1915400 0.0066000622 0.0023835706 0.0055804757 - 1915500 0.0060227437 0.0022747054 0.0051919718 - 1915600 0.0045439944 0.00269988 0.0049008772 - 1915700 0.0045245401 0.0029718634 0.0051634376 - 1915800 0.0064384662 0.0028693615 0.0059879935 - 1915900 0.0066151161 0.0025842872 0.0057884841 - 1916000 0.0039257874 0.0027155833 0.0046171366 - 1916100 0.0040778975 0.0027185103 0.0046937419 - 1916200 0.0042569176 0.0023513276 0.004413272 - 1916300 0.006718874 0.0023505594 0.005605014 - 1916400 0.0044744217 0.0023747237 0.0045420217 - 1916500 0.0062218423 0.0025007727 0.0055144775 - 1916600 0.006188139 0.002418923 0.0054163028 - 1916700 0.0052900352 0.0023569451 0.0049193059 - 1916800 0.0055781189 0.0020612337 0.0047631351 - 1916900 0.0043708865 0.0018825018 0.00399965 - 1917000 0.0040204762 0.0022125133 0.0041599315 - 1917100 0.0061884058 0.0022812415 0.0052787505 - 1917200 0.0052643538 0.0021118118 0.0046617332 - 1917300 0.0035657094 0.002217183 0.0039443235 - 1917400 0.0049159912 0.0024341811 0.0048153643 - 1917500 0.004688752 0.0023716705 0.0046427848 - 1917600 0.0047049216 0.0024112562 0.0046902026 - 1917700 0.0046121369 0.0024304084 0.0046644122 - 1917800 0.0060470462 0.0020830031 0.0050120411 - 1917900 0.0039175285 0.0022910248 0.0041885777 - 1918000 0.0047871197 0.0026970634 0.0050158245 - 1918100 0.0052136192 0.0026433609 0.0051687077 - 1918200 0.0052162228 0.0024474637 0.0049740716 - 1918300 0.0061173607 0.0022322381 0.0051953347 - 1918400 0.0052406541 0.0024429967 0.0049814386 - 1918500 0.0053110601 0.0027093786 0.0052819233 - 1918600 0.0062442279 0.0022157439 0.0052402918 - 1918700 0.0044577563 0.0024217587 0.0045809845 - 1918800 0.0054619061 0.0025245621 0.0051701728 - 1918900 0.0046263499 0.0022590102 0.0044998985 - 1919000 0.0053537395 0.0019375739 0.0045307915 - 1919100 0.0047192058 0.0020624555 0.0043483208 - 1919200 0.0070788893 0.0028785267 0.0063073637 - 1919300 0.0053625148 0.0037975138 0.0063949819 - 1919400 0.0054332742 0.0029643812 0.0055961234 - 1919500 0.0057507679 0.0023721758 0.005157704 - 1919600 0.0047257295 0.0023426492 0.0046316745 - 1919700 0.005480759 0.002401126 0.0050558686 - 1919800 0.0050842429 0.0026752546 0.0051379348 - 1919900 0.0055461631 0.0031684439 0.0058548667 - 1920000 0.0049376008 0.0031833597 0.00557501 - 1920100 0.0062925934 0.0029285174 0.0059764924 - 1920200 0.0057106145 0.002662466 0.0054285449 - 1920300 0.0043998407 0.0023144393 0.0044456122 - 1920400 0.0063500807 0.0022383572 0.0053141776 - 1920500 0.0047942846 0.0022361034 0.004558335 - 1920600 0.003898354 0.0025090869 0.0043973521 - 1920700 0.0069446805 0.0023837169 0.0057475465 - 1920800 0.0044844694 0.0030706552 0.00524282 - 1920900 0.005322221 0.0035375331 0.006115484 - 1921000 0.0051442372 0.0032258597 0.0057175996 - 1921100 0.0046675569 0.0023099084 0.0045707563 - 1921200 0.0054589286 0.0017992989 0.0044434675 - 1921300 0.0041581743 0.0020110185 0.0040251342 - 1921400 0.0043149742 0.0022998931 0.0043899587 - 1921500 0.0047922225 0.002400351 0.0047215838 - 1921600 0.0044423838 0.0025759465 0.0047277261 - 1921700 0.0060545561 0.0022764436 0.0052091192 - 1921800 0.0051867185 0.0020567558 0.0045690726 - 1921900 0.0055428291 0.0023524339 0.0050372417 - 1922000 0.0060637865 0.0025768155 0.0055139621 - 1922100 0.0047390338 0.0023542306 0.0046497001 - 1922200 0.0054125597 0.0022338096 0.0048555183 - 1922300 0.005195517 0.0024335486 0.0049501271 - 1922400 0.0063887887 0.002200314 0.0052948835 - 1922500 0.0055267881 0.0022615009 0.0049385389 - 1922600 0.0063107417 0.0026585435 0.005715309 - 1922700 0.00424083 0.0029526922 0.0050068442 - 1922800 0.0058119182 0.0029435175 0.0057586654 - 1922900 0.0051658958 0.0032262563 0.0057284871 - 1923000 0.0055940046 0.0027754636 0.0054850595 - 1923100 0.0049663112 0.002472526 0.004878083 - 1923200 0.0049507815 0.0021844402 0.004582475 - 1923300 0.0044196971 0.0027166532 0.004857444 - 1923400 0.0066105368 0.0027026314 0.0059046102 - 1923500 0.0055044821 0.0023684218 0.0050346553 - 1923600 0.0039829173 0.0022290693 0.0041582949 - 1923700 0.0045861163 0.0019066507 0.0041280508 - 1923800 0.0046574121 0.002071156 0.00432709 - 1923900 0.0040477889 0.0021541397 0.0041147875 - 1924000 0.0054036753 0.0021439353 0.0047613406 - 1924100 0.0071500346 0.0021608708 0.0056241688 - 1924200 0.0043277428 0.0022848428 0.0043810933 - 1924300 0.0053279903 0.0021193224 0.0047000677 - 1924400 0.0058003937 0.0017312487 0.0045408144 - 1924500 0.0058941724 0.0025520895 0.0054070792 - 1924600 0.0062047853 0.0026323906 0.0056378335 - 1924700 0.0058069251 0.0024386026 0.0052513319 - 1924800 0.0049101434 0.0019017119 0.0042800626 - 1924900 0.0062303618 0.0018149495 0.004832781 - 1925000 0.0052578719 0.0019979348 0.0045447166 - 1925100 0.0065356108 0.0025987993 0.0057644857 - 1925200 0.0047519656 0.0027726185 0.0050743519 - 1925300 0.0056249775 0.0023857581 0.0051103566 - 1925400 0.0051399377 0.0019422296 0.0044318869 - 1925500 0.0040775631 0.0019514756 0.0039265452 - 1925600 0.0068121115 0.0023935311 0.0056931476 - 1925700 0.0070599188 0.0028311334 0.0062507816 - 1925800 0.0049221751 0.0025322055 0.004916384 - 1925900 0.0068473747 0.002112198 0.0054288951 - 1926000 0.0039491399 0.0027006221 0.0046134867 - 1926100 0.0036658086 0.0029339823 0.0047096083 - 1926200 0.0048595424 0.0028823612 0.005236202 - 1926300 0.004911773 0.0027569753 0.0051361154 - 1926400 0.0058005252 0.0022770253 0.0050866547 - 1926500 0.0056316652 0.0016498642 0.004377702 - 1926600 0.0059127215 0.0018576627 0.0047216372 - 1926700 0.0057193456 0.001828754 0.004599062 - 1926800 0.0054672611 0.0019692935 0.0046174981 - 1926900 0.0043417657 0.0023850994 0.0044881421 - 1927000 0.0051123094 0.001896969 0.0043732438 - 1927100 0.0046658301 0.0017541135 0.0040141249 - 1927200 0.0055838912 0.0019134538 0.0046181511 - 1927300 0.0045171678 0.0023989129 0.0045869161 - 1927400 0.0054940238 0.0024731726 0.0051343404 - 1927500 0.0046186468 0.0026019434 0.0048391004 - 1927600 0.005271105 0.003056019 0.0056092105 - 1927700 0.0054981324 0.002903521 0.0055666789 - 1927800 0.0044405898 0.0028301099 0.0049810206 - 1927900 0.0068754665 0.002532235 0.0058625391 - 1928000 0.0049621688 0.0024836653 0.0048872158 - 1928100 0.0050845918 0.002126817 0.0045896662 - 1928200 0.0038909219 0.0019638419 0.0038485072 - 1928300 0.0071969296 0.0020214702 0.0055074829 - 1928400 0.0061079631 0.0021453643 0.0051039089 - 1928500 0.005419172 0.0025847183 0.0052096297 - 1928600 0.0056683673 0.0030469046 0.00579252 - 1928700 0.0059882858 0.0031083961 0.0060089721 - 1928800 0.005966075 0.0028322979 0.0057221155 - 1928900 0.004453263 0.0028972926 0.0050543419 - 1929000 0.0065694606 0.0030917794 0.0062738619 - 1929100 0.004844455 0.0030667707 0.0054133036 - 1929200 0.0065381854 0.0024199223 0.0055868559 - 1929300 0.0042285107 0.002608236 0.0046564209 - 1929400 0.0053280261 0.0026003693 0.0051811319 - 1929500 0.0043478161 0.0028419888 0.0049479622 - 1929600 0.0052139325 0.0030508041 0.0055763027 - 1929700 0.0042024723 0.0031811759 0.0052167484 - 1929800 0.0054266916 0.0031355912 0.0057641449 - 1929900 0.0054432799 0.0025764194 0.0052130081 - 1930000 0.003588451 0.0026400042 0.0043781602 - 1930100 0.0048446637 0.0032163283 0.0055629623 - 1930200 0.0047537108 0.0029343888 0.0052369675 - 1930300 0.0033596629 0.0025310104 0.0041583472 - 1930400 0.0041483699 0.0025154543 0.004524821 - 1930500 0.0052950419 0.0026427655 0.0052075514 - 1930600 0.0060290994 0.0025087032 0.0054290482 - 1930700 0.0049364212 0.0026817369 0.0050728159 - 1930800 0.0062852919 0.0025327523 0.0055771906 - 1930900 0.0054179263 0.0025883007 0.0052126087 - 1931000 0.0040635729 0.002553903 0.0045221961 - 1931100 0.0041155046 0.0022323782 0.0042258257 - 1931200 0.0042860957 0.0017578194 0.003833897 - 1931300 0.0051256651 0.0017015862 0.0041843303 - 1931400 0.0041220785 0.0018690432 0.0038656749 - 1931500 0.0060627369 0.0019603292 0.0048969674 - 1931600 0.005525398 0.0015740379 0.0042504026 - 1931700 0.0051531545 0.0015823515 0.0040784107 - 1931800 0.0043724027 0.0017684269 0.0038863095 - 1931900 0.0054414741 0.0016877853 0.0043234993 - 1932000 0.0060198707 0.001745908 0.0046617829 - 1932100 0.0032653 0.0025426012 0.0041242309 - 1932200 0.0047635945 0.0023305068 0.0046378729 - 1932300 0.005667073 0.0023206857 0.0050656742 - 1932400 0.0052073973 0.0022794726 0.0048018057 - 1932500 0.0045380352 0.002197239 0.0043953498 - 1932600 0.0056580075 0.0020173864 0.0047579837 - 1932700 0.004544143 0.0017784764 0.0039795456 - 1932800 0.0058126978 0.0019462168 0.0047617423 - 1932900 0.0064032158 0.0024615516 0.0055631093 - 1933000 0.0062727279 0.0020845797 0.0051229323 - 1933100 0.0046411452 0.0023528394 0.0046008941 - 1933200 0.0054364198 0.0021261898 0.0047594556 - 1933300 0.0056747306 0.001966533 0.0047152306 - 1933400 0.0041718552 0.0024456809 0.0044664233 - 1933500 0.0067513602 0.002097642 0.0053678321 - 1933600 0.0038407999 0.0021727892 0.0040331767 - 1933700 0.0042482021 0.0020733723 0.0041310952 - 1933800 0.0043787643 0.0021589949 0.0042799588 - 1933900 0.0053666011 0.0023221663 0.0049216137 - 1934000 0.0047767824 0.0025455383 0.0048592922 - 1934100 0.0044637932 0.002858411 0.0050205609 - 1934200 0.0049563381 0.0028724634 0.0052731896 - 1934300 0.0057809156 0.0024654787 0.0052656097 - 1934400 0.0065162827 0.0027048915 0.0058612159 - 1934500 0.0050220735 0.0032146203 0.0056471871 - 1934600 0.0054945013 0.0030924902 0.0057538893 - 1934700 0.0054276138 0.0025397309 0.0051687313 - 1934800 0.0051920276 0.0021110809 0.0046259693 - 1934900 0.0048468575 0.00193222 0.0042799166 - 1935000 0.0037901133 0.0020382571 0.0038740932 - 1935100 0.0047677902 0.0018402431 0.0041496414 - 1935200 0.0051895949 0.001731499 0.004245209 - 1935300 0.0050808098 0.0021683886 0.0046294058 - 1935400 0.0053721035 0.0019450034 0.004547116 - 1935500 0.0052777084 0.0021857548 0.0047421448 - 1935600 0.0065473156 0.0022291894 0.0054005454 - 1935700 0.0073060273 0.0021164536 0.0056553106 - 1935800 0.0055892017 0.0021257832 0.0048330528 - 1935900 0.0036123295 0.0025679207 0.0043176428 - 1936000 0.0038876584 0.0025239053 0.0044069898 - 1936100 0.0048818371 0.002104575 0.0044692149 - 1936200 0.0066004427 0.0024944978 0.0056915872 - 1936300 0.0060742932 0.002905859 0.0058480947 - 1936400 0.0062607428 0.0029779558 0.0060105031 - 1936500 0.004402305 0.0027632046 0.0048955711 - 1936600 0.0046865566 0.0023749216 0.0046449724 - 1936700 0.0061839653 0.0026214388 0.005616797 - 1936800 0.0052543025 0.0028814411 0.0054264939 - 1936900 0.0042946074 0.0026343311 0.0047145316 - 1937000 0.0044583823 0.0021528921 0.004312421 - 1937100 0.0044869254 0.0022535556 0.0044269101 - 1937200 0.0048355605 0.0020209118 0.0043631364 - 1937300 0.0066638961 0.0022997553 0.00552758 - 1937400 0.0037488705 0.0025006946 0.0043165537 - 1937500 0.0059028123 0.0022247854 0.0050839602 - 1937600 0.0052035104 0.0027894393 0.0053098896 - 1937700 0.005893412 0.0028762809 0.0057309023 - 1937800 0.0051764207 0.0025534618 0.0050607906 - 1937900 0.0055455122 0.0023642792 0.0050503866 - 1938000 0.0042742247 0.0019526762 0.0040230038 - 1938100 0.0053906087 0.001973706 0.0045847821 - 1938200 0.0062094134 0.0023514397 0.0053591244 - 1938300 0.0045042099 0.0027682141 0.0049499408 - 1938400 0.0046701841 0.0026946725 0.0049567929 - 1938500 0.0046924689 0.0024980571 0.0047709717 - 1938600 0.0045040222 0.0028228987 0.0050045344 - 1938700 0.0060670921 0.0032402563 0.0061790041 - 1938800 0.0051638349 0.0033757848 0.0058770173 - 1938900 0.0064059533 0.0034017244 0.006504608 - 1939000 0.0059636596 0.0031688747 0.0060575223 - 1939100 0.006400036 0.0027884007 0.0058884182 - 1939200 0.0043202583 0.0027211141 0.0048137392 - 1939300 0.0056753466 0.0028288735 0.0055778695 - 1939400 0.0060402424 0.0027939633 0.0057197058 - 1939500 0.0045572467 0.0030751509 0.0052825673 - 1939600 0.0074726358 0.0029376592 0.0065572171 - 1939700 0.0059151477 0.0027820104 0.0056471601 - 1939800 0.0055067586 0.0027682873 0.0054356235 - 1939900 0.0065455323 0.0033076992 0.0064781914 - 1940000 0.0053260458 0.0031668298 0.0057466332 - 1940100 0.0060658146 0.0028141583 0.0057522872 - 1940200 0.004861609 0.0030469658 0.0054018076 - 1940300 0.0045965388 0.0029133561 0.0051398045 - 1940400 0.0055746211 0.0023386076 0.0050388147 - 1940500 0.0053054369 0.0026086981 0.0051785191 - 1940600 0.0049469713 0.0026270879 0.0050232772 - 1940700 0.0073131228 0.0026281287 0.0061704225 - 1940800 0.0057340298 0.0034515461 0.0062289668 - 1940900 0.0054200953 0.0037555634 0.006380922 - 1941000 0.0050114566 0.0035145699 0.0059419942 - 1941100 0.0051031051 0.0038370433 0.0063088599 - 1941200 0.0056213299 0.003051018 0.0057738497 - 1941300 0.0042591938 0.002214242 0.004277289 - 1941400 0.0050683016 0.00197035 0.0044253085 - 1941500 0.0055921772 0.0022729302 0.004981641 - 1941600 0.0054532024 0.0026669515 0.0053083464 - 1941700 0.004229918 0.0032548749 0.0053037414 - 1941800 0.0044327563 0.0034906228 0.0056377391 - 1941900 0.0035397855 0.0034378913 0.0051524749 - 1942000 0.0057764583 0.003051769 0.005849741 - 1942100 0.00584852 0.001951808 0.0047846849 - 1942200 0.0061820295 0.002008404 0.0050028245 - 1942300 0.0046054724 0.0020439559 0.0042747316 - 1942400 0.0046783306 0.001721521 0.0039875874 - 1942500 0.0047187825 0.0013562373 0.0036418976 - 1942600 0.004225412 0.0013194538 0.0033661378 - 1942700 0.0047390035 0.001702855 0.0039983099 - 1942800 0.0063852489 0.0020581977 0.0051510527 - 1942900 0.0072990447 0.0024291385 0.0059646133 - 1943000 0.0051055236 0.0027874513 0.0052604393 - 1943100 0.0046435015 0.0023104857 0.0045596817 - 1943200 0.005221346 0.0018046707 0.0043337602 - 1943300 0.0036142612 0.002299325 0.0040499827 - 1943400 0.0048541541 0.0023338744 0.0046851053 - 1943500 0.0049721139 0.0023489872 0.0047573549 - 1943600 0.0030748233 0.0022962563 0.0037856238 - 1943700 0.0060902698 0.0022079142 0.0051578887 - 1943800 0.0042415506 0.0024655797 0.0045200808 - 1943900 0.0072340449 0.0020574313 0.0055614218 - 1944000 0.0048654376 0.0018263065 0.0041830029 - 1944100 0.0058931848 0.0016884755 0.0045429869 - 1944200 0.0058376833 0.0021086764 0.0049363043 - 1944300 0.00670255 0.0027030243 0.005949572 - 1944400 0.0053105365 0.0027619885 0.0053342796 - 1944500 0.0046576407 0.0025227105 0.0047787552 - 1944600 0.0044275627 0.0024910502 0.0046356509 - 1944700 0.0039081971 0.0024563801 0.004349413 - 1944800 0.0067856214 0.0023488247 0.00563561 - 1944900 0.0062679911 0.0022805332 0.0053165913 - 1945000 0.0046928195 0.0025061738 0.0047792582 - 1945100 0.0061664891 0.0026098363 0.0055967294 - 1945200 0.006403695 0.0028400443 0.005941834 - 1945300 0.004229117 0.002875805 0.0049242835 - 1945400 0.0046124379 0.0024872674 0.004721417 - 1945500 0.0048660062 0.002341422 0.0046983937 - 1945600 0.0069100343 0.0018903704 0.0052374183 - 1945700 0.0054406872 0.0018558797 0.0044912126 - 1945800 0.0051933832 0.0022146238 0.0047301688 - 1945900 0.0043490338 0.0022164891 0.0043230524 - 1946000 0.0051359415 0.0023136442 0.0048013658 - 1946100 0.004122937 0.0025921725 0.0045892201 - 1946200 0.006126726 0.0026184607 0.0055860936 - 1946300 0.0039062862 0.0028544052 0.0047465126 - 1946400 0.005340179 0.0021231339 0.0047097831 - 1946500 0.0036686247 0.0019464465 0.0037234366 - 1946600 0.0037921734 0.0021007238 0.0039375578 - 1946700 0.0048521136 0.0023237361 0.0046739786 - 1946800 0.0060773084 0.0023604375 0.0053041338 - 1946900 0.0052423486 0.0026466873 0.0051859499 - 1947000 0.0056478166 0.0025523781 0.0052880393 - 1947100 0.0037777268 0.002504245 0.0043340814 - 1947200 0.0058944753 0.0019920139 0.0048471504 - 1947300 0.0059018557 0.0019559148 0.0048146262 - 1947400 0.0044774371 0.0022865131 0.0044552717 - 1947500 0.0042407296 0.0020979631 0.0041520665 - 1947600 0.0044003475 0.0019552981 0.0040867165 - 1947700 0.0049184074 0.0017671576 0.0041495112 - 1947800 0.0053858012 0.0022150025 0.0048237499 - 1947900 0.0045053646 0.0026767257 0.0048590117 - 1948000 0.0057015541 0.0028304549 0.0055921452 - 1948100 0.0048878011 0.0030133628 0.0053808914 - 1948200 0.0045995604 0.00275435 0.0049822621 - 1948300 0.0061863108 0.0020682125 0.0050647068 - 1948400 0.0047053495 0.0019027405 0.0041818942 - 1948500 0.0056574493 0.0018808563 0.0046211833 - 1948600 0.0043424087 0.0017054533 0.0038088075 - 1948700 0.0036941868 0.0016916969 0.0034810686 - 1948800 0.0046643107 0.0018233496 0.0040826251 - 1948900 0.004245351 0.002092464 0.0041488059 - 1949000 0.0051737056 0.0023156868 0.0048217004 - 1949100 0.0040125219 0.0019632255 0.0039067909 - 1949200 0.004545149 0.0018821053 0.0040836619 - 1949300 0.0042895754 0.002108772 0.0041865351 - 1949400 0.0044568842 0.0022550226 0.0044138259 - 1949500 0.0071234752 0.0019165951 0.0053670284 - 1949600 0.0044078021 0.0019558641 0.0040908932 - 1949700 0.0050184235 0.0022647281 0.0046955269 - 1949800 0.0062543112 0.0019890647 0.0050184967 - 1949900 0.0037023066 0.0022014401 0.0039947449 - 1950000 0.005205802 0.0026722163 0.0051937767 - 1950100 0.0062757341 0.0023461744 0.0053859831 - 1950200 0.0053392283 0.0024609231 0.0050471118 - 1950300 0.0050500492 0.0027583698 0.0052044874 - 1950400 0.0048527877 0.0029634688 0.0053140378 - 1950500 0.0059871412 0.0030138878 0.0059139094 - 1950600 0.0063337428 0.0030210892 0.0060889959 - 1950700 0.0052009124 0.0028439915 0.0053631834 - 1950800 0.0050981704 0.0027103311 0.0051797574 - 1950900 0.0046691958 0.0024165827 0.0046782244 - 1951000 0.0048146308 0.0019532869 0.0042853737 - 1951100 0.0040043118 0.0020571328 0.0039967213 - 1951200 0.0049136297 0.0016102402 0.0039902796 - 1951300 0.0042424684 0.0017435179 0.0037984635 - 1951400 0.0041242976 0.0023624454 0.0043601521 - 1951500 0.0059726382 0.0025834822 0.0054764788 - 1951600 0.0064972755 0.0029821422 0.00612926 - 1951700 0.0057475002 0.0023183776 0.0051023231 - 1951800 0.0049042964 0.0019548835 0.004330402 - 1951900 0.0063046391 0.0021516686 0.0052054782 - 1952000 0.0043589469 0.0020502277 0.0041615925 - 1952100 0.0060783123 0.0018799987 0.0048241812 - 1952200 0.0034716945 0.0021824738 0.0038640758 - 1952300 0.0043714133 0.0021782343 0.0042956377 - 1952400 0.005280284 0.0018900586 0.0044476962 - 1952500 0.0058664125 0.0021985672 0.0050401108 - 1952600 0.0042244821 0.0024977711 0.0045440047 - 1952700 0.0064310181 0.0020445623 0.0051595867 - 1952800 0.0049710797 0.0020274326 0.0044352993 - 1952900 0.0045028085 0.0026314385 0.0048124864 - 1953000 0.0065371642 0.0025942498 0.0057606887 - 1953100 0.0066682662 0.0022420747 0.0054720162 - 1953200 0.0036052339 0.0024522868 0.004198572 - 1953300 0.0045946949 0.002378023 0.0046035784 - 1953400 0.00477614 0.0022333381 0.0045467808 - 1953500 0.0040442534 0.0021303665 0.0040893018 - 1953600 0.0052815992 0.0019285515 0.0044868261 - 1953700 0.0046030948 0.0025816278 0.0048112519 - 1953800 0.0053124367 0.0020846826 0.0046578941 - 1953900 0.0051696366 0.0018757677 0.0043798105 - 1954000 0.0074818305 0.0014708889 0.0050949005 - 1954100 0.0059830439 0.0016951194 0.0045931564 - 1954200 0.0041130165 0.0025104363 0.0045026787 - 1954300 0.0040806888 0.0028807755 0.0048573591 - 1954400 0.0058569486 0.0024426199 0.0052795793 - 1954500 0.0047748605 0.0023312931 0.0046441162 - 1954600 0.0063299726 0.0019907943 0.0050568748 - 1954700 0.0038749232 0.0023362223 0.0042131383 - 1954800 0.0044083974 0.0022677487 0.0044030662 - 1954900 0.0041749586 0.002575238 0.0045974836 - 1955000 0.0058547472 0.0026503823 0.0054862754 - 1955100 0.0054735005 0.0028547051 0.0055059319 - 1955200 0.0066110264 0.0029907507 0.0061929666 - 1955300 0.0052371692 0.0024268348 0.0049635886 - 1955400 0.0060137026 0.0022200104 0.0051328976 - 1955500 0.0053590747 0.0020125439 0.0046083457 - 1955600 0.0057942961 0.001829265 0.0046358772 - 1955700 0.0045069836 0.002064399 0.0042474692 - 1955800 0.0028633332 0.0020570509 0.003443978 - 1955900 0.0053245287 0.0014843542 0.0040634228 - 1956000 0.0045233484 0.0013945085 0.0035855054 - 1956100 0.0063744112 0.0014166444 0.0045042498 - 1956200 0.0059571462 0.001880113 0.0047656057 - 1956300 0.0049583954 0.0019016454 0.0043033681 - 1956400 0.0044204734 0.0019897976 0.0041309644 - 1956500 0.0047831875 0.002014239 0.0043310954 - 1956600 0.0041055149 0.0021437387 0.0041323475 - 1956700 0.0060120835 0.0022461659 0.0051582688 - 1956800 0.0048176935 0.0023105859 0.0046441562 - 1956900 0.0059918734 0.0020323519 0.0049346656 - 1957000 0.005097943 0.0022913868 0.0047607029 - 1957100 0.0052188959 0.002353474 0.0048813767 - 1957200 0.0052832082 0.0023753953 0.0049344492 - 1957300 0.0077135131 0.0020369698 0.0057732026 - 1957400 0.0061879307 0.0023980093 0.0053952883 - 1957500 0.0064158669 0.0027847931 0.0058924787 - 1957600 0.0055844273 0.0027947956 0.0054997526 - 1957700 0.0042443174 0.0024245732 0.0044804144 - 1957800 0.0044602389 0.0026513851 0.0048118133 - 1957900 0.006158813 0.0025421013 0.0055252763 - 1958000 0.0058279682 0.0020623481 0.0048852702 - 1958100 0.0040183032 0.0017615936 0.0037079592 - 1958200 0.0038416156 0.0017925673 0.0036533498 - 1958300 0.0047622324 0.0022769038 0.0045836102 - 1958400 0.0057673987 0.0027548794 0.0055484631 - 1958500 0.0058256668 0.0026797272 0.0055015346 - 1958600 0.005606342 0.0028425703 0.0055581422 - 1958700 0.0044018962 0.0031474432 0.0052796116 - 1958800 0.0068361448 0.0027510618 0.0060623194 - 1958900 0.005956803 0.0025557482 0.0054410746 - 1959000 0.0048196335 0.0024561714 0.0047906813 - 1959100 0.0045024429 0.0018525584 0.0040334292 - 1959200 0.0065321431 0.0019178471 0.0050818539 - 1959300 0.0039865123 0.0028774845 0.0048084514 - 1959400 0.0049732963 0.0032274365 0.0056363769 - 1959500 0.0044303743 0.003034413 0.0051803755 - 1959600 0.0059748838 0.0026355566 0.0055296409 - 1959700 0.0045669359 0.0025639432 0.0047760528 - 1959800 0.0056174681 0.0021286715 0.0048496326 - 1959900 0.0039787854 0.0018230644 0.0037502885 - 1960000 0.0043702883 0.0018197585 0.0039366169 - 1960100 0.0046717617 0.0021029098 0.0043657944 - 1960200 0.0039060418 0.0020744119 0.0039664009 - 1960300 0.0052645547 0.0021146997 0.0046647185 - 1960400 0.0045274298 0.001894392 0.0040873659 - 1960500 0.0049449777 0.0021133084 0.0045085319 - 1960600 0.0052554633 0.0021001547 0.0046457697 - 1960700 0.0049222083 0.0023657313 0.004749926 - 1960800 0.0046527356 0.0023075766 0.0045612454 - 1960900 0.0052869775 0.0020636233 0.0046245031 - 1961000 0.0035849838 0.0022292553 0.0039657318 - 1961100 0.0040996707 0.0025924621 0.00457824 - 1961200 0.0048480842 0.0019968839 0.0043451747 - 1961300 0.0043836429 0.0015766238 0.0036999508 - 1961400 0.005134109 0.0019508331 0.0044376671 - 1961500 0.0063223401 0.0023485514 0.0054109349 - 1961600 0.0056617193 0.0028739577 0.0056163529 - 1961700 0.0061104913 0.0028711164 0.0058308857 - 1961800 0.0039069593 0.0023706876 0.004263121 - 1961900 0.0056807574 0.002436064 0.0051876808 - 1962000 0.0039953676 0.0029453362 0.0048805924 - 1962100 0.0037230502 0.0026018508 0.0044052032 - 1962200 0.0038795071 0.0027216413 0.0046007776 - 1962300 0.0071768405 0.0023816472 0.0058579293 - 1962400 0.005405101 0.0026084756 0.0052265714 - 1962500 0.0041673234 0.0028148603 0.0048334076 - 1962600 0.004989111 0.0025712547 0.0049878554 - 1962700 0.0033936847 0.0024234008 0.0040672168 - 1962800 0.005146328 0.0024292192 0.0049219718 - 1962900 0.0062139592 0.0025410084 0.0055508949 - 1963000 0.0048856918 0.0024715717 0.0048380787 - 1963100 0.0048877481 0.0025687031 0.0049362061 - 1963200 0.0061600113 0.0027488979 0.0057326533 - 1963300 0.0051668485 0.0031212801 0.0056239723 - 1963400 0.004796229 0.0033849079 0.0057080813 - 1963500 0.0064901499 0.0027465439 0.0058902102 - 1963600 0.0049995249 0.0026733202 0.005094965 - 1963700 0.0060694867 0.0024461418 0.0053860494 - 1963800 0.0044389899 0.0024379986 0.0045881344 - 1963900 0.0041192671 0.0024972757 0.0044925457 - 1964000 0.0044731595 0.0020981707 0.0042648573 - 1964100 0.0061553204 0.0018181885 0.0047996718 - 1964200 0.0041696274 0.0017188646 0.0037385279 - 1964300 0.0035611192 0.0015705621 0.0032954792 - 1964400 0.0035782927 0.0019167752 0.0036500107 - 1964500 0.0056158655 0.0022641806 0.0049843654 - 1964600 0.0041059066 0.0023263417 0.0043151402 - 1964700 0.0038937764 0.0024393851 0.004325433 - 1964800 0.0069307578 0.0025497371 0.0059068229 - 1964900 0.0053878812 0.0027493608 0.0053591157 - 1965000 0.0064602479 0.0025418261 0.0056710086 - 1965100 0.0050866897 0.002606692 0.0050705573 - 1965200 0.0055577587 0.0026632069 0.0053552462 - 1965300 0.0053032321 0.0027575158 0.0053262688 - 1965400 0.0054482398 0.0025362095 0.0051752007 - 1965500 0.0058227454 0.0020405503 0.0048609426 - 1965600 0.0068704891 0.0024043677 0.0057322609 - 1965700 0.0068144301 0.0027667175 0.0060674571 - 1965800 0.0040656864 0.0024551339 0.0044244507 - 1965900 0.0063331825 0.0021690624 0.0052366976 - 1966000 0.0059347292 0.0022528503 0.0051274848 - 1966100 0.0038014443 0.002395169 0.0042364936 - 1966200 0.0051626019 0.002402328 0.0049029633 - 1966300 0.0055720666 0.0024380918 0.0051370616 - 1966400 0.0045167335 0.0020777425 0.0042655352 - 1966500 0.0051957139 0.0018010772 0.0043177511 - 1966600 0.0037150002 0.0020400365 0.0038394897 - 1966700 0.0041872098 0.0021180504 0.0041462302 - 1966800 0.00465358 0.0021848257 0.0044389035 - 1966900 0.0062002548 0.0027371496 0.0057403981 - 1967000 0.0057532758 0.0025965471 0.0053832901 - 1967100 0.0061909045 0.0026552122 0.0056539315 - 1967200 0.0058882778 0.0021289476 0.0049810822 - 1967300 0.0048178375 0.0021041628 0.0044378028 - 1967400 0.0047987529 0.0023754572 0.0046998532 - 1967500 0.0047794899 0.0022176643 0.0045327297 - 1967600 0.0044560078 0.0025284402 0.004686819 - 1967700 0.0046207226 0.0029978622 0.0052360248 - 1967800 0.0045441823 0.0027242031 0.0049252913 - 1967900 0.0042010496 0.0025077714 0.0045426548 - 1968000 0.0051831559 0.0015424749 0.0040530661 - 1968100 0.0044980132 0.0015126516 0.0036913768 - 1968200 0.0052936774 0.0019109596 0.0044750846 - 1968300 0.0054982661 0.0023438293 0.0050070519 - 1968400 0.0052859491 0.0022122354 0.004772617 - 1968500 0.0063679749 0.0020335453 0.0051180331 - 1968600 0.0059179053 0.0020508671 0.0049173525 - 1968700 0.0061646476 0.0020515531 0.0050375543 - 1968800 0.0055456491 0.002212246 0.0048984198 - 1968900 0.0036189282 0.0026052277 0.004358146 - 1969000 0.0055062192 0.002573247 0.0052403219 - 1969100 0.0043925083 0.0021020917 0.0042297129 - 1969200 0.0051957778 0.0021091525 0.0046258573 - 1969300 0.0059397662 0.0019518892 0.0048289634 - 1969400 0.0042516611 0.0019568573 0.0040162556 - 1969500 0.0056378026 0.0019161023 0.004646913 - 1969600 0.0056264339 0.0022012944 0.0049265983 - 1969700 0.0045997285 0.0025249533 0.0047529468 - 1969800 0.0062267986 0.002665873 0.0056819786 - 1969900 0.0049730875 0.0029549784 0.0053638176 - 1970000 0.0064854485 0.0030570939 0.0061984831 - 1970100 0.0080774649 0.0027469063 0.0066594283 - 1970200 0.0043251534 0.0025904999 0.0046854961 - 1970300 0.0062825382 0.0027827784 0.0058258829 - 1970400 0.004528342 0.0031298734 0.0053232891 - 1970500 0.0056682583 0.0029247608 0.0056703235 - 1970600 0.0057537252 0.0027874039 0.0055743646 - 1970700 0.0047225525 0.0025042377 0.0047917241 - 1970800 0.0053366631 0.0023905823 0.0049755285 - 1970900 0.0089082225 0.0027393317 0.007054252 - 1971000 0.0049441819 0.003062321 0.0054571591 - 1971100 0.0054766257 0.0032058845 0.005858625 - 1971200 0.0042832485 0.0030911895 0.005165888 - 1971300 0.0042925749 0.0027016 0.0047808159 - 1971400 0.0042251995 0.0026380988 0.0046846798 - 1971500 0.0057608068 0.0023601876 0.0051505784 - 1971600 0.0048267975 0.0021694997 0.0045074797 - 1971700 0.0036845697 0.002277363 0.0040620765 - 1971800 0.0040564366 0.0025434426 0.0045082791 - 1971900 0.0053801013 0.0030542676 0.0056602542 - 1972000 0.0049635061 0.0031348497 0.005539048 - 1972100 0.0052640529 0.0029293056 0.0054790813 - 1972200 0.0044742313 0.0026739334 0.0048411392 - 1972300 0.0056218147 0.0023577961 0.0050808626 - 1972400 0.0037431127 0.0024419225 0.0042549927 - 1972500 0.005060015 0.0025287977 0.0049797425 - 1972600 0.004866404 0.0028103724 0.0051675368 - 1972700 0.0040923386 0.0028180666 0.0048002931 - 1972800 0.0052979951 0.0026281261 0.0051943425 - 1972900 0.0046227859 0.0026969517 0.0049361136 - 1973000 0.0043350752 0.0023557858 0.0044555878 - 1973100 0.0039664036 0.0028230566 0.0047442833 - 1973200 0.0053598809 0.0029705491 0.0055667414 - 1973300 0.0052497984 0.0029784724 0.0055213435 - 1973400 0.0047805678 0.0027277293 0.0050433169 - 1973500 0.0054698797 0.002779874 0.0054293469 - 1973600 0.0067283504 0.0023810291 0.0056400738 - 1973700 0.0041397623 0.0026570758 0.0046622731 - 1973800 0.0036262128 0.0029934372 0.0047498841 - 1973900 0.006031899 0.003181333 0.0061030341 - 1974000 0.0063327192 0.0033460501 0.006413461 - 1974100 0.0052555677 0.0031859296 0.0057315952 - 1974200 0.005185452 0.0031881479 0.0056998512 - 1974300 0.0061520968 0.0032340787 0.0062140006 - 1974400 0.0060844363 0.0031463562 0.006093505 - 1974500 0.0054164261 0.0030716635 0.0056952449 - 1974600 0.0054331191 0.0029142453 0.0055459123 - 1974700 0.0074740317 0.0022399864 0.0058602206 - 1974800 0.0060482682 0.0025337519 0.0054633817 - 1974900 0.0050154909 0.0027719504 0.0052013288 - 1975000 0.0045335664 0.0030395025 0.0052354487 - 1975100 0.0046638217 0.0028020992 0.0050611378 - 1975200 0.004873034 0.002848826 0.0052092018 - 1975300 0.0042910303 0.002913311 0.0049917787 - 1975400 0.0051556367 0.0031093931 0.0056066547 - 1975500 0.0040694394 0.0030316112 0.0050027459 - 1975600 0.0058378983 0.002423874 0.005251606 - 1975700 0.0053371129 0.0021502419 0.004735406 - 1975800 0.0070446923 0.0021047481 0.0055170209 - 1975900 0.006559973 0.0023314058 0.0055088927 - 1976000 0.0052979827 0.0023618796 0.00492809 - 1976100 0.0045817236 0.0026409467 0.0048602191 - 1976200 0.004473997 0.0024717308 0.0046388231 - 1976300 0.0037308915 0.0021052169 0.0039123675 - 1976400 0.0050736595 0.0021350389 0.0045925927 - 1976500 0.0047211873 0.0026576123 0.0049444374 - 1976600 0.0051823742 0.002915772 0.0054259845 - 1976700 0.0055667224 0.0029714565 0.0056678377 - 1976800 0.0038088425 0.0026669281 0.0045118362 - 1976900 0.0052066277 0.0022477273 0.0047696876 - 1977000 0.0042668185 0.0028161513 0.0048828915 - 1977100 0.0040233428 0.0032010428 0.0051498494 - 1977200 0.0059016387 0.0025410678 0.0053996741 - 1977300 0.0060788044 0.0025806854 0.0055251063 - 1977400 0.0062889813 0.0028776728 0.0059238981 - 1977500 0.0032107879 0.003219768 0.0047749934 - 1977600 0.0048271814 0.0031008448 0.0054390108 - 1977700 0.0039721478 0.0031140292 0.0050380383 - 1977800 0.0049130448 0.0027406432 0.0051203993 - 1977900 0.0039220526 0.0026374838 0.004537228 - 1978000 0.0049530761 0.0026458429 0.0050449892 - 1978100 0.0058477313 0.0027040842 0.0055365791 - 1978200 0.0046354224 0.0029584259 0.0052037086 - 1978300 0.005457118 0.0031401241 0.0057834156 - 1978400 0.0043750854 0.0035560459 0.0056752279 - 1978500 0.0050376813 0.0029973742 0.0054375011 - 1978600 0.0055113232 0.0025874049 0.005256952 - 1978700 0.0048874684 0.0028211325 0.0051885 - 1978800 0.004561218 0.0030247895 0.0052341295 - 1978900 0.004649609 0.0029502179 0.0052023723 - 1979000 0.0061386174 0.0029548338 0.0059282266 - 1979100 0.0043850939 0.0030199504 0.0051439803 - 1979200 0.0059819611 0.0027335317 0.0056310441 - 1979300 0.0048187475 0.0027734638 0.0051075446 - 1979400 0.0045799377 0.0029437671 0.0051621745 - 1979500 0.005523774 0.0024135131 0.0050890911 - 1979600 0.0040420342 0.0019942777 0.003952138 - 1979700 0.0057359773 0.0017813829 0.0045597469 - 1979800 0.0042200444 0.0023567126 0.0044007966 - 1979900 0.0051318171 0.0028423141 0.005328038 - 1980000 0.0064015161 0.0024439437 0.0055446781 - 1980100 0.0053352823 0.0025956758 0.0051799532 - 1980200 0.0050231942 0.002769345 0.0052024547 - 1980300 0.006619252 0.0020366298 0.00524283 - 1980400 0.0062049134 0.0018875618 0.0048930668 - 1980500 0.0051416895 0.0021138048 0.0046043107 - 1980600 0.0052995442 0.0028344629 0.0054014297 - 1980700 0.0056324243 0.0026775714 0.0054057769 - 1980800 0.0070507367 0.0029468265 0.0063620271 - 1980900 0.0048590894 0.0028670738 0.0052206952 - 1981000 0.0043643056 0.0030986563 0.0052126168 - 1981100 0.0059884883 0.0028801275 0.0057808015 - 1981200 0.0052383865 0.0025165771 0.0050539206 - 1981300 0.0042253591 0.0024423829 0.0044890413 - 1981400 0.0041889244 0.0027406088 0.0047696191 - 1981500 0.0042360903 0.003124121 0.0051759772 - 1981600 0.0055854364 0.0025034131 0.0052088588 - 1981700 0.0060298884 0.0023962616 0.0053169888 - 1981800 0.0051099318 0.0029115977 0.0053867209 - 1981900 0.007432557 0.0031682516 0.0067683964 - 1982000 0.0051651015 0.0027414071 0.0052432531 - 1982100 0.0031482323 0.0023919215 0.0039168466 - 1982200 0.0050324706 0.0019992191 0.004436822 - 1982300 0.0045776837 0.0022314753 0.0044487909 - 1982400 0.0050757808 0.0025842099 0.0050427912 - 1982500 0.0038937605 0.0025762614 0.0044623017 - 1982600 0.0048099064 0.0020768117 0.0044066102 - 1982700 0.0048078708 0.0020836694 0.0044124818 - 1982800 0.0038340538 0.0027345713 0.0045916911 - 1982900 0.0046449049 0.0026494406 0.0048993164 - 1983000 0.0055783579 0.0021691463 0.0048711634 - 1983100 0.0047203041 0.0019030225 0.0041894198 - 1983200 0.0055060166 0.0022998265 0.0049668032 - 1983300 0.0055737916 0.0024850769 0.0051848822 - 1983400 0.0050966465 0.0024651767 0.0049338649 - 1983500 0.0034818344 0.0028266297 0.0045131432 - 1983600 0.0059945363 0.0026177563 0.0055213598 - 1983700 0.004267897 0.0022676125 0.0043348751 - 1983800 0.0056603714 0.0022174523 0.0049591946 - 1983900 0.0051517181 0.0022974572 0.0047928206 - 1984000 0.0051474378 0.0025681994 0.0050614896 - 1984100 0.005460167 0.0024815444 0.0051263129 - 1984200 0.0054376744 0.0018492774 0.0044831509 - 1984300 0.0055410768 0.0018767829 0.004560742 - 1984400 0.0050647983 0.0021000771 0.0045533388 - 1984500 0.0043126595 0.0030772223 0.0051661667 - 1984600 0.0037685928 0.0029275743 0.0047529864 - 1984700 0.0081352754 0.0023483682 0.0062888923 - 1984800 0.0057769913 0.0024488912 0.0052471214 - 1984900 0.004978804 0.001879708 0.0042913162 - 1985000 0.0048145303 0.0016232973 0.0039553354 - 1985100 0.0051224975 0.0016960054 0.0041772151 - 1985200 0.0069831704 0.0019689625 0.0053514357 - 1985300 0.0060294024 0.002259717 0.0051802088 - 1985400 0.0057887876 0.0023596115 0.0051635555 - 1985500 0.005588287 0.0019500888 0.0046569153 - 1985600 0.0056547797 0.0018248935 0.0045639275 - 1985700 0.0033519597 0.0015875152 0.0032111206 - 1985800 0.0047733698 0.0019011104 0.0042132115 - 1985900 0.0049710853 0.0020709354 0.0044788048 - 1986000 0.0051061302 0.0020213273 0.0044946091 - 1986100 0.0054134899 0.0021487742 0.0047709334 - 1986200 0.0040267681 0.002647106 0.0045975718 - 1986300 0.0043519756 0.0028408882 0.0049488764 - 1986400 0.0067032628 0.0024620465 0.0057089395 - 1986500 0.005056597 0.0022323524 0.0046816416 - 1986600 0.0051228808 0.0019012453 0.0043826406 - 1986700 0.0058110347 0.0019400205 0.0047547404 - 1986800 0.0050110146 0.002240595 0.0046678052 - 1986900 0.005864026 0.0020852965 0.0049256841 - 1987000 0.0056545357 0.0017174938 0.0044564095 - 1987100 0.0056803806 0.0017661794 0.0045176137 - 1987200 0.0062633742 0.0024604312 0.0054942531 - 1987300 0.0054471498 0.0024218447 0.0050603078 - 1987400 0.0044758873 0.0021148092 0.0042828171 - 1987500 0.0051304638 0.0026949514 0.0051800198 - 1987600 0.0033567354 0.0028827272 0.0045086459 - 1987700 0.0057063021 0.0026394497 0.0054034398 - 1987800 0.0046798921 0.0024753942 0.004742217 - 1987900 0.0054774371 0.0019866846 0.0046398182 - 1988000 0.0050890975 0.0021466774 0.004611709 - 1988100 0.0038729382 0.0023440655 0.0042200199 - 1988200 0.0055760036 0.0018172397 0.0045181165 - 1988300 0.0047048483 0.0017158983 0.0039948092 - 1988400 0.0046541239 0.0018986344 0.0041529757 - 1988500 0.0042934389 0.0021489599 0.0042285943 - 1988600 0.0047159057 0.0027011784 0.0049854453 - 1988700 0.005847541 0.0027889251 0.0056213278 - 1988800 0.004829912 0.0025011755 0.0048406641 - 1988900 0.0056956836 0.0020999981 0.0048588448 - 1989000 0.0047076006 0.0022881468 0.0045683908 - 1989100 0.005091665 0.0021371748 0.0046034501 - 1989200 0.004117067 0.0018519146 0.0038461189 - 1989300 0.0060880931 0.0015364795 0.0044853996 - 1989400 0.0035161215 0.0018072419 0.0035103633 - 1989500 0.0043151298 0.0020787266 0.0041688676 - 1989600 0.0052430814 0.002514277 0.0050538946 - 1989700 0.0043809065 0.0025939534 0.0047159549 - 1989800 0.0041960335 0.0025453096 0.0045777634 - 1989900 0.0039563302 0.0026856849 0.0046020323 - 1990000 0.0057348699 0.0022228385 0.0050006661 - 1990100 0.0047898563 0.0022843105 0.0046043972 - 1990200 0.0051976815 0.0025090598 0.0050266868 - 1990300 0.0050077625 0.0023855288 0.0048111637 - 1990400 0.0053204764 0.0023640181 0.0049411239 - 1990500 0.0052841198 0.0020073376 0.0045668331 - 1990600 0.0053451514 0.0018676685 0.0044567262 - 1990700 0.0033328477 0.0019433734 0.0035577215 - 1990800 0.0044006934 0.0019865754 0.0041181613 - 1990900 0.0050452301 0.0020408853 0.0044846686 - 1991000 0.0065300025 0.0023365408 0.0054995107 - 1991100 0.0051928278 0.0024265468 0.0049418228 - 1991200 0.0053469544 0.0028286653 0.0054185964 - 1991300 0.0034592909 0.0029405703 0.0046161643 - 1991400 0.0057569225 0.002730733 0.0055192423 - 1991500 0.0057598209 0.002308152 0.0050980653 - 1991600 0.005152249 0.0025708244 0.005066445 - 1991700 0.0044006429 0.0029145105 0.0050460719 - 1991800 0.0053758242 0.0030241416 0.0056280565 - 1991900 0.0049695684 0.0032815402 0.0056886749 - 1992000 0.0055769618 0.0034554958 0.0061568366 - 1992100 0.0059583852 0.0032399942 0.006126087 - 1992200 0.0046716994 0.002824056 0.0050869104 - 1992300 0.0048192819 0.0025829998 0.0049173394 - 1992400 0.0038993345 0.002542284 0.0044310241 - 1992500 0.0058376134 0.0024547601 0.0052823541 - 1992600 0.0060848393 0.0020066323 0.0049539764 - 1992700 0.0052477907 0.0020321311 0.0045740297 - 1992800 0.005249679 0.0025529926 0.0050958058 - 1992900 0.0053727672 0.0029005984 0.0055030325 - 1993000 0.0052625154 0.002932028 0.0054810588 - 1993100 0.0047142363 0.0029994144 0.0052828727 - 1993200 0.0053191154 0.0028774698 0.0054539163 - 1993300 0.0048289049 0.0025951217 0.0049341224 - 1993400 0.0076168859 0.0025009687 0.0061903978 - 1993500 0.0039761104 0.0032317131 0.0051576416 - 1993600 0.0044341498 0.0032938349 0.0054416262 - 1993700 0.0044275168 0.0031057684 0.0052503469 - 1993800 0.0075731693 0.0026348982 0.0063031521 - 1993900 0.0038286962 0.0026274942 0.0044820189 - 1994000 0.0050633462 0.0021650901 0.0046176484 - 1994100 0.0056199345 0.0020324649 0.0047546207 - 1994200 0.0048056788 0.0024693387 0.0047970894 - 1994300 0.006459677 0.0024678261 0.0055967322 - 1994400 0.0053801503 0.0024082668 0.0050142771 - 1994500 0.0048374889 0.0022730389 0.0046161976 - 1994600 0.0071441213 0.0018187729 0.0052792067 - 1994700 0.0064209046 0.0015227998 0.0046329255 - 1994800 0.0059406221 0.0016856726 0.0045631614 - 1994900 0.0045269071 0.0019621556 0.0041548762 - 1995000 0.0052455402 0.0020446714 0.0045854799 - 1995100 0.0042616975 0.00222956 0.0042938197 - 1995200 0.0039930582 0.0022136127 0.0041477503 - 1995300 0.0041277274 0.0018235115 0.0038228795 - 1995400 0.0050126134 0.0016191577 0.0040471423 - 1995500 0.0051791589 0.0019933343 0.0045019894 - 1995600 0.0063261234 0.0020172697 0.0050814857 - 1995700 0.0040529898 0.0017794217 0.0037425886 - 1995800 0.004570197 0.0017709365 0.0039846257 - 1995900 0.0054443845 0.0021039712 0.0047410949 - 1996000 0.0065881402 0.0020022043 0.0051933347 - 1996100 0.0047293703 0.0021049099 0.0043956986 - 1996200 0.0058157538 0.002259823 0.0050768287 - 1996300 0.0040998142 0.0023433742 0.0043292217 - 1996400 0.0052792745 0.0026857358 0.0052428843 - 1996500 0.0044951832 0.0025509056 0.00472826 - 1996600 0.0066010422 0.0021231854 0.0053205652 - 1996700 0.0038160025 0.0020482724 0.0038966486 - 1996800 0.0039766657 0.0021095955 0.0040357929 - 1996900 0.0044950258 0.002243618 0.0044208961 - 1997000 0.0045608723 0.0024545671 0.0046637396 - 1997100 0.005528286 0.0025390388 0.0052168023 - 1997200 0.0045379632 0.0023606972 0.0045587731 - 1997300 0.004636872 0.0025142273 0.0047602122 - 1997400 0.0053189046 0.0027464507 0.0053227951 - 1997500 0.0048530074 0.002783892 0.0051345675 - 1997600 0.0057274054 0.0021685357 0.0049427477 - 1997700 0.0038524705 0.0019583496 0.00382439 - 1997800 0.0051296654 0.0022335132 0.0047181949 - 1997900 0.0051018744 0.0027812269 0.0052524473 - 1998000 0.0047275885 0.0028043102 0.0050942359 - 1998100 0.0070847667 0.0019055429 0.0053372267 - 1998200 0.0065207742 0.0018082562 0.0049667562 - 1998300 0.0061191428 0.0020378316 0.0050017913 - 1998400 0.0063659105 0.0026460546 0.0057295425 - 1998500 0.0043373725 0.0027045125 0.0048054273 - 1998600 0.0048756101 0.0024999167 0.0048615404 - 1998700 0.0046508855 0.0023965866 0.0046493593 - 1998800 0.0062661518 0.0022217336 0.0052569009 - 1998900 0.0061555738 0.0023546222 0.0053362283 - 1999000 0.0043069574 0.0024786217 0.0045648042 - 1999100 0.0055141568 0.0028549884 0.0055259081 - 1999200 0.0034372635 0.0027990632 0.0044639877 - 1999300 0.0048351937 0.0023526277 0.0046946746 - 1999400 0.0057087851 0.0020335116 0.0047987044 - 1999500 0.0033912965 0.0023030393 0.0039456986 - 1999600 0.0054813169 0.0023096891 0.004964702 - 1999700 0.0048389727 0.0021943385 0.0045382159 - 1999800 0.0059277298 0.0020055057 0.0048767498 - 1999900 0.0059290305 0.002299977 0.0051718512 - 2000000 0.0047343315 0.0026625608 0.0049557526 -Loop time of 36.7413 on 1 procs for 2000000 steps with 64 atoms - -Pair time (%) = 0 (0) -Bond time (%) = 6.21948 (16.9278) -Neigh time (%) = 3.63757 (9.9005) -Comm time (%) = 3.27223 (8.90612) -Outpt time (%) = 2.95884 (8.05317) -Other time (%) = 20.6532 (56.2125) - -Nlocal: 64 ave 64 max 64 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 4 ave 4 max 4 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 6 -Neighbor list builds = 2000000 -Dangerous builds = 0 - -Please see the log.cite file for references relevant to this simulation - diff --git a/examples/PACKAGES/phonon/2-1D-diatomic/phonon.bin.2000000 b/examples/PACKAGES/phonon/2-1D-diatomic/phonon.bin.2000000 deleted file mode 100644 index e68a1d56d40a4afcdd5fe174355874b470241ad3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2196 zcmai$3oMmk7{`xeGRmmdjaEll5=&yX*5^EDWNECL(nUxmmL1lXbtp?~Ho790b(}8B zN%tEK<;$Ze33JaS4H;?FkuK{bP8!Es&(^-Pef#$N-plh|p6CBR1|pG2GWHluJmRtU z_-_zu=KBVH>ehk&OP6d-t!t+a|Hm8Se?7A^6v_1Mp<8T=>ZObg=eozBxv1n};PI8F zQ!9Wl`bXB5M+57hYg*WrI;?|JUWcw##iVf+iyhqpYDO`7DAs4Te+v-C>@(q|`C>M{ z)4pzj`!vRh=bLUV4;jI@V(U~7br%rES828*cU#$h#Z!;*OWx=pLBWNzm%rrRo!yao z+GQA%Ej%mdMD#+(1ZR#jTGuw-^efb_w~Vv$c=2{sxJWj>el_>=eMyDmVJ$i=d|K`K zxgQAQvdm4prtfF#UHC(pq&%meFO8E{`KphMe#1Mmd3l)$13(xnCEDEKUbg;ws@o6u zPhs<2FqR*PivNPA0%rxM9Mk||43n>IO3||MeMzdEY!&0iwrUHfSPjY(_r=vzeFDN5 z7TogF{tD}#;{UN-@}99ztC7i!Js+?*qV7b%W(^QV7e&Ncr?K;%xNqKJqqv;6VC!#a zSNM0Ac4N_r+jc9=KLTNNZ7OWLtObJTm$ya6DLsaf0j zDtFf3#KBc*IhS#%OK7!YPy^cB>UkX5(F25WyYVJ@#&s57yF0YREuFEKa%a-gInVLt zR*y?E?=B#WlKVE_Lo!%Ad#pDfddbG;pK%UpHOt3H>F5osyw^Y&59IXQwmFMreS3Va zg{#+bG6(6tJU2FH+1-vac#{JJw$yK9cxA;`0LgN3wq)`{xDDAIbRxJ%54wM{@r_?_VJQ zkmMiG{1eE3B>4|C{{`v~N&Nw-KTe?jk<>rX`WMh2B>DqXe~A9^RPP7_)jy)YJk?vm zK=qgCKTq@@iT(r8e_p_UkoXT!{~`XzQ@ diff --git a/examples/PACKAGES/phonon/2-1D-diatomic/phonon.log b/examples/PACKAGES/phonon/2-1D-diatomic/phonon.log deleted file mode 100644 index 86c0a385ce..0000000000 --- a/examples/PACKAGES/phonon/2-1D-diatomic/phonon.log +++ /dev/null @@ -1,206 +0,0 @@ -############################################################ -# group name of the atoms under study : all -# total number of atoms in the group : 64 -# dimension of the system : 1 D -# number of atoms per unit cell : 2 -# dimension of the FFT mesh : 32 x 1 x 1 -# number of wait steps before measurement : 500000 -# frequency of the measurement : 10 -# output result after this many measurement: 50000 -# number of processors used by this run : 1 -############################################################ -# mapping information between lattice index and atom id -# nx ny nz nucell -32 1 1 2 -# l1 l2 l3 k atom_id -0 0 0 0 1 -0 0 0 1 2 -1 0 0 0 3 -1 0 0 1 4 -2 0 0 0 5 -2 0 0 1 6 -3 0 0 0 7 -3 0 0 1 8 -4 0 0 0 9 -4 0 0 1 10 -5 0 0 0 11 -5 0 0 1 12 -6 0 0 0 13 -6 0 0 1 14 -7 0 0 0 15 -7 0 0 1 16 -8 0 0 0 17 -8 0 0 1 18 -9 0 0 0 19 -9 0 0 1 20 -10 0 0 0 21 -10 0 0 1 22 -11 0 0 0 23 -11 0 0 1 24 -12 0 0 0 25 -12 0 0 1 26 -13 0 0 0 27 -13 0 0 1 28 -14 0 0 0 29 -14 0 0 1 30 -15 0 0 0 31 -15 0 0 1 32 -16 0 0 0 33 -16 0 0 1 34 -17 0 0 0 35 -17 0 0 1 36 -18 0 0 0 37 -18 0 0 1 38 -19 0 0 0 39 -19 0 0 1 40 -20 0 0 0 41 -20 0 0 1 42 -21 0 0 0 43 -21 0 0 1 44 -22 0 0 0 45 -22 0 0 1 46 -23 0 0 0 47 -23 0 0 1 48 -24 0 0 0 49 -24 0 0 1 50 -25 0 0 0 51 -25 0 0 1 52 -26 0 0 0 53 -26 0 0 1 54 -27 0 0 0 55 -27 0 0 1 56 -28 0 0 0 57 -28 0 0 1 58 -29 0 0 0 59 -29 0 0 1 60 -30 0 0 0 61 -30 0 0 1 62 -31 0 0 0 63 -31 0 0 1 64 -############################################################ -############################################################ -# Current time step : 1000000 -# Total number of measurements : 50000 -# Average temperature of the measurement : 0.00499889 -# Boltzmann constant under current units : 1 -# basis vector A1 = [2 0 0] -# basis vector A2 = [0 1 0] -# basis vector A3 = [0 0 1] -############################################################ -# qx qy qz Phi(q) -0 0 0 2.0269 0 -1.43323 0 -1.43323 0 1.01345 0 -0.03125 0 0 2.06958 0 -1.44367 0.144297 -1.44367 -0.144297 1.03745 0 -0.0625 0 0 2.00734 -7.10386e-17 -1.36818 0.273607 -1.36818 -0.273607 1.02097 0 -0.09375 0 0 2.06033 7.36546e-16 -1.32894 0.389454 -1.32894 -0.389454 1.00889 3.19674e-16 -0.125 0 0 2.04516 7.25738e-16 -1.20961 0.516478 -1.20961 -0.516478 1.0073 2.84154e-16 -0.15625 0 0 2.05756 0 -1.12954 0.615757 -1.12954 -0.615757 1.02862 0 -0.1875 0 0 2.01319 0 -0.970491 0.627631 -0.970491 -0.627631 0.998014 0 -0.21875 0 0 1.92269 1.42077e-16 -0.863486 0.66779 -0.863486 -0.66779 1.00343 8.73509e-17 -0.25 0 0 1.99044 1.71855e-16 -0.671658 0.661397 -0.671658 -0.661397 0.956893 7.10386e-17 -0.28125 0 0 1.96341 -7.10386e-17 -0.556809 0.66713 -0.556809 -0.66713 0.987126 4.2268e-17 -0.3125 0 0 2.04354 0 -0.442943 0.661601 -0.442943 -0.661601 0.961726 1.77596e-17 -0.34375 0 0 1.98412 0 -0.313464 0.632666 -0.313464 -0.632666 1.01134 -2.21836e-17 -0.375 0 0 2.00509 2.17993e-17 -0.187554 0.499349 -0.187554 -0.499349 0.953607 -8.87982e-18 -0.40625 0 0 1.91679 0 -0.0962947 0.408121 -0.0962947 -0.408121 1.02919 0 -0.4375 0 0 1.98963 0 -0.0137565 0.277826 -0.0137565 -0.277826 1.01624 0 -0.46875 0 0 2.08228 0 -0.0312083 0.0872272 -0.0312083 -0.0872272 0.991567 0 -0.5 0 0 1.95481 0 0.0542224 0 0.0542224 0 1.00583 0 -0.53125 0 0 2.08228 0 -0.0312083 -0.0872272 -0.0312083 0.0872272 0.991567 0 -0.5625 0 0 1.98963 0 -0.0137565 -0.277826 -0.0137565 0.277826 1.01624 0 -0.59375 0 0 1.91679 0 -0.0962947 -0.408121 -0.0962947 0.408121 1.02919 0 -0.625 0 0 2.00509 -2.17993e-17 -0.187554 -0.499349 -0.187554 0.499349 0.953607 8.87982e-18 -0.65625 0 0 1.98412 0 -0.313464 -0.632666 -0.313464 0.632666 1.01134 2.21836e-17 -0.6875 0 0 2.04354 0 -0.442943 -0.661601 -0.442943 0.661601 0.961726 -1.77596e-17 -0.71875 0 0 1.96341 7.10386e-17 -0.556809 -0.66713 -0.556809 0.66713 0.987126 -4.2268e-17 -0.75 0 0 1.99044 -1.71855e-16 -0.671658 -0.661397 -0.671658 0.661397 0.956893 -7.10386e-17 -0.78125 0 0 1.92269 -1.42077e-16 -0.863486 -0.66779 -0.863486 0.66779 1.00343 -8.73509e-17 -0.8125 0 0 2.01319 0 -0.970491 -0.627631 -0.970491 0.627631 0.998014 0 -0.84375 0 0 2.05756 0 -1.12954 -0.615757 -1.12954 0.615757 1.02862 0 -0.875 0 0 2.04516 -7.25738e-16 -1.20961 -0.516478 -1.20961 0.516478 1.0073 -2.84154e-16 -0.90625 0 0 2.06033 -7.36546e-16 -1.32894 -0.389454 -1.32894 0.389454 1.00889 -3.19674e-16 -0.9375 0 0 2.00734 7.10386e-17 -1.36818 -0.273607 -1.36818 0.273607 1.02097 0 -0.96875 0 0 2.06958 0 -1.44367 -0.144297 -1.44367 0.144297 1.03745 0 -############################################################ -# Current time step : 1500000 -# Total number of measurements : 100000 -# Average temperature of the measurement : 0.00499969 -# Boltzmann constant under current units : 1 -# basis vector A1 = [2 0 0] -# basis vector A2 = [0 1 0] -# basis vector A3 = [0 0 1] -############################################################ -# qx qy qz Phi(q) -0 0 0 2.00227 0 -1.41582 0 -1.41582 0 1.00114 0 -0.03125 0 0 2.06839 -2.94857e-15 -1.44775 0.141336 -1.44775 -0.141336 1.03568 -1.48867e-15 -0.0625 0 0 1.99449 0 -1.35985 0.267438 -1.35985 -0.267438 0.997747 0 -0.09375 0 0 2.01906 7.07225e-16 -1.30258 0.390432 -1.30258 -0.390432 1.00279 3.55249e-16 -0.125 0 0 2.0047 0 -1.19787 0.503497 -1.19787 -0.503497 1.00067 -3.55249e-17 -0.15625 0 0 2.05042 4.26299e-16 -1.12849 0.613659 -1.12849 -0.613659 1.03457 1.85685e-16 -0.1875 0 0 1.99151 0 -0.971684 0.625667 -0.971684 -0.625667 0.990665 0 -0.21875 0 0 1.96519 -7.10498e-17 -0.861495 0.687109 -0.861495 -0.687109 1.0008 0 -0.25 0 0 2.01865 0 -0.687312 0.684014 -0.687312 -0.684014 0.977055 0 -0.28125 0 0 1.9933 0 -0.560168 0.698726 -0.560168 -0.698726 1.00805 -4.40715e-17 -0.3125 0 0 2.01323 0 -0.446505 0.648764 -0.446505 -0.648764 1.00283 -1.77625e-17 -0.34375 0 0 2.00398 0 -0.313827 0.630741 -0.313827 -0.630741 0.996834 0 -0.375 0 0 2.0191 0 -0.216211 0.499651 -0.216211 -0.499651 0.978322 0 -0.40625 0 0 1.97734 -4.44061e-18 -0.102328 0.398954 -0.102328 -0.398954 1.03793 0 -0.4375 0 0 1.99332 -2.22031e-18 -0.0639782 0.238226 -0.0639782 -0.238226 1.00811 -1.3774e-18 -0.46875 0 0 2.02854 0 -0.0151203 0.0911116 -0.0151203 -0.0911116 1.00593 0 -0.5 0 0 1.99466 0 0.0671755 0 0.0671755 0 0.967275 0 -0.53125 0 0 2.02854 0 -0.0151203 -0.0911116 -0.0151203 0.0911116 1.00593 0 -0.5625 0 0 1.99332 2.22031e-18 -0.0639782 -0.238226 -0.0639782 0.238226 1.00811 1.3774e-18 -0.59375 0 0 1.97734 4.44061e-18 -0.102328 -0.398954 -0.102328 0.398954 1.03793 0 -0.625 0 0 2.0191 0 -0.216211 -0.499651 -0.216211 0.499651 0.978322 0 -0.65625 0 0 2.00398 0 -0.313827 -0.630741 -0.313827 0.630741 0.996834 0 -0.6875 0 0 2.01323 0 -0.446505 -0.648764 -0.446505 0.648764 1.00283 1.77625e-17 -0.71875 0 0 1.9933 0 -0.560168 -0.698726 -0.560168 0.698726 1.00805 4.40715e-17 -0.75 0 0 2.01865 0 -0.687312 -0.684014 -0.687312 0.684014 0.977055 0 -0.78125 0 0 1.96519 7.10498e-17 -0.861495 -0.687109 -0.861495 0.687109 1.0008 0 -0.8125 0 0 1.99151 0 -0.971684 -0.625667 -0.971684 0.625667 0.990665 0 -0.84375 0 0 2.05042 -4.26299e-16 -1.12849 -0.613659 -1.12849 0.613659 1.03457 -1.85685e-16 -0.875 0 0 2.0047 0 -1.19787 -0.503497 -1.19787 0.503497 1.00067 3.55249e-17 -0.90625 0 0 2.01906 -7.07225e-16 -1.30258 -0.390432 -1.30258 0.390432 1.00279 -3.55249e-16 -0.9375 0 0 1.99449 0 -1.35985 -0.267438 -1.35985 0.267438 0.997747 0 -0.96875 0 0 2.06839 2.94857e-15 -1.44775 -0.141336 -1.44775 0.141336 1.03568 1.48867e-15 -############################################################ -# Current time step : 2000000 -# Total number of measurements : 150000 -# Average temperature of the measurement : 0.00499897 -# Boltzmann constant under current units : 1 -# basis vector A1 = [2 0 0] -# basis vector A2 = [0 1 0] -# basis vector A3 = [0 0 1] -############################################################ -# qx qy qz Phi(q) -0 0 0 1.99479 0 -1.41053 0 -1.41053 0 0.997396 0 -0.03125 0 0 2.03068 0 -1.41965 0.138345 -1.41965 -0.138345 1.0155 0 -0.0625 0 0 1.99892 7.10396e-17 -1.36162 0.269053 -1.36162 -0.269053 1.00066 0 -0.09375 0 0 2.00599 0 -1.29893 0.389829 -1.29893 -0.389829 0.995323 0 -0.125 0 0 1.991 6.87803e-16 -1.20232 0.495552 -1.20232 -0.495552 0.991252 2.84159e-16 -0.15625 0 0 2.05187 1.42079e-16 -1.12612 0.617447 -1.12612 -0.617447 1.02736 0 -0.1875 0 0 1.97476 7.10396e-17 -0.972012 0.630423 -0.972012 -0.630423 0.996946 0 -0.21875 0 0 2.00314 0 -0.862555 0.695244 -0.862555 -0.695244 0.999215 0 -0.25 0 0 1.9755 0 -0.69573 0.680591 -0.69573 -0.680591 0.988546 0 -0.28125 0 0 1.99393 0 -0.560979 0.692292 -0.560979 -0.692292 0.995507 -3.55198e-17 -0.3125 0 0 2.00817 0 -0.436753 0.642127 -0.436753 -0.642127 0.989051 0 -0.34375 0 0 2.02348 0 -0.310766 0.620888 -0.310766 -0.620888 1.01631 0 -0.375 0 0 2.01177 0 -0.213987 0.483325 -0.213987 -0.483325 0.98933 0 -0.40625 0 0 1.97394 0 -0.116509 0.382146 -0.116509 -0.382146 1.03672 0 -0.4375 0 0 1.98656 0 -0.0609164 0.250798 -0.0609164 -0.250798 1.01266 1.39007e-18 -0.46875 0 0 2.03013 0 -0.0242785 0.120597 -0.0242785 -0.120597 1.02741 1.78858e-19 -0.5 0 0 1.98872 0 0.0648313 0 0.0648313 0 0.973791 0 -0.53125 0 0 2.03013 0 -0.0242785 -0.120597 -0.0242785 0.120597 1.02741 -1.78858e-19 -0.5625 0 0 1.98656 0 -0.0609164 -0.250798 -0.0609164 0.250798 1.01266 -1.39007e-18 -0.59375 0 0 1.97394 0 -0.116509 -0.382146 -0.116509 0.382146 1.03672 0 -0.625 0 0 2.01177 0 -0.213987 -0.483325 -0.213987 0.483325 0.98933 0 -0.65625 0 0 2.02348 0 -0.310766 -0.620888 -0.310766 0.620888 1.01631 0 -0.6875 0 0 2.00817 0 -0.436753 -0.642127 -0.436753 0.642127 0.989051 0 -0.71875 0 0 1.99393 0 -0.560979 -0.692292 -0.560979 0.692292 0.995507 3.55198e-17 -0.75 0 0 1.9755 0 -0.69573 -0.680591 -0.69573 0.680591 0.988546 0 -0.78125 0 0 2.00314 0 -0.862555 -0.695244 -0.862555 0.695244 0.999215 0 -0.8125 0 0 1.97476 -7.10396e-17 -0.972012 -0.630423 -0.972012 0.630423 0.996946 0 -0.84375 0 0 2.05187 -1.42079e-16 -1.12612 -0.617447 -1.12612 0.617447 1.02736 0 -0.875 0 0 1.991 -6.87803e-16 -1.20232 -0.495552 -1.20232 0.495552 0.991252 -2.84159e-16 -0.90625 0 0 2.00599 0 -1.29893 -0.389829 -1.29893 0.389829 0.995323 0 -0.9375 0 0 1.99892 -7.10396e-17 -1.36162 -0.269053 -1.36162 0.269053 1.00066 0 -0.96875 0 0 2.03068 0 -1.41965 -0.138345 -1.41965 0.138345 1.0155 0 From 665785f41e064a84e14904d463a5bda4dc561dbb Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 13 Dec 2023 09:04:23 -0700 Subject: [PATCH 098/559] adjust 2d box bounds --- examples/PACKAGES/phonon/2-1D-diatomic/data.pos | 2 +- examples/PACKAGES/phonon/2-1D-diatomic/in.Ana | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/examples/PACKAGES/phonon/2-1D-diatomic/data.pos b/examples/PACKAGES/phonon/2-1D-diatomic/data.pos index cba35b49c9..130c6e7cd6 100644 --- a/examples/PACKAGES/phonon/2-1D-diatomic/data.pos +++ b/examples/PACKAGES/phonon/2-1D-diatomic/data.pos @@ -8,7 +8,7 @@ 0.00000000 64.00000000 xlo xhi 0.00000000 1.00000000 ylo yhi - 0.00000000 1.00000000 zlo zhi + -0.5 0.5 zlo zhi Atoms diff --git a/examples/PACKAGES/phonon/2-1D-diatomic/in.Ana b/examples/PACKAGES/phonon/2-1D-diatomic/in.Ana index ca49cd50c6..5209adeb4a 100644 --- a/examples/PACKAGES/phonon/2-1D-diatomic/in.Ana +++ b/examples/PACKAGES/phonon/2-1D-diatomic/in.Ana @@ -1,4 +1,5 @@ -# 3D simple cubic lattice simulation +# 2D slice of 3D simple cubic lattice simulation + dimension 2 boundary p f p From e69a079545dcf9801f0099c268fb781567fe7b61 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Wed, 20 Dec 2023 10:50:54 -0700 Subject: [PATCH 099/559] Fixing invalid variable deform kokkos --- src/KOKKOS/fix_deform_kokkos.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/KOKKOS/fix_deform_kokkos.cpp b/src/KOKKOS/fix_deform_kokkos.cpp index 104ac41188..7a2b3e2481 100644 --- a/src/KOKKOS/fix_deform_kokkos.cpp +++ b/src/KOKKOS/fix_deform_kokkos.cpp @@ -120,11 +120,11 @@ void FixDeformKokkos::end_of_step() } else if (set[i].style == WIGGLE) { double delt = (update->ntimestep - update->beginstep) * update->dt; set[i].lo_target = set[i].lo_start - - 0.5*set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); + 0.5*set[i].amplitude * sin(MY_2PI*delt/set[i].tperiod); set[i].hi_target = set[i].hi_start + - 0.5*set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); - h_rate[i] = TWOPI/set[i].tperiod * set[i].amplitude * - cos(TWOPI*delt/set[i].tperiod); + 0.5*set[i].amplitude * sin(MY_2PI*delt/set[i].tperiod); + h_rate[i] = MY_2PI/set[i].tperiod * set[i].amplitude * + cos(MY_2PI*delt/set[i].tperiod); h_ratelo[i] = -0.5*h_rate[i]; } else if (set[i].style == VARIABLE) { double del = input->variable->compute_equal(set[i].hvar); @@ -212,9 +212,9 @@ void FixDeformKokkos::end_of_step() } else if (set[i].style == WIGGLE) { double delt = (update->ntimestep - update->beginstep) * update->dt; set[i].tilt_target = set[i].tilt_start + - set[i].amplitude * sin(TWOPI*delt/set[i].tperiod); - h_rate[i] = TWOPI/set[i].tperiod * set[i].amplitude * - cos(TWOPI*delt/set[i].tperiod); + set[i].amplitude * sin(MY_2PI*delt/set[i].tperiod); + h_rate[i] = MY_2PI/set[i].tperiod * set[i].amplitude * + cos(MY_2PI*delt/set[i].tperiod); } else if (set[i].style == VARIABLE) { double delta_tilt = input->variable->compute_equal(set[i].hvar); set[i].tilt_target = set[i].tilt_start + delta_tilt; From d61c379b0caa0b50b6fac0942c7bba191c4b4143 Mon Sep 17 00:00:00 2001 From: Ludwig Ahrens Date: Thu, 21 Dec 2023 14:28:54 +0100 Subject: [PATCH 100/559] Error formatting --- src/ELECTRODE/fix_electrode_conp.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/ELECTRODE/fix_electrode_conp.cpp b/src/ELECTRODE/fix_electrode_conp.cpp index a87642182b..091840148d 100644 --- a/src/ELECTRODE/fix_electrode_conp.cpp +++ b/src/ELECTRODE/fix_electrode_conp.cpp @@ -522,11 +522,9 @@ void FixElectrodeConp::setup_post_neighbor() if (qtotal_var_style == VarStyle::EQUAL) { const char *var_name = qtotal_var_name.c_str(); int var_id = input->variable->find(var_name); - if (var_id < 0) - error->all(FLERR, fmt::format("Variable '{}' for fix electrode does not exist", var_name)); + if (var_id < 0) error->all(FLERR, "Variable '{}' for fix electrode does not exist", var_name); if (!input->variable->equalstyle(var_id)) - error->all(FLERR, - fmt::format("Variable '{}' for fix electrode is not equal-style", var_name)); + error->all(FLERR, "Variable '{}' for fix electrode is not equal-style", var_name); qtotal_var_id = var_id; } From ac9afb26dd7ea27b40bbcd2bd44fcdf1ae3932ae Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Thu, 4 Jan 2024 17:38:14 +0200 Subject: [PATCH 101/559] aesthetic optimization for xscale, yscale and zscale --- src/fix_indent.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/fix_indent.cpp b/src/fix_indent.cpp index d3e80ecd79..28dcac08d0 100644 --- a/src/fix_indent.cpp +++ b/src/fix_indent.cpp @@ -82,13 +82,9 @@ FixIndent::FixIndent(LAMMPS *lmp, int narg, char **arg) : // setup scaling - double xscale,yscale,zscale; - if (scaleflag) { - xscale = domain->lattice->xlattice; - yscale = domain->lattice->ylattice; - zscale = domain->lattice->zlattice; - } - else xscale = yscale = zscale = 1.0; + const double xscale { scaleflag ? domain->lattice->xlattice : 1.0}; + const double yscale { scaleflag ? domain->lattice->ylattice : 1.0}; + const double zscale { scaleflag ? domain->lattice->zlattice : 1.0}; // apply scaling factors to geometry From 8e3b5bf32730d43373881a9a06364a975399522c Mon Sep 17 00:00:00 2001 From: Ben Nebgen Date: Fri, 5 Jan 2024 13:05:27 -0700 Subject: [PATCH 102/559] Fixed memory bug in ML-IAP unified with atom name definitions Added explict memory allocation for type string in ML-IAP unified. Corrected bug where atom types were not properly alligned with the potential. --- src/KOKKOS/mliap_unified_couple_kokkos.pyx | 18 ++++++++++++++---- src/ML-IAP/mliap_unified_couple.pyx | 20 ++++++++++++++++---- 2 files changed, 30 insertions(+), 8 deletions(-) diff --git a/src/KOKKOS/mliap_unified_couple_kokkos.pyx b/src/KOKKOS/mliap_unified_couple_kokkos.pyx index 97d807ac33..385a770bb3 100644 --- a/src/KOKKOS/mliap_unified_couple_kokkos.pyx +++ b/src/KOKKOS/mliap_unified_couple_kokkos.pyx @@ -13,6 +13,7 @@ from libc.stdint cimport uintptr_t cimport cython from cpython.ref cimport PyObject from libc.stdlib cimport malloc, free +from libc.string cimport memcpy cdef extern from "lammps.h" namespace "LAMMPS_NS": @@ -451,15 +452,24 @@ cdef public object mliap_unified_connect_kokkos(char *fname, MLIAPDummyModel * m cdef int nelements = len(unified.element_types) cdef char **elements = malloc(nelements * sizeof(char*)) + cdef char * c_str + cdef char * s + cdef ssize_t slen if not elements: raise MemoryError("failed to allocate memory for element names") - cdef char *elem_name for i, elem in enumerate(unified.element_types): - elem_name_bytes = elem.encode('UTF-8') - elem_name = elem_name_bytes - elements[i] = &elem_name[0] + py_str = elem.encode('UTF-8') + s = py_str + slen = len(py_str) + c_str = malloc((slen+1)*sizeof(char)) + if not c_str: + raise MemoryError("failed to allocate memory for element names") + memcpy(c_str, s, slen) + c_str[slen] = 0 + elements[i] = c_str + unified_int.descriptor.set_elements(elements, nelements) unified_int.model.nelements = nelements diff --git a/src/ML-IAP/mliap_unified_couple.pyx b/src/ML-IAP/mliap_unified_couple.pyx index 3148b96b51..6c8331d0fa 100644 --- a/src/ML-IAP/mliap_unified_couple.pyx +++ b/src/ML-IAP/mliap_unified_couple.pyx @@ -8,6 +8,7 @@ import lammps.mliap cimport cython from cpython.ref cimport PyObject from libc.stdlib cimport malloc, free +from libc.string cimport memcpy cdef extern from "lammps.h" namespace "LAMMPS_NS": @@ -387,15 +388,26 @@ cdef public object mliap_unified_connect(char *fname, MLIAPDummyModel * model, cdef int nelements = len(unified.element_types) cdef char **elements = malloc(nelements * sizeof(char*)) + cdef char * c_str + cdef char * s + cdef ssize_t slen if not elements: raise MemoryError("failed to allocate memory for element names") - cdef char *elem_name for i, elem in enumerate(unified.element_types): - elem_name_bytes = elem.encode('UTF-8') - elem_name = elem_name_bytes - elements[i] = &elem_name[0] + py_str = elem.encode('UTF-8') + + s = py_str + slen = len(py_str) + c_str = malloc((slen+1)*sizeof(char)) + if not c_str: + raise MemoryError("failed to allocate memory for element names") + memcpy(c_str, s, slen) + c_str[slen] = 0 + + elements[i] = c_str + unified_int.descriptor.set_elements(elements, nelements) unified_int.model.nelements = nelements From 921ddffda234de84c9696a17ed895b05d934ec15 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Sun, 14 Jan 2024 17:18:33 +0100 Subject: [PATCH 103/559] small code simplification for the cylinder indenter --- src/fix_indent.cpp | 25 +++++++------------------ 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/src/fix_indent.cpp b/src/fix_indent.cpp index 28dcac08d0..65cf91c2d2 100644 --- a/src/fix_indent.cpp +++ b/src/fix_indent.cpp @@ -332,21 +332,10 @@ void FixIndent::post_force(int /*vflag*/) for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - if (cdim == 0) { - delx = 0; - dely = x[i][1] - ctr[1]; - delz = x[i][2] - ctr[2]; - } else if (cdim == 1) { - delx = x[i][0] - ctr[0]; - dely = 0; - delz = x[i][2] - ctr[2]; - } else { - delx = x[i][0] - ctr[0]; - dely = x[i][1] - ctr[1]; - delz = 0; - } - domain->minimum_image(delx,dely,delz); - r = sqrt(delx*delx + dely*dely + delz*delz); + double del[3] {x[i][0] - ctr[0], x[i][1] - ctr[1], x[i][2] - ctr[2]}; + del[cdim] = 0; + domain->minimum_image(del[0], del[1], del[2]); + r = sqrt(del[0]*del[0] + del[1]*del[1] + del[2]*del[2]); if (side == OUTSIDE) { dr = r - radius; fmag = k*dr*dr; @@ -355,9 +344,9 @@ void FixIndent::post_force(int /*vflag*/) fmag = -k*dr*dr; } if (dr >= 0.0) continue; - fx = delx*fmag/r; - fy = dely*fmag/r; - fz = delz*fmag/r; + fx = del[0]*fmag/r; + fy = del[1]*fmag/r; + fz = del[2]*fmag/r; f[i][0] += fx; f[i][1] += fy; f[i][2] += fz; From 68f770dee936620ab8115c3bb15a1ef9063cd0af Mon Sep 17 00:00:00 2001 From: James Michael Goff Date: Tue, 16 Jan 2024 11:31:53 -0700 Subject: [PATCH 104/559] ACE mliap initial commit --- .../ace/Ta_example/Ta06A.ace.pytorch.mliap | 18 + examples/mliap/ace/Ta_example/Ta_Pytorch.pt | Bin 0 -> 64620 bytes .../ace/Ta_example/coupling_coefficients.yace | 41 ++ .../ace/Ta_example/in.mliap.pytorch.ace.Ta06A | 53 +++ examples/mliap/ace/Ta_example/in.numdiff | 72 +++ .../numerical_diff_reference/force_error.dump | 234 +++++++++ .../numerical_diff_reference/in.numdiff | 72 +++ .../coupling_coefficients.yace | 294 ++++++++++++ .../multielement_compute/in.mliap.ace.compute | 25 + src/ML-IAP/compute_mliap.cpp | 5 + src/ML-IAP/mliap_data.cpp | 24 +- src/ML-IAP/mliap_data.h | 3 + src/ML-IAP/mliap_descriptor.h | 1 + src/ML-IAP/mliap_descriptor_ace.cpp | 447 ++++++++++++++++++ src/ML-IAP/mliap_descriptor_ace.h | 53 +++ src/ML-IAP/pair_mliap.cpp | 5 +- 16 files changed, 1341 insertions(+), 6 deletions(-) create mode 100644 examples/mliap/ace/Ta_example/Ta06A.ace.pytorch.mliap create mode 100644 examples/mliap/ace/Ta_example/Ta_Pytorch.pt create mode 100644 examples/mliap/ace/Ta_example/coupling_coefficients.yace create mode 100644 examples/mliap/ace/Ta_example/in.mliap.pytorch.ace.Ta06A create mode 100644 examples/mliap/ace/Ta_example/in.numdiff create mode 100644 examples/mliap/ace/Ta_example/numerical_diff_reference/force_error.dump create mode 100644 examples/mliap/ace/Ta_example/numerical_diff_reference/in.numdiff create mode 100644 examples/mliap/ace/multielement_compute/coupling_coefficients.yace create mode 100644 examples/mliap/ace/multielement_compute/in.mliap.ace.compute create mode 100644 src/ML-IAP/mliap_descriptor_ace.cpp create mode 100644 src/ML-IAP/mliap_descriptor_ace.h diff --git a/examples/mliap/ace/Ta_example/Ta06A.ace.pytorch.mliap b/examples/mliap/ace/Ta_example/Ta06A.ace.pytorch.mliap new file mode 100644 index 0000000000..d2f6c4fce4 --- /dev/null +++ b/examples/mliap/ace/Ta_example/Ta06A.ace.pytorch.mliap @@ -0,0 +1,18 @@ +# DATE: 2014-09-05 UNITS: metal CONTRIBUTOR: Aidan Thompson athomps@sandia.gov CITATION: Thompson, Swiler, Trott, Foiles and Tucker, arxiv.org, 1409.3880 (2014) + +# Definition of SNAP potential Ta_Cand06A +# Assumes 1 LAMMPS atom type + +variable zblcutinner equal 4 +variable zblcutouter equal 4.8 +variable zblz equal 73 + +# Specify hybrid with SNAP, ZBL + +pair_style hybrid/overlay & +zbl ${zblcutinner} ${zblcutouter} & +mliap model mliappy Ta_Pytorch.pt & +descriptor ace coupling_coefficients.yace +pair_coeff 1 1 zbl ${zblz} ${zblz} +pair_coeff * * mliap Ta + diff --git a/examples/mliap/ace/Ta_example/Ta_Pytorch.pt b/examples/mliap/ace/Ta_example/Ta_Pytorch.pt new file mode 100644 index 0000000000000000000000000000000000000000..79acf6e72431aad39308a868c3bc6e0e4e7e9a5d GIT binary patch literal 64620 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 j8Mwd4Cz}5G__9!&?JfNmVD*h narg) error->all(FLERR,"Illegal pair_style mliap command"); descriptor = new MLIAPDescriptorSO3(lmp,arg[iarg+2]); iarg += 3; + } else if (strcmp(arg[iarg+1],"ace") == 0) { + if (iarg+3 > narg) error->all(FLERR,"Illegal pair_style mliap command"); + descriptor = new MLIAPDescriptorACE(lmp,arg[iarg+2]); + iarg += 3; } else error->all(FLERR,"Illegal compute mliap command"); descriptorflag = 1; } else if (strcmp(arg[iarg],"gradgradflag") == 0) { diff --git a/src/ML-IAP/mliap_data.cpp b/src/ML-IAP/mliap_data.cpp index b40fefd3ba..bc29ad9004 100644 --- a/src/ML-IAP/mliap_data.cpp +++ b/src/ML-IAP/mliap_data.cpp @@ -33,7 +33,7 @@ MLIAPData::MLIAPData(LAMMPS *lmp, int gradgradflag_in, int *map_in, class MLIAPM gamma(nullptr), gamma_row_index(nullptr), gamma_col_index(nullptr), egradient(nullptr), numneighs(nullptr), iatoms(nullptr), ielems(nullptr), pair_i(nullptr), jatoms(nullptr), jelems(nullptr), elems(nullptr), rij(nullptr), graddesc(nullptr), model(nullptr), - descriptor(nullptr), list(nullptr) + descriptor(nullptr), list(nullptr), itypes(nullptr), ix(nullptr), cpy_frstngh(nullptr) { gradgradflag = gradgradflag_in; map = map_in; @@ -84,8 +84,11 @@ MLIAPData::~MLIAPData() memory->destroy(iatoms); memory->destroy(pair_i); memory->destroy(ielems); + memory->destroy(itypes); + memory->destroy(ix); memory->destroy(numneighs); memory->destroy(jatoms); + memory->destroy(cpy_frstngh); memory->destroy(jelems); memory->destroy(elems); memory->destroy(rij); @@ -183,6 +186,7 @@ void MLIAPData::generate_neighdata(NeighList *list_in, int eflag_in, int vflag_i int jtype = type[j]; const int jelem = map[jtype]; + cpy_frstngh[ii][jj] = firstneigh[i][jj]; if (rsq < descriptor->cutsq[ielem][jelem]) { pair_i[ij] = i; jatoms[ij] = j; @@ -196,6 +200,7 @@ void MLIAPData::generate_neighdata(NeighList *list_in, int eflag_in, int vflag_i } iatoms[ii] = i; ielems[ii] = ielem; + itypes[ii] = itype; numneighs[ii] = ninside; npairs += ninside; } @@ -222,6 +227,8 @@ void MLIAPData::grow_neigharrays() if (natomneigh_max < natomneigh) { memory->grow(iatoms, natomneigh, "MLIAPData:iatoms"); memory->grow(ielems, natomneigh, "MLIAPData:ielems"); + memory->grow(itypes, natomneigh, "MLIAPData:itypes"); + memory->grow(ix, natomneigh, 3, "MLIAPData:ix"); memory->grow(numneighs, natomneigh, "MLIAPData:numneighs"); natomneigh_max = natomneigh; } @@ -241,6 +248,9 @@ void MLIAPData::grow_neigharrays() const double xtmp = x[i][0]; const double ytmp = x[i][1]; const double ztmp = x[i][2]; + ix[i][0] = x[i][0]; + ix[i][1] = x[i][1]; + ix[i][2] = x[i][2]; const int itype = type[i]; const int ielem = map[itype]; @@ -265,6 +275,7 @@ void MLIAPData::grow_neigharrays() if (nneigh_max < nneigh) { memory->grow(pair_i, nneigh, "MLIAPData:pair_i"); memory->grow(jatoms, nneigh, "MLIAPData:jatoms"); + memory->grow(cpy_frstngh, natomneigh, nneigh, "MLIAPData:cpy_frstngh"); memory->grow(jelems, nneigh, "MLIAPData:jelems"); memory->grow(rij, nneigh, 3, "MLIAPData:rij"); if (gradgradflag == 0) memory->grow(graddesc, nneigh, ndescriptors, 3, "MLIAPData:graddesc"); @@ -292,12 +303,15 @@ double MLIAPData::memory_usage() bytes += (double) natomneigh_max * sizeof(int); // iatoms bytes += (double) natomneigh_max * sizeof(int); // ielems + bytes += (double) natomneigh_max * sizeof(int); // itypes + bytes += (double) natomneigh_max * 3 * sizeof(int);// ix bytes += (double) natomneigh_max * sizeof(int); // numneighs - bytes += (double) nneigh_max * sizeof(int); // pair_i - bytes += (double) nneigh_max * sizeof(int); // jatoms - bytes += (double) nneigh_max * sizeof(int); // jelems - bytes += (double) nneigh_max * 3 * sizeof(double); // rij" + bytes += (double) nneigh_max * sizeof(int); // pair_i + bytes += (double) nneigh_max * sizeof(int); // jatoms + bytes += (double) nneigh_max * sizeof(int); // jelems + bytes += (double) nneigh_max * natomneigh_max * sizeof(int);// cpy_frstngh + bytes += (double) nneigh_max * 3 * sizeof(double); // rij" if (gradgradflag == 0) bytes += (double) nneigh_max * ndescriptors * 3 * sizeof(double); // graddesc diff --git a/src/ML-IAP/mliap_data.h b/src/ML-IAP/mliap_data.h index 9746b4da5e..6dfc0ec9b6 100644 --- a/src/ML-IAP/mliap_data.h +++ b/src/ML-IAP/mliap_data.h @@ -67,12 +67,15 @@ class MLIAPData : protected Pointers { int *numneighs; // neighbors count for each atom int *iatoms; // index of each atom int *ielems; // element of each atom + int *itypes; // LAMMPS type of each atom for external evaluators int nneigh_max; // number of ij neighbors allocated int npairs; // number of ij neighbor pairs int *pair_i; // index of each i atom for each ij pair int *jatoms; // index of each neighbor int *jelems; // element of each neighbor int *elems; // element of each atom in or not in the neighborlist + int **cpy_frstngh; // index of each neighbor for external evaluators + double **ix; // neighbor positions for external evaluators double **rij; // distance vector of each neighbor double ***graddesc; // descriptor gradient w.r.t. each neighbor int eflag; // indicates if energy is needed diff --git a/src/ML-IAP/mliap_descriptor.h b/src/ML-IAP/mliap_descriptor.h index 7f05c6804a..6d66356960 100644 --- a/src/ML-IAP/mliap_descriptor.h +++ b/src/ML-IAP/mliap_descriptor.h @@ -31,6 +31,7 @@ class MLIAPDescriptor : virtual protected Pointers { int ndescriptors; // number of descriptors int nelements; // # of unique elements + int allocated_elements; // is the element array allocated char **elements; // names of unique elements double **cutsq; // nelem x nelem rcutsq values double **cutghost; // cutoff for each ghost pair diff --git a/src/ML-IAP/mliap_descriptor_ace.cpp b/src/ML-IAP/mliap_descriptor_ace.cpp new file mode 100644 index 0000000000..f89b5c2fd6 --- /dev/null +++ b/src/ML-IAP/mliap_descriptor_ace.cpp @@ -0,0 +1,447 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: James Goff (SNL) +------------------------------------------------------------------------- */ + +#include "mliap_descriptor_ace.h" + +#include "ace-evaluator/ace_evaluator.h" +#include "ace-evaluator/ace_c_basis.h" +#include "ace-evaluator/ace_abstract_basis.h" +#include "ace-evaluator/ace_types.h" + +#include "atom.h" +#include "comm.h" +#include "error.h" +#include "memory.h" +#include "mliap_data.h" +#include "neigh_list.h" +#include "pair_mliap.h" +#include "tokenizer.h" + +#include +#include +#include +//#include + +namespace LAMMPS_NS { +struct ACE_ML_impl { + ACE_ML_impl() : basis_set(nullptr), ace(nullptr) {} + ~ACE_ML_impl() + { + delete basis_set; + delete ace; + } + ACECTildeBasisSet *basis_set; + ACECTildeEvaluator *ace; +}; +} + + +using namespace LAMMPS_NS; + +#define MAXLINE 1024 +#define MAXWORD 3 + +/* ---------------------------------------------------------------------- */ + +MLIAPDescriptorACE::MLIAPDescriptorACE(LAMMPS *_lmp, char *yacefilename) : Pointers(_lmp), MLIAPDescriptor(_lmp) +{ + + acemlimpl = new ACE_ML_impl; + int ntypes = atom->ntypes; + allocated_elements = 0; + //read in file with CG coefficients or c_tilde coefficients + //auto coeff_file_name = utils::get_potential_file_path(yacefilename); + //char* ctilde_file_name = yacefilename; + //ctilde_file = *ctilde_file_name + delete acemlimpl -> basis_set; + //acemlimpl -> basis_set = new ACECTildeBasisSet(ctilde_file); + //acemlimpl -> basis_set = new ACECTildeBasisSet(&ctilde_file_name); + acemlimpl -> basis_set = new ACECTildeBasisSet("coupling_coefficients.yace"); + //ntypes = acemlimpl -> basis_set->nelements; + int tot_num = 0; + for (int mu = 0; mu < ntypes; mu++) { + if ( max_num < acemlimpl -> basis_set->total_basis_size_rank1[mu] + acemlimpl ->basis_set->total_basis_size[mu]) { + max_num = acemlimpl -> basis_set->total_basis_size_rank1[mu] + acemlimpl ->basis_set->total_basis_size[mu]; + } + tot_num += acemlimpl -> basis_set->total_basis_size_rank1[mu] + acemlimpl ->basis_set->total_basis_size[mu]; + } + + ndescriptors = max_num; //n_r1 + n_rp; + nelements = acemlimpl -> basis_set ->nelements; + + memory->destroy(cutsq); + + if (allocated_elements) { + for (int iielem = 0; iielem < nelements; iielem++) delete[] elements[iielem]; + delete[] elements; + allocated_elements = 0; + } else if (not allocated_elements) { + elements = new char * [nelements]; + for (int iielem = 0; iielem < nelements; iielem ++){ + elements[iielem] = utils::strdup(acemlimpl->basis_set->elements_name[iielem]); + } + allocated_elements = 1; + } + + memory->create(cutsq,ntypes+1,ntypes+1,"mliap/descriptor/ace:cutsq"); + float icmax = 0.0; + float icuti, icutj; + for (int mui = 0; mui < acemlimpl -> basis_set ->nelements; mui++) { + icuti = acemlimpl -> basis_set->radial_functions->cut(mui, mui); + if (icuti > icmax) icmax = icuti; + for (int muj = mui+1; muj < acemlimpl -> basis_set ->nelements; muj++) { + icutj = acemlimpl -> basis_set->radial_functions->cut(mui, muj); + if (icutj > icmax) icmax = icutj; + } + } + float cutmax = 0.0; + float cuti,cutj; + float cutfac = 1.0; + for (int mui = 0; mui < acemlimpl -> basis_set ->nelements; mui++) { + cuti = acemlimpl -> basis_set->radial_functions->cut(mui, mui); + if (cuti > cutmax) cutmax = cuti; + + cutsq[mui][mui] = ((2*cuti*cutfac)*(2*cuti*cutfac)); + for (int muj = mui + 1; muj < ntypes; muj++) { + cutj = acemlimpl -> basis_set->radial_functions->cut(mui, muj); + cutsq[mui][muj] = cutsq[muj][mui] = ((2*cuti *cutfac)*(2*cutj*cutfac)); + } + } + +} + + +void MLIAPDescriptorACE::allocate() +{ +} + +/* ---------------------------------------------------------------------- */ + +MLIAPDescriptorACE::~MLIAPDescriptorACE() +{ + delete acemlimpl; + if (allocated) { + memory->destroy(cutsq); + } +} + +/* ---------------------------------------------------------------------- + compute descriptors for each atom + ---------------------------------------------------------------------- */ + +void MLIAPDescriptorACE::compute_descriptors(class MLIAPData *data) +{ + int max_jnum = -1; + int nei = 0; + int jtmp =0; + int ntypes = atom->ntypes; + for (int iitmp = 0; iitmp < data->nlistatoms; iitmp++) { + int itmp = data->iatoms[iitmp]; + jtmp = data->numneighs[iitmp]; + nei = nei + jtmp; + if (jtmp > max_jnum){ + max_jnum = jtmp; + } + } + delete acemlimpl -> basis_set; + acemlimpl -> basis_set = new ACECTildeBasisSet("coupling_coefficients.yace"); + + + for (int ii = 0; ii < data->nlistatoms; ii++) { + const int i = data->iatoms[ii]; + const int ielemx = data->ielems[ii]; + const int jnum = data->numneighs[ii]; + int elem_offset = ndescriptors * ielemx; //data->ielems[ii]; + + delete acemlimpl -> ace; + acemlimpl -> ace = new ACECTildeEvaluator(*acemlimpl -> basis_set); + acemlimpl -> ace->compute_projections = 1; + acemlimpl -> ace->compute_b_grad = 1; + + acemlimpl -> ace->element_type_mapping.init(ntypes+1); + for (int ik = 1; ik <= ntypes; ik++) { + for(int mu = 0; mu < ntypes; mu++){ + if (mu != -1) { + if (mu == ik - 1) { + acemlimpl -> ace->element_type_mapping(ik) = mu; + } + } + } + } + + + acemlimpl -> ace->resize_neighbours_cache(jnum); + acemlimpl -> ace->compute_atom(ii, atom->x, atom->type, data->numneighs[ii], data->cpy_frstngh[ii]); + for (int icoeff = 0; icoeff < data->ndescriptors; icoeff++){ + data->descriptors[ii][icoeff] = acemlimpl -> ace -> projections(icoeff); + } + + } +} + +/* ---------------------------------------------------------------------- + compute forces for each atom + ---------------------------------------------------------------------- */ + +void MLIAPDescriptorACE::compute_forces(class MLIAPData *data) +{ + double fij[3]; + double **f = atom->f; + int ij = 0; + + int max_jnum = -1; + int nei = 0; + int jtmp =0; + int ntypes = atom->ntypes; + for (int iitmp = 0; iitmp < data->nlistatoms; iitmp++) { + //int itmp = ilist[iitmp]; + int itmp = data->iatoms[iitmp]; + jtmp = data->numneighs[iitmp]; + nei = nei + jtmp; + if (jtmp > max_jnum){ + max_jnum = jtmp; + } + } + + // BEGIN force loop + for (int ii = 0; ii < data->nlistatoms; ii++) { + const int i = data->iatoms[ii]; + const int ielem = data->ielems[ii]; + int elem_offset = max_num * ielem; + delete acemlimpl -> ace; + acemlimpl -> ace = new ACECTildeEvaluator(*acemlimpl -> basis_set); + acemlimpl -> ace->compute_projections = 1; + acemlimpl -> ace->compute_b_grad = 1; + acemlimpl -> ace->element_type_mapping.init(ntypes+1); + for (int ik = 1; ik <= ntypes; ik++) { + for(int mu = 0; mu < acemlimpl -> basis_set ->nelements; mu++){ + if (mu != -1) { + if (mu == ik - 1) { + acemlimpl -> ace->element_type_mapping(ik) = mu; + } + } + } + } + + + const int jnum = data->numneighs[ii]; + acemlimpl -> ace->resize_neighbours_cache(jnum); + acemlimpl -> ace->compute_atom(ii, atom->x, atom->type, data->numneighs[ii], data->cpy_frstngh[ii]); + int ij0 = ij; + int ninside = 0; + for (int jj = 0; jj < jnum; jj++) { + ninside++; + ij++; + } + + ij = ij0; + const int* const jlist = data->cpy_frstngh[ii]; + double **x = atom->x; + const double xtmp = x[i][0]; + const double ytmp = x[i][1]; + const double ztmp = x[i][2]; + + for (int jj = 0; jj < jnum; jj++) { + const int j = jlist[jj]; + for (int iicoeff = 0; iicoeff < ndescriptors; iicoeff++) { + DOUBLE_TYPE fx_dB = acemlimpl -> ace -> neighbours_dB(iicoeff,jj,0)*data->betas[ii][iicoeff]; + DOUBLE_TYPE fy_dB = acemlimpl -> ace -> neighbours_dB(iicoeff,jj,1)*data->betas[ii][iicoeff]; + DOUBLE_TYPE fz_dB = acemlimpl -> ace -> neighbours_dB(iicoeff,jj,2)*data->betas[ii][iicoeff]; + // add force contribution from each descriptor + f[i][0] += fx_dB; + f[i][1] += fy_dB; + f[i][2] += fz_dB; + f[j][0] -= fx_dB; + f[j][1] -= fy_dB; + f[j][2] -= fz_dB; + } + //xi = atom- + const double delx = x[j][0] - xtmp; + const double dely = x[j][1] - ytmp; + const double delz = x[j][2] - ztmp; + double rij_tmp[3] = {delx,dely,delz}; + if (data->vflag) data->pairmliap->v_tally(i, j, fij, rij_tmp); + ij++; + } + } +} + +/* ---------------------------------------------------------------------- + calculate gradients of forces w.r.t. parameters + ---------------------------------------------------------------------- */ + +void MLIAPDescriptorACE::compute_force_gradients(class MLIAPData *data) +{ + int ij = 0; + int ntypes = atom->ntypes; + + int max_jnum = -1; + int nei = 0; + int jtmp =0; + for (int iitmp = 0; iitmp < data->nlistatoms; iitmp++) { + int itmp = data->iatoms[iitmp]; + jtmp = data->numneighs[iitmp]; + nei = nei + jtmp; + if (jtmp > max_jnum){ + max_jnum = jtmp; + } + } + + for (int ii = 0; ii < data->nlistatoms; ii++) { + const int i = data->iatoms[ii]; + const int ielem = data->ielems[ii]; + delete acemlimpl -> ace; + acemlimpl -> ace = new ACECTildeEvaluator(*acemlimpl -> basis_set); + acemlimpl -> ace->compute_projections = 1; + acemlimpl -> ace->compute_b_grad = 1; + int n_r1, n_rp = 0; + n_r1 = acemlimpl -> basis_set->total_basis_size_rank1[0]; + n_rp = acemlimpl -> basis_set->total_basis_size[0]; + + acemlimpl -> ace->element_type_mapping.init(ntypes+1); + for (int ik = 1; ik <= ntypes; ik++) { + for(int mu = 0; mu < acemlimpl -> basis_set ->nelements; mu++){ + if (mu != -1) { + if (mu == ik - 1) { + acemlimpl -> ace->element_type_mapping(ik) = mu; + } + } + } + } + + + + const int jnum = data->numneighs[ii]; + const int* const jlist = data->cpy_frstngh[ii]; + acemlimpl -> ace->resize_neighbours_cache(jnum); + acemlimpl -> ace->compute_atom(ii, atom->x, atom->type, data->numneighs[ii], data->cpy_frstngh[ii]); + for (int jj = 0; jj < jnum; jj++) { + const int jt = data->jatoms[ij]; + const int jtt = data->jatoms[jj]; + const int j = jlist[jj]; + for (int inz = 0; inz < data->gamma_nnz; inz++) { + const int l = data->gamma_row_index[ii][inz]; + const int k = data->gamma_col_index[ii][inz]; + DOUBLE_TYPE fx_dB = acemlimpl -> ace -> neighbours_dB(k,jj,0); + DOUBLE_TYPE fy_dB = acemlimpl -> ace -> neighbours_dB(k,jj,1); + DOUBLE_TYPE fz_dB = acemlimpl -> ace -> neighbours_dB(k,jj,2); + data->gradforce[i][l] += data->gamma[ii][inz] * fx_dB; + data->gradforce[i][l + data->yoffset] += data->gamma[ii][inz] * fy_dB; + data->gradforce[i][l + data->zoffset] += data->gamma[ii][inz] * fz_dB; + data->gradforce[j][l] -= data->gamma[ii][inz] * fx_dB; + data->gradforce[j][l + data->yoffset] -= data->gamma[ii][inz] * fy_dB; + data->gradforce[j][l + data->zoffset] -= data->gamma[ii][inz] * fz_dB; + + } + ij ++; + } + } +} + +/* ---------------------------------------------------------------------- + compute descriptor gradients for each neighbor atom + ---------------------------------------------------------------------- */ + +void MLIAPDescriptorACE::compute_descriptor_gradients(class MLIAPData *data) +{ + int ij = 0; + int max_jnum = -1; + int nei = 0; + int jtmp =0; + int ntypes = atom->ntypes; + for (int iitmp = 0; iitmp < data->nlistatoms; iitmp++) { + int itmp = data->iatoms[iitmp]; + jtmp = data->numneighs[iitmp]; + nei = nei + jtmp; + if (jtmp > max_jnum){ + max_jnum = jtmp; + } + } + for (int ii = 0; ii < data->nlistatoms; ii++) { + const int i = data->iatoms[ii]; + const int ielem = data->ielems[ii]; + int elem_offset = max_num * ielem; + // ensure rij, inside, wj, and rcutij are of size jnum + delete acemlimpl -> ace; + acemlimpl -> ace = new ACECTildeEvaluator(*acemlimpl -> basis_set); + acemlimpl -> ace->compute_projections = 1; + acemlimpl -> ace->compute_b_grad = 1; + int n_r1, n_rp = 0; + n_r1 = acemlimpl -> basis_set->total_basis_size_rank1[0]; + n_rp = acemlimpl -> basis_set->total_basis_size[0]; + + acemlimpl -> ace->element_type_mapping.init(ntypes+1); + for (int ik = 1; ik <= ntypes; ik++) { + for(int mu = 0; mu < acemlimpl -> basis_set ->nelements; mu++){ + if (mu != -1) { + if (mu == ik - 1) { + acemlimpl -> ace->element_type_mapping(ik) = mu; + } + } + } + } + + const int* const jlist = data->cpy_frstngh[ii]; + const int jnum = data->numneighs[ii]; + acemlimpl -> ace->resize_neighbours_cache(jnum); + acemlimpl -> ace->compute_atom(i, atom->x, atom->type, data->numneighs[ii], data->cpy_frstngh[ii]); + int ij0 = ij; + int ninside = 0; + for (int jj = 0; jj < jnum; jj++) { + ninside++; + ij++; + } + + ij = ij0; + for (int jj = 0; jj < data->numneighs[ii]; jj++) { + const int jt = data->jatoms[ij]; + + const int j = jlist[jj]; + int yoffset = ndescriptors; + int zoffset = ndescriptors*2; + for (int iicoeff = 0; iicoeff < ndescriptors; iicoeff++) { + DOUBLE_TYPE fx_dB = acemlimpl -> ace -> neighbours_dB(iicoeff,jj,0); + DOUBLE_TYPE fy_dB = acemlimpl -> ace -> neighbours_dB(iicoeff,jj,1); + DOUBLE_TYPE fz_dB = acemlimpl -> ace -> neighbours_dB(iicoeff,jj,2); + // Accumulate dB_k^i/dRi, dB_k^i/dRj + data->graddesc[ij][iicoeff][0] = fx_dB; + data->graddesc[ij][iicoeff][1] = fy_dB; + data->graddesc[ij][iicoeff][2] = fz_dB; + + } + ij++; + } + } +} + +void MLIAPDescriptorACE::init() +{ +} + +/* ---------------------------------------------------------------------- */ + + +/* ---------------------------------------------------------------------- + memory usage +------------------------------------------------------------------------- */ + +double MLIAPDescriptorACE::memory_usage() +{ + double bytes = MLIAPDescriptor::memory_usage(); + + return bytes; +} diff --git a/src/ML-IAP/mliap_descriptor_ace.h b/src/ML-IAP/mliap_descriptor_ace.h new file mode 100644 index 0000000000..435746becf --- /dev/null +++ b/src/ML-IAP/mliap_descriptor_ace.h @@ -0,0 +1,53 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifndef LMP_MLIAP_DESCRIPTOR_ACE_H +#define LMP_MLIAP_DESCRIPTOR_ACE_H + +#include "mliap_descriptor.h" + +namespace LAMMPS_NS { + +class MLIAPDescriptorACE : public MLIAPDescriptor { + public: + MLIAPDescriptorACE(LAMMPS *, char *); + ~MLIAPDescriptorACE() override; + void compute_descriptors(class MLIAPData *) override; + void compute_forces(class MLIAPData *) override; + void compute_force_gradients(class MLIAPData *) override; + void compute_descriptor_gradients(class MLIAPData *) override; + void init() override; + double memory_usage() override; + + double rcutfac; + int allocated=0; + int max_num=0; + //char* ctilde_file_name = nullptr; + //char* ctilde_file ="coupling_coefficients.yace"; + //char *const ctilde_file = nullptr; + + protected: + virtual void allocate(); + int natoms, nmax, size_peratom, lastcol; + int ncoeff, nvalues, nperdim, yoffset, zoffset; + int ndims_peratom, ndims_force, ndims_virial; + int n_r1, n_rp; + int chemflag; + int bikflag, bik_rows, dgradflag, dgrad_rows; + double cutmax; + struct ACE_ML_impl *acemlimpl; +}; + +} // namespace LAMMPS_NS + +#endif diff --git a/src/ML-IAP/pair_mliap.cpp b/src/ML-IAP/pair_mliap.cpp index 66e8b848cd..f68e9c0b56 100644 --- a/src/ML-IAP/pair_mliap.cpp +++ b/src/ML-IAP/pair_mliap.cpp @@ -21,6 +21,7 @@ #include "mliap_data.h" #include "mliap_descriptor_snap.h" #include "mliap_descriptor_so3.h" +#include "mliap_descriptor_ace.h" #include "mliap_model_linear.h" #include "mliap_model_nn.h" #include "mliap_model_quadratic.h" @@ -181,7 +182,9 @@ void PairMLIAP::settings(int narg, char ** arg) if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "pair_style mliap descriptor so3", error); descriptor = new MLIAPDescriptorSO3(lmp,arg[iarg+2]); iarg += 3; - + } else if (strcmp(arg[iarg+1],"ace") == 0) { + descriptor = new MLIAPDescriptorACE(lmp,arg[iarg+2]); + iarg += 3; } else error->all(FLERR,"Illegal pair_style mliap command"); } else if (strcmp(arg[iarg], "unified") == 0) { #ifdef MLIAP_PYTHON From 8a53542dd1bfe59db1ea8b4aeb1a5c92cad52804 Mon Sep 17 00:00:00 2001 From: James Michael Goff Date: Tue, 16 Jan 2024 11:59:25 -0700 Subject: [PATCH 105/559] updated examples --- .../mliap/ace/Ta_example/FitTorch_Pytorch.pt | Bin 0 -> 244585 bytes examples/mliap/ace/Ta_example/Ta_Pytorch.pt | Bin 64620 -> 244585 bytes .../ace/Ta_example/coupling_coefficients.yace | 135 ++++- examples/mliap/ace/Ta_example/in.numdiff | 94 ++-- .../multielement_compute/latte_cell_0.data | 172 ++++++ .../reference/desc_out.dat | 494 ++++++++++++++++++ 6 files changed, 832 insertions(+), 63 deletions(-) create mode 100644 examples/mliap/ace/Ta_example/FitTorch_Pytorch.pt create mode 100644 examples/mliap/ace/multielement_compute/latte_cell_0.data create mode 100644 examples/mliap/ace/multielement_compute/reference/desc_out.dat diff --git a/examples/mliap/ace/Ta_example/FitTorch_Pytorch.pt b/examples/mliap/ace/Ta_example/FitTorch_Pytorch.pt new file mode 100644 index 0000000000000000000000000000000000000000..a76008f3421eb45ebd7fadc2bd1d85a2a53482ba GIT binary patch literal 244585 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

p7fP8h^yP$crmSW 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 SJPD8`E75X#{!jeO`+orRSUPS1 literal 0 HcmV?d00001 diff --git a/examples/mliap/ace/Ta_example/Ta_Pytorch.pt b/examples/mliap/ace/Ta_example/Ta_Pytorch.pt index 79acf6e72431aad39308a868c3bc6e0e4e7e9a5d..a76008f3421eb45ebd7fadc2bd1d85a2a53482ba 100644 GIT binary patch literal 244585 zcma&P1$321*ET%36?eaJx8QmPhXf4}f@b0gL^u&3K;R}sNJ1cl;5Gzz3Y6lxp-6G3 z6dhbkp`{e>fA%%!U46dy`M$OOXRUH&@7c3w``kH_XMkI-+>GVV&;ILwg znh+i_HnQ=Ah~Oyyg3vQG!h75}|A>NiR&TmJN31<(T~9hWD#ANBEI2ICo@=IOAqVX> z&O5?8)IZ8UBGR7Q*Ec*Q#NRh6I6N$}VE+g|{|JA-Zo$4$1?_q2x!dzXftOEoKmbYS z3nFHI&x)iaEIiE1aav?>WR!nc)c?qMMfykC3;23D=-`m3;4m+*f(}kWd%;omLJ9Wo z-0g)uOVVy1Z{M*Kyd(U)#zpvh1%-!?jkFhm_M)Ce|BrRORt#&!J{~lEt5>>RpA>rPB|Ec6(v8oU= zbSnN!EIjgm4y*>b>N=01;eOE}{*m??VAk}^nqrW@J=#&H!QLSS?d=?fw~w`Va2THKG`yqJ@J`xrTY{at+dDfA@8UGP z>%WF~a~j^=X?PE(;XR#(_i`HE+iAF~({MMZ;eG0Q=5Scv)ZX{MjSg`b>>W|Cj|O`` zhqe7XtUwtMz1&^5|F zY@i!+o8dMi(LUS(ITGz7l2H*OqwJ&H?W1Rc@Jg}^ce}TzV<A#cYCl_H73bE*4-Ww?aW)K&RbZ5J>1v{<|O9~qopH^}{e`R-zm3-au18Bz8b>TB-m$D2Zq8$TgogI#l{gS)=^8aN0iVob>1p762`*mmFesKow#=n94)fu>(&cNMr2JW^qaCe-6yXy?x zJ!jyQGjR7ES?B+e^%nLAL6pyjvGzy*5uwMX*zoo4;+H0zDithY|H{&1T0r_-!=L5?&A{hPR!_P>z0_p$cB|HG^g|DCv2_K!N^ zpD5xv+#GrPtn>CoNBwJ*{hPb}A4ENZIi`J5L=MNl?h!d1|Nd73TSw#~wx?T;sEFK- zpP)1$B9G%oM4>uQ zBW~)5a`YoE>xlC7Bkt>n3iKnc?1+l=qppP<(LT}9K91Wv64#lZ|M*~E|A!+9A6I39JPTD2$`QN_W-LyhAhl&-nRh^h`w-@?(Jg&i#!=H=%f=^GI| z&T(r+Mi`Ejo?HmWf@4!b$3J0S{*Ff&$Kya`L^a2vo5PUC1KjfE|5~X0@DRr{GW|E; z|M~1*mKFWKKf5<++M`P${p60v_u-DC_`w{1+vwnjZi$5AR+Dr>=AWNafypf($LkaTpUvM7nz?LF#Cl?S3Zd+BAr3gO9nMiNI>Zpo{`dwz zc!w|XHV3Jyj7=bv*CxSF^T(;lM6)TgqY15sXsmrpy5cp4Q)nAm^j81iGB znE*fKovNVK&Y`f+YW{k9HreyTAlPp;O$W-lGd1R`gt{?Cz~`zyvzy<{D?NsRhmfayppeu(t#EZQzF_!pz#uHsXg?zQ$PvZk1_c9RqP;TRJF2CQeE%Di${Syd9uak(s zrPlN&J*=(^_-2WDNkpr0!9z&SI#kM=Xwle){3zEps0ZG*H0ssZc}&;q_TzCRF9$b7 z98|_sZD-LxBB1Z^(haoEN7gUN9jK=LDT!w0inWC1qfT20)xBJs!2kC58bag5A1kqb zqvkyDA1z0GttVz*qODC?@K5w_s_QZB3Gyk5CL*7F+X&cYC3b_qs?zJhv`_i%3?>wJ zx+319!A!`@Lo+aEL})(kZ{6F_%K|^bFP?XU##bqbxA-wKg!J&+_L12RWUnU!tx2y( z5G@|f_9WzY=R^{kxs##@E%!PTL1%@{09|cgH0Z-M(0{zuusEV+<1>>8#ZN6_fsHah z9Cpw~oyX`0Uiqe$%RMWB*4cyUm}ktNLyy_)!AzTj&1W4&99Z(swj^g>I<4o%&yCRM z#@u^?_^bVj^6-V->{vSL&0Mk=@e*G=5nuH* zNym3>6+g1ms{1$|_D4IG-?gSd20L09ySLp!yZp2Wcvo8UaTdNp+sBq8uZHvjZqgO>m}@GJ({C`MYkmM ziM&`{`!ym$&jbH}aN5sb+(#T)c9-hVe`JH1P5d#v5Pzd{a$llZv$=TulnA2D!wFppjrX_vf$q~9ePdqg z-#nZ4WtC__sNSUbLN2WNc%se29WlSyA(x@VSJ@fJkGMKz8qxf6CB#XUh{b)!J5u8@?l4mLQ*J|shH;phF`uANWVV1ki`Cr4Y(HO%e%t>~5enWZGDw zjT4=c!GH7<^vUQD=;Lp1L601k8cyqM?!6=%VT&~Q&)yyBN_^oOpGGL_dcZ%Px5y}> zjfY{{u46oqXeJ-}5b|QNdjD_xAkWJ8MSrNLpAaYcZ3ouXJ2&KA-rnYCqwQz&>pEPu z3Uy=bNl7EVdBCRotMEeX6T!bAuPl8#`iF0Ol0tIUAJ3srMZZNH)#k%3!A}t`gly~$ z-On!zz;7is4J5vCA-+GM%vY*5Iab#<>%1{CXU7-pF-N_s1MV_rbBndhYeR97uBf=_JHS z-R^<=mwE2=!2a4dF<)57Xp!xZvxa?!A8cJY%m?wd0_LBYHbT!s-;Bv5rv`k*xn^oE z?N_0Du-6zqPt(tSM*hqLyP;Q2IXV({{55+t@ZAE;6*ci(H_~V3lLf%PUoe7bHZ*NC zq0ysAZ$gpmJ%vymUgm9cpxpJQ9nt3QIq=I!o~ZkLNhjS;ZSO^qoLJ_Hyvx}|(Jz*@ zUDr{+ugJ4iqu&OS;|=#UZGt`L$=$y5)5P$Oa#Pew7&jJB(6()3Y7x z=Je5VgofAL1mL+A@Yjq?!MeH|js6lV+RmhPVQ-sG$gf?~em#Aer1=F>30d>%pjr9{ z=oJOB&`{Gd>HF48_(N~+1U#3SA*V2xREu^aNKO=A z7D(&nzWu0EdE{*_;`1EI`hHtnXdwX`*Li2QGD02hpF|6T>ftAOi-({IaYls$K8t3G+zQkt>(d?l6dO~Y?f|eV-33VmkmDYI) znTC00cBzCos}?VNK<~v;_m^aps=0-lP`DK8zsDCi&ktg=} z5?cA5O(YaM8%!cpeXCBz`sSyoYk4#ieQ9{spGJIh`475&XL_2DPhSHxn%vUA2gLo3 zI+s%>rP4aPG7f#gZ`_#$y|vD3`A6k37p$R&F&E6K`hGDNoJIeOW&49{bl!)vxQ}J? z?`A_^*LtypR`?azWxo9zb;o<=!TrFlKATGWj1rrXcX@6^Jkj#eHJm4W3nNZ);e6B~ z-*pOgBW7$we^_@4V!ybgf8R8l-$fr;McX8i9yN6i=8W|y5&Dc8QxGrnOeEsV{&*co z_Q}uTV+ncfwlfIDnrP&eh5r&xw2IBp^-!lb{9qTxhC+UHb?D)~P4)fw{ezLjms=Nk zK~MEW>{Blm=CqOC$CGfsn4L29+^?I3xEcOGLe5&$75&fd|AaV*+{?7TPi~>^n3sNi z#XP?Q@*}UD+ zkn6zVhw=Hc&fCe4@Sm?gJ%rZHqv^eX!)iAK_S)k|C=zmn5V9#*@LQ(N3?kZ!Sc5sh z%1neDkK2R$gq=ShWpk|a!akT+M%*c#pZqH{p8W;>SviAseoI}`@mRV7d1Y0W0;TU2 z$cv~W>q(!Pk+2wgL#wPHRFj{tCbWw5-VA(f6yYS7f52 zJK}1VKZE>PQ-4PvT0@q`L9T#@u7e@1F+X_vR^(mrUXy6uyfJbLp*$Db&_=lKNe1{X zDYFQzkPdS|H?5cs`uy!gLZjLTRp~M1iePnfr!8ORyvv1<-4evguL7!^bsFY3Uh;R-HLkP zEoPIVTUk}%r~KhI;>|i8#avNdvEj7NKhJ|4uiqH;Z{;{8p!bK?s0-^^^$|p~ z=`;Oo4p5itYrl`QLfsn!8jdGE%UKF?yysQeDO&gdtz{$Nua&m~ zE_sCg;?6ecQzPz;0RPNMh#8)XmP1QD504n zp$FDI1EE(AE*@rc@Qqw``w&_mChPp#%LCPh+mngUmoA-1C~H*KahvlS^38^v0E+9q zwBHYIN|IAKJoS3>9=IQP=Ke*{-?$>?fc&G|2BOUe=ZkTYAF>(iJg#98;v0SUV;;)x zn=`TEZ`Bb#Htwdi9K@r_a2rW1;$XzR3np52zJh#PO>0iGIcU+<75=izsqj~gO~5>`&g<8)#l$k`3x51C z?gw>y4A7Xp0Q=O$UAi8uZhHM!w*=BFtImWzL-vg&+M4b+&`H&iyzW{`|2?_feT^Sm$p(xe}lCA09~Ovhcgn zz*XgD0{7L$9JFFjBj3X3U{m6&>6PaY8rL7rCNwYBP9u~#R>D7HL)naZlQ(Ml+DW)a zL`UcE#lz0&xm|22huqND5roS14dktc4@YG?Xk%hYoG%@fT!S)+HrqE|4xARgmXM!2zXo*pz}1ATTZylPR?qi{qw%75fAA+4oty38 z8~6A0CA3zY4kzSUD-kdCI1zK!eE!s*`07!uk%XpLU;=BVq8`j|rJ{(oCLcrm&HZoj zTxPAg9zuNS-&X7SwsjcMJbqgMp}KdWH}F;j{50mj#GDj~_4U2H=NnLLEegBMfyIJt zj(x`5r#h~^Z}@;d+_4?$v2yneAX?nWK>p>zb9IPj4XO)5)iMBlQ7IMimvds#*ZfFs z^ojiXr>=9)uc&)5Z5H^};~3P15f%?SxV^p)&O0&~&kLeUU=+?RpM<#}8qGyqS=K|u ziBEUa_3-h$pnb;E0q9enXd>@M!Cu;)nUCY4r~M!Lob82Th*s-QV}9_nO;Lv`sUPBH zs@OPMXVwtdXWhSozEghdP)BTRH(gJSa^M`fVIl4Tv-;^|vcuf9SI>3V_V8P5$k6d< z+7xr$cy$kYs8q6O|Y(r+u0LCCfrnoFqGPtbM#;CJ|^hSmb#9JU4X!FsSC{u|j} z;J5YVdIas08M$=54Q@7$Xmk0mpp7nh+=;f_e+FN^nt|s95q{A<+rbxSx9I(&tD>%1 z(AQ=p&%S++IyBF;=nlEtNdd&?fnO&Q8fAu}|BYeZ!-%#@{yG8cO#gmlu1)lS+=_>~ zkLT>O6RkqhM?mh|8{~&CV%nd`Ntg@j)ko-2b2<3(-E`#Nyz-OA_!q;o>HOqFt4WXf zslZY~*0RM4LYaAO6`_&3WeuU|`AE~j?=?Q?Cc!UM_HW?esQH8}s!>F?1LV2^+OKD2 zP><}lLE7%YW z73-ElJ@7G&kwXVDs&`!MCV^QA?q`|8=)#{!(25Ij-wx0)b#-H1B2|4 zdpL0hq3L>i3?aX`8Gaf2ZcPV0Hdi!o;?)>J^*$od=0KKgpnv(vuILNi#$yhxn+2Dm z-sMy;)QwfLvd;g{8%JVauMQ^3@k4RCkFMpzykvQ9fNx#@4f}b(8|*hnc%Uw2g_?RE zoa%!*Fpg!%lRhi7j_&K@v4{tsq<_!m&3{8&jUxu)C?4zg9mS2tb7>#X<@}t-vWAGO z^`*D&qpI$>SIqZuvq;V;v$YQ{Am zLKYVi1iDTgJa?MUJGv2V%8vaB#k(q@gw~$oMF{1ze`*l&x*c%7)n*y$l7Cx*{cPK9 z#8++Xfxc(Ix&uY_W6T9M?XkXZZt3@BS?-dU2eN1o&?qm^uh!}6>*yTgO`}D?scV-J znio>C2<5ShSZ7V{uf}>taUf&cAjc}`=N?fv=quJspVjrf#07n6WqyL4d`EzPHu>{* zR69b;V*~2M_&OeTss|--FY@UN18Lp(x~e{*+BjkW_LYksNGMNN$2_#o4C`kjJ$nma zj#%AQIMHTkdCWs&URfQNPcz37UlhFxhc%;erH_I2RqC{F35xG;y;As%>AzD13Bs=;%+wIxq$fMbh~uu8TlvXgju5H zJfh{j5#Sp|>Y(1t231kNmg^Us$5)S82)#)+``R4xd{0@#)9CgY`}vaIiO@6eV=AHb z*8;@NY~Nq!b9Xn?DQmQU2KJA-gZUtv6ht3bC7X{YKC62bePw$2pdR>z*0YH(%NIl3 z)QR@GZ&vis{3;bN7eve(^p&~bXFVq>Bqxv^>gVxOfga~#3Hj2YdVYPF0ecPCUb-&! z-UZ6(tKvwG)wziM#_+e`Ta`LYhn_J7fbx&p&}X(C9S#22kw9}rYs5{IZVms;^Dgl= zhdOgj8vL@_{@NP)OC-U5F{}#Ee3J+L&!_*Y{k+o{{;QEP}Y0%UkRE zNxY2wu<|GR&^aRM%ar_j1Q`aFq{^&Ag5;S&kkEbFQ3uUO`EoM(@l0XcO) zhEVaaiG*U`)X{|2jJb1d4&>vuqF&_HfCQrD^Fg}a_pH$M5E2kUd~?)LXe69_o4a#`%2JEd+HW%IWuY zjFj2PqjXsVd(3jVFjsl!vL2*Q)z`0w$_hK+pV_gw_OnPP{IsUGfSoE}E8-&Ka>75g zvJ=n<=?QsN>@C*Sjq*UgszY)%+5hbG975woCh}~>mg-0}o7F+*D_{@uDe~ygYnq48 z!yh)_s4L{w#Luxg#8th&W)qr4GcXs77q8Fk|nvhL;+dK-Tb(wn|_N!KfF(2i<0fUIoQu0FHs&)!_V(Z`Q=Yw~v zA#Y?)>_K{Dr;&)W`0YOU;$f&i@mYfy%n3H3HS895SB{1J;>a-4FGKHQz8Z}dV!rS; zSE~}=n05z#@VssdFv5?a6gw1LpvUvv$j5q~ff^t1x-$2ffg=kuESeG>Vl0OJlhb-mAU zk`q%e1ZUH}KVAD0@}{2yiEq7civE)!e?(#Z^Z@wH`R#5*o5OYuCRD@YJV8HNGQ>vo z!mIrW&1To^gfgu%>VzM-WMaKZe$;`QmjnKqJs42cF9|e)?V6uk;(XPtCD2T{3Oz>5 zR6%<9tT6NutM?i6Lm3-peytW}6MZuj_0H${XAsTmRLCT> zYK%dDE8_#^2@6>P{WAVJ>PB5%xCnAL-+R~`@_h1f%t5nXlljEwiCLJh#v|Q#!W=Y- z_{OE`@Y`B30P~M+nu>X&Dr5nz8~0Hs#Ji0*G`6A>fqBrvd>ESYZh>4bQ+T&2dh8?^vTx;2ihF_B-6h?SoZ?-yjyhycBwPRVZTvd zfBt}vZZw$Wd2Dt%p(s8dXvNo?1OC%8@QZ(`0lsY09{tOncGL4Bs}bU01=>&#@=1T# zWA2`TICGWZN_xzU@p=w@Sq8pw-5Yf(wp5D3IkOHU&z4Vk%WQ`{yD$v%nEkGBzIu>4 zf#leL3HsdbcM)GR$`|ujUHYi|`bih?m6(M3Q)@edZ@hhm_*;>~blpCBjDC|g{rhs}EB*!m=uOJkQzQa5)N?luz z{rL}WBQ(mK*^Kq$L)H?q<&zg<-E|G}!EDKxXL4!+;=nuP#GJ7TmpMst=7t^ZvK?q$ z>#Y0j`Bcm+Gkgu|)cVrakJkCifUbnBMkM^_JzDtDe&bU|^a(p1sQYtu0OD?}4MaX< zQ~kQRSYm@6{Lh@2r$*44KG5gAYXG5Dz0D9pH904q|Jl2Ip;+G&6HX`>K8z$3cXyy3 z%~M_NphJD52~|K9@ReVE^f7DuYzpyNwT1(+{-k9(P*h4H6x}PQ5b_M?_XVte*l+w& zK=)f#P1tYwZW#snQMob+WlVSYXV#twyNq62W)t7=`5E`7*{>$*K^(X>&PMu2N8mo- zeHviEp~@#(ZEu{fv0=)fuQ4 zarg)1(U`YK`|s8l$fmbITx9n!{hYYKOZ$JnkM=tyI)KjMm5$+_kZ;BhqI0b7OXGpJ zb4?IJx;U4=n^}`+<9AmtLTk!K#M9`g>rGsLqV-*NeqX1z3L-sX_AU5j zG_C``t(VJm{zq-ZT(VZ|z`A(uf_#elCxNnH3hoc})eCb$hA)$(kDtDlMX3I$yq-|@ zue}BQWhFNdvQKN)5E|3(uOhT+-dPBGeeX=*$e}m zd{h8-7=?XNkK)5fk{fw4YInw5Q~}@Xx?kS}esXbB`@PXb-AeyKKryTv z=Ds}HrZb%cC^lah#5hAtES3BwE6ip>{jP5 zjU&G5*$DZydd!9$tcMMD@&>>9k-SJ<*pcL9!C+rPqhcFv&;03{zJFVv```xZfL~hy z6eVZq=ZVIRLuj8h{b#*C?USyvC1-%cKqTZXWGd2Rd&e6rDfpAY>s|<`eR>hcdx0`T3O1L7Rs@ zfG^j4T}phb?Y<1G58MD$3pPWab!f#B;>+Xb^}5j-dJO*s*e7oHTtMr5bgdPH#_e@k zgsSH|UGG6Zb+I{U)^nFTp|SF`j-S02>OkzO1Ha_zk&(2IElon-%Bw$(AzG&Wig_>Z zl?x-9f3CKjB_9CwQQ* zr zD)%ZquO|yd{uX0%tQ#?IsB^Q{ z_lTRa`_;g{#`-x)-Jd$0TnLVLD$@%-{w_Avl8d|9h@#P(BLAC>pR_;>>S?HTYLaSwu za9U@5%OSr;e~;S4=T{m;5#O4dtmnYgbQARDX~@6zJ{5JwM!wA=zRC_qovOaWW)p2> zd|gT?hJD;XDCb{T4}Oy#s|oqBJeh>5qMxqU&gEf`=rMU_wu5hM{aM$0bzjh?OR03? zi8s~)=`XEi-LmuS)J7-+uioW95Z=?;0h{12@^ zXJ^!l^4IU{nK{pFfNyKL%k%&7BUyM58dAC-e^F_xMh&NyJ!IR{8qtEf+ zx7`;)Xl*Krxy!{bnCsRe5lDRF=wk4VA6tPhySzcavsC>(Xz{dPedsw@KhWloXU~cu zZ&uIdLD=tlZ4mf}_4f~X*L#>Rd}!Y;#Fqu@C6F8+9f0_l)hqP`JxBlk!1f+Q9{Kk! zdJbH_j67OV-_NA|{L5Oz!;D{%Otd-L1@m3Gm)7S5{*glZfxmlMrS z48LM?08iVC{nn+gT93~F$jf?PCCTv-BbN|bKVAXfjBd9IbmkbXN9+MDz3*pf`G(r> z>PwJkF1MgwSmPY1D;1_c_aVD%ZEqvJ;kyuLH9e&>(R^Io5a>Uh+LLIpdz2fY(Yef{ z!$glx8%DI1W5ifOc2JbRbx?o))Y`BBea@rHV4s{fcpS-_gQtF==K>M-E9RB;(RB))$0sYGd14CY zweaj?CqBz==}l;I0Ea>ytTw^ojGXu7p;ZDTs><>^m*n zLG#70KpVx5g%GVS>CgLG<4?hE^*IB15R>Wv)zjnHr*g$0?$YZ+4DA!6%V3>VD6Zw| z6ptmonXym%UnP%8w6WV?^N-d=Jk?ewf5l(AU)?s~`N|l17LzKG(T2*sji z9;Amq^K>Vg4RgG;-~i*xT`xlUENUR=7#|<3f1M$LCx*`_RMx45gx1d;mk}DfVpb8F zQ6Dtc-n9nncPeKAt;i*Ws=`3jxtuIuCyQ7BKh)*uakS2kXL3Tbc#J=xA?Hmb6lW_= z0}gqM_b)^%m)=^g66#$Xy%L1=mvPu9g04gpElVb#E-fpE2|6|p@~WEMM4r{{y~w-a zwz+M#L*9yUZ$_x1n^z)v>zu16Fs-E^K6{{_SLNiv=m)lXDDq)lIEa2!RgUXE*=0>8 zc`>9E`i=Ws55@jw58w|!`8knjzOf>n7x?Xph=<{mjCoF-k+>%uZ2*R?wGYkbI^ zf&J09pqE`=nx5^@qxRPcAmnQnp5-hXkDm49p_M``8yAxKbY&#`6S0)xQpuY#hT1nWYChbq4{pOCk@LxXahxizu z>&_;=8W^ab7j|~U{1yYJ#N)gJu80fUHXipS>lBLp#^xc=C%GTu!BXz~(D{7Yw0?wU z`69@Rd|bW}(Z=>?@L%*dkY^UX3H8C&ukgaY^6uydD|Ub%(Jb_kKd{qkJ-;LW3WwZ3 zpTQSPOF^D{4@W#y)*_rQC+p`c;kg(0j@mjz&zV(uhS}qi>f3U1O?Pp#8SWD}ybj8Jx^J2>h`AQr5o~=~tK({;! zIn(p$8lugJ5t2}z+JLyTONDfQmg)n4tTBhC&^n9ex<7A+^~Sz;H3P73_^Anmy!S5L zlSZvvJljDVi4UIM_XM&9WvRq z4y}t$`ty9|wjp|M=4|3eeD&Q)+^@V`1Jsdh5;X(*@*fzE^`IooQM1$!@XPT!%6J>; z^E-n0sO2{?f6dev1Bq{y+Kf687p}l=tKsw%;;S`>F>lQ^Pav;WnlI{LZW^pA`olPUEgk%C`hK-sJz&4c(y!+ljX2gt{$rCM z_wxypP%Yhxc(H`S(8K>|hB;%r2uPrH_Bk!g<^WkdC+w1u%MnNOP_VA2c2@_`x=Kt< zCS<#20flEI?6<6DaafNpuGjCEKtA}omFN?5{aEM~S9c+vZ13m5Y=;_=T&*4LlXK2? zClt5ejw9r~77PU@v>BA`ppB^RengvoufaF+Ms+1VJ6A>5b)W9KUYnlReH!hKx)pCX zK%eMy2Yq5bb;r8#s{9zzXVvI~xh?|-p|8|e=jYx=jO$P9qMq~b6-;S{K9P6y=W%%mw2_mGwBU z*oSq%zNtXIb%G??8aI6&Fg*?NwGtu{WBbpKJu<3f9#=Q$CGJ9GVB&x8JHSQnLc zfHqfl4Y$!bCrcup#-d29TXo+cf5!X2uwMelQ3ZZ(F?nUd?&257TWe?tu_q&f`x*2?t zS{w6)oruD`7B#(e{@%St9%PP#ZAso}*AR6r+r+_tHD_cH@vXlSai5xX^!s&Uct61o& z4`#~=+TJE9kQ2}6PM~!eXJFo0k49jhT)Y?gmo5d7Z&UqH*5;7o%|5{&QBA+TsazlU z(|(>ha2U?HUpbOcRQouN&}ta#OUO?D>_I3?X#Yh}H`I+R@&od1EMGCrM(ZcX>pFW` z5dN8dGY~g%MZex^tQe^CePAN;&8z9pD_Na_CG8ivT4fQkL;jc-hRc`@M4LbPuYvyJ z_kiN$K*(9CW+v7b{)xJh+#PXXzq#UGl0o`=zQ*NQ+P;=7p5%FwrSGAq`_qUP4=*AQ z{IUz?2>Y!kO*RDc+nqK{8VZEaMT&~J+fj+BXY#`)g@1Q=- zK1VU{tv>zzvK@NV71o!~yzmV9V;lO$fIlKU7JNhBgFJF6{85GU=SR4x7*Ff`b^ED= z;`iCeH-Fz*&vSF^T;j9IhcQ>!^<`<08=nVgw)uoPW1brb`whRA`krVuF^uHQ9KM-^ z#x4E17G7l==9lU)Vh-{7qI|l(4lRbA{9;?oO?hh@^ofnH5^WAS>t;UWgS8oyO0@z06&LBQ>?{3Gwk?s5m)w%0}_~OBA%nh@^kv>?jn?08JR@d7z z302XhIxoJtKwDN|I`P@GL%}3(+}(}35QT4)}Wh>z(%&lhy9=ekbztr<;v#W+_V;u{`05l_~o zsSojGIXQw*74s0ZE-E$}PP8?%+*^8G%3Q1e9sp}Mb19>u51Er_pP zTG($yy}|Q?3~zp%T0$e^)+Ry~F?T)q z6Bc4Fun8wI7tE%{V&e1S-(?VrED!Xd3{kkxS%iMw!Mu4AbHO-J5B)9%-bLN1-Wz5? zzdESxD%%_RWz$X|Ppqd6bKZ=-e3|6fK3C+|+@n9oCyWNOiEsX~9`$c-YY%<0Yrvpv zlHY#@b!80R4&>fVG<|(J?jIv#avaI2CPiit%5Q(fgO0kD3i|Q);46Dj0{AO8={gRt zl1Q{zvCif>-Cxnh>N>w9K8{o=~{7 z17GIXe}_QzzY5w&e2MrN#cO(#UNe8GP?9$utq#EcN7H+PR%4@R-RPSGeu$QxFn?L3 ze&3$W{oWsPn=AJdFbB-D?~zZV{ZjOyQCfzQe$&kr_l@HZ zZA~OvY%YO$$RBXjm$G-qJTaS;K;4;hCfl(uV>0r`3U2K{=dtchTM=K@E}-L9zKAc; zd{;93w5pZCKDB#5IPqD(()!#q<_@{$Ezm#ar%sp`rdwY0ktn9$f3udf18tP;9Aa~9 zx0X*uf67Z|F#qKJwz|(Ayaw|4>8nZ392$+ez^A{EMDyJNS>R9j2xR+LtRPxMs|-S8 z+{aX`kC4zKW6NiPUbG)|!-qeaPqduV6Mf7s>G#9L@)fwx%=6Xf(7M%SJ?9KL z9`gcdto?wxW`ze}Zd%4RplUQUg7)#^Y&i5aj{)Dv`@N2L!iUks7n8%#KWg^MF_3fo zp%g;v$prL)QA*6pcF^WK{r;j-@8%NCZw&$88r>D=8!>w;6C-ao%5ontOqg}ydwc@3cRO{w2U6|Mhpr*+o&a#!M8*VAF2_2Vn_ zwW_v<6JLxuJb{o`>OB;=@*(bTkvPQ33G4`OtXyU6}9X0)FHsWEf=nOP|Xg`MJ+4IAkBf;=~EEz!o!0$YF|n`{JrUbvc&RVWO3_4}p_qQ$$n z^T1!Ne=p|C8=>CJsTVMx%pLKAvT5JEu|r7CDER#Z?6Ymu`EdILd*#?7Lm;;)r-0lq zef$ae_$IEP$Gf6Gnb(n9M9UFVP4N4rAm8lp7~F4a>LJ9%IQA9#j0Fdg54JXNc(!Ao z2oD)S$X7>7eK zZNy(I&x_Kzp2hWiXfPOkrH(u>$qwV$Gy%-4 z=tn4fCPWgd$?sG3$==@3yUQL7tgMd(2OMYa`~5*<}mr#XJ`rZ*%Oo z3KT@Wm|pv)5^bokjfApRM+rPTGz)TOk#&S>gg4g3JeT!E8`(YA0w3>&yjAu9`p~R+ z7W&!F9v-yLzv#agYHZbiXT~h?3HOUxX(a3v&%9B0tk|tol9wHHzpLMmpkIs&+aM=T z2I_lmMFIH1&b5dAvP2T*iD5N9Py5YQ*~x_B^Ci@=StSVbj~)7FU^dxPa~1m}FM}Uu+W28M$FjLG6Z1q#Z{)|a z6>f?BkAKkp(`Yp2Coj4)3i_Vw=NXn%ZansP%SK(Zve8qBmODEmjz;O*x(3M_uBdbJ--M-V@zOYS{EK66@gi&I)k5n82k8w z0Buj>CV7d^&Xf)zIr(6d&fC7_0gz|<^&`=54fskSD7wpyyP~1@)WHW~>hj*hFZ&>5X;A=b-03RWg$Vjbid ze;!Kf#!(lP|#4SKcyyr}t+!*BD=up7jeQU4?Zi(bXOq~16=I>cXpWtxl=h3Ko8gmzM8Zr1$4_?Nm%!LfpzQQOw@s> zWhN6}Y#R+Z(Y!g3?X0W!mpY945d%)4kL47Oy0CKS&y9+-pfuXg-Z$w2%-<)5ko%s4 zooe+C%qQ8zcNFnW``kF21Lf8tsB7cUO61#MNxB|t#UtNl*&iXtTt1(J}_uZsxg5Jk7F&8YCzQ_|x*^9Yg{WcEuW8}@7M0SY9UwZ+q1E^c+-T-xA zHR+=JyJ_H9vXkFgJcdwo={btfDs+A#?Ngf;A>T%*uNU!I>GPP!MuF8sAh#)>o;ML? z^?a-q6-ay)yBBt_h`)7TU#^1sP!IRHkzQH4eiF$Umt`U$o2LIho#i?f&rPcOcKF5X zF!-xR_QigY;~4a*r~^WUlc&z^|7kmZJ8U0nQ%{PK2Fk$;gf z9)7cq7dDa}WBt{Ygl6mRS-=k&>j)j+XT}_`K79c#g5Ryt>m4K^kDH6=9+c4J&;Xr z97cSj)_dfWyV#-ESiBGSnDKiu@~bMwKOi}A&rjFwvHpXIwpL|&0{e9L#d_7ldcNko z;Ga$F)yf7C%98Vg35^YZqW{#>gW#(zq2RM@{d>LFEzfM=cD+{l{K~ zqkd&n=~*Plw){04^1<~mH_UeWb#m#wHqPc)R)hZbqIF|`wFQtb@C)XK5nLJlAiF-B zOMJ1r*EFo}XqrICNBY&W(Y{~H!XGuS2kOFVS_ApDHtKuB+FKFv;AP+WkUXp2B!W;p zxvb-4*ME<~s?#F|`u^1Sh6XI)R>d((wqu(MA*6*_?WIOc8=EVmQ^7fv? z2wBQS)UmbwC-|$}HX=?|Z-IF&fAd5An|YS%`C0TYZ`x<1>HAnb+>%JNxvMJfePc-~ z`b7DhLqAC0zN2l9b=7MI=Aft-r|T@MG~yr&*LSD=V$M?C4}J@Q)@d(YC$~EwKH^bP z@Qr5=F&D(p@9?~3bh-z!H#n)FJ=y0dvWU$U^+g^Jg&ktP)#W)4A4N zFT|G*bHj6q_2N%gve#UG82J&whj6~y{1mkL_`J@8e=pGd-5#7HTUCHx;_U^@D|R#9 zpY&L-exF1r?|#FaG5K;qwAkR%Cfk9k@OIRX=OKvfwm%a5vUWNPjSZ9`@%Wi0O1i**zHt=l$LzN+ z$mWn^Il7DiUecd?viyE;PUo7}T7mEQzIFhuTctSoR*!Lrht(~t1@UFwji?Kjq0ql- z$KP{kKcBld9eS=$)%dOk`q`{8wh!&&A&)U{Q-BwUCUUVWwF|_`0o3Rzn2YSf|NX19_CI4**T|Q4X8TSO7nN&jqa} z>_?rb=%I6o&rYXv{wj?KC7S2YkN!|y-yn~+eO^+{s=|+%KN;s)In27g4{*QlY46o(Sa0uHsCPZ?fIF{u zJmcn9m!FVFw(bl1iAAl)JQ2IUfxb+)5%%KOX?e+yJ{r;k`z)WQ9ii!1aUh{Awm67T z3{6Jj$*<{lVHF|ER&5Pv^L_)Ny*p?J=*Js>Ak<>s zCPFTfHK7P>gZzo$)b2bOUIgnk{bzx%9^S-tkMC}Qv82zAhoat9>Kf<|UF0Orr~2dZ zt|T{aw_yKv`p+Rm+iF>%FFIa?Uv+;5;?3K=K|WNQ_wZxSADWHzB#n(H((|7$p$4hpL+;d1| z8~6Mne(q#&vp1`UCWOqdtI9Ka(?c2AXKu}U_x`eb|CQc z;z@-1>_?nexc{sw9v^L=-bTFj+D6EeY|^4^rvjDuavo-TjIro)~$`e!Em4FAi` znfGystN0Y(iTLXIf87Y#`mv1(MaRl6ez`}0FE4KH4gTYUuAb+$>E`k2=@Hv7ugw4U zV!!Oe5v)(wuZQ)kJEO{xp4j#EeE#+&j;mYz)0F)2QU|_+Jh_D*A^&zg`dR03_W`N- zQ^t{=(lgO#>T|6+(EFp%7~<=F4Tlh#ym9@BZ+;39p!+m%#~EMJ^;P>YHw^wBh|z?sRQm3OqP2e}Lf&B*_AR$&L>|PNmB{H$iYyy8HUJfBtZ>kLQ`jG8<1hhB21BkZi zX4WJ$)e^wh!-kCq|F0~rPVU!4-ASHznTPb-=5+oqWOeg$O0NX)58YS+99U-^A)m2k zEum>~eG&NCsv_PxeM6id?A`A1UY}g{)R83DyH>`4?mG@>_~P5-IOu2fTR^COzYe*6=H6e&SCktJ zc_&p|_~f?Ku0GHkGby8o=qo*@5-sB!0oB!tI4_wV?(?0RJPLd}#r=*bTg-KH>9=#v zu26qBzuL1w}AehW`eGN3H2q~grgsYJl~l7sN646&usBd)SIZ+cMSAPM1xi2a zyo%)I$hQbf9Yl7r$x86`jVZ9R0c&u6v|(FYliYZJE)M)VV@r>Z*55Woy~=Iw`711b zKxdNc2mc`sy2}K2ycvi46Q8$Di$1cWvtvKH`ZQOM2j-0=eRs^Nu@DWx6(!^u_Yw$eZuY8#BuGiUnY>f95){IA*Lqx zBHBD@?dKt^(h7Ybdi|4M_-MUr*9hY4|N4#wKAtlUxKp71c+WDCM5{b=5HCIUTnN!- zP|gTK_R>9{TKwA=^OW7*)EV-_9Q)RPeY=ooYhD3O_q`4atcoMPF0j+z>qD7p>oB7E zzlFhPo5PkndBFYEM|^a0Ij482IPxIFFGYEMhf$-axO^@67X6^xy7zq8z^aI|Imdvab7}ao z&rc*^odaGXo;<|ee`#9$jyTDWx!is>Y#UAf`TYB+d$!S?H+i1&b6{U-N_UdWyHy7g zZ3i*z&(=SMyr{=H5g-2I`(-3&pWN@gdgj(RveQpXqCXUK|5FpXDfVr2FzQ;gmq7me zHuSeD^(=<$Y@RGmzU|^XqD77`m?!qhf9^UiwR@f@JNj)89B0kep&p+e`yq4^p*quK zIIwzW^chP@GYj;BBGUMdBmcybu=Fy|LdCcf>E2YFYO-F-;%$z$}fy1jZV$wigd zVT2|kX#ycHpJP1io(@9a+Alxi`0|$-s8g0QzZ1z>)F#xkncHKWm+0^&Kr#6d>O-w) z-hueG#?0}Mk9dZBtAAf2UTpprHKt$B-G1~q3=YWRl!8tW@~Xgd7(oD(c*J`1Q1lPi zZ&0^ZWi`?K&Mpo9xHZcO*$?02ysHmv#Cb=|7>&BK za|&bb@IhVCw|s0g`hd@9hB;$4C82L+Y4_Y%)~Yk+gUZfaT`il5{n}qY&c|^lWrQCQ zlI;5ZMJB|VKM$Kra{G9jvrG3U>|~`o;aFd_6s%7UABnnC-ACp1`1Hl-GV_3ATcb{N z!izzqucOzxI-6P=aaJQ5`Vn6wK8HSw9}9gk;Ol*iCV=8c+Ut zt-g_jrsX~4M<{o{scr5)C)u%4h&!)&9M>sqZ+fg>eUo)6j(heE?97pVQ;0UD-Sw*Y z^F7WBY>$p+OEes%;VpYZ`NaNF32mgVT9s{ zdv2a+B~b7Bfx9onc8UQlw)H~Yiy7|sZ`r*;fY)bddey524C|VX{MdXuClabm?*2w? z4)!FP{hYr)p@?4MPso2;3_bZ}mlVVwKWU`bhjLbapa`9hIPpBcpr3V!`#nP4UxnlH znoWn2zA9KA`)5UdM}LVw*TxcGcXZdu>T|rCYc=NMJY+gWp>JgW@Y%Eu`HQ=5Q`J_q zAUjch+B`xt_v>?LYaPdN*#3dh#8;crO$6S(i+W|XHuUoN`26N7%u}9f08nln?dH|` zztP_^Q`&ISvyU&{*}?t(v~2<6T4hzA>55^-S5?{p`=O6ob2 zQ2cK;>~+oeeLX}Un}N8<^^-zCr+l75$jUzGO{g;03?r0vhJnv76bJ;JVW{-__`2F! ztecNI?(oxD#6j(B2z{B}4}4{Z&xGCQi-?~-lo5Van}BY_XKM>%4(e_xh_`9m3iV`5 zJi>K>U9xg8^bTblK*u#tH;g7)Uu=zf6J29H#22MMOd!7f)!l!pyZ<@~^rG4>-b>u? z`Z7&&0P%VFpin}6a}Dfd{Y-vDiOUdQI=aDX(o;QdBhRX@doG;r9*(*Y#?52% zw4EQ>$@|}6J_|Mv{i7>-;)u`t{*5`VJjL9cpWwcywm+~~yRB_Jl+$&>A&*X5=y|(LDARi|8VCacDOA%*N>eE`XGke~nZcO%8D~aYA zA_fzx+9OvJ>QgJ0fbRAT{iLd9K^@p@pD>5y+MU|t(_@FLCX$|*7KnK1i{bIG>lZm6 z{P8a!=Z|WI6RjJ1f&B1{D5A~%a?ls;&b#Y|1tVq?pN;5+IQu^6yWQ{=6Jyy_jL zaegvk?){On_>$>lr&q5T1$%J-a@9A3n^RND4}v`DU@)O=nTUAHYUO%(>3Ex7AnyDj z$8mI07vx8dJmUwu{JVz{vQ+MKkBsVyxgft!2W0-wQ6KDhU-Y3GS{L!sM*@J>`wVeZ zrV8rJUYQ+0{!D`uSGQZjkw;nfpH*1T{eWmfb$1`~ri!I(Bz;w`d>2C2tVSn7Szc5j zJ)NOuFG9JL4JW=n-J}Vjx|Q6P`0VeugMkI6;JhHdnK_7PHM>m!A+Prae#Nt&#u068 znE@W+A1XGJQ0^$_@;zt<=8ldSK9uyt@^@ni`K%}CBYyuwAJ~1!DhXNr`i%r(a$e*^ z>Fwyeoq3(PVu4WT$noS6V{*>fVggo2b31`*94=4(aB0=v2T8X1oGGqZI9@j%=p)TXjQ>Nu8?8EMAI)nJ?%qLtA$?nk|$zJBTv=;ic|5;4PAD+Z{ zU%p?bi8hxquP0>Jzu7=2$HsuRJ=W;zqY_O#7#VTh&-67sm769r0s+KvB4Lde(Xz}hkc)m zW-!mhch7I&3InFxlK|PxDwGbEKZH+qN#}fag^FGf|XAtS@WOsb4F2%yn{;r6>9X|;A zvPADW#8)F`%z*#NU;nrDzoN*iEoNO@oBcWvdNF@@BeW?AZl2e#g}I@|YzQR2C^;GV zG!6^^pD#bFgk(%<*MI_x};ua8(!BHTwg{Q8TTJccFg@65m#E-}g&nv0qh! z4=27(Iz9}3Q=i7V`PcVw@M=q3-IaR;eO=JKA6y@w;OeSLzW}nA5A%l*ny2TggZ|S! z|Hpn)6zf$rCv_!0Zxq>|P?T}^OR(On26=omyV$icp*`yEM-oRy^dMRm{D))nY-82{fqo_8r1}>?ADc1*7Lz?6@CbdUVtXQP zYWOPDgY5DcbAqopxf<)JJb4Z9?Ho5hmUQn0y3-)^kGl8QGLO%nEbi_r75{db1v>u< z)Q9A|(KjMF1^Jbkui`wQ!|p?F9t}j_scSu;r|V^%Pxid9yN+aj?W2iic^@PYs`c*k zE}K0OdZzKnMUaQp!@h0m0mz@a_q2!Cr*AH1M?Lb_VeY)O=N;m09vud1`Q1pew>yeq z?#knL$_pROPfl|DkNpBkt_K_#0lgCf^PCTPiawEB6WzKdN4xrcps*ia>QEf?BaR>* z!t)dIU@|O4{qe&k;9n0Nvw-x(oltjuQ=k;qVXIY)Cq6$?4RcIn`4U02{P*Gj@PFFr z`n27GNnYZIEyMn0&)9IHZU3E-gz9oX%p3jiCg!Th;`%~tj*TI?es>J@B)!hgEN$!R zU}0rZmYDW?+6W!;1JEEDJ zznjueC%zdy8MH3%{_i8Ix$9?9Bn)*go}~(a-d=ZI#R|LU)3Xv=u|NHLBIc}l(G&YN zYj?UimAD&q&T{_))SK!8ZGp9kPpUQP)yj!CVpnW#dU-o{L^cs3v8@ z+~Nh>ln~_S@BHXny|yp(nA{3Ed$DIU>DxAyrs8g)F}QL~`OJ!5fvp7tL%$G-SOU!LiV{Hc58(HC|^gv(p=D~aS^q)Wg& zkh?Z40zLb20wKTf1of`d?sNHSwF&vvmu_P2n)khyczk;5le;fc6)lf-u+Ij0=L5qg zlHB~S1o&!HY4F*j*lEOPqZhz0i!T}j`h4D%gnVCe148lT$vCeM)!6BFW9KUHl1o19xAw>iz<8F;PFFKh-xmhLK!7`M!&XFsdZ- zY8$u49OHN5>XTevEYXM1r0wkLo<9yGeO)nbFroPK2aFkUuOumQeLe z!8+}ngKpk5pEaKNJfgajzia`%+P)5ayQl)@qwV;ITi3;%h`)JN2*K33HzpE_f8Fl~tiw^9*LmKO=xes6R1C>^ zoxES`*MoJ~ztcmm?(IRp+dtjhwzJ*3S?T<9$xdEb4L$jGy4$ZFhdO27xc}YSXS@XWhfQossBaG$K*&?~5BB;{`2B^r@{6O#6D`k9!<;g_ zCHQRLN$|z+H{S`;4}S%kO)5SX`rcOPTbuc50{ormg!P&|U!Rv=yEy7yCPl`PT+NR~ zd`!l#&o{Z6e-!cU$*hTxZ+Gu4XYF18sx4pUL!Oi!`)7FyVy>#K!?8|Q^+)FM+3UCf z)T1iYV-(S*@O5dY5?T2$#KL<@x&nF^ZW~dBJ3FEs{R;`dQ{1$ z9DU;XaMBZ5hSl|w|Ddn`58Xclao0PNXAs|vAB=jCgZ;XZzPi!M_51O;^I%uWy|+{5 z*yr|r#J!)+_B-L?w!Lp%vg3zKqrU8iis(y`EhL8c+8Zy(4~xtmNVHl|3H!7k`e6U& zK+zE-7p3~3u4U5fFw)}_Y5-;TP}qq%OCA4AY3Kjz|N8je1Hq&(9(-ctht)PXkIIMH zFvr#TUM>#{znwsG`))@ULJ{x}<|;p8#}F-xHtP-hwWV-gGv7y}Uc`c#@NW<18{+Zl z>CAau-=CT?jA*+$LuazHKj!XBG~c(mC!t*2!yW%-(_bl{(%(H-i203%z4;W|6?*+A zMiJV~ zR#*Z4y{;Pw&B_QMOI2mZ%Ug}L%|NGd z{~P8P(zv)jd5m@OLOQ_f(>DV%A)Z?7M!rm)lCJMl&Q~RS_2_UtLQ`N~C(tY%&i}IE zH}KE;#3SCO`%|}$xn*(x1K;*N_-w@D$#fjquTBE&n=L^ebjfM6;rGC^IfQImKop^E zFb(rjEhrK0CH_JC9ibZjX+Fu#qGwZxwrfNDh*qmC@~3NMMm)^!DCAdctW=Za?D%ju z=S^ws+x(UfeX1V2=d7`At}gA4jZ?`lTTu`FD_V|_nV-bq&{`Dh;`6_;#gZ;^Ydtfg{9(4YCT*G|f&FW1gf2{o4 zA>_|YanE;?Gb%%FYJDC?d=}=Oe`2QJZ$Y%IKNE9LAC3tid$sJWg#Gmes27%DuOHF; zT7T4|tXT$qW9QjRhkSf-@ipw_|KcFGcZPH!Kl;LAx2{t;U0fgjhIPpcd#aIKHZ6}i z#>=DvvOLu=Uq#vrfpk2(Za?@kC?0vVukHcmuI4q!UcLWe7NN}`u`l~-Xglydn~*2o z_QV3B<*Q?w(D%FlYT$>rE4@V5%%4K2kLz`WVskO{1>4_mE$OkvITi8EoF}fn@_+q) zE8(-t(~avBNp4FFMt)f6>Ug5n9EtfPTf6U#dF~1eh%cINTm*kJX3izlHPe8$G1XBY zx@uf!kB@H_bM&Fjbro^r1Ke|(OhPbdv#Br6BPysr=CK{w*Prb4f49d1GsK`Cd4-ZA ziDn(sVqUQ~IUqN`|2M|*|0yI$9@TCz(YA_vE~1)M2XV8P(*s4}l=&p*q3(KERZ3h; zv{CLk-2A~`OCUe|IgwCp4F;{UU32*FnnlEyhdMfX?oq^9n)9ev*?9!wr4p_tczt?o zc3GgYyAe;jt03aX&11w}FU#k!=3a*vKg=gP+anNpP^;blKyBb5=kMQ-;ES?F=8>MP z?5@vr!+F?;oPM`9*0*WsWJ1yTAM97eEnE+NeE1TwGwa5?d_{WEm-59D*z30L|04WT zi@~I)*XLM4cIw=fNJ6n=#TwwKm755yskqeZLz#38{&a!UKo;kp2>yu*IG$~P3hU>s zhP!?IF~H%-6c>+Q-SZ*Dfe7%;_y#VH`3E2#I$|mOis(GfU%l;a-D%x(I%Ts>sBcl| zpdYPE%Yj4b_}1@wH$we-QgiVCN`pD379PVK5TmA}?|Aix(@4&8_C&wgA1BQun%6#z z`m=j_BEQxza~Sw5-Tk|KREyC>o7T5+e4BMuU$2i=$#nyO0hclo>dnm=A>Y}e4d}sv zJqbn3(Pp4crt+X0E~y22#-sWkvdi3N4bi6Pi8w-)G8XaRmw!Us`JPehi7(PW+zR=* z6F_l4Hi>B7E)V*PJ%8uUhyFQme3k#ACOO;U-fyI5o}KRTk@ibT?9awFNB!_unL>y! zt}KO|w_k=hnH--%i}!tJlbls`|F4&!$>5v1Z4p=baUkN!e$Ep?dgiy;=wDenM0$O+ zJ`*sA_-gDcpn3QY`qy^@CFZx?Uc$w_YTyLeH_iu|jVb}Ze7F058mpXub@Fp=KAVGA zra=GU_n0#*x?y4AI}ZD)G2&pF)N}d|p1SpQ`TG6^GZJ;qw~JV>PhHk@zZ3IbjYfiw zT7WsiUP?E=&sVQYe4DFUyvK*;-t!>fvu@b0-u0q0(ei0M%r}*8b|<1$Io--j*f=fx z>Ps8kd2Q|0VAzis;NmbZ-7wPQ;qLPr?^-++(W1h&@vv|0zTaWq_^CvjKjxw@%+%!8 zL^Hn|$cG9j=JL4C{ZCAsnB>;kY7tQVa|(6BuNOgnRsXNgOGxaGIV-!ype|UGvZxDL zVLbL_>(|3v79XZzohI+E*bfWc(#qpIygF7lh}L0K?{Mp#7>&MUfBp}4vgcu(7e(F5 ziu6R|&OkFb{{*7-TlfD5xra@MpTFOX0j{_(3Hn$22tsq*-Ipw{UW@aP-Q6gc$5!rr z6Ly39|A@I=8TFuARKq@O`|pq^b?%enKcD6H_w$QBeUhGY%-Y<0V2>F71 z>eKOUpf|KK>Qbl8hWciCp1V1;{l^g`*Sk|NclgSz{^W!>sROWFwH%fo4qUp=uM=97%vk9eDdjk?0`#B45~CTf9){Js9NmQW>S zN+vXyzdmpNS;#EXHyQnLe0{KU49RVjfSvS<7)&%Ir`%%tef+leV{in$kFG%>q>si^f~T2q36-rB$ta; zW8XaNKF}0B4OCatx%#-1%gKXN;71(kjXL6s4|gMb`)z&4KklB_#v|5aJu*vQ^ois# z$cIQ;i@1tEYm^l}JJlou;=p##1M&kmF~{u5bjZ6(d$Sv@R}M^#ev-#}#S$$VOkD(i zkefGRW(Mp>-Yzv4{I%})PBUr!7^2y^88KcTsMQ~lFOzwctG84Ydyw2rINFa;rOk!o zn48O+k-n(-UoYUSf`bUzj(v?ukB1)}NVI(0vLA3_OW14wn{|lh&;3xBB77?5otd%? z$d2Ve-5Xg6ePD9dcI)0-9oG$Zhb zZ7AYlhI9q;u&GhRm-pQJ*LcP3n6E17uQ^`gH=d1n@b+uNiDuuOnMbIGx#vIW`#;4K zZ9_}U1*YBzT3q}3ew=kX;g8??8Fn(PR5aZfDiSoHAu%U0)af6Lx0bMjS_W zIy!{(MXB}Z8$BrmpNm;^Bg|!)oOXi8Czt&POd`}%$6(HydB0(vh{zI<+hX|;clPon z>e0MOMBZf4>gYpWs!18Lw`r@cr{nPgVEduU04c|1B8vMf|-2b*Ous>QDY;Z0VtdtaY=ogevWCs6(Cd4*M0` zPku*ybN#;oz>6nPzbs8A%t!OMCj6wmur zp{g;Z8tnH?z?|agS_~mtpS#-9>qF_kER;}X%ZL8b|NDLn(d^?a6p65e7>z=#v5ntRb>+&|`1?H{Tk{Wr}Pt#O~pPYxWev$aA%Uh!v*sqFui2Rxl zHJm)`dqw*C)O@UmJv)!}u^;+{dwhJp{<7QmsUfIeR;Y)|_n(*NlH9gjvlMzk`=ddJ zM7lg=`TBh9WcT@<-z&S0Q9yvdC_u)FsKG+0g*Vis2Iq%hS4(xti z0snlZMt_JqhhZ9>(0z|6T%L1k87Rl)?SqLmjxig#5@0@d;iZvi^l*2~~%T zK>g2>IYisWGouMb&g;0YuAM-I8d6EaFqi@xve&Dkk)evXN`=XvqXk)~a zS1A@p{`%Yh8A!DH!+pL|?P74fpk5bEBEC3W z%EkYeMTm>-76^M)qXFz?!|RaSTYsTH)cS9+KD%}@_Q`sBfZVUJJAbw+sc3yBI(ij2k$T$^=Y2B zb@fuS$YRoCIuF*Tmbm*ejm)sn>tpl456HXza1iUZFS0BqzP@`S3Gzb!B@(J7YZid6 zG#-3*r8@Y$#n<~G*R^*3ZVj3Xy#yCO-Y*V*S=Eh__~vOn#6!((gE-4^(e;RLH~x)y z%i~AD7md31g8usvZr-PPiF)DTeQ-Xo*`_!@KizO~{rr(3pnd5t*@T`Sn6a#^~=)jgnHR;8$gE+iYGKfclZ;^ zH@`=DiB31VEzw%l3L+G>n>HrCew@++^r&Uvo8d)f5X~}{z<%YliQP$0b_-}jd|UiU zXJG!u1qjV|UO&*kjUP@ZW`2FoR(tpTH_Lk@lK5(v`+US&tsYD?TbC93D#YD4ZhN0b z{ptI^;&`G*l^$N7n*OPEA42o^64v8;{x9TwRDZXw>nYGvb=wHivu%c;-uaX_v*|c? zL}eG}OW)5Txh!}Kbzy4{C?k9{``!KS%6q+a^KGD;r*`PauJBho4EA=#tqJ7MlC<#?N_k0k&Jxe>HZT|gHw60DoZd*$Jcv!_?vX>1jj)T9X-Fb*_7YMhnDsxdkcH&6HpBwjl9sRg>2=vYm znor28+*wA*J9Wo(m$+Xk#zXX}orous2K8h|^hKSqS3e|>T*Q0}v@uWT60QDw7(poi z?tuE$6KBSPF6`bXV;(#~Jj8TA>{tKj?z{E<|HaV-&s8OTzU{4}Kjp-FWVN!ry*|Ef zHhmPybhzB>B7BDrdHzYn4Obt?LS6%3qCG%IHs1D|AuKA(FF^=d|k z)*!wv8Vr58;)AQR^xOTsKE5d5GnmjE+&%_+wJqW*{(IMqXp^b{;%~&)_stA;|KH#R zPda|;ZkSW-w^Hj#Uv(($&a^hIs1( z?))YG_;;e$#};)KAx~nldrqSYUDt*5?c@5czP`_h&oe4bG~y$N%+Ry~{2X_cU+4MwR z;N6bJfY0MmhqBmk>GjF&>hDGp%C7GBYLm_k2K{xKO2VfnssPr5v`E3b*qQyJZzslcd5c%Wv z+!A+J-W2q`+3!K0>iXRaksm(vIpS&h4o941freek-nQO@ILMPfMG|c; zbwGUWPbD#Dc*ED2hiu}%=oh(S4%Vf6d$C^A(>+g^=lix3j`L)j>-Paof&4@t%n|c$ zJK`e0^TYo5yA_!0eA+w2lb;u;BX#gs)S=#UZZxfjy?Nb~{HiQ8$0jX@!v2TN@T1~Vnvs9~WL`t!n~L4BPIdMQj?4Z|Kt4nk5kY$V z>gV~ee-VLsXnU8RMSS+~k2Qqicz;c(&$dk@Yawq<86fQ_|NVT`~b@RB1_kd(;oec3-GZG{0S~E1_99uRrjyi;tQ4 z3Vm(9Ek2j{y7IapFX6dWs3$S@Gx}RrPt$_|ysjRe9nt z`d)nMKaco&PPbWvJb&I1WM>+zL%-{{t0e3mDCAZCSQL3tHMYzkJ>_kq2zle0(_r_d zE&9snI*`lM?*F-Bb>S%_ml@MSU*9-5m1vuL`efMOxH=uU*nK~yy#G0W$AZFOSF%(( zk5AvUSy_*0R&aM-@VCabB0k@A3jHhkoE``Hv8REAqU`!$;B!`mP=-uG-0b`h(6f)G z4)^%@c7BVVBxjeuK2LAnDHoT(OCiKpFPdir{?i2Ul|l9ViPlrxdvWFQ&*%fwbLD7{ zk8c|k9zm%8NJQS*zl9;^vD*iOf1!vZd)exOAX?_{j&hZtK~(1s@+EhkX+5G8dIG(IivK8^=@S(8Nn^Pwc&HDC6{=~cUkwoi7?)g<_bRo=NIsJ*- z$F8MgNG?jZ>Q87ZpYA{?4|nelj601wvoQx260L%}ATKgk2=XpZuZ#u1eR}k*Y%10h zttT$sKxhjtPa-t;isAgpN|r+X=u@AuKDFTdY?6zmcaUds=RM}8zP$|d&sZ7QLPQ!K02}v^eGo zKkeSPB`dq-rDKhahHyn3IEH}Vcn*A z=t81Z*z?X_AM&c%dl4-!Ou(FESz_F}+V4gl%%3OWPfee_g!IgBT@X*c*ncVL4n2|x zS(X+!jvUNK5p6Fv?+dxQ)ZFW%W!}+k3Dv-nsB2TIB#y71JjeVqEr!h|xj6j~&d0J? zI|cpr)4^9?&LE%S!#VV&xfmZpa+~cf>Q3}`^H59*#=NtpIQ%lct}*HHyU{U(?DnKt zgkouD=;<7n1`{oBg}ZrLx+>-z|8x@l!ACa>B)L7lu$_l+jejtq_-`=cqlOK|zD3rE zsl?YUmtx<#*cjxEJyyXFwW!Rs6h*sN@B;@15{XiE9aeY`RRugR=6bI^S?te^bK()2t*P01r-kXrK zJRjD;{>z+oz!KZn6Y75MdFJ}$)b$=Z-s0~U5SqsoQ6IK<#ns?1Rhz+IlNrbw)P=q+ zTzUoZ<%ybzkJ|meF+}qNVVDnQLfuHBbzrXHUgCE=h5eiLb+AucyW$|?+x?Y#5sJd@ zd3mEi0lg>Ne`THD>xXNx_yOF&)US}wwp0WjV)?Ujy*5jjD zu3SBc&&oyu)w=|sZ1=ni@nyPU@N43FV_j_ZuM?qvwmQzQwnkhq(Kh34tjin`Gax@X zAN#S*Ct`heP0eZ^pPuNRaURKKpZczzfBl4dG#}bT6QB23r3g*llCwzP{(fZ!u-QO7 z|3PQXoIrBj`S%dwn;%{cA=;!U)VDeC7VBZlpG+aXZ$A5zo}Mxdb;}!XfE_EB7W08k zn(gLF{ySmtx48rAl>ZnR1iKFNFc)OpCCocBW7uTk+tcoIhlySWzMdY9`DVjbAg|(^ zAK=$~*Db-#YZ@!+xfUB8d&2;`UC@4`0EGxVKWGzrLVwgcK{jd30lY2F}?YU|hU z<%@MjKFp-SIIqZ(eBN0Ac@y%emi?#L%nAkJ#H8sHR68Y6VvtvK%T0MvT z-Tf5C+Y0;V`O`SuQ^Ccd(}gXx9`)g`)j+jk9ii@0XcOqWgSG-ii_L`g{WQq!FOL^O zFU9?jK(rEVxh4F{yI;R2AKME3$QSo?>&m5&+`LWa?)TB_hrv$#)D7#=!`$Z!@gx`O-johO9+X^$c$z{ZT>YIKiMgRu zx!)u7$0G5rYjlTtN_uZL&EI_&4=@`f+yT#l{Q7ot>!V z?2@A3S3Wt2^OWfK3h@;I?!A?~VD*|f-lJ|~2u+Fk@FSM}3wzTgS0`EryOGL|NeIRA*p5y&6!_Yw7OI<`k%#UFpUzS`Rt`&ScVCgb>9m*Tvv=lBEVwv;IF zi$tN0*^POqM;TP!_4DGw^GL4Eo%w_!??v!Moe1#7(!$`|_beXrMopal%MZwpS+p8x zZ>1Z9B==``@?v&pm&QW#8rM zxqaqFBv<3y{hKB@^DNNW^8l6_+G5~`J>vvu4H@ItFZ%{LBIT~mR{1U z|H>Wz-U0Lzn^`oP)!PNcw}+-LCp4MMIvhAW6!t@w z&-D8EddvpQ5#BqqCfb~Mi+Q1D&v$cU%x0YL_4Nxtd%SEs>DlgEP$#C_7Wk2&>0I5U zIWUjp?3jDcxVdo~a&@JYv-2EA-J66c)Tz9>ED6UwJq7XNVOz#}eCGU*5!jcwwHtX< z{oMPe*vBa@E_bIjCp%fCNL$#iP999iisx!UC@$1)2W;JNAff&_dmBQVd0tsU79W8* zWL^c$1$}%Q;;Zicg7wL%hh`DqT%YdN8#W@wY5mm>lgXZccSw&*DrZkX|mU`+STFXFR;;ieptG@%) znBSC_?B0%b`%Y=$=swpX;LU)X`eVgZ(jo3;1iaV*;V-wA-yaW^Q9zC$F&x z=LsF11LrX-$2EoiE`Q7yv#~;J(la|#4FEsw5#-5c%RU7BlvJIGFZzA^HGiW<5?>98 z0N+;197{CMxJ?qW825dyIyi6?>|R#G{Nc;94kB6wRH_30KMlZVM+%{CtZ~m}HPdck z9_rgy*F&#aQ%%VD_0@#7fABicYGX2?yw_(V@Zeb|PZ+$2XuZ6Qn->%1641Z=FP@NB zskn^L)_3pok)K{8Uv|&G$RjHdlR$FSvK{;gJ_q$IKe+cTnrAKMklb9#;_{g%4ead3 z0QeU}dgHudR-If(dLm(CBB5+>3hNM|f5AT+{Pnpo_1e3-DR={@P6fd~>-qJ6eo;}F z_a>jaKVO#~?2q-$E${L%(mj{k{1GsY_;yx4)TOG}-Pw&;jX3E1Q!$@(iC*))wEpmp zpvAyBbBLDxtBob(-7CPqSdyw5{G~b{MtpYo4eZ2t+Z*(lMxlguo~NcD`HHC%i8dP= z3?Sqk-2X8|+0-ts{TNW)DeCaO2WaAgFyGY_cb~Ej>Kx%A`-FEu*5?}Hp`sdt)`^Fl zyj_yxfBG(x^wqj*piQPum}}xv^e9?~_^E#!A^W#oETKK(H=EGB=on6@b-zSHeqrNc z;N9}ez~44|385{25vX~wrQj#zgudE;;H%v<%uDk}jbM_igJI=8iegN6K}E|b3hDm>y|k-VIOwjLgZ0}jX`|G&x28)?8nIxeybltzo@AL{Ji8Z z;pZqqd+;&pk3anSJm^k;A@4HzI^w~H9D}_aJQ(XTufBo4Ip&8s%D3Ng@!Yx<$5ri* z_NL>>@$Ua-Ho|=mZswgseb{{$70LDUBJiV!b(}!7tzOjC@v4TXL-G3SeHf{axbt|( zb*zgGtnJo!Cky(4r`iU&IQa_xq~E~#@E_*>hsW0M8SVA?7b`ApB);gpdnJySbp`rf zFPO3(`h!k6xwla=(WY3$8u0&@oJ7d81dSoI8NL}osCK#MSI9e;AQzq8d-y~#HJIcq z|JV2SWp9f8ibw7}*rruNRrq5q5m(jC{jZ)k3Lgc#`rqL==EeieZ(V&2;v=IK;%`Up za(VcC!o}s@i;-lfQ*}XJ?ZsaPd404gx>pj)loS03`TKX130aZeK%M6wAkQ~t2K4F& zJGuYwQ-~JX#(>WwqR_9r@sBv)*#&Ai{GIzZj?k+5!Gt>fECsr2Mf8b^euDES>yqr| z)|U*ZTfQ+M$m7$OdcZ=`XNS|cyx*SH5BwhPf04RMj?%&>7X2_DsAOd`| zCaar+*>fY#{M}ouS7qNkmHe^S^@4#zBPI~qR_=ajp3Q@G+PFc8gIwEaCiFJFiUc-` znMMfWx!?W2h289gc&U}{|IhYuw=U2V1;!Eb_uoqo*`Jx+6S(1ZJ>sj8 zsa@Vq<_jS{OWX?NcVD7z`1T;!iO0pjH~ag$_#evHjPz}vdx#5bwP^_X<25E>eQf(! z?8jtlia4t6*O7Poxf-tD_%|1@F1_b5`pb?yh58WlHjX7fqVg=9??tW)9->+HrkH2E zd$gy%O%hczq^1?SDd0CAG?f^ex$*)4-S zJ~f$V3HnJL2t=Ron}@5Ap6&MleAD3;)@36L1`%Ig+lKq2bWEEFvR4Z)3?URncZ>kt zXshe%w6k&Evs=F)?`+L?bx6)nayK_htlK6fp7P<4TW8u zHOQlQ965t%)^aoYT@P*<0QtTHlF(F)ALsR<_NGfBWG9;8d})Wab@i8_FZ6Zm3$Y}Z zPuz1Qbk)egWN(|i2j9HkEJ-fb-$z`;k@Sl|w{6>o^mLiA=xb>+1{19kwxFME!-QU> z$Is2434T%c{}j2m60Yxb$3XNA-?<8Pr$Roub)}3QP5QRwfAA+3ob3X->DS)}a@Ihd z=z{CIlYfzr0jS#?L>=)i*-=-T{ToPf)5kqmPTNGxP4nal^6&dO1bI}yWcMdM^+TtA zgm%Po}H^0gsg`J&~5&GivFAl{wZXN0F&ByWM>H>9e zWIP>T=D!+Cs7CqCBV=X!&nM(vyDkQu`9=hxe4cYQ=v#H5r!!86TwnbT*Z*Su-|%Pr zi!6ctWwQYKXWac&dgdRvE|&iPb@hEg5PVPU8 z&^~w1yE6^y;5^P|mj++nScJL6!gslPZ9fL*8#TT=`jy`piT_{Nq8|}oS*o3jQx*3d zOxY<0dDi(pAaC-Fd;X#-H52ofy>Rz&$o)eTY2B*n1Nb$qQpFLibu;8$-D;0~@!5VZ zzP)_xr3=x5&Id)Tqu=Ye)mZ{*K@4(W^IWOJVj zZLY7M_ix;6MtuHFcC1H#N;ig%Bf|X_5-QmNeZWVK97lR;SG^!YHgqGdYuN9pBES#L z+LX}Lsn-J-(s3lAxHiW1N%kg#h_*S>!H=07fc1;?HzyKb&3ARH5B}uhGOkdZ*T>fp zm&1U!|3rS(PwxM^I_)pu+e~MINp8ckqrUjWJ??t*n|*=AS1Ga36DQpFpLXlcvEUE> z`aOL!zez-k|8k83{xBHxmreW_0{TPx(ZCwNp`K)DBjn5WE#~sJpd<1na=Y)xmA|_m zjCVT%zVG=12_Bz+GbR`Ep)%)m`8ntABQ>cXtR=Y!ie5r!$F*GnoR=H@u4~obKs3)( zYaOB9oD8|nn+|ovOPz}ce_YFjgd*m9%x76A4)w_N1k5F~X1E{8mA4b}Cug^W9zQf0 z@mAxeS0p*hv=4e_^>*aN{xHOy5Ax;>gniUsnD;8=81gF1xc)FJU%7rrABDImPhQM_ z{icXN+3}`L1{3Nn!2{rD(M3ThB2u-7e1?Aw$ZL$i{8x_#;QB&jURu@b(=)?IVV?7* zop61s(^l{&zV01^JnIi@`;fgYx^p4%ZTboG301bXm>;6=ZO}UFpR$&UZOMM;oXIOOs_^fTrapM41Srh40GlIxs*qTX16Gu_FL9CN0)Agtl~(!To# z@ll7~hLPO-oDTJ`#F}u>&mz$`=BNVNRlT9dBKA2t{Vu1sWC-#ncDF*m@V+~cKlSe? z7rz~^5D&Jd9O~2*bnn@fe;&noQO+%ZIO^Le*bl$p{*NXS*TIel)d1Q(TOem`%b=fR zZx7}lTfWl|`<>Jp$J0eOKBeav$>!rn(>~ba30N=BSQquAJyRzWU#+>-j_gF=5~v4$ zy;3akeb3Fsd}RKA;ylDVo0SX3>XdrhFfrV z9rgxym*RxBv_OGUN|6F3EfpwQC=@5S4%@H~dBbpb1`I}E$To&=xP0$UN?o>Fe;L0feg3tzbggtJerZ^T+V6gmz9R51}4^+397T+>&TkI(sXx55$EOm&d(2 z_a&O2>5KKSmH9?t+=z6j2OTgTDBnH8J|I#BVO{d(2Jpq^-SCUPqTnZ$rZ3{ng5Ph% zapHTeBGhq7YY6530UHSUoH?5b*);e2q>%+yLVoh^6@==~4a*7j`$a&p;>Ss#e?N(R zPOtlVpV=XIT}^#AAQtkVukV4Gl+NY*&Z)=;vH6=QlFMA%;tBb{8&e3?)|-CRIQo`OI11NU5x%4%JIPDz5E-17qC*yzM2n8%83pyi!jV?DlkvA(b2 zXS-!7j;rUk_anY!sb-PB?)H2tp*+51*L zkcWKZe)xy&m=sBTcKC54;RDt6h9X)fwu9f~ZTCDe|Ijp?__oUn>_=+Vv1r&EeF*-v zwUQ>nPLmoKr&e`${0-kA9yZ&R>CoTS(8Z@)LLHCKo<6^EDDm~t3P9UwRDbCGxC41; ztA7{_xgC(W@wHTVnqk2&Ig|5x{xhj~b@J0bt|nf{7s z(WPu}LcacgL7<;!7)@wH{ziQ4h5iG*r1#S!*ww)=5GUT^*)Y;GF@Ito5M5Fl5UmrZ zMG(pfLxTxz+Etjp$ms6(lw<$t>hrpl4<2*{Q=>!bopfB zv(7n_G4AGV(08YeSU!Z=etQh~0P8ROWK z@o_|()eOjrW_5WQ=iYm4iv-NZal348M5rp&Kz^|n9e{jG0iaTLgvTdm@9(%g+g%EI zCL6kahbMiHeMR+j|9{zHJ7Y+nPqPVx>dqka6Itj2P%oY*iEkfz6QQ@dMm(XJrlD`D zaL{Z`Yvi}+mpjo*_8MhH|KuZ{4U3kFdvzyukHI)}$cv*4Ez-|M6z)Cy`xNBt7(G!Wj5bEN=oo@(Yt; zkAMG*^Yg_p%#$s7=I9*XqaT?6ierAFXl;CtLInNdM|So9Vu7N40P@$S+KIXs1zxnH z`O23Q`Vg9;$FMFD*Bbp&UaRa+eBLQ4m{9dBiFIVYS2Jfg z`l+aOJH+c7r#}_xN@&(4BhIYte^{^0`WM!3rvHcjsisXq-IyjBTpuhucMQf~D%ca_ zU%BT9^r1h|cVx^p#9x$;=;5JxRvy!f&=lU%o%C%~*bt&s+q15Jx9x}d>#~ipF0s8d z`jxmes~_~bHiunPp+sk*b?YN73GK(0$OGQV-KU_2yoa9HG`&B`dDHMv;2j0Oh=)7T zht06R5Em6c194S_wodhu{*|ZG2u00xh@*~m&%x@+?mDWh_$EFai%e(vgc>V@)MBCighC=W20*sS#Bkb5bHDbZP zz7Z&Xtu_MsHx?mo_D*fA->N0)y*@iCY;_XJ`OJODU%6^SH=@WQWfrJL*{p zjAtR=z@IY1>*>T7@A4q;Z1!H5H_P1$^~8Ufg#A?{wsH0HGS2{-muOKO{f}q(Ie}0%*>vMACJ3&d{O_*Zt5YunN5Cx-lK0Li8i?oBffI@$N-|*s~^S@$_n2P z0$o$NK2YIPPomZ72-nXRly*4%;$Y&7hlg8veQ3Un?LjDtRDoSSY-%Ht8~@r)zO)P0 zX|J{lAU)sv(JNqF_bQ_aRpwZ%%YJh2mE~XD@82T#N}M-}X?ezzp5Au=eqh(Wz908= z=|WjN0Be^(Id zKR2wx_*1RjaVKna^J&l(^A(SB&++*5RB+ctgtka&porYEfM`Cn9qP|U=y$CalAKk`6-UTljYOXFv{Pq-|1!;NLK|Mv z;g)MouTh6d#Fu9~pl(#Y)0i*swioj;6Aw-&x%%-8_@Zgf`9$m8doXX&G7rXykiijN zAD{34jJoA}x-KNz45~4Y(5|R6g;363kMjpv?(7nx+3{S9p;x_83ZXi^6#I(qxMKn2 zB6=>N9ajhWA};a-qQ$YSs9PB^AO2+dA0&Hxe3SY{Pm=3??mgqCRuebxwx8CKTyD9K z^Ek6V3;K%6b-pj@^Q{fsdc*&VBAV&7IFGQYQo;Xvec4$wo{c-Xno!@VxP{Pqw*^Aq zWI~^_Yts!T+LU|LmC(ioG$uXvZvgV&Tu8xrx4M$XpXBoPk z?NPiejW>6CbtSY>O@j&fv1{_F~?AlJgI{5NG9|3i~))n*nl}t}60?r~lFd_De5Y zMf&p26eoXs26-j(PIUGByr%01g;TF5J==W@^!XotNkp^Gx9Y)8pIWX@PpL5i{C!XXZU_EC1-F99YpY~u9=_&sw z3DAEzaT@U7{WA#p;dZVsJgpz=CH>+rF;5*mr#s0_V%20|qgBXfb^N&VL;4!%D~i>b zKyudCJuj)gU)%|Hs?3Qb)bZ{)2OC~1hG^UO?PNkeHwJkn=Qr&yNY8T;$2ASdVjj9? z+eFe6d*(-DT-&{IgywqSR6_V!v2 z8mE@s8%fCKeu^bNe|mi~q5UxsebK(rU5QrhHbg_-^$7efQh5TrK0ce$vjg~*-Tlhe z|0?EbH(shva{g;EtV6CJKaOZUVh!q__1rv^#;NbKVBV^-yU*HG{SWIk8~?^WDvxD# z>p5BheiA?YIfCr4&&RMn-r-GE(3whLellG<{J+2(iGgIFMV+rlay93jKha`!gHeP! zrPBaHTXaBwLh~i}2=EtlYzum8C+Q{r;R1n#c4F?KgmS>m7KH4}x}t=tMB#prZ|YYb z*sVS4MK_p^KE^{*BOmnYze1oNy|^Xx+BHC*()-UobGyn8a@GeCPLhO%xqa(^cQ&{+~sk*0K|#qEHWK-*Ik6Z zsXf5u?d?pni7&!V%^=iYHqL=w5ijhBBBPTbfByA*idO~=CYqh7i$1L%AB6w(Hqf+9-r9!IT!s+p6K76XxsT&D4}e1z7e6$atiU_8yC2IJ3kL~%!*pXo!9G){O6Hh z&=;^_YK8cSCuh)i%$RrcNUq{?Abu?6!f@z^ zE7;|i`%i@YaWd+QWsd0S_37Kwv7v;zN>}s~ap`B|Jzswt`EC9?g}$NmN*AxFK==Lb zb?IGwXTF8_saZi7CobK_{%s59bonx4g6kKfA487?t#K-1^%oK{zQwyPeKS)vE4YX+Ieg&(eh&v$XRT4|upk5A7$__Ul*1-#aTvOop!m0zHfk9YSq%gs+0L9b)lb_SP^Q_Q0=m~dpcoiA)$8N?&Wq<0ih!~}{_gj=MDzac zzBSgPz(S&Jm3)h#7xZE&q23y}jF3$bOMuTL_@YOe7r%_k-Mb*+I=e=SV0B0_bCp)TteV}-F1$|L2j0}Lh|yoiW{K6IpqN7Snn?@ok%Rh_g({4%GWD;rqP$ z>IRJ0X-6$1J?&S+>3I^J-F>Bz7v{Iqj%MRvkLRx$eeHAG3MxoyMj6~$6shI(M^Cf8t*%6zLxc;M7jv?BlA2prqsAl^+nU7idoi2UG-m!m(43klet`HHN_GaWo}7TMvk-@?8wTN3kSebP;X{c{f|1FzkO ze+}CiNwgYXc`%_Y^r4-X#((3!Q_lDP3cGC0M4*ZYiy}RpLv|-UIlmbC39C~qmiQ)c zBJ$hrOpW8%f8GuwJv})k1^SnEVP9ia_jMzEJJ&roqz;vVfB67+o~pmeF_H9b%lmB! zRWFJ8%UxxV59Yfos0W*-psU-Q>k&6TBF|E?D~9d@ErzHSL>o_Ppc>y6@iy7+j)MK* zny7E{&p2ndPk)TFmA0eKRmzSHuy><|tNR*7a6DCHHIBnpt(i-5o?ILIfNh&$5ZRR@ z-S4Ts-xI<~ZhrW$Eup-$27dPa-!&ez9*g+!m+m`4^3}d}#Aj^|hZ5?1;n*kGs`e4@b&L!n)al&5Cw_}U z-l%$KIq~_)O7VoYaVO}B)LSCJ&sP$8Z8GJXgz>Ywf|i*h2NEr-&m2j}hIfYCc+<2L z#J{9b7b;&4_))!F^VR-eG0@L^0(q^sj)wp3Of}f+8)sLpkR;a|2K6J9U4Ci|{g6=+ zB$s!R20)%~b6-N!;h2ZeekzW9QE%Gzg8aa!_Jn-Rb>XFP_j5sCB<#k#?UE|JNiOR( z4J5fP*#z}(JN83fnG2PglU#}Bkr-c~Bi1J$y+Ylxlr_jZerIeD>6zy-6AA6s;;tX8 z?AeiMwqyM;LeczOu$M5~g#<#GrpYiu)m|g7REB=lh~{yyUCDqBreD z{R)*Deqy8RVtr!fB;+ywd>hB*gFCyvvhAwN``5>j_p-^*(PT#~IfD7hzYq2#njMKp z{Op%iIPYNBLJ)uZZT&!!t2FmvUk%MN0koQh`0LcaH2|Gj}TBMEAZWb*5M>_|rPiAT+i9 zb;oUY$jz&4AndYJ>rtnAam6IklQ&zU|MK6?y8OG#24H;7nmq~m-U!6c_kUu2qHT{9 z)UABA5dA_0Z9u&BS-;UF7aKl<_T2~P@?pZTQN)+G&bak@w}a2upQ_>^`!7e1f!!PK zyiMlYkA9-_ta1Hi`7YFpyw8TyB%R2Q~7f1d9Pf7t)EbpG#t5q8DJ!t=;J@6dTJ@I~=igz9{K z%ukd{jpsM*H)-K__NhDOFYk0iy!6}&@IPDiGwi9kW%|;1Im6vA&1{`mkB|17o2Diap9M6VL8!VvK|YHmIk3OmTboe_VzR*T zRcO^=q-UnN``=7#chr|&?arrcp`1f;oa>u04?F&E*B67kA^-I*ufy9FTs^M*4BGd- zCiD@}{TuW}v3LUP@=bTpFJz|NSg)<{2>vksmyv(+TP|zw7Aw@xfWr<5RQW zy7vhAzDu%#l)^66e-15LT_eU=&Ou=DMZWA&^SW#!F?w{ z*u;3RkJb&{^=sSXF!I~?{ookl+mXGHe`Z()SBH!H1QTC`$XLjKoe2Mls2?L?=VeQ* zQ|--(ar#Oy>QXQ41V8Xs%dt*=aV6@M{}U!@oa9%hdT1WC-FJ*^m(YnstF>RB~P4>B?p7w)IY7)#}`LFhJdcKdLZz9Q$eV%XA2-S#|i}!iZ%*<5P1UT zdwsNR^U2j`x^I(-W;F@`RsBY&H+gv@?AgCXcap2Bg%f~3R9yfpP}t?wtVHA=e_I3N z^^sN6NUp^XE+3|@3xGafli(qKMt7fsEYbk+w55xo&Um9Y=pVKwgI`RhAjnzoJTqyW z5IaGe?}|8mzr<3)$LCj$PA56bKhxE5%8$^u>)rRf?Xe@6kEm1)^{VIYMf}vNYA!!N z`?o*qzM4&FO1S41Rr;k^hp@-dS8QW<9anzHkPQ7zRnVVo)lXQ5-nI&~@BIgJNUkRQ zi1G4udDyj)O=7`6UjX&WuY4XyG*4>U)9XX2t49#6)41~uae5x|S`^zRi7&dfML*)- z6&*tQcIPYfE1PX+G|5@^W}rp&qR?aI{M`A??6U1i&bJT8c^O~&4*ARf%ku--VSj%8 z?o+<)V_sk;l75So=^mlKKwjnN0#>a>vCO^aM#_}F7L7Y}Yvy8XCZ8q|$h zwJZkmvpG;7I%-8_;nU|^TOw~%#W(Ob4>^cDHU3AjE?GOWxR>UUdk_4rw`6tw;(zs5 zfS>KGv%6p@@?U1p+>iKdV}=w$^F#X~9-{lY?=jh<+rd|1?z}`6=(z}b6=tpkUMx16 z^kqVC=hTknUQ zZ`z4IAXZIGOUIS@uLTgQj1fg~{CZO*A@|#f^{CL05R$V$3U(#bjXw1u6fx5RL8r-A zf>73v>*etwGoe_w$ud2dX#T2VRq&S$s848LCUhng;prQCeW=cl>P#r+`PU=9E~k*E ztlH86kjG^lNhp8d0VJ1^tNjVt)PWrd^}y=iliZZAhU1y|pO8P+cO8r5CP%IDgtqgd z)ugA#Wm-bWul%u$P+rOl|J!=I*AOiZ)&#A;y|5f~(nC$C^GM{e+&c*QZ}-21T{$!f z`Db4@K)wrpc@*jM9otc7g5Sk@c)e)}#Fv9(a6YZd{V*DOuQOqsX>&h{Xgk*3C#f&F z=N)}7{D>jG&d@TEQ0V=zW2*6~-zgKs^quc;nif42%<=hmz2V6RW#mKp8(RrjCJzr~EB z7$+*6L!Q|lL9oZ#C!(J8q^PMhPH&vwlaNh|LtnF1Qe%Cr%-?lr9$d|YUAZ|D^XKz- zj3vI=a|M1gD{`VAo8ujUtjFE)u$QM4{HRNGoeVnlIOMH-*8uU5HPcK2|5#DX!=wxx zN3{9tiy~Afi-FHZf9AqRi`!SG5MOlZ2tVuC-%yu&&83bWAD=zHhCJjqFGPZlkaG#m z$SZwmoIMoQoRFW-?CPL*mKh`$XFp(_qD2JiS%mnx_3o%UhUB*1o&-X^Yb*Mb30C#U zjydk`lVh_dVV{2!7=0<69D+ot-(5(A3P?#p^@i+3MC+ z>QfiUmu`3S6Jdi$&I1MyBUDdkM}U5kr8l80?%$12|Gf?SnP@VnBlPM%s!AyG9z@)A zkM$uQA8qojM?V%FLi{1`k<w%k;mEpqp)lo^7#zHTX4Bp)c^NAxT7wu%6R_#V282 zd}CAOy)6`h^_m4&yOP}OU@ni}{txj{58U_9M8EenJU%&3y~dC9WTn+ur#agRmKvnUNwhZ+4UCkUaXq#^1o_p^apb-3;L$cGtK2|kG1W|zPj5H@iS$AFH5xV z?RjC~HxEI-RAGH0Ku48DJ*!D=kPrOyNAPWbFZzgW|2y_8rN$y})vVY)UY|W3-fKGS z#%#m+fUSEahG_Qh+&DtMrys_%tN+a)efIk16hcufE7r-XW}HoWHggQ(V|xv5LvlW? z{S@MxGw!;Q>>B2dKdCYNsS5TOPI{)?ZRC;fL#BwcPVudf#y6Sd^8aDhYDB9NTLu7Q zZX#dAylYkIqt6O z+81Nte^qN1`liY?9P3c^E}>p*@_qP=MMS{w=AVP8Gv4~(AhIVX6%6wDko&)P^_iu1 zJEC>Lj$MJbW6*!>xKB8aS?;d$$dBK3r1AQ&8b^9&b3XJ}`F=6-!}K`l`a|#o9LLt5 zk9C;`KV!Y3Re$8E&L4;T;{`4cgq3H^wDr=6eLLsiJ^i-dhh`Sk36nPe{Lm$R{~(XnF9Z5ngjF_z%0IzGbag zH;>#!pwDuT0NNh0aj-YSeLu>Ka_5t>NQC2Wxr6-Rjof{@I^$yO|9o=OATQ1Hd|(od zSF#LHJZkLlJNKNc{ChO?ZM`&|NZ+2mKAiNWpF6*`dEE2t@}B$7D)@2T-}tnEg2$ z>(-3~&Kvaj>dv3Xa}I^Q9+?MueB*SD4IVzI|I0RDjjzx3tMSQRA76&V zy8O9vb3Vygryti6s+O;lL9fr?>Z$VlX`ow`pG#;L`zqcij{d#Z}wRhAp0peh4^aOU=6+Jf$*1T;@;Pzzdtvc_+~;W^aZh4 z1QBgdr5-{kuk3Vj&pJe6eDik52l2KW^rTpbIPlQu5U)>P4DXA$vU1PhXP)?XQ{vkn z-F1Bad@K5~IGaTgpLeK>ycB-!Icbw}b2=SIWX>}Mn5K6ap?s4eiS#vV=@P3Sk`>^f4Z1$O?u|aBIJun{~Ty@KY+jOfAgLG zi`6clmXAxI@xJSVSf5GN4(rvM(jY&~_6suaA9}WlZTr zc6iUIuE66%qDjv-9@c^Tnr)GcNgmre`T%eC4T!4=(oIxd%l8& zws3jIgGWHWVRposmHr?6!XNAk#kk1&$UBuSOIxBXd^VHu5Me{@?&$PXsL9utjbgCAQIb*w{2f^U;cKu>kZk_i1qjnN0} zgNCz+mcKS|edfbi)RBqb4m;*W5c+`cyxh%qz%1BdDTzxkuG>?WXI(0e^wK;oWrV+Y z+B#80+sBO{XFqO2|JLR9wW4vRd#ZXQmlfVfLNjSIC%!nmpcBz{Q5??qWL)`yM5};4 zk%an4{n>Y9kcI$7v z68*%kF6Bphs>4F(_q(|y?CfZV_^~|Qktd>M65_=-1;Rh_UX=4wmw(}JQz`}iF_n(H zy4bPQ*(+Da(Tk=azHD(1@cH{$u8xAg-j`jc<4iiPc@ydSZ-(flMDweQp{GJJ;QiI? z+(b98QkBt9c;~B#oBmWlVf^Dn$i=0qs5_f@!qE#xpg!~;`M~Gf-Fv^xsUF}fT?*qx z5m(2yMIFR}wO{JunpAj<*Eb(=?!O2^9{B=wq&Iwn_=p?xP`CU^)FhId+|4FJuSPrM z1K+&?eB0!O({I=SeD(W*QKV;2Ce$a?HACVtu5Zp^gmQ8w7pGPE#=^anz=wLSW# z-QdnsRQe-bAm5uEeN$dI5lgh5m_LwERDKM7b149PRl zcztD-+h6Y$!F+Vu0GD5Z?)gJ~HV%0x?$&d8+q*FGR*iJuI(d)KFmhHv~SKL4q|p4x9$&#=%?!Qub^4>z33ORe-Qd5f4O)Z+0nJWekW$6 zfSwMmf_U4d6P=$E`oN#Ew|hU2{O6tP2hlTJK9nznz93SKLw(vjZ#t1(mbH6cK{&L* z1g{V5kOFfF&7ZBpAa5ByfKWaAaTxeN{I-BlefXFG{4J|d=jPm~6yn=DKPN!1N$X@n zUFMf*guFtyKcOm=krT?z=SqPe_iKGZ{a{Kj@b{f=#niQYuw8^1*j30Z?9 zIKI6V=jI!mr84Qs@Dd%MSL-{LIUM}% z?STB8d!LpH{sVcX5B2CqaxpXw=Brm8^Yi*>IWBK7@%a{aeU8^@JBIk|V~DG#P-zEK7nYllcArOn?a}_UD<#ykBep2U4A)ndp@Vd}z-=;sI?yweUUXO6c zACxMI#_12)u;0j%$u9o=-XpG}$TvV$sOxMRuZCorMrbcZxw=XJJ@QWf(LN6L^_9Ma zJRlqL%e?tL$m^r!cPnEE#mjc6FIB+(Uc##Vk$`bUdO2kCT%RrAzE`Xt=XK|0d-4JG zLJdEOli4TIIMIFiR6@3Fv>U&z9sFeX^n)GUeZR~=&Fx6{~r+KJpuSXHGGrx@l z_UMvR_(*(Y~ikpl>q118wR(M4k)2wl~S;sm2k6=F5#9 z9vXlC4C-8@6MjVNvRh&ZP4V%Q2vwK1@FSo18FqP*)h-{VG=ZN@ntoUpE4~2h;7LJP zFTd^lq*Y=F*3dCPaGSF!0`1j+fXN@2v8Gahs&S{zZ4gfe9EIO3az zGpZ7;-dA*f{i84DqbBW_;MdQCdE0C!k>4gw*kIy|A(v6FqV*jKJBwE!FYU5G=<5r+ z!MA;aP;X|ld*7#F-LY<6nD-((df>6KI8N{&#Lx80G6wcvudPRRb*o09MB94Ff(KH3&L+k*JA&#+;Hw&ARBLer~Ef0DD6eFY)E9fG*q z(5*Q@r)lo`YL!R9q|e?T?M=Kq$>@^eN_@1GHzi_4AVctX1$2E1U&=UrjhZfcWe}H^=XkFNkQKJZlJ{{5b>a zL{85(2mDdr?*pH&L;DB>9n+&wCaP#ozDzWH+}kZq_4z8bw3_C)L_^aC5?zVl$~1xC<3ZStp~ zguFpSF5yG7`yKiiJG*!?@#U)NKwB+f4AH*tuYgto?s*?x_jzCNBf4OHeC8^|mtXH6 z?;-ttO|cF=yEo<~-dsif*~@RSZgHkC_EUMQZUXdkxISlZ^}~4eYCG!QEX?oZ&;LN* zGaWNy{bHoM&ZWLvjXV=(g2SWsisfgU^B^@-k3od5p)dcRZ8 z%g{4DB4S`?>nrE4T%WN|*_)Xs6JH*jh(5?ae|?Wko$=1zmGsL=u18NspYZKdINz6P zM#C?n?X&4#pPU_Ty&sUbGLw7nI2)QDeU1gZgr5ZaZYb&T?wfI3oB4GF z(JYG};$;sW#5z=)t;l!2y+7hPy(U(5Dc0nE=eJp-EI#* zvYZzt5-kpvU*hqhy}V}|p*fq70=ng%WJ30fnop?K^F`oq->yNIbk|`;{C4W z5B$3x@{!xHziR(}uxFl!tRuesH5|v&r%$?gzYM`RQ*jIO-5!i}`|kg0Auj6R?kKNs z96#V)L1;I3!tbR7Uuy4u0OLzWIs1Wjo^)CuL z>=*YuysemK3hA?5Q)d(Ecz4~6?Ortyc6u!7;`Q<6)EknJ_0HTG{0&>MPwVKo-bC~C z-?S!FVa+j4jd$NMvaQzy(m1``y?0F&pYBI`x?JY~;%9aePs0=3vfAqOl$b0e1V!RzX*sZhXLadwDt~J zM|$eY@B~60R|)&DD*f5j{}y*2kG;DSeBI~FY|_&iJ4}cDQy%ce%8tW8Z#mqR&{lrf zfl&N5y*#1JH7?NOL)Ero9HH;~cE~%i`~YZn;{15x+n<(KCw+Ucit|T*_uR7jX~8Ix z%U_y8-)7;cUpvHIx8>WHBtl;MH0+wEe}NYFuDJU7&D~!l-v5aG-b4+=ejq=;g+7a( z41dbTA8}mP;u^-=?fb#EBZFs=eI1<+d8A^$1z+#TQJnbZc?rZ#%*h&0wAkp*J8Vql znO+~wr%J?A_YK7RtJ&VFu6~mTqdwRZcOSF<%VIt?>S;w$dDLy}Bl1fg=$jEs2huooscbx^ebfqM;Kdv1PdVfxwcd{et>U(^AnQ*o#p>4qGl3W)rhB%0j z`RE_A+A`F&d~pr?zv#JS1@uerTTQ6`{AE3%4qxc%KSN&7cK*3lkhjR;_7U^M_2<>k zunyhfIo4?xlt>^wk=tDdu~S_>a_;WeXWzU3vstDNm=F7u%k39^`cKAjMQh}#`s0}* zn)lxYdu-wADMZ@^jga@cTF+TH&fW>gKl#6Wy}fkY;eWdQ=5`vy%lvi1(HHZLB{@&! z-b12aZAZTlW!-lo#QuWFXLfkkWYSZs^C9kHP8Y<%R=x?^{!=`GZd-) zLKPl@dR8;)4ItW%@Qeh%a2NC;oz4CJXOj0}zAA0xXp*xk=TSfUVHoyfbD*djH)uc` zlJlWs=XeS28aJ+WMj-1y(0%`+Zw}NatL}bZ;VJGrdLnm6#D_J^jrr@^Q7%4_-=ig|iJY7MkTm6jv+Vo1n{=qZ3 z-<8Dhfk`B14_qC~{JU^m8TS@(Vo$!se#Z;D>)!f)7nhIgdtp5`uwgWfm%pY*UYfSy z6Npyje~u@#lLD~ch&}FpeLb@1T;iJ@6)_)uVO?YB^*Dk!*%xDg=K9y~B7N(=w`IS$ z-vdS2&Cy;uUQmlzLNn;tG(uI%y+>0{P5@s%9qazzNWB`gzFpn*jo3Saj%PMcjH7XS z{td)S4XK2Fq}Fake&`$DBi=H5yBVapT5QzXy7K`n+Ch%!@z%8~usDVTdQ+ z`!m*~YFFq=cJ*x0562m_!Jkkq>{LS#uGx=qHvYj7;@e)Qg1vA!vnHr8xv&Z%K za_zDI>9=Ltk-q3q_6O284>)#rhY!5$we0%{B+lm}P4aSgZmlb(KFv?ie} z^4(zIyHa%tRl%oz9v=!%dqK4A(Hixvt`)-Z^>5?565kYhQ-Dy<^M}5<+uaXz%fKpx za_-089vVNoW;oF{vN-y?T^MSR&y zx%@lO7TUup3Jrq3eS0?mdX1At z5%R37P{-`_6QIprC=~ouwcrO9l#F%BkOFR9s&spj%ezf6KNb<};(X}qzBFMv^3Jqd z*wRDxi%v$qvrS=GuUOXraTOD8MUh-Sy%i0;k4+F~Qy^;s(PCpN^a0s1mpksw`tYYt z?1ebUeD&dX7W+HKsRk?HS2kiL{LOFvI)m)^KKO!hcJJR2ULsG9Kwp!`%K>%S;=@T# zyY{%-d9O-Xubi2uKk>!g z$C#%zy#u{I+AjMBaThN)fzMwU=jSuG;7_x4AJ#9|etoY`&!*Bm*C+DRULc4JT*1`WVeTY_%)_kV#g6L_5f@!>YaRT#D;c@7z{5SXelsI|12Fc~D zH;rkW$=s(p@Jt2t4>diq1IhWa;9-QU=op8I#Sm}ZHz*wXm9EDFCwYMUkbf-Ec4Irl zS@mr0_JN2Iy{8CS z)(?|0ewAMgq3-|9SVHmmSH#^sK94%)k2AYE{ktII%bHwr{u`Fv-$Ua{zlGn#u#M<9 zY-@k`g?InO#lOVY|KCm~&VhbS_uW$+o(b`grQXdYzMAq1eVZ5PGm2=#mZF~2c6Z*U z$_Ki57dq(by|TLxLUcY2K9Aq!?0go>XuR)xFH3;eQuQL_UOW)|b7_ZpedFZV3$8zAE(m1h3!#44s>>sw*D(|Npzk{)$Quz< zcOdcE&OpRP{aU6K>>PCWEwY$Ry@|GG@}u5m<1pyU-Ut1OFS@38^V_wwC-hoY?+zSz zX9(oM1sZ#NdV0aO21Ltbcb}@dJ+Lt3jcijw9=|()(A-*BjgY-~gZ$?mHamW4th2~}eyW+vhf%+vFYBgz#^AW&Bas)@ z?;Mc-^#u7R9$$f9Y}LB(uYHgmeiMZ*PNi}3+gXmDe#qtT&T*)Bk-I4BMI@DR{dH6Q zMWk;YJ_VmIoapK-uW)%c^#uC3?{^T)U*vAS8upuCokgg|pM)J9bP9eI^M=5lURE4+ z&Z=cYoY<}!pyf(;Ux`ZR-hX0EKKP$szo%iZ`aKtK?ZrCu;A)5)%Nzv1a=8Mu$=S`V zb8?i6Q;o0Rhdb@g3w4t=*eBTa7MQnekstmRW|Q+{rF@8s*p`Czs6ijmCw1HSNUv{Q z`e>SdG#{O65yqQF_kxMfm!60qzWmn~5I(d4ecgT*x?(x;Ro`FM5waF#lSp4rKR=sL zb#mVg*QH)Me(mQ#b8D^Z=TnwJ&u%*ezIgQ09E^WaA2ffE4>YUm`0_zKX#RMj(`(M% zxMO3Q(edS*E`fwB->r6pCS(%&l3wP{!{nhE$S;*R331k)*P=dk^%vmFkW9!+u_>L) z%eU^n1=itf|LWzg|MKPu$Pe9aGV+k8*@yVZ&Or%uT=B<67eBwkVMP0$b94Re?a=O+ zUxCVXFu!rVu#f89KO;USJU8NHqCU5PokC+fdTG2p)}PR*X@iNcavz2NS^j74ILkM? zy#M`30Lf*kX^QkkwK|BetUfoIXtl##SCIE|tRy|{`~C#<6DDEa_LnNiV^Ogo^4rAU z0E&AL!DnMnB40)LzsNscWavB^Z#zsyzVLJrkjv@c&nG_L9FOsA9CLN@`!H7z3qF9h zF-e$*jJb;Z<6U?6^OC(b`SAZFUo)&1(Pq2$Bh&*^5MTXtk3ZR0rNeS zV8ww%^YgD=zbSPEe&ZEtIeJcp$|N^iE6yggXNtLa-+vqnJFBjv9#zf3s5d)eKh8tc zqrnMY(l1)BEg^e22IsO`7wrAKr4`oiYP2qtEL*F@CV$$h{X)e>mg% zfAx|$u08s<%Y$lb5l>^bx;(ShKxckKceVA3j08sfpo;pI(_2an;qfW1Vcx9%twFK^NZ_ zq1ZQA*AmX}b2fb^e0J@HeIva-l=BMU{EQ_v4Z?h`6~I2Mm-HP-ay4vq3qoCJ-)NHS zJO3gNG zl8`-qXR0}Vt1SKwa*^3RXKn02@XeEb zVWcNZuR|WOCknQbM><&(-Q2>DYBKA&_v5##FK zMjw>p|64?~+H9c5N~WyBxINe0dBuMfG{*OQgYhg^=Y>SGe=57a5LXKEvds#oc!}RR z9&u4`b09AIP8*`j{ALNm2>p_2dg*=mw1|iRQ!}`br-o>rc zK1_)ryXK{qq;Faeb?ZL#bw9jc7yn=AR2?_N-s+3y@t#VBW%Syj!RL=edwa zMPq&9f9ste?xeW&?(=u~TVtN1^A`c?4J}|t2fTLnw!Oe{bc-XHzX_P-=AX$upTJvA zjiux0YwmXyv;Q9U2~jLxHR7vNv!V!Dn(09v!rb-!!4EBh_1iyhwI|vnKI#L0`;38v zdSZpX9v{j*muo`)IKS%~4Gs(;K0kFJ9ibU=aSS2rxFC-7So_ywfTizX{c6Q1ht*d* z|5uxfecj$W?do{xzgV9*zYY0dTb_DF|L3#C{>VeVyLJlMm%FyQJpH{N;v)AKTupra z;vb;B&Tu}!{uqOPZ}ZJ;Li3OxUMkXKO~>K?5qt0!?C3Xo80==;j`gaWnHcGd$Ub4j zS8HowoY^@UeL}x;_sPj~KmR~_W=vQk==ELOgJ_j-s}IroyOM(ldFDD1glu@!1VR}z zHUaeKq*&0s{~Zjh|Mfh7#zVx-{@W1#)XirP@{*l?UtGLqjOk9a?pL%6p|J7j7i{8L z$3GJdlK0K6mw^yz8rluA-lrhgl}TeyTnRgmT&YctRb~AN^C+E#dma zu3e)%KE9eZ)5US~IPB}PVniVLZ)+f~wtVgpG~Sdf6-&rgU&nV`?Oh2!n>LRn>9a@c zu}(GnI{czCBt;Y7RLG5atK#!Tj zAWvnX^wXiAtJgR}^IyIgj0^m)oySMpjcIUw(xh4G_CGm(B=Omux^BJR5V!v98huLr z9->GtyA{Lw)tvo~KH$ECYr}nM9J`~;E`!{vlA47=kKquJ~BA;jk+Z})(F!sfAr zqIn|rF%@)R9MNX&_W{t$wHa}jNA667UiI6~FNf+)hTiohOT9jQH6m{`p}p7^`D^F5 zM1I<-?^hCE~PrSd-ScP{v=`n&y71i1Ofy8AT5m6G7A zXIB;Jix07gtBzTNyw==Ze_=aZo{8+c5MQ3<$ZXhc;res@%ftdr~{jG z1nkN3agk)-?v8iINm}SIUCDmL=h0c<4^`k4>X*%3kVt%;AuskDF=`a@LGST%{Omts zeeA-&Q%FxP42&UUw{szmJf<}Ik{JCA`O4?j8}9Lm)xj2!t3%7MJ~?JK`1(>#m&YYj zK(hs((ZB7ctnjudXO!cXR9C*+Tu|1liLt>d1b;Y;0p z+kD?bNqiOdYCIv|5{W)$FJ5cy@zE?-x-jCK6Yl>Qw(?dPqV4ncqk+d)!+)~Z{!pTI zszJ`qjR<%A*tdw2mXD#Y#tE#;E^yz`=KVT2{^dT%3pTl@^M6zd`T#H768jR%Rw9V( zvmba%LjHf2t~f-s5{#?AS92mxx#i5S^ z`ewDuqc4kJSVXAiEm}gzQlnRZAML*e{NFRJ0{+x-C82oUSwo)pw$1Zyv5DY+2?=z2 z9%-D#$_uSXr z9pm2bM*md%dcdy9Zl5P{Mvsjrxl{h@`%HJ(=L1anLRG;3XJ&Ci5!tS=o9tGqP=`?L zZrGnt-53V{$(3LKt}InL2K-8o219>QEaL3kdxiLT`W^B`?-r4;v+`;m7uj9EaVF7x zR(0eRuQnd}rZd;Yb%fYZ2(r9+L<7DqND}R?ZooJS`1pFJpXy*o!+>iKhdJqRrr}-{epVZ zPmk7xe!)lZgL%9Xb<6!j5jXyqeb0fa<~P7i_GV=5Li(z668Z#}k;n_DL0lV>%M2a> zyc+^Lx^i?a(sw46g#UHtTc|^xuORvz+gTX)oS-LdX`J}8fFykr=~olT%3>bp;tGsY zc}rQp_1%oPI;Vc_PUBc-Kg3h6n2vKry}lGiGS zbEfZ}1G#%+2BCC^%?91~#XLe)?i)?WzU#Y$kaviIKFgkl`NgJGxl2T*GIT%TwojP&m46*_`bPn5??nN-HT9kEP(oP z?si7~sD*c||E?~_b(bDr1Np|k90Q+~Qm7N>egUg@|0C*RVkKR=-}p)+qa@=M&EhVw&J zcpU=0=Q{=x^6>@G2YE!@QAF#!ImZx+Qz6JhHhp#q(K2Qc;_s~4W%I1wXRMPoIo;Pq z@_lEqF1_^J6r#nd^@)V0)!vDax2xaH?V;Jd40|0IXzxD~yGn%;U;muig!G&b)3JVM z$NG5aPrGmX-K_z=Np7;8$s$NEX#)Hu#{Ukv&fB&i>5C?F>i{d?Yf7l{o~%ye#Nqlb z(Es*o1i7f!hWPwqt-OTl+N^%S1NCj5SK1Gh#j>M*bshWswLbJXlJtbHeU6=-osKwr z-eYU?<>3cAZpWftr04vci2RW2E5cvKYmv>TYo`!@&-2)}u7lfSoL;`y=0%+pEAL~U zTbDUc6?M}(OZ^1@$dOYKFMj{MjnmRDlORvD|G#0m523H}H2+xQ^ZI`9r~bIy_TSd^ z#}eOE--o&r{LOrqht}gWX+rgDzh#8x{sq*Z)2KdZd9B_8$VW9o|8RN_OaWcy;2&+`^GYD1gxpvq3+>wO3bTzD3etC%e6ocAF z5?{38u1Nkb~%tBr}^^yjWp0jzV&9Bjg z5jRt_KjO^3t%5w@D(;hu?2Ve!lJwc<|4k=auSf>+N*(RKHr1a*eDQQT^4EMSg?+0m z_PemWVGQiCPY(u?p0n{E)C*tS9C^d~^MPdFF%h98H|g=C2-QCO9bF!Ot2@#9#xvxx zk!x(<-Mu4-_=3Mi{>yr`h7iqORk!t^YYK;$afyut+m_3*PD-p zklX}698a|AorwNn61t*}*rB7?ACLJSb-~Jgk2({T8(|(<<0bNiziSBp$%5b5ylLh? z2zKj#TugS^)sM(qw(bn_TG!n^m-uSz-KD@Rkt?8AY1MKVY;Gc?ZPAL8yV*6rL68eHn3hYCCXM0P; zU+0;LIyC1W)+Igbo7us+tRI_8sQuLjb1d1eFpko-aU6YUgD=}*YA&$R1#_X4!pSr6;tWgA41UDc&B z@=rFa27ilH*-%&V;7p)mmu-AP$DuyNV*7UiKXwlJC0o>;LGzfijj>+U_c;24ljKI- zI#rsEA-UdQ-}COA*bzYU%4w-%2t~sK$P+QsKCdjUU5Ft*@9k^zXTzvbM4Qil;oK0z zUt%3jr=F8xXOWKr_PsQTP!$hIBxD=T#Sx10pMdgdfF1w$!SOEQ=WFIoa`StB7oqcU zV-Mo%4M$O5X3HbHpZXmB7sq?{Aw6~EU(|&YZTb_D0_DgI^lLTP5Bla_)Krq2 z=+D?cf7=xM*Y*C!KFyIR`BE8cQ$WtCs4{>w$H0?-y z_Q*chtrpf*p!;Np|5Wm&1{k+E5PlHd+n^5Erb9MAZm-6?a(pYqT~|JYeG1+csK(yv z@YMBFmSXBC@E=rjpW0KM#(%`cy2 zHvXkcrV(H6Iv7l-%I4|fqVa>%FfTtB4?pO)C6HfgPR#)%S4|4GClvet@TGC=*}7JQ zrvC38fW01CKY7`Ht@#e@(|M2&{ah`{k33=i_Xbi^iYG){>C3G1jl0hWQdL zK4f5C_O>hf3{NbBI+Qi+_XyOV4UiA&v_{`@D$I|ean9Vx(XjV@7hH#^sF9^$FZp6J z_^V#V5i+kTiGqPZV&AYjDa7W&x50h))(z_Tk>`AB*<6XuzCJVd>H8Z3y~+v zHz($oi>jbr^p@2auaY+*o@RpqU;JmEC)0I8QAg@?6U#qSH^@cv?Y$gKD0ce>fb4?E|TO*G{F9Nd?8zBVWV0T-|7Bi zZ?^|^kDK10uLolv{B{!j!1=R4lB=R~Y(M>_W>evzW#!@UgY47*`{iED`r+&d>{IOB zh5C_I76ie5m=EeuRxN_Om7Oog(tL6Xn?%SmmSdeV;zAhcHZe9YF66QD^d)1Vzy1UE z$0DWzMV5q7#8>^g!7rwBPD!*l&;#>0-`#>-hY!d4^~P@oLVw>E%qM>O`ksRemvDZH zdF!Ch7B=ha_SoTPs?{WY=R!30r`LXcKgYgagGnx{-9jD73sr_fU)k@UsMbQ?yLX_EI3w3A1HaA!=;?le$P=D$ zaH`9rroY(xPgPW3#DhIl%XL7&9IR5S??1)PDlc1MrFXk~@n<%1H_&($vf0r5Ov{Ums>Pk9|fT~`uc$Y`d zNk57@7U790pqsWsU8)UL(}>o~nolQW#}xQ7Ep8^!{GG9SSvmkkzvKzT7h9?z|MkRM zp+uW@l@VW))qe!hDr-UHt+-zq{x=VE;+%3$c?Y{aa_4VXBJ51ag8e$_%>#&Uo{WZF zGw&4Quj~9gjQAq^uc?sto`>;j%}(gEa??VI&t86y{$k#owfqrVz2`&_hkeSN;QqWz>Oqbr1cS2hBx) zmrd<^efUp8%rgCU7$+dqG)U~;uhWg@TPobZ(v$hXA>65^h^}8Z2I>h!-_VOnDg!JS(pJuQl=6(I$JO3Q?C9&mu zKhontGQdUpb6d|KR1yE!>$>oU*srN)^OXM)fPN8LGWL5IEWMMBi|n`D=T>K7Ux#ejmp@9P1JP z-NOD=^F7$NEPN5;m1zijeB$HIZd(7rG}{l}f4$#%Q;Uwo=i49R+-3EiApUyXQ^ZG> zEz*eOQtt&{70BL;)??Nbu=^R^zZc1M(Heb#v29^TkNdAI(X8aacXa=QiVH#Bi#rvY z(Rj5phai*-uYm8&8WBmfo|A;}&gVbcVtl8s_Z@5>i#W4#3lJ|k$P4u%LM~vxdRZmx zpH*3jd|}T^qyKw8WQ2aApWEkb^$PobD`(pa#7o^TosF5wedHXA_D+HK&9At1R-|ocsEm>}9`+ZjW4# zTnvARIxCRh=Hh){($~ixqc6#Zb-R+D7&mPcux-eDijVjy8{)_MeEol#e-qRJ3#Ra#IGY96uH7$6W=*&pEni_2lx@K7nHK+V~Yb= zuTv%U7vi%QK{(HyieKOR;rk5zmo>1zck}po{x=yy_`M4*YyXWt~?Kp z_H>b63opdY1ZF`TRU3|TQ(g(c`qeMvHS{vqTujJ)rz4Jh|9tqHWty~r`0Bb$hu*Yy zwr<-rLqFxguco_6{;8!Vl&j}WBR!t`NDQ#7{eBPcQ_T8f-=D|>ng0;tVY>MP)vvj6 zeImETmKJ1h*e&qot)7u&$MkxS`0)1}=Y#%jbQ1AZ$F??4ySSr3|MCyw!Ct0FqIKkR zLCBW>f_xIkXL`Fmq)0Tu&$y zl96|OZmWeZqT@19|157$dmR$!y_EFC(m>>;$@cZUellec^k)avB02l-4%TaCpBM%H zgbO$q)F0W#6Rq^op@jUseSd&y5{USTPV1WzpZO0Dg5Jt;)-P$fQ{5i6`EDKZidPNr zAzD1#*a_IszOUQV?AMcMwj(astGWXVVykf z7HHXaZYb%SKHuT|(z}DF5UnEZ`=6b^cVfM&<6Y#hQ{3Kjc>Q_v2JI*{SzE;wYm^TK?@@*thCiG@kUdPk}f>-e6cW(${HwP-lAC60C%MfwH8PQ?bp3HjjyHh=x2;9qCqIIL5q&qmz% zthMl?{^yE~SNQV?7ukC{y(@6{AYk3-yV751ljw~SkL7O{38n2NzO9+9GN-& zE9zJ5YK=M+<-NN>@AL!2l_jU4Zsnb8lK8stq5*`a`|2=4p4`{g_sO(=ZV%1APr*6O zJGARYwE3|e#+l#3a|@DBx!;obVs!@kvU>Ts1KDwsCyXI9-9}6%)X(xFzI=F<{zR)m zrJyg?4Y7SBqdfYBX!8fw!#d_f+}Wa{$P;<(=K$C{+P5AdOQ|@}?E&ZNJNR1FX<{aoxbq47d4P;?+pv%lmy=L%;a~AEHh5@{(vhX(sYO&Dq%l z@{@m}Z?W;dd5Jc^wCYUg44r4=G~=(CM6)0IECasCqMvt#TOkWE6n@TGP#n1`p z5AuIA)`GwMA^Hj1muB^f9#}wp+5R{56&{l^pJ*M>7;=89$|9nj`_(ZI%i{uHFFgtS ztU(`)lN%D|L9f7etH0qR^klWou+Mh-W4wyIh;_@GRUvoEwSyh?N9rmX&p-b!$>l*- z@I?%vPK=5L*1Bb}Y-8|+`5Ad+ntYFXclsrwFX{cmfzI_M$O{<~3tF7rk9<{i+9O|O ziE79L$FbjY5yzwI()`S8a(_axsv6?1n)gJU#K6ttXdUcqZd*5#58%4b_^U9|*DE?r z0yfPPNGNX|8bQb>w+RQ1egnHIy*}2fRMFWkkDT?LhI*7G#$!KfQW)w~j*Uqqxf8j5 zDscKbo3|nbd2Ets5ot?Qw)?D}L`T%SqrM~NgiJM8z*)U|e4m(KDM`*v0(qdr*U zOPEi47Z^_Sm>los5{lrnO9^?Icc@#P(Wwa0>TQmmgtC-zkssk)Ezx4e{mfitvki{MQV(hwqHFza#Pf_B{f!uKoU|4C#(@LH~4j z80qmS*Em9x&w!R${?~(OwzSVhx-K>=?e{d;^&xYKFI!Jf16I9}PUytmn?w&*)Yc!!QnhWdT$6CxJTBW8$LciL92tt#;rd`+G$uUGb z*GGVs>jy$EZhm9sKQDuv9UV7@^z?K4|11+55C?k~QlZEDKTRN-4}L#^Q2ufj^YLR% zupX6q9sQEU90NL)UZOtP)+@b8UmUl;|MTDP_I7z_C+BS-pY(1R(eiaPXfx+gU!v8a zQzM}Fa1Y|HUnYT;H4_$}lH6qPa4tot z!zx)j!!uAv@<`iI;H+}6A0z8 zvExCXZH9i#GJA!C&fFONM(>CjOtd*u9CFp?LnP6(o^x?me?m2M_ITjsF^G>-|2Sy5w`wf( zirDvU%Z$&GXnCVH=4Jbx7|2@&#}n!g87YLq9h&O$pp$Ka-RH^jh@-iaFopPP-V)@w zJm(%jwE58+a(3CiUqj9xHyz`{x&YgvQ5kKRUMt?9~2S#GPg}-6{y5ob%M9W)U z5?me>5uZmBnh9%wd{TFyylmfB$UaXDfZpEK$TQxvc{|W!w!q)w;O{+&mh;*)gPqCi zPOS-t%@C&lKmi8P+& z&pDP*Ts)5TJ138#?#-xY$R{)VKkLVSeQaJ0`@`nT@(+VB|E$wp3Hjprfv^|!ejuUq z<V3PCm4?_vXm3!bjJ^f(E6qo>-Rs9coVvjxd z)a;8h+#Y>4WrJP!KaoI{$s2w!PphOtzG@n-6WH+1kemNT;rc-zyfKyJJSY`>UU-eQ zb64BAR~&~p3!l8mcky=w^4W z>)Z)8FZ#?2!#HtwGNJQLJ)769s!Pzf|N8_C=^E@NyH$V1`c2c~1BkDFtQkOjnZFDC z;Y3x0pH2QU5ya=$CpREH-t=Y&u+QaT#8+9o{fHKY4C1YGwW~>d*5NAr%wozRKgF*x zu+Kw6upV=vH2RD2t~ZeMd7%Y%o#X8LTFsG66JfVpQRvAPBjSm6-1d1mxvw?yNw1m# z`>br&Sdzksq(h|R+vCt_YPd8H;fpB$1#s0*CWAQTrL&I5nQyrqQB@hq#r4^LVP z3`qvcZC*==Rzc}WgltR$)HRDbqy!E znld+tke!Wd=JJ4Z=M3sqKCjW7_}uI3|Lrf%z)r{;HK(kmt^mZfV3>Jo9}Rx_*O=Eix)Oa%<+A_xG*=Umr?S+hA4$)6KIG@3d2a;_Bs4Fcb|pS@ zS4Ccl?)Ez>`kRuSp&$855<0tQZldcww!Q2C8ppf5P=qR|^azsc$*XZruq!?6de*r5 z5}z%pg8st04aIuZyeg<$9+}ymFQ>mghuS$9eo;T!|I0hME2EC&&C4yxj`%MT^`kpI z!F3FK+6?t8b(c6=hd$whI%VDW*#1$mS_X|X{{$hgbl2Aw<0I2aU#9dNMQHYa1fNaZ zjXabaSK0dR?%>>!zjp~EJ90_(g@h_sA#WO|uYN(lQWuw_pRtZD17UAkCV$d1Eymk* zrai>|Rh9Xu3l+ZvbDdWg8NY;R-9E?ZZ` z*6oI;y@^(50}x-GUU@Llyt)Bj6nY8&^5;3h7YY6QklZ=^Lo1gDWupX1sJnfS{j!#) zdXQW|D^whAC39$d;Q}jcVzYoTnc13~W$QtAkANUR8 zt%~=x{bkjX7Br6M8-aMJz{mB77AGzuesbP-((R%3>IFjxO|ifjLNT;bf6&uv;(X?l z3gf(Y>Q5U^d={Gvad1Mb;M``bA0!jsIXfnvP;!|_s3t#2AQbPzkw0wy*Y~7ct}))_ z;j^E=G>85-MQs1sKN5M$((?O(|N02Vv-w?+UvjU5b&9yJ?>9`b|4$Il55t~QdN};1 zi+RIO`q)+YoBP`PWJF-bNSfDdSpq#aecAn3aH{0X_cSqtJjdF=CwCbJGAzN+1*7a?mH*p1}oW+U`#k^4+b z;`6yvz?UQQB|*+bAfXN)hy6Pz>rEnB)U1!XR{r;}PU-d5?xR~itX~$sRt$RE{zP8N zkU)#;+T;8ZwX#8<9~gptun%F0F0$)wpHI<`?00)bNLD+~i_6~#kKEaLAd>7l|9Bxj z{P!BjYiIcD2;%D}?+{1*{)7+Na|U(>U%flihG;cCx<4W7a<3Eg?-oPe@UvwwkM6Q~ z0P&@+-HG(Xt5p)Xu2l%}o#dY?5N*`oxbASu2O+=2u9V>;*p6{n-`n6`6KA1vqu@ zXd3dlL^}fuv;?ksiF{#a6A(Y0%WEa^#nMb0fCc_oPAK2xu=d7u!QU6U`nmzz;|cEc$QFU8PR-r3E1J4r`q|d=Epj8 z>DP!eA9P2#NUv0Roo?=WTs%wEw?TKbAv2%B`iK$5wYm9_UY| z8O^I_wLo3z?w<#e9a+NO@2d-6NP~Q;{|rL&Yrj6EQ@qar5za9~*ZVG_U(B&M{v9uW2NAetCp*ljT=-oeT4UuN$<2pG0bFl z265Mi-p08-eAd9;$L^G>o=$pB);SojTSjW4b@duEF}_@d^@M7Heb2n^n7)B%7I6tE zviDm@G> z>XaSvPYXM=Q4n^t&m(pj%DvMQBF9Zvp&zf4K8;*d)^9$4A8z%1R^PPyJ(* z0)4g#@_;?w4Lw%wXT;Z8@f>->>rX~qv2*r!XZiFf>c{ChswK_igpTV>sNNs&Cge@- zmM0XsRyA{b(3I(9`$oMR-9WDiZUwzM_Woqk+I|m7cgfk7`0|JSBM4Q^V(ke<@80#@ z9^^%q+V%POMZU>e_W3;LXeZnMyqY0D*~ArYy%MDvnIQO}H57(%pJG#7DZSvDmREl>EN zpYVPOVZuXu?yEw+$l7zzKh$Y^zqFZq9C;)9Tpdm0RB?s%>JNKCi()~;VDIt8aLf~% z6@KO|PJz!8uRu>Ww$EFzUHL*tkIxuo_cz?w{pLD8$nD{?!*fmNN6?$uOw6@oZQ{${&62%H<%A@^g%KHI`TujpN#zQyzdP59UgDjwXBwvyJM`K&JNJXxWz7- zZ~J$1303R2Krwaje4@q6&;^91X)g3Heq($Z=!$DI2%QqMXA#O$3(`URv;@t|UInUw z-m{6%RyshXTEnhsmz3tF@xM%-OsGyxOd&LZcV_~}yMf9t$>zzGufLO~jX>SATy3yF zQSh6_E*f9*Ml6kE<(}L6=x6U!6|o7hqrY1}p5!{~|Ik-NMt<}ao_Tc$@tuliLkU&) zSlBTS?qqX$X!B!QM?!6ep#E9WGq5A_dG{i|jJ=M2p?WWmrtw1GZbqozO&muk_nw(R z$d~3ty|BAC6Nz?ME%Xa>>P`#j^{EQ~IQ^H{c(tm%l=y6a1H?_{UWC47>YakzIg!Wi zzj{3Cg?Vqcedplev zZ7$jO#LMY@ao*|S`%&lS#Kbt# zIf<2Ued7$x4_dVRg!Rg7vq777nXTU!4Ik+yJMTBzJUX~EoM^erYaq~jPY@xi`5WS+ z#`TFL+If5ga{jJNN9fha8$)RR{eb#oD_)NRf0qm6#D(t2JKoLqO0sT4__2=yKnL)G&4Fz8vy*G_$erYr0 zs@!|X_1ZQ-6*L!hX<9c1?F=2BO8QP}UDPq}9ANGEP6J;ah=rf!)CxGaoVBl`-5z}v zaTs~eD$JZnwC6cm>|afp-5+$v*4A%sFVK>^8e!bG9l+=B9|wYdR=pGS>#T;JKKL}4 zXy;vj_)Vv-o8|J*x(UZR_%G+D6D=lYV1K&NM!T=k{bFgH+_xEVqj66BB=}E`9c$w^ zzCk?JrS@WddR{l=FYgg$^LO+3DJ0jdB}^L@fZjK5h1<4yQ)=nGDf ztz(HV7VU$7oNC)}p7SO(uwOkdF40Z$v_ZK3(2FAxU%hvJRT{_U+y5&&$HJzQ9uKUL zOz5x>?91^TfxgWvaO4YbSk{jJa257M>B~c5Kd=2if)Yb)K5gOyU?;5r^u@Bpp~7QV ze6udtJLK;IW@hoNtXYYE=O*Y5*{5jv;NqEE1I?Q@#^gM&PkE$n^O zY_lKogq^s9b?A-}K;C&;Ga9cZ1i()wCc3NJL-PTj1`)ETj>spqrOQmB<>Jif3&uBm zG11Czz$`*>v7Ij=&s*BAFKggp7xC-XoJDA28XzCk|L&kpO!OSkGUQj}hkRSz)^qJV zR&V}4u){uHv)J@A>PVin&xfl^!!7^fGw{U^_B{jQQ7_b;`A`<;z4HQW#iByv=y!2ncKfL@cJA<$oh`#M(bxScC;i~_X?~{XcqskEAi#cJJ~=# zd)ky}b-66!CzmAKzLnz$>V&QS7W-5sYodO{IfeXZN2?{!cztIe@=TX&JCy8*4tKB* ze($HjB$t6<5yWTLPNfi<+WW^7s+7X09}(H72hsd>5Z1x24DIXo&@6NU`k6_QHh*Wj zdXgTC3+qmD-p@X##mYR!^@a1fB=T72?>CI(j@MzEzoREfqE)e`(39@jT_FEZ$KU1Q zi)DSWUvYZ{_N9g#N4=}8)o@M-zk#5|{F#WG&V32!jHn9~Oa8(BMCwW5`kW>ctX>+gCgWrqdF3b%AIX~&#M7cCs(5W z&Br~+59e3=9JXP1a2+lm{)F-RT|L`@H~Xn0>DWzZQ=A z<~!muglAqoJ=w--O|9NoM}A@RAmO`lE{|MJD1p@>3ifgMKf= zkK6qg-UR>ippG##-WgUjgit;BJb_SePscdk^QoWPL-UXMtUu!Xk!P&!cj)K3@~^0W zRdKlGS947xeb0ALQZTOQ?MT=gc@1?ey_%!WoJomk#OJ9ga|lHpxr9*dys;AWHxJem z%ElVBS>6)k!h zuP!0oL{D!~3;1jAmV~BOp>~8Kp>Asz;hn85fGbA?63Qwg1`#?PKf>?g=U=+Ii7s|v z9B|+3DB$9JqY2Hq*#il6jas%ozeK~2{DB+(s7~Uu}&Epv~%&I6v6xFUTLK zRuvncf?04bnc^qV=ZxP}#E}<16HIn_;Twpj*;s!%+2z-kAYaUyL5W1OgS}yw&&&;b zEU*2)4Xgb-`i1j-o}OgK*_I#qCVACZ8mFSy#}JC{!KfSYDZB&e>D6VyH@z019?V(Z znfT_?ee?xcCQ}H}yquE?{)Qu!Tx2J-L>M7^!;xpsfc|#fbsqGBUin4HFO%{DeiASJ zkRQ&6og-PvcNY7MO0)U)^170fp>^nAK#@Yn9hfZh!bJ5GhHONf>eAI>9mrrfi3{>#3GXyex;+(p>Ve(#4r z_zitY@B5)8$@L=pJ_hHEea=so`51|DvNce@x6d6i*JRM_brqnBD;q_6a#^D>u%kL5 zFU(K&IeNKtZ3OXEa(SFrve%eE=#MCdzUOqT)XGKkfBFgaCYITA#B4o`^~&}|Y~JOw z@4Z!BZlhl~%FUZE=T#mRIdnC!6cJ5L3cZ=+})bIyLJ*Ll|%>l2;q|DDa&pX~ax zp2PaZ&fZw39Qp$5GAw2=jc3W>I3IOcIf!Uy-1eb_(s!!uqi=IS&R8j1C$E-aT~5g; z@Evyz=<@=HC5_V+TKEu}mye=BZR1M5|@p zX`BduWcy#?+vp!M=3qbA^@_uJps$UFU-;6S?P#37JIMNLXdl~G-nAb?e06RKXy@2L z_)jda0X{D}C4%JQiEmF}CHp-%)oeHFSQd|ub$jH_mx}>}ruiqtiN&3RAK0#g)<3WB zC6Js4)SgJF^_(ukgCcu&@XgY_IIm^xwPjtzuQw8Y<0En+4qVqS;nL zr&!)apxr7OIJ2z3+ryWqLeQ_YI*0j0%}ZTLu3BHQ{2PaG9?H$blZh`X+xO(^(PNNT z>}1y3;J^F&KE2=}$PcHk3?x2}IEj5ZO`amoD(|d#;>)Mb3_>Sh$yB!oSwN;VLX|Ug zCZV~Ra|ZaMYfb^b_@C%|V)@_TJM(5_5Z~#34gH1}u^62Xee@!Rk1$TER6gQgNevr`z@eu>;-&H!| z*m#mV#{&}xS#vMMM_&II{xS_#rh`BD?+oY-+K+nS-`V?BoQM;k&HSl~ z&Tg_>X-{+TCwrkToK+uZ6V1wW??=ctzXP8wD293XqWV~mxsY!P$(_{4wFp%w`}>14 zG8J+5{BCL2ee_uc*sFIM{&LQom_xJ~x(CRoufw|ef+NTW@xw*TFWSeXL2uQt3r%Pp zNfj`kdSma`)d>}~+ryUyBN1;?G$EDrm0S$J@I7bYFX!Y^>({9dF^>+(fqghnQlKyH z4~oOMVQt`7UF03cvmw#&o62+`k>pP12gon|Tok5xb&T%-LSFkP=&R=u@T=VQ1NI>c zcEx@%M;wm$zjjXHMfW$jOVxqWgHp>ANX zPgY*SzA0YE=6CYAX(Z=GHYK<{=+vs&o@l2^`~F0;A=hzUh+_`o!lNt0zNueqF6psP zFR)Hg>^|(N0zW}tAFYpm$76k#ksYx-axS6j_47hPEe9_lG&6jcgHA25l2FFYUkW^t zw-X_6`Nih>guy+)zx^BP%v`&K_&MplMiXD$JlNFbLB*N`60O$6j3;Ena-u%@^kwK{ zPSXZmNRJ(82|ZnQ;Rw>>z3O%*)IE!jBs9&cV?1AeFNSFOu}%`93eS=TtW_3uYULnebV5i10pg7cLmdi6v7ao8(h+&zLf6OZf{Lg;#MgFT78>i7YlfdjcT8@t(T5ii^ z<;i~|KDyVlVCZ$5jX0|IZz9OP(|oM0pPn^ro_O2e*Lae5N0RGJk+>doZfEXIG>aZ( z^ZnSMAhIWlPegvJkj?%?>%=)>q$d+fgKsi?`w(AEcxd@u_PU7X&F#5k#{3F<^2vu$ zG)~nUgnb+TXIPi?>W6w3HMWexxE1e~KyP2vQecg9pxL5Hs7vv?H~4x?ZB24s`1eFY zb7Ben!TUQ+-9(QsF^f=C`htF^owsd?b~0YKC4CvOE1Xcws)_k^Y+gljIq8m#Tekb* zM63A2s8+(vxU*+TJHACd?d8G#~IKfKYtc1i$Ohwb&m!dT%u3Gv2o& z)a^D61McEu2+i!^v7r0+uy(ffT|u;XQ++Yy3C+y8lGtv!_wLfZ3uD5B?+?aThoH4I{pK zzXj(B=Wjc?iB?Ca5?`0u2|ae{eGJh&zx^Fd{&6dcXme@HB+{4n^I~7(-SfUg^U>Kc zUaf13c&ZJ(TZ7-eHS&<<#gc4srwa@v9`M%| z*aGqmJFq@I{ctkTtcU$h0Po$e8__!Yaef!^JGU4@Xl6Z(Clu}PAP-E5T2Z8DD%1%h zWDhd;Be{Gy-R9epzXlRtW_}V%e5YXj!i3_|8N^YB)lLRK^#J;WOc`8=^jYrcmV`V@ z5cEV9`#x4RFgB3%`KYbnvrpNOSGvK%&cs(Eo6Zy-6d&#X)x`CagUODmH#CIgI^lgA zqV+%dQUAg$K>u+v`834%u9dw>&eoQ00AxR4pE737NYGLFZ9F~KjYRW|GB!UBjkEGc zW$n3lvFXvr7PttH$EOkU^`~$yIbP@I5-p2;{a$FL?8`tm$h3q| zOxO+kvU^mTo9M!$dk|ku$~T{oM}ND5(A3yy{anF*7sq*X1^(AP!X?Q?-Ggz2l3z@4 zdr-fy@9$)dy|GW#{ok6zmkVdxe7@Nl{oZV!Hh{*dXN^k|@|}}yo(+jl1wCUWXt81$ z;-F8qMt!SWConIce-!Asv1L5jcgDUz9SWa($a6idO+)Z&+4nl|No|G`&Dz}dCzO3h zqu+{a!=NvxJRL)P?&~|oMS7L*+I7r<MJGvMZ5LV9XgnVsp7oqSz--7hmUv+T(p&mR$ z{pkB+0wDKl`wO9LG_e!u$w7sXx1#^zrNq~zi_9bB{@oW4I=h-_LbdY#GD1_U=StB3 zv-h2;ynAfl-ro;(!8Vx%9;%w;q97Vme()NBnmUT}Y@tx6GkS98@G3=N( znJ`|CuRC_hISTfdm+bDM@olyPwRqWwXtCTE=Z+3&-IHkEtb`w-9$ePO zyK%HH#x*S6fl$@16Xo`xTt5MM?tGsW@ic|nA>L|VUHIGVzXrLOkp+3j!mhv%&V%u& z2cFa3FQt9#@9R3`9Ojkx?C-CKp7!UrdE{KoVHxqgyzZYo!Q#PQJ?Hnk?iZ1UmfPM4K1|Cnh{#Z8yb*>lGUr2nlCUyz%=@TGtc6%|=yle_+XHtLA zV&Fy%y|vaJ8@4vNqa%(mADSi(e34W))u}@L;wVlVgKZ@*`!`p&MZrlv{q^{fF{bb}XgNZL5 z{ML)~*iM1-kFR--{Bu@aElF~@(B8iw;{TpVwDy^a>vtx9TqHa+i?{Ec(V4waS8|)e zI&`I3qoKe2@&H10x+(T++WPe*+MJ4jJ@u!(FIJ9j1HbT>2uu&eS(+Xh(2pvS!}*l+=qRL6DzPkxp?L@8gFjC zgC5U15PD*EJM;n1_p;C@WdBH;?`i8Gm%mrQ^^o4u)6R2y7y2Rl`o03T-+o__1qUY5 zdgP*3NrbvqL<-h-DKLUi1m+n{$QJlu-P)%VP}Hb3hWKWAcJyhJzG^Jdx>)ORg#7c$ z7+_LYTcj)U#Rq^}S2KRS{%|9k+jn>56kE zfIfFNn8vXm7R&&C`5AuW<+8$0Z21c0u{k>i>oNeg`p*PvM}sYcbGiu@m*EkNyv|=vFh9^yUA4ipRPR1|8o^GfLN{KIcH{w?kI1NCzI-VN3F zRd1TlnVbjl;O}~lAX1KK2?0EAU@0f1ooY*OYFR_i-eIK(Y&T2RK==~5gufI-2#Z_J2Tt$^lxPK zKLmDz-m*L3tL~$%-*05{CBC^Z9eqL<-i`R`#<^^sK757s=&5b|F~0LWi z*J^~G>wW9L${PLEB!9jCWX7P0BsU2k5GOV23+mEDJ_vIYKTj~~nupCCK{VTUJBal4 z>OB#Vn-^0iy!e>-Y&=k zR&g8rBy)7{NOIP-Ll2TWL!Y-H)G?ugko)d}eO1xEuT*-cpbni?pAZK=$A$d}opTn( zeg6jih~2XHcdM@UeP^=f$N3~@haUF?u6^AL`ggy+7rCECzBnfq!q4J)UCd)1MZk}u zZeHZSNsmR}HJ3+e8ZR4$w{d$=FSGX{nUyOeiRQgtAik>EIMjiel8$^TN$;09 z7sZLG@RQ1v8GVh<;>Z`4E8d6fu#ZEB6PojXA}__&VDt%5tHVIz%XK5XT%yd<9t8TsYV-|pX>xZO$3DMJCO+HW19hodGuTo7Sr-cr z+YAaDNpi#D!%1JiC~y1yecvv`*AwcY@337%6w$Ku)CBOSybB@Zk!=wt`S?vNc-gg^jdOG| z_$KG?LBuz0j-&q6rEpu{N0O}Gig~CfmL(MVqRR=$Jr5j3(>T7@_BWk%?P#J|Y7NAJ zc{fB{_35v_&-dSf{qk3x2e>_Iy4G#fpT4jU`p)I+@RQhoxggn*)fXZ^)Ij@wFF7lV z-Phx69cjFrJ`DXq-PTwqYhvF&rOQr&9zT>1@f0o3)g*hmi+wMctT-2Wpa#YR>Hk2O zZ}rcCgw7Uwe-Ep24E|ET&KJa2-ZfCi;>hixZnD>6coLyAxuGIC`*O$TcbfylpzpsE zbocLh!4LBBXnPLM_ycie)qEeAJ~!%G4m@w`Z)voR|L6bE$3^I=RMI!kO2MCE zb!+IcgYj|1*FNzWZ$jtAfc9F9_=uywV!VmCh4F0t!t-recfVi0WuJDuWG6QwWay~^ph}}l90E)5J#wk3fMe6)*EpVf7o+RoEZ>6a`CyZ^~+x)u`k&$tDl?3`45GCapf=c zKhx<9_90K$?-1z4_nMQQ@%=_Xzui3e$yru10{ov3jv`ct?Q;&!+d|_(vkMb|JsS8E z@;nmxF3ul?znxj$)}PfTg_GQ@ID!7EatwmMS=<%Wy)&#Y>YIvu; z4~;~8wbxU~S?C??hYk6XNOF1Pg+;$;tXuio-+#=T*_MBxJ^1X#RQQSc6oG$4HD>GY zkDpLardjQ7E{{E@MF9GxdU$;p*?0W!^dRK*hL0q+5bDU@V@BdGRhzyRpTf>vg3G9K)lWTMDz>3vOWC79{gzi)N@Na(i11gb|$;} z=BH5LsLq{w`-P5YCcEYm3j`c2Ouo=(@^{=&m| zT8_oKW%$?MQSyx$?(*>U`wy_kHvFHmuZ)f|3EFMk-4|=zT^HFj?(W_|aCZ+4BtSfY z1P^Ik6WnDQcXw|bc3E^;V6i*(G{5dS_kQQ&9L{s9x~jUm?0si4^Nug-h^NeseCwp! zkbgV;KCW-#-V)@+e#xm|zfVo%OSHO;IPr{)5g-21eLsz@oIaoI%i)t2V4v7G3qhx> zvxLwr>j>l{jx8oy^;x-$kkv@Fl8|pX26?sSX?Lv4k=UPK$sJ6zsb2>DA_@ni-^^c^ zBcK;mWe%bBjX?kKU=BGJ?H_{mGzY^7Rfk^Cv)9)^&wj5S3B7ynxiEa)q`5@1i}isz z`ERImTYQY07ryZhqo)DI>iVG`+SfnW&5@?J=MpU%J>~Z8Z;g;6@bWj+X>2quu-7 zGIb)*>W6#Z+LZqneXhTSWZ>n&BOuqPdrJ?=4XH4eX!Wq2FCn}A7p{vcY5k_O&bQ5X z_kW?mK}75N?S>P|Hq%g_tUd~@{x;?2shnn8RUd)w_l+C3Lsw=If1ur>wY zx5!+(0?Eme*~7`M9+!74Asao>`K?&C>M zRIC|5wEE%RXHmJgjUn3BnbnBad9`|ogTC%QhtASeMLgxW(`8AHrKmTK|~t+m{on!!K44+Q-*G>y&TZ`sN(b#Mc*|2N9YkxzHE#$C)q>@e6lx^*K9HIa*h_ zLQroatOn|UJ>KH#By)xCBrle=%uRA4x%(Xj(RO4%qV>QV68u|LM-$rj^>7|Lzx7nm zD`ud7#K=|XFYEofA^2}sjPZEoRW2VOi|sgyXcm#zmr%yt$DB0%$761)w_n_KZ+9H( zKs8MXS~M)>Px5BQ-vNZW>#ye*cblw;=2xyGPrQ09H+OU9M*L-!l;|U6yP_{m<*Qw= z@A1!=bFv3RKG?a3MSQ$=Y?1^sX`Ou=hW^xLYu6;&w$JM3h5GFJ^ZLiiu+zi6Z>T%o zLLAkKTd*h6RrDu&qS{pSh3x0<6J@sakYkO5ASV|VME%$!@yMT@QWtu%#76M-(?jsn zJg+bd_U5et@`85|XR%@GZ1RI2dDw@L^_`44Vy@;uym|G1BZ#khUMNqfFD5ELC`y&C zN63@cb#)q_Tdfh|Vd9!iB0cr!R)0daYzFE}xAe63=>w3r&=&_O!v!TCu8S2)& zx*ZC7!w%Tt`9m@9WR>rj*R1a~)Temq@9Jt|Ao64GT?5KoS*Lis_U(ZKxSurd%Fh7Z zI3|RU#ku=f+42qeI^2C9S4}G!Ka_3N- zoAq6VIyPI~b3pXyW~c`_G!OEvO0`9Qm`%xCJ+^<1Iqs8(-(1gC%eNI|=^D?VU+alrP(q(Cqn&zEo!lhts;eeg}Ok1Jk*B zjLC!gV43Dmqji&d=TOq)1=DpRv_sr|FdNbe=VcY!x;*K{p(HPMY-~@+i&la?_PqCC z(vyWNwG zYB;eE*%AHT;M_XLuRI-I=<+=IF67v(R9H7f-0NWe?_BhkSmNF{W;5o-!hZPZ#e{m< zy(NUAdEin)^GA1}$QQ8y>zTW`^%uQX5Y0b*SOpw92zL0zHPw8`P6mcKA;)EzPV46D z4;P;k!%zo0FijxwRgu6TVC6iR!|KZ&%w>Muy-zIPxzE>`=GB~?my@8!wvPvT|4NLy zQ!$TSy*ys)>=ns2i~O(|3q}y~-Dw;)m=aF3N|zt=L$7w9BbH;2MiQS*Za5cuUDnQr zUaLBDfGfs<&$5nk=X$&ev}uvU@yj=Md3boHFUgxixkeDG<8nA~+nrvpbN|pdkC!it zg}d{1>(C8!i5}3iOHSZ=#y;(-MtqTRY8TS;{-8)tLiN}*1;5}-^ogk9i3VM`cV$90 zP_-vHQ+O#OT9(zmgtqd?NrWav3HZrwjYj{A_xrJr?R3uF-$f)JK>GYd>yFS59*lU} zy_Zq1+_>*g+J8biz+RsK)RWxv$kqKlHIVo$Dgpf9i>@JlY=(Poo2-8u_DraI9u*&% z)?LT$ewvN_mLElZ@XHIv`gqNV#ibB0QDp5TqUDh0E+6AdqEEz{Pky8)N*l~w+2-b0 z*zwun{A&{8`nl9_pxiPGbtIdehP?Xr7PJU$i+$D0&)843cb~^m>F?n@ymo)|n+^RF z`4KhiV2&vDw~JR9_xj70ZHzf%zFr?m{;I!xAtzTqh5vegdDMf*nhJB>PQ26)=Q?!? z^&$TW#yqlRx{M+|%W!)j)+-!#db8Z;=H#Q|L%_d!1^bC_exrp~+&&G(Tow5~jPZDB zJ$~b8LMxXHB@}zz_dodv_jw^ZF`pv7TG@Ikkkxj1T+?_t(cF_7b3y#pDTZh^{*)%P z|GrrP)OFVYBgAT~`_DjK+XRQvKPEw+Ha=c?^{Jh!)1m)DPrl5Ae5*?CIVieMBY)E8 zQzFpUa^vX;&`Te=ycBeQXOuy1E~p!)A+Kt*SWJJKK5`N=8_rx1Lrr5%0u6V>_q*_*av@*|8_^gmSkV&ozw^W44zyObSK^g z^l|q)r?zn60Yod0m`KRmA3$G;r`2crkexb5+Yw)$Ow^HRcJ?LeU%WhtJ`!L3oS)x1 z&4t|PvMx@GiUvY|dX-4xn*x!jXI0cc0CxP{^ElM~*Qf^`I~((Y4S(F9*44*@s9)i? zv@7h4m{5bzY^+kwL)f6xXwc(J3jBmQ{@eV+b4>O{}qya007AA$BhzaMkj zz8Vg`+%h4W)=idEIIsK?97?n*kOJqDRm%l?ytFR<=VaoG7td;9{b%!*gr-mLzM$v& zVgB(T_goTNJ|6XM=RX_fA-$Sw^OGDO_#SmEYbM6^T|AF#3p>v|9Z8Pms6C8m>$?;8 zt==zOj)UHR z#jQbiOjwUlC2HM@(A57Oag)y2NN2r7Es3>c7jlALq$? z;C$-ta`d&j(KM3e`S^nKuutAY=wIFB*XOwV{QBI^mVD?p^UCTP#L@)aiO)Zd;J~&u2l){F zBrWQj_pOR~XTIheN_=*C=rlt4(0@2^_8s)2Nm~|k$mX0r2Xc*GM`QhQzPW_@`wR5D z$sbymXfZSOc<{d@pGatX51&pbSFM{(XlnUSAQU|><2oZ-o`Re#I|y}es<-Ro@vf`F zGL(=nDeK~#D`5m^xe0t-@;LG=*SWbW+dp&j>tZ>`>)X@Zd~9+Ea<*d}P#mA>>NR2` z*7>P=u5SNIgZ$}{oskdmxlt(jsat%LgyOq&ae8%U7SZxtP%NQ2=G)Xm>(5WraoD*x z){mdXJTS-KKA<@yN{f-;$Ggvm%k@2Bhxe_%i1_y5JlIqEKKe`hO>^fvmmL0>G|A9! ztmU9?B(LTM&GnF8*|DfM)uUiA(W1{h%yXOmEaJgdWW%{w`@yiw_q_5WIdgV$Z9=_s z-xMFh{~nJenrC@|ef5BJxL-8`)3znPO7^`m$?+4{hd}P&f&PSSc?9~}J|2&LHizO7 zFI8$U>P&8qMLme{rR7N9RKMs)DE_P16ZG4=m{a!6fB{6a^~HL6yui;*gk5o91@bPV zez?4KN*y6+z3H=Pl2hrPVqI_gwvcEUKMH*!d!C&SJ6BsHPHfpfm|tR6!8JZ!IrFV` z4Dj_54eZfwC82IHV=bX9)@l{-RRQqX?B2_WW(U$>?u(EokwlyCrD2yBsXCQteJBp| z$&?&{^YHQRdAVY%LLaC*xdUKlM!9x`GG_TeLaREXFLXQic^q}M>lotmiklUoR_=Lu za_Ax#*C6*iJvnRxXi?l}EXkR&n`?T=-hiqV3HgZK*@-VtSL{frlCFZkrh@yNuztFE z6v>&6iCkU0euKEP7pX=Q-!^5F2>JN@p!pq_Z&tJD2(l*@BoC!^)~cI7p{Wv#Jc(QX z0oCSDs7HRfeGtj3C5L7Z$}Ns}B=keS;QXdwoP?c_9q3Qh^pBxL%aq69m%K6A z$(6VaWC4vaKXltis4J5z5^>f!oA}c{wrh*Nglfu5^q*PegLvBcYh8aQ%k1oBem0Hd zOe^&c?@MxWo%>#kXfOl!G5pWOMPTQ`a(CVy zw~%i(X{PI&`-zcPRphwyTMq)VDq*hfV%_iAijrY2{wa1N4(d<${CRdHCHhoV;4Uvk z-S>**)#~kOU$dr4NkUuiui=EM&9nOOXYH209xu&aA8bUlczL!Rp*_Sp6We;tnkwML|N3QO|^dr>GRB$T%HGS!Mw9gXQNMr|F7qOr0TPd?C`#W zHSC%A<%BHrv(<#+@4wd*s^43zC6s~h-FnA#u|#|4&m71deeN(zHq?RbJR<_~GN&IQ zJM*v0)BdItpx3L>4B*l|=pWwp8{#QzA0G++sMb>m<)wee5%N^Y&`&0))^wuPgK~(6 z?KET-(X2V`xJ(2KZYtom=A`w^X*S`_$)hdd<6|w&` zBso()duu}Zu!$tJ)!cKFS=q+mi}>zsAUB&fxs~dqUKk*`B8#^sgO& zU6%cDUF;LI2K6A9T`Een9k*^U$)fU+oNl=!z6|uRsjCS2wX2v1{M;Sz`SKw##8+RNM-$pJ10xAV?<*60yvW|yc6~DC z9$wFxF9%!Dy51V@>c3(z>d$m(f$Og>b3PyG=^M*2SB1yD4=H_TyLoZq5?;6QTZ0fM z;j??dq{i4lMOwHNZO`!svRM9V^x zBY>UX%_6iD5~A;To7B(~537$NzRrDq9-(>qt*6I}s#*x*X~Rt<@rAjM`qb$sPAA$n z7|;uH6Jil(QFb)qW1?=OF4)5_h%fv840D-zRw8cJw+ZC*-?dN=a`1&2WJffw>gGwZ zt>EjBLh#d++zgu4+>3Sjs2BD%EiOzUKg{_3h>LhKxUci;_HaT~^twMVQ)mxDJ@paf zWTH+uFK-+kKzy0py+6WVd>%nG?-2yM`p6bs-%QVrn1{N=u!gkG8q{*}uJS6ma85(xgUSGru|h-_xCxOKG@|k(Lbmg zxzPvyvx8kq!;ghNs6U=N1LlQ{&fbgkS@*zBv~HjHA#WyY{=vkT<14l&zP{26b!uYX zOdwjdP3iJ{sw3)OM12FY`MZ%v`=ZAx;gu7C?)QM9K9k^ejiqjljK06F{ZxRZM@8m|XUpnLtxVq%d` z(=H3n!@?ROk2>83%mWrb8FAD%rn!E6l71Te?Y$Uic5FdEv6vD5#8+|dIg{c-sli0c zBn@319?C0;W?{8JtG?5KV$Rmy#5WhzP{^Mth5DD{+QS~tvkd3p*?xUKX;WkLn=F~y zoySIj=KCH5lfJIOF(*{%cG#cA?1}Jr`TS9o>-z09nk+)|B1P-2Gp!b z>!RN#T$lNA_xC7sDh1BV60~vWJnufQpc1)yw$HOnhTf;>8H8$YI`|>tGdjJRu3tsT zbKvu2zt1K)8}$XKPbUPL$*s_r!tWCDre}_Gbcb^R9{6=&5+N@bf&S!uDgagPt2n3C zX(7iq4MTtO4xJG{o3XIVXO|f>VQ2n%NvOLt@%8bdiXJ_dP#<-lOXU%3;ivhhFydz3 z?rB8p;$$%9u}TyQ6rPZ9;+qn!W)ezO6MVa42kM_sXbFAQbpg(&w#SYnIhJ+WXpa}{ z*M7)9TmM%tqD8Jyyw(#yAhwIA3vVZguWd} zs1_W=dE^84oCOv!PC%|(&tZhN`@cXjre#ZymzKpAKu-!ekZ4}leNKU`OMtm*6RdXi z6aEAFi3tI4i@ePJ=7Np>cd(E5E} z0sh1K>%gx&1gHzG2j9dkTts~SJ}dI8@3wdI_I+<$ht=HybD>xCA@a*-EW{ktGXroP zGhq|lTxfe7^If-a-!Bn$C%HKqKO3(<#L%yZvuQOB*D1ZbAoSGtov>rC{fWBLH5b8- z+`bR%_HtN#+TTvPkLwbP@ONkfT%O+!N1wCHt`9`zYUl@Bp%vmMr~0DKRL%(S*`&?j ztA61#eY|#M?@EZb$m@RRSKJ=ai}+loar~nfkY}64{e8-oA2tPgWruYpRB!#!Km5&4 z%yawjGwPoA=@dlkV$1~ey}8i4frsqw{j7-3tGPKLE=~QNXmfDROj;KUz78dnpL~W8 zn(fySH`(A{#9x<-L|oXbc}1W%*{3JT@s-svmsRSq=xcVZHR{)PJmd5hUBo=n-A+N@ zWVsWFeHJ%!bRzft8~t+K0J19vPv}d?t_?&yY{9tEMDuEI5P#WW=NO`mcrp&ytU2PO zHpYR^?u~_UR&tkv%BObywMIG9N)w_|rd|m*2weCC4t(RY}4*uwIzJ&II>l3}XfIr#QFJDh3 zl)9?xziM{}5zXcn$DEZ*=1zcI^1pFz{eIab&{-F`^M-7Jp33}45?}bgz&@(@zAhdw zZC)ip|La4|YtcH-xu_nYDO(3|(T8hcF4~7pdJtbO@JHNil|#st@U5SI1P0^bp--F8ns@m!Kb5{B*$M5|F(1>45X9hc8?mjZBF?7F*Xtk7ap=ILlpSCX$}s^&0vjwmr~x zOCA7zi6_XD>J`#}X#V+Q3-D9)>OyGm{|9@vRO@~oFD?GaIDn9En1cRNqVRa4+2Q4w z$M$<4*LU%+QCDVOr@^$YQe>Berl#@p@uIy{GYtH~b{3&s8IC>@g%bny7x%p=Ik<=- zc{R5n&dHZu7(wzP_fo`7L@b1#a_?7Pjxq6-O33|3!SFD?p=fX%%4!#b3dp{a+wADt35}zj;fjOy% zbPfVN(1Ur&S06)t$v;xM{$CU|oYrl}%+&~WsXCZ9=KXZ|qt4HA*ybAYV@9oZ@$Q-y ze6gvZ%Uikuy*;E~Z42fGi@ex_XtpOw0I<6I9zW|*3)gj?sr^jsmtq+FvLDxXC)(6c z7fvWX1>=0Ij=PU#-4eO;U5Ui`bigj0%jSrNK8td{|DuwAaQ%3-IQq%nDup=m(c=bU zzk(TDoGV>G+<1Zgl|8htr#IqZ>$u-pRX4V^CV6|xJfUTgc@v`vjcJ{`Vg9$E3(To%RzKvSE($upH&F|G1ydAHPFDQ|TYr zS1+bvKG}4!*hl`B32`%@-Sg$lxv(*$Z|^=?PAI!2UO>ph-1C)XzXBTctz;_+y}x6# z3RvO7YGAGm%LsMlqH_q1@AzqicFr{T!Mf#g_s#95k0U;B@zUkBg#U2pU6|_!`TLu3 zE|c+d6{5v~5k0Y!Cv?n>cW@#Hj)v{wPLjI~2@}eeIX^HjNf2$J8@VlLT zyvX7w6eHT?YF7d4a}G}>>nt9qLi0P8>3c;?3@JW)IYN;lII%qO*?)kxS2 zyx7jiYsXal3O`iG0-cDjy3~Ult8N<5I?Hzf@noJ4=zn&659&=%O*n|;`RzIb2)z#~ zL7m&X3n4FGRj3DhS>5NTg-^ErkgL$UwvSib9-YvKXmK}Fexk+n2Jly{$b$3hTfgHx z`pM=XlGD|CBVQtu`#cy6YUlbTK_vJpas}kX=$v^(%O=T^2VS|_v|;vyjQ+Q5k|;4_ z$&-8S{9pgFu?npIfYEJ-jqKgON6QJL3CsBQ9Nn`_x%#!su+IOxe_rEuZ|Bs)i?T-H zgoHeI-Xw(f%F|SYEX9<}ggQauY=kClkEDbmEa78{1KV@|HK9u1EwS*TEi*km@cPcQ zgsRKM546r_@V^M{^U;43>b^1mfL{2|PePF?1?-uf$Db0-{VTm9lvBTaB-9vw-4G}F>!UA8*QgqK#_CMV=3=(@*?y7T(Ggl5q#&^F7S+u%3Jev^8}xOZa0KI`M&oPA1|#kmVQJi z@0AA4Z3>*rOwr)$Vb_3c@vVm>r{9ISbCuQBShOysvaFd7~KeWNMXy zygc(aexI5Rt(g#Z<~D}BczndI_X>CRRu*%Zv^&=Iw3qHYEv`AghdDnroBM#ysW!dC zx+>Qhs1FYVva?%&_Q{clB&Q#(arCKWZauy`P}F_l&R@6*P=6Q#R1?f4(qnI4U4VYt zP|)hy8pm&y>>Tk;OK}Wn7M+LOp??koEBCud$UD`8zO6lf8_}Y3juV6?X%6Vg#p{oP zF66tPkR_=NJr>*xw5}I)i1?~@y;VMhX?wuF88g>Ie0v}TchZOEQHJQe^|L2tjQ;=s=23zF$2=-uzjogLX&!m^6SbNx zhW}~QQbL{M&v^1fB@cJ!l6^Gs?X|1%Sa0>NFK|bytt4j#Oy5K_3t7CGP~{1VA-+uV zTP)G0_w}7bo2pNj14A-uLe1TCEBVJ}Yaur%!y4j?xJ}rHB?{d@e35thBJh)CTuW%q zHNbu%3U|%r|*Jn3QZb=p*jA6wRcBFRfnE1Xjg--URZC+_u+$p6UIOOrFu*Iy^%K1<-f42U%bJ&tgL`Ku`^Bwki41W=kl6u0bc*vzeghv_Ta1?SRa!g zakp7lA}{7l9L}W=?}a_yr_FXBva|3t;>pgPng+eDfn5m2+9AVf-A*%zvnS3yFXKtZXo}9_;=K|oqhoE7Pp#0U%Z`%e2Elgc6q#ZSoW{su$$?V z^Seek>RQe@S%UbQ@7+RjvRl(ALVKs;MB=lG+ab>f&s;`)ar*%FRYy0hp>^}-A=cG~ zw}NO9y##VRaQke?mkNp|l)v}fKxkifUq^B(!J~bIY!F|H^$vfaK3VbX*q4_Z;o=z8 z9rkSgOIVi~lB2)m)~CoH`?EFbiv=D)y~}55fNIzfNp{t!@JQN6sBccM-D3DF@}zYA zwDmOVU!?7W^QiEhs9*itLdePAg{%Kfzuq6@ttXH@8Gm{;*=My1v?VlO2hIn5W((@Y zPEO(G%=|w_LB8&J%y;!^Eb`)g&OG{ErPRoqo$f(jitrMy53+Z~`OVL+>tR3TRpd*( zy#jrfr#}2_GoY9OMS|*i|pzB zSAz*n?B6b)2NIx;c;jcN3%&AiL0V^tXRIVt{=cptX&%M+cxjRRJL;HC+>5$o3v;@B zEqIH0%436Z4x!`G*UaZg7}*gAGGWe{#};|9(VY-Sw!A3%j<@td{jrnFTwNC15=i^8 zv;l~x>2@Q4XjwW6b;4SFLVo1TDPxFlGp}&+ZIjKQ{rLAXq2Ny&=k&Y!!9TX0EuwXO z@v*C$As3=ZP95omILjHMvAh+R_JS6K(%GxCPk$H}s86^4QhwZzpj+o#Za$b)V-huEjrx zki4w$68&I?SAc!>cKl}8FVz_Nw25CJ{wDuH%n_Mk0PL7P=TNV<<4+ICi>vX@e%`dG zZ!v!r@-MQ!QXcQRneYYmZV#u1p7;6ldq~f$T@py^>iGzNLR)O9tHXd=>#+VIWkW)l zejVyZCMmz0XkB47`a>T)KZo>WrSVu7zFiRqUf|p!=pQHzJ0eR3#7$opTS(sC-G+FZ zWl2Mb)(>x^j&$STHAIV9OM(33a`c;e5`}o`-sccs5j8?X?)og3=V?ne`grx&o{@;R z{N$b^p$fbAGwk}l`39h$<*<=#2cR9=#X%cxmRjv*80_g! z{)m^JS^)mYwAq~fyZl)HBOHE;5w}5`$Fni7`ISYX(9h8wao6u>!cW=i+dSg4Tx$^r zv09=&#eZd2gU^n-`6v5f4)M$i^=S|9cXKId5ompUB<$L&Bat_CE*kMM9hVNpzDcLy zI;k>l!5p(m-Sb9F$6=^farnhB$ko^$PH1i(M*Pf*VAQuLldvK2Rpu0fJzf+m{y<*! zsGQhe{reB*kq*xlL~=aW4dlh9PXbgG0-Sv1X6OT5Y;$MWJG~fnZi>8&C%fkOd*@%o zTjax}2|yfWs?ssow`}EAKs|68^qUnxUQL0exW4mARZw4I=Xv;}_Vq`7@<#!#j^ZEV z`lHVG!?|S6E2w8_Um%an|HWjoYXjZ=r&-qu{;JTt=tI>n5c2lTQCA1w;0BMHN{4eQ-yE(Uzl6drJ7=NKlkReUJ)Meu#QaC@x-d8`>Q0x- zgg&$@v%ydCDr5=v3;7fJ>{t-aZ!11T-t^6mapV`vza8hcCocAb{ExhI2-Wgoh^z8M zVqKRTh3kv?*%N)NCcbw4nK>LZ&o&PGn3*Y@UePOvzie9`*IhmA;cT+Y?!Sb8rj~m? zk{)r=-Nz-phkeDEtqaL7m2q7^LKd@V3+VD029Um09>k5O=!tVPaUJ@s{p58dXH)dU z`DD3FhUCS{ZKz*%uh@Rj8HR5qROiNplf0_xo(IU&zKbB5C%rO@)_I15kYiIc^kgdc z{<^AH6ZOjDHmrjFjdJKSH8wf=iVuu}A1dcL^sT9T1N-m*U)RU!in#lb>egLPD>sF_ zeEiN`Kfj&8`R$L6s6TbKEadp$gD(DE;!q#F)Prd3zqIWHVBYSi2emsL@@1MAM1QDd zX*SZj-F$E*p}6b;Uu6Fsab>IO;=DSjI`q`nJ;5Z$vPUCdYQty5*)Dt3--qmU$c%HS z&0FA~`KvtguA@U;{he)(IM`j|P^YH$99)-W#yR!KuBzD#=al=ixa&om0xiidf4653 zp_ts+>E+q8lW2YN*;+z5ZwCA@dEEOrY<&`}i_TkC(7I(mw?lu#Im`*!Ye(mU zpWp+|YZf+yocDJ*P`7&PGRWC6X)p&&p&sy0&rX9nGB?k;{i|O>U#oU2UEU5Cb?5zF z7Jjg}yQo8*;h3v0{touoNB2As{h~PblRG9sUS&%PzfHpqIIlW23-d_co&!H+Xg`1Q z+l-kA6lV%M|31ac@=#pfeQ94^)Uf>bkHW1B^44eoI4Mbdc8~47JjY;k5f(0V4V&caU(2rZcgY@;_6R>NJUTRBx zS$z)dE1q@mbbcWy^M61$uocyIcK=U}U zoBuWYgpytMtrE_!`gJ`_w9T}AHK91~2fx@q*Ib@fZbZGZ1sxCvRp@0^vM&SO>uFxB zH|j**cK3NKba)u8v&WO%{P5Z3`t4{6*pYdMW6tnJemIxSz76#z8f589`|De`A+Pt& zLq1ggdE<$%8VuBA*Pa`NI@Jez4JBHXZjE!<&u`s6kG95xU&?GCJ@4;ouObwMZXsWy zcf<->H{}bUFJ+4xJt1HH(k?=l@r$!_LtW_E!h@Vs5b&1zXU% zUbevXS*->$X`O!_=j<)N=JclRk0w6*JqP@@(+kZf+P0~zF42a)y;?s|BBg1kx%m=pbhqI(irx6v$P#xKUYQcjraG@<`T^>x#zpE zzq+gj{oxbllPJJrNngHxjQ!Y@Ncdy_H17Usem-~3G;xrZf4KJ_ly67mO%Dr1JbCH> zC!aHYAlVaV$G}fkFaIv08Jn}4(DeEjs4jlR{T0h~DZ)eiaE1J{TJE_=yrp{|(5Q5q zNRLn5j(phFX)#~qw0bT+B{=Nxnm3R)y`q=9AH4V9a_IfO81qjgtcg79t6MhGetOgj z%n>`|Pd7hO974VFGjkDVcB1??(w8shL;;u9js^}n2EJN&3h~g1-@1Nowr@Gvl_!_i zB{@4aALQ)wJBYuT7LWO0%0Jviawhc_?4$p6zXxOgo`-naV})G(?B5LJZ}Z_i`eJ2w z-nWf#{pC3pxH?F93wZ_>WQxme<~=nMIG+ikRNR;0x__{$Yb zNnaPek9_LpWl>kE(VqUqH@VBBU-|y6(AQ%!B0nNFG3>~_GvJT<6p8qa3gw$kd{ry~P<9;-J+rwi>X!W|=IGEnPA+esEo4tzZaI_m zWc~KIkCDF>!}X6HzrKUk&6ZuWV0T|eTvx=<)X1Yfdb2gHv((SvFCTmr@fIaIZ6rSL z(aiNpdF}c^-bFl=-zc1m`@Y5e=RIGvCwYDGBkDqaKMFZ^=pXo{$3>#A#IN5KP)EnQ z{?2e7*Dbc{FZ8u;Q)m zuQqlaLF;x;s?~(NM_1GZ|F*@=fj_fs_IUY9?;b~}8_vc##QGZRNZ!<+9Y!eoCda(x zd6y%7*9w#r4zjpnq_M=|S-s!$1$Ep>Be{B0z%mZEP zV>t0;8-aYNj1gGp$;J<+{q3Cr^9cF*O+ePF0ODZASH|^$)elAfWeN8_5u2T54D<&6 zoKALaa3;(b7S#cE<&Crfv~G&OL*I!qsqnt4+U|pV+WO0JUj0V7eARHTr%c&K&^JX+ zBaSBRS9!9Tq# z3V!IbSKudS?Oi|I%d!{x@2X*Ls^mk_fBeK))Fc0R27S$%CqbTgp7DqmAM^n6QK1De zCxqCulI*Dad$GSN|JK!2hGvMT-X6G|)^!ShT<7@7MDu;TG`lk#a@w~n{ISy-&m+D_ z)^Q~4-B>h&P{>g1ulg)SUmM+d7x*vJgXS*>yE;rX4EAK7UDIftcaI+noalr4GEbW# zesW*nb|3G$Io{s+_4W_M#WV^=J(H(BjZ+@H$zCFetK-Ej1y`55W?GT>pf582uI z7JbN~FTjq8D87UEY|;$)tsZt=NcyHgIQ$b&8f>6-HDF*6Ausk7^(#9bc6DBwp$|pI ze_Y(UC&cy895}s-u8VurKeDIv)DrU-pw6U&OJWy`S~~(d_m6 zDYR}XbsJ77gBPRzY?bU0M6+g%aBdTpb{f&*L=em&}?D2RN20Q88 z^Jdt#h44eKJcxc&!%wZn`i1+bUo+9&&#NShVUP9Bj((D@hT+_DN)YNmo>&o%{U1f4 zA9aHycLz_upocP_@M;;X||+}ti0>*{R(9oXYZd=NkJ zEyY6EIg|wXl;_JhytvNI?R$5TKig!}Ad=H3{5KMc2FaI_ef=VLETQ?YBJK14@moOK^wbD3`Np*8J*|YVOAE9iP6!Eri`nb6^ zBN^&Nek%^Y&C-bNkgM_tbIeAs+(WdfoeF&_8im1sR{ZHs;_IPJR}tDcADmOEHkfnz zU3tV$sq8KfgG+Vr@yfB}zpfKL$xxRv#@(0mF;$T_73DrpDi@4%=h|@;uOHOlYv==6 z{|4@xWaoP557D`VKkYB}Ff*#uu>E>~>RHzqTHz)F@w*8B9 z*}!AyM>)W~U%_70Mm+g%H8;Y3?b$dFzs6j>5B`Dts3j>OCkmd${Ln2M!*6}@7UCf; zxbKlE-y(r@e)()H^z4Mgm|M1UgZ0F>zq`Npi1mG4|Fv%uM0|CiovXK-zph77XVI@L zEx z;h}wH74$jZ6NmlfmWsZ_7v1~sB4q6vBYtdeTJ)VfaNWhR^m;$oExsJ*GPm11|2ot{ z{mcEcaXqk2{%J>c_^Ef;U*@dq`lI4^%xPQmPxL3Z#o|cLmfSFp?CLKekO*pV zD`u0t-CJuD(W-Fw)kMplHC&wAoI)J!s>V}@Z+d=597K+(xUW`ktDr8}#8ueWg!Y?5 za%}lj^f5cw5qUJ@D-^i@5#}S`TpfLH>_k_m=Lb$8d6sr0e8`VaSd&vZPy z8Ga;wi1?YVGu^qLFLeEvYzNlGoqRzgrz?DR^)u`?`o<1Vj{5@ro9`;}+kTq2kI)p( zv7b=fJ-(9kSf5L7&h6MgAM20vrz1X(+wAhv^iNkGecOc-U&o|`AN)rI;;0ieg}%uC z81sUip6~K|?zEd@!6_%e?tir-3E8djn2(~+CG5|0tPdf(EMW}#))b5kgPczRoLkrE z1G{G9UYv&)_=xz+N@Gyx?9g~g`nsF@JGLl0bP()~PK`YBHp5U)>~;m5L%qlb|Hbcv zr<0ubdp-LIWv#Rfy%nRAyA`Yxp zJmv_SGZphgy}0T8*f8Y}k{4%ZIeJV5^p%)80`|GF7{l`<}Q9c~! z>T}+7^sipM9`^Kx>bpqK)P8`uWPHnG-s&PLaKFHg$7zpu-L5>0I%ff|V~7?_Qy}m9 z#GqNAH@ASFddPL0LwxJw&i^LWG+JlpBQWno*}vxc5M5^}>XqknpI2gM1}-N#>*HSE z=!5}Xi8gWH*O0uPe-ZOQ?r4Yjno8bYS_!7rAtFY1P6 zuJ8J8@cOOfuSn$Y`o6+_#6ivs#GKX#+o5k{+=um$i}hbcXull8dH9{*L&-j87mzny zHU0pt^J5zR>RBmJA6i5ng8pym5O29>4erBCNFFE8Cb+p0w09fH$=6e(VR!NGxSnah zy>2etzX-qB$pn~_YIj@IwVd%5b!1QUUrTy+^aAkp@Gp+Pxj5owhOb6^?e4mWi#Ycl ze)AH`kPm(|1+IfU)4dS#Lk({1>hjoVoYRzC;Nnm_$uwGLMShPbG_gz3r@F#5H}CSE zKzwEMt?s(I&JTWxL21zE=KL_^NB1ngnDlwq$vBUUPYioHXe{cV`PW8$nC~gDubOz> z<@r{q%d_u5*C!=Etn_&8*yU?+Zj*mC&PU&{jm;wAU&Zf`ljD=&oMuB->?d~D!#U*dA7_)C&6Qv{`C&q0-2FnC z8_2gV(`799VeY<%PtCl8XePemeC)4G>p=gr-T6H%7WuYm8=*e!&;6sJzu`9WU<-c0 z98kBGVcl#CK^*MFxCkHeqkI~y^O+)!^z^##h`(&KBA#eD!oAO?FaC~zpjVb+u-~n>-^m$Z$Cz&?^KdIgGgSaDgnFf(cncybFn8H{PVFm zzc?8IKh?b48%dw{&FkWO>4lrKM>}sKzV6f2#bae{tecIQG4IUWU+?>LO^tK%QrX@5 zk94g`Pjy@aTAxX~m}oY{{r-_0oe+F`KdZ~vwB^ueS5q(a@rsF)y|KS&SOB#2zZU^} zbIu|^GV9JzlGA$=;QGOv8`Ky7x)AX-m2bKAqRUs2o~`q949Tm^iANENq0MIy%EryH zkIcP)1JNeW_ML?K&Li0Ket-*c(zC81?z-_x)B`)QWr>I6bcyYRwq8~@51O`tyd3u& zeW8v-qEE$%L+AtXbxt73%c~aiN^QT2e&P*tMAE)?ONpt3{6^L-gtANm%uRhiGwMK> z{DwNTjp9)^W?%{Qi$1$~7ui(>k3diSU2`wdtX(0@5xMOe@@HFyyL~UFK)uV9129iz zX*Zv=X9en#m4C61_7}197Qt?8+Gs+Z^shO@XG03RdYHcianl8B;<_eA-wmX7*{TET zQcYOs;yhtF<`cV9ZwA>B^~Y`|IrHaAS9f#W_hQVZH7;(IpG<+B8u@3Eyg6PIc{X*= zVg8z#C*x?HrK>-e)_M7(pk@0EZa!5Aa&xA`9w%4kI`YOn*Cs;VQ%94&IK3G4A@-^r z#21q$;vBryEaaEJywj5SEKg$eqxLN~i}dV5_jyFIZxZs&vby()W%we*+YZVB|J9U& zZa&)4YE}LY8SW{N@MU z^RsQcn#ezYzI3&R>~<^dM{?pp2Dfk0Rq)q*j(}h4;Z*QVaImZMqNPwze0hJ&30|%a z@?snR(~Io!kKZQ)vs=_5PkO}VCGGA=+J}|g1%2_&U3Wx{kJCwBNA?J!b(7}8c%tpo zyU0Hu{uJ{@Crs+lI-{i@2URmsnE{`83sA!M^zW zzu!D0A2=NStfmH_&rO9JF8>$Hqi=1-^0*Gzjhhi~yXK^;i+0Z;&#DIpk{xyJJL*8M zd*%9Wfcu;s&pi?Gw)5QQhuO>Q6UZ;qyYUF1ry=y@#7~>Zj+~hh@ib?$K+c~3%f+L5 z5%f7P&>Q{7pVUNuv6*?n*Yom1pKaUk`aS*TXtKw5mUZ(y?)Wm=Po??~b zKO6ZllJ?a}*$nVY>_**)s(z!1Z#JgFToe}~Ceb=y_hbQ~4eN&Us8jCu70tgjHjq4T z?0pg(>HSC(0l8*=$iGfg67|m8H$mN*UC&WBI%wy7k{7AZEFyW)dh||0R_qe`ijQ%h zvsdN*LmX|78{q47vv!c4yj6J~$;*e6k#CVS*5zYz3glU>F0z#5lustaTmP(wbEqe+ z&=2D13&h=yv#3MU@)7z&|D77^EYc5gm%ZHk!}7ld=zB4B4Dw*!cZa?ySqJ&n`IDm_ zWx%dhr+Ib`fo^H9>zE-$9K?-&DPTxhk`C zboIY1kGqa}Zh4?TXAAB()Qxk{(`!M{?r9 zVAO-Hm=JdOoV0FE9NK{U2lF-q>O}jFUrzd5-GRRM`9u?7?}qG5c1*iwxW32&XXg@M z+&QtG(99XUlu(_|JcQ)<6Zg4IS)$EW;GvCdZEG0L> zPSfopNlzC(iGEatZn?fWSO@xSx5xEO{gd!Z*Zctcc3&9!M|S=kPIg3!TBs9yXf*Ps ztGnNmQf-f+ul24Y@SBHLL0|A}Yv8~4_iY!_{N>2; z4({({X2j)j@VoQ?@NJ=SkwnY)?sc1vs|Wu?hmX$h9|dp@HT2$Al4JYwLY}3c=KM&P z2>DhA^5cHWgk@hray(+xbV5^TMvTXc(zHPS#gB}rOCG-q`LR)#aej6`5$2OR{T2JM z@ByPpUq#HB2Rn7Ixw%p21nN+R7h|JB=RomZO_O(?glM!amMr~v3)>g4Kt=_KqU z4qt(uSsm7d)@{*h^F4&Aetn*#Y6$e%Iv?yOw|_zZtLR&Zzgb>%8_BEre_^iKH6>6N zI?n|c=h3YSV14*V%vV!$O)%`2ezk*8Yz!JiC?8}*|FTa-jE|S*o&Iq1B<-JwC#&%d zd@+310a_Owj_f2}D=*iSD_$<$t*e>j%$bU2dJ?@;k=8FQ=<#jG%Sx6B*^9 z{es?Of8D-xJkhG*W#oxvzJ|UPTMoPHOpD!JNYBpr2m9F}_hE_NQ6#yzMXlQ}cyxF}y9agzz-FhBH<^NYz2`&Mfcp@^#mdu(Ff6-1jd z0{PU-Iy!qLW<$;tzv|Apv%x&tPc-S^&N=CG0PGytyPEiFc0Z?g`y$S7;;KPT=Q-xC zKbzVE?d`s+NKfZ>-&Z${`bQGYeTyR=a^_FW7a96H=7ZSW)WtXc*XQ*Xyhk5P-!HE2 zCc5wCa9&~r{HRpX&8ZiKkuP?~AMs)hj|I^_Cfj_}sah9}`JyDloHuPJpbj+i4<|V> z@i^+p9&w*XG1cAoUUh{K=*u3xvAos4JQM zIO3`FEQkBrqn~s@MHkQiYQ&NqT`)8B`O&zs!qJl2?bb zb|Dnq-?;S$%=uUA6XK}Gt$-c#wHwZ5N+rZRoM2WRSLPB_T|eTJG*x!@+wcNoxdbHu^qbHIoHpy7x4vvxGe+v}^4Pc@|EOxVqSo9ldbRm`h(wYk4FUo)BJU8N-< zkn5fT^1gmBu5;w+WuauxZU2k=Pu;WqiML7jkAr-Z3&5$Yq+wS~Iu3m4tI=Fv&woOE zU8T7jNKbD$GMlKny=5y=llH%Xpx-4zUz0aH``3Fp&Nmm`4*H^Y!gXK){=8wHcY%HX z?kW1C-k%Qs>3-FC-PRellU+CQ0PyNNq})NgT#*7e^39JK;ziAYkTYeA!;X2GZZnPB z5WZj1jCcvZZT_T;|Mx4AKN-!>d)m#7IgT;cLFI$gYf0aS^6wP->l+)v7kjoMfX3fk z=5?EwME>Q6D^WCVYSm?Za}GGttG-wocS%2QB`OZBMZWcl8>l1SAq{Y)ceDl$MUDc9 zn@rzxR9w8cl@AdQv9|~8`sy>duEM8nBYXb&cc^=lmajkMi9<86USurn8Gmsf@g__7 zcA}!qG*Fwr4*b!Dit&8+O~{*FlB;W6yqJ1e7XG{GKXBg1=UPwtKKqtHnzxS^Z(w`b z_?&NB9&s0W`Mzs+xdhI0zw2Hs$*DQUZliTtR$=eZwL8O8V+F??uTyj^i^2=Zf7 z#q1${eQ6xxptfX*q~+E^H5+5)^nGC z04~j%0u9KHydI5tyRlX<*%yH+kPqAMJ>sNVd=95^T`2_nSKsQf#M_Kn(C6Kp+t{CK zJz*W$v%7n2BC0-A2_iZ7=HzVRP2fiE7c0xdz8Y3>6V2O)dAUyW_ZUsQthyEPbweH^ zAMyWN1!^}mL0nCyA2^=PhFG$z&)wmD?GA>$_y@lsCo@dmN%JDbJFdqf1EFWW;s0fq zugAk*-=Qtm_itCNA$jx7E3VI5Ls7T3VG+Jg`gv9u=6^WNb`Jdmzx-Uj-&AI)x-c$Y z-%c(9+=yDg@%*FVy=h$USkLya@%xok)wamHi3~*CP4~oG$i7b7B8244&&AOf{I8#} zPm?&|KD)##x6-`plN|Hv)9U%e$N#SZ@?*olLEc>cBsiy4ksQ3AWpj}ioxL;X>3)Co zQ+4qR>eGDF3H2_|=7640|8^kRwQWlSXJ*$HQ1SEy&Ik2q7VP>Ok5LDz{ZP)s(Wbzi z&R!Du(7TH=o-(do5D;%q|9t^?GU2VqkbPOMeLte+ugk!>xw{;CvI+MAHLVij;KmmmTMwFTZ&j>6?~kchI=J6$|{Eoo}!&le+3y8dr_CAipyA zl;yIh%e5QJW?M?ASidv2QDCAkStRU$2|)8&{H^ z@yR*g$*-b+i>(6|(YQ-nZx&HiI>%(Pr*G7PeR){}?{ZBY^na0II>z10ueOq$JJ_A; zZ+v~=Ui^`b`?9WrertYSk9l445d1Q?6C(bg2cu+@)La zUo2rfn}KEuttTqq=K4Ct&lA`a`G6DM|0?RwL=3`pjw<>S<9mI%5V9{Gd;|{Mgstcs zZa{zZbJg$}{MU8bgpr)g6FiHkU1DHQWaj@()Yog&r1gE&S;l3b%D}5$`U7y~likI> z&Gh9nNlq=ifqHbw_sk@FeppuayU6Rtuz#m^B;@`KVf+@m#OL%J-IM0s^&IFwV$cG_ zLp&Z2KjnxbQ8cf2&tp8-(%7FKbCB~>^&ixwyjEr_*>^3!K;QJ{=dShP?tCr{X$;)! zYrlZntJUC-4B+cwakL8RQB4<{{^n8Sr|6<45j6p4v42_jH1gpt6rVxky3P0nWKT7%7(%>@;r|ELU3Ma0GNeib zjf+NMjPq7}J?~d`=eoQ$2lIaDSDeT4QK4kdb~C`UYC15M^iBQEz`ae+|Es3wJK)LH zTgJFJ*n{zQYBq2$&+_j!E^n_G*xNJ>anLCy@IK0I2G0DWAsfiP{LJs6vUT^v5A(g^ zye)af{r~!w9%M&0=>nYiQNIB9`qkaz9 zA9w_-x)skbjXg7wpK^{Qf|1`Mo8gWa4nzpB~BA`7&k1 zOj^g?9=w9a-Jhe^5>>M&qHaxc%eY**I+*0-l;rbh-n{9si>Uo=IreX!@cS3c9|MtJ zx3C8ABU0Z*U5fpMdEaq-KfcJY4*t8OV`0bq82`pQvR|moHnQvQmYGb{4V;2~>w`J5 zKa*+&>QmehT_7J@Y7XQ__D4Krl?;J2t|#vTZlub#hURrazOFPQuY_aXO5j~>U)zXy zG5%}Ft7;E$&Y0Lfz`1Gh5AYEGyy+gYW9MH-{}by@0v9gBDdgGyS(W2|QCisV{}6F@ zdtL&6zS458vnunUr+V>wDf|x`Ie!%{qHg4pzSy4&y$^irEB%mvb15Ji>o@-{5cJ(3 z%)8_Fx6*oIeGBNR#C^iR7e2`Saq%43_Zu4aqH%Tqf5?lUb`bmZyHiakd!j}%_-_Lr zPbWFI_ZrRz9rLF4fF?SXYm|Rhs5i>EWv(cZu&q)3Ni`5pVkbfVjzjuV9~Q(TrI%E<&4fJ)~bf zD=wb(rL$l?d*&$OAcML8`g;6(k<9iF`l#x_@3#=or^8P*m%rCC|9gb}+0DG3`jNi} zmxX?xOZH8v0h4H5_j@nMspc)AZ<1U?ywu(T*uR?k0-syd@^#pcFIjE^^xepT(0`v3 zebAgq3IAna@Kzc(DQh4ea#@p5lDALFFt0;_Pg$%RpUa1{a-9tfX8)@-k0pI|VJYzF zBL#5fZ~likxgN=Y7xQCz_$jAk;QqC`JM5ZcWhP?%qwhE`yS8H7j|l1uKdQvS5C66~ z_GO-w4AsW3^^g4h zg6MsE4e|ERg6QX__hqh&;a?cf3udC<_}E@pPj5aoD1gis?t*y9M5VS6uU}`HNOp`& zKOKCJ)N6>Eq8Sheoqj6DW%|0nt2()a<17-+iHMe5clo~^LV9l9EbPO!8r7P3@76M| zs`m`Re1+ubBeLj?kT_ar{NPETf38FS(R;o{o|P^&hU9JKC83~gJ07Sr&}_H_jP0l<8@JysibEr=i5ViKKvc>W76kDzxQ)aq2KzrVN8FWwVC8Z;m^Re zZ1dAx(icz0Bj5T~7WgaLR)YT~beX9oVb8+5?qZA6{>C79%WGRCE;*AnNKURw(LGCeF76ioeYDT-hMCF)zu|!47w}^)weYh3zzI|r&AwOgg@^8G|5=U}h*F^oO zTD7oGlQb)M^J{%W^X|Kgs25$?Z-JdEdr+5Rj^usa;`i5?C*jLzUWDhFM|!e<))7R- znOmrL9c_COZ~q~9Ea#>N>_o0tC&Xd+5-?n;P zw!dgS>e_u64EyrocH~=R3P-;D^CaklI;`Vn*oz59UFl|dp|6K$-$-}AdMKa;<= zSN}}}F6EShd>xvC&q-09-!p0E4&OoY;zTXfr}}H-qPTe0|F1FRRp$;kS41^_PD@8r zS_=90#o?FwehhFZBS%NjxL>n-9Q02l+?Q3oA>)5{e$=fh^D&&{--`4c#|o5xQfKWtDq z_@Muw#87qKaDDUG|+Y}bw|1b@|^yODp9B)c*$)1UKBey8gUaH z+W>E>;85tB6_a6Kir*%az6`k5lkEA;eYnnQ^baK79eIQPB(w28r&m-*e*9Nk zwv(KFn;m|-fk_vD?+^t0K359#cbT4_i_^O&Gma1TX-aZtW187S<=W#|*S9zTT*xrK z&QU|ZL4Ejrt)`KjXfg@;5bp}D42Wk{Y@tY^zDObDRlE?eFW&M0fZ2Rm;ipZT@cYi8 zJAB@}xDpF{vHeij`dxb1(J{l3kN7`A4WoIRBIQolA6fzH=_I2=F`oZ#S;ws7CwzGyx4 zd#A;|-OZ+uGY^ssBYmHV-+QRX72Qa@`?ovJOPysS`h#Dd2G>uvEI+sF%6>C}np^nC2+ke4nWKrQA}I_p{P- z+@F`|hPY&3vyk@Xf(F5kE0qg==`X{vzAjnR))B8B1;QUO_7dW%>Se{b;g?(-5EnmhDz-%3iaJLI5wGSH9z#?XF9)2MgM9zF zc{_*u-Is*>Q~sR_|KyGXz@2|q0`+Hm+!;yhy2VNn)d3to+kYAI>GD(^j&(kj2L9D$ zjdkqUncQ!`y0aYmyO$xZqHI?9r?>1{1-;+9V;%A61p1SVnb3*G_39j`2lZdsRnWg4 zwG1?9IpQn_f9CvrsDSvn&3wO-Ex$0DK_Th35LLc&N zJEI=NhHS9!oAyKgbhcl(Up34XN_OSW4-;W`41b^OHt*;9N<0(zFv;3Br+N8eQ7}>S z=UMb4xu{GC>FcVW2Gh7}!k>3^Y&6zWr}%xAdS&7HB&YO=ZIG)MwhFWYKkp@GpRG^4 zOnwvnz!WWmeEIEb(f{=3Azc48zM4dK%!IPQuk5}D`LxHfPNs1&Y8A$PwezT3SL7@B zE7KG~e$<^LjQ5(W(PvZ|X-Lm?od_JeW9uS_muDo$wT%I;{E_8@2#1@}Js_=h^8P4`o{KAU)f6B=p3fGuy$B_{4cQb`O5&VGrif zxcL$X`S|}oML$+KN+9p1ZADxMxR%}Ek3KmL`hLl>5YkiS`F+&lTyNfYuE-b~_nQ(U z?rLsGpMZGYrP$e>sNR=wAG6E}N9*y#0Iwc~QB3!G2t^X!I+4@V{+Xzf@!3LJm2Fxanq#;IG=e z5V-Msi;RUoZR_qOd7J%qEK#?jEaPR+#z^A*sg{k1s=1j>Ts+ln>ob0yzri~4^~PyD z&hNu_V>56)=K2Z!!p~@i_`CG`A+Nsb1ApAP`a8(3=(}Yy>6?xv)_{JwF@eU_`v%CD z?Ef$7SI+J;o#u7&^H|Rf`iJ|-fjzKmwr&ER?9B6Fq_2BDML$ukYhxW<>NV@7tIqi9 zbsFcJ==mPJ%$ElBt2YfuN$ZH`$q)xo=`_dn@r`+8*QB4jnC5-rO(Dcf`3U*(+1}#( z)thc1ufBUwYm#&0?{Oa9rwsz1*#d9AUS;$Ro8%4ptGvB$E!k7s19y^~N%|vjqUXQo zc(+*uysOOPqiEiKZo~DyuQT%MhdpJSrdW))i;v4NZhF4NzWnh8@XJ0a5J~HptO3Kx zjtZ!b_4TiJEXF&1Gm)t5cMaDCvVD5wQ)c1sn^ZY|zk_yfun)Ix=?0Q_+wO6Fjp6rB zxK)o47u97m_U#*tjDX#?`v+s4RnKi4`SC5kC(Qhnt38d|4l&rT>U@j)>Xsn%BXM#z z_N!|qV?1=~i9Fb=xzP_q#reRQkNI{5+4Z;kAnv{a_dQkXImh!sCG-bBYXJJ8xbYr! zWR7kGjzpCuyx&EYBgl?CQH|HVxfSc0;H=2A*vsz$Gwt@^Iz@jOgLumWEGMdG1fJdJ zzp)RKgrB4GN86y!`;C3MF3a@?uGO;IxUTRE`8fmIPvbn3qaEVm?lxRR@$vilepFjL zp&q92dpvB+&G|I%zFjq!sI0Xae)+n4uumIQ6aJZ~blAVXG#UGlT?U0>pJ9R6zd8IP z7KFlAVx{>Ut zKeF;UU#l_KRaEjYjJI5kej)x_98SFK!S7cTC*2C-ZL7wJr%AUqka*XAz??W5U;YAh zU;+wZKQ3Q4j!!E7-Augt1NqbY2O&Rp^!F_HXEEg6e7v=V?8uy#LSXmHTHzt2GBWj%BNZitZ(VKb`qV zH1zM4Tt@5amS3Y^$h@BrZ-03J{FLP-u5bMBYsQkiEg!)7jcf`(ZA4P|XTIijY~od1 zXOVXpSCv~Jp03^-&fBi4u~_d_qY$ze{~k~5-;~b=9NEk1chbDATs?;7#o42b$NCE) zuV2&z4%L!itgm|&iTL&EYJI~;UUz-ee_2`L^Q|I|TsP53l79{UW z9DuxRnshhu<}d!A85uhl`!Tgv2hq5V?#_L8#cJS7c5f0z;v4br{pRELfi!OyzMeo-Kg~Ii z^hC*>jJI*GgTW^X$G%MXU5v|L`F>RKISx4RJAZ|JJuP)t*sGooeO2VQ@WVaL5Jq;? zoCb)anKK&kx0hdp!v2yQs3%!$E%NP}jEJCd>8eg7YS+dD5!KK5`F#0RCG69z&AEui z{o>z|FPHK>KDX*sgMdG`t|RtqEq|})j_w2g^_Oq3zU#pM&*uj0j}C~pnZlX4+}CQ))Hh>ZS%m&j-ti zWJh(F&3XO#hcP7Y4(=FD<1XV&#L>P@i+#u@)486$ecBy*r}=tAv>G^{VzSI53Y@k+6<-!&_E`|UpX?MEgFCp*U1oljIh65EOTb*E<&wLf1k zjPV9Pj|w3E*Zsh?E1C!OE@#}HP2>80#%V-VtwpF`weQYS$p76N{lbN$05AUQ$o*qR zAoi~>*Jpd}`Fkf(p*63s_&q1)!`AL`WH)0N)btMHy$$b|YTm_w|UE zTN<{A=4H0IkQWsnPXllEU|uDih5U)Y%7}yeGY9G`{tw@|u5ylz2_XC3<6zf*RU3KL zbuy#gL`XT{R8QWy9(HF<#C3^J@;~1Hx>3NVAG#g=-zMefX56pWXOg`Chu{073g!bY z)X{ptw|deM`?1di>dJnsv5@>QMWeZ|be)Jin(I^7WBlqt_P73p5aQji7NGX~IeUp$ z-A@jUqw&o@?kC=-ii{&_`u&J`n|danPiNC2A7a^a#K$ClFp~6q^MwDO`!XEoihb4? zpU*_b5r*c??Pkzd|NADKcw70wP_nOwB|)95#=YRLtUQMM#GHitfwrwgeALL!IOpW} zk?4DR^TkNgSBl@`B+s|Mzfb2l?CKf|`21+LFo@*!zfE{Qqf`J}d;s=ozx)n+awxy&MMb3xAv;F$bA&pT!n}*Qxek7Pa~}P}AH6Y} zc%L@m{bk`{z?*201J@JwdX9E9FXkTOd~|xjcxxNQagNS3m)7xf|D8c{a!Eeq!w;X2 zx|PWip-#-z4p`q590B}^c^?sP|8d+@(syO{Bffglp!Q_P^z0i9yKP%+BVN7d=YHj; z3bSe4o@>r=n!I8>@%q6$;KY5i4CDTJ9mL75-v{b!hdpG+HF+Kh`TFzs5wC`O#=)j4 zs9Ted?=$ojPwk|6YpQ_iWHD^7O%CX}&oBGXyzF%b_2u^jb|qfFzrQ3do|@z7mV&Rg zXA$x4kA~=TqSfkH8aEGqM*QT=2;kcO#s7n#_HFD#^8V6s_WLH^2czFK<@nv<|8J8U zn}v`aJO2aXX2%xe{B)Q+4&&EWAkXS$G3eR#YYdIMm5;#7$TAaX9ognRUw$qA`8_FWP?7D>yPOTw#`1modQ)kv=exFvf}Pz%v7QLx_hX448qOs>J*qm+C7CD~ z=ZVYbxUZe)gM65r8*on8O#Hu{a%$O*q^IUyK>e8`9b?J9i(0~c?A#CNKX!Qb-dOi- za_mP`t2&VM%##b~BdY5vO}yLldK*#IB-1>ScPA4uzW@6J@zq7vPNjJf*?v9b_SfNh zoo%pRUFh-*($kq^;D>y4d;{?&X*%=?|FJ%=f358#(lNh>HD@9(7(j}bLfxq zY(u`DnlK`a^wpl}9RED8gNS!Giw-9$_iyV$`m*Q3oy42k?YCpT(7{HS&)5-m&CPPi zr}*y)?7EME14vI~+y#8AzTsiStH5ih7xkbY^62_xK>Y3ed5F8-SGza#9&C;v`+nK{ z6~w#t^+piyG8pb#S@$g_-YlFK1G#q@V~Ohj@q115U;$jX?G3gC#E<)ZS6O~oIQp2b zvl93<&38i1R9%j`m)(28j@Ve3{ar8{eO^sk9zyoTtIUXl>Nj~e+0`-p`Z*tahD0QOYzmm5hx{(an_e%ov0O^*5x zaW~66@*o$_LthtLZ4k-JCy9CyHKC*7hv+B~f0?Zf;^o)Aft-223j6cbuMCNcmlr3_ zGCpTb3?qG!dN0um0zR|4mCYV;$L55q!V6EVu{xwF@_Fr*ZMm#u(BUlSTqJ za?IDb-gGm%V%!IpMqX_H%7~91*LXb1n~MWx5Vae^u&%#cnXf0V)HOo80g0mz#UJ{Li}JT-0+&Fiq|$eY~y6XS2k$;mWs zt9;o_R9xe8!#y|~O}rd27w4tFya9b$y~~Yy7yo^SIoOvb0-#EWJd;Fqm-IF|I)H};X>Q@(&*ReRtV;%(PDz=M178SC5YKW+$!AJ=!T zVPEQIZ>*y~Y}-QP>Qz^cf9`P9i@uu&ybbTVmh9=O{9J}#@OTaJ?rdIOZ$xv{zpnJ_ zFxW}F7IC*%P9raF+nRduU|c-S{taL${Y%_7K--t%}X>HAi474fFZ4%m}%ZKG)1{`nF4 zR;4>3-}3%-#`|K=ID8wxdD^y<>*-leUVh)N zqi7v5FX25SnR>x*HE-M|8aG*2b%6fYTM;L}dmHSF35h^$?TxVO`Y-4DKEeOPu3I&j z47=@8?}DA{!#QsY=K}BQ$Y7i!_M1}Jzv`<{&u-latfSZS^OW-OPr!k>mKJe!k-gxz z>=DiT?yz+d*6Gn;IZ@S>|8GyuY8w&|&%2P&&O~Kzz7Iif3Lj0plK(>9cNu}a>%*0& zk-p!1HjL(N(Y5IJ@?a&z!38V?uKc2e`?CK@iuL`W!eOK*$G1eheUcA2f7H_*I4{l4 zVnH--4liC#c1=u^9YpmH{9Z{vsypgK7R!(IO<(>TBtG(eLwY#xC;r6;h>I$~|5IWf z-Jec&Mal6vM@`3?z^U!`75tZL-f(_?Yk@fXF7qJg`gOv7bgjk{;n%(m>&YLP)PIJ$`RA_;%%hPj`*)_tTB5Kwm%14!`v0 zj(s3ElAkAcSC4cg-VU0AzM*@)?jIM=yB{wD2XbHutmoe4LH(G2ngjQKLsH<}RX>7# zi5&c%cHfh6sf$LmFplsrso}AXXmfLwJG)xe)*^< z$f@4>Kt<^j!^pmKx1i^*Z^Ahce?u#Hz3L~9cdMG+NX}*pLtIR^@#v#s zUvr(S4kbA`e%T13exg91vI7%-w=aJXIIto6fde(O2l6kz+JgS+hVylT9Qy+2k-l~c zRQgodpDcN&P(Zw0{kb0YC+cV7IBt^g&x9N>G;b3A$JmYG=SA)P+`wD>3q|(Oya@U0 z0PHm3_p7+aVifeYrE^66kT0kgJFW3v@NGk&Cto*?jEkSwkG}&>WzrwG4^QLwA*o~C zAg7lN2_-$-IEZof-QOF*7fu>XR9xPPalLyssQHSYSM*)C&466}X!Ke4Ul8J>_W!mr zE?&*I{4EePUwy`DwR70NOcy@6ozKlVfzT7LzZp;SKJ0r<`hL}O#KV>thB~uP{>S+~FdO)C%lZGOWy*p< zByZ01{a|{Bs$v1)%9W}HocSq1h=W|)4F2mwkzB_|*70@D#WwSy zpR(F=vS$i*#&xf~I=U~$OKikBrKeU7BVLYaj{fS(m)%Ib>r)W%*WLL#TlR^W1-VzB zLIUFF?N9vP6+0*4d(-k~U|)Sx6aKh^#p{v0uEY1IsP?-sF3!*6ep0df6tbh6%;I?V zx`=sok)N*=Eovga_W1ye`&WH9p6PcXpXPUd&O|-=BarNf(1_`@o*!Hid3Tj>0)PI$ zLX&7--TejobscLpAvt#{C2%7?R0yMaU+Q5vQC+qK)^kha49VGgrB-6T#7)HARE=ib zrQ-KGn_s?0J-9wqASeDgFrM`MqVJO${@u$yJIJ00_y&DmU(UJ}d=38o zNlskBI6gWO`F9fr?WB2gyD0jAPxBtQ6bbdAe$N9tBA_GB*OS~Y_YIy!dNKt+H)2Yh zTpt(DyCnfQC&Yoq*pE832YEN`n_%3Q{4xM~70(SO>TCCyN>uFo06eG$&*7Kv+9ZVR z$-jpnUV3pd>{tH#(`WiW6EnMb7ue}r8+E3RzqF8Vofp@$ZfW#7;{C)a(L`;3?$atV zkoPyG82YrWzYg(oS>m>noaizf=bCF-o8$X;{uwl`->P4Usw9k8_b*?6$uC<+!+y`P z@Wbz}&UlMyhI&%(8v`e%?jzt*e0LY;h)BWzzpQ5-fgftkjky8w_RS)`-_b1M{^q*$ zgMYr&{du&GJ0}o-+iyGim9Lg?J@(*BH<}lxUIL%`Xdld*j+1bH`YGqIZ?${hT-bRw zlk*Wb8~s|(?~i$VcqjUY7*q`}WW(tjqD?cp<-ChuV!c+>K34X$8#7(R}JUcF4%m%l@{zbht z*r#vs1of}xFN>skbN|zNqB@X2pZU%e*lzo2z`dwD4tn}z3*^r&zkvAJLqX`9wkf~A z)6eRJbIiR;!u!tmEB2|2G}ugjseP&W9Ee$Du-;96-o^jg4*PZ~{zF}>sA5BD-fwGy zxVgdMz^6R=`*0e!Nfxucg~gE{Q!?TAj%SNwY2FoIP$eLq>U}#ASMyb`o-}SY-dRTD za%PHH&>GTXZshk}x?TJ~J#sz24@BMlgudsK@^c0zFV~l7 zl>`3DS^WMWmwVS1tn+*?<7ewouA6;*qi9{9{u%snAIrd=@d@wWy*rKbeD^Knq^J1?6a5HGJwPnr+Cm=NH^w{XCloEO1(?r{eD zG7$pn=%vHB52eTtId^p={L>A0EF?QRV{)#S|2m;R>2U(MbYmN#pNqPO(GRT62YiSs zbLx^GHs`pxpsib3vST{&{ePl!YT!erY`-4%>s~^>)xAr=rC)!B_g{V}`kcudG>7Eu z%~M0ko-1^X^>Pa2Q|+%0zues2oVOv1uy3t;AZ{kru5i**1HN4g`hHFj*%SYyM80+R zH=Br8DThK&6!@qi*DuLd8n=sTBCm4C>FwYT++lw=UPiq1lscUE`k~xEXT3(iV%(KTc%Jxce(#G&8H;iIcasRx zQzy%yUiHC8$e)y3P+uzV0PN3IbC>2Upt+@=hDMY zGmhP!r(K_ic+lY1d{zz3Ne&Q4glblVDm;6sm>K6YfDj z;7JUq4P5B&2DKr3W{X9>RgoT`Zc`X=U{03>&cwn~>&TAz`p*R#M=#r5hrnX zX$Xz`k(Ik+e#kM#VM_j9LseMJaqn0k`I66a;`&yVbtnc2vF|H1C%3d-7FB{#{GInhzYARj?WC%DiE~ zr%v<~_28;Dg{N7PfyXIEX_nEqnBkI<^1}@|8e}SG{ej5E+40th@?8y&laW2^R zJJFxrqTEZc&Y1;Mi0VBT5D!^>J>q6-oWc1m_cUd^|5h9NepxX5_H(~Q-HWa_QD3Iw zHtys1CvqN-mB96<{rL#;BNumuU%ujL#M$r8$Mw)GW*PbK=gyf0e~OMpoJ`8&tpC0e z@GUA-L4MVf%*da~{Tp~$kN?L`tBIpw=dXs?x1X~KcsGlaqp!$Z{C%YU;q^*dN5z%k zzS@ePuasZqn@RdkB}d(;v|RuC=6}GsX`k?%^Sly>gML*fi0p_a$xy%I_cQ2wa!U>1 zPfrd(enjaqTS?9q?G^(0=wk3oes_5+c=dK3QQhtx>Q?6B|0CBqFN6lfkIVk+Vrbq> zt%Eq2C4Cw9J@fItGCc$SZ26AsAz!8LB%<**%J4eJXCq%CwD}aW<6lk(&P3a6b4bo- z`w9E=%}+4iE+%}hU$OKClGjsTBcArichECUTLJfGez`E3cMD5SBPw6l4kv1V88L*Y z`gu3}lEwDmy4a`v5qY)ens9!1CWF7?%oX@)br#g24{L_Jt48H`on;B{qjG%Mo8ui{A&JI!(g9?A%<@0pwrFb#sZT$wkpGb&WZQqwUYXtGLlqR?@ur zZC(^n-zUw?IFf&oiLc9cR7G8z>How+Zb|euns*(C?I0=!6a#O95}p^`eqjj7$>?+= zh`JUU`}E}t_XnSNBI-)(hkc2+-=tqoR38iO78g%da4kdBj&2CQ)TmuciIm{(D05HDNeA@U@5&f83SHvcljMY-RQPusr@uRn>O z7c$qsK|KAN7K5=KrmQAHNmsO;qH)FpB17GXDNe+h5T??2Vzgeo{A%AfICE zSdQPLGsveNSb^onUgGPjecKXWY-H6uXn8`=$Eo~Kjc&InT0yDOM3tpV!~_WNi9sbi`KKpZ}9a?izl#aHhjO2?CS%8 zkQ4FmDU5VEG-e9$>##GpOkQ4eoDn0y^TN(g& zBIo%Pw7x!kb`4SYygH}~=liF`i!$)X7aoqf(BHR0KK)|;|1X#O-U8C|e#0c9wjTe^ zWa^#U9T3lpKl#2QJtD9w@$x=jC;BuWfCpFX#dsPwm(Op&yyN?_^)miEWU|hKoNu!R zcs322a-SL8nES-)7wh6^oo(0Qx119=ob2d(6OlJFa3yfyUv|R&G*$_{M91B zlX`X+xX_1M?IJxlIUnj#B?~~j^|mU!za4Ya!Csv)R|CFZ^}kFVE7%IIw*@4tPI^H5(c9z^Td z4mBc)il1jVns>e5wIgbN_#OSmZytm^iqC^#&rH*ZgTH+M`;_@k!mbXDh2O4UVVqy; zKnvtaPt61z=|9gPKDGe=pN>4p-v^6~^*JsXE_3}|eFOXYTAc~xhj#vIU4A(|j^xAnzEe?ye|HwQbA({L*?Ulbgr8rxn@6>xadZ7^uA8;P zu@5)w`C_bBfPe2610#S3(;(eAl9y3oz^TX^8%A>CtAyX9EA-qBzGkv1BxkcHJnyyn z0Q#4@*AMk#ul>RG@Le;+-34C2{{890^GV-VYzy3org?@FZ}WtpPIcYO=mYvh zLkGiO5jO<>t5SQRr`z!TL@Mij)UzJ=E91QRC`P9~ahrGP{34POyzK8xG_wn-_KFbZ@!A7k> z{kxbnsAvC|gFXFkrfp>3HyeUD*rYkRkEG`RJ5>2^wV`=adn5L3Ta-Y*6A{}t(764v zI^)Xn@7t!M!G7es!ND{yXH^UjApL&)y_eX__xs3QlVHaj_%4j(#CLOe{VwN$JC(NR zOxUkEko{}O?^CnmlP$$~ict9P?zTf-ME;No7{Bof=a0Gj6nbi6tdGTF0 z^cnX^P>MgV1;Fjmm+!qSL(xZk zipb>w@p`JuCfE^kIw9{mrV;D?@s|B+*&gePuX}MGMwOmPdb;?OxkOFsO4x@eIW`vd zie^W@vcqcvzrtwj-yNLF`3lQ{IEqabk$?XYp5pMx=zak#x{;jdFgS>)%+LpY zMQpA;hj=CVelhWV58%LmnE|}&yU|$BElrI0m{M>%D0e+qw$i$;Cw^Zy`zGPg#YWxszg?sITn#i7E$rFxR^Tz0ub!^n=*jEQ5%nTRbPNrMANLhS^4*X0=gd|?m18Ug#e zlcFx{GLC}?z7!x+yQu!+hznn~9p! z7l8wN;1BFy^=yWH>0iQu3;kmIPSTU1gJ4JJT>+e%UTqi9xGM3cE!lAonn7Rs%pBKt z7vPV+dxHDYi>|Xt-aflJ81l!OFkU}g#rmdNM#RUiWWV(3efa$1^6_=K(+$zDMAQYu z&EH=cOm<9~UvW;D9vRurjPJ02H8ja|n%BigV86QAQs76v`yba`PJSP{4d(ZMt7t z;{8xh z&+Mh7Z`$r=f0OKtfW4z1fPYnxzo&I$MnKPP%7Q%Dh0_r)dwR}J$bbJ3>x&~X$iLk3 z8hu;qD9+c{p*Y9Xu0x=vI)9!MCBt{b(fU6Z=D6iQ)P;E4$RSU5+0u4o-`#r*+{iQ~ z!ihHr9w0xeW=pImn)2_^uIFUfF{2X!m$pM@^bt|>Mt9P)V}?#ADwFreb+ugnWoleJ z?>l#&2fK~Ff`4}G_c)JSwlbq>T&FD>P1Nq1y94~)zUXV-j0Vp9y`{jdE*u8@$nAG~ z!(QXZ=v#7VrNP9ju)knmS3QGxxwl6UCto*DNF1&6zrnzXsmu5A`h2~EY258QhW;3T z_c6|IvDe3tJ(2Ge;v%MZLqGTDGT}NzpZ&6t^i1N)h@&se?<+MK$MgRB)T>JKw#Wwf z?N^LJpO8~xW|Cd=JO7WnEnvckm;dzU>#;qzXAp14jzQk^;{M#9rf&j1M3HphWx0}! zuNC!hp2><|wT9jD0~l|Y`=gKeJ7ut**maKmy_9ze$?3JVun#$i zNYu5M^6fg3H{wYMjhokhUl~l}Vm9|JHMlMNnX6_H#!Gcw1={cd z@??*m3Isp32=JkLmB&8S^1u)px9j-+U01FY;%mlyGl<6Z{rFcC$5U7LK5(Gkr-$Ei zQYi3YPizCPSMm2+e$bGKBris_=6$A3_})KuAL>pX|H%H8D}nm*dl!U}yzT#XDy=8h zZH9mLa<*XN)x9YZG_OS}KL4T|;%)rO_B8HpbXW?ywGQy&OP}DpWajVRZJn!(=O6Om zyz`G6bRoO(_gCy9J<~ZN9Q^a2(3kAfa#+{ZO)~{{v-0l@s%u^NDMEK)UgRhVJjnfX zIG+8wVm~U_^0=eCVh1|2q#mqU8?6%htWIgT~d@ z!;v4CZUxRw(IN`<>3`wpTl9cilSxkJoK`uG?0)~2ag;m`{ajW2vJ-ZSyhi`EKNm&) zs!CrFf0u0RGMYCvCUU+{<^t~y4a0ShdhtE`)3O}ob=SY)hkhP_{fl}*=tC;+m?pHo z{<;sYlg#RnbtFH0T14`43P0B-n$(FR zUM%U2xT+dQ1`_YvuU<{m&ZvQYCjUsaJ%Hp=O+g>AkNPzxUY_Oq)Ks}l&=&{aqd&W{ z!%z?U761R8z7&V}=!36-8~w5l=2dK!SXxIM$c}x8AuBL1>+*fWW?FTOn*!B0$@b$K)Qq?^b6ifOFL(J=C1+xU76G$jFn?w64qX`%sMc<@b}= z&Y6OU_dDuyzLRxD{%qGCIFHofrR>Mht*Ae}qH8$G+rnGMkv*SX!>%lp1~`|O_#X*F6zN%ONY7^x69#kh71n_UTxlAVc*V= zE=lW~f&BfF8<&#ntLJ*YehAtM|9xKme+@k+E}K z*uwbOei!{+mi-^(bj~DeNnh03hkVIf6M$Qvs{rtC`tyB{a#oVzBtNq0Cc`l%W-3w3K#1t3noL&33RSAF|-2mH;^D2RCf zlD~%#&-%07X0tG_i@pdWIq~ga?jKS7oVcF4JOp~}XW+Wjm2&V)*A7`j@_xrT)QzaL z4Sh&$Nw^Q=@0SBf&z5P<^?al!>fMdm$8j2SvIOa?=qA9e{I?MDCy3<` zb+;RmoNGQUocyuXvP~pj{qYI;wJ)-8pNMONc`-iWb4iaKgGpZ0ENh6$v`UFu(1Ya7rmr9;3pvE!9=i%$*q#aZqs3)eO!i!vY)c@Y`}Qj0 z#g~eRyNKA-lz1O=b3AA-{+&alGnkiGriRnF`eqXPbNu`I5kI$L1@K{}3)H39IR$m< zMz-%u^0q1eKIY!$!@6SkB=lEv?FIUhUr=v*T)dn-T@%;GzCw*z;NR>TN&0^DcC2rE zB?gYnFALCz^_Rb4&t;zs{JPz3V9$;Cn$ML7{5-YK$Ny_)cV!2D?Fjzd?Rz9eoP5$D zz`bq5|LY~%?qu9{KQo=ym%GNI-puRMxX$yrvvM3V^6!Xd*+F8v_4Cn!K>1ljmZ*KYbES`!>h;ehho)QUv1ApeFEUcgzSOe^i;@ z;J5Ps@;Q+*9C3FwqW6%zNH!hu6iwFzlf3!(YB!Dh`{R)}n?GtG@%lkx_@z?>B5tO_ zA>c~4T8Ta{FK1~^`r_z1)RRj$K7x2(`7``AQ=80y-DLUrdSH{{^RoRc;LbPro#Qx& zKM(5x^Sh9~3SPO2^laD(#L1*Pg#D=`m+|>PMD&4uU;H%Ur1jOcB(ECO!u7dozBZcd z=!g42&DFx;G_N!40v=_W(XrrbXNEtf?7_LvZ^+jXrcE}EPm^1W!wa)`oht^sjXlkH zP>0d~T+(bfk96o7*!5eFP9%FKV%jL8{&QN6Z`V;<1IUj@=Q!`5d+>R=lHWt;7lmS7 zIs7)qeaQvXvsjT5)MQmFNZ(Al%ypf5E&72f-T`@*eY-&4^)7`xn!X=_109nZad5FI z$B{qc&|R!A8e~J>e9~v!_cpXbKhvTQ1-ZG^aNAhZBHPnZ^G6i+%;u7zLz0619xA^vVUhl7q^J&~)$^gG? zn^W83NIzN0eKc<7C4B$$ZX5j3fBp~g_ZLR)B{^5<8^p&w3GWNN<$OKo9`kjZyPWX5 z+u6>X$9maUlbl(R1K0UJYeuZ+&Lq5l`9|^9ST_UzuZV~W;{25T2XT>I^KiaDyair; zsKmHWe6}mu6)QUMKIivZjCFE%;0H(CF!{n{QuLw(~VG!?`n(s(8U8$htlRpKNe*& za(@n6fc4bJR3k`U?`eg)6^XtLB73&(D)^zg{XCH7?Q{N~N6xtheCu?pfGgLm2*+jD z74%`ds08=h4LgBn+qo8a^>BOy*^v`|k0xryq@PXes3ZKpZ{o{&)TI(%aDK`fx3*&4 zpDuC#dfNi{QYWYMB0YPL@3RrF=fGcIH}PT`chC8HLA0r~jd=Ngq`h~Tj>i`_J|aYk z5=1A1h~8TWcGU3IduR0Cdmo)u)^^>jwpeXhz3k|sM2qN*UZMn16a4mkj^97;pYQ9s zT<1D7XU?4RIcM&Dp8L7)DSi*>aYP1Y*j_WruFcI=62O8Ix_Cb#+ zkq&htZvVu6VRKjHM^-2VJP9=fb?w3g;$l*_n@N7Sx*fydPwSr0YnKd1pHwAAvz^5k zjluqwzfZL{U&Rq`2X&r?^^qyyr zb)+-%eWbn_|IR?aT*Ll-cM^3`HK9-M9Em<=B zMDx1VY2d;6M(E%ESAOoc8^*sQm%nCj4Y^HU;kwAg4P$?%4M3kz#~SP)eI^fo9wBE2 z;GDBhDzn`i9>QLK;4`%1v0J3JY26d%e@ruF{2-l%UM;W&O#r4T3m$G_pUzh8d{ z@w4sbuO)fi`oa>TazS6@$A48Ead2C@0zdM0=rG7_w>V$?9{wKBH`<6iiI4xr(7ZPp zf{Cg>n{a${-{bfWxdlJP#r4?7C8~uwQ>FO+Q<16-cu_kK>v@=O0_hR$zI^W<-$Q-5ZTvlRp- z@p8iiuA)mOIzH+tDp;7YWrgnq4y9iJXg`VUrR9QB+& z27HU;r~|v=%Y8q^%8ey`ZXZAI)t)U4y!la!R*}5D$lt4*bNM!7{fvUsNnTgoJ%Ol5 ze`pGgtKvEK5-+PBok!Fa*@O5BQw??HBl9Cp>UL5-PeMG-RoSR5`)A*Piu$?okUr5j z2kbYC&mi8qUm)_JXMDGY^xHbu5I?tO+DzijKm7b3_k9+`+l`w#ipIs9FZcJiJAwU0 z)6MMvl3c)*ifYbyf5+FgV*XzABOh29agZtQ)g*h|w7l?7H)#sI+D>N~f2Y5^uj-Fa zduTs7G6lxn!T3$sKW}%OclJ@AaPWhE89@5v+{wF$H;WsG5mmvf(BJ*vHxWNsqzUxt z1rKnY<=TJX`YKTY{^`Qs0*|)ZsS(iIyzF42`jJQ7$n9;G5O0^}!+QBHJ^a)??jkSR zjN^EBzPK$uLC!af0Tru1%q3oq4uD-cSq8>W8$NGrihXM!|9K<^Jr)8`n7? zfmd5wuf+JDzag&vr;Au`mhs=`a%@)gAEhQDUgEy#3_I%l979xRyvBBKIXr`SHMTO# z)tm;ryHjW3x9q_88|kH2F>mjj1CDLvaZs7)9`fr3EFK<^pvS}|M;+RxX|TWTdJug{ z)U1v;>tb6LW52AqkT2V;8Sgjp3hF`izyGthhKI1;&P-RQLY>NiL8vc%;Or2ZcV(`jpX+~{ zaGp0cM_rkq+qjNXzwb{bGxVh{|={;E!Jz-UfW4DiN4pl@orMneoW0XxJ5U z?oI6L}=iI_=J7j%Nvn2Zu4aX{_UuP`ykh^ zb{OV=-@AmU{x-!-@Y~kHJ~5y(?C{%`Lcc2U2l8kZbjS6N=$d;6?Y8-?)((- z))}^9AG14jC&{_D2SELn55TeS$IpRO2a6z%;@u0x&#i69@wv4edffHa>|ch}=(l3> zN&Fq){zzkJKVN6dOrj=DO6=!qW{jczWXZbdSL)=%Nbr{(@UO<69#6baR|2QE}S|(m*!2r_Q0#Uwh{Vl zt8(ZI=EWV@V}6}940feH0{odQpOJsDb;LYc@3wpuMN|hIM4hSen-`M2owGU|^XnK_ zzH|)g+Sl)o`1lc{VW%6H1^vR@+BSyd?fG4}-q0VLqRw33;)uU&7Y)2=&-Vq1>Y3R8 zcgv6$SMc;I*zrpY;w;bd=Xm;IbL82jp1+yq6P^o>d6B;n*G=CRh^z143~|+|-(o*| z>KN+OpFhz!AYq-jFaUo0H8oLBqT`2-G;TV)1b+Oy2CzrZNR4%>)5@_luYXL0zUT+n z!2ULO=tiCBO4Sk9CvOn-I4?OKh z<8s*()QzgWG=%15sVa!G=~i|g&AW4p7ZcT?p*T-eWWDVq=Y7weknemAIC2rA(Rb9F zXz=FnTJ9G?RWL5@{>OFIs2JDPqps*{y8G^dq{nrOMqd2>X1je@_v3x7rUs#sblkMa9hRgLeqVjsw> z)nD#s&hr`dWoGccrWY={F)t$FmI<- z9!Kl-q*WGnT+WGj`*pK`XVpH@RE&53@}7zvhoS=#^Wqbz2>d0EsF}P6)PL$1OY`bj0P4aQoih@0Cx&xhJpQx;@xDpB4J0QEJqjb< z+_`{wsRI9^o^2O?uYs8xF_Pp=QGV{0X<3Z>*EhG(XJiY7yqLgqh@(DxFqGtV;$owT z`uY4mR5d(y678dNp5(r~YV{DBSE=_h?q~D!kyVBxoVQ8SIUWV;? zyws>4TdX|BO<;TY>833}f04nffiJbN_(akx>QunFXlho&IU`H8NJRUq10%}Qyqov) z8pw6pKA5O&J!&=RgjsO`3A~>1-$tUc(l5Zh888XB^rMQP?}}T0ZzFkgFp(uWd+RE2 zr2Cu)PTiPGTqms-*Q9yzLlM4ic(xz;ke~T}Uw184DCyDl3IZRt{g>ym>>h}C>21T& z7o6hf&dJY(!bqRmybgA$=aG#6uAgAPUS5dp&s7<5H|6=cS6=e-4(;Zfs5g6ZF!Jr6 z90oqsq2=&H&o3~5>=CaHzz=I8fp?v^BIjYo$W1iw;_d_!wW;_yj<)NU`!EmXn?&~c zkx78xgx~u?zsPhRxc2`x0X|%o|G{7Jb}0Io>+p0Yt+RV#v5#CmdMfeaegyJsp5BCg z{{4O6TDS4Qfqa;o{kS>?{;T+NE6FaC*YSAeS;&)o%01`U8{M z{>y0~FZ*3Y-;^5?0k7uY6X-WS`X2Bm-k#k|>+JZYfkfqo|FEwd*f%JE#+!V3F37Gq z^NBaRe_*>_okqT;y}|x2?20_8dN+U*FDpet-^l{Vzs~jLetd=On#f= zev9u56oZB>p>?8cQpC;9iUywa@-O&&bvgp;UkdnP#`5Q@I_V|o7xf-Yq4oN={OB|K zXx?Dr{gv;>(>f8$zq9kRLQr4!a)+HXFIujJ|LV+P*dtH#bF*dowm46;e~3OKlEkip z{)=mXM_WF_M$&8IUTz`kkDf!k-J_(8H`9;jr|xfVm1 ztaqKyuWqxDFZ=lp+jDaq@?@hsLyuZl8hDUDr$nCg*?GW=A5kF`dPDQFpHH5K6Yody z@B3`Z#Sz#i|8e*&zppx(=H=#rQ)pcD=?UJp83{dhe{r0Fw*1l6xxn`AI*Us`uv`r#Ji5!V`<)=mW;;%>5(tJr2^_qtjmWy z_(6Qm$rDqsk88FIe)>Rx>oOf1hB&zzKfq3Rc_{nc@)G)$^&#l%YDo@D`ofQ7M9xsK20OoC7Z4eiBFi9 zOWpw|zH8W0;%(UxGl{BHy(bVAi$B3{J-9vgSG@<~JP;o)Hx5XcHZ^}*MsjB180ZzD zg>Y`@8qHCcV$j!|m)AScAI!;}s1MzE66R&Ql8B3aT^8|I{rGz^-Sr2K%l7KPhid%+ zys63e51Q=}Td@D}C{W$@H1uhA2)L6!a9mB5fM}9)H%bD>B1$q267#=&elh$t#uI*T+mY6*?J?_UAH9x$|0PwpK;+PqC#%t`n`M*cItx@qG{Z|%Yu3^e_q{)bz|N!4uWEU3w!B%$cqt!V842u zXlp>iI&&l$@L(HV+eEy7H+U6M```%b!hX!%8Tx_?;ym%y+JlO^^?@f>et)e@a+L92p%CY%_y%0J+kAylFQQjx)P-n00)ET&OF51qO>tf2 z&+_ka?8ZCTUtfB}xO*Q8ys7Kw=8)ZL{WZkVj=zt7V;b}Q6zYuZi21u;0Y6F>=t8{g zJq>>Pv}HCDFWTl`8Bcl!*62aJ9`_N~9pYs@;L;>JGK%J1kvKzCH*1bKs*LrqUKajk z3dZ-Wgq^bUFYv>4yn=ePO{$@e<-fmdBRP>f3-V=~R02-b5PnaCtJ)6wT;2^~0SRI% zYtt1(-J5&iSa*b<&nf?2in{douCJu|gy&d=5Y^90FC?n!AA;SgMh4_bFXra~_`;7l zKgY7JBYmpXGT5nJ#?2vKw@rumx_?gxlOFqYANrzbQw4RQ-&^2Y4EzfHK)iX5y!jja zylb85zv-mMyz9n&?c4y=mzl!f8<=w~kRP?@JooL(_o2^^na1^ao1c%PE{CK3<=l19 zZzq|_WRF?@3I55B3y^R9ddq{Mj$}jb`P~%SDs%Q?c)XVECi^ z+(I99YcJxwaH+~Rqj~c@AO3Fj6AR${@)1)*X!%b)`bLZ6e+_dlRD8de zY5t1iK6n0Bnpd6p_h@=jP1K!Fn;Q7>k$t)Dp6B6sJiP_~T;=h=jgMT9{;AeJLtg#h zW|L`O_p&K0ok zLcZq|P&cm`{BU^=ATH7jLEc=xCcv93*Ec#KL605$HTs3me`E-)_lZKb5H-Ua@%o4u z^c(eEPvqI&Oo{lrsDTl*UNkGodFhcHaz4#DoWr{Ai2%$u;Lly`n1#TpEIR=Hs9&42 z{bk?7Pm^>o;^_|fVYI)x`(3AcC>J#iWhtiCvd0DI>_LK7la345!XeW)kwW2KT zt8c7?epx9w^r!~MVVC-sfA`_-Z?MM<%io38iQjv0KEu~{r1c`#f9(I6sXK|cLx-c! z$$%e$6F2?}>ph#B&n+%FlhY@1merH%!aDWb?C;NCeiwanBl0EQBp*z23E%tRdct-Zi9Vq+^Yg{T zZ%2mEdKG+aH&NHVY8c6@zZ&4Wz^?v)xVV1B;jf!M8F`ZyXw&Ee*^D>v!Wlk^>N&1?*#w{YU!8zhU+Zjethme<8Q$#*e#b- zh$KBW?<`!`s@n6zNx#3)c`A*|Yq#cspAZWBW%8h{#M?XNK}CUGn;>_%2JAGA`k+6V zO`9<8%%VOdFH6LrPF%*Lz@0wZdj<4Fwr3n}+K0NA+%n6$ImGeohl3!l(rd?uZ^pV#E7}k>lhc9s)nBn6y`LlAu6sZOniuUpjiYt$o1b8ZOqnE%#%+_< z$dms@B0eUt^A?hm4bw6{1|7wD;ojCny!5b8=&>a)!wzw@J=fom(yX__y}qPZw=Xdd zdcr;ecP@9ao;0pL-9cVNn_`V=Ud(Kcc$!;#fD^akReO@NEB2wk$?Thl5wE`)5<}G0 zK8*N?fW(e?zbq2@al5`ecjK4-@WZF!zAm=#?}P2GW4+@Ol=4%k-=zLz&I$2m#UxOkcmJB2XbNo`>1DCe*0bXSxDoX2&e25WtXsghnzM@QJSpedjmkO)dZv8K`F{Fg57rG!%lWL;FDRbu z82l7+HtRpYvHSKU>Q#8{yfG^!>5%Q?}c1EA^@mD6%I@gGwYbz4n!1?JrZN+}})`pFw#~$GK zz{;_k&{xHZ?5GzTxfFl@>At6c137Rj@@V?L>_+R{)U0cX%A&{Nx0sj#IMhq|b2XPj zU>{R#>=MYuPYENcc4XoF{tyO#_1(dUi_hN*^0HB_U68w)Yz9$XtK)Le25-2pmH%J@ z62?XBdeo7B7sBz$aEkq3SR43IqaOfIHvC99$-5ID))O_gp7VLRGB@mzjrMcjnOYqF z_+k7xv#TtCSJU$d;%MicLta(?`KV8QapzXjr$<#mfAE_kfG-{Q0rGOcUxocTPei@A z5%q@>FH8P}{wNpKg}vsl#PDCoXm=_y+p&n$_&9K+)db7^w-`e1e7LVw54>vLzqQD^4#A&q^WW(^$KRjnKa&Gz;>-f%Nk#B`23+|p@JHSKK9Kgc`|h;6 zA8~PmWH81%90v~7u*ATv_x!wjAQ*0=M9tQhgF3PA2C+=nrn|-LAA= zz2y5j)U!pg#EXbbfkgd?49J&RA3lNfnmc@*sfK*p1#&r;0pF^1z;2qCe-v&+RL4)` zx_LGq_w#QK!ujKC zwFgdJAm3MFhPIrH{ePT}eax%Cx$$Jr7`K3^e>s5bQYJzFRIAFPpNY;5v5)_D1ng8J zT7g^}of1Ry zCLMndAT!pEgItcWh`X2Y&VSxU<6?dk>{W@1 zM-wk+?1jG~?J(e2e~7_(Aa7rS{nmQOnRtF~s`_clR?;Wh6&VZ~HwgX99h*D?`X&z9 zM&mM139QpWyMar;t}gVs0{4cIoS3+u^Bz72co*lFfXX!$&|kIPhyG@g-PjC$e^i9u zs$vB2Yu40(oGATsD9x+;2hd+s=!hk5Al>g0EbgE{sW@Zpl5i6p;d3yD4>)3<5Ak}E1Wsgh7T`u-A2o}{ zW&PE_jZM3DAn9>xAMz?@e#de7_271r^Lt7oK6>vn;7>g~ihP)HKXbkx@%y4p-go@> z!E=Rr5yKm>y+QNPk4@9Q+en}7uow9-L;3fec1utA>ARj}TwdkhG5WEs!OOAD(bvV> zlF%y`EJi;3xGXpa{HbxMd%a9Wk{@>DD)bd!@+YqIodWC4f`wCQe^=`maAHanfgiRY zzkgM(i{n0CwpRqni5rjSKwnrjMO3*a%RxU(gnqLv?^cp?Z}Q{ZHs`PHB;Hmv@X!9k z?}Kw$hey#mU7Gv7iv9BU_rByaXxs>^l9FO#?|pskhk4qp+_uFi$1R(HH5w9U|+;Z7TS$^(Ou{7rFHVtWL$r_lEaqK z{wlm}9Oyp*(C<^mtR!AM-wQv@iTynOv_IRmydUFtR?H&OXMWEW1{z*Iny5~^8aP$U zx1hhMWTk;?zos_q^aEO>zT})UuuHmcaZbt1Kf?}}^90U46_t1s*Z zfH=#!Eg3&GhJsfy?_ie-;@@egZ}`0hW z1F}?sj_{-LG0x|U4qPWm+h9Mjxf1-+J^qLzIoE-|Ker$G`d_!+3Y^+`9d^*X=$#aK zl5?7&{zcXS$b%m92Jsge-uHu^SJyeu&5uNa|FI?TEt(WY9qR(=*T*NQ^LhBbNjqU1 z`i3j91@YI#N>-(L@pB;d(IFx5OTKItLi+r;7x3RdK4M8ur5%KL`ems&583(iakn*+ zaX097ILWzgU%`HNihqCZtIdZ#eadj(_~UOrzaD*se3@@gLEb#gjl9_s-OoeAViTCsSu%2QUL%~P#eS}&if?kk0SeY{T$)YbKzbM;%)XFAw<=(a>I%GqZ^P1lWHd7 zZSJjwzq06zE;KK5jGq=j^4$(1&U*4!p~TB=2T*7BeUYIgC+bzfxPR~`&SN9qGp;^w zj3RkA?<%feeDbU7i8saa^7(c18shBB{|ftEy}pQp4dnYIeg1!^lDz+mKex6`#{?ib^L*rsV!C<1&^7m+_&Tzy@)&Cv+#w;rV`~CL=QSYK-I^@w#SRX<9#2o%SR`lk- zD@`2#{=}{v06%@&pdgadYszmUs;%|bays%Vez`X$K4Dz7ueA#E zd;1N+e72hK&pqM4W9;FtfJd3Q39gfThJ5o#&YOEXh^jkp_JXeKjeUL7DCko|-vO_p z;xb%E_+|eAr+&f^C?3>fT;}A@m%ZlaN!lN(<2>@u z7R1uN?o&MMmB-qEmla*$pqC&m7=BFP@EGL2~wU^6jL@w?Ds~c=<8~`?b0?>P}^P1N+pF^!WQqW#adq zy6DX9NL~*ciGAFeN8C>z*3U!ZYGG&CCkyd)lS;?mU#K?!+eiD!M*Ln@^Yk_L*FC4h z9{uag*Z{&`VEG=6#a9WE3IG3Z@K^f(4S(j$>4}KP+f8%e&%C3EgPz}LKJg;;Zq%O* z?be(8G2N!@0&P4Ci>xTG$iwT|TqFm3{@z{5t-db&h0lps(8?Pr7$T^aYzO@mv}=&!cLPy#CyDH}NV-@l8bSiyqile5`;zmGC(9 zwIt`y+v$)y(QYR3veP>BUzaWo?|-)m?=$g1Jk2M(a0YR*10Tar_se9&NewE3xSG!4 z@K+qjig|gU=1|h_g4UxR{IC+}qjDQx7s}pcR?@tl*$w&8<;OywF<;Kb`TRa{KQ|lv z6mx6tft^+OdPf!h7x{3nQoue_Z$Ii-zI%W^DWgZjev{=W>PXcrv4i$gKQsY8d}Ijh zauWvOyp?T3fM?%+DXx#~3I1K7$oyXv?W-~s<$lxbD%V}-UQ=n@r?>%}nLYeI8M)vQ zpC?ylB41t&<@kN-YaLj`lCGB&S;D#ClUOO+42B$oIL)J2|

p7fP8h^yP$crmSW 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 SJPD8`E75X#{!jeO`+orRSUPS1 literal 64620 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 j8Mwd4Cz}5G__9!&?JfNmVD*h Date: Mon, 22 Jan 2024 21:21:20 -0700 Subject: [PATCH 106/559] Moving pressure options to subclass --- doc/src/fix_deform.rst | 201 +--- doc/src/fix_deform_pressure.rst | 793 ++++++++++++++++ src/.gitignore | 2 + src/EXTRA-FIX/fix_deform_pressure.cpp | 905 ++++++++++++++++++ src/EXTRA-FIX/fix_deform_pressure.h | 60 ++ src/fix_deform.cpp | 1223 +++++++------------------ src/fix_deform.h | 20 +- 7 files changed, 2082 insertions(+), 1122 deletions(-) create mode 100644 doc/src/fix_deform_pressure.rst create mode 100644 src/EXTRA-FIX/fix_deform_pressure.cpp create mode 100644 src/EXTRA-FIX/fix_deform_pressure.h diff --git a/doc/src/fix_deform.rst b/doc/src/fix_deform.rst index a4d449850e..924397c42a 100644 --- a/doc/src/fix_deform.rst +++ b/doc/src/fix_deform.rst @@ -20,7 +20,7 @@ Syntax .. parsed-literal:: - parameter = *x* or *y* or *z* or *xy* or *xz* or *yz* or *iso* + parameter = *x* or *y* or *z* or *xy* or *xz* or *yz* *x*, *y*, *z* args = style value(s) style = *final* or *delta* or *scale* or *vel* or *erate* or *trate* or *volume* or *wiggle* or *variable* *final* values = lo hi @@ -34,12 +34,6 @@ Syntax effectively an engineering strain rate *erate* value = R R = engineering strain rate (1/time units) - *pressure* values = target gain - target = target pressure (pressure units) - gain = proportional gain constant (1/(time * pressure) or 1/time units) - *pressure/mean* values = target gain - target = target pressure (pressure units) - gain = proportional gain constant (1/(time * pressure) or 1/time units) *trate* value = R R = true strain rate (1/time units) *volume* value = none = adjust this dim to preserve volume of system @@ -60,9 +54,6 @@ Syntax effectively an engineering shear strain rate *erate* value = R R = engineering shear strain rate (1/time units) - *pressure* values = target gain - target = target pressure (pressure units) - gain = proportional gain constant (1/(time * pressure) or 1/time units) *trate* value = R R = true shear strain rate (1/time units) *wiggle* values = A Tp @@ -71,15 +62,9 @@ Syntax *variable* values = v_name1 v_name2 v_name1 = variable with name1 for tilt change as function of time v_name2 = variable with name2 for change rate as function of time - *iso* = style value - style = *volume* or *pressure* - *volume* value = none = isotropically adjust system to preserve volume of system - *pressure* values = target gain - target = target mean pressure (pressure units) - gain = proportional gain constant (1/(time * pressure) or 1/time units) * zero or more keyword/value pairs may be appended -* keyword = *remap* or *flip* or *units* or *couple* or *vol/balance/p* or *max/rate* or *normalize/pressure* +* keyword = *remap* or *flip* or *units* .. parsed-literal:: @@ -92,14 +77,6 @@ Syntax *units* value = *lattice* or *box* lattice = distances are defined in lattice units box = distances are defined in simulation box units - *couple* value = *none* or *xyz* or *xy* or *yz* or *xz* - couple pressure values of various dimensions - *vol/balance/p* value = *yes* or *no* - Modifies the behavior of the *volume* option to try and balance pressures - *max/rate* value = *rate* - rate = maximum strain rate for pressure control - *normalize/pressure* value = *yes* or *no* - Modifies pressure controls such that the deviation in pressure is normalized by the target pressure Examples """""""" @@ -110,9 +87,6 @@ Examples fix 1 all deform 1 x trate 0.1 y volume z volume fix 1 all deform 1 xy erate 0.001 remap v fix 1 all deform 10 y delta -0.5 0.5 xz vel 1.0 - fix 1 all deform 1 x pressure 2.0 0.1 normalize/pressure yes max/rate 0.001 - fix 1 all deform 1 x trate 0.1 y volume z volume vol/balance/p yes - fix 1 all deform 1 x trate 0.1 y pressure/mean 0.0 1.0 z pressure/mean 0.0 1.0 Description """"""""""" @@ -256,11 +230,7 @@ the product of x,z lengths constant. If "x scale 1.1 y volume z volume" is specified, then both the y,z box lengths will shrink as x increases to keep the volume constant (product of x,y,z lengths). In this case, the y,z box lengths shrink so as to keep their relative -aspect ratio constant. When maintaining a constant volume using two -separate dimensions, one can alternatively allow the two dimensions -to adjust their aspect ratio to attempt to maintain equivalent -pressures along the two dimensions. See the -:ref:`vol/balance/p ` option for more details. +aspect ratio constant. For solids or liquids, note that when one dimension of the box is expanded via fix deform (i.e. tensile strain), it may be physically @@ -322,39 +292,6 @@ For the *scale*, *vel*, *erate*, *trate*, *volume*, *wiggle*, and *variable* styles, the box length is expanded or compressed around its mid point. -The *pressure* style adjusts a dimensions's box length to control that -component of the pressure tensor. This option attempts to maintain a -specified target value using a linear controller where the box length -:math:`L` evolves according to the equation - -.. parsed-literal:: - - \frac{d L(t)}{dt} = L(t) k (P_t - P) - -where :math:`k` is a proportional gain constant, :math:`P_t` is the target -pressure, and :math:`P` is the current pressure along that dimension. This -approach is similar to the method used to control the pressure by -:doc:`fix press/berendsen `. The target pressure -accepts either a constant numeric value or a LAMMPS :ref:`variable `. -Notably, this variable can be a function of time or other components of -the pressure tensor. By default, :math:`k` has units of 1/(time * pressure) -although this will change if the *normalize/pessure* option is set as -:ref:`discussed below `. There is no proven method -to choosing an appropriate value of :math:`k` as it will depend on the -specific details of a simulation and testing different values is -recommended. One can also apply a maximum limit to the magnitude of the -applied strain using the :ref:`max/rate ` option and couple -pressures in different dimensions using the :ref:`couple ` -option. - -The *pressure/mean* style changes a dimension's box length to maintain -a constant mean pressure defined as the trace of the pressure tensor. -This option is therefore very similar to the *pressure* style with -identical arguments except the current and target pressures refer to the -mean trace of the pressure tensor. All options for the *pressure* style -also apply to the *pressure/mean* style except for the -:ref:`couple ` option. - ---------- For the *xy*, *xz*, and *yz* parameters, this is the meaning of their @@ -496,46 +433,6 @@ assume that the current timestep = 0. variable rate equal "2*PI*v_A/v_Tp * cos(2*PI * step*dt/v_Tp)" fix 2 all deform 1 xy variable v_displace v_rate remap v -The *pressure* style adjusts a tilt factor to control the corresponding -off-diagonal component of the pressure tensor. This option attempts to -maintain a specified target value using a linear controller where the -tilt factor T evolves according to the equation - -.. parsed-literal:: - - \frac{d T(t)}{dt} = L(t) k (P - P_t) - -where :math:`k` is a proportional gain constant, :math:`P_t` is the target -pressure, :math:`P` is the current pressure, and :math:`L` is the perpendicular -box length. The target pressure accepts either a constant numeric value or a -LAMMPS :ref:`variable `. Notably, this variable can be a function -of time or other components of the pressure tensor. By default, :math:`k` -has units of 1/(time * pressure) although this will change if the -*normalize/pessure* option is set as :ref:`discussed below `. -There is no proven method to choosing an appropriate value of :math:`k` as it -will depend on thespecific details of a simulation and testing different -values isrecommended. One can also apply a maximum limit to the magnitude -of the applied strain using the :ref:`max/rate ` option. - ----------- - -The *iso* parameter provides an additonal control over the x, y, -and z box lengths. This parameter can only be used in combination with -the *x*, *y*, or *z* comamnds: *vel*, *erate*, *trate*, *pressure*, or -*wiggle*. Note that this parameter will change the overall strain rate in -the *x*, *y*, or *z* dimensions. This is the meaning of its styles and values. - -The *volume* style isotropically scales box lengths to maintain a constant -box volume in response to deformation from other parameters. - -The *pressure* style controls the box volume to maintain the mean pressure -of the system. This is accomplished by isotropically scaling all box -lengths :math:`L` by an additional factor of :math:`k (P_t - P_m)` where -:math:`k` is the proportional gain constant, :math:`P_t` is the target -pressure, and :math:`P_m` is the current mean pressure (the trace of the -pressure tensor). This style allows one to control the deviatoric strain -tensor while maintaining a fixed mean pressure. - ---------- All of the tilt styles change the xy, xz, yz tilt factors during a @@ -664,77 +561,6 @@ does not affect the *variable* style. You should use the *xlat*, *ylat*, *zlat* keywords of the :doc:`thermo_style ` command if you want to include lattice spacings in a variable formula. -.. _deform_normalize: - -The *normalize/pressure* keyword changes how box dimensions evolve when -using the *pressure* or *pressure/mean* deformation options. If the -*deform/normalize* value is set to *yes*, then the deviation from the -target pressure is normalized by the absolute value of the target -pressure such that the proportional gain constant scales a percentage -error and has units of 1/time. If the target pressure is ever zero, this -will produce an error unless the *max/rate* keyword is defined, -described below, which will cap the divergence. - -.. _deform_max_rate: - -The *max/rate* keyword sets an upper threshold, *rate*, that limits the -maximum magnitude of the instantaneous strain rate applied in any dimension. -This keyword only applies to the *pressure* and *pressure/mean* options. If -a pressure-controlled rate is used for both *iso* and either *x*, *y*, or -*z*, then this threshold will apply separately to each individual controller -such that the cumulative strain rate on a box dimension may be up to twice -the value of *rate*. - -.. _deform_couple: - -The *couple* keyword allows two or three of the diagonal components of -the pressure tensor to be "coupled" together for the *pressure* option. -The value specified with the keyword determines which are coupled. For -example, *xz* means the *Pxx* and *Pzz* components of the stress tensor -are coupled. *Xyz* means all 3 diagonal components are coupled. Coupling -means two things: the instantaneous stress will be computed as an average -of the corresponding diagonal components, and the coupled box dimensions -will be changed together in lockstep, meaning coupled dimensions will be -dilated or contracted by the same percentage every timestep. The target -pressures and gain constants for any coupled dimensions must be identical. -*Couple xyz* can be used for a 2d simulation; the *z* dimension is simply -ignored. - -.. _deform_balance: - -The *vol/balance/p* keyword modifies the behavior of *volume* when two -dimensions are used to maintain a fixed volume. Instead of straining -the two dimensions in lockstep, the two dimensions are allowed to -separately dilate or contract in a manner to maintain a constant -volume while simultaneously trying to keep the pressure along each -dimension equal using a method described in :ref:`(Huang2014) `. - ----------- - -If any pressure controls are used, this fix computes a temperature and -pressure each timestep. To do this, the fix creates its own computes of -style "temp" and "pressure", as if these commands had been issued: - -.. code-block:: LAMMPS - - compute fix-ID_temp group-ID temp - compute fix-ID_press group-ID pressure fix-ID_temp - -See the :doc:`compute temp ` and :doc:`compute pressure ` commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID -+ underscore + "press", and the group for the new computes is the same -as the fix group. - -Note that these are NOT the computes used by thermodynamic output (see -the :doc:`thermo_style ` command) with ID = *thermo_temp* -and *thermo_press*. This means you can change the attributes of this -fix's temperature or pressure via the -:doc:`compute_modify ` command or print this temperature -or pressure during thermodynamic output via the -:doc:`thermo_style custom ` command using the appropriate -compute-ID. It also means that changing attributes of *thermo_temp* or -*thermo_press* will have no effect on this fix. - ---------- .. include:: accel_styles.rst @@ -748,15 +574,6 @@ command. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by this fix for access by various :doc:`output commands `. -If any pressure controls are used, the :doc:`fix_modify ` *temp* -and *press* options are supported by this fix. You can use them to assign a -:doc:`compute ` you have defined to this fix which will be used -in its temperature and pressure calculations. If you do this, note -that the kinetic energy derived from the compute temperature should be -consistent with the virial term computed using all atoms for the -pressure. LAMMPS will warn you if you choose to compute temperature -on a subset of atoms. - This fix can perform deformation over multiple runs, using the *start* and *stop* keywords of the :doc:`run ` command. See the :doc:`run ` command for details of how to do this. @@ -780,14 +597,4 @@ Related commands Default """"""" -The option defaults are remap = x, flip = yes, units = lattice, and -normalize/pressure = no. - ----------- - -.. _Li2014b: - -**(Huang2014)** X. Huang, -"Exploring critical-state behavior using DEM", -Doctoral dissertation, Imperial College. -(2014). https://doi.org/10.25560/25316 +The option defaults are remap = x, flip = yes, units = lattice diff --git a/doc/src/fix_deform_pressure.rst b/doc/src/fix_deform_pressure.rst new file mode 100644 index 0000000000..d19e5fba7e --- /dev/null +++ b/doc/src/fix_deform_pressure.rst @@ -0,0 +1,793 @@ +.. index:: fix deform +.. index:: fix deform/kk + +fix deform command +================== + +Accelerator Variants: *deform/kk* + +Syntax +"""""" + +.. parsed-literal:: + + fix ID group-ID deform N parameter args ... keyword value ... + +* ID, group-ID are documented in :doc:`fix ` command +* deform = style name of this fix command +* N = perform box deformation every this many timesteps +* one or more parameter/arg pairs may be appended + + .. parsed-literal:: + + parameter = *x* or *y* or *z* or *xy* or *xz* or *yz* or *iso* + *x*, *y*, *z* args = style value(s) + style = *final* or *delta* or *scale* or *vel* or *erate* or *trate* or *volume* or *wiggle* or *variable* + *final* values = lo hi + lo hi = box boundaries at end of run (distance units) + *delta* values = dlo dhi + dlo dhi = change in box boundaries at end of run (distance units) + *scale* values = factor + factor = multiplicative factor for change in box length at end of run + *vel* value = V + V = change box length at this velocity (distance/time units), + effectively an engineering strain rate + *erate* value = R + R = engineering strain rate (1/time units) + *pressure* values = target gain + target = target pressure (pressure units) + gain = proportional gain constant (1/(time * pressure) or 1/time units) + *pressure/mean* values = target gain + target = target pressure (pressure units) + gain = proportional gain constant (1/(time * pressure) or 1/time units) + *trate* value = R + R = true strain rate (1/time units) + *volume* value = none = adjust this dim to preserve volume of system + *wiggle* values = A Tp + A = amplitude of oscillation (distance units) + Tp = period of oscillation (time units) + *variable* values = v_name1 v_name2 + v_name1 = variable with name1 for box length change as function of time + v_name2 = variable with name2 for change rate as function of time + *xy*, *xz*, *yz* args = style value + style = *final* or *delta* or *vel* or *erate* or *trate* or *wiggle* + *final* value = tilt + tilt = tilt factor at end of run (distance units) + *delta* value = dtilt + dtilt = change in tilt factor at end of run (distance units) + *vel* value = V + V = change tilt factor at this velocity (distance/time units), + effectively an engineering shear strain rate + *erate* value = R + R = engineering shear strain rate (1/time units) + *pressure* values = target gain + target = target pressure (pressure units) + gain = proportional gain constant (1/(time * pressure) or 1/time units) + *trate* value = R + R = true shear strain rate (1/time units) + *wiggle* values = A Tp + A = amplitude of oscillation (distance units) + Tp = period of oscillation (time units) + *variable* values = v_name1 v_name2 + v_name1 = variable with name1 for tilt change as function of time + v_name2 = variable with name2 for change rate as function of time + *iso* = style value + style = *volume* or *pressure* + *volume* value = none = isotropically adjust system to preserve volume of system + *pressure* values = target gain + target = target mean pressure (pressure units) + gain = proportional gain constant (1/(time * pressure) or 1/time units) + +* zero or more keyword/value pairs may be appended +* keyword = *remap* or *flip* or *units* or *couple* or *vol/balance/p* or *max/rate* or *normalize/pressure* + + .. parsed-literal:: + + *remap* value = *x* or *v* or *none* + x = remap coords of atoms in group into deforming box + v = remap velocities of atoms in group when they cross periodic boundaries + none = no remapping of x or v + *flip* value = *yes* or *no* + allow or disallow box flips when it becomes highly skewed + *units* value = *lattice* or *box* + lattice = distances are defined in lattice units + box = distances are defined in simulation box units + *couple* value = *none* or *xyz* or *xy* or *yz* or *xz* + couple pressure values of various dimensions + *vol/balance/p* value = *yes* or *no* + Modifies the behavior of the *volume* option to try and balance pressures + *max/rate* value = *rate* + rate = maximum strain rate for pressure control + *normalize/pressure* value = *yes* or *no* + Modifies pressure controls such that the deviation in pressure is normalized by the target pressure + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix 1 all deform 1 x final 0.0 9.0 z final 0.0 5.0 units box + fix 1 all deform 1 x trate 0.1 y volume z volume + fix 1 all deform 1 xy erate 0.001 remap v + fix 1 all deform 10 y delta -0.5 0.5 xz vel 1.0 + fix 1 all deform 1 x pressure 2.0 0.1 normalize/pressure yes max/rate 0.001 + fix 1 all deform 1 x trate 0.1 y volume z volume vol/balance/p yes + fix 1 all deform 1 x trate 0.1 y pressure/mean 0.0 1.0 z pressure/mean 0.0 1.0 + +Description +""""""""""" + +Change the volume and/or shape of the simulation box during a dynamics +run. Orthogonal simulation boxes have 3 adjustable parameters +(x,y,z). Triclinic (non-orthogonal) simulation boxes have 6 +adjustable parameters (x,y,z,xy,xz,yz). Any or all of them can be +adjusted independently and simultaneously by this command. + +This fix can be used to perform non-equilibrium MD (NEMD) simulations +of a continuously strained system. See the :doc:`fix nvt/sllod ` and :doc:`compute temp/deform ` commands for more details. Note +that simulation of a continuously extended system (extensional flow) +can be modeled using the :ref:`UEF package ` and its :doc:`fix commands `. + +For the *x*, *y*, *z* parameters, the associated dimension cannot be +shrink-wrapped. For the *xy*, *yz*, *xz* parameters, the associated +second dimension cannot be shrink-wrapped. Dimensions not varied by this +command can be periodic or non-periodic. Dimensions corresponding to +unspecified parameters can also be controlled by a :doc:`fix npt ` or :doc:`fix nph ` command. + +The size and shape of the simulation box at the beginning of the +simulation run were either specified by the +:doc:`create_box ` or :doc:`read_data ` or +:doc:`read_restart ` command used to setup the simulation +initially if it is the first run, or they are the values from the end +of the previous run. The :doc:`create_box `, :doc:`read data `, and :doc:`read_restart ` commands +specify whether the simulation box is orthogonal or non-orthogonal +(triclinic) and explain the meaning of the xy,xz,yz tilt factors. If +fix deform changes the xy,xz,yz tilt factors, then the simulation box +must be triclinic, even if its initial tilt factors are 0.0. + +As described below, the desired simulation box size and shape at the +end of the run are determined by the parameters of the fix deform +command. Every Nth timestep during the run, the simulation box is +expanded, contracted, or tilted to ramped values between the initial +and final values. + +---------- + +For the *x*, *y*, and *z* parameters, this is the meaning of their +styles and values. + +The *final*, *delta*, *scale*, *vel*, and *erate* styles all change +the specified dimension of the box via "constant displacement" which +is effectively a "constant engineering strain rate". This means the +box dimension changes linearly with time from its initial to final +value. + +For style *final*, the final lo and hi box boundaries of a dimension +are specified. The values can be in lattice or box distance units. +See the discussion of the units keyword below. + +For style *delta*, plus or minus changes in the lo/hi box boundaries +of a dimension are specified. The values can be in lattice or box +distance units. See the discussion of the units keyword below. + +For style *scale*, a multiplicative factor to apply to the box length +of a dimension is specified. For example, if the initial box length +is 10, and the factor is 1.1, then the final box length will be 11. A +factor less than 1.0 means compression. + +For style *vel*, a velocity at which the box length changes is +specified in units of distance/time. This is effectively a "constant +engineering strain rate", where rate = V/L0 and L0 is the initial box +length. The distance can be in lattice or box distance units. See +the discussion of the units keyword below. For example, if the +initial box length is 100 Angstroms, and V is 10 Angstroms/ps, then +after 10 ps, the box length will have doubled. After 20 ps, it +will have tripled. + +The *erate* style changes a dimension of the box at a "constant +engineering strain rate". The units of the specified strain rate are +1/time. See the :doc:`units ` command for the time units +associated with different choices of simulation units, +e.g. picoseconds for "metal" units). Tensile strain is unitless and +is defined as delta/L0, where L0 is the original box length and delta +is the change relative to the original length. The box length L as a +function of time will change as + +.. parsed-literal:: + + L(t) = L0 (1 + erate\*dt) + +where dt is the elapsed time (in time units). Thus if *erate* R is +specified as 0.1 and time units are picoseconds, this means the box +length will increase by 10% of its original length every picosecond. +I.e. strain after 1 ps = 0.1, strain after 2 ps = 0.2, etc. R = +-0.01 means the box length will shrink by 1% of its original length +every picosecond. Note that for an "engineering" rate the change is +based on the original box length, so running with R = 1 for 10 +picoseconds expands the box length by a factor of 11 (strain of 10), +which is different that what the *trate* style would induce. + +The *trate* style changes a dimension of the box at a "constant true +strain rate". Note that this is not an "engineering strain rate", as +the other styles are. Rather, for a "true" rate, the rate of change +is constant, which means the box dimension changes non-linearly with +time from its initial to final value. The units of the specified +strain rate are 1/time. See the :doc:`units ` command for the +time units associated with different choices of simulation units, +e.g. picoseconds for "metal" units). Tensile strain is unitless and +is defined as delta/L0, where L0 is the original box length and delta +is the change relative to the original length. + +The box length L as a function of time will change as + +.. parsed-literal:: + + L(t) = L0 exp(trate\*dt) + +where dt is the elapsed time (in time units). Thus if *trate* R is +specified as ln(1.1) and time units are picoseconds, this means the +box length will increase by 10% of its current (not original) length +every picosecond. I.e. strain after 1 ps = 0.1, strain after 2 ps += 0.21, etc. R = ln(2) or ln(3) means the box length will double or +triple every picosecond. R = ln(0.99) means the box length will +shrink by 1% of its current length every picosecond. Note that for a +"true" rate the change is continuous and based on the current length, +so running with R = ln(2) for 10 picoseconds does not expand the box +length by a factor of 11 as it would with *erate*, but by a factor of +1024 since the box length will double every picosecond. + +Note that to change the volume (or cross-sectional area) of the +simulation box at a constant rate, you can change multiple dimensions +via *erate* or *trate*\ . E.g. to double the box volume in a picosecond +picosecond, you could set "x erate M", "y erate M", "z erate M", with +M = pow(2,1/3) - 1 = 0.26, since if each box dimension grows by 26%, +the box volume doubles. Or you could set "x trate M", "y trate M", "z +trate M", with M = ln(1.26) = 0.231, and the box volume would double +every picosecond. + +The *volume* style changes the specified dimension in such a way that +the box volume remains constant while other box dimensions are changed +explicitly via the styles discussed above. For example, "x scale 1.1 +y scale 1.1 z volume" will shrink the z box length as the x,y box +lengths increase, to keep the volume constant (product of x,y,z +lengths). If "x scale 1.1 z volume" is specified and parameter *y* is +unspecified, then the z box length will shrink as x increases to keep +the product of x,z lengths constant. If "x scale 1.1 y volume z +volume" is specified, then both the y,z box lengths will shrink as x +increases to keep the volume constant (product of x,y,z lengths). In +this case, the y,z box lengths shrink so as to keep their relative +aspect ratio constant. When maintaining a constant volume using two +separate dimensions, one can alternatively allow the two dimensions +to adjust their aspect ratio to attempt to maintain equivalent +pressures along the two dimensions. See the +:ref:`vol/balance/p ` option for more details. + +For solids or liquids, note that when one dimension of the box is +expanded via fix deform (i.e. tensile strain), it may be physically +undesirable to hold the other 2 box lengths constant (unspecified by +fix deform) since that implies a density change. Using the *volume* +style for those 2 dimensions to keep the box volume constant may make +more physical sense, but may also not be correct for materials and +potentials whose Poisson ratio is not 0.5. An alternative is to use +:doc:`fix npt aniso ` with zero applied pressure on those 2 +dimensions, so that they respond to the tensile strain dynamically. + +The *wiggle* style oscillates the specified box length dimension +sinusoidally with the specified amplitude and period. I.e. the box +length L as a function of time is given by + +.. parsed-literal:: + + L(t) = L0 + A sin(2\*pi t/Tp) + +where L0 is its initial length. If the amplitude A is a positive +number the box initially expands, then contracts, etc. If A is +negative then the box initially contracts, then expands, etc. The +amplitude can be in lattice or box distance units. See the discussion +of the units keyword below. + +The *variable* style changes the specified box length dimension by +evaluating a variable, which presumably is a function of time. The +variable with *name1* must be an :doc:`equal-style variable ` +and should calculate a change in box length in units of distance. +Note that this distance is in box units, not lattice units; see the +discussion of the *units* keyword below. The formula associated with +variable *name1* can reference the current timestep. Note that it +should return the "change" in box length, not the absolute box length. +This means it should evaluate to 0.0 when invoked on the initial +timestep of the run following the definition of fix deform. It should +evaluate to a value > 0.0 to dilate the box at future times, or a +value < 0.0 to compress the box. + +The variable *name2* must also be an :doc:`equal-style variable ` and should calculate the rate of box length +change, in units of distance/time, i.e. the time-derivative of the +*name1* variable. This quantity is used internally by LAMMPS to reset +atom velocities when they cross periodic boundaries. It is computed +internally for the other styles, but you must provide it when using an +arbitrary variable. + +Here is an example of using the *variable* style to perform the same +box deformation as the *wiggle* style formula listed above, where we +assume that the current timestep = 0. + +.. code-block:: LAMMPS + + variable A equal 5.0 + variable Tp equal 10.0 + variable displace equal "v_A * sin(2*PI * step*dt/v_Tp)" + variable rate equal "2*PI*v_A/v_Tp * cos(2*PI * step*dt/v_Tp)" + fix 2 all deform 1 x variable v_displace v_rate remap v + +For the *scale*, *vel*, *erate*, *trate*, *volume*, *wiggle*, and +*variable* styles, the box length is expanded or compressed around its +mid point. + +The *pressure* style adjusts a dimensions's box length to control that +component of the pressure tensor. This option attempts to maintain a +specified target value using a linear controller where the box length +:math:`L` evolves according to the equation + +.. parsed-literal:: + + \frac{d L(t)}{dt} = L(t) k (P_t - P) + +where :math:`k` is a proportional gain constant, :math:`P_t` is the target +pressure, and :math:`P` is the current pressure along that dimension. This +approach is similar to the method used to control the pressure by +:doc:`fix press/berendsen `. The target pressure +accepts either a constant numeric value or a LAMMPS :ref:`variable `. +Notably, this variable can be a function of time or other components of +the pressure tensor. By default, :math:`k` has units of 1/(time * pressure) +although this will change if the *normalize/pessure* option is set as +:ref:`discussed below `. There is no proven method +to choosing an appropriate value of :math:`k` as it will depend on the +specific details of a simulation and testing different values is +recommended. One can also apply a maximum limit to the magnitude of the +applied strain using the :ref:`max/rate ` option and couple +pressures in different dimensions using the :ref:`couple ` +option. + +The *pressure/mean* style changes a dimension's box length to maintain +a constant mean pressure defined as the trace of the pressure tensor. +This option is therefore very similar to the *pressure* style with +identical arguments except the current and target pressures refer to the +mean trace of the pressure tensor. All options for the *pressure* style +also apply to the *pressure/mean* style except for the +:ref:`couple ` option. + +---------- + +For the *xy*, *xz*, and *yz* parameters, this is the meaning of their +styles and values. Note that changing the tilt factors of a triclinic +box does not change its volume. + +The *final*, *delta*, *vel*, and *erate* styles all change the shear +strain at a "constant engineering shear strain rate". This means the +tilt factor changes linearly with time from its initial to final +value. + +For style *final*, the final tilt factor is specified. The value +can be in lattice or box distance units. See the discussion of the +units keyword below. + +For style *delta*, a plus or minus change in the tilt factor is +specified. The value can be in lattice or box distance units. See +the discussion of the units keyword below. + +For style *vel*, a velocity at which the tilt factor changes is +specified in units of distance/time. This is effectively an +"engineering shear strain rate", where rate = V/L0 and L0 is the +initial box length perpendicular to the direction of shear. The +distance can be in lattice or box distance units. See the discussion +of the units keyword below. For example, if the initial tilt factor +is 5 Angstroms, and the V is 10 Angstroms/ps, then after 1 ps, the +tilt factor will be 15 Angstroms. After 2 ps, it will be 25 +Angstroms. + +The *erate* style changes a tilt factor at a "constant engineering +shear strain rate". The units of the specified shear strain rate are +1/time. See the :doc:`units ` command for the time units +associated with different choices of simulation units, +e.g. picoseconds for "metal" units). Shear strain is unitless and is +defined as offset/length, where length is the box length perpendicular +to the shear direction (e.g. y box length for xy deformation) and +offset is the displacement distance in the shear direction (e.g. x +direction for xy deformation) from the unstrained orientation. + +The tilt factor T as a function of time will change as + +.. parsed-literal:: + + T(t) = T0 + L0\*erate\*dt + +where T0 is the initial tilt factor, L0 is the original length of the +box perpendicular to the shear direction (e.g. y box length for xy +deformation), and dt is the elapsed time (in time units). Thus if +*erate* R is specified as 0.1 and time units are picoseconds, this +means the shear strain will increase by 0.1 every picosecond. I.e. if +the xy shear strain was initially 0.0, then strain after 1 ps = 0.1, +strain after 2 ps = 0.2, etc. Thus the tilt factor would be 0.0 at +time 0, 0.1\*ybox at 1 ps, 0.2\*ybox at 2 ps, etc, where ybox is the +original y box length. R = 1 or 2 means the tilt factor will increase +by 1 or 2 every picosecond. R = -0.01 means a decrease in shear +strain by 0.01 every picosecond. + +The *trate* style changes a tilt factor at a "constant true shear +strain rate". Note that this is not an "engineering shear strain +rate", as the other styles are. Rather, for a "true" rate, the rate +of change is constant, which means the tilt factor changes +non-linearly with time from its initial to final value. The units of +the specified shear strain rate are 1/time. See the +:doc:`units ` command for the time units associated with +different choices of simulation units, e.g. picoseconds for "metal" +units). Shear strain is unitless and is defined as offset/length, +where length is the box length perpendicular to the shear direction +(e.g. y box length for xy deformation) and offset is the displacement +distance in the shear direction (e.g. x direction for xy deformation) +from the unstrained orientation. + +The tilt factor T as a function of time will change as + +.. parsed-literal:: + + T(t) = T0 exp(trate\*dt) + +where T0 is the initial tilt factor and dt is the elapsed time (in +time units). Thus if *trate* R is specified as ln(1.1) and time units +are picoseconds, this means the shear strain or tilt factor will +increase by 10% every picosecond. I.e. if the xy shear strain was +initially 0.1, then strain after 1 ps = 0.11, strain after 2 ps = +0.121, etc. R = ln(2) or ln(3) means the tilt factor will double or +triple every picosecond. R = ln(0.99) means the tilt factor will +shrink by 1% every picosecond. Note that the change is continuous, so +running with R = ln(2) for 10 picoseconds does not change the tilt +factor by a factor of 10, but by a factor of 1024 since it doubles +every picosecond. Note that the initial tilt factor must be non-zero +to use the *trate* option. + +Note that shear strain is defined as the tilt factor divided by the +perpendicular box length. The *erate* and *trate* styles control the +tilt factor, but assume the perpendicular box length remains constant. +If this is not the case (e.g. it changes due to another fix deform +parameter), then this effect on the shear strain is ignored. + +The *wiggle* style oscillates the specified tilt factor sinusoidally +with the specified amplitude and period. I.e. the tilt factor T as a +function of time is given by + +.. parsed-literal:: + + T(t) = T0 + A sin(2\*pi t/Tp) + +where T0 is its initial value. If the amplitude A is a positive +number the tilt factor initially becomes more positive, then more +negative, etc. If A is negative then the tilt factor initially +becomes more negative, then more positive, etc. The amplitude can be +in lattice or box distance units. See the discussion of the units +keyword below. + +The *variable* style changes the specified tilt factor by evaluating a +variable, which presumably is a function of time. The variable with +*name1* must be an :doc:`equal-style variable ` and should +calculate a change in tilt in units of distance. Note that this +distance is in box units, not lattice units; see the discussion of the +*units* keyword below. The formula associated with variable *name1* +can reference the current timestep. Note that it should return the +"change" in tilt factor, not the absolute tilt factor. This means it +should evaluate to 0.0 when invoked on the initial timestep of the run +following the definition of fix deform. + +The variable *name2* must also be an :doc:`equal-style variable ` and should calculate the rate of tilt change, +in units of distance/time, i.e. the time-derivative of the *name1* +variable. This quantity is used internally by LAMMPS to reset atom +velocities when they cross periodic boundaries. It is computed +internally for the other styles, but you must provide it when using an +arbitrary variable. + +Here is an example of using the *variable* style to perform the same +box deformation as the *wiggle* style formula listed above, where we +assume that the current timestep = 0. + +.. code-block:: LAMMPS + + variable A equal 5.0 + variable Tp equal 10.0 + variable displace equal "v_A * sin(2*PI * step*dt/v_Tp)" + variable rate equal "2*PI*v_A/v_Tp * cos(2*PI * step*dt/v_Tp)" + fix 2 all deform 1 xy variable v_displace v_rate remap v + +The *pressure* style adjusts a tilt factor to control the corresponding +off-diagonal component of the pressure tensor. This option attempts to +maintain a specified target value using a linear controller where the +tilt factor T evolves according to the equation + +.. parsed-literal:: + + \frac{d T(t)}{dt} = L(t) k (P - P_t) + +where :math:`k` is a proportional gain constant, :math:`P_t` is the target +pressure, :math:`P` is the current pressure, and :math:`L` is the perpendicular +box length. The target pressure accepts either a constant numeric value or a +LAMMPS :ref:`variable `. Notably, this variable can be a function +of time or other components of the pressure tensor. By default, :math:`k` +has units of 1/(time * pressure) although this will change if the +*normalize/pessure* option is set as :ref:`discussed below `. +There is no proven method to choosing an appropriate value of :math:`k` as it +will depend on thespecific details of a simulation and testing different +values is recommended. One can also apply a maximum limit to the magnitude +of the applied strain using the :ref:`max/rate ` option. + +---------- + +The *iso* parameter provides an additonal control over the x, y, +and z box lengths. This parameter can only be used in combination with +the *x*, *y*, or *z* comamnds: *vel*, *erate*, *trate*, *pressure*, or +*wiggle*. Note that this parameter will change the overall strain rate in +the *x*, *y*, or *z* dimensions. This is the meaning of its styles and values. + +The *volume* style isotropically scales box lengths to maintain a constant +box volume in response to deformation from other parameters. + +The *pressure* style controls the box volume to maintain the mean pressure +of the system. This is accomplished by isotropically scaling all box +lengths :math:`L` by an additional factor of :math:`k (P_t - P_m)` where +:math:`k` is the proportional gain constant, :math:`P_t` is the target +pressure, and :math:`P_m` is the current mean pressure (the trace of the +pressure tensor). This style allows one to control the deviatoric strain +tensor while maintaining a fixed mean pressure. + +---------- + +All of the tilt styles change the xy, xz, yz tilt factors during a +simulation. In LAMMPS, tilt factors (xy,xz,yz) for triclinic boxes +are normally bounded by half the distance of the parallel box length. +See the discussion of the *flip* keyword below, to allow this bound to +be exceeded, if desired. + +For example, if xlo = 2 and xhi = 12, then the x box length is 10 and +the xy tilt factor must be between -5 and 5. Similarly, both xz and +yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is +not a limitation, since if the maximum tilt factor is 5 (as in this +example), then configurations with tilt = ..., -15, -5, 5, 15, 25, +... are all equivalent. + +To obey this constraint and allow for large shear deformations to be +applied via the *xy*, *xz*, or *yz* parameters, the following +algorithm is used. If *prd* is the associated parallel box length (10 +in the example above), then if the tilt factor exceeds the accepted +range of -5 to 5 during the simulation, then the box is flipped to the +other limit (an equivalent box) and the simulation continues. Thus +for this example, if the initial xy tilt factor was 0.0 and "xy final +100.0" was specified, then during the simulation the xy tilt factor +would increase from 0.0 to 5.0, the box would be flipped so that the +tilt factor becomes -5.0, the tilt factor would increase from -5.0 to +5.0, the box would be flipped again, etc. The flip occurs 10 times +and the final tilt factor at the end of the simulation would be 0.0. +During each flip event, atoms are remapped into the new box in the +appropriate manner. + +The one exception to this rule is if the first dimension in the tilt +factor (x for xy) is non-periodic. In that case, the limits on the +tilt factor are not enforced, since flipping the box in that dimension +does not change the atom positions due to non-periodicity. In this +mode, if you tilt the system to extreme angles, the simulation will +simply become inefficient due to the highly skewed simulation box. + +---------- + +Each time the box size or shape is changed, the *remap* keyword +determines whether atom positions are remapped to the new box. If +*remap* is set to *x* (the default), atoms in the fix group are +remapped; otherwise they are not. Note that their velocities are not +changed, just their positions are altered. If *remap* is set to *v*, +then any atom in the fix group that crosses a periodic boundary will +have a delta added to its velocity equal to the difference in +velocities between the lo and hi boundaries. Note that this velocity +difference can include tilt components, e.g. a delta in the x velocity +when an atom crosses the y periodic boundary. If *remap* is set to +*none*, then neither of these remappings take place. + +Conceptually, setting *remap* to *x* forces the atoms to deform via an +affine transformation that exactly matches the box deformation. This +setting is typically appropriate for solids. Note that though the +atoms are effectively "moving" with the box over time, it is not due +to their having a velocity that tracks the box change, but only due to +the remapping. By contrast, setting *remap* to *v* is typically +appropriate for fluids, where you want the atoms to respond to the +change in box size/shape on their own and acquire a velocity that +matches the box change, so that their motion will naturally track the +box without explicit remapping of their coordinates. + +.. note:: + + When non-equilibrium MD (NEMD) simulations are performed using + this fix, the option "remap v" should normally be used. This is + because :doc:`fix nvt/sllod ` adjusts the atom positions + and velocities to induce a velocity profile that matches the changing + box size/shape. Thus atom coordinates should NOT be remapped by fix + deform, but velocities SHOULD be when atoms cross periodic boundaries, + since that is consistent with maintaining the velocity profile already + created by fix nvt/sllod. LAMMPS will warn you if the *remap* setting + is not consistent with fix nvt/sllod. + +.. note:: + + For non-equilibrium MD (NEMD) simulations using "remap v" it is + usually desirable that the fluid (or flowing material, e.g. granular + particles) stream with a velocity profile consistent with the + deforming box. As mentioned above, using a thermostat such as :doc:`fix nvt/sllod ` or :doc:`fix lavgevin ` + (with a bias provided by :doc:`compute temp/deform `), will typically accomplish + that. If you do not use a thermostat, then there is no driving force + pushing the atoms to flow in a manner consistent with the deforming + box. E.g. for a shearing system the box deformation velocity may vary + from 0 at the bottom to 10 at the top of the box. But the stream + velocity profile of the atoms may vary from -5 at the bottom to +5 at + the top. You can monitor these effects using the :doc:`fix ave/chunk `, :doc:`compute temp/deform `, and :doc:`compute temp/profile ` commands. One way to induce + atoms to stream consistent with the box deformation is to give them an + initial velocity profile, via the :doc:`velocity ramp ` + command, that matches the box deformation rate. This also typically + helps the system come to equilibrium more quickly, even if a + thermostat is used. + +.. note:: + + If a :doc:`fix rigid ` is defined for rigid bodies, and + *remap* is set to *x*, then the center-of-mass coordinates of rigid + bodies will be remapped to the changing simulation box. This will be + done regardless of whether atoms in the rigid bodies are in the fix + deform group or not. The velocity of the centers of mass are not + remapped even if *remap* is set to *v*, since :doc:`fix nvt/sllod ` does not currently do anything special + for rigid particles. If you wish to perform a NEMD simulation of + rigid particles, you can either thermostat them independently or + include a background fluid and thermostat the fluid via :doc:`fix nvt/sllod `. + +The *flip* keyword allows the tilt factors for a triclinic box to +exceed half the distance of the parallel box length, as discussed +above. If the *flip* value is set to *yes*, the bound is enforced by +flipping the box when it is exceeded. If the *flip* value is set to +*no*, the tilt will continue to change without flipping. Note that if +you apply large deformations, this means the box shape can tilt +dramatically LAMMPS will run less efficiently, due to the large volume +of communication needed to acquire ghost atoms around a processor's +irregular-shaped sub-domain. For extreme values of tilt, LAMMPS may +also lose atoms and generate an error. + +The *units* keyword determines the meaning of the distance units used +to define various arguments. A *box* value selects standard distance +units as defined by the :doc:`units ` command, e.g. Angstroms for +units = real or metal. A *lattice* value means the distance units are +in lattice spacings. The :doc:`lattice ` command must have +been previously used to define the lattice spacing. Note that the +units choice also affects the *vel* style parameters since it is +defined in terms of distance/time. Also note that the units keyword +does not affect the *variable* style. You should use the *xlat*, +*ylat*, *zlat* keywords of the :doc:`thermo_style ` +command if you want to include lattice spacings in a variable formula. + +.. _deform_normalize: + +The *normalize/pressure* keyword changes how box dimensions evolve when +using the *pressure* or *pressure/mean* deformation options. If the +*deform/normalize* value is set to *yes*, then the deviation from the +target pressure is normalized by the absolute value of the target +pressure such that the proportional gain constant scales a percentage +error and has units of 1/time. If the target pressure is ever zero, this +will produce an error unless the *max/rate* keyword is defined, +described below, which will cap the divergence. + +.. _deform_max_rate: + +The *max/rate* keyword sets an upper threshold, *rate*, that limits the +maximum magnitude of the instantaneous strain rate applied in any dimension. +This keyword only applies to the *pressure* and *pressure/mean* options. If +a pressure-controlled rate is used for both *iso* and either *x*, *y*, or +*z*, then this threshold will apply separately to each individual controller +such that the cumulative strain rate on a box dimension may be up to twice +the value of *rate*. + +.. _deform_couple: + +The *couple* keyword allows two or three of the diagonal components of +the pressure tensor to be "coupled" together for the *pressure* option. +The value specified with the keyword determines which are coupled. For +example, *xz* means the *Pxx* and *Pzz* components of the stress tensor +are coupled. *Xyz* means all 3 diagonal components are coupled. Coupling +means two things: the instantaneous stress will be computed as an average +of the corresponding diagonal components, and the coupled box dimensions +will be changed together in lockstep, meaning coupled dimensions will be +dilated or contracted by the same percentage every timestep. The target +pressures and gain constants for any coupled dimensions must be identical. +*Couple xyz* can be used for a 2d simulation; the *z* dimension is simply +ignored. + +.. _deform_balance: + +The *vol/balance/p* keyword modifies the behavior of *volume* when two +dimensions are used to maintain a fixed volume. Instead of straining +the two dimensions in lockstep, the two dimensions are allowed to +separately dilate or contract in a manner to maintain a constant +volume while simultaneously trying to keep the pressure along each +dimension equal using a method described in :ref:`(Huang2014) `. + +---------- + +If any pressure controls are used, this fix computes a temperature and +pressure each timestep. To do this, the fix creates its own computes of +style "temp" and "pressure", as if these commands had been issued: + +.. code-block:: LAMMPS + + compute fix-ID_temp group-ID temp + compute fix-ID_press group-ID pressure fix-ID_temp + +See the :doc:`compute temp ` and :doc:`compute pressure ` commands for details. Note that the +IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID ++ underscore + "press", and the group for the new computes is the same +as the fix group. + +Note that these are NOT the computes used by thermodynamic output (see +the :doc:`thermo_style ` command) with ID = *thermo_temp* +and *thermo_press*. This means you can change the attributes of this +fix's temperature or pressure via the +:doc:`compute_modify ` command or print this temperature +or pressure during thermodynamic output via the +:doc:`thermo_style custom ` command using the appropriate +compute-ID. It also means that changing attributes of *thermo_temp* or +*thermo_press* will have no effect on this fix. + +---------- + +.. include:: accel_styles.rst + +Restart, fix_modify, output, run start/stop, minimize info +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +This fix will restore the initial box settings from :doc:`binary restart files `, which allows the fix to be properly continue +deformation, when using the start/stop options of the :doc:`run ` +command. None of the :doc:`fix_modify ` options are +relevant to this fix. No global or per-atom quantities are stored by +this fix for access by various :doc:`output commands `. + +If any pressure controls are used, the :doc:`fix_modify ` *temp* +and *press* options are supported by this fix. You can use them to assign a +:doc:`compute ` you have defined to this fix which will be used +in its temperature and pressure calculations. If you do this, note +that the kinetic energy derived from the compute temperature should be +consistent with the virial term computed using all atoms for the +pressure. LAMMPS will warn you if you choose to compute temperature +on a subset of atoms. + +This fix can perform deformation over multiple runs, using the *start* +and *stop* keywords of the :doc:`run ` command. See the +:doc:`run ` command for details of how to do this. + +This fix is not invoked during :doc:`energy minimization `. + +Restrictions +"""""""""""" + +You cannot apply x, y, or z deformations to a dimension that is +shrink-wrapped via the :doc:`boundary ` command. + +You cannot apply xy, yz, or xz deformations to a second dimension (y in +xy) that is shrink-wrapped via the :doc:`boundary ` command. + +Related commands +"""""""""""""""" + +:doc:`change_box ` + +Default +""""""" + +The option defaults are remap = x, flip = yes, units = lattice, and +normalize/pressure = no. + +---------- + +.. _Li2014b: + +**(Huang2014)** X. Huang, +"Exploring critical-state behavior using DEM", +Doctoral dissertation, Imperial College. +(2014). https://doi.org/10.25560/25316 diff --git a/src/.gitignore b/src/.gitignore index 0d3cb2ff4a..ab68aa1055 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -724,6 +724,8 @@ /fix_cmap.h /fix_damping_cundall.cpp /fix_damping_cundall.h +/fix_deform_pressure.cpp +/fix_deform_pressure.h /fix_dpd_energy.cpp /fix_dpd_energy.h /fix_electron_stopping.cpp diff --git a/src/EXTRA-FIX/fix_deform_pressure.cpp b/src/EXTRA-FIX/fix_deform_pressure.cpp new file mode 100644 index 0000000000..666ca5f2af --- /dev/null +++ b/src/EXTRA-FIX/fix_deform_pressure.cpp @@ -0,0 +1,905 @@ +// 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. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Joel Clemmer (SNL) +------------------------------------------------------------------------- */ + +#include "fix_deform_pressure.h" + +#include "atom.h" +#include "comm.h" +#include "compute.h" +#include "domain.h" +#include "error.h" +#include "force.h" +#include "group.h" +#include "input.h" +#include "irregular.h" +#include "kspace.h" +#include "lattice.h" +#include "math_const.h" +#include "modify.h" +#include "update.h" +#include "variable.h" + +#include +#include + +using namespace LAMMPS_NS; +using namespace FixConst; +using namespace MathConst; + +enum{NONE=0,FINAL,DELTA,SCALE,VEL,ERATE,TRATE,VOLUME,WIGGLE,VARIABLE,PRESSURE,PMEAN}; +enum{ONE_FROM_ONE,ONE_FROM_TWO,TWO_FROM_ONE}; +enum{NOCOUPLE=0,XYZ,XY,YZ,XZ}; + +/* ---------------------------------------------------------------------- */ + +FixDeformPressure::FixDeformPressure(LAMMPS *lmp, int narg, char **arg) : FixDeform(lmp, narg, arg), +id_temp(nullptr), id_press(nullptr) +{ + // populate coupled pressure controls + + if (pcouple != NOCOUPLE) { + int coupled_indices[3] = {0}; + int j = -1; + double couple_gain, coupled_pressure; + char *couple_str; + + if (pcouple == XYZ || pcouple == XY || pcouple == XZ) + coupled_indices[0] = 1; + if (pcouple == XYZ || pcouple == XY || pcouple == YZ) + coupled_indices[1] = 1; + if (pcouple == XYZ || pcouple == XZ || pcouple == YZ) + coupled_indices[2] = 1; + + // Check coupled styles and find reference + for (int i = 0; i < 3; i++) { + if (coupled_indices[i]) { + set[i].coupled_flag = 1; + if (set[i].style != PRESSURE && set[i].style != NONE) + error->all(FLERR, "Cannot couple non-pressure-controlled dimensions"); + if (set[i].style == PRESSURE) + j = i; + } + } + + if (j == -1) + error->all(FLERR, "Must specify deformation style for at least one coupled dimension"); + + // Copy or compare data for each coupled dimension + for (int i = 0; i < 3; i++) { + if (coupled_indices[i]) { + // Copy coupling information if dimension style is undefined + if (set[i].style == NONE) { + set[i].style = PRESSURE; + dimflag[i] = 1; + set[i].pgain = set[j].pgain; + if (set[j].pvar_flag) { + set[i].pstr = set[j].pstr; + set[i].pvar_flag = 1; + } else { + set[i].ptarget = set[j].ptarget; + } + } else { + // Check for incompatibilities in style + if (set[j].style != set[i].style && set[i].style != NONE) + error->all(FLERR, "Cannot couple dimensions with different control options"); + if (set[j].style != PRESSURE) continue; + + // If pressure controlled, check for incompatibilities in parameters + if (set[i].pgain != set[j].pgain || set[i].pvar_flag != set[j].pvar_flag || + set[i].ptarget != set[j].ptarget) + error->all(FLERR, "Coupled dimensions must have identical gain parameters"); + + if (set[j].pvar_flag) + if (strcmp(set[i].pstr, set[j].pstr) != 0) + error->all(FLERR, "Coupled dimensions must have the same target pressure"); + } + } + } + } + + // repeat some checks in child class to catch changes to pcouple + + if (dimflag[0]) box_change |= BOX_CHANGE_X; + if (dimflag[1]) box_change |= BOX_CHANGE_Y; + if (dimflag[2]) box_change |= BOX_CHANGE_Z; + + // no tensile deformation on shrink-wrapped dims + // b/c shrink wrap will change box-length + + for (int i = 0; i < 3; i++) + if ((set[i].style || set[6].style) && (domain->boundary[i][0] >= 2 || domain->boundary[i][1] >= 2)) + error->all(FLERR, "Cannot use fix deform/pressure on a shrink-wrapped boundary"); + + // if vol/balance/p used, must have 2 free dimensions + + if (vol_balance_flag) { + for (int i = 0; i < 3; i++) { + if (set[i].style != VOLUME) continue; + if (set[i].substyle != TWO_FROM_ONE) + error->all(FLERR, "Two dimensions must maintain constant volume to use the vol/balance/p option"); + } + } + + // set strain_flag + + strain_flag = 0; + for (int i = 0; i < 6; i++) + if (set[i].style != NONE && set[i].style != VOLUME && + set[i].style != PRESSURE && set[i].style != PMEAN) + strain_flag = 1; + + // set pressure_flag + + pressure_flag = 0; + for (int i = 0; i < 7; i++) { + if (set[i].style == PRESSURE || set[i].style == PMEAN) pressure_flag = 1; + if (set[i].coupled_flag) pressure_flag = 1; + } + if (vol_balance_flag) pressure_flag = 1; + + // check conflict between constant volume/pressure + + volume_flag = 0; + for (int i = 0; i < 3; i++) + if (set[i].style == VOLUME) + volume_flag = 1; + + if (volume_flag) + for (int i = 0; i < 6; i++) + if (set[i].style == PMEAN) + error->all(FLERR, "Cannot use fix deform/pressure to assign constant volume and pressure"); + + // check conflicts between x,y,z styles and iso + + if (set[6].style) + for (int i = 0; i < 3; i++) + if (set[i].style == FINAL || set[i].style == DELTA || set[i].style == SCALE || set[i].style == PMEAN || set[i].style == VARIABLE) + error->all(FLERR, "Cannot use fix deform/pressure iso parameter with x, y, or z styles other than vel, erate, trate, pressure, and wiggle"); + + // check pressure used for max rate and normalize error flag + + if (!pressure_flag && max_h_rate != 0) + error->all(FLERR, "Can only assign a maximum strain rate using pressure-controlled dimensions"); + + if (!pressure_flag && normalize_pressure_flag) + error->all(FLERR, "Can only normalize error using pressure-controlled dimensions"); + + // Create pressure compute, if needed + + pflag = 0; + tflag = 0; + if (pressure_flag) { + // create a new compute temp style + // id = fix-ID + temp + // compute group = all since pressure is always global (group all) + // and thus its KE/temperature contribution should use group all + + id_temp = utils::strdup(std::string(id) + "_temp"); + modify->add_compute(fmt::format("{} all temp",id_temp)); + tflag = 1; + + // create a new compute pressure style + // id = fix-ID + press, compute group = all + // pass id_temp as 4th arg to pressure constructor + + id_press = utils::strdup(std::string(id) + "_press"); + modify->add_compute(fmt::format("{} all pressure {}",id_press, id_temp)); + pflag = 1; + } +} + +/* ---------------------------------------------------------------------- */ + +FixDeformPressure::~FixDeformPressure() +{ + // delete temperature and pressure if fix created them + + if (tflag) modify->delete_compute(id_temp); + if (pflag) modify->delete_compute(id_press); + delete [] id_temp; + delete [] id_press; +} + +/* ---------------------------------------------------------------------- */ + +void FixDeformPressure::init() +{ + FixDeform::init(); + + // check optional variables for PRESSURE or PMEAN style + + for (int i = 0; i < 7; i++) { + if (!set[i].pvar_flag) continue; + set[i].pvar = input->variable->find(set[i].pstr); + if (set[i].pvar < 0) + error->all(FLERR, "Variable name {} for fix deform/pressure does not exist", set[i].pstr); + if (!input->variable->equalstyle(set[i].pvar)) + error->all(FLERR, "Variable {} for fix deform/pressure is invalid style", set[i].pstr); + } + + // Find pressure/temp computes if needed + + if (pressure_flag) { + int icompute = modify->find_compute(id_temp); + if (icompute < 0) error->all(FLERR, "Temperature ID for fix deform/pressure does not exist"); + temperature = modify->compute[icompute]; + + icompute = modify->find_compute(id_press); + if (icompute < 0) error->all(FLERR, "Pressure ID for fix deform/pressure does not exist"); + pressure = modify->compute[icompute]; + } +} + +/* ---------------------------------------------------------------------- + compute T,P if needed before integrator starts +------------------------------------------------------------------------- */ + +void FixDeformPressure::setup(int /*vflag*/) +{ + // trigger virial computation on next timestep + if (pressure_flag) pressure->addstep(update->ntimestep+1); +} + +/* ---------------------------------------------------------------------- */ + +void FixDeformPressure::end_of_step() +{ + // wrap variable evaluations with clear/add + + if (varflag) modify->clearstep_compute(); + + // set new box size for strain-based dims + + if (strain_flag) FixDeform::set_strain(); + + // set new box size for pressure-based dims + + if (pressure_flag) { + temperature->compute_vector(); + pressure->compute_vector(); + pressure->compute_scalar(); + for (int i = 0; i < 3; i++) { + if (!set[i].saved) { + set[i].saved = 1; + set[i].prior_rate = 0.0; + set[i].prior_pressure = pressure->vector[i]; + } + } + set_pressure(); + } + + // set new box size for VOLUME dims that are linked to other dims + // NOTE: still need to set h_rate for these dims + + if (volume_flag) set_volume(); + + // apply any final isotropic scalings + + if (set[6].style) set_iso(); + + // Save pressure/strain rate if required + + if (pressure_flag) { + for (int i = 0; i < 3; i++) { + set[i].prior_pressure = pressure->vector[i]; + set[i].prior_rate = ((set[i].hi_target - set[i].lo_target) / + (domain->boxhi[i] - domain->boxlo[i]) - 1.0) / update->dt; + } + } + + if (varflag) modify->addstep_compute(update->ntimestep + nevery); + + + FixDeform::apply_deformation(); + + // trigger virial computation, if needed, on next timestep + + if (pressure_flag) + pressure->addstep(update->ntimestep+1); +} + +/* ---------------------------------------------------------------------- + set box size for pressure-based dimensions +------------------------------------------------------------------------- */ + +void FixDeformPressure::set_pressure() +{ + // If variable pressure, calculate current target + for (int i = 0; i < 6; i++) + if (set[i].style == PRESSURE) + if (set[i].pvar_flag) + set[i].ptarget = input->variable->compute_equal(set[i].pvar); + + // Find current (possibly coupled/hydrostatic) pressure for X, Y, Z + double *tensor = pressure->vector; + double scalar = pressure->scalar; + double p_current[3]; + + if (pcouple == XYZ) { + double ave = THIRD * (tensor[0] + tensor[1] + tensor[2]); + p_current[0] = p_current[1] = p_current[2] = ave; + } else if (pcouple == XY) { + double ave = 0.5 * (tensor[0] + tensor[1]); + p_current[0] = p_current[1] = ave; + p_current[2] = tensor[2]; + } else if (pcouple == YZ) { + double ave = 0.5 * (tensor[1] + tensor[2]); + p_current[1] = p_current[2] = ave; + p_current[0] = tensor[0]; + } else if (pcouple == XZ) { + double ave = 0.5 * (tensor[0] + tensor[2]); + p_current[0] = p_current[2] = ave; + p_current[1] = tensor[1]; + } else { + if (set[0].style == PRESSURE) p_current[0] = tensor[0]; + else if (set[0].style == PMEAN) p_current[0] = scalar; + + if (set[1].style == PRESSURE) p_current[1] = tensor[1]; + else if (set[1].style == PMEAN) p_current[1] = scalar; + + if (set[2].style == PRESSURE) p_current[2] = tensor[2]; + else if (set[2].style == PMEAN) p_current[2] = scalar; + } + + for (int i = 0; i < 3; i++) { + if (set[i].style != PRESSURE && set[i].style != PMEAN) continue; + + h_rate[i] = set[i].pgain * (p_current[i] - set[i].ptarget); + + if (normalize_pressure_flag) { + if (set[i].ptarget == 0) { + if (max_h_rate == 0) { + error->all(FLERR, "Cannot normalize error for zero pressure without defining a max rate"); + } else h_rate[i] = max_h_rate * h_rate[i] / fabs(h_rate[i]); + } else h_rate[i] /= fabs(set[i].ptarget); + } + + if (max_h_rate != 0) + if (fabs(h_rate[i]) > max_h_rate) + h_rate[i] = max_h_rate * h_rate[i] / fabs(h_rate[i]); + + h_ratelo[i] = -0.5 * h_rate[i]; + + double offset = 0.5 * (domain->boxhi[i] - domain->boxlo[i]) * (1.0 + update->dt * h_rate[i]); + set[i].lo_target = 0.5 * (set[i].lo_start + set[i].hi_start) - offset; + set[i].hi_target = 0.5 * (set[i].lo_start + set[i].hi_start) + offset; + } + + for (int i = 3; i < 6; i++) { + if (set[i].style != PRESSURE) continue; + + double L, tilt, pcurrent; + if (i == 3) { + L = domain->zprd; + tilt = domain->yz; + pcurrent = tensor[5]; + } else if (i == 4) { + L = domain->zprd; + tilt = domain->xz + update->dt; + pcurrent = tensor[4]; + } else { + L = domain->yprd; + tilt = domain->xy; + pcurrent = tensor[3]; + } + + h_rate[i] = L * set[i].pgain * (pcurrent - set[i].ptarget); + if (normalize_pressure_flag) { + if (set[i].ptarget == 0) { + if (max_h_rate == 0) { + error->all(FLERR, "Cannot normalize error for zero pressure without defining a max rate"); + } else h_rate[i] = max_h_rate * h_rate[i] / fabs(h_rate[i]); + } else h_rate[i] /= fabs(set[i].ptarget); + } + + if (max_h_rate != 0) + if (fabs(h_rate[i]) > max_h_rate) + h_rate[i] = max_h_rate * h_rate[i] / fabs(h_rate[i]); + + set[i].tilt_target = tilt + update->dt * h_rate[i]; + } +} + +/* ---------------------------------------------------------------------- + set box size for VOLUME dimensions +------------------------------------------------------------------------- */ + +void FixDeformPressure::set_volume() +{ + double e1, e2; + int linked_pressure = 0; + + for (int i = 0; i < 3; i++) { + if (set[i].style != VOLUME) continue; + + int dynamic1 = set[i].dynamic1; + int dynamic2 = set[i].dynamic2; + int fixed = set[i].fixed; + double v0 = set[i].vol_start; + double shift; + + if (set[i].substyle == ONE_FROM_ONE) { + shift = 0.5 * (v0 / (set[dynamic1].hi_target - set[dynamic1].lo_target) / + (set[fixed].hi_start-set[fixed].lo_start)); + } else if (set[i].substyle == ONE_FROM_TWO) { + shift = 0.5 * (v0 / (set[dynamic1].hi_target - set[dynamic1].lo_target) / + (set[dynamic2].hi_target - set[dynamic2].lo_target)); + } else if (set[i].substyle == TWO_FROM_ONE) { + if (!vol_balance_flag) { + shift = 0.5 * sqrt(v0 * (set[i].hi_start - set[i].lo_start) / + (set[dynamic1].hi_target - set[dynamic1].lo_target) / + (set[fixed].hi_start - set[fixed].lo_start)); + } else { + double dt = update->dt; + double e1i = set[i].prior_rate; + double e2i = set[fixed].prior_rate; + double L1i = domain->boxhi[i] - domain->boxlo[i]; + double L2i = domain->boxhi[fixed] - domain->boxlo[fixed]; + double L3i = domain->boxhi[dynamic1] - domain->boxlo[dynamic1]; + double L3 = (set[dynamic1].hi_target - set[dynamic1].lo_target); + double Vi = L1i * L2i * L3i; + double V = L3 * L1i * L2i; + double e3 = (L3 / L3i - 1.0) / dt; + double p1 = pressure->vector[i]; + double p2 = pressure->vector[fixed]; + double p1i = set[i].prior_pressure; + double p2i = set[fixed].prior_pressure; + double denominator; + + if (e3 == 0) { + e1 = 0.0; + e2 = 0.0; + shift = 0.5 * L1i; + } else if (e1i == 0 || e2i == 0 || (p2 == p2i && p1 == p1i)) { + // If no prior strain or no change in pressure (initial step) just scale shift by relative box lengths + shift = 0.5 * sqrt(v0 * L1i / L3 / L2i); + } else { + if (!linked_pressure) { + // Calculate first strain rate by expanding stress to linear order, p1(t+dt) = p2(t+dt) + // Calculate second strain rate to preserve volume + denominator = p2 - p2i + e2i * ((p1 - p1i) / e1i); + if (denominator != 0.0 && e1i != 0.0) { + e1 = (((p2 - p2i) * (Vi - V) / (V * dt)) - e2i * (p1 - p2)) / denominator; + } else { + e1 = e2i; + } + e2 = (Vi - V * (1 + e1 * dt)) / (V * (1 + e1 * dt) * dt); + + // If strain rate exceeds limit in either dimension, cap it at the maximum compatible rate + if (max_h_rate != 0) + if (fabs(e1) > max_h_rate || fabs(e2) > max_h_rate) + if (fabs(e1) > fabs(e2)) + adjust_linked_rates(e1, e2, e3, Vi, V); + else + adjust_linked_rates(e2, e1, e3, Vi, V); + + + shift = 0.5 * L1i * (1.0 + e1 * dt); + linked_pressure = 1; + } else { + // Already calculated value of e2 + shift = 0.5 * L1i * (1.0 + e2 * dt); + } + } + } + } + + h_rate[i] = (2.0 * shift / (domain->boxhi[i] - domain->boxlo[i]) - 1.0) / update->dt; + h_ratelo[i] = -0.5 * h_rate[i]; + + set[i].lo_target = 0.5 * (set[i].lo_start + set[i].hi_start) - shift; + set[i].hi_target = 0.5 * (set[i].lo_start + set[i].hi_start) + shift; + } +} + + +/* ---------------------------------------------------------------------- + Rescale volume preserving strain rates to enforce max rate +------------------------------------------------------------------------- */ + +void FixDeformPressure::adjust_linked_rates(double &e_larger, double &e_smaller, double e3, double Vi, double V) +{ + double dt = update->dt; + double e_lim_positive = (Vi - V * (1 + max_h_rate * dt)) / (V * (1 + max_h_rate * dt) * dt); + double e_lim_negative = (Vi - V * (1 - max_h_rate * dt)) / (V * (1 - max_h_rate * dt) * dt); + if ((e_larger * e3) >= 0) { + if (e_larger > 0.0) { + // Same sign as primary strain rate, cap third dimension + e_smaller = -max_h_rate; + e_larger = e_lim_negative; + } else { + e_smaller = max_h_rate; + e_larger = e_lim_positive; + } + } else { + // Opposite sign, set to maxrate. + if (e_larger > 0.0) { + e_larger = max_h_rate; + e_smaller = e_lim_positive; + } else { + e_larger = -max_h_rate; + e_smaller = e_lim_negative; + } + } +} + +/* ---------------------------------------------------------------------- + apply isotropic controls +------------------------------------------------------------------------- */ + +void FixDeformPressure::set_iso() +{ + int i; + double scale, shift; + double v_rate; + + if (set[6].style == VOLUME) { + double v0 = set[6].vol_start; + double v = 1.0; + for (i = 0; i < 3; i++) + v *= (set[i].hi_target - set[i].lo_target); + + scale = std::pow(v0 / v, THIRD); + for (i = 0; i < 3; i++) { + shift = 0.5 * (set[i].hi_target - set[i].lo_target) * scale; + set[i].lo_target = 0.5 * (set[i].lo_start + set[i].hi_start) - shift; + set[i].hi_target = 0.5 * (set[i].lo_start + set[i].hi_start) + shift; + + // Recalculate h_rate + h_rate[i] = (set[i].hi_target - set[i].lo_target) / (domain->boxhi[i] - domain->boxlo[i]) - 1.0; + h_rate[i] /= update->dt; + h_ratelo[i] = -0.5 * h_rate[i]; + } + + } else if (set[6].style == PRESSURE) { + + // If variable pressure, calculate current target + if (set[6].pvar_flag) + set[6].ptarget = input->variable->compute_equal(set[6].pvar); + + v_rate = set[6].pgain * (pressure->scalar- set[6].ptarget); + + if (normalize_pressure_flag) { + if (set[6].ptarget == 0) { + if (max_h_rate == 0) { + error->all(FLERR, "Cannot normalize error for zero pressure without defining a max rate"); + } else v_rate = max_h_rate * v_rate / fabs(v_rate); + } else v_rate /= fabs(set[6].ptarget); + } + + if (max_h_rate != 0) + if (fabs(v_rate) > max_h_rate) + v_rate = max_h_rate * v_rate / fabs(v_rate); + + set[6].cumulative_strain += update->dt * v_rate; + scale = (1.0 + set[6].cumulative_strain); + for (i = 0; i < 3; i++) { + shift = 0.5 * (set[i].hi_target - set[i].lo_target) * scale; + set[i].lo_target = 0.5 * (set[i].lo_start + set[i].hi_start) - shift; + set[i].hi_target = 0.5 * (set[i].lo_start + set[i].hi_start) + shift; + + // Recalculate h_rate + h_rate[i] = (set[i].hi_target - set[i].lo_target) / (domain->boxhi[i] - domain->boxlo[i]) - 1.0; + h_rate[i] /= update->dt; + h_ratelo[i] = -0.5 * h_rate[i]; + } + } +} + +/* ---------------------------------------------------------------------- */ + +void FixDeformPressure::options(int narg, char **arg) +{ + if (narg < 0) error->all(FLERR, "Illegal fix deform/pressure command"); + + remapflag = Domain::X_REMAP; + scaleflag = 1; + flipflag = 1; + + pcouple = NOCOUPLE; + dimension = domain->dimension; + max_h_rate = 0.0; + vol_balance_flag = 0; + normalize_pressure_flag = 0; + + int index; + int iarg = 4; + while (iarg < narg) { + if (strcmp(arg[iarg], "x") == 0 || + strcmp(arg[iarg], "y") == 0 || + strcmp(arg[iarg], "z") == 0) { + + if (strcmp(arg[iarg], "x") == 0) index = 0; + else if (strcmp(arg[iarg], "y") == 0) index = 1; + else if (strcmp(arg[iarg], "z") == 0) index = 2; + + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure", error); + if (strcmp(arg[iarg + 1], "final") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure final", error); + set[index].style = FINAL; + set[index].flo = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + set[index].fhi = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + iarg += 4; + } else if (strcmp(arg[iarg + 1], "delta") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure delta", error); + set[index].style = DELTA; + set[index].dlo = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + set[index].dhi = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + iarg += 4; + } else if (strcmp(arg[iarg + 1], "scale") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure scale", error); + set[index].style = SCALE; + set[index].scale = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + iarg += 3; + } else if (strcmp(arg[iarg + 1], "vel") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure vel", error); + set[index].style = VEL; + set[index].vel = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + iarg += 3; + } else if (strcmp(arg[iarg + 1], "erate") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure erate", error); + set[index].style = ERATE; + set[index].rate = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + iarg += 3; + } else if (strcmp(arg[iarg + 1], "trate") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure trate", error); + set[index].style = TRATE; + set[index].rate = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + iarg += 3; + } else if (strcmp(arg[iarg + 1], "volume") == 0) { + set[index].style = VOLUME; + iarg += 2; + } else if (strcmp(arg[iarg + 1], "wiggle") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure wiggle", error); + set[index].style = WIGGLE; + set[index].amplitude = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + set[index].tperiod = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + if (set[index].tperiod <= 0.0) + error->all(FLERR, "Illegal fix deform/pressure wiggle period, must be positive"); + iarg += 4; + } else if (strcmp(arg[iarg + 1], "variable") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure variable", error); + set[index].style = VARIABLE; + if (strstr(arg[iarg + 2], "v_") != arg[iarg + 2]) + error->all(FLERR, "Illegal fix deform/pressure variable name {}", arg[iarg + 2]); + if (strstr(arg[iarg + 3], "v_") != arg[iarg + 3]) + error->all(FLERR, "Illegal fix deform/pressure variable name {}", arg[iarg + 3]); + delete[] set[index].hstr; + delete[] set[index].hratestr; + set[index].hstr = utils::strdup(&arg[iarg + 2][2]); + set[index].hratestr = utils::strdup(&arg[iarg + 3][2]); + iarg += 4; + } else if (strcmp(arg[iarg + 1], "pressure") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure pressure", error); + set[index].style = PRESSURE; + if (strstr(arg[iarg + 2], "v_") != arg[iarg + 2]) { + set[index].ptarget = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + } else { + set[index].pstr = utils::strdup(&arg[iarg + 2][2]); + set[index].pvar_flag = 1; + } + set[index].pgain = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + if (set[index].pgain <= 0.0) + error->all(FLERR, "Illegal fix deform/pressure pressure gain, must be positive"); + iarg += 4; + } else if (strcmp(arg[iarg + 1], "pressure/mean") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure pressure/mean", error); + set[index].style = PMEAN; + if (strstr(arg[iarg + 2], "v_") != arg[iarg + 2]) { + set[index].ptarget = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + } else { + set[index].pstr = utils::strdup(&arg[iarg + 2][2]); + set[index].pvar_flag = 1; + } + set[index].pgain = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + if (set[index].pgain <= 0.0) + error->all(FLERR, "Illegal fix deform/pressure pressure gain, must be positive"); + iarg += 4; + } else error->all(FLERR, "Illegal fix deform/pressure command argument: {}", arg[iarg + 1]); + + } else if (strcmp(arg[iarg], "xy") == 0 || + strcmp(arg[iarg], "xz") == 0 || + strcmp(arg[iarg], "yz") == 0) { + + if (triclinic == 0) + error->all(FLERR, "fix deform/pressure tilt factors require triclinic box"); + if (strcmp(arg[iarg], "xy") == 0) index = 5; + else if (strcmp(arg[iarg], "xz") == 0) index = 4; + else if (strcmp(arg[iarg], "yz") == 0) index = 3; + + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure", error); + if (strcmp(arg[iarg + 1], "final") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure final", error); + set[index].style = FINAL; + set[index].ftilt = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + iarg += 3; + } else if (strcmp(arg[iarg + 1], "delta") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure delta", error); + set[index].style = DELTA; + set[index].dtilt = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + iarg += 3; + } else if (strcmp(arg[iarg + 1], "vel") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure vel", error); + set[index].style = VEL; + set[index].vel = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + iarg += 3; + } else if (strcmp(arg[iarg + 1], "erate") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure erate", error); + set[index].style = ERATE; + set[index].rate = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + iarg += 3; + } else if (strcmp(arg[iarg + 1], "trate") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure trate", error); + set[index].style = TRATE; + set[index].rate = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + iarg += 3; + } else if (strcmp(arg[iarg + 1], "wiggle") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure wiggle", error); + set[index].style = WIGGLE; + set[index].amplitude = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + set[index].tperiod = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + if (set[index].tperiod <= 0.0) + error->all(FLERR, "Illegal fix deform/pressure wiggle period, must be positive"); + iarg += 4; + } else if (strcmp(arg[iarg + 1], "variable") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure variable", error); + set[index].style = VARIABLE; + if (strstr(arg[iarg + 2], "v_") != arg[iarg + 2]) + error->all(FLERR, "Illegal fix deform/pressure variable name {}", arg[iarg + 2]); + if (strstr(arg[iarg + 3], "v_") != arg[iarg + 3]) + error->all(FLERR, "Illegal fix deform/pressure variable name {}", arg[iarg + 3]); + delete[] set[index].hstr; + delete[] set[index].hratestr; + set[index].hstr = utils::strdup(&arg[iarg + 2][2]); + set[index].hratestr = utils::strdup(&arg[iarg + 3][2]); + iarg += 4; + } else if (strcmp(arg[iarg + 1], "pressure") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure pressure", error); + set[index].style = PRESSURE; + if (strstr(arg[iarg + 2], "v_") != arg[iarg + 2]) { + set[index].ptarget = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + } else { + set[index].pstr = utils::strdup(&arg[iarg + 2][2]); + set[index].pvar_flag = 1; + } + set[index].pgain = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + if (set[index].pgain <= 0.0) + error->all(FLERR, "Illegal fix deform/pressure pressure gain, must be positive"); + iarg += 4; + } else error->all(FLERR, "Illegal fix deform/pressure command: {}", arg[iarg + 1]); + } else if (strcmp(arg[iarg], "iso") == 0) { + index = 6; + if (strcmp(arg[iarg + 1], "volume") == 0) { + set[index].style = VOLUME; + iarg += 2; + } else if (strcmp(arg[iarg + 1], "pressure") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure pressure", error); + set[index].style = PRESSURE; + if (strstr(arg[iarg + 2], "v_") != arg[iarg + 2]) { + set[index].ptarget = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + } else { + set[index].pstr = utils::strdup(&arg[iarg + 2][2]); + set[index].pvar_flag = 1; + } + set[index].pgain = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + if (set[index].pgain <= 0.0) + error->all(FLERR, "Illegal fix deform/pressure pressure gain, must be positive"); + iarg += 4; + } + } else break; + } + + while (iarg < narg) { + if (strcmp(arg[iarg], "remap") == 0) { + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure remap", error); + if (strcmp(arg[iarg + 1], "x") == 0) remapflag = Domain::X_REMAP; + else if (strcmp(arg[iarg + 1], "v") == 0) remapflag = Domain::V_REMAP; + else if (strcmp(arg[iarg + 1], "none") == 0) remapflag = Domain::NO_REMAP; + else error->all(FLERR, "Illegal fix deform/pressure remap command: {}", arg[iarg + 1]); + iarg += 2; + } else if (strcmp(arg[iarg], "units") == 0) { + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure units", error); + if (strcmp(arg[iarg + 1], "box") == 0) scaleflag = 0; + else if (strcmp(arg[iarg + 1], "lattice") == 0) scaleflag = 1; + else error->all(FLERR, "Illegal fix deform/pressure units command: {}", arg[iarg + 1]); + iarg += 2; + } else if (strcmp(arg[iarg], "flip") == 0) { + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure flip", error); + flipflag = utils::logical(FLERR, arg[iarg + 1], false, lmp); + iarg += 2; + } else if (strcmp(arg[iarg], "couple") == 0) { + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure couple", error); + if (strcmp(arg[iarg + 1], "xyz") == 0) pcouple = XYZ; + else if (strcmp(arg[iarg + 1], "xy") == 0) pcouple = XY; + else if (strcmp(arg[iarg + 1], "yz") == 0) pcouple = YZ; + else if (strcmp(arg[iarg + 1], "xz") == 0) pcouple = XZ; + else if (strcmp(arg[iarg + 1], "none") == 0) pcouple = NOCOUPLE; + else error->all(FLERR, "Illegal fix fix deform/pressure couple command: {}", arg[iarg + 1]); + iarg += 2; + } else if (strcmp(arg[iarg], "max/rate") == 0) { + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure max/rate", error); + max_h_rate = utils::numeric(FLERR, arg[iarg + 1], false, lmp); + if (max_h_rate <= 0.0) + error->all(FLERR, "Maximum strain rate must be a positive, non-zero value"); + iarg += 2; + } else if (strcmp(arg[iarg], "normalize/pressure") == 0) { + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure normalize/pressure", error); + normalize_pressure_flag = utils::logical(FLERR, arg[iarg + 1], false, lmp); + iarg += 2; + } else if (strcmp(arg[iarg], "vol/balance/p") == 0) { + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure vol/balance/p", error); + vol_balance_flag = utils::logical(FLERR, arg[iarg + 1], false, lmp); + iarg += 2; + } else error->all(FLERR, "Illegal fix deform/pressure command: {}", arg[iarg]); + } + + if (dimension == 2) + if (pcouple == XYZ || pcouple == XZ || pcouple == YZ) + error->all(FLERR, "Cannot couple Z dimension in fix deform/pressure in 2D"); +} + +/* ---------------------------------------------------------------------- */ + +int FixDeformPressure::modify_param(int narg, char **arg) +{ + if (strcmp(arg[0], "temp") == 0) { + if (narg < 2) error->all(FLERR, "Illegal fix_modify command"); + if (tflag) { + modify->delete_compute(id_temp); + tflag = 0; + } + delete[] id_temp; + id_temp = utils::strdup(arg[1]); + + temperature = modify->get_compute_by_id(arg[1]); + if (!temperature) + error->all(FLERR, "Could not find fix_modify temperature compute ID: ", arg[1]); + + if (temperature->tempflag == 0) + error->all(FLERR, "Fix_modify temperature compute {} does not compute temperature", arg[1]); + if (temperature->igroup != 0 && comm->me == 0) + error->warning(FLERR, "Temperature compute {} for fix {} is not for group all: {}", + arg[1], style, group->names[temperature->igroup]); + + // reset id_temp of pressure to new temperature ID + + auto icompute = modify->get_compute_by_id(id_press); + if (!icompute) + error->all(FLERR, "Pressure compute ID {} for fix {} does not exist", id_press, style); + icompute->reset_extra_compute_fix(id_temp); + + return 2; + + } else if (strcmp(arg[0], "press") == 0) { + if (narg < 2) error->all(FLERR, "Illegal fix_modify command"); + if (pflag) { + modify->delete_compute(id_press); + pflag = 0; + } + delete[] id_press; + id_press = utils::strdup(arg[1]); + + pressure = modify->get_compute_by_id(arg[1]); + if (!pressure) error->all(FLERR, "Could not find fix_modify pressure compute ID: {}", arg[1]); + if (pressure->pressflag == 0) + error->all(FLERR, "Fix_modify pressure compute {} does not compute pressure", arg[1]); + return 2; + } + + return 0; +} diff --git a/src/EXTRA-FIX/fix_deform_pressure.h b/src/EXTRA-FIX/fix_deform_pressure.h new file mode 100644 index 0000000000..d3a05d949d --- /dev/null +++ b/src/EXTRA-FIX/fix_deform_pressure.h @@ -0,0 +1,60 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS +// clang-format off +FixStyle(deform/pressure,FixDeformPressure); +// clang-format on +#else + +#ifndef LMP_FIX_DEFORM_PRESSURE_H +#define LMP_FIX_DEFORM_PRESSURE_H + +#include "fix_deform.h" + +namespace LAMMPS_NS { + +class FixDeformPressure : public FixDeform { + public: + FixDeformPressure(class LAMMPS *, int, char **); + ~FixDeformPressure() override; + void init() override; + void setup(int) override; + void end_of_step() override; + int modify_param(int, char **) override; + + protected: + int pcouple, dimension; + double *h_rate, *h_ratelo, max_h_rate; + int strain_flag; // 1 if strain-based option is used, 0 if not + int pressure_flag; // 1 if pressure tensor used, 0 if not + int volume_flag; // 1 if VOLUME option is used, 0 if not + int normalize_pressure_flag; // 1 if normalize pressure deviation by target + int vol_balance_flag; // 1 if pressures balanced when maintaining const vol + + char *id_temp, *id_press; + class Compute *temperature, *pressure; + int tflag, pflag; + + void options(int, char **); + void set_pressure(); + void set_volume(); + void set_iso(); + void couple(); + void adjust_linked_rates(double&, double&, double, double, double); +}; + +} // namespace LAMMPS_NS + +#endif +#endif diff --git a/src/fix_deform.cpp b/src/fix_deform.cpp index 3430c26061..0bd392367f 100644 --- a/src/fix_deform.cpp +++ b/src/fix_deform.cpp @@ -20,11 +20,9 @@ #include "atom.h" #include "comm.h" -#include "compute.h" #include "domain.h" #include "error.h" #include "force.h" -#include "group.h" #include "input.h" #include "irregular.h" #include "kspace.h" @@ -41,292 +39,37 @@ using namespace LAMMPS_NS; using namespace FixConst; using namespace MathConst; -enum{NONE=0,FINAL,DELTA,SCALE,VEL,ERATE,TRATE,VOLUME,WIGGLE,VARIABLE,PRESSURE,PMEAN}; +enum{NONE=0,FINAL,DELTA,SCALE,VEL,ERATE,TRATE,VOLUME,WIGGLE,VARIABLE}; enum{ONE_FROM_ONE,ONE_FROM_TWO,TWO_FROM_ONE}; -enum{NOCOUPLE=0,XYZ,XY,YZ,XZ}; /* ---------------------------------------------------------------------- */ FixDeform::FixDeform(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), -irregular(nullptr), set(nullptr), id_temp(nullptr), id_press(nullptr) +irregular(nullptr), set(nullptr) { - if (narg < 4) error->all(FLERR,"Illegal fix deform command"); + if (narg < 4) error->all(FLERR, "Illegal fix deform command"); no_change_box = 1; restart_global = 1; pre_exchange_migrate = 1; - pcouple = NOCOUPLE; - dimension = domain->dimension; - max_h_rate = 0.0; - vol_balance_flag = 0; - normalize_pressure_flag = 0; - nevery = utils::inumeric(FLERR,arg[3],false,lmp); - if (nevery <= 0) error->all(FLERR,"Illegal fix deform command"); + nevery = utils::inumeric(FLERR, arg[3], false, lmp); + if (nevery <= 0) error->all(FLERR, "Illegal fix deform command"); // set defaults set = new Set[7]; - memset(set,0,7*sizeof(Set)); + memset(set, 0, 7 * sizeof(Set)); // parse arguments triclinic = domain->triclinic; + options(narg, arg); - int index; - int iarg = 4; - while (iarg < narg) { - if (strcmp(arg[iarg],"x") == 0 || - strcmp(arg[iarg],"y") == 0 || - strcmp(arg[iarg],"z") == 0) { - - if (strcmp(arg[iarg],"x") == 0) index = 0; - else if (strcmp(arg[iarg],"y") == 0) index = 1; - else if (strcmp(arg[iarg],"z") == 0) index = 2; - - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix deform", error); - if (strcmp(arg[iarg+1],"final") == 0) { - if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix deform final", error); - set[index].style = FINAL; - set[index].flo = utils::numeric(FLERR,arg[iarg+2],false,lmp); - set[index].fhi = utils::numeric(FLERR,arg[iarg+3],false,lmp); - iarg += 4; - } else if (strcmp(arg[iarg+1],"delta") == 0) { - if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix deform delta", error); - set[index].style = DELTA; - set[index].dlo = utils::numeric(FLERR,arg[iarg+2],false,lmp); - set[index].dhi = utils::numeric(FLERR,arg[iarg+3],false,lmp); - iarg += 4; - } else if (strcmp(arg[iarg+1],"scale") == 0) { - if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "fix deform scale", error); - set[index].style = SCALE; - set[index].scale = utils::numeric(FLERR,arg[iarg+2],false,lmp); - iarg += 3; - } else if (strcmp(arg[iarg+1],"vel") == 0) { - if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "fix deform vel", error); - set[index].style = VEL; - set[index].vel = utils::numeric(FLERR,arg[iarg+2],false,lmp); - iarg += 3; - } else if (strcmp(arg[iarg+1],"erate") == 0) { - if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "fix deform erate", error); - set[index].style = ERATE; - set[index].rate = utils::numeric(FLERR,arg[iarg+2],false,lmp); - iarg += 3; - } else if (strcmp(arg[iarg+1],"trate") == 0) { - if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "fix deform trate", error); - set[index].style = TRATE; - set[index].rate = utils::numeric(FLERR,arg[iarg+2],false,lmp); - iarg += 3; - } else if (strcmp(arg[iarg+1],"volume") == 0) { - set[index].style = VOLUME; - iarg += 2; - } else if (strcmp(arg[iarg+1],"wiggle") == 0) { - if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix deform wiggle", error); - set[index].style = WIGGLE; - set[index].amplitude = utils::numeric(FLERR,arg[iarg+2],false,lmp); - set[index].tperiod = utils::numeric(FLERR,arg[iarg+3],false,lmp); - if (set[index].tperiod <= 0.0) - error->all(FLERR,"Illegal fix deform wiggle period, must be positive"); - iarg += 4; - } else if (strcmp(arg[iarg+1],"variable") == 0) { - if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix deform variable", error); - set[index].style = VARIABLE; - if (strstr(arg[iarg+2],"v_") != arg[iarg+2]) - error->all(FLERR,"Illegal fix deform variable name {}", arg[iarg+2]); - if (strstr(arg[iarg+3],"v_") != arg[iarg+3]) - error->all(FLERR,"Illegal fix deform variable name {}", arg[iarg+3]); - delete[] set[index].hstr; - delete[] set[index].hratestr; - set[index].hstr = utils::strdup(&arg[iarg+2][2]); - set[index].hratestr = utils::strdup(&arg[iarg+3][2]); - iarg += 4; - } else if (strcmp(arg[iarg+1],"pressure") == 0) { - if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix deform pressure", error); - set[index].style = PRESSURE; - if (strstr(arg[iarg+2],"v_") != arg[iarg+2]) { - set[index].ptarget = utils::numeric(FLERR,arg[iarg+2],false,lmp); - } else { - set[index].pstr = utils::strdup(&arg[iarg+2][2]); - set[index].pvar_flag = 1; - } - set[index].pgain = utils::numeric(FLERR,arg[iarg+3],false,lmp); - if (set[index].pgain <= 0.0) - error->all(FLERR,"Illegal fix deform pressure gain, must be positive"); - iarg += 4; - } else if (strcmp(arg[iarg+1],"pressure/mean") == 0) { - if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix deform pressure/mean", error); - set[index].style = PMEAN; - if (strstr(arg[iarg+2],"v_") != arg[iarg+2]) { - set[index].ptarget = utils::numeric(FLERR,arg[iarg+2],false,lmp); - } else { - set[index].pstr = utils::strdup(&arg[iarg+2][2]); - set[index].pvar_flag = 1; - } - set[index].pgain = utils::numeric(FLERR,arg[iarg+3],false,lmp); - if (set[index].pgain <= 0.0) - error->all(FLERR,"Illegal fix deform pressure gain, must be positive"); - iarg += 4; - } else error->all(FLERR,"Illegal fix deform command argument: {}", arg[iarg+1]); - - } else if (strcmp(arg[iarg],"xy") == 0 || - strcmp(arg[iarg],"xz") == 0 || - strcmp(arg[iarg],"yz") == 0) { - - if (triclinic == 0) - error->all(FLERR,"Fix deform tilt factors require triclinic box"); - if (strcmp(arg[iarg],"xy") == 0) index = 5; - else if (strcmp(arg[iarg],"xz") == 0) index = 4; - else if (strcmp(arg[iarg],"yz") == 0) index = 3; - - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix deform", error); - if (strcmp(arg[iarg+1],"final") == 0) { - if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "fix deform final", error); - set[index].style = FINAL; - set[index].ftilt = utils::numeric(FLERR,arg[iarg+2],false,lmp); - iarg += 3; - } else if (strcmp(arg[iarg+1],"delta") == 0) { - if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "fix deform delta", error); - set[index].style = DELTA; - set[index].dtilt = utils::numeric(FLERR,arg[iarg+2],false,lmp); - iarg += 3; - } else if (strcmp(arg[iarg+1],"vel") == 0) { - if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "fix deform vel", error); - set[index].style = VEL; - set[index].vel = utils::numeric(FLERR,arg[iarg+2],false,lmp); - iarg += 3; - } else if (strcmp(arg[iarg+1],"erate") == 0) { - if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "fix deform erate", error); - set[index].style = ERATE; - set[index].rate = utils::numeric(FLERR,arg[iarg+2],false,lmp); - iarg += 3; - } else if (strcmp(arg[iarg+1],"trate") == 0) { - if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "fix deform trate", error); - set[index].style = TRATE; - set[index].rate = utils::numeric(FLERR,arg[iarg+2],false,lmp); - iarg += 3; - } else if (strcmp(arg[iarg+1],"wiggle") == 0) { - if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix deform wiggle", error); - set[index].style = WIGGLE; - set[index].amplitude = utils::numeric(FLERR,arg[iarg+2],false,lmp); - set[index].tperiod = utils::numeric(FLERR,arg[iarg+3],false,lmp); - if (set[index].tperiod <= 0.0) - error->all(FLERR,"Illegal fix deform wiggle period, must be positive"); - iarg += 4; - } else if (strcmp(arg[iarg+1],"variable") == 0) { - if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix deform variable", error); - set[index].style = VARIABLE; - if (strstr(arg[iarg+2],"v_") != arg[iarg+2]) - error->all(FLERR,"Illegal fix deform variable name {}", arg[iarg+2]); - if (strstr(arg[iarg+3],"v_") != arg[iarg+3]) - error->all(FLERR,"Illegal fix deform variable name {}", arg[iarg+3]); - delete[] set[index].hstr; - delete[] set[index].hratestr; - set[index].hstr = utils::strdup(&arg[iarg+2][2]); - set[index].hratestr = utils::strdup(&arg[iarg+3][2]); - iarg += 4; - } else if (strcmp(arg[iarg+1],"pressure") == 0) { - if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix deform pressure", error); - set[index].style = PRESSURE; - if (strstr(arg[iarg+2],"v_") != arg[iarg+2]) { - set[index].ptarget = utils::numeric(FLERR,arg[iarg+2],false,lmp); - } else { - set[index].pstr = utils::strdup(&arg[iarg+2][2]); - set[index].pvar_flag = 1; - } - set[index].pgain = utils::numeric(FLERR,arg[iarg+3],false,lmp); - if (set[index].pgain <= 0.0) - error->all(FLERR,"Illegal fix deform pressure gain, must be positive"); - iarg += 4; - } else error->all(FLERR,"Illegal fix deform command: {}", arg[iarg+1]); - } else if (strcmp(arg[iarg],"iso") == 0) { - index = 6; - if (strcmp(arg[iarg+1],"volume") == 0) { - set[index].style = VOLUME; - iarg += 2; - } else if (strcmp(arg[iarg+1],"pressure") == 0) { - if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix deform pressure", error); - set[index].style = PRESSURE; - if (strstr(arg[iarg+2],"v_") != arg[iarg+2]) { - set[index].ptarget = utils::numeric(FLERR,arg[iarg+2],false,lmp); - } else { - set[index].pstr = utils::strdup(&arg[iarg+2][2]); - set[index].pvar_flag = 1; - } - set[index].pgain = utils::numeric(FLERR,arg[iarg+3],false,lmp); - if (set[index].pgain <= 0.0) - error->all(FLERR,"Illegal fix deform pressure gain, must be positive"); - iarg += 4; - } - } else break; - } - - // read options from end of input line // no x remap effectively moves atoms within box, so set restart_pbc - options(narg-iarg,&arg[iarg]); if (remapflag != Domain::X_REMAP) restart_pbc = 1; - // populate coupled pressure controls - - if (pcouple != NOCOUPLE) { - int coupled_indices[3] = {0}; - int j = -1; - double couple_gain, coupled_pressure; - char *couple_str; - - if (pcouple == XYZ || pcouple == XY || pcouple == XZ) - coupled_indices[0] = 1; - if (pcouple == XYZ || pcouple == XY || pcouple == YZ) - coupled_indices[1] = 1; - if (pcouple == XYZ || pcouple == XZ || pcouple == YZ) - coupled_indices[2] = 1; - - // Check coupled styles and find reference - for (int i = 0; i < 3; i++) { - if (coupled_indices[i]) { - set[i].coupled_flag = 1; - if (set[i].style != PRESSURE && set[i].style != NONE) - error->all(FLERR, "Cannot couple non-pressure-controlled dimensions"); - if (set[i].style == PRESSURE) - j = i; - } - } - - if (j == -1) - error->all(FLERR, "Must specify deformation style for at least one coupled dimension"); - - // Copy or compare data for each coupled dimension - for (int i = 0; i < 3; i++) { - if (coupled_indices[i]) { - // Copy coupling information if dimension style is undefined - if (set[i].style == NONE) { - set[i].style = PRESSURE; - set[i].pgain = set[j].pgain; - if (set[j].pvar_flag) { - set[i].pstr = set[j].pstr; - set[i].pvar_flag = 1; - } else { - set[i].ptarget = set[j].ptarget; - } - } else { - // Check for incompatibilities in style - if (set[j].style != set[i].style && set[i].style != NONE) - error->all(FLERR, "Cannot couple dimensions with different control options"); - if (set[j].style != PRESSURE) continue; - - // If pressure controlled, check for incompatibilities in parameters - if (set[i].pgain != set[j].pgain || set[i].pvar_flag != set[j].pvar_flag || - set[i].ptarget != set[j].ptarget) - error->all(FLERR, "Coupled dimensions must have identical gain parameters"); - - if (set[j].pvar_flag) - if (strcmp(set[i].pstr, set[j].pstr) != 0) - error->all(FLERR, "Coupled dimensions must have the same target pressure"); - } - } - } - } - // setup dimflags used by other classes to check for volume-change conflicts for (int i = 0; i < 6; i++) @@ -351,17 +94,17 @@ irregular(nullptr), set(nullptr), id_temp(nullptr), id_press(nullptr) for (int i = 0; i < 3; i++) if ((set[i].style || set[6].style) && (domain->boundary[i][0] >= 2 || domain->boundary[i][1] >= 2)) - error->all(FLERR,"Cannot use fix deform on a shrink-wrapped boundary"); + error->all(FLERR, "Cannot use fix deform on a shrink-wrapped boundary"); // no tilt deformation on shrink-wrapped 2nd dim // b/c shrink wrap will change tilt factor in domain::reset_box() if (set[3].style && (domain->boundary[2][0] >= 2 || domain->boundary[2][1] >= 2)) - error->all(FLERR,"Cannot use fix deform tilt on a shrink-wrapped 2nd dim"); + error->all(FLERR, "Cannot use fix deform tilt on a shrink-wrapped 2nd dim"); if (set[4].style && (domain->boundary[2][0] >= 2 || domain->boundary[2][1] >= 2)) - error->all(FLERR,"Cannot use fix deform tilt on a shrink-wrapped 2nd dim"); + error->all(FLERR, "Cannot use fix deform tilt on a shrink-wrapped 2nd dim"); if (set[5].style && (domain->boundary[1][0] >= 2 || domain->boundary[1][1] >= 2)) - error->all(FLERR,"Cannot use fix deform tilt on a shrink-wrapped 2nd dim"); + error->all(FLERR, "Cannot use fix deform tilt on a shrink-wrapped 2nd dim"); // apply scaling to FINAL,DELTA,VEL,WIGGLE since they have dist/vel units @@ -408,17 +151,15 @@ irregular(nullptr), set(nullptr), id_temp(nullptr), id_press(nullptr) // for VOLUME, setup links to other dims // fixed, dynamic1, dynamic2 - volume_flag = 0; for (int i = 0; i < 3; i++) { if (set[i].style != VOLUME) continue; - volume_flag = 1; - int other1 = (i+1) % 3; - int other2 = (i+2) % 3; + int other1 = (i + 1) % 3; + int other2 = (i + 2) % 3; // Cannot use VOLUME option without at least one deformed dimension if (set[other1].style == NONE || set[other1].style == VOLUME) if (set[other2].style == NONE || set[other2].style == VOLUME) - error->all(FLERR,"Fix deform volume setting is invalid"); + error->all(FLERR, "Fix deform volume setting is invalid"); if (set[other1].style == NONE) { set[i].substyle = ONE_FROM_ONE; @@ -441,19 +182,8 @@ irregular(nullptr), set(nullptr), id_temp(nullptr), id_press(nullptr) set[i].dynamic1 = other1; set[i].dynamic2 = other2; } - - if (vol_balance_flag && set[i].substyle != TWO_FROM_ONE) - error->all(FLERR, "Two dimensions must maintain constant volume to use the vol/balance/p option"); } - // set strain_flag - - strain_flag = 0; - for (int i = 0; i < 6; i++) - if (set[i].style != NONE && set[i].style != VOLUME && - set[i].style != PRESSURE && set[i].style != PMEAN) - strain_flag = 1; - // set varflag varflag = 0; @@ -462,38 +192,6 @@ irregular(nullptr), set(nullptr), id_temp(nullptr), id_press(nullptr) if (set[i].pvar_flag) varflag = 1; } - // set pressure_flag - - pressure_flag = 0; - for (int i = 0; i < 7; i++) { - if (set[i].style == PRESSURE || set[i].style == PMEAN) pressure_flag = 1; - if (set[i].coupled_flag) pressure_flag = 1; - } - if (vol_balance_flag) pressure_flag = 1; - - // check conflict between constant volume/pressure - - if (volume_flag) - for (int i = 0; i < 6; i++) - if (set[i].style == PMEAN) - error->all(FLERR, "Cannot use fix deform to assign constant volume and pressure"); - - // check conflicts between x,y,z styles and iso - - if (set[6].style) - for (int i = 0; i < 3; i++) { - if (set[i].style == FINAL || set[i].style == DELTA || set[i].style == SCALE || set[i].style == PMEAN || set[i].style == VARIABLE) - error->all(FLERR, "Cannot use fix deform iso parameter with x, y, or z styles other than vel, erate, trate, pressure, and wiggle"); - } - - // check pressure used for max rate and normalize error flag - - if (!pressure_flag && max_h_rate != 0) - error->all(FLERR, "Can only assign a maximum strain rate using pressure-controlled dimensions"); - - if (!pressure_flag && normalize_pressure_flag) - error->all(FLERR, "Can only normalize error using pressure-controlled dimensions"); - // set initial values at time fix deform is issued for (int i = 0; i < 3; i++) { @@ -517,29 +215,6 @@ irregular(nullptr), set(nullptr), id_temp(nullptr), id_press(nullptr) if (force_reneighbor) irregular = new Irregular(lmp); else irregular = nullptr; - // Create pressure compute, if needed - - pflag = 0; - tflag = 0; - if (pressure_flag) { - // create a new compute temp style - // id = fix-ID + temp - // compute group = all since pressure is always global (group all) - // and thus its KE/temperature contribution should use group all - - id_temp = utils::strdup(std::string(id) + "_temp"); - modify->add_compute(fmt::format("{} all temp",id_temp)); - tflag = 1; - - // create a new compute pressure style - // id = fix-ID + press, compute group = all - // pass id_temp as 4th arg to pressure constructor - - id_press = utils::strdup(std::string(id) + "_press"); - modify->add_compute(fmt::format("{} all pressure {}",id_press, id_temp)); - pflag = 1; - } - // initialize all rates to 0.0 in constructor instead of init so values persist // across run statements and ghosts have correct velocities until the destructor h_rate = domain->h_rate; @@ -574,13 +249,6 @@ FixDeform::~FixDeform() h_rate[0] = h_rate[1] = h_rate[2] = h_rate[3] = h_rate[4] = h_rate[5] = 0.0; h_ratelo[0] = h_ratelo[1] = h_ratelo[2] = 0.0; - - // delete temperature and pressure if fix created them - - if (tflag) modify->delete_compute(id_temp); - if (pflag) modify->delete_compute(id_press); - delete [] id_temp; - delete [] id_press; } /* ---------------------------------------------------------------------- */ @@ -601,7 +269,7 @@ void FixDeform::init() // domain, fix nvt/sllod, compute temp/deform only work on single h_rate if (modify->get_fix_by_style("deform").size() > 1) - error->all(FLERR,"More than one fix deform"); + error->all(FLERR, "More than one fix deform"); // Kspace setting @@ -618,25 +286,14 @@ void FixDeform::init() if (set[i].style != VARIABLE) continue; set[i].hvar = input->variable->find(set[i].hstr); if (set[i].hvar < 0) - error->all(FLERR,"Variable name {} for fix deform does not exist", set[i].hstr); + error->all(FLERR, "Variable name {} for fix deform does not exist", set[i].hstr); if (!input->variable->equalstyle(set[i].hvar)) - error->all(FLERR,"Variable {} for fix deform is invalid style", set[i].hstr); + error->all(FLERR, "Variable {} for fix deform is invalid style", set[i].hstr); set[i].hratevar = input->variable->find(set[i].hratestr); if (set[i].hratevar < 0) - error->all(FLERR,"Variable name {} for fix deform does not exist", set[i].hratestr); + error->all(FLERR, "Variable name {} for fix deform does not exist", set[i].hratestr); if (!input->variable->equalstyle(set[i].hratevar)) - error->all(FLERR,"Variable {} for fix deform is invalid style", set[i].hratestr); - } - - // check optional variables for PRESSURE or PMEAN style - - for (int i = 0; i < 7; i++) { - if (!set[i].pvar_flag) continue; - set[i].pvar = input->variable->find(set[i].pstr); - if (set[i].pvar < 0) - error->all(FLERR,"Variable name {} for fix deform does not exist", set[i].pstr); - if (!input->variable->equalstyle(set[i].pvar)) - error->all(FLERR,"Variable {} for fix deform is invalid style", set[i].pstr); + error->all(FLERR, "Variable {} for fix deform is invalid style", set[i].hratestr); } // set start/stop values for box size and shape @@ -674,7 +331,7 @@ void FixDeform::init() set[i].lo_stop = set[i].lo_start - shift; set[i].hi_stop = set[i].hi_start + shift; if (set[i].hi_stop <= set[i].lo_stop) - error->all(FLERR,"Final box dimension due to fix deform is < 0.0"); + error->all(FLERR, "Final box dimension due to fix deform is < 0.0"); } else if (set[i].style == TRATE) { double shift = 0.5 * ((set[i].hi_start - set[i].lo_start) * exp(set[i].rate * delt)); set[i].lo_stop = 0.5 * (set[i].lo_start + set[i].hi_start) - shift; @@ -752,22 +409,22 @@ void FixDeform::init() for (int i = 3; i < 6; i++) if (set[i].style == TRATE && set[i].tilt_start == 0.0) - error->all(FLERR,"Cannot use fix deform trate on a box with zero tilt"); + error->all(FLERR, "Cannot use fix deform trate on a box with zero tilt"); // if yz changes and will cause box flip, then xy cannot be changing // yz = [3], xy = [5] // this is b/c the flips would induce continuous changes in xz // in order to keep the edge vectors of the flipped shape matrix // an integer combination of the edge vectors of the unflipped shape matrix - // VARIABLE or PRESSURE for yz is error, since no way to calculate if box flip occurs + // VARIABLE for yz is error, since no way to calculate if box flip occurs // WIGGLE lo/hi flip test is on min/max oscillation limit, not tilt_stop // only trigger actual errors if flipflag is set if (set[3].style && set[5].style) { int flag = 0; double lo,hi; - if (flipflag && (set[3].style == VARIABLE || set[3].style == PRESSURE)) - error->all(FLERR,"Fix deform cannot use yz variable or pressure with xy"); + if (flipflag && set[3].style == VARIABLE) + error->all(FLERR, "Fix deform cannot use yz variable with xy"); if (set[3].style == WIGGLE) { lo = set[3].tilt_min; hi = set[3].tilt_max; @@ -780,13 +437,12 @@ void FixDeform::init() hi / (set[1].hi_stop - set[1].lo_stop) > 0.5) flag = 1; } if (flag) - error->all(FLERR,"Fix deform is changing yz too much with xy"); + error->all(FLERR, "Fix deform is changing yz too much with xy"); } } // set domain->h_rate values for use by domain and other fixes/computes - // cannot set here for TRATE,VOLUME,WIGGLE,VARIABLE,PRESSURE since not constant - // if iso style is used, these will also not be constant + // cannot set here for TRATE,VOLUME,WIGGLE,VARIABLE since not constant for (int i = 0; i < 3; i++) { if (set[i].style == FINAL || set[i].style == DELTA || @@ -818,28 +474,6 @@ void FixDeform::init() for (auto ifix : modify->get_fix_list()) if (ifix->rigid_flag) rfix.push_back(ifix); - - // Find pressure/temp computes if needed - - if (pressure_flag) { - int icompute = modify->find_compute(id_temp); - if (icompute < 0) error->all(FLERR,"Temperature ID for fix deform does not exist"); - temperature = modify->compute[icompute]; - - icompute = modify->find_compute(id_press); - if (icompute < 0) error->all(FLERR,"Pressure ID for fix deform does not exist"); - pressure = modify->compute[icompute]; - } -} - -/* ---------------------------------------------------------------------- - compute T,P if needed before integrator starts -------------------------------------------------------------------------- */ - -void FixDeform::setup(int /*vflag*/) -{ - // trigger virial computation on next timestep - if (pressure_flag) pressure->addstep(update->ntimestep+1); } /* ---------------------------------------------------------------------- @@ -862,7 +496,7 @@ void FixDeform::pre_exchange() domain->set_global_box(); domain->set_local_box(); - domain->image_flip(flipxy,flipxz,flipyz); + domain->image_flip(flipxy, flipxz, flipyz); double **x = atom->x; imageint *image = atom->image; @@ -888,43 +522,146 @@ void FixDeform::end_of_step() set_strain(); - // set new box size for pressure-based dims - - if (pressure_flag) { - temperature->compute_vector(); - pressure->compute_vector(); - pressure->compute_scalar(); - for (int i = 0; i < 3; i++) { - if (!set[i].saved) { - set[i].saved = 1; - set[i].prior_rate = 0.0; - set[i].prior_pressure = pressure->vector[i]; - } - } - set_pressure(); - } - // set new box size for VOLUME dims that are linked to other dims // NOTE: still need to set h_rate for these dims - if (volume_flag) set_volume(); - - // apply any final isotropic scalings - - if (set[6].style) set_iso(); - - // Save pressure/strain rate if required - - if (pressure_flag) { - for (int i = 0; i < 3; i++) { - set[i].prior_pressure = pressure->vector[i]; - set[i].prior_rate = ((set[i].hi_target - set[i].lo_target) / - (domain->boxhi[i] - domain->boxlo[i]) - 1.0) / update->dt; - } - } + set_volume(); if (varflag) modify->addstep_compute(update->ntimestep + nevery); + apply_deformation(); + + // redo KSpace coeffs since box has changed + + if (kspace_flag) force->kspace->setup(); +} + +/* ---------------------------------------------------------------------- + set box size for strain-based dimensions +------------------------------------------------------------------------- */ + +void FixDeform::set_strain() +{ + // for NONE, target is current box size + // for TRATE, set target directly based on current time, also set h_rate + // for WIGGLE, set target directly based on current time, also set h_rate + // for VARIABLE, set target directly via variable eval, also set h_rate + // for others except VOLUME, target is linear value between start and stop + + double delta = update->ntimestep - update->beginstep; + if (delta != 0.0) delta /= update->endstep - update->beginstep; + + for (int i = 0; i < 3; i++) { + if (set[i].style == NONE) { + set[i].lo_target = domain->boxlo[i]; + set[i].hi_target = domain->boxhi[i]; + } else if (set[i].style == TRATE) { + double delt = (update->ntimestep - update->beginstep) * update->dt; + double shift = 0.5 * ((set[i].hi_start - set[i].lo_start) * exp(set[i].rate * delt)); + set[i].lo_target = 0.5 * (set[i].lo_start + set[i].hi_start) - shift; + set[i].hi_target = 0.5 * (set[i].lo_start + set[i].hi_start) + shift; + h_rate[i] = set[i].rate * domain->h[i]; + h_ratelo[i] = -0.5 * h_rate[i]; + } else if (set[i].style == WIGGLE) { + double delt = (update->ntimestep - update->beginstep) * update->dt; + double shift = 0.5 * set[i].amplitude * sin(MY_2PI * delt / set[i].tperiod); + set[i].lo_target = set[i].lo_start - shift; + set[i].hi_target = set[i].hi_start + shift; + h_rate[i] = MY_2PI / set[i].tperiod * set[i].amplitude * + cos(MY_2PI * delt / set[i].tperiod); + h_ratelo[i] = -0.5 * h_rate[i]; + } else if (set[i].style == VARIABLE) { + double del = input->variable->compute_equal(set[i].hvar); + set[i].lo_target = set[i].lo_start - 0.5 * del; + set[i].hi_target = set[i].hi_start + 0.5 * del; + h_rate[i] = input->variable->compute_equal(set[i].hratevar); + h_ratelo[i] = -0.5 * h_rate[i]; + } else if (set[i].style == FINAL || set[i].style == DELTA || set[i].style == SCALE || + set[i].style == VEL || set[i].style == ERATE) { + set[i].lo_target = set[i].lo_start + delta * (set[i].lo_stop - set[i].lo_start); + set[i].hi_target = set[i].hi_start + delta * (set[i].hi_stop - set[i].hi_start); + } + } + + // for triclinic, set new box shape + // for NONE, target is current tilt + // for TRATE, set target directly based on current time. also set h_rate + // for WIGGLE, set target directly based on current time. also set h_rate + // for VARIABLE, set target directly via variable eval. also set h_rate + // for other styles, target is linear value between start and stop values + + if (triclinic) { + double *h = domain->h; + + for (int i = 3; i < 6; i++) { + if (set[i].style == NONE) { + if (i == 5) set[i].tilt_target = domain->xy; + else if (i == 4) set[i].tilt_target = domain->xz; + else if (i == 3) set[i].tilt_target = domain->yz; + } else if (set[i].style == TRATE) { + double delt = (update->ntimestep - update->beginstep) * update->dt; + set[i].tilt_target = set[i].tilt_start * exp(set[i].rate * delt); + h_rate[i] = set[i].rate * domain->h[i]; + } else if (set[i].style == WIGGLE) { + double delt = (update->ntimestep - update->beginstep) * update->dt; + set[i].tilt_target = set[i].tilt_start + + set[i].amplitude * sin(MY_2PI * delt / set[i].tperiod); + h_rate[i] = MY_2PI / set[i].tperiod * set[i].amplitude * + cos(MY_2PI * delt / set[i].tperiod); + } else if (set[i].style == VARIABLE) { + double delta_tilt = input->variable->compute_equal(set[i].hvar); + set[i].tilt_target = set[i].tilt_start + delta_tilt; + h_rate[i] = input->variable->compute_equal(set[i].hratevar); + } else { + set[i].tilt_target = set[i].tilt_start + delta * (set[i].tilt_stop - set[i].tilt_start); + } + } + } +} + +/* ---------------------------------------------------------------------- + set box size for VOLUME dimensions +------------------------------------------------------------------------- */ + +void FixDeform::set_volume() +{ + double e1, e2; + + for (int i = 0; i < 3; i++) { + if (set[i].style != VOLUME) continue; + + int dynamic1 = set[i].dynamic1; + int dynamic2 = set[i].dynamic2; + int fixed = set[i].fixed; + double v0 = set[i].vol_start; + double shift; + + if (set[i].substyle == ONE_FROM_ONE) { + shift = 0.5 * (v0 / (set[dynamic1].hi_target - set[dynamic1].lo_target) / + (set[fixed].hi_start-set[fixed].lo_start)); + } else if (set[i].substyle == ONE_FROM_TWO) { + shift = 0.5 * (v0 / (set[dynamic1].hi_target - set[dynamic1].lo_target) / + (set[dynamic2].hi_target - set[dynamic2].lo_target)); + } else if (set[i].substyle == TWO_FROM_ONE) { + shift = 0.5 * sqrt(v0 * (set[i].hi_start - set[i].lo_start) / + (set[dynamic1].hi_target - set[dynamic1].lo_target) / + (set[fixed].hi_start - set[fixed].lo_start)); + } + + h_rate[i] = (2.0 * shift / (domain->boxhi[i] - domain->boxlo[i]) - 1.0) / update->dt; + h_ratelo[i] = -0.5 * h_rate[i]; + + set[i].lo_target = 0.5 * (set[i].lo_start + set[i].hi_start) - shift; + set[i].hi_target = 0.5 * (set[i].lo_start + set[i].hi_start) + shift; + } +} + +/* ---------------------------------------------------------------------- + Apply calculated deformation +------------------------------------------------------------------------- */ + +void FixDeform::apply_deformation() +{ // tilt_target can be large positive or large negative value // add/subtract box lengths until tilt_target is closest to current value @@ -1020,7 +757,7 @@ void FixDeform::end_of_step() for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) - domain->x2lamda(x[i],x[i]); + domain->x2lamda(x[i], x[i]); for (auto ifix : rfix) ifix->deform(0); @@ -1059,391 +796,11 @@ void FixDeform::end_of_step() for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) - domain->lamda2x(x[i],x[i]); + domain->lamda2x(x[i], x[i]); for (auto ifix : rfix) ifix->deform(1); } - - // redo KSpace coeffs since box has changed - - if (kspace_flag) force->kspace->setup(); - - // trigger virial computation, if needed, on next timestep - - if (pressure_flag) - pressure->addstep(update->ntimestep+1); -} - -/* ---------------------------------------------------------------------- - set box size for strain-based dimensions -------------------------------------------------------------------------- */ - -void FixDeform::set_strain() -{ - // for NONE, target is current box size - // for TRATE, set target directly based on current time, also set h_rate - // for WIGGLE, set target directly based on current time, also set h_rate - // for VARIABLE, set target directly via variable eval, also set h_rate - // for others except VOLUME, target is linear value between start and stop - - double delta = update->ntimestep - update->beginstep; - if (delta != 0.0) delta /= update->endstep - update->beginstep; - - for (int i = 0; i < 3; i++) { - if (set[i].style == NONE) { - set[i].lo_target = domain->boxlo[i]; - set[i].hi_target = domain->boxhi[i]; - } else if (set[i].style == TRATE) { - double delt = (update->ntimestep - update->beginstep) * update->dt; - double shift = 0.5 * ((set[i].hi_start - set[i].lo_start) * exp(set[i].rate * delt)); - set[i].lo_target = 0.5 * (set[i].lo_start + set[i].hi_start) - shift; - set[i].hi_target = 0.5 * (set[i].lo_start + set[i].hi_start) + shift; - h_rate[i] = set[i].rate * domain->h[i]; - h_ratelo[i] = -0.5 * h_rate[i]; - } else if (set[i].style == WIGGLE) { - double delt = (update->ntimestep - update->beginstep) * update->dt; - double shift = 0.5 * set[i].amplitude * sin(MY_2PI * delt / set[i].tperiod); - set[i].lo_target = set[i].lo_start - shift; - set[i].hi_target = set[i].hi_start + shift; - h_rate[i] = MY_2PI / set[i].tperiod * set[i].amplitude * - cos(MY_2PI * delt / set[i].tperiod); - h_ratelo[i] = -0.5 * h_rate[i]; - } else if (set[i].style == VARIABLE) { - double del = input->variable->compute_equal(set[i].hvar); - set[i].lo_target = set[i].lo_start - 0.5 * del; - set[i].hi_target = set[i].hi_start + 0.5 * del; - h_rate[i] = input->variable->compute_equal(set[i].hratevar); - h_ratelo[i] = -0.5 * h_rate[i]; - } else if (set[i].style == FINAL || set[i].style == DELTA || set[i].style == SCALE || - set[i].style == VEL || set[i].style == ERATE) { - set[i].lo_target = set[i].lo_start + delta * (set[i].lo_stop - set[i].lo_start); - set[i].hi_target = set[i].hi_start + delta * (set[i].hi_stop - set[i].hi_start); - } - } - - // for triclinic, set new box shape - // for NONE, target is current tilt - // for TRATE, set target directly based on current time. also set h_rate - // for WIGGLE, set target directly based on current time. also set h_rate - // for VARIABLE, set target directly via variable eval. also set h_rate - // for other styles, target is linear value between start and stop values - - if (triclinic) { - double *h = domain->h; - - for (int i = 3; i < 6; i++) { - if (set[i].style == NONE) { - if (i == 5) set[i].tilt_target = domain->xy; - else if (i == 4) set[i].tilt_target = domain->xz; - else if (i == 3) set[i].tilt_target = domain->yz; - } else if (set[i].style == TRATE) { - double delt = (update->ntimestep - update->beginstep) * update->dt; - set[i].tilt_target = set[i].tilt_start * exp(set[i].rate * delt); - h_rate[i] = set[i].rate * domain->h[i]; - } else if (set[i].style == WIGGLE) { - double delt = (update->ntimestep - update->beginstep) * update->dt; - set[i].tilt_target = set[i].tilt_start + - set[i].amplitude * sin(MY_2PI * delt / set[i].tperiod); - h_rate[i] = MY_2PI / set[i].tperiod * set[i].amplitude * - cos(MY_2PI * delt / set[i].tperiod); - } else if (set[i].style == VARIABLE) { - double delta_tilt = input->variable->compute_equal(set[i].hvar); - set[i].tilt_target = set[i].tilt_start + delta_tilt; - h_rate[i] = input->variable->compute_equal(set[i].hratevar); - } else { - set[i].tilt_target = set[i].tilt_start + delta * (set[i].tilt_stop - set[i].tilt_start); - } - } - } -} - -/* ---------------------------------------------------------------------- - set box size for pressure-based dimensions -------------------------------------------------------------------------- */ - -void FixDeform::set_pressure() -{ - // If variable pressure, calculate current target - for (int i = 0; i < 6; i++) - if (set[i].style == PRESSURE) - if (set[i].pvar_flag) - set[i].ptarget = input->variable->compute_equal(set[i].pvar); - - // Find current (possibly coupled/hydrostatic) pressure for X, Y, Z - double *tensor = pressure->vector; - double scalar = pressure->scalar; - double p_current[3]; - - if (pcouple == XYZ) { - double ave = THIRD * (tensor[0] + tensor[1] + tensor[2]); - p_current[0] = p_current[1] = p_current[2] = ave; - } else if (pcouple == XY) { - double ave = 0.5 * (tensor[0] + tensor[1]); - p_current[0] = p_current[1] = ave; - p_current[2] = tensor[2]; - } else if (pcouple == YZ) { - double ave = 0.5 * (tensor[1] + tensor[2]); - p_current[1] = p_current[2] = ave; - p_current[0] = tensor[0]; - } else if (pcouple == XZ) { - double ave = 0.5 * (tensor[0] + tensor[2]); - p_current[0] = p_current[2] = ave; - p_current[1] = tensor[1]; - } else { - if (set[0].style == PRESSURE) p_current[0] = tensor[0]; - else if (set[0].style == PMEAN) p_current[0] = scalar; - - if (set[1].style == PRESSURE) p_current[1] = tensor[1]; - else if (set[1].style == PMEAN) p_current[1] = scalar; - - if (set[2].style == PRESSURE) p_current[2] = tensor[2]; - else if (set[2].style == PMEAN) p_current[2] = scalar; - } - - for (int i = 0; i < 3; i++) { - if (set[i].style != PRESSURE && set[i].style != PMEAN) continue; - - h_rate[i] = set[i].pgain * (p_current[i] - set[i].ptarget); - - if (normalize_pressure_flag) { - if (set[i].ptarget == 0) { - if (max_h_rate == 0) { - error->all(FLERR, "Cannot normalize error for zero pressure without defining a max rate"); - } else h_rate[i] = max_h_rate * h_rate[i] / fabs(h_rate[i]); - } else h_rate[i] /= fabs(set[i].ptarget); - } - - if (max_h_rate != 0) - if (fabs(h_rate[i]) > max_h_rate) - h_rate[i] = max_h_rate * h_rate[i] / fabs(h_rate[i]); - - h_ratelo[i] = -0.5 * h_rate[i]; - - double offset = 0.5 * (domain->boxhi[i] - domain->boxlo[i]) * (1.0 + update->dt * h_rate[i]); - set[i].lo_target = 0.5 * (set[i].lo_start + set[i].hi_start) - offset; - set[i].hi_target = 0.5 * (set[i].lo_start + set[i].hi_start) + offset; - } - - for (int i = 3; i < 6; i++) { - if (set[i].style != PRESSURE) continue; - - double L, tilt, pcurrent; - if (i == 3) { - L = domain->zprd; - tilt = domain->yz; - pcurrent = tensor[5]; - } else if (i == 4) { - L = domain->zprd; - tilt = domain->xz + update->dt; - pcurrent = tensor[4]; - } else { - L = domain->yprd; - tilt = domain->xy; - pcurrent = tensor[3]; - } - - h_rate[i] = L * set[i].pgain * (pcurrent - set[i].ptarget); - if (normalize_pressure_flag) { - if (set[i].ptarget == 0) { - if (max_h_rate == 0) { - error->all(FLERR, "Cannot normalize error for zero pressure without defining a max rate"); - } else h_rate[i] = max_h_rate * h_rate[i] / fabs(h_rate[i]); - } else h_rate[i] /= fabs(set[i].ptarget); - } - - if (max_h_rate != 0) - if (fabs(h_rate[i]) > max_h_rate) - h_rate[i] = max_h_rate * h_rate[i] / fabs(h_rate[i]); - - set[i].tilt_target = tilt + update->dt * h_rate[i]; - } -} - -/* ---------------------------------------------------------------------- - set box size for VOLUME dimensions -------------------------------------------------------------------------- */ - -void FixDeform::set_volume() -{ - double e1, e2; - int linked_pressure = 0; - - for (int i = 0; i < 3; i++) { - if (set[i].style != VOLUME) continue; - - int dynamic1 = set[i].dynamic1; - int dynamic2 = set[i].dynamic2; - int fixed = set[i].fixed; - double v0 = set[i].vol_start; - double shift; - - if (set[i].substyle == ONE_FROM_ONE) { - shift = 0.5 * (v0 / (set[dynamic1].hi_target - set[dynamic1].lo_target) / - (set[fixed].hi_start-set[fixed].lo_start)); - } else if (set[i].substyle == ONE_FROM_TWO) { - shift = 0.5 * (v0 / (set[dynamic1].hi_target - set[dynamic1].lo_target) / - (set[dynamic2].hi_target - set[dynamic2].lo_target)); - } else if (set[i].substyle == TWO_FROM_ONE) { - if (!vol_balance_flag) { - shift = 0.5 * sqrt(v0 * (set[i].hi_start - set[i].lo_start) / - (set[dynamic1].hi_target - set[dynamic1].lo_target) / - (set[fixed].hi_start - set[fixed].lo_start)); - } else { - double dt = update->dt; - double e1i = set[i].prior_rate; - double e2i = set[fixed].prior_rate; - double L1i = domain->boxhi[i] - domain->boxlo[i]; - double L2i = domain->boxhi[fixed] - domain->boxlo[fixed]; - double L3i = domain->boxhi[dynamic1] - domain->boxlo[dynamic1]; - double L3 = (set[dynamic1].hi_target - set[dynamic1].lo_target); - double Vi = L1i * L2i * L3i; - double V = L3 * L1i * L2i; - double e3 = (L3 / L3i - 1.0) / dt; - double p1 = pressure->vector[i]; - double p2 = pressure->vector[fixed]; - double p1i = set[i].prior_pressure; - double p2i = set[fixed].prior_pressure; - double denominator; - - if (e3 == 0) { - e1 = 0.0; - e2 = 0.0; - shift = 0.5 * L1i; - } else if (e1i == 0 || e2i == 0 || (p2 == p2i && p1 == p1i)) { - // If no prior strain or no change in pressure (initial step) just scale shift by relative box lengths - shift = 0.5 * sqrt(v0 * L1i / L3 / L2i); - } else { - if (!linked_pressure) { - // Calculate first strain rate by expanding stress to linear order, p1(t+dt) = p2(t+dt) - // Calculate second strain rate to preserve volume - denominator = p2 - p2i + e2i * ((p1 - p1i) / e1i); - if (denominator != 0.0 && e1i != 0.0) { - e1 = (((p2 - p2i) * (Vi - V) / (V * dt)) - e2i * (p1 - p2)) / denominator; - } else { - e1 = e2i; - } - e2 = (Vi - V * (1 + e1 * dt)) / (V * (1 + e1 * dt) * dt); - - // If strain rate exceeds limit in either dimension, cap it at the maximum compatible rate - if (max_h_rate != 0) - if (fabs(e1) > max_h_rate || fabs(e2) > max_h_rate) - if (fabs(e1) > fabs(e2)) - adjust_linked_rates(e1, e2, e3, Vi, V); - else - adjust_linked_rates(e2, e1, e3, Vi, V); - - - shift = 0.5 * L1i * (1.0 + e1 * dt); - linked_pressure = 1; - } else { - // Already calculated value of e2 - shift = 0.5 * L1i * (1.0 + e2 * dt); - } - } - } - } - - h_rate[i] = (2.0 * shift / (domain->boxhi[i] - domain->boxlo[i]) - 1.0) / update->dt; - h_ratelo[i] = -0.5 * h_rate[i]; - - set[i].lo_target = 0.5 * (set[i].lo_start + set[i].hi_start) - shift; - set[i].hi_target = 0.5 * (set[i].lo_start + set[i].hi_start) + shift; - } -} - - -/* ---------------------------------------------------------------------- - Rescale volume preserving strain rates to enforce max rate -------------------------------------------------------------------------- */ - -void FixDeform::adjust_linked_rates(double &e_larger, double &e_smaller, double e3, double Vi, double V) -{ - double dt = update->dt; - double e_lim_positive = (Vi - V * (1 + max_h_rate * dt)) / (V * (1 + max_h_rate * dt) * dt); - double e_lim_negative = (Vi - V * (1 - max_h_rate * dt)) / (V * (1 - max_h_rate * dt) * dt); - if ((e_larger * e3) >= 0) { - if (e_larger > 0.0) { - // Same sign as primary strain rate, cap third dimension - e_smaller = -max_h_rate; - e_larger = e_lim_negative; - } else { - e_smaller = max_h_rate; - e_larger = e_lim_positive; - } - } else { - // Opposite sign, set to maxrate. - if (e_larger > 0.0) { - e_larger = max_h_rate; - e_smaller = e_lim_positive; - } else { - e_larger = -max_h_rate; - e_smaller = e_lim_negative; - } - } -} - -/* ---------------------------------------------------------------------- - apply isotropic controls -------------------------------------------------------------------------- */ - -void FixDeform::set_iso() -{ - int i; - double scale, shift; - double v_rate; - - if (set[6].style == VOLUME) { - double v0 = set[6].vol_start; - double v = 1.0; - for (i = 0; i < 3; i++) - v *= (set[i].hi_target - set[i].lo_target); - - scale = std::pow(v0 / v, THIRD); - for (i = 0; i < 3; i++) { - shift = 0.5 * (set[i].hi_target - set[i].lo_target) * scale; - set[i].lo_target = 0.5 * (set[i].lo_start + set[i].hi_start) - shift; - set[i].hi_target = 0.5 * (set[i].lo_start + set[i].hi_start) + shift; - - // Recalculate h_rate - h_rate[i] = (set[i].hi_target - set[i].lo_target) / (domain->boxhi[i] - domain->boxlo[i]) - 1.0; - h_rate[i] /= update->dt; - h_ratelo[i] = -0.5 * h_rate[i]; - } - - } else if (set[6].style == PRESSURE) { - - // If variable pressure, calculate current target - if (set[6].pvar_flag) - set[6].ptarget = input->variable->compute_equal(set[6].pvar); - - v_rate = set[6].pgain * (pressure->scalar- set[6].ptarget); - - if (normalize_pressure_flag) { - if (set[6].ptarget == 0) { - if (max_h_rate == 0) { - error->all(FLERR, "Cannot normalize error for zero pressure without defining a max rate"); - } else v_rate = max_h_rate * v_rate / fabs(v_rate); - } else v_rate /= fabs(set[6].ptarget); - } - - if (max_h_rate != 0) - if (fabs(v_rate) > max_h_rate) - v_rate = max_h_rate * v_rate / fabs(v_rate); - - set[6].cumulative_strain += update->dt * v_rate; - scale = (1.0 + set[6].cumulative_strain); - for (i = 0; i < 3; i++) { - shift = 0.5 * (set[i].hi_target - set[i].lo_target) * scale; - set[i].lo_target = 0.5 * (set[i].lo_start + set[i].hi_start) - shift; - set[i].hi_target = 0.5 * (set[i].lo_start + set[i].hi_start) + shift; - - // Recalculate h_rate - h_rate[i] = (set[i].hi_target - set[i].lo_target) / (domain->boxhi[i] - domain->boxlo[i]) - 1.0; - h_rate[i] /= update->dt; - h_ratelo[i] = -0.5 * h_rate[i]; - } - } } /* ---------------------------------------------------------------------- @@ -1454,10 +811,10 @@ void FixDeform::write_restart(FILE *fp) { if (comm->me == 0) { int size = 9 * sizeof(double) + 7 * sizeof(Set); - fwrite(&size,sizeof(int),1,fp); - fwrite(h_rate,sizeof(double),6,fp); - fwrite(h_ratelo,sizeof(double),3,fp); - fwrite(set,sizeof(Set),7,fp); + fwrite(&size, sizeof(int), 1, fp); + fwrite(h_rate, sizeof(double), 6, fp); + fwrite(h_ratelo, sizeof(double), 3, fp); + fwrite(set, sizeof(Set), 7, fp); } } @@ -1493,67 +850,168 @@ void FixDeform::restart(char *buf) samestyle = 0; } if (!samestyle) - error->all(FLERR,"Fix deform settings not consistent with restart"); + error->all(FLERR, "Fix deform settings not consistent with restart"); } /* ---------------------------------------------------------------------- */ void FixDeform::options(int narg, char **arg) { - if (narg < 0) error->all(FLERR,"Illegal fix deform command"); + if (narg < 0) error->all(FLERR, "Illegal fix deform command"); remapflag = Domain::X_REMAP; scaleflag = 1; flipflag = 1; - int iarg = 0; + int index; + int iarg = 4; while (iarg < narg) { - if (strcmp(arg[iarg],"remap") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix deform remap", error); - if (strcmp(arg[iarg+1],"x") == 0) remapflag = Domain::X_REMAP; - else if (strcmp(arg[iarg+1],"v") == 0) remapflag = Domain::V_REMAP; - else if (strcmp(arg[iarg+1],"none") == 0) remapflag = Domain::NO_REMAP; - else error->all(FLERR,"Illegal fix deform remap command: {}", arg[iarg+1]); - iarg += 2; - } else if (strcmp(arg[iarg],"units") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix deform units", error); - if (strcmp(arg[iarg+1],"box") == 0) scaleflag = 0; - else if (strcmp(arg[iarg+1],"lattice") == 0) scaleflag = 1; - else error->all(FLERR,"Illegal fix deform units command: {}", arg[iarg+1]); - iarg += 2; - } else if (strcmp(arg[iarg],"flip") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix deform flip", error); - flipflag = utils::logical(FLERR,arg[iarg+1],false,lmp); - iarg += 2; - } else if (strcmp(arg[iarg],"couple") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix deform couple", error); - if (strcmp(arg[iarg+1],"xyz") == 0) pcouple = XYZ; - else if (strcmp(arg[iarg+1],"xy") == 0) pcouple = XY; - else if (strcmp(arg[iarg+1],"yz") == 0) pcouple = YZ; - else if (strcmp(arg[iarg+1],"xz") == 0) pcouple = XZ; - else if (strcmp(arg[iarg+1],"none") == 0) pcouple = NOCOUPLE; - else error->all(FLERR,"Illegal fix fix deform couple command: {}", arg[iarg+1]); - iarg += 2; - } else if (strcmp(arg[iarg],"max/rate") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix deform max/rate", error); - max_h_rate = utils::numeric(FLERR,arg[iarg+1],false,lmp); - if (max_h_rate <= 0.0) - error->all(FLERR,"Maximum strain rate must be a positive, non-zero value"); - iarg += 2; - } else if (strcmp(arg[iarg],"normalize/pressure") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix deform normalize/pressure", error); - normalize_pressure_flag = utils::logical(FLERR,arg[iarg+1],false,lmp); - iarg += 2; - } else if (strcmp(arg[iarg],"vol/balance/p") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix deform vol/balance/p", error); - vol_balance_flag = utils::logical(FLERR,arg[iarg+1],false,lmp); - iarg += 2; - } else error->all(FLERR,"Illegal fix deform command: {}", arg[iarg]); + if (strcmp(arg[iarg], "x") == 0 || + strcmp(arg[iarg], "y") == 0 || + strcmp(arg[iarg], "z") == 0) { + + if (strcmp(arg[iarg], "x") == 0) index = 0; + else if (strcmp(arg[iarg], "y") == 0) index = 1; + else if (strcmp(arg[iarg], "z") == 0) index = 2; + + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform", error); + if (strcmp(arg[iarg + 1], "final") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform final", error); + set[index].style = FINAL; + set[index].flo = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + set[index].fhi = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + iarg += 4; + } else if (strcmp(arg[iarg + 1], "delta") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform delta", error); + set[index].style = DELTA; + set[index].dlo = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + set[index].dhi = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + iarg += 4; + } else if (strcmp(arg[iarg + 1], "scale") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform scale", error); + set[index].style = SCALE; + set[index].scale = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + iarg += 3; + } else if (strcmp(arg[iarg + 1], "vel") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform vel", error); + set[index].style = VEL; + set[index].vel = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + iarg += 3; + } else if (strcmp(arg[iarg + 1], "erate") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform erate", error); + set[index].style = ERATE; + set[index].rate = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + iarg += 3; + } else if (strcmp(arg[iarg + 1], "trate") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform trate", error); + set[index].style = TRATE; + set[index].rate = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + iarg += 3; + } else if (strcmp(arg[iarg + 1], "volume") == 0) { + set[index].style = VOLUME; + iarg += 2; + } else if (strcmp(arg[iarg + 1], "wiggle") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform wiggle", error); + set[index].style = WIGGLE; + set[index].amplitude = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + set[index].tperiod = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + if (set[index].tperiod <= 0.0) + error->all(FLERR, "Illegal fix deform wiggle period, must be positive"); + iarg += 4; + } else if (strcmp(arg[iarg + 1], "variable") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform variable", error); + set[index].style = VARIABLE; + if (strstr(arg[iarg + 2], "v_") != arg[iarg + 2]) + error->all(FLERR, "Illegal fix deform variable name {}", arg[iarg + 2]); + if (strstr(arg[iarg + 3], "v_") != arg[iarg + 3]) + error->all(FLERR, "Illegal fix deform variable name {}", arg[iarg + 3]); + delete[] set[index].hstr; + delete[] set[index].hratestr; + set[index].hstr = utils::strdup(&arg[iarg + 2][2]); + set[index].hratestr = utils::strdup(&arg[iarg + 3][2]); + iarg += 4; + } else error->all(FLERR, "Illegal fix deform command argument: {}", arg[iarg + 1]); + + } else if (strcmp(arg[iarg], "xy") == 0 || + strcmp(arg[iarg], "xz") == 0 || + strcmp(arg[iarg], "yz") == 0) { + + if (triclinic == 0) + error->all(FLERR, "Fix deform tilt factors require triclinic box"); + if (strcmp(arg[iarg], "xy") == 0) index = 5; + else if (strcmp(arg[iarg], "xz") == 0) index = 4; + else if (strcmp(arg[iarg], "yz") == 0) index = 3; + + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform", error); + if (strcmp(arg[iarg + 1], "final") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform final", error); + set[index].style = FINAL; + set[index].ftilt = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + iarg += 3; + } else if (strcmp(arg[iarg + 1], "delta") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform delta", error); + set[index].style = DELTA; + set[index].dtilt = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + iarg += 3; + } else if (strcmp(arg[iarg + 1], "vel") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform vel", error); + set[index].style = VEL; + set[index].vel = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + iarg += 3; + } else if (strcmp(arg[iarg + 1], "erate") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform erate", error); + set[index].style = ERATE; + set[index].rate = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + iarg += 3; + } else if (strcmp(arg[iarg + 1], "trate") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform trate", error); + set[index].style = TRATE; + set[index].rate = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + iarg += 3; + } else if (strcmp(arg[iarg + 1], "wiggle") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform wiggle", error); + set[index].style = WIGGLE; + set[index].amplitude = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + set[index].tperiod = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + if (set[index].tperiod <= 0.0) + error->all(FLERR, "Illegal fix deform wiggle period, must be positive"); + iarg += 4; + } else if (strcmp(arg[iarg + 1], "variable") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform variable", error); + set[index].style = VARIABLE; + if (strstr(arg[iarg + 2], "v_") != arg[iarg + 2]) + error->all(FLERR, "Illegal fix deform variable name {}", arg[iarg + 2]); + if (strstr(arg[iarg + 3], "v_") != arg[iarg + 3]) + error->all(FLERR, "Illegal fix deform variable name {}", arg[iarg + 3]); + delete[] set[index].hstr; + delete[] set[index].hratestr; + set[index].hstr = utils::strdup(&arg[iarg + 2][2]); + set[index].hratestr = utils::strdup(&arg[iarg + 3][2]); + iarg += 4; + } else error->all(FLERR, "Illegal fix deform command: {}", arg[iarg + 1]); + } else break; } - if (dimension == 2) - if (pcouple == XYZ || pcouple == XZ || pcouple == YZ) - error->all(FLERR, "Cannot couple Z dimension in fix deform in 2D"); + while (iarg < narg) { + if (strcmp(arg[iarg], "remap") == 0) { + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform remap", error); + if (strcmp(arg[iarg + 1], "x") == 0) remapflag = Domain::X_REMAP; + else if (strcmp(arg[iarg + 1], "v") == 0) remapflag = Domain::V_REMAP; + else if (strcmp(arg[iarg + 1], "none") == 0) remapflag = Domain::NO_REMAP; + else error->all(FLERR, "Illegal fix deform remap command: {}", arg[iarg + 1]); + iarg += 2; + } else if (strcmp(arg[iarg], "units") == 0) { + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform units", error); + if (strcmp(arg[iarg + 1], "box") == 0) scaleflag = 0; + else if (strcmp(arg[iarg + 1], "lattice") == 0) scaleflag = 1; + else error->all(FLERR, "Illegal fix deform units command: {}", arg[iarg + 1]); + iarg += 2; + } else if (strcmp(arg[iarg], "flip") == 0) { + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform flip", error); + flipflag = utils::logical(FLERR, arg[iarg + 1], false, lmp); + iarg += 2; + } else error->all(FLERR, "Illegal fix deform command: {}", arg[iarg]); + } } /* ---------------------------------------------------------------------- @@ -1566,54 +1024,3 @@ double FixDeform::memory_usage() if (irregular) bytes += irregular->memory_usage(); return bytes; } - -/* ---------------------------------------------------------------------- */ - -int FixDeform::modify_param(int narg, char **arg) -{ - if (strcmp(arg[0],"temp") == 0) { - if (narg < 2) error->all(FLERR,"Illegal fix_modify command"); - if (tflag) { - modify->delete_compute(id_temp); - tflag = 0; - } - delete[] id_temp; - id_temp = utils::strdup(arg[1]); - - temperature = modify->get_compute_by_id(arg[1]); - if (!temperature) - error->all(FLERR,"Could not find fix_modify temperature compute ID: ", arg[1]); - - if (temperature->tempflag == 0) - error->all(FLERR,"Fix_modify temperature compute {} does not compute temperature", arg[1]); - if (temperature->igroup != 0 && comm->me == 0) - error->warning(FLERR,"Temperature compute {} for fix {} is not for group all: {}", - arg[1], style, group->names[temperature->igroup]); - - // reset id_temp of pressure to new temperature ID - - auto icompute = modify->get_compute_by_id(id_press); - if (!icompute) - error->all(FLERR,"Pressure compute ID {} for fix {} does not exist", id_press, style); - icompute->reset_extra_compute_fix(id_temp); - - return 2; - - } else if (strcmp(arg[0],"press") == 0) { - if (narg < 2) error->all(FLERR,"Illegal fix_modify command"); - if (pflag) { - modify->delete_compute(id_press); - pflag = 0; - } - delete[] id_press; - id_press = utils::strdup(arg[1]); - - pressure = modify->get_compute_by_id(arg[1]); - if (!pressure) error->all(FLERR,"Could not find fix_modify pressure compute ID: {}", arg[1]); - if (pressure->pressflag == 0) - error->all(FLERR,"Fix_modify pressure compute {} does not compute pressure", arg[1]); - return 2; - } - - return 0; -} diff --git a/src/fix_deform.h b/src/fix_deform.h index 2f0b66aa71..dc4af75d33 100644 --- a/src/fix_deform.h +++ b/src/fix_deform.h @@ -33,32 +33,21 @@ class FixDeform : public Fix { ~FixDeform() override; int setmask() override; void init() override; - void setup(int) override; void pre_exchange() override; void end_of_step() override; void write_restart(FILE *) override; void restart(char *buf) override; double memory_usage() override; - int modify_param(int, char **) override; protected: - int dimension, triclinic, scaleflag, flipflag, pcouple; + int triclinic, scaleflag, flipflag; int flip, flipxy, flipxz, flipyz; - double *h_rate, *h_ratelo, max_h_rate; + double *h_rate, *h_ratelo; int varflag; // 1 if VARIABLE option is used, 0 if not - int strain_flag; // 1 if strain-based option is used, 0 if not - int volume_flag; // 1 if VOLUME option is used, 0 if not - int pressure_flag; // 1 if pressure tensor used, 0 if not int kspace_flag; // 1 if KSpace invoked, 0 if not - int normalize_pressure_flag; // 1 if normalize pressure deviation by target - int vol_balance_flag; // 1 if pressures balanced when maintaining const vol std::vector rfix; // pointers to rigid fixes class Irregular *irregular; // for migrating atoms after box flips - char *id_temp, *id_press; - class Compute *temperature, *pressure; - int tflag, pflag; - struct Set { int style, substyle; double flo, fhi, ftilt; @@ -84,11 +73,8 @@ class FixDeform : public Fix { void options(int, char **); void set_strain(); - void set_pressure(); void set_volume(); - void set_iso(); - void couple(); - void adjust_linked_rates(double&, double&, double, double, double); + void apply_deformation(); }; } // namespace LAMMPS_NS From 7c7f07e28d199fc7ac3948d02bb27a85b65ac5ce Mon Sep 17 00:00:00 2001 From: jtclemm Date: Mon, 22 Jan 2024 22:13:29 -0700 Subject: [PATCH 107/559] Misc patches and missed changes --- doc/src/fix_deform.rst | 2 +- src/EXTRA-FIX/fix_deform_pressure.cpp | 2 +- src/EXTRA-FIX/fix_deform_pressure.h | 4 ++-- src/fix_deform.cpp | 6 +++--- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/src/fix_deform.rst b/doc/src/fix_deform.rst index 84670b37a8..ee010f5645 100644 --- a/doc/src/fix_deform.rst +++ b/doc/src/fix_deform.rst @@ -597,4 +597,4 @@ Related commands Default """"""" -The option defaults are remap = x, flip = yes, units = lattice +The option defaults are remap = x, flip = yes, and units = lattice. diff --git a/src/EXTRA-FIX/fix_deform_pressure.cpp b/src/EXTRA-FIX/fix_deform_pressure.cpp index 666ca5f2af..c76550b40f 100644 --- a/src/EXTRA-FIX/fix_deform_pressure.cpp +++ b/src/EXTRA-FIX/fix_deform_pressure.cpp @@ -2,7 +2,7 @@ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov + LAMMPS development team: developers@lammps.org Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains diff --git a/src/EXTRA-FIX/fix_deform_pressure.h b/src/EXTRA-FIX/fix_deform_pressure.h index d3a05d949d..7e4ad6e35a 100644 --- a/src/EXTRA-FIX/fix_deform_pressure.h +++ b/src/EXTRA-FIX/fix_deform_pressure.h @@ -1,7 +1,7 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov + LAMMPS development team: developers@lammps.org Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains @@ -35,7 +35,7 @@ class FixDeformPressure : public FixDeform { protected: int pcouple, dimension; - double *h_rate, *h_ratelo, max_h_rate; + double max_h_rate; int strain_flag; // 1 if strain-based option is used, 0 if not int pressure_flag; // 1 if pressure tensor used, 0 if not int volume_flag; // 1 if VOLUME option is used, 0 if not diff --git a/src/fix_deform.cpp b/src/fix_deform.cpp index d78e28ef2f..cf45a12f5d 100644 --- a/src/fix_deform.cpp +++ b/src/fix_deform.cpp @@ -13,7 +13,7 @@ ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - Contributing author: Pieter in 't Veld (SNL), Joel Clemmer (SNL) + Contributing author: Pieter in 't Veld (SNL) ------------------------------------------------------------------------- */ #include "fix_deform.h" @@ -759,7 +759,7 @@ void FixDeform::apply_deformation() if (mask[i] & groupbit) domain->x2lamda(x[i], x[i]); - for (auto ifix : rfix) + for (auto &ifix : rfix) ifix->deform(0); } @@ -798,7 +798,7 @@ void FixDeform::apply_deformation() if (mask[i] & groupbit) domain->lamda2x(x[i], x[i]); - for (auto ifix : rfix) + for (auto &ifix : rfix) ifix->deform(1); } } From 7f152de062c9e7f1bb356a4d2b846d748eb313bb Mon Sep 17 00:00:00 2001 From: jtclemm Date: Tue, 30 Jan 2024 15:29:02 -0700 Subject: [PATCH 108/559] Rewiring arg parsing and data ownership --- src/EXTRA-FIX/fix_deform_pressure.cpp | 589 +++++++++++++------------- src/EXTRA-FIX/fix_deform_pressure.h | 20 +- src/fix_deform.cpp | 367 ++++++++-------- src/fix_deform.h | 18 +- 4 files changed, 520 insertions(+), 474 deletions(-) diff --git a/src/EXTRA-FIX/fix_deform_pressure.cpp b/src/EXTRA-FIX/fix_deform_pressure.cpp index c76550b40f..7f3a627b66 100644 --- a/src/EXTRA-FIX/fix_deform_pressure.cpp +++ b/src/EXTRA-FIX/fix_deform_pressure.cpp @@ -50,9 +50,160 @@ enum{NOCOUPLE=0,XYZ,XY,YZ,XZ}; FixDeformPressure::FixDeformPressure(LAMMPS *lmp, int narg, char **arg) : FixDeform(lmp, narg, arg), id_temp(nullptr), id_press(nullptr) { + // set defaults + + set_extra = new SetExtra[7]; + memset(set_extra, 0, 7 * sizeof(SetExtra)); + memset(&set_box, 0, sizeof(Set)); + + // parse child-specific arguments + + int index; + int iarg = 4; + while (iarg < narg) { + if (strcmp(arg[iarg], "x") == 0 || + strcmp(arg[iarg], "y") == 0 || + strcmp(arg[iarg], "z") == 0) { + + if (strcmp(arg[iarg], "x") == 0) index = 0; + else if (strcmp(arg[iarg], "y") == 0) index = 1; + else if (strcmp(arg[iarg], "z") == 0) index = 2; + + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure", error); + if (strcmp(arg[iarg + 1], "pressure") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure pressure", error); + set[index].style = PRESSURE; + if (strstr(arg[iarg + 2], "v_") != arg[iarg + 2]) { + set_extra[index].ptarget = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + } else { + set_extra[index].pstr = utils::strdup(&arg[iarg + 2][2]); + set_extra[index].pvar_flag = 1; + } + set_extra[index].pgain = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + iarg += 4; + } else if (strcmp(arg[iarg + 1], "pressure/mean") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure pressure/mean", error); + set[index].style = PMEAN; + if (strstr(arg[iarg + 2], "v_") != arg[iarg + 2]) { + set_extra[index].ptarget = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + } else { + set_extra[index].pstr = utils::strdup(&arg[iarg + 2][2]); + set_extra[index].pvar_flag = 1; + } + set_extra[index].pgain = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + iarg += 4; + } else error->all(FLERR, "Illegal fix deform/pressure command argument: {}", arg[iarg + 1]); + + } else if (strcmp(arg[iarg], "xy") == 0 || + strcmp(arg[iarg], "xz") == 0 || + strcmp(arg[iarg], "yz") == 0) { + + if (strcmp(arg[iarg], "xy") == 0) index = 5; + else if (strcmp(arg[iarg], "xz") == 0) index = 4; + else if (strcmp(arg[iarg], "yz") == 0) index = 3; + + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure", error); + if (strcmp(arg[iarg + 1], "pressure") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure pressure", error); + set[index].style = PRESSURE; + if (strstr(arg[iarg + 2], "v_") != arg[iarg + 2]) { + set_extra[index].ptarget = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + } else { + set_extra[index].pstr = utils::strdup(&arg[iarg + 2][2]); + set_extra[index].pvar_flag = 1; + } + set_extra[index].pgain = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + iarg += 4; + } else error->all(FLERR, "Illegal fix deform/pressure command: {}", arg[iarg + 1]); + } else if (strcmp(arg[iarg], "box") == 0) { + if (strcmp(arg[iarg + 1], "volume") == 0) { + set_box.style = VOLUME; + iarg += 2; + } else if (strcmp(arg[iarg + 1], "pressure") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure pressure", error); + set_box.style = PRESSURE; + if (strstr(arg[iarg + 2], "v_") != arg[iarg + 2]) { + set_extra[6].ptarget = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + } else { + set_extra[6].pstr = utils::strdup(&arg[iarg + 2][2]); + set_extra[6].pvar_flag = 1; + } + set_extra[6].pgain = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + iarg += 4; + } else error->all(FLERR, "Illegal fix deform/pressure command argument: {}", arg[iarg + 1]); + } else break; + } + + // read options from end of input line + + options(narg - iarg, &arg[iarg]); + + // repeat: check triclinic + + dimension = domain->dimension; + if (triclinic == 0 && (set[3].style || set[4].style || set[5].style)) + error->all(FLERR, "Fix deform tilt factors require triclinic box"); + + // repeat: setup dimflags used by other classes to check for volume-change conflicts + + for (int i = 0; i < 6; i++) + if (set[i].style == NONE) dimflag[i] = 0; + else dimflag[i] = 1; + + if (set_box.style != NONE) { + dimflag[0] = 1; + dimflag[1] = 1; + dimflag[2] = 1; + } + + if (dimflag[0]) box_change |= BOX_CHANGE_X; + if (dimflag[1]) box_change |= BOX_CHANGE_Y; + if (dimflag[2]) box_change |= BOX_CHANGE_Z; + if (dimflag[3]) box_change |= BOX_CHANGE_YZ; + if (dimflag[4]) box_change |= BOX_CHANGE_XZ; + if (dimflag[5]) box_change |= BOX_CHANGE_XY; + + // repeat: no tensile deformation on shrink-wrapped dims + // b/c shrink wrap will change box-length + + for (int i = 0; i < 3; i++) + if (set_box.style && (domain->boundary[i][0] >= 2 || domain->boundary[i][1] >= 2)) + error->all(FLERR, "Cannot use fix deform on a shrink-wrapped boundary"); + + // repeat: no tilt deformation on shrink-wrapped 2nd dim + // b/c shrink wrap will change tilt factor in domain::reset_box() + + if (set[3].style && (domain->boundary[2][0] >= 2 || domain->boundary[2][1] >= 2)) + error->all(FLERR, "Cannot use fix deform tilt on a shrink-wrapped 2nd dim"); + if (set[4].style && (domain->boundary[2][0] >= 2 || domain->boundary[2][1] >= 2)) + error->all(FLERR, "Cannot use fix deform tilt on a shrink-wrapped 2nd dim"); + if (set[5].style && (domain->boundary[1][0] >= 2 || domain->boundary[1][1] >= 2)) + error->all(FLERR, "Cannot use fix deform tilt on a shrink-wrapped 2nd dim"); + + // repeat: set varflag + + for (int i = 0; i < 7; i++) + if (set_extra[i].pvar_flag) varflag = 1; + + // repeat: reneighboring only forced if flips can occur due to shape changes + + if ((!force_reneighbor) && flipflag && (set[3].style || set[4].style || set[5].style)) { + force_reneighbor = 1; + irregular = new Irregular(lmp); + } + + // set initial values at time fix deform is issued + + set_box.vol_initial = domain->xprd * domain->yprd * domain->zprd; + // populate coupled pressure controls if (pcouple != NOCOUPLE) { + + if (dimension == 2) + if (pcouple == XYZ || pcouple == XZ || pcouple == YZ) + error->all(FLERR, "Cannot couple Z dimension in fix deform/pressure in 2D"); + int coupled_indices[3] = {0}; int j = -1; double couple_gain, coupled_pressure; @@ -68,7 +219,7 @@ id_temp(nullptr), id_press(nullptr) // Check coupled styles and find reference for (int i = 0; i < 3; i++) { if (coupled_indices[i]) { - set[i].coupled_flag = 1; + set_extra[i].coupled_flag = 1; if (set[i].style != PRESSURE && set[i].style != NONE) error->all(FLERR, "Cannot couple non-pressure-controlled dimensions"); if (set[i].style == PRESSURE) @@ -86,12 +237,12 @@ id_temp(nullptr), id_press(nullptr) if (set[i].style == NONE) { set[i].style = PRESSURE; dimflag[i] = 1; - set[i].pgain = set[j].pgain; - if (set[j].pvar_flag) { - set[i].pstr = set[j].pstr; - set[i].pvar_flag = 1; + set_extra[i].pgain = set_extra[j].pgain; + if (set_extra[j].pvar_flag) { + set_extra[i].pstr = set_extra[j].pstr; + set_extra[i].pvar_flag = 1; } else { - set[i].ptarget = set[j].ptarget; + set_extra[i].ptarget = set_extra[j].ptarget; } } else { // Check for incompatibilities in style @@ -100,31 +251,18 @@ id_temp(nullptr), id_press(nullptr) if (set[j].style != PRESSURE) continue; // If pressure controlled, check for incompatibilities in parameters - if (set[i].pgain != set[j].pgain || set[i].pvar_flag != set[j].pvar_flag || - set[i].ptarget != set[j].ptarget) + if (set_extra[i].pgain != set_extra[j].pgain || set_extra[i].pvar_flag != set_extra[j].pvar_flag || + set_extra[i].ptarget != set_extra[j].ptarget) error->all(FLERR, "Coupled dimensions must have identical gain parameters"); - if (set[j].pvar_flag) - if (strcmp(set[i].pstr, set[j].pstr) != 0) + if (set_extra[j].pvar_flag) + if (strcmp(set_extra[i].pstr, set_extra[j].pstr) != 0) error->all(FLERR, "Coupled dimensions must have the same target pressure"); } } } } - // repeat some checks in child class to catch changes to pcouple - - if (dimflag[0]) box_change |= BOX_CHANGE_X; - if (dimflag[1]) box_change |= BOX_CHANGE_Y; - if (dimflag[2]) box_change |= BOX_CHANGE_Z; - - // no tensile deformation on shrink-wrapped dims - // b/c shrink wrap will change box-length - - for (int i = 0; i < 3; i++) - if ((set[i].style || set[6].style) && (domain->boundary[i][0] >= 2 || domain->boundary[i][1] >= 2)) - error->all(FLERR, "Cannot use fix deform/pressure on a shrink-wrapped boundary"); - // if vol/balance/p used, must have 2 free dimensions if (vol_balance_flag) { @@ -146,10 +284,15 @@ id_temp(nullptr), id_press(nullptr) // set pressure_flag pressure_flag = 0; - for (int i = 0; i < 7; i++) { - if (set[i].style == PRESSURE || set[i].style == PMEAN) pressure_flag = 1; - if (set[i].coupled_flag) pressure_flag = 1; + for (int i = 0; i < 6; i++) { + if (set[i].style == PRESSURE || set[i].style == PMEAN) { + pressure_flag = 1; + if (set_extra[i].pgain <= 0.0) + error->all(FLERR, "Illegal fix deform/pressure gain constant, must be positive"); + } + if (set_extra[i].coupled_flag) pressure_flag = 1; } + if (set_box.style == PRESSURE) pressure_flag = 1; if (vol_balance_flag) pressure_flag = 1; // check conflict between constant volume/pressure @@ -164,12 +307,12 @@ id_temp(nullptr), id_press(nullptr) if (set[i].style == PMEAN) error->all(FLERR, "Cannot use fix deform/pressure to assign constant volume and pressure"); - // check conflicts between x,y,z styles and iso + // check conflicts between x,y,z styles and box - if (set[6].style) + if (set_box.style) for (int i = 0; i < 3; i++) if (set[i].style == FINAL || set[i].style == DELTA || set[i].style == SCALE || set[i].style == PMEAN || set[i].style == VARIABLE) - error->all(FLERR, "Cannot use fix deform/pressure iso parameter with x, y, or z styles other than vel, erate, trate, pressure, and wiggle"); + error->all(FLERR, "Cannot use fix deform/pressure box parameter with x, y, or z styles other than vel, erate, trate, pressure, and wiggle"); // check pressure used for max rate and normalize error flag @@ -207,6 +350,14 @@ id_temp(nullptr), id_press(nullptr) FixDeformPressure::~FixDeformPressure() { + if (set_extra) + for (int i = 0; i < 7; i++) + delete[] set_extra[i].pstr; + delete[] set_extra; + + delete[] set_box.hstr; + delete[] set_box.hratestr; + // delete temperature and pressure if fix created them if (tflag) modify->delete_compute(id_temp); @@ -221,15 +372,17 @@ void FixDeformPressure::init() { FixDeform::init(); + set_box.vol_start = domain->xprd * domain->yprd * domain->zprd; + // check optional variables for PRESSURE or PMEAN style for (int i = 0; i < 7; i++) { - if (!set[i].pvar_flag) continue; - set[i].pvar = input->variable->find(set[i].pstr); - if (set[i].pvar < 0) - error->all(FLERR, "Variable name {} for fix deform/pressure does not exist", set[i].pstr); - if (!input->variable->equalstyle(set[i].pvar)) - error->all(FLERR, "Variable {} for fix deform/pressure is invalid style", set[i].pstr); + if (!set_extra[i].pvar_flag) continue; + set_extra[i].pvar = input->variable->find(set_extra[i].pstr); + if (set_extra[i].pvar < 0) + error->all(FLERR, "Variable name {} for fix deform/pressure does not exist", set_extra[i].pstr); + if (!input->variable->equalstyle(set_extra[i].pvar)) + error->all(FLERR, "Variable {} for fix deform/pressure is invalid style", set_extra[i].pstr); } // Find pressure/temp computes if needed @@ -265,7 +418,7 @@ void FixDeformPressure::end_of_step() // set new box size for strain-based dims - if (strain_flag) FixDeform::set_strain(); + if (strain_flag) FixDeform::apply_strain(); // set new box size for pressure-based dims @@ -274,30 +427,30 @@ void FixDeformPressure::end_of_step() pressure->compute_vector(); pressure->compute_scalar(); for (int i = 0; i < 3; i++) { - if (!set[i].saved) { - set[i].saved = 1; - set[i].prior_rate = 0.0; - set[i].prior_pressure = pressure->vector[i]; + if (!set_extra[i].saved) { + set_extra[i].saved = 1; + set_extra[i].prior_rate = 0.0; + set_extra[i].prior_pressure = pressure->vector[i]; } } - set_pressure(); + apply_pressure(); } // set new box size for VOLUME dims that are linked to other dims // NOTE: still need to set h_rate for these dims - if (volume_flag) set_volume(); + if (volume_flag) apply_volume(); - // apply any final isotropic scalings + // apply any final box scalings - if (set[6].style) set_iso(); + if (set_box.style) apply_box(); // Save pressure/strain rate if required if (pressure_flag) { for (int i = 0; i < 3; i++) { - set[i].prior_pressure = pressure->vector[i]; - set[i].prior_rate = ((set[i].hi_target - set[i].lo_target) / + set_extra[i].prior_pressure = pressure->vector[i]; + set_extra[i].prior_rate = ((set[i].hi_target - set[i].lo_target) / (domain->boxhi[i] - domain->boxlo[i]) - 1.0) / update->dt; } } @@ -305,7 +458,7 @@ void FixDeformPressure::end_of_step() if (varflag) modify->addstep_compute(update->ntimestep + nevery); - FixDeform::apply_deformation(); + FixDeform::update_domain(); // trigger virial computation, if needed, on next timestep @@ -314,16 +467,16 @@ void FixDeformPressure::end_of_step() } /* ---------------------------------------------------------------------- - set box size for pressure-based dimensions + apply pressure controls ------------------------------------------------------------------------- */ -void FixDeformPressure::set_pressure() +void FixDeformPressure::apply_pressure() { // If variable pressure, calculate current target for (int i = 0; i < 6; i++) if (set[i].style == PRESSURE) - if (set[i].pvar_flag) - set[i].ptarget = input->variable->compute_equal(set[i].pvar); + if (set_extra[i].pvar_flag) + set_extra[i].ptarget = input->variable->compute_equal(set_extra[i].pvar); // Find current (possibly coupled/hydrostatic) pressure for X, Y, Z double *tensor = pressure->vector; @@ -359,14 +512,14 @@ void FixDeformPressure::set_pressure() for (int i = 0; i < 3; i++) { if (set[i].style != PRESSURE && set[i].style != PMEAN) continue; - h_rate[i] = set[i].pgain * (p_current[i] - set[i].ptarget); + h_rate[i] = set_extra[i].pgain * (p_current[i] - set_extra[i].ptarget); if (normalize_pressure_flag) { - if (set[i].ptarget == 0) { + if (set_extra[i].ptarget == 0) { if (max_h_rate == 0) { error->all(FLERR, "Cannot normalize error for zero pressure without defining a max rate"); } else h_rate[i] = max_h_rate * h_rate[i] / fabs(h_rate[i]); - } else h_rate[i] /= fabs(set[i].ptarget); + } else h_rate[i] /= fabs(set_extra[i].ptarget); } if (max_h_rate != 0) @@ -398,13 +551,13 @@ void FixDeformPressure::set_pressure() pcurrent = tensor[3]; } - h_rate[i] = L * set[i].pgain * (pcurrent - set[i].ptarget); + h_rate[i] = L * set_extra[i].pgain * (pcurrent - set_extra[i].ptarget); if (normalize_pressure_flag) { - if (set[i].ptarget == 0) { + if (set_extra[i].ptarget == 0) { if (max_h_rate == 0) { error->all(FLERR, "Cannot normalize error for zero pressure without defining a max rate"); } else h_rate[i] = max_h_rate * h_rate[i] / fabs(h_rate[i]); - } else h_rate[i] /= fabs(set[i].ptarget); + } else h_rate[i] /= fabs(set_extra[i].ptarget); } if (max_h_rate != 0) @@ -416,10 +569,10 @@ void FixDeformPressure::set_pressure() } /* ---------------------------------------------------------------------- - set box size for VOLUME dimensions + apply volume controls ------------------------------------------------------------------------- */ -void FixDeformPressure::set_volume() +void FixDeformPressure::apply_volume() { double e1, e2; int linked_pressure = 0; @@ -446,8 +599,8 @@ void FixDeformPressure::set_volume() (set[fixed].hi_start - set[fixed].lo_start)); } else { double dt = update->dt; - double e1i = set[i].prior_rate; - double e2i = set[fixed].prior_rate; + double e1i = set_extra[i].prior_rate; + double e2i = set_extra[fixed].prior_rate; double L1i = domain->boxhi[i] - domain->boxlo[i]; double L2i = domain->boxhi[fixed] - domain->boxlo[fixed]; double L3i = domain->boxhi[dynamic1] - domain->boxlo[dynamic1]; @@ -457,8 +610,8 @@ void FixDeformPressure::set_volume() double e3 = (L3 / L3i - 1.0) / dt; double p1 = pressure->vector[i]; double p2 = pressure->vector[fixed]; - double p1i = set[i].prior_pressure; - double p2i = set[fixed].prior_pressure; + double p1i = set_extra[i].prior_pressure; + double p2i = set_extra[fixed].prior_pressure; double denominator; if (e3 == 0) { @@ -539,17 +692,17 @@ void FixDeformPressure::adjust_linked_rates(double &e_larger, double &e_smaller, } /* ---------------------------------------------------------------------- - apply isotropic controls + apply box controls ------------------------------------------------------------------------- */ -void FixDeformPressure::set_iso() +void FixDeformPressure::apply_box() { int i; double scale, shift; double v_rate; - if (set[6].style == VOLUME) { - double v0 = set[6].vol_start; + if (set_box.style == VOLUME) { + double v0 = set_box.vol_start; double v = 1.0; for (i = 0; i < 3; i++) v *= (set[i].hi_target - set[i].lo_target); @@ -566,28 +719,28 @@ void FixDeformPressure::set_iso() h_ratelo[i] = -0.5 * h_rate[i]; } - } else if (set[6].style == PRESSURE) { + } else if (set_box.style == PRESSURE) { // If variable pressure, calculate current target - if (set[6].pvar_flag) - set[6].ptarget = input->variable->compute_equal(set[6].pvar); + if (set_extra[6].pvar_flag) + set_extra[6].ptarget = input->variable->compute_equal(set_extra[6].pvar); - v_rate = set[6].pgain * (pressure->scalar- set[6].ptarget); + v_rate = set_extra[6].pgain * (pressure->scalar - set_extra[6].ptarget); if (normalize_pressure_flag) { - if (set[6].ptarget == 0) { + if (set_extra[6].ptarget == 0) { if (max_h_rate == 0) { error->all(FLERR, "Cannot normalize error for zero pressure without defining a max rate"); } else v_rate = max_h_rate * v_rate / fabs(v_rate); - } else v_rate /= fabs(set[6].ptarget); + } else v_rate /= fabs(set_extra[6].ptarget); } if (max_h_rate != 0) if (fabs(v_rate) > max_h_rate) v_rate = max_h_rate * v_rate / fabs(v_rate); - set[6].cumulative_strain += update->dt * v_rate; - scale = (1.0 + set[6].cumulative_strain); + set_extra[6].cumulative_strain += update->dt * v_rate; + scale = (1.0 + set_extra[6].cumulative_strain); for (i = 0; i < 3; i++) { shift = 0.5 * (set[i].hi_target - set[i].lo_target) * scale; set[i].lo_target = 0.5 * (set[i].lo_start + set[i].hi_start) - shift; @@ -601,235 +754,95 @@ void FixDeformPressure::set_iso() } } +/* ---------------------------------------------------------------------- + write Set data to restart file +------------------------------------------------------------------------- */ + +void FixDeformPressure::write_restart(FILE *fp) +{ + if (comm->me == 0) { + int size = 9 * sizeof(double) + 7 * sizeof(Set) + 7 * sizeof(SetExtra); + fwrite(&size, sizeof(int), 1, fp); + fwrite(h_rate, sizeof(double), 6, fp); + fwrite(h_ratelo, sizeof(double), 3, fp); + fwrite(set, sizeof(Set), 6, fp); + fwrite(&set_box, sizeof(Set), 1, fp); + fwrite(set_extra, sizeof(SetExtra), 7, fp); + } +} + +/* ---------------------------------------------------------------------- + use selected state info from restart file to restart the Fix +------------------------------------------------------------------------- */ + +void FixDeformPressure::restart(char *buf) +{ + int n = 0; + auto list = (double *) buf; + for (int i = 0; i < 6; i++) + h_rate[i] = list[n++]; + for (int i = 0; i < 3; i++) + h_ratelo[i] = list[n++]; + + n = n * sizeof(double); + int samestyle = 1; + Set *set_restart = (Set *) &buf[n]; + for (int i = 0; i < 6; ++i) { + // restore data from initial state + set[i].lo_initial = set_restart[i].lo_initial; + set[i].hi_initial = set_restart[i].hi_initial; + set[i].vol_initial = set_restart[i].vol_initial; + set[i].tilt_initial = set_restart[i].tilt_initial; + // check if style settings are consistent (should do the whole set?) + if (set[i].style != set_restart[i].style) + samestyle = 0; + if (set[i].substyle != set_restart[i].substyle) + samestyle = 0; + } + n += 6 * sizeof(Set); + + // Only restore relevant box variables & check consistency + Set set_box_restart; + memcpy(&set_box_restart, (Set *) &buf[n], sizeof(Set)); + set_box.vol_initial = set_box_restart.vol_initial; + if (set_box.style != set_box_restart.style) + samestyle = 0; + + if (!samestyle) + error->all(FLERR, "Fix deform/pressure settings not consistent with restart"); + + n += sizeof(Set); + SetExtra *set_extra_restart = (SetExtra *) &buf[n]; + for (int i = 0; i < 7; ++i) { + set_extra[i].saved = set_extra_restart[i].saved; + set_extra[i].prior_rate = set_extra_restart[i].prior_rate; + set_extra[i].prior_pressure = set_extra_restart[i].prior_pressure; + set_extra[i].cumulative_strain = set_extra_restart[i].cumulative_strain; + } +} + + /* ---------------------------------------------------------------------- */ void FixDeformPressure::options(int narg, char **arg) { if (narg < 0) error->all(FLERR, "Illegal fix deform/pressure command"); - remapflag = Domain::X_REMAP; - scaleflag = 1; - flipflag = 1; - pcouple = NOCOUPLE; - dimension = domain->dimension; max_h_rate = 0.0; vol_balance_flag = 0; normalize_pressure_flag = 0; - int index; - int iarg = 4; + int iarg = 0; while (iarg < narg) { - if (strcmp(arg[iarg], "x") == 0 || - strcmp(arg[iarg], "y") == 0 || - strcmp(arg[iarg], "z") == 0) { - - if (strcmp(arg[iarg], "x") == 0) index = 0; - else if (strcmp(arg[iarg], "y") == 0) index = 1; - else if (strcmp(arg[iarg], "z") == 0) index = 2; - - if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure", error); - if (strcmp(arg[iarg + 1], "final") == 0) { - if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure final", error); - set[index].style = FINAL; - set[index].flo = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - set[index].fhi = utils::numeric(FLERR, arg[iarg + 3], false, lmp); - iarg += 4; - } else if (strcmp(arg[iarg + 1], "delta") == 0) { - if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure delta", error); - set[index].style = DELTA; - set[index].dlo = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - set[index].dhi = utils::numeric(FLERR, arg[iarg + 3], false, lmp); - iarg += 4; - } else if (strcmp(arg[iarg + 1], "scale") == 0) { - if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure scale", error); - set[index].style = SCALE; - set[index].scale = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - iarg += 3; - } else if (strcmp(arg[iarg + 1], "vel") == 0) { - if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure vel", error); - set[index].style = VEL; - set[index].vel = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - iarg += 3; - } else if (strcmp(arg[iarg + 1], "erate") == 0) { - if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure erate", error); - set[index].style = ERATE; - set[index].rate = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - iarg += 3; - } else if (strcmp(arg[iarg + 1], "trate") == 0) { - if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure trate", error); - set[index].style = TRATE; - set[index].rate = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - iarg += 3; - } else if (strcmp(arg[iarg + 1], "volume") == 0) { - set[index].style = VOLUME; - iarg += 2; - } else if (strcmp(arg[iarg + 1], "wiggle") == 0) { - if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure wiggle", error); - set[index].style = WIGGLE; - set[index].amplitude = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - set[index].tperiod = utils::numeric(FLERR, arg[iarg + 3], false, lmp); - if (set[index].tperiod <= 0.0) - error->all(FLERR, "Illegal fix deform/pressure wiggle period, must be positive"); - iarg += 4; - } else if (strcmp(arg[iarg + 1], "variable") == 0) { - if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure variable", error); - set[index].style = VARIABLE; - if (strstr(arg[iarg + 2], "v_") != arg[iarg + 2]) - error->all(FLERR, "Illegal fix deform/pressure variable name {}", arg[iarg + 2]); - if (strstr(arg[iarg + 3], "v_") != arg[iarg + 3]) - error->all(FLERR, "Illegal fix deform/pressure variable name {}", arg[iarg + 3]); - delete[] set[index].hstr; - delete[] set[index].hratestr; - set[index].hstr = utils::strdup(&arg[iarg + 2][2]); - set[index].hratestr = utils::strdup(&arg[iarg + 3][2]); - iarg += 4; - } else if (strcmp(arg[iarg + 1], "pressure") == 0) { - if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure pressure", error); - set[index].style = PRESSURE; - if (strstr(arg[iarg + 2], "v_") != arg[iarg + 2]) { - set[index].ptarget = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - } else { - set[index].pstr = utils::strdup(&arg[iarg + 2][2]); - set[index].pvar_flag = 1; - } - set[index].pgain = utils::numeric(FLERR, arg[iarg + 3], false, lmp); - if (set[index].pgain <= 0.0) - error->all(FLERR, "Illegal fix deform/pressure pressure gain, must be positive"); - iarg += 4; - } else if (strcmp(arg[iarg + 1], "pressure/mean") == 0) { - if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure pressure/mean", error); - set[index].style = PMEAN; - if (strstr(arg[iarg + 2], "v_") != arg[iarg + 2]) { - set[index].ptarget = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - } else { - set[index].pstr = utils::strdup(&arg[iarg + 2][2]); - set[index].pvar_flag = 1; - } - set[index].pgain = utils::numeric(FLERR, arg[iarg + 3], false, lmp); - if (set[index].pgain <= 0.0) - error->all(FLERR, "Illegal fix deform/pressure pressure gain, must be positive"); - iarg += 4; - } else error->all(FLERR, "Illegal fix deform/pressure command argument: {}", arg[iarg + 1]); - - } else if (strcmp(arg[iarg], "xy") == 0 || - strcmp(arg[iarg], "xz") == 0 || - strcmp(arg[iarg], "yz") == 0) { - - if (triclinic == 0) - error->all(FLERR, "fix deform/pressure tilt factors require triclinic box"); - if (strcmp(arg[iarg], "xy") == 0) index = 5; - else if (strcmp(arg[iarg], "xz") == 0) index = 4; - else if (strcmp(arg[iarg], "yz") == 0) index = 3; - - if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure", error); - if (strcmp(arg[iarg + 1], "final") == 0) { - if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure final", error); - set[index].style = FINAL; - set[index].ftilt = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - iarg += 3; - } else if (strcmp(arg[iarg + 1], "delta") == 0) { - if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure delta", error); - set[index].style = DELTA; - set[index].dtilt = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - iarg += 3; - } else if (strcmp(arg[iarg + 1], "vel") == 0) { - if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure vel", error); - set[index].style = VEL; - set[index].vel = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - iarg += 3; - } else if (strcmp(arg[iarg + 1], "erate") == 0) { - if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure erate", error); - set[index].style = ERATE; - set[index].rate = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - iarg += 3; - } else if (strcmp(arg[iarg + 1], "trate") == 0) { - if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure trate", error); - set[index].style = TRATE; - set[index].rate = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - iarg += 3; - } else if (strcmp(arg[iarg + 1], "wiggle") == 0) { - if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure wiggle", error); - set[index].style = WIGGLE; - set[index].amplitude = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - set[index].tperiod = utils::numeric(FLERR, arg[iarg + 3], false, lmp); - if (set[index].tperiod <= 0.0) - error->all(FLERR, "Illegal fix deform/pressure wiggle period, must be positive"); - iarg += 4; - } else if (strcmp(arg[iarg + 1], "variable") == 0) { - if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure variable", error); - set[index].style = VARIABLE; - if (strstr(arg[iarg + 2], "v_") != arg[iarg + 2]) - error->all(FLERR, "Illegal fix deform/pressure variable name {}", arg[iarg + 2]); - if (strstr(arg[iarg + 3], "v_") != arg[iarg + 3]) - error->all(FLERR, "Illegal fix deform/pressure variable name {}", arg[iarg + 3]); - delete[] set[index].hstr; - delete[] set[index].hratestr; - set[index].hstr = utils::strdup(&arg[iarg + 2][2]); - set[index].hratestr = utils::strdup(&arg[iarg + 3][2]); - iarg += 4; - } else if (strcmp(arg[iarg + 1], "pressure") == 0) { - if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure pressure", error); - set[index].style = PRESSURE; - if (strstr(arg[iarg + 2], "v_") != arg[iarg + 2]) { - set[index].ptarget = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - } else { - set[index].pstr = utils::strdup(&arg[iarg + 2][2]); - set[index].pvar_flag = 1; - } - set[index].pgain = utils::numeric(FLERR, arg[iarg + 3], false, lmp); - if (set[index].pgain <= 0.0) - error->all(FLERR, "Illegal fix deform/pressure pressure gain, must be positive"); - iarg += 4; - } else error->all(FLERR, "Illegal fix deform/pressure command: {}", arg[iarg + 1]); - } else if (strcmp(arg[iarg], "iso") == 0) { - index = 6; - if (strcmp(arg[iarg + 1], "volume") == 0) { - set[index].style = VOLUME; - iarg += 2; - } else if (strcmp(arg[iarg + 1], "pressure") == 0) { - if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure pressure", error); - set[index].style = PRESSURE; - if (strstr(arg[iarg + 2], "v_") != arg[iarg + 2]) { - set[index].ptarget = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - } else { - set[index].pstr = utils::strdup(&arg[iarg + 2][2]); - set[index].pvar_flag = 1; - } - set[index].pgain = utils::numeric(FLERR, arg[iarg + 3], false, lmp); - if (set[index].pgain <= 0.0) - error->all(FLERR, "Illegal fix deform/pressure pressure gain, must be positive"); - iarg += 4; - } - } else break; - } - - while (iarg < narg) { - if (strcmp(arg[iarg], "remap") == 0) { - if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure remap", error); - if (strcmp(arg[iarg + 1], "x") == 0) remapflag = Domain::X_REMAP; - else if (strcmp(arg[iarg + 1], "v") == 0) remapflag = Domain::V_REMAP; - else if (strcmp(arg[iarg + 1], "none") == 0) remapflag = Domain::NO_REMAP; - else error->all(FLERR, "Illegal fix deform/pressure remap command: {}", arg[iarg + 1]); - iarg += 2; - } else if (strcmp(arg[iarg], "units") == 0) { - if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure units", error); - if (strcmp(arg[iarg + 1], "box") == 0) scaleflag = 0; - else if (strcmp(arg[iarg + 1], "lattice") == 0) scaleflag = 1; - else error->all(FLERR, "Illegal fix deform/pressure units command: {}", arg[iarg + 1]); - iarg += 2; - } else if (strcmp(arg[iarg], "flip") == 0) { - if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure flip", error); - flipflag = utils::logical(FLERR, arg[iarg + 1], false, lmp); - iarg += 2; - } else if (strcmp(arg[iarg], "couple") == 0) { + if (strcmp(arg[iarg], "couple") == 0) { if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure couple", error); if (strcmp(arg[iarg + 1], "xyz") == 0) pcouple = XYZ; else if (strcmp(arg[iarg + 1], "xy") == 0) pcouple = XY; else if (strcmp(arg[iarg + 1], "yz") == 0) pcouple = YZ; else if (strcmp(arg[iarg + 1], "xz") == 0) pcouple = XZ; else if (strcmp(arg[iarg + 1], "none") == 0) pcouple = NOCOUPLE; - else error->all(FLERR, "Illegal fix fix deform/pressure couple command: {}", arg[iarg + 1]); + else error->all(FLERR, "Illegal fix deform/pressure couple command: {}", arg[iarg + 1]); iarg += 2; } else if (strcmp(arg[iarg], "max/rate") == 0) { if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure max/rate", error); @@ -847,10 +860,6 @@ void FixDeformPressure::options(int narg, char **arg) iarg += 2; } else error->all(FLERR, "Illegal fix deform/pressure command: {}", arg[iarg]); } - - if (dimension == 2) - if (pcouple == XYZ || pcouple == XZ || pcouple == YZ) - error->all(FLERR, "Cannot couple Z dimension in fix deform/pressure in 2D"); } /* ---------------------------------------------------------------------- */ diff --git a/src/EXTRA-FIX/fix_deform_pressure.h b/src/EXTRA-FIX/fix_deform_pressure.h index 7e4ad6e35a..41b93f6e98 100644 --- a/src/EXTRA-FIX/fix_deform_pressure.h +++ b/src/EXTRA-FIX/fix_deform_pressure.h @@ -31,6 +31,8 @@ class FixDeformPressure : public FixDeform { void init() override; void setup(int) override; void end_of_step() override; + void write_restart(FILE *) override; + void restart(char *buf) override; int modify_param(int, char **) override; protected: @@ -46,10 +48,22 @@ class FixDeformPressure : public FixDeform { class Compute *temperature, *pressure; int tflag, pflag; + struct SetExtra { + double ptarget, pgain; + double prior_pressure, prior_rate; + double cumulative_strain; + int saved; + char *pstr; + int pvar, pvar_flag; + int coupled_flag; + }; + SetExtra *set_extra; + Set set_box; + void options(int, char **); - void set_pressure(); - void set_volume(); - void set_iso(); + void apply_volume() override; + void apply_pressure(); + void apply_box(); void couple(); void adjust_linked_rates(double&, double&, double, double, double); }; diff --git a/src/fix_deform.cpp b/src/fix_deform.cpp index cf45a12f5d..ea68574bf2 100644 --- a/src/fix_deform.cpp +++ b/src/fix_deform.cpp @@ -34,6 +34,8 @@ #include #include +#include +#include using namespace LAMMPS_NS; using namespace FixConst; @@ -56,15 +58,174 @@ irregular(nullptr), set(nullptr) nevery = utils::inumeric(FLERR, arg[3], false, lmp); if (nevery <= 0) error->all(FLERR, "Illegal fix deform command"); + // arguments for child classes + + std::unordered_set child_parameters; + std::unordered_map child_styles; + int nskip; + if (utils::strmatch(style, "pressure$")) { + child_parameters.insert("box"); + child_styles.insert({{"pressure", 4}, {"pressure/mean", 4}, {"volume", 3}}); + } + // set defaults - set = new Set[7]; - memset(set, 0, 7 * sizeof(Set)); + set = new Set[6]; + memset(set, 0, 6 * sizeof(Set)); // parse arguments + int index; + int iarg = 4; + while (iarg < narg) { + if (strcmp(arg[iarg], "x") == 0 || + strcmp(arg[iarg], "y") == 0 || + strcmp(arg[iarg], "z") == 0) { + + if (strcmp(arg[iarg], "x") == 0) index = 0; + else if (strcmp(arg[iarg], "y") == 0) index = 1; + else if (strcmp(arg[iarg], "z") == 0) index = 2; + + if (strcmp(arg[iarg + 1], "final") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform final", error); + set[index].style = FINAL; + set[index].flo = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + set[index].fhi = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + iarg += 4; + } else if (strcmp(arg[iarg + 1], "delta") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform delta", error); + set[index].style = DELTA; + set[index].dlo = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + set[index].dhi = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + iarg += 4; + } else if (strcmp(arg[iarg + 1], "scale") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform scale", error); + set[index].style = SCALE; + set[index].scale = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + iarg += 3; + } else if (strcmp(arg[iarg + 1], "vel") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform vel", error); + set[index].style = VEL; + set[index].vel = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + iarg += 3; + } else if (strcmp(arg[iarg + 1], "erate") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform erate", error); + set[index].style = ERATE; + set[index].rate = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + iarg += 3; + } else if (strcmp(arg[iarg + 1], "trate") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform trate", error); + set[index].style = TRATE; + set[index].rate = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + iarg += 3; + } else if (strcmp(arg[iarg + 1], "volume") == 0) { + set[index].style = VOLUME; + iarg += 2; + } else if (strcmp(arg[iarg + 1], "wiggle") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform wiggle", error); + set[index].style = WIGGLE; + set[index].amplitude = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + set[index].tperiod = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + if (set[index].tperiod <= 0.0) + error->all(FLERR, "Illegal fix deform wiggle period, must be positive"); + iarg += 4; + } else if (strcmp(arg[iarg + 1], "variable") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform variable", error); + set[index].style = VARIABLE; + if (strstr(arg[iarg + 2], "v_") != arg[iarg + 2]) + error->all(FLERR, "Illegal fix deform variable name {}", arg[iarg + 2]); + if (strstr(arg[iarg + 3], "v_") != arg[iarg + 3]) + error->all(FLERR, "Illegal fix deform variable name {}", arg[iarg + 3]); + delete[] set[index].hstr; + delete[] set[index].hratestr; + set[index].hstr = utils::strdup(&arg[iarg + 2][2]); + set[index].hratestr = utils::strdup(&arg[iarg + 3][2]); + iarg += 4; + } else if (child_styles.find(arg[iarg + 1]) != child_styles.end()) { + nskip = child_styles[arg[iarg + 1]]; + if (iarg + nskip > narg) + utils::missing_cmd_args(FLERR, fmt::format("fix {} {}", style, arg[iarg + 1]), error); + iarg += nskip; + } error->all(FLERR, "Illegal fix deform command argument: {}", arg[iarg + 1]); + + } else if (strcmp(arg[iarg], "xy") == 0 || + strcmp(arg[iarg], "xz") == 0 || + strcmp(arg[iarg], "yz") == 0) { + + if (strcmp(arg[iarg], "xy") == 0) index = 5; + else if (strcmp(arg[iarg], "xz") == 0) index = 4; + else if (strcmp(arg[iarg], "yz") == 0) index = 3; + + if (strcmp(arg[iarg + 1], "final") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform final", error); + set[index].style = FINAL; + set[index].ftilt = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + iarg += 3; + } else if (strcmp(arg[iarg + 1], "delta") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform delta", error); + set[index].style = DELTA; + set[index].dtilt = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + iarg += 3; + } else if (strcmp(arg[iarg + 1], "vel") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform vel", error); + set[index].style = VEL; + set[index].vel = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + iarg += 3; + } else if (strcmp(arg[iarg + 1], "erate") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform erate", error); + set[index].style = ERATE; + set[index].rate = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + iarg += 3; + } else if (strcmp(arg[iarg + 1], "trate") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform trate", error); + set[index].style = TRATE; + set[index].rate = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + iarg += 3; + } else if (strcmp(arg[iarg + 1], "wiggle") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform wiggle", error); + set[index].style = WIGGLE; + set[index].amplitude = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + set[index].tperiod = utils::numeric(FLERR, arg[iarg + 3], false, lmp); + if (set[index].tperiod <= 0.0) + error->all(FLERR, "Illegal fix deform wiggle period, must be positive"); + iarg += 4; + } else if (strcmp(arg[iarg + 1], "variable") == 0) { + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform variable", error); + set[index].style = VARIABLE; + if (strstr(arg[iarg + 2], "v_") != arg[iarg + 2]) + error->all(FLERR, "Illegal fix deform variable name {}", arg[iarg + 2]); + if (strstr(arg[iarg + 3], "v_") != arg[iarg + 3]) + error->all(FLERR, "Illegal fix deform variable name {}", arg[iarg + 3]); + delete[] set[index].hstr; + delete[] set[index].hratestr; + set[index].hstr = utils::strdup(&arg[iarg + 2][2]); + set[index].hratestr = utils::strdup(&arg[iarg + 3][2]); + iarg += 4; + } else if (child_styles.find(arg[iarg + 1]) != child_styles.end()) { + nskip = child_styles[arg[iarg + 1]]; + if (iarg + nskip > narg) + utils::missing_cmd_args(FLERR, fmt::format("fix {} {}", style, arg[iarg + 1]), error); + iarg += nskip; + } error->all(FLERR, "Illegal fix deform command argument: {}", arg[iarg + 1]); + } else if (child_parameters.find(arg[iarg]) != child_parameters.end()) { + if (child_styles.find(arg[iarg + 1]) != child_styles.end()) { + nskip = child_styles[arg[iarg + 1]]; + if (iarg + nskip > narg) + utils::missing_cmd_args(FLERR, fmt::format("fix {} {}", style, arg[iarg + 1]), error); + iarg += nskip; + } error->all(FLERR, "Illegal fix {} command argument: {}", style, arg[iarg + 1]); + } else break; + } + + // reparse all arguments for optional keywords + + options(narg - 4, &arg[4]); + + // check triclinic + triclinic = domain->triclinic; - options(narg, arg); + if (triclinic == 0 && (set[3].style || set[4].style || set[5].style)) + error->all(FLERR, "Fix deform tilt factors require triclinic box"); // no x remap effectively moves atoms within box, so set restart_pbc @@ -76,12 +237,6 @@ irregular(nullptr), set(nullptr) if (set[i].style == NONE) dimflag[i] = 0; else dimflag[i] = 1; - if (set[6].style != NONE) { - dimflag[0] = 1; - dimflag[1] = 1; - dimflag[2] = 1; - } - if (dimflag[0]) box_change |= BOX_CHANGE_X; if (dimflag[1]) box_change |= BOX_CHANGE_Y; if (dimflag[2]) box_change |= BOX_CHANGE_Z; @@ -93,7 +248,7 @@ irregular(nullptr), set(nullptr) // b/c shrink wrap will change box-length for (int i = 0; i < 3; i++) - if ((set[i].style || set[6].style) && (domain->boundary[i][0] >= 2 || domain->boundary[i][1] >= 2)) + if (set[i].style && (domain->boundary[i][0] >= 2 || domain->boundary[i][1] >= 2)) error->all(FLERR, "Cannot use fix deform on a shrink-wrapped boundary"); // no tilt deformation on shrink-wrapped 2nd dim @@ -113,7 +268,7 @@ irregular(nullptr), set(nullptr) if (set[i].style == FINAL || set[i].style == DELTA || set[i].style == VEL || set[i].style == WIGGLE) flag = 1; - double xscale,yscale,zscale; + double xscale, yscale, zscale; if (flag && scaleflag) { xscale = domain->lattice->xlattice; yscale = domain->lattice->ylattice; @@ -187,10 +342,8 @@ irregular(nullptr), set(nullptr) // set varflag varflag = 0; - for (int i = 0; i < 7; i++) { + for (int i = 0; i < 6; i++) if (set[i].style == VARIABLE) varflag = 1; - if (set[i].pvar_flag) varflag = 1; - } // set initial values at time fix deform is issued @@ -202,7 +355,6 @@ irregular(nullptr), set(nullptr) set[3].tilt_initial = domain->yz; set[4].tilt_initial = domain->xz; set[5].tilt_initial = domain->xy; - set[6].vol_initial = domain->xprd * domain->yprd * domain->zprd; // reneighboring only forced if flips can occur due to shape changes @@ -231,10 +383,9 @@ irregular(nullptr), set(nullptr) FixDeform::~FixDeform() { if (set) { - for (int i = 0; i < 7; i++) { + for (int i = 0; i < 6; i++) { delete[] set[i].hstr; delete[] set[i].hratestr; - delete[] set[i].pstr; } } delete[] set; @@ -282,7 +433,7 @@ void FixDeform::init() // check variables for VARIABLE style - for (int i = 0; i < 7; i++) { + for (int i = 0; i < 6; i++) { if (set[i].style != VARIABLE) continue; set[i].hvar = input->variable->find(set[i].hstr); if (set[i].hvar < 0) @@ -403,8 +554,6 @@ void FixDeform::init() } } - set[6].vol_start = domain->xprd * domain->yprd * domain->zprd; - // if using tilt TRATE, then initial tilt must be non-zero for (int i = 3; i < 6; i++) @@ -520,16 +669,16 @@ void FixDeform::end_of_step() // set new box size for strain-based dims - set_strain(); + apply_strain(); // set new box size for VOLUME dims that are linked to other dims // NOTE: still need to set h_rate for these dims - set_volume(); + apply_volume(); if (varflag) modify->addstep_compute(update->ntimestep + nevery); - apply_deformation(); + update_domain(); // redo KSpace coeffs since box has changed @@ -537,10 +686,10 @@ void FixDeform::end_of_step() } /* ---------------------------------------------------------------------- - set box size for strain-based dimensions + apply strain controls ------------------------------------------------------------------------- */ -void FixDeform::set_strain() +void FixDeform::apply_strain() { // for NONE, target is current box size // for TRATE, set target directly based on current time, also set h_rate @@ -620,10 +769,10 @@ void FixDeform::set_strain() } /* ---------------------------------------------------------------------- - set box size for VOLUME dimensions + apply volume controls ------------------------------------------------------------------------- */ -void FixDeform::set_volume() +void FixDeform::apply_volume() { double e1, e2; @@ -657,10 +806,10 @@ void FixDeform::set_volume() } /* ---------------------------------------------------------------------- - Apply calculated deformation + Update box domain ------------------------------------------------------------------------- */ -void FixDeform::apply_deformation() +void FixDeform::update_domain() { // tilt_target can be large positive or large negative value // add/subtract box lengths until tilt_target is closest to current value @@ -766,22 +915,22 @@ void FixDeform::apply_deformation() // reset global and local box to new size/shape // only if deform fix is controlling the dimension - if (set[0].style || set[6].style) { + if (dimflag[0]) { domain->boxlo[0] = set[0].lo_target; domain->boxhi[0] = set[0].hi_target; } - if (set[1].style || set[6].style) { + if (dimflag[1]) { domain->boxlo[1] = set[1].lo_target; domain->boxhi[1] = set[1].hi_target; } - if (set[2].style || set[6].style) { + if (dimflag[2]) { domain->boxlo[2] = set[2].lo_target; domain->boxhi[2] = set[2].hi_target; } if (triclinic) { - if (set[3].style) domain->yz = set[3].tilt_target; - if (set[4].style) domain->xz = set[4].tilt_target; - if (set[5].style) domain->xy = set[5].tilt_target; + if (dimflag[3]) domain->yz = set[3].tilt_target; + if (dimflag[4]) domain->xz = set[4].tilt_target; + if (dimflag[5]) domain->xy = set[5].tilt_target; } domain->set_global_box(); @@ -810,11 +959,11 @@ void FixDeform::apply_deformation() void FixDeform::write_restart(FILE *fp) { if (comm->me == 0) { - int size = 9 * sizeof(double) + 7 * sizeof(Set); + int size = 9 * sizeof(double) + 6 * sizeof(Set); fwrite(&size, sizeof(int), 1, fp); fwrite(h_rate, sizeof(double), 6, fp); fwrite(h_ratelo, sizeof(double), 3, fp); - fwrite(set, sizeof(Set), 7, fp); + fwrite(set, sizeof(Set), 6, fp); } } @@ -833,16 +982,12 @@ void FixDeform::restart(char *buf) int samestyle = 1; Set *set_restart = (Set *) &buf[n * sizeof(double)]; - for (int i = 0; i < 7; ++i) { + for (int i = 0; i < 6; ++i) { // restore data from initial state set[i].lo_initial = set_restart[i].lo_initial; set[i].hi_initial = set_restart[i].hi_initial; set[i].vol_initial = set_restart[i].vol_initial; set[i].tilt_initial = set_restart[i].tilt_initial; - set[i].saved = set_restart[i].saved; - set[i].prior_rate = set_restart[i].prior_rate; - set[i].prior_pressure = set_restart[i].prior_pressure; - set[i].cumulative_strain = set_restart[i].cumulative_strain; // check if style settings are consistent (should do the whole set?) if (set[i].style != set_restart[i].style) samestyle = 0; @@ -863,135 +1008,14 @@ void FixDeform::options(int narg, char **arg) scaleflag = 1; flipflag = 1; - int index; - int iarg = 4; - while (iarg < narg) { - if (strcmp(arg[iarg], "x") == 0 || - strcmp(arg[iarg], "y") == 0 || - strcmp(arg[iarg], "z") == 0) { + // arguments for child classes - if (strcmp(arg[iarg], "x") == 0) index = 0; - else if (strcmp(arg[iarg], "y") == 0) index = 1; - else if (strcmp(arg[iarg], "z") == 0) index = 2; - - if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform", error); - if (strcmp(arg[iarg + 1], "final") == 0) { - if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform final", error); - set[index].style = FINAL; - set[index].flo = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - set[index].fhi = utils::numeric(FLERR, arg[iarg + 3], false, lmp); - iarg += 4; - } else if (strcmp(arg[iarg + 1], "delta") == 0) { - if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform delta", error); - set[index].style = DELTA; - set[index].dlo = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - set[index].dhi = utils::numeric(FLERR, arg[iarg + 3], false, lmp); - iarg += 4; - } else if (strcmp(arg[iarg + 1], "scale") == 0) { - if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform scale", error); - set[index].style = SCALE; - set[index].scale = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - iarg += 3; - } else if (strcmp(arg[iarg + 1], "vel") == 0) { - if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform vel", error); - set[index].style = VEL; - set[index].vel = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - iarg += 3; - } else if (strcmp(arg[iarg + 1], "erate") == 0) { - if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform erate", error); - set[index].style = ERATE; - set[index].rate = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - iarg += 3; - } else if (strcmp(arg[iarg + 1], "trate") == 0) { - if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform trate", error); - set[index].style = TRATE; - set[index].rate = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - iarg += 3; - } else if (strcmp(arg[iarg + 1], "volume") == 0) { - set[index].style = VOLUME; - iarg += 2; - } else if (strcmp(arg[iarg + 1], "wiggle") == 0) { - if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform wiggle", error); - set[index].style = WIGGLE; - set[index].amplitude = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - set[index].tperiod = utils::numeric(FLERR, arg[iarg + 3], false, lmp); - if (set[index].tperiod <= 0.0) - error->all(FLERR, "Illegal fix deform wiggle period, must be positive"); - iarg += 4; - } else if (strcmp(arg[iarg + 1], "variable") == 0) { - if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform variable", error); - set[index].style = VARIABLE; - if (strstr(arg[iarg + 2], "v_") != arg[iarg + 2]) - error->all(FLERR, "Illegal fix deform variable name {}", arg[iarg + 2]); - if (strstr(arg[iarg + 3], "v_") != arg[iarg + 3]) - error->all(FLERR, "Illegal fix deform variable name {}", arg[iarg + 3]); - delete[] set[index].hstr; - delete[] set[index].hratestr; - set[index].hstr = utils::strdup(&arg[iarg + 2][2]); - set[index].hratestr = utils::strdup(&arg[iarg + 3][2]); - iarg += 4; - } else error->all(FLERR, "Illegal fix deform command argument: {}", arg[iarg + 1]); - - } else if (strcmp(arg[iarg], "xy") == 0 || - strcmp(arg[iarg], "xz") == 0 || - strcmp(arg[iarg], "yz") == 0) { - - if (triclinic == 0) - error->all(FLERR, "Fix deform tilt factors require triclinic box"); - if (strcmp(arg[iarg], "xy") == 0) index = 5; - else if (strcmp(arg[iarg], "xz") == 0) index = 4; - else if (strcmp(arg[iarg], "yz") == 0) index = 3; - - if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform", error); - if (strcmp(arg[iarg + 1], "final") == 0) { - if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform final", error); - set[index].style = FINAL; - set[index].ftilt = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - iarg += 3; - } else if (strcmp(arg[iarg + 1], "delta") == 0) { - if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform delta", error); - set[index].style = DELTA; - set[index].dtilt = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - iarg += 3; - } else if (strcmp(arg[iarg + 1], "vel") == 0) { - if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform vel", error); - set[index].style = VEL; - set[index].vel = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - iarg += 3; - } else if (strcmp(arg[iarg + 1], "erate") == 0) { - if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform erate", error); - set[index].style = ERATE; - set[index].rate = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - iarg += 3; - } else if (strcmp(arg[iarg + 1], "trate") == 0) { - if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform trate", error); - set[index].style = TRATE; - set[index].rate = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - iarg += 3; - } else if (strcmp(arg[iarg + 1], "wiggle") == 0) { - if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform wiggle", error); - set[index].style = WIGGLE; - set[index].amplitude = utils::numeric(FLERR, arg[iarg + 2], false, lmp); - set[index].tperiod = utils::numeric(FLERR, arg[iarg + 3], false, lmp); - if (set[index].tperiod <= 0.0) - error->all(FLERR, "Illegal fix deform wiggle period, must be positive"); - iarg += 4; - } else if (strcmp(arg[iarg + 1], "variable") == 0) { - if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform variable", error); - set[index].style = VARIABLE; - if (strstr(arg[iarg + 2], "v_") != arg[iarg + 2]) - error->all(FLERR, "Illegal fix deform variable name {}", arg[iarg + 2]); - if (strstr(arg[iarg + 3], "v_") != arg[iarg + 3]) - error->all(FLERR, "Illegal fix deform variable name {}", arg[iarg + 3]); - delete[] set[index].hstr; - delete[] set[index].hratestr; - set[index].hstr = utils::strdup(&arg[iarg + 2][2]); - set[index].hratestr = utils::strdup(&arg[iarg + 3][2]); - iarg += 4; - } else error->all(FLERR, "Illegal fix deform command: {}", arg[iarg + 1]); - } else break; - } + std::unordered_map child_options; + int nskip; + if (utils::strmatch(style, "pressure$")) + child_options.insert({{"couple", 2}, {"max/rate", 2}, {"normalize/pressure", 2}, {"vol/balance/p", 2}}); + int iarg = 0; while (iarg < narg) { if (strcmp(arg[iarg], "remap") == 0) { if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform remap", error); @@ -1010,6 +1034,11 @@ void FixDeform::options(int narg, char **arg) if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform flip", error); flipflag = utils::logical(FLERR, arg[iarg + 1], false, lmp); iarg += 2; + } else if (child_options.find(arg[iarg]) != child_options.end()) { + nskip = child_options[arg[iarg]]; + if (iarg + nskip > narg) + utils::missing_cmd_args(FLERR, fmt::format("fix {} {}", style, arg[iarg]), error); + iarg += nskip; } else error->all(FLERR, "Illegal fix deform command: {}", arg[iarg]); } } diff --git a/src/fix_deform.h b/src/fix_deform.h index 16a563cf4f..69f62fe558 100644 --- a/src/fix_deform.h +++ b/src/fix_deform.h @@ -35,8 +35,8 @@ class FixDeform : public Fix { void init() override; void pre_exchange() override; void end_of_step() override; - void write_restart(FILE *) override; - void restart(char *buf) override; + void virtual write_restart(FILE *) override; + void virtual restart(char *buf) override; double memory_usage() override; protected: @@ -59,22 +59,16 @@ class FixDeform : public Fix { double tilt_initial, tilt_start, tilt_stop, tilt_target, tilt_flip; double tilt_min, tilt_max; double vol_initial, vol_start; - double ptarget, pgain; - double prior_pressure, prior_rate; - double cumulative_strain; - int saved; int fixed, dynamic1, dynamic2; - char *hstr, *hratestr, *pstr; + char *hstr, *hratestr; int hvar, hratevar; - int pvar, pvar_flag; - int coupled_flag; }; Set *set; void options(int, char **); - void set_strain(); - void set_volume(); - void apply_deformation(); + void virtual apply_volume(); + void apply_strain(); + void update_domain(); }; } // namespace LAMMPS_NS From a835c5f3d98be243bd0e5b9f95b382da5f1c0229 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Tue, 30 Jan 2024 15:50:40 -0700 Subject: [PATCH 109/559] Restoring some error message locations, minor edits --- src/EXTRA-FIX/fix_deform_pressure.cpp | 6 ------ src/fix_deform.cpp | 19 ++++++++++--------- 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/src/EXTRA-FIX/fix_deform_pressure.cpp b/src/EXTRA-FIX/fix_deform_pressure.cpp index 7f3a627b66..7fb60e13fb 100644 --- a/src/EXTRA-FIX/fix_deform_pressure.cpp +++ b/src/EXTRA-FIX/fix_deform_pressure.cpp @@ -138,12 +138,6 @@ id_temp(nullptr), id_press(nullptr) options(narg - iarg, &arg[iarg]); - // repeat: check triclinic - - dimension = domain->dimension; - if (triclinic == 0 && (set[3].style || set[4].style || set[5].style)) - error->all(FLERR, "Fix deform tilt factors require triclinic box"); - // repeat: setup dimflags used by other classes to check for volume-change conflicts for (int i = 0; i < 6; i++) diff --git a/src/fix_deform.cpp b/src/fix_deform.cpp index ea68574bf2..94b28a5cd3 100644 --- a/src/fix_deform.cpp +++ b/src/fix_deform.cpp @@ -75,6 +75,8 @@ irregular(nullptr), set(nullptr) // parse arguments + triclinic = domain->triclinic; + int index; int iarg = 4; while (iarg < narg) { @@ -86,6 +88,7 @@ irregular(nullptr), set(nullptr) else if (strcmp(arg[iarg], "y") == 0) index = 1; else if (strcmp(arg[iarg], "z") == 0) index = 2; + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform", error); if (strcmp(arg[iarg + 1], "final") == 0) { if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform final", error); set[index].style = FINAL; @@ -152,10 +155,14 @@ irregular(nullptr), set(nullptr) strcmp(arg[iarg], "xz") == 0 || strcmp(arg[iarg], "yz") == 0) { + + if (triclinic == 0) + error->all(FLERR,"Fix deform tilt factors require triclinic box"); if (strcmp(arg[iarg], "xy") == 0) index = 5; else if (strcmp(arg[iarg], "xz") == 0) index = 4; else if (strcmp(arg[iarg], "yz") == 0) index = 3; + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform", error); if (strcmp(arg[iarg + 1], "final") == 0) { if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform final", error); set[index].style = FINAL; @@ -217,15 +224,9 @@ irregular(nullptr), set(nullptr) } else break; } - // reparse all arguments for optional keywords + // read options from end of input line - options(narg - 4, &arg[4]); - - // check triclinic - - triclinic = domain->triclinic; - if (triclinic == 0 && (set[3].style || set[4].style || set[5].style)) - error->all(FLERR, "Fix deform tilt factors require triclinic box"); + options(narg - iarg, &arg[iarg]); // no x remap effectively moves atoms within box, so set restart_pbc @@ -787,7 +788,7 @@ void FixDeform::apply_volume() if (set[i].substyle == ONE_FROM_ONE) { shift = 0.5 * (v0 / (set[dynamic1].hi_target - set[dynamic1].lo_target) / - (set[fixed].hi_start-set[fixed].lo_start)); + (set[fixed].hi_start - set[fixed].lo_start)); } else if (set[i].substyle == ONE_FROM_TWO) { shift = 0.5 * (v0 / (set[dynamic1].hi_target - set[dynamic1].lo_target) / (set[dynamic2].hi_target - set[dynamic2].lo_target)); From 103dc9ef668153a9494593c5952278358a7c1669 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 30 Jan 2024 19:21:48 -0500 Subject: [PATCH 110/559] fix missing "else" bug --- src/fix_deform.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/fix_deform.cpp b/src/fix_deform.cpp index 94b28a5cd3..8e9b489979 100644 --- a/src/fix_deform.cpp +++ b/src/fix_deform.cpp @@ -149,7 +149,7 @@ irregular(nullptr), set(nullptr) if (iarg + nskip > narg) utils::missing_cmd_args(FLERR, fmt::format("fix {} {}", style, arg[iarg + 1]), error); iarg += nskip; - } error->all(FLERR, "Illegal fix deform command argument: {}", arg[iarg + 1]); + } else error->all(FLERR, "Illegal fix deform command argument: {}", arg[iarg + 1]); } else if (strcmp(arg[iarg], "xy") == 0 || strcmp(arg[iarg], "xz") == 0 || @@ -213,7 +213,7 @@ irregular(nullptr), set(nullptr) if (iarg + nskip > narg) utils::missing_cmd_args(FLERR, fmt::format("fix {} {}", style, arg[iarg + 1]), error); iarg += nskip; - } error->all(FLERR, "Illegal fix deform command argument: {}", arg[iarg + 1]); + } else error->all(FLERR, "Illegal fix deform command argument: {}", arg[iarg + 1]); } else if (child_parameters.find(arg[iarg]) != child_parameters.end()) { if (child_styles.find(arg[iarg + 1]) != child_styles.end()) { nskip = child_styles[arg[iarg + 1]]; From 9d46408fa41c0122b77e9140d77e23ca05812161 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 30 Jan 2024 19:23:40 -0500 Subject: [PATCH 111/559] delete unused variables --- src/fix_deform.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/fix_deform.cpp b/src/fix_deform.cpp index 8e9b489979..cf4a1242c0 100644 --- a/src/fix_deform.cpp +++ b/src/fix_deform.cpp @@ -741,8 +741,6 @@ void FixDeform::apply_strain() // for other styles, target is linear value between start and stop values if (triclinic) { - double *h = domain->h; - for (int i = 3; i < 6; i++) { if (set[i].style == NONE) { if (i == 5) set[i].tilt_target = domain->xy; @@ -775,8 +773,6 @@ void FixDeform::apply_strain() void FixDeform::apply_volume() { - double e1, e2; - for (int i = 0; i < 3; i++) { if (set[i].style != VOLUME) continue; From 840577114ee1255ce091d5b50e8cf10af66fce72 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 30 Jan 2024 19:38:58 -0500 Subject: [PATCH 112/559] force enumerators to be consistent by moving them to base class declaration --- src/EXTRA-FIX/fix_deform_pressure.cpp | 4 +--- src/fix_deform.cpp | 3 --- src/fix_deform.h | 3 +++ 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/EXTRA-FIX/fix_deform_pressure.cpp b/src/EXTRA-FIX/fix_deform_pressure.cpp index 7fb60e13fb..a1eab08470 100644 --- a/src/EXTRA-FIX/fix_deform_pressure.cpp +++ b/src/EXTRA-FIX/fix_deform_pressure.cpp @@ -41,9 +41,7 @@ using namespace LAMMPS_NS; using namespace FixConst; using namespace MathConst; -enum{NONE=0,FINAL,DELTA,SCALE,VEL,ERATE,TRATE,VOLUME,WIGGLE,VARIABLE,PRESSURE,PMEAN}; -enum{ONE_FROM_ONE,ONE_FROM_TWO,TWO_FROM_ONE}; -enum{NOCOUPLE=0,XYZ,XY,YZ,XZ}; +enum{ NOCOUPLE=0, XYZ, XY, YZ, XZ }; /* ---------------------------------------------------------------------- */ diff --git a/src/fix_deform.cpp b/src/fix_deform.cpp index cf4a1242c0..7f9ec14c5d 100644 --- a/src/fix_deform.cpp +++ b/src/fix_deform.cpp @@ -41,9 +41,6 @@ using namespace LAMMPS_NS; using namespace FixConst; using namespace MathConst; -enum{NONE=0,FINAL,DELTA,SCALE,VEL,ERATE,TRATE,VOLUME,WIGGLE,VARIABLE}; -enum{ONE_FROM_ONE,ONE_FROM_TWO,TWO_FROM_ONE}; - /* ---------------------------------------------------------------------- */ FixDeform::FixDeform(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), diff --git a/src/fix_deform.h b/src/fix_deform.h index 69f62fe558..fa92b851e6 100644 --- a/src/fix_deform.h +++ b/src/fix_deform.h @@ -29,6 +29,9 @@ class FixDeform : public Fix { int remapflag; // whether x,v are remapped across PBC int dimflag[6]; // which dims are deformed + enum { NONE, FINAL, DELTA, SCALE, VEL, ERATE, TRATE, VOLUME, WIGGLE, VARIABLE, PRESSURE, PMEAN }; + enum { ONE_FROM_ONE, ONE_FROM_TWO, TWO_FROM_ONE }; + FixDeform(class LAMMPS *, int, char **); ~FixDeform() override; int setmask() override; From bff789aac9bcaa4e607d8f334c393814c2c8f62e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 30 Jan 2024 20:03:26 -0500 Subject: [PATCH 113/559] silence compiler warnings and update format --- src/EXTRA-FIX/fix_deform_pressure.cpp | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/EXTRA-FIX/fix_deform_pressure.cpp b/src/EXTRA-FIX/fix_deform_pressure.cpp index a1eab08470..9fb85843a2 100644 --- a/src/EXTRA-FIX/fix_deform_pressure.cpp +++ b/src/EXTRA-FIX/fix_deform_pressure.cpp @@ -41,12 +41,12 @@ using namespace LAMMPS_NS; using namespace FixConst; using namespace MathConst; -enum{ NOCOUPLE=0, XYZ, XY, YZ, XZ }; +enum { NOCOUPLE = 0, XYZ, XY, YZ, XZ }; /* ---------------------------------------------------------------------- */ -FixDeformPressure::FixDeformPressure(LAMMPS *lmp, int narg, char **arg) : FixDeform(lmp, narg, arg), -id_temp(nullptr), id_press(nullptr) +FixDeformPressure::FixDeformPressure(LAMMPS *lmp, int narg, char **arg) : + FixDeform(lmp, narg, arg), id_temp(nullptr), id_press(nullptr) { // set defaults @@ -198,8 +198,6 @@ id_temp(nullptr), id_press(nullptr) int coupled_indices[3] = {0}; int j = -1; - double couple_gain, coupled_pressure; - char *couple_str; if (pcouple == XYZ || pcouple == XY || pcouple == XZ) coupled_indices[0] = 1; @@ -626,14 +624,14 @@ void FixDeformPressure::apply_volume() e2 = (Vi - V * (1 + e1 * dt)) / (V * (1 + e1 * dt) * dt); // If strain rate exceeds limit in either dimension, cap it at the maximum compatible rate - if (max_h_rate != 0) - if (fabs(e1) > max_h_rate || fabs(e2) > max_h_rate) + if (max_h_rate != 0) { + if ((fabs(e1) > max_h_rate) || (fabs(e2) > max_h_rate)) { if (fabs(e1) > fabs(e2)) adjust_linked_rates(e1, e2, e3, Vi, V); else adjust_linked_rates(e2, e1, e3, Vi, V); - - + } + } shift = 0.5 * L1i * (1.0 + e1 * dt); linked_pressure = 1; } else { From e649c0e0704b2f899238332639e49582cbbd82f5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 30 Jan 2024 20:04:07 -0500 Subject: [PATCH 114/559] consistent error messages for parent and child class --- src/EXTRA-FIX/fix_deform_pressure.cpp | 10 +-- src/fix_deform.cpp | 125 +++++++++++++------------- 2 files changed, 70 insertions(+), 65 deletions(-) diff --git a/src/EXTRA-FIX/fix_deform_pressure.cpp b/src/EXTRA-FIX/fix_deform_pressure.cpp index 9fb85843a2..91a0591cd2 100644 --- a/src/EXTRA-FIX/fix_deform_pressure.cpp +++ b/src/EXTRA-FIX/fix_deform_pressure.cpp @@ -160,17 +160,17 @@ FixDeformPressure::FixDeformPressure(LAMMPS *lmp, int narg, char **arg) : for (int i = 0; i < 3; i++) if (set_box.style && (domain->boundary[i][0] >= 2 || domain->boundary[i][1] >= 2)) - error->all(FLERR, "Cannot use fix deform on a shrink-wrapped boundary"); + error->all(FLERR, "Cannot use fix deform/pressure on a shrink-wrapped boundary"); // repeat: no tilt deformation on shrink-wrapped 2nd dim // b/c shrink wrap will change tilt factor in domain::reset_box() if (set[3].style && (domain->boundary[2][0] >= 2 || domain->boundary[2][1] >= 2)) - error->all(FLERR, "Cannot use fix deform tilt on a shrink-wrapped 2nd dim"); + error->all(FLERR, "Cannot use fix deform/pressure tilt on a shrink-wrapped 2nd dim"); if (set[4].style && (domain->boundary[2][0] >= 2 || domain->boundary[2][1] >= 2)) - error->all(FLERR, "Cannot use fix deform tilt on a shrink-wrapped 2nd dim"); + error->all(FLERR, "Cannot use fix deform/pressure tilt on a shrink-wrapped 2nd dim"); if (set[5].style && (domain->boundary[1][0] >= 2 || domain->boundary[1][1] >= 2)) - error->all(FLERR, "Cannot use fix deform tilt on a shrink-wrapped 2nd dim"); + error->all(FLERR, "Cannot use fix deform/pressure tilt on a shrink-wrapped 2nd dim"); // repeat: set varflag @@ -184,7 +184,7 @@ FixDeformPressure::FixDeformPressure(LAMMPS *lmp, int narg, char **arg) : irregular = new Irregular(lmp); } - // set initial values at time fix deform is issued + // set initial values at time fix deform/pressure is issued set_box.vol_initial = domain->xprd * domain->yprd * domain->zprd; diff --git a/src/fix_deform.cpp b/src/fix_deform.cpp index 7f9ec14c5d..9c6bfb9d8b 100644 --- a/src/fix_deform.cpp +++ b/src/fix_deform.cpp @@ -46,21 +46,22 @@ using namespace MathConst; FixDeform::FixDeform(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), irregular(nullptr), set(nullptr) { - if (narg < 4) error->all(FLERR, "Illegal fix deform command"); + const std::string thiscmd = fmt::format("fix {}", style); + if (narg < 4) utils::missing_cmd_args(FLERR, thiscmd, error); no_change_box = 1; restart_global = 1; pre_exchange_migrate = 1; nevery = utils::inumeric(FLERR, arg[3], false, lmp); - if (nevery <= 0) error->all(FLERR, "Illegal fix deform command"); + if (nevery <= 0) error->all(FLERR, "Fix {} Nevery must be > 0", style); // arguments for child classes std::unordered_set child_parameters; std::unordered_map child_styles; int nskip; - if (utils::strmatch(style, "pressure$")) { + if (utils::strmatch(style, "^deform/pressure")) { child_parameters.insert("box"); child_styles.insert({{"pressure", 4}, {"pressure/mean", 4}, {"volume", 3}}); } @@ -76,45 +77,46 @@ irregular(nullptr), set(nullptr) int index; int iarg = 4; + while (iarg < narg) { - if (strcmp(arg[iarg], "x") == 0 || - strcmp(arg[iarg], "y") == 0 || - strcmp(arg[iarg], "z") == 0) { + if ((strcmp(arg[iarg], "x") == 0) + || (strcmp(arg[iarg], "y") == 0) + || (strcmp(arg[iarg], "z") == 0)) { if (strcmp(arg[iarg], "x") == 0) index = 0; else if (strcmp(arg[iarg], "y") == 0) index = 1; else if (strcmp(arg[iarg], "z") == 0) index = 2; - if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform", error); + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, thiscmd, error); if (strcmp(arg[iarg + 1], "final") == 0) { - if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform final", error); + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, thiscmd + " final", error); set[index].style = FINAL; set[index].flo = utils::numeric(FLERR, arg[iarg + 2], false, lmp); set[index].fhi = utils::numeric(FLERR, arg[iarg + 3], false, lmp); iarg += 4; } else if (strcmp(arg[iarg + 1], "delta") == 0) { - if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform delta", error); + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, thiscmd + " delta", error); set[index].style = DELTA; set[index].dlo = utils::numeric(FLERR, arg[iarg + 2], false, lmp); set[index].dhi = utils::numeric(FLERR, arg[iarg + 3], false, lmp); iarg += 4; } else if (strcmp(arg[iarg + 1], "scale") == 0) { - if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform scale", error); + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, thiscmd + " scale", error); set[index].style = SCALE; set[index].scale = utils::numeric(FLERR, arg[iarg + 2], false, lmp); iarg += 3; } else if (strcmp(arg[iarg + 1], "vel") == 0) { - if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform vel", error); + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, thiscmd + " vel", error); set[index].style = VEL; set[index].vel = utils::numeric(FLERR, arg[iarg + 2], false, lmp); iarg += 3; } else if (strcmp(arg[iarg + 1], "erate") == 0) { - if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform erate", error); + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, thiscmd + " erate", error); set[index].style = ERATE; set[index].rate = utils::numeric(FLERR, arg[iarg + 2], false, lmp); iarg += 3; } else if (strcmp(arg[iarg + 1], "trate") == 0) { - if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform trate", error); + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, thiscmd + " trate", error); set[index].style = TRATE; set[index].rate = utils::numeric(FLERR, arg[iarg + 2], false, lmp); iarg += 3; @@ -122,20 +124,20 @@ irregular(nullptr), set(nullptr) set[index].style = VOLUME; iarg += 2; } else if (strcmp(arg[iarg + 1], "wiggle") == 0) { - if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform wiggle", error); + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, thiscmd + " wiggle", error); set[index].style = WIGGLE; set[index].amplitude = utils::numeric(FLERR, arg[iarg + 2], false, lmp); set[index].tperiod = utils::numeric(FLERR, arg[iarg + 3], false, lmp); if (set[index].tperiod <= 0.0) - error->all(FLERR, "Illegal fix deform wiggle period, must be positive"); + error->all(FLERR, "Illegal fix {} wiggle period, must be positive", style); iarg += 4; } else if (strcmp(arg[iarg + 1], "variable") == 0) { - if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform variable", error); + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, thiscmd + " variable", error); set[index].style = VARIABLE; if (strstr(arg[iarg + 2], "v_") != arg[iarg + 2]) - error->all(FLERR, "Illegal fix deform variable name {}", arg[iarg + 2]); + error->all(FLERR, "Illegal fix {} variable name {}", style, arg[iarg + 2]); if (strstr(arg[iarg + 3], "v_") != arg[iarg + 3]) - error->all(FLERR, "Illegal fix deform variable name {}", arg[iarg + 3]); + error->all(FLERR, "Illegal fix {} variable name {}", style, arg[iarg + 3]); delete[] set[index].hstr; delete[] set[index].hratestr; set[index].hstr = utils::strdup(&arg[iarg + 2][2]); @@ -146,60 +148,58 @@ irregular(nullptr), set(nullptr) if (iarg + nskip > narg) utils::missing_cmd_args(FLERR, fmt::format("fix {} {}", style, arg[iarg + 1]), error); iarg += nskip; - } else error->all(FLERR, "Illegal fix deform command argument: {}", arg[iarg + 1]); + } else error->all(FLERR, "Illegal fix {} command argument: {}", style, arg[iarg + 1]); - } else if (strcmp(arg[iarg], "xy") == 0 || - strcmp(arg[iarg], "xz") == 0 || - strcmp(arg[iarg], "yz") == 0) { + } else if ((strcmp(arg[iarg], "xy") == 0) + || (strcmp(arg[iarg], "xz") == 0) + || (strcmp(arg[iarg], "yz") == 0)) { - - if (triclinic == 0) - error->all(FLERR,"Fix deform tilt factors require triclinic box"); + if (triclinic == 0) error->all(FLERR,"Fix {} tilt factors require triclinic box", style); if (strcmp(arg[iarg], "xy") == 0) index = 5; else if (strcmp(arg[iarg], "xz") == 0) index = 4; else if (strcmp(arg[iarg], "yz") == 0) index = 3; - if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform", error); + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, thiscmd, error); if (strcmp(arg[iarg + 1], "final") == 0) { - if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform final", error); + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, thiscmd + " final", error); set[index].style = FINAL; set[index].ftilt = utils::numeric(FLERR, arg[iarg + 2], false, lmp); iarg += 3; } else if (strcmp(arg[iarg + 1], "delta") == 0) { - if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform delta", error); + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, thiscmd + " delta", error); set[index].style = DELTA; set[index].dtilt = utils::numeric(FLERR, arg[iarg + 2], false, lmp); iarg += 3; } else if (strcmp(arg[iarg + 1], "vel") == 0) { - if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform vel", error); + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, thiscmd + " vel", error); set[index].style = VEL; set[index].vel = utils::numeric(FLERR, arg[iarg + 2], false, lmp); iarg += 3; } else if (strcmp(arg[iarg + 1], "erate") == 0) { - if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform erate", error); + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, thiscmd + " erate", error); set[index].style = ERATE; set[index].rate = utils::numeric(FLERR, arg[iarg + 2], false, lmp); iarg += 3; } else if (strcmp(arg[iarg + 1], "trate") == 0) { - if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform trate", error); + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, thiscmd + " trate", error); set[index].style = TRATE; set[index].rate = utils::numeric(FLERR, arg[iarg + 2], false, lmp); iarg += 3; } else if (strcmp(arg[iarg + 1], "wiggle") == 0) { - if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform wiggle", error); + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, thiscmd + " wiggle", error); set[index].style = WIGGLE; set[index].amplitude = utils::numeric(FLERR, arg[iarg + 2], false, lmp); set[index].tperiod = utils::numeric(FLERR, arg[iarg + 3], false, lmp); if (set[index].tperiod <= 0.0) - error->all(FLERR, "Illegal fix deform wiggle period, must be positive"); + error->all(FLERR, "Illegal fix {} wiggle period, must be positive", style); iarg += 4; } else if (strcmp(arg[iarg + 1], "variable") == 0) { - if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform variable", error); + if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, thiscmd + " variable", error); set[index].style = VARIABLE; if (strstr(arg[iarg + 2], "v_") != arg[iarg + 2]) - error->all(FLERR, "Illegal fix deform variable name {}", arg[iarg + 2]); + error->all(FLERR, "Illegal fix {} variable name {}", style, arg[iarg + 2]); if (strstr(arg[iarg + 3], "v_") != arg[iarg + 3]) - error->all(FLERR, "Illegal fix deform variable name {}", arg[iarg + 3]); + error->all(FLERR, "Illegal fix {} variable name {}", style, arg[iarg + 3]); delete[] set[index].hstr; delete[] set[index].hratestr; set[index].hstr = utils::strdup(&arg[iarg + 2][2]); @@ -210,7 +210,7 @@ irregular(nullptr), set(nullptr) if (iarg + nskip > narg) utils::missing_cmd_args(FLERR, fmt::format("fix {} {}", style, arg[iarg + 1]), error); iarg += nskip; - } else error->all(FLERR, "Illegal fix deform command argument: {}", arg[iarg + 1]); + } else error->all(FLERR, "Illegal fix {} command argument: {}", style, arg[iarg + 1]); } else if (child_parameters.find(arg[iarg]) != child_parameters.end()) { if (child_styles.find(arg[iarg + 1]) != child_styles.end()) { nskip = child_styles[arg[iarg + 1]]; @@ -247,17 +247,17 @@ irregular(nullptr), set(nullptr) for (int i = 0; i < 3; i++) if (set[i].style && (domain->boundary[i][0] >= 2 || domain->boundary[i][1] >= 2)) - error->all(FLERR, "Cannot use fix deform on a shrink-wrapped boundary"); + error->all(FLERR, "Cannot use fix {} on a shrink-wrapped boundary", style); // no tilt deformation on shrink-wrapped 2nd dim // b/c shrink wrap will change tilt factor in domain::reset_box() if (set[3].style && (domain->boundary[2][0] >= 2 || domain->boundary[2][1] >= 2)) - error->all(FLERR, "Cannot use fix deform tilt on a shrink-wrapped 2nd dim"); + error->all(FLERR, "Cannot use fix {} tilt on a shrink-wrapped 2nd dim", style); if (set[4].style && (domain->boundary[2][0] >= 2 || domain->boundary[2][1] >= 2)) - error->all(FLERR, "Cannot use fix deform tilt on a shrink-wrapped 2nd dim"); + error->all(FLERR, "Cannot use fix {} tilt on a shrink-wrapped 2nd dim", style); if (set[5].style && (domain->boundary[1][0] >= 2 || domain->boundary[1][1] >= 2)) - error->all(FLERR, "Cannot use fix deform tilt on a shrink-wrapped 2nd dim"); + error->all(FLERR, "Cannot use fix {} tilt on a shrink-wrapped 2nd dim", style); // apply scaling to FINAL,DELTA,VEL,WIGGLE since they have dist/vel units @@ -312,7 +312,7 @@ irregular(nullptr), set(nullptr) // Cannot use VOLUME option without at least one deformed dimension if (set[other1].style == NONE || set[other1].style == VOLUME) if (set[other2].style == NONE || set[other2].style == VOLUME) - error->all(FLERR, "Fix deform volume setting is invalid"); + error->all(FLERR, "Fix {} volume setting is invalid", style); if (set[other1].style == NONE) { set[i].substyle = ONE_FROM_ONE; @@ -435,14 +435,14 @@ void FixDeform::init() if (set[i].style != VARIABLE) continue; set[i].hvar = input->variable->find(set[i].hstr); if (set[i].hvar < 0) - error->all(FLERR, "Variable name {} for fix deform does not exist", set[i].hstr); + error->all(FLERR, "Variable name {} for fix {} does not exist", set[i].hstr, style); if (!input->variable->equalstyle(set[i].hvar)) - error->all(FLERR, "Variable {} for fix deform is invalid style", set[i].hstr); + error->all(FLERR, "Variable {} for fix {} is invalid style", set[i].hstr, style); set[i].hratevar = input->variable->find(set[i].hratestr); if (set[i].hratevar < 0) - error->all(FLERR, "Variable name {} for fix deform does not exist", set[i].hratestr); + error->all(FLERR, "Variable name {} for fix {} does not exist", set[i].hratestr, style); if (!input->variable->equalstyle(set[i].hratevar)) - error->all(FLERR, "Variable {} for fix deform is invalid style", set[i].hratestr); + error->all(FLERR, "Variable {} for fix {} is invalid style", set[i].hratestr, style); } // set start/stop values for box size and shape @@ -480,7 +480,7 @@ void FixDeform::init() set[i].lo_stop = set[i].lo_start - shift; set[i].hi_stop = set[i].hi_start + shift; if (set[i].hi_stop <= set[i].lo_stop) - error->all(FLERR, "Final box dimension due to fix deform is < 0.0"); + error->all(FLERR, "Final box dimension due to fix {} is < 0.0", style); } else if (set[i].style == TRATE) { double shift = 0.5 * ((set[i].hi_start - set[i].lo_start) * exp(set[i].rate * delt)); set[i].lo_stop = 0.5 * (set[i].lo_start + set[i].hi_start) - shift; @@ -556,7 +556,7 @@ void FixDeform::init() for (int i = 3; i < 6; i++) if (set[i].style == TRATE && set[i].tilt_start == 0.0) - error->all(FLERR, "Cannot use fix deform trate on a box with zero tilt"); + error->all(FLERR, "Cannot use fix {} trate on a box with zero tilt", style); // if yz changes and will cause box flip, then xy cannot be changing // yz = [3], xy = [5] @@ -571,7 +571,7 @@ void FixDeform::init() int flag = 0; double lo,hi; if (flipflag && set[3].style == VARIABLE) - error->all(FLERR, "Fix deform cannot use yz variable with xy"); + error->all(FLERR, "Fix {} cannot use yz variable with xy", style); if (set[3].style == WIGGLE) { lo = set[3].tilt_min; hi = set[3].tilt_max; @@ -584,7 +584,7 @@ void FixDeform::init() hi / (set[1].hi_stop - set[1].lo_stop) > 0.5) flag = 1; } if (flag) - error->all(FLERR, "Fix deform is changing yz too much with xy"); + error->all(FLERR, "Fix {} is changing yz too much with xy", style); } } @@ -989,14 +989,15 @@ void FixDeform::restart(char *buf) samestyle = 0; } if (!samestyle) - error->all(FLERR, "Fix deform settings not consistent with restart"); + error->all(FLERR, "Fix {} settings not consistent with restart", style); } /* ---------------------------------------------------------------------- */ void FixDeform::options(int narg, char **arg) { - if (narg < 0) error->all(FLERR, "Illegal fix deform command"); + const std::string thiscmd = fmt::format("fix {}", style); + if (narg < 0) utils::missing_cmd_args(FLERR, thiscmd, error); remapflag = Domain::X_REMAP; scaleflag = 1; @@ -1006,26 +1007,30 @@ void FixDeform::options(int narg, char **arg) std::unordered_map child_options; int nskip; - if (utils::strmatch(style, "pressure$")) - child_options.insert({{"couple", 2}, {"max/rate", 2}, {"normalize/pressure", 2}, {"vol/balance/p", 2}}); + if (utils::strmatch(style, "^deform/pressure")) { + child_options.insert({{"couple", 2}, + {"max/rate", 2}, + {"normalize/pressure", 2}, + {"vol/balance/p", 2}}); + } int iarg = 0; while (iarg < narg) { if (strcmp(arg[iarg], "remap") == 0) { - if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform remap", error); + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, thiscmd + " remap", error); if (strcmp(arg[iarg + 1], "x") == 0) remapflag = Domain::X_REMAP; else if (strcmp(arg[iarg + 1], "v") == 0) remapflag = Domain::V_REMAP; else if (strcmp(arg[iarg + 1], "none") == 0) remapflag = Domain::NO_REMAP; - else error->all(FLERR, "Illegal fix deform remap command: {}", arg[iarg + 1]); + else error->all(FLERR, "Illegal fix {} remap command: {}", style, arg[iarg + 1]); iarg += 2; } else if (strcmp(arg[iarg], "units") == 0) { - if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform units", error); + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, thiscmd + " units", error); if (strcmp(arg[iarg + 1], "box") == 0) scaleflag = 0; else if (strcmp(arg[iarg + 1], "lattice") == 0) scaleflag = 1; - else error->all(FLERR, "Illegal fix deform units command: {}", arg[iarg + 1]); + else error->all(FLERR, "Illegal fix {} units command: {}", style, arg[iarg + 1]); iarg += 2; } else if (strcmp(arg[iarg], "flip") == 0) { - if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform flip", error); + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, thiscmd + " flip", error); flipflag = utils::logical(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (child_options.find(arg[iarg]) != child_options.end()) { @@ -1033,7 +1038,7 @@ void FixDeform::options(int narg, char **arg) if (iarg + nskip > narg) utils::missing_cmd_args(FLERR, fmt::format("fix {} {}", style, arg[iarg]), error); iarg += nskip; - } else error->all(FLERR, "Illegal fix deform command: {}", arg[iarg]); + } else error->all(FLERR, "Unknown fix {} keyword: {}", style, arg[iarg]); } } From 5b6c0c6b56859c337ba5652f1c5b3494289d6c81 Mon Sep 17 00:00:00 2001 From: Ludwig Ahrens Date: Wed, 31 Jan 2024 15:42:10 +0100 Subject: [PATCH 115/559] Check eta property for fix electrode uses ghost on --- src/ELECTRODE/fix_electrode_conp.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/ELECTRODE/fix_electrode_conp.cpp b/src/ELECTRODE/fix_electrode_conp.cpp index b966188d07..247e639ae8 100644 --- a/src/ELECTRODE/fix_electrode_conp.cpp +++ b/src/ELECTRODE/fix_electrode_conp.cpp @@ -215,18 +215,16 @@ FixElectrodeConp::FixElectrodeConp(LAMMPS *lmp, int narg, char **arg) : } else if ((strcmp(arg[iarg], "eta") == 0)) { if (iarg + 2 > narg) error->all(FLERR, "Need two arguments after eta command"); etaflag = true; - int is_double, cols; - eta_index = atom->find_custom(arg[++iarg] + 2, is_double, cols); + int is_double, cols, ghost; + eta_index = atom->find_custom_ghost(arg[++iarg] + 2, is_double, cols, ghost); if (eta_index == -1) error->all(FLERR, "eta keyword requires name of previously defined property"); if (!is_double) error->all(FLERR, "eta keyword requires double-valued property/atom vector"); if (cols != 0) error->all(FLERR, "eta keyword requires property/atom vector not an array"); - if (!atom->nextra_border) - error->all(FLERR, - "There is no fix with ghost on, but the eta keyword requires a property/atom " - "fix with ghost on"); - // toggle parameters - } else if ((strcmp(arg[iarg], "etypes") == 0)) { + if (!ghost) error->all(FLERR, "eta keyword requires property/atom fix with ghost on"); + } + // toggle parameters + else if ((strcmp(arg[iarg], "etypes") == 0)) { etypes_neighlists = utils::logical(FLERR, arg[++iarg], false, lmp); } else if ((strncmp(arg[iarg], "symm", 4) == 0)) { symm = utils::logical(FLERR, arg[++iarg], false, lmp); From 1afb9e9dcb0fe6cff7ea2d226ea4020a179857b2 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Fri, 2 Feb 2024 17:10:35 -0700 Subject: [PATCH 116/559] Revamping arg parsing in child class, updates to doc pages --- src/EXTRA-FIX/fix_deform_pressure.cpp | 76 ++++++++++++++++++++------- src/EXTRA-FIX/fix_deform_pressure.h | 2 +- src/fix_deform.cpp | 65 +++++++++++++---------- src/fix_deform.h | 3 ++ 4 files changed, 99 insertions(+), 47 deletions(-) diff --git a/src/EXTRA-FIX/fix_deform_pressure.cpp b/src/EXTRA-FIX/fix_deform_pressure.cpp index 91a0591cd2..26dd85b78b 100644 --- a/src/EXTRA-FIX/fix_deform_pressure.cpp +++ b/src/EXTRA-FIX/fix_deform_pressure.cpp @@ -36,6 +36,7 @@ #include #include +#include using namespace LAMMPS_NS; using namespace FixConst; @@ -56,9 +57,10 @@ FixDeformPressure::FixDeformPressure(LAMMPS *lmp, int narg, char **arg) : // parse child-specific arguments - int index; - int iarg = 4; - while (iarg < narg) { + int index, iarg; + int i = 0; + while (i < leftover_iarg.size()) { + iarg = leftover_iarg[i]; if (strcmp(arg[iarg], "x") == 0 || strcmp(arg[iarg], "y") == 0 || strcmp(arg[iarg], "z") == 0) { @@ -78,7 +80,7 @@ FixDeformPressure::FixDeformPressure(LAMMPS *lmp, int narg, char **arg) : set_extra[index].pvar_flag = 1; } set_extra[index].pgain = utils::numeric(FLERR, arg[iarg + 3], false, lmp); - iarg += 4; + i += 4; } else if (strcmp(arg[iarg + 1], "pressure/mean") == 0) { if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure pressure/mean", error); set[index].style = PMEAN; @@ -89,7 +91,7 @@ FixDeformPressure::FixDeformPressure(LAMMPS *lmp, int narg, char **arg) : set_extra[index].pvar_flag = 1; } set_extra[index].pgain = utils::numeric(FLERR, arg[iarg + 3], false, lmp); - iarg += 4; + i += 4; } else error->all(FLERR, "Illegal fix deform/pressure command argument: {}", arg[iarg + 1]); } else if (strcmp(arg[iarg], "xy") == 0 || @@ -111,12 +113,12 @@ FixDeformPressure::FixDeformPressure(LAMMPS *lmp, int narg, char **arg) : set_extra[index].pvar_flag = 1; } set_extra[index].pgain = utils::numeric(FLERR, arg[iarg + 3], false, lmp); - iarg += 4; + i += 4; } else error->all(FLERR, "Illegal fix deform/pressure command: {}", arg[iarg + 1]); } else if (strcmp(arg[iarg], "box") == 0) { if (strcmp(arg[iarg + 1], "volume") == 0) { set_box.style = VOLUME; - iarg += 2; + i += 2; } else if (strcmp(arg[iarg + 1], "pressure") == 0) { if (iarg + 4 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure pressure", error); set_box.style = PRESSURE; @@ -127,14 +129,16 @@ FixDeformPressure::FixDeformPressure(LAMMPS *lmp, int narg, char **arg) : set_extra[6].pvar_flag = 1; } set_extra[6].pgain = utils::numeric(FLERR, arg[iarg + 3], false, lmp); - iarg += 4; + i += 4; } else error->all(FLERR, "Illegal fix deform/pressure command argument: {}", arg[iarg + 1]); } else break; } // read options from end of input line + // shift arguments before reading - options(narg - iarg, &arg[iarg]); + iarg = iarg_options_start; + options(i, narg - iarg, &arg[iarg]); // repeat: setup dimflags used by other classes to check for volume-change conflicts @@ -172,6 +176,42 @@ FixDeformPressure::FixDeformPressure(LAMMPS *lmp, int narg, char **arg) : if (set[5].style && (domain->boundary[1][0] >= 2 || domain->boundary[1][1] >= 2)) error->all(FLERR, "Cannot use fix deform/pressure tilt on a shrink-wrapped 2nd dim"); + // for VOLUME, setup links to other dims + // fixed, dynamic1, dynamic2 + + for (int i = 0; i < 3; i++) { + if (set[i].style != VOLUME) continue; + int other1 = (i + 1) % 3; + int other2 = (i + 2) % 3; + + // Cannot use VOLUME option without at least one deformed dimension + if (set[other1].style == NONE || set[other1].style == VOLUME) + if (set[other2].style == NONE || set[other2].style == VOLUME) + error->all(FLERR, "Fix {} volume setting is invalid", style); + + if (set[other1].style == NONE) { + set[i].substyle = ONE_FROM_ONE; + set[i].fixed = other1; + set[i].dynamic1 = other2; + } else if (set[other2].style == NONE) { + set[i].substyle = ONE_FROM_ONE; + set[i].fixed = other2; + set[i].dynamic1 = other1; + } else if (set[other1].style == VOLUME) { + set[i].substyle = TWO_FROM_ONE; + set[i].fixed = other1; + set[i].dynamic1 = other2; + } else if (set[other2].style == VOLUME) { + set[i].substyle = TWO_FROM_ONE; + set[i].fixed = other2; + set[i].dynamic1 = other1; + } else { + set[i].substyle = ONE_FROM_TWO; + set[i].dynamic1 = other1; + set[i].dynamic2 = other2; + } + } + // repeat: set varflag for (int i = 0; i < 7; i++) @@ -221,6 +261,7 @@ FixDeformPressure::FixDeformPressure(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR, "Must specify deformation style for at least one coupled dimension"); // Copy or compare data for each coupled dimension + for (int i = 0; i < 3; i++) { if (coupled_indices[i]) { // Copy coupling information if dimension style is undefined @@ -814,17 +855,16 @@ void FixDeformPressure::restart(char *buf) /* ---------------------------------------------------------------------- */ -void FixDeformPressure::options(int narg, char **arg) +void FixDeformPressure::options(int i, int narg, char **arg) { - if (narg < 0) error->all(FLERR, "Illegal fix deform/pressure command"); - pcouple = NOCOUPLE; max_h_rate = 0.0; vol_balance_flag = 0; normalize_pressure_flag = 0; - int iarg = 0; - while (iarg < narg) { + int iarg, nskip; + while (i < leftover_iarg.size()) { + iarg = leftover_iarg[i]; if (strcmp(arg[iarg], "couple") == 0) { if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure couple", error); if (strcmp(arg[iarg + 1], "xyz") == 0) pcouple = XYZ; @@ -833,21 +873,21 @@ void FixDeformPressure::options(int narg, char **arg) else if (strcmp(arg[iarg + 1], "xz") == 0) pcouple = XZ; else if (strcmp(arg[iarg + 1], "none") == 0) pcouple = NOCOUPLE; else error->all(FLERR, "Illegal fix deform/pressure couple command: {}", arg[iarg + 1]); - iarg += 2; + i += 2; } else if (strcmp(arg[iarg], "max/rate") == 0) { if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure max/rate", error); max_h_rate = utils::numeric(FLERR, arg[iarg + 1], false, lmp); if (max_h_rate <= 0.0) error->all(FLERR, "Maximum strain rate must be a positive, non-zero value"); - iarg += 2; + i += 2; } else if (strcmp(arg[iarg], "normalize/pressure") == 0) { if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure normalize/pressure", error); normalize_pressure_flag = utils::logical(FLERR, arg[iarg + 1], false, lmp); - iarg += 2; + i += 2; } else if (strcmp(arg[iarg], "vol/balance/p") == 0) { if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure vol/balance/p", error); vol_balance_flag = utils::logical(FLERR, arg[iarg + 1], false, lmp); - iarg += 2; + i += 2; } else error->all(FLERR, "Illegal fix deform/pressure command: {}", arg[iarg]); } } diff --git a/src/EXTRA-FIX/fix_deform_pressure.h b/src/EXTRA-FIX/fix_deform_pressure.h index 41b93f6e98..a52bb01c04 100644 --- a/src/EXTRA-FIX/fix_deform_pressure.h +++ b/src/EXTRA-FIX/fix_deform_pressure.h @@ -60,7 +60,7 @@ class FixDeformPressure : public FixDeform { SetExtra *set_extra; Set set_box; - void options(int, char **); + void options(int, int, char **); void apply_volume() override; void apply_pressure(); void apply_box(); diff --git a/src/fix_deform.cpp b/src/fix_deform.cpp index 9c6bfb9d8b..010250ed92 100644 --- a/src/fix_deform.cpp +++ b/src/fix_deform.cpp @@ -36,6 +36,7 @@ #include #include #include +#include using namespace LAMMPS_NS; using namespace FixConst; @@ -147,6 +148,7 @@ irregular(nullptr), set(nullptr) nskip = child_styles[arg[iarg + 1]]; if (iarg + nskip > narg) utils::missing_cmd_args(FLERR, fmt::format("fix {} {}", style, arg[iarg + 1]), error); + for (int i = 0; i < nskip; i++) leftover_iarg.push_back(iarg + i); iarg += nskip; } else error->all(FLERR, "Illegal fix {} command argument: {}", style, arg[iarg + 1]); @@ -209,6 +211,7 @@ irregular(nullptr), set(nullptr) nskip = child_styles[arg[iarg + 1]]; if (iarg + nskip > narg) utils::missing_cmd_args(FLERR, fmt::format("fix {} {}", style, arg[iarg + 1]), error); + for (int i = 0; i < nskip; i++) leftover_iarg.push_back(iarg + i); iarg += nskip; } else error->all(FLERR, "Illegal fix {} command argument: {}", style, arg[iarg + 1]); } else if (child_parameters.find(arg[iarg]) != child_parameters.end()) { @@ -216,6 +219,7 @@ irregular(nullptr), set(nullptr) nskip = child_styles[arg[iarg + 1]]; if (iarg + nskip > narg) utils::missing_cmd_args(FLERR, fmt::format("fix {} {}", style, arg[iarg + 1]), error); + for (int i = 0; i < nskip; i++) leftover_iarg.push_back(iarg + i); iarg += nskip; } error->all(FLERR, "Illegal fix {} command argument: {}", style, arg[iarg + 1]); } else break; @@ -223,6 +227,7 @@ irregular(nullptr), set(nullptr) // read options from end of input line + iarg_options_start = iarg; options(narg - iarg, &arg[iarg]); // no x remap effectively moves atoms within box, so set restart_pbc @@ -303,37 +308,40 @@ irregular(nullptr), set(nullptr) // for VOLUME, setup links to other dims // fixed, dynamic1, dynamic2 + // only check for parent, otherwise child will check - for (int i = 0; i < 3; i++) { - if (set[i].style != VOLUME) continue; - int other1 = (i + 1) % 3; - int other2 = (i + 2) % 3; + if (strcmp(style, "deform") == 0) { + for (int i = 0; i < 3; i++) { + if (set[i].style != VOLUME) continue; + int other1 = (i + 1) % 3; + int other2 = (i + 2) % 3; - // Cannot use VOLUME option without at least one deformed dimension - if (set[other1].style == NONE || set[other1].style == VOLUME) - if (set[other2].style == NONE || set[other2].style == VOLUME) - error->all(FLERR, "Fix {} volume setting is invalid", style); + // Cannot use VOLUME option without at least one deformed dimension + if (set[other1].style == NONE || set[other1].style == VOLUME) + if (set[other2].style == NONE || set[other2].style == VOLUME) + error->all(FLERR, "Fix {} volume setting is invalid", style); - if (set[other1].style == NONE) { - set[i].substyle = ONE_FROM_ONE; - set[i].fixed = other1; - set[i].dynamic1 = other2; - } else if (set[other2].style == NONE) { - set[i].substyle = ONE_FROM_ONE; - set[i].fixed = other2; - set[i].dynamic1 = other1; - } else if (set[other1].style == VOLUME) { - set[i].substyle = TWO_FROM_ONE; - set[i].fixed = other1; - set[i].dynamic1 = other2; - } else if (set[other2].style == VOLUME) { - set[i].substyle = TWO_FROM_ONE; - set[i].fixed = other2; - set[i].dynamic1 = other1; - } else { - set[i].substyle = ONE_FROM_TWO; - set[i].dynamic1 = other1; - set[i].dynamic2 = other2; + if (set[other1].style == NONE) { + set[i].substyle = ONE_FROM_ONE; + set[i].fixed = other1; + set[i].dynamic1 = other2; + } else if (set[other2].style == NONE) { + set[i].substyle = ONE_FROM_ONE; + set[i].fixed = other2; + set[i].dynamic1 = other1; + } else if (set[other1].style == VOLUME) { + set[i].substyle = TWO_FROM_ONE; + set[i].fixed = other1; + set[i].dynamic1 = other2; + } else if (set[other2].style == VOLUME) { + set[i].substyle = TWO_FROM_ONE; + set[i].fixed = other2; + set[i].dynamic1 = other1; + } else { + set[i].substyle = ONE_FROM_TWO; + set[i].dynamic1 = other1; + set[i].dynamic2 = other2; + } } } @@ -1037,6 +1045,7 @@ void FixDeform::options(int narg, char **arg) nskip = child_options[arg[iarg]]; if (iarg + nskip > narg) utils::missing_cmd_args(FLERR, fmt::format("fix {} {}", style, arg[iarg]), error); + for (int i = 0; i < nskip; i++) leftover_iarg.push_back(iarg + i); iarg += nskip; } else error->all(FLERR, "Unknown fix {} keyword: {}", style, arg[iarg]); } diff --git a/src/fix_deform.h b/src/fix_deform.h index fa92b851e6..b133729444 100644 --- a/src/fix_deform.h +++ b/src/fix_deform.h @@ -68,6 +68,9 @@ class FixDeform : public Fix { }; Set *set; + std::vector leftover_iarg; + int iarg_options_start; + void options(int, char **); void virtual apply_volume(); void apply_strain(); From 63f33aa3a428e81e2e5747cc3f9eb96182788c3b Mon Sep 17 00:00:00 2001 From: Dhairya Date: Sun, 4 Feb 2024 16:29:19 -0600 Subject: [PATCH 117/559] first --- src/GRANULAR/granular_model.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/GRANULAR/granular_model.cpp b/src/GRANULAR/granular_model.cpp index c1ad692fb3..af095d1efc 100644 --- a/src/GRANULAR/granular_model.cpp +++ b/src/GRANULAR/granular_model.cpp @@ -10,7 +10,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ - + /* ---------------------------------------------------------------------- This class contains a series of tools for DEM contacts Multiple models can be defined and used to calculate forces From 5137e8697250650f10076495bdf8d43e69d9b1b3 Mon Sep 17 00:00:00 2001 From: Dhairya Date: Mon, 5 Feb 2024 16:30:44 -0600 Subject: [PATCH 118/559] en models incorporated --- src/GRANULAR/gran_sub_mod_damping.cpp | 50 +++++++++++++++++++++++++++ src/GRANULAR/gran_sub_mod_damping.h | 22 ++++++++++++ 2 files changed, 72 insertions(+) diff --git a/src/GRANULAR/gran_sub_mod_damping.cpp b/src/GRANULAR/gran_sub_mod_damping.cpp index 7d6a02b8f0..2ea9eed0aa 100644 --- a/src/GRANULAR/gran_sub_mod_damping.cpp +++ b/src/GRANULAR/gran_sub_mod_damping.cpp @@ -17,6 +17,8 @@ #include "granular_model.h" #include "math_special.h" +#include + using namespace LAMMPS_NS; using namespace Granular_NS; @@ -24,6 +26,10 @@ using MathSpecial::cube; using MathSpecial::powint; using MathSpecial::square; +static constexpr double PISQ = 9.86960440108935799230; +static constexpr double TWOROOTFIVEBYSIX = 1.82574185835055380345; +static constexpr double ROOTTHREEBYTWO = 1.22474487139158894067; + /* ---------------------------------------------------------------------- Default damping model ------------------------------------------------------------------------- */ @@ -133,3 +139,47 @@ double GranSubModDampingTsuji::calculate_forces() damp_prefactor = damp * sqrt(gm->meff * gm->Fnormal / gm->delta); return -damp_prefactor * gm->vnnr; } + +/* ---------------------------------------------------------------------- + enhooke damping +------------------------------------------------------------------------- */ + +GranSubModDampingEnHooke::GranSubModDampingEnHooke(GranularModel *gm, LAMMPS *lmp) : + GranSubModDamping(gm, lmp) +{ +} + +void GranSubModDampingEnHooke::init() +{ + double cor = gm->normal_model->get_damp(); + double logcor = log(cor); + damp = -2*logcor/sqrt(PISQ + logcor*logcor); +} + +double GranSubModDampingEnHooke::calculate_forces() +{ + damp_prefactor = damp * sqrt(gm->meff * gm->Fnormal / gm->delta); + return -damp_prefactor * gm->vnnr; +} + +/* ---------------------------------------------------------------------- + enhertz damping +------------------------------------------------------------------------- */ + +GranSubModDampingEnHertz::GranSubModDampingEnHertz(GranularModel *gm, LAMMPS *lmp) : + GranSubModDamping(gm, lmp) +{ +} + +void GranSubModDampingEnHertz::init() +{ + double cor = gm->normal_model->get_damp(); + double logcor = log(cor); + damp = -ROOTTHREEBYTWO*TWOROOTFIVEBYSIX*logcor/sqrt(PISQ + logcor*logcor); +} + +double GranSubModDampingEnHertz::calculate_forces() +{ + damp_prefactor = damp * sqrt(gm->meff * gm->Fnormal / gm->delta); + return -damp_prefactor * gm->vnnr; +} \ No newline at end of file diff --git a/src/GRANULAR/gran_sub_mod_damping.h b/src/GRANULAR/gran_sub_mod_damping.h index db5bb43ca5..33e88718fd 100644 --- a/src/GRANULAR/gran_sub_mod_damping.h +++ b/src/GRANULAR/gran_sub_mod_damping.h @@ -18,6 +18,8 @@ GranSubModStyle(velocity,GranSubModDampingVelocity,DAMPING); GranSubModStyle(mass_velocity,GranSubModDampingMassVelocity,DAMPING); GranSubModStyle(viscoelastic,GranSubModDampingViscoelastic,DAMPING); GranSubModStyle(tsuji,GranSubModDampingTsuji,DAMPING); +GranSubModStyle(enhooke,GranSubModDampingEnHooke,DAMPING); +GranSubModStyle(enhertz,GranSubModDampingEnHertz,DAMPING); // clang-format on #else @@ -84,6 +86,26 @@ namespace Granular_NS { double calculate_forces() override; }; + /* ---------------------------------------------------------------------- */ + + class GranSubModDampingEnHooke : public GranSubModDamping { + public: + GranSubModDampingEnHooke(class GranularModel *, class LAMMPS *); + void init() override; + double calculate_forces() override; + }; + + /* ---------------------------------------------------------------------- */ + + class GranSubModDampingEnHertz : public GranSubModDamping { + public: + GranSubModDampingEnHertz(class GranularModel *, class LAMMPS *); + void init() override; + double calculate_forces() override; + }; + + /* ---------------------------------------------------------------------- */ + } // namespace Granular_NS } // namespace LAMMPS_NS From febb3671d82c499dbe9a381a0a65d30572c409b7 Mon Sep 17 00:00:00 2001 From: Dhairya Date: Tue, 6 Feb 2024 18:03:17 -0600 Subject: [PATCH 119/559] removed whitespace --- src/GRANULAR/granular_model.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/GRANULAR/granular_model.cpp b/src/GRANULAR/granular_model.cpp index af095d1efc..c1ad692fb3 100644 --- a/src/GRANULAR/granular_model.cpp +++ b/src/GRANULAR/granular_model.cpp @@ -10,7 +10,7 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ - + /* ---------------------------------------------------------------------- This class contains a series of tools for DEM contacts Multiple models can be defined and used to calculate forces From 49dcefa83b857cde86dcd558f81424c115c94246 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 6 Feb 2024 19:30:58 -0500 Subject: [PATCH 120/559] add missing override keywords --- src/DIELECTRIC/atom_vec_dielectric.h | 6 +++--- src/DIPOLE/atom_vec_dipole.h | 6 +++--- src/MACHDYN/atom_vec_smd.h | 4 ++-- src/SPIN/atom_vec_spin.h | 6 +++--- src/atom.cpp | 1 + src/atom_vec_body.h | 6 +++--- src/atom_vec_ellipsoid.h | 6 +++--- 7 files changed, 18 insertions(+), 17 deletions(-) diff --git a/src/DIELECTRIC/atom_vec_dielectric.h b/src/DIELECTRIC/atom_vec_dielectric.h index b6b7ebd676..71aba900f8 100644 --- a/src/DIELECTRIC/atom_vec_dielectric.h +++ b/src/DIELECTRIC/atom_vec_dielectric.h @@ -35,9 +35,9 @@ class AtomVecDielectric : virtual public AtomVec { void grow_pointers() override; void create_atom_post(int) override; void data_atom_post(int) override; - void read_data_general_to_restricted(int, int); - void write_data_restricted_to_general(); - void write_data_restore_restricted(); + void read_data_general_to_restricted(int, int) override; + void write_data_restricted_to_general() override; + void write_data_restore_restricted() override; void unpack_restart_init(int) override; int property_atom(const std::string &) override; diff --git a/src/DIPOLE/atom_vec_dipole.h b/src/DIPOLE/atom_vec_dipole.h index 1f6d6fe2be..0b46195263 100644 --- a/src/DIPOLE/atom_vec_dipole.h +++ b/src/DIPOLE/atom_vec_dipole.h @@ -30,9 +30,9 @@ class AtomVecDipole : virtual public AtomVec { void grow_pointers() override; void data_atom_post(int) override; - void read_data_general_to_restricted(int, int); - void write_data_restricted_to_general(); - void write_data_restore_restricted(); + void read_data_general_to_restricted(int, int) override; + void write_data_restricted_to_general() override; + void write_data_restore_restricted() override; protected: double **mu; diff --git a/src/MACHDYN/atom_vec_smd.h b/src/MACHDYN/atom_vec_smd.h index 322136ebd3..47117c0b90 100644 --- a/src/MACHDYN/atom_vec_smd.h +++ b/src/MACHDYN/atom_vec_smd.h @@ -43,8 +43,8 @@ class AtomVecSMD : virtual public AtomVec { void force_clear(int, size_t) override; void create_atom_post(int) override; void data_atom_post(int) override; - void write_data_restricted_to_general(); - void write_data_restore_restricted(); + void write_data_restricted_to_general() override; + void write_data_restore_restricted() override; private: tagint *molecule; diff --git a/src/SPIN/atom_vec_spin.h b/src/SPIN/atom_vec_spin.h index 93bbc82ab8..7a2f890086 100644 --- a/src/SPIN/atom_vec_spin.h +++ b/src/SPIN/atom_vec_spin.h @@ -31,9 +31,9 @@ class AtomVecSpin : virtual public AtomVec { void grow_pointers() override; void force_clear(int, size_t) override; void data_atom_post(int) override; - void read_data_general_to_restricted(int, int); - void write_data_restricted_to_general(); - void write_data_restore_restricted(); + void read_data_general_to_restricted(int, int) override; + void write_data_restricted_to_general() override; + void write_data_restore_restricted() override; protected: double **sp, **fm, **fm_long; diff --git a/src/atom.cpp b/src/atom.cpp index d0614f923f..46b49fc6b6 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -50,6 +50,7 @@ using namespace MathConst; static constexpr int DELTA = 1; static constexpr double EPSILON = 1.0e-6; +static constexpr double EPS_ZCOORD = 1.0e-12; /* ---------------------------------------------------------------------- one instance per AtomVec style in style_atom.h diff --git a/src/atom_vec_body.h b/src/atom_vec_body.h index 0aa83e833f..5c7ed73d21 100644 --- a/src/atom_vec_body.h +++ b/src/atom_vec_body.h @@ -66,9 +66,9 @@ class AtomVecBody : public AtomVec { int pack_data_bonus(double *, int) override; void write_data_bonus(FILE *, int, double *, int) override; - void read_data_general_to_restricted(int, int); - void write_data_restricted_to_general(); - void write_data_restore_restricted(); + void read_data_general_to_restricted(int, int) override; + void write_data_restricted_to_general() override; + void write_data_restore_restricted() override; // methods used by other classes to query/set body info diff --git a/src/atom_vec_ellipsoid.h b/src/atom_vec_ellipsoid.h index 03850837d8..5b0d878c84 100644 --- a/src/atom_vec_ellipsoid.h +++ b/src/atom_vec_ellipsoid.h @@ -59,9 +59,9 @@ class AtomVecEllipsoid : public AtomVec { int pack_data_bonus(double *, int) override; void write_data_bonus(FILE *, int, double *, int) override; - void read_data_general_to_restricted(int, int); - void write_data_restricted_to_general(); - void write_data_restore_restricted(); + void read_data_general_to_restricted(int, int) override; + void write_data_restricted_to_general() override; + void write_data_restore_restricted() override; // unique to AtomVecEllipsoid From fc1132b083072f0d9dd1b1383b46e66a813c6147 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 6 Feb 2024 19:37:15 -0500 Subject: [PATCH 121/559] fix bug that by chance has no unwanted side effects --- src/create_atoms.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index d3c3e200bc..85efac80e6 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -375,7 +375,7 @@ void CreateAtoms::command(int narg, char **arg) } else if (style == MESH) { // NOTE to Axel - here is the rescaling of both params if (mesh_style == BISECTION) { // by lattice spacings if units = lattice, similar to xone,overlap radthresh *= domain->lattice->xlattice; - } else if (mesh_style = QUASIRANDOM) { + } else if (mesh_style == QUASIRANDOM) { mesh_density /= (domain->lattice->xlattice * domain->lattice->xlattice); } } From ec291174092595119d72d70cdab01b810ec9ea6d Mon Sep 17 00:00:00 2001 From: vladgl Date: Fri, 6 Oct 2023 19:23:15 +0300 Subject: [PATCH 122/559] Add new fix wall/flow --- src/KOKKOS/Install.sh | 2 + src/KOKKOS/fix_wall_flow_kokkos.cpp | 295 ++++++++++++++++++++++++++++ src/KOKKOS/fix_wall_flow_kokkos.h | 129 ++++++++++++ src/fix_wall_flow.cpp | 248 +++++++++++++++++++++++ src/fix_wall_flow.h | 60 ++++++ 5 files changed, 734 insertions(+) create mode 100644 src/KOKKOS/fix_wall_flow_kokkos.cpp create mode 100644 src/KOKKOS/fix_wall_flow_kokkos.h create mode 100644 src/fix_wall_flow.cpp create mode 100644 src/fix_wall_flow.h diff --git a/src/KOKKOS/Install.sh b/src/KOKKOS/Install.sh index 462c0cbe57..75949c35d8 100755 --- a/src/KOKKOS/Install.sh +++ b/src/KOKKOS/Install.sh @@ -187,6 +187,8 @@ action fix_temp_rescale_kokkos.cpp action fix_temp_rescale_kokkos.h action fix_viscous_kokkos.cpp action fix_viscous_kokkos.h +action fix_wall_flow_kokkos.cpp fix_wall_flow.cpp +action fix_wall_flow_kokkos.h fix_wall_flow.h action fix_wall_gran_kokkos.cpp fix_wall_gran.cpp action fix_wall_gran_kokkos.h fix_wall_gran.h action fix_wall_gran_old.cpp fix_wall_gran.cpp diff --git a/src/KOKKOS/fix_wall_flow_kokkos.cpp b/src/KOKKOS/fix_wall_flow_kokkos.cpp new file mode 100644 index 0000000000..501a1bbd3f --- /dev/null +++ b/src/KOKKOS/fix_wall_flow_kokkos.cpp @@ -0,0 +1,295 @@ +#include "fix_wall_flow_kokkos.h" +#include "atom_kokkos.h" +#include "memory_kokkos.h" +#include "math_const.h" +#include "atom_masks.h" +#include "force.h" + +#include +//#include "comm.h +// clang-format off + +using namespace LAMMPS_NS; + +template +FixWallFlowKokkos::FixWallFlowKokkos(LAMMPS *lmp, int narg, char **arg) : + FixWallFlow(lmp, narg, arg), rand_pool(rndseed + comm->me) +{ + kokkosable = 1; + exchange_comm_device = sort_device = 1; + atomKK = (AtomKokkos *) atom; + execution_space = ExecutionSpaceFromDevice::space; + datamask_read = X_MASK | RMASS_MASK | TYPE_MASK | MASK_MASK; + datamask_modify = V_MASK; + + memory->destroy(current_segment); + current_segment = nullptr; + grow_arrays(atomKK->nmax); + + d_walls = d_walls_t("FixWallFlowKokkos::walls", walls.size()); + auto h_walls = Kokkos::create_mirror_view(d_walls); + for (int i = 0; i < walls.size(); ++i) + { + h_walls(i) = walls[i]; + } + Kokkos::deep_copy(d_walls, h_walls); +} + +template +FixWallFlowKokkos::~FixWallFlowKokkos() +{ + if (copymode) return; + memoryKK->destroy_kokkos(k_current_segment, current_segment); +} + +template +void FixWallFlowKokkos::init() +{ + atomKK->sync(execution_space, datamask_read); + k_current_segment.template sync(); + d_x = atomKK->k_x.template view(); + + copymode = 1; + Kokkos::parallel_for(Kokkos::RangePolicy(0, atom->nlocal), *this); + copymode = 0; + + k_current_segment.template modify(); +} + +template +KOKKOS_INLINE_FUNCTION void FixWallFlowKokkos::operator()(TagFixWallFlowInit, + const int &i) const +{ + double pos = d_x(i, flowax); + d_current_segment(i) = compute_current_segment_kk(pos); +} + +template +void FixWallFlowKokkos::end_of_step() +{ + atomKK->sync(execution_space, datamask_read); + k_current_segment.template sync(); + + d_x = atomKK->k_x.template view(); + d_v = atomKK->k_v.template view(); + d_type = atomKK->k_type.template view(); + d_mask = atomKK->k_mask.template view(); + d_mass = atomKK->k_mass.template view(); + d_rmass = atomKK->k_rmass.template view(); + + copymode = 1; + if (d_rmass.data()) { + Kokkos::parallel_for( + Kokkos::RangePolicy>(0, atom->nlocal), *this); + } else { + Kokkos::parallel_for( + Kokkos::RangePolicy>(0, atom->nlocal), *this); + } + copymode = 0; + atomKK->modified(execution_space, datamask_modify); + k_current_segment.template modify(); +} + +template +template +KOKKOS_INLINE_FUNCTION +void FixWallFlowKokkos::operator()(TagFixWallFlowEndOfStep, + const int &atom_i) const +{ + if (d_mask[atom_i] & groupbit) + { + double pos = d_x(atom_i, flowax); + int prev_segment = d_current_segment(atom_i); + d_current_segment(atom_i) = compute_current_segment_kk(pos); + if (prev_segment != d_current_segment(atom_i)) + { + generate_velocity_kk(atom_i); + } + } +} + +template +template +KOKKOS_INLINE_FUNCTION +void FixWallFlowKokkos::generate_velocity_kk(int atom_i) const +{ + const int newton_iteration_count = 10; + double mass = get_mass(MTag(), atom_i); + const double gamma = 1.0 / std::sqrt(2.0 * kT / mass); + double delta = gamma * flowvel; + + const double edd = std::exp(-delta * delta) / MathConst::MY_PIS + delta * std::erf(delta); + const double probability_threshold = 0.5 * (1. + delta / edd); + + double direction = 1.0; + + rand_type_t rand_gen = rand_pool.get_state(); + + if (/*random->uniform()*/ rand_gen.drand() > probability_threshold) { + delta = -delta; + direction = -direction; + } + + const double xi_0 = rand_gen.drand(); //random->uniform(); + const double F_inf = edd + delta; + const double xi = xi_0 * F_inf; + const double x_0 = (std::sqrt(delta * delta + 2) - delta) * 0.5; + double x = x_0; + for (int i = 0; i < newton_iteration_count; ++i) { + x -= (std::exp(x * x) * MathConst::MY_PIS * (xi - delta * std::erfc(x)) - 1.0) / (x + delta) * + 0.5; + } + + const double nu = x + delta; + const double v = nu / gamma; + + d_v(atom_i, flowax) = v * direction; + d_v(atom_i, (flowax + 1) % 3) = /*random->gaussian()*/ rand_gen.normal() / (gamma * MathConst::MY_SQRT2); + d_v(atom_i, (flowax + 2) % 3) = /*random->gaussian()*/ rand_gen.normal() / (gamma * MathConst::MY_SQRT2); + + rand_pool.free_state(rand_gen); +} + +template +KOKKOS_INLINE_FUNCTION +int FixWallFlowKokkos::compute_current_segment_kk(double pos) const +{ + int result = 0; + for (; result < d_walls.extent(0) - 1; ++result) { + if (pos >= d_walls[result] && pos < d_walls[result + 1]) { return result; } + } + return -1; // -1 is "out of box" region +} + + +template +void FixWallFlowKokkos::grow_arrays(int nmax) +{ + k_current_segment.template sync(); + memoryKK->grow_kokkos(k_current_segment, current_segment, nmax, "WallFlowKK::current_segment"); + k_current_segment.template modify(); + + d_current_segment = k_current_segment.template view(); + h_current_segment = k_current_segment.template view(); +} + +template +void FixWallFlowKokkos::copy_arrays(int i, int j, int) +{ + k_current_segment.template sync(); + h_current_segment(j) = h_current_segment(i); + k_current_segment.template modify(); +} + +/* ---------------------------------------------------------------------- + sort local atom-based arrays +------------------------------------------------------------------------- */ + +template +void FixWallFlowKokkos::sort_kokkos(Kokkos::BinSort &Sorter) +{ + // always sort on the device + + k_current_segment.sync_device(); + + Sorter.sort(LMPDeviceType(), k_current_segment.d_view); + + k_current_segment.modify_device(); +} + +template +int FixWallFlowKokkos::pack_exchange(int i, double *buf) +{ + k_current_segment.sync_host(); + buf[0] = static_cast(h_current_segment(i)); + return 1; +} + +template +KOKKOS_INLINE_FUNCTION +void FixWallFlowKokkos::operator()(TagFixWallFlowPackExchange, const int &mysend) const { + const int send_i = d_sendlist(mysend); + const int segment = d_current_segment(send_i); + d_buf(mysend) = static_cast(segment); + + const int copy_i = d_copylist(mysend); + if (copy_i > -1) { + d_current_segment(send_i) = d_current_segment(copy_i); + } +} + +template +int FixWallFlowKokkos::pack_exchange_kokkos( + const int &nsend, DAT::tdual_xfloat_2d &k_buf, + DAT::tdual_int_1d k_sendlist, + DAT::tdual_int_1d k_copylist, + ExecutionSpace space) +{ + k_current_segment.template sync(); + + k_buf.template sync(); + k_sendlist.template sync(); + k_copylist.template sync(); + + d_sendlist = k_sendlist.view(); + d_copylist = k_copylist.view(); + + d_buf = typename ArrayTypes::t_xfloat_1d_um( + k_buf.template view().data(), + k_buf.extent(0)*k_buf.extent(1)); + + copymode = 1; + + Kokkos::parallel_for(Kokkos::RangePolicy(0, nsend), *this); + + copymode = 0; + + k_buf.template modify(); + k_current_segment.template modify(); + + return nsend; +} + +template +int FixWallFlowKokkos::unpack_exchange(int i, double *buf) +{ + k_current_segment.sync_host(); + h_current_segment(i) = static_cast(buf[0]); + k_current_segment.modify_host(); + return 1; +} + +template +KOKKOS_INLINE_FUNCTION +void FixWallFlowKokkos::operator()(TagFixWallFlowUnpackExchange, const int &i) const +{ + int index = d_indices(i); + if (index > -1) { + d_current_segment(index) = static_cast(d_buf(i)); + } +} + +template +void FixWallFlowKokkos::unpack_exchange_kokkos( + DAT::tdual_xfloat_2d &k_buf, + DAT::tdual_int_1d &k_indices, int nrecv, + ExecutionSpace space) +{ + d_buf = typename ArrayTypes::t_xfloat_1d_um( + k_buf.template view().data(), + k_buf.extent(0)*k_buf.extent(1)); + d_indices = k_indices.view(); + + copymode = 1; + Kokkos::parallel_for(Kokkos::RangePolicy(0,nrecv),*this); + copymode = 0; + + k_current_segment.template modify(); +} + +namespace LAMMPS_NS { +template class FixWallFlowKokkos; +#ifdef LMP_KOKKOS_GPU +template class FixWallFlowKokkos; +#endif +} // namespace LAMMPS_NS diff --git a/src/KOKKOS/fix_wall_flow_kokkos.h b/src/KOKKOS/fix_wall_flow_kokkos.h new file mode 100644 index 0000000000..1faa8f4f32 --- /dev/null +++ b/src/KOKKOS/fix_wall_flow_kokkos.h @@ -0,0 +1,129 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS +// clang-format off +FixStyle(wall/flow/kk,FixWallFlowKokkos); +FixStyle(wall/flow/kk/device,FixWallFlowKokkos); +FixStyle(wall/flow/kk/host,FixWallFlowKokkos); +// clang-format on +#else + +// clang-format off +#ifndef LMP_FIX_WALL_FLOW_KOKKOS_H +#define LMP_FIX_WALL_FLOW_KOKKOS_H + +#include "fix_wall_flow.h" +#include "kokkos_type.h" +#include "kokkos_base.h" +#include "Kokkos_Random.hpp" +#include "comm_kokkos.h" + +namespace LAMMPS_NS { + +struct TagFixWallFlowInit{}; +template +struct TagFixWallFlowEndOfStep{}; +struct TagFixWallFlowPackExchange{}; +struct TagFixWallFlowUnpackExchange{}; + +template +class FixWallFlowKokkos : public FixWallFlow, public KokkosBase { + public: + typedef DeviceType device_type; + typedef ArrayTypes AT; + struct MassTag{}; + struct RMassTag{}; + FixWallFlowKokkos(class LAMMPS *, int, char **); + ~FixWallFlowKokkos(); + + void init() override; + void end_of_step() override; + void grow_arrays(int) override; + void copy_arrays(int, int, int) override; + void sort_kokkos(Kokkos::BinSort &Sorter) override; + int pack_exchange(int, double *) override; + int unpack_exchange(int, double *) override; + + KOKKOS_INLINE_FUNCTION + void operator() (TagFixWallFlowInit, const int&) const; + + template + KOKKOS_INLINE_FUNCTION + void operator()(TagFixWallFlowEndOfStep, const int&) const; + + KOKKOS_INLINE_FUNCTION + void operator()(TagFixWallFlowPackExchange, const int&) const; + + KOKKOS_INLINE_FUNCTION + void operator()(TagFixWallFlowUnpackExchange, const int&) const; + + int pack_exchange_kokkos(const int &nsend,DAT::tdual_xfloat_2d &buf, + DAT::tdual_int_1d k_sendlist, + DAT::tdual_int_1d k_copylist, + ExecutionSpace space) override; + + void unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf, + DAT::tdual_int_1d &indices,int nrecv, + ExecutionSpace space) override; + protected: + typename AT::t_x_array d_x; + typename AT::t_v_array d_v; + typename AT::t_int_1d d_type; + typename AT::t_int_1d d_mask; + + typename AT::t_float_1d d_mass; + typename AT::t_float_1d d_rmass; + + typedef typename AT::t_xfloat_1d d_walls_t; + typedef Kokkos::Random_XorShift64_Pool rand_pool_t; + typedef typename rand_pool_t::generator_type rand_type_t; + + typename AT::tdual_int_1d k_current_segment; + typename AT::t_int_1d d_current_segment; + typename HAT::t_int_1d h_current_segment; + + typename AT::t_int_1d d_sendlist; + typename AT::t_xfloat_1d d_buf; + typename AT::t_int_1d d_copylist; + typename AT::t_int_1d d_indices; + + d_walls_t d_walls; + + rand_pool_t rand_pool; + + template + KOKKOS_INLINE_FUNCTION + void generate_velocity_kk(int atom_i) const; + + KOKKOS_INLINE_FUNCTION + int compute_current_segment_kk(double pos) const; + + KOKKOS_INLINE_FUNCTION + double get_mass(MassTag, int atom_i) const + { + return d_mass(d_type(atom_i)); + } + + KOKKOS_INLINE_FUNCTION + double get_mass(RMassTag, int atom_i) const + { + return d_rmass(atom_i); + } +}; + +} + +#endif +#endif + diff --git a/src/fix_wall_flow.cpp b/src/fix_wall_flow.cpp new file mode 100644 index 0000000000..a6e3e38cbc --- /dev/null +++ b/src/fix_wall_flow.cpp @@ -0,0 +1,248 @@ +// clang-format off + /* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "fix_wall_flow.h" + +#include "atom.h" +#include "comm.h" +#include "domain.h" +#include "error.h" +#include "input.h" +#include "lattice.h" +#include "modify.h" +#include "update.h" +#include "variable.h" +#include "random_mars.h" +#include "memory.h" +#include "force.h" +#include "math_const.h" + +#include +#include +#include +#include +#include + +using namespace LAMMPS_NS; +using namespace FixConst; + +/* ---------------------------------------------------------------------- */ + +// fix name groupId wall/flow vel temp dim N coords... + +FixWallFlow::FixWallFlow(LAMMPS *lmp, int narg, char **arg) : + Fix(lmp, narg, arg), + flowax(FlowAxis::AX_X), + flowvel(0.0), + flowdir(0), + rndseed(0), + current_segment(nullptr) +{ + if (narg < 9) utils::missing_cmd_args(FLERR, "fix wall/flow", error); + + dynamic_group_allow = 1; + bool do_abort = false; + + int iarg = 3; + // parsing axis + if (strcmp(arg[iarg], "x") == 0) flowax = FlowAxis::AX_X; + else if (strcmp(arg[iarg],"y") == 0) flowax = FlowAxis::AX_Y; + else if (strcmp(arg[iarg],"z") == 0) flowax = FlowAxis::AX_Z; + else error->all(FLERR,"Illegal fix wall/flow argument: axis must by x or y or z, but {} specified", arg[iarg]); + + ++iarg; + // parsing velocity + flowvel = utils::numeric(FLERR,arg[iarg],do_abort,lmp); + if (flowvel == 0.0) error->all(FLERR,"Illegal fix wall/flow argument: velocity cannot be 0"); + if (flowvel > 0.0) flowdir = 1; + else flowdir = -1; + if(flowdir < 0) error->all(FLERR, "Negative direction is not supported yet"); + + ++iarg; + // parsing temperature + double flowtemp = utils::numeric(FLERR,arg[iarg],do_abort,lmp); + kT = lmp->force->boltz * flowtemp / force->mvv2e; + + ++iarg; + // parsing seed + rndseed = utils::inumeric(FLERR, arg[iarg],do_abort,lmp); + if(rndseed <= 0) error->all(FLERR, "Random seed must be positive!"); + + ++iarg; + // parsing wall count + int wallcount = utils::inumeric(FLERR,arg[iarg],do_abort,lmp); + if(wallcount <= 0) error->all(FLERR,"Illegal fix wall/flow argument: wall count must be positive"); + + ++iarg; + // parsing walls + if(narg - iarg != wallcount) error->all(FLERR, "Wrong fix wall/flow wall count {}," + " must be {}", + wallcount, narg - iarg); + walls.resize(wallcount + 2); + walls.front() = domain->boxlo[flowax]; + for (size_t w = 1; w <= wallcount; ++w, ++iarg) + { + walls[w] = utils::numeric(FLERR,arg[iarg],do_abort,lmp); + } + walls.back() = domain->boxhi[flowax]; + if (!std::is_sorted(walls.begin(), walls.end(), std::less_equal())) + { + error->all(FLERR, "Wrong fix wall/flow wall ordering or some walls are outside simulation domain"); + } + + memory->grow(current_segment, atom->nmax, "WallFlow::current_segment"); + atom->add_callback(Atom::GROW); + if (restart_peratom) atom->add_callback(Atom::RESTART); + + maxexchange = 1; + + random = new RanMars(lmp, rndseed + comm->me); + } + +/* ---------------------------------------------------------------------- */ + +FixWallFlow::~FixWallFlow() +{ + if (copymode) return; + atom->delete_callback(id, Atom::GROW); + if (restart_peratom) atom->delete_callback(id, Atom::RESTART); + memory->destroy(current_segment); + + delete random; +} + +/* ---------------------------------------------------------------------- */ + +int FixWallFlow::setmask() +{ + int mask = 0; + + mask |= END_OF_STEP; + + return mask; +} + +/* ---------------------------------------------------------------------- */ + +void FixWallFlow::init() +{ + int nrigid = 0; + for (int i = 0; i < modify->nfix; i++) + if (modify->fix[i]->rigid_flag) nrigid++; + + if (nrigid && comm->me == 0) + error->warning(FLERR,"FixWallFlow is not compatible with rigid bodies"); + + for (int i = 0; i < atom->nlocal; ++i) + { + double pos = atom->x[i][flowax]; + current_segment[i] = compute_current_segment(pos); + } +} + +/* ---------------------------------------------------------------------- */ + +void FixWallFlow::end_of_step() +{ + double **x = atom->x; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + for (int i = 0; i < nlocal; ++i) + { + if (mask[i] & groupbit) + { + double pos = x[i][flowax]; + int prev_segment = current_segment[i]; + current_segment[i] = compute_current_segment(pos); + + if (prev_segment != current_segment[i]) + { + generate_velocity(i); + } + } + } +} + +void FixWallFlow::generate_velocity(int atom_i) +{ + const int newton_iteration_count = 10; + double *vel = atom->v[atom_i]; + double mass = atom->mass[atom->type[atom_i]]; + const double gamma = 1.0 / std::sqrt(2.0 * kT / mass); + double delta = gamma * flowvel; + + const double edd = std::exp(-delta*delta) / MathConst::MY_PIS + delta * std::erf(delta); + const double probability_threshold = 0.5f * (1.f + delta / edd); + + double direction = 1.0; + + if (random->uniform() > probability_threshold) + { + delta = -delta; + direction = -direction; + } + + const double xi_0 = random->uniform(); + const double F_inf = edd + delta; + const double xi = xi_0 * F_inf; + const double x_0 = (std::sqrt(delta*delta + 2) - delta) * 0.5; + double x = x_0; + for (int i = 0; i < newton_iteration_count; ++i) + { + x -= (std::exp(x*x) * MathConst::MY_PIS * (xi - delta * std::erfc(x)) - 1.0) / (x + delta) * 0.5; + } + + const double nu = x + delta; + const double v = nu / gamma; + + vel[flowax] = v * direction; + vel[(flowax + 1) % 3] = random->gaussian() / (gamma * MathConst::MY_SQRT2); + vel[(flowax + 2) % 3] = random->gaussian() / (gamma * MathConst::MY_SQRT2); +} + +int FixWallFlow::compute_current_segment(double pos) const +{ + int result = 0; + for (; result < walls.size()-1; ++result) + { + if (pos >= walls[result] && pos < walls[result + 1]) + { + return result; + } + } + return -1; // -1 is "out of box" region +} + +void FixWallFlow::grow_arrays(int nmax) +{ + memory->grow(current_segment, nmax, "WallFlow::current_segment"); +} + +void FixWallFlow::copy_arrays(int i, int j, int) +{ + current_segment[j] = current_segment[i]; +} + +int FixWallFlow::pack_exchange(int i, double* buf) +{ + buf[0] = static_cast(current_segment[i]); + return 1; +} + +int FixWallFlow::unpack_exchange(int i, double* buf) +{ + current_segment[i] = static_cast(buf[0]); + return 1; +} diff --git a/src/fix_wall_flow.h b/src/fix_wall_flow.h new file mode 100644 index 0000000000..ec9e4a4601 --- /dev/null +++ b/src/fix_wall_flow.h @@ -0,0 +1,60 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS +// clang-format off +FixStyle(wall/flow,FixWallFlow); +// clang-format on +#else + +#ifndef LMP_FIX_WALL_FLOW_H +#define LMP_FIX_WALL_FLOW_H + +#include "fix.h" +#include +namespace LAMMPS_NS { + +class FixWallFlow : public Fix { + public: + enum FlowAxis {AX_X = 0, AX_Y = 1, AX_Z = 2}; + + FixWallFlow(class LAMMPS *, int, char **); + ~FixWallFlow() override; + int setmask() override; + void init() override; + void end_of_step() override; + + void grow_arrays(int) override; + void copy_arrays(int, int, int) override; + + int pack_exchange(int, double *) override; + int unpack_exchange(int, double *) override; + + protected: + FlowAxis flowax; + double flowvel; + double kT; + std::vector walls; + + int flowdir; + int rndseed; + class RanMars *random; + int *current_segment; + int compute_current_segment(double pos) const; + void generate_velocity(int i); +}; + +} // namespace LAMMPS_NS + +#endif +#endif From b775085189d3b66d193cc4b8e96cb3599f9c5db0 Mon Sep 17 00:00:00 2001 From: vladgl Date: Mon, 9 Oct 2023 13:29:15 +0300 Subject: [PATCH 123/559] Add licensing info --- src/KOKKOS/fix_wall_flow_kokkos.cpp | 19 +++++++++++++++++++ src/fix_wall_flow.cpp | 8 ++++++-- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/src/KOKKOS/fix_wall_flow_kokkos.cpp b/src/KOKKOS/fix_wall_flow_kokkos.cpp index 501a1bbd3f..46805f07d6 100644 --- a/src/KOKKOS/fix_wall_flow_kokkos.cpp +++ b/src/KOKKOS/fix_wall_flow_kokkos.cpp @@ -1,3 +1,22 @@ +// clang-format off +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing authors: Vladislav Galigerov (HSE), + Daniil Pavlov (MIPT) +------------------------------------------------------------------------- */ + #include "fix_wall_flow_kokkos.h" #include "atom_kokkos.h" #include "memory_kokkos.h" diff --git a/src/fix_wall_flow.cpp b/src/fix_wall_flow.cpp index a6e3e38cbc..adaf7412cc 100644 --- a/src/fix_wall_flow.cpp +++ b/src/fix_wall_flow.cpp @@ -1,5 +1,5 @@ // clang-format off - /* ---------------------------------------------------------------------- +/* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories LAMMPS development team: developers@lammps.org @@ -12,8 +12,12 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ -#include "fix_wall_flow.h" +/* ---------------------------------------------------------------------- + Contributing authors: Vladislav Galigerov (HSE), + Daniil Pavlov (MIPT) +------------------------------------------------------------------------- */ +#include "fix_wall_flow.h" #include "atom.h" #include "comm.h" #include "domain.h" From 70cc1039fd304a2e1b64897e37ad4efbe14915d4 Mon Sep 17 00:00:00 2001 From: vladgl Date: Mon, 9 Oct 2023 17:30:57 +0300 Subject: [PATCH 124/559] Some cleaning --- src/KOKKOS/fix_wall_flow_kokkos.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/KOKKOS/fix_wall_flow_kokkos.cpp b/src/KOKKOS/fix_wall_flow_kokkos.cpp index 46805f07d6..b0efee0941 100644 --- a/src/KOKKOS/fix_wall_flow_kokkos.cpp +++ b/src/KOKKOS/fix_wall_flow_kokkos.cpp @@ -25,7 +25,7 @@ #include "force.h" #include -//#include "comm.h + // clang-format off using namespace LAMMPS_NS; From 19e45187f8d4bf7663ffb3f24591ce66f9153bdd Mon Sep 17 00:00:00 2001 From: vladgl Date: Mon, 9 Oct 2023 17:32:59 +0300 Subject: [PATCH 125/559] Add cite string --- src/fix_wall_flow.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/fix_wall_flow.cpp b/src/fix_wall_flow.cpp index adaf7412cc..d6dbafd64c 100644 --- a/src/fix_wall_flow.cpp +++ b/src/fix_wall_flow.cpp @@ -19,6 +19,7 @@ #include "fix_wall_flow.h" #include "atom.h" +#include "citeme.h" #include "comm.h" #include "domain.h" #include "error.h" @@ -43,7 +44,16 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ -// fix name groupId wall/flow vel temp dim N coords... +static const char cite_fix_wall_flow_c[] = + "fix wall/flow command: doi:{tba}\n\n" + "@Article{Pavlov-etal-IJHPCA-2023,\n" + " author = {Daniil Pavlov and Vladislav Galigerov and Daniil Kolotinskii and Vsevolod Nikolskiy and Vladimir Stegailov},\n" + " title = {GPU-based Molecular Dynamics of Fluid Flows: Reaching for Turbulence},\n" + " journal = {International Journal of High Performance Computing Applications},\n" + " year = 2023,\n" + " volume = {tba},\n" + " pages = {tba}\n” + "}\n\n"; FixWallFlow::FixWallFlow(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), @@ -53,6 +63,7 @@ FixWallFlow::FixWallFlow(LAMMPS *lmp, int narg, char **arg) : rndseed(0), current_segment(nullptr) { + if (lmp->citeme) lmp->citeme->add(cite_fix_wall_flow_c); if (narg < 9) utils::missing_cmd_args(FLERR, "fix wall/flow", error); dynamic_group_allow = 1; From d7f7306b7d14ecb067b08c0fbf17aaf26ee83852 Mon Sep 17 00:00:00 2001 From: vladgl Date: Fri, 13 Oct 2023 14:26:05 +0300 Subject: [PATCH 126/559] Fix character --- src/fix_wall_flow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fix_wall_flow.cpp b/src/fix_wall_flow.cpp index d6dbafd64c..ff4d4078dd 100644 --- a/src/fix_wall_flow.cpp +++ b/src/fix_wall_flow.cpp @@ -52,7 +52,7 @@ static const char cite_fix_wall_flow_c[] = " journal = {International Journal of High Performance Computing Applications},\n" " year = 2023,\n" " volume = {tba},\n" - " pages = {tba}\n” + " pages = {tba}\n" "}\n\n"; FixWallFlow::FixWallFlow(LAMMPS *lmp, int narg, char **arg) : From 249f3b0af4149d90ea68d3a008ed3b3148e9b5c1 Mon Sep 17 00:00:00 2001 From: vladgl Date: Sat, 14 Oct 2023 13:10:08 +0300 Subject: [PATCH 127/559] Add units command --- src/fix_wall_flow.cpp | 44 ++++++++++++++++++++++++++++++++++++------- 1 file changed, 37 insertions(+), 7 deletions(-) diff --git a/src/fix_wall_flow.cpp b/src/fix_wall_flow.cpp index ff4d4078dd..e5602b7af9 100644 --- a/src/fix_wall_flow.cpp +++ b/src/fix_wall_flow.cpp @@ -82,7 +82,7 @@ FixWallFlow::FixWallFlow(LAMMPS *lmp, int narg, char **arg) : if (flowvel == 0.0) error->all(FLERR,"Illegal fix wall/flow argument: velocity cannot be 0"); if (flowvel > 0.0) flowdir = 1; else flowdir = -1; - if(flowdir < 0) error->all(FLERR, "Negative direction is not supported yet"); + if(flowdir < 0) error->all(FLERR, "Illegal fix wall/flow argument: negative direction is not supported yet"); ++iarg; // parsing temperature @@ -92,29 +92,59 @@ FixWallFlow::FixWallFlow(LAMMPS *lmp, int narg, char **arg) : ++iarg; // parsing seed rndseed = utils::inumeric(FLERR, arg[iarg],do_abort,lmp); - if(rndseed <= 0) error->all(FLERR, "Random seed must be positive!"); + if(rndseed <= 0) error->all(FLERR, "Illegal fix wall/flow argument: random seed must be positive integer"); ++iarg; // parsing wall count int wallcount = utils::inumeric(FLERR,arg[iarg],do_abort,lmp); - if(wallcount <= 0) error->all(FLERR,"Illegal fix wall/flow argument: wall count must be positive"); + if(wallcount <= 0) error->all(FLERR,"Illegal fix wall/flow argument: wall count must be positive integer"); ++iarg; // parsing walls - if(narg - iarg != wallcount) error->all(FLERR, "Wrong fix wall/flow wall count {}," - " must be {}", - wallcount, narg - iarg); + if(narg - iarg != wallcount && narg - iarg != wallcount + 2) error->all(FLERR, "Wrong fix wall/flow wall count"); + auto getscale = [&]() -> double { + switch (flowax) + { + case FlowAxis::AX_X: + return domain->lattice->xlattice; + case FlowAxis::AX_Y: + return domain->lattice->ylattice; + case FlowAxis::AX_Z: + return domain->lattice->zlattice; + default: return 0.0; + } + return 0.0; + }; + double scale = getscale(); + + if (narg - iarg == wallcount + 2) + { + if(strcmp(arg[narg - 2], "units") != 0) error->all(FLERR, "Wrong fix wall/flow units command"); + if (strcmp(arg[narg - 1], "box") == 0) scale = 1.0; + else if (strcmp(arg[narg - 1], "lattice") == 0) + { + scale = getscale(); + } + else error->all(FLERR, "Wrong fix wall/flow units command"); + } + walls.resize(wallcount + 2); walls.front() = domain->boxlo[flowax]; for (size_t w = 1; w <= wallcount; ++w, ++iarg) { - walls[w] = utils::numeric(FLERR,arg[iarg],do_abort,lmp); + walls[w] = utils::numeric(FLERR,arg[iarg],do_abort,lmp) * scale; } walls.back() = domain->boxhi[flowax]; if (!std::is_sorted(walls.begin(), walls.end(), std::less_equal())) { error->all(FLERR, "Wrong fix wall/flow wall ordering or some walls are outside simulation domain"); } + std::cout << "Walls:\n" + for (auto w : walls) + { + std::cout << w << " "; + } + std::cout << std::endl; memory->grow(current_segment, atom->nmax, "WallFlow::current_segment"); atom->add_callback(Atom::GROW); From 381330c3c25aa1e04819925e42ad8202b0615072 Mon Sep 17 00:00:00 2001 From: vladgl Date: Sat, 14 Oct 2023 13:11:06 +0300 Subject: [PATCH 128/559] Fix typo --- src/fix_wall_flow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fix_wall_flow.cpp b/src/fix_wall_flow.cpp index e5602b7af9..beaaa474eb 100644 --- a/src/fix_wall_flow.cpp +++ b/src/fix_wall_flow.cpp @@ -139,7 +139,7 @@ FixWallFlow::FixWallFlow(LAMMPS *lmp, int narg, char **arg) : { error->all(FLERR, "Wrong fix wall/flow wall ordering or some walls are outside simulation domain"); } - std::cout << "Walls:\n" + std::cout << "Walls:\n"; for (auto w : walls) { std::cout << w << " "; From c53847ad882f282ecf737040bedf3968682c656f Mon Sep 17 00:00:00 2001 From: Vladislav Galigerov Date: Wed, 31 Jan 2024 15:35:04 +0300 Subject: [PATCH 129/559] Update citation --- src/fix_wall_flow.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/fix_wall_flow.cpp b/src/fix_wall_flow.cpp index beaaa474eb..591f640279 100644 --- a/src/fix_wall_flow.cpp +++ b/src/fix_wall_flow.cpp @@ -45,14 +45,15 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ static const char cite_fix_wall_flow_c[] = - "fix wall/flow command: doi:{tba}\n\n" - "@Article{Pavlov-etal-IJHPCA-2023,\n" + "fix wall/flow command: doi:10.1177/10943420231213013\n\n" + "@Article{Pavlov-etal-IJHPCA-2024,\n" " author = {Daniil Pavlov and Vladislav Galigerov and Daniil Kolotinskii and Vsevolod Nikolskiy and Vladimir Stegailov},\n" - " title = {GPU-based Molecular Dynamics of Fluid Flows: Reaching for Turbulence},\n" - " journal = {International Journal of High Performance Computing Applications},\n" - " year = 2023,\n" - " volume = {tba},\n" - " pages = {tba}\n" + " title = {GPU-based molecular dynamics of fluid flows: Reaching for turbulence},\n" + " journal = {The International Journal of High Performance Computing Applications},\n" + " year = 2024,\n" + " volume = 38,\n" + " number = 1,\n" + " pages = 34-49\n" "}\n\n"; FixWallFlow::FixWallFlow(LAMMPS *lmp, int narg, char **arg) : From 90105fd58a0a5e55ee43993c9b9c7415376ea5ca Mon Sep 17 00:00:00 2001 From: Vladislav Galigerov Date: Sun, 4 Feb 2024 16:02:53 +0300 Subject: [PATCH 130/559] Add wall_flow documentation --- doc/src/Bibliography.rst | 3 + doc/src/Commands_fix.rst | 1 + doc/src/fix.rst | 1 + doc/src/fix_wall_flow.rst | 123 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 128 insertions(+) create mode 100644 doc/src/fix_wall_flow.rst diff --git a/doc/src/Bibliography.rst b/doc/src/Bibliography.rst index 4ed8e73dfe..9778340c94 100644 --- a/doc/src/Bibliography.rst +++ b/doc/src/Bibliography.rst @@ -877,6 +877,9 @@ Bibliography **(PLUMED)** G.A. Tribello, M. Bonomi, D. Branduardi, C. Camilloni and G. Bussi, Comp. Phys. Comm 185, 604 (2014) +**(Pavlov)** +D Pavlov, V Galigerov, D Kolotinskii, V Nikolskiy, V Stegailov, International Journal of High Performance Computing Applications, 38, 34-49 (2024). + **(Paquay)** Paquay and Kusters, Biophys. J., 110, 6, (2016). preprint available at `arXiv:1411.3019 `_. diff --git a/doc/src/Commands_fix.rst b/doc/src/Commands_fix.rst index e89e302673..304f54f690 100644 --- a/doc/src/Commands_fix.rst +++ b/doc/src/Commands_fix.rst @@ -262,6 +262,7 @@ OPT. * :doc:`wall/body/polyhedron ` * :doc:`wall/colloid ` * :doc:`wall/ees ` + * :doc:`wall/flow (k) ` * :doc:`wall/gran (k) ` * :doc:`wall/gran/region ` * :doc:`wall/harmonic ` diff --git a/doc/src/fix.rst b/doc/src/fix.rst index 69a7212487..4ff7fd6bd6 100644 --- a/doc/src/fix.rst +++ b/doc/src/fix.rst @@ -427,6 +427,7 @@ accelerated styles exist. * :doc:`wall/body/polyhedron ` - time integration for body particles of style :doc:`rounded/polyhedron ` * :doc:`wall/colloid ` - Lennard-Jones wall interacting with finite-size particles * :doc:`wall/ees ` - wall for ellipsoidal particles +* :doc:`wall/flow ` - flow boundary conditions * :doc:`wall/gran ` - frictional wall(s) for granular simulations * :doc:`wall/gran/region ` - :doc:`fix wall/region ` equivalent for use with granular particles * :doc:`wall/harmonic ` - harmonic spring wall diff --git a/doc/src/fix_wall_flow.rst b/doc/src/fix_wall_flow.rst new file mode 100644 index 0000000000..56a2510d08 --- /dev/null +++ b/doc/src/fix_wall_flow.rst @@ -0,0 +1,123 @@ +.. index:: fix wall/flow +.. index:: fix wall/flow/kk + +fix wall/flow command +===================== + +Accelerator Variants: *wall/flow/kk* + +Syntax +"""""" + +.. code-block:: LAMMPS + + fix ID group-ID wall/flow ax vf T seed N coords... + +* ID, group-ID are documented in :doc:`fix ` command +* wall/flow = style name of this fix command +* ax = flow axis (*x*, *y*, or *z* character) +* vf = *ax* component of generated flow velocity +* T = flow temperature (temperature units) +* seed = random seed for stochasticity (positive integer) +* N = number of walls (positive integer) +* coords = set of N wall coordinates (box units) along *ax* axis arranged in ascending order. Note that an additional implicit wall is introduced at the boundary of the simulation domain, so the resulting system always has N+1 walls. + +Examples +"""""""" + +.. code-block:: LAMMPS + + fix 1 g_flow wall/flow x ${VFLOW} ${TEMP} 123 ${nwall} ${w1} ${w2} ${w3} ${w4} + fix 2 all wall/flow 0.4 0.2 3 1 400 + +Description +""""""""""" + +This fix implements flow boundary conditions (FBC) introduced in :ref:`(Pavlov) ` and :ref:`(Pavlov) `. +The goal is to generate a stationary flow with a shifted Maxwell velocity distribution: + +.. math:: + + f_z(v_z) \propto \exp{\left(-\frac{m (v_z-v_{\text{flow}})^2}{2 k T}\right)} + +This is achieved by reassigning the velocity of each particle that passes a wall. +Such reassigning represents an emission of a new particle into the system with +simultaneous removal of a particle with the same position. +The parallel velocity components parallel to the wall are re-assigned according +to the Maxwell velocity distribution. The perpendicular component is assigned +according to the following velocity distribution: + +.. math:: + + f_{\text{z generated}}(v_z) \propto v_z f_z(v_z) + +It can be shown that in an ideal-gas scenario this makes the velocity +distribution of particles between walls exactly as desired. + +Since in most cases simulated systems are not ideal gas, +the need for multiple walls might arise, as a single wall may not be +sufficient for maintaining a stationary flow without congestions +manifesting as areas with increased density located upstream from static obstacles. + +For the same reason, the actual temperature and velocity of the generated +flow may differ from ones requested. The degree of such discrepancy is determined +by how different from the ideal gas the simulated system is. Therefore, a calibration procedure is required for each system as described in :ref:`(Pavlov) `. + +The interactions between particles on different sides of a wall are not disabled or neglected and the +particle positions aren't affected by the velocity reassignment. +This removes the need to modify the force field to work correctly in cases when a particle is close +to a wall (for example, if particle positions were uniformly redistributed across the surface of the wall, +two particles could end up too close to each other, potentially causing the simulation to explode). +However due to this compromise, some collective phenomena such as areas with increased/decreased density +or collective movements are not fully removed when particles cross a wall. +This unwanted consequence can also be potentially mitigated by using more than one wall. + + +---------- + +Note that when high flow velocity is reached, a lost atoms error may +occur (see :doc:`error messages `). +If this message appears when using this fix, you can, for example, reduce the frequency of the +neighbor list rebuild via :doc:`neigh_modify ` command. + +Restart, fix_modify, output, run start/stop, minimize info +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +No information about this fix is written to :doc:`binary restart files `. + +None of the :doc:`fix_modify ` options are relevant to +this fix. + +No global or per-atom quantities are stored by this fix for access by +various :doc:`output commands `. + +No parameter of this fix can be used with the *start/stop* keywords of +the :doc:`run ` command. + +This fix is not invoked during :doc:`energy minimization `. + +Restrictions +"""""""""""" + +Flow boundary conditions should not be used with rigid bodies such as those +defined by a "fix rigid" command. + +Related commands +"""""""""""""""" + +:doc:`fix wall/reflect ` command + +Default +""""""" + +none + +---------- + +.. _fbc-Pavlov1: + +**(Pavlov)** Pavlov, Kolotinskii, Stegailov, “GPU-Based Molecular Dynamics of Turbulent Liquid Flows with OpenMM”, In: Proceedings of PPAM-2022, LNCS (Springer), vol. 13826, pp. 346–358 (2023) + +.. _fbc-Pavlov2: + +**(Pavlov)** Pavlov, Galigerov, Kolotinskii, Nikolskiy, Stegailov, "GPU-based Molecular Dynamics of Fluid Flows: Reaching for Turbulence”, Int. J. High Perf. Comp. Appl., (2024) \ No newline at end of file From 4ad5a9d3eb01a7ad2a3771d43c678b8c821e5e24 Mon Sep 17 00:00:00 2001 From: Vladislav Galigerov Date: Tue, 6 Feb 2024 21:00:37 +0300 Subject: [PATCH 131/559] Fix doc --- doc/src/fix_wall_flow.rst | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/doc/src/fix_wall_flow.rst b/doc/src/fix_wall_flow.rst index 56a2510d08..e0f5424658 100644 --- a/doc/src/fix_wall_flow.rst +++ b/doc/src/fix_wall_flow.rst @@ -11,7 +11,7 @@ Syntax .. code-block:: LAMMPS - fix ID group-ID wall/flow ax vf T seed N coords... + fix ID group-ID wall/flow ax vf T seed N coords ... keyword value * ID, group-ID are documented in :doc:`fix ` command * wall/flow = style name of this fix command @@ -22,6 +22,15 @@ Syntax * N = number of walls (positive integer) * coords = set of N wall coordinates (box units) along *ax* axis arranged in ascending order. Note that an additional implicit wall is introduced at the boundary of the simulation domain, so the resulting system always has N+1 walls. +* zero or more keyword/value pairs may be appended +* keyword = *units* + + .. parsed-literal:: + + *units* value = *lattice* or *box* + *lattice* = the wall positions are defined in lattice units + *box* = the wall positions are defined in simulation box units + Examples """""""" @@ -110,7 +119,7 @@ Related commands Default """"""" -none +The default for the units keyword is lattice. ---------- From 0f5436de99607f000a0b4c2291443baf2d5e1c46 Mon Sep 17 00:00:00 2001 From: Vladislav Galigerov Date: Tue, 6 Feb 2024 22:43:56 +0300 Subject: [PATCH 132/559] Fix spelling --- doc/src/fix_wall_flow.rst | 10 +++++----- doc/utils/sphinx-config/false_positives.txt | 3 +++ 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/doc/src/fix_wall_flow.rst b/doc/src/fix_wall_flow.rst index e0f5424658..f6f5a242ac 100644 --- a/doc/src/fix_wall_flow.rst +++ b/doc/src/fix_wall_flow.rst @@ -42,7 +42,7 @@ Examples Description """"""""""" -This fix implements flow boundary conditions (FBC) introduced in :ref:`(Pavlov) ` and :ref:`(Pavlov) `. +This fix implements flow boundary conditions (FBC) introduced in :ref:`(Pavlov1) ` and :ref:`(Pavlov2) `. The goal is to generate a stationary flow with a shifted Maxwell velocity distribution: .. math:: @@ -52,7 +52,7 @@ The goal is to generate a stationary flow with a shifted Maxwell velocity distri This is achieved by reassigning the velocity of each particle that passes a wall. Such reassigning represents an emission of a new particle into the system with simultaneous removal of a particle with the same position. -The parallel velocity components parallel to the wall are re-assigned according +The velocity components parallel to the wall are re-assigned according to the Maxwell velocity distribution. The perpendicular component is assigned according to the following velocity distribution: @@ -65,7 +65,7 @@ distribution of particles between walls exactly as desired. Since in most cases simulated systems are not ideal gas, the need for multiple walls might arise, as a single wall may not be -sufficient for maintaining a stationary flow without congestions +sufficient for maintaining a stationary flow without congestion manifesting as areas with increased density located upstream from static obstacles. For the same reason, the actual temperature and velocity of the generated @@ -125,8 +125,8 @@ The default for the units keyword is lattice. .. _fbc-Pavlov1: -**(Pavlov)** Pavlov, Kolotinskii, Stegailov, “GPU-Based Molecular Dynamics of Turbulent Liquid Flows with OpenMM”, In: Proceedings of PPAM-2022, LNCS (Springer), vol. 13826, pp. 346–358 (2023) +**(Pavlov1)** Pavlov, Kolotinskii, Stegailov, "GPU-Based Molecular Dynamics of Turbulent Liquid Flows with OpenMM", Proceedings of PPAM-2022, LNCS (Springer), vol. 13826, pp. 346-358 (2023) .. _fbc-Pavlov2: -**(Pavlov)** Pavlov, Galigerov, Kolotinskii, Nikolskiy, Stegailov, "GPU-based Molecular Dynamics of Fluid Flows: Reaching for Turbulence”, Int. J. High Perf. Comp. Appl., (2024) \ No newline at end of file +**(Pavlov2)** Pavlov, Galigerov, Kolotinskii, Nikolskiy, Stegailov, "GPU-based Molecular Dynamics of Fluid Flows: Reaching for Turbulence", Int. J. High Perf. Comp. Appl., (2024) \ No newline at end of file diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 4f5fe6fdaf..6106a1638c 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -1770,6 +1770,7 @@ Kolafa Kollman kolmogorov Kolmogorov +Kolotinskii Kondor konglt Koning @@ -2774,6 +2775,7 @@ PEigenDense Peng peptide peratom +Perf Pergamon pergrid peri @@ -3884,6 +3886,7 @@ Verlet versa Verstraelen ves +vf vflag vfrac vhi From a3a054cc152f08006f8b6bb8870869f4d4f5626c Mon Sep 17 00:00:00 2001 From: Vladislav Galigerov Date: Tue, 6 Feb 2024 23:19:47 +0300 Subject: [PATCH 133/559] Another spell fix --- doc/src/fix_wall_flow.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/fix_wall_flow.rst b/doc/src/fix_wall_flow.rst index f6f5a242ac..d89e0b6d89 100644 --- a/doc/src/fix_wall_flow.rst +++ b/doc/src/fix_wall_flow.rst @@ -73,7 +73,7 @@ flow may differ from ones requested. The degree of such discrepancy is determine by how different from the ideal gas the simulated system is. Therefore, a calibration procedure is required for each system as described in :ref:`(Pavlov) `. The interactions between particles on different sides of a wall are not disabled or neglected and the -particle positions aren't affected by the velocity reassignment. +particle positions are not affected by the velocity reassignment. This removes the need to modify the force field to work correctly in cases when a particle is close to a wall (for example, if particle positions were uniformly redistributed across the surface of the wall, two particles could end up too close to each other, potentially causing the simulation to explode). From 5bab14d31e9b2b8ec9622778de2ec78088b1125d Mon Sep 17 00:00:00 2001 From: Vladislav Galigerov Date: Tue, 6 Feb 2024 23:23:11 +0300 Subject: [PATCH 134/559] Sync unpack_exchange_kokkos with develop --- src/KOKKOS/fix_wall_flow_kokkos.cpp | 1 + src/KOKKOS/fix_wall_flow_kokkos.h | 1 + 2 files changed, 2 insertions(+) diff --git a/src/KOKKOS/fix_wall_flow_kokkos.cpp b/src/KOKKOS/fix_wall_flow_kokkos.cpp index b0efee0941..daf73e7ef2 100644 --- a/src/KOKKOS/fix_wall_flow_kokkos.cpp +++ b/src/KOKKOS/fix_wall_flow_kokkos.cpp @@ -292,6 +292,7 @@ template void FixWallFlowKokkos::unpack_exchange_kokkos( DAT::tdual_xfloat_2d &k_buf, DAT::tdual_int_1d &k_indices, int nrecv, + int /*nrecv1*/, int /*nextrarecv1*/, ExecutionSpace space) { d_buf = typename ArrayTypes::t_xfloat_1d_um( diff --git a/src/KOKKOS/fix_wall_flow_kokkos.h b/src/KOKKOS/fix_wall_flow_kokkos.h index 1faa8f4f32..10bfed962d 100644 --- a/src/KOKKOS/fix_wall_flow_kokkos.h +++ b/src/KOKKOS/fix_wall_flow_kokkos.h @@ -75,6 +75,7 @@ class FixWallFlowKokkos : public FixWallFlow, public KokkosBase { void unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf, DAT::tdual_int_1d &indices,int nrecv, + int /*nrecv1*/, int /*nextrarecv1*/, ExecutionSpace space) override; protected: typename AT::t_x_array d_x; From df7662162e29cbcb40e8eecb26736950535c50f8 Mon Sep 17 00:00:00 2001 From: Vladislav Galigerov Date: Wed, 7 Feb 2024 13:53:40 +0300 Subject: [PATCH 135/559] Add example --- examples/wall/in.wall.flow | 79 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 examples/wall/in.wall.flow diff --git a/examples/wall/in.wall.flow b/examples/wall/in.wall.flow new file mode 100644 index 0000000000..59d1b99eda --- /dev/null +++ b/examples/wall/in.wall.flow @@ -0,0 +1,79 @@ +variable nrun equal 10000 +variable dump_count equal 10 + +variable nwall equal 4 +variable w1 equal 67 +variable w2 equal 71 +variable w3 equal 75 +variable w4 equal 79 + +variable x_cylinder equal 20 +variable y_cylinder equal 17 +variable r_cylinder equal 4 + +variable MASS equal 1 +variable TEMP equal 0.4 +variable VFLOW equal 0.5 + +units lj +atom_style atomic + +lattice fcc 0.3 +region sim_box block 0 84 0 34 0 10 + +boundary p p p + +create_box 2 sim_box +region reg_cylinder cylinder z ${x_cylinder} ${y_cylinder} ${r_cylinder} EDGE EDGE + +create_atoms 1 box + +## setup obstacle ## +group g_obst region reg_cylinder +group g_flow subtract all g_obst +set group g_obst type 2 + +mass 1 ${MASS} +mass 2 ${MASS} + +velocity g_flow create ${TEMP} 4928459 rot yes dist gaussian +velocity g_obst set 0.0 0.0 0.0 + +pair_style lj/cut 1.122462 +pair_coeff 1 1 1.0 1.0 +pair_coeff 1 2 1.0 1.0 +pair_coeff 2 2 1.0 1.0 +pair_modify shift yes + +neighbor 0.3 bin +neigh_modify delay 0 every 20 check no + +fix 1 g_flow nve +fix 2 g_flow wall/flow x ${VFLOW} ${TEMP} 123 ${nwall} ${w1} ${w2} ${w3} ${w4} + +variable dump_every equal ${nrun}/${dump_count} +variable thermo_every equal ${dump_every} +variable restart_every equal ${nrun}/10 + +##### uncomment for grid aggregation ##### +#variable gr_Nx equal 42 +#variable gr_Ny equal 17 +#variable gr_Nz equal 1 +#variable gr_Nevery equal ${dump_every} +#variable gr_Nrepeat equal 1 +#variable gr_Nfreq equal ${dump_every} +#fix 3 g_flow ave/grid ${gr_Nevery} ${gr_Nrepeat} ${gr_Nfreq} ${gr_Nx} ${gr_Ny} ${gr_Nz} vx vy vz density/mass norm all ave one +#compute ct_gridId g_flow property/grid ${gr_Nx} ${gr_Ny} ${gr_Nz} id +#dump dmp_grid g_flow grid ${dump_every} grid.lammpstrj c_ct_gridId:grid:data f_3:grid:data[*] +########################################## + +#dump dmp_coord all atom ${dump_every} dump.lammpstrj + +#compute ct_Temp g_flow temp/com +#thermo_style custom step temp epair emol etotal press c_ct_Temp + +#restart ${restart_every} flow.restart + +timestep 0.005 +thermo ${thermo_every} +run ${nrun} From e33590b2fc101813d0beef963daf31c0dd40a264 Mon Sep 17 00:00:00 2001 From: Vladislav Galigerov Date: Wed, 7 Feb 2024 16:03:32 +0300 Subject: [PATCH 136/559] Whitespace --- doc/src/fix_wall_flow.rst | 2 +- src/KOKKOS/fix_wall_flow_kokkos.cpp | 32 ++++++++++++++--------------- src/KOKKOS/fix_wall_flow_kokkos.h | 6 +++--- src/fix_wall_flow.cpp | 4 ++-- 4 files changed, 22 insertions(+), 22 deletions(-) diff --git a/doc/src/fix_wall_flow.rst b/doc/src/fix_wall_flow.rst index d89e0b6d89..3b8d7300e6 100644 --- a/doc/src/fix_wall_flow.rst +++ b/doc/src/fix_wall_flow.rst @@ -129,4 +129,4 @@ The default for the units keyword is lattice. .. _fbc-Pavlov2: -**(Pavlov2)** Pavlov, Galigerov, Kolotinskii, Nikolskiy, Stegailov, "GPU-based Molecular Dynamics of Fluid Flows: Reaching for Turbulence", Int. J. High Perf. Comp. Appl., (2024) \ No newline at end of file +**(Pavlov2)** Pavlov, Galigerov, Kolotinskii, Nikolskiy, Stegailov, "GPU-based Molecular Dynamics of Fluid Flows: Reaching for Turbulence", Int. J. High Perf. Comp. Appl., (2024) diff --git a/src/KOKKOS/fix_wall_flow_kokkos.cpp b/src/KOKKOS/fix_wall_flow_kokkos.cpp index daf73e7ef2..a143578fdc 100644 --- a/src/KOKKOS/fix_wall_flow_kokkos.cpp +++ b/src/KOKKOS/fix_wall_flow_kokkos.cpp @@ -48,7 +48,7 @@ FixWallFlowKokkos::FixWallFlowKokkos(LAMMPS *lmp, int narg, char **a d_walls = d_walls_t("FixWallFlowKokkos::walls", walls.size()); auto h_walls = Kokkos::create_mirror_view(d_walls); for (int i = 0; i < walls.size(); ++i) - { + { h_walls(i) = walls[i]; } Kokkos::deep_copy(d_walls, h_walls); @@ -61,7 +61,7 @@ FixWallFlowKokkos::~FixWallFlowKokkos() memoryKK->destroy_kokkos(k_current_segment, current_segment); } -template +template void FixWallFlowKokkos::init() { atomKK->sync(execution_space, datamask_read); @@ -83,10 +83,10 @@ KOKKOS_INLINE_FUNCTION void FixWallFlowKokkos::operator()(TagFixWall d_current_segment(i) = compute_current_segment_kk(pos); } -template -void FixWallFlowKokkos::end_of_step() +template +void FixWallFlowKokkos::end_of_step() { - atomKK->sync(execution_space, datamask_read); + atomKK->sync(execution_space, datamask_read); k_current_segment.template sync(); d_x = atomKK->k_x.template view(); @@ -111,17 +111,17 @@ void FixWallFlowKokkos::end_of_step() template template -KOKKOS_INLINE_FUNCTION +KOKKOS_INLINE_FUNCTION void FixWallFlowKokkos::operator()(TagFixWallFlowEndOfStep, const int &atom_i) const { - if (d_mask[atom_i] & groupbit) - { + if (d_mask[atom_i] & groupbit) + { double pos = d_x(atom_i, flowax); int prev_segment = d_current_segment(atom_i); d_current_segment(atom_i) = compute_current_segment_kk(pos); - if (prev_segment != d_current_segment(atom_i)) - { + if (prev_segment != d_current_segment(atom_i)) + { generate_velocity_kk(atom_i); } } @@ -129,7 +129,7 @@ void FixWallFlowKokkos::operator()(TagFixWallFlowEndOfStep, template template -KOKKOS_INLINE_FUNCTION +KOKKOS_INLINE_FUNCTION void FixWallFlowKokkos::generate_velocity_kk(int atom_i) const { const int newton_iteration_count = 10; @@ -170,7 +170,7 @@ void FixWallFlowKokkos::generate_velocity_kk(int atom_i) const } template -KOKKOS_INLINE_FUNCTION +KOKKOS_INLINE_FUNCTION int FixWallFlowKokkos::compute_current_segment_kk(double pos) const { int result = 0; @@ -181,8 +181,8 @@ int FixWallFlowKokkos::compute_current_segment_kk(double pos) const } -template -void FixWallFlowKokkos::grow_arrays(int nmax) +template +void FixWallFlowKokkos::grow_arrays(int nmax) { k_current_segment.template sync(); memoryKK->grow_kokkos(k_current_segment, current_segment, nmax, "WallFlowKK::current_segment"); @@ -193,7 +193,7 @@ void FixWallFlowKokkos::grow_arrays(int nmax) } template -void FixWallFlowKokkos::copy_arrays(int i, int j, int) +void FixWallFlowKokkos::copy_arrays(int i, int j, int) { k_current_segment.template sync(); h_current_segment(j) = h_current_segment(i); @@ -252,7 +252,7 @@ int FixWallFlowKokkos::pack_exchange_kokkos( d_sendlist = k_sendlist.view(); d_copylist = k_copylist.view(); - + d_buf = typename ArrayTypes::t_xfloat_1d_um( k_buf.template view().data(), k_buf.extent(0)*k_buf.extent(1)); diff --git a/src/KOKKOS/fix_wall_flow_kokkos.h b/src/KOKKOS/fix_wall_flow_kokkos.h index 10bfed962d..8de0eded0a 100644 --- a/src/KOKKOS/fix_wall_flow_kokkos.h +++ b/src/KOKKOS/fix_wall_flow_kokkos.h @@ -107,16 +107,16 @@ class FixWallFlowKokkos : public FixWallFlow, public KokkosBase { KOKKOS_INLINE_FUNCTION void generate_velocity_kk(int atom_i) const; - KOKKOS_INLINE_FUNCTION + KOKKOS_INLINE_FUNCTION int compute_current_segment_kk(double pos) const; - KOKKOS_INLINE_FUNCTION + KOKKOS_INLINE_FUNCTION double get_mass(MassTag, int atom_i) const { return d_mass(d_type(atom_i)); } - KOKKOS_INLINE_FUNCTION + KOKKOS_INLINE_FUNCTION double get_mass(RMassTag, int atom_i) const { return d_rmass(atom_i); diff --git a/src/fix_wall_flow.cpp b/src/fix_wall_flow.cpp index 591f640279..695b93aea8 100644 --- a/src/fix_wall_flow.cpp +++ b/src/fix_wall_flow.cpp @@ -99,7 +99,7 @@ FixWallFlow::FixWallFlow(LAMMPS *lmp, int narg, char **arg) : // parsing wall count int wallcount = utils::inumeric(FLERR,arg[iarg],do_abort,lmp); if(wallcount <= 0) error->all(FLERR,"Illegal fix wall/flow argument: wall count must be positive integer"); - + ++iarg; // parsing walls if(narg - iarg != wallcount && narg - iarg != wallcount + 2) error->all(FLERR, "Wrong fix wall/flow wall count"); @@ -173,7 +173,7 @@ FixWallFlow::~FixWallFlow() int FixWallFlow::setmask() { int mask = 0; - + mask |= END_OF_STEP; return mask; From 26cff47386d94bdda1ff814ddb4f247120ce97be Mon Sep 17 00:00:00 2001 From: Dhairya Date: Wed, 7 Feb 2024 09:45:29 -0600 Subject: [PATCH 137/559] Removed whitespace --- src/GRANULAR/gran_sub_mod_damping.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/GRANULAR/gran_sub_mod_damping.cpp b/src/GRANULAR/gran_sub_mod_damping.cpp index 2ea9eed0aa..e57972db76 100644 --- a/src/GRANULAR/gran_sub_mod_damping.cpp +++ b/src/GRANULAR/gran_sub_mod_damping.cpp @@ -26,7 +26,7 @@ using MathSpecial::cube; using MathSpecial::powint; using MathSpecial::square; -static constexpr double PISQ = 9.86960440108935799230; +static constexpr double PISQ = 9.86960440108935799230; static constexpr double TWOROOTFIVEBYSIX = 1.82574185835055380345; static constexpr double ROOTTHREEBYTWO = 1.22474487139158894067; @@ -182,4 +182,4 @@ double GranSubModDampingEnHertz::calculate_forces() { damp_prefactor = damp * sqrt(gm->meff * gm->Fnormal / gm->delta); return -damp_prefactor * gm->vnnr; -} \ No newline at end of file +} From 194b45b7295bb9ad17c29dae482cdc51f1c575f9 Mon Sep 17 00:00:00 2001 From: Dhairya Date: Wed, 7 Feb 2024 09:52:02 -0600 Subject: [PATCH 138/559] Example file --- examples/granular/en_example/particles.dat | 18 ++++++++++++++++ examples/granular/en_example/start.lammps | 25 ++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 examples/granular/en_example/particles.dat create mode 100644 examples/granular/en_example/start.lammps diff --git a/examples/granular/en_example/particles.dat b/examples/granular/en_example/particles.dat new file mode 100644 index 0000000000..c9f3bd7a9c --- /dev/null +++ b/examples/granular/en_example/particles.dat @@ -0,0 +1,18 @@ +Python generated LAMMPS data file + +2 atoms +1 atom types + +0 0.08 xlo xhi +0 0.04 ylo yhi +0 0.08 zlo zhi + +Atoms # sphere + +1 1 0.004 2500 0.04 0.02 0.04 0 0 0 +2 1 0.004 2500 0.04 0.02 0.04416 0 0 0 + +Velocities + +1 0.0 0.0 1 0 0 0 +2 0.0 0.0 -1 0 0 0 diff --git a/examples/granular/en_example/start.lammps b/examples/granular/en_example/start.lammps new file mode 100644 index 0000000000..2bf0f54ddc --- /dev/null +++ b/examples/granular/en_example/start.lammps @@ -0,0 +1,25 @@ +units si +atom_style sphere + +boundary p p f +region box block 0 80e-3 0 40e-3 0 80e-3 open 3 open 4 +create_box 2 box + +read_data particles.dat add append +group mb type 1 + +pair_style granular +pair_coeff * * hertz/material 1e6 0.8 0.4 tangential mindlin NULL 0.0 0.5 damping enhertz +# pair_coeff * * hertz 1e6 0.3 tangential mindlin 1e4 1.0 0.5 damping enhertz +# pair_coeff * * hooke 1e6 0.5 tangential mindlin 1 1.0 0.0 damping enhooke +comm_modify vel yes + +timestep 1e-9 +fix 1 all nve/sphere +compute s all stress/atom NULL pair + +dump 1 all custom 2000000 op.dump id x y z vx vy vz +dump_modify 1 pad 8 +thermo_style custom step ke +run_style verlet +run 10000000 From 93fcf3cc754e4e77aba34ce839633a57ebe45146 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 7 Feb 2024 15:07:11 -0500 Subject: [PATCH 139/559] move fix to EXTRA-FIX package, update docs, add reference logs to example --- doc/src/fix_wall_flow.rst | 6 + examples/wall/in.wall.flow | 2 +- examples/wall/log.7Feb24.wall.flow.g++.1 | 182 +++++++++++++++++++++++ examples/wall/log.7Feb24.wall.flow.g++.4 | 182 +++++++++++++++++++++++ src/.gitignore | 2 + src/{ => EXTRA-FIX}/fix_wall_flow.cpp | 0 src/{ => EXTRA-FIX}/fix_wall_flow.h | 0 7 files changed, 373 insertions(+), 1 deletion(-) create mode 100644 examples/wall/log.7Feb24.wall.flow.g++.1 create mode 100644 examples/wall/log.7Feb24.wall.flow.g++.4 rename src/{ => EXTRA-FIX}/fix_wall_flow.cpp (100%) rename src/{ => EXTRA-FIX}/fix_wall_flow.h (100%) diff --git a/doc/src/fix_wall_flow.rst b/doc/src/fix_wall_flow.rst index 3b8d7300e6..464021ff52 100644 --- a/doc/src/fix_wall_flow.rst +++ b/doc/src/fix_wall_flow.rst @@ -42,6 +42,8 @@ Examples Description """"""""""" +.. versionadded:: TBD + This fix implements flow boundary conditions (FBC) introduced in :ref:`(Pavlov1) ` and :ref:`(Pavlov2) `. The goal is to generate a stationary flow with a shifted Maxwell velocity distribution: @@ -108,6 +110,10 @@ This fix is not invoked during :doc:`energy minimization `. Restrictions """""""""""" +Fix *wall_flow* is part of the EXTRA-FIX package. It is only enabled +if LAMMPS was built with that package. See the :doc:`Build package +` page for more info. + Flow boundary conditions should not be used with rigid bodies such as those defined by a "fix rigid" command. diff --git a/examples/wall/in.wall.flow b/examples/wall/in.wall.flow index 59d1b99eda..9dfe001a55 100644 --- a/examples/wall/in.wall.flow +++ b/examples/wall/in.wall.flow @@ -1,4 +1,4 @@ -variable nrun equal 10000 +variable nrun equal 1000 variable dump_count equal 10 variable nwall equal 4 diff --git a/examples/wall/log.7Feb24.wall.flow.g++.1 b/examples/wall/log.7Feb24.wall.flow.g++.1 new file mode 100644 index 0000000000..75e8b66fe1 --- /dev/null +++ b/examples/wall/log.7Feb24.wall.flow.g++.1 @@ -0,0 +1,182 @@ +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-758-ge33590b2fc-modified) + using 1 OpenMP thread(s) per MPI task +variable nrun equal 1000 +variable dump_count equal 10 + +variable nwall equal 4 +variable w1 equal 67 +variable w2 equal 71 +variable w3 equal 75 +variable w4 equal 79 + +variable x_cylinder equal 20 +variable y_cylinder equal 17 +variable r_cylinder equal 4 + +variable MASS equal 1 +variable TEMP equal 0.4 +variable VFLOW equal 0.5 + +units lj +atom_style atomic + +lattice fcc 0.3 +Lattice spacing in x,y,z = 2.3712622 2.3712622 2.3712622 +region sim_box block 0 84 0 34 0 10 + +boundary p p p + +create_box 2 sim_box +Created orthogonal box = (0 0 0) to (199.18603 80.622915 23.712622) + 1 by 1 by 1 MPI processor grid +region reg_cylinder cylinder z ${x_cylinder} ${y_cylinder} ${r_cylinder} EDGE EDGE +region reg_cylinder cylinder z 20 ${y_cylinder} ${r_cylinder} EDGE EDGE +region reg_cylinder cylinder z 20 17 ${r_cylinder} EDGE EDGE +region reg_cylinder cylinder z 20 17 4 EDGE EDGE + +create_atoms 1 box +Created 114240 atoms + using lattice units in orthogonal box = (0 0 0) to (199.18603 80.622915 23.712622) + create_atoms CPU = 0.010 seconds + +## setup obstacle ## +group g_obst region reg_cylinder +1950 atoms in group g_obst +group g_flow subtract all g_obst +112290 atoms in group g_flow +set group g_obst type 2 +Setting atom values ... + 1950 settings made for type + +mass 1 ${MASS} +mass 1 1 +mass 2 ${MASS} +mass 2 1 + +velocity g_flow create ${TEMP} 4928459 rot yes dist gaussian +velocity g_flow create 0.4 4928459 rot yes dist gaussian +velocity g_obst set 0.0 0.0 0.0 + +pair_style lj/cut 1.122462 +pair_coeff 1 1 1.0 1.0 +pair_coeff 1 2 1.0 1.0 +pair_coeff 2 2 1.0 1.0 +pair_modify shift yes + +neighbor 0.3 bin +neigh_modify delay 0 every 20 check no + +fix 1 g_flow nve +fix 2 g_flow wall/flow x ${VFLOW} ${TEMP} 123 ${nwall} ${w1} ${w2} ${w3} ${w4} +fix 2 g_flow wall/flow x 0.5 ${TEMP} 123 ${nwall} ${w1} ${w2} ${w3} ${w4} +fix 2 g_flow wall/flow x 0.5 0.4 123 ${nwall} ${w1} ${w2} ${w3} ${w4} +fix 2 g_flow wall/flow x 0.5 0.4 123 4 ${w1} ${w2} ${w3} ${w4} +fix 2 g_flow wall/flow x 0.5 0.4 123 4 67 ${w2} ${w3} ${w4} +fix 2 g_flow wall/flow x 0.5 0.4 123 4 67 71 ${w3} ${w4} +fix 2 g_flow wall/flow x 0.5 0.4 123 4 67 71 75 ${w4} +fix 2 g_flow wall/flow x 0.5 0.4 123 4 67 71 75 79 + +variable dump_every equal ${nrun}/${dump_count} +variable dump_every equal 1000/${dump_count} +variable dump_every equal 1000/10 +variable thermo_every equal ${dump_every} +variable thermo_every equal 100 +variable restart_every equal ${nrun}/10 +variable restart_every equal 1000/10 + +##### uncomment for grid aggregation ##### +#variable gr_Nx equal 42 +#variable gr_Ny equal 17 +#variable gr_Nz equal 1 +#variable gr_Nevery equal ${dump_every} +#variable gr_Nrepeat equal 1 +#variable gr_Nfreq equal ${dump_every} +#fix 3 g_flow ave/grid ${gr_Nevery} ${gr_Nrepeat} ${gr_Nfreq} ${gr_Nx} ${gr_Ny} ${gr_Nz} vx vy vz density/mass norm all ave one +#compute ct_gridId g_flow property/grid ${gr_Nx} ${gr_Ny} ${gr_Nz} id +#dump dmp_grid g_flow grid ${dump_every} grid.lammpstrj c_ct_gridId:grid:data f_3:grid:data[*] +########################################## + +#dump dmp_coord all atom ${dump_every} dump.lammpstrj + +#compute ct_Temp g_flow temp/com +#thermo_style custom step temp epair emol etotal press c_ct_Temp + +#restart ${restart_every} flow.restart + +timestep 0.005 +thermo ${thermo_every} +thermo 100 +run ${nrun} +run 1000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix wall/flow command: doi:10.1177/10943420231213013 + +@Article{Pavlov-etal-IJHPCA-2024, + author = {Daniil Pavlov and Vladislav Galigerov and Daniil Kolotinskii and Vsevolod Nikolskiy and Vladimir Stegailov}, + title = {GPU-based molecular dynamics of fluid flows: Reaching for turbulence}, + journal = {The International Journal of High Performance Computing Applications}, + year = 2024, + volume = 38, + number = 1, + pages = 34-49 +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 20 steps, delay = 0 steps, check = no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.422462 + ghost atom cutoff = 1.422462 + binsize = 0.711231, bins = 281 114 34 + 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) = 26.69 | 26.69 | 26.69 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.39317221 0 0 0.58975315 0.11795063 + 100 0.3671684 0.045118445 0 0.59586622 0.27378331 + 200 0.3732041 0.036897471 0 0.59669873 0.24917809 + 300 0.37432305 0.036501844 0 0.5979815 0.24715194 + 400 0.37603886 0.035350565 0 0.59940392 0.24480762 + 500 0.37617142 0.036949771 0 0.60120196 0.24862985 + 600 0.37751983 0.036484268 0 0.60275905 0.24784635 + 700 0.37787831 0.037327783 0 0.60414029 0.25060427 + 800 0.37959242 0.036206184 0 0.60558983 0.2476903 + 900 0.38019033 0.036874395 0 0.6071549 0.24984211 + 1000 0.38070666 0.037068948 0 0.60812395 0.25041936 +Loop time of 5.61598 on 1 procs for 1000 steps with 114240 atoms + +Performance: 76923.319 tau/day, 178.063 timesteps/s, 20.342 Matom-step/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.6351 | 2.6351 | 2.6351 | 0.0 | 46.92 +Neigh | 1.2994 | 1.2994 | 1.2994 | 0.0 | 23.14 +Comm | 0.26576 | 0.26576 | 0.26576 | 0.0 | 4.73 +Output | 0.0030531 | 0.0030531 | 0.0030531 | 0.0 | 0.05 +Modify | 1.3019 | 1.3019 | 1.3019 | 0.0 | 23.18 +Other | | 0.1107 | | | 1.97 + +Nlocal: 114240 ave 114240 max 114240 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 20119 ave 20119 max 20119 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 164018 ave 164018 max 164018 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 164018 +Ave neighs/atom = 1.4357318 +Neighbor list builds = 50 +Dangerous builds not checked +Total wall time: 0:00:05 diff --git a/examples/wall/log.7Feb24.wall.flow.g++.4 b/examples/wall/log.7Feb24.wall.flow.g++.4 new file mode 100644 index 0000000000..1efe7bb28e --- /dev/null +++ b/examples/wall/log.7Feb24.wall.flow.g++.4 @@ -0,0 +1,182 @@ +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-758-ge33590b2fc-modified) + using 1 OpenMP thread(s) per MPI task +variable nrun equal 1000 +variable dump_count equal 10 + +variable nwall equal 4 +variable w1 equal 67 +variable w2 equal 71 +variable w3 equal 75 +variable w4 equal 79 + +variable x_cylinder equal 20 +variable y_cylinder equal 17 +variable r_cylinder equal 4 + +variable MASS equal 1 +variable TEMP equal 0.4 +variable VFLOW equal 0.5 + +units lj +atom_style atomic + +lattice fcc 0.3 +Lattice spacing in x,y,z = 2.3712622 2.3712622 2.3712622 +region sim_box block 0 84 0 34 0 10 + +boundary p p p + +create_box 2 sim_box +Created orthogonal box = (0 0 0) to (199.18603 80.622915 23.712622) + 4 by 1 by 1 MPI processor grid +region reg_cylinder cylinder z ${x_cylinder} ${y_cylinder} ${r_cylinder} EDGE EDGE +region reg_cylinder cylinder z 20 ${y_cylinder} ${r_cylinder} EDGE EDGE +region reg_cylinder cylinder z 20 17 ${r_cylinder} EDGE EDGE +region reg_cylinder cylinder z 20 17 4 EDGE EDGE + +create_atoms 1 box +Created 114240 atoms + using lattice units in orthogonal box = (0 0 0) to (199.18603 80.622915 23.712622) + create_atoms CPU = 0.003 seconds + +## setup obstacle ## +group g_obst region reg_cylinder +1950 atoms in group g_obst +group g_flow subtract all g_obst +112290 atoms in group g_flow +set group g_obst type 2 +Setting atom values ... + 1950 settings made for type + +mass 1 ${MASS} +mass 1 1 +mass 2 ${MASS} +mass 2 1 + +velocity g_flow create ${TEMP} 4928459 rot yes dist gaussian +velocity g_flow create 0.4 4928459 rot yes dist gaussian +velocity g_obst set 0.0 0.0 0.0 + +pair_style lj/cut 1.122462 +pair_coeff 1 1 1.0 1.0 +pair_coeff 1 2 1.0 1.0 +pair_coeff 2 2 1.0 1.0 +pair_modify shift yes + +neighbor 0.3 bin +neigh_modify delay 0 every 20 check no + +fix 1 g_flow nve +fix 2 g_flow wall/flow x ${VFLOW} ${TEMP} 123 ${nwall} ${w1} ${w2} ${w3} ${w4} +fix 2 g_flow wall/flow x 0.5 ${TEMP} 123 ${nwall} ${w1} ${w2} ${w3} ${w4} +fix 2 g_flow wall/flow x 0.5 0.4 123 ${nwall} ${w1} ${w2} ${w3} ${w4} +fix 2 g_flow wall/flow x 0.5 0.4 123 4 ${w1} ${w2} ${w3} ${w4} +fix 2 g_flow wall/flow x 0.5 0.4 123 4 67 ${w2} ${w3} ${w4} +fix 2 g_flow wall/flow x 0.5 0.4 123 4 67 71 ${w3} ${w4} +fix 2 g_flow wall/flow x 0.5 0.4 123 4 67 71 75 ${w4} +fix 2 g_flow wall/flow x 0.5 0.4 123 4 67 71 75 79 + +variable dump_every equal ${nrun}/${dump_count} +variable dump_every equal 1000/${dump_count} +variable dump_every equal 1000/10 +variable thermo_every equal ${dump_every} +variable thermo_every equal 100 +variable restart_every equal ${nrun}/10 +variable restart_every equal 1000/10 + +##### uncomment for grid aggregation ##### +#variable gr_Nx equal 42 +#variable gr_Ny equal 17 +#variable gr_Nz equal 1 +#variable gr_Nevery equal ${dump_every} +#variable gr_Nrepeat equal 1 +#variable gr_Nfreq equal ${dump_every} +#fix 3 g_flow ave/grid ${gr_Nevery} ${gr_Nrepeat} ${gr_Nfreq} ${gr_Nx} ${gr_Ny} ${gr_Nz} vx vy vz density/mass norm all ave one +#compute ct_gridId g_flow property/grid ${gr_Nx} ${gr_Ny} ${gr_Nz} id +#dump dmp_grid g_flow grid ${dump_every} grid.lammpstrj c_ct_gridId:grid:data f_3:grid:data[*] +########################################## + +#dump dmp_coord all atom ${dump_every} dump.lammpstrj + +#compute ct_Temp g_flow temp/com +#thermo_style custom step temp epair emol etotal press c_ct_Temp + +#restart ${restart_every} flow.restart + +timestep 0.005 +thermo ${thermo_every} +thermo 100 +run ${nrun} +run 1000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix wall/flow command: doi:10.1177/10943420231213013 + +@Article{Pavlov-etal-IJHPCA-2024, + author = {Daniil Pavlov and Vladislav Galigerov and Daniil Kolotinskii and Vsevolod Nikolskiy and Vladimir Stegailov}, + title = {GPU-based molecular dynamics of fluid flows: Reaching for turbulence}, + journal = {The International Journal of High Performance Computing Applications}, + year = 2024, + volume = 38, + number = 1, + pages = 34-49 +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 20 steps, delay = 0 steps, check = no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.422462 + ghost atom cutoff = 1.422462 + binsize = 0.711231, bins = 281 114 34 + 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) = 8.496 | 8.496 | 8.496 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.39317221 0 0 0.58975315 0.11795063 + 100 0.36726398 0.045386014 0 0.59627716 0.27402111 + 200 0.37384538 0.036574547 0 0.5973377 0.24836729 + 300 0.37487455 0.036519645 0 0.59882654 0.24691726 + 400 0.37591417 0.036405755 0 0.60027207 0.24700641 + 500 0.37654714 0.037008829 0 0.60182459 0.24883444 + 600 0.3778008 0.03663706 0 0.6033333 0.24874392 + 700 0.37851338 0.036714175 0 0.60447928 0.24881829 + 800 0.37984876 0.036237049 0 0.6060052 0.24843003 + 900 0.38022763 0.036847615 0 0.60718407 0.24987198 + 1000 0.38084717 0.037139994 0 0.60840575 0.25070072 +Loop time of 2.20347 on 4 procs for 1000 steps with 114240 atoms + +Performance: 196054.093 tau/day, 453.829 timesteps/s, 51.845 Matom-step/s +95.6% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.67927 | 0.70882 | 0.73473 | 2.4 | 32.17 +Neigh | 0.32928 | 0.34467 | 0.36084 | 2.0 | 15.64 +Comm | 0.3211 | 0.36609 | 0.40741 | 6.1 | 16.61 +Output | 0.0017748 | 0.0032465 | 0.0046508 | 2.1 | 0.15 +Modify | 0.71135 | 0.74424 | 0.76001 | 2.3 | 33.78 +Other | | 0.03641 | | | 1.65 + +Nlocal: 28560 ave 29169 max 27884 min +Histogram: 1 0 0 0 0 2 0 0 0 1 +Nghost: 6452.25 ave 6546 max 6368 min +Histogram: 1 0 0 0 2 0 0 0 0 1 +Neighs: 40893 ave 42032 max 39445 min +Histogram: 1 0 0 0 1 0 0 1 0 1 + +Total # of neighbors = 163572 +Ave neighs/atom = 1.4318277 +Neighbor list builds = 50 +Dangerous builds not checked +Total wall time: 0:00:02 diff --git a/src/.gitignore b/src/.gitignore index 1e4c5b9ddb..41f4e7b614 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -1023,6 +1023,8 @@ /fix_wall_colloid.h /fix_wall_ees.cpp /fix_wall_ees.h +/fix_wall_flow.cpp +/fix_wall_flow.h /fix_wall_region_ees.cpp /fix_wall_region_ees.h /fix_wall_reflect_stochastic.cpp diff --git a/src/fix_wall_flow.cpp b/src/EXTRA-FIX/fix_wall_flow.cpp similarity index 100% rename from src/fix_wall_flow.cpp rename to src/EXTRA-FIX/fix_wall_flow.cpp diff --git a/src/fix_wall_flow.h b/src/EXTRA-FIX/fix_wall_flow.h similarity index 100% rename from src/fix_wall_flow.h rename to src/EXTRA-FIX/fix_wall_flow.h From 3358fe36d1ae7c8723dd454d00e00ff3d200ca13 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Thu, 8 Feb 2024 21:27:58 -0700 Subject: [PATCH 140/559] Fixing bugs in child arg parsing --- src/fix_deform.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/fix_deform.cpp b/src/fix_deform.cpp index 010250ed92..4b774b79d3 100644 --- a/src/fix_deform.cpp +++ b/src/fix_deform.cpp @@ -64,7 +64,7 @@ irregular(nullptr), set(nullptr) int nskip; if (utils::strmatch(style, "^deform/pressure")) { child_parameters.insert("box"); - child_styles.insert({{"pressure", 4}, {"pressure/mean", 4}, {"volume", 3}}); + child_styles.insert({{"pressure", 4}, {"pressure/mean", 4}, {"volume", 2}}); } // set defaults @@ -221,7 +221,7 @@ irregular(nullptr), set(nullptr) utils::missing_cmd_args(FLERR, fmt::format("fix {} {}", style, arg[iarg + 1]), error); for (int i = 0; i < nskip; i++) leftover_iarg.push_back(iarg + i); iarg += nskip; - } error->all(FLERR, "Illegal fix {} command argument: {}", style, arg[iarg + 1]); + } else error->all(FLERR, "Illegal fix {} command argument: {}", style, arg[iarg + 1]); } else break; } From 022cedeff0b3b4ed6653a35b8da763372d9ceee0 Mon Sep 17 00:00:00 2001 From: Vladislav Galigerov Date: Fri, 9 Feb 2024 12:08:36 +0300 Subject: [PATCH 141/559] Remove debug output --- src/EXTRA-FIX/fix_wall_flow.cpp | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/EXTRA-FIX/fix_wall_flow.cpp b/src/EXTRA-FIX/fix_wall_flow.cpp index 695b93aea8..6b42c34731 100644 --- a/src/EXTRA-FIX/fix_wall_flow.cpp +++ b/src/EXTRA-FIX/fix_wall_flow.cpp @@ -34,10 +34,8 @@ #include "math_const.h" #include -#include #include #include -#include using namespace LAMMPS_NS; using namespace FixConst; @@ -140,12 +138,6 @@ FixWallFlow::FixWallFlow(LAMMPS *lmp, int narg, char **arg) : { error->all(FLERR, "Wrong fix wall/flow wall ordering or some walls are outside simulation domain"); } - std::cout << "Walls:\n"; - for (auto w : walls) - { - std::cout << w << " "; - } - std::cout << std::endl; memory->grow(current_segment, atom->nmax, "WallFlow::current_segment"); atom->add_callback(Atom::GROW); From 5839b67d278485b9c4c8cdda2a76132d8da4049b Mon Sep 17 00:00:00 2001 From: Vladislav Galigerov Date: Fri, 9 Feb 2024 12:26:40 +0300 Subject: [PATCH 142/559] Simplify the code and remove redundant include --- src/EXTRA-FIX/fix_wall_flow.cpp | 11 +++++------ src/EXTRA-FIX/fix_wall_flow.h | 2 +- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/EXTRA-FIX/fix_wall_flow.cpp b/src/EXTRA-FIX/fix_wall_flow.cpp index 6b42c34731..0bd9f162a2 100644 --- a/src/EXTRA-FIX/fix_wall_flow.cpp +++ b/src/EXTRA-FIX/fix_wall_flow.cpp @@ -114,17 +114,16 @@ FixWallFlow::FixWallFlow(LAMMPS *lmp, int narg, char **arg) : } return 0.0; }; - double scale = getscale(); + double scale = 0.0; + if(flowax == FlowAxis::AX_X) scale = domain->lattice->xlattice; + else if(flowax == FlowAxis::AX_Y) scale = domain->lattice->ylattice; + else if(flowax == FlowAxis::AX_Z) scale = domain->lattice->zlattice; if (narg - iarg == wallcount + 2) { if(strcmp(arg[narg - 2], "units") != 0) error->all(FLERR, "Wrong fix wall/flow units command"); if (strcmp(arg[narg - 1], "box") == 0) scale = 1.0; - else if (strcmp(arg[narg - 1], "lattice") == 0) - { - scale = getscale(); - } - else error->all(FLERR, "Wrong fix wall/flow units command"); + else if (strcmp(arg[narg - 1], "lattice") != 0) error->all(FLERR, "Wrong fix wall/flow units command"); } walls.resize(wallcount + 2); diff --git a/src/EXTRA-FIX/fix_wall_flow.h b/src/EXTRA-FIX/fix_wall_flow.h index ec9e4a4601..f4a4a69b1c 100644 --- a/src/EXTRA-FIX/fix_wall_flow.h +++ b/src/EXTRA-FIX/fix_wall_flow.h @@ -21,7 +21,7 @@ FixStyle(wall/flow,FixWallFlow); #define LMP_FIX_WALL_FLOW_H #include "fix.h" -#include + namespace LAMMPS_NS { class FixWallFlow : public Fix { From cba3c91b510debb4bd0e79bb5ce31d3dc5828cb2 Mon Sep 17 00:00:00 2001 From: Vladislav Galigerov Date: Fri, 9 Feb 2024 12:29:10 +0300 Subject: [PATCH 143/559] Remove lambda --- src/EXTRA-FIX/fix_wall_flow.cpp | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/src/EXTRA-FIX/fix_wall_flow.cpp b/src/EXTRA-FIX/fix_wall_flow.cpp index 0bd9f162a2..0357d14773 100644 --- a/src/EXTRA-FIX/fix_wall_flow.cpp +++ b/src/EXTRA-FIX/fix_wall_flow.cpp @@ -101,19 +101,7 @@ FixWallFlow::FixWallFlow(LAMMPS *lmp, int narg, char **arg) : ++iarg; // parsing walls if(narg - iarg != wallcount && narg - iarg != wallcount + 2) error->all(FLERR, "Wrong fix wall/flow wall count"); - auto getscale = [&]() -> double { - switch (flowax) - { - case FlowAxis::AX_X: - return domain->lattice->xlattice; - case FlowAxis::AX_Y: - return domain->lattice->ylattice; - case FlowAxis::AX_Z: - return domain->lattice->zlattice; - default: return 0.0; - } - return 0.0; - }; + double scale = 0.0; if(flowax == FlowAxis::AX_X) scale = domain->lattice->xlattice; else if(flowax == FlowAxis::AX_Y) scale = domain->lattice->ylattice; From 6aad6177b0d52f2d6a6ad02763ef09275b657783 Mon Sep 17 00:00:00 2001 From: Vladislav Galigerov Date: Fri, 9 Feb 2024 12:31:19 +0300 Subject: [PATCH 144/559] Remove accessing internal data of the Modify class --- src/EXTRA-FIX/fix_wall_flow.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/EXTRA-FIX/fix_wall_flow.cpp b/src/EXTRA-FIX/fix_wall_flow.cpp index 0357d14773..704a8d854d 100644 --- a/src/EXTRA-FIX/fix_wall_flow.cpp +++ b/src/EXTRA-FIX/fix_wall_flow.cpp @@ -163,8 +163,9 @@ int FixWallFlow::setmask() void FixWallFlow::init() { int nrigid = 0; - for (int i = 0; i < modify->nfix; i++) - if (modify->fix[i]->rigid_flag) nrigid++; + + for (auto ifix : modify->get_fix_list()) + if (ifix->rigid_flag) nrigid++; if (nrigid && comm->me == 0) error->warning(FLERR,"FixWallFlow is not compatible with rigid bodies"); From be742253e2d1bbf040b4b6a4069a217ec7335caa Mon Sep 17 00:00:00 2001 From: Vladislav Galigerov Date: Fri, 9 Feb 2024 13:05:45 +0300 Subject: [PATCH 145/559] Fix bug with the masses of the atoms --- src/EXTRA-FIX/fix_wall_flow.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/EXTRA-FIX/fix_wall_flow.cpp b/src/EXTRA-FIX/fix_wall_flow.cpp index 704a8d854d..bbd5d39ce3 100644 --- a/src/EXTRA-FIX/fix_wall_flow.cpp +++ b/src/EXTRA-FIX/fix_wall_flow.cpp @@ -205,7 +205,13 @@ void FixWallFlow::generate_velocity(int atom_i) { const int newton_iteration_count = 10; double *vel = atom->v[atom_i]; - double mass = atom->mass[atom->type[atom_i]]; + + double *prmass = atom->rmass; + double *pmass = atom->mass; + double mass = 0.0; + if(prmass) mass = prmass[atom_i]; + else mass = pmass[atom->type[atom_i]]; + const double gamma = 1.0 / std::sqrt(2.0 * kT / mass); double delta = gamma * flowvel; From c7831b29c0fb8b1f43ba27f70b0621e606710f84 Mon Sep 17 00:00:00 2001 From: Vladislav Galigerov Date: Fri, 9 Feb 2024 13:28:35 +0300 Subject: [PATCH 146/559] Fix formatting issues --- src/EXTRA-FIX/fix_wall_flow.cpp | 173 ++++++++++++++-------------- src/EXTRA-FIX/fix_wall_flow.h | 2 +- src/KOKKOS/fix_wall_flow_kokkos.cpp | 122 ++++++++------------ 3 files changed, 138 insertions(+), 159 deletions(-) diff --git a/src/EXTRA-FIX/fix_wall_flow.cpp b/src/EXTRA-FIX/fix_wall_flow.cpp index bbd5d39ce3..bc2ddcd137 100644 --- a/src/EXTRA-FIX/fix_wall_flow.cpp +++ b/src/EXTRA-FIX/fix_wall_flow.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -23,18 +22,18 @@ #include "comm.h" #include "domain.h" #include "error.h" +#include "force.h" #include "input.h" #include "lattice.h" +#include "math_const.h" +#include "memory.h" #include "modify.h" +#include "random_mars.h" #include "update.h" #include "variable.h" -#include "random_mars.h" -#include "memory.h" -#include "force.h" -#include "math_const.h" -#include #include +#include #include using namespace LAMMPS_NS; @@ -43,24 +42,21 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ static const char cite_fix_wall_flow_c[] = - "fix wall/flow command: doi:10.1177/10943420231213013\n\n" - "@Article{Pavlov-etal-IJHPCA-2024,\n" - " author = {Daniil Pavlov and Vladislav Galigerov and Daniil Kolotinskii and Vsevolod Nikolskiy and Vladimir Stegailov},\n" - " title = {GPU-based molecular dynamics of fluid flows: Reaching for turbulence},\n" - " journal = {The International Journal of High Performance Computing Applications},\n" - " year = 2024,\n" - " volume = 38,\n" - " number = 1,\n" - " pages = 34-49\n" - "}\n\n"; + "fix wall/flow command: doi:10.1177/10943420231213013\n\n" + "@Article{Pavlov-etal-IJHPCA-2024,\n" + " author = {Daniil Pavlov and Vladislav Galigerov and Daniil Kolotinskii and Vsevolod " + "Nikolskiy and Vladimir Stegailov},\n" + " title = {GPU-based molecular dynamics of fluid flows: Reaching for turbulence},\n" + " journal = {The International Journal of High Performance Computing Applications},\n" + " year = 2024,\n" + " volume = 38,\n" + " number = 1,\n" + " pages = 34-49\n" + "}\n\n"; FixWallFlow::FixWallFlow(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg), - flowax(FlowAxis::AX_X), - flowvel(0.0), - flowdir(0), - rndseed(0), - current_segment(nullptr) + Fix(lmp, narg, arg), flowax(FlowAxis::AX_X), flowvel(0.0), flowdir(0), rndseed(0), + current_segment(nullptr) { if (lmp->citeme) lmp->citeme->add(cite_fix_wall_flow_c); if (narg < 9) utils::missing_cmd_args(FLERR, "fix wall/flow", error); @@ -70,60 +66,74 @@ FixWallFlow::FixWallFlow(LAMMPS *lmp, int narg, char **arg) : int iarg = 3; // parsing axis - if (strcmp(arg[iarg], "x") == 0) flowax = FlowAxis::AX_X; - else if (strcmp(arg[iarg],"y") == 0) flowax = FlowAxis::AX_Y; - else if (strcmp(arg[iarg],"z") == 0) flowax = FlowAxis::AX_Z; - else error->all(FLERR,"Illegal fix wall/flow argument: axis must by x or y or z, but {} specified", arg[iarg]); + if (strcmp(arg[iarg], "x") == 0) + flowax = FlowAxis::AX_X; + else if (strcmp(arg[iarg], "y") == 0) + flowax = FlowAxis::AX_Y; + else if (strcmp(arg[iarg], "z") == 0) + flowax = FlowAxis::AX_Z; + else + error->all(FLERR, "Illegal fix wall/flow argument: axis must by x or y or z, but {} specified", + arg[iarg]); ++iarg; // parsing velocity - flowvel = utils::numeric(FLERR,arg[iarg],do_abort,lmp); - if (flowvel == 0.0) error->all(FLERR,"Illegal fix wall/flow argument: velocity cannot be 0"); - if (flowvel > 0.0) flowdir = 1; - else flowdir = -1; - if(flowdir < 0) error->all(FLERR, "Illegal fix wall/flow argument: negative direction is not supported yet"); + flowvel = utils::numeric(FLERR, arg[iarg], do_abort, lmp); + if (flowvel == 0.0) error->all(FLERR, "Illegal fix wall/flow argument: velocity cannot be 0"); + if (flowvel > 0.0) + flowdir = 1; + else + flowdir = -1; + if (flowdir < 0) + error->all(FLERR, "Illegal fix wall/flow argument: negative direction is not supported yet"); ++iarg; // parsing temperature - double flowtemp = utils::numeric(FLERR,arg[iarg],do_abort,lmp); + double flowtemp = utils::numeric(FLERR, arg[iarg], do_abort, lmp); kT = lmp->force->boltz * flowtemp / force->mvv2e; ++iarg; // parsing seed - rndseed = utils::inumeric(FLERR, arg[iarg],do_abort,lmp); - if(rndseed <= 0) error->all(FLERR, "Illegal fix wall/flow argument: random seed must be positive integer"); + rndseed = utils::inumeric(FLERR, arg[iarg], do_abort, lmp); + if (rndseed <= 0) + error->all(FLERR, "Illegal fix wall/flow argument: random seed must be positive integer"); ++iarg; // parsing wall count - int wallcount = utils::inumeric(FLERR,arg[iarg],do_abort,lmp); - if(wallcount <= 0) error->all(FLERR,"Illegal fix wall/flow argument: wall count must be positive integer"); + int wallcount = utils::inumeric(FLERR, arg[iarg], do_abort, lmp); + if (wallcount <= 0) + error->all(FLERR, "Illegal fix wall/flow argument: wall count must be positive integer"); ++iarg; // parsing walls - if(narg - iarg != wallcount && narg - iarg != wallcount + 2) error->all(FLERR, "Wrong fix wall/flow wall count"); + if (narg - iarg != wallcount && narg - iarg != wallcount + 2) + error->all(FLERR, "Wrong fix wall/flow wall count"); double scale = 0.0; - if(flowax == FlowAxis::AX_X) scale = domain->lattice->xlattice; - else if(flowax == FlowAxis::AX_Y) scale = domain->lattice->ylattice; - else if(flowax == FlowAxis::AX_Z) scale = domain->lattice->zlattice; + if (flowax == FlowAxis::AX_X) + scale = domain->lattice->xlattice; + else if (flowax == FlowAxis::AX_Y) + scale = domain->lattice->ylattice; + else if (flowax == FlowAxis::AX_Z) + scale = domain->lattice->zlattice; - if (narg - iarg == wallcount + 2) - { - if(strcmp(arg[narg - 2], "units") != 0) error->all(FLERR, "Wrong fix wall/flow units command"); - if (strcmp(arg[narg - 1], "box") == 0) scale = 1.0; - else if (strcmp(arg[narg - 1], "lattice") != 0) error->all(FLERR, "Wrong fix wall/flow units command"); + if (narg - iarg == wallcount + 2) { + if (strcmp(arg[narg - 2], "units") != 0) error->all(FLERR, "Wrong fix wall/flow units command"); + if (strcmp(arg[narg - 1], "box") == 0) + scale = 1.0; + else if (strcmp(arg[narg - 1], "lattice") != 0) + error->all(FLERR, "Wrong fix wall/flow units command"); } walls.resize(wallcount + 2); walls.front() = domain->boxlo[flowax]; - for (size_t w = 1; w <= wallcount; ++w, ++iarg) - { - walls[w] = utils::numeric(FLERR,arg[iarg],do_abort,lmp) * scale; + for (size_t w = 1; w <= wallcount; ++w, ++iarg) { + walls[w] = utils::numeric(FLERR, arg[iarg], do_abort, lmp) * scale; } walls.back() = domain->boxhi[flowax]; - if (!std::is_sorted(walls.begin(), walls.end(), std::less_equal())) - { - error->all(FLERR, "Wrong fix wall/flow wall ordering or some walls are outside simulation domain"); + if (!std::is_sorted(walls.begin(), walls.end(), std::less_equal())) { + error->all(FLERR, + "Wrong fix wall/flow wall ordering or some walls are outside simulation domain"); } memory->grow(current_segment, atom->nmax, "WallFlow::current_segment"); @@ -133,7 +143,7 @@ FixWallFlow::FixWallFlow(LAMMPS *lmp, int narg, char **arg) : maxexchange = 1; random = new RanMars(lmp, rndseed + comm->me); - } +} /* ---------------------------------------------------------------------- */ @@ -168,10 +178,9 @@ void FixWallFlow::init() if (ifix->rigid_flag) nrigid++; if (nrigid && comm->me == 0) - error->warning(FLERR,"FixWallFlow is not compatible with rigid bodies"); + error->warning(FLERR, "FixWallFlow is not compatible with rigid bodies"); - for (int i = 0; i < atom->nlocal; ++i) - { + for (int i = 0; i < atom->nlocal; ++i) { double pos = atom->x[i][flowax]; current_segment[i] = compute_current_segment(pos); } @@ -185,18 +194,13 @@ void FixWallFlow::end_of_step() int *mask = atom->mask; int nlocal = atom->nlocal; - for (int i = 0; i < nlocal; ++i) - { - if (mask[i] & groupbit) - { - double pos = x[i][flowax]; - int prev_segment = current_segment[i]; - current_segment[i] = compute_current_segment(pos); + for (int i = 0; i < nlocal; ++i) { + if (mask[i] & groupbit) { + double pos = x[i][flowax]; + int prev_segment = current_segment[i]; + current_segment[i] = compute_current_segment(pos); - if (prev_segment != current_segment[i]) - { - generate_velocity(i); - } + if (prev_segment != current_segment[i]) { generate_velocity(i); } } } } @@ -209,31 +213,32 @@ void FixWallFlow::generate_velocity(int atom_i) double *prmass = atom->rmass; double *pmass = atom->mass; double mass = 0.0; - if(prmass) mass = prmass[atom_i]; - else mass = pmass[atom->type[atom_i]]; + if (prmass) + mass = prmass[atom_i]; + else + mass = pmass[atom->type[atom_i]]; const double gamma = 1.0 / std::sqrt(2.0 * kT / mass); double delta = gamma * flowvel; - const double edd = std::exp(-delta*delta) / MathConst::MY_PIS + delta * std::erf(delta); + const double edd = std::exp(-delta * delta) / MathConst::MY_PIS + delta * std::erf(delta); const double probability_threshold = 0.5f * (1.f + delta / edd); double direction = 1.0; - if (random->uniform() > probability_threshold) - { - delta = -delta; - direction = -direction; + if (random->uniform() > probability_threshold) { + delta = -delta; + direction = -direction; } const double xi_0 = random->uniform(); const double F_inf = edd + delta; const double xi = xi_0 * F_inf; - const double x_0 = (std::sqrt(delta*delta + 2) - delta) * 0.5; + const double x_0 = (std::sqrt(delta * delta + 2) - delta) * 0.5; double x = x_0; - for (int i = 0; i < newton_iteration_count; ++i) - { - x -= (std::exp(x*x) * MathConst::MY_PIS * (xi - delta * std::erfc(x)) - 1.0) / (x + delta) * 0.5; + for (int i = 0; i < newton_iteration_count; ++i) { + x -= (std::exp(x * x) * MathConst::MY_PIS * (xi - delta * std::erfc(x)) - 1.0) / (x + delta) * + 0.5; } const double nu = x + delta; @@ -247,14 +252,10 @@ void FixWallFlow::generate_velocity(int atom_i) int FixWallFlow::compute_current_segment(double pos) const { int result = 0; - for (; result < walls.size()-1; ++result) - { - if (pos >= walls[result] && pos < walls[result + 1]) - { - return result; - } + for (; result < walls.size() - 1; ++result) { + if (pos >= walls[result] && pos < walls[result + 1]) { return result; } } - return -1; // -1 is "out of box" region + return -1; // -1 is "out of box" region } void FixWallFlow::grow_arrays(int nmax) @@ -267,13 +268,13 @@ void FixWallFlow::copy_arrays(int i, int j, int) current_segment[j] = current_segment[i]; } -int FixWallFlow::pack_exchange(int i, double* buf) +int FixWallFlow::pack_exchange(int i, double *buf) { buf[0] = static_cast(current_segment[i]); return 1; } -int FixWallFlow::unpack_exchange(int i, double* buf) +int FixWallFlow::unpack_exchange(int i, double *buf) { current_segment[i] = static_cast(buf[0]); return 1; diff --git a/src/EXTRA-FIX/fix_wall_flow.h b/src/EXTRA-FIX/fix_wall_flow.h index f4a4a69b1c..8e16a850b1 100644 --- a/src/EXTRA-FIX/fix_wall_flow.h +++ b/src/EXTRA-FIX/fix_wall_flow.h @@ -26,7 +26,7 @@ namespace LAMMPS_NS { class FixWallFlow : public Fix { public: - enum FlowAxis {AX_X = 0, AX_Y = 1, AX_Z = 2}; + enum FlowAxis { AX_X = 0, AX_Y = 1, AX_Z = 2 }; FixWallFlow(class LAMMPS *, int, char **); ~FixWallFlow() override; diff --git a/src/KOKKOS/fix_wall_flow_kokkos.cpp b/src/KOKKOS/fix_wall_flow_kokkos.cpp index a143578fdc..f9d11efe81 100644 --- a/src/KOKKOS/fix_wall_flow_kokkos.cpp +++ b/src/KOKKOS/fix_wall_flow_kokkos.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -19,18 +18,16 @@ #include "fix_wall_flow_kokkos.h" #include "atom_kokkos.h" -#include "memory_kokkos.h" -#include "math_const.h" #include "atom_masks.h" #include "force.h" +#include "math_const.h" +#include "memory_kokkos.h" #include -// clang-format off - using namespace LAMMPS_NS; -template +template FixWallFlowKokkos::FixWallFlowKokkos(LAMMPS *lmp, int narg, char **arg) : FixWallFlow(lmp, narg, arg), rand_pool(rndseed + comm->me) { @@ -47,22 +44,17 @@ FixWallFlowKokkos::FixWallFlowKokkos(LAMMPS *lmp, int narg, char **a d_walls = d_walls_t("FixWallFlowKokkos::walls", walls.size()); auto h_walls = Kokkos::create_mirror_view(d_walls); - for (int i = 0; i < walls.size(); ++i) - { - h_walls(i) = walls[i]; - } + for (int i = 0; i < walls.size(); ++i) { h_walls(i) = walls[i]; } Kokkos::deep_copy(d_walls, h_walls); } -template -FixWallFlowKokkos::~FixWallFlowKokkos() +template FixWallFlowKokkos::~FixWallFlowKokkos() { if (copymode) return; memoryKK->destroy_kokkos(k_current_segment, current_segment); } -template -void FixWallFlowKokkos::init() +template void FixWallFlowKokkos::init() { atomKK->sync(execution_space, datamask_read); k_current_segment.template sync(); @@ -83,8 +75,7 @@ KOKKOS_INLINE_FUNCTION void FixWallFlowKokkos::operator()(TagFixWall d_current_segment(i) = compute_current_segment_kk(pos); } -template -void FixWallFlowKokkos::end_of_step() +template void FixWallFlowKokkos::end_of_step() { atomKK->sync(execution_space, datamask_read); k_current_segment.template sync(); @@ -111,26 +102,20 @@ void FixWallFlowKokkos::end_of_step() template template -KOKKOS_INLINE_FUNCTION -void FixWallFlowKokkos::operator()(TagFixWallFlowEndOfStep, +KOKKOS_INLINE_FUNCTION void FixWallFlowKokkos::operator()(TagFixWallFlowEndOfStep, const int &atom_i) const { - if (d_mask[atom_i] & groupbit) - { + if (d_mask[atom_i] & groupbit) { double pos = d_x(atom_i, flowax); int prev_segment = d_current_segment(atom_i); d_current_segment(atom_i) = compute_current_segment_kk(pos); - if (prev_segment != d_current_segment(atom_i)) - { - generate_velocity_kk(atom_i); - } + if (prev_segment != d_current_segment(atom_i)) { generate_velocity_kk(atom_i); } } } -template -template -KOKKOS_INLINE_FUNCTION -void FixWallFlowKokkos::generate_velocity_kk(int atom_i) const +template +template +KOKKOS_INLINE_FUNCTION void FixWallFlowKokkos::generate_velocity_kk(int atom_i) const { const int newton_iteration_count = 10; double mass = get_mass(MTag(), atom_i); @@ -163,15 +148,17 @@ void FixWallFlowKokkos::generate_velocity_kk(int atom_i) const const double v = nu / gamma; d_v(atom_i, flowax) = v * direction; - d_v(atom_i, (flowax + 1) % 3) = /*random->gaussian()*/ rand_gen.normal() / (gamma * MathConst::MY_SQRT2); - d_v(atom_i, (flowax + 2) % 3) = /*random->gaussian()*/ rand_gen.normal() / (gamma * MathConst::MY_SQRT2); + d_v(atom_i, (flowax + 1) % 3) = + /*random->gaussian()*/ rand_gen.normal() / (gamma * MathConst::MY_SQRT2); + d_v(atom_i, (flowax + 2) % 3) = + /*random->gaussian()*/ rand_gen.normal() / (gamma * MathConst::MY_SQRT2); rand_pool.free_state(rand_gen); } template -KOKKOS_INLINE_FUNCTION -int FixWallFlowKokkos::compute_current_segment_kk(double pos) const +KOKKOS_INLINE_FUNCTION int +FixWallFlowKokkos::compute_current_segment_kk(double pos) const { int result = 0; for (; result < d_walls.extent(0) - 1; ++result) { @@ -180,9 +167,7 @@ int FixWallFlowKokkos::compute_current_segment_kk(double pos) const return -1; // -1 is "out of box" region } - -template -void FixWallFlowKokkos::grow_arrays(int nmax) +template void FixWallFlowKokkos::grow_arrays(int nmax) { k_current_segment.template sync(); memoryKK->grow_kokkos(k_current_segment, current_segment, nmax, "WallFlowKK::current_segment"); @@ -192,8 +177,7 @@ void FixWallFlowKokkos::grow_arrays(int nmax) h_current_segment = k_current_segment.template view(); } -template -void FixWallFlowKokkos::copy_arrays(int i, int j, int) +template void FixWallFlowKokkos::copy_arrays(int i, int j, int) { k_current_segment.template sync(); h_current_segment(j) = h_current_segment(i); @@ -204,7 +188,7 @@ void FixWallFlowKokkos::copy_arrays(int i, int j, int) sort local atom-based arrays ------------------------------------------------------------------------- */ -template +template void FixWallFlowKokkos::sort_kokkos(Kokkos::BinSort &Sorter) { // always sort on the device @@ -216,33 +200,31 @@ void FixWallFlowKokkos::sort_kokkos(Kokkos::BinSort -int FixWallFlowKokkos::pack_exchange(int i, double *buf) +template int FixWallFlowKokkos::pack_exchange(int i, double *buf) { k_current_segment.sync_host(); buf[0] = static_cast(h_current_segment(i)); return 1; } -template -KOKKOS_INLINE_FUNCTION -void FixWallFlowKokkos::operator()(TagFixWallFlowPackExchange, const int &mysend) const { +template +KOKKOS_INLINE_FUNCTION void FixWallFlowKokkos::operator()(TagFixWallFlowPackExchange, + const int &mysend) const +{ const int send_i = d_sendlist(mysend); const int segment = d_current_segment(send_i); d_buf(mysend) = static_cast(segment); const int copy_i = d_copylist(mysend); - if (copy_i > -1) { - d_current_segment(send_i) = d_current_segment(copy_i); - } + if (copy_i > -1) { d_current_segment(send_i) = d_current_segment(copy_i); } } template -int FixWallFlowKokkos::pack_exchange_kokkos( - const int &nsend, DAT::tdual_xfloat_2d &k_buf, - DAT::tdual_int_1d k_sendlist, - DAT::tdual_int_1d k_copylist, - ExecutionSpace space) +int FixWallFlowKokkos::pack_exchange_kokkos(const int &nsend, + DAT::tdual_xfloat_2d &k_buf, + DAT::tdual_int_1d k_sendlist, + DAT::tdual_int_1d k_copylist, + ExecutionSpace space) { k_current_segment.template sync(); @@ -253,13 +235,13 @@ int FixWallFlowKokkos::pack_exchange_kokkos( d_sendlist = k_sendlist.view(); d_copylist = k_copylist.view(); - d_buf = typename ArrayTypes::t_xfloat_1d_um( - k_buf.template view().data(), - k_buf.extent(0)*k_buf.extent(1)); + d_buf = typename ArrayTypes::t_xfloat_1d_um(k_buf.template view().data(), + k_buf.extent(0) * k_buf.extent(1)); copymode = 1; - Kokkos::parallel_for(Kokkos::RangePolicy(0, nsend), *this); + Kokkos::parallel_for(Kokkos::RangePolicy(0, nsend), + *this); copymode = 0; @@ -269,8 +251,7 @@ int FixWallFlowKokkos::pack_exchange_kokkos( return nsend; } -template -int FixWallFlowKokkos::unpack_exchange(int i, double *buf) +template int FixWallFlowKokkos::unpack_exchange(int i, double *buf) { k_current_segment.sync_host(); h_current_segment(i) = static_cast(buf[0]); @@ -278,30 +259,27 @@ int FixWallFlowKokkos::unpack_exchange(int i, double *buf) return 1; } -template -KOKKOS_INLINE_FUNCTION -void FixWallFlowKokkos::operator()(TagFixWallFlowUnpackExchange, const int &i) const +template +KOKKOS_INLINE_FUNCTION void FixWallFlowKokkos::operator()(TagFixWallFlowUnpackExchange, + const int &i) const { int index = d_indices(i); - if (index > -1) { - d_current_segment(index) = static_cast(d_buf(i)); - } + if (index > -1) { d_current_segment(index) = static_cast(d_buf(i)); } } template -void FixWallFlowKokkos::unpack_exchange_kokkos( - DAT::tdual_xfloat_2d &k_buf, - DAT::tdual_int_1d &k_indices, int nrecv, - int /*nrecv1*/, int /*nextrarecv1*/, - ExecutionSpace space) +void FixWallFlowKokkos::unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf, + DAT::tdual_int_1d &k_indices, int nrecv, + int /*nrecv1*/, int /*nextrarecv1*/, + ExecutionSpace space) { - d_buf = typename ArrayTypes::t_xfloat_1d_um( - k_buf.template view().data(), - k_buf.extent(0)*k_buf.extent(1)); + d_buf = typename ArrayTypes::t_xfloat_1d_um(k_buf.template view().data(), + k_buf.extent(0) * k_buf.extent(1)); d_indices = k_indices.view(); copymode = 1; - Kokkos::parallel_for(Kokkos::RangePolicy(0,nrecv),*this); + Kokkos::parallel_for(Kokkos::RangePolicy(0, nrecv), + *this); copymode = 0; k_current_segment.template modify(); From adea2fc7f3fa43f0af488465d486bd6510fafe49 Mon Sep 17 00:00:00 2001 From: Matt Bettencourt Date: Mon, 12 Feb 2024 09:42:18 +0100 Subject: [PATCH 147/559] fixed bounds --- src/KOKKOS/mliap_data_kokkos.cpp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/KOKKOS/mliap_data_kokkos.cpp b/src/KOKKOS/mliap_data_kokkos.cpp index e5b34ecaa0..c7913d2835 100644 --- a/src/KOKKOS/mliap_data_kokkos.cpp +++ b/src/KOKKOS/mliap_data_kokkos.cpp @@ -72,7 +72,6 @@ void MLIAPDataKokkos::generate_neighdata(class NeighList *list_in, i list = list_in; // grow nmax gradforce array if necessary - if (atom->nmax > nmax) { nmax = atom->nmax; if (gradgradflag > -1){ @@ -149,13 +148,13 @@ void MLIAPDataKokkos::generate_neighdata(class NeighList *list_in, i auto type = atomKK->k_type.view(); auto map=k_pairmliap->k_map.template view(); - Kokkos::parallel_scan(nlistatoms, KOKKOS_LAMBDA (int ii, int &update, const bool final) { + Kokkos::parallel_scan(natomneigh, KOKKOS_LAMBDA (int ii, int &update, const bool final) { if (final) d_ij(ii) = update; update += d_numneighs(ii); }); - Kokkos::parallel_for(nlistatoms, KOKKOS_LAMBDA (int ii) { + Kokkos::parallel_for(natomneigh, KOKKOS_LAMBDA (int ii) { int ij = d_ij(ii); const int i = d_ilist[ii]; const double xtmp = x(i, 0); @@ -186,10 +185,12 @@ void MLIAPDataKokkos::generate_neighdata(class NeighList *list_in, i d_iatoms[ii] = i; d_ielems[ii] = ielem; }); + Kokkos::parallel_for(nmax, KOKKOS_LAMBDA (int i) { const int itype = type(i); d_elems(i) = map(itype); }); + modified(execution_space, NUMNEIGHS_MASK | IATOMS_MASK | IELEMS_MASK | ELEMS_MASK | JATOMS_MASK | PAIR_I_MASK | JELEMS_MASK | RIJ_MASK | IJ_MASK ); eflag = eflag_in; vflag = vflag_in; @@ -203,9 +204,10 @@ void MLIAPDataKokkos::grow_neigharrays() { f = atom->f; f_device = atomKK->k_f.view().data(); // grow neighbor arrays if necessary - - if (natomneigh_max < nlistatoms) { - natomneigh_max = nlistatoms; + natomneigh = list->inum; + if (list->ghost == 1) natomneigh += list->gnum; + if (natomneigh_max < natomneigh) { + natomneigh_max = natomneigh; memoryKK->destroy_kokkos(k_iatoms,iatoms); memoryKK->create_kokkos(k_iatoms, iatoms, natomneigh_max, "mliap_data:iatoms"); @@ -214,7 +216,7 @@ void MLIAPDataKokkos::grow_neigharrays() { memoryKK->destroy_kokkos(k_ij); memoryKK->create_kokkos(k_ij, natomneigh_max, "mliap_data:ij"); memoryKK->destroy_kokkos(k_numneighs,numneighs); - memoryKK->create_kokkos(k_numneighs, numneighs, natomneigh_max, "mliap_data:numneighs"); + memoryKK->create_kokkos(k_numneighs, natomneigh_max, "mliap_data:numneighs"); } NeighListKokkos* k_list = static_cast*>(list); @@ -227,7 +229,7 @@ void MLIAPDataKokkos::grow_neigharrays() { auto d_cutsq=k_pairmliap->k_cutsq.template view(); auto h_cutsq=k_pairmliap->k_cutsq.template view(); auto d_numneighs = k_numneighs.template view(); - Kokkos::parallel_reduce(nlistatoms, KOKKOS_LAMBDA (int ii, int &contrib) { + Kokkos::parallel_reduce(natomneigh, KOKKOS_LAMBDA (int ii, int &contrib) { const int i = d_ilist[ii]; int count=0; const double xtmp = x(i, 0); @@ -250,7 +252,7 @@ void MLIAPDataKokkos::grow_neigharrays() { contrib += count; }, npairs); modified(execution_space, NUMNEIGHS_MASK); - + if (nneigh_max < npairs) { memoryKK->destroy_kokkos(k_jatoms,jatoms); memoryKK->create_kokkos(k_jatoms, jatoms, npairs, "mliap_data:jatoms"); From a48da5b1e4f7c82f485e92912960b4813b159b86 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 13 Feb 2024 08:02:32 -0500 Subject: [PATCH 148/559] move ewald_const.h to src and apply it to a few more files --- src/CLASS2/pair_lj_class2_coul_long.cpp | 10 ++------- src/EXTRA-PAIR/pair_lj_cut_coul_dsf.cpp | 9 ++------ src/GPU/pair_coul_dsf_gpu.cpp | 9 ++------ src/GPU/pair_lj_cut_coul_dsf_gpu.cpp | 9 ++------ src/KOKKOS/pair_coul_dsf_kokkos.cpp | 9 ++------ src/KOKKOS/pair_lj_cut_coul_dsf_kokkos.cpp | 9 ++------ src/OPENMP/pair_coul_dsf_omp.cpp | 22 +++++++++---------- src/OPENMP/pair_lj_cut_coul_dsf_omp.cpp | 9 ++------ src/OPENMP/pair_lj_cut_tip4p_long_omp.cpp | 17 +++++++------- .../pair_lj_cut_tip4p_long_soft_omp.cpp | 15 +++++++------ src/OPENMP/pair_tip4p_long_omp.cpp | 15 +++++++------ src/{KSPACE => }/ewald_const.h | 0 src/pair_coul_dsf.cpp | 9 ++------ 13 files changed, 51 insertions(+), 91 deletions(-) rename src/{KSPACE => }/ewald_const.h (100%) diff --git a/src/CLASS2/pair_lj_class2_coul_long.cpp b/src/CLASS2/pair_lj_class2_coul_long.cpp index 2a3d7a706e..965810c8f7 100644 --- a/src/CLASS2/pair_lj_class2_coul_long.cpp +++ b/src/CLASS2/pair_lj_class2_coul_long.cpp @@ -16,6 +16,7 @@ #include "atom.h" #include "comm.h" #include "error.h" +#include "ewald_const.h" #include "force.h" #include "kspace.h" #include "math_const.h" @@ -29,16 +30,9 @@ #include using namespace LAMMPS_NS; +using namespace EwaldConst; using namespace MathConst; -static constexpr double EWALD_F = 1.12837917; -static constexpr double EWALD_P = 0.3275911; -static constexpr double A1 = 0.254829592; -static constexpr double A2 = -0.284496736; -static constexpr double A3 = 1.421413741; -static constexpr double A4 = -1.453152027; -static constexpr double A5 = 1.061405429; - /* ---------------------------------------------------------------------- */ PairLJClass2CoulLong::PairLJClass2CoulLong(LAMMPS *lmp) : Pair(lmp) diff --git a/src/EXTRA-PAIR/pair_lj_cut_coul_dsf.cpp b/src/EXTRA-PAIR/pair_lj_cut_coul_dsf.cpp index 9356062914..6ac0c1cdae 100644 --- a/src/EXTRA-PAIR/pair_lj_cut_coul_dsf.cpp +++ b/src/EXTRA-PAIR/pair_lj_cut_coul_dsf.cpp @@ -22,6 +22,7 @@ #include "atom.h" #include "comm.h" #include "error.h" +#include "ewald_const.h" #include "force.h" #include "math_const.h" #include "memory.h" @@ -32,15 +33,9 @@ #include using namespace LAMMPS_NS; +using namespace EwaldConst; using namespace MathConst; -static constexpr double EWALD_P = 0.3275911; -static constexpr double A1 = 0.254829592; -static constexpr double A2 = -0.284496736; -static constexpr double A3 = 1.421413741; -static constexpr double A4 = -1.453152027; -static constexpr double A5 = 1.061405429; - /* ---------------------------------------------------------------------- */ PairLJCutCoulDSF::PairLJCutCoulDSF(LAMMPS *lmp) : Pair(lmp) diff --git a/src/GPU/pair_coul_dsf_gpu.cpp b/src/GPU/pair_coul_dsf_gpu.cpp index a3ac4542e8..86f104d2e8 100644 --- a/src/GPU/pair_coul_dsf_gpu.cpp +++ b/src/GPU/pair_coul_dsf_gpu.cpp @@ -20,6 +20,7 @@ #include "atom.h" #include "domain.h" #include "error.h" +#include "ewald_const.h" #include "force.h" #include "gpu_extra.h" #include "math_const.h" @@ -29,14 +30,8 @@ #include -static constexpr double EWALD_P = 0.3275911; -static constexpr double A1 = 0.254829592; -static constexpr double A2 = -0.284496736; -static constexpr double A3 = 1.421413741; -static constexpr double A4 = -1.453152027; -static constexpr double A5 = 1.061405429; - using namespace LAMMPS_NS; +using namespace EwaldConst; using MathConst::MY_PIS; // External functions from cuda library for atom decomposition diff --git a/src/GPU/pair_lj_cut_coul_dsf_gpu.cpp b/src/GPU/pair_lj_cut_coul_dsf_gpu.cpp index d389425e6a..32a4008def 100644 --- a/src/GPU/pair_lj_cut_coul_dsf_gpu.cpp +++ b/src/GPU/pair_lj_cut_coul_dsf_gpu.cpp @@ -20,6 +20,7 @@ #include "atom.h" #include "domain.h" #include "error.h" +#include "ewald_const.h" #include "force.h" #include "gpu_extra.h" #include "math_const.h" @@ -30,15 +31,9 @@ #include using namespace LAMMPS_NS; +using namespace EwaldConst; using MathConst::MY_PIS; -static constexpr double EWALD_P = 0.3275911; -static constexpr double A1 = 0.254829592; -static constexpr double A2 = -0.284496736; -static constexpr double A3 = 1.421413741; -static constexpr double A4 = -1.453152027; -static constexpr double A5 = 1.061405429; - // External functions from cuda library for atom decomposition int ljd_gpu_init(const int ntypes, double **cutsq, double **host_lj1, double **host_lj2, diff --git a/src/KOKKOS/pair_coul_dsf_kokkos.cpp b/src/KOKKOS/pair_coul_dsf_kokkos.cpp index 936b6b1d8c..5184c42096 100644 --- a/src/KOKKOS/pair_coul_dsf_kokkos.cpp +++ b/src/KOKKOS/pair_coul_dsf_kokkos.cpp @@ -21,6 +21,7 @@ #include "atom_kokkos.h" #include "atom_masks.h" #include "error.h" +#include "ewald_const.h" #include "force.h" #include "kokkos.h" #include "math_const.h" @@ -32,15 +33,9 @@ #include using namespace LAMMPS_NS; +using namespace EwaldConst; using namespace MathConst; -static constexpr double EWALD_P = 0.3275911; -static constexpr double A1 = 0.254829592; -static constexpr double A2 = -0.284496736; -static constexpr double A3 = 1.421413741; -static constexpr double A4 = -1.453152027; -static constexpr double A5 = 1.061405429; - /* ---------------------------------------------------------------------- */ template diff --git a/src/KOKKOS/pair_lj_cut_coul_dsf_kokkos.cpp b/src/KOKKOS/pair_lj_cut_coul_dsf_kokkos.cpp index 628cb29b0e..0e415819c6 100644 --- a/src/KOKKOS/pair_lj_cut_coul_dsf_kokkos.cpp +++ b/src/KOKKOS/pair_lj_cut_coul_dsf_kokkos.cpp @@ -21,6 +21,7 @@ #include "atom_kokkos.h" #include "atom_masks.h" #include "error.h" +#include "ewald_const.h" #include "force.h" #include "kokkos.h" #include "math_const.h" @@ -35,15 +36,9 @@ #include using namespace LAMMPS_NS; +using namespace EwaldConst; using MathConst::MY_PIS; -static constexpr double EWALD_P = 0.3275911; -static constexpr double A1 = 0.254829592; -static constexpr double A2 = -0.284496736; -static constexpr double A3 = 1.421413741; -static constexpr double A4 = -1.453152027; -static constexpr double A5 = 1.061405429; - /* ---------------------------------------------------------------------- */ template diff --git a/src/OPENMP/pair_coul_dsf_omp.cpp b/src/OPENMP/pair_coul_dsf_omp.cpp index 64f4c1ce8d..d19263c3bb 100644 --- a/src/OPENMP/pair_coul_dsf_omp.cpp +++ b/src/OPENMP/pair_coul_dsf_omp.cpp @@ -13,25 +13,23 @@ Contributing author: Axel Kohlmeyer (Temple U) ------------------------------------------------------------------------- */ -#include "omp_compat.h" #include "pair_coul_dsf_omp.h" -#include + #include "atom.h" #include "comm.h" +#include "ewald_const.h" #include "force.h" #include "neigh_list.h" - -#include "suffix.h" #include "math_const.h" -using namespace LAMMPS_NS; -using MathConst::MY_PIS; -static constexpr double EWALD_P = 0.3275911; -static constexpr double A1 = 0.254829592; -static constexpr double A2 = -0.284496736; -static constexpr double A3 = 1.421413741; -static constexpr double A4 = -1.453152027; -static constexpr double A5 = 1.061405429; +#include "omp_compat.h" +#include "suffix.h" + +#include + +using namespace LAMMPS_NS; +using namespace EwaldConst; +using MathConst::MY_PIS; /* ---------------------------------------------------------------------- */ diff --git a/src/OPENMP/pair_lj_cut_coul_dsf_omp.cpp b/src/OPENMP/pair_lj_cut_coul_dsf_omp.cpp index d05d49f277..d43c161d07 100644 --- a/src/OPENMP/pair_lj_cut_coul_dsf_omp.cpp +++ b/src/OPENMP/pair_lj_cut_coul_dsf_omp.cpp @@ -17,6 +17,7 @@ #include "atom.h" #include "comm.h" +#include "ewald_const.h" #include "force.h" #include "math_const.h" #include "neigh_list.h" @@ -27,15 +28,9 @@ #include "omp_compat.h" using namespace LAMMPS_NS; +using namespace EwaldConst; using MathConst::MY_PIS; -static constexpr double EWALD_P = 0.3275911; -static constexpr double A1 = 0.254829592; -static constexpr double A2 = -0.284496736; -static constexpr double A3 = 1.421413741; -static constexpr double A4 = -1.453152027; -static constexpr double A5 = 1.061405429; - /* ---------------------------------------------------------------------- */ PairLJCutCoulDSFOMP::PairLJCutCoulDSFOMP(LAMMPS *lmp) : diff --git a/src/OPENMP/pair_lj_cut_tip4p_long_omp.cpp b/src/OPENMP/pair_lj_cut_tip4p_long_omp.cpp index 2654ac17fe..8f824ca272 100644 --- a/src/OPENMP/pair_lj_cut_tip4p_long_omp.cpp +++ b/src/OPENMP/pair_lj_cut_tip4p_long_omp.cpp @@ -13,23 +13,24 @@ Contributing author: Axel Kohlmeyer (Temple U) ------------------------------------------------------------------------- */ -#include "omp_compat.h" #include "pair_lj_cut_tip4p_long_omp.h" -#include + #include "atom.h" -#include "domain.h" #include "comm.h" -#include "ewald_const.h" -#include "force.h" -#include "neighbor.h" +#include "domain.h" #include "error.h" #include "ewald_const.h" +#include "force.h" #include "memory.h" #include "neigh_list.h" - +#include "neighbor.h" #include "suffix.h" -using namespace LAMMPS_NS; +#include + +#include "omp_compat.h" + +using namespace LAMMPS_NS; using namespace EwaldConst; /* ---------------------------------------------------------------------- */ diff --git a/src/OPENMP/pair_lj_cut_tip4p_long_soft_omp.cpp b/src/OPENMP/pair_lj_cut_tip4p_long_soft_omp.cpp index e1c668202a..a646a2dec1 100644 --- a/src/OPENMP/pair_lj_cut_tip4p_long_soft_omp.cpp +++ b/src/OPENMP/pair_lj_cut_tip4p_long_soft_omp.cpp @@ -13,22 +13,23 @@ Contributing author: Axel Kohlmeyer (Temple U) ------------------------------------------------------------------------- */ -#include "omp_compat.h" -#include #include "pair_lj_cut_tip4p_long_soft_omp.h" + #include "atom.h" -#include "domain.h" #include "comm.h" -#include "ewald_const.h" -#include "force.h" -#include "neighbor.h" +#include "domain.h" #include "error.h" #include "ewald_const.h" +#include "force.h" #include "memory.h" #include "neigh_list.h" - +#include "neighbor.h" #include "suffix.h" +#include + +#include "omp_compat.h" + using namespace LAMMPS_NS; using namespace EwaldConst; diff --git a/src/OPENMP/pair_tip4p_long_omp.cpp b/src/OPENMP/pair_tip4p_long_omp.cpp index 96e063d110..186549a999 100644 --- a/src/OPENMP/pair_tip4p_long_omp.cpp +++ b/src/OPENMP/pair_tip4p_long_omp.cpp @@ -13,22 +13,23 @@ Contributing author: Axel Kohlmeyer (Temple U) ------------------------------------------------------------------------- */ -#include "omp_compat.h" -#include #include "pair_tip4p_long_omp.h" + #include "atom.h" -#include "domain.h" #include "comm.h" -#include "ewald_const.h" -#include "force.h" -#include "neighbor.h" +#include "domain.h" #include "error.h" #include "ewald_const.h" +#include "force.h" #include "memory.h" #include "neigh_list.h" - +#include "neighbor.h" #include "suffix.h" +#include + +#include "omp_compat.h" + using namespace LAMMPS_NS; using namespace EwaldConst; diff --git a/src/KSPACE/ewald_const.h b/src/ewald_const.h similarity index 100% rename from src/KSPACE/ewald_const.h rename to src/ewald_const.h diff --git a/src/pair_coul_dsf.cpp b/src/pair_coul_dsf.cpp index b384946e86..44dc9a7524 100644 --- a/src/pair_coul_dsf.cpp +++ b/src/pair_coul_dsf.cpp @@ -21,6 +21,7 @@ #include "atom.h" #include "comm.h" #include "error.h" +#include "ewald_const.h" #include "force.h" #include "math_const.h" #include "memory.h" @@ -31,15 +32,9 @@ #include using namespace LAMMPS_NS; +using namespace EwaldConst; using namespace MathConst; -static constexpr double EWALD_P = 0.3275911; -static constexpr double A1 = 0.254829592; -static constexpr double A2 = -0.284496736; -static constexpr double A3 = 1.421413741; -static constexpr double A4 = -1.453152027; -static constexpr double A5 = 1.061405429; - /* ---------------------------------------------------------------------- */ PairCoulDSF::PairCoulDSF(LAMMPS *lmp) : Pair(lmp) {} From 0273fb4ad496cc7c6d8ba280da398b12d1fa914b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 13 Feb 2024 08:22:05 -0500 Subject: [PATCH 149/559] flag as update 1 version --- src/version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/version.h b/src/version.h index 76ede29b68..ffee4352d4 100644 --- a/src/version.h +++ b/src/version.h @@ -1,2 +1,2 @@ #define LAMMPS_VERSION "7 Feb 2024" -#define LAMMPS_UPDATE "Development" +#define LAMMPS_UPDATE "Update 1" From 5b645b631b56449e007396cecc2fb2bf18c32fa2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 13 Feb 2024 11:09:25 -0500 Subject: [PATCH 150/559] add detection for CrayClang to the OpenMP compatibility check --- cmake/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 835a54f382..c387d00f7c 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -428,6 +428,7 @@ if(BUILD_OMP) (CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM") OR (CMAKE_CXX_COMPILER_ID STREQUAL "XLClang") OR ((CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0)) OR ((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0)) OR + ((CMAKE_CXX_COMPILER_ID STREQUAL "CrayClang") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10.0)) OR ((CMAKE_CXX_COMPILER_ID STREQUAL "Intel") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 19.0))) # GCC 9.x and later plus Clang 10.x and later implement strict OpenMP 4.0 semantics for consts. # Intel 18.0 was tested to support both, so we switch to OpenMP 4+ from 19.x onward to be safe. From 4188e1252261ab1571237da89b240b528f43b32f Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Tue, 13 Feb 2024 10:27:57 -0700 Subject: [PATCH 151/559] whitespace --- src/KOKKOS/mliap_data_kokkos.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/KOKKOS/mliap_data_kokkos.cpp b/src/KOKKOS/mliap_data_kokkos.cpp index c7913d2835..444038635c 100644 --- a/src/KOKKOS/mliap_data_kokkos.cpp +++ b/src/KOKKOS/mliap_data_kokkos.cpp @@ -185,12 +185,12 @@ void MLIAPDataKokkos::generate_neighdata(class NeighList *list_in, i d_iatoms[ii] = i; d_ielems[ii] = ielem; }); - + Kokkos::parallel_for(nmax, KOKKOS_LAMBDA (int i) { const int itype = type(i); d_elems(i) = map(itype); }); - + modified(execution_space, NUMNEIGHS_MASK | IATOMS_MASK | IELEMS_MASK | ELEMS_MASK | JATOMS_MASK | PAIR_I_MASK | JELEMS_MASK | RIJ_MASK | IJ_MASK ); eflag = eflag_in; vflag = vflag_in; @@ -252,7 +252,7 @@ void MLIAPDataKokkos::grow_neigharrays() { contrib += count; }, npairs); modified(execution_space, NUMNEIGHS_MASK); - + if (nneigh_max < npairs) { memoryKK->destroy_kokkos(k_jatoms,jatoms); memoryKK->create_kokkos(k_jatoms, jatoms, npairs, "mliap_data:jatoms"); From 0591e4a6d444e45179bc4863dcb9cfb1f290ab77 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 14 Feb 2024 12:36:34 -0500 Subject: [PATCH 152/559] flag as development branch --- src/version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/version.h b/src/version.h index ffee4352d4..76ede29b68 100644 --- a/src/version.h +++ b/src/version.h @@ -1,2 +1,2 @@ #define LAMMPS_VERSION "7 Feb 2024" -#define LAMMPS_UPDATE "Update 1" +#define LAMMPS_UPDATE "Development" From 57321b308f333e6b0d6b9ceeda4ca69834752d6f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 14 Feb 2024 13:40:57 -0500 Subject: [PATCH 153/559] OpenMP library is not (yet) properly detected for CrayClang. Work around it. --- cmake/CMakeLists.txt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index c387d00f7c..0fa0a2f1c0 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -439,6 +439,21 @@ if(BUILD_OMP) target_compile_definitions(lammps PRIVATE -DLAMMPS_OMP_COMPAT=${LAMMPS_OMP_COMPAT_LEVEL}) target_link_libraries(lammps PRIVATE OpenMP::OpenMP_CXX) target_link_libraries(lmp PRIVATE OpenMP::OpenMP_CXX) + + # this hack is required to correctly link with OpenMP support when using CrayClang version 15.0.2 + # CrayClang is only directly recognized by version 3.28 and later + if(CMAKE_VERSION VERSION_LESS 3.28) + get_filename_component(_exe "${CMAKE_CXX_COMPILER}" NAME) + if((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") AND (_exe STREQUAL "crayCC")) + set(CMAKE_SHARED_LINKER_FLAGS_${BTYPE} "${CMAKE_SHARED_LINKER_FLAGS_${BTYPE} -fopenmp") + set(CMAKE_STATIC_LINKER_FLAGS_${BTYPE} "${CMAKE_STATIC_LINKER_FLAGS_${BTYPE} -fopenmp") + endif() + else() + if(CMAKE_CXX_COMPILER_ID STREQUAL "CrayClang") + set(CMAKE_SHARED_LINKER_FLAGS_${BTYPE} "${CMAKE_SHARED_LINKER_FLAGS_${BTYPE} -fopenmp") + set(CMAKE_STATIC_LINKER_FLAGS_${BTYPE} "${CMAKE_STATIC_LINKER_FLAGS_${BTYPE} -fopenmp") + endif() + endif() endif() # lower C++ standard for fmtlib sources when using Intel classic compiler From e5fbd15b9dd257082a0b6706db6e5e34afd4b904 Mon Sep 17 00:00:00 2001 From: James Michael Goff Date: Wed, 14 Feb 2024 15:06:01 -0700 Subject: [PATCH 154/559] ACE mliap examples and virial support --- examples/mliap/ACE_NN_Pytorch.pt | Bin 0 -> 69932 bytes examples/mliap/Cu_ACE.mliap.pytorch.model.pt | Bin 0 -> 8778 bytes examples/mliap/H_N_O_ccs.yace | 294 +++++++++++++++++++ examples/mliap/README | 41 +++ examples/mliap/Ta06A.mliap.pytorch.model.pt | Bin 0 -> 3076 bytes examples/mliap/Ta_ACE.mliap.pytorch.model.pt | Bin 0 -> 3914 bytes examples/mliap/ace_compute_struct.data | 172 +++++++++++ examples/mliap/ccs_single_element.yace | 46 +++ examples/mliap/convert_mliap_lin_ACE.py | 32 ++ examples/mliap/in.mliap.ace.compute | 25 ++ examples/mliap/in.mliap.pytorch.ace | 54 ++++ examples/mliap/in.mliap.pytorch.ace.NN | 60 ++++ examples/mliap/linear_ACE_ccs.yace | 150 ++++++++++ examples/mliap/linear_ACE_coeff.acecoeff | 148 ++++++++++ examples/mliap/mliap_pytorch_ACE.py | 97 ++++++ src/ML-IAP/mliap_data.cpp | 16 +- src/ML-IAP/mliap_data.h | 3 +- src/ML-IAP/mliap_descriptor_ace.cpp | 84 +++--- src/ML-IAP/mliap_descriptor_ace.h | 2 +- 19 files changed, 1159 insertions(+), 65 deletions(-) create mode 100644 examples/mliap/ACE_NN_Pytorch.pt create mode 100644 examples/mliap/Cu_ACE.mliap.pytorch.model.pt create mode 100644 examples/mliap/H_N_O_ccs.yace create mode 100644 examples/mliap/Ta06A.mliap.pytorch.model.pt create mode 100644 examples/mliap/Ta_ACE.mliap.pytorch.model.pt create mode 100644 examples/mliap/ace_compute_struct.data create mode 100644 examples/mliap/ccs_single_element.yace create mode 100644 examples/mliap/convert_mliap_lin_ACE.py create mode 100644 examples/mliap/in.mliap.ace.compute create mode 100644 examples/mliap/in.mliap.pytorch.ace create mode 100644 examples/mliap/in.mliap.pytorch.ace.NN create mode 100644 examples/mliap/linear_ACE_ccs.yace create mode 100644 examples/mliap/linear_ACE_coeff.acecoeff create mode 100644 examples/mliap/mliap_pytorch_ACE.py diff --git a/examples/mliap/ACE_NN_Pytorch.pt b/examples/mliap/ACE_NN_Pytorch.pt new file mode 100644 index 0000000000000000000000000000000000000000..c8fa74f6e08f7ea0a8b34187c1faf11ca97f462e GIT binary patch literal 69932 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 A!2kdN literal 0 HcmV?d00001 diff --git a/examples/mliap/H_N_O_ccs.yace b/examples/mliap/H_N_O_ccs.yace new file mode 100644 index 0000000000..2953222216 --- /dev/null +++ b/examples/mliap/H_N_O_ccs.yace @@ -0,0 +1,294 @@ +elements: [H, N, O] +E0: [0.000000, 0.000000, 0.000000] +deltaSplineBins: 0.001000 +embeddings: + 0: {ndensity: 1, FS_parameters: [1.0, 1.0], npoti: FinnisSinclair, rho_core_cutoff: 100000, drho_core_cutoff: 250} + 1: {ndensity: 1, FS_parameters: [1.0, 1.0], npoti: FinnisSinclair, rho_core_cutoff: 100000, drho_core_cutoff: 250} + 2: {ndensity: 1, FS_parameters: [1.0, 1.0], npoti: FinnisSinclair, rho_core_cutoff: 100000, drho_core_cutoff: 250} +bonds: + [0, 0]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.0, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance} + [0, 1]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.5, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance} + [0, 2]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.7, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance} + [1, 0]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.5, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance} + [1, 1]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 4.4, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance} + [1, 2]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.7, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance} + [2, 0]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.7, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance} + [2, 1]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.7, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance} + [2, 2]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.5, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance} +functions: + 0: + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [1], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [1], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [2], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [2], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 2, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [2, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 1], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 1], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 2, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [2, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 0], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [2, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + 1: + - {mu0: 1, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [1], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 1, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [1], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 1, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [2], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 1, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [2], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 1, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 1, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 2, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 1], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 1], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [2, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 2, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [2, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 0], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [2, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + 2: + - {mu0: 2, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 2, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [1], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 2, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 2, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [1], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 2, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [2], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 2, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [2], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 2, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 1], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 1], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [2, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [2, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 2, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 0], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} + - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [2, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} diff --git a/examples/mliap/README b/examples/mliap/README index 070ce86bfd..9bdcd4461b 100644 --- a/examples/mliap/README +++ b/examples/mliap/README @@ -160,3 +160,44 @@ in.mliap.so3.nn.Si ------------------ Example of NN model with SO3 descriptors for Si + +NOTE: The use of ACE within mliap requires the generalized Glebsch-Gordan +coefficients (a.k.a. coupling coefficients, ccs, etc.) are defined within +a ctilde file. These are used to construct the ACE descriptors for both +linear models and non-linear models within mliap. These define the size +of the ACE basis used as well as hyperparameters for the basis functions +for descriptors in mliap. These files may be generated with various +software for fitting ACE models must follow the format for ACE C-Tilde +potential files in `../PACKAGES/pace/*.ace` or the convenient yaml-based +`.yace` format. For the ACE mliap interface, the coupling coefficient file +should NOT include linear model coefficients. If the linear model coefficients +are included in the coupling coefficient file, mliap will evaluate ACE +contributions to a linear model rather than ACE descriptors. + +One convenient feature of mliap/ace, is that it enables the user to +decouple the linear model coefficients and the ace descriptors. Both are +typically included in ACE potentials with C-Tilde format. This is +demonstrated in the first example for ACE: linear model coefficients are +provided separately (in `linear_ACE_coeff.acecoeff`) from coupling +coefficients (in `linear_ACE_ccs.yace`). They are combined in a linear +pytorch model using `convert_mliap_lin_ACE.py`. + +in.mliap.pytorch.ace +------------------ + +Example of linear model with ACE descriptors for Ta + +in.mliap.ace.compute +------------------ + +Example for calculating multi-element ACE descriptors through ML-IAP + +in.mliap.pytorch.ace.NN +------------------ + +Example of NN model with ACE descriptors for Ta + +mliap_pytorch_ACE.py +------------------ + +Example of NN model with ACE descriptors for Ta through mliappy diff --git a/examples/mliap/Ta06A.mliap.pytorch.model.pt b/examples/mliap/Ta06A.mliap.pytorch.model.pt new file mode 100644 index 0000000000000000000000000000000000000000..bbce9a224943a2d82a9196586fb6a0230befd0e1 GIT binary patch literal 3076 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 MsRzSVqQ0#AUmcf+6#xJL literal 0 HcmV?d00001 diff --git a/examples/mliap/ace_compute_struct.data b/examples/mliap/ace_compute_struct.data new file mode 100644 index 0000000000..b18ec13a4d --- /dev/null +++ b/examples/mliap/ace_compute_struct.data @@ -0,0 +1,172 @@ +latte_cell_0.data (written by ASE) + +161 atoms +3 atom types +0.0 12 xlo xhi +0.0 12 ylo yhi +0.0 12 zlo zhi + + +Atoms + + 1 3 1.2688096799999999 2.0079938400000001 2.7446829899999998 + 2 1 1.5343068200000001 2.0638766500000001 3.7105626900000002 + 3 1 1.7848279600000001 2.6755003400000001 2.2268847200000002 + 4 1 1.56251195 1.1089126899999999 2.3978115199999999 + 5 1 11.61728216 5.71881094 2.4732045999999999 + 6 2 6.5501865600000002 4.7439566800000001 3.6526025500000001 + 7 1 6.4564895299999998 4.1571673000000002 2.6975267999999999 + 8 2 2.0835561 1.59406078 8.5498047600000007 + 9 1 1.1041162499999999 1.4971771599999999 8.1507879200000009 + 10 1 2.60115534 2.2945960400000001 7.95374187 + 11 1 1.9817723300000001 2.0194066400000001 9.5128239400000005 + 12 1 0.99333338000000004 3.6983907299999998 8.1903947899999991 + 13 3 4.9484070999999998 5.3645501400000004 9.16152503 + 14 1 9.0716170599999995 9.3748453999999999 4.2276462400000003 + 15 2 0.30864418999999998 7.7136657499999997 2.9274995599999998 + 16 1 0.47661671 10.1807211 3.71160091 + 17 1 1.07465334 7.8226921999999997 3.5771466900000002 + 18 1 0.38402249999999999 8.3770493300000002 2.1748437100000002 + 19 1 11.435413410000001 7.7903735999999997 3.4040245499999999 + 20 3 6.1570384599999999 10.25988474 3.50899568 + 21 1 5.5932224399999999 9.5632944700000007 3.1446559000000001 + 22 2 1.7785569000000001 7.6312579300000003 9.1488452299999992 + 23 1 2.5594048599999999 6.96832838 9.3069700199999996 + 24 1 2.12441551 8.4547986999999996 8.6428622900000001 + 25 1 1.04552782 7.1697722800000001 8.5894244999999998 + 26 1 0.34824445999999998 10.17844028 9.1629463799999993 + 27 3 5.9638830399999998 10.723709400000001 9.4568803900000002 + 28 1 6.5890835699999997 10.926486110000001 8.7981925800000003 + 29 2 7.1065890400000002 1.83029753 3.3452543600000002 + 30 1 6.9229304999999997 1.8465022099999999 4.3089037100000001 + 31 1 8.0780433600000006 1.9303052199999999 3.2089521400000001 + 32 1 5.6795373600000003 10.471831630000001 4.3244390499999996 + 33 1 6.82999417 0.95850113000000003 2.9815288199999999 + 34 2 11.383805349999999 4.6301225199999996 2.5393688399999998 + 35 1 0.37927047000000003 4.1943216300000001 2.59073807 + 36 3 5.2376410099999999 1.91523463 9.7240636400000007 + 37 1 4.7887202499999999 2.7036936499999999 9.5698142300000004 + 38 1 9.8129906699999996 9.2075140700000002 4.08265499 + 39 1 4.7980879500000002 1.1403494700000001 9.6739962800000008 + 40 1 5.4455845600000004 2.0102099999999998 10.620773509999999 + 41 3 0.90954338999999995 4.6240093199999999 8.3108110600000007 + 42 1 11.909735319999999 4.7483814000000004 8.2500624600000005 + 43 2 7.3223424499999998 7.5866457 3.0245226500000002 + 44 1 7.4470362200000002 8.3169646700000008 3.7148003300000001 + 45 1 6.9073805300000002 7.9385021 2.1723768699999999 + 46 1 5.5542868500000004 5.1176065800000003 3.7655251999999999 + 47 1 6.8124309500000004 6.7778811599999997 3.3973232499999999 + 48 2 0.29575823000000001 11.04303794 3.1016142499999999 + 49 1 0.86490721999999998 11.83879228 3.6389974500000002 + 50 3 6.85201686 8.0846369300000003 8.8762878799999996 + 51 1 7.3351430100000004 7.4263498700000001 9.3821674799999997 + 52 1 6.7919613300000004 7.7595477199999996 7.9716174799999999 + 53 1 3.8990487699999998 6.4283490399999996 8.8832409600000002 + 54 1 5.95997296 9.9329723199999993 9.4746654699999997 + 55 3 11.403658979999999 10.371960359999999 9.2766092199999992 + 56 1 10.983666360000001 9.5157199800000001 9.1478757300000009 + 57 3 1.5223279700000001 5.3327331100000004 0.57537605999999997 + 58 1 2.3815113999999999 5.7251991200000001 0.77945295999999997 + 59 1 0.92079957000000001 6.0931282299999996 0.62203253000000003 + 60 3 11.23490924 2.9153355200000002 6.7585064099999999 + 61 1 10.792340190000001 2.9755225099999998 5.9000018399999998 + 62 1 10.751242059999999 2.1896156000000002 7.1807401500000001 + 63 3 11.39027944 7.3462855600000001 6.7258299499999996 + 64 1 10.92025679 6.69831954 7.2776696599999999 + 65 1 11.12238028 7.0632020999999998 5.8394107799999997 + 66 3 8.4684319499999994 10.71736286 10.60018556 + 67 1 8.5672201599999998 11.420466080000001 11.25794033 + 68 1 9.0803109800000001 10.04804949 10.9406517 + 69 3 6.5851757299999996 9.9940623399999993 6.5574614899999997 + 70 1 7.0276325799999997 10.76096604 6.1723333699999996 + 71 1 5.7419327400000002 10.384583920000001 6.8228822999999998 + 72 3 1.7600546399999999 1.01771919 5.4926787700000004 + 73 1 1.9704209100000001 1.01748419 6.4429703700000003 + 74 1 1.42973007 0.11076352 5.3470644900000002 + 75 1 2.61130613 9.7034123700000006 10.450306830000001 + 76 3 3.05086908 10.48131334 10.085189310000001 + 77 1 3.0032693199999998 10.93357295 9.3652121000000008 + 78 3 6.4631532199999997 8.7652058299999993 11.967847969999999 + 79 1 6.4506808400000004 9.6596595300000008 11.588956019999999 + 80 1 5.6611629700000003 8.3535737700000006 11.638443329999999 + 81 3 1.1745999300000001 5.2420690800000003 5.1001449699999997 + 82 1 1.31932881 5.5236392399999996 6.0128966300000002 + 83 1 0.58053834999999998 4.4898134599999997 5.2325565000000003 + 84 3 6.7275549699999999 0.78840874999999999 7.3817280900000002 + 85 1 6.3887965600000003 1.54670982 6.8634520400000003 + 86 1 7.6791783999999996 0.94039024000000004 7.2649461000000004 + 87 3 8.5476657199999995 0.0064750299999999997 5.0450514100000001 + 88 1 8.8736290899999997 11.10484108 4.8601807900000003 + 89 1 8.0477597599999999 0.20198361000000001 4.2357399400000002 + 90 3 1.2895030000000001 8.4280097900000008 11.82038504 + 91 1 1.4766666399999999 8.1087866399999999 10.87290333 + 92 1 2.10220669 8.1947620200000006 0.29510553 + 93 3 9.6797907599999995 6.4207335499999996 4.3469150599999997 + 94 1 8.9271530099999996 6.72940235 3.7974122399999999 + 95 1 10.20024126 5.9167739199999998 3.66976111 + 96 3 3.57411616 6.7041021699999996 3.8825478499999999 + 97 1 2.8894899500000002 6.1560529800000001 4.2980848099999998 + 98 1 4.3613707699999997 6.4304732400000004 4.3804965400000002 + 99 3 4.7506556 11.441853350000001 1.12537088 + 100 1 4.0861192800000001 10.748523670000001 1.1923347099999999 + 101 1 5.5035301600000004 10.965688249999999 0.73651277000000004 + 102 3 9.5254526399999992 4.8994443900000002 8.3732284099999994 + 103 1 8.7885959800000002 4.3508043900000004 8.6632831400000008 + 104 1 9.6149067499999994 4.6084911499999999 7.4540068699999997 + 105 3 4.1970746700000001 1.34592128 3.67401439 + 106 1 4.9437011999999996 0.74406280999999996 3.514068 + 107 1 4.1905534900000001 1.7730376000000001 2.7963049400000002 + 108 3 1.88232618 11.95451227 0.60024434000000004 + 109 1 2.0464587299999999 11.02454723 0.38329541 + 110 1 1.1518493700000001 0.17494340999999999 11.99928285 + 111 3 3.7593842199999998 11.01685511 6.4562050800000002 + 112 1 3.2125414299999999 10.4553747 5.8894917099999997 + 113 1 3.4166026899999999 10.821557670000001 7.3296563900000002 + 114 3 9.7039841399999993 3.95001545 11.894743249999999 + 115 1 10.461666060000001 3.9163117999999999 11.285435229999999 + 116 1 10.09834695 4.4026997400000001 0.68193007999999999 + 117 3 8.5639596400000002 3.5169507499999999 5.6224104199999996 + 118 1 8.3966650299999994 2.6262214699999999 5.2638164300000003 + 119 1 7.9695371399999999 4.0825059799999996 5.0049407400000003 + 120 3 9.6736245000000007 0.48030482000000002 7.9257577799999996 + 121 1 9.6131980400000003 11.883419180000001 7.1680923999999999 + 122 1 9.9784050299999993 11.90238635 8.63894187 + 123 3 3.9424153099999999 6.9650296699999998 11.60258943 + 124 1 4.2767152700000004 6.8460048999999996 10.670225220000001 + 125 1 4.6570638500000001 6.5129461500000003 0.091159879999999999 + 126 3 3.0570173199999999 9.6631958499999993 3.6611250599999998 + 127 1 2.5400490100000002 9.5743355000000001 2.8444047600000002 + 128 1 2.9314874400000002 8.7809807200000005 4.0425234200000002 + 129 3 7.4549612700000001 5.8430850799999998 11.011384720000001 + 130 1 8.1675884100000005 5.4639182799999997 10.47644287 + 131 1 6.7135573700000002 5.8393818399999997 10.361099749999999 + 132 3 9.8029139300000008 7.9578901699999998 10.21404942 + 133 1 10.38910242 8.3400641400000008 10.87949429 + 134 1 9.0637612000000001 7.6392374099999998 10.756928869999999 + 135 3 4.4963435599999997 4.1067935799999997 11.73387805 + 136 1 4.5473727899999998 4.9577970899999997 11.19223377 + 137 1 5.3588818399999996 4.1756111699999998 0.20355936999999999 + 138 3 9.5923448100000002 7.3418014600000001 1.34856172 + 139 1 8.8715593300000002 7.4776837199999999 2.05040471 + 140 1 9.0443221699999992 7.2732200799999998 0.54011714 + 141 3 7.0350963100000001 3.22348773 0.7070824 + 142 1 7.1784470499999999 4.1340314300000003 1.0184109699999999 + 143 1 7.7787854400000001 2.7888888399999998 1.15838887 + 144 3 9.2124107800000008 0.48085899999999998 1.21751966 + 145 1 9.6620436499999993 11.657271079999999 1.45318397 + 146 1 9.9404883900000005 1.11619136 1.18684594 + 147 3 1.19704207 9.5859959200000002 6.6190888899999996 + 148 1 0.25606413 9.6737366500000004 6.8319340899999998 + 149 1 1.2690051899999999 8.6249354900000004 6.5480112500000001 + 150 3 0.78256133999999999 2.6040609300000002 11.453408359999999 + 151 1 0.61502181 3.5607405999999999 11.40300991 + 152 1 1.55655312 2.5457368800000002 10.866733030000001 + 153 3 5.8627936099999998 7.1217054800000001 5.89173203 + 154 1 6.3432410700000004 7.9400136699999999 6.0855840299999997 + 155 1 5.5077296699999998 6.8468306800000001 6.7436875799999996 + 156 3 10.887828150000001 9.9637482500000001 0.51092815999999996 + 157 1 11.78841776 10.322043069999999 0.44704989000000001 + 158 1 11.02688182 9.2051906700000004 1.0976661299999999 + 159 3 3.93073389 4.1645674499999998 5.7137877000000001 + 160 1 4.6884062999999996 3.5788913299999998 5.5644605800000004 + 161 1 4.2956948500000003 4.7644888099999996 6.3801669700000003 diff --git a/examples/mliap/ccs_single_element.yace b/examples/mliap/ccs_single_element.yace new file mode 100644 index 0000000000..b51ee1320f --- /dev/null +++ b/examples/mliap/ccs_single_element.yace @@ -0,0 +1,46 @@ +elements: [Ta] +E0: [0.000000] +deltaSplineBins: 0.001000 +embeddings: + 0: {ndensity: 1, FS_parameters: [1.0, 1.0], npoti: FinnisSinclair, rho_core_cutoff: 100000, drho_core_cutoff: 250} +bonds: + [0, 0]: {nradmax: 8, lmax: 2, nradbasemax: 8, radbasename: ChebExpCos, radparameters: [0.5723], radcoefficients: [[[1, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0]], [[0, 1, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0]], [[0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0]], [[0, 0, 0, 1, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0, 0]], [[0, 0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0]], [[0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0]], [[0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0, 1, 0]], [[0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 1]]], prehc: 0, lambdahc: 0.5723, rcut: 4.842, dcut: 0.01, rcut_in: 0.595, dcut_in: 0.01, inner_cutoff_type: distance} +functions: + 0: + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [3], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [4], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [5], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [6], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [7], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [8], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [1, 1], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [1, 2], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [1, 3], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [2, 2], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [2, 3], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [3, 3], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 3], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [2, 3], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [3, 3], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 3], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [2, 3], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [3, 3], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 1, 2], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 2, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 2, 2], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [2, 2, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [2, 2, 2], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 1, 2], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 2, 2], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [2, 2, 2], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 0], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} diff --git a/examples/mliap/convert_mliap_lin_ACE.py b/examples/mliap/convert_mliap_lin_ACE.py new file mode 100644 index 0000000000..a9925989e5 --- /dev/null +++ b/examples/mliap/convert_mliap_lin_ACE.py @@ -0,0 +1,32 @@ +import sys +import numpy as np +import torch + +# torch.nn.modules useful for defining a MLIAPPY model. +from lammps.mliap.pytorch import TorchWrapper, IgnoreElems + +# Read coefficients +coeffs = np.genfromtxt("linear_ACE_coeff.acecoeff",skip_header=4) +# If using the "linear_ACE_pot.yace" instead of just the clebsch-gordan coefficients in "linear_ACE_ccs.yace", +# uncomment below + +#B_coeffs = np.genfromtxt("linear_ACE_coeff.acecoeff",skip_header=4) +#coeffs = np.append(np.zeros(1),np.ones(len(B_coeffs)-1)) + +# Write coefficients to a pytorch linear model +bias = coeffs[0] +weights = coeffs[1:] +lin = torch.nn.Linear(weights.shape[0],1) +lin.to(torch.float64) +with torch.autograd.no_grad(): + lin.weight.set_(torch.from_numpy(weights).unsqueeze(0)) + lin.bias.set_(torch.as_tensor(bias,dtype=torch.float64).unsqueeze(0)) + +# Wrap the pytorch model for usage with mliappy coupling. +model = IgnoreElems(lin) # The linear module does not use the types. +n_descriptors = lin.weight.shape[1] +print ('ndescriptors',n_descriptors) +n_elements = 1 +linked_model = TorchWrapper(model,n_descriptors=n_descriptors,n_elements=n_elements) + +torch.save(linked_model,"Ta_ACE.mliap.pytorch.model.pt") diff --git a/examples/mliap/in.mliap.ace.compute b/examples/mliap/in.mliap.ace.compute new file mode 100644 index 0000000000..fa9a35da96 --- /dev/null +++ b/examples/mliap/in.mliap.ace.compute @@ -0,0 +1,25 @@ +#info all out log +units metal +atom_style atomic +boundary p p p +atom_modify map hash +read_data ace_compute_struct.data +mass 1 1.00 +mass 2 14.00 +mass 3 15.999 + +pair_style zero 5.7 +pair_coeff * * + + +compute ace all mliap descriptor ace H_N_O_ccs.yace model linear gradgradflag 1 +fix ace all ave/time 1 1 1 c_ace[*] file desc_out.dat mode vector + +thermo 1 +thermo_style custom & + pe pxy c_ace[1][1] c_ace[1][2] +thermo_modify norm no +run 0 + +uncompute ace +unfix ace diff --git a/examples/mliap/in.mliap.pytorch.ace b/examples/mliap/in.mliap.pytorch.ace new file mode 100644 index 0000000000..cc4363498f --- /dev/null +++ b/examples/mliap/in.mliap.pytorch.ace @@ -0,0 +1,54 @@ +# Demonstrate MLIAP/PyTorch interface to linear SNAP potential + +# Initialize simulation + +variable nsteps index 100 +variable nrep equal 4 +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 bcc $a +region box block 0 ${nx} 0 ${ny} 0 ${nz} +create_box 1 box +create_atoms 1 box + +mass 1 180.88 + +# choose potential + +pair_style mliap model mliappy Ta_ACE.mliap.pytorch.model.pt descriptor ace linear_ACE_ccs.yace +pair_coeff * * Ta + +# Setup output + +compute eatom all pe/atom +compute energy all reduce sum c_eatom + +compute satom all stress/atom NULL +compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] +variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) + +thermo_style custom step temp epair c_energy etotal press v_press +thermo 10 +thermo_modify norm yes + +# Set up NVE run + +timestep 0.5e-3 +neighbor 1.0 bin +neigh_modify once no every 1 delay 0 check yes + +# Run MD + +velocity all create 300.0 4928459 loop geom +fix 1 all nve +run ${nsteps} + diff --git a/examples/mliap/in.mliap.pytorch.ace.NN b/examples/mliap/in.mliap.pytorch.ace.NN new file mode 100644 index 0000000000..e99f7a4969 --- /dev/null +++ b/examples/mliap/in.mliap.pytorch.ace.NN @@ -0,0 +1,60 @@ +# Demonstrate MLIAP/PyTorch interface to linear ACE potential + +# Initialize simulation + +variable nsteps index 100 +variable nrep equal 4 +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 bcc $a +region box block 0 ${nx} 0 ${ny} 0 ${nz} +create_box 1 box +create_atoms 1 box + +mass 1 180.88 + +# choose potential + +pair_style mliap model mliappy ACE_NN_Pytorch.pt descriptor ace ccs_single_element.yace +pair_coeff * * Ta + + +# Setup output + +compute eatom all pe/atom +compute energy all reduce sum c_eatom + +compute satom all stress/atom NULL +compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] +variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) + +thermo_style custom step temp epair c_energy etotal press v_press +thermo 10 +thermo_modify norm yes + +# Set up NVE run + +timestep 0.5e-3 +neighbor 1.0 bin +neigh_modify once no every 1 delay 0 check yes + +# Run MD + +velocity all create 300.0 4928459 loop geom +fix 1 all nve + +# Uncomment dumps commands for visualization +#dump 0 all cfg 10 min.*.cfg mass type xs ys zs +#dump_modify 0 element Ta + +run ${nsteps} + diff --git a/examples/mliap/linear_ACE_ccs.yace b/examples/mliap/linear_ACE_ccs.yace new file mode 100644 index 0000000000..ca6043c8cd --- /dev/null +++ b/examples/mliap/linear_ACE_ccs.yace @@ -0,0 +1,150 @@ +elements: [Ta] +E0: [0.000000] +deltaSplineBins: 0.001000 +embeddings: + 0: {ndensity: 1, FS_parameters: [1.0, 1.0], npoti: FinnisSinclair, rho_core_cutoff: 100000, drho_core_cutoff: 250} +bonds: + [0, 0]: {nradmax: 22, lmax: 5, nradbasemax: 22, radbasename: ChebExpCos, radparameters: [1.275], radcoefficients: [[[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]]], prehc: 0, lambdahc: 1.275, rcut: 4.81, dcut: 0.01, rcut_in: 1.2, dcut_in: 0.01, inner_cutoff_type: distance} +functions: + 0: + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [3], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [4], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [5], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [6], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [7], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [8], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [9], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [10], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [11], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [12], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [13], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [14], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [15], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [16], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [17], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [18], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [19], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [20], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [21], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [22], ls: [0], ms_combs: [0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [1, 1], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [1, 2], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [1, 3], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [1, 4], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [1, 5], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [2, 2], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [2, 3], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [2, 4], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [2, 5], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [3, 3], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [3, 4], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [3, 5], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [4, 4], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [4, 5], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [5, 5], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 3], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 4], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 5], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [2, 3], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [2, 4], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [2, 5], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [3, 3], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [3, 4], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [3, 5], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [4, 4], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [4, 5], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [5, 5], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 3], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 4], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 5], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [2, 3], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [2, 4], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [2, 5], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [3, 3], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [3, 4], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [3, 5], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [4, 4], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [4, 5], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [5, 5], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [1, 1], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [1, 2], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [1, 3], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [1, 4], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [1, 5], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [2, 2], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [2, 3], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [2, 4], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [2, 5], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [3, 3], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [3, 4], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [3, 5], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [4, 4], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [4, 5], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [5, 5], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [1, 1], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [1, 2], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [1, 3], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [1, 4], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [1, 5], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [2, 2], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [2, 3], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [2, 4], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [2, 5], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [3, 3], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [3, 4], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [3, 5], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [4, 4], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [4, 5], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [5, 5], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [1, 1], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [1, 2], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [1, 3], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [1, 4], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [1, 5], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [2, 2], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [2, 3], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [2, 4], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [2, 5], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [3, 3], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [3, 4], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [3, 5], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [4, 4], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [4, 5], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} + - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [5, 5], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 1, 2], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 1, 3], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 2, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 2, 2], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 2, 3], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 3, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 3, 2], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 3, 3], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [2, 2, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [2, 2, 2], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [2, 2, 3], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [2, 3, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [2, 3, 2], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [2, 3, 3], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [3, 3, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [3, 3, 2], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [3, 3, 3], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 1, 2], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 1, 3], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 2, 2], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 2, 3], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 3, 3], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [2, 2, 2], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [2, 2, 3], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [2, 3, 3], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [3, 3, 3], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} + - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 0], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} diff --git a/examples/mliap/linear_ACE_coeff.acecoeff b/examples/mliap/linear_ACE_coeff.acecoeff new file mode 100644 index 0000000000..7d03528ea8 --- /dev/null +++ b/examples/mliap/linear_ACE_coeff.acecoeff @@ -0,0 +1,148 @@ +# FitSNAP generated on 2024-02-14 14:25:57.119062 with Hash: 25830dc0b45aefc59d0d17c55647440f + +1 142 +Ta + 0.0 # B[0] + -22.5771067833568999 # B[1, 0, 0, 1, 0] + -0.0226270954591753157 # B[2, 0, 0, 2, 0] + 21.0023473528220208 # B[3, 0, 0, 3, 0] + 1.7434645625400198 # B[4, 0, 0, 4, 0] + 0.113236864432865389 # B[5, 0, 0, 5, 0] + 5.43628451822269376 # B[6, 0, 0, 6, 0] + -2.36555723449260613 # B[7, 0, 0, 7, 0] + 0.0 # B[8, 0, 0, 8, 0] + 0.0 # B[9, 0, 0, 9, 0] + 0.0 # B[10, 0, 0, 10, 0] + 0.0 # B[11, 0, 0, 11, 0] + 0.0 # B[12, 0, 0, 12, 0] + 0.0 # B[13, 0, 0, 13, 0] + 0.0 # B[14, 0, 0, 14, 0] + 0.0 # B[15, 0, 0, 15, 0] + 0.0 # B[16, 0, 0, 16, 0] + 0.0 # B[17, 0, 0, 17, 0] + 0.0 # B[18, 0, 0, 18, 0] + 0.0 # B[19, 0, 0, 19, 0] + 0.0 # B[20, 0, 0, 20, 0] + 0.0 # B[21, 0, 0, 21, 0] + 0.0 # B[22, 0, 0, 22, 0] + 10.170453688417453 # B[23, 0, 0, 0, 1, 1, 0, 0] + -1044.76281713462254 # B[24, 0, 0, 0, 1, 2, 0, 0] + 572.709651057556016 # B[25, 0, 0, 0, 1, 3, 0, 0] + -207.396680818678306 # B[26, 0, 0, 0, 1, 4, 0, 0] + 32.7288559698408079 # B[27, 0, 0, 0, 1, 5, 0, 0] + 0.00305266310444371686 # B[28, 0, 0, 0, 2, 2, 0, 0] + 400.569893681083443 # B[29, 0, 0, 0, 2, 3, 0, 0] + 778.880194276356406 # B[30, 0, 0, 0, 2, 4, 0, 0] + 170.855019855882375 # B[31, 0, 0, 0, 2, 5, 0, 0] + -205.570286473228464 # B[32, 0, 0, 0, 3, 3, 0, 0] + -398.963313160853545 # B[33, 0, 0, 0, 3, 4, 0, 0] + -83.81056240085789 # B[34, 0, 0, 0, 3, 5, 0, 0] + 180.0562397293142 # B[35, 0, 0, 0, 4, 4, 0, 0] + -20.5002365523065428 # B[36, 0, 0, 0, 4, 5, 0, 0] + 0.0 # B[37, 0, 0, 0, 5, 5, 0, 0] + -24.8835644197873833 # B[38, 0, 0, 0, 1, 1, 1, 1] + 147.129769901050679 # B[39, 0, 0, 0, 1, 2, 1, 1] + 0.0713620917875858463 # B[40, 0, 0, 0, 1, 3, 1, 1] + -17.3833330953580933 # B[41, 0, 0, 0, 1, 4, 1, 1] + 37.5505432848029557 # B[42, 0, 0, 0, 1, 5, 1, 1] + 0.0191804654757119011 # B[43, 0, 0, 0, 2, 2, 1, 1] + -96.7487163459104664 # B[44, 0, 0, 0, 2, 3, 1, 1] + -0.00658154694809357909 # B[45, 0, 0, 0, 2, 4, 1, 1] + -208.124342352098012 # B[46, 0, 0, 0, 2, 5, 1, 1] + -0.0268971567040146194 # B[47, 0, 0, 0, 3, 3, 1, 1] + 8.21287123634444605 # B[48, 0, 0, 0, 3, 4, 1, 1] + 71.6589883121345395 # B[49, 0, 0, 0, 3, 5, 1, 1] + 17.6098825203311371 # B[50, 0, 0, 0, 4, 4, 1, 1] + -39.1469526467952562 # B[51, 0, 0, 0, 4, 5, 1, 1] + 0.0 # B[52, 0, 0, 0, 5, 5, 1, 1] + 2.81218558029911136 # B[53, 0, 0, 0, 1, 1, 2, 2] + -80.6108937358992534 # B[54, 0, 0, 0, 1, 2, 2, 2] + 25.3006460556791914 # B[55, 0, 0, 0, 1, 3, 2, 2] + -0.116123733569896734 # B[56, 0, 0, 0, 1, 4, 2, 2] + -8.10435957901752779 # B[57, 0, 0, 0, 1, 5, 2, 2] + 0.00593831884284745735 # B[58, 0, 0, 0, 2, 2, 2, 2] + 0.0206072280264136751 # B[59, 0, 0, 0, 2, 3, 2, 2] + 112.907541723710054 # B[60, 0, 0, 0, 2, 4, 2, 2] + -25.3781020910149273 # B[61, 0, 0, 0, 2, 5, 2, 2] + 15.4580129414526724 # B[62, 0, 0, 0, 3, 3, 2, 2] + -58.4875833673028822 # B[63, 0, 0, 0, 3, 4, 2, 2] + 27.8541236484384527 # B[64, 0, 0, 0, 3, 5, 2, 2] + 0.0 # B[65, 0, 0, 0, 4, 4, 2, 2] + 0.0 # B[66, 0, 0, 0, 4, 5, 2, 2] + 0.0 # B[67, 0, 0, 0, 5, 5, 2, 2] + 9.58210832281941371 # B[68, 0, 0, 0, 1, 1, 3, 3] + -33.4771846186537587 # B[69, 0, 0, 0, 1, 2, 3, 3] + -0.147879214073858095 # B[70, 0, 0, 0, 1, 3, 3, 3] + -0.983689688855974187 # B[71, 0, 0, 0, 1, 4, 3, 3] + -11.2679823588990811 # B[72, 0, 0, 0, 1, 5, 3, 3] + 189.312912024886742 # B[73, 0, 0, 0, 2, 2, 3, 3] + -0.0774443286916917523 # B[74, 0, 0, 0, 2, 3, 3, 3] + -0.102873783395946994 # B[75, 0, 0, 0, 2, 4, 3, 3] + -0.0756462323598340036 # B[76, 0, 0, 0, 2, 5, 3, 3] + -53.7511259632733953 # B[77, 0, 0, 0, 3, 3, 3, 3] + 33.9879339807403227 # B[78, 0, 0, 0, 3, 4, 3, 3] + 0.0 # B[79, 0, 0, 0, 3, 5, 3, 3] + -0.00814999871185459988 # B[80, 0, 0, 0, 4, 4, 3, 3] + 0.0 # B[81, 0, 0, 0, 4, 5, 3, 3] + 3.05035839717992552 # B[82, 0, 0, 0, 5, 5, 3, 3] + 1.76189504052993939 # B[83, 0, 0, 0, 1, 1, 4, 4] + -0.0109697500983353419 # B[84, 0, 0, 0, 1, 2, 4, 4] + -5.99440757040523309 # B[85, 0, 0, 0, 1, 3, 4, 4] + 0.116301402805795331 # B[86, 0, 0, 0, 1, 4, 4, 4] + 0.0 # B[87, 0, 0, 0, 1, 5, 4, 4] + 0.0172995235996694294 # B[88, 0, 0, 0, 2, 2, 4, 4] + -0.00135295336403791727 # B[89, 0, 0, 0, 2, 3, 4, 4] + -31.9743471589821553 # B[90, 0, 0, 0, 2, 4, 4, 4] + 11.6375525926016525 # B[91, 0, 0, 0, 2, 5, 4, 4] + 7.1785297948853044 # B[92, 0, 0, 0, 3, 3, 4, 4] + 12.9049178783604273 # B[93, 0, 0, 0, 3, 4, 4, 4] + 0.0173960354063151836 # B[94, 0, 0, 0, 3, 5, 4, 4] + -5.44937275307428326 # B[95, 0, 0, 0, 4, 4, 4, 4] + 0.0 # B[96, 0, 0, 0, 4, 5, 4, 4] + 0.0 # B[97, 0, 0, 0, 5, 5, 4, 4] + 0.0 # B[98, 0, 0, 0, 1, 1, 5, 5] + 10.7017857691284473 # B[99, 0, 0, 0, 1, 2, 5, 5] + 0.0 # B[100, 0, 0, 0, 1, 3, 5, 5] + -2.64659600238826176 # B[101, 0, 0, 0, 1, 4, 5, 5] + 0.0 # B[102, 0, 0, 0, 1, 5, 5, 5] + -360.963728954691078 # B[103, 0, 0, 0, 2, 2, 5, 5] + 180.302930506343245 # B[104, 0, 0, 0, 2, 3, 5, 5] + -0.0927167842886253007 # B[105, 0, 0, 0, 2, 4, 5, 5] + -54.9792205296734906 # B[106, 0, 0, 0, 2, 5, 5, 5] + 0.0622968474897991967 # B[107, 0, 0, 0, 3, 3, 5, 5] + -19.0759694688697401 # B[108, 0, 0, 0, 3, 4, 5, 5] + 26.6639152270046758 # B[109, 0, 0, 0, 3, 5, 5, 5] + 0.0 # B[110, 0, 0, 0, 4, 4, 5, 5] + -2.17726871628644325 # B[111, 0, 0, 0, 4, 5, 5, 5] + 0.0 # B[112, 0, 0, 0, 5, 5, 5, 5] + 4.41210696714003525 # B[113, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2] + 0.0497159733881680083 # B[114, 0, 0, 0, 0, 1, 1, 2, 1, 1, 2, 2] + 3.50516630159326947 # B[115, 0, 0, 0, 0, 1, 1, 3, 1, 1, 2, 2] + 14.6179669221722417 # B[116, 0, 0, 0, 0, 1, 2, 1, 1, 1, 2, 2] + 755.058663506306175 # B[117, 0, 0, 0, 0, 1, 2, 2, 1, 1, 2, 2] + -240.568322578754731 # B[118, 0, 0, 0, 0, 1, 2, 3, 1, 1, 2, 2] + 0.0488714570610267046 # B[119, 0, 0, 0, 0, 1, 3, 1, 1, 1, 2, 2] + -187.841135117587072 # B[120, 0, 0, 0, 0, 1, 3, 2, 1, 1, 2, 2] + 32.3758624271038684 # B[121, 0, 0, 0, 0, 1, 3, 3, 1, 1, 2, 2] + 118.101507848151186 # B[122, 0, 0, 0, 0, 2, 2, 1, 1, 1, 2, 2] + -0.0136264036603733017 # B[123, 0, 0, 0, 0, 2, 2, 2, 1, 1, 2, 2] + -226.591848522424016 # B[124, 0, 0, 0, 0, 2, 2, 3, 1, 1, 2, 2] + 0.0333288835492624586 # B[125, 0, 0, 0, 0, 2, 3, 1, 1, 1, 2, 2] + -0.0087547361274342983 # B[126, 0, 0, 0, 0, 2, 3, 2, 1, 1, 2, 2] + 0.0104057653307802946 # B[127, 0, 0, 0, 0, 2, 3, 3, 1, 1, 2, 2] + -25.2394489573255107 # B[128, 0, 0, 0, 0, 3, 3, 1, 1, 1, 2, 2] + -83.6076290271592057 # B[129, 0, 0, 0, 0, 3, 3, 2, 1, 1, 2, 2] + 80.3884647598460305 # B[130, 0, 0, 0, 0, 3, 3, 3, 1, 1, 2, 2] + -0.669731707137959487 # B[131, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2] + 0.0358960112501990058 # B[132, 0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2] + 0.613904373803016767 # B[133, 0, 0, 0, 0, 1, 1, 3, 2, 2, 2, 2] + 0.00183254800152801494 # B[134, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2] + 0.0722024283268215966 # B[135, 0, 0, 0, 0, 1, 2, 3, 2, 2, 2, 2] + 0.0 # B[136, 0, 0, 0, 0, 1, 3, 3, 2, 2, 2, 2] + -0.0365564305694157377 # B[137, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2] + 0.0114527487193957864 # B[138, 0, 0, 0, 0, 2, 2, 3, 2, 2, 2, 2] + 0.0 # B[139, 0, 0, 0, 0, 2, 3, 3, 2, 2, 2, 2] + 0.0 # B[140, 0, 0, 0, 0, 3, 3, 3, 2, 2, 2, 2] + 0.0 # B[141, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0] + +# End of potential \ No newline at end of file diff --git a/examples/mliap/mliap_pytorch_ACE.py b/examples/mliap/mliap_pytorch_ACE.py new file mode 100644 index 0000000000..7c98b90054 --- /dev/null +++ b/examples/mliap/mliap_pytorch_ACE.py @@ -0,0 +1,97 @@ +# Demonstrate how to load a model from the python side. +# This is essentially the same as in.mliap.pytorch.MOF +# except that python is the driving program, and lammps +# is in library mode. +before_loading =\ +"""# Demonstrate MLIAP/PyTorch interface to torch model + +# Initialize simulation + +variable nsteps index 100 +variable nrep equal 4 +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 bcc $a +region box block 0 ${nx} 0 ${ny} 0 ${nz} +create_box 1 box +create_atoms 1 box + +mass 1 180.88 + +# define potential with LATER mliappy + + +pair_style mliap model mliappy LATER descriptor ace ccs_single_element.yace +pair_coeff * * Ta + +""" +after_loading =\ +""" + +# Setup output + +compute eatom all pe/atom +compute energy all reduce sum c_eatom + +compute satom all stress/atom NULL +compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] +variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) + +thermo_style custom step temp epair c_energy etotal press v_press +thermo 10 +thermo_modify norm yes + +# Set up NVE run +dump 1 all cfg 10 ats.*.cfg mass type xs ys zs +dump_modify 1 element Ta + +timestep 0.5e-3 +neighbor 1.0 bin +neigh_modify once no every 1 delay 0 check yes + +# Run MD + +velocity all create 300.0 4928459 loop geom +fix 1 all nve +run ${nsteps} +""" +import lammps + +lmp = lammps.lammps(cmdargs=['-echo','both']) + +# Before defining the pair style, one must do the following: +import lammps.mliap +lammps.mliap.activate_mliappy(lmp) +# Otherwise, when running lammps in library mode, +# you will get an error: +# "ERROR: Loading MLIAPPY coupling module failure." + +# Setup the simulation and declare an empty model +# by specifying model filename as "LATER" +lmp.commands_string(before_loading) + +# Define the model however you like. In this example +# we load it from disk: +import os +import torch +torch_model = 'ACE_NN_Pytorch.pt' +if not os.path.exists(torch_model): + raise FileNotFoundError(f"Generate {torch_model} first") +model = torch.load(torch_model) + +# Connect the PyTorch model to the mliap pair style. +lammps.mliap.load_model(model) + +# run the simulation with the mliap pair style +lmp.commands_string(after_loading) +lmp.close() +lmp.finalize() diff --git a/src/ML-IAP/mliap_data.cpp b/src/ML-IAP/mliap_data.cpp index bc29ad9004..98bcbc5bd3 100644 --- a/src/ML-IAP/mliap_data.cpp +++ b/src/ML-IAP/mliap_data.cpp @@ -33,7 +33,7 @@ MLIAPData::MLIAPData(LAMMPS *lmp, int gradgradflag_in, int *map_in, class MLIAPM gamma(nullptr), gamma_row_index(nullptr), gamma_col_index(nullptr), egradient(nullptr), numneighs(nullptr), iatoms(nullptr), ielems(nullptr), pair_i(nullptr), jatoms(nullptr), jelems(nullptr), elems(nullptr), rij(nullptr), graddesc(nullptr), model(nullptr), - descriptor(nullptr), list(nullptr), itypes(nullptr), ix(nullptr), cpy_frstngh(nullptr) + descriptor(nullptr), list(nullptr), itypes(nullptr), lmp_firstneigh(nullptr) { gradgradflag = gradgradflag_in; map = map_in; @@ -85,10 +85,9 @@ MLIAPData::~MLIAPData() memory->destroy(pair_i); memory->destroy(ielems); memory->destroy(itypes); - memory->destroy(ix); memory->destroy(numneighs); memory->destroy(jatoms); - memory->destroy(cpy_frstngh); + memory->destroy(lmp_firstneigh); memory->destroy(jelems); memory->destroy(elems); memory->destroy(rij); @@ -186,7 +185,7 @@ void MLIAPData::generate_neighdata(NeighList *list_in, int eflag_in, int vflag_i int jtype = type[j]; const int jelem = map[jtype]; - cpy_frstngh[ii][jj] = firstneigh[i][jj]; + lmp_firstneigh[ii][jj] = firstneigh[i][jj]; if (rsq < descriptor->cutsq[ielem][jelem]) { pair_i[ij] = i; jatoms[ij] = j; @@ -228,7 +227,6 @@ void MLIAPData::grow_neigharrays() memory->grow(iatoms, natomneigh, "MLIAPData:iatoms"); memory->grow(ielems, natomneigh, "MLIAPData:ielems"); memory->grow(itypes, natomneigh, "MLIAPData:itypes"); - memory->grow(ix, natomneigh, 3, "MLIAPData:ix"); memory->grow(numneighs, natomneigh, "MLIAPData:numneighs"); natomneigh_max = natomneigh; } @@ -248,9 +246,6 @@ void MLIAPData::grow_neigharrays() const double xtmp = x[i][0]; const double ytmp = x[i][1]; const double ztmp = x[i][2]; - ix[i][0] = x[i][0]; - ix[i][1] = x[i][1]; - ix[i][2] = x[i][2]; const int itype = type[i]; const int ielem = map[itype]; @@ -275,7 +270,7 @@ void MLIAPData::grow_neigharrays() if (nneigh_max < nneigh) { memory->grow(pair_i, nneigh, "MLIAPData:pair_i"); memory->grow(jatoms, nneigh, "MLIAPData:jatoms"); - memory->grow(cpy_frstngh, natomneigh, nneigh, "MLIAPData:cpy_frstngh"); + memory->grow(lmp_firstneigh, natomneigh, nneigh, "MLIAPData:lmp_firstneigh"); memory->grow(jelems, nneigh, "MLIAPData:jelems"); memory->grow(rij, nneigh, 3, "MLIAPData:rij"); if (gradgradflag == 0) memory->grow(graddesc, nneigh, ndescriptors, 3, "MLIAPData:graddesc"); @@ -304,13 +299,12 @@ double MLIAPData::memory_usage() bytes += (double) natomneigh_max * sizeof(int); // iatoms bytes += (double) natomneigh_max * sizeof(int); // ielems bytes += (double) natomneigh_max * sizeof(int); // itypes - bytes += (double) natomneigh_max * 3 * sizeof(int);// ix bytes += (double) natomneigh_max * sizeof(int); // numneighs bytes += (double) nneigh_max * sizeof(int); // pair_i bytes += (double) nneigh_max * sizeof(int); // jatoms bytes += (double) nneigh_max * sizeof(int); // jelems - bytes += (double) nneigh_max * natomneigh_max * sizeof(int);// cpy_frstngh + bytes += (double) nneigh_max * natomneigh_max * sizeof(int);// lmp_firstneigh bytes += (double) nneigh_max * 3 * sizeof(double); // rij" if (gradgradflag == 0) diff --git a/src/ML-IAP/mliap_data.h b/src/ML-IAP/mliap_data.h index 6dfc0ec9b6..bfc3928e6f 100644 --- a/src/ML-IAP/mliap_data.h +++ b/src/ML-IAP/mliap_data.h @@ -74,8 +74,7 @@ class MLIAPData : protected Pointers { int *jatoms; // index of each neighbor int *jelems; // element of each neighbor int *elems; // element of each atom in or not in the neighborlist - int **cpy_frstngh; // index of each neighbor for external evaluators - double **ix; // neighbor positions for external evaluators + int **lmp_firstneigh; // copy of list->firstneigh for external evaluators double **rij; // distance vector of each neighbor double ***graddesc; // descriptor gradient w.r.t. each neighbor int eflag; // indicates if energy is needed diff --git a/src/ML-IAP/mliap_descriptor_ace.cpp b/src/ML-IAP/mliap_descriptor_ace.cpp index f89b5c2fd6..27d1d59242 100644 --- a/src/ML-IAP/mliap_descriptor_ace.cpp +++ b/src/ML-IAP/mliap_descriptor_ace.cpp @@ -61,26 +61,23 @@ MLIAPDescriptorACE::MLIAPDescriptorACE(LAMMPS *_lmp, char *yacefilename) : Point { acemlimpl = new ACE_ML_impl; - int ntypes = atom->ntypes; allocated_elements = 0; //read in file with CG coefficients or c_tilde coefficients - //auto coeff_file_name = utils::get_potential_file_path(yacefilename); - //char* ctilde_file_name = yacefilename; - //ctilde_file = *ctilde_file_name + //auto ctilde_file = utils::get_potential_file_path(yacefilename); + //acemlimpl -> basis_set = new ACECTildeBasisSet(std::string(1,ctilde_file)); + ctilde_file = yacefilename; delete acemlimpl -> basis_set; - //acemlimpl -> basis_set = new ACECTildeBasisSet(ctilde_file); - //acemlimpl -> basis_set = new ACECTildeBasisSet(&ctilde_file_name); - acemlimpl -> basis_set = new ACECTildeBasisSet("coupling_coefficients.yace"); - //ntypes = acemlimpl -> basis_set->nelements; + acemlimpl -> basis_set = new ACECTildeBasisSet(ctilde_file); + nelements = acemlimpl -> basis_set->nelements; int tot_num = 0; - for (int mu = 0; mu < ntypes; mu++) { + for (int mu = 0; mu < nelements; mu++) { if ( max_num < acemlimpl -> basis_set->total_basis_size_rank1[mu] + acemlimpl ->basis_set->total_basis_size[mu]) { max_num = acemlimpl -> basis_set->total_basis_size_rank1[mu] + acemlimpl ->basis_set->total_basis_size[mu]; } tot_num += acemlimpl -> basis_set->total_basis_size_rank1[mu] + acemlimpl ->basis_set->total_basis_size[mu]; } - ndescriptors = max_num; //n_r1 + n_rp; + ndescriptors = max_num; nelements = acemlimpl -> basis_set ->nelements; memory->destroy(cutsq); @@ -93,11 +90,13 @@ MLIAPDescriptorACE::MLIAPDescriptorACE(LAMMPS *_lmp, char *yacefilename) : Point elements = new char * [nelements]; for (int iielem = 0; iielem < nelements; iielem ++){ elements[iielem] = utils::strdup(acemlimpl->basis_set->elements_name[iielem]); + //char* elemi = const_cast(acemlimpl->basis_set->elements_name[iielem].data()); + //elements[iielem] = elemi; } allocated_elements = 1; } - memory->create(cutsq,ntypes+1,ntypes+1,"mliap/descriptor/ace:cutsq"); + memory->create(cutsq,nelements+1,nelements+1,"mliap/descriptor/ace:cutsq"); float icmax = 0.0; float icuti, icutj; for (int mui = 0; mui < acemlimpl -> basis_set ->nelements; mui++) { @@ -116,7 +115,7 @@ MLIAPDescriptorACE::MLIAPDescriptorACE(LAMMPS *_lmp, char *yacefilename) : Point if (cuti > cutmax) cutmax = cuti; cutsq[mui][mui] = ((2*cuti*cutfac)*(2*cuti*cutfac)); - for (int muj = mui + 1; muj < ntypes; muj++) { + for (int muj = mui + 1; muj < nelements; muj++) { cutj = acemlimpl -> basis_set->radial_functions->cut(mui, muj); cutsq[mui][muj] = cutsq[muj][mui] = ((2*cuti *cutfac)*(2*cutj*cutfac)); } @@ -134,9 +133,6 @@ void MLIAPDescriptorACE::allocate() MLIAPDescriptorACE::~MLIAPDescriptorACE() { delete acemlimpl; - if (allocated) { - memory->destroy(cutsq); - } } /* ---------------------------------------------------------------------- @@ -148,7 +144,6 @@ void MLIAPDescriptorACE::compute_descriptors(class MLIAPData *data) int max_jnum = -1; int nei = 0; int jtmp =0; - int ntypes = atom->ntypes; for (int iitmp = 0; iitmp < data->nlistatoms; iitmp++) { int itmp = data->iatoms[iitmp]; jtmp = data->numneighs[iitmp]; @@ -157,24 +152,20 @@ void MLIAPDescriptorACE::compute_descriptors(class MLIAPData *data) max_jnum = jtmp; } } - delete acemlimpl -> basis_set; - acemlimpl -> basis_set = new ACECTildeBasisSet("coupling_coefficients.yace"); - for (int ii = 0; ii < data->nlistatoms; ii++) { const int i = data->iatoms[ii]; const int ielemx = data->ielems[ii]; const int jnum = data->numneighs[ii]; - int elem_offset = ndescriptors * ielemx; //data->ielems[ii]; delete acemlimpl -> ace; acemlimpl -> ace = new ACECTildeEvaluator(*acemlimpl -> basis_set); acemlimpl -> ace->compute_projections = 1; acemlimpl -> ace->compute_b_grad = 1; - acemlimpl -> ace->element_type_mapping.init(ntypes+1); - for (int ik = 1; ik <= ntypes; ik++) { - for(int mu = 0; mu < ntypes; mu++){ + acemlimpl -> ace->element_type_mapping.init(nelements+1); + for (int ik = 1; ik <= nelements; ik++) { + for(int mu = 0; mu < nelements; mu++){ if (mu != -1) { if (mu == ik - 1) { acemlimpl -> ace->element_type_mapping(ik) = mu; @@ -185,7 +176,7 @@ void MLIAPDescriptorACE::compute_descriptors(class MLIAPData *data) acemlimpl -> ace->resize_neighbours_cache(jnum); - acemlimpl -> ace->compute_atom(ii, atom->x, atom->type, data->numneighs[ii], data->cpy_frstngh[ii]); + acemlimpl -> ace->compute_atom(i, atom->x, atom->type, data->numneighs[ii], data->lmp_firstneigh[ii]); for (int icoeff = 0; icoeff < data->ndescriptors; icoeff++){ data->descriptors[ii][icoeff] = acemlimpl -> ace -> projections(icoeff); } @@ -206,9 +197,7 @@ void MLIAPDescriptorACE::compute_forces(class MLIAPData *data) int max_jnum = -1; int nei = 0; int jtmp =0; - int ntypes = atom->ntypes; for (int iitmp = 0; iitmp < data->nlistatoms; iitmp++) { - //int itmp = ilist[iitmp]; int itmp = data->iatoms[iitmp]; jtmp = data->numneighs[iitmp]; nei = nei + jtmp; @@ -221,13 +210,12 @@ void MLIAPDescriptorACE::compute_forces(class MLIAPData *data) for (int ii = 0; ii < data->nlistatoms; ii++) { const int i = data->iatoms[ii]; const int ielem = data->ielems[ii]; - int elem_offset = max_num * ielem; delete acemlimpl -> ace; acemlimpl -> ace = new ACECTildeEvaluator(*acemlimpl -> basis_set); acemlimpl -> ace->compute_projections = 1; acemlimpl -> ace->compute_b_grad = 1; - acemlimpl -> ace->element_type_mapping.init(ntypes+1); - for (int ik = 1; ik <= ntypes; ik++) { + acemlimpl -> ace->element_type_mapping.init(nelements+1); + for (int ik = 1; ik <= nelements; ik++) { for(int mu = 0; mu < acemlimpl -> basis_set ->nelements; mu++){ if (mu != -1) { if (mu == ik - 1) { @@ -240,7 +228,7 @@ void MLIAPDescriptorACE::compute_forces(class MLIAPData *data) const int jnum = data->numneighs[ii]; acemlimpl -> ace->resize_neighbours_cache(jnum); - acemlimpl -> ace->compute_atom(ii, atom->x, atom->type, data->numneighs[ii], data->cpy_frstngh[ii]); + acemlimpl -> ace->compute_atom(i, atom->x, atom->type, data->numneighs[ii], data->lmp_firstneigh[ii]); int ij0 = ij; int ninside = 0; for (int jj = 0; jj < jnum; jj++) { @@ -249,7 +237,7 @@ void MLIAPDescriptorACE::compute_forces(class MLIAPData *data) } ij = ij0; - const int* const jlist = data->cpy_frstngh[ii]; + const int* const jlist = data->lmp_firstneigh[ii]; double **x = atom->x; const double xtmp = x[i][0]; const double ytmp = x[i][1]; @@ -257,11 +245,17 @@ void MLIAPDescriptorACE::compute_forces(class MLIAPData *data) for (int jj = 0; jj < jnum; jj++) { const int j = jlist[jj]; + for (int idim = 0; idim < 3; idim++){ + fij[idim] = 0.0; + } for (int iicoeff = 0; iicoeff < ndescriptors; iicoeff++) { DOUBLE_TYPE fx_dB = acemlimpl -> ace -> neighbours_dB(iicoeff,jj,0)*data->betas[ii][iicoeff]; DOUBLE_TYPE fy_dB = acemlimpl -> ace -> neighbours_dB(iicoeff,jj,1)*data->betas[ii][iicoeff]; DOUBLE_TYPE fz_dB = acemlimpl -> ace -> neighbours_dB(iicoeff,jj,2)*data->betas[ii][iicoeff]; // add force contribution from each descriptor + fij[0]+=fx_dB; + fij[1]+=fy_dB; + fij[2]+=fz_dB; f[i][0] += fx_dB; f[i][1] += fy_dB; f[i][2] += fz_dB; @@ -287,7 +281,6 @@ void MLIAPDescriptorACE::compute_forces(class MLIAPData *data) void MLIAPDescriptorACE::compute_force_gradients(class MLIAPData *data) { int ij = 0; - int ntypes = atom->ntypes; int max_jnum = -1; int nei = 0; @@ -308,12 +301,9 @@ void MLIAPDescriptorACE::compute_force_gradients(class MLIAPData *data) acemlimpl -> ace = new ACECTildeEvaluator(*acemlimpl -> basis_set); acemlimpl -> ace->compute_projections = 1; acemlimpl -> ace->compute_b_grad = 1; - int n_r1, n_rp = 0; - n_r1 = acemlimpl -> basis_set->total_basis_size_rank1[0]; - n_rp = acemlimpl -> basis_set->total_basis_size[0]; - acemlimpl -> ace->element_type_mapping.init(ntypes+1); - for (int ik = 1; ik <= ntypes; ik++) { + acemlimpl -> ace->element_type_mapping.init(nelements+1); + for (int ik = 1; ik <= nelements; ik++) { for(int mu = 0; mu < acemlimpl -> basis_set ->nelements; mu++){ if (mu != -1) { if (mu == ik - 1) { @@ -326,12 +316,10 @@ void MLIAPDescriptorACE::compute_force_gradients(class MLIAPData *data) const int jnum = data->numneighs[ii]; - const int* const jlist = data->cpy_frstngh[ii]; + const int* const jlist = data->lmp_firstneigh[ii]; acemlimpl -> ace->resize_neighbours_cache(jnum); - acemlimpl -> ace->compute_atom(ii, atom->x, atom->type, data->numneighs[ii], data->cpy_frstngh[ii]); + acemlimpl -> ace->compute_atom(i, atom->x, atom->type, data->numneighs[ii], data->lmp_firstneigh[ii]); for (int jj = 0; jj < jnum; jj++) { - const int jt = data->jatoms[ij]; - const int jtt = data->jatoms[jj]; const int j = jlist[jj]; for (int inz = 0; inz < data->gamma_nnz; inz++) { const int l = data->gamma_row_index[ii][inz]; @@ -362,7 +350,6 @@ void MLIAPDescriptorACE::compute_descriptor_gradients(class MLIAPData *data) int max_jnum = -1; int nei = 0; int jtmp =0; - int ntypes = atom->ntypes; for (int iitmp = 0; iitmp < data->nlistatoms; iitmp++) { int itmp = data->iatoms[iitmp]; jtmp = data->numneighs[iitmp]; @@ -374,18 +361,13 @@ void MLIAPDescriptorACE::compute_descriptor_gradients(class MLIAPData *data) for (int ii = 0; ii < data->nlistatoms; ii++) { const int i = data->iatoms[ii]; const int ielem = data->ielems[ii]; - int elem_offset = max_num * ielem; - // ensure rij, inside, wj, and rcutij are of size jnum delete acemlimpl -> ace; acemlimpl -> ace = new ACECTildeEvaluator(*acemlimpl -> basis_set); acemlimpl -> ace->compute_projections = 1; acemlimpl -> ace->compute_b_grad = 1; - int n_r1, n_rp = 0; - n_r1 = acemlimpl -> basis_set->total_basis_size_rank1[0]; - n_rp = acemlimpl -> basis_set->total_basis_size[0]; - acemlimpl -> ace->element_type_mapping.init(ntypes+1); - for (int ik = 1; ik <= ntypes; ik++) { + acemlimpl -> ace->element_type_mapping.init(nelements+1); + for (int ik = 1; ik <= nelements; ik++) { for(int mu = 0; mu < acemlimpl -> basis_set ->nelements; mu++){ if (mu != -1) { if (mu == ik - 1) { @@ -395,10 +377,10 @@ void MLIAPDescriptorACE::compute_descriptor_gradients(class MLIAPData *data) } } - const int* const jlist = data->cpy_frstngh[ii]; + const int* const jlist = data->lmp_firstneigh[ii]; const int jnum = data->numneighs[ii]; acemlimpl -> ace->resize_neighbours_cache(jnum); - acemlimpl -> ace->compute_atom(i, atom->x, atom->type, data->numneighs[ii], data->cpy_frstngh[ii]); + acemlimpl -> ace->compute_atom(i, atom->x, atom->type, data->numneighs[ii], data->lmp_firstneigh[ii]); int ij0 = ij; int ninside = 0; for (int jj = 0; jj < jnum; jj++) { diff --git a/src/ML-IAP/mliap_descriptor_ace.h b/src/ML-IAP/mliap_descriptor_ace.h index 435746becf..9b6ab4d14d 100644 --- a/src/ML-IAP/mliap_descriptor_ace.h +++ b/src/ML-IAP/mliap_descriptor_ace.h @@ -34,7 +34,7 @@ class MLIAPDescriptorACE : public MLIAPDescriptor { int max_num=0; //char* ctilde_file_name = nullptr; //char* ctilde_file ="coupling_coefficients.yace"; - //char *const ctilde_file = nullptr; + char* ctilde_file; protected: virtual void allocate(); From 414fdeb3ee554d5c9dad2fd2e91002132ebf1757 Mon Sep 17 00:00:00 2001 From: James Michael Goff Date: Wed, 14 Feb 2024 15:42:04 -0700 Subject: [PATCH 155/559] cleanup and whitespace --- src/ML-IAP/mliap_descriptor_ace.cpp | 20 ++++++++++---------- src/ML-IAP/mliap_descriptor_ace.h | 2 -- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/ML-IAP/mliap_descriptor_ace.cpp b/src/ML-IAP/mliap_descriptor_ace.cpp index 27d1d59242..2604a3d974 100644 --- a/src/ML-IAP/mliap_descriptor_ace.cpp +++ b/src/ML-IAP/mliap_descriptor_ace.cpp @@ -65,7 +65,7 @@ MLIAPDescriptorACE::MLIAPDescriptorACE(LAMMPS *_lmp, char *yacefilename) : Point //read in file with CG coefficients or c_tilde coefficients //auto ctilde_file = utils::get_potential_file_path(yacefilename); //acemlimpl -> basis_set = new ACECTildeBasisSet(std::string(1,ctilde_file)); - ctilde_file = yacefilename; + ctilde_file = yacefilename; delete acemlimpl -> basis_set; acemlimpl -> basis_set = new ACECTildeBasisSet(ctilde_file); nelements = acemlimpl -> basis_set->nelements; @@ -81,7 +81,7 @@ MLIAPDescriptorACE::MLIAPDescriptorACE(LAMMPS *_lmp, char *yacefilename) : Point nelements = acemlimpl -> basis_set ->nelements; memory->destroy(cutsq); - + if (allocated_elements) { for (int iielem = 0; iielem < nelements; iielem++) delete[] elements[iielem]; delete[] elements; @@ -95,12 +95,12 @@ MLIAPDescriptorACE::MLIAPDescriptorACE(LAMMPS *_lmp, char *yacefilename) : Point } allocated_elements = 1; } - + memory->create(cutsq,nelements+1,nelements+1,"mliap/descriptor/ace:cutsq"); float icmax = 0.0; float icuti, icutj; for (int mui = 0; mui < acemlimpl -> basis_set ->nelements; mui++) { - icuti = acemlimpl -> basis_set->radial_functions->cut(mui, mui); + icuti = acemlimpl -> basis_set->radial_functions->cut(mui, mui); if (icuti > icmax) icmax = icuti; for (int muj = mui+1; muj < acemlimpl -> basis_set ->nelements; muj++) { icutj = acemlimpl -> basis_set->radial_functions->cut(mui, muj); @@ -113,7 +113,7 @@ MLIAPDescriptorACE::MLIAPDescriptorACE(LAMMPS *_lmp, char *yacefilename) : Point for (int mui = 0; mui < acemlimpl -> basis_set ->nelements; mui++) { cuti = acemlimpl -> basis_set->radial_functions->cut(mui, mui); if (cuti > cutmax) cutmax = cuti; - + cutsq[mui][mui] = ((2*cuti*cutfac)*(2*cuti*cutfac)); for (int muj = mui + 1; muj < nelements; muj++) { cutj = acemlimpl -> basis_set->radial_functions->cut(mui, muj); @@ -173,14 +173,14 @@ void MLIAPDescriptorACE::compute_descriptors(class MLIAPData *data) } } } - - + + acemlimpl -> ace->resize_neighbours_cache(jnum); acemlimpl -> ace->compute_atom(i, atom->x, atom->type, data->numneighs[ii], data->lmp_firstneigh[ii]); for (int icoeff = 0; icoeff < data->ndescriptors; icoeff++){ data->descriptors[ii][icoeff] = acemlimpl -> ace -> projections(icoeff); } - + } } @@ -391,7 +391,7 @@ void MLIAPDescriptorACE::compute_descriptor_gradients(class MLIAPData *data) ij = ij0; for (int jj = 0; jj < data->numneighs[ii]; jj++) { const int jt = data->jatoms[ij]; - + const int j = jlist[jj]; int yoffset = ndescriptors; int zoffset = ndescriptors*2; @@ -402,7 +402,7 @@ void MLIAPDescriptorACE::compute_descriptor_gradients(class MLIAPData *data) // Accumulate dB_k^i/dRi, dB_k^i/dRj data->graddesc[ij][iicoeff][0] = fx_dB; data->graddesc[ij][iicoeff][1] = fy_dB; - data->graddesc[ij][iicoeff][2] = fz_dB; + data->graddesc[ij][iicoeff][2] = fz_dB; } ij++; diff --git a/src/ML-IAP/mliap_descriptor_ace.h b/src/ML-IAP/mliap_descriptor_ace.h index 9b6ab4d14d..db6e7ce7b8 100644 --- a/src/ML-IAP/mliap_descriptor_ace.h +++ b/src/ML-IAP/mliap_descriptor_ace.h @@ -32,8 +32,6 @@ class MLIAPDescriptorACE : public MLIAPDescriptor { double rcutfac; int allocated=0; int max_num=0; - //char* ctilde_file_name = nullptr; - //char* ctilde_file ="coupling_coefficients.yace"; char* ctilde_file; protected: From f19d9a9f4e45d7226ab1c7c5746d57d2b7e9a74e Mon Sep 17 00:00:00 2001 From: James Michael Goff Date: Wed, 14 Feb 2024 16:18:56 -0700 Subject: [PATCH 156/559] ACE mliap examples --- .../mliap/ace/Ta_example/FitTorch_Pytorch.pt | Bin 244585 -> 0 bytes .../ace/Ta_example/Ta06A.ace.pytorch.mliap | 18 - examples/mliap/ace/Ta_example/Ta_Pytorch.pt | Bin 244585 -> 0 bytes .../ace/Ta_example/coupling_coefficients.yace | 140 ----- .../ace/Ta_example/in.mliap.pytorch.ace.Ta06A | 53 -- examples/mliap/ace/Ta_example/in.numdiff | 76 --- .../numerical_diff_reference/force_error.dump | 234 --------- .../numerical_diff_reference/in.numdiff | 72 --- .../coupling_coefficients.yace | 294 ----------- .../multielement_compute/in.mliap.ace.compute | 25 - .../multielement_compute/latte_cell_0.data | 172 ------ .../reference/desc_out.dat | 494 ------------------ 12 files changed, 1578 deletions(-) delete mode 100644 examples/mliap/ace/Ta_example/FitTorch_Pytorch.pt delete mode 100644 examples/mliap/ace/Ta_example/Ta06A.ace.pytorch.mliap delete mode 100644 examples/mliap/ace/Ta_example/Ta_Pytorch.pt delete mode 100644 examples/mliap/ace/Ta_example/coupling_coefficients.yace delete mode 100644 examples/mliap/ace/Ta_example/in.mliap.pytorch.ace.Ta06A delete mode 100644 examples/mliap/ace/Ta_example/in.numdiff delete mode 100644 examples/mliap/ace/Ta_example/numerical_diff_reference/force_error.dump delete mode 100644 examples/mliap/ace/Ta_example/numerical_diff_reference/in.numdiff delete mode 100644 examples/mliap/ace/multielement_compute/coupling_coefficients.yace delete mode 100644 examples/mliap/ace/multielement_compute/in.mliap.ace.compute delete mode 100644 examples/mliap/ace/multielement_compute/latte_cell_0.data delete mode 100644 examples/mliap/ace/multielement_compute/reference/desc_out.dat diff --git a/examples/mliap/ace/Ta_example/FitTorch_Pytorch.pt b/examples/mliap/ace/Ta_example/FitTorch_Pytorch.pt deleted file mode 100644 index a76008f3421eb45ebd7fadc2bd1d85a2a53482ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244585 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

p7fP8h^yP$crmSW zA8M@u_4m=A#Es{Oi|c!TFX?e1X*mx=TLIT1V>#qc?mRG#=Ix2s#Y^S`SE zTIDrx=)SuKe3)a4fE)QSC-Nk(m4yEZfA=BIs&jRmM|#Je!lc)yI+r zuil##`+EZ@k@j_!ngtHnc~s>=6$`2j^%k(_AJ4*rUI^{~!= zQa{kR`l~4VmpOK28sskBolpAww9Gii65bogcJHmqIRE4JLd-Y&g!&dgE{Fei8b5DY zUV6`cq|6zv|5hvZle}KE2l+9T`S)=m2n2+9i;X4@t5o2tNeYA2<6}Ls3%WhhyF0rVV{aifp=NwFW}le%*t7y`LQ(Wpc5*MvI6`;=W41td^$+@jv(vX}_s z^_*btThl+oPu1{xILV71LD*l(|DeY&EDt+Xv7V?aU4rlDk(v4aX?-FW?AC?eFkTx5 zpg-v@(JN^m)oUsGrEC8Pc(j8b!wzx#-g?^4)$cKsm?oQ*n-`{gd z&StHJey2O6=J=&p06h2%EznQJiKM`l(H}6b7FHg*WcD>1ozT*bmM?754YV2oWy$yD~sR=#m+b;V^pBOWIFO7>iSAhpV znV%CbK9y!WJ}rTMQK;?^lDDh+LQahy!gka?4?Mb5Syz*ugrDmoKeqS+Traq;+`sjL z6NsZ)R}Xq+^$T1F-{eNWvh@#g91HR9o5ZR?wMd`;DiD3hp5gDCl<5xt%$g^_hrRj; zdC@^vfG5AC9qLR3*WE+wP4Fl5Upet*F5+d=Hi)zBe}v-{^vCXavio!2SemyngW-qo zWgPMT`Je2^?rnWZ&fhLSk*HpEGKi=>JP`Y-KEq(YIn;O;t+UVfG$SguO=bN5n~(eK z>-rqei|>(Fv)N!@^W$a2(`P#aoU05cfNx*&HT28h(jwpTdS>(s)$}{yNBx!(Rnc+P9awkyaEx0rutC?}2BO1%199{p9;Jr11t>Yr!Flib`3p)_xQh~oT4 z#3Fv$*F`^bEBJkjK5h!)CT|wv^Cs;8*db3&hkyQ1N#IOQ-3UK@#g*_!94d|YndXxi zhtK)*J2Uq;)UDZla1Pm_rX__R?$|9$ylBY3Z}1uTzEp9yXavUZ{ckc+o%Is-QH_F- zH#xx#$N0NqONshXt2pjO`$Dfe?qRR{rZxPRYyL(Z`qBIzC0VL^XaMO=a*6SLKJ^CZ z3)%~NOr@UiM-TSFB&X&EbNz@F*k7m0gX;`EY#(@Wb>S+=C0>Glx!~ml^fSA5$`%@T6+f7Gk~`Yb5mo;yiF~`oLBNkp(g%Im ze*T;5A?GyMhIQDO1$|`ffw&4q8?=djlBDLQJYE5CL6m1a=T;0 zh?kR=h7vV-F0%Z=vV7haNxzQ9Rg1*1+YV31c@wHKZ=G&<&Xk7H4 z$^Q1^=X9A~qlX0~4C}AfBX08IbJT;`){*tTbBMFLF@XP0O8yt(X9u01N9#n7*Qh&p z=?MGzek%Ha36JVS^Qug}2}IrGj*E%Pfat~X2~_;q9ra=!4mv=*|E^&Sj8RVvPR;s#hJ ze!UYy`hD?s$d|8whwC*y#UzaDnT&(EAGuHK>>T%%Rk6P+kt+gvQ)e7b)E;aG`;G68 zxcj#Jd^t0}F#B7$?@p3aE&oQn*lcSfX&*g0KAgr~@fTQU%7(!oRbY~#c{?>F_7em8 zaD19pKsZq zh5jP)-J46}Hs39d+umJVkIlBgF3~d@^`sXp+Dq$PV?T|kDtdVnty7NgC$dFetsvf9 zs>=39@$aeq#}bUYtr`2#Iv?^)U!rEv8{pP9J+X?`xzO>zt82O({X+ySMf~i$2uJgx zO*5u(p}>bHepE8f->Y-n|GWMVcorGfV;{TY`fyq&Hw|4) zR1JH9zM)!nSwj2y94&bK#oT!`Z}$a-(zuxUF_?IB{SoIsAP{j8Z{I^+Mr`5pDcM`Z zTOUjcJI(#0h_9LdHT;tKx9@|VYp=EwbxjXMLI0>NuwR~t#r2Jhp4W@!W!>ZW1j0q*vz71>D;-zZ}4L{-WGZw(r0>Y}a&Szb_8O zxL@=m&JTC88Ty@@vjcY7peC@_EU1fqtrnKU{;qOn_69eJY62>wJSoguf5V6IPg~|uOoRobMqe1-!p($Q#AUMe0Usr6VcxR?`}sS_@x$1 zz&`$b8SF1Q^o0Mi`Kq0y$E|w=e5h1k4T~rJQ#&AzBKj%eQv{8>Illq_rpj*2>uzb`r}>JXqpq&~0lUQK=9pJE8Ut7I z-bUyVori{#UNvnj*7*T})4&JKMBR!Va}ifL_6_X!?>YeQI_(I=-P{U^Bs&s*pM!c8 zs|&BC^>SDqwljCm{WR}OW`cg1VG{h;u?1nbSkS#C&C8w@(O1QtpE^Y~oJXqFFX)@*6~CuRJmud7nCAR@02e)<<1q0F@~Dyx zk0ibR=c^X_qxZ(p{{G6D-9$~7><4Mw4ZXaVs6Q5ieE9EkV?Wt0U>1#=QqjAK%Dj_s zE{JnogCTE!27blQpU@Y~_!o$mn0Og^v61tT2Uk6w?M^oVR8~tB7oVU{59RmMCVa0p z8T+K~j6UwWX63&3)3=9dJmERN+#edP;rXrCw$gfkp*(n7^KY(~JyDSJx;Ok3%lQ2& zB6C65BYNC}oZ0^We}1!dEa}$+e?#0v@2c2Ow$2|!`fc?eAg?Q5fjw^LcfQ<9N)9`M^>WmK&9u%mZy8GS@@Yz}m!(T^{I=}pzFoW__k+(hQIGm_eT>_?RY1kD z_e*KL4K0p3bp5w6p7th!e$itG`ep*Y(TCL1yF*D{e7h5Q6rJOj5N`qtp|0hChFE8l zO@}@?fS*UFUyne2%fI;dKKj_orSS>teCg)A?^kaIfUlo=E>TjeidzIol>L_nASJ z29jR${oMUT_4{DRnZ=ipcUwIQ=b*cnWI3%fr`Cj#oK3^`>*>{R<`FOJ7e(Cl)!gVW z?)_6fPqJQPd}sXweux^oyOJK6ZPHd+rtyWg%X zB;HSdzB(X*n%jk^6P3w(?SS01KQ!^WT6)xl4o(?Iygk!q9Z@%O?*_~l@5yoB!oM?6 zX-=E?gn5-~_GFqj84OkUqaGO>>fSEr#QKGIclZ zrg5Wv4UE@43H@T{V#d>-zi^yR6-C_atp0~cUJm*J@iOnPucUSQ&AyH_uDY~izstxl z;_brh%V}O7ON01p(Hrq|Z4&RIdH?%n&U4NG;D`L*Vc=4%49Z9Iu03B*tFQ%}*8xGO zA2aYU$3N$n_p9D0hjYgKcMRvNt$&ztcj*H6kv;8zYn!YQ*6YX%&}UY8*kRuD^P>`; z>xw-4tT}-varP4Wm3R?xknAx_C-AxG`TktDVnbW<&t>8Ftm&%_H5@6;g>vd0Q&V)ex6Rk_pFg5uSfHHv;5{Szx!Fk-_w|R5zuF64P6Pn<*s92 z75+QoW^N}LLgRM%I@GVuU3y1A0xw=12VP_ue!r8R-2wTRD>eglUj`*oW_aXvlJfu7D zsnYkvKB_N&zF_~piT%anA>(PiZJQJRh|q}(pwIT%3tE4i!~E{e$g3UQIEr}v_a*qD zE~_;G3B2o=HV)%OFEI}P;^*{=ljG-Nyi$A^$%#{e$g61l-zwtmrsam_<(lc z_H%P8qhIMy>k$vp^7Ury|L<=2DXKm11G(lUV2}Gg2jb{b^Y{4rdI9LQJMK=Tb^51> z4MasI?i1?JLFC^xnG8IcuAfo&YN12lQG**{-XAOr9GY(V7t(rj_dD1ns?+ms5pRW>zv-C1+IhQ0uw z@YE30w=2Sb|B5NmEoi;}`_&|(X2)~J%Y`b4uTIkl>r|pA9H$H2Q2)a7bKceV3b<}? zB}-sjR`~MXyoZxGuK^bsKba>Z9-`>YXtGlzJ{?5+iOJ`~i8|91@;ce&-LNCR7xbwS zwJ@(z*F`_}O`2?n{NlcB*T9_I=e})=er6A_9p=Vx)RBl!G>YU^;fjZd`Wv&C6BUh0 z4h~2l=2}!3@$!EqfiKx-;4&H)8>_4*D%bwPxYGQ6rJZq`$1}yDKe>9nkq^D+HuA2= z&7DN+)K?-Ndc)UoeKuHtJju3mc>IT?sAFlrSx9nz>zC)gttva1c-?3y@~aO{nghOM z6|B=Y2Za!C>zzcLWR1*2!5=Lx8$e~(XtQsr{Mgv zNsr3Lf4{0+-Mf;UDp_?CP)FWW;^RuC_LC|d>N z`LY9#zUEJew|U!e5Uo=m5(Uz{&wd7VB%3xsUlH3j11C~cguMyxYvTCjDT%y@&&y!H zcp)Q6kL+3v^`*00`0rAc0glbU?lVch&XH*^QI)BBG*R!Z}><)p{df4h;!UEFG}gSWA`PL(^7b)k86 zzR(KD$tQ@1JewZ-yN=Z=(K=OLqR*Incad-RCdXWom*X-cZ|eGT>?3P5L7epG%zJ2F zG@g%rrCYF{^q4)}9F6P9O7PcCONBbn5x*~`c^^0e_L)NBOsPX!ux-6u!UI+dab z^td}IHqf}evg06)`z7tSKrU0F{ltrrt->(A=`#9@>2MMLn9(B<7yDDott2lC7Trg3 zGBv*+(RO*v=lnQ+4uTBXk9_LO3sH~u+{*bRZznfpy#1Gy``L_^z@6CEd_3v(NiQKj zHeVe3uN-h?^45pH>crVqkh}45Hc@+WE$Yxu8^`vS`G|PBD)r%~Ns?w8$%)GR`GsE= zjXvnUJp){ef2N?0biT-)0SRJe{4?M|l>8mn0W$k%tk?DHW1SG$V<2~N2iE)iCviTB zCDRa3x%L?Px6k$rI1zKw<6QEy_z|OC$hm!whbzF7g?X)hiPrM94 z{zS3=u+E?5=asqa-NH#;zxu>D*_g?3GQ>;tJcW5#pkE~P@3^`K^Osf) z2H)&4aOcXM3kpbBCl-VwpZa08EySDQF^s$7S&%>X=?!pT%ASDz{>et zL!n60t18YwUS-zBm{$){79dpkH6lGnIH>Ya{S#Ps|4% z<;no`S49uHPdVE7j^i4M1Si?OZ(c)dEt*=T?cVc3*x4cUh%0Pu1D;; zhrolY&-YKu!mW`f*d}4E0(P4lGv<UAaGqw(H@an3@Usbk&j~e&$vd?iV>517GUlBGjdM^4FJqPePs9 zb$&bT@00Lz*TtW$a8BwcNwJ^le4g{UEhp@?ZO*_RRpRJ;^51u=jDF`fWrv)}z~A5c z&c!jV)^Hzjmyw_C#2(td95i2+1K)-r7GH(P-N9oTCn$(d&S`*nLF^(>N8OTOMm zK^+ZM|@8G1s3R+3&@vmE0# z;3n*nMf!B1aasOP;97^?#J;BY9?s+S97}0lr{L$>xSS`EFY~??`if6m2RJbEwxfT$ z^wp=3yqUQWxOX$EN5m)aZsK1({Shv5%CZhU49?pNK zLh#4-y$FBZ&%5^0I(Iz@{Fe4E@TJp!&vs8djJ~G_M4?{ofKKTD3GWe$p>^`-J-~^& z-DnZ{y|{*Nuya2e)z4n&=q$ZOb7 zRu-^N)_srjTt9rlc*{B#RNvmU0_%4Fg!TN2hbSw^e?r6FMH@nH1vhc3?w=CyT^D;I~V37=D?h#W&JE zZutV>)a#|lziAwbxcY{@P;c(-tRRw;Kh?rHC!WNhpDDxl8Ttb?sz6Vp2=qxA{E79a ztO>tOl0$RJPB(CRFi{ctusg}CMC-7xXtEA=yB`mr56k|+&?9Cvj3PNb_Ivney5&4V z>vgtuh`+zYzt5C)$FTq3@O$UXmdmhTcCQkQ^{GODH`itg>dY)&?nsZxHwIHRsRQ^~sX!h_^E|^oqc*PeEUUZ2O41C4r2i5@D!w z|97i8G;UYcf}bMs)L6)8eT;KMB#uL!t46C~mu{9Cbs&Qe0`ERsEyU3scv%hW{u&57 z6FyI4eIxk3d^vVHsugUcnDLVgvlN^>!mqYI_dG*_9dSo3cRzrs;OUE>-9^?5hSIVfhvT!(hkjzEQM~ zF4hiy+F4~#$F4{>L-V%HPa&WMzC&NuO9~=Bc5_?w4_~s}I$G~5Wk5cBzyst{m-uBr zty7(sZl!tGsto#yTlE&y9^MZ7Wk-IVwhT#ih~(^oZi{K1IIWR?bA1@%qH>1=|NhW$ z_@!5*-V41;?(ucO+*_yvy))5rT5qQO1l*guuhCyr_a*3uYV&KvTUPF|n&g~+JeQ~) z$j`y|4F|z4QEk9>8kaHUdIuy>)uk`a0r_Ab?6R{L!(Nji8E~zO^Y6FB(>v%Z`nQ+p zmujO!T-4kbp`_3B8iY8@LR)$h@Ai~}{dUX7h1hQg|32II=sJgZ^{Mjm0HV?TBQZaH zAn&`sN(_zrj!)6gblLYfk3_2ez@@#P1^b8@eE+7NUKaIkFJ{1gCOQgsis?JhFU+(0 zmh{OX1CVF2e@9E=P0Q~XZ+&+H$MQv?XtG0n%EkH)C*pmEOvX7N=KnJvde)!jz7vxh zxc4J0>^1GKVP8Ay%X5+6@N-o3<)!0jo%)mkcDT=1R?t2oq7&yMU!_o*Hyi%fj;Jp( zAAXAU^#+ri9u|#!>6}r(hpo@|cZkRl-DzGOxyF9hYk_{DLQWx%`iHx~i>}7cnKOA) zA>Jl*KK9qkr*qw2I0fFSm5jU90=%nL5Z41T-!#;P%UzrEwsG+iveRA9jX22y2DtZf zEb?Rz9qmc;y2?T56CvkNH?s1f@ieZgG(o&YqhXBqRNte{+<$N3r`fo67x^X9F4;oz zqQY&&&o(Iydv%SN%``46r$qi->Wc7F<=-7n>txH$=+~}$u}zTs^yTxwCQVS+?$i?4 zt^X;&*Abcc^K_H%6Z`vU)GAu1Mm<^vx_9SV(7O9DukPI18BhC!PT{x}ZGbv(#SX%5 z+i>wuByT@ega5wFUx@dE4z;C{5%5xvd;k;cfa%B?Q(suE#TA7LZAQtO8f5c zu8OAZr58~F=~50L9RxwTkOh?9dzGaLNbk+S5;_Sn1rh=&OG)UE3IPIH0)imDOFeX@ zN)@T!Z|=$aUXOmSe|+!vJQvrxvoo`^GxyA%oZmTnT*nQ7{Jre3Lyvp_TuD<7>#+;? zJMTI^Bm8QsFF}2F#^yrY&Gc=+ix&4sksf{g0OIPD3jv>**O=G&8-L%^Dar4J+T%wp z=Dkr2I5U|a@20+6XaR8MT#H+Q@fGJd-nW9G$1dgP97W^bIiG92+L-E*lPgLw4!?el zIJu)L$$pdOG5#7Ow)IYWNN6v#nGr$jifLLYlzO=20$;oA6d6i7s37 z^YG4`!QgY(RO0nYK7U=6TyIFf`~9qN@EO zy7TkBB&SMei=bAF)!#M+pObY0<9d?sVj5Q! z_kRQLf0xr{?bw(2?M%Mj zvd>Gge||629(oG>fc2RE-(vq3eaEB{-9&u^d-P&{{@JNDZK#)ru1hn{<%8wOca!!U z_Bpy5@F6PaLA>1om4JV>HxaFFa0UA8*)YCNdzKaZlev0qKIwHQwS>HRoW5VgbXrYz z*fnd}-kK46(9iO44YhJ|ZP;lyeFDGefMSS`)AjXS8aIR9p|0sdiNKX=(K5!1KlhD)?r0XhD49 zNgC#J?sVX|kI#WP%T0gn#CVT`VbnS{3G<87EjiEDRYg9DM|D?|KJlQ<65^BZ_57pAv7+!rLbRO*CIb`Gk&hrS;yyn>d*PyQ2CsnyL6@` zE`|K$SlHvf;rsV?dm(S4+iaJCPqSq#aOFmfLw=}(`xnu;J3pB5v-R#Wn%}%F%zPKT z2TF=MYaqz45oOeciD%Zz|m%Fwz>Yxhy47jnChQ~pV z;B#%<;|qq6K4;aaJ=EGd8BjmuVZLu=5`x2sUkC7e+HQ$VqlizJjYK?UlM*R3?y5Xk zk9qa+PU@=;-@>0x)FNC@3-3>1m$}&i>yyqWz_+c>zoR)1a_oVee#>>D#4o_9^*?Z^_qximp3XBF$q??NQ?Jqqszvvrd~#JJAjgL-0eO<;dL zToq39>S^8i`eWNz*y#k7SWEM%>(}PexM{Iv4YhJ_7U)yc)3(vLj2#J_h|3>tp>g56 zAJ+q>|7VHVv5i{$9sjQH#QUJ$$a0BONlrC6ig<|IGhvTiwHx`Y3oS>UOW}k3FfGfY zPTS-#_*LF-vz_!hqrZVYPSLzUq|ct=bJE?!+rYm)T`!I3+J7H#CZdKXQr~^gIMLZk zOr*YPm3M|0(H9=~r`B$%4LsP4>F1nn;_n5hmLI?m;`|NdxvkR+`Q|)6n@oD_q#)E0 zckrm?q(|fn1fEr0U*O6-Yyw=nyZOGX+v+vqCBJLellbNS5zr$$yuiBLZ2gd*;#9H4 zq+idx0G!w_2Ky4fn?KVE$nD~NO2jOHA7sH#XAr*=w=n{8ud{a}J|mM6e>>s;<`Knq zz%KjUu!Y2@7CZ$Gob7)hPfeYHu;1Oy?=3iE!hkn-XJ_Pt^LwLc(rb5p7(?=Mfq;LV zusE#WPHYiRbW{5j>peLF<7&d?BWo#wPqi6oibt~^uUdO{H+1C|h7MjYCT@n_T6u2v4`UqUhDkG#sy$H@Ja1BlN#7K*y%w#_ky`sVl( z#LaZB27ici>tLry%s3PJTY3djYr~rQqIOwM1AMlr~So>W=4_)>dgM4$d$01I-ZAHxQEO~=g8XZFVOwJ#HOZiO~_(d<^ zb3m*=pZlZp9S9{p)igPY<}*E-!0$GGHs|RA&O7^i{b<;8t~hXGWfJxQ(eVgyEFSW8 zjr2JVyPTjv;KsS#Hwt>c;rF%OH3_rPk5aJ5%f-BK$PfNL|Va4gBo_M4ZJyr_2v`b_jj>@%Xm zMfgKSFNeSE{(acDb%&gchyK|x?#6oq&-PFLo{Q;yJec&lS02GH?s9%^&>kv_M z@5{Nqgr98g&Dgiyl-A404&5ivlDvpcZB4DZ-Uj+rQYhp^96vAaZc4u|8}TRd!MS#X z>+00D@TVU5j`81^_fNI)82m5ho&cXp+s-)2;KjI}QXrY;cQ>qppWMOO;6GXA$`05y z>-_*~oeRmZTMWqpe>r2gK8i!*px-^%lH(isB#P{Ju2e_goSuqxIoq$We|~8*0pmXH zlc=>(8Ml&t(S9A{;rMIB$9*~+_R3Ye!LP@sAg^q8er{WT6S|A!OpOxJXm1=a)VhnC zGd^+|~9V zbz?D)+CuJw z?B+z+ue0<0c2m57H}UCH-s@@Hjk=ydty4K;9JT6$TDYDyr|bPdef=(GmzSqC+i$|3 zwo8LZ>dVPl_qujGW zL^nkzU>&wYB-?YdXejA1{>PBVqM<~*Rh3ProJUH%s0s-8cu z5B(7p1E9BMS>&z#_2>ekixM9IH=^lr#9xj}X+nIu(oNJ`H7VB`>f0u5P>)2Fp2!zx z1fQeq+ScLFd;K%yr``42Uh13AGQyAMmk}I~#|NNam-L5UbdlAFgQ@#7>zlt3{*{Km zx9GlHy%KuoXTUxxK7SbGMS3I3GY)gLfgX2J{AA*D`VHPm;MhCb(RPRuLk z*d@g04r+pR*d85Gw{07K&qw)f09{_K0e_1jn-N!ABLUZeu6J|n5Bdnd*Qk9?{zUVb z0sI|QyFC}`ge~_w^r~I6QTOe_H&cmEJxYHcW_@|YMRuybA9nVShkb6)F5p?0=ilY+ z`dwI`Ey3r+Y0vFm@L!%VKGma7PizZ6xWl-v+2VVmLI3z; zl6TYIVjf#?Jo47D^I1>ZWcW?)_gg`HqG2THV!=z)Su=3|KBCL;&d6Kms|&!H`osWN zy36P_G>>|nxR_eI|6we(&XkU*|6<;2;MP6-6nQ6yt>pMU91fhw#TVgUyCWnKasyk% zP%CZ?`x^S5U4}lp$$K>Q_0#m{5rR@J_^vHOyxpU-5jS_yVbn*tw-xfq2~R@)skJwd zr`A7n3dyPUd$vK}-cjAXJbmZpwYAiD#>N7l;!p(Q=?u8Cis)iLf4|69xxw{!TTjlT z{DqNM`fh37FYiuYOZv=r#SjnoTn>z@p!DbBm&osF+y;+=Kjph)T;Epl{U0?u4Ryqw zFbMcCi3?C4on~3!2lu58A$#P}48Xmt)12#gkD@z3FUR*WWz;FuDd&&G0HV8_BT)nUz`Cx{ zt7}pB)U{`bhw}L}JzmXx$xa=}=T5q}f8{z6pB7DY=jIH?>E%XPuWr~G`@R{MoAK2> zHktVBM{N>m9w#C@=%jNnpvlzg zBKLtSQ)VvWsSoZC@$%5!V7}gvcg|yd?zyOFqB~)cTo-F)!n~sOzA2nZ)L*Cf24Y__c|H_b@dAS31*KPc31od72Vc>H*cSHP~PgXAiU%&>& zN7=_Ks4vIN2R__sZ?<`np50Fo54Dem++rHJZC!T(Y3C^ukuuNv}#29ck2!&qHm`N#KkCnuEJIrfV$|s znho6OTXPT}IsZH0!}EO-#M?Pr*oX8xVSH|ndpU6%^;P{}BB?d;W7yBG;ke&E6-ab9 zobh13Zio7AhDHK!_Edi0Sl%xRzo^QOc|GkS5MOmuz#nqTu2?UR9^HEe{9w;?o&mid z^6x{s^(@${f;Yn7PHaBpfnIqLcId3D4`(M2miw6^-XAmTUIr=vc|oDX(VUwO~-rq*d+0{)SC2QyCQ zCjxKol%@vb1xA8y?jMUw_3(=)KkQ-ouisqFWV|L&c8TZwKr?wm(* zwsOWr=ohHGgjzTAtQ2bHhqv@J9bcI&qM_lR4ApF4M=ih@s#AGDbCDZk5H zkJfzx|ET)i;YaJej_vYm0Xt-#L*X=!ZqgxwS|@etCX$y)F9WF6J36wzO1A*MM2dawJh(Cb-Gu4 zfP1H9C&b;R%|Ktj--cEU8VUdF;PHD&kI0ihf#%Ukm9cL3+arjRJ^TiCi6?&O%NyhP zI-@0jM_ye2VKK?ON3$T0MM@&$C?x@Qxg&hIf3@W<(yu;Gi=x)O%fE-}TlM=>-*zm8 z{B>WYe@|u0rkSKy`)TOWRXcFLthpRWbXjo$^1}2w5J`P=y$t-KmdA2kKin*q=x*ij zP&ZXdGhScxKIE}`y7xpHw-NsEhjW_WODab2U*9%3HT z=>AH`U*~$OYeysR#4ojgQ#I@w@GdjHMc(V6(a2xBj?c}I`}iCXQ#C*G%9MWreIl?3 z@N3po!@AtzS7(zwYIHWnLAFm}uie4l|59&yVZEZrp(L`$J=zHNxxbvie6mc>B_uEW zkAyQG@%#LGy3EfafoCbF|Kf2E!MdRjL1?(s8{HwU0baKvw{W9Z6{uocWk9>AU zavWX1EL&1Na&li)Z;Zc>VL#lN0{p7*V@qk=j`@)DJC*N~s{;J@kj&dZkj7Q9UciH{ zGa3H2uh+1>9r?W+1>360*1l<|5D4FC$jeLlsSTX~6vyJ-0UhT`zv)a;&;7{!p zfVk-aRi;5t*aNK7nfD-t^f+Jf_cgWq1@L4~?u#S3^>z}ebyppSeP+>N_)Fd9=NX(% zr3R5cxu*m8-Pw2HfBWto{Or0Lu>Uxdn$H2>On>&jD%_6r>gc%n)S4QP5r6$IC7k%| zr?(Mb5j+8P)Ct&*`0Kj^2hzBHUJ!M|6nlv{i{`%2EC1+<_^A9X+0HD9T$k#PM19ad zEl8jLPv*1DL3hXhl|**9l{2v)uXIM==;iQ_*dX@OylT`S;6jh&=V0vUk0Xfg1oVw2 zd2whN@+!=4W|*LrP*FHbLLRUuxVStivhsJ^UuChsI%^FFG)uAGAfh z?aUdd=O%F-^ofH#5f@vhDX*_KzfWPm3d8zD%Ftby|ECXl-Pda)-XhB$;9jgPjQn!$ zwfKSf+{=gHN9V71nBT5w4|#j>r!d&ly#eCyTpG3%{T6Mxeu_(2hkn~Ml<4B?Pm-vW zQBC0wJzy>Lx(R{ETla_#rg0s}_wR*oF|LcPW@26$*B|~+uhZ{me`kS56VKl#(%m`( z7dGaT7}8@eIlS*as)l&mDYb!j^IbW=RGMc-9IjuTjL#5n{bkq^l2e;&E~i!u=fCgV zYkg3^&FD=LBxie`f#00%ul=d-))~e)Yt_Stea6^lk3)rIG~ zsqYk8pGy4Jx9Aq?>q=?RYwkoXpuYH;_eWW(A@F7Ud*gaX^v;5H%f4;bg0E3|#9xH) z{Q{MX??cW1R@EZ8Af$tG7T|5qc6n@@5rcPoqeouX%vm-5GPXPcvY`FY4rYW3yez@d0Cj^py>P3UzxPD31RvxTd@JbX^I+}N+|?mLl? z3w(gTA7uOD0W>ad@cHhxFkipv=6-!3*EapRfefp$URC8)5Xp;72Y#S&vo`^LR>eD^ z4wz0c$V+j$G4jZi&$NU1Ra9lP@IH>+l^kpQ-s}3ejy@{`WiM=U=!vWm@fqL{n-P4lQV~59}*LWV?Clw zNBG5k?8Sb_yQ%~6o9X||)>y)qkW1;_WHu&3?`Vi}I$M~Q=X&-OYD`$h*LVTj> zR9w$FpV0o>c1t+76l zFB9VGbiENq{K`aN9~7?}VBgY{cK8!rEWZzXbHZQuf=&N?$z2#d}>ogtjoPrCKCEK zwAf0moL_7u+EyLmhSvHOFGd(-%h3&cycol|!x3ONI#?ZWOyZx|3be)ZQr>DgHLFZq|zls6B>c_u! z6Q9%Y-cqv51oL|!_Gt+4s5bF+fIId){9;Gn4J1C%J7qSt`iKj^$|;TE7g_ij)}baj zSf{9W81`DPT!A!?YLgXu%usLOL=G9ejOa4@7V=*|)B(_+Cm+_Me1}C)-`Ttj`KLc$ z37qH(8td2X)6buHm>ak>*%N>d)sx@Xamq9ZB6+>O1^CTY{yonbGXnbUpkqAmzt6o4}=nN|{zv*!g__tg6xe$}mEsFS^?tKssaYiCv zos&(F58`=US3ydXw#w!l_EJn`vfgR4MZJ>wvq7JH$)6bP&caih6(Qd3uPbl4z_+^Fv7!N2mC&kS=$tLt5V}pC&hw$ z*yr@cWZ0`?I!^VXd7^W3ysO^8xGA{No9Oy{SN8ACNW@h)Ohmo2=i74KYPKBvqrDx+ zaj!c9`D`nN_9uB+Y$W^ZN+{zjxGC@?@^(qWybm|dM_c9&_FMHPEsXlk+I_4q`X<(| z<{QM(ea`1!$Y1~K+@VIpQpx@uxmj=3oSmqzx(;9*{N4m{a&A8bZsf@4hV;v0*;W&u z$x{mP(MuPtBDz=?igD-Sq8J(%zL!FYZeIr_QmcQfgt{R5@pFK#dyB7YW*tex_{8J* zd&aD+A548&v_L{Cwa{K_} zL$8x37wV3)KmECbnN={a?K=s$)tmCdUUMP$T+(NfZ?pay{GBf+VjtsY>?GhtH&ckO zY+41lbo-_)N~QJ9m3Sw>ia2Jhpl=Leb0HT?Dwqc?}`1K5&0_n zz1>B2ID5Cje)ZUk>xcJmh`WB@j_a21W#C7*s0aVMYm$LOx8o^Z_kosMNROU|fnOsIP}?#XLG-CGylcJK;z0$ME|HcFSK_hiN?&>lG7bp2VX8kfrlb6je+j;Fqk=*jE({1D<|Z)fIs^|`NU+*ObKsI`562HsTRUBJEhp(^T? ziF&|z8M+Jj5T$psUDtMEUFuNscIc@-3x0A3m4x4A8-D)6SwDvPiM9-tagtvL|OI%xF;e!_TKF-X3*wLT)f2jOpDy=K(1CGbZgRnh|euCawpMEV&7Qs?|p>zsnpxpS4HJu z;74?67EI$dh0oV@dZ$0{5^_2m^3z@*-f|M3Ct*@%z)ro0-(RrJilVOB=No;9-;F+r zc|_PlN>O#0M^AI=9~3x2Lu$40{6YS}&D*lqM=AMx4N zGoZ&c-pF53cg+lzd{-QJ=-&zA40KPi4edVai;0LvZL7hZjP8+>}d* zr@Ljv2GZ;7N<`l@IhcZejxLbby&9qJn~k%AX|}p=r{mdq%lpOh+mR%% zo2}VPtvf9oepk1`fnzr?{ki5QHJ4$0)VWHe*UcXcJLJg)Sg&}Vg1i!YR={raYU4!W zlPU%EQg$lWj{452+)0pMz6<%R`h`Q@Rvowk^r2_!x_Wi|S;_D}5B#aSar&gQMTky`Qn4(Qb_ z`FUk`-X_>#f}6rF_v;EfNsqlfkoBB=y9#;>1R`!CTXxRh*^Ram-B~&xI8jNh#*%)g zuOI4}{c|e#O{GqVyKVSKH1X>XW}tpJr9Q%Xouxl*huo&&m`@eAsnj)~H>Yy;a{ zVaHsOw|Oe?{<4hEJ6DlqIWODQ0o^gLmqNam#=2CCZ#4Doi5r+-^a+7~wO?`Od-P}t z>2(^VzZWcr&mw;J$|}s~2IRx_j~>R)8M~Q6A+PGLMLjX!HmOMRdi8Idr&anOPWs6U z)DyWNw-4!4n$OMD^&ewhD#vR>bh~gi`nKd%_)TO>L>+aa`J89x1HpOrhR>hZ{qHZN z`Q-Kad_7c(&$*Iy9zou`I<=MbI!B+vzj7~s-$JCHx2@0ZM!uV|L0FfG?D9S7GozZq z4tHk{#8=jD3j9c~Ul^~W*X<%cyXgXtEsb`V`H8Ub9ZZ}@o*+p&NmJEfk8xY)Ua;1~6#AnR>-bUBTyS`GG)yt}Y4aHHZ& z0{60QX08iGqNamy+hN%6EZl~9^|DChpM9|f@@niQ;6w!;!oKU)&CB(!lUFS1mvz(c z>-}CB`=(scWIgG1*YbP0Zp z;&)Q3f6Xz8T9a@W@v}WA#E_gUlZp4w2Y)UG-%sI)i|szmoBC=F-)~aCZs2@-UlH+B zFN&p*yr}m+nfRRfkI<^RV}2mIGmXDPDO;Z6{bljZ+2C8(6S&sX+rVz?@70~?Y6IWj zlB)46WMXDUxezB?t-&!>-1f8McdnFY|_n(wQtHkYwqx!204 z5nVR_8tZfi)yKNcmaRV!U7gOr*G;|odfL`K5C7S(pD zm+GPGv-ugn;m43)s?X>oqN@|5fh)HVf5%u3Uxd68g@?euGV7CBq}MJAiX(m-UL}C~ za@>I*sjnxt;qgxC*DtH>$%5+P7>S77ZD<5R%{p=1uf9H zx%~X7J-RA@_{57B3#fI+vNOX1JbL5R2R0DpK zjSHSaM(5fpJ;uJNQraeg+)tU-KnFfBhP$%l7W%<r&e7^|2wPJLHI=%eTaHuLRtVv z`p|5|$y{3iy=rAY^zAi%{zabQ^N`f@gmt7(m*C$AoS#R8WB$=qQ>fMZ(!cAJIv)A% zId5kP_?vu{G`wR~YMudS~YLgFkG^kr=ms zMIavfS^7EccE&QANBUhvo{Lsq%y(rq>=PsTIU^H11vqx&Q=w1(J_~j^bN3>D+-7(8 zK~MWuz_;^00dz5#&kd5v{9J;2YT5Qw&wRQAzZdBg85m7{^WzQRR}376eZn15iR1IU z@gN%a{9c$utsC|c;%`n=4}zW<%Vv0yKA9Qoa)0_cgy{0X3WGNH4cO`S90>b7=dU#Y z|Ep-=#%(+uI2T)*VcpKm+WSaOM6bhq&hCo9rQKNv^Qu9gEG2of=1b(clljm(ulB97 zWk2!f{xY7Y(LI)U-qC86DYFpSvwM2~_+LR$Uo;&$zVoQD1BUc%KV>|%RR{JP->+)T zrj2Whp8vc5c_y*mA0Yok|2`39zj@dI@p9_+2Tt^Fr3VsS=b6I$#(?V^sV_^jf7C%f zzgKU~H5hzq-U=_zxH_C^D7Eg&Rm+I(_KAicox%IiS7Yl_SoV4 zJhsidBMN#He}~Dv)Btg`w{kIV-dFvB#+`nzQBU;O;~{TC`d}X0VjKQ`aSDIS_^ne3 zcyM~~b&YAX2KKv?7jfK6HUYnRmjrz2NyCO8E|?Ye>K z`N|~#e`g8@k;=;a(-MyD%HO|i(eKY?9spf4gPBX|KU%3-Zvh09L<&S7!_Xn_wRNT64n3j zIy`aE*l|NgjcnTZ^Z&;}Tq7rTfXKmJ(jDNLIRpLYfA0ZrKPcRD_y?Y+={)}m)4<>U z_do6kpN}3k{GVzToI2gQd7+Gg{uTV2iWHCH|4~iVYX4M{XGw{sg*^Kc{rkI;?w@7+ z7bRc(Q%OjHgl8ga20{P+uH?7!|E8q+Kb0)3JEY@(Vdn2j+E>l=FP7B!r;`8Nc>k{C z_!s}Cr z2NVna4JYUSCnf2?Z{I3w*2?MJ#WPj;Z@HZ5|Mg#O5}@t*1VVBqjCka-(SKyy$$bwh SJPD8`E75X#{!jeO`+orRSUPS1 diff --git a/examples/mliap/ace/Ta_example/Ta06A.ace.pytorch.mliap b/examples/mliap/ace/Ta_example/Ta06A.ace.pytorch.mliap deleted file mode 100644 index d2f6c4fce4..0000000000 --- a/examples/mliap/ace/Ta_example/Ta06A.ace.pytorch.mliap +++ /dev/null @@ -1,18 +0,0 @@ -# DATE: 2014-09-05 UNITS: metal CONTRIBUTOR: Aidan Thompson athomps@sandia.gov CITATION: Thompson, Swiler, Trott, Foiles and Tucker, arxiv.org, 1409.3880 (2014) - -# Definition of SNAP potential Ta_Cand06A -# Assumes 1 LAMMPS atom type - -variable zblcutinner equal 4 -variable zblcutouter equal 4.8 -variable zblz equal 73 - -# Specify hybrid with SNAP, ZBL - -pair_style hybrid/overlay & -zbl ${zblcutinner} ${zblcutouter} & -mliap model mliappy Ta_Pytorch.pt & -descriptor ace coupling_coefficients.yace -pair_coeff 1 1 zbl ${zblz} ${zblz} -pair_coeff * * mliap Ta - diff --git a/examples/mliap/ace/Ta_example/Ta_Pytorch.pt b/examples/mliap/ace/Ta_example/Ta_Pytorch.pt deleted file mode 100644 index a76008f3421eb45ebd7fadc2bd1d85a2a53482ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244585 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

p7fP8h^yP$crmSW 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 SJPD8`E75X#{!jeO`+orRSUPS1 diff --git a/examples/mliap/ace/Ta_example/coupling_coefficients.yace b/examples/mliap/ace/Ta_example/coupling_coefficients.yace deleted file mode 100644 index d08374475f..0000000000 --- a/examples/mliap/ace/Ta_example/coupling_coefficients.yace +++ /dev/null @@ -1,140 +0,0 @@ -elements: [Ta] -E0: [0.000000] -deltaSplineBins: 0.001000 -embeddings: - 0: {ndensity: 1, FS_parameters: [1.0, 1.0], npoti: FinnisSinclair, rho_core_cutoff: 100000, drho_core_cutoff: 250} -bonds: - [0, 0]: {nradmax: 12, lmax: 5, nradbasemax: 12, radbasename: ChebExpCos, radparameters: [1.275], radcoefficients: [[[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]], [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]]], prehc: 0, lambdahc: 1.275, rcut: 4.25, dcut: 0.01, rcut_in: 1.2, dcut_in: 0.01, inner_cutoff_type: distance} -functions: - 0: - - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} - - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} - - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [3], ls: [0], ms_combs: [0], ctildes: [1.0]} - - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [4], ls: [0], ms_combs: [0], ctildes: [1.0]} - - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [5], ls: [0], ms_combs: [0], ctildes: [1.0]} - - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [6], ls: [0], ms_combs: [0], ctildes: [1.0]} - - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [7], ls: [0], ms_combs: [0], ctildes: [1.0]} - - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [8], ls: [0], ms_combs: [0], ctildes: [1.0]} - - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [9], ls: [0], ms_combs: [0], ctildes: [1.0]} - - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [10], ls: [0], ms_combs: [0], ctildes: [1.0]} - - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [11], ls: [0], ms_combs: [0], ctildes: [1.0]} - - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [12], ls: [0], ms_combs: [0], ctildes: [1.0]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [1, 1], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [1, 2], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [1, 3], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [1, 4], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [1, 5], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [2, 2], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [2, 3], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [2, 4], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [2, 5], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [3, 3], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [3, 4], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [3, 5], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [4, 4], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [4, 5], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 1, mus: [0, 0], ns: [5, 5], ls: [0, 0], ms_combs: [0, 0], ctildes: [1.0]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 3], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 4], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 5], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [2, 3], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [2, 4], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [2, 5], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [3, 3], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [3, 4], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [3, 5], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [4, 4], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [4, 5], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [5, 5], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 3], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 4], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 5], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [2, 3], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [2, 4], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [2, 5], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [3, 3], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [3, 4], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [3, 5], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [4, 4], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [4, 5], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [5, 5], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [1, 1], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [1, 2], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [1, 3], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [1, 4], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [1, 5], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [2, 2], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [2, 3], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [2, 4], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [2, 5], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [3, 3], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [3, 4], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [3, 5], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [4, 4], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [4, 5], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 7, mus: [0, 0], ns: [5, 5], ls: [3, 3], ms_combs: [-3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3], ctildes: [0.3779644730092272, -0.37796447300922725, 0.3779644730092272, -0.3779644730092272, 0.3779644730092272, -0.37796447300922725, 0.3779644730092272]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [1, 1], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [1, 2], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [1, 3], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [1, 4], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [1, 5], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [2, 2], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [2, 3], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [2, 4], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [2, 5], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [3, 3], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [3, 4], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [3, 5], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [4, 4], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [4, 5], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 9, mus: [0, 0], ns: [5, 5], ls: [4, 4], ms_combs: [-4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4], ctildes: [0.3333333333333333, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.33333333333333337, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [1, 1], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [1, 2], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [1, 3], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [1, 4], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [1, 5], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [2, 2], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [2, 3], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [2, 4], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [2, 5], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [3, 3], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [3, 4], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [3, 5], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [4, 4], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [4, 5], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 11, mus: [0, 0], ns: [5, 5], ls: [5, 5], ms_combs: [-5, 5, -4, 4, -3, 3, -2, 2, -1, 1, 0, 0, 1, -1, 2, -2, 3, -3, 4, -4, 5, -5], ctildes: [0.30151134457776363, -0.30151134457776363, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.3015113445777637, 0.30151134457776363, -0.3015113445777636, 0.30151134457776363, -0.30151134457776363, 0.30151134457776363]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 1, 2], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 1, 3], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 2, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 2, 2], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 2, 3], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 3, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 3, 2], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 3, 3], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [2, 2, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [2, 2, 2], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [2, 2, 3], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [2, 3, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [2, 3, 2], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [2, 3, 3], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [3, 3, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [3, 3, 2], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [3, 3, 3], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 1, 2], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 1, 3], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 2, 2], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 2, 3], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 3, 3], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [2, 2, 2], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [2, 2, 3], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [2, 3, 3], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [3, 3, 3], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 0], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} diff --git a/examples/mliap/ace/Ta_example/in.mliap.pytorch.ace.Ta06A b/examples/mliap/ace/Ta_example/in.mliap.pytorch.ace.Ta06A deleted file mode 100644 index 1f70422745..0000000000 --- a/examples/mliap/ace/Ta_example/in.mliap.pytorch.ace.Ta06A +++ /dev/null @@ -1,53 +0,0 @@ -# Demonstrate MLIAP/PyTorch interface to linear SNAP potential - -# Initialize simulation - -variable nsteps index 100 -variable nrep equal 4 -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 bcc $a -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.ace.pytorch.mliap - -# Setup output - -compute eatom all pe/atom -compute energy all reduce sum c_eatom - -compute satom all stress/atom NULL -compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] -variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) - -thermo_style custom step temp epair c_energy etotal press v_press -thermo 10 -thermo_modify norm yes - -# Set up NVE run - -timestep 0.5e-3 -neighbor 1.0 bin -neigh_modify once no every 1 delay 0 check yes - -# Run MD - -velocity all create 300.0 4928459 loop geom -fix 1 all nve -run ${nsteps} - diff --git a/examples/mliap/ace/Ta_example/in.numdiff b/examples/mliap/ace/Ta_example/in.numdiff deleted file mode 100644 index 4813966a68..0000000000 --- a/examples/mliap/ace/Ta_example/in.numdiff +++ /dev/null @@ -1,76 +0,0 @@ -# Numerical difference calculation -# of error in forces, virial stress, and Born matrix - -# adjustable parameters - -variable nsteps index 500 # length of run -variable nthermo index 1 # thermo output interval # was 10 before -variable ndump index 1 # dump output interval # was 500 before -variable nlat index 3 # size of box -variable fdelta index 1.0e-4 # displacement size -variable vdelta index 1.0e-6 # strain size for numdiff/virial -variable bdelta index 1.0e-8 # strain size for numdiff Born matrix -variable temp index 10.0 # temperature -variable nugget equal 1.0e-6 # regularization for relerr - -units metal -atom_style atomic - -atom_modify map yes -lattice fcc 5.358000 -region box block 0 ${nlat} 0 ${nlat} 0 ${nlat} -create_box 1 box -create_atoms 1 box -mass 1 39.903 - -velocity all create ${temp} 2357 mom yes dist gaussian - -include Ta06A.ace.pytorch.mliap - -neighbor 0.0 bin -neigh_modify every 1 delay 0 check no - -timestep 0.001 -fix nve all nve - -# define numerical force calculation - -fix numforce all numdiff ${nthermo} ${fdelta} -variable ferrx atom f_numforce[1]-fx -variable ferry atom f_numforce[2]-fy -variable ferrz atom f_numforce[3]-fz -variable ferrsq atom v_ferrx^2+v_ferry^2+v_ferrz^2 -compute faverrsq all reduce ave v_ferrsq -variable fsq atom fx^2+fy^2+fz^2 -compute favsq all reduce ave v_fsq -variable frelerr equal sqrt(c_faverrsq/(c_favsq+${nugget})) -dump errors all custom ${ndump} force_error.dump v_ferrx v_ferry v_ferrz - -# define numerical virial stress tensor calculation - -compute myvirial all pressure NULL virial -fix numvirial all numdiff/virial ${nthermo} ${vdelta} -variable errxx equal f_numvirial[1]-c_myvirial[1] -variable erryy equal f_numvirial[2]-c_myvirial[2] -variable errzz equal f_numvirial[3]-c_myvirial[3] -variable erryz equal f_numvirial[4]-c_myvirial[6] -variable errxz equal f_numvirial[5]-c_myvirial[5] -variable errxy equal f_numvirial[6]-c_myvirial[4] -variable verrsq equal "v_errxx^2 + & - v_erryy^2 + & - v_errzz^2 + & - v_erryz^2 + & - v_errxz^2 + & - v_errxy^2" -variable vsq equal "c_myvirial[1]^2 + & - c_myvirial[3]^2 + & - c_myvirial[3]^2 + & - c_myvirial[4]^2 + & - c_myvirial[5]^2 + & - c_myvirial[6]^2" -variable vrelerr equal sqrt(v_verrsq/(v_vsq+${nugget})) - - -thermo_style custom step temp pe etotal press v_frelerr v_vrelerr -thermo ${nthermo} -run ${nsteps} diff --git a/examples/mliap/ace/Ta_example/numerical_diff_reference/force_error.dump b/examples/mliap/ace/Ta_example/numerical_diff_reference/force_error.dump deleted file mode 100644 index b097c187da..0000000000 --- a/examples/mliap/ace/Ta_example/numerical_diff_reference/force_error.dump +++ /dev/null @@ -1,234 +0,0 @@ -ITEM: TIMESTEP -0 -ITEM: NUMBER OF ATOMS -108 -ITEM: BOX BOUNDS pp pp pp -0.0000000000000000e+00 1.6073999999999998e+01 -0.0000000000000000e+00 1.6073999999999998e+01 -0.0000000000000000e+00 1.6073999999999998e+01 -ITEM: ATOMS v_ferrx v_ferry v_ferrz --1.70003e-16 -1.70003e-16 4.44072e-12 -6.93889e-17 -1.5786e-16 4.44074e-12 -0 -1.85615e-16 4.44071e-12 -0 0 4.44075e-12 --1.9082e-16 -4.33681e-19 4.44073e-12 -2.80158e-16 0 4.44072e-12 --1.5786e-16 6.93889e-17 4.44073e-12 -4.98733e-17 5.0307e-17 4.44075e-12 -0 1.05384e-16 4.44072e-12 -0 -1.9082e-16 4.44073e-12 --1.39212e-16 -1.39645e-16 4.44072e-12 -2.43295e-16 -1.62197e-16 4.4407e-12 --1.85615e-16 0 4.44071e-12 -1.04951e-16 0 4.44072e-12 -0 0 4.44069e-12 -0 2.7929e-16 4.44072e-12 --1.6263e-16 2.43295e-16 -1.89085e-16 -2.60209e-16 2.59341e-16 -2.01228e-16 -0 -4.44103e-12 -4.44089e-12 --1.9082e-16 -4.44105e-12 -4.44089e-12 -2.80158e-16 -4.44106e-12 -4.44089e-12 --1.38778e-16 0 -4.44089e-12 -6.245e-17 4.33681e-19 -4.44089e-12 -0 0 -4.44089e-12 -0 6.245e-17 -4.44089e-12 --1.67401e-16 6.54858e-17 -4.44089e-12 -2.63678e-16 8.54351e-17 -4.44089e-12 --1.5786e-16 -1.9082e-16 -4.44089e-12 -6.59195e-17 -1.66967e-16 -4.44089e-12 -0 -1.71304e-16 -4.44089e-12 -0 0 -4.44089e-12 --1.7087e-16 0 -4.44089e-12 -4.44113e-12 4.44089e-12 4.44089e-12 -4.44072e-12 4.44117e-12 4.44089e-12 --4.44081e-12 4.44116e-12 4.44089e-12 -0 4.44113e-12 4.44089e-12 --1.5786e-16 -1.5786e-16 4.44096e-12 -4.98733e-17 -1.45717e-16 4.44094e-12 -0 -1.73472e-16 4.441e-12 -0 0 8.88185e-12 --1.67401e-16 -4.33681e-19 8.88185e-12 -2.63678e-16 4.33681e-19 8.88187e-12 --1.45717e-16 4.98733e-17 8.88183e-12 -3.03577e-17 3.07913e-17 8.88181e-12 -0 8.54351e-17 8.88187e-12 -0 -1.66533e-16 8.88185e-12 --1.15359e-16 -1.14492e-16 8.88185e-12 -2.27249e-16 -1.39645e-16 8.88187e-12 --1.73472e-16 4.44089e-12 1.04951e-16 -8.54351e-17 4.44089e-12 4.44098e-12 -0 4.44089e-12 4.44103e-12 -0 2.62811e-16 8.54351e-17 --1.39212e-16 2.28116e-16 8.84709e-17 -2.43729e-16 2.43295e-16 1.0842e-16 -0 4.44073e-12 -1.91253e-16 --1.39212e-16 4.44072e-12 -1.40079e-16 -2.43295e-16 4.4407e-12 -1.6263e-16 --1.5786e-16 4.33681e-19 -1.90386e-16 -6.59195e-17 0 -1.68268e-16 -0 -4.33681e-19 -1.72605e-16 -4.33681e-19 6.63532e-17 -1.68268e-16 --1.15359e-16 6.93889e-17 -1.16226e-16 -2.27249e-16 8.89046e-17 -1.4138e-16 --1.76942e-16 -1.39212e-16 -1.38344e-16 -6.93889e-17 -1.15359e-16 -1.16226e-16 -0 -1.19696e-16 -1.18829e-16 --4.33681e-19 0 -1.72605e-16 --1.19696e-16 -8.88178e-12 -4.44101e-12 -2.02963e-16 -8.88178e-12 -4.44104e-12 --1.89085e-16 -4.44065e-12 -4.44106e-12 -8.89046e-17 -4.44067e-12 -8.88193e-12 --4.44089e-12 -4.44069e-12 -4.44104e-12 --1.85615e-16 4.44071e-12 -8.88178e-12 -1.04951e-16 4.44072e-12 -8.88178e-12 -0 4.44069e-12 -8.88178e-12 -0 0 -8.88179e-12 --1.7087e-16 -4.33681e-19 -8.88178e-12 -2.38524e-16 0 -8.88179e-12 --1.73472e-16 1.04951e-16 -8.88178e-12 -8.54351e-17 8.54351e-17 -8.88179e-12 -0 1.39645e-16 -8.88179e-12 -0 -1.7087e-16 -8.88178e-12 --1.19262e-16 -4.44101e-12 -8.88178e-12 -2.02963e-16 -4.44103e-12 -8.88178e-12 -4.44069e-12 -4.44089e-12 -4.44089e-12 --4.44075e-12 -4.44089e-12 -4.44089e-12 -0 -4.44089e-12 -4.44089e-12 -0 4.44113e-12 -4.44089e-12 --1.42681e-16 4.4411e-12 -4.44089e-12 -2.2031e-16 4.44111e-12 -4.44089e-12 -0 -1.70003e-16 2.78857e-16 --1.6263e-16 -1.89085e-16 2.43729e-16 -2.58474e-16 -2.01228e-16 2.59341e-16 --1.70003e-16 0 2.78857e-16 -8.54351e-17 4.33681e-19 2.64112e-16 -0 0 2.39392e-16 -0 8.50015e-17 2.62377e-16 --1.39212e-16 8.89046e-17 2.26815e-16 -2.43729e-16 1.0842e-16 2.43729e-16 --1.89085e-16 -1.6263e-16 2.43729e-16 -8.89046e-17 -1.39212e-16 2.26815e-16 -0 -1.42681e-16 2.04697e-16 -0 0 2.39392e-16 --1.42681e-16 0 2.04697e-16 -2.18575e-16 0 2.19009e-16 --2.01228e-16 2.59341e-16 2.59341e-16 -1.0842e-16 2.43729e-16 2.43729e-16 -0 2.18575e-16 2.19009e-16 -ITEM: TIMESTEP -500 -ITEM: NUMBER OF ATOMS -108 -ITEM: BOX BOUNDS pp pp pp -0.0000000000000000e+00 1.6073999999999998e+01 -0.0000000000000000e+00 1.6073999999999998e+01 -0.0000000000000000e+00 1.6073999999999998e+01 -ITEM: ATOMS v_ferrx v_ferry v_ferrz --1.3776e-10 2.47272e-10 -3.28864e-10 --2.41697e-10 1.01804e-10 5.23161e-11 -1.05049e-10 -2.15415e-10 -8.92249e-11 --5.67845e-11 -1.42956e-10 2.87984e-10 --1.89563e-10 2.33915e-11 1.77797e-10 -5.64386e-12 -1.40725e-10 2.11666e-10 -1.79474e-10 5.26194e-11 7.01598e-11 --1.26354e-10 1.60715e-11 -1.16155e-10 -1.88433e-10 7.20246e-11 6.80476e-11 -9.5471e-11 -2.07041e-10 5.19479e-11 -2.38244e-11 1.825e-10 -2.83878e-10 --1.5185e-10 1.84394e-10 -7.86389e-11 --8.81272e-11 1.62343e-11 9.85176e-11 -8.94604e-11 -1.65739e-12 1.28668e-10 -1.54379e-10 -1.79534e-10 2.66559e-10 -9.45847e-11 -5.87442e-11 1.55227e-10 -1.15658e-10 -1.60218e-10 1.21751e-11 --2.80168e-10 9.90372e-11 -1.27114e-10 -1.11145e-10 5.18136e-11 -3.0418e-11 --9.83397e-11 1.73196e-10 1.15687e-10 --5.74285e-11 2.51531e-11 9.7697e-12 -1.42362e-10 -9.5646e-11 -1.73654e-10 --7.39821e-11 -3.20981e-11 -1.78449e-10 --2.51951e-10 -1.15197e-10 8.82936e-11 -3.35573e-10 -2.75032e-10 -3.1707e-10 -1.22688e-10 -2.27996e-10 1.47766e-10 --1.37771e-10 5.33214e-12 -5.85577e-11 --1.70622e-10 3.12829e-10 -1.08447e-11 --1.73536e-10 -1.02976e-10 7.83582e-11 --6.68286e-12 -8.49568e-11 6.82726e-11 --1.7133e-11 3.19051e-10 -2.68584e-10 -2.23857e-10 8.36696e-11 -5.43273e-11 --6.24681e-12 7.01483e-12 -1.35879e-10 -2.33202e-10 -2.00896e-10 2.73521e-10 --1.31892e-10 6.05411e-11 3.54368e-11 -1.6424e-10 -2.71671e-10 -5.86501e-11 --1.39463e-11 -5.81513e-11 -3.01565e-10 --6.34934e-12 -2.72284e-11 1.14104e-10 -1.12429e-10 -2.01987e-10 -2.18914e-10 -8.71607e-11 5.52618e-11 -4.93286e-11 --2.18783e-10 -3.32576e-11 -2.89466e-10 --1.67884e-11 -8.16377e-11 9.96883e-11 --3.33057e-10 -1.66266e-10 2.67318e-10 --5.82787e-11 6.04089e-11 6.6292e-11 -1.91093e-11 2.3181e-10 -1.96098e-10 -5.11125e-11 1.12249e-10 3.87786e-10 -9.09899e-11 -1.57395e-10 -3.16673e-10 --1.46917e-10 -8.38336e-11 1.12849e-10 -9.48542e-12 -9.77006e-11 -1.52892e-10 --8.43689e-11 1.94004e-10 1.03202e-10 -1.38461e-10 1.19281e-10 -5.49165e-11 -4.62478e-11 9.47571e-11 -2.00772e-11 --2.93004e-11 2.99581e-11 1.06484e-10 --2.49249e-10 1.32561e-11 -9.25232e-11 -1.68231e-10 -2.38684e-11 -1.64172e-10 --2.3154e-10 -1.6209e-10 -1.54156e-10 --7.44595e-11 8.23192e-11 1.09241e-10 --8.66415e-11 1.92223e-10 1.68339e-10 --7.12903e-12 -3.91225e-11 -1.46808e-10 -2.81078e-10 2.09221e-10 5.19054e-10 -1.33327e-10 2.87604e-10 1.85848e-10 --1.77755e-10 -6.877e-11 1.23268e-10 -6.54644e-13 -1.84329e-11 -6.09743e-11 -3.02108e-10 5.19683e-11 3.13886e-10 --1.66554e-10 -2.36886e-10 2.83899e-10 -4.30115e-10 6.74615e-11 2.07986e-10 -2.76612e-11 -2.24249e-10 -2.59811e-10 --3.65799e-12 4.70878e-11 7.68043e-11 -9.82275e-11 -3.51711e-10 6.80762e-11 --3.68015e-11 3.30873e-12 1.40977e-10 --2.32046e-10 2.97306e-11 -2.27689e-10 --2.04805e-10 1.72586e-10 -1.67954e-10 --3.9955e-10 2.92143e-10 4.21952e-11 -8.50465e-11 -8.00231e-11 1.11889e-12 -1.96812e-10 1.92032e-10 1.05057e-10 --1.12763e-10 3.7697e-10 -3.3687e-11 -1.98275e-10 3.73163e-10 3.62537e-11 --5.24916e-11 -1.05259e-10 -2.60468e-10 -1.17582e-11 3.79021e-11 -1.22134e-10 --1.22277e-11 1.49988e-10 8.18378e-11 -1.09992e-10 -2.9566e-10 -1.14248e-10 --1.50336e-10 -9.98117e-11 -5.42109e-10 --2.48108e-10 3.93239e-11 -2.61267e-10 --1.91012e-10 -3.2863e-11 -2.8852e-10 --1.54055e-10 -9.63702e-12 1.39615e-10 -8.58463e-11 1.00663e-10 1.28437e-10 -9.69413e-11 -4.0911e-11 1.61141e-10 -2.3482e-10 -7.52639e-11 -3.10965e-11 -6.72632e-11 3.32637e-11 1.44226e-10 -2.09652e-10 -9.75756e-12 4.6282e-11 --2.18177e-10 -4.11436e-11 3.03962e-10 -8.21879e-12 -7.75314e-11 4.52972e-11 -1.85027e-11 -1.42285e-10 8.0357e-11 -1.8043e-10 -3.69802e-10 -1.85688e-10 -1.51044e-10 1.85886e-10 -1.21116e-10 --3.83219e-11 -6.44858e-11 -2.28935e-10 -2.43517e-10 -8.0455e-11 -1.83719e-11 --2.93897e-10 -9.12731e-11 -1.7552e-10 --1.85963e-10 2.3358e-10 -1.2909e-10 -3.62023e-11 9.03903e-11 5.6199e-11 -3.06953e-10 -2.85687e-10 2.32101e-10 -3.24893e-10 3.94381e-11 1.91749e-10 --4.38448e-11 1.8545e-10 -2.72547e-11 --1.38376e-10 6.95532e-11 1.42392e-10 -7.23818e-11 1.65909e-12 -3.54841e-11 --1.47706e-10 -6.05487e-11 8.23716e-11 -8.60403e-11 -1.08309e-10 -1.21542e-10 -2.60305e-11 6.84718e-11 -2.40918e-11 diff --git a/examples/mliap/ace/Ta_example/numerical_diff_reference/in.numdiff b/examples/mliap/ace/Ta_example/numerical_diff_reference/in.numdiff deleted file mode 100644 index 05c47d8547..0000000000 --- a/examples/mliap/ace/Ta_example/numerical_diff_reference/in.numdiff +++ /dev/null @@ -1,72 +0,0 @@ -# Demonstrate MLIAP/PyTorch interface to linear SNAP potential - -# Initialize simulation - -# Initialize simulation -variable nthermo index 10 # thermo output interval -variable ndump index 10 # dump output interval -variable fdelta index 1.0e-4 # displacement size -variable vdelta index 1.0e-6 # strain size for numdiff/virial -variable bdelta index 1.0e-8 # strain size for numdiff Born matrix -variable temp index 10.0 # temperature -variable nugget equal 1.0e-6 # regularization for relerr - -variable nsteps index 100 -units metal -atom_modify map yes - -variable nrep equal 1 -variable a equal 3.316 - -# 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 bcc $a -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.ace.pytorch.mliap - -# Set up NVE run - -velocity all create 300.0 4928459 loop geom -fix 1 all nve -timestep 0.5e-3 -neighbor 1.0 bin -neigh_modify once no every 1 delay 0 check yes - -# Run MD -compute eatom all pe/atom -compute energy all reduce sum c_eatom - -compute satom all stress/atom NULL -compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] -variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) - - -fix numforce all numdiff ${nthermo} ${fdelta} -variable ferrx atom f_numforce[1]-fx -variable ferry atom f_numforce[2]-fy -variable ferrz atom f_numforce[3]-fz -variable ferrsq atom v_ferrx^2+v_ferry^2+v_ferrz^2 -compute faverrsq all reduce ave v_ferrsq -variable fsq atom fx^2+fy^2+fz^2 -compute favsq all reduce ave v_fsq -variable frelerr equal sqrt(c_faverrsq/(c_favsq+${nugget})) -dump errors all custom ${ndump} force_error.dump v_ferrx v_ferry v_ferrz - -thermo_style custom step temp v_frelerr - -run ${nsteps} - - diff --git a/examples/mliap/ace/multielement_compute/coupling_coefficients.yace b/examples/mliap/ace/multielement_compute/coupling_coefficients.yace deleted file mode 100644 index 2953222216..0000000000 --- a/examples/mliap/ace/multielement_compute/coupling_coefficients.yace +++ /dev/null @@ -1,294 +0,0 @@ -elements: [H, N, O] -E0: [0.000000, 0.000000, 0.000000] -deltaSplineBins: 0.001000 -embeddings: - 0: {ndensity: 1, FS_parameters: [1.0, 1.0], npoti: FinnisSinclair, rho_core_cutoff: 100000, drho_core_cutoff: 250} - 1: {ndensity: 1, FS_parameters: [1.0, 1.0], npoti: FinnisSinclair, rho_core_cutoff: 100000, drho_core_cutoff: 250} - 2: {ndensity: 1, FS_parameters: [1.0, 1.0], npoti: FinnisSinclair, rho_core_cutoff: 100000, drho_core_cutoff: 250} -bonds: - [0, 0]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.0, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance} - [0, 1]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.5, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance} - [0, 2]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.7, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance} - [1, 0]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.5, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance} - [1, 1]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 4.4, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance} - [1, 2]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.7, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance} - [2, 0]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.7, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance} - [2, 1]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.7, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance} - [2, 2]: {nradmax: 2, lmax: 2, nradbasemax: 2, radbasename: ChebExpCos, radparameters: [3.3], radcoefficients: [[[1, 0], [1, 0], [1, 0]], [[0, 1], [0, 1], [0, 1]]], prehc: 0, lambdahc: 3.3, rcut: 5.5, dcut: 0.01, rcut_in: 0.1, dcut_in: 0.01, inner_cutoff_type: distance} -functions: - 0: - - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} - - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} - - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [1], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} - - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [1], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} - - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [2], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} - - {mu0: 0, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [2], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 0, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 2, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [2, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 1], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 1], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 2, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [2, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 0, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 0], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 0, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [2, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - 1: - - {mu0: 1, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [1], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} - - {mu0: 1, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [1], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} - - {mu0: 1, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [2], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} - - {mu0: 1, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [2], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} - - {mu0: 1, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} - - {mu0: 1, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 1, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} - - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 2, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} - - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 1], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} - - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} - - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} - - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 1], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} - - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [2, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 2, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} - - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} - - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [2, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 1, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 0], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 1, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [2, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - 2: - - {mu0: 2, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} - - {mu0: 2, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [1], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} - - {mu0: 2, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [0], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} - - {mu0: 2, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [1], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} - - {mu0: 2, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [2], ns: [1], ls: [0], ms_combs: [0], ctildes: [1.0]} - - {mu0: 2, rank: 1, ndensity: 1, num_ms_combs: 1, mus: [2], ns: [2], ls: [0], ms_combs: [0], ctildes: [1.0]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 1], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [2, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 1], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 0], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 1], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [0, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [1, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [1, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 1], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [2, 2], ns: [2, 2], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 0], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [1, 1], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [1, 2], ns: [2, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 3, mus: [1, 2], ns: [2, 1], ls: [1, 1], ms_combs: [-1, 1, 0, 0, 1, -1], ctildes: [0.5773502691896257, -0.5773502691896257, 0.5773502691896257]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [0, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 2, rank: 2, ndensity: 1, num_ms_combs: 5, mus: [2, 2], ns: [1, 2], ls: [2, 2], ms_combs: [-2, 2, -1, 1, 0, 0, 1, -1, 2, -2], ctildes: [0.4472135954999579, -0.4472135954999579, 0.447213595499958, -0.4472135954999579, 0.4472135954999579]} - - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 0], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 2, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} - - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} - - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 1], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} - - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} - - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 0, 1], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} - - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} - - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [2, 2, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [2, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 2], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [0, 1, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 2], ns: [1, 1, 1], ls: [1, 2, 1], ms_combs: [-1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -2, 1, 1, -1, 0, 1, 0, -1], ctildes: [0.10540925533894599, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.21081851067789198, -0.18257418583505536, 0.25819888974716115, -0.18257418583505536, 0.10540925533894599]} - - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 1, 1], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 2, 2], ns: [1, 1, 1], ls: [2, 1, 1], ms_combs: [-2, 1, 1, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 2, -1, -1], ctildes: [0.25819888974716115, -0.18257418583505536, -0.18257418583505536, 0.10540925533894599, 0.21081851067789198, 0.10540925533894599, -0.18257418583505536, -0.18257418583505536, 0.25819888974716115]} - - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 9, mus: [1, 2, 2], ns: [1, 1, 1], ls: [1, 1, 2], ms_combs: [-1, -1, 2, -1, 0, 1, -1, 1, 0, 0, -1, 1, 0, 0, 0, 0, 1, -1, 1, -1, 0, 1, 0, -1, 1, 1, -2], ctildes: [0.19999999999999998, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.16329931618554522, -0.1414213562373095, 0.08164965809277261, -0.1414213562373095, 0.19999999999999998]} - - {mu0: 2, rank: 3, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1], ns: [1, 1, 1], ls: [2, 2, 2], ms_combs: [-2, 0, 2, -2, 1, 1, -2, 2, 0, -1, -1, 2, -1, 0, 1, -1, 1, 0, -1, 2, -1, 0, -2, 2, 0, -1, 1, 0, 0, 0, 0, 1, -1, 0, 2, -2, 1, -2, 1, 1, -1, 0, 1, 0, -1, 1, 1, -2, 2, -2, 0, 2, -1, -1, 2, 0, -2], ctildes: [0.10690449676496976, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, 0.05345224838248488, -0.10690449676496976, 0.05345224838248488, 0.10690449676496976, -0.1309307341415954, 0.05345224838248488, 0.05345224838248488, -0.1309307341415954, 0.10690449676496976, -0.1309307341415954, 0.10690449676496976]} - - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 0], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 0, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 0, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 1, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [0, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1, 1], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 1, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 1, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [1, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} - - {mu0: 2, rank: 4, ndensity: 1, num_ms_combs: 19, mus: [2, 2, 2, 2], ns: [1, 1, 1, 1], ls: [1, 1, 1, 1], ms_combs: [-1, -1, 1, 1, -1, 0, 0, 1, -1, 0, 1, 0, -1, 1, -1, 1, -1, 1, 0, 0, -1, 1, 1, -1, 0, -1, 0, 1, 0, -1, 1, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 1, -1, 0, 1, -1, 0, 0, 1, 0, -1, 1, -1, -1, 1, 1, -1, 0, 0, 1, -1, 1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 1, -1, -1], ctildes: [0.0, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, -0.3333333333333333, 0.3333333333333333, -0.3333333333333333, 0.0, 0.0, 0.3333333333333333, -0.3333333333333333, 0.3333333333333333, 0.0, 0.0, 0.0]} diff --git a/examples/mliap/ace/multielement_compute/in.mliap.ace.compute b/examples/mliap/ace/multielement_compute/in.mliap.ace.compute deleted file mode 100644 index 40000b5493..0000000000 --- a/examples/mliap/ace/multielement_compute/in.mliap.ace.compute +++ /dev/null @@ -1,25 +0,0 @@ -#info all out log -units metal -atom_style atomic -boundary p p p -atom_modify map hash -read_data latte_cell_0.data -mass 1 1.00 -mass 2 14.00 -mass 3 15.999 - -pair_style zero 5.7 -pair_coeff * * - - -compute ace all mliap descriptor ace coupling_coefficients.yace model linear gradgradflag 1 - -thermo 1 -thermo_style custom step c_ace[1][1] -thermo_modify norm no - -fix pc all ave/time 1 1 1 c_ace[*] file desc_out.dat mode vector - - -run 0 - diff --git a/examples/mliap/ace/multielement_compute/latte_cell_0.data b/examples/mliap/ace/multielement_compute/latte_cell_0.data deleted file mode 100644 index b18ec13a4d..0000000000 --- a/examples/mliap/ace/multielement_compute/latte_cell_0.data +++ /dev/null @@ -1,172 +0,0 @@ -latte_cell_0.data (written by ASE) - -161 atoms -3 atom types -0.0 12 xlo xhi -0.0 12 ylo yhi -0.0 12 zlo zhi - - -Atoms - - 1 3 1.2688096799999999 2.0079938400000001 2.7446829899999998 - 2 1 1.5343068200000001 2.0638766500000001 3.7105626900000002 - 3 1 1.7848279600000001 2.6755003400000001 2.2268847200000002 - 4 1 1.56251195 1.1089126899999999 2.3978115199999999 - 5 1 11.61728216 5.71881094 2.4732045999999999 - 6 2 6.5501865600000002 4.7439566800000001 3.6526025500000001 - 7 1 6.4564895299999998 4.1571673000000002 2.6975267999999999 - 8 2 2.0835561 1.59406078 8.5498047600000007 - 9 1 1.1041162499999999 1.4971771599999999 8.1507879200000009 - 10 1 2.60115534 2.2945960400000001 7.95374187 - 11 1 1.9817723300000001 2.0194066400000001 9.5128239400000005 - 12 1 0.99333338000000004 3.6983907299999998 8.1903947899999991 - 13 3 4.9484070999999998 5.3645501400000004 9.16152503 - 14 1 9.0716170599999995 9.3748453999999999 4.2276462400000003 - 15 2 0.30864418999999998 7.7136657499999997 2.9274995599999998 - 16 1 0.47661671 10.1807211 3.71160091 - 17 1 1.07465334 7.8226921999999997 3.5771466900000002 - 18 1 0.38402249999999999 8.3770493300000002 2.1748437100000002 - 19 1 11.435413410000001 7.7903735999999997 3.4040245499999999 - 20 3 6.1570384599999999 10.25988474 3.50899568 - 21 1 5.5932224399999999 9.5632944700000007 3.1446559000000001 - 22 2 1.7785569000000001 7.6312579300000003 9.1488452299999992 - 23 1 2.5594048599999999 6.96832838 9.3069700199999996 - 24 1 2.12441551 8.4547986999999996 8.6428622900000001 - 25 1 1.04552782 7.1697722800000001 8.5894244999999998 - 26 1 0.34824445999999998 10.17844028 9.1629463799999993 - 27 3 5.9638830399999998 10.723709400000001 9.4568803900000002 - 28 1 6.5890835699999997 10.926486110000001 8.7981925800000003 - 29 2 7.1065890400000002 1.83029753 3.3452543600000002 - 30 1 6.9229304999999997 1.8465022099999999 4.3089037100000001 - 31 1 8.0780433600000006 1.9303052199999999 3.2089521400000001 - 32 1 5.6795373600000003 10.471831630000001 4.3244390499999996 - 33 1 6.82999417 0.95850113000000003 2.9815288199999999 - 34 2 11.383805349999999 4.6301225199999996 2.5393688399999998 - 35 1 0.37927047000000003 4.1943216300000001 2.59073807 - 36 3 5.2376410099999999 1.91523463 9.7240636400000007 - 37 1 4.7887202499999999 2.7036936499999999 9.5698142300000004 - 38 1 9.8129906699999996 9.2075140700000002 4.08265499 - 39 1 4.7980879500000002 1.1403494700000001 9.6739962800000008 - 40 1 5.4455845600000004 2.0102099999999998 10.620773509999999 - 41 3 0.90954338999999995 4.6240093199999999 8.3108110600000007 - 42 1 11.909735319999999 4.7483814000000004 8.2500624600000005 - 43 2 7.3223424499999998 7.5866457 3.0245226500000002 - 44 1 7.4470362200000002 8.3169646700000008 3.7148003300000001 - 45 1 6.9073805300000002 7.9385021 2.1723768699999999 - 46 1 5.5542868500000004 5.1176065800000003 3.7655251999999999 - 47 1 6.8124309500000004 6.7778811599999997 3.3973232499999999 - 48 2 0.29575823000000001 11.04303794 3.1016142499999999 - 49 1 0.86490721999999998 11.83879228 3.6389974500000002 - 50 3 6.85201686 8.0846369300000003 8.8762878799999996 - 51 1 7.3351430100000004 7.4263498700000001 9.3821674799999997 - 52 1 6.7919613300000004 7.7595477199999996 7.9716174799999999 - 53 1 3.8990487699999998 6.4283490399999996 8.8832409600000002 - 54 1 5.95997296 9.9329723199999993 9.4746654699999997 - 55 3 11.403658979999999 10.371960359999999 9.2766092199999992 - 56 1 10.983666360000001 9.5157199800000001 9.1478757300000009 - 57 3 1.5223279700000001 5.3327331100000004 0.57537605999999997 - 58 1 2.3815113999999999 5.7251991200000001 0.77945295999999997 - 59 1 0.92079957000000001 6.0931282299999996 0.62203253000000003 - 60 3 11.23490924 2.9153355200000002 6.7585064099999999 - 61 1 10.792340190000001 2.9755225099999998 5.9000018399999998 - 62 1 10.751242059999999 2.1896156000000002 7.1807401500000001 - 63 3 11.39027944 7.3462855600000001 6.7258299499999996 - 64 1 10.92025679 6.69831954 7.2776696599999999 - 65 1 11.12238028 7.0632020999999998 5.8394107799999997 - 66 3 8.4684319499999994 10.71736286 10.60018556 - 67 1 8.5672201599999998 11.420466080000001 11.25794033 - 68 1 9.0803109800000001 10.04804949 10.9406517 - 69 3 6.5851757299999996 9.9940623399999993 6.5574614899999997 - 70 1 7.0276325799999997 10.76096604 6.1723333699999996 - 71 1 5.7419327400000002 10.384583920000001 6.8228822999999998 - 72 3 1.7600546399999999 1.01771919 5.4926787700000004 - 73 1 1.9704209100000001 1.01748419 6.4429703700000003 - 74 1 1.42973007 0.11076352 5.3470644900000002 - 75 1 2.61130613 9.7034123700000006 10.450306830000001 - 76 3 3.05086908 10.48131334 10.085189310000001 - 77 1 3.0032693199999998 10.93357295 9.3652121000000008 - 78 3 6.4631532199999997 8.7652058299999993 11.967847969999999 - 79 1 6.4506808400000004 9.6596595300000008 11.588956019999999 - 80 1 5.6611629700000003 8.3535737700000006 11.638443329999999 - 81 3 1.1745999300000001 5.2420690800000003 5.1001449699999997 - 82 1 1.31932881 5.5236392399999996 6.0128966300000002 - 83 1 0.58053834999999998 4.4898134599999997 5.2325565000000003 - 84 3 6.7275549699999999 0.78840874999999999 7.3817280900000002 - 85 1 6.3887965600000003 1.54670982 6.8634520400000003 - 86 1 7.6791783999999996 0.94039024000000004 7.2649461000000004 - 87 3 8.5476657199999995 0.0064750299999999997 5.0450514100000001 - 88 1 8.8736290899999997 11.10484108 4.8601807900000003 - 89 1 8.0477597599999999 0.20198361000000001 4.2357399400000002 - 90 3 1.2895030000000001 8.4280097900000008 11.82038504 - 91 1 1.4766666399999999 8.1087866399999999 10.87290333 - 92 1 2.10220669 8.1947620200000006 0.29510553 - 93 3 9.6797907599999995 6.4207335499999996 4.3469150599999997 - 94 1 8.9271530099999996 6.72940235 3.7974122399999999 - 95 1 10.20024126 5.9167739199999998 3.66976111 - 96 3 3.57411616 6.7041021699999996 3.8825478499999999 - 97 1 2.8894899500000002 6.1560529800000001 4.2980848099999998 - 98 1 4.3613707699999997 6.4304732400000004 4.3804965400000002 - 99 3 4.7506556 11.441853350000001 1.12537088 - 100 1 4.0861192800000001 10.748523670000001 1.1923347099999999 - 101 1 5.5035301600000004 10.965688249999999 0.73651277000000004 - 102 3 9.5254526399999992 4.8994443900000002 8.3732284099999994 - 103 1 8.7885959800000002 4.3508043900000004 8.6632831400000008 - 104 1 9.6149067499999994 4.6084911499999999 7.4540068699999997 - 105 3 4.1970746700000001 1.34592128 3.67401439 - 106 1 4.9437011999999996 0.74406280999999996 3.514068 - 107 1 4.1905534900000001 1.7730376000000001 2.7963049400000002 - 108 3 1.88232618 11.95451227 0.60024434000000004 - 109 1 2.0464587299999999 11.02454723 0.38329541 - 110 1 1.1518493700000001 0.17494340999999999 11.99928285 - 111 3 3.7593842199999998 11.01685511 6.4562050800000002 - 112 1 3.2125414299999999 10.4553747 5.8894917099999997 - 113 1 3.4166026899999999 10.821557670000001 7.3296563900000002 - 114 3 9.7039841399999993 3.95001545 11.894743249999999 - 115 1 10.461666060000001 3.9163117999999999 11.285435229999999 - 116 1 10.09834695 4.4026997400000001 0.68193007999999999 - 117 3 8.5639596400000002 3.5169507499999999 5.6224104199999996 - 118 1 8.3966650299999994 2.6262214699999999 5.2638164300000003 - 119 1 7.9695371399999999 4.0825059799999996 5.0049407400000003 - 120 3 9.6736245000000007 0.48030482000000002 7.9257577799999996 - 121 1 9.6131980400000003 11.883419180000001 7.1680923999999999 - 122 1 9.9784050299999993 11.90238635 8.63894187 - 123 3 3.9424153099999999 6.9650296699999998 11.60258943 - 124 1 4.2767152700000004 6.8460048999999996 10.670225220000001 - 125 1 4.6570638500000001 6.5129461500000003 0.091159879999999999 - 126 3 3.0570173199999999 9.6631958499999993 3.6611250599999998 - 127 1 2.5400490100000002 9.5743355000000001 2.8444047600000002 - 128 1 2.9314874400000002 8.7809807200000005 4.0425234200000002 - 129 3 7.4549612700000001 5.8430850799999998 11.011384720000001 - 130 1 8.1675884100000005 5.4639182799999997 10.47644287 - 131 1 6.7135573700000002 5.8393818399999997 10.361099749999999 - 132 3 9.8029139300000008 7.9578901699999998 10.21404942 - 133 1 10.38910242 8.3400641400000008 10.87949429 - 134 1 9.0637612000000001 7.6392374099999998 10.756928869999999 - 135 3 4.4963435599999997 4.1067935799999997 11.73387805 - 136 1 4.5473727899999998 4.9577970899999997 11.19223377 - 137 1 5.3588818399999996 4.1756111699999998 0.20355936999999999 - 138 3 9.5923448100000002 7.3418014600000001 1.34856172 - 139 1 8.8715593300000002 7.4776837199999999 2.05040471 - 140 1 9.0443221699999992 7.2732200799999998 0.54011714 - 141 3 7.0350963100000001 3.22348773 0.7070824 - 142 1 7.1784470499999999 4.1340314300000003 1.0184109699999999 - 143 1 7.7787854400000001 2.7888888399999998 1.15838887 - 144 3 9.2124107800000008 0.48085899999999998 1.21751966 - 145 1 9.6620436499999993 11.657271079999999 1.45318397 - 146 1 9.9404883900000005 1.11619136 1.18684594 - 147 3 1.19704207 9.5859959200000002 6.6190888899999996 - 148 1 0.25606413 9.6737366500000004 6.8319340899999998 - 149 1 1.2690051899999999 8.6249354900000004 6.5480112500000001 - 150 3 0.78256133999999999 2.6040609300000002 11.453408359999999 - 151 1 0.61502181 3.5607405999999999 11.40300991 - 152 1 1.55655312 2.5457368800000002 10.866733030000001 - 153 3 5.8627936099999998 7.1217054800000001 5.89173203 - 154 1 6.3432410700000004 7.9400136699999999 6.0855840299999997 - 155 1 5.5077296699999998 6.8468306800000001 6.7436875799999996 - 156 3 10.887828150000001 9.9637482500000001 0.51092815999999996 - 157 1 11.78841776 10.322043069999999 0.44704989000000001 - 158 1 11.02688182 9.2051906700000004 1.0976661299999999 - 159 3 3.93073389 4.1645674499999998 5.7137877000000001 - 160 1 4.6884062999999996 3.5788913299999998 5.5644605800000004 - 161 1 4.2956948500000003 4.7644888099999996 6.3801669700000003 diff --git a/examples/mliap/ace/multielement_compute/reference/desc_out.dat b/examples/mliap/ace/multielement_compute/reference/desc_out.dat deleted file mode 100644 index bb0a0d4f44..0000000000 --- a/examples/mliap/ace/multielement_compute/reference/desc_out.dat +++ /dev/null @@ -1,494 +0,0 @@ -# Time-averaged data for fix pc -# TimeStep Number-of-rows -# Row c_ace[1] c_ace[2] c_ace[3] c_ace[4] c_ace[5] c_ace[6] c_ace[7] c_ace[8] c_ace[9] c_ace[10] c_ace[11] c_ace[12] c_ace[13] c_ace[14] c_ace[15] c_ace[16] c_ace[17] c_ace[18] c_ace[19] c_ace[20] c_ace[21] c_ace[22] c_ace[23] c_ace[24] c_ace[25] c_ace[26] c_ace[27] c_ace[28] c_ace[29] c_ace[30] c_ace[31] c_ace[32] c_ace[33] c_ace[34] c_ace[35] c_ace[36] c_ace[37] c_ace[38] c_ace[39] c_ace[40] c_ace[41] c_ace[42] c_ace[43] c_ace[44] c_ace[45] c_ace[46] c_ace[47] c_ace[48] c_ace[49] c_ace[50] c_ace[51] c_ace[52] c_ace[53] c_ace[54] c_ace[55] c_ace[56] c_ace[57] c_ace[58] c_ace[59] c_ace[60] c_ace[61] c_ace[62] c_ace[63] c_ace[64] c_ace[65] c_ace[66] c_ace[67] c_ace[68] c_ace[69] c_ace[70] c_ace[71] c_ace[72] c_ace[73] c_ace[74] c_ace[75] c_ace[76] c_ace[77] c_ace[78] c_ace[79] c_ace[80] c_ace[81] c_ace[82] c_ace[83] c_ace[84] c_ace[85] c_ace[86] c_ace[87] c_ace[88] c_ace[89] c_ace[90] c_ace[91] c_ace[92] c_ace[93] c_ace[94] c_ace[95] c_ace[96] c_ace[97] c_ace[98] c_ace[99] c_ace[100] c_ace[101] c_ace[102] c_ace[103] c_ace[104] c_ace[105] c_ace[106] c_ace[107] c_ace[108] c_ace[109] c_ace[110] c_ace[111] c_ace[112] c_ace[113] c_ace[114] c_ace[115] c_ace[116] c_ace[117] c_ace[118] c_ace[119] c_ace[120] c_ace[121] c_ace[122] c_ace[123] c_ace[124] c_ace[125] c_ace[126] c_ace[127] c_ace[128] c_ace[129] c_ace[130] c_ace[131] c_ace[132] c_ace[133] c_ace[134] c_ace[135] c_ace[136] c_ace[137] c_ace[138] c_ace[139] c_ace[140] c_ace[141] c_ace[142] c_ace[143] c_ace[144] c_ace[145] c_ace[146] c_ace[147] c_ace[148] c_ace[149] c_ace[150] c_ace[151] c_ace[152] c_ace[153] c_ace[154] c_ace[155] c_ace[156] c_ace[157] c_ace[158] c_ace[159] c_ace[160] c_ace[161] c_ace[162] c_ace[163] c_ace[164] c_ace[165] c_ace[166] c_ace[167] c_ace[168] c_ace[169] c_ace[170] c_ace[171] c_ace[172] c_ace[173] c_ace[174] c_ace[175] c_ace[176] c_ace[177] c_ace[178] c_ace[179] c_ace[180] c_ace[181] c_ace[182] c_ace[183] c_ace[184] c_ace[185] c_ace[186] c_ace[187] c_ace[188] c_ace[189] c_ace[190] c_ace[191] c_ace[192] c_ace[193] c_ace[194] c_ace[195] c_ace[196] c_ace[197] c_ace[198] c_ace[199] c_ace[200] c_ace[201] c_ace[202] c_ace[203] c_ace[204] c_ace[205] c_ace[206] c_ace[207] c_ace[208] c_ace[209] c_ace[210] c_ace[211] c_ace[212] c_ace[213] c_ace[214] c_ace[215] c_ace[216] c_ace[217] c_ace[218] c_ace[219] c_ace[220] c_ace[221] c_ace[222] c_ace[223] c_ace[224] c_ace[225] c_ace[226] c_ace[227] c_ace[228] c_ace[229] c_ace[230] c_ace[231] c_ace[232] c_ace[233] c_ace[234] c_ace[235] c_ace[236] c_ace[237] c_ace[238] c_ace[239] c_ace[240] c_ace[241] c_ace[242] c_ace[243] c_ace[244] c_ace[245] c_ace[246] c_ace[247] c_ace[248] c_ace[249] c_ace[250] c_ace[251] c_ace[252] c_ace[253] c_ace[254] c_ace[255] c_ace[256] c_ace[257] c_ace[258] c_ace[259] c_ace[260] c_ace[261] c_ace[262] c_ace[263] c_ace[264] c_ace[265] c_ace[266] c_ace[267] c_ace[268] c_ace[269] c_ace[270] c_ace[271] c_ace[272] c_ace[273] c_ace[274] c_ace[275] c_ace[276] c_ace[277] -0 490 -1 110 633.523 94.3568 17.1047 76.4593 415.72 84.4227 -10.3669 -22.6058 87.5916 -41.6713 14.2935 27.1643 -8.83449 45.539 0.0366547 86.1936 355.524 -9.24098 -4.62886 253.597 -3.89066 -13.051 12.2233 -13.4372 -10.3377 26.0544 5.90582 -29.6058 -123.735 14.1872 28.3718 -2.68723 -36.2963 17.3347 -7.52363 4.01093 21.5542 -150.176 49.1667 106.382 -20.5777 75.3918 12.7539 111.763 -61.6208 56.1044 -51.3912 -31.1257 -21.8452 31.6135 -16.4593 -46.7547 8.4484 -2.80826 -1.50179 2.5356 12.6505 -3.37075 15.4133 24.4245 -17.8721 -68.7976 3.20778 -20.9546 -24.8015 -0.708063 16.8285 25.2232 -31.5949 10.7568 -4.07798 17.5517 -24.71 -27.9933 19.8963 -19.4328 298.998 84.3421 43.4922 99.149 -70.3035 176.822 52.3432 -31.6464 42.3741 32.5112 80.4142 -51.6128 67.8793 -73.6841 197.193 8 1.52077 0.095878 25.0149 2.59269 17.1047 76.4593 0.0761166 0.811713 -1.30106 -0.00129584 0.111902 -0.0021799 0.0422313 -0.251236 0.0584668 -0.0193025 -0.01626 0.0327912 -0.206827 0.9039 -0.0332059 3.01698 -1.13334 0.00387133 6.40468 4.05506 0.00624923 -0.0527616 -2.82349 22.795 -2.42196 0.0251087 0.553167 6.5214 -0.15104 -5.49453 -0.0802715 0.913327 -0.334148 0.371537 0.101263 -0.293913 0.00293122 -14.9572 -0.0221277 -0.438643 -0.00945227 1.15262 0.325325 -0.0479565 -0.0576038 -2.21483 0.0504201 0.051311 -2.85708 -0.252836 -0.147617 0.195349 0.0168697 -0.173079 -0.290278 -0.122316 0.657922 -0.00989331 -3.23063 -0.0649301 -0.0401127 -0.245247 0.0816411 -0.366203 2.08759 -0.808832 -1.27672 0.0275694 0.976563 0.0311902 44.7557 2.54472 4.6908 0.618434 -0.591044 6.06674 0.00299428 0.0388937 0.216562 0.685479 0.0208758 -0.0286578 0.0927639 -0.175599 1.58264 43 415.72 25.0149 84.4227 2.59269 112.55 11.2771 19.2603 -1.22032 27.1819 -1.40836 -1.25201 -13.3198 -0.183368 -1.72716 2.25056 0.669987 -1.28528 -11.5485 4.82046 32.6867 -23.7778 -1.32993 -3.13072 0.649938 -11.5006 -2.62278 5.10788 0.548024 219.188 10.0932 -110.928 30.4814 0.276871 -8.57081 -42.4809 -0.452488 0.144132 -0.275055 1.20694 -20.9224 3.34223 -0.36309 69.1926 28.1069 -0.140381 1.18327 3.75663 4.05765 -1.06858 -3.14327 -1.12221 0.910422 2.88772 10.5331 -4.93061 -11.8662 3.67678 -3.34633 -0.0501799 0.46571 -1.69755 6.2103 -3.44241 -3.91512 26.2264 -1.55167 1.4658 -0.808121 0.272213 6.48859 2.32689 -2.05316 2.03777 1.25839 0.0492927 -7.12287 381.036 52.2256 27.4835 34.5144 -28.0414 61.287 8.66705 -6.46335 7.84842 5.0521 6.94067 -5.54313 6.83136 -6.70729 14.1039 0 -2 0 0 0 0 0 0.019982 -0.390456 1.12581 1.89207 0 0 -0.857617 -2.61627 0 -6.01795 -0.158418 0 0 0 -0.324065 -7.22232 0 0 0 0 0.667987 0 0 1.00017 8.66857 -1.52916 0 -0.312051 0 0 0.506707 -0.143287 0 0 -2.56201 -2.77154 0 0 -0.537342 -11.0941 0 -1.29022 2.76894 -0.277586 0.796272 0.890361 0.341017 0 0.787035 -0.300377 -0.356484 -0.855919 0.32443 -1.06247 0 0 -0.397307 5.54335 0 -0.407508 -0.911793 -1.37427 0 0 0 0 0.867341 -0.994681 0 2.84811 -0.402481 0 0 0 -3.22735 0 2.45634 -10.0229 0 0.16544 -1.18401 -5.69172 0 1.26917 -4.56391 7.1909 -20.1025 0 0 0 0.241195 0.0639042 0 0 0 -0.0459657 0.106911 0 -0.00389019 0 0.0158326 0.140044 0 0 0 0 0.225331 0 0.0323058 0 0.820656 0 -0.413236 0.587186 0 4.10491e-05 0 0 0.109714 0.0038492 0.159886 0 0.0169011 0 0.00532619 0.256212 0.00602296 0.0759359 0.0641599 0 0.000798758 0 0 0 0.00083204 0 0 -0.0094609 0.00781647 0.485082 0.0136809 0 0 -0.0263238 0 -0.00852847 0 0 0.0410094 0.077558 0.218977 -0.0752142 0 0 0.0530495 -0.0472733 -0.0351926 0.451547 -0.19332 0 0.123094 0.0203026 -0.0339193 0 0 0 -3.49898 0 -0.330478 -0.485167 0 -0.0275285 -0.0415255 -0.510493 0 -0.00307907 -0.00455077 -0.0352637 -0.0835054 0 0.019982 0.241195 -0.390456 0.0639042 -0.759856 -0.181214 1.03324 -1.30879 1.381 0.0063192 0.0219018 1.28024 -0.0002765 0.186461 0.160765 0.0231344 0.0116011 0.122308 -0.781495 -0.972351 -1.97601 -0.256802 0.606571 -0.0875305 0.30287 0.193061 0.128699 -0.0127352 -11.2867 -0.426996 -5.63257 -3.23686 0.0240278 -2.30602 -3.41254 0.0901742 -0.00727082 -0.139421 -0.0691262 1.12675 0.222273 0.0334162 -6.47851 -1.95093 -0.000893356 -0.0376847 -0.29641 -0.0975724 0.459619 0.550056 -4.23274 0.861876 0.0322437 -1.84277 -0.535132 -0.693252 0.39943 -0.607263 -0.496174 -0.341922 -1.2043 0.716828 -0.284252 -0.150106 -14.3868 0.29594 -0.691005 0.0741957 -0.0514309 0.0194368 0.191708 0.110249 -0.0389362 -0.203518 -0.053956 -0.39594 17.8276 -4.5702 9.57124 1.13339 -0.796077 1.31363 -0.24636 0.488727 -0.940132 1.38886 -0.0576275 0.192689 -0.428387 0.667578 -1.20912 0 -3 0 0 0 0 0 0.0808912 0.121547 -0.468948 -2.02778 0 0 -0.0211098 -0.110122 0 0.298021 -0.137775 0 0 0 -0.263913 0.537545 0 0 0 0 -0.476959 0 0 -0.292499 -2.83655 0.0284581 0 -0.289833 0 0 -0.17166 -0.0377945 0 0 -0.34874 0.341692 0 0 -0.179071 -0.0306183 0 0.0729532 -0.775892 -0.182881 0.178164 1.92643 0.269242 0 0.232228 -0.526754 -0.0367362 -1.32587 0.356648 0.304077 0 0 0.47708 0.850274 0 0.945601 -0.298679 0.109121 0 0 0 0 -0.199498 0.249846 0 -1.00804 0.646612 0 0 0 2.5315 0 -0.239321 4.86577 0 0.243573 0.0822844 4.38627 0 0.773894 1.24408 -1.78086 9.02317 0 0 0 0.0385285 0.016165 0 0 0 -0.0682327 0.0851058 0 -0.00878235 0 0.00824645 0.0229843 0 0 0 0 0.043077 0 0.00481633 0 0.115596 0 -0.404257 0.280861 0 -0.0200741 0 0 -0.560308 0.00143565 0.0942226 0 0.0201131 0 0.00419684 0.0452706 -0.112095 0.0332536 0.0209025 0 0.000341982 0 0 0 0.000965924 0 0 -0.00335762 0.00614112 0.140695 0.0200946 0 0 -0.0345502 0 -0.00670051 0 0 0.0320887 0.0351037 0.399265 -0.0186175 0 0 -0.0231112 0.0555032 -0.0687172 0.375625 -0.181111 0 -0.13627 -0.0146118 -0.140983 0 0 0 -0.383753 0 -0.10718 2.09452 0 -0.00349675 0.124709 0.0499567 0 -0.000849806 0.0181515 -0.1053 1.27839 0 0.0808912 0.0385285 0.121547 0.016165 0.0396667 0.107017 0.181988 -0.271861 0.283221 -0.0105426 -0.040489 -0.263158 -0.00303637 -0.0892919 0.0372701 0.0966975 -0.0478863 -0.0194905 -0.137559 0.0814059 0.0287002 -0.120067 -0.158307 0.00694866 -0.0952346 -0.157797 0.574322 0.0239262 -0.651573 -0.0681955 -0.85839 0.424409 0.0070428 -1.22533 -0.210788 -0.0368793 -0.00620844 -0.0149489 -0.0107778 -0.998628 0.0709918 -0.0252828 0.87795 -0.205236 -0.0093014 -0.027996 0.0898784 0.0930962 0.053969 -0.233099 -1.24983 0.032921 0.0470698 1.19676 -0.0965457 -1.05756 0.0766464 0.238181 -0.359521 -0.135526 -0.523919 0.820447 -0.140108 0.32224 7.181 -0.0147846 -0.109635 0.0451754 0.0674679 0.455292 0.24586 0.074375 0.0172685 0.137225 -0.0730147 -0.222617 2.71688 0.0287363 3.08648 0.233067 -0.106681 2.46371 0.0531921 -0.105177 0.116088 1.00822 0.00918331 -0.0242064 0.375106 -0.420228 1.24039 0 -4 0 0 0 0 0 0.0452898 -0.063578 0.368607 0.806365 0 0 0.228512 -0.160687 0 -0.712275 0.0279078 0 0 0 -0.0373852 -4.63921 0 0 0 0 0.360022 0 0 -0.24615 -0.451968 -0.173302 0 0.589696 0 0 0.18565 0.0167827 0 0 -0.0138997 -2.61012 0 0 -0.100685 -0.52385 0 -0.925998 -0.498529 0.818834 0.177402 -0.748757 0.209067 0 0.118052 -0.165513 0.648154 -0.648077 -0.854859 -0.992861 0 0 -0.0916018 7.60687 0 -0.877177 -0.186496 -0.681617 0 0 0 0 0.0259129 -0.225929 0 3.61376 -2.02877 0 0 0 -0.163508 0 0.313512 0.935185 0 -0.103632 -0.0491085 0.402943 0 0.553813 -0.845487 2.13829 -3.82208 0 0 0 -0.0138239 -0.00430116 0 0 0 0.0192541 -0.0135089 0 0.00290607 0 -0.00122098 -0.00158384 0 0 0 0 0.0715531 0 0.00921959 0 0.00644316 0 0.10678 -0.0727613 0 -0.00176368 0 0 -0.127885 -0.000127066 -0.0209269 0 -0.00301229 0 -0.000557267 -0.0422624 -0.0152574 -0.00376812 -0.00871224 0 -4.89132e-05 0 0 0 -0.000131848 0 0 0.000268561 -0.000769474 0.0270579 -0.0203729 0 0 -0.00204804 0 0.000839564 0 0 -0.0107921 0.000602497 0.00595497 -0.00104256 0 0 -0.143447 0.0416175 0.00609016 -0.32548 0.192233 0 -0.216201 -0.010181 -0.000871387 0 0 0 -0.0381932 0 0.00679639 0.526047 0 -0.000823092 0.0394045 0.0669008 0 2.52638e-05 0.00478025 0.00771428 0.185085 0 0.0452898 -0.0138239 -0.063578 -0.00430116 0.140598 0.00606572 -0.0610349 0.19885 2.05121 0.000876118 -0.0471416 -0.0526951 0.000336591 -0.00121708 -0.0104564 0.193935 -0.0149982 -0.00282643 -1.79166 0.728803 -0.195444 0.0802618 0.0368793 -0.261541 -0.123188 0.0695546 1.54961 0.00329416 2.3224 -0.199651 0.303343 0.254843 -0.00172064 0.593824 -0.0687065 0.00609889 -0.0074905 0.0453569 -0.0512152 0.475151 0.255687 0.0124658 0.817688 -1.5711 -0.00600475 -0.0293641 -0.30932 0.0892705 0.1872 0.920629 0.724226 -0.298566 -0.0825022 2.02287 0.0318566 -0.121482 0.0948204 -0.0567802 -0.0548485 0.0134769 0.0320435 -0.123632 0.0904469 -4.41836 -17.7616 -0.144281 -0.0750469 -0.0885355 -0.10918 -0.370314 -0.0387531 0.0262936 -0.000286176 -0.111368 0.125043 -0.16848 -0.960107 0.220408 -2.55308 -0.0669897 0.484527 -1.51276 0.0111375 0.0484268 -0.164428 -0.157305 0.00133172 0.0666093 -0.203816 0.371535 -0.752794 0 -5 0 -0.232794 -0.0616963 0.0467445 0.245503 -0.388057 -0.0359665 0.361907 1.38242 0.436281 -0.731379 0.115134 0.192089 -0.00173486 1.59436 -0.0435745 0.813172 4.11494 -0.102815 -0.0785589 2.69157 -0.0059298 0.147922 0.0058826 -0.186312 0.0302869 0.146664 -0.0251779 -0.217775 -1.36373 0.367893 0.051322 -0.370522 0.388197 0.0711514 -0.0568727 0.00652389 -0.15996 1.50343 0.373454 1.22771 -0.0100066 0.577914 0.0405684 1.27307 -0.0258927 0.499639 -0.475884 -0.653669 0.0299502 -1.51566 -0.35372 10.7643 0.0174314 -0.0518855 0.388459 4.06937 1.28049 0.950391 0.227165 -0.0240726 0.0280116 -1.93941 1.90871 1.46363 1.42964 0.493565 0.560752 -0.465615 -0.0853722 0.339786 -0.392852 -0.315104 -0.0763739 0.0482031 -0.385239 0.95256 -3.51566 1.92154 -4.4012 -1.71921 0.460434 0.324988 0.246866 -0.440832 1.45955 -2.218 0.0101897 -0.0766934 0.281728 -0.362182 1.41046 0 0 0 0 0 0.0467445 0.245503 0.00327173 0 0 0 0 0.000403883 0 0.00727051 0 0 0.00319542 0.0100245 -0.00624784 0 -0.000288429 0.0811033 0.0266167 0 0 -0.150209 0.000497364 0 0.0221567 1.00958 0 0 -0.0153113 0.312941 0 0.201718 0 -0.012899 0 0 -0.000988822 0 0 1.20553 0.0085498 0.06385 0 0.0679282 -0.0988161 0 0 0.37891 0 0.00613803 0.222204 -0.00196321 0 0 -0.00606188 -0.00518758 0 0.0154639 0.0280367 0.00847291 -1.06796 0.0174188 0.0194479 0 0.00946217 -0.0868087 0.175315 -0.0696412 0.077349 0 0 0 -10.2073 -0.676228 -0.689285 -0.0469851 0.0249716 -0.710714 -0.00250696 0.00114308 -0.0361361 0.00749362 0 0 0 0 0 0 -0.388057 0 -0.0359665 0 0 0 0 0.55978 0.06439 0 0 -0.848303 0 -0.107725 0 -0.0315963 0 0 0.151942 0 0.439286 0.177624 -0.387447 0.0207182 0 0 -0.22034 0 1.59205 0 0.271239 0.880185 0 1.27732 0.42582 -0.0501712 0 0.0713995 0 0 -0.0101758 0 1.30683 -0.376565 0 0 -0.0208858 0 0 -0.21399 1.26361 -0.174739 0 0.874533 0 1.14698 -0.14357 0.150074 0.0131105 0.136659 0.567175 -0.591667 0.0549897 0.935337 10.7712 -0.152709 0 0 0 0.347913 -0.013083 0 0 0 0 -0.249851 1.40239 3.27376 -4.33282 0.122262 -0.148392 0.150759 0.248971 -0.29801 0.493138 -0.677066 0 0 0 0 0 0 -6 0 0.408405 0.357908 0.0210414 0.069813 0.0121382 0.0988808 -0.0843766 -1.41271 0.139666 -0.0543387 0.0711436 0.522334 -0.00333143 1.14947 -0.0519767 1.56494 5.98634 0.0345361 -0.136925 3.40896 0.0224456 -0.266276 0.0048031 -0.0398739 -0.35053 0.397117 0.0528194 0.218718 0.183796 0.316476 0.0278382 -0.291541 -0.916301 0.197242 -0.0286349 0.0019955 0.189717 -3.57787 0.0817919 1.76818 -0.0184052 0.98968 -0.000744677 1.18492 -0.0784131 0.931365 0.27197 -0.827576 0.0559693 0.280085 -0.0454733 -6.97518 0.208065 -0.142803 0.0309335 -3.38332 0.646293 -0.484123 0.0835808 0.031293 -1.51917 -3.50286 -0.0703177 0.148122 -0.27325 0.101731 -0.20685 0.172928 -0.0456868 0.0342223 -0.580803 -0.267025 -0.327687 -3.95786 -0.177088 0.0320029 7.85294 -0.301634 4.79276 1.66839 -1.24125 2.597 -0.076337 0.486422 -1.19437 2.8777 0.0308582 -0.0258146 0.00438473 -0.0195124 -0.190093 0 0 0 0 0 0.0210414 0.069813 0.00390804 0 0 0 0 0.00070451 0 -0.0271846 0 0 0.001742 0.00793944 -0.0457844 0 -0.00571608 0.0686257 -0.222931 0 0 -0.0218148 0.000354441 0 -0.0173528 1.20073 0 0 -0.000884387 0.281065 0 -0.0165385 0 -0.00530048 0 0 -7.54096e-05 0 0 0.138385 0.014522 0.038599 0 0.0787747 -0.0531688 0 0 0.198838 0 0.00739533 -0.214807 -0.0200106 0 0 -0.00320281 -0.00625019 0 0.00381666 -0.0950474 0.0101133 -1.06633 -0.0155055 -0.00125055 0 0.016052 0.0366109 0.0759911 -0.102132 0.164446 0 0 0 -0.903147 -0.154794 0.785184 -0.00362794 0.0168752 -0.196163 -0.00113713 0.00445665 -0.053517 0.240793 0 0 0 0 0 0 0.0121382 0 0.0988808 0 0 0 0 -0.296856 1.53245 0 0 -0.0367949 0 0.000503111 0 0.0515035 0 0 0.140467 0 -0.168169 -0.126965 -0.00394148 0.0412205 0 0 0.421519 0 7.82274 0 -2.47619 0.605828 0 -0.70078 -0.663598 -0.000368307 0 -0.0586195 0 0 0.184372 0 2.16301 0.0488073 0 0 0.0711663 0 0 -0.0917698 0.736499 0.265291 0 0.248043 0 0.772304 0.155296 -0.205645 0.522816 0.0618484 0.166679 -0.251909 0.348489 -2.51221 -12.66 -0.0722265 0 0 0 0.078496 -0.0637418 0 0 0 0 -0.500808 8.23373 -0.404815 2.7087 0.872253 -0.818858 1.14246 -0.0226735 0.0453883 -0.0645815 0.47073 0 0 0 0 0 0 -7 0 -0.450487 0.675941 0.0219074 0.0382986 -0.0385997 0.194149 -0.909163 -1.10295 0.276846 -0.0273133 -0.203853 0.67938 -0.00102845 -0.730428 -0.0387389 2.44191 7.22677 0.0557517 -0.0780566 3.6871 0.0250138 -0.98717 0.00321615 -0.0476455 -0.856587 0.892877 -0.0277073 -0.518669 -0.126089 0.355706 0.0304564 -0.448159 -1.66909 -0.0730512 -0.70738 -0.0192773 0.133726 -3.04269 -0.182105 1.87127 -0.00917848 1.20036 -0.0152754 -2.26663 -0.0790092 0.931853 -0.343181 -0.904086 -0.00982556 0.863377 -0.307518 -11.0486 -0.0191785 0.0186644 0.177189 -0.677554 0.492212 0.788317 -0.0289736 -0.0137184 1.44049 -3.80813 0.568879 1.41253 -0.199002 0.053122 -0.731214 0.0336917 -0.0621426 -0.444531 0.631703 -0.0729355 -0.432256 -0.125489 0.201487 -1.63652 9.58292 0.803408 4.39175 0.737338 -0.339191 2.94042 -0.100519 -0.11011 0.522289 -0.181547 0.0310929 0.0260378 0.0656683 0.0785414 0.130409 0 0 0 0 0 0.0219074 0.0382986 0.00135175 0 0 0 0 0.000170666 0 -0.0142318 0 0 0.00156076 0.00496401 -0.0166897 0 -0.00218165 0.0562797 -0.105709 0 0 -0.0876842 0.000247232 0 0.0118746 0.873087 0 0 -0.00541252 0.230771 0 0.104156 0 -0.0059067 0 0 6.39643e-05 0 0 0.417075 0.00362105 0.0310469 0 0.0280098 -0.0604151 0 0 0.00172145 0 0.00253747 -0.503281 -0.0209521 0 0 -0.0029646 -0.00214456 0 0.00134368 0.0440069 -0.00483301 -0.74161 -0.0313344 -0.0103974 0 -0.00399341 0.0918387 0.112916 -0.0450966 -0.155518 0 0 0 -3.14068 -0.252856 0.308595 -0.0137953 0.00620799 -0.200916 -0.00123296 0.000416936 -0.016403 0.133891 0 0 0 0 0 0 -0.0385997 0 0.194149 0 0 0 0 -0.0967718 0.275058 0 0 -0.00415843 0 -0.0074572 0 -0.0288431 0 0 0.36345 0 -0.798876 -0.0304463 0.0691981 0.0395686 0 0 -0.215199 0 1.70101 0 -1.30977 -0.279605 0 -0.153047 -1.01579 0.00669675 0 -0.0157271 0 0 0.0281333 0 -0.133037 -0.252636 0 0 -0.029346 0 0 -0.115157 -3.02996 0.107171 0 0.507548 0 -0.193303 -0.00682507 -0.0233335 -0.122144 -0.0384146 -0.155622 -0.131978 -0.0350041 -0.793717 -5.44704 0.0515272 0 0 0 0.117069 0.0692092 0 0 0 0 -0.120104 -0.129237 0.00390137 -0.233918 0.300365 -0.505751 0.912965 0.0421739 -0.0157202 -0.0137363 0.0429891 0 0 0 0 0 0 -8 0 0.584324 0.29765 0.0636737 0.287644 -0.248735 0.153581 0.135495 1.68446 0.434626 -0.532894 0.19315 2.09657 -0.00824769 3.09109 -0.0402718 2.47489 11.7432 0.0580193 -0.0720326 4.44753 0.0556761 0.0044409 0.0115029 -0.0994597 0.191177 0.540984 0.0373197 -0.268626 -0.325856 0.781959 0.0708024 -0.111851 0.444128 0.362564 -0.178766 0.0302632 0.0502902 2.09309 0.559554 1.91428 -0.0452547 1.50719 0.0867806 8.02709 -0.212336 0.795289 -0.235012 -0.139933 -0.226286 1.54703 -0.0504195 -0.651988 -0.00941635 -0.254261 0.0670759 2.0856 -0.26459 -0.124975 -0.0150691 0.0441198 0.101082 -1.75331 -0.866645 0.711193 -0.39535 0.825997 -1.23592 -0.313545 -0.096901 -0.0800771 -0.73826 0.377743 -0.388239 -0.810143 0.437346 -2.30345 -5.72156 0.335825 -4.53023 -0.989095 -0.783149 0.0886175 -0.0237216 -0.370558 0.790827 -1.11686 0.112021 -0.150298 0.276383 -0.505962 0.584471 0 0 0 0 0 0.0636737 0.287644 0.00239925 0 0 0 0 2.23618e-05 0 -0.00586242 0 0 0.00314778 0.0104555 -0.00860371 0 -0.000874741 0.119954 -0.0577262 0 0 0.0565586 0.000542178 0 0.00935168 1.76942 0 0 0.0128946 0.47395 0 0.166484 0 0.0292118 0 0 0.00463587 0 0 0.987316 0.000677942 0.0625224 0 0.0473443 -0.123853 0 0 0.244484 0 0.00352773 -0.541365 -0.0133744 0 0 -0.00643665 -0.00444539 0 0.0074196 0.0371482 -0.00166275 -1.17522 -0.0437778 0.0144619 0 0.000700365 -0.0176131 0.0384149 -0.0469807 -0.0824571 0 0 0 -8.33186 -0.631117 -0.246891 -0.039225 0.002872 -0.414406 -0.00260963 -0.000219183 -0.0253829 0.0647454 0 0 0 0 0 0 -0.248735 0 0.153581 0 0 0 0 0.302408 1.75888 0 0 -0.543828 0 -0.0685075 0 0.0737097 0 0 0.492553 0 0.656941 0.111571 -0.147128 0.0607748 0 0 0.60657 0 13.9762 0 1.09502 1.59453 0 0.648153 0.981894 -0.0173027 0 0.053953 0 0 0.203376 0 4.58314 1.16437 0 0 0.164221 0 0 -0.129804 -0.277726 -0.167073 0 3.31741 0 -0.283863 -0.150368 0.144605 -0.232226 -0.0276781 -0.105026 -0.0673972 -0.0434842 -1.37371 7.74037 -0.0323949 0 0 0 0.571723 -0.00151934 0 0 0 0 -0.683725 3.8939 2.26122 -1.15804 -0.363648 0.512626 -0.513237 0.197519 -0.178479 0.23702 -0.226405 0 0 0 0 0 0 -9 0 0.154188 0.535924 -0.0267739 -0.0213723 0.0488454 0.284284 -1.7374 -3.06944 -0.25225 0.42952 -0.329674 0.330665 0.00774833 -0.182294 0.0316744 0.960508 1.49145 0.0159877 0.109613 -2.11335 -0.0299366 -0.827103 -0.00981428 0.049616 -0.966205 0.512866 -0.101995 -0.4639 -0.213681 0.2547 -0.0543654 0.131154 -1.73567 -0.112997 -0.682029 -0.0319448 -0.331141 -4.44741 -0.481056 -0.394358 0.0456259 -0.583577 -0.0597516 -0.241779 0.223269 0.305046 -0.372758 0.496298 0.117518 0.132261 0.680502 2.77461 -0.219732 0.260694 0.10241 2.33937 0.526661 0.675451 -0.257438 -0.116347 1.76258 -0.819692 2.99162 1.50207 0.378214 -0.0494956 0.0127507 -0.395871 0.110725 0.527135 0.955675 0.0918825 0.100926 0.180613 -0.149921 0.543808 14.1746 -0.138737 9.15513 0.596944 0.615138 3.68907 0.135092 0.406897 -1.0026 3.80971 -0.117789 0.129731 -0.143868 0.428708 0.383268 0 0 0 0 0 -0.0267739 -0.0213723 0.00393585 0 0 0 0 0.000648707 0 -0.0190722 0 0 0.00215017 0.00205954 -0.0137142 0 -0.00145775 -0.0306431 -0.164115 0 0 -0.143701 8.55657e-05 0 0.0398018 0.716856 0 0 -0.017334 0.0637653 0 0.151735 0 -0.0360641 0 0 -0.00487022 0 0 0.625088 0.0126608 0.0444846 0 0.0765527 -0.0485864 0 0 0.288534 0 0.00867682 0.1251 -0.021123 0 0 -0.00443442 -0.00538783 0 0.0172517 -0.00800338 0.00316036 -0.560336 0.037698 -0.000963914 0 0.0103024 0.0976422 0.426003 -0.146628 0.0500885 0 0 0 -5.87273 -0.425038 0.252088 -0.0280169 0.00551441 -0.322474 -0.00154028 0.00285888 -0.0430216 0.239943 0 0 0 0 0 0 0.0488454 0 0.284284 0 0 0 0 -0.402137 -1.04126 0 0 0.424921 0 0.060032 0 -0.0768639 0 0 -0.00410363 0 -0.464142 -0.143231 0.233608 0.00949784 0 0 -0.629343 0 -0.546806 0 -1.67645 -0.354268 0 -0.951349 -0.690361 0.031077 0 -0.0525322 0 0 -0.126852 0 -1.0584 0.500232 0 0 0.0885047 0 0 -0.171789 -1.55571 0.110432 0 -2.42795 0 -0.26519 0.188239 -0.23953 0.192753 -0.0846432 -0.295572 0.0577574 0.199748 2.27606 2.62445 0.102034 0 0 0 -0.0936066 -0.081837 0 0 0 0 0.294643 5.88268 -1.59725 3.79852 0.763623 -0.771099 1.01195 -0.162746 0.183131 -0.276591 0.559684 0 0 0 0 0 0 -10 0 0.0173956 -0.482869 -0.0118994 -0.0837503 -0.0470194 -0.128835 0.803505 1.0553 -0.0754237 -0.375026 0.0226336 -0.244588 0.00093001 0.339605 -0.00259327 -1.62261 -3.57304 -0.124053 -0.0161114 2.50218 -0.0488618 0.593496 -0.00143811 -0.150603 0.527207 -0.630259 -0.0541153 0.505202 0.994817 -0.28055 -0.00988343 -0.125648 1.22488 -0.128922 0.408986 -0.00390139 -0.27205 2.77858 -0.0512671 0.64386 0.00455731 -1.0159 -0.0159992 2.0944 0.0154753 -0.234041 0.69215 -0.229168 0.0696428 -0.838768 -0.11053 7.70174 0.0131702 -0.000168859 -0.0256962 1.95536 0.671473 0.55148 0.270033 0.0042576 -1.93902 -2.78855 -1.14775 -1.29658 0.472709 -0.977338 0.750232 -0.31154 0.00679921 0.247682 0.0264821 -0.140356 0.295913 -0.63911 -0.4447 1.37073 -8.04425 -0.262402 -3.16357 -0.563999 0.722309 -4.49167 0.674665 -0.34241 0.254433 -2.60695 -0.00816423 0.01372 -0.276294 0.0586189 -1.78435 0 0 0 0 0 -0.0118994 -0.0837503 -0.000498494 0 0 0 0 -1.52335e-06 0 -0.000363752 0 0 -0.000619375 -0.00154712 0.00165975 0 3.01919e-05 -0.0326659 0.0130897 0 0 0.0867996 -7.52074e-05 0 0.00258961 -0.518609 0 0 0.0111143 -0.16119 0 0.00956524 0 0.00847656 0 0 0.00102077 0 0 -0.137653 -0.000194711 -0.0130552 0 -0.0120778 0.0187154 0 0 -0.147885 0 -0.000855879 0.00806315 0.00387802 0 0 0.000972134 0.000827162 0 -0.00588206 -0.0607538 -0.00495171 0.282956 0.0122181 -0.00147389 0 0.000154639 0.0114193 -0.0916798 0.000741508 -0.0663118 0 0 0 1.12659 0.0905059 0.0337027 0.00495559 -0.00342695 0.0868583 0.000429701 -0.00101167 0.0135454 -0.0350344 0 0 0 0 0 0 -0.0470194 0 -0.128835 0 0 0 0 0.0690666 -1.01289 0 0 -0.225003 0 -0.034553 0 -0.0707201 0 0 1.03808 0 0.463917 0.0255822 -0.189126 0.130841 0 0 -0.531027 0 0.657536 0 0.748684 -0.00273801 0 0.225839 0.459011 -0.0264273 0 0.00036115 0 0 -0.136818 0 0.268223 1.79563 0 0 0.228033 0 0 -0.171953 0.758139 0.154944 0 -0.226404 0 0.452418 -0.141217 0.0363962 0.151569 -0.0455233 -0.0629108 -0.125153 0.0454194 2.10703 8.84509 0.0387567 0 0 0 0.235923 -0.0194963 0 0 0 0 0.0361043 -11.0068 0.46528 -2.75474 -0.0113142 -0.227614 0.140126 0.0364532 -0.0868196 0.196104 -0.184286 0 0 0 0 0 0 -11 0 -0.0693869 -0.0499976 0.0748276 0.247259 -0.342451 -0.0167211 0.451829 1.70015 0.556577 -1.09629 0.45859 0.782393 -0.0214446 2.06355 0.12846 0.139865 -0.633913 -0.219971 0.194682 -1.20466 -0.0271918 0.0763624 0.0323794 -0.249373 0.156305 0.140994 0.0243123 -0.279916 -1.59776 0.581485 0.133276 0.780227 0.054433 0.155025 -0.00890998 0.111441 0.159935 0.343293 0.792059 0.0123761 -0.0592228 1.03002 0.19089 2.66989 -0.0830764 0.308574 -0.650271 1.3518 -0.274166 -1.18262 -0.336313 7.48269 -0.468446 0.193032 0.257476 2.62296 0.926927 1.40077 0.337393 0.0445729 -0.538727 -3.69065 0.466801 -0.126965 0.702907 -0.00651531 0.391095 0.00546422 -0.227554 0.489555 -0.20343 0.478364 -0.382356 -0.366818 -0.673711 2.40646 -1.36542 2.73117 -4.54957 -1.51923 0.369952 0.106784 0.540714 -0.553168 1.91297 -2.78226 0.0779878 -0.411016 0.793886 -1.1737 1.69019 0 0 0 0 0 0.0748276 0.247259 0.00525403 0 0 0 0 0.00110809 0 -0.00723532 0 0 0.00364596 0.0186878 -0.0605195 0 -0.00799859 0.189166 -0.0612951 0 0 -0.169939 0.000888124 0 0.0695598 2.02629 0 0 -0.0105701 0.65966 0 0.352367 0 -0.0408651 0 0 -0.0020194 0 0 1.53213 0.023467 0.0744586 0 0.109254 -0.0966191 0 0 0.294938 0 0.00985245 0.181615 -0.0238228 0 0 -0.00687342 -0.00832684 0 0.0157197 0.0301861 0.0124275 -0.0203047 0.039244 0.00269476 0 0.0191249 -0.085905 0.548129 -0.0958675 -0.188713 0 0 0 -12.3513 -0.747986 -0.469465 -0.0555879 0.0728934 -1.2495 -0.00276318 0.00292839 -0.0555585 0.080557 0 0 0 0 0 0 -0.342451 0 -0.0167211 0 0 0 0 0.393571 0.809762 0 0 -0.923945 0 -0.116223 0 0.0381025 0 0 -0.16385 0 0.494512 0.149359 -0.370405 -0.0241201 0 0 0.27596 0 2.54857 0 0.364494 0.923363 0 1.195 0.407333 -0.0479318 0 0.0436596 0 0 0.102034 0 1.62258 -0.564493 0 0 -0.0519929 0 0 -0.664547 1.72801 -0.545285 0 1.76486 0 0.315445 -0.0169185 0.234796 0.569026 0.125845 0.115081 -0.269356 0.0640097 0.0472039 4.92086 -0.192473 0 0 0 0.612174 0.0231085 0 0 0 0 -0.317627 2.96093 3.07744 -3.33541 -0.137062 0.343769 -0.524661 0.286786 -0.326415 0.527595 -0.689124 0 0 0 0 0 0 -12 0 1.08763 -0.339703 0.0929581 0.0620113 0.0618232 -0.244834 1.09338 1.1106 0.501591 -1.66018 0.280322 -1.07438 -0.0410199 -1.1351 -0.0353698 -1.82408 -4.17528 -0.34578 -0.197758 -1.78141 -0.0978375 0.818244 0.0516006 -0.553804 0.762147 -0.744218 -0.0464321 0.38465 -0.551802 -0.568304 0.184114 -0.171205 0.984223 -0.0881162 0.698118 0.0594257 -0.00941733 -0.462672 0.636543 -1.28578 -0.152424 0.59185 0.167029 -2.3867 -0.486016 -0.934852 0.0678156 -0.613687 -0.338627 -0.557586 -0.76854 5.06392 0.344794 -0.186407 0.332673 0.958802 0.438991 0.00423121 0.775857 0.281996 -2.05366 -0.292218 -1.78961 -1.25907 0.505317 -0.244556 0.468115 -0.422644 -0.262368 -0.0731759 -0.491987 0.369057 -0.0129571 0.725302 -0.647967 1.06822 0.909611 1.33353 0.127095 1.92448 -1.7992 2.72689 1.70542 -1.1512 1.632 -0.275263 0.456247 -0.528363 0.516067 -0.597346 0.583723 0 0 0 0 0 0.0929581 0.0620113 -0.00112013 0 0 0 0 0.000192605 0 -0.0498714 0 0 -0.000243409 0.0145843 -0.146375 0 -0.0194829 0.0471023 -0.365096 0 0 -0.100086 0.000668821 0 -0.0188539 -0.78145 0 0 -0.010787 -0.083534 0 -0.0776348 0 -0.0274702 0 0 -0.00119387 0 0 -0.673992 0.00415405 -0.00162333 0 -0.0238746 0.00257757 0 0 -0.0934623 0 -0.00208484 -0.934988 -0.0232388 0 0 0.000548819 0.00176201 0 -0.00162163 0.0272933 -0.00503628 -0.453494 -0.074179 -0.0389019 0 -0.0110741 0.286128 0.099174 -0.0570806 0.0350712 0 0 0 5.72741 0.259743 1.69934 0.0264055 -0.0126404 0.386278 0.000387175 0.00318966 -0.0261531 0.397885 0 0 0 0 0 0 0.0618232 0 -0.244834 0 0 0 0 0.297952 1.42233 0 0 -0.490541 0 -0.0649882 0 0.0278932 0 0 -0.213933 0 0.41794 0.0230929 -0.20806 -0.0245706 0 0 0.225301 0 1.43929 0 -2.32828 -0.0767548 0 0.162597 0.0516616 -0.0277963 0 0.0432921 0 0 0.170198 0 0.0191173 -0.810889 0 0 -0.105753 0 0 -0.149354 0.167227 -0.0662433 0 1.26226 0 0.0865308 0.110864 -0.0101787 0.277215 0.113139 0.162118 -0.163754 -0.0303093 -1.4154 -1.3407 -0.117187 0 0 0 0.233394 0.0539795 0 0 0 0 -0.387902 13.0631 2.4701 -0.519182 0.780618 -0.621508 1.00488 0.175551 -0.169294 0.255116 -0.121288 0 0 0 0 0 0 -13 0 -0.17679 -0.466342 -0.0371808 -0.0858168 0.0607652 -0.040671 0.304687 1.15219 -0.247871 -0.926725 -0.315125 0.711885 0.0128282 1.3673 -0.105015 -2.06737 -6.37106 -0.241063 -0.107423 3.68447 -0.0998675 0.559434 -0.0178078 -0.301294 0.488495 -0.70835 -0.140282 0.410849 0.829927 0.225789 -0.0690255 -0.669395 1.20021 -0.631643 0.273392 -0.0806937 -0.693694 2.68222 -0.521829 1.74984 0.0413415 -2.99388 -0.130215 4.22726 0.0991218 0.644406 0.475722 -0.822277 0.255311 -1.72139 -0.43797 6.03403 0.191344 -0.065993 -0.119214 -2.84996 0.327311 0.564721 0.41989 -0.0563902 -0.649923 -4.1157 -0.749905 -0.93217 1.20768 -0.529732 0.389171 -0.831007 0.109998 0.4145 0.266359 -0.492412 1.05655 -3.00115 0.335764 3.22646 -6.27686 0.396117 -2.60513 -0.937835 1.21105 -2.95658 1.25349 -1.1381 1.52551 -2.60696 -0.0930504 0.291756 -0.441974 0.668053 -0.877937 0 0 0 0 0 -0.0371808 -0.0858168 -0.00256624 0 0 0 0 -0.000648208 0 -0.00170956 0 0 -0.00141757 -0.00987129 0.03109 0 0.00329595 -0.13609 0.0205494 0 0 -0.0606185 -0.00046328 0 0.0469787 -1.71755 0 0 -0.00576424 -0.497611 0 0.110522 0 -0.0102068 0 0 -0.00157108 0 0 -0.0426562 -0.0138335 -0.0301872 0 -0.0549834 0.0540398 0 0 -0.260402 0 -0.00476872 0.0882737 0.0129944 0 0 0.00263919 0.00403031 0 -0.00224748 0.0326018 -0.0111664 1.71736 0.0360411 -0.0230532 0 -0.00923211 0.0696225 0.0172462 0.0671114 -0.256297 0 0 0 0.373178 0.130143 -0.0505412 0.00174221 -9.30923e-05 0.0185015 0.000999429 -0.00238965 0.0326379 -0.0296978 0 0 0 0 0 0 0.0607652 0 -0.040671 0 0 0 0 0.223285 -2.47944 0 0 -0.150544 0 -0.0253725 0 -0.138329 0 0 0.649613 0 0.536738 0.0820745 -0.0886454 0.074966 0 0 -1.11769 0 -6.14128 0 1.79948 -0.505519 0 0.513 0.844503 -0.0127253 0 0.040738 0 0 -0.304716 0 -1.9048 1.44075 0 0 0.159769 0 0 -0.350117 -1.61871 -0.185738 0 -1.72483 0 -0.560699 -0.115015 0.0906634 -0.0596499 -0.110889 -0.45549 -0.0781626 -0.215349 4.70164 17.0008 0.129201 0 0 0 0.177493 0.048957 0 0 0 0 0.541416 -11.4229 0.675964 -3.05231 -0.225889 0.0408535 -0.273627 0.061797 -0.0943719 0.171823 -0.398009 0 0 0 0 0 0 -14 0 -0.360831 -0.0323764 0.0247246 0.0922011 -0.0937539 0.0191402 -0.00977133 -0.134655 -1.8134 0.534012 0.070036 1.11833 -0.165537 1.33332 0.0859014 -0.236246 -2.05392 0.064546 0.437357 0.0937475 0.0909388 0.0479156 -0.0842365 0.576013 0.154091 -0.0052173 -0.115528 -0.0197894 -0.107472 0.391286 -0.49032 0.215804 -0.0224407 -0.68737 0.0973663 0.0583622 -0.114608 -1.3143 0.168803 0.000614598 -0.17634 -2.18501 0.148003 4.10654 -0.204614 -0.00174825 -0.0431387 1.04419 -0.0542582 0.875643 1.0246 0.893025 -1.39882 0.0482768 -0.012478 0.167341 -1.12577 0.372293 -0.850319 0.024352 0.728422 0.169802 0.0912345 1.79032 -0.679794 -0.468785 -2.09532 0.417792 2.2887 0.000547628 0.229903 0.0449257 0.358037 0.81019 0.00305944 -0.279962 5.80864 -0.0584615 0.243582 -0.685418 0.223497 0.274363 -0.344856 -0.254808 0.209691 -0.514139 0.0716785 -0.0468577 0.0275614 -0.0162899 0.00917822 0 0 0 0 0 0.0247246 0.0922011 -0.0126745 0 0 0 0 -0.00328926 0 0.0291657 0 0 -0.000959255 -0.0142722 0.096627 0 0.0136195 1.06 0.274995 0 0 1.73126 -0.000649729 0 0.204086 7.00196 0 0 0.221197 2.69513 0 0.326197 0 0.618185 0 0 0.0762646 0 0 0.391743 -0.0656584 -0.0186367 0 -0.23839 0.0260846 0 0 0.447215 0 -0.00766656 -1.0004 -0.0273554 0 0 -0.0034553 0.0341754 0 0.0468895 0.607507 0.00307607 -4.5769 -0.0275743 0.0488413 0 -0.126849 -0.107715 0.722221 -0.285118 -0.142538 0 0 0 -10.0698 -0.574582 -1.74785 -0.0460902 -0.0577367 -0.00246348 0.000427544 -0.00123193 0.00232103 -0.0272104 0 0 0 0 0 0 -0.0937539 0 0.0191402 0 0 0 0 -0.0379776 -0.948336 0 0 -0.298171 0 -0.0304727 0 -0.0192381 0 0 0.0333784 0 -0.113881 -0.0242694 -0.0419105 0.00371701 0 0 -0.159549 0 -4.29269 0 -2.06952 0.00264889 0 -0.0927754 -0.567024 -0.00266828 0 -0.00903598 0 0 -0.11156 0 -0.543839 0.14633 0 0 0.024392 0 0 -0.304196 0.915784 -0.171196 0 -0.838088 0 0.0814484 0.0970918 0.0905956 -0.120931 -0.104641 0.327342 0.165942 0.108845 0.600114 -0.552073 0.0866875 0 0 0 -0.0415845 -0.127275 0 0 0 0 0.264042 19.7971 4.13295 -0.625901 1.16785 -0.526215 0.647859 0.301294 -0.170951 0.170054 -0.0174692 0 0 0 0 0 0 -15 0 -1.74981 -0.180366 0.19479 -0.141343 -0.0472079 -0.0341252 0.191641 0.460052 -0.0609859 0.822719 0.0158986 0.840814 -0.50052 0.255554 -0.00418887 1.50318 2.57965 -0.209189 -0.141686 -0.515926 -0.16209 0.17329 0.593498 0.533957 0.334929 0.609663 -0.0242707 0.00543818 0.0206274 0.202934 0.723957 0.171332 1.23261 -0.315158 0.106786 0.0312357 -0.647567 6.99018 0.0539241 -0.138911 -0.392623 -2.06232 0.115436 1.80929 -0.269384 -0.0341018 0.00848065 0.70482 -0.18143 0.728863 -0.384145 -6.85084 -0.537922 -0.20894 0.0820144 1.51728 -1.66906 0.582454 -0.21626 0.366449 1.06604 -0.52778 -2.19585 1.04007 -0.73044 0.486711 -0.935033 0.39592 0.0415486 -1.4075 -0.0265205 0.0760188 1.73671 1.41801 -0.0364445 -3.42038 -27.2244 -3.40676 -0.797515 -4.43193 4.10085 -6.50138 -0.898504 0.326861 -0.392984 -0.06427 0.0943683 -0.0322095 0.00788987 -0.000559474 -0.00176161 0 0 0 0 0 0.19479 -0.141343 -0.00147558 0 0 0 0 0.00220936 0 0.00148894 0 0 -0.00110761 -0.0890817 -0.0623125 0 -0.0146898 0.136818 -0.0254981 0 0 -0.360488 -0.0045075 0 -0.876518 -1.59451 0 0 -0.0547433 -0.310649 0 -1.50303 0 -0.375908 0 0 -0.0527484 0 0 -1.27408 0.0379102 -0.0247951 0 -0.0347726 0.171463 0 0 -0.708545 0 0.0072796 0.223667 0.00875984 0 0 0.00397294 0.00977134 0 -0.0282408 -0.112282 -0.0185688 1.22572 0.0614324 0.0152873 0 0.000355272 0.0228722 -0.128228 0.0471051 0.157396 0 0 0 11.2624 0.711635 0.897134 0.0483099 0.0573723 0.0673784 0.00205828 0.00189779 -0.00234957 0.00958323 0 0 0 0 0 0 -0.0472079 0 -0.0341252 0 0 0 0 -0.0125519 0.0550934 0 0 0.195177 0 0.00988143 0 0.00317 0 0 -0.037554 0 0.0377387 0.0234714 0.0424065 -0.00197988 0 0 0.00481324 0 -0.632316 0 2.89844 0.0223073 0 -0.103758 0.47372 0.00245101 0 0.00443619 0 0 0.020623 0 0.00812677 -0.304397 0 0 -0.0281381 0 0 -0.203358 -2.2523 0.106201 0 -0.56297 0 0.581282 -0.101024 0.0230202 0.363188 0.0121617 -0.649084 -0.964466 -0.0649957 -0.701258 -4.48499 -0.109519 0 0 0 -0.0926339 0.0599341 0 0 0 0 -0.0252643 -24.8125 -3.55909 1.50192 -1.9606 1.42751 -1.64924 -0.178869 0.15939 -0.163631 0.0868871 0 0 0 0 0 0 -16 0 -0.270966 -0.184027 -0.0604575 -0.0905579 0.108126 0.0158779 0.125162 0.40223 -3.1684 -0.433939 0.07774 0.333083 -0.103485 0.13427 0.107466 -1.60091 -4.80384 -0.126646 0.71951 -0.854627 -0.0484486 0.0237904 -0.486728 -0.25165 0.157382 -0.524219 -0.188433 -0.00190345 -0.220031 0.00350511 -1.29359 0.250847 0.0358596 -0.684426 0.0215307 0.0259091 -0.920623 0.611157 0.429761 -0.0969294 -0.308759 -2.85819 0.166827 1.29192 -0.812682 -0.003997 -0.0355014 1.73562 0.2048 -0.237984 0.24083 1.29722 -2.07015 0.158133 -0.0711534 1.77113 0.690086 1.34129 -0.198567 -0.313779 0.629697 -0.868479 0.226523 -0.104136 0.352967 -0.389257 0.703953 -0.392965 3.7119 -1.14959 0.403254 -0.100883 0.5074 -0.287565 0.0307212 0.85471 0.084667 0.48827 0.166338 1.1625 -0.425134 0.355631 -0.284864 0.166971 -0.0684344 -0.125126 0.284692 -0.143951 0.0732417 -0.0369448 0.0187909 0 0 0 0 0 -0.0604575 -0.0905579 -0.0129651 0 0 0 0 -0.00634987 0 -0.0285368 0 0 0.00265261 0.0272867 -0.0618557 0 -0.0107882 -0.392857 -0.162714 0 0 -0.654163 0.0015121 0 0.0116914 -4.49546 0 0 -0.0917846 -1.47753 0 0.0760712 0 -0.262716 0 0 -0.0361496 0 0 0.216779 -0.122143 0.0465453 0 -0.252922 -0.067637 0 0 -0.352807 0 -0.0154046 -1.27452 0.0217599 0 0 -0.00545827 0.0280088 0 -0.0296826 -0.0495605 -0.0310996 -1.29359 -0.164827 0.028381 0 0.01487 0.0716928 -0.229016 0.113973 0.0846319 0 0 0 -1.53676 -0.267678 0.636298 -0.00946113 -0.00249218 -0.0259062 -0.00212472 -0.00143468 -0.00446985 0.0155541 0 0 0 0 0 0 0.108126 0 0.0158779 0 0 0 0 0.0382177 -0.359555 0 0 -0.0389935 0 0.00262022 0 -0.0020522 0 0 0.0281428 0 0.0185873 0.0178359 -0.00902641 0.00167759 0 0 -0.0355253 0 -1.60602 0 0.208259 -0.0629378 0 0.0766525 0.0147731 0.000370438 0 0.00637339 0 0 -0.0266552 0 -0.192161 0.0950722 0 0 0.0145409 0 0 0.0883956 2.1377 -0.0814091 0 -0.00931382 0 -0.273262 0.0101873 0.0351078 -0.0616229 -0.0728945 -0.0530757 0.564867 0.0081787 0.108821 2.71833 0.0473585 0 0 0 -0.0639352 0.0157499 0 0 0 0 0.115802 2.05383 0.419007 -0.360624 -0.177772 0.0642749 0.109284 -0.0586237 0.0504371 -0.0151968 0.0355482 0 0 0 0 0 0 -17 0 0 0 0.212765 -0.247103 0 0 0 0 1.90144 0.443722 -0.270175 0 -0.405172 0 0.0329873 0 0 0.0504901 0.492016 0 -0.00617227 0 0.886639 0.0596703 0 0 0.815085 0 0 0 1.30839 -0.029645 0 1.61341 0 0.00610689 2.69664 0 -0.6611 0 0.00738461 5.69819 0.13687 0 2.45333 0 0 0.342499 0.849535 0 0.824258 0 0.874398 0.39809 0.409169 0 -0.433413 -0.501445 -0.141877 -0.628759 0 0 0 0 -0.610755 0 0.195522 2.62967 -3.72972 0.886809 0.0212973 -0.239565 -2.59791 0 0 -0.739295 0 0.617411 0 -5.09291 1.74743 0 -4.46389 1.71525 -0.0210415 0 -7.5895 3.97874 -3.02236 1.19652 0 0 -0.266115 -0.0356754 0.0482922 0.0052401 0.212765 -0.247103 -0.0656318 0.0565692 0.293856 0.00089649 0.0060006 -0.00267657 0.011479 -0.0619308 -0.0483397 0.00881545 -0.00489196 0.0599662 -0.253135 -0.521458 -0.0596328 1.26537 -0.187417 -0.00424296 0.323179 2.39854 0.0012312 -0.000532543 0.0385404 7.69227 -0.200986 -0.00589575 0.336841 3.41692 0.0395879 0.578348 0.0347478 0.80927 -0.0251328 -0.00147217 0.102588 0.0706185 4.92759e-05 1.08917 -0.0564824 -0.00961521 0.00456252 -0.725585 0.210018 0.041047 0.028912 -0.159788 -0.0580094 0.0377183 0.208707 -0.111394 0.157081 -0.0951465 0.00686678 0.347284 0.0108385 -0.0142693 -0.397972 -0.0263042 -4.62628 0.140562 0.0175739 0.0638331 -0.149648 0.273229 -2.52815 0.977903 -0.174669 -0.0424185 -0.114983 -0.0243863 -0.930114 -0.00946623 0.282982 -0.156304 0.16482 -0.0721522 0.0139157 -0.0158248 0.00649672 -0.0102697 -0.0174991 0.0192614 -0.0148423 0.00485937 0.0583008 0 0 0.0482922 0 0.0052401 0 0 0.406647 0 0.317393 0.0901651 -0.00782472 0.194512 0.0135066 0.00961929 0.0473058 -0.0184719 -0.0372978 0.602327 0 0 0 0 0.105335 0 -0.140367 0 -0.109714 0 0 -0.103642 0 0 0.00262537 0 0 0.0185053 -0.0064105 0 -0.0164844 0 0.0593789 0 0 0 -0.00296153 -0.04555 0 0 -0.129992 0 0 0 0.202435 0 -0.247488 0 -0.342808 0.408802 0.127298 0 0 -0.125017 -0.0298886 -0.713448 0 0.0795669 0 -0.0622147 0 -0.228533 0.0882673 0.181669 -0.0899495 -0.114944 0.0997537 0.155673 0 -0.677388 0 -3.68875 0.742404 0 -1.63313 0.704392 -0.268216 0 -1.7241 0.928037 -0.474432 0.0761165 0 0 -18 0 0 0 0.0170252 0.0251478 0 0 0 0 -3.27233 -1.78056 0.190677 0 -0.408804 0 0.0862514 0 0 -0.364901 0.960776 0 -0.0756892 0 -0.56623 -0.465425 0 0 0.0129813 0 0 0 -1.4562 -0.692185 0 -0.333989 0 0.0643235 0.177563 0 1.17549 0 -0.865098 -0.162913 0.282639 0 -2.68729 0 0 0.132767 -1.09976 0 -1.79966 0 -0.56313 -0.481657 -0.0451481 0 0.00729078 0.621319 1.77339 1.3606 0 0 0 0 -0.29862 0 0.455165 1.02177 5.17635 -0.113288 -1.71709 0.509904 2.80622 0 0 2.77689 0 5.85542 0 9.27 -2.72474 0 5.43163 -2.82224 2.7413 0 6.82766 -4.18246 4.37396 -2.32787 0 0 0.0278102 0.00688175 -0.0592334 -0.00576325 0.0170252 0.0251478 0.0498477 -0.0172671 0.272119 -0.000667838 -0.00157958 -0.00799829 -0.00861553 0.0025398 0.0089818 -0.00519899 -0.00685408 0.0526119 0.120802 0.0656159 0.0227879 0.542835 0.110879 0.00101293 -0.162123 -0.194067 0.0128278 0.00665277 0.0832237 1.35749 0.145641 0.0179547 -0.0287789 0.777423 0.0180991 0.000563703 0.0347912 0.0651418 0.0351835 0.112361 0.0232254 -0.0345594 -0.000326606 -0.234485 -0.174478 -0.109752 0.00334828 0.161893 -0.066804 -0.0582627 0.0546766 0.144062 0.0682334 0.143773 0.451906 -0.176613 -0.0205277 -0.0734932 -0.0133563 -0.115073 0.05157 -0.0661745 0.0899957 0.0434338 -4.01361 0.25931 -0.0665869 -0.0303287 -0.235447 0.0605575 -0.178311 -1.28315 -0.387027 -0.0394232 0.0340696 0.0117321 0.200242 -0.234596 -0.0910378 0.326982 -0.375229 -0.0281773 -0.0220996 0.0411602 -0.040174 0.0110575 0.00778003 -0.032954 0.0658127 -0.0679684 -0.0422467 0 0 -0.0592334 0 -0.00576325 0 0 -0.189999 0 -0.532728 -0.0744945 -0.00267574 -0.649663 -0.0118171 -0.157074 -0.00308347 -0.0422441 -0.0240215 -0.462607 0 0 0 0 -0.397897 0 -0.0844357 0 -0.37638 0 0 0.388862 0 0 0.0037239 0 0 -0.0873209 0.00816752 0 0.0540746 0 -0.0840212 0 0 0 -0.00250756 0.0659794 0 0 0.0676036 0 0 0 -0.073181 0 0.120709 0 0.215006 -0.198522 0.455283 0 0 0.230474 -0.653431 -0.37836 0 -0.302422 0 -0.152067 0 -0.0921082 0.859861 -0.486716 0.47947 0.383347 0.00176755 0.210176 0 2.66054 0 3.05874 -1.51844 0 1.84615 -1.10202 0.622801 0 0.898041 -0.896975 0.806183 -0.466616 0 0 -19 0 0 0 0.189262 0.189109 0 0 0 0 1.36504 0.442469 0.535548 0 -0.370522 0 -0.042021 0 0 -0.0990019 0.0105129 0 -0.043313 0 0.484059 0.26036 0 0 0.460825 0 0 0 0.766535 -0.519071 0 0.60759 0 0.126117 2.04398 0 1.6876 0 -0.731311 2.95645 0.547868 0 -1.96524 0 0 -1.91699 -1.61605 0 0.534619 0 0.346652 -0.403405 0.542684 0 -0.70036 -0.756551 -0.388359 1.23746 0 0 0 0 -0.0777269 0 0.223192 1.70519 -1.26385 -0.830242 0.242843 1.95786 -0.479965 0 0 -0.154975 0 0.0692085 0 3.3734 -1.85187 0 1.50348 -1.13977 0.10709 0 6.17173 -4.74081 2.83762 -2.2943 0 0 0.186972 0.0249731 0.099655 -0.065262 0.189262 0.189109 0.0584183 0.0498355 -0.510098 -0.000613067 0.00417534 0.0096217 -0.0170508 -0.155514 0.0338483 -0.00606851 0.0319483 0.170246 -0.207644 0.36605 -0.055214 0.653789 -0.681753 0.00296442 0.474181 0.2146 0.0140292 0.0196269 0.135665 4.45618 0.533057 -0.00157724 0.0181088 2.04641 -0.0432829 0.532865 -0.0464219 0.399388 0.101626 -0.0739045 0.0249684 -0.0488209 -0.000703918 1.27481 0.146418 0.40601 -0.00432529 0.689521 0.322951 -0.0390823 -0.0322803 0.0504726 0.0996584 0.0180803 0.788907 -0.0709673 -0.110244 0.123697 -0.0258754 -0.204249 -0.203515 0.0255235 -0.395037 0.00231497 -3.13932 0.158368 -0.0443101 -0.0237624 0.209014 0.204081 -0.450964 -0.239792 -0.57702 0.0229798 0.0237465 0.016865 -1.08864 -0.476829 0.528648 0.0452547 0.0194863 -0.412501 -0.036801 0.0573098 -0.103631 0.19821 0.0121206 -0.0110653 -0.00222535 0.0278078 -0.154626 0 0 0.099655 0 -0.065262 0 0 -0.365964 0 -0.883435 0.0444626 -0.0824521 -0.80394 0.011557 -0.131646 -0.101826 -0.0339916 -0.10642 -0.0808466 0 0 0 0 -0.133656 0 -0.718543 0 0.00303763 0 0 -0.11427 0 0 -0.0183293 0 0 -0.0346632 -0.0075032 0 -0.0241072 0 -0.244006 0 0 0 -0.0144863 -0.0556901 0 0 -0.278646 0 0 0 0.117479 0 0.225062 0 -1.03697 0.371279 0.356513 0 0 -0.690319 -0.413057 0.220879 0 -0.258532 0 -0.226701 0 -0.217285 0.350098 0.0768363 -0.0854188 -0.154644 0.0999986 0.234774 0 5.12984 0 2.0032 -0.148567 0 1.71372 -0.676144 0.571896 0 0.21079 0.0210786 0.0744976 0.0643425 0 0 -20 0 -0.664041 -0.142974 -0.077982 -0.237593 -0.0113006 -0.0149252 -0.157169 -0.311337 -0.709411 0.355996 -0.125918 0.478537 -0.00941327 0.222154 -0.18855 0.722532 0.824916 -0.121649 -0.640762 -0.185155 -0.165181 0.169936 -0.0918513 -0.144726 0.0510313 0.272096 -0.565665 0.0244481 0.281106 0.0776259 -0.197528 -0.327108 0.648855 -1.2833 0.0178366 -0.0627471 -1.95434 2.21037 -0.214557 -0.0875657 -0.16236 -4.69832 -0.143488 1.23055 -0.693874 -0.0319187 0.0875728 -1.03102 -0.146254 -1.05238 -0.0423472 -2.41323 -0.99657 -1.1885 0.525955 -1.34688 0.252958 1.03739 0.225502 0.436371 0.371651 -0.0884381 0.815282 1.33107 2.51343 0.280674 -0.824183 -4.62691 0.862032 -0.424548 -0.0209966 -0.0644562 -0.686088 0.162306 -0.246462 -2.15754 -6.92874 -4.79517 1.54096 -3.36449 3.00133 -4.19743 -0.384312 1.33931 -2.07104 1.23422 2.45624 -0.1946 -0.190448 0.327644 -0.248823 0 0 0 0 0 -0.077982 -0.237593 -0.0106516 0 0 0 0 -0.00419195 0 -0.0184747 0 0 0.014192 0.093648 -0.120399 0 -0.00833317 -0.561358 -0.306559 0 0 -0.434492 0.00671901 0 -0.420283 -5.62875 0 0 -0.0400822 -1.95775 0 -0.647682 0 -0.213309 0 0 -0.0227165 0 0 -0.879867 -0.0561034 0.196075 0 -0.141836 -0.0373761 0 0 -0.16371 0 -0.031884 -0.194268 0.0900707 0 0 0.0097229 -0.0207137 0 -0.0254882 0.157033 -0.0027159 2.37614 -0.091554 0.028855 0 -0.0383865 -0.176 1.02266 -0.30437 0.0859864 0 0 0 3.5732 0.0205486 0.528975 0.0342449 -0.0267602 0.130778 -0.00882182 0.0158748 -0.0366863 0.0715826 0 0 0 0 0 0 -0.0113006 0 -0.0149252 0 0 0 0 -0.0262373 -0.129883 0 0 0.456178 0 0.0550053 0 -0.00791248 0 0 0.0421651 0 0.160689 0.00206478 0.0891129 0.00852214 0 0 -0.0550186 0 -2.68538 0 1.73266 -0.137137 0 -0.0269651 0.481072 0.010443 0 -0.00168455 0 0 -0.0210196 0 -0.637673 -0.247685 0 0 -0.0261718 0 0 -0.0263238 -0.837777 -0.0474207 0 -0.264484 0 0.976932 -0.272267 0.15898 -0.0067358 0.10836 0.409666 -0.896657 0.0772785 0.594711 -0.898423 -0.00420613 0 0 0 0.0726041 -0.0397331 0 0 0 0 -0.00724648 -15.9556 -4.50995 1.13287 -1.47875 1.22799 -1.37518 -0.507626 0.361327 -0.293796 0.00015456 0 0 0 0 0 0 -21 0 0.0319981 0.0247466 -0.109306 -0.0819507 -0.0954576 0.0619015 -0.428762 -0.189193 1.56837 -0.590189 0.0523884 -0.653902 0.401673 -0.711798 -0.155879 -1.45417 0.0752931 0.0756677 -1.08859 0.340839 0.0656193 -0.269414 -0.251807 -0.0586711 -0.297821 -0.756918 -0.3825 -0.0358223 -0.297913 -0.204919 0.248371 -0.295435 -1.0012 -0.243736 -0.176002 -0.0105996 -0.682269 -4.61515 0.0106153 0.164619 0.686268 0.061248 -0.110059 -1.14163 1.03235 0.0474963 -0.110433 -1.80568 0.359524 -0.883232 0.305911 9.04235 1.12005 -0.411291 -0.00465213 4.62924 2.04682 0.469472 -0.214305 -0.886371 -3.28229 -0.206011 1.58255 -1.25858 0.252309 0.293916 0.982599 -0.192404 -1.91451 2.397 -0.789512 -0.0568331 0.221332 1.05921 0.140429 2.08549 22.6993 9.49064 -2.52003 5.40095 -3.93035 5.34446 -0.0196561 -0.231347 1.18024 -0.0755316 -3.6544 0.835737 0.0703962 -0.251296 0.2637 0 0 0 0 0 -0.109306 -0.0819507 0.0569866 0 0 0 0 0.0326494 0 -0.0388385 0 0 0.0016407 0.000711028 -0.0665751 0 -0.024122 0.0535761 -0.0839282 0 0 0.164178 -0.000212128 0 0.509228 4.91229 0 0 0.0321313 1.28203 0 0.771246 0 -0.146424 0 0 -0.0152615 0 0 0.990266 0.455328 0.0334995 0 0.793052 0.147863 0 0 -0.377843 0 -0.00683746 0.469051 0.0131059 0 0 0.00695974 -0.163101 0 0.0332731 0.0228978 -0.0583603 -5.1546 -0.00799976 -0.0511421 0 0.0952529 -0.0579831 0.218323 -0.728887 0.00111731 0 0 0 -3.34467 0.200886 -0.434596 -0.0644447 0.146287 -0.369901 -0.000431242 -0.00549223 0.0194057 -0.034365 0 0 0 0 0 0 -0.0954576 0 0.0619015 0 0 0 0 0.143848 0.29172 0 0 -0.287058 0 -0.0480163 0 0.0193121 0 0 -0.0468329 0 -0.126102 0.0716949 -0.126678 -0.00448511 0 0 0.130446 0 0.487437 0 -0.35406 -0.230284 0 0.490406 -0.260063 -0.0173849 0 0.0188034 0 0 0.0614323 0 -0.403059 0.234883 0 0 0.0372332 0 0 0.125793 0.0556662 0.455702 0 -0.13549 0 -0.986118 0.363551 -0.410136 0.662349 -0.0302341 -0.443325 0.841532 -0.180188 -0.131032 -3.32678 -0.0314139 0 0 0 0.0172726 0.16491 0 0 0 0 -0.121393 0.611755 2.35198 -3.1231 0.685462 -0.661497 0.656368 0.238193 -0.289325 0.384881 -0.484742 0 0 0 0 0 0 -22 0 -0.598676 -0.010691 -0.352259 -0.23929 0.238855 0.133435 -0.390972 -1.32564 -2.59168 2.37765 0.397905 0.554755 0.338948 1.17176 0.06809 -0.160738 -2.50543 0.83181 0.123697 0.758533 0.436444 -0.16029 -0.692349 0.904638 -0.376851 0.0801798 -0.261895 -0.116163 -1.46845 0.15214 -1.20952 0.24457 -0.0658772 -0.730425 -0.13334 0.105297 -1.28351 1.95093 1.53883 0.305999 0.175737 -4.42263 0.423561 3.83522 -0.852582 0.103168 -0.407069 0.956007 -0.606416 0.827037 0.523654 -0.213321 -0.34422 0.543162 -0.882791 -4.47256 -0.796813 -0.194991 -0.607109 0.327091 0.00192599 -0.636362 -1.19431 2.10738 -0.200768 0.807808 -1.62347 0.0964505 2.73871 -0.839014 -0.865622 0.493735 2.79222 -1.75441 0.809064 3.53514 -10.8909 -6.01523 1.19941 -2.4593 0.571146 -1.43816 -4.15905 1.83431 -1.38711 0.919057 3.01805 -3.42937 2.97641 -1.89656 1.29981 0 0 0 0 0 -0.352259 -0.23929 -0.0470368 0 0 0 0 -0.0165785 0 -0.00308638 0 0 0.00514511 0.0409363 -0.13456 0 -0.0193249 -0.361886 -0.0818727 0 0 0.443661 0.00325371 0 0.179494 -2.28397 0 0 0.0659173 -0.949552 0 0.244696 0 -0.00332503 0 0 0.00419998 0 0 0.530561 -0.230046 0.0657267 0 -0.655266 0.0452114 0 0 -0.203317 0 -0.0234149 0.299421 0.0267602 0 0 -0.0155317 0.124392 0 0.0122806 -0.0355682 0.0463416 3.16628 -0.0702109 -0.01657 0 -0.0831276 -0.0129788 -0.291981 0.521939 0.172351 0 0 0 -1.83492 -0.0646533 -0.00176 -0.045901 0.0808906 -0.170597 -0.00698498 0.0121071 -0.0239276 0.0316654 0 0 0 0 0 0 0.238855 0 0.133435 0 0 0 0 0.0310147 -0.680926 0 0 0.349674 0 0.0532498 0 -0.00408824 0 0 -0.222002 0 -0.191356 -0.0578038 -0.0813163 -0.0275882 0 0 -0.00505234 0 -2.55743 0 -0.399684 -0.0891882 0 -0.38256 -0.266744 -0.00805741 0 0.0011949 0 0 -0.0932367 0 -0.28721 -0.297028 0 0 -0.0377906 0 0 -0.238325 -1.43025 -0.375362 0 -0.721113 0 0.557721 -0.265946 0.31828 -0.386715 0.136449 -0.483378 -0.654664 0.0830981 0.773762 1.73743 -0.116226 0 0 0 -0.0258604 -0.128858 0 0 0 0 0.216815 10.6931 1.13831 0.173318 0.879573 -0.606023 0.497181 -0.261285 0.198613 -0.236538 0.286016 0 0 0 0 0 0 -23 0 0 0 0.180461 0.0875027 0 0 0 0 -0.0619498 -1.23643 -0.0924002 0 -0.332654 0 -0.0639647 0 0 -0.564226 -0.136511 0 -0.309284 0 0.432248 -0.605707 0 0 0.39927 0 0 0 0.471023 -0.279184 0 0.304763 0 0.00651134 1.27273 0 0.189967 0 -0.352637 1.17805 0.171366 0 0.0431431 0 0 -0.0479351 0.0148412 0 -0.89432 0 -0.236533 0.0116901 0.0617325 0 0.266737 1.22889 0.550112 0.0815072 0 0 0 0 0.1429 0 0.844935 1.07723 -0.103484 1.22588 0.247258 0.127508 -1.06878 0 0 -1.40224 0 2.13807 0 -0.12411 0.304362 0 1.59883 -1.1322 2.29351 0 0.726687 -0.281463 0.385471 -0.312596 0 0 0 0 -0.125562 0.00677147 0.180461 0.0875027 0 0.0419417 0 0 0.00887088 0 0 -0.109655 0 0 0 0 -0.325014 0 -0.0666747 1.16389 -0.539822 0 0.188977 -0.0197991 0 -0.00603468 0.561227 4.37501 -0.0613237 0 0.0162447 2.32658 0 0.821756 0 -0.0896296 -0.0186817 0 -0.010376 0 0 1.1997 0 0 0 0 0 0 0 -0.309274 0 0 -0.802185 0 0 0 0 0 0 0 0.0722602 0 -3.84715 0 0.0997353 0.0254288 0 0.10859 -0.49648 0 -0.0870648 0 0.0759879 0 -2.74739 0 0.610724 0 0 0.0185158 0 0 0 0.023642 0 0 0 0 0.00528562 0 0 -0.125562 0 0.00677147 0 0 0.189423 0 0.697503 0.0134184 0.0562856 -0.408781 0.00122711 0.014666 0.0370667 0.026845 0.075897 0.0730907 0 0 0 0 -0.295266 0 0.391588 0 -0.102824 0 0 0.158222 0 0 0.00613138 0 0 -0.00858199 0.0026039 0 0.00524051 0 0.206522 0 0 0 0.0111576 0.026124 0 0 0.200037 0 0 0 -0.168238 0 -0.105329 0 0.172628 0.157417 -0.458971 0 0 0.844958 -0.033672 -0.0183786 0 0.259382 0 0.153119 0 0.356729 -0.0615895 -0.0499094 -0.0300158 0.22541 -0.0559316 -0.669031 0 1.13858 0 -0.590091 -0.18835 0 -0.117313 -0.147442 0.533402 0 -0.106155 0.0274007 0.0664388 -0.0525278 0 0 -24 0 0 0 -0.377229 0.179532 0 0 0 0 -0.860779 3.01483 0.273422 0 0.642216 0 0.0800831 0 0 1.00609 0.459991 0 0.596975 0 -0.813591 1.93163 0 0 -1.159 0 0 0 -0.988585 0.339362 0 -2.0488 0 0.00388342 -3.26987 0 0.463837 0 0.852819 -6.88778 -0.177595 0 0.589656 0 0 0.668296 0.224213 0 1.53412 0 -0.444866 0.414888 -0.356242 0 -0.0119706 -0.25192 -2.24318 -0.763534 0 0 0 0 1.86791 0 -1.10979 -3.84838 0.539223 -4.04937 0.0643077 0.275804 3.17873 0 0 3.11048 0 -5.99398 0 -1.57136 -0.500757 0 -4.6937 1.95176 -1.53245 0 -1.9795 0.437746 -0.298122 -0.458726 0 0 0 0 0.0946151 -0.0104764 -0.377229 0.179532 0 -0.0161018 0 0 -0.00272277 0 0 0.124591 0 0 0 0 0.522876 0 0.0816185 -1.62827 0.801546 0 -0.0649998 0.99494 0 0.00548297 -1.20438 -1.11375 -0.0342185 0 0.114164 -1.61298 0 -1.81973 0 0.69402 0.0103017 0 0.0937854 0 0 -2.75029 0 0 0 0 0 0 0 0.296549 0 0 0.893438 0 0 0 0 0 0 0 0.143884 0 4.22857 0 -0.113948 0.00373456 0 0.032837 1.8019 0 0.074119 0 0.00393226 0 6.29836 0 -0.900855 0 0 0.157708 0 0 0 -0.0343326 0 0 0 0 0.00294937 0 0 0.0946151 0 -0.0104764 0 0 -0.805702 0 -0.338547 -0.0126815 0.0516877 0.183586 0.00123453 0.0750344 -0.121953 -0.0166193 0.0359649 -0.286553 0 0 0 0 -0.00815224 0 0.325791 0 0.125504 0 0 0.23446 0 0 -0.017472 0 0 0.0130877 0.00161452 0 0.0267841 0 -0.143327 0 0 0 0.00549718 0.0159305 0 0 0.162368 0 0 0 -0.254371 0 0.581965 0 0.0577953 -0.0356276 -0.466092 0 0 -0.136283 0.353196 0.00602802 0 0.257662 0 -0.00971212 0 -0.179182 -0.451757 -0.120826 0.0151394 0.227378 0.0606733 0.584508 0 -0.174066 0 0.712645 -0.68614 0 0.188573 -0.162444 0.0568077 0 0.236005 -0.153319 0.0649182 -0.0210479 0 0 -25 0 0 0 0.0423217 0.201305 0 0 0 0 0.188413 -0.685615 -0.301 0 -0.0586579 0 0.026227 0 0 -0.248593 -0.508911 0 -0.293011 0 0.0980494 -0.697499 0 0 -0.129505 0 0 0 0.211375 0.441133 0 0.138955 0 -0.0683124 -0.96087 0 -1.33759 0 -0.0145303 -0.911677 -0.320536 0 0.566477 0 0 0.46428 0.812184 0 0.0867564 0 0.231285 -0.216459 -0.0649416 0 0.20767 0.13392 0.628273 -0.0876843 0 0 0 0 -0.179356 0 -1.30793 -0.89734 -0.399151 0.852676 -0.00805945 -1.22262 0.298443 0 0 0.411877 0 1.40076 0 -0.148 2.31464 0 1.46652 0.500953 0.0555742 0 -0.47606 1.32101 -0.568423 1.03281 0 0 0 0 0.126351 0.0297198 0.0423217 0.201305 0 0.0641535 0 0 0.0132029 0 0 0.00377794 0 0 0 0 -0.100052 0 -0.00918809 -0.920157 -0.00874333 0 0.305654 -0.929199 0 -0.0105493 0.143078 -5.01442 -0.319041 0 -0.0647195 -2.72466 0 0.177037 0 -0.953137 -0.0618239 0 -0.125028 0 0 0.20836 0 0 0 0 0 0 0 0.0744826 0 0 0.19749 0 0 0 0 0 0 0 -0.177767 0 1.44096 0 0.0237017 0.0397082 0 0.161264 -0.511899 0 -0.155522 0 0.121063 0 -0.477159 0 0.0087277 0 0 0.356334 0 0 0 0.00234246 0 0 0 0 0.0274988 0 0 0.126351 0 0.0297198 0 0 0.0151998 0 0.648205 -0.0107062 0.0688384 0.160883 -0.00277167 0.046437 0.0483922 0.0698703 0.0255112 -0.0448279 0 0 0 0 0.21382 0 0.456565 0 0.186622 0 0 -0.0844712 0 0 0.0127466 0 0 0.036325 0.000788246 0 -0.00643069 0 0.202593 0 0 0 0.00616243 -0.000192459 0 0 0.0844742 0 0 0 -0.117104 0 -0.0128542 0 0.0189423 0.0233182 -0.198471 0 0 0.341053 0.203972 -0.642027 0 0.0226434 0 0.0181132 0 0.0754415 -0.0869222 0.0250199 0.0113062 -0.00623328 -0.0239694 -0.437684 0 0.477537 0 -0.196662 0.545437 0 -0.0506475 0.0354918 -0.00877514 0 -0.0787613 0.0763701 -0.0646958 0.0641525 0 0 -26 0 -0.332795 -0.653979 -0.353377 -0.150159 0.0315656 0.0789199 -0.897972 -1.93497 -0.611622 2.21667 0.0293377 -0.0913842 0.56941 -0.947359 0.0345107 -3.43145 -11.9639 1.07478 0.154352 -0.199169 0.671455 0.625686 -0.735105 1.30686 -0.614088 -1.16808 -0.411527 -0.0265658 -0.288922 -0.213156 -0.875864 0.0309597 1.17255 -0.853083 -0.212689 -0.0294574 -0.92605 2.30689 -0.0139686 -0.0476591 0.678441 -2.47191 -0.227642 -1.01813 0.47376 -0.00990424 -0.090548 -0.0138936 0.0993809 -2.15982 1.06765 12.7309 -0.0358915 0.0328951 0.0334114 1.14254 -0.230068 0.0272054 -1.22358 -0.409352 1.18564 -0.211923 -0.785249 1.97962 1.13605 0.450747 -1.38289 -0.91727 0.446639 -1.79576 0.252577 -0.0233225 1.09165 1.2902 0.0142106 3.34391 -9.20819 -6.58232 3.73076 -3.65635 1.04951 -0.0402383 -3.05904 1.65045 -1.56823 2.71155 -1.36139 0.363952 0.16463 -0.20233 0.305523 0 0 0 0 0 -0.353377 -0.150159 0 0 0 0 0 0 0 0.0115632 0 0 0 0 0.0820376 0 0.0125616 -0.382652 0.0985183 0 0 -0.241678 0 0 0.150966 -1.99201 0 0 -0.0351163 -0.890587 0 0.0807459 0 -0.0789292 0 0 -0.0102808 0 0 -0.102064 0 0 0 0 0 0 0 -0.00527704 0 0 0.134483 0 0 0 0 0 0 0 -0.0599054 0 1.37465 0 -0.0109327 0 0 -0.0119363 0.00437626 0 -0.0894015 0 0 0 0.233735 0 -0.112178 0 0 0.00439857 0 0 0 -0.00424575 0 0 0 0 0 0 0.0315656 0 0.0789199 0 0 0 0 0.0596976 -0.632172 0 0 0.136406 0 0.0152225 0 -0.00744932 0 0 0.0320671 0 0.0666348 0.000739183 -0.00608167 0.00368508 0 0 -0.044044 0 -3.61191 0 0.782237 -0.226171 0 0.146525 0.128799 0.000179422 0 0.00428714 0 0 -0.0756291 0 -1.0161 0.560368 0 0 0.0653709 0 0 0.231225 0.0623025 0.230768 0 -0.00886203 0 0.71037 -0.0474719 -0.0190384 -0.0921378 -0.0278931 0.239176 -0.238185 0.0365989 0.45536 2.81059 0.0246148 0 0 0 -0.190897 0.000693634 0 0 0 0 0.179912 -8.74212 -1.28979 -0.489025 -0.0846331 -0.0393118 -0.0854843 -0.0417574 0.0375623 -0.0375145 -0.063283 0 0 0 0 0 0 -27 0 -0.107555 -0.566413 -0.0349551 -0.0148533 0.0317719 -0.0484345 0.271729 1.09496 -0.0605 -0.806316 -0.156614 -0.395096 0.0563246 -0.857254 -0.117436 -2.31827 -10.4201 0.182568 -0.593171 -0.0513622 0.0881501 0.540213 -0.0727147 -0.347515 -0.124244 -0.597012 0.0584315 0.0348639 0.556239 -0.177832 -0.0866382 -0.233566 1.53778 -0.000728786 -0.0602213 -0.084381 0.140818 4.67573 -0.491875 -0.0485797 0.0671096 -0.0903328 -0.27302 -2.38074 0.0468631 -0.0125576 0.142061 -1.19272 0.374588 0.0895191 0.545017 -0.033502 0.576441 -0.528316 0.323458 -0.506477 -0.229442 -0.129857 0.332219 -0.040492 0.221173 -0.0400136 -1.32387 2.46829 -0.0426362 -0.223667 -1.80418 0.182557 0.0441804 1.2492 -0.0205336 -0.337673 -0.0401603 0.365614 -0.205517 -0.229735 -17.1602 -1.48747 -2.14236 -3.60286 3.36429 -5.38629 1.11014 0.141975 -0.476276 -0.793359 -0.134665 0.740739 -0.823979 0.663819 -0.5882 0 0 0 0 0 -0.0349551 -0.0148533 0 0 0 0 0 0 0 0.0238922 0 0 0 0 -0.00358268 0 0.0128605 0.526821 -0.0131592 0 0 -0.976887 0 0 0.775073 -0.393852 0 0 -0.13149 0.414474 0 1.32995 0 -0.49451 0 0 -0.0663969 0 0 2.2525 0 0 0 0 0 0 0 -0.262147 0 0 -0.143805 0 0 0 0 0 0 0 -0.137485 0 -3.39281 0 0.0031119 0 0 0.00253305 -1.02067 0 -0.0281211 0 0 0 -5.15839 0 0.00118978 0 0 -0.0970739 0 0 0 0.00056711 0 0 0 0 0 0 0.0317719 0 -0.0484345 0 0 0 0 0.0564945 -0.797297 0 0 -0.196332 0 -0.0148635 0 -0.0200483 0 0 0.1033 0 0.027239 0.0617571 -0.0023086 0.010958 0 0 -0.176417 0 -2.66072 0 0.974186 -0.164784 0 0.51078 0.131625 0.000476605 0 0.00827302 0 0 -0.094673 0 -0.514707 0.410344 0 0 0.0499459 0 0 0.31473 -1.18526 0.29718 0 -0.545618 0 0.0839808 -0.00420444 -0.0917142 -0.499623 -0.0189451 0.336136 -0.166172 -0.00866277 1.06721 2.24367 0.0151145 0 0 0 -0.244546 0.00237707 0 0 0 0 0.337416 -6.25095 0.644462 -2.55917 -0.0815529 0.113493 -0.462888 0.0805737 -0.0698856 0.0843566 -0.213826 0 0 0 0 0 0 -28 0 0.180002 0.00377013 -0.143963 -0.0611736 0.18233 0.107247 -0.5022 -1.88698 -0.24917 2.0986 0.178232 0.363114 0.231974 0.425923 0.0607121 0.280851 1.68155 0.636924 0.198073 0.0763437 0.396274 0.302782 -0.299477 1.11061 -0.286547 0.00836988 -0.16805 -0.0490078 -0.613757 0.100661 -0.356821 0.10396 0.774668 -0.254866 -0.0245851 0.0729212 0.124624 2.10952 0.551534 0.0189056 0.276392 -0.0328085 0.191843 1.92693 0.193007 0.0113859 -0.181389 0.25905 -0.373896 -1.43676 0.470193 4.03327 -0.143492 0.131513 0.0654416 0.576053 0.302001 0.1866 -1.17411 -0.166767 0.656011 -0.081561 -2.90261 0.321647 0.428283 -0.0368927 -0.532031 0.194537 0.181958 -1.961 0.438567 0.434081 -0.111077 0.380109 -0.0728182 0.813333 -11.0796 -8.35462 5.20469 -4.19372 0.505693 0.894438 -2.92047 0.7688 -0.601246 1.6329 -0.554621 -0.652345 0.779794 -0.737112 0.649022 0 0 0 0 0 -0.143963 -0.0611736 0 0 0 0 0 0 0 -0.0237594 0 0 0 0 -0.0835736 0 -0.00942268 0.492783 -0.188945 0 0 0.900124 0 0 0.124016 4.69739 0 0 0.130112 1.67899 0 0.141306 0 0.477836 0 0 0.069568 0 0 0.143291 0 0 0 0 0 0 0 -0.0743167 0 0 -0.240364 0 0 0 0 0 0 0 0.211398 0 -2.58563 0 0.0132144 0 0 0.0322808 0.283791 0 0.145607 0 0 0 -0.328148 0 0.215466 0 0 -0.00617529 0 0 0 0.00814278 0 0 0 0 0 0 0.18233 0 0.107247 0 0 0 0 0.0539495 -0.184293 0 0 0.0313978 0 0.00528473 0 0.00811384 0 0 0.0627081 0 0.0126638 -0.0107466 -0.0364938 0.0089678 0 0 0.0509382 0 0.216031 0 0.0166813 0.000862685 0 -0.152885 0.11064 -0.00459549 0 0.00900001 0 0 -0.00690647 0 -0.0969475 0.800595 0 0 0.0966626 0 0 0.18788 -0.178211 0.0507365 0 0.144827 0 0.187662 0.0414583 -0.0635818 -0.116349 -0.0330439 -0.0377057 -0.0662467 0.070382 -0.103926 -1.2171 0.00900138 0 0 0 -0.108162 -0.0168885 0 0 0 0 0.0546808 2.89613 -0.476242 1.76349 -0.0564686 0.0374077 0.123466 -0.0459607 0.0420156 -0.0446366 0.1065 0 0 0 0 0 0 -29 0 0.712197 0.748153 0.188621 0.0794154 -0.0967727 0.0114742 0.0712754 -0.0255796 0.323852 -0.413029 0.0815176 0.264179 -0.305585 0.809119 -0.0280419 1.70613 5.66456 -0.674498 0.146565 -0.280479 -0.41363 -0.874085 0.394509 -0.45165 0.325348 0.788461 0.0301461 -0.0224239 -0.408667 0.166236 0.467644 -0.0117842 -2.20001 0.155918 0.117037 0.0566687 -0.654724 -5.75726 0.384499 0.00203256 -0.362235 -0.653024 0.298661 2.26552 -0.250855 0.00692612 -0.0938016 0.589058 -0.326833 0.81782 -1.10476 -9.14191 -0.246397 0.225827 -0.17833 -0.428304 -0.544527 0.0920285 0.298597 0.217005 -0.00776231 0.0482806 -0.207482 -1.89841 -0.1694 -0.140264 0.51086 -0.724351 -0.236772 -1.14913 0.0336156 0.182296 0.42118 0.236624 0.115177 -2.69963 21.9694 4.8651 1.05639 6.06362 -5.1052 8.93223 0.830265 -1.23444 1.77212 -1.03157 0.722548 -0.710668 0.682772 -0.400062 0.306991 0 0 0 0 0 0.188621 0.0794154 0 0 0 0 0 0 0 -0.0273299 0 0 0 0 -0.0574396 0 -0.0187712 -0.316601 -0.074632 0 0 0.829929 0 0 -0.687522 0.89441 0 0 0.101978 -0.278846 0 -1.0762 0 0.324703 0 0 0.0369298 0 0 -1.68235 0 0 0 0 0 0 0 0.341142 0 0 0.353742 0 0 0 0 0 0 0 0.141637 0 -0.168267 0 0.0181007 0 0 0.0113352 0.556464 0 0.175822 0 0 0 3.8527 0 0.0958216 0 0 0.0725025 0 0 0 0.00321634 0 0 0 0 0 0 -0.0967727 0 0.0114742 0 0 0 0 -0.0151586 0.774583 0 0 0.0285995 0 -0.00113436 0 0.0155621 0 0 0.0370732 0 -0.0850408 -0.0259889 0.0034734 0.00544723 0 0 0.128431 0 5.40932 0 -2.10166 0.288483 0 -0.139853 -0.551441 -0.000842026 0 -0.00237207 0 0 0.0881486 0 0.950859 0.236104 0 0 0.0318051 0 0 0.0161718 0.799737 0.0501295 0 0.972863 0 -0.332345 0.0397738 -0.0575745 0.0411964 -0.0335249 0.37512 0.227226 -0.033414 -1.12011 -2.37654 0.0632781 0 0 0 0.103604 -0.00804579 0 0 0 0 -0.238616 14.238 -0.398841 2.84308 0.209504 -0.42942 1.85139 -0.0449878 0.019905 0.0246316 0.14682 0 0 0 0 0 0 -30 0 0.123552 0.303986 0.255286 0.107483 0.0628998 -0.0558254 0.586135 1.3216 0.438312 -1.96056 -0.0456424 -0.0155147 -0.413589 0.716904 -0.0809849 2.09512 7.24938 -0.67309 -0.428253 0.217376 -0.455606 -0.197503 0.533941 -1.21164 0.288837 0.654113 0.376388 0.0122949 0.270846 0.171937 0.632924 -0.09985 -0.327202 0.857302 0.1121 -0.00329874 0.571572 -0.97435 -0.152614 0.0509939 -0.490261 2.12648 0.059039 0.154415 -0.339515 0.0108772 0.0554496 -0.424489 0.0587268 1.14547 -0.599357 -1.52489 0.262004 -0.240131 0.0176815 0.0864323 -0.371512 -0.196646 1.13356 0.293702 -0.668922 0.156463 -2.02774 -0.28109 -0.706797 -0.225345 -0.558013 0.539593 -0.320455 1.94854 -0.346864 -0.0994869 -0.856706 -0.36609 -0.00493327 -2.42479 2.25056 3.3842 -1.33711 1.07815 -0.0587795 0.935131 2.8268 -1.01941 0.984108 -1.55373 0.977919 0.00740515 -0.262544 0.226751 -0.20346 0 0 0 0 0 0.255286 0.107483 0 0 0 0 0 0 0 -7.47269e-05 0 0 0 0 -0.0834977 0 -0.00647241 0.506007 -0.112234 0 0 -0.227773 0 0 0.290411 0.649155 0 0 -0.00478609 0.389658 0 0.660742 0 -0.253465 0 0 -0.0232624 0 0 1.33812 0 0 0 0 0 0 0 -0.209379 0 0 -0.412811 0 0 0 0 0 0 0 -0.017169 0 -0.467304 0 0.00723024 0 0 0.0173983 -0.462309 0 0.0482996 0 0 0 -3.0644 0 0.120268 0 0 -0.0576678 0 0 0 0.00483685 0 0 0 0 0 0 0.0628998 0 -0.0558254 0 0 0 0 0.00967598 0.208217 0 0 -0.280047 0 -0.0300074 0 0.00347108 0 0 -0.0255866 0 -0.0530592 0.0247977 -0.0323039 0.00177737 0 0 0.0204479 0 2.0303 0 -0.161596 0.0898791 0 0.229093 -0.0791701 -0.00441963 0 0.000241086 0 0 0.026359 0 0.56083 -0.141907 0 0 0.0147621 0 0 -0.0626526 0.0853167 0.0927888 0 0.56959 0 0.0565856 -0.0511581 -0.00536559 -0.24275 0.0951301 0.27087 -0.045438 -0.137371 -0.628858 -3.51614 -0.0598107 0 0 0 0.0819468 0.0794413 0 0 0 0 -0.0389294 2.6784 0.465276 0.450039 0.063102 -0.0548764 0.341482 0.103185 -0.0693623 0.0416357 0.029617 0 0 0 0 0 0 -31 0 -0.340284 -0.443988 -0.217214 -0.0914541 0.177005 0.081106 -0.689834 -2.1695 -0.372945 1.89591 0.0806017 -0.0865476 0.351909 -0.170238 0.0557851 -1.58152 -8.12367 0.776709 0.335262 -0.11868 0.459552 0.442766 -0.454313 0.952145 -0.484915 -0.425296 -0.231081 -0.024276 -0.636167 -0.0420525 -0.538535 0.0593741 1.27557 -0.467843 -0.120562 0.0242282 0.122447 3.77209 0.429673 -0.0328123 0.417147 -0.440581 0.10354 -0.310786 0.288882 -0.00519322 -0.124926 0.304399 -0.273193 -1.67325 0.0584854 4.56688 -0.195253 0.178953 -0.0359419 -0.47044 -0.00163912 -0.0128576 -0.888186 -0.249901 0.7473 0.144896 -1.54852 0.87 0.656857 0.0985201 -0.942492 0.0300403 0.272665 -1.32566 0.231857 0.224497 -0.0315139 -0.0267892 0.0402653 1.89706 -11.6693 -5.6009 2.81944 -3.24895 0.796639 -2.29143 -2.18737 0.367195 -0.542878 2.42057 -0.83208 -0.438092 0.807686 -0.559343 0.477889 0 0 0 0 0 -0.217214 -0.0914541 0 0 0 0 0 0 0 -0.014603 0 0 0 0 -0.0597715 0 -0.00201517 0.451821 -0.159562 0 0 0.648732 0 0 0.29344 2.42188 0 0 0.112738 1.29137 0 0.375668 0 0.448993 0 0 0.0755266 0 0 0.463788 0 0 0 0 0 0 0 0.04087 0 0 0.0303838 0 0 0 0 0 0 0 0.151502 0 -0.469916 0 0.0236634 0 0 0.0319319 0.13276 0 0.196095 0 0 0 -1.06211 0 0.179847 0 0 -0.0199874 0 0 0 0.00687648 0 0 0 0 0 0 0.177005 0 0.081106 0 0 0 0 -0.0326906 -0.208099 0 0 0.313467 0 0.0393309 0 0.0093954 0 0 -0.0166785 0 0.183004 -0.0390735 0.0510525 -0.00156152 0 0 0.0783862 0 -2.18683 0 1.85797 0.0229249 0 -0.359943 0.729892 0.00551703 0 -0.00158617 0 0 -0.0150747 0 -0.251367 0.443314 0 0 0.0516735 0 0 -0.0236191 0.971239 -0.104065 0 -0.506067 0 0.428213 -0.0325328 0.0775942 -0.0847584 -0.0109984 0.267299 -0.11224 0.0461786 -0.121101 -1.50069 0.0396486 0 0 0 -0.0637114 -0.0536451 0 0 0 0 0.00988484 -3.79677 -1.77367 2.46282 -0.485879 0.490638 -0.620844 -0.111413 0.106448 -0.154356 0.186159 0 0 0 0 0 0 -32 0 -0.234102 0.15425 -0.0369657 -0.0156126 -0.116126 0.0322931 -0.073771 -0.153386 -0.063642 0.705815 0.160677 0.349162 0.0597779 0.289311 0.268803 2.42835 6.2634 0.272131 0.641743 0.417957 0.143002 -0.0901531 -0.077173 0.277188 -0.0764594 0.873238 0.332868 -0.0423332 -0.0971555 0.0418773 -0.0916392 0.531105 -0.08268 0.774047 -0.040531 0.075888 1.02931 0.280538 0.0531935 0.0828745 0.0709835 2.07132 0.00403337 1.78881 0.0492969 0.0313778 -0.0982888 1.26656 -0.0302792 0.273935 0.152976 -10.6215 -0.615267 0.563902 -0.284981 -1.07413 -0.583474 0.16826 -0.337255 -0.042628 0.783986 0.0901729 0.982465 -0.849801 -0.511801 -0.206598 1.21659 1.16833 0.0465109 -0.802204 0.491915 0.0336063 -1.05441 0.614051 0.139054 -2.99084 -2.69692 -0.459612 -2.29723 0.718896 -1.05891 0.82271 -0.719548 0.295551 -0.190738 -0.292622 -0.141879 -0.0405471 0.121219 -0.0910085 0.0732757 0 0 0 0 0 -0.0369657 -0.0156126 0 0 0 0 0 0 0 -0.013457 0 0 0 0 -0.0252725 0 -0.0075763 -0.535675 -0.0347866 0 0 -0.198667 0 0 -0.313317 -3.19596 0 0 -0.0166007 -1.35507 0 -0.559478 0 -0.112401 0 0 -0.0107863 0 0 -0.976302 0 0 0 0 0 0 0 0.31604 0 0 0.360648 0 0 0 0 0 0 0 -0.0294354 0 3.00688 0 0.0197457 0 0 -0.0116565 0.172483 0 0.0119797 0 0 0 2.2358 0 0.045847 0 0 0.0420748 0 0 0 0.00149916 0 0 0 0 0 0 -0.116126 0 0.0322931 0 0 0 0 0.0686736 0.0355538 0 0 0.03536 0 -0.00141076 0 0.00939043 0 0 0.0595025 0 -0.0417783 0.0165611 0.00679614 0.00870908 0 0 0.0984295 0 2.17785 0 -0.236038 0.16433 0 0.21682 -0.140176 -0.00110631 0 0.00813016 0 0 -0.00265232 0 0.64398 0.413438 0 0 0.0602877 0 0 0.0484009 1.09598 0.192467 0 0.427492 0 0.259602 -0.0796438 0.00748107 0.153912 -0.0416329 0.444099 -0.112876 -0.0123435 -0.737009 -0.676641 0.0791692 0 0 0 -0.0333077 0.00319488 0 0 0 0 -0.0574767 2.92683 -1.09796 1.22871 -0.146817 -0.0541608 0.761966 -0.024686 0.0122512 0.0170633 -0.0865136 0 0 0 0 0 0 -33 0 0.437143 -0.242544 0.154477 0.0652437 0.0069154 -0.0663394 0.22696 0.572225 0.265955 -1.13944 -0.0508829 -0.635944 -0.249807 -0.507625 0.091218 -2.86535 -9.81042 -0.365446 0.353857 -0.0735917 -0.247355 0.0353222 0.322499 -0.720141 -0.00145482 -0.905917 0.430231 0.0219642 0.371272 -0.21229 0.382953 0.151974 0.269538 0.577087 -0.0411883 0.000697187 1.53004 0.995193 -0.324944 -0.0339982 -0.296634 2.99666 -0.069429 -2.62929 -0.206008 -0.013158 0.0855393 0.634413 0.202932 0.191812 -0.428844 2.02588 -0.316694 0.290255 -0.13175 -0.180076 0.470805 0.135008 0.715839 0.178139 0.0730229 -0.000687855 -1.33677 1.11068 -0.546415 0.116181 -0.374682 1.39214 -0.194365 0.906613 0.0132922 -0.269671 -1.39861 -0.290193 0.0589322 0.815144 -3.79227 1.1442 -0.639165 0.347778 0.617577 -2.04855 1.88825 -0.564377 0.125336 -0.210473 0.5929 0.317164 -0.456583 0.393664 -0.280017 0 0 0 0 0 0.154477 0.0652437 0 0 0 0 0 0 0 0.031486 0 0 0 0 0.0731818 0 0.0189851 0.700729 0.0820489 0 0 -0.0464958 0 0 0.540537 0.602235 0 0 0.00467444 0.895564 0 1.00631 0 0.0207062 0 0 0.0119398 0 0 1.81045 0 0 0 0 0 0 0 -0.197471 0 0 0.0216115 0 0 0 0 0 0 0 -0.0435391 0 -1.71634 0 -0.00519851 0 0 0.0256621 -0.619828 0 0.145899 0 0 0 -4.14605 0 -0.105103 0 0 -0.0780231 0 0 0 -0.00353598 0 0 0 0 0 0 0.0069154 0 -0.0663394 0 0 0 0 -0.0299665 0.298332 0 0 -0.0555753 0 0.00260849 0 -0.000704203 0 0 -0.0371647 0 0.122432 0.018201 0.027314 0.000492179 0 0 -0.00364989 0 -0.811643 0 0.796787 -0.088421 0 0.184196 0.227784 0.00490122 0 -0.00530354 0 0 0.0316035 0 -0.17928 -0.411816 0 0 -0.0238024 0 0 0.0931851 -0.0911589 0.149619 0 0.0645251 0 0.584076 -0.0282271 0.00600503 -0.475364 0.107645 0.580029 -0.210543 -0.101576 -0.338657 -2.07499 -0.0205175 0 0 0 -0.0155404 0.013729 0 0 0 0 -0.0721358 -2.81819 -0.110122 -0.108518 0.140847 -0.110223 0.00482553 0.0604145 -0.0401589 -0.00542137 0.023301 0 0 0 0 0 0 -34 0 0.568802 0.391619 0.349748 0.147717 -0.0426659 -0.112574 0.438669 1.00157 0.602144 -2.22088 -0.1631 -0.471511 -0.565584 -0.241296 -0.0364673 -0.192922 2.37115 -1.37657 0.0222228 0.0186235 -0.779128 -0.708198 0.730166 -1.22281 0.426592 -0.23755 0.323562 0.0595829 0.806004 -0.238879 0.867038 -0.130374 -1.78508 -0.00908518 0.0766142 -0.0229519 1.03054 -4.68538 -0.683213 -0.0822539 -0.671604 1.25022 -0.130311 -0.881665 -0.466419 -0.0565153 0.205113 -0.0845547 0.420392 -0.0869703 -0.672079 -0.724602 0.0239905 -0.0219876 0.0707504 1.67311 0.673497 0.180346 1.23438 0.403321 -0.00733422 -0.0200748 2.33145 -1.54461 0.372734 0.0722649 2.91774 0.625389 -0.440059 1.28701 -0.187122 -0.563958 -0.624347 0.182198 -0.0537385 -0.387507 18.0596 8.50855 -2.29344 6.20956 -2.44288 2.19486 3.02081 -1.04363 1.01394 -1.44629 1.34238 0.642553 -0.983972 0.846238 -0.607897 0 0 0 0 0 0.349748 0.147717 0 0 0 0 0 0 0 -0.0111202 0 0 0 0 0.0735959 0 0.000779058 0.138841 0.00594732 0 0 0.0650638 0 0 -0.51329 -0.0188615 0 0 0.0102307 0.260318 0 -0.738049 0 0.134117 0 0 0.026852 0 0 -1.0578 0 0 0 0 0 0 0 0.135066 0 0 -0.0185913 0 0 0 0 0 0 0 0.0456233 0 0.777161 0 -0.000420928 0 0 -0.00735409 0.291997 0 -0.108241 0 0 0 2.42243 0 -0.000292654 0 0 0.0455869 0 0 0 -0.000256306 0 0 0 0 0 0 -0.0426659 0 -0.112574 0 0 0 0 -0.0398103 0.554236 0 0 -0.290334 0 -0.0327501 0 -0.00511908 0 0 0.0472398 0 0.0948536 0.0207409 -0.00893056 0.00733238 0 0 -0.0723989 0 2.79051 0 -1.13709 -0.0421292 0 0.189937 -0.0851718 0.000253882 0 -0.00568432 0 0 0.0684588 0 0.316954 -0.253232 0 0 -0.0192599 0 0 0.0554316 0.0079656 0.047932 0 0.570729 0 0.19967 0.022657 -0.0418263 0.131812 0.00762093 -0.0294308 -0.172989 0.0275326 -0.795826 -2.18105 -0.0405077 0 0 0 0.0205194 0.0405581 0 0 0 0 -0.126476 8.71977 0.692576 0.972427 0.375032 -0.28266 0.443237 0.076018 -0.0551858 0.0675002 -0.059937 0 0 0 0 0 0 -35 0 0.2315 0.197083 -0.0702049 -0.165756 0.184175 0.154279 -0.928464 -2.79161 -0.720359 1.40434 -0.288865 -1.28507 0.0256505 -2.70285 -0.243116 1.53701 5.01133 0.457487 -0.301192 1.31943 0.131955 0.0276191 -0.0416366 0.415572 -0.916959 0.582248 0.0823104 0.153142 0.568883 -0.727598 -0.17654 -0.957574 0.00286056 0.364211 -0.421681 -0.0962623 0.0129012 -1.52441 -0.304174 0.717977 0.0625084 -0.135903 -0.146843 -3.69765 0.071119 0.301186 0.416165 -1.15696 0.204656 -0.283411 1.5767 1.5789 0.52681 -0.380669 0.643274 3.49133 1.38109 0.155688 -0.624499 -0.0988049 0.211141 -0.274474 -1.24011 4.13394 0.128258 0.160661 -1.8485 0.0325967 0.393092 -0.577677 -0.134979 -0.412291 0.239618 0.975557 -1.14848 0.876004 7.2611 -2.52241 7.77194 -1.40614 1.43445 0.883849 -0.872081 1.29109 -2.49459 5.03333 -0.0629656 0.202526 -0.402348 1.18668 -2.40796 0 0 0 0 0 -0.0702049 -0.165756 0 0 0 0 0 0 0 -0.000665475 0 0 0 0 -0.00118391 0 0.00199186 0.11072 -0.0350287 0 0 0.0236832 0 0 0.126058 0.534021 0 0 0.00955709 0.203048 0 0.223452 0 -0.0129989 0 0 0.000205807 0 0 0.30323 0 0 0 0 0 0 0 0.00926595 0 0 0.0700599 0 0 0 0 0 0 0 -0.0244661 0 -0.0651072 0 0.00108755 0 0 -0.0103225 -0.101734 0 -0.00868855 0 0 0 -0.721529 0 0.0397929 0 0 0.0118395 0 0 0 0.0155422 0 0 0 0 0 0 0.184175 0 0.154279 0 0 0 0 -0.490746 -0.503473 0 0 0.444192 0 0.0506944 0 0.0124181 0 0 0.147803 0 -0.832655 -0.167126 0.201823 0.0631889 0 0 0.0888474 0 -0.106482 0 -2.87585 -0.492545 0 -1.08204 -1.51208 0.0242464 0 -0.0792464 0 0 -0.0452861 0 -0.39615 0.83803 0 0 0.181318 0 0 0.0658232 1.98664 0.323101 0 -0.284776 0 1.44153 -0.0958144 -0.00225875 -0.457401 0.205901 1.0825 -0.497402 -0.144593 0.370776 4.0473 -0.0480707 0 0 0 -0.0648335 0.0692555 0 0 0 0 0.0716129 10.1093 -2.61292 5.72777 0.224512 -0.582674 2.03225 -0.113159 0.171151 -0.373701 0.765637 0 0 0 0 0 0 -36 0 0.0466962 0.258278 0.112197 0.0528537 -0.183698 -0.366846 0.698201 2.84627 0.362242 -2.20376 0.0878485 -0.28968 -0.0585853 -1.2879 -0.0488517 1.27878 7.78463 -0.632636 -0.0292905 -0.228948 -0.203194 -0.241234 0.0693576 -0.748369 1.13014 -0.0549971 0.0236347 0.633829 -0.141773 -0.353275 0.215398 -0.668498 -1.06617 0.285147 0.50745 0.0544014 0.492575 -3.90843 0.691119 -0.553759 -0.200738 1.81864 0.264625 -1.03494 -0.637114 -0.881783 0.49516 -0.441242 -0.601039 0.637991 -1.36673 -2.991 0.122301 0.0424418 -0.0535154 1.91835 0.291768 0.196983 0.968889 0.345994 0.507958 0.177979 2.67983 -4.20573 -1.34043 0.570475 2.71316 0.868629 -0.204715 1.12984 -0.228721 0.48006 -0.722103 0.874014 0.00390033 -2.49885 15.8418 7.87873 -5.22533 6.30697 -4.04473 3.56093 1.89741 -2.07776 3.41866 -5.52017 0.564073 -0.913993 1.41114 -1.59799 0.600096 0 0 0 0 0 0.112197 0.0528537 0 0 0 0 0 0 0 -0.0255799 0 0 0 0 -0.0132329 0 -0.00599593 -0.194207 -0.10933 0 0 0.154523 0 0 -0.239293 -0.146501 0 0 0.0138055 -0.257 0 -0.435372 0 0.0783152 0 0 0.00835099 0 0 -1.13894 0 0 0 0 0 0 0 0.126468 0 0 -0.00249026 0 0 0 0 0 0 0 -0.0454294 0 -0.280354 0 0.0292281 0 0 -0.0023467 -0.0414465 0 0.00462167 0 0 0 2.42056 0 0.176953 0 0 0.221523 0 0 0 0.0393784 0 0 0 0 0 0 -0.183698 0 -0.366846 0 0 0 0 0.205625 0.428821 0 0 -0.273372 0 -0.0371732 0 -0.0562718 0 0 0.321399 0 0.597509 0.100294 -0.0528974 0.027702 0 0 -0.448172 0 1.76043 0 1.39001 -0.736047 0 0.827047 0.767299 -0.00719304 0 0.0320836 0 0 0.0387243 0 -0.953183 -0.0147053 0 0 0.000574216 0 0 0.0863791 0.780851 -0.0154511 0 0.990245 0 -0.142869 0.00446724 -0.0229521 0.195103 0.0134392 -0.0242797 0.296089 -0.0853538 -0.747744 0.256155 -0.0192332 0 0 0 -0.0375408 0.0892853 0 0 0 0 -0.0453044 -5.46099 0.378164 -2.24122 -0.268656 0.219644 -0.665315 0.0928168 -0.0786989 0.081245 -0.297517 0 0 0 0 0 0 -37 0 0.555859 0.0316523 -0.0261373 -0.088938 0.165142 0.0670768 -0.954073 -2.94307 -0.369498 1.1189 -0.160152 -0.482191 0.00729087 -1.88711 -0.178134 -1.11519 -2.30981 0.229944 -0.176581 0.412905 0.0582821 -0.00844108 -0.0151397 0.255428 -0.608389 -0.320788 -0.00501817 0.23633 0.609893 -0.389275 -0.0742952 -0.803017 -0.22263 -0.0967926 -0.196465 -0.0520204 0.193379 -1.39743 0.041375 0.408619 0.0103239 0.492656 -0.0302802 -2.61519 -0.0407343 0.0189049 0.532163 -0.696991 0.0392597 -0.614122 0.562594 -2.73328 0.360971 -0.202393 0.6085 2.3961 0.78828 0.211854 -0.411652 -0.0126343 0.462469 -0.903696 -1.00555 1.51002 0.0885204 0.211284 -0.493677 0.365611 0.200726 -1.2486 0.0792348 0.0912853 -0.0809991 0.747432 -1.58588 -1.15146 5.13325 -3.15978 8.14545 -0.425069 0.750673 -0.101031 -0.60706 0.726792 -1.69189 3.96247 0.0360644 -0.0571919 -0.183776 0.494504 -2.58155 0 0 0 0 0 -0.0261373 -0.088938 0 0 0 0 0 0 0 -0.00806071 0 0 0 0 -0.0146765 0 -0.00119831 0.0412957 -0.0724795 0 0 0.0185409 0 0 0.0437159 0.000877971 0 0 -0.00115865 0.0422931 0 0.0639303 0 -0.00749781 0 0 -0.00177425 0 0 0.0195575 0 0 0 0 0 0 0 -0.032452 0 0 -0.143499 0 0 0 0 0 0 0 -0.0475526 0 -0.65471 0 0.0137095 0 0 0.0141928 -0.185413 0 0.125631 0 0 0 -0.098778 0 0.0999089 0 0 0.0487595 0 0 0 0.00544179 0 0 0 0 0 0 0.165142 0 0.0670768 0 0 0 0 -0.521052 0.00863096 0 0 0.431286 0 0.0569463 0 -0.0120808 0 0 0.148578 0 -0.0571044 -0.154882 0.151628 0.0357446 0 0 -0.10673 0 -2.20304 0 -1.29076 -0.541077 0 -1.18376 -0.385746 0.0195139 0 -0.0732699 0 0 0.00938126 0 -1.60252 0.734813 0 0 0.109872 0 0 0.0125317 0.0249471 0.334738 0 -0.789527 0 1.13798 0.0915474 -0.0993756 -0.646989 0.245381 0.689923 -0.461941 -0.162228 0.499018 1.68091 -0.0555493 0 0 0 -0.0640812 -0.0400082 0 0 0 0 -0.03763 6.28961 -1.907 5.06438 0.309159 -0.443601 1.04366 -0.156075 0.170252 -0.281571 0.774685 0 0 0 0 0 0 -38 0 0 0 0 0 0.389276 0.123289 0.371813 0.459603 0 0 0.173854 0.700539 0 0.227828 0.0775508 0 0 0 0.116431 -0.653762 0 0 0 0 0.226411 0 0 -0.326122 0.414575 0.197546 0 0.195738 0 0 0.115106 0.0813792 0 0 -0.258812 0.557576 0 0 0.0454944 0.764947 0 0.225571 -0.468146 0.518062 -0.0500955 -2.61355 0.139616 0 -0.0675242 0.0357602 -0.215682 -0.224912 0.219458 0.141646 0 0 -0.125095 -3.43315 0 0.709937 0.400721 0.116834 0 0 0 0 -0.0131111 -0.236536 0 -2.58526 1.01555 0 0 0 -1.15474 0 -0.0769406 0.906457 0 -0.12564 -0.66747 1.59075 0 -0.0569569 -1.1331 1.95053 -0.99557 0 0 0 0.268581 0.0285151 0 0 0 -0.0180361 0 0 -0.00348483 0 0 0.0050886 0 0 0 0 -0.0792083 0 -0.00735529 0 0.0158446 0 -0.0641573 0.127631 0 0.00427059 0 0 0.251494 0 0.0192808 0 0 0 0 0.0375425 0.0319631 0 0.00537692 0 0 0 0 0 0 0 0 0 0 -0.0479808 0 0 0 0 0 0 0 0 0 0 0.127059 0 0 0 -0.0101572 0.0458806 0 0.0272807 0.0530057 0 -0.0841975 0 0.132651 0 0 0 -0.00227395 0 0 -0.238884 0 0 0 -0.0646642 0 0 0 0 -0.202061 0 0.389276 0.268581 0.123289 0.0285151 -0.496608 -0.0873961 0.144537 0.743263 0.140744 -0.0150791 -0.0165744 -0.277695 -0.00138195 -0.0427007 0.0156208 0.0133664 -0.0198145 -0.152975 -0.0832589 -1.11305 -0.205565 0.138233 -0.152249 0.0196464 -0.0564616 0.0375018 0.109693 -0.00747523 2.70009 -0.181799 0.232204 0.481607 0.00158072 0.993615 -0.265832 -0.018978 -0.00256594 0.0923398 -0.0289675 0.378169 0.0109546 0.00115766 1.09713 -0.656711 -0.00322117 -0.0169628 -0.026926 -0.111146 0.179728 -0.779497 1.57903 -0.0664698 0.0232093 1.44784 -0.0128408 -0.335577 -0.0352987 -0.0200123 0.178027 -0.118299 -0.301446 0.141172 -0.0638114 -0.0139016 1.87213 -0.116196 -0.951384 -0.0136382 -0.0147751 0.460554 0.0925744 0.0163457 0.0238042 -0.0308625 -0.0605107 -0.0425843 -2.57316 1.47557 -4.77454 0.824859 0.317584 -2.37077 0.068736 0.0237273 0.183619 -1.51663 0.0299539 0.0624558 0.0124556 0.260041 -0.950038 0 -39 0 0 0 0 0 -0.452555 -0.349512 0.386406 2.70173 0 0 -0.244574 -0.850091 0 -1.01016 -0.1107 0 0 0 -0.260737 -3.49095 0 0 0 0 0.422665 0 0 0.0572717 0.630041 -0.236143 0 -0.430429 0 0 0.0638237 -0.0644678 0 0 -0.00651378 -2.0835 0 0 0.0436199 -3.69447 0 -0.948807 -0.0432743 -1.11061 -0.0615181 -0.305156 0.0569094 0 0.331373 -0.250414 0.630465 -1.0438 0.499218 0.0458634 0 0 0.917782 3.00502 0 0.83988 0.288715 1.21648 0 0 0 0 0.214257 0.190651 0 -0.691329 -0.308514 0 0 0 -5.68442 0 -0.0220689 -4.406 0 -0.192797 -0.1703 -5.93851 0 -0.156846 0.395734 0.137929 -6.12245 0 0 0 -0.0281126 -0.0130047 0 0 0 0.00637464 0 0 0.00244794 0 0 -0.00170172 0 0 0 0 0.0116525 0 0.0037159 0 -0.0190007 0 -0.0328867 -0.116197 0 -0.00285495 0 0 -0.142245 0 -0.0126223 0 0 0 0 -0.0150738 -0.0207791 0 -0.00295418 0 0 0 0 0 0 0 0 0 0 0.0256078 0 0 0 0 0 0 0 0 0 0 0.0337427 0 0 0 0.0430129 -0.0640923 0 -0.126613 0.0972442 0 0.0309572 0 0.00986106 0 0 0 0.0288838 0 0 0.130986 0 0 0 0.0102163 0 0 0 0 0.129453 0 -0.452555 -0.0281126 -0.349512 -0.0130047 -0.0218654 -0.0245709 -0.141528 0.370407 -0.270164 0.0100076 0.00253295 0.406214 0.000961333 0.0395737 -0.0143703 -0.0179635 0.00748698 0.084787 0.513832 0.360822 0.316157 0.232456 0.201764 0.0782035 0.0647131 0.0265522 -0.208002 0.0113197 1.40799 -0.0948348 1.81694 -0.185931 -0.00134042 1.45334 0.722804 0.0183118 -0.000464785 0.0727873 -0.00499504 0.57651 -0.0227261 -0.00647924 -0.0113109 0.871086 0.000611659 -0.00979152 0.123744 0.0671043 0.00956532 0.158675 2.48923 -0.200756 -0.0297694 0.384109 0.0308204 0.741697 -0.111448 0.204558 0.00707952 -0.0205391 -0.691441 -0.149692 0.137601 -0.289075 2.4766 0.0476963 0.0379432 0.00233364 0.175557 -0.179956 -0.0848508 0.02342 -0.024148 0.0695632 -0.0116082 0.0412061 -20.1343 -2.74421 -7.02579 -0.647669 0.157521 -2.37798 -0.0627987 -0.0782225 -0.266685 -1.12183 -0.0166021 0.0381549 -0.116349 0.0711681 -0.519105 0 -40 0 0 0 0 0 -0.499572 -0.326278 1.06792 3.95898 0 0 0.0532942 -0.265007 0 0.071667 0.034579 0 0 0 -0.0515522 -4.45231 0 0 0 0 0.759132 0 0 0.11716 6.03067 0.0803286 0 0.228256 0 0 0.223924 0.0127044 0 0 -0.103821 -0.424962 0 0 0.0221861 -3.10241 0 -0.115716 1.20422 -0.0786385 -0.0118879 -0.433036 0.0906674 0 -0.00905651 -0.080207 0.589917 2.01657 -0.242432 -0.00810997 0 0 1.48869 1.87168 0 -0.744786 0.27462 -0.320476 0 0 0 0 0.835539 0.376476 0 3.45766 -0.407298 0 0 0 -9.15366 0 -0.367409 -10.741 0 -0.289377 -0.974488 -11.0543 0 -0.025609 -1.71766 2.42338 -19.3034 0 0 0 0.0179859 0.000875953 0 0 0 -0.0183719 0 0 -0.00136973 0 0 -0.00055866 0 0 0 0 -0.0282474 0 -0.00174452 0 -0.0136238 0 -0.21787 -0.282826 0 0.00077767 0 0 0.0627332 0 -0.0177134 0 0 0 0 -0.0777465 0.00745774 0 -0.00506504 0 0 0 0 0 0 0 0 0 0 -0.00111573 0 0 0 0 0 0 0 0 0 0 -0.000980595 0 0 0 -0.00932271 0.0240561 0 0.0432108 0.0316969 0 -0.0403374 0 -0.0224321 0 0 0 0.0155496 0 0 -0.0580437 0 0 0 -0.0090538 0 0 0 0 -0.0560774 0 -0.499572 0.0179859 -0.326278 0.000875953 -0.824092 -0.272168 -0.00335939 0.976114 -0.312046 -0.000140281 0.0249592 -0.202865 -8.30014e-06 -0.012987 -0.000267617 0.000269454 -0.0157114 -0.00314979 -0.389218 -0.839497 0.179376 0.756541 -0.0725936 -0.0519669 -0.110795 0.569774 4.04254e-06 -0.020744 0.205849 -0.195489 1.74822 -0.0649509 -1.53472e-05 3.35758 0.637436 -0.00473187 0.000243261 0.245181 -0.0173951 3.21218 -0.0207193 0.100002 -0.253711 -0.539077 0.00211732 -0.0165416 0.010128 -0.128295 0.0347642 1.76142 1.59289 -0.505344 0.0262862 1.51647 0.00218069 0.241234 -0.0513665 0.265246 0.395936 -0.74282 -1.25596 0.0680657 0.450941 0.132045 0.155654 0.0353463 0.33465 -0.0370341 -0.565023 -0.161902 0.0195411 0.0167286 -0.000639854 0.195406 0.180884 0.0070882 -19.3729 0.649201 -17.952 -0.153707 1.50021 -15.6963 0.020717 0.20653 -0.680228 -5.5477 0.000616758 0.0494164 -0.527403 0.673737 -4.47132 0 -41 0 0.344009 -0.474983 0.0179099 -0.162161 0.295169 0.0903475 -0.384222 -2.02337 -0.0336068 0.363156 0.0261396 -0.990115 -0.0175917 -0.123141 0.00209406 -3.92561 -1.51952 0.168034 -0.018851 0.344344 0.0356036 1.49403 0.0189595 -0.0981594 -0.361605 -2.61768 0.143764 -0.0201472 -0.326331 -0.122276 0.0571007 0.0535329 0.826535 0.157726 -0.0483561 0.000832765 0.882361 -2.30529 -0.0178686 0.0402445 -0.0630261 2.49163 -0.0201524 -0.98595 -0.116954 0.00508826 -0.0867348 0.190315 0.15694 -1.71548 -0.0351327 17.2529 -0.00601524 -0.0680487 -0.232946 8.54561 0.866047 0.0624943 0.234345 0.152149 -1.39392 -0.272437 -2.59158 -0.793712 0.199255 -0.426178 -0.179567 0.393544 -0.0450447 0.400513 -0.298613 -0.193109 -1.4219 0.673837 0.242485 -3.10817 11.7688 -0.522441 8.3765 0.604352 -0.28392 7.21614 -1.1025 0.665269 -0.29891 3.32843 0.084358 -0.00183215 0.164095 -0.0160032 0.258965 0 0 0 0 0 0.0179099 -0.162161 0.00707729 0 0 0 0 0.00109369 0 -0.0582848 0 0 0.00656897 0.0233509 -0.0697686 0 -0.0105946 0.0641922 -0.465242 0 0 -0.191778 0.00153903 0 -0.023236 0.386657 0 0 -0.0394695 0.189431 0 -0.0706902 0 -0.0954249 0 0 -0.015385 0 0 -0.0809134 0.0170736 0.105237 0 0.109533 -0.0417677 0 0 0.00193264 0 0.0100014 -0.265446 0.00398475 0 0 -0.0113411 -0.0151556 0 0.030739 -0.152341 0.0137998 1.26043 -0.0911578 -0.0813863 0 0.0434069 -0.165127 0.325287 -0.0357345 0.0190905 0 0 0 1.00543 -0.199773 1.59988 0.0430491 -0.0662631 0.194979 -0.00745014 0.010566 -0.0408313 0.331755 0 0 0 0 0 0 0.295169 0 0.0903475 0 0 0 0 0.0499942 0.0209846 0 0 -0.183543 0 -0.0313637 0 0.00122562 0 0 0.062388 0 0.0166291 0.0204924 -0.0405804 0.00788819 0 0 -0.00750701 0 1.93131 0 -1.1173 0.0384196 0 0.025965 -0.0699639 -0.00570128 0 0.00818418 0 0 0.0196021 0 0.351825 0.500454 0 0 0.0532763 0 0 0.0380144 -0.561286 -0.128545 0 -0.0159355 0 -0.647762 -0.0323611 -0.0219166 -0.130937 0.056174 0.307643 0.0535585 -0.0971645 0.575423 4.17346 -0.0797491 0 0 0 0.0244348 0.0454102 0 0 0 0 0.00558568 5.08115 0.0180044 2.12095 0.102098 -0.0514636 1.17645 0.00929263 0.014267 0.0608626 0.0460789 0 0 0 0 0 0 -42 0 1.13192 0.29699 0.0633248 0.127521 -0.0213763 -0.0137977 -0.560681 -1.20921 0.455705 -1.48057 -0.132314 -4.3958 -0.0158247 -1.57167 -0.0167294 -2.89203 -7.23127 -0.0179595 -0.111378 0.442493 0.0341199 -0.825122 0.0208768 -0.311275 -0.86638 -0.469696 0.258298 0.0320999 0.555135 -0.870626 0.0984457 -0.120069 -2.83937 2.00909 -0.30048 -0.0187235 0.672237 -10.4719 -0.443141 0.0503697 -0.061539 3.33073 -0.0731791 -7.71666 -0.234861 0.00407259 0.129379 -0.683639 0.10443 -0.686427 0.0697704 27.9641 0.124346 -0.0659261 0.110769 10.7339 1.12579 -0.000195226 0.166644 0.0408485 -0.306876 -0.124186 4.48198 1.51072 0.918065 0.141217 0.395869 -0.731607 -0.179085 1.2707 0.693825 0.106978 -1.34458 0.467172 -0.258623 -2.03161 46.6091 9.00791 4.31145 7.98177 -3.68689 7.36065 1.41417 -0.408376 0.528489 2.00489 0.169403 0.143196 -0.107018 0.215116 -0.440537 0 0 0 0 0 0.0633248 0.127521 -0.00773143 0 0 0 0 -0.00073808 0 -0.0294953 0 0 -0.00171022 0.0112133 -0.0292792 0 -0.00823812 0.0595366 -0.0836287 0 0 -0.0742098 0.0007885 0 -0.0366373 1.17947 0 0 -0.0152715 0.335706 0 -0.135543 0 -0.0788822 0 0 -0.0118564 0 0 -0.882348 -0.0109855 -0.0257353 0 -0.114872 -0.0783737 0 0 -0.203003 0 -0.0134553 -0.308369 0.0161431 0 0 0.00175903 0.0154315 0 0.0201286 0.0448322 -0.0121734 0.323284 -0.00958052 -0.0317232 0 -0.0507602 -0.117891 0.26814 -0.0185342 -0.244652 0 0 0 3.41934 0.140408 0.487556 0.0391253 -0.0455306 0.4356 0.00175168 -0.00419406 0.0120814 0.128655 0 0 0 0 0 0 -0.0213763 0 -0.0137977 0 0 0 0 -0.0315468 0.305795 0 0 -0.175222 0 -0.0379611 0 0.00470764 0 0 -0.0416784 0 0.0101264 -0.00321217 -0.0362337 -0.00532765 0 0 0.0117655 0 0.988514 0 -0.330204 -0.104918 0 0.100932 -0.102043 -0.00903218 0 -0.0065001 0 0 0.0515335 0 -0.0450688 -0.226628 0 0 -0.0269996 0 0 -0.0288974 1.39918 0.0567247 0 -0.048926 0 -0.640729 0.0363948 -0.0967778 0.0217773 -0.0171525 -0.1092 0.804725 -0.0475103 -0.257044 -1.46329 0.0309507 0 0 0 0.0123363 0.0430822 0 0 0 0 -0.0506633 8.92179 2.3672 -1.86509 1.25323 -0.695347 0.232726 0.196331 -0.137664 0.129831 0.125513 0 0 0 0 0 0 -43 0 1.11769 0.331653 0.0630915 0.29013 -0.0819575 -0.0159877 -0.0677654 0.0874157 0.734255 -1.3733 -0.0388397 -1.2228 -0.00722887 -0.692705 -0.0039278 -0.134494 -0.406458 -0.150485 -0.0700033 -0.355448 -0.0255152 -0.478004 0.0195284 -0.394267 -0.204515 0.242749 0.0209262 0.00931568 0.283425 -0.247859 0.116431 -0.00997492 -1.45189 0.444883 -0.0649488 -0.00590355 -0.188775 -5.94824 -0.246543 -0.100255 -0.013264 0.598401 -0.0410864 -2.6242 0.0534018 -0.021575 0.049362 -0.344833 0.0244842 -0.471332 0.204431 19.4381 0.406389 0.110054 -0.00248324 4.54682 0.82151 -0.410162 -0.0465007 -0.0293502 1.02547 0.596393 3.55373 0.620338 0.751835 -0.520759 0.0349289 -1.50989 -0.228753 -0.52065 0.91223 0.0953668 0.0756976 -0.481458 -0.14168 1.20476 27.4534 5.55677 2.1778 4.45487 -1.93991 5.36117 1.11958 -0.592045 1.65488 -0.95169 -0.0385182 0.0926936 -0.123405 0.117881 -0.224917 0 0 0 0 0 0.0630915 0.29013 0.00724972 0 0 0 0 0.00122452 0 -0.0090208 0 0 0.0045368 0.0159462 -0.00596955 0 -0.00362691 0.0212385 0.022709 0 0 -0.289169 0.00116001 0 -0.00852133 0.633477 0 0 -0.0318894 0.102077 0 -0.0309931 0 -0.0889869 0 0 -0.0112957 0 0 -0.231831 0.0168226 0.0590338 0 0.098666 0.0433294 0 0 -0.223913 0 0.016159 0.273358 -0.0257507 0 0 -0.0106998 -0.0111302 0 0.0271549 -0.155576 0.0175478 -0.490609 -0.0362908 -0.0271046 0 0.0390099 0.0542762 0.0514301 -0.00531719 0.0911624 0 0 0 -0.431077 -0.0817336 -0.359568 0.0127818 -0.00788887 -0.127682 -0.00629546 0.0073509 0.000135802 -0.0776037 0 0 0 0 0 0 -0.0819575 0 -0.0159877 0 0 0 0 0.0465556 -0.271408 0 0 -0.688704 0 -0.0969446 0 -0.00780538 0 0 0.0984706 0 -0.075802 0.0473314 -0.104686 0.00935421 0 0 -0.0595079 0 -0.22019 0 -1.87154 -0.117224 0 0.467945 -0.338742 -0.0158953 0 0.00406594 0 0 -0.0427095 0 -0.338627 0.60081 0 0 0.0445344 0 0 0.267992 0.526296 0.240299 0 -0.561071 0 -0.469626 -0.0469339 -0.162713 0.0696964 -0.0933008 -0.4614 0.303816 0.0108186 0.50991 1.09259 -0.0246151 0 0 0 -0.0929768 0.00953644 0 0 0 0 0.031065 17.4951 5.63523 -3.17929 1.50788 -0.777328 0.734504 0.403901 -0.290281 0.496969 -0.499626 0 0 0 0 0 0 -44 0 0 0 0.10968 0.395433 0 0 0 0 -0.0264801 -1.7645 -0.136464 0 -0.00460693 0 0.185156 0 0 -0.0829252 -0.0333484 0 0.00574065 0 0.165663 -0.254835 0 0 0.160288 0 0 0 0.175613 1.05836 0 0.863058 0 -0.0579519 0.842352 0 0.179345 0 -0.125731 3.71857 -0.211312 0 -1.23827 0 0 2.05164 0.549093 0 0.0459174 0 0.113966 1.10842 -0.403975 0 -0.970638 -1.0955 0.0322435 -0.0811643 0 0 0 0 -0.471457 0 0.298559 0.686043 -0.1982 0.506302 0.441902 0.484852 1.31388 0 0 0.251957 0 3.7163 0 0.459077 0.466799 0 1.13444 -0.659734 1.2321 0 2.92009 -1.13883 1.13483 -1.18311 0 0 0.151685 0.0143799 -0.178512 0.000240669 0.10968 0.395433 0.0146551 0.118988 -0.227915 -0.000236771 0.0172423 0.00338152 -0.0137003 -0.105918 0.0133908 -0.00312575 -0.00228221 0.0522527 -0.0689585 0.198836 -0.0156309 0.455948 -0.444054 0.000850139 0.824048 -0.171793 0.00135053 -0.00814512 0.223201 4.10102 0.0157861 -0.00472748 0.0570261 1.59956 -0.0331498 0.5161 -0.0185265 -0.278344 -0.00490176 -0.0471149 0.00208449 -0.0366409 -0.00115559 1.72124 0.0792211 0.0951816 -0.00246312 0.284696 -0.00994563 0.00283682 -0.00771803 0.176284 0.0821787 0.0342654 0.767274 -0.00394394 -0.0408508 0.0660731 0.0286954 -0.0189809 -0.147143 -0.0144574 1.06766 -0.103403 -6.1595 0.236445 0.0424181 -0.0410325 -0.33389 0.03323 -0.894882 -0.214272 -0.17463 -0.0216497 0.451984 0.00849084 -3.90487 0.258698 1.10944 0.183874 -0.0321136 -0.232024 0.0226555 0.00805089 -0.0931624 0.0607946 0.00374733 0.000945728 0.00320888 -0.0370515 -0.00392749 0 0 -0.178512 0 0.000240669 0 0 -0.586035 0 -1.19286 -0.0723717 0.0105998 -0.859682 -0.0112912 -0.144949 -0.0962289 -0.0743489 0.0294473 -0.423512 0 0 0 0 -0.130507 0 0.0856617 0 -0.453192 0 0 -0.0595897 0 0 -0.0148438 0 0 0.00181387 -0.00448484 0 -0.0183745 0 -0.213228 0 0 0 0.00130598 -0.0102459 0 0 0.0792834 0 0 0 -0.128975 0 0.200497 0 0.335952 -0.0927582 0.265069 0 0 0.167898 0.0444279 1.44673 0 0.227139 0 0.148306 0 -0.019821 -0.151031 0.056806 -0.08032 -0.106307 -0.00820982 0.808322 0 5.40464 0 2.29433 -0.313927 0 1.18308 -0.320837 0.276252 0 0.88273 -0.360636 0.239421 0.0197802 0 0 -45 0 0 0 -0.279898 -0.218791 0 0 0 0 2.88035 1.64663 -0.710204 0 0.742446 0 -0.351273 0 0 0.575833 -1.76146 0 0.40078 0 -0.237442 0.905056 0 0 -0.999276 0 0 0 0.603461 -0.142949 0 -1.83247 0 -0.310801 -2.96595 0 -3.18232 0 1.26037 -5.66575 -1.53281 0 2.31892 0 0 -1.58781 3.69473 0 2.62248 0 1.77563 -0.593403 -0.648663 0 -1.96726 -1.30366 -1.35834 -1.07085 0 0 0 0 0.544519 0 -0.753571 -1.98841 -4.2673 -2.2564 -0.296995 -2.52151 3.35538 0 0 1.22114 0 -1.73079 0 -2.93432 3.01273 0 -5.60216 4.52907 -2.22292 0 -7.19309 7.58927 -4.60241 4.25374 0 0 0.00758076 0.00674921 0.102493 0.0436266 -0.279898 -0.218791 0.0280468 0.00547414 -0.191634 -0.000562669 0.000333622 0.022992 -0.0626525 0.0909758 0.00560399 -0.00631619 0.0119728 0.135512 0.222134 0.0282775 0.0535116 -2.14117 0.431178 0.000534714 0.0479212 -3.7961 0.0112883 -0.00101247 -0.991355 -5.9906 0.174701 -0.0343128 -0.415448 -3.52022 -0.0319132 -1.92886 -0.0178398 -2.07903 0.00853544 -0.393006 -0.218579 -0.0632569 -0.00553762 -3.73956 0.536823 0.190918 -0.00278769 0.775479 0.844877 0.0934195 -0.0260402 -1.37051 0.0409999 -0.0670275 -0.914505 0.204947 -0.00644162 0.0341301 -0.0309054 -0.126928 -0.159348 0.156237 -1.17707 0.208309 -4.61635 0.212285 0.158746 0.0679839 0.248956 0.342009 -3.16749 1.10104 -0.290802 -0.130971 0.132369 0.013393 8.48372 1.20666 -1.80512 0.272925 1.04973 0.267025 0.0500407 0.123651 -0.455984 0.00784307 0.00517376 0.0233589 -0.112387 0.183216 -0.0434646 0 0 0.102493 0 0.0436266 0 0 0.230002 0 -0.623786 -0.0642988 0.00883454 0.343629 -0.0120838 0.0188986 0.0481698 -0.0307795 0.0143962 -0.318028 0 0 0 0 0.179977 0 0.185567 0 -0.0464903 0 0 -0.0628869 0 0 0.0065563 0 0 0.036067 0.000199779 0 -0.0028937 0 -0.0896532 0 0 0 -0.000413313 -0.00643371 0 0 0.162542 0 0 0 -0.105029 0 0.128007 0 -0.718915 0.238407 -0.563241 0 0 -0.531793 0.47685 0.341422 0 0.119384 0 0.0280106 0 -0.0298357 -0.320043 0.122458 -0.0226845 -0.0709534 -0.0636243 0.458277 0 -0.309659 0 0.624012 0.656981 0 -0.342239 0.684252 -0.50859 0 0.475506 0.0507657 -0.266166 0.225808 0 0 -46 0 0 0 -0.0965119 -0.0763895 0 0 0 0 0.918428 -0.00303088 0.102066 0 0.304726 0 -0.0331261 0 0 0.0239174 -0.187546 0 0.0727289 0 -0.0687758 0.190154 0 0 -0.760598 0 0 0 0.423983 0.452105 0 -1.70869 0 -0.0355374 -2.64008 0 -0.320507 0 0.330808 -6.05675 -0.17161 0 -0.311097 0 0 0.399769 0.597662 0 0.100094 0 0.8545 0.45842 -0.585703 0 0.518846 -1.00914 0.143651 -0.110773 0 0 0 0 0.691423 0 -0.728837 -3.11898 -2.99006 -0.00683174 0.332789 -0.460774 1.02112 0 0 2.41241 0 -0.93073 0 0.595786 -0.148607 0 -0.778561 0.724198 0.097166 0 -0.156129 0.631529 0.876129 -0.065471 0 0 0.0371394 0.00384188 0.0946707 0.0261346 -0.0965119 -0.0763895 0.0242634 0.00907555 -0.159692 -8.72954e-05 -0.000281212 0.0189352 -0.0122741 0.0417885 0.00354136 -0.00109324 -0.00234131 0.0163181 0.160509 0.0496604 0.0257885 -1.05695 0.256253 0.000234355 0.0221682 -1.43123 0.00113513 -0.00655948 -0.475349 -4.14368 -0.0383311 -0.00461659 -0.261444 -2.07605 -0.0298984 -0.842576 -0.0101895 -0.671776 -0.018918 -0.0721645 -0.123508 -0.0122413 -0.000781114 -1.47095 0.383206 -0.0275137 -0.00175502 0.49164 0.210785 0.0106643 -0.0102078 -0.685345 -0.0592829 -0.0144584 -0.912605 -0.0201624 -0.0102363 0.0214874 0.00117336 -0.0913158 -0.038466 -0.0499895 -0.825346 0.0977509 0.0525919 -0.167865 0.133239 0.0166489 0.170211 0.0179397 -0.802063 -0.0896448 0.0845923 -0.00981601 -0.116986 0.00276931 3.33705 0.340764 -0.808327 0.0665249 0.245916 0.226461 0.00969763 0.0241106 -0.0365704 -0.0453667 0.00118297 0.00329185 -0.00497824 0.0424741 0.00953657 0 0 0.0946707 0 0.0261346 0 0 0.0646691 0 0.35216 -0.0463742 0.00729021 0.204103 -0.000353381 0.0577389 0.078175 0.0701728 -0.0358033 -0.45167 0 0 0 0 0.0480591 0 -0.015212 0 0.36616 0 0 0.133264 0 0 0.0195645 0 0 0.0202019 0.0050189 0 0.0335552 0 0.13612 0 0 0 -0.00311375 0.0271312 0 0 -0.217976 0 0 0 0.420723 0 -0.284652 0 0.432054 -0.0265262 1.4404 0 0 0.677433 -0.0373499 0.941653 0 0.124229 0 -0.0273949 0 0.18211 0.258154 0.0533028 0.0656624 -0.100878 0.0340398 -0.139205 0 0.804388 0 2.27319 -0.622063 0 0.748407 -0.383112 0.283688 0 0.545294 -0.284395 0.282447 -0.0573098 0 0 -47 0 -0.309405 -0.333361 0.0722735 0.0461157 -0.409428 -0.152147 0.602574 2.68075 1.05483 -1.10092 -0.308535 0.162133 -0.0489199 -0.175956 -0.0464326 -0.608302 -4.43965 -0.126813 -0.265514 0.327656 -0.067076 0.268056 0.218792 -0.326123 0.428687 -0.0867885 0.06214 0.061268 1.39655 0.0467333 0.482478 -0.0595011 0.933951 -0.042084 0.0772709 -0.133969 0.16234 3.80579 -1.66611 0.0358616 0.0566104 -0.281141 -0.684157 -1.17461 0.339595 -0.01418 0.291006 -0.666948 -0.0504844 3.59038 0.0652754 4.90719 -0.122282 -0.356986 0.205773 -1.36195 -0.417114 0.448649 -0.308508 -0.0405492 1.10372 -0.0656381 2.2167 2.43545 -1.64187 -0.148192 -1.76989 0.24183 -1.1483 0.105906 0.330231 0.409365 -1.25696 0.285798 -0.188006 0.169022 -13.7605 1.36772 -7.4831 -2.94442 5.25654 -9.77555 1.41618 -0.637609 1.26575 -5.63127 -0.643028 1.6715 -1.64498 1.97062 -2.65486 0 0 0 0 0 0.0722735 0.0461157 0.00233875 0 0 0 0 0.00208623 0 0.128699 0 0 -0.00223309 -0.0276281 0.554446 0 0.0709289 0.472532 1.04831 0 0 -0.527317 -0.00129698 0 0.391269 2.76118 0 0 -0.0327216 1.23164 0 0.939248 0 -0.216506 0 0 -0.00826218 0 0 2.15298 0.0452941 -0.0465706 0 0.0553809 0.130849 0 0 0.0190183 0 0.00615396 0.476982 -0.146958 0 0 0.00131732 -0.00211294 0 0.0193754 0.189613 0.0490939 -5.9599 0.042978 0.0605 0 -0.0472877 0.981084 0.373233 -0.350867 -0.307402 0 0 0 -18.551 -0.457427 -5.09614 -0.0832193 0.208466 -2.76559 0.00108674 -0.00245339 0.0356466 -1.10268 0 0 0 0 0 0 -0.409428 0 -0.152147 0 0 0 0 -0.0231614 -0.713117 0 0 0.00150344 0 0.005552 0 -0.0201281 0 0 0.0504224 0 0.0801948 0.0660556 0.0935796 0.00572808 0 0 -0.174242 0 -4.0758 0 0.980847 0.0471136 0 0.615543 0.158307 0.0122586 0 -0.00445738 0 0 -0.0904751 0 -0.560654 -0.243802 0 0 -0.0096479 0 0 0.0323832 0.815155 0.160888 0 -0.548775 0 0.475922 -0.116416 0.0270276 -0.243115 -0.00155765 0.537604 -0.296891 0.0666318 0.448813 -2.13202 0.0676606 0 0 0 -0.153733 -0.0653686 0 0 0 0 0.22508 -3.75383 -0.0633044 -2.43124 -0.179436 0.238421 -0.963924 -0.0126322 -0.0178821 0.0169872 -0.470574 0 0 0 0 0 0 -48 0 0.951496 0.208907 -0.189744 0.138484 -0.0827031 -0.0111755 0.253104 1.48331 1.49556 -0.470195 -0.0128523 -0.350247 0.553942 -0.209716 -0.13 -1.41907 -1.42212 0.14038 -0.718665 0.459658 0.269384 -0.303913 -0.455166 0.111703 0.269157 -0.634027 -0.0600155 -0.00419739 0.47303 -0.121521 -0.086458 -0.320983 -1.32971 -0.0397813 -0.0261136 -0.0213766 0.180998 -4.88777 0.0400257 0.0884664 0.692352 0.23813 0.0670048 -0.472117 0.862992 0.0213841 0.0188797 -1.5468 -0.0451399 0.386603 0.48683 3.03334 1.08589 -0.198049 0.0907113 -1.08293 -0.223164 -0.106183 -0.52222 -0.572993 -1.02584 0.107667 2.92695 -1.73877 -0.313791 -0.336516 1.71968 0.192791 -1.49944 1.96777 0.592756 0.163585 -0.615809 -0.103281 0.0999887 0.213425 15.2839 3.6384 -2.57933 4.48672 -3.81703 6.06029 0.692137 -0.447901 0.516651 -1.8191 -1.63409 0.201238 -1.26812 0.0930307 -0.899234 0 0 0 0 0 -0.189744 0.138484 0.0168413 0 0 0 0 0.00693258 0 0.00483502 0 0 -0.00144522 0.0227848 -0.132392 0 -0.0229419 -0.0900457 0.0827223 0 0 -0.936297 0.00125519 0 0.485493 1.79827 0 0 -0.0927238 0.342471 0 0.502496 0 -0.382421 0 0 -0.0399527 0 0 -0.406688 0.143256 -0.0398635 0 0.349172 0.178703 0 0 -0.800913 0 0.0183733 -0.163089 -0.0335426 0 0 0.00277994 -0.0370417 0 0.00159903 -0.0503297 -0.0438913 -8.28079 0.150544 -0.00897148 0 0.0524684 0.0918431 -0.151676 -0.303562 -0.491115 0 0 0 0.175893 0.159825 -0.255461 -0.00222942 0.0123515 -0.0858853 0.00165194 -0.00418004 0.0549714 0.0229846 0 0 0 0 0 0 -0.0827031 0 -0.0111755 0 0 0 0 0.0632071 -0.261054 0 0 -0.186538 0 -0.0166163 0 -0.00452976 0 0 0.0363317 0 -0.073458 0.0271256 -0.030735 0.00627062 0 0 -0.0189836 0 1.43945 0 -1.5555 -0.0529083 0 0.367447 -0.2505 -0.00278365 0 0.00554074 0 0 -0.0492894 0 0.0991792 0.27709 0 0 0.0379742 0 0 0.316018 0.186628 0.0725598 0 0.513215 0 -1.36988 0.0611951 -0.146668 -0.28715 -0.0658008 0.0980798 0.74921 -0.158429 0.103767 2.89338 0.0654504 0 0 0 -0.0657368 0.0490626 0 0 0 0 0.0558938 14.2941 2.76301 -1.76228 1.22429 -0.922726 1.36975 0.168424 -0.166655 0.210344 -0.224287 0 0 0 0 0 0 -49 0 0.727074 0.207731 0.254069 0.179395 0.0792974 -0.0298635 0.422933 1.19921 3.99209 -1.13674 -0.174978 -0.435512 -0.143642 -0.45272 -0.0974656 0.223238 0.829662 -0.212864 -0.762899 0.600346 0.01065 -0.124074 0.777076 0.112802 0.252475 0.037646 0.500232 0.0305262 0.646718 -0.104529 1.77467 -0.191123 -0.699176 1.33432 0.0632594 -0.0672093 2.02233 -3.76031 -0.88252 0.0642389 0.254998 5.50696 -0.401378 -1.55552 1.31062 0.00900462 0.143188 -1.60406 0.311651 0.390319 -1.01912 -1.51163 1.49813 -0.297019 0.261265 0.111408 0.731042 0.119203 0.0500855 -0.187783 -1.6792 -0.294257 0.492304 -1.27306 -1.19648 -0.163836 0.290835 1.8243 -4.33724 1.33304 0.107492 0.155107 -3.38682 0.249273 -0.328707 -3.08748 12.3839 2.66072 0.546376 0.915233 -0.302606 3.96693 1.38342 -1.55092 2.22713 -2.45169 -2.48168 1.1987 -1.85804 1.01804 -1.22942 0 0 0 0 0 0.254069 0.179395 0.0212322 0 0 0 0 0.0102342 0 -0.0284601 0 0 -0.00524581 -0.0898869 0.0556919 0 0.00314443 0.708924 -0.122618 0 0 -0.901126 -0.0041441 0 -0.147435 3.45568 0 0 -0.0809411 1.5606 0 -0.696384 0 -0.498287 0 0 -0.0450789 0 0 -1.7927 0.215861 -0.11612 0 0.444484 0.195983 0 0 -0.89934 0 0.0269997 0.43856 -0.0263697 0 0 0.00893733 -0.0430782 0 -0.0127293 0.0336571 -0.0713305 -8.21982 0.305745 -0.0580915 0 0.0569676 -0.217397 0.447028 -0.401605 -1.17398 0 0 0 12.7192 0.825248 1.16845 0.0545842 -0.131189 1.80431 0.00386217 -0.00943875 0.127939 0.158192 0 0 0 0 0 0 0.0792974 0 -0.0298635 0 0 0 0 0.0554304 0.737181 0 0 -0.419915 0 -0.05659 0 0.00762004 0 0 0.0111732 0 -0.0899871 0.0437063 -0.0755632 0.00328154 0 0 0.0391216 0 1.84581 0 -1.55033 0.163208 0 0.20174 -0.325145 -0.0116809 0 0.0085263 0 0 0.0996055 0 0.453644 -0.284251 0 0 -0.02721 0 0 0.0315271 0.548262 0.282858 0 0.627984 0 -0.650108 0.219835 -0.255142 0.455692 0.042941 -0.433924 0.553022 -0.132128 -1.12987 -4.48952 -0.116869 0 0 0 0.0841997 0.142832 0 0 0 0 -0.228902 10.8585 2.80919 -1.08895 0.809765 -0.655206 1.02034 0.263738 -0.253208 0.346646 -0.317343 0 0 0 0 0 0 -50 0 1.45105 0.439237 0.326244 0.288501 -0.133011 -0.122435 0.173007 0.971718 0.36857 -2.59652 -0.245174 0.387551 -0.515663 -0.208678 -0.0480204 1.68547 7.02247 -1.35499 0.226106 0.540805 -0.775662 -0.51185 0.604953 -1.31478 0.376618 0.55828 0.339844 0.056587 0.417731 0.0895559 0.532654 -0.164491 -1.28526 0.105631 0.125981 -0.0537335 0.70234 -5.32595 -0.605096 0.0329047 -0.625427 1.06726 -0.0594351 -0.260344 -0.227107 -0.0152614 0.159062 -0.0778375 0.534444 -0.12959 0.115034 -6.09278 -0.310802 0.360625 -0.163815 -1.34487 0.041543 0.107348 0.736715 0.0431376 0.56753 0.189447 1.70278 -1.96347 -0.149915 -0.346443 2.40491 0.212872 0.239576 1.01982 0.78118 -0.4454 -0.735229 -0.274494 0.014626 -1.71355 17.2157 7.47716 -2.40793 6.72851 -3.15338 4.04503 4.80517 -1.35556 1.67417 -1.42048 0.991826 1.0952 -0.784371 0.756333 -0.470098 0 0 0 0 0 0.326244 0.288501 0.00355687 0 0 0 0 -0.00254144 0 0.0343391 0 0 -0.00299187 0.00519342 0.119033 0 0.0223115 -0.123953 0.299257 0 0 0.084193 0.000431036 0 -0.296772 -0.384686 0 0 -0.0220692 -0.382273 0 -0.533083 0 0.266588 0 0 0.0135767 0 0 -1.6132 -0.0515984 -0.0618869 0 0.0707749 0.0480815 0 0 -0.543186 0 0.00581795 -0.273565 -0.0120013 0 0 0.00302892 -0.00956223 0 -0.00536835 -0.287945 0.0132637 0.850628 0.0666197 0.0444854 0 0.0886916 0.0576575 0.417604 -0.15623 -0.0615806 0 0 0 7.50731 0.494343 -0.757265 0.0291286 0.0248672 0.164528 0.00211695 -0.000295099 0.0252357 -0.175491 0 0 0 0 0 0 -0.133011 0 -0.122435 0 0 0 0 -0.053535 0.555182 0 0 -0.356319 0 -0.0401424 0 -0.00426789 0 0 -0.0201807 0 0.0375622 0.0171728 -0.00527476 -0.00537442 0 0 -0.0549343 0 -0.578282 0 -1.541 -0.316673 0 0.146773 -0.137587 -8.65485e-05 0 -0.00507896 0 0 0.0564238 0 -0.911111 -0.266249 0 0 -0.0313813 0 0 0.180921 0.250872 -0.00610559 0 0.875026 0 -0.0435322 0.172535 -0.123189 -0.18136 0.0707138 0.428827 0.0857088 -0.023293 0.0806175 3.74352 -0.0214563 0 0 0 0.0573314 0.0309027 0 0 0 0 -0.151976 16.7138 2.69617 -0.435853 1.04915 -0.519861 0.56473 0.234507 -0.195392 0.199935 -0.0655046 0 0 0 0 0 0 -51 0 -0.14529 -0.357642 0.016619 -0.0387256 0.136768 0.0438613 -0.297345 -1.55309 -0.146251 -0.354934 0.0488003 -0.145674 -0.11455 0.405844 -0.0366409 -1.85288 -6.81358 -0.0051271 -0.179544 -0.0919027 -0.144479 0.30535 0.129142 -0.538268 -0.463211 -0.51664 0.099821 -0.0020966 0.0147332 0.0492159 0.093639 -0.0618189 0.648409 0.180811 -0.0511017 0.0294272 0.0720014 1.47094 0.278578 -0.0192909 -0.302008 0.157866 0.221459 0.400378 -0.638233 -0.00334811 -0.0212426 -0.325722 -0.711016 -0.535203 -0.388687 2.15677 0.121602 -0.147238 0.0288107 -2.30348 0.200749 0.1282 1.23741 0.707908 -0.280856 -0.0326962 -1.34679 1.23006 1.10476 -0.583504 -0.586303 -0.346406 0.0690394 1.54911 -0.00487871 0.441815 -0.177005 -0.54295 0.0428038 1.90428 -2.73222 -1.16082 2.93872 -0.854551 1.30626 -3.62627 2.08427 -0.246212 -1.15126 2.52267 2.7873 -1.24367 0.326949 -0.142083 -0.0165802 0 0 0 0 0 0.016619 -0.0387256 -0.0241169 0 0 0 0 -0.0134244 0 -0.0687204 0 0 -0.0022336 -0.000882573 -0.215407 0 -0.0266376 0.26978 -0.50172 0 0 0.927009 -0.000792439 0 0.583832 -1.42298 0 0 0.0865371 -0.105291 0 1.08389 0 0.53272 0 0 0.0531625 0 0 2.04798 -0.262742 -0.0113186 0 -0.476036 -0.213203 0 0 0.696764 0 -0.00126125 1.44946 -0.00854 0 0 0.0085681 0.0742846 0 -0.0122929 -0.0112793 0.101064 3.58683 0.0238123 -0.201563 0 -0.101627 0.063411 0.181148 0.0579365 0.306331 0 0 0 -3.09824 0.217294 1.7484 0.00174758 0.132684 -1.42408 0.000565931 0.00671497 -0.0560685 0.153774 0 0 0 0 0 0 0.136768 0 0.0438613 0 0 0 0 -0.0541343 0.0415322 0 0 -0.00527611 0 -0.00933488 0 0.00344985 0 0 0.00167328 0 0.217483 -0.0207853 0.0150958 -0.00124255 0 0 0.0524398 0 -0.452361 0 0.802123 0.0774992 0 -0.174549 0.394253 0.00036997 0 -0.00514014 0 0 -0.00472504 0 0.193973 0.180455 0 0 0.015994 0 0 0.188748 -1.58478 -0.0960703 0 -0.0732507 0 0.659922 -0.104711 0.124996 -0.138604 -0.038403 0.143701 -0.726152 0.0601316 -0.0920034 -1.7356 0.00133888 0 0 0 -0.110539 -0.0241495 0 0 0 0 0.0194355 -2.34236 -0.804624 1.7705 -0.531678 0.705625 -0.92233 0.0173458 0.0573643 -0.1727 0.241746 0 0 0 0 0 0 -52 0 0.285161 0.371355 0.270295 0.204552 -0.00336214 -0.0719047 0.490567 1.11793 0.409516 -2.45911 -0.0416554 0.190127 -0.43833 -0.195317 0.214319 0.944586 2.36773 -0.916516 0.77592 0.146531 -0.505509 -0.522239 0.521897 -1.23183 0.341395 0.512342 0.718809 0.0187827 0.58706 0.0604018 0.504104 0.372846 -1.2318 1.03918 0.112852 0.0332082 2.00257 -3.10906 -0.536319 -0.0239697 -0.548067 3.77899 -0.0475057 -1.16742 -0.264512 -0.00888342 0.110182 1.11282 0.353911 0.27531 -0.229228 -1.62939 -0.402079 0.943479 -0.363295 -0.938064 -0.835513 -0.255259 0.734033 0.142055 0.372258 0.297769 1.60791 -0.750713 -0.370358 -0.584875 1.58049 2.02461 0.0649054 0.914955 0.759453 -0.301944 -0.547291 0.0341247 0.139303 -1.22989 6.70262 5.96747 -4.09317 5.82886 -2.1858 1.8533 4.36815 -1.0467 1.32868 -1.64768 1.15518 0.907784 -1.13307 0.886204 -0.660655 0 0 0 0 0 0.270295 0.204552 0.00468702 0 0 0 0 -0.00107555 0 -0.0199619 0 0 0.000171554 0.0287365 -0.0639946 0 0.0039855 0.522784 -0.203285 0 0 -0.36903 0.00161097 0 0.101409 2.43212 0 0 0.00141534 1.12861 0 0.401604 0 0.0709269 0 0 0.0325937 0 0 0.461081 -0.0238418 0.000444464 0 0.0904144 0.209762 0 0 -0.179645 0 0.00861757 0.506763 0.00546781 0 0 0.00500952 -0.00389948 0 -0.0140875 0.294733 -0.037216 -3.17472 0.06304 -0.0508287 0 -0.0715157 -0.0577974 -0.353021 0.0164286 -0.159543 0 0 0 3.09033 0.326197 1.1376 0.0213116 0.0031087 0.0811372 0.00120268 -0.000317853 0.0118638 0.0632013 0 0 0 0 0 0 -0.00336214 0 -0.0719047 0 0 0 0 0.0517495 0.624797 0 0 -0.404321 0 -0.0384972 0 0.0102363 0 0 0.00534916 0 0.0139552 0.0913482 -0.0212227 0.00369252 0 0 0.0529898 0 3.39142 0 0.790481 0.149643 0 0.555106 0.188316 -0.00171023 0 0.0108165 0 0 0.0914161 0 0.711671 -0.0609845 0 0 0.00643378 0 0 -0.316824 2.86753 0.152767 0 0.628298 0 -0.160208 0.162184 -0.113037 0.055034 0.0658995 0.367809 0.703789 -0.0141577 -0.452267 1.03129 -0.0337551 0 0 0 0.344206 0.0629751 0 0 0 0 -0.296023 2.946 2.72364 -2.98106 0.578264 -0.630564 0.419854 0.286393 -0.252572 0.266869 -0.309584 0 0 0 0 0 0 -53 0 0.627836 0.131904 0.0398322 0.117364 -0.180096 0.00421504 -0.188413 0.264855 0.165783 -0.407004 0.0632934 0.84639 -0.0389314 1.21901 0.0764618 1.38283 3.58023 -0.0402929 0.532824 0.123276 0.0202771 0.0810752 0.0743037 -0.0651056 0.140667 0.540303 0.420917 -0.0201611 -0.276656 0.269179 0.0688951 0.123256 -0.0393149 0.647989 0.0262415 0.0366956 0.563174 -1.77562 0.078028 0.0100463 -0.0169535 0.530494 0.0546332 3.76386 0.114151 -0.00577153 -0.0675606 0.883398 0.142129 0.558772 0.537108 -0.17878 0.130245 0.564436 -0.3152 -0.634961 -0.325272 -0.580209 -0.1781 -0.0445555 0.842297 0.51965 0.821994 -0.636443 -0.755474 -0.232613 1.28483 1.16492 -0.284874 -0.397476 0.843615 -0.140856 -0.676373 -0.946189 0.0575068 -0.355263 7.9368 1.58794 0.0699354 1.51752 -1.2305 1.57583 0.543874 -0.570819 0.940713 -1.5653 -0.347561 -0.0012355 0.319032 -0.354719 0.495103 0 0 0 0 0 0.0398322 0.117364 -0.00501976 0 0 0 0 -0.00292607 0 0.00478226 0 0 -0.00417126 -0.0410108 0.103644 0 -0.00351046 -0.336926 0.31355 0 0 0.378854 -0.00210244 0 -0.160695 -1.4561 0 0 0.0313934 -0.878559 0 -0.488876 0 0.139122 0 0 0.0087169 0 0 -1.33755 -0.0534199 -0.0832784 0 -0.0893089 -0.126906 0 0 -0.116846 0 0.000732418 0.26845 -0.033116 0 0 -0.00474867 0.0185532 0 0.0206478 -0.476652 0.0419044 3.24451 0.0463322 0.0230714 0 0.109622 0.100182 0.276689 0.116695 -0.0313154 0 0 0 1.53164 0.151359 -1.50473 0.00438059 0.0535977 -0.422619 0.000389745 0.00132966 0.0127477 -0.217666 0 0 0 0 0 0 -0.180096 0 0.00421504 0 0 0 0 -0.0107494 -0.358652 0 0 -0.134169 0 -0.0211366 0 -0.0156238 0 0 0.0864251 0 0.0456869 -0.0333979 -0.0441038 0.010776 0 0 -0.105784 0 -3.44488 0 -1.35795 -0.187009 0 -0.149198 -0.181355 -0.00692494 0 -0.0047647 0 0 -0.0532644 0 -0.942333 0.169119 0 0 0.0273991 0 0 0.252886 0.178531 -0.192089 0 0.0176665 0 -0.100175 -0.01472 0.0783595 -0.304262 0.0487109 0.244113 0.139132 -0.000936692 0.49171 4.64298 0.0126385 0 0 0 -0.18655 -0.045263 0 0 0 0 0.126491 18.6539 2.58031 0.223969 0.88302 -0.476638 0.762878 0.138441 -0.0968436 0.0966078 0.0550349 0 0 0 0 0 0 -54 0 0.189541 0.0493996 0.192928 0.0638854 0.140093 -0.0092573 -0.197867 -0.853797 -1.3807 -0.869055 0.0431119 -0.00601442 -0.549767 -0.110715 0.168508 -0.539366 -2.39002 -0.578192 0.84201 -0.20952 -0.437469 -0.202854 0.462772 -0.694164 -0.193442 -0.0493239 0.772629 0.0234458 0.621622 0.0282907 0.0189118 0.304415 -0.393961 0.921672 -0.012971 0.0766792 1.9543 -1.22358 0.132516 -0.0635219 -0.888225 2.71753 0.322002 -0.704091 -1.26118 -0.0168665 0.116095 1.36746 -0.876697 -0.839503 -0.0600357 -3.382 -1.28117 0.32761 0.001668 -1.44119 -0.289951 -0.0380533 0.744002 1.01426 -0.12063 0.277664 0.450133 0.361817 0.781723 -0.704674 0.894061 1.08754 1.74513 1.60481 0.431887 0.672638 -1.93611 0.355957 -0.113638 -0.76802 4.75205 0.828361 0.481935 2.54945 -0.784702 -1.23008 3.26691 -0.492761 -1.55355 2.53116 3.83998 -1.5005 0.182164 0.52157 -1.11245 0 0 0 0 0 0.192928 0.0638854 -0.0305561 0 0 0 0 -0.0172207 0 -0.0618582 0 0 -0.00205074 0.0056483 -0.158759 0 -0.0254843 0.421774 -0.396326 0 0 1.03732 -5.61422e-06 0 0.294324 -0.502665 0 0 0.079437 0.310672 0 0.573943 0 0.776866 0 0 0.0667475 0 0 0.966407 -0.345949 -0.0193612 0 -0.618485 -0.0725266 0 0 0.556376 0 0.00156381 1.15975 0.00300775 0 0 0.00452333 0.091857 0 -0.0118654 0.207934 0.060018 2.82782 0.00603712 -0.128853 0 -0.144247 0.0761064 0.718994 -0.16085 0.495632 0 0 0 2.34512 0.404494 1.58846 0.0238086 0.105968 -0.913444 0.000771823 0.00712706 -0.0562289 0.088372 0 0 0 0 0 0 0.140093 0 -0.0092573 0 0 0 0 -0.0378174 -0.150656 0 0 -0.124929 0 -0.0133892 0 -0.00983583 0 0 0.0519793 0 0.136394 -0.00603374 0.0297121 0.00383124 0 0 -0.0715217 0 -0.510718 0 0.92174 -0.0705216 0 0.0809071 0.408272 0.0032258 0 -0.00588488 0 0 -0.0273259 0 -0.10055 0.263695 0 0 0.0230689 0 0 0.360585 -0.311191 -0.175382 0 0.650048 0 0.519988 -0.130976 0.171397 -0.374984 -0.105819 0.513453 -0.440822 0.148448 0.558008 4.54507 0.0883159 0 0 0 -0.0937556 -0.0905295 0 0 0 0 0.167362 0.402162 0.392892 0.188196 -0.0522356 0.350845 -0.721562 0.0926361 0.012995 -0.146497 0.223761 0 0 0 0 0 0 -55 0 -0.266048 -0.494283 -0.330323 -0.203293 0.263161 0.17926 -0.291098 -1.69897 -3.36917 2.04217 0.370867 -0.0610474 0.361871 1.39733 0.115835 -2.97503 -11.1181 1.14193 0.308523 -0.788517 0.66341 0.677539 -0.795244 1.04662 -0.571065 -0.9422 -0.34364 -0.0943288 -1.30281 0.100623 -1.54388 0.244723 1.31308 -0.520314 -0.119863 0.113839 -0.509595 3.02998 1.56053 -0.0730259 0.128812 -2.08482 0.542793 2.84811 -0.81224 0.00652172 -0.361395 0.998302 -1.18415 -0.0227834 -0.150754 4.83026 -1.18167 0.100115 -0.0860377 -0.487622 -0.724068 -0.0103997 -0.548022 0.171583 0.908799 0.0470032 -3.0139 1.67749 0.237731 -0.307027 -2.42972 -0.150336 3.77692 -1.09037 -0.0920214 1.04515 0.165726 -1.06265 0.255396 0.369173 -11.2014 -6.04771 4.97882 -4.83539 2.08184 -1.57506 -2.37162 0.45994 -0.81294 1.40574 2.47307 -3.21215 2.71016 -2.73799 2.33151 0 0 0 0 0 -0.330323 -0.203293 -0.0323939 0 0 0 0 -0.0159471 0 -0.0682711 0 0 -0.00026129 -0.00561982 -0.196057 0 -0.0282503 -0.0317962 -0.449117 0 0 1.1417 -0.000977121 0 0.557248 -1.65474 0 0 0.0974688 -0.379548 0 1.01727 0 0.411541 0 0 0.0337769 0 0 1.9433 -0.32004 0.0139668 0 -0.650836 -0.223372 0 0 0.759803 0 -0.00747891 0.00391156 0.0221557 0 0 0.000375206 0.0916617 0 0.00438238 0.147646 0.0478583 1.81879 -0.0794576 -0.13125 0 -0.139903 -0.0532594 0.142738 -0.0418616 0.236999 0 0 0 -8.33436 -0.344346 1.06117 -0.0313016 0.0396332 -0.785061 -0.00122672 0.00215694 -0.0324855 0.218473 0 0 0 0 0 0 0.263161 0 0.17926 0 0 0 0 -0.0185691 -0.315838 0 0 0.151333 0 0.0387428 0 0.0255115 0 0 -0.0676711 0 0.0806394 -0.0258848 -0.0208226 -0.00264655 0 0 0.178704 0 0.560156 0 0.023774 0.235219 0 -0.388678 -0.000719972 0.00682783 0 -0.000749449 0 0 -0.00941204 0 0.791129 0.399501 0 0 0.0672108 0 0 -0.161676 1.20897 -0.332819 0 0.127744 0 0.337252 -0.193087 0.294854 -0.221428 0.0620658 0.160626 0.098313 -0.0223689 -0.423191 0.456871 -0.0277303 0 0 0 0.0914024 -0.0132629 0 0 0 0 -0.0136923 2.97153 -0.516043 2.207 -0.135128 -0.257427 0.663798 -0.166853 0.128075 -0.0962832 0.274262 0 0 0 0 0 0 -56 0 -0.0404916 -0.233571 -0.343126 0.00095837 -0.315225 0.0979722 -0.690927 -1.42935 0.392377 2.83807 0.0970542 -0.503429 0.606576 0.82062 -0.0283656 -0.509139 0.953511 1.46614 -0.234111 0.857441 0.849833 0.611464 -0.667519 1.44158 -0.676973 -0.415711 -0.563233 -0.0692642 -0.349724 -0.047472 -0.34672 -0.0353392 0.718362 -0.54606 -0.274376 0.0220357 -1.28057 0.0887757 0.082403 0.216573 0.744832 -2.41761 0.0494525 1.22643 0.651218 0.0574626 -0.160967 -0.462478 -0.261692 -0.179704 1.29749 5.94749 -0.263461 -0.382708 -0.017018 -5.01233 -0.538964 0.612489 -1.52265 -0.18045 1.27747 -0.144318 -0.207023 2.66841 1.18242 -0.288094 -2.80317 -0.986705 -0.370555 -2.10529 0.491416 0.0766118 1.39355 -0.60848 0.00970543 5.81212 12.107 -2.8443 2.67789 -2.24037 0.338972 -0.707403 -4.76584 1.74606 -2.15641 0.723265 -2.00456 -0.0140469 0.268868 -0.0946527 0.289338 0 0 0 0 0 -0.343126 0.00095837 -0.00308022 0 0 0 0 0.00536703 0 -0.0333616 0 0 0.00177804 0.01204 -0.123814 0 -0.0163785 0.0515492 -0.0801113 0 0 0.463585 0.000533022 0 0.335291 1.702 0 0 0.0836648 0.331416 0 0.682497 0 0.0749347 0 0 0.0202088 0 0 0.828586 0.107245 0.0313249 0 -0.0489018 -0.067964 0 0 0.39239 0 -0.0096209 0.158116 -0.000708922 0 0 -0.00606734 0.00550451 0 0.0372108 0.10502 0.020565 -0.504676 -0.0908201 -0.0610984 0 -0.018817 0.0554574 0.106192 0.0151424 0.248486 0 0 0 -7.24919 -0.412459 -0.280383 -0.00202113 -0.00143696 -0.654819 -0.00291273 0.00375188 -0.0241212 -0.00355426 0 0 0 0 0 0 -0.315225 0 0.0979722 0 0 0 0 0.0676525 -1.20393 0 0 -0.0154725 0 -0.0146499 0 -0.0204281 0 0 0.0893982 0 -0.153227 -0.00673019 -0.0854605 0.0102206 0 0 -0.142237 0 -1.92106 0 -1.06931 -0.100879 0 0.0576028 -0.530692 -0.012937 0 0.00129196 0 0 -0.139779 0 -0.26108 0.527522 0 0 0.0665149 0 0 -0.166915 1.83341 0.000140655 0 -1.17424 0 -0.111361 -0.00872107 0.00934997 -0.410743 -0.0593211 0.554125 0.403331 0.165556 1.57814 1.81314 0.167826 0 0 0 -0.124926 -0.141398 0 0 0 0 0.2916 18.5935 3.10726 -2.19762 1.24926 -0.488443 0.0947018 0.127951 -0.0633131 -0.00623437 -0.0184301 0 0 0 0 0 0 -57 0 0.00412685 -0.0401682 0.0381537 0.0273122 0.174181 0.110082 -0.393449 -1.97904 0.126 0.623194 0.246485 0.276919 -0.0441887 0.888919 0.319279 -0.831954 -1.87342 0.425011 1.44645 0.0842351 0.142086 0.0544304 0.0578757 0.145067 -0.554304 -0.362597 0.26924 -0.0413338 0.128608 0.103406 0.0983293 0.472145 -0.0554955 0.985835 -0.104101 0.164264 1.13422 -0.904196 0.83797 0.0511318 -0.015101 3.27268 0.553357 2.51956 0.0442765 0.0199638 -0.0508072 2.13242 -0.920407 -1.23077 -0.131649 3.00292 -1.62453 0.932023 0.159771 -2.67725 -0.471475 1.24452 0.125224 -0.129142 -0.79405 0.112195 -1.19123 1.45976 1.01897 -0.471281 -0.793766 -0.694393 -0.338103 0.689262 0.355688 0.212024 -2.44676 0.406326 0.103923 -0.615743 7.4199 -2.76676 6.68889 -1.73737 0.5979 0.302028 -0.887853 0.242412 -1.41291 3.86501 -0.13629 -1.28204 -0.216254 -0.324368 -0.106401 0 0 0 0 0 0.0381537 0.0273122 0.00180091 0 0 0 0 0.000771596 0 -0.0915273 0 0 -0.00468794 -0.0215402 -0.237314 0 -0.0346999 1.16179 -0.631879 0 0 1.36467 -0.00191696 0 0.5012 5.09643 0 0 0.170103 2.49042 0 0.765576 0 0.672955 0 0 0.0855888 0 0 1.07028 0.00743368 -0.053353 0 0.0216685 -0.246357 0 0 0.747689 0 0.00267746 0.320004 0.0467852 0 0 0.0111628 -0.00504205 0 -0.0153248 0.567203 0.100315 0.588903 0.02253 -0.209801 0 -0.087098 -0.204207 1.14685 -0.419576 0.639685 0 0 0 3.45174 0.528324 2.56086 0.0289102 0.0850086 -0.664265 0.00238997 0.0061876 -0.0514132 0.33183 0 0 0 0 0 0 0.174181 0 0.110082 0 0 0 0 0.000454742 0.514101 0 0 -0.298843 0 -0.0430865 0 0.0147152 0 0 0.0257227 0 -0.0548738 -0.008892 -0.0807016 0.000780323 0 0 0.13781 0 0.316401 0 -0.614298 -0.0182133 0 -0.151829 -0.189616 -0.0108058 0 -0.000820876 0 0 0.0609264 0 0.182921 0.304877 0 0 0.0245816 0 0 0.088532 -1.30205 -0.0678495 0 0.221637 0 0.489747 0.122972 -0.0185231 -0.121603 -0.07416 0.212338 -0.428509 0.0462361 0.169299 0.576811 0.00255204 0 0 0 0.0590192 -0.00995763 0 0 0 0 -0.0846265 8.1945 1.57871 1.38614 0.202474 0.301535 -0.370431 0.231676 -0.0876092 -0.0236288 0.231769 0 0 0 0 0 0 -58 0 0.342194 0.250964 0.211896 0.187931 0.0696207 -0.0205905 0.350872 0.612722 1.15001 -1.19821 -0.0608678 0.219481 -0.296689 0.434934 -0.0186446 0.45766 2.57008 -0.564929 -0.1286 0.54134 -0.325472 -0.374637 0.386471 -0.396351 0.23115 0.0455316 0.491833 0.0240254 0.421606 0.0625004 0.533221 -0.109502 -0.695553 0.92365 0.0916367 0.0170715 2.01532 -2.63062 -0.420617 0.0647556 -0.13179 4.32187 -0.097328 0.55483 0.607176 -0.002457 0.095485 -0.637776 -0.0783077 0.146624 -0.389476 5.46639 -0.860032 -0.241458 0.258307 1.01877 -0.681342 0.700416 0.323061 0.00294156 -0.181256 -0.119933 1.68251 -0.848379 -0.784798 -0.30752 1.98313 2.25652 0.524724 0.472962 0.062463 0.0933575 -0.667927 0.572105 -0.143807 -0.767529 8.77535 4.42921 -2.61879 2.85264 -2.21933 3.04063 1.32878 -1.30146 1.64709 -1.62428 -1.86899 0.752514 -0.900054 0.247009 -0.348808 0 0 0 0 0 0.211896 0.187931 0.00272467 0 0 0 0 -0.0020248 0 -0.0460971 0 0 -0.00386745 -0.0407944 0.00633383 0 -0.0165425 0.445247 -0.116288 0 0 0.031934 -0.00211804 0 -0.0477011 2.02992 0 0 0.0480628 0.947958 0 -0.255061 0 0.0791538 0 0 0.0340325 0 0 -0.855062 -0.0411707 -0.0759086 0 0.0522796 -0.0112795 0 0 -0.0508481 0 0.00912209 0.440103 0.00436926 0 0 -0.000992076 0.00432055 0 0.00183961 0.107612 0.00404185 -0.93102 0.0955659 -0.0453208 0 -0.00386084 -0.0853433 -0.00670539 0.0587013 -0.0586805 0 0 0 5.55999 0.422542 0.479816 0.0230712 0.0200861 0.105329 0.0010797 0.000842412 0.0168558 0.043629 0 0 0 0 0 0 0.0696207 0 -0.0205905 0 0 0 0 0.071936 0.193068 0 0 -0.572433 0 -0.0618098 0 0.00230457 0 0 0.0288458 0 0.0610231 0.0396997 -0.11806 0.00213088 0 0 -0.0222857 0 1.16886 0 -0.656267 0.205759 0 0.263094 -8.96201e-06 -0.0130976 0 0.00916474 0 0 0.0454047 0 0.568381 -0.0686588 0 0 -0.0118966 0 0 -0.146987 2.5904 -0.0151944 0 0.238985 0 -0.524822 0.205956 -0.0526446 -0.260589 -0.0115676 0.198129 1.09504 -0.05893 0.0177639 2.37231 -0.000796867 0 0 0 0.205308 0.0208522 0 0 0 0 -0.144052 13.4876 4.72348 -2.24059 0.973074 -0.864139 1.0495 0.43775 -0.311586 0.335443 -0.190393 0 0 0 0 0 0 -59 0 0 0 0 0 -0.493445 0.20096 0.489476 2.93738 0 0 0.320916 0.88833 0 1.70876 -0.0104092 0 0 0 -0.192209 4.00301 0 0 0 0 0.321035 0 0 -0.943977 -5.95709 0.722022 0 -0.0299352 0 0 -0.093143 0.0338779 0 0 1.2062 1.27929 0 0 0.232788 2.50926 0 0.945546 -2.04213 -0.66241 -0.32365 2.29532 -0.410426 0 0.0180782 0.0615 -0.392286 2.64146 1.24182 0.839698 0 0 -0.590434 -3.07311 0 -0.42178 -0.245914 1.11596 0 0 0 0 -0.198236 0.793973 0 -2.84592 2.30134 0 0 0 -5.63428 0 -1.01663 5.02328 0 -0.447476 2.22598 -5.51589 0 -0.0236781 2.67816 -6.87043 20.8341 0 0 0 -0.173426 -0.0466124 0 0 0 0.117567 -0.176603 0 0.0157768 0 -0.0200175 0.0393666 0 0 0 0 0.105312 0 0.0179854 0 0.257972 0 0.847181 -0.0593338 0 0.00785893 0 0 0.278795 -0.00707849 -0.0061316 0 -0.0263626 0 -0.0125557 -0.0228887 0.0525001 -0.0996203 -0.00387135 0 -0.00141625 0 0 0 -0.00186777 0 0 0.018665 -0.0196428 -0.0218073 -0.0537302 0 0 0.00934618 0 0.0218319 0 0 -0.0879649 0.0457722 -0.0974748 -0.0136815 0 0 0.000630081 0.0451758 0.00913563 -0.0401464 0.0204589 0 -0.0622508 -0.00564341 0.346096 0 0 0 -0.329655 0 0.123612 -0.37506 0 -0.0123678 0.0362312 -0.134621 0 0.00907502 -0.0255501 0.0601021 -0.134887 0 -0.493445 -0.173426 0.20096 -0.0466124 0.67151 0.175065 -0.876306 0.486149 -0.918396 0.00346453 0.0767434 -0.398411 0.00358612 -0.050216 -0.137592 0.0135853 0.0730679 -0.0755439 -0.419266 -0.309451 0.192436 0.296223 -0.0751598 -0.103074 0.403697 -0.287741 0.174795 -0.00472383 3.00166 0.65503 -0.0840313 1.68875 -0.0208768 1.55348 0.206478 -0.0163724 0.0129972 0.0674359 0.123922 -1.94793 -0.156736 -0.0420839 2.74394 -0.380223 0.0132152 0.0585034 -0.0799499 -0.0625837 0.082632 -0.0157978 1.40713 -0.353438 -0.203676 0.50834 0.474953 0.0214481 -0.238022 0.321467 0.187538 -0.0660161 0.44524 -0.222297 -0.0292457 0.075387 -4.46363 0.225732 -0.0411984 0.103458 -0.0845482 0.130849 -0.0422631 -0.110887 -0.0224624 0.205074 0.0157623 0.235612 0.236648 0.562012 -3.52201 0.120941 -1.28987 4.37817 0.0699767 -0.502073 1.19133 -1.74583 0.0261923 -0.297927 0.76725 -1.24584 2.66802 0 -60 0 0 0 0 0 0.130973 0.179034 -0.329444 0.372428 0 0 -0.250571 0.748422 0 0.563761 -0.122145 0 0 0 -0.0788784 -3.0712 0 0 0 0 -0.0340874 0 0 -0.374401 2.25899 0.277103 0 -0.182502 0 0 -0.155041 -0.0853201 0 0 -0.662489 -0.597554 0 0 -0.253726 2.10464 0 0.150101 0.0180023 0.569745 0.571009 -0.46826 0.787682 0 -0.345994 -0.327275 0.0522337 2.16818 0.37595 1.58083 0 0 0.326317 2.45234 0 0.569349 0.500544 -0.265899 0 0 0 0 0.124433 -1.10051 0 2.91241 0.61784 0 0 0 -1.72312 0 1.42898 -6.3149 0 0.76714 -1.51617 -3.80842 0 0.934466 -1.83504 2.10944 -10.1945 0 0 0 0.0367024 0.0448656 0 0 0 0.10764 -0.0676304 0 0.0211118 0 0.0069979 0.0158298 0 0 0 0 0.0467584 0 -0.00133015 0 0.149749 0 0.571387 -0.231552 0 0.00467032 0 0 0.225919 -0.00228345 -0.0562039 0 -0.00893555 0 -0.00489502 -0.152445 0.022562 -0.0300207 -0.0322746 0 0.000457649 0 0 0 -0.000658554 0 0 0.00626417 -0.0105576 0.0283959 -0.0340914 0 0 0.0255012 0 0.00630143 0 0 0.0220956 0.0251299 -0.149457 -0.0132883 0 0 -0.119019 -0.0351999 0.0144211 -0.122884 0.0168487 0 -0.115573 0.025263 -0.110355 0 0 0 -0.31093 0 0.126691 -0.653845 0 -0.00886134 0.0495639 -0.204561 0 0.00330664 -0.0230155 0.0799665 -0.261242 0 0.130973 0.0367024 0.179034 0.0448656 -0.230739 -0.0940335 0.163334 0.198931 0.243376 -0.0835266 0.0610125 -0.244341 -0.0196057 -0.0558521 0.0827681 0.0357558 0.0130126 -0.335111 -0.158004 -1.16949 0.275995 0.131574 -0.0700062 0.0157356 0.466896 0.0329941 0.113309 -0.028743 4.65764 0.410914 1.80939 1.11989 0.0201258 0.90018 0.897112 -0.0104942 0.0133105 0.0308238 0.0627182 0.482482 0.133922 0.00323069 2.66767 -0.491538 0.00167109 0.100826 -0.0246089 -0.182392 0.13976 0.897902 -0.4564 1.16876 -0.0812905 0.153442 -0.087418 -0.631587 0.386492 -0.607302 0.376053 -0.014665 -1.33724 -0.0145359 -0.108478 0.702207 3.29149 -0.227536 0.130189 -0.0732662 0.261631 -0.0110822 0.114178 -0.266235 0.169519 0.191778 0.0119465 -0.129795 -5.0956 0.32229 -3.81382 0.158194 -0.496295 -2.58817 0.0463897 -0.271426 0.144005 -1.50037 0.116189 -0.186421 0.157335 -0.227997 -0.918376 0 -61 0 0 0 0 0 -0.368169 -0.248729 0.833881 2.53229 0 0 0.163747 -1.18257 0 -1.36077 -0.040789 0 0 0 0.0730903 -1.96876 0 0 0 0 0.318401 0 0 0.264742 4.03966 -0.408931 0 -0.116005 0 0 0.140695 0.013271 0 0 -0.238382 -0.0731341 0 0 -0.0521012 -4.82253 0 -0.094414 0.60412 0.162467 -0.103325 0.749792 -0.0142953 0 -0.271806 -0.10531 0.465994 -3.40369 -1.19137 0.239984 0 0 -1.26773 -2.22962 0 -0.147247 0.0250622 -0.405847 0 0 0 0 0.11371 0.81934 0 1.23295 -1.06373 0 0 0 -5.51489 0 -0.999497 -4.8181 0 -0.838583 -0.37177 -6.14333 0 -0.107137 -1.35793 1.86872 -13.701 0 0 0 0.0553165 0.0168712 0 0 0 -0.0236588 0.0810885 0 -0.00099506 0 0.00828783 0.0230527 0 0 0 0 0.0489507 0 0.00277123 0 0.216843 0 -0.245137 -0.137896 0 -0.000711555 0 0 -0.0645016 0.00291151 -0.0170596 0 0.0124216 0 0.00573473 0.0591158 -0.00935832 0.0412162 0.00524675 0 0.00058398 0 0 0 0.000876191 0 0 -0.00768881 0.00913161 -0.127888 0.0241116 0 0 0.0137364 0 -0.00983731 0 0 0.0048512 0.036548 -0.020345 0.0348885 0 0 -0.115455 -0.0140221 0.0114203 -0.037223 0.0292473 0 -0.000755569 -0.00666463 0.386045 0 0 0 -0.308908 0 -0.0432239 0.0640609 0 0.00467723 -0.00715345 -0.0436876 0 -0.00371334 0.00581314 -0.0146837 0.0211629 0 -0.368169 0.0553165 -0.248729 0.0168712 -0.585154 -0.0971778 0.283872 0.467022 0.428582 -0.00431097 0.0286517 -0.390063 -0.00194625 -0.0749919 0.04745 -0.0104082 0.00823189 0.0122425 -0.235398 -0.434298 -0.416844 0.342509 -0.238077 -0.0660691 -0.000723893 0.17553 0.170491 -0.000438885 -0.767366 -0.34745 -2.29224 -0.705708 0.00755911 1.60184 -1.0403 -0.0464447 -0.00111214 0.0819033 -0.023407 1.80032 0.0253443 0.0118336 -0.824992 -0.580742 0.00544592 -0.0335144 -0.102223 -0.0597318 0.0830842 -0.3015 -0.565275 0.346942 0.00690171 0.907178 -0.154156 0.0901703 -0.100018 0.187483 -0.135036 -0.183413 -0.173513 0.254994 -0.0997799 0.351123 0.87712 -0.0558335 -0.534535 0.0195396 0.1392 0.0747563 0.0911042 0.0114305 0.0133891 0.0783658 -0.0444572 -0.0974198 6.45539 0.57682 -3.1381 0.380141 -0.233686 -1.81824 0.0674735 -0.0884612 0.0590126 -1.98641 -0.00424468 0.0973559 -0.530156 0.859397 -2.91793 0 -62 0 -1.04959 -0.239685 -0.0811961 -0.254899 0.203111 -0.0748439 -0.28562 -1.65026 -0.609443 1.36543 -0.448672 -0.476161 0.0247249 -0.915226 0.0112766 -1.20342 -4.54419 0.233264 0.0278653 -0.152686 0.0333861 0.099361 -0.0335228 0.308169 -0.267143 -0.317264 -0.0300722 0.581005 1.76099 -0.332136 -0.147668 -0.167851 0.864645 -0.457219 0.019489 -0.100952 -0.467525 5.68141 -0.811539 -0.293656 0.0926986 -2.60167 -0.210571 -0.867599 0.267531 -0.366222 0.983704 -0.254728 0.503241 -1.84918 0.88768 -0.723017 0.0505514 0.078363 0.213024 -3.09953 -0.869511 -0.093296 -0.360472 -0.153895 1.29493 0.275683 0.0697533 1.19778 0.898796 -0.547703 -0.130796 -0.0845462 0.263212 -0.68203 0.695338 -0.986998 1.01504 0.639951 -0.898773 1.62769 -16.7222 -4.3124 1.85158 -2.98313 3.6171 -9.05009 -0.362838 1.16082 -2.81043 2.69513 -0.252915 0.553934 -1.28007 2.47922 -5.89364 0 0 0 0 0 -0.0811961 -0.254899 -0.00967129 0 0 0 0 -0.00112731 0 0.0176742 0 0 -0.00764652 -0.0257764 0.0340309 0 0.00204484 0.0328776 0.151886 0 0 0.140488 -0.00181147 0 0.0374474 0.0769947 0 0 0.0158184 0.0302108 0 0.0922023 0 -0.0182246 0 0 -0.00474185 0 0 0.280639 -0.0160192 -0.108011 0 -0.136599 -0.0362369 0 0 0.190049 0 -0.0169306 -0.0105538 0.0261195 0 0 0.0156745 0.0183751 0 -0.0334706 0.0204987 -0.0255855 -0.0324418 0.0173132 0.0391547 0 -0.035877 -0.0399921 0.00029687 0.0156298 -0.0362879 0 0 0 -0.633484 0.145616 -0.237855 -0.0256629 0.0347307 -0.0540832 0.0097135 -0.0126759 0.0188613 -0.0302018 0 0 0 0 0 0 0.203111 0 -0.0748439 0 0 0 0 -0.622048 -1.5913 0 0 0.944722 0 0.137864 0 -0.0923249 0 0 0.341052 0 -0.0250824 -0.173213 0.378568 0.0620661 0 0 -0.727216 0 -7.49393 0 1.3223 -1.29189 0 -1.49489 0.135479 0.0628455 0 -0.0714856 0 0 -0.204805 0 -2.94452 0.558994 0 0 0.0953283 0 0 0.181249 -1.03918 0.0727495 0 -1.59732 0 0.383877 0.0695365 -0.00683361 -0.495749 -0.257466 -0.216725 0.0184936 0.264616 1.68992 3.77845 0.174783 0 0 0 -0.444619 -0.179318 0 0 0 0 0.615594 -8.82113 -3.52972 3.85652 -0.995515 0.710639 -1.16084 -0.329731 0.386983 -0.671271 1.0419 0 0 0 0 0 0 -63 0 0.246256 -0.10212 0.0844349 0.160658 -0.241052 -0.320018 1.18152 2.68213 0.603069 -1.7125 0.391592 -0.990108 -0.0307107 -1.12682 0.0105696 -0.304511 0.436641 -0.235633 -0.0324459 -1.27371 -0.0874011 0.138137 0.038262 -0.581591 0.596991 -0.330524 -0.015453 0.338792 -0.490819 -0.329334 0.163543 0.193268 0.10743 0.413693 0.365152 0.0623105 0.039774 -0.0654541 0.897268 -0.901326 -0.143837 1.88013 0.18373 -3.88135 -0.631524 -0.705221 0.100952 0.206612 -0.483055 0.667492 -1.14896 2.29143 0.0188246 -0.145562 -0.195857 3.37826 0.435928 -0.0474241 1.09245 0.318766 -1.46439 0.350795 1.47269 -1.65089 -0.585159 0.297252 0.799447 -0.012371 -0.277785 2.07587 -1.03662 0.589933 -0.346697 0.898738 0.181931 -0.489809 1.7007 4.23584 -5.40055 1.55299 -0.995555 -1.51939 2.3037 -1.66702 2.30437 -4.36068 0.597021 -0.826207 1.28879 -1.81398 1.64266 0 0 0 0 0 0.0844349 0.160658 -0.0046367 0 0 0 0 -0.00137554 0 0.0273503 0 0 -0.00303831 0.00861642 -0.0112759 0 0.00395355 -0.100093 0.0924241 0 0 0.395627 0.000600622 0 -0.024284 0.134908 0 0 0.0702492 -0.206422 0 0.0494558 0 0.115198 0 0 0.0193934 0 0 0.424021 -0.0195638 -0.0428281 0 -0.0661174 -0.0171909 0 0 0.0198317 0 -0.0209961 -0.169867 0.0335854 0 0 0.0070111 0.0010297 0 -0.0217571 0.014776 -0.0145409 -0.322735 0.0490832 0.0396259 0 -0.00595191 -0.0612578 -0.136227 -0.0249039 -0.0666848 0 0 0 -0.991548 0.146721 -0.310958 -0.0383617 0.053339 -0.0863748 0.00440768 -0.00850566 0.0182762 -0.0410722 0 0 0 0 0 0 -0.241052 0 -0.320018 0 0 0 0 0.308534 1.78414 0 0 -0.414875 0 -0.0587426 0 0.0958266 0 0 -0.611435 0 0.311042 0.109246 -0.173476 -0.0940895 0 0 0.742524 0 1.73267 0 -0.0850505 -0.0612787 0 0.985241 -0.077371 -0.023401 0 0.0386013 0 0 0.220498 0 0.333873 -1.56055 0 0 -0.217302 0 0 -0.0741716 -0.118381 0.134687 0 1.91707 0 0.467925 0.0318256 -0.00578491 -0.0179393 0.147865 0.267862 -0.0190623 -0.128168 -1.63642 -0.380849 -0.0457459 0 0 0 0.311893 0.0710929 0 0 0 0 -0.519122 -6.3005 0.216785 -2.99664 0.325132 -0.360117 -0.271417 0.170115 -0.175017 0.253993 -0.704563 0 0 0 0 0 0 -64 0 -0.81905 -0.32515 0.00487453 -0.00286122 -0.219042 -0.157116 0.631592 1.95493 0.0170374 -0.221558 -0.0605941 0.524195 -0.00175382 0.719122 0.0100138 -1.10964 -3.29002 -0.102291 0.0252685 -0.882389 -0.0140062 0.239224 0.00225062 -0.00591127 0.572969 -0.568433 -0.0196188 0.211683 0.154436 0.162308 0.00833533 -0.0119746 0.529078 -0.218691 0.295608 -0.0115949 0.14755 3.2579 -0.171075 -0.718086 -0.00637247 0.00054209 -0.0259685 0.960335 -0.0168735 -0.53987 0.14262 0.0334053 0.0775567 -0.965191 0.267449 -4.68318 -0.105319 0.0521202 -0.148096 0.353816 0.195501 0.1406 -0.034387 0.00915948 0.025016 0.164461 -0.0466812 0.455915 0.444778 0.105406 0.250508 0.288708 -0.00946772 -0.0199043 0.00834408 -0.380712 -0.27826 -0.981336 0.506788 -1.02566 -13.4428 -3.72979 -3.01693 -2.73497 2.41696 -5.66573 -0.268762 0.216848 0.291097 -2.72413 0.0159516 0.070121 -0.0447634 0.384603 -0.516864 0 0 0 0 0 0.00487453 -0.00286122 0.00197333 0 0 0 0 0.000437673 0 0.00258683 0 0 0.00126518 0.00427093 -0.00182486 0 0.000334524 0.0264622 0.00293536 0 0 -0.139481 0.000299187 0 0.0123249 -0.242262 0 0 -0.0133045 0.0662102 0 0.0764384 0 -0.0209841 0 0 -0.00167486 0 0 0.370174 0.00624459 0.0182402 0 0.0283625 0.035918 0 0 0.00769693 0 0.00532369 0.0292384 -0.0032417 0 0 -0.00282767 -0.00267296 0 -0.00869031 0.197003 0.00592053 0.0210355 0.0474254 0.00538315 0 -0.0289199 -0.0022564 -0.03652 0.0385572 -0.067164 0 0 0 -0.746565 0.0292012 -0.0843131 -0.0336989 0.0429672 -0.0614235 -0.00166999 0.00176503 -0.00169746 -0.00239865 0 0 0 0 0 0 -0.219042 0 -0.157116 0 0 0 0 0.405717 -0.900585 0 0 -0.356642 0 -0.0344512 0 -0.0356332 0 0 0.56866 0 0.727373 0.132047 -0.139269 0.0851344 0 0 -0.416696 0 0.908742 0 3.42764 0.332703 0 1.22025 1.171 -0.00920408 0 0.0380009 0 0 -0.079895 0 0.733847 0.867972 0 0 0.150843 0 0 -0.618988 2.74782 0.0521318 0 -0.996413 0 1.42099 -0.110965 0.108291 0.686073 0.0123816 -0.787062 -0.598459 0.199613 0.960732 0.743001 -0.0379185 0 0 0 0.292197 -0.0230776 0 0 0 0 -0.000665204 -10.299 0.754642 -3.98236 -0.717565 1.01015 -2.84748 0.113598 -0.178294 0.299734 -0.941285 0 0 0 0 0 0 -65 0 0 0 -0.170338 -0.071513 0 0 0 0 -0.921231 0.932075 -0.633092 0 0.262755 0 -0.0853935 0 0 0.330139 0.126772 0 0.16813 0 -0.341807 0.321588 0 0 -0.423042 0 0 0 -0.512093 -0.529969 0 -0.762227 0 -0.138419 -1.36589 0 -1.69426 0 0.376587 -2.72763 -0.672967 0 0.192909 0 0 0.463151 1.07258 0 1.62532 0 -0.170358 -0.0546738 -0.186507 0 -0.162278 0.858511 -0.427173 -0.42329 0 0 0 0 0.398294 0 0.306694 -2.08923 0.579732 -0.0128208 0.137966 -1.3584 1.20286 0 0 -0.0994756 0 -2.3844 0 -0.149101 2.00192 0 -1.12512 2.70624 -2.10439 0 -1.37853 2.48684 -1.05603 1.8016 0 0 0 0 0.0759403 0.0438281 -0.170338 -0.071513 0 0.0916293 0 0 0.0153594 0 0 0.129665 0 0 0 0 0.34931 0 0.0440995 -0.807705 0.889485 0 0.504804 -0.221892 0 0.00504011 -0.445988 -4.75629 -0.11363 0 0.106644 -1.98732 0 -0.854645 0 -0.239317 0.00618365 0 0.0391771 0 0 -1.6875 0 0 0 0 0 0 0 -0.802655 0 0 -1.06803 0 0 0 0 0 0 0 -0.50426 0 -0.306233 0 0.319152 -0.113524 0 -0.024492 -1.08604 0 0.696902 0 0.0375237 0 3.17584 0 -0.59318 0 0 0.812352 0 0 0 -0.355414 0 0 0 0 0.0950013 0 0 0.0759403 0 0.0438281 0 0 0.254736 0 1.61029 -0.00672453 0.0674137 0.981071 -0.00157896 0.122109 0.0631671 0.0581416 0.0525054 -0.119893 0 0 0 0 0.360325 0 0.670994 0 0.418766 0 0 0.0472641 0 0 0.0127483 0 0 0.0392556 0.0020263 0 0.0153392 0 0.238719 0 0 0 0.00511516 0.00144356 0 0 0.197013 0 0 0 -0.0443474 0 -0.159392 0 0.168068 0.0856157 0.152792 0 0 0.431784 0.250285 -0.517564 0 0.443561 0 0.122374 0 0.451124 -0.215527 0.0130283 -0.0619742 0.0548071 0.0189899 -0.703054 0 -2.78035 0 0.0922058 -0.194542 0 0.0217459 0.148679 -0.48606 0 0.134731 0.00370752 -0.0204697 -0.00533268 0 0 -66 0 0 0 -0.103808 -0.334039 0 0 0 0 -1.05008 4.61556 0.00735936 0 -0.0975337 0 0.161015 0 0 0.779577 0.59202 0 0.275109 0 0.114352 1.61244 0 0 0.652767 0 0 0 -0.148374 0.715261 0 0.877652 0 0.0338331 1.84309 0 0.859827 0 0.029056 1.22175 0.582714 0 0.783618 0 0 1.13175 -0.837015 0 0.720447 0 -0.7928 0.0932187 0.103151 0 -0.253977 -0.0802919 -1.978 -0.20226 0 0 0 0 0.343698 0 1.89434 0.99093 0.579296 -4.2923 0.495387 1.51605 -0.586813 0 0 0.606607 0 -7.21605 0 -0.461623 -1.95793 0 -4.23141 1.30221 -4.40415 0 -0.128702 -1.14627 -0.777945 -0.437086 0 0 0 0 -0.0958231 -0.0540598 -0.103808 -0.334039 0 0.0378022 0 0 -0.000271206 0 0 0.0739461 0 0 0 0 -0.156679 0 -0.025567 1.25274 0.115619 0 0.524709 1.63752 0 0.0235847 0.0153121 8.15272 0.557514 0 0.0844486 3.63909 0 -0.365586 0 0.753771 0.116784 0 0.0349152 0 0 -2.22894 0 0 0 0 0 0 0 -0.0779676 0 0 -0.749201 0 0 0 0 0 0 0 0.387874 0 -2.45567 0 0.201048 -0.00333417 0 -0.208368 0.0987094 0 0.137222 0 0.400477 0 4.19482 0 0.213246 0 0 0.407153 0 0 0 -0.128883 0 0 0 0 -0.466116 0 0 -0.0958231 0 -0.0540598 0 0 -0.445221 0 -1.51738 0.0568246 -0.0223812 1.44471 0.0123293 0.339731 -0.120535 -0.00647695 -0.000143879 0.371458 0 0 0 0 0.585472 0 -0.390842 0 -0.139521 0 0 -0.0500162 0 0 -0.0231713 0 0 0.146165 0.00251678 0 -0.0122964 0 -0.211514 0 0 0 0.00451957 0.0224017 0 0 -0.199984 0 0 0 -0.0498083 0 0.332557 0 -0.622248 0.16997 -0.926814 0 0 -0.718295 0.211161 0.10242 0 -0.00926809 0 -0.0200992 0 -0.221235 -0.552496 0.0198744 -0.167565 0.0918284 -0.0112787 0.443967 0 -3.92668 0 -1.17222 0.175334 0 -0.602602 0.481136 -0.588231 0 -0.363165 0.160769 -0.026131 -0.112962 0 0 -67 0 0 0 0.108132 -0.254147 0 0 0 0 -0.615649 0.890886 0.253858 0 -0.398565 0 -0.298507 0 0 -0.159979 -0.716738 0 -0.287375 0 0.489929 -0.0579167 0 0 0.279151 0 0 0 0.280112 -0.518871 0 0.381486 0 0.0107975 0.51887 0 1.8265 0 -0.373031 -0.069991 0.636912 0 -0.328965 0 0 -2.10432 -0.850046 0 -1.27921 0 0.812995 -0.772627 0.420298 0 -0.212134 -0.7461 -0.2522 0.131572 0 0 0 0 0.981376 0 -1.09442 0.317826 0.236637 -0.970552 -1.1533 1.29243 -0.00229338 0 0 -0.833535 0 -1.26033 0 1.08425 -3.44876 0 0.00398568 -1.18535 -1.48948 0 1.12248 -1.98791 -0.133984 -1.60277 0 0 0 0 -0.148495 -0.0692679 0.108132 -0.254147 0 0.000812443 0 0 -0.0105007 0 0 -0.0724313 0 0 0 0 -0.584433 0 -0.108181 1.7067 -0.68542 0 0.060409 0.222636 0 0.0299107 0.591177 4.5934 0.448405 0 0.0237062 2.61237 0 0.687237 0 0.0259764 0.123462 0 -0.000334666 0 0 0.844312 0 0 0 0 0 0 0 0.917723 0 0 2.60071 0 0 0 0 0 0 0 0.266998 0 3.75537 0 -0.225746 -0.162324 0 -0.595315 0.704014 0 -0.786794 0 0.0890982 0 -1.58897 0 0.522984 0 0 -0.774892 0 0 0 0.22174 0 0 0 0 -0.374894 0 0 -0.148495 0 -0.0692679 0 0 -0.687576 0 -1.06205 0.0253862 -0.0312426 0.271098 0.0107164 0.0798242 -0.182687 -0.0973515 0.091677 0.139892 0 0 0 0 0.0903434 0 -0.194161 0 -0.244467 0 0 0.0455038 0 0 -0.0381344 0 0 0.0485639 0.00126272 0 0.00667199 0 -0.27037 0 0 0 0.0099528 -0.00163964 0 0 0.121759 0 0 0 -0.318778 0 0.548747 0 -0.261991 -0.160843 -0.0807882 0 0 -1.16197 -0.344668 0.924156 0 -0.0385477 0 0.0709989 0 -0.201243 -0.0989557 -0.0953602 0.0163011 0.00602665 -0.0380311 0.542659 0 -1.88571 0 -0.109134 -0.657548 0 0.0163788 -0.0102787 -0.332781 0 -0.150108 0.0166181 -0.0278042 -0.0826048 0 0 -68 0 0.16086 -0.0133036 0.292913 0.12081 -0.15182 -0.0575947 -0.0952268 0.969534 0.492025 -3.30458 -0.140299 0.0892205 -0.482001 -0.60589 -0.0892617 -2.31504 -6.49371 -1.3132 -0.0385172 0.604049 -0.823181 -0.293195 0.622264 -1.87373 0.285068 -0.758525 0.124284 0.0495629 0.981345 -0.0524455 0.726966 -0.195905 -0.796906 -0.342752 0.0178438 -0.0387266 0.387522 -1.33201 -0.664841 0.0258574 -0.562456 -0.244248 -0.205968 -0.425414 -0.37879 -0.00449878 0.221868 -0.27708 0.44278 -0.725164 -0.337158 4.48608 0.108926 -0.0996118 0.202911 1.10202 0.893331 0.485703 1.83145 0.329418 0.343582 0.037201 0.837279 -0.139193 0.718466 -0.0478041 0.69942 -0.188642 -0.360925 3.00612 0.232757 -0.267564 0.0039191 0.783915 -0.269889 2.20677 -1.03018 8.69468 -3.95364 3.94769 1.59981 -4.39092 4.75765 -1.0249 1.24564 -1.07959 1.09808 0.754437 -1.14857 1.02267 -1.4189 0 0 0 0 0 0.292913 0.12081 0 0 0 0 0 0 0 0.0102371 0 0 0 0 0.138824 0 0.0216887 0.38196 0.0296387 0 0 0.548756 0 0 0.106975 1.62203 0 0 0.0782549 0.938107 0 0.633048 0 0.327716 0 0 0.0321589 0 0 1.48026 0 0 0 0 0 0 0 0.199169 0 0 0.552225 0 0 0 0 0 0 0 0.423745 0 4.00594 0 -0.106933 0 0 -0.0224381 1.39545 0 -0.0135312 0 0 0 -2.78508 0 -0.242016 0 0 -0.61946 0 0 0 -0.0123716 0 0 0 0 0 0 -0.15182 0 -0.0575947 0 0 0 0 0.0460791 0.645264 0 0 -0.198646 0 -0.0296757 0 0.0106916 0 0 0.160481 0 0.257993 0.0500222 0.0277478 0.0225053 0 0 0.065287 0 3.58826 0 2.91199 0.0062064 0 0.348375 0.964565 0.000720263 0 0.00746375 0 0 0.0799532 0 0.473487 0.395386 0 0 0.059612 0 0 0.14599 0.218594 0.074092 0 0.898448 0 0.230122 -0.0648694 0.0137244 -0.0813603 -0.0224998 0.638715 -0.106862 0.00588611 -1.24722 -3.9983 0.063252 0 0 0 0.0577839 -0.00226841 0 0 0 0 -0.216158 -20.5221 0.748981 -4.94344 -0.108877 0.274941 -1.99164 0.0758983 -0.0392051 0.0490849 -0.203216 0 0 0 0 0 0 -69 0 -1.06735 -0.529136 -0.248663 -0.0935985 -0.0653528 0.0460054 -0.380513 -0.448041 -0.418124 1.38601 0.0887654 -0.265659 0.409228 0.145125 -0.059898 -2.39543 -10.7034 0.72488 -0.429671 0.381437 0.41476 0.262892 -0.528294 0.737424 -0.35645 -0.472906 -0.920409 -0.00478578 -0.184645 -0.114529 -0.617292 -0.0952521 1.20602 -1.58035 -0.166181 0.0173351 -2.93523 6.34051 0.351538 0.0795015 0.481749 -5.70755 0.0646993 0.992235 0.337824 0.0164225 -0.0261896 -0.656489 -0.212709 -0.57593 0.535344 10.1655 0.344736 -0.31505 0.235958 0.0916911 0.731097 0.570361 -0.755871 -0.289167 0.538693 -0.162588 -3.62653 3.50708 1.12565 0.585599 -5.44875 -2.72354 0.306721 -1.17186 -0.61082 0.28568 2.71407 0.634725 -0.00604627 5.86089 -22.2423 -6.82716 2.1078 -4.95508 3.07763 -6.65331 -1.66592 0.583223 -1.10321 1.00374 -0.97932 -0.322946 0.023408 -0.356127 0.266974 0 0 0 0 0 -0.248663 -0.0935985 0 0 0 0 0 0 0 0.0173812 0 0 0 0 -0.0832013 0 -0.00479075 -0.195913 0.042182 0 0 0.297866 0 0 0.260519 -0.115399 0 0 0.0673756 -0.346459 0 0.541463 0 0.118409 0 0 0.0422564 0 0 1.60154 0 0 0 0 0 0 0 0.192011 0 0 0.61537 0 0 0 0 0 0 0 0.473 0 5.26909 0 -0.144789 0 0 0.0694669 1.67594 0 0.0562382 0 0 0 -3.00612 0 -0.273892 0 0 -0.676792 0 0 0 -0.0174261 0 0 0 0 0 0 -0.0653528 0 0.0460054 0 0 0 0 0.0428597 -0.752005 0 0 0.180788 0 0.039086 0 -0.0131823 0 0 0.0363433 0 0.161017 -0.00863664 -0.00897637 0.0075659 0 0 -0.096208 0 -3.596 0 2.69181 -0.127557 0 -0.0146381 0.617501 0.00336832 0 0.0050902 0 0 -0.0948921 0 -0.674556 0.534911 0 0 0.0748279 0 0 0.074534 -1.4265 0.212917 0 -0.764048 0 0.282378 0.0588519 -0.106746 -0.626532 0.0123919 0.253129 -0.473546 0.04104 1.5225 4.59021 0.0251915 0 0 0 -0.157373 -0.097228 0 0 0 0 0.302999 -11.5989 -1.15284 0.216483 -0.505412 0.589871 -0.975476 -0.0957541 0.0488381 0.0187834 -0.123963 0 0 0 0 0 0 -70 0 -0.812018 0.00707306 0.059318 0.02549 -0.139926 -0.131499 0.828282 2.54576 0.0995913 -1.57568 -0.21461 -0.198872 -0.0976054 0.228613 -0.0257491 1.08501 -2.10854 -0.248157 -0.364789 0.0755588 -0.14386 -0.0332532 0.126011 -0.806758 0.42665 0.757406 0.394387 0.0572718 1.27405 0.10709 0.147201 -0.0544715 0.578454 0.671258 0.11406 -0.104479 0.0675174 3.33783 -1.19063 -0.0673466 -0.113416 -0.138414 -0.589906 -1.69224 -0.0748495 -0.0267499 0.275976 -0.743856 0.878604 0.573208 0.673067 -2.99461 0.358081 -0.328532 0.187205 -0.287838 0.454164 0.229497 0.898118 0.0656225 -0.881984 -0.12636 -0.920796 -0.624645 -0.139068 -0.0952387 1.08576 -0.00691063 -0.0730543 1.9313 -0.025737 -0.554188 0.0144471 -0.663436 -0.290407 -0.888072 -13.7915 2.1531 -7.43539 -1.30759 3.78006 -7.50783 2.22627 0.316284 0.0294049 -3.21768 0.216982 1.68441 -1.79257 1.56446 -1.84213 0 0 0 0 0 0.059318 0.02549 0 0 0 0 0 0 0 0.0970156 0 0 0 0 0.330172 0 0.0536978 -0.782916 0.587826 0 0 -1.26611 0 0 -0.348456 -5.58439 0 0 -0.141777 -2.17357 0 -0.286481 0 -0.648687 0 0 -0.0753153 0 0 0.0760141 0 0 0 0 0 0 0 -0.443067 0 0 -0.805892 0 0 0 0 0 0 0 0.0952402 0 2.44407 0 0.028164 0 0 0.435986 0.620372 0 0.479925 0 0 0 -0.141927 0 -0.564516 0 0 -0.0328141 0 0 0 -0.245704 0 0 0 0 0 0 -0.139926 0 -0.131499 0 0 0 0 0.053692 -0.216609 0 0 0.137289 0 0.0213122 0 -0.0156979 0 0 0.105509 0 0.162437 0.0386062 0.033816 0.00972859 0 0 -0.136784 0 -1.80991 0 1.47032 -0.0629785 0 0.16915 0.46144 0.006842 0 0.011672 0 0 -0.0223212 0 -0.23405 -0.523958 0 0 -0.0822002 0 0 0.178458 -2.33524 0.022465 0 0.116237 0 -0.551545 0.0518176 -0.069592 -0.272884 -0.0420372 -0.106171 -0.0833048 -0.0477 -0.05717 0.811363 0.0722676 0 0 0 -0.110097 -0.0395687 0 0 0 0 0.077787 -13.0719 -0.199639 -3.09212 -0.231754 0.291628 -1.12895 -0.0705406 0.0213226 -0.00696315 -0.199819 0 0 0 0 0 0 -71 0 0.436461 0.360401 0.131723 0.0537063 -0.0961282 0.0612742 -0.24692 -0.731246 0.255881 0.0981168 0.175595 0.54474 -0.218402 0.322441 0.132662 2.32291 11.2756 -0.150216 0.434586 0.510321 -0.114341 -0.0953254 0.28229 0.0874944 -0.096564 0.549328 0.39705 -0.0101626 -0.24753 0.0846052 0.338122 0.259322 -0.367502 0.847047 0.0216485 0.108654 1.45748 -1.07036 0.423011 0.115602 -0.247964 3.23952 0.274959 2.95488 -0.154947 0.0211717 -0.0354997 0.870113 -0.331473 -0.500096 -0.368337 5.57452 -0.406009 0.389473 0.0214773 3.49434 0.865085 0.205098 -0.190775 0.146599 0.373047 -0.132218 2.23474 -0.540164 -0.300457 -0.386496 1.2875 1.55112 -0.189218 -0.255613 0.417438 0.192567 -1.40131 1.05278 -0.141263 -0.191458 3.37071 -0.0293502 0.939266 -1.18848 0.0827983 0.345481 -0.582886 -0.284303 0.257149 0.843788 0.442527 -0.676868 0.455714 -0.395442 0.326668 0 0 0 0 0 0.131723 0.0537063 0 0 0 0 0 0 0 -0.0437753 0 0 0 0 -0.186992 0 -0.0222112 0.597196 -0.371342 0 0 1.45138 0 0 0.142714 5.94722 0 0 0.165155 2.01426 0 0.155741 0 0.705081 0 0 0.0795763 0 0 0.253771 0 0 0 0 0 0 0 0.256764 0 0 0.200035 0 0 0 0 0 0 0 0.509278 0 3.19797 0 -0.136954 0 0 -0.0447677 1.5551 0 0.102793 0 0 0 -0.477057 0 0.312589 0 0 -0.106574 0 0 0 0.15522 0 0 0 0 0 0 -0.0961282 0 0.0612742 0 0 0 0 0.00565037 0.591165 0 0 -0.247759 0 -0.0332338 0 0.0160049 0 0 0.104435 0 -0.0324757 0.0217359 -0.0284509 0.010751 0 0 0.141532 0 7.09615 0 0.811443 0.195206 0 0.18765 0.117026 -0.00534224 0 0.000463276 0 0 0.067047 0 1.31243 1.0861 0 0 0.123068 0 0 0.109842 2.3839 0.029842 0 0.827858 0 0.162053 -0.0184522 -0.00123328 -0.00835476 0.00338808 1.07046 0.192203 -0.000383038 -0.670196 -0.147692 0.0442956 0 0 0 0.0437779 0.0303254 0 0 0 0 -0.119752 -2.20208 1.42209 -1.80359 0.0349506 0.0478611 -0.496247 0.0870697 -0.0349896 0.0731389 -0.0615955 0 0 0 0 0 0 -72 0 -0.064655 0.356679 0.3128 0.0685186 -0.0712384 -0.146787 0.502012 1.32396 0.369211 -2.22143 -0.182837 0.287772 -0.521377 0.403162 0.02442 1.85117 5.05719 -1.3027 0.00186792 -0.452341 -0.816491 -0.619813 0.670715 -1.43965 0.717945 0.718318 0.388759 0.0426494 0.463078 0.128073 0.741697 0.065507 -0.689251 0.632386 0.200505 -0.0629842 0.0682979 0.371961 -0.722235 -0.134857 -0.641541 0.590691 -0.278581 0.0781552 -0.557616 -0.0423611 0.14262 0.129937 0.561897 1.34896 -0.289069 -6.52061 -0.0374644 0.0174066 -0.406069 -1.65709 -1.39536 -0.56058 1.48387 0.407763 -0.133369 0.447918 0.0770756 -1.55316 -1.38483 0.142114 0.576638 0.0256582 -0.273184 2.29028 -0.40692 -0.491632 -0.151765 -0.211398 0.289375 -3.68414 3.42217 5.75813 -3.17382 2.84696 0.642967 -1.8068 3.71772 -0.566935 1.33339 -1.6301 1.59255 0.76932 -0.293326 0.694176 -0.61113 0 0 0 0 0 0.3128 0.0685186 0 0 0 0 0 0 0 0.0693792 0 0 0 0 0.257133 0 0.0385836 -0.553041 0.461372 0 0 -0.643007 0 0 -0.406943 -3.34458 0 0 -0.0664583 -1.66428 0 -0.509312 0 -0.46449 0 0 -0.0515633 0 0 0.00681536 0 0 0 0 0 0 0 -0.294443 0 0 -0.828034 0 0 0 0 0 0 0 -0.428272 0 -5.53415 0 0.0466895 0 0 0.0229451 -1.70399 0 -0.135422 0 0 0 0.047361 0 -0.455799 0 0 -0.0581451 0 0 0 -0.192374 0 0 0 0 0 0 -0.0712384 0 -0.146787 0 0 0 0 -0.0383905 0.568347 0 0 0.133039 0 0.0144216 0 -0.00243387 0 0 0.0015199 0 0.260042 -0.0289691 0.0508944 0.00527146 0 0 -0.0331382 0 0.618926 0 1.41949 0.315775 0 -0.174869 0.674762 0.00703912 0 -0.00642347 0 0 0.071229 0 0.643149 -0.902926 0 0 -0.0779693 0 0 -0.556638 -1.16535 -0.085643 0 -0.267309 0 0.309776 -0.0216845 0.0755458 -0.357849 -0.0463995 -0.191531 -0.385223 0.00857245 -0.786217 -4.38494 -0.0223797 0 0 0 0.174101 -0.0400801 0 0 0 0 -0.173044 -7.58029 -0.739024 0.732045 -0.202104 0.390629 -0.591974 -0.084699 0.0615096 -0.00648443 -0.0378922 0 0 0 0 0 0 -73 0 -0.594926 -0.404461 -0.192683 -0.0768385 -0.0796225 -0.00534097 -0.201549 0.0927666 -0.367341 0.87755 0.036213 -0.261056 0.319556 -0.206179 0.0666694 -2.21952 -10.1007 0.650003 0.327197 0.0665016 0.364174 0.240596 -0.412941 0.517186 -0.252461 -0.567004 -0.375998 -0.0257543 0.062594 -0.117818 -0.492814 0.117497 0.845057 -0.765145 -0.158111 -0.0055909 -0.709007 2.91577 -0.0222899 0.0833904 0.364256 -2.14502 -0.0901789 -0.722337 0.23219 0.0289517 -0.0412499 0.566064 0.0468523 0.182417 0.784603 0.998752 -0.289464 0.258743 -0.20408 -2.90114 -0.292057 -0.304015 -0.516602 -0.216183 -1.06336 0.0154648 -3.48263 2.12329 0.34142 0.0965695 -2.38351 -0.728827 0.271645 -0.670631 -0.208996 0.0466877 0.784379 -0.953997 0.0938291 2.75785 -10.8538 -3.53534 1.82703 -2.78953 2.58066 -3.94253 -1.12851 0.858041 -1.08309 0.1185 -0.663133 0.140938 -0.242596 0.0441215 -0.0826062 0 0 0 0 0 -0.192683 -0.0768385 0 0 0 0 0 0 0 0.0834096 0 0 0 0 0.23703 0 0.0426507 -0.420685 0.472727 0 0 0.12252 0 0 -0.0167568 -0.787525 0 0 0.0253902 -0.44417 0 0.350792 0 0.143826 0 0 0.0233489 0 0 1.14015 0 0 0 0 0 0 0 -0.202268 0 0 -0.993238 0 0 0 0 0 0 0 -0.349769 0 -6.52684 0 -0.0643527 0 0 0.058799 -1.58559 0 -0.27143 0 0 0 -2.14663 0 -0.609141 0 0 -0.475802 0 0 0 -0.197832 0 0 0 0 0 0 -0.0796225 0 -0.00534097 0 0 0 0 -0.00950342 -0.933227 0 0 0.142146 0 0.0264298 0 -0.0141169 0 0 -0.0489418 0 0.0666471 -0.0245588 0.0180523 -0.00720335 0 0 -0.108965 0 -5.20965 0 0.870133 -0.240983 0 -0.0219768 0.164516 0.00336632 0 -0.0043043 0 0 -0.10311 0 -0.965439 -0.0830803 0 0 -0.0170428 0 0 -0.0211328 -2.75935 0.0516633 0 -1.50975 0 -0.366417 0.0107541 -0.045138 -0.426223 -0.0586244 -0.166704 -0.242752 -0.0142881 1.18839 1.02175 0.0670064 0 0 0 -0.218462 -0.0554621 0 0 0 0 0.291112 -10.2811 -1.285 -0.456177 -0.232726 0.212607 -0.552982 -0.0667148 0.0373863 -0.048458 -0.0227652 0 0 0 0 0 0 -74 0 -0.375659 -0.577656 -0.277215 -0.112787 0.155588 0.121033 -0.824386 -2.38326 -0.461904 2.42826 0.0849979 -0.773113 0.458153 -0.795445 -0.129142 -2.47726 -7.56975 1.24335 -0.927141 -0.0436472 0.757394 0.698601 -0.591473 1.45901 -0.918342 -0.839341 -0.445564 -0.038154 -0.377992 -0.268173 -0.687972 -0.208284 1.30971 -0.618264 -0.264679 -0.00764446 -1.6543 2.86924 0.496653 0.0287311 0.532901 -2.4413 0.074476 -1.54328 0.357789 0.0122393 -0.118001 -1.53703 -0.300215 -1.06574 0.361738 -3.71902 0.784297 -0.71882 0.205225 -1.68606 -0.0411971 -0.366895 -1.40913 -0.310833 -1.49356 -0.102081 -2.92883 2.07144 1.08648 0.340994 -3.31251 -1.34195 0.339146 -2.74119 -1.25631 0.534297 1.28488 -0.246481 0.0218351 1.10058 -11.7208 -7.07994 4.95221 -3.46276 1.08732 -2.25214 -3.59886 1.16018 -1.72323 2.66759 -1.03938 -0.44501 0.34394 -0.576677 0.433348 0 0 0 0 0 -0.277215 -0.112787 0 0 0 0 0 0 0 -0.0821836 0 0 0 0 -0.32379 0 -0.0535112 -0.00959837 -0.539211 0 0 -0.860282 0 0 0.200701 -1.10618 0 0 -0.17649 -0.409495 0 -0.0467664 0 -0.561755 0 0 -0.108704 0 0 -0.331461 0 0 0 0 0 0 0 0.33496 0 0 0.503412 0 0 0 0 0 0 0 -0.273156 0 -4.89306 0 -0.0527043 0 0 -0.127325 -1.34917 0 -0.579646 0 0 0 0.623802 0 0.55528 0 0 0.138561 0 0 0 0.225406 0 0 0 0 0 0 0.155588 0 0.121033 0 0 0 0 -0.0339493 -0.294161 0 0 0.123059 0 0.0156322 0 0.00468846 0 0 0.00534672 0 0.0771939 -0.00199199 0.00097254 -0.00107311 0 0 0.065356 0 1.90075 0 1.93273 0.236442 0 -0.153669 0.463806 -0.000334004 0 -0.000249577 0 0 -0.0452045 0 0.774351 0.683607 0 0 0.0616819 0 0 0.257805 0.405832 0.0709054 0 1.19943 0 0.415246 -0.103644 0.0355494 -0.293056 0.0525335 0.737507 -0.104612 -0.0546573 -0.259793 1.71698 0.0174351 0 0 0 -0.0531169 0.0357278 0 0 0 0 0.0614653 -13.5793 -0.78856 -1.25885 -0.154091 0.0632643 -0.744417 -0.00661136 0.0134036 -0.0863174 0.10681 0 0 0 0 0 0 -75 0 -1.07264 -0.488692 -0.174524 -0.0710061 0.00554488 0.0200237 -0.13857 -0.179545 -0.290796 1.56586 0.0570556 0.41071 0.288435 1.00573 -0.0299056 0.185649 0.0733804 0.703641 -0.00743942 0.481251 0.414266 0.680493 -0.372368 0.787613 -0.0932411 -0.0485734 -0.258659 -0.0186123 -0.0197517 0.145306 -0.433119 -0.0324736 2.24889 -0.455196 -0.0681623 -0.00296609 -0.449809 8.27084 0.0636215 0.123724 0.335493 -0.836171 -0.0828647 2.22628 0.22525 0.0298463 -0.0390218 0.138429 -0.00278596 1.21292 0.804784 -0.598656 -0.0476535 0.0436751 -0.123743 -0.754568 -0.556727 0.182499 -0.810231 -0.195688 1.03024 0.344092 -0.849879 1.12341 -0.738769 -0.0290241 -1.75726 -0.113695 0.213513 -0.774915 0.169221 0.120854 0.35532 0.202844 0.112014 -0.387708 -29.5079 -9.20695 0.354134 -7.77 4.238 -7.89926 -1.71677 0.842744 -1.53126 0.847716 -0.654351 0.0815863 -0.100429 -0.0517268 0.0226443 0 0 0 0 0 -0.174524 -0.0710061 0 0 0 0 0 0 0 0.0423063 0 0 0 0 0.134011 0 0.0153079 -0.450519 0.309029 0 0 -0.586735 0 0 -0.0197167 -3.76135 0 0 -0.0250521 -1.48277 0 0.185804 0 -0.377173 0 0 -0.0236004 0 0 1.15579 0 0 0 0 0 0 0 -0.0122137 0 0 0.65657 0 0 0 0 0 0 0 0.303901 0 5.89361 0 0.00832564 0 0 0.0998151 1.36452 0 0.186054 0 0 0 -2.17516 0 -0.457783 0 0 -0.483154 0 0 0 -0.129184 0 0 0 0 0 0 0.00554488 0 0.0200237 0 0 0 0 -0.0131745 -0.352856 0 0 0.32735 0 0.052222 0 0.00446049 0 0 -0.135196 0 0.312833 -0.0285353 0.0434759 -0.0112249 0 0 0.0350595 0 -2.8291 0 2.32489 0.0742532 0 -0.307674 0.868207 0.00800661 0 0.00280036 0 0 -0.0430445 0 -0.205912 -0.451949 0 0 -0.0424156 0 0 0.0875314 -2.16841 0.104381 0 0.342018 0 0.395845 -0.0242945 0.0203343 -0.897924 0.0646547 0.245534 -0.52887 -0.0407411 0.139647 -0.230572 -0.00391793 0 0 0 -0.0132612 -0.0818471 0 0 0 0 0.0688424 -15.6821 -1.8894 0.225106 -0.317149 0.497117 -1.06931 -0.109822 0.0692151 -0.0828783 0.00152377 0 0 0 0 0 0 -76 0 -0.140053 -0.0465181 -0.21156 -0.0860748 -0.0649274 0.0861069 -0.356969 -0.811378 -0.352508 3.28712 0.21578 0.752707 0.349646 1.07584 0.0694697 0.441445 5.48655 0.98172 0.335074 -0.472299 0.590396 0.314411 -0.451391 1.85982 -0.201104 -0.222685 -0.503359 -0.070408 -0.816981 0.175589 -0.525035 0.163562 1.00449 -0.757153 -0.0872948 0.0727894 -1.05006 3.46356 0.672366 0.0020614 0.40669 -1.57526 0.209662 3.56837 0.273052 0.0268129 -0.256941 0.82827 -0.448445 1.59297 1.11225 6.17184 -0.381057 0.349245 -0.368769 1.8204 0.597944 0.921621 -1.91479 -0.237216 -0.126788 -0.0251917 -3.87185 0.949615 -1.12799 -0.235813 -2.23861 -0.802531 0.258824 -3.56907 0.344007 0.560101 0.805153 0.427843 0.157004 1.9097 -15.9857 -13.4442 5.6559 -7.56276 1.92948 -0.376132 -4.78797 1.55344 -1.38396 0.895411 -0.793215 -0.76569 1.03015 -1.0165 0.936627 0 0 0 0 0 -0.21156 -0.0860748 0 0 0 0 0 0 0 0.0584713 0 0 0 0 0.172671 0 0.0223008 -0.130232 0.39423 0 0 1.45926 0 0 -0.410356 3.85036 0 0 0.229497 0.792428 0 -0.785871 0 0.673585 0 0 0.106777 0 0 -1.05665 0 0 0 0 0 0 0 -0.452522 0 0 -1.28101 0 0 0 0 0 0 0 0.135573 0 1.1884 0 0.115477 0 0 0.126442 0.639953 0 0.642975 0 0 0 1.98859 0 -0.218298 0 0 0.441713 0 0 0 -0.1648 0 0 0 0 0 0 -0.0649274 0 0.0861069 0 0 0 0 -0.079034 -0.556801 0 0 0.185439 0 0.0299904 0 -0.000123339 0 0 0.0140558 0 -0.0240401 -0.054955 -0.0125596 0.00553546 0 0 -0.0038188 0 0.074831 0 -0.855534 0.00408854 0 -0.36198 -0.238309 -0.000332862 0 -0.0101917 0 0 -0.0554541 0 0.189977 0.395109 0 0 0.0502398 0 0 0.0715403 -2.16874 -0.0142843 0 -0.65803 0 -0.469788 0.0369023 -0.0105788 -0.563834 -0.0133987 0.179662 -0.115012 -0.0650978 0.287896 -0.546445 0.0260436 0 0 0 -0.163825 -0.0127516 0 0 0 0 0.228994 -2.62539 -1.33674 1.47424 0.0345698 0.00457335 0.10766 -0.063129 0.0595344 -0.0873 0.177099 0 0 0 0 0 0 -77 0 -1.09634 0.0594959 -0.0553899 -0.241206 0.143039 0.325516 -0.355379 -1.32525 -0.642177 1.47518 0.346656 0.556588 0.00647799 1.91186 0.0800627 0.465439 0.464502 0.290032 0.25202 0.403283 0.0399717 -0.244348 -0.0153769 0.345766 -0.656298 0.458503 0.0289018 -0.766646 -1.38139 0.468402 -0.0988193 0.559264 0.421388 0.0768909 -0.431811 0.0341884 0.0109176 5.07535 0.379707 1.11725 0.0207626 0.217733 0.0380445 2.83096 0.0127107 0.91274 -1.0168 1.71014 -0.127534 1.03273 -0.185789 -1.96338 -0.573167 0.174691 -0.328893 -2.55678 0.261851 0.71228 -0.298021 -0.00907707 0.0865928 -3.12401 -2.01442 -0.0437846 -0.320246 0.266083 -0.515946 0.0563898 0.253262 -0.920663 0.0521952 0.0603079 -0.131283 -2.8614 1.13646 0.725135 -16.2383 -5.31149 1.85645 -2.41796 1.21517 -2.55036 -0.770231 0.609887 -0.966071 1.82836 -0.00637321 -0.0904863 0.332026 -0.9386 3.10687 0 0 0 0 0 -0.0553899 -0.241206 0 0 0 0 0 0 0 0.00783967 0 0 0 0 0.0233748 0 0.00340231 -0.0146067 0.0610666 0 0 -0.0678455 0 0 -0.0142867 0.0911389 0 0 -0.00978692 -0.000608037 0 -0.0221543 0 -0.0117528 0 0 -0.000904659 0 0 0.205803 0 0 0 0 0 0 0 0.0560102 0 0 -0.175063 0 0 0 0 0 0 0 -0.112351 0 -1.46287 0 -0.026955 0 0 0.00760141 -0.441281 0 -0.155824 0 0 0 -0.274283 0 -0.125048 0 0 -0.189878 0 0 0 -0.0263739 0 0 0 0 0 0 0.143039 0 0.325516 0 0 0 0 0.0799095 -0.31131 0 0 0.201394 0 0.0310175 0 0.0106499 0 0 0.279424 0 -0.452181 -0.0272653 -0.153031 0.0378134 0 0 0.0914059 0 1.36194 0 1.2108 0.899576 0 -0.237092 -0.529887 -0.00913515 0 0.0225552 0 0 -0.0253247 0 1.77062 0.643926 0 0 0.095748 0 0 -0.318161 0.206266 -0.0700518 0 -1.29601 0 -0.395822 0.0311054 -0.014788 0.0331142 -0.116232 -0.0139769 0.254294 0.0691106 0.0424392 -5.53817 0.0502449 0 0 0 0.0257306 -0.020054 0 0 0 0 -0.0147672 0.0398661 -0.558829 1.68097 -0.331596 0.38866 -0.251449 -0.108216 0.122165 -0.130878 0.19999 0 0 0 0 0 0 -78 0 1.01435 0.585496 0.0542728 0.0469795 0.0207223 -0.0180194 0.722788 1.16674 0.305528 -1.81706 0.184893 -0.172984 -0.0172396 -0.335057 0.116803 1.55622 8.30152 -0.316855 0.113119 -2.17761 -0.0802587 -0.296215 0.0207531 -0.552041 0.2666 0.336003 -0.0414196 0.165107 0.764403 -0.270929 0.0956533 0.744676 -1.2496 -0.00134254 0.156831 0.0624758 0.125884 -6.29391 0.323199 -1.16138 -0.081366 0.920604 0.0975338 0.402409 -0.338596 -0.432899 0.334954 0.946599 -0.320108 0.355748 -1.70855 -2.17091 -0.377448 0.000780852 0.137323 0.540619 -0.287894 0.173945 0.878886 0.168776 -0.286526 1.41916 0.602714 -1.12661 -0.205691 0.654753 0.911147 0.223202 -0.143428 1.32951 -0.175531 0.167774 -0.304556 0.773932 -0.199646 -1.23907 22.4624 8.47307 -2.96786 5.1135 -2.94204 3.48919 1.25768 -0.885872 1.16122 -0.903718 0.169774 -0.206427 0.189126 -0.0803507 -1.7192 0 0 0 0 0 0.0542728 0.0469795 0 0 0 0 0 0 0 -0.0272286 0 0 0 0 -0.0498249 0 -0.00757336 0.0512532 -0.16957 0 0 0.182894 0 0 0.00187528 1.15104 0 0 0.0151419 0.216041 0 -0.101052 0 0.0288313 0 0 0.000896471 0 0 -0.4795 0 0 0 0 0 0 0 0.0845732 0 0 -0.0418363 0 0 0 0 0 0 0 0.110895 0 0.479516 0 -0.0263959 0 0 0.0381984 0.333212 0 -0.0255913 0 0 0 1.02132 0 0.18951 0 0 0.091195 0 0 0 0.0690991 0 0 0 0 0 0 0.0207223 0 -0.0180194 0 0 0 0 -0.382385 1.12255 0 0 -0.140171 0 -0.038803 0 0.043295 0 0 -0.00180391 0 -0.805521 -0.096335 -0.0111084 -0.000458906 0 0 0.351858 0 4.60475 0 -4.53135 -0.278354 0 -0.8395 -1.65365 -0.00926754 0 -0.0455155 0 0 0.14204 0 0.634783 -0.0294881 0 0 -0.00831625 0 0 -0.166459 4.77272 -0.400536 0 0.6064 0 0.326145 0.0409562 0.212289 0.939204 -0.0645971 -0.797579 0.920736 0.05619 -1.08367 -2.28865 -0.0294816 0 0 0 0.285349 0.0705698 0 0 0 0 -0.411822 40.4243 3.81073 4.41833 0.82741 -0.615141 2.03496 0.0182546 -0.00190003 0.0465261 0.391925 0 0 0 0 0 0 -79 0 -0.420052 0.066936 0.00461085 0.037427 -0.23533 -0.058771 0.1248 1.48669 0.083112 -0.230441 -0.0566531 -0.140188 0.000458623 -0.664217 -0.018479 0.998843 4.32351 0.0488996 -0.0256903 0.33329 0.0172709 -0.00810115 0.00075909 0.0505359 0.185621 0.186257 0.00716823 0.111219 0.258162 -0.170348 0.00833352 -0.131984 0.172058 0.102517 0.0413964 -0.00862296 0.0936794 1.44374 -0.169353 0.0152711 0.0038621 0.694604 -0.0217449 -1.16211 0.0288208 -0.124807 0.104056 -0.207949 0.0368927 -0.533764 0.267597 1.15227 0.0665146 -0.0107587 0.00280186 1.5 -0.0563756 0.351381 -0.012168 -0.0138917 -0.632291 -1.61663 0.569661 -0.41039 -0.270443 -0.121041 -0.0316508 0.0668984 -0.0306768 0.268407 -0.0782995 -0.0786889 0.0205243 1.67215 0.149249 0.192529 -5.94284 -1.08414 -2.21133 -0.800941 0.537439 -1.78264 -0.046499 -0.260597 0.663214 -2.81845 -0.0144509 0.0531312 -0.0971322 0.286055 -0.580627 0 0 0 0 0 0.00461085 0.037427 0 0 0 0 0 0 0 0.0138324 0 0 0 0 0.0113118 0 0.00205817 0.0365791 0.0732874 0 0 0.0925004 0 0 -0.00963293 0.767076 0 0 0.00107842 0.181995 0 -0.0276774 0 0.0129872 0 0 0.000129242 0 0 0.0555803 0 0 0 0 0 0 0 -0.0702042 0 0 -0.113589 0 0 0 0 0 0 0 -0.0114186 0 -0.715038 0 0.00395813 0 0 -0.0766195 -0.139847 0 0.0193379 0 0 0 -0.12941 0 -0.0658605 0 0 -0.000440927 0 0 0 -0.0356405 0 0 0 0 0 0 -0.23533 0 -0.058771 0 0 0 0 0.330133 0.154493 0 0 -0.226235 0 -0.0265706 0 -0.000257696 0 0 0.327637 0 -0.081307 0.078569 0.00267293 0.0401987 0 0 0.00836831 0 0.862671 0 1.85214 -0.178378 0 1.03543 0.417225 -0.000926455 0 0.021296 0 0 0.021396 0 0.126695 0.357101 0 0 0.0377973 0 0 0.104443 -1.42597 0.3382 0 -0.118157 0 -0.52737 0.0511704 -0.240833 0.222992 -0.237268 -0.788008 -0.0209705 0.119574 0.269036 2.04491 0.0279671 0 0 0 -0.0207874 0.036747 0 0 0 0 -0.0136334 -18.8144 -0.649579 -5.2171 -0.344655 0.108878 -0.816963 0.0983176 -0.105029 0.156402 -0.561947 0 0 0 0 0 0 -80 0 0 0 0 0 0.253911 -0.201418 0.393323 0.671467 0 0 -0.00986451 -0.947342 0 -1.76033 -0.0199116 0 0 0 -0.150287 0.832748 0 0 0 0 0.432698 0 0 0.839197 5.01617 -0.69632 0 -0.220915 0 0 0.293201 0.00922214 0 0 -0.10022 -0.0761374 0 0 0.033718 -3.16488 0 -0.523118 1.83336 -0.84759 -0.00245293 -0.945501 0.142462 0 0.19929 -0.154989 0.328472 -0.816069 0.300028 -0.292024 0 0 0.639302 -0.445262 0 -0.0891521 0.176647 -0.495178 0 0 0 0 -0.0894753 -0.101265 0 0.908356 -2.2971 0 0 0 0.136817 0 0.215684 -4.86107 0 -0.0457143 -0.0450468 -4.40929 0 -0.0653089 -0.186959 0.645642 -12.7508 0 0 0 0.150402 0.00447497 0 0 0 0.00214322 0 0 0.000211809 0 0 0.00289171 0 0 0 0 0.0594754 0 0.00241952 0 0.0499079 0 0.0306593 -0.0658673 0 0.000194817 0 0 0.0118274 0 -0.00160976 0 0 0 0 -0.0465069 0.00258414 0 -0.00174638 0 0 0 0 0 0 0 0 0 0 0.0757775 0 0 0 0 0 0 0 0 0 0 0.0484875 0 0 0 -0.0323804 0.0138009 0 0.0440085 0.090492 0 -0.00448478 0 -0.0128268 0 0 0 -0.071049 0 0 -0.0128101 0 0 0 0.0228252 0 0 0 0 -0.00371195 0 0.253911 0.150402 -0.201418 0.00447497 -0.373078 -0.123191 0.0158838 -0.290661 0.11748 -0.000579341 -0.0639935 0.170625 -1.45807e-05 0.00527568 0.000460724 0.00193796 -0.0237149 -0.0223075 0.800539 -0.113892 -0.420366 -0.0174448 0.138755 0.131139 -0.264129 0.262427 0.0966177 -0.0190789 -4.19879 -0.0780421 0.0353009 -1.38179 1.31013e-05 -0.322108 -0.308042 0.00397509 0.00104005 -0.0384684 -0.00124505 1.40662 0.00261765 0.0535516 -2.20617 0.71392 -0.00655969 -0.00385976 0.00177955 -0.0688315 -0.00451787 -0.301556 2.56607 0.0909134 0.00677957 1.53363 -0.000206722 0.154189 -0.00360453 -0.028206 0.0578761 0.174042 0.990059 -0.174779 0.031878 -0.0164965 9.0042 -0.112664 -0.310147 -0.0267936 -0.194227 -0.111019 -0.00802309 0.0270495 0.000779648 -0.0462694 0.0238099 -0.00265341 -0.185293 -0.446216 0.727907 0.0583631 0.252889 -4.02027 -0.00188297 0.0112737 -0.0213011 -0.81715 0.000230502 0.00942152 -0.0905917 0.236039 -1.76049 0 -81 0 0 0 0 0 0.721006 0.377503 -0.720444 -2.80667 0 0 0.00656472 0.511636 0 1.1695 0.00155479 0 0 0 -0.0144164 -1.15259 0 0 0 0 -0.561307 0 0 -0.709117 -2.26245 0.515247 0 0.0222042 0 0 -0.334628 -0.000243715 0 0 0.20148 0.759198 0 0 0.0719651 0.572901 0 1.10954 -0.793728 -0.00180063 -0.113808 0.737308 0.00500267 0 0.00364766 -0.00198686 -0.0247933 -0.584684 -0.0921681 -0.11746 0 0 0.401125 -3.04409 0 -0.79164 -0.0512639 -0.240611 0 0 0 0 -0.141986 0.121743 0 -2.90243 0.365563 0 0 0 3.89439 0 6.6861e-05 1.1115 0 -0.126647 -0.291984 4.65701 0 -0.215411 -0.0551412 0.306868 3.65662 0 0 0 -0.0244916 -0.00160316 0 0 0 -0.00877495 0 0 -0.000399959 0 0 -0.00391023 0 0 0 0 -0.0666596 0 -0.0022224 0 -0.127638 0 -0.111243 -0.025292 0 -0.000162462 0 0 0.00122913 0 -0.000287594 0 0 0 0 0.0354214 -0.00227154 0 0.00128904 0 0 0 0 0 0 0 0 0 0 -0.0104487 0 0 0 0 0 0 0 0 0 0 -0.0739554 0 0 0 0.00150498 0.0173468 0 0.047882 -0.073692 0 -0.0262795 0 -0.0338305 0 0 0 0.136372 0 0 0.000225356 0 0 0 0.0223543 0 0 0 0 -0.00610621 0 0.721006 -0.0244916 0.377503 -0.00160316 0.287616 0.0721514 -0.0119946 -0.445762 -0.0556844 0.000263374 0.014477 -0.0937773 7.78233e-06 -0.00324391 -0.00037753 0.00043599 0.0103391 0.00744595 -0.777718 -1.10686 0.180976 -0.387582 -0.052363 -0.14824 0.024488 -0.21521 0.0094139 -0.0149167 3.61444 0.0817819 1.22375 1.4543 -1.10311e-05 -1.66101 0.439172 -0.00190619 0.00140015 -0.127191 0.013247 -1.14006 -0.00101796 -0.0437863 2.17231 -1.97756 0.00278683 0.00827276 -0.425172 -0.160704 -0.00349808 1.03283 -1.25202 -0.690882 -0.0274006 -0.312195 0.000519696 -1.24018 -0.00378004 -0.0410309 0.0175939 -0.0432322 -0.405405 0.128357 0.216283 -0.0494412 -8.95522 -0.110576 0.778588 0.0467398 0.0626869 -0.102936 0.00517708 -0.0297728 -0.000430843 0.149357 -0.07896 0.00185224 -6.42339 0.301053 4.35766 -0.0258642 0.124744 1.81869 0.000818766 0.0860393 -0.282158 1.96854 -7.69386e-05 -0.0491518 0.112252 -0.264821 1.50934 0 -82 0 0 0 0 0 0.272517 0.240209 -0.555567 -1.15489 0 0 -0.0450836 1.0789 0 1.92474 -0.00659332 0 0 0 -0.0360269 2.1401 0 0 0 0 -0.431738 0 0 -0.640744 -2.36862 0.761883 0 -0.0731788 0 0 -0.270571 -0.00339697 0 0 -0.0696858 0.312498 0 0 -0.0170927 3.111 0 -0.0673734 -0.977875 -0.236436 0.0266759 1.12481 -0.0552324 0 0.00714093 -0.051177 -0.139566 -1.32289 0.0556597 -0.094509 0 0 -0.191973 1.61285 0 -0.271426 -0.103674 0.0890668 0 0 0 0 -0.217563 -0.221422 0 -0.504177 1.21604 0 0 0 1.34732 0 0.0830545 3.50862 0 0.0857565 0.11991 2.64136 0 0.0444979 -0.0944068 -0.149631 7.18232 0 0 0 0.0257601 0.000861169 0 0 0 -0.000227055 0 0 3.66742e-05 0 0 0.000887376 0 0 0 0 0.015608 0 0.000608415 0 0.0224144 0 -0.00497662 -0.0312611 0 4.30397e-05 0 0 0.00122763 0 -0.00060838 0 0 0 0 -0.0168748 0.000683691 0 -0.000511957 0 0 0 0 0 0 0 0 0 0 0.0137984 0 0 0 0 0 0 0 0 0 0 0.0106364 0 0 0 -0.00934035 0.00101196 0 0.00738721 0.0218837 0 -0.00110752 0 -0.00187506 0 0 0 -0.0267237 0 0 -0.000507952 0 0 0 0.000362635 0 0 0 0 -0.00340491 0 0.272517 0.0257601 0.240209 0.000861169 0.21377 0.0752477 0.00373959 0.235544 0.0293356 -0.000117536 -0.0175022 0.0792027 -3.0831e-06 0.00187632 0.000111678 0.000490284 -0.0121998 -0.00423377 1.10306 1.09599 0.502866 0.0342062 0.0618119 0.207052 -0.0868199 -0.122179 0.0379074 0.00311213 3.21015 -0.102272 2.73104 1.27663 3.20772e-06 0.327671 1.26114 0.00144249 -0.00365992 0.0148886 -0.0196597 -0.599517 0.000134094 -0.0219163 2.21387 2.51861 -0.00247318 -0.0160911 0.497915 0.128883 0.144028 -0.140615 -1.59567 0.0352613 -0.0207915 -0.357711 -8.8054e-05 -1.88106 -0.000132684 -0.0959583 0.071217 -0.267698 0.563833 0.0649486 -0.0917432 0.17701 -5.902 -0.118205 -0.558841 -0.0337766 0.0891048 0.0914674 -0.00256653 0.00932135 0.000166451 -0.121252 -0.0288793 0.00111281 -14.3351 -0.085262 -2.14489 -0.00299841 0.224473 2.34555 -0.000599264 0.00428703 0.115877 0.337136 4.37474e-05 0.00988299 -0.0250437 0.119924 0.749272 0 -83 0 0.214545 0.313245 0.000356378 0.0360603 -0.0901193 0.195289 0.338973 1.1009 0.000874734 0.0303488 -0.00903846 1.55055 -4.29534e-08 2.44556 -0.000179209 1.85661 5.56967 0.00866942 -0.000350006 3.73195 0.00237859 -0.123235 5.54526e-08 0.0142197 0.0191366 0.648732 -0.00612016 -0.259229 0.256211 0.716849 7.12793e-06 -0.0201733 0.105407 -0.0921757 -0.116556 -9.67373e-05 -0.0586747 1.1571 -0.00334445 2.26416 -5.52127e-06 -0.610577 -5.24317e-05 5.05044 -0.000677566 1.25313 -0.0428509 -0.0382035 5.43695e-05 -0.376114 -0.0155702 -7.3573 0.000198496 -0.000181925 -0.00146706 -3.53595 -0.151985 0.0319074 3.55408e-05 3.48662e-06 -1.38403 -3.12188 -0.713581 -0.349964 0.197261 -0.0585003 0.0702072 -0.0722791 -3.80421e-06 0.17146 -0.0172832 -0.00528099 0.0844723 -3.30075 0.328955 0.2616 -1.73328 0.0380198 -2.26412 -0.263396 0.579783 -2.36584 -0.0310455 0.0650109 -0.0232073 -1.45826 6.90566e-08 1.08076e-06 0.000238035 0.000895151 -0.189893 0 0 0 0 0 0.000356378 0.0360603 0 0 0 0 0 0 0 0.000938878 0 0 0 0 2.86894e-06 0 9.24563e-06 -0.000353065 0.000288861 0 0 0.0128431 0 0 0.0005558 -0.02177 0 0 0.00153319 -0.0181123 0 0.0286357 0 0.000124971 0 0 1.49095e-05 0 0 0.0856817 0 0 0 0 0 0 0 -0.0167101 0 0 0.0215282 0 0 0 0 0 0 0 0.00109257 0 0.111107 0 -0.000530642 0 0 -0.000632805 0.0247721 0 -0.00121422 0 0 0 -0.196218 0 -0.000858654 0 0 -0.00369254 0 0 0 -1.24487e-05 0 0 0 0 0 0 -0.0901193 0 0.195289 0 0 0 0 -0.00330332 -0.275186 0 0 -0.209686 0 -0.0125167 0 -0.00449724 0 0 0.444773 0 -0.257861 0.0939455 -0.0341827 0.0208418 0 0 -0.0857847 0 9.69877 0 -0.876361 1.22951 0 0.468519 -0.339124 -0.000816123 0 0.00767235 0 0 -0.023342 0 3.46614 1.39104 0 0 0.135343 0 0 -0.473402 -2.55042 -0.16386 0 -1.68494 0 0.410126 -0.0618826 0.12931 0.0617539 -0.094609 -1.4345 -0.162532 -0.00336799 -0.101734 -2.78922 -0.0376555 0 0 0 0.0474093 0.0159725 0 0 0 0 -0.01119 5.46021 1.05005 -0.929438 0.072743 0.0173907 0.358434 0.0188744 -0.00988609 0.128624 -0.329651 0 0 0 0 0 0 -84 0 0.474696 0.416387 -0.000211 -0.0213501 0.207491 0.0874546 0.0312698 0.081544 -0.000517901 -0.018122 0.0042624 -0.643926 2.54313e-08 -1.93266 0.000111831 1.51737 3.31137 -0.0168716 0.000221439 -2.58442 -0.00307032 -0.463611 -3.28317e-08 -0.00415433 -0.167958 0.744952 0.000527293 -0.172425 0.374147 -0.454105 -4.22021e-06 0.0128368 -0.710182 0.0172957 -0.210506 5.02897e-05 0.00986041 -2.44324 0.00115425 -1.07711 3.26896e-06 0.111378 2.57454e-05 -2.67761 0.000401164 -0.233795 -0.0449555 0.0248346 -2.85327e-05 -0.218681 0.00634567 -1.79515 -0.000123947 0.000113599 0.000615176 -0.614179 -0.0246968 -0.0185158 0.0040642 -2.06431e-06 -1.52546 2.2268 -0.36101 1.02452 0.0744316 -0.0466066 -0.0552394 0.0344041 2.25235e-06 0.214333 -0.0652254 0.00458042 -0.0204736 1.69966 -0.0715141 -0.0558132 6.50264 0.497757 0.432505 0.0815022 -0.125501 2.19358 0.00205528 -0.0529872 0.252949 -0.577924 -4.08861e-08 -5.97796e-07 -0.000167729 -0.000930416 -0.277301 0 0 0 0 0 -0.000211 -0.0213501 0 0 0 0 0 0 0 -0.000537665 0 0 0 0 -1.92602e-06 0 -5.3572e-06 0.000197152 -0.000206478 0 0 -0.00636397 0 0 -0.000321279 0.0129318 0 0 -0.000751728 0.00979734 0 -0.016341 0 -6.60369e-05 0 0 -7.8266e-06 0 0 -0.0488804 0 0 0 0 0 0 0 0.00984667 0 0 -0.0108858 0 0 0 0 0 0 0 -0.000372263 0 -0.0639219 0 0.000333414 0 0 0.000374256 -0.0133095 0 0.000833969 0 0 0 0.11194 0 0.000537585 0 0 0.00210655 0 0 0 8.8984e-06 0 0 0 0 0 0 0.207491 0 0.0874546 0 0 0 0 -0.243235 0.049011 0 0 0.121814 0 0.0117561 0 0.00154093 0 0 0.0244198 0 -1.29024 -0.122308 0.010957 0.0149046 0 0 0.00281187 0 -4.88716 0 -6.06637 -1.08662 0 -0.705127 -2.63104 5.96446e-05 0 -0.0480109 0 0 0.0131006 0 -2.23802 -0.108713 0 0 0.0172341 0 0 0.475911 -0.330239 0.330973 0 2.41831 0 0.620117 0.0567441 -0.0521051 0.27139 -0.0432296 -0.869775 -0.296103 0.0674851 -0.174794 10.166 -0.0306987 0 0 0 -0.0199715 -0.0350037 0 0 0 0 -0.0336135 35.9107 0.437604 4.68744 0.372674 -0.412264 2.27161 -0.0661946 0.0522853 -0.0494198 0.284775 0 0 0 0 0 0 -85 0 0.281817 0.052221 1.9647e-05 0.00198799 0.0266527 -0.154243 0.736196 0.575997 4.82237e-05 0.0415366 0.00112777 0.416491 -2.368e-09 0.203957 -2.88449e-05 1.04814 4.24608 0.00286699 -8.15213e-05 1.49912 -0.000639083 0.267415 3.05708e-09 -0.00318771 0.526202 -0.00578478 -0.00285748 0.568463 0.788196 -0.183089 3.9296e-07 -0.00406874 0.112317 -0.0518886 0.457025 5.09732e-06 -0.0219831 -1.53553 0.000793376 0.348461 -3.04385e-07 -0.268306 3.3813e-06 1.95151 -3.73539e-05 -0.197113 0.607651 -0.0118069 -1.3329e-06 0.109472 -0.0888064 -0.480146 3.90686e-05 -3.5807e-05 -0.00176005 1.2788 -0.169168 -0.00196513 0.00596316 1.92216e-07 -0.606935 -1.98092 -0.640612 0.339823 -0.0795194 -0.230561 -0.364103 -0.0195602 -2.09725e-07 -0.173256 -0.16396 0.00108046 0.0185511 0.248792 -0.163627 -0.135374 7.10653 0.219395 2.56343 0.205405 -0.25192 1.63765 -0.0182404 0.00666831 -0.222232 0.860868 3.80706e-09 9.75615e-09 -2.63234e-05 -0.00135297 -0.584176 0 0 0 0 0 1.9647e-05 0.00198799 0 0 0 0 0 0 0 1.27005e-05 0 0 0 0 -1.64043e-06 0 2.5916e-07 -1.96286e-05 -0.000264469 0 0 0.000180716 0 0 2.96877e-05 -0.00288937 0 0 4.15078e-05 -0.00101675 0 0.00150364 0 3.50708e-06 0 0 5.46024e-07 0 0 0.00449746 0 0 0 0 0 0 0 -0.000871243 0 0 0.0007978 0 0 0 0 0 0 0 6.07243e-05 0 0.0074326 0 -7.07419e-07 0 0 -3.81077e-05 0.00121105 0 -0.000139872 0 0 0 -0.0102995 0 0.000275117 0 0 -0.000193823 0 0 0 1.13975e-05 0 0 0 0 0 0 0.0266527 0 -0.154243 0 0 0 0 -0.0467241 -0.228528 0 0 -0.0489132 0 -0.00309977 0 -0.0011866 0 0 0.261522 0 0.011877 -0.0326045 -0.0032981 0.00735447 0 0 -0.0232361 0 3.63269 0 -2.72848 -0.0803847 0 -0.361071 -0.542294 -4.69016e-05 0 0.0056031 0 0 -0.0217757 0 0.840598 0.81184 0 0 0.0549796 0 0 0.144209 -1.74571 0.321093 0 0.306292 0 0.667913 -0.0367841 -0.0308907 -0.268727 0.0441602 -0.50316 -0.471011 -0.0917319 0.0980546 2.19135 -0.0508494 0 0 0 -0.0158408 0.00155527 0 0 0 0 0.0333984 19.227 0.652721 3.49455 0.267173 -0.224427 1.35865 -0.0313275 -0.0192053 0.000160415 0.357796 0 0 0 0 0 0 -86 0 0 0 -0.192569 -0.0152789 0 0 0 0 2.86995 1.36606 -0.0473332 0 0.364996 0 -0.0184284 0 0 0.56098 0.194665 0 0.441662 0 -0.40729 1.36678 0 0 -0.640971 0 0 0 0.0817475 -0.387043 0 -1.18579 0 -0.000466802 -1.11781 0 0.0679537 0 0.242717 -2.59504 0.244199 0 -0.40905 0 0 -1.12866 -0.949244 0 0.31457 0 1.44543 0.497562 0.0474978 0 0.97845 0.139452 -0.424528 0.87066 0 0 0 0 -0.68304 0 -1.32326 -0.19231 -1.51924 -2.09986 -0.424257 -0.293264 1.64904 0 0 2.68723 0 -4.31755 0 0.277909 -0.113928 0 -3.07535 1.18051 -0.454932 0 0.863542 -0.893479 0.917488 -0.339386 0 0 0.112974 0.0154989 0.115663 -0.00167963 -0.192569 -0.0152789 0.0546519 -0.0597658 -0.179242 -0.000422436 -0.00862743 0.0235191 -0.00115401 0.0600624 0.0220051 -0.00390638 0.0159667 0.106727 -0.157373 0.237228 0.0302117 -0.832666 0.036895 0.00193955 -0.43022 -0.433489 0.0101005 0.00278156 -0.816469 -0.570397 -0.159554 0.0099321 -0.0500749 -0.541033 -0.0525138 -1.57609 -0.0167952 0.137471 -0.00841395 0.0893642 0.0536418 -0.028605 0.000268578 -2.53356 0.322715 0.192488 -0.00426762 0.613326 -0.054995 -0.024062 -0.0148555 -0.119283 0.043241 0.110482 -0.352143 -0.173511 -0.0725474 0.0507956 -0.0431041 -0.12928 -0.102504 0.0644304 -0.0625145 0.145107 0.967542 0.0180949 -0.151696 -0.0483515 0.145788 0.225501 0.249995 -0.033067 -0.165802 0.0253528 0.331467 0.0117426 10.3298 -0.891047 1.02438 0.328783 -0.640825 1.32187 -0.029451 0.0556669 -0.113507 0.0547352 0.0078553 -0.0159534 0.0308384 -0.063704 0.125525 0 0 0.115663 0 -0.00167963 0 0 0.945575 0 -0.612232 0.0336995 -0.0417773 0.356111 0.00531575 0.0593091 0.1181 -0.0970955 -0.0218397 0.196467 0 0 0 0 0.0785823 0 -0.349799 0 -0.412223 0 0 0.0683877 0 0 0.0109844 0 0 -0.0116892 0.00321629 0 0.00670042 0 -0.0981231 0 0 0 -0.0012245 0.0363979 0 0 0.0227297 0 0 0 0.205517 0 -0.550849 0 -0.118414 -0.210113 0.232838 0 0 -0.304454 0.0293787 0.338135 0 0.197211 0 0.0116421 0 0.276293 0.0168378 -0.215334 0.0846403 0.254243 0.0983974 -0.295251 0 -1.28097 0 -1.21417 -0.0304978 0 -0.62162 0.209707 -0.0443872 0 -0.453126 0.0558491 -0.0618245 -0.106021 0 0 -87 0 0 0 0.251411 0.174361 0 0 0 0 -4.27476 -2.15839 -0.596198 0 -0.329918 0 0.221958 0 0 -0.647154 0.38837 0 -0.501998 0 0.627677 -1.41536 0 0 1.19821 0 0 0 -0.0917295 1.29206 0 2.06785 0 -0.0183395 2.14921 0 -3.43307 0 0.643474 3.06262 -0.769219 0 5.12565 0 0 2.92143 3.65474 0 1.98953 0 -1.64678 0.64981 -0.526177 0 -1.60864 -1.4074 -0.789448 -3.84732 0 0 0 0 -0.110838 0 1.30969 2.03149 2.53369 3.40975 0.720608 -1.66426 -2.32919 0 0 -4.57746 0 7.051 0 -10.5231 7.57174 0 -3.67728 2.61676 2.07286 0 -19.1849 11.1288 -6.44638 5.372 0 0 -0.591599 -0.0811614 0.354078 0.0764549 0.251411 0.174361 -0.126006 -0.0272245 0.33772 0.00293127 0.000170945 -0.00284253 -0.0057327 -0.02307 -0.0819502 0.0305327 -0.0542134 -0.411183 0.260346 -0.776071 -0.0132568 1.53385 0.489802 -0.00778138 -0.154212 -0.68613 -0.0421674 -0.0114377 1.013 -0.360195 -0.279391 -0.0352511 -0.213649 1.3581 0.049832 1.47736 0.0443178 -0.523858 -0.0673307 -0.237156 -0.155672 0.290942 -0.00226149 1.59243 -0.0329275 -0.603118 0.00599849 -1.00571 -0.0876683 0.0778848 0.0258273 -0.174551 -0.0430841 -0.118918 -2.09272 0.135881 0.207523 -0.120277 0.118152 0.293038 0.0306237 -0.139418 0.25354 -0.251478 2.02851 0.58206 0.285135 0.0463269 -0.0856418 0.0850264 0.866177 0.376992 -1.26084 -0.0210909 0.0720608 -0.0499971 -6.49262 1.58123 -1.68964 -0.664769 0.685766 -0.0568367 0.101163 -0.146907 0.202678 -0.0714105 -0.0488245 0.0653 -0.0752706 0.0287075 0.219803 0 0 0.354078 0 0.0764549 0 0 -0.31282 0 0.512084 0.0833757 0.0103001 -0.167734 0.00942072 -0.00345006 0.00481241 0.0862546 -0.0289714 0.631993 0 0 0 0 0.275467 0 0.188818 0 0.287642 0 0 -0.478031 0 0 0.0071478 0 0 0.0541691 -0.00795533 0 -0.0441257 0 0.139218 0 0 0 -0.00403015 -0.0854068 0 0 0.00736771 0 0 0 -0.0426757 0 0.248509 0 -0.13873 0.110976 0.598886 0 0 -0.176405 0.440617 -0.0872785 0 0.405783 0 0.208809 0 0.124742 -0.466781 0.681716 -0.585208 -0.615303 -0.125395 -0.149021 0 0.749983 0 -2.6616 1.78378 0 -1.82343 1.06083 0.317112 0 -1.84909 1.24608 -0.504694 0.430192 0 0 -88 0 0 0 -0.292515 -0.440274 0 0 0 0 -0.0638942 4.84691 -0.170889 0 0.462514 0 0.132791 0 0 1.05998 0.564629 0 0.515979 0 -0.380276 1.74216 0 0 -0.658196 0 0 0 -0.163495 0.548155 0 -1.15971 0 -0.0671974 -1.7625 0 0.821933 0 0.751404 -3.72635 0.102141 0 1.35573 0 0 2.00969 -0.393786 0 1.00408 0 -1.5933 0.455969 0.0369679 0 -0.382111 0.123015 -2.26962 -0.648562 0 0 0 0 0.27177 0 -1.67428 -1.70325 -1.24244 -6.9566 -0.0414827 1.17637 -0.501876 0 0 1.40522 0 -14.7893 0 -1.07051 -3.41109 0 -6.46783 2.08199 -5.7257 0 -3.45909 0.0763719 -1.44825 -1.70174 0 0 -0.062405 -0.00856134 -0.130279 -0.00709993 -0.292515 -0.440274 0.000781489 0.0477191 0.0145656 0.000212298 0.00594375 0.024029 -0.00956713 0.264498 -0.0131294 0.00186289 -0.0228488 -0.0489291 0.278411 -0.144687 0.0935281 -0.546516 1.00997 -0.0011409 0.237765 0.433807 -0.00485142 0.00962204 -0.627507 1.8163 0.377934 -0.00639989 0.13466 0.0687594 -0.0143529 -1.27328 0.00314576 -0.0365946 0.0635993 -0.0619448 0.0362669 0.0116696 -0.000889329 -3.50509 0.331582 -0.299534 -0.000791119 0.0877295 -0.412268 0.0259743 -0.00929273 1.07998 -0.0375865 -0.000891084 0.899172 -0.0224566 0.0451195 -0.0229864 0.033316 0.0259012 -0.0160522 -0.0603141 -0.0816909 -0.0814498 -1.26877 -0.513805 0.03825 -0.0917248 -0.0846586 0.0792954 0.184085 -0.336328 0.712822 0.0300783 -0.0179174 -0.00682288 14.2909 -0.0656776 -0.537673 0.289487 -0.463449 0.608316 0.0296329 -0.0638921 0.168894 -0.561312 -0.00411409 0.0120204 -0.0441673 0.101007 -0.297329 0 0 -0.130279 0 -0.00709993 0 0 -0.249761 0 -1.35472 0.00224336 0.0528526 1.67833 0.00261581 0.250391 -0.0353301 -0.130258 0.121696 -0.000859574 0 0 0 0 0.586914 0 0.455076 0 -0.429411 0 0 0.378838 0 0 -0.00542134 0 0 0.0874179 0.0088583 0 0.0324174 0 -0.245751 0 0 0 0.0123708 0.0805318 0 0 0.156256 0 0 0 -0.434861 0 0.183693 0 -0.566763 0.209783 -1.21729 0 0 -1.11934 0.215578 0.373691 0 0.0123408 0 0.137507 0 -0.551089 -0.49938 -0.164526 -0.0305856 0.234486 0.00716555 0.0185185 0 -6.05918 0 0.0357117 -1.76614 0 -0.423129 0.187624 -1.308 0 0.0976948 -0.209787 -0.260877 -0.239732 0 0 -89 0 -0.44032 -0.583985 -0.0648131 0.00679226 0.0701634 -0.0377753 0.0536749 0.276751 -0.175799 -1.32207 -0.226452 -0.591594 0.135686 -0.606136 -0.177826 -3.18417 -11.8959 0.0193219 -1.05098 0.384932 0.0185278 0.598117 -0.171847 -0.549347 -0.0887603 -0.950243 -0.224201 0.0480312 0.251012 -0.102802 -0.193676 -0.451072 1.14907 -0.381099 -0.0414477 -0.116272 -1.17658 1.50616 -0.500108 0.120675 0.177436 -2.03657 -0.318369 -3.04351 0.150853 0.0300005 0.131355 -2.27665 0.437751 -0.761894 -0.392314 6.87873 -0.061921 -1.1958 0.520379 -0.792993 -0.207794 0.321566 0.603488 -0.196665 -1.43392 -0.324283 -4.72102 0.791863 0.982283 -0.0348786 -2.01405 -1.54919 0.204927 1.30108 -0.349691 -0.343332 0.0932567 0.100481 -0.309509 0.685957 -13.9166 -1.01577 0.535654 -1.80237 2.13423 -3.27795 2.3582 -0.891514 1.10181 -1.33752 -0.615671 1.19169 -0.653582 0.753426 -0.47043 0 0 0 0 0 -0.0648131 0.00679226 0.00942029 0 0 0 0 0.00390839 0 0.00950797 0 0 -0.00259676 -0.0248189 -0.0239172 0 0.00556397 0.158243 -0.0671495 0 0 -0.883621 -0.0018181 0 0.585192 -1.15029 0 0 -0.1371 -0.201862 0 0.968589 0 -0.461868 0 0 -0.0677559 0 0 1.56112 0.0543027 -0.0346271 0 0.132739 0.0678181 0 0 -0.303061 0 0.0051853 -0.932512 0.0048357 0 0 0.0118309 -0.0239929 0 -0.01096 0.13219 -0.0405442 -0.597755 -0.060293 -0.00497137 0 -0.0382994 0.00858555 -0.290872 0.0853644 0.139798 0 0 0 -6.71612 0.393764 -0.636178 -0.156846 0.299499 -0.641137 0.00496915 -0.00956908 0.0196266 0.0221088 0 0 0 0 0 0 0.0701634 0 -0.0377753 0 0 0 0 0.0709244 0.12469 0 0 0.109979 0 0.0204298 0 -0.00347533 0 0 0.00874124 0 0.107306 0.0111847 0.0526093 0.00135845 0 0 0.0132228 0 -4.20087 0 1.66679 -0.407455 0 0.1364 0.519991 0.0089757 0 0.00653695 0 0 0.00124925 0 -1.18277 -0.425001 0 0 -0.0569885 0 0 0.109913 -1.22295 0.366134 0 -0.159745 0 -0.103961 -0.00792278 -0.146695 -0.0266564 0.0676607 0.302522 -0.320024 -0.116111 -0.409496 -2.11787 0.0346595 0 0 0 -0.034222 0.0132005 0 0 0 0 -0.0921587 -10.1307 -2.12454 0.464195 -1.10171 0.972876 -1.00881 -0.154037 0.0702442 -0.0937569 -0.1691 0 0 0 0 0 0 -90 0 0.5496 0.292426 -0.0730852 -0.271186 0.532602 0.0988293 -0.481092 -2.63809 0.86406 2.12015 0.139282 -0.174428 -0.0635535 0.456088 -0.0215308 0.87741 1.70918 0.0340416 0.117926 0.0380676 -0.0763894 -0.435436 0.136423 0.64842 -0.365503 0.443048 -0.2776 -0.023341 -0.537609 -0.024276 0.406328 0.00244055 -1.02102 -0.672514 -0.0197329 0.0602837 -0.874087 -3.25169 0.926054 0.0100793 -0.291889 -2.63045 0.520118 1.13644 -0.722947 0.00951347 -0.12962 0.310387 -1.46543 -0.776608 -0.374815 -9.50915 0.0387066 0.126981 -0.064725 -3.90154 -0.538511 -0.0514637 -0.450024 1.27199 1.0743 0.0174843 2.06862 1.89976 1.37245 -0.0230442 -0.892933 -1.84753 -1.49997 -2.30642 -0.0823739 0.844016 0.710299 -1.49467 0.0779398 -0.00974152 19.3691 -2.04973 10.6976 2.36861 -1.03147 5.74651 -3.47889 1.78574 -2.00612 5.36022 2.95053 -2.70997 1.77451 -1.47773 1.00755 0 0 0 0 0 -0.0730852 -0.271186 -0.0308853 0 0 0 0 -0.0133011 0 -0.0731723 0 0 0.0277096 0.202139 -0.414005 0 -0.0418113 -0.23702 -0.759383 0 0 1.18102 0.0147475 0 -0.643943 1.75881 0 0 0.183721 0.36404 0 -1.06094 0 0.57507 0 0 0.0934547 0 0 -1.63783 -0.18421 0.378357 0 -0.42871 0.135176 0 0 0.15966 0 -0.029855 1.62116 0.00558214 0 0 -0.056476 0.0742227 0 0.0490472 0.0479806 0.142567 -0.491732 -0.431925 -0.069142 0 -0.119859 0.110269 -0.335702 0.101178 1.09809 0 0 0 6.40182 -1.02435 2.22471 0.15087 -0.287346 0.623002 -0.0358592 0.0683568 -0.147572 0.301624 0 0 0 0 0 0 0.532602 0 0.0988293 0 0 0 0 -0.176767 -0.101191 0 0 0.328891 0 0.0405907 0 0.00793079 0 0 -0.144698 0 0.0482445 -0.093008 0.0408696 -0.0178945 0 0 0.0452901 0 1.11724 0 -1.77976 0.165722 0 -0.88127 -0.0254594 0.00311986 0 -0.0183269 0 0 -0.00166768 0 0.436014 -0.0517282 0 0 -0.0126951 0 0 -0.116558 0.210207 -0.650028 0 -0.0186072 0 0.754339 -0.308823 0.493786 -0.583254 -0.0757169 0.512202 -0.227248 0.189558 -0.0120565 -2.33509 0.027653 0 0 0 0.0451662 -0.137665 0 0 0 0 0.0518058 15.4115 -1.1599 5.81367 -0.38034 0.419409 1.90671 -0.423775 0.386364 -0.244121 0.754307 0 0 0 0 0 0 -91 0 0.208526 0.506952 0.41193 0.211097 -0.23676 -0.0980079 0.311508 1.83535 0.148658 -2.38972 -0.0888715 -0.707764 -0.664902 -0.345027 -0.0400319 0.73287 3.21695 -1.24961 0.0631712 -0.461608 -0.848799 -0.952133 0.791103 -1.30138 0.269549 0.426491 0.576377 0.0311142 0.539444 -0.103911 0.661279 -0.00854314 -1.60885 1.30418 0.0633603 0.00478729 1.03553 -1.1825 -0.37384 -0.095457 -0.679115 3.58066 0.0637606 -2.11818 -0.144433 -0.0155522 0.117785 0.208805 0.449015 1.34079 -0.221017 -2.27056 -0.240328 0.263664 -0.00604641 2.1218 0.649109 0.159896 1.18336 -0.112154 -1.02611 -0.200037 1.79159 -1.39469 -1.30325 0.121898 2.57358 1.65875 0.27603 3.39774 -0.0574447 -0.321459 -1.45296 0.405357 -0.133426 -2.00129 13.772 13.416 -6.49301 5.23326 -0.414621 -2.88497 4.15864 -1.92506 2.16518 -3.32704 0.58947 0.598998 -0.965461 0.962352 -1.01099 0 0 0 0 0 0.41193 0.211097 0.00660551 0 0 0 0 -0.00485853 0 0.0143045 0 0 -0.00346036 -0.0368822 -0.0231801 0 0.00143401 0.242776 0.0590678 0 0 -0.0401293 -0.002694 0 -0.249249 1.05765 0 0 -0.0130662 0.372599 0 -0.507241 0 0.0984315 0 0 0.00290018 0 0 -0.311161 -0.0666736 -0.0469081 0 0.0917674 -0.0484578 0 0 0.0948655 0 -0.00394822 -0.0640585 0.0126973 0 0 0.00227429 -0.0204818 0 -0.00542929 0.0104364 -0.00720617 -1.46203 0.0141509 0.00408623 0 -0.000449775 -0.026639 -0.106601 -0.116551 0.021399 0 0 0 0.605037 0.0490889 -0.0019371 0.015682 -0.0291033 0.0712716 0.00313068 -0.00589259 0.0135252 -0.00610782 0 0 0 0 0 0 -0.23676 0 -0.0980079 0 0 0 0 0.0832759 0.902142 0 0 -0.486675 0 -0.0563152 0 0.0163857 0 0 -0.000608614 0 0.109087 0.0687816 -0.0191043 0.00261544 0 0 0.0993507 0 0.122998 0 1.21348 -0.138134 0 0.712402 0.395876 -0.00127055 0 0.00650867 0 0 0.136642 0 -0.423711 -0.235948 0 0 -0.0202294 0 0 0.0566748 -1.32622 0.191272 0 -0.186123 0 -0.471892 0.462819 -0.453494 0.125088 -0.057734 -0.337755 0.347599 -0.112293 -1.06905 -0.788195 0.0216023 0 0 0 -0.0460506 0.0978535 0 0 0 0 -0.241759 -8.96971 2.08575 -4.34263 0.167852 -0.131853 -0.897677 0.365235 -0.318576 0.335136 -0.564878 0 0 0 0 0 0 -92 0 1.66544 0.880776 0.41375 0.0920457 0.138791 -0.0207779 0.471031 1.40757 -0.184592 -2.74111 0.0487753 -0.285598 -0.707081 -0.382677 -0.0183111 2.56404 12.1614 -1.31842 -0.05951 -1.27524 -0.839307 -0.920001 0.80196 -1.7122 0.386107 0.787824 0.59931 0.00409618 -0.109536 -0.0928892 0.669291 0.151806 -2.07804 1.3149 0.137583 0.0418166 1.23841 -5.34871 0.179335 -0.232668 -0.888949 4.85724 0.0218094 -1.25246 -0.881749 -0.0435858 0.00750398 0.874941 -0.0841277 0.846534 -1.44177 -0.314868 -0.547684 0.070296 0.0911224 5.46377 0.966163 0.446659 1.2392 0.395277 0.0229201 -0.177243 2.92009 -3.8935 -1.62613 -0.0292915 3.67287 1.89984 0.406959 1.21177 0.367903 0.00192514 -1.19416 0.315159 -0.0189701 -2.17414 19.8252 10.8874 -4.85443 9.68749 -6.66265 10.1991 6.80372 -3.30781 3.61834 -1.87136 3.30443 -0.457008 0.386645 -0.0519213 0.0450684 0 0 0 0 0 0.41375 0.0920457 0.00767635 0 0 0 0 -0.00585653 0 -0.0014553 0 0 -0.0044507 -0.00684112 0.113528 0 0.00478859 0.284912 0.061021 0 0 0.0652504 -0.000477673 0 -0.110995 1.72872 0 0 0.0017204 0.189197 0 -0.0892521 0 -0.0797308 0 0 -0.00795032 0 0 -0.619822 -0.0807988 -0.0706833 0 0.100376 0.0791707 0 0 -0.437974 0 -0.0129533 -1.21383 0.00250867 0 0 0.00871401 -0.0312087 0 -0.00873385 0.0598855 -0.00789883 -1.18856 0.0282399 -0.0395869 0 -0.00203765 0.00101651 0.188084 -0.211842 -0.316895 0 0 0 7.07832 0.719262 0.345389 -0.00314354 0.0966015 0.163546 0.00445428 -0.0045349 0.0220741 -0.0149734 0 0 0 0 0 0 0.138791 0 -0.0207779 0 0 0 0 -0.000836857 1.21088 0 0 -0.232475 0 -0.0394245 0 0.019401 0 0 -0.0464793 0 -0.0438924 0.0228852 -0.0105273 -0.00780966 0 0 0.14296 0 6.00938 0 -1.50551 0.157137 0 0.150208 -0.221072 -0.00357381 0 0.000228836 0 0 0.161059 0 0.912927 -0.247961 0 0 -0.037791 0 0 -0.0174975 1.1445 0.182182 0 1.08156 0 -1.26002 0.278696 -0.190541 0.281784 0.0292361 0.249769 1.21438 -0.231948 -0.736415 1.79109 0.0013052 0 0 0 0.177417 0.167382 0 0 0 0 -0.326762 13.6784 2.36078 -0.18796 0.830987 -0.694658 1.92452 0.217375 -0.236702 0.299111 -0.182311 0 0 0 0 0 0 -93 0 0.0991229 0.318922 -0.0213974 -0.299714 0.223243 0.0724448 -0.208875 -1.85007 0.620071 1.61723 0.166524 0.281915 -0.095166 1.35474 0.067852 1.65198 4.43568 0.0415701 0.091961 -0.326372 -0.110553 -0.440595 0.17127 0.281383 -0.334058 0.715534 0.00208515 -0.0201368 -0.198865 0.220429 0.350629 0.181764 -0.820189 -0.0697012 0.0174223 0.0765585 0.105706 -1.60928 0.278297 -0.0305446 -0.329062 -0.0742066 0.159196 2.50774 -0.710801 0.00290322 -0.0583381 0.462738 -0.329729 -0.663141 -0.241001 -3.93349 0.511846 0.13313 -0.0280935 -2.58166 -0.331148 -0.022198 0.336444 0.959242 2.59543 -0.062426 4.42674 0.930204 1.31583 -0.494765 1.65018 -0.929086 -1.27689 -1.53459 0.793557 -0.115101 0.989633 -1.18627 0.000366942 0.347473 13.64 -1.62277 7.56708 4.44482 -0.294492 1.44234 -1.60978 1.68418 -1.64776 3.00574 2.66379 -0.618991 0.518861 -0.0845359 0.0818228 0 0 0 0 0 -0.0213974 -0.299714 0.00504284 0 0 0 0 0.00318834 0 -0.0904069 0 0 0.0293635 0.209704 -0.410021 0 -0.0446111 -0.967434 -0.824594 0 0 -0.24675 0.0152867 0 -0.69128 -4.41987 0 0 0.0148657 -2.07761 0 -1.17831 0 -0.15951 0 0 0.00769785 0 0 -1.92023 0.0436699 0.398553 0 0.0675844 0.196 0 0 -0.0697331 0 0.01836 0.272997 0.0252858 0 0 -0.0508148 -0.0066732 0 0.0379388 -0.097127 0.136992 0.668329 -0.16958 -0.0761457 0 0.0354221 -0.187113 -0.403629 0.309777 0.258369 0 0 0 10.1761 -0.759731 2.5376 0.16716 -0.24609 0.461325 -0.0362848 0.0718072 -0.15686 0.28294 0 0 0 0 0 0 0.223243 0 0.0724448 0 0 0 0 -0.00930859 -0.0323667 0 0 0.212438 0 0.0237174 0 0.00753454 0 0 0.00786381 0 0.140025 0.005939 0.0106727 -0.000188661 0 0 0.0290857 0 0.599438 0 -0.0348555 0.0112908 0 -0.0694654 0.32055 -0.000279577 0 0.00276049 0 0 0.0122543 0 0.11878 0.278034 0 0 0.0193137 0 0 0.0955227 0.394075 -0.292847 0 0.399874 0 0.644054 -0.247789 0.198091 -0.402646 -0.108885 0.666922 -0.317379 0.239404 0.0984018 2.20727 0.1027 0 0 0 -0.0317096 -0.115246 0 0 0 0 0.0885926 -0.576474 -2.51547 2.36211 -1.02913 1.00262 -0.013231 -0.441476 0.371391 -0.166522 0.0851629 0 0 0 0 0 0 -94 0 -1.00306 -0.454923 -0.0620449 -0.0298645 -0.144387 -0.00144187 0.097606 1.34697 0.183024 0.316737 0.0225691 0.884651 0.0995829 0.622483 0.111845 0.586299 3.22606 0.33776 0.588261 -0.317661 0.201397 0.948902 -0.102053 0.288252 0.302194 -0.0682321 0.246444 0.00339711 0.175968 0.180276 -0.0363292 0.184688 2.60028 0.415636 0.036603 0.0109309 1.70223 8.65029 0.00568364 -0.0285034 0.121338 2.70466 0.028465 2.74215 0.111995 0.00387376 0.0281952 1.00474 -0.052784 0.482215 0.907807 1.53872 -0.308817 0.689019 -0.0334461 -3.35799 -0.267353 0.287726 -0.319407 -0.00375363 1.57675 -0.292216 -3.23029 -0.186677 -0.847092 -0.709521 0.471162 2.03582 -0.181722 1.93891 1.88564 0.0626561 -0.71404 -1.18493 -0.0965185 0.867145 -59.1789 -14.2039 -6.01777 -14.1083 6.01747 -9.714 -0.551724 0.386241 -0.991182 -1.43672 -0.419712 0.00471526 -0.352767 0.0229726 -0.0724017 0 0 0 0 0 -0.0620449 -0.0298645 -0.00238966 0 0 0 0 0.000913304 0 0.018301 0 0 0.00236102 0.0162728 0.027892 0 0.00503302 0.255399 0.105295 0 0 -0.100038 0.00118117 0 0.616746 0.907653 0 0 -0.0585813 0.551272 0 1.3698 0 -0.0943206 0 0 -0.0347966 0 0 3.08991 0.0125608 0.0339142 0 -0.031575 0.210774 0 0 -0.751608 0 0.00584558 -0.808266 -0.0013203 0 0 -0.00688377 0.0126824 0 0.0475086 -0.00795842 0.0320698 -0.64926 0.101974 -0.104654 0 -0.0207244 0.0314208 -0.695989 0.269338 0.0581642 0 0 0 -14.0077 0.347831 -1.61435 -0.297879 0.548336 -1.2105 -0.00333709 0.00541164 -0.0128277 -0.028429 0 0 0 0 0 0 -0.144387 0 -0.00144187 0 0 0 0 0.059853 -0.186224 0 0 0.00957481 0 0.00680556 0 -0.00400776 0 0 0.202977 0 0.203157 0.0229562 0.0164415 0.0235081 0 0 -0.0162831 0 -0.900307 0 2.97787 -0.147109 0 0.313344 0.799592 0.00423676 0 0.00610286 0 0 -0.0268304 0 -0.155235 0.64584 0 0 0.0738622 0 0 0.149725 -2.96128 0.308072 0 -1.30171 0 0.279141 -0.0522922 -0.127389 -0.164942 -0.0165611 0.120754 -0.662307 0.00474877 -0.0207891 -1.05617 0.100986 0 0 0 -0.195609 -0.0182973 0 0 0 0 0.0581951 -19.5434 -2.06251 -1.28342 -1.40205 1.29369 -2.32969 -0.0358945 0.0361964 -0.180207 -0.149167 0 0 0 0 0 0 -95 0 -1.18346 -0.236743 -0.0308378 -0.207368 0.346633 -0.097813 -0.482646 -1.49511 -0.312874 0.494182 0.0633347 -1.07025 0.000866535 -0.930823 0.0215074 -0.523892 -3.4078 0.129864 0.0622488 -3.01067 -0.00542369 0.0828685 -0.00301037 0.00279588 -0.205769 0.00973898 0.0349254 0.232662 0.178555 -0.469879 -0.0312629 0.251999 0.776107 0.219423 -0.00391866 0.0107584 -0.00236047 5.39759 -0.0961168 -1.37775 0.00647915 -0.100169 -0.00754637 -1.95563 0.0315211 -0.676455 0.0303117 0.626067 -0.00628033 1.38442 0.163237 0.957896 -0.0962638 0.0292208 -0.0712396 -0.0428797 -0.29132 -0.391205 -0.00041074 0.0090148 1.91652 3.57066 -0.0306215 -0.404718 -0.734067 -0.156224 0.515409 0.302098 0.07045 -0.246396 0.606626 0.0332949 -0.0214016 0.52719 -0.00628205 -0.774002 -19.631 -3.07387 -1.54146 -2.46518 2.4608 -9.10803 0.566089 0.415512 -1.5099 1.71365 -0.00766552 0.0120973 -0.0222641 0.00400882 -0.0062639 0 0 0 0 0 -0.0308378 -0.207368 -0.00620865 0 0 0 0 -0.000542049 0 0.0170085 0 0 -0.00582264 -0.0100527 0.017711 0 0.00179915 0.00785484 0.139171 0 0 0.11891 -0.000716263 0 0.0275694 -0.194023 0 0 0.0180607 0.0169724 0 0.143148 0 0.00516128 0 0 0.000836415 0 0 0.470669 -0.00755855 -0.0816003 0 -0.0866439 -0.0170208 0 0 0.065636 0 -0.0126892 -0.128402 0.0256036 0 0 0.0118937 0.0107243 0 -0.0239333 0.0699222 -0.0219854 0.0172595 0.0549129 0.0273987 0 -0.0229386 -0.049463 -0.0343871 0.0148154 -0.112436 0 0 0 -1.42413 0.180073 -0.360763 -0.043614 0.0697819 -0.131058 0.00750935 -0.0115103 0.020747 -0.0394868 0 0 0 0 0 0 0.346633 0 -0.097813 0 0 0 0 -0.209554 0.170422 0 0 0.758305 0 0.0848559 0 0.0341454 0 0 -0.712155 0 0.258979 -0.141668 0.204562 -0.0874934 0 0 0.263798 0 -6.15463 0 3.82531 -0.618248 0 -1.15553 1.2495 0.0193988 0 -0.0275759 0 0 0.0317898 0 -1.44786 -1.50777 0 0 -0.217285 0 0 0.320122 -2.3483 0.864193 0 -0.32241 0 -0.254209 0.232478 -0.415603 0.129206 -0.142188 -1.11809 0.0970639 0.066401 -0.454127 1.76148 0.0934962 0 0 0 -0.377095 -0.0995263 0 0 0 0 0.179073 -21.1085 -3.39615 1.70919 -1.26189 1.26518 -3.24965 -0.281907 0.32089 -0.529995 0.721136 0 0 0 0 0 0 -96 0 -0.00976625 0.177611 0.00623934 -0.00485417 -0.0810729 0.0602752 -0.212493 0.553923 0.0398007 -0.0695135 -0.128604 0.650603 -0.00145511 0.415645 -0.00360413 1.59186 5.18272 -0.1114 -0.0130546 1.5118 -0.017203 -0.179688 0.001602 -0.0504246 -0.041756 0.622421 -0.0114507 -0.0366668 0.0538741 0.136867 0.0100911 -0.116755 0.105598 -0.186189 -0.201182 -0.0149835 0.0100496 2.42175 -0.0160427 0.860553 -0.01008 -0.278416 0.00307028 2.04946 -0.0610644 0.431635 0.106337 -0.158155 -0.0280519 -0.310727 -0.140669 4.67904 0.0433637 0.029609 0.00803653 2.23258 0.280021 -0.0540399 0.149554 0.0254436 -0.102026 -0.669526 0.386847 -0.104862 -0.14427 0.435976 0.44346 0.106099 -0.0171811 0.843316 -0.0735709 -0.0177204 -0.157756 1.07742 0.0408516 0.954481 -12.1697 -1.77518 -2.94362 -2.42116 1.34295 -4.94642 0.291444 -0.196675 -0.236193 -1.45296 0.0148501 0.00115629 -0.00547965 0.000982261 -0.00188996 0 0 0 0 0 0.00623934 -0.00485417 -0.00400537 0 0 0 0 -0.000511484 0 0.016333 0 0 -0.00210356 -0.00184506 0.0111058 0 0.00194533 -0.0387415 0.104378 0 0 0.233456 -0.000149341 0 0.00935054 -0.555138 0 0 0.0383706 -0.187227 0 0.0629743 0 0.0299979 0 0 0.00505473 0 0 0.313681 -0.00714287 -0.0279111 0 -0.0562937 -0.00815077 0 0 -0.151034 0 -0.0081785 -0.208337 0.0188853 0 0 0.004327 0.00691209 0 0.00647704 -0.059932 -0.01236 0.206633 0.0590577 -0.00148271 0 0.014787 -0.0496864 -0.100893 0.0349178 -0.140206 0 0 0 -1.4557 0.153902 -0.434177 -0.0305265 0.062988 -0.142709 0.00289542 -0.00762803 0.0194953 -0.0552094 0 0 0 0 0 0 -0.0810729 0 0.0602752 0 0 0 0 0.0759186 -1.03239 0 0 0.0469226 0 -0.0152346 0 -0.101875 0 0 0.497537 0 -0.608628 0.0434069 -0.0216288 0.0600439 0 0 -0.690683 0 -7.4728 0 -0.097789 -1.19653 0 0.485062 -0.75616 -0.017233 0 0.010565 0 0 -0.162263 0 -3.32908 0.886771 0 0 0.10574 0 0 0.285113 -2.30241 -0.0993614 0 0.187595 0 -0.0201418 -0.0179904 0.0217735 -0.145352 0.0929575 -0.235866 -0.0500672 -0.244632 0.980646 4.93756 -0.0195811 0 0 0 -0.324749 0.0704768 0 0 0 0 0.411815 -10.5452 -1.88987 -1.54853 -0.0269559 -0.0117817 -1.18663 -0.06688 0.0492204 -0.102342 -0.410499 0 0 0 0 0 0 -97 0 -0.152816 0.144664 0.0231756 0.154646 -0.295692 0.171486 -0.624615 -0.0799519 0.234534 0.116496 -0.19697 -0.523536 -0.000683963 -0.812555 -0.000247965 0.676509 2.01471 0.123127 -0.0167578 -0.793146 0.0384051 -0.208063 0.00228778 0.0656113 -0.507205 0.407485 0.0209236 -0.554537 -0.00194596 0.0157422 0.0235914 -0.00618158 -0.0126514 0.33945 -0.442308 -0.0203157 0.0754512 1.55269 -0.148991 0.168723 -0.00509358 1.22826 -0.0121166 -2.55306 -0.0250879 0.524999 -0.231686 -0.117877 0.00208947 0.376446 0.406699 1.22017 0.111166 0.0327689 0.0434358 1.86245 0.650615 -0.255942 -0.269513 -0.00607745 1.7017 0.923135 -0.887183 0.0785816 -0.158864 -0.217549 -0.405101 -0.165915 -0.0530203 -0.398179 0.526038 -0.00261384 -0.327322 0.136571 0.0218519 -0.0691811 -8.32464 -2.72275 -0.344524 -1.25024 0.829227 -2.26196 -0.672988 0.487265 -0.332399 -0.795364 0.00610105 0.01779 0.000676671 0.00258807 6.82664e-05 0 0 0 0 0 0.0231756 0.154646 0.00440615 0 0 0 0 0.000385631 0 -0.00607633 0 0 0.00427297 0.00745881 -0.0124003 0 -0.000787558 -0.00481436 -0.0942646 0 0 -0.0437809 0.000530736 0 -0.0109078 -0.0237383 0 0 -0.00278945 -0.000857921 0 -0.0227365 0 0.00102565 0 0 0.000475768 0 0 0.106245 0.00538593 0.0599696 0 0.061595 0.0447628 0 0 -0.0773454 0 0.0090032 -0.0768677 -0.0168008 0 0 -0.00872654 -0.00760909 0 0.0110177 0.0282311 0.0163366 0.068712 0.0127025 -0.0157721 0 0.0106544 0.0303673 0.0104819 -0.00405425 -0.025121 0 0 0 -0.292696 -0.0669394 0.113135 -0.00976218 0.0148158 -0.0264388 -0.00550067 0.00825488 -0.0145611 0.0263209 0 0 0 0 0 0 -0.295692 0 0.171486 0 0 0 0 -0.407473 0.632332 0 0 -0.0284489 0 0.010698 0 0.0284686 0 0 -0.41125 0 -0.382983 0.02493 0.226072 -0.0585027 0 0 0.150903 0 1.23508 0 2.16598 0.250815 0 0.276426 0.170668 0.036438 0 -0.0471035 0 0 0.0889155 0 -0.0164519 -0.678197 0 0 -0.0823822 0 0 0.0943322 0.642384 0.371144 0 0.383525 0 -0.219427 0.171649 -0.218068 -0.0465983 -0.0912398 -0.0392535 0.351705 0.0877842 -0.328968 5.17183 0.0638452 0 0 0 -0.031124 0.00890725 0 0 0 0 -0.0667733 -10.3808 -0.11582 -2.43913 -0.460288 0.542171 -1.90234 0.0301661 0.0375748 -0.0630841 -0.208611 0 0 0 0 0 0 -98 0 -0.467531 -0.3134 -0.110501 -0.0276116 0.209551 0.0398845 -0.10724 -0.367398 -0.715191 0.824687 0.101077 0.156687 0.200151 -0.420524 0.141227 0.642989 2.6719 0.576177 0.830189 -0.187658 0.430066 0.745443 -0.270539 0.664322 0.000337986 -0.0480273 0.180847 -0.0215299 -0.425277 -0.0615603 -0.473721 0.260615 1.66996 0.36816 -0.0189736 0.0383064 1.59539 3.67529 0.424458 -0.0112292 0.283374 3.18586 0.118084 -0.34882 0.257452 0.00641612 -0.0972454 1.54043 -0.260702 -0.386644 -0.503963 -3.91814 -0.934868 0.841248 -0.282751 -0.344979 0.605389 0.270422 -0.73127 -0.378913 0.297882 -0.0621543 -0.140109 -1.55724 -0.633339 0.0205086 2.24369 2.51595 0.64272 -0.604237 0.80697 0.3146 -2.30618 0.22562 0.0901858 -0.684251 -26.2209 -8.85803 0.434705 -8.58725 1.46621 -0.436623 -2.24016 0.0324439 0.0953729 0.399947 -1.10419 -0.671304 0.775854 -0.619114 0.449742 0 0 0 0 0 -0.110501 -0.0276116 -0.038015 0 0 0 0 -0.0232259 0 0.0314939 0 0 -0.0123608 -0.125779 0.144642 0 0.0229743 0.597522 0.148784 0 0 0.541795 -0.00913569 0 0.545473 0.74689 0 0 0.0721346 0.770068 0 0.722171 0 0.348928 0 0 0.0510403 0 0 0.989906 -0.319795 -0.169835 0 -0.522623 -0.0679946 0 0 -0.0737198 0 -0.0826354 0.451976 0.117313 0 0 0.0275008 0.0622163 0 -0.040388 0.191686 -0.083682 0.539063 0.0228712 0.0536037 0 -0.113722 -0.131773 0.514171 -0.220007 -0.127389 0 0 0 -4.20425 0.535744 -0.768962 -0.0983612 0.187672 -0.402244 0.0168027 -0.0320317 0.0686604 -0.0589912 0 0 0 0 0 0 0.209551 0 0.0398845 0 0 0 0 -0.010239 0.227832 0 0 0.320567 0 0.0431104 0 0.00561678 0 0 0.00899396 0 -0.0708401 -0.0485094 0.0300189 0.00554987 0 0 0.0632751 0 -1.1842 0 1.25958 -0.0432623 0 -0.401455 0.198095 0.00512223 0 -0.00252766 0 0 0.0198654 0 -0.242194 -0.129592 0 0 -0.00628402 0 0 -0.0608931 -0.263662 0.0405096 0 0.64284 0 -0.145064 -0.0632336 0.0593461 -0.205818 0.0807576 0.412009 -0.0721298 -0.0936245 -0.388104 -1.31109 0.0255687 0 0 0 0.121628 -0.0201083 0 0 0 0 -0.121347 -9.0089 -1.75344 1.00212 -0.562542 0.290144 -0.373063 -0.185385 0.115629 -0.211307 0.269167 0 0 0 0 0 0 -99 0 -0.365481 -0.496609 -0.381518 -0.344192 0.3127 0.108946 -0.61707 -2.88729 -1.10259 4.79747 0.0691524 0.994303 0.663367 1.4652 0.104639 -1.38036 -7.21709 1.41002 0.314704 0.12786 0.806968 0.714116 -0.834344 2.32003 -0.425076 -0.485447 -0.706219 -0.0254141 -0.327027 0.425409 -1.12413 0.164323 1.78214 -1.16553 -0.0333242 -0.000374356 -1.56286 4.31552 -0.0588784 0.00852622 1.01108 -3.44192 -0.188431 3.52104 1.28638 -0.00105859 -0.103259 0.386734 0.21395 -0.314246 1.35268 2.03282 -0.285945 0.361164 -0.167384 -3.39834 -1.16232 -0.00306017 -2.83042 -1.18903 2.92815 0.0556854 -3.11968 1.86524 0.74276 -0.60654 -2.72884 -1.98972 0.939646 -5.37353 1.1789 0.0544741 1.43595 -0.841524 0.107837 2.09114 -29.5731 -24.0149 10.1773 -14.6439 5.03228 -1.61824 -11.8196 4.76598 -3.90729 4.18493 -5.51716 1.32008 0.0211022 -0.272363 0.34584 0 0 0 0 0 -0.381518 -0.344192 0.00474627 0 0 0 0 0.00143342 0 -0.0184043 0 0 0.00455862 -0.0752654 0.152672 0 0.0126159 -0.51839 -0.134341 0 0 -0.0992895 -0.00544292 0 -0.27765 -0.761434 0 0 -0.00369315 -0.446797 0 -0.786547 0 0.0528957 0 0 0.0244583 0 0 -1.46356 0.0194606 0.0604458 0 0.0633261 -0.092508 0 0 0.312416 0 0.038285 0.101926 -0.0758005 0 0 -0.00612504 0.00864041 0 -0.012985 0.000579001 0.0146626 0.372869 -0.236092 0.0463372 0 -0.0128641 0.1581 -0.265864 0.203696 0.504507 0 0 0 6.36863 -0.361603 0.903112 0.149105 -0.284057 0.60571 -0.00466086 0.00841384 -0.0181948 0.0390788 0 0 0 0 0 0 0.3127 0 0.108946 0 0 0 0 -0.103709 -0.730414 0 0 0.552114 0 0.0799335 0 -0.00814896 0 0 -0.0239496 0 0.161222 -0.0784301 0.0750129 -0.00587924 0 0 -0.0435149 0 -3.45879 0 0.39086 -0.00443153 0 -0.643035 0.341027 0.0135162 0 -0.0142612 0 0 -0.100373 0 -0.423557 0.286074 0 0 0.0163153 0 0 0.0619559 -0.573512 -0.600108 0 0.121836 0 0.595303 -0.367672 0.429134 -0.897611 -0.0942254 0.72952 -0.547301 0.333492 0.804333 4.74997 0.104489 0 0 0 -0.0323343 -0.240778 0 0 0 0 0.19581 -0.326818 -3.47204 4.65634 -1.19599 1.23101 -0.458215 -0.526671 0.481694 -0.478888 0.540655 0 0 0 0 0 0 -100 0 -1.32565 -0.859246 -0.152719 -0.0965437 -0.130079 -0.0106337 -0.221347 0.93398 -0.696177 -0.30295 -0.117006 0.243052 0.270421 0.163481 -0.0728991 -2.89841 -10.4523 0.332973 -0.397151 0.349735 0.232995 0.739317 -0.351692 -0.0501738 0.0369306 -1.02423 -0.201655 0.0178888 0.490348 -0.0693671 -0.543404 -0.167682 2.11902 -0.583723 -0.125232 -0.0707437 -0.757591 8.0069 -0.658119 0.0606451 0.396455 -2.36012 -0.406632 1.52325 0.433412 0.00506479 0.0956603 -0.890739 0.696175 0.0554573 0.880209 5.91658 0.410873 -0.453106 0.147036 0.12811 -0.747641 -0.199825 0.188557 -0.493022 -0.199506 -0.0711992 -4.98556 1.77623 0.05292 0.304913 -3.45247 -0.788959 0.6138 2.81614 -0.264233 -0.474174 0.460934 0.140642 -0.0268376 -0.44822 -41.2527 -4.0919 -6.6075 -9.33162 7.24947 -13.7835 0.778662 0.971354 -1.84601 -1.2882 -1.85886 1.81353 -1.2807 0.803055 -0.518557 0 0 0 0 0 -0.152719 -0.0965437 -0.025177 0 0 0 0 -0.0141103 0 0.0397968 0 0 -0.00748197 -0.0946799 0.282724 0 0.0277205 0.14929 0.385458 0 0 0.253116 -0.00686967 0 0.683796 -2.09674 0 0 0.016324 -0.342201 0 1.36625 0 0.147329 0 0 0.0162124 0 0 2.91702 -0.194433 -0.103757 0 -0.348028 0.128116 0 0 -0.730094 0 -0.0412623 -0.610883 0.124634 0 0 0.0141964 0.0497284 0 0.0213609 -0.0848744 -0.0150252 1.50675 0.444451 -0.0615536 0 0.0254719 -0.334943 -0.110249 0.238112 -0.94794 0 0 0 -12.0605 0.708825 -2.05815 -0.282708 0.539247 -1.1603 0.00968793 -0.0184569 0.0399312 -0.147626 0 0 0 0 0 0 -0.130079 0 -0.0106337 0 0 0 0 0.0805991 -0.571479 0 0 0.171892 0 0.0216945 0 -0.0163343 0 0 0.115594 0 0.30003 0.0456279 0.0234575 0.0118756 0 0 -0.105872 0 -4.36392 0 4.91814 -0.262113 0 0.463052 1.14996 0.00430727 0 0.00844338 0 0 -0.0812696 0 -0.786896 0.414321 0 0 0.0448163 0 0 0.170802 -2.61635 0.199661 0 -0.458206 0 0.814147 -0.202027 -0.0102733 -0.133463 0.0291146 0.249718 -1.15728 0.0540949 0.359498 4.56706 0.0951017 0 0 0 -0.244245 -0.0492869 0 0 0 0 0.200589 -36.3338 -3.41974 -3.21413 -1.84981 1.58843 -3.92341 -0.0995319 0.084004 -0.258751 -0.292683 0 0 0 0 0 0 -101 0 0 0 -0.352155 0.115963 0 0 0 0 -4.65427 0.745299 0.388132 0 0.660747 0 0.15976 0 0 0.325674 -0.169584 0 0.123848 0 -0.780055 0.299235 0 0 -0.556581 0 0 0 -1.36313 0.0127236 0 -1.2437 0 0.0760689 -2.70194 0 0.585473 0 1.01725 -7.72675 -0.076781 0 0.75173 0 0 -1.1295 0.785454 0 1.28939 0 0.00497619 0.171672 -0.265436 0 -1.12469 -0.470906 -0.871333 -1.99534 0 0 0 0 1.33358 0 0.684136 -2.99727 1.43551 0.148628 0.508186 0.322142 3.54922 0 0 1.39125 0 -2.83613 0 -0.689282 -1.09402 0 -2.25072 0.435271 -0.8623 0 -3.01084 -1.37776 1.36737 -1.56709 0 0 -0.149782 -0.0142225 -0.0361297 -0.0334569 -0.352155 0.115963 0.00174826 0.0442378 0.180649 0.000252044 0.00808486 0.00465454 -0.000413517 -0.0166904 -0.0120415 0.00343458 0.00287214 -0.0792841 0.0449274 -0.172369 0.0238921 -1.65851 -0.130917 -0.00078167 0.170695 -0.911016 -0.00326048 0.00474827 -0.277452 -8.02615 0.0627293 0.00311858 -0.037651 -3.553 0.0253357 -0.877425 0.0160018 -0.441655 0.0192731 0.02279 -0.0410867 0.0429172 0.000346954 -2.25727 0.0803365 -0.0606913 0.00207061 0.0499676 0.0980251 -0.00721828 0.0100045 -0.868988 0.00616054 -0.0154179 2.94148 0.126619 0.034587 -0.0505653 -0.0137361 -0.0176939 0.0635781 -0.0215264 -0.508452 0.0905652 8.97952 0.129244 -0.0690747 -0.023995 0.147614 0.0937135 -0.0391248 0.380085 0.899167 0.03176 0.0660082 -0.00790208 21.1711 0.873884 1.77777 -0.0957523 0.122363 -0.106168 -0.0202704 0.00467411 -0.0178553 -0.0214389 -0.00377684 -0.00107944 -0.00644386 -0.00599507 -0.0104492 0 0 -0.0361297 0 -0.0334569 0 0 -2.21163 0 -2.70499 -0.0422204 0.00478253 -1.05475 0.00224583 -0.201066 -0.330602 -0.0435013 -0.0308779 -0.666831 0 0 0 0 -0.517596 0 -0.0688153 0 -0.341929 0 0 -0.0229561 0 0 -0.0475316 0 0 -0.0981043 -0.0116574 0 -0.0235057 0 -0.47723 0 0 0 -0.00246034 -0.0621583 0 0 -0.250688 0 0 0 -0.152447 0 0.843402 0 -0.157543 -0.0363776 -0.0555535 0 0 0.487581 0.0417144 -0.54999 0 0.025486 0 0.0318663 0 -0.410054 0.196527 0.173162 -0.114009 -0.195481 -0.0640574 0.386329 0 3.55649 0 3.78312 -0.302019 0 1.87174 -0.645298 0.466418 0 1.15287 -0.401549 0.411151 -0.0519434 0 0 -102 0 0 0 -0.400499 -0.730465 0 0 0 0 -5.45879 2.82077 -0.166031 0 0.303232 0 -0.227648 0 0 0.391477 -0.234826 0 0.0858834 0 -0.789026 0.185672 0 0 -0.529899 0 0 0 -1.8897 -0.76387 0 -1.22325 0 -0.0711983 -2.36413 0 0.255615 0 0.80753 -5.96591 0.0232166 0 3.12241 0 0 -1.66827 0.468371 0 1.13969 0 -0.11083 -0.962087 0.853479 0 -0.583308 -0.163352 -0.719662 -1.8825 0 0 0 0 1.66213 0 0.01881 -4.18982 3.48596 1.22944 0.250348 0.221718 2.53438 0 0 -0.424587 0 -5.21866 0 -4.96534 -0.326952 0 -5.93277 2.08377 -2.98562 0 -8.58359 2.07152 -2.40148 -0.100064 0 0 -0.499394 -0.0474198 0.0210796 -0.0319104 -0.400499 -0.730465 -0.0214572 -0.0999117 0.585441 0.000900033 -0.017323 -0.00817415 0.0410452 0.0338141 -0.0357104 0.0126514 0.0503782 0.119422 -0.0888643 -0.485799 -0.00981918 -0.469702 -0.0703179 -0.0023855 -0.522577 -0.0262737 0.00944462 -0.00257519 -0.0936825 -3.28673 -0.0951859 0.0155655 0.00639762 -1.17957 0.0735419 0.0197217 0.0524595 0.292031 -0.0172773 0.173604 0.0510419 0.167134 0.00340259 0.318004 -0.179716 0.568412 0.00632506 -0.348845 -0.825267 -0.0460019 0.0464462 0.447338 -0.0260306 -0.0622878 -2.26673 0.027331 0.0939888 -0.132629 -0.0934123 0.0207751 0.186873 0.162266 0.365337 -0.120171 4.53686 -0.454762 0.0124796 0.0167163 0.0517307 -0.0561747 0.473431 0.389409 -0.455903 0.0745512 -0.121568 -0.0243802 -2.98258 -3.45672 0.165798 -0.699741 -0.514526 0.419892 -0.0948602 -0.068744 0.00202018 0.0549336 -0.0128051 -0.0098093 -0.0107713 -0.0143103 0.0158556 0 0 0.0210796 0 -0.0319104 0 0 -0.878565 0 0.259265 0.145587 0.0279429 1.38979 0.0234266 0.232503 -0.0924476 0.0137634 0.0476387 0.850987 0 0 0 0 0.365007 0 0.137557 0 0.016572 0 0 -0.0673067 0 0 -0.010637 0 0 0.0696818 0.0013417 0 0.00700756 0 0.157676 0 0 0 0.00682807 -0.00889844 0 0 -0.0507626 0 0 0 -0.327818 0 0.388046 0 -0.281681 0.303192 -0.190817 0 0 0.0320153 0.0971916 -0.88134 0 -0.278694 0 -0.135371 0 -0.276186 -0.17608 0.129543 -0.259258 0.0238062 0.0424238 -0.255611 0 -5.26066 0 -3.06476 0.244137 0 -1.5911 0.547417 -0.463141 0 -1.42274 0.5913 -0.335059 0.0360748 0 0 -103 0 0 0 0.027516 -0.116923 0 0 0 0 1.20082 -0.512625 -0.131808 0 0.0450792 0 0.0128034 0 0 -0.125319 0.2207 0 -0.0134435 0 0.250294 -0.155653 0 0 0.0249599 0 0 0 0.685703 0.0728464 0 -0.000971974 0 -0.0297493 0.868714 0 -0.280474 0 0.0711985 2.27376 -0.0969495 0 0.202058 0 0 1.14501 0.10371 0 -0.605361 0 1.02858 0.612514 -0.469525 0 0.635411 -0.11592 0.444666 0.3572 0 0 0 0 -0.185103 0 -0.258552 0.768922 -2.54965 0.426588 -0.247579 -0.22645 -1.32939 0 0 -2.00821 0 2.72112 0 0.172762 0.448562 0 1.25493 -0.749524 1.11341 0 0.471308 -0.200565 0.315473 0.114217 0 0 -0.0628595 -0.00596881 -0.0236714 0.0256094 0.027516 -0.116923 0.0060869 -0.0900349 0.140321 0.000108953 -0.0140453 0.00200939 0.017419 0.095355 -0.00481727 0.00150529 0.0100691 0.0233181 0.200913 -0.0676061 0.0328738 -0.214796 0.502515 -0.000316298 -0.565466 0.00441008 0.00162746 -0.00775259 0.163555 0.407234 -0.178699 0.00511113 -0.135461 -0.174572 0.0106295 0.459326 0.0101304 0.0359027 -0.0380705 0.0813919 -0.0445334 0.0192911 0.00107691 1.49855 0.0347731 0.141968 0.000868809 0.122094 -0.194363 -0.0151176 0.0146963 1.47663 -0.0337526 0.0165735 1.77365 -0.0519787 0.0133798 -0.0184598 -0.0168217 -0.00790582 0.0354884 0.141036 0.00830338 -0.126059 7.56799 0.224639 0.0314189 0.0647129 0.031835 -0.263863 1.5029 0.0609484 -0.669145 -0.00227198 -0.151504 -0.00321162 -14.055 -1.36441 -3.1292 -0.151774 -0.425399 0.713204 -0.0145991 -0.0399712 0.0671695 0.050282 -0.00159635 -0.00418481 0.00636873 9.80739e-05 0.0297668 0 0 -0.0236714 0 0.0256094 0 0 0.294537 0 0.791771 -0.0309638 0.0736124 -0.0751752 -0.00523524 -0.0444577 0.0736096 -0.00577371 0.0946242 -0.182695 0 0 0 0 -0.0634938 0 0.542094 0 0.0848939 0 0 0.143886 0 0 0.0134087 0 0 -0.0182389 0.0043674 0 0.0175839 0 0.153853 0 0 0 0.0115608 0.0318762 0 0 0.0232988 0 0 0 0.101453 0 -0.223771 0 0.77978 -0.276667 0.869331 0 0 0.366159 -0.140299 0.403418 0 -0.082848 0 0.176442 0 0.168796 0.21509 -0.0545224 0.14786 0.0394036 -0.130019 -0.235774 0 1.32996 0 0.71162 -0.861536 0 0.379631 -0.303254 0.000533111 0 -0.0261553 -0.0499469 -0.00432608 -0.012814 0 0 -104 0 -0.167967 -0.0601262 0.34633 0.158126 -0.24275 -0.119082 0.523029 0.706444 0.693517 -1.77477 -0.0113248 -0.233525 -0.560211 -0.131214 0.176843 -0.684944 -4.9249 -0.600181 0.74917 -0.810152 -0.297742 -0.128528 0.698353 -0.635031 0.163344 -0.0795852 0.559091 0.00482274 0.233532 0.019918 0.832224 0.347174 -0.303186 0.973937 0.114057 0.0658917 2.27067 -1.74999 -0.29603 -0.237199 -0.750782 4.25625 0.141884 -1.7137 -0.597409 -0.0681217 0.0377158 1.50922 0.0367886 0.446263 -0.608946 -0.0566174 -0.751981 0.87266 -0.418082 -0.706133 1.01288 0.582268 0.707579 0.547831 -0.0344389 -0.280499 0.518103 0.121053 -0.302817 -0.444466 1.05564 1.68506 -0.479221 -1.05164 -0.00476922 -0.229184 -2.79648 -0.634773 0.174936 0.0822755 -0.639232 2.83638 -0.62388 3.80408 -0.744377 0.660841 2.53853 -1.3649 1.4485 -1.46871 2.28236 0.0577743 -0.182958 0.328858 -0.205726 0 0 0 0 0 0.34633 0.158126 0.00228569 0 0 0 0 -0.00195371 0 0.0178176 0 0 0.00470881 0.0560114 0.00694145 0 0.00323128 0.749137 0.0937746 0 0 0.315246 0.00296366 0 0.0414201 2.63782 0 0 0.0399189 1.40668 0 0.590946 0 0.261765 0 0 0.0368112 0 0 1.67028 -0.0368637 0.0891498 0 0.0435258 -0.214864 0 0 0.652132 0 0.00167563 -0.705056 -0.00713926 0 0 -0.01014 -0.00588268 0 0.0270417 0.144121 -0.00727727 -2.21057 -0.0567267 0.0475174 0 -0.011136 -0.0306885 0.127646 -0.106633 -0.0551135 0 0 0 -16.5227 -1.2252 -1.37515 -0.0800922 -0.06948 -0.143281 -0.00428119 -0.00374481 -0.00736159 -0.00927544 0 0 0 0 0 0 -0.24275 0 -0.119082 0 0 0 0 -0.0223636 0.185344 0 0 -0.576463 0 -0.0618405 0 -0.0106484 0 0 0.043026 0 -0.128308 0.027331 -0.0376881 0.00832235 0 0 -0.097213 0 -1.66137 0 -2.27568 -0.044489 0 0.217586 -0.628587 -0.00251574 0 -0.00567876 0 0 0.0201902 0 -0.286402 -0.332403 0 0 -0.0227472 0 0 -0.0914261 0.442675 0.0987957 0 -0.347348 0 0.326063 0.191405 -0.14515 0.0514836 -0.0284963 0.29742 -0.329866 0.0551254 0.247576 0.400258 -0.0424188 0 0 0 0.00097744 -0.0272054 0 0 0 0 -0.00165839 14.3192 3.07541 0.0388356 0.999907 -0.65323 0.928572 0.309437 -0.227123 0.277248 -0.106921 0 0 0 0 0 0 -105 0 -1.09458 -0.304431 -0.19365 -0.270577 0.0702304 0.0527487 -0.560306 -1.02551 0.788407 2.88118 0.17363 0.124734 0.246765 0.537765 0.240216 -0.600051 -0.802118 0.912345 0.80194 0.211466 0.411059 0.100426 -0.240636 1.03774 -0.3586 -0.297982 0.433877 -0.0417064 -0.506604 0.0509389 0.00741443 0.534206 0.286744 0.819255 -0.157149 0.047659 2.43257 2.66865 0.425372 0.0638645 0.288651 3.84269 0.0872729 1.74156 0.267751 0.0322692 -0.141454 1.71065 -0.475726 0.493138 0.780742 0.56876 -0.394452 0.712872 -0.210973 1.09849 0.833584 0.0676822 -1.20396 0.276164 0.804086 0.726265 -1.21358 1.03827 -1.32767 0.0603748 -3.19403 1.81804 -1.08152 -0.492657 0.250038 0.330912 -3.05058 0.494818 -0.0058865 -0.455613 -5.03582 -3.51025 0.859499 -4.30724 2.20587 -2.47154 -4.82921 2.25187 -1.67626 0.716527 -1.02292 -0.585004 0.849787 -0.617898 0.446283 0 0 0 0 0 -0.19365 -0.270577 -0.00159166 0 0 0 0 0.00254978 0 0.0604802 0 0 0.0123531 0.1023 0.147469 0 0.0303848 0.519433 0.299307 0 0 0.849271 0.00547662 0 0.778936 4.94123 0 0 0.0952479 1.75552 0 1.67883 0 0.269793 0 0 0.0274993 0 0 3.96584 0.0466794 0.22779 0 -0.0372515 -0.33881 0 0 1.37578 0 0.0123666 -0.633059 -0.0199407 0 0 -0.0245063 0.0141331 0 0.0725467 0.218466 -0.0400335 -4.55195 0.0062145 0.155749 0 -0.0555247 -0.064478 0.543047 -0.352412 -0.00341084 0 0 0 -40.8991 -2.97642 -3.5696 -0.199436 -0.156823 -0.484201 -0.00982612 -0.00725635 -0.0316677 0.00744659 0 0 0 0 0 0 0.0702304 0 0.0527487 0 0 0 0 -0.00130048 -0.633421 0 0 0.550483 0 0.0712896 0 -0.00116236 0 0 0.0927374 0 0.228279 -0.0184541 0.105218 0.0116695 0 0 -0.00513051 0 1.97765 0 2.91769 0.178168 0 -0.198193 0.803153 0.0154033 0 0.00292275 0 0 -0.0748293 0 0.620409 0.575671 0 0 0.0805322 0 0 0.0370738 0.137556 -0.0537871 0 -0.22848 0 0.389692 -0.276836 0.15955 0.0229988 -0.00825525 -0.375108 -0.267747 0.135168 -0.0382344 -1.36827 0.022601 0 0 0 -0.171708 -0.119336 0 0 0 0 0.211637 -16.9011 -2.84822 0.271259 -1.06067 0.78062 -1.21945 -0.380792 0.275897 -0.239447 0.0864762 0 0 0 0 0 0 -106 0 0.157581 0.0748182 0.0136391 -0.021818 -0.065533 0.0323821 -0.277848 -0.65946 0.130308 0.416296 0.063135 0.153766 -0.0288742 0.174873 -0.0107521 0.825236 4.17146 0.0222579 -0.0892307 -0.638376 0.000880078 -0.013883 0.0424144 0.113672 -0.0972791 0.219766 0.0805336 -0.0195493 -0.233552 0.0580814 0.0794162 -0.0464524 -0.127439 0.219606 -0.0263726 0.0314156 0.109431 -0.440397 0.209589 -0.102387 -0.0477498 0.243858 0.0916095 0.79304 -0.058442 -0.00293816 -0.0705269 -0.149935 -0.164976 -0.121391 -0.0371788 -8.11265 0.0339591 -0.0734699 -0.0170859 -2.83927 0.122562 -0.368668 -0.0310629 0.0880978 -0.751501 -0.0304541 -0.570561 -0.455334 0.0420139 -0.22019 0.0654368 -0.273022 -0.155151 -0.169434 0.0778061 0.091868 -0.371989 -1.39072 0.0776162 0.751601 3.99282 -0.420157 2.2523 0.452045 -0.551024 1.23144 -0.432365 0.115104 -0.062885 0.610521 0.223273 -0.450027 0.471876 -0.2908 0.205743 0 0 0 0 0 0.0136391 -0.021818 -0.000250189 0 0 0 0 4.92095e-05 0 -0.0313686 0 0 0.00149218 0.0151604 -0.0876374 0 -0.0156012 0.12434 -0.171003 0 0 0.377375 0.000809019 0 -0.0723852 0.912308 0 0 0.064599 0.359725 0 -0.121325 0 0.218614 0 0 0.0366425 0 0 -0.235634 0.000751204 0.0272803 0 -0.00615021 -0.0848092 0 0 -0.522635 0 0.00110964 -1.28174 -0.00597467 0 0 -0.00322391 0.00152144 0 -0.0375984 -0.389029 -0.0204113 -3.53212 -0.086863 0.0169772 0 0.00903687 0.0386577 -1.24245 -0.00834693 -0.119277 0 0 0 2.0998 -0.0366049 0.909823 0.00995242 0.00684469 0.0372327 -0.00127647 -0.00126081 -0.000948725 0.0116027 0 0 0 0 0 0 -0.065533 0 0.0323821 0 0 0 0 -0.0104273 0.37749 0 0 -0.0940739 0 -0.0143755 0 0.0114347 0 0 0.171405 0 -0.011445 0.0200883 -0.00336306 0.0237331 0 0 0.0881677 0 2.48599 0 0.0389009 -0.146865 0 0.151138 -0.0713019 -0.00203713 0 -0.000995748 0 0 0.0481773 0 0.096085 0.753759 0 0 0.109175 0 0 -0.089065 0.0314882 0.114015 0 -0.0445892 0 -0.250181 0.0773392 -0.0920406 -0.0206038 -0.144464 -0.269199 0.286597 0.0325598 -0.332057 -2.71511 0.110978 0 0 0 0.0596287 0.0235302 0 0 0 0 -0.113103 -1.22574 0.476542 -1.24564 0.0058667 0.0118853 0.00293655 0.0228443 -0.0125301 0.0320838 -0.0516481 0 0 0 0 0 0 -107 0 0 0 0 0 0.618044 0.400796 -1.90553 -3.85534 0 0 -0.779752 2.2837 0 3.7507 -0.140328 0 0 0 -0.159278 7.04203 0 0 0 0 -0.870912 0 0 -0.0758199 4.6649 1.25451 0 -0.575663 0 0 -0.611128 -0.107602 0 0 -2.22084 3.48988 0 0 -0.437064 7.59461 0 1.40156 1.25499 -0.37771 0.891945 -0.903494 0.911412 0 0.167954 -0.323301 -0.0523329 -0.548103 0.465027 -0.0660231 0 0 2.88724 -7.36493 0 0.18789 0.235397 -0.715174 0 0 0 0 0.346001 -2.19456 0 -5.00465 0.24271 0 0 0 7.13214 0 3.31865 -5.12332 0 1.20438 -2.69126 6.26219 0 1.25256 -2.95186 6.39827 -13.2648 0 0 0 0.246166 0.0548499 0 0 0 -0.0117159 0 0 -0.00271325 0 0 0.0260493 0 0 0 0 0.0719923 0 0.0171917 0 0.109071 0 -0.040395 0.165584 0 0.00271884 0 0 0.0715008 0 0.0247344 0 0 0 0 0.0640003 0.0134565 0 0.0108242 0 0 0 0 0 0 0 0 0 0 -0.0631832 0 0 0 0 0 0 0 0 0 0 -0.0294383 0 0 0 -0.0318411 -0.0165817 0 -0.0811395 -0.0390743 0 -0.0137964 0 -0.0362656 0 0 0 -0.12489 0 0 -0.081871 0 0 0 -0.00514104 0 0 0 0 -0.0061628 0 0.618044 0.246166 0.400796 0.0548499 -0.189195 -0.0723093 0.391676 -0.486783 0.129996 -0.0502359 -0.0263135 0.221114 -0.00732424 -0.0301813 0.0648542 -0.0392342 -0.0648164 -0.303391 1.40687 -0.973712 2.08243 -0.184495 0.431703 0.103661 -0.174117 0.0199267 -0.278681 -0.0234372 10.08 -0.103109 6.11575 3.81351 0.00945555 -1.02965 3.77079 0.0312062 0.00127547 -0.0959799 -0.00338053 0.315778 0.0028455 0.000218164 6.44568 0.713829 -0.00803811 0.0043196 -0.0312925 -0.141499 -0.0583291 0.113954 0.943157 -0.472259 0.0966199 -1.8612 -0.11173 -0.708084 0.00715865 -0.0776739 -0.499799 -0.241152 1.31599 -0.0263793 0.0454659 1.31494 3.59647 -0.0642897 0.946361 -0.187149 -0.0177591 0.212581 0.0566652 -0.00393305 0.102402 -0.167267 0.0174251 -0.00605017 -35.328 -4.81899 5.50487 -0.464564 1.42917 -1.93241 0.158901 0.21005 -0.360685 0.749992 0.133034 0.0940909 -0.209192 0.399426 -0.374824 0 -108 0 0 0 0 0 0.221426 -0.0154176 0.604975 0.935972 0 0 0.000321165 -0.0586662 0 1.07967 0.0301888 0 0 0 0.078847 6.85289 0 0 0 0 0.173085 0 0 0.143142 0.231454 0.00978403 0 0.190211 0 0 0.125265 -0.00696683 0 0 -0.441583 2.25719 0 0 -0.153807 1.91703 0 0.502067 0.155119 0.482073 0.302784 -1.18036 0.312968 0 -0.0994709 0.034659 -0.0860479 -0.103869 -0.0180668 0.0610587 0 0 -1.54089 -7.48901 0 -0.0741292 0.159236 -0.919936 0 0 0 0 0.00620309 -0.703717 0 -1.90863 0.516975 0 0 0 -1.13176 0 1.25018 -2.56185 0 0.462867 -0.576642 -0.538548 0 0.563523 -1.01162 1.88658 -1.34614 0 0 0 0.0250666 0.00558525 0 0 0 0.0276955 0 0 0.00320008 0 0 0.0177135 0 0 0 0 0.0987738 0 0.011658 0 0.150115 0 0.233008 0.035266 0 0.000882588 0 0 0.00166635 0 0.00451275 0 0 0 0 -0.0601763 0.00386147 0 -0.00612372 0 0 0 0 0 0 0 0 0 0 0.0704746 0 0 0 0 0 0 0 0 0 0 0.124367 0 0 0 -0.011969 -0.00100105 0 0.00744592 0.141462 0 0.0359189 0 0.0468651 0 0 0 -0.171887 0 0 -0.00190804 0 0 0 -0.00647963 0 0 0 0 -0.000143627 0 0.221426 0.0250666 -0.0154176 0.00558525 0.37232 0.0114313 0.0398836 0.908887 -0.184339 -0.00511541 0.00522698 -0.159401 -0.000745812 -0.0227832 0.00660397 0.00542606 -0.00898283 -0.0308937 1.19622 0.375131 0.0737736 0.243815 -0.0507544 0.143728 0.00197735 0.0969699 0.0585775 0.0045701 4.07435 -0.112073 0.368005 0.451919 0.000962839 1.45871 0.295906 -0.00708418 -0.00153559 0.154496 -0.0172119 0.427635 -0.0211167 0.017508 1.89582 2.22146 -0.000597073 -0.00997577 0.272976 0.0392801 -0.116056 -1.1518 1.28364 -0.00648382 0.0209329 -3.52041 -0.0113772 0.351772 -0.0437288 0.358276 0.303307 -0.0929801 1.55117 0.224143 0.100844 1.00021 -9.46824 -0.0143924 0.272647 -0.0707902 0.0864068 0.283397 0.0467043 0.0612069 0.0104274 -0.146051 0.0109681 0.0369576 -2.1258 0.208849 -3.28046 0.00854659 0.666508 -2.48863 0.0560648 0.163507 -0.137666 -0.796747 0.0135465 0.109287 -0.163464 0.236449 -0.525812 0 -109 0 0 0 0 0 0.138221 -0.214971 1.12623 1.2335 0 0 -0.190345 -1.56056 0 -2.77828 -0.0614734 0 0 0 -0.0224752 2.63934 0 0 0 0 0.678567 0 0 0.662939 4.048 -1.17922 0 -0.452154 0 0 0.567997 -0.0372114 0 0 -0.886421 0.593311 0 0 -0.194719 -2.95097 0 -0.362102 1.53823 -0.297229 0.365071 -1.90842 0.272154 0 0.010945 -0.0970224 0.163505 -1.26951 -0.86554 -0.224554 0 0 -0.524472 -3.41499 0 -0.272668 0.367478 -0.131763 0 0 0 0 0.19455 -0.782408 0 1.43035 -0.0182009 0 0 0 -3.56744 0 0.47701 -5.45458 0 0.345899 -1.61289 -2.09003 0 0.688014 -2.09357 3.67252 -10.9454 0 0 0 0.0916471 0.0204205 0 0 0 -0.03462 0 0 -0.00474054 0 0 0.0106805 0 0 0 0 0.0328115 0 0.00705146 0 0.0496738 0 -0.255803 -0.271238 0 0.000244866 0 0 -0.0296814 0 -0.026858 0 0 0 0 -0.0505706 -0.0015814 0 -0.00403086 0 0 0 0 0 0 0 0 0 0 -0.0185065 0 0 0 0 0 0 0 0 0 0 -0.047567 0 0 0 -0.0228429 -0.00499539 0 -0.00322454 0.108675 0 -0.0241134 0 -0.0970946 0 0 0 -0.0568784 0 0 0.0339863 0 0 0 -0.00195787 0 0 0 0 0.0025583 0 0.138221 0.0916471 -0.214971 0.0204205 -0.345432 -0.0217537 0.14582 0.00851306 -1.22387 -0.0187027 -0.0235824 -0.352847 -0.0027268 -0.058385 0.0241451 -0.0822215 -0.0462559 -0.112952 0.826716 0.599387 -1.27741 0.178912 -0.177926 0.0660313 -0.236465 0.0970381 -0.727817 0.0198037 -8.36202 -0.23239 -3.0433 -1.62933 0.00352028 -0.0953443 -1.95864 -0.0250731 -0.00165073 0.0892545 -0.0170933 0.639267 -0.136785 0.0118709 -3.69099 1.22747 -0.00511835 -0.0219456 0.131621 0.10124 -0.0971339 0.469375 -0.723205 0.0828089 0.101119 -1.56326 -0.0415967 0.599324 -0.283615 0.323708 0.131217 -0.0688787 -0.322644 -0.460152 0.0665066 0.151542 -8.53979 -0.35467 0.278369 -0.106933 0.112708 -0.271325 0.119016 0.0560927 0.038124 -0.0315627 -0.0168894 0.239699 17.5798 3.09933 -0.276257 0.993463 0.518976 -2.28461 0.154567 0.277748 -0.592839 -0.00099641 0.0495281 0.179207 -0.279717 0.393912 -1.26206 0 -110 0 1.07195 0.00864504 0.0643405 0.244612 -0.0157802 -0.219406 1.75967 3.27397 0.439353 -1.41093 0.372868 -0.919563 -0.0110692 -1.05371 -0.000363494 0.678608 5.16697 -0.124019 -0.0214165 -5.80583 -0.0173059 0.506791 0.0142903 -0.293272 0.839967 -0.210899 -0.0327662 0.150234 -0.906501 -0.523445 0.0849465 0.191867 0.730585 0.220716 0.563139 0.0565723 0.0740775 -1.1341 0.788081 -2.35163 -0.0657993 1.50121 0.132134 -3.09222 -0.340322 -0.984407 -0.189226 0.348885 -0.340033 1.05295 -0.807053 1.59263 0.0245429 -0.022494 0.084911 1.40999 1.09145 0.668445 0.478232 0.129668 -1.68433 3.53209 0.359451 -1.51079 -0.620149 0.208451 0.619891 0.224243 -0.141479 1.01346 -0.426094 0.700197 -0.239041 0.329916 -0.393167 0.30232 4.58377 2.83867 -3.69909 1.15512 -1.57532 3.3291 0.834785 -1.09937 2.039 -3.55732 0.190162 -0.359222 0.614332 -1.20649 1.92353 0 0 0 0 0 0.0643405 0.244612 0 0 0 0 0 0 0 0.00365864 0 0 0 0 0.00836177 0 0.000960463 0.0398378 0.0375799 0 0 -0.0945266 0 0 0.000995329 0.285278 0 0 -0.0140861 0.115989 0 -0.0200002 0 -0.02759 0 0 -0.00413664 0 0 -0.0634844 0 0 0 0 0 0 0 -0.0425749 0 0 -0.166681 0 0 0 0 0 0 0 -0.0180662 0 -0.45242 0 -0.00788781 0 0 -0.000566379 -0.103218 0 -0.0474324 0 0 0 0.145384 0 -0.0426392 0 0 0.00273593 0 0 0 -0.00161955 0 0 0 0 0 0 -0.0157802 0 -0.219406 0 0 0 0 0.0635911 0.963632 0 0 -0.73449 0 -0.0763657 0 0.0495962 0 0 -0.966744 0 -0.625367 0.0710143 -0.246609 -0.0787205 0 0 0.474425 0 -1.97991 0 -4.65733 -1.42376 0 0.404781 -1.62779 -0.0263717 0 0.0199758 0 0 0.0937949 0 -1.94435 -1.68797 0 0 -0.150285 0 0 -0.0810678 -1.11572 -0.0586159 0 2.27894 0 -0.792254 0.0988673 -0.0776611 0.820113 0.101019 -2.06008 0.296742 -0.169993 0.185416 5.98166 -0.247665 0 0 0 0.364657 0.140241 0 0 0 0 -0.163318 29.1572 6.37103 -3.59303 1.36996 -0.977621 1.45033 0.266403 -0.216905 0.30798 -0.214306 0 0 0 0 0 0 -111 0 -0.478703 0.684775 0.0263918 0.100337 -0.0400696 0.196312 -0.658728 0.268859 0.180219 -1.01014 0.316316 0.820241 -0.0045405 0.784569 -0.0109004 1.86655 4.7475 -0.0604862 -0.0495751 -0.362711 -0.0164985 -1.16244 0.00586176 -0.279525 -0.766115 0.916419 -0.0242334 -0.801144 -1.25603 0.686849 0.0348442 -0.00824141 -1.76117 0.0210009 -0.776842 0.0434074 -0.020167 -2.78905 0.337818 0.37389 -0.0269902 0.462594 0.0559999 -0.268528 -0.139597 0.622009 -1.15989 -0.186754 -0.144251 0.241846 -0.732229 -1.89392 0.0808817 -0.0741293 0.0507374 -0.02019 0.380958 0.567341 0.418135 0.0531885 0.892169 -0.813522 1.43758 0.202093 0.0492526 1.6136 0.268078 -0.0631254 -0.0580334 0.675544 -0.327322 0.163178 -0.0313269 -0.173491 0.699057 -0.0479694 9.77067 3.29996 -0.807838 1.12314 -1.12067 3.02293 0.789042 -0.706813 1.39855 -0.521946 0.0780025 -0.151416 0.499024 -0.871587 2.66521 0 0 0 0 0 0.0263918 0.100337 0 0 0 0 0 0 0 0.00546234 0 0 0 0 0.00305617 0 0.000883857 0.00947099 0.0123924 0 0 0.0507429 0 0 0.0323003 0.216292 0 0 0.00699329 0.0259369 0 0.144981 0 -0.000247709 0 0 -0.00011754 0 0 0.365883 0 0 0 0 0 0 0 -0.0722086 0 0 0.0262036 0 0 0 0 0 0 0 -0.000439114 0 0.267777 0 -0.00340187 0 0 -0.000698068 0.0490752 0 0.00157904 0 0 0 -0.837899 0 -0.0164441 0 0 -0.0157681 0 0 0 -0.000534065 0 0 0 0 0 0 -0.0400696 0 0.196312 0 0 0 0 0.278255 0.74634 0 0 -0.402383 0 -0.0399399 0 0.0245683 0 0 -0.438815 0 -0.481579 0.103559 -0.282134 -0.0387686 0 0 0.220292 0 0.00965071 0 1.05621 -0.198056 0 0.679641 -0.369149 -0.0299663 0 0.0336422 0 0 0.0788503 0 -0.333535 -1.17114 0 0 -0.101053 0 0 -0.0483965 1.93152 -0.0912808 0 2.01158 0 0.0857312 0.0735212 -0.000400961 0.515816 0.102196 -1.18895 0.566004 -0.0972702 -0.220896 5.99219 -0.164181 0 0 0 0.216665 0.105015 0 0 0 0 -0.161461 -7.69041 2.28109 -4.85952 0.285353 -0.0918154 -0.939478 0.130714 -0.0868928 0.0790131 -0.286011 0 0 0 0 0 0 -112 0 0.188827 -0.487886 0.0242602 0.0922333 -0.275055 -0.146701 0.20312 1.11551 0.165663 -0.90274 0.0902781 -0.330226 -0.00417377 -0.699765 -0.00693399 -1.68951 -6.42167 -0.160991 -0.0585576 -3.26939 -0.0189275 0.633035 0.00538831 -0.149879 0.254318 -0.658306 -0.025477 -0.113311 -0.986457 0.00513448 0.0320299 0.01738 0.848018 -0.111873 0.204042 0.0151093 -0.0035189 1.44739 0.0937806 -1.45135 -0.0248103 -0.244086 0.0246737 -3.25054 -0.128322 -0.466467 -0.51948 -0.276691 -0.0615215 0.124919 -0.636296 -6.33948 0.0968946 -0.0888054 -0.142819 0.299772 -0.989488 -0.777706 0.254401 0.0488925 0.916525 6.80283 0.765778 0.0375876 0.19411 1.08998 0.438448 -0.086094 -0.0533461 0.0929098 -0.502954 -0.134267 0.00539734 3.34169 0.693432 -1.82162 -11.9192 -0.800191 -4.23525 -0.261232 -0.0941306 -2.04837 0.478259 -0.663328 1.35982 -1.87461 0.0717024 -0.0786289 0.411746 -0.502532 2.09319 0 0 0 0 0 0.0242602 0.0922333 0 0 0 0 0 0 0 -0.00297685 0 0 0 0 -0.00113643 0 -0.000176547 -0.0084966 -0.0205171 0 0 -0.201015 0 0 0.00226891 -0.816506 0 0 -0.0299659 -0.108492 0 0.00154429 0 -0.0308527 0 0 -0.0046085 0 0 -0.000827154 0 0 0 0 0 0 0 -0.025488 0 0 -0.0974638 0 0 0 0 0 0 0 -0.0490889 0 0.225474 0 -0.000224176 0 0 -0.00555861 -0.111814 0 -0.00372133 0 0 0 0.00189424 0 0.023498 0 0 3.56471e-05 0 0 0 0.000884208 0 0 0 0 0 0 -0.275055 0 -0.146701 0 0 0 0 0.204229 0.298032 0 0 -0.461373 0 -0.0507006 0 0.0181012 0 0 -1.49171 0 0.745333 0.101577 -0.110007 -0.200582 0 0 0.168908 0 -4.52336 0 1.21816 0.0875626 0 0.887663 0.892409 -0.0116213 0 0.014262 0 0 0.0271516 0 -1.03348 -2.79537 0 0 -0.364765 0 0 1.57635 2.38295 0.206098 0 3.98011 0 0.843511 -0.0147763 0.00350299 0.700798 0.0286741 -1.1534 0.146545 -0.00372828 -1.07869 9.19888 -0.0717213 0 0 0 -0.333569 0.0939042 0 0 0 0 -0.0230148 -7.59135 1.65432 -4.3935 0.483489 -0.375839 -0.728938 0.246448 -0.190457 0.182927 -0.568655 0 0 0 0 0 0 -113 0 0.00411173 0.869319 -0.050394 -0.226705 0.230464 0.0457535 -0.00543854 -1.20166 0.0269255 0.847227 -0.0177621 1.67887 0.0127497 0.87884 -0.00182179 4.85972 9.11015 0.0457021 -0.00702844 0.768276 -0.0649012 -1.9679 -0.00224434 -0.0198136 -0.0545178 2.54514 -0.0806364 0.00814997 0.0546973 0.283251 -0.0078493 -0.0167792 -2.44991 -0.185898 0.091077 -0.00696089 0.0604958 -4.55901 -0.112406 0.142072 0.081328 -0.904914 -0.0533097 4.54295 0.429002 0.0246969 0.0329595 -0.00688342 0.140064 -1.19133 0.695185 -1.86377 0.172195 0.249674 -0.136604 -3.91578 0.291061 0.0277188 0.00897543 -0.194148 -1.42432 -0.439378 1.78117 -1.46955 0.289758 -1.27481 -0.823891 -0.346901 -0.128688 1.28477 0.161147 0.11532 0.227893 -1.37625 -0.135554 3.15979 20.794 0.701343 3.82231 0.732747 -0.165358 4.2152 -1.72173 1.06623 -1.26658 1.22929 -0.404172 0.0649453 -0.152356 0.0346982 -0.0322802 0 0 0 0 0 -0.050394 -0.226705 0.00143117 0 0 0 0 0.000545493 0 -0.0693268 0 0 0.00677729 0.0238806 -0.106414 0 -0.0159298 0.0569404 -0.471942 0 0 -0.102218 0.00141916 0 0.0390953 0.189996 0 0 -0.0288288 0.161867 0 0.132987 0 -0.0305657 0 0 -0.00684635 0 0 0.386792 0.00836179 0.1149 0 0.0107242 -0.0930204 0 0 0.109364 0 0.00353637 -0.0451294 0.0234307 0 0 -0.0115864 -0.00229828 0 0.0405964 -0.108227 0.0205006 1.21474 -0.118147 -0.103059 0 0.0119447 -0.182189 0.281718 -0.01649 0.283735 0 0 0 -2.75332 -0.377047 1.43536 0.0332777 -0.043662 -0.220465 -0.00748025 0.00996243 -0.0522745 0.333062 0 0 0 0 0 0 0.230464 0 0.0457535 0 0 0 0 0.0445732 -0.390707 0 0 -0.0313015 0 -0.0141357 0 -0.000958065 0 0 -0.000527866 0 -0.017409 0.0341124 -0.00892877 -0.000408389 0 0 -0.038428 0 1.25401 0 -0.343138 0.114948 0 0.188141 0.0220071 -0.00181368 0 0.0063466 0 0 -0.0192353 0 0.536796 0.0744718 0 0 0.00440672 0 0 -0.146605 -0.0927234 -0.0598297 0 -0.63513 0 -0.427841 -0.092367 0.0633928 -0.275701 0.0519632 0.417273 0.0161237 -0.000980966 0.57211 0.885484 0.00698762 0 0 0 -0.0487086 -0.028631 0 0 0 0 0.0983654 0.972798 -0.411973 0.148335 0.0344715 0.0521086 0.25728 -0.038295 0.0501437 -0.051477 -0.0982952 0 0 0 0 0 0 -114 0 1.41429 0.160819 0.0349255 0.168758 0.0478386 0.073613 -0.676353 -1.32284 0.191623 -1.4372 -0.0984496 2.34262 -0.000934046 0.282258 -0.0113617 2.42366 10.1279 -0.447134 -0.0419627 0.0337414 -0.036082 0.537004 0.00482111 -0.178277 0.0774431 0.204028 -0.12242 -0.0355991 -0.216097 0.171263 0.0310752 -0.0843503 -0.65925 -1.72221 -0.058035 -0.0149642 0.06934 -8.18411 -0.382602 0.0430747 -0.00287301 -2.50802 -0.0639742 3.92626 0.00875406 0.0195678 -0.107315 -0.334486 0.0567464 -2.04259 0.191729 -17.2025 0.0138853 -0.058444 0.0733376 -10.1871 -0.864647 -0.0409449 0.130489 -0.0674916 0.736979 0.162193 3.80536 -2.77821 0.78495 -0.220182 2.98872 0.0254725 -0.0977628 0.0164686 0.446406 -0.0868363 0.922347 -0.898323 0.151541 4.56132 34.1565 8.19845 2.97994 6.11285 -3.89711 11.1683 0.872903 -0.303188 0.53029 3.25769 -0.00824739 0.180473 0.0992119 0.106856 0.127532 0 0 0 0 0 0.0349255 0.168758 -0.00747045 0 0 0 0 -0.00102396 0 -0.0444872 0 0 -0.001324 0.00518695 -0.0465412 0 -0.00958888 0.0654261 -0.203791 0 0 0.176699 0.000353103 0 -0.0537305 1.87329 0 0 0.0246902 0.433419 0 -0.229527 0 -0.0130663 0 0 -0.00177446 0 0 -1.32411 -0.0172005 -0.0236974 0 -0.118467 -0.0695843 0 0 -0.180318 0 -0.00534083 -0.423427 0.00782818 0 0 0.000790147 0.0201426 0 0.012476 0.10085 -0.00117115 0.349418 0.0192908 -0.0428361 0 -0.0580267 -0.186653 0.26845 -0.0205023 -0.345125 0 0 0 7.10316 0.269952 1.11908 0.0564997 -0.0660079 0.684106 0.000656251 0.000301907 0.00180957 0.241095 0 0 0 0 0 0 0.0478386 0 0.073613 0 0 0 0 0.00126145 0.0289314 0 0 -0.208888 0 -0.0391861 0 -0.00770982 0 0 0.00264986 0 -0.070181 -0.0255262 -0.042515 0.00051654 0 0 -0.062216 0 1.78672 0 -1.73532 -0.105538 0 -0.0633912 -0.379699 -0.00878254 0 -0.00490752 0 0 0.0039534 0 0.0606237 0.201765 0 0 0.0261036 0 0 0.11147 1.04506 -0.0718336 0 -0.0878319 0 -0.904331 0.0504172 -0.0998125 -0.104613 -0.0526876 0.0820469 0.752184 -0.00241059 0.111339 0.183991 0.0623139 0 0 0 -0.0647355 0.0181028 0 0 0 0 0.0348475 21.2689 3.52311 -0.823752 1.70757 -0.933822 1.15896 0.219064 -0.151774 0.135262 0.257531 0 0 0 0 0 0 -115 0 1.25129 0.0887716 0.068673 0.302033 -0.0277818 0.0071051 -0.131653 -0.0632303 0.979406 -1.48273 -0.0513274 -0.192932 -0.00156606 -0.415438 -0.0072899 -0.647091 0.635614 -0.167427 -0.073742 -0.222753 -0.031358 0.280337 0.0191986 -0.404985 0.00426043 -0.500534 -0.0505133 -0.00430924 -0.095076 -0.122864 0.139524 -0.0398711 -0.619317 0.0817152 -0.0269895 -0.00638808 -0.238654 -5.82102 -0.230828 -0.0558889 0.000484727 0.658416 -0.0265089 -0.989399 0.125958 -0.0130589 -0.0182704 -0.463017 -0.113404 -0.612056 0.214133 -5.23385 0.351391 0.0945202 0.00712317 -4.22567 -0.36022 -0.370501 0.0625742 0.00137372 -0.654681 0.481722 1.01938 -1.9479 -0.750223 -0.411657 1.39243 0.704722 -0.253592 0.53356 0.445645 0.0670187 1.09933 -0.101628 -0.00940965 3.31566 19.8351 6.39818 -0.364945 3.75517 -2.04905 7.14715 1.46982 -1.0647 2.18623 -0.728204 -0.118668 0.112256 0.00761887 0.0654543 0.0561101 0 0 0 0 0 0.068673 0.302033 0.00372252 0 0 0 0 0.000302298 0 -0.00434551 0 0 0.00161575 0.00304852 0.0232376 0 0.000420489 0.0216353 0.074483 0 0 -0.0431089 0.000339035 0 -0.00379369 1.07964 0 0 0.00179634 0.181339 0 -0.00587801 0 -0.0307173 0 0 -0.00296989 0 0 -0.3279 0.00371557 0.0126586 0 0.0550829 0.0577054 0 0 -0.256228 0 0.00900749 0.251531 -0.0206532 0 0 -0.00555646 -0.00441523 0 0.0176176 -0.120213 0.00615412 -0.741397 -0.000121279 -0.0184404 0 0.0266606 0.0280085 -0.0195739 7.01975e-05 -0.00752853 0 0 0 0.359967 0.0498931 -0.436417 0.00936179 0.00455084 -0.115965 -0.00302952 0.00332741 0.0142443 -0.092114 0 0 0 0 0 0 -0.0277818 0 0.0071051 0 0 0 0 0.0473918 -0.252171 0 0 -0.69178 0 -0.0948462 0 -0.00825731 0 0 0.100181 0 -0.104866 0.0289399 -0.122751 0.00919112 0 0 -0.0621815 0 0.436747 0 -2.43468 -0.0439197 0 0.307665 -0.491875 -0.0172686 0 0.00410344 0 0 -0.0426207 0 -0.14431 0.695868 0 0 0.0603299 0 0 0.245773 0.811718 0.177673 0 -0.406639 0 -0.595199 -0.0193559 -0.162494 -0.0261453 -0.0566209 -0.340935 0.455293 -0.0225299 0.436165 0.151696 -0.041527 0 0 0 -0.0739178 0.00989828 0 0 0 0 0.0111487 22.2922 6.25883 -2.68309 1.77535 -1.05806 1.3321 0.455441 -0.328147 0.490597 -0.369178 0 0 0 0 0 0 -116 0 1.17903 -0.0496002 0.0769302 0.258664 -0.176144 -0.262419 1.47415 2.63839 0.504937 -1.60317 0.36619 -2.27121 -0.0158369 -2.14154 0.0273751 -0.833924 -0.9771 -0.144463 -0.0422307 -4.90142 -0.0386739 0.302381 0.0204453 -0.448583 0.394983 -0.375858 0.00980658 0.132554 -1.51308 -0.78239 0.109459 0.374395 -0.0592199 0.378145 0.463945 0.0673858 0.240905 -2.94338 0.810988 -2.07822 -0.0847869 2.0477 0.158551 -6.93643 -0.391122 -0.808687 -0.485832 0.324882 -0.395427 0.983287 -1.01464 4.45067 0.0492875 -0.0451728 0.0721747 4.02893 0.392181 -0.124126 0.648736 0.161965 -3.05197 4.13601 0.0511149 -0.582459 -0.603506 0.0358615 0.329316 0.379786 -0.176718 1.16609 -0.627219 0.716044 -0.466112 4.18702 -0.155828 0.0774543 14.0018 3.88482 -1.16078 1.12656 -1.16304 4.13394 1.19776 -1.1488 2.12258 -3.66561 0.258152 -0.464661 0.84865 -1.48649 2.70267 0 0 0 0 0 0.0769302 0.258664 0 0 0 0 0 0 0 0.00995951 0 0 0 0 0.0101026 0 0.00261521 -0.000557476 0.0409803 0 0 0.108434 0 0 0.0852225 0.430441 0 0 0.012906 0.0510036 0 0.214329 0 0.0202886 0 0 0.0022193 0 0 0.454334 0 0 0 0 0 0 0 -0.10593 0 0 0.0529454 0 0 0 0 0 0 0 0.0074399 0 0.152979 0 -0.0080479 0 0 -0.000417162 0.0861391 0 -0.0129463 0 0 0 -1.04046 0 -0.0497232 0 0 -0.01958 0 0 0 -0.00176609 0 0 0 0 0 0 -0.176144 0 -0.262419 0 0 0 0 0.156513 1.3911 0 0 -0.585907 0 -0.0550716 0 0.0648131 0 0 -1.71651 0 -0.844451 0.0613882 -0.187751 -0.186183 0 0 0.590511 0 -5.49696 0 -5.24801 -1.70967 0 0.536952 -2.00617 -0.0190637 0 0.0142029 0 0 0.153356 0 -3.16723 -3.22527 0 0 -0.364256 0 0 0.703201 -0.0559583 0.0751971 0 3.14632 0 -0.518338 0.175306 -0.0741177 0.405854 0.110318 -0.980214 0.44692 -0.170439 -0.806284 0.318589 -0.236708 0 0 0 0.244932 0.108452 0 0 0 0 -0.304379 33.8613 5.00337 -1.91908 1.1924 -0.912435 2.05421 0.193682 -0.161217 0.224537 -0.159573 0 0 0 0 0 0 -117 0 0.957836 -0.684777 -0.0128582 -0.0432335 0.297123 -0.204379 0.796119 0.387785 -0.084396 0.196492 -0.384296 -0.832025 0.002647 0.183389 -0.0327753 -1.6175 -2.09599 -0.0442865 -0.0347422 0.0256468 -0.013581 1.36714 -0.00341727 -0.0017305 0.92409 -0.871351 0.0121511 0.864076 1.11374 -0.59566 -0.0182952 -0.26971 2.30671 -0.116167 0.877043 -0.0552496 0.0446952 4.88459 -0.344649 -0.493479 0.0141714 -0.509341 -0.0549679 2.07031 0.0653728 -0.695104 1.12522 -0.361336 0.140616 -0.78039 0.0902719 -1.51374 0.0633993 -0.0581064 0.105115 -0.212552 -0.204729 -0.182714 0.0126333 -0.027071 -1.1089 0.787921 -2.5843 -1.79717 0.016419 -0.843373 -0.153805 -0.00553366 0.0295369 0.105551 0.18262 -0.307538 0.0316897 0.647028 -0.43426 0.237197 -11.024 -1.30914 -1.25551 -0.893074 1.47742 -4.23833 0.0433785 0.0928559 -0.425279 0.259594 -0.0431479 0.14667 -0.425936 0.868843 -1.98937 0 0 0 0 0 -0.0128582 -0.0432335 0 0 0 0 0 0 0 0.00172553 0 0 0 0 -0.00228057 0 2.44406e-05 -0.0358557 -0.011198 0 0 0.162195 0 0 0.0161246 -0.13857 0 0 0.0212035 -0.145086 0 0.0988014 0 0.0211581 0 0 0.00280945 0 0 0.263292 0 0 0 0 0 0 0 -0.0123987 0 0 0.227612 0 0 0 0 0 0 0 0.0279397 0 0.539545 0 0.00283769 0 0 -0.000597113 0.183167 0 0.0270521 0 0 0 -0.602959 0 0.0111999 0 0 -0.0113469 0 0 0 0.000482588 0 0 0 0 0 0 0.297123 0 -0.204379 0 0 0 0 -0.0900201 -0.424806 0 0 0.334261 0 0.0377185 0 -0.0297841 0 0 0.795383 0 0.91402 -0.0162798 0.279762 0.10411 0 0 -0.273467 0 5.11066 0 2.98389 0.619756 0 -0.253462 1.87776 0.0313863 0 -0.010375 0 0 -0.0458241 0 1.70594 2.11139 0 0 0.243949 0 0 -0.243238 -0.134082 0.0349892 0 -1.0492 0 0.371909 -0.137401 0.0447177 -0.426184 -0.0324803 0.252267 -0.350984 0.012783 0.209971 0.279733 0.0686611 0 0 0 -0.124442 -0.043706 0 0 0 0 0.0806475 -10.4316 -1.75725 1.84778 -0.139768 0.00980356 0.336802 0.0113763 -0.0173589 -0.00784397 0.166694 0 0 0 0 0 0 -118 0 0.626828 -0.143344 0.0318597 0.107123 -0.0920623 -0.00833135 0.81005 1.51196 0.209114 -0.640691 0.257428 0.611157 -0.00655866 1.41749 0.0208808 -0.363415 3.18585 -0.0980823 0.0267172 -1.39327 -0.0275453 0.525753 0.00846719 -0.211526 0.364748 -0.429517 -0.0196335 0.0471019 -0.642635 0.274459 0.0453313 0.225152 0.843818 -0.0621373 0.211946 0.0423076 0.0602151 1.27438 0.53042 -0.506247 -0.0351135 0.450884 0.0921499 3.32819 -0.161979 -0.210803 -0.090656 0.459253 -0.233103 0.0197869 -0.336148 -1.52092 -0.0553486 0.0507279 0.188397 2.05448 0.666163 0.971896 0.282169 0.0670757 0.0715563 -2.50741 -0.719059 -0.754403 0.0723419 -0.00642643 0.299798 0.0516622 -0.0731856 0.432526 0.0634786 0.611218 -0.139154 -1.08765 -0.697584 -0.683097 -5.86381 -0.367554 -1.98858 -0.299864 0.404994 -2.85368 0.567245 -0.567595 0.586732 -1.68942 0.106911 -0.256641 0.356742 -0.79744 1.14788 0 0 0 0 0 0.0318597 0.107123 0 0 0 0 0 0 0 -0.000736874 0 0 0 0 -0.00115422 0 0.000421198 -0.0277138 -0.0222377 0 0 -0.0971275 0 0 0.0382566 -0.602534 0 0 -0.0143047 -0.132962 0 0.10188 0 -0.0109347 0 0 -0.00175605 0 0 0.221029 0 0 0 0 0 0 0 -0.0565973 0 0 -0.00538685 0 0 0 0 0 0 0 -0.026832 0 0.641919 0 -0.000327654 0 0 -0.00618552 0.02174 0 -0.00823188 0 0 0 -0.506172 0 0.0241012 0 0 -0.00952546 0 0 0 0.000958357 0 0 0 0 0 0 -0.0920623 0 -0.00833135 0 0 0 0 0.158923 0.454071 0 0 -0.502381 0 -0.0562303 0 0.0264056 0 0 0.865593 0 0.728929 0.0150383 -0.139897 0.117476 0 0 0.258403 0 11.15 0 -0.584473 1.14876 0 0.338829 0.58395 -0.0153312 0 0.00157191 0 0 0.0408896 0 4.0469 1.77179 0 0 0.244694 0 0 -1.51984 -0.463933 0.0328818 0 -1.81883 0 0.151731 0.0480637 -0.0597633 0.56768 0.0943676 -1.28512 -0.155286 -0.0428754 0.71129 -1.75539 -0.133632 0 0 0 0.50617 0.0951048 0 0 0 0 -0.0770658 6.29172 1.81584 -0.504093 0.539505 -0.422154 0.00501854 0.189106 -0.140874 0.128893 -0.142001 0 0 0 0 0 0 -119 0 0.467132 0.585521 0.0188532 0.15931 -0.120753 0.0776699 0.200718 1.16864 0.151362 -1.18621 -0.0310046 0.419971 -0.000691632 -0.960354 -0.0142587 0.95153 1.11845 -0.280512 -0.0413223 0.0779769 -0.0292451 -0.762484 0.000897205 -0.139014 0.0379838 0.615045 -0.0680806 -0.109863 -0.0366236 -0.0591291 0.0122939 -0.300179 -1.42084 -0.479003 -0.19585 -0.00589308 -0.319987 -4.22916 0.0466162 0.211321 -0.00913021 -1.49289 -0.000961281 -0.764455 -0.113682 0.192659 -0.0659545 -0.697635 0.00790632 -1.89515 -0.503701 -3.23844 0.0791402 -0.0516262 0.0666114 -4.23681 -0.858173 -0.253044 0.303465 0.019103 -2.2534 -0.116513 0.799951 0.892912 1.04444 0.571249 -0.242599 -0.567158 -0.0228547 0.71398 -0.593533 -0.138063 0.401139 -0.232423 0.017191 0.569679 17.1828 3.83422 1.14452 1.2162 -1.16023 5.10139 0.537688 -0.603116 1.38563 -1.49765 0.0106636 0.00675094 0.0503547 -0.0170648 0.0313375 0 0 0 0 0 0.0188532 0.15931 0.000497806 0 0 0 0 1.02705e-05 0 0.00541861 0 0 -2.15101e-05 -3.88627e-06 0.00323953 0 0.000571382 0.0134058 0.0311901 0 0 0.00193992 -2.82188e-07 0 0.0104093 0.423156 0 0 0.000322671 0.0919575 0 0.0406346 0 0.000856422 0 0 8.14448e-05 0 0 0.0619259 0.000141445 -0.000296235 0 0.00685575 -0.00694187 0 0 -0.0327281 0 0.00101917 -0.0712756 -0.00196204 0 0 4.40379e-05 -0.000861354 0 -0.00115572 0.00448204 -0.000422222 -0.225364 -0.00357955 -0.00351246 0 -0.000649543 0.00500508 -0.011744 -0.00300658 -0.0182734 0 0 0 0.0194746 -0.0146616 0.00493624 0.00863648 -0.0164681 0.0289432 2.83477e-05 -5.40535e-05 0.000116527 -0.000396547 0 0 0 0 0 0 -0.120753 0 0.0776699 0 0 0 0 0.172532 -1.18829 0 0 -0.746135 0 -0.0765598 0 -0.0704058 0 0 1.00372 0 -1.1272 0.0709457 -0.319996 0.145956 0 0 -0.652812 0 -2.15196 0 -5.61895 -0.75272 0 0.424823 -2.34733 -0.0347116 0 0.0300634 0 0 -0.128505 0 -1.5006 1.96309 0 0 0.282755 0 0 0.461774 -4.29125 -0.199767 0 -0.810909 0 0.573222 -0.38351 0.260356 0.690877 0.157315 -1.98608 -1.34176 -0.212851 -0.685429 -8.86914 -0.350768 0 0 0 -0.454958 0.175883 0 0 0 0 0.188655 31.1761 7.65035 -5.13751 2.12093 -1.51941 1.52041 0.341627 -0.262372 0.284714 -0.169584 0 0 0 0 0 0 -120 0 -0.18551 -0.145021 0.00245855 0.0257744 0.0909889 -0.0442523 -0.68838 -0.164255 0.0222456 -0.523469 -0.0272411 -0.602392 -8.20104e-05 -1.85196 -0.00101649 -1.16066 -7.39711 -0.0725635 -0.0105843 -4.67548 -0.00503236 -0.153803 0.000114257 -0.0861813 -0.131439 -0.102103 0.00604281 -0.329009 -0.638955 -0.143928 0.0016431 -0.0081985 -0.254588 0.0350231 -0.172198 -0.00252797 -0.0215231 0.328356 -0.0749648 -1.83552 -0.00101092 -0.108913 -0.00547258 -4.89863 -0.011218 -0.448476 -0.53082 -0.156172 0.0156243 -0.555867 -0.0859014 8.07776 0.0203881 -0.0160682 0.0356535 5.58636 0.0614369 -0.161857 0.146061 0.00208172 2.85876 7.3207 3.08758 0.484149 0.409538 1.30734 0.590669 -0.0994253 -0.00334093 0.474641 0.0920049 0.0198618 0.033642 4.54479 0.44301 0.140722 1.63221 1.23625 0.596627 -0.161475 0.602454 0.253996 0.400965 -0.393008 1.00557 -0.653404 0.00105226 0.00439781 0.0347668 0.0823047 0.546732 0 0 0 0 0 0.00245855 0.0257744 -5.38162e-05 0 0 0 0 -1.1111e-06 0 0.00163045 0 0 0.000111621 2.00663e-05 0.000303024 0 0.000137759 -0.00160854 0.000108012 0 0 0.0460019 1.45705e-06 0 0.00595628 0.0358835 0 0 0.0056777 -0.0149159 0 0.050093 0 0.00269656 0 0 0.000340884 0 0 0.143235 -1.5302e-05 0.00153723 0 -0.000741152 0.00151633 0 0 -0.0229933 0 -0.000110179 0.0466313 0.00030672 0 0 -0.000228523 9.3118e-05 0 0.000344987 0.0048465 0.000565929 0.156835 0.00199442 -0.00124198 0 0.000196256 -0.000967112 0.0460455 0.000256384 0.00267677 0 0 0 -0.335341 -0.00244076 -0.000171476 -0.00039208 0.000747621 -0.00760799 -0.000147103 0.000280496 -0.000604687 0.0010097 0 0 0 0 0 0 0.0909889 0 -0.0442523 0 0 0 0 0.0166755 0.0426871 0 0 -0.151255 0 -0.0187806 0 -0.00455162 0 0 -1.29308 0 0.0688861 0.103994 -0.0483508 -0.164215 0 0 -0.0270752 0 -7.27577 0 2.82872 -0.477578 0 0.464873 0.683196 -0.00573091 0 0.018349 0 0 -0.00477719 0 -2.31578 -2.54592 0 0 -0.323109 0 0 1.52766 2.3589 -0.0155634 0 3.69999 0 0.640064 -0.115246 0.104535 0.263519 0.00526898 -0.798946 0.319545 -0.0698087 -0.854086 9.8924 -0.0120237 0 0 0 -0.418893 0.0701828 0 0 0 0 0.0472358 -15.9726 1.30658 -4.34599 0.225581 -0.105121 -0.886857 0.18275 -0.14574 0.147309 -0.360596 0 0 0 0 0 0 -121 0 0.0812557 0.710795 0.0104139 0.0399973 -0.139997 0.294123 -1.47436 -0.719051 0.0595366 -0.691984 -0.214374 1.02094 -0.000460595 1.28673 0.00213618 1.4905 2.71951 -0.112426 -0.0140764 2.58893 0.00033416 -1.17921 0.000521928 -0.103778 -0.816092 0.944422 -0.00344957 -0.68861 -0.271853 0.754085 0.00640771 -0.0173548 -1.89251 0.0049849 -0.916816 -0.0138815 -0.0722893 -3.18283 -0.187402 1.41521 -0.00676861 0.101956 -0.0117859 1.6645 -0.0974242 1.05748 -0.523155 -0.258306 0.0260836 0.503642 0.0890284 2.25832 0.0333352 -0.0133455 0.0791986 -1.68254 0.614166 -0.0639879 0.124798 0.0144827 1.26766 -2.00941 1.32276 1.13645 0.0122007 0.903246 0.0936609 0.0467999 -0.00916249 0.197195 -0.0110862 0.0251005 0.0151346 -2.85975 0.37624 1.25335 12.1071 2.3701 2.71381 1.16316 -0.210838 1.89353 0.472489 -0.215809 0.453435 0.385958 0.00913852 0.0164484 0.0544314 0.101549 0.232616 0 0 0 0 0 0.0104139 0.0399973 0.00141601 0 0 0 0 2.92139e-05 0 0.00113304 0 0 1.12069e-05 1.95825e-06 0.00120516 0 0.000255929 0.00360609 0.00237565 0 0 -0.0982112 1.42191e-07 0 0.00555122 -0.06658 0 0 -0.0145901 0.00832189 0 -0.0102258 0 -0.00361572 0 0 -0.000575732 0 0 -0.141824 0.000402331 0.000154341 0 0.0195011 -0.0189711 0 0 0.0226739 0 0.00289901 -0.0929535 -0.00551812 0 0 -2.29441e-05 -0.00245011 0 -0.00286409 -0.00533672 -0.000545354 0.00857314 -0.0073294 0.00429033 0 -0.00143095 0.00953107 -0.0186006 -0.00569763 0.00124064 0 0 0 0.783835 -0.0437622 0.113921 0.0245804 -0.0468701 0.0960835 -1.47694e-05 2.81623e-05 -6.07116e-05 0.0021975 0 0 0 0 0 0 -0.139997 0 0.294123 0 0 0 0 -0.132573 0.640895 0 0 0.119257 0 0.0125267 0 0.0206333 0 0 -0.161186 0 -0.250658 -0.0204008 0.162539 -0.0193469 0 0 0.187734 0 2.47503 0 0.523578 0.288383 0 -0.114983 0.0603253 0.0172825 0 -0.0124222 0 0 0.0699266 0 0.567174 -0.325892 0 0 -0.0380795 0 0 -0.217041 -0.0997213 0.0415813 0 -0.0372356 0 -0.175277 0.160933 -0.117307 -0.366227 -0.0653885 -0.0146156 0.186347 0.0475218 0.220731 -0.64206 0.0268275 0 0 0 0.164433 -0.0312561 0 0 0 0 -0.108995 -1.7474 -0.178192 0.188516 0.622459 -0.426971 -0.605308 0.0552067 -0.0398078 -0.027151 -0.00305529 0 0 0 0 0 0 -122 0 0 0 0 0 -0.197764 0.296922 -0.828178 -2.2397 0 0 0.096876 1.8143 0 3.2535 0.238228 0 0 0 0.547102 2.68625 0 0 0 0 -0.450691 0 0 -0.758597 -5.15349 1.0085 0 0.64147 0 0 -0.208135 0.040608 0 0 0.734363 0.911173 0 0 0.195805 6.53066 0 0.668398 -1.59506 0.865547 -0.264598 4.31446 -0.522467 0 -0.642363 0.575457 -0.68772 -3.74818 -1.60177 -0.947983 0 0 -0.0207543 -0.531229 0 -1.70262 -1.32736 -0.0225349 0 0 0 0 0.230304 0.861873 0 -1.89413 1.35187 0 0 0 3.23701 0 -0.723607 6.58511 0 -0.276659 1.30195 4.28436 0 -0.493794 2.20879 -4.61595 16.1079 0 0 0 -0.168991 -0.0427173 0 0 0 -0.0141584 0 0 -0.0025635 0 0 0.0140269 0 0 0 0 0.116534 0 0.0249369 0 0.0667901 0 -0.0741729 0.0580458 0 -0.00361011 0 0 -0.204343 0 0.0131938 0 0 0 0 0.0662852 -0.0284956 0 0.0157807 0 0 0 0 0 0 0 0 0 0 -0.0435461 0 0 0 0 0 0 0 0 0 0 -0.338478 0 0 0 -0.0334463 -0.0500217 0 -0.0245521 -0.279108 0 0.109841 0 -0.269732 0 0 0 -0.0878558 0 0 0.192929 0 0 0 0.0471161 0 0 0 0 0.168473 0 -0.197764 -0.168991 0.296922 -0.0427173 0.38202 0.183464 -0.912686 -0.366807 -2.06447 -0.0107679 -0.00405763 0.00383106 -0.00084192 -0.00726135 -0.135699 -0.115286 0.0271391 -0.121402 0.408345 0.568016 0.358557 -0.216457 0.106323 0.00414276 -0.0133563 -0.270651 -0.779431 0.0158199 -3.08731 0.328374 0.761788 0.700331 -0.0194196 -0.847351 0.625622 0.00822388 0.00301557 -0.061107 0.038386 -1.63359 -0.31297 -0.0467538 -0.180007 1.22508 0.00229167 0.0271661 0.0656981 0.0759295 0.155055 0.508836 -2.60644 0.413877 -0.256314 -2.10759 0.51072 -0.840132 0.0480878 -0.107042 -0.1319 0.550136 0.353015 0.19762 -0.120098 2.44021 -0.916864 -0.0188447 0.139721 -0.112569 0.339327 -0.721879 -0.0769705 0.0448602 0.00280655 -0.184076 0.041724 1.23408 -3.16075 0.286333 0.139411 0.150009 -0.854673 2.81659 -0.0474101 0.0561565 -0.185155 1.85591 0.0324615 -0.0766327 0.297114 -0.630164 2.12789 0 -123 0 0 0 0 0 -0.193914 0.315971 -0.516918 -1.94217 0 0 0.298337 0.617233 0 1.74617 -0.0242227 0 0 0 -0.432082 0.837363 0 0 0 0 -0.59954 0 0 -0.859265 -1.88103 0.555846 0 0.273996 0 0 -0.204877 0.0403518 0 0 0.390897 -0.0713643 0 0 0.0651547 2.92765 0 0.445913 -1.35907 -0.625026 -0.0990307 -0.712247 -0.264838 0 0.363766 -0.416331 0.394656 -1.3523 -0.239128 0.130909 0 0 0.478083 0.700062 0 0.426905 0.652799 0.0486411 0 0 0 0 0.132774 0.0871868 0 -0.32577 0.344626 0 0 0 3.60741 0 -0.704894 3.7059 0 0.149773 0.351155 3.37643 0 -0.0616454 1.07573 -1.18151 3.99999 0 0 0 -2.6696e-05 -0.00108479 0 0 0 0.0206668 0 0 0.000182307 0 0 -0.16543 0 0 0 0 -0.254505 0 -0.0634381 0 -0.656058 0 0.175095 -0.192106 0 -0.014127 0 0 -0.220022 0 -0.050497 0 0 0 0 -0.237771 -0.0562995 0 -0.0594329 0 0 0 0 0 0 0 0 0 0 0.063969 0 0 0 0 0 0 0 0 0 0 -0.0778229 0 0 0 -0.00674081 0.0840555 0 0.102556 -0.217975 0 -0.0775898 0 -0.111333 0 0 0 0.689959 0 0 0.208098 0 0 0 0.171892 0 0 0 0 0.180055 0 -0.193914 -2.6696e-05 0.315971 -0.00108479 -0.00958466 0.0488179 -0.00139219 0.0994255 0.897997 0.00209787 -0.0348552 -0.636268 0.000516284 -0.154508 -0.00190023 0.142607 -0.0212064 0.00796107 -0.828032 1.14158 -0.224717 -0.0346264 -0.391602 -0.104098 -0.096612 0.0474198 1.06373 0.02999 4.55541 -0.115804 -0.968703 1.86908 -0.000498233 0.237356 -0.504858 -0.0920381 -0.00667499 0.00132389 -0.0313377 0.565036 0.136264 -0.00190187 3.48472 -0.191137 -0.00679196 -0.0287972 -0.0987038 0.162499 -0.100936 -0.601681 -1.36784 -0.509091 0.0555121 1.57997 0.000862836 -0.855684 0.0566158 0.294054 0.175765 -0.0292554 -0.186616 1.14834 -0.0353048 -2.28289 -13.6668 -0.0553732 0.0373338 0.011819 0.0705052 0.442349 0.282346 0.100867 -0.00418365 -0.169184 -0.00996277 -0.368722 4.01927 0.945765 0.629816 0.112994 -0.300969 0.107886 0.0881408 -0.243972 0.284535 0.0678017 -0.0021287 0.0219431 -0.0993685 0.0945511 -0.218587 0 -124 0 0 0 0 0 0.0497142 0.193706 -1.05325 -2.56048 0 0 0.385666 0.881734 0 1.67879 0.1825 0 0 0 0.411819 2.66981 0 0 0 0 -0.349605 0 0 -0.593152 -6.83725 0.362631 0 0.62572 0 0 -0.149483 0.0739703 0 0 1.0119 0.21725 0 0 0.228845 4.86185 0 0.0804304 -2.14468 1.07515 -0.343379 1.63311 -0.974661 0 -0.65619 0.413164 -0.532676 -5.07295 -1.82412 -0.391775 0 0 0.592952 0.0537463 0 -1.80947 -0.737855 -0.0114346 0 0 0 0 0.446287 -0.0573555 0 -0.852548 1.79477 0 0 0 3.82684 0 -1.82073 9.31369 0 -0.546207 1.05563 4.76061 0 -0.580539 1.98693 -4.21105 17.4749 0 0 0 -0.0893273 -0.0227158 0 0 0 0.0290809 0 0 0.0032211 0 0 -0.0197969 0 0 0 0 -0.0330806 0 -0.00237364 0 -0.100098 0 0.234226 0.0725527 0 -0.00130232 0 0 -0.0170868 0 0.0088393 0 0 0 0 -0.0398058 -0.00511931 0 -0.00454219 0 0 0 0 0 0 0 0 0 0 -0.0930192 0 0 0 0 0 0 0 0 0 0 -0.0673187 0 0 0 0.0038274 0.065745 0 0.176519 -0.0571976 0 -0.0785725 0 -0.124064 0 0 0 0.0895333 0 0 0.0293147 0 0 0 0.0438983 0 0 0 0 -0.0343567 0 0.0497142 -0.0893273 0.193706 -0.0227158 0.268562 0.201215 -0.482596 0.333225 -0.533532 -0.0054274 0.0490842 -0.00944191 -0.00038 -0.0151733 -0.0719661 -0.0404818 0.0881165 -0.0631672 0.317649 0.404693 0.362435 -0.095318 -0.133591 -0.030247 0.598711 -0.35718 -0.258388 0.0153064 0.502188 0.58001 1.92257 0.228141 -0.0103274 -0.266119 0.888138 -0.0240848 0.011631 0.0300182 0.0985748 -2.29593 -0.0950614 -0.0550237 0.421827 1.28248 0.00693998 0.068146 0.0355376 0.0684712 0.0603645 0.0295776 -0.837035 -0.986028 -0.260733 -1.58906 0.270061 -1.88716 -0.06439 0.188871 0.214787 0.172531 -0.105142 0.809066 -0.0270827 -1.7772 -11.7774 0.037458 0.0931255 0.0864309 0.381381 -0.727658 0.00596352 -0.0403018 0.000956624 -0.179629 -0.0848295 0.307809 -7.97696 0.76228 -1.64844 -0.125992 -0.640244 3.11292 -0.0231393 0.113354 -0.369904 1.75689 0.0168902 -0.185474 0.528118 -0.983558 2.79464 0 -125 0 -0.658268 -0.192136 -0.038181 -0.265945 0.269147 -0.185166 0.316809 -0.631129 -0.306874 0.202939 0.241265 0.268979 0.00131378 0.493466 0.0178641 -1.51217 -4.4207 -0.113694 0.0432506 -0.853264 -0.0571541 0.0501212 -0.00296755 0.00160544 0.288493 -0.69066 -0.0598851 0.551443 0.0504556 -0.0777825 -0.0306348 0.203854 -0.203192 -0.570105 0.393169 0.0215889 0.160592 -1.53389 0.101708 -0.799413 0.0106272 -1.19555 0.00256637 1.58568 0.066403 -0.687065 0.226456 0.474306 0.00645881 0.266995 -0.237848 2.05871 -0.181018 -0.0444013 -0.0786567 -1.24067 -0.512566 0.0785394 0.0714475 0.0107982 0.225438 0.423429 -1.50635 0.180914 -0.0306207 0.0183898 -0.0584822 0.371284 0.0469397 -0.24933 -0.0703101 0.0175982 0.0427069 -0.213636 0.0238455 0.264775 2.74013 -0.997259 2.67065 0.106759 -0.985587 3.13011 -0.0570102 -0.0287817 -0.115408 0.595178 -0.0185398 -0.00916381 -0.0474579 -0.0580759 -0.0614167 0 0 0 0 0 -0.038181 -0.265945 0 0 0 0 0 0 0 -0.00979057 0 0 0 0 -0.0100887 0 -0.00131146 0.0162358 -0.0835608 0 0 -0.126685 0 0 0.0260618 0.0714044 0 0 -0.0194671 0.0893175 0 0.120275 0 -0.0134798 0 0 -0.00218416 0 0 0.0431055 0 0 0 0 0 0 0 -0.0405155 0 0 -0.0953378 0 0 0 0 0 0 0 -0.0782441 0 -1.39892 0 0.0146054 0 0 -0.000199973 -0.40348 0 -0.038348 0 0 0 -0.237736 0 0.125454 0 0 0.125866 0 0 0 0.0349856 0 0 0 0 0 0 0.269147 0 -0.185166 0 0 0 0 0.18599 -0.453723 0 0 0.197469 0 0.0201364 0 0.0143772 0 0 -0.0540203 0 0.508583 -0.0161894 -0.151421 0.000782421 0 0 0.107875 0 -0.549508 0 1.52921 -0.407417 0 -0.179278 0.558585 -0.018627 0 0.0292325 0 0 -0.0412065 0 -0.210088 0.388929 0 0 0.0486734 0 0 0.171955 0.959129 0.139186 0 0.62298 0 0.369801 0.0102773 -0.0480824 0.154483 0.0583325 0.202146 0.0660335 0.0614421 0.0254592 0.116793 -0.0414268 0 0 0 -0.0370295 0.000687416 0 0 0 0 0.0663151 -16.5082 -2.63807 0.450281 -1.04376 0.768049 -1.01538 -0.165058 0.102709 -0.127727 0.0635519 0 0 0 0 0 0 -126 0 0.411421 0.26488 -0.011431 -0.0177302 0.0164077 0.0801804 -0.255053 -0.0303819 -0.0927637 -0.252723 -0.13065 -0.219592 0.00186117 -0.829346 0.0157763 0.151179 -0.590944 -0.0656335 0.0288071 0.597934 -0.026665 -0.394669 -0.00234842 -0.0648449 -0.248533 0.307714 -0.0496392 0.026075 0.473517 -0.179657 -0.0164427 0.0715764 -1.21887 -0.0215336 -0.253245 -0.0140311 -0.551762 -4.46018 -0.274419 0.313999 0.013242 -1.24064 -0.037102 -0.483537 0.0789681 0.192496 0.166911 0.0931812 0.0947427 -0.379629 -0.268947 1.61666 -0.0276725 0.117372 -0.175562 -0.807846 0.135793 -0.182227 0.139615 -0.0308584 0.9205 -0.0612106 0.612933 0.860727 0.400861 0.55575 0.193939 -0.441844 0.0313568 -0.119866 -0.0152371 -0.222385 0.628891 -0.523932 0.229646 1.2437 14.6823 3.40541 0.0142845 3.60963 -2.54052 4.12101 0.145794 -0.108032 0.00374775 0.0595356 -0.022048 0.0442962 -0.114165 0.202919 -0.576386 0 0 0 0 0 -0.011431 -0.0177302 0 0 0 0 0 0 0 -0.015665 0 0 0 0 -0.00826736 0 -0.00250059 -0.0481706 -0.0425499 0 0 0.108389 0 0 -0.0540807 -0.189094 0 0 0.00935731 -0.192521 0 -0.283275 0 0.0130268 0 0 0.000898991 0 0 -1.00596 0 0 0 0 0 0 0 0.05201 0 0 -0.0949763 0 0 0 0 0 0 0 0.0215875 0 0.093622 0 0.0439233 0 0 0.0278015 0.125864 0 0.0506435 0 0 0 2.10437 0 0.11433 0 0 0.226505 0 0 0 0.0168226 0 0 0 0 0 0 0.0164077 0 0.0801804 0 0 0 0 -0.141815 -0.510227 0 0 0.0857146 0 0.0107021 0 -0.0418421 0 0 0.364898 0 -0.813315 -0.0555111 0.0399492 0.0692526 0 0 -0.362924 0 -3.43589 0 -2.55885 -1.0436 0 -0.0892354 -1.51704 0.00527297 0 -0.0377415 0 0 -0.0584012 0 -2.24325 0.823785 0 0 0.149522 0 0 0.0788857 3.10162 0.133206 0 -2.12316 0 0.496352 0.0926728 -0.107081 0.89094 0.0479278 -0.118985 -0.0427645 0.0770647 1.23319 4.40241 0.0154299 0 0 0 -0.271761 -0.00993226 0 0 0 0 0.204899 14.1992 -1.25425 3.66867 0.145839 -0.611887 2.03149 -0.0452187 0.0640101 -0.100298 0.221991 0 0 0 0 0 0 -127 0 0.525192 0.420118 -0.0129232 -0.0829229 0.23687 0.11543 0.245343 -1.51862 -0.10397 0.649795 0.00644901 0.299481 0.000612881 0.377574 0.0148351 2.08539 10.8808 0.141689 0.0439634 -0.598666 0.0201302 -0.0726752 -0.00117173 0.123069 -0.274807 0.372758 0.0562294 0.193288 0.880384 0.00614478 -0.0112022 0.167686 -0.603781 0.159227 0.0796756 0.00135834 0.316227 -3.80092 0.0520461 -0.271479 0.00474985 0.81296 0.00119208 2.09573 0.0292465 -0.209182 0.510817 0.502225 0.00880811 1.55862 0.103283 -10.3189 -0.0550928 0.0142408 -0.136137 1.06261 0.228301 0.266826 -0.130578 -0.000251667 -0.473991 -0.285699 -1.0876 1.23735 -0.583945 -0.165706 -0.529036 0.440543 0.0178706 -0.815783 -0.253754 0.186357 -0.302067 0.229224 0.015091 -1.61766 11.157 -0.708276 4.72796 0.902822 -0.90596 2.5358 -0.338122 0.337002 -0.71521 1.6658 -0.00816566 -0.00504821 -0.140702 0.0350736 -1.07164 0 0 0 0 0 -0.0129232 -0.0829229 0 0 0 0 0 0 0 0.00140672 0 0 0 0 -0.000593874 0 -0.000120139 0.000390876 0.006633 0 0 0.13146 0 0 -0.00473405 0.419936 0 0 0.0180608 0.0271784 0 -0.0371789 0 0.0106393 0 0 0.00140284 0 0 -0.162458 0 0 0 0 0 0 0 -0.0540257 0 0 -0.16825 0 0 0 0 0 0 0 -0.00488552 0 -0.0602051 0 0.0175692 0 0 0.0233449 0.0129895 0 0.0961727 0 0 0 0.286719 0 0.0266545 0 0 0.0853886 0 0 0 -0.00824206 0 0 0 0 0 0 0.23687 0 0.11543 0 0 0 0 -0.534088 -0.00636821 0 0 0.487835 0 0.0668489 0 0.00651615 0 0 0.666065 0 -0.358751 -0.201516 0.124517 0.0946015 0 0 0.0244481 0 11.0356 0 -2.76311 0.480919 0 -1.52226 -0.981572 0.0157059 0 -0.0749268 0 0 0.0185518 0 2.76495 2.15371 0 0 0.273791 0 0 -0.429113 0.109282 1.06737 0 -0.636798 0 1.24087 0.187235 -0.430965 -0.38868 0.311075 0.477921 -0.666401 -0.17639 1.84019 5.55125 -0.136005 0 0 0 0.270745 -0.0208844 0 0 0 0 0.0996247 4.61261 -3.83617 7.78204 -0.132911 -0.2478 1.46159 -0.27415 0.238446 -0.320944 0.911592 0 0 0 0 0 0 -128 0 0 0 -0.0516719 -0.263973 0 0 0 0 5.86639 3.6231 -0.27735 0 -0.141145 0 -0.782251 0 0 0.514915 -2.6941 0 0.059546 0 0.776184 0.869007 0 0 0.180943 0 0 0 1.72933 -1.6455 0 0.0255635 0 -0.217977 -0.789353 0 -0.872319 0 0.058774 -2.91305 -0.595979 0 0.794344 0 0 -6.10189 -0.106889 0 1.48863 0 3.42763 -3.22146 1.48408 0 4.0315 0.66996 -0.616424 1.30825 0 0 0 0 1.39782 0 -0.663049 -0.700237 -4.81944 -2.76876 -0.753672 -0.469424 -1.19093 0 0 2.0234 0 -8.17963 0 -1.50781 0.0898814 0 -3.36364 2.65504 -3.45917 0 0.887655 1.65445 -1.20255 1.56878 0 0 0.153141 0.0201765 0.183074 -0.041163 -0.0516719 -0.263973 0.0834195 -0.238889 -0.00200528 -0.000474055 -0.0477414 0.0356304 0.0168335 -0.0375918 0.0263346 -0.00490907 0.000477677 -0.016163 -0.0933781 0.28423 -0.0706003 1.4203 0.0701611 0.00230342 -1.06785 -2.1868 -0.000143236 0.011271 0.177257 -1.11154 -0.216193 0.00859491 -0.325872 0.969805 0.0346577 -0.196476 -0.00999916 -1.28852 -0.0106298 0.0896438 -0.165045 -0.0420136 0.00161229 -1.26996 0.522618 -0.030182 0.00118595 1.12473 -0.136827 -0.0191661 -0.00591093 -0.146675 0.0209509 0.0933489 0.139946 -0.0713807 -0.0845332 0.0372555 -0.0106767 -0.22667 0.0873223 0.032304 0.767756 0.0218064 -0.362366 -0.134725 -0.0950124 0.0242178 0.0667462 0.0821345 0.317412 -0.26969 0.0735358 0.00996948 -0.565656 0.0126437 2.03143 -0.109002 0.129962 0.15276 -0.203123 0.328585 -0.00472652 0.00748217 -0.017337 0.0230764 0.0096438 -0.0135241 0.0238916 -0.032886 0.0530025 0 0 0.183074 0 -0.041163 0 0 1.8153 0 -0.0879011 0.114215 -0.0437439 1.12183 0.0203749 0.283759 0.179207 -0.0634224 -0.0765174 0.674517 0 0 0 0 0.40276 0 -0.444473 0 -0.197816 0 0 -0.255725 0 0 0.00859844 0 0 0.133112 -0.00315934 0 -0.0125408 0 -0.118995 0 0 0 -0.00821042 -0.0640547 0 0 0.119997 0 0 0 0.218767 0 -0.768571 0 -0.433411 0.337796 -0.508906 0 0 -0.62867 0.370903 0.502697 0 -0.128936 0 -0.267021 0 0.773607 0.0133962 -0.00657262 0.259514 -0.11599 0.0847669 -1.12407 0 -5.38967 0 -3.73614 1.5601 0 -2.32931 1.26235 -0.595403 0 -1.39574 0.891237 -0.426006 0.112829 0 0 -129 0 0 0 -0.0948532 -0.157887 0 0 0 0 2.02846 1.53335 0.720761 0 0.131115 0 0.368872 0 0 0.368746 0.970648 0 0.171019 0 -0.226775 0.489036 0 0 0.000298091 0 0 0 0.141891 1.18966 0 -0.15365 0 0.156327 0.621962 0 1.78107 0 -0.394585 1.12635 0.29523 0 -3.84095 0 0 2.73725 -2.05049 0 0.25718 0 -0.558558 0.287097 -0.152258 0 -2.00182 -1.45933 0.356743 1.97508 0 0 0 0 0.317462 0 0.955634 -0.646781 -0.134364 -1.98395 1.03091 1.51917 0.878395 0 0 -0.953876 0 -4.1965 0 6.525 -3.28792 0 2.11926 -0.909929 -1.47899 0 11.1538 -6.97774 4.92944 -1.95051 0 0 0.563789 0.0742797 -0.197922 -0.0466675 -0.0948532 -0.157887 0.100212 -0.089157 -0.623686 -0.00226343 -0.0154242 0.0276059 0.0221498 -0.0951084 0.0729684 -0.0253337 0.0418252 0.137456 -0.0681961 0.710455 0.00636918 -0.172114 -0.569583 0.00676845 -0.542225 -0.787892 0.0132928 -0.0104035 -0.148529 1.51222 0.0649945 0.0175729 -0.00110396 0.318405 -0.0897188 -0.165361 -0.080056 -0.0618692 -0.0106586 0.129513 0.0553638 -0.256382 0.00314139 -0.119694 0.448005 0.459905 -0.010882 1.19207 0.0622161 -0.0268582 -0.0826462 -0.446675 0.00480804 0.0809447 -0.512133 -0.108219 -0.186995 0.187935 -0.0938468 -0.217104 -0.166771 0.168565 -0.383282 0.0859863 -0.646842 -0.203526 -0.0840272 -0.062589 0.493978 0.195821 0.106144 0.00962798 0.0358524 0.0773088 -0.0527831 0.038265 0.191463 -0.369971 0.473091 0.202389 -0.108 -0.0373103 -0.060484 0.0558983 -0.0505104 0.0602973 0.0410444 -0.034391 0.0264711 -0.00972389 -0.0159343 0 0 -0.197922 0 -0.0466675 0 0 0.528096 0 0.737865 -0.0473572 0.0284606 0.0334824 0.00104077 -0.0184092 -0.0215483 0.0623007 0.105985 -0.643134 0 0 0 0 -0.0923475 0 0.133315 0 0.435855 0 0 -0.143214 0 0 -0.0130616 0 0 -0.0335446 -0.006897 0 -0.0175052 0 0.109654 0 0 0 0.0148892 -0.055971 0 0 -0.104535 0 0 0 0.0699533 0 -0.0977288 0 0.0622991 0.0208621 -0.450766 0 0 0.774199 0.125074 0.00169185 0 -0.0394299 0 0.00415618 0 -0.0150091 0.0886595 -0.066253 0.204892 -0.0978248 -0.0424269 -0.397773 0 0.263289 0 3.00158 -0.162863 0 1.31062 -0.513579 0.160402 0 1.59828 -0.648161 0.238889 0.206634 0 0 -130 0 0 0 -0.119656 0.02371 0 0 0 0 -5.11606 0.533457 0.379818 0 -0.0260791 0 0.148104 0 0 -0.0267706 0.905335 0 -0.0491146 0 -0.47533 0.0517704 0 0 -0.59911 0 0 0 -1.57412 -0.0722749 0 -1.92384 0 0.143856 -2.38394 0 0.895011 0 -0.137269 -7.98317 0.554171 0 -0.293226 0 0 0.329666 0.209278 0 -0.672851 0 -0.873655 -0.203151 0.38667 0 -0.189539 0.788357 0.239737 -0.864839 0 0 0 0 1.18046 0 -1.20985 -1.97484 3.38795 -0.110419 0.200481 -0.742711 2.7852 0 0 0.978133 0 0.27661 0 3.38949 -1.76595 0 0.871186 -0.410939 -0.832786 0 -1.23357 -0.336789 0.14327 -0.288504 0 0 -0.124567 -0.0164118 0.153578 -0.00317149 -0.119656 0.02371 -0.0837953 -0.0368426 0.102505 0.000400768 -0.00589098 -0.0341544 0.0205813 0.0440336 -0.0207189 0.00420561 -0.022251 -0.0759826 0.113483 -0.221363 0.0284821 -0.289495 0.348712 -0.00182353 -0.202441 3.45513 -0.00613745 -0.00937278 -0.131053 -3.58658 -0.0372699 0.00265287 0.455372 -0.999151 0.0131743 -0.253899 0.0152114 2.2267 -0.0272876 0.0645274 0.296326 0.0371512 0.00109344 -1.24957 -0.498818 -0.287028 0.00193781 -1.14205 -0.173075 7.54081e-05 0.0233949 0.138916 0.0343856 -0.110914 -0.265178 0.17343 0.0651246 -0.0362153 0.0320491 0.209843 -0.0109007 -0.00298351 2.2909 -0.0201073 0.384429 0.468732 -0.00302531 -0.0233144 -0.546578 -0.227203 -1.44281 0.408445 -0.436186 -0.0225632 0.186309 -0.0100421 1.99881 0.0814629 -0.0958121 0.0766042 -0.166682 0.182982 0.0264882 -0.0231269 0.0329331 -0.0372849 -0.00800655 0.000704119 -0.000992383 -0.0124417 0.00913721 0 0 0.153578 0 -0.00317149 0 0 -0.405979 0 -1.56732 0.0376675 -0.0558144 -0.0803668 0.00516561 0.0542249 -0.0525041 -0.0458119 -0.0317203 0.17284 0 0 0 0 -0.0728297 0 -0.420672 0 -0.147344 0 0 -0.0742445 0 0 -0.0046472 0 0 -0.0166439 0.00289182 0 -0.00367139 0 -0.287309 0 0 0 -0.00344171 0.0185743 0 0 -0.169383 0 0 0 0.0218407 0 0.23379 0 -0.992893 0.364115 0.946417 0 0 -0.60697 0.254236 0.103203 0 -0.227142 0 -0.0814489 0 -0.484328 0.0804629 0.0801473 -0.218652 -0.0181491 0.020037 0.251486 0 2.32473 0 0.567963 0.78737 0 0.392779 0.124764 -0.0562621 0 -0.552235 0.201505 0.101087 -0.0901356 0 0 -131 0 -0.379586 -0.163727 0.0551615 -0.00560592 0.261271 0.0729641 -0.107721 -0.055023 0.149762 -0.977266 0.377666 0.719905 -0.0910887 -0.241831 0.282241 -1.90566 -7.15753 -0.473435 1.56057 -1.43592 -0.246057 -0.0432448 0.103388 -0.511635 0.140086 -0.553603 -0.179745 -0.0618069 -1.02394 -0.035912 0.125184 0.604417 0.777257 -0.325691 -0.0397738 0.178927 -0.412066 3.97978 1.44758 -0.218071 -0.144236 -0.0317785 0.715081 1.68539 -0.215459 -0.024028 -0.256007 3.16982 -1.30799 0.327476 -1.5486 0.0895606 -1.56422 1.62126 -0.447364 0.994147 -2.11827 0.318627 1.12213 0.176433 -0.608558 0.605875 -2.62668 0.32444 -1.42562 0.737181 0.106013 -0.429245 -0.0250864 1.46092 -0.597382 0.701518 -0.0680473 3.02351 0.36013 -0.975013 -22.5509 -2.46993 1.92923 -3.14735 1.26456 -2.60005 2.29312 -1.94502 1.51075 0.912965 0.926318 -3.25697 2.30234 -1.37023 0.962255 0 0 0 0 0 0.0551615 -0.00560592 -0.0026274 0 0 0 0 -0.00467149 0 0.0684374 0 0 -0.00320178 -0.0231434 0.00384205 0 0.033953 -0.604813 0.00236464 0 0 2.10198 -0.00161695 0 -0.0995639 -1.14678 0 0 0.301287 -0.981585 0 0.208386 0 1.11276 0 0 0.156947 0 0 1.36 -0.066616 -0.0450442 0 -0.0319701 0.0612481 0 0 0.291845 0 -0.0219385 -0.965663 0.0236199 0 0 0.0101569 -0.0059467 0 -0.0706301 0.0577488 -0.0180546 0.223561 0.195286 0.107226 0 0.0876187 -0.0199121 -0.717068 -0.0599947 -0.236632 0 0 0 -2.30048 0.153377 -0.115958 -0.106302 0.12089 -0.166799 0.00515822 -0.005796 0.0052697 5.28655e-05 0 0 0 0 0 0 0.261271 0 0.0729641 0 0 0 0 -0.0206563 1.08386 0 0 0.168741 0 0.0202673 0 0.0224269 0 0 -0.0685608 0 0.0903262 -0.0356147 -0.0217411 -0.00883627 0 0 0.220397 0 0.500873 0 0.985688 -0.0928895 0 -0.438802 0.251845 -0.00425163 0 0.00108641 0 0 0.108262 0 -0.175004 0.00292485 0 0 -0.00277855 0 0 0.220566 -1.74319 -0.14258 0 2.20464 0 0.222999 0.111098 0.0386207 0.168094 0.00911715 -0.403525 0.0486978 -0.14329 -1.07943 3.20005 -0.120408 0 0 0 0.189136 0.101788 0 0 0 0 -0.281719 -13.0166 -3.52843 4.29447 -1.28334 0.895506 -0.629146 -0.213582 0.20827 -0.160013 0.247802 0 0 0 0 0 0 -132 0 0.00310037 0.35892 0.318713 0.361563 -0.270927 -0.0728157 0.470934 1.38868 0.0696219 -3.05877 -0.131452 0.193034 -0.521692 0.732847 -0.15498 1.17233 4.12087 -1.18216 -0.63693 0.0747264 -0.670789 -0.641128 0.611047 -1.38019 0.471791 0.406133 0.528363 0.0577473 0.671235 0.155573 0.586022 -0.28274 -1.20611 1.0686 0.180627 -0.0291507 0.52385 -1.9746 -0.100309 -0.135547 -0.745187 1.57331 0.0787937 1.32862 -0.837569 -0.0650371 0.209375 -1.2446 0.0715663 1.40429 -1.14127 -8.25304 0.479348 -0.836433 0.554345 -2.24532 -0.0595609 0.146768 1.61616 0.533768 1.68401 0.329009 5.28889 -0.8592 -0.75968 -0.160975 3.20966 0.917103 0.0760863 2.11842 -0.0805558 0.0961435 -1.01005 0.163957 -0.395101 -3.75577 7.68836 8.95467 -6.14328 5.96092 -2.24276 -1.0519 6.17411 -2.60002 1.8478 -1.11877 3.60094 -0.348813 -1.04936 0.499482 -0.630797 0 0 0 0 0 0.318713 0.361563 -0.0157996 0 0 0 0 -0.0135679 0 0.0079463 0 0 -0.0117809 -0.0370178 0.0044958 0 -0.0078164 0.140172 0.139924 0 0 0.505912 -0.0025668 0 -0.140754 0.0481295 0 0 0.0284044 -0.028283 0 -0.350184 0 0.162893 0 0 -0.00590056 0 0 -0.518871 -0.193819 -0.171022 0 -0.228965 -0.135212 0 0 0.14508 0 -0.0623899 0.0618877 0.0786555 0 0 0.0213768 0.00893335 0 -0.0130198 0.360256 -0.0325704 -0.323306 0.00914634 0.0305935 0 -0.136914 -0.101655 0.0473617 -0.141389 0.044534 0 0 0 0.947075 0.0681535 8.5916e-05 0.0537801 -0.0593394 0.0603615 0.0146995 -0.017002 0.0211002 -0.0168019 0 0 0 0 0 0 -0.270927 0 -0.0728157 0 0 0 0 -0.0732992 0.856998 0 0 -0.324321 0 -0.0402063 0 0.0052994 0 0 -0.0128208 0 -0.0361873 0.000210416 -0.0175234 -0.00500815 0 0 0.0464009 0 3.54477 0 1.00048 0.397712 0 0.027153 0.125766 0.000145348 0 -0.0103169 0 0 0.104963 0 1.18799 -0.356525 0 0 -0.046821 0 0 -0.139756 1.46735 0.0326775 0 0.463832 0 0.189721 0.130603 -0.04632 0.149105 -0.0452793 -0.134306 0.385141 -0.0580507 -0.845925 -2.3579 0.0275123 0 0 0 0.174142 0.0674751 0 0 0 0 -0.217855 -5.93508 1.0597 -1.60234 -0.0129471 0.000579894 -0.676911 0.369375 -0.191684 0.10776 0.115914 0 0 0 0 0 0 -133 0 -0.16446 0.396687 0.269523 0.124298 -0.0686128 -0.0537119 0.361289 1.08891 1.11518 -1.77992 0.00790596 0.225097 -0.473531 0.501504 0.0606894 0.792289 0.652382 -0.948291 -0.15209 0.48657 -0.55264 -0.720986 0.615752 -0.840781 0.385138 0.381052 0.696433 0.0151354 0.465468 0.211988 0.905333 0.160124 -1.40797 1.08463 0.136303 0.0258528 1.87895 -3.25298 -0.139966 0.086682 -0.675114 2.83077 0.0491753 0.115089 -0.63863 0.0196791 0.0848234 -0.144779 -0.00496184 -0.0537736 -0.273928 -5.03714 0.263496 -0.0902515 0.0528175 -0.445314 0.490846 -0.5022 0.635638 0.75335 0.968589 -0.00318493 2.10302 -0.865944 0.0398993 -0.462748 1.81435 0.471737 -0.968194 0.737111 0.59207 0.0419015 -1.87626 -1.21072 -0.155806 -2.80197 16.4535 7.21379 -4.47608 4.81251 -2.40805 1.8042 2.73907 -1.00847 1.08099 -1.12484 2.74565 -0.1295 -0.700509 0.379448 -0.437426 0 0 0 0 0 0.269523 0.124298 0.033814 0 0 0 0 0.0173157 0 -0.0291049 0 0 0.0159115 0.171183 -0.198433 0 -0.0299296 0.0866674 -0.213024 0 0 -1.32838 0.012012 0 -0.140008 0.72419 0 0 -0.145507 0.225295 0 -0.234435 0 -0.822509 0 0 -0.100661 0 0 -0.0707332 0.246765 0.22648 0 0.480931 0.0997369 0 0 -0.39679 0 0.067056 0.106645 -0.0844443 0 0 -0.0348311 -0.0584805 0 0.0553094 -0.528854 0.058339 0.222581 -0.12387 -0.0761803 0 0.186497 0.0985767 0.353036 0.0136986 0.146488 0 0 0 0.0589518 -0.176696 0.146552 -0.0018451 0.000694396 0.0108792 -0.020662 0.0236357 -0.0275735 0.0254048 0 0 0 0 0 0 -0.0686128 0 -0.0537119 0 0 0 0 0.0555064 0.261285 0 0 -0.35719 0 -0.0536115 0 0.00954643 0 0 -0.0662406 0 -0.0520617 0.0320417 -0.0225057 -0.0110516 0 0 0.0491911 0 -0.595705 0 -0.350365 0.0313854 0 0.311317 -0.00932453 -0.00569346 0 0.00498473 0 0 0.0451959 0 -0.0104712 -0.38765 0 0 -0.0650259 0 0 -0.0771699 0.507309 0.222279 0 -0.660725 0 0.113215 0.0969699 -0.167958 0.161784 -0.0500811 -0.482568 0.0210295 0.0271827 -0.399455 -2.82608 0.0264443 0 0 0 0.0543933 -0.0460559 0 0 0 0 -0.11084 10.7213 3.60006 -2.16235 0.698044 -0.205384 -0.36701 0.158138 -0.141406 0.271682 -0.355638 0 0 0 0 0 0 -134 0 -0.716357 -0.448385 -0.157533 -0.0447554 0.0641812 -0.00563591 -0.17429 -0.463372 -0.699592 1.59943 -0.00480419 -0.769028 0.284489 -0.826231 -0.0667661 -0.464122 -2.47975 0.643996 -0.440209 -0.700621 0.412103 0.56356 -0.373016 0.998052 -0.356828 -0.080705 -0.261393 -0.0137253 -0.0104244 -0.178205 -0.549714 -0.0351377 1.91854 -0.34712 -0.129102 -0.0411227 -0.536977 8.26954 -0.192423 -0.131408 0.404962 0.17641 -0.248961 -3.56964 0.374437 -0.0160074 -0.0300435 -0.545652 0.349406 0.712451 0.550264 1.05856 0.151442 -0.206912 0.0533572 -1.04505 0.0265285 0.0332383 -0.763092 -0.471131 -1.41165 -0.932255 -2.4585 1.13903 -0.654035 1.01166 -1.43147 1.08587 0.64489 -0.430556 -1.37239 -0.218204 0.477642 -0.53745 -0.0654301 1.84757 -38.1993 -11.1099 1.90658 -9.87125 5.4577 -6.93211 -3.20374 1.69613 -0.984366 0.345528 -1.61948 0.826532 -0.204018 0.105004 0.012615 0 0 0 0 0 -0.157533 -0.0447554 -0.0134801 0 0 0 0 -0.00677431 0 0.069052 0 0 -0.0102426 -0.103241 0.0867741 0 0.0333598 -0.347504 0.127583 0 0 -0.357943 -0.00723872 0 -0.105724 1.39659 0 0 -0.00916173 0.134001 0 -0.0373684 0 -0.206023 0 0 -0.0086233 0 0 0.659943 -0.0966685 -0.146442 0 -0.192745 -0.0380995 0 0 0.37723 0 -0.0329701 -0.067056 0.0274901 0 0 0.0241095 0.0182588 0 -0.0709444 -0.145881 -0.0377866 -0.723921 -0.00633237 0.11245 0 -0.0694824 -0.0226334 0.150972 -0.0207563 0.00357814 0 0 0 -1.11589 0.193926 -0.218405 -0.0618212 0.069851 -0.0793311 0.0137846 -0.0156496 0.0176679 -0.0155119 0 0 0 0 0 0 0.0641812 0 -0.00563591 0 0 0 0 0.0330528 0.2335 0 0 0.319031 0 0.0507266 0 -0.00684414 0 0 0.0614979 0 0.173674 0.0133436 0.0243002 0.0125422 0 0 -0.00552464 0 -0.630949 0 2.54189 -0.0325555 0 0.00586909 0.548457 0.00575764 0 0.00544646 0 0 0.00347308 0 -0.21656 0.0182429 0 0 0.0321997 0 0 -0.00177852 -0.526881 0.105226 0 0.599735 0 0.554997 0.092578 -0.0131919 0.120043 -0.0112713 0.0172322 -0.108243 -0.0180393 -0.333089 -1.803 -0.00612397 0 0 0 0.0441427 0.0448529 0 0 0 0 -0.0639373 -19.7021 -4.30785 2.18276 -1.73992 1.22118 -1.42361 -0.24283 0.16356 -0.162058 -0.0695475 0 0 0 0 0 0 -135 0 0.281779 0.155674 0.176186 0.286616 -0.217754 -0.0948474 0.570041 1.15931 -0.737219 -2.36922 -0.0995514 -0.177143 -0.256858 0.0976272 0.02031 -0.180578 -0.877588 -0.65037 0.261562 -0.901821 -0.38297 -0.299764 0.249692 -1.12425 0.202828 0.0105114 0.244228 0.00969056 0.075917 0.0190463 0.00286687 0.0348975 -0.520796 0.467743 0.0975062 -0.0445024 0.357553 -0.486868 -0.175881 -0.209171 -0.327042 0.842723 -0.0606315 -1.33253 -0.341372 -0.0450048 0.0332301 0.365795 0.402476 0.6781 -0.408998 3.96035 -0.651568 0.522868 -0.266999 -2.19518 -0.928737 -0.628821 0.887812 -0.0929278 1.66322 -0.0649755 0.751556 0.490042 -0.537447 -0.421165 0.263247 1.37324 0.95291 1.60681 0.249675 -0.428766 -0.00879173 -2.18826 0.081977 0.938265 3.06149 7.95966 -4.51865 4.52223 -1.18889 -0.109008 5.2387 -2.09238 1.92282 -1.42935 1.47647 0.00618433 0.04238 0.18963 -0.0918703 0 0 0 0 0 0.176186 0.286616 -0.0220539 0 0 0 0 -0.0158788 0 0.0709053 0 0 -0.0204396 -0.131961 0.184751 0 0.0352073 0.147984 0.40961 0 0 -0.581852 -0.00922913 0 0.230462 0.866256 0 0 -0.130624 0.159134 0 0.623637 0 -0.198042 0 0 -0.056895 0 0 1.27435 -0.22659 -0.293737 0 -0.31564 -0.073575 0 0 0.730519 0 -0.0662699 0.159428 0.070865 0 0 0.0367635 0.025209 0 -0.129846 -0.318079 -0.0404542 0.211013 -0.0784298 0.152801 0 -0.0918131 -0.0770067 0.555463 -0.131419 0.191427 0 0 0 -2.11032 0.366791 -0.529887 -0.118818 0.135057 -0.154038 0.0250497 -0.0290755 0.0363584 -0.0512266 0 0 0 0 0 0 -0.217754 0 -0.0948474 0 0 0 0 -0.133349 0.427462 0 0 -0.199986 0 -0.0147151 0 -0.00633375 0 0 0.0323163 0 -0.112677 -0.0287215 0.0323907 0.00742894 0 0 -0.0406927 0 2.5537 0 -0.942956 0.102337 0 -0.240029 -0.265592 0.00628951 0 -0.0155774 0 0 0.0372888 0 0.688583 -0.342145 0 0 -0.0244823 0 0 -0.176091 0.6737 -0.245027 0 0.015498 0 -0.329577 0.0476707 0.0780071 -0.0763254 0.0274801 0.27528 0.268407 -0.0329071 -0.210461 2.32506 -0.00114412 0 0 0 0.0602399 0.0085328 0 0 0 0 -0.0456577 7.20283 2.2814 -0.695015 0.935518 -0.955705 1.23836 0.25189 -0.130513 0.0380026 0.300085 0 0 0 0 0 0 -136 0 -0.388896 -0.7719 -0.35046 -0.239887 0.34989 0.111224 -0.109494 -0.568066 -0.604236 3.4797 0.240877 0.631945 0.594096 0.585185 0.147247 -2.18726 -8.66318 1.34798 0.333102 -0.193738 0.854264 0.951089 -0.723857 2.14286 -0.161291 -0.715527 -0.588627 -0.0652934 -1.00894 0.109976 -0.8369 0.365234 2.5153 -1.1417 -0.0744822 0.063827 -1.03307 7.50071 0.746594 0.0525301 0.817162 -2.21802 0.122359 2.26284 0.768588 0.0326607 -0.261989 0.972561 -0.495744 -0.244181 0.320205 0.837554 -0.158197 0.435913 -0.397019 -1.28991 -1.04952 -0.714974 -2.16735 -0.648579 -0.198777 0.231512 -4.00021 0.398383 -0.684897 0.279878 -1.71005 0.293771 0.379251 -3.72828 0.0926269 0.668473 1.25344 0.278261 0.292541 2.45407 -38.4545 -19.8207 5.0629 -14.6163 4.97129 -3.82921 -8.1641 1.78717 -0.532523 0.741561 -3.32422 -0.772122 1.71682 -1.5576 1.22095 0 0 0 0 0 -0.35046 -0.239887 -0.0141484 0 0 0 0 -0.000871252 0 -0.00961862 0 0 -0.0050073 -0.0758774 0.091349 0 -0.0114973 0.0369714 0.129092 0 0 0.070673 -0.00534185 0 0.069808 -0.565828 0 0 -0.0291142 0.270201 0 -0.154113 0 -0.0671847 0 0 -0.0260635 0 0 -0.173497 -0.012111 -0.0695879 0 -0.198954 -0.035209 0 0 0.140323 0 -0.00600172 0.120529 0.00713699 0 0 0.00979565 0.03789 0 -0.00997885 -0.163778 -0.0118595 0.573655 -0.0353977 -0.00773527 0 -0.014681 -0.00025362 0.0748803 0.0373379 0.0440203 0 0 0 0.211773 0.0468355 -0.0981689 0.0101804 -0.0131721 0.0232124 0.00594535 -0.00690019 0.00861187 -0.0162871 0 0 0 0 0 0 0.34989 0 0.111224 0 0 0 0 0.0612275 -0.380351 0 0 0.397075 0 0.0556838 0 0.000609176 0 0 -0.0616842 0 0.205469 -0.0368107 0.00235311 -0.00515806 0 0 0.0319272 0 -3.42922 0 -0.0275692 -0.10005 0 -0.446383 0.173846 0.00339629 0 0.010291 0 0 -0.0578464 0 -0.48741 -0.19879 0 0 -0.0300584 0 0 -0.0613511 -0.245808 -0.0450233 0 -1.11165 0 1.25855 -0.0900319 0.0644865 0.129275 0.0724005 -0.359235 -1.0935 0.0148483 0.457011 -0.621353 -0.100037 0 0 0 -0.0698582 -0.0478224 0 0 0 0 0.137669 3.70063 -1.35607 2.78574 -0.541461 0.376247 -0.151302 -0.323547 0.16955 -0.0937267 0.136879 0 0 0 0 0 0 -137 0 -1.36104 -0.20198 -0.411044 -0.41553 0.260467 0.139995 -0.993504 -2.83427 -0.427939 3.13989 0.182249 -0.379525 0.602854 -0.57062 -0.0691182 -1.21182 -5.20354 0.779703 -0.53143 -0.252767 0.301435 -0.223402 -0.662931 1.10546 -0.72595 -0.367401 -0.482463 -0.0780323 -1.02761 -0.19803 -0.649756 -0.0176614 -0.351909 -0.998322 -0.239165 -0.0071756 -1.81337 0.419764 0.639944 -0.00480756 0.820382 -5.21077 -0.0808082 -0.128955 0.429847 0.0125512 -0.283256 -0.455042 -0.627529 -0.118586 0.623682 -3.57796 0.295664 -0.747999 0.126072 -0.724457 -0.173147 0.17989 -0.918982 0.0337089 -0.289327 -0.044687 0.954535 2.49707 0.971402 1.19845 -1.9502 -1.83386 -0.587287 -0.579583 -1.10325 0.585736 0.887833 1.26424 0.206181 0.60824 -2.30934 -6.05247 4.42911 -1.5031 0.196829 -0.152602 -6.13065 3.0871 -2.70869 3.81603 -2.21162 -1.04342 2.20023 -2.10132 2.11984 0 0 0 0 0 -0.411044 -0.41553 -0.0277912 0 0 0 0 -0.00380527 0 -0.0105922 0 0 0.00628766 -0.0424135 0.0661378 0 0.00295241 -0.67975 -0.0973564 0 0 0.269791 -0.0032761 0 0.190672 -3.08098 0 0 0.0239297 -1.35555 0 -0.142484 0 -0.084283 0 0 -0.0192494 0 0 -0.444831 -0.0506814 0.0927392 0 -0.386298 0.0617836 0 0 -0.0730942 0 -0.0290255 0.337131 0.0491965 0 0 -0.0184275 0.0605353 0 0.0395637 0.0843317 0.0343847 3.00415 0.0533922 -0.0675241 0 -0.0612925 -0.0748377 0.0787237 0.326546 -0.104891 0 0 0 0.852175 -0.168736 0.252598 0.0255337 -0.0427638 0.0949552 -0.0101892 0.0147308 -0.0236984 0.0366388 0 0 0 0 0 0 0.260467 0 0.139995 0 0 0 0 -0.0415575 -0.828305 0 0 0.559205 0 0.0695474 0 0.00146622 0 0 -0.0224416 0 -0.0667879 -0.0706724 0.0230018 0.00111786 0 0 0.0367151 0 -2.257 0 1.23304 -0.0832433 0 -0.449962 0.202438 0.00346192 0 -0.008653 0 0 -0.0968847 0 -0.302698 0.322614 0 0 0.0496761 0 0 -0.160026 -0.611289 -0.271331 0 -0.773828 0 0.524977 -0.312643 0.335384 0.0153801 0.0252812 0.0680277 -0.264508 0.125951 0.630443 -2.65362 0.0224705 0 0 0 0.0120396 -0.100607 0 0 0 0 0.173482 -8.09703 -3.06632 1.79056 -1.01365 0.95285 -1.00147 -0.549345 0.407131 -0.364564 0.278648 0 0 0 0 0 0 -138 0 -0.0362446 -0.149635 0.109832 0.0595186 -0.108745 -0.0620116 0.352973 1.77569 0.383104 -2.42162 -0.133175 0.54582 -0.263982 -0.575993 -0.0786565 -1.0261 -4.04027 -0.701751 -0.189345 0.164112 -0.389493 -0.0923688 0.32968 -1.11756 0.358327 -0.190537 -0.396873 0.0514182 0.524722 0.0213031 0.406686 -0.129708 -0.375772 -1.19026 0.0885235 -0.0346928 -1.06901 -1.73088 -0.188627 -0.0105861 -0.50811 -2.94043 0.0306515 0.200275 -0.76059 -0.00619863 0.168518 -0.306012 -0.248137 -0.421105 -0.54476 4.43828 0.155295 -0.329445 0.178718 -1.16519 0.0644272 0.178638 1.3888 0.909756 -1.82489 -0.111238 -0.0994133 -1.15873 0.253811 -0.38334 0.953231 -0.923048 -0.364834 2.0631 0.347256 -0.0116857 0.500879 0.880081 -0.136581 0.835113 11.9909 5.72627 -2.40148 1.42977 -1.07122 2.32186 5.74167 -2.90634 2.65373 -2.45498 3.91333 -0.581497 -0.565378 0.930497 -1.08244 0 0 0 0 0 0.109832 0.0595186 -0.0445646 0 0 0 0 -0.0265886 0 -0.00621858 0 0 0.00116794 0.0478107 -0.0133514 0 -0.00436013 -0.609824 0.0805728 0 0 0.350813 0.00305216 0 -0.240973 -7.03713 0 0 -0.00228667 -2.42181 0 -0.186432 0 0.250776 0 0 0.00764344 0 0 -0.40528 -0.369339 0.0287415 0 -0.618855 -0.00757151 0 0 -0.0945573 0 0.0152874 0.0909989 -0.0158281 0 0 0.0116938 0.147177 0 0.0214425 0.254313 -0.037534 7.26573 0.0491585 -0.0502543 0 -0.0958914 0.0129115 -0.232386 1.16264 -0.114496 0 0 0 -0.513097 0.133554 -0.42298 0.00537567 0.0100689 -0.0295215 0.000657414 -0.00618837 0.0184932 -0.0483845 0 0 0 0 0 0 -0.108745 0 -0.0620116 0 0 0 0 0.0317404 -0.422309 0 0 -0.194346 0 -0.0253642 0 -0.0118195 0 0 -0.0372817 0 -0.1403 0.053493 0.0142303 -0.00819752 0 0 -0.123801 0 -4.47541 0 -0.537229 -0.355543 0 0.412581 -0.38975 0.000584792 0 0.00346524 0 0 -0.0428915 0 -1.39102 -0.134411 0 0 -0.0206967 0 0 0.0164748 0.536868 0.313963 0 -0.506521 0 -0.215604 0.129213 -0.234302 0.665794 0.0110562 -0.606714 0.0625113 -0.0996018 1.18083 1.89295 -0.0779568 0 0 0 -0.0263744 0.0791055 0 0 0 0 0.183768 5.41643 2.50906 -2.50115 0.718643 -0.610085 0.476502 0.176445 -0.249895 0.31527 -0.437758 0 0 0 0 0 0 -139 0 0.167365 -0.0552431 0.0613777 0.111914 0.0580599 -0.128693 0.743421 2.355 -0.165537 -2.28461 -0.317565 -0.139204 -0.0652639 -0.537309 -0.104704 0.121703 -3.86167 -0.598363 -0.817319 0.692295 -0.288209 0.103224 0.0536192 -0.960322 0.485684 0.301486 -0.443925 0.0608964 0.918935 -0.0473908 -0.0206837 -0.276589 0.504589 -1.00964 0.116294 -0.125362 -2.46369 2.05614 -1.12569 0.118014 -0.0589529 -5.32757 -0.443832 -2.48439 0.0754282 0.0224656 0.237872 -2.07545 0.96568 0.149483 -0.559025 -5.29773 -0.193805 -1.05046 0.372101 -1.71427 0.562412 0.449201 1.169 -0.254208 0.214614 -0.263993 -0.528123 0.671982 1.42505 0.530472 -0.960434 -4.15839 0.320534 1.0793 -0.538758 -1.13153 -0.165119 -1.39487 -0.0611394 -1.56397 -6.25049 3.17973 -6.13342 1.65379 -0.206993 -2.49677 5.72298 -2.41931 2.06382 -3.11256 -0.388087 3.0017 -2.44182 2.44992 -1.89565 0 0 0 0 0 0.0613777 0.111914 0.00171903 0 0 0 0 -0.000720597 0 0.0912759 0 0 -0.0085916 -0.0453356 0.20071 0 0.041895 -0.174194 0.453197 0 0 -0.893973 -0.00318452 0 -0.417218 -2.6247 0 0 -0.0692591 -0.958617 0 -0.6135 0 -0.342531 0 0 -0.021809 0 0 -0.729726 -0.00968554 -0.121602 0 0.0251911 -0.176504 0 0 0.145928 0 -0.0166739 -0.326216 0.0493015 0 0 -0.00485151 -0.0510979 0 -0.00240724 -0.00358649 0.0610067 -0.0528924 -0.129215 -0.0264736 0 -0.00598331 -0.0817302 1.20988 -0.684665 0.258558 0 0 0 -0.498109 0.177716 -0.668194 -0.0178996 0.0186621 0.0439816 0.00563264 -0.00873159 0.0199189 -0.0726405 0 0 0 0 0 0 0.0580599 0 -0.128693 0 0 0 0 -0.0145686 -0.172269 0 0 0.0169102 0 0.00900335 0 -0.0130979 0 0 -0.152925 0 0.0683256 0.0132528 0.0685146 -0.0214909 0 0 -0.12769 0 -4.12678 0 -0.415138 -0.144384 0 0.0642752 0.116254 0.00905149 0 0.00124536 0 0 -0.0243028 0 -0.787393 -1.27477 0 0 -0.160175 0 0 -0.233793 -0.268596 -0.0298793 0 -0.261256 0 0.269946 0.0811656 -0.00281962 -0.0611451 0.142 -0.161391 -0.317971 0.0201576 -0.111228 -1.30671 -0.111899 0 0 0 0.0368548 -0.0716143 0 0 0 0 0.0416127 11.6905 2.52891 -1.28484 1.36366 -0.905276 0.688808 0.00718132 -0.043155 0.0460433 -0.0378556 0 0 0 0 0 0 -140 0 -0.391984 -0.342327 -0.170674 -0.1046 0.179969 0.00651787 -0.238126 -0.496233 -3.8978 1.38722 0.125132 -0.500627 0.0877624 -0.640694 0.123278 0.0918662 0.3022 0.610732 0.743896 -0.505235 0.481161 0.591016 -0.970388 1.09871 -0.240213 0.0324715 -0.340965 -0.0222812 -0.507201 -0.256591 -2.02998 0.216704 1.79847 -0.606018 -0.137952 0.063226 -0.783189 6.36931 0.637428 -0.0571832 -0.271991 -1.0169 0.321243 -1.46582 -0.998962 -0.00556102 -0.104618 1.35736 0.116866 -1.08698 -0.249181 1.29174 -1.1181 0.39412 -0.251557 2.74236 -0.188072 -0.0973235 -1.06016 -0.412484 -0.646945 -0.0784122 -4.53053 1.30435 1.40116 1.14164 -2.88387 -2.12995 5.06903 -2.68112 -0.620744 -0.323722 2.90802 -0.364819 0.201135 0.990461 -25.7066 -8.12759 1.27529 -4.87384 2.21015 -3.32904 -2.16505 1.26457 -1.21154 1.17233 0.71527 -0.389906 0.494708 -0.281904 0.317966 0 0 0 0 0 -0.170674 -0.1046 -0.012985 0 0 0 0 -0.012711 0 0.0297716 0 0 0.0117911 0.126392 -0.142602 0 0.00335574 -0.176176 -0.188778 0 0 0.0627337 0.00891709 0 -0.187102 3.68889 0 0 0.0249873 0.740919 0 -0.121496 0 0.189577 0 0 0.0272178 0 0 0.672071 -0.182825 0.166779 0 -0.18847 0.0639393 0 0 -0.0779531 0 -0.0446297 -0.106162 0.0548393 0 0 -0.00921447 0.00968403 0 -0.0290482 -0.612198 0.0188706 -2.85589 -0.0468021 0.0531037 0 0.00619264 -0.0644671 0.334638 -0.416163 0.119908 0 0 0 -1.02695 -0.0148771 0.00725746 -0.0756795 0.0853291 -0.0771153 -0.0110961 0.0136158 -0.0221366 0.0250439 0 0 0 0 0 0 0.179969 0 0.00651787 0 0 0 0 -0.0538696 0.46597 0 0 0.362393 0 0.0522209 0 0.00137515 0 0 -0.0367906 0 0.186083 -0.0363367 0.0220977 -0.00152138 0 0 0.0659081 0 0.699148 0 1.06562 0.033393 0 -0.353434 0.344227 0.00473516 0 -0.00470242 0 0 0.0253931 0 0.0483557 -0.254633 0 0 -0.0177932 0 0 0.0620913 -0.798169 -0.219431 0 0.763215 0 0.339083 0.0344739 0.145334 0.194862 0.085401 -0.1259 0.022936 -0.0341637 -0.868414 0.0586058 -0.0876048 0 0 0 0.0243871 0.0822009 0 0 0 0 -0.16557 -10.7759 -3.73911 2.97088 -1.02544 0.649376 -0.469178 -0.361894 0.275873 -0.247925 0.207133 0 0 0 0 0 0 -141 0 -0.430662 -0.503415 -0.115123 0.248078 -0.140586 -0.0538369 0.325194 0.958508 3.53613 0.777697 -0.0702114 0.0382125 0.597683 -0.0423096 -0.161962 -0.989301 -1.90938 0.902696 -0.796442 -0.193395 0.72312 0.882405 -0.0671927 1.23171 -0.00470646 -0.458303 -0.3108 0.00136794 0.175788 -0.0142325 0.74917 -0.359146 2.07061 -0.206194 -0.0244189 -0.037721 -0.243638 5.74937 -0.320012 -0.0126382 0.672859 1.48706 -0.0974271 -0.570609 0.924881 0.00098474 0.0180739 -1.7788 -0.251356 0.166468 -0.0636368 -6.98346 1.5355 -0.334033 0.207826 -1.92749 1.32564 -0.083913 -0.973213 -0.164666 0.542355 -0.0462387 -4.90647 1.23056 -0.410239 0.37351 -3.17848 -0.607664 -4.43319 -2.52669 0.0190906 0.157435 -2.65582 -0.9771 -0.0315807 -1.25014 -26.2778 -6.15693 0.0226382 -5.01492 2.68354 -3.04941 0.151538 -0.918348 0.975252 -1.63421 -0.662227 0.264278 -0.352839 0.128764 -0.110202 0 0 0 0 0 -0.115123 0.248078 0.0322729 0 0 0 0 0.0119691 0 -0.00425092 0 0 -0.00503611 0.0721375 -0.0561402 0 -0.0275045 -0.116527 0.166596 0 0 -1.05865 0.00522961 0 0.119493 0.0916871 0 0 -0.137206 0.0381893 0 0.122112 0 -0.344203 0 0 -0.0439307 0 0 0.215431 0.168087 -0.0738012 0 0.454678 -0.0484577 0 0 0.0406134 0 0.0320184 0.0108418 -0.0524519 0 0 0.00529365 -0.0755885 0 -0.0138456 -0.0378476 -0.001296 0.132201 -0.0981962 0.008016 0 0.0769033 0.071139 0.254852 -0.0876054 0.174981 0 0 0 -0.881765 0.111372 -0.30249 -0.0166402 0.0274965 -0.0644901 0.00582268 -0.00943173 0.0188476 -0.0397813 0 0 0 0 0 0 -0.140586 0 -0.0538369 0 0 0 0 -0.0256345 -0.135176 0 0 -0.270787 0 -0.0200375 0 -0.00903373 0 0 0.0546966 0 -0.0233558 -0.0106108 0.00386012 0.00874425 0 0 -0.0472061 0 -1.2822 0 -0.163624 -0.100131 0 -0.0743244 -0.196062 0.00276615 0 -0.00279693 0 0 -0.0437095 0 -0.325797 0.114495 0 0 0.0255347 0 0 -0.0711759 0.592096 -0.059282 0 -0.934253 0 0.317026 0.109371 -0.0720355 0.496311 0.00200225 -0.43174 -0.416239 -0.0353007 -0.0665448 -0.96368 -0.0653218 0 0 0 -0.106106 0.0816204 0 0 0 0 0.0456129 2.47564 1.9612 -0.496077 0.0361602 -0.354041 0.665955 0.352629 -0.257617 0.180291 0.0737312 0 0 0 0 0 0 -142 0 -0.158861 0.105625 0.118309 0.035901 0.118321 -0.090905 0.467038 1.02006 2.56454 -1.22794 -0.278542 -0.601532 -0.082059 -0.539328 -0.0405138 -0.719119 -5.53996 -0.38703 -0.763728 -0.438584 -0.296527 -0.387717 0.652246 -0.764629 0.126024 3.0234e-05 0.573296 0.03896 0.653105 -0.0251867 1.34955 -0.0102771 -0.675572 1.05153 0.0620512 -0.136663 1.54041 -0.517423 -1.09918 -0.135697 0.157653 2.33556 -0.561939 -4.00066 0.646291 -0.0339545 0.159663 -1.31099 -0.290246 1.22842 0.456211 1.74714 0.787628 -0.433487 0.149271 0.166369 0.501065 -0.499631 0.239188 0.29342 0.251306 0.386025 -0.21615 0.715333 -0.959546 0.278291 0.112672 1.1681 -3.3006 0.845481 -0.739963 0.577599 -3.18325 -0.441011 -0.133575 -1.81168 5.2676 3.7727 -4.30795 -0.00716946 0.710551 -0.983313 0.961115 -0.305429 0.733224 -2.05585 -0.462753 0.498129 -0.436397 0.450259 -0.409434 0 0 0 0 0 0.118309 0.035901 0.0070683 0 0 0 0 0.00788066 0 0.06857 0 0 -0.00780216 -0.0879476 0.165039 0 0.0370897 -0.00960812 0.311472 0 0 -2.17208 -0.00621188 0 0.148906 0.30281 0 0 -0.280703 0.0598729 0 0.491803 0 -1.16634 0 0 -0.15233 0 0 1.21208 0.113617 -0.109831 0 0.104477 0.0244126 0 0 0.484291 0 0.0290899 0.11462 -0.0514834 0 0 0.00562109 -0.00216712 0 -0.0843666 -0.904022 0.0173014 2.01398 -0.167838 0.0757618 0 0.123075 0.0723709 0.774445 0.195431 0.263006 0 0 0 -2.41351 0.252136 -0.552403 -0.138837 0.151741 -0.141358 0.00722274 -0.00896241 0.0144083 -0.0420631 0 0 0 0 0 0 0.118321 0 -0.090905 0 0 0 0 -0.0198577 -0.38709 0 0 0.0575654 0 0.00885166 0 -0.0180684 0 0 0.0519293 0 -0.139963 0.00618475 0.0930832 0.0065574 0 0 -0.165775 0 -2.17768 0 -0.807702 -0.116905 0 0.0407522 -0.175031 0.0105972 0 -0.00205127 0 0 -0.0437323 0 -0.322075 -0.457498 0 0 -0.0507591 0 0 -0.249335 0.146035 0.00282713 0 -0.943851 0 0.158695 -0.0641969 0.0274533 -0.0853042 0.0247563 -0.124196 -0.21091 0.0680413 0.45264 0.134719 0.00497683 0 0 0 0.00395178 -0.141772 0 0 0 0 0.156319 17.0602 3.55393 -1.6156 1.38982 -0.814424 0.486926 -0.0918459 0.000430799 0.0666196 -0.129006 0 0 0 0 0 0 -143 0 0 0 -0.367543 -0.361163 0 0 0 0 -3.64447 3.5854 0.638152 0 0.406831 0 -0.0165755 0 0 0.512582 0.150757 0 0.168873 0 -0.64805 1.12225 0 0 -0.524096 0 0 0 -1.35131 -0.538708 0 -1.69121 0 0.0610738 -2.35136 0 3.80354 0 0.560615 -7.86045 0.781434 0 0.159149 0 0 -1.25275 -0.541871 0 2.19517 0 -0.445104 0.489856 0.264628 0 -0.642192 -0.145752 -1.00749 -0.718775 0 0 0 0 2.24389 0 2.59057 -1.63423 2.26002 1.13456 0.796595 2.19094 3.45489 0 0 0.71129 0 -6.24936 0 -0.650435 -5.6421 0 -3.5521 1.86563 -5.79122 0 -1.24567 -2.74664 0.344976 -6.44814 0 0 -0.00190351 -0.000157411 -0.465021 -0.108014 -0.367543 -0.361163 -0.0351526 0.0434664 -0.106319 -1.52728e-05 0.00751731 -0.013132 -0.0125363 0.0571853 -0.00134924 -0.000308834 -0.011698 -0.0993307 -0.0541553 -0.026467 0.0164024 -1.34127 0.0331738 -6.84695e-05 0.113292 0.144088 -0.00462879 0.0219734 -0.355068 -10.6885 0.877964 -0.00351709 0.00535372 -3.90477 -0.0167531 -1.55967 -0.00492277 0.172525 0.143826 -0.0742793 0.00628962 -0.00627633 -0.000592259 -4.50424 -0.279813 -0.251457 -0.000779528 -0.748366 0.247888 0.00983598 -0.00458694 -1.09878 -0.0123182 -0.0534497 0.1576 0.241695 0.00626372 0.00467135 0.0152902 0.0642089 -0.0541597 -0.0807842 -0.742928 -0.00764532 5.8169 -0.255603 0.118669 0.06379 -0.0536056 0.00392794 -2.60335 0.794361 1.9709 0.0208372 -0.0231365 -0.000588763 34.0693 1.90737 1.78811 0.154449 -0.0670963 1.59899 0.00733423 0.00103196 0.0371804 -0.409224 2.95034e-05 0.00265403 -0.0286117 0.157046 -1.91776 0 0 -0.465021 0 -0.108014 0 0 -2.12209 0 -3.25339 0.0226593 0.032134 0.606609 0.010823 0.144384 -0.321252 -0.0693069 0.0850077 -0.232052 0 0 0 0 -0.0935537 0 0.0870737 0 -0.754067 0 0 0.864931 0 0 -0.0451528 0 0 -0.00123314 0.00768187 0 0.101646 0 -0.36092 0 0 0 0.0113542 0.0769915 0 0 0.0345793 0 0 0 -0.439812 0 1.05732 0 -0.361175 0.416313 0.205439 0 0 0.655564 0.205092 -1.0358 0 0.205756 0 0.088322 0 -0.548911 -0.293104 -0.0425118 -0.169233 0.251467 -0.00459725 0.779121 0 -2.14366 0 0.692291 -2.63151 0 -0.317828 -0.141341 -0.573143 0 0.121891 -0.440557 0.265092 -0.688293 0 0 -144 0 0 0 0.192501 0.662168 0 0 0 0 0.303339 -2.26131 0.820941 0 -0.120811 0 0.099941 0 0 -0.270784 0.226106 0 -0.155525 0 -0.185425 -0.591923 0 0 -0.23327 0 0 0 -0.569853 0.376713 0 0.102628 0 0.040687 -0.624773 0 2.0787 0 -0.513387 1.45835 0.0202315 0 -2.95963 0 0 0.021688 -0.889582 0 -1.34174 0 0.0694978 0.433725 -0.269886 0 0.157654 -0.487933 0.484894 0.430296 0 0 0 0 -2.56047 0 -0.440627 3.1318 2.70437 -0.453799 -0.377873 0.320256 1.81768 0 0 0.556042 0 3.00488 0 4.63598 -2.50369 0 6.2903 -4.47981 3.86101 0 7.57457 -4.35892 4.56331 -3.31946 0 0 0.491813 0.0406706 -0.190251 -0.0641577 0.192501 0.662168 0.036744 0.0546712 -0.503063 -0.000337363 0.00450289 0.00810522 0.0139271 0.0451212 0.0301064 -0.00633524 -0.0614421 -0.31062 0.635226 0.457521 0.0740364 -0.19931 0.885425 0.00185078 0.31819 -1.08064 -0.0221086 0.0170519 0.0657117 -2.92624 0.494367 0.0179094 -0.293582 -0.956102 -0.0644882 -0.0383854 -0.03985 -0.525828 0.0988722 0.195336 -0.107955 -0.103877 0.00178578 0.406804 0.114641 -0.793862 -0.00459606 0.45846 0.387196 -0.0464488 -0.0174494 -0.0738153 -0.0463714 0.102948 3.49311 -0.172093 -0.0875472 0.117291 0.11489 -0.0442492 -0.0747714 -0.250144 0.164299 -0.194132 2.58913 0.257839 -0.0703325 -0.105083 0.0927074 -0.484605 1.66105 -0.446872 -0.338032 0.059932 -0.145859 0.0109872 -3.077 2.21207 -3.52143 0.415611 -0.437657 -2.31395 0.0457452 -0.0660676 0.497789 -1.17706 0.00763129 -0.0130302 0.11037 -0.0754687 -1.07986 0 0 -0.190251 0 -0.0641577 0 0 0.222011 0 0.609904 -0.0573582 -0.00820134 -1.04119 -0.00661348 -0.0912528 -0.025758 -0.0578805 0.0644695 -0.495643 0 0 0 0 -0.385916 0 0.038011 0 -0.0872165 0 0 0.363186 0 0 -0.00890556 0 0 -0.0520802 0.011061 0 0.044077 0 -0.0236345 0 0 0 0.0066988 0.071705 0 0 0.023742 0 0 0 0.147446 0 -0.276929 0 1.27516 -0.973025 0.678763 0 0 0.201648 -0.386366 1.10964 0 0.0557079 0 0.0480988 0 0.0865321 0.17391 -0.485236 0.362356 0.169283 0.0207187 0.167214 0 3.54466 0 1.65635 -0.926014 0 1.46563 -0.986127 0.902967 0 0.908318 -0.748604 0.662905 -0.351495 0 0 -145 0 0 0 -0.217625 0.034788 0 0 0 0 -2.53695 -2.37949 -0.0480891 0 0.467307 0 0.00918897 0 0 -0.286302 0.788627 0 -0.10627 0 -0.9368 -0.996829 0 0 -0.724304 0 0 0 -1.50488 0.313095 0 -1.39287 0 -0.0974167 -2.24292 0 -0.831199 0 0.0973751 -4.20442 -0.434614 0 -1.70469 0 0 2.96819 0.427406 0 -0.79738 0 -1.04871 0.128295 -0.475207 0 -1.08168 -0.117263 0.8725 0.0925157 0 0 0 0 -0.0755261 0 -0.33736 -1.87409 2.56341 -1.46381 -0.931268 -1.80301 4.06043 0 0 3.25593 0 4.50314 0 2.22479 1.71125 0 2.22523 -1.0577 3.29387 0 1.68897 0.406459 1.70646 1.6798 0 0 0.0257201 0.00212693 0.163355 0.0757021 -0.217625 0.034788 -0.0136567 0.0414091 0.0284895 -2.1658e-05 0.00695142 -0.0099204 0.00195251 0.205887 0.00127592 -0.000412044 -0.00189861 -0.0113359 0.858 0.0179457 0.152726 -1.37013 1.25363 8.19422e-05 0.186836 1.56123 -0.000926025 -0.0146105 0.259099 -6.17 -0.175199 0.00133976 0.13802 -3.05335 -0.00236018 0.634497 0.000485661 0.763692 -0.0594203 0.0188127 0.0615057 -0.0070498 0.000150796 1.52083 -0.214595 -0.0134826 -0.000192886 -0.308229 0.0427467 -0.00515484 -0.00012894 0.155585 -0.00500093 -0.0316639 1.32146 0.189404 -0.0031435 9.15082e-05 0.0062418 0.0150432 0.0139353 -0.00635527 -0.473076 0.0546054 14.4114 -0.0950887 -0.023022 -0.133111 0.0403377 -1.07998 -1.64261 0.868465 0.956414 0.0132573 -0.0813126 0.000442302 -11.5033 -0.30467 -5.38721 -0.0258803 0.0472581 -0.998406 0.00186993 -0.00571733 0.0547366 -1.29474 0.000413389 -0.00115616 0.0126032 -0.0360953 0.382691 0 0 0.163355 0 0.0757021 0 0 0.262561 0 -0.0789273 -0.132963 0.0227743 -0.618979 -0.0259594 -0.131724 0.0885493 -0.0692456 0.00657781 -0.574297 0 0 0 0 -0.159462 0 0.202257 0 -0.000215507 0 0 0.0866188 0 0 0.0190059 0 0 -0.043583 0.0103787 0 0.0242 0 -0.112101 0 0 0 -2.68426e-05 0.0704593 0 0 0.124379 0 0 0 -0.0195435 0 -0.0984755 0 0.179987 -0.226575 -0.284408 0 0 -0.188893 -0.297915 -0.149148 0 -0.250949 0 -0.162472 0 0.0392322 0.260475 -0.260155 0.309386 0.131478 -0.00255224 0.100625 0 2.08106 0 2.16369 -0.485305 0 0.695857 -0.358619 0.287993 0 0.61917 -0.45635 0.442785 -0.187184 0 0 -146 0 -0.869716 -0.421222 0.191523 0.123494 -0.496665 -0.195754 0.893554 3.52152 0.692878 -2.58919 -0.137303 -0.440035 -0.298634 -0.736982 0.117701 -2.28058 -12.6774 -0.314611 0.320376 -0.390992 -0.133995 0.0403022 0.386464 -0.934239 0.300213 -0.403854 0.388447 0.0277055 0.549939 0.00313159 0.57889 0.1844 0.310328 0.6145 0.0717598 -0.0115989 1.76022 2.33023 -0.873931 -0.11308 -0.426942 3.00613 -0.195466 -3.88703 -0.411832 -0.0282109 0.0978689 0.480375 0.519118 1.72929 -1.79301 -4.46019 -0.241427 0.263434 -0.76385 -3.10711 -0.292214 -0.259494 1.21 0.430076 0.461687 -0.0372596 1.13947 1.64202 -2.60453 0.627946 -2.14786 1.72175 -0.548552 -0.785417 -0.926986 -1.82618 -1.46429 -1.37051 0.929063 0.294459 -7.89068 2.99166 -6.40804 1.9378 -0.610913 -2.5272 3.35762 -3.33434 5.07241 -6.41635 1.44126 0.922872 -0.124894 2.58668 -2.23643 0 0 0 0 0 0.191523 0.123494 0.0110458 0 0 0 0 0.00572519 0 0.0728415 0 0 0.0043308 0.0693609 0.1558 0 0.0240275 0.548734 0.532855 0 0 -0.625464 0.00325581 0 0.193675 1.22104 0 0 -0.0560456 1.00804 0 1.11126 0 -0.194493 0 0 -0.0144322 0 0 3.12352 0.122025 0.0911131 0 0.234629 -0.0308533 0 0 0.581265 0 0.0190961 2.14054 0.0320551 0 0 -0.00849907 -0.0185424 0 0.0275426 -0.0209369 0.0633302 -2.48862 0.208236 0.0610632 0 0.0337217 -0.543944 0.212647 -0.171039 0.263094 0 0 0 -24.3398 -1.11641 -3.3905 -0.107026 0.251694 -3.44487 -0.00308888 0.00695224 -0.0966655 -0.561474 0 0 0 0 0 0 -0.496665 0 -0.195754 0 0 0 0 0.198194 -0.740047 0 0 -0.466079 0 -0.0517398 0 -0.0311421 0 0 -0.0721025 0 -0.0151894 0.174075 -0.0512421 -0.00599721 0 0 -0.255586 0 -8.4227 0 0.661828 -0.31596 0 1.35772 -0.135743 -0.00615929 0 0.025756 0 0 -0.0940447 0 -1.67848 -0.91853 0 0 -0.0867384 0 0 -0.192952 2.12537 0.0262582 0 -1.63681 0 0.683027 0.0456534 -0.039996 0.0667791 0.0191887 0.241141 -0.180195 -0.0481933 1.06205 -4.49082 -0.0112484 0 0 0 -0.0967358 0.0156187 0 0 0 0 0.275298 -6.26738 1.27583 -4.86365 -0.203 0.0770584 -0.756037 0.15654 -0.21494 0.361218 -0.985642 0 0 0 0 0 0 -147 0 1.38454 0.0410383 0.278259 0.244143 -0.135536 -0.152114 1.3144 3.53427 0.66196 -2.31623 -0.116899 -0.0270886 -0.429107 -0.208833 -0.0292446 0.848373 2.59161 -0.54753 0.263796 -0.271572 -0.282028 0.244809 0.538437 -0.744633 0.710403 0.314602 0.226697 0.0943949 0.123229 0.104393 0.721678 -0.0988353 0.837789 0.661601 0.293987 -0.00208144 0.351685 0.649332 0.492215 -0.127393 -0.693588 2.03924 0.454405 -1.49809 -0.990825 -0.0548997 0.202633 0.449815 -0.631854 -0.0211676 -1.33798 -4.11613 -0.215847 0.241589 -0.0205967 -0.281326 -0.328442 -0.232264 1.1436 0.779902 -0.447893 0.0272314 -0.545372 -2.82238 0.0227736 -0.1892 3.28381 0.585769 -0.496505 -0.791189 0.0860986 0.372127 -0.413188 -0.10222 0.0137948 -2.48697 -3.84019 4.76785 -8.19919 1.89597 -1.56365 0.222313 3.27808 -2.96438 4.75887 -6.9124 3.46752 -2.32009 1.79906 -0.819411 -0.501135 0 0 0 0 0 0.278259 0.244143 -0.00615899 0 0 0 0 -0.00438994 0 0.0210648 0 0 -0.00324786 0.00174844 -0.11261 0 -0.00879505 -0.0237252 0.105264 0 0 0.716628 0.000104855 0 -0.718786 -2.49579 0 0 0.055693 -0.476199 0 -1.2968 0 0.560405 0 0 0.0499914 0 0 -3.15902 -0.0942423 -0.0743435 0 -0.138685 0.103286 0 0 -0.368408 0 -0.0226468 -1.02673 0.0534476 0 0 0.00600446 0.000758367 0 -0.0265255 -0.280963 -0.0420685 5.97463 -0.176823 0.068954 0 0.030655 -0.114841 -0.991499 0.449518 0.234903 0 0 0 22.3807 1.01381 0.898664 0.0964665 -0.20045 2.89995 0.00282063 -0.00520423 0.0768287 -0.049436 0 0 0 0 0 0 -0.135536 0 -0.152114 0 0 0 0 0.0844212 0.221761 0 0 -0.345208 0 -0.0425175 0 -0.0214492 0 0 0.108874 0 -0.117467 0.0522793 -0.0488663 0.0049576 0 0 -0.162458 0 -2.37526 0 -2.2774 -0.586644 0 0.329703 -0.616804 -0.0071096 0 0.0184744 0 0 0.0165566 0 -1.37482 -0.212852 0 0 -0.0677536 0 0 -0.040588 0.737699 0.110935 0 -0.101796 0 -0.659226 0.120529 -0.081983 -0.0931988 0.0380829 -0.00969807 0.558999 -0.323159 0.980001 6.29917 0.0091101 0 0 0 0.0857498 0.141823 0 0 0 0 -0.023164 10.3141 2.44028 -2.13745 0.891069 -0.941028 1.51029 0.225256 -0.25065 0.348895 -0.356768 0 0 0 0 0 0 -148 0 0.721722 -0.0665103 0.181344 0.105027 0.0949083 -0.0191692 0.217556 0.759539 0.597414 -1.46347 0.00469275 -0.0681242 -0.282713 -0.135004 -0.0505952 -1.00482 -2.64656 -0.34235 -0.0817994 0.156809 -0.0916787 -0.0181636 0.36469 -0.34982 0.0904988 -0.296826 0.158453 0.0326883 0.433138 -0.0251479 0.531473 -0.133292 -0.307129 0.0781643 -0.000104056 0.0476947 1.21557 -1.95476 0.291481 -0.022382 -0.41926 2.33536 0.335418 -0.339143 -0.45824 -0.0100109 0.122428 -0.252415 -0.403055 0.816863 -0.274603 -0.899802 0.0327035 -0.0740254 0.191332 -0.605768 -0.0460796 0.164625 0.242067 0.43446 -0.902828 0.00840487 0.055664 0.466919 -0.317169 -0.386881 -0.220704 1.31902 -0.471996 0.205036 0.295393 0.516723 -1.42264 0.263734 -0.153569 -1.75023 7.97186 2.29527 1.7524 0.961243 -0.062759 1.59221 0.987671 -0.817868 1.90993 -1.97758 1.60367 -1.18471 0.17385 0.0450325 -1.76144 0 0 0 0 0 0.181344 0.105027 0.00952576 0 0 0 0 0.0047294 0 -0.115374 0 0 0.00365751 0.0602593 -0.502184 0 -0.0681406 0.711831 -0.816158 0 0 -0.657246 0.00283026 0 0.127757 3.46408 0 0 -0.0506546 1.70545 0 0.400014 0 -0.234022 0 0 -0.0149685 0 0 0.565082 0.100731 0.0764285 0 0.201203 -0.102327 0 0 -0.147876 0 0.0153549 -1.98123 -0.12804 0 0 -0.00693931 -0.016875 0 0.0126681 0.234834 -0.0210081 -7.23794 -0.0892876 -0.0939486 0 -0.00913368 0.722395 0.937547 -0.459103 -0.352638 0 0 0 -4.65919 -0.442962 2.83904 -0.0208495 0.0442225 -0.62271 -0.00253082 0.00572657 -0.0796715 0.908168 0 0 0 0 0 0 0.0949083 0 -0.0191692 0 0 0 0 0.0106186 0.541598 0 0 -0.290689 0 -0.049577 0 0.00645613 0 0 0.0262885 0 0.0395812 0.00128831 -0.0689713 0.00420514 0 0 0.0372303 0 1.53954 0 -1.0146 -0.182712 0 -0.0068972 -0.103454 -0.0132232 0 0.00169914 0 0 0.0721499 0 0.0628981 -0.239606 0 0 -0.0298244 0 0 0.324634 -0.883682 0.134056 0 0.865535 0 -0.416202 0.103781 -0.110293 0.66837 -0.00201506 -0.523062 0.0742638 -0.0786489 -0.343051 -0.378964 -0.082594 0 0 0 -0.0109099 0.122128 0 0 0 0 -0.0996543 5.70085 1.54432 -0.209439 0.429723 -0.278268 0.497968 0.153367 -0.133156 0.184739 -0.123336 0 0 0 0 0 0 -149 0 0 0 0 0 0.387595 0.00570398 -1.32063 -2.99759 0 0 0.0659271 -1.26356 0 -2.1722 -0.00319169 0 0 0 -0.0858463 -3.6565 0 0 0 0 -0.343617 0 0 0.310693 0.220538 -0.796842 0 0.0465164 0 0 -0.163959 0.0144927 0 0 0.243226 -1.24876 0 0 0.112918 -3.45454 0 -0.584343 0.343129 0.0414668 -0.20146 -3.10164 -0.157543 0 0.0527188 -0.0964325 0.173723 1.02396 0.133246 0.208663 0 0 0.432892 -0.903901 0 -2.59897 0.0606164 -0.0780782 0 0 0 0 -0.348231 0.21878 0 0.473856 -1.98502 0 0 0 4.5788 0 -0.332635 1.53324 0 -0.175794 0.157479 4.28549 0 -0.275503 0.0291878 -0.449821 1.59471 0 0 0 0.0888599 0.00225306 0 0 0 -0.0153801 0 0 -0.000680121 0 0 -0.00154365 0 0 0 0 -0.0345922 0 -0.000876089 0 -0.0610679 0 -0.153911 -0.0754833 0 0.000224549 0 0 0.0763796 0 -0.00189351 0 0 0 0 -0.000872187 0.00539337 0 -1.83592e-05 0 0 0 0 0 0 0 0 0 0 -0.00345633 0 0 0 0 0 0 0 0 0 0 -0.10495 0 0 0 -0.0393612 0.0362825 0 0.0815756 -0.104717 0 -0.0458523 0 -0.0840627 0 0 0 0.0574641 0 0 -0.0718722 0 0 0 0.0144928 0 0 0 0 -0.063858 0 0.387595 0.0888599 0.00570398 0.00225306 0.00935646 0.022731 0.0107317 -0.390606 -0.272424 -0.000171369 6.87618e-05 -0.0162582 -3.34606e-06 -0.00095131 0.000221237 -0.00260672 0.0206191 -0.00831272 -0.67582 0.92652 0.239109 -0.0836078 0.0446199 -0.0869768 0.0518687 0.0354528 -0.0956888 0.022769 -8.16622 0.0415859 3.80296 -1.32441 4.31975e-06 -0.600915 1.36821 0.000767258 0.00242061 -0.0852088 0.0132609 0.208494 -0.00707546 0.00266455 -3.67256 0.0194859 0.00235199 0.0100192 -0.00727215 0.147309 0.0529845 0.903176 3.17325 0.168163 -0.0553954 0.769857 -0.000232366 0.154166 -0.00960862 -0.0662636 -0.0301379 0.0383978 1.79055 -0.055967 -0.0537264 -0.1936 3.1884 -0.117161 0.545862 0.0614665 -0.113051 -0.0925387 0.00152662 -0.0550631 0.000212967 0.0263513 -0.041582 0.00812077 -11.9938 -0.0588759 1.51183 0.00830466 0.348118 -3.11202 0.000205271 0.0326932 0.00133483 -0.0237035 2.10004e-05 -0.0919828 0.099752 -0.0351026 -0.398532 0 -150 0 0 0 0 0 -0.248286 0.28146 0.0390752 0.364115 0 0 0.0336225 1.90818 0 3.83906 0.00151065 0 0 0 0.0318419 3.20622 0 0 0 0 -0.117651 0 0 -0.297834 4.04408 1.06008 0 0.00166688 0 0 -0.0973652 0.00683604 0 0 0.0325737 2.1021 0 0 0.0404656 6.82577 0 1.10456 0.7228 -0.0747212 -0.0826857 2.74196 -0.122112 0 -0.0211469 0.0123111 -0.0197406 -6.43734 -0.268883 -0.174762 0 0 0.13365 -2.57314 0 0.20423 -0.420172 0.198998 0 0 0 0 0.0482425 0.289162 0 -6.03356 -0.839815 0 0 0 -0.126645 0 -0.409796 -3.17937 0 -0.129196 0.145821 -2.40617 0 -0.135365 0.138974 -0.470562 -7.26847 0 0 0 0.00794077 0.00020134 0 0 0 -0.00128139 0 0 -5.91865e-05 0 0 -4.68913e-05 0 0 0 0 -0.00288021 0 -7.49393e-05 0 0.000278301 0 -0.00834824 0.00227918 0 3.31886e-05 0 0 0.0120249 0 -2.59405e-05 0 0 0 0 0.00041589 0.000936528 0 6.19913e-06 0 0 0 0 0 0 0 0 0 0 -0.00459136 0 0 0 0 0 0 0 0 0 0 -0.00607089 0 0 0 -0.00316373 0.00375085 0 0.00530822 -0.0104753 0 -0.00405204 0 -0.00370641 0 0 0 -0.000261877 0 0 -0.0113152 0 0 0 -0.00185371 0 0 0 0 -0.0100535 0 -0.248286 0.00794077 0.28146 0.00020134 -0.45355 -0.124802 0.000959013 -0.571771 0.0300069 -1.5314e-05 -0.0197653 0.0171943 -2.99014e-07 0.00021102 1.97703e-05 3.56957e-05 -0.01505 -0.000742849 0.0191562 -0.377227 0.176002 -0.162051 0.0223567 -0.0764033 -0.134628 0.278734 0.00837075 -0.0140222 5.59812 -0.00625564 0.519488 1.77085 3.86025e-07 -0.751341 0.648935 0.000360184 0.000635807 -0.123038 0.0051771 1.53027 0.000230568 0.0564613 3.59482 -0.582877 -0.00221757 2.28182e-05 -0.190555 -0.0696383 -0.0890871 -1.51216 2.5103 0.171326 0.0185258 -7.58494 -2.07649e-05 2.05289 6.96467e-05 -0.158288 -0.0179688 0.483704 0.300718 0.000495473 -0.0711158 0.146698 -31.0135 0.0432691 -0.154949 -0.0168203 -0.277973 -0.117639 -0.000182064 -0.0103788 1.90313e-05 -0.0424885 0.0895158 -5.88622e-05 -1.63837 -0.0386585 1.24994 0.000515211 -0.00143831 -3.88052 -5.21064e-06 -0.0221018 0.0580728 -0.498807 1.87666e-06 -0.0368515 -0.0921145 0.207635 -1.85343 0 -151 0 0 0 0 0 -0.656633 -0.033311 0.597133 3.08081 0 0 0.0698467 0.190526 0 1.13761 0.0072751 0 0 0 -0.0219901 -3.51126 0 0 0 0 0.207007 0 0 -0.170129 4.24538 0.43633 0 0.0813507 0 0 -0.0148 0.00511389 0 0 0.0470233 0.0959381 0 0 -0.0026686 -0.566011 0 0.427497 0.35415 0.0906264 -0.00263037 2.03853 0.111047 0 0.00363721 -0.0337973 0.12257 -0.137513 -0.023054 0.0333302 0 0 -0.181356 3.29741 0 1.19563 0.128505 0.228561 0 0 0 0 0.0906341 0.129828 0 3.75038 0.616679 0 0 0 -4.50058 0 0.131836 -6.40449 0 0.106988 -0.224298 -6.98591 0 0.04375 -0.462942 0.557348 -9.34162 0 0 0 -0.00477375 -0.000121039 0 0 0 -0.000482346 0 0 1.77932e-07 0 0 8.49556e-05 0 0 0 0 0.00021727 0 2.10123e-05 0 0.00340842 0 -0.0123215 -0.0213961 0 3.80071e-06 0 0 0.00167373 0 -0.000302324 0 0 0 0 -0.00658561 0.000255753 0 -0.000104307 0 0 0 0 0 0 0 0 0 0 9.0316e-05 0 0 0 0 0 0 0 0 0 0 0.000845966 0 0 0 -8.20761e-05 -0.000564062 0 -0.000645866 0.000175211 0 -0.000298486 0 0.0015964 0 0 0 -0.00320728 0 0 -0.00157496 0 0 0 -0.00166665 0 0 0 0 -0.00139934 0 -0.656633 -0.00477375 -0.033311 -0.000121039 -0.768105 -0.150848 -0.000576529 0.664851 -0.0571854 9.20632e-06 -0.0106605 -0.0291253 1.79758e-07 -0.000425135 -1.18853e-05 -0.000294953 0.000927084 0.000446577 1.41039 0.262906 0.0848104 0.567198 -0.0160417 0.201494 -0.0530387 0.393187 -0.0222598 0.0152914 8.46375 -0.00928164 0.224543 1.15938 -2.32066e-07 2.55427 0.415714 -0.000257832 0.0015826 0.105401 0.00347269 2.24889 -0.00076007 0.0580618 3.10534 2.94877 -0.000284391 0.00429446 0.475146 0.083787 0.0696673 0.388143 -1.81012 0.406477 -0.0312907 1.8343 1.24832e-05 -0.394681 -0.000710468 -0.186609 0.0323241 -0.530583 -0.737082 -0.0191177 0.0243274 -0.0347841 -1.80375 0.112677 0.185334 0.0127232 -0.355464 -0.0279307 0.000430352 -0.044514 -1.1441e-05 0.0312701 0.0891199 0.000600455 -0.708166 0.0409378 -6.75497 -0.000987841 0.268156 -5.81552 2.68653e-05 -0.0374631 0.186035 -3.25761 -1.12819e-06 -0.0944739 -0.16979 0.467791 -3.11152 0 -152 0 0.812414 0.228142 0 0 0.0101745 0.160125 0.540976 0.418948 0 0.204869 0 1.07799 0 1.26224 0 -0.2179 -1.68948 0.0258568 0 2.15911 0.00490041 -0.109546 0 0.0581957 0.0056018 0.0298551 0.000926795 -0.247142 0.373447 0.592551 0 0 -0.441402 0.00988687 -0.00592665 0 0.0209262 -3.36196 0 1.30508 0 0.0999492 0 1.99947 0 0.788973 -0.0692111 0 0 1.41603 0.105588 4.83843 0 0 0 -0.629956 -0.0420248 0 -0.11131 0 -1.04674 -1.64061 -0.772445 1.6266 -0.0125078 -0.369616 -0.246395 -0.00397612 0 -0.345933 0.0612614 0 -0.0384469 -0.834509 0.381706 -0.195366 12.1697 -0.21255 3.77253 0.21677 -0.311475 3.59442 -0.143088 0.148048 -0.446901 0.262357 0 0 0 0 -0.748141 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0101745 0 0.160125 0 0 0 0 -0.124711 0.0319957 0 0 -0.0863773 0 -0.00453968 0 -0.000629036 0 0 0.814605 0 -0.587247 -0.0362965 -0.0164527 0.118923 0 0 -0.0441841 0 4.15987 0 -6.24951 0.692022 0 -0.295022 -2.08545 0.00072119 0 -0.00418862 0 0 0.0126068 0 1.78043 1.36988 0 0 0.203504 0 0 0.499563 0.947429 -0.00668475 0 1.94461 0 0.404909 -0.0131229 0.00726943 -0.173005 -0.0746725 -0.196014 -0.266108 0.00894397 -0.162854 5.37411 -0.00555949 0 0 0 -0.0234993 -0.0434709 0 0 0 0 -0.0420972 32.7582 0.840357 4.96712 0.505839 -0.485453 3.20288 0.0189436 -0.0378028 0.062023 0.140005 0 0 0 0 0 0 -153 0 -0.467307 0.139665 0 0 -0.1878 -0.222268 0.534456 1.54852 0 -0.0105307 0 -0.409436 0 -1.40547 0 0.742103 3.64782 -0.00508328 0 -1.23709 0.000935016 -0.140204 0 0.0132518 0.444904 0.14795 0.00106163 0.402369 -0.307163 -0.406935 0 0 -0.183744 -0.00539123 0.252257 0 0.0158141 1.13227 0 -0.926384 0 -0.0277868 0 -1.81239 0 -0.669222 0.183847 0 0 -2.29638 0.0873045 -4.15753 0 0 0 1.06974 0.015479 0 -0.0216887 0 0.462586 0.620432 0.492458 -0.654339 0.043379 -0.479099 -0.0362002 0.0122805 0 -0.075811 -0.0244109 0 -0.0266878 1.84427 -0.421516 0.0280794 -0.571424 -0.249591 -1.48534 -0.0919108 0.0448118 -0.367269 -0.0452315 0.0826797 -0.123447 -1.49988 0 0 0 0 0.615353 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1878 0 -0.222268 0 0 0 0 0.381782 -0.165869 0 0 0.0177935 0 0.00127656 0 -0.00251217 0 0 -0.0250172 0 -0.276361 0.145642 0.000111146 0.00413876 0 0 -0.0245656 0 0.599369 0 0.844273 -0.84787 0 1.02878 -0.258307 -0.000746354 0 0.0456121 0 0 -0.0156632 0 -1.05154 0.347931 0 0 0.0474824 0 0 0.00717509 -1.4736 -0.291941 0 0.93583 0 -0.57174 -0.041284 0.0863605 -0.308237 -0.0864418 0.206541 -0.116059 -0.0502358 -0.116197 7.34368 0.0434629 0 0 0 -0.0219676 -0.00562555 0 0 0 0 0.0237057 -2.46604 -0.0999136 -2.09996 -0.226014 0.208116 -0.389822 -0.0244082 -0.0152117 0.0567459 -0.600482 0 0 0 0 0 0 -154 0 -1.29902 -0.136424 0 0 -0.383962 0.0161506 -0.516187 0.668912 0 -0.0586562 0 0.32569 0 -0.0749341 0 2.3554 4.38886 0.00670651 0 0.495418 6.40329e-05 0.0388702 0 -0.0223642 -0.0676997 0.954902 0.00220734 -0.553624 -2.01337 0.133508 0 0 0.724169 0.0298539 -0.272238 0 0.00571441 5.1106 0 0.490609 0 0.125542 0 -0.769593 0 0.35233 -0.996956 0 0 -2.24426 0.0378823 -5.98892 0 0 0 -0.508512 -0.0153994 0 0.00612253 0 0.741288 -0.966229 0.723891 -0.383686 0.0392235 0.584225 0.176881 -0.0328182 0 0.0989775 0.0225795 0 -0.0347818 -0.593269 0.151016 -0.104202 -14.6241 0.212165 -5.51873 0.00600846 0.184484 -3.5243 0.142712 -0.137902 0.0462201 0.185872 0 0 0 0 4.03347 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.383962 0 0.0161506 0 0 0 0 0.61004 0.0615238 0 0 -0.0935966 0 -0.0129077 0 0.001693 0 0 -0.47401 0 -0.392621 0.217456 -0.0157154 -0.0498141 0 0 0.0230978 0 -8.31347 0 6.06909 -0.327476 0 1.78825 0.785814 -0.00137417 0 0.0794723 0 0 0.00470281 0 -1.8231 -1.70182 0 0 -0.172227 0 0 -0.227611 0.292658 -0.45236 0 0.637026 0 -1.0735 -0.0269333 0.157043 0.219265 -0.115966 0.0557972 0.342403 0.0711766 -0.179884 11.8431 0.0611079 0 0 0 0.0548849 -0.0198276 0 0 0 0 -0.0452261 -34.851 0.482336 -9.47522 -0.45004 0.46243 -3.31977 0.0556702 -0.116262 0.153564 -1.10397 0 0 0 0 0 0 -155 0 0.800114 0.275992 0.000577443 0.0477473 -0.0623695 0.0409086 1.34206 1.86447 -0.000396984 0.318999 -0.014906 1.32549 2.62561e-07 2.79579 -0.00107475 0.813479 4.43676 0.110278 -0.00287531 4.87109 0.0135339 -0.0229138 -3.16419e-07 0.082419 0.513568 0.0538813 0.0109666 0.277981 1.21385 0.621766 -1.41593e-05 -0.0729363 0.106465 0.06594 0.337235 -0.000307641 0.00478267 -0.65031 -0.0406835 1.66777 1.21169e-05 0.160436 -0.000780065 5.7408 0.000372767 0.510025 0.599086 -0.198606 0.00262706 2.11953 0.0494643 6.27467 0.00297775 -0.000586539 -0.0106824 3.35788 0.171402 -0.0672561 -0.150553 -6.28651e-05 -2.09425 0.542125 -2.51794 0.377777 -0.113981 -1.3392 -0.499241 0.0836385 5.86563e-05 -0.328946 0.0940529 -0.0691827 -0.0191206 0.0184242 0.280446 0.0853174 2.42296 -0.206257 -2.3383 0.0758467 0.131342 -3.15403 -0.225354 0.147214 -0.269514 -5.16253 -7.73592e-07 5.64588e-05 -0.00199091 0.126206 -4.76322 0 0 0 0 0 0.000577443 0.0477473 0.000155902 0 0 0 0 3.35758e-06 0 0.00413863 0 0 4.52877e-05 1.24185e-05 0.000419205 0 5.79307e-05 -0.000464453 0.029938 0 0 -0.0598634 8.81483e-07 0 -0.000575934 -0.154828 0 0 -0.0090996 -0.0166777 0 -0.0221999 0 -0.000886077 0 0 -0.000130698 0 0 -0.0438781 4.77904e-05 0.000627766 0 0.00221267 0.00172797 0 0 -0.0270991 0 0.000346659 -0.0597838 -0.000470991 0 0 -1.07101e-05 -0.000231016 0 -0.000914172 -0.0230851 2.48954e-05 -0.224373 2.72036e-05 0.0127043 0 0.00165133 0.00315325 -0.0700998 1.49625e-05 0.0110489 0 0 0 0.0901548 0.00157274 -0.0216341 -0.00181928 0.00212422 0.0247558 -3.54165e-05 4.62416e-05 -8.43412e-05 -0.0126338 0 0 0 0 0 0 -0.0623695 0 0.0409086 0 0 0 0 -0.146732 0.464442 0 0 0.0469764 0 0.0121454 0 0.0132082 0 0 0.583301 0 -0.0534786 -0.0476049 0.0600557 0.0675339 0 0 0.117298 0 10.134 0 -4.45966 0.853225 0 -0.325727 -1.14684 0.00979824 0 -0.0208197 0 0 0.0525688 0 3.0117 1.27787 0 0 0.146672 0 0 0.387719 -5.79435 -0.236723 0 1.68233 0 -1.32791 0.195678 -0.129054 -0.10449 -0.274991 -1.41999 -0.408694 0.0405898 -0.117124 0.806715 0.034118 0 0 0 0.0773124 -0.0930722 0 0 0 0 -0.114904 25.6639 1.91364 2.09631 0.68601 -0.45489 2.07875 -0.124367 0.0583373 0.0285075 0.0757165 0 0 0 0 0 0 -156 0 -0.281009 0.0509406 0.000265455 0.0254225 -0.280664 -0.174513 0.48818 1.49004 0.00132839 -0.0421517 0.00600881 -0.988706 -2.31985e-07 -2.62877 -9.96031e-05 1.46806 2.58887 -0.00968149 8.07368e-05 -2.9757 9.00421e-05 -0.0411394 2.01075e-07 0.00904292 0.171415 0.582956 -0.0069955 0.140611 0.467151 -0.646854 1.62724e-05 0.00310424 0.143817 -0.0894779 0.0320971 1.71124e-05 -0.029848 1.59717 0.0270867 -1.21316 -2.01635e-05 -0.344679 0.000213482 -4.92202 -0.00174399 -0.518734 0.252836 0.0272622 -0.00099627 -1.24629 0.101355 -12.8225 -0.000741492 0.00117478 -0.0162822 -2.6076 -0.0479785 0.0144693 0.012606 2.74067e-05 0.838534 0.726744 0.630435 0.66518 0.0618107 0.0576096 -0.118327 -0.10294 -2.36073e-05 -0.0130266 0.00194021 0.00532228 0.0723266 1.48396 -0.304915 -0.217534 -3.70175 -0.699071 -1.38987 -0.34384 0.277926 -1.3987 0.00597289 0.0664615 -0.181298 -1.52199 3.61924e-06 -9.47475e-05 0.00293702 -0.035294 -1.83313 0 0 0 0 0 0.000265455 0.0254225 -0.00014164 0 0 0 0 -1.16543e-06 0 -0.00117142 0 0 4.48165e-05 -8.39314e-06 -3.35568e-05 0 -7.93281e-06 0.000183426 -0.00574793 0 0 0.0135901 -4.7735e-07 0 0.000121267 0.0174847 0 0 0.0014646 0.00938004 0 0.00804198 0 0.00014025 0 0 1.45639e-05 0 0 0.0331844 -1.68592e-05 0.000455678 0 -0.00204181 0.00223495 0 0 -0.00161656 0 3.93555e-05 0.00514135 -0.000311318 0 0 0.000469393 0.000271402 0 -0.00110461 0.00645017 -0.0016421 -0.0454273 1.5334e-05 0.00253615 0 -0.00203547 0.00232492 -0.00858346 -0.00392383 -0.00317426 0 0 0 -0.0306423 -3.5623e-05 0.006343 -0.000800825 0.00144108 -0.00553905 0.000102703 -7.91141e-05 -0.000108248 0.000423795 0 0 0 0 0 0 -0.280664 0 -0.174513 0 0 0 0 0.0152186 -0.13671 0 0 0.00956972 0 0.00242372 0 -0.0025722 0 0 -0.303178 0 -0.66281 0.148878 0.0241962 -0.0424973 0 0 -0.0172553 0 -6.09926 0 -0.519314 -1.1776 0 0.795718 -1.29919 0.00319253 0 0.0250522 0 0 -0.0171893 0 -2.62551 -0.634904 0 0 -0.0981686 0 0 0.406978 0.213252 -0.0633456 0 3.29681 0 -0.416531 -0.0568816 0.1364 0.0788142 -0.0402631 0.871494 0.0422893 0.0234453 -0.790799 13.095 0.0295071 0 0 0 -0.0587618 0.00666665 0 0 0 0 -0.00310564 -4.123 -0.878335 -1.7137 -0.975629 0.583691 0.284824 -0.0510728 0.0127526 0.026186 -0.480221 0 0 0 0 0 0 -157 0 -1.27742 -0.165432 0.00193992 0.100616 -0.418183 -0.305642 0.964621 2.5428 0.00941732 0.181254 0.0589487 -0.585357 -2.16531e-06 -0.504707 0.00237511 -0.857323 -3.7637 0.109447 0.00549574 -0.1173 0.0123377 -0.133636 2.64492e-06 0.0509729 0.675502 -0.321604 0.00400082 0.804298 2.49203 -0.447578 0.000160127 0.128165 0.201918 0.0654491 0.361274 0.00121794 -0.0657688 3.07987 0.164294 -0.823641 -0.000136246 -0.0636696 0.00320688 -0.691542 -0.00835493 -0.767948 1.48647 0.30201 -0.00649002 -1.75118 0.0542863 -2.90949 -0.00657249 0.00761996 -0.0999738 -0.474716 -0.1618 -0.140336 -0.0136837 0.000164577 -1.23157 -0.133375 0.0318713 -2.30765 0.0144321 -2.29119 0.11376 -0.0942399 -0.000167294 0.128488 0.0305897 0.116827 0.124023 -0.562473 -2.43982 0.0175764 -8.67858 -0.4042 -5.72715 -0.671428 0.431325 -7.48439 -0.233528 0.0711963 -0.0456884 -7.47092 1.73387e-05 -0.000489736 0.0138068 -0.227123 -9.77888 0 0 0 0 0 0.00193992 0.100616 -0.00144014 0 0 0 0 -3.03125e-05 0 -0.00297404 0 0 -0.000211628 -0.000118588 -0.000206406 0 -2.91454e-05 0.000717842 -0.0195621 0 0 0.0855077 -8.15541e-06 0 -0.000429779 -0.0127491 0 0 0.00832696 0.0224612 0 -0.00175842 0 0.00160841 0 0 0.000145198 0 0 -0.0544749 -0.000432565 -0.00329283 0 -0.0205936 -0.00702696 0 0 -0.00960708 0 -0.00273055 0.0146552 0.00305021 0 0 0.00121239 0.00237352 0 0.00274944 0.0321212 -0.00377436 -0.00722377 0.00178699 -0.00263611 0 -0.0095204 -0.00176714 -0.0080812 -0.0101784 -0.00741271 0 0 0 0.115252 -0.00816578 0.0341741 0.00891674 -0.00952507 0.000988334 0.000492422 -0.000511636 0.000330093 0.00454034 0 0 0 0 0 0 -0.418183 0 -0.305642 0 0 0 0 -0.262233 -0.196073 0 0 0.0123495 0 0.0112488 0 -0.00241557 0 0 0.00659624 0 0.558085 0.0653638 0.0722061 0.00823718 0 0 -0.0190058 0 0.708797 0 3.9445 -0.155685 0 0.619563 0.908834 0.00964533 0 -0.0353194 0 0 -0.015939 0 0.349991 0.0572815 0 0 0.0292241 0 0 -0.220198 0.828616 -0.230628 0 -1.85583 0 0.565033 -0.0645186 0.12827 -0.0337263 0.0657017 -0.0198597 -0.0465071 -0.0635698 0.185586 -4.74841 -0.0377201 0 0 0 0.0161165 0.0157729 0 0 0 0 0.00202181 -25.5736 -1.2026 -4.16741 -0.656448 0.491031 -1.97577 -0.139297 0.0234524 0.0826805 -0.457297 0 0 0 0 0 0 -158 0 0.0236418 0.353064 0.121243 0.261902 -0.252012 -0.24105 0.168475 2.59353 0.614556 -2.30464 -0.0358988 -0.0908653 -0.049003 -0.131916 0.0557178 1.91959 5.50986 -0.366412 0.143149 0.728205 -0.0328483 -0.40616 0.0632349 -0.618615 0.579739 0.747172 0.357817 0.259171 1.20484 -0.0431648 0.218817 0.118684 -0.674542 1.08153 0.0504078 0.0322422 0.851557 -0.373716 0.0866678 0.0889859 -0.170215 3.08124 0.127324 -0.534781 -0.479612 -0.165534 0.540521 0.568844 -0.207861 1.08635 -1.14969 -1.67802 -0.214938 0.196531 -0.271812 2.02477 0.0730247 0.0825571 0.951805 0.263774 0.941494 0.0695215 2.71821 -3.54796 -1.39088 0.559134 2.372 1.21165 -0.285395 2.11542 0.0435102 -0.132147 -1.15565 1.08215 0.175584 -1.96578 5.75848 7.06797 -9.20219 1.98067 -1.76243 -1.75038 1.76762 -1.82642 3.08911 -4.78624 0.56522 -0.472552 0.32907 0.871061 -5.22029 0 0 0 0 0 0.121243 0.261902 0 0 0 0 0 0 0 0.0283327 0 0 0 0 0.0869431 0 0.0123198 0.0108684 0.194698 0 0 0.00883448 0 0 -0.0681279 0.28491 0 0 -0.00828211 0.0469095 0 -0.0316768 0 -0.0247021 0 0 -0.00870181 0 0 0.286324 0 0 0 0 0 0 0 -0.0799866 0 0 -0.206075 0 0 0 0 0 0 0 0.104908 0 0.769713 0 0.0131415 0 0 0.0643731 0.353092 0 0.0921795 0 0 0 -0.523212 0 -0.230059 0 0 -0.134064 0 0 0 -0.0810579 0 0 0 0 0 0 -0.252012 0 -0.24105 0 0 0 0 -0.00750811 0.749959 0 0 -0.293515 0 -0.0353457 0 0.00263224 0 0 0.0396058 0 0.473994 0.0220463 -0.00298695 0.00642713 0 0 0.012125 0 -0.67863 0 2.64764 -0.149566 0 0.25474 1.34226 -0.00207603 0 -0.00356908 0 0 0.0831481 0 -0.341139 -0.898704 0 0 -0.0773618 0 0 -0.327115 -0.94379 0.114307 0 -0.321594 0 0.0816425 0.061497 -0.0693996 0.0269099 -0.0324685 -0.157356 0.0176721 0.0227044 -0.179305 -0.927843 0.0102126 0 0 0 0.167466 0.00522887 0 0 0 0 -0.180352 -19.2829 0.918456 -4.26404 -0.0364713 0.298263 -2.00811 0.0673564 -0.027734 0.119802 -0.200448 0 0 0 0 0 0 -159 0 -1.0425 -0.42706 -0.0680125 -0.0887788 -0.135886 0.184293 -0.136377 -0.567282 -0.412904 1.20176 0.139726 0.857253 0.0278627 1.42047 0.050058 -0.874003 -3.8379 0.270892 0.0431236 0.895786 0.0769996 0.305789 -0.0360472 0.454577 -0.214982 -0.320548 0.0165635 -0.2367 -0.687318 0.253804 -0.131206 0.322656 1.10403 -0.219001 -0.00753527 0.00738572 -0.0811394 5.26112 -0.0216101 0.298043 0.0995304 -1.68671 -0.0642186 5.05374 0.298561 0.250461 -0.495561 0.245946 0.130096 -0.83202 0.554489 5.15672 -0.0871306 0.0719109 -0.237405 2.36177 0.159639 0.0922824 -0.621076 -0.170159 0.42368 -0.0455363 1.08462 2.06759 0.912207 0.174793 -0.776117 -0.306359 0.194047 -0.664924 -0.209726 0.110099 0.401338 0.993753 0.765301 2.04473 -20.2868 -5.92165 0.034791 -4.3761 2.60261 -3.90116 -1.31964 0.927868 -1.06088 0.505848 -0.351853 0.27511 -0.241797 -0.5572 2.97798 0 0 0 0 0 -0.0680125 -0.0887788 0 0 0 0 0 0 0 -0.00652003 0 0 0 0 -0.0397283 0 -0.0048914 0.0227655 -0.0598304 0 0 0.293969 0 0 0.0644192 0.761927 0 0 0.0459696 0.132009 0 0.116465 0 0.0784766 0 0 0.0140309 0 0 0.422577 0 0 0 0 0 0 0 0.119397 0 0 0.23169 0 0 0 0 0 0 0 0.162479 0 1.83847 0 -0.057711 0 0 0.00750411 0.602863 0 -0.00532705 0 0 0 -0.757562 0 -0.0180205 0 0 -0.211303 0 0 0 0.0258952 0 0 0 0 0 0 -0.135886 0 0.184293 0 0 0 0 0.186028 -0.494064 0 0 -0.0822416 0 0.00601411 0 -6.38946e-05 0 0 -0.120706 0 -0.0476054 0.0438026 -0.0947034 -0.0125475 0 0 0.0306378 0 -0.00536623 0 2.62276 0.214313 0 0.384835 0.357678 -0.00541714 0 0.022264 0 0 -0.0635324 0 0.280269 0.809969 0 0 0.0932974 0 0 0.192382 -1.02397 0.320867 0 -0.572325 0 0.0345827 0.00902172 -0.128932 -0.186305 0.0312945 0.33028 -0.279912 0.0207689 0.983162 2.69196 0.0117583 0 0 0 -0.133029 -0.0238062 0 0 0 0 0.208841 -12.8521 0.0303149 -2.33528 -0.462936 0.447489 -1.24105 0.0285407 -0.0272588 0.130486 -0.330785 0 0 0 0 0 0 -160 0 -1.1838 -0.585628 -0.0151131 -0.0270864 -0.231741 -0.147699 0.268086 2.58805 -0.0831244 -0.00729962 -0.165829 -0.823936 0.00614407 -1.43055 -0.073122 -2.46566 -10.5703 -0.0172534 -0.175077 0.391257 -0.0746131 0.321855 -0.00793732 -0.0684073 0.303386 -0.827064 -0.27857 0.0775831 1.36583 -0.389999 -0.0280848 -0.346353 1.63025 -0.527188 -0.0601437 -0.0379269 -0.881819 8.2111 -0.460393 -0.0224471 0.0216046 -2.04267 -0.105178 -3.8403 0.0626075 -0.0367633 0.284778 -0.861827 0.238609 -3.76589 0.711066 4.82064 0.264664 -0.24588 0.14222 2.0716 0.530788 0.141111 0.0510732 -0.0350023 -1.4964 -0.429628 -0.624125 -0.794709 1.96595 0.585749 1.25855 -0.985987 0.0388221 0.964386 -0.324643 -0.569658 0.902304 -0.0118638 0.30107 1.79263 -41.9444 -3.08127 -11.3318 -3.90897 5.89525 -17.8828 0.203357 0.328254 -0.932152 -4.35864 -0.0737826 0.326305 -0.940444 2.19768 -5.91781 0 0 0 0 0 -0.0151131 -0.0270864 0 0 0 0 0 0 0 0.017906 0 0 0 0 0.0136245 0 0.00278106 -0.124656 0.0979516 0 0 -0.324402 0 0 -0.0186388 -2.01972 0 0 -0.0222861 -0.513328 0 -0.0645435 0 -0.0610187 0 0 -0.00346992 0 0 -0.0164044 0 0 0 0 0 0 0 -0.0849474 0 0 -0.155532 0 0 0 0 0 0 0 -0.0268239 0 0.189362 0 -0.00479269 0 0 0.107197 -0.01724 0 0.076974 0 0 0 0.0337864 0 -0.0907304 0 0 0.00418054 0 0 0 -0.0410539 0 0 0 0 0 0 -0.231741 0 -0.147699 0 0 0 0 0.276284 -0.397666 0 0 0.29161 0 0.0377344 0 -0.00783976 0 0 0.396206 0 0.49995 0.123438 0.0936609 0.0418773 0 0 -0.103396 0 0.31821 0 5.44454 0.0587871 0 0.827172 1.58098 0.0112165 0 0.0429821 0 0 -0.0358631 0 0.431885 0.458309 0 0 0.0243016 0 0 0.259898 -4.84205 0.231277 0 0.546455 0 -0.931905 0.0454692 -0.142819 0.0132216 -0.219124 -0.367632 -0.300723 0.0622326 -0.175872 -0.24362 0.183638 0 0 0 -0.104606 -0.079126 0 0 0 0 0.0882244 -47.913 -1.22348 -10.7492 -0.660016 0.516825 -3.60282 -0.144949 0.0540945 -0.0737943 -0.656445 0 0 0 0 0 0 -161 0 0.339586 -0.315958 0.00334335 0.109568 -0.182859 -0.113729 0.32791 0.953143 0.017526 0.249747 0.0969979 -1.05718 -9.74574e-06 -1.57009 0.000577854 -2.55712 -9.7042 0.0647212 -0.00165103 -5.00417 0.0085207 0.147495 1.24865e-05 0.0865982 -0.0289811 -0.801007 -0.00760015 -0.393726 -1.98242 -0.219845 0.00048311 0.0560741 0.250278 -0.0346601 -0.00854074 0.00275031 -0.112019 0.867342 0.18614 -2.38274 -0.000388422 -0.505886 0.00524046 -4.61538 -0.0147019 -0.93624 -0.931895 0.0128785 -0.00995073 -1.91272 0.158874 -1.06753 0.00348937 -0.00336638 0.0194019 -2.07287 -0.0485194 0.00462186 -0.0787012 0.000560246 -1.17194 2.57475 0.201508 -0.388988 0.286732 -0.717775 0.095072 -0.145903 -0.000574166 0.119912 0.0813956 0.133517 0.128877 -0.89841 -0.294997 0.635963 -1.1574 -0.502112 -1.74253 -0.278588 0.266475 -0.628696 -0.193464 0.11173 -0.247847 -1.12282 8.73753e-05 -0.00121786 0.0186818 -0.251579 3.44947 0 0 0 0 0 0.00334335 0.109568 0 0 0 0 0 0 0 0.000224801 0 0 0 0 0.000376616 0 2.59141e-06 0.00073986 0.0105359 0 0 -0.0556317 0 0 -0.00211737 -0.149011 0 0 -0.00832397 0.00299105 0 -0.0268688 0 -0.00205912 0 0 -0.000305137 0 0 -0.188126 0 0 0 0 0 0 0 -0.0406248 0 0 -0.0174256 0 0 0 0 0 0 0 -0.021773 0 -0.0590394 0 0.0221682 0 0 -0.0164296 -0.0599221 0 0.0305825 0 0 0 0.342919 0 0.0209639 0 0 0.0888677 0 0 0 -0.0042665 0 0 0 0 0 0 -0.182859 0 -0.113729 0 0 0 0 0.499429 -0.339485 0 0 -0.224415 0 -0.0106783 0 -0.00974107 0 0 -0.928852 0 0.538463 0.211076 -0.0710118 -0.133128 0 0 -0.136331 0 -2.29106 0 0.0469392 0.133854 0 1.2489 0.484725 -0.00128658 0 0.0912542 0 0 -0.0272713 0 -0.510939 -1.80069 0 0 -0.26028 0 0 -0.51138 -2.49442 -0.542472 0 -2.76176 0 -0.428975 -0.0326172 0.143516 0.0434175 -0.121443 -1.29971 0.0437152 -0.0245688 -0.155176 -11.1334 -0.0367088 0 0 0 0.041528 0.0310395 0 0 0 0 0.00786053 -0.919146 0.949979 -3.66421 0.071842 -0.0019946 0.200887 0.0041682 -0.015354 0.122865 -0.631997 0 0 0 0 0 0 -162 0 0.782258 -0.186616 0.00179167 0.044879 0.0521036 -0.309429 0.412017 0.131424 0.0106277 -0.00922022 0.0159578 -0.584648 -5.32045e-06 -0.549376 -0.00111927 -2.20316 -7.58952 0.0068515 -0.00332321 0.122836 0.000137757 0.281976 6.93908e-06 0.0166131 0.293321 -0.869749 -0.000359139 0.860357 0.58672 -0.279873 0.000277948 -0.0439956 -0.184939 -0.00508664 0.360066 0.00063182 -0.0502974 -4.19552 0.0570828 -0.734562 -0.000205735 -0.070088 0.0019071 -2.17271 -0.00738553 -0.984127 0.795253 -0.123857 -0.00388652 0.108398 -0.0182997 5.23083 0.00371764 -0.00328559 0.0308421 1.42295 -0.0087179 -0.00653795 -0.0357228 0.000300933 -0.952964 0.544082 -0.487978 0.606945 0.0788561 -0.451601 -0.331763 -0.0814834 -0.000350921 -0.0649976 -0.00311775 0.0327345 0.0206978 0.303096 -0.778499 -0.274783 11.1914 0.580807 2.32638 0.498072 -0.783489 5.0024 -0.0635492 -0.0347057 0.111468 0.0371946 4.3893e-05 -0.000503556 0.00468206 -0.0231349 -1.02091 0 0 0 0 0 0.00179167 0.044879 0 0 0 0 0 0 0 0.000492775 0 0 0 0 0.000328621 0 1.7845e-05 0.000462572 0.0112348 0 0 -0.0420518 0 0 -0.0012956 -0.0632778 0 0 -0.00661617 0.0112654 0 -0.0291891 0 -0.00122042 0 0 -0.000192827 0 0 -0.130135 0 0 0 0 0 0 0 -0.0170851 0 0 -0.0345337 0 0 0 0 0 0 0 -0.0170564 0 -0.150126 0 0.0126856 0 0 -0.0076772 -0.0630611 0 0.0131044 0 0 0 0.255358 0 0.0047614 0 0 0.0448029 0 0 0 -0.00482835 0 0 0 0 0 0 0.0521036 0 -0.309429 0 0 0 0 -0.0557099 0.213835 0 0 0.0413666 0 0.00611653 0 0.00586372 0 0 -0.20499 0 0.676848 -0.0430183 -0.00221675 -0.0254472 0 0 0.0490537 0 -4.69358 0 -4.2097 -0.792317 0 -0.362617 -0.103743 0.00138708 0 0.000275402 0 0 0.0259423 0 -1.58984 -1.18941 0 0 -0.133153 0 0 0.208709 0.57351 0.216745 0 0.773286 0 0.582565 0.0621581 -0.054907 0.23795 -0.0611183 -0.110784 -0.270647 0.0535042 -0.191936 1.74939 -0.0104665 0 0 0 0.00228443 -0.0333688 0 0 0 0 -0.0458637 25.1243 0.878547 2.86341 0.495672 -0.499006 2.47426 -0.0790872 0.0498748 -0.0331487 0.215208 0 0 0 0 0 0 -163 0 0.172391 0.111339 0.000265754 0.0101964 0.0409577 0.0207388 -0.512615 -0.696363 0.00126028 0.0862341 0.00852795 -1.00141 -7.6415e-07 -1.8001 -8.91411e-05 -0.610195 -1.79047 -0.0258525 -0.000522508 -0.799614 -0.00166717 -0.386689 9.65892e-07 0.0187863 -0.358949 0.0348573 -0.0016075 0.00890994 -0.269708 -0.487841 3.63533e-05 -0.00166969 -0.532558 -0.0145704 -0.262105 0.000244615 0.00802231 -0.0803699 0.0246535 -0.056559 -3.11342e-05 0.0757172 0.000621212 -2.9819 -0.00122161 0.34665 -0.0935264 -0.0169242 -0.00112275 -0.749107 0.0117636 7.47484 0.00075964 -0.000761978 0.0145613 6.08398 -0.0293294 -0.0443985 -0.0404966 4.4457e-05 -0.32323 1.49755 -0.122115 0.517054 -0.0014 0.278429 -0.171137 0.0322113 -4.09926e-05 -0.149486 -0.0430107 0.0240455 -0.0458155 3.95716 -0.284134 -0.12068 -0.777459 0.0543001 -0.190395 -0.0672275 0.0363954 -0.647911 -0.084925 0.0247204 -0.131008 0.810196 7.26018e-06 -0.000128494 0.00186427 -0.0336436 0.4693 0 0 0 0 0 0.000265754 0.0101964 0 0 0 0 0 0 0 0.000939639 0 0 0 0 0.000136355 0 1.82711e-05 -0.000267845 0.00605101 0 0 -0.0221672 0 0 -0.00028268 -0.0892851 0 0 -0.00307064 -0.00938074 0 -0.00373906 0 -0.000542079 0 0 -7.53187e-05 0 0 -0.0111841 0 0 0 0 0 0 0 -0.00817641 0 0 -0.00715172 0 0 0 0 0 0 0 -0.00402342 0 -0.0485341 0 0.00196513 0 0 -0.000345973 -0.0169898 0 0.00195741 0 0 0 0.0183924 0 -0.00318931 0 0 0.00711525 0 0 0 -0.00250849 0 0 0 0 0 0 0.0409577 0 0.0207388 0 0 0 0 -0.187429 -0.112047 0 0 -0.0840651 0 -0.00977632 0 -0.00687592 0 0 -0.755016 0 -0.619723 -0.0572291 -0.0565057 -0.0731523 0 0 -0.0727554 0 -3.39346 0 -0.53055 -1.14873 0 -0.289454 -0.835984 -0.00623717 0 -0.0302292 0 0 -0.0109397 0 -2.40238 -0.846644 0 0 -0.0622977 0 0 -0.143113 -0.556674 -0.000578536 0 0.42625 0 0.446701 -0.0213417 0.0303095 -0.240056 -0.0123615 -0.976683 -0.198373 -0.0719156 0.114324 6.92862 -0.0185106 0 0 0 0.0604434 -0.0127501 0 0 0 0 -0.0265868 4.56623 0.463784 1.15123 0.0208962 0.0570036 -0.649003 -0.0448734 -0.0303319 0.0949772 0.00300722 0 0 0 0 0 0 -164 0 0 0 0 0 -0.750872 -0.197359 0.115565 2.33916 0 0 0.0980112 -0.277776 0 -1.06896 0.0332715 0 0 0 0.156427 1.14926 0 0 0 0 0.424114 0 0 0.268671 -3.08676 -0.344026 0 0.0593845 0 0 0.0801988 0.00634937 0 0 1.35763 0.348676 0 0 0.27858 -1.07948 0 -0.106177 -0.282514 0.337216 -0.395921 0.518964 -0.230338 0 -0.225826 0.17771 -0.273569 1.05284 0.135955 0.333577 0 0 -1.23736 -4.49913 0 -0.340152 -0.251053 0.00386248 0 0 0 0 -0.148293 0.977116 0 -0.839085 0.733347 0 0 0 -2.81254 0 -1.889 3.16758 0 -0.66642 0.161107 -1.66264 0 -0.743505 0.614856 -3.11722 9.9711 0 0 0 -0.288218 -0.0397015 0 0 0 0.0147945 0 0 0.00333691 0 0 0.011693 0 0 0 0 -0.0841865 0 -0.00936996 0 0.041762 0 0.067279 0.0250368 0 0.00495366 0 0 0.204564 0 -0.00996513 0 0 0 0 -0.00797922 0.0311411 0 -0.00435141 0 0 0 0 0 0 0 0 0 0 -0.0102403 0 0 0 0 0 0 0 0 0 0 -0.252411 0 0 0 -0.0547076 -0.0182576 0 -0.0366782 -0.252525 0 -0.0745294 0 -0.213874 0 0 0 -0.0172208 0 0 -0.19123 0 0 0 -0.0884346 0 0 0 0 -0.175667 0 -0.750872 -0.288218 -0.197359 -0.0397015 0.0774979 0.131906 -0.205434 0.358413 0.321449 0.0191455 0.0485723 0.596808 0.00233274 0.0938165 -0.0239206 -0.00156687 0.0429206 0.140602 -0.343242 0.0694648 0.16986 0.240106 0.228021 0.0272316 0.347746 -0.180499 0.0711863 0.027618 -1.71605 0.486869 2.04134 -1.10315 -0.00279534 1.33135 0.691771 0.0329691 0.00758102 0.0545178 0.0759375 -1.19137 0.00595067 -0.0310542 -2.3009 0.18261 0.00557409 0.0545531 0.232181 0.0905094 0.231479 -0.593189 1.47689 0.140967 -0.0809371 0.575167 0.00633099 0.608797 -0.216033 0.062363 -0.854978 0.0159446 0.554574 -0.413227 -0.448702 0.0130424 7.27299 0.119484 -0.66473 0.0393636 0.0402277 0.285649 -0.0954596 -0.092937 -0.00924729 0.0589833 -0.022651 -0.175335 -20.5462 -4.43966 -5.65688 -1.04132 -1.72284 4.05778 -0.196494 -0.285066 0.402201 -0.206 -0.0459738 -0.133621 0.227122 -0.564657 1.44715 0 -165 0 0 0 0 0 0.447365 0.475967 -1.70449 -4.06838 0 0 -0.249098 0.796549 0 0.000520222 -0.1399 0 0 0 -0.214469 3.24568 0 0 0 0 -0.920558 0 0 -0.846513 -3.89726 0.433842 0 -0.798392 0 0 -0.456801 -0.063285 0 0 -0.759831 1.20821 0 0 -0.244097 1.56671 0 0.819588 -1.52765 -1.03862 0.484063 -1.06902 0.845597 0 0.337426 -0.222692 -0.287439 -0.934685 -0.0377776 -0.279682 0 0 -1.62343 -0.738393 0 -0.430543 0.100252 -0.223666 0 0 0 0 -0.857235 -0.743979 0 -0.00722231 0.665426 0 0 0 7.46741 0 1.74165 5.39334 0 0.509463 1.55041 4.68759 0 0.443759 1.54621 -1.21223 10.0779 0 0 0 0.0399023 0.0196682 0 0 0 0.0178612 0 0 -6.91498e-05 0 0 -0.0165754 0 0 0 0 0.0160683 0 0.00384548 0 -0.0868132 0 0.232888 0.353923 0 -0.00649099 0 0 -0.26125 0 0.0451408 0 0 0 0 0.0356532 -0.0415361 0 0.00710531 0 0 0 0 0 0 0 0 0 0 -0.0211822 0 0 0 0 0 0 0 0 0 0 0.17112 0 0 0 0.0313786 -0.0316787 0 -0.120972 0.0114887 0 0.0281627 0 0.175236 0 0 0 0.0937847 0 0 0.247563 0 0 0 0.0506407 0 0 0 0 0.212066 0 0.447365 0.0399023 0.475967 0.0196682 0.347749 0.100771 0.175367 0.131909 -0.266788 -0.0203878 -0.00417461 -0.565193 -0.00268199 -0.0950396 0.0267346 -0.0350224 0.0187101 -0.125516 -0.00766213 0.185356 0.258914 -0.185527 -0.183553 0.00617885 0.107512 -0.135498 -0.333323 -0.00168183 -0.776494 -0.180728 1.78707 0.696138 0.00356187 -0.537178 0.849588 -0.0323092 -0.00340763 -0.00915805 -0.0284399 -0.813067 -0.00940668 -0.0182862 -0.203762 0.563364 8.10491e-06 -0.027372 0.0190126 -0.00515355 0.297566 -0.745772 -6.07816 0.141246 -0.125295 -2.00982 -0.0530142 -0.894748 0.0818311 -0.207506 0.399385 -0.0502482 -0.630206 -0.831814 0.0209999 0.116064 -3.72902 -0.288197 -0.999919 -0.0144282 0.0818061 -0.0737248 0.22215 0.0500887 0.0468936 -0.0567958 -0.0758333 -0.0190086 -17.9869 1.58702 0.868583 0.339492 1.04251 1.54855 0.180711 0.0276004 0.585386 0.407667 0.0410409 -0.00212634 0.219735 -0.122895 0.929237 0 -166 0 0 0 0 0 -0.33427 0.0498883 0.571309 1.63144 0 0 -0.0277652 0.797054 0 1.88502 -0.0043754 0 0 0 -0.0107258 -0.352191 0 0 0 0 0.143889 0 0 0.152817 5.82146 0.518693 0 -0.00559066 0 0 -0.0108612 0.00234693 0 0 -0.488027 0.760866 0 0 -0.0396184 2.50123 0 0.664491 1.26772 0.00320115 0.130147 0.903897 0.169173 0 0.0305259 -0.120599 0.254757 0.928419 0.726677 -0.221549 0 0 0.0553402 3.01113 0 0.562932 0.128102 -0.864281 0 0 0 0 0.105169 0.166953 0 -1.07421 -1.68825 0 0 0 -3.29984 0 0.0139151 -7.33123 0 0.0527709 -1.93282 -3.10662 0 0.344363 -2.31502 4.71525 -20.3364 0 0 0 0.0425123 0.00454843 0 0 0 0.00620027 0 0 5.46011e-05 0 0 0.000795371 0 0 0 0 -0.0121909 0 -0.000887321 0 0.0122266 0 0.122009 0.26714 0 0.00103501 0 0 0.0586685 0 0.0221522 0 0 0 0 0.0898577 0.00854911 0 0.00785127 0 0 0 0 0 0 0 0 0 0 -0.00729007 0 0 0 0 0 0 0 0 0 0 -0.0446979 0 0 0 -0.0277049 -0.0276015 0 0.0761857 -0.0902695 0 -0.0315944 0 -0.00262758 0 0 0 -0.0152493 0 0 -0.05158 0 0 0 -0.00916596 0 0 0 0 -0.0623769 0 -0.33427 0.0425123 0.0498883 0.00454843 -0.661963 -0.0973685 0.0167455 -0.363621 0.659995 -0.00118744 0.00661279 -0.106068 -0.000126424 -0.00895207 0.00136719 0.0227572 0.0197151 -0.0109542 0.146567 -0.67955 0.204403 0.113293 0.0271954 0.0655509 0.0980992 0.310442 0.29135 -0.00857911 5.10873 -0.391658 -0.626702 0.794902 0.000119385 0.342811 -0.232523 0.00037544 -0.00649185 -0.0345029 -0.063421 2.07954 0.0593723 0.0426946 2.01939 -0.153166 0.00161281 -0.0411464 0.0881853 -0.0655355 -0.108916 0.50041 5.36633 0.125447 -0.070187 1.32324 0.00387665 1.57014 0.0594112 0.405395 -0.0305789 -0.00155135 1.97281 0.709811 0.184157 0.508445 6.71866 0.119635 0.576616 -0.0295597 -0.356746 -0.122072 -0.00950072 0.0938972 -0.00284453 0.0534273 0.0963824 0.00662694 6.30777 0.974712 -1.44552 0.157586 1.32872 -7.47673 0.0250479 0.298713 -1.15501 -0.576545 0.00358178 0.185613 -0.610824 0.893288 -2.52842 0 -167 0 -1.37893 -0.466003 -0.0447667 -0.255434 0.286479 -0.0680473 -0.738 -1.89357 -0.295993 1.4855 -0.309345 0.388088 0.00496551 1.69341 0.0188356 -0.248593 -0.761461 0.179257 0.0434313 0.698272 0.0369711 0.422874 -0.00636838 0.317379 0.0280556 -0.409612 0.0601632 0.353013 0.368548 0.208285 -0.0465281 0.0095741 1.13157 0.154826 0.125747 -0.0363707 0.147282 5.12727 -0.432386 0.134535 0.0374801 -0.0757516 -0.0550587 2.60652 0.251271 -0.205211 0.433692 0.122873 0.14757 0.281473 0.768446 2.33439 -0.0813201 0.0775314 0.0669163 -2.33948 -0.280907 0.240302 -0.460672 -0.0747918 1.9177 -1.84696 -0.474474 0.048496 -0.332093 -0.174493 -0.285009 0.184469 0.0754577 -0.999797 0.485563 -0.123467 -0.12397 -2.26533 -0.6934 -0.0742275 -16.3814 -5.61454 2.67937 -2.81926 2.13595 -4.77505 -0.740001 0.646382 -1.55344 2.011 -0.0931052 0.117312 -0.309485 0.469633 -0.707567 0 0 0 0 0 -0.0447667 -0.255434 0 0 0 0 0 0 0 0.0197369 0 0 0 0 0.0281216 0 0.00387563 -0.0196586 0.14426 0 0 0.00212441 0 0 -0.0208523 -0.372046 0 0 0.0126523 -0.0877432 0 -0.0461016 0 0.00100349 0 0 0.00255986 0 0 0.157827 0 0 0 0 0 0 0 -0.0630538 0 0 -0.0652096 0 0 0 0 0 0 0 -0.063274 0 -0.325726 0 0.0175122 0 0 -0.0277446 -0.188559 0 -0.00911789 0 0 0 -0.278051 0 -0.164956 0 0 -0.0834091 0 0 0 -0.0603508 0 0 0 0 0 0 0.286479 0 -0.0680473 0 0 0 0 -0.0627843 -0.654145 0 0 0.819244 0 0.0870021 0 -0.0257847 0 0 0.264897 0 1.11161 -0.122372 0.274842 0.0245182 0 0 -0.275732 0 -3.47382 0 6.06183 0.3031 0 -0.686131 2.5658 0.0270768 0 -0.0282585 0 0 -0.0599884 0 0.14879 -0.160539 0 0 -0.0279804 0 0 -0.054511 -5.68479 0.123257 0 -1.16701 0 -0.826199 0.115946 -0.243504 -0.772629 0.118349 -0.0774503 -0.589177 0.00931799 0.236455 -6.50953 -0.0551639 0 0 0 -0.158802 -0.0789879 0 0 0 0 0.175229 -52.9569 -7.54282 0.867031 -1.2259 0.855096 -2.828 -0.194526 0.151924 -0.423733 0.419407 0 0 0 0 0 0 -168 0 0.659004 -0.10701 0.0292821 0.105828 0.0797816 -0.254599 0.46905 0.659831 0.245543 -0.931013 0.105396 -0.62388 -0.00334526 0.389937 -0.0129734 -0.807181 -3.10031 -0.177084 -0.05358 1.24136 -0.0324979 0.0859821 0.00435887 -0.230974 0.261389 -0.288982 -0.029315 0.572103 0.0987465 -0.25939 0.0340876 -0.0771357 -0.249039 -0.0745013 0.278133 0.0100658 -0.0397628 -1.93841 0.266947 -0.13505 -0.0252074 0.0854946 0.0312969 -0.639339 -0.16669 -0.65377 0.390038 -0.419365 -0.0822776 0.806152 -0.396252 -1.62788 0.0845159 -0.0844657 -0.0306876 2.6657 0.209056 -0.222745 0.329385 0.0543968 -0.608672 1.49073 0.802279 1.04283 0.154109 0.120143 -0.651998 -0.277166 -0.0643667 0.876327 -0.358369 0.0983731 -0.0763598 1.6179 0.229917 0.187234 7.81231 3.9325 -2.50545 1.50474 -1.0832 1.74408 0.514304 -0.402449 0.8953 -0.940733 0.0617646 -0.074138 0.141717 -0.241631 -0.189581 0 0 0 0 0 0.0292821 0.105828 0 0 0 0 0 0 0 -0.0106708 0 0 0 0 -0.0174966 0 -0.00225668 0.00843237 -0.0827231 0 0 -0.0639805 0 0 0.0194301 0.110093 0 0 -0.0174379 0.0286526 0 0.0482337 0 -0.0115885 0 0 -0.00335443 0 0 0.104784 0 0 0 0 0 0 0 0.073924 0 0 0.0483519 0 0 0 0 0 0 0 -0.0385962 0 -0.684387 0 -0.0349714 0 0 0.00690145 -0.162925 0 -0.115878 0 0 0 -0.175359 0 0.0553369 0 0 -0.0638693 0 0 0 0.0345114 0 0 0 0 0 0 0.0797816 0 -0.254599 0 0 0 0 0.296398 0.601843 0 0 -0.324724 0 -0.0345757 0 0.0176069 0 0 0.302896 0 0.498664 0.0531564 -0.173104 0.038823 0 0 0.151144 0 2.33161 0 -0.679838 -0.0408474 0 0.186127 0.450834 -0.0124 0 0.0483017 0 0 0.0600252 0 1.18273 -0.249794 0 0 -0.0232992 0 0 -0.0117846 4.84256 0.0768037 0 1.0711 0 0.916073 -0.038863 0.0870883 0.350923 0.0481497 0.331742 0.343289 -0.0395099 -0.418115 1.9953 -0.0133595 0 0 0 0.123231 0.062902 0 0 0 0 -0.13676 10.2461 3.37388 -2.27098 0.353203 -0.258489 0.468389 0.036003 -0.0360685 0.191883 -0.148323 0 0 0 0 0 0 -169 0 -1.08753 -0.23788 7.20825e-05 0.00636075 -0.379624 -0.152321 -0.276502 1.01948 -0.00456769 -0.594547 -0.0746064 -1.11253 1.455e-06 -1.60694 0.000947603 -1.82879 -7.30796 -0.0815627 -0.00790359 -1.75093 -0.00616483 -0.181014 -8.51988e-06 -0.030752 0.0902317 -0.430353 -0.0086731 -0.159424 -0.908042 -0.456055 -0.000279936 0.00648075 -0.295957 -0.0442393 -0.0785965 -0.00710496 -0.0721482 0.430684 -0.218663 -1.20361 6.81752e-06 -0.38729 -0.0212326 -3.70082 -0.000178064 -0.715008 -0.48075 -0.0873837 0.056082 -1.09875 0.037507 5.09373 0.0079562 -0.0147252 -0.262913 2.45148 -0.903941 -0.652088 0.125491 -0.000411382 -0.923024 3.32657 0.766448 -0.382258 0.178383 0.00189376 -0.0532848 -0.232777 0.00133639 0.478021 -0.342018 -0.266117 0.0176074 3.17369 0.780368 -0.426809 -3.3401 0.452688 -2.90284 0.104709 -0.162857 0.66433 0.260469 -0.475262 1.62891 -2.36795 6.59794e-05 0.040485 0.168402 0.0754523 1.74333 0 0 0 0 0 7.20825e-05 0.00636075 0 0 0 0 0 0 0 0.00945441 0 0 0 0 0.00547028 0 0.000934463 0.0227815 0.054713 0 0 0.141278 0 0 -0.00626315 0.760701 0 0 0.0125503 0.152749 0 -0.0293304 0 0.0144033 0 0 0.0013085 0 0 0.00663491 0 0 0 0 0 0 0 -0.0441894 0 0 -0.0797589 0 0 0 0 0 0 0 0.00268009 0 -0.144509 0 0.00146818 0 0 -0.0484243 -0.0219886 0 0.0315076 0 0 0 -0.015752 0 -0.0512377 0 0 0.000226293 0 0 0 -0.0230527 0 0 0 0 0 0 -0.379624 0 -0.152321 0 0 0 0 0.542234 -0.407322 0 0 -0.354494 0 -0.0413207 0 -0.0126487 0 0 -0.534045 0 0.0152868 0.152327 -0.0762073 -0.103713 0 0 -0.205063 0 -8.21343 0 3.06047 -0.726437 0 1.53588 0.716197 -0.00753272 0 0.0544279 0 0 -0.0202309 0 -2.40408 -1.53865 0 0 -0.264 0 0 -0.042333 1.51729 -0.715738 0 -0.964443 0 -0.444008 -0.11823 0.200322 0.310933 -0.24228 -0.44389 0.349137 0.0829949 -1.46261 -6.55216 0.0855144 0 0 0 -0.187115 0.0575866 0 0 0 0 -0.116995 -28.2757 0.219314 -9.19859 -0.196693 0.00218135 -1.67707 0.24975 -0.254881 0.299455 -0.929783 0 0 0 0 0 0 -170 0 0 0 0 0 0.0517455 0.00882616 0.208379 -0.208067 0 0 -0.114978 0.605077 0 1.57026 -0.0513957 0 0 0 -0.0328071 -1.24158 0 0 0 0 0.121412 0 0 0.426998 2.24486 0.133267 0 0.290408 0 0 0.0931503 -0.0493745 0 0 -1.54859 0.399429 0 0 -0.454376 4.458 0 0.202292 0.831175 1.61 0.846716 -1.66933 0.114507 0 0.606343 -0.0136235 0.287128 -0.0773819 -0.0417352 -0.615391 0 0 0.786531 -1.62993 0 -0.651971 0.919704 -0.294002 0 0 0 0 0.400428 -0.849121 0 -0.32055 -1.21155 0 0 0 0.563945 0 1.86355 -3.22482 0 0.716445 -0.342838 -0.93837 0 1.7604 -1.48131 2.79763 -5.10653 0 0 0 0.26784 0.0788471 0 0 0 -0.0544833 0.0263629 0 -0.00704016 0 -0.00675549 -0.0858068 0 0 0 0 -0.0388431 0 -0.0305045 0 -0.208289 0 -0.400323 -0.866428 0 -0.0114814 0 0 -0.251471 -0.00145005 -0.160543 0 -0.00201919 0 0.00127556 -0.338739 -0.054242 -0.0251651 -0.0615311 0 -0.000376885 0 0 0 -0.000121812 0 0 0.00276454 -0.00202591 -0.0486601 0.0124184 0 0 -0.0173786 0 -0.00615343 0 0 0.0569624 -0.0185914 -0.0571504 -0.00666949 0 0 -0.0898613 -0.0481689 -0.0108041 -0.175148 -0.104799 0 -0.175461 -0.0147181 -0.387558 0 0 0 1.28269 0 0.0913173 0.788013 0 0.00790417 0.0643517 0.060608 0 0.000828254 0.00678319 0.00819409 0.0680646 0 0.0517455 0.26784 0.00882616 0.0788471 -0.233058 -0.137176 0.606015 0.157075 0.141006 -0.0877987 0.0297342 -0.407673 -0.018659 -0.07089 0.117106 -0.0362248 0.0188819 -0.333026 0.595831 -0.958639 0.0520581 -0.0160979 -0.213698 0.0755635 0.315812 0.0948828 -0.0309507 -0.0208204 -0.966365 -0.267351 -0.0418946 -0.618945 0.0207097 0.201354 -0.0481825 -0.0289338 -0.00168118 0.00312158 -0.0426662 0.572193 0.0184416 0.0163726 -0.628577 1.15697 -0.0009484 -0.00134107 0.135128 -0.154039 0.00228551 -0.291349 1.79224 -0.701917 0.126895 0.414458 -0.153924 -1.19618 -0.0453418 0.252413 0.112422 -0.0660349 0.267794 0.860756 -0.126592 1.53764 3.5856 -0.0460253 0.0293212 -0.14319 -0.203773 0.140208 0.143249 0.0288365 0.184112 -0.159708 0.0774532 0.533354 0.205906 1.02956 -0.19429 0.843714 0.614005 -1.47133 0.466853 -0.0347294 -0.278929 -0.0379561 0.402603 -0.00437482 -0.264625 0.357494 -0.43672 0 -171 0 0 0 0 0 -0.652281 -0.414892 1.05681 3.25227 0 0 0.1214 -0.205098 0 -0.265988 0.079307 0 0 0 0.294674 2.74187 0 0 0 0 0.842839 0 0 0.947367 0.170949 -0.483796 0 0.381199 0 0 0.432973 0.00952547 0 0 1.30622 -0.228825 0 0 0.350952 1.78189 0 -0.691223 0.769329 0.775543 -0.607616 0.843077 -0.529337 0 -0.141462 -0.0849869 -0.147265 1.32107 0.0708954 1.07557 0 0 -0.0736127 -1.97403 0 -1.09629 -0.645842 -0.460995 0 0 0 0 -0.302431 0.944321 0 1.39661 -0.0395862 0 0 0 -4.72116 0 -1.67261 -0.675027 0 -0.927566 0.190544 -4.60756 0 -1.58063 -0.0117598 -1.05545 -0.454289 0 0 0 -0.203941 -0.022613 0 0 0 0.117997 -0.0142777 0 0.0183689 0 0.00337003 -0.0334786 0 0 0 0 -0.106404 0 -0.0256774 0 -0.0463887 0 0.744784 0.539538 0 0.0033942 0 0 0.239101 0.00168969 0.0715919 0 -0.00728821 0 -0.000859258 0.151523 0.0309192 0.0298994 0.0218302 0 0.000204525 0 0 0 -0.000388364 0 0 -0.00521287 -0.0043473 -0.606264 -0.0139754 0 0 -0.0221394 0 -0.00111148 0 0 -0.0181594 -0.0547604 0.234502 -0.0475696 0 0 -0.0767861 0.0803923 -0.011242 0.188718 0.0662418 0 -0.369015 -0.00604439 0.277391 0 0 0 -0.687293 0 -0.144977 -0.223373 0 -0.0137023 0.000819253 0.0610418 0 -0.00140078 -0.000235906 -0.00237437 -0.122089 0 -0.652281 -0.203941 -0.414892 -0.022613 0.0826453 0.00762266 -0.169818 0.282013 -0.24035 -0.00764147 0.0472605 0.0363528 -0.00189861 0.0140674 -0.00183539 0.0106579 0.0225956 -0.0360172 0.801219 -0.243882 0.0339848 0.176437 0.0378228 0.151575 0.196142 -0.0454959 0.290793 -0.014245 2.30206 0.25004 0.840188 -0.80971 0.00288212 0.819629 0.231324 0.0142679 0.00377671 0.0897455 0.0553295 -0.335554 -0.0612063 -0.000682163 0.547988 1.47713 0.00554931 0.017546 0.212348 -0.0870984 0.286731 -0.695084 1.57248 -0.986646 -0.19219 -3.59161 0.0423314 -0.9105 -0.61769 0.582391 0.135852 -0.277804 -0.394431 -0.197257 -0.0804706 3.07613 -1.51967 0.0120304 -0.512521 -0.0500783 -0.0920405 0.247974 0.068216 0.0269801 0.0439104 -0.145028 0.0674021 0.374716 -4.12942 -0.645457 -3.05633 -0.419352 -0.097625 -0.614774 0.00186594 -0.0260665 -0.0479102 -0.790178 0.0435421 -0.0874248 -0.0567083 -0.0356276 -0.071858 0 -172 0 0 0 0 0 -0.00940225 -0.120923 0.188108 -0.0482217 0 0 0.728356 -1.10461 0 -2.0821 0.122314 0 0 0 0.00900897 -2.04118 0 0 0 0 -0.0301658 0 0 -0.223767 -3.58637 -0.452052 0 0.218124 0 0 0.0633708 0.112412 0 0 1.64035 -1.82689 0 0 0.332297 -5.00457 0 -0.830025 -1.13721 -0.855523 -0.906787 0.702057 -0.137956 0 0.243132 0.313393 -0.0643275 2.9656 1.08015 0.91356 0 0 0.424366 2.21166 0 1.04866 -0.918681 0.321666 0 0 0 0 0.48156 1.66809 0 2.39471 -0.789452 0 0 0 1.21501 0 -1.63866 6.39354 0 -0.631827 1.17168 2.37437 0 -1.06858 1.51402 -3.06035 9.18541 0 0 0 -0.155772 -0.072294 0 0 0 0.130954 -0.0568568 0 0.0171583 0 0.00791973 0.0932243 0 0 0 0 0.122677 0 0.0370515 0 0.340369 0 0.973544 0.484096 0 0.010994 0 0 0.25894 0.00191004 0.123765 0 -0.00320119 0 -0.00279253 0.154583 0.0519738 0.0318718 0.0387994 0 0.000456064 0 0 0 -0.00014198 0 0 -0.0064305 0.000260919 -0.431629 -0.0217307 0 0 0.0279213 0 0.00870659 0 0 -0.0552562 -0.0130884 0.499338 -0.014734 0 0 0.0994797 0.029155 -0.0709056 0.015586 -0.07366 0 0.222092 0.017346 0.409596 0 0 0 -2.00497 0 -0.152427 -0.802077 0 -0.0143564 -0.0647084 -0.0715502 0 -0.00146903 -0.00703594 -0.00845043 -0.0189968 0 -0.00940225 -0.155772 -0.120923 -0.072294 0.346757 0.127245 -0.109639 0.0321817 -1.44648 0.134661 -0.144516 0.0451235 0.0238782 0.00849687 -0.0655747 -0.0921828 -0.132615 0.718888 -0.0417071 2.32726 -0.206063 -0.0367171 -0.431937 0.0107565 -1.104 -0.0653149 -0.668539 0.0522695 -0.903189 -0.18751 0.100019 -0.219291 -0.0156709 -0.547985 -0.219598 -0.0670516 -0.00993669 0.0246015 -0.0362359 -0.453095 -0.253621 -0.0106338 -0.696295 -0.0078584 -0.0173226 -0.0611689 0.0522462 0.351115 -0.266151 -0.423725 1.19071 -0.0568686 0.28015 1.21481 -0.000198902 -0.185049 -0.290326 0.124638 -0.0066416 -0.041094 0.067993 0.626674 -0.054418 0.474287 2.01848 0.0702971 -0.0329437 0.0217409 -0.226414 0.554686 -0.00654305 0.118714 -0.311004 0.137131 0.0341953 0.10535 -0.491582 -0.177091 1.42032 -1.82708 0.588666 1.2538 -0.503108 0.0890161 0.260276 0.128971 -0.869081 0.359386 0.0209438 -0.0849598 0.193906 0 -173 0 0.368868 0.383263 0.0559777 0.335583 -0.134133 0.197698 -0.243495 0.472315 0.384739 -1.43893 -0.10167 -0.114067 -0.00534818 -0.889849 -0.0269331 -0.15147 -0.488895 -0.302569 -0.0351245 1.65243 -0.0192571 -0.490622 0.00450535 -0.264446 -0.287804 0.357499 -0.0860645 -0.547908 -0.285342 0.0407012 0.0424805 -0.40015 -0.792104 -0.449201 -0.385162 -0.0118464 -0.220217 -1.45552 0.16996 1.19326 -0.0472479 -0.050601 0.0229674 -2.1372 -0.375398 0.852935 -0.455851 -0.582428 -0.112112 -0.115918 -0.678963 3.04186 0.0921524 -0.141275 0.321327 0.878053 -0.0374652 0.350391 0.40187 0.0937999 -0.739238 -1.24897 -1.01625 -0.876235 0.178854 0.153347 1.18509 -0.000874074 -0.0937921 -0.224883 0.0962756 -0.131292 0.293001 0.693862 0.316631 0.569996 4.70629 2.30876 1.05311 1.96152 -0.58904 1.7404 1.27291 -0.42868 1.17382 -0.215134 0.246919 -0.0846281 0.369399 -0.146597 0.418904 0 0 0 0 0 0.0559777 0.335583 0.00197793 0 0 0 0 -2.73305e-05 0 -0.0308093 0 0 -0.00203662 -0.0041482 -0.0231756 0 -0.00380312 -0.0623818 -0.176049 0 0 -0.335793 -0.000243395 0 -0.0187998 -1.46822 0 0 -0.0412219 -0.369035 0 -0.0504985 0 -0.0411072 0 0 -0.00493003 0 0 -0.343671 -0.000467587 -0.0341105 0 0.0320862 0.0303364 0 0 -0.21574 0 -0.00105234 0.0522766 0.00352968 0 0 0.00354888 -0.00617317 0 -0.0207384 -0.150326 0.00472828 -0.428652 -0.0225796 -0.0515713 0 0.025207 0.0318625 -0.400475 0.0647499 -0.116313 0 0 0 6.8755 0.498551 1.02979 0.0345266 0.0355876 -0.0137787 0.00137762 0.000962524 0.00314751 0.0255857 0 0 0 0 0 0 -0.134133 0 0.197698 0 0 0 0 -0.0109704 0.320497 0 0 -0.499776 0 -0.0554291 0 -0.0294798 0 0 0.321356 0 -0.80311 0.0541746 -0.100312 0.0463253 0 0 -0.221544 0 3.08689 0 -1.25915 0.526243 0 0.31107 -1.08014 -0.00553215 0 -0.000728578 0 0 0.0131032 0 0.918051 0.40919 0 0 0.0618808 0 0 -0.114716 -0.285652 -0.0582369 0 -0.746268 0 -0.129384 -0.193023 0.13413 -0.205222 -0.0970521 0.0221285 -0.0341324 -0.0560824 0.555126 -0.983868 -0.0323427 0 0 0 0.107921 0.0857003 0 0 0 0 0.0898844 1.86239 2.45736 -2.72836 0.956152 -0.592439 -0.0714121 0.270174 -0.189476 0.157496 -0.127651 0 0 0 0 0 0 -174 0 -1.03367 -0.351389 -0.0188612 -0.146988 0.0580612 0.0870318 -0.677308 -1.06109 -0.0806603 0.525001 -0.247398 0.615503 0.000987287 1.43327 0.0227001 -0.314781 -1.26121 0.0611461 0.039558 -0.0168124 0.00860863 0.202106 -0.000857767 0.132606 -0.18741 -0.177089 0.0310601 -0.298061 -0.261017 0.457186 -0.00786783 0.181115 0.689533 0.192284 -0.125148 -0.0215986 0.147538 3.27455 -0.33803 0.179921 0.00788686 0.341345 -0.0320454 2.34118 0.0453745 0.306153 -0.288072 0.323178 0.0870716 0.18583 -0.117331 1.26629 -0.0344214 0.12834 0.130984 -0.524639 0.344766 -0.344314 -0.0924873 0.00675636 0.299846 -0.146868 -0.254386 -0.0954491 0.0490268 0.393728 0.562518 0.168713 0.0205229 -0.449628 0.405839 -0.215255 -0.00682165 -2.32893 -0.0377392 -0.0634239 -9.51636 -1.70988 0.972733 -1.20985 1.50224 -2.39704 -0.652661 0.357613 -0.302485 0.994883 -0.0298453 0.114643 0.052536 0.228149 0.383193 0 0 0 0 0 -0.0188612 -0.146988 0.000996894 0 0 0 0 0.000141802 0 0.00841476 0 0 0.000142273 -0.000855926 0.00745695 0 0.000667617 0.0105382 0.0672055 0 0 0.0283304 -3.21066e-05 0 -0.0404461 -0.0361769 0 0 0.00527732 0.0237175 0 -0.164628 0 0.0088639 0 0 0.00141001 0 0 -0.389839 0.00294968 0.0015305 0 0.0238872 -0.0422029 0 0 -0.166577 0 -0.00332933 -0.673402 -0.00158309 0 0 -0.00124008 -0.00556794 0 -0.0037828 0.00331276 0.00082134 0.329846 -0.0510973 0.0151935 0 0.0152088 0.00411683 0.0812438 0.00863062 0.062927 0 0 0 1.14658 0.00105518 -0.0860345 0.00367477 0.0014303 0.0522551 -0.000278192 -0.000196799 4.88795e-05 -0.020949 0 0 0 0 0 0 0.0580612 0 0.0870318 0 0 0 0 -0.254746 -0.0370268 0 0 0.659935 0 0.0591567 0 -0.00129744 0 0 -0.744138 0 0.52226 -0.040638 0.356747 -0.10617 0 0 -0.0980297 0 -7.54981 0 3.13816 0.0561941 0 -0.57484 1.24757 0.0349556 0 -0.0231769 0 0 0.0157642 0 -1.90484 -1.62274 0 0 -0.226401 0 0 0.535517 -3.9575 0.0992308 0 1.81118 0 -0.308657 0.268891 -0.171265 0.0259831 0.0150469 -0.644126 -0.0937114 -0.068679 -3.08253 -6.46205 -0.0286811 0 0 0 -0.313119 0.0115224 0 0 0 0 -0.351434 -20.8623 -3.50278 0.698894 -1.97983 1.6942 -1.81295 -0.342286 0.272829 -0.257819 0.155052 0 0 0 0 0 0 -175 0 0.254638 0.267786 -0.027818 -0.128227 0.153204 0.190617 0.225889 -0.646684 -0.16455 0.975718 -0.143762 1.80383 0.00489093 3.7017 0.0231408 2.15312 11.414 0.235014 0.0346305 5.23804 0.0376862 0.0161047 -0.00357781 0.137115 -0.000249373 0.365587 0.0384874 0.209646 1.33904 0.633968 -0.027568 0.23287 0.0451638 0.190892 0.0352361 -0.0110835 0.0445228 -1.09259 -0.296599 2.26602 0.0436117 0.293244 -0.035699 9.459 0.344575 0.918394 0.662393 0.367373 0.120128 0.711442 0.758183 4.39317 -0.10561 0.185373 -0.0779698 1.55334 0.0668003 -0.305922 -0.432458 -0.140498 0.464275 -2.81554 -0.254203 -0.263213 -0.562599 -1.02804 -0.887695 0.272019 0.0580626 -0.126682 0.218363 0.149339 0.062957 -1.27761 -0.456197 0.532946 7.83646 -1.19572 4.39126 -0.685009 0.435938 0.222575 -0.412322 0.344653 -1.34482 0.80329 -0.226646 0.123918 -0.69331 0.320202 -1.96581 0 0 0 0 0 -0.027818 -0.128227 0.000506517 0 0 0 0 5.07426e-05 0 0.00735299 0 0 0.000854223 0.00215744 0.0140527 0 0.00172965 0.0355571 0.0790479 0 0 0.405306 0.000136693 0 0.0133345 1.03973 0 0 0.0446383 0.174902 0 0.10917 0 0.0472142 0 0 0.00545134 0 0 0.368782 0.000763941 0.014158 0 0.00333931 -0.0222627 0 0 0.171346 0 -9.29004e-05 -0.156647 -0.00271067 0 0 -0.00405353 -0.00127918 0 0.0146945 0.0527243 -0.00716749 -0.429471 0.0011084 0.034363 0 -0.00203253 -0.0459273 0.284523 -0.101558 -0.0253983 0 0 0 -4.97647 -0.352876 -0.73454 -0.0261717 -0.0208537 -0.0753313 -0.000903428 -0.0010015 -0.000789383 -0.00013184 0 0 0 0 0 0 0.153204 0 0.190617 0 0 0 0 -0.410953 0.959365 0 0 0.649263 0 0.0902142 0 0.0962356 0 0 0.853383 0 0.00518073 -0.150866 0.394084 0.118319 0 0 0.632674 0 7.44495 0 -1.73121 0.613839 0 -0.972621 -0.322144 0.0597179 0 -0.0670139 0 0 0.147857 0 2.55896 2.07919 0 0 0.303068 0 0 0.207614 -0.558315 0.213778 0 1.16758 0 0.0281424 0.375908 -0.335533 -0.324814 -0.135336 0.0914157 -0.401637 0.323594 0.887252 7.35514 0.0811495 0 0 0 0.0684361 -0.296595 0 0 0 0 -0.040762 11.4975 -1.65722 4.64314 -0.0141393 0.0290896 0.739543 -0.477603 0.365664 -0.243935 0.402324 0 0 0 0 0 0 -176 0 0.366884 -0.361207 0.0648764 0.163693 -0.042381 -0.270399 0.470356 1.06333 0.316659 -1.6726 -0.20202 -0.342784 -0.0190058 -0.524488 -0.0569424 -0.381667 -1.2461 -0.253187 -0.179636 -0.778666 -0.0597623 0.439314 0.0138018 -0.396606 0.519361 -0.46182 0.00915316 0.341107 0.794866 -0.129734 0.0758032 -0.285722 0.585153 0.293918 0.327431 -0.0127248 0.147193 -0.565927 -0.280105 -1.12337 -0.0775328 0.756151 -0.00230986 -2.05204 -0.257693 -0.835015 0.493547 -1.04631 -0.102221 -0.102309 -0.516361 -2.78335 -0.582473 -0.363003 0.138378 -1.35091 -1.10937 -0.0981919 0.655195 0.161011 -0.533777 2.20215 0.193279 -0.87788 -0.0625575 -0.0448384 0.838573 0.0791359 0.141841 0.743652 -0.417708 -0.122713 0.239481 0.000332501 -0.311214 -1.27477 1.39556 2.07257 -1.24366 1.1002 -0.418406 0.401262 1.79959 -1.21945 1.48463 -1.16088 0.323336 -0.00274205 -0.215106 0.858726 -1.74933 0 0 0 0 0 0.0648764 0.163693 0.00266046 0 0 0 0 0.000375864 0 -0.0163823 0 0 -0.00214308 -0.0103089 -0.0231217 0 -0.00511483 -0.0983115 -0.0609972 0 0 -0.165755 -0.000567034 0 -0.0473369 -1.19838 0 0 -0.0281527 -0.346368 0 -0.142337 0 -0.0404012 0 0 -0.00630859 0 0 -0.621119 0.00731763 -0.0389445 0 0.0516266 -0.000521199 0 0 -0.183338 0 0.000165435 -0.146289 0.00712834 0 0 0.0021417 -0.00828275 0 -0.0107699 -0.0757633 0.0101831 0.0867492 0.000781987 -0.0267464 0 0.0387838 0.0171976 0.261031 -0.0724912 0.0133596 0 0 0 5.2027 0.367991 0.496942 0.0243843 0.0212292 0.0589714 0.00117298 0.000999309 0.00383144 0.00444341 0 0 0 0 0 0 -0.042381 0 -0.270399 0 0 0 0 0.0171206 0.752214 0 0 -0.308306 0 -0.0458784 0 0.0458655 0 0 -0.609572 0 0.839733 0.0377 0.0381252 -0.0934044 0 0 0.237231 0 -2.65712 0 0.571291 0.00352718 0 0.0576919 1.13928 -0.00620802 0 0.0121222 0 0 0.118739 0 -0.416501 -1.8099 0 0 -0.251465 0 0 0.394328 -2.8062 0.0377593 0 0.782581 0 -0.354338 0.20968 -0.131634 0.0679255 -0.0396195 -0.517719 0.0185441 -0.163188 -2.16822 -1.9838 -0.0178345 0 0 0 -0.179889 0.121554 0 0 0 0 -0.475828 4.22593 0.961233 0.983119 -0.759097 0.796683 -0.263665 0.19923 -0.126765 0.114225 -0.00979433 0 0 0 0 0 0 -177 0 -1.15043 -0.0691265 -0.0137083 -0.103772 0.020368 0.201019 -0.262756 -0.21097 -0.318319 0.199021 0.354224 0.526991 -0.00281202 0.0107346 -0.039542 1.09689 5.10253 -0.0604117 0.021489 -0.67639 -0.0225257 -0.00281599 -0.00229842 0.0236999 -0.216414 0.330601 -0.0496931 -0.720933 -1.59596 0.341476 -0.0253194 -0.230294 0.329786 -0.119121 -0.207076 0.0387769 -0.329516 3.1547 0.516426 0.411531 -0.0238435 -0.733602 0.0591753 0.792054 -0.216041 0.524438 -1.08426 0.194922 -0.0569386 0.305478 -0.337738 -6.06523 -0.374332 0.139197 -0.525197 -2.36944 -0.516181 0.0954723 -0.0161005 0.0168968 -0.70863 0.435063 -1.46541 -0.143278 -0.160619 0.270575 0.0288241 -0.35825 0.108138 -0.861294 -0.0739856 -0.22627 0.251011 0.0228111 1.35636 0.0673251 -8.48781 -1.59675 0.122887 -1.06861 0.489614 -1.38921 -0.366476 -0.23914 0.615565 -0.0831126 0.271073 -0.473611 1.23898 -1.67359 3.51238 0 0 0 0 0 -0.0137083 -0.103772 0.00242061 0 0 0 0 0.000315624 0 0.007928 0 0 0.000358538 -0.00272979 0.00556181 0 0.00017757 -0.0315263 0.0546696 0 0 -0.00023211 -0.000121408 0 -0.114807 -0.257703 0 0 0.00711158 -0.141832 0 -0.26531 0 0.00457039 0 0 0.00245517 0 0 -0.380565 0.00685838 0.00701787 0 0.0521992 -0.0550379 0 0 -0.29359 0 -0.00655913 -0.989394 -0.00409614 0 0 -0.000727378 -0.0114707 0 -0.012846 -0.0168798 0.00110544 0.0885733 -0.0903063 0.0172234 0 0.0203733 -0.00164084 0.00566213 0.0379177 0.0315236 0 0 0 2.06465 0.04327 0.154484 0.00851342 0.00706151 0.0443025 -0.000341127 -0.000300378 -0.000559081 -0.0293133 0 0 0 0 0 0 0.020368 0 0.201019 0 0 0 0 0.218353 0.223081 0 0 -0.170146 0 -0.0458505 0 0.0213932 0 0 -0.357821 0 -0.150983 0.0564904 -0.324258 -0.0486634 0 0 0.0907251 0 -1.15753 0 1.25617 0.670012 0 0.185814 -0.15411 -0.0461141 0 0.0364063 0 0 0.0507457 0 0.204335 -0.580531 0 0 -0.0826117 0 0 0.160745 -3.01968 0.243404 0 0.959085 0 -0.488021 0.309907 -0.275747 0.126698 -0.0883782 -0.690054 0.118847 -0.0835738 -1.44715 -1.13188 0.0152558 0 0 0 -0.0867784 0.092277 0 0 0 0 -0.359948 -11.8899 -0.732043 -0.814197 -1.01873 1.07634 -1.41438 0.161845 -0.0965368 0.0184746 -0.119693 0 0 0 0 0 0 -178 0 -0.429959 -0.311531 -0.114414 -0.216524 0.105722 0.0849655 -1.36036 -2.73122 0.299508 1.82739 -0.643653 -0.207672 0.042594 -1.10116 -0.117403 -2.2637 -10.5428 0.176471 -0.257254 3.24862 0.0409288 -0.0759082 -0.0160566 0.480243 -0.456465 -0.424213 -0.0449742 0.0972732 0.875295 -0.0820939 -0.0404128 -0.932417 -0.197121 -0.687224 -0.226031 -0.134693 -0.598524 0.591908 -1.20349 0.981791 0.200056 -3.50274 -0.26108 -1.4203 0.877799 0.288555 0.352135 -2.22242 0.639493 -1.57117 0.685316 0.973229 0.596948 -0.295825 0.170226 -1.57934 -1.12768 -0.925566 -0.796507 -0.309957 0.310667 0.296967 1.18753 1.43005 1.22945 0.155209 -1.51685 -1.19074 -0.492918 -0.822444 -0.292964 -1.13006 0.381324 0.730858 0.0493608 -0.185802 -0.73791 -2.11891 4.86137 -2.68153 2.68415 -1.50641 -2.33739 1.8521 -2.25713 3.55497 -1.1014 1.36296 -1.51506 1.93051 -1.92634 0 0 0 0 0 -0.114414 -0.216524 -0.0061419 0 0 0 0 -0.000898381 0 0.0192122 0 0 0.00317799 0.0141685 0.0487416 0 0.00815366 0.147973 0.116693 0 0 0.677436 0.000829033 0 0.0482399 0.997366 0 0 0.0843635 0.392611 0 0.23859 0 0.155184 0 0 0.0199852 0 0 0.884028 -0.0177335 0.0544022 0 -0.120796 -0.0522378 0 0 0.34186 0 -0.00438393 -0.610571 -0.0122926 0 0 -0.00735517 0.0156815 0 0.0247844 0.180172 -0.0173946 -0.435597 -0.048274 0.0523692 0 -0.0501282 -0.0581256 0.436939 -0.13165 -0.101055 0 0 0 -10.6764 -0.778805 -1.33345 -0.0527929 -0.047596 -0.143658 -0.00237266 -0.00207658 -0.00460905 0.0113285 0 0 0 0 0 0 0.105722 0 0.0849655 0 0 0 0 -0.257752 -2.02752 0 0 0.75386 0 0.0981944 0 -0.100439 0 0 -0.0302944 0 0.144799 -0.0933477 0.290232 -0.00924508 0 0 -0.775653 0 -8.3103 0 0.339693 -0.429274 0 -0.676714 0.104084 0.043653 0 -0.0407442 0 0 -0.25462 0 -2.39251 0.312427 0 0 0.0392507 0 0 -0.213125 -0.869793 -0.370781 0 -3.08167 0 0.688952 -0.649088 0.463682 -0.0831966 -0.13467 -0.0644819 -1.01786 0.324172 -0.0182463 -9.08147 0.0954056 0 0 0 -0.616169 -0.291266 0 0 0 0 0.532943 -5.27713 -3.18792 2.53682 -0.685682 0.487465 -0.322437 -0.588902 0.437048 -0.326161 0.267413 0 0 0 0 0 0 -179 0 0 0 0 0 -0.192192 0.191009 -0.793053 0.132876 0 0 0.339829 1.00737 0 0.429183 0.0672358 0 0 0 0.327138 -0.256165 0 0 0 0 -0.0721483 0 0 -0.954498 -3.71276 0.612646 0 0.193109 0 0 -0.264938 0.016653 0 0 1.19518 0.452462 0 0 0.202411 0.501313 0 0.744962 -1.78584 0.678364 -0.361607 2.47931 -0.137742 0 -0.360179 0.47777 -0.958131 -1.68136 -0.325976 0.276834 0 0 0.952429 -1.0141 0 0.263794 -0.658666 0.778321 0 0 0 0 -0.153997 1.10929 0 -0.288163 2.06305 0 0 0 -1.0006 0 -2.33404 5.5412 0 -0.777454 0.604891 2.58569 0 -1.00866 2.08599 -5.31997 15.9691 0 0 0 -0.184549 -0.0352072 0 0 0 -0.0366162 -0.00527002 0 -0.00487332 0 9.40866e-06 0.0373105 0 0 0 0 0.142382 0 0.0246642 0 0.197309 0 -0.277273 -0.169327 0 0.00298443 0 0 0.0829178 -0.000101562 -0.0211409 0 3.86881e-05 0 -0.000405611 0.0258791 0.0151744 -0.00157632 0.00518741 0 3.59734e-07 0 0 0 9.68311e-07 0 0 0.000262322 -0.000648754 -0.0066081 -0.00188482 0 0 0.00534981 0 0.000707848 0 0 0.00182013 0.00469623 -0.124299 -0.00357849 0 0 -0.0456074 -0.0055198 -2.53767e-05 -0.0716226 -0.0514184 0 0.0579419 0.00168579 -0.0824363 0 0 0 -0.258017 0 0.002442 -0.125416 0 -0.000441612 -0.00142944 0.00492276 0 0.000122745 -0.00112494 0.00325389 -0.0116597 0 -0.192192 -0.184549 0.191009 -0.0352072 0.189208 0.0780375 -0.306035 0.386695 -0.583605 0.021797 0.0991115 -0.158027 0.00288065 -0.0118812 -0.0378814 -0.0316288 0.0357591 0.150117 -0.337559 1.03552 0.154792 0.237492 -0.210197 -0.0591646 0.264422 -0.14925 -0.189166 0.014221 -2.29961 0.310952 0.799929 0.297111 -0.00434812 1.00288 0.329467 -0.0242021 0.0124107 0.0795342 0.11062 -0.713681 -0.0893086 -0.028013 -1.03338 1.20816 0.0119713 0.03102 0.267091 0.131786 0.0138839 -0.630848 0.559028 1.07267 -0.0520901 1.04665 0.0761998 0.109232 -0.199553 -0.31388 0.0880391 -0.393856 -0.220045 -0.0897163 -0.0861911 0.313952 2.97786 0.170545 -0.282479 0.142432 0.161033 0.0729698 -0.00383333 -0.0557509 -0.0395123 0.227604 -0.227443 0.154296 -0.299018 0.0671825 -3.56387 -0.115518 -1.15106 2.29137 0.0243429 -0.527309 1.20463 -1.74257 -0.0328263 -0.300632 0.612855 -0.840396 1.0843 0 -180 0 0 0 0 0 -0.18193 0.0351071 0.604504 1.88503 0 0 -0.148326 0.0760929 0 -0.272791 0.075195 0 0 0 0.27803 -3.16249 0 0 0 0 0.165868 0 0 -0.244327 5.29588 0.229969 0 0.364369 0 0 -0.0233781 0.0150669 0 0 -0.56822 0.409555 0 0 -0.024127 -2.53081 0 0.787207 0.785478 1.26774 -0.00832483 0.81302 0.466056 0 -0.211141 0.16347 0.459338 0.73626 -0.103436 -0.457392 0 0 -1.8411 -0.174461 0 1.53987 0.339467 -1.04891 0 0 0 0 0.449342 0.35963 0 -0.738555 -0.981905 0 0 0 -2.65543 0 0.638593 -7.52138 0 0.108318 -0.160795 -5.79915 0 0.0621675 -1.2229 3.19035 -15.8098 0 0 0 0.0668954 0.0128492 0 0 0 -0.00549997 0.0146395 0 0.000280312 0 -3.79432e-05 -0.0121354 0 0 0 0 -0.0290335 0 -0.00746728 0 -0.0132782 0 -0.124031 0.252733 0 -0.00141216 0 0 -0.0517047 0.000269932 0.0238414 0 0.000734258 0 0.000720952 0.127239 -0.00759361 0.00569429 0.00832973 0 -2.34092e-06 0 0 0 3.83854e-05 0 0 -0.000650722 0.00105632 0.0382305 0.00285818 0 0 -0.00803637 0 -0.00115254 0 0 0.00448903 0.0126165 -0.127069 -0.00749953 0 0 0.0222692 0.0057006 0.00461489 0.105602 -0.104698 0 -0.0259754 -7.54155e-06 -0.0390798 0 0 0 -0.00222169 0 -0.0221996 0.126025 0 -0.00147579 0.00979297 -0.0273377 0 -0.000193109 0.000764712 -0.00323188 -0.0208212 0 -0.18193 0.0668954 0.0351071 0.0128492 -0.58529 -0.151738 0.0784208 -0.17842 0.818671 -0.0121671 0.0171812 0.165406 -0.0015335 0.0134769 0.0140922 0.0270437 0.00946337 -0.0908013 -1.19724 -1.02084 -0.156727 0.130385 0.20576 -0.19658 0.203554 0.403599 0.330217 -0.0393794 1.5731 -0.3739 -0.798491 0.604587 0.00184791 0.224411 -0.316595 0.0202502 -0.00913401 0.00554127 -0.0781167 2.52336 0.0797554 0.069082 0.562163 -3.00565 0.000214528 -0.0449493 -0.48853 -0.173803 -0.141766 1.30228 -0.596318 -0.16488 -0.0293297 1.13048 -0.0243905 0.163367 0.145474 0.133132 -0.0811888 -0.255845 -0.862749 0.0164009 0.1036 -0.125331 3.05109 -0.143329 1.12128 -0.0514591 -0.527235 -0.311194 -0.0130164 -0.00119729 0.0254452 0.187846 0.153111 -0.0548113 0.29848 -0.068494 0.352382 0.104275 1.12056 -4.7014 -0.0223582 0.261032 -0.552033 -0.84687 0.0198557 0.197241 -0.557891 0.743925 -2.3632 0 -181 0 0 0 0 0 0.117203 0.00512098 0.319168 1.855 0 0 0.125956 0.282743 0 -0.566847 -0.0295401 0 0 0 -0.246787 1.19993 0 0 0 0 0.36206 0 0 -0.168383 -0.313129 0.189411 0 -0.0810812 0 0 0.0106528 -0.00344443 0 0 0.300385 0.301859 0 0 0.100387 -1.76577 0 0.604494 -0.232497 -1.48854 -0.27536 1.96365 0.0875265 0 0.18614 -0.361106 -0.00964974 0.408995 -0.0319353 -1.01671 0 0 -0.683722 1.44632 0 -0.0243032 -0.803242 -0.528707 0 0 0 0 -0.0107536 0.925674 0 -0.425477 0.0208838 0 0 0 -3.52088 0 -0.751768 0.718156 0 -0.371511 0.868523 -4.39941 0 -0.601679 0.581481 -1.69688 2.86375 0 0 0 0.0753958 -0.0123414 0 0 0 -0.00874578 -0.0220811 0 -0.00153723 0 0.000776444 0.0356327 0 0 0 0 0.143904 0 0.0195989 0 0.345587 0 -0.0333259 -0.16765 0 0.00242343 0 0 0.100253 0.00083984 -0.0127933 0 -0.00127731 0 -0.00129825 -0.0126818 0.0165587 0.016828 0.00300373 0 4.06259e-05 0 0 0 -6.87436e-05 0 0 -0.00205685 -0.00198283 -0.164584 0.00528828 0 0 0.00420626 0 0.00216345 0 0 -0.00254706 -0.00889094 0.0161705 -0.0200338 0 0 0.084177 0.0103722 -0.0131668 0.135597 -0.202336 0 0.157542 0.0131384 0.0295116 0 0 0 -1.10532 0 -0.077152 -0.443305 0 -0.0069976 -0.0377387 -0.103834 0 -0.000644063 -0.00479703 -0.0073066 -0.040699 0 0.117203 0.0753958 0.00512098 -0.0123414 0.196097 -0.0617743 -0.0692454 0.040521 0.308036 0.0203274 -0.075801 0.205647 0.0023127 0.0100748 -0.0166077 0.0456628 -0.0961963 0.166377 -1.42476 0.376387 -0.151642 0.0553694 0.0648179 -0.157115 -0.899296 0.0696394 0.651214 -0.0171472 -2.905 -0.181826 -0.899669 0.50533 -0.00235342 0.0318633 -0.356396 0.00244106 -0.000330227 0.0111182 -0.00218796 0.116764 -0.0016925 0.0218868 -0.010241 -3.40425 -0.00878875 -0.0200268 -0.46981 -0.047553 -0.334971 -1.18405 -0.749272 0.492892 0.212253 -0.845619 0.020719 -1.30972 -0.104043 -0.346547 -0.0838768 -0.21387 -0.434551 0.119395 -0.0991084 -0.609219 -1.30377 -0.19241 -0.106751 -0.156726 -0.0641835 0.0861407 0.0209113 0.0365962 -0.0512984 0.00733392 -0.00150624 0.0360781 0.336301 -0.0807768 -1.26024 0.0672696 -0.154171 1.36439 -0.0146544 -0.0844168 0.410481 -0.654637 -0.036382 0.0330041 0.0606604 0.0624886 -0.191692 0 -182 0 -0.2035 0.0742617 -0.0064487 -0.0179131 -0.0639443 -0.0720703 0.727878 0.602563 -0.106263 0.882136 -0.00687344 -0.325319 -3.19741e-05 1.10909 -0.026774 0.586201 4.62208 0.261323 -0.0282073 3.19214 0.0340099 0.0331224 -0.000562727 0.128823 -0.0427603 0.00601732 0.0383798 0.5664 1.13065 -0.137888 -0.00827894 -0.241888 0.34501 0.279317 0.122119 -0.00573434 0.20694 2.26464 0.12167 1.21378 -0.00221829 1.28242 -0.000633939 2.04847 -0.0560254 0.137525 0.852646 -0.127357 -0.0107767 1.21808 0.212229 -3.0906 0.0637065 -0.0418015 0.171541 1.27221 0.0230322 -0.113326 -0.204062 0.0107026 -2.21989 -2.06017 -0.125788 -0.567169 -0.722459 -1.60543 0.0136233 0.340597 0.0278195 -0.359815 0.189331 -0.0905025 -0.351609 -0.704045 -0.996712 -1.15236 -10.9064 -3.87882 -0.465528 -1.38703 1.50709 -5.71834 -0.886535 1.05423 -1.34865 -2.99257 0.00779486 -0.0261413 0.0385977 0.102109 -4.73254 0 0 0 0 0 -0.0064487 -0.0179131 -0.00269487 0 0 0 0 -5.68091e-05 0 0.00385028 0 0 -0.00117311 -0.000699572 0.00145933 0 0.000166289 0.00654013 0.0409049 0 0 -0.0694464 -4.48136e-05 0 0.00562854 -0.351415 0 0 -0.00466161 0.0334936 0 0.0731612 0 -0.00485137 0 0 -0.000392537 0 0 0.00991949 -0.000572568 -0.0175024 0 -0.0362895 -0.0071764 0 0 -0.00276809 0 -0.00342156 0.206839 0.00869607 0 0 0.00113555 0.00523663 0 -0.00259737 -0.0305783 -0.00583634 0.0611001 0.0387893 0.00284563 0 -0.0027566 -0.00341363 -0.0977253 -0.00278594 -0.100974 0 0 0 0.557056 -0.0136979 0.0562576 0.0230858 -0.0508537 0.149336 0.00106589 -0.00209881 0.00866491 -0.00900312 0 0 0 0 0 0 -0.0639443 0 -0.0720703 0 0 0 0 -0.297928 0.568672 0 0 0.395142 0 0.0384859 0 0.031873 0 0 0.749613 0 -0.12122 -0.0926826 0.22512 0.109705 0 0 0.226384 0 7.59519 0 0.00546115 0.0505119 0 -0.522402 -0.241755 0.0230414 0 -0.0576855 0 0 0.0711267 0 2.11808 1.19347 0 0 0.187166 0 0 0.142661 -0.623153 -0.0441404 0 -0.0535507 0 -0.399817 0.163171 -0.155933 -0.0462236 0.0567995 -0.200296 -0.274443 0.0660895 -0.469214 1.08889 -0.112999 0 0 0 -0.0210696 -0.0474051 0 0 0 0 -0.151761 -8.75256 -1.86432 1.24143 -0.641403 0.339821 -0.317684 -0.254349 0.224467 -0.228735 0.303784 0 0 0 0 0 0 -183 0 -0.493704 -0.0412582 -0.0081422 0.0152136 -0.241724 -0.0421268 -0.522597 0.617192 -0.0905936 -0.033977 -0.115002 -1.31141 0.000674187 -0.847521 -0.0164437 -1.19878 -6.56163 0.0290712 -0.0200922 -0.111207 0.00682727 -0.248722 -0.000850159 0.107263 -0.242099 0.0431725 0.0127759 -0.131584 -0.531991 -0.336765 -0.00896025 -0.227198 -0.255853 0.134998 -0.217715 -0.0144625 0.0634767 1.13715 -0.219544 -0.16216 0.00734446 0.488471 -0.0281901 -3.29655 0.0704351 -0.076135 -0.32268 -0.35269 0.0850429 -1.39522 0.118919 -0.981711 0.00955864 -0.0138581 -0.000938729 -1.57458 -0.449967 -0.118238 -0.17066 -0.0163759 1.48728 -0.0150601 0.693364 0.0526912 0.210693 0.927782 -0.0406246 0.0878662 0.0121349 0.167516 0.165638 -0.412072 -0.0387636 0.124798 0.651889 -0.451367 1.24685 0.622778 -3.19633 0.401504 -0.795926 0.995528 -0.28294 -0.139191 0.222434 0.66354 -0.00979969 0.0374965 -0.110401 0.291615 2.22674 0 0 0 0 0 -0.0081422 0.0152136 0.001721 0 0 0 0 0.000126593 0 -0.00420655 0 0 0.00101151 -0.000148939 -0.00396826 0 -0.000772239 0.0247809 -0.0253137 0 0 -0.0998861 -7.51816e-06 0 -0.0131964 0.518119 0 0 -0.00934811 0.14407 0 -0.0875527 0 -0.0056503 0 0 -0.000490861 0 0 -0.0719921 0.00252583 0.0183462 0 0.0344089 -0.0331009 0 0 0.0161111 0 0.00204122 0.079904 0.00890339 0 0 -0.00141218 -0.0031903 0 -0.00514778 -0.00917236 0.00481284 -0.367104 0.0203257 0.0101154 0 0.0056197 -0.030192 -0.145179 0.0129235 0.101354 0 0 0 -0.164857 -0.0884938 0.0945093 0.00788564 -0.00237671 -0.153217 -0.000810337 0.00138186 -0.0131587 -0.0102394 0 0 0 0 0 0 -0.241724 0 -0.0421268 0 0 0 0 0.501458 -0.585966 0 0 -0.448465 0 -0.0567948 0 -0.0297581 0 0 0.38692 0 -0.228246 0.174528 -0.127347 0.0658087 0 0 -0.356056 0 -6.73445 0 0.621102 -0.467952 0 1.42254 0.112587 -0.0158432 0 0.0670162 0 0 -0.0550095 0 -1.65359 0.320092 0 0 0.0740304 0 0 0.308238 1.58716 -0.358264 0 -0.739655 0 0.395472 -0.0515034 0.224637 0.216058 -0.163926 -0.289082 0.147394 0.139523 0.0895785 -1.97196 0.0578999 0 0 0 -0.173232 0.0151289 0 0 0 0 0.0969568 11.4075 4.45505 -6.17663 1.35129 -0.985086 -0.246774 0.21385 -0.165347 0.225984 -0.625261 0 0 0 0 0 0 -184 0 -0.7455 -0.620719 0.0256941 0.25539 -0.262152 -0.388591 1.08141 1.87757 0.103448 -0.299357 0.21736 -0.383595 -0.00143009 -0.86571 -0.000268421 -0.733941 -5.37429 -0.0504856 -0.0063256 -2.15795 -0.00803077 0.538898 0.00155183 -0.0817354 0.692582 -0.434414 -0.01924 0.461967 -0.975658 -0.267671 0.0140148 -0.135595 1.61066 -0.0871595 0.446381 0.0207538 -0.230815 5.99809 0.606831 -1.36965 -0.0164176 -0.894843 0.0529331 -2.70346 -0.182133 -1.09627 0.203417 -0.157887 -0.117999 -0.634943 -0.0565465 -0.83885 0.0267071 0.0314982 -0.18363 -1.23176 -0.452287 0.160694 0.05275 0.0337296 0.223686 1.3637 0.669563 0.268402 0.593226 0.388555 -0.391678 -0.70647 -0.0133485 0.19143 -0.545212 0.125125 0.156429 1.08921 0.0101844 -0.107658 -21.9205 -0.969485 -7.50982 -1.99038 0.87323 -5.28971 0.175948 -0.04986 -0.323749 0.00221179 0.0253403 -0.0996813 0.449046 -1.57784 4.08378 0 0 0 0 0 0.0256941 0.25539 -0.00237135 0 0 0 0 -0.000187616 0 0.0183016 0 0 0.0012772 0.00302258 0.0101143 0 0.00193821 -0.0317726 0.103521 0 0 -0.113443 0.000154245 0 0.0322084 -0.911638 0 0 -0.0134274 -0.138649 0 0.21419 0 -0.00675339 0 0 -0.00104309 0 0 0.934996 -0.00318602 0.0279783 0 -0.0342703 -0.0635669 0 0 0.387129 0 -0.0036401 0.382851 0.0104515 0 0 -0.00315191 0.00451483 0 0.0183973 -0.00993664 0.00186547 -0.447355 0.0205066 0.0175984 0 -0.00096572 -0.0184899 0.0569664 -0.0431384 0.0889073 0 0 0 -7.63573 -0.520524 -0.752339 -0.0235672 -0.0417105 -0.172214 -0.00099278 -0.00142379 -0.00877393 -0.0194259 0 0 0 0 0 0 -0.262152 0 -0.388591 0 0 0 0 0.224809 -0.97202 0 0 -0.731658 0 -0.0800919 0 -0.0477367 0 0 -0.161169 0 0.509691 0.119757 -0.259518 -0.0398155 0 0 -0.44676 0 -10.2389 0 1.20306 -0.834982 0 0.788958 0.557764 -0.0272451 0 0.0267361 0 0 -0.1245 0 -2.67408 -1.41402 0 0 -0.186289 0 0 -0.104705 -0.577666 -0.382233 0 -1.40682 0 0.526156 -0.496094 0.446054 0.312746 -0.0515927 -0.678365 -0.587093 -0.0829784 0.0383998 -7.75449 -0.0631529 0 0 0 -0.180708 0.0936165 0 0 0 0 0.223899 -2.30837 2.76123 -3.13838 0.401567 -0.330878 -0.34477 0.441509 -0.385973 0.484677 -0.508913 0 0 0 0 0 0 -185 0 -0.634329 -0.0543663 -0.033679 -0.214765 0.102203 -0.0582514 0.422066 -0.140483 -0.237302 0.826946 -0.164408 0.443724 0.00231684 0.984771 0.0338301 0.688673 2.84508 -0.0441448 0.056376 1.08494 -0.0444374 -0.000749639 -0.00297169 0.0838322 0.24512 0.171461 -0.0550293 0.51671 1.88277 -0.0389123 -0.0283392 0.296553 0.238265 -0.273488 0.187616 -0.0132685 -0.0663511 2.17008 -0.40002 -0.14957 0.0230083 -0.693633 -0.0399322 3.69002 0.211088 -0.370447 0.99532 0.494334 0.108719 -0.00287608 0.538731 -4.84538 -0.0960856 0.094735 -0.158687 -3.33378 -0.316384 -0.424073 -0.174132 -0.0482319 -1.43882 -1.0568 -0.249614 0.0311168 -0.245982 -1.45758 -0.50171 0.125443 0.0483001 0.0298883 0.0915233 0.0167331 0.0614324 -3.0409 -0.744036 -0.285774 -6.45206 -2.81635 1.6449 -1.91768 2.06653 -3.82692 -0.633522 0.866868 -1.50445 0.0875537 -0.0456907 0.0720358 -0.409152 0.645583 -3.66382 0 0 0 0 0 -0.033679 -0.214765 -0.000400227 0 0 0 0 -2.90243e-06 0 0.00716531 0 0 -7.2464e-05 -8.15611e-06 0.00408054 0 0.00109948 0.00199944 0.0279189 0 0 -0.0558732 -4.29611e-07 0 0.0372762 -0.251758 0 0 -0.00555171 -0.00793353 0 0.141672 0 -0.00748061 0 0 -0.000773543 0 0 0.300378 -3.9118e-05 -0.00140784 0 -0.00543129 -0.00345235 0 0 -0.0896464 0 -0.000821233 0.0177404 0.00121002 0 0 0.000138353 0.000694068 0 -0.00102279 -0.00184358 -0.000489644 -0.164297 0.00291107 -0.00572463 0 -8.71882e-05 -0.00040359 -0.060507 6.55787e-05 -0.0633223 0 0 0 -0.423371 0.00182821 0.0146979 0.00728316 -0.0128941 0.0257246 6.11018e-05 -8.30326e-05 0.00103491 0.000851172 0 0 0 0 0 0 0.102203 0 -0.0582514 0 0 0 0 -0.421245 -0.414421 0 0 0.665812 0 0.0704072 0 -0.00218622 0 0 0.670977 0 0.0195218 -0.120496 0.263751 0.0933552 0 0 -0.102583 0 2.32268 0 0.56155 -0.149169 0 -0.984635 0.0632425 0.0293029 0 -0.0488451 0 0 -0.0256449 0 0.753952 1.51292 0 0 0.182302 0 0 -0.111688 -0.0597157 -0.397701 0 -1.90427 0 -0.3192 0.163184 -0.0499205 -0.236596 0.10738 0.595699 -0.171955 0.119072 0.849588 2.37298 -0.0254349 0 0 0 -0.111908 -0.11421 0 0 0 0 0.0970344 -6.64182 -1.67336 1.35068 -0.488287 0.400519 -0.711515 -0.310372 0.279142 -0.393088 0.527162 0 0 0 0 0 0 -186 0 -0.71087 -0.337485 0.00596979 0.0379245 -0.198178 -0.247585 1.17216 3.23473 0.0483292 -0.468808 0.0763085 1.27938 -0.000414524 1.45127 -0.00124101 0.99433 2.73305 -0.123417 -0.00377683 2.80234 0.00883297 0.499489 0.000536386 0.00338863 1.06954 0.0343935 0.0366776 0.605793 0.856286 0.291705 0.00533575 -0.0107863 1.6501 -0.0559102 0.466491 0.00512561 0.20229 5.99801 0.146723 0.589648 -0.00413497 0.154237 0.0115369 3.98571 -0.0381738 -0.154665 0.757071 -0.0388511 -0.0274181 -1.86971 0.0510389 2.84094 -0.0033447 -0.0101741 -0.0204164 -0.0381471 0.520922 0.42572 0.0219094 0.00909997 -0.132659 -2.40423 0.162512 -1.39737 0.43012 -0.579619 0.837076 0.113102 -0.00991738 0.244105 0.0427883 0.150766 -0.210567 -2.14953 -0.856202 0.299777 -17.9496 0.59501 -11.3538 -0.988765 0.743084 -8.0554 0.144098 -0.3908 0.923414 -5.13576 0.00826284 -0.0210773 -0.0555304 -0.0261619 -1.66631 0 0 0 0 0 0.00596979 0.0379245 7.31827e-05 0 0 0 0 5.70788e-07 0 -6.15401e-07 0 0 1.52675e-05 -4.40068e-06 -0.000912159 0 -7.78904e-05 0.00959475 -0.0076617 0 0 -0.0750861 -2.57799e-07 0 0.0013071 0.111766 0 0 -0.00960037 0.0728322 0 0.0203793 0 -0.00530159 0 0 -0.000717796 0 0 0.0690789 1.24878e-05 0.000398669 0 0.00162438 0.000149776 0 0 -0.00552097 0 0.000135177 -0.0284499 0.00102442 0 0 -2.61772e-05 -0.000114245 0 -0.00101738 -0.0141517 0.00101777 -0.260174 0.000177549 0.00265849 0 -0.000204846 -0.00433649 -0.10312 0.00210555 0.0258295 0 0 0 0.00221603 0.0109309 0.02513 0.00167342 0.00273633 -0.0301127 -8.88689e-06 0.00023823 -0.00181822 -0.00470061 0 0 0 0 0 0 -0.198178 0 -0.247585 0 0 0 0 0.339051 -0.0688352 0 0 -0.530961 0 -0.0532508 0 0.00103422 0 0 0.061489 0 0.543378 0.171876 -0.202244 0.00784983 0 0 0.0284347 0 -2.6846 0 2.15806 -0.424742 0 1.27247 0.828342 -0.0168349 0 0.0582825 0 0 -0.0158859 0 -0.468874 -0.170034 0 0 -0.0373018 0 0 0.444945 0.3672 -0.094549 0 1.55291 0 0.188411 -0.17298 0.186144 0.0545368 -0.148535 -0.441979 0.162154 -0.0189774 0.114821 4.27874 0.0961478 0 0 0 0.0626945 0.0428158 0 0 0 0 -0.016454 -7.25653 2.02289 -5.68493 0.478663 -0.390077 -1.06944 0.295775 -0.275236 0.282037 -0.619566 0 0 0 0 0 0 -187 0 0.301414 0.316353 -0.0133859 -0.0237878 0.0709528 0.145084 -0.230794 -0.584562 -0.106509 0.545646 -0.115878 -0.102923 0.000963892 1.27166 0.0107586 0.818027 1.39629 0.124593 0.022789 2.40851 -0.00299576 -0.302465 -0.0012256 0.106513 -0.379735 0.581324 -0.0156145 -0.229663 0.215246 0.0889583 -0.012043 0.071204 -0.238626 0.0381415 -0.224292 -0.00810721 -0.100599 0.695541 -0.261032 1.24842 0.0103121 -0.571192 -0.0218857 2.39614 0.105802 0.501605 -0.121868 0.152702 0.0584096 -0.0126922 0.519285 1.22731 -0.0460501 0.0539015 -0.055919 1.03353 -0.183462 -0.0138666 -0.233588 -0.0238066 -0.693208 -0.977615 -0.427337 0.950544 0.0182734 0.143591 -0.73016 -0.0678739 0.0218283 0.0719283 -0.0603399 -0.107033 0.112494 -0.0150294 0.609237 -0.173426 -1.59302 -1.28609 1.47907 -0.974575 1.3889 -2.33833 -0.60333 0.698407 -1.06365 0.880591 -0.0229012 0.0426572 -0.126239 0.283289 -0.418862 0 0 0 0 0 -0.0133859 -0.0237878 -0.000590402 0 0 0 0 -4.57098e-06 0 0.00370196 0 0 0.000274185 3.60488e-05 0.000350322 0 0.000293153 0.00777093 0.0106763 0 0 0.0437729 1.83314e-06 0 0.0161947 0.107894 0 0 0.006897 0.0301303 0 0.0681574 0 0.00211326 0 0 0.000396063 0 0 0.235777 -6.95019e-05 0.00547406 0 -0.00883829 -0.0129665 0 0 0.035283 0 -0.00119219 0.0476413 0.00309344 0 0 -0.000520382 0.00100759 0 0.00216177 0.0117626 0.00138669 -0.394878 0.00122746 0.00383796 0 -0.000258955 -0.00425424 -0.0106834 -0.00527321 0.0296634 0 0 0 -1.2561 -0.0837374 -0.0971047 0.00127539 -0.012828 -0.0316552 -0.000214303 3.50695e-05 -0.00271706 -0.00781076 0 0 0 0 0 0 0.0709528 0 0.145084 0 0 0 0 0.0927619 -0.957733 0 0 0.123243 0 0.0221084 0 -0.0188918 0 0 0.983743 0 -0.494866 0.0295072 0.11541 0.126461 0 0 -0.290707 0 3.37376 0 -0.565044 0.210327 0 -0.110349 -0.252301 0.0140617 0 0.0279326 0 0 -0.0863926 0 1.14939 2.38905 0 0 0.301421 0 0 0.140071 -0.814639 0.01953 0 -1.79591 0 0.921973 -0.145461 0.0990506 0.041204 -0.0129281 -0.717282 -0.823619 0.173811 1.09062 -1.9152 -0.0863098 0 0 0 -0.0571917 -0.0773337 0 0 0 0 0.132081 6.59015 -0.187774 1.86805 -0.125397 -0.00953289 -0.00496191 -0.084658 0.0727592 -0.0653638 0.0862053 0 0 0 0 0 0 -188 0 0 0 0 0 -0.462225 -0.0651334 1.56511 4.32801 0 0 0.490494 0.0419025 0 0.236156 0.0391085 0 0 0 0.0735151 -5.01403 0 0 0 0 0.440519 0 0 -0.456062 -0.222717 0.415234 0 0.32037 0 0 0.0639319 0.0205557 0 0 1.70732 -0.729249 0 0 0.264805 -3.20651 0 0.359723 -0.301157 -0.0945996 -0.296569 1.68718 0.0515992 0 -0.129188 0.341543 0.294125 -2.05188 -0.493202 -0.139004 0 0 -0.365791 0.91916 0 2.67097 0.364837 0.7435 0 0 0 0 0.551658 0.95329 0 -0.579524 0.74449 0 0 0 -7.97851 0 -3.24968 0.766145 0 -0.557436 0.375387 -6.58391 0 -0.657717 0.749723 -3.08046 -0.08111 0 0 0 -0.226562 -0.046512 0 0 0 -0.101411 0.010694 0 -0.014431 0 -0.000258478 -0.0165984 0 0 0 0 0.0450109 0 0.00372035 0 -0.0795486 0 -0.681416 -0.372364 0 -0.00540457 0 0 -0.182036 -0.000110228 -0.0848268 0 0.00225361 0 0.000426351 -0.0535188 -0.0322772 -0.00195188 -0.0157689 0 -1.33858e-05 0 0 0 0.000112346 0 0 -0.000718488 -0.000698447 0.0698681 0.000986357 0 0 -0.00234151 0 -0.00172595 0 0 -0.0167035 -0.000103283 -0.100726 -0.00752715 0 0 0.0260529 0.0372092 0.00780877 -0.052289 -0.13967 0 0.0770378 0.00487312 0.109874 0 0 0 -0.0179591 0 -0.00489668 0.213838 0 -0.000610667 0.00286037 0.0392337 0 -7.08905e-05 0.000657769 -0.00346364 0.175735 0 -0.462225 -0.226562 -0.0651334 -0.046512 -0.0131619 -0.070281 -0.524248 0.0276916 -1.03161 0.0148108 0.0608225 -0.570455 0.00305353 -0.0430191 -0.065842 -0.0507768 0.00981626 0.0443301 -0.0542357 -0.840118 -0.587802 0.18176 -0.326703 -0.0345664 0.0645329 -0.0316739 -0.252259 -0.0264207 -1.71083 0.330376 -5.16456 0.453437 -0.0080929 0.756777 -1.95346 -0.0369937 0.0108469 0.0361664 0.0869771 -0.272233 -0.158235 0.00142382 0.433372 -1.49012 0.00525413 0.0432102 -0.210177 -0.16129 -0.0111531 0.605447 -3.93995 0.616959 -0.0543024 3.02454 0.17748 -0.313709 -0.208082 0.11046 -0.387726 -0.258835 -0.392995 -0.548349 0.111709 -1.09562 -0.895139 0.086094 0.204199 0.14895 0.163508 -0.170772 0.048592 0.0665729 0.00148262 -0.0190221 -0.105849 0.267788 27.5769 3.49852 -0.666148 0.674376 -1.65148 2.59825 0.0706045 -0.524125 0.716468 -0.773873 -0.0136088 -0.227073 0.135643 -0.133731 0.00788954 0 -189 0 0 0 0 0 0.00313921 0.308843 -1.04225 -2.0013 0 0 0.188014 1.77786 0 2.92417 0.124632 0 0 0 0.388558 2.18042 0 0 0 0 -0.351566 0 0 -0.853361 -7.99171 0.784377 0 0.613721 0 0 -0.274309 0.0392932 0 0 0.511517 0.968501 0 0 0.0696557 7.12718 0 0.885336 -2.37943 1.52328 -0.249411 2.34385 -0.708143 0 -0.450413 0.469536 -0.889956 -3.61516 -0.939354 0.510968 0 0 1.82118 -1.81003 0 -1.77928 -1.37163 -0.113575 0 0 0 0 0.750152 0.110301 0 -0.515795 1.47114 0 0 0 3.65162 0 -1.06925 13.0851 0 -0.453459 2.36804 5.73681 0 -0.331858 2.6026 -3.57725 21.5865 0 0 0 -0.0344196 -0.00651349 0 0 0 0.0110345 0.0088641 0 0.000922749 0 -0.000259126 0.0137466 0 0 0 0 0.0532262 0 0.00347724 0 0.162906 0 0.118067 -0.119431 0 0.000314059 0 0 -0.060814 -0.000292107 -0.0186164 0 0.00118099 0 0.000450598 -0.0329869 -0.00270035 -0.00313877 -0.00343631 0 -1.98926e-05 0 0 0 5.92939e-05 0 0 0.000968324 -0.000157474 0.013001 0.0122536 0 0 -0.00205714 0 -0.00144858 0 0 -0.00336866 -0.00331367 0.137335 -0.00241362 0 0 0.0827456 -0.0611221 -0.0123739 -0.0443409 0.17477 0 0.0490345 0.00296687 0.0352695 0 0 0 -0.0859958 0 0.0151342 0.316717 0 0.00212223 0.0201955 -0.0918733 0 0.000175474 0.00306352 -0.0151559 0.161073 0 0.00313921 -0.0344196 0.308843 -0.00651349 0.898425 0.101215 -0.0315484 0.195573 0.87067 0.00286528 0.0553632 0.483103 0.000377191 0.0512117 -0.00680009 0.0523447 0.0221713 0.0221111 -1.10433 -0.265292 0.323816 -0.00722781 0.286039 -0.19116 0.184039 -0.279866 0.679561 -0.049796 -1.07896 0.543423 2.99245 0.500979 -0.00102553 0.0606281 1.29719 0.0281106 0.0120005 0.0181361 0.0905673 -2.123 0.0609297 -0.0284562 0.292549 -0.898254 0.00513806 0.0721325 -0.25446 -0.190184 0.208903 1.40548 3.11384 0.667752 -0.0362607 1.44469 0.0109522 -0.891953 0.126387 -0.483271 0.383251 0.260211 1.24608 1.01244 -0.222788 -0.286381 -0.436895 0.390121 0.356886 0.0367664 0.673273 -0.185176 0.0144985 -0.0264413 0.000887273 -0.366046 -0.12759 0.148667 -15.9786 -2.43445 -4.85566 -0.518355 -2.06915 4.29225 -0.0826111 -0.403234 0.573707 0.553673 -0.00678785 -0.223064 0.542872 -0.575569 1.65616 0 -190 0 0 0 0 0 0.517993 0.14461 -0.0413824 -1.18247 0 0 0.297219 -0.329845 0 -0.945124 -0.149513 0 0 0 -0.572613 2.59907 0 0 0 0 -0.150985 0 0 -0.28974 -0.634334 -0.0523087 0 -0.508797 0 0 -0.0988683 0.0224108 0 0 0.639086 0.665709 0 0 0.276358 -2.61309 0 0.519826 -0.576013 -2.56933 -0.273084 -1.59781 -0.246532 0 0.370373 -0.497397 0.52355 0.192005 0.36492 -0.143998 0 0 -0.414762 -1.43588 0 -0.0419105 0.894569 0.575875 0 0 0 0 -0.338899 0.281009 0 -1.0365 0.408474 0 0 0 1.8212 0 -1.87284 3.59508 0 -0.0678561 -0.361374 1.65832 0 -0.431246 -0.196 -0.708454 0.418349 0 0 0 0.189112 -0.00799993 0 0 0 0.0073053 -0.070475 0 -0.00229747 0 -0.000744456 -0.041884 0 0 0 0 -0.13743 0 -0.0117423 0 -0.425474 0 0.239656 -0.226855 0 0.000136455 0 0 0.226907 -0.00130242 -0.0764773 0 -0.00929695 0 -0.0036329 -0.0621707 0.0168096 -0.0251183 -0.0160613 0 -4.08379e-05 0 0 0 -0.00046678 0 0 0.00302606 -0.00030065 -0.10302 0.0189514 0 0 0.0234722 0 0.0101254 0 0 -0.0506606 0.000301291 0.32289 0.00919932 0 0 -0.111542 0.120037 -0.0322209 0.152404 0.182387 0 0.0331517 -0.00470823 0.24441 0 0 0 1.00409 0 0.105968 -0.534001 0 0.00888397 -0.0275791 0.109603 0 0.000973697 -0.00374771 0.0172175 -0.273934 0 0.517993 0.189112 0.14461 -0.00799993 -0.347498 0.0295012 0.0729095 -0.198778 1.82425 0.0260667 -0.0198866 -0.117439 0.00459852 0.00639382 -0.015528 0.0781852 -0.00266205 0.111451 -0.943272 0.660491 -0.00671647 -0.127698 -0.103041 -0.138577 0.00633945 -0.0751948 0.931173 0.0258224 4.69041 0.112027 -0.289228 0.347929 -0.00420837 -0.869153 -0.168482 -0.0115487 0.00656566 -0.0354998 0.0343023 -0.522431 0.130416 -0.0113463 1.61717 -1.52846 -0.00372915 0.0237595 -0.217838 0.136472 -0.109957 -0.589124 1.05944 -0.126458 0.0734544 0.906324 -0.0240797 -1.31119 -0.18879 -0.220672 0.345099 -0.163602 -0.944609 0.205061 -0.110152 -1.91 -2.66847 0.0832139 0.100073 0.0307803 0.0822171 0.20662 -0.0170305 -0.00775153 -0.0688704 -0.0895211 0.0242283 -0.37371 1.54437 0.424175 2.0783 -0.253158 -1.2666 3.17393 -0.0246051 -0.343256 0.362575 0.940091 -0.034214 -0.0903145 0.112337 -0.0907077 0.582259 0 -191 0 -1.33222 -0.470107 -0.0362852 -0.250196 0.110661 -0.166675 -0.11444 -0.303708 -0.243709 0.593875 -0.0682754 -0.276942 0.00281029 -0.0599176 0.0385661 -1.84457 -10.4097 -0.0852984 0.0820088 -0.66315 -0.063414 0.0271 -0.00361767 0.0231036 0.197986 -0.367774 -0.0947494 0.309932 -0.262595 -0.176181 -0.0306905 0.32508 0.429683 -0.298892 0.0944386 -0.00560283 -0.288824 4.09548 -0.264465 -0.48783 0.0232894 -1.09508 -0.024767 -0.948965 0.172204 -0.370562 0.121964 0.660179 0.0790012 -0.908917 0.128883 3.86475 -0.13359 0.121399 -0.138648 0.0117965 -0.0735966 -0.0833046 0.079238 -0.0397688 2.44945 0.722085 4.50652 -0.132669 0.415816 0.0376388 1.48574 -0.102048 0.0457694 0.789259 0.495103 0.00751642 0.39212 0.633852 -0.169479 0.985769 -12.8514 -1.95922 -0.195173 -0.832874 1.32145 -3.61543 -0.0599967 0.0955525 -0.525994 -0.0644552 -0.0445966 0.0213769 -0.0603755 0.164566 0.287836 0 0 0 0 0 -0.0362852 -0.250196 0.000610303 0 0 0 0 2.41467e-05 0 -0.0129967 0 0 2.14263e-05 2.00722e-06 -0.00569919 0 -0.00155723 -0.0305985 -0.0560329 0 0 -0.228308 4.99902e-07 0 -0.00594835 -0.764917 0 0 -0.0300275 -0.152962 0 -0.0302709 0 -0.0260635 0 0 -0.00334229 0 0 -0.300906 0.000480744 0.000213057 0 0.0121369 0.0024708 0 0 0.0115121 0 8.38875e-05 0.0279584 7.55891e-05 0 0 -0.000178928 -0.00166709 0 0.000330313 0.0179621 -0.00137544 -0.278706 -0.000453642 0.0337028 0 0.00210042 0.0332437 -0.0364785 0.0100002 -0.00377035 0 0 0 0.477321 -0.00796486 0.0989478 -0.000557756 -0.000466337 0.132835 -3.00123e-05 -2.73433e-05 2.92469e-06 0.0222794 0 0 0 0 0 0 0.110661 0 -0.166675 0 0 0 0 0.301421 -0.560762 0 0 0.578501 0 0.0691441 0 -0.00491878 0 0 -0.0520228 0 0.471721 0.0686377 0.163473 0.00946582 0 0 -0.0877361 0 -8.66024 0 5.62116 -0.654899 0 0.575708 1.41081 0.0224019 0 0.0226591 0 0 -0.0540183 0 -2.38888 -0.265287 0 0 -0.00565272 0 0 0.109624 5.52493 -0.21303 0 -1.98572 0 0.509862 0.299564 -0.0426797 0.871621 0.143633 0.0131886 1.09369 0.092222 1.1145 -1.14114 0.0130408 0 0 0 -0.237919 0.018766 0 0 0 0 0.282346 -38.4671 -5.93999 -2.03407 -2.13538 1.07481 -2.15755 -0.239474 0.0911499 -0.199536 -0.221862 0 0 0 0 0 0 -192 0 0.296096 0.176919 -0.0122078 -0.0757353 0.274133 -0.106133 1.00763 -0.745752 -0.0738079 0.791354 0.0749249 -0.204693 0.000916796 0.183891 0.0151249 1.35063 7.88646 0.00860157 0.0337094 -0.403892 -0.00487473 0.131729 -0.00115843 0.120029 0.124254 0.163291 -0.00463117 0.592846 0.912972 -0.190742 -0.00965613 0.0870983 -0.0991592 -0.202712 0.39161 0.00431526 0.156184 -1.76717 0.173239 -0.499071 0.00792699 -0.012747 0.0128543 0.831207 0.0627498 -0.516648 0.738543 0.21575 -0.0157334 0.944043 -0.00631936 -2.46806 -0.0780754 0.0537429 -0.00803132 -0.325592 0.289655 0.149762 -0.166687 -0.0138721 -1.42944 -1.40527 -1.40613 0.128802 -0.000530199 -1.04884 0.0631834 0.190636 0.0129785 -0.770895 0.00794109 0.0782237 -0.100151 -1.70745 -0.455999 0.0939349 0.46524 -2.8409 2.13063 -0.885375 -0.146149 -0.0923987 -0.274996 0.262315 -1.15302 1.03439 -0.0162507 -0.0271214 -0.152609 -0.163168 -1.00073 0 0 0 0 0 -0.0122078 -0.0757353 0.000518319 0 0 0 0 2.07444e-05 0 0.00245318 0 0 -0.000128972 -2.41422e-05 0.00202565 0 8.50394e-05 -0.0153722 0.0246271 0 0 -0.0714465 -1.39883e-06 0 -0.00211767 -0.517122 0 0 -0.0013398 -0.100206 0 0.000101236 0 -0.00985884 0 0 -0.000583125 0 0 0.0682388 0.000414856 -0.00226037 0 0.0104405 0.00686479 0 0 0.0107464 0 -0.00013748 0.0847241 -0.000493689 0 0 0.000297435 -0.00158038 0 0.000524374 0.0193762 0.000375381 0.504365 -0.0010033 0.00574433 0 0.00246424 0.0142181 0.120586 -0.00181009 0.0138058 0 0 0 0.0286538 0.019974 -0.00996208 0.000845192 0.000836798 -0.0225933 0.000101894 8.93507e-05 0.00018815 -0.0118643 0 0 0 0 0 0 0.274133 0 -0.106133 0 0 0 0 -0.319091 -0.568122 0 0 0.252346 0 0.0478091 0 -0.00932868 0 0 0.378735 0 -0.243152 -0.161631 -0.0915192 0.041289 0 0 -0.183717 0 6.30884 0 -3.12526 -0.0101076 0 -1.29216 -1.27962 0.000251823 0 -0.0556246 0 0 -0.0394888 0 1.15715 1.40648 0 0 0.144596 0 0 -0.236731 -3.033 0.486886 0 -0.30058 0 0.219075 -0.0103079 -0.154954 -0.644498 0.180041 0.121375 -0.863048 -0.135503 1.41761 4.18356 -0.123986 0 0 0 0.256147 -0.0839755 0 0 0 0 -0.0364803 6.54373 -2.45405 7.57933 -0.543483 0.665145 0.938034 -0.198442 0.206604 -0.215764 0.569602 0 0 0 0 0 0 -193 0 0.35231 0.408142 -0.0173264 0.0302562 -0.0463109 0.190538 -0.887063 -2.07444 -0.182993 0.804115 -0.221243 0.166222 0.00197239 0.131593 0.022423 0.868712 -0.19244 0.131159 0.0679998 0.0797514 -0.00379677 -0.417754 -0.00258321 0.223816 -0.541294 0.554676 -0.041635 -0.374426 0.0848504 0.0817692 -0.0231489 0.173498 -0.687492 -0.00269798 -0.335703 -0.0127188 -0.334309 -3.16095 -0.366987 0.636303 0.0182752 -1.58079 -0.0249962 1.07721 0.148131 0.483754 -0.103506 0.579009 0.0317554 -0.255163 0.195822 -2.91571 -0.10985 0.155066 -0.0735341 -0.971472 0.284176 0.427624 -0.184652 -0.0482445 -0.509303 -2.39342 -1.81724 -0.766104 -0.159394 -0.594848 0.166637 -0.136436 0.0495777 -0.388139 0.33595 0.0864001 0.126261 -0.853948 -0.236065 0.369172 11.7511 -1.38802 8.16524 -0.0930578 1.04805 1.21355 -0.696031 0.555227 -0.958237 1.8671 -0.0383624 0.0364512 -0.0921722 0.194791 -0.0930066 0 0 0 0 0 -0.0173264 0.0302562 -0.00192527 0 0 0 0 -7.41643e-05 0 0.00542093 0 0 -0.000436633 -0.000130848 0.00290146 0 -5.34023e-06 -0.0152307 0.0541455 0 0 0.214004 -8.17647e-06 0 -0.0131961 0.101673 0 0 0.0281384 -0.0420161 0 -0.0950682 0 0.00523646 0 0 0.00108264 0 0 -0.432801 -0.00147788 -0.00763485 0 -0.0382661 -0.00624022 0 0 -0.0800134 0 -0.000480918 -0.174986 -0.00147092 0 0 0.000742482 0.00512684 0 0.000482041 0.0640196 0.00652766 0.326895 0.0038801 0.0333168 0 -0.013397 0.0205934 0.224715 -0.0356444 0.111491 0 0 0 1.37799 0.062889 -0.0293168 0.00357035 0.00294951 0.131262 0.000279303 0.000241661 0.000701178 -0.0165475 0 0 0 0 0 0 -0.0463109 0 0.190538 0 0 0 0 -0.220507 -1.21847 0 0 0.42966 0 0.0674472 0 -0.0411052 0 0 0.818298 0 -0.809133 -0.0694495 0.226663 0.113619 0 0 -0.503778 0 0.764267 0 -2.18088 0.110896 0 -0.510968 -1.0388 0.029449 0 -0.0174929 0 0 -0.108837 0 -0.0198401 2.15478 0 0 0.28475 0 0 -0.496051 -0.937639 0.0363598 0 -3.15037 0 0.0546943 0.115677 -0.104232 0.112968 0.236684 0.258031 -0.238245 -0.0936825 1.73619 -3.5256 -0.0894957 0 0 0 0.0551087 0.00694353 0 0 0 0 0.230185 2.13186 -4.97458 6.80689 -0.601342 0.268285 0.984369 -0.248827 0.0936238 -0.155815 0.280346 0 0 0 0 0 0 -194 0 -1.2055 -0.218478 -0.0303658 -0.154709 -0.0815827 -0.0883971 -0.566669 -0.755305 -0.380763 0.634626 -0.334354 0.0634369 0.00290291 0.578229 -0.0810428 0.915873 0.844922 0.168433 -0.117095 5.02211 0.0208938 0.0927427 -0.00513528 0.135796 -0.0333192 0.363939 0.0448503 0.316012 0.0494039 0.063848 -0.0431279 -0.684079 0.634787 0.109895 0.000271275 -0.0448606 0.131951 2.79274 -0.478855 1.98476 0.0149768 -0.407406 -0.0721481 0.862304 0.0140829 0.613715 0.326697 -0.956459 0.231641 -0.000491803 0.187972 -6.9331 0.294634 -0.183648 -0.129117 -1.60527 -0.0767435 0.178777 0.02217 -0.0179258 -0.0253282 -4.47252 0.784003 -1.74557 -0.747128 0.265404 0.389923 0.495954 0.117988 0.770641 -0.294048 -0.822292 0.308842 -1.75175 0.219631 0.0480387 -14.3375 -2.07502 -1.27683 -0.330235 0.730384 -2.32873 -0.292168 0.423028 -0.5242 1.0692 -0.00974452 0.171779 -0.0374125 0.712373 -0.14257 0 0 0 0 0 -0.0303658 -0.154709 -0.000487106 0 0 0 0 0.000304065 0 -0.0192214 0 0 1.86288e-05 -0.0001737 -0.00473811 0 -0.00142889 -0.0131399 -0.0561909 0 0 -0.260722 -4.14705e-06 0 0.00837048 -0.253859 0 0 -0.0274455 -0.0341628 0 0.0488129 0 -0.034408 0 0 -0.0030802 0 0 -0.158076 0.00638422 0.000772804 0 -0.000311617 -0.0304288 0 0 0.082496 0 -0.00417123 0.155411 0.00437874 0 0 -0.00134994 -0.000809425 0 0.0135214 0.074548 -0.00215657 -0.846721 -0.0129695 0.00193643 0 -0.0232458 0.0098877 -0.230901 0.0454647 -0.00217617 0 0 0 -1.1825 -0.128719 -0.00869447 0.00896943 -0.0205123 -0.00574319 -0.000190289 -8.26713e-05 -0.00363457 0.0373453 0 0 0 0 0 0 -0.0815827 0 -0.0883971 0 0 0 0 0.0809637 -0.214234 0 0 0.780067 0 0.0818658 0 0.0160797 0 0 -0.1239 0 0.512776 0.0775353 0.415264 0.0283106 0 0 0.0254096 0 -0.778635 0 6.58604 0.0849141 0 0.315864 2.09558 0.0409758 0 0.0302157 0 0 0.00265904 0 0.193989 -0.266073 0 0 0.0512535 0 0 -0.492195 3.46563 0.00992412 0 -1.81135 0 0.652051 0.381992 -0.0998859 0.770358 0.181895 0.0571619 0.838705 0.0687672 1.21141 2.55561 -0.0142302 0 0 0 0.137748 0.0719183 0 0 0 0 0.0422521 -45.3131 -8.11124 -1.14586 -2.54357 1.13007 -2.35518 -0.353329 0.109745 -0.236195 -0.142554 0 0 0 0 0 0 -195 0 0.220527 0.150908 -0.00611383 -0.0403884 0.448996 0.022816 -0.469766 -2.43553 -0.0390357 0.411374 -0.180283 -0.693541 0.0009526 -2.63022 -0.041916 0.475663 2.8988 0.124649 -0.0515567 -0.903655 -0.00350195 -0.192378 -0.00216759 -0.057317 -0.322293 0.127995 0.00689256 0.367129 2.06161 -0.493291 -0.012942 -0.330142 -0.422094 0.205807 -0.0103653 -0.0238974 -0.0229324 -1.26772 -0.131195 -0.372625 0.00494019 0.497984 -0.0218101 -3.25009 0.00282092 -0.232059 0.995403 -0.441803 0.09743 -1.25666 0.164022 1.78447 0.103779 -0.0607336 0.34671 3.00692 0.387312 0.0731396 0.00921149 -0.00212234 -0.599546 0.741839 -0.745164 1.22967 0.133196 0.354104 -0.21542 0.287277 0.0172864 -0.756833 -0.330461 0.0117114 0.0635267 2.08153 -0.408837 -0.0564468 1.62856 -2.57829 8.69591 -1.3278 2.03467 -2.4301 -0.0350041 0.548041 -1.92648 3.08766 -0.00195191 0.0466133 -0.717329 1.08369 -5.94941 0 0 0 0 0 -0.00611383 -0.0403884 0.00216367 0 0 0 0 0.000398717 0 -0.0141009 0 0 -0.000746316 -0.00151702 -0.00795085 0 -0.00109509 0.000575267 -0.107675 0 0 0.179026 -9.84644e-05 0 0.016766 -0.0215078 0 0 0.0256272 -0.0311265 0 0.103601 0 0.0090786 0 0 0.0017621 0 0 0.336155 0.00789228 -0.00883059 0 0.0416458 0.000360481 0 0 0.162916 0 -0.000897606 0.0668896 0.0035823 0 0 0.00196891 -0.00709336 0 0.00119043 0.0124573 0.0107156 0.306411 -0.015707 -0.0341896 0 0.00745072 -0.0329509 0.140494 -0.0358168 0.0571414 0 0 0 -0.159116 0.0787929 0.406568 -0.00096344 0.021525 -0.193025 0.000614055 0.00126331 -0.0112682 0.0857122 0 0 0 0 0 0 0.448996 0 0.022816 0 0 0 0 -0.469423 -0.749911 0 0 0.332313 0 0.039258 0 -0.0372405 0 0 0.975106 0 -0.329187 -0.107944 0.0640442 0.102623 0 0 -0.467631 0 3.57207 0 -0.76407 -0.243858 0 -1.42828 -0.480571 0.00458103 0 -0.0232297 0 0 -0.0507098 0 0.146676 2.37012 0 0 0.233149 0 0 -0.421198 -1.35261 0.228273 0 -1.81131 0 0.621594 0.0396365 -0.153494 -0.415875 0.193929 -0.141807 -0.501174 -0.192707 0.930346 -3.72678 -0.231464 0 0 0 0.185841 0.0177696 0 0 0 0 -0.0111686 -11.9935 -4.79986 8.21176 -1.28518 0.892347 0.0432341 -0.200842 0.142667 -0.183194 0.55058 0 0 0 0 0 0 -196 0 1.52511 -0.0786125 0.0666015 0.388583 -0.352006 -0.278916 0.851549 2.76284 0.342403 -1.54707 0.220189 0.212456 -0.0113356 0.112848 -0.00721736 -0.543839 1.84986 -0.151351 -0.0433198 -0.946821 0.0162884 0.456581 0.0110986 -0.219629 0.825458 -0.5344 -0.0358259 0.551708 0.139039 -0.0408751 0.0684705 -0.201546 0.268429 -0.131737 0.448133 0.0336081 -0.127653 -2.09724 0.667696 -1.20116 -0.0898748 0.00357085 0.092026 1.05105 -0.66902 -0.969275 0.484782 -0.367436 -0.229489 -0.0850896 -0.53593 -3.76888 0.0725171 0.105503 -0.0393857 -3.06793 0.0527401 0.218841 0.632601 0.242526 -0.488874 0.775564 1.91207 -2.66148 -0.598875 0.124778 2.07899 0.351654 -0.116136 1.66927 0.152255 -0.109289 -0.209332 -1.42859 -0.473227 -0.142682 8.12283 3.33981 -4.17334 2.96469 -2.85662 2.09194 1.35403 -1.34499 1.86432 -3.87143 0.462923 -0.521244 0.917226 -0.9031 -0.40124 0 0 0 0 0 0.0666015 0.388583 -0.00330488 0 0 0 0 -0.000813759 0 -0.0025053 0 0 -0.00270608 -0.00443291 0.00718071 0 0.000292807 0.0368387 0.0597709 0 0 0.127068 -0.000250153 0 -0.0256279 0.393113 0 0 0.01145 0.114295 0 -0.168022 0 0.0406842 0 0 0.00332669 0 0 -1.13354 -0.0160749 -0.0505443 0 -0.0596183 0.0185698 0 0 -0.16829 0 -0.00048074 0.205584 -0.00670286 0 0 0.00426208 0.00926516 0 0.00339922 0.117907 0.0184295 -0.142206 0.046076 0.00325576 0 -0.0432586 0.0215455 0.26978 -0.0957414 -0.0341109 0 0 0 6.48904 0.432589 0.0463717 0.0392872 -0.00269305 0.268697 0.00182999 0.000607301 0.013752 -0.050684 0 0 0 0 0 0 -0.352006 0 -0.278916 0 0 0 0 0.0916251 0.524925 0 0 -0.552469 0 -0.0643026 0 -0.0152782 0 0 -0.252653 0 0.629831 0.0266948 -0.104606 -0.0377508 0 0 -0.109857 0 -0.732802 0 -1.65569 -0.610442 0 0.448003 0.311659 -0.0147494 0 0.00740532 0 0 0.0326947 0 -1.47675 -0.485939 0 0 -0.0689207 0 0 0.430888 -3.00494 -0.0445727 0 0.5898 0 -0.303843 -0.0667995 0.0139367 0.066652 -0.0895887 -0.544099 -0.223444 0.0631512 -0.41774 -2.85397 0.0203292 0 0 0 -0.130123 0.0313378 0 0 0 0 -0.0813242 18.9888 3.00337 -0.603121 1.17727 -0.730199 0.980909 0.335076 -0.246595 0.27276 -0.204782 0 0 0 0 0 0 -197 0 0 0 0 0 0.198149 -0.196371 0.109115 0.314999 0 0 -0.106279 -0.432449 0 -0.223568 -0.00340693 0 0 0 0.022026 1.39 0 0 0 0 0.293101 0 0 0.537852 0.681699 -0.340191 0 -0.0492196 0 0 0.165137 -0.0105982 0 0 -0.394436 0.159502 0 0 -0.0245836 -0.019307 0 -0.295198 0.529836 0.106768 0.0235265 -0.433817 0.0839404 0 -0.0713185 -0.110561 0.354173 1.77163 0.188454 0.233592 0 0 -1.15525 -2.50785 0 -0.0249772 0.141253 -0.39901 0 0 0 0 0.0535082 -0.111293 0 0.234209 -0.231736 0 0 0 -2.08528 0 0.25204 -2.13342 0 -0.00584356 -0.763215 -0.322291 0 0.134268 -1.18874 3.01136 -6.20631 0 0 0 0.00502656 2.85033e-05 0 0 0 9.76286e-05 0.000850195 0 1.04059e-06 0 8.35376e-06 7.06485e-06 0 0 0 0 0.000259493 0 1.49226e-06 0 0.00134674 0 0.00192236 -0.00231377 0 -2.37233e-06 0 0 -0.0027762 0.000103035 -1.25142e-05 0 4.89978e-06 0 5.96555e-05 0.00136562 -0.000208094 0.00146843 7.56019e-06 0 5.86158e-07 0 0 0 3.43803e-07 0 0 -0.000271102 9.41781e-05 -0.00108306 0.000679245 0 0 0.000103703 0 -0.000102757 0 0 -0.000136189 0.000373733 -0.0010792 0.000580197 0 0 -0.00147314 -0.000702583 1.99834e-05 -0.000112888 -5.33681e-05 0 0.00113681 0.000163169 0.00725662 0 0 0 -0.00107713 0 -0.00117445 0.00222041 0 0.000145777 -0.000275606 0.000241687 0 -0.000130036 0.000245846 -0.00046279 0.000680622 0 0.198149 0.00502656 -0.196371 2.85033e-05 0.358014 0.0158745 4.37702e-05 0.566127 -0.00846677 -1.59209e-07 -0.0372613 -0.00743502 -7.15405e-10 -4.62505e-05 2.05537e-07 -2.35551e-05 -0.0260915 -3.39043e-05 1.09261 -0.131188 0.278101 0.0340758 -0.00198808 0.0975424 -0.145375 0.00436817 -0.00473787 0.0188844 4.05796 -0.241025 2.21615 -0.528698 9.23584e-10 0.400091 1.04672 -1.38918e-05 -0.00750133 0.103659 -0.066133 0.002214 -4.19181e-05 -0.00359125 0.626107 1.27479 -0.00584484 -0.0310636 0.0885851 0.0263662 -0.0475297 -0.0549317 -2.36187 -0.577957 0.0243634 -0.30542 -6.83328e-08 -1.04297 -1.70041e-05 0.260563 0.00140492 0.038416 -0.309858 -0.00240372 0.216482 0.000475318 -2.04817 -0.216651 0.228253 -0.139292 -0.0171849 0.165572 2.08956e-05 0.056491 6.26281e-08 -0.0280233 0.141911 1.43711e-05 -15.3463 0.017559 -3.29838 0.000102836 1.12819 -3.16062 1.74025e-07 0.3654 -0.786478 0.527412 4.45278e-10 0.194444 -0.368388 0.514634 -0.112465 0 -198 0 0 0 0 0 0.863646 0.214489 -0.317375 -2.92 0 0 0.0237704 -0.273535 0 -0.402519 -0.000745614 0 0 0 -0.00137105 3.54097 0 0 0 0 -0.441744 0 0 -0.110812 -4.17463 -0.197512 0 -0.0452195 0 0 -0.0500473 0.00511866 0 0 0.149885 -0.324937 0 0 0.0487898 0.507481 0 -0.44445 -0.604874 -0.19938 -0.0483775 1.0625 -0.0299765 0 0.0251385 0.0884341 -0.418036 -0.69198 -0.109591 0.0577045 0 0 0.784395 -1.3886 0 -1.17707 -0.550454 -0.699629 0 0 0 0 -0.132112 -0.0541334 0 -2.31373 0.571145 0 0 0 5.39625 0 -0.0201425 4.67321 0 -0.174614 0.534193 4.74523 0 -0.311817 0.933309 -1.49525 9.26336 0 0 0 0.0137308 7.78611e-05 0 0 0 0.000319357 0.00222469 0 3.22095e-06 0 2.26948e-05 1.70195e-05 0 0 0 0 0.000818624 0 4.48483e-06 0 0.00306634 0 0.00623001 -0.00556901 0 -6.92715e-06 0 0 -0.0074317 0.000279104 -3.13882e-05 0 1.30208e-05 0 0.000156099 0.00341103 -0.000628187 0.00397771 1.94634e-05 0 1.59243e-06 0 0 0 9.13626e-07 0 0 -0.000734367 0.000246434 -0.00309915 0.00184813 0 0 0.00020259 0 -0.000268881 0 0 -6.22996e-05 0.000918132 -0.00266063 0.00151795 0 0 -0.00398187 -0.00210267 -1.17303e-05 -0.000120269 -0.000176981 0 0.00325164 0.000507636 0.0170546 0 0 0 -0.00245246 0 -0.00318138 0.00594388 0 0.000394885 -0.000737778 0.000713027 0 -0.000352245 0.000658113 -0.0012446 0.00182198 0 0.863646 0.0137308 0.214489 7.78611e-05 0.780779 0.20458 0.000119565 -0.707899 -0.0170309 -4.34903e-07 0.00457654 -0.0246526 -1.95424e-09 -0.0001425 5.61457e-07 -5.10892e-05 -0.00133392 -9.26147e-05 0.552475 1.7117 -0.00811931 -0.349794 -0.00844826 0.100231 -0.0212153 -0.348445 -0.00938005 0.0222154 4.49758 0.100137 1.38023 0.487694 2.52291e-09 -2.04384 -0.0497065 -4.9176e-05 0.00249805 -0.0839906 0.0228475 -1.96512 -9.18166e-05 -0.0574448 1.79552 1.75427 0.000716761 0.0135046 0.234241 0.185028 -0.0605528 0.353655 1.96116 -0.06949 -0.021332 -0.347714 -1.86661e-07 -0.111487 -3.89405e-05 -0.208858 0.00998225 0.155511 -0.429936 -0.000814094 0.0867404 -0.00284402 -2.25303 -0.270664 0.378641 0.0367629 0.540667 -0.000210401 6.24275e-05 -0.0156478 1.71078e-07 0.0503042 -0.211947 3.29107e-05 -9.55776 0.0802594 5.4185 0.000311603 -0.31675 5.28424 5.03892e-07 -0.012446 0.0952319 2.51046 1.21635e-09 -0.109154 0.418388 -0.69973 2.93797 0 -199 0 0 0 0 0 0.00326268 -0.317154 0.938009 1.24101 0 0 -0.0381803 -1.63722 0 -2.30709 0.00381749 0 0 0 0.041726 -1.37531 0 0 0 0 0.244941 0 0 0.611515 -0.271868 -0.927275 0 0.101302 0 0 0.266365 -0.00997313 0 0 -0.36735 -1.56866 0 0 -0.133171 -3.6963 0 -1.22905 0.593381 0.555365 0.202835 -0.837405 0.0793742 0 -0.0651715 -0.0295648 0.0131923 2.5719 -0.0328153 -0.0325246 0 0 -2.28696 3.2767 0 0.853184 0.149267 -1.67641 0 0 0 0 0.0511664 -0.301704 0 3.12802 -0.815118 0 0 0 -2.82063 0 0.583752 -0.735062 0 0.6677 -0.709703 -2.3586 0 0.820424 -1.36775 2.4295 -4.64258 0 0 0 -0.0194044 -0.000110033 0 0 0 -0.000331452 -0.00359564 0 -3.69056e-06 0 -3.26488e-05 -2.22785e-05 0 0 0 0 -0.000988614 0 -5.71183e-06 0 -0.00385674 0 -0.00658175 0.00758173 0 1.00183e-05 0 0 0.0109481 -0.000405298 4.32847e-05 0 -2.00818e-05 0 -0.000252295 -0.00492773 0.000919332 -0.00577621 -2.79048e-05 0 -2.29086e-06 0 0 0 -1.40908e-06 0 0 0.00106641 -0.000398298 0.00448913 -0.00266933 0 0 -0.000262601 0 0.000434578 0 0 -0.000172226 -0.0012383 0.00355101 -0.00214926 0 0 0.00580606 0.0030787 1.26964e-05 0.000122594 0.000319395 0 -0.00467939 -0.000738734 -0.0234132 0 0 0 0.00308462 0 0.00461981 -0.00875628 0 -0.00057343 0.00108686 -0.00113136 0 0.000511511 -0.000969505 0.00182324 -0.00268407 0 0.00326268 -0.0194044 -0.317154 -0.000110033 0.367002 0.0530283 -0.00016897 0.151163 0.0296565 6.14605e-07 0.0240576 0.0349333 2.76173e-09 0.000201732 -7.93452e-07 8.13821e-05 0.0330182 0.000130883 -0.287836 0.0672214 -0.333648 0.0827217 0.0113149 -0.0898508 0.294541 -0.0596393 0.0157236 0.00418647 0.0031709 -0.125114 -0.522059 -1.24177 -3.56538e-09 0.880835 -0.761336 6.71728e-05 -0.00584282 0.0238701 -0.042652 -0.31833 0.000150551 -0.0116513 -1.27331 -0.0270394 0.00210703 -0.0212461 -0.118687 0.0117779 0.0235465 0.398819 -0.872434 -1.53372 -0.0357396 -2.26393 2.6379e-07 -2.17085 6.19128e-05 0.169888 -0.0134232 -0.280248 -0.516131 0.00640049 -0.0489828 0.0120473 -6.83003 -0.0160049 0.364645 0.00818787 -0.0978085 0.0363463 -8.83387e-05 0.0209083 -2.41768e-07 -0.050787 -0.0132787 -5.23259e-05 3.61512 -0.119024 -3.39425 -0.000449738 0.0765579 1.73282 -7.12721e-07 0.188115 -0.235146 0.31217 -1.71894e-09 0.179185 -0.23785 0.303197 0.360391 0 -200 0 -0.0825556 -0.232015 0.00051196 0.010388 0.185325 -0.00490765 -0.0327161 0.561817 0.00297759 -0.337823 0.0251537 -0.122713 -6.53467e-07 -0.540332 0.000928775 -0.30609 -0.582548 -0.0678349 0.00154984 -1.31282 -0.00715739 0.20538 9.07519e-07 -0.0216886 0.102111 -0.210554 0.000935705 -0.228322 -0.553384 -0.0238753 5.30654e-05 0.0490038 0.687925 0.0146274 0.0022399 0.000560675 0.0118658 2.57798 0.0505644 -0.582558 -3.4479e-05 0.17312 0.00118208 -1.29587 -0.00159017 -0.196358 -0.391681 0.0738196 -0.00189561 -1.54807 0.0506933 2.15521 -0.00174599 0.000927144 -0.0272579 0.525517 0.114232 -0.0493654 0.00689119 4.17376e-05 1.41285 2.31848 -0.239792 -0.896469 0.333275 0.9989 0.157658 -0.11393 -5.71642e-05 0.108944 -0.0495219 0.0711595 -0.0660512 1.2438 0.514622 0.399742 -13.2455 -0.331072 -4.50939 -0.226421 -0.345873 -1.79081 0.12173 -0.359317 0.769891 0.00604296 3.10367e-06 -0.000111645 0.00436278 -0.143237 2.66065 0 0 0 0 0 0.00051196 0.010388 0.00016874 0 0 0 0 1.94422e-06 0 -0.00114779 0 0 0.000452398 0.00014505 -0.000202882 0 -2.332e-05 0.000235826 -0.011501 0 0 -0.0178171 1.0548e-05 0 -3.13898e-05 -0.0119163 0 0 -0.00273782 0.00421421 0 -0.0103395 0 -0.000174037 0 0 -4.16758e-05 0 0 -0.00253854 3.06623e-05 0.00618512 0 0.00313552 0.00651876 0 0 -0.0107199 0 0.000325439 -0.0344018 -0.000109992 0 0 -0.00092732 -0.000275046 0 0.00153184 0.00137378 0.00243103 -0.101988 0.00720668 -0.00260021 0 0.00112008 0.00410524 -0.00037451 -0.00202319 -0.0128016 0 0 0 0.180162 0.00674827 0.0294694 -0.00281161 0.00450463 0.0350327 -0.000599892 0.00114163 -0.00234365 0.00667603 0 0 0 0 0 0 0.185325 0 -0.00490765 0 0 0 0 0.138178 -0.17789 0 0 -0.244052 0 -0.032166 0 -0.00940283 0 0 -0.824785 0 0.394806 0.0267479 -0.102023 -0.117606 0 0 -0.066039 0 -5.04158 0 1.03547 0.10474 0 0.216831 0.75228 -0.0115658 0 0.0114452 0 0 -0.0317341 0 -0.85008 -1.89424 0 0 -0.26999 0 0 0.323884 -0.787538 0.00656871 0 0.969263 0 0.246233 -0.170831 0.113053 0.151311 0.0499077 -0.123339 0.0599207 -0.026238 0.662148 4.47055 0.0598861 0 0 0 0.00235213 0.0406534 0 0 0 0 0.0362114 -4.91255 1.73372 -2.85123 0.409459 -0.464672 -0.0959866 0.147635 -0.151645 0.192433 -0.134743 0 0 0 0 0 0 -201 0 1.96749 0.674078 -0.000955242 -0.040232 0.39993 0.329443 -0.79411 -2.42144 -0.00428079 0.033338 -0.00870094 0.109545 1.12434e-06 0.0427305 -0.000513662 1.37348 4.08195 -0.0110545 -0.00131928 0.613105 -0.000690599 -0.310877 -1.44597e-06 0.00661085 -0.58768 0.735177 4.98521e-05 -0.495823 -1.27576 0.129687 -8.06429e-05 -0.0129592 -1.04128 -0.019991 -0.301144 -0.000391512 0.0289944 -5.08952 -0.0389447 0.999832 6.34742e-05 -0.117247 -0.0011836 0.66903 0.00337163 0.835197 -0.839999 -0.0469903 0.00208642 1.21467 0.0446719 -3.03794 0.0015078 -0.00135882 0.0455301 -1.31552 0.138995 0.0529366 -0.00917615 -7.45284e-05 -2.26421 -0.441787 -0.507302 2.26086 -0.114965 0.774635 -0.438545 0.0706773 7.82669e-05 0.0163759 -0.208408 0.0118872 -0.0207289 0.593573 1.09003 -0.139883 26.1479 1.32771 12.5265 0.83603 -0.430199 12.2172 -0.0296985 0.189363 -0.376488 7.78577 -6.5807e-06 0.0001701 -0.00686033 0.0436402 6.13383 0 0 0 0 0 -0.000955242 -0.040232 0.000107479 0 0 0 0 7.7797e-07 0 0.00132523 0 0 -0.000666166 -0.000221979 0.000248432 0 3.24616e-05 -0.000370818 0.0100234 0 0 0.00703216 -1.61147e-05 0 -0.000132391 0.0273718 0 0 0.0021883 -0.00791263 0 -0.00368013 0 0.000172981 0 0 5.35274e-05 0 0 -0.0706701 1.03111e-05 -0.00919207 0 0.00139498 -0.0124943 0 0 0.0256045 0 0.000222147 0.0296628 -0.00166091 0 0 0.00136342 -0.000187749 0 -0.00307277 0.00277712 -0.00409705 -0.0118218 -0.0123885 0.00587795 0 -0.00168407 0.00476674 0.00901106 -0.00719365 0.0194019 0 0 0 0.27371 0.00521055 0.00939827 0.00702214 -0.0133171 0.0249077 0.000876488 -0.00167217 0.0036507 -0.00429463 0 0 0 0 0 0 0.39993 0 0.329443 0 0 0 0 0.0259372 -0.0100612 0 0 0.0798451 0 0.00951435 0 0.00192736 0 0 0.16569 0 -0.92162 -0.133742 0.00133072 0.0147458 0 0 0.0114792 0 3.61313 0 -6.84124 0.137401 0 -0.983286 -1.96494 0.00109885 0 -0.00238711 0 0 0.000858544 0 0.30331 1.42947 0 0 0.165997 0 0 -0.0187832 -4.95608 -0.05208 0 -0.557228 0 -0.999299 0.0935134 -0.158579 0.0465983 0.131209 -0.993072 -0.718187 0.0130554 -0.195923 -1.92914 -0.201049 0 0 0 -0.0132725 -0.00927423 0 0 0 0 -0.0811877 45.6238 1.44796 7.04133 1.06267 -0.802234 3.19366 -0.078406 0.112038 -0.188638 0.733884 0 0 0 0 0 0 -202 0 0.154267 -0.0198765 -0.00170606 -0.0861703 0.30864 0.196888 -1.575 -2.80103 -0.00677003 -0.33502 -0.0431199 -0.323089 1.94288e-06 -1.12341 -0.00157297 -0.298116 -1.96064 -0.0945513 -0.00330145 -2.84517 -0.0112436 -0.0423609 -2.41267e-06 -0.0897113 -0.505797 0.112057 -0.00198201 -0.75837 -2.4519 0.0181422 -0.000131414 -0.0737784 -0.190701 -0.0203224 -0.345768 -0.00100733 0.0601356 -0.701768 -0.118898 -0.606505 0.000112775 0.261782 -0.00264235 -3.33006 0.00629953 0.118142 -1.45955 -0.164673 0.00433111 -1.12592 -0.163855 1.25891 0.00302514 -0.00386526 0.103983 1.3104 -0.00265112 0.0859681 0.110205 -0.000130809 1.56162 2.11272 0.455273 -1.10003 0.0363201 1.5374 0.167951 0.0919424 0.000120288 0.0546404 -0.00228488 -0.064503 -0.0747805 2.30726 1.13457 -0.205762 10.1818 2.13792 9.87895 1.50039 -0.669953 11.1342 0.52252 -0.433354 0.597481 11.184 -1.22953e-05 0.000362835 -0.0127512 0.189767 11.7887 0 0 0 0 0 -0.00170606 -0.0861703 -0.000198399 0 0 0 0 -5.4677e-06 0 0.00265566 0 0 -0.00134697 -0.000419811 0.000500729 0 6.41066e-05 -0.000555627 0.0194119 0 0 0.0066882 -3.04666e-05 0 -0.000170366 0.0566314 0 0 0.00381236 -0.012148 0 -0.0152883 0 0.000385615 0 0 0.000107081 0 0 -0.150345 -7.12946e-05 -0.0185983 0 -0.0018958 -0.0239115 0 0 0.0447334 0 -0.000426824 0.0271403 -0.00156489 0 0 0.00275649 0.000360732 0 -0.00593862 0.00858024 -0.00818407 -0.163071 -0.019575 0.0115377 0 -0.00420535 0.0123433 0.0150433 -0.0181661 0.0296071 0 0 0 0.791087 0.0332389 0.0315348 0.0111834 -0.022223 0.0948356 0.00177125 -0.0033798 0.00741042 -0.00510067 0 0 0 0 0 0 0.30864 0 0.196888 0 0 0 0 0.448281 0.553098 0 0 0.138092 0 0.0118245 0 0.00854431 0 0 -0.232214 0 0.189293 -0.0242727 -0.0680045 -0.0279455 0 0 0.0662421 0 -0.206652 0 3.56054 0.427309 0 -0.109329 1.29453 -0.00680449 0 0.0554586 0 0 0.0693556 0 -0.0989987 -0.454554 0 0 -0.0526631 0 0 0.0539675 0.457069 0.578526 0 1.06227 0 0.195199 0.17796 -0.211706 -0.255615 0.0358567 0.572773 0.396349 0.0109402 0.0548458 2.06494 0.0487921 0 0 0 0.0743921 -0.0314357 0 0 0 0 -0.105304 -27.7181 -0.602332 -3.76292 0.51283 -0.646152 -1.55363 0.0228885 -0.0112252 -0.111192 0.180558 0 0 0 0 0 0 -203 0 0.149304 -0.0521563 0.0003213 0.00886409 0.193579 0.132345 0.383092 0.589974 0.00161919 -0.573983 0.012865 0.217164 -2.01956e-07 0.210844 -7.02366e-05 -0.322549 -2.19598 -0.134497 -0.000346048 0.110452 -0.0172731 -0.0559542 2.89402e-07 -0.0703842 -0.0195311 0.0329531 -0.00717689 -0.447669 -0.197736 0.225716 2.21757e-05 -0.000272245 0.080533 -0.024682 -0.134939 0.000205829 -0.0256121 -0.240388 0.0111159 0.345825 -1.42965e-05 -0.0415282 0.000203036 0.0937766 -0.000875906 0.472724 -0.306943 -0.0183008 -0.000268368 -0.0499025 -0.142224 4.14223 0.000465918 -0.000264907 0.00488195 0.246809 0.0292106 -0.00358044 0.110497 1.45202e-05 0.398648 0.916437 0.617248 1.24459 0.558937 0.44876 0.0928038 -0.201967 -1.9654e-05 0.255653 -0.0821391 -0.00214642 0.00713456 -0.201996 0.0254977 0.10166 2.35304 0.562851 0.954547 0.132804 -0.455357 2.41463 0.321595 -0.636952 1.38112 -1.07876 6.70333e-07 -7.77254e-06 0.000344402 -0.00420491 0.121336 0 0 0 0 0 0.0003213 0.00886409 0.000304923 0 0 0 0 4.19547e-06 0 -0.00120604 0 0 0.000494184 0.000115854 -0.000119589 0 -1.98068e-05 0.000125776 -0.00916848 0 0 -0.00821485 8.03029e-06 0 -6.86073e-05 -0.0408478 0 0 -0.000733842 0.000998648 0 -0.0101255 0 4.46181e-05 0 0 5.1131e-06 0 0 -0.0185838 6.31975e-05 0.00730403 0 0.0049728 0.00117953 0 0 0.00051382 0 0.000605757 -0.00117488 -0.000549966 0 0 -0.00100065 -0.000511958 0 0.000780209 0.0131465 0.00167066 -0.0968679 0.00239043 -0.000406644 0 -0.000502557 0.00585306 -3.95377e-06 -0.00503819 0.00425751 0 0 0 0.206715 -0.000186999 0.0279718 -3.59982e-06 -0.00125809 0.0310504 -0.000603064 0.000727161 -0.00165846 0.00426365 0 0 0 0 0 0 0.193579 0 0.132345 0 0 0 0 -0.181716 -0.0675843 0 0 -0.202529 0 -0.0333577 0 -0.0148974 0 0 -0.596147 0 -0.487662 -0.0518754 -0.139969 -0.101112 0 0 -0.0959812 0 -5.29535 0 -2.65664 0.0454726 0 -0.310876 -1.31739 -0.0164543 0 -0.0266436 0 0 -0.0201814 0 -1.04952 -1.57137 0 0 -0.247998 0 0 0.630389 3.03354 0.106801 0 1.78999 0 1.1698 -0.191224 0.214903 0.421119 -0.0325777 -0.41119 -0.0190804 -0.013606 -0.0632334 2.14375 -0.00546212 0 0 0 -0.0521866 0.0536979 0 0 0 0 0.00961793 16.2326 1.44774 1.55215 0.438912 -0.438612 1.63212 0.206851 -0.201172 0.214209 0.121944 0 0 0 0 0 0 -204 0 1.28357 0.0539786 0.000535577 0.0282254 0.288698 -0.108477 -0.0202661 -0.790312 0.00204293 0.284131 0.00536271 0.248424 -2.9938e-07 0.0693618 -0.000259832 -0.232956 2.20605 0.0604042 -0.000721176 -2.36017 0.00775227 0.179012 3.871e-07 0.0718581 0.0625819 -0.413272 0.000946755 0.398232 0.8349 0.0288511 2.87622e-05 -0.0160275 -0.211571 -0.0087144 0.295528 0.000133742 -0.0123097 -2.43603 0.00519891 -1.51412 -2.24749e-05 -0.0753208 0.000126171 1.52867 -0.00157053 -0.833995 0.375161 -0.0463939 -0.000177611 0.467443 0.0838031 -1.68749 0.000603528 -0.000606119 0.00668764 -1.67911 0.02953 -0.011095 -0.0835115 2.17494e-05 -1.21178 3.43171 -0.776441 0.660846 -0.133975 0.0733144 -0.641461 0.116844 -2.27212e-05 -0.063994 -0.140065 0.000374176 0.0213414 0.597839 -0.179613 0.0462039 1.57826 -0.716779 0.341427 -0.199217 0.168249 -0.672116 -0.417204 0.45156 -0.613967 0.895239 1.20193e-06 -8.29913e-06 0.000162382 0.0017592 -0.512315 0 0 0 0 0 0.000535577 0.0282254 0.000209555 0 0 0 0 4.00806e-06 0 -0.00165123 0 0 0.000603075 0.000150319 -0.000137242 0 -2.83803e-05 0.00016964 -0.00828085 0 0 0.01097 1.05235e-05 0 5.91177e-05 -0.0254514 0 0 0.00124922 0.0037083 0 -0.000602922 0 0.000213889 0 0 2.31806e-05 0 0 0.000976224 5.82572e-05 0.00864916 0 0.00320354 0.00414709 0 0 -0.009623 0 0.000421657 0.00228079 -0.000106464 0 0 -0.00122776 -0.000356365 0 0.00134815 0.0103028 0.00203856 -0.0338851 0.00259438 -0.00213651 0 0.000108667 0.00139947 -0.00481264 -0.00231914 -0.00112795 0 0 0 0.0623007 -0.0037559 0.0121512 -0.000681556 0.000328523 0.0102622 -0.000756826 0.000877514 -0.00121895 0.00189005 0 0 0 0 0 0 0.288698 0 -0.108477 0 0 0 0 -0.408124 -0.193992 0 0 0.0405496 0 0.0109611 0 -0.00293813 0 0 -0.724514 0 0.36593 -0.148939 0.0201398 -0.114774 0 0 -0.0316196 0 -4.09097 0 -5.01769 -0.599899 0 -1.26912 -0.476937 0.00265449 0 -0.0528287 0 0 -0.0223322 0 -1.86086 -0.869575 0 0 -0.171602 0 0 0.422373 -1.19638 0.931234 0 1.73906 0 1.91751 0.00325962 -0.11887 0.12474 0.0869954 -0.813301 -0.731547 -0.0357386 0.603714 5.85974 -0.086284 0 0 0 -0.0276132 0.0213111 0 0 0 0 0.0605321 38.1002 1.20884 7.64489 0.822106 -1.01139 3.18199 -0.140136 0.120754 -0.090988 0.887003 0 0 0 0 0 0 -205 0 -0.277383 -0.127356 -0.00103065 -0.0730377 0.162087 0.120705 0.0836407 0.148594 -0.00301809 -0.351888 -0.0289721 1.10957 5.24249e-07 2.0719 0.000328714 -0.390393 -0.338909 -0.0583646 0.000978075 0.967444 -0.0120098 0.126801 -6.12263e-07 -0.104617 0.0430978 -0.173608 0.00178706 -0.109462 0.535985 0.725623 -4.39315e-05 0.0131639 0.290091 0.0767248 0.0369774 -0.000370153 0.0521831 1.4912 -0.040924 0.727983 4.13625e-05 0.570663 -0.000426454 3.18674 0.00317607 0.542379 0.0719654 0.0445587 0.000453942 1.12364 -0.14505 1.79513 -0.000664275 0.000843699 -0.00389613 -2.29545 -0.143002 1.48461e-05 0.101996 -3.84375e-05 1.04923 -0.573059 -1.07046 -1.23937 -0.00139912 0.308348 0.245505 -0.0358745 2.97485e-05 0.0578305 0.0307429 -0.00135875 -0.0576798 -2.32388 0.215636 -0.0715283 -6.7347 0.639205 -2.30029 0.633502 -0.824892 -1.28027 0.631892 -0.797396 1.12484 -0.791177 -2.43065e-06 2.84198e-05 -0.00117955 0.0147093 -0.328893 0 0 0 0 0 -0.00103065 -0.0730377 -0.000469477 0 0 0 0 -8.89966e-06 0 0.00263544 0 0 -0.00104442 -0.000258413 0.000215889 0 4.8075e-05 -0.000398703 0.00946447 0 0 -0.035553 -1.82595e-05 0 -0.000301575 8.15646e-05 0 0 -0.00349432 -0.0152529 0 -0.0194589 0 -0.000388447 0 0 -3.95063e-05 0 0 -0.051083 -0.000122425 -0.0145484 0 -0.00587803 -0.0118989 0 0 0.0368781 0 -0.000977192 -0.0169825 0.000212959 0 0 0.00213704 0.000825878 0 -0.00343492 -0.00866831 -0.00349076 -0.118708 -0.0034069 0.00666484 0 -0.00192854 0.00752765 0.0140041 -0.00517662 0.0112342 0 0 0 0.319337 0.0167612 0.0254881 0.00230932 -0.004351 0.0448915 0.00134469 -0.00150362 0.000800289 0.0035492 0 0 0 0 0 0 0.162087 0 0.120705 0 0 0 0 -0.313113 0.349556 0 0 -0.0612207 0 -0.0167589 0 0.000369607 0 0 -0.313889 0 0.190888 -0.0937285 -0.0858691 -0.0199314 0 0 0.000336967 0 -3.26729 0 0.867377 0.211871 0 -0.675192 0.0504422 -0.0118369 0 -0.0374 0 0 0.0448147 0 -0.699375 -0.90359 0 0 -0.0784267 0 0 0.027944 -1.093 0.542284 0 0.687189 0 -0.478665 0.0646497 -0.172189 -0.0238546 -0.195128 0.0952473 0.401849 -0.0125638 0.27782 -0.957463 0.108708 0 0 0 0.0398757 0.00923214 0 0 0 0 -0.0210379 -9.4967 0.0786471 0.812252 0.32796 -0.473302 -0.0248199 0.171339 -0.153955 0.0594392 0.427078 0 0 0 0 0 0 -206 0 0 0 0 0 -0.0341455 0.181505 -0.657881 -0.316647 0 0 -0.0741076 0.335491 0 1.04567 -0.0321324 0 0 0 -0.189145 2.4215 0 0 0 0 -0.13004 0 0 -0.340096 -2.00546 0.339162 0 -0.216865 0 0 -0.187733 -0.01668 0 0 -0.117392 0.48019 0 0 -0.0288265 1.79872 0 0.409702 -0.684332 -0.729611 -0.0114841 -0.661409 -0.12461 0 0.149059 -0.238716 0.135288 0.983225 0.362623 -0.00173258 0 0 -0.61498 -0.3106 0 -1.39723 0.137765 -0.593916 0 0 0 0 -0.083728 -0.160697 0 -0.627033 -0.491219 0 0 0 -0.585446 0 0.803237 -0.852655 0 0.0899283 0.244337 -1.59604 0 0.305194 0.302098 -0.457044 3.53938 0 0 0 -0.0422375 -0.00288129 0 0 0 0.012612 -0.00136925 0 0.000954282 0 -0.000579267 0.00371995 0 0 0 0 0.0203839 0 0.00101796 0 0.0723924 0 0.119877 -0.0149885 0 0.000412049 0 0 0.0367561 -0.000786762 -0.000404404 0 0.00020046 0 -0.000102442 -0.0144414 0.00524889 -0.0110921 -0.000811265 0 -4.08736e-05 0 0 0 1.39279e-05 0 0 0.00207309 -0.000163076 -0.0390679 -0.00521709 0 0 0.00421651 0 0.000177931 0 0 0.00486896 0.00704266 -0.0237898 0.0026292 0 0 -0.0016293 0.0133118 0.00213085 -0.0122176 0.00378678 0 -0.0113258 -0.0057926 0.0291631 0 0 0 -0.0840403 0 0.0131599 -0.0469275 0 -0.00134304 0.00463767 -0.0240417 0 0.00100697 -0.00335595 0.00718176 -0.0166748 0 -0.0341455 -0.0422375 0.181505 -0.00288129 0.441394 0.122743 -0.0151022 0.246777 0.118557 0.000986437 0.00537188 0.126266 5.6508e-05 0.00423177 -0.00101543 0.00738374 -0.00408234 0.0162407 -1.3843 -0.294844 0.439608 0.11776 0.0867352 -0.189405 -0.0490163 0.0169754 0.121066 -0.00826249 -4.36361 0.118655 4.01034 -0.307624 -6.43904e-05 0.787836 1.57186 0.00279696 0.00197912 0.0256805 0.0293774 0.0907331 0.00694905 0.00742469 -1.45425 -2.91531 0.00107761 0.012693 -0.385184 -0.0605905 -0.0774326 -1.54022 1.09475 0.400756 -0.0061981 -1.59236 0.00102066 -0.266744 0.016599 0.00481939 0.141354 0.0569596 0.175033 0.00740335 0.104459 -0.452621 1.85783 -0.0295492 -0.689235 0.0341353 -0.10501 -0.256835 -0.00404121 -0.0446617 -0.00166682 0.0688288 0.00472522 -0.02037 -20.6482 -0.554134 -4.61059 -0.182202 0.874847 -4.06393 -0.00534798 0.0179975 0.0457375 -1.44394 -0.00113709 -0.0968083 0.269504 -0.20909 -0.393109 0 -207 0 0 0 0 0 -0.273459 -0.37723 0.591816 2.02256 0 0 -0.011095 -1.42988 0 -2.45625 0.0161766 0 0 0 0.0773707 -4.37951 0 0 0 0 0.456671 0 0 1.07118 6.54028 -0.851769 0 0.11887 0 0 0.295026 0.0078722 0 0 -0.199147 -1.61907 0 0 -0.0553775 -4.73164 0 -0.993321 2.24394 0.536797 0.128265 -1.60508 0.454225 0 -0.122207 -0.0174421 0.497336 0.681191 -0.25899 0.624401 0 0 -0.639378 1.49836 0 0.523162 0.308058 -0.739777 0 0 0 0 0.310495 0.133786 0 3.38622 -3.27291 0 0 0 -4.46322 0 0.616628 -11.3519 0 0.278762 -1.57194 -8.31022 0 0.355714 -1.69077 2.56931 -24.8467 0 0 0 0.0285095 0.00621571 0 0 0 0.00491821 -0.0328007 0 0.000395801 0 2.35713e-05 -0.00251531 0 0 0 0 0.029722 0 -0.000606259 0 0.0473246 0 0.082539 -0.116744 0 4.54789e-05 0 0 0.0719443 -0.00115181 -0.00467822 0 -0.00215002 0 -0.00230839 0.00628975 0.00407309 -0.0157508 -0.000121188 0 2.58278e-07 0 0 0 -0.00015115 0 0 0.00304708 -0.0036457 -0.0555893 -0.011815 0 0 0.00408352 0 0.00397779 0 0 -0.0105271 0.0147678 0.00233024 -0.00386032 0 0 -0.0770276 -0.0277194 -0.0022276 -0.0371462 0.0261393 0 -0.0451678 0.0134363 0.00713106 0 0 0 -0.188775 0 0.0362227 -0.181714 0 -0.00289615 0.0141458 -0.0781492 0 0.00153095 -0.00708656 0.022503 -0.0719223 0 -0.273459 0.0285095 -0.37723 0.00621571 -0.665363 -0.129977 0.0660202 -0.229417 0.219202 -0.00281557 0.0382471 0.183047 -0.000172962 0.00629081 0.00416378 0.00326355 0.0331716 -0.0380382 1.15939 0.191065 0.00802367 0.368731 0.115277 0.26657 0.259454 0.35667 0.0804927 0.0245524 -1.1087 0.110694 -0.93355 -0.731811 0.000245243 0.563561 -0.199088 0.00576599 0.000858797 0.0636441 0.00563508 1.89615 0.0137423 0.0555679 -1.11838 2.32228 0.00429097 0.0111298 0.605341 0.11748 0.0900699 -0.176181 1.67499 0.610134 -0.023199 1.29546 -0.00820777 1.85691 0.00684443 -0.114463 -0.217032 -0.263995 0.726432 -0.363637 0.0214901 0.306986 11.1271 0.045349 -0.18943 0.000941061 -0.358689 0.393187 -0.00691539 -0.0556691 0.00629865 0.0950828 0.0387372 -0.0212497 4.8066 -0.417904 -2.76431 0.130606 -0.179486 -6.29697 -0.00423522 -0.000816479 -0.62976 -1.99476 0.00266325 -0.100293 -0.101155 0.198219 -3.16714 0 -208 0 0 0 0 0 0.555286 0.11616 -0.184861 -1.49216 0 0 0.0011525 0.972828 0 0.790083 0.00863106 0 0 0 0.00274403 1.71 0 0 0 0 0.0550816 0 0 0.0947096 1.34514 0.221433 0 -0.127728 0 0 0.0754964 0.0373973 0 0 0.170561 0.821871 0 0 0.140439 2.83305 0 0.255973 0.535181 -0.283287 -0.165786 -0.882866 -0.123147 0 0.138145 -0.073387 -0.0456464 0.692355 0.587723 0.219499 0 0 0.417161 -2.40468 0 0.151026 -0.0574885 0.605723 0 0 0 0 -0.26887 -0.200372 0 -2.78575 -0.878343 0 0 0 3.14071 0 -0.642626 -0.299836 0 -0.529634 1.44329 1.08395 0 -1.05353 2.16967 -0.828891 -3.5555 0 0 0 0.216519 0.0142201 0 0 0 0.00928052 -0.0120278 0 0.000522101 0 0.00228385 -0.0114932 0 0 0 0 -0.0911884 0 -0.00488011 0 -0.200481 0 0.128834 0.0465724 0 -0.000863525 0 0 -0.174908 0.00303958 -7.5618e-05 0 -0.00169885 0 -0.000822535 -0.0275501 -0.01298 0.0426755 -0.00143761 0 0.000161531 0 0 0 -0.000118676 0 0 -0.0080136 -0.00129399 0.0385149 0.0192204 0 0 -0.0103622 0 0.00141186 0 0 0.00744186 -0.0162992 0.000798486 -0.0019414 0 0 0.0161853 -0.0202492 -0.00569855 0.042451 0.00540472 0 0.0397661 0.0144162 -0.146534 0 0 0 0.278962 0 -0.0570213 0.253748 0 0.00552759 -0.0237856 0.102554 0 -0.00391102 0.0161451 -0.0354594 0.0926554 0 0.555286 0.216519 0.11616 0.0142201 -0.426509 -0.0878544 0.0702283 -0.400455 0.389787 -0.00477986 -0.0599747 -0.000188616 -0.000272311 0.00230492 0.00475741 0.00372554 -0.0329155 -0.0797665 0.0244786 -0.842378 0.223489 -0.318767 0.133091 -0.0492701 -0.172133 0.116776 0.113845 -0.00806897 5.91036 -0.0024618 1.22955 0.912166 0.000304095 -1.38163 0.746887 0.00894924 0.000673565 -0.0597612 -0.0140919 0.495195 0.0203262 0.0273878 2.76934 -1.15626 -0.00972497 0.0058113 -0.305937 -0.0829108 -0.0434373 0.146538 0.307614 -0.702011 0.106474 0.516889 -0.0042639 -0.144314 0.0356269 -7.11817e-05 0.0219496 0.867853 1.04742 -0.107928 -0.213296 0.68564 9.02226 0.063749 0.0437389 -0.0590742 -0.256902 0.260189 -0.012512 0.00526643 0.00787825 -0.128162 0.10783 0.00655191 -6.33065 -0.069749 3.14778 0.162304 0.0920005 -2.84936 0.00456302 -0.107139 0.211723 0.287506 0.00558487 -0.00470787 0.243127 -0.190304 -0.413905 0 -209 0 0.179351 0.292814 -0.000868534 -0.0140482 0.348679 0.186561 -0.0422905 -0.159193 -0.00239763 -0.176836 0.104025 -0.460943 1.00341e-05 -1.11358 0.0101814 0.742789 0.663419 -0.0109031 0.0162628 -2.8242 -0.0143235 -0.320816 -5.81783e-06 -0.0767728 -0.31355 0.484103 -0.0178327 -0.273314 1.16843 -0.261187 -0.00011925 0.221662 -0.0692588 -0.0371101 -0.216294 0.00502254 -0.138569 1.35094 0.125689 -0.809406 0.000195752 -0.354483 0.00630478 -1.48658 0.00363626 -0.0494971 -0.00740287 0.354728 -0.0129239 0.16346 -0.0880811 3.72452 0.004561 0.0199007 0.0651522 0.0200842 -0.113669 -0.0626333 0.0697692 -1.07499e-05 -0.0451091 1.661 0.871051 1.38422 0.443974 1.15584 0.444617 -0.341009 -0.000429045 -0.100917 -0.0392819 0.267145 0.0952228 0.659498 0.551899 0.42831 -3.45423 0.998444 -1.25164 -0.0454194 0.239455 -3.49079 0.347832 -0.121758 0.314435 -0.3889 -0.000308776 -0.00474601 -0.0542129 0.0306073 -2.95868 0 0 0 0 0 -0.000868534 -0.0140482 -0.000742559 0 0 0 0 -3.07812e-05 0 0.00261736 0 0 -0.00055337 -0.000382599 0.000350437 0 0.000111557 0.00223304 0.00570277 0 0 0.0433556 -2.73434e-05 0 0.00218514 0.0266876 0 0 0.00460406 0.0194275 0 0.0229294 0 0.00124266 0 0 0.000101063 0 0 0.098986 -0.000427239 -0.00776012 0 -0.0103435 0.00237728 0 0 0.00720718 0 -0.001518 -0.0454479 0.00181642 0 0 0.00113025 0.00128295 0 -0.00379802 0.014188 -0.0027792 0.00425206 0.0101882 0.00447414 0 -0.00190838 0.000205973 -0.015739 0.000519862 -0.0124472 0 0 0 -0.286695 0.0241461 -0.0346019 -0.00913551 0.0142589 -0.0261623 0.000713087 -0.00108281 0.00193335 -0.000839639 0 0 0 0 0 0 0.348679 0 0.186561 0 0 0 0 -0.292355 -0.095201 0 0 0.0378534 0 -0.00358148 0 -0.00314841 0 0 0.657066 0 -0.797633 -0.0723931 -0.0392369 0.102793 0 0 -0.00931835 0 0.80154 0 -2.25178 0.254804 0 -0.803002 -1.28296 -0.00662057 0 -0.0302611 0 0 -0.0199867 0 0.565072 1.35042 0 0 0.190764 0 0 0.211492 -0.221059 0.146742 0 -0.714569 0 0.492039 -0.0342857 0.0779875 0.0597777 -0.29795 -0.812748 0.230705 0.00883376 0.164009 -1.95705 0.0062818 0 0 0 0.0912535 0.000460979 0 0 0 0 0.025807 13.1558 0.906293 3.43398 0.140986 -0.134118 1.39777 -0.023901 0.0644652 0.119038 0.372799 0 0 0 0 0 0 -210 0 -0.471088 -0.11406 -0.0057705 -0.0330072 -0.115827 0.131115 0.122475 0.611127 -0.0545727 0.366787 0.0130633 0.23843 0.000206633 1.44658 -0.00832505 0.372419 -0.135832 0.033908 -0.0107521 1.92379 0.00414499 -0.00675219 -0.000280779 0.0723831 -0.0940191 0.252111 0.0288494 -0.614742 -1.98189 0.498613 -0.00409124 -0.125219 0.431399 0.0190109 -0.133377 -0.00235957 0.29148 3.9491 0.0186646 1.53139 0.00303747 0.524665 -0.00349651 0.438326 0.0372687 0.953864 -1.0198 -0.136666 0.0179482 -0.534696 0.231993 -0.0976833 0.0215229 -0.00831192 0.0147873 1.9992 0.493369 0.176054 -0.155202 -0.00663587 -0.319508 -1.95971 -1.898 -2.06277 -0.0995544 -0.686874 0.154063 0.35635 0.00759389 0.283441 0.0791389 -0.135376 -0.377369 -1.05329 0.228937 -0.305283 -23.8974 -3.35672 -6.85462 -3.1106 1.96549 -6.79756 -0.063571 -0.160388 0.0817808 -3.6197 -0.0031647 0.0052596 0.0369614 -0.34547 5.01851 0 0 0 0 0 -0.0057705 -0.0330072 -0.000510373 0 0 0 0 -4.34963e-05 0 0.00483857 0 0 -0.00101625 -0.00173313 0.00558976 0 0.000532792 0.00504864 0.0544231 0 0 -0.097084 -0.00012845 0 0.0155302 -0.312691 0 0 -0.0179633 0.0156752 0 0.0994874 0 -0.00754775 0 0 -0.00129765 0 0 0.328351 -0.00062011 -0.0133961 0 -0.00752866 0.00887829 0 0 -0.179787 0 -0.00103528 -0.242518 0.00316359 0 0 0.00209211 0.000874974 0 0.0130571 -0.0174471 -0.0061233 0.0947399 0.0326481 -0.0178864 0 0.000254308 -0.0112888 0.0457552 -0.011035 -0.10437 0 0 0 -1.78215 0.117414 -0.342493 -0.0326985 0.0743396 -0.177621 0.00140905 -0.00387993 0.0100919 -0.0296241 0 0 0 0 0 0 -0.115827 0 0.131115 0 0 0 0 0.541736 -0.0483978 0 0 0.0423547 0 0.0165556 0 0.00314822 0 0 -0.115609 0 0.138054 0.12324 -0.0816634 -0.0278074 0 0 -0.0250018 0 3.05083 0 2.48014 1.17195 0 1.13302 0.404502 -0.00300275 0 0.0715259 0 0 0.0117253 0 2.1936 -0.465878 0 0 -0.081014 0 0 -0.297443 -0.981625 -0.413721 0 0.0165564 0 -1.14482 0.058657 -0.0263126 -0.25597 0.0632632 0.422554 0.00313787 0.033789 0.366175 0.92394 0.04396 0 0 0 0.0388238 -0.0525269 0 0 0 0 -0.000286707 -22.8354 -1.63587 -5.42463 -0.410039 0.465523 -2.83278 -0.0935647 0.0500498 -0.0459367 -0.869074 0 0 0 0 0 0 -211 0 1.13967 0.0729891 0.0169317 0.243332 -0.404305 -0.15904 0.651575 1.43002 0.0662973 0.249533 0.103961 -0.0086329 -0.000266446 -0.421373 0.009042 0.419664 2.4968 0.0617003 0.0143984 -1.01335 0.0362342 0.27279 0.000235952 0.202148 0.482188 -0.0575479 0.00144822 0.210568 -0.435488 -0.15579 0.00399427 0.117288 0.169311 -0.0298676 0.232394 0.00664431 -0.0241074 -2.10237 0.246042 -0.752517 -0.00469512 -0.00475928 0.01494 -0.570927 -0.0775217 -0.46129 0.0608897 0.168877 -0.0101349 -0.229616 0.104254 -3.89282 -0.00230634 0.0409104 -0.165594 -3.3355 -0.121297 -0.0922389 -0.274513 0.00353174 0.695474 1.70633 0.675543 -0.257294 -0.219991 -0.533406 -0.610305 0.0451901 0.00307824 -0.41945 0.0838941 -0.00698708 0.173756 0.00841983 0.356961 0.851771 12.1353 0.998086 0.996311 1.63284 -1.44192 5.68685 -1.26457 0.412771 0.202351 -1.66761 0.00658281 -0.0230351 0.116639 -0.38223 1.10273 0 0 0 0 0 0.0169317 0.243332 0.00203802 0 0 0 0 0.000105702 0 -0.0151271 0 0 0.00487664 0.00452417 -0.00978162 0 -0.00105642 -0.00587002 -0.138314 0 0 0.00202269 0.000325272 0 -0.0208657 0.278273 0 0 -0.00104337 -0.0281059 0 -0.159475 0 0.00252232 0 0 0.000279009 0 0 -0.574942 0.00145239 0.068033 0 0.0281154 0.00339672 0 0 0.00564327 0 0.00417155 0.214371 -0.0137021 0 0 -0.00996724 -0.0035256 0 0.0167924 -0.0547557 0.0182435 -0.0603975 -0.0618076 -0.016348 0 0.0084149 0.0347892 0.0114792 -0.0138874 0.13914 0 0 0 1.93622 -0.192338 0.436526 0.0538428 -0.0916371 0.181577 -0.00632534 0.0103253 -0.0197454 0.0439948 0 0 0 0 0 0 -0.404305 0 -0.15904 0 0 0 0 0.349549 -0.147407 0 0 -0.386903 0 -0.0255533 0 -0.0160861 0 0 0.0304788 0 0.0706414 0.126733 -0.116111 0.00572621 0 0 -0.0662382 0 -0.275905 0 -3.35081 -0.364963 0 0.91023 -0.600062 -0.0047056 0 0.0420333 0 0 -0.036571 0 -0.424014 -0.272541 0 0 -0.0250604 0 0 -0.0300414 1.71836 -0.590593 0 -0.343188 0 -1.02467 -0.0747417 0.172873 -0.294221 -0.151179 0.914006 0.542433 -0.0586088 0.0971291 -7.18876 0.0665236 0 0 0 0.0168613 0.0319099 0 0 0 0 0.0499907 22.3818 2.41008 -1.0113 0.784492 -0.616647 2.87666 0.058395 -0.041205 0.251186 -0.560338 0 0 0 0 0 0 -212 0 -0.617945 -0.404923 -0.000309655 0.0109044 0.0448548 -0.257784 0.749949 1.1331 9.29931e-05 0.124377 0.045785 0.137932 1.21219e-06 0.918889 0.000217997 -1.5166 -5.69054 0.042848 -3.87267e-05 2.26667 0.0022795 0.359971 -3.42287e-07 -0.00687814 0.534867 -0.57162 0.000564597 0.5412 -0.00364565 0.137295 -1.25408e-05 0.0143458 0.83344 0.00936997 0.351342 0.000720882 -0.0171619 3.44188 0.0422063 0.501714 7.58666e-05 -0.118227 0.00058513 0.417442 0.00476872 -0.300349 0.344606 -0.00914424 -0.000185658 -0.128967 0.086763 -0.346417 -0.000516679 -0.000339337 -0.0273624 0.579982 -0.00412724 0.0195663 0.0150948 -8.2565e-05 0.498034 -0.221989 0.255702 -0.2442 0.149318 -0.117758 0.386759 -0.0157257 -2.25739e-05 0.164065 0.237947 0.0122015 0.0103625 0.20744 0.153554 -0.458475 -10.4426 -0.527643 -5.18222 -0.527696 0.642298 -4.8482 0.21079 -0.0209499 0.0397052 -2.21445 -8.90148e-06 -5.63991e-05 -0.00262289 -0.0232314 0.00401556 0 0 0 0 0 -0.000309655 0.0109044 0.00029079 0 0 0 0 7.38378e-06 0 0.00303031 0 0 -0.000574133 -0.000149615 0.000321515 0 4.14263e-05 -0.000306465 0.0202574 0 0 -0.0251645 -1.06753e-05 0 0.00149924 -0.126125 0 0 -0.00209608 -0.0186151 0 0.0449315 0 -0.000356706 0 0 -2.53343e-05 0 0 0.154243 0.000105193 -0.00802996 0 0.004152 0.00198949 0 0 -0.0241588 0 0.000592507 -0.0210038 0.000171875 0 0 0.00117307 -0.00050076 0 -0.00274259 0.00614974 -0.0018213 0.0494563 0.00724675 0.00577723 0 -8.12728e-05 -0.00422677 0.0072297 0.00166885 -0.0146647 0 0 0 -0.44638 0.0257372 -0.0571151 -0.00912765 0.014785 -0.0173016 0.000742324 -0.00117061 0.00216901 -0.00771453 0 0 0 0 0 0 0.0448548 0 -0.257784 0 0 0 0 0.456063 -0.336637 0 0 -0.0160539 0 0.00482045 0 -0.00269571 0 0 0.212242 0 0.791131 0.102866 -0.033228 0.0105045 0 0 -0.0783109 0 -4.45229 0 1.9719 -0.43469 0 0.608286 1.09043 9.17563e-05 0 0.0707097 0 0 -0.0215203 0 -0.657922 -0.65226 0 0 -0.111194 0 0 -0.502764 -2.31752 -0.483065 0 -2.05701 0 -0.75051 0.0314895 0.0686655 0.120552 -0.128104 -0.893622 0.190987 0.00297573 -0.158982 -10.2572 0.0456671 0 0 0 0.00695449 -0.0223191 0 0 0 0 -0.0194036 -14.3784 -0.215512 -3.68462 -0.411174 0.452126 -1.62997 -0.0591098 0.0662667 0.0459246 -0.466846 0 0 0 0 0 0 -213 0 -0.0717653 -0.0921198 -0.000104101 -0.0202483 -0.185724 0.0502073 0.0248355 0.894326 0.00199593 0.211627 -0.0349702 0.336238 -7.05939e-07 0.316169 0.000231752 -1.00761 -2.26102 0.0461848 0.000873894 -0.0462243 0.00642091 0.103248 1.08228e-06 0.0417886 0.137036 -0.422998 0.0114959 -0.35389 -0.773376 0.250142 5.14022e-05 -1.04816e-05 0.252789 0.123158 -0.0229104 -0.00065762 0.12235 1.53815 -0.0243739 0.25771 -2.72162e-05 0.709501 -0.000421266 0.0187947 -0.000627589 0.39337 -0.468184 0.0267818 0.000367223 -1.41499 0.139293 1.84084 -0.000886907 0.00145582 0.0281585 1.01934 0.332617 0.0332019 -0.107715 5.49496e-05 0.23814 -0.34611 -0.0352541 -0.888877 -0.0778772 -0.313012 0.255897 0.130925 -9.66758e-05 0.0409933 0.226339 -0.0113054 -0.164848 -0.145947 -0.154103 0.151235 -8.09958 -0.666837 -4.02199 -0.653555 0.417823 -2.45229 -0.0817701 -0.0425334 0.0489369 -2.351 1.17148e-06 2.49869e-05 0.00106744 0.0161817 0.851848 0 0 0 0 0 -0.000104101 -0.0202483 -0.000527002 0 0 0 0 -1.27364e-05 0 0.00256915 0 0 -0.000400839 -6.33668e-05 0.000335538 0 3.61885e-05 -0.000170326 0.0265934 0 0 -0.00816035 -4.84996e-06 0 -0.000298504 -0.170673 0 0 -0.00217054 -0.00385959 0 -0.0140364 0 0.000242238 0 0 8.99382e-06 0 0 -0.017293 -0.000182924 -0.00538503 0 -0.00761131 0.000918964 0 0 -0.042061 0 -0.00107214 -0.099959 0.00209393 0 0 0.000823245 0.000906126 0 0.0036512 -0.0139221 -0.00204071 -0.0909487 0.0118374 -0.00170912 0 0.00114748 -0.0064656 -0.0355922 -0.00170428 -0.0293611 0 0 0 -0.251554 0.0338745 -0.105434 -0.00842339 0.0196071 -0.0340413 0.000543997 -0.00130651 0.00320636 -0.0118171 0 0 0 0 0 0 -0.185724 0 0.0502073 0 0 0 0 0.153895 0.162016 0 0 0.220213 0 0.0258418 0 0.00275123 0 0 -0.646601 0 0.0699079 0.0311047 0.0385862 -0.101624 0 0 -0.0187511 0 -0.493436 0 1.27238 0.278678 0 0.583397 0.205169 0.00392584 0 0.00263275 0 0 0.0297062 0 -0.000965686 -1.28859 0 0 -0.192359 0 0 -0.18426 -3.10433 -0.398613 0 -0.425219 0 -1.01145 0.0901901 -0.0476822 -0.063385 -0.219343 -0.769572 -0.0442863 0.0553721 0.192642 -4.51821 0.0797538 0 0 0 -0.0358662 -0.0743546 0 0 0 0 -0.0342345 -12.3772 -0.689158 -3.86169 0.217616 0.0207229 -1.70952 -0.163166 0.0813404 -0.0650692 -0.530868 0 0 0 0 0 0 -214 0 0.710563 0.10575 0.00194307 0.0822414 -0.0749878 0.0456858 -0.266985 -0.778815 0.00530268 0.278623 -0.0348559 0.373415 -2.1622e-06 0.0937661 -0.000816467 0.220192 -1.51182 0.00288035 -0.00129532 1.90304 0.00746936 -0.0859641 1.66676e-06 0.129835 -0.176721 0.328092 -0.00724372 -0.125474 0.0840606 0.330046 9.75393e-05 -0.0631025 -0.26077 -0.135181 -0.111692 -0.000707293 -0.0292756 -2.27353 -0.035314 1.29563 -0.000126586 -0.45111 -0.00063034 -0.210892 -0.00735597 0.875668 -0.0872801 -0.100956 0.000931235 0.456552 -0.0810252 -0.0731882 -0.0015944 -0.000800974 0.0115521 -3.76387 -0.111207 0.0549771 -0.158037 0.000108091 0.306136 -1.32424 0.587674 1.11799 -0.0812511 0.448717 -0.299393 -0.0222153 1.03468e-05 -0.464514 -0.149398 -0.029931 0.120597 -1.50023 0.416842 0.674425 6.65248 -0.149665 2.84339 0.16517 -0.60692 4.24887 -0.692664 0.338489 -0.190739 1.17934 1.37309e-05 5.91936e-05 0.00397272 0.0191488 -0.09259 0 0 0 0 0 0.00194307 0.0822414 -0.00081733 0 0 0 0 -1.92593e-05 0 -0.00429596 0 0 0.00134505 0.00035535 -0.00084185 0 -7.02446e-05 -0.000314642 -0.0472936 0 0 0.0684316 2.53742e-05 0 -0.00217374 0.133927 0 0 0.00748494 0.000174529 0 -0.0603611 0 0.00130594 0 0 0.000138537 0 0 -0.227608 -0.000274043 0.0187956 0 -0.0116372 -0.00262144 0 0 0.0148227 0 -0.00166601 0.0536581 -0.00017408 0 0 -0.00274852 0.00140803 0 0.00536777 -0.0153013 0.00416034 -0.0240557 -0.0146842 -0.00583321 0 0.00068773 0.00705349 -0.0126288 -0.00379162 0.0371106 0 0 0 0.720482 -0.0579125 0.140885 0.0190119 -0.031556 0.0544311 -0.00174101 0.00277919 -0.00520855 0.0150834 0 0 0 0 0 0 -0.0749878 0 0.0456858 0 0 0 0 -0.0502508 -0.47187 0 0 0.0438437 0 0.0172173 0 -0.011185 0 0 -0.631455 0 -0.492096 -0.00866051 -0.024019 -0.0826587 0 0 -0.187552 0 -11.9193 0 -4.37272 -0.923267 0 -0.233027 -1.46065 0.00291467 0 -0.00191989 0 0 -0.0400733 0 -3.8133 -1.50055 0 0 -0.203554 0 0 0.01683 2.14665 -0.111808 0 -1.62788 0 0.549407 -0.0484133 0.0941125 -0.46505 -0.133006 1.39463 0.195682 -0.0963354 -0.28412 -10.815 0.0918782 0 0 0 -0.137652 -0.011341 0 0 0 0 0.127578 26.2808 0.684685 3.23282 0.450943 -0.512824 3.18544 -0.0741942 0.0852876 -0.0128003 0.163889 0 0 0 0 0 0 -215 0 0 0 0 0 -0.178297 0.0866722 -0.00824465 0.122011 0 0 -0.231293 0.331735 0 0.869898 -0.113092 0 0 0 -0.202892 -1.62179 0 0 0 0 -0.157199 0 0 0.3735 6.36121 0.0513144 0 -0.541937 0 0 -0.063005 -0.0151135 0 0 -0.656176 -0.108921 0 0 -0.0450916 3.12615 0 0.189874 1.67217 -0.727705 0.015349 5.56324 0.23008 0 0.27333 -0.240392 0.829921 6.75205 1.41716 1.25343 0 0 -0.368717 -2.04763 0 0.494709 -0.616498 0.306143 0 0 0 0 0.180434 0.795803 0 0.682167 -2.20997 0 0 0 -0.294089 0 0.37524 -5.0424 0 0.17756 -0.809266 -1.66604 0 -0.0658191 -2.49134 4.87975 -22.4195 0 0 0 0.115169 0.0163155 0 0 0 0.00985804 0.0155734 0 0.0010973 0 0.00419884 0.00812452 0 0 0 0 -0.0645661 0 -0.0157575 0 0.13882 0 0.0419529 0.228365 0 0.00131907 0 0 0.130067 0.00129695 0.0404812 0 0.00194882 0 0.000722223 0.0447 0.0129423 0.0270797 0.00811699 0 0.000197384 0 0 0 9.12065e-05 0 0 -0.00313595 0.0010375 -0.153695 0.0233923 0 0 -0.0156287 0 -0.00113201 0 0 0.00358364 0.00496445 -0.0218533 -0.0225992 0 0 0.0835973 -0.0284079 -0.00519928 0.448087 -0.1238 0 0.161609 0.0102835 -0.0397627 0 0 0 -0.784507 0 -0.106481 -0.449301 0 -0.0072246 -0.0278909 -0.248046 0 -0.000947015 -0.00376414 -0.0175188 -0.219945 0 -0.178297 0.115169 0.0866722 0.0163155 -0.33507 -0.15067 0.475955 -1.20605 0.761584 0.0178325 -0.0115609 0.45027 0.00289295 0.0400049 0.0639165 0.0317105 -0.0363695 0.126972 0.0194405 -0.365438 0.255629 -0.285008 0.26851 0.0446254 -0.171472 0.271469 0.273179 -0.0178278 4.69087 -0.52006 1.2093 0.381872 0.00828403 -1.75627 0.566164 0.0291797 -0.0135404 -0.18937 -0.095323 1.62679 0.0805409 0.0483548 1.17812 0.689014 -0.00394561 -0.0707956 0.172065 -0.0731202 -0.206509 0.31558 1.74208 0.107987 0.185362 1.35895 -0.26455 -1.34893 -0.070307 0.168535 0.123721 0.195146 0.296806 0.52422 -0.310501 1.35653 16.9497 0.0237429 0.541093 0.00187976 0.0933597 0.372553 0.0854689 0.0906592 -0.00853868 -0.178693 -0.0167975 -0.303014 -2.6658 -0.814726 2.791 -0.247451 0.940369 -3.04541 -0.0734612 0.206552 -0.643753 1.15541 -0.0225744 0.143565 -0.451024 0.838788 -1.96825 0 -216 0 0 0 0 0 0.105204 0.330848 -0.531671 -1.05558 0 0 0.260591 1.23622 0 2.42922 0.242495 0 0 0 0.299402 -6.24796 0 0 0 0 -0.277087 0 0 -0.953876 -1.44122 0.80592 0 1.27464 0 0 -0.235911 0.0909017 0 0 -0.0519082 -1.93299 0 0 0.0183937 4.14774 0 -0.0500307 -1.26752 2.21062 0.0534996 2.76914 -0.305839 0 -0.526507 0.136407 -0.611454 -6.44848 -2.03815 -0.0694023 0 0 -0.471359 3.45547 0 -1.1719 -0.710519 0.454873 0 0 0 0 -0.375803 0.624632 0 1.21416 1.06161 0 0 0 0.671377 0 0.399756 0.0390044 0 0.35198 -0.352896 2.00006 0 0.163915 0.454261 -1.78835 7.0708 0 0 0 0.0524037 0.0168496 0 0 0 0.0450569 -0.029709 0 0.00460744 0 0.00294367 0.00188325 0 0 0 0 -0.0371083 0 -0.00953362 0 -0.0554432 0 0.374501 0.0414446 0 0.00136285 0 0 -0.00390155 6.54982e-06 0.0225799 0 -0.00317113 0 -0.00136801 -0.0211791 0.00312184 0.000863148 0.00220141 0 0.000137387 0 0 0 -0.000148279 0 0 9.35795e-06 -0.00196081 -0.102195 0.00506478 0 0 -0.0142933 0 0.00213942 0 0 0.00927043 -0.0211726 -0.0802535 -0.009945 0 0 0.00823962 -0.031362 0.0369876 0.135355 0.512218 0 7.2962e-05 0.00121658 -0.183401 0 0 0 0.695537 0 0.00183077 0.114531 0 0.000960807 0.011377 0.207353 0 3.92011e-05 0.0013857 -0.00802078 0.0518343 0 0.105204 0.0524037 0.330848 0.0168496 -0.159 0.00447668 0.633358 -0.377632 1.3038 0.0192164 -0.0758062 0.256607 0.00389933 0.0374845 0.0791095 0.11607 -0.0635563 0.107511 -1.26974 0.563836 0.163748 -0.171707 0.131679 -0.239577 -0.431087 -0.0548718 0.993573 0.0154143 -0.83555 -0.31778 0.478676 0.844716 0.0096111 -1.13916 0.282413 0.021604 -0.00729102 -0.0705255 -0.0488302 -0.285979 0.14342 -0.0117959 0.592586 -1.50749 -0.0115059 -0.0442252 -0.342988 0.102953 -0.198093 -1.78287 -0.660425 -1.00107 0.281357 2.81474 -0.359241 0.840899 -0.251697 0.441905 -0.0498782 0.310022 -0.395531 -0.473551 -0.108983 -2.40457 -3.06296 -0.156542 -0.336864 -2.17425e-05 0.213244 1.23538 -0.0139838 0.0962919 -0.0197985 -0.217506 -0.00581622 -1.08901 -1.0552 -0.40888 1.56044 -0.161051 0.644428 -0.153263 -0.0511209 0.134115 0.0927963 0.303682 -0.0191144 0.123003 0.0322191 0.0269419 0.406793 0 -217 0 0 0 0 0 -0.293278 -0.168671 -0.260443 -0.100858 0 0 -0.125978 -0.903533 0 -1.83895 -0.0648663 0 0 0 0.0926396 6.4702 0 0 0 0 -0.111291 0 0 0.500883 -4.06121 -0.677884 0 -1.3403 0 0 -0.0260704 -0.00718487 0 0 1.0394 1.88171 0 0 0.389504 -1.57971 0 0.00722738 -0.339945 -1.65088 -0.553726 -0.919535 -0.334807 0 0.462581 0.209348 -0.488554 1.6417 1.39684 -0.408325 0 0 0.693237 -2.40582 0 -0.337084 -0.442985 0.231334 0 0 0 0 -0.0128543 -0.140163 0 -3.01304 2.17502 0 0 0 0.0431016 0 -1.50717 4.45321 0 -0.507502 0.796133 1.41888 0 -1.72944 3.10388 -4.10342 12.2962 0 0 0 -0.0444799 -0.0362201 0 0 0 -0.0156996 0.0222842 0 -0.00683071 0 0.00667669 -0.00305149 0 0 0 0 -0.0950646 0 -0.0227848 0 0.0329148 0 -0.0134777 0.0835044 0 0.000123022 0 0 -0.154608 0.00194887 -0.0485765 0 0.00284502 0 0.00103277 -0.000317756 -0.0108083 0.0408677 -0.0251512 0 0.000313683 0 0 0 0.000133163 0 0 -0.00470614 0.00148332 -0.155371 0.0107546 0 0 -0.0531557 0 -0.00161843 0 0 0.00679337 -0.0142187 0.0364081 -0.048657 0 0 0.0757657 -0.0254462 -0.0172162 0.256983 -0.030521 0 -0.220385 -0.00626367 -0.170615 0 0 0 -0.244803 0 -0.159429 0.952239 0 -0.0106141 0.0670224 0.100557 0 -0.00141236 0.00968722 -0.064439 0.659156 0 -0.293278 -0.0444799 -0.168671 -0.0362201 0.287174 0.14446 -0.55338 0.295754 -3.51723 0.0253125 0.0525459 0.0193191 0.00719625 0.019305 -0.103773 -0.253309 0.0702752 0.0658712 1.94603 0.00875935 0.0135833 0.0665975 -0.000222113 0.285455 0.459634 -0.267294 -1.79137 0.0266004 -6.69227 0.252225 -0.0266824 -1.77219 -0.0174824 0.124499 0.0023079 0.0143889 0.00571535 0.075796 0.0781072 -1.54121 -0.558123 -0.0462903 -3.73168 4.11461 0.00682645 0.00025009 0.692997 0.0760714 0.158544 0.56616 0.836799 0.161859 -0.27229 -6.77438 0.3091 -0.62256 -0.234982 0.165722 0.0799344 -0.252145 -0.162745 0.00964131 0.272797 7.50944 21.7296 0.0479503 -0.343774 -0.0141565 0.0532794 -1.51219 -0.0486812 0.0869439 -0.0630333 0.134664 -0.0300585 1.81159 0.0588192 -0.0142677 -0.44362 -0.070232 -0.444405 2.5899 -0.0190627 -0.051464 0.430642 -0.525331 -0.0117113 -0.0519011 0.309645 -0.666886 1.82643 0 -218 0 0.42245 0.252126 -0.00331518 0.0611976 -0.137951 0.0301629 0.436002 0.9689 0.391503 0.650872 0.0811735 0.318183 0.00830866 0.879455 0.128192 3.09539 12.0926 0.258013 0.0499026 1.23163 0.0910853 0.0734465 -0.00100026 0.268566 0.0102489 0.881246 0.123313 -0.196009 -0.0587091 0.323239 0.0413195 0.535042 0.259659 0.749407 0.0125506 0.022789 0.217255 0.87078 -0.236835 0.285625 0.0445106 1.55759 -0.0561728 1.40164 0.215558 0.19187 -0.280671 0.0847034 0.168339 -1.4077 0.990108 -2.73841 0.017115 0.123058 -0.3967 -0.404106 -0.228497 -0.967246 -0.312257 -0.0544829 1.38909 1.49457 1.06708 1.05 0.0861082 -0.388302 0.401005 0.0752232 -0.241279 0.0654742 0.405021 -0.422889 -0.7801 -0.39107 1.04007 -1.8065 1.91944 0.457147 -1.44891 -0.299968 0.75755 -2.07774 -0.812961 0.79664 -1.09776 -1.8198 -0.222752 0.360532 -0.482253 0.498316 0.279214 0 0 0 0 0 -0.00331518 0.0611976 8.54807e-06 0 0 0 0 -3.75821e-06 0 0.000293791 0 0 0.000495241 0.00076258 0.00280276 0 -0.000415608 0.0294343 0.0188338 0 0 0.099309 3.57602e-05 0 -0.0676667 0.869028 0 0 0.00525343 0.175754 0 -0.203959 0 0.0161387 0 0 0.000227966 0 0 -0.300363 -8.01433e-05 0.0105609 0 0.000182286 -0.0160101 0 0 0.200514 0 1.59076e-05 -0.0190458 0.0034783 0 0 -0.000921626 -1.34444e-05 0 0.000717438 -0.0190358 0.00515216 -0.443279 -0.0132663 0.014566 0 0.00101132 -0.0403443 -0.0389173 0.00779968 0.134578 0 0 0 0.266347 -0.0585269 -0.0904957 -0.00263566 0.00643134 -0.0709027 -0.000348263 0.000849806 -0.0115343 -0.0156585 0 0 0 0 0 0 -0.137951 0 0.0301629 0 0 0 0 0.467475 0.0347425 0 0 -0.286477 0 -0.0336206 0 0.00780247 0 0 0.519287 0 -0.478127 0.129341 -0.150607 0.0463146 0 0 0.00348603 0 5.9019 0 -1.80388 0.309723 0 1.00027 -1.0709 -0.019099 0 0.0690381 0 0 0.0154726 0 1.53385 1.12855 0 0 0.101138 0 0 0.858165 -0.471034 0.603779 0 1.21526 0 0.656844 0.103763 -0.258677 -0.181938 -0.0961447 -0.00875649 0.0302385 0.18891 -0.600915 2.86126 0.0448756 0 0 0 -0.386171 -0.027369 0 0 0 0 0.0676032 5.26985 0.666433 -1.82291 0.388677 -0.616883 1.23754 0.050174 -0.0869617 0.197515 -0.493371 0 0 0 0 0 0 -219 0 -0.121033 0.162239 -0.0395099 0.0172472 0.00296572 0.0518954 -0.524525 -1.12774 0.14426 0.888812 -0.276516 -2.21482 0.0283466 -3.45551 -0.251731 0.972797 2.1104 0.469183 -0.419813 2.1322 0.142344 0.0134088 -0.0285012 0.314452 -0.795252 0.433197 0.176783 0.114432 0.60905 -1.00494 -0.0499589 -1.04258 0.243818 0.896244 -0.379039 -0.0892604 0.150714 0.846075 -0.543704 0.690935 0.095194 1.19518 -0.17511 -6.38876 0.319539 0.085657 0.295309 -1.93586 0.36431 -2.15833 1.73322 1.62977 0.763046 -0.354301 0.54828 10.9095 2.8584 0.516851 -0.46582 -0.137226 -0.217198 -0.474919 -1.35435 3.94861 0.502664 -0.223237 -1.9605 -0.0397551 -0.0893351 -0.181767 -0.0155934 -0.82942 -0.538288 2.12665 -0.715093 -0.37667 -3.15999 -1.17744 0.722831 -1.67592 1.47904 -1.53458 -0.665063 1.31696 -2.59123 3.65172 -0.330203 0.633972 -1.07454 1.96582 -2.89658 0 0 0 0 0 -0.0395099 0.0172472 -0.000649353 0 0 0 0 -3.33816e-05 0 0.0137579 0 0 0.000247545 0.000584196 0.0149772 0 0.00390539 -0.092583 0.0306745 0 0 0.0614599 2.73951e-05 0 0.0963382 0.0250244 0 0 0.00353242 -0.150937 0 0.238951 0 -0.0142348 0 0 -0.00314471 0 0 0.567363 -0.000711857 0.00527887 0 -0.0138474 -0.0158915 0 0 -0.0123497 0 -0.00120842 0.148495 0.00353508 0 0 -0.000460673 0.0010213 0 -0.0012257 -0.0103298 0.00208752 1.07663 -0.0238054 0.00765453 0 0.00195906 -0.0488917 0.107358 0.0333199 -0.0185433 0 0 0 -0.55651 0.0127892 0.0245302 0.00464465 -0.0113335 0.123307 -0.000174079 0.000424774 -0.0057654 0.000340965 0 0 0 0 0 0 0.00296572 0 0.0518954 0 0 0 0 0.0304493 -1.69117 0 0 -0.365893 0 -0.0351034 0 -0.0935593 0 0 0.851565 0 -0.822831 -0.00748877 -0.129256 0.138174 0 0 -0.801843 0 -1.9627 0 -2.59868 -0.66403 0 0.104831 -1.40138 -0.0114964 0 -0.00714953 0 0 -0.195926 0 -1.13687 1.80255 0 0 0.288454 0 0 0.259137 -0.243666 0.238258 0 -2.98086 0 -0.261765 0.0528418 -0.126397 -0.648223 0.0543383 0.525961 0.032649 0.0140172 3.87501 10.4179 0.0285983 0 0 0 -0.396829 -0.00878887 0 0 0 0 0.657705 5.70558 1.59617 -1.78853 0.462003 -0.629127 1.32829 0.107354 -0.103283 0.156052 -0.00522473 0 0 0 0 0 0 -220 0 -0.294132 -0.137889 -0.157723 -0.110941 0.172035 0.43 -2.10209 -5.18987 -0.565742 3.44527 -0.0122754 0.12323 0.0953151 1.85832 -0.0166403 -0.667449 -4.52631 0.86011 -0.0600495 0.361715 0.306493 0.0051848 -0.117963 1.23523 -1.40707 0.0785214 -0.0670601 -0.699638 -0.940475 0.431785 -0.336381 0.390308 0.310718 0.0315057 -0.658609 -0.0668631 -0.759952 2.37462 -0.525416 0.530747 0.270114 -1.74853 -0.295508 2.35942 0.707652 0.809012 -0.939761 0.0163046 0.540126 0.95867 2.67118 7.75434 -0.0101524 -0.0840872 0.00120955 -0.290542 -0.241309 -0.0918794 -1.70812 -0.418512 -0.528953 -0.251978 -1.69452 3.9553 0.874357 0.857208 -2.74053 -1.2146 0.346838 -1.786 -0.354517 0.144901 0.739819 -0.725686 0.445877 1.95167 -8.67862 -6.79396 6.08916 -3.19433 2.3216 -1.78428 -3.3196 3.27619 -5.11584 9.24119 -0.731267 1.05333 -1.19683 0.210314 4.47281 0 0 0 0 0 -0.157723 -0.110941 -2.23431e-05 0 0 0 0 -9.22823e-06 0 0.00103419 0 0 0.00096803 0.00150272 0.0414246 0 0.00439778 -0.227565 0.0133545 0 0 0.0228091 7.04679e-05 0 -0.0785198 -0.534125 0 0 -0.00845552 -0.39975 0 -0.227816 0 -0.0576088 0 0 -0.012723 0 0 -0.313418 -0.000196791 0.0206431 0 -0.000476463 -0.040248 0 0 0.157856 0 -4.15797e-05 -0.255512 1.80626e-05 0 0 -0.00180147 3.51413e-05 0 0.000106941 -0.0814749 0.00550584 0.785663 -0.0453778 0.00400981 0 0.00348075 -0.063609 -0.066734 0.0143984 0.0944177 0 0 0 0.976019 -0.066682 0.147884 0.00161495 -0.00394067 0.0648827 -0.000680737 0.00166108 -0.0225457 0.0554176 0 0 0 0 0 0 0.172035 0 0.43 0 0 0 0 0.00998968 -0.321971 0 0 0.408264 0 0.0447135 0 0.0539447 0 0 -0.227958 0 -0.129782 -0.0951471 -0.0156809 -0.00139909 0 0 0.430505 0 -1.4574 0 1.13186 0.997197 0 -0.77945 0.296598 -0.0087207 0 0.0049985 0 0 -0.0216399 0 1.10424 0.588359 0 0 0.0854373 0 0 -0.375441 0.630315 -0.212983 0 -0.928243 0 -0.192273 -0.0826813 0.119796 -0.0827816 0.00313995 0.322455 0.0136273 0.0612497 -0.00225666 -1.99448 0.0127872 0 0 0 0.0937448 -0.0542764 0 0 0 0 -0.0450445 -3.61177 -1.57884 2.54977 -0.438633 0.535435 -0.749333 -0.111664 0.134682 -0.226965 0.443981 0 0 0 0 0 0 -221 0 -0.528872 -0.218296 0.0375067 0.0849779 -0.27285 -0.251508 0.149138 1.39557 0.531307 -0.583818 0.0784165 -0.611959 -0.0100109 -1.73947 0.0284045 -1.4219 -5.32569 -0.135634 -0.0180082 -3.09158 -0.0323394 0.000934555 0.0208371 -0.103255 0.292807 -0.373777 -0.0620932 0.0143887 -1.43497 -0.139929 0.114089 0.210711 0.0953352 -0.196922 0.144934 0.0262072 -0.081326 1.37887 0.0793955 -1.29107 -0.0321834 -0.019848 0.0560151 -5.19499 -0.0794006 -0.451462 -0.490793 0.0718704 -0.249688 -2.17138 -0.496813 2.98867 0.165818 0.00337657 -0.187279 -4.22696 -0.762602 -0.877378 0.18376 0.0931703 0.738531 3.08926 0.35794 -1.07901 0.294978 0.564373 0.847392 -0.0524947 -0.327795 0.0897885 -0.132103 0.000237932 0.0570731 0.134907 0.74483 0.374185 -9.36233 0.860069 -7.06141 -2.2035 0.446217 -1.06933 0.205889 -0.530166 1.15932 -1.62915 0.018622 -0.0371869 0.313017 -0.648531 5.23176 0 0 0 0 0 0.0375067 0.0849779 0.000573572 0 0 0 0 -3.48383e-05 0 0.0257374 0 0 0.000994658 0.00593186 0.0251858 0 0.00407423 -0.00120012 0.184083 0 0 -0.0815881 0.000278447 0 -0.0429966 -0.399853 0 0 -0.0116776 -0.0726189 0 -0.0222551 0 0.0143491 0 0 0.00106817 0 0 0.404636 -0.000749436 0.0207936 0 0.0117825 -0.00966147 0 0 0.215785 0 0.000463512 0.285859 0.0151568 0 0 -0.0018565 -0.00139453 0 0.00412032 -0.0270162 0.0166589 -0.000801125 0.00750347 0.0289118 0 0.000575322 -0.0904497 -0.137789 0.00630906 0.193397 0 0 0 -3.86471 -0.206344 -0.888604 -0.0182512 0.0448688 -0.599624 -0.00067153 0.00163236 -0.0222298 -0.180536 0 0 0 0 0 0 -0.27285 0 -0.251508 0 0 0 0 0.392018 0.361669 0 0 -0.364893 0 -0.0385538 0 0.016837 0 0 -0.978673 0 0.137949 0.185863 -0.0644 -0.0849188 0 0 0.143975 0 -7.4455 0 0.150864 -0.357823 0 1.41204 -0.0886059 -0.00790476 0 0.0611271 0 0 0.0409262 0 -2.21507 -2.47879 0 0 -0.253378 0 0 0.0136778 0.00562976 0.0532776 0 -1.67406 0 0.9843 0.0544077 -0.052563 0.168293 -0.0424711 -0.377824 -0.102262 0.134683 -1.33857 -18.5696 -0.0133678 0 0 0 -0.155798 0.0141225 0 0 0 0 -0.0486751 -3.42472 0.716854 -3.8245 0.0748525 -0.26851 -0.178414 0.116085 -0.165308 0.272998 -0.88166 0 0 0 0 0 0 -222 0 0.285111 -0.095318 0.0261123 0.0563966 -0.113337 -0.280664 0.690272 1.28124 0.090042 -0.716359 -0.110678 0.292703 -0.0124365 -0.324222 -0.0825072 -2.53985 -6.14767 -0.338078 -0.153485 1.20895 -0.097971 -0.0114095 0.0118457 -0.187987 0.701441 -0.945127 -0.268737 0.770917 1.14734 -0.356859 0.0490543 -0.462013 -0.156596 -1.14733 0.381494 -0.015024 -0.76911 -1.37608 0.0586268 -0.0612265 -0.0522776 -2.81763 0.0287732 1.59403 -0.21777 -0.594121 1.05125 -0.728562 -0.186762 -0.172713 -1.06852 8.63309 0.320069 -0.168427 0.369672 -0.178479 0.975257 0.139185 0.5345 0.107753 0.429253 -0.780279 -0.599002 -1.06811 0.495622 -0.248942 1.09252 -0.545999 -0.0555488 -0.496221 0.0101544 0.183392 1.59852 -0.874137 -1.0089 5.55727 1.38793 0.895302 -1.24285 0.844016 -1.48133 2.59641 0.677748 -0.960777 1.80936 -3.42007 0.0510743 -0.0833312 0.262441 0.295943 -4.18311 0 0 0 0 0 0.0261123 0.0563966 -0.00203713 0 0 0 0 -0.000585841 0 0.0229491 0 0 -0.00098322 -0.00160819 0.0157569 0 0.00297027 -0.0396472 0.139785 0 0 0.109733 -7.43078e-05 0 -0.0850337 -1.30642 0 0 0.00230437 -0.296123 0 -0.231321 0 0.0503055 0 0 0.00379325 0 0 -0.734226 -0.0125189 -0.0226161 0 -0.0452458 0.0281652 0 0 -0.0826513 0 -0.00600639 0.0751965 0.014574 0 0 0.00192029 0.00140329 0 -0.007749 -0.0779934 -0.0093041 3.32227 -0.0177635 0.0258884 0 0.0119863 -0.0720292 -0.0226756 0.145639 -0.110145 0 0 0 5.69408 0.270907 -0.0981528 0.0254818 -0.0610957 0.837193 0.000818052 -0.00202808 0.0271491 -0.0994427 0 0 0 0 0 0 -0.113337 0 -0.280664 0 0 0 0 -0.133912 -0.152096 0 0 -0.118201 0 -0.0163838 0 -0.0164819 0 0 0.582103 0 0.468358 -0.0254624 0.0565632 0.0856943 0 0 -0.166783 0 2.25837 0 -1.07328 -0.409015 0 -0.132199 0.182477 0.00323852 0 -0.0141128 0 0 -0.0172992 0 0.23553 0.775849 0 0 0.0876367 0 0 -0.0633049 -0.0835789 0.0104502 0 0.0144387 0 -0.482109 -0.0180345 0.047893 -0.0653006 0.0371875 0.0805897 0.171777 -0.245887 0.969654 7.50003 0.0290132 0 0 0 0.0193138 0.087127 0 0 0 0 0.0541804 4.31283 1.10863 -0.9329 0.531752 -0.588658 0.859996 0.106957 -0.107463 0.136289 0.00257819 0 0 0 0 0 0 -223 0 -0.190583 0.0775913 0.0528822 0.0358331 0.0194153 -0.0543225 0.20448 -0.717693 0.00810602 0.177034 0.476812 1.30122 -0.026261 1.8081 0.190841 1.04419 5.57683 0.00975924 0.289414 -5.4927 0.0394365 0.0801075 0.0239136 0.0760701 0.463038 0.0993119 0.193009 -0.0452237 -1.18042 0.503665 0.0879406 1.43568 -0.0566445 0.44176 0.378645 0.115202 0.643214 -0.937406 0.956247 -1.99049 -0.10555 1.73491 0.227337 3.82455 -0.426782 -0.575357 -0.28427 2.6736 -0.502076 1.99507 -0.477023 2.39624 -1.08304 -0.042601 0.00200064 0.147135 -1.38378 1.03391 0.023517 0.198292 -0.0317555 1.54895 0.705952 -1.87792 -0.991955 0.441015 0.915017 0.742273 -0.00490732 -0.239562 -0.487032 1.27153 -0.675465 3.78056 -0.789685 -0.954611 3.83687 -0.62252 3.71969 0.757292 -0.446156 0.849852 -0.885651 0.715231 -0.558683 1.93412 0.100094 -0.261973 0.916428 -2.15762 4.30369 0 0 0 0 0 0.0528822 0.0358331 0.00103414 0 0 0 0 -0.000101546 0 -0.0128909 0 0 0.0018694 0.0113188 -0.0271225 0 -0.00239442 0.0555922 -0.110728 0 0 0.131583 0.000531401 0 -0.132921 0.358218 0 0 0.00591703 0.12802 0 -0.272951 0 0.0722241 0 0 0.00589088 0 0 -0.407417 -0.00218071 0.0389279 0 0.0209542 -0.0682784 0 0 0.18811 0 0.000552465 -0.699797 -0.00617225 0 0 -0.00343876 -0.00273526 0 9.87556e-06 -0.104127 0.00331311 0.433063 -0.0929838 0.00917469 0 0.0116774 -0.0748694 -0.103203 0.0126001 0.171022 0 0 0 1.8488 -0.102214 0.649541 0.00594522 -0.0139006 0.20384 -0.0012443 0.00301885 -0.0411803 0.188707 0 0 0 0 0 0 0.0194153 0 -0.0543225 0 0 0 0 -0.413903 2.50551 0 0 0.418743 0 0.0534537 0 0.13019 0 0 -0.818805 0 0.638165 -0.153297 0.196842 -0.0985943 0 0 1.09577 0 7.39841 0 0.988447 1.10709 0 -1.15595 1.00809 0.0288863 0 -0.0586108 0 0 0.298045 0 2.79171 -1.75772 0 0 -0.225395 0 0 -0.511325 -1.94862 -0.172824 0 3.84516 0 1.2973 -0.0726819 0.15406 0.53266 0.0936983 -0.494423 -0.726382 0.169297 -5.21424 -15.6812 -0.0976349 0 0 0 0.665777 -0.0115102 0 0 0 0 -0.980792 -1.99501 -1.00027 2.71003 -0.0748671 0.263784 -0.67039 -0.0360139 0.0973795 -0.239202 0.593664 0 0 0 0 0 0 -224 0 0.341728 0.336282 0.0413582 0.127954 -0.150276 -0.107676 0.0247781 -0.283589 0.270933 -1.03304 -0.027499 -0.00864626 -0.0130759 -0.536555 -0.0301 1.06454 6.40653 -0.206674 -0.0910997 0.973636 -0.0604437 -0.119989 0.0179991 -0.306675 0.20971 0.188412 -0.020375 0.392919 0.567557 -0.201943 0.0729694 -0.237336 -0.960593 -0.117059 0.230155 -0.00298091 0.154998 -4.64668 -0.0262613 0.10275 -0.0432497 0.143624 0.0117813 0.00184121 -0.0994893 -0.244417 0.471039 -0.534941 0.0361468 -0.869788 -0.297462 0.935965 0.0986925 -0.0442525 0.140008 1.48384 0.167087 0.496583 0.312405 0.0594623 1.21199 -1.5717 0.337066 -0.155289 0.334814 -0.0393175 0.493067 0.205053 -0.115755 0.0392819 0.102093 -0.18518 -0.101432 0.97625 -0.386488 -0.307973 11.6135 4.41504 -0.971142 2.56316 -1.62484 3.15034 0.630945 -0.249753 0.309122 0.90524 0.0888781 -0.0435036 -0.178765 0.334823 -0.852811 0 0 0 0 0 0.0413582 0.127954 -0.000113323 0 0 0 0 -4.4008e-07 0 -0.0260213 0 0 -2.08147e-05 -2.81231e-06 -0.0434472 0 -0.00671631 -0.0258838 -0.180827 0 0 0.0673539 -1.20321e-07 0 0.0288307 -0.184126 0 0 0.0170537 -0.0882135 0 0.0541429 0 0.0268558 0 0 0.00599774 0 0 -0.0863913 -9.13166e-06 -0.0005236 0 -0.00233433 0.00186224 0 0 0.0968814 0 -0.000100906 0.132444 0.000697582 0 0 4.9188e-05 0.000248593 0 -9.71973e-05 0.128606 -0.00106331 1.45071 -0.00085422 -0.0249683 0 -0.00101487 0.0926051 0.488604 -0.000622448 0.038783 0 0 0 0.249773 0.00646009 0.215554 0.000572276 -0.00143769 0.0606844 2.164e-05 -5.4737e-05 0.000720075 0.0815301 0 0 0 0 0 0 -0.150276 0 -0.107676 0 0 0 0 0.171652 -0.642045 0 0 -0.49345 0 -0.0505822 0 -0.0428335 0 0 0.8833 0 -0.409274 0.0308381 -0.158998 0.107983 0 0 -0.475925 0 0.783174 0 -1.46888 -1.36538 0 0.25847 -0.592071 -0.0147465 0 0.0192997 0 0 -0.0576179 0 -1.48992 1.8302 0 0 0.2252 0 0 0.108175 1.48226 -0.0806089 0 0.205552 0 -0.406884 0.0222095 0.0253048 -0.412945 0.101908 1.47799 0.468638 -0.0886611 -0.125818 3.4407 0.0599976 0 0 0 -0.0463784 -0.0138049 0 0 0 0 0.0524168 13.1789 3.34883 -1.66223 0.53135 -0.400835 0.443676 0.0906431 -0.0932688 0.194971 -0.084409 0 0 0 0 0 0 -225 0 1.36682 0.232918 0.0894764 0.0734969 -0.0531474 -0.255288 0.239288 0.955119 0.497545 -2.09472 0.139774 -0.803391 -0.0352486 -0.760205 -0.00293773 -0.722535 0.640778 -0.511064 -0.0930431 -1.39609 -0.165256 -0.311013 0.0443124 -0.709944 0.489652 -0.310321 -0.018435 0.460257 -0.26077 -0.427576 0.168197 -0.0201605 -1.84714 0.12547 0.338814 0.0394105 0.336142 -7.8236 0.509064 -1.1734 -0.141117 1.91013 0.147011 -2.47313 -0.499437 -0.841466 0.249228 -0.239676 -0.336562 -0.1597 -1.14101 -1.63293 0.216095 -0.12493 0.277644 1.55538 0.361837 -0.546784 1.0561 0.264801 -0.543279 2.37219 2.50849 -2.08904 -0.143834 0.0634329 2.25335 0.334231 -0.240562 1.55958 0.0456824 0.324669 -0.550703 -0.505064 -0.73093 -1.69403 27.2562 8.84765 -3.23607 6.43294 -5.39534 8.42769 1.92701 -1.56966 1.99958 -1.21441 0.446169 -0.504659 0.491706 -0.527233 0.391833 0 0 0 0 0 0.0894764 0.0734969 -2.57035e-05 0 0 0 0 -2.29447e-08 0 -0.0265865 0 0 2.48294e-05 2.12057e-06 -0.0495513 0 -0.00946466 0.0393477 -0.118391 0 0 0.198235 1.09157e-07 0 -0.0133296 0.930814 0 0 0.0412302 0.222193 0 -0.22616 0 0.0666105 0 0 0.0133098 0 0 -0.758543 -2.62315e-07 0.000463443 0 -0.000472934 0.00102019 0 0 0.0852299 0 5.34639e-05 -0.0633204 -0.000398921 0 0 -3.5521e-05 0.000106237 0 6.95413e-05 -0.0133216 0.000121495 0.5533 0.000283313 0.0362656 0 -0.000297982 -0.00408791 0.0571084 -0.00161975 0.0440244 0 0 0 1.52555 -0.00376921 0.156692 -0.000342874 0.000795921 0.168131 -1.13662e-05 2.60044e-05 -0.000373427 0.0396129 0 0 0 0 0 0 -0.0531474 0 -0.255288 0 0 0 0 0.0608504 1.48092 0 0 -0.211394 0 -0.0436767 0 0.0527329 0 0 -0.773081 0 0.144759 -0.0184095 -0.0024875 -0.0948881 0 0 0.465453 0 1.56023 0 -2.19576 -1.16574 0 -0.0397836 -0.0588432 -0.00537232 0 0.00759634 0 0 0.173226 0 -0.973225 -1.74681 0 0 -0.199192 0 0 -0.229063 0.297314 -0.0932304 0 0.622617 0 -0.204063 -0.00546811 0.0364959 0.583424 -0.112016 -0.961174 0.253733 0.095096 -1.41548 -0.602276 -0.0592368 0 0 0 0.261175 0.047862 0 0 0 0 -0.398306 12.1838 0.997544 1.21671 0.361891 -0.361287 1.01235 0.0256452 0.00206268 0.0368534 0.0567514 0 0 0 0 0 0 -226 0 0.00630626 0.182189 0.0671491 0.187838 -0.187776 0.00571614 0.969376 2.52246 0.502764 -1.75294 0.558831 0.185017 -0.0199107 1.0353 0.204431 1.5308 4.77103 -0.252248 0.255491 -1.8817 -0.0461088 -0.101865 0.0282537 -0.462102 0.236911 0.469119 0.0500777 -0.461221 -1.5683 0.30506 0.120302 1.14209 -0.416405 0.488412 0.000236193 0.130474 0.385335 -2.46217 0.775415 -0.670582 -0.0645368 2.43955 0.19335 0.0251803 -0.149923 -0.0623097 -0.867325 1.48833 -0.367286 1.13234 -1.2538 -3.67649 -0.469884 0.294476 -0.169796 -0.0525969 -0.383434 -0.295447 0.533876 0.0800971 -1.00174 0.98311 2.09138 -2.06299 -0.683128 -0.18498 1.66496 0.288727 -0.204966 1.3645 0.383247 0.833904 -0.681986 -0.169819 0.0325574 -1.5976 9.3 4.74071 -4.97609 2.13346 -2.7967 5.22392 1.10523 -1.70188 3.00555 -4.64474 0.133933 -0.429589 0.813152 -1.45325 2.35653 0 0 0 0 0 0.0671491 0.187838 0.000222022 0 0 0 0 8.68476e-07 0 0.00284103 0 0 4.13119e-05 5.63e-06 -0.0191396 0 -0.00353072 0.0325058 0.0128795 0 0 -0.148184 2.41276e-07 0 -0.018573 -0.445791 0 0 -0.0254063 0.0150666 0 -0.0899066 0 -0.0109354 0 0 -0.000993136 0 0 -0.309879 1.80363e-05 0.00103872 0 0.00457857 -0.00359546 0 0 -0.0885137 0 0.000201707 0.20522 -0.00141908 0 0 -0.000100467 -0.000484655 0 0.000217781 0.0665882 0.00214228 1.20837 0.00173449 0.0380733 0 0.00207374 -0.0485069 0.295485 0.00131669 0.169393 0 0 0 0.284796 -0.0134749 0.0010133 -0.00122326 0.00306885 0.180186 -4.33281e-05 0.000109736 -0.001442 -0.0154235 0 0 0 0 0 0 -0.187776 0 0.00571614 0 0 0 0 0.291339 2.11796 0 0 -0.670801 0 -0.0839361 0 0.0962048 0 0 -0.563345 0 -0.643491 0.0739374 -0.3253 -0.059156 0 0 0.773202 0 -2.29485 0 -2.4067 -1.01912 0 0.582057 -1.30025 -0.0384499 0 0.0391653 0 0 0.257712 0 -1.69229 -1.82805 0 0 -0.207871 0 0 -0.30658 0.918147 -0.0510658 0 1.81067 0 -0.763835 0.168622 -0.0591345 0.691306 -0.0143827 -0.633617 0.794614 0.055027 -1.23064 9.24304 -0.0347165 0 0 0 0.442893 -0.000275416 0 0 0 0 -0.525289 15.6069 3.29207 -2.35411 0.251941 -0.257583 0.535557 0.0841649 -0.0765937 0.135788 -0.0994145 0 0 0 0 0 0 -227 0 0 0 0 0 0.232485 0.286394 -0.725371 -2.39397 0 0 -0.304515 1.34364 0 2.59718 -0.0609351 0 0 0 -0.0452085 1.11435 0 0 0 0 -0.444824 0 0 -0.127713 2.00797 0.732394 0 -0.113866 0 0 -0.199195 -0.0310999 0 0 -1.20123 0.962901 0 0 -0.252206 5.32005 0 0.644381 0.473232 -0.0591606 0.143683 0.667151 -0.260375 0 -0.0483813 -0.214156 0.525425 -0.0423319 -0.0979219 -0.0850263 0 0 -0.326377 -0.897017 0 0.00454568 -0.238528 1.25024 0 0 0 0 -0.314205 -0.474244 0 -1.97949 -1.2085 0 0 0 2.54912 0 1.61648 -2.49449 0 0.570634 -0.0641513 2.72965 0 0.580373 -0.00821687 2.00172 -5.54573 0 0 0 0.172584 0.0384259 0 0 0 0.0150808 0 0 0.00348625 0 0 -0.0166065 0 0 0 0 0.0707767 0 0.0108004 0 -0.0479278 0 0.0573945 -0.0792356 0 -0.00506874 0 0 -0.207095 0 -0.00664187 0 0 0 0 -0.024171 -0.0316838 0 -0.00308781 0 0 0 0 0 0 0 0 0 0 0.0450805 0 0 0 0 0 0 0 0 0 0 0.342113 0 0 0 0.0916219 0.0216073 0 -0.0127146 0.3755 0 0.0851616 0 0.265304 0 0 0 0.0314084 0 0 0.19177 0 0 0 0.0772181 0 0 0 0 0.184553 0 0.232485 0.172584 0.286394 0.0384259 -0.48172 -0.0627485 0.492563 -1.01467 1.46182 -0.00623004 0.0195301 0.384708 -0.00175124 0.00372432 0.0677804 0.075003 -0.0293479 0.0121001 -0.0710172 -0.353323 0.721494 -0.360997 0.316333 0.0721697 -0.0889603 -0.000894546 0.716444 -0.0145177 10.8465 -0.3854 0.930389 3.55208 0.00904721 -2.06768 0.879431 0.0178892 -0.00461889 -0.178281 -0.0413836 0.34912 0.162706 -0.00850969 6.22521 0.214721 2.66697e-06 -0.038743 0.200004 -0.0702184 -0.16711 -0.162714 0.55085 -0.082834 0.156411 -0.568896 -0.193672 2.05726 -0.202376 0.265135 0.779677 0.561397 -0.625695 -0.460011 0.0999307 -0.279586 -11.6287 -0.0652155 0.645617 -0.00205585 0.129044 0.472426 0.0526236 0.0578946 -0.0130491 -0.191266 0.0326526 -0.530193 -5.22382 -1.63964 7.09104 -0.223164 1.47674 -1.49445 -0.0855091 0.245416 -0.314448 0.526135 -0.00492115 0.0752573 -0.0730468 0.264873 -0.566857 0 -228 0 0 0 0 0 0.548625 0.231362 -0.549007 -3.47345 0 0 -0.0418479 0.138578 0 0.287647 0.02269 0 0 0 0.0134544 -3.59825 0 0 0 0 -0.694045 0 0 0.0396184 -0.43422 0.120922 0 0.612793 0 0 -0.149407 0.014009 0 0 -0.158275 -0.860236 0 0 -0.0143487 0.938217 0 0.0706341 0.247134 1.03387 -0.0121461 -0.425062 0.173498 0 -0.26716 -0.225626 0.512847 -1.66486 -0.673936 0.554393 0 0 1.46098 -1.36996 0 -0.116808 0.711078 -0.435756 0 0 0 0 0.0662386 0.829213 0 0.269333 -1.80698 0 0 0 5.12246 0 0.465673 1.45776 0 0.00743976 0.633271 4.98254 0 0.025618 0.815911 -0.255434 2.29758 0 0 0 0.0170849 0.0199463 0 0 0 -0.00412298 0 0 0.00266979 0 0 -0.121132 0 0 0 0 -0.210793 0 -0.0400236 0 -0.554009 0 -0.114706 0.165965 0 -0.0116067 0 0 -0.213372 0 0.0360839 0 0 0 0 0.160462 -0.0512703 0 0.0340579 0 0 0 0 0 0 0 0 0 0 -0.00202695 0 0 0 0 0 0 0 0 0 0 0.0653834 0 0 0 0.0500361 0.075464 0 0.142645 0.236689 0 -0.0917297 0 0.0369599 0 0 0 0.577615 0 0 0.212899 0 0 0 0.150756 0 0 0 0 0.133859 0 0.548625 0.0170849 0.231362 0.0199463 0.0932107 0.00860218 0.116667 -0.684046 0.26162 -0.0295868 0.0532414 -0.465323 -0.00620532 -0.138638 0.0358997 0.0153194 0.0266254 -0.120348 0.577659 -0.771934 0.205515 -0.248855 -0.00095072 0.147483 0.265331 -0.0400967 0.270977 -0.0121027 2.7587 -0.104521 -0.456083 1.52412 0.00748744 -1.64272 0.111754 -0.0246738 -0.00532813 -0.100324 -0.0259712 -0.388084 0.0298989 -0.00361786 2.24575 1.46667 0.00551996 -0.0262888 0.313394 -0.0960674 0.0367671 0.0808478 3.23481 -0.18322 -0.0811552 -1.06771 -0.056562 0.436875 -0.0772551 0.251335 0.70706 -0.100279 0.885211 0.345414 -0.0325413 -0.634594 -6.69998 -0.120916 -0.0344049 -0.0249571 -0.258941 -0.407022 0.359066 0.0461012 0.0629212 0.124402 -0.000234416 -0.112714 2.56075 1.58066 4.04487 0.430602 0.32146 0.970344 0.167014 -0.0258664 0.144092 0.605901 0.0489458 -0.00302025 0.0588613 -0.0635606 0.348483 0 -229 0 0 0 0 0 0.258887 0.177464 -0.989501 -1.79639 0 0 -0.435691 0.730535 0 0.61557 -0.0128036 0 0 0 0.293013 -0.212342 0 0 0 0 -0.36067 0 0 -0.170739 3.6278 0.327233 0 0.0139711 0 0 -0.206478 -0.0511469 0 0 -1.66184 1.24131 0 0 -0.337148 1.62457 0 1.02465 0.540466 1.26766 0.516879 -0.918289 1.06031 0 -0.306977 0.0903033 -0.445072 -1.05918 -0.0426451 1.23161 0 0 -0.853956 -4.66378 0 0.578779 0.549221 -0.165903 0 0 0 0 -0.502821 -0.807542 0 -0.202306 0.818088 0 0 0 2.41492 0 2.39829 -5.24658 0 1.01679 -1.97838 4.15817 0 0.904209 -1.96467 4.10625 -8.58032 0 0 0 0.184648 0.038594 0 0 0 -0.0303126 0 0 -0.00377874 0 0 -0.000289055 0 0 0 0 0.0638318 0 0.0113804 0 0.0389446 0 -0.21753 -0.362383 0 0.000671854 0 0 0.0318189 0 -0.0445056 0 0 0 0 -0.107488 0.0054392 0 -0.013065 0 0 0 0 0 0 0 0 0 0 0.208971 0 0 0 0 0 0 0 0 0 0 0.11773 0 0 0 -0.0700281 0.00921723 0 0.166703 0.150907 0 -0.0355992 0 0.0662203 0 0 0 -0.0724834 0 0 -0.0262775 0 0 0 0.0424885 0 0 0 0 -0.0400663 0 0.258887 0.184648 0.177464 0.038594 -0.297632 -0.125232 0.516401 0.0346445 0.643994 -0.0021468 -0.011124 0.251674 -0.000932796 0.0215468 0.0679652 0.0120948 -0.0190251 0.0319045 0.28738 -0.528844 0.694976 -0.00784661 0.154625 0.010198 -0.062095 0.133543 0.155123 -0.0220315 9.21194 -0.493457 3.63556 3.07674 0.00865142 -0.0753357 1.84807 0.0191099 -0.00882046 0.00995679 -0.0892674 0.830267 0.0727316 0.0213378 5.13162 0.477041 -0.0028636 -0.0487548 -0.0510584 -0.112985 0.0968087 0.501028 -2.7383 -0.339605 0.0856086 1.2517 -0.201377 -0.980463 -0.154466 0.0349093 -0.867278 -0.526646 0.572661 -0.563766 0.234266 -1.31404 -14.4514 0.245554 -0.0616332 0.0576518 0.163433 0.197327 -0.109781 0.0571774 -0.0239771 -0.0339968 -0.118011 -0.354039 -20.4124 -2.89335 1.73355 -0.82886 1.9647 -3.25838 -0.0703689 0.203702 -0.471618 0.224698 -0.0129756 0.0846011 -0.183537 0.276671 -0.353166 0 -230 0 0.522667 0.178085 0.042814 0.178627 -0.346386 -0.0893105 0.3116 0.530279 0.817923 -0.559068 0.221669 -1.03251 -0.00130798 -1.8956 0.047042 0.181911 1.96414 0.00753316 -0.00117662 -1.70142 0.00709154 -0.201273 0.0169452 -0.150952 -0.148517 -0.00480248 0.0374483 -0.0936026 -0.775181 -0.430468 0.119445 0.254729 -0.733954 0.33237 -0.0820921 0.0377099 0.205857 -3.97288 0.14664 -0.705577 0.00360785 1.61843 0.0423963 -4.57425 0.0949918 -0.155969 -0.444279 -0.0316633 0.031027 0.512832 0.295171 0.947547 0.435512 0.182604 -0.479118 1.45138 0.334239 -0.496469 0.0410606 -0.0011711 0.493475 0.960601 0.0300197 0.570439 -0.338026 -0.926786 -0.516001 0.11724 -0.422445 0.194365 0.212321 0.0717862 -0.432799 1.49736 0.900731 -0.674439 7.48267 2.39143 -1.38487 1.36482 -1.81054 5.32412 0.44986 -0.363504 0.534545 -0.625038 -0.0320519 0.0183019 -0.0109562 -0.570038 2.31327 0 0 0 0 0 0.042814 0.178627 0 0 0 0 0 0 0 -0.00764364 0 0 0 0 -0.00682904 0 -0.000342387 -0.0278941 -0.0657278 0 0 -0.041562 0 0 0.0437427 -0.325741 0 0 -0.00948515 -0.0620808 0 0.0868444 0 -0.00358551 0 0 -0.00125888 0 0 -0.0142315 0 0 0 0 0 0 0 0.0232495 0 0 0.174552 0 0 0 0 0 0 0 0.0567389 0 0.55024 0 0.00291042 0 0 0.00826048 0.187703 0 0.0793613 0 0 0 -0.0502495 0 0.0888511 0 0 0.0767219 0 0 0 0.0296141 0 0 0 0 0 0 -0.346386 0 -0.0893105 0 0 0 0 0.157397 0.334824 0 0 -0.56078 0 -0.0609833 0 0.00764593 0 0 -0.732115 0 -0.905235 0.0557306 -0.247197 -0.118348 0 0 0.127593 0 -5.75638 0 -4.31487 -2.02821 0 0.544437 -2.01649 -0.0279161 0 0.0139044 0 0 0.0194873 0 -3.62524 -1.45797 0 0 -0.225366 0 0 0.629311 2.62368 0.297541 0 1.5163 0 -0.39296 0.191427 -0.267872 -0.00805195 0.0343456 1.80702 0.263943 -0.0398051 0.3121 10.8308 0.103482 0 0 0 -0.297928 -0.00525662 0 0 0 0 0.309771 27.0476 4.02738 -2.32401 0.708654 -0.681402 1.39615 0.101075 -0.110498 0.224959 -0.279582 0 0 0 0 0 0 -231 0 0.586306 0.385518 -0.0390699 -0.0166229 0.134463 0.227885 -0.464215 -0.908273 -0.128571 0.510186 -0.263029 1.24686 0.0156502 0.672345 -0.175487 1.28035 2.95024 0.0528061 -0.221528 6.14038 0.060551 -0.220106 -0.0168161 0.298303 -0.170046 0.551853 -0.0403503 -0.331579 0.368396 0.556259 -0.0701753 -1.3324 -0.880817 -0.287914 -0.210652 -0.0821673 -0.256409 -4.83042 -0.601301 2.61767 0.0668236 -1.51088 -0.17075 2.63769 0.262868 0.971309 -0.180604 -2.07578 0.50521 -0.377449 0.607612 -2.30994 0.5707 0.0436214 -0.204601 -0.282395 0.113643 -0.66061 -0.378889 -0.135333 -1.50691 0.185315 1.09737 0.438996 0.559238 -0.0212048 0.891882 -0.243879 0.0701551 -0.195039 0.153406 -1.53003 0.430739 -0.125119 1.49722 0.0940908 11.2006 0.418686 1.37844 1.74192 -1.94859 6.2622 -0.897696 0.39341 -0.186719 1.08055 -0.0886962 0.220552 -0.454373 1.06411 -1.09936 0 0 0 0 0 -0.0390699 -0.0166229 0 0 0 0 0 0 0 -0.0231577 0 0 0 0 -0.0172024 0 -0.00538765 0.127168 -0.0853788 0 0 -0.206555 0 0 -0.16006 0.0532412 0 0 -0.0192212 0.252988 0 -0.443829 0 -0.0473953 0 0 -0.00420981 0 0 -1.32448 0 0 0 0 0 0 0 0.0636522 0 0 -0.234308 0 0 0 0 0 0 0 0.0267628 0 0.377415 0 0.0459807 0 0 -0.0281114 -0.00493165 0 0.114324 0 0 0 2.78095 0 0.179205 0 0 0.288793 0 0 0 0.0260976 0 0 0 0 0 0 0.134463 0 0.227885 0 0 0 0 0.226927 -1.37153 0 0 -0.281085 0 -0.0512585 0 -0.0784391 0 0 0.605582 0 -0.797588 0.00522572 -0.25451 0.0565315 0 0 -0.750224 0 -4.02199 0 -5.38396 -0.423873 0 -0.0476698 -1.95501 -0.0333085 0 0.0344399 0 0 -0.138087 0 -1.52555 0.83902 0 0 0.0696799 0 0 0.544908 -0.872624 0.119728 0 -0.478103 0 -0.666483 0.102382 -0.156225 0.9247 -0.153916 -0.875516 0.262307 0.139208 1.30605 8.18206 0.0106961 0 0 0 -0.335605 0.0331343 0 0 0 0 0.283849 30.0257 3.07159 -0.263919 0.823876 -0.80005 1.61897 0.0603545 -0.0402683 0.0542636 0.0603923 0 0 0 0 0 0 -232 0 0.0104287 0.0218586 0.0271898 0.0948471 -0.160595 -0.311776 1.61787 3.10251 0.440963 -1.11283 -0.288494 0.264229 -0.00266691 0.0731295 -0.135014 0.326955 1.87864 -0.262134 -0.286097 3.46082 -0.0342961 0.154879 0.0109332 -0.180867 1.05622 0.043932 -0.00695005 0.895852 2.07504 -0.119628 0.0709247 -1.0095 0.00120767 -0.385748 0.671631 -0.0386811 0.258281 -0.83589 -0.345471 0.429254 -0.00661475 -0.245357 -0.0394999 0.991113 0.0159268 -0.584068 1.40847 -2.03887 0.0350194 -0.0227519 -0.458778 1.18323 0.621911 -0.124974 0.334483 1.99045 0.468767 -0.613898 0.223628 0.0165818 -0.528263 0.817717 -1.20673 -1.02829 -0.244354 -1.34408 0.179591 0.389995 -0.228227 0.456265 0.282255 -0.637377 -0.113332 -0.338622 -0.994058 0.174366 2.09361 2.01581 -4.49247 0.220977 -0.170468 -1.31747 0.3844 -0.538174 1.00684 -4.47221 -0.00537399 0.0655004 -0.373842 1.45568 -6.19227 0 0 0 0 0 0.0271898 0.0948471 0 0 0 0 0 0 0 0.00535872 0 0 0 0 -0.00116488 0 0.000824387 -0.0536737 0.00463728 0 0 -0.0565299 0 0 0.0454475 -0.462102 0 0 -0.0111994 -0.16039 0 0.100294 0 0.0027043 0 0 -0.0002301 0 0 0.237042 0 0 0 0 0 0 0 -0.075835 0 0 0.082559 0 0 0 0 0 0 0 0.00535424 0 0.043398 0 0.00770428 0 0 -0.0249811 0.0392439 0 -0.00555475 0 0 0 -0.564746 0 0.00874537 0 0 0.0099067 0 0 0 -0.015069 0 0 0 0 0 0 -0.160595 0 -0.311776 0 0 0 0 -0.0857573 -0.764143 0 0 -0.458804 0 -0.0590237 0 -0.0438797 0 0 0.451101 0 -0.245655 0.0133571 -0.0574085 0.0521301 0 0 -0.462438 0 -0.902448 0 -2.10593 -1.52011 0 0.172718 -0.96618 -0.0135625 0 -0.00749708 0 0 -0.0783733 0 -1.60754 0.629971 0 0 0.070139 0 0 0.131214 -1.00101 0.154401 0 -0.10113 0 -0.625287 0.0780503 -0.131181 0.69171 -0.0169486 -0.90774 0.291378 -0.0199079 1.157 8.7968 -0.0324584 0 0 0 -0.0443555 0.069227 0 0 0 0 0.151322 11.0033 2.09864 -1.17984 0.36755 -0.409416 0.442176 0.0794946 -0.0731535 0.115022 -0.0524576 0 0 0 0 0 0 -233 0 0 0 0 0 0.0261543 0.238687 0.242283 1.25607 0 0 -0.0506152 1.42685 0 2.58017 0.00838158 0 0 0 -0.00879265 0.0643178 0 0 0 0 0.0176961 0 0 -0.27542 3.16277 0.827002 0 -0.0650743 0 0 -0.144026 -0.00490875 0 0 0.248627 0.961452 0 0 0.124362 4.36991 0 0.974404 0.555236 -0.465248 -0.151175 0.578509 -0.0659474 0 0.114622 -0.0188686 0.319979 -0.809213 0.0164181 -0.93582 0 0 0.401444 -0.191676 0 0.58348 0.154589 -0.395966 0 0 0 0 0.0318752 0.505459 0 -2.72592 -1.42648 0 0 0 -1.78448 0 -0.452772 -2.89444 0 -0.120162 -0.188813 -3.26875 0 -0.065514 -0.40896 0.940822 -9.20711 0 0 0 -0.0526595 -0.0147599 0 0 0 -0.0156539 -0.0203504 0 -0.00167447 0 -0.0042575 -0.00427462 0 0 0 0 -0.016073 0 -0.00221705 0 0.00252501 0 -0.133152 0.0895674 0 0.00164873 0 0 0.0434802 -0.00188334 0.0116572 0 -0.00141473 0 -0.00142766 -0.0214985 0.0112304 -0.0268375 -0.00526137 0 -0.000298738 0 0 0 -9.92661e-05 0 0 0.00501944 -0.00222259 0.0479282 -0.0132212 0 0 0.00346244 0 0.00246016 0 0 -0.0140843 -0.00703625 0.0174417 -0.00715162 0 0 0.0300174 0.0286344 0.00390813 -0.0046273 -0.0126986 0 -0.0351138 -0.00617387 -0.0841587 0 0 0 -0.000558603 0 0.0215331 -0.0349081 0 -0.0026854 0.00441359 -0.00371187 0 0.00238785 -0.00391617 0.00778185 -0.0104045 0 0.0261543 -0.0526595 0.238687 -0.0147599 -0.294016 -0.0463511 -0.106225 -0.450604 -0.578299 0.0142692 -0.0805529 0.0853128 0.00196696 0.00259333 -0.0175115 -0.0281184 -0.048244 0.0947365 -0.161866 0.37682 0.114714 0.0305884 0.034747 0.048848 -0.492926 0.255772 -0.258105 0.0143242 1.25403 -0.265211 -1.15136 1.29575 -0.00253214 -0.18073 -0.439697 -0.00136529 -0.00302979 -0.0629446 -0.0241348 1.62138 -0.0640435 0.0405123 1.42479 -0.465085 -0.0080059 -0.0334013 0.0513183 0.0837488 -0.173767 -0.167652 0.443625 0.00589366 0.0968296 -0.901361 0.030446 0.437597 -0.138045 0.255192 0.0632047 -0.225864 -0.0138183 0.125925 -0.0750793 0.933861 0.220462 0.129452 -0.056451 -0.0514594 -0.400355 -0.150853 -0.00665093 0.0780662 -0.0307517 -0.0652544 0.17484 0.117838 2.81622 -0.547395 0.268278 0.139125 0.117022 -2.64087 0.0175618 0.117055 -0.00772351 -0.792867 -0.0419619 0.238459 -0.549776 0.863865 -2.55961 0 -234 0 0 0 0 0 0.688018 -0.0849664 0.0235471 -1.89041 0 0 0.0830673 -1.02639 0 -2.18306 0.0554679 0 0 0 0.0334868 -2.79954 0 0 0 0 -0.144282 0 0 0.102578 -0.589251 -0.621473 0 0.181462 0 0 0.0970199 0.0293858 0 0 -0.322875 -1.24935 0 0 -0.0922598 -3.74581 0 -0.912785 0.203864 0.269132 0.223141 0.209904 0.0266883 0 0.0908531 -0.162148 -0.108503 3.30434 0.182189 0.442693 0 0 1.21729 -0.245384 0 -0.10557 -0.576248 0.537887 0 0 0 0 -0.0251562 -0.544345 0 4.18519 -0.0388146 0 0 0 2.46787 0 0.626344 0.12489 0 0.211775 -0.362049 2.75496 0 0.317681 -0.527718 0.603566 1.59928 0 0 0 0.12268 0.0205813 0 0 0 -0.000433396 -0.0566418 0 -0.0004697 0 0.000104119 0.0226685 0 0 0 0 0.0251905 0 0.00456004 0 0.126041 0 0.0144561 -0.0253265 0 0.00165117 0 0 0.0727396 -0.00122453 -0.00836462 0 -0.00799121 0 -0.00397047 0.0167175 0.0102883 -0.0176995 0.00614371 0 7.46313e-06 0 0 0 -0.00056068 0 0 0.0025425 -0.00741788 0.0608832 -0.000934809 0 0 0.00651169 0 0.00580186 0 0 -0.048669 0.00345679 0.0225111 0.00428527 0 0 0.0409994 0.0279025 -0.00444196 -0.000429229 0.0157098 0 -0.0234509 -0.00811446 0.0956725 0 0 0 -0.104486 0 0.0135218 -0.0529701 0 -0.00156142 0.00559897 -0.0204985 0 0.00146306 -0.00557275 0.00885226 -0.0185272 0 0.688018 0.12268 -0.0849664 0.0205813 -0.127985 -0.019069 0.173974 0.0150595 -0.10347 -0.0201829 -0.00142408 0.192452 -0.00271739 0.0310669 0.0256464 -0.0165416 0.0216008 -0.139949 0.534538 -0.755451 -0.000620234 -0.122929 -0.0100815 -0.0228216 0.216115 -0.0773227 -0.146732 -0.0108324 0.356356 0.148642 0.380939 -0.743959 0.00349918 -1.40301 -0.0351595 0.00626299 0.00303754 0.0755729 0.00622873 -0.961028 -0.0100536 -0.00192985 -0.328489 0.830144 -0.000502824 0.0298647 -0.0903317 -0.0847978 0.0209585 -0.396731 0.618134 -0.124848 -0.0340683 -0.369279 -0.0497892 0.423831 -0.0223518 0.069018 0.159818 0.47355 0.79008 -0.242608 0.0067286 -0.108721 0.776478 0.0198078 -0.293605 -0.0356325 0.0871412 -0.0112261 -0.0714358 -0.085131 0.0468544 -0.066846 0.0547272 0.0191965 -0.931773 -0.0887781 3.65785 0.0867923 -0.0691146 2.26485 -0.0964758 0.137203 -0.333262 1.80254 0.0619881 -0.120351 0.285033 -0.372983 1.37344 0 -235 0 0 0 0 0 0.0107182 0.281365 -1.44212 -3.11346 0 0 -0.0310891 0.889347 0 1.10742 -0.189806 0 0 0 -0.521875 8.20945 0 0 0 0 -0.494237 0 0 -0.801045 -8.44758 0.460467 0 -0.873761 0 0 -0.265495 -0.076039 0 0 0.604281 2.02203 0 0 0.0723567 3.73782 0 0.758181 -2.50322 -2.17922 -0.0298262 -0.311554 -0.013393 0 0.720104 -0.367605 0.350199 -0.00757393 0.270996 -0.164831 0 0 0.0421472 -3.9221 0 -0.166425 0.0636576 0.82024 0 0 0 0 -0.409578 -0.105633 0 -2.89627 1.69422 0 0 0 5.1754 0 0.624215 8.8951 0 1.07743 -1.04965 11.0406 0 0.580767 0.122748 -1.79328 22.42 0 0 0 -0.254075 -0.0528934 0 0 0 -0.0199663 -0.000454604 0 -0.00291505 0 -0.0101877 -0.0381356 0 0 0 0 -0.00682854 0 -0.00390532 0 -0.164801 0 -0.0728135 0.162515 0 -0.000725394 0 0 0.0804616 -0.0034407 0.0313981 0 0.00355097 0 -3.75807e-05 -0.0435306 0.00549308 -0.048797 -0.0141428 0 -0.000714992 0 0 0 0.000249113 0 0 0.00963769 0.00117759 -0.00269363 -0.0268982 0 0 -0.0129691 0 0.00114721 0 0 0.0603806 -0.0271752 0.0618388 -0.0278401 0 0 0.0435149 0.001988 -0.006803 0.0187848 -0.0146644 0 -0.0132162 0.000430236 -0.577693 0 0 0 0.136115 0 0.0395625 -0.0687964 0 -0.00500925 0.00934852 0.00615557 0 0.00440914 -0.00784814 0.014778 -0.0192338 0 0.0107182 -0.254075 0.281365 -0.0528934 0.955753 0.271874 -0.405115 0.522739 -2.31212 0.0503072 0.00570431 -0.460518 0.00700681 -0.0766161 -0.0638637 -0.117986 0.000253479 0.328083 0.819688 1.63295 0.139812 -0.239051 -0.425464 0.102934 -0.0509115 -0.41989 -1.10733 0.0337031 0.750329 -0.0151102 1.23729 0.917533 -0.00903175 -0.879894 0.640755 -0.0658512 -0.000341036 0.0450344 0.0266474 -2.56459 -0.252222 -0.0641973 1.15978 2.10008 0.00127585 -0.0282813 0.276139 0.228213 -0.299705 0.491647 -0.823902 -1.78661 0.0369341 -0.242081 0.116003 -1.59447 -0.534956 0.931552 -0.124876 -0.119191 -0.440816 1.00522 -0.167207 0.300719 -0.282003 0.0663593 0.814834 0.0913569 0.141212 -0.28845 0.164103 0.138181 -0.109652 0.00248479 -0.106617 0.449478 -3.02639 1.03934 1.88731 -0.675262 0.359724 4.13326 0.22824 -0.212674 0.194547 2.07437 -0.145319 0.161537 -0.0100626 -0.471304 3.69413 0 -236 0 -0.251508 0.270142 -0.0038619 -0.04333 -0.134838 -0.0403002 0.474484 1.72359 -0.0291205 0.112707 -0.0159597 -0.0693386 0.000100693 -0.692879 0.000935078 1.86319 5.33751 0.0159129 0.00207579 0.583391 -0.00122483 -0.114189 -0.000129994 0.0209163 0.288578 0.685311 -0.001014 -0.0420989 0.146446 -0.171082 -0.00202698 0.0383965 0.102784 -0.0429644 0.099921 -0.000146112 0.0416375 2.2754 -0.0526641 0.00632945 0.00157009 -0.131693 -0.00274959 -0.365675 0.0225566 -0.130422 -0.0338269 0.0667113 0.0068136 -0.119781 0.216526 -1.34744 -0.00275506 0.00252505 -0.000331967 0.863735 -0.176063 0.0934686 -0.0423781 -0.00321582 -0.0827873 0.846751 1.12256 -0.0524968 0.0073431 -0.0768474 0.345804 0.0290739 0.00350874 0.216683 0.165607 0.0208475 -0.00703945 1.87488 0.526249 -0.0526876 -6.39299 -0.235442 -4.03637 -0.292764 0.301025 -3.18772 0.133721 -0.131583 0.069076 -2.40116 -0.00176464 0.00228419 -0.0269658 0.0510396 -0.275762 0 0 0 0 0 -0.0038619 -0.04333 -0.000941939 0 0 0 0 -4.92063e-05 0 0.00338074 0 0 -0.00109552 -0.00117722 0.00107196 0 0.000179937 -0.0027376 0.014146 0 0 -0.0133785 -8.26018e-05 0 -0.00062707 0.0541914 0 0 -0.000612259 -0.0157326 0 -0.00545401 0 -0.00114748 0 0 -8.32072e-05 0 0 -0.00294419 -0.000701275 -0.015613 0 -0.0134243 -0.00771965 0 0 0.0258856 0 -0.00191976 -0.00519835 0.00136907 0 0 0.00223276 0.00162249 0 -0.00348446 -0.0185681 -0.00366761 -0.000911328 -0.00382794 0.00563561 0 -0.00221547 -0.000715419 0.00919934 0.00239667 0.00360807 0 0 0 0.00470953 0.012195 -0.0108826 0.000260722 -0.0002999 0.000360904 0.00138261 -0.00159037 0.00191387 -0.00173404 0 0 0 0 0 0 -0.134838 0 -0.0403002 0 0 0 0 0.284236 0.0358695 0 0 0.0103551 0 0.00465489 0 0.0190098 0 0 0.0273696 0 -0.604074 0.114651 0.0801517 -0.0328201 0 0 0.16657 0 1.15818 0 0.246029 -0.16296 0 0.881173 -0.44656 0.0088053 0 0.0304589 0 0 0.00828183 0 0.247984 0.177415 0 0 -0.0419063 0 0 -0.109367 1.10536 -0.40144 0 -0.221943 0 0.0645761 0.0335283 0.0944143 0.090115 -0.230628 -0.484399 0.0784556 0.114114 -0.466423 0.12992 0.106876 0 0 0 0.041963 -0.00176801 0 0 0 0 0.0188427 -5.8158 0.249971 -3.1413 0.331698 -0.423919 0.252538 0.128596 -0.101165 0.0512653 -0.693034 0 0 0 0 0 0 -237 0 1.48387 0.258084 0.00918448 0.103049 0.109263 0.26463 -0.38143 -1.19067 0.0692553 0.126673 -0.141836 0.414583 -0.000239471 0.486205 0.0103779 0.228506 -2.44252 0.0366985 0.0121157 2.08479 0.0224252 -0.209324 0.000309155 0.0687815 -0.538924 0.434064 0.0242945 -0.43503 0.199002 0.349984 0.00482062 0.160288 -0.588892 -0.000114264 -0.34669 -0.00865747 0.138999 -3.93582 -0.045642 1.61324 -0.00373404 0.200508 -0.00201991 0.315563 -0.053645 1.18368 -0.127863 0.18181 0.00476406 0.356814 -0.148792 -0.304992 -0.0207964 0.0190602 0.0843634 -0.750852 -0.1488 -0.1615 -0.0555418 0.00764796 -1.20343 -1.18817 -0.272147 0.874731 0.00170863 0.0816014 -0.122524 0.147415 -0.00834461 -0.315912 -0.0508911 -0.031988 -0.0863118 -0.468159 -0.00768525 -0.323124 6.70381 -1.80417 4.89677 -1.0337 0.610701 3.047 -0.499439 0.28153 -0.0981966 1.09783 0.00419672 0.00125213 0.0427234 0.0449506 -0.374728 0 0 0 0 0 0.00918448 0.103049 -0.0013697 0 0 0 0 -6.37771e-05 0 0.00134648 0 0 0.00104298 0.00168444 -0.00134249 0 4.2204e-05 0.00528473 -0.00954635 0 0 0.0459553 0.000118192 0 0.0018596 -0.125817 0 0 0.00333604 0.0252543 0 0.0208652 0 0.00343709 0 0 0.000292044 0 0 0.175427 -0.000908934 0.0148642 0 -0.0195206 0.0196926 0 0 0.0048552 0 -0.00279157 0.0228577 0.00410751 0 0 -0.00212568 0.00235931 0 -0.00443632 0.0816206 0.00385368 0.00119275 0.0218138 0.00398176 0 -0.018183 -0.00561973 -0.0276215 0.00382369 -0.0208998 0 0 0 -0.280613 0.00552701 -0.0180686 -0.0155349 0.0178693 -0.0215041 -0.0013163 0.00151409 -0.00182208 0.00117021 0 0 0 0 0 0 0.109263 0 0.26463 0 0 0 0 -0.563171 0.735187 0 0 0.189715 0 0.0211776 0 0.0336674 0 0 -0.211154 0 -0.706152 -0.120834 0.238127 -0.00578159 0 0 0.321283 0 1.10587 0 -5.95397 0.521623 0 -1.05329 -1.54944 0.0260438 0 -0.0663659 0 0 0.0787234 0 0.470085 -0.425674 0 0 -0.0324035 0 0 0.0382943 0.771187 0.544137 0 0.359281 0 1.02547 0.104816 -0.208099 0.197676 0.01404 -0.107997 -0.509033 0.0756935 -0.33001 -1.94735 -0.0250439 0 0 0 0.0548167 -0.0454459 0 0 0 0 -0.143757 30.269 -0.115827 5.86023 0.682928 -0.887385 3.16217 -0.0923065 0.121102 -0.24947 0.797555 0 0 0 0 0 0 -238 0 0.352038 0.12759 -0.0152213 -0.170781 0.363761 0.0344008 -0.0820148 -1.53163 -0.114776 -0.101041 0.0707886 -0.480027 0.00039687 -0.187873 0.00134276 -0.262562 0.977558 -0.0206074 0.00913709 1.08428 -0.0299251 -0.0245668 -0.000512357 -0.132696 -0.330814 -0.151145 -0.0291442 0.422083 1.18639 -0.359767 -0.00798913 0.104561 -0.406664 0.0295873 -0.0241834 0.00612015 -0.182914 -2.56382 -0.0448431 0.490012 0.00618835 -0.252021 -0.00268698 0.471078 0.0889048 0.0400923 0.668041 0.282015 0.00688827 0.474894 -0.0313576 2.74285 -0.0123914 0.0113569 -0.115492 -0.896791 0.095159 -0.120471 0.182404 -0.0126748 -0.550507 -1.15413 0.274614 0.0546877 -0.0132528 -0.503146 -0.0377347 -0.253144 0.0138294 0.565845 0.0793308 0.134763 0.209634 -1.02093 -0.594692 0.387677 10.3034 3.57235 2.38514 2.21985 -1.32803 2.65722 0.972523 -0.491949 -0.0363505 1.27768 -0.00695515 0.00263772 -0.130112 0.0540124 -2.23401 0 0 0 0 0 -0.0152213 -0.170781 -0.000880062 0 0 0 0 -5.20748e-05 0 0.00148488 0 0 -0.00309191 -0.00376479 0.00358924 0 0.000116193 -0.00795503 0.0430618 0 0 -0.0377224 -0.000264164 0 -0.00114863 0.211593 0 0 -0.00540861 -0.0337574 0 -0.012607 0 -0.00377102 0 0 -0.000477981 0 0 -0.183989 -0.000742156 -0.0440651 0 -0.0125424 -0.034349 0 0 0.0462545 0 -0.00179365 -0.0197561 0.000644798 0 0 0.00630159 0.00151591 0 -0.00220779 -0.129443 -0.0100616 -0.00130428 -0.0329375 0.00383772 0 0.0158363 0.00103691 0.0567226 -0.0117538 0.035385 0 0 0 0.294309 0.0169779 -0.00748253 0.0162931 -0.0187414 0.0225536 0.00390217 -0.00448853 0.00540157 -0.00527858 0 0 0 0 0 0 0.363761 0 0.0344008 0 0 0 0 -0.592917 1.10768 0 0 0.450782 0 0.0458521 0 0.057902 0 0 -0.0853096 0 -0.0958508 -0.222388 0.155483 -0.000798299 0 0 0.540327 0 1.42611 0 -2.98019 -0.536177 0 -1.73104 -0.851272 0.0165129 0 -0.079899 0 0 0.117651 0 -0.44789 0.34146 0 0 0.0740122 0 0 0.0139942 -1.08183 1.05079 0 0.684992 0 -0.179681 0.286783 -0.546524 0.0612203 0.0160709 -0.114815 -0.128197 0.132847 -0.343034 1.47133 0.0277941 0 0 0 0.0139337 -0.0713111 0 0 0 0 -0.177671 7.07204 -1.70113 5.68446 0.558158 -1.08611 2.88909 -0.0475635 0.131363 -0.403741 1.42314 0 0 0 0 0 0 -239 0 -0.133808 -0.116087 -0.00754952 0.00808323 -0.0650697 -0.263203 0.58374 1.77954 -0.00978332 0.0899961 0.112937 -0.0591964 0.000664105 -0.502437 0.00633432 0.420076 2.47584 -0.019797 0.0144817 1.08378 -0.0206978 0.122523 -0.000568331 0.00127011 0.505688 -0.00171192 -0.0438107 0.55673 0.868706 -0.259321 -0.00509176 0.101132 0.259674 -0.127989 0.265654 0.00905029 -0.292848 1.03956 -0.0521107 -0.216517 0.00840746 -0.980014 -0.00474498 0.387261 0.104581 -0.501099 0.534712 0.136551 0.0200219 -1.63193 0.268273 -3.49663 -0.0122771 0.034918 -0.142007 -1.69761 -0.399678 -0.157857 0.00794064 -0.018373 0.032089 -0.152892 1.23569 -0.619719 0.253636 -0.702847 -0.128138 -0.312242 0.00224054 0.2606 0.197587 0.0586968 0.394042 0.940837 -0.237272 0.26985 2.76511 1.94636 -3.78998 1.75439 -1.50101 -1.05115 0.335683 -0.225796 0.00493578 -2.15918 -0.00994962 0.0117886 -0.151081 0.132022 -1.82341 0 0 0 0 0 -0.00754952 0.00808323 0.000849355 0 0 0 0 0.000133514 0 -0.0022664 0 0 -0.00125695 -0.0017266 0.000925313 0 -0.000223128 -0.00358846 0.00566571 0 0 0.0236871 -0.000121151 0 -0.00451208 0.546473 0 0 0.00535694 0.0293823 0 -0.041131 0 -0.00124357 0 0 0.000126667 0 0 -0.284909 0.00190281 -0.0179072 0 0.0121053 -0.0187391 0 0 -0.00503228 0 0.00175836 -0.0418824 -0.00299203 0 0 0.00257319 -0.00143875 0 0.00235314 -0.0932272 -0.0046858 -0.101171 -0.0192823 0.0184574 0 0.0143643 -0.0142207 -0.016799 -4.13385e-05 0.029916 0 0 0 0.49636 4.92971e-05 0.0379271 0.0127127 -0.0146104 0.0768233 0.00158795 -0.00182597 0.0021943 0.00104635 0 0 0 0 0 0 -0.0650697 0 -0.263203 0 0 0 0 0.359998 -0.549821 0 0 -0.123174 0 -0.0106235 0 -0.00403482 0 0 0.0947855 0 0.260759 0.120655 -0.0733063 0.0044876 0 0 -0.0341526 0 -3.70166 0 1.6403 -0.909806 0 0.923133 0.654195 -0.00801834 0 0.0566415 0 0 -0.0615751 0 -1.41527 -0.142341 0 0 -0.0237004 0 0 0.0482766 0.517535 -0.166195 0 -0.0321262 0 -0.323169 -0.0634595 0.107586 -0.00190247 -0.167096 -0.157681 0.300738 0.0522622 -0.128507 -0.758147 0.0623141 0 0 0 -0.106878 0.017997 0 0 0 0 0.114239 -4.85532 0.972373 -3.38477 -0.222298 0.439867 -1.45801 0.0972076 -0.0996721 0.166184 -0.69155 0 0 0 0 0 0 -240 0 0.783754 -0.0866499 0.00635965 0.0693803 -0.0208534 -0.0955821 0.71797 -0.0737964 0.0810279 0.112111 0.0668533 1.07097 -0.000199469 2.92698 -0.0124528 -0.181259 1.52439 0.0487491 -0.0310793 4.49668 0.014355 0.320674 0.000403555 0.0342729 0.334564 -0.309542 0.00314762 0.438634 0.464347 0.511313 0.00579357 -0.2209 0.0814308 0.0197602 0.335356 0.00478006 -0.0566954 -3.23261 0.126763 1.43074 -0.00184574 -0.107685 0.0106211 5.22159 -0.0139193 0.215814 0.515468 -0.481894 -0.0225984 0.0900417 0.105374 -2.49017 0.0685625 -0.0279849 0.0639222 -3.22051 0.181737 -0.115532 -0.0628096 0.00395307 -0.334552 -2.51453 0.648797 -0.126674 0.338237 -1.14736 -0.631166 -0.205787 -0.0154766 -0.144307 -0.0803686 0.0524829 0.133312 -4.3139 -0.420377 0.442266 10.5265 -0.0611661 2.58814 0.136891 -0.729082 3.69847 -0.0707731 0.101041 -0.193077 0.212486 0.00132425 -0.00726904 -0.00748022 -0.0917012 -0.974663 0 0 0 0 0 0.00635965 0.0693803 -0.00194046 0 0 0 0 -0.00016415 0 0.0054209 0 0 -0.00099164 -0.000649392 0.00134251 0 0.00039078 0.00466892 0.0270484 0 0 -0.0248607 -4.5564e-05 0 0.00262683 0.149971 0 0 -0.00883388 0.0325273 0 0.020865 0 -0.0015875 0 0 -0.00057812 0 0 0.145375 -0.00233943 -0.0141589 0 -0.0276569 0.00331433 0 0 0.0490801 0 -0.00406191 0.0102368 0.00423274 0 0 0.00197701 0.00324458 0 -0.0101963 -0.0116688 -0.00230878 -0.0865313 -9.39643e-05 0.0146481 0 -0.0105625 -0.00764687 0.0146129 -0.00614991 0.0029257 0 0 0 -0.234266 0.0262633 -0.0443962 -0.0132437 0.0151822 -0.0171476 0.00124551 -0.00143494 0.00173867 -0.00488114 0 0 0 0 0 0 -0.0208534 0 -0.0955821 0 0 0 0 0.0674369 -0.139173 0 0 -0.326263 0 -0.0279211 0 -0.0195355 0 0 0.263621 0 0.680911 -0.021476 -0.189856 0.0611126 0 0 -0.181463 0 2.90175 0 -3.3937 0.425345 0 -0.20941 -0.155259 -0.0186471 0 0.0179367 0 0 -0.0106657 0 1.04723 0.245472 0 0 0.0824141 0 0 -0.0453131 2.35859 0.0513378 0 -1.09821 0 0.77546 -0.109325 0.067234 -0.749637 0.27897 1.31991 -0.0487238 -0.272074 0.572918 -2.81224 -0.0878032 0 0 0 -0.065954 0.0393406 0 0 0 0 0.0127193 26.0642 1.12413 4.59663 0.441333 -0.443881 2.09046 0.0363564 -0.113813 0.303735 0.0784387 0 0 0 0 0 0 -241 0 0.774903 0.190165 -0.0215843 -0.137183 0.283732 0.00951263 0.0127536 -1.23833 -0.183064 -0.169036 0.017326 -0.468779 0.00112244 -0.99348 0.0247674 0.307148 2.56526 -0.0727273 0.0588716 -3.64266 -0.0498463 -0.129036 -0.00146284 -0.091792 -0.11788 0.0450799 -0.0684416 0.242238 1.44972 -0.477173 -0.0177376 0.381753 -0.860656 -0.143555 0.0690274 0.00358991 -0.322937 -5.62617 -0.206855 -2.0114 0.0126699 -0.781807 -0.019203 0.25088 0.136937 -0.959952 0.584203 0.729935 0.0503591 1.44806 -0.0801831 -2.86716 -0.118681 0.0806265 -0.297971 -3.21825 0.153209 0.178764 0.121276 -0.0273543 -0.695835 1.34704 0.437882 1.07416 -0.0567436 -0.191313 -0.329791 -0.360291 0.0353757 0.0958837 0.0084694 0.153458 0.263517 -0.521333 -0.0266555 0.0816851 25.9581 4.36296 6.61034 3.45191 -2.47534 7.42272 0.755444 -0.435465 0.145813 1.60286 -0.0130279 0.0220299 -0.212677 0.346148 -3.04296 0 0 0 0 0 -0.0215843 -0.137183 0.00279608 0 0 0 0 0.000342707 0 -0.00779996 0 0 -0.00148054 -0.00252379 0.00171938 0 -0.000834308 -0.00926541 0.0196162 0 0 -0.00428342 -0.000177089 0 -0.0060395 0.335893 0 0 -0.000438676 0.000579471 0 -0.0566052 0 -0.00214554 0 0 2.00199e-05 0 0 -0.480762 0.00488417 -0.0210708 0 0.0398517 -0.0368946 0 0 -0.0435266 0 0.00582158 -0.0690228 -0.007455 0 0 0.00306601 -0.00470536 0 0.0122179 -0.156592 -0.00569549 -0.0929183 -0.0393583 -0.000207023 0 0.0370308 -0.00240185 -0.00869187 -0.0124314 0.0495896 0 0 0 0.799809 -0.0212826 0.0544471 0.0339262 -0.0389671 0.0884046 0.00187507 -0.00215433 0.00257954 -0.00425964 0 0 0 0 0 0 0.283732 0 0.00951263 0 0 0 0 -0.782562 0.509951 0 0 0.416893 0 0.0373359 0 0.0368988 0 0 -0.0251393 0 -0.352178 -0.223735 0.209012 -0.0182943 0 0 0.337787 0 1.21286 0 -5.11483 -0.325469 0 -1.90172 -1.34716 0.0212008 0 -0.088929 0 0 0.0545497 0 -0.133357 0.339396 0 0 0.0145696 0 0 0.131797 0.815375 0.339184 0 0.26931 0 0.636936 0.159456 -0.305471 0.309985 -0.0010622 -0.356777 -0.383466 0.149983 -0.346139 -0.508635 -0.0456638 0 0 0 -0.025346 -0.0581583 0 0 0 0 -0.0754689 22.7433 -0.708775 7.11746 0.60419 -0.850509 3.30217 -0.0545749 0.16325 -0.44977 1.58308 0 0 0 0 0 0 -242 0 0 0 0 0 0.262311 0.20631 -1.29895 -2.9213 0 0 -0.497776 0.314566 0 -0.0466449 -0.0754477 0 0 0 -0.261988 -5.99925 0 0 0 0 -0.419328 0 0 -0.363108 -0.584199 0.0454593 0 0.18068 0 0 -0.258768 -0.0888048 0 0 -1.64387 -2.47734 0 0 -0.431358 1.51828 0 -0.695152 -0.28355 0.631231 0.828144 0.00609121 -0.239681 0 -0.229134 -0.34958 0.0507824 -0.0251059 -0.544583 -0.934879 0 0 0.26062 7.9951 0 -0.443149 0.0237531 0.495396 0 0 0 0 0.105696 -1.40896 0 1.46027 -0.481828 0 0 0 2.81493 0 1.09779 2.65793 0 0.789654 -0.169316 2.85092 0 1.98891 -1.24581 1.97204 0.791505 0 0 0 0.169497 0.0543416 0 0 0 0.0498633 0.0327633 0 0.00621177 0 -0.00551281 -0.0334869 0 0 0 0 0.0215239 0 -0.00881241 0 -0.0888666 0 0.362978 0.0182618 0 -0.000204048 0 0 0.0204172 -0.00161478 -0.0209261 0 0.00122385 0 0.00176053 -0.0970166 0.000156908 -0.0275906 -0.0231696 0 -0.000309402 0 0 0 5.19386e-05 0 0 0.00205817 -0.00153677 -0.291763 0.0297683 0 0 0.0236788 0 -0.00763551 0 0 0.000996372 -0.0198602 0.337737 0.00218198 0 0 0.00806796 -0.0532253 -0.0504189 0.0364236 0.0741999 0 0.23147 0.00329866 0.0669128 0 0 0 0.398531 0 0.0905882 -0.220298 0 0.00780396 -0.0240926 -0.0146448 0 0.000901246 -0.00265332 0.00102563 0.0226095 0 0.262311 0.169497 0.20631 0.0543416 0.111538 -0.0728698 0.331967 -0.656866 2.23417 -0.0714175 0.0440212 0.827655 -0.0123621 0.0983595 0.0611294 0.125777 0.024676 -0.369014 -1.0013 -0.229833 0.144038 -0.338091 0.602815 -0.153851 0.407601 0.0247484 1.08424 -0.0315547 0.301958 0.138128 2.30108 0.0939635 0.0096802 -1.38757 1.03525 0.0781382 -0.000408473 -0.140107 -0.0497479 -0.484729 0.25169 0.0207357 -0.0369093 -0.836911 0.00274379 0.0479476 -0.216754 -0.109187 0.108583 0.701086 -0.33218 1.44229 -0.228856 -1.87718 -0.0258698 -1.21282 0.718964 -1.19151 0.42394 0.43016 -0.572431 0.249806 0.0748924 0.230922 1.25277 -0.239784 -0.179336 -0.109253 0.334419 -1.11446 -0.192733 -0.127125 0.162663 0.068482 -0.103518 0.11382 -7.85382 -1.57926 0.972184 -0.786168 0.163663 1.9151 -0.482525 0.15212 0.328219 0.451439 0.454128 -0.33673 0.586981 -0.330431 0.492042 0 -243 0 0 0 0 0 -0.411696 0.00318343 0.462923 1.84755 0 0 0.256792 -0.201655 0 -0.307815 -0.0207396 0 0 0 -0.157903 1.77491 0 0 0 0 -0.0150842 0 0 -0.500461 -2.22846 0.149397 0 -0.62066 0 0 -0.0786681 0.0254225 0 0 0.975953 0.297735 0 0 0.146571 -1.49197 0 0.11894 -0.875643 -1.5774 -0.360107 0.172004 -0.437739 0 0.288629 -0.196414 0.298992 3.1674 0.452318 1.04949 0 0 -0.402983 -1.95581 0 0.710237 -0.246405 0.842871 0 0 0 0 -0.191997 -0.0577512 0 2.56478 0.981481 0 0 0 -2.90205 0 -0.813551 1.60151 0 -0.24021 0.839083 -2.06012 0 -0.513168 0.736544 -1.85519 5.66604 0 0 0 -0.143789 -0.0293294 0 0 0 -0.0434155 -3.31157e-07 0 -0.0042972 0 0.0011858 -0.0103149 0 0 0 0 -0.00768867 0 -0.00838811 0 0.028226 0 -0.361125 -0.176117 0 0.000313891 0 0 -0.032875 0.00109597 -0.0202039 0 -0.00259921 0 -0.000130934 -0.0972016 -0.00115706 0.0183788 -0.0164857 0 9.66411e-05 0 0 0 -0.00014156 0 0 -0.00484852 -0.0042787 -0.328108 -0.0196995 0 0 -0.0124561 0 -0.003563 0 0 -0.0149465 -0.0437635 -0.0931508 -0.0222165 0 0 0.0511215 0.0509875 0.0244248 0.0251891 -0.255117 0 -0.027634 0.00802822 0.248385 0 0 0 -0.818093 0 -0.10827 -0.159976 0 -0.0107105 -0.022772 0.0065818 0 -0.00108922 -0.00238491 -0.0033638 0.0608159 0 -0.411696 -0.143789 0.00318343 -0.0293294 0.297256 0.0139357 -0.0877173 0.695287 -1.31166 0.0322792 0.0125058 -0.216164 0.00478738 -0.0235575 -0.0149005 -0.0813621 -0.0119367 0.202164 0.280029 0.424951 -0.196247 0.226757 -0.481926 0.0567421 -0.150275 -0.00493558 -0.8968 -0.00217011 0.0599686 0.241705 -1.63141 1.0463 -0.00184427 1.57594 -0.967003 -0.0638539 0.00506741 0.10591 0.0481691 -0.203799 -0.136307 0.00124595 0.861182 0.115566 0.00250074 0.022908 0.0462669 0.00489268 0.0367185 -0.479302 -0.26125 0.233527 0.119916 2.68826 -0.0266196 1.15927 -0.655833 0.551008 -0.378729 -0.0477971 0.307426 -0.204694 0.0128078 -0.01975 1.68068 -0.0176996 -0.297262 0.0400366 0.0884603 0.478343 0.0997755 -0.0349068 -0.0587898 0.0921132 -0.0194988 0.411132 5.56817 0.487171 -2.63637 0.658843 -1.09431 0.680295 0.118355 -0.149595 0.159743 -0.782469 -0.248794 -0.00915267 0.0882107 -0.303557 0.378754 0 -244 0 0 0 0 0 -0.13717 -0.288516 0.805232 1.59058 0 0 -0.568004 -0.301691 0 0.176552 -0.100099 0 0 0 0.0757324 1.55788 0 0 0 0 0.494818 0 0 1.15518 6.25341 -0.413372 0 -0.0487461 0 0 0.36106 -0.102751 0 0 -1.99267 1.04982 0 0 -0.486854 1.12255 0 -0.22972 2.36471 1.7971 0.901276 -2.1881 0.648092 0 -0.0252895 0.00449571 -0.0971391 -0.0609441 -0.693334 -0.375259 0 0 -0.856283 -0.482669 0 0.13148 0.965241 -0.892001 0 0 0 0 0.167495 -1.45705 0 -0.168528 -0.223633 0 0 0 -2.0821 0 2.39043 -7.69434 0 0.714953 -0.306771 -4.75845 0 1.27585 -1.4384 4.00775 -13.8606 0 0 0 0.210959 0.0881666 0 0 0 -0.0371793 0.0644068 0 -0.00204045 0 -0.00786112 -0.0544598 0 0 0 0 -0.000631518 0 -0.0176256 0 -0.207059 0 -0.489898 -0.237529 0 -0.0053295 0 0 -0.33889 -0.00197423 -0.0470264 0 0.00549934 0 0.00311013 -0.0448205 -0.0438622 -0.0330412 -0.0196261 0 -0.00046055 0 0 0 0.000254946 0 0 0.00707674 -0.00035538 0.0779126 0.034257 0 0 -0.00968473 0 -0.00952357 0 0 0.0393485 0.0024004 -0.0514069 0.0149247 0 0 -0.108794 -0.0999027 0.0296882 -0.125137 0.240396 0 0.0775499 -0.0144675 -0.0827075 0 0 0 1.65012 0 0.162922 0.577331 0 0.0153923 0.0304349 0.0464336 0 0.00155185 0.00350247 0.00529573 0.173835 0 -0.13717 0.210959 -0.288516 0.0881666 -0.522286 -0.157105 0.237092 0.237288 -0.167713 -0.140087 0.111841 -0.241457 -0.0219552 -0.0343712 0.0774325 -0.0333071 0.0506179 -0.850787 1.54255 -1.65368 0.00600293 0.219625 0.149298 0.270707 0.85477 0.208266 -0.336548 -0.0132907 0.475903 0.0833994 0.0665042 -0.762812 0.0145584 1.15906 0.199331 0.0288734 0.00251979 0.0650433 -0.000977509 1.4019 -0.0060604 0.0287351 -0.319649 1.88424 0.00779323 0.0298586 0.390522 -0.171557 0.14384 1.30561 -0.241288 0.202044 -0.217127 0.415008 -0.00926655 0.437399 0.178532 -0.0412085 -0.126357 -0.385084 -0.883754 -0.227543 0.221631 0.30824 -2.13312 -0.0899018 0.323195 -0.164568 -0.221785 -0.163669 0.129904 -0.0823686 0.313393 0.104248 0.0656536 -0.0592296 -0.226986 0.407239 -1.33539 1.41099 0.246845 -2.67434 0.210256 0.0578537 0.00148754 -1.07296 1.04702 -0.407965 -0.118187 0.3793 -1.35159 0 -245 0 0.636154 0.394873 0.0112907 0.108764 0.125808 0.09183 0.164964 -0.914224 0.225679 -0.449071 -0.0604012 -0.432218 -0.000193989 -0.00468364 0.00093279 0.527215 3.1077 -0.0197721 -0.00885291 3.25527 0.00431254 -0.372816 0.00105002 -0.0859486 -0.363104 0.223595 0.00782578 0.106923 0.740306 -0.127431 0.0158673 -0.0212136 -1.20013 0.090731 -0.0894485 -0.00867639 -0.0456524 -5.74035 -0.0154851 1.56401 -0.00309288 0.236809 -0.00822794 -0.0960349 -0.0383226 0.610971 0.397438 -0.145056 0.0588932 0.290926 -0.287513 -2.48472 0.0028086 -0.00544418 -0.0333917 1.45244 -0.65054 -0.00223301 0.223781 0.0141936 -1.02887 -1.92497 -0.508164 0.625819 0.160434 -0.831035 -0.422504 -0.208766 -0.0464192 -0.54084 -0.382838 -0.0780318 -0.0738057 1.03244 -0.0958367 -1.8016 16.6316 1.45202 5.29274 1.66249 -1.23529 4.87769 0.469447 -0.270649 0.210798 0.907128 0.00508232 0.00125539 -0.0205871 0.00710148 -1.1012 0 0 0 0 0 0.0112907 0.108764 -0.000338428 0 0 0 0 -5.29074e-05 0 -0.00522517 0 0 -0.000785732 -0.00117272 -0.00414483 0 -0.000590281 0.00249195 -0.0369971 0 0 0.171086 -6.74642e-05 0 0.00102493 0.290435 0 0 0.0150241 0.0278572 0 0.0142418 0 0.012528 0 0 0.000926846 0 0 -0.109116 -0.00100041 -0.0138505 0 -0.00624416 0.0056449 0 0 0.0425695 0 -0.00106886 0.073064 -0.00225538 0 0 0.00138923 -7.5834e-05 0 0.00127633 0.0103199 0.00788394 0.2247 -0.00309058 -0.0194107 0 -0.00413245 -0.0384756 0.157281 -0.0439827 -0.0413852 0 0 0 1.352 0.124668 0.0689567 0.00700619 0.00612058 0.00526704 0.000527816 0.00045799 0.00125063 0.0195032 0 0 0 0 0 0 0.125808 0 0.09183 0 0 0 0 -0.0591604 -0.962753 0 0 -0.275434 0 -0.0234362 0 -0.0793945 0 0 0.723156 0 -0.719625 -0.00941339 -0.205919 0.0629473 0 0 -0.655313 0 3.12762 0 -3.63825 -0.434151 0 -0.444271 -1.5606 -0.0214802 0 0.0141117 0 0 -0.117174 0 -0.19148 1.77734 0 0 0.159218 0 0 -0.172661 0.437899 0.121999 0 -0.103721 0 1.51525 -0.44189 0.203913 -0.649009 0.268948 1.1235 -1.26215 -0.173576 -1.10989 -6.16974 -0.188912 0 0 0 0.158191 0.108474 0 0 0 0 -0.033984 9.09966 -1.45138 4.79737 1.19126 -0.877615 1.44314 0.101004 -0.0729971 0.0213039 0.305498 0 0 0 0 0 0 -246 0 -0.558079 0.154859 -0.0225588 -0.110603 0.140259 0.139735 -0.757432 -1.86541 -0.27941 0.753924 -0.164012 -0.724701 0.000530589 -0.465626 -0.00502438 0.161133 0.241345 0.173562 0.0110052 1.67124 0.013444 -0.336408 -0.00190727 0.0958308 -0.557353 0.353988 0.0435844 -0.0276715 0.59439 -0.158362 -0.0244889 0.0750081 -0.47267 0.287493 -0.279464 -0.0164722 0.143603 0.146945 -0.255321 1.01777 0.00574283 0.582013 -0.0262355 -0.78856 0.0685352 0.605118 0.199256 0.310022 -0.0188593 0.148915 0.00157918 2.9847 -0.114974 0.0240387 0.0926268 2.12038 0.710134 -0.120622 -0.177611 0.00887146 1.22498 -0.0216562 1.2591 -0.193905 -0.152434 0.249031 0.127199 0.139575 0.0926927 -0.386424 0.311962 0.011396 -0.225736 -0.465824 0.0269427 0.32799 -2.45821 -0.660176 1.29365 0.86698 -0.174265 -0.775061 -0.0247028 0.135417 -0.912951 1.93495 -0.00908911 0.0165215 -0.0903869 0.18635 -0.884154 0 0 0 0 0 -0.0225588 -0.110603 0.00142368 0 0 0 0 0.000133909 0 -0.0203617 0 0 -2.08661e-05 -0.000478098 -0.0100165 0 -0.00213955 -0.0107516 -0.0892311 0 0 -0.221888 -1.78807e-05 0 -0.00268599 -0.471174 0 0 -0.0337804 -0.1085 0 -0.0625712 0 -0.025514 0 0 -0.00390407 0 0 -0.32542 0.00269238 -0.00122657 0 0.0292163 -0.00169243 0 0 0.140033 0 -0.00182753 0.0486584 -0.00120801 0 0 -0.000984061 -0.00554176 0 0.00370013 0.0362434 -0.00307152 -0.285279 -0.0219391 0.0089122 0 0.00103096 -0.00819136 -0.0411362 0.0284001 -0.0658328 0 0 0 0.254098 -0.0378926 0.0185407 -0.00261929 -0.00241055 0.0516589 -0.000136154 -0.000129013 0.000295899 0.034408 0 0 0 0 0 0 0.140259 0 0.139735 0 0 0 0 -0.315531 0.66586 0 0 0.745942 0 0.0869498 0 0.0599327 0 0 0.201757 0 -0.31136 -0.0284166 0.435587 0.0409655 0 0 0.545514 0 2.71992 0 2.83281 -0.113356 0 -0.534406 0.456256 0.0505747 0 -0.0283255 0 0 0.075301 0 0.437782 1.07861 0 0 0.143229 0 0 -0.0232757 2.0844 0.36558 0 -0.41593 0 0.339338 0.559651 -0.461545 0.242514 0.11039 0.279942 -0.0428035 0.133917 1.25436 6.60112 -0.00294596 0 0 0 0.349811 -0.161286 0 0 0 0 -0.423938 -10.2455 -2.55385 1.27462 -0.931379 0.543394 -0.804429 -0.369591 0.273883 -0.295996 0.27293 0 0 0 0 0 0 -247 0 -0.176802 0.160631 0.00932301 0.0956879 0.0423946 0.258876 -0.259741 0.0660077 0.166942 -0.743034 -0.322848 0.682574 -0.000676409 0.635868 0.00901045 0.461574 -0.371561 -0.216477 -0.0055415 -0.628137 -0.0395194 -0.12193 0.000432178 -0.152902 -0.157739 0.431341 -0.0714801 -0.62815 0.0520276 0.367437 0.0100683 0.211781 0.00651057 -0.468229 -0.287424 -0.0344667 -0.332714 0.266562 -0.352751 0.0397541 -0.0124073 -1.46519 -0.0437258 2.0701 -0.180784 0.589797 -0.425559 -0.0354107 0.16206 -0.709673 -0.197986 3.96116 -0.0187354 -0.0313088 -0.00760937 0.944426 0.0918235 0.107853 0.338046 0.0369836 -0.136177 -0.0527275 -0.0886863 -1.00358 0.455141 0.32104 0.795479 -0.430256 -0.0580029 0.591176 -0.129175 -0.0707698 0.547891 -0.180293 0.346847 0.466006 -0.879122 1.31444 -1.4959 0.717529 -0.428472 0.83406 0.118992 -0.127194 0.725233 -0.293392 0.0239756 0.0244691 0.131008 0.262048 -0.0773909 0 0 0 0 0 0.00932301 0.0956879 -0.000773276 0 0 0 0 -0.000134876 0 -0.0226195 0 0 -0.00127965 -0.00175392 -0.0192743 0 -0.00285698 0.00148363 -0.161892 0 0 0.00504858 -0.000109557 0 0.00538798 -0.343488 0 0 -0.0144074 -0.011271 0 0.0140762 0 0.00155249 0 0 -0.00184545 0 0 -0.398061 -0.00254043 -0.0210586 0 -0.013982 0.0213986 0 0 -0.0287966 0 -0.00108232 0.0749507 -0.00296577 0 0 0.00395953 0.00155939 0 -0.00627869 -0.019443 0.0137095 0.102119 -0.00521142 -0.0159064 0 0.0011335 -0.0369664 0.0390204 -0.0225386 -0.114431 0 0 0 4.24359 0.321843 0.57098 0.0208569 0.0188151 0.141193 0.00110131 0.000973377 0.001599 0.0578958 0 0 0 0 0 0 0.0423946 0 0.258876 0 0 0 0 -0.142781 0.117791 0 0 0.079333 0 0.0128931 0 0.0287369 0 0 -0.443732 0 -0.308379 -0.0159709 0.246688 -0.0519576 0 0 0.25224 0 0.531097 0 -0.0172324 0.868276 0 0.0697056 -0.29164 0.0350181 0 -0.0303011 0 0 0.00941056 0 1.02131 -0.213679 0 0 -0.0291918 0 0 0.0719394 -0.0375027 -0.0615039 0 0.863754 0 0.0939685 -0.175086 0.0663164 0.362138 -0.0500075 -0.341401 -0.233573 0.0389095 0.180846 5.55791 0.0419438 0 0 0 -0.0571154 -0.00720189 0 0 0 0 0.0978732 2.02181 -0.111677 0.403621 0.147759 -0.138572 0.181563 0.0147148 -0.0140286 -0.0259355 -0.0137661 0 0 0 0 0 0 -248 0 0.371147 -0.0348113 0.0345919 0.0743965 -0.00410588 -0.201113 0.800267 0.381708 0.155892 -0.400781 0.174049 -0.164083 -0.00858438 -1.20405 -0.00273901 -0.169069 1.70253 -0.114442 -0.0150619 -0.962468 -0.0319199 0.207286 0.00937802 -0.18514 0.368521 -0.28879 -0.0158281 0.423394 -0.432494 -0.275481 0.0472117 -0.0157537 0.0421726 -0.0738309 0.351208 0.0243948 0.0253715 -1.61254 0.559744 -0.712345 -0.0513206 0.319159 0.090549 -1.71764 -0.292372 -0.576385 0.26128 0.0514373 -0.292776 -0.594568 -0.110709 -2.39919 -0.118097 -0.0199307 0.114465 -0.566136 -0.0388334 0.607782 0.227704 0.114617 -0.384295 -0.781736 -0.226601 0.381823 -0.00118048 -0.555693 -0.172418 0.190193 -0.0636244 0.0335598 -0.273872 0.469296 -0.430157 1.10655 -0.65152 -0.423532 -0.823371 0.161219 1.32855 -0.17431 0.248629 0.782709 0.469632 -0.0425291 0.002691 -0.164509 0.262564 -0.383831 0.510982 -0.802468 0.937205 0 0 0 0 0 0.0345919 0.0743965 -0.000514516 0 0 0 0 -0.000293898 0 0.0094172 0 0 -5.04248e-05 -0.00073917 0.00931316 0 0.00164299 -0.0706923 0.0550725 0 0 0.130806 -4.10757e-05 0 0.0143128 -0.42642 0 0 0.0128056 -0.213657 0 0.116413 0 0.0309943 0 0 0.00310626 0 0 0.320937 -0.00551851 -0.00057297 0 -0.00931763 -0.00863177 0 0 0.213713 0 -0.0025478 0.152802 -0.0026005 0 0 -0.000421575 -0.000504861 0 0.0134462 -0.00291708 0.00600997 -0.273588 -0.00449905 0.00139024 0 -0.00353903 -0.00214435 0.215917 -0.0798916 0.0115235 0 0 0 -2.91472 -0.14401 -0.42742 -0.0135572 -0.0119944 -0.0145771 -0.000124339 -0.000116579 0.000199709 -0.00142033 0 0 0 0 0 0 -0.00410588 0 -0.201113 0 0 0 0 0.132148 -0.0979574 0 0 -0.437876 0 -0.0403256 0 0.000173456 0 0 0.269289 0 0.0305096 0.0227765 -0.301009 0.0497105 0 0 -0.0676763 0 2.90905 0 -2.1521 0.0477266 0 0.0282387 -0.802958 -0.0316289 0 0.0160392 0 0 0.00351902 0 0.509146 0.488542 0 0 0.0873681 0 0 -0.585405 -1.51269 0.166812 0 -0.33772 0 1.06792 -0.115489 -0.00489567 -0.252166 0.14532 0.356035 -1.02749 -0.0902096 -0.452353 -5.43739 -0.133261 0 0 0 0.393048 0.102062 0 0 0 0 -0.295015 -2.24675 -1.3631 2.43615 0.313067 -0.416505 0.811976 0.170139 -0.140627 0.122589 0.0358332 0 0 0 0 0 0 -249 0 -0.530754 -0.376752 -0.0196158 -0.141726 0.0215072 -0.237541 0.362656 0.887791 0.08604 0.451304 -0.0146735 0.68088 0.00422473 0.484387 0.0181065 -0.0823301 0.879231 -0.0762363 0.00856398 -1.02384 -0.00917014 0.45603 -0.000635581 0.0789324 0.714156 -0.280302 -0.025916 0.556437 0.272131 -0.0590085 0.00284526 0.193941 0.952311 -0.377402 0.408358 -0.010199 0.0434473 3.78808 -0.221847 -0.895996 0.0371987 -1.00384 -0.0316591 2.49483 0.335089 -0.677807 0.424125 0.114363 0.132321 -0.860853 0.0266443 6.23145 0.0949386 0.14594 -0.167951 0.0875932 0.0632625 -0.587655 -0.194351 -0.0949328 2.10461 1.86018 1.24953 -0.129979 0.272294 0.839554 -0.103748 -0.130753 -0.0937059 -0.0248588 -0.0831959 -0.167872 0.0348029 -0.127934 -0.00439845 1.27612 -9.88533 0.174818 -4.73361 -0.944358 1.01891 -4.05189 -0.293444 0.155428 -0.276568 -1.00527 -0.300926 0.251465 -0.48526 0.36369 -0.589704 0 0 0 0 0 -0.0196158 -0.141726 -0.00184974 0 0 0 0 -0.000279222 0 0.00156506 0 0 0.00232477 0.00579393 0.00659196 0 0.00102101 0.00968654 0.0234802 0 0 -0.128768 0.000326235 0 0.0139978 -0.12282 0 0 -0.0150855 0.00377046 0 0.041996 0 -0.0140405 0 0 -0.00150676 0 0 0.327615 -0.00546666 0.0405836 0 -0.0361741 -0.0440591 0 0 0.213984 0 -0.00230676 -0.250147 0.00198975 0 0 -0.00545085 0.00414701 0 0.0116693 0.0469105 -0.0172777 -1.03806 -0.0369462 0.0427675 0 -0.00799436 0.00806976 -0.160378 0.0373218 0.0426602 0 0 0 -6.0757 -0.516065 -0.582957 -0.0327688 -0.0291468 -0.0080004 -0.00184034 -0.00161434 -0.00336709 0.00281779 0 0 0 0 0 0 0.0215072 0 -0.237541 0 0 0 0 0.0770314 -0.0440698 0 0 0.260776 0 0.0338005 0 0.0222815 0 0 -0.382138 0 0.68272 0.0416965 0.128691 -0.0610036 0 0 0.257224 0 -2.53162 0 4.13251 -0.591545 0 0.350156 1.4922 0.0166288 0 -0.00535265 0 0 -0.0159366 0 -0.980187 -0.445438 0 0 -0.0774026 0 0 0.19899 1.96276 -0.156011 0 -0.248605 0 0.118082 0.030266 0.0190293 0.63584 -0.0649776 -0.571589 0.310298 0.204934 0.734202 5.78698 0.0340508 0 0 0 -0.298868 -0.0954391 0 0 0 0 0.263024 -12.5716 -0.839605 -1.60426 -1.46405 1.05611 -1.4993 -0.168113 0.140251 -0.129643 -0.0881734 0 0 0 0 0 0 -250 0 -0.596487 -0.263589 0.0874824 0.249556 -0.278107 -0.0908482 0.265473 2.47281 0.421479 -1.6274 0.363651 0.333679 -0.0206767 -0.210921 -0.0423608 0.24016 1.06361 -0.225681 -0.107502 -3.07423 -0.0357741 0.430051 0.0213243 -0.376117 0.582311 -0.227861 -0.0138971 -0.348464 -2.15726 0.241799 0.109809 -0.22109 1.26303 0.343056 0.148835 0.0626191 -0.0509001 5.33093 1.05501 -1.10512 -0.12787 1.43106 0.185472 -1.5516 -0.766136 -0.279584 -0.895421 -0.37298 -0.541937 0.450662 -0.372471 3.33962 0.337562 -0.399298 0.317128 1.62341 0.140564 -0.118907 0.495022 0.301609 0.96153 1.83403 -0.324027 -0.68891 -0.363467 1.08694 0.104653 -0.0864803 -0.141555 0.758911 -0.426902 0.55995 -0.0515396 1.57107 0.0728253 -0.658414 -16.7434 2.14328 -8.35952 -0.695664 0.326008 -3.01608 0.824962 -0.60332 1.31467 -1.48584 0.688026 -0.820913 1.79876 -2.1207 4.67475 0 0 0 0 0 0.0874824 0.249556 0.000754205 0 0 0 0 -0.000443355 0 -0.00439708 0 0 -0.0010461 -0.00432641 0.00130047 0 0.000421032 -0.0733665 -0.0465079 0 0 -0.046019 -0.000245844 0 -0.0271527 -0.415245 0 0 -0.00894446 -0.146905 0 0.0255395 0 0.0328835 0 0 0.00299543 0 0 0.0573813 -0.00807458 -0.016439 0 0.0179682 -0.0102491 0 0 0.0324931 0 -0.00438906 -0.193071 -0.00431855 0 0 0.00266507 -0.00555444 0 -0.00190819 0.055099 0.0140372 0.627979 -0.0475693 -0.0291876 0 0.00458101 -0.0102372 0.209834 0.00640662 -0.10541 0 0 0 2.24073 0.215255 0.294551 0.0141349 0.0128946 0.0176779 0.000676085 0.000589593 0.00143412 0.0146135 0 0 0 0 0 0 -0.278107 0 -0.0908482 0 0 0 0 0.520753 0.870905 0 0 -1.04187 0 -0.139335 0 0.0353924 0 0 -0.836614 0 0.674254 0.18625 -0.45787 -0.0984772 0 0 0.270461 0 -2.0742 0 3.1911 0.574893 0 1.40688 1.33337 -0.0623338 0 0.0704105 0 0 0.10491 0 0.260569 -2.13763 0 0 -0.246921 0 0 0.0529088 -1.52815 -0.348818 0 1.74923 0 -0.545897 -0.174955 0.210465 0.558528 0.030841 -0.512489 0.191211 -0.18873 -0.946119 2.86921 -0.191488 0 0 0 -0.124516 0.307563 0 0 0 0 0.0280393 -7.3103 3.43074 -4.87875 -0.852241 0.807549 -1.37119 0.674498 -0.489765 0.429388 -0.627709 0 0 0 0 0 0 -251 0 0 0 0 0 0.0181512 -0.264104 0.642329 2.01104 0 0 0.0306374 -0.770399 0 -0.495419 0.0151095 0 0 0 -0.0361999 -4.02414 0 0 0 0 0.510051 0 0 0.312902 2.19038 -0.364653 0 0.250457 0 0 0.217097 0.00214117 0 0 -0.415473 -1.81174 0 0 -0.0479464 -2.02005 0 -0.890332 0.573337 -0.0222368 0.0973771 -1.94927 0.223766 0 0.0641813 -0.129368 0.308992 -2.01395 -0.748046 -1.34355 0 0 -0.784841 2.92719 0 -1.08149 0.0116287 -1.45397 0 0 0 0 0.378494 -0.22768 0 -0.563604 -0.966071 0 0 0 -4.73592 0 0.545757 -5.32462 0 0.191012 -1.02227 -6.58236 0 0.385531 -1.44703 1.98757 -9.82344 0 0 0 0.101029 0.0029169 0 0 0 -0.0144844 0.00366164 0 -0.00116491 0 -0.000260364 0.00816108 0 0 0 0 0.0917139 0 0.00457878 0 0.151375 0 -0.142062 -0.0942476 0 0.000216261 0 0 -0.0090668 -0.000282574 -0.00433736 0 0.000368056 0 0.000264247 -0.00169375 0.00185425 -0.00387411 0.000236876 0 -1.89168e-05 0 0 0 2.67122e-05 0 0 0.000834347 0.000355595 -0.0739966 -0.00401917 0 0 -0.00246402 0 -0.000483491 0 0 -0.004737 0.00366811 -0.000287035 0.0037357 0 0 -0.0443034 -0.00435082 0.000231085 -0.00286954 0.0740497 0 -0.00200071 -0.000493473 -1.56647e-07 0 0 0 -0.226572 0 0.00829174 0.00314715 0 -0.000700487 0.00126192 -0.0307233 0 0.000387463 -0.00068158 0.00288775 -0.00420406 0 0.0181512 0.101029 -0.264104 0.0029169 -0.101339 -0.081748 -0.0100363 0.589572 0.36135 0.00121209 0.00455906 0.362126 8.12565e-05 0.0178487 -0.00128528 0.0104471 0.0030477 0.0141289 0.248644 -0.565695 0.102334 0.350123 0.0837701 0.0465686 -0.0140361 0.203566 0.160031 0.003978 3.8382 -0.240156 1.91148 -0.143054 -0.000100135 0.847499 0.548983 0.00422757 -0.00259846 0.143913 -0.0262213 0.949683 0.0191354 0.0323486 0.737357 0.235629 0.00240233 -0.0273714 0.150334 -0.0152371 -0.0136395 0.0281291 1.85759 0.479275 -0.02969 -0.40422 0.00610253 -0.538585 -0.0137805 -0.0438544 -0.0755975 -0.0586917 0.592123 0.078855 0.153945 -0.0711819 1.46912 -0.024398 -0.796739 -0.0221754 -0.163546 -0.362219 -0.033852 0.0687454 -0.00639704 -0.104082 0.0524664 -0.0387533 -15.4768 -1.96267 -3.56461 -0.144579 0.930193 -5.38054 -0.020225 0.238774 -0.913234 -0.798108 -0.00129176 0.146558 -0.397652 0.419207 -1.36446 0 -252 0 0 0 0 0 0.416611 -0.0322213 -0.567782 -1.84752 0 0 -0.180512 -0.319392 0 -0.247195 -0.032251 0 0 0 -0.161829 6.57552 0 0 0 0 -0.0162663 0 0 0.477918 -5.06048 -0.505001 0 -0.12537 0 0 0.0820646 -0.0328575 0 0 -0.0121371 0.268831 0 0 -0.0778889 2.05559 0 -0.988137 -0.423496 -0.261366 0.100286 -0.803455 -0.043166 0 0.205412 -0.0402105 -0.353551 1.28633 0.494713 0.386897 0 0 0.338517 -0.997495 0 -1.50493 -0.324114 -0.352668 0 0 0 0 -0.146498 -0.598212 0 -0.175324 0.968381 0 0 0 4.09603 0 0.402261 8.3374 0 0.100355 0.623161 6.77263 0 0.355367 -0.0110818 0.383057 13.8111 0 0 0 -0.100049 -0.00599664 0 0 0 0.00212959 0.0117123 0 -0.000302955 0 0.000540941 0.00708028 0 0 0 0 0.00462644 0 0.00191527 0 0.0562216 0 0.0426606 0.0524816 0 -2.25366e-05 0 0 -0.0113926 0.000801047 0.000287522 0 0.00154191 0 0.000867583 -0.00805737 0.000263458 0.0107254 -0.00113829 0 3.94935e-05 0 0 0 0.000112128 0 0 -0.00281737 0.00250733 -0.00722016 0.0150358 0 0 0.00110213 0 -0.000458589 0 0 -0.00994865 -0.0149489 0.0201284 0.00934572 0 0 0.00268462 -0.00345117 -0.00543396 0.00700018 -0.0422414 0 -0.0211947 -0.00147754 0.0517434 0 0 0 -0.136551 0 -0.0246826 0.0491567 0 0.00213743 -0.00503848 -0.0110947 0 -0.00114604 0.00230992 -0.00911578 0.0178249 0 0.416611 -0.100049 -0.0322213 -0.00599664 0.897349 0.278446 -0.0444114 0.0757659 -0.283638 0.00231586 0.00845717 0.265367 0.000143502 0.0185786 -0.00288743 -0.00335507 0.0137841 0.037893 0.795393 1.99874 0.331873 -0.204695 0.129641 0.129447 0.0946549 -0.385112 -0.123227 0.0299325 -0.197447 0.165291 3.55766 -0.617011 -0.000185433 -0.131616 1.21647 0.00814694 0.00191927 -0.060756 0.0249697 -2.16319 -0.010545 -0.0603435 -0.302927 2.05467 0.0013853 0.0178578 0.294409 0.2422 0.0913402 0.266365 -0.909763 0.136192 -0.0117285 0.139129 0.00441157 -2.32671 -0.015334 -0.247577 -0.251626 -0.424119 -0.572108 0.0923198 -0.0989143 -0.351276 -7.28937 0.0381415 -0.0326372 0.0697944 0.116771 0.086203 -0.0410426 -0.0291085 -0.00413371 -0.0457447 -0.150326 -0.0119956 -28.8056 -1.99866 -1.95842 -0.316039 -0.163525 3.44972 -0.0219762 0.0327095 0.153117 1.01623 -0.00346444 0.0185774 0.124751 -0.354078 3.11887 0 -253 0 0 0 0 0 0.915882 0.350563 -2.42735 -6.0866 0 0 -0.146479 0.774747 0 0.270097 -0.00107763 0 0 0 -0.0559847 0.12147 0 0 0 0 -0.803464 0 0 -0.41617 -2.07666 0.311444 0 -0.367282 0 0 -0.403289 0.0250936 0 0 -0.504072 0.424507 0 0 0.0265166 1.52021 0 0.604891 -0.682294 -0.984688 0.17836 -1.43621 0.142841 0 0.249961 -0.176561 -0.0627466 -1.11635 0.739678 0.394921 0 0 2.34409 -3.90332 0 0.152023 0.310711 2.08229 0 0 0 0 -0.305993 -1.03712 0 -3.19235 0.755601 0 0 0 15.6967 0 1.75576 7.33946 0 0.271269 1.15924 14.6664 0 -0.450541 1.97319 -0.216778 13.6548 0 0 0 0.194229 0.0180915 0 0 0 0.0302591 -0.0377413 0 0.00344376 0 0.00119034 -0.0331249 0 0 0 0 -0.137841 0 -0.0128348 0 -0.350419 0 0.251377 0.14921 0 -0.00121739 0 0 -0.146694 0.00108784 0.0135855 0 -0.00456913 0 -0.00275858 0.00223681 -0.0146556 0.0152792 0.00111638 0 8.6226e-05 0 0 0 -0.000331942 0 0 -0.00225847 -0.00565399 0.18087 -0.00121586 0 0 -0.0169264 0 0.0036397 0 0 0.00647149 -0.00209211 -0.0504086 -0.0215502 0 0 0.125542 0.0223752 0.00931158 0.0863008 -0.00694877 0 0.10676 0.00266033 -0.0739351 0 0 0 0.707405 0 -0.0287209 0.276194 0 0.00230594 -0.022051 0.185876 0 -0.00135902 0.012946 -0.0302713 0.107475 0 0.915882 0.194229 0.350563 0.0180915 0.142107 -0.0481362 0.145086 -0.548598 -0.271313 -0.00818704 -0.0280189 -0.352309 -0.000563134 -0.0362475 0.0106131 -0.0212677 -0.0271334 -0.111478 -0.670007 -0.725246 0.358225 -0.601648 -0.0804346 -0.118935 -0.187993 -0.133829 -0.371595 -0.0191066 -7.11441 -0.132895 2.09959 0.218014 0.000733625 -2.55809 1.27093 -0.00958593 -0.00237167 -0.164447 -0.0112147 -0.615663 -0.00781887 -0.0221785 -2.02729 -1.72688 -0.00485953 -0.0217344 -0.364761 -0.127865 -0.01277 0.319448 -1.35598 -0.253087 0.0497201 0.906178 -0.0178907 1.14427 0.0209391 0.10707 0.217044 0.375833 -0.041345 -0.0248428 0.0335698 0.236172 3.0433 -0.0608104 0.461926 -0.0959886 0.108436 0.152654 0.0920619 0.0871816 0.0162344 -0.262808 0.0205225 -0.00106692 -16.9999 0.88077 7.55032 0.355327 0.640094 0.664912 0.0450694 0.0976893 0.552252 2.39934 0.0101921 0.0669835 0.237242 0.0419831 1.26787 0 -254 0 -0.782463 -0.603832 -0.00256973 0.0719372 -0.0935438 -0.172201 0.148989 1.4144 -0.0182564 0.0919456 -0.138438 0.421756 0.00087685 -0.461435 -0.0209872 -0.839859 -3.14184 -0.0247123 -0.0286679 -0.43574 -0.0132059 0.521063 -0.000732007 0.0234985 0.582935 -0.576796 -0.0107955 0.267857 0.825346 0.087169 -0.00567921 -0.345754 1.78577 0.0172301 0.223221 -0.0132397 -0.0655828 7.86204 -0.183033 -0.350517 0.0105573 -0.130226 -0.0186398 -1.08229 0.121186 -0.341685 0.509979 -0.511792 0.135983 -1.25879 0.340263 -2.73882 0.111778 -0.0204803 0.197217 -0.396777 0.395702 0.455976 -0.0414527 -0.0360988 1.48873 -0.671207 -0.774738 -0.551591 0.658046 0.976257 0.368845 -0.224227 0.00764048 0.522532 0.218084 -0.268805 0.148847 -1.06194 -0.276427 -0.579209 -41.2475 -5.31455 -10.6594 -4.50551 4.55289 -20.5848 0.289368 -0.346845 -0.583746 -5.67389 -0.0376467 0.0726214 -0.49597 0.856432 -5.00946 0 0 0 0 0 -0.00256973 0.0719372 0.00101792 0 0 0 0 0.000153487 0 0.00153486 0 0 -0.000112071 -0.00016526 0.000553574 0 0.000176844 0.000366704 -0.00759842 0 0 -0.148893 -1.18953e-05 0 0.0175576 -0.35829 0 0 -0.0209965 -0.00869462 0 0.11842 0 -0.0119169 0 0 -0.00157434 0 0 0.397122 0.00211615 -0.00155221 0 0.014128 0.0146633 0 0 -0.105914 0 0.00246372 -0.211247 -0.00390393 0 0 0.000849612 -0.000947395 0 0.00123591 0.00338573 -0.00143694 0.143287 -0.00267877 -0.00604942 0 -0.00492099 0.00716033 -0.0548279 0.0127802 -0.00777159 0 0 0 -1.43757 0.0549909 -0.12266 -0.0264554 0.0505133 -0.11391 0.000316139 -0.000612319 0.00121857 -0.00152952 0 0 0 0 0 0 -0.0935438 0 -0.172201 0 0 0 0 -0.0598833 -0.224526 0 0 -0.272886 0 -0.0203093 0 -0.0021617 0 0 -0.441937 0 0.932015 0.0646978 -0.00179244 -0.0417996 0 0 -0.0824037 0 -7.22392 0 3.8379 -0.199613 0 0.507486 1.79455 0.000770398 0 -0.0116385 0 0 -0.00528499 0 -1.5789 -1.3641 0 0 -0.137492 0 0 -0.192287 -2.73446 -0.191371 0 -0.129766 0 1.08811 0.0366582 0.0170732 0.00274727 -0.0364602 -1.37585 -0.393759 -0.0644624 -0.544302 -1.27202 -0.0387447 0 0 0 -0.0645555 0.0260379 0 0 0 0 0.0325503 -26.2835 -0.437796 -3.17557 -0.65963 0.819616 -3.16063 0.145233 -0.12197 0.137061 -0.352741 0 0 0 0 0 0 -255 0 1.29247 0.358311 -0.00850213 -0.126841 0.489619 0.369846 -1.28305 -3.98419 -0.0857509 0.444334 0.173725 0.535096 0.000554127 1.00915 0.0135958 -0.278821 0.149682 0.0461763 0.029916 -0.666109 -0.00914148 -0.369737 -0.000504397 -0.0130623 -0.890049 0.0879842 -0.0161123 -0.725092 -1.83657 0.365442 -0.00634557 0.146223 -1.13107 -0.0167745 -0.432353 0.0127107 -0.110921 -5.32046 0.206099 0.360961 0.00748858 -0.0504562 0.0165543 2.32856 0.103149 0.591645 -1.18052 0.310874 -0.0118857 0.755661 -0.436528 -0.322279 -0.0410463 0.0758183 -0.14002 -2.48532 0.121778 -0.121319 -0.0236865 -0.0246602 -1.18989 -0.128804 -1.24163 -0.184865 -0.277125 0.565629 -0.396801 0.156863 0.0220907 -0.46068 -0.253585 0.105949 0.183913 -2.07037 0.681373 0.908753 25.3858 0.469695 15.2026 1.03108 -1.87588 16.0104 -0.0804993 -0.00189724 -0.699992 11.9173 -0.0320433 0.00560164 -0.0277664 -1.29518 11.1471 0 0 0 0 0 -0.00850213 -0.126841 -0.00114067 0 0 0 0 -5.64569e-05 0 0.00186453 0 0 0.0015957 0.00204632 -0.00273287 0 -9.81179e-05 0.00170708 -0.0229184 0 0 0.14044 0.000152603 0 -0.00603232 0.413052 0 0 0.0202642 0.0476304 0 -0.0529031 0 0.00754783 0 0 0.00119908 0 0 -0.105051 -0.000816582 0.0209098 0 -0.0163834 -0.00157854 0 0 -0.00897147 0 0.000359339 0.0480246 -0.00400307 0 0 -0.00592747 0.00404603 0 0.00612136 0.0239526 0.0192159 -0.371548 -0.0451766 -0.0102617 0 -0.0144592 0.0156149 -0.0010668 -0.0265884 0.110611 0 0 0 0.172757 -0.0625544 0.0995728 0.00645643 -0.0119351 0.0283767 -0.00262555 0.00504182 -0.0104909 0.0172531 0 0 0 0 0 0 0.489619 0 0.369846 0 0 0 0 0.0130913 0.262498 0 0 0.0576875 0 0.0132008 0 0.0092238 0 0 -0.327494 0 -0.221034 -0.126039 -0.0933398 -0.0600741 0 0 0.147594 0 2.32841 0 -3.62911 0.326821 0 -1.19712 -0.733732 -0.00374033 0 0.0151888 0 0 0.0157412 0 0.376109 0.454498 0 0 0.0229527 0 0 -0.395123 -2.48991 -0.286059 0 -1.24005 0 -0.664869 0.0598936 -0.10098 -0.163364 0.13958 -0.348559 -0.257983 -0.0860836 0.699453 -0.577949 -0.0978793 0 0 0 0.0973776 -0.0201128 0 0 0 0 0.012943 31.407 1.1339 6.92853 0.336642 -0.431672 3.41974 -0.0334631 0.0282985 -0.00710551 0.871118 0 0 0 0 0 0 -256 0 1.52726 0.178146 0.0418614 0.302628 -0.031206 -0.203226 1.8 2.1327 0.39241 -1.37799 0.220822 -0.478404 -0.00338461 -0.487512 0.0265842 -0.120721 0.493721 -0.0283699 0.0241435 -1.21577 0.0548291 0.0320267 0.00410543 -0.120916 0.43978 -0.211955 0.0919257 0.492143 1.38793 -0.21919 0.0416257 0.409525 -0.911257 0.2429 0.379034 0.02604 0.279723 -8.86098 0.497193 -0.743974 -0.034958 0.974285 0.0504934 -2.00905 -0.339693 -0.468219 0.920842 0.479143 -0.190331 0.106717 -1.00903 -1.05749 -0.039833 0.101294 -0.389779 -2.55979 0.120264 -0.47481 0.461762 0.0940625 -4.86918 0.239802 0.921423 -2.34313 -0.207651 -2.70444 1.39155 0.34771 -0.0954763 0.66979 -0.560405 0.380821 -0.216532 -1.7511 -1.45609 0.602641 50.1861 10.6947 -0.171988 5.96595 -5.52587 12.158 0.252197 -0.534312 3.04872 -8.1861 0.105526 -0.201099 0.815308 -1.00274 -8.42406 0 0 0 0 0 0.0418614 0.302628 -0.00136516 0 0 0 0 -0.000588725 0 -0.00983664 0 0 4.66424e-05 -0.000493331 -0.00802187 0 -0.000836013 0.00795479 -0.0689789 0 0 0.056413 -4.02042e-05 0 -0.0366577 0.265388 0 0 0.00545193 0.0042228 0 -0.171244 0 0.017068 0 0 0.00167081 0 0 -0.724069 -0.00805337 0.00187246 0 -0.0176158 -0.0380157 0 0 0.221783 0 -0.0104625 0.386089 0.0200592 0 0 0.00199482 -0.00250591 0 -0.0116583 -0.0367508 -0.0141681 0.129388 0.00762181 0.0262163 0 0.014809 -0.0351109 -0.0255314 0.0238172 0.0379203 0 0 0 3.05726 -0.1174 0.431945 0.0679197 -0.12977 0.27966 0.000277981 -0.000555978 0.000921834 0.0215632 0 0 0 0 0 0 -0.031206 0 -0.203226 0 0 0 0 -0.506659 0.532574 0 0 -0.512932 0 -0.0612878 0 0.0124067 0 0 -0.07908 0 -0.531159 -0.0491742 -0.0745555 -0.0324396 0 0 0.221856 0 2.64084 0 -7.86573 -0.439065 0 -0.540202 -2.37274 -0.0101238 0 -0.0606849 0 0 0.041725 0 0.184133 -0.50866 0 0 -0.111489 0 0 -0.283751 1.62021 -0.739931 0 -0.98495 0 -1.98174 -0.00527915 0.0769152 0.49411 -0.0188993 0.146038 0.829326 -0.239218 -0.302786 -8.66868 -0.0701384 0 0 0 0.0911833 0.150555 0 0 0 0 -0.0607264 61.2388 5.17144 5.9796 1.54797 -1.49729 6.52566 0.255429 -0.236369 0.469192 0.530051 0 0 0 0 0 0 -257 0 0.0310395 0.182619 0.00280282 0.0341236 0.0860848 0.213491 -0.278863 -0.543675 0.0229862 -0.228919 0.0450138 -0.431441 -8.14888e-05 -0.862471 -0.00649457 -0.282814 -3.1823 -0.0139878 -0.00736097 2.26978 0.00420968 -0.36271 0.000104936 0.00374881 -0.368488 0.33227 0.00815141 -0.681013 -1.42554 -0.0674666 0.00160368 -0.112758 -0.444605 -0.0601148 -0.364481 0.00235431 0.0903324 -0.516643 0.096937 1.60171 -0.00126606 -0.0723434 0.00510405 -2.43507 -0.0186057 0.931112 -0.825152 -0.115607 -0.0133741 0.608295 -0.33955 -1.95744 0.0127135 -0.0124771 -0.0581047 -0.639101 -0.469402 -0.0647875 0.0590755 0.00279902 0.323519 -2.43822 0.443308 -0.00540291 -0.0687925 0.459436 0.233907 -0.0124431 -0.00295932 -0.0484414 -0.0966576 -0.0825675 0.0387268 0.670975 0.661705 -0.211642 4.75944 1.11565 2.22607 0.277707 -0.635055 5.51125 0.0979066 -0.250052 0.744925 1.85981 0.00167148 -0.00489678 0.0824585 -0.137566 2.82347 0 0 0 0 0 0.00280282 0.0341236 -0.000541412 0 0 0 0 -5.50107e-05 0 -0.000870485 0 0 -6.20235e-05 1.98957e-05 -0.000934644 0 -6.62281e-05 0.00184005 -0.012823 0 0 0.0119515 1.42803e-06 0 -0.00258698 0.0843112 0 0 -0.000392691 0.0197338 0 -0.0105745 0 0.00181403 0 0 0.000132479 0 0 -0.0774439 -0.000757453 -0.000806807 0 -0.00742398 -0.00582813 0 0 0.025555 0 -0.00134837 0.0554293 0.00226506 0 0 0.000185405 0.000750359 0 -0.00195825 -0.00366954 -0.00197542 -0.00996584 -0.00287599 0.00381473 0 7.30047e-05 -0.00196143 -0.0204669 0.00769318 0.0198028 0 0 0 0.328871 -0.0119323 0.0605303 0.00768947 -0.0146781 0.0314741 8.8872e-05 -0.000170123 0.000359685 0.00477491 0 0 0 0 0 0 0.0860848 0 0.213491 0 0 0 0 0.232276 -0.0777432 0 0 -0.393277 0 -0.0468383 0 -0.000470929 0 0 0.0634485 0 -0.771516 0.0652941 -0.0899888 0.00645759 0 0 -0.00929072 0 -0.444554 0 -1.22713 0.165116 0 0.380506 -0.709103 -0.0093464 0 0.0264872 0 0 -0.0176066 0 -0.0847049 -0.0128565 0 0 0.0233751 0 0 -0.110849 1.00181 -0.00539004 0 -0.218506 0 -0.226307 -0.111616 0.131571 0.359207 -0.120833 -0.0218948 0.30667 -0.0599111 -0.925835 -9.0383 0.0329871 0 0 0 -0.0577103 0.0908168 0 0 0 0 0.0167783 15.7866 2.50533 0.0635172 0.468183 -0.272357 2.04403 0.217727 -0.18283 0.348547 -0.360151 0 0 0 0 0 0 -258 0 0.377832 0.184146 -0.00439692 -0.0613918 0.357311 0.174723 0.099429 -0.764201 -0.038949 -0.00450075 -0.0207365 0.85173 0.000127637 1.17653 0.00227767 0.964349 5.0252 -0.0103283 0.0110741 -0.439358 -0.0152067 0.194231 -0.000163912 -0.079515 -0.15002 -0.0309263 -0.00658831 0.128239 1.18255 0.444694 -0.00258375 0.0297831 0.104594 0.0388861 0.0876809 -0.00100783 -0.0759499 -0.987706 0.00155206 0.329255 0.00207805 0.081688 0.000320425 2.72981 0.0327944 0.537985 0.446022 0.180306 0.000760156 2.58008 -0.188486 3.51829 -0.0190057 0.0199727 0.0560994 -0.978717 0.276509 0.100997 0.0871708 -0.0048714 0.531182 0.422409 0.177387 1.63867 -0.223762 0.414889 -0.0986378 -0.0303529 0.00501306 -0.107428 0.0747435 0.100535 0.121949 -1.19245 0.127205 0.817513 0.967315 -0.502357 3.00068 -0.152751 -0.00450833 -0.946519 0.574504 -0.598168 -0.208392 1.84504 -0.00294614 0.000886541 -0.0855951 0.0329451 -2.3422 0 0 0 0 0 -0.00439692 -0.0613918 0.00115408 0 0 0 0 0.00010778 0 -0.000907726 0 0 0.000890415 0.000546947 -0.000460421 0 -4.08105e-05 -0.00216985 -0.014759 0 0 -0.0136801 3.97692e-05 0 0.00438975 0.0330384 0 0 -0.000523722 -0.0172999 0 0.0169741 0 -0.00285206 0 0 -0.000288355 0 0 0.119289 0.00148389 0.0121096 0 0.0158041 0.0163616 0 0 -0.0418294 0 0.00308047 -0.0422729 -0.00712292 0 0 -0.00197824 -0.00139687 0 0.00404838 0.00820787 0.00615621 -0.0994636 -0.0195206 -0.00830493 0 -0.00335769 0.0163916 -0.00675283 -0.00537479 0.0364955 0 0 0 -0.533214 -0.00249729 -0.0249572 -0.0124102 0.0237202 -0.0505332 -0.0011875 0.00226595 -0.00486752 0.00669089 0 0 0 0 0 0 0.357311 0 0.174723 0 0 0 0 -0.827717 0.17216 0 0 0.165459 0 0.0160251 0 0.00251335 0 0 -0.0506569 0 -0.0205169 -0.231136 0.0724254 0.0196657 0 0 0.0570445 0 1.89722 0 -2.70401 0.280529 0 -1.74303 -0.686051 0.00445521 0 -0.111161 0 0 0.0165281 0 0.469658 0.38251 0 0 0.08253 0 0 0.0849735 -1.72226 0.44852 0 1.0053 0 1.13847 0.0783028 -0.211513 -0.416247 0.0305589 -0.288537 -0.378436 -0.1352 0.24111 7.79842 -0.0016611 0 0 0 -0.0415243 -0.0104115 0 0 0 0 0.0260954 19.9174 -0.423032 8.23928 0.0778286 -0.256613 2.1528 0.0890957 -0.0902026 -0.173722 1.49011 0 0 0 0 0 0 -259 0 1.83649 0.497033 0.0191048 0.216804 -0.0343152 -0.00881814 1.23664 1.60936 0.150876 -0.354036 0.129272 -0.273654 -0.000555851 -0.619275 -0.00948095 0.830968 5.96745 -0.0207662 -0.0213086 -0.659886 0.0265502 -0.176937 0.00071669 0.070611 0.110269 0.150997 -0.00625819 0.115374 0.551271 -0.322967 0.0107946 -0.0908396 -0.992752 -0.158583 0.126754 0.00688858 -0.0849003 -7.30025 0.287269 -0.596106 -0.00844516 -0.470858 0.0160123 0.317044 -0.119576 -0.517665 0.213809 -0.21322 -0.0423889 0.29219 -0.473728 -0.0649023 0.0393123 -0.0386077 0.011134 -0.424455 0.321857 0.0181499 0.0659757 0.0181137 -0.710945 0.500512 2.63374 1.98544 0.402413 0.0541255 -0.179513 -0.188162 -0.019427 0.0134951 -0.42556 0.019409 0.135495 -0.811863 0.25091 1.27775 36.8433 5.7875 1.22679 4.26453 -3.92116 11.3119 -0.760978 0.435326 0.404594 -0.523356 0.0107423 -0.0163904 0.0936562 -0.268413 -1.09187 0 0 0 0 0 0.0191048 0.216804 -0.00318089 0 0 0 0 -0.000332142 0 -0.00725633 0 0 0.0011355 0.00129552 -0.00517989 0 -0.000572565 -0.0030029 -0.0607905 0 0 0.15828 9.40174e-05 0 -0.0281079 0.211783 0 0 0.0228449 -0.0152305 0 -0.18111 0 0.0157755 0 0 0.00218577 0 0 -0.726154 -0.00457379 0.0157858 0 -0.0437144 -0.0395551 0 0 0.181093 0 -0.00727033 0.36574 0.0122618 0 0 -0.00218694 0.0048948 0 -0.00592764 -0.0310739 0.00197853 0.0792062 -0.0177066 0.0169908 0 0.00412335 -0.0213624 -0.0297513 0.0153175 0.0726569 0 0 0 3.00355 -0.156891 0.442136 0.070399 -0.134289 0.288945 -0.00148618 0.00283246 -0.00612094 0.0231106 0 0 0 0 0 0 -0.0343152 0 -0.00881814 0 0 0 0 -0.0546906 -0.0118383 0 0 -0.468744 0 -0.0430618 0 -0.00549995 0 0 0.943207 0 -0.681374 0.0168652 -0.139636 0.143394 0 0 0.0762029 0 12.4091 0 -8.88087 0.647925 0 -0.172591 -2.60749 -0.00917854 0 0.00728398 0 0 -0.028507 0 3.715 2.07511 0 0 0.305877 0 0 -0.0521207 2.4687 0.154219 0 -0.370946 0 0.0992157 -0.198982 0.170122 0.50398 0.102734 -0.374922 0.0552789 -0.156735 0.443297 2.91045 -0.130418 0 0 0 -0.0340988 0.0983945 0 0 0 0 0.0549856 65.2001 4.88649 4.99808 1.47092 -1.51725 6.74204 0.113083 -0.114427 0.376865 0.221191 0 0 0 0 0 0 -260 0 0 0 0 0 0.68805 0.378693 -2.37319 -7.34661 0 0 0.149715 0.797972 0 1.12755 -0.0507609 0 0 0 -0.0241995 5.90836 0 0 0 0 -1.15251 0 0 -0.42258 -7.64237 0.0917408 0 0.0419408 0 0 -0.385093 0.0291655 0 0 -0.300313 1.62734 0 0 -0.0703341 5.64995 0 0.438381 -1.89411 0.476477 0.188897 -5.09135 -0.106305 0 0.349243 -0.0712728 -1.12134 -1.2269 0.148596 -0.257713 0 0 2.19727 -0.549211 0 -2.22872 0.492928 1.77964 0 0 0 0 -0.663672 -1.1963 0 -0.747398 2.49376 0 0 0 16.8725 0 1.54323 14.5312 0 0.759727 2.03968 22.8595 0 -0.0713188 4.62866 -2.78862 29.3541 0 0 0 0.0205373 0.0374084 0 0 0 0.0625334 0.0738784 0 0.0123222 0 0.0140567 -0.119562 0 0 0 0 -0.185146 0 -0.0512173 0 -0.604334 0 0.379498 0.906607 0 -0.0114775 0 0 -0.620623 0.00328773 0.0986804 0 0.00940062 0 0.00484707 0.155872 -0.0875597 0.0417709 -0.00822107 0 0.00104214 0 0 0 0.000640735 0 0 -0.0090214 0.00569874 0.128093 -0.00126453 0 0 -0.0350852 0 -0.00974637 0 0 0.0478128 -0.0457874 0.197593 -0.00479162 0 0 -0.0255761 -0.0372489 -0.00784559 -0.295039 0.228021 0 -0.232335 -0.0251631 -0.19419 0 0 0 1.73781 0 -0.0573345 1.82538 0 0.0112389 0.0316479 0.703292 0 -0.00471518 0.0381335 -0.0838768 0.946955 0 0.68805 0.0205373 0.378693 0.0374084 0.852319 0.186379 0.273349 0.529217 1.56336 -0.0677056 -0.0345059 -0.552324 -0.0141423 -0.0858213 0.0770678 0.140976 -0.0333847 -0.280883 -0.151084 1.49277 0.631377 -0.0745836 -0.30655 -0.0374957 0.047646 -0.0877035 0.772646 0.0354137 1.57747 -0.0500098 6.40089 0.397258 0.0175724 0.287029 2.05681 -0.0455969 0.00433487 0.0456274 0.00275793 -0.544035 0.294883 -0.01431 0.56235 1.59182 -0.0102422 0.0134775 0.152351 0.228989 -8.41797e-05 0.473107 3.81191 -1.04989 0.0263523 0.647379 -0.134493 1.48595 0.706453 -0.390356 0.134148 0.417202 0.41887 -0.0420972 -0.502082 -0.937178 -1.20818 -0.0155731 0.766459 -0.103923 -0.0624512 0.103197 0.0832044 -0.0593692 0.154588 -0.385652 0.0173532 -0.248257 -60.9388 -1.81087 -7.77665 -1.13398 1.3645 -5.62603 0.408059 -0.0415675 0.628485 0.0924715 0.216867 -0.000912153 0.281789 0.125823 0.700853 0 -261 0 0 0 0 0 0.0167241 0.144709 0.491483 2.42723 0 0 0.435369 2.37192 0 5.12821 0.416658 0 0 0 0.835921 -5.00823 0 0 0 0 0.710995 0 0 -0.71571 -1.65085 1.41175 0 1.49147 0 0 0.189011 0.115658 0 0 1.79322 -0.611905 0 0 0.484104 7.22946 0 0.389392 -1.16978 2.5487 -0.899313 3.46079 -0.456983 0 -0.735405 1.25055 -0.249908 -6.50057 -2.07582 -0.954941 0 0 0.202883 1.71051 0 -2.34304 -1.92595 1.29059 0 0 0 0 0.623051 1.55342 0 -1.90284 3.03396 0 0 0 -5.97117 0 -3.71813 6.25809 0 -1.53476 1.15608 0.560425 0 -1.86124 0.600597 -2.6839 10.7467 0 0 0 -0.0926188 -0.057447 0 0 0 -0.103414 0.0643917 0 -0.0200191 0 -0.00970971 0.119398 0 0 0 0 0.133437 0 0.0580503 0 0.303102 0 -0.58288 -0.0989186 0 0.00654294 0 0 0.090391 0.00149155 -0.00272136 0 0.0105572 0 0.0049641 0.0299087 0.0318023 0.0193429 0.0288265 0 -0.000703394 0 0 0 0.000784607 0 0 -0.00320049 0.0117082 -0.302833 0.0131177 0 0 -0.0036014 0 -0.00557721 0 0 0.00551471 -0.0145976 -0.021678 0.0339601 0 0 -0.0700044 0.04266 0.0112457 0.0672845 -0.0479855 0 0.112384 -0.00671782 -0.0354028 0 0 0 -0.802379 0 0.00797408 -0.52488 0 0.00260135 -0.036608 -0.23046 0 -0.00173311 -0.0002881 0.0119075 -0.310344 0 0.0167241 -0.0926188 0.144709 -0.057447 -0.411745 -0.0260388 -0.548577 0.41954 -0.185924 0.0801754 -0.0215083 0.661062 0.0167948 0.17738 -0.110964 -0.01664 0.0122154 0.339167 -1.698 -0.963568 0.511808 -0.0207808 0.327581 -0.193281 -0.0626929 -0.0102818 0.163766 -0.00801626 0.990234 -0.0374596 3.32102 0.80894 -0.0222881 -0.0327702 1.67206 0.0832497 -0.00250947 0.0276543 -0.00634578 -0.258868 -0.129384 0.000709613 1.20077 -3.72773 -0.000610431 -0.0190914 -0.428186 -0.0888992 -0.107334 -0.491048 0.465265 0.567132 -0.0797026 1.88877 0.180124 1.80005 -0.521432 0.42035 -0.388101 0.330878 0.390563 -0.921998 0.118288 -1.03586 -10.8453 0.254998 0.123969 0.122901 0.0992962 -0.0531797 -0.423269 0.00457619 -0.16603 0.179414 0.0170383 0.321012 -31.6173 -5.45043 -2.71204 -2.89657 0.714729 -2.29772 -0.490467 0.0697954 -0.489327 0.181289 -0.261869 0.0258208 -0.275977 -0.0121454 0.716466 0 -262 0 0 0 0 0 0.23002 0.269164 0.409209 0.222344 0 0 0.108232 0.158113 0 0.608377 0.0452219 0 0 0 -0.134294 -8.39174 0 0 0 0 -0.303584 0 0 -0.762286 4.49096 0.462871 0 0.590971 0 0 -0.103397 0.061602 0 0 -1.0884 -1.64154 0 0 -0.181431 -0.763792 0 0.298325 -0.00100921 0.766583 -0.0185213 2.19449 -0.0669431 0 0.301611 -0.369101 0.644867 -2.98019 -1.29194 -0.772079 0 0 -0.0227512 5.3674 0 0.494466 -0.487089 -0.303831 0 0 0 0 0.270047 0.458414 0 3.28222 -0.959805 0 0 0 0.0520782 0 1.44907 -8.28067 0 -0.019613 -1.11969 -2.672 0 0.458417 -2.16981 5.99031 -21.3566 0 0 0 0.303236 0.0669646 0 0 0 -0.0287686 0.111888 0 0.00385144 0 0.0217246 -0.0725109 0 0 0 0 -0.0980866 0 -0.0504439 0 -0.0198163 0 -0.450672 -0.364986 0 -0.00744911 0 0 -0.117809 0.00677733 -0.0416057 0 0.0173729 0 0.00834253 -0.255985 -0.0388178 0.0959251 -0.0552676 0 0.00156515 0 0 0 0.0012822 0 0 -0.0181503 0.0120558 0.115109 0.0796151 0 0 0.0185654 0 -0.0154618 0 0 0.0208652 -0.0549159 -0.105538 0.0288433 0 0 0.192693 0.000557827 -0.00987898 0.188747 -0.223624 0 0.211707 0.00761772 -0.0816344 0 0 0 -0.338826 0 -0.188933 -0.0951257 0 0.0132154 -0.0852845 -0.0939209 0 -0.00880951 0.0217021 -0.0738754 -0.161184 0 0.23002 0.303236 0.269164 0.0669646 -0.811681 -0.231922 0.396125 -0.390922 2.8104 -0.0543255 -0.030219 0.190166 -0.0141973 -0.063239 0.0896834 0.29399 -0.0786184 -0.151423 -2.24796 -0.875323 -0.273598 0.0378166 -0.0341821 -0.270373 -0.304097 0.403084 1.52969 -0.0299956 9.13667 -0.624458 -1.5936 2.33291 0.0196895 -0.870471 -0.743302 -0.0283951 -0.0102816 -0.0372783 -0.0957116 2.40412 0.536452 0.0624834 4.56938 -4.51972 -0.00724452 -0.0748299 -0.557606 -0.151466 -0.273233 -0.792286 -2.52058 -1.00062 0.177157 5.62734 -0.139945 0.206098 0.620547 0.639472 -0.0593439 -0.395285 -1.28014 1.19197 0.12795 -4.90813 -15.4203 -0.0285975 0.329794 0.0287554 -0.2549 0.781461 0.155684 0.181207 0.0492142 0.0699417 -0.0814762 -0.830557 15.1717 0.200189 6.12529 1.33601 1.80384 -7.09249 0.0316231 0.426404 -1.33137 -0.0378581 0.116913 0.234042 -0.535998 1.05016 -4.10277 0 -263 0 1.74655 0.569372 -0.000108155 -0.045138 0.358487 0.257954 -0.592158 -3.35157 -0.00300994 -0.132836 -0.180012 -0.43993 -0.000639879 0.0371189 -0.00412306 3.38381 11.8743 0.0562215 -0.0426093 0.180934 0.043275 0.059541 0.000828019 0.0704574 -0.701041 1.11596 0.0866008 -0.127271 0.235396 -0.0490074 0.0037276 -0.0704767 -1.01025 0.449134 -0.221868 -0.0264481 0.150204 -8.88215 -0.473145 0.0712504 -0.00282491 0.816781 -0.0684049 -0.0484292 0.00243722 0.175753 0.0468414 -0.423802 0.186056 0.539205 -0.392389 -17.0349 0.0434959 -0.015828 0.049832 0.778495 0.203378 0.0801459 -0.166513 0.0131642 -2.16436 0.282819 -1.82517 1.15618 -0.149899 -2.17172 -1.13028 0.336933 -0.0111608 -0.624372 -0.341166 -0.547598 -0.000357891 0.576307 -2.08326 -1.41512 37.7985 4.70383 13.3499 4.96695 -1.66778 12.9455 -0.978836 0.637681 1.14918 5.83035 -0.000668423 0.065177 -0.0410309 1.72754 -1.69053 0 0 0 0 0 -0.000108155 -0.045138 0.00601351 0 0 0 0 0.000704965 0 -0.0508669 0 0 0.00474853 0.00822825 -0.0471865 0 -0.00608572 0.0345628 -0.400771 0 0 0.0964969 0.000600467 0 -0.0531847 1.61469 0 0 0.0109836 0.286394 0 -0.238913 0 0.00964428 0 0 0.00157804 0 0 -1.03353 0.0110833 0.0658566 0 0.0940923 -0.0149807 0 0 -0.0590224 0 0.0121258 -0.498097 -0.0299969 0 0 -0.00942457 -0.0101228 0 0.00969839 -0.0790753 0.00516042 1.00894 -0.0808437 -0.0433265 0 0.0290527 -0.0831103 0.291664 -0.0150475 -0.269308 0 0 0 6.19147 -0.0480012 1.68984 0.0689583 -0.135823 0.818333 -0.00623928 0.0104335 -0.0181891 0.321689 0 0 0 0 0 0 0.358487 0 0.257954 0 0 0 0 -0.244459 -0.81915 0 0 -0.177607 0 -0.0359661 0 -0.0602608 0 0 0.735287 0 -0.815653 -0.0930306 -0.0358705 0.0676846 0 0 -0.464827 0 5.42484 0 -6.56467 0.0686065 0 -0.876103 -2.06586 -0.00772539 0 -0.031531 0 0 -0.110627 0 0.928714 2.16045 0 0 0.228132 0 0 0.551662 -3.53439 -0.798192 0 -0.411835 0 -2.96537 -0.0817087 -0.151978 -0.333527 -0.0186084 0.770057 -0.199144 -0.0967024 1.43811 6.6217 -0.0758721 0 0 0 -0.142579 0.0772779 0 0 0 0 0.114732 55.9748 4.37227 8.55833 2.0976 -1.27598 6.76297 0.0549409 -0.0342685 0.164866 0.832262 0 0 0 0 0 0 -264 0 -0.476125 0.0347301 -0.0187796 -0.00412598 -0.118234 -0.365115 1.82997 4.18483 -0.201514 0.802004 0.156012 0.65682 0.00177751 -1.45638 -0.0137957 1.9933 7.37675 0.125627 0.0228574 -0.715301 0.00772947 0.204106 -0.00277946 0.252156 1.42684 0.201595 -0.0240055 0.7482 2.17969 -0.179322 -0.0240059 -0.110625 1.49279 -0.312137 0.664496 0.0262949 0.381763 6.23769 0.327842 -0.629373 0.0134849 0.279756 0.0513224 -0.976713 0.0786956 -0.778814 1.39421 0.244302 -0.164612 1.49449 -0.655103 -7.6711 0.0418857 0.0393168 0.00438306 -1.82609 0.0660735 -0.0149459 -0.332168 -0.0180917 -1.03321 0.405422 -3.84595 -3.2166 -1.05787 -1.13366 -0.679212 0.790024 0.0252032 -0.171306 0.366539 -0.345495 -0.128871 0.719231 -1.44519 0.505529 -32.0241 -4.72459 -16.5097 -3.74621 0.57873 -18.759 -0.593914 -0.016329 -0.957742 -17.7081 -0.0215827 -0.0354091 -0.581479 -0.912791 -15.6538 0 0 0 0 0 -0.0187796 -0.00412598 0.000723732 0 0 0 0 -0.000177779 0 0.00549947 0 0 -0.00122815 -0.00651309 0.0156444 0 0.00153522 0.0532965 0.0883046 0 0 -0.309254 -0.000459222 0 0.0498546 0.477596 0 0 -0.0550108 0.222439 0 0.148893 0 -0.0240054 0 0 -0.0049534 0 0 0.0914429 -0.00245648 -0.0206307 0 0.00959173 0.0249348 0 0 -0.337433 0 0.00158027 -0.247422 -0.0141776 0 0 0.00211303 -0.00117475 0 0.0193545 -0.0602514 -0.0140924 -0.00534879 0.0101328 -0.0229936 0 0.0039387 0.072368 0.146619 -0.0186094 -0.155106 0 0 0 -0.731573 0.239086 -0.509363 -0.0295364 0.0754845 -0.0281754 0.00139903 -0.00581195 0.0286196 -0.0741525 0 0 0 0 0 0 -0.118234 0 -0.365115 0 0 0 0 -0.418252 -0.281034 0 0 0.0516387 0 -0.0053657 0 -0.00664908 0 0 0.318404 0 0.19577 -0.02976 -0.0904854 0.028292 0 0 -0.115572 0 -2.12406 0 0.0907881 -0.567972 0 -0.0937491 -0.182279 -0.0250744 0 -0.0467549 0 0 -0.01775 0 -1.11211 -0.284243 0 0 -0.0451116 0 0 0.059361 -2.50503 -0.203727 0 0.118912 0 -1.22681 0.0550989 -0.151411 -0.0944284 0.0680384 -0.0600848 0.0848608 -0.0670285 -0.211312 0.564396 -0.0344759 0 0 0 -0.0908081 0.0339213 0 0 0 0 -0.000781694 4.01265 -0.0156742 1.73156 0.243983 0.157518 0.390896 -0.0317719 -0.000621241 -0.0307627 0.3162 0 0 0 0 0 0 -265 0 0.305573 0.207418 0.0359562 0.311094 -0.3916 -0.139657 0.62079 2.03359 0.169691 -0.0370704 0.209397 -0.689065 -0.000826324 -0.11655 -0.010683 2.64168 6.43193 0.202098 -0.031479 2.01533 0.0509762 -0.0380887 0.00145609 0.0159705 0.0857658 0.941775 0.0468688 0.165564 0.87618 -0.0529752 0.0151288 -0.0718124 0.283132 0.489783 0.014203 0.0105215 -0.0917526 1.66779 0.217139 0.525532 -0.00521279 1.02785 0.0098798 -2.13971 -0.0119367 -0.0411693 0.271849 -0.249536 0.0522404 -0.687674 0.489558 -12.8776 -0.019183 -0.0036455 -0.481119 2.08656 0.13401 0.0577421 -0.233991 -0.0184184 0.0366647 -0.835959 -2.11093 0.879839 1.19148 -0.611526 -0.93115 -0.518929 -0.00458948 -0.403992 0.184454 0.149202 0.121007 0.0807588 0.784437 -1.87698 -7.2002 -0.525253 -7.27793 -0.0844875 0.00643988 -6.81107 -0.377939 -0.172316 -0.0926724 -7.52415 0.00327371 -0.031224 -0.077286 -0.673415 -6.29242 0 0 0 0 0 0.0359562 0.311094 0.00650442 0 0 0 0 0.000585176 0 -0.000382316 0 0 0.00565137 0.00879641 0.000814846 0 7.63845e-05 -0.0487947 0.0137231 0 0 -0.278357 0.000631333 0 -0.017566 -0.642786 0 0 -0.0343071 -0.214139 0 -0.0368002 0 -0.0205493 0 0 -0.00218214 0 0 0.0637004 0.00743668 0.0787019 0 0.0851447 0.047398 0 0 -0.0553054 0 0.0134103 0.515902 -0.0188293 0 0 -0.0117325 -0.0113494 0 0.0252755 -0.0560713 0.0316403 -0.694181 -0.0343773 -0.0207212 0 0.013645 0.0881269 -0.119688 0.000816548 0.312846 0 0 0 -2.22668 -0.272226 -0.384558 0.0160603 -0.0133171 -0.384186 -0.00732076 0.0119298 -0.0233068 -0.0997196 0 0 0 0 0 0 -0.3916 0 -0.139657 0 0 0 0 0.496257 -1.21871 0 0 -1.04628 0 -0.13629 0 -0.123714 0 0 0.929803 0 -0.444416 0.1884 -0.431269 0.10562 0 0 -0.709541 0 -5.12955 0 -1.27011 -1.22531 0 1.43845 -0.670441 -0.0614516 0 0.0708153 0 0 -0.222321 0 -2.65438 1.55376 0 0 0.171799 0 0 0.46671 1.0272 0.896729 0 -3.22644 0 -0.179772 -0.321683 -0.191425 0.657079 -0.307337 -0.377503 -0.148888 0.144991 2.66437 7.3739 -0.0181841 0 0 0 -0.354848 0.120394 0 0 0 0 0.338572 12.8886 6.06974 -5.4574 1.04107 -0.394826 1.30927 0.412972 -0.277617 0.969749 -1.39336 0 0 0 0 0 0 -266 0 1.30736 0.33236 0.081335 0.0315011 0.430181 -0.101713 0.565037 0.690138 0.430214 -1.0252 -0.0212326 0.333624 -0.0561114 -0.632333 -0.00306533 -1.00127 -0.586317 -0.459501 0.0572819 -2.89407 -0.172677 -0.459371 0.0697651 -0.34791 0.525079 -0.541861 -0.0100516 0.417551 1.43509 -0.0874061 0.194724 0.0597701 -1.55735 -0.0249613 0.360663 0.033451 0.446459 -6.27535 0.448735 -1.33759 -0.173991 1.54491 0.198445 -0.152757 -0.502483 -0.632811 0.807028 0.561884 -0.591275 2.64598 -0.402507 -0.263065 -0.0881348 -0.106094 0.767303 -1.59573 -0.511604 0.437844 0.421827 0.319953 -0.819962 2.09578 3.24133 -0.319364 -0.819468 -0.626151 1.58529 0.396916 -0.257269 0.78662 0.178046 1.14032 -0.243473 2.38995 -1.98195 -0.928212 35.6155 9.71226 1.35682 6.70233 -3.19918 6.17543 1.18417 -0.653674 0.214026 -2.51493 0.771263 -0.720682 -0.193653 0.264095 -5.18481 0 0 0 0 0 0.081335 0.0315011 0.0108548 0 0 0 0 0.00307206 0 -0.0356395 0 0 0.00437992 0.034214 -0.0937757 0 -0.0094934 -0.0397721 -0.335648 0 0 0.121461 0.00249511 0 -0.157439 2.29302 0 0 0.00422114 0.385293 0 -0.335316 0 0.0329967 0 0 0.0031266 0 0 -1.07328 0.0426068 0.0574132 0 0.155654 0.0128935 0 0 0.016929 0 0.0170556 -0.180744 -0.0592225 0 0 -0.00917658 -0.0217014 0 0.00044154 -0.0415184 0.00419599 0.341853 -0.126306 -0.0162968 0 0.0289397 0.0957749 0.195952 -0.0568461 -0.0276605 0 0 0 6.39716 -0.0376554 1.36542 0.0653584 -0.13417 0.83119 -0.006148 0.0112016 -0.0144992 0.22356 0 0 0 0 0 0 0.430181 0 -0.101713 0 0 0 0 -0.65573 0.753336 0 0 0.0905839 0 0.00145908 0 -1.75299e-05 0 0 -0.463992 0 0.134524 -0.132572 0.224515 -0.0581986 0 0 0.0886449 0 3.40319 0 -3.32555 -0.249024 0 -1.13478 -0.522106 0.0265658 0 -0.0858562 0 0 0.0846349 0 0.0103244 -0.746411 0 0 -0.0975773 0 0 -0.141852 1.19599 -0.637128 0 1.05744 0 -0.526621 -0.106258 0.587834 -0.211031 0.0520456 0.284949 1.25164 -0.214967 -1.18681 -8.39688 -0.0643769 0 0 0 0.254137 0.0823351 0 0 0 0 -0.272457 31.6813 1.85786 7.50537 1.186 -0.812356 4.15614 0.00542879 -0.0478637 -0.0641214 1.16225 0 0 0 0 0 0 -267 0 -0.27819 -0.246107 -0.148031 -0.169424 -0.0560917 0.117908 -1.59028 -3.16064 -0.938753 3.48442 -0.578621 -2.25148 0.0953694 -3.978 -0.416093 -0.0808383 -1.77638 0.973212 -0.636846 3.55947 0.365785 0.681241 -0.122119 1.16243 -1.0703 0.108259 0.0116278 0.00231981 0.384552 -1.05051 -0.360619 -1.61308 2.07311 0.0508221 -0.686676 -0.208011 -0.230626 6.83205 -1.14121 1.39416 0.291327 -0.436352 -0.395937 -8.24711 0.836707 0.446905 0.190488 -2.72998 0.943094 -3.26286 2.04222 -0.43986 0.88144 -0.643765 0.457189 6.56355 2.08382 -0.0428979 -1.83528 -0.530788 1.04717 0.276508 -6.83998 4.05368 1.76775 0.543463 -3.81494 -0.283541 0.539991 -2.31294 0.303926 -1.27046 0.582474 -0.2081 -0.202974 0.673764 -37.4299 -18.1358 10.4137 -13.4803 9.33389 -6.166 -4.70999 3.48652 -4.85228 5.5205 -1.28426 1.50241 -1.80659 2.34951 -1.38934 0 0 0 0 0 -0.148031 -0.169424 0.00352382 0 0 0 0 -6.5662e-05 0 0.00719543 0 0 0.00147888 -0.0356622 0.0704718 0 0.00904031 0.211236 0.0287289 0 0 -0.314519 -0.00259005 0 0.288542 -0.315042 0 0 -0.0668445 0.141995 0 0.469839 0 -0.0779207 0 0 -0.0195549 0 0 0.894741 -0.00101506 0.0200632 0 0.0458737 0.0527699 0 0 -0.303867 0 0.018983 -0.238751 -0.0369802 0 0 -0.00157215 0.000910072 0 0.0168827 -0.00139756 0.00323118 0.307736 0.00379395 -0.0240518 0 0.00506867 0.109032 -0.00320021 0.0709054 0.0651096 0 0 0 -4.49311 0.13073 -0.653206 -0.0798269 0.164477 -0.482283 -0.00125247 -2.9786e-05 0.00420512 -0.0608168 0 0 0 0 0 0 -0.0560917 0 0.117908 0 0 0 0 0.178715 -1.81449 0 0 0.52351 0 0.0896298 0 -0.111686 0 0 0.992978 0 -0.582228 -0.0167838 0.122627 0.103219 0 0 -0.716653 0 -7.60954 0 -0.31757 -0.940453 0 0.0595158 -0.548807 0.0262265 0 0.0127741 0 0 -0.273763 0 -2.4098 1.71005 0 0 0.181713 0 0 0.390802 -2.70472 0.088272 0 -3.52167 0 -0.579 -0.375014 -0.00120059 -1.34749 0.0606947 1.65658 -1.15966 0.177631 2.91617 12.4705 0.193303 0 0 0 -0.328131 -0.223158 0 0 0 0 0.343835 2.38332 -3.53675 2.29912 -0.990164 1.02551 0.210879 -0.394044 0.301664 -0.53201 -0.107341 0 0 0 0 0 0 -268 0 -0.621531 -0.104325 0.0850129 0.19032 -0.311716 -0.348605 -0.255323 1.27177 0.60706 -1.68672 -0.525778 -1.02316 -0.0491498 -2.20037 -0.245036 -2.05957 -8.38689 -0.485832 -0.521386 1.16135 -0.181104 -0.298812 0.0669375 -0.555708 0.511142 -0.497231 0.0179393 0.672462 1.39113 -0.719761 0.208386 -1.03348 -0.447223 -0.0736589 0.169936 -0.101189 0.390059 0.739729 -0.857067 -0.198436 -0.109007 0.778028 -0.166374 -4.45844 -0.128208 -0.633537 0.881214 -2.05655 0.435735 -2.61518 -0.330171 3.87109 0.786574 -0.560446 0.227611 4.27194 0.770864 -0.305037 0.631673 0.145255 -1.02918 0.319175 -1.50801 -2.74396 0.257092 0.71332 0.969474 0.0661158 -0.341397 0.634476 -0.963794 -0.964834 -0.178058 -0.0108381 -0.386005 -2.2794 -9.35122 1.99998 -5.43125 1.74192 0.306892 -5.02316 1.55084 -1.1007 2.33359 -5.14916 0.196787 0.561745 -0.836022 2.59003 -5.02599 0 0 0 0 0 0.0850129 0.19032 0.0172213 0 0 0 0 0.00504615 0 -0.0142506 0 0 0.00777589 0.0428383 -0.0676327 0 -0.00809688 -0.139208 -0.113468 0 0 -0.48554 0.00310639 0 -0.117427 -0.739171 0 0 -0.0633471 -0.229454 0 -0.0666042 0 -0.110029 0 0 -0.012181 0 0 0.403285 0.0694338 0.108448 0 0.236169 0.102563 0 0 -0.148634 0 0.0335961 -0.329692 -0.0501112 0 0 -0.0163312 -0.0306934 0 0.0313995 0.00299037 0.0456122 -0.359595 -0.00405914 -0.0516216 0 0.0244592 0.0740619 -0.0272621 -0.0150149 0.0485632 0 0 0 -2.38912 -0.216686 -0.0169995 -0.0280069 0.0586366 -0.297217 -0.0102779 0.0189355 -0.0419599 0.0215357 0 0 0 0 0 0 -0.311716 0 -0.348605 0 0 0 0 0.373998 -0.244946 0 0 -0.306566 0 -0.0172319 0 -0.0663733 0 0 0.470538 0 0.7289 0.154289 0.195226 0.0506599 0 0 -0.39747 0 -3.89747 0 4.79228 -0.881791 0 1.41244 2.02851 0.0406895 0 0.036336 0 0 -0.039657 0 -1.78502 0.39918 0 0 0.0279676 0 0 0.405845 -2.93057 0.578649 0 -1.03332 0 -0.638758 0.122289 -0.521198 -0.070908 -0.0439827 0.129505 -0.710389 0.0366435 0.222438 1.97268 0.133539 0 0 0 -0.324749 -0.0249761 0 0 0 0 0.10437 -39.4329 -1.37754 -8.83839 -1.15877 0.922839 -4.62809 0.170585 -0.171535 0.104506 -1.22618 0 0 0 0 0 0 -269 0 0 0 0 0 0.0116619 -0.318508 1.14057 1.53517 0 0 0.0113977 -0.985987 0 -0.543878 -0.00467029 0 0 0 0.221131 -2.09559 0 0 0 0 0.5356 0 0 0.642557 -0.411952 -0.495312 0 -0.115325 0 0 0.362481 0.0240559 0 0 -0.219543 -1.63272 0 0 0.0550139 -2.60077 0 -1.22559 0.476485 0.102489 -0.0556608 0.260539 0.138042 0 0.194688 0.38576 -0.374942 -0.855518 -0.644992 -1.27013 0 0 0.402263 1.45325 0 -0.00727314 -0.159423 -1.31429 0 0 0 0 0.913676 -0.180602 0 0.210477 0.373718 0 0 0 -2.61188 0 0.325655 -0.637302 0 -0.0507591 1.2025 -4.93061 0 0.0538004 0.998749 -1.86566 3.9333 0 0 0 0.111313 0.00493309 0 0 0 -0.0910859 -0.0185246 0 -0.0172426 0 -0.00162106 0.0148044 0 0 0 0 0.0347671 0 0.00400211 0 -0.0218981 0 -0.499093 -0.695038 0 0.00110042 0 0 -0.0324352 -0.00116944 -0.109221 0 -0.00559448 0 -0.000946258 -0.101531 -0.00207316 -0.0235013 -0.0127299 0 -7.68266e-05 0 0 0 -0.00028282 0 0 0.00100211 0.000489888 -0.0979861 -0.00419469 0 0 0.0105287 0 0.00305985 0 0 0.0259687 0.000168407 -0.0159267 0.0135484 0 0 -0.0749122 -0.0768269 -0.0135923 -0.223461 -0.0187341 0 0.0399568 -8.91952e-05 -0.217197 0 0 0 0.36265 0 0.0753528 0.0344258 0 0.00541978 0.00360947 -0.0271577 0 0.000646757 7.65531e-05 0.0137544 -0.0299198 0 0.0116619 0.111313 -0.318508 0.00493309 0.0696481 0.0107239 0.354052 0.114374 0.0771461 0.0192536 -0.024069 0.00938661 0.00570636 0.0280292 0.035733 -0.00781368 0.0240525 0.0666089 0.381368 -0.378506 -0.104938 -0.0477767 -0.0311024 0.0614553 -0.0738852 -0.135198 0.0357248 -0.00729647 2.99026 -0.00542258 -0.898322 -0.286643 0.00291863 -0.0815797 -0.376679 0.0026452 0.00641388 0.017718 0.00311165 -0.884488 0.00971448 -0.0156035 0.891849 -0.15614 0.00189376 0.0186394 -0.0871559 -0.0665348 0.178316 1.33423 -0.234761 -0.3737 0.0506747 -0.090219 -0.196404 -1.01013 0.0996004 -0.105572 -0.584626 0.0398542 0.739775 -0.100112 -0.154474 -0.241623 -2.03599 0.355398 -0.0585474 -0.00540407 0.285245 -0.275956 -0.108913 0.024975 0.00984537 -0.340539 0.0368578 -0.224828 1.45851 -0.0863018 2.78512 -0.00704615 0.238044 2.17545 0.00534273 -0.00683682 0.462097 0.380545 -0.00697389 -0.0243734 0.363395 -0.343931 1.10945 0 -270 0 0 0 0 0 -0.0488866 0.0724026 0.473947 1.08482 0 0 -0.0898117 -0.0936738 0 0.256048 0.118602 0 0 0 0.0838109 -9.00742 0 0 0 0 -0.0455563 0 0 -0.650944 0.753825 0.228659 0 0.846183 0 0 -0.0403703 -0.00361524 0 0 -0.637527 -2.29198 0 0 -0.186806 -1.47761 0 -0.283008 -0.536831 1.802 0.219635 0.272171 0.965505 0 0.11734 0.0733345 0.162251 -2.30178 -0.802643 -1.23221 0 0 0.797502 5.22092 0 1.05922 -0.0417952 -0.926228 0 0 0 0 0.783949 0.363161 0 0.272569 -0.594088 0 0 0 -1.1705 0 0.817657 -1.02892 0 0.639214 -0.164648 -1.88679 0 0.63111 -0.13745 1.13949 -3.718 0 0 0 0.0920529 0.0349667 0 0 0 -0.0200631 -0.0378282 0 0.00113517 0 0.000665172 0.0495184 0 0 0 0 0.0502485 0 0.0215357 0 0.258159 0 -0.278187 -0.363205 0 -0.00557243 0 0 -0.0549144 -0.000422981 -0.0585377 0 -0.00759252 0 -0.00189981 -0.108691 -0.0223946 -0.00384061 -0.0237772 0 1.34598e-05 0 0 0 -0.000380698 0 0 0.00157385 0.000984797 0.172624 0.0332747 0 0 -0.0088926 0 0.00648778 0 0 -0.00296572 0.0113148 -0.452279 -0.00615651 0 0 -0.0104701 -0.0578414 0.003221 0.0397048 -0.540641 0 0.266306 -0.0121093 -0.410643 0 0 0 0.0662416 0 0.0222826 -0.113128 0 0.00350729 -0.00604987 -0.264849 0 0.000243983 -0.00159466 0.000318102 -0.236746 0 -0.0488866 0.0920529 0.0724026 0.0349667 -0.505358 -0.069747 0.712375 0.0462967 1.4762 0.00604198 -0.0436726 0.34147 -0.00116369 0.0381141 0.151884 0.134296 -0.0688334 0.0702448 -1.45203 0.563729 -0.193156 0.0927795 0.191839 -0.233186 -0.116123 0.113839 0.753732 0.0169754 1.58674 -0.171863 -1.41161 0.425863 0.0281105 0.506803 -0.468647 0.0174329 -0.00385064 -0.0179292 -0.0364448 0.792408 0.298643 0.00920253 0.515051 -1.80601 -0.0123227 -0.0137067 -0.299035 0.1163 0.0397449 -0.0706166 -1.21771 0.323613 0.43202 3.78496 -0.546041 -0.521166 0.0455298 -0.165238 -0.279463 0.0446148 0.0460467 0.290178 -0.204079 -2.4375 -3.7474 -0.0306911 -0.304803 -0.0277425 -0.110663 1.0772 0.116234 -0.109894 0.0131369 0.317504 0.0176443 -1.09919 2.29188 -0.400844 -2.94913 0.0168729 -0.0689673 -1.3551 -0.0117232 -0.0921586 0.0778178 -0.723665 -0.00735456 -0.0179454 0.00977815 -0.034111 -0.281853 0 -271 0 0 0 0 0 -0.131625 0.122989 -0.14578 -0.960282 0 0 0.361323 0.508826 0 1.33793 0.249962 0 0 0 0.31309 -4.51231 0 0 0 0 -0.324326 0 0 -0.516489 -3.1815 0.411806 0 1.39709 0 0 -0.0716068 0.0142667 0 0 0.412703 -1.64102 0 0 -0.204008 1.8087 0 -0.1027 -1.23465 2.43015 0.159522 -0.23587 0.648272 0 -0.766282 0.00344873 0.109955 -0.764392 -0.298652 0.877904 0 0 0.973564 -0.475223 0 1.0574 0.435796 0.910649 0 0 0 0 -0.109561 0.613866 0 -1.23269 0.124679 0 0 0 2.91628 0 0.451789 3.64255 0 0.361243 1.57264 0.683956 0 -0.289955 2.46212 -3.90437 12.0441 0 0 0 -0.185192 0.0269538 0 0 0 -0.00159019 0.0423561 0 0.0110586 0 0.00141689 -0.0273631 0 0 0 0 0.116664 0 0.0294808 0 0.174435 0 -0.0877008 -0.299085 0 -0.0215012 0 0 -0.266854 0.00145229 -0.0983695 0 0.0154257 0 0.00213641 -0.230872 -0.0866374 0.0321079 -0.0745785 0 4.54063e-05 0 0 0 0.000774807 0 0 -0.00415628 -0.00142548 -0.109674 0.0495174 0 0 -0.00500464 0 -0.00716898 0 0 0.0478499 -0.0196994 0.0923914 -0.0667304 0 0 0.172506 0.140921 0.0345801 0.357769 0.327478 0 0.311233 -0.000162365 -0.1245 0 0 0 -1.28294 0 -0.147725 -0.121359 0 -0.0111999 -0.0356293 -0.17494 0 -0.00136976 -0.00448757 -0.0237611 0.171548 0 -0.131625 -0.185192 0.122989 0.0269538 -0.0220171 0.027068 -0.0149798 0.123113 1.57142 -0.0441207 0.0358139 -0.484056 -0.0206364 -0.143741 0.0817991 0.245563 -0.0476704 -0.0273736 -1.75614 -0.239292 -0.188411 -0.0483052 -0.405617 -0.195492 0.168226 -0.0875298 1.57174 -0.0171911 3.31894 0.227955 -1.1703 0.834616 0.0225326 -0.0419547 -0.537031 -0.107907 0.00233074 0.00361748 0.0253914 -0.843057 0.333413 -0.00892057 2.13395 -1.89736 -0.00210202 0.0339853 -0.221962 -0.0683979 -0.180559 -0.561584 0.358172 0.122284 0.0144029 1.18613 -0.0750181 -0.389213 -0.00273751 -0.0470615 0.210214 0.105535 -0.519279 0.714906 -0.0443395 -2.10272 -3.48438 -0.229311 0.0636629 -0.041777 -0.0684298 0.334231 0.222458 -0.0569513 0.0223805 0.13794 0.0135811 -0.586649 1.90009 0.290451 1.04394 0.0834863 -0.456923 2.2972 0.0229425 -0.301953 0.884885 -0.93983 0.00286598 -0.222355 0.512858 -0.722021 1.23662 0 -272 0 -0.450872 -0.498727 -0.0350717 0.0208915 0.0794917 0.032327 -0.816334 -1.44062 0.141611 -0.000700637 -0.0042566 0.430614 0.0344584 -1.13232 0.0643889 -3.00207 -13.4467 -0.0780536 0.228958 -0.9194 0.00107743 0.214166 -0.0369622 0.104702 -0.0753713 -0.799315 -0.258788 -0.22 -0.486296 -0.0344129 -0.0458285 0.302145 0.706535 -1.13816 -0.123922 -0.00975188 -0.468326 1.85913 -0.0732488 -0.114087 0.0909841 -2.36537 -0.046761 -1.36759 0.241377 0.129582 -0.296918 0.77516 0.0919658 -1.23872 -0.574816 -3.75014 -0.30936 0.239162 -0.328129 -2.73219 -0.960272 -0.0859386 -0.169994 -0.110241 -0.71835 0.335666 -1.42274 0.351576 0.962285 0.713395 -0.930134 -0.390494 -0.0984949 -0.62933 -0.589204 0.0126098 0.901052 -0.174157 0.299344 0.693752 -9.02855 -1.19757 0.899312 -1.96463 0.986891 -0.927767 -0.449277 0.403049 -0.128658 2.55163 -0.339053 0.318993 -0.0948183 -0.406604 1.75824 0 0 0 0 0 -0.0350717 0.0208915 -0.000878495 0 0 0 0 -6.64704e-05 0 -0.0108936 0 0 -0.000178384 -9.2405e-05 -0.0134706 0 0.000474292 -0.201874 -0.113133 0 0 -0.840999 -4.5666e-06 0 0.0530874 -3.41334 0 0 -0.122872 -0.875077 0 0.209333 0 -0.283347 0 0 -0.0417815 0 0 0.513298 -0.00132434 -0.00357445 0 -0.0174871 0.00232452 0 0 0.137018 0 -8.91153e-05 0.149347 0.000809441 0 0 -3.12465e-05 0.002425 0 0.000301738 -0.0594334 -0.0012207 -1.28772 -0.000819871 -0.0884248 0 -0.000269458 0.124709 -0.303366 -0.0117967 -0.259012 0 0 0 -0.820253 0.0153043 0.0548296 0.000839466 -0.000950738 -0.204241 6.23055e-05 -7.67585e-05 0.00155599 0.0468287 0 0 0 0 0 0 0.0794917 0 0.032327 0 0 0 0 -0.0897356 -0.603585 0 0 -0.0871003 0 -0.000224081 0 -0.00884595 0 0 -0.81528 0 0.444417 -0.00979342 -0.0425077 -0.138307 0 0 -0.13502 0 -7.7148 0 2.10069 -0.30075 0 -0.253568 0.947668 -0.0061133 0 -0.00313774 0 0 -0.0600988 0 -2.1931 -1.13781 0 0 -0.214377 0 0 -0.155472 -0.600839 0.0167494 0 0.639971 0 0.213097 -0.0643482 0.0800194 0.0191407 0.173364 0.379965 -0.0885848 -0.12455 0.468614 2.83551 -0.00740772 0 0 0 0.0186337 -0.0392353 0 0 0 0 0.18918 -2.29123 0.91811 -0.146216 -0.000688688 0.0021986 -0.223879 -0.0446985 0.0315626 -0.0199058 0.17206 0 0 0 0 0 0 -273 0 -0.773129 -0.191908 0.0629742 0.0655229 -0.186902 -0.154832 -0.659181 -0.282517 0.55195 -0.79657 -0.0942841 -1.24232 -0.0471834 -2.11204 -0.0653488 0.184406 0.0953816 -0.113322 -0.113846 0.628644 -0.0703719 0.0756606 0.0713764 -0.35031 -0.128841 0.0227527 0.235073 0.160807 0.187156 -0.503789 0.208308 -0.451072 0.333889 0.764348 -0.145622 -0.00453703 0.707574 1.81514 -0.200368 -0.0342942 -0.0777736 2.66632 -0.00138525 -4.83059 -0.0609338 -0.24163 0.151066 -0.650372 0.0546747 -0.569367 -0.721378 -1.03284 0.282385 -0.0139724 -0.106037 1.36004 0.718995 0.427411 0.374516 0.120639 -1.15521 -0.52079 0.160574 -1.34251 -0.551009 0.65806 0.423696 0.876928 -0.386063 0.564454 -0.69093 -0.744624 -0.987941 1.3855 0.311414 -1.08551 -3.29254 0.0176721 1.2017 -0.377703 0.140121 -0.592686 0.866308 -0.683508 1.15489 0.438832 0.0855914 0.0731838 -0.0212897 0.56967 -0.676675 0 0 0 0 0 0.0629742 0.0655229 -0.000421635 0 0 0 0 -2.81218e-05 0 0.00866329 0 0 2.05587e-05 -5.29614e-06 -0.0125788 0 -0.00211345 -0.112482 0.0521272 0 0 -0.156834 -2.16564e-06 0 0.0889838 -0.969016 0 0 -0.0227105 -0.289613 0 0.238862 0 -0.0295843 0 0 -0.00191887 0 0 0.987831 -0.000560203 0.00147446 0 -0.0083962 -0.00893283 0 0 0.151568 0 -2.06694e-05 0.179318 -0.00136383 0 0 6.56749e-05 0.00120682 0 -0.000119162 -0.235952 0.00363992 -3.82125 -0.00180892 -0.0447377 0 -9.58402e-05 -0.0889404 -1.08606 0.00734851 -0.394921 0 0 0 -2.0352 -0.0126347 -0.175871 -0.00117868 0.00385594 -0.422683 -6.19212e-05 0.000241006 -0.00283101 -0.0324926 0 0 0 0 0 0 -0.186902 0 -0.154832 0 0 0 0 0.224715 -0.44371 0 0 -0.186872 0 -0.00788011 0 -0.0855077 0 0 0.368492 0 0.197298 0.0212203 -0.101566 0.0509137 0 0 -0.62907 0 -7.27105 0 3.02834 -0.884927 0 0.493712 0.891501 -0.0013822 0 0.0145877 0 0 -0.0696224 0 -2.65311 -0.109528 0 0 0.0170213 0 0 -0.344092 -1.18966 0.0821768 0 -2.67492 0 0.153731 0.0371925 -0.0595776 -0.283266 -0.10651 -0.188632 -0.381301 0.171267 1.791 1.21185 0.00267109 0 0 0 -0.26646 -0.0998808 0 0 0 0 0.464053 -15.3428 -0.955404 -0.850151 -0.497485 0.511898 -1.02029 -0.02958 0.0166344 0.0285374 -0.176954 0 0 0 0 0 0 -274 0 0.13287 0.0752641 0.209246 0.0213784 -0.0676118 -0.3745 1.02021 2.8058 0.193437 -3.3358 0.00798858 0.187492 -0.188079 -1.62883 0.0217333 0.937141 5.70263 -1.10458 0.160925 -0.695938 -0.466234 -0.0497542 0.226364 -1.38644 1.22627 -0.0881503 0.332396 0.580291 0.385872 -0.142356 0.434825 -0.488701 -0.994405 0.690574 0.645438 0.0778296 1.46997 -4.30466 0.659853 -0.309908 -0.431739 4.01546 0.385817 -2.71536 -0.944577 -0.626082 0.680631 0.321388 -0.57701 0.641059 -1.8826 -4.02889 -0.138884 0.161466 -0.0709475 -0.381658 0.237406 -0.0346038 1.63839 0.550578 -0.990362 0.3862 3.631 -3.17966 -1.33602 0.24169 3.84737 1.9614 -0.135164 2.32482 -0.078946 0.142164 -1.6099 -0.253209 -0.210352 -2.37918 18.5301 9.66392 -5.77172 6.18173 -4.50594 4.42981 3.50558 -2.98775 3.97236 -4.07005 1.32681 -1.51043 1.43658 -0.765165 -1.39515 0 0 0 0 0 0.209246 0.0213784 0.00295498 0 0 0 0 0.000226389 0 -0.0283886 0 0 0.000126354 -6.14927e-05 -0.177705 0 -0.0286612 -0.273791 -0.1801 0 0 -0.155846 -4.46104e-06 0 0.154952 -0.673312 0 0 0.0011632 -0.4001 0 -0.0264788 0 0.0231043 0 0 0.0168909 0 0 -0.354143 0.0045148 0.00314235 0 0.0589123 -0.0295246 0 0 0.109139 0 0.000262357 0.19198 -0.00185775 0 0 -0.000421152 -0.00821904 0 0.000433522 0.00197224 0.00797847 0.740836 0.00314224 0.00104543 0 0.0181248 0.118705 0.164974 0.0305561 0.0342167 0 0 0 0.254175 -0.0347363 0.0631153 -0.0020153 0.0051096 0.054232 -0.000155966 0.0003145 -0.00438846 0.0774533 0 0 0 0 0 0 -0.0676118 0 -0.3745 0 0 0 0 -0.0906701 1.07032 0 0 -0.0416528 0 -0.00785326 0 -0.0590754 0 0 0.0948993 0 0.463719 0.012506 0.0451396 -0.00780935 0 0 -0.423322 0 -0.384181 0 0.222938 -0.482245 0 -0.0818463 0.426946 0.0254205 0 -0.000384094 0 0 0.117228 0 -1.20608 -1.41718 0 0 -0.194998 0 0 -0.0339026 -0.649803 0.0395131 0 1.29569 0 -0.146431 0.15335 -0.0903736 0.247355 -0.0156018 -0.526599 0.192228 -0.00633619 -0.750152 1.64844 -0.0200125 0 0 0 0.158459 0.00845596 0 0 0 0 -0.284787 1.90325 0.529663 -0.0144527 -0.569852 0.729414 -0.740467 -0.0592103 0.0640211 -0.0169073 -0.0273087 0 0 0 0 0 0 -275 0 0.376225 0.31034 0.0472976 0.293328 -0.121784 0.215083 -0.513709 -0.925273 0.975392 -0.162114 0.0687356 -0.508905 0.000265309 -0.87305 -0.0467753 2.159 8.04949 0.276838 -0.119415 1.68566 0.103819 0.0193687 0.0163886 0.0522217 -0.548269 0.558809 0.220239 -0.629057 -1.32886 0.0148569 0.128189 -0.40612 0.194639 1.04691 -0.301151 0.0065968 0.903856 -0.325977 0.145499 1.01378 0.00369878 3.99325 0.0192549 -2.69805 0.0631853 0.683027 -0.907878 -0.921052 -0.172222 0.870089 -0.204343 -2.96028 0.345611 -0.114677 0.216375 1.80588 0.313864 0.571763 -0.0518619 0.0199933 0.645008 -2.04648 0.0791734 -1.19582 -1.19393 0.778475 0.76482 0.916992 -0.501532 -0.0342079 -0.0518402 -0.0812157 -1.26055 0.977742 0.811563 -3.1671 1.25601 1.20529 0.201238 0.558751 -0.39309 2.35841 0.37298 -0.00635383 0.361948 2.04119 -0.0197637 -0.0306865 0.163915 0.0656848 1.84704 0 0 0 0 0 0.0472976 0.293328 -0.00181284 0 0 0 0 -0.000542323 0 -0.0207247 0 0 -0.00118774 -0.000624534 -0.0173645 0 -0.00258937 -0.0175886 -0.121927 0 0 -0.0831579 -2.19572e-05 0 0.0239598 -1.07792 0 0 -0.0138408 -0.173418 0 0.0576783 0 0.00788179 0 0 0.000371386 0 0 -0.212526 -0.0107955 -0.0245346 0 -0.0358413 0.0488697 0 0 -0.0657004 0 0.000906928 0.00766397 0.00608834 0 0 0.00168806 0.0054284 0 -0.00471317 -0.0241783 -0.0103114 -0.22135 0.0151407 -0.0397852 0 -0.00517383 0.0136474 -0.00328507 -0.0455498 -0.181733 0 0 0 3.04873 0.232352 0.409453 0.0155428 -0.00621605 0.160776 0.000856465 -0.000661227 0.01512 0.0472639 0 0 0 0 0 0 -0.121784 0 0.215083 0 0 0 0 0.0786152 0.872557 0 0 -0.431312 0 -0.0185792 0 0.0117463 0 0 -0.28537 0 -0.430542 0.00351459 -0.0552114 -0.044838 0 0 0.0774077 0 0.813234 0 -1.01851 0.303739 0 0.0481834 -0.396936 0.0109215 0 0.00257444 0 0 0.105488 0 0.0529375 -0.670723 0 0 -0.0852632 0 0 -0.336521 -0.674099 -0.127883 0 2.43098 0 -0.646476 0.0101391 0.0671103 -0.57598 0.0865361 0.624951 0.567295 -0.139713 -0.485902 4.42361 -0.0275542 0 0 0 0.517084 0.0455481 0 0 0 0 -0.252221 9.93399 2.98422 -0.939609 0.895623 -0.784678 0.949439 0.160611 -0.151956 0.209467 0.0549163 0 0 0 0 0 0 -276 0 -0.694354 0.0531061 0.0151804 0.0351826 -0.238304 -0.0335704 -0.117678 0.414647 0.257007 -0.379641 0.111065 0.116903 -6.81001e-06 0.0475759 -0.0202658 -0.505545 -0.375149 -0.109159 -0.0621598 3.52763 -0.0328468 -0.127723 0.00706546 -0.168374 0.15669 -0.193396 -0.0630441 0.352405 0.547254 -0.163842 0.0470356 -0.105882 -0.0677411 -0.169681 0.0114018 0.0115049 -0.158747 1.21464 0.119372 1.15227 6.46073e-05 0.0660836 0.0109379 1.11028 0.00944971 0.198732 0.422053 -0.332435 0.0494405 -0.381787 0.0458233 3.48959 0.1248 -0.00850898 -0.0966722 2.63811 0.853484 0.960579 0.182797 -0.0107368 -1.16774 -4.18588 1.13481 -0.269106 0.477229 -0.102301 0.134236 -0.304205 -0.139165 0.989311 -0.366015 0.119486 0.195462 0.251983 -0.194025 1.31046 -2.24658 0.553615 -0.971246 -0.257475 0.464845 -2.44525 0.40031 -0.304169 0.191169 -0.985934 -0.00295577 -0.0198552 -0.0921549 -0.151653 -0.760651 0 0 0 0 0 0.0151804 0.0351826 -0.00194618 0 0 0 0 -0.000338418 0 0.000373713 0 0 -0.000133833 0.000786466 -0.0059761 0 -0.000829579 -0.0117019 0.00310291 0 0 -0.0670386 1.88629e-05 0 0.0278784 -0.167352 0 0 -0.0132222 -0.0364966 0 0.100998 0 0.00325802 0 0 9.42179e-05 0 0 0.599973 -0.0067095 0.00212439 0 -0.0385837 -0.0162575 0 0 0.156259 0 0.000631149 0.520714 -0.00936184 0 0 0.000908673 0.00633657 0 -0.00402342 -0.0946348 0.0182787 -0.639026 -0.000650936 -0.0247617 0 -0.00118835 0.00610774 -0.306904 0.0430768 -0.0519355 0 0 0 -1.09299 0.0372275 -0.0323774 -3.63261e-05 0.0384095 -0.487342 3.57953e-05 0.00167129 -0.0152753 -0.0706706 0 0 0 0 0 0 -0.238304 0 -0.0335704 0 0 0 0 0.208864 0.0938012 0 0 -0.261152 0 -0.0355742 0 -0.00811292 0 0 1.03208 0 0.133358 0.0104459 -0.174093 0.160966 0 0 -0.00642695 0 2.81637 0 2.52274 0.183208 0 0.434701 0.686303 -0.028363 0 0.0122515 0 0 0.000658287 0 1.05723 1.91064 0 0 0.301631 0 0 -0.345047 0.962188 0.104476 0 0.0406356 0 0.35868 -0.0547002 -0.0173773 0.255878 -0.0580929 0.21079 -0.397764 0.204821 2.39789 11.1208 0.0238875 0 0 0 0.294131 -0.137917 0 0 0 0 0.255945 -10.097 -0.424984 -0.457905 -0.288144 0.203743 -0.507595 -0.0532749 0.0521335 -0.0389912 0.0278212 0 0 0 0 0 0 -277 0 0.50709 0.443876 0.00355429 -0.0984714 0.0850492 0.228492 -0.704201 -1.66622 0.190619 0.037357 -0.275342 -0.337233 0.000979464 0.349614 -0.0642615 0.763894 3.37902 0.00857322 -0.180425 5.96401 -0.0103373 -0.490982 0.00397376 -0.216562 -0.560927 0.47956 0.0803141 -0.0578882 0.859446 -0.0285573 0.0285021 -0.589317 -1.37699 0.399121 -0.354315 -0.0462501 0.140269 -4.74947 -0.503985 2.40135 0.021113 0.753951 -0.0866365 1.29624 0.208725 1.04048 0.227405 -1.50307 0.287203 -0.619708 0.218158 1.86586 0.519788 0.141589 -0.21173 -0.221597 1.07788 -0.49276 0.231485 -0.0676369 -0.85213 -2.46168 1.78464 0.574293 0.537839 -0.562466 0.504122 0.0464859 -0.0888088 0.832474 0.0931816 -0.543528 0.0125369 -2.22991 0.507965 0.928955 18.1714 3.20614 4.4827 2.30672 -1.05974 4.00442 -0.0144721 0.254426 -0.70688 2.00026 -0.065287 0.0526207 -0.279471 0.242375 -1.19458 0 0 0 0 0 0.00355429 -0.0984714 0.00208723 0 0 0 0 0.000716666 0 -0.0188318 0 0 0.000637992 -0.000920518 -0.0263184 0 -0.00562234 -0.0655843 -0.0755342 0 0 0.257193 -6.62257e-05 0 0.0192986 0.174642 0 0 0.0478781 -0.11633 0 0.0511997 0 0.0326397 0 0 0.00842031 0 0 0.110571 0.0143386 0.0153736 0 0.0417062 -0.091826 0 0 0.285618 0 -0.00172868 0.171456 -0.00872805 0 0 -0.00297987 -0.00740181 0 0.00868728 -0.110947 0.0221873 1.05149 -0.0267472 0.028229 0 0.0367417 0.0663993 0.0779338 0.0431822 0.102969 0 0 0 -3.93596 -0.27512 -0.457044 -0.0212421 0.0275519 -0.363348 -0.000961436 0.00129133 -0.0206884 0.0191076 0 0 0 0 0 0 0.0850492 0 0.228492 0 0 0 0 0.0043743 -0.793422 0 0 0.135784 0 -0.0322126 0 -0.105113 0 0 1.20342 0 -0.736597 -0.0633564 0.00674602 0.170022 0 0 -0.762731 0 0.842983 0 -2.89175 -0.179547 0 -0.481862 -1.24239 -0.0246002 0 -0.00791086 0 0 -0.12209 0 -0.322413 1.9396 0 0 0.291552 0 0 0.309912 0.570224 -0.150419 0 -2.66923 0 -0.00746072 -2.77294e-05 0.0387524 0.431208 -0.114804 -0.18677 -0.325574 0.0915654 1.1349 -2.6137 -0.0237277 0 0 0 -0.462614 -0.0147382 0 0 0 0 0.339425 13.1168 -0.324325 2.97211 -0.169773 0.19969 0.451944 -0.179969 0.187452 -0.172442 0.371447 0 0 0 0 0 0 -278 0 0 0 0 0 -0.128651 -0.0508837 1.52214 2.49219 0 0 -0.0750587 -0.267127 0 0.423899 0.0141333 0 0 0 0.0534348 -1.69915 0 0 0 0 0.204579 0 0 -0.0502596 2.75411 0.174718 0 0.0518011 0 0 0.199649 -0.0548986 0 0 -0.790708 -0.00136682 0 0 -0.342541 -1.79908 0 -0.0106414 0.451622 0.0920462 0.42556 1.21861 0.553703 0 0.270787 0.25087 0.38914 0.900002 0.434724 0.854042 0 0 2.44217 -1.33045 0 1.63085 -0.101707 -0.469547 0 0 0 0 1.29029 -0.374032 0 0.0350081 -0.156146 0 0 0 -7.40946 0 1.25981 -5.45221 0 1.13878 -2.07618 -2.77778 0 1.7909 -3.43861 3.6533 -8.08068 0 0 0 0.0755604 0.0124851 0 0 0 -0.063502 -0.0362329 0 -0.00860503 0 -0.00373898 0.0426443 0 0 0 0 0.199943 0 0.0318482 0 0.365087 0 -0.382847 -1.05747 0 -0.00501609 0 0 0.0849661 -0.00231867 -0.246909 0 -0.0124614 0 -0.00199788 -0.183306 0.00389102 -0.0224015 -0.055665 0 -0.000424917 0 0 0 -0.00091024 0 0 0.000826511 -0.00456022 0.150186 -0.0772094 0 0 -0.0712182 0 0.00100923 0 0 -0.0299598 0.0130716 -0.217136 -0.0346373 0 0 0.0624867 0.0738695 0.0816097 0.0331347 0.350398 0 -0.14868 0.0143027 0.504004 0 0 0 -1.61538 0 -0.156532 -0.0452126 0 -0.0257103 0.0225799 -0.0695032 0 0.00385007 -0.0110311 0.0155425 0.0410975 0 -0.128651 0.0755604 -0.0508837 0.0124851 -0.2756 -0.0776447 0.328638 0.187667 2.27408 0.0023342 -0.0111359 -0.0792604 -8.32093e-05 -0.00306044 0.0531159 0.146795 0.0913547 0.032211 0.318858 -1.18461 -0.65587 0.0547404 -0.0969091 -0.0263502 0.265849 0.0868983 0.631208 -0.0189553 7.67539 -0.178911 -3.70293 0.904327 0.010741 0.671767 -1.79656 -0.0175723 -0.00247101 -0.000537433 -0.0421708 0.79174 0.510735 0.00918904 3.3156 -0.819896 0.00433819 0.00518253 -0.209574 -0.137393 0.0892533 0.4141 2.50677 -0.0267084 0.0168442 2.18029 -0.180411 0.125782 -0.0437597 0.0578905 -1.59396 0.125356 1.59841 0.846078 0.00566281 -1.01679 -2.4905 0.147369 -0.021304 -0.0421666 -0.125548 0.41474 -0.366782 -0.147366 -0.0419397 0.125393 0.135694 -0.672952 51.2031 7.86803 -6.04869 3.00205 -0.549279 -2.19455 0.00534959 0.268695 -0.92222 0.218389 -0.0561028 0.201919 -0.598937 0.455867 -0.800107 0 -279 0 0 0 0 0 -0.309336 -0.207987 1.9595 4.84293 0 0 0.0112769 -0.351966 0 -0.523474 -0.0835364 0 0 0 -0.413865 1.04426 0 0 0 0 0.812938 0 0 -0.122979 -2.27583 0.16481 0 -0.148296 0 0 0.304861 -0.0302484 0 0 -0.45241 0.137105 0 0 -0.225121 -4.06722 0 -0.0159391 -0.428631 -0.459025 0.371256 3.48351 -0.374249 0 0.388936 -0.2676 -1.01122 2.84901 0.407061 0.852481 0 0 -0.4768 -0.488811 0 -2.02737 -1.8255 -1.77523 0 0 0 0 0.74235 -1.32252 0 3.3623 0.718151 0 0 0 -14.838 0 -0.618854 3.8497 0 -0.296567 1.5393 -5.77703 0 0.9579 1.11754 -1.34333 10.692 0 0 0 0.0737526 0.00549344 0 0 0 0.0896974 0.0172509 0 0.012834 0 -0.00806875 0.105451 0 0 0 0 0.300777 0 0.0412416 0 0.713268 0 0.57373 -0.643656 0 0.0100164 0 0 0.120202 -0.00445783 -0.0633079 0 0.00845627 0 0.000269098 -0.143134 0.0313977 -0.0559798 -0.0180967 0 -0.000557227 0 0 0 0.000479456 0 0 0.00733551 0.00489901 -0.541659 -0.0213919 0 0 0.0393276 0 0.0013773 0 0 0.0791412 -0.0490528 -0.123125 0.0180543 0 0 0.244858 0.0445969 0.0428564 -0.0655273 0.17184 0 0.362289 -0.0230357 -0.113839 0 0 0 -1.51562 0 0.00859391 -0.401442 0 -0.0105109 -0.014492 -0.211565 0 0.00503378 -0.0183991 0.0172298 0.0905524 0 -0.309336 0.0737526 -0.207987 0.00549344 0.452863 0.0407444 -0.133418 0.302837 -0.890586 -0.00922931 -0.0526592 0.341118 -0.000982248 0.0595007 -0.0279356 -0.0168878 -0.0941587 -0.0599706 -0.663826 0.52661 -0.360714 0.188575 0.000476311 -0.154184 -0.354789 -0.0718009 -0.109928 -0.00642296 -2.41313 0.355184 -0.911819 -0.429892 -0.0044438 0.96594 -0.88192 -0.0011518 0.00465469 0.0486991 0.0377025 -0.847796 -0.218233 -0.00408424 -1.51584 -0.728829 -0.0124079 0.0350899 -0.222296 0.0185583 0.0575566 0.180974 6.1755 0.685725 0.0555712 2.1079 0.0621515 -1.67012 0.121997 -0.528507 0.31528 -0.0222107 -0.084418 2.1633 0.303779 2.64733 10.2056 -0.361605 -0.0401225 -0.177619 0.0131675 0.583434 0.0720645 0.145473 -0.0246808 -0.204975 -0.00699423 0.209683 12.6084 -0.555936 -7.1376 1.2087 -2.48378 3.1681 -0.178516 -0.492304 0.583136 -0.692305 0.104452 -0.310229 0.378043 -0.283775 0.580475 0 -280 0 0 0 0 0 0.508505 0.589213 -1.39838 -4.06678 0 0 -0.190608 2.65716 0 4.53287 0.419584 0 0 0 0.716747 0.587641 0 0 0 0 -0.727964 0 0 -1.00205 3.26615 1.20328 0 2.24576 0 0 -0.339986 0.0861775 0 0 -3.08504 0.716745 0 0 -0.626539 11.3476 0 0.82552 -0.432414 4.46754 -0.0451985 0.516772 -0.367217 0 -0.235759 0.041712 0.262929 -1.18915 -0.175042 -3.32437 0 0 -0.319495 5.81509 0 -0.127698 -0.338884 1.58839 0 0 0 0 -0.713781 1.14678 0 -5.1212 -0.868476 0 0 0 10.176 0 5.07751 -3.53902 0 2.24824 -2.24784 5.65801 0 3.71635 -4.24341 7.79236 -11.3348 0 0 0 0.468728 0.129019 0 0 0 0.14824 0.0131959 0 0.0307939 0 -0.0154876 -0.0696257 0 0 0 0 0.0722674 0 0.0133999 0 -0.241037 0 0.599853 0.931013 0 -0.00504076 0 0 0.126231 -0.00428678 0.178488 0 -0.00877302 0 0.00046463 0.139308 0.00411795 -0.0704226 0.0320119 0 -0.000933025 0 0 0 -0.00060418 0 0 0.00257573 -0.000935799 -0.305207 0.0422093 0 0 0.0278864 0 0.00204759 0 0 0.0127546 -0.00727285 -0.236392 -0.00187037 0 0 -0.00144351 -0.0796321 0.0557854 0.0118693 -0.248374 0 0.287219 0.00241977 0.132457 0 0 0 0.783528 0 0.170029 -0.170637 0 0.0117864 -0.00198658 0.00554855 0 0.00273765 -0.00801753 0.0222752 -0.0787575 0 0.508505 0.468728 0.589213 0.129019 -0.774449 -0.0781549 1.43324 -0.652686 3.53437 0.0181423 -0.169646 1.32172 -0.00332647 0.0647018 0.216173 0.257621 -0.130167 0.461265 -1.28409 0.716119 0.318177 -0.445535 0.349892 -0.16976 -0.891323 0.228804 1.59876 0.0224604 3.86808 -1.31599 3.11419 1.45366 0.0336368 -2.40933 1.19001 0.00400797 -0.0325301 -0.121589 -0.25242 1.69897 0.526692 0.025815 2.73088 -3.17437 -0.0225587 -0.156363 -0.374349 0.146273 0.270699 0.259905 -7.6369 -2.33203 0.0332886 1.81716 -0.605487 2.75368 -1.80365 1.80251 -1.61674 0.19634 1.18687 -4.05792 -0.188992 -3.93002 -6.54585 0.631052 -0.387589 0.298378 -0.373929 0.323595 -0.523762 0.0293373 -0.237757 0.108674 0.0913937 -1.51542 -43.0621 -15.2944 18.68 -5.90116 7.78125 -8.20755 -2.06288 2.42516 -2.5493 2.33232 -0.803398 1.23204 -1.45564 1.41776 -1.58302 0 -281 0 -0.19063 -0.136701 0.155879 0.0194966 0.00524396 -0.315686 0.474946 1.47203 -0.692807 -2.78838 0.0804515 0.418779 -0.143675 -0.204337 0.166955 -1.61125 -4.83508 -0.940911 0.444539 -4.10892 -0.478906 -0.107397 0.101987 -1.39436 0.963391 -0.583699 0.0153615 0.415872 0.704614 -0.0310697 0.099926 0.815414 -0.438628 -0.178756 0.488313 0.102722 0.604755 -0.254499 0.41395 -1.99625 -0.339451 1.56504 0.255079 -0.291984 -0.755707 -0.972039 0.567483 2.12657 -0.68927 0.378177 -3.17083 5.26517 -0.459358 0.0493151 0.374585 1.91833 -0.109843 -1.93345 1.89738 0.489049 0.359446 5.12873 2.76372 -2.19991 -1.46221 0.907096 2.40066 1.72195 0.862543 2.31215 -0.098699 0.290464 0.220355 -1.24883 -0.886394 -0.871404 -2.48309 7.88459 -5.08788 4.96463 -1.66982 -3.10911 4.33637 -2.71733 2.57954 -1.30971 1.07915 -0.92245 0.474156 0.0492029 -1.82235 0 0 0 0 0 0.155879 0.0194966 0.0138866 0 0 0 0 0.00103274 0 0.011217 0 0 -0.00457939 -0.0347986 0.0348101 0 -0.00295717 -0.148828 0.0752014 0 0 -0.336488 -0.00252669 0 0.0612721 -2.27248 0 0 -0.0501805 -0.586366 0 0.0787482 0 0.0143892 0 0 0.00403903 0 0 0.691918 0.0164728 -0.0561249 0 0.204043 -0.0671418 0 0 0.134102 0 0.00222562 -0.248639 0.0040672 0 0 0.0080412 -0.0405366 0 -0.0182291 0.153375 -0.0409101 1.37326 -0.0313954 0.0507435 0 0.0338409 0.0140406 0.00306812 0.0300899 0.00233282 0 0 0 -4.66712 -0.319923 -0.133771 -0.0104731 -0.0267379 -0.0751624 0.00728373 -0.0123352 0.00992984 -0.012326 0 0 0 0 0 0 0.00524396 0 -0.315686 0 0 0 0 -0.297731 1.66325 0 0 0.37172 0 0.0466843 0 0.0667685 0 0 -0.763089 0 1.07501 0.0260845 0.471483 -0.08783 0 0 0.626667 0 -0.734828 0 4.421 -0.425739 0 -0.0207334 2.29433 0.0639485 0 -0.0156303 0 0 0.203419 0 -0.887486 -1.5679 0 0 -0.189067 0 0 0.249651 -2.3618 -0.154147 0 1.6259 0 1.26376 -0.521672 0.349163 0.8592 0.172117 -1.08288 -1.3824 -0.227141 -1.65481 4.79097 -0.248989 0 0 0 0.0187339 0.212362 0 0 0 0 -0.456119 -56.3707 -10.955 4.94224 -3.45264 1.43793 -1.27017 -0.393164 0.198209 -0.103705 -0.0615705 0 0 0 0 0 0 -282 0 -0.827283 -0.45532 -0.0245021 0.196454 0.0451741 0.112771 -0.805384 -1.38234 -0.334829 -0.0517191 0.361752 -0.954464 0.0544878 -0.681025 -0.117069 -0.782513 -8.07669 0.497623 -0.304801 -0.762427 0.196325 0.408282 -0.0846409 0.1201 -0.790465 0.166974 -0.0173364 -0.246946 -0.852613 -0.292351 -0.212043 -0.0214061 2.06964 0.656263 -0.432136 -0.00454345 -0.590143 8.22867 0.628793 -0.0207121 0.104131 0.227557 0.000740838 -1.71031 0.201177 0.222375 -0.458191 -0.428938 0.314666 -0.998363 -0.135333 0.143078 -0.194293 0.563376 -0.285785 2.24934 0.263911 0.44411 -0.124821 -0.184205 -1.75316 -0.665964 -4.34514 1.7787 0.425153 0.817629 -2.20536 0.108775 0.660551 -0.31893 -1.34519 0.215323 1.27226 1.33864 0.359308 0.646818 -41.4728 -7.10582 6.34899 -7.48669 3.63244 -5.48813 0.765663 -0.657531 0.534148 1.83963 -0.28728 -0.282073 0.348611 -1.52041 2.20513 0 0 0 0 0 -0.0245021 0.196454 0.0043474 0 0 0 0 0.0030217 0 0.0400662 0 0 -0.0104485 -0.0303706 0.0333868 0 0.0124104 -0.00826879 0.182989 0 0 0.365774 -0.0021053 0 0.106816 -1.14998 0 0 0.0505113 -0.158597 0 0.50853 0 0.0449494 0 0 0.00504868 0 0 1.44332 0.0438222 -0.146644 0 0.070737 0.0383458 0 0 0.519944 0 0.0203397 -0.123445 -0.0302936 0 0 0.0138132 -0.000537333 0 -0.0447189 0.0857126 -0.0195037 0.727069 0.0182667 0.0571878 0 0.0470933 0.0309441 -0.253524 0.169234 -0.0951815 0 0 0 -4.41001 0.0810466 -0.460513 -0.0837067 0.076491 -0.179865 0.0114082 -0.0145315 0.0222652 -0.0291199 0 0 0 0 0 0 0.0451741 0 0.112771 0 0 0 0 -0.00040159 0.330876 0 0 -0.443263 0 -0.0390377 0 0.010134 0 0 0.271702 0 -0.105146 -0.0129811 -0.254488 0.0489281 0 0 0.267262 0 -3.9423 0 2.14753 -0.0978147 0 -0.308103 0.33825 -0.0269851 0 0.00875832 0 0 -0.0174714 0 -0.797293 0.671826 0 0 0.104678 0 0 0.201319 -2.74473 -0.19923 0 0.343837 0 1.23694 0.328266 -0.0561257 0.492532 -0.0782415 -0.349014 -1.29602 -0.11603 -1.04062 0.890237 -0.120126 0 0 0 -0.0457246 0.0168294 0 0 0 0 -0.0522954 -25.0331 -0.652232 3.29418 -2.12522 1.18589 -0.89813 0.472197 -0.238972 0.163653 0.155853 0 0 0 0 0 0 -283 0 0.89497 0.547477 0.111043 0.272669 -0.106699 -0.161257 0.192011 0.703737 2.15686 -1.22341 -0.312011 -0.288052 -0.0249664 -2.43894 -0.286848 2.20912 10.058 -0.385084 -0.595135 1.88107 -0.146165 -0.281206 0.109689 -0.563981 0.484263 0.547963 0.190072 0.53764 1.58078 -0.501517 0.475431 -1.61944 -1.00832 0.458977 0.189855 -0.0622514 0.647315 -3.76284 -0.646872 0.143678 0.0698379 2.23176 -0.102011 -3.15754 0.727005 -0.311557 0.920814 -3.41193 0.265077 -1.75203 0.0613283 -1.433 -0.0320379 -0.144758 0.70405 -0.110882 0.554408 3.12704 0.460146 0.0956521 1.10747 -2.76573 2.25735 -0.784571 0.0603728 -0.547917 2.30857 1.20857 -0.70898 0.178015 0.535603 -0.714723 -0.943528 4.00131 -1.35459 -0.571832 12.5808 3.48804 -0.560597 1.89463 -0.937438 -1.1343 1.54285 -0.704048 0.262654 0.209049 -1.03816 1.06495 -2.06881 2.14783 -4.08841 0 0 0 0 0 0.111043 0.272669 -0.000419401 0 0 0 0 -0.00120253 0 -0.00168187 0 0 -0.00223128 -0.0105809 0.0230581 0 -0.003743 -0.164454 0.0836881 0 0 0.426593 -0.000694619 0 0.0463852 1.07508 0 0 0.080033 -0.132183 0 0.0247616 0 0.158899 0 0 0.0287112 0 0 -0.143344 -0.0176873 -0.0359596 0 -0.00770833 -0.00569101 0 0 0.0597023 0 -0.00244483 -0.143514 -0.0031608 0 0 -0.0014242 0.00532476 0 -0.00505624 -0.183087 0.0200355 0.35823 -0.00434195 -0.0177806 0 0.0665035 -0.00838936 -0.199632 0.165238 0.0207663 0 0 0 1.02489 0.146547 -0.0533994 -0.0066371 0.016163 0.0152841 0.000939203 -0.000340165 0.00469591 -0.0125002 0 0 0 0 0 0 -0.106699 0 -0.161257 0 0 0 0 0.025184 -1.4089 0 0 -1.1274 0 -0.145941 0 -0.118612 0 0 0.686361 0 -0.590951 0.0132332 -0.370772 0.101959 0 0 -0.89468 0 -1.47531 0 -5.15178 -0.591739 0 0.303926 -1.61891 -0.0491775 0 -0.00328179 0 0 -0.184038 0 -1.09406 1.24728 0 0 0.179087 0 0 -0.277604 2.12276 0.226128 0 -0.996013 0 -1.56899 0.994074 -0.551059 -0.274934 -0.212872 0.13613 2.06458 0.135411 1.45275 2.71966 0.0926253 0 0 0 0.0250015 -0.142022 0 0 0 0 0.450603 60.6742 14.9991 -6.04546 4.60133 -2.55561 2.22535 0.862376 -0.506225 0.506623 -0.230587 0 0 0 0 0 0 -284 0 0.0290236 -0.0348444 -0.105986 0.12333 -0.159715 0.17962 -1.06206 -1.01987 1.27031 0.76854 -0.102559 -1.24934 0.09276 -2.25688 -0.135678 0.540305 -0.649666 0.489384 -0.274551 1.11234 0.198694 -0.11402 -0.0287794 0.313803 -0.783772 0.402327 0.194375 -0.341258 -0.453103 -0.518121 0.0867172 -0.913479 0.0189818 0.672546 -0.551162 -0.0940253 0.0723785 1.12266 -0.427 0.63589 0.256672 0.094436 -0.22929 -4.11929 0.697975 0.464993 -0.444966 -2.01175 0.597041 -2.17324 0.697616 -0.601585 0.639029 -0.113085 -0.150679 -1.12348 0.520916 0.907194 -0.63173 -0.284923 2.52371 -2.63818 2.21922 1.07754 1.32798 -0.0415089 -0.776077 -0.780875 -1.02542 -1.10353 0.227286 -0.951802 -0.166237 0.975146 0.552633 0.675575 -3.44063 -1.61049 5.58541 -2.68313 2.36905 -0.128098 -0.569019 0.362794 -0.288571 1.25159 -0.908609 0.868581 -0.600162 0.164153 1.16212 0 0 0 0 0 -0.105986 0.12333 -0.0154548 0 0 0 0 -0.00318561 0 0.0157701 0 0 -0.00148895 0.0214291 0.0253868 0 0.00270493 -0.135651 0.192589 0 0 0.116541 0.00102281 0 0.114777 -1.88837 0 0 0.0196091 -0.473379 0 0.485257 0 -0.0595186 0 0 -0.00684788 0 0 1.13876 -0.0563978 -0.00530677 0 -0.272849 -0.0869222 0 0 0.284267 0 -0.0105413 -0.317539 0.0037971 0 0 -0.0053608 0.0409508 0 0.0177119 0.19655 -0.0403687 1.14447 -0.0858091 0.0660604 0 -0.0508212 0.00919529 -0.36301 0.305515 0.063195 0 0 0 -12.341 -0.908389 -1.09076 -0.0482628 -0.0649356 -0.0934856 0.00248514 -0.0108584 0.00701027 -0.0292876 0 0 0 0 0 0 -0.159715 0 0.17962 0 0 0 0 0.20097 -2.0689 0 0 -0.553033 0 -0.0709248 0 -0.10976 0 0 0.113422 0 -0.662357 0.0293423 -0.44725 0.0395015 0 0 -0.865594 0 -5.90127 0 -0.453198 -0.423115 0 0.389642 -0.908495 -0.056498 0 0.0186063 0 0 -0.261906 0 -2.06034 0.558794 0 0 0.11684 0 0 -0.333976 2.87936 -0.0165878 0 -1.61862 0 -0.709902 0.5632 -0.158029 -0.223002 -0.151173 0.59364 0.974106 0.0251586 1.20483 1.92376 0.179092 0 0 0 -0.23871 -0.141651 0 0 0 0 0.690824 8.75201 5.76906 -4.0163 0.760431 -0.505716 0.316896 0.607723 -0.308937 0.262345 -0.21243 0 0 0 0 0 0 -285 0 -1.66581 -0.720595 0.042999 -0.0280592 0.184411 -0.20633 -0.315024 -1.12095 0.150867 -0.434987 -0.29259 -0.532673 -0.0605903 -1.06336 0.147779 -3.55737 -16.7034 -0.410918 0.328272 -2.83831 -0.200488 0.205532 0.0828027 -0.246804 0.179516 -0.859793 -0.0260607 0.254396 -0.172888 -0.288101 0.163421 0.229794 1.39788 -0.694512 0.150925 0.0131979 -0.13462 8.7295 -0.118477 -1.11873 -0.115003 -1.62487 0.118589 -3.23188 -0.208026 -0.541911 0.181105 0.802769 -0.225179 -0.666644 -1.37136 7.34012 0.634676 -0.334426 0.325815 1.21786 1.01432 -1.17929 0.546443 0.104825 1.8483 1.49664 -1.04047 -0.107017 0.376822 1.57519 -0.986643 -0.157695 -0.357487 -0.94342 -1.71358 0.254617 0.204332 -2.8323 -0.496098 1.58779 -43.3339 -4.43195 5.75752 -6.28786 6.44132 -8.28325 0.310226 -0.14739 0.489004 2.0449 0.270803 -0.0989235 0.379303 0.00563027 0.443423 0 0 0 0 0 0.042999 -0.0280592 -0.00223119 0 0 0 0 -0.00129479 0 0.039215 0 0 -0.000290431 0.0019938 0.0372739 0 0.0102089 -0.100156 0.135807 0 0 0.0820558 0.000101306 0 0.131382 -1.92186 0 0 0.00644492 -0.386017 0 0.49115 0 0.10249 0 0 0.0125444 0 0 1.90648 -0.0243929 0.0096509 0 -0.0338045 0.0186494 0 0 0.654776 0 -0.00274609 0.0609727 -0.0193591 0 0 -0.000457855 0.00399434 0 0.0120474 -0.146587 -0.015376 0.306352 -0.0743669 0.0344664 0 0.0357827 0.0441105 -0.225561 0.112454 -0.0571683 0 0 0 -12.2988 -0.632477 -1.07124 -0.0830765 -0.0106345 -0.194272 0.00120225 -0.00604529 0.00397128 -0.0210304 0 0 0 0 0 0 0.184411 0 -0.20633 0 0 0 0 -0.215676 -0.518343 0 0 0.38204 0 0.0596121 0 -0.0333664 0 0 -0.362673 0 0.923321 -0.00468166 0.36395 -0.035556 0 0 -0.30282 0 -3.96591 0 5.2667 -0.247515 0 -0.456315 2.19568 0.0519577 0 -0.00513261 0 0 -0.0559544 0 -0.679954 -1.11049 0 0 -0.120132 0 0 -0.162219 -4.57392 -0.139118 0 -1.17269 0 1.048 -0.545936 0.349745 0.915352 0.141194 -1.24039 -2.59329 -0.229472 -1.28969 -6.26314 -0.319042 0 0 0 -0.360899 0.144412 0 0 0 0 0.190771 -66.2793 -11.4596 7.42773 -4.53766 2.22745 -1.86248 -0.349117 0.183826 -0.141614 0.175654 0 0 0 0 0 0 -286 0 0.460978 0.235239 0.13836 0.273221 -0.211924 -0.262349 0.654904 1.16937 1.62529 -1.46931 -0.290408 -1.08198 -0.0383111 -0.954058 -0.171421 0.71238 2.33236 -0.242629 -0.363245 2.75637 -0.0715574 -0.15566 0.0919176 -0.362779 0.239538 0.295387 0.0667096 0.528425 1.26686 -0.436983 0.362804 -1.04258 -0.791283 0.543685 0.212936 -0.0285559 0.679385 -4.07479 -0.814934 0.482189 0.0203897 3.38265 -0.0730687 -3.8187 0.622032 -0.4155 0.709744 -2.3107 0.023378 0.76013 0.299318 -4.37866 -0.759041 -0.0560298 0.0748195 0.313385 -0.953704 1.64071 0.230897 0.162305 0.454283 -2.39557 -1.39873 2.0422 -0.615624 -1.10032 -1.34865 0.910917 0.218408 -0.0516202 0.500487 -0.3744 -0.0790196 2.966 -0.192624 -1.25711 24.9352 4.35947 -4.49204 2.46485 -1.50858 1.12529 1.93149 -1.10776 1.12378 -2.21655 -0.809748 1.05682 -1.62228 2.11713 -3.24924 0 0 0 0 0 0.13836 0.273221 0.00425577 0 0 0 0 0.0006151 0 -0.0137127 0 0 -0.00305071 -0.0214409 -0.00298645 0 -0.00263905 0.292824 -0.0296545 0 0 0.0119142 -0.00118205 0 0.0234274 2.35113 0 0 0.0196165 0.774833 0 -0.0415259 0 0.05847 0 0 0.0118382 0 0 -0.371902 0.0126493 -0.0527425 0 0.0853536 0.0291179 0 0 -0.0444467 0 0.00192073 0.148169 -1.96178e-05 0 0 0.00276097 -0.00827058 0 -0.00757686 -0.00944392 0.0173975 -1.28657 0.0328599 -0.0352936 0 0.0369955 -0.0066795 -0.474065 0.137527 -0.0647281 0 0 0 4.05108 0.384223 0.396427 0.0164337 0.0219367 0.0267772 0.00182888 0.000822076 0.00559953 0.00129384 0 0 0 0 0 0 -0.211924 0 -0.262349 0 0 0 0 0.36005 -0.550669 0 0 -1.12645 0 -0.145212 0 -0.076371 0 0 0.679365 0 -0.302514 0.0947048 -0.230904 0.0932323 0 0 -0.48608 0 -4.69936 0 -3.81623 -0.572363 0 1.0088 -1.12546 -0.0320431 0 0.0300796 0 0 -0.0933639 0 -1.14449 0.472265 0 0 0.0856469 0 0 -0.0554326 5.42154 0.136121 0 -0.130356 0 -1.53864 0.983555 -0.457471 -0.8007 -0.24198 0.879373 2.78945 -0.00309938 0.81576 4.03649 0.290658 0 0 0 0.0720655 -0.0403934 0 0 0 0 0.20683 54.3597 13.664 -9.39686 3.82077 -2.02698 1.67985 0.832849 -0.501396 0.48629 -0.423249 0 0 0 0 0 0 -287 0 0 0 0 0 0.145002 -0.0340451 -0.330445 -0.865234 0 0 -0.220809 -0.304625 0 -0.544609 -0.00435757 0 0 0 0.133036 0.734876 0 0 0 0 -0.11973 0 0 0.216989 -0.0274938 -0.0420291 0 -0.19744 0 0 -0.0345498 -0.0605914 0 0 -0.0518032 0.397409 0 0 -0.0103993 -2.38446 0 0.13945 0.30575 -0.379162 -0.247455 -1.06631 -0.0146015 0 -0.00418917 0.281644 -0.131041 0.847903 0.316173 0.562883 0 0 -0.213774 -2.56483 0 -0.32662 0.418882 -0.887172 0 0 0 0 0.358429 0.465043 0 0.467546 -0.465905 0 0 0 1.35523 0 -0.561394 1.72695 0 -0.496275 0.163865 1.70864 0 -0.574956 0.920581 -1.24058 2.6407 0 0 0 -0.0653608 -0.0175982 0 0 0 -0.00256611 -0.0903771 0 -0.000241082 0 0.00148254 0.0218582 0 0 0 0 0.0365842 0 0.0242118 0 -0.175475 0 -0.0358152 -0.714482 0 -0.00419271 0 0 -0.150517 0.000210742 -0.0890195 0 -0.0139784 0 -0.00546599 -0.0810128 -0.0295792 0.0048587 -0.0115918 0 1.46025e-05 0 0 0 -0.00075756 0 0 -0.00668584 0.0007251 0.278767 0.0256387 0 0 -0.0025836 0 0.0160903 0 0 -0.0506645 0.0352481 0.0682126 0.0543282 0 0 -0.12907 -0.162715 0.0665801 -0.225125 0.644699 0 0.120505 0.0174871 0.30044 0 0 0 1.16279 0 0.0710388 0.384945 0 0.0149582 0.0143286 0.0763823 0 -0.00225532 0.00836525 -0.000116988 0.0275803 0 0.145002 -0.0653608 -0.0340451 -0.0175982 0.241167 0.0309599 -0.0358107 0.0408386 -0.406926 0.0336288 -0.0604706 0.26882 0.00342344 0.0278442 -0.00619194 -0.0539386 -0.0392889 0.290063 0.57319 0.108796 0.33586 0.101335 0.20259 0.10841 -0.393731 0.0732563 -0.596202 0.00786711 -1.3507 -0.197243 0.964814 -0.525293 -0.000721576 0.107575 0.649705 0.0312336 -0.000113912 0.0241743 0.000455248 0.52088 -0.0298731 0.00850098 -1.46907 0.226188 -0.00630603 -0.0226715 0.0864103 0.0336003 0.0863449 -0.4123 -0.849535 0.350076 0.103141 1.07693 -0.0063687 0.373366 -0.280231 -0.318388 0.0963123 -0.19806 -0.381692 -0.780781 0.284704 1.84526 11.1112 -0.176681 -0.0474741 0.0323722 0.164802 0.605767 -0.143422 0.0591451 -0.141436 0.0597208 -0.185773 0.0852329 -2.03173 -0.0797756 -0.211158 -0.382246 0.664063 -1.24491 0.0397029 0.194008 -0.4192 0.406701 -0.0461997 0.0852875 -0.392014 0.407663 -0.536032 0 -288 0 0 0 0 0 -0.370834 0.169074 -0.0715462 0.120985 0 0 0.0856658 0.419546 0 0.693388 0.0586981 0 0 0 0.269421 0.549414 0 0 0 0 -0.3277 0 0 -0.656533 -0.0588708 0.374797 0 0.194795 0 0 -0.251481 0.0422395 0 0 -0.123744 1.06525 0 0 0.0374333 0.850967 0 0.947809 -0.712122 0.698013 -0.0209663 1.01722 0.191468 0 -0.523816 0.313568 -0.458074 -3.86574 -1.35908 -0.917028 0 0 0.0221905 -1.489 0 0.73009 -0.345228 0.294801 0 0 0 0 0.150818 0.0233931 0 -1.95536 2.28721 0 0 0 0.158772 0 0.789083 -0.682197 0 0.345641 -0.0686318 0.572823 0 -0.483486 0.00912155 0.849982 -0.980018 0 0 0 0.042142 0.00752046 0 0 0 -0.0431727 -0.0217331 0 -0.00415819 0 0.00326546 -0.0213613 0 0 0 0 -0.0644267 0 -0.0124822 0 -0.115329 0 -0.371586 -0.292955 0 -0.00258853 0 0 -0.0817889 0.000756024 -0.0126827 0 -0.00112383 0 -0.00239232 0.0301262 -0.01682 0.00861104 0.00826325 0 0.000265648 0 0 0 -0.000206226 0 0 0.00622826 0.00549691 0.0356502 0.0144851 0 0 -0.00796497 0 0.0129231 0 0 0.0056342 -0.0173795 -0.165706 -0.0334648 0 0 0.0137887 0.00156408 0.0623058 0.100922 0.0844722 0 -0.0405628 -0.0131908 -0.137145 0 0 0 0.292201 0 0.0247357 0.140088 0 0.00138938 0.0137683 -0.0628519 0 0.000152244 0.000219601 -0.00508125 0.0165263 0 -0.370834 0.042142 0.169074 0.00752046 -0.373755 -0.0107912 0.110656 -0.223086 1.02949 -0.00795004 -0.0159651 0.1184 -0.000913062 0.00535372 0.0162176 0.0481418 -0.0189345 -0.0494755 -0.792375 0.292975 -0.348722 -0.0634976 0.142587 -0.0983764 -0.0820347 -0.0801814 0.724319 0.00901654 -2.19714 -0.0594712 -1.29323 0.282922 0.00232342 0.00497178 -0.722712 0.0044548 -0.00307812 -0.0666166 -0.00695498 -0.20826 0.0758975 -0.0188293 -0.0831761 -1.09644 -0.00346744 -0.0132344 -0.126323 0.0529636 0.160806 -0.0397399 -1.03846 0.745254 -0.107789 0.245486 -0.0500709 0.626477 0.160768 -0.337062 -0.343111 -0.105755 0.111536 0.114052 0.112988 -4.0507 -15.298 0.0798345 -0.517416 0.0191456 0.322507 -0.305671 0.0563919 0.0720587 0.0291388 -0.11532 -0.142798 -0.563819 2.72332 -0.397125 0.42873 0.155083 -0.049228 0.556161 -0.0198527 0.109894 0.104532 -0.246348 0.00788019 0.0420341 -0.0178262 0.023104 0.256693 0 -289 0 0 0 0 0 0.173119 -0.381163 0.378535 1.43511 0 0 -0.774766 -2.17598 0 -3.63885 -0.193114 0 0 0 -0.593668 -4.83651 0 0 0 0 0.291931 0 0 0.890887 5.92967 -0.951649 0 -1.29869 0 0 0.184537 -0.100954 0 0 -1.55389 -1.64903 0 0 -0.258575 -8.95231 0 -1.04279 2.17603 -2.58238 0.642323 -0.276232 0.668895 0 0.504038 -1.09145 0.363972 0.985769 0.589272 -0.0587216 0 0 -0.265164 2.32216 0 1.69244 0.653817 0.921276 0 0 0 0 -0.639641 -1.09315 0 1.55144 0.675381 0 0 0 -2.44616 0 1.03106 -5.95469 0 0.530183 -1.1449 -3.21489 0 1.15362 -3.17072 4.57246 -13.1168 0 0 0 0.164275 0.0235532 0 0 0 -0.0406825 -0.0196261 0 -0.00208194 0 -0.000796528 0.015835 0 0 0 0 -0.025798 0 0.000266956 0 0.0432914 0 -0.533196 -0.0909368 0 0.00221849 0 0 -0.00927826 -0.00118515 -0.00391431 0 -0.004118 0 -0.0011089 -0.0274687 0.00725787 -0.0171033 -0.00098152 0 -7.22218e-05 0 0 0 -0.000220649 0 0 0.00204258 -0.0021194 0.199386 0.00819743 0 0 -0.000625284 0 -0.00117177 0 0 -0.0344071 -0.00234879 0.00488007 0.00760947 0 0 0.0229294 -0.0220502 -0.010494 -0.0633723 -0.0601039 0 -0.0417093 -0.00765302 0.0258655 0 0 0 0.262408 0 0.037981 0.150141 0 0.00239697 0.0124657 0.00362949 0 0.00116065 -0.00260192 0.00950446 0.0070738 0 0.173119 0.164275 -0.381163 0.0235532 -0.181319 -0.17701 0.760316 -0.192153 -1.14218 0.010497 0.0113704 0.120341 0.000880929 0.010717 0.076954 -0.0805378 -0.0221624 0.124249 -1.00609 -1.66491 -0.626406 -0.0177708 0.0928776 -0.18519 -0.28424 0.183094 -1.10917 -0.0471721 -14.0084 -0.355171 -2.27882 -2.33256 0.00770162 0.16967 -1.2821 0.0093944 -0.00262613 -0.0466036 -0.0343615 1.34575 -0.0568102 0.0279661 -6.09411 -3.1206 0.00243545 -0.0303779 -0.506008 -0.287145 -0.194653 -1.25364 -1.32048 1.56503 0.185311 -5.56014 -0.372187 1.11277 0.203291 -0.592142 -0.771958 0.232359 0.145966 -0.310804 -0.163466 1.4726 -4.46944 -0.0119655 -0.508562 0.117157 0.360054 -0.412616 0.0112385 -0.00129251 0.0141204 0.100354 -0.179166 0.0563119 4.7988 -0.606814 0.696321 0.0506552 0.097606 -1.46145 0.0165935 0.0248153 -0.215629 -0.21437 -0.0197898 0.147735 -0.41775 0.490357 -1.15919 0 -290 0 0.73202 -0.306186 0.0335954 0.0829466 0.144047 -0.188438 0.939865 1.79965 0.0469795 -1.74081 0.337558 0.146227 -0.00746898 0.938388 -0.000801393 -2.23825 -6.93435 -0.326204 -0.0143895 -0.237716 -0.0609252 0.489733 0.005617 -0.437066 0.625525 -0.753403 -0.102329 0.403739 -0.11161 0.126993 0.0323422 0.195571 0.592887 -0.593923 0.402114 0.0339526 -0.354039 -0.262064 0.588048 -0.436725 -0.0582061 -1.00638 0.0682671 0.86245 -0.44502 -0.379631 0.214782 0.203705 -0.207389 0.364249 -0.505925 6.14434 -0.0886799 -0.164693 -0.00483578 -2.23606 -0.14259 -0.388616 0.588683 0.172556 -0.926781 -0.38379 -0.881973 -2.31408 -0.203471 -0.541325 1.179 -0.221754 -0.013942 0.664544 -0.208793 0.297924 0.629328 -3.1499 -0.376454 1.6036 1.57448 1.04208 -1.13325 0.879102 -1.08047 1.10033 1.65871 -1.0848 1.45143 -1.24055 0.135723 -0.159397 0.154052 -0.198561 0.068735 0 0 0 0 0 0.0335954 0.0829466 0.00233451 0 0 0 0 7.75567e-06 0 -0.0118275 0 0 -0.00257491 -0.00338863 -0.00835974 0 -0.00051534 -0.0201012 -0.0447645 0 0 -0.0735829 -0.000283335 0 0.0269341 -0.9794 0 0 -0.0135236 -0.181729 0 0.0409578 0 0.0042167 0 0 0.000233131 0 0 -0.332612 -0.0016875 -0.037557 0 0.0304016 0.0591328 0 0 -0.189266 0 -0.00224941 0.373699 0.00190154 0 0 -0.00213354 -0.0110132 0 0.00568737 -0.000550201 0.0209297 1.74344 0.0303618 -0.07087 0 0.0123261 0.00302769 0.195052 -0.00213199 -0.0895738 0 0 0 5.56295 0.407206 0.704205 0.0382733 0.0158245 0.0104758 0.000374288 0.00163079 0.00426474 0.00105701 0 0 0 0 0 0 0.144047 0 -0.188438 0 0 0 0 0.241369 1.40882 0 0 -0.187005 0 -0.0206952 0 0.0587076 0 0 -0.548073 0 1.08066 0.0443946 -0.0800646 -0.0713341 0 0 0.701615 0 4.50812 0 0.504478 0.589585 0 0.262545 1.19232 -0.00736959 0 0.0371052 0 0 0.118019 0 1.90058 -1.12328 0 0 -0.156937 0 0 0.357976 -1.50238 0.0973107 0 1.20681 0 -0.233824 0.040052 -0.101036 0.0967032 -0.032344 -0.451226 -0.429768 0.0442313 -3.61652 -13.696 -0.0624603 0 0 0 -0.026815 -0.0297159 0 0 0 0 -0.515282 3.21569 1.38409 -0.530732 0.150295 0.0642085 -0.0764121 0.121243 -0.107689 0.0907601 -0.0794203 0 0 0 0 0 0 -291 0 -0.601136 -0.183823 -0.0146429 -0.0262238 0.00455978 -0.106551 -0.553419 -0.886189 -0.0856401 0.0181564 -0.0905888 0.0930574 0.00300005 -0.26985 0.0131566 -1.86502 -6.55958 -0.186905 0.0228608 -0.402521 -0.0465844 -0.221834 -0.00390093 -0.014926 0.0963462 -0.47122 -0.0904414 0.411047 0.331972 -0.169657 -0.025175 -0.0431489 -0.681594 -0.580839 0.050067 -0.0190855 -0.405765 -0.917487 -0.12985 -0.628681 0.0179969 -1.7048 -0.0308805 0.470202 0.088531 -0.589916 0.399892 -0.0291995 0.152875 -1.257 -0.282902 1.36715 0.0861306 0.0662286 0.0220837 -2.16365 -0.143845 0.235537 0.0784113 -0.0393768 0.614317 1.13179 0.320808 -0.230454 0.829424 0.313581 -0.124874 -0.532978 0.0348803 0.131627 0.00718019 -0.267622 0.608688 0.522724 -0.478247 1.44399 2.51806 1.82376 -0.237433 1.04188 -0.78867 0.847635 0.0128503 -0.106526 0.106796 0.828569 -0.0270003 0.0336718 -0.0778835 0.091997 -0.204445 0 0 0 0 0 -0.0146429 -0.0262238 -0.000355474 0 0 0 0 0.00024894 0 -0.0136413 0 0 0.000463216 -0.00103815 -9.77484e-05 0 -0.00107338 -0.0188074 -0.0426979 0 0 -0.164488 -1.58139e-05 0 -0.0232555 -0.545748 0 0 -0.0242813 -0.0879193 0 -0.105942 0 -0.0237098 0 0 -0.00313534 0 0 -0.412498 0.00673026 0.00228256 0 0.0160495 -0.0337523 0 0 -0.0157094 0 0.000555632 -0.0908284 -0.00198034 0 0 0.00129552 0.0018634 0 -0.000460025 -0.00906187 0.00536062 0.264508 -0.0221464 -0.00933859 0 0.0072284 0.00645227 -0.181237 0.122686 -0.0239124 0 0 0 2.1474 0.112973 0.109832 0.0135765 0.00130689 0.0453533 -0.000547188 0.00155453 -0.000870078 0.00831592 0 0 0 0 0 0 0.00455978 0 -0.106551 0 0 0 0 0.164195 -1.40108 0 0 -0.0384091 0 -0.00423701 0 -0.0625764 0 0 0.827185 0 0.383092 0.0278374 -0.123163 0.107549 0 0 -0.738081 0 -2.7783 0 3.14613 -0.571373 0 0.12988 0.996895 -0.0103185 0 0.0203245 0 0 -0.120461 0 -1.36319 1.77622 0 0 0.238043 0 0 -0.181607 2.57479 -0.0743251 0 0.103722 0 0.370765 -0.0545671 0.101716 0.697821 0.20911 0.0686559 0.0521941 -0.0134502 2.80097 11.6196 -0.162665 0 0 0 0.17433 0.0620806 0 0 0 0 0.391577 -10.6495 -0.795084 -0.220301 -1.31747 1.09832 -1.40899 -0.0540408 0.0258781 -0.00459618 -0.00349161 0 0 0 0 0 0 -292 0 0.389556 -0.190941 0.0340675 0.209117 -0.158301 0.0281344 -0.0724064 0.614197 0.637648 -0.649361 0.261111 -0.545928 -0.0022492 -0.458186 -0.00757559 -1.7836 -7.9092 -0.0277547 -0.0319949 -0.998197 0.00967221 -0.0324678 0.00638414 -0.0904771 -0.123133 -0.393218 0.0027366 -0.365182 -1.07108 -0.0177793 0.0630479 0.15456 0.0340181 0.189857 -0.161762 0.025781 0.030802 0.914951 0.360654 0.158116 -0.0129742 1.14721 0.0371931 -3.27192 -0.0601433 0.348855 -0.611814 0.0230192 -0.0753587 -0.51758 -0.401962 -6.1544 0.209024 -1.71874e-05 0.0336852 -2.21976 -0.416413 -0.461261 0.25893 0.0358015 -0.485991 -0.31187 0.751058 -0.679816 0.424792 0.391503 0.383301 -0.342175 -0.242656 0.413748 -0.655747 0.0660122 -0.335453 -0.367316 0.0298341 -1.44744 -4.30332 0.161503 -2.70072 -0.721455 0.316034 -1.09396 0.239941 -0.28326 0.549252 -1.00699 0.0183426 -0.0644196 0.18185 -0.278871 0.659626 0 0 0 0 0 0.0340675 0.209117 -0.00102003 0 0 0 0 -0.000256416 0 -0.00825147 0 0 -0.000779683 0.000548067 -0.00987783 0 -0.000515569 1.02398e-05 -0.0959246 0 0 -0.206047 1.65946e-05 0 0.00616454 -0.23996 0 0 -0.0201654 -0.00841128 0 -0.00999246 0 -0.00925804 0 0 -0.00046713 0 0 -0.0528084 -0.00453586 -0.0119019 0 -0.0154044 0.0190165 0 0 -0.0171028 0 3.77333e-05 0.238309 0.00270271 0 0 0.00389729 0.00262795 0 -0.0135565 -0.00973555 0.00414194 0.0245491 -4.27804e-05 -0.0239288 0 -0.00753398 -0.00933879 -0.140727 0.0442186 -0.0588644 0 0 0 2.81691 0.239204 0.518734 0.013674 0.0159807 -0.00232393 0.00113222 0.000102608 0.000779797 0.021164 0 0 0 0 0 0 -0.158301 0 0.0281344 0 0 0 0 0.347927 1.13133 0 0 -0.57495 0 -0.0629389 0 0.0342814 0 0 0.216839 0 0.367782 0.168915 -0.161757 0.0297058 0 0 0.477143 0 3.82093 0 2.71468 0.503509 0 1.09826 0.997188 -0.0177067 0 0.0594008 0 0 0.0893501 0 1.31258 0.111661 0 0 0.0161926 0 0 0.168085 2.21588 -0.252204 0 2.12942 0 0.530011 -0.0219802 0.115943 0.569211 0.165915 0.452239 -0.249565 0.0992039 -1.74751 -1.26113 -0.143615 0 0 0 0.194601 0.0699392 0 0 0 0 -0.330481 -6.44311 1.37865 -3.21134 -0.0528202 0.109053 -0.607846 0.283874 -0.221032 0.215288 -0.399955 0 0 0 0 0 0 -293 0 -0.920105 0.0216021 -0.106438 -0.306817 0.196218 0.283997 -0.467724 -1.83009 -0.316947 2.63805 -0.314192 0.76884 0.0306315 1.31286 0.0133355 1.01374 -0.253716 0.483704 0.0808397 1.88986 0.00778161 -0.255281 -0.0228839 0.520775 -0.6522 0.502729 -0.0187098 -0.396782 0.793682 0.401595 -0.106423 0.110036 0.245793 0.162509 -0.325012 -0.0561461 0.0347503 2.60888 -1.07511 1.26811 0.177105 -0.476171 -0.199125 2.6668 0.968785 0.86334 -0.1247 0.358814 0.509643 0.736452 1.58453 -4.90602 0.0509813 0.119064 -0.400958 -0.507338 -0.154209 -0.350615 -1.12897 -0.407961 -0.534328 1.18673 0.112483 1.5031 -0.0909395 -0.33381 -0.495447 0.0324261 0.00661293 -0.535971 0.197756 -0.490774 -0.154183 -0.286799 1.07673 -0.485004 -4.45004 -4.85809 3.45144 -4.09156 2.92879 -3.36774 -3.39768 2.68245 -3.09484 2.82711 -1.31851 1.60795 -1.76826 2.0809 -2.01236 0 0 0 0 0 -0.106438 -0.306817 -0.0123915 0 0 0 0 -0.00156165 0 -0.00972578 0 0 0.00241629 -0.00110557 0.010332 0 -0.00130017 -0.110567 -0.0154219 0 0 0.0210881 -0.000153234 0 0.0355372 -1.76601 0 0 -0.00265182 -0.380106 0 0.0372854 0 -0.024899 0 0 -0.00470425 0 0 -0.0324253 -0.0220464 0.04087 0 -0.18407 0.0389451 0 0 -0.0741728 0 -0.00559307 0.328118 0.005643 0 0 -0.0109328 0.0310968 0 0.0301765 0.108458 0.0196488 1.9157 0.0260099 -0.0662773 0 -0.0418744 -0.00827905 0.110084 0.175674 -0.0730613 0 0 0 -0.207429 -0.0715096 0.150022 0.0178834 -0.0248222 0.00752545 -0.00489583 0.00509347 -0.00463509 0.000903602 0 0 0 0 0 0 0.196218 0 0.283997 0 0 0 0 -0.300279 -1.96961 0 0 0.60197 0 0.0671811 0 -0.02918 0 0 0.233965 0 -0.992941 -0.121625 0.211095 0.0223294 0 0 -0.372199 0 -6.36095 0 -0.966599 -0.0531502 0 -0.704043 -0.984494 0.021994 0 -0.0543512 0 0 -0.188278 0 -0.746891 0.499272 0 0 0.0450651 0 0 0.019512 -0.679138 0.0835541 0 -2.08992 0 0.200763 -0.29148 0.128906 -0.2729 -0.0666535 -0.188933 -0.361655 0.0163646 2.01217 -1.82593 0.0608223 0 0 0 -0.264971 -0.115728 0 0 0 0 0.580462 3.09516 -0.691908 1.35672 -0.00618784 -0.083804 0.31887 -0.30715 0.177326 -0.211093 0.267107 0 0 0 0 0 0 -294 0 -0.781933 0.293424 0.0376416 0.0419921 -0.270855 -0.106366 -0.108417 -0.037062 0.234186 -0.0161363 0.130201 -0.899624 -0.0131382 -0.673896 0.0451775 2.47259 8.07024 0.270154 0.0455739 -3.20448 0.114141 -0.105771 0.0156235 0.079555 -0.0819047 0.724459 0.311785 0.0531757 -0.649869 -0.344876 0.072357 0.196735 -0.324975 1.09715 0.055052 0.0384554 1.0042 -1.29662 0.382812 -1.61044 -0.0636324 3.03062 0.0990629 -2.14968 -0.26202 -0.892445 -0.160843 0.36788 -0.238932 1.28354 -0.125158 -10.5175 0.0881553 0.0994562 0.0710521 2.24911 0.80292 0.27782 -0.0920828 0.136972 0.496018 1.52664 1.15944 0.00157622 -1.3593 0.318586 0.242304 1.55516 -0.0943397 -0.0988655 0.0450249 0.329963 -1.75801 0.655502 -0.356525 -3.97106 5.22628 1.76502 -0.660958 0.370589 -0.91169 2.91629 -0.809917 0.15456 0.432221 -0.0545178 0.356606 -0.49752 0.774405 -1.07316 1.64773 0 0 0 0 0 0.0376416 0.0419921 -0.00655094 0 0 0 0 -0.0013314 0 -0.0122636 0 0 0.00244397 0.0135683 -0.0172205 0 -0.00286467 0.0872135 -0.0375322 0 0 -0.089902 0.000984205 0 -0.0387089 -0.343964 0 0 -0.0205921 0.1778 0 -0.0705074 0 0.0176408 0 0 0.00143182 0 0 -0.159728 -0.018541 0.0334818 0 -0.0858733 -0.0262207 0 0 0.00544525 0 0.0139661 -0.062353 -0.0168521 0 0 0.0058127 0.0329085 0 -0.00610795 0.0195727 -0.00718421 0.30447 -0.0189075 0.00809338 0 -0.01877 0.0183191 -0.159596 0.208705 0.0548415 0 0 0 0.227537 -0.0075319 -0.0245009 0.00544879 -0.00634803 0.0189535 -0.000592786 0.0012786 -0.00446159 0.00482484 0 0 0 0 0 0 -0.270855 0 -0.106366 0 0 0 0 0.101317 0.140351 0 0 -0.293788 0 -0.0348769 0 0.0104786 0 0 0.148995 0 -0.20707 0.0455986 -0.0516636 0.0399649 0 0 0.000617185 0 5.0215 0 1.3316 0.190838 0 0.392639 0.101948 -0.00697305 0 0.0118049 0 0 0.029033 0 1.11562 0.590198 0 0 0.12952 0 0 -0.605865 3.25651 0.0973995 0 -0.659459 0 0.698995 0.0556787 -0.0817707 0.754028 0.169513 0.108292 -0.40021 0.0346235 2.43185 10.1402 -0.147002 0 0 0 0.39777 0.066048 0 0 0 0 0.0284795 -3.78316 0.871879 -1.70146 -0.690957 0.41489 -0.45257 0.133205 -0.136628 0.193341 -0.207524 0 0 0 0 0 0 -295 0 -0.249778 -0.0988696 0.045751 0.227322 -0.190815 0.0284879 0.618012 1.19096 0.413828 -0.171224 0.738149 0.308052 -0.00973974 1.86018 0.179873 0.740404 0.286293 0.159548 0.310206 -3.67059 0.0724941 0.0891141 0.00936028 0.0391537 0.0982619 0.391289 0.174684 -0.588696 -2.43091 0.518955 0.0620567 1.41992 0.52579 0.850146 0.0415834 0.113522 0.450935 2.43989 1.07833 -0.781446 -0.044843 2.84969 0.178224 0.419699 -0.143912 0.0666154 -1.20831 2.4595 -0.542409 2.46326 -0.353602 0.962689 -0.582756 0.738309 -0.447199 0.106353 -0.081925 0.723078 0.0954456 0.109208 1.482 -3.08409 1.13926 -0.630068 -1.19388 -0.409102 0.850066 0.94716 -0.119256 0.260511 0.379497 1.29767 -0.416026 -1.8436 -0.0514067 -0.48613 -7.8356 -0.309639 -3.85326 -1.53957 0.16364 -0.97572 -0.174174 -0.248896 0.745708 -2.41632 0.195863 -0.863977 1.83666 -3.56599 6.1635 0 0 0 0 0 0.045751 0.227322 0.0025288 0 0 0 0 0.000437698 0 0.0253092 0 0 -0.00158304 -0.00191467 0.0076562 0 0.00356424 0.0231321 0.0650403 0 0 -0.246327 -0.000118796 0 -0.0356539 0.346141 0 0 -0.0182853 0.0692753 0 -0.0705932 0 -0.0220121 0 0 -0.000825794 0 0 0.152625 0.00578267 -0.0222846 0 0.0309629 -0.030905 0 0 0.115712 0 -0.00124667 -0.135552 0.00790552 0 0 0.00385876 -0.011077 0 -0.020393 -0.0589054 0.0052576 -0.498751 -0.0313723 0.0203089 0 0.00796751 -0.025299 0.22578 -0.127074 0.0718736 0 0 0 -0.513029 0.0468646 -0.0760572 -0.0185249 0.01649 -0.0139005 0.00232467 -0.00272572 0.00285066 -0.00923747 0 0 0 0 0 0 -0.190815 0 0.0284879 0 0 0 0 0.315738 2.24786 0 0 -0.508545 0 -0.0468145 0 0.110968 0 0 -0.549917 0 0.251364 0.104769 -0.175212 -0.0456803 0 0 1.24153 0 6.52233 0 1.80705 1.29528 0 0.722301 0.881599 -0.0129854 0 0.0463151 0 0 0.199603 0 3.22085 -1.45533 0 0 -0.136013 0 0 -0.232674 2.63343 -0.200883 0 2.65148 0 0.421864 0.160726 0.0238904 0.503962 0.281276 0.70515 -0.0641809 0.0537659 -2.76337 -3.99093 -0.204526 0 0 0 0.488962 0.0607802 0 0 0 0 -0.675709 -0.789889 1.06719 -1.04306 0.0908538 0.0955415 -0.295674 0.171153 -0.135937 0.173412 -0.218364 0 0 0 0 0 0 -296 0 0 0 0 0 0.196971 0.00618773 -0.170317 -0.779264 0 0 0.121593 -0.882093 0 -2.60416 -0.0512837 0 0 0 -0.345102 -3.70533 0 0 0 0 -0.126637 0 0 -0.240879 -4.00315 -0.521071 0 -0.251083 0 0 -0.0671356 -0.015108 0 0 0.531265 -2.09011 0 0 0.0183845 -3.99218 0 -0.729793 -0.871505 -1.23512 0.0349115 -0.858085 -0.141562 0 0.295777 -0.196389 0.21866 1.65127 0.272947 -0.414028 0 0 -0.181251 3.81202 0 -0.176517 -0.113574 0.211579 0 0 0 0 -0.297062 -0.060919 0 1.26896 -0.135368 0 0 0 3.42442 0 0.27285 4.55672 0 0.452916 0.0887401 2.08315 0 0.342476 0.802843 -2.48837 10.9201 0 0 0 -0.0730653 -0.0124474 0 0 0 0.00182269 -0.0405835 0 0.00106528 0 -0.00422685 -0.0170696 0 0 0 0 -0.0429216 0 -0.00342101 0 -0.258424 0 -0.0458017 -0.264329 0 6.97864e-05 0 0 -0.0961793 -0.00375232 -0.0112272 0 -0.00148637 0 -0.00249902 -0.161482 -0.00786621 -0.0516328 -0.0101126 0 -0.000307305 0 0 0 -9.14009e-05 0 0 0.00992275 -0.00384651 0.0495554 -0.0483681 0 0 -0.0180382 0 0.00419689 0 0 -0.0281579 -0.0349395 -0.149087 -0.0445674 0 0 0.167946 0.0709361 -0.00211162 -0.182974 -0.24212 0 -0.288487 -0.00684918 -0.0280091 0 0 0 0.775496 0 0.083149 0.721274 0 -0.00828919 0.0920551 0.254285 0 0.00493034 -0.00784374 0.0226789 0.480587 0 0.196971 -0.0730653 0.00618773 -0.0124474 0.187312 0.100248 -0.0816111 -0.147754 0.116097 0.00846553 -0.0273501 -0.119948 0.000681343 -0.0155437 -0.00859918 0.0102315 -0.0256739 0.0987124 -0.85107 0.190103 -0.159167 -0.0153045 -0.106026 -0.0329459 -0.187762 -0.199874 0.218767 0.00504613 -2.65535 0.210885 -1.262 -0.333484 -0.00078935 -0.77434 -0.563381 -0.0116288 0.00485597 0.0398699 0.0460823 -1.41363 -0.00676374 -0.0262907 -1.04943 -1.24268 -0.00371518 0.0306642 -0.102396 0.0201118 -0.285275 0.122355 0.507312 0.0321442 0.0915137 1.13303 0.0119727 0.366898 -0.0395414 0.131051 -0.126539 -0.165272 -1.34083 0.105109 -0.111644 -0.220795 -0.230563 -0.188256 0.851612 0.0173772 0.152135 0.00337209 0.0374127 -0.00611482 -0.0177425 0.0212864 -0.10566 0.0393802 7.77942 0.189394 2.24691 -0.225338 -0.486676 3.61008 0.021604 -0.0784784 0.220782 0.855418 -0.012345 -0.0604828 0.316571 -0.532523 1.55099 0 -297 0 0 0 0 0 0.194774 0.508754 -0.687788 -0.968522 0 0 0.144037 1.92367 0 2.9485 0.0157747 0 0 0 0.0809667 2.44324 0 0 0 0 -0.292667 0 0 -0.796563 -0.826677 0.950176 0 0.0436463 0 0 -0.312271 0.0132435 0 0 0.688466 1.11011 0 0 0.199332 6.85532 0 0.909046 -0.725359 0.16461 -0.376023 1.51469 -0.583111 0 -0.27136 0.42495 -0.22126 0.189716 0.403122 0.544502 0 0 -0.221777 -0.379473 0 -0.885287 -0.334805 0.081501 0 0 0 0 0.390775 0.682974 0 -1.24403 0.523085 0 0 0 1.67791 0 -1.48997 2.84455 0 -1.09321 1.13349 -0.840466 0 -0.928594 0.917217 -1.72143 2.4015 0 0 0 -0.0419757 -0.0123504 0 0 0 0.001155 0.0350618 0 0.000362938 0 -0.00184645 -0.0150871 0 0 0 0 -0.0765954 0 -0.00584633 0 -0.156623 0 -0.0174925 -0.0803971 0 0.000783337 0 0 0.0130234 0.00020496 -0.00204684 0 0.00246298 0 0.00258743 -0.0712746 0.00633147 0.00268707 -0.00634966 0 -0.000134293 0 0 0 0.000180185 0 0 -0.00055069 0.00411478 0.0115542 -0.00351088 0 0 0.0118311 0 -0.00448959 0 0 -0.00573735 -0.012017 -0.114378 -0.0125727 0 0 0.0790439 0.0334608 0.011451 -0.0706923 -0.0609115 0 -0.036593 -0.00963436 0.111534 0 0 0 0.418646 0 0.0227734 -0.0579467 0 -1.40149e-05 0.0110291 0.0748599 0 -0.000258033 -0.00245389 0.0132924 -0.0150048 0 0.194774 -0.0419757 0.508754 -0.0123504 0.161562 0.0823167 -0.133283 -0.275716 -0.233578 0.00721792 -0.0587869 -0.0716834 0.000626152 -0.010576 -0.0109316 -0.00207457 -0.0502749 0.0727104 -0.0155556 1.8213 0.346817 0.0574567 -0.0590363 -0.0230801 -0.407849 0.0323529 0.0161656 0.0329053 2.88363 0.0697137 1.16724 1.48421 -0.000877546 -0.377545 0.626063 -0.00763186 0.00160261 -0.0140185 0.0105019 0.0837226 -0.0243381 0.00786021 1.94979 1.54539 -0.00688414 0.00906481 0.176453 0.233241 0.07213 -0.34886 -1.85902 0.543828 0.0517728 0.203862 0.0184482 0.166279 -0.0584003 -0.088161 0.326869 -0.533529 -1.07416 0.352674 0.0491922 0.36666 3.71473 0.00941763 -0.159882 0.0312591 -0.129516 0.387743 0.0258282 -0.0117736 -0.0147842 0.144636 -0.0510605 0.0242662 -7.1953 0.387712 1.9581 -0.297095 -0.16165 0.90132 0.0148709 -0.129993 0.478957 -0.588228 -0.00909316 -0.0546853 0.0592964 -0.10267 -0.187871 0 -298 0 0 0 0 0 -0.185026 -0.0200537 0.2436 1.3819 0 0 0.0638382 -0.163954 0 -1.40566 -0.016345 0 0 0 -0.0569278 -3.42358 0 0 0 0 0.0911094 0 0 -0.00579696 1.5113 0.0265339 0 0.0293007 0 0 -0.0440814 -0.0341548 0 0 0.16147 -0.709906 0 0 -0.0410956 -3.55416 0 0.222316 0.173274 -0.252877 0.228741 -0.800832 0.381525 0 0.102023 0.0742138 -0.175823 0.839327 0.0825575 -0.00638767 0 0 0.2109 5.50597 0 0.982763 0.281577 -0.361148 0 0 0 0 0.146448 -0.223893 0 4.08011 0.320961 0 0 0 -1.4014 0 0.554294 -2.99484 0 0.652529 -1.83782 -1.51507 0 0.656954 -2.43695 2.0011 -6.10701 0 0 0 -0.208368 -0.0170389 0 0 0 0.00816571 0.000913998 0 0.00133196 0 -0.00359996 -0.00428782 0 0 0 0 0.0267504 0 -0.000622057 0 0.037775 0 0.0554176 0.091447 0 0.00193551 0 0 0.295249 -0.00293694 0.0023059 0 0.000281539 0 -0.000112023 -0.00978123 0.0247234 -0.0410924 -0.00452246 0 -0.000259893 0 0 0 1.36582e-05 0 0 0.00774447 -0.000225159 0.0845014 -0.0165649 0 0 0.0191472 0 0.000245669 0 0 0.0114183 -0.0101959 -0.00248603 -0.0169195 0 0 0.0140573 -0.00286886 0.0104851 0.0168627 0.05412 0 0.062545 -0.00289743 -0.112658 0 0 0 -0.228078 0 0.0723465 -0.777555 0 -0.00588957 0.000445546 -0.192898 0 0.00380581 -0.0206214 0.0536417 -0.384568 0 -0.185026 -0.208368 -0.0200537 -0.0170389 0.451383 -0.078864 -0.0839857 0.0860937 -0.821243 0.00611191 0.0676421 -0.157434 0.000552046 -0.0188914 -0.00782942 -0.0315412 0.0210495 0.0605242 0.0603476 -0.566846 -0.460343 0.0847187 -0.22174 0.0988878 0.173139 0.122818 -0.426748 -0.0310228 -5.85517 0.227893 -2.50243 0.083154 -0.000705677 0.760948 -1.31 -0.0180235 0.00239946 -0.00838804 0.0445299 0.763713 -0.065947 0.0212702 -1.55364 -0.0504978 0.0081708 0.0155164 0.16386 -0.151194 -0.272679 0.0932122 -0.440954 0.376642 -0.0097212 -0.501712 0.0103248 1.06045 -0.12665 0.0770093 -0.214389 -0.159107 -0.88893 0.472767 0.0290624 -0.062772 -4.25088 0.0683207 0.85475 0.0646266 0.10227 -0.123444 0.0366662 0.00917044 -0.00775183 -0.0226934 -0.112689 0.0651871 15.4259 0.127704 -1.24214 -0.03007 -0.914231 -1.21083 0.0184918 -0.0307064 -0.0613583 -0.43314 -0.00756916 -0.00716121 -0.204373 0.278832 -1.08092 0 -299 0 0.828475 -0.227817 0.00900215 0.0751083 0.0721073 -0.185493 0.511331 -0.272676 0.0996131 -0.325497 0.128316 0.412092 -0.000226755 2.23775 0.00504363 -0.167434 0.45174 0.0176449 0.00514388 0.979675 -0.00524064 0.561611 0.00029289 -0.152752 0.3471 -0.319137 -0.0160735 0.5218 0.339322 0.238501 0.00549606 0.133152 0.699883 0.00412082 0.443634 0.00635735 -0.258446 -1.15844 0.153045 0.138729 -0.00423477 -0.45825 0.00767437 3.09807 -0.0744308 -0.39072 0.435769 0.146237 -0.0233615 0.578326 -0.264417 -0.529602 -0.0117441 0.000385155 -0.0475529 -0.815977 -0.271002 0.0129588 0.273567 0.00902048 0.453072 -0.215505 -0.532307 -0.552418 0.171972 -0.344673 -0.148136 -0.39804 -0.00892695 0.135752 0.0992269 0.0271199 0.161195 -0.209072 -0.0858992 0.0995409 9.08677 3.10277 1.89396 2.46231 -1.04473 1.58173 0.782371 -0.298995 0.111143 0.957471 0.00324765 -0.00596296 0.0262 -0.0571314 -0.306384 0 0 0 0 0 0.00900215 0.0751083 -0.00103266 0 0 0 0 -8.18937e-05 0 -0.022937 0 0 -0.00228734 -0.00116516 -0.0128496 0 -0.00188106 -0.0295269 -0.137525 0 0 -0.0921106 -7.60456e-05 0 -0.00870465 -0.844972 0 0 -0.0107685 -0.231356 0 -0.0828865 0 -0.00628084 0 0 -0.000776626 0 0 -0.662113 -0.00175935 -0.0332824 0 -0.0215567 -0.0304422 0 0 -0.0722094 0 -0.00239784 -0.600446 0.0107994 0 0 0.00494238 0.00126979 0 -0.00794641 -0.00151797 -0.0251572 -0.985147 -0.0530811 -0.00757301 0 -0.0102072 0.0829335 -0.19624 -0.00878613 0.0600421 0 0 0 4.411 0.164534 0.916098 0.0302809 -0.0628251 0.617384 0.00305993 -0.00494697 0.0128822 0.196296 0 0 0 0 0 0 0.0721073 0 -0.185493 0 0 0 0 0.0825088 -0.0186773 0 0 -0.0624914 0 -0.00532717 0 -0.00926422 0 0 0.509347 0 1.05942 -0.0356491 -0.0450622 0.0767067 0 0 -0.0657375 0 3.58094 0 -0.137729 0.535027 0 -0.292226 1.26077 -0.00456272 0 0.0128833 0 0 -0.0100689 0 1.65879 0.312344 0 0 0.0536712 0 0 0.402576 -1.70285 0.139448 0 0.308547 0 -0.25963 -0.0240108 -0.0623415 0.0657872 0.116805 0.332299 0.0898614 -0.0686946 0.120356 2.78238 -0.0695555 0 0 0 -0.130879 0.0718254 0 0 0 0 0.0185907 -4.71606 1.10517 -0.816125 0.530104 -0.624423 0.850976 0.0812976 -0.0633518 0.0628755 0.168785 0 0 0 0 0 0 -300 0 0.777555 0.0996608 -0.000852917 0.0159573 0.0307995 -0.257735 0.537866 1.23165 0.00295034 0.131484 -0.00714218 -1.65347 1.34473e-05 -2.34001 -0.00896611 -0.0378696 0.895931 0.0435371 -0.0132548 -1.19702 0.00908184 0.0334592 -9.93678e-06 0.0555922 0.215363 -0.113808 -0.000970742 0.343077 -0.114131 -0.764254 -3.98959e-05 -0.220503 0.0172518 -0.016476 0.203955 -0.00214841 -0.0242441 -0.0497914 0.0213911 -0.760866 0.000125725 -0.234915 -0.00125297 -5.07939 -0.00122399 -0.726811 0.148861 -0.333571 0.00855344 -0.908964 0.207672 4.12151 0.0147874 -0.00196556 0.021031 1.96392 0.141679 0.0285161 -0.0314908 0.000315358 -0.0321739 0.226048 0.72275 0.746972 0.145183 -0.514705 -0.0133502 0.156346 -0.00085521 0.0942933 -0.0189673 -0.0679718 -0.11307 1.15988 -0.052632 0.516597 1.90667 -0.390966 -1.6807 -0.549145 0.659141 -1.87782 -0.236632 0.215883 -0.227746 -1.34414 5.34067e-05 -0.000509832 0.00304254 -0.013681 0.103052 0 0 0 0 0 -0.000852917 0.0159573 0.000299522 0 0 0 0 1.31779e-05 0 0.00998103 0 0 -0.00033191 -0.000343957 0.00267652 0 0.000406404 -0.00123329 0.0562199 0 0 0.0422318 -1.92214e-05 0 -0.0010642 0.00126144 0 0 0.00948347 -0.0233107 0 -0.0265286 0 0.0011091 0 0 0.000253455 0 0 -0.0497115 0.000274496 -0.00620007 0 0.00596095 0.0152758 0 0 -0.0128943 0 0.000405323 0.120033 0.00502981 0 0 0.000904872 -0.000602083 0 -0.00465295 0.0358136 -0.00528869 -0.0366178 0.0222644 0.0123083 0 -0.00584898 -0.0429574 -0.0561091 0.0164385 -0.0153863 0 0 0 0.586772 0.0426068 -0.136398 0.00364041 -0.0131928 0.077433 0.000481714 -0.0018281 0.0107005 -0.0499157 0 0 0 0 0 0 0.0307995 0 -0.257735 0 0 0 0 0.264284 -0.478919 0 0 -0.148152 0 -0.0153917 0 -0.0103791 0 0 0.069084 0 -0.221561 0.096135 -0.0712538 0.0011827 0 0 -0.132462 0 0.257769 0 -1.52599 -0.73036 0 0.664283 -0.484727 -0.00598329 0 0.043001 0 0 -0.0533882 0 -0.578984 -0.0617479 0 0 -0.0279194 0 0 -0.309218 1.22617 -0.0286423 0 -1.3329 0 0.38224 -0.0150291 0.0540259 0.000559412 -0.0530748 -0.187689 -0.201054 0.0234928 0.644104 -4.06497 -0.0105916 0 0 0 0.00303218 0.0260281 0 0 0 0 0.0437043 11.0162 0.646499 -0.789516 0.0571052 0.155808 -0.213259 0.0286265 -0.0317508 0.0679031 -0.393804 0 0 0 0 0 0 -301 0 -0.261322 0.0532551 -0.00899504 -0.188211 0.109561 0.00607325 0.35924 0.873657 -0.0494936 -0.101175 -0.0756037 -0.144853 8.87753e-05 0.251319 -0.00473977 0.436084 -0.36533 -0.0366202 -0.00448625 1.2211 -0.0175698 -0.164453 -0.000133261 -0.0969299 0.018563 0.316866 -0.00851011 -0.054626 0.118919 -0.059693 -0.00254285 -0.102261 -0.293703 -0.078919 -0.0118758 -0.00372633 -0.00214786 -0.303977 -0.0704593 0.358812 0.00147715 -0.412454 -0.00347521 0.732381 0.0234659 0.018949 0.0209228 -0.0791389 0.00518509 0.196904 -0.191833 -1.43598 0.0101109 -0.00903731 0.0658301 1.62465 -0.0226489 0.0775253 0.23342 -0.00102215 -0.647539 -0.820199 1.05602 -0.0260684 -0.0145147 0.0821805 0.148825 -0.0168065 0.00412529 0.684151 -0.182145 -0.0131954 0.120656 0.695207 0.0197923 0.263572 2.64582 2.23378 -2.33533 0.906144 -0.690559 0.799347 0.733884 -0.616607 0.789656 -1.67562 -0.00102389 0.00236447 -0.0131884 0.0360023 -0.107375 0 0 0 0 0 -0.00899504 -0.188211 0.000576114 0 0 0 0 4.63181e-05 0 0.0133876 0 0 -0.00135089 -0.000432834 0.00822831 0 0.000991534 0.0125536 0.130716 0 0 0.00570767 -3.43647e-05 0 0.0064791 0.400656 0 0 0.000701393 0.0847365 0 0.068195 0 0.00179918 0 0 0.000255052 0 0 0.268951 0.000959915 -0.0183501 0 0.0116775 -0.0131485 0 0 0.0592131 0 0.00133413 0.252394 -0.00349062 0 0 0.0026167 -0.000737558 0 7.17095e-05 -0.0339214 0.00271638 0.410744 0.010819 0.00804077 0 0.00790527 -0.0417237 0.0911221 0.00377529 -0.0376896 0 0 0 -2.36974 -0.0642525 -0.548776 -0.00504872 0.0178498 -0.353144 0.00169137 -0.00267451 0.00350851 -0.11589 0 0 0 0 0 0 0.109561 0 0.00607325 0 0 0 0 0.0788167 0.410675 0 0 0.296827 0 0.0193719 0 0.0275495 0 0 0.0392691 0 -0.142474 0.0958021 0.164169 0.0228755 0 0 0.336803 0 2.77759 0 1.08134 0.176114 0 0.466503 0.1053 0.0103864 0 0.0316262 0 0 0.0324173 0 1.0921 0.165609 0 0 0.0454205 0 0 0.327953 2.16144 -0.0902993 0 0.337099 0 -0.360214 0.167434 -0.163934 0.230138 0.0177033 0.0937939 -0.108769 -0.0123256 -0.250899 -0.728928 -0.0716424 0 0 0 -0.180941 0.0113599 0 0 0 0 0.0328455 -9.04231 -0.894213 -1.93207 0.0406849 -0.0528225 -0.0647503 0.0290375 -0.0625775 0.0577117 -0.342696 0 0 0 0 0 0 -302 0 0.245189 0.338607 -0.00953057 -0.1388 0.133191 0.259783 -0.190073 -0.890369 -0.036682 0.399448 -0.052621 0.136941 0.000142547 0.735155 0.0032191 0.584354 -0.253513 0.0533758 0.00784158 2.76202 -0.0110374 -0.353286 -0.000122377 -0.0303152 -0.471391 0.549246 -0.0158809 -0.48163 -0.144406 0.278142 -0.00214498 0.0473452 -0.579161 -0.0258951 -0.321198 -0.00273208 -0.119364 -0.800795 -0.122259 1.75265 0.00257614 -0.546611 -0.00716704 0.756478 0.0434759 1.01953 -0.381579 0.135673 0.00930111 0.900675 0.0286382 2.19695 0.0148834 0.00407451 -0.00325446 1.31675 -0.244775 -0.0157748 0.069484 -0.00181662 -0.63993 -1.53315 0.229514 0.98335 -0.0380201 -0.0209281 -0.047501 -0.0921043 -0.00197182 0.0546084 0.219214 -0.0230583 0.174796 0.0595903 0.637674 0.0444078 7.23994 1.16641 2.53579 0.776119 0.377569 0.0412438 0.379471 0.0579918 -0.743926 1.31445 -0.00359315 0.00847069 -0.0202675 0.0624207 0.17428 0 0 0 0 0 -0.00953057 -0.1388 -0.00289562 0 0 0 0 -0.000143147 0 0.00669119 0 0 -0.00341592 -0.00299558 0.00458952 0 0.000416922 -0.00502164 0.0676027 0 0 0.0399249 -0.000214726 0 0.000375404 0.068984 0 0 0.00808187 -0.0340049 0 0.00446361 0 0.00191064 0 0 0.000455101 0 0 -0.107109 -0.00200032 -0.0477908 0 -0.0405536 -0.0387372 0 0 0.0708652 0 -0.00591527 0.0306459 0.00785411 0 0 0.0069791 0.00499932 0 -0.0102784 -0.0314001 -0.0147222 -0.0874847 -0.0251692 0.0167769 0 -0.00722213 -0.0089274 0.00279426 -0.00853431 0.0382346 0 0 0 0.36869 0.0537389 -0.0694194 0.0100537 -0.0173313 0.0346992 0.00441486 -0.00693169 0.0127906 -0.0200784 0 0 0 0 0 0 0.133191 0 0.259783 0 0 0 0 -0.161373 -0.352357 0 0 0.45728 0 0.0521866 0 -0.00242335 0 0 0.217603 0 -0.853875 -0.0524438 0.161176 0.00817064 0 0 -0.0629191 0 0.344289 0 -2.20831 0.17767 0 -0.596392 -1.3446 0.0130728 0 -0.00413172 0 0 -0.0327124 0 0.22277 0.537638 0 0 0.0359335 0 0 0.13111 1.05937 0.0258116 0 -0.464988 0 -0.0514698 0.0318726 -0.0149495 -0.140719 -0.111127 -0.667187 -0.0528349 0.0376034 0.153017 0.698065 0.0127474 0 0 0 -0.122597 -0.0381061 0 0 0 0 0.103938 10.6121 -1.51834 2.80216 0.383343 -0.534134 1.00046 -0.0661805 0.0726661 -0.171521 0.286824 0 0 0 0 0 0 -303 0 0.701385 0.473382 -0.00394457 -0.0124018 0.032094 -0.0738926 0.843668 1.48861 -0.0439255 0.0869758 0.0199614 0.725826 0.000162125 -0.193175 0.0109287 2.33269 9.65178 -0.0320308 0.014366 1.15643 -0.00514527 -0.0456563 -0.000229352 0.0778684 0.59939 0.542942 -0.0076697 0.523609 0.995957 -0.109771 -0.00333338 0.221644 -0.0760476 -0.082577 0.326288 0.00159992 0.0340428 -0.753378 -0.0120273 0.0567843 0.00235258 -0.182525 -0.00236829 2.62721 0.0276998 -0.100857 0.710887 0.284729 0.00973044 -0.358326 0.128316 -4.44203 -0.00298237 0.0095654 -0.102276 -3.41503 0.0983733 -0.0198191 -0.0860415 -0.00560146 -0.371209 -0.0340378 -2.17819 0.174888 -0.241503 0.146385 -0.226721 0.291165 0.00690917 -0.321965 -0.194903 0.0918187 -0.123382 -0.879869 -0.301374 0.495314 5.75788 -0.19804 -0.0817186 -0.300038 0.623078 -2.04273 -0.462708 0.309147 -0.146263 -1.16958 -0.0022893 0.00267505 -0.0578715 0.0855701 -1.20199 0 0 0 0 0 -0.00394457 -0.0124018 0.00105162 0 0 0 0 3.98832e-05 0 0.00523212 0 0 6.18943e-05 -0.000770411 0.00304804 0 0.000447739 -0.00719191 0.0228503 0 0 0.0348468 -6.0276e-05 0 -0.00487088 -0.140863 0 0 0.011527 -0.0467168 0 -0.0461537 0 0.00257104 0 0 0.000862442 0 0 -0.135193 0.000570742 0.0018865 0 0.0147559 -0.0183476 0 0 0.0439801 0 0.00214775 0.00578039 -0.00270481 0 0 -0.000106833 -0.00181518 0 -0.00614003 0.0824055 -0.00372716 -0.160161 -0.00380978 0.0149956 0 -0.0137475 0.00602307 -0.0982959 0.0167515 0.0311465 0 0 0 0.854448 0.002785 0.006273 0.0138108 -0.0345343 0.0863216 3.87366e-05 -0.00213163 0.00757496 -0.0179519 0 0 0 0 0 0 0.032094 0 -0.0738926 0 0 0 0 -0.207844 -0.328203 0 0 0.136339 0 0.0138804 0 -0.00647804 0 0 0.0192917 0 -0.72158 -0.0692462 0.0578897 0.00860583 0 0 -0.0620408 0 -0.0563389 0 -4.45562 -0.802656 0 -0.349186 -1.77412 0.00526433 0 -0.0411078 0 0 -0.0369496 0 -1.04286 0.484942 0 0 0.0635057 0 0 -0.129876 -0.00407034 -0.049749 0 -0.703887 0 0.238497 0.0539961 -0.0227155 0.159533 -0.124655 -1.65167 -0.345168 0.0615342 0.237206 -4.51606 -0.0180442 0 0 0 0.036214 -0.0278595 0 0 0 0 0.0278935 31.2311 -0.141565 4.13712 0.485418 -0.155912 0.557922 -0.0436095 0.0425493 -0.0683143 -0.0154108 0 0 0 0 0 0 -304 0 -0.218835 -0.0718726 -0.0141834 -0.201997 0.261602 -0.107931 0.590015 0.430099 -0.0575031 -0.155846 -0.104617 0.724072 0.000222589 1.42395 0.0054871 0.301369 1.1579 -0.103107 0.0124652 1.96073 -0.0354653 0.0626949 -0.000200231 -0.166641 0.45451 -0.012414 -0.0199155 0.345847 0.920362 0.258393 -0.00344001 0.0462428 0.0691411 -0.04497 0.329695 -0.00363363 -0.10755 0.414768 -0.167289 0.453559 0.00396418 -0.195466 -0.00829825 2.851 0.0656843 -0.157079 0.623154 0.13971 0.00485274 0.169738 -0.180652 -0.0269499 -0.00132398 0.0139591 0.0194457 -1.06287 0.0282148 0.0149706 0.324026 -0.00319497 -0.482454 -3.696 0.341996 -1.28803 -0.046519 -0.245438 0.225307 -0.110921 -0.00215154 0.756632 -0.248662 0.0605727 0.14607 -2.94485 -0.599684 0.164908 4.72582 3.63297 -2.17184 2.01495 -0.634581 -1.68952 1.06767 -0.568181 0.352531 -0.666437 -0.00542861 0.0120777 -0.0776689 0.173316 -1.11076 0 0 0 0 0 -0.0141834 -0.201997 -0.00245238 0 0 0 0 -0.000141111 0 0.00799507 0 0 -0.00432676 -0.00408514 0.0072342 0 0.000576559 -0.00766202 0.105462 0 0 0.025545 -0.000293437 0 0.000244322 0.022165 0 0 0.00526423 -0.0448546 0 0.00614876 0 0.0018103 0 0 0.000473794 0 0 -0.130153 -0.00196769 -0.0603952 0 -0.0342564 -0.0497898 0 0 0.075333 0 -0.00501151 0.0277637 0.00965646 0 0 0.00884271 0.0042355 0 -0.0112967 -0.044635 -0.0176095 -0.121507 -0.0234507 0.018271 0 -0.00361223 -0.0173831 -0.0290722 0.00538297 0.040605 0 0 0 0.423415 0.0744198 -0.136144 0.0121458 -0.0202598 0.0394764 0.00560821 -0.00908695 0.0172628 -0.0338766 0 0 0 0 0 0 0.261602 0 -0.107931 0 0 0 0 -0.0212627 0.191457 0 0 0.487343 0 0.0424139 0 0.01138 0 0 0.0174306 0 0.357394 0.0108605 0.156488 -0.0495905 0 0 0.0711804 0 2.7895 0 2.34455 0.086817 0 -0.173003 0.911026 0.0104146 0 0.0122378 0 0 0.0307219 0 0.925163 -0.033382 0 0 -0.102538 0 0 0.079882 0.638828 0.0506679 0 -0.39312 0 -0.066218 0.104225 -0.0503903 0.305514 0.0460768 0.0263231 0.0208811 0.0679392 -0.189927 0.940799 -0.0503822 0 0 0 -0.103265 -0.0334134 0 0 0 0 -0.00563797 -18.8746 -1.83789 -0.986373 -0.218576 0.0602405 -0.31621 -0.0664407 0.0714538 -0.192695 0.185257 0 0 0 0 0 0 -305 0 0 0 0 0 -0.491594 0.0629505 0.197927 2.01803 0 0 -0.140343 -0.105087 0 0.163364 -0.00825546 0 0 0 -0.0768316 -5.95868 0 0 0 0 -0.0579931 0 0 -0.452441 3.95198 0.19715 0 -0.0153502 0 0 -0.135878 -0.0218406 0 0 -0.432115 -1.83087 0 0 -0.165926 -0.852087 0 -0.246896 0.415524 -0.0285672 0.241528 -0.439159 0.352733 0 0.0870988 -0.0358081 0.24833 -0.0271581 0.0894546 0.121676 0 0 0.635556 2.74962 0 0.755322 0.508101 0.835644 0 0 0 0 0.125023 -0.333525 0 0.815351 0.55253 0 0 0 -2.44572 0 0.549427 -4.79223 0 0.207128 0.0055279 -5.01001 0 0.193221 -0.198489 0.658698 -8.81119 0 0 0 -0.0714133 -0.00177383 0 0 0 0.00477551 -0.00490965 0 0.000212941 0 5.36144e-07 -0.00192596 0 0 0 0 -0.00788096 0 -0.000476045 0 -0.0627039 0 0.054854 0.0118097 0 -5.4733e-05 0 0 -0.00479592 1.01725e-05 0.000603192 0 -2.01434e-05 0 -0.000350612 -0.00958588 -0.00164009 0.000142437 -0.000325887 0 3.82992e-08 0 0 0 -1.4385e-06 0 0 2.0862e-05 -8.10041e-05 -0.0292484 -0.00122037 0 0 -0.000146473 0 0.000718167 0 0 -0.00230562 1.84569e-05 0.0258847 0.00151335 0 0 -0.0105804 0.0421407 -0.000181271 0.0551496 -0.00599688 0 -0.0177925 5.61624e-05 0.0405034 0 0 0 0.0610614 0 -6.08182e-05 0.00112039 0 -2.24305e-06 0.000103837 0.0307537 0 -3.87977e-06 0.000179605 -0.000337536 0.000421617 0 -0.491594 -0.0714133 0.0629505 -0.00177383 -0.196941 -0.124673 -0.00805062 0.299942 -0.0294037 0.000136015 0.0711117 -0.0147478 2.5162e-06 -0.000248546 -0.000165632 -0.000821129 0.040998 0.00710977 0.536502 -0.841415 0.213342 0.231682 -0.0587573 0.0816711 0.450023 0.211641 -0.0405956 -0.00885813 8.57196 0.115301 1.25914 1.55481 -3.19628e-06 1.50118 0.648132 -0.00131393 -0.00054675 0.0430049 0.0022172 1.29245 3.15075e-05 0.0345143 3.4311 1.42941 0.0069681 0.00261996 0.240579 -0.0894648 0.0480715 -1.46132 -0.674124 -0.581121 -0.10158 -5.07307 0.000167332 -0.36428 0.000596147 0.0285567 0.0305107 -0.4933 -0.500707 -0.0556984 0.155909 -0.216621 -14.9463 0.168141 -0.979761 0.0106096 -0.465013 -0.457043 0.000184143 -0.0712622 -0.000166439 0.25049 0.148723 0.000152751 -2.31963 0.0117807 -3.13296 -0.00795251 -0.500809 -1.35117 6.25386e-06 -0.147052 0.146248 -1.26583 -1.58506e-05 -0.0661734 -0.103063 0.034031 -0.962292 0 -306 0 0 0 0 0 -0.127274 0.246059 -0.867716 -2.02587 0 0 0.0379413 0.41444 0 0.931415 0.000154786 0 0 0 -0.0166043 -1.50732 0 0 0 0 -0.4937 0 0 -0.89486 -2.41635 0.418537 0 0.0360488 0 0 -0.278633 0.001698 0 0 0.260778 -0.266678 0 0 0.0197932 1.15455 0 0.261443 -1.29068 0.147088 -0.116834 -0.693055 -0.129631 0 0.0164162 0.107949 -0.0526412 -1.33927 0.277026 -0.294463 0 0 -0.612506 0.395289 0 -0.590637 0.198036 0.428285 0 0 0 0 -0.265647 0.263585 0 -2.8165 0.565459 0 0 0 3.18216 0 -0.360316 3.53484 0 -0.105505 0.32689 3.42249 0 -0.292882 1.01532 -2.01414 7.32748 0 0 0 -0.0402713 -0.00113684 0 0 0 0.00415241 -0.000257388 0 0.000159118 0 8.95827e-09 -0.00122889 0 0 0 0 -0.0186452 0 -0.000354168 0 -0.0551269 0 0.0464793 0.0113697 0 -1.61371e-05 0 0 0.00826247 -1.48514e-07 0.000377426 0 -1.05488e-06 0 -1.83906e-05 -0.0123817 -0.000292205 3.9324e-07 -0.000226077 0 1.62831e-10 0 0 0 -7.53586e-08 0 0 1.52262e-06 -4.32079e-06 -0.0102754 -7.06124e-05 0 0 2.124e-05 0 3.75484e-05 0 0 -9.32363e-05 -2.47642e-06 0.036811 8.83517e-05 0 0 -0.00178226 0.0270377 -6.20727e-06 0.0384361 0.0215728 0 -0.0173907 9.30952e-06 0.0338706 0 0 0 0.0535761 0 -1.67907e-07 -0.00792849 0 -6.19263e-09 4.80617e-06 0.0190969 0 -1.07113e-08 8.31314e-06 -1.47239e-05 -0.00708652 0 -0.127274 -0.0402713 0.246059 -0.00113684 -0.166361 0.00620779 -0.00561652 -0.2176 0.0171169 8.12645e-05 0.0364737 -0.0160083 1.58454e-06 -0.000170921 -0.000110269 -0.000357498 0.0390072 0.00392356 -0.290652 -0.57665 0.371606 -0.189002 -0.0317028 -0.0653681 0.303411 -0.220346 -0.0196979 0.00541563 3.37399 0.189562 -0.0590462 1.55418 -2.06871e-06 -1.21436 0.592334 -0.000768057 0.00543396 -0.0397886 0.0463977 -1.06186 0.000539242 -0.0430929 2.69943 -0.806674 0.00506117 0.0222812 -0.0450569 -0.00935109 -0.154174 -0.293566 0.841132 0.42686 -0.0674709 -2.2199 0.000115843 0.664871 0.000750595 -0.0643881 0.0135908 0.194913 -0.310495 -0.000825927 -0.160246 -0.149871 -10.0891 0.0452199 0.0179868 0.13561 0.199456 -0.310686 0.000149736 -0.126507 -9.81821e-05 0.190292 -0.0689764 -0.000898332 0.108777 0.0148301 3.12467 -0.00354825 -0.266214 2.39058 1.22235e-05 -0.15117 0.255074 0.735411 -8.74723e-06 -0.18267 0.41003 -0.629461 1.35573 0 -307 0 0 0 0 0 0.193737 0.23035 0.165666 -0.482814 0 0 0.118573 0.510868 0 2.11647 0.0100328 0 0 0 0.070214 3.60956 0 0 0 0 -0.291771 0 0 -0.421433 -3.14224 0.538466 0 0.0139174 0 0 -0.112357 0.0174528 0 0 0.558375 1.52657 0 0 0.12417 2.9359 0 0.85527 -0.832383 -0.0754486 -0.0870088 2.06639 -0.158911 0 -0.0235554 0.228474 -0.405341 -2.47029 0.0534736 0.570984 0 0 -0.0682578 -4.41634 0 0.323685 -0.131456 -1.16402 0 0 0 0 0.341648 0.0279274 0 -2.96154 0.368252 0 0 0 -0.545828 0 -2.20029 7.00735 0 -0.576782 1.29255 0.901259 0 -0.705375 1.66827 -2.73953 8.46165 0 0 0 0.00154034 -0.000265888 0 0 0 0.0032784 -0.00779389 0 9.45403e-05 0 6.44737e-07 -0.000317129 0 0 0 0 0.00424207 0 -8.4557e-05 0 -0.00219139 0 0.0391729 -0.000879122 0 -2.20529e-06 0 0 -0.00334317 1.07203e-05 0.000346614 0 -3.19711e-05 0 -0.000556583 0.000762774 -0.000824225 0.000149823 -4.97814e-06 0 4.61148e-08 0 0 0 -2.28315e-06 0 0 2.17757e-05 -0.000129468 -0.00202761 -0.00189832 0 0 -0.000232785 0 0.00113761 0 0 -0.00367712 -6.07255e-06 0.0170503 0.00239713 0 0 -0.00312025 0.00910049 -0.000333077 0.0096966 0.0172474 0 0.000734668 0.000117166 0.01927 0 0 0 0.00854196 0 -6.3972e-05 -0.00209486 0 -2.35937e-06 0.000160762 0.00164666 0 -4.08096e-06 0.000278067 -0.000512325 -0.00280266 0 0.193737 0.00154034 0.23035 -0.000265888 0.241524 0.072458 -0.00137717 -0.374794 -0.054887 3.13932e-05 0.00275135 -0.0201387 5.02515e-07 -0.000217907 -2.96931e-05 -0.000780052 -0.0108129 0.00194154 0.652363 0.796667 0.0294704 -0.181631 -0.0292529 0.0397815 -0.151254 -0.285048 -0.0529409 0.0214942 2.68838 0.360184 -1.80192 1.03693 -5.80108e-07 -0.816974 -0.557321 -0.000429609 0.00928874 -0.0795682 0.0703899 -1.75397 -0.000488781 -0.0481199 2.59932 0.319788 0.0020241 0.051709 0.0405985 0.127851 0.0785693 0.973985 2.18424 1.85194 0.0367234 1.32766 2.93428e-05 1.24119 0.000229774 -0.398189 -0.0131975 0.0355023 2.41974 0.00431507 0.103526 -0.0132522 -5.0376 0.40769 0.70121 0.103017 0.59753 0.175565 1.13278e-05 -0.00706109 -4.21977e-05 -0.00130532 -0.261843 0.000384321 3.31958 0.0211317 -2.73064 0.000220228 -1.71805 4.46697 1.96673e-05 -0.568018 0.660431 0.00881553 -4.32849e-06 -0.37625 0.574868 -0.769533 1.63943 0 -308 0 -0.708174 -0.370377 0 0 -0.00248781 -0.303786 1.09526 2.2947 0 -0.275569 0 -0.652688 0 -1.02641 0 -1.10018 -2.90031 -0.0535881 0 0.529983 -0.00362135 0.217637 0 -0.0288172 0.573421 -0.425869 -0.00142814 0.6085 1.36685 -0.365037 0 0 0.540563 -0.0117816 0.363115 0 -0.0212404 2.96695 0 -0.254579 0 -0.0804609 0 -2.20815 0 -0.58322 0.939459 0 0 -0.125339 -0.0470584 1.54172 0 0 0 1.90881 0.0241654 0 0.0290557 0 0.367232 -0.343256 0.863333 -0.0785649 0.0592663 -0.665688 0.202843 -0.0670886 0 0.0451737 0.13989 0 -0.0179236 0.788147 -0.727823 -0.125648 -8.65259 0.292475 -6.25286 -0.270206 0.647564 -6.29832 -0.0388398 0.0378151 0.192651 -5.16446 0 0 0 0 -3.85624 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.00248781 0 -0.303786 0 0 0 0 -0.0649966 0.29816 0 0 0.0347129 0 -0.00282881 0 0.000843637 0 0 0.232739 0 0.289806 0.0507145 -0.0128633 0.0338991 0 0 0.0270108 0 0.114288 0 1.4922 -0.268901 0 0.299558 0.212456 -0.00162573 0 0.00237588 0 0 0.0220252 0 0.177354 -0.308798 0 0 -0.0201873 0 0 -0.259034 0.930719 -0.0675551 0 -0.911596 0 -0.0890918 -0.0904434 0.126972 -0.0325081 -0.132117 0.286413 0.198956 0.0911262 -0.587026 -6.36908 0.113869 0 0 0 0.055169 -0.0497774 0 0 0 0 -0.0898594 -6.91823 -0.820652 -0.590007 -0.307719 0.296814 -0.857591 0.000517622 -0.0045108 -0.0119064 -0.175733 0 0 0 0 0 0 -309 0 -0.570576 -0.319128 0 0 -0.148403 -0.228157 -0.339015 -1.1202 0 0.213617 0 -1.71261 0 -2.22377 0 -2.56368 -10.5261 0.0132255 0 -2.12592 0.0027588 -0.100725 0 0.0363832 -0.307721 -0.567775 0.00269986 0.369709 0.454057 -0.634203 0 0 -0.620904 0.0110748 -0.0454757 0 0.0339856 -2.33774 0 -1.10034 0 0.157098 0 -5.99352 0 -0.628662 0.431639 0 0 0.744893 0.116597 9.4761 0 0 0 5.97037 -0.12556 0 -0.0738295 0 0.823708 2.9883 0.84425 0.921123 -0.169176 0.161861 -0.06547 0.109438 0 -0.121293 0.113601 0 -0.0618735 5.04532 -0.159389 -0.262523 5.63478 -0.725317 4.28646 -0.0407754 0.0215715 1.39942 -0.221204 0.271787 -0.461101 0.901852 0 0 0 0 -1.28101 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.148403 0 -0.228157 0 0 0 0 -0.29013 0.281501 0 0 0.10887 0 0.0164643 0 0.00387835 0 0 -0.399997 0 -0.0937219 -0.0991472 0.0203961 -0.0436409 0 0 0.014879 0 -9.78677 0 -0.94713 -1.30652 0 -0.424718 -0.452655 0.00407784 0 -0.0490477 0 0 0.0404207 0 -3.55177 -1.40446 0 0 -0.157437 0 0 0.239925 2.0522 -0.128927 0 1.6495 0 -0.140268 0.165109 -0.105679 -0.281308 0.0841248 1.40006 0.254969 0.0978064 -0.423457 8.14064 0.069245 0 0 0 -0.0209603 -0.0796439 0 0 0 0 -0.0845971 2.5819 -0.592379 1.5615 0.042469 0.0459978 0.237008 -0.151454 0.156127 -0.128302 0.175136 0 0 0 0 0 0 -310 0 0.329597 0.228685 0 0 -0.0347146 0.102118 -0.926779 -1.73251 0 0.303395 0 -0.709012 0 -1.4433 0 0.260707 -1.23302 0.0338843 0 -1.68366 0.00688876 -0.41599 0 0.0595974 -0.650262 0.421786 0.00183969 -0.308745 -1.05005 -0.33045 0 0 -0.866946 -0.0196236 -0.441423 0 0.00623616 -1.88489 0 -0.393764 0 -0.113485 0 -2.83692 0 0.115451 -0.600897 0 0 0.509667 0.115551 0.999989 0 0 0 5.53616 -0.0558403 0 -0.0645238 0 1.18575 3.76584 1.83731 1.57729 -0.149463 1.16261 0.0392022 0.151472 0 -0.132646 -0.0646177 0 0.0414049 5.45751 0.75423 -0.0888162 3.83135 -2.22147 8.22948 -1.19316 1.33685 4.24916 -0.571999 0.596341 -0.658528 4.4669 0 0 0 0 2.96246 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.0347146 0 0.102118 0 0 0 0 -0.058027 -0.234744 0 0 0.0905644 0 0.0127481 0 -0.0017286 0 0 -0.409167 0 -0.689437 -0.0229438 0.048408 -0.0228412 0 0 0.0124418 0 -5.042 0 -1.06453 -0.874194 0 -0.180816 -0.861552 0.00548169 0 -0.0146855 0 0 -0.0360235 0 -2.37733 -0.27017 0 0 0.0201994 0 0 0.595425 1.66411 -0.0213231 0 3.27492 0 0.39179 0.0242463 -0.0166695 0.400609 0.22074 0.133991 -0.0262408 -0.0132575 -0.0176593 18.5018 -0.152099 0 0 0 -0.0714932 0.0470898 0 0 0 0 0.0704296 -9.66578 -2.60703 1.94138 -1.4139 1.00657 -0.470394 -0.189518 0.167297 -0.142227 0.0525536 0 0 0 0 0 0 -311 0 -1.16493 -0.199292 0.00149833 0.0360699 -0.156669 -0.071762 -0.476737 1.22069 0.00781737 -0.22048 0.0409605 -0.298629 -3.04838e-06 -0.56248 0.00133365 0.095243 -2.89715 -0.0253537 0.00193337 2.30291 0.00180676 -0.121812 3.90884e-06 -0.0801331 0.119231 0.352089 0.0100272 -0.118742 -1.23079 -0.159654 0.000181136 0.0636259 0.43373 0.0827384 -0.214368 0.00103711 -0.0397812 5.13022 0.0817096 1.08465 -0.000149138 0.26751 0.00184192 -1.57082 -0.00673078 0.531532 -0.514828 0.0945703 -0.0031799 -1.00027 0.0349675 -0.177177 -0.00204023 0.00233811 -0.0149407 -1.24059 0.00638655 -0.0419173 0.0811998 0.000205185 0.092135 -1.89102 0.558225 -1.37911 0.0748445 0.121161 0.877357 0.0619701 -0.000196603 0.548284 0.0748695 0.0305941 0.0817868 -0.966368 -0.0574876 0.302436 -15.765 -0.183474 -5.5303 -1.11195 1.51172 -4.91515 -0.18694 0.286826 -0.0819003 -1.43376 2.67193e-05 -0.000331997 0.00565689 -0.0700687 1.17541 0 0 0 0 0 0.00149833 0.0360699 -0.00211067 0 0 0 0 -6.02966e-05 0 -0.0058755 0 0 1.21474e-05 -6.69348e-06 -0.000570189 0 -0.000138068 7.02993e-05 -0.0247807 0 0 -0.0030703 -5.82672e-07 0 0.00212717 -0.194177 0 0 0.000815298 0.0023887 0 0.0355571 0 0.000104375 0 0 4.43217e-05 0 0 0.0649227 -0.000836797 0.000252365 0 -0.0288473 0.0141675 0 0 -0.0230375 0 -0.000418944 0.0522496 0.00148241 0 0 1.69956e-05 0.00432937 0 -0.00111964 0.0119019 -0.00413105 0.0862809 0.000285902 0.00367446 0 -0.00685669 0.00231733 0.00512549 -0.000908546 -0.0178078 0 0 0 0.0993541 0.00443111 0.0583268 -0.00210575 0.00555236 -0.00423453 -9.50371e-06 -8.11082e-07 -2.74755e-05 0.00361879 0 0 0 0 0 0 -0.156669 0 -0.071762 0 0 0 0 0.394331 0.437768 0 0 0.0154739 0 -0.00921645 0 0.0106044 0 0 -0.923812 0 -0.184518 0.16125 0.0376857 -0.0873935 0 0 0.121398 0 -13.0184 0 3.80527 -1.11291 0 1.22978 0.541212 0.00277703 0 0.0527287 0 0 0.0340882 0 -4.07774 -2.44869 0 0 -0.245779 0 0 0.38529 -0.197524 -0.599743 0 2.50257 0 -1.05922 0.00134915 0.169728 0.361999 -0.103821 -0.299811 0.517992 0.139387 -0.886201 10.6299 0.091723 0 0 0 -0.0355483 -0.0234676 0 0 0 0 -0.0787237 -17.1895 -1.36866 -2.73963 -1.458 1.19496 -2.01399 -0.0547388 0.0427081 -0.0213979 -0.500232 0 0 0 0 0 0 -312 0 0.0770564 0.193714 -9.90077e-05 -0.0104506 -0.0952974 -0.0197658 -0.0322284 -0.349397 -0.000576533 0.158278 -0.0174339 0.607828 1.13806e-07 0.743891 -0.000403665 1.12194 4.85842 0.0388024 -0.000608353 1.95688 0.00830366 -0.0786709 -1.85262e-07 0.0098434 0.0514298 0.255224 0.0104781 0.34319 0.242777 0.0489654 -1.06452e-05 -0.026509 -0.245157 0.0316443 0.0279045 -0.000298753 0.0347238 -2.11298 -0.0219627 0.757671 1.2617e-06 0.266684 -0.00042418 2.74703 -0.000242401 0.208365 0.331794 -0.0422757 0.000686637 0.735216 0.177067 -4.22961 0.000522617 -0.000739129 -0.00035063 -1.77943 -0.223284 0.035923 -0.107606 1.23303e-06 0.346325 -1.09771 -0.0815991 0.803397 -0.423364 0.238273 -0.479282 0.173852 1.4234e-05 -0.127374 0.0646512 -0.0226427 -0.0252834 -0.328947 0.0194752 -0.0650509 9.03557 0.132358 2.64305 0.626663 -0.635328 2.40424 -0.339219 0.462481 -0.598107 1.06292 9.62262e-07 3.74771e-05 -0.000366132 0.0166124 -0.231853 0 0 0 0 0 -9.90077e-05 -0.0104506 0.000162609 0 0 0 0 3.80574e-06 0 4.22105e-05 0 0 1.66074e-06 3.73152e-07 3.23221e-05 0 5.56419e-06 -3.72974e-05 0.0010167 0 0 -0.00682546 -1.10711e-07 0 -0.000107892 0.00631866 0 0 -0.000574889 -0.00305167 0 -0.00304199 0 -0.000104275 0 0 -8.57799e-06 0 0 -0.0175421 5.32586e-05 0.000185664 0 0.00227597 -0.000939073 0 0 0.00139473 0 3.5505e-05 -0.00629554 2.99528e-05 0 0 -1.04886e-05 -0.000367683 0 0.000221196 -0.00100819 7.8413e-06 -0.0110077 0.000977912 0.00123965 0 0.00096981 0.00106647 0.00136647 -0.000415924 0.00286597 0 0 0 -0.0159853 -0.00377599 -0.00278367 -6.19273e-05 -0.000554627 0.00730314 -1.07051e-05 -1.88675e-05 -7.32583e-06 3.81426e-05 0 0 0 0 0 0 -0.0952974 0 -0.0197658 0 0 0 0 -0.015777 0.62478 0 0 0.15377 0 0.0149507 0 0.0213703 0 0 0.331828 0 -0.258945 -0.0730592 0.124095 0.0527319 0 0 0.170002 0 1.75145 0 -1.71979 -0.775452 0 -0.212894 -0.43649 0.0131761 0 -0.0180419 0 0 0.0780003 0 -0.549869 0.682726 0 0 0.109755 0 0 -0.0398238 -1.57962 0.129742 0 0.603335 0 -0.498247 0.257295 -0.269723 -0.309391 0.0461147 0.517113 -0.240462 0.156257 -1.10475 4.58686 0.0287523 0 0 0 -0.130793 -0.138408 0 0 0 0 -0.147251 16.2642 1.41452 1.29613 0.540092 -0.196881 0.652751 -0.193828 0.252336 -0.236838 0.300169 0 0 0 0 0 0 -313 0 0.555257 -0.224565 0.00253709 0.114564 -0.0381954 -0.205541 -0.570044 -2.20359 0.0105843 0.720458 0.0413896 -0.720387 -4.44833e-06 -1.59597 0.000976977 -1.88204 -3.87033 0.153983 0.00160288 -4.5039 0.0276698 0.219094 4.82003e-06 0.149124 -0.0886097 -0.782206 0.0165286 0.48795 -0.0229557 -0.402477 0.000228762 0.0565671 0.0710785 0.0414113 0.218601 0.000969335 0.0274394 -1.04605 0.0652997 -2.28084 -0.000235529 -0.190207 0.00172098 -2.02633 -0.0122795 -1.17458 0.290836 0.0980957 -0.00341994 -0.400781 0.149191 4.39159 -0.00185939 0.00349057 0.00130382 0.990382 0.272038 -0.0457823 -0.137727 0.000327996 -0.917892 3.72454 -0.747168 -1.54402 -0.429707 0.085217 0.343409 0.264308 -0.000224729 -0.12977 -0.0969555 0.00932437 -0.0109357 1.17911 -0.102039 0.510359 -4.04232 -3.74135 8.04168 -2.31197 2.85675 -1.88807 -0.988171 1.1709 -1.43664 2.61994 4.87461e-05 -0.000439417 0.00590904 -0.0317598 0.0219228 0 0 0 0 0 0.00253709 0.114564 -0.00319568 0 0 0 0 -8.0922e-05 0 -0.00340924 0 0 -0.000152628 -4.76965e-05 -0.000461 0 -0.000128362 -0.000741983 -0.00942992 0 0 0.0408477 -3.47453e-06 0 0.00308428 -0.391244 0 0 0.00626172 -0.0368491 0 0.0654761 0 0.000608894 0 0 0.000111165 0 0 0.16763 -0.00115434 -0.00211849 0 -0.0467271 0.0216315 0 0 0.0343284 0 -0.0015972 0.119044 0.00119522 0 0 -0.00019611 0.00640071 0 0.00289537 0.0121678 -0.00338518 0.0775371 -0.00452367 0.00207989 0 -0.0102391 0.000906281 0.0424784 -0.0115766 -0.0155724 0 0 0 -0.580772 -0.0236452 -0.0476697 -0.00574959 0.00390697 -0.0185629 5.96043e-05 -9.24603e-05 0.000300666 0.00217066 0 0 0 0 0 0 -0.0381954 0 -0.205541 0 0 0 0 -0.0648904 -0.0587101 0 0 0.225449 0 0.0431119 0 0.0116714 0 0 -0.498259 0 0.887587 -0.036493 0.1703 -0.054159 0 0 0.0847486 0 2.95584 0 1.58882 -0.336247 0 -0.462691 1.33505 0.0235358 0 0.00573417 0 0 -0.00226444 0 -0.497632 0.539383 0 0 0.0678976 0 0 0.229469 -0.497907 0.139701 0 0.876248 0 -0.0728031 -0.0166352 -0.0844891 0.268403 0.0352653 -0.972748 -0.215125 0.0146065 0.301609 -0.0332794 -0.16094 0 0 0 0.125382 -0.013005 0 0 0 0 -0.0131243 -19.8913 -5.82835 5.76604 -2.26902 1.43381 -0.905975 -0.292814 0.208975 -0.169431 0.287375 0 0 0 0 0 0 -314 0 0 0 0 0 -0.431967 -0.298838 0.208346 2.27891 0 0 1.05687 -1.08944 0 -1.31312 0.196398 0 0 0 0.311347 2.53945 0 0 0 0 0.383867 0 0 -0.127144 -8.82304 -0.591804 0 0.557991 0 0 0.100097 0.193298 0 0 3.81639 -0.881028 0 0 0.94051 -2.40464 0 -1.08639 -2.32281 0.175861 -1.90935 2.84059 -1.8334 0 -0.347383 0.498794 -0.856521 -0.813539 -0.916688 -1.77321 0 0 -0.461388 2.706 0 -1.81868 -1.89065 1.27405 0 0 0 0 -0.673443 3.18787 0 -0.767415 3.2466 0 0 0 -6.01876 0 -6.68287 10.9852 0 -2.70172 3.29998 -3.37707 0 -3.94036 6.50043 -13.3195 30.5348 0 0 0 -0.228354 -0.0928584 0 0 0 0.050262 -0.032966 0 0.00477875 0 0.000273218 -0.0166959 0 0 0 0 -0.0914098 0 -0.0220098 0 -0.0637211 0 0.393577 0.231232 0 -0.000769152 0 0 -0.172611 0.00029948 0.0491929 0 0.0147331 0 -0.00222386 0.0374585 -0.00379137 0.0091973 -0.0138631 0 3.28814e-06 0 0 0 0.00108746 0 0 -0.00245169 0.00934579 0.0426113 0.0123666 0 0 -0.015983 0 0.0138427 0 0 0.00663858 -0.0313672 -0.136043 -0.0343547 0 0 0.0892956 0.0745189 0.0368431 0.0161014 -0.101487 0 -0.405068 -0.0235598 -0.102382 0 0 0 0.338181 0 -0.0575646 0.855646 0 -0.00532989 0.0983324 0.153598 0 4.84641e-05 -0.00470457 -0.0140793 0.549978 0 -0.431967 -0.228354 -0.298838 -0.0928584 0.419254 0.217412 -0.480202 0.845529 0.96376 0.152185 -0.035603 1.05346 0.0266185 0.221962 -0.141401 0.107851 -0.0641264 0.850931 -0.247811 1.44846 0.32212 0.0570716 0.1868 -0.0237847 -0.652121 -0.316786 0.974009 0.0209576 2.46871 0.0114886 2.88935 -0.44614 -0.0281785 0.536211 1.1292 0.0629102 0.00261748 0.109092 0.0621908 -1.57109 -0.0636704 -0.0562346 0.456181 -0.579781 -0.00356523 -0.042043 0.0221198 0.147297 -0.521583 -0.832536 -2.534 1.32541 0.193783 -1.51863 0.206866 -1.635 -0.185468 -0.721413 -0.438361 -0.190727 -0.376782 -0.966073 0.621086 -2.41748 -3.22037 -0.156272 0.54173 0.00089676 0.0466204 0.0502774 -0.53439 0.234441 -0.379458 0.251348 -0.0166674 -0.391429 -13.0703 -4.01191 -1.27944 -3.20918 1.43045 0.347369 -0.948147 0.679923 -0.488794 -0.842104 -0.756609 0.519603 -0.284907 -0.558665 2.01356 0 -315 0 0 0 0 0 0.385881 0.101956 0.657435 0.147254 0 0 0.809701 0.659513 0 2.12337 0.147506 0 0 0 0.262986 1.18148 0 0 0 0 0.0960762 0 0 -0.504602 -8.55469 0.398513 0 0.719021 0 0 0.130646 0.156078 0 0 1.99068 -0.103982 0 0 0.388249 3.6724 0 -0.0413236 -2.18747 1.24718 -1.02852 1.76034 -1.62449 0 -0.15999 0.129333 -0.58252 -0.382715 -0.484599 -1.42436 0 0 1.37008 1.74954 0 -1.40149 -0.847696 0.195476 0 0 0 0 0.208944 2.00101 0 -2.22575 1.55571 0 0 0 -0.811365 0 -4.08198 12.384 0 -2.14967 5.05007 -1.64857 0 -2.0478 6.61834 -10.7771 29.8586 0 0 0 -0.138465 -0.0276299 0 0 0 0.0310631 -0.0653752 0 0.00209441 0 0.00840703 -0.0220063 0 0 0 0 -0.0997976 0 -0.0157319 0 -0.181561 0 0.310783 0.440374 0 -0.00527068 0 0 -0.402153 0.00379918 0.0615481 0 -0.00516139 0 -0.00434885 0.207617 -0.0452103 0.0525167 0.0262435 0 0.000613629 0 0 0 -0.000348262 0 0 -0.0164802 0.000268551 -0.0297366 0.0506139 0 0 -0.036856 0 0.0124605 0 0 -0.0335469 0.000394246 -0.0525387 0.00818543 0 0 0.0674149 0.0407596 -0.0200843 0.0514076 -0.153941 0 -0.121227 -0.00387208 0.0267087 0 0 0 0.670878 0 -0.145744 1.14414 0 0.00960567 0.00350829 0.341329 0 -0.00582415 0.0275958 -0.0850944 0.572458 0 0.385881 -0.138465 0.101956 -0.0276299 0.960272 0.155398 0.00178911 0.683749 0.667677 0.0589948 -0.0256687 0.0813999 0.00806242 0.0168317 -0.0146555 0.0856026 -0.0081592 0.43545 0.320773 0.740321 -0.0332311 -0.0162029 -0.286349 0.0440427 -0.1593 -0.22925 0.724698 0.010118 8.75287 -0.00472798 0.507204 1.25868 -0.00437409 -0.163048 0.105276 -0.0379651 -0.00164322 0.0786709 -0.0118467 -2.02097 0.0400902 -0.0253989 4.35301 0.615642 -0.00214649 -0.00081139 0.0521494 0.0868016 -0.118685 0.919229 1.43414 0.0236277 0.0476414 -1.37079 -0.0351245 -1.03615 -0.230398 -0.0212138 0.304854 0.338599 -0.204813 0.227441 -0.519205 0.0548217 -4.41009 -0.0215209 0.417855 -0.116607 -0.304271 -0.341534 -0.0229961 0.019242 -0.167031 0.236617 0.23558 -0.272331 -2.29439 -0.4701 1.17666 -1.2104 0.357522 4.34562 -0.281719 -0.0823363 0.979707 -0.371883 -0.387183 0.234717 0.305725 -0.845812 3.06735 0 -316 0 0 0 0 0 -0.294425 0.369753 -0.633302 -0.259072 0 0 0.0419898 1.16032 0 1.95903 -0.0177538 0 0 0 0.125898 -0.777206 0 0 0 0 -0.427316 0 0 -0.880527 0.136065 0.655347 0 -0.158461 0 0 -0.357628 -0.00815825 0 0 -0.122848 0.243314 0 0 -0.119586 5.25634 0 0.609598 -1.03404 0.52272 0.11578 2.73808 0.110254 0 -0.161662 0.060867 0.127952 1.65401 0.85808 0.069699 0 0 -0.23826 0.934058 0 -0.556263 -0.237872 1.00562 0 0 0 0 -0.368541 -0.0261118 0 -1.27546 0.95723 0 0 0 -0.801456 0 0.0890807 0.641306 0 0.171807 -0.376936 3.04478 0 0.344286 -0.419241 0.975829 -0.504911 0 0 0 -0.000763814 0.0106558 0 0 0 0.0160971 -0.0160053 0 0.00326132 0 0.000661787 0.0377643 0 0 0 0 0.0752808 0 0.014929 0 0.210877 0 0.0866352 -0.10264 0 0.00020269 0 0 -0.00461827 0.000182385 -0.0144178 0 -0.0031548 0 -0.00111811 -0.0298628 -0.000166385 0.00329801 -0.0017513 0 4.45579e-05 0 0 0 -0.000226498 0 0 -0.0021821 -0.00150962 0.0623643 0.0118145 0 0 0.000353012 0 0.000933412 0 0 -0.0175623 -0.00219264 0.12567 0.0187535 0 0 -0.0897838 -0.0291511 -0.0392391 -0.0580661 -0.085317 0 -0.10672 0.00812501 0.0764398 0 0 0 -0.468925 0 -0.0193652 0.23321 0 0.000501641 0.018726 -0.0485113 0 -0.000510135 0.000769718 -0.00731724 0.150548 0 -0.294425 -0.000763814 0.369753 0.0106558 -0.176236 -0.0300921 0.236732 0.00285798 0.640864 -0.0113717 0.00465852 0.13089 -0.00227286 0.0185163 0.0302011 -0.0219249 0.0100957 -0.0474991 -0.489654 0.404806 0.417648 -0.182668 0.0124781 -0.0633965 0.0887163 0.0538766 -0.210652 0.00513243 7.3305 -0.0546494 2.26509 1.25881 0.00408189 -0.0695904 1.17142 0.00227675 -0.00321561 -0.0891821 -0.0275359 0.450088 0.0910111 0.00772859 2.39226 -0.0717052 0.000514422 -0.00246734 0.0333924 0.0590468 0.0141766 0.556319 -0.253288 0.582056 -0.0194359 0.0491153 -0.101886 -0.329784 0.157885 0.0114952 0.199691 0.146384 -0.40349 -0.0379955 0.0723217 0.959261 -1.78178 -0.210764 0.301289 -0.0113469 -0.000370481 -0.368438 -0.015965 -0.0153275 0.0419063 0.0542277 0.0434638 -0.118177 -10.2464 -1.57323 -0.835992 -0.899575 1.68948 -4.14721 -0.0314084 0.221761 -0.571766 0.352291 0.042234 0.0315006 -0.126098 0.208003 -0.622115 0 -317 0 -0.766556 -0.382749 -0.13044 -0.236826 0.19572 0.324218 -1.69466 -4.4333 -0.580475 3.70463 -0.307456 0.0929174 0.0569196 0.154023 -0.0392673 -2.19277 -10.0791 0.518106 -0.0454852 3.00665 0.131007 -0.120942 -0.0697618 0.976034 -0.926035 -0.216994 -0.0328719 -0.392589 0.378901 0.108432 -0.238501 -0.376578 0.787532 -0.517166 -0.542362 -0.0834347 -0.461253 7.13089 -0.865119 1.72854 0.231313 -2.24243 -0.259978 0.526477 0.862912 0.989165 -0.115182 -0.681277 0.629862 1.32684 1.8387 3.75921 0.13307 0.0100011 0.0539015 -2.78328 -0.617334 0.0660708 -1.57229 -0.451674 0.847588 -2.23218 -3.65563 3.18085 0.234896 0.482393 -2.8204 -0.636078 0.297633 -2.67774 0.409025 -0.668316 0.655833 -0.088763 0.135689 1.50684 -31.146 -14.7759 10.9415 -8.20949 7.07131 -11.0496 -3.86599 3.96132 -6.18879 8.21441 -1.28716 1.57499 -1.71686 1.84619 -1.25956 0 0 0 0 0 -0.13044 -0.236826 -0.00472892 0 0 0 0 0.000982074 0 0.00472933 0 0 -0.00447502 -0.0221041 0.0689384 0 0.00540861 -0.122306 0.087424 0 0 0.117679 -0.00160469 0 0.0115325 -0.713509 0 0 0.0216259 -0.204088 0 0.0417257 0 0.020985 0 0 0.00462222 0 0 0.0830471 0.0133874 -0.0600593 0 -0.0689403 -0.0614336 0 0 -0.0278867 0 0.00160233 -0.371487 0.00417795 0 0 0.00940092 0.0149259 0 -0.00989801 -0.0358295 -0.0210005 0.0526604 -0.0190537 0.0147502 0 -0.000115853 6.92673e-05 -0.191081 0.113317 0.00641931 0 0 0 0.415715 0.197189 -0.0503084 -0.0176445 0.0302187 0.106338 0.00630536 -0.0119083 0.0192324 0.027495 0 0 0 0 0 0 0.19572 0 0.324218 0 0 0 0 -0.438854 -1.9931 0 0 0.943526 0 0.117654 0 -0.0927491 0 0 0.415486 0 -0.305993 -0.181998 0.154365 0.0318039 0 0 -0.744374 0 -8.98992 0 1.82355 -0.0605843 0 -1.45775 -0.122774 0.0140393 0 -0.0381719 0 0 -0.256237 0 -1.83145 0.910083 0 0 0.0592098 0 0 0.157962 -2.65119 0.0189617 0 -0.706657 0 1.05368 -0.406147 0.299332 -0.615829 -0.00390193 0.0922914 -1.19469 0.22423 2.35128 6.96585 0.0908101 0 0 0 -0.25573 -0.209765 0 0 0 0 0.723477 -17.2957 -4.72396 3.09793 -0.792531 0.403764 -1.64022 -0.449358 0.480654 -0.816398 1.12181 0 0 0 0 0 0 -318 0 0.407273 -0.259989 -0.0748758 -0.262528 0.351908 -0.0560296 -1.3027 -3.82403 -0.410782 2.8121 -0.6982 -0.44338 0.0311135 -1.70636 -0.149035 -1.69091 -4.86973 0.495939 -0.303435 0.65715 0.129425 0.33979 -0.0360873 0.74474 -0.345733 -0.686692 0.0632326 0.653689 2.19867 -0.413916 -0.130094 -0.698814 0.741843 0.18397 0.0140392 -0.153816 -0.00772366 2.51515 -1.20289 -0.179069 0.138318 -0.459201 -0.266017 -1.65348 0.609277 -0.337787 1.18374 -1.53713 0.764596 -0.116816 1.77649 12.6845 0.363075 -0.266818 0.472143 1.35816 0.586546 -0.101301 -1.31322 -0.317232 0.893149 0.177516 -2.38124 2.29004 0.127343 0.580156 -1.90184 -0.169676 0.195262 -3.01734 -0.148296 -1.35647 0.265733 0.195295 -0.804093 1.06817 -13.9396 -10.5202 8.26548 -3.77719 3.42816 -5.12428 -3.9353 3.69719 -6.0546 9.45036 -0.908826 1.55362 -2.65251 4.36836 -7.30892 0 0 0 0 0 -0.0748758 -0.262528 -0.00016476 0 0 0 0 0.00167377 0 -0.0189892 0 0 0.00488899 0.0100729 -0.00438325 0 -0.00183205 -0.00472984 -0.138292 0 0 0.125858 0.000740845 0 -0.0702102 0.641209 0 0 0.00330064 0.178865 0 -0.182533 0 0.0153118 0 0 -0.000758362 0 0 -0.381176 0.0228492 0.0657402 0 -0.00623408 0.0188021 0 0 0.023601 0 0.018098 -0.0639836 -0.0467165 0 0 -0.0125695 0.0113135 0 0.0109056 -0.0130836 0.0319913 0.139633 -0.0329791 -0.011492 0 0.0020754 0.11847 -0.0584918 0.0553392 0.111214 0 0 0 2.25056 -0.198265 0.561393 0.038825 -0.0760883 0.24273 -0.00671427 0.012857 -0.0287174 0.0747509 0 0 0 0 0 0 0.351908 0 -0.0560296 0 0 0 0 -0.75099 -1.04462 0 0 1.04784 0 0.14344 0 -0.0836069 0 0 -0.0708494 0 0.785081 -0.220733 0.491646 -0.0418265 0 0 -0.555587 0 -6.34434 0 0.648642 -1.00345 0 -1.87823 1.0569 0.0726905 0 -0.092531 0 0 -0.148179 0 -2.97721 0.360756 0 0 -0.0195805 0 0 0.0486133 -3.25895 -0.220766 0 0.951009 0 1.41381 -0.400947 0.403835 -1.25472 -0.20022 0.290725 -1.17782 0.561267 2.28771 13.665 0.143953 0 0 0 0.0319146 -0.377794 0 0 0 0 0.383088 0.716021 -4.05002 7.23507 -1.15598 1.30166 -1.07692 -0.56449 0.663098 -0.972751 1.63408 0 0 0 0 0 0 -319 0 -0.774559 0.258309 0.00973433 0.0208922 -0.217656 -0.0375974 -0.58269 -0.0889393 0.0935252 0.275269 -0.00797254 -0.46348 -0.00408177 -1.58425 -0.0149707 2.32594 9.79185 0.0699966 -0.0101983 -0.710023 0.0276839 -0.04789 0.00558139 0.0340912 -0.0958991 0.70414 0.0573327 0.177473 -0.18504 -0.3622 0.0239122 -0.0542978 0.385055 0.0724397 -0.120179 -0.00035309 0.433632 3.58171 -0.0309344 -0.284778 -0.0123317 1.21983 0.00667835 -2.03855 -0.0162089 -0.113362 0.0150134 0.00538816 -0.00717922 -1.54894 0.489814 1.50437 -0.00451973 0.0242403 -0.0145549 -0.44201 -0.642708 0.260332 -0.170054 0.0218307 -0.0738931 0.370247 -0.147172 1.21197 -0.0483806 0.182592 -0.0877448 0.415143 -0.0488286 -0.0538251 0.137506 -0.132985 -0.20044 2.37128 -0.0042045 0.477783 -20.6192 -5.78003 2.23667 -3.67672 2.71896 -4.39708 -0.167636 0.260759 -0.292773 -0.492122 0.0241779 0.0056069 0.164948 -0.147958 0.615117 0 0 0 0 0 0.00973433 0.0208922 -0.00018275 0 0 0 0 -7.32352e-06 0 0.00160064 0 0 0.000818117 0.00340128 -0.00124436 0 4.23384e-05 0.00634859 0.00589792 0 0 0.0200699 0.000247237 0 0.0563573 -0.26797 0 0 0.00517046 -0.00822362 0 0.205897 0 -0.000776666 0 0 0.000410621 0 0 0.736012 -0.000124874 0.0113099 0 -0.00317115 0.0621202 0 0 -0.209498 0 0.00106153 -0.144576 -0.00220301 0 0 -0.00258581 0.000682763 0 0.0131326 0.0139231 0.01013 0.156292 0.0423025 -0.0314603 0 0.00319212 0.000988483 0.151667 -0.0528722 -0.154482 0 0 0 -3.05566 0.10745 -0.313446 -0.0737161 0.140421 -0.287071 -0.00128057 0.0024648 -0.00568365 0.0086587 0 0 0 0 0 0 -0.217656 0 -0.0375974 0 0 0 0 0.128496 0.0514798 0 0 -0.11764 0 -0.0113518 0 -0.000310087 0 0 0.51763 0 -0.570783 0.0507798 -0.0213414 0.0768241 0 0 0.0191456 0 -2.9891 0 1.26175 -0.878101 0 0.639841 -0.348982 0.00108541 0 0.00346602 0 0 0.00323145 0 -1.94496 1.22811 0 0 0.180474 0 0 -0.0867092 -1.3546 -0.0521727 0 0.80559 0 0.403753 -0.0190111 -0.028286 -0.169226 0.0391204 0.206936 -0.259457 0.085248 -0.684153 7.13797 0.0625933 0 0 0 0.183499 0.00438218 0 0 0 0 0.000163211 -14.8849 0.337502 -4.42816 0.0999562 -0.371541 -0.589784 0.0618383 -0.0634529 0.0245568 -0.46639 0 0 0 0 0 0 -320 0 -0.694489 -0.190806 -0.0957768 -0.321298 0.356947 0.0976251 -0.986096 -4.52963 -0.510124 4.16302 -0.43696 0.410183 0.0224197 0.958639 0.089029 0.98948 5.50583 0.742046 0.176148 -2.1649 0.141649 0.363959 -0.0231286 0.94365 -0.512419 -0.0882321 0.108442 0.0689846 0.937229 0.213728 -0.124656 0.407654 0.909319 0.501761 0.0444106 -0.050358 0.0603207 3.52384 -1.06116 -0.76041 0.141234 0.215508 -0.154098 2.20286 0.842377 -0.176957 0.380499 0.761599 0.467255 -0.470179 1.99208 -15.9183 -0.0942282 0.39844 0.378876 -2.63403 -0.480315 -0.122594 -1.64552 -0.351789 3.19147 1.24705 -2.8265 0.537878 -0.243091 -1.22105 -2.20145 0.0927543 0.176908 -2.64866 1.96134 -0.366005 -0.0467605 0.112021 -1.45256 -2.43137 -13.0125 -10.9645 6.71465 -4.14716 3.9721 -8.67032 -3.96511 3.24928 -7.04167 6.91401 -0.872175 1.01867 -2.31941 2.83276 -4.08149 0 0 0 0 0 -0.0957768 -0.321298 -0.00155088 0 0 0 0 0.000908029 0 -0.0215854 0 0 0.00171267 0.00455611 -0.000586009 0 -0.00171248 0.0133189 -0.123588 0 0 0.0576071 0.000332216 0 -0.0809993 0.479306 0 0 -0.000248613 0.131512 0 -0.212613 0 0.00595356 0 0 -0.00190095 0 0 -0.483444 0.0123375 0.0268176 0 -0.0225712 -0.0534351 0 0 0.123707 0 0.0123399 -0.468342 -0.0336849 0 0 -0.00414464 0.0128919 0 -0.00135465 -0.0171047 0.00839523 -0.233858 -0.0405854 0.00939513 0 0.00149374 0.111944 -0.127307 0.08981 0.0928466 0 0 0 2.70397 -0.156047 0.716828 0.0509129 -0.0990319 0.280961 -0.00175859 0.00360034 -0.0204494 0.125598 0 0 0 0 0 0 0.356947 0 0.0976251 0 0 0 0 -0.653609 -1.54517 0 0 1.2952 0 0.175835 0 -0.0576747 0 0 -0.148114 0 0.583359 -0.226952 0.528678 -0.0368939 0 0 -0.520444 0 0.300013 0 3.30718 0.414442 0 -1.63474 1.40922 0.0756382 0 -0.089476 0 0 -0.173776 0 0.706317 0.126301 0 0 -0.0299157 0 0 0.224388 -4.59844 -0.593952 0 -0.950944 0 1.69619 -0.311522 0.451402 -0.620456 -0.09905 -0.645644 -1.43256 0.595572 1.05512 -7.45994 0.0746253 0 0 0 -0.40158 -0.334456 0 0 0 0 0.519619 -18.5979 -6.44392 5.87698 -1.72392 1.92941 -3.24125 -0.6096 0.714493 -1.12361 1.3098 0 0 0 0 0 0 -321 0 0.641413 0.399763 -0.0192529 -0.11244 0.29254 0.247875 -1.02578 -2.96833 0.0280916 0.920679 -0.128378 -0.0630054 0.00404313 -1.18082 -0.0134876 2.011 6.81223 0.0138793 -0.00163981 0.377412 0.0201081 -0.250304 -0.000956367 0.189639 -0.455152 0.746258 -0.0201687 -0.202106 -0.0136873 -0.145469 -0.00202379 -0.193321 -0.392862 -0.226554 -0.304985 -0.00905419 0.049341 -1.22301 -0.3347 0.448415 0.0387316 -0.321563 -0.02494 -0.494065 0.366063 0.36871 -0.101682 -0.18183 0.0850938 -1.53762 0.346128 -10.8515 0.0441573 0.0895481 0.21898 -3.28077 -1.21365 0.0981728 -0.486669 -0.116138 0.0445671 -0.248237 -1.70009 -0.571183 0.479054 -0.611465 -0.55082 -0.547022 -0.0505215 -1.4862 0.418642 -0.140056 0.127672 1.52109 -0.789366 -0.913897 1.00183 -3.75811 8.69836 0.282997 0.0329922 2.81951 -1.00933 1.09823 -1.8878 5.04092 -0.379011 0.377217 -0.789989 0.721158 0.0596061 0 0 0 0 0 -0.0192529 -0.11244 -0.00353598 0 0 0 0 -0.000592359 0 -0.0284032 0 0 0.00377223 0.0070314 -0.0212783 0 -0.00263977 0.0580144 -0.221615 0 0 0.0314274 0.000518279 0 -0.00857358 0.806606 0 0 -0.00197544 0.262469 0 -0.0377298 0 0.00456407 0 0 -0.000382761 0 0 -0.149792 -0.00832689 0.0529255 0 -0.0508961 0.0269437 0 0 0.026134 0 -0.00383498 -0.244958 -0.00724954 0 0 -0.0117066 0.00933295 0 0.00824806 0.0125636 0.0190308 -0.464091 -0.00567886 -0.011976 0 -0.0106597 0.0673966 -0.0117925 -0.0373771 0.00227497 0 0 0 1.67478 -0.162933 0.764965 0.0217697 -0.0442762 0.188592 -0.00553665 0.0107434 -0.0295107 0.141697 0 0 0 0 0 0 0.29254 0 0.247875 0 0 0 0 -0.329897 -0.0518161 0 0 0.366384 0 0.0433591 0 -0.0224513 0 0 0.256675 0 -0.603162 -0.137595 0.0810669 0.0373568 0 0 -0.264776 0 0.979945 0 -1.88508 -0.118992 0 -1.24559 -0.801238 0.00814048 0 -0.0319722 0 0 0.0140105 0 -0.620352 0.906803 0 0 0.111868 0 0 0.184184 -0.437212 -0.475028 0 1.76464 0 -0.821988 -0.124603 0.191518 -0.86754 -0.115368 0.980192 0.347988 0.212112 -2.33659 -3.14091 0.150198 0 0 0 0.000564008 -0.159086 0 0 0 0 -0.0435602 10.9458 -0.503358 4.10171 0.61129 -0.989588 2.19187 -0.19876 0.238859 -0.351063 1.03803 0 0 0 0 0 0 -322 0 -0.477498 -0.340883 -0.0216658 -0.10989 0.0066691 -0.296899 0.524153 0.971026 -0.196603 0.183062 -0.195508 -0.56301 0.00445426 0.239364 0.0418535 -1.696 -5.97913 0.074809 0.036247 -0.200025 0.0174545 0.130801 -0.00473467 0.0632794 0.326663 -0.554204 0.044905 0.73196 2.15981 -0.277095 -0.0304045 0.311606 0.208105 0.170805 0.295934 -0.0199853 0.108708 1.54399 -0.449057 -0.658694 0.0262226 -0.143728 -0.0575065 -0.515548 0.135677 -0.737822 1.25036 0.216575 0.216201 1.76676 0.327879 2.29663 -0.0719847 0.0867298 0.0361743 1.52298 -0.298459 0.144157 -0.0754981 -0.0721559 1.01452 -0.0682556 -0.242868 1.41799 -0.250631 -0.473207 -0.582062 0.051892 0.0648654 -0.145992 0.339689 -0.0250412 -0.103234 0.502617 -0.934957 -0.83573 -9.84157 -1.4345 -3.65872 -0.864266 0.2792 -3.27583 -0.275407 0.0441014 -0.467663 -4.17129 -0.140476 0.308061 -1.41353 2.1811 -9.40565 0 0 0 0 0 -0.0216658 -0.10989 -0.00253627 0 0 0 0 -2.37414e-05 0 0.00403882 0 0 8.09832e-05 0.00119018 0.00417604 0 0.000139894 -0.000847863 0.0404857 0 0 0.165527 9.31662e-05 0 0.00514277 0.170855 0 0 0.0245839 0.0360703 0 0.0704676 0 0.0205502 0 0 0.00266039 0 0 0.343564 -0.00043425 -0.000118511 0 -0.0363583 0.0295765 0 0 -0.114488 0 0.00109771 0.115015 -0.00550801 0 0 -0.00293487 0.00678284 0 0.00920556 -0.0141134 0.0118785 -0.0241768 0.0129753 -0.0185389 0 -0.000163952 0.0168579 0.0208593 -0.0239164 -0.0394111 0 0 0 -1.48188 0.0406358 -0.216353 -0.0326408 0.0625291 -0.147554 -0.000736778 0.00142197 -0.00155706 -0.0144764 0 0 0 0 0 0 0.0066691 0 -0.296899 0 0 0 0 -0.291347 -0.282845 0 0 0.118371 0 0.008562 0 0.0215864 0 0 0.21185 0 0.438311 0.0269719 0.106354 0.0361935 0 0 0.150973 0 -1.15276 0 0.984953 -0.210667 0 0.0326872 0.299201 0.0111194 0 -0.0203204 0 0 -0.0284861 0 0.25167 0.183185 0 0 0.0475059 0 0 0.0965419 0.031598 -0.196307 0 0.624989 0 0.387773 -0.101558 0.117272 -0.342902 -0.0342939 0.318554 -0.0944585 0.0603246 -1.00765 -1.91002 0.0792743 0 0 0 0.0128972 -0.0574129 0 0 0 0 -0.00462024 -15.8588 -0.018598 -3.45726 0.0960277 -0.406775 -0.0259784 -0.0513232 0.0527348 -0.103107 0.125549 0 0 0 0 0 0 -323 0 0 0 0 0 0.0507744 0.229604 -0.996679 -1.45059 0 0 -0.448183 1.08054 0 1.29927 0.0580834 0 0 0 0.268382 1.53969 0 0 0 0 -0.324256 0 0 -0.132796 2.37013 0.507669 0 0.464964 0 0 -0.227899 -0.0688451 0 0 -1.48963 0.608381 0 0 -0.266367 3.49964 0 0.613085 0.21956 1.34812 0.409305 1.16401 0.252518 0 -0.404373 0.00506314 -0.0766016 1.03485 0.556862 -0.102273 0 0 -0.290507 0.899425 0 0.0795216 -0.509889 0.850554 0 0 0 0 -0.171855 -0.350361 0 -0.0170689 0.250337 0 0 0 1.3081 0 1.72017 -2.51104 0 0.333875 -0.639608 1.54177 0 0.753953 -1.57116 3.16162 -4.41452 0 0 0 0.163732 0.0409429 0 0 0 0.000893257 -0.00254393 0 0.000637003 0 0.00304789 0.0220947 0 0 0 0 0.11083 0 0.0215754 0 0.178028 0 0.012208 0.0029828 0 -0.012584 0 0 -0.223265 0.000706413 -0.0275964 0 -0.00429208 0 -8.58608e-05 0.042455 -0.0608951 0.0141351 -0.00702672 0 0.000143959 0 0 0 -0.00020044 0 0 -0.00179274 -0.000905204 -0.242727 -0.00775489 0 0 -0.0116364 0 -0.000704005 0 0 0.00876468 -0.00424256 0.171775 0.00166088 0 0 -0.206729 -0.0492116 0.014714 -0.0385378 0.554214 0 -0.136929 0.00196274 0.00509411 0 0 0 -0.787971 0 -0.0523109 0.864185 0 -0.00329297 0.053406 -0.128443 0 -0.00045542 0.00754962 -0.0326288 0.501948 0 0.0507744 0.163732 0.229604 0.0409429 -0.178195 -0.0759884 0.495295 -0.193061 0.499077 -0.0361977 -0.0227099 0.391418 -0.00748456 0.0342167 0.0814945 -0.0161758 -0.04684 -0.151683 0.188202 0.430009 0.574632 -0.0635029 0.418551 0.0388314 -0.254371 0.148816 0.128856 -0.0136062 3.10632 -0.375745 2.95546 0.615757 0.0121781 -0.317766 1.63736 0.0592757 -0.00725348 -0.051385 -0.0725481 0.892271 0.0118578 0.0240509 1.0241 0.872935 -0.00487214 -0.037784 0.191957 0.0069686 0.310492 -0.616762 1.46996 0.493003 0.127811 0.733068 -0.215448 0.166183 -0.0504195 -0.159507 -0.407429 0.00644557 1.0434 0.30921 0.131911 0.249215 5.911 0.100262 -1.18766 -0.0913052 -0.0437435 0.46131 -0.0196862 0.0279083 0.0893162 -0.0488119 0.0492286 0.023786 -14.4796 -2.29136 1.54042 -0.239973 1.1408 -2.42818 -0.0126027 0.147388 -0.444147 0.0441796 0.0627723 0.112512 -0.332282 0.532717 -0.992381 0 -324 0 0 0 0 0 0.621088 0.331841 -0.366855 -2.06885 0 0 -0.25879 1.16894 0 2.20103 0.0396228 0 0 0 0.0519854 3.75416 0 0 0 0 -0.328374 0 0 -0.0352098 0.950089 0.614758 0 0.236435 0 0 -0.170524 -0.0491155 0 0 -0.863878 2.03651 0 0 -0.179993 4.14046 0 1.16638 0.537024 0.33044 0.367605 -0.104418 -0.415064 0 -0.232716 -0.0605113 0.136582 -1.05647 0.220335 0.0303079 0 0 0.155111 -3.45907 0 0.482987 0.728768 1.43125 0 0 0 0 -0.367136 -0.573446 0 -3.8011 0.18856 0 0 0 2.4673 0 0.817098 -0.110709 0 0.0662852 -0.278578 3.06848 0 0.842421 -0.838701 1.62066 -1.66078 0 0 0 0.100367 0.0202279 0 0 0 -0.0154631 -0.0174583 0 -0.00247649 0 -0.00266315 -0.0411047 0 0 0 0 -0.0428442 0 -0.00101072 0 -0.329717 0 -0.0713984 -0.748573 0 -0.00749947 0 0 -0.165701 -0.00105132 -0.116856 0 -0.00631733 0 -0.000743161 -0.295968 -0.0383718 -0.0244566 -0.0440599 0 -0.000122169 0 0 0 -0.000294108 0 0 0.00256367 -0.00278503 -0.0144064 -0.0416864 0 0 0.0104386 0 -0.000695511 0 0 -0.0148589 -0.0117171 -0.282164 0.0348693 0 0 0.0646738 -0.0182719 0.0165035 -0.456512 -0.00587606 0 -0.225918 0.0169006 -0.0024664 0 0 0 1.10315 0 0.10141 0.518134 0 0.00658708 0.0288681 0.368974 0 0.000905745 0.00404693 0.0178996 0.296255 0 0.621088 0.100367 0.331841 0.0202279 0.181886 -0.0127733 0.0904788 -0.813088 -0.486267 -0.035148 0.0469653 0.0749501 -0.00549673 0.0173519 0.0279186 -0.0462319 0.0056037 -0.223447 0.0513699 -0.715481 0.049564 -0.244041 0.23255 -0.0333713 0.112036 0.0139327 -0.27879 -0.0356687 1.23109 -0.0427139 -0.262494 1.18719 0.00544659 -1.72214 0.039604 0.0363236 0.00344385 -0.133936 0.0174924 -0.0142225 -0.0705719 0.00763616 1.86097 -0.535163 0.00517247 0.00223238 -0.204791 -0.186505 -0.355623 -0.49161 1.10756 -0.0827963 0.0359746 -2.3707 -0.0404648 1.64007 -0.159574 0.190419 -0.436318 0.201785 0.11014 -0.324259 -0.257143 0.17318 -2.35165 -0.0942605 0.252124 -0.0133268 0.116721 -0.466626 0.0451311 0.0477814 0.0846915 -0.224403 -0.0718776 0.248967 1.28603 -0.0652501 5.32816 0.60168 0.23076 0.429889 0.0852368 0.133114 -0.194607 0.942273 0.092471 0.0924488 -0.177952 0.415887 -0.572921 0 -325 0 0 0 0 0 -0.194951 0.114448 -0.00949756 0.99826 0 0 0.412437 -0.084605 0 -1.07941 -0.0752964 0 0 0 -0.325405 -2.22846 0 0 0 0 -0.0280512 0 0 -0.803097 0.357939 0.171464 0 -0.86471 0 0 -0.22268 0.0828029 0 0 0.917737 -0.724206 0 0 0.189167 -3.67869 0 0.0858301 -0.719732 -2.68067 -0.309458 -0.53246 -0.111242 0 0.619012 -0.0567179 0.0182884 -0.39787 0.332487 -0.464147 0 0 0.196851 2.19617 0 0.89588 0.305916 0.66546 0 0 0 0 -0.0198197 0.0281733 0 0.524001 0.102014 0 0 0 -1.19538 0 -0.66221 -1.9235 0 0.0136946 -0.199154 -1.94377 0 -0.32597 -0.909907 -0.247277 -2.20149 0 0 0 -0.0788986 -0.0522331 0 0 0 0.0412092 0.000944799 0 0.00447625 0 -0.00502098 0.0325315 0 0 0 0 0.108163 0 0.00140016 0 0.231111 0 0.302111 0.245398 0 0.0248609 0 0 0.680659 -0.00118902 0.0856998 0 0.00654672 0 -1.98825e-05 0.153537 0.136738 -0.0239403 0.038987 0 -0.000237056 0 0 0 0.000305508 0 0 0.00283218 0.00131369 0.2293 0.0265421 0 0 0.0530497 0 0.00145325 0 0 0.0254054 0.0218812 -0.0100824 0.0235161 0 0 -0.0249734 -0.133281 0.0252147 0.109117 0.312497 0 0.618115 0.00993256 -0.175939 0 0 0 -0.566104 0 0.0863111 -2.48189 0 0.00530236 -0.149339 -0.408443 0 0.000745135 -0.021143 0.0756873 -1.38975 0 -0.194951 -0.0788986 0.114448 -0.0522331 -0.123809 -0.00401786 -0.197736 -0.11965 0.757072 0.0831711 -0.0445816 0.360929 0.0142302 0.0696014 -0.0760464 0.0404649 -0.0144395 0.478585 -1.21553 0.246145 -0.332008 0.0556479 -0.217152 -0.134808 -0.409314 0.0999226 -0.0273288 0.0136208 -5.78204 0.024709 -1.45659 0.228896 -0.0150599 0.0165283 -0.967596 -0.0312026 0.00153761 -0.00118853 0.0123589 0.619985 0.14931 0.0153497 -1.71502 -3.32192 -0.00128941 -9.06786e-06 -0.344428 0.0597128 -0.039618 -1.09909 0.3002 -0.227393 0.100649 0.82266 0.0855938 0.965995 0.406019 -0.0966728 -0.0114355 0.280526 -0.181763 0.912125 -0.25668 0.472534 0.168455 0.16358 -0.473926 0.131194 -0.0505507 0.759959 -0.162573 -0.00224822 -0.18235 -0.237642 0.0357087 -0.240072 7.13623 -0.227415 -0.102017 -0.870965 -0.154423 -1.1074 -0.290462 -0.0677468 0.165302 -0.684908 -0.198057 -0.0326287 -0.0432565 0.0598681 -0.583263 0 -326 0 0.504778 0.276514 0.0373431 0.213024 -0.194322 0.00838352 0.574749 1.15771 0.372474 -1.00052 0.169278 0.23082 -0.00489427 0.677664 -0.0358806 0.776522 3.50993 -0.128519 -0.0840809 2.96218 -0.0213677 -0.34667 0.00658934 -0.15525 -0.0161914 0.287683 -0.01979 -0.113106 -0.334853 0.101792 0.0503922 -0.173757 -0.59635 -0.146089 -0.0384827 0.0119807 0.145957 -1.99522 0.293317 1.30242 -0.0317805 0.398492 0.0294032 1.58897 -0.186397 0.529568 -0.187825 -0.481211 -0.0681416 -0.395612 -0.207188 -0.266643 0.289732 -0.13401 -0.00104541 -2.23694 0.427585 0.54967 0.195898 0.0764596 0.264985 -3.00478 0.336128 0.382298 0.307143 -0.348204 -0.309997 -0.065999 -0.103116 -0.00207942 -0.199791 0.00752681 -0.135692 -1.65634 0.261352 1.02911 4.50522 2.24175 -1.64969 0.742314 -0.823109 2.69684 0.553823 -0.551864 1.3102 -1.1176 0.0796853 -0.0800556 0.139803 -0.138547 0.245134 0 0 0 0 0 0.0373431 0.213024 -0.00037282 0 0 0 0 -0.000211809 0 -0.0184967 0 0 1.0079e-05 -0.000411541 -0.0318742 0 -0.0047711 -0.0407725 -0.113274 0 0 0.0335191 -1.55864e-05 0 0.0247874 -0.321833 0 0 0.00397132 -0.0966801 0 0.0713173 0 -0.000112514 0 0 8.29469e-05 0 0 0.0188412 -0.00456074 -0.001329 0 -0.00880632 0.026302 0 0 -0.148313 0 -0.00207891 -0.588813 0.00654247 0 0 -0.000172462 -0.000622799 0 0.00215951 0.00194944 -0.0122876 1.01315 -0.0184826 -0.0211074 0 6.27823e-05 -0.0122867 0.00509073 0.025811 -0.21635 0 0 0 -0.551459 -0.0131348 0.366176 -0.00291251 0.00784056 -0.0967463 7.69067e-05 -0.00020228 0.00257259 0.127042 0 0 0 0 0 0 -0.194322 0 0.00838352 0 0 0 0 0.206057 0.152859 0 0 -0.74777 0 -0.0846324 0 -0.00424303 0 0 -0.117623 0 -0.784751 0.0833815 -0.28828 -0.0623639 0 0 -0.0209683 0 1.02156 0 -2.80589 -0.453805 0 0.48501 -1.37513 -0.0342189 0 0.0419088 0 0 0.0195168 0 -0.223764 -0.140939 0 0 -0.0966696 0 0 -0.44654 0.0451371 -0.156364 0 -0.873625 0 -0.104297 -0.0304987 0.0891231 0.220826 0.0980191 0.0877543 -0.0590181 -0.0879915 0.376614 -2.32739 -0.0801694 0 0 0 0.252237 0.105149 0 0 0 0 -0.0963064 16.2083 3.9309 -1.93958 0.794835 -0.387259 0.485964 0.208691 -0.164704 0.256986 -0.197272 0 0 0 0 0 0 -327 0 0.923777 0.0341057 0.00546155 0.12372 0.000282031 -0.273574 0.692394 0.929407 -0.0340633 0.0462632 0.155092 -0.377011 -0.000558208 -0.80663 0.0214046 -0.249882 1.32169 0.126479 0.0373207 -2.19758 0.033736 0.302494 -0.000173392 0.122512 0.473516 -0.454594 0.0292953 0.604586 0.279823 -0.334311 -0.00288308 0.275923 0.103397 0.165025 0.425751 0.0150703 0.132797 -2.73881 0.314965 -1.51088 -0.00820423 0.313433 0.0310267 -0.971046 -0.114597 -0.958673 0.496929 0.520377 -0.0646341 -0.56419 0.118097 -0.0083747 -0.0461829 -0.028916 -0.0493878 -0.907911 0.224135 0.130774 -0.127037 0.0209214 0.728202 1.15097 -0.829641 0.00425582 -0.188511 -0.483402 -0.0805923 0.211213 0.0330814 -0.514872 0.141825 0.128727 -0.383102 0.310564 -0.516381 -0.013482 5.27475 1.11168 -2.60107 1.63586 -1.9819 2.59135 -0.0554456 0.054496 -0.0434298 -0.621659 0.0489908 -0.0779965 -0.0178665 -0.0892284 -0.204849 0 0 0 0 0 0.00546155 0.12372 0.000773275 0 0 0 0 6.78542e-05 0 -0.00320789 0 0 -0.0009281 -0.00275064 0.00557935 0 0.000580634 -0.0127182 4.49243e-05 0 0 0.0676825 -0.000122268 0 -0.0111158 -0.113506 0 0 0.0108209 -0.0673699 0 -0.0960421 0 0.00127854 0 0 0.00010311 0 0 -0.646272 0.00138478 -0.0224869 0 0.0155632 0.0685423 0 0 -0.107543 0 0.000410004 0.179949 0.0204284 0 0 0.00191387 -0.00225276 0 -0.00382558 0.0161879 -0.0159636 0.0195915 0.0364144 0.0176116 0 -0.0021427 -0.101561 -0.0157218 -0.0104332 0.00307561 0 0 0 3.41439 0.184818 -0.0291042 0.0125572 -0.0303794 0.480046 0.000865239 -0.00216595 0.0287515 -0.0527173 0 0 0 0 0 0 0.000282031 0 -0.273574 0 0 0 0 0.0435675 -0.100535 0 0 -0.293423 0 -0.0351251 0 0.0156514 0 0 -0.459425 0 0.3241 0.0364696 -0.0775501 -0.073158 0 0 0.16898 0 0.126252 0 -2.48346 -0.69335 0 0.201302 -0.118837 -0.0105617 0 0.000798989 0 0 -0.021057 0 -0.899619 -0.403437 0 0 -0.0905454 0 0 0.0240714 0.422446 0.0808275 0 -0.458298 0 -0.039885 0.0509083 -0.0358607 0.330991 -0.0418702 -0.402624 0.339504 -0.0598947 -0.664692 -6.66248 -0.00611219 0 0 0 -0.14611 0.115858 0 0 0 0 0.0435743 15.9535 2.28926 -0.745562 0.679279 -0.705319 1.18858 0.138601 -0.11786 0.172405 -0.182756 0 0 0 0 0 0 -328 0 -0.683721 0.062812 -0.0488438 -0.113995 -0.00486001 -0.0113138 -0.483207 -1.0343 -0.356954 1.44826 -0.201195 -0.0243541 0.00849479 -0.187708 0.0626164 -0.411534 -2.17728 0.199596 0.132901 2.29718 0.04475 -0.181675 -0.00961612 0.314269 -0.151249 -0.0992484 0.00600211 0.321174 0.939807 -0.183214 -0.0647182 0.430726 -0.10283 -0.114751 -0.0872274 -0.0186297 -0.140159 1.10263 -0.505247 0.839412 0.0648624 -0.994388 -0.055702 0.690274 0.488292 0.135092 0.542045 0.889099 0.186533 -0.25617 0.474742 0.187579 -0.239959 0.271634 -0.214008 -0.752634 -0.00544679 0.101271 -0.480023 -0.158007 1.2737 -1.38815 0.574548 -0.279533 -0.377153 0.0331216 -0.286686 0.109738 0.118222 -0.460744 0.286772 0.00533337 0.342656 -0.6129 0.0302306 0.867012 -4.06766 -1.87559 0.115431 -1.54539 1.16052 -1.98296 -1.00901 0.857003 -1.69516 1.28447 -0.208747 0.153471 -0.379617 0.272458 -0.688 0 0 0 0 0 -0.0488438 -0.113995 0.000246653 0 0 0 0 0.000320681 0 0.032125 0 0 -0.000187226 0.000437275 0.0599592 0 0.0084399 0.106025 0.234204 0 0 0.187377 1.46059e-05 0 0.00931441 1.18135 0 0 0.0239247 0.371054 0 0.190414 0 0.0241768 0 0 0.00275494 0 0 0.674443 0.00693114 -0.0014077 0 0.00744112 -0.0104518 0 0 0.191952 0 0.0031123 1.15341 -0.0103504 0 0 0.00019437 0.00182832 0 0.00300244 -0.0342194 0.0250967 1.56825 0.0544811 0.0251706 0 0.0152553 -0.128108 0.340454 0.0218221 0.050731 0 0 0 -4.66185 -0.141015 -1.24088 -0.0193326 0.046477 -0.580364 -6.8585e-05 0.000218176 -0.00236009 -0.287268 0 0 0 0 0 0 -0.00486001 0 -0.0113138 0 0 0 0 0.0153 -0.886739 0 0 0.510752 0 0.0747645 0 -0.0187953 0 0 0.581969 0 -0.087506 0.0224287 0.273172 0.0717757 0 0 -0.219145 0 -1.91834 0 1.77215 -0.491295 0 0.146383 0.473972 0.0434876 0 -0.0067259 0 0 -0.099599 0 -0.881404 1.41741 0 0 0.187992 0 0 0.138218 0.528785 -0.143763 0 -1.45187 0 -0.199021 -0.0518642 0.0282074 -0.909313 0.00489134 1.32437 -0.431259 -0.00378471 0.577267 -4.06848 0.145942 0 0 0 -0.281644 -0.19625 0 0 0 0 0.276915 -7.97034 -1.83453 -0.132442 -0.57055 0.43619 -0.557254 -0.195664 0.128962 -0.138424 0.0377159 0 0 0 0 0 0 -329 0 -0.2273 -0.300469 0.00599149 0.0150893 -0.0590706 -0.271173 0.738815 1.26109 0.0294434 -0.603131 -0.0692433 -0.500945 -0.00112476 -0.974201 -0.0283659 -1.38216 -6.04497 -0.126677 -0.0674711 0.117395 -0.020673 0.151233 0.00119584 -0.109947 0.534444 -0.376784 0.0069074 0.518597 1.2481 -0.313857 0.00838182 -0.352662 -0.0658993 0.0157947 0.368423 -0.00339278 0.0196717 -0.481848 -0.162343 -0.573517 -0.00724549 -0.196006 -0.0132893 -1.89563 -0.0464775 -0.725246 0.835693 -0.764654 -0.0340268 -0.783282 -0.202831 -1.7777 0.217141 -0.0149152 0.0235247 1.55064 -0.611809 -0.264865 0.120979 0.0159807 -0.52381 0.666328 -0.800156 -0.0958946 0.15773 -0.567104 -0.310163 -0.024755 -0.0123161 0.0348466 -0.242277 -0.256172 0.135975 1.25101 -0.670343 -1.34635 -1.20757 0.882916 -3.11765 -0.114005 0.514566 -2.47986 0.148706 -0.00238338 0.311198 -2.3498 0.00191801 0.00708482 0.031568 0.0999167 -3.07859 0 0 0 0 0 0.00599149 0.0150893 -0.000220448 0 0 0 0 -6.17647e-05 0 -0.00456191 0 0 0.000338861 0.00102284 -0.00829417 0 -0.00145571 0.00561264 -0.0125658 0 0 0.0301101 4.79894e-05 0 0.0182277 0.0481584 0 0 0.00102185 0.0516519 0 0.0784437 0 0.00490895 0 0 0.0004164 0 0 0.299246 -0.00131744 0.0070499 0 -0.00480816 0.00554024 0 0 0.00436593 0 -0.00047482 0.0583089 0.000999956 0 0 -0.000640921 0.000289448 0 0.00388194 -0.0349321 0.00230647 1.73771 0.0076424 -0.00677659 0 0.00817344 -0.0878666 0.12267 0.0454077 -0.126747 0 0 0 -2.95491 -0.128927 -0.173951 -0.0141962 0.032865 -0.449123 -0.000241322 0.00046204 -0.0068015 -0.00221521 0 0 0 0 0 0 -0.0590706 0 -0.271173 0 0 0 0 0.0146111 -0.691034 0 0 -0.42451 0 -0.0637563 0 -0.0170678 0 0 0.183807 0 0.217152 0.0627504 -0.223809 0.0254201 0 0 -0.242084 0 -2.6055 0 0.122641 -0.330329 0 0.367991 -0.194324 -0.037351 0 0.0121762 0 0 -0.0601164 0 -0.77342 0.54336 0 0 0.0619254 0 0 -0.146641 -0.163551 -0.0706587 0 -0.672377 0 0.477882 -0.0641217 0.0053959 0.706309 0.000969953 -0.305533 -0.586181 0.0487293 -0.0234833 -4.95393 -0.0806293 0 0 0 -0.147498 0.0964684 0 0 0 0 0.220097 -0.205354 0.852105 -0.589398 -0.261035 0.561969 -0.996997 0.0691225 -0.0149164 0.0303249 -0.169289 0 0 0 0 0 0 -330 0 1.11865 0.446508 0.00661211 0.0192926 0.17197 0.0672542 0.216617 -0.393853 -7.72213e-05 -0.457364 -0.059147 -0.732092 -0.00160388 -1.59079 -0.0236849 0.536697 -0.625678 -0.100127 -0.0509002 -0.330915 -0.0277205 -0.472835 0.00117015 -0.124375 -0.245201 0.574566 -0.0275039 -0.245772 0.142527 -0.297673 0.0069558 -0.258604 -1.27787 -0.344801 -0.089079 -0.00855668 -0.0399853 -5.0816 -0.0753921 -0.192136 -0.0106203 -1.0663 -0.012203 -2.74805 -0.0707262 -0.0782472 -0.131228 -0.495797 0.0474531 -0.689754 -0.121022 -2.29437 0.132721 -0.0350233 -0.0441015 -0.106772 -0.644025 -0.0706351 0.209212 0.0218133 -0.233779 0.211904 0.522181 0.677062 0.118138 -1.00745 -0.00441471 -0.0968233 0.000123436 -0.7258 0.00172546 -0.191006 0.148805 2.11431 -0.325039 0.174836 12.2203 1.08104 4.55525 1.14049 -0.554946 5.73251 0.327743 -0.114662 0.407698 0.678856 0.00291869 0.0072394 0.0842862 0.0815277 -0.351558 0 0 0 0 0 0.00661211 0.0192926 -0.001398 0 0 0 0 -0.000190638 0 -0.0151673 0 0 -0.000738039 -0.000780452 -0.0181378 0 -0.00271314 -0.0431398 -0.100646 0 0 0.0200933 -3.65732e-05 0 0.0120133 -1.01887 0 0 -0.00289688 -0.266109 0 0.0284341 0 0.00277857 0 0 -6.15063e-05 0 0 -0.254173 -0.00406571 -0.0158285 0 -0.0298853 0.0246851 0 0 -0.150673 0 -0.00295202 -0.34194 0.0147569 0 0 0.00135217 0.00190917 0 -0.00173404 -0.0112062 -0.0103371 0.608035 -0.0121764 -0.0130729 0 -0.00559473 -0.0085055 -0.12757 0.0392831 -0.0653274 0 0 0 1.98957 0.129088 0.402111 0.00894547 -0.0172466 0.262647 0.000555904 -0.00104823 0.0154756 0.0787284 0 0 0 0 0 0 0.17197 0 0.0672542 0 0 0 0 -0.0156402 -0.343077 0 0 -0.229426 0 -0.0251238 0 -0.0168045 0 0 0.01319 0 -1.13437 0.0156049 -0.0957823 -0.0349444 0 0 -0.17771 0 -3.48207 0 -6.02075 -0.724223 0 -0.222374 -2.38401 -0.0110216 0 0.0198333 0 0 -0.0320698 0 -1.64064 0.0561662 0 0 -0.0615592 0 0 0.295143 0.919205 -0.0284462 0 -0.488595 0 -0.296631 -0.0118321 -0.0341252 -0.469375 0.0805441 0.555279 -0.225978 -0.10122 -1.43329 -8.01885 -0.103953 0 0 0 -0.353575 0.0822993 0 0 0 0 0.101154 33.804 3.27591 1.17705 1.33827 -0.730976 1.47812 0.111444 -0.0864709 0.12152 0.0010988 0 0 0 0 0 0 -331 0 -0.57337 -0.251308 -0.0211497 -0.0393952 -0.153607 -0.225767 0.572044 0.620049 -0.0972012 1.24821 0.0893891 -1.14849 0.00412125 -0.654475 0.0531701 -0.674867 -3.09901 0.28751 0.103341 -1.75375 0.0562284 0.0639451 -0.00417461 0.250631 0.0689092 -0.202122 0.0185293 0.397964 0.0502746 -0.381361 -0.0290155 0.553574 0.337996 0.32076 0.154419 0.0163401 -0.130123 2.14429 0.193092 -1.02984 0.0266207 0.446914 0.0331792 -3.17987 0.171776 -0.623898 0.402849 0.901133 -0.108771 0.783885 0.369826 -3.83862 -0.268182 0.0869981 -0.00800899 1.53135 0.452671 0.365615 -0.398856 -0.057832 1.11043 0.0237508 0.914626 0.439213 -0.303995 -0.40222 0.0629078 -0.0238544 0.0407275 -0.370272 0.198822 0.687616 -0.11697 -0.103238 -0.661873 -1.35968 -7.74264 -2.06755 -3.17575 -1.03458 -0.0695479 -2.25626 -0.480713 0.312096 -1.37898 -0.695337 -0.00708876 -0.0177887 -0.21289 -0.242181 -0.124008 0 0 0 0 0 -0.0211497 -0.0393952 0.000814789 0 0 0 0 0.000219828 0 0.0471652 0 0 -0.00117055 -0.00378265 0.0569609 0 0.00836699 0.0341378 0.319629 0 0 -0.00427083 -0.000177441 0 -0.0218613 0.0449033 0 0 -0.00393657 0.10981 0 -0.0224205 0 0.000297273 0 0 -0.000441388 0 0 0.0116114 0.00468858 -0.0245674 0 0.0176248 0.0350819 0 0 0.0459087 0 0.00175617 0.997427 0.0107706 0 0 0.0022011 -0.00107563 0 -0.00394654 -0.0551258 0.00734654 -0.808747 0.0573079 0.0303522 0 0.00739269 -0.119767 -0.233083 0.00536752 0.181864 0 0 0 1.02244 0.141967 -1.02597 0.00656838 -0.013593 0.190963 0.00081873 -0.00181575 0.0254196 -0.308435 0 0 0 0 0 0 -0.153607 0 -0.225767 0 0 0 0 -0.0779612 0.592235 0 0 0.422374 0 0.0612984 0 0.0458682 0 0 -0.290327 0 0.171707 0.0218202 0.220524 -0.0482745 0 0 0.461372 0 -0.259475 0 1.11295 -0.419843 0 0.139471 0.242069 0.0315736 0 -0.0128994 0 0 0.0434738 0 -0.0241468 -0.744936 0 0 -0.100117 0 0 -0.230794 2.55867 -0.0476391 0 -0.516647 0 -0.112632 0.0119587 0.0703354 -0.855059 0.0365998 1.25986 0.279052 -0.0980328 -0.0939387 0.629357 0.0930966 0 0 0 0.103265 -0.129891 0 0 0 0 -0.167441 -6.0649 -1.5107 -0.420765 -0.338188 0.26053 -0.440444 -0.172552 0.108561 -0.118244 -0.0107703 0 0 0 0 0 0 -332 0 0 0 0 0 -0.0633584 0.279315 -0.768156 -1.2083 0 0 -0.167528 0.795295 0 0.947971 -0.0297869 0 0 0 0.00873516 3.8354 0 0 0 0 -0.431444 0 0 -0.856072 2.54935 0.542946 0 -0.237889 0 0 -0.304342 0.0037287 0 0 -0.683524 1.46389 0 0 -0.0291994 1.84129 0 0.648565 -0.404389 -0.333005 0.0715944 1.16583 -0.00326475 0 0.0680438 -0.0437402 0.251795 0.385124 0.798575 1.30334 0 0 -0.562697 -2.17831 0 0.236571 -0.208659 0.994218 0 0 0 0 -0.210289 0.154728 0 0.505414 -0.498884 0 0 0 0.0788036 0 0.665575 -3.54461 0 0.471425 -0.92239 1.11384 0 0.245209 -0.584709 1.45441 -8.63621 0 0 0 0.227797 0.0236284 0 0 0 0.0258002 -0.00903657 0 0.00311169 0 -2.88567e-05 0.00978395 0 0 0 0 -0.0191792 0 0.00752244 0 -0.0530502 0 0.249655 0.102382 0 -7.11447e-05 0 0 -0.040192 -0.000298493 0.013696 0 -0.000527048 0 -0.00029179 0.0226152 -0.00310124 -0.0038672 0.000543685 0 -2.8071e-06 0 0 0 -2.30061e-05 0 0 0.000796698 -0.00036683 0.0337841 -0.0031972 0 0 -0.00473661 0 0.000400245 0 0 0.00975081 -0.00640232 0.0185376 -0.00763057 0 0 -0.0308287 -0.00352876 0.019005 0.105834 0.20077 0 -0.087888 -0.000212823 -0.00315934 0 0 0 0.378038 0 0.00668454 0.111937 0 -0.000930406 0.0139909 0.154363 0 0.000413203 -0.00205859 0.00433986 0.0462578 0 -0.0633584 0.227797 0.279315 0.0236284 -0.887866 -0.0130277 0.0458131 -0.184246 0.146781 -0.0117409 -0.105595 -0.0818389 -0.00130199 0.00352186 0.00900184 0.0124308 -0.0403814 -0.104541 -0.858976 0.773209 -0.0661721 -0.0199498 0.066075 -0.165023 -0.258823 0.160615 0.165751 0.055011 -7.91763 -0.297926 -0.917914 0.204118 0.00133375 0.301336 -0.364918 0.00988909 -0.00450497 -0.0312735 -0.0654952 1.46116 0.0111115 0.00531672 -1.76999 -1.50684 -0.0132228 -0.023447 -0.283286 0.250021 -0.0302357 0.610891 -1.24062 0.0941082 0.0928174 2.56971 -0.00824923 2.23832 -0.0340103 0.13688 -0.124617 -0.0335692 0.429271 -0.506476 0.107052 0.0626622 -1.90277 0.113543 0.574499 -0.0285302 0.0911974 0.476769 -0.0434332 0.0263538 0.00926801 -0.0334855 0.064923 0.0135327 2.78456 0.194245 -1.59353 0.279163 0.36656 -3.799 0.0187371 0.0953037 -0.293258 -0.815651 0.0274694 0.085549 -0.246431 0.401364 -1.77996 0 -333 0 0 0 0 0 0.153432 0.304525 0.0747194 -0.362386 0 0 0.398226 1.00782 0 2.51266 0.0667317 0 0 0 0.174578 0.957202 0 0 0 0 -0.309943 0 0 -0.350373 -0.104058 0.741601 0 0.223464 0 0 -0.140576 0.0605102 0 0 1.0616 0.87671 0 0 0.271504 3.79517 0 0.901041 -0.342941 0.0570514 -0.42994 3.12492 -0.337071 0 -0.108569 0.351435 -0.0908011 1.50209 0.147049 0.122061 0 0 0.618851 -1.56631 0 -0.292782 0.0906834 -0.0562401 0 0 0 0 0.357377 0.615053 0 -1.11988 0.670389 0 0 0 0.916031 0 -0.664993 -0.630542 0 -0.653178 0.24292 0.455865 0 -0.669915 -0.00140514 -0.518725 -1.29579 0 0 0 -0.0992458 -0.0228346 0 0 0 -0.0344149 0.00505476 0 -0.00452678 0 -0.000113924 -0.030475 0 0 0 0 -0.129108 0 -0.0187197 0 -0.234204 0 -0.27861 -0.33566 0 0.000560511 0 0 0.162931 -0.000358857 -0.023129 0 6.01935e-05 0 0.000372244 -0.0659856 0.013524 -0.00595063 -0.00132352 0 -6.41215e-06 0 0 0 4.45745e-06 0 0 0.000916362 0.000591693 0.0613024 -0.00239936 0 0 0.00664765 0 -0.00064559 0 0 0.00418998 0.00267242 -0.130124 0.00321492 0 0 -0.0204561 0.012035 0.0015689 0.0277485 -0.116285 0 -0.0715505 -0.000237203 -0.12342 0 0 0 0.275391 0 0.0170947 -0.239394 0 0.000137233 0.00085051 0.0317529 0 0.000390859 -0.0029925 0.010305 -0.103456 0 0.153432 -0.0992458 0.304525 -0.0228346 0.169473 0.0354372 -0.188512 -0.176339 -0.233654 0.0173242 -0.0286214 -0.370691 0.00201322 -0.0272213 -0.0228102 0.00760668 -0.0086358 0.119164 1.20199 -0.171723 0.692705 -0.0268887 -0.255523 0.216635 -0.232856 -0.0621362 0.0195463 -0.00146938 12.4028 0.123164 2.0229 2.2909 -0.002664 -0.330712 1.1943 -0.0177201 0.00217723 -0.0173284 0.0253523 -0.386559 -0.0102693 -0.00692011 5.56941 2.20692 -0.000280583 0.00356413 0.414517 -0.0209263 -0.0714907 0.0318423 1.16632 0.429766 -0.0773762 2.89284 0.0333873 -1.19583 0.0731401 -0.226381 0.222054 -0.197466 0.840259 -0.0975919 -0.141811 -0.0247591 13.8424 -0.0560056 0.0871761 0.0605909 -0.0870757 0.0787893 0.0301174 -0.0119209 -0.0348792 0.000566473 -0.0361791 -0.0319537 -6.13664 0.407747 1.06325 -0.446516 0.112207 0.151741 0.0395995 -0.118632 0.143905 0.18498 -0.0313116 -0.0781919 0.146406 -0.116308 0.13257 0 -334 0 0 0 0 0 0.13209 -0.126219 0.00708796 -0.115533 0 0 0.101279 -1.00796 0 -1.29879 -0.0201529 0 0 0 -0.278633 -1.65953 0 0 0 0 0.0354793 0 0 -0.0465969 -6.27474 -0.375005 0 -0.151065 0 0 0.0492529 0.0276706 0 0 1.50864 -1.32956 0 0 0.426498 -3.84123 0 -0.639 -1.10259 -0.963458 -0.656365 -0.866293 -0.846097 0 0.295916 -0.206653 -0.187872 -0.767579 0.00431021 -0.613959 0 0 0.339608 2.78348 0 -0.567877 -0.246098 0.637607 0 0 0 0 -0.131646 0.576207 0 -0.953959 0.984985 0 0 0 0.142823 0 -2.12207 6.93271 0 -1.03087 3.09233 -0.689372 0 -1.47119 4.40511 -6.38898 18.0169 0 0 0 -0.0966322 -0.0213803 0 0 0 0.00225026 -0.0185671 0 -0.00166144 0 7.49385e-05 -0.0303349 0 0 0 0 -0.194736 0 -0.0205031 0 -0.288661 0 0.155602 0.208983 0 -0.000935182 0 0 -0.100712 0.000327904 0.00675069 0 -0.000637505 0 -0.000994838 0.128819 -0.0081102 0.00469539 0.0110774 0 4.85598e-06 0 0 0 -3.14957e-05 0 0 -0.000860956 -0.00148466 -0.106945 -0.00215187 0 0 -0.0152193 0 0.00161989 0 0 0.00100001 -0.00762207 -0.133819 -0.00954895 0 0 0.115175 -0.0239498 0.0156967 -0.0878138 0.0585393 0 -0.0766472 -0.000125163 -0.0921757 0 0 0 0.768973 0 -0.0104556 0.334919 0 0.000590591 0.0118836 0.192902 0 -0.000417528 0.00543433 -0.0138629 0.19751 0 0.13209 -0.0966322 -0.126219 -0.0213803 0.232609 0.107388 -0.14692 0.0187805 0.290146 0.0154861 -0.015596 0.200654 0.00168134 0.0104739 -0.0174019 0.00682301 0.0016503 0.131777 -0.92038 -0.943512 -0.127099 0.00662227 0.122732 -0.0543644 0.0543444 -0.273653 0.0869145 -0.0150305 -1.24784 0.374167 -0.145337 -0.557959 -0.00203377 -0.247423 -0.146418 0.00732282 0.00766342 0.0246045 0.0583274 -1.93637 0.0143156 -0.0404271 -0.993227 -2.93839 -0.00245878 0.0489352 -0.279505 -0.110321 -0.317884 -0.390225 0.0584688 -0.351878 0.0817464 -2.03587 0.0200233 0.658293 -0.0903812 0.0480624 -0.0180674 0.617954 0.651059 -0.20268 -0.238947 0.673136 -3.39799 -0.0168636 0.502453 0.0162169 0.0567909 -0.0240304 0.0049387 -0.0734496 -0.0274196 0.0449865 0.0469421 0.0348327 0.440893 -0.293248 0.690629 -0.180784 -0.810225 3.66973 -0.0364274 -0.229792 0.95203 -0.743848 -0.0346258 -0.13284 0.663246 -1.07658 2.46523 0 -335 0 0.441301 0.134612 0.0206984 0.293575 -0.475567 -0.140214 0.295324 1.48928 0.0887852 -0.591897 0.120108 -0.367158 -0.0003222 -0.107911 0.00103381 -0.629535 -0.455643 -0.0962271 -0.00649897 -0.942351 0.0144347 -0.0701127 0.000343226 0.131819 0.288061 -0.317601 -0.0331562 0.40887 0.256654 -0.376435 0.00540584 -0.000615166 -0.635277 -0.194885 0.148052 0.00691374 -0.16063 -3.44228 0.183064 -0.779742 -0.00473398 -0.769411 0.0108625 0.593132 -0.0619595 -0.640416 0.369829 -0.141237 0.00717855 -1.4706 -0.0432802 0.124407 -0.0269331 0.0206948 -0.131126 -0.193074 0.1469 0.0434735 -0.0526285 -0.00231853 0.60444 0.773309 -1.06277 -0.12451 0.672163 -0.304295 -0.272984 -0.262605 -0.00471763 -0.208769 -0.173458 -0.0335028 0.291398 0.166153 0.190413 1.67282 6.26967 1.09782 -0.592025 0.974106 -1.41732 3.96671 -0.30639 -0.134953 0.675694 -2.02071 0.00750122 -0.0179862 0.0311912 -0.109458 -0.387116 0 0 0 0 0 0.0206984 0.293575 -0.000594957 0 0 0 0 -8.56003e-05 0 0.00658994 0 0 1.28472e-05 -0.000317651 -0.00122817 0 0.000174356 0.00384362 0.0111239 0 0 0.152109 -1.3435e-05 0 -0.0237713 0.159705 0 0 0.0156818 0.0359152 0 -0.169454 0 0.0130405 0 0 0.0012766 0 0 -0.522276 -0.00184588 -0.00111085 0 -0.0136194 0.00137051 0 0 -0.0130962 0 -0.00181064 -0.14209 0.00559865 0 0 0.000326131 0.000371166 0 -0.0048498 -0.0314051 -0.00501404 1.30276 -0.018922 0.0260733 0 0.0102131 -0.0785407 0.0209842 0.0621247 1.49985e-05 0 0 0 3.73874 0.127738 0.188676 0.0162631 -0.0391998 0.565376 0.000137014 -0.000378689 0.00461516 -0.00578513 0 0 0 0 0 0 -0.475567 0 -0.140214 0 0 0 0 0.342198 -0.435646 0 0 -0.818593 0 -0.0779266 0 -0.0360051 0 0 1.15008 0 0.112686 0.112896 -0.298581 0.171136 0 0 -0.367543 0 7.87477 0 0.0393859 0.0463521 0 1.20808 0.0129453 -0.025858 0 0.0350324 0 0 -0.0433482 0 1.54153 2.55934 0 0 0.373333 0 0 -0.349778 3.5162 -0.349075 0 -0.781445 0 -0.238042 -0.119582 0.21478 0.279443 0.178422 0.337177 0.322598 -0.0796804 1.07652 8.76832 -0.09334 0 0 0 0.0691351 0.113834 0 0 0 0 0.00261491 -0.619797 2.37826 -4.31491 0.334175 -0.365507 0.111902 0.282166 -0.268142 0.372202 -0.623497 0 0 0 0 0 0 -336 0 0.178659 -0.0970152 -0.00706106 -0.0271158 -0.0376025 -0.191799 0.0892059 0.392892 -0.02943 0.388471 -0.0541569 -0.314251 0.000167981 -0.821673 -0.0148915 -0.22496 -0.887364 0.0558906 -0.0245702 0.0834571 0.01233 0.186989 -0.000125408 0.155827 0.213373 -0.104621 0.028856 0.264105 -0.193731 -0.139847 -0.00199501 -0.225469 0.319302 0.0522648 0.193496 -0.0029033 0.234162 0.575937 -0.0659883 -0.457695 0.00240509 0.0895 -0.00472752 -1.40953 0.0268335 -0.520144 0.144849 -0.375091 0.00226586 -1.12382 -0.0797936 -1.14226 0.0270302 0.0173564 -0.0393486 -1.28227 -0.0962532 -0.00676165 -0.163144 -0.00105846 0.299006 1.35659 0.578295 0.0618529 0.067551 -0.0557117 0.555773 0.276947 -0.00365093 -0.176614 0.278328 -0.0431466 -0.320007 0.386704 -0.216032 -0.492651 -0.00380809 -0.807406 -0.476046 -0.817826 0.394263 -0.279852 -0.50918 0.0468407 0.175563 -1.58106 -0.00324863 0.00698479 -0.00850949 0.0281763 0.292208 0 0 0 0 0 -0.00706106 -0.0271158 0.000541143 0 0 0 0 3.35347e-05 0 0.0125888 0 0 -0.000162484 -0.000311544 0.00563911 0 0.000542881 -0.00654311 0.104957 0 0 -0.162915 -1.33047e-05 0 -0.0121353 -0.686789 0 0 -0.0203764 -0.0909039 0 -0.123149 0 -0.0106775 0 0 -0.00136612 0 0 -0.410868 0.000700484 -0.00466115 0 0.0109883 0.0279534 0 0 -0.0984801 0 0.000830192 -0.0102612 0.000341735 0 0 0.000704323 -0.000971862 0 -0.00075135 -0.0307636 -0.0043816 -0.435471 0.0236596 0.0123455 0 0.0026823 -0.00529009 -0.0812556 -0.0148334 -0.0340216 0 0 0 0.893201 0.0279274 -0.179442 0.000163369 -0.000153781 0.076611 0.000254851 -0.000666562 0.00851843 -0.0514129 0 0 0 0 0 0 -0.0376025 0 -0.191799 0 0 0 0 0.00673127 -0.171026 0 0 0.167249 0 0.00986187 0 0.00915207 0 0 -1.04603 0 -0.0261046 0.0238008 0.0882829 -0.117408 0 0 0.0738279 0 -8.3889 0 -1.88706 -0.862164 0 0.150991 -0.564978 0.00652141 0 0.0214972 0 0 -0.0109548 0 -2.71917 -2.22791 0 0 -0.275075 0 0 0.216742 -2.66264 -0.107554 0 -1.18361 0 0.0955556 0.0116263 -0.00884094 -0.0277526 -0.113172 -1.0484 -0.151768 -0.0167383 -0.623402 -10.1006 0.0557638 0 0 0 -0.145882 -0.0220143 0 0 0 0 -0.109316 5.64798 0.285078 -0.88418 0.538641 -0.44788 0.492144 -0.0665803 0.0225578 0.00934638 -0.234239 0 0 0 0 0 0 -337 0 0.28665 -0.319616 0.000536598 -0.029331 0.0773652 -0.115409 -0.224565 -1.71611 0.0798096 0.665515 0.0653787 0.0892359 -0.000227382 0.669321 0.0135108 -1.37356 -1.98753 0.0635852 0.0212384 -1.6773 0.00550842 0.406444 0.00037717 0.121052 0.119228 -0.722052 -0.0216977 0.384846 0.887199 0.0954909 0.00546781 0.283947 0.495284 0.0124759 0.281856 0.00722942 -0.130082 0.543679 0.0653806 -0.907254 -0.00310854 0.306283 0.00796136 0.952062 -0.0388828 -0.562096 0.592804 0.466454 -0.0459972 1.25983 -0.184285 -1.27644 -0.00552125 -0.0030737 0.061759 0.0105306 -0.35379 -0.240214 -0.0838003 0.00928499 0.686484 1.50069 -0.985766 -0.941599 -0.322269 0.373152 -0.0874521 -0.184621 -0.00641795 -0.644193 -0.150137 0.108386 0.13012 0.558172 -0.703141 -0.442554 -0.0484892 -1.37251 3.78652 0.9795 -0.288863 -0.442443 -0.527805 0.61609 -1.11915 3.16701 0.0047074 -0.00829078 -0.0243812 0.0495618 -1.33818 0 0 0 0 0 0.000536598 -0.029331 -0.000503604 0 0 0 0 -8.0313e-05 0 -0.0071522 0 0 1.736e-05 -0.000320874 -0.00398723 0 -0.000540938 0.0041575 -0.054175 0 0 0.114444 -1.35382e-05 0 -0.0335698 0.120621 0 0 0.00811976 0.0369862 0 -0.231816 0 0.00968124 0 0 0.000608827 0 0 -0.67318 -0.00173472 -0.00107027 0 -0.0117725 -0.000716672 0 0 0.060411 0 -0.00167664 -0.206339 0.00662123 0 0 0.000372546 0.000226742 0 -0.00531309 -0.0377526 -0.00897195 1.03671 -0.0228525 -0.00357384 0 0.00784157 -0.0340842 -0.0173888 0.0504857 -0.0136025 0 0 0 4.69902 0.150277 0.428365 0.0193327 -0.0468227 0.56346 0.000145615 -0.000404069 0.00490767 0.0741087 0 0 0 0 0 0 0.0773652 0 -0.115409 0 0 0 0 -0.313135 0.34801 0 0 0.536757 0 0.0613286 0 0.00863533 0 0 0.0849337 0 1.10807 -0.114382 0.154764 -0.0340753 0 0 0.111104 0 1.31394 0 2.50139 0.317422 0 -1.07328 1.73975 0.0136369 0 -0.0187449 0 0 0.032384 0 0.607527 0.293473 0 0 -0.0735983 0 0 0.426163 -0.33343 0.264665 0 2.47482 0 0.55747 -0.0317547 -0.0522949 -0.236276 -0.0117585 0.77974 -0.384558 0.0295212 -0.65738 5.9167 0.0395785 0 0 0 -0.043818 -0.0528118 0 0 0 0 -0.0423654 -8.78257 -2.08387 3.4732 -0.555662 0.571081 -0.625762 -0.135321 0.181541 -0.294001 0.61273 0 0 0 0 0 0 -338 0 0.314193 0.164067 0.031988 0.219386 -0.457652 -0.13367 0.444843 1.78998 0.211135 -0.833207 0.0844336 -0.597163 -0.00220333 -0.474442 -0.000754484 -0.176093 -1.5537 -0.0722304 -0.0516562 -1.11384 0.0093306 -0.174109 0.00370295 -0.0712836 0.172065 0.0704665 0.0157165 0.269978 0.25986 -0.362732 0.02807 0.0895573 -0.714436 0.00106736 0.0471644 0.0141508 0.0749819 -3.66412 0.123392 -0.687831 -0.0131533 -0.0495548 0.025577 -1.14431 -0.0604998 -0.47395 0.244729 -0.153397 0.0293156 0.0115019 0.100876 2.24217 0.267325 0.0465593 -0.131965 0.549205 0.209867 -0.851373 0.0110318 5.58743e-05 1.19159 1.55591 0.113504 0.325935 -0.0197468 -0.91024 -0.304877 0.12562 -0.0443737 -0.113039 0.220626 -0.0403446 0.184054 -0.583344 0.105318 1.18201 6.23809 1.70383 -1.21846 0.84408 -1.2901 4.38175 0.190619 -0.33835 0.881508 -2.76809 0.0224392 -0.0494642 0.0461565 -0.0782527 -0.810486 0 0 0 0 0 0.031988 0.219386 -0.000167694 0 0 0 0 -1.53118e-06 0 -0.00068704 0 0 -5.8929e-07 -1.16422e-07 -0.00366139 0 0.000143526 -0.0118141 -0.0302042 0 0 0.056544 -5.45945e-09 0 0.0310581 0.143292 0 0 0.00585424 0.00867844 0 0.0577134 0 0.00623697 0 0 0.000844369 0 0 -0.00379833 -3.26522e-05 -1.25665e-05 0 -0.00357606 -0.00279373 0 0 -0.0269943 0 -0.000312073 0.066465 0.000761843 0 0 1.09665e-06 0.00026375 0 -0.000581266 0.0325512 -5.61635e-05 0.154772 -0.00398143 0.013545 0 0.000760563 -0.0265239 0.0822669 0.00947372 0.0480921 0 0 0 0.272132 0.0150603 0.0880515 0.00212891 -0.00519482 0.138662 4.144e-07 -1.01119e-06 1.37247e-05 0.00607647 0 0 0 0 0 0 -0.457652 0 -0.13367 0 0 0 0 0.0778884 0.194611 0 0 -0.527444 0 -0.0493198 0 0.00350256 0 0 0.0715093 0 -0.220017 0.0534444 -0.104816 0.0491442 0 0 0.0536266 0 3.12523 0 -1.41991 -0.229733 0 0.829959 -0.654814 -0.00757499 0 -0.0185237 0 0 0.0107549 0 0.371642 0.193799 0 0 0.087751 0 0 0.445845 4.47773 0.138634 0 0.667029 0 -0.600049 0.118313 -0.143615 0.0911277 0.0246128 1.07377 0.665193 -0.0127021 0.801985 6.82093 0.0636079 0 0 0 -0.0828221 0.038114 0 0 0 0 0.117883 7.22159 1.96945 -3.14847 0.279232 -0.320446 0.538819 0.142025 -0.123201 0.20794 -0.450642 0 0 0 0 0 0 -339 0 0.2749 0.124106 -0.0315607 -0.0593694 0.056438 -0.0466001 -0.171517 -0.169116 -0.244729 0.870699 -0.235018 -0.249965 0.00563542 -1.01922 0.0101984 0.321454 -0.218057 0.133935 0.0581231 0.0950285 0.0578289 -0.047454 -0.00723419 0.369749 -0.0183373 0.238414 0.0379076 0.210439 0.577852 -0.343611 -0.0460555 0.0876419 -0.146388 -0.109575 -0.0478156 -0.0367995 0.116396 -0.870636 -0.458983 -0.200978 0.0362545 -0.677276 -0.0789832 -0.638128 0.196484 -0.170752 0.346471 0.254834 0.209954 -0.223848 0.348852 -0.765334 -0.111976 0.0711519 -0.158753 0.167604 -0.402261 -0.095973 -0.430917 -0.0794792 0.103199 1.78049 1.44133 0.395803 -0.0905271 0.252648 0.895968 0.257602 0.0842472 -0.595029 0.123255 -0.175704 0.0257425 1.64316 0.0691262 -0.691175 4.17338 -0.994019 0.661321 -0.330817 -0.177202 1.79512 -1.02763 0.50669 -0.53338 0.318664 -0.0728755 0.171446 -0.413572 0.969655 -1.80228 0 0 0 0 0 -0.0315607 -0.0593694 1.19925e-05 0 0 0 0 1.09208e-07 0 0.00326923 0 0 -9.95686e-06 -1.25779e-06 0.00903155 0 -0.000133482 0.0286838 0.0701829 0 0 -0.2495 -5.89825e-08 0 -0.0891742 -0.777354 0 0 -0.0351721 -0.0127201 0 -0.31671 0 -0.0345661 0 0 -0.00497029 0 0 -0.8897 2.32885e-06 -0.000212328 0 0.000255737 0.000470149 0 0 -0.0014855 0 2.23175e-05 -0.214072 -4.26208e-05 0 0 1.85294e-05 -1.88618e-05 0 9.64849e-06 -0.0584551 -4.89126e-05 -0.855184 0.000710236 0.0269945 0 -2.95829e-05 -0.0245937 -0.297238 -0.00054929 0.0644836 0 0 0 1.87797 0.000386512 -0.0194337 -5.90619e-05 0.000144118 0.174328 7.00185e-06 -1.70854e-05 0.000231898 -0.0168727 0 0 0 0 0 0 0.056438 0 -0.0466001 0 0 0 0 -0.207458 -0.841469 0 0 0.414815 0 0.0352967 0 -0.0362349 0 0 -0.130968 0 -0.503893 -0.0667216 0.199733 0.00286974 0 0 -0.367028 0 -9.09721 0 -3.30668 -1.08758 0 -0.444995 -1.33259 0.017468 0 -0.0258343 0 0 -0.0785014 0 -3.29436 -0.693204 0 0 -0.068797 0 0 -0.142758 -1.87499 -0.121937 0 -2.21452 0 -0.204814 -0.0879779 0.107429 0.116678 -0.17135 -1.02018 0.0277019 0.113337 0.0416513 -6.64405 0.118426 0 0 0 -0.169009 -0.079664 0 0 0 0 0.0199563 13.6594 -0.00666913 0.577477 0.541566 -0.533977 0.949039 -0.123009 0.0814888 -0.0812987 0.0798748 0 0 0 0 0 0 -340 0 -0.241961 0.222107 -0.0304733 -0.165169 0.256633 0.331208 -1.07403 -2.77382 -0.261821 1.2277 0.16367 -0.57314 0.00197131 -0.808529 0.022357 0.0904394 -1.46176 0.246192 0.0982487 -1.56225 0.0172224 -0.460014 -0.00346115 0.245129 -1.0497 0.245084 -0.00183007 -0.747045 -1.55948 -0.200046 -0.0292433 0.241289 -0.486697 0.218002 -0.656221 0.00870417 -0.174993 0.00326719 0.109793 0.234909 0.012006 -0.199329 -0.00232101 -1.37569 0.060931 0.58093 -1.16099 0.904027 -0.0385925 -0.228912 0.222529 0.858808 -0.117684 0.0322655 -0.180906 0.73765 -0.176378 0.152159 -0.243673 0.000841763 0.782975 -0.190463 0.001794 1.3614 0.109749 0.706955 -0.520797 -0.198912 0.0381438 -0.645018 -0.0991223 0.0706825 0.174202 1.50777 1.13273 0.33202 -1.43593 -1.62632 2.50264 -0.150422 -0.00576333 1.01904 -0.630129 0.747083 -1.46249 3.75617 -0.0225992 0.00640989 0.194184 -0.856396 4.86391 0 0 0 0 0 -0.0304733 -0.165169 -0.000227183 0 0 0 0 -2.07438e-06 0 -0.00225857 0 0 -1.37384e-06 -2.30594e-07 0.000500543 0 -0.00056932 0.0419664 -0.000186393 0 0 0.0301042 -1.08134e-08 0 -0.0380116 0.592369 0 0 0.00686545 0.18214 0 -0.145603 0 -0.00495348 0 0 -0.000304095 0 0 -0.203299 -4.42358e-05 -2.92969e-05 0 -0.00484464 -0.00393929 0 0 0.098229 0 -0.000422779 -0.247891 0.00103353 0 0 2.55666e-06 0.000357314 0 -0.000811536 -0.0227529 -0.000184774 -0.477292 -0.0055868 -0.0132887 0 0.00103939 0.00949405 -0.182329 0.0128017 -0.0480876 0 0 0 1.05563 0.0213935 0.0144398 0.00301803 -0.00736437 0.00610047 9.66109e-07 -2.35743e-06 3.1997e-05 -0.00224138 0 0 0 0 0 0 0.256633 0 0.331208 0 0 0 0 0.0528167 -0.779494 0 0 0.315225 0 0.0443203 0 -0.0100249 0 0 -0.0987382 0 -0.717203 -0.114518 -0.0539172 -0.0109615 0 0 -0.103295 0 -5.0016 0 -1.27362 -0.02899 0 -0.728458 -0.891352 -0.0005667 0 -0.0109462 0 0 -0.074096 0 -0.766715 0.0950382 0 0 0.0207033 0 0 -0.0696042 0.832915 0.0771654 0 -0.67917 0 -0.163483 -0.0489169 0.0172399 -0.413536 -0.0328752 0.384032 0.0829876 -0.0251356 -0.0109164 0.167723 0.0919712 0 0 0 -0.153185 -0.0566467 0 0 0 0 0.116836 3.75097 -1.34777 2.38795 -0.0575765 -0.0323872 0.458975 -0.128938 0.129305 -0.183135 0.444907 0 0 0 0 0 0 -341 0 0 0 0 0 0.107418 -0.286917 0.722713 0.854817 0 0 0.266819 -0.639807 0 -0.495804 0.0447201 0 0 0 0.0706094 4.23644 0 0 0 0 0.44302 0 0 0.58299 -1.49734 -0.532318 0 0.032519 0 0 0.358782 0.0604417 0 0 0.921352 0.0508222 0 0 0.247599 0.603531 0 -0.940697 0.248708 0.192159 -0.549128 -0.498327 -0.196596 0 -0.10146 0.0900667 -0.419561 0.0984327 -0.0500464 -0.478419 0 0 -0.623138 -2.36597 0 -0.531223 -0.338329 -0.414202 0 0 0 0 -0.0150242 0.371963 0 -1.99261 0.40215 0 0 0 -1.69194 0 -0.976001 0.984453 0 -0.522811 0.872627 -2.2746 0 -0.813562 1.70888 -3.29053 5.78612 0 0 0 0.00490001 -0.031961 0 0 0 -0.0354341 -0.0345323 0 -0.00544892 0 -0.0053383 -0.028714 0 0 0 0 0.0238965 0 -0.00960532 0 0.00753418 0 -0.158692 0.239288 0 0.00148544 0 0 0.21462 -0.00271385 0.0361151 0 0.00147341 0 -0.00261958 0.175844 0.0201705 -0.0419432 0.0287822 0 -0.00029904 0 0 0 4.96609e-05 0 0 0.00249338 0.000201883 0.262487 0.0123518 0 0 0.0305612 0 0.0094622 0 0 -0.0048694 0.0164554 -0.345879 0.0298928 0 0 0.0597311 -0.0179535 0.0548786 0.014445 -0.0659605 0 0.139015 0.010726 -0.036841 0 0 0 0.11571 0 0.101486 -0.46262 0 0.00536115 -0.0138099 -0.0758447 0 0.00230249 -0.012181 0.0219535 -0.0883951 0 0.107418 0.00490001 -0.286917 -0.031961 0.0387225 0.162697 -0.318367 0.274053 -0.156242 0.0360997 -0.0435047 0.0509694 0.00629477 0.0482414 -0.0549938 -0.0156631 0.0292991 0.128872 0.713904 0.720777 -0.022479 0.0366679 -0.0409161 0.0388434 0.127687 -0.227838 -0.146319 0.0460842 0.482817 0.312186 -0.490129 -1.18964 -0.00866672 -0.0281631 0.101366 0.00703576 0.00930483 0.0781257 0.0579307 -1.11679 -0.0129284 -0.049714 -0.895819 1.33862 -0.00354729 0.041506 0.0662608 0.203233 0.00647048 1.79026 -1.12136 -0.345207 -0.0761343 -0.418965 0.109214 -0.464613 -0.226933 -0.0133455 -0.124881 0.278545 -0.31565 -0.681229 -0.289766 -0.742327 -1.74545 -0.203929 0.881535 -0.00250574 0.256713 -0.542 -0.110211 -0.10561 -0.0785603 -0.0311463 0.00607162 0.110335 2.77814 0.175329 0.719564 -0.197349 -1.22073 4.38252 -0.10154 -0.36214 1.10906 -0.0010782 -0.0882854 -0.229429 0.682115 -0.676175 1.19224 0 -342 0 0 0 0 0 -0.729771 -0.257218 0.740975 2.08941 0 0 -0.234201 -0.314572 0 -0.932389 -0.178741 0 0 0 -0.10177 -1.18314 0 0 0 0 0.328662 0 0 0.351016 2.025 -0.306344 0 -0.748972 0 0 0.136795 -0.0588065 0 0 0.260113 -0.23546 0 0 0.0322617 -1.05061 0 -0.309509 0.764669 -0.471481 -0.0138816 -1.17422 -0.0145156 0 0.040052 -0.35608 0.742304 0.176252 0.0304511 0.557214 0 0 0.564451 2.56451 0 0.578547 0.216046 -0.107167 0 0 0 0 0.337354 -0.388228 0 1.40852 -1.35033 0 0 0 -4.24128 0 -1.39643 -2.48734 0 -0.629863 -0.363437 -4.44451 0 -0.285757 -1.07516 1.35636 -8.13355 0 0 0 -0.0743961 -0.0138841 0 0 0 -0.0257457 0.0481625 0 -0.00300995 0 0.00187488 0.0184777 0 0 0 0 0.0441931 0 0.00234644 0 0.250831 0 -0.19979 0.182734 0 0.00134808 0 0 0.0688005 0.00180481 0.0224619 0 0.00721142 0 0.00249818 0.0827579 0.0106369 0.03145 0.00969546 0 9.99081e-05 0 0 0 0.000375671 0 0 -0.00312204 0.00284227 0.416843 -0.00697978 0 0 -0.00107054 0 -0.00507342 0 0 0.0117118 0.0440077 -0.145072 -0.0190593 0 0 0.0782022 0.0125255 -0.012289 0.0102236 -0.0597388 0 -0.0579426 0.0169475 -0.208082 0 0 0 -1.07245 0 -0.110906 -0.30944 0 -0.00987113 -0.0176964 -0.0785015 0 -0.00143071 -0.0039731 -0.000271376 -0.0327162 0 -0.729771 -0.0743961 -0.257218 -0.0138841 -0.542986 -0.0618775 -0.114142 -0.231961 -1.1851 0.0184047 -0.0312537 -0.0201299 0.00264475 -0.00500961 -0.0210489 -0.0704739 -0.0232298 0.118761 0.351026 0.425149 -0.389348 0.0428301 0.138686 0.0541993 -0.159241 0.0544749 -0.47937 0.0103832 -0.772131 -0.0808708 -3.05092 -0.37651 -0.00348488 0.427085 -1.43229 0.0158788 -0.00308157 -0.0382201 -0.0159153 0.488596 -0.172276 0.00714711 -0.627889 0.989459 -0.00494488 -0.019301 0.121945 0.0584926 0.172184 1.17495 -1.12642 -0.762166 0.00711784 0.301329 0.0431722 1.10362 -0.442628 0.839628 -0.117922 0.364695 -0.527442 -0.822073 0.110154 -0.565651 -6.44385 -0.221915 -0.0890596 -0.0247574 -0.16021 -0.228762 -0.00325659 0.0261142 -0.0448764 0.153055 0.129086 0.299133 17.2932 2.0476 -2.09781 0.708459 -0.400743 -0.382434 -0.0705892 -0.0311134 -0.409684 -0.0942266 -0.0813586 0.031174 -0.31704 0.208545 -0.434612 0 -343 0 0 0 0 0 -0.412342 -0.132184 0.0864169 0.626104 0 0 -0.0845354 0.236528 0 0.223325 -0.0643483 0 0 0 0.0479021 0.301397 0 0 0 0 0.13768 0 0 0.166748 -1.32451 0.060468 0 -0.456286 0 0 0.102973 -0.0372619 0 0 1.39006 0.491184 0 0 0.221035 0.549688 0 0.0905398 0.0280556 0.0162528 -0.207864 -0.88201 -0.0260302 0 0.225512 0.56054 -0.321732 0.829681 1.00394 0.577987 0 0 0.284965 -6.17302 0 0.106434 0.4455 -0.246546 0 0 0 0 0.274117 0.00828873 0 -3.92173 0.881897 0 0 0 -0.0977033 0 -1.79926 3.27803 0 -0.484796 1.7627 -2.27432 0 -1.01239 2.2847 -3.81563 3.82918 0 0 0 -0.445425 -0.0659927 0 0 0 -0.0206574 0.0483603 0 -0.00206343 0 -0.00739605 -0.0917692 0 0 0 0 -0.225399 0 -0.038131 0 -0.503547 0 -0.169512 0.00484805 0 -0.00274397 0 0 -0.225757 0.000548793 0.0295653 0 0.00411227 0 0.00356536 0.0153619 -0.0217605 -0.00200156 0.019211 0 -0.000370714 0 0 0 0.000253355 0 0 0.00419324 0.0011609 -0.0117006 0.0011911 0 0 -0.0246432 0 -0.0116347 0 0 0.0204789 -0.00292923 -0.0646187 0.0476951 0 0 -0.116636 -0.0186299 -0.0388008 0.0681759 -0.358614 0 -0.0392344 -0.0117473 -0.10137 0 0 0 2.12034 0 0.137187 0.482462 0 0.0182741 0.00840178 0.134518 0 -0.000335913 0.0147078 -0.024329 0.103909 0 -0.412342 -0.445425 -0.132184 -0.0659927 0.280803 0.0298444 -0.253643 0.189413 -0.282437 0.0702234 0.0439256 0.349327 0.0105731 0.0808429 -0.060953 -0.0599925 0.0622582 0.458917 0.924642 -0.761357 -0.0805095 0.0668952 0.123627 0.141946 0.180121 -0.0111971 -0.456633 -0.0146782 3.92719 0.323637 0.0177073 0.277419 -0.0122249 0.50619 0.135805 0.0390626 -0.00184458 0.0297058 0.0203353 -0.285552 -0.01758 0.00325667 1.59219 0.810202 0.0106207 0.0181667 0.184682 -0.102302 0.0606517 -0.715787 -2.20895 0.429365 -0.00452041 -0.121753 0.0471207 -0.41584 0.0330432 -0.24458 0.141736 -0.304349 -0.644215 -0.468187 0.0487291 0.280384 1.28756 0.354595 -0.125544 0.287717 0.0881825 0.489995 -0.14615 -0.00423256 -0.126111 0.121262 -0.11018 -0.0974008 -0.100368 -1.00158 -2.37233 -1.30668 -1.27805 1.34272 -0.419072 -0.367122 0.552723 -0.779955 -0.314387 -0.222092 0.325404 -0.541238 0.426575 0 -344 0 -0.364788 -0.0587506 -0.0135798 -0.124259 0.0359222 0.249924 -1.31246 -2.60162 -0.0832183 0.786786 -0.141633 -0.381493 0.00120494 -0.107552 0.0137731 -0.43557 -1.77799 0.223339 0.0292206 -0.733432 0.0523499 -0.104956 -0.00158401 0.141917 -0.810311 -0.0488808 0.108977 -0.686257 -1.36049 0.137375 -0.0122977 0.0921891 -0.0822958 0.569145 -0.46323 -0.00896322 0.396517 0.225937 -0.170997 0.379588 0.00867754 1.7684 -0.0100808 -1.89554 0.0493025 0.573494 -0.923973 0.165073 0.0160705 1.17554 0.306815 -0.709286 -0.0676223 0.042132 0.112633 2.04703 -0.529467 -0.241832 -0.314388 -0.0142609 0.779134 1.84757 0.312323 -0.0169448 -0.943418 0.970396 0.191267 0.817395 0.0193155 -0.0594984 0.0766007 -0.0814934 -0.603667 2.45365 0.786841 -2.04732 -1.83724 -1.17793 2.10532 -0.7095 1.21641 -0.669796 -0.726449 0.988876 -1.10594 3.61479 -0.015216 0.0213882 0.171163 0.272432 2.14009 0 0 0 0 0 -0.0135798 -0.124259 0.000724577 0 0 0 0 0.000100402 0 0.00534456 0 0 -0.000162018 -0.000964436 0.00306577 0 0.000545311 0.0230403 0.0232803 0 0 -0.1313 -5.10545e-05 0 0.00401697 0.178686 0 0 -0.0163617 0.0980989 0 0.0630845 0 -0.0167163 0 0 -0.00191319 0 0 0.177583 0.00189663 -0.00306057 0 0.0136875 0.0147246 0 0 0.0802936 0 0.00139581 0.429889 0.00309116 0 0 0.000312107 -0.00117967 0 0.00689193 0.0149069 0.00244297 0.16964 0.0370032 0.00107261 0 0.00277593 0.000653912 -0.0814395 0.038267 0.0605203 0 0 0 -1.19094 -0.0337997 -0.183738 -0.00493407 -0.00432641 -0.00516336 0.000137817 0.000120844 0.000254908 -0.00272162 0 0 0 0 0 0 0.0359222 0 0.249924 0 0 0 0 -0.0739151 0.368948 0 0 0.686457 0 0.0816238 0 0.00218732 0 0 -0.539183 0 0.146808 -0.061843 0.337613 -0.0637085 0 0 0.0972011 0 -1.13625 0 2.26907 0.52389 0 -0.38291 0.774152 0.035205 0 -0.00352981 0 0 0.036871 0 0.241739 -1.08373 0 0 -0.134187 0 0 0.0260565 0.461099 -0.0430887 0 1.32749 0 -0.0969263 0.166576 0.0189203 -0.585392 0.0444837 0.869393 0.311095 0.0407674 -0.323994 -0.811957 0.150731 0 0 0 0.135645 -0.137491 0 0 0 0 -0.115909 -10.6935 -3.38869 1.45373 -0.568508 0.218691 -0.538765 -0.338058 0.214245 -0.281835 0.244913 0 0 0 0 0 0 -345 0 -1.08219 -0.242361 -0.00945412 -0.0337009 -0.212494 -0.029515 -0.270174 -0.429179 -0.0726309 0.102003 -0.0312072 0.555535 0.000979423 1.48805 0.00733201 -0.666045 -1.86624 -0.0378914 0.00612209 2.02864 -0.00920649 0.0635059 -0.00125033 0.0372989 0.035286 -0.27275 -0.0240697 0.0803068 -0.226999 0.246126 -0.0101576 0.0965937 -0.0134432 -0.155398 0.0298101 -0.00274308 -0.0453718 -0.164271 -0.143835 0.788125 0.00845543 -0.370432 -0.0138784 2.609 0.0682261 0.245246 -0.0416037 0.0787043 0.0428138 -0.44589 0.112218 -0.602282 0.00825571 0.00911037 -0.10207 -0.940239 0.204906 0.161793 -0.078051 -0.0188585 -0.447642 -2.74631 -0.761368 -1.05983 0.0950542 -0.272855 -0.149814 -0.119645 0.0182235 -0.0187286 -0.169406 0.116962 0.0491352 -1.63083 0.0251865 0.315723 -0.120769 -0.709966 0.540984 -0.662857 0.899816 -0.769453 -0.174084 0.0635184 0.0549007 0.142544 -0.0210563 0.0152781 -0.0186321 0.136144 0.357076 0 0 0 0 0 -0.00945412 -0.0337009 0.00197538 0 0 0 0 0.000208145 0 0.0052724 0 0 0.000822839 0.000905122 0.00267734 0 0.000513698 0.019944 0.0302938 0 0 -0.0353015 4.79146e-05 0 0.00381293 0.421817 0 0 -0.00230223 0.0958676 0 0.0291906 0 -0.0076711 0 0 -0.000728742 0 0 0.241025 0.00393192 0.0155437 0 0.0373156 -0.0304744 0 0 0.145586 0 0.00380531 0.269473 0.00151174 0 0 -0.00158509 -0.00321608 0 0.00648346 -0.0404448 -0.0011118 -0.0190155 0.0303805 0.00882407 0 0.00640149 0.000696406 -0.115858 0.00384247 0.0350984 0 0 0 -2.77554 -0.210216 -0.277234 -0.0140712 -0.0123383 -0.0152611 -0.000699932 -0.000613732 -0.0012946 -0.0029213 0 0 0 0 0 0 -0.212494 0 -0.029515 0 0 0 0 0.198897 0.0431859 0 0 0.185402 0 0.0191709 0 0.00289215 0 0 -0.0688474 0 0.520026 0.0151901 0.074764 -0.00611035 0 0 -0.015656 0 -1.11026 0 4.18487 0.0431116 0 0.408002 1.51766 0.0103522 0 0.0101198 0 0 0.00999621 0 -0.207009 -0.309936 0 0 -0.0322338 0 0 -0.691048 4.0118 0.171012 0 0.0994107 0 0.806825 0.0699629 0.0852461 0.385208 -0.0843167 0.895563 0.778017 0.172404 0.101661 1.01517 0.191813 0 0 0 0.275083 -0.0653967 0 0 0 0 -0.0667876 -25.8465 -3.34891 -1.32515 -1.17628 0.483892 -1.27064 -0.045369 0.0167893 -0.0399633 -0.132418 0 0 0 0 0 0 -346 0 -0.262436 -0.474449 -0.0445958 -0.207221 0.116391 -0.205434 0.326456 0.424132 -0.347316 0.886364 -0.0387535 0.0941485 0.00439407 -0.646346 0.0572508 -1.12511 -2.80446 0.033226 0.141931 -3.62639 0.00384455 0.388007 -0.00567014 0.219853 0.435149 -0.612093 -0.00495708 0.39063 0.500699 -0.228436 -0.0466662 0.54232 0.605043 -0.111015 0.276283 0.00205941 -0.00102296 1.19801 -0.12481 -1.84043 0.0360428 0.00272663 -0.00589805 -0.266036 0.267741 -0.939574 0.47228 1.29317 0.0170694 -0.0214413 0.121469 6.67994 -0.247207 0.217679 0.102257 1.40289 -0.914588 -0.35038 -0.329004 -0.0767948 0.922634 6.21897 -0.407125 -0.515539 -0.332551 -0.20731 0.00322584 0.246004 0.084179 -0.215461 0.524058 0.274962 0.1213 4.51181 -0.956498 0.474491 -3.82805 -1.23665 -2.43698 0.172692 -1.08074 -1.06686 -0.387069 -0.109077 -0.546682 -0.94954 -0.0826317 -0.00788656 -0.287847 0.0473992 -0.787615 0 0 0 0 0 -0.0445958 -0.207221 0.000838999 0 0 0 0 0.000195894 0 2.37833e-05 0 0 -0.00172329 -0.00540902 0.00261331 0 0.000243111 0.0551065 0.0122634 0 0 -0.15121 -0.000286338 0 -0.0327448 0.307504 0 0 -0.0144609 0.16878 0 -0.16584 0 -0.0298529 0 0 -0.00300501 0 0 -0.601883 0.00370051 -0.0325536 0 0.015849 0.0693826 0 0 -0.0797484 0 0.00161622 0.390033 0.00495737 0 0 0.0033197 -0.00136596 0 -0.000739036 -0.0337365 0.00619138 -0.706151 0.0300996 -0.0187999 0 0.00744837 0.00761958 -0.294568 0.0359944 0.0732491 0 0 0 5.24969 0.392348 0.235824 0.0245602 0.0215355 0.0433923 0.00146589 0.00128536 0.00271132 -0.000523087 0 0 0 0 0 0 0.116391 0 -0.205434 0 0 0 0 -0.2586 0.130836 0 0 0.679639 0 0.0753273 0 0.0248264 0 0 -0.950344 0 0.705391 -0.0781751 0.23803 -0.136034 0 0 0.200946 0 -7.04993 0 1.22616 -0.512932 0 -0.390771 0.73903 0.0310058 0 -0.0525256 0 0 0.0165705 0 -2.07758 -2.09333 0 0 -0.290747 0 0 -0.0531346 0.606417 -0.143138 0 0.463377 0 -0.0131407 0.315233 -0.0262762 -0.533532 0.130697 0.859624 0.57934 0.0303651 0.582116 2.84511 0.0943098 0 0 0 0.0934282 -0.135366 0 0 0 0 0.0495561 -10.9711 -3.0419 0.402456 -0.379948 0.0341375 -0.341943 -0.284126 0.160877 -0.229282 0.0982473 0 0 0 0 0 0 -347 0 0.260285 -0.121114 -0.0873193 0.0122675 -0.000611546 0.185374 -0.667938 -1.50933 -0.756158 1.19834 0.0717804 0.593479 0.0480855 -0.72216 -0.132122 -1.1945 -5.6268 0.14824 -0.143989 -1.43434 0.0371764 0.149635 -0.0630588 0.409703 -0.315582 -0.343414 -0.203064 -0.332856 -0.881538 0.121357 -0.222898 -0.460145 0.349281 -0.918511 -0.201199 -0.0521958 -0.68446 0.965423 0.01975 -0.0781051 0.165174 -3.15375 -0.12629 -0.287642 0.4208 0.287505 -0.516463 -0.534729 0.417387 -1.74437 0.616837 0.305764 0.225944 -0.0748001 0.0515728 -1.87293 0.140943 0.701194 -0.688715 -0.356626 0.933322 -0.555577 -0.724748 1.10894 1.50864 0.769684 -1.33895 -1.32081 0.39829 -0.0489328 -0.284727 -0.205321 1.02346 -0.169965 0.000598437 0.915175 -4.27279 -2.47733 0.680849 -1.45742 0.854708 -1.99918 -1.2172 1.02961 -1.63272 2.48835 -0.736012 0.522347 -0.0244305 -1.16779 3.33246 0 0 0 0 0 -0.0873193 0.0122675 -0.00431194 0 0 0 0 0.000422437 0 0.0277504 0 0 -0.00335339 -0.00913411 0.0209618 0 0.00324799 0.183255 0.198989 0 0 -0.102037 -0.000510346 0 -0.0211807 0.931952 0 0 -0.00926981 0.460155 0 0.0496476 0 -0.0832216 0 0 -0.0082058 0 0 0.243225 0.00876346 -0.0493049 0 -0.0622442 0.051869 0 0 0.155403 0 0.00238971 0.864983 0.00284897 0 0 0.0013585 0.0172791 0 0.01636 0.0127427 0.0029927 0.103321 0.0893019 0.00192418 0 -0.0103265 0.0142563 -0.533499 0.196441 0.149303 0 0 0 -2.3243 0.0253712 -0.702468 -0.0261422 0.0235244 -0.0650734 0.0030571 -0.00398606 0.00946631 -0.0340363 0 0 0 0 0 0 -0.000611546 0 0.185374 0 0 0 0 -0.2205 -0.759085 0 0 0.0451062 0 0.0222652 0 -0.0229375 0 0 -0.636473 0 0.172202 -0.11751 -0.110888 -0.0806474 0 0 -0.113397 0 -3.3104 0 -1.26875 0.198188 0 -0.528705 -0.363241 -0.00480483 0 -0.0485206 0 0 -0.119707 0 -0.753947 -0.61218 0 0 -0.0693335 0 0 -0.0819666 0.305842 -0.219276 0 1.19013 0 0.627512 -0.0603139 0.319554 -0.0548687 0.185225 -0.482806 0.217548 -0.0798609 -0.124053 -0.476914 -0.141012 0 0 0 0.085053 -0.0391588 0 0 0 0 0.117476 10.8351 1.47154 1.14175 1.02556 -0.831572 0.970641 -0.0505574 0.0570307 -0.03184 0.21977 0 0 0 0 0 0 -348 0 -1.32842 0.01472 -0.0217859 -0.149188 -0.179282 0.120676 -0.5951 -0.813848 -0.0708621 0.828175 0.344523 -0.235988 0.0101386 -0.265697 0.243954 0.832215 3.72117 0.17859 0.323357 -1.713 0.0409869 -0.170111 -0.0110032 0.139428 -0.399918 0.272483 0.0459943 -0.469188 -1.13896 0.0495061 -0.0306264 0.935076 -0.0801027 0.200858 -0.262184 0.0823561 0.245497 1.64078 0.163102 -0.469282 0.0494146 0.757291 0.0415486 -1.11316 0.257314 0.180213 -0.822298 1.15429 -0.0345863 -1.02865 0.117409 1.47243 -0.332744 0.333359 -0.505134 1.2126 0.611196 -0.498293 -0.191498 -0.111814 -0.333626 -0.504303 0.123204 -0.0265824 0.592286 0.509337 -0.410151 -0.393208 0.0535754 -0.14764 -0.40695 0.388565 -0.24921 -0.387723 0.754717 1.32606 -9.90644 -3.40629 -0.429058 -1.90666 0.557168 -1.21883 -0.95209 0.841725 -1.20272 1.50194 -0.450063 0.187333 0.509708 -1.76885 4.3056 0 0 0 0 0 -0.0217859 -0.149188 0.00418044 0 0 0 0 0.00121295 0 0.0229032 0 0 0.00440761 0.01512 0.0152534 0 0.00344331 -0.00154039 0.0993571 0 0 -0.150374 0.000806589 0 0.0636484 0.2833 0 0 -0.0210039 0.0774236 0 0.254417 0 -0.030327 0 0 -0.00364733 0 0 1.25875 0.0228446 0.0804443 0 0.077501 -0.101107 0 0 0.306219 0 0.00972393 0.538142 0.00437576 0 0 -0.00721458 -0.00576521 0 0.0215791 -0.120863 -0.0158964 0.545864 0.0878562 0.0432951 0 0.00241455 0.000214251 -0.112932 -0.0420398 0.0793359 0 0 0 -11.9961 -0.857624 -1.07948 -0.0652831 -0.0301981 -0.136707 -0.00332825 -0.00291631 -0.00555303 -0.0177344 0 0 0 0 0 0 -0.179282 0 0.120676 0 0 0 0 0.273974 0.713482 0 0 -0.0327835 0 -0.00624847 0 0.0594834 0 0 -0.0993285 0 -0.132181 0.0437338 -0.206446 -0.00238716 0 0 0.474188 0 5.37659 0 2.86811 0.607236 0 0.471812 0.415347 -0.0236635 0 0.028671 0 0 0.084622 0 1.62648 0.355295 0 0 0.062843 0 0 -0.299282 -0.411701 0.161012 0 0.700003 0 -0.388482 0.143178 -0.259072 0.618287 -0.103865 -0.256526 0.119329 0.102874 0.58568 4.78575 0.0452703 0 0 0 0.244827 0.035528 0 0 0 0 -0.148232 -22.9514 -2.53136 -1.45533 -0.887706 0.374413 -0.962203 -0.0466106 0.02453 0.0223417 -0.175195 0 0 0 0 0 0 -349 0 -0.590091 0.314644 -0.145067 -0.499444 0.263468 0.338014 -0.64628 -1.68173 -0.37192 1.76499 0.0389891 -0.31097 0.069048 -0.0545749 -0.0661996 1.28095 3.22773 0.314119 -0.253232 1.55528 0.0853513 -0.398258 -0.0843011 0.409449 -0.745016 0.630401 -0.0805922 -0.536289 -0.202356 0.0190545 -0.215811 0.0651231 -0.513756 -0.107258 -0.453755 -0.0525369 -0.438474 -0.169179 -0.412061 0.936962 0.228251 -1.18641 -0.214397 -0.16217 0.66193 0.761654 -0.536666 -0.638796 0.217244 0.289163 0.814095 3.50025 0.270821 -0.447653 0.195705 -0.501993 0.0432433 -0.228083 -0.449487 -0.277291 -0.780513 0.216783 0.34142 0.0946651 0.214504 0.233743 0.445366 -0.318133 0.154233 0.748137 0.0771267 0.150712 0.60172 0.0345279 0.379898 1.18075 5.06386 -0.967295 2.71366 0.32673 0.645621 -1.40704 -1.70809 1.90131 -2.68525 2.7062 -1.15777 1.2092 -1.07417 0.519359 0.764964 0 0 0 0 0 -0.145067 -0.499444 0.00225635 0 0 0 0 0.000649219 0 -0.0139188 0 0 0.00118998 -0.0146737 -0.014338 0 -0.00300293 0.0505896 -0.116017 0 0 0.0228107 -0.000746782 0 -0.180272 -0.158601 0 0 0.00193824 0.00264936 0 -0.497816 0 -0.0152477 0 0 -0.000937479 0 0 -1.13176 0.0115059 0.00754836 0 0.0240399 0.0884695 0 0 -0.418574 0 0.000857431 -0.431744 0.00082939 0 0 0.00268569 -0.00834308 0 -0.0177427 -0.0644895 -0.00452419 -1.24171 -0.0395209 -0.00472556 0 0.00311144 -0.000849265 0.0467003 -0.140432 0.0120135 0 0 0 9.60657 0.528709 0.853804 0.0542469 0.0182541 0.129819 -0.000712214 0.00511254 -0.00561204 0.022796 0 0 0 0 0 0 0.263468 0 0.338014 0 0 0 0 0.00395195 -0.517877 0 0 0.765438 0 0.0862829 0 0.0197195 0 0 -0.117058 0 -0.701118 -0.00825926 -0.0877864 -0.0147318 0 0 0.0857782 0 -0.929332 0 0.633988 -0.0343553 0 -0.354387 -0.871473 -0.0135516 0 0.0218104 0 0 -0.0350227 0 -0.469009 0.494324 0 0 0.0485999 0 0 0.226909 0.0368242 -0.10069 0 -1.09225 0 -0.267616 -0.251263 0.0914505 -0.196185 -0.0277092 -0.0675596 0.123676 0.0943121 0.376214 -2.82555 0.0150409 0 0 0 -0.136166 -0.0441486 0 0 0 0 0.0624197 -7.96179 -4.48734 2.76596 -0.853771 0.69563 -0.458788 -0.614142 0.446268 -0.410407 0.245595 0 0 0 0 0 0 -350 0 0 0 0 0 0.185259 0.187587 -0.856932 -2.10849 0 0 -0.279181 -0.258453 0 -0.996732 -0.0753669 0 0 0 0.0617164 -6.07294 0 0 0 0 -0.552917 0 0 -0.328993 5.20215 0.0119084 0 -0.269297 0 0 -0.287067 -0.0493269 0 0 -2.25576 -0.935021 0 0 -0.495233 -2.41876 0 0.289457 0.56974 0.45676 1.09135 -3.27889 0.959768 0 0.199483 -0.027123 0.282739 -0.325046 -0.0612562 -0.114854 0 0 -1.44594 2.07866 0 1.13813 1.14966 0.720901 0 0 0 0 -0.792945 -1.76305 0 0.661804 -0.519547 0 0 0 6.9694 0 4.88583 -9.27762 0 2.4077 -2.95587 3.7571 0 2.80531 -3.4615 6.35969 -16.5526 0 0 0 0.205857 0.07772 0 0 0 -0.0507792 0.0590264 0 -0.00593702 0 -0.0105568 -0.0107134 0 0 0 0 0.020727 0 0.0194791 0 -0.175647 0 -0.3554 0.0393413 0 -0.00605545 0 0 -0.0740485 -0.00395975 -0.0352939 0 -0.00331546 0 0.00394829 0.0566842 -0.0184034 -0.0562358 0.00804417 0 -0.000773657 0 0 0 -0.000255683 0 0 0.0150779 0.0040312 0.00433614 -0.0777317 0 0 -0.0107362 0 -0.0131516 0 0 0.0474728 0.0424499 0.0751759 0.0041882 0 0 -0.135488 0.0467958 -0.0114785 -0.15716 0.187247 0 -0.0509994 -0.0316897 -0.0137267 0 0 0 1.07065 0 0.152397 0.188937 0 -0.00414919 0.0643582 0.000761761 0 0.00556985 -0.00652145 0.0414613 -0.052165 0 0.185259 0.205857 0.187587 0.07772 -0.52684 -0.193719 0.426073 -0.217943 -0.122447 -0.134667 -0.0680549 -1.55472 -0.0244413 -0.249099 0.0947867 0.00703039 0.0157765 -0.591781 -0.484519 -1.49964 -0.421067 -0.140166 -0.5824 -0.112359 0.0930223 0.286144 -0.107214 -0.024675 -9.20904 -0.586947 -4.41021 -0.14702 0.018471 -0.424979 -1.39982 -0.0953794 -0.00830801 -0.0442579 -0.11938 2.0494 0.080228 0.0396395 -2.18468 -2.3289 -0.00679476 -0.0194555 -0.463796 -0.16309 -0.0731578 -0.302427 -0.596376 -2.50475 0.0750011 -1.29364 -0.0830473 2.77485 -0.0197806 1.28438 0.787641 0.221848 -1.7046 -1.07566 -0.209004 4.6253 19.3516 -0.422047 0.321028 -0.124413 -0.124867 0.139758 0.519801 0.0255406 0.312284 -0.282947 0.137937 0.589112 32.8095 11.8762 -0.983876 7.03465 -2.56548 -1.89299 2.52149 -1.01319 -0.186424 1.29339 1.29713 -0.192037 -0.725252 1.47446 -2.72394 0 -351 0 0 0 0 0 0.0862447 0.308539 -0.489025 -3.31332 0 0 -0.208231 1.07866 0 1.70357 -0.164933 0 0 0 -0.235924 2.73832 0 0 0 0 -0.653217 0 0 -0.165984 -0.618686 0.412213 0 -0.492045 0 0 -0.109156 -0.0337822 0 0 -0.161063 0.82788 0 0 -0.0175605 5.68413 0 0.32241 -0.0799551 -0.533644 -0.0432061 0.866779 -0.0604171 0 -0.0994704 -1.17549 0.838521 -3.11095 -0.618299 0.705481 0 0 0.164339 0.171065 0 0.803531 0.186962 -0.254991 0 0 0 0 -0.788792 0.0498773 0 -0.169534 -1.0864 0 0 0 10.1594 0 2.44875 -1.83868 0 0.371706 0.102998 5.61977 0 0.0278256 0.182047 1.54005 2.45125 0 0 0 -0.101002 -0.000959211 0 0 0 0.0016671 0.0852517 0 -0.000466002 0 -0.00107388 -0.0925189 0 0 0 0 -0.263625 0 -0.0504349 0 -0.436354 0 -0.0706423 0.567229 0 0.00494489 0 0 -0.0350882 0.00278026 0.0921929 0 0.0168631 0 0.00573473 0.0222738 0.0157002 0.0410077 0.0105596 0 -8.3842e-05 0 0 0 0.00117434 0 0 -0.00560275 -0.00933039 0.240095 0.02551 0 0 0.00620638 0 -0.0191932 0 0 0.0843645 0.0318062 0.0544308 -0.0418266 0 0 0.0327812 -0.0366265 -0.0314148 0.0163597 -0.0983095 0 -0.129692 0.0168311 -0.367984 0 0 0 0.750236 0 -0.0519588 0.216959 0 0.00257047 -0.00175939 0.196192 0 -0.00331894 0.00769291 -0.0147085 0.0237024 0 0.0862447 -0.101002 0.308539 -0.000959211 0.143325 0.033645 0.062796 -0.419166 -0.343347 0.0048061 0.00979199 -0.167617 -0.000263723 -0.0614745 0.00436836 -0.0590185 0.00912187 0.100651 1.12394 1.05464 -0.343017 -0.254071 -0.04209 0.128547 0.0578284 -0.0125686 -0.460217 0.0137986 1.83203 -0.0967014 -2.05711 0.255217 7.06285e-07 -1.63745 -0.892014 -0.0170369 -0.00437978 -0.0706516 -0.015951 -0.204587 -0.0330569 0.00117768 0.419388 3.16396 0.00211713 -0.026056 0.378172 0.118394 0.145402 -0.059455 4.45821 -1.1133 0.0251479 -0.290399 -0.0100993 1.04544 -0.563606 1.21899 0.268393 -0.0352324 -0.374829 0.899745 -0.236977 1.58041 -1.07467 0.025717 -0.221812 -0.0143469 -0.249206 0.295371 0.15455 -0.0237333 -0.00521627 0.13256 0.121253 0.238353 15.3037 3.46554 6.49822 1.88011 -0.927033 2.42236 0.0446434 0.053723 0.31702 1.09978 -0.220619 0.104664 0.253357 -0.190648 0.543998 0 -352 0 0 0 0 0 0.63407 0.320839 -0.359884 -1.34264 0 0 -0.663771 0.705999 0 0.549707 -0.165522 0 0 0 -0.284604 1.73554 0 0 0 0 -0.338217 0 0 -0.41384 5.90954 0.362818 0 -0.518864 0 0 -0.240583 -0.0827736 0 0 -3.65791 2.39709 0 0 -0.769591 0.556132 0 1.33613 0.812303 -0.364067 1.17677 -0.97606 0.781463 0 0.65074 -1.01003 0.239971 2.51358 1.30351 0.870033 0 0 0.858268 -4.89365 0 0.718892 0.139958 0.782448 0 0 0 0 -1.17121 -2.34832 0 -0.249342 0.56394 0 0 0 2.44826 0 6.53903 -10.0151 0 3.25629 -5.06633 5.16046 0 5.10751 -7.74023 12.6728 -20.0123 0 0 0 0.559163 0.117468 0 0 0 -0.0304982 0.0117393 0 -0.00311041 0 -0.0172642 0.0117227 0 0 0 0 0.208614 0 0.0314432 0 0.245709 0 -0.271142 -0.0718515 0 0.00225817 0 0 0.43025 -0.00655014 -0.023816 0 -0.00918064 0 0.00110413 0.142508 0.0485552 -0.0855985 0.0308105 0 -0.0012937 0 0 0 -0.000625701 0 0 0.00779621 0.00238672 -0.106911 -0.0458416 0 0 0.0484633 0 -0.00241109 0 0 -0.000154767 0.0166423 0.085892 -0.0331428 0 0 0.152213 0.0489794 -0.0489359 -0.133247 -0.150206 0 0.232811 0.00455005 0.0780239 0 0 0 -1.08369 0 0.0598224 -1.03148 0 -0.0175 0.00221499 -0.161198 0 0.00680814 -0.0332877 0.0742644 -0.235757 0 0.63407 0.559163 0.320839 0.117468 -0.835404 -0.177583 0.0591556 0.279052 -0.330935 -0.165808 -0.0226289 -0.529476 -0.0296306 -0.194511 0.0587977 -0.00485123 0.0522223 -0.797732 0.902291 -1.36199 -0.123721 0.113923 -0.183545 0.0219317 0.383976 0.15153 -0.433191 -0.0235298 1.38116 -0.184436 -0.351886 0.751082 0.0161212 0.514684 -0.246959 -0.0817988 0.000360281 0.0684099 -0.061941 0.8466 0.131506 0.0257925 0.946295 1.43083 -0.00137429 0.0380758 -0.0718264 -0.154076 0.11615 0.345689 2.51411 -0.966307 -0.00962764 2.22089 0.00106916 1.68789 -0.146333 0.575442 0.421732 -0.190689 1.19972 -0.371216 0.181135 4.76011 31.3255 0.0910067 -0.226849 0.071208 -0.309729 0.415967 0.295136 0.00418388 0.222404 -0.205274 -0.000400142 0.438151 2.61783 2.45565 -1.61151 3.35298 0.377824 -2.27464 1.68241 -0.403886 -0.471526 0.29343 1.74856 -0.746305 -0.0530215 0.744188 -1.29729 0 -353 0 1.09903 0.455539 0.104756 0.203827 -0.0389028 -0.116716 1.42788 3.28727 0.380168 -2.89667 0.405549 0.81712 -0.0438861 1.14231 0.0990772 1.23893 3.10815 -0.603619 0.16341 -0.189715 -0.123533 -0.388443 0.0354247 -0.760778 0.764075 0.438076 -0.0505963 0.0699526 -0.0164448 0.303011 0.121341 0.474082 -1.55101 -0.191465 0.310431 0.0986387 0.209709 -6.84792 0.724683 -0.199644 -0.176527 0.453457 0.216525 1.55725 -0.575839 -0.23586 0.0162034 0.825465 -0.52416 0.62997 -1.09637 1.42977 0.0398909 0.16267 -0.0869587 0.586534 0.565895 0.0951706 1.14534 0.292767 1.0964 0.808926 3.34808 -1.01768 0.316215 -0.324095 1.58781 -0.0125955 0.0113036 2.00075 0.484682 0.938553 0.422405 -0.074938 0.0666363 1.52557 41.4336 15.7413 -7.9221 9.78805 -7.79352 10.7786 4.48451 -3.74858 4.19488 -5.96148 1.38577 -1.66759 1.03639 -1.3021 0.0580644 0 0 0 0 0 0.104756 0.203827 0.00802354 0 0 0 0 0.000487374 0 -0.0105751 0 0 -0.00422445 -0.0169499 0.0120701 0 -0.000194109 0.0417576 -0.0271159 0 0 -0.077135 -0.00124152 0 -0.0301721 0.73939 0 0 -0.0171893 0.0908652 0 -0.150913 0 -0.00175679 0 0 -0.00194798 0 0 -0.743921 0.00694804 -0.0603467 0 0.112847 -0.0132915 0 0 -0.0366442 0 -0.000909622 0.0108395 0.00222782 0 0 0.0109991 -0.0264113 0 -0.0271691 -0.0566929 -0.0353072 0.27688 0.0443936 0.0231568 0 0.0478877 -0.0257595 0.105822 -0.0483138 -0.155066 0 0 0 5.69133 0.28649 0.531866 0.0580348 -0.0576974 0.191071 0.00547068 -0.00850904 0.0206703 -0.0101779 0 0 0 0 0 0 -0.0389028 0 -0.116716 0 0 0 0 0.426311 1.20224 0 0 -0.925896 0 -0.13213 0 0.0530911 0 0 0.272332 0 -0.255153 0.145559 -0.326531 0.0345878 0 0 0.419941 0 9.10577 0 -2.71637 0.312758 0 1.06184 -0.745383 -0.0485879 0 0.0597848 0 0 0.150193 0 2.56172 0.0318183 0 0 0.00779598 0 0 0.289419 4.69265 0.610414 0 2.24233 0 -2.94295 0.53929 -0.466506 0.949541 -0.102211 0.544363 3.10419 -0.344078 -1.6032 -6.78376 0.141219 0 0 0 0.215459 0.352648 0 0 0 0 -0.315696 25.1074 5.84784 -3.55515 1.65399 -1.25537 2.69741 0.760867 -0.676366 0.793503 -0.870448 0 0 0 0 0 0 -354 0 1.03692 0.0949916 0.00136728 -0.155762 0.208893 -0.211788 -0.639998 -1.62432 0.322753 -0.0434673 -0.506978 -0.781122 -0.0102839 -1.54941 -0.131487 -0.157022 3.29485 -0.219353 -0.229904 0.337374 -0.0644531 -0.0394398 0.0241909 -0.0630439 0.206306 -0.38263 -0.0463402 0.806864 1.71098 -0.549444 0.086767 -0.456727 -1.19122 -0.171516 0.225054 -0.0820951 -0.142231 -6.85546 -0.640784 -0.566927 -0.0220262 -0.524267 -0.0802423 -1.30126 0.0660737 -0.642109 1.21733 -0.895017 0.1562 -2.06346 -0.281753 -5.16562 0.290248 -0.345429 0.568261 1.59492 1.32359 0.600881 0.277218 0.0887228 -0.118354 -0.876973 3.4769 -0.709769 0.8037 0.818225 1.72724 -0.244797 -0.177519 -0.0922473 -0.608318 -0.510757 -0.783225 0.671654 -1.25797 -0.740772 38.9485 7.57862 2.32865 6.20059 -3.6305 6.60544 -0.585041 0.366586 -0.841135 5.37476 -0.159008 0.862323 -2.17541 3.49524 -6.04126 0 0 0 0 0 0.00136728 -0.155762 -0.00102904 0 0 0 0 -0.0014798 0 -0.0108097 0 0 0.00592594 0.0137073 -0.0200571 0 -0.00110489 -0.045391 -0.144216 0 0 0.30938 0.0010195 0 -0.171006 0.69288 0 0 0.0500453 -0.0986033 0 -0.553929 0 0.0796396 0 0 0.01185 0 0 -1.34152 -0.0200886 0.0792483 0 -0.00993692 -0.0422302 0 0 0.0523781 0 -0.0150855 0.172894 0.0288596 0 0 -0.00945051 -0.00158055 0 -0.00295096 -0.0482354 0.0352529 -0.141414 -0.0490174 -0.00439299 0 0.0103802 -0.0676861 -0.0969867 0.0338736 0.14727 0 0 0 5.81375 -0.156214 0.845946 0.0971052 -0.154448 0.38443 -0.00714978 0.0144406 -0.0304576 0.0582005 0 0 0 0 0 0 0.208893 0 -0.211788 0 0 0 0 -0.386795 -0.31781 0 0 0.385093 0 0.0398689 0 -0.0245054 0 0 0.0387094 0 0.891154 -0.0659362 0.393961 -0.0038363 0 0 -0.155089 0 2.27117 0 -1.02059 -0.347764 0 -0.626911 1.16406 0.0469938 0 -0.0456657 0 0 -0.0390663 0 -0.238322 0.636782 0 0 0.0538666 0 0 -0.122456 -1.83832 -0.338057 0 0.125937 0 1.30647 -0.285331 0.305756 -0.276811 -0.0232385 -0.0463153 -1.16712 0.22324 1.03924 5.54664 -0.00211373 0 0 0 0.103225 -0.150793 0 0 0 0 0.0814193 13.6473 -1.11872 3.76607 -0.545104 0.783531 0.17896 -0.572682 0.511335 -0.353713 0.612677 0 0 0 0 0 0 -355 0 0.462399 0.327275 0.146472 0.449478 -0.353421 -0.243044 0.607451 2.59799 0.164097 -3.85137 0.497484 0.284538 -0.0590044 0.484466 0.153324 0.90116 1.42796 -0.851618 0.341711 -3.37774 -0.21353 -0.400031 0.0492328 -1.05655 0.668512 0.366275 -0.147313 0.0511912 -1.33121 0.209732 0.132254 0.597207 -1.44532 -0.369853 0.234198 0.123395 -0.018321 -5.51726 0.877688 -1.52485 -0.22406 0.120937 0.268815 -0.404809 -0.685737 -0.619712 -0.476765 1.30584 -0.346678 -0.599999 -2.03384 -5.32617 -0.273416 0.483782 -0.76351 -4.04028 -0.85875 -1.17747 1.40174 0.248893 -1.25194 4.25834 4.08342 -3.01592 0.1807 -0.617197 2.70526 -0.232949 0.00735025 1.50628 0.189109 0.266139 0.268768 -1.08965 0.675069 -0.365316 24.0854 15.9954 -12.6188 11.76 -10.3743 10.541 6.43038 -5.84857 7.45492 -6.48575 1.65025 -2.00354 2.81242 -3.38876 4.70033 0 0 0 0 0 0.146472 0.449478 0.00379455 0 0 0 0 -0.000558654 0 0.017397 0 0 -0.00394275 -0.0190059 0.0429554 0 0.00265568 0.0942083 0.185834 0 0 -0.151066 -0.00141362 0 -0.0514722 0.451635 0 0 -0.0133645 0.205226 0 -0.0232492 0 -0.000710187 0 0 0.000455314 0 0 0.155927 -0.00766099 -0.0488124 0 0.0531277 -0.0610511 0 0 0.289749 0 -0.00362692 0.112672 0.00953963 0 0 0.00221359 -0.0122174 0 0.00864647 -0.0048537 -0.0109126 -0.759809 0.0972482 0.0121785 0 0.00693706 -0.0127514 0.131215 -0.164887 -0.138277 0 0 0 -2.86421 -0.222613 -0.509703 0.00819473 -0.0697809 0.0770088 0.00378008 -0.00911812 0.0179908 -0.0538756 0 0 0 0 0 0 -0.353421 0 -0.243044 0 0 0 0 0.429016 1.2294 0 0 -1.48192 0 -0.170813 0 0.0669276 0 0 -0.881568 0 -0.0819458 0.140227 -0.511173 -0.0570764 0 0 0.463216 0 -1.02438 0 -1.58108 -0.317636 0 1.22308 -0.267266 -0.0566632 0 0.0415158 0 0 0.176235 0 -0.745122 -2.18703 0 0 -0.175413 0 0 -0.0761032 1.46749 0.317633 0 -0.929495 0 -1.93899 0.897076 -0.601113 0.987782 -0.165141 -1.42591 2.32028 -0.371588 -3.72957 -22.6008 -0.05391 0 0 0 -0.219863 0.320112 0 0 0 0 -0.365661 14.5645 8.27937 -6.23501 1.99671 -1.66212 1.59856 1.32987 -1.13635 1.24156 -1.03032 0 0 0 0 0 0 -356 0 0.740877 0.0237546 0.150426 0.147296 -0.152095 -0.268876 1.26299 3.22417 0.532309 -3.46326 -0.245259 -0.991694 -0.098739 -1.39431 0.13241 -0.815295 -3.22836 -0.592143 0.27584 -1.3181 -0.147744 -0.0701385 0.0882212 -0.901167 0.642358 -0.241818 0.175676 0.38237 1.57114 -0.357405 0.215483 0.162672 -0.909356 0.561368 0.338387 0.0485693 0.863941 -5.88184 -0.39659 -0.863552 -0.295131 2.63012 0.1406 -4.19256 -0.605322 -0.550704 0.753398 0.291879 -0.151125 0.402692 -1.05679 -6.77742 -0.157193 -0.137862 0.254815 -0.930677 -1.40577 -0.850347 1.14556 0.32085 -1.52655 0.664546 -1.48362 -1.04245 -0.565974 -1.68357 0.383147 0.710493 0.207627 1.40634 0.626556 -0.335302 -0.418587 0.860846 -0.790012 -3.30147 32.5014 13.6459 -10.3488 9.13746 -6.09733 5.5415 6.00773 -4.14113 4.00384 -5.17765 2.11847 -0.482405 -1.34059 3.9763 -7.31267 0 0 0 0 0 0.150426 0.147296 0.0103103 0 0 0 0 -0.00067941 0 -0.0210152 0 0 -0.00291456 -0.00789996 -0.0328979 0 -0.0100148 -0.0685739 -0.0888446 0 0 -0.399083 -0.000622961 0 0.15607 -0.356279 0 0 -0.0491458 -0.293161 0 0.131595 0 -0.0875983 0 0 -0.00722759 0 0 -0.0401713 -0.00925043 -0.0412665 0 0.149485 0.031458 0 0 -0.192347 0 0.0149699 -0.19763 -0.0227945 0 0 0.0165193 -0.0286453 0 -0.0364544 -0.0499423 -0.0521831 0.747109 0.0187098 0.0311532 0 0.042854 0.0364501 0.12359 -0.0524269 -0.168305 0 0 0 3.71592 0.365721 0.409118 0.00236408 0.0482402 -0.0350548 0.00589211 -0.00880374 0.0176347 -0.00641812 0 0 0 0 0 0 -0.152095 0 -0.268876 0 0 0 0 -0.103798 0.779611 0 0 -0.351235 0 -0.0573336 0 0.0143429 0 0 -0.285192 0 -0.112279 0.0979517 0.188896 -0.0102626 0 0 0.0514358 0 1.21136 0 -1.88988 -0.017646 0 0.723769 -0.615361 0.0152532 0 -0.00261026 0 0 0.111855 0 0.163991 -0.748482 0 0 -0.0475204 0 0 0.206286 3.06046 0.413017 0 -0.323354 0 -1.12345 0.118844 -0.205231 0.0976684 -0.0370466 0.701709 1.65972 -0.0808376 -2.21857 -10.2637 0.0971273 0 0 0 -0.150494 0.148479 0 0 0 0 -0.25882 21.7458 4.32649 -4.46248 1.88525 -1.38902 1.4489 0.105065 -0.0602547 0.144258 -0.411369 0 0 0 0 0 0 -357 0 0.543644 0.678519 -0.0120969 -0.0683798 0.0910983 0.153819 0.300461 0.441825 -0.248314 -0.0839043 0.632805 0.281269 0.0296655 -0.366786 0.168702 1.46784 6.64992 -0.0556573 0.257227 0.543324 0.0263178 -0.697599 -0.0544919 0.0214366 -0.116979 0.519253 -0.0510704 -0.509725 -1.8889 0.00885108 -0.124957 0.610907 -2.13214 0.0396477 -0.195966 0.108442 -0.0956263 -8.49714 0.746034 0.56411 0.0889443 0.272069 0.100553 -0.204608 0.230978 0.471597 -1.06956 1.00846 -0.0301764 0.546826 0.33882 3.68868 -0.2155 1.23885 -1.49584 5.94576 0.448496 -0.341748 -0.155075 -0.23997 -2.29984 -0.126896 2.95085 -0.0826481 -0.253698 -0.143808 0.534798 -0.0354032 0.263365 0.734081 -0.0784219 0.555343 0.270205 1.95839 2.00883 -0.210725 50.2344 10.8939 -6.01993 10.8409 -13.138 19.6671 -0.675865 -0.19735 1.69623 -1.74966 -0.808364 -0.85658 2.76781 -5.40707 8.79167 0 0 0 0 0 -0.0120969 -0.0683798 0.017286 0 0 0 0 0.00671997 0 0.0138384 0 0 0.00102403 -0.00980463 0.0527986 0 0.00826691 0.0545667 0.0805437 0 0 -0.329925 -0.000785048 0 -0.14513 2.10184 0 0 -0.0415888 0.401928 0 -0.356762 0 -0.0850777 0 0 -0.0120519 0 0 -0.797974 0.0939677 0.0210248 0 0.243943 -0.0778375 0 0 0.133531 0 -0.00929727 -0.10588 0.0155036 0 0 -0.000910414 -0.0494819 0 0.00127505 -0.234007 -0.000719238 -0.828913 0.114532 -0.000231297 0 0.0876682 -0.0432401 0.176407 -0.189397 -0.108944 0 0 0 1.95128 -0.0884542 0.00970792 0.0534073 -0.11311 0.259423 -0.00131959 -0.00205309 0.00912624 -0.0323052 0 0 0 0 0 0 0.0910983 0 0.153819 0 0 0 0 0.440278 1.0714 0 0 -0.70974 0 -0.103024 0 0.0981525 0 0 -0.101117 0 -1.00865 0.0726848 -0.526477 0.0243185 0 0 0.675088 0 8.94321 0 -5.64802 0.703556 0 0.479078 -2.24782 -0.0703737 0 0.0567109 0 0 0.161899 0 2.72881 -0.172965 0 0 0.049242 0 0 0.139248 3.5772 0.648742 0 0.445008 0 -2.96082 0.968838 -0.775493 0.636853 -0.0458127 0.044302 2.95428 -0.227508 -3.02625 -12.5848 -0.0250072 0 0 0 -0.118605 0.212561 0 0 0 0 -0.335476 49.0546 11.0617 -6.38196 5.30939 -4.20694 4.487 0.675505 -0.622026 0.750927 -0.51624 0 0 0 0 0 0 -358 0 0.943597 0.199175 0.193893 0.543366 -0.351411 -0.267606 1.59455 4.0304 -0.0575072 -3.71948 0.0682118 -0.496246 -0.0978896 -1.01262 0.0769923 0.582146 3.85204 -0.556823 0.264114 -2.33333 -0.153589 0.013167 0.0697013 -1.04104 0.833906 -0.0169154 0.10854 0.418726 0.914892 -0.32757 0.107781 0.0702595 -0.20977 0.529734 0.387181 0.071804 0.54323 -2.4251 0.219173 -1.14512 -0.263785 2.5095 0.206058 -2.02626 -0.401365 -0.597252 0.625166 0.637153 0.432107 -0.0302225 -0.776918 4.56496 -0.0780617 1.1755 -0.265367 2.58612 0.273733 0.523609 0.880612 -0.133685 0.434164 1.11579 0.452627 -0.730453 -0.969008 -1.44924 0.501624 1.85606 0.300095 1.30301 1.37077 -0.587526 0.271476 1.83178 -0.890474 0.73954 6.02713 10.4989 -11.1537 5.55744 -3.90633 1.08968 6.60399 -5.18293 4.757 -7.27339 1.40468 -1.16354 -0.666892 1.26795 -4.25825 0 0 0 0 0 0.193893 0.543366 0.00912797 0 0 0 0 -0.000498683 0 0.0343348 0 0 -0.0115526 -0.0406644 0.0516192 0 0.00159525 0.136533 0.32664 0 0 -0.182655 -0.00298771 0 0.202346 0.723496 0 0 -0.0180436 0.24119 0 0.387178 0 -0.0324256 0 0 -0.00132047 0 0 0.725088 -0.007918 -0.156989 0 0.122478 -0.0415235 0 0 0.250545 0 0.0202366 0.0160437 -0.0308492 0 0 0.00846403 -0.0125845 0 0.0031282 0.0435084 -0.0228773 -1.07214 0.00926199 0.00781955 0 0.00917073 0.0473084 0.0586803 -0.0980006 -0.00281775 0 0 0 -4.77024 0.0237818 -0.882701 -0.0461226 0.0376611 -0.145763 0.0111695 -0.0199046 0.0399314 -0.0844013 0 0 0 0 0 0 -0.351411 0 -0.267606 0 0 0 0 -0.152329 1.0446 0 0 -0.976484 0 -0.110224 0 0.0225979 0 0 -0.187034 0 -0.277607 0.0234126 -0.0282081 -0.014552 0 0 0.238949 0 2.51477 0 -3.83931 -0.353449 0 0.333326 -1.02394 0.00142986 0 -0.0221312 0 0 0.114764 0 0.133922 -0.633429 0 0 -0.0541181 0 0 -0.0713182 -0.287748 0.261824 0 0.221362 0 -1.54608 0.859811 -0.56441 0.0679356 -0.0132481 -0.80146 1.12505 -0.235728 -1.35035 -6.60328 -0.136045 0 0 0 0.066145 0.120953 0 0 0 0 -0.266611 35.2646 9.85977 -4.80048 4.11262 -3.29712 3.17604 0.861139 -0.668209 0.670848 -0.223166 0 0 0 0 0 0 -359 0 0 0 0 0 0.0671499 0.0125151 -0.763468 -1.9488 0 0 0.103739 -0.188774 0 -1.67965 -0.0324329 0 0 0 -0.133608 -0.975021 0 0 0 0 -0.267298 0 0 -0.125419 -6.76544 -0.226718 0 -0.0292471 0 0 -0.0588626 -0.0208116 0 0 0.439676 -1.26648 0 0 -0.00990394 -1.43305 0 -0.534363 -1.6557 -0.199578 0.00101739 -1.04779 -0.0644264 0 0.0694566 -0.0530164 -0.286895 2.38328 0.0290192 0.113863 0 0 -0.785297 2.77968 0 0.273053 0.0766399 1.47774 0 0 0 0 -0.635537 -0.0306738 0 3.58296 1.72028 0 0 0 3.29927 0 -0.397253 9.23605 0 0.00700063 0.735341 9.02849 0 -0.183838 1.39388 -2.7669 24.2008 0 0 0 -0.133667 -0.0086969 0 0 0 0.0215891 -0.00413894 0 0.00162037 0 2.02121e-05 0.00212639 0 0 0 0 0.010413 0 0.00148895 0 0.00167854 0 0.214228 0.073913 0 0.000188417 0 0 0.00496868 0.000136209 0.0039854 0 -4.44886e-05 0 -0.000305475 -0.0194945 0.00129126 0.00183263 -0.000924249 0 1.47019e-06 0 0 0 -3.23442e-06 0 0 -0.000361389 -0.000485736 0.0744457 0.000904999 0 0 -0.000580593 0 0.000529982 0 0 0.000607795 -0.000847012 0.0630594 -0.0024806 0 0 -0.0138843 -0.0053818 0.000428905 -0.0384153 0.00380377 0 -0.0229967 0.000346931 0.0624934 0 0 0 0.0355624 0 -0.00352317 0.0111831 0 0.000359014 -0.00102745 0.0201983 0 -0.000183026 0.00106845 -0.00272498 0.0128908 0 0.0671499 -0.133667 0.0125151 -0.0086969 0.732455 0.127373 -0.0616299 0.210539 0.0151127 0.00223108 -0.00717625 -0.228917 9.66867e-05 -0.0105815 -0.00286831 0.00548131 -0.00807676 0.0487521 -0.763559 0.158817 -0.171228 -0.265721 -0.129335 -0.0706555 -0.0121081 -0.372244 0.115866 -0.00739552 -5.07063 0.169102 -2.47029 -0.871346 -0.000124476 -0.879373 -0.620838 -0.00517148 0.00203335 -0.0119806 0.0287921 -2.50722 -0.00173669 -0.0497259 -2.21912 -1.2532 -0.00171112 0.0131546 -0.217171 -0.0330023 -0.0747884 -0.381849 -1.52387 0.049141 0.0268681 -2.01173 0.00448482 0.81607 -0.00630612 0.178764 -0.06151 -0.0414729 -2.04424 0.196612 -0.0202032 -0.527567 -11.0619 -0.12078 0.221239 0.00518814 0.252313 -0.0482014 0.0188026 -0.00258456 -0.00410872 -0.0254544 -0.0726179 0.00338589 13.6533 0.446158 5.42765 -0.101823 -0.645661 9.03619 0.00672902 -0.128296 0.769873 1.79328 -0.00129876 -0.0673507 0.327436 -0.455772 3.01319 0 -360 0 0 0 0 0 -0.0487263 0.334773 -0.686347 0.0223721 0 0 0.0199064 1.12421 0 1.588 -0.0131223 0 0 0 -0.10654 -0.284595 0 0 0 0 -0.239764 0 0 -0.959952 -1.77812 0.676604 0 0.00212001 0 0 -0.348644 -0.0121672 0 0 -0.0520851 0.656443 0 0 -0.0774799 2.21086 0 0.758116 -1.33992 -0.339076 0.195154 -0.757379 0.0538044 0 0.157765 -0.117955 0.0669408 -1.04085 -0.00693298 -0.61899 0 0 0.76335 0.239972 0 -0.99907 0.0447182 -0.505663 0 0 0 0 0.138496 -0.384393 0 -2.24577 0.596105 0 0 0 -0.15766 0 0.208522 2.52774 0 0.284669 -0.586303 1.32153 0 0.567601 -1.20343 1.22527 1.88317 0 0 0 -0.0479214 -0.00235579 0 0 0 -0.000244539 0.00253757 0 0.000168839 0 -8.0299e-06 0.00179003 0 0 0 0 0.033159 0 0.00113751 0 0.0577448 0 -0.0104184 0.000819621 0 9.6025e-05 0 0 0.00870059 -4.34293e-05 0.000551064 0 2.58527e-05 0 0.00018702 0.00413097 0.00150754 -0.000575072 4.97542e-05 0 -5.84439e-07 0 0 0 1.87945e-06 0 0 0.000115521 0.000297313 -0.00904447 -0.000222586 0 0 0.000188305 0 -0.000324395 0 0 -0.000273554 2.62497e-05 -0.00683163 0.00145121 0 0 -0.0141729 -0.00152669 -0.000183501 -0.00727441 -0.0295303 0 0.000283115 -0.000230426 0.012393 0 0 0 -0.0854429 0 0.00105897 -0.0174021 0 -0.000123392 0.00020701 -0.0123084 0 5.91091e-05 -0.00038725 0.000948052 -0.00663313 0 -0.0487263 -0.0479214 0.334773 -0.00235579 0.0793801 0.0305297 -0.0159179 0.319001 -0.0792143 0.000504204 0.0303479 0.00213932 2.3505e-05 -0.00124059 -0.000724724 -0.000251553 0.0197449 0.00981269 0.0293146 -0.207734 0.405493 0.272404 -0.0114639 0.0642516 0.0603025 0.00461179 -0.014963 0.00842247 1.92923 -0.0270951 2.32189 1.70564 -3.13194e-05 1.09445 0.862228 -0.000618556 0.00201458 0.0718654 0.014745 -0.0686131 -0.00321493 -0.00017602 2.0195 0.409668 0.00515926 -0.00153713 0.210678 -0.00278358 -0.0700026 -0.83598 3.01144 -0.43751 -0.0309416 -5.37254 0.0011257 0.0768201 -0.00508845 -0.0104965 0.0952793 -0.127392 0.952965 0.123378 -0.0707475 -0.160367 -13.2116 0.247501 0.143387 0.012439 -0.0915742 -0.333552 0.00383693 0.0233403 -0.000857486 -0.127887 0.0651956 0.00504434 -12.8331 0.169345 -5.66913 -0.0580451 -0.0802922 -0.865959 0.00071217 0.126671 -0.409632 0.0458077 -0.000261411 0.156525 -0.369102 0.32277 0.0958802 0 -361 0 0 0 0 0 0.678516 0.222452 -0.649247 -1.92097 0 0 0.0592348 0.30458 0 -0.558013 -0.00197843 0 0 0 -0.0364968 4.62666 0 0 0 0 -0.260902 0 0 -0.132006 -1.19591 -0.0079212 0 -0.0803179 0 0 -0.0997912 0.0129666 0 0 0.522204 -0.135052 0 0 0.166354 1.54789 0 -0.135727 -0.392546 -0.585257 -0.240684 0.697742 -0.158923 0 0.0724415 0.0438053 -0.0627994 1.77931 0.446479 0.0339518 0 0 0.0101575 -1.10716 0 -0.352717 -0.339384 -0.374308 0 0 0 0 -0.181286 0.427197 0 0.622614 -1.06417 0 0 0 3.34291 0 -1.15762 3.0886 0 -0.54564 1.0184 2.70891 0 -0.882211 1.53074 -2.18333 7.17699 0 0 0 0.0172315 -0.000889328 0 0 0 0.0106368 -0.00789939 0 0.000491454 0 3.77149e-05 -0.000350899 0 0 0 0 -0.0267687 0 -9.44127e-05 0 -0.0569358 0 0.116032 0.0619521 0 -4.48676e-05 0 0 -0.0202576 0.000277758 0.00251624 0 -7.87308e-05 0 -0.000564495 -0.0050884 -0.00146203 0.00390478 0.000105196 0 2.73383e-06 0 0 0 -5.70935e-06 0 0 -0.000731603 -0.000892808 0.0472407 0.00284142 0 0 -0.00056012 0 0.000974134 0 0 0.000305207 -0.0018684 0.0138466 -0.00442874 0 0 0.0192578 0.00312855 0.000741606 0.016177 -0.0118368 0 0.00607622 0.00115332 0.00985052 0 0 0 0.114383 0 -0.00835162 0.0245353 0 0.000570292 -0.00425407 0.0270647 0 -0.000359582 0.00150713 -0.00447051 0.00262753 0 0.678516 0.0172315 0.222452 -0.000889328 0.204599 0.0951211 -0.00901106 -0.313357 0.244712 0.000431427 -0.0324397 0.0339622 1.55956e-05 0.00219769 -0.000423013 0.00323649 -0.0257429 0.011599 -0.69607 1.47633 0.202644 -0.202668 0.0431873 -0.05135 -0.271549 -0.135998 0.10173 0.0241025 -3.5456 0.0288718 1.2135 -0.690184 -1.78912e-05 -1.37733 0.426082 0.00153837 0.00525778 -0.0146255 0.031577 -0.611289 0.00682773 -0.0235107 -2.16831 -0.359623 -0.00274981 0.0164112 -0.0166116 0.183977 -0.0736069 -0.0658815 3.93281 0.929888 0.0357325 3.69208 0.000723198 1.59852 0.00473059 -0.154356 0.179093 0.462631 1.22046 -0.0607526 0.0887272 -0.34342 6.35569 -0.184654 0.00486622 -0.0381124 0.324565 0.140068 -0.00490278 -0.0443599 -0.000957319 0.0465159 -0.0363046 -0.00786697 -6.70703 -0.00225966 3.74239 -0.0482178 -0.130742 2.43686 0.000423121 -0.108905 0.350596 0.918929 -0.000308999 -0.110691 0.253866 -0.325074 1.14239 0 -362 0 0.846573 0.229857 -0.00184261 -0.0801091 0.355117 0.1005 0.236951 -1.88062 -0.00230468 -0.00197644 -0.0271486 0.876354 2.2685e-06 2.29293 -5.87936e-05 1.23685 6.07573 0.029838 0.000810291 3.14694 -0.00226506 0.135138 -7.65251e-07 -0.0648594 -0.11143 0.192733 -0.00895367 0.28147 1.19375 0.319618 -4.26332e-05 0.00232432 -0.462655 0.00227083 0.16649 -0.000501666 -0.108967 -5.63996 -0.108222 1.28961 0.000124681 -0.0405933 -0.0024298 5.09779 0.00640153 0.363854 0.713504 0.0445043 0.0026958 1.33129 -0.21353 -1.75375 -0.00223429 0.00334616 -0.0157687 -2.35494 0.149331 -0.0286875 0.0775969 -3.08476e-05 -0.0861243 -2.34035 -0.0314338 0.200381 -0.378251 -1.20309 -0.554238 -0.0543096 -9.95469e-05 -0.0110237 -0.031483 -0.0267534 0.0601102 -3.11771 -1.21677 0.315834 22.3824 1.96627 9.48229 1.82746 -1.1559 8.71448 -0.0139304 0.114912 -0.281413 2.95077 -3.65203e-05 0.000563982 -0.0143385 0.23244 -4.07769 0 0 0 0 0 -0.00184261 -0.0801091 -0.00013239 0 0 0 0 -2.60328e-06 0 -0.00762381 0 0 0.0003851 9.74083e-05 -0.00132198 0 -0.000185773 0.000691251 -0.054282 0 0 0.0840912 8.67268e-06 0 -0.00116021 0.264659 0 0 0.0130275 0.0136282 0 -0.0273664 0 0.00192978 0 0 0.000299079 0 0 -0.231946 1.86732e-05 0.00437451 0 0.000416555 -0.00557698 0 0 -0.0249153 0 -0.000326307 -0.0216254 -0.00199919 0 0 -0.000811343 0.00027578 0 -0.000887722 -0.000392019 -0.00136114 0.123042 -0.00687715 -0.00698124 0 0.00301165 -0.0101407 0.0740762 -0.00180933 -0.0696285 0 0 0 1.2973 -0.010526 0.304718 0.0184131 -0.0367044 0.161553 -0.000583122 0.00106577 0.000112239 0.0556525 0 0 0 0 0 0 0.355117 0 0.1005 0 0 0 0 -0.578501 0.306914 0 0 0.346565 0 0.0204911 0 0.00559169 0 0 0.769887 0 0.129769 -0.197003 0.133348 0.0930379 0 0 0.115083 0 9.61008 0 -2.63751 0.974669 0 -1.77128 -0.296809 0.00915666 0 -0.0591566 0 0 0.0139526 0 3.32161 1.66083 0 0 0.199578 0 0 0.56839 1.7327 0.438071 0 2.39746 0 0.418938 0.0337891 -0.21791 0.096449 0.26554 1.14057 -0.267764 -0.0463004 0.566906 12.3093 -0.0553238 0 0 0 0.0415917 -0.00213521 0 0 0 0 0.0168257 21.0368 0.0675413 7.20261 0.538132 -0.441312 1.90058 -0.0641562 0.0560854 -0.23827 1.11683 0 0 0 0 0 0 -363 0 -0.213512 -0.206194 -0.00103029 -0.0468708 0.0455761 -0.258884 -0.0734906 0.0133459 -0.00313985 0.00742952 -0.0203737 -1.86149 4.00656e-07 -1.71143 -0.000509226 -0.95565 -4.89233 0.00681979 -0.00185216 -1.64826 -0.00374581 -0.03069 -8.07912e-07 -0.0732807 -0.0836531 -0.145381 -0.000341841 0.238409 -0.457161 -0.676422 -5.21368e-05 -0.0366291 -0.0418265 -0.0016734 0.0597883 -0.000198241 -0.0427997 1.45135 -0.0064932 -1.2038 2.26697e-05 -0.22383 0.000113207 -5.48949 0.0012019 -0.919044 0.0893441 -0.101031 -0.00128006 1.08403 -0.218558 -0.293265 0.000974009 -0.000767592 0.0182167 1.40744 -0.478449 0.0228981 0.16715 6.1821e-05 -0.350031 1.46671 0.531644 0.512869 0.0225202 0.615976 0.367761 -0.00931637 8.35704e-06 0.165297 -0.0165262 0.0309878 0.0838263 3.27482 0.204397 -0.537211 -7.692 -0.71831 -2.57745 -0.239055 -0.0595931 -2.89708 0.47517 -0.44174 -0.00205066 -0.295956 -6.85679e-06 6.64514e-05 -0.000748731 -0.00714078 1.5616 0 0 0 0 0 -0.00103029 -0.0468708 0.000367382 0 0 0 0 7.15781e-06 0 0.00438971 0 0 -0.000299604 -0.000100409 0.000708197 0 0.000100446 -0.000415162 0.0303986 0 0 -0.0175768 -7.32057e-06 0 0.00146637 -0.0839373 0 0 -0.0031004 -0.0103034 0 0.0346903 0 -0.000386835 0 0 -6.99811e-05 0 0 0.159811 7.60935e-05 -0.0042628 0 0.00400201 0.00747164 0 0 -0.028359 0 0.000778241 -0.0115894 -0.00151068 0 0 0.000610012 -0.000657733 0 0.000497949 0.0100004 -0.000385881 -0.0179102 0.00310616 -0.000528658 0 -0.00126337 0.0136687 -0.00106407 -0.000119532 0.00519098 0 0 0 -0.67476 0.0259811 -0.153065 -0.0122367 0.0236361 -0.0676728 0.000383719 -0.000738464 0.00194649 -0.0242956 0 0 0 0 0 0 0.0455761 0 -0.258884 0 0 0 0 0.232536 0.186681 0 0 -0.000826396 0 0.0053569 0 0.0144114 0 0 -0.0911865 0 0.0633126 0.0158192 0.00905368 -0.0252126 0 0 0.0950009 0 -3.34301 0 2.02022 -0.66257 0 0.302754 0.758718 0.00266425 0 0.0236782 0 0 0.0478053 0 -0.846352 -1.43052 0 0 -0.188737 0 0 -0.0802837 -2.28876 -0.112452 0 1.38668 0 -0.964781 0.106548 0.00967971 -0.110489 -0.0750597 0.0466374 0.313197 -0.0281364 -1.35066 -3.85061 0.0987664 0 0 0 -0.00160599 0.00781605 0 0 0 0 -0.103119 -12.0734 -0.619465 -2.20279 -0.253952 0.238943 -0.936766 0.122977 -0.127295 0.00269883 -0.191448 0 0 0 0 0 0 -364 0 0.873702 -0.265762 0.00276398 0.115993 -0.226416 -0.242476 0.45318 0.164047 0.00475912 0.346494 0.0609795 0.0576585 -4.20217e-06 1.43249 0.000838342 -1.31001 -1.85713 0.0618957 0.0012729 1.75698 0.0096398 0.425027 1.80562e-06 0.0870887 0.318123 -0.643851 -0.00404212 0.607246 -0.331877 0.0573716 9.43964e-05 0.0479358 0.362944 -0.0198731 0.37462 0.00144583 -0.109587 -1.21464 0.109961 0.659588 -0.000225474 -0.429015 0.00258821 2.13277 -0.011372 -0.260699 0.425589 0.0760993 -0.00334346 0.250859 0.0230645 4.6028 0.000441667 0.000873972 -0.0311272 -0.383604 -0.131814 -0.00965971 -0.0621855 0.000147235 0.275267 -1.17835 1.13437 0.10504 0.102076 -0.406532 -0.191559 -0.0371433 9.21877e-05 0.00880497 -0.0476211 0.0495255 0.146716 -0.969157 -0.167238 0.466809 2.22265 -0.184517 -0.630289 -0.00978333 -0.270921 0.847136 -0.495124 0.322511 -0.574475 0.764144 6.48765e-05 -0.000767153 0.0203692 -0.20104 1.13364 0 0 0 0 0 0.00276398 0.115993 -0.00102474 0 0 0 0 -2.47897e-05 0 0.00768993 0 0 0.00101144 0.000347299 0.0012643 0 0.0001913 -0.00500105 0.0507165 0 0 0.033008 2.28148e-05 0 -0.00269449 -0.363496 0 0 0.00782759 -0.110654 0 -0.0587279 0 0.000709547 0 0 0.000170704 0 0 -0.0630081 -0.000424307 0.0153179 0 -0.0175245 -0.00862649 0 0 0.106873 0 -0.00201379 0.289757 0.00714665 0 0 -0.00203648 0.00170196 0 0.000885951 0.00470456 0.00971767 -0.19356 -0.0103195 0.0123021 0 -0.00376461 0.015395 -0.074723 0.00401246 0.158188 0 0 0 -0.322398 -0.117917 -0.198919 0.017288 -0.0299837 -0.0913704 -0.00121997 0.00239518 -0.00876489 -0.0709608 0 0 0 0 0 0 -0.226416 0 -0.242476 0 0 0 0 0.0732141 -0.0790909 0 0 -0.0214495 0 0.0182147 0 0.00987084 0 0 0.60108 0 0.857303 0.0360241 0.045844 0.0783332 0 0 0.0509147 0 2.94092 0 -1.40652 0.455833 0 0.143692 0.774521 0.0126287 0 0.0104935 0 0 0.00450773 0 1.55186 0.696917 0 0 0.115174 0 0 -0.188497 2.12717 -0.0582792 0 -0.906818 0 0.721161 -0.0351872 0.0858066 -0.024652 0.160384 0.634171 -0.0579241 0.00409721 0.22988 -1.54723 0.0264942 0 0 0 0.0761341 -0.0451919 0 0 0 0 -0.00846142 10.5537 0.449532 -0.157295 0.0143226 -0.225156 0.324734 -0.0551627 0.0227143 -0.0806685 -0.0780888 0 0 0 0 0 0 -365 0 0.245762 0.126169 -0.00866272 -0.150141 0.398611 0.125751 -0.400474 -1.78915 -0.0595776 -0.217946 -0.0744565 -0.246892 9.05312e-05 0.237282 0.00542626 -0.0393307 -0.739916 -0.06511 0.0108386 0.346913 -0.02141 -0.177552 -0.000116875 -0.129455 -0.375304 0.117643 -0.0116834 -0.220649 0.289266 0.0091324 -0.00273156 0.0924708 -0.663072 -0.00433695 -0.141017 -0.00287576 -0.0562112 -2.76966 -0.203998 0.10539 0.00211586 -0.0387828 -0.0102735 -0.049127 0.0461486 0.0109969 0.041573 0.207852 0.0249826 1.13778 -0.153709 2.31747 -0.0174066 0.0159534 -0.0451384 0.812005 -0.213416 -0.318664 0.147637 -0.00388462 0.126963 2.19555 -0.0937397 0.581566 -0.108632 0.216911 -0.292901 -0.0524333 0.00423847 0.288779 -0.0561863 -0.115787 0.0318241 0.809315 0.283208 -0.183403 10.2798 2.22289 3.85775 1.40134 -0.640888 3.18504 0.325616 -0.15004 -0.0344532 2.80465 -0.0012586 0.00662286 -0.0422966 0.19361 -0.480793 0 0 0 0 0 -0.00866272 -0.150141 0 0 0 0 0 0 0 2.9876e-06 0 0 0 0 0.000134171 0 5.60924e-06 -0.000971412 0.00235133 0 0 0.130196 0 0 0.000536235 0.304103 0 0 0.0191549 2.55192e-05 0 0.00214966 0 0.00738848 0 0 0.00108534 0 0 0.00485707 0 0 0 0 0 0 0 -0.0336518 0 0 -0.00116877 0 0 0 0 0 0 0 0.0307589 0 0.0411079 0 -0.00303744 0 0 0.00261554 0.0956495 0 -0.0162069 0 0 0 -0.0111231 0 -0.00272228 0 0 -0.000209321 0 0 0 -0.000101333 0 0 0 0 0 0 0.398611 0 0.125751 0 0 0 0 -0.361731 -0.129197 0 0 0.381525 0 0.0258764 0 -0.00692496 0 0 0.0899576 0 -0.240579 -0.158576 0.056234 -0.0246303 0 0 -0.132517 0 -1.97509 0 -0.180136 0.0373035 0 -1.37938 -0.190984 0.000479055 0 -0.031727 0 0 0.00100503 0 -0.353446 -0.0943902 0 0 -0.0890457 0 0 -0.111945 0.596743 -0.480165 0 -0.100053 0 -1.0973 0.0498846 -0.0629856 0.126765 0.156441 0.705639 0.127407 0.0390566 0.433319 0.975646 -0.0215799 0 0 0 0.0937899 -0.0201834 0 0 0 0 0.00946089 5.30604 -0.505781 4.38095 0.146143 -0.105987 0.0454012 -0.0587133 0.0525005 -0.215295 0.735371 0 0 0 0 0 0 -366 0 0.632008 0.189533 -0.00356978 -0.0618709 0.210081 -0.0721606 1.09116 1.59165 -0.0245511 0.0917795 -0.0533139 0.488194 3.73066e-05 -0.286954 0.00258851 0.686444 4.58368 0.0420704 0.00331745 1.5978 -0.00162134 0.105772 -4.81627e-05 -0.0518104 0.570262 0.00147718 -0.0016047 0.597882 1.89057 -0.206983 -0.00112564 0.0484712 0.548739 0.0364293 0.308948 -0.00195454 -0.0647124 2.16592 -0.104174 0.00970772 0.000871916 -0.129149 -0.0049173 2.58343 0.0190172 -0.259649 1.14481 0.0518592 0.0117519 -1.14845 -0.0242619 -1.16025 -0.00557026 0.00510523 -0.0157842 -1.219 -0.243037 -0.163944 0.0722957 -0.0016008 -0.0863416 1.8596 -1.20912 -1.05519 -0.0701537 0.174444 0.106656 -0.0170605 0.00174661 0.0346689 0.00209625 -0.0102266 0.072115 0.193627 -0.4234 -0.093102 -4.59997 0.0514046 -3.18684 0.273446 0.224863 -5.13155 0.204062 -0.115248 -0.0705184 -3.08843 -0.00051865 0.00300341 -0.0415848 0.243932 -3.14234 0 0 0 0 0 -0.00356978 -0.0618709 0 0 0 0 0 0 0 0.000612021 0 0 0 0 3.94727e-05 0 2.30786e-05 -0.00029545 0.000503739 0 0 0.0395721 0 0 0.0015729 0.0925657 0 0 0.00560708 0.000995706 0 0.0217941 0 0.00256597 0 0 0.000369517 0 0 0.0624256 0 0 0 0 0 0 0 -0.0223153 0 0 0.00673858 0 0 0 0 0 0 0 0.0104804 0 -0.0562819 0 -0.00127807 0 0 0.00108786 0.0235609 0 -0.00601979 0 0 0 -0.142959 0 -0.000961413 0 0 -0.0026903 0 0 0 -2.17091e-05 0 0 0 0 0 0 0.210081 0 -0.0721606 0 0 0 0 -0.375386 -0.063764 0 0 0.158609 0 0.0111213 0 0.00433748 0 0 -0.115255 0 -0.357708 -0.112308 0.10636 -0.0346862 0 0 0.0125172 0 -0.28996 0 -2.48087 -0.8623 0 -0.850061 -1.07183 0.00754887 0 -0.0474744 0 0 0.00834234 0 -1.15494 0.216498 0 0 -0.009608 0 0 0.0982281 -3.80243 -0.365162 0 0.192755 0 -1.31559 0.0678666 -0.0150679 -0.164263 -0.066934 -1.14689 0.20063 0.0334439 -0.453967 -3.1979 0.0167248 0 0 0 -0.0374515 -0.0143676 0 0 0 0 -0.0333395 11.0617 -1.45171 4.49866 -0.12023 -0.058344 0.863478 0.0264951 -0.0108544 -0.104018 0.437539 0 0 0 0 0 0 -367 0 0.677949 0.51917 0.000188098 0.00326008 0.0128981 0.20683 0.0741336 0.605882 0.00129364 0.0970012 0.011739 0.90206 -1.96575e-06 1.7943 -0.00126837 2.04052 5.46429 0.0236279 -0.00120655 4.32726 0.0029433 -0.355833 2.53777e-06 0.0435136 -0.283071 0.814604 0.000790699 -0.40969 -0.210171 0.47633 5.93117e-05 -0.0358471 -0.379717 -0.0425604 -0.237714 0.000406606 0.0526793 -0.30419 0.00908504 2.40045 -4.59427e-05 -0.1986 0.000381363 3.80118 -0.00100205 1.25184 -0.437796 -0.0330776 -0.000879741 1.47015 0.115305 -0.46319 0.00173271 -0.00158805 -0.0347664 -2.55959 0.152424 0.15872 -0.0408926 8.43486e-05 -0.150803 -4.19515 1.07978 2.56619 0.0543962 1.25111 -0.134279 0.0408951 -9.20318e-05 0.0486448 -0.0287248 0.00130456 -0.0355245 -3.27261 1.64561 0.498365 1.05424 -0.576421 -0.913121 -0.166244 -0.176542 -0.292037 -0.146916 0.0720849 -0.29628 0.0227232 2.73285e-05 -0.00020729 0.00369872 -0.0250433 0.349327 0 0 0 0 0 0.000188098 0.00326008 0 0 0 0 0 0 0 -0.000774075 0 0 0 0 -0.000187562 0 -2.64385e-05 0.000477215 -0.00548183 0 0 0.0107583 0 0 -0.000151642 0.0876631 0 0 0.00131893 0.00830959 0 -0.00221184 0 0.000301476 0 0 3.54191e-05 0 0 -0.00636381 0 0 0 0 0 0 0 0.00227297 0 0 -0.00415849 0 0 0 0 0 0 0 0.0021625 0 -0.0271508 0 0.000647593 0 0 6.02617e-05 0.00791986 0 0.00396298 0 0 0 0.0145736 0 0.00631611 0 0 0.000274255 0 0 0 0.000236245 0 0 0 0 0 0 0.0128981 0 0.20683 0 0 0 0 0.0785449 -0.421043 0 0 -0.168809 0 -0.00798327 0 -0.0070753 0 0 0.49284 0 -0.9102 9.77314e-05 -0.0445424 0.0532527 0 0 -0.097625 0 1.37735 0 -4.06132 0.256759 0 0.0920208 -1.52922 -0.00232295 0 0.00293022 0 0 -0.0318092 0 1.01387 0.730609 0 0 0.0583515 0 0 0.0610921 -3.28202 -0.0783788 0 0.0272072 0 -0.115046 -0.0948953 0.0568554 -0.0360058 -0.0519439 -1.36029 -0.365621 -0.0346255 0.431416 5.80873 -0.0155974 0 0 0 -0.0013418 0.0129248 0 0 0 0 0.0173249 23.9654 1.12372 1.38091 0.410103 -0.692007 1.77795 0.0274487 -0.0647498 0.0216833 0.0321162 0 0 0 0 0 0 -368 0 0 0 0 0 -0.222114 -0.278755 0.760551 0.974733 0 0 -0.350472 -2.16724 0 -1.61211 -0.071299 0 0 0 -0.185391 6.90311 0 0 0 0 0.0684013 0 0 0.688325 3.68655 -1.04951 0 -0.341081 0 0 0.198901 -0.0596346 0 0 -1.24414 1.1621 0 0 -0.360332 -3.16538 0 -0.791652 1.29618 -0.49178 0.607996 -2.23453 0.521123 0 0.0437203 -0.200458 0.185967 3.36658 0.617345 -0.00572223 0 0 -2.05485 2.75903 0 1.06146 0.9572 -0.377681 0 0 0 0 -0.0235906 -1.2394 0 1.21155 -0.325135 0 0 0 -2.31917 0 1.98233 -6.85487 0 0.995322 -0.272191 -4.9655 0 1.18454 -0.497293 2.70886 -11.7436 0 0 0 0.133599 0.0385165 0 0 0 0.0929996 0.00255786 0 0.012942 0 0.000286795 -0.000966453 0 0 0 0 0.0768181 0 0.00609738 0 0.0282138 0 0.600844 0.406014 0 -0.0041633 0 0 -0.199334 0.000447999 0.0932285 0 0.000142558 0 0.000672677 0.0369997 -0.0298931 0.00756008 0.0156843 0 1.76278e-05 0 0 0 2.56822e-05 0 0 -0.000246099 0.00250092 -0.0854656 -0.00587109 0 0 -0.00943299 0 0.000586722 0 0 0.00752877 0.00122696 -0.11203 0.00335727 0 0 0.0180683 -0.0476402 0.00333753 -0.150928 -0.147825 0 0.140483 0.00621002 -0.0487874 0 0 0 -0.0455271 0 -0.00687042 0.185148 0 0.000391887 -0.000812084 -0.011769 0 -0.000420504 0.00239393 -0.00365127 0.119199 0 -0.222114 0.133599 -0.278755 0.0385165 -0.509855 -0.0200174 0.0648052 0.755734 -0.798444 -0.0417739 0.00646191 -0.305873 -0.00598992 -0.0527417 0.0350161 -0.0435139 -0.0341943 -0.292415 2.19116 1.3662 0.357038 0.452989 -0.000780114 0.297609 0.132727 0.175277 -0.477559 0.0581554 9.53793 -0.0710952 0.276927 0.645384 0.00662213 2.44636 0.385414 -0.00235682 -0.00150722 0.168618 -0.0159792 1.40234 -0.0755793 0.0156049 3.22013 4.48048 -0.00480528 -0.00765673 0.725279 0.324232 0.127995 -0.00942177 1.27143 -0.302347 0.0408534 -3.37727 -0.0118105 0.651836 0.0302821 -0.10216 0.254918 -0.486845 -1.31518 -0.860264 0.35088 1.47789 -4.17229 -0.33573 -0.86165 -0.0738622 -0.364251 -0.319875 0.0957845 -0.0559236 0.0762945 0.321694 0.0150279 0.334529 -1.42937 0.74347 -8.16578 0.70916 0.28377 -4.76708 0.0987374 -0.0197461 -0.0143148 -2.42352 0.0960815 -0.0250566 -0.012612 0.0845508 -1.32634 0 -369 0 0 0 0 0 -0.53786 0.215479 -0.962523 -0.250714 0 0 0.262915 0.922264 0 1.4397 0.0749047 0 0 0 0.177389 -1.14946 0 0 0 0 -0.446348 0 0 -0.926974 -4.25998 0.293051 0 0.589551 0 0 -0.418085 0.0425209 0 0 0.65024 -1.18239 0 0 0.156403 4.05913 0 -0.280389 -2.06278 0.961385 -0.310794 1.42527 -0.0606203 0 -0.290525 0.234979 -0.774621 -2.00339 -0.0999793 -0.0960301 0 0 -0.305804 1.47216 0 0.634942 -0.823125 0.704785 0 0 0 0 -0.255234 0.463967 0 -0.94986 1.89659 0 0 0 2.13344 0 -1.03451 7.14312 0 -0.0526578 0.0579321 5.10046 0 -0.456895 0.958974 -2.54918 13.089 0 0 0 -0.0599627 -0.0130704 0 0 0 -0.0356818 0.00444491 0 -0.00519964 0 -8.46809e-05 0.0148106 0 0 0 0 -0.0100366 0 0.000241152 0 0.0927679 0 -0.220948 -0.148482 0 0.00249809 0 0 0.129198 -0.000258267 -0.027009 0 0.000285341 0 0.000168236 -0.0224353 0.0174762 -0.0039343 -0.00439518 0 -5.42872e-06 0 0 0 1.60148e-05 0 0 0.000483681 0.000460134 -0.000836656 0.0039929 0 0 -0.00182549 0 -0.000726737 0 0 0.0128521 -0.00292711 0.0570745 -0.00960053 0 0 -0.0043542 -0.0308994 -0.000977814 -0.0204637 -0.00885048 0 -0.0181142 0.000200257 0.0353083 0 0 0 -0.0969655 0 0.00346608 -0.114216 0 -0.000287998 0.000313143 -0.0632883 0 0.00027475 -0.00093682 0.00176972 -0.0946288 0 -0.53786 -0.0599627 0.215479 -0.0130704 -0.0520506 0.131638 -0.103279 -0.0202073 1.02794 0.00979462 -0.00552861 0.257451 0.00162685 0.0393671 -0.0169041 0.0557175 0.0409742 0.0542773 -0.772894 1.26231 0.160934 -0.142342 0.161326 -0.110644 0.0847672 -0.287582 0.571861 0.0318493 2.16935 0.154612 -0.232967 0.484437 -0.00240028 0.126258 0.110461 0.0205472 0.00743352 -0.0735584 0.0482301 -1.19155 0.102975 -0.059693 0.871084 -0.546337 0.00518314 0.0275668 -0.0642765 0.201242 0.0191027 -0.996695 1.13512 0.456938 -0.0512689 2.03767 0.030242 0.405101 0.135893 -0.37654 -0.300941 0.623187 1.31259 0.479689 -0.209752 -0.352092 6.96335 0.156759 0.125294 0.0841032 0.568171 0.470226 -0.088314 -0.0945051 -0.0204291 -0.118843 -0.132135 -0.202928 1.20247 -0.625793 2.89308 -0.101803 -0.514509 4.92432 -0.0512962 -0.166091 0.375156 1.26675 -0.0178344 -0.12151 0.339416 -0.268496 1.34534 0 -370 0 0 0 0 0 0.0248246 0.323548 -1.51158 -4.53323 0 0 -0.132536 0.882743 0 0.405311 0.00573752 0 0 0 0.527249 -0.175078 0 0 0 0 -0.913521 0 0 -0.417735 -3.39078 0.174716 0 0.207212 0 0 -0.335698 -0.0156492 0 0 -0.710069 0.0754875 0 0 -0.296868 4.75235 0 0.298333 -0.99282 2.77917 0.347032 -2.74314 -0.032257 0 -0.671238 0.455935 -0.342878 -0.19555 -0.223388 0.948368 0 0 2.40476 -1.86576 0 0.125085 0.692748 1.14143 0 0 0 0 -0.117702 -1.24973 0 -1.89618 0.172072 0 0 0 11.1199 0 0.987625 8.91918 0 0.879799 -0.447868 13.2142 0 1.00867 -0.00337141 0.367027 12.1873 0 0 0 -0.009016 0.0388349 0 0 0 0.0555409 0.0522454 0 0.00703575 0 0.000138309 -0.013982 0 0 0 0 -0.0410869 0 -0.00386228 0 -0.186759 0 0.406671 0.525754 0 -0.000663633 0 0 0.0985974 0.000258971 0.113828 0 0.00168431 0 0.00323229 0.126166 0.000718391 0.00289 0.0273834 0 1.17498e-05 0 0 0 0.000104107 0 0 -0.00159495 0.00260609 -0.119001 -0.000552086 0 0 -0.00357781 0 -0.00662285 0 0 0.0490371 0.000348706 -0.0771917 -0.00652817 0 0 -0.0664121 0.0233481 0.00256213 0.0778721 -0.099069 0 -0.0232746 0.00899304 -0.133671 0 0 0 0.191935 0 -0.0013949 -0.115434 0 0.000727763 -0.0026185 0.0331346 0 -0.000559183 0.00238373 -0.00374148 -0.0837445 0 0.0248246 -0.009016 0.323548 0.0388349 0.233596 0.0593722 0.202798 -0.489025 0.859266 -0.0480528 0.0676463 -0.0906078 -0.00678386 -0.00542994 0.0494364 0.0389975 0.038885 -0.333022 -1.14363 -0.489769 0.121373 -0.245506 0.0305205 -0.127252 0.686108 -0.183164 0.224938 -0.0166024 -1.33332 0.223884 1.75313 0.109705 0.0080345 -1.20098 0.350653 0.0111455 0.00051253 -0.091473 0.0143548 -1.30057 0.12739 -0.0267945 -0.903861 -0.809803 0.00286865 0.0180857 -0.12879 -0.0929528 0.141594 -0.659838 0.806049 -0.376948 -0.159627 -0.0219586 -0.071656 -0.195698 0.208328 -0.0577125 -0.221862 0.441641 1.85815 0.297823 -0.0488261 -0.158933 5.84773 -0.10112 0.195866 -0.0607795 0.10918 -0.000278572 0.00764118 -0.0558812 0.0994969 -0.0971408 -0.0577836 -0.255804 -9.04884 -0.0568499 3.64118 0.571433 -0.200519 3.18012 0.0701047 0.0142559 0.0121237 1.84535 0.109424 -0.0522576 0.234901 -0.285284 1.65537 0 -371 0 -0.0378871 -0.0118266 0.0654118 0.220128 -0.278082 -0.00485897 0.236588 1.84495 0.426128 -1.05553 0.430095 0.83904 -0.0124556 1.23532 -0.0194702 1.8735 10.0563 -0.0917083 -0.0654713 -2.77729 0.0158011 0.164701 0.0160615 -0.304975 0.393132 0.267337 0.105888 -0.423098 -2.06586 0.589816 0.0894325 0.0440062 0.39327 0.708373 0.0794432 0.0660026 0.422829 1.84731 0.860643 -0.819537 -0.0707041 2.80605 0.15232 1.79212 -0.353046 0.120953 -0.980793 -0.00160804 -0.385421 2.56831 -0.521254 -2.29398 0.0895229 -0.100458 0.159199 4.63711 1.02489 0.679935 0.413856 0.137743 1.37203 -1.35087 0.799988 -1.69059 -1.5425 0.802552 0.819392 0.721603 -0.144056 1.09788 -0.30109 0.717823 -0.759479 1.43207 -0.224554 -1.35984 -2.94274 4.87405 -7.57297 2.50304 -1.57472 -1.66898 0.834212 -0.811147 1.38416 -2.36641 0.215263 -0.438557 1.05196 -2.06001 4.94049 0 0 0 0 0 0.0654118 0.220128 0.00021445 0 0 0 0 1.05188e-06 0 -0.00347251 0 0 3.50647e-05 2.48928e-06 0.00775142 0 8.76614e-05 0.0800549 0.00529145 0 0 0.286932 1.74665e-07 0 -0.00565372 1.3746 0 0 0.0286859 0.316474 0 0.00373982 0 0.0587876 0 0 0.0046681 0 0 0.00684581 1.49912e-05 0.000499732 0 0.00305628 -0.00176514 0 0 0.0110774 0 0.000437068 -0.0357719 -0.000481389 0 0 -7.14649e-05 -0.00036939 0 0.00138432 8.4676e-06 3.65691e-05 -0.370363 -0.00125154 0.01948 0 0.00199062 -0.0436684 -0.0335696 4.10523e-05 -0.0292479 0 0 0 -0.0208035 -0.00318408 -0.00609861 0.00248374 -0.00285695 -0.0111483 -4.42537e-05 5.09034e-05 -6.1258e-05 -0.00260443 0 0 0 0 0 0 -0.278082 0 -0.00485897 0 0 0 0 0.153001 1.44782 0 0 -0.564667 0 -0.0697843 0 0.0581077 0 0 -1.46232 0 0.352887 0.0724066 -0.254917 -0.162984 0 0 0.55954 0 -3.56912 0 3.00755 -0.107451 0 0.811033 0.8397 -0.0325578 0 0.00567203 0 0 0.150809 0 -1.22812 -2.79516 0 0 -0.2786 0 0 -1.06181 -2.74086 -0.220524 0 1.45516 0 -1.45796 0.148677 0.0756099 0.726616 -0.248079 -1.7259 0.913544 0.100893 -0.205131 6.4251 -0.0654493 0 0 0 0.591703 0.0806253 0 0 0 0 -0.329429 -20.1129 2.15371 -6.64538 -0.0729964 0.268116 -2.17272 0.0809478 -0.0360839 0.219142 -0.544963 0 0 0 0 0 0 -372 0 -0.78307 0.281484 -0.0205952 -0.0761514 0.0264565 0.0718604 -0.300781 -1.49367 -0.142393 0.983074 -0.0981888 0.0159209 0.00390962 0.15471 0.000749163 2.91089 10.5509 0.217806 0.0241549 2.58819 0.0521158 -0.231593 -0.00505381 0.25504 -0.4327 0.872814 0.0727269 0.323972 0.684788 0.0142272 -0.0286793 -0.053126 -0.283443 0.175309 -0.0231854 -0.0163351 0.367498 1.19103 -0.169574 1.41447 0.0216259 0.770346 -0.0357923 0.921525 0.102155 0.596292 0.479919 0.0400019 0.0898022 1.65056 0.509106 -4.58996 -0.0391426 0.0314903 0.00378108 1.89358 0.213567 0.21273 -0.402263 -0.0417961 0.338991 -2.45847 1.34168 2.26674 -0.56247 -0.338587 -1.10873 0.482956 0.0481348 -0.465512 0.0688555 -0.0681741 -0.348351 -0.659992 -0.173353 -0.669456 1.65724 -3.52743 5.82345 -1.97955 1.07052 -0.690748 -0.711803 0.653083 -1.35605 2.46832 -0.0622874 0.102675 -0.33092 0.54449 -1.63766 0 0 0 0 0 -0.0205952 -0.0761514 5.49153e-05 0 0 0 0 2.64726e-07 0 0.00864645 0 0 1.82867e-06 2.97137e-07 0.0032197 0 0.00100817 -0.0199241 0.0411097 0 0 -0.0319095 2.08492e-08 0 0.00856582 -0.16535 0 0 -0.00693408 -0.06377 0 0.0476487 0 -0.0111948 0 0 -0.00126307 0 0 0.348835 3.7728e-06 2.60617e-05 0 0.000782638 -0.000466203 0 0 0.0169735 0 0.000111922 0.0162786 -0.00012781 0 0 -3.72699e-06 -9.45916e-05 0 0.000307802 0.0690415 -1.0502e-05 0.283748 -0.000384766 -0.0283057 0 0.000530437 0.026079 0.176764 -4.75414e-05 -0.0199186 0 0 0 -0.658389 -0.000685518 -0.0890992 0.000592903 -0.000681995 -0.147802 -2.30789e-06 2.65468e-06 -3.19468e-06 -0.0172453 0 0 0 0 0 0 0.0264565 0 0.0718604 0 0 0 0 -0.342582 -0.478334 0 0 0.147075 0 0.0277555 0 -0.014641 0 0 0.477741 0 -0.624526 -0.13242 0.0733122 0.0830028 0 0 -0.159028 0 2.63616 0 0.0192484 0.0504608 0 -0.64888 -0.679217 0.0107242 0 -0.0697277 0 0 -0.0378104 0 0.596113 1.63005 0 0 0.245431 0 0 0.214692 1.02011 0.553173 0 -2.54038 0 1.34009 0.0215365 -0.0677667 -0.59374 0.224635 0.973817 -0.658927 -0.10154 1.14796 -3.18994 -0.0166275 0 0 0 -0.146828 -0.0738067 0 0 0 0 0.102972 15.3217 -0.363219 5.96699 -0.239663 0.25025 0.711143 -0.107953 0.0470534 0.0125462 0.315865 0 0 0 0 0 0 -373 0 0.212684 -0.217141 0.0397856 0.123816 -0.130029 -0.30778 0.457709 0.876241 0.247077 -0.620278 0.107853 0.45027 -0.00759373 0.518237 -0.0050023 0.195439 -0.136534 -0.288071 -0.0174793 -2.33906 0.011179 0.451508 0.00977391 -0.0984853 0.747021 -0.0185251 0.0503931 0.468043 -1.33642 0.0449296 0.0536287 0.0811166 0.553127 -0.12855 0.391705 0.0193601 0.402749 0.00748926 0.580848 -1.16453 -0.0439402 1.33319 0.0985335 -0.69335 -0.227987 -0.85268 0.0309113 0.186456 -0.249213 2.21231 -0.602629 1.44224 0.00883117 -0.0339326 0.172201 2.75632 0.314584 0.126478 0.183714 0.0860951 0.633756 0.560491 -0.545715 -0.223177 -1.07876 0.58451 0.403723 0.556663 -0.0835305 -0.251823 -0.0621014 0.490719 -0.529168 -0.0890748 -0.661684 -1.54726 0.709329 2.53383 -3.44702 1.14107 -1.04182 1.4514 0.322006 -0.420345 0.667992 -0.488161 0.139011 -0.29085 0.680044 -1.36145 3.19604 0 0 0 0 0 0.0397856 0.123816 0.000304793 0 0 0 0 1.49804e-06 0 0.0151036 0 0 5.45015e-05 3.75996e-06 0.0199185 0 0.00237914 0.0379132 0.118669 0 0 -0.119248 2.63825e-07 0 -0.0234844 0.0957954 0 0 -0.0303916 0.100369 0 -0.0827609 0 -0.00314342 0 0 -0.00351562 0 0 -0.119794 2.13497e-05 0.00077674 0 0.00434382 -0.00250817 0 0 -0.0993528 0 0.000621195 -0.195781 -0.000682468 0 0 -0.000111079 -0.000525005 0 0.00200175 -0.0160337 6.88174e-05 -0.378881 -0.001758 0.0303085 0 0.00283154 0.00618024 -0.0766391 2.7611e-05 0.0484428 0 0 0 0.214069 -0.00462223 -0.094549 0.00356897 -0.00410526 0.0381704 -6.87841e-05 7.91199e-05 -9.52141e-05 -0.0501789 0 0 0 0 0 0 -0.130029 0 -0.30778 0 0 0 0 0.176403 1.06984 0 0 -0.186396 0 -0.0266468 0 0.0335589 0 0 -0.570529 0 0.71256 0.0278453 -0.0744009 -0.0606012 0 0 0.322468 0 -4.32961 0 0.188134 -0.525029 0 0.192461 0.71143 -0.00515114 0 0.0149842 0 0 0.107132 0 -1.3746 -2.07004 0 0 -0.242552 0 0 -0.317525 -1.68843 -0.157387 0 1.46956 0 -0.985809 0.144327 -0.0195488 0.510129 -0.136529 -1.16258 0.634391 0.0066152 -0.957117 0.719843 0.0203616 0 0 0 0.295274 0.0263646 0 0 0 0 -0.251598 2.09313 1.19181 -0.795339 -0.272268 0.160333 0.26969 0.0152445 -0.0229327 0.0949629 -0.0573149 0 0 0 0 0 0 -374 0 -0.635925 0.0737646 -0.00690006 -0.0567039 -0.0807792 0.222575 -0.977349 -0.189553 -0.0580225 -0.553796 -0.213167 1.38878 0.000450038 2.07937 0.0106896 -0.672711 -0.576762 -0.155218 0.0145264 -0.512942 -0.0189194 -0.104909 -0.000271 -0.0829163 -0.0735403 -0.179544 -0.0351898 -0.510188 -0.180692 0.611771 -0.00417133 0.246093 -0.280452 -0.347566 -0.211836 -0.0176265 -0.101772 0.00888207 -0.564073 0.152618 0.00763932 -1.20324 -0.0430436 5.81621 0.122317 0.564795 -0.597481 0.296859 0.142752 -0.521079 -0.0804916 -0.136591 -0.045189 0.0268065 -0.141565 -2.07941 -0.0581133 0.0507545 0.103732 -0.02491 0.816298 -0.803813 0.650344 -0.281594 0.257392 0.653787 -0.0392197 -0.100909 0.0116863 0.132865 -0.370025 -0.0697637 -0.0173649 -1.07877 0.461169 0.235789 6.7285 4.07006 1.24594 1.85358 0.391215 1.80581 0.302568 -0.516046 1.078 1.26167 -0.00627777 0.0402036 -0.227142 1.03086 0.684789 0 0 0 0 0 -0.00690006 -0.0567039 0.00246289 0 0 0 0 0.000230969 0 -0.0183089 0 0 0.0012377 0.0013633 -0.00384882 0 -0.00134855 0.00567851 -0.0657484 0 0 0.265641 9.38079e-05 0 0.00094286 0.770768 0 0 0.0356497 0.077694 0 0.0148044 0 0.020125 0 0 0.00268375 0 0 -0.152478 0.00325736 0.0184192 0 0.032804 0.00519875 0 0 -0.0542363 0 0.00467998 0.0306961 -0.00455226 0 0 -0.000888742 -0.00315109 0 0.0162603 -0.00911336 -0.00441478 -0.429943 -0.00466233 -0.01034 0 0.0140648 -0.0199359 -0.104729 0.00646718 -0.0432674 0 0 0 0.279693 -0.046321 0.126635 0.0243507 -0.0267484 0.0145213 -0.00124293 0.00150313 -0.00236851 0.011287 0 0 0 0 0 0 -0.0807792 0 0.222575 0 0 0 0 -0.0016368 -0.128705 0 0 0.164659 0 0.0229783 0 0.027086 0 0 -0.546315 0 0.0395897 0.0134143 0.193425 -0.064295 0 0 0.216005 0 -3.60731 0 3.46487 0.122283 0 0.366259 0.959481 0.0252394 0 -0.015928 0 0 -0.00415699 0 -0.596359 -0.403077 0 0 -0.0272357 0 0 -0.300758 -0.00627134 -0.0747821 0 1.25175 0 -0.633619 0.0738698 -0.0308911 0.297038 -0.117973 0.19074 0.391418 0.164526 0.051722 5.67648 0.157552 0 0 0 0.14713 -0.0770199 0 0 0 0 0.00761115 -21.605 -0.552459 -4.13611 -0.507366 0.287161 -1.45306 -0.0446019 0.0340547 -0.0359708 -0.194875 0 0 0 0 0 0 -375 0 -0.659931 0.20295 -0.00426132 -0.0409871 -0.113102 -0.066126 0.295688 -0.316416 -0.0867331 0.391555 -0.0178565 -0.135951 -4.83888e-05 -0.431999 -0.0220592 0.224373 3.34247 0.0832211 -0.0273748 1.23917 -0.00341043 -0.393906 -0.000352673 0.0230964 -0.0523546 -0.183879 -0.00360666 0.42229 0.731886 -0.18042 -0.00584597 -0.454959 -0.716952 -0.0125554 0.177222 -0.000955592 -0.0404499 -0.0427044 0.0524865 0.309987 -0.00119412 0.094612 0.00193648 -0.272496 -0.027773 -0.225045 0.636134 -0.591475 -0.00464748 -0.598147 -0.316715 -0.626292 0.103277 -0.0226154 0.144633 -0.0435475 -0.169308 -0.010876 0.0106883 0.00328971 -0.742241 -0.233742 -0.589503 -0.309481 0.0212072 -0.210986 -0.134219 0.0415444 0.0228999 -0.187686 0.0320542 -0.30177 -0.0558031 0.282681 -0.74094 -0.0935071 1.2625 0.314847 -2.22865 0.426574 -0.612047 -2.52309 -0.0619439 0.157613 -0.443325 -1.61712 0.00142541 -0.00718873 0.0338456 0.0544896 -2.77371 0 0 0 0 0 -0.00426132 -0.0409871 -0.00101332 0 0 0 0 -1.63348e-05 0 0.00611368 0 0 -0.000609907 -0.000215658 0.00174547 0 0.000189027 -0.00675776 0.0431828 0 0 -0.076683 -1.41301e-05 0 -0.00583956 -0.476285 0 0 -0.00822578 -0.0560674 0 -0.0534296 0 -0.0038322 0 0 -0.000265825 0 0 -0.170165 -0.000195425 -0.00891631 0 -0.0131551 -0.0305593 0 0 -0.00285292 0 0.00263313 -0.061183 -0.00313898 0 0 0.000722771 0.00273596 0 0.00391834 -0.0290987 0.00330025 0.250432 -0.0139844 -0.0143003 0 0.00842035 0.015851 0.0604318 -0.00375133 0.0214617 0 0 0 0.17557 -0.00285879 -0.0472069 0.0134743 -0.0173093 0.00167405 0.000665533 -0.000789757 0.00112907 -0.00916998 0 0 0 0 0 0 -0.113102 0 -0.066126 0 0 0 0 -0.286664 -0.672897 0 0 -0.0243465 0 0.000448298 0 -0.042563 0 0 0.701101 0 -0.403019 -0.135939 -0.121357 0.0796198 0 0 -0.469282 0 3.05566 0 -0.648721 -0.059191 0 -0.722827 -0.759014 -0.0162481 0 -0.0600286 0 0 -0.0506938 0 0.439404 1.5211 0 0 0.174798 0 0 0.674075 -0.377091 0.227356 0 0.47844 0 0.390059 -0.0430351 -0.156573 -0.126844 0.155493 -0.317519 -0.662888 -0.0841006 -0.481551 -1.5469 -0.141354 0 0 0 -0.249907 0.00568948 0 0 0 0 0.0951535 14.487 0.348175 4.64199 0.0514873 -0.00228049 0.753381 -0.0776971 0.0715017 -0.0384363 0.439098 0 0 0 0 0 0 -376 0 0.859079 0.91195 -0.0119723 -0.168251 0.349434 0.300523 0.0382194 -1.24891 -0.135868 -0.115404 -0.34948 -0.40654 0.000518669 0.603355 -0.0106527 3.30445 14.6332 0.023365 -0.0176205 4.61484 0.00881581 -0.645606 -0.000529212 -0.0154384 -0.484449 1.06078 0.0415627 -0.0351518 2.38021 -0.0344531 -0.00882536 -0.246201 -1.91187 0.280668 -0.100819 -0.025063 0.364447 -7.64316 -0.757415 1.72279 0.00880501 1.14466 -0.0537373 2.73553 0.141245 0.67104 0.680873 -0.498109 0.205991 -0.214949 -0.0451412 -8.45897 0.0780517 0.00525324 0.0250469 -2.08306 0.21639 -0.309378 -0.0472958 -0.0309457 -3.9169 0.22311 -0.738853 -1.07368 -0.541463 -2.71298 -0.32327 0.494507 0.0310263 -0.389957 0.354252 -0.498723 -0.439688 -0.210167 -0.667665 -0.575113 33.2283 3.47773 5.78857 2.54139 -0.0969634 1.34924 0.0665886 -0.13158 0.88806 -4.10974 -0.00724921 0.0491465 -0.328726 1.93589 -9.02052 0 0 0 0 0 -0.0119723 -0.168251 0.00374596 0 0 0 0 0.000291278 0 -0.0208284 0 0 0.00131423 0.001644 -0.00372646 0 -0.0016517 0.00814916 -0.0399641 0 0 0.295304 0.000111967 0 0.00441716 0.772919 0 0 0.0299771 0.0971573 0 0.029763 0 0.0224745 0 0 0.00254848 0 0 -0.225101 0.00412502 0.0193435 0 0.0541645 0.017575 0 0 -0.116669 0 0.00486758 0.0147711 -0.00589159 0 0 -0.00275109 -0.00528274 0 0.0215468 0.000863426 -0.00466845 -0.292067 0.00610091 -0.00815249 0 0.020102 -0.0162804 -0.141428 0.0301154 -0.034421 0 0 0 0.526087 -0.05205 0.0914738 0.0258384 -0.026443 0.0315951 -0.00181805 0.00208473 -0.00235418 -9.72763e-05 0 0 0 0 0 0 0.349434 0 0.300523 0 0 0 0 -0.466375 -0.359679 0 0 0.22451 0 0.00985978 0 -0.019977 0 0 1.31793 0 -1.33855 -0.18669 0.0869092 0.166037 0 0 -0.214155 0 8.59661 0 -7.47131 0.713236 0 -1.4779 -2.79773 0.00578992 0 -0.056625 0 0 -0.024619 0 2.71695 2.97401 0 0 0.372598 0 0 0.799931 1.2309 0.281575 0 -2.03112 0 0.822797 0.00891735 -0.156744 -0.467558 0.0507121 0.156848 -0.718763 -0.06438 -0.0311188 -8.93027 -0.12599 0 0 0 -0.342939 -0.00594164 0 0 0 0 0.060992 45.9252 -0.285552 11.2727 0.528992 -0.289782 3.27779 -0.0827155 0.0976656 -0.149858 0.818985 0 0 0 0 0 0 -377 0 0 0 0 0 0.265474 0.328753 -1.83648 -4.23157 0 0 -1.01592 0.854608 0 0.145109 -0.229051 0 0 0 -0.134462 1.26692 0 0 0 0 -0.857952 0 0 -0.185128 5.9897 0.23871 0 -0.842943 0 0 -0.443692 -0.112793 0 0 -3.14543 2.32462 0 0 -0.530394 2.51546 0 1.2903 1.17583 0.502943 1.096 -4.11588 0.59151 0 -0.395844 -0.657167 0.156928 -2.17953 -0.582207 1.44108 0 0 0.324733 -5.17825 0 0.635966 1.37717 0.0415923 0 0 0 0 -0.264701 -3.12894 0 0.81452 0.612921 0 0 0 5.97981 0 4.05793 -6.01919 0 2.43327 -4.59683 9.60214 0 2.84554 -5.06615 9.49194 -16.8799 0 0 0 0.328827 0.105612 0 0 0 -0.0607973 0.115855 0 -0.00574861 0 -0.00544513 -0.181202 0 0 0 0 -0.276047 0 -0.0709482 0 -0.751824 0 -0.565408 -0.143659 0 -0.00158418 0 0 0.048218 -0.00128186 -0.0643439 0 0.0114466 0 0.00642572 -0.00136871 -0.0131964 -0.0299422 -0.0192551 0 -0.000200242 0 0 0 0.000623907 0 0 0.00504147 0.00362349 0.556242 -0.0759146 0 0 -0.0092578 0 -0.0163898 0 0 0.060498 0.0237688 0.103174 0.0524751 0 0 -0.0842218 -0.029555 0.00941292 -0.457924 0.155484 0 -0.40058 0.000837591 -0.0581899 0 0 0 2.49977 0 0.128668 0.22093 0 0.00737092 0.0242958 0.779022 0 0.00195293 -0.000140051 0.0345533 0.181538 0 0.265474 0.328827 0.328753 0.105612 -0.7731 -0.187851 0.265088 0.0736032 -1.40773 -0.155279 0.0682052 -0.844954 -0.0251413 -0.169487 0.0862547 -0.0707711 0.0633265 -0.889222 0.792643 -0.47119 -0.0665467 -0.015866 -0.0418722 0.0290001 0.80889 0.19264 -0.651913 -0.00311122 -5.40357 0.0299655 -0.662099 0.0764196 0.0165099 0.315226 -0.0339932 -0.0271958 0.00108028 0.00265635 -0.041006 1.13675 -0.104875 0.0293535 -1.24849 3.10129 0.00596596 0.0541175 0.20402 -0.0327692 0.389901 0.582567 -1.8604 -0.0804399 -0.352328 -0.82516 0.0512617 2.13373 -0.310507 0.331972 0.17884 0.000962249 -0.209532 -0.87296 0.0388224 1.34715 1.18288 -0.200407 -0.389159 -0.175433 0.142546 -0.687194 0.314329 -0.174386 0.324199 0.0987381 0.0216842 0.342548 2.69843 2.43809 -1.52986 2.23318 -0.4647 -1.7147 1.4994 -0.680773 0.0735566 0.39259 1.1312 -0.644455 0.248517 0.441543 -1.46404 0 -378 0 0 0 0 0 -0.0228417 0.288355 -0.152036 0.550008 0 0 0.0500033 0.93086 0 0.997661 0.0377831 0 0 0 0.220486 2.22593 0 0 0 0 -0.119848 0 0 -0.527646 5.21639 0.552818 0 -0.304443 0 0 -0.241728 0.0553082 0 0 -0.297008 1.97492 0 0 0.0508254 0.966794 0 1.23858 0.593873 -0.695001 -0.0334786 1.66122 0.603877 0 -0.371994 0.114724 0.319436 1.2103 1.1492 0.852942 0 0 0.0277345 -2.38863 0 1.29471 0.293037 0.129049 0 0 0 0 -0.146862 0.0185216 0 -1.46409 -0.992905 0 0 0 -0.976089 0 0.319068 -6.68213 0 -0.1596 -1.73775 -1.60484 0 -0.178057 -2.9002 4.34039 -18.3406 0 0 0 0.0853779 -0.000449365 0 0 0 0.0288106 -0.0190809 0 0.00542918 0 0.00292832 0.0848781 0 0 0 0 0.112908 0 0.025922 0 0.350893 0 0.17674 0.577627 0 0.0110209 0 0 0.337044 8.31539e-05 0.12036 0 0.00410905 0 -0.00138674 0.211105 0.0651639 -0.000148835 0.0423687 0 0.000170557 0 0 0 0.000180133 0 0 0.00270171 0.00223895 -0.0901083 -0.00617101 0 0 0.0362388 0 0.00738429 0 0 -0.0338968 0.0375457 0.373035 0.0574674 0 0 -0.220557 -0.038187 -0.0394493 -0.0174326 -0.0505409 0 0.318743 -0.00682958 0.299815 0 0 0 -0.951394 0 0.035665 -1.3289 0 0.0027708 -0.0830449 -0.406945 0 0.000470507 -0.0114131 0.041547 -0.775074 0 -0.0228417 0.0853779 0.288355 -0.000449365 -0.733522 -0.062008 0.0421672 -0.259873 0.206698 0.0150895 -0.015447 -0.0774988 0.00266535 -0.0202441 -0.0132883 0.000905736 -0.00817067 0.0977926 0.12538 -0.250184 0.0869806 -0.0452816 -0.094511 -0.0227343 -0.222765 0.25845 -0.16007 0.0184688 2.85393 -0.304569 -0.194074 1.0142 -0.00403518 -0.240599 0.0128161 -0.0239265 -0.00504629 -0.0365155 -0.0451576 2.09416 0.0428117 0.0293374 1.36872 -0.763919 0.00118987 -0.0284618 -0.119787 0.0475663 -0.112781 -0.741976 -0.227647 -0.866253 0.190307 -1.42692 0.0157451 0.179782 0.0451505 0.408312 0.307817 -0.110053 0.175183 -0.148344 -0.15835 0.653322 4.92487 0.0205134 -0.0839043 -0.0376582 -0.337895 0.332641 0.067344 0.0584768 -0.0290168 -0.149147 0.130487 -0.166283 0.790961 0.367874 -0.0386816 -0.0758379 0.409649 -3.96671 -0.056498 0.131727 -0.981799 1.14588 -0.124404 0.214767 -0.844715 1.21246 -2.98544 0 -379 0 0 0 0 0 0.245256 0.108231 0.328532 0.257944 0 0 0.198111 0.261692 0 -0.0337132 -0.0464708 0 0 0 -0.234998 -6.57714 0 0 0 0 -0.0671825 0 0 -0.361351 2.42219 0.0637079 0 0.05956 0 0 -0.0701834 0.0130899 0 0 -0.666936 -1.41437 0 0 -0.235457 0.421106 0 -0.225695 0.189493 0.2796 0.172208 0.346478 0.0192351 0 -0.438231 0.0423557 -0.132204 0.652376 -0.971186 -0.0667116 0 0 0.70033 4.06974 0 0.074223 -0.130742 -0.640591 0 0 0 0 0.503006 0.0644049 0 1.57329 -0.333513 0 0 0 -0.715115 0 0.430949 -1.65155 0 -0.206206 -0.104588 -2.4079 0 0.479575 -0.489499 0.532006 -4.54408 0 0 0 0.121684 0.0260315 0 0 0 -0.0369712 0.0165113 0 -0.00411862 0 -0.000942338 -0.031716 0 0 0 0 0.0198904 0 -0.0050958 0 -0.0835953 0 -0.343813 -0.239673 0 -0.00505018 0 0 -0.267452 1.13885e-05 -0.0449086 0 0.00240492 0 0.000770967 -0.117558 -0.0373628 -0.00260947 -0.0195438 0 -2.61207e-05 0 0 0 0.000122459 0 0 0.000484704 -2.51401e-05 0.138857 -0.0345682 0 0 -0.00706906 0 -0.00228186 0 0 -0.0529872 0.0127247 -0.231101 0.0245751 0 0 0.108363 0.0104319 -0.0284641 -0.364734 -0.750515 0 -0.246528 0.00678604 0.308025 0 0 0 0.469033 0 0.0280144 0.96274 0 0.00227203 0.0578345 0.247158 0 8.66455e-05 0.00871023 -0.0113325 0.549714 0 0.245256 0.121684 0.108231 0.0260315 -0.244397 -0.118263 0.197549 0.13682 0.331584 -0.0267475 0.0546604 -0.580945 -0.00512404 -0.0985139 0.0296 0.0221333 0.0329207 -0.104817 0.43804 -0.68827 -0.114957 0.0270742 -0.359356 0.0208354 0.320504 0.151671 0.186888 -0.00405325 5.39866 -0.280286 -1.32404 1.0248 0.00414128 0.265655 -0.550792 -0.0567885 -0.00266454 0.0167308 -0.0366004 1.15806 0.0474885 0.019589 2.50945 1.48291 0.00611637 -0.0188745 0.115823 -0.0710651 0.328186 0.385899 1.29027 0.369112 -0.072272 1.47209 -0.0210309 0.158181 0.393102 -0.299248 0.629218 -0.0604103 0.12289 0.811113 0.0249937 -0.454891 3.12977 0.048413 -0.468897 0.0307944 0.103886 0.275025 0.233834 0.0697677 0.0604296 0.0503147 -0.105002 -0.439584 5.39621 2.61618 -1.33056 1.05576 -0.311202 -0.53486 0.482906 -0.186313 -0.140544 0.351074 0.13334 0.0679342 -0.417517 0.707746 -1.58255 0 -380 0 1.16417 0.332912 0.16182 0.408542 -0.422139 -0.274573 1.47875 4.09854 0.1687 -3.44873 0.458521 -0.744203 -0.0481691 -0.180239 0.0586629 -0.182753 2.34904 -0.574031 0.00504501 -0.69793 -0.102149 -0.261527 0.0271021 -0.773714 0.802211 -0.317345 -0.0865096 0.371629 -0.166798 -0.263702 0.0975463 0.616282 -1.40424 0.328481 0.364521 0.104589 -0.0817753 -6.96033 1.03316 -0.710072 -0.212868 1.69016 0.259071 -1.39434 -0.774748 -0.451123 0.255653 0.759912 -0.282136 0.982509 -1.39724 -2.02264 -0.3716 0.264592 -0.289645 1.31035 0.181399 0.234999 0.810575 0.156048 -1.56069 -0.155004 0.87304 -2.51996 -0.396072 -0.196173 1.589 0.0625319 0.348199 0.653745 -0.325023 0.761988 -0.00827988 -0.156611 -0.350153 -1.46515 18.6336 9.42675 -7.82189 7.75778 -7.0127 10.4208 4.40011 -4.34495 5.80478 -7.55432 1.60908 -1.96824 1.73963 -2.28166 0.674479 0 0 0 0 0 0.16182 0.408542 0.00992717 0 0 0 0 0.00176903 0 0.00491752 0 0 -0.00159135 -0.0108395 -0.0219404 0 -0.0015164 -0.0754342 0.0396465 0 0 -0.414827 -0.000399417 0 -0.166643 -0.189371 0 0 -0.0439355 -0.140005 0 -0.494454 0 -0.0857837 0 0 -0.0083458 0 0 -1.56395 0.0350848 -0.0410297 0 0.194572 0.128665 0 0 -0.468198 0 0.0054471 -0.120705 0.0215158 0 0 0.00365756 -0.0264189 0 -0.00943897 -0.010553 -0.0471418 -1.13715 0.0722348 0.0256869 0 0.0389546 -0.133419 -0.00127089 -0.0431741 -0.296302 0 0 0 10.077 0.472034 0.491321 0.0470353 -0.104996 1.39454 0.00190216 -0.00450822 0.0556925 0.029419 0 0 0 0 0 0 -0.422139 0 -0.274573 0 0 0 0 0.0580865 2.98724 0 0 -0.889632 0 -0.102908 0 0.117364 0 0 -0.403077 0 -0.0262023 0.085076 -0.194735 -0.0269286 0 0 1.03345 0 8.51519 0 -2.22163 0.00772093 0 0.724267 -0.477459 -0.0255968 0 0.00689134 0 0 0.343413 0 1.61204 -1.26489 0 0 -0.112581 0 0 -0.24642 2.6256 0.438281 0 1.20213 0 -1.51849 0.74304 -0.660584 0.629566 0.195482 -0.030055 1.30198 -0.317612 -2.18283 -6.11994 -0.17413 0 0 0 0.466524 0.246049 0 0 0 0 -0.658295 10.0942 4.8357 -4.40466 1.55079 -1.5561 2.03738 0.495813 -0.506699 0.67927 -0.524674 0 0 0 0 0 0 -381 0 -0.236756 0.26014 -0.00282511 0.0462871 -0.292072 -0.0715095 0.313024 1.98074 -0.0344535 -0.451214 -0.0599382 -0.312161 0.00512252 -0.396482 0.0222454 0.708655 1.33483 -0.0798315 0.0628648 -0.561373 0.0194587 -0.355444 -0.00937265 0.0261706 0.258006 0.309987 -0.0277891 0.018507 0.114 -0.241706 -0.0255328 0.129592 -0.488269 -0.240763 -0.0461922 -0.012698 0.132098 -0.124027 -0.176789 -0.379294 0.0173423 -0.573283 -0.0156173 -0.505541 0.0539785 -0.200083 -0.0757325 0.218067 0.058533 0.414828 0.0259444 0.849833 0.0982696 -0.0531015 -0.134439 1.48309 -0.052507 -0.558447 -0.0251642 -0.0402628 -1.10002 1.61801 2.19596 -0.167196 -0.679779 0.125616 -0.353358 0.0572601 0.0802588 1.10414 -0.482014 0.025265 -0.622886 1.28553 0.582815 -0.330182 -0.565717 2.06701 -6.85438 -0.217013 -0.349199 0.479458 0.169114 -0.197335 0.860416 -2.83741 -0.112108 0.245969 -0.227519 0.489187 -0.46098 0 0 0 0 0 -0.00282511 0.0462871 -0.000661656 0 0 0 0 0.000416413 0 0.0407321 0 0 0.000483343 0.00775626 0.0677138 0 0.0107047 0.237862 0.249231 0 0 0.176452 0.00042834 0 0.0766872 2.53341 0 0 0.034363 0.821511 0 0.306351 0 0.0415648 0 0 0.00810645 0 0 0.990788 0.00860653 0.00705641 0 -0.00839089 0.108557 0 0 -0.0203845 0 0.0062879 0.60009 -0.0174545 0 0 0.00188503 0.00765298 0 -0.000167748 0.141837 0.000375328 0.265983 0.0886652 0.012845 0 -0.0269253 -0.138424 0.561998 -0.0972282 -0.312987 0 0 0 -5.60266 -0.12964 -1.16516 -0.0247223 0.0532533 -0.739498 0.000253544 -0.000899217 0.0101219 -0.29539 0 0 0 0 0 0 -0.292072 0 -0.0715095 0 0 0 0 0.285156 -0.489583 0 0 -0.189726 0 -0.00419192 0 -0.0164808 0 0 0.180109 0 -0.542505 0.104082 0.0338349 0.0378864 0 0 -0.0815993 0 -0.340921 0 0.0577134 -0.328604 0 1.19776 -0.485861 0.0125952 0 0.00818638 0 0 -0.068753 0 -0.164153 0.358854 0 0 0.0865676 0 0 -0.0420185 1.82174 0.38061 0 -0.580134 0 -0.984322 -0.0750137 -0.123661 -0.338922 -0.12563 0.523741 0.663023 0.0217371 -0.173115 -5.59886 0.106607 0 0 0 -0.116355 -0.0434795 0 0 0 0 0.285933 -0.242972 1.73328 -4.47089 0.661544 -0.638142 0.533941 0.083659 -0.106187 0.159382 -0.753324 0 0 0 0 0 0 -382 0 0.327854 -0.359101 -0.0132705 -0.0371744 0.0875353 -0.277088 0.500723 0.946955 -0.0326879 -0.675537 -0.817483 -0.479355 0.00411286 -0.482592 -0.103348 -0.134785 -0.179237 -0.0877956 -0.237289 1.28716 -0.0463602 0.579232 -0.00270361 -0.188381 0.460947 -0.260679 -0.0097919 0.813823 2.99294 -0.239944 -0.0107312 -0.693968 0.991993 -0.0974246 0.387432 -0.131177 -0.145526 0.902211 -1.10525 -0.361418 0.0164865 -1.09852 -0.181072 -1.17677 0.0471999 -0.660315 1.65498 -1.58461 0.405839 -0.412089 0.925924 -0.487953 -0.0165956 -0.746359 1.03653 1.07663 0.444764 0.52361 0.222029 -0.0136827 -0.0117679 -0.456272 -0.0113277 0.80168 0.444124 -0.653235 -0.168149 -0.12057 -0.0221096 0.615112 -0.0957254 -0.669458 -0.424045 -0.030615 -2.03805 -0.77611 -3.52127 0.250198 -0.944211 -1.23548 2.6735 -6.43346 0.828573 0.740862 -2.4874 2.32113 -0.0980296 1.20229 -3.20345 5.69348 -12.1025 0 0 0 0 0 -0.0132705 -0.0371744 -0.00140709 0 0 0 0 -0.000218231 0 -0.0227524 0 0 -7.72897e-05 0.000689175 -0.017115 0 -0.00323019 -0.0207647 -0.12665 0 0 -0.0841596 2.3296e-05 0 0.0675116 -0.32716 0 0 -0.00796291 -0.0910777 0 0.232756 0 -0.0120913 0 0 -0.00103111 0 0 0.453943 -0.00422499 -0.000615788 0 -0.0274763 0.00745056 0 0 -0.0302067 0 -0.000326931 -0.402173 0.00591358 0 0 -0.000438698 0.00364606 0 0.00489759 0.10578 -0.00444092 -2.36912 -0.0128041 -0.0368167 0 -0.0426305 0.0938781 -0.264353 -0.0865019 0.0283962 0 0 0 -2.82136 -0.0897702 0.294708 -0.0116874 0.0270377 -0.383921 -0.000103537 0.000302709 -0.00342871 0.108662 0 0 0 0 0 0 0.0875353 0 -0.277088 0 0 0 0 -0.468793 -1.18732 0 0 0.315704 0 0.043756 0 -0.0642453 0 0 0.191922 0 0.66567 0.0136314 0.437803 0.013566 0 0 -0.570232 0 -1.82394 0 1.06141 -0.440836 0 -0.0668232 0.911602 0.0555992 0 -0.0508698 0 0 -0.130301 0 -0.757262 0.125497 0 0 0.0079364 0 0 -0.0947043 0.269019 -0.443091 0 -0.878958 0 1.39358 -0.418261 0.461196 -0.299232 -0.0615681 0.247021 -0.823536 0.176886 0.794366 0.660889 0.0444912 0 0 0 -0.0810388 -0.080419 0 0 0 0 0.138067 -1.18771 -1.75404 2.07766 -0.754932 0.81575 -1.1862 -0.211982 0.193881 -0.22561 0.044295 0 0 0 0 0 0 -383 0 0.563238 0.451753 0.0913894 0.301953 -0.352286 -0.140437 1.2454 3.82515 0.285608 -2.77713 0.483494 -0.284906 -0.0196982 -0.390908 -0.0150882 1.27821 4.78564 -0.456951 -0.0635776 -2.20412 0.0062902 -0.356484 0.0152424 -0.36545 0.70795 0.398967 0.0693953 -0.127793 -1.29936 -0.203229 0.0811058 -0.0143922 -1.40467 0.0321579 0.194558 0.0681105 0.418575 -6.60688 1.12407 -1.2131 -0.130256 0.996933 0.180785 -1.15095 -0.818804 -0.673211 -0.508638 -0.187268 -0.541123 -0.0112364 -1.47797 -3.13124 0.165019 -0.4962 0.352705 0.977595 -0.0554436 -0.954111 0.667228 0.287097 -2.97667 4.01187 0.872695 -1.73912 -0.228671 0.887454 1.07038 0.272385 -0.00345327 0.999276 -1.40702 0.772968 -0.520634 0.0108536 -0.525702 -1.1234 18.4231 7.86073 -7.3577 6.10724 -6.23605 11.185 2.42708 -2.88939 5.08032 -5.74067 0.869084 -1.04829 1.67848 -2.07446 3.13859 0 0 0 0 0 0.0913894 0.301953 0.00439105 0 0 0 0 0.000255313 0 0.0123413 0 0 -0.000387102 0.000836818 0.00917482 0 0.00332418 0.0406546 0.0878241 0 0 -0.164801 0.000118994 0 -0.0772897 0.212985 0 0 -0.0214119 0.168014 0 -0.278109 0 0.00939439 0 0 0.00204705 0 0 -1.10373 0.00416482 -0.0148894 0 0.0752635 0.0941096 0 0 -0.315587 0 0.00720104 0.00646364 0.00197967 0 0 0.0027988 -0.00812465 0 -0.00632144 0.0253824 -0.0284166 0.722811 0.0390063 0.0240165 0 0.0201879 -0.0974451 0.337888 -0.0208206 -0.20901 0 0 0 7.36031 0.316738 0.219427 0.0405242 -0.0857539 1.03884 0.000995878 -0.00280109 0.0359755 -0.0388292 0 0 0 0 0 0 -0.352286 0 -0.140437 0 0 0 0 0.498032 0.925001 0 0 -1.15216 0 -0.134108 0 0.00346717 0 0 0.0312959 0 -0.517759 0.137627 -0.551529 0.014393 0 0 0.143205 0 8.52727 0 -2.67587 0.293807 0 1.20362 -1.16454 -0.0698541 0 0.0631194 0 0 0.0759329 0 1.96221 -0.123703 0 0 0.0094125 0 0 0.0407691 3.49941 0.448865 0 0.454843 0 -1.35091 0.188882 -0.374888 0.964963 0.218383 -0.417453 0.742508 -0.299827 -1.7248 -1.27955 -0.228036 0 0 0 0.115089 0.284196 0 0 0 0 -0.376222 12.0064 6.05004 -6.41656 1.83441 -1.84806 2.33999 0.674381 -0.672591 0.873325 -0.841297 0 0 0 0 0 0 -384 0 -0.38075 -0.182252 0.00379691 -0.0137118 -0.215169 -0.249282 0.589902 1.38431 0.118145 0.259652 0.0379768 0.131253 -0.00193004 0.720727 -0.00661318 0.549549 2.11357 0.152542 -0.0366435 1.88855 0.0478186 0.282045 0.00533246 0.102448 0.430181 -0.0330404 0.161936 0.705503 1.66513 -0.0433118 0.0266145 0.114994 0.623288 0.490809 0.320954 0.00617484 0.68815 2.13015 -0.126934 0.0986759 -0.000865959 1.54327 0.00045036 1.74823 0.105416 -0.381596 0.988463 0.0390846 0.0184103 -0.177164 0.567017 0.0958176 0.14338 0.0757183 -0.00917075 0.980351 0.303205 0.560797 -0.160774 -0.00880262 -0.190572 -2.66379 1.29486 0.838895 -0.0145549 -0.749393 0.146007 0.703621 -0.092746 0.604927 0.28846 0.131896 -0.170473 -0.543199 -1.12866 0.143949 -7.09211 -2.37556 -2.15004 -3.62582 2.30994 -5.21681 -1.05056 0.602085 -1.44294 -1.66723 -0.111889 0.125523 -1.01101 1.07197 -4.02211 0 0 0 0 0 0.00379691 -0.0137118 -0.00508202 0 0 0 0 -0.000730081 0 0.0129572 0 0 0.000678054 0.00510391 0.00561854 0 0.00179944 0.0558439 0.051869 0 0 0.218159 0.000243223 0 0.0550983 0.851225 0 0 0.0323151 0.244504 0 0.294046 0 0.0375707 0 0 0.00534473 0 0 1.18498 -0.0143904 0.0176671 0 -0.0973636 0.0121974 0 0 0.105137 0 0.00129533 0.138891 -0.0140601 0 0 0.00118435 0.0174647 0 0.000307747 0.0724454 0.0123133 -0.370458 0.0144103 -0.0132042 0 -0.0322136 0.0371932 0.222985 -0.070028 -0.0128521 0 0 0 -6.83601 -0.240014 -0.508507 -0.0314961 0.0672775 -0.909374 -3.51785e-05 0.000532827 -0.0144132 -0.0930225 0 0 0 0 0 0 -0.215169 0 -0.249282 0 0 0 0 -0.0381054 0.223991 0 0 -0.167977 0 -0.0235052 0 0.0329193 0 0 -0.208831 0 0.522753 0.0625019 0.0397908 -0.00911081 0 0 0.287579 0 -0.729086 0 0.552311 -0.516172 0 0.56674 0.511718 0.00143246 0 0.0115631 0 0 0.0238828 0 -0.324338 -0.341981 0 0 0.00117339 0 0 0.024459 0.0816193 -0.0447645 0 -0.319364 0 -0.521092 -0.0510745 0.0569592 0.0921434 -0.0438872 -0.0766131 0.376002 0.000900456 -0.511133 -7.74513 0.0356597 0 0 0 -0.0669367 0.0172975 0 0 0 0 0.119661 -3.77008 0.257979 -1.32388 -0.093462 0.148572 -0.299783 0.0811695 -0.0803181 0.112792 -0.373082 0 0 0 0 0 0 -385 0 -0.0453675 0.346948 0.0400996 0.176903 -0.106441 0.073112 0.384469 1.30512 0.331267 -1.03741 0.284776 0.572341 -0.00739998 1.07969 0.0120788 1.18764 4.12008 -0.1494 0.0204581 3.69817 -0.0242984 -0.459678 0.0069603 -0.283315 0.0892825 0.493085 -0.0852395 -0.182243 -1.07389 0.247445 0.0471272 0.147314 -0.701699 -0.145935 -0.119156 0.0413545 -0.374545 -1.0303 0.454806 2.15527 -0.0414575 0.152204 0.081055 1.17172 -0.183596 1.05841 -0.526263 0.269264 -0.201996 -0.15436 -0.568475 3.79899 0.367038 -0.0823277 0.110783 2.99788 1.34314 0.656021 0.339287 0.0969799 -0.542479 -5.4141 1.40761 -0.246812 0.276703 0.749818 0.197154 -0.55502 -0.058749 0.506123 -0.40829 0.326602 -0.0603846 -0.000346586 0.477699 0.382098 2.58592 2.03089 -2.97311 1.38981 -1.33103 1.92527 1.01599 -0.844803 1.66143 -2.07659 0.19487 -0.342658 0.791652 -1.14176 2.59397 0 0 0 0 0 0.0400996 0.176903 0.000414812 0 0 0 0 3.68259e-05 0 -0.00751367 0 0 2.50569e-05 0.000826252 -0.0067419 0 0.000133618 0.0239071 -0.0905992 0 0 -0.0764503 7.21465e-05 0 -0.0159322 0.297472 0 0 -4.61436e-05 0.0635682 0 -0.026266 0 -0.000242317 0 0 0.00136517 0 0 -0.150125 0.000658158 -0.00259268 0 0.0107016 0.060876 0 0 -0.0985425 0 0.000403993 -0.0277532 0.00998952 0 0 0.00131654 -0.000398356 0 -0.00618111 0.111895 -0.0197876 -1.31287 0.0228949 -0.00610913 0 -0.025996 -0.0218131 -0.0716192 -0.0313363 -0.0475549 0 0 0 2.43735 0.130773 0.490163 0.00781535 -0.026736 0.390133 0.000359427 -0.00105914 0.0134143 0.077978 0 0 0 0 0 0 -0.106441 0 0.073112 0 0 0 0 0.501986 1.00905 0 0 -0.474454 0 -0.0440946 0 0.0261991 0 0 0.232388 0 -0.612735 0.143155 -0.198687 0.0482329 0 0 0.271343 0 4.7744 0 0.287721 -0.0708238 0 1.13448 -0.502446 -0.0184913 0 0.0492984 0 0 0.10319 0 0.577421 0.397222 0 0 0.100076 0 0 -0.196378 3.43764 0.357724 0 1.20523 0 -0.380423 0.0416746 -0.0708869 0.412171 0.0548915 0.224957 0.702993 0.0856275 0.332245 3.89101 -0.0845044 0 0 0 0.225623 0.0872755 0 0 0 0 0.150732 2.88008 2.46193 -4.1529 0.642893 -0.650171 0.518472 0.280038 -0.25919 0.307875 -0.733596 0 0 0 0 0 0 -386 0 0 0 0 0 0.42378 0.0658383 -0.427247 -2.18886 0 0 -0.00360667 -0.840843 0 -2.21209 0.00566614 0 0 0 0.093656 -4.74042 0 0 0 0 -0.371617 0 0 0.051755 -1.42351 -0.493509 0 0.0430673 0 0 -0.115732 -0.000452676 0 0 0.221534 -1.87547 0 0 0.069768 -3.23214 0 -0.657082 0.0821479 0.440879 -0.0683808 -0.924773 -0.373388 0 0.0202708 0.0757625 0.0719034 1.23 0.0504637 0.00801834 0 0 0.57689 3.16951 0 -0.74767 -0.0482539 -0.523814 0 0 0 0 -0.188489 -0.0470642 0 3.60778 -1.90635 0 0 0 3.67271 0 -0.841971 4.15823 0 -0.234271 0.256415 3.45226 0 -0.198727 -0.00310376 -0.260453 1.80861 0 0 0 -0.00231077 0.0010212 0 0 0 -0.0138508 -0.00276171 0 -0.000888751 0 -0.000259814 0.000583759 0 0 0 0 -0.0231178 0 -0.000467743 0 -0.0037888 0 -0.158239 -0.0250431 0 0.000409378 0 0 0.0278181 -0.000379756 -0.000867237 0 -0.000294339 0 -0.000302479 0.0131619 0.00543768 -0.00560728 0.000596494 0 -1.79928e-05 0 0 0 -2.22045e-05 0 0 0.000391057 0.000326071 0.0706999 0.00277101 0 0 7.57924e-05 0 0.000655832 0 0 -0.00806852 0.00278158 -0.00433261 -0.00233598 0 0 0.0124146 0.00881008 -0.000914974 0.00908473 -0.00556186 0 -0.0305204 -0.00305662 -0.0260098 0 0 0 0.0457371 0 0.00598563 -0.0161556 0 -6.57197e-05 0.00023849 0.00290719 0 0.000368528 -0.00120852 0.0023982 -0.00769827 0 0.42378 -0.00231077 0.0658383 0.0010212 0.354033 0.0264273 0.016882 -0.894409 -0.25493 -0.00042895 0.0110583 0.0364754 -2.39817e-05 0.0023932 0.000691053 -0.00357829 0.019956 -0.00556908 0.967419 0.492108 -0.110456 -0.448153 0.01032 0.109601 0.0487376 -0.205761 -0.076655 -0.013689 5.13567 -0.013277 -0.257825 0.573169 2.76199e-05 -2.22035 -0.494922 0.00100414 -0.00199847 -0.146251 -0.00847832 -1.09331 -0.011285 -0.0325085 1.69552 2.19384 0.00289412 -0.00709475 0.157241 -0.0184209 -0.113461 -0.0567929 0.221705 0.390538 0.0306164 0.921596 -0.00175111 1.14287 -0.024593 0.0743846 -0.0159853 0.968444 1.08934 -0.158809 -0.278532 -0.0141516 1.59297 -0.154829 0.689818 -0.0197627 0.365578 0.121189 -0.00641481 -0.0453099 0.00133422 -0.0507026 0.00611633 0.0127512 0.626783 -0.0577646 7.25854 0.0205371 -0.212336 5.40936 -0.00223782 0.0357259 -0.0599322 2.99386 0.000594772 0.0841745 -0.115464 0.083323 1.41038 0 -387 0 0 0 0 0 -0.639353 -0.0542718 1.01793 3.12517 0 0 0.117598 -0.192853 0 0.195654 0.0288095 0 0 0 0.13529 -2.20487 0 0 0 0 0.341924 0 0 -0.454558 0.736069 -0.00725465 0 0.108909 0 0 0.120257 0.0178635 0 0 0.54647 -1.00885 0 0 0.101548 0.0421407 0 -0.338299 -0.49295 0.574549 -0.262227 0.176957 -0.232407 0 -0.172712 0.30492 -0.273457 4.47168 -0.233371 0.0921276 0 0 -2.04866 3.87535 0 0.518169 0.375185 -0.898722 0 0 0 0 -0.0758976 0.678518 0 2.55831 0.535503 0 0 0 -3.38913 0 -0.344441 -1.05257 0 -0.0857954 1.0995 -6.45733 0 -0.500336 1.91197 -3.72823 1.65395 0 0 0 -0.0355219 -0.00441864 0 0 0 -0.00374963 0.00427116 0 -0.000163841 0 -0.000220165 -0.0053271 0 0 0 0 -0.0213331 0 -0.0016602 0 -0.0722145 0 -0.0648109 0.00702237 0 3.77745e-05 0 0 0.0275555 -0.000654354 0.000924393 0 0.000993541 0 0.000306316 -0.0113238 0.00234202 -0.00909068 -0.000848089 0 -1.56735e-05 0 0 0 6.92249e-05 0 0 0.000157702 0.00266711 -0.0154844 0.00128454 0 0 -0.00220777 0 0.00120012 0 0 0.0115761 -0.00412684 -0.00561482 -0.0109598 0 0 -0.00534134 -0.00437613 0.0106133 0.00929117 0.0263601 0 -0.00985724 0.00113296 -0.0640493 0 0 0 0.0223045 0 0.00359421 -0.012889 0 -0.000624355 -0.000991169 0.0153324 0 0.000536786 -0.000580169 0.00236087 -0.00806054 0 -0.639353 -0.0355219 -0.0542718 -0.00441864 -0.317005 -0.0456836 -0.0364083 0.358159 -0.0621678 0.00186896 0.0331654 -0.133905 0.000106274 -0.00667637 -0.0024206 -0.00365312 0.0437524 0.0253152 0.117889 0.179204 -0.0303208 0.307361 -0.0630566 -0.0164861 0.223983 0.0027776 -0.0473557 0.00360773 6.08617 0.167447 -2.06018 1.01831 -0.000137215 1.56527 -0.338847 -0.00570459 0.00755574 0.073671 0.0408547 0.466668 -0.00219588 -0.0149752 2.51949 0.416098 0.00744869 0.0323808 0.0273813 0.0360901 -0.0463109 0.544508 -0.0747463 -0.279244 -0.0617583 1.44228 0.00452663 -0.130702 -0.00191249 0.121791 -0.107994 0.0657896 -0.321021 -0.263757 -0.416464 -0.149358 4.43992 -0.19677 0.106274 0.0347295 0.0760078 -0.145829 0.0159739 -0.154153 -0.00426019 0.21024 -0.0130746 -0.00101593 5.00836 0.0554652 -3.09381 0.0792412 -1.15301 1.67491 0.0084689 -0.427484 1.11642 -1.62872 -0.00270363 -0.161689 0.349034 -0.301808 -0.31835 0 -388 0 0 0 0 0 -0.507853 0.357037 -0.412276 0.323609 0 0 -0.0839683 2.05356 0 3.33305 0.0333829 0 0 0 0.377576 5.97674 0 0 0 0 -0.338681 0 0 -0.503918 -3.41143e-05 0.993259 0 0.0852634 0 0 -0.341883 -0.025724 0 0 0.428267 2.75195 0 0 0.025462 7.73829 0 1.54313 -0.37997 1.11398 -0.0979258 0.933536 -0.0601843 0 -0.583456 0.454903 -0.318143 -3.6021 -0.759015 -0.270833 0 0 0.626614 -1.84805 0 1.03338 0.397845 0.61473 0 0 0 0 0.192358 0.338507 0 -3.37662 1.18696 0 0 0 -0.24283 0 -1.0227 2.39381 0 0.00636353 -0.32361 2.20922 0 0.0161099 0.121586 -0.579027 1.70999 0 0 0 -0.314413 -0.0179613 0 0 0 -0.000261571 0.0797669 0 0.000380121 0 0.00176325 -0.00831301 0 0 0 0 -0.0221699 0 -0.00221034 0 -0.0863912 0 -0.0791108 0.17609 0 -0.00154569 0 0 -0.17514 0.00228631 0.00849033 0 0.00448355 0 0.00558549 0.0365986 -0.0198935 0.0326292 0.000955789 0 0.000123359 0 0 0 0.000316641 0 0 -4.65772e-05 0.00397601 0.00865452 -0.0161101 0 0 -0.00642854 0 -0.0135528 0 0 0.0225176 0.000861817 0.0181107 0.00732669 0 0 -0.0422611 -0.026728 -0.0304503 -0.0231219 -0.181175 0 0.0293448 0.0131145 0.040225 0 0 0 0.14578 0 -0.0175705 0.10254 0 0.0015391 -0.00475278 -0.00120445 0 -0.00185277 0.008922 -0.016406 0.0476959 0 -0.507853 -0.314413 0.357037 -0.0179613 0.1771 0.0328587 -0.160999 0.414581 -0.380316 0.00839207 0.0768755 -0.324873 0.000392878 -0.0120377 -0.0084956 -0.012541 0.0517578 0.171495 1.52902 0.141289 0.371495 -0.0395102 -0.32381 0.226804 0.548994 0.0480427 -0.361845 0.00669798 6.92624 0.0472722 0.339163 1.63019 -0.000428079 0.580838 0.776772 -0.0177348 -0.00244746 -0.0275073 0.00585175 0.210288 -0.00373776 0.0129235 3.47376 2.99431 0.00682824 0.000614927 0.469545 0.0262408 0.35143 -0.292835 0.739722 -0.593027 -0.110146 -0.940746 0.0199165 0.343079 -0.0106957 0.283272 0.0327731 -0.0824507 -0.252289 0.16975 -0.0228133 -0.0356599 -5.48196 0.151133 -0.923664 0.241433 -0.176574 0.076966 0.036115 -0.0221157 -0.0247089 0.198053 -0.0721297 0.0133705 -0.824517 0.412553 -3.26741 -0.226567 -0.470256 -0.242282 0.0262799 0.000269113 -0.365149 0.132208 -0.0183155 0.023237 -0.218446 0.00267191 0.100598 0 -389 0 1.03088 0.366746 -5.47668e-05 -0.0126231 0.372427 0.216298 -0.816297 -1.99783 0.000281659 0.0316346 -0.0193566 0.813813 -1.4952e-08 0.240896 0.000308618 1.16287 2.85986 -0.0361816 0.000257863 -0.340499 -0.00616851 -0.426488 9.94914e-08 0.00167803 -0.462129 0.603454 -0.00381362 -0.624119 -1.5512 0.33069 6.26532e-06 0.0271337 -0.921865 -0.00830223 -0.270532 -0.000235383 -0.00961131 -4.19772 -0.031958 0.316591 1.03286e-06 0.05378 -0.000411876 1.60815 0.000363094 0.636628 -1.06213 0.0260038 0.000465847 -0.542869 0.0165201 1.1761 -0.000449564 0.000471694 0.0153088 1.32777 0.15466 -0.00771936 -0.0147659 -9.93511e-07 0.802049 -0.756408 -0.198558 -0.0905092 -0.00663124 0.427709 -0.0105167 0.0319776 -8.02333e-06 -0.334551 0.204118 0.0376862 0.0342715 -0.481187 0.576125 0.0274769 14.3825 -0.597178 7.81868 -0.00986213 -0.201255 7.60256 -0.0983065 0.136962 -0.242792 5.54858 -3.63593e-07 8.88073e-06 0.000159268 0.0847597 5.27526 0 0 0 0 0 -5.47668e-05 -0.0126231 2.4304e-05 0 0 0 0 -6.91799e-07 0 0.000706915 0 0 -0.000127185 -2.27798e-05 4.54842e-05 0 7.02504e-06 0.000163379 0.00400861 0 0 -0.00989626 -1.46998e-06 0 -4.26813e-05 0.0190629 0 0 -0.00150063 0.00852917 0 -0.00445234 0 -6.03094e-05 0 0 -1.27957e-05 0 0 -0.000206548 4.13928e-07 -0.00199771 0 0.00142994 0.00201116 0 0 0.00574432 0 0.000117378 0.0340885 0.000701999 0 0 0.000193188 4.52885e-05 0 -0.00102843 -0.010154 0.000205811 -0.0556647 0.00386103 0.000508145 0 0.000475698 0.000702982 -0.0266586 0.000134354 0.00806212 0 0 0 0.150641 0.015108 -0.000799411 -0.000928532 0.00281884 -0.000703686 0.000129714 -8.41306e-05 0.000220428 -0.000460788 0 0 0 0 0 0 0.372427 0 0.216298 0 0 0 0 -0.0769858 0.624833 0 0 0.239884 0 0.0125439 0 0.0132846 0 0 -0.979579 0 -0.94131 -0.108168 0.119434 -0.111144 0 0 0.234699 0 -1.70632 0 -3.33556 -0.476793 0 -0.642609 -1.20855 0.0036622 0 -0.0175966 0 0 0.0532114 0 -1.49402 -1.12633 0 0 -0.131115 0 0 -0.376835 1.43103 0.200745 0 -0.611367 0 0.383947 0.0639895 -0.0713777 -0.326214 0.0846741 0.855074 0.0211205 0.0224639 0.0511626 0.891542 0.0820912 0 0 0 0.0824584 -0.0808828 0 0 0 0 -0.0442313 20.8547 -1.27068 6.59142 0.26671 -0.361312 1.9176 -0.0355336 0.0263981 -0.0916645 0.465838 0 0 0 0 0 0 -390 0 -1.15928 -0.398829 -0.000400097 -0.0205301 -0.303412 -0.161994 -0.229411 -0.120258 -0.00149231 0.399485 0.0176459 -0.182139 2.37261e-07 0.0908012 -0.000182284 -0.981401 -3.56976 0.0537508 -2.51475e-05 -0.37941 0.00981824 0.256932 -2.90406e-07 0.0644998 0.119347 -0.283677 0.0160197 0.235342 -0.15045 0.0130632 -2.15373e-05 -0.0102872 0.833342 0.0968693 0.033661 0.00030028 0.1504 3.46699 0.0345943 -0.423235 1.82083e-05 0.750172 0.000624499 -0.528785 0.00125875 -0.339923 0.203232 -0.000897092 -0.000843073 1.61555 0.238682 8.45324 2.28776e-05 4.31969e-05 -0.0168312 1.03359 0.0823795 0.0167088 -0.180742 -1.86602e-05 0.444727 0.287238 0.0404889 -0.143493 -0.609413 -0.121265 0.38038 0.339569 1.67707e-05 -0.380479 0.264754 -0.0203875 -0.193524 0.496988 -0.161725 -0.0811613 -9.16219 -0.785573 -3.49232 -0.197963 0.15294 -4.44204 -0.434943 0.602003 -1.09466 0.890332 -1.26048e-06 -4.20049e-05 -0.00206503 -0.0558731 0.511643 0 0 0 0 0 -0.000400097 -0.0205301 0.000420339 0 0 0 0 7.43646e-06 0 -0.000223728 0 0 7.84496e-05 2.3617e-05 -6.81324e-05 0 -5.70599e-06 -2.38573e-05 -0.00338934 0 0 -0.015295 1.59362e-06 0 -0.000194682 0.00844121 0 0 -0.00105579 -0.00202733 0 -0.00485122 0 -0.000258614 0 0 -1.74562e-05 0 0 -0.029668 0.000103522 0.00123552 0 0.00574986 -0.00340928 0 0 -0.00702958 0 0.000905472 -0.00952596 -0.00122883 0 0 -0.000184774 -0.000698927 0 0.0021147 0.00219326 -9.42818e-05 0.0157117 -0.00238734 -0.00149032 0 0.00102565 0.000908357 0.008835 0.00192685 -0.00129122 0 0 0 -0.0354065 -0.0114457 0.00315763 0.00304373 -0.00447911 0.00406874 -9.51096e-05 6.41182e-05 -0.000130354 0.000407359 0 0 0 0 0 0 -0.303412 0 -0.161994 0 0 0 0 0.0432622 0.490054 0 0 0.221419 0 0.0350844 0 0.0130373 0 0 -0.102762 0 0.47613 -0.00880227 0.0278148 0.00262971 0 0 0.0711207 0 -7.91078 0 4.08505 -0.902744 0 0.300127 1.0255 0.0083645 0 -0.00259116 0 0 0.0719706 0 -2.51565 -1.00632 0 0 -0.0902857 0 0 -0.147945 0.402926 0.272569 0 0.533295 0 -0.372307 0.127272 -0.140386 -0.624008 -0.105541 0.448515 0.583601 0.128261 -0.239191 0.380212 0.187294 0 0 0 0.0974872 -0.138 0 0 0 0 -0.126012 -21.3569 -2.67969 -0.746717 -0.889296 0.641248 -1.5957 -0.172052 0.113217 -0.114423 -0.107862 0 0 0 0 0 0 -391 0 -1.04144 0.0588943 -0.00130095 -0.0954568 -0.0927468 -0.210362 0.921716 2.3055 -0.00414757 -0.536995 0.0364294 -0.369082 6.74283e-07 -0.562341 -6.25509e-05 1.57559 5.21357 -0.122589 0.00062132 -0.293329 -0.0213836 -0.0228722 -6.58414e-07 -0.151867 0.601312 0.415396 -0.00732033 0.341381 0.108625 -0.257874 -5.26746e-05 0.00777075 0.218821 0.00211979 0.266367 0.000609071 0.0219652 2.10318 0.0738133 -0.246749 5.83188e-05 0.304686 0.00129279 -1.45516 0.00491579 -0.308741 0.412616 0.0604797 -0.00207908 0.785898 -0.270055 -6.37236 -0.00120951 0.00135285 -0.000708944 -0.614067 -0.0230308 0.0172987 0.205945 -6.29001e-05 0.314489 -0.686281 2.31137 1.09956 0.0169038 -0.283201 0.619006 0.0667652 3.74984e-05 0.14472 0.0872333 -0.00795712 -0.0383412 0.272624 -0.159568 -0.19379 -6.66954 1.13368 -5.6233 1.06105 -1.26956 -0.742458 0.806579 -0.956182 1.2372 -3.61617 -4.92255e-06 -0.000133355 -0.0084131 -0.127641 -0.369409 0 0 0 0 0 -0.00130095 -0.0954568 0.00136777 0 0 0 0 1.89067e-05 0 -0.0012075 0 0 0.000293339 5.89529e-05 -0.000164846 0 -1.46959e-05 0.000211501 -0.011639 0 0 -0.044682 4.306e-06 0 -0.000718052 0.0670073 0 0 -0.00328362 0.010935 0 -0.0256497 0 -0.000650254 0 0 -4.56208e-05 0 0 -0.108758 0.000282327 0.00392846 0 0.0207967 -0.00166865 0 0 -0.0265522 0 0.00245499 0.0352085 -0.00124763 0 0 -0.000405403 -0.00254036 0 0.00489559 -0.00659132 0.000231366 -0.114867 0.00140856 -0.00505874 0 0.00362763 0.00226771 -0.0275509 -0.000677327 0.00938483 0 0 0 0.39921 0.00505566 0.0328879 0.00870623 -0.00733075 0.0120983 -0.000346179 0.000503934 -0.000538549 0.00151309 0 0 0 0 0 0 -0.0927468 0 -0.210362 0 0 0 0 0.0208906 0.777007 0 0 0.195264 0 -0.00342013 0 0.014222 0 0 -0.715323 0 -0.396098 0.0813286 0.00727483 -0.0802375 0 0 0.277966 0 -2.40511 0 1.01938 -0.377053 0 0.402126 -0.657419 -0.00615676 0 0.017134 0 0 0.0586144 0 -0.788911 -1.83653 0 0 -0.209071 0 0 -0.834169 0.278153 -0.101761 0 -1.10364 0 -0.903375 0.244685 -0.0967762 0.0754676 -0.108367 0.62228 0.691586 0.0838483 0.44108 1.96775 0.155095 0 0 0 0.267562 -0.0260579 0 0 0 0 -0.0814612 -18.5886 -1.52901 -3.02868 -0.586681 0.516667 -1.49634 0.0559272 -0.0525975 -0.0375907 -0.288037 0 0 0 0 0 0 -392 0 0.435763 -0.194955 -0.00012328 0.00768963 -0.107424 -0.136581 0.698094 -0.0110405 -0.0013247 0.341425 0.0270961 -0.605889 1.72613e-07 0.126752 -0.000119889 -1.43968 -2.95063 0.0904482 0.000133096 1.09721 0.0136157 0.261799 -2.38551e-07 0.0993508 0.0950617 -0.719296 0.00798535 0.597012 1.30451 -0.219896 -1.79806e-05 -0.000305693 -0.240737 0.0304892 0.28704 0.000320162 0.09737 -3.54254 0.0365838 0.0151173 1.20177e-05 0.255295 0.000484682 -0.617131 0.000793207 -0.390995 0.852877 0.0231994 -0.000768397 1.59245 0.190498 2.27379 -0.000211954 -0.000511076 -0.00852543 1.89699 -0.0408436 -0.00818287 -0.149063 -1.74888e-05 -2.69093 -0.257144 0.309331 1.51217 -0.0950473 -1.19207 -0.462134 0.0935403 2.18492e-05 -0.500342 0.0487683 -0.0272093 -0.105601 0.406054 -0.00540843 -0.331159 14.8825 -1.18588 4.74487 0.440013 -1.13623 2.70223 -0.14476 0.0686466 -0.483262 -0.140308 -1.02571e-06 -3.99622e-05 -0.00139571 -0.0522924 -1.81652 0 0 0 0 0 -0.00012328 0.00768963 0.00015538 0 0 0 0 3.27956e-06 0 0.000831048 0 0 1.63548e-05 7.85103e-06 1.30499e-06 0 4.42449e-07 3.23039e-05 0.00602351 0 0 -0.00676777 5.51079e-07 0 -0.000135206 0.049719 0 0 -0.00153438 0.00688283 0 -0.00694313 0 -9.54722e-05 0 0 -8.28095e-06 0 0 -0.0186223 4.6753e-05 0.000232128 0 0.00221844 -0.000913879 0 0 -0.00782133 0 0.000340778 -0.0132698 -0.000373703 0 0 -4.23126e-05 -0.000263095 0 0.000673 -0.000874544 3.80343e-06 -0.0375021 -0.000585994 0.00215 0 0.000332147 -0.000313304 -0.00489205 0.000615318 0.00218423 0 0 0 0.0306499 -0.00146477 -0.00327789 0.00116061 -0.00134738 0.00377781 -2.25696e-05 2.54118e-05 -2.77173e-05 -0.00284493 0 0 0 0 0 0 -0.107424 0 -0.136581 0 0 0 0 -0.183859 -0.538936 0 0 -0.311403 0 -0.025905 0 -0.0119814 0 0 0.517313 0 0.434593 -0.0851843 -0.115526 0.0363967 0 0 -0.230973 0 1.00095 0 -4.4497 0.11641 0 -0.480463 -0.714818 -0.00500514 0 -0.0299802 0 0 -0.0321998 0 0.77258 0.798653 0 0 0.0536137 0 0 0.525419 2.82938 0.326653 0 -0.345692 0 1.17339 -0.0962945 0.0402637 -0.273392 0.0659227 0.426448 -0.165226 -0.0643948 0.485973 -0.668006 -0.0869426 0 0 0 -0.148584 0.0283136 0 0 0 0 0.075268 35.6522 1.09883 7.37825 0.456481 -0.441518 2.73775 0.125928 -0.101499 0.102757 0.329644 0 0 0 0 0 0 -393 0 -1.00405 -0.281106 -0.000564715 -0.0300412 -0.197126 -0.0453378 -0.836388 -0.916037 -0.00194087 0.330202 0.00359255 -0.153758 4.53953e-07 -1.61774 5.23702e-05 -0.502335 -1.82327 0.0292255 0.000555989 1.59208 0.00202816 0.0368287 -5.81218e-07 0.0179658 -0.169656 -0.0781386 0.00414384 -0.0428382 -0.688971 -0.18265 -3.5006e-05 0.00247478 0.515297 0.0412648 -0.190015 0.000183327 0.0541715 3.56099 0.011159 0.732273 2.77631e-05 0.406307 0.000417683 -2.02377 0.00156209 0.351983 -0.221959 0.0228748 -0.000605618 -0.838226 0.203501 -0.976489 -0.000474223 0.000729136 0.00262809 -1.9959 0.22383 0.0332757 -0.0757262 -2.73802e-05 0.277945 -3.00675 -1.93526 -1.93094 -0.434184 -0.15352 0.231239 0.230035 2.85592e-05 -0.120624 0.240289 -0.000504841 -0.0897395 -0.748289 -0.29155 0.0815389 -9.2909 -0.387028 -2.52419 0.0324153 0.150884 -4.24938 -0.247436 0.488483 -0.913145 1.23648 -2.01997e-06 -3.9332e-05 -0.000642136 0.00639601 0.959389 0 0 0 0 0 -0.000564715 -0.0300412 0.000407683 0 0 0 0 9.4192e-06 0 -0.000807344 0 0 5.24708e-06 1.77025e-05 -7.60075e-05 0 -1.77843e-05 -0.000246511 -0.0040291 0 0 -0.00430963 1.2428e-06 0 -0.000258463 -0.00793919 0 0 0.00109713 -0.00886826 0 -0.00656327 0 -5.38736e-05 0 0 2.03797e-05 0 0 -0.0528971 0.000134334 7.2564e-05 0 0.00583851 -0.00411663 0 0 -0.0079132 0 0.00101723 -0.00300555 -0.00120534 0 0 -0.000112141 -0.000612655 0 0.00250634 -0.00528079 0.000137679 0.0199318 -0.00238511 -0.0036094 0 0.00303728 0.00175298 0.000527344 0.00241212 0.000681545 0 0 0 0.0807495 -0.0051873 0.0104318 0.00462636 -0.0053935 0.00589391 -2.97856e-05 2.78894e-05 -3.40138e-07 0.00120913 0 0 0 0 0 0 -0.197126 0 -0.0453378 0 0 0 0 0.0850888 0.427152 0 0 0.299572 0 0.035625 0 0.0133871 0 0 -0.580136 0 0.130958 -0.00833405 0.0906287 -0.101157 0 0 0.141377 0 -2.97064 0 5.71367 -0.366113 0 0.308023 1.31999 0.00841374 0 -0.00406713 0 0 0.0548238 0 -1.07475 -1.18161 0 0 -0.200347 0 0 -0.367764 -2.69229 0.238088 0 -1.22295 0 -0.879087 0.128634 -0.172802 -0.549139 -0.0726638 0.404177 0.289057 0.0771886 0.0940755 -3.93124 0.168271 0 0 0 0.113337 -0.103081 0 0 0 0 -0.084552 -26.3733 -2.67774 -1.08037 -0.925635 0.760247 -2.35005 -0.183795 0.136342 -0.156638 -0.0421412 0 0 0 0 0 0 -394 0 -1.01838 -0.143099 -0.00150383 -0.0831842 -0.185889 -0.20231 -0.0191326 0.480255 -0.00694655 -0.277569 0.0413815 -0.639561 1.28073e-06 -1.66119 8.75392e-07 -1.19754 -4.99669 -0.0447321 0.00158312 -3.20992 -0.00652972 -0.0643242 -1.63518e-06 -0.0958898 0.328643 -0.274379 0.00277024 0.309344 -0.981453 -0.363896 -0.000108151 0.00782404 0.0567406 0.0838992 0.136766 0.000730129 0.0613068 1.33538 0.0715874 -1.4679 8.67229e-05 0.528586 0.00138207 -3.56732 0.00570475 -0.7352 0.00880269 0.102591 -0.00252627 -1.66943 -0.030614 3.28908 -0.00153359 0.00155107 -0.000479603 1.00049 -0.111515 0.0545401 0.083413 -0.000101985 0.12339 1.40279 -0.95237 -1.59429 -0.0743177 -0.256252 0.558183 0.101425 0.000105874 0.239475 0.0498572 -0.0217903 -0.170743 1.76826 -0.716484 -0.482729 -6.34402 0.909889 -2.28769 0.778435 -0.211046 -0.908477 0.650492 -0.64908 0.615094 -1.01055 -7.37694e-06 -0.000163577 -0.00333735 -0.0296636 1.36667 0 0 0 0 0 -0.00150383 -0.0831842 0.00156581 0 0 0 0 2.49999e-05 0 -0.00382757 0 0 0.000492652 0.000108509 -0.000262217 0 -5.76947e-05 -0.000498044 -0.01722 0 0 0.00322788 7.60909e-06 0 -0.000700963 0.074453 0 0 0.00349733 -0.00655173 0 -0.0146591 0 5.15452e-05 0 0 7.43331e-05 0 0 -0.119497 0.000355843 0.00704093 0 0.0221819 -0.00402318 0 0 -0.0374526 0 0.00236124 -0.00958113 -0.00209662 0 0 -0.000520343 -0.00308922 0 0.00731158 -0.00220911 -0.000744024 -0.0662815 -0.00427297 -0.00645854 0 0.00697385 0.000780381 -0.00654601 -0.00187991 8.84073e-05 0 0 0 0.206694 -0.0190356 0.0352827 0.0117167 -0.0131368 0.0145708 -0.000512781 0.000620038 -0.000903639 0.00170782 0 0 0 0 0 0 -0.185889 0 -0.20231 0 0 0 0 0.148198 0.524114 0 0 0.156561 0 -0.00481871 0 0.00908092 0 0 -0.766552 0 -0.108996 0.0982314 0.0483378 -0.0725233 0 0 0.231952 0 -8.2909 0 2.92113 -1.09727 0 0.679752 0.286899 -0.000981147 0 0.0163505 0 0 0.0258287 0 -2.88451 -1.77576 0 0 -0.169618 0 0 -0.486078 -1.34611 -0.172566 0 0.720827 0 -1.32936 0.160814 -0.0721712 0.367373 -0.229106 -0.0634592 0.520599 0.117472 -0.147835 5.49432 0.158304 0 0 0 0.193475 -0.0200997 0 0 0 0 -0.0717347 -23.6791 -0.771564 -4.82104 -0.628017 0.51852 -1.71666 0.0557702 -0.0600169 -0.0405442 -0.333515 0 0 0 0 0 0 -395 0 0 0 0 0 -0.206969 0.138937 -0.502735 -0.96387 0 0 0.190686 0.973854 0 1.22732 0.035152 0 0 0 0.109323 3.64768 0 0 0 0 -0.239459 0 0 -0.278306 -3.82105 0.336074 0 0.241847 0 0 -0.0879463 0.0127807 0 0 0.817269 0.256681 0 0 0.15628 4.77613 0 -0.0666899 -1.10358 0.414551 -0.239789 0.99416 -0.340594 0 -0.149531 0.230963 -0.34508 -0.151509 -0.147591 -0.128798 0 0 -0.164433 2.93725 0 -0.54497 -0.288299 -0.162632 0 0 0 0 0.256452 0.354416 0 -0.0956857 1.4465 0 0 0 1.04452 0 -1.29509 4.47858 0 -0.337738 -1.04067 5.31546 0 -0.41962 -0.753433 0.0662634 6.85696 0 0 0 -0.209097 -0.020967 0 0 0 0.0577037 0.00514182 0 0.00721379 0 4.5702e-05 -0.00946209 0 0 0 0 -0.08845 0 -0.00910756 0 -0.0813314 0 0.437194 0.326393 0 0.00348991 0 0 0.260547 0.000261728 0.0320971 0 7.90896e-05 0 0.000198369 0.0607033 0.0307974 0.00406784 0.00605969 0 2.89394e-06 0 0 0 3.35668e-06 0 0 -0.000397272 -0.000318108 0.0441112 0.00136026 0 0 9.11161e-05 0 -0.000853807 0 0 1.97167e-05 0.00126217 0.191154 0.00224893 0 0 -0.0248713 0.0618904 0.00187871 0.20344 0.228399 0 -0.128055 0.000198261 0.17542 0 0 0 0.0738957 0 -0.00401141 -0.247648 0 0.000205712 -0.000503671 0.00121434 0 -0.000248114 0.000210154 -0.000800353 -0.216558 0 -0.206969 -0.209097 0.138937 -0.020967 0.503763 0.135864 -0.146173 0.0985813 -0.384482 0.0101163 0.00714261 -0.188398 0.000727123 -0.0230455 -0.0121883 -0.00306476 0.000275877 0.131935 -0.262531 0.82422 0.114321 -0.0180553 -0.124809 -0.000731524 0.0201345 -0.122621 0.0151456 -0.00308796 0.241781 0.0969145 -0.443921 0.680764 -0.00092047 -0.389496 0.0740027 -0.0125023 0.000469252 0.033289 0.0165361 -0.994354 -0.0381286 -0.011012 1.04026 0.731515 0.000359872 0.00668236 0.159848 0.0569386 -0.0535241 -0.951504 -2.32351 -0.192849 -0.00351447 -4.64502 0.0199572 -0.702524 -0.0792785 -0.13045 0.22636 -0.380993 -1.63547 -0.00473846 0.0880084 0.0254772 -12.4508 0.0793314 -0.00388385 0.0858503 0.101133 -0.146678 0.0490062 0.0260955 -0.0207039 0.0335031 -0.110664 0.0628377 3.95847 0.748009 0.26607 -0.564695 -0.0928531 2.4863 0.0373242 -0.0682229 -0.454532 1.46299 -0.013992 -0.0205516 -0.119125 -0.0678504 1.29465 0 -396 0 0 0 0 0 -0.102809 -0.178262 1.11301 2.6775 0 0 -0.125795 -0.663817 0 -1.99147 0.00482634 0 0 0 -0.00366031 -4.13782 0 0 0 0 0.542363 0 0 0.347348 5.97667 -0.444224 0 0.0170485 0 0 0.205816 -0.00461531 0 0 -0.367765 -1.07223 0 0 -0.00619684 -4.16025 0 -0.414405 1.81309 -0.133844 0.0187306 0.677573 0.209665 0 -0.0427482 -0.140423 0.394616 -1.79324 -0.252459 -0.0500321 0 0 1.31058 0.265076 0 1.216 -0.206152 0.470514 0 0 0 0 0.204831 0.177559 0 0.867552 -1.55371 0 0 0 -3.94574 0 0.560626 -8.69637 0 0.0962347 -0.586537 -5.22433 0 0.12233 -1.10351 2.75284 -15.7673 0 0 0 0.0235389 0.00177376 0 0 0 -0.0100551 -0.00153992 0 -0.00100186 0 -7.62842e-07 0.00367411 0 0 0 0 0.0134219 0 0.00101631 0 0.0589449 0 -0.10317 -0.117807 0 4.39336e-05 0 0 0.0121782 -1.97808e-05 -0.0076444 0 -1.53708e-05 0 -9.59066e-05 -0.0121751 0.00114027 -0.000334159 -0.000812032 0 -3.45715e-08 0 0 0 -9.1906e-07 0 0 2.53536e-05 -0.000116392 0.0201446 0.000422988 0 0 0.000115756 0 0.000190997 0 0 -3.31164e-05 -4.97975e-05 -0.0943459 -0.000130415 0 0 -0.00876596 -0.0267689 -0.000238547 -0.0401737 -0.0714869 0 0.0161005 -2.84494e-05 -0.0795019 0 0 0 -0.0489261 0 0.00101041 -0.00853148 0 8.33496e-05 0.000379663 -0.0268263 0 6.14811e-06 -7.39987e-06 0.000116541 -0.0114045 0 -0.102809 0.0235389 -0.178262 0.00177376 -0.310145 -0.156491 0.0123466 -0.332943 0.418933 -0.000773847 -0.0325729 0.236666 -5.87127e-05 0.0148568 0.00101056 0.0161349 -0.0232022 -0.00932445 0.394567 0.28146 -0.483588 0.228799 0.176768 0.0324381 -0.23007 0.379929 0.272563 0.0108551 3.08218 -0.187081 -1.59537 0.243882 7.59627e-05 0.296346 -0.946818 0.010641 -0.00258919 0.00301936 -0.0263611 1.94627 0.0256683 0.0682269 1.1917 1.16208 -0.00339293 -0.017052 0.204159 0.0662053 -0.167405 0.494577 2.9749 1.51044 0.0284389 3.02194 -0.0016254 1.5781 0.046371 -0.375301 0.223572 -0.0916117 1.37485 -0.246849 0.1249 0.351066 12.3775 0.163292 0.427511 -0.0731699 -0.259227 0.0337798 -0.0292386 0.0786462 0.00148857 -0.160771 0.103861 -0.0413267 14.2261 -1.38571 2.35947 0.12617 0.654559 -6.54984 -0.0144814 0.223557 -0.618035 -1.44059 0.000988883 0.0940454 -0.322462 0.668691 -2.86103 0 -397 0 0 0 0 0 -0.389912 -0.555887 0.574155 2.36299 0 0 -0.289972 -1.70821 0 -3.35029 -0.0127614 0 0 0 0.112484 -6.87111 0 0 0 0 0.516601 0 0 0.805633 4.95195 -0.861207 0 0.0175532 0 0 0.348999 -0.0378089 0 0 -0.846174 -2.55868 0 0 -0.234414 -6.9519 0 -1.24703 1.56647 0.665653 0.31254 -1.36167 0.0590486 0 -0.150549 -0.106157 0.237775 4.62277 -0.102403 -0.364743 0 0 0.554175 4.87928 0 0.957958 0.646136 0.433125 0 0 0 0 -0.00586437 -0.583081 0 5.12668 -0.784562 0 0 0 -3.55488 0 0.666793 -6.08201 0 0.434854 -1.43327 -2.3147 0 0.873054 -2.50985 5.14313 -16.4262 0 0 0 -0.0322727 0.00455319 0 0 0 -0.0198791 0.0205666 0 -0.00181603 0 -1.80868e-05 0.0029076 0 0 0 0 0.00379149 0 0.00175386 0 0.0296813 0 -0.195381 0.10679 0 -0.00044953 0 0 -0.0172241 -0.000222366 0.00168017 0 0.000259234 0 0.00113917 0.0333324 -0.000109214 -0.00245641 0.00150932 0 -1.89516e-06 0 0 0 1.40882e-05 0 0 0.00118767 0.000609755 0.0191506 -0.00336839 0 0 -0.000336939 0 -0.00295449 0 0 0.00209118 -0.00171852 -0.081727 -0.000601698 0 0 -0.00803298 -0.0240762 0.00448635 -0.0248338 -0.0969364 0 -0.000801563 -0.00183973 -0.0478395 0 0 0 -0.0393776 0 0.000184189 0.0124084 0 -0.00068264 4.99299e-05 -0.00696113 0 0.000451274 -0.00057513 0.000839242 0.0224615 0 -0.389912 -0.0322727 -0.555887 0.00455319 -0.377425 -0.128632 0.0494678 0.211547 -0.0575194 -0.00290361 0.0627307 0.0910335 -0.000197016 0.00102346 0.0037132 -0.009996 0.0408001 -0.0389589 -1.15543 -2.09716 -0.308081 0.27975 0.0502259 -0.157524 0.52027 0.287137 -0.18542 -0.0363429 -6.07726 -0.230572 -1.6264 -1.97728 0.000257545 1.29925 -0.717833 0.000652292 -0.0132871 0.0984963 -0.0891604 1.62357 -0.00191676 0.0445994 -4.22162 -2.30188 0.00337439 -0.04728 -0.345905 -0.276378 0.19052 1.2949 5.20248 0.556819 -0.143222 4.55663 -0.00793624 4.00264 0.00472428 0.40763 -0.409092 0.431185 0.3266 -0.547085 0.0086532 -0.155555 21.8215 -0.131694 -0.298455 -0.101313 -0.282121 -0.370728 0.00376137 0.0139169 0.00715006 0.0886324 0.20757 0.00857172 14.5027 -0.742832 -2.83935 0.259941 0.22485 -3.67057 -0.0128986 0.322965 -0.746681 -1.04008 0.00413169 0.320072 -0.793582 1.04687 -2.47773 0 -398 0 -0.409091 0.49951 -0.0265395 -0.250865 0.326582 0.23311 0.185582 -0.530555 -0.125737 0.606038 -0.147242 0.738132 0.00104024 0.189845 0.00558225 4.00916 13.3403 0.0485994 0.0141173 1.07198 -0.00385952 -0.328618 -0.00115176 0.0786258 -0.180055 1.2399 0.0229462 -0.229152 0.638769 0.166694 -0.0125187 -0.0196419 -0.500297 0.0278959 -0.0613897 -0.0129023 0.104844 -0.469679 -0.367751 0.913703 0.0128273 0.113738 -0.0351155 1.7729 0.150595 0.75047 0.0615642 -0.00279337 0.065282 0.0187918 0.11132 -8.10712 -0.0278313 -0.00698505 -0.0134095 -0.714436 0.0941808 -0.015375 -0.0626749 -0.0186633 -0.893777 -0.439352 -0.0108704 0.849487 -0.357137 0.457533 -0.237824 0.281723 0.00798588 -0.211414 -0.264578 -0.165467 -0.211973 1.10568 0.283322 -0.106539 0.664158 -2.57218 2.84027 -1.06638 0.785045 -0.244771 -0.258142 0.0218447 -0.248106 -0.0732743 -0.0234055 0.0693416 -0.203041 0.54751 -1.30135 0 0 0 0 0 -0.0265395 -0.250865 0.000887263 0 0 0 0 5.21642e-05 0 0.023469 0 0 0.000547564 0.000197889 0.0178699 0 0.00261524 0.0244172 0.158369 0 0 0.167565 1.09243e-05 0 -0.0219613 0.838902 0 0 0.0259767 0.150798 0 -0.102101 0 0.0219854 0 0 0.00324904 0 0 -0.066394 0.00105136 0.00904396 0 0.0187372 -0.0024894 0 0 -0.1299 0 -0.000292136 -0.13827 0.000375548 0 0 -0.000677016 -0.00275091 0 0.000541008 0.043003 0.00259346 0.38708 0.00194637 0.0330712 0 0.00172648 -0.0453257 0.0877927 0.0119654 0.141945 0 0 0 -0.0221421 -0.022763 -0.152753 -0.00147973 -7.67695e-05 0.0352676 -0.000520808 0.000542585 -0.00208314 -0.0641473 0 0 0 0 0 0 0.326582 0 0.23311 0 0 0 0 -0.537918 -0.163719 0 0 0.661965 0 0.0630593 0 -0.00289978 0 0 0.0981057 0 -1.18003 -0.169539 0.159949 0.00707869 0 0 -0.121553 0 0.994662 0 -2.60959 0.0934409 0 -1.3156 -1.85372 0.0140089 0 -0.0713357 0 0 -0.00120638 0 0.0171888 0.336177 0 0 0.0119451 0 0 0.147847 1.38281 0.467273 0 1.22375 0 1.00936 0.253681 -0.237342 -0.011202 0.0218155 -0.386729 -0.271674 0.0791939 0.41763 10.0198 -0.074878 0 0 0 -0.0179644 -0.0328035 0 0 0 0 0.032233 19.5768 -4.97924 11.0672 -0.796004 0.409125 1.55945 -0.262717 0.247205 -0.396748 0.887934 0 0 0 0 0 0 -399 0 -0.3779 -0.228949 0.00616345 0.0805893 -0.0949238 -0.0145801 0.0410366 0.733263 0.03079 -0.251581 0.147248 -0.382729 -0.000215113 -0.558595 0.00290564 -0.0186543 -4.21869 0.0156476 0.0042051 0.134799 -0.00307805 -0.156802 0.000236833 -0.02904 -0.081084 0.125991 0.00356435 -0.435372 -1.52674 -0.0968954 0.00269898 0.120709 0.292396 0.145162 -0.218778 0.00775258 -0.0637178 1.90119 0.223376 0.21629 -0.00253821 0.17308 0.0137294 -2.65501 -0.0296765 0.210047 -0.804425 0.175741 -0.0158951 -2.07869 0.0818861 -3.40954 0.035384 0.0262696 -0.070711 1.47003 0.121651 -0.129506 0.0616655 0.00279477 -0.550812 0.172651 1.17414 -0.339868 0.588418 -0.687523 -0.0833199 -0.251527 -0.000863839 0.593205 0.165971 0.0430316 0.0911152 0.365262 0.136996 -0.399276 -7.51836 -0.39074 -2.54705 -0.370132 -0.266394 0.507948 0.295063 -0.4061 0.639019 -1.2678 0.00461232 -0.0253915 0.148873 -0.640804 3.11039 0 0 0 0 0 0.00616345 0.0805893 -0.000450685 0 0 0 0 -1.79555e-05 0 -0.00454638 0 0 -0.000154719 -7.5928e-05 -0.00282214 0 -0.000397917 -0.00664539 -0.0290248 0 0 -0.09757 -4.46855e-06 0 0.00607181 -0.497484 0 0 -0.0133408 -0.0637943 0 0.0306421 0 -0.00833271 0 0 -0.00115505 0 0 0.111483 -0.000358108 -0.00261107 0 -0.00852986 -0.00192413 0 0 0.0353258 0 -0.000228174 0.0754393 0.000535544 0 0 0.000137071 0.00119746 0 -0.00115518 -0.0389705 0.00224919 -0.487338 -0.000618363 -0.0176833 0 -1.13564e-05 -0.00457901 -0.139325 -0.00670281 -0.0669 0 0 0 0.278368 0.0394653 0.075385 0.00267278 0.00256565 -0.058388 3.68516e-05 0.000318436 -0.00116435 0.00925112 0 0 0 0 0 0 -0.0949238 0 -0.0145801 0 0 0 0 0.468504 -0.150166 0 0 -0.418958 0 -0.0368979 0 -0.00716088 0 0 -0.734621 0 -0.149046 0.167161 -0.149517 -0.0918444 0 0 -0.0289347 0 -6.38946 0 1.18293 -0.330842 0 1.09456 0.248372 -0.0121333 0 0.0681652 0 0 -0.0216794 0 -1.63332 -1.93134 0 0 -0.256916 0 0 0.349972 1.16397 -0.576319 0 -0.399854 0 0.123518 -0.0974966 0.198958 0.124168 0.0436275 -0.440599 0.0494041 -0.131474 -0.276494 -1.94284 -0.0772594 0 0 0 -0.250645 0.108268 0 0 0 0 0.0933742 -4.95789 2.20276 -5.72324 0.0454336 -0.0646977 -0.337682 0.136648 -0.1746 0.345259 -0.806428 0 0 0 0 0 0 -400 0 -0.794587 -0.1544 0.00440279 -0.109567 0.0972266 0.134655 0.376573 0.96787 0.0814954 -0.725169 0.0781497 0.0687158 -0.00050007 0.155675 -0.0118201 0.360522 0.537022 -0.19114 -0.0156148 1.52087 -0.0413962 0.141423 0.000741664 -0.279329 0.0746662 0.159534 -0.0171471 -0.460964 -0.766158 0.173824 0.00842552 -0.171208 0.452533 0.0253403 -0.0861767 0.00760739 -0.0150174 2.16837 0.178131 1.03861 -0.00577518 0.641255 0.0199956 -1.13494 -0.0481686 0.571949 -0.515113 -0.211397 -0.0785652 -0.112902 -0.175813 -4.04527 0.0182843 -0.0262134 0.031107 -2.13028 -0.172845 0.140646 0.268701 0.0183706 -0.160157 -1.74794 1.502 -0.0200179 0.185481 -0.253616 0.0637612 -0.148126 -0.0234733 0.489169 -0.080583 0.252771 -0.0128817 -0.428171 0.136696 0.182473 -5.4921 1.09968 -3.12084 0.548244 -0.988224 0.600134 0.916285 -1.14174 1.65476 -2.29773 0.00748636 -0.026881 0.108604 -0.388838 1.56087 0 0 0 0 0 0.00440279 -0.109567 0.00248331 0 0 0 0 0.000115874 0 -0.000419159 0 0 0.00016357 0.000312809 -0.00753716 0 -0.000796352 -0.00837291 -0.0506608 0 0 -0.290384 1.41686e-05 0 0.00950947 -0.129964 0 0 -0.0387315 -0.0472552 0 0.0353603 0 -0.0201718 0 0 -0.00287687 0 0 0.203203 0.00229425 0.00594039 0 0.048103 -0.00916299 0 0 0.0756441 0 0.000554801 0.103166 -0.0014923 0 0 0.00104397 -0.00719187 0 -0.0017833 -0.0211467 -0.000512326 -0.747375 -0.00311179 -0.0143167 0 0.00118349 0.0229864 -0.218066 0.0236307 -0.0552099 0 0 0 -0.899158 -0.0574011 0.0170238 -0.0028613 -0.00331667 -0.0433158 0.000338035 -0.000641629 -0.00283815 0.0278166 0 0 0 0 0 0 0.0972266 0 0.134655 0 0 0 0 0.294992 0.711811 0 0 -0.256872 0 -0.047328 0 0.0108355 0 0 0.314505 0 0.107918 0.0572375 -0.24558 0.0374882 0 0 0.161664 0 5.72527 0 2.80508 1.23019 0 0.524632 0.552533 -0.0276722 0 0.025113 0 0 0.0628789 0 2.84369 -0.137368 0 0 -0.021326 0 0 -0.347007 -1.76238 -0.0569088 0 -1.16056 0 -1.27315 0.0529459 -0.0776874 0.175166 -0.142071 0.312931 0.64141 0.00422104 -0.450965 -10.6617 0.149564 0 0 0 0.165635 0.0155648 0 0 0 0 -0.206906 -23.8979 0.695189 -5.27717 -0.418663 0.581531 -2.17403 0.17518 -0.167944 0.193919 -0.412428 0 0 0 0 0 0 -401 0 0.713939 -0.0394151 0.000386315 -0.0576316 0.157569 -0.136752 -0.131715 -0.440663 0.00465292 -0.268624 0.026544 -0.676195 -1.70017e-05 -0.511192 -0.00257244 -1.17482 0.11401 -0.064879 -0.00549888 -0.777487 -0.00926832 0.277755 1.36337e-05 -0.0454575 0.201107 -0.533154 -0.0139554 0.495305 0.825494 -0.371127 0.000323372 -0.106373 -0.0946399 -0.0446533 0.204967 0.000972984 -0.00428387 -2.30815 -0.0083574 -0.842063 -0.000468534 -0.0576103 0.000258634 -0.012024 -0.0108683 -0.750867 0.534108 -0.188415 -0.00181544 0.0617981 -0.189516 2.41656 0.00957295 -0.00139283 -0.0203113 -0.624478 -0.0777442 0.032154 0.0841007 0.00101207 0.397669 0.368215 -0.677641 0.0163758 0.169626 0.467252 0.0524306 0.00666503 -0.000614119 -0.161379 -0.204482 0.0250518 0.00609525 0.0697368 -0.156954 0.208939 6.13885 -0.569769 3.95168 -0.167543 -0.0845016 2.66775 0.0601523 -0.273606 0.609019 0.287988 0.000116729 -0.000155047 -5.66304e-05 0.0185507 -0.664815 0 0 0 0 0 0.000386315 -0.0576316 -0.000369281 0 0 0 0 -2.93546e-05 0 0.00724873 0 0 0.000504991 0.000273004 0.00100731 0 0.000114982 0.00149951 0.0499518 0 0 0.116205 1.88933e-05 0 -0.000661096 0.24975 0 0 0.0157863 0.0339594 0 -0.0255726 0 0.00405662 0 0 0.000502305 0 0 0.00693795 -0.000402176 0.00774367 0 -0.00315861 0.00817346 0 0 -0.0414475 0 -0.00141978 -0.0498543 0.00209985 0 0 -0.000788086 0.000194946 0 -0.00179072 0.0394709 0.00122282 0.279551 0.00711702 0.018113 0 -0.00365462 -0.00878213 0.060731 0.0018746 0.0595895 0 0 0 -0.122761 -0.0110078 -0.0564684 -0.0068428 0.00628159 0.0254032 -0.000527766 0.000513001 -0.000915445 -0.0202983 0 0 0 0 0 0 0.157569 0 -0.136752 0 0 0 0 0.058406 0.409639 0 0 0.0496839 0 -0.00572969 0 0.00412288 0 0 0.159868 0 0.736383 -0.0531342 -0.0621127 0.00322033 0 0 0.0806375 0 3.38195 0 -0.837409 -0.519037 0 -0.323359 0.656229 -0.00819985 0 0.000173841 0 0 0.0307584 0 -0.317773 0.785046 0 0 0.0602092 0 0 0.0314282 -0.524758 0.0885225 0 0.0416367 0 -0.256234 -0.0266487 0.0271564 0.0753029 0.0413925 0.581767 0.11757 0.00512909 -0.524359 -6.02713 0.0288598 0 0 0 0.0926248 -0.0217151 0 0 0 0 -0.120411 -8.02844 -0.450451 -0.565941 0.191376 -0.0316044 -0.162794 0.0791999 -0.0708374 0.012392 0.176591 0 0 0 0 0 0 -402 0 -0.423442 -0.205751 0.000134275 0.0139073 -0.195681 -0.130158 0.294874 1.37677 -0.000321506 -0.265593 -0.0180842 0.549431 -5.49354e-07 1.95023 -0.00199018 0.052994 0.475871 -0.053942 -0.00280134 2.36667 -0.000861194 0.274175 4.88116e-07 -0.0148586 0.39979 -0.0275661 0.00139938 0.229515 -0.422997 0.401522 5.93841e-06 -0.0862809 0.622813 -0.05529 0.214945 -0.000693954 -0.0240934 2.66014 -0.0243955 0.88902 -3.30432e-05 -0.363597 -0.00102573 2.80184 -0.0019028 0.138753 0.00582824 -0.124839 0.00189169 -1.95038 0.0380432 -4.33359 0.00225516 -0.00133733 -0.00936992 -0.908337 0.000249336 0.059624 0.0200519 4.57873e-05 0.411392 -1.59532 -0.728926 -2.17826 0.474554 -0.483317 0.182271 -0.175786 3.86688e-05 0.223132 -0.0802651 -0.0381251 -0.00680176 -2.00966 -0.016489 -0.059527 -7.98584 0.747939 -4.45463 -0.262337 0.379154 -2.10743 0.137273 -0.22649 0.639573 -2.51583 2.04367e-05 9.60054e-05 0.00303778 0.0020423 0.340662 0 0 0 0 0 0.000134275 0.0139073 -0.000500693 0 0 0 0 -1.24038e-05 0 0.000649376 0 0 -0.000399752 -0.000133846 0.000179758 0 2.1618e-05 -0.000355347 0.00589972 0 0 0.00746042 -9.30267e-06 0 0.000181014 -0.0203814 0 0 0.000729547 -0.0072899 0 0.00293805 0 0.000255388 0 0 2.67459e-05 0 0 0.00550603 -0.000178106 -0.00594751 0 -0.00743363 0.000700778 0 0 0.00175603 0 -0.00104986 -0.0129054 0.000653976 0 0 0.00081581 0.000827484 0 -0.00224788 -0.00479179 -0.000864029 -0.00991997 -0.00170193 0.00104157 0 -0.000646961 -0.00231061 0.0021887 -0.000795511 -0.00487185 0 0 0 0.136592 0.0186849 0.00954306 -0.000286484 0.00207058 -0.00441067 0.000480376 -0.000453045 0.000686148 -0.00135421 0 0 0 0 0 0 -0.195681 0 -0.130158 0 0 0 0 0.686197 -0.657021 0 0 -0.308119 0 -0.0239605 0 -0.0172575 0 0 0.537806 0 0.846954 0.230584 -0.113724 0.0848315 0 0 -0.28182 0 4.72398 0 4.34367 0.464092 0 1.59092 1.83578 -0.00757228 0 0.0965186 0 0 -0.0472328 0 1.4558 1.12279 0 0 0.159417 0 0 -0.216128 -2.22308 -1.09611 0 -2.38838 0 -1.26581 -0.174478 0.330045 -0.0575367 0.00735397 -0.0928408 0.178355 -0.102116 -0.291579 -11.159 -0.01418 0 0 0 -0.119496 0.0579531 0 0 0 0 0.0331591 -31.8592 2.25221 -11.3892 -0.0799396 0.365627 -2.49594 0.10465 -0.144268 0.284474 -1.11272 0 0 0 0 0 0 -403 0 -0.538312 -0.329146 -0.00548801 -0.145442 0.0625674 0.129067 0.350701 0.946747 -0.0340772 -0.654875 -0.0944315 0.512542 3.28255e-05 1.57098 -0.00376869 -0.425505 0.135873 -0.253751 -0.00178126 2.88326 -0.0378907 0.132358 -4.43297e-05 -0.180067 0.0667811 -0.275985 -0.0127386 -0.279673 0.0704116 0.261601 -0.00128944 -0.074312 0.250707 -0.157149 -0.117473 -0.00335214 0.0450088 1.56185 -0.121714 1.60574 0.000985406 0.0497799 -0.00353928 2.50912 0.0299381 0.789863 -0.0492502 -0.0206635 0.00607878 -0.0241976 -0.181665 -2.52091 0.00267692 -0.000730562 0.0296843 -3.38629 -0.291617 -0.0453205 0.166144 -0.0015354 1.11619 -2.29179 1.39809 -0.619821 0.212605 0.00864193 0.755256 -0.160043 0.00167694 0.102751 0.112582 -0.0141891 -0.0624717 -2.81678 0.0967042 -0.520025 -5.62064 1.60826 -4.72599 0.905057 -1.07378 -0.222501 0.856593 -0.98074 1.4233 -2.28173 -0.000321546 0.00120435 -0.0124335 0.0503065 -0.0567062 0 0 0 0 0 -0.00548801 -0.145442 0.00213318 0 0 0 0 7.76291e-05 0 0.00361331 0 0 -0.000911609 -0.000668416 -4.92678e-05 0 0.000133432 0.000242263 -0.00452846 0 0 -0.195541 -4.72696e-05 0 -0.00175886 0.0196065 0 0 -0.0229681 -0.00168849 0 -0.0159936 0 -0.00701081 0 0 -0.000799685 0 0 -0.0230075 0.00112761 -0.0122026 0 0.0332003 -0.0136786 0 0 0.0246943 0 0.00348766 0.0278611 -0.00479987 0 0 0.00218018 -0.0042476 0 0.00102124 -0.0320933 -0.00495543 -0.196002 -0.00960958 -0.00142652 0 0.00379566 0.00881188 -0.0380216 0.00849549 -0.0104964 0 0 0 -0.18201 -0.017487 -0.00370533 0.00702986 -0.0105379 -0.00541715 0.00130126 -0.00164466 0.00155056 0.00495987 0 0 0 0 0 0 0.0625674 0 0.129067 0 0 0 0 0.108087 0.531685 0 0 0.00981078 0 -0.024052 0 0.0162714 0 0 0.315798 0 0.366716 0.0546169 -0.0211344 0.0371925 0 0 0.218321 0 3.31034 0 3.3388 0.981556 0 0.375489 0.869998 -0.0120181 0 0.0171294 0 0 0.0464132 0 2.11124 0.188079 0 0 0.0334052 0 0 -0.359237 -0.595936 -0.156863 0 -1.3329 0 -1.18183 -0.0728397 0.0114015 0.293515 -0.202955 0.23931 0.508438 0.153099 -0.527955 -10.6934 0.170893 0 0 0 0.0949829 -0.0357319 0 0 0 0 -0.11425 -29.2532 -0.0999146 -5.70373 -0.073349 0.205957 -2.10744 0.261855 -0.215916 0.0471738 -0.270671 0 0 0 0 0 0 -404 0 0 0 0 0 0.161461 -0.422499 0.669863 1.42924 0 0 -0.366387 -1.76548 0 -3.30335 -0.0307054 0 0 0 -0.0360551 -3.03368 0 0 0 0 0.433658 0 0 0.697222 3.0286 -0.83383 0 -0.514299 0 0 0.236253 -0.0239145 0 0 -0.32934 -1.64335 0 0 0.0579399 -7.81105 0 -1.0539 1.42457 -1.13717 -0.134986 -0.512977 0.101707 0 0.0444242 -0.169771 0.489582 1.30838 0.241643 0.278342 0 0 1.88424 2.10825 0 0.811807 -0.0176973 0.310728 0 0 0 0 0.354719 -0.255719 0 3.58038 -0.903349 0 0 0 -2.36317 0 0.349444 -4.7739 0 -0.150082 -0.499452 -1.91901 0 -0.0370303 -1.00575 3.47333 -11.8493 0 0 0 -0.0277982 -0.00260959 0 0 0 -0.00618161 0.0428878 0 -0.000661155 0 0.000688597 0.000849492 0 0 0 0 -0.0252827 0 0.000850196 0 -0.0499226 0 -0.0231065 0.282015 0 -0.000967364 0 0 -0.0760152 0.00145584 0.0149014 0 0.00281254 0 0.00306485 0.0841263 -0.0107695 0.0201347 0.00323223 0 5.01217e-05 0 0 0 0.000200846 0 0 -0.00147763 0.00098233 -0.120082 -0.00436577 0 0 -0.00537073 0 -0.00658187 0 0 0.0172706 0.00597032 0.0268994 0.00727685 0 0 0.0035498 -0.000191396 -0.00202433 -0.0439923 -0.0893032 0 0.0474749 -0.000307986 0.0586469 0 0 0 0.196815 0 -0.0263138 0.0773419 0 0.00189712 -0.00746252 0.026751 0 -0.00141532 0.00712796 -0.0182851 0.0408769 0 0.161461 -0.0277982 -0.422499 -0.00260959 0.0540513 -0.1285 -0.0400966 -0.106282 -0.730454 0.00234075 -0.00111618 0.0218587 0.000106741 0.00407434 -0.00202598 -0.0124982 -0.0144351 0.0522217 -1.08167 -1.13734 -0.368445 -0.0141736 0.0723337 -0.266995 -0.262551 0.135529 -0.401585 -0.0441205 -5.43583 -0.232574 -1.36794 -1.22913 -8.98457e-05 0.0938317 -0.742741 0.00458207 -0.00287484 -0.0293348 -0.0326204 0.894157 -0.0211253 0.0204829 -2.65703 -3.39351 0.0033005 -0.0167584 -0.74095 -0.239835 -0.162663 2.21162 4.1027 -0.0135106 0.0619472 2.6196 0.00720534 1.69458 -0.00739467 0.158982 -0.0732915 -0.283459 2.02987 -0.199443 0.308124 -0.596999 -5.66389 0.365603 0.951826 0.108981 -0.169424 -0.201096 -0.0179285 0.0613698 -0.00569782 -0.0100185 -0.0307604 0.0504305 14.6308 -0.221192 1.73298 -0.267156 1.49564 -4.61221 0.00378808 0.227206 -0.521278 -1.19307 -0.000924686 0.0687834 -0.288506 0.460241 -1.61435 0 -405 0 0 0 0 0 -0.513384 -0.459992 0.657604 2.19988 0 0 -0.145677 -1.62585 0 -2.11043 -0.00998071 0 0 0 0.00321456 -5.01246 0 0 0 0 0.502182 0 0 0.337818 1.92661 -0.711038 0 -0.138673 0 0 0.256371 -0.0118543 0 0 -0.406059 -2.27394 0 0 -0.100782 -5.6697 0 -1.33936 0.427237 -0.288791 0.182447 -2.23034 0.368994 0 0.0146366 -0.09481 0.503528 3.2695 0.0917678 -0.147068 0 0 1.19261 5.42608 0 -0.211374 0.83715 -0.0058111 0 0 0 0 0.247927 -0.252887 0 3.97221 -0.761737 0 0 0 -4.63645 0 0.948275 -4.68921 0 0.303773 -0.308438 -6.06797 0 0.318907 -0.544413 1.29895 -7.26415 0 0 0 0.0279426 0.00207675 0 0 0 0.00884776 0.0115702 0 0.000351632 0 -0.000186591 0.00292995 0 0 0 0 0.0522392 0 0.00204544 0 0.0648111 0 0.056837 0.0774688 0 -7.86343e-05 0 0 0.00997073 -0.000278602 0.00730449 0 0.000939792 0 0.00081942 0.00534726 -0.00053963 -0.00345283 0.00127265 0 -1.43519e-05 0 0 0 6.69743e-05 0 0 0.000916193 -0.000752816 0.0263688 -0.00802174 0 0 0.00214663 0 -0.00221042 0 0 0.00602495 -0.00264752 -0.0446691 0.00978861 0 0 -0.0241605 -0.0197454 -0.00202835 -0.0481812 -0.0804712 0 0.00391973 0.00422852 -0.0192956 0 0 0 -0.146224 0 0.0110957 -0.0565796 0 -0.000830445 0.00417843 -0.0352717 0 0.000364875 -0.00150304 0.00571873 0.00406783 0 -0.513384 0.0279426 -0.459992 0.00207675 -0.263019 -0.147631 0.0485431 0.922882 0.233071 0.000296116 -0.00444654 0.122262 2.52508e-05 0.0044165 0.00183849 0.00368732 -0.0325247 0.0001781 -1.01413 -0.942154 0.212684 0.390663 0.0375224 -0.165796 -0.136967 0.272835 0.0477084 -0.0129567 -0.311857 -0.0267021 1.05714 -0.772671 6.94196e-05 2.31426 0.532327 0.00181646 -0.00337934 0.168927 -0.0226453 1.38964 0.0131484 0.0518653 -0.693863 -2.9962 -0.00462126 -0.0111436 -0.417712 -0.106852 0.190265 0.250697 2.06129 -1.19008 0.0224706 1.94513 -0.00799657 -1.61021 -0.00207633 0.198871 0.0746217 -0.345726 0.3219 0.0943295 0.0945079 -0.0122271 0.830257 0.096571 -0.797954 -0.0392172 -0.462212 0.062834 0.0141404 0.0415526 -0.00110183 -0.00153698 0.135548 -0.0328339 -11.3065 -0.573223 -13.4068 -0.0103117 0.0106157 -7.24453 -0.00106887 -0.0194571 -0.357088 -3.15951 -3.1536e-06 -0.00382365 -0.201429 0.149722 -1.71729 0 -406 0 0 0 0 0 -0.0204602 0.143657 -0.233124 -1.72191 0 0 0.0764633 0.899719 0 2.78033 0.0367757 0 0 0 0.228919 1.85515 0 0 0 0 -0.258942 0 0 -0.30451 -4.45935 0.443846 0 0.475551 0 0 0.018996 -0.000820358 0 0 0.309109 -0.365198 0 0 0.00745808 6.27961 0 -0.328626 -1.19761 1.63959 -0.328373 -0.550249 -0.477967 0 -0.157077 0.32932 -0.584282 -1.45918 -0.149206 -0.033631 0 0 0.594878 0.0543098 0 -0.768602 -0.377847 -0.178735 0 0 0 0 -0.298599 0.567578 0 -3.87887 -0.745706 0 0 0 3.60923 0 -1.31638 10.5262 0 -0.273899 0.382128 8.61824 0 -0.000309033 1.78828 -3.75493 17.2714 0 0 0 -0.101275 -0.00711938 0 0 0 -0.017117 0.0782877 0 -0.00141322 0 0.000706033 0.0038748 0 0 0 0 0.00671607 0 0.00360402 0 -0.0256534 0 -0.108663 0.434644 0 -0.00170457 0 0 -0.114196 0.00152144 0.0249335 0 0.00528455 0 0.0055949 0.100801 -0.017403 0.0208267 0.00396032 0 5.21771e-05 0 0 0 0.000377454 0 0 -0.00333227 0.0017701 -0.165216 -0.00606031 0 0 -0.00704428 0 -0.0111303 0 0 0.0371075 0.0122604 -0.0250511 0.0176064 0 0 -0.000161465 0.00512134 0.00543892 -0.0684014 -0.119834 0 0.0787953 -0.00152568 -0.0113485 0 0 0 0.241357 0 -0.0349406 0.112794 0 0.00287569 -0.00965843 0.0320089 0 -0.00180924 0.00957275 -0.024088 0.0556877 0 -0.0204602 -0.101275 0.143657 -0.00711938 0.297664 0.186343 -0.107526 -0.111491 0.205793 0.00343844 0.0104543 0.0926252 0.00016623 0.00627539 -0.00513212 0.00112259 0.0450499 0.0714641 -0.293956 1.28186 0.395959 -0.126627 0.125251 -0.0488161 0.359197 -0.19366 0.0500476 0.0248971 6.92621 -0.0395756 2.20883 0.554476 -0.000223697 -0.235136 0.899207 0.0068115 -0.000518708 -0.0490238 -0.00431472 -0.85283 0.00802033 -0.0403588 1.86516 1.00893 0.00330995 -5.46697e-06 0.0519731 0.170744 0.165749 -1.00137 2.86874 -0.908732 -0.0523846 -0.593703 0.0159325 0.3235 -0.00749622 0.0806758 0.575975 0.0674253 -0.0995589 -0.252296 -0.0627401 0.787533 3.63349 0.132831 -0.422472 0.120347 0.0886197 0.327031 -0.00910476 -0.0522968 -0.00905299 0.0736276 -0.108301 0.0242291 -23.6243 -0.326923 -4.14279 -0.401726 0.214572 2.69893 0.00462867 -0.250392 0.438217 0.379289 -0.00126541 -0.123225 0.227773 -0.275943 1.32841 0 -407 0 -0.1132 -0.397762 0.00714939 0.108344 -0.0853291 -0.0346355 -0.414278 0.0250028 0.0353997 -0.212607 0.10758 0.144 -9.86223e-05 1.28849 0.00829551 -2.33328 -8.97365 -0.0488615 0.0116129 0.254883 0.0038189 0.0624605 0.000108607 0.0267106 0.000488954 -0.616889 -0.00224189 -0.0513897 -0.587024 0.293368 0.00209411 0.189911 0.222374 -0.050643 -0.111079 0.00517181 -0.0387406 1.12861 0.14772 0.119143 -0.00205406 -0.260117 0.00678838 1.33269 -0.0421454 0.186653 -0.245229 0.256532 -0.0144937 -0.614988 -0.178248 4.16025 -0.0142814 0.00233019 0.014926 -1.26454 -0.228458 -0.194991 -0.0332055 0.003662 0.358596 0.841092 1.41278 -1.36702 0.258103 -0.195376 0.31551 -0.152836 -0.00178733 0.327743 0.0175956 0.0385262 0.0296468 -1.85692 -0.0982745 0.289031 -3.67046 0.394575 -1.45543 -0.135201 0.28789 -1.97774 0.163049 -0.515062 0.891603 -1.78875 0.00109164 -0.00358343 0.012959 -0.04204 0.149218 0 0 0 0 0 0.00714939 0.108344 0.00145639 0 0 0 0 3.81305e-05 0 -0.00091314 0 0 0.000279676 6.53993e-05 0.00160336 0 0.000116285 0.00889305 0.0154374 0 0 0.0788939 4.58005e-06 0 0.000571984 0.667876 0 0 0.00483693 0.0963781 0 0.0113153 0 0.00473757 0 0 0.000237711 0 0 0.106945 0.000533652 0.00398484 0 0.0203923 0.00925535 0 0 -0.00607093 0 0.000442283 -0.00924645 -7.13453e-05 0 0 0.000149859 -0.00315923 0 0.000497149 0.0225763 -0.00284585 -0.192939 -0.00136822 0.00359927 0 0.00445028 -0.0170525 0.0350038 -0.00324608 -0.0253049 0 0 0 -0.117831 -0.00486132 -0.0259801 -0.000296717 0.00143336 -0.0511551 -0.000185921 0.0002594 -0.000549611 -0.00856608 0 0 0 0 0 0 -0.0853291 0 -0.0346355 0 0 0 0 0.249189 0.199422 0 0 -0.245345 0 -0.0278473 0 0.00517473 0 0 0.0416711 0 0.802044 0.12142 -0.014028 0.0601308 0 0 0.146316 0 -5.42548 0 3.28874 0.0385391 0 0.815112 1.51441 -0.0015406 0 0.0442339 0 0 -5.14173e-05 0 -0.885113 -0.363029 0 0 0.0732723 0 0 -0.180753 -3.60603 -0.655318 0 0.673856 0 -2.01573 0.122511 0.0156689 0.714073 -0.179302 -1.06738 0.470659 0.114351 0.295145 7.86662 -0.0199243 0 0 0 0.0826646 0.0243112 0 0 0 0 0.0136105 -30.6841 1.88258 -9.72339 -0.176696 0.319735 -2.34933 0.0683115 -0.0606032 0.18719 -0.650053 0 0 0 0 0 0 -408 0 -0.702167 -0.496947 -0.00527956 -0.0474858 -0.195297 0.141885 -0.279518 -0.161516 -0.0552903 0.185691 0.00471162 0.0312999 8.1743e-05 -0.53022 -0.000762248 -1.23294 -6.06249 0.0496176 -0.000660458 0.446175 -0.0148994 0.451095 -0.000129304 -0.0247781 -0.148712 -0.226365 -0.00675736 -0.393902 -0.0995357 0.151542 -0.00277158 -0.00957762 1.45404 0.0973903 -0.226213 -0.000498136 -0.106545 5.47264 -0.0118858 0.996752 0.00152067 -0.38704 -0.00170827 -1.35513 0.0256182 0.951423 -0.189772 0.00478117 0.00323614 0.0569385 0.0822318 6.22228 -0.00287013 -0.00656461 0.0183948 0.16992 -0.0663388 0.0763833 0.0484209 -0.00260136 -0.824766 -1.54247 -1.75115 -0.713228 -0.0183193 0.283938 0.343424 -0.0320348 0.0056304 0.38827 -0.105448 0.0122551 0.116142 -0.397598 -0.05881 0.187212 -25.1166 -0.0595211 -5.61383 -0.72897 1.52631 -6.83267 -0.031399 0.209728 -0.259443 -0.480223 -0.000663555 0.00116924 -0.00196692 -0.00243419 0.0253014 0 0 0 0 0 -0.00527956 -0.0474858 -0.000190964 0 0 0 0 -5.49611e-06 0 -0.00151304 0 0 5.15475e-05 -3.84785e-06 -0.0014499 0 -0.000148174 -0.00682153 -0.0131102 0 0 -0.0750272 -3.65947e-07 0 -0.000371463 -0.406329 0 0 -0.00365704 -0.0531241 0 -0.0167119 0 -0.00498892 0 0 -0.000263765 0 0 -0.100128 -7.71513e-05 0.000816996 0 -0.00267473 -0.00128269 0 0 -0.000805912 0 7.88978e-05 0.00140372 -0.000107135 0 0 -0.000171495 0.000488943 0 0.00118853 -0.00126265 0.000415666 0.0508456 0.00122605 -0.0147847 0 -0.000762315 0.0152841 -0.00936407 0.000365448 -0.0120189 0 0 0 0.193875 -0.00221279 0.0156522 0.00167206 -0.00208394 0.0163323 -9.36285e-05 0.000101893 -9.23556e-05 0.00967924 0 0 0 0 0 0 -0.195297 0 0.141885 0 0 0 0 -0.252672 0.0902411 0 0 0.179901 0 0.015419 0 0.00400749 0 0 -0.203916 0 0.00256779 -0.00467866 0.0494287 -0.0200909 0 0 0.0734625 0 -3.52492 0 3.62018 0.00537351 0 -0.04363 0.44955 0.00215978 0 -0.0374408 0 0 -0.00372488 0 -1.03754 -0.121548 0 0 -0.013685 0 0 -0.130974 -4.74002 0.13189 0 0.330541 0 -1.06228 0.0353851 -0.0799011 -0.0612591 -0.138569 -0.00127824 -0.0317663 0.0459474 -0.574683 -2.55944 0.0899198 0 0 0 0.0951401 -0.027795 0 0 0 0 -0.0354147 -26.6819 -2.22954 -1.82762 -1.0212 0.818024 -2.37829 -0.111147 0.0983523 -0.150495 0.101239 0 0 0 0 0 0 -409 0 0.215731 -0.288194 0.00404389 0.0313149 0.0591196 -0.0788602 -0.822161 -1.445 0.000723586 0.0758606 0.0330421 -1.3589 -8.90555e-05 -2.37701 0.000755096 -2.16355 -4.82734 -0.00687458 0.00370364 -3.17948 0.0125104 0.171405 6.21103e-05 0.0523099 -0.281528 -0.822709 0.0157916 0.239552 -0.159183 -0.649862 0.000861283 0.0215191 0.0086879 0.0520369 -0.109567 0.0017654 0.205466 -1.21717 0.112581 -1.31297 -0.00204697 0.968225 0.00492762 -4.59111 -0.0476303 -0.59065 -0.0080335 0.133404 -0.0144942 1.03598 0.14038 4.75575 -0.0187563 -0.011836 0.0717241 2.02223 0.00769777 0.172161 -0.170977 0.00359652 -1.8048 0.751221 1.98338 0.547657 -0.386444 -1.16992 0.00773305 0.15933 0.000508073 -0.272132 0.284531 0.0493043 -0.263555 2.49716 -0.297696 -0.457318 7.23516 -1.11457 7.25718 0.216601 -0.176876 1.77963 0.08115 -0.0351938 -0.171421 1.38503 0.00123371 -0.00334573 0.00811524 -0.0206176 0.0404634 0 0 0 0 0 0.00404389 0.0313149 0.0032495 0 0 0 0 8.56858e-05 0 -0.00265526 0 0 0.000327065 8.98435e-05 0.00145152 0 7.4389e-05 0.00680692 0.0122515 0 0 0.0158498 6.23191e-06 0 0.00113 0.649246 0 0 -0.00474315 0.0757016 0 0.0278063 0 0.00200327 0 0 -0.000110475 0 0 0.134456 0.00119948 0.00470353 0 0.0455052 0.0213747 0 0 -0.034756 0 0.00106002 -0.0191614 -0.00105798 0 0 0.000122831 -0.00671297 0 0.000751873 0.00965118 -0.00586972 -0.21072 -0.00133689 0.00708318 0 0.0103054 -0.00555238 0.0212961 0.000493178 -0.0075444 0 0 0 -0.0880555 -0.00728476 -0.00783131 -0.00195234 0.00470516 -0.0416241 -0.000236531 0.000321169 -0.000642482 -0.0121042 0 0 0 0 0 0 0.0591196 0 -0.0788602 0 0 0 0 -0.0668143 0.303343 0 0 -0.117614 0 -0.0245087 0 -0.000499389 0 0 -0.144647 0 0.46682 -0.0364165 -0.057023 -0.012498 0 0 0.0594672 0 -4.77577 0 -0.593204 -0.732843 0 -0.288292 0.327129 -0.00830889 0 -0.00903204 0 0 0.0210121 0 -2.08847 -0.228822 0 0 -0.0207337 0 0 -0.252681 -3.02547 0.440394 0 -1.56446 0 -0.641234 0.0704284 -0.0902583 -0.076878 -0.110969 0.0878855 0.364348 0.00917987 0.604057 -1.2513 0.0234128 0 0 0 0.10895 0.0141247 0 0 0 0 -0.03592 -2.97516 0.226864 1.2781 -0.0842449 0.277898 -0.358307 0.0316653 -0.0100391 0.0162371 0.223219 0 0 0 0 0 0 -410 0 -0.429844 -0.148969 -0.0177552 -0.195569 0.0817677 0.161411 -0.152816 -0.606639 -0.157545 0.0174428 0.242405 -0.810866 0.00124396 -0.331491 0.0302227 -0.971445 -7.38923 -0.00843912 0.0474528 -2.39637 -0.0324551 -0.246618 -0.00121999 -0.0608263 -0.470636 -0.0584864 -0.0096498 -0.735417 -1.81981 -0.0637538 -0.0143376 0.482145 -0.409547 0.0674861 -0.26075 0.0111817 -0.139588 -0.924704 0.000459699 -0.255162 0.0162918 -0.785617 -0.0110203 -2.77733 0.202285 0.462416 -1.26328 0.71122 0.0581676 0.399952 0.231419 0.984203 -0.0667544 0.11763 -0.392718 3.02156 -0.0721141 -0.046624 0.0265104 -0.0541749 -1.93109 0.799186 1.77326 1.82169 0.532965 -0.668913 0.194656 -0.402235 0.0302306 0.333408 0.0381127 0.238815 0.0593386 2.39719 1.01144 0.109635 4.18259 -1.38414 4.16545 -0.140691 -1.33488 6.93241 0.389341 -0.484567 -0.0484856 2.78952 -0.090543 0.130983 0.0101704 -1.18019 7.14496 0 0 0 0 0 -0.0177552 -0.195569 0.00241518 0 0 0 0 0.000376355 0 -0.0161989 0 0 0.00324003 0.00315203 -0.00926765 0 -0.00152478 0.00254334 -0.108345 0 0 -0.0567829 0.000227282 0 -0.000717187 -0.154012 0 0 -0.00621587 0.0127262 0 -0.0573187 0 -0.00757832 0 0 -0.00102705 0 0 -0.248616 0.00527794 0.0451636 0 0.0338656 0.00660541 0 0 0.0134439 0 -0.000585126 -0.0306309 0.00670092 0 0 -0.0020044 -0.00754459 0 0.00257447 0.0356316 -0.000881255 -0.0650033 0.00129459 0.00395708 0 0.00382607 -0.0222017 0.0754009 -0.0336034 -0.0121834 0 0 0 1.18458 -0.107786 0.277836 0.0312851 -0.054422 0.104176 -0.00301664 0.00495975 -0.010389 0.0260001 0 0 0 0 0 0 0.0817677 0 0.161411 0 0 0 0 0.280019 -0.114953 0 0 -0.111881 0 -0.0148464 0 0.00997331 0 0 -0.631701 0 -0.450802 0.0763487 -0.113452 -0.0652515 0 0 0.255186 0 -5.27451 0 0.284305 -0.0629979 0 0.489705 -0.353514 -0.0129458 0 0.0351208 0 0 -0.031945 0 -0.877835 -1.08215 0 0 -0.100645 0 0 0.000277228 0.458279 -0.12661 0 0.443817 0 -0.442793 0.0817301 -0.00124347 0.476107 0.00442 -0.172858 0.351228 -0.0441966 -0.178605 1.38296 0.0192623 0 0 0 0.0476117 0.057673 0 0 0 0 -0.0202327 -6.75619 0.877269 -3.8808 -0.315641 0.301503 -0.567155 0.088805 -0.0767688 0.135453 -0.409584 0 0 0 0 0 0 -411 0 -1.00227 -0.454213 -0.000572768 -0.0122429 -0.178193 0.0224241 -0.584205 0.254935 -0.00786275 -0.374001 -0.0461359 1.12246 0.000105032 2.74699 0.00432712 -1.92748 -6.70616 -0.143876 0.0145812 5.30593 -0.00538244 0.330031 -0.000263065 -0.0517821 0.217723 -0.626255 0.0107463 0.189695 0.582621 0.635743 -0.0022223 0.106678 0.816438 -0.113128 -0.0460187 -0.00372184 0.166033 3.26077 -0.163746 2.5989 0.00113218 0.0494019 -0.013009 4.5665 0.00891497 1.13175 0.224784 0.294804 0.0455675 0.697414 -0.351187 4.0688 -0.0480845 0.0637156 -0.284146 -1.0665 -0.266773 -0.243553 0.0929385 -0.00258331 -0.058322 -5.76772 -0.469017 -1.85321 -0.198791 0.343551 0.77611 0.0958103 0.00224627 0.293184 -0.183981 -0.266589 -0.219225 -3.51177 1.01704 -0.30215 -13.6371 1.2741 -3.04637 0.250186 0.663831 -4.33984 0.137195 -0.218946 0.763102 -0.662853 -0.00399035 0.0424236 -0.147892 0.699004 -2.28749 0 0 0 0 0 -0.000572768 -0.0122429 0.0013832 0 0 0 0 0.000233102 0 -0.00563371 0 0 0.00021304 -0.000441356 -6.23395e-05 0 -0.000362274 -0.000972002 -0.0049409 0 0 0.212688 -3.76226e-05 0 0.018234 0.335564 0 0 0.0312005 0.00131485 0 0.111062 0 0.00993418 0 0 0.00140741 0 0 0.273619 0.00326104 0.00431728 0 0.0194289 0.0293252 0 0 -0.142293 0 -0.00261144 0.13325 0.00530356 0 0 0.000123613 -0.00437885 0 0.0134666 0.0199628 -0.00593936 -0.319766 0.00294566 -0.0210652 0 0.00351713 -0.0128472 -0.0609992 -0.0180322 -0.0158933 0 0 0 -1.32783 0.0613357 -0.1712 -0.0233521 0.0551125 -0.136875 -0.000210197 -0.000765136 0.00328331 -0.00805303 0 0 0 0 0 0 -0.178193 0 0.0224241 0 0 0 0 0.353177 -0.312161 0 0 9.04847e-05 0 -0.00786318 0 -0.0172724 0 0 0.741893 0 1.12597 0.145659 0.0103939 0.138376 0 0 -0.132151 0 -3.36062 0 7.32253 0.278508 0 0.922608 2.71981 0.00146308 0 0.0559815 0 0 -0.0463139 0 -0.36784 1.22434 0 0 0.24698 0 0 -0.28906 -6.04687 -0.195493 0 -0.36262 0 -1.4814 -0.0290954 0.0159716 0.319899 -0.185688 0.0556119 0.118033 0.0723306 -0.332661 0.503984 0.126622 0 0 0 0.114245 0.0108935 0 0 0 0 -0.036632 -71.6008 -1.96918 -12.3408 -1.48667 1.37673 -4.80758 -0.0544049 0.0485572 -0.00998656 -0.617428 0 0 0 0 0 0 -412 0 0.291005 0.342907 -0.0438231 -0.423026 0.373597 0.279568 -0.545173 -2.49165 -0.389314 0.875763 -0.332086 0.0174419 0.00315742 -1.79371 -0.036829 1.53325 5.65197 0.109035 -0.0480371 2.59434 -0.0336684 -0.168419 -0.00327404 0.00626055 -0.564289 0.482604 -0.00695393 -0.0301514 2.52218 -0.220515 -0.0373129 -0.498521 -0.543974 -0.000680298 -0.20516 -0.032652 0.121233 -2.33497 -1.02523 1.3936 0.0395534 -0.112475 -0.0974964 -1.07861 0.45666 0.697369 0.663182 -0.753484 0.402036 -0.501145 0.630125 2.27161 0.146961 -0.189007 0.15958 0.867122 0.439426 0.160901 -0.337625 -0.126373 -0.10969 -0.410453 0.0515461 0.6063 0.169213 -0.315652 -0.47946 -0.104739 0.0801632 -0.594204 0.268772 -0.875553 0.0472092 2.75054 0.515386 0.686058 11.11 -2.40814 9.13881 0.0960534 1.5941 -1.87567 -0.303766 0.708245 -1.68188 2.0812 -0.204401 0.525375 -1.46094 3.64707 -9.9026 0 0 0 0 0 -0.0438231 -0.423026 0.00679595 0 0 0 0 0.00110157 0 -0.0329096 0 0 0.00444932 0.00448358 -0.0187643 0 -0.0035311 0.00859693 -0.184734 0 0 -0.0491511 0.000326525 0 0.020095 0.565502 0 0 -0.0114715 0.102028 0 0.00880042 0 -0.0132026 0 0 -0.00219102 0 0 -0.208427 0.0154388 0.0615438 0 0.0952359 0.0436004 0 0 0.0103582 0 0.000223869 0.0174763 0.00311159 0 0 -0.00662045 -0.014272 0 0.00832552 0.0113912 0.000306056 -0.178804 0.0230961 0.0012777 0 0.0232945 -0.0200274 -0.0242137 0.0161534 -0.0456775 0 0 0 1.80786 -0.187351 0.501094 0.0460885 -0.080878 0.145616 -0.0050741 0.00848863 -0.0170576 0.0439508 0 0 0 0 0 0 0.373597 0 0.279568 0 0 0 0 -0.593883 -0.25711 0 0 0.701512 0 0.0745941 0 0.00773231 0 0 0.837124 0 -0.877924 -0.240617 0.160414 0.0579155 0 0 -0.132474 0 6.00294 0 -2.63383 0.105249 0 -1.64554 -1.49449 0.0168787 0 -0.0963388 0 0 0.031825 0 1.06598 2.58513 0 0 0.228951 0 0 0.183614 0.358893 0.329933 0 0.259814 0 -0.320795 0.210809 -0.215172 -1.09786 -0.101819 1.44831 0.320678 0.129911 -0.645681 -4.12462 0.188034 0 0 0 -0.101969 -0.197593 0 0 0 0 -0.0300184 24.1794 -5.94144 15.3832 -1.56742 1.19656 1.23095 -0.49062 0.421041 -0.49809 1.17336 0 0 0 0 0 0 -413 0 0 0 0 0 -0.0228797 0.321832 0.340268 0.453276 0 0 -0.0537688 1.09905 0 3.8548 0.0783371 0 0 0 -0.0725027 1.87499 0 0 0 0 -0.18939 0 0 -0.711782 -1.23299 1.12003 0 -0.0867087 0 0 -0.0497169 -0.0152489 0 0 0.186874 1.72274 0 0 -0.117985 3.82603 0 1.21993 -0.715086 -0.896884 0.307087 1.80627 0.36303 0 0.525657 0.376852 -1.21631 -5.07272 0.418572 0.26989 0 0 0.804689 -2.57192 0 -0.571518 -0.365534 -0.970028 0 0 0 0 0.503822 -0.9334 0 -4.30269 2.77701 0 0 0 -0.435738 0 -0.332929 1.22055 0 -0.428137 0.552705 -2.22993 0 -0.588482 0.34232 -2.36341 7.89383 0 0 0 -0.108952 -0.0050937 0 0 0 0.0937307 -0.0242255 0 0.0192539 0 0.0179813 0.0805791 0 0 0 0 0.108508 0 0.023331 0 0.503656 0 0.36692 -0.52143 0 0.000713473 0 0 0.104089 0.00374495 -0.0845998 0 -0.00630362 0 -0.00194675 -0.308285 0.0223779 0.0693197 -0.0705453 0 0.00107961 0 0 0 -0.000679967 0 0 -0.0113037 -0.00877344 -0.0870429 0.00707229 0 0 -0.0362801 0 -0.000666785 0 0 0.0142419 -0.00784199 -0.312064 -0.0233591 0 0 0.0820228 0.0601015 0.0613139 0.266148 0.253566 0 -0.0628475 0.0133451 -0.0721032 0 0 0 -1.90279 0 -0.246866 -0.135858 0 -0.0173549 -0.0173615 -0.0518325 0 -0.00325941 -0.00310488 -0.0268402 0.159551 0 -0.0228797 -0.108952 0.321832 -0.0050937 0.111827 -0.00381174 0.219254 0.299884 -1.01855 0.00404589 0.0392547 -0.158956 -0.0053101 -0.103699 0.0547456 -0.0202512 -0.0360083 0.101272 1.09744 -0.216484 0.0630031 0.133314 -0.300079 0.182342 -0.0564995 -0.0179922 -0.561547 -0.0132705 12.2559 0.214968 0.92504 2.74918 0.0160892 0.433103 0.202054 -0.103277 0.00288416 0.055741 0.0205024 -0.282546 -0.0549247 0.00268007 5.89325 2.57077 0.00339504 0.0273774 0.43573 -0.0640479 -0.00681753 -1.24316 2.13013 1.42385 0.0767715 -4.94284 0.0176949 -1.78826 1.13993 -1.35372 0.488431 0.138016 -0.592688 1.98115 -0.292761 3.94761 -15.1353 -0.395907 -0.571896 0.0321243 0.160008 -0.175319 0.355147 -0.0371553 -0.0387021 0.000203671 -0.0992583 0.895028 -3.37011 -0.34929 -1.33798 -0.993951 -0.101535 0.372355 0.0691576 -0.386336 0.329785 -0.535009 -0.17724 -0.118485 0.124692 -0.244826 0.168207 0 -414 0 0 0 0 0 -0.239902 -0.117149 0.496438 2.15189 0 0 -0.561413 -0.265343 0 -0.570866 -0.109954 0 0 0 -0.239901 -1.18864 0 0 0 0 0.329591 0 0 0.146479 2.39529 -0.12373 0 -0.26196 0 0 0.0606356 -0.0815739 0 0 -1.56329 -0.633944 0 0 -0.358439 -1.40969 0 -0.286766 0.791032 -0.375519 0.512984 0.0468724 0.269734 0 0.692571 -0.0348117 0.137157 -1.73225 -0.286662 -1.62206 0 0 -1.9388 4.32413 0 0.972184 -0.164826 0.815223 0 0 0 0 -0.360068 -0.779101 0 -0.416626 -0.882678 0 0 0 -3.21586 0 1.98969 -3.68276 0 1.03224 -1.01702 -1.03223 0 1.92886 -1.98512 5.08252 -6.24427 0 0 0 0.147271 0.0259512 0 0 0 0.0269495 -0.0349542 0 0.00427367 0 -0.0168369 0.00113692 0 0 0 0 0.100307 0 0.0111722 0 0.134354 0 0.180559 -0.121467 0 0.00200831 0 0 -0.0452306 -0.00640383 0.0315431 0 -0.00185701 0 -0.00322373 -0.128111 0.00365743 -0.0881823 0.00211133 0 -0.00113484 0 0 0 -0.000273025 0 0 0.0124514 -0.00867087 -0.306685 0.010661 0 0 0.000944424 0 0.00349232 0 0 -0.00879514 -0.0198461 -0.116164 -0.0277967 0 0 0.11134 -0.00954487 0.05786 0.0584066 0.0386571 0 0.0662485 -0.017669 0.312 0 0 0 0.218212 0 0.0878839 0.58769 0 -0.00241423 0.0585348 0.003291 0 0.0069124 -0.0100416 0.00443437 0.285415 0 -0.239902 0.147271 -0.117149 0.0259512 -0.210857 -0.0550663 0.0210062 -0.39355 -0.294691 -0.0154319 -0.0335396 0.416508 -0.00117479 0.0406632 -0.00736306 -0.0209771 -0.0516614 -0.106795 -0.500987 -0.37242 -0.327162 -0.0833078 0.31597 -0.068306 -0.360171 0.136839 0.0753001 -0.000381488 -7.36771 -0.549547 -2.82879 -0.542759 -0.00386098 -0.491442 -1.08283 0.0421771 -0.0139422 -0.0699207 -0.102717 0.849741 -0.120282 0.0214829 -2.10039 -2.17631 -0.00435711 -0.0680907 -0.22262 -0.0215734 -0.113254 -0.961976 -2.68408 -0.764607 0.0130113 -4.20679 -0.062529 0.588882 0.103889 0.180299 -0.266244 0.113462 -1.02226 -0.271998 0.0836104 -0.469453 -12.7359 0.104196 0.0260638 0.16518 -0.296683 -0.184322 -0.0948788 0.0259519 -0.0481363 -0.00621623 0.042388 -0.141783 10.3059 1.19489 -0.752575 2.66993 -0.217085 -0.602213 -0.290719 0.905043 -0.658686 0.174352 0.186907 0.343902 -0.423194 0.597853 -0.869065 0 -415 0 0 0 0 0 -0.35018 -0.135456 0.709431 3.06753 0 0 0.192255 -0.663658 0 -0.943283 -0.227214 0 0 0 -0.461941 -0.810147 0 0 0 0 0.489357 0 0 -0.019786 -6.18752 -0.163919 0 -0.980978 0 0 0.0567405 -0.0190665 0 0 2.61509 0.0159974 0 0 0.557101 -4.60779 0 0.121816 -0.712852 -2.06612 -0.200102 2.96594 -0.0068686 0 0.959082 -0.197624 -0.356078 -0.355042 0.832435 0.485979 0 0 -0.89543 -3.14664 0 -1.55993 -1.28203 -0.744831 0 0 0 0 -0.28243 -0.695859 0 -0.560227 0.889568 0 0 0 -7.31039 0 -3.83924 6.59988 0 -2.18882 3.21446 -3.91669 0 -3.14219 5.49396 -9.01313 22.0889 0 0 0 -0.50702 -0.123004 0 0 0 -0.145783 0.0259891 0 -0.0319592 0 0.00287089 0.084165 0 0 0 0 -0.00638783 0 -0.00381185 0 0.441103 0 -0.468889 -0.891485 0 0.0115392 0 0 -0.152226 0.00231523 -0.12879 0 0.0188383 0 0.00172459 -0.13182 0.00989369 0.0446424 -0.00730564 0 7.7798e-05 0 0 0 0.00118687 0 0 0.00129324 0.00154545 0.099679 -0.0374288 0 0 -0.0136209 0 -0.00630123 0 0 0.0184374 -0.0028912 0.101996 0.0015639 0 0 0.0884352 0.0799761 -0.0209198 -0.0486481 0.266294 0 -0.251015 -0.0203244 -0.0471724 0 0 0 -0.95391 0 -0.147087 0.431827 0 -0.0132898 0.0285089 -0.0361598 0 -0.000640848 0.00293782 -0.0188265 0.204069 0 -0.35018 -0.50702 -0.135456 -0.123004 1.31728 0.175478 -1.05265 -0.447223 -0.0634736 0.0173658 0.0962965 0.409634 0.00766302 0.104943 -0.184691 -0.0721378 0.0855437 -0.136085 0.117431 -0.687865 0.119545 0.143409 0.559871 0.0330413 0.480154 -0.374258 -0.116598 -0.0327355 3.06725 1.10143 0.988219 0.400388 -0.0330563 -0.129676 0.605167 0.0892401 0.0310203 -0.00641624 0.257932 -2.52311 -0.132202 -0.0450903 1.23922 -0.319538 0.0158311 0.109726 -0.0335777 -0.18464 -0.444192 1.22267 -1.95729 1.85292 -0.279211 -0.427502 0.516193 -0.90548 0.944476 -1.46249 0.406151 0.340545 -1.07604 -0.472247 -0.144445 -2.05487 -12.2325 -0.914499 1.24249 -0.371849 0.183991 -1.4395 0.318421 -0.227224 0.274562 0.121227 0.0284062 0.81379 -3.60028 -1.42867 -1.2249 -0.616868 -3.03715 7.41696 -0.264476 -0.873981 1.54471 -0.204328 0.238168 -1.05709 1.70807 -2.06137 3.4161 0 -416 0 -0.689269 0.123343 0.149684 -0.108142 -0.00371067 -0.28082 0.133138 0.603828 -0.0437285 -1.48313 0.096425 -0.875176 -0.180131 -1.32487 0.257908 0.65791 0.753503 -0.61234 0.618888 -3.09463 -0.348246 -0.265626 0.18736 -0.977931 0.56363 0.245805 0.550277 0.411937 0.8891 -0.330853 0.331843 0.932311 -0.520954 1.63091 0.259962 0.126883 1.95725 0.802202 0.674952 -1.4682 -0.436764 5.59606 0.440895 -3.79919 -0.984571 -0.7712 0.700519 2.43226 -1.40682 0.788026 -2.27652 -1.10403 -0.915238 0.0495304 0.476916 4.07665 -1.88844 -0.769811 1.45463 0.763672 0.00801675 3.83432 0.792063 -1.1581 -1.6002 1.23085 1.73628 1.67254 0.0249252 1.81175 -0.636795 1.91888 -1.81979 3.78904 -1.62724 -5.1989 -6.18976 3.01818 -2.56934 1.78672 -0.460965 -2.20573 2.70027 -1.89387 1.39518 0.943872 1.64493 -1.82496 1.52162 -0.413419 -4.08954 0 0 0 0 0 0.149684 -0.108142 0.00447617 0 0 0 0 -0.00184556 0 0.0107153 0 0 0.00362531 0.024688 -0.00289395 0 -0.00677227 -0.233832 -0.00719655 0 0 0.108701 0.00162657 0 0.0934144 -1.80614 0 0 0.00145833 -0.568865 0 0.181009 0 0.249151 0 0 0.031292 0 0 1.14544 -0.0233903 0.0655201 0 0.0769448 -0.00602761 0 0 0.17862 0 -0.00967872 -0.239992 0.0161216 0 0 -0.00752991 -0.0195376 0 -0.0112997 -0.12116 0.00119168 1.15888 -0.0293712 0.0263161 0 0.0550704 -0.0104162 -0.173774 0.0318851 0.0474307 0 0 0 -5.82017 -0.391814 -0.108553 -0.0565436 0.0180168 -0.118401 -0.00300134 0.000620295 -0.0149692 0.0477874 0 0 0 0 0 0 -0.00371067 0 -0.28082 0 0 0 0 -0.410269 1.56214 0 0 0.632921 0 0.0706423 0 0.0527827 0 0 -0.387947 0 0.317849 -0.00169168 0.51182 -0.0613216 0 0 0.514826 0 -2.02043 0 3.10166 -0.962946 0 -0.302864 1.24279 0.0671367 0 -0.0263464 0 0 0.191799 0 -1.61272 -1.23091 0 0 -0.176806 0 0 -0.0722091 -2.90069 -0.273007 0 1.56072 0 1.71216 -0.54438 0.407561 0.466945 0.198351 -0.343696 -2.16607 -0.18742 -1.55012 7.2659 -0.222826 0 0 0 0.271847 0.115 0 0 0 0 -0.405461 -25.721 -5.32404 2.28719 -2.1927 1.64248 -1.99372 -0.647916 0.503381 -0.368072 0.124825 0 0 0 0 0 0 -417 0 -0.30387 0.00853524 0.0208568 0.246318 -0.0919134 0.0597052 0.27 0.619722 0.163863 -0.957637 0.308256 1.23298 0.0126478 1.07844 0.066499 1.1576 1.87357 -0.101716 -0.0509908 1.18328 0.00274892 0.0839376 -0.0122037 -0.250978 0.214045 0.562507 -0.0659544 -0.0232628 0.133654 0.307458 -0.00644969 0.358119 0.410363 -0.248968 0.0627689 0.0381082 -0.432209 2.562 0.356185 0.453364 0.0380528 -1.06639 0.0224296 3.71569 0.0652506 0.213383 -0.0407268 -0.0762618 0.146301 0.09716 -0.296717 -1.98182 -0.143597 0.577749 -0.415284 2.00069 1.47796 1.13503 0.153499 -0.128947 1.24363 -2.47907 -1.39716 0.260009 -0.367675 -0.471572 0.480085 1.3365 -0.137971 -0.0961778 0.212205 0.564174 0.451074 -0.109434 0.233479 1.21227 -8.36142 0.686243 -2.01217 -1.26418 -0.203593 -0.774818 1.58426 -1.35736 0.896509 0.057563 -0.109015 -0.213961 -0.261713 -0.647964 -0.61476 0 0 0 0 0 0.0208568 0.246318 -0.0104672 0 0 0 0 -0.00304585 0 0.0236576 0 0 -0.0132927 -0.0535551 0.0585124 0 0.0088609 -0.123101 0.152248 0 0 0.610721 -0.00372344 0 0.0608946 -0.287163 0 0 0.084702 -0.276171 0 0.218733 0 0.174992 0 0 0.0246615 0 0 0.431322 -0.0428883 -0.189756 0 -0.144977 -0.0525444 0 0 0.436141 0 -0.0239461 -0.247742 0.0195368 0 0 0.020259 0.018631 0 -0.0498767 0.123315 -0.0133139 0.719225 0.0159347 0.0394114 0 -0.020452 -0.0368667 -0.272329 0.174254 -0.0320946 0 0 0 0.114325 0.259712 0.107825 -0.0275828 0.0383756 -0.031415 0.0149201 -0.0158356 0.0152312 0.0309203 0 0 0 0 0 0 -0.0919134 0 0.0597052 0 0 0 0 0.180158 0.169174 0 0 -0.67225 0 -0.0675414 0 0.00615398 0 0 0.721383 0 -0.132905 0.0274379 -0.293996 0.105805 0 0 0.0743183 0 2.96642 0 0.139718 0.612353 0 0.16495 -0.111532 -0.0323333 0 0.0244764 0 0 0.00459779 0 1.64413 1.35662 0 0 0.212829 0 0 -0.0799115 0.706221 0.211502 0 1.25764 0 -0.252016 0.572637 -0.341674 0.179341 -0.234294 0.441748 0.428904 -0.0128931 -0.0101054 5.36633 0.170419 0 0 0 0.147114 -0.0194303 0 0 0 0 0.186329 5.72687 3.95668 -1.45547 0.18736 0.0839182 -0.163754 0.613336 -0.390946 0.273699 -0.00209143 0 0 0 0 0 0 -418 0 -0.41601 -0.352066 -0.147388 -0.330406 0.60379 0.279262 -0.906291 -2.71624 -2.11363 1.85959 0.334988 -0.527456 0.0755162 0.203022 0.251675 1.64699 -2.03785 0.825953 0.443427 -3.11811 0.319838 0.672766 -0.168222 0.688988 -1.09977 0.957568 0.00146586 -0.580577 -2.11748 0.0548441 -0.592287 1.32165 2.51745 0.347685 -0.494335 0.0508708 -0.622071 7.81861 0.95338 -0.499064 0.0503287 -1.25414 0.100091 -0.438045 -0.338213 0.380018 -1.01416 2.47233 -0.278036 3.20852 -0.638516 -10.9271 -0.378058 0.080999 -0.127275 0.515245 -1.31425 -1.34314 -0.222822 -0.0966037 -3.10478 2.24095 -6.25323 0.826732 -1.73037 2.19474 -1.71955 0.716838 1.37701 0.355556 -1.81728 1.56511 1.6124 1.11868 0.531921 -0.351607 -36.9558 -11.6639 10.5575 -8.73271 6.71824 -8.25676 -2.32073 1.50822 -1.34866 3.03592 0.565054 -1.22963 2.54667 -4.90488 9.73964 0 0 0 0 0 -0.147388 -0.330406 -0.000454558 0 0 0 0 0.00174524 0 0.0207429 0 0 0.00109521 -0.00711844 0.00480921 0 0.012735 0.159027 -0.0323862 0 0 0.0680556 -0.000533282 0 -0.00990742 -1.2238 0 0 -0.0150587 -0.0250192 0 0.158244 0 -0.0819512 0 0 -0.0189888 0 0 0.925488 0.0256449 0.0203756 0 -0.00257856 0.0501773 0 0 0.1632 0 0.00494947 -0.260831 -0.00260965 0 0 0.00141269 0.00337453 0 -0.0387142 0.0633857 -0.00765132 0.600649 0.0562115 0.0421873 0 0.00649058 0.00868329 0.0173935 -0.0296469 -0.0739424 0 0 0 -2.04097 0.00457196 0.0287175 -0.0707768 0.0740213 -0.107189 -0.00034871 -1.53543e-05 -0.00497773 0.0209322 0 0 0 0 0 0 0.60379 0 0.279262 0 0 0 0 -0.204476 0.763842 0 0 0.867899 0 0.1056 0 0.0960215 0 0 -0.837211 0 -0.480507 -0.103565 0.265374 -0.115169 0 0 0.666484 0 -6.35082 0 -0.278495 -0.5285 0 -1.14424 -0.32571 0.0231711 0 -0.0142209 0 0 0.0996735 0 -1.84619 -1.31321 0 0 -0.19971 0 0 0.150466 -2.78916 -0.756304 0 1.51325 0 1.96311 -0.742399 0.766045 0.620608 0.211724 -1.23533 -2.05063 -0.0590516 -0.99801 11.4538 -0.300544 0 0 0 0.110322 0.0206351 0 0 0 0 -0.237421 -2.57965 -4.89678 7.00058 -0.923027 0.262949 0.663243 -0.792453 0.594149 -0.515179 0.713914 0 0 0 0 0 0 -419 0 0.128817 0.0024062 0.0198392 -0.063754 0.0212097 -0.164627 0.372319 0.300718 0.291982 -0.327354 0.483854 -0.967011 -0.00773403 -2.34036 -0.0571135 0.00939729 0.249166 -0.170846 -0.12644 -1.0036 -0.0566145 -0.00876429 0.0115344 -0.264547 0.110758 0.0168845 -0.0644639 0.249142 -1.01828 -0.636382 0.0614643 -0.377338 -0.0346249 -0.0616528 0.0270878 0.0481824 0.164699 0.210016 0.739031 -0.803682 -0.0406933 1.09432 0.105114 -4.32608 -0.113897 -0.604218 -0.190858 -0.736626 -0.278994 0.532928 -0.785538 -2.61392 0.202729 -0.571255 0.408322 3.35198 1.65084 0.389637 0.374871 0.121591 0.368752 -0.710576 -0.207057 -0.480136 -0.590965 0.559085 -0.105459 0.188964 -0.116229 0.382275 -0.515039 0.368508 -0.0685571 -0.524472 -0.543592 1.60941 -2.56341 -1.319 1.72826 -1.57816 1.20268 -0.317387 0.178857 -0.404354 0.840549 -0.584712 0.120047 -0.429516 0.58321 -0.66026 0.832814 0 0 0 0 0 0.0198392 -0.063754 -0.000331416 0 0 0 0 -0.000503971 0 0.01946 0 0 0.0015458 0.00529342 0.00456413 0 0.000686703 -0.023464 0.0678047 0 0 -0.0204589 0.000327905 0 0.0221534 -0.584168 0 0 -0.0104166 -0.12975 0 0.0988494 0 0.0344435 0 0 0.00313525 0 0 0.706981 -0.00592316 0.0288917 0 0.00782165 0.00855993 0 0 0.120686 0 -0.00566805 0.0366972 0.00553712 0 0 -0.00361919 -0.00221008 0 -0.00836685 -0.000336674 0.000840452 0.248878 0.0137588 0.0263538 0 -0.00533504 0.00300149 -0.232107 0.0547562 0.00503153 0 0 0 -3.87929 -0.224881 -0.343505 -0.043357 0.0174197 -0.0725325 -0.00123516 -0.000563482 -0.00260513 -0.00791996 0 0 0 0 0 0 0.0212097 0 -0.164627 0 0 0 0 0.44452 1.46459 0 0 -0.357427 0 -0.0669942 0 0.0718481 0 0 -0.602793 0 -0.161979 0.0295148 -0.476264 -0.0942168 0 0 0.632022 0 -1.33034 0 -1.45553 -1.21109 0 0.38359 -0.669 -0.0682036 0 0.0376918 0 0 0.158445 0 -2.08016 -0.985132 0 0 -0.165813 0 0 -0.0930581 -0.542292 -0.456523 0 1.66487 0 0.515372 -0.613638 0.538036 0.0852537 -0.0380503 -0.116125 -0.671671 0.0264127 -1.45357 7.58254 0.0994414 0 0 0 0.337539 -0.0756498 0 0 0 0 -0.418216 -2.98125 0.369087 -1.94373 1.26361 -1.08076 0.581871 0.315792 -0.316488 0.30834 -0.347303 0 0 0 0 0 0 -420 0 -0.497078 -0.262318 0.00516672 0.150686 -0.17412 -0.0534645 -0.000181503 0.804335 -0.0565624 -0.894024 0.0218146 -0.403033 0.000853537 -0.345119 -0.0120493 -2.79938 -9.64577 -0.236281 -0.0385278 1.0776 -0.0361675 0.0114949 -0.00240327 -0.136583 0.0999482 -0.833023 -0.0623103 0.0291527 -0.146263 -0.152264 -0.0122509 -0.253411 0.211329 -0.424518 -0.0621458 -0.00430692 -0.356882 2.10187 -0.0143833 0.356449 -0.0023808 -1.8662 -0.0209731 -0.728546 -0.116364 0.124908 -0.128536 -0.587421 0.0594604 -0.663849 -0.221681 5.54533 -0.136465 -0.0476456 0.105903 -0.11932 -0.986924 0.115203 0.0997399 -0.0112503 1.20342 -0.199242 -0.387707 -0.665033 0.883532 -0.21743 -0.323333 -0.612305 0.0248084 0.213627 0.134686 -0.199134 0.356231 0.866341 0.0378781 -0.429187 -6.25667 1.68846 -3.36597 0.0772599 -0.238137 -1.00631 0.909822 -1.0049 1.62861 -1.78449 0.122648 -0.0333359 0.124665 -0.0455471 0.119623 0 0 0 0 0 0.00516672 0.150686 -0.00325618 0 0 0 0 -0.000306822 0 0.0112092 0 0 -0.00501491 -0.00873413 0.00738317 0 0.00132416 -0.00881966 0.0655527 0 0 0.0247891 -0.000599219 0 0.00678213 -0.0042947 0 0 0.00245598 -0.0699052 0 0.0631496 0 -0.00076018 0 0 -4.93495e-05 0 0 0.103044 -0.00438106 -0.0725279 0 -0.044997 -0.014759 0 0 0.104181 0 -0.00718719 -0.15681 -0.000202189 0 0 0.0074792 0.00597835 0 -0.0180262 0.00372953 -0.0033854 0.240602 -0.0227034 0.0104102 0 -0.00165622 0.000517914 0.00751058 0.0700733 -0.0322899 0 0 0 0.237979 0.118228 0.0354104 -0.0052895 0.0106623 -0.0146205 0.00547597 -0.0058205 0.0088571 -0.00881228 0 0 0 0 0 0 -0.17412 0 -0.0534645 0 0 0 0 0.258 -0.7177 0 0 -0.639941 0 -0.0573627 0 -0.0395002 0 0 -0.28108 0 0.364431 0.0977918 -0.276097 -0.0280788 0 0 -0.350611 0 -2.65907 0 2.2731 -0.311867 0 0.732671 0.804926 -0.0247146 0 0.0355791 0 0 -0.0834229 0 -0.854651 -0.415848 0 0 -0.0236284 0 0 0.407384 1.34361 -0.410899 0 0.448944 0 -0.650894 -0.507283 0.424406 0.135668 -0.211033 0.36007 0.289233 -0.0411943 -1.41998 -4.35285 0.145205 0 0 0 -0.274258 0.0235653 0 0 0 0 -0.0780006 -10.0166 2.65635 -4.14745 -0.368789 0.562066 -1.3376 0.478829 -0.370435 0.340529 -0.461336 0 0 0 0 0 0 -421 0 -1.11997 -0.0969136 -0.0883432 -0.536777 0.605759 -0.0976424 0.595486 -2.17067 -0.232629 2.80808 0.253798 -0.22462 0.012691 0.438467 0.0677408 -1.2519 -2.67954 0.516216 0.133207 -1.97988 0.0314543 -0.0881175 -0.0116256 0.477878 -0.0546099 -0.55353 0.00666032 0.5701 0.57158 0.13188 -0.0533885 0.334481 0.102357 0.28953 0.47099 0.0168418 0.213512 3.02151 -0.194379 -1.4344 0.0817851 1.16486 -0.0643047 -0.259767 0.512703 -0.872813 0.407602 0.589583 0.108248 0.379189 0.272123 4.99416 -0.283728 0.00854007 -0.537765 0.0906361 -1.19144 0.0144347 -0.342286 -0.0507115 -1.20871 2.49132 -2.51785 1.67 0.142535 -0.213181 -2.99865 -0.614581 -0.0135194 -0.291003 -0.689524 -0.10748 -0.314803 2.19044 0.526266 -0.804546 -16.1489 -5.99756 4.12077 -4.43069 2.26973 -0.630311 -2.3306 1.49725 -1.88014 2.31678 -0.540387 0.282714 -0.510881 0.280466 -0.467472 0 0 0 0 0 -0.0883432 -0.536777 0.00454394 0 0 0 0 0.00113305 0 0.0147035 0 0 0.000975891 -0.00257412 0.000201538 0 0.00340201 0.0279686 -0.020443 0 0 -0.424941 -0.000217845 0 -0.0255778 -0.511683 0 0 -0.0591142 0.00916874 0 -0.0362373 0 -0.0983087 0 0 -0.0129263 0 0 0.396274 0.0170765 0.0203106 0 0.0736536 -0.000703977 0 0 0.0536555 0 0.0068329 -0.00788258 -0.0071039 0 0 0.00335185 -0.0111572 0 -0.00811494 -0.0016739 -0.0185729 -0.21356 -0.00422747 0.0262309 0 -0.00817268 0.0215805 0.0219431 -0.0483675 -0.0141127 0 0 0 -2.1536 -0.151592 -0.0591624 -0.0147173 -0.000637642 -0.0419224 0.000536163 -0.00183993 -0.00220866 0.00317236 0 0 0 0 0 0 0.605759 0 -0.0976424 0 0 0 0 -0.0532924 -0.787694 0 0 0.78633 0 0.107222 0 -0.0345258 0 0 0.21789 0 0.528203 -0.118063 -0.103761 0.0367552 0 0 -0.348428 0 3.42614 0 0.862972 0.0233788 0 -1.1971 0.379554 -0.00342871 0 -0.0125648 0 0 -0.0803038 0 0.275842 1.24719 0 0 0.153323 0 0 0.132298 -1.12408 0.409065 0 -0.979 0 0.185276 0.217751 -0.305566 -0.108539 0.0594972 -0.0883175 -0.286003 0.040693 0.260731 -9.72587 -0.109582 0 0 0 -0.264536 0.0177837 0 0 0 0 0.255693 -10.8103 -7.33501 8.81453 -2.35025 1.37731 -0.0142025 -0.528739 0.389762 -0.471618 0.830868 0 0 0 0 0 0 -422 0 0 0 0 0 0.0763614 -0.155057 -0.374892 -0.822279 0 0 -0.512341 -0.678678 0 -1.38957 0.0254302 0 0 0 0.144779 1.5159 0 0 0 0 -0.0874136 0 0 1.06862 2.80204 -0.442121 0 -0.0773484 0 0 0.0612464 -0.0783716 0 0 -0.535663 0.241132 0 0 -0.106372 -2.161 0 -0.29206 1.84755 -0.00501518 0.672886 -1.75433 0.586335 0 -0.0673616 0.241112 0.262678 -0.451594 -0.673629 0.134087 0 0 -0.0981543 0.486815 0 -0.011925 0.602911 0.198316 0 0 0 0 -0.144211 -1.20419 0 2.57556 -1.42864 0 0 0 2.13753 0 1.61318 -3.53762 0 1.02718 -1.88792 2.77491 0 0.515763 -2.3739 4.81383 -12.5353 0 0 0 -0.0755649 0.00287386 0 0 0 0.0242349 0.00808218 0 0.00487037 0 -0.00127343 -0.0108868 0 0 0 0 -0.100534 0 -0.0047499 0 -0.208161 0 0.100909 -0.283569 0 0.00167791 0 0 -0.0503033 -0.000761369 -0.0384134 0 0.000578581 0 0.000593712 -0.137927 0.00163321 -0.0144188 -0.0185753 0 -8.6258e-05 0 0 0 4.4192e-05 0 0 0.0057687 -0.000566541 0.135617 -0.0061637 0 0 -0.0216062 0 -0.00748432 0 0 0.000544243 -0.0219236 0.124041 0.00750766 0 0 -0.0883603 -0.0183397 -0.0505868 0.0744563 -0.0793379 0 -0.0676478 -0.00899261 -0.0177531 0 0 0 0.828494 0 0.0928236 0.244113 0 0.00548869 0.0113643 0.0401288 0 0.00131599 0.00449994 0.000231487 0.025222 0 0.0763614 -0.0755649 -0.155057 0.00287386 0.208846 -0.0187263 0.183176 -0.706468 0.717083 -0.00545614 0.0511945 0.967473 -0.00125061 0.109355 0.0182034 -0.0156545 0.0461879 0.0137553 0.355749 -0.412346 0.0860054 -0.19982 0.538548 0.135297 0.341738 0.0268654 -0.0370541 -0.0148173 -1.11969 0.181473 1.39331 -1.00559 0.0012201 -1.03673 0.341533 0.0634524 0.00105922 -0.130055 0.017819 -0.0842901 0.0672239 0.0141193 -1.8361 0.750424 0.00644524 0.0208036 0.244346 -0.0725986 0.153344 -0.648721 2.70413 1.00177 -0.138947 2.3996 -0.00393861 -1.62433 0.488192 -0.80853 -1.10799 -0.302574 0.982614 1.62093 0.103204 -1.93717 5.69872 0.578468 -0.753683 0.237793 0.260234 -0.118159 -0.250499 -0.0862344 0.0352915 0.0570822 -0.202383 -0.21611 -13.148 -6.94583 4.55835 -1.48031 0.371018 -0.687232 -1.00633 0.490535 -0.35204 0.219106 -0.027947 -0.171329 0.199902 -0.217811 -0.000177863 0 -423 0 0 0 0 0 -0.605773 -0.335299 0.5842 1.71314 0 0 -0.327661 -0.521659 0 -1.19088 -0.0900235 0 0 0 0.105476 -4.13007 0 0 0 0 0.42403 0 0 0.476509 2.11732 -0.39114 0 -0.256569 0 0 0.246693 -0.112363 0 0 -0.316022 -1.4642 0 0 -0.212899 -2.42887 0 -0.869636 0.708856 0.433551 0.318601 -2.33321 0.757932 0 -0.482301 -0.358563 0.699378 -1.6455 -1.38544 -0.0876359 0 0 1.36909 3.55185 0 1.62477 1.04125 0.617817 0 0 0 0 0.0324201 -0.351121 0 2.72034 -1.24244 0 0 0 -5.23967 0 -0.500125 -1.9707 0 0.0105366 -0.787161 -2.81275 0 0.553244 -1.41053 2.9674 -10.8595 0 0 0 -0.122453 0.00974052 0 0 0 0.0450652 0.0245811 0 0.00686021 0 0.00647577 0.0922348 0 0 0 0 0.0619344 0 0.034935 0 0.209389 0 0.299645 0.277387 0 -0.00483702 0 0 -0.299033 0.00559224 0.0419855 0 -0.000119746 0 0.00159278 0.0712804 -0.0352009 0.077979 0.00166676 0 0.000466327 0 0 0 -3.22134e-05 0 0 -0.00723174 -0.0129338 0.142416 0.0125547 0 0 0.00642593 0 -0.0145688 0 0 0.0291801 0.0404225 0.0485517 0.0639971 0 0 -0.173465 -0.139844 -0.0488102 -0.0859071 -0.202187 0 -0.00204652 0.0522579 0.0204255 0 0 0 -0.244922 0 -0.0809437 0.313878 0 0.00913202 -0.0125674 -0.0735994 0 -0.00592644 0.0178232 -0.0456775 0.116686 0 -0.605773 -0.122453 -0.335299 0.00974052 -0.162704 -0.119552 0.15735 0.261206 0.0747564 -0.0143313 0.0341436 -0.494735 -0.00532593 -0.0893799 0.0379999 -0.00771219 0.0286927 0.0906132 0.928546 -1.20625 -0.242199 0.099929 0.0333623 0.159222 0.160576 0.241105 -0.0965856 -0.0329055 1.86617 -0.468213 -2.06388 0.0753301 0.00852283 1.28862 -0.557807 -0.0075418 -0.00868629 -0.000108765 -0.0727348 1.67236 0.0535208 0.0376846 0.891595 0.284882 0.0042528 -0.0483555 0.077668 -0.194839 -0.1664 -0.603927 0.163955 -1.03282 0.105841 -0.0296884 -0.109759 -0.920652 0.091842 0.403601 0.492557 0.267911 0.204773 0.812453 0.0627882 -0.798502 -1.97462 -0.0635041 0.093922 -0.0164625 -0.179399 0.137684 0.231694 0.180653 0.022628 -0.240011 0.0947136 -0.170583 19.4759 5.86125 -7.81447 1.66908 0.506243 -5.89078 0.347735 0.356892 -1.3605 -0.416793 -0.184101 0.548779 -1.14626 1.31579 -2.46862 0 -424 0 0 0 0 0 -0.740001 -0.415155 1.43309 3.49505 0 0 1.35322 -0.699594 0 -1.50008 0.0781116 0 0 0 -0.0928247 -2.87982 0 0 0 0 0.832697 0 0 -0.0339524 -10.0419 -0.434071 0 0.614287 0 0 0.451152 0.174085 0 0 4.98325 -2.22161 0 0 0.946638 -3.17191 0 -1.18076 -2.16235 -0.0168304 -2.04432 0.926535 -2.11324 0 0.0818547 0.511049 -0.137793 0.0769771 0.169673 0.092138 0 0 0.52126 1.13084 0 -0.884579 -0.719772 -0.380937 0 0 0 0 0.819392 3.98132 0 -1.01091 -0.676883 0 0 0 -6.4417 0 -9.05496 14.9422 0 -4.89619 7.43281 -10.0261 0 -6.25434 11.1697 -21.1845 38.9006 0 0 0 -0.570548 -0.136033 0 0 0 -0.122312 -0.0120241 0 -0.0242966 0 0.0241346 -0.112639 0 0 0 0 -0.208182 0 -0.0520814 0 -0.422702 0 -0.466007 -0.617277 0 -0.0177641 0 0 -0.600656 0.00807508 -0.132101 0 0.0131076 0 -0.000925156 -0.0768659 -0.109039 0.108694 -0.0106296 0 0.00177106 0 0 0 0.000927679 0 0 -0.0104211 -0.00259853 -0.331584 0.0215958 0 0 -0.0515804 0 -0.000235996 0 0 0.0117281 0.0421351 0.184348 0.015055 0 0 -0.100638 -0.00990462 0.0182257 0.178329 0.275287 0 0.108277 0.00926402 0.142499 0 0 0 1.28533 0 -0.125669 0.885447 0 0.0149889 -0.0455461 0.280983 0 -0.00824505 0.0414734 -0.104067 0.328751 0 -0.740001 -0.570548 -0.415155 -0.136033 0.953976 0.229489 -0.416645 0.512964 0.650672 0.210234 -0.0650943 0.344638 0.037498 0.150089 -0.122695 0.121312 -0.0188159 1.02608 -0.68577 2.04295 -0.389876 0.0299722 -0.287782 -0.110778 -0.473519 -0.179043 0.882495 0.0510862 -0.421661 0.0996017 -3.0474 -0.513039 -0.0270433 0.499092 -1.25903 -0.00269992 -0.00867968 0.0606989 0.00241923 -1.31423 -0.00517973 -0.0285996 -0.189007 -0.831366 -0.00186111 -0.0635891 -0.101917 0.314326 -0.063823 -0.503371 2.09459 0.816949 0.197386 -0.0991761 0.0148674 -1.67503 0.764729 -0.78718 0.354284 0.668416 -2.26906 1.74066 -0.50255 -0.675598 6.14571 -0.329092 0.0570639 -0.0125794 -0.044812 0.615593 -0.189085 0.116068 -0.421073 0.11192 0.13788 -0.496617 28.757 3.58158 -3.13091 -1.74561 -2.08811 7.75236 -2.10357 0.647243 0.748099 0.0605564 -2.08472 1.06425 -0.168244 -0.511586 1.90546 0 -425 0 0.0631056 0.191912 0.0162115 -0.0815671 0.0384698 0.0190623 0.733991 1.04852 0.386433 0.388804 0.11273 0.951468 -0.00807286 1.23121 0.0346637 1.66748 7.24932 0.0375724 0.044161 -1.59224 0.0462088 0.191764 0.00939373 0.0864993 0.486765 0.371074 0.132956 -0.183008 -1.16412 0.453169 0.0579588 0.258625 0.136002 0.325564 0.305169 0.0353706 0.500909 0.121294 0.407132 -0.534261 -0.0396822 1.70399 0.104816 2.23861 -0.109796 0.0166912 -0.414791 0.335982 -0.453271 2.6428 -0.337764 0.532061 0.13923 0.0836354 -0.028587 -0.749541 1.078 -0.293315 0.284192 0.146361 -0.803419 0.778121 -0.295808 -1.17121 -1.77464 -0.71451 1.18056 1.80458 0.00706964 0.26371 0.226651 0.945826 -0.320243 -2.52969 -0.133706 0.837628 2.839 1.1063 -1.7595 -0.374602 0.207817 0.324491 -0.601121 0.202088 0.54809 -3.39737 0.263792 -0.679588 1.70886 -3.17093 6.58255 0 0 0 0 0 0.0162115 -0.0815671 -5.69251e-05 0 0 0 0 -0.000611396 0 0.00889751 0 0 -0.000779506 -0.00206569 0.0100891 0 0.00275906 -0.025865 0.00277766 0 0 -0.0752364 -0.000137862 0 -0.0464332 -0.693391 0 0 -0.000847747 -0.173054 0 -0.215821 0 0.00343471 0 0 0.00158899 0 0 -0.538616 -0.0084405 -0.0148943 0 0.00214358 -0.00472533 0 0 -0.16178 0 0.000517417 -0.0669208 0.00213151 0 0 0.00526052 -0.00830667 0 -0.0142634 -0.0317892 0.000899498 -0.437403 -0.0379392 -0.00510949 0 -0.00674471 0.00460984 0.143031 -0.15404 0.0274416 0 0 0 3.90986 0.336698 0.227407 0.00931058 0.0381635 0.0130427 0.00151668 -0.000687955 0.0036089 -0.00139485 0 0 0 0 0 0 0.0384698 0 0.0190623 0 0 0 0 0.0256806 0.697901 0 0 0.154163 0 0.0125983 0 0.0300854 0 0 -0.448638 0 -0.0391216 0.00796508 -0.0337981 -0.0632847 0 0 0.230345 0 3.90412 0 -1.09487 0.780376 0 -0.0286855 -0.408319 -0.00591824 0 0.00907003 0 0 0.0926192 0 1.53938 -0.922778 0 0 -0.135702 0 0 -0.428892 -0.840134 0.0316253 0 -2.97568 0 0.924824 0.0786561 -0.0860862 0.0544214 0.243467 -0.157706 -0.894157 -0.0627464 2.04183 -0.407302 -0.172821 0 0 0 0.0457149 0.0362823 0 0 0 0 0.051922 5.60736 -0.510652 0.909191 0.2216 -0.308052 0.687421 -0.0820674 0.0107008 0.0118676 -0.0340277 0 0 0 0 0 0 -426 0 -1.05348 0.346124 -0.00034626 -0.0747579 -0.198098 0.289088 -0.358202 0.404128 -0.00805361 -0.57666 0.235323 0.771128 0.00108813 -0.459961 -0.00342907 3.62825 13.1282 -0.121609 0.00850918 0.199286 0.00282577 -0.208834 -0.00423763 -0.100727 -0.284214 1.17669 0.0763568 -0.670105 -0.658736 0.170285 -0.0114145 -0.0586598 -0.184475 -0.0443732 -0.309116 0.0196283 0.629838 0.408086 -0.00429983 0.473855 0.00885296 1.17317 -0.0120006 1.58052 0.0764014 0.699766 -0.877237 -0.0955541 0.0326113 -0.725548 -0.31791 -7.16762 -0.0405043 0.0171367 -0.128496 -4.54753 -0.249028 0.0555502 0.208894 -0.0210042 -1.16323 -0.102636 0.551813 0.0362503 0.022507 0.630983 0.00398246 0.271966 0.000799894 1.18476 -0.445481 -0.0761747 -0.811374 -0.465636 0.53967 -0.0148863 -4.70818 1.84431 -2.56492 1.48117 -1.58708 0.97374 0.966713 -1.10152 2.12976 -1.77435 -0.18356 0.137729 0.575323 -1.13081 3.72484 0 0 0 0 0 -0.00034626 -0.0747579 0.00344947 0 0 0 0 0.00109541 0 -0.0101513 0 0 0.00240889 0.00109765 0.00383183 0 -0.00121461 0.041137 -0.0184905 0 0 0.37253 3.99591e-05 0 0.070355 1.45978 0 0 0.0558229 0.288166 0 0.194362 0 0.0501827 0 0 0.00765854 0 0 0.516329 0.0152326 0.0377182 0 0.0495854 0.0592417 0 0 -0.302933 0 -0.00905438 0.2414 0.0188703 0 0 -0.00120233 -0.0157901 0 0.0316076 0.0634033 -0.00780102 -1.66069 0.033738 -0.045627 0 -0.0113386 -0.0271745 -0.0840982 -0.180024 -0.0247759 0 0 0 -2.77868 0.0744869 -0.372685 -0.0454999 0.1042 -0.261947 -0.00234879 0.000954547 0.0016204 -0.019483 0 0 0 0 0 0 -0.198098 0 0.289088 0 0 0 0 0.197112 0.21414 0 0 -0.361115 0 -0.0505031 0 -0.0106584 0 0 -0.456451 0 -0.981477 0.0695486 -0.343631 -0.0650297 0 0 0.0143566 0 -0.857817 0 0.488186 0.120174 0 0.60326 -1.17208 -0.0382281 0 0.0115051 0 0 0.0208863 0 -0.56174 -0.205901 0 0 -0.0171153 0 0 -0.181578 1.10645 -0.013802 0 -0.1611 0 -1.28368 0.218717 -0.115725 0.551404 -0.0161842 -0.600024 1.37306 -0.139069 0.143232 2.29787 -0.0385682 0 0 0 0.112353 0.174794 0 0 0 0 -0.076455 -3.40926 3.64913 -5.85939 1.24254 -1.19585 0.427558 0.41851 -0.376927 0.367302 -0.46294 0 0 0 0 0 0 -427 0 -0.677206 -0.238602 -0.154325 -0.625654 0.560233 0.310684 -1.17337 -4.62966 -0.323454 3.85572 -0.735383 1.04009 0.0452356 0.84474 -0.0749955 0.447742 3.90292 0.425511 -0.151586 3.09258 0.0263411 0.249379 -0.0316568 0.775008 -0.64893 -0.158383 -0.0288386 0.103391 2.35076 0.243954 -0.1228 -0.573708 0.831639 -0.232205 -0.216255 -0.134051 -0.10849 2.87941 -1.60642 1.01352 0.238409 -1.2391 -0.363141 4.46743 1.01051 0.385353 0.86585 -1.34992 0.693524 -2.90276 1.52319 -1.42891 0.336016 -0.783884 1.54577 0.345893 -0.378138 -0.848024 -1.18795 -0.332593 1.12285 0.244788 -1.44058 0.103908 1.71765 -0.160914 -0.540166 -1.2311 -0.121346 -1.91885 0.611301 -1.16085 0.0441366 0.713795 -2.54563 -0.48884 -9.27397 -11.1249 10.4745 -5.15006 4.97143 -6.79595 -5.83016 5.78555 -8.40302 10.5461 -2.42783 3.6831 -5.68092 8.62055 -13.2924 0 0 0 0 0 -0.154325 -0.625654 -0.000729876 0 0 0 0 0.00191584 0 -0.0492273 0 0 0.011342 0.0333159 -0.085972 0 -0.0124671 -0.0337498 -0.364596 0 0 -0.0777894 0.00241633 0 -0.0329856 -0.823527 0 0 -0.0080002 -0.136112 0 -0.199106 0 -0.0675737 0 0 -0.00761571 0 0 -0.582075 0.0271852 0.155698 0 -0.00790289 0.0665014 0 0 -0.11692 0 -0.0181104 0.0069869 0.045232 0 0 -0.0106126 -0.0117844 0 0.00760249 0.0612636 0.0127979 0.234876 0.018651 -0.00340398 0 0.00237934 -0.104367 0.25185 -0.0938845 -0.0698342 0 0 0 4.05549 -0.20114 0.921805 0.0663746 -0.0947243 0.210347 -0.0115074 0.0198127 -0.0398387 0.0913896 0 0 0 0 0 0 0.560233 0 0.310684 0 0 0 0 -0.642719 -1.0529 0 0 1.75101 0 0.222855 0 -0.0407241 0 0 0.989109 0 0.421752 -0.244556 0.608066 0.112163 0 0 -0.453811 0 4.06685 0 3.48351 0.184369 0 -1.78008 1.18787 0.0837157 0 -0.0937775 0 0 -0.0849106 0 0.946873 2.61781 0 0 0.291682 0 0 0.884557 -4.0958 0.00398666 0 0.789282 0 2.43465 -0.861315 0.386816 -1.84145 -0.0117924 1.68411 -2.93176 0.481749 -0.583306 -6.59797 0.211188 0 0 0 -0.565159 -0.484191 0 0 0 0 0.355978 -24.0203 -13.288 12.766 -3.46248 2.7373 -2.04051 -1.53069 1.2377 -1.23174 1.35935 0 0 0 0 0 0 -428 0 0.850052 0.254563 0.0445495 0.0226476 0.152197 0.194058 0.304673 0.994953 0.310103 -1.17402 0.511616 0.62482 -0.0216936 2.10564 0.0426934 0.0323446 -0.275748 -0.166705 0.077688 2.15188 -0.0344356 -0.43454 0.0196065 -0.345675 -0.142357 0.160199 0.100782 -0.660073 -1.60563 0.530525 0.0772774 0.0953003 -0.984414 0.365095 -0.204136 0.114338 0.523315 -3.12316 0.869819 1.45082 -0.0970837 1.83175 0.204084 2.59886 -0.366093 0.855536 -1.05507 0.202932 -0.640952 2.91013 -1.25413 -6.88481 0.084385 0.073452 -0.617949 -3.49569 -0.601817 -0.349202 0.766739 0.24578 -2.26898 -2.39331 -1.97387 -0.540008 -1.59426 0.224289 -0.692818 0.737514 -0.0748984 1.31397 -0.813759 0.885714 0.324504 -3.60693 1.52793 -0.783459 16.1537 9.41716 -4.13838 5.59934 -5.27873 9.28745 2.22587 -2.33994 4.28308 -3.09183 0.817045 -1.36367 2.47189 -3.33987 5.96626 0 0 0 0 0 0.0445495 0.0226476 0.000777654 0 0 0 0 -0.000249253 0 0.00935664 0 0 -0.0045391 -0.0126042 0.0233457 0 0.00327414 -0.0288108 0.0553416 0 0 0.369611 -0.000879639 0 0.063668 0.649883 0 0 0.0542365 -0.00748346 0 0.0424836 0 0.0771337 0 0 0.0111123 0 0 -0.216809 -0.00379583 -0.070417 0 0.00586199 0.065123 0 0 -0.36894 0 -0.00252705 0.048602 -0.00732281 0 0 0.00790936 -0.00649915 0 -0.00977792 -0.0461502 -0.00426368 -0.825779 -0.0688842 -0.0317947 0 0.0103583 0.0130632 -0.00810484 -0.0831761 0.0349433 0 0 0 4.07523 0.657703 0.086199 -0.0298487 0.147718 -0.187415 0.00471677 -0.0048466 0.0159131 -0.0202954 0 0 0 0 0 0 0.152197 0 0.194058 0 0 0 0 0.47672 1.2432 0 0 -0.41175 0 -0.0665625 0 0.0727336 0 0 0.0598262 0 -0.293196 0.0959425 -0.402402 -0.0130848 0 0 0.442234 0 5.3473 0 -0.679072 0.774004 0 0.592781 -0.349387 -0.0584683 0 0.0727461 0 0 0.179679 0 2.25841 -0.364318 0 0 -0.0771181 0 0 0.0358443 -0.624307 0.568455 0 -1.32419 0 -0.644428 0.436687 -0.511993 0.518677 0.0726291 0.0199145 0.293855 -0.268255 -0.103125 -0.68324 -0.0392046 0 0 0 -0.171367 0.199995 0 0 0 0 -0.080212 2.37289 2.82364 -3.48811 0.450679 -0.421993 0.570122 0.45131 -0.421343 0.428605 -0.553783 0 0 0 0 0 0 -429 0 -0.237884 -0.436152 0.0166921 -0.173086 -0.00915752 -0.165517 0.574336 1.35919 0.38432 -0.716055 -0.321699 0.480999 -0.0157461 1.76155 0.00776981 -1.49006 -3.18002 -0.202084 -0.0590944 2.51637 -0.0992904 0.418012 0.0274655 -0.343724 0.605834 -0.757884 -0.0141808 0.415605 1.60841 0.291069 0.104331 0.0421762 0.492521 0.209328 0.355503 -0.0128166 0.00640128 0.505861 -0.710798 0.579833 -0.0450927 0.590511 -0.034236 2.69848 0.031113 -0.0457172 0.776642 -0.330032 0.00263465 1.42257 -0.0147745 -1.57752 0.396466 -0.287618 0.121368 1.51572 1.37778 -0.0378327 0.546458 0.126281 -1.01342 -2.2959 1.12194 -2.01583 -0.509848 -1.08816 1.01875 -0.0362051 -0.192354 1.63626 -0.0481155 -0.0315591 -0.0760859 -3.02195 -0.142064 -0.764133 -8.20624 0.490577 -4.91345 -0.370074 1.02413 -3.79571 0.716772 0.328166 -1.15928 -0.985797 -0.069438 0.826582 -1.85263 3.04741 -5.9766 0 0 0 0 0 0.0166921 -0.173086 -0.000421967 0 0 0 0 -0.00118267 0 -0.0323139 0 0 0.00819248 0.0163839 -0.0245045 0 -0.00396937 0.013588 -0.227791 0 0 -0.0536184 0.00120835 0 0.0274124 -0.295894 0 0 -0.010074 0.0050679 0 0.00483451 0 0.00725103 0 0 -0.000146423 0 0 0.0918437 -0.0159671 0.110927 0 -0.00209804 0.118611 0 0 -0.279022 0 -0.0186445 -0.124866 0.051431 0 0 -0.008395 -0.0124836 0 0.0145131 -0.019419 0.0206687 -0.261018 0.0864332 -0.0343398 0 0.0184726 -0.118939 0.0924244 -0.073857 -0.155297 0 0 0 1.51171 0.0279817 0.419502 -0.0112074 0.0594058 -0.0945374 -0.0087855 0.0168932 -0.0345931 0.0584121 0 0 0 0 0 0 -0.00915752 0 -0.165517 0 0 0 0 -0.0177347 0.535928 0 0 0.353065 0 0.0156387 0 0.0340285 0 0 -0.252359 0 1.12338 0.0952196 0.254125 -0.0519048 0 0 0.19972 0 2.56712 0 5.06065 0.115675 0 0.361259 2.25539 0.020049 0 0.0207039 0 0 0.0931449 0 0.723941 -0.550127 0 0 -0.112593 0 0 0.281223 1.10956 0.143695 0 -1.49064 0 0.828722 -0.194836 0.0378685 0.091357 -0.233935 1.63613 -0.447776 0.143373 0.620292 -3.13304 0.338085 0 0 0 -0.379861 -0.0418411 0 0 0 0 0.2087 -46.0257 -8.55852 1.63042 -4.03932 3.27548 -3.37398 -0.376974 0.286309 -0.202235 -0.237899 0 0 0 0 0 0 -430 0 -1.51258 -0.444788 -0.162687 -0.52289 0.281638 0.27503 -2.22368 -5.84016 -0.327705 4.41948 -0.601121 -0.153933 0.0615838 1.41848 -0.0646258 -2.10989 -10.1713 0.673215 -0.208276 4.07867 0.138113 -0.0222396 -0.0538793 1.10286 -1.15669 -0.378493 -0.0399023 -0.117317 0.619599 0.228433 -0.159176 -0.42115 0.563713 -0.199502 -0.465696 -0.129568 -0.606635 4.86638 -1.20745 1.71061 0.245449 -2.12383 -0.298561 1.31116 0.826173 0.754448 0.0882284 -1.23806 0.505352 0.279684 1.63579 0.645255 0.430002 -0.538796 0.621245 -0.716059 -0.0402567 -0.20038 -1.49027 -0.31511 1.07771 0.301767 -0.822274 2.05123 1.31391 1.04284 -0.893834 -1.22066 0.0478736 -2.90896 -0.0911258 -0.723996 0.785129 -0.36175 0.241706 0.858191 -16.5852 -11.9049 11.0584 -7.04142 7.65046 -9.47785 -7.16877 6.91784 -8.34278 11.4769 -1.84385 2.23437 -2.22637 2.90854 -2.30233 0 0 0 0 0 -0.162687 -0.52289 -0.00239193 0 0 0 0 0.00121417 0 -0.0300501 0 0 0.00619496 0.023046 -0.0794127 0 -0.00816894 -0.0888164 -0.270803 0 0 -0.11722 0.00170448 0 -0.145769 -1.64727 0 0 -0.0147092 -0.414889 0 -0.389814 0 -0.0811748 0 0 -0.0094989 0 0 -0.884234 0.0167862 0.0809321 0 -0.0342841 0.0137776 0 0 -0.0194884 0 0.00081236 -0.104038 0.00557533 0 0 -0.00464833 0.00442866 0 -0.0132392 0.0252867 0.00872121 1.22599 -0.0449694 0.0171501 0 0.00807191 -0.0395152 0.212136 0.0660646 -0.0317821 0 0 0 5.62264 -0.0517241 0.960742 0.0772566 -0.107097 0.276351 -0.00602518 0.0124672 -0.0256051 0.0792304 0 0 0 0 0 0 0.281638 0 0.27503 0 0 0 0 -0.341333 -1.73662 0 0 1.71192 0 0.209871 0 -0.113715 0 0 0.506558 0 0.691261 -0.15855 0.507001 0.0898021 0 0 -0.82211 0 -5.39231 0 7.10014 0.440123 0 -1.19498 2.28862 0.0618075 0 -0.0442336 0 0 -0.238556 0 -0.591318 0.817062 0 0 0.134294 0 0 0.0344586 0.0611202 -0.80093 0 0.430111 0 1.14986 -1.11071 0.96795 -1.51835 -0.192787 2.51303 -1.04185 0.498469 1.66115 3.63216 0.464671 0 0 0 -0.00208095 -0.472658 0 0 0 0 0.399947 -53.1128 -15.6183 9.44569 -5.29466 4.27158 -4.50234 -1.392 1.13571 -1.2011 0.915985 0 0 0 0 0 0 -431 0 0 0 0 0 0.166814 -0.283683 0.625375 0.147698 0 0 0.047996 -0.185539 0 -0.921146 0.000670045 0 0 0 -0.0942697 1.4766 0 0 0 0 0.469233 0 0 0.966811 0.977473 -0.577559 0 0.562897 0 0 0.410904 0.0156416 0 0 0.22076 -0.175184 0 0 0.0465382 0.921912 0 -0.810899 1.15411 1.02189 -0.0700139 -4.01066 0.358889 0 0.0791036 -0.257055 0.1922 0.095339 -0.127279 -0.390034 0 0 -0.325654 -2.58619 0 -0.472326 1.07059 -0.0351712 0 0 0 0 -0.169938 0.387186 0 0.19119 -1.01633 0 0 0 -1.29102 0 -0.163913 -2.21856 0 0.152855 -0.656688 0.74255 0 -0.169019 0.304179 0.422383 -3.6406 0 0 0 -0.0503519 0.0154628 0 0 0 -0.0405315 0.0219154 0 -0.00745101 0 0.00823418 -0.0357659 0 0 0 0 -0.210227 0 -0.0275474 0 -0.410376 0 -0.193043 0.0136417 0 -0.00407522 0 0 -0.164241 0.00205257 -0.00883729 0 0.00414893 0 0.00163545 0.0220537 -0.0261073 0.0175547 0.0053679 0 0.000668666 0 0 0 0.00026299 0 0 -0.00617019 0.00234824 -0.482416 0.0317276 0 0 0.0160604 0 -0.00293505 0 0 0.00466942 0.00600807 -0.121882 0.0600821 0 0 -0.150553 0.00991278 -0.0103771 -0.259791 -0.503055 0 -0.167088 -0.00196937 0.0727363 0 0 0 1.93108 0 0.0394277 0.411531 0 0.0199184 -0.0109189 0.477474 0 -0.00371394 0.0143319 -0.022068 0.127531 0 0.166814 -0.0503519 -0.283683 0.0154628 0.0288934 2.41004e-05 0.17858 0.272949 1.94016 -0.0311895 0.0267063 -0.201276 -0.00574627 -0.0201409 0.0381891 0.0901437 0.0331294 -0.130056 0.261142 -0.46654 -0.372397 0.0208653 0.169995 0.0315707 0.210857 0.0310216 0.833302 -0.0145415 -0.442295 -0.0393745 -0.765878 -1.63169 0.00713247 0.230339 -0.203984 0.0359235 0.000430238 0.00928547 -0.00916968 0.164406 0.273754 0.00552691 -1.88647 0.901064 0.0046187 0.00253564 0.0881651 -0.0811283 -0.0999623 -0.125738 -0.926712 -1.1361 -0.0483994 0.576755 -0.0525506 -0.42966 0.501499 0.201591 -0.14882 -0.00290521 -0.490979 0.311908 -0.123381 -1.67264 -4.75736 0.0856942 0.303216 0.0453315 -0.123785 -0.10115 0.0256022 -0.0235538 0.0824009 -0.0676798 0.0522621 -0.165843 2.09477 0.580152 -0.0378632 0.382734 0.0895636 -0.495601 0.105617 0.0443492 -0.0457515 0.171858 0.0695806 -0.00417386 0.0213807 0.0456888 -0.0639553 0 -432 0 0 0 0 0 0.520017 0.0869866 0.106645 -0.729851 0 0 0.189221 -0.857359 0 0.133091 0.0534214 0 0 0 -0.0242913 -2.43143 0 0 0 0 -0.223283 0 0 -0.141048 -1.79834 0.00848001 0 0.424993 0 0 -0.0795449 0.0150288 0 0 0.648375 -0.667171 0 0 0.113899 -2.99666 0 0.0982065 -0.41116 0.290887 -0.279589 1.88763 -0.562738 0 0.0704117 0.157485 -0.239675 -0.609718 -0.105575 -0.427167 0 0 -1.14535 1.41927 0 -0.461065 -0.475293 -1.04232 0 0 0 0 -0.26998 0.530251 0 0.231869 -0.244083 0 0 0 3.06416 0 -0.615678 3.4164 0 -0.533934 2.25362 -0.749613 0 -0.796287 2.03732 -2.99266 5.14845 0 0 0 -0.121764 -0.0195168 0 0 0 0.0283764 0.0264114 0 0.00330857 0 -0.00334808 -0.0106535 0 0 0 0 -0.0555656 0 0.00481481 0 -0.288088 0 0.277723 -0.0659351 0 0.000947603 0 0 -0.0566115 -0.000393942 0.00428076 0 0.00542973 0 0.00318036 -0.0920978 -0.00262996 -0.014632 -0.0103022 0 -0.000223688 0 0 0 0.000478865 0 0 0.00142701 0.00572722 -0.225427 0.0105566 0 0 -0.00503435 0 -0.00575117 0 0 0.01983 -0.0615365 -1.03195e-05 0.041297 0 0 -0.021918 -0.00256925 0.0162534 0.0612002 0.172246 0 0.217121 -0.0263203 -0.0232914 0 0 0 1.07669 0 0.125874 -0.0274377 0 0.0156268 -0.0313429 -0.0566143 0 -0.000133481 0.0106741 -0.00733771 -0.188232 0 0.520017 -0.121764 0.0869866 -0.0195168 0.353997 0.0765511 -0.0296721 -0.239573 -0.267552 0.0228735 0.0414676 0.272028 0.00376446 0.0384332 -0.0177967 0.00480532 0.0159098 0.140265 -0.110832 0.0769342 -0.124489 -0.0521777 -0.0829151 0.00352852 0.15753 -0.0443966 0.0334064 0.014455 -0.931275 0.260328 -0.650053 0.17513 -0.00414059 -0.703074 -0.513835 -0.0178809 0.00552115 -0.0510073 0.0524505 -0.348085 -0.0571149 -0.00724333 0.163457 -0.208281 0.00466891 0.0245731 0.0389446 0.0459058 -0.021578 -0.237763 1.03347 1.29972 0.0226205 -0.767912 0.0473516 -0.330756 -0.00385485 -0.720862 0.0468856 -0.215781 0.147309 -0.0167484 -0.10923 -0.0628949 -5.88519 0.153263 -0.230615 0.0603303 0.295458 -0.136105 -0.0414558 -0.0465301 -0.0379911 0.0734422 -0.154758 0.175691 1.77798 -0.113231 0.804219 -0.0179309 -0.885157 0.585026 -0.128607 -0.154175 0.296815 -0.589224 -0.0750423 -0.118313 0.186124 -0.246113 -0.253853 0 -433 0 0 0 0 0 -0.770223 -0.139363 0.142778 1.53614 0 0 0.563324 0.378459 0 -1.36286 0.0394823 0 0 0 0.0847357 -3.43879 0 0 0 0 0.364739 0 0 -0.105384 -5.45714 -0.139717 0 0.035988 0 0 0.0162403 0.0315002 0 0 2.04382 -1.33108 0 0 0.293798 -0.568743 0 -0.436134 -1.2418 0.172802 -0.241013 -2.61368 -0.0401736 0 -0.325036 0.327972 -0.12909 0.243069 -0.112272 0.415702 0 0 0.746127 3.49852 0 -1.19368 0.266681 0.598911 0 0 0 0 0.0337609 0.35089 0 3.85866 -0.100785 0 0 0 -2.50747 0 -1.27974 3.01734 0 -0.0183995 1.77109 -4.22823 0 -0.92452 3.88946 -8.73876 16.6301 0 0 0 -0.333988 -0.0588274 0 0 0 0.0540734 -0.0433065 0 0.00726339 0 -0.0135381 -0.0370448 0 0 0 0 -0.0219234 0 0.00181536 0 -0.29568 0 0.449391 0.47768 0 0.00203517 0 0 -0.0400099 -0.00516329 0.0694908 0 -0.00322374 0 -0.00306683 0.123552 0.00334545 -0.0782077 0.0129425 0 -0.00093824 0 0 0 -0.000255261 0 0 0.013801 -0.00461437 -0.248614 -0.0657566 0 0 -0.0253022 0 0.00537401 0 0 -0.00916906 -0.0183298 0.140856 -0.00946523 0 0 -0.150128 0.0512711 -0.0157256 -0.235269 0.0483647 0 -0.198579 -0.0280996 0.0489854 0 0 0 1.39903 0 0.204412 0.410591 0 -0.00252518 0.0695084 0.314658 0 0.00628982 -0.00736802 0.0495511 0.23831 0 -0.770223 -0.333988 -0.139363 -0.0588274 0.549819 0.118871 -0.391384 0.645316 -1.72198 0.0265812 -0.0321275 -0.500477 0.0047905 -0.0296737 -0.0583789 -0.0833405 -0.0400812 0.113515 0.179361 0.397468 -0.305008 0.235361 -0.523373 0.0361719 -0.245739 -0.0969803 -0.641294 0.0105931 -9.44435 0.660005 -2.93992 -0.70501 -0.00873645 1.94939 -1.50101 -0.0615116 0.00657775 0.0719243 0.0750908 -0.964329 -0.264415 -0.0101431 -3.20912 0.468751 -0.00579677 0.0640048 0.0896061 0.0616281 0.13839 -0.180931 -1.11036 -0.0587954 0.0215004 -0.579904 0.10397 -0.274954 -0.0533442 -0.11616 0.0147827 0.52487 0.385799 -0.0116399 -0.243812 1.93902 -1.78366 0.0302889 -0.552438 -0.113133 -0.0777669 0.18184 0.0641994 -0.15335 0.0105066 0.150975 0.257164 0.539334 8.04106 1.85481 -6.65378 0.631196 -2.91839 3.96757 0.0886883 -0.619245 1.0545 -1.26148 -0.0607312 -0.301173 0.611044 -1.04062 1.81088 0 -434 0 0.0443457 -0.0886585 -0.0382877 -0.0876078 0.0660319 0.130099 -0.315531 -0.356004 -0.359329 0.783747 -0.265396 0.0475781 0.008069 0.0704876 -0.0592166 -0.66294 -1.48435 0.00126102 -0.0601028 -1.02346 0.0158559 0.00534485 -0.0106121 0.253474 -0.0821424 -0.232687 -0.0323212 -0.338256 0.198014 0.135187 -0.0640163 -0.567472 -0.131673 -0.182767 -0.153352 -0.0495817 -0.387472 -0.380543 -0.427248 -0.179181 0.0482786 -1.36864 -0.0845374 -0.0429637 0.252271 0.153587 -0.200828 -0.736706 0.220479 1.16867 0.372621 2.39252 0.0345868 0.00656059 -0.0359827 0.494905 -0.250502 -0.217777 -0.351946 -0.105456 0.219229 1.12361 -1.05508 -0.629913 -0.125422 -0.503214 0.506013 -0.158706 0.114578 -0.163058 0.289746 -0.416416 0.391168 0.0641378 0.322681 0.0674301 -2.37849 -3.20652 1.39223 0.0879457 -0.523901 1.48066 -1.09836 0.567336 -0.709618 -0.121039 -0.115439 0.223347 -0.342601 0.602082 -0.466709 0 0 0 0 0 -0.0382877 -0.0876078 0.00530108 0 0 0 0 0.000671903 0 -0.0119931 0 0 0.00415724 0.00347407 -0.02222 0 -0.00214812 -0.00221342 -0.119546 0 0 -0.309511 0.000320753 0 -0.118499 -0.0979792 0 0 -0.0353055 -0.0146179 0 -0.366642 0 -0.0532516 0 0 -0.00511757 0 0 -0.825575 0.011926 0.0535729 0 0.0807957 0.0308971 0 0 -0.0217515 0 0.0114812 -0.559968 -0.0177771 0 0 -0.00819054 -0.00844069 0 0.0083952 0.0512303 0.0215826 -2.38228 0.0131548 -0.0162859 0 -9.90545e-05 0.125381 -0.0694336 -0.0852507 -0.0662987 0 0 0 6.81535 0.168206 0.655731 0.0296478 -0.0667956 0.965321 -0.00585313 0.0100697 -0.0077263 0.0453312 0 0 0 0 0 0 0.0660319 0 0.130099 0 0 0 0 -0.126182 -1.01136 0 0 0.0810468 0 -0.000255498 0 -0.0514507 0 0 0.189943 0 0.277218 -0.0106237 0.0145252 0.00891826 0 0 -0.476606 0 2.89627 0 -0.32686 0.960926 0 -0.0565346 0.0412992 -0.00153083 0 -0.0189583 0 0 -0.11486 0 1.77356 0.165671 0 0 -0.016214 0 0 0.10772 0.0838019 -0.140793 0 -0.238033 0 -0.71759 -0.0249138 0.0418097 -0.355949 -0.041265 0.367871 0.520575 0.00441373 0.86494 5.07425 0.0406906 0 0 0 -0.010915 -0.0116162 0 0 0 0 0.0170324 3.32488 0.0116816 0.299806 0.105804 -0.0807211 0.420446 -0.0683125 0.0736325 -0.0445012 0.0653979 0 0 0 0 0 0 -435 0 1.56771 -0.26356 0.000743796 0.0440078 0.19774 -0.194159 0.381015 -0.164756 -0.0684436 -0.130832 -0.105631 -0.334093 -0.00249782 -0.574537 -0.0744613 -1.88075 -7.38879 -0.0170422 -0.132797 0.537195 -0.0150555 0.385589 0.00167877 -0.0270371 0.3095 -0.731902 0.0213553 0.596017 0.390614 -0.183635 0.00252902 -0.558289 0.21541 0.186087 0.374506 -0.0203866 -0.094099 -2.25944 0.0157317 -0.522767 -0.0166765 -0.555542 -0.00560002 -0.924523 -0.106467 -0.695706 0.683003 -0.959239 -0.0168115 -0.428106 -0.0554415 -3.52472 0.257454 -0.0773748 0.136486 1.57982 -0.0597202 0.294113 -0.000827882 0.0534531 -0.62186 -0.558511 -1.48419 0.0307731 -0.164411 0.35026 -0.908545 -0.0930325 -0.0191653 -0.277293 -0.192023 -0.24539 -0.037937 0.442302 -0.545928 -1.03671 14.8714 3.49828 3.20855 1.64859 0.0895204 1.8391 0.114554 0.361098 -0.384517 0.942784 0.0487193 -0.0566039 0.0360969 0.175927 -0.920659 0 0 0 0 0 0.000743796 0.0440078 0.0019627 0 0 0 0 -0.000138929 0 0.0105164 0 0 -0.00152337 -0.00595616 0.0188226 0 0.00226017 0.0074989 0.110942 0 0 0.160089 -0.000361062 0 0.0290613 0.533234 0 0 0.0151063 0.0583592 0 0.0159722 0 0.0311386 0 0 0.00308308 0 0 -0.492434 -0.00325909 -0.0321641 0 0.0191546 0.0439853 0 0 -0.211082 0 0.00369498 0.0430671 -0.0188407 0 0 0.00214162 -0.00384678 0 -0.00105288 -0.0645273 -0.0142468 0.0631368 -0.0606261 0.00664156 0 0.0126944 0.0639943 -0.104148 0.0102297 0.0428929 0 0 0 2.42017 0.206645 -0.339165 0.0213408 -0.0231249 0.164608 0.00120281 -0.00386883 0.0356906 -0.121776 0 0 0 0 0 0 0.19774 0 -0.194159 0 0 0 0 -0.0127801 -0.53938 0 0 0.265233 0 0.0214385 0 -0.0254238 0 0 0.0805228 0 0.783283 -0.0490978 0.0718839 0.00485336 0 0 -0.2804 0 0.755448 0 -1.00853 -0.171557 0 -0.379634 0.761972 -0.00131379 0 0.00314728 0 0 -0.0620707 0 -0.0989348 0.450027 0 0 0.0519434 0 0 -0.125318 -0.822583 -0.0414574 0 -0.17413 0 0.0184471 -0.0577761 0.0709243 -0.25051 0.116684 -0.266031 -0.141955 -0.0872119 0.0491492 0.611588 -0.0970895 0 0 0 0.0474255 0.0206259 0 0 0 0 -0.0837805 9.82569 -0.583548 2.38854 0.1271 0.0470491 0.453198 -0.120896 0.0786611 -0.0883377 0.0582377 0 0 0 0 0 0 -436 0 -0.871533 0.217481 -0.0502506 -0.315134 0.522041 0.20576 -0.207921 -1.82207 -0.428998 1.02111 -0.238347 0.964786 0.00379034 1.79709 -0.0300308 1.60557 6.63884 0.162083 -0.0369276 6.03347 0.00894703 -0.0953532 -0.00793287 0.136318 -0.115682 0.312175 0.0268406 0.166489 1.60594 0.353545 -0.0576606 -0.140603 -0.170806 0.11239 -0.0118842 -0.0312178 0.142204 -0.814564 -0.386163 2.61913 0.0193335 0.491798 -0.0624201 4.10078 0.062846 0.999576 0.764144 -0.170578 -0.0214579 0.260948 0.00185224 -4.16055 0.12921 -0.120624 0.295865 -1.99857 0.802152 0.34666 -0.00153901 0.00336104 -0.463314 -6.23685 -0.550978 -1.21003 -0.17375 -0.655675 0.755217 0.210588 0.129508 0.437566 0.147912 0.13638 -0.0890996 -4.35085 -0.637728 0.323162 4.73921 -0.0577024 3.03853 0.824837 -0.126282 0.838884 -0.313552 0.880475 -2.14286 3.45867 -0.0287583 0.119642 -0.441501 1.2546 -3.78512 0 0 0 0 0 -0.0502506 -0.315134 -0.00278991 0 0 0 0 -3.02241e-05 0 -0.0120269 0 0 -0.00411013 -0.0065249 -0.0207366 0 -0.00239974 0.0468567 -0.10548 0 0 0.169105 -0.000424895 0 -0.0474313 1.06804 0 0 0.0212347 0.269831 0 -0.104705 0 0.00112488 0 0 0.000958196 0 0 -0.520521 0.00119677 -0.0602039 0 -0.0346319 -0.0366658 0 0 -0.0490645 0 -0.00535277 -0.883045 -0.00361544 0 0 0.00857869 0.00521321 0 -0.0182514 0.0298375 -0.0300926 0.506412 -0.0169026 0.00294433 0 -0.00638141 -0.0178796 0.199339 -0.0329749 -0.417932 0 0 0 5.17533 0.355351 0.791113 0.0058735 -0.0251337 0.771056 0.00506229 -0.00896842 0.0275106 0.155974 0 0 0 0 0 0 0.522041 0 0.20576 0 0 0 0 -0.361865 0.470378 0 0 1.18775 0 0.126294 0 0.043356 0 0 0.686282 0 0.0531001 -0.141961 0.442939 0.0974227 0 0 0.334213 0 10.0469 0 3.67566 0.996036 0 -1.16729 0.885182 0.0467823 0 -0.0480195 0 0 0.0677339 0 3.69811 1.40663 0 0 0.195974 0 0 -0.356149 0.300954 -0.404952 0 -1.01265 0 0.101779 -0.0315253 0.207721 -0.109816 0.0424067 0.523584 -0.146624 0.0759085 -1.32427 -5.50393 0.0159642 0 0 0 -0.0319799 -0.101878 0 0 0 0 -0.139648 -17.499 -5.60996 4.98491 -1.67928 1.62776 -1.93912 -0.470948 0.449995 -0.658614 0.787436 0 0 0 0 0 0 -437 0 -0.182214 0.311243 -0.000704638 -0.0389806 -0.135072 0.258218 -0.68086 -0.582077 0.0470579 0.233732 -0.0349974 1.10079 -0.00046207 1.31957 -0.0161749 2.18675 10.005 0.104257 -0.0311245 0.0432753 0.0325571 0.0508569 0.000834961 0.0875665 -0.216713 0.435204 -0.0169265 -0.559506 -0.822657 0.55794 0.00645992 -0.147548 0.147523 0.00456214 -0.233142 -0.0132839 -0.100918 -0.444023 -0.0536444 0.679076 -0.00360563 0.0481017 -0.0124278 2.5035 -0.0218291 0.700668 -0.719657 -0.285493 0.00588929 0.769613 0.15032 -1.47434 -0.00240926 -0.00628184 0.00723162 -3.60041 0.123778 0.0457652 -0.137452 0.0142046 0.559655 -0.6472 -0.936023 -1.37272 -0.135607 0.0473461 0.891003 -0.0542028 -0.00524771 -0.00888764 0.343958 -0.107983 -0.0823597 -2.73 0.640433 0.104542 -8.26815 -3.24111 -0.48163 -0.528931 -0.512724 1.09491 -0.299858 0.0464146 -0.0178903 0.443998 0.00889584 0.00503638 0.18756 -0.173144 1.50254 0 0 0 0 0 -0.000704638 -0.0389806 -0.00339872 0 0 0 0 -0.000419614 0 0.0046908 0 0 0.000220768 -0.00031942 0.00246988 0 8.40697e-05 -0.0083838 0.0470707 0 0 -0.0425328 0.000103661 0 -0.0547569 -0.668252 0 0 -0.00874473 -0.104993 0 -0.237087 0 -0.00701021 0 0 -0.00105527 0 0 -0.776515 -0.00662484 -0.0118858 0 -0.0572585 0.110553 0 0 -0.245775 0 -0.00670823 -0.444755 0.0134021 0 0 -0.000814223 0.00566949 0 0.00285529 0.0231823 0.0142515 -1.20634 0.0329743 -0.0199417 0 -0.0148294 0.0409345 -0.291837 0.0281244 -0.0401518 0 0 0 7.41067 0.48268 0.157377 0.0137616 0.00612277 0.670844 -0.00156289 0.00519874 0.0161132 -0.0724962 0 0 0 0 0 0 -0.135072 0 0.258218 0 0 0 0 0.117688 -0.440061 0 0 -0.0347384 0 -0.00897051 0 -0.0428821 0 0 0.221188 0 0.0639261 0.0261511 -0.0649611 0.0192544 0 0 -0.389994 0 4.4802 0 0.413686 0.889667 0 0.156233 0.354447 -0.00772471 0 0.0209823 0 0 -0.0504036 0 1.6306 0.444635 0 0 0.0518401 0 0 0.0449918 0.391658 0.0048022 0 -0.77096 0 -0.794588 -0.0615227 0.0452952 -0.0772063 -0.109673 0.296904 0.860783 -0.0774579 0.363924 -1.60052 0.142245 0 0 0 -0.000730069 0.0502857 0 0 0 0 -0.0331953 -0.834596 -0.556603 0.185849 -0.334524 0.17206 0.24111 0.0396899 -0.0275556 0.0506768 -0.105066 0 0 0 0 0 0 -438 0 0.149064 0.447033 -0.00529229 -0.0951111 0.10928 0.229019 -0.862245 -1.06775 0.136325 -0.00389884 -0.0245063 -0.200777 8.99658e-05 -1.02522 -0.0186019 0.114402 -1.66676 -0.0433586 -0.0308657 -0.441122 -0.023076 -0.583047 0.0013953 -0.0803222 -0.51844 0.429411 -0.0348642 -0.555517 -0.609268 -0.055688 0.0137504 -0.189219 -1.0444 -0.265062 -0.452028 -0.00330784 -0.0471325 -1.99757 -0.0555129 0.38867 0.00246935 -0.195535 -0.00689775 -2.20953 0.0418578 0.483672 -0.57587 -0.320716 0.0048534 -0.0457323 -0.342552 1.42 -0.0941669 0.0371052 -0.0666297 0.897579 -0.339065 0.210237 0.10541 0.00197185 0.461787 -0.130691 0.209468 0.460923 -0.2816 0.544359 -0.362628 0.147822 -0.014147 -0.307267 0.00569013 -0.160841 0.0270696 1.45848 0.508363 -0.334902 7.60506 1.96232 1.83215 1.27198 -0.226389 1.56328 0.0812475 0.0515364 0.0779654 1.1428 -0.017058 0.0226138 0.0859197 -0.113818 1.11279 0 0 0 0 0 -0.00529229 -0.0951111 -0.000806406 0 0 0 0 -9.83184e-05 0 -0.0103772 0 0 -0.000968431 -0.00222725 -0.00490969 0 -0.00104317 -0.0145704 -0.052016 0 0 0.189584 -0.000111809 0 0.00324666 -0.432127 0 0 0.019949 -0.101899 0 -0.0622003 0 0.0196335 0 0 0.00208552 0 0 -0.518486 -0.00366854 -0.0242316 0 -0.0356598 0.113564 0 0 -0.299067 0 -0.00106111 0.0794115 -0.00647501 0 0 0.00172774 0.000896803 0 -0.00641619 0.00616859 0.0156971 1.01106 -0.0615826 -0.0349434 0 0.00454528 -0.0495932 0.00036909 0.0829658 0.0687229 0 0 0 5.10677 0.422506 0.442536 0.038495 0.0568144 -0.507737 0.000258222 0.00576409 -0.0103387 -0.01816 0 0 0 0 0 0 0.10928 0 0.229019 0 0 0 0 -0.0246672 0.531425 0 0 0.278331 0 0.0351069 0 0.0210325 0 0 -0.464713 0 -0.79968 -0.00525749 0.0971874 -0.0639276 0 0 0.204615 0 -3.71875 0 -0.926709 -0.427683 0 -0.0113543 -0.868802 0.0179401 0 -0.00728976 0 0 0.0588012 0 -1.52717 -0.721145 0 0 -0.0847657 0 0 0.0405418 -0.427345 -0.0328417 0 0.445921 0 0.625758 -0.0266927 0.0833084 -0.0613066 0.129178 0.0781299 -0.567883 0.065931 0.042469 4.24213 -0.0916802 0 0 0 -0.0214441 -0.0738314 0 0 0 0 0.0489586 -2.0519 -1.37606 0.109279 -0.408313 0.582892 -0.716584 -0.141951 0.116975 -0.110431 -0.174207 0 0 0 0 0 0 -439 0 -0.746771 -0.108887 -0.0481256 -0.348211 0.279816 0.0547343 -0.126672 -1.11169 -0.176817 0.808727 -0.309792 0.202718 0.00139871 1.21558 0.011242 0.170847 1.86177 0.00726021 0.00326125 1.83211 -0.0174644 0.0050597 -0.00181576 0.108913 -0.0841059 -0.101136 -0.0187281 0.119575 1.21912 0.138858 -0.0175972 0.00108953 0.117951 -0.0902123 0.0301042 -0.0205866 -0.163904 1.24339 -0.533785 0.438439 0.0113954 -0.800814 -0.0435766 2.47818 0.0585261 0.076258 0.480987 -0.157634 -0.0890593 1.51468 0.231821 1.66775 -0.0578885 -0.0532406 0.0468462 2.74297 -0.342046 -0.0567096 -0.10839 0.0318946 -0.370821 0.587255 -0.842548 -0.0399441 -0.299482 -0.808291 -0.160093 -0.10247 0.0246346 0.10285 0.335142 0.165219 -0.0372386 0.833012 0.0166574 -0.755818 0.510578 1.37438 -0.197894 1.1925 0.993854 -3.8884 -0.333925 1.02809 -1.90346 1.03504 -0.0238507 0.124568 -0.301856 0.816648 -2.22664 0 0 0 0 0 -0.0481256 -0.348211 -0.0010687 0 0 0 0 2.19735e-05 0 -0.00611094 0 0 -0.00420644 -0.00878255 -0.00311681 0 -0.000155823 0.00140446 -0.0499682 0 0 0.26528 -0.000526046 0 -0.0320326 0.677572 0 0 0.0303195 0.0611912 0 -0.184096 0 0.0220567 0 0 0.00268323 0 0 -1.07946 -0.00061542 -0.0715571 0 -0.0265314 0.0355207 0 0 -0.252944 0 -0.00190566 -0.789658 -0.0209993 0 0 0.00828185 0.00161057 0 -0.0214082 0.0242375 -0.023051 -0.00977122 -0.0857833 -0.000431564 0 -0.00459104 0.0783092 0.0739872 -0.0183785 -0.214789 0 0 0 9.31631 0.624172 0.739302 0.0351507 -0.0228717 0.787453 0.00437649 -0.00601316 0.036724 0.0402438 0 0 0 0 0 0 0.279816 0 0.0547343 0 0 0 0 -0.304452 -0.266383 0 0 1.16944 0 0.12587 0 0.00880993 0 0 -0.0753613 0 0.31552 -0.096709 0.396712 -0.0330399 0 0 -0.0158937 0 0.941247 0 5.21766 -0.0347153 0 -0.774052 1.38427 0.0400693 0 -0.0390899 0 0 -0.0116798 0 0.462503 -0.0882383 0 0 -0.0566654 0 0 0.0336433 2.24331 -0.395411 0 1.39705 0 -0.063627 -0.182234 0.346523 -0.197118 -0.0310514 1.02263 0.476581 0.0996749 -0.257865 7.79205 0.148322 0 0 0 0.0372312 -0.110189 0 0 0 0 -0.082675 -26.4265 -6.13573 3.14846 -1.86395 1.60004 -2.1592 -0.480779 0.416494 -0.577536 0.473568 0 0 0 0 0 0 -440 0 0 0 0 0 -0.0836394 0.146309 -0.618506 0.512189 0 0 -0.169727 0.464348 0 -0.446408 -0.0788371 0 0 0 -0.404586 -4.13486 0 0 0 0 -0.108092 0 0 -0.856626 0.908677 0.360036 0 -0.239391 0 0 -0.236514 -0.0312952 0 0 -0.230356 -1.00097 0 0 -0.0267963 -0.39138 0 0.301113 -0.958186 -0.620555 0.137339 -0.665802 -0.198418 0 0.198177 -0.350408 0.186923 0.136787 -0.36438 -1.55363 0 0 -0.188399 8.29039 0 0.457187 0.269346 1.21581 0 0 0 0 -0.340812 -0.336516 0 0.852011 0.789106 0 0 0 -1.3656 0 -0.0775601 -0.831697 0 0.148047 0.201425 -3.05697 0 0.279829 -0.858633 0.881761 -5.70905 0 0 0 0.0143713 -0.00349588 0 0 0 0.0144089 -0.00802369 0 0.00146965 0 -0.000556491 0.0074744 0 0 0 0 -0.0102979 0 0.00160024 0 0.0223663 0 0.147251 0.347836 0 0.000748986 0 0 0.126121 -0.000236305 0.0430457 0 -0.00089559 0 -0.000397764 0.0749275 0.01061 -0.00570571 0.00950694 0 -2.28355e-05 0 0 0 -4.30512e-05 0 0 0.000198779 -0.000433863 -0.196218 0.00575645 0 0 0.0141729 0 0.000554449 0 0 -0.0037663 -0.00502178 0.102227 0.00697997 0 0 0.00736897 0.0175365 0.00105403 -0.0508673 0.130631 0 0.199618 -0.00312849 0.0705191 0 0 0 -0.0568176 0 0.0199542 -0.681439 0 0.00119602 -0.0460427 -0.109765 0 0.000170635 -0.00659809 0.0212207 -0.336298 0 -0.0836394 0.0143713 0.146309 -0.00349588 -0.304529 -0.0501717 0.0865654 -0.0942403 -0.50971 0.00645122 0.00385651 0.0824692 0.0017978 0.00807512 0.00110093 -0.0298865 -0.013099 0.00847332 -1.24189 0.273293 -0.0941789 -0.0333187 0.131145 -0.195827 -0.0877546 0.130871 -0.426221 -0.00512749 -6.53231 -0.171619 -0.29175 0.252484 -0.000890633 -0.0616565 0.059289 0.0113259 -0.0061854 -0.0230256 -0.0337354 0.91473 -0.0556036 0.0162702 -1.82136 -2.33901 -3.77215e-05 -0.0302354 -0.32986 0.0219241 0.0483348 0.84388 -1.05546 0.12182 0.0216263 0.553751 -0.0575335 1.30167 -0.0707189 0.181981 0.223676 0.0199075 -1.30493 -0.356097 0.229434 -1.18519 -1.00971 -0.210477 -0.0428758 0.000369491 -0.194187 -0.431583 -0.0213717 0.0251181 -0.0129264 0.205809 -0.0314252 -0.192811 0.618955 -0.0375952 -0.575034 -5.72867e-05 0.150014 -2.01851 -0.00397332 0.00312983 -0.298089 -0.347362 -0.000518761 0.0186074 -0.1565 0.14625 -0.71377 0 -441 0 0 0 0 0 0.31405 0.295565 -0.72258 -2.15775 0 0 0.0295886 0.691588 0 0.289495 -0.0114522 0 0 0 0.187799 -3.63297 0 0 0 0 -0.512649 0 0 -0.848566 -1.10619 0.461011 0 0.062255 0 0 -0.287387 0.0090063 0 0 -0.348427 0.172392 0 0 -0.0854219 -0.258428 0 0.712249 -0.976914 0.970405 0.159156 -1.002 0.335738 0 -0.515155 0.0606719 -0.281155 -1.63154 -0.390248 -0.0549418 0 0 1.21933 -2.67487 0 0.122322 0.656228 -0.178962 0 0 0 0 -0.0130814 -0.430651 0 -4.11343 0.849216 0 0 0 4.84222 0 1.06731 0.323745 0 -0.0695191 -0.559282 3.61238 0 0.0319645 -0.589704 0.807048 3.07588 0 0 0 0.0187016 0.0286749 0 0 0 0.0489831 -0.00829585 0 0.00751207 0 0.000402624 -0.0141102 0 0 0 0 -0.0830822 0 -0.00986223 0 -0.105408 0 0.290696 0.17082 0 0.00351692 0 0 0.182439 -2.12534e-05 0.0427184 0 0.000420287 0 -0.000483188 0.0125696 0.022981 -0.00139808 0.0040172 0 2.46474e-05 0 0 0 1.49865e-05 0 0 0.00074807 0.00160245 0.00147408 -0.00867274 0 0 0.00754759 0 0.00292179 0 0 -0.0053649 0.0119999 -0.0875548 0.0125595 0 0 -0.0894008 -0.0170492 -0.0307371 -0.0659383 -0.458121 0 -0.188047 -0.00435916 -0.11008 0 0 0 0.000417207 0 0.0156829 -0.0447844 0 0.00116235 0.011028 -0.0295637 0 0.000158227 0.00150474 0.00121152 -0.029716 0 0.31405 0.0187016 0.295565 0.0286749 -0.0588939 -0.0326326 0.535095 0.0100259 0.622965 -0.0157084 -0.0251343 -0.189843 -0.00442236 -0.0439516 0.079439 -0.0155238 -0.0317056 -0.0672517 -1.40797 -0.594884 -0.0700165 -0.0541994 -0.126505 -0.203702 -0.132004 -0.0160082 0.00101971 0.00914044 -3.8088 0.0715328 0.234266 -0.114528 0.010646 -0.454336 -0.0599645 -0.0258707 -0.00286965 0.00542196 -0.0163812 -0.316861 0.0593846 -0.00288445 -1.79518 -2.88398 -0.00457649 0.00538253 -0.406152 -0.0160437 -0.193711 1.18067 -0.0825056 -0.464194 0.254839 -0.0554587 -0.357347 -0.310496 0.0317103 -0.0366831 -0.0692439 0.0356391 0.342135 0.127124 0.0214404 -0.503664 1.96494 -0.0094272 0.381186 -0.0171471 -0.291622 -0.658234 0.0300726 0.0068552 0.00690246 0.0520967 0.0278092 -0.0228429 -0.497 0.161322 1.25176 0.0641668 -0.105375 1.36249 0.0173104 -0.0248096 0.107097 0.235342 0.00411734 -0.0272826 0.0701398 -0.101422 0.364411 0 -442 0 0 0 0 0 0.126001 -0.116272 1.1098 2.47095 0 0 0.314087 0.0518455 0 0.172086 0.0474963 0 0 0 -0.0983802 2.11291 0 0 0 0 0.655833 0 0 0.196078 -0.382362 0.0262236 0 0.307367 0 0 0.30318 0.0975532 0 0 1.23307 1.02183 0 0 0.464437 -0.351965 0 0.353531 0.123889 0.00836313 -0.500806 0.0217401 -0.880348 0 0.0484239 -0.123384 -0.116911 0.402401 0.772999 0.719001 0 0 -1.67229 -6.45975 0 -0.453223 0.30948 0.341876 0 0 0 0 -0.374894 0.278699 0 -2.34171 1.27789 0 0 0 -4.48528 0 -2.08663 -0.27106 0 -0.565415 -0.167346 -5.10373 0 -0.819189 -0.0910718 -2.48354 1.96369 0 0 0 0.100688 -0.0146257 0 0 0 -0.0173911 -0.00759374 0 -0.00295043 0 -0.00163656 -0.0164518 0 0 0 0 -0.26822 0 -0.0213205 0 -0.338308 0 -0.0807461 -0.359966 0 0.00654279 0 0 0.424805 -0.000361466 -0.0717508 0 -0.00227624 0 -0.000296695 -0.102061 0.0549986 -0.0118785 -0.018424 0 -5.98327e-05 0 0 0 -0.000103501 0 0 0.00180415 -0.00105918 -0.0256163 -0.021127 0 0 0.0117133 0 -0.000455464 0 0 0.0416544 -0.00194593 0.0877142 0.0286455 0 0 -0.161277 0.0811463 0.0301224 -0.130662 0.695967 0 -0.022217 -0.00716959 -0.306778 0 0 0 1.28426 0 0.0685257 -1.04785 0 0.00466317 -0.0532684 0.235372 0 0.000646279 -0.00774466 0.0390661 -0.576594 0 0.126001 0.100688 -0.116272 -0.0146257 -0.112091 -0.0186355 0.249773 0.154884 0.572873 0.0292813 -0.0437129 0.324017 0.00767473 0.0680509 -0.0110866 0.041118 -0.0211823 0.0733694 0.722818 0.14528 -0.0665974 0.0393771 0.102866 0.0826933 -0.411527 -0.115506 0.163672 0.00341118 4.85707 0.198231 -0.0903741 0.495994 -0.00555479 0.0594157 -0.17784 0.0149311 0.00309601 0.0390432 0.0253424 -0.734124 0.057267 -0.0170388 1.75348 0.586252 -0.00150148 0.020168 0.0797196 0.0136164 0.206023 -0.669978 0.593825 -0.0675824 0.110418 -0.0769187 -0.0973283 -0.657742 -0.0190018 -0.117016 0.0581524 0.107324 -0.264832 -0.0827923 -0.0354401 -0.242493 -1.6987 -0.0163984 -0.652305 -0.0239379 0.081935 0.431598 -0.170096 0.0131638 -0.0438484 -0.225105 0.0927248 -0.131859 0.191731 -0.328253 -1.45324 -0.0750609 -0.809248 2.2487 -0.0224637 -0.0273299 0.158276 0.300146 -0.00449188 0.0247558 0.0324692 -0.0378192 0.345996 0 -443 0 -1.20338 -0.50898 -0.0241127 -0.172855 -0.142559 -0.334631 0.825805 1.0947 -0.313938 0.462867 0.0584826 -0.58492 0.00104282 -0.644455 0.0422684 -0.147311 -2.91807 0.0446805 0.0891686 -3.74222 -0.0118553 0.421875 -0.00377981 0.00403943 0.475577 -0.258434 0.0247703 0.59037 0.330861 -0.343599 -0.0344888 0.496421 1.29808 0.208869 0.40068 0.00717677 -0.0335254 6.22292 0.0447989 -1.91267 0.00247044 0.0612818 0.00858345 -2.89664 -0.0378195 -1.11558 0.621754 0.888825 0.00822872 0.815643 0.412633 -2.13518 -0.0401397 0.0549677 0.00385932 -1.16866 -0.35237 -0.28559 0.0354614 -0.0103156 1.0075 2.30392 1.7189 1.4932 0.299645 -0.380587 0.300485 -0.0855216 0.0651384 0.178431 0.283873 0.481538 -0.232419 0.244672 -1.06017 -1.22088 -21.3299 -2.83443 -6.11766 -1.37619 0.838348 -8.93343 0.116465 0.0171458 -0.731164 -2.04843 0.00533537 0.00568932 0.0202538 -0.129054 -0.762719 0 0 0 0 0 -0.0241127 -0.172855 -0.000190291 0 0 0 0 -6.18501e-06 0 0.000446155 0 0 -9.29575e-05 -5.30894e-05 0.00119471 0 -0.000122072 -0.0154536 0.0273908 0 0 -0.12059 -3.02946e-06 0 0.0124644 -0.239278 0 0 -0.0149534 -0.0705154 0 0.0631517 0 -0.0169433 0 0 -0.00185032 0 0 0.271374 -0.0001139 -0.00170084 0 -0.0035686 0.00160306 0 0 0.0747046 0 -6.1839e-05 0.160267 -0.00266223 0 0 -0.000137236 0.000500565 0 0.00161777 0.0072764 0.00354879 -0.392173 0.00460163 -0.0131619 0 -0.00775611 0.0795612 -0.0447463 -0.0163742 -0.0138216 0 0 0 -1.44572 -0.0385226 -0.274742 -0.00559084 0.0140947 -0.27985 1.03602e-06 2.17989e-05 -8.09454e-06 -0.0381784 0 0 0 0 0 0 -0.142559 0 -0.334631 0 0 0 0 -0.0235085 0.108883 0 0 0.395953 0 0.0510784 0 0.0292789 0 0 -0.24787 0 0.440313 0.00983489 0.0210225 -0.0309792 0 0 0.333852 0 -3.08322 0 3.37513 -0.617122 0 0.105849 0.85334 0.0043675 0 -0.00159133 0 0 0.0185964 0 -0.543961 -0.721616 0 0 -0.0829698 0 0 -0.353253 -0.115421 0.0280957 0 0.206542 0 0.621971 -0.0228801 0.0509902 -0.0273234 0.0260413 -0.289165 -0.173312 0.0442032 -0.551283 -3.83325 0.017962 0 0 0 0.186922 -0.0280346 0 0 0 0 -0.0820778 -20.8565 -3.04065 -1.22543 -0.753717 0.463813 -1.60107 -0.139901 0.0794957 -0.20345 -0.0813444 0 0 0 0 0 0 -444 0 0.342418 0.455616 0.021339 0.0462997 -0.0456129 0.0860913 -0.139457 -0.429084 0.326283 -0.691601 0.0185974 -0.765265 -0.00203034 -0.691969 -0.037802 -0.29002 -1.33383 -0.168895 -0.110972 1.95609 -0.0164015 -0.483314 0.00407387 -0.125141 -0.343498 0.269403 -0.0448316 0.11113 0.568821 -0.31168 0.036911 -0.302962 -1.33847 -0.28198 -0.210169 -0.00231152 0.0223886 -4.78163 -0.0221519 0.588956 -0.0113067 0.155326 -0.0165697 -1.71137 -0.0666399 0.167742 0.240375 -0.847714 0.0539133 -0.188525 -0.174869 -3.36976 0.250413 -0.0987308 -0.262436 -2.18603 -0.581898 -0.695377 0.145712 0.0084346 -3.05081 1.55197 -0.522395 -0.65441 -0.0488062 -0.647466 -0.149501 -0.112328 -0.117398 0.476578 -0.680186 -0.0799917 -0.366807 1.65939 0.00322363 -0.772561 20.1219 3.93478 4.0469 1.92528 -0.39684 4.03248 0.0964023 0.0644682 0.551207 0.258235 0.00940119 0.0171555 0.0366879 -0.107565 -1.31128 0 0 0 0 0 0.021339 0.0462997 -0.000229516 0 0 0 0 2.18534e-05 0 0.00252193 0 0 -6.73176e-05 0.000136624 -0.00248283 0 -4.39216e-05 0.0290123 0.0125836 0 0 0.202161 9.77235e-06 0 -0.00455341 0.900249 0 0 0.0223795 0.159897 0 -0.0568623 0 0.027633 0 0 0.0027705 0 0 -0.221601 0.000529106 -0.00231541 0 -0.00339831 0.0107338 0 0 -0.14665 0 0.00160422 -0.239153 -0.00543453 0 0 0.000299344 0.00173895 0 -6.99214e-05 -0.0199722 -0.00501322 -0.877011 0.0146185 -0.0224946 0 -0.000403116 -0.0149206 -0.0203176 -0.0372248 -0.0677638 0 0 0 0.511685 0.0156144 0.0791591 0.000382714 0.0002421 0.00620977 0.000133129 -0.00034994 0.0044529 0.0385327 0 0 0 0 0 0 -0.0456129 0 0.0860913 0 0 0 0 0.142727 0.0552127 0 0 -0.146466 0 -0.0339885 0 -0.0106382 0 0 1.44449 0 -0.540883 -0.0385072 -0.139471 0.21917 0 0 -0.113516 0 6.12118 0 -2.543 0.416875 0 -0.130717 -0.892387 -0.0232481 0 0.00157196 0 0 0.00358104 0 2.0867 2.31365 0 0 0.359559 0 0 -0.646868 0.503253 -0.039673 0 -0.395572 0 -0.462174 -0.0375198 -0.0220137 0.337865 -0.13316 0.0527155 -0.0264155 0.0307307 0.283131 -1.15354 -0.00783244 0 0 0 0.427246 0.0412482 0 0 0 0 -0.0753787 10.3422 1.16261 0.651651 0.39575 -0.155789 0.474157 -0.0317699 0.0359354 0.030212 0.143202 0 0 0 0 0 0 -445 0 0.244262 -0.191645 -0.00371036 0.132579 -0.19585 -0.00860353 -0.654893 -0.609288 0.186809 1.33103 0.0284285 -0.982131 0.00308776 -0.665258 0.0171945 -1.39865 -6.24127 0.247126 0.0563009 -3.07742 0.0663677 0.091569 -0.00181629 0.427158 -0.487237 -0.167637 0.0490053 -0.375207 -1.98573 -0.109878 -0.00129608 -0.019639 0.703945 0.209372 -0.28015 0.00308025 0.0657629 4.18312 0.200803 -1.02821 0.0174913 0.655092 0.0239133 -3.38164 0.0688624 -0.128985 -0.917653 0.0703563 -0.143968 0.347697 -0.0805535 2.58525 -0.0605834 0.096282 0.363913 -0.553749 0.404361 0.355208 -0.409033 -0.0354739 4.32233 -0.137278 0.717803 0.580407 0.144932 1.5555 0.678964 0.0262496 -0.0401912 -1.25391 0.645078 0.0357535 -0.172826 -1.38819 0.191146 0.628211 -15.5815 -3.68514 -1.58509 -1.86125 0.0168347 0.145914 -0.697735 0.0401358 -0.445193 3.31322 -0.00971473 -0.0302771 0.0606948 0.233185 4.5776 0 0 0 0 0 -0.00371036 0.132579 -0.000992196 0 0 0 0 -0.000120509 0 0.0438304 0 0 -0.000471713 -0.00141321 0.0295659 0 0.00411139 -0.0468181 0.305473 0 0 -0.10886 -5.69985e-05 0 -0.0365155 -1.17418 0 0 -0.00397863 -0.269405 0 -0.254143 0 -0.0211158 0 0 -0.00125002 0 0 -0.542074 -0.0025566 -0.0132846 0 -0.021202 0.0365723 0 0 -0.0874123 0 -0.00186437 0.0198832 -0.00299086 0 0 0.00100866 0.00118701 0 -0.00517141 -0.0784042 -0.00296476 1.44387 0.00980002 0.0594109 0 0.00896201 0.0455986 -0.0141278 0.0470264 -0.126927 0 0 0 3.37509 0.158599 -0.754104 0.0140409 -0.0309233 0.380027 0.000572681 -0.00145689 0.0190706 -0.228447 0 0 0 0 0 0 -0.19585 0 -0.00860353 0 0 0 0 0.0437388 -0.0765822 0 0 0.191505 0 0.0534197 0 6.76929e-05 0 0 -0.877506 0 0.199142 -0.0267756 0.0488102 -0.0702562 0 0 -0.00219189 0 -5.11552 0 0.709454 -0.0877932 0 -0.0401689 0.492242 0.0203754 0 0.000320347 0 0 -0.0150761 0 -1.35057 -1.84237 0 0 -0.158619 0 0 -0.653147 -0.942363 -0.0105671 0 -0.595196 0 0.666024 -0.0480757 0.111004 -0.734628 0.156807 0.434925 -0.304269 -0.0492917 1.26012 2.86602 0.0252035 0 0 0 0.346897 -0.0447584 0 0 0 0 0.0200689 -5.8826 -1.69174 0.931484 0.0729132 -0.117054 0.00538293 -0.0123082 -0.0143385 -0.0480647 0.0229348 0 0 0 0 0 0 -446 0 -0.178895 0.303613 -0.00801197 0.0442045 -0.155844 0.105627 -0.0403845 0.0590773 0.127391 -0.0220968 -0.0161936 0.170737 0.005239 1.30097 -0.0230034 0.282409 2.50792 0.010597 -0.066406 6.61046 -0.00150185 -0.352309 -0.00353572 0.0252926 -0.247589 0.328514 -0.0530904 0.276433 1.15171 0.0159607 -0.00603083 -0.220489 -0.482765 -0.274888 -0.171037 -0.0139798 -0.309088 -0.176252 -0.185497 2.58536 0.0240751 -0.842263 -0.0586456 3.65483 0.110272 0.799464 0.565807 -0.57925 0.155951 0.0549753 0.309467 4.50789 0.312217 -0.0146261 -0.0495703 2.55033 0.369646 1.08232 0.0819855 -0.0364326 -0.180946 -6.69205 -0.329368 0.332526 0.0909257 -0.122011 -0.656876 -0.410401 -0.061916 0.160112 -0.195859 -0.0678501 0.300093 1.30294 0.164057 0.718411 2.29274 0.893544 1.03387 0.626013 0.11446 -0.700409 0.129716 -0.0313367 -0.0390129 -0.336787 -0.0187986 0.0367153 -0.181644 0.358748 -1.74369 0 0 0 0 0 -0.00801197 0.0442045 -0.000760558 0 0 0 0 -8.31058e-05 0 -0.00245453 0 0 -0.00028978 -0.000285218 -0.0124733 0 -0.0017496 0.0557432 -0.018552 0 0 0.211658 -9.71575e-06 0 0.0212275 1.34931 0 0 0.0131073 0.275609 0 0.0460161 0 0.0287913 0 0 0.00148616 0 0 0.0447015 -0.00165685 -0.00667242 0 -0.0149963 0.00342275 0 0 0.0628496 0 -0.000242843 0.159843 -0.00366383 0 0 0.000215404 0.00176526 0 -0.000693079 0.0409333 0.00132199 0.716259 0.00806065 -0.0219306 0 -0.00205174 -0.00525897 0.219362 -0.00289878 -0.0913361 0 0 0 0.26861 0.037394 -0.207983 0.00235274 -0.00391207 -0.0278074 0.000190769 -0.000452569 0.00629563 -0.0221714 0 0 0 0 0 0 -0.155844 0 0.105627 0 0 0 0 0.240714 0.157696 0 0 -0.198703 0 -0.0145807 0 -0.0108934 0 0 1.43134 0 -0.317878 0.0665275 -0.0755313 0.211631 0 0 -0.0271057 0 8.31145 0 0.745629 0.260988 0 0.670227 -0.147905 -0.00524701 0 0.0162152 0 0 -0.00219163 0 2.06845 2.98395 0 0 0.432012 0 0 -0.221423 1.76 0.122599 0 0.73442 0 -0.230168 0.0503245 -0.13109 0.0293089 -0.050198 1.11774 0.119609 0.118114 1.08983 5.63267 0.00695879 0 0 0 0.338875 0.0600655 0 0 0 0 0.162997 -3.82694 -0.0429724 -1.34827 -0.128541 0.100656 -0.286286 0.0463915 -0.0348261 0.0787423 -0.17736 0 0 0 0 0 0 -447 0 0.186089 -0.234412 0.033981 0.0428456 0.0615284 -0.318096 0.554503 0.592162 0.45827 -0.397874 -0.179804 -0.254976 -0.00621827 -0.168245 -0.0291536 0.235026 -0.348396 -0.0615601 -0.138567 -0.571199 -0.03277 0.335974 0.0150567 -0.190854 0.57878 -0.290798 -0.0372695 0.702182 1.11617 -0.194295 0.0911035 -0.09282 0.615975 0.27032 0.420801 -0.0201739 -0.0446504 0.566334 -0.169763 -0.970425 -0.0192993 0.94226 -0.00351332 -1.90692 -0.0410566 -0.899151 0.913599 -0.694806 -0.0912549 0.382025 0.0515014 -2.43896 0.266651 -0.108838 0.337747 -1.00042 0.696997 -0.138974 0.156396 0.045596 -1.43587 0.445175 -1.43917 -0.0405315 -0.318013 -0.392952 -0.618318 -0.217176 -0.279686 0.308664 -0.135297 0.232465 -0.372201 -2.05721 -1.32478 -0.937523 -0.134949 -0.247797 -0.457179 -0.638791 0.621693 -1.99294 0.119919 0.0566722 0.229416 -0.647894 0.0069991 0.00668713 -0.0640594 0.340102 -1.68989 0 0 0 0 0 0.033981 0.0428456 -0.00168861 0 0 0 0 -0.000149075 0 0.0127068 0 0 0.000416865 0.000914862 0.0202487 0 0.00380232 -0.0138115 0.0619735 0 0 0.27261 4.24381e-05 0 -0.00872828 0.342136 0 0 0.0454814 0.0110798 0 0.0816015 0 0.0499789 0 0 0.00840188 0 0 0.603928 -0.00293683 0.00972372 0 -0.0327908 -0.0120265 0 0 -0.0658918 0 0.000938598 -0.263216 -0.000679653 0 0 -0.000241972 0.00579059 0 0.00205192 -0.0335051 0.00353232 -0.941239 -0.00118108 -0.0308837 0 -0.0109881 0.0424534 -0.0651385 -0.0555608 0.107168 0 0 0 -2.74681 -0.098896 -0.0396562 -0.00953443 0.0225052 -0.433405 -0.000273201 0.000645675 -0.00901171 0.0103646 0 0 0 0 0 0 0.0615284 0 -0.318096 0 0 0 0 -0.143287 0.522004 0 0 0.27762 0 0.0325992 0 0.0145371 0 0 -0.00629233 0 0.572126 -0.069494 0.0669096 0.00974299 0 0 0.11257 0 -1.0987 0 0.196395 -0.319543 0 -0.596285 0.75765 0.0121116 0 -0.0127288 0 0 0.0588215 0 -0.174383 -0.816723 0 0 -0.0774656 0 0 -0.101605 -2.18232 -0.0471675 0 0.0548701 0 -0.0460559 -0.00596611 0.059534 -0.380367 -0.0119226 -0.0806836 -0.232703 -0.0463157 -1.14266 -7.91678 -0.00113563 0 0 0 0.0416569 -0.0287449 0 0 0 0 -0.07878 -0.744763 -0.795685 2.46738 0.181685 0.145496 -0.162403 -0.112386 0.102087 -0.105044 0.187695 0 0 0 0 0 0 -448 0 0.0928517 -0.333731 -0.0542801 0.0915572 0.00247686 -0.0101009 -0.479692 -0.846492 -0.0116826 1.62158 -0.315241 0.93415 0.0236647 0.216705 -0.0280524 -0.266735 -1.79274 0.200052 0.000794616 2.99895 0.0701926 0.358612 -0.0243345 0.621751 0.0908378 -0.111797 0.0525099 0.103868 1.01434 0.09943 -0.100092 -0.454791 1.33005 -0.310607 -0.0146727 -0.0827164 0.013366 4.68195 -0.610269 0.663735 0.0969057 -1.21855 -0.155203 2.42492 0.382184 -0.0334649 0.418051 -1.00542 0.339343 -1.04542 0.719332 -0.818631 0.478681 0.161606 -0.207209 0.266167 -0.625586 -1.38146 -0.70125 -0.172931 1.86379 5.32044 -1.66033 0.468775 0.417841 0.513622 -0.481363 -0.0784855 0.0276946 -1.2425 0.20701 -0.482005 0.0722202 2.38516 0.477851 0.0802279 -15.6642 -4.85241 -0.438484 -2.18112 1.26345 -4.04718 -1.28987 0.71487 -1.31236 0.68655 -0.0651526 0.124468 -0.375774 0.654261 -1.53571 0 0 0 0 0 -0.0542801 0.0915572 -0.0016877 0 0 0 0 -0.000237796 0 0.0186665 0 0 -0.000259613 -3.82666e-05 -0.00568472 0 -0.00135352 -0.0325615 0.115143 0 0 -0.106463 1.75276e-05 0 0.0109078 -0.888689 0 0 -0.0159869 -0.182154 0 -0.123571 0 -0.0554905 0 0 -0.00805413 0 0 -0.432348 -0.00482242 -0.009223 0 -0.0342727 0.0452682 0 0 -0.0959523 0 0.000131515 0.110117 -0.00228757 0 0 0.00177273 0.004915 0 -0.00717982 -0.0220051 -0.00962711 2.09242 0.0215255 0.0366906 0 0.0116474 0.0211947 0.382302 0.00201111 -0.19458 0 0 0 3.76551 0.185677 -0.237699 0.0174622 -0.040558 0.471529 0.000623228 -0.00166176 0.0208868 -0.0899333 0 0 0 0 0 0 0.00247686 0 -0.0101009 0 0 0 0 0.0145184 -1.44191 0 0 0.1776 0 0.0516509 0 -0.0859776 0 0 0.172166 0 0.309741 -0.0435688 0.040098 -0.0035993 0 0 -0.598753 0 -4.89486 0 0.652415 -0.36129 0 -0.131576 0.561196 0.0208806 0 -0.00112869 0 0 -0.205715 0 -1.37053 0.345812 0 0 -0.0110448 0 0 1.32272 -2.55386 -0.0288376 0 1.38399 0 0.275047 -0.113122 0.0726844 -0.649337 0.126241 0.0491368 -0.397709 -0.112201 0.880391 4.19192 0.0187619 0 0 0 -0.497919 -0.0236647 0 0 0 0 0.523061 -4.31505 -1.20323 1.07011 0.295662 -0.26277 0.38176 0.0337947 -0.0440312 -0.00260971 0.034446 0 0 0 0 0 0 -449 0 0 0 0 0 -0.508141 -0.279635 -0.508479 -0.0735797 0 0 -0.528127 -1.88875 0 -4.14034 -0.28967 0 0 0 -0.793291 0.75561 0 0 0 0 -0.0771212 0 0 0.794218 3.25158 -1.11841 0 -1.23818 0 0 -0.121239 -0.147894 0 0 -0.630006 0.124501 0 0 -0.212128 -7.5052 0 -0.226741 1.65248 -2.81534 0.398593 -2.15468 0.118328 0 1.06976 -0.844052 0.918812 2.13891 1.38459 -0.495765 0 0 -0.66762 1.41404 0 0.44718 0.604512 1.6082 0 0 0 0 -0.767318 -0.392897 0 0.368097 -1.86811 0 0 0 -0.268496 0 0.283529 -3.2189 0 0.15859 -0.868181 0.730721 0 0.50702 -0.990867 1.58577 -6.78566 0 0 0 -0.0171853 -0.0137756 0 0 0 -0.0116207 0.00905507 0 -0.00283888 0 0.00185273 0.0198979 0 0 0 0 0.0567242 0 0.00795702 0 0.16734 0 -0.0352457 -0.358326 0 -0.00164462 0 0 -0.0803226 0.00100248 -0.0491129 0 0.000324536 0 0.000475896 -0.165013 -0.0121982 0.0190934 -0.0227765 0 9.78819e-05 0 0 0 1.7107e-05 0 0 -0.0024877 0.000708757 0.0231693 -0.00541039 0 0 -0.00804386 0 -0.000773317 0 0 0.000255303 0.00311638 0.12127 -0.0251276 0 0 0.0165908 0.0160321 -0.0141498 0.0595818 0.237985 0 -0.0547876 1.63983e-05 -0.123076 0 0 0 -0.758441 0 -0.088298 0.110659 0 -0.00810773 0.0016793 -0.0294079 0 -0.000843292 0.000235048 -0.00351679 0.0217412 0 -0.508141 -0.0171853 -0.279635 -0.0137756 -0.133451 -0.0429206 -0.0927567 -0.888811 -1.95733 0.0164615 -0.0240949 0.0738384 0.00308881 0.0333288 -0.0234189 -0.10431 -0.0280155 0.0861645 0.0461399 0.372552 -0.273627 -0.227837 0.110487 0.00562758 -0.360252 0.0886451 -1.05341 0.00432354 -11.7129 -0.382837 -2.3167 -1.44616 -0.003666 -1.14466 -0.870896 0.0278492 -0.009278 -0.156045 -0.0645876 0.580256 -0.216414 0.0161418 -4.49819 -0.717758 -0.00108472 -0.0562274 -0.0707402 0.0406311 -0.354398 -0.391886 -2.74081 0.394795 0.0187547 -4.27462 0.0421874 1.31147 -0.127818 0.0346904 -0.89094 0.269119 -1.50677 -0.685286 0.175973 1.38789 -5.292 -0.327223 0.091923 -0.0726092 -0.0299604 -0.807721 -0.144477 0.0933843 -0.0346773 0.0552345 0.0258302 0.592719 10.5328 0.239722 4.03471 -0.107062 0.653639 0.186271 -0.0179894 0.108868 -0.372543 0.887808 -0.00660617 0.107273 -0.282933 0.290774 -0.253325 0 -450 0 0 0 0 0 0.0452273 -0.301852 0.547598 0.93661 0 0 -0.0860229 -0.89695 0 -1.94878 -0.0642786 0 0 0 -0.0409444 -3.1174 0 0 0 0 0.353246 0 0 0.653169 2.31596 -0.654368 0 -0.376706 0 0 0.233838 -0.0119411 0 0 -0.323958 -1.10066 0 0 -0.106118 -3.6496 0 -0.807328 1.11358 -0.444276 0.17366 -0.657111 0.533714 0 0.0876917 -0.0516302 0.334799 -0.404098 -0.215934 -0.47645 0 0 0.777182 2.40689 0 0.386828 -0.141491 0.150317 0 0 0 0 0.293086 -0.701726 0 0.988864 -0.412383 0 0 0 -0.681684 0 0.458491 -2.67008 0 0.350751 -1.03931 -0.872701 0 0.341248 -1.18756 1.89438 -6.60407 0 0 0 0.0131711 0.0055001 0 0 0 -0.0434183 0.0275415 0 -0.00420825 0 -0.00101648 0.00434066 0 0 0 0 0.112825 0 0.00524601 0 0.177779 0 -0.406343 0.100982 0 0.00215002 0 0 -0.0108357 0.000154669 0.00743598 0 0.0021959 0 0.00145129 0.173577 0.00858544 0.00392581 0.0194236 0 -5.51353e-05 0 0 0 0.000115994 0 0 -0.000349826 0.00216293 0.109246 0.00629596 0 0 0.00779634 0 -0.00235995 0 0 0.0123199 0.0239349 -0.0929835 0.00536974 0 0 0.0298623 -0.00326606 0.00799948 0.0730221 0.0316837 0 0.151015 0.00858021 -0.00188392 0 0 0 -0.527157 0 -0.0104277 0.106983 0 9.45423e-05 0.000492422 -0.0577449 0 -7.07693e-05 0.00114407 -0.021273 0.248226 0 0.0452273 0.0131711 -0.301852 0.0055001 -0.000759462 -0.0702237 -0.205695 0.184478 -1.31729 -0.0171683 -0.00420544 -0.323976 -0.0031621 -0.0553211 -0.00925249 -0.0440368 0.00397209 -0.0936563 0.195687 -0.454507 -0.365109 0.0411601 -0.19222 0.00187022 0.117277 -0.0118179 -0.514787 -0.00475851 -5.34517 0.134742 -1.84362 -1.53546 0.000179718 0.454146 -0.862748 -0.033683 0.00354156 0.0266004 0.00566599 -0.042638 -0.106701 -0.00502797 -2.96801 0.779984 -0.00114628 0.0331718 0.090577 -0.0310486 0.172412 0.512617 1.58192 -0.010864 -0.0458885 1.18646 0.101205 -0.534142 0.0894316 -0.114218 -0.00883025 0.259556 -0.66796 0.493707 -0.173492 2.77375 11.4292 -0.128387 -0.0972172 -0.00772412 0.18614 0.0471774 0.0605189 -0.0711022 0.0282956 -0.124137 0.00539288 0.630899 8.38195 1.06082 -1.07651 0.283577 -0.470975 0.820629 0.0288963 -0.0378515 -0.073425 0.276781 0.00718056 0.0118583 0.0257822 -0.0849274 0.263696 0 -451 0 0 0 0 0 0.0541101 0.253474 -0.460166 -1.71197 0 0 0.0652358 0.125386 0 0.820754 0.0206052 0 0 0 -0.0156056 -6.03553 0 0 0 0 -0.572588 0 0 -0.151961 3.99942 0.285019 0 0.232535 0 0 -0.276304 0.0450923 0 0 -0.565192 -0.298378 0 0 -0.136464 -0.167388 0 0.81423 0.888487 0.627361 0.275344 -1.12736 0.351629 0 -0.0424861 -0.0673944 -0.0572604 -2.29834 -0.413928 -0.037067 0 0 -0.52929 -1.92433 0 1.35293 0.906451 1.07952 0 0 0 0 -0.463601 -0.853567 0 -1.77798 0.536461 0 0 0 2.34534 0 1.16341 -4.17848 0 0.608406 -1.49187 3.00708 0 0.659225 -1.50981 2.67774 -9.27082 0 0 0 -0.00263876 0.0299535 0 0 0 -0.0242921 -0.00180662 0 -0.000138615 0 -0.00349082 -0.0521829 0 0 0 0 -0.162635 0 -0.024601 0 -0.397448 0 -0.251384 -0.220025 0 0.00287643 0 0 0.258989 -0.00194736 0.011035 0 0.0006504 0 -6.93384e-05 -0.0272121 0.0299582 -0.0379594 0.0142189 0 -0.000183319 0 0 0 3.4984e-05 0 0 0.00480227 -9.31252e-05 0.202947 0.0105227 0 0 0.0411843 0 0.000101608 0 0 0.00939611 0.0098384 -0.0235003 0.0515038 0 0 0.0814361 -0.0256114 0.016044 -0.0679641 0.13025 0 0.308839 0.00903673 0.0736952 0 0 0 1.18454 0 0.168685 -0.754543 0 0.0145552 -0.0452551 0.0295359 0 0.00158545 -0.00575707 0.0218709 -0.283015 0 0.0541101 -0.00263876 0.253474 0.0299535 -0.251344 -0.171672 0.234684 -0.874646 1.35156 -0.0381956 0.0870073 -0.458588 -0.00692634 -0.0736246 0.0543332 0.0701247 0.0502309 -0.21143 -1.25834 -2.56153 -0.143188 -0.194048 -0.182937 -0.160488 0.608947 0.0349477 0.511622 -0.0535908 2.1347 0.291464 -2.19341 1.01578 0.00832978 -1.02866 -0.865142 -0.0284384 0.00614132 -0.150689 0.029044 0.223199 0.217914 0.00643245 1.15129 -2.37336 0.00866076 0.0563432 -0.343379 -0.355385 -0.0120391 0.791531 -1.60617 0.099974 -0.179308 -0.0836832 -0.115107 0.387889 0.255077 -0.184554 -0.177974 0.0329571 -0.874892 0.579481 -0.271835 -4.70191 -21.0185 0.0131768 0.365594 0.0425024 0.0829885 -0.631028 0.142947 -0.200087 0.07777 0.117101 -0.00908402 -0.6947 9.9723 1.42836 2.40867 0.564715 -0.962076 0.607683 0.0547764 -0.154601 0.295875 0.296716 0.0162102 -0.0700342 0.176447 -0.10322 -0.319454 0 -452 0 -0.591234 -0.149704 0.00190827 -0.0303333 -0.145327 -0.0888754 0.573862 0.952195 0.00137139 -0.618903 0.00915888 0.873623 -0.000842184 0.963034 0.00653155 -1.06603 -2.41975 -0.231731 0.00965237 -2.16258 -0.068409 0.132004 0.000484171 -0.226785 0.621866 -0.494543 -0.118029 -0.00284116 -0.233306 0.273644 0.00305866 0.0714028 -0.00446371 -0.642894 0.361574 0.00590482 -0.413687 -0.48659 -0.0692312 -1.17874 -0.00590827 -1.74248 -0.00134533 2.28701 -0.0439227 -0.61178 -0.132441 0.0987907 -0.0297282 -0.12411 -0.159892 5.31387 -0.114716 -0.0120648 -0.0208616 -1.20647 -0.291239 -0.118041 0.307924 0.0082424 -0.379891 1.40012 0.218139 0.192434 0.529069 -0.24832 0.0857127 -0.538049 -0.00845816 0.286669 -0.153736 -0.0659626 0.539911 -0.36223 0.258241 2.22677 2.07804 0.679526 -1.37006 0.305633 -0.499458 1.07319 0.596887 -0.330311 0.430709 -0.7231 0.000567231 0.00180876 0.0259935 0.0458296 0.260137 0 0 0 0 0 0.00190827 -0.0303333 -0.00010235 0 0 0 0 -6.13904e-05 0 -0.00265061 0 0 0.000848474 0.00198992 -0.00493395 0 -0.000467682 -0.033595 -0.0336614 0 0 0.045996 0.00010534 0 0.017713 -0.621626 0 0 1.26179e-05 -0.190599 0 0.0993129 0 0.0110675 0 0 0.000738008 0 0 0.323338 -0.00115968 0.0160368 0 -0.00192692 -0.0343897 0 0 0.0374118 0 -0.000209901 -0.181753 -0.00288117 0 0 -0.00163447 0.000156615 0 0.000448433 -0.0245968 -0.0029967 0.470208 -0.0127139 0.013889 0 -0.00252492 -0.00311676 0.156746 -0.0391207 -0.00534575 0 0 0 -2.65713 -0.192702 -0.0794383 -0.0120364 -0.0105523 -0.00416797 -0.000722725 -0.000633747 -0.00133508 0.00308115 0 0 0 0 0 0 -0.145327 0 -0.0888754 0 0 0 0 0.217955 0.187127 0 0 -0.138408 0 -0.0159472 0 0.0229359 0 0 0.100841 0 0.491298 0.0624314 -0.0268799 0.0118754 0 0 0.21954 0 4.69639 0 1.57219 0.932037 0 0.420415 0.825191 -0.00200947 0 0.0301182 0 0 0.0223004 0 2.47503 0.0896714 0 0 0.0161977 0 0 -0.0737568 0.0271088 -0.10087 0 0.0298194 0 0.749693 -0.137212 0.0587847 0.295263 -0.00940075 0.771704 -0.604823 0.131582 -1.01228 -3.05885 0.0196474 0 0 0 -0.00669762 0.0507456 0 0 0 0 -0.184612 -1.97648 0.0616562 0.382507 0.272059 -0.0350279 -0.48487 0.152831 -0.100503 0.02643 -0.0993628 0 0 0 0 0 0 -453 0 -0.103913 0.245471 0.000264626 -0.0532952 -0.172014 0.256313 -0.34299 -0.113633 0.252374 0.338631 -0.0220635 0.300878 0.000916996 0.651027 -0.00459884 3.29778 10.6911 0.165835 -0.00722392 1.50597 0.0563865 -0.12808 0.00132332 0.122258 -0.422297 1.07691 0.0990303 -0.619636 -0.649823 0.302123 0.0186624 -0.111256 -0.00724949 0.61155 -0.371503 -0.00165752 0.444276 0.411415 -3.76547e-05 1.228 0.00566528 2.05049 0.00185907 1.05771 0.0352622 0.961492 -0.593475 -0.181894 -0.00648396 0.631001 0.132593 -7.74504 0.0324082 0.0121953 0.0309651 -0.0897136 0.175571 0.244477 -0.185095 -0.00998693 -0.677743 -1.25232 -0.526875 0.929993 -0.298489 0.516634 -0.533308 0.396 -0.117067 0.0812237 -0.239165 -0.151338 -0.863292 0.262496 0.486581 -2.44083 0.0526788 -0.0965409 -0.913599 -0.124424 -0.0259768 -0.880258 -0.323247 0.185905 -0.235546 0.302301 -0.000455387 -0.00109298 -0.0154628 0.0201672 0.724555 0 0 0 0 0 0.000264626 -0.0532952 0.00163468 0 0 0 0 0.000192842 0 0.0111069 0 0 0.000696842 0.000584229 0.00845195 0 0.00115628 0.039711 0.074532 0 0 0.0140852 3.09373e-05 0 -0.00207869 1.0126 0 0 0.00743147 0.241485 0 0.00136361 0 -0.00572624 0 0 -7.75382e-05 0 0 0.0492218 0.00364272 0.0130442 0 0.0307938 -0.0187801 0 0 0.162591 0 0.00330883 0.208333 0.000642428 0 0 -0.00134785 -0.00253502 0 0.00967456 0.0154577 -0.000109871 -0.105132 0.0349319 0.0179718 0 0.00179046 0.0136259 -0.0689327 0.00666176 0.0497104 0 0 0 -2.77507 -0.220151 -0.377403 -0.0163205 -0.0143349 0.0618544 -0.00058077 -0.000508913 -0.00109312 -0.00599226 0 0 0 0 0 0 -0.172014 0 0.256313 0 0 0 0 -0.0565483 0.152699 0 0 0.110682 0 0.016333 0 -0.00226185 0 0 0.288085 0 -0.53694 -0.00315393 0.00336901 0.0452819 0 0 -0.0303252 0 5.09475 0 0.521808 0.756549 0 0.037105 -0.436074 0.0037952 0 -0.00753263 0 0 0.0169858 0 1.74399 0.348493 0 0 0.0498033 0 0 -0.175719 0.558189 -0.00654015 0 0.804735 0 0.281718 0.0408293 -0.0101525 0.0369778 0.0512192 0.325976 0.0679488 0.0136069 0.440032 5.98983 0.0155683 0 0 0 0.210231 -0.00172829 0 0 0 0 -0.0529546 -4.24068 -0.70716 -0.256351 0.0367875 -0.21813 0.105857 -0.0016922 -0.00262581 -0.0284508 0.0319828 0 0 0 0 0 0 -454 0 -0.165301 0.122601 -0.0128443 0.000703636 -0.0075436 -0.0904831 0.0587629 0.829665 -0.218566 -0.11716 -0.144234 -0.722066 0.00175935 -2.36356 -0.0207349 -0.51198 -3.94949 -0.0784968 -0.00878749 -1.43701 0.00956759 -0.296753 -0.00308456 0.0250142 0.100926 0.10569 -0.0243574 -0.12662 -0.402356 -0.38771 -0.0279192 -0.317941 -0.889212 -0.31447 -0.0501498 -0.021664 -0.181646 -2.63258 -0.119269 -0.849095 0.0111173 -0.946526 -0.0162577 -4.46667 0.0685818 -0.493514 -0.204825 -0.266255 0.012695 -1.27226 -0.0724648 4.65264 0.0835541 0.0306515 0.104545 1.82417 0.764828 0.318597 -0.0720582 -0.0237788 0.413926 0.718969 1.95667 1.03112 0.672389 0.351562 -0.0408835 -0.155435 0.094048 0.375231 0.00303296 -0.046902 0.395594 0.0770055 0.182685 1.95659 5.74899 1.7739 -2.69298 1.30481 -1.5237 2.87387 0.0744738 -0.164699 0.235301 -0.972318 -0.000885685 -0.00135609 -0.0356364 0.0789666 0.448629 0 0 0 0 0 -0.0128443 0.000703636 0.00135135 0 0 0 0 0.000254883 0 0.0087045 0 0 -0.00114936 -0.00343641 0.0123581 0 0.00140507 0.0266985 0.0837799 0 0 -0.194396 -0.000181905 0 -0.0207055 -0.0463544 0 0 -0.0210587 0.0523214 0 -0.115711 0 -0.0331406 0 0 -0.0035567 0 0 -0.356029 0.00481471 -0.0218137 0 0.0254526 0.0616434 0 0 0.158243 0 0.00274216 0.90306 0.00664125 0 0 0.00220928 -0.00209051 0 0.00931176 0.0506014 0.00641323 0.729309 0.0751816 -0.0182991 0 0.00797865 -0.00665816 0.103762 0.0319154 0.024103 0 0 0 1.54349 0.144975 -0.220392 0.00434761 0.00379144 -0.026848 0.000987884 0.000866503 0.00181113 -0.00748555 0 0 0 0 0 0 -0.0075436 0 -0.0904831 0 0 0 0 0.398329 -1.09992 0 0 -0.0717431 0 -0.0154306 0 -0.0613585 0 0 0.251147 0 -0.752118 0.0606598 -0.107315 0.000303068 0 0 -0.62705 0 -6.42681 0 -2.66202 -0.810815 0 0.544915 -1.31564 -0.0179547 0 0.0520164 0 0 -0.118364 0 -2.18441 -0.284512 0 0 -0.0898578 0 0 -0.0606401 3.42642 -0.302304 0 -0.692965 0 -0.694275 0.0899162 0.03538 0.39529 0.0650517 0.364629 0.538904 -0.0927521 2.35698 11.0822 -0.00995015 0 0 0 -0.022052 -0.0119937 0 0 0 0 0.318113 12.4252 0.634607 -0.908053 0.570775 -0.562689 1.05968 -0.0833063 0.0266413 0.063053 -0.292152 0 0 0 0 0 0 -455 0 -0.596238 0.175492 -0.0242066 -0.0049721 -0.12181 0.25711 0.366313 -0.0969165 0.0232853 0.908958 0.401552 1.45398 0.00991346 3.52669 0.183359 2.05388 8.08953 0.218797 0.315338 -0.135463 -0.00513747 -0.021717 -0.0111192 0.152412 -0.28234 0.534729 -0.171492 -0.660806 -1.52131 0.967951 -0.0297521 1.07671 0.357225 -0.0262277 -0.0705383 0.0745534 -0.48167 2.23709 0.250259 0.446843 0.0455392 -0.260577 0.0394018 6.38156 0.207668 0.655445 -1.09124 1.78284 -0.111786 2.30864 0.579189 2.8626 -0.566057 0.401881 -0.662762 -0.850193 -1.13601 -0.131177 -0.309025 -0.0748358 1.70553 -0.0860244 -1.18067 1.27974 -0.0194358 -1.38773 -1.01271 -0.709271 -0.0111606 -0.863663 0.829194 0.857431 0.249697 -0.0129329 1.20354 0.358574 -6.95622 -2.70908 0.682676 -0.900009 0.9338 -1.69668 -0.453921 0.617927 -0.666317 -1.2045 -0.187857 0.0681619 0.323087 -1.7684 5.34776 0 0 0 0 0 -0.0242066 -0.0049721 -0.000199505 0 0 0 0 -8.39877e-06 0 -0.00636941 0 0 0.000369548 0.00023134 -0.00947719 0 -0.00134797 -0.0824972 -0.0367937 0 0 -0.0498879 1.22465e-05 0 -0.0115281 -1.08353 0 0 -0.00821112 -0.312902 0 -0.0613687 0 -0.0230667 0 0 -0.0037581 0 0 -0.107549 -0.000158656 0.00698089 0 -0.00376871 -0.0175227 0 0 0.0641101 0 -0.00038432 -0.0834721 -0.00162403 0 0 -0.000711887 0.00032481 0 -0.00147687 -0.0334941 -0.00173255 0.834003 -0.0152054 0.0100959 0 -0.00182218 -0.00752879 0.0425267 -0.010794 0.00202473 0 0 0 -0.215887 -0.0613471 0.0379925 -0.0029316 -0.00257056 0.00262825 -0.000314349 -0.000275635 -0.000581422 0.00202046 0 0 0 0 0 0 -0.12181 0 0.25711 0 0 0 0 0.339881 0.507653 0 0 -0.173861 0 -0.0330416 0 0.0613923 0 0 -0.10416 0 -0.646589 0.0825957 -0.120294 -0.0106983 0 0 0.644314 0 6.63977 0 -0.488398 0.899628 0 0.612504 -0.817477 -0.0219764 0 0.045802 0 0 0.0377875 0 2.91005 0.448443 0 0 0.0692516 0 0 -0.083765 1.48104 0.17698 0 0.883495 0 -0.0520263 -0.132252 0.00842365 0.38213 -0.0264132 0.246715 -0.179797 -0.0644236 -0.772475 3.17091 0.0512004 0 0 0 0.114091 0.0518327 0 0 0 0 -0.198054 7.29249 -0.327701 0.755135 -0.152123 0.0363816 0.612203 0.049755 -0.0400545 0.0615798 -0.219804 0 0 0 0 0 0 -456 0 -0.157547 -0.0821711 0.0452497 0.0337447 -0.101066 -0.0652373 0.790643 1.6482 0.168637 -1.0128 0.27626 1.38768 -0.0172727 1.93567 0.112135 -0.646139 -0.710164 -0.199098 0.175334 -0.605982 -0.0149172 0.195475 0.0210646 -0.29425 0.6256 -0.346253 0.0878084 -0.0209967 -0.669588 0.656878 0.0751442 0.577684 0.199971 -0.0333853 0.336153 0.0670087 0.29932 -0.201813 0.502086 -0.337308 -0.0713441 0.4528 0.129846 3.40257 -0.280428 -0.102735 -0.253019 0.959467 -0.287402 0.722356 -1.05415 6.02402 -0.304532 0.219182 -0.317441 1.14827 -0.3812 -0.228315 0.467353 0.124327 0.358559 1.26965 1.91599 -1.90082 -0.38778 -0.148363 1.31181 0.494926 -0.0800873 1.05994 0.164416 0.563724 -0.272586 0.277065 0.327708 0.0370394 2.97759 1.71626 -3.42164 -0.1229 -1.14459 1.95879 0.897672 -1.1907 1.93002 -3.43559 0.253676 -0.471989 0.795742 -1.46722 2.35376 0 0 0 0 0 0.0452497 0.0337447 0.000445143 0 0 0 0 1.35883e-05 0 0.0110454 0 0 -0.000181855 -0.000150837 0.0150195 0 0.00248823 0.0959501 0.0487009 0 0 -0.0808322 -7.98485e-06 0 0.0288953 0.2199 0 0 -0.00548687 0.245572 0 0.150429 0 0.00224527 0 0 0.00205343 0 0 0.339558 0.000256687 -0.00343529 0 0.00840891 0.0108175 0 0 -0.00742057 0 0.000857512 0.170996 0.00147121 0 0 0.00035032 -0.00072473 0 0.00267229 -0.0101477 0.00137705 -0.514339 0.0186614 -0.00257763 0 0.00210626 0.0107533 -0.206058 0.00629271 0.0416761 0 0 0 -0.873286 0.0112747 -0.10049 -0.000495455 -0.000434437 0.00116154 0.000154691 0.00013564 0.000286118 -0.00092301 0 0 0 0 0 0 -0.101066 0 -0.0652373 0 0 0 0 0.153603 1.32732 0 0 -0.0135 0 0.00221311 0 0.0546102 0 0 -0.0927143 0 0.699537 0.0266307 -0.00859999 0.0148894 0 0 0.56743 0 5.76852 0 2.23022 1.0374 0 0.326366 1.13574 -0.00137634 0 0.0138805 0 0 0.132581 0 2.6747 -0.789935 0 0 -0.0419603 0 0 -0.0332616 -0.251335 0.114974 0 1.12477 0 0.347534 -0.0275567 -0.000508235 0.235343 0.157971 0.306208 -0.142274 -0.155138 -1.36702 -2.19224 -0.0223658 0 0 0 0.231573 0.0316866 0 0 0 0 -0.435399 -10.7185 -0.603129 -0.577652 0.210843 -0.144284 -0.583532 0.0690879 -0.0526042 0.00393079 -0.0529428 0 0 0 0 0 0 -457 0 0.466328 0.464227 0.111663 0.171787 -0.22975 -0.297956 1.88234 4.19889 0.478617 -2.25649 0.295472 0.327274 -0.0415639 1.4033 0.143935 3.59726 11.0146 -0.173766 0.23217 -0.765132 0.0387966 -0.166676 0.0519595 -0.578909 1.04733 1.14769 0.5018 0.410227 -0.240011 0.380535 0.190998 0.637081 -1.05305 1.68671 0.582115 0.0906502 1.04351 -5.70262 0.744417 -0.545176 -0.164388 4.19054 0.230538 0.738515 -0.60167 -0.460696 0.228107 1.17906 -0.468197 2.36303 -1.4534 -16.8877 -0.384569 0.319019 -0.430115 -1.68186 -0.603213 -0.00208347 0.930603 0.280204 1.2753 -0.151001 4.13817 -4.06279 -2.01524 -0.956631 3.01357 1.61507 -0.228011 1.4943 0.397036 0.538904 -1.42974 -0.754169 0.286385 -5.13378 18.4353 7.64669 -7.28236 4.58351 -4.64937 7.15821 1.72437 -2.25638 3.56108 -6.63441 0.544271 -0.862132 1.16606 -1.518 0.843695 0 0 0 0 0 0.111663 0.171787 0.000461931 0 0 0 0 1.69148e-05 0 0.00470345 0 0 -0.000539799 -0.000356099 0.0280669 0 0.00198976 0.0956417 0.0734165 0 0 -0.00795111 -1.88509e-05 0 -0.0996567 0.382424 0 0 0.00656512 0.201286 0 -0.228543 0 0.0349839 0 0 0.00814271 0 0 -0.533026 0.000319526 -0.010197 0 0.00872603 0.0271558 0 0 0.0921096 0 0.000889851 0.302251 0.0027022 0 0 0.00103985 -0.000752061 0 0.00318032 0.0503482 0.00278823 0.250075 0.0294033 -0.00995032 0 0.00354147 0.00437538 0.100362 0.010894 -0.0438288 0 0 0 1.68392 0.0761614 -0.104695 0.00290418 0.00254651 0.0200088 0.00045917 0.000402621 0.000849284 -0.00441368 0 0 0 0 0 0 -0.22975 0 -0.297956 0 0 0 0 0.244187 1.80931 0 0 -0.311485 0 -0.0361483 0 0.0496923 0 0 0.0158847 0 0.0662863 0.0703429 -0.0425528 0.0114968 0 0 0.508636 0 5.23854 0 -1.73041 -0.135067 0 0.610605 -0.239447 -0.00483275 0 0.0323541 0 0 0.183047 0 1.18819 -1.09558 0 0 -0.119288 0 0 -0.00765763 1.81895 0.235787 0 1.65363 0 -0.331505 0.113856 -0.169219 0.399072 0.0595778 0.387761 0.0710193 0.0294003 -1.03843 3.58244 -0.0614331 0 0 0 0.250844 0.0249573 0 0 0 0 -0.454315 11.0323 1.26604 -0.419868 0.606341 -0.394729 0.489759 0.0633703 -0.0671886 0.1251 -0.273054 0 0 0 0 0 0 -458 0 0 0 0 0 -0.0420824 0.00200912 -0.573145 -0.426739 0 0 0.316174 0.0678952 0 -0.359524 0.0229051 0 0 0 -0.0597296 -1.37646 0 0 0 0 0.192378 0 0 -0.150198 -3.49555 -0.101178 0 -0.356431 0 0 0.031624 0.0513134 0 0 1.49526 -1.12562 0 0 0.402711 0.335633 0 -0.591908 -0.909714 -1.47721 -0.879495 -0.0861151 -0.718679 0 0.177196 -0.0393848 0.528522 -0.683273 -0.343208 -0.81281 0 0 0.0847611 0.563647 0 -2.61717 -0.525277 -0.350568 0 0 0 0 -0.0513922 1.21054 0 -1.16618 -1.14838 0 0 0 0.079893 0 -1.08149 1.8199 0 -1.11008 0.886659 0.774698 0 -1.90452 2.4795 -3.5565 9.05514 0 0 0 -0.12266 -0.0422807 0 0 0 -0.0263009 -0.0165526 0 -0.00350873 0 0.00488964 0.00748795 0 0 0 0 -0.0759867 0 -0.0045064 0 0.0373455 0 -0.181206 0.0981371 0 0.00161096 0 0 0.0990725 0.00180071 0.0159707 0 -0.00105613 0 -0.00118721 -0.0713383 0.0166267 0.026254 -0.00868395 0 0.00033318 0 0 0 -8.09572e-05 0 0 -0.00155779 0.00437792 -0.0518369 0.0140046 0 0 0.0205882 0 0.0109034 0 0 0.045641 -0.017849 -0.102875 0.00644062 0 0 0.018708 0.0407315 0.043385 0.0450712 -0.0530431 0 -0.0807357 -0.0149909 -0.431233 0 0 0 -0.0592387 0 -0.0177822 -0.0765621 0 0.00161421 -0.0022861 0.000503272 0 -0.00179602 0.000506418 -0.0033735 -0.0726868 0 -0.0420824 -0.12266 0.00200912 -0.0422807 0.33634 0.0788617 -0.117931 0.298891 -2.56134 0.0682774 -0.150505 -0.174705 0.0101589 -0.0145804 -0.0388833 -0.111728 -0.11736 0.429219 0.811389 1.93157 0.323334 -0.0553972 -0.507243 0.0778429 -1.23262 -0.136226 -0.897638 0.0215785 -0.092696 -0.104191 2.6717 0.305627 -0.00739985 -0.422736 0.951325 -0.0693723 -0.00722836 0.050822 -0.0525485 -1.06231 -0.333257 -0.017476 0.394619 2.15973 -0.0146198 -0.0199369 0.225362 0.210244 -0.531666 -0.329471 2.61179 -1.00043 0.274341 0.14258 0.00221825 -0.168255 -1.20304 0.962405 0.432681 -0.225507 0.039714 -0.646964 -0.0337401 -2.34835 -1.06981 -0.140988 0.328698 -0.172536 -0.407316 -0.332327 0.0651298 0.0688508 -0.161687 -0.0308713 0.195251 0.211821 -5.05376 0.0533676 1.69025 -2.42649 1.27887 0.978843 0.114153 -9.6336e-05 0.356129 0.0684254 -0.649215 0.287003 0.149352 -0.306587 0.947739 0 -459 0 0 0 0 0 -0.552966 -0.197443 0.265572 0.914421 0 0 -0.161659 -0.321169 0 0.0852474 0.0580344 0 0 0 0.252899 0.665506 0 0 0 0 0.193859 0 0 0.483486 3.94216 -0.255588 0 0.658886 0 0 0.120589 -0.0133245 0 0 -1.04644 -0.175819 0 0 -0.171259 0.313105 0 -0.347374 1.11992 1.29807 0.420114 1.1829 -0.0104188 0 -0.750379 0.0151461 0.0456052 -0.631325 -0.430027 0.290175 0 0 0.095833 -1.60221 0 0.16349 -0.41824 0.210256 0 0 0 0 -0.107322 -0.175871 0 -0.521194 -0.527325 0 0 0 -2.03106 0 0.709473 -3.12225 0 0.50509 -1.01667 -1.31618 0 1.05959 -1.74027 2.20289 -7.39217 0 0 0 0.144232 0.0341451 0 0 0 0.00150369 0.00115728 0 0.000627675 0 0.00368588 0.0356197 0 0 0 0 0.0832798 0 0.0142794 0 0.196353 0 -0.0123809 0.219177 0 -0.00598371 0 0 -0.111177 5.43279e-05 0.0699515 0 0.00509179 0 5.73062e-05 0.18322 -0.028158 -0.000751813 0.0350062 0 0.00028884 0 0 0 0.00036831 0 0 0.0109248 0.00976691 0.0117851 -0.0411817 0 0 -0.0119407 0 0.0087341 0 0 -0.0280845 0.00963036 -0.13489 0.0126829 0 0 0.00418204 0.0917905 0.0214831 0.00466596 -0.129351 0 0.018404 -0.0370417 0.145133 0 0 0 -0.110906 0 0.0133477 0.0153233 0 -0.00400717 0.0127465 -0.0789728 0 0.00216294 -0.00310213 -0.000456794 0.0407082 0 -0.552966 0.144232 -0.197443 0.0341451 -0.486268 -0.110654 0.152781 -0.283247 1.76138 -0.0485675 0.00190774 0.198736 -0.00753394 0.0386542 0.030862 0.128299 0.00721622 -0.276792 -0.937803 -0.682301 -0.0656619 -0.050823 0.360345 -0.152138 0.0120613 0.0818213 1.13608 -0.0296925 -0.843239 -0.326589 -1.13601 -0.838654 0.00494051 0.274087 -0.318693 0.0559469 -0.00390057 -0.0518363 -0.0441479 1.00082 0.212682 0.00539014 -0.9455 -1.49858 0.00151791 -0.0251736 -0.281913 -0.150316 0.0934952 -0.279695 -2.75991 0.589732 -0.0644275 -0.913395 -0.0194866 0.206177 1.07652 -0.386244 -0.251672 -0.150936 -0.114715 0.505484 0.25611 -1.13992 -6.26597 0.313147 -0.250708 -0.120782 -0.00618822 0.13829 -0.098012 0.115181 0.117869 -0.000326196 0.102099 -0.470377 2.14886 -0.140397 -1.66044 1.12092 0.0467377 -1.9207 -0.138709 0.220402 -0.520827 -0.173662 0.418662 0.132843 -0.65646 0.618823 -1.06316 0 -460 0 0 0 0 0 0.483647 -0.173367 -0.0610553 -1.38214 0 0 -0.380333 -0.265926 0 -0.927493 -0.0585696 0 0 0 0.169809 3.57197 0 0 0 0 0.289218 0 0 0.660767 0.544581 -0.570984 0 0.220999 0 0 0.35391 -0.0364333 0 0 -1.86443 -0.108057 0 0 -0.404916 2.13692 0 -0.913541 0.537537 2.07492 1.09577 -3.14194 0.481345 0 -0.215543 0.281928 -0.492356 1.64269 -0.664646 -1.03986 0 0 0.107017 1.91735 0 0.955491 1.29363 0.509837 0 0 0 0 -0.0548264 -2.34961 0 0.175223 0.72958 0 0 0 2.37919 0 2.27185 -0.800263 0 1.23884 -0.976005 3.79858 0 2.00572 -1.46096 3.7926 -2.59338 0 0 0 0.373305 0.100605 0 0 0 0.109328 0.120902 0 0.0173404 0 -0.00577385 0.0102699 0 0 0 0 -0.0120368 0 -0.00474162 0 0.0732153 0 0.580544 0.722149 0 0.00185582 0 0 -0.0927816 -0.00170442 0.104539 0 0.0135906 0 0.00873929 0.132608 -0.00310924 -0.027003 0.0246409 0 -0.000366656 0 0 0 0.000995207 0 0 0.0107509 -0.00150905 -0.0802065 -0.0283573 0 0 -0.0225023 0 -0.0255213 0 0 0.0499027 0.0106361 -0.00537201 -0.0184648 0 0 0.0360545 0.0496431 -0.0874676 0.0439734 -0.393631 0 -0.065297 -0.0153233 -0.0381119 0 0 0 -0.0402489 0 0.0296157 0.0441088 0 -0.00515464 0.00890213 -0.0359136 0 0.00371006 -0.00364159 0.00527419 0.0639409 0 0.483647 0.373305 -0.173367 0.100605 -0.238522 -0.0420759 0.453234 0.220413 0.732626 -0.147616 0.00282047 -0.504384 -0.0233249 -0.0686209 0.101382 0.053469 -0.0183665 -0.829484 -0.23005 -1.31287 0.184363 -0.130522 0.0169686 -0.0333363 0.243395 -0.126621 0.277771 -0.0253078 -1.51884 -0.0409608 0.144867 -0.852105 0.0173141 -0.481696 0.245186 0.0302433 -0.00271957 0.0416533 -0.0420476 -0.70825 0.172067 -0.0203674 -1.04862 -1.3208 -0.0055728 0.0145948 -0.244872 -0.18324 0.025506 -0.680957 0.630351 -0.607741 -0.0692267 -4.87017 -0.0700223 0.568766 0.668316 0.462608 0.0913003 0.355613 -0.131161 0.00461766 -0.204271 -0.534371 -8.07592 -0.252325 -0.317867 -0.351336 0.0715701 -0.314787 0.185728 -0.0084357 0.352934 -0.324237 0.176048 -0.0984443 -0.27403 0.470979 1.36311 0.674962 0.21473 1.63574 0.416185 -0.178129 0.126088 0.925922 1.25464 -0.282144 0.24348 -0.0163823 0.909923 0 -461 0 0.405613 0.221661 -0.0201743 -0.0941972 0.175253 0.196771 0.136797 -0.0526275 -0.147673 0.357901 -0.23983 1.24965 0.00318978 1.77433 0.00276344 0.35766 1.43388 -0.0549697 -0.022895 7.2546 -0.0163774 -0.230259 -0.00360433 0.0783287 -0.0409292 0.222172 -0.0336747 -0.0346442 1.66572 0.392705 -0.024756 0.0394638 -0.290365 -0.339824 -0.130868 -0.0212389 -0.234694 0.0467207 -0.425899 3.06221 0.0236124 -1.60081 -0.0462041 5.52275 0.149156 1.25327 0.586051 -0.228282 0.163207 0.760746 0.396469 8.97385 0.0835291 -0.0716984 -0.00588388 1.03633 0.0156919 -0.0858935 -0.183468 -0.0601392 -0.131454 -3.01857 -2.07371 1.31106 0.624223 0.160463 -0.531943 -0.493753 0.0461077 -0.492745 0.198881 0.100986 0.451728 0.268676 0.694908 1.49437 -0.0965214 -0.792441 1.1242 -0.593642 0.428108 0.663457 -0.132988 0.292629 -0.479449 0.367821 -0.125508 0.218732 -0.79419 0.708236 -2.08552 0 0 0 0 0 -0.0201743 -0.0941972 0.00129853 0 0 0 0 0.000318086 0 0.00868692 0 0 0.000176666 0.000561781 0.00165544 0 0.000813257 -0.0131556 0.0116006 0 0 0.0847052 3.88294e-05 0 0.0060159 0.337013 0 0 0.0204354 -0.0279781 0 0.0157465 0 -0.0014982 0 0 0.00109476 0 0 0.254355 0.00452957 0.00256537 0 0.0183449 0.0141487 0 0 0.0606773 0 0.00470442 -0.113904 -0.00601921 0 0 0.00123221 0.000445629 0 -0.015154 -0.0813675 2.24941e-06 -0.127729 0.00839519 0.0175719 0 0.0252532 0.0057325 -0.0574251 0.0200414 -0.00598574 0 0 0 -0.442561 0.0309291 -0.0625681 -0.0254596 0.0284846 -0.0301043 0.000138557 -5.96153e-05 -0.000448407 -0.00141676 0 0 0 0 0 0 0.175253 0 0.196771 0 0 0 0 -0.453098 0.39133 0 0 0.602236 0 0.0675262 0 0.0276448 0 0 0.320792 0 -0.601268 -0.145888 0.370372 0.0232941 0 0 0.249115 0 0.54909 0 -3.48908 -0.112088 0 -1.12566 -1.3635 0.0425048 0 -0.0573387 0 0 0.0407556 0 0.0279176 0.570589 0 0 0.0152819 0 0 0.270611 -4.65998 0.0257349 0 -0.498043 0 -0.913988 0.249694 -0.254129 -0.387564 -0.331209 -0.718569 -0.189723 0.0553838 0.0686015 -5.54683 0.257283 0 0 0 -0.175678 -0.217233 0 0 0 0 0.0723209 15.3112 0.966855 2.31441 1.35449 -0.670481 1.09303 -0.402723 0.235834 -0.19835 0.407352 0 0 0 0 0 0 -462 0 -0.839831 0.10896 0.0236001 0.19966 -0.283122 0.117043 -0.195848 0.661119 0.166451 -0.777854 -0.172015 -0.283716 -0.00306896 0.344793 -0.0147145 0.80243 -0.0672075 0.00535723 -0.0158038 -2.19186 -0.00327014 -0.356027 0.00214328 -0.121263 -0.322861 0.484371 -0.0282025 -0.630462 -0.498249 0.173898 0.0186162 -0.146788 -0.307846 0.103791 -0.264729 -0.0125359 -0.258857 0.391813 -0.171124 -0.171324 -0.0287337 0.144605 -0.00934008 -1.44935 -0.267864 0.356048 -0.684159 -0.190747 0.0352924 0.770759 -0.370574 -1.03348 0.0947399 -0.0950728 0.392682 0.025393 -0.147939 -0.304122 0.332677 0.0921541 0.301667 0.208186 -0.169374 0.0994308 0.45851 -0.745695 0.0628241 -0.162933 -0.0352661 -0.0440188 0.491253 -0.289643 0.201636 -2.01212 0.0940642 -0.87042 -5.6909 0.672676 -2.26201 0.717386 0.413425 -1.6005 0.861698 -0.308326 0.65218 -1.3913 0.225397 0.000980093 0.377314 -0.0249709 0.62382 0 0 0 0 0 0.0236001 0.19966 0.00313287 0 0 0 0 0.000378012 0 -0.00462915 0 0 -0.00155834 -0.00326545 -0.00116808 0 -0.000240904 0.026455 -0.0212065 0 0 0.111708 -0.000215707 0 0.0101901 0.455591 0 0 0.0136499 0.155852 0 0.0722254 0 0.0134524 0 0 0.00159114 0 0 0.265519 0.00524222 -0.0240708 0 0.043438 -0.000553425 0 0 0.0531888 0 0.00286826 -0.0284093 -0.0032518 0 0 0.007989 -0.00784477 0 -0.0190324 0.0882662 -0.017522 -0.698556 0.00505965 0.0322801 0 -0.0113001 0.00812299 -0.0833529 -0.0658453 -0.0207329 0 0 0 -0.263627 0.0283521 0.0233685 -0.0102653 0.0154215 -0.0373994 0.00338023 -0.00354756 0.00249336 0.00420198 0 0 0 0 0 0 -0.283122 0 0.117043 0 0 0 0 -0.0323597 -0.0652183 0 0 -0.20998 0 -0.0265136 0 -0.0270196 0 0 0.252827 0 -0.576991 0.0909881 0.0588558 0.0465246 0 0 -0.248515 0 1.23654 0 1.73281 0.812549 0 0.697448 -0.382888 0.00488094 0 -0.00233292 0 0 -0.00379159 0 1.32634 -0.142673 0 0 -0.00617503 0 0 -0.114332 2.8638 -0.133259 0 -0.161225 0 0.354123 -0.164583 0.18149 0.548909 0.0718392 0.0844537 -0.125368 0.0431315 -0.363706 2.59196 -0.168699 0 0 0 0.0240336 0.094009 0 0 0 0 -0.131381 -15.5056 -0.915287 -2.56619 -1.17371 0.665067 -1.13761 0.11546 -0.0952251 0.136754 -0.441407 0 0 0 0 0 0 -463 0 1.58906 -0.194222 0.0724102 0.389288 -0.181686 -0.0119537 0.173442 0.319026 0.526429 -1.46279 0.265236 -0.816072 -0.0110698 -0.509833 -0.0572604 -1.66738 -1.96919 -0.164868 -0.114346 -1.88474 0.0123246 0.394996 0.0117506 -0.221491 -0.346843 -0.80323 -0.0306285 -0.253054 -0.890851 -0.141833 0.0829368 -0.415509 0.217938 0.197453 -0.166413 0.030435 -0.0405765 -2.65541 0.697636 -0.415269 -0.0853867 1.27905 0.0909387 -2.64364 -0.588786 0.000192317 -0.412648 -0.811094 -0.307147 0.72006 -0.792189 7.52298 0.377329 -0.319493 0.365177 1.1436 1.01442 0.554735 0.640459 0.228329 0.52888 -1.48332 2.14358 -0.832875 -0.493678 0.701195 1.35234 0.167752 -0.154808 0.77838 -0.460262 0.165023 0.144059 -1.41929 -0.372889 -0.0146672 8.22849 2.85691 0.512461 1.79 -1.46502 3.2356 0.967852 -0.761616 1.38841 -0.0455208 0.495439 -0.449615 0.743394 -0.672912 1.11537 0 0 0 0 0 0.0724102 0.389288 0.00205687 0 0 0 0 -0.000490803 0 0.000485874 0 0 -0.000173027 -0.00257953 -0.00550932 0 0.000420365 0.00227114 -0.0447649 0 0 0.295403 -0.000169328 0 -0.0217798 0.50456 0 0 0.0330222 0.0318754 0 -0.0609095 0 0.0649557 0 0 0.00689748 0 0 -0.102807 -0.00717335 -0.0042624 0 0.0271464 -0.0211215 0 0 -0.0429644 0 -0.00954164 -0.112875 0.0114992 0 0 0.00277159 -0.0117387 0 0.00223704 -0.00213839 -0.0076555 -0.660832 -0.0041573 0.0118179 0 0.0052263 -0.0134125 -0.0432591 -0.119834 0.0159898 0 0 0 0.2491 -0.0156658 0.0746477 0.0160651 -0.0165803 0.010053 0.00106645 -0.00103876 0.000270166 0.00633103 0 0 0 0 0 0 -0.181686 0 -0.0119537 0 0 0 0 -0.0279182 0.220671 0 0 -0.970439 0 -0.113366 0 -0.0218992 0 0 -0.42312 0 0.365158 -0.00481689 -0.492486 -0.0846719 0 0 -0.185499 0 -2.17875 0 -3.02521 -0.20508 0 0.00651871 -0.354721 -0.0587831 0 -0.00421733 0 0 0.0173035 0 -1.02401 -1.06792 0 0 -0.200028 0 0 0.207834 0.915185 -0.118798 0 2.88583 0 -0.694853 -0.402921 0.212755 -0.404257 0.157808 0.816604 1.49435 -0.31844 0.875539 6.16063 -0.088775 0 0 0 0.097447 0.31883 0 0 0 0 0.155917 9.85778 1.0522 1.48806 1.08939 -0.611157 1.45202 0.655452 -0.270458 0.247366 0.0719841 0 0 0 0 0 0 -464 0 0.529024 -0.256926 -0.00699185 -0.0173451 0.0310663 -0.142183 0.304144 -0.266568 0.0281165 0.59453 0.19674 -0.908876 0.000951292 -1.49547 -0.00669659 -1.4326 -4.46818 0.0361374 -0.0321547 -2.95975 0.00693031 0.412357 -0.00037902 0.120838 -0.0795035 -0.544064 -0.00250833 0.132412 -0.266901 -0.283925 -0.00271508 -0.0265312 0.461816 -0.0326379 0.0811398 0.0127713 -0.0295944 0.117908 0.0909541 -1.63746 0.0139087 -0.583334 0.00577446 -4.05538 0.201919 -0.624787 -0.0393285 -0.449756 0.00666029 -0.0951708 0.582165 -3.00614 0.0645182 -0.0911002 -0.247805 -4.54278 0.0960414 0.181721 -0.253436 -0.042748 -0.54418 1.19877 -1.39901 0.369592 -0.112472 -0.365577 -0.266967 0.0561625 -0.00875478 -0.108151 -0.000376672 0.182144 0.0316293 -1.45055 -0.090473 0.413433 -1.21531 -1.36911 0.0488653 -0.428704 -0.237355 0.369863 -0.617741 0.406013 -0.597743 0.941949 -0.0427348 -0.0414238 -0.124032 -0.0265602 0.402566 0 0 0 0 0 -0.00699185 -0.0173451 0.000628643 0 0 0 0 7.15574e-05 0 0.0186465 0 0 0.000751723 0.000442128 0.00764501 0 0.00116202 -0.0154019 0.11774 0 0 -0.216917 2.63812e-05 0 -0.0107661 -0.460924 0 0 -0.0247989 -0.130814 0 -0.0931279 0 -0.0160025 0 0 -0.00185968 0 0 -0.0895223 0.0010391 0.0112816 0 0.00911819 0.00012375 0 0 -0.0706027 0 0.00237757 -0.206185 -0.00254502 0 0 -0.0021618 0.00140731 0 0.000336605 -0.0766987 0.00753432 -0.247067 -0.00360807 0.0144023 0 0.0116448 0.0296134 -0.0862229 0.0407991 0.0639686 0 0 0 0.0653699 0.00174103 -0.126876 -0.00534303 0.00401076 0.0320005 -0.00118558 0.00131285 -0.0013146 -0.0440972 0 0 0 0 0 0 0.0310663 0 -0.142183 0 0 0 0 -0.209844 -0.145224 0 0 0.0663914 0 0.0102715 0 0.000622544 0 0 -0.559743 0 0.236286 -0.108871 -0.0977396 -0.0653511 0 0 0.0133571 0 -2.71618 0 -3.05676 -0.399998 0 -0.749947 -0.569643 -0.0111871 0 -0.0284235 0 0 -0.00949827 0 -1.01947 -1.26098 0 0 -0.168555 0 0 -0.783404 -3.77146 0.0655741 0 -2.84679 0 -1.23364 0.114919 -0.276245 -0.3531 -0.216825 -0.652774 0.48214 -0.0539116 2.19342 -4.04294 0.264651 0 0 0 0.16156 -0.0511384 0 0 0 0 0.0868659 14.8179 1.77801 0.637317 1.33247 -0.750347 1.14439 -0.0350009 0.0495964 -0.0178866 0.231209 0 0 0 0 0 0 -465 0 -0.893021 -0.335015 0.0102249 0.0629173 -0.287526 -0.124689 0.410591 1.14838 0.0908475 -0.444034 0.0660991 0.787509 -0.000665192 0.504878 -0.0228893 -0.533905 1.28923 -0.117475 -0.0329829 1.67306 -0.00932623 0.452234 0.000789216 -0.0362314 0.492154 -0.425639 -0.00904851 0.234379 0.316785 0.202778 0.00951603 -0.43212 0.57588 -0.0981554 0.258309 0.00251619 0.0529791 1.09021 0.0697006 0.574027 -0.00800294 -0.133685 0.0038994 2.53954 -0.0878884 -0.0452464 0.236842 -0.566159 -0.0262806 -0.440297 -0.0401631 4.45711 0.102249 -0.0370832 0.0412983 3.46464 0.015927 0.0151264 0.0956496 0.0226478 0.731308 1.69335 0.759414 0.381552 0.204954 0.426716 -0.0878454 -0.115069 -0.0230187 -0.0254836 -0.034096 -0.218319 -0.266832 3.77902 0.260033 0.158967 -4.99346 -0.261568 -1.55327 0.0729526 0.194516 -1.77154 0.0922542 0.0378032 0.11992 -0.936534 0.018601 0.00646513 0.032758 -0.102453 -0.477806 0 0 0 0 0 0.0102249 0.0629173 -0.00301441 0 0 0 0 -0.000259805 0 -0.0129518 0 0 0.00135049 0.00250523 -0.00775006 0 -0.00135504 0.0159979 -0.0705044 0 0 0.078953 0.000183221 0 0.00917313 0.256699 0 0 0.00907753 0.0933213 0 0.0675324 0 0.00858635 0 0 0.000975803 0 0 0.261272 -0.00367124 0.0185372 0 -0.0421623 0.020682 0 0 0.014514 0 0.0047138 0.0831695 -0.00952067 0 0 0.00309439 0.0128386 0 -0.00808898 0.0247769 -0.0103648 0.224837 0.00206619 0.00749536 0 -0.0114108 0.0203131 -0.0398971 0.06522 -0.0229693 0 0 0 -0.316171 -0.00413702 0.0484689 -0.00842987 0.0123384 -0.0523293 -0.000235482 0.000654406 -0.00278726 0.014373 0 0 0 0 0 0 -0.287526 0 -0.124689 0 0 0 0 0.345331 -1.45921 0 0 -0.721185 0 -0.0833033 0 -0.0938382 0 0 0.530176 0 0.570348 0.125309 -0.444712 0.0394377 0 0 -0.845528 0 -1.77871 0 2.51382 0.00595963 0 0.898833 0.806278 -0.052195 0 0.045971 0 0 -0.159237 0 -0.504946 0.99198 0 0 0.0721229 0 0 0.468458 3.5619 -0.0213111 0 1.26449 0 0.707154 -0.877288 0.490877 0.402893 0.0278625 0.336625 0.48484 -0.029441 1.35459 6.76888 -0.0174116 0 0 0 -0.240915 0.234793 0 0 0 0 0.527508 -16.1948 0.156038 -3.80537 -1.66837 0.854367 -1.17266 0.528592 -0.258502 0.222597 -0.408885 0 0 0 0 0 0 -466 0 0.613756 0.133853 0.0301975 0.270099 -0.0499709 0.259174 -1.36795 -1.90549 0.311914 -0.996195 -0.366685 1.04204 -0.00182169 0.706158 0.0149127 0.456132 3.13318 -0.226384 0.00624083 -2.0529 -0.0127931 -0.102336 0.00184465 -0.0539566 -0.450942 0.132786 -0.0563542 -0.707202 -1.03138 0.467974 0.0253587 0.224789 -0.346802 -0.349992 -0.376122 -0.0289752 -0.258735 -2.28935 -0.413896 -0.0532236 -0.0240049 -0.886966 -0.0312816 2.50001 -0.301955 0.595396 -0.87627 0.0895549 0.12651 0.412144 -0.547999 -2.45478 0.0256233 0.00978154 0.218034 -3.34601 0.159268 0.220432 0.383632 0.0779844 1.42959 -0.0285781 1.1111 0.0305178 0.253629 0.780109 0.142422 -0.506193 -0.0716163 0.0437227 0.419215 0.0600074 0.362826 -0.784881 0.762812 1.45127 4.35717 1.85035 1.5029 1.3602 -0.606714 2.52462 0.27282 -0.101175 1.20103 1.6855 0.0639069 0.0913522 0.336861 0.474564 1.55562 0 0 0 0 0 0.0301975 0.270099 0.000104932 0 0 0 0 -9.05675e-05 0 -0.0117012 0 0 -0.000120671 0.000859728 -0.0107854 0 -0.00129765 0.0305858 -0.113489 0 0 0.358038 7.55311e-05 0 0.00650719 0.963404 0 0 0.0454145 0.19797 0 0.0443242 0 0.0303905 0 0 0.0036632 0 0 0.179227 -0.00140064 -0.00373204 0 0.000185543 -0.00782896 0 0 0.0568184 0 -0.000241034 -0.00194157 -0.00170474 0 0 0.00742636 0.00127176 0 -0.0127244 0.0355879 -0.0171724 -0.489002 0.00189336 0.0147069 0 -0.00509256 -0.00810392 -0.0737881 -0.0448955 -0.0240757 0 0 0 -0.165568 0.00559063 0.104077 -4.4376e-05 0.00310043 -0.0415708 0.00213871 -0.00196685 -0.000204734 0.0329459 0 0 0 0 0 0 -0.0499709 0 0.259174 0 0 0 0 -0.158406 0.130304 0 0 -0.039477 0 -0.000630318 0 0.0134569 0 0 -0.369122 0 -0.0517294 -0.0465821 0.239669 -0.0559778 0 0 0.119336 0 1.30993 0 0.821645 0.630883 0 -0.19905 0.556461 0.0294512 0 -0.0220163 0 0 0.0107052 0 0.949477 -0.220121 0 0 -0.0465525 0 0 -0.030815 0.230302 -0.0111713 0 0.209333 0 0.0433014 -0.21435 0.0945499 -0.106738 -0.00115763 0.331001 0.477972 -0.137866 0.808242 1.71404 0.17202 0 0 0 0.0478868 0.0521727 0 0 0 0 0.0483343 -6.40488 -0.67798 0.438142 -0.586613 0.149045 -0.0805428 0.0112908 -0.00194542 0.0067353 0.149708 0 0 0 0 0 0 -467 0 0 0 0 0 -0.440916 -0.312759 0.490896 0.999492 0 0 0.338295 -1.22098 0 -1.18216 0.0200155 0 0 0 -0.502314 -5.91897 0 0 0 0 0.232132 0 0 0.67589 -1.69362 -0.599033 0 0.456628 0 0 0.231401 0.0213434 0 0 1.54679 -2.93828 0 0 0.235658 -3.35877 0 -1.39161 0.164528 -0.85472 -0.439575 1.02253 0.0374406 0 0.285698 -0.0561876 -0.0354373 -2.04266 -0.909729 -0.406956 0 0 0.919794 4.89095 0 -0.372713 -0.308964 -0.730248 0 0 0 0 0.0988125 1.63408 0 0.534996 -0.841672 0 0 0 -0.337095 0 -1.70621 1.64758 0 -0.751557 0.666576 -3.10303 0 -1.46836 1.1479 -4.37175 5.72118 0 0 0 -0.203255 -0.0515722 0 0 0 -0.0412832 -0.000886398 0 -0.00636561 0 0.00464152 0.0202309 0 0 0 0 -0.0293624 0 -0.0131584 0 0.178515 0 -0.162874 0.0622186 0 0.00418797 0 0 0.254896 0.00216782 -0.0169343 0 0.00141612 0 0.000270989 0.0127326 0.0271413 0.0373936 -0.00936545 0 0.000217305 0 0 0 7.84894e-05 0 0 -0.00542544 0.00210202 0.29736 0.0561714 0 0 -0.00277421 0 0.00142278 0 0 0.00219217 0.00319412 -0.0179187 -0.0289679 0 0 0.121085 0.0641367 0.00278168 0.495677 -0.206896 0 0.257909 -0.000671987 0.00766528 0 0 0 -0.63356 0 -0.0792176 -0.879282 0 -0.00154099 -0.0562528 -0.294484 0 -0.00261597 -0.00325724 -0.00745625 -0.557257 0 -0.440916 -0.203255 -0.312759 -0.0515722 0.0969198 0.066346 -0.272639 -0.284047 1.53788 0.0629094 0.0657098 0.310002 0.0107949 0.0615583 -0.0507224 0.107474 0.0177748 0.293196 0.369347 0.145956 -0.0171501 0.0252221 0.190368 0.109834 0.20963 -0.153427 0.90871 0.00187726 0.261521 0.390695 -0.634279 -0.84851 -0.00867773 -0.0576079 -0.216718 0.0360033 0.00376282 -0.0555624 0.0971745 -1.02995 0.1634 -0.0256698 -0.539187 0.651265 0.00728867 -0.00695687 0.242439 0.0252788 -0.135906 0.156781 2.92015 1.23734 0.0194101 -0.0386072 0.0357872 -1.23394 0.500715 -0.80316 -0.157981 0.0126389 0.881814 1.09116 -0.0731708 -1.34396 -6.67901 -0.00585831 0.0650891 0.122164 0.137137 -0.063721 -0.0662743 0.0292241 -0.123674 0.115673 -0.170702 -0.117581 4.79429 -0.547557 0.0401343 -0.676217 -1.58943 4.25387 -0.499535 -0.0364113 0.25045 0.224103 -0.399259 0.0197673 0.203057 -0.751706 1.71775 0 -468 0 0 0 0 0 0.961667 0.263701 -0.560622 -2.92544 0 0 0.555775 1.12801 0 1.30148 0.0886227 0 0 0 -0.0341137 3.98683 0 0 0 0 -0.284605 0 0 -0.650417 -4.16018 0.507535 0 0.467462 0 0 -0.0680364 0.143437 0 0 0.497151 1.42612 0 0 0.268054 2.89225 0 0.595683 -1.6908 -0.0284454 -0.523656 0.748872 -0.162412 0 -0.111371 0.626742 -1.00704 -0.406589 -0.438369 0.213401 0 0 1.35516 -3.58987 0 -0.896159 -0.317833 -0.158339 0 0 0 0 0.62586 1.31264 0 -0.0899451 2.38615 0 0 0 4.82088 0 0.181857 4.14197 0 0.0526212 1.68977 1.64335 0 -0.56231 3.58371 -8.11013 22.8674 0 0 0 0.16404 0.00539688 0 0 0 0.00113432 -0.015205 0 -0.000670119 0 -0.00191599 -0.0636842 0 0 0 0 -0.119826 0 -0.0318205 0 -0.387257 0 0.0926267 0.190988 0 0.00125584 0 0 0.0299762 -0.000357736 0.0148926 0 0.000430189 0 -0.000882712 0.0847125 0.00309578 -0.0143445 0.00949577 0 -6.88985e-05 0 0 0 -5.92186e-06 0 0 -0.00154045 0.00365292 -0.11405 -0.00784386 0 0 0.007636 0 0.00644329 0 0 -0.014063 0.0150066 0.184896 0.00811055 0 0 0.0324716 0.0602123 -0.068033 -0.168035 -0.590635 0 0.0541233 -0.00716588 0.080986 0 0 0 1.22273 0 0.0713262 -0.385745 0 0.00591708 -0.0314072 0.303113 0 -0.000497434 -0.00200632 0.027836 -0.200577 0 0.961667 0.16404 0.263701 0.00539688 0.116979 0.0960889 -0.155408 0.593494 1.22819 0.0010191 -0.0789317 -0.341312 0.00119507 -0.0606858 -0.0249725 0.0976197 -0.0320363 -0.0481446 -0.299932 -0.42452 0.0978288 -0.107861 -0.268611 -0.0791075 -0.177055 -0.185112 0.730724 -0.00192234 3.78104 0.114527 2.81931 0.524137 -0.00447484 0.188303 0.536416 -0.0332296 0.00382077 0.0685324 0.0120455 -1.06544 0.15482 -0.0314284 1.40442 -0.996597 -0.0106818 0.0136839 -0.316413 -0.0332441 0.0180121 0.606975 -0.469731 0.342366 -0.0292344 1.99104 0.0498703 -1.84935 0.741758 -0.745452 0.66469 -0.101365 0.204257 0.484218 -0.204728 0.295707 4.84292 0.101173 0.333222 -0.00817437 0.013155 0.108966 0.0784736 0.0336742 -0.0207442 -0.116305 0.0174582 -0.172588 -21.3102 -1.48387 2.15737 -1.73764 1.835 0.682426 0.279758 -0.390174 0.89543 0.0471566 0.0655609 -0.189423 0.544346 -0.642666 1.74904 0 -469 0 0 0 0 0 -0.559918 -0.132389 -0.172958 0.591589 0 0 0.815339 0.133833 0 0.726155 0.0328479 0 0 0 -0.0194683 4.36047 0 0 0 0 0.127388 0 0 -0.0636118 -9.40597 -0.215041 0 0.0854022 0 0 0.0400644 0.111842 0 0 3.07502 0.0473351 0 0 0.535042 3.31279 0 -0.553057 -1.89243 -0.632871 -0.660921 -0.864501 -0.132504 0 0.125716 0.530418 -0.885057 0.245086 -0.162488 -0.69325 0 0 -0.253453 1.24752 0 -0.839881 0.0226817 0.557378 0 0 0 0 0.000518647 1.20765 0 -0.626761 1.45722 0 0 0 -0.998505 0 -3.79779 11.8097 0 -1.21206 3.86302 0.985759 0 -2.67549 7.25515 -12.7327 34.5307 0 0 0 -0.380453 -0.0934841 0 0 0 -0.0970071 -0.0241493 0 -0.01426 0 0.00725677 -0.00445633 0 0 0 0 -0.0447788 0 -0.0312122 0 0.0828857 0 -0.482501 -0.482008 0 -0.0048669 0 0 -0.471068 0.000269784 -0.0882606 0 0.00288238 0 -0.00136656 -0.168326 -0.0541347 0.0175306 -0.0337538 0 0.000302103 0 0 0 0.000137002 0 0 0.00200227 -0.000550067 0.164211 0.0209103 0 0 -0.0459193 0 0.00345534 0 0 -0.0487721 0.0263445 0.100235 -0.0608315 0 0 0.191726 0.0555932 -0.0231275 0.189749 -0.219115 0 -0.113509 -0.00663949 0.365846 0 0 0 0.260606 0 -0.102473 1.24852 0 -0.00849422 0.0692081 0.209306 0 0.000471879 0.00661545 -0.0488726 0.716139 0 -0.559918 -0.380453 -0.132389 -0.0934841 1.16491 0.251543 -0.346103 0.533834 0.939203 0.1245 -0.0288373 0.126581 0.0199937 0.0570198 -0.0796656 0.12587 -0.0423921 0.685035 0.159398 2.31317 0.28646 0.00801591 -0.088824 -0.0357453 -0.503017 -0.229811 0.759559 0.0400882 3.48602 -0.131096 2.15631 -0.217886 -0.0152157 0.616693 0.909944 0.0105451 -0.00328904 0.0496789 0.0255022 -1.19817 0.140235 -0.0355349 0.859086 1.40283 0.00031701 -0.071368 0.159 0.307632 -0.0312747 -0.692459 -1.06649 1.42689 0.162893 0.0425967 0.0424963 -0.202407 0.466106 -1.17645 0.499538 -0.190165 -1.21752 -0.627956 0.155295 -0.692188 -4.30086 0.088447 -0.510417 0.235376 0.299485 0.503934 -0.130554 0.203819 -0.250655 -0.147281 -0.243523 -0.365384 -16.2988 -2.59989 -0.358817 -4.05714 2.50099 1.85058 -0.760161 0.293116 0.418874 -0.32263 -0.932846 0.636054 -0.352751 -0.0639561 1.40806 0 -470 0 -0.412954 0.000337385 -0.0257947 -0.140948 -0.0293689 0.269874 -1.34426 -2.36412 -0.186363 1.07448 0.140854 0.0881887 0.00567666 0.584359 0.00592906 -0.747615 -3.09753 0.210794 0.0903236 -0.114413 0.0192948 -0.158313 -0.00612099 0.131354 -0.780858 -0.0447095 -0.00208822 -0.76691 -1.76137 0.374942 -0.0343046 -0.0336626 -0.151318 0.21866 -0.487648 0.0206546 -0.0859979 0.955226 0.262576 0.899388 0.0225562 0.604139 0.0240445 -0.195441 0.052108 0.801224 -1.07566 0.537948 -0.0823526 1.45193 0.0124222 -0.700999 -0.00741584 0.17914 -0.355888 1.39199 -0.524125 -0.162405 -0.166009 -0.0296217 -0.489558 -0.959841 0.748092 0.586755 -0.632726 1.07966 -0.278423 0.0226896 0.0271928 0.0577819 -0.238368 0.0526355 0.258125 0.0915802 1.27122 -1.06236 -0.694541 -1.88124 4.02986 -1.29527 1.15945 -0.370877 -0.861827 1.02035 -1.64496 5.2448 -0.070552 -0.139689 1.11479 -1.67796 5.24761 0 0 0 0 0 -0.0257947 -0.140948 -0.000972948 0 0 0 0 -1.90644e-05 0 0.0331089 0 0 -3.72413e-05 0.00131589 0.0357182 0 0.00495358 0.053694 0.249515 0 0 0.171056 5.31642e-05 0 0.00967609 0.854829 0 0 0.0135235 0.252245 0 0.103046 0 0.0201788 0 0 0.00184314 0 0 0.622018 -0.000255192 0.000855753 0 -0.0187817 -0.010031 0 0 0.0953078 0 0.000360561 0.79763 -0.0133915 0 0 -0.000587416 0.00361638 0 0.00480361 -0.0773781 0.0196919 0.894992 0.0176537 0.0156431 0 0.012933 -0.0629253 0.0518501 0.0509771 0.154007 0 0 0 -4.71258 -0.162284 -1.11121 -0.020416 0.0506351 -0.702261 -0.000182553 0.000513652 -0.00616496 -0.24095 0 0 0 0 0 0 -0.0293689 0 0.269874 0 0 0 0 0.107988 -0.071311 0 0 0.442198 0 0.0391966 0 -0.0147929 0 0 0.0247728 0 -0.0700542 -0.0392565 0.00982679 -0.0114119 0 0 -0.140302 0 0.503873 0 2.30984 0.541971 0 -0.215297 0.469743 -0.00708478 0 0.0133209 0 0 -0.00941793 0 0.439768 0.376041 0 0 0.0487317 0 0 -0.00179957 -1.76904 -0.065827 0 0.0406056 0 0.576504 -0.139328 0.0923945 -0.09691 -0.0299527 0.0847257 -0.870754 0.0948305 -0.156975 1.97196 0.0101293 0 0 0 -0.129927 -0.0941221 0 0 0 0 0.0281887 -13.6535 -4.00477 2.96378 -1.50491 1.39746 -1.4647 -0.264464 0.241725 -0.306484 0.161942 0 0 0 0 0 0 -471 0 1.58924 0.421558 0.00386065 0.177774 0.014214 0.170566 -0.0349134 -0.404485 -0.0659835 0.2984 0.189558 -0.173683 0.00359268 0.673263 -0.02341 0.696384 1.81555 0.0875157 -0.00433494 -0.658857 0.068661 -0.278 -0.00844642 0.243993 -0.481375 0.371163 0.0382585 -0.197341 -0.58384 -0.0610477 -0.0319605 -0.279165 -0.656102 -0.0652744 -0.303364 0.0106041 0.115398 -3.4493 0.415391 0.22688 0.0129659 -0.0651174 0.0222483 0.843307 0.0043376 0.250347 -0.271042 -0.228664 -0.0294996 1.12771 0.18208 0.462005 -0.348116 0.0902622 0.12797 0.186176 0.388653 0.759353 -0.340897 -0.0418608 0.116019 0.170172 -0.691293 -0.164019 -0.621592 0.084006 0.516909 0.681111 0.101343 -0.463211 0.05538 0.0908782 -0.346338 -1.24403 -0.344568 -0.237212 8.6266 1.30527 0.536611 1.96367 -2.24733 4.93912 -0.419048 0.517709 -0.592798 1.57482 -0.00587292 -0.278042 0.388786 -1.04532 1.73942 0 0 0 0 0 0.00386065 0.177774 0.000599657 0 0 0 0 0.000344891 0 0.00885134 0 0 -0.00159624 -0.00439399 0.0264292 0 0.00351226 0.0352112 0.0908075 0 0 0.0663969 -0.000185638 0 -0.0649257 0.5586 0 0 0.00797249 0.152361 0 -0.184049 0 -0.0066927 0 0 -0.000650523 0 0 -0.809321 0.00763204 -0.0362468 0 0.016074 0.0587661 0 0 -0.0422588 0 0.00437225 0.159523 -0.00306309 0 0 0.00175428 0.00140975 0 -0.00474682 0.00996842 -0.0144406 -2.00594 0.0445905 0.0223541 0 -0.00377287 7.31792e-05 0.0791814 -0.130096 -0.020792 0 0 0 5.17961 0.278209 -0.256174 0.0215208 -0.0507786 0.725474 0.00109817 -0.00263674 0.0362959 -0.127675 0 0 0 0 0 0 0.014214 0 0.170566 0 0 0 0 -0.15447 -0.0121918 0 0 -0.271702 0 -0.00399333 0 -0.0188051 0 0 0.408383 0 -0.525005 -0.0713813 -0.164663 0.0686474 0 0 -0.114913 0 4.256 0 -5.40697 0.062296 0 -0.512118 -1.67792 -0.00743746 0 -0.0252692 0 0 -0.0146816 0 0.899523 0.856013 0 0 0.151282 0 0 -0.0970547 1.76538 -0.0869794 0 0.0168747 0 -1.2827 0.0865805 0.047873 -0.466205 0.104938 0.273614 1.46561 -0.229091 -0.878054 -2.00302 -0.015652 0 0 0 0.211504 0.0710094 0 0 0 0 -0.247709 45.6086 5.83461 1.4307 3.00007 -3.41731 5.55856 0.150969 -0.188336 0.303843 0.36228 0 0 0 0 0 0 -472 0 -0.365445 -0.215031 -0.118176 -0.352698 0.459876 0.0969314 -0.907948 -3.4928 -0.477848 2.50324 -0.641273 0.155669 0.0325385 0.239855 0.0360341 -0.581714 -0.24693 0.322342 0.101465 -2.03326 0.0481504 0.133866 -0.0297581 0.546269 -0.38051 -0.364493 -0.00930144 0.154022 1.94478 0.0967992 -0.13167 0.0780405 0.179534 -0.115804 -0.0169354 -0.10779 -0.329296 0.843241 -1.58335 -0.843729 0.171103 -2.0661 -0.29703 1.90821 0.812611 -0.258477 0.601826 0.24387 0.781348 3.28537 0.909412 -2.72189 0.0121049 0.417254 -0.363716 -0.897715 -0.373533 0.424714 -0.612571 -0.338193 1.01773 0.400839 -1.38005 0.138144 -1.10726 -1.39224 -0.586845 0.0480537 0.0727954 -0.191343 0.812124 -1.35975 0.234997 0.948427 0.232883 -0.449454 -1.4714 -4.05336 5.16896 -2.71204 3.40725 -4.25516 -2.73731 2.97849 -5.17223 6.29502 -1.10024 1.66557 -2.52707 3.77942 -5.79403 0 0 0 0 0 -0.118176 -0.352698 -0.00174564 0 0 0 0 0.000179495 0 -0.0114891 0 0 0.00117126 0.00863318 0.00488753 0 0.00266785 -0.0361673 -0.126411 0 0 -0.208732 0.000375789 0 -0.0944185 -0.519516 0 0 -0.0182749 -0.147947 0 -0.0480877 0 -0.0781217 0 0 -0.00747097 0 0 0.186501 0.00400964 0.0296844 0 -0.0346972 -0.101167 0 0 0.434075 0 0.00190813 0.548448 -0.0105832 0 0 -0.00102678 0.00680729 0 -0.00254814 0.114603 0.0258618 -1.00933 -0.00329785 0.000566303 0 -0.0228346 0.162224 0.211953 -0.0633259 0.283922 0 0 0 -0.134385 -0.104685 0.275152 0.000553357 -0.00543147 0.0575419 -0.000980592 0.00239352 -0.032478 0.0362749 0 0 0 0 0 0 0.459876 0 0.0969314 0 0 0 0 -0.770033 -2.35294 0 0 1.18233 0 0.135839 0 -0.11322 0 0 -0.0079199 0 0.402099 -0.165211 0.552518 0.00949386 0 0 -0.834866 0 -3.80582 0 1.45078 -0.40395 0 -1.59055 0.650552 0.0646564 0 -0.0818672 0 0 -0.301525 0 -1.48303 1.02103 0 0 0.139142 0 0 -0.141494 -2.75692 -0.60194 0 -0.623345 0 0.453655 -0.514237 0.541575 -0.933423 -0.115387 0.979567 -0.976879 0.31205 1.58077 5.42213 0.185997 0 0 0 -0.19922 -0.310593 0 0 0 0 0.531989 -6.00561 -5.5878 7.48796 -1.32313 1.38522 -1.49191 -0.766588 0.817196 -1.11416 1.53458 0 0 0 0 0 0 -473 0 -0.473174 -0.362433 -0.0821574 -0.171961 0.135542 0.0943549 -0.688198 -1.98728 -0.278707 1.5702 -0.309118 0.225925 0.026397 -0.163496 -0.117537 -1.77716 -6.21259 0.250829 -0.154735 3.24075 -0.0241184 0.153973 -0.0171493 0.229914 -0.401027 -0.690459 -0.199061 0.0500167 0.2296 0.0410918 -0.0728695 -0.491955 0.29285 -0.536893 -0.111552 -0.0903504 -1.06935 0.663324 -0.628125 1.60134 0.116238 -2.94143 -0.216733 0.316573 0.377617 0.710403 0.148552 -0.552247 0.44816 -2.04519 0.706248 -0.902789 0.290427 -0.366456 0.36802 -0.186579 1.59424 0.923274 -0.33374 -0.141615 -0.339281 -3.43647 -1.04382 1.97138 1.59759 0.125975 -1.66464 -1.64727 -0.133344 -0.241094 0.0329188 -1.2239 0.477029 -0.806157 -0.056121 1.60878 2.40357 -2.77912 3.92012 -1.85161 2.31941 -3.60373 -1.79169 2.01713 -3.67999 5.30539 -0.787341 1.3421 -1.54689 2.59282 -1.59002 0 0 0 0 0 -0.0821574 -0.171961 -0.00208682 0 0 0 0 -0.000167258 0 0.00498285 0 0 0.00335214 0.00851541 -0.00472112 0 0.000230883 -0.0615412 0.0711509 0 0 -0.0191868 0.000391023 0 0.00859522 -0.0829326 0 0 0.00285159 -0.116588 0 0.0937594 0 -0.0466751 0 0 -0.00397302 0 0 0.520301 -0.0041243 0.0584111 0 -0.0489695 -0.0860766 0 0 0.18559 0 -0.000297042 0.60866 -0.0123555 0 0 -0.00692308 0.00679985 0 0.018021 0.00367432 0.0397337 0.103335 -0.0321763 -0.00812465 0 -0.00546123 0.103977 -0.0696513 0.0670696 0.368611 0 0 0 -4.63908 -0.305733 -0.559038 -0.0114611 0.0310698 -0.60192 -0.00408873 0.00568987 -0.0340609 -0.0939737 0 0 0 0 0 0 0.135542 0 0.0943549 0 0 0 0 -0.147543 -1.59085 0 0 0.705379 0 0.0653444 0 -0.0740671 0 0 -0.278306 0 0.360526 -0.0894819 0.237445 -0.0556095 0 0 -0.557437 0 -5.68655 0 1.27642 -0.262592 0 -0.5504 0.608492 0.0243713 0 -0.0264412 0 0 -0.210088 0 -1.58991 -0.147416 0 0 -0.0682133 0 0 0.107461 -3.70709 -0.215364 0 -0.345627 0 1.87282 -0.481708 0.320929 -0.137044 0.0835087 -0.550056 -2.11276 0.277886 1.23457 3.68753 -0.121767 0 0 0 -0.373411 -0.172582 0 0 0 0 0.400749 -7.01878 -4.32427 3.82793 -1.33746 1.55725 -1.77203 -0.450034 0.459669 -0.578305 0.46304 0 0 0 0 0 0 -474 0 0.78537 -0.0159593 0.0192481 0.16839 -0.0111978 -0.188651 0.0668301 0.646822 0.00216482 -0.332433 -0.489521 -0.298936 -0.00950554 -1.09469 -0.0390417 0.0979242 2.84835 0.00595646 -0.0461104 1.05899 0.0303108 0.277873 0.0129652 0.0769244 0.482086 -0.32149 0.0195709 0.747456 2.61434 -0.396078 0.0316629 -0.312136 0.232792 0.175605 0.28257 -0.0533108 0.0141845 -1.58058 -0.501809 -0.212901 -0.0397109 0.0160318 -0.0337011 -0.486351 -0.122975 -0.540968 1.48916 -0.418184 0.102607 0.986555 0.527759 6.21655 0.060177 -0.487382 0.9003 4.68319 0.730096 0.116444 -0.0579749 0.0483557 0.398215 0.0237282 1.15119 -1.13786 -0.939297 -0.069277 1.2938 0.684512 -0.0564518 0.738002 0.219021 -0.350438 -0.299521 1.11506 -1.69044 -1.14293 7.40165 1.2026 -1.12847 2.16444 -0.852563 -0.856497 0.70353 -0.408382 -0.237885 -1.29881 0.256405 0.299324 -2.29967 6.49574 -18.1048 0 0 0 0 0 0.0192481 0.16839 -0.00451267 0 0 0 0 -0.00123046 0 -0.0223104 0 0 -0.00124563 0.000891392 -0.0139144 0 -0.00323979 0.0119644 -0.0968064 0 0 0.0752395 4.1387e-05 0 -0.0809505 0.116122 0 0 0.0115512 0.0464654 0 -0.236895 0 0.0342885 0 0 0.00393683 0 0 -0.95509 -0.0240827 -0.0243392 0 -0.0851271 -0.0197431 0 0 0.0694053 0 0.00504829 0.263451 -0.00571197 0 0 0.000188138 0.0180038 0 -0.00470985 0.0864719 0.0134868 -1.14142 0.0510129 -0.0153256 0 -0.0192238 0.0735692 0.442948 -0.160317 0.0642847 0 0 0 7.87978 0.407442 0.674815 0.0400558 -0.023664 0.546634 0.000151787 0.00241286 -0.00383655 0.0294792 0 0 0 0 0 0 -0.0111978 0 -0.188651 0 0 0 0 -0.598212 -0.597376 0 0 0.305826 0 0.0496951 0 -0.0437939 0 0 0.325993 0 0.678172 -0.0915662 0.48053 0.0426674 0 0 -0.408223 0 -1.85422 0 0.0336121 -0.278356 0 -0.721766 1.00894 0.0587911 0 -0.0657561 0 0 -0.0663342 0 -0.595359 0.111147 0 0 0.0190901 0 0 0.424369 -0.159548 -0.611123 0 1.56166 0 0.85064 -0.503628 0.613529 -0.85756 -0.0937614 0.468812 -0.305659 0.204907 0.276674 7.42923 0.0990865 0 0 0 -0.0854649 -0.161933 0 0 0 0 0.20139 10.8367 0.0742912 2.80639 0.404728 -0.136782 0.246029 -0.239231 0.327961 -0.494481 0.905235 0 0 0 0 0 0 -475 0 -0.649451 0.0192183 -0.135106 -0.428859 0.67776 0.368105 -1.26523 -5.18283 -0.190185 3.57865 -0.260495 0.51203 0.0382792 -0.226948 -0.048345 0.533726 1.68598 0.634311 -0.104191 1.18424 0.108184 -0.075019 -0.0215307 0.752564 -1.12127 0.280639 0.0410311 -0.197515 1.42829 0.170204 -0.0755054 -0.253647 0.189075 -0.0951635 -0.384826 -0.078622 0.120158 2.90196 -0.842781 0.892371 0.166978 -0.535799 -0.250432 1.14856 0.567731 0.666962 0.169483 -0.655391 0.0325921 -0.295678 1.08502 2.38457 0.161955 -0.517282 0.750427 0.457957 -0.170194 -0.465495 -0.636433 -0.0874031 0.0380148 0.104834 -1.628 3.71023 0.964139 0.612354 -1.95542 -0.621866 -0.21968 -0.359795 -0.443677 0.443672 0.369584 0.220539 -0.754372 0.410203 -8.39843 -7.37883 9.86242 -5.64946 5.5102 -6.6816 -4.16078 4.62933 -8.06282 12.6544 -1.18373 1.9119 -3.45483 5.51775 -9.89118 0 0 0 0 0 -0.135106 -0.428859 -0.00406106 0 0 0 0 -0.000199942 0 -0.0298441 0 0 0.00137352 0.0125111 -0.0607035 0 -0.00502873 -0.102587 -0.313809 0 0 0.0295797 0.000507818 0 0.020987 -1.54668 0 0 -0.00120967 -0.368084 0 0.207966 0 -0.0468073 0 0 -0.00559732 0 0 0.984238 -0.00489802 0.0413562 0 -0.0831688 -0.113084 0 0 0.482581 0 -0.00507929 -0.161604 0.0219203 0 0 0.000367083 0.00762537 0 -0.0075777 0.101336 0.011337 1.02711 -0.0558254 -0.0258587 0 -0.0262867 0.00181267 0.0166607 0.0181405 0.177237 0 0 0 -3.84661 -0.290346 0.947061 -0.0222293 0.0115593 -0.218707 -0.000256687 0.00123945 -0.0454873 0.249821 0 0 0 0 0 0 0.67776 0 0.368105 0 0 0 0 -0.513257 -1.32347 0 0 0.88509 0 0.117982 0 -0.0516765 0 0 0.512011 0 -0.42173 -0.186307 0.150988 0.083727 0 0 -0.42042 0 -0.115162 0 -1.46973 0.501633 0 -1.7379 -1.03386 0.0275308 0 -0.0630427 0 0 -0.147397 0 0.384667 1.88843 0 0 0.266147 0 0 -0.0451428 -0.522985 -0.690015 0 -0.384821 0 1.09015 -0.415899 0.631221 -0.364399 0.095941 0.295588 -0.77301 0.0544965 1.22297 3.86041 -0.0502986 0 0 0 -0.139551 -0.113613 0 0 0 0 0.533391 14.1133 -3.37204 9.32017 -0.303267 -0.32515 1.92449 -0.666033 0.616318 -0.717019 1.45232 0 0 0 0 0 0 -476 0 0 0 0 0 0.220915 -0.380436 0.833272 1.46459 0 0 0.239607 -1.77863 0 -2.78012 0.0674089 0 0 0 0.00143571 1.33573 0 0 0 0 0.401323 0 0 0.576382 -4.01055 -0.883237 0 0.0122016 0 0 0.366264 0.0444982 0 0 1.7334 -1.03892 0 0 0.359857 -5.69296 0 -1.15037 -0.216236 -0.589383 -0.813686 -1.67244 -0.603729 0 0.0511774 0.459072 -0.280587 0.866386 0.188461 0.838772 0 0 -0.35597 -0.883832 0 -0.170899 0.172902 -0.802869 0 0 0 0 0.332415 0.947309 0 3.07108 0.351262 0 0 0 -1.82412 0 -2.62009 6.74325 0 -1.18192 1.64026 -0.205545 0 -1.68799 2.50946 -4.35419 13.2159 0 0 0 -0.20491 -0.0437211 0 0 0 0.000890918 0.0356482 0 0.000172399 0 -0.00737194 -0.0163336 0 0 0 0 -0.108238 0 -0.00293798 0 -0.151299 0 0.0635655 0.174724 0 0.00479906 0 0 0.0936485 -0.000159711 0.0323914 0 0.0134058 0 0.00263815 0.0744618 0.0228119 -0.00376707 0.0142906 0 -0.00051279 0 0 0 0.000968136 0 0 -0.0135252 -0.00533538 0.0777458 0.0634841 0 0 0.00105881 0 -0.0166457 0 0 -0.0156323 -0.016621 0.183631 0.0019304 0 0 0.0175357 -0.0585796 -0.107377 0.0412448 -0.28391 0 -0.0973151 0.0235562 0.103281 0 0 0 0.162251 0 -0.0480045 0.109177 0 0.0071007 -0.0167318 0.072725 0 -0.00243058 0.00384015 -0.0143651 -0.0147467 0 0.220915 -0.20491 -0.380436 -0.0437211 0.587387 0.149868 -0.520762 0.50193 0.0975664 0.0491041 0.0171982 0.530768 0.00655867 0.0792129 -0.0718132 0.0418157 0.027381 0.367012 -0.337332 0.124414 -0.402383 0.120931 0.082716 -0.0732126 0.154971 -0.271991 0.211509 0.00547712 -2.90562 0.576482 0.0717041 -1.32013 -0.00882081 0.4923 -0.438339 0.0181652 0.0128564 0.0714069 0.113978 -1.92088 0.0217693 -0.0410206 -1.95974 -0.763078 0.00355213 0.0663497 -0.178904 -0.00152103 0.205779 0.220263 1.26612 0.0758129 -0.102378 1.65382 0.188305 -1.38411 -0.142745 -0.105191 -0.29952 -0.573847 0.301712 0.458574 -0.0295815 -1.65543 1.08547 0.433206 -0.288493 0.188693 -0.200373 0.152912 -0.228935 -0.153286 -0.139695 0.180642 -0.00662404 -0.238108 -0.181651 -0.69213 0.129874 -0.477383 -1.06879 4.35011 -0.193994 -0.105471 0.41511 -0.0705616 -0.127965 -0.260318 0.564454 -0.965596 2.37885 0 -477 0 0 0 0 0 0.0908665 -0.182813 1.33228 1.81031 0 0 0.29659 -0.617595 0 -0.47715 0.0572835 0 0 0 -0.0136377 -6.07734 0 0 0 0 0.354829 0 0 0.0294614 0.43991 -0.0861962 0 0.600208 0 0 0.239225 0.0434774 0 0 -0.212155 -1.49154 0 0 -0.124938 -3.85122 0 -0.15419 0.0387874 0.750114 0.0641271 -2.69717 0.14312 0 -0.15084 0.0508201 -0.314411 0.141219 -0.388217 -0.503247 0 0 -0.681386 0.48085 0 0.845586 0.872024 -1.50752 0 0 0 0 0.510173 -0.183487 0 -0.211952 0.0910518 0 0 0 -2.35092 0 0.127119 -1.11907 0 0.278068 0.286303 -4.38282 0 0.876331 -0.678675 0.0833192 -0.615851 0 0 0 0.0993569 0.00467862 0 0 0 -0.0602007 0.0656566 0 -0.0067138 0 -0.00387103 -0.00902234 0 0 0 0 0.0140335 0 0.000118654 0 -0.102357 0 -0.500865 -0.380809 0 0.000821598 0 0 -0.0258689 -0.00206353 -0.0352593 0 0.0098549 0 0.00460364 -0.105129 0.000169504 -0.0272826 -0.0133177 0 -0.000285853 0 0 0 0.000696199 0 0 0.000564853 -0.00328868 -0.0783614 -0.0098115 0 0 0.00405416 0 -0.0185114 0 0 0.0349353 0.00449041 -0.00980525 -0.00689887 0 0 0.0123821 -0.036927 -0.0126464 -0.0387097 0.0743004 0 0.0437489 0.00988394 -0.082668 0 0 0 0.101218 0 0.0362547 0.0373699 0 -0.00214758 0.0020014 0.0317504 0 0.00156225 -0.00329284 0.0150527 0.0178092 0 0.0908665 0.0993569 -0.182813 0.00467862 0.132054 -0.122263 0.233063 0.618532 0.88634 0.0131556 0.00614319 -0.0970392 0.00191523 -0.00663314 0.0127463 0.0426248 -0.0190092 0.0751866 -0.134586 -0.985865 -0.285568 0.1532 -0.149041 -0.0122033 -0.145464 0.140227 0.456223 -0.0352485 4.52792 -0.120799 -0.528815 0.439047 0.000356948 1.01958 -0.491179 -0.0154684 -0.00275246 0.0889098 -0.0321662 0.627982 0.0759898 0.028944 1.84603 -1.394 -0.000889279 -0.0109521 -0.181439 -0.184074 -0.0730586 0.140763 0.804374 -0.11778 0.108272 -0.288383 -0.0887669 0.120748 0.120246 -0.172658 0.420111 0.00299952 -0.259614 0.372627 0.175715 0.116415 2.54679 -0.173493 0.105242 0.043704 0.0649226 -0.0772474 0.0472602 0.0511403 -0.0301196 -0.0540914 -0.112176 -0.180425 1.33967 0.269112 -1.06843 -0.00304647 0.128555 -0.496308 -0.00386878 0.0319398 -0.158116 -0.344662 -0.0262151 0.0733426 -0.193623 0.242285 -0.719514 0 -478 0 0 0 0 0 0.161089 -0.0585817 -0.92698 -2.18129 0 0 -0.253985 -0.894058 0 -0.876264 -0.101178 0 0 0 -0.163507 3.08924 0 0 0 0 -0.39548 0 0 0.0922974 -1.59545 -0.396704 0 -0.603924 0 0 -0.0803373 -0.038606 0 0 -0.670389 -0.00748496 0 0 -0.0789536 -1.58437 0 -0.534556 -0.483785 -1.11286 0.408955 0.234553 0.672322 0 0.391192 -0.37089 -0.0986525 0.44755 -0.271644 -0.804804 0 0 -0.344715 1.29799 0 0.409461 -0.072749 -0.107229 0 0 0 0 -0.262578 -1.18822 0 0.32961 1.50874 0 0 0 5.31981 0 2.25317 1.34178 0 0.832656 0.113075 4.62363 0 0.0494213 0.43956 0.832104 4.89604 0 0 0 0.0994597 0.0282454 0 0 0 0.0255242 -0.0320234 0 0.00210149 0 0.00603011 0.00463336 0 0 0 0 0.0196587 0 -0.00505997 0 0.0394849 0 0.191492 0.0101196 0 -0.00142812 0 0 -0.0256312 0.000233538 -0.0160698 0 -0.0106008 0 -0.00228784 -0.0168952 -0.00516034 0.00402319 -0.00708648 0 0.00042037 0 0 0 -0.00076509 0 0 0.0108634 0.00426725 -0.0739805 -0.0332891 0 0 -0.00121236 0 0.0144583 0 0 -0.00156828 -0.00844022 -0.00598736 -0.016773 0 0 0.0124961 0.013958 0.0794712 0.0223474 0.17831 0 0.0173827 -0.0142346 0.0859997 0 0 0 -0.0702163 0 0.0422064 -0.0754758 0 -0.00476558 0.0131591 -0.0305821 0 0.00184207 -0.00485347 0.0144195 0.0157088 0 0.161089 0.0994597 -0.0585817 0.0282454 -0.0957185 0.0818667 0.175415 0.319831 -0.773307 -0.0459736 -0.0608775 -0.497405 -0.00584306 -0.0605291 0.038583 -0.0270201 -0.059597 -0.365611 -0.0185972 1.82725 0.0725258 0.088337 -0.180051 0.0442463 -0.402546 -0.115687 -0.229958 0.0336859 -2.10572 0.141664 0.247848 -0.42552 0.00562783 0.459123 0.119486 -0.0200083 0.000972143 0.0623715 0.0131418 -0.707212 -0.0511889 -0.02134 -0.606401 0.987692 -0.00848985 0.0154728 0.156843 0.238645 0.24295 0.12245 -0.765512 0.782025 0.192044 0.961488 -0.0730879 0.262421 0.0844188 -0.132281 -0.227015 -0.13919 0.205637 0.0136705 0.0633309 -0.319128 -2.49349 0.0536568 -0.613033 -0.109662 0.0706676 0.433075 0.106414 0.033139 0.12447 -0.201807 -0.0190051 0.132523 -0.627884 0.561528 1.67295 0.4199 -0.25393 3.04732 0.18779 -0.0893865 0.29039 0.875394 0.127476 0.00158526 0.0634548 0.00994615 0.902762 0 -479 0 -0.482888 -0.072025 -0.0737154 -0.249376 0.328488 0.335194 -1.7611 -4.02042 -0.307062 2.86549 -0.00396581 1.03809 0.0194137 1.02129 -0.0101925 -0.556058 -4.8269 0.203649 0.0408607 1.82001 0.0466491 -0.205819 -0.0169225 0.61899 -0.684899 0.116307 0.0137417 -0.568349 -1.17321 0.434095 -0.0876379 -0.167785 -0.12823 -0.304844 -0.43484 -0.0205393 -0.0150026 2.99567 -0.210654 1.24993 0.117471 -1.17414 -0.0656543 2.78641 0.689989 0.839731 -0.823229 -0.153276 0.274454 -0.605697 0.619941 1.24745 0.152645 0.196043 -0.0245845 2.07322 0.559056 0.187934 -1.04218 -0.298064 2.31637 -1.45472 0.797941 0.355692 0.252649 1.92178 -0.0957707 0.21232 0.0803161 -1.66851 0.092433 -0.191874 0.0667968 -0.982703 0.695553 0.535228 -12.6068 -8.25679 8.37571 -4.10723 2.61349 -1.61622 -3.23025 2.26573 -3.21649 6.61974 -0.711762 0.558932 -0.601788 -0.397156 4.10425 0 0 0 0 0 -0.0737154 -0.249376 -0.00330053 0 0 0 0 -5.71086e-05 0 0.00519306 0 0 0.0019883 -0.00300353 0.0140372 0 0.00308033 0.0860821 -0.00172527 0 0 0.159627 -0.000177012 0 -0.0230681 0.420635 0 0 0.0256939 0.248639 0 -0.1258 0 0.0280581 0 0 0.00506473 0 0 -0.152823 -0.00110964 0.0254618 0 -0.0470786 0.00419762 0 0 -0.0690034 0 -0.00387722 -0.154586 0.00556703 0 0 -0.010792 0.0065609 0 0.0160106 0.0443288 0.0381479 -1.10203 -0.040977 -0.0284708 0 -0.0303682 -0.00305501 0.00391634 -0.126187 0.109773 0 0 0 -0.243982 -0.0583066 0.00614872 -0.00878998 0.0178547 -0.0260297 -0.00405996 0.00769448 -0.0153932 0.0136277 0 0 0 0 0 0 0.328488 0 0.335194 0 0 0 0 0.107674 -0.971262 0 0 0.639159 0 0.0902483 0 -0.0320274 0 0 0.203883 0 0.359423 -0.0936025 -0.0258072 0.0262938 0 0 -0.284941 0 -1.9031 0 3.06401 0.678616 0 -0.69681 1.20755 0.00425591 0 0.0192636 0 0 -0.10603 0 0.542035 0.717745 0 0 0.0665892 0 0 -0.183764 -1.57423 -0.41402 0 -0.743298 0 0.346423 -0.0604696 0.187356 -0.18549 -0.0368989 -0.61551 -0.450098 0.156645 2.01201 4.57533 0.00378755 0 0 0 0.0420998 -0.204607 0 0 0 0 0.361414 -11.7629 -3.20176 3.09731 -1.21724 1.26011 -2.04775 -0.412959 0.356808 -0.429668 0.501576 0 0 0 0 0 0 -480 0 -0.190135 -0.526843 -0.0158584 0.0649746 0.0743427 -0.208629 0.481022 1.54003 0.0366046 -0.523956 -0.463683 0.519533 0.00735112 0.611551 -0.0504561 -1.4183 -7.47226 -0.170502 -0.0729133 1.06307 -0.00918124 0.587741 -0.00860189 -0.0289942 0.791184 -0.465162 0.00268077 0.583009 1.89463 0.163262 -0.0335213 -0.545587 1.24495 -0.242682 0.389743 -0.0660312 -0.150844 2.80766 -0.633938 -0.13127 0.0402042 -0.89893 -0.0914676 0.632548 0.208265 -0.461218 1.10824 -1.03134 0.281424 -0.6423 0.295109 -2.06526 0.504125 -0.25976 0.60845 -0.818704 0.0730213 -0.270744 0.0868984 -0.0735445 -0.762367 -0.31483 -0.0184086 -2.3529 0.521753 -0.488347 1.07605 -0.26921 0.00486893 0.972768 -0.00491473 -0.321313 0.471738 -2.08964 -1.52453 -0.134286 -6.02255 0.259627 -3.51322 -1.41738 2.27761 -7.1641 0.575023 -0.179894 -0.0314399 -2.76839 -0.214837 0.462884 -1.3415 2.34528 -6.62803 0 0 0 0 0 -0.0158584 0.0649746 0.00907133 0 0 0 0 0.00174112 0 0.00872953 0 0 -0.00335547 -0.0116634 0.0184905 0 0.00293967 0.00200303 0.0487917 0 0 -0.282124 -0.000837877 0 0.0090066 -0.196154 0 0 -0.0307054 -0.0336429 0 -0.0107797 0 -0.0388282 0 0 -0.00369239 0 0 -0.279249 0.0243796 -0.045741 0 0.128077 -0.0268367 0 0 0.0720432 0 -0.0114021 0.030678 0.026227 0 0 -0.00231545 -0.0388048 0 0.00254655 -0.0155374 0.00208739 -0.425096 0.00748772 -0.00672205 0 0.0229156 -0.0509461 0.151983 -0.194468 -0.011852 0 0 0 0.763422 0.0119548 0.0585806 0.0191477 -0.0356774 0.0809327 0.0018968 -0.0036867 0.00976945 -0.00585162 0 0 0 0 0 0 0.0743427 0 -0.208629 0 0 0 0 -0.161973 -0.827997 0 0 0.119184 0 0.0175604 0 -0.0494001 0 0 0.199972 0 1.01901 0.012163 0.185299 0.0118781 0 0 -0.465932 0 -4.96092 0 1.95105 -0.138219 0 -0.106242 1.62499 0.0225442 0 -0.0130303 0 0 -0.0947856 0 -0.997314 -0.37461 0 0 -0.065068 0 0 -0.0106723 0.16041 -0.105049 0 -0.475018 0 0.332089 -0.0852983 0.112534 -0.0137383 0.0760828 -0.0972421 -0.518813 -0.056429 0.155325 -4.6322 -0.0666469 0 0 0 -0.114634 -0.0459758 0 0 0 0 0.286176 0.971914 -0.208616 1.68986 0.174832 0.23373 -0.634588 -0.00875493 -0.00540041 -0.00277912 -0.0065624 0 0 0 0 0 0 -481 0 1.14703 -0.00367279 0.0726373 0.227004 -0.15971 -0.0316504 0.69542 1.56148 0.246609 -1.92835 0.501572 0.189119 -0.0197276 1.06618 0.0739221 -1.14716 -2.07639 -0.183297 0.0926428 -0.562763 -0.0386587 0.103152 0.0169256 -0.485356 0.205823 -0.487242 -0.0411883 0.15657 -0.238448 0.123793 0.083915 0.892491 -0.61416 0.186308 0.16799 0.0777891 -0.221688 -4.4997 1.11055 -0.390825 -0.120221 0.425573 0.17204 2.39656 -0.714414 -0.121756 0.103051 1.54711 -0.57943 0.460329 -1.16941 3.34888 -0.19044 0.17215 -0.265108 1.22967 0.326674 0.226283 0.82081 0.299308 -1.52257 0.301746 -0.543093 -1.32527 -0.0797168 -0.178646 0.281924 -0.181302 -0.0591319 1.3262 -0.241972 1.19635 0.312392 -0.548378 -0.461915 -0.338194 22.9052 7.55976 -0.446979 2.9196 -3.107 7.19849 2.19349 -2.05613 2.90801 -2.4996 0.736958 -1.03902 1.37261 -2.09814 0.834166 0 0 0 0 0 0.0726373 0.227004 0.00379669 0 0 0 0 0.000104449 0 0.00901531 0 0 -0.00114385 0.00490573 -0.00742082 0 -0.00109563 -0.0829837 0.0472649 0 0 -0.0696558 0.000312863 0 -0.0121203 -0.460633 0 0 -0.0142006 -0.258565 0 0.0128272 0 -0.0172655 0 0 -0.00429881 0 0 0.0633261 0.00181245 -0.0136635 0 0.0542463 -0.0330245 0 0 0.0294756 0 0.00652867 -0.0894011 -0.00141322 0 0 0.0115591 -0.00258798 0 -0.0137394 0.0169388 -0.0267611 0.886729 -0.006007 0.0185266 0 0.0186343 -0.021122 0.0708274 0.162029 0.0203065 0 0 0 -0.565011 0.103463 -0.206361 -0.00882502 0.0170939 -0.0337729 0.0035888 -0.00683826 0.0131566 -0.0196552 0 0 0 0 0 0 -0.15971 0 -0.0316504 0 0 0 0 -0.246998 1.11043 0 0 -0.36715 0 -0.0487212 0 0.0459894 0 0 -0.350905 0 0.385956 -0.105415 -0.104131 -0.0639206 0 0 0.541635 0 2.58686 0 -2.08879 0.0666479 0 -0.528641 -0.131469 -0.0154318 0 -0.0479351 0 0 0.0954887 0 0.382377 -0.325535 0 0 -0.0703717 0 0 -0.415147 0.23792 -0.418669 0 -0.0101143 0 -0.713009 0.242321 -0.100657 0.677315 0.122351 -0.294443 0.331578 -0.322818 0.633989 1.78572 -0.135733 0 0 0 0.362508 0.203885 0 0 0 0 -0.231438 18.4762 1.60327 3.31621 0.473423 -0.364525 1.54014 0.238204 -0.203446 0.258407 0.23086 0 0 0 0 0 0 -482 0 0.31495 -0.124451 -0.0209937 -0.0702934 0.169363 0.155299 -0.587584 -1.59921 -0.215997 1.60061 -0.042287 -0.271631 0.00244653 -0.160062 0.0228369 -1.01461 -2.75854 0.29454 0.0560184 -1.70795 0.0444744 0.138335 -0.00294068 0.277185 -0.368188 -0.391748 0.0650417 -0.308113 -0.38796 0.101541 -0.0275193 0.23342 0.549878 0.393391 -0.165745 -0.00565096 0.202987 2.97401 -0.0788899 -0.411933 0.0225679 1.08276 -0.0105033 -1.17601 0.209348 0.15144 -0.345661 0.538997 0.032193 1.17895 0.505227 2.72684 -0.134313 0.091168 -0.106603 0.348195 0.656227 0.023382 -0.535896 -0.0500139 0.444812 -0.0211802 0.640417 -0.305748 -0.778964 0.390007 0.442782 0.720096 0.0676178 -0.543259 0.139078 0.0801957 -0.0713217 -0.942028 0.417632 1.1258 -7.55903 -3.82149 2.54593 -1.80825 1.14975 -2.34352 -0.977022 0.609035 -1.51617 2.9527 -0.0288502 -0.00886412 -0.173415 0.101923 0.74182 0 0 0 0 0 -0.0209937 -0.0702934 0.0042773 0 0 0 0 0.000809557 0 0.0178391 0 0 -0.000981709 -0.00517411 0.0146149 0 0.00238374 -0.00150764 0.111712 0 0 -0.0961617 -0.000367745 0 -0.0128222 -0.13061 0 0 -0.00827702 -0.0335532 0 -0.131141 0 -0.0162187 0 0 -0.00147577 0 0 -0.269485 0.0113171 -0.0139876 0 0.0598323 -0.0169538 0 0 -0.0187623 0 -0.00363952 -0.150414 0.00910631 0 0 -0.00595611 -0.0169404 0 0.0100059 0.0158136 0.0203038 -0.284991 -0.0136026 -0.0171296 0 0.00547826 0.00190583 0.186884 -0.127205 0.0815522 0 0 0 0.318921 -0.00898034 -0.095852 0.00425796 -0.00697192 0.00153139 -0.000716634 0.00115801 -0.000757834 -0.0288128 0 0 0 0 0 0 0.169363 0 0.155299 0 0 0 0 -0.408978 0.122478 0 0 0.792169 0 0.0916032 0 -0.00129037 0 0 -0.273085 0 0.414909 -0.1688 0.325618 -0.0361366 0 0 0.0441172 0 -0.472839 0 0.520473 0.436537 0 -1.24509 0.751423 0.0341901 0 -0.0538046 0 0 0.00197967 0 0.294959 -0.571084 0 0 -0.0747858 0 0 -0.320623 -2.31955 -0.294788 0 -0.756836 0 0.109134 0.254478 -0.0795161 -0.640684 0.0220502 -0.151366 -0.338066 0.0456276 1.30444 0.839093 0.0516751 0 0 0 0.203928 -0.211547 0 0 0 0 0.0291521 4.44273 -1.21149 3.76156 0.0136382 0.20802 -0.126862 -0.333183 0.269585 -0.342567 0.644384 0 0 0 0 0 0 -483 0 -0.682427 0.00196631 0.00483024 0.0681694 0.0979732 0.127731 -0.933003 -0.975591 0.0625138 0.0853035 -0.0621769 -0.46336 0.000142759 -1.54401 -0.0093878 0.139795 -2.04685 0.0944908 -0.00757655 1.2067 0.0231496 -0.336514 0.000294045 0.0506364 -0.509403 0.35558 0.0392007 -0.517458 -1.26492 -0.0554972 0.00429191 -0.183918 0.133492 0.26617 -0.435745 -0.00378677 0.231952 2.44736 -0.0112913 1.16309 0.000595769 1.18313 -0.000453956 -3.91839 -0.00713783 0.721101 -0.790005 -0.183045 -0.00674159 -0.808312 -0.1077 0.100633 -0.0262276 0.00652586 0.156375 -2.02385 -0.466681 0.32465 -0.0984955 -0.0049964 1.93255 -2.19015 1.29287 -0.799942 -0.284336 1.35895 0.861891 0.32408 -0.0126995 -0.194156 0.0948525 -0.262054 -0.184813 0.781533 0.835979 -0.534079 -8.48096 -2.27851 0.56907 -1.68316 1.16701 -1.23977 -0.0529688 -0.0385075 0.25889 1.46447 0.000983663 0.00126559 0.0939833 0.0971985 2.41866 0 0 0 0 0 0.00483024 0.0681694 0.000825175 0 0 0 0 6.15861e-05 0 -0.0124823 0 0 -0.000711649 -0.000306423 -0.00246869 0 -0.000553332 -0.0199092 -0.0629072 0 0 -0.174249 -2.86013e-05 0 -0.00308603 -0.776834 0 0 -0.0276278 -0.123528 0 -0.00943175 0 -0.0123127 0 0 -0.00188984 0 0 -0.212393 0.000951518 -0.00865089 0 0.0124897 -0.00283502 0 0 0.0569226 0 -0.000337142 0.0194627 0.00232115 0 0 0.00131053 -0.00278532 0 0.000158803 -0.0372631 -0.00548483 0.54854 0.0103794 -0.00840597 0 0.0113728 -0.0348509 -0.0747557 0.0622811 -0.0521927 0 0 0 0.464624 0.0166822 0.0609852 0.00310387 -0.00545531 0.033295 0.000733641 -0.00168828 0.00414501 0.0217673 0 0 0 0 0 0 0.0979732 0 0.127731 0 0 0 0 0.351865 -0.0493363 0 0 -0.237928 0 -0.0194096 0 -0.0113123 0 0 -0.330607 0 -0.413562 0.125613 -0.045433 -0.0385737 0 0 -0.160249 0 -6.60744 0 1.80011 -0.603827 0 0.796426 0.219352 -0.00110506 0 0.0576089 0 0 -0.00628411 0 -2.37023 -0.889479 0 0 -0.096961 0 0 0.150415 1.7101 0.0679523 0 0.356631 0 0.231415 0.019424 0.0424232 0.176954 0.083732 0.145641 0.0941533 0.101882 -1.33553 -3.95128 -0.0743438 0 0 0 -0.0512852 0.00797195 0 0 0 0 -0.0930752 -7.62132 -0.11332 -1.40554 -0.0767255 0.317624 -1.13108 0.130933 -0.0864819 0.0934895 -0.417164 0 0 0 0 0 0 -484 0 0.55697 0.525856 0.0266658 0.104402 -0.00671236 0.258499 -0.553515 -0.97822 0.287125 -0.802344 -0.00717127 0.365447 -0.00286947 -0.481753 -0.0398151 0.85688 4.69555 -0.125441 -0.0833172 -0.254948 -0.0145012 -0.485005 0.00364605 -0.130856 -0.409858 0.27211 -0.0465105 -0.482043 -0.687481 0.0668742 0.0348929 -0.368082 -1.40961 -0.28065 -0.288328 -0.000783215 -0.0376545 -5.3012 0.114758 0.485132 -0.0257749 -0.504082 0.0100204 0.629197 -0.231959 0.519539 -0.536326 -0.706897 -0.00478271 -0.424948 -0.686902 -1.64088 0.226321 -0.137002 -0.0399699 -1.73739 -0.0330632 -0.214296 0.358052 0.0575786 -1.2487 0.320277 -0.454285 0.104057 -0.184819 0.113583 -0.772679 -0.172906 -0.0852747 0.419978 -0.513975 -0.253304 0.17485 0.418588 0.175239 0.623544 20.4102 4.9085 1.9173 2.36766 -2.35539 8.77684 -0.105551 0.0448343 1.16391 1.72394 0.0319662 0.00793716 0.269136 -0.0627542 1.31454 0 0 0 0 0 0.0266658 0.104402 -0.00473246 0 0 0 0 -0.00093713 0 -0.0146015 0 0 0.00183509 0.00690322 -0.0155451 0 -0.00226197 0.00613502 -0.112446 0 0 0.177887 0.000490954 0 -0.00120549 0.283961 0 0 0.0180655 0.0591466 0 0.0427532 0 0.0224482 0 0 0.0019849 0 0 0.104214 -0.0130979 0.0259614 0 -0.0661732 -0.00572837 0 0 0.036411 0 0.00638229 0.0304034 -0.0093879 0 0 0.00773619 0.0238027 0 -0.0123927 -0.00529397 -0.0183949 0.33312 0.00329453 0.0180121 0 -0.00476279 -0.014298 -0.189463 0.193139 -0.0168003 0 0 0 -0.176049 0.0103303 0.0660815 -0.00139848 0.0019721 0.0143812 0.000495518 -0.000752596 -0.000731009 0.0293075 0 0 0 0 0 0 -0.00671236 0 0.258499 0 0 0 0 -0.162076 -0.24954 0 0 -0.27166 0 -0.0407186 0 -0.0172577 0 0 0.53056 0 -0.808536 -0.103663 -0.0874552 0.0431974 0 0 -0.195427 0 2.89034 0 -2.82325 0.339799 0 -0.489204 -1.34251 -0.0157342 0 -0.0378185 0 0 -0.0265379 0 0.65741 1.37751 0 0 0.158824 0 0 -0.205982 1.60872 -0.295674 0 -0.28499 0 -0.51193 -0.111961 0.0352817 0.385482 0.141509 0.239881 0.477738 -0.235944 1.01823 3.73949 -0.0633131 0 0 0 0.0644002 0.198042 0 0 0 0 0.10542 17.4734 0.778617 3.78372 0.1901 -0.259086 1.79243 0.179544 -0.10685 0.115629 0.308333 0 0 0 0 0 0 -485 0 709.17 111.767 12.7482 63.8744 413.785 70.6369 6.52241 11.3974 48.6322 -26.6786 11.3688 16.8981 -6.37298 18.0965 -2.35025 83.0316 271.202 -6.53872 -7.48527 91.1938 -3.67324 -10.8551 8.4867 -12.9345 1.22385 30.8791 7.21473 -12.4313 -65.6324 11.8311 15.9067 -13.5476 -26.5934 20.6711 -0.977078 4.27756 23.0392 -104.409 39.6257 43.2393 -11.7736 81.142 10.0208 16.0843 -32.8192 30.0283 -19.7496 -46.1745 -4.93955 27.7445 -5.04273 -3.31064 14.4285 -4.29236 6.46501 38.2143 13.7937 -5.70934 6.19506 4.08996 -23.5619 -13.2453 7.63657 -28.1616 -23.0082 -6.24714 20.2253 17.5462 -11.3545 12.3302 3.09044 4.40197 -14.2284 -15.501 -7.88688 -20.6079 442.208 103.984 48.8039 102.506 -88.8952 223.526 43.544 -39.0481 53.2266 15.9784 43.2398 -47.0789 83.204 -103.416 214.884 0 0.319656 0.0373586 30.4608 4.55467 12.7482 63.8744 0.16161 0.95578 -0.423891 -0.000833992 0.213677 0.00738969 0.0298833 -0.255376 0.0437319 -0.00913654 0.030348 0.201957 1.0095 0.511219 0.00826795 3.21463 3.16921 0.00358156 3.27069 -0.65917 0.0155587 -0.143294 -0.961281 17.9994 -3.3053 0.0145791 0.28857 6.42205 -0.243237 0.848157 -0.0399705 1.16763 -0.613214 0.185867 0.325381 -0.0879675 0.00283553 3.15696 0.0922605 0.422268 -0.0171582 2.19186 -0.0480494 -0.00451103 -0.0374248 0.626721 -0.040505 0.151259 7.38398 -0.505734 -0.137707 0.119665 -0.0678143 -0.420128 0.0900136 0.700965 3.01856 0.15816 -3.782 0.972149 0.681558 -0.236459 0.394107 1.0448 8.21965 -1.6323 1.69641 0.00838285 0.322101 0.0236123 -70.2958 -4.46334 -13.4207 0.183429 -0.58631 3.70424 -0.0300159 0.0701042 0.214242 -1.02655 0.0153098 -0.0188296 0.155585 -0.409608 4.12247 0 413.785 30.4608 70.6369 4.55467 141.599 20.4403 26.2319 -2.89452 30.4024 -3.39681 -2.44841 -14.506 -0.583517 -3.51812 4.35114 1.08104 -2.37992 -18.9262 5.96237 32.174 -8.86223 -1.06767 -3.30212 1.32088 -16.5526 -6.12666 4.60789 1.48562 97.8517 18.8341 -84.1634 21.3899 0.697538 -7.14319 -24.9844 -1.0178 0.540952 -0.102001 3.53081 -32.9594 6.20828 -1.11818 43.3645 2.43286 -0.333806 3.15899 3.83233 7.05808 -5.98203 -4.2023 0.703896 6.99834 6.50257 11.2875 -9.43054 -19.7954 11.1037 -10.2089 -3.1948 -0.852591 -12.5632 8.54066 -4.14666 1.21154 36.0001 -4.39713 10.489 -0.495246 0.8179 8.96908 2.0914 -3.53947 3.07421 3.37688 -1.11978 -10.407 607.221 104.193 25.2903 85.4265 -77.4518 137.195 27.2301 -21.8462 21.8963 6.21994 22.6875 -18.94 22.4449 -24.0696 44.0676 0 -486 0 715.139 116.03 14.1301 71.4096 409.926 72.7162 -1.50226 -8.03564 87.4014 -58.1024 18.854 19.6594 -6.99152 29.7654 -2.13919 86.7148 299.813 -12.0901 -12.6448 143.262 -4.45206 -16.0069 9.26191 -16.4308 -6.5545 31.9482 5.82121 -15.0157 -103.172 13.3594 22.4915 -8.1997 -40.52 18.0309 -4.72972 5.20621 15.2794 -164.697 65.7357 51.8154 -19.604 66.7131 15.6279 59.9654 -73.0718 32.6719 -32.3574 -63.3041 -32.0942 14.2398 -29.9689 -21.0641 17.7491 -8.94896 6.90809 20.8306 33.3216 -7.24156 21.8576 27.8646 -29.9068 11.4008 -9.8791 -36.8519 -24.1852 -11.5061 16.8608 24.6898 -25.0984 8.88094 -5.51393 25.2331 -26.0181 -23.5873 -12.2908 -9.29626 608.6 152.098 120.786 201.733 -157.455 359.132 123.209 -87.8661 111.094 32.7096 178.858 -134.183 158.71 -163.31 323.039 0 6.50373 0.729259 27.2778 3.8263 14.1301 71.4096 0.641754 1.83949 -7.78224 -0.0188735 0.30241 0.00539449 0.386718 -0.171054 0.656552 -0.221081 -0.285691 -0.744129 -0.962768 7.30205 -0.232149 0.383528 -1.34117 0.0554306 11.7691 1.94116 -0.0122376 -0.136607 -2.54074 15.3178 -4.27642 0.242019 0.951345 1.31936 -0.906773 -5.91903 -0.746282 0.891433 -0.808126 2.39542 0.204182 -2.43773 0.0351976 -17.4354 0.216606 -4.21997 -0.0880966 5.74098 3.07048 -0.486093 -0.542027 -8.5719 0.235848 0.445933 -0.0597816 -1.66479 -1.71752 1.95 0.413358 -1.49055 -2.0362 -1.52719 -1.43393 -0.406757 -4.52552 -0.992552 -0.211531 -0.122614 0.879805 0.487191 1.52466 -4.14952 -1.93472 0.162751 1.76452 0.366208 171.645 25.1022 15.6215 6.43889 -4.66722 22.5835 0.218027 0.221938 1.95338 3.03039 0.323827 -0.384018 1.11631 -1.60106 5.64464 0 409.926 27.2778 72.7162 3.8263 144.751 21.0993 33.9434 2.36914 41.9733 -2.91118 -3.87922 -24.6291 -0.442665 -3.29391 5.13058 1.4607 -3.56312 -19.7231 7.45252 54.5867 -12.867 -2.20084 -5.98347 1.98628 -24.6966 -5.40311 8.79844 1.69609 179.196 17.4056 -101.744 20.3872 0.772061 2.13568 -29.3863 -0.780362 0.356417 -0.549963 2.41574 -31.5398 6.47784 -0.989938 51.5478 30.2773 -0.525787 2.55133 7.65048 9.73868 -2.00958 -5.18026 3.37516 -3.89872 8.45916 17.9186 -13.1371 -20.3418 5.2576 -4.16594 0.364826 5.28101 -3.28411 9.87603 -9.99236 -8.18072 -12.9343 -7.51433 1.99601 -4.4103 -1.41405 17.7596 6.85585 -4.10821 4.9751 0.364522 1.84394 -18.1741 689.857 161.178 -22.1725 103.314 -82.6389 152.76 29.8681 -22.6095 28.9694 5.05039 23.0752 -19.0946 23.8697 -21.0649 40.2935 0 -487 0 713.332 115.618 12.8996 66.0678 411.631 72.6553 1.17807 9.20751 81.8211 -38.0631 12.311 21.4827 -6.12701 34.8202 -0.0426395 94.2084 333.265 -8.20863 -8.98217 123.279 -3.70773 -12.9567 9.27944 -10.803 -3.69514 33.3531 7.90305 -11.6104 -23.1069 12.3184 22.5398 -0.231498 -30.5216 23.221 -2.11057 5.36395 21.6749 -110.267 19.1471 46.5888 -10.9597 82.6745 7.92433 70.934 -26.4325 29.1248 -17.7118 -45.9062 -10.1056 28.2138 -15.0253 47.4943 17.6086 -4.12418 -2.85228 57.409 29.2333 -16.1755 11.4129 10.1433 -15.6164 25.1343 -2.99835 -41.1686 -23.6534 10.3345 23.8155 18.8561 -34.0158 9.7884 -11.1757 7.75445 -33.9477 -3.53321 12.8745 -13.4395 403.601 124.175 21.5383 110.096 -77.3892 164.339 39.3154 -23.457 44.3997 9.42305 31.7443 -24.1629 46.9433 -53.1395 116.074 0 0.126294 0.0156262 34.5156 5.27442 12.8996 66.0678 0.0698858 2.16591 -1.19846 -0.000363023 0.419868 0.0209415 -0.0333672 -0.431503 0.0191403 -0.00387001 0.0170981 0.0657825 -1.57711 0.212868 -0.0626295 2.32477 -3.24235 0.00163301 9.33956 6.70236 0.00628365 -0.114981 -1.2783 17.337 0.247015 -0.0131807 1.71281 5.4942 -0.2686 -4.69826 -0.0840462 0.960323 -0.25867 -0.221259 0.339163 -0.0356355 -0.00186825 -12.0322 0.37012 0.153803 -0.0171173 0.967971 0.445556 -0.0519916 -0.0643266 0.25171 0.275747 0.0565456 -2.03455 -0.135113 -0.0605113 0.207557 -0.0621547 -0.189176 -0.618255 -0.336378 -1.02319 -0.0836598 -7.19163 -0.288682 0.782661 -0.198899 0.224926 -1.0369 1.69868 -1.11336 -2.67477 -0.0368164 1.57475 0.00972777 67.0477 1.97782 11.9168 0.507376 -0.798147 10.3053 -0.0335086 0.0707065 0.264834 3.56151 0.00698478 -0.0037965 -0.0283137 0.0724362 2.14939 0 411.631 34.5156 72.6553 5.27442 134.768 19.7163 37.8531 -1.50673 47.9426 -3.05037 -3.56567 -22.5794 -0.580628 -4.05746 6.49723 2.20077 -4.16107 -15.1821 6.3024 46.0197 -11.6735 -0.63608 -3.24896 1.75733 -25.9676 -4.32582 12.9724 1.49815 193.045 12.444 -57.7319 21.787 1.07039 10.0989 -17.5216 -0.896942 0.450841 -1.01938 2.64452 -16.1613 8.72581 -0.930239 60.2361 19.8641 -0.547616 2.52035 7.11551 8.50964 -4.15914 -5.9482 4.49258 9.44999 8.10088 27.7991 -13.0208 -7.17368 1.62379 -6.33833 4.59169 2.78412 -2.01581 -0.169024 -6.17203 -16.2242 5.50214 -2.41269 6.30368 -1.62727 2.94917 14.9924 3.04612 -3.59238 3.27039 2.01914 -0.306263 -18.3334 394.034 121.788 -28.7487 70.6511 -56.3141 89.1634 21.448 -17.8309 27.2521 -8.94553 17.1245 -13.6148 16.927 -14.8959 24.7553 0 -488 0 -1.32533 -0.708712 0.310437 -0.0303702 -3.98658 -1.313 7.17562 25.9501 4.40527 -8.76672 -0.724497 -0.930452 -0.174603 6.0467 -0.0371201 6.06345 27.4161 -0.226891 -1.31427 -23.1375 -0.0214786 1.18806 0.348089 -2.8799 4.15731 0.0223876 0.672576 0.828128 18.5522 1.32487 1.53186 0.561083 1.90236 4.31104 1.18509 0.148592 1.54679 -0.85705 -2.61847 -3.92537 -1.0243 11.3225 0.164559 -7.5913 -2.57223 -0.112329 3.77163 -0.510778 -0.678979 5.03846 -9.60987 -41.6165 2.33708 -3.87082 2.11934 -20.3963 0.119892 -4.87453 4.84368 2.64597 -3.77198 2.36514 2.50877 -14.202 1.69252 -0.692634 5.71412 -4.42529 -4.03796 -0.00622227 -2.22691 -4.45566 -3.46285 -23.7114 1.39839 -9.62191 8.65808 22.6298 -72.4771 15.7563 -16.038 -29.6722 12.6549 -11.9831 0.940549 -36.231 10.2659 1.30719 -18.4004 25.0207 -58.418 0 0.107184 0.00377767 -0.35981 0.0278581 0.310437 -0.0303702 -0.018301 -0.379666 0.322541 0.000112625 -0.0525323 -0.0216879 -0.00685029 -0.0156252 -0.00154049 0.000513949 -0.00141878 0.25678 -0.176974 0.0605158 -0.0460085 1.83593 0.25976 -0.000611401 -2.51434 0.385943 0.0184781 0.0208291 -0.458576 6.68521 0.333414 -0.00255544 0.295683 4.29458 0.1217 -1.12339 0.032159 2.08083 0.0998354 -0.000359639 0.388189 -0.0113481 -0.00127864 -2.24813 -0.293265 0.0995555 0.00972535 -0.260388 -0.0360447 0.0167394 0.0698476 -2.87711 -0.0274904 0.119563 -3.19917 -0.254751 0.00194299 -0.036686 0.0164832 0.119342 0.187514 -0.0622205 0.935945 0.147973 6.57206 -0.427203 -0.987116 -0.211178 -0.0555496 -0.249343 1.13812 1.01818 -0.673144 -0.153193 -0.310453 0.00270878 9.73714 0.867077 0.631163 0.834691 -0.650925 -1.25277 0.00590052 0.0580047 -0.0675791 -0.0158354 -0.00447432 0.00761242 -0.000445686 0.0200541 -0.329108 0 -3.98658 -0.35981 -1.313 0.0278581 -2.51256 -0.584412 0.182506 -0.315798 3.50833 -0.0349874 0.294145 -1.31006 -0.00456437 -0.25193 0.032737 0.356263 0.169484 -0.445227 -3.47325 -5.55707 2.86826 0.224854 0.380707 -0.60479 1.89008 0.212931 1.59595 -0.0761674 26.7689 0.0439201 0.577895 2.23324 0.00537352 3.55646 1.94656 -0.074582 0.014951 0.0138449 0.0787511 2.80017 0.576271 0.0416152 9.09714 -9.04058 0.0364426 0.0511861 -1.50344 -0.661162 -0.691308 -6.42381 -3.02358 0.189364 0.272378 3.20793 -0.00854755 -2.68234 -0.256894 -0.540434 -1.05023 0.726535 6.26358 0.977457 0.00626111 1.42396 3.75979 1.84651 -2.42929 0.193627 -0.322707 1.07519 -0.418249 -0.581632 0.44318 0.864126 0.13813 -0.49341 -1.02407 6.75714 -21.2708 -0.00611611 3.00799 -19.1614 1.42585 -0.399385 -2.6345 -4.47421 0.638709 0.0415532 -1.95774 1.77379 -5.50044 0 -489 0 6.48135 1.11172 0.637761 0.675066 0.844992 1.20883 -2.48425 -10.0947 7.84818 -7.41694 -1.03638 1.33722 -0.544773 3.68794 0.260176 0.815007 9.80776 -2.0827 1.32953 -6.29959 -0.914661 -1.192 0.89498 -3.72871 -2.10434 0.730306 0.761194 -1.14002 -0.306434 0.999653 2.40305 2.87883 -5.77388 1.45285 -1.03958 0.033106 4.17061 -27.0804 -4.94245 0.523481 -1.05826 14.0775 -0.684617 5.81796 -0.689375 1.5585 -0.170617 8.55688 0.648791 -14.7614 -1.79816 6.69629 -1.18044 1.02491 -1.40824 7.41314 4.31149 9.18351 3.67926 1.64711 -2.49212 -10.1237 10.3468 -5.6308 3.70185 -6.22575 9.85305 3.68003 -5.06533 4.97463 1.46876 -2.66848 -5.38903 6.39589 0.513014 -1.96446 103.28 38.114 19.3046 18.4584 -1.45462 32.2847 4.43121 6.06069 1.32544 19.7247 2.08335 0.998187 1.04283 -0.217852 16.1095 0 -0.0731037 -0.0119432 0.87097 0.29521 0.637761 0.675066 0.0198503 0.144099 0.280025 0.000327094 0.0156015 0.0231883 -0.0364042 0.0401706 -0.0188647 0.00289707 0.00850609 0.178191 -0.412543 -0.189137 0.0431115 -0.0527586 -0.576407 -0.00175138 0.529309 0.736589 0.0080008 0.050934 1.23749 0.713713 1.39947 -0.0116691 0.294458 0.0271835 0.0485913 2.19763 0.0236449 0.254134 0.289055 -0.131043 0.0767693 0.0174293 -0.00304164 3.91509 0.348117 0.255642 0.00408404 0.430596 0.204458 0.0172813 0.0211231 0.981862 -0.158073 0.103116 -2.81203 -0.167168 0.0630573 -0.0733476 -0.0565629 0.0583924 -0.0912881 0.0752447 1.74223 0.0056339 9.26457 -0.0135204 -0.0137639 -0.14143 -0.154562 -0.652322 4.14515 -0.0153155 -0.795173 -0.0844102 1.39272 -0.00858579 -17.1922 -1.69161 2.33772 0.0461219 -0.171617 -3.59526 -0.008332 0.00275126 -0.234216 0.583808 -0.00700035 0.0148837 -0.0274091 0.0995972 -1.38493 0 0.844992 0.87097 1.20883 0.29521 -1.10863 -0.0826081 2.98352 -0.402221 5.2814 -0.358653 0.542296 2.11206 -0.0559575 0.127425 0.359256 0.285919 0.144454 -1.21263 6.09614 -3.31607 0.204589 -0.380484 0.617116 1.04404 1.53652 -0.591318 0.512349 -0.0168729 45.385 2.5364 -7.79246 5.65976 0.0407566 -5.35147 -1.51557 0.149576 0.089536 -0.123944 0.575389 -5.23618 0.941393 -0.076841 14.8924 10.5435 0.0628016 0.50068 1.96505 -0.479465 1.16831 -4.53426 5.83272 1.69673 -0.466023 -12.3368 -0.455553 -5.41649 1.69444 -1.51773 1.09847 -1.23753 1.28023 3.97355 -1.04971 0.236018 -25.9599 0.908922 -4.36393 0.0357096 0.239566 0.183314 0.431878 -1.20691 0.959995 0.932382 -0.239638 -1.50677 26.8327 -22.1142 37.845 -4.28263 -4.87658 22.8565 -1.27986 -2.5888 5.74261 -1.41072 2.43303 -4.42997 5.8916 -5.26824 6.58995 0 -490 0 -5.45705 -3.20404 -0.15165 0.121147 3.57285 -0.527747 1.72153 -12.2986 4.35711 7.26771 -1.05039 4.40357 -0.190014 7.26292 -0.711694 -1.40129 -33.2057 0.947957 -3.24541 13.697 -0.529298 2.53815 1.01059 1.24088 0.721162 -0.0333592 -0.231655 1.52409 -3.90155 2.89614 2.03005 -2.00243 9.62884 -2.03133 1.09959 -0.342412 -1.52252 27.7372 0.328641 1.92618 0.0360569 -10.1762 1.33137 3.57842 1.06234 2.2924 2.56217 -13.6417 -2.45469 8.22184 3.45487 40.6032 5.31173 -0.0451398 1.97347 15.1497 13.9031 5.22826 -2.08521 0.779626 -3.04586 5.47615 7.56217 0.204151 -0.948924 -5.77773 -1.86539 -1.23773 -5.80122 2.61595 0.759376 4.14743 0.973944 1.42816 -8.98685 21.6576 -143.077 -32.9073 9.67235 -21.153 16.7681 -21.9364 1.20047 0.0260855 -12.6697 35.8202 5.56092 -3.41968 -4.20056 2.01185 27.1485 0 0.561687 0.0555287 -0.0550541 -0.444588 -0.15165 0.121147 0.0696616 -0.152543 -0.562579 -0.000944794 -0.0190333 0.0315273 -0.0993236 0.491113 0.0433841 -0.014192 -0.0537379 -0.0814859 -0.565765 0.560164 0.115193 -0.378002 -0.142328 0.00307907 -1.18424 -3.63103 -0.012908 0.0395564 0.0213462 -3.35037 0.464771 -0.0370028 -0.390862 -0.943191 -0.059377 1.22344 -0.0640941 -0.536478 0.13823 -0.418691 0.00887406 -0.18932 -0.00799127 5.42099 0.501035 -0.600604 -0.00697162 1.23767 0.421442 0.068587 -0.0586003 0.921296 -0.169205 -0.0409049 2.20275 -0.0461771 -0.11472 0.181058 0.0457817 -0.188295 -0.0406809 0.0123562 -0.0552838 0.0509684 7.04953 0.136715 -0.655631 0.121335 0.547564 0.382223 4.95922 -0.611779 -0.315263 -0.164711 -0.214788 0.0241342 -39.2357 0.368708 -1.61364 0.300948 0.674127 -0.0261883 0.106277 -0.00519683 0.162997 1.03903 0.0162709 0.0347909 -0.0190052 0.0409546 1.73009 0 3.57285 -0.0550541 -0.527747 -0.444588 4.08631 0.1957 -1.31491 -4.30411 -7.98324 0.426792 -0.46202 6.81327 0.0850973 1.13291 -0.347492 -0.474851 -0.42294 1.55577 0.571317 4.25915 4.09073 -2.17707 3.82838 0.341378 -4.74905 -0.203726 -2.66634 -0.0775865 -48.0281 -0.310203 5.37433 1.96399 -0.0659725 -13.7711 7.40565 0.515475 -0.0249172 -0.65564 -0.0308012 -2.0487 -1.43116 -0.0158888 -6.92515 -5.95796 -0.0357136 -0.194234 -0.767528 0.0118209 0.0780052 3.91601 -19.6127 1.30233 0.671868 20.8764 -0.296887 7.78508 -1.46411 0.61173 -6.38478 1.2373 3.18546 -8.01273 1.61338 11.0295 76.3328 -0.0272367 2.79981 -0.125313 0.996112 3.05001 -2.54373 0.515527 -0.715533 -0.0253005 -0.0908025 1.54838 -96.8991 -29.6753 25.7231 -7.83316 1.05908 3.90979 -3.21038 1.51359 -2.72086 8.64121 -0.735253 -0.303906 -0.082213 -0.461399 3.78221 0 From 52aefdd11721aabce302b978a26e5a64842eef92 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Wed, 14 Feb 2024 16:42:45 -0700 Subject: [PATCH 157/559] Add Kokkos package option to build atom map in serial on CPU --- src/KOKKOS/atom_kokkos.h | 4 + src/KOKKOS/atom_map_kokkos.cpp | 146 ++++++++++++++++++++++++++++++++- src/KOKKOS/kokkos.cpp | 20 ++++- src/KOKKOS/kokkos.h | 2 + 4 files changed, 167 insertions(+), 5 deletions(-) diff --git a/src/KOKKOS/atom_kokkos.h b/src/KOKKOS/atom_kokkos.h index db132bce69..652e6c2191 100644 --- a/src/KOKKOS/atom_kokkos.h +++ b/src/KOKKOS/atom_kokkos.h @@ -157,6 +157,10 @@ class AtomKokkos : public Atom { int add_custom(const char *, int, int, int border = 0) override; void remove_custom(int, int, int) override; virtual void deallocate_topology(); + + void map_set_device(); + void map_set_host(); + private: void sort_device(); class AtomVec *new_avec(const std::string &, int, int &) override; diff --git a/src/KOKKOS/atom_map_kokkos.cpp b/src/KOKKOS/atom_map_kokkos.cpp index 828eb7edea..24ccb017dc 100644 --- a/src/KOKKOS/atom_map_kokkos.cpp +++ b/src/KOKKOS/atom_map_kokkos.cpp @@ -17,6 +17,7 @@ #include "comm.h" #include "error.h" #include "fix.h" +#include "kokkos.h" #include "memory_kokkos.h" #include "modify.h" #include "neighbor_kokkos.h" @@ -95,11 +96,21 @@ void AtomKokkos::map_init(int check) void AtomKokkos::map_clear() { if (map_style == Atom::MAP_ARRAY) { - Kokkos::deep_copy(k_map_array.d_view,-1); - k_map_array.modify_device(); + if (lmp->kokkos->atom_map_classic) { + Kokkos::deep_copy(k_map_array.h_view,-1); + k_map_array.modify_host(); + } else { + Kokkos::deep_copy(k_map_array.d_view,-1); + k_map_array.modify_device(); + } } else { - k_map_hash.d_view.clear(); - k_map_hash.modify_device(); + if (lmp->kokkos->atom_map_classic) { + k_map_hash.h_view.clear(); + k_map_hash.modify_host(); + } else { + k_map_hash.d_view.clear(); + k_map_hash.modify_device(); + } } } @@ -114,6 +125,16 @@ void AtomKokkos::map_clear() ------------------------------------------------------------------------- */ void AtomKokkos::map_set() +{ + if (lmp->kokkos->atom_map_classic) + map_set_host(); + else + map_set_device(); +} + +/* ---------------------------------------------------------------------- */ + +void AtomKokkos::map_set_device() { int nall = nlocal + nghost; @@ -281,6 +302,123 @@ void AtomKokkos::map_set() k_map_hash.modify_device(); } +/* ---------------------------------------------------------------------- */ + +void AtomKokkos::map_set_host() +{ + int nall = nlocal + nghost; + + atomKK->sync(Host, TAG_MASK); + + k_sametag.sync_host(); + + if (map_style == MAP_ARRAY) { + k_map_array.sync_host(); + + // possible reallocation of sametag must come before loop over atoms + // since loop sets sametag + + if (nall > max_same) { + max_same = nall + EXTRA; + memoryKK->destroy_kokkos(k_sametag, sametag); + memoryKK->create_kokkos(k_sametag, sametag, max_same, "atom:sametag"); + } + + for (int i = nall - 1; i >= 0; i--) { + sametag[i] = map_array[tag[i]]; + map_array[tag[i]] = i; + } + + } else { + + // if this proc has more atoms than hash table size, call map_init() + // call with 0 since max atomID in system has not changed + // possible reallocation of sametag must come after map_init(), + // b/c map_init() may invoke map_delete(), whacking sametag + + if (nall > map_nhash) map_init(0); + if (nall > max_same) { + max_same = nall + EXTRA; + memoryKK->destroy_kokkos(k_sametag, sametag); + memoryKK->create_kokkos(k_sametag, sametag, max_same, "atom:sametag"); + } + + int previous, ibucket, index; + tagint global; + + for (int i = nall - 1; i >= 0; i--) { + sametag[i] = Atom::map_find_hash(tag[i]); + + // search for key + // if found it, just overwrite local value with index + + previous = -1; + global = tag[i]; + ibucket = global % map_nbucket; + index = map_bucket[ibucket]; + while (index > -1) { + if (map_hash[index].global == global) break; + previous = index; + index = map_hash[index].next; + } + if (index > -1) { + map_hash[index].local = i; + continue; + } + + // take one entry from free list + // add the new global/local pair as entry at end of bucket list + // special logic if this entry is 1st in bucket + + index = map_free; + map_free = map_hash[map_free].next; + if (previous == -1) + map_bucket[ibucket] = index; + else + map_hash[previous].next = index; + map_hash[index].global = global; + map_hash[index].local = i; + map_hash[index].next = -1; + map_nused++; + } + + // Copy to Kokkos hash + + // use "view" template method to avoid unnecessary deep_copy + + auto h_map_hash = k_map_hash.view(); + h_map_hash.clear(); + + for (int i = nall - 1; i >= 0; i--) { + + // search for key + // if don't find it, done + + previous = -1; + global = tag[i]; + ibucket = global % map_nbucket; + index = map_bucket[ibucket]; + while (index > -1) { + if (map_hash[index].global == global) break; + previous = index; + index = map_hash[index].next; + } + if (index == -1) continue; + + int local = map_hash[index].local; + + auto insert_result = h_map_hash.insert(global, local); + if (insert_result.failed()) error->one(FLERR, "Kokkos::UnorderedMap insertion failed"); + } + } + + k_sametag.modify_host(); + if (map_style == Atom::MAP_ARRAY) + k_map_array.modify_host(); + else if (map_style == Atom::MAP_HASH) + k_map_hash.modify_host(); +} + /* ---------------------------------------------------------------------- set global to local map for one atom for hash table option: diff --git a/src/KOKKOS/kokkos.cpp b/src/KOKKOS/kokkos.cpp index b8bcd80a00..58b9436af6 100644 --- a/src/KOKKOS/kokkos.cpp +++ b/src/KOKKOS/kokkos.cpp @@ -57,7 +57,7 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) reverse_pair_comm_changed = 0; forward_fix_comm_changed = 0; reverse_comm_changed = 0; - sort_changed = 0; + sort_changed = atom_map_changed = 0; delete memory; memory = new MemoryKokkos(lmp); @@ -225,6 +225,7 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) exchange_comm_classic = forward_comm_classic = reverse_comm_classic = 0; forward_pair_comm_classic = reverse_pair_comm_classic = forward_fix_comm_classic = 0; sort_classic = 0; + atom_map_classic = 0; exchange_comm_on_host = forward_comm_on_host = reverse_comm_on_host = 0; } else { @@ -240,6 +241,7 @@ KokkosLMP::KokkosLMP(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) exchange_comm_classic = forward_comm_classic = reverse_comm_classic = 1; forward_pair_comm_classic = reverse_pair_comm_classic = forward_fix_comm_classic = 1; sort_classic = 1; + atom_map_classic = 1; exchange_comm_on_host = forward_comm_on_host = reverse_comm_on_host = 0; } @@ -503,6 +505,14 @@ void KokkosLMP::accelerator(int narg, char **arg) else error->all(FLERR,"Illegal package kokkos command"); sort_changed = 0; iarg += 2; + } else if (strcmp(arg[iarg],"atom/map") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal package kokkos command"); + else if (strcmp(arg[iarg+1],"no") == 0) atom_map_classic = 1; + else if (strcmp(arg[iarg+1],"host") == 0) atom_map_classic = 1; + else if (strcmp(arg[iarg+1],"device") == 0) atom_map_classic = 0; + else error->all(FLERR,"Illegal package kokkos command"); + atom_map_changed = 0; + iarg += 2; } else if ((strcmp(arg[iarg],"gpu/aware") == 0) || (strcmp(arg[iarg],"cuda/aware") == 0)) { if (iarg+2 > narg) error->all(FLERR,"Illegal package kokkos command"); @@ -563,6 +573,10 @@ void KokkosLMP::accelerator(int narg, char **arg) sort_classic = 1; sort_changed = 1; } + if (atom_map_classic == 0) { + atom_map_classic = 1; + atom_map_changed = 1; + } } // if "gpu/aware on" and "pair/only off", and comm flags were changed previously, change them back @@ -599,6 +613,10 @@ void KokkosLMP::accelerator(int narg, char **arg) sort_classic = 0; sort_changed = 0; } + if (atom_map_changed) { + atom_map_classic = 0; + atom_map_changed = 0; + } } #endif diff --git a/src/KOKKOS/kokkos.h b/src/KOKKOS/kokkos.h index 5406feab9b..748aff7f83 100644 --- a/src/KOKKOS/kokkos.h +++ b/src/KOKKOS/kokkos.h @@ -34,6 +34,7 @@ class KokkosLMP : protected Pointers { int forward_fix_comm_classic; int reverse_comm_classic; int sort_classic; + int atom_map_classic; int exchange_comm_on_host; int forward_comm_on_host; int reverse_comm_on_host; @@ -44,6 +45,7 @@ class KokkosLMP : protected Pointers { int forward_fix_comm_changed; int reverse_comm_changed; int sort_changed; + int atom_map_changed; int nthreads,ngpus; int auto_sync; int gpu_aware_flag; From 6ebc32fa29f162aa930556b9da7b29792b0eebae Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Wed, 14 Feb 2024 16:50:52 -0700 Subject: [PATCH 158/559] Update docs --- doc/src/package.rst | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/doc/src/package.rst b/doc/src/package.rst index 212a06258c..bd47d42ee3 100644 --- a/doc/src/package.rst +++ b/doc/src/package.rst @@ -74,7 +74,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 *neigh/transpose* or *newton* or *binsize* or *comm* or *comm/exchange* or *comm/forward* or *comm/pair/forward* or *comm/fix/forward* or *comm/reverse* or *comm/pair/reverse* or *sort* or *gpu/aware* or *pair/only* + keywords = *neigh* or *neigh/qeq* or *neigh/thread* or *neigh/transpose* or *newton* or *binsize* or *comm* or *comm/exchange* or *comm/forward* or *comm/pair/forward* or *comm/fix/forward* or *comm/reverse* or *comm/pair/reverse* or *sort* or *atom/map* or *gpu/aware* or *pair/only* *neigh* value = *full* or *half* full = full neighbor list half = half neighbor list built in thread-safe manner @@ -108,6 +108,9 @@ Syntax *sort* value = *no* or *device* *no* = perform atom sorting in non-KOKKOS mode *device* = perform atom sorting on device (e.g. on GPU) + *atom/map* value = *no* or *device* + *no* = build atom map in non-KOKKOS mode + *device* = build atom map on device (e.g. on GPU) *gpu/aware* = *off* or *on* *off* = do not use GPU-aware MPI *on* = use GPU-aware MPI (default) @@ -576,6 +579,11 @@ effect if the simulation is running on the CPU. Not all fix styles with extra atom data support *device* mode and in that case a warning will be given and atom sorting will run in *no* mode instead. +The *atom/map* keyword determines whether the host or device builds the +atom_map, see the :doc:`atom_modify map ` command. The +value options for the *atom/map* keyword are identical to the *sort* +keyword above. + The *gpu/aware* keyword chooses whether GPU-aware MPI will be used. When this keyword is set to *on*, buffers in GPU memory are passed directly through MPI send/receive calls. This reduces overhead of first copying @@ -724,17 +732,17 @@ made automatically if the "-sf intel" :doc:`command-line switch ` is used. If it is not used, you must invoke the package intel command in your input script or via the "-pk intel" :doc:`command-line switch `. -For the KOKKOS package, the option defaults for GPUs are neigh = full, -neigh/qeq = full, newton = off, binsize for GPUs = 2x LAMMPS default value, -comm = device, sort = device, neigh/transpose = off, gpu/aware = on. When -LAMMPS can safely detect that GPU-aware MPI is not available, the default value -of gpu/aware becomes "off". For CPUs or Xeon Phis, the option defaults are -neigh = half, neigh/qeq = half, newton = on, binsize = 0.0, comm = no, and sort -= no. For GPUs, option neigh/thread = on when there are 16k atoms or less on an MPI -rank, otherwise it is "off". These settings are made automatically by the -required "-k on" :doc:`command-line switch `. You can change them -by using the package kokkos command in your input script or via the :doc:`-pk -kokkos command-line switch `. +For the KOKKOS package, the option defaults for GPUs are neigh = full, neigh/qeq += full, newton = off, binsize for GPUs = 2x LAMMPS default value, comm = device, +sort = device, atom/map = device, neigh/transpose = off, and gpu/aware = on. +When LAMMPS can safely detect that GPU-aware MPI is not available, the default +value of gpu/aware becomes "off". For CPUs or Xeon Phis, the option defaults are +neigh = half, neigh/qeq = half, newton = on, binsize = 0.0, comm = no, sort = +no, and atom/map = no. For GPUs, option neigh/thread = on when there are 16k +atoms or less on an MPI rank, otherwise it is "off". These settings are made +automatically by the required "-k on" :doc:`command-line switch `. +You can change them by using the package kokkos command in your input script or +via the :doc:`-pk kokkos command-line switch `. For the OMP package, the default is Nthreads = 0 and the option defaults are neigh = yes. These settings are made automatically if the "-sf omp" From ae39eb6569694b4eaadcaebf3e435bdd1e69fac1 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 14 Feb 2024 18:54:59 -0500 Subject: [PATCH 159/559] include missing source file when compiling INTEL package --- cmake/Modules/Packages/INTEL.cmake | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cmake/Modules/Packages/INTEL.cmake b/cmake/Modules/Packages/INTEL.cmake index 006a23e7ac..e6755bf23b 100644 --- a/cmake/Modules/Packages/INTEL.cmake +++ b/cmake/Modules/Packages/INTEL.cmake @@ -111,6 +111,9 @@ if(PKG_KSPACE) list(APPEND INTEL_SOURCES ${INTEL_SOURCES_DIR}/verlet_lrt_intel.cpp) RegisterIntegrateStyle(${INTEL_SOURCES_DIR}/verlet_lrt_intel.h) endif() +if(PKG_ML-SNAP) + list(APPEND INTEL_SOURCES ${INTEL_SOURCES_DIR}/sna_intel.cpp) +endif() target_sources(lammps PRIVATE ${INTEL_SOURCES}) target_include_directories(lammps PRIVATE ${INTEL_SOURCES_DIR}) From 072b0374e73416273f1746368227b799c86e7919 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 14 Feb 2024 18:55:19 -0500 Subject: [PATCH 160/559] do not check for cmath with Intel compilers but assume it is there --- cmake/CMakeLists.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 0fa0a2f1c0..ad7f9da35e 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -568,12 +568,12 @@ endforeach() ######################################################################## # Basic system tests (standard libraries, headers, functions, types) # ######################################################################## -foreach(HEADER cmath) - check_include_file_cxx(${HEADER} FOUND_${HEADER}) - if(NOT FOUND_${HEADER}) - message(FATAL_ERROR "Could not find needed header - ${HEADER}") - endif(NOT FOUND_${HEADER}) -endforeach(HEADER) +if (NOT ((CMAKE_CXX_COMPILER_ID STREQUAL "Intel") OR (CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM"))) + check_include_file_cxx(cmath FOUND_CMATH) + if(NOT FOUND_CMATH) + message(FATAL_ERROR "Could not find the required 'cmath' header") + endif(NOT FOUND_CMATH) +endif() # make the standard math library overrideable and autodetected (for systems that don't have it) find_library(STANDARD_MATH_LIB m DOC "Standard Math library") From e94d89ee3c84a3f7c8671beb50a2cabaed051647 Mon Sep 17 00:00:00 2001 From: James Michael Goff Date: Wed, 14 Feb 2024 17:02:07 -0700 Subject: [PATCH 161/559] added mliap_enable_ace to opt in/out of ace functionality in mliap --- cmake/Modules/Packages/ML-IAP.cmake | 15 +++++++++++++++ src/ML-IAP/compute_mliap.cpp | 10 ++++++++-- src/ML-IAP/mliap_descriptor_ace.cpp | 3 +++ src/ML-IAP/pair_mliap.cpp | 11 +++++++++-- 4 files changed, 35 insertions(+), 4 deletions(-) diff --git a/cmake/Modules/Packages/ML-IAP.cmake b/cmake/Modules/Packages/ML-IAP.cmake index d6059c44b8..a9c447d8c1 100644 --- a/cmake/Modules/Packages/ML-IAP.cmake +++ b/cmake/Modules/Packages/ML-IAP.cmake @@ -10,6 +10,15 @@ endif() option(MLIAP_ENABLE_PYTHON "Build ML-IAP package with Python support" ${MLIAP_ENABLE_PYTHON_DEFAULT}) +# if ML-PACE package is included we may also include ML-PACE support in ML-IAP +set(MLIAP_ENABLE_ACE_DEFAULT OFF) +if(PKG_ML-PACE) + set(MLIAP_ENABLE_PYTHON_DEFAULT ON) +endif() + +option(MLIAP_ENABLE_PYTHON "Build ML-IAP package with Python support" ${MLIAP_ENABLE_PYTHON_DEFAULT}) +option(MLIAP_ENABLE_ACE "Build ML-IAP package with ACE support" ${MLIAP_ENABLE_ACE_DEFAULT}) + if(MLIAP_ENABLE_PYTHON) find_package(Cythonize REQUIRED) find_package(Python COMPONENTS NumPy REQUIRED) @@ -19,6 +28,12 @@ if(MLIAP_ENABLE_PYTHON) if(Python_VERSION VERSION_LESS 3.6) message(FATAL_ERROR "Python support in ML-IAP requires Python 3.6 or later") endif() + if(MLIAP_ENABLE_ACE) + if(NOT PKG_ML-PACE) + message(FATAL_ERROR "Must enable PYTHON package and ML-PACE package for including ACE support in ML-IAP") + endif() + target_compile_definitions(lammps PRIVATE -DMLIAP_ACE) + endif() set(MLIAP_BINARY_DIR ${CMAKE_BINARY_DIR}/cython) file(GLOB MLIAP_CYTHON_SRC CONFIGURE_DEPENDS ${LAMMPS_SOURCE_DIR}/ML-IAP/*.pyx) diff --git a/src/ML-IAP/compute_mliap.cpp b/src/ML-IAP/compute_mliap.cpp index 1f858b608b..46b2958924 100644 --- a/src/ML-IAP/compute_mliap.cpp +++ b/src/ML-IAP/compute_mliap.cpp @@ -23,7 +23,9 @@ #include "mliap_model_quadratic.h" #include "mliap_descriptor_snap.h" #include "mliap_descriptor_so3.h" +#ifdef MLIAP_ACE #include "mliap_descriptor_ace.h" +#endif #ifdef MLIAP_PYTHON #include "mliap_model_python.h" #endif @@ -95,11 +97,15 @@ ComputeMLIAP::ComputeMLIAP(LAMMPS *lmp, int narg, char **arg) : if (iarg+3 > narg) error->all(FLERR,"Illegal pair_style mliap command"); descriptor = new MLIAPDescriptorSO3(lmp,arg[iarg+2]); iarg += 3; - } else if (strcmp(arg[iarg+1],"ace") == 0) { + } +#ifdef MLIAP_ACE + else if (strcmp(arg[iarg+1],"ace") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal pair_style mliap command"); descriptor = new MLIAPDescriptorACE(lmp,arg[iarg+2]); iarg += 3; - } else error->all(FLERR,"Illegal compute mliap command"); + } +#endif + else error->all(FLERR,"Illegal compute mliap command"); descriptorflag = 1; } else if (strcmp(arg[iarg],"gradgradflag") == 0) { if (iarg+1 > narg) error->all(FLERR,"Illegal compute mliap command"); diff --git a/src/ML-IAP/mliap_descriptor_ace.cpp b/src/ML-IAP/mliap_descriptor_ace.cpp index 2604a3d974..f87025026c 100644 --- a/src/ML-IAP/mliap_descriptor_ace.cpp +++ b/src/ML-IAP/mliap_descriptor_ace.cpp @@ -14,6 +14,7 @@ /* ---------------------------------------------------------------------- Contributing author: James Goff (SNL) ------------------------------------------------------------------------- */ +#ifdef MLIAP_ACE #include "mliap_descriptor_ace.h" @@ -427,3 +428,5 @@ double MLIAPDescriptorACE::memory_usage() return bytes; } + +#endif diff --git a/src/ML-IAP/pair_mliap.cpp b/src/ML-IAP/pair_mliap.cpp index f68e9c0b56..c242f4cdcc 100644 --- a/src/ML-IAP/pair_mliap.cpp +++ b/src/ML-IAP/pair_mliap.cpp @@ -21,7 +21,9 @@ #include "mliap_data.h" #include "mliap_descriptor_snap.h" #include "mliap_descriptor_so3.h" +#ifdef MLIAP_ACE #include "mliap_descriptor_ace.h" +#endif #include "mliap_model_linear.h" #include "mliap_model_nn.h" #include "mliap_model_quadratic.h" @@ -182,10 +184,15 @@ void PairMLIAP::settings(int narg, char ** arg) if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "pair_style mliap descriptor so3", error); descriptor = new MLIAPDescriptorSO3(lmp,arg[iarg+2]); iarg += 3; - } else if (strcmp(arg[iarg+1],"ace") == 0) { + } +#ifdef MLIAP_ACE + else if (strcmp(arg[iarg+1],"ace") == 0) { + if (iarg+3 > narg) error->all(FLERR,"Illegal pair_style mliap command"); descriptor = new MLIAPDescriptorACE(lmp,arg[iarg+2]); iarg += 3; - } else error->all(FLERR,"Illegal pair_style mliap command"); + } +#endif + else error->all(FLERR,"Illegal pair_style mliap command"); } else if (strcmp(arg[iarg], "unified") == 0) { #ifdef MLIAP_PYTHON if (model != nullptr) error->all(FLERR,"Illegal multiple pair_style mliap model definitions"); From 2625d946e3c8635d34efee97b7d6ef68a6306853 Mon Sep 17 00:00:00 2001 From: Matt Bettencourt Date: Thu, 15 Feb 2024 18:06:45 +0100 Subject: [PATCH 162/559] Fixed typo --- src/KOKKOS/mliap_data_kokkos.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/KOKKOS/mliap_data_kokkos.cpp b/src/KOKKOS/mliap_data_kokkos.cpp index c7913d2835..f8b6d5428e 100644 --- a/src/KOKKOS/mliap_data_kokkos.cpp +++ b/src/KOKKOS/mliap_data_kokkos.cpp @@ -216,7 +216,7 @@ void MLIAPDataKokkos::grow_neigharrays() { memoryKK->destroy_kokkos(k_ij); memoryKK->create_kokkos(k_ij, natomneigh_max, "mliap_data:ij"); memoryKK->destroy_kokkos(k_numneighs,numneighs); - memoryKK->create_kokkos(k_numneighs, natomneigh_max, "mliap_data:numneighs"); + memoryKK->create_kokkos(k_numneighs, numneighs, natomneigh_max, "mliap_data:numneighs"); } NeighListKokkos* k_list = static_cast*>(list); From a452ddc6673cdb89a5ec0fa032972000108bfc71 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Thu, 15 Feb 2024 13:01:43 -0700 Subject: [PATCH 163/559] Tweaks --- src/KOKKOS/atom_map_kokkos.cpp | 54 +++++++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/src/KOKKOS/atom_map_kokkos.cpp b/src/KOKKOS/atom_map_kokkos.cpp index 24ccb017dc..17f4c66f61 100644 --- a/src/KOKKOS/atom_map_kokkos.cpp +++ b/src/KOKKOS/atom_map_kokkos.cpp @@ -35,6 +35,8 @@ static constexpr int EXTRA = 1000; set entire array to -1 as initial values for hash option: map_nhash = length of hash table + map_nbucket = # of hash buckets, prime larger than map_nhash * 2 + so buckets will only be filled with 0 or 1 atoms on average ------------------------------------------------------------------------- */ void AtomKokkos::map_init(int check) @@ -57,7 +59,19 @@ void AtomKokkos::map_init(int check) // for hash, set all buckets to empty, put all entries in free list if (!recreate) { - map_clear(); + if (lmp->kokkos->atom_map_classic) { + if (map_style == MAP_ARRAY) { + for (int i = 0; i <= map_tag_max; i++) map_array[i] = -1; + } else { + for (int i = 0; i < map_nbucket; i++) map_bucket[i] = -1; + map_nused = 0; + map_free = 0; + for (int i = 0; i < map_nhash; i++) map_hash[i].next = i + 1; + if (map_nhash > 0) map_hash[map_nhash - 1].next = -1; + } + } else { + map_clear(); + } // recreating: delete old map and create new one for array or hash @@ -82,9 +96,36 @@ void AtomKokkos::map_init(int check) map_nhash *= 2; map_nhash = MAX(map_nhash, 1000); + if (lmp->kokkos->atom_map_classic) { + // map_nbucket = prime just larger than map_nhash + // next_prime() should be fast enough, + // about 10% of odd integers are prime above 1M + + map_nbucket = next_prime(map_nhash); + + // set all buckets to empty + // set hash to map_nhash in length + // put all hash entries in free list and point them to each other + + map_bucket = new int[map_nbucket]; + for (int i = 0; i < map_nbucket; i++) map_bucket[i] = -1; + + map_hash = new HashElem[map_nhash]; + map_nused = 0; + map_free = 0; + for (int i = 0; i < map_nhash; i++) map_hash[i].next = i + 1; + map_hash[map_nhash - 1].next = -1; + + } + k_map_hash = dual_hash_type(map_nhash); } } + + if (lmp->kokkos->atom_map_classic) { + k_sametag.modify_host(); + if (map_style == Atom::MAP_ARRAY) k_map_array.modify_host(); + } } /* ---------------------------------------------------------------------- @@ -107,6 +148,8 @@ void AtomKokkos::map_clear() if (lmp->kokkos->atom_map_classic) { k_map_hash.h_view.clear(); k_map_hash.modify_host(); + + Atom::map_clear(); } else { k_map_hash.d_view.clear(); k_map_hash.modify_device(); @@ -428,6 +471,9 @@ void AtomKokkos::map_set_host() void AtomKokkos::map_one(tagint global, int local) { + if (lmp->kokkos->atom_map_classic) + return Atom::map_one(global,local); + if (map_style == MAP_ARRAY) { k_map_array.sync_host(); k_map_array.h_view[global] = local; @@ -450,6 +496,9 @@ void AtomKokkos::map_one(tagint global, int local) int AtomKokkos::map_find_hash(tagint global) { + if (lmp->kokkos->atom_map_classic) + return Atom::map_find_hash(global); + k_map_hash.sync_host(); auto& h_map_hash = k_map_hash.h_view; @@ -474,4 +523,7 @@ void AtomKokkos::map_delete() map_array = nullptr; } else k_map_hash = dual_hash_type(); + + if (lmp->kokkos->atom_map_classic) + Atom::map_delete(); } From 90ebca63f32fde54df67e5b72fb9aa6b8ee0421a Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Thu, 15 Feb 2024 14:04:59 -0700 Subject: [PATCH 164/559] Fix buffer overflow in compute reaxff/atom --- src/KOKKOS/compute_reaxff_atom_kokkos.cpp | 11 ++++++---- src/REAXFF/compute_reaxff_atom.cpp | 26 ++++++++++++++--------- src/REAXFF/compute_reaxff_atom.h | 2 +- 3 files changed, 24 insertions(+), 15 deletions(-) diff --git a/src/KOKKOS/compute_reaxff_atom_kokkos.cpp b/src/KOKKOS/compute_reaxff_atom_kokkos.cpp index 3f6c9242d4..2b5cbff13d 100644 --- a/src/KOKKOS/compute_reaxff_atom_kokkos.cpp +++ b/src/KOKKOS/compute_reaxff_atom_kokkos.cpp @@ -67,10 +67,10 @@ void ComputeReaxFFAtomKokkos::init() template void ComputeReaxFFAtomKokkos::compute_bonds() { - if (atom->nlocal > nlocal) { + if (atom->nmax > nmax) { memory->destroy(array_atom); - nlocal = atom->nlocal; - memory->create(array_atom, nlocal, 3, "reaxff/atom:array_atom"); + nmax = atom->nmax; + memory->create(array_atom, nmax, 3, "reaxff/atom:array_atom"); } // retrieve bond information from kokkos pair style. the data potentially @@ -85,6 +85,7 @@ void ComputeReaxFFAtomKokkos::compute_bonds() else host_pair()->FindBond(maxnumbonds, groupbit); + const int nlocal = atom->nlocal; nbuf = ((store_bonds ? maxnumbonds*2 : 0) + 3)*nlocal; if (!buf || ((int)k_buf.extent(0) < nbuf)) { @@ -135,6 +136,7 @@ void ComputeReaxFFAtomKokkos::compute_local() int b = 0; int j = 0; auto tag = atom->tag; + const int nlocal = atom->nlocal; for (int i = 0; i < nlocal; ++i) { const int numbonds = static_cast(buf[j+2]); @@ -161,6 +163,7 @@ void ComputeReaxFFAtomKokkos::compute_peratom() compute_bonds(); // extract peratom bond information from buffer + const int nlocal = atom->nlocal; int j = 0; for (int i = 0; i < nlocal; ++i) { @@ -180,7 +183,7 @@ void ComputeReaxFFAtomKokkos::compute_peratom() template double ComputeReaxFFAtomKokkos::memory_usage() { - double bytes = (double)(nlocal*3) * sizeof(double); + double bytes = (double)(nmax*3) * sizeof(double); if (store_bonds) bytes += (double)(nbonds*3) * sizeof(double); bytes += (double)(nbuf > 0 ? nbuf * sizeof(double) : 0); diff --git a/src/REAXFF/compute_reaxff_atom.cpp b/src/REAXFF/compute_reaxff_atom.cpp index 1834de0b4b..212d117ac7 100644 --- a/src/REAXFF/compute_reaxff_atom.cpp +++ b/src/REAXFF/compute_reaxff_atom.cpp @@ -43,7 +43,7 @@ ComputeReaxFFAtom::ComputeReaxFFAtom(LAMMPS *lmp, int narg, char **arg) : // initialize output - nlocal = -1; + nmax = -1; nbonds = 0; prev_nbonds = -1; @@ -162,20 +162,22 @@ void ComputeReaxFFAtom::compute_bonds() { invoked_bonds = update->ntimestep; - if (atom->nlocal > nlocal) { + if (atom->nmax > nmax) { memory->destroy(abo); memory->destroy(neighid); memory->destroy(bondcount); memory->destroy(array_atom); - nlocal = atom->nlocal; + nmax = atom->nmax; if (store_bonds) { - memory->create(abo, nlocal, MAXREAXBOND, "reaxff/atom:abo"); - memory->create(neighid, nlocal, MAXREAXBOND, "reaxff/atom:neighid"); + memory->create(abo, nmax, MAXREAXBOND, "reaxff/atom:abo"); + memory->create(neighid, nmax, MAXREAXBOND, "reaxff/atom:neighid"); } - memory->create(bondcount, nlocal, "reaxff/atom:bondcount"); - memory->create(array_atom, nlocal, 3, "reaxff/atom:array_atom"); + memory->create(bondcount, nmax, "reaxff/atom:bondcount"); + memory->create(array_atom, nmax, 3, "reaxff/atom:array_atom"); } + const int nlocal = atom->nlocal; + for (int i = 0; i < nlocal; i++) { bondcount[i] = 0; for (int j = 0; store_bonds && j < MAXREAXBOND; j++) { @@ -208,6 +210,8 @@ void ComputeReaxFFAtom::compute_local() int b = 0; + const int nlocal = atom->nlocal; + for (int i = 0; i < nlocal; ++i) { const int numbonds = bondcount[i]; @@ -230,6 +234,8 @@ void ComputeReaxFFAtom::compute_peratom() compute_bonds(); } + const int nlocal = atom->nlocal; + for (int i = 0; i < nlocal; ++i) { auto ptr = array_atom[i]; ptr[0] = reaxff->api->workspace->total_bond_order[i]; @@ -244,10 +250,10 @@ void ComputeReaxFFAtom::compute_peratom() double ComputeReaxFFAtom::memory_usage() { - double bytes = (double)(nlocal*3) * sizeof(double); - bytes += (double)(nlocal) * sizeof(int); + double bytes = (double)(nmax*3) * sizeof(double); + bytes += (double)(nmax) * sizeof(int); if (store_bonds) { - bytes += (double)(2*nlocal*MAXREAXBOND) * sizeof(double); + bytes += (double)(2*nmax*MAXREAXBOND) * sizeof(double); bytes += (double)(nbonds*3) * sizeof(double); } return bytes; diff --git a/src/REAXFF/compute_reaxff_atom.h b/src/REAXFF/compute_reaxff_atom.h index 1f9aaec1ae..f27555e565 100644 --- a/src/REAXFF/compute_reaxff_atom.h +++ b/src/REAXFF/compute_reaxff_atom.h @@ -40,7 +40,7 @@ class ComputeReaxFFAtom : public Compute { protected: bigint invoked_bonds; // last timestep on which compute_bonds() was invoked - int nlocal; + int nmax; int nbonds; int prev_nbonds; int nsub; From 8c242e7ee8e041547bf27a73624a1f22f4dc5b6b Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Thu, 15 Feb 2024 16:45:10 -0700 Subject: [PATCH 165/559] Fix some issues --- src/KOKKOS/atom_map_kokkos.cpp | 37 +++++++++++++++++----------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/src/KOKKOS/atom_map_kokkos.cpp b/src/KOKKOS/atom_map_kokkos.cpp index 17f4c66f61..37505ebd18 100644 --- a/src/KOKKOS/atom_map_kokkos.cpp +++ b/src/KOKKOS/atom_map_kokkos.cpp @@ -63,14 +63,24 @@ void AtomKokkos::map_init(int check) if (map_style == MAP_ARRAY) { for (int i = 0; i <= map_tag_max; i++) map_array[i] = -1; } else { + for (int i = 0; i < map_nbucket; i++) map_bucket[i] = -1; + map_nused = 0; + map_free = 0; + for (int i = 0; i < map_nhash; i++) map_hash[i].next = i + 1; + if (map_nhash > 0) map_hash[map_nhash - 1].next = -1; + } + } else { + map_clear(); + } + + if (lmp->kokkos->atom_map_classic) { + if (map_style == MAP_HASH) { for (int i = 0; i < map_nbucket; i++) map_bucket[i] = -1; map_nused = 0; map_free = 0; for (int i = 0; i < map_nhash; i++) map_hash[i].next = i + 1; if (map_nhash > 0) map_hash[map_nhash - 1].next = -1; } - } else { - map_clear(); } // recreating: delete old map and create new one for array or hash @@ -81,9 +91,7 @@ void AtomKokkos::map_init(int check) if (map_style == MAP_ARRAY) { map_maxarray = map_tag_max; memoryKK->create_kokkos(k_map_array, map_array, map_maxarray + 1, "atom:map_array"); - Kokkos::deep_copy(k_map_array.d_view,-1); - k_map_array.modify_device(); - + map_clear(); } else { // map_nhash = max # of atoms that can be hashed on this proc @@ -115,17 +123,13 @@ void AtomKokkos::map_init(int check) map_free = 0; for (int i = 0; i < map_nhash; i++) map_hash[i].next = i + 1; map_hash[map_nhash - 1].next = -1; - } - k_map_hash = dual_hash_type(map_nhash); } } - if (lmp->kokkos->atom_map_classic) { - k_sametag.modify_host(); - if (map_style == Atom::MAP_ARRAY) k_map_array.modify_host(); - } + if (lmp->kokkos->atom_map_classic) + if (map_style == MAP_ARRAY) k_map_array.modify_host(); } /* ---------------------------------------------------------------------- @@ -136,7 +140,7 @@ void AtomKokkos::map_init(int check) void AtomKokkos::map_clear() { - if (map_style == Atom::MAP_ARRAY) { + if (map_style == MAP_ARRAY) { if (lmp->kokkos->atom_map_classic) { Kokkos::deep_copy(k_map_array.h_view,-1); k_map_array.modify_host(); @@ -148,7 +152,6 @@ void AtomKokkos::map_clear() if (lmp->kokkos->atom_map_classic) { k_map_hash.h_view.clear(); k_map_hash.modify_host(); - Atom::map_clear(); } else { k_map_hash.d_view.clear(); @@ -352,7 +355,6 @@ void AtomKokkos::map_set_host() int nall = nlocal + nghost; atomKK->sync(Host, TAG_MASK); - k_sametag.sync_host(); if (map_style == MAP_ARRAY) { @@ -456,9 +458,9 @@ void AtomKokkos::map_set_host() } k_sametag.modify_host(); - if (map_style == Atom::MAP_ARRAY) + if (map_style == MAP_ARRAY) k_map_array.modify_host(); - else if (map_style == Atom::MAP_HASH) + else if (map_style == MAP_HASH) k_map_hash.modify_host(); } @@ -496,9 +498,6 @@ void AtomKokkos::map_one(tagint global, int local) int AtomKokkos::map_find_hash(tagint global) { - if (lmp->kokkos->atom_map_classic) - return Atom::map_find_hash(global); - k_map_hash.sync_host(); auto& h_map_hash = k_map_hash.h_view; From e03534196a0be94f105dbc9bea33c79e01edced1 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Thu, 15 Feb 2024 17:15:18 -0700 Subject: [PATCH 166/559] Remove duplicated code --- src/KOKKOS/atom_map_kokkos.cpp | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/src/KOKKOS/atom_map_kokkos.cpp b/src/KOKKOS/atom_map_kokkos.cpp index 37505ebd18..64cbf67f67 100644 --- a/src/KOKKOS/atom_map_kokkos.cpp +++ b/src/KOKKOS/atom_map_kokkos.cpp @@ -61,26 +61,16 @@ void AtomKokkos::map_init(int check) if (!recreate) { if (lmp->kokkos->atom_map_classic) { if (map_style == MAP_ARRAY) { - for (int i = 0; i <= map_tag_max; i++) map_array[i] = -1; + map_clear(); } else { - for (int i = 0; i < map_nbucket; i++) map_bucket[i] = -1; - map_nused = 0; - map_free = 0; - for (int i = 0; i < map_nhash; i++) map_hash[i].next = i + 1; - if (map_nhash > 0) map_hash[map_nhash - 1].next = -1; - } - } else { - map_clear(); - } - - if (lmp->kokkos->atom_map_classic) { - if (map_style == MAP_HASH) { for (int i = 0; i < map_nbucket; i++) map_bucket[i] = -1; map_nused = 0; map_free = 0; for (int i = 0; i < map_nhash; i++) map_hash[i].next = i + 1; if (map_nhash > 0) map_hash[map_nhash - 1].next = -1; } + } else { + map_clear(); } // recreating: delete old map and create new one for array or hash @@ -124,6 +114,7 @@ void AtomKokkos::map_init(int check) for (int i = 0; i < map_nhash; i++) map_hash[i].next = i + 1; map_hash[map_nhash - 1].next = -1; } + k_map_hash = dual_hash_type(map_nhash); } } From 703ea412cb2b09d7859bbafc61b532759ae7947f Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Fri, 16 Feb 2024 10:32:05 -0700 Subject: [PATCH 167/559] Need to clear atom map in exchange --- src/KOKKOS/atom_map_kokkos.cpp | 23 +++++++++++------------ src/KOKKOS/comm_kokkos.cpp | 8 ++++++++ 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/src/KOKKOS/atom_map_kokkos.cpp b/src/KOKKOS/atom_map_kokkos.cpp index 64cbf67f67..3bb5b03d69 100644 --- a/src/KOKKOS/atom_map_kokkos.cpp +++ b/src/KOKKOS/atom_map_kokkos.cpp @@ -49,10 +49,8 @@ void AtomKokkos::map_init(int check) int recreate = 0; if (check) recreate = map_style_set(); - if (map_style == MAP_ARRAY && map_tag_max > map_maxarray) - recreate = 1; - else if (map_style == MAP_HASH && nlocal + nghost > map_nhash) - recreate = 1; + if (map_style == MAP_ARRAY && map_tag_max > map_maxarray) recreate = 1; + else if (map_style == MAP_HASH && nlocal+nghost > map_nhash) recreate = 1; // if not recreating: // for array, initialize current map_tag_max values @@ -61,19 +59,19 @@ void AtomKokkos::map_init(int check) if (!recreate) { if (lmp->kokkos->atom_map_classic) { if (map_style == MAP_ARRAY) { - map_clear(); + for (int i = 0; i <= map_tag_max; i++) map_array[i] = -1; } else { for (int i = 0; i < map_nbucket; i++) map_bucket[i] = -1; map_nused = 0; map_free = 0; - for (int i = 0; i < map_nhash; i++) map_hash[i].next = i + 1; - if (map_nhash > 0) map_hash[map_nhash - 1].next = -1; + for (int i = 0; i < map_nhash; i++) map_hash[i].next = i+1; + if (map_nhash > 0) map_hash[map_nhash-1].next = -1; } } else { map_clear(); } - // recreating: delete old map and create new one for array or hash + // recreating: delete old map and create new one for array or hash } else { map_delete(); @@ -82,6 +80,7 @@ void AtomKokkos::map_init(int check) map_maxarray = map_tag_max; memoryKK->create_kokkos(k_map_array, map_array, map_maxarray + 1, "atom:map_array"); map_clear(); + } else { // map_nhash = max # of atoms that can be hashed on this proc @@ -89,10 +88,10 @@ void AtomKokkos::map_init(int check) // multiply by 2, require at least 1000 // doubling means hash table will need to be re-init only rarely - int nper = static_cast(natoms / comm->nprocs); - map_nhash = MAX(nper, nmax); + int nper = static_cast (natoms/comm->nprocs); + map_nhash = MAX(nper,nmax); map_nhash *= 2; - map_nhash = MAX(map_nhash, 1000); + map_nhash = MAX(map_nhash,1000); if (lmp->kokkos->atom_map_classic) { // map_nbucket = prime just larger than map_nhash @@ -141,9 +140,9 @@ void AtomKokkos::map_clear() } } else { if (lmp->kokkos->atom_map_classic) { + Atom::map_clear(); k_map_hash.h_view.clear(); k_map_hash.modify_host(); - Atom::map_clear(); } else { k_map_hash.d_view.clear(); k_map_hash.modify_device(); diff --git a/src/KOKKOS/comm_kokkos.cpp b/src/KOKKOS/comm_kokkos.cpp index 4d527cc16b..6bb2d7e4d0 100644 --- a/src/KOKKOS/comm_kokkos.cpp +++ b/src/KOKKOS/comm_kokkos.cpp @@ -729,6 +729,14 @@ void CommKokkos::exchange_device() double lo,hi; MPI_Request request; + // clear global->local map for owned and ghost atoms + // b/c atoms migrate to new procs in exchange() and + // new ghosts are created in borders() + // map_set() is done at end of borders() + + if (lmp->kokkos->atom_map_classic) + if (map_style != Atom::MAP_NONE) atom->map_clear(); + // clear ghost count and any ghost bonus data internal to AtomVec atom->nghost = 0; From f38f2ef4f2c2a804b9836a7a82de614de49dbb34 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Fri, 16 Feb 2024 12:02:06 -0700 Subject: [PATCH 168/559] Fix bug --- src/KOKKOS/atom_map_kokkos.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/KOKKOS/atom_map_kokkos.cpp b/src/KOKKOS/atom_map_kokkos.cpp index 3bb5b03d69..3f86afe788 100644 --- a/src/KOKKOS/atom_map_kokkos.cpp +++ b/src/KOKKOS/atom_map_kokkos.cpp @@ -67,7 +67,7 @@ void AtomKokkos::map_init(int check) for (int i = 0; i < map_nhash; i++) map_hash[i].next = i+1; if (map_nhash > 0) map_hash[map_nhash-1].next = -1; } - } else { + } else { map_clear(); } @@ -463,9 +463,6 @@ void AtomKokkos::map_set_host() void AtomKokkos::map_one(tagint global, int local) { - if (lmp->kokkos->atom_map_classic) - return Atom::map_one(global,local); - if (map_style == MAP_ARRAY) { k_map_array.sync_host(); k_map_array.h_view[global] = local; From e5bb507d3dff441cf0f3d716867f93f42419b2a8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 16 Feb 2024 14:31:35 -0500 Subject: [PATCH 169/559] add clarifications --- doc/src/compute_pressure.rst | 3 ++- doc/src/compute_stress_atom.rst | 3 ++- doc/src/compute_stress_mop.rst | 7 +++++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/doc/src/compute_pressure.rst b/doc/src/compute_pressure.rst index 52195ec5f8..03dfbb841b 100644 --- a/doc/src/compute_pressure.rst +++ b/doc/src/compute_pressure.rst @@ -153,7 +153,8 @@ Related commands Default """"""" -none +By default the compute includes contributions from the keywords: +``ke pair bond angle dihedral improper kspace fix`` ---------- diff --git a/doc/src/compute_stress_atom.rst b/doc/src/compute_stress_atom.rst index ffd0d2ffb4..0fac47a6c0 100644 --- a/doc/src/compute_stress_atom.rst +++ b/doc/src/compute_stress_atom.rst @@ -289,7 +289,8 @@ Related commands Default """"""" -none +By default the compute includes contributions from the keywords: +``ke pair bond angle dihedral improper kspace fix`` ---------- diff --git a/doc/src/compute_stress_mop.rst b/doc/src/compute_stress_mop.rst index 74d4c618e7..6630c7171f 100644 --- a/doc/src/compute_stress_mop.rst +++ b/doc/src/compute_stress_mop.rst @@ -132,10 +132,13 @@ size does not change in time, and axis-aligned planes. The method only works with two-body pair interactions, because it requires the class method ``Pair::single()`` to be implemented, which is not possible for manybody potentials. In particular, compute -*stress/mop/profile* and *stress/mop* do not work with more than two-body pair -interactions, long range (kspace) interactions and +*stress/mop/profile* and *stress/mop* do not work with more than two-body +pair interactions, long range (kspace) interactions and improper intramolecular interactions. +The impact of fixes that affect the stress (e.g. fix langevin) is +also not included in the stress computed here. + Related commands """""""""""""""" From 7a836c7e69b53444229b53b834081b48f3e10973 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Fri, 16 Feb 2024 13:15:40 -0700 Subject: [PATCH 170/559] Update docs --- doc/src/package.rst | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/doc/src/package.rst b/doc/src/package.rst index bd47d42ee3..603ac39d26 100644 --- a/doc/src/package.rst +++ b/doc/src/package.rst @@ -569,15 +569,12 @@ performing the exchange pack/unpack on the host CPU can give speedup since it reduces the number of CUDA kernel launches. The *sort* keyword determines whether the host or device performs atom -sorting, see the :doc:`atom_modify sort ` command. The -value options for the *sort* keyword are *no* or *device* similar to the -*comm* keywords above. If a value of *host* is used it will be -automatically be changed to *no* since the *sort* keyword does not -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 simulation is running on the CPU. Not all fix styles with -extra atom data support *device* mode and in that case a warning will be -given and atom sorting will run in *no* mode instead. +sorting, see the :doc:`atom_modify sort ` command. The value +options for the *sort* keyword are *no* or *device* similar to the *comm* +keywords above. If a value of *host* is used it will be automatically be +changed to *no* since the *sort* keyword does not support *host* mode. Not +all fix styles with extra atom data support *device* mode and in that case +a warning will be given and atom sorting will run in *no* mode instead. The *atom/map* keyword determines whether the host or device builds the atom_map, see the :doc:`atom_modify map ` command. The @@ -601,12 +598,13 @@ for OpenMPI 1.8 (or later versions), Mvapich2 1.9 (or later) when the Spectrum MPI when the "-gpu" flag is used. The *pair/only* keyword can change how the KOKKOS suffix "kk" is applied -when using an accelerator device. By default device acceleration is -always used for all available styles. With *pair/only* set to *on* the -suffix setting will choose device acceleration only for pair styles and -run all other force computations on the host CPU. -The *comm* flags will also automatically be changed to *no*\ . This can -result in better performance for certain configurations and system sizes. +when using an accelerator device. By default device acceleration is always +used for all available styles. With *pair/only* set to *on* the suffix +setting will choose device acceleration only for pair styles and run all +other force computations on the host CPU. The *comm* flags, along with the +*sort* and *atom/map* keywords will also automatically be changed to *no*\ . +This can result in better performance for certain configurations and +system sizes. ---------- From 81c6e5c51bbfffde5d74e69881fd00290fd1632c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 17 Feb 2024 12:14:09 -0500 Subject: [PATCH 171/559] add examples using the inputs keyword --- doc/src/compute_reduce.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/src/compute_reduce.rst b/doc/src/compute_reduce.rst index 604b1c1571..c599761c39 100644 --- a/doc/src/compute_reduce.rst +++ b/doc/src/compute_reduce.rst @@ -56,8 +56,9 @@ Examples compute 1 all reduce sum c_force compute 1 all reduce/region subbox sum c_force compute 2 all reduce min c_press[2] f_ave v_myKE - compute 2 all reduce min c_press[*] f_ave v_myKE + compute 2 all reduce min c_press[*] f_ave v_myKE inputs peratom compute 3 fluid reduce max c_index[1] c_index[2] c_dist replace 1 3 replace 2 3 + compute 4 all reduce max c_bond inputs local Description """"""""""" From 1edec590bbb303f8c7adade7205a1a515e6bee16 Mon Sep 17 00:00:00 2001 From: Ludwig Ahrens Date: Mon, 19 Feb 2024 15:01:51 +0100 Subject: [PATCH 172/559] Logs for eta mix example --- .../madelung/log.19Feb2024.eta.g++.1 | 138 +++++++++++++++++ .../madelung/log.19Feb2024.eta_cg.g++.1 | 139 ++++++++++++++++++ .../madelung/log.19Feb2024.eta_mix.g++.1 | 138 +++++++++++++++++ 3 files changed, 415 insertions(+) create mode 100644 examples/PACKAGES/electrode/madelung/log.19Feb2024.eta.g++.1 create mode 100644 examples/PACKAGES/electrode/madelung/log.19Feb2024.eta_cg.g++.1 create mode 100644 examples/PACKAGES/electrode/madelung/log.19Feb2024.eta_mix.g++.1 diff --git a/examples/PACKAGES/electrode/madelung/log.19Feb2024.eta.g++.1 b/examples/PACKAGES/electrode/madelung/log.19Feb2024.eta.g++.1 new file mode 100644 index 0000000000..daf0563799 --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/log.19Feb2024.eta.g++.1 @@ -0,0 +1,138 @@ +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-668-g5b6c0c6b56) + using 1 OpenMP thread(s) per MPI task +boundary p p f +kspace_style ewald/electrode 1.0e-8 +kspace_modify slab 8.0 # ew3dc + +include "settings.mod" # styles, computes, groups and fixes +# set boundary in main script because ffield is periodic +units real +# distribute electrode atoms among all processors: +if "$(extract_setting(world_size) % 2) == 0" then "processors * * 2" + +atom_style full +pair_style lj/cut/coul/long 12 + +read_data "data.au-elyt" +Reading data file ... + orthogonal box = (0 0 -10) to (1 1 10) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 4 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +group bot type 1 +1 atoms in group bot +group top type 2 +1 atoms in group top + +# get electrode charges +variable q atom q +compute qbot bot reduce sum v_q +compute qtop top reduce sum v_q + +compute compute_pe all pe +variable vpe equal c_compute_pe +variable charge equal c_qtop +fix fxprint all print 1 "${vpe}, ${charge}" file "out.csv" + +thermo_style custom step pe c_qbot c_qtop +fix feta all property/atom d_eta ghost on +set group bot d_eta 2.0 +Setting atom values ... + 1 settings made for d_eta +set group top d_eta 2.0 +Setting atom values ... + 1 settings made for d_eta +fix conp bot electrode/conp 0 2 couple top 1 symm on eta d_eta write_inv inv.csv write_vec vec.csv +2 atoms in group conp_group + +run 0 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Ewald/electrode initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) +WARNING: For better accuracy use 'pair_modify table 0' (src/kspace.cpp:365) + G vector (1/distance) = 0.32261103 + estimated absolute RMS force accuracy = 3.8272011e-06 + estimated relative force accuracy = 1.1525502e-08 + KSpace vectors: actual max1d max3d = 52 50 515150 + kxmax kymax kzmax = 1 1 50 +Generated 3 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 1 1 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair lj/cut/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) fix electrode/conp, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +WARNING: Proc sub-domain size < neighbor skin, could lead to lost atoms (src/domain.cpp:965) +139.943964815502, 0.279214485147238 +Per MPI rank memory allocation (min/avg/max) = 144.2 | 144.2 | 144.2 Mbytes + Step PotEng c_qbot c_qtop + 0 139.94396 -0.27921449 0.27921449 +Loop time of 2.191e-06 on 1 procs for 0 steps with 4 atoms + +91.3% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Kspace | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.191e-06 | | |100.00 + +Nlocal: 4 ave 4 max 4 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 3596 ave 3596 max 3596 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 4790 ave 4790 max 4790 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4790 +Ave neighs/atom = 1197.5 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:00 diff --git a/examples/PACKAGES/electrode/madelung/log.19Feb2024.eta_cg.g++.1 b/examples/PACKAGES/electrode/madelung/log.19Feb2024.eta_cg.g++.1 new file mode 100644 index 0000000000..edb2e434e6 --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/log.19Feb2024.eta_cg.g++.1 @@ -0,0 +1,139 @@ +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-668-g5b6c0c6b56) + using 1 OpenMP thread(s) per MPI task +boundary p p f +kspace_style ewald/electrode 1.0e-8 +kspace_modify slab 8.0 # ew3dc + +include "settings.mod" # styles, computes, groups and fixes +# set boundary in main script because ffield is periodic +units real +# distribute electrode atoms among all processors: +if "$(extract_setting(world_size) % 2) == 0" then "processors * * 2" + +atom_style full +pair_style lj/cut/coul/long 12 + +read_data "data.au-elyt" +Reading data file ... + orthogonal box = (0 0 -10) to (1 1 10) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 4 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +group bot type 1 +1 atoms in group bot +group top type 2 +1 atoms in group top + +# get electrode charges +variable q atom q +compute qbot bot reduce sum v_q +compute qtop top reduce sum v_q + +compute compute_pe all pe +variable vpe equal c_compute_pe +variable charge equal c_qtop +fix fxprint all print 1 "${vpe}, ${charge}" file "out.csv" + +thermo_style custom step pe c_qbot c_qtop +fix feta all property/atom d_eta ghost on +set group bot d_eta 0.5 +Setting atom values ... + 1 settings made for d_eta +set group top d_eta 3.0 +Setting atom values ... + 1 settings made for d_eta +fix conp bot electrode/conp 0 2 couple top 1 symm on eta d_eta algo cg 1e-6 +2 atoms in group conp_group + +run 0 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Ewald/electrode initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) +WARNING: For better accuracy use 'pair_modify table 0' (src/kspace.cpp:365) + G vector (1/distance) = 0.32261103 + estimated absolute RMS force accuracy = 3.8272011e-06 + estimated relative force accuracy = 1.1525502e-08 + KSpace vectors: actual max1d max3d = 52 50 515150 + kxmax kymax kzmax = 1 1 50 +Generated 3 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 1 1 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair lj/cut/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) fix electrode/conp, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +WARNING: Proc sub-domain size < neighbor skin, could lead to lost atoms (src/domain.cpp:965) +165.519373910316, 0.29521534552818 +Per MPI rank memory allocation (min/avg/max) = 144.2 | 144.2 | 144.2 Mbytes + Step PotEng c_qbot c_qtop + 0 165.51937 -0.29521535 0.29521535 +Loop time of 2.797e-06 on 1 procs for 0 steps with 4 atoms + +71.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Kspace | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.797e-06 | | |100.00 + +Nlocal: 4 ave 4 max 4 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 3596 ave 3596 max 3596 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 4790 ave 4790 max 4790 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4790 +Ave neighs/atom = 1197.5 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + +Average conjugate gradient steps: 1 +Total wall time: 0:00:00 diff --git a/examples/PACKAGES/electrode/madelung/log.19Feb2024.eta_mix.g++.1 b/examples/PACKAGES/electrode/madelung/log.19Feb2024.eta_mix.g++.1 new file mode 100644 index 0000000000..51eda0d870 --- /dev/null +++ b/examples/PACKAGES/electrode/madelung/log.19Feb2024.eta_mix.g++.1 @@ -0,0 +1,138 @@ +LAMMPS (21 Nov 2023 - Development - patch_21Nov2023-668-g5b6c0c6b56) + using 1 OpenMP thread(s) per MPI task +boundary p p f +kspace_style ewald/electrode 1.0e-8 +kspace_modify slab 8.0 # ew3dc + +include "settings.mod" # styles, computes, groups and fixes +# set boundary in main script because ffield is periodic +units real +# distribute electrode atoms among all processors: +if "$(extract_setting(world_size) % 2) == 0" then "processors * * 2" + +atom_style full +pair_style lj/cut/coul/long 12 + +read_data "data.au-elyt" +Reading data file ... + orthogonal box = (0 0 -10) to (1 1 10) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 4 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +group bot type 1 +1 atoms in group bot +group top type 2 +1 atoms in group top + +# get electrode charges +variable q atom q +compute qbot bot reduce sum v_q +compute qtop top reduce sum v_q + +compute compute_pe all pe +variable vpe equal c_compute_pe +variable charge equal c_qtop +fix fxprint all print 1 "${vpe}, ${charge}" file "out.csv" + +thermo_style custom step pe c_qbot c_qtop +fix feta all property/atom d_eta ghost on +set group bot d_eta 0.5 +Setting atom values ... + 1 settings made for d_eta +set group top d_eta 3.0 +Setting atom values ... + 1 settings made for d_eta +fix conp bot electrode/conp 0 2 couple top 1 symm on eta d_eta write_inv inv.csv write_vec vec.csv +2 atoms in group conp_group + +run 0 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix electrode command: + +@article{Ahrens2022 +author = {Ahrens-Iwers, Ludwig J.V. and Janssen, Mahijs and Tee, Shern R. and Mei{\ss}ner, Robert H.}, +doi = {10.1063/5.0099239}, +title = {{ELECTRODE: An electrochemistry package for LAMMPS}}, +journal = {The Journal of Chemical Physics}, +year = {2022} +volume = {157}, +pages = {084801}, +} +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Ewald/electrode initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) +WARNING: For better accuracy use 'pair_modify table 0' (src/kspace.cpp:365) + G vector (1/distance) = 0.32261103 + estimated absolute RMS force accuracy = 3.8272011e-06 + estimated relative force accuracy = 1.1525502e-08 + KSpace vectors: actual max1d max3d = 52 50 515150 + kxmax kymax kzmax = 1 1 50 +Generated 3 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 1 1 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair lj/cut/coul/long, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard + (2) fix electrode/conp, perpetual, copy from (1) + attributes: half, newton on + pair build: copy + stencil: none + bin: none +WARNING: Proc sub-domain size < neighbor skin, could lead to lost atoms (src/domain.cpp:965) +165.519373910316, 0.295215345528172 +Per MPI rank memory allocation (min/avg/max) = 144.2 | 144.2 | 144.2 Mbytes + Step PotEng c_qbot c_qtop + 0 165.51937 -0.29521535 0.29521535 +Loop time of 2.18e-06 on 1 procs for 0 steps with 4 atoms + +91.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Kspace | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.18e-06 | | |100.00 + +Nlocal: 4 ave 4 max 4 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 3596 ave 3596 max 3596 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 4790 ave 4790 max 4790 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4790 +Ave neighs/atom = 1197.5 +Ave special neighs/atom = 0 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:00 From fb1e6610edbdf63702d81a720f3c94eb41926f2f Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 19 Feb 2024 10:36:15 -0700 Subject: [PATCH 173/559] edits of doc page for clarity --- doc/src/fix_wall_flow.rst | 118 ++++++++++++++++++++------------ src/EXTRA-FIX/fix_wall_flow.cpp | 15 +++- src/EXTRA-FIX/fix_wall_flow.h | 1 + 3 files changed, 89 insertions(+), 45 deletions(-) diff --git a/doc/src/fix_wall_flow.rst b/doc/src/fix_wall_flow.rst index 464021ff52..5fc9f5367c 100644 --- a/doc/src/fix_wall_flow.rst +++ b/doc/src/fix_wall_flow.rst @@ -11,24 +11,23 @@ Syntax .. code-block:: LAMMPS - fix ID group-ID wall/flow ax vf T seed N coords ... keyword value + fix ID group-ID wall/flow axis vflow T seed N coords ... keyword value * ID, group-ID are documented in :doc:`fix ` command * wall/flow = style name of this fix command -* ax = flow axis (*x*, *y*, or *z* character) -* vf = *ax* component of generated flow velocity +* axis = flow axis (*x*, *y*, or *z*) +* vflow = generated flow velocity in *axis* direction (velocity units) * T = flow temperature (temperature units) * seed = random seed for stochasticity (positive integer) -* N = number of walls (positive integer) -* coords = set of N wall coordinates (box units) along *ax* axis arranged in ascending order. Note that an additional implicit wall is introduced at the boundary of the simulation domain, so the resulting system always has N+1 walls. - +* N = number of walls +* coords = list of N wall positions along the *axis* direction in ascending order (distance units) * zero or more keyword/value pairs may be appended * keyword = *units* .. parsed-literal:: *units* value = *lattice* or *box* - *lattice* = the wall positions are defined in lattice units + *lattice* = wall positions are defined in lattice units *box* = the wall positions are defined in simulation box units Examples @@ -36,65 +35,96 @@ Examples .. code-block:: LAMMPS - fix 1 g_flow wall/flow x ${VFLOW} ${TEMP} 123 ${nwall} ${w1} ${w2} ${w3} ${w4} - fix 2 all wall/flow 0.4 0.2 3 1 400 + fix 1 all wall/flow x 0.4 1.5 593894 4 2.0 4.0 6.0 8.0 Description """"""""""" .. versionadded:: TBD -This fix implements flow boundary conditions (FBC) introduced in :ref:`(Pavlov1) ` and :ref:`(Pavlov2) `. -The goal is to generate a stationary flow with a shifted Maxwell velocity distribution: +This fix implements flow boundary conditions (FBC) introduced in +:ref:`(Pavlov1) ` and :ref:`(Pavlov2) `. +The goal is to generate a stationary flow with a shifted Maxwell +velocity distribution: .. math:: - f_z(v_z) \propto \exp{\left(-\frac{m (v_z-v_{\text{flow}})^2}{2 k T}\right)} + f_a(v_a) \propto \exp{\left(-\frac{m (v_a-v_{\text{flow}})^2}{2 kB T}\right)} -This is achieved by reassigning the velocity of each particle that passes a wall. -Such reassigning represents an emission of a new particle into the system with -simultaneous removal of a particle with the same position. -The velocity components parallel to the wall are re-assigned according -to the Maxwell velocity distribution. The perpendicular component is assigned -according to the following velocity distribution: +where :math:`v_a` is the component of velocity along the specified +*axis* argument (a = x,y,z), :math:`v_{\text{flow}}` is the flow +velocity specified as the *vflow* argument, *T* is the specified flow +temperature, *m* is the particle mass, and *kB* is the Boltzmann +constant. + +This is achieved by defining a series of *N* transparent walls along +the flow *axis* direction. Each wall is at the specified position +listed in the *coords* argument. Note that an additional transparent +wall is defined by the code at the boundary of the (periodic) +simulation domain in the *axis* direction. So there are effectively +N+1 walls. + +Each time a particle in the specified group passes through one of the +transparent walls, its velocity is re-assigned. Particles not in the +group do not interact with the wall. + +Conceptually, the velocity re-assignment represents creation of a new +particle within the system with simultaneous removal of the particle +which passed through the wall. The velocity components in directions +parallel to the wall are re-assigned according to the standard Maxwell +velocity distribution for the specified temperature *T*. The velocity +component perpendicular to the wall is re-assigned according to the +shifted Maxwell distribution defined above: .. math:: - f_{\text{z generated}}(v_z) \propto v_z f_z(v_z) + f_{\text{a generated}}(v_a) \propto v_a f_a(v_a) -It can be shown that in an ideal-gas scenario this makes the velocity -distribution of particles between walls exactly as desired. +It can be shown that for an ideal-gas scenario this procedure makes +the velocity distribution of particles between walls exactly as +desired. -Since in most cases simulated systems are not ideal gas, -the need for multiple walls might arise, as a single wall may not be -sufficient for maintaining a stationary flow without congestion -manifesting as areas with increased density located upstream from static obstacles. +Since in most cases simulated systems are not an ideal gas, multiple +walls can be defined, since a single wall may not be sufficient for +maintaining a stationary flow without "congestion" which can manifest +itself as regions in the flow with increased particle density located +upstream from static obstacles. -For the same reason, the actual temperature and velocity of the generated -flow may differ from ones requested. The degree of such discrepancy is determined -by how different from the ideal gas the simulated system is. Therefore, a calibration procedure is required for each system as described in :ref:`(Pavlov) `. +For the same reason, the actual temperature and velocity of the +generated flow may differ from what is requested. The degree of +discrepancy is determined by how different from an ideal gas the +simulated system is. Therefore, a calibration procedure may be +required for such a system as described in :ref:`(Pavlov) +`. -The interactions between particles on different sides of a wall are not disabled or neglected and the -particle positions are not affected by the velocity reassignment. -This removes the need to modify the force field to work correctly in cases when a particle is close -to a wall (for example, if particle positions were uniformly redistributed across the surface of the wall, -two particles could end up too close to each other, potentially causing the simulation to explode). -However due to this compromise, some collective phenomena such as areas with increased/decreased density -or collective movements are not fully removed when particles cross a wall. -This unwanted consequence can also be potentially mitigated by using more than one wall. +Note that the interactions between particles on different sides of a +transparent wall are not disabled or neglected. Likewise particle +positions are not altered by the velocity reassignment. This removes +the need to modify the force field to work correctly in cases when a +particle is close to a wall. +For example, if particle positions were uniformly redistributed across +the surface of a wall, two particles could end up too close to each +other, potentially causing the simulation to explode. However due to +this compromise, some collective phenomena such as regions with +increased/decreased density or collective movements are not fully +removed when particles cross a wall. This unwanted consequence can +also be potentially mitigated by using more multiple walls. ----------- +.. note:: -Note that when high flow velocity is reached, a lost atoms error may -occur (see :doc:`error messages `). -If this message appears when using this fix, you can, for example, reduce the frequency of the -neighbor list rebuild via :doc:`neigh_modify ` command. + When the specified flow has a high velocity, a lost atoms error can + occur (see :doc:`error messages `). If this + happens, you should ensure the checks for neighbor list rebuilds, + set via the :doc:`neigh_modify ` command, are as + conservative as possible (every timestep if needed). Those are the + default settings. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -No information about this fix is written to :doc:`binary restart files `. +No information about this fix is written to :doc:`binary restart files +`. None of the :doc:`fix_modify ` options are relevant to this fix. @@ -114,8 +144,8 @@ Fix *wall_flow* is part of the EXTRA-FIX package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. -Flow boundary conditions should not be used with rigid bodies such as those -defined by a "fix rigid" command. +Flow boundary conditions should not be used with rigid bodies such as +those defined by a "fix rigid" command. Related commands """""""""""""""" diff --git a/src/EXTRA-FIX/fix_wall_flow.cpp b/src/EXTRA-FIX/fix_wall_flow.cpp index bc2ddcd137..afa0a4e4bd 100644 --- a/src/EXTRA-FIX/fix_wall_flow.cpp +++ b/src/EXTRA-FIX/fix_wall_flow.cpp @@ -200,11 +200,14 @@ void FixWallFlow::end_of_step() int prev_segment = current_segment[i]; current_segment[i] = compute_current_segment(pos); - if (prev_segment != current_segment[i]) { generate_velocity(i); } + if (prev_segment != current_segment[i]) + generate_velocity(i); } } } +/* ---------------------------------------------------------------------- */ + void FixWallFlow::generate_velocity(int atom_i) { const int newton_iteration_count = 10; @@ -249,6 +252,8 @@ void FixWallFlow::generate_velocity(int atom_i) vel[(flowax + 2) % 3] = random->gaussian() / (gamma * MathConst::MY_SQRT2); } +/* ---------------------------------------------------------------------- */ + int FixWallFlow::compute_current_segment(double pos) const { int result = 0; @@ -258,22 +263,30 @@ int FixWallFlow::compute_current_segment(double pos) const return -1; // -1 is "out of box" region } +/* ---------------------------------------------------------------------- */ + void FixWallFlow::grow_arrays(int nmax) { memory->grow(current_segment, nmax, "WallFlow::current_segment"); } +/* ---------------------------------------------------------------------- */ + void FixWallFlow::copy_arrays(int i, int j, int) { current_segment[j] = current_segment[i]; } +/* ---------------------------------------------------------------------- */ + int FixWallFlow::pack_exchange(int i, double *buf) { buf[0] = static_cast(current_segment[i]); return 1; } +/* ---------------------------------------------------------------------- */ + int FixWallFlow::unpack_exchange(int i, double *buf) { current_segment[i] = static_cast(buf[0]); diff --git a/src/EXTRA-FIX/fix_wall_flow.h b/src/EXTRA-FIX/fix_wall_flow.h index 8e16a850b1..0379c03783 100644 --- a/src/EXTRA-FIX/fix_wall_flow.h +++ b/src/EXTRA-FIX/fix_wall_flow.h @@ -50,6 +50,7 @@ class FixWallFlow : public Fix { int rndseed; class RanMars *random; int *current_segment; + int compute_current_segment(double pos) const; void generate_velocity(int i); }; From ec0535172c55c7bfac812ab5cab123bb5e11be90 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 19 Feb 2024 12:54:59 -0500 Subject: [PATCH 174/559] whitespace --- src/EXTRA-FIX/fix_wall_flow.cpp | 4 ++-- src/EXTRA-FIX/fix_wall_flow.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/EXTRA-FIX/fix_wall_flow.cpp b/src/EXTRA-FIX/fix_wall_flow.cpp index afa0a4e4bd..586cfa7382 100644 --- a/src/EXTRA-FIX/fix_wall_flow.cpp +++ b/src/EXTRA-FIX/fix_wall_flow.cpp @@ -17,6 +17,7 @@ ------------------------------------------------------------------------- */ #include "fix_wall_flow.h" + #include "atom.h" #include "citeme.h" #include "comm.h" @@ -200,8 +201,7 @@ void FixWallFlow::end_of_step() int prev_segment = current_segment[i]; current_segment[i] = compute_current_segment(pos); - if (prev_segment != current_segment[i]) - generate_velocity(i); + if (prev_segment != current_segment[i]) generate_velocity(i); } } } diff --git a/src/EXTRA-FIX/fix_wall_flow.h b/src/EXTRA-FIX/fix_wall_flow.h index 0379c03783..6a662f3d94 100644 --- a/src/EXTRA-FIX/fix_wall_flow.h +++ b/src/EXTRA-FIX/fix_wall_flow.h @@ -50,7 +50,7 @@ class FixWallFlow : public Fix { int rndseed; class RanMars *random; int *current_segment; - + int compute_current_segment(double pos) const; void generate_velocity(int i); }; From afc82b5fd646fb2a933ebb05903814bf796eb452 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 19 Feb 2024 13:52:35 -0500 Subject: [PATCH 175/559] include versionadded tag for new keyword --- doc/src/package.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/src/package.rst b/doc/src/package.rst index 603ac39d26..514a55ff3f 100644 --- a/doc/src/package.rst +++ b/doc/src/package.rst @@ -576,6 +576,8 @@ changed to *no* since the *sort* keyword does not support *host* mode. Not all fix styles with extra atom data support *device* mode and in that case a warning will be given and atom sorting will run in *no* mode instead. +.. versionadded:: TBD + The *atom/map* keyword determines whether the host or device builds the atom_map, see the :doc:`atom_modify map ` command. The value options for the *atom/map* keyword are identical to the *sort* From 1f0194a2188c763d38842fbb22ddc05fa4dfe8ba Mon Sep 17 00:00:00 2001 From: Sieds Lykles <93992551+S-Lykles@users.noreply.github.com> Date: Mon, 19 Feb 2024 20:50:03 +0100 Subject: [PATCH 176/559] Add template compatibility check to create_atoms mol --- src/create_atoms.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index 03b3c7b78c..3718b6deb1 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -175,6 +175,7 @@ void CreateAtoms::command(int narg, char **arg) iarg += 2; } else if (strcmp(arg[iarg], "mol") == 0) { if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "create_atoms mol", error); + int molecular = atom->molecular; int imol = atom->find_molecule(arg[iarg + 1]); if (imol == -1) error->all(FLERR, "Molecule template ID {} for create_atoms does not exist", arg[iarg + 1]); @@ -183,6 +184,9 @@ void CreateAtoms::command(int narg, char **arg) "Only the first set will be used."); mode = MOLECULE; onemol = atom->molecules[imol]; + if ((molecular == Atom::TEMPLATE) && (onemol != atom->avec->onemols[0])) + error->all(FLERR, "When using atom style template, create_atoms must use the same " + "molecule template as the atom style"); molseed = utils::inumeric(FLERR, arg[iarg + 2], false, lmp); iarg += 3; } else if (strcmp(arg[iarg], "units") == 0) { From 0fed131e521168be235b31c1aae6612feaf4a84e Mon Sep 17 00:00:00 2001 From: Sieds Lykles <93992551+S-Lykles@users.noreply.github.com> Date: Mon, 19 Feb 2024 22:19:21 +0100 Subject: [PATCH 177/559] Update docs of create_atoms --- doc/src/create_atoms.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/doc/src/create_atoms.rst b/doc/src/create_atoms.rst index f0dc857dcd..84edf8c337 100644 --- a/doc/src/create_atoms.rst +++ b/doc/src/create_atoms.rst @@ -268,6 +268,12 @@ molecule can be specified in the molecule file. See the required to be in this file are the coordinates and types of atoms in the molecule. +.. note:: + + If you are using the :doc:`atom style template ` command, + the molecule template-ID of the atom style must be the same as the + template-ID argument to this command. + Using a lattice to add molecules, e.g. via the *box* or *region* or *single* styles, is exactly the same as adding atoms on lattice points, except that entire molecules are added at each point, i.e. on From 6b6afe3034e421fdb0a1a69987b94296ff11ed46 Mon Sep 17 00:00:00 2001 From: Sieds Lykles <93992551+S-Lykles@users.noreply.github.com> Date: Mon, 19 Feb 2024 23:28:22 +0100 Subject: [PATCH 178/559] change error to be similar to fix pour and fix deposit --- src/create_atoms.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index 3718b6deb1..b8c2146d7b 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -175,7 +175,6 @@ void CreateAtoms::command(int narg, char **arg) iarg += 2; } else if (strcmp(arg[iarg], "mol") == 0) { if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "create_atoms mol", error); - int molecular = atom->molecular; int imol = atom->find_molecule(arg[iarg + 1]); if (imol == -1) error->all(FLERR, "Molecule template ID {} for create_atoms does not exist", arg[iarg + 1]); @@ -184,9 +183,8 @@ void CreateAtoms::command(int narg, char **arg) "Only the first set will be used."); mode = MOLECULE; onemol = atom->molecules[imol]; - if ((molecular == Atom::TEMPLATE) && (onemol != atom->avec->onemols[0])) - error->all(FLERR, "When using atom style template, create_atoms must use the same " - "molecule template as the atom style"); + if (atom->molecular == Atom::TEMPLATE && onemol != atom->avec->onemols[0]) + error->all(FLERR, "create_atoms molecule template ID must be same as atom style template ID"); molseed = utils::inumeric(FLERR, arg[iarg + 2], false, lmp); iarg += 3; } else if (strcmp(arg[iarg], "units") == 0) { From aafe28da4da39645370779f829695852f2b3ce15 Mon Sep 17 00:00:00 2001 From: Sieds Lykles <93992551+S-Lykles@users.noreply.github.com> Date: Mon, 19 Feb 2024 23:41:12 +0100 Subject: [PATCH 179/559] change wording --- doc/src/create_atoms.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/create_atoms.rst b/doc/src/create_atoms.rst index 84edf8c337..7f67670506 100644 --- a/doc/src/create_atoms.rst +++ b/doc/src/create_atoms.rst @@ -270,9 +270,9 @@ the molecule. .. note:: - If you are using the :doc:`atom style template ` command, - the molecule template-ID of the atom style must be the same as the - template-ID argument to this command. + If you are using the *mol* keyword in combination with the + :doc:`atom style template ` command, they must use + the same molecule template-ID. Using a lattice to add molecules, e.g. via the *box* or *region* or *single* styles, is exactly the same as adding atoms on lattice From c115cdb18da5bfb632cd6f17566f808ee72c17b4 Mon Sep 17 00:00:00 2001 From: Sieds Lykles <93992551+S-Lykles@users.noreply.github.com> Date: Tue, 20 Feb 2024 00:55:15 +0100 Subject: [PATCH 180/559] Move check to be with other checks --- src/create_atoms.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index b8c2146d7b..578ce999f5 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -183,8 +183,6 @@ void CreateAtoms::command(int narg, char **arg) "Only the first set will be used."); mode = MOLECULE; onemol = atom->molecules[imol]; - if (atom->molecular == Atom::TEMPLATE && onemol != atom->avec->onemols[0]) - error->all(FLERR, "create_atoms molecule template ID must be same as atom style template ID"); molseed = utils::inumeric(FLERR, arg[iarg + 2], false, lmp); iarg += 3; } else if (strcmp(arg[iarg], "units") == 0) { @@ -303,6 +301,8 @@ void CreateAtoms::command(int narg, char **arg) error->all(FLERR, "Invalid atom type in create_atoms mol command"); if (onemol->tag_require && !atom->tag_enable) error->all(FLERR, "Create_atoms molecule has atom IDs, but system does not"); + if (atom->molecular == Atom::TEMPLATE && onemol != atom->avec->onemols[0]) + error->all(FLERR, "Create_atoms molecule template ID must be same as atom style template ID"); onemol->check_attributes(); From d70a98561f77eb95c4fd3b1f398253fec9e8aacd Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 19 Feb 2024 17:33:51 -0700 Subject: [PATCH 181/559] fix bug in removing a variable --- src/variable.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/variable.cpp b/src/variable.cpp index 426dbd8b06..c195f09599 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -1281,7 +1281,12 @@ void Variable::remove(int n) reader[i-1] = reader[i]; data[i-1] = data[i]; dvalue[i-1] = dvalue[i]; + + // copy VecVar struct from vecs[i] to vecs[i-1] + + memcpy(&vecs[i-1],&vecs[i],sizeof(VecVar)); } + nvar--; data[nvar] = nullptr; reader[nvar] = nullptr; From 7a5fa7ca541626239b6d2f245e397e229af4ba1a Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 19 Feb 2024 17:34:43 -0700 Subject: [PATCH 182/559] not a bug but change variable evaluate local ivar to jvar to avoid code confusion --- src/variable.cpp | 62 ++++++++++++++++++++++++------------------------ 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/src/variable.cpp b/src/variable.cpp index c195f09599..4f291667a9 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -1977,12 +1977,12 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) } else if (strncmp(word,"v_",2) == 0) { - int ivar = find(word+2); - if (ivar < 0) + int jvar = find(word+2); + if (jvar < 0) print_var_error(FLERR,fmt::format("Invalid variable reference {} in variable formula",word), - ivar); - if (eval_in_progress[ivar]) - print_var_error(FLERR,"has a circular dependency",ivar); + jvar); + if (eval_in_progress[jvar]) + print_var_error(FLERR,"has a circular dependency",jvar); // parse zero or one trailing brackets // point i beyond last bracket @@ -2006,9 +2006,9 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) // scalar from internal-style variable // access value directly - if (style[ivar] == INTERNAL) { + if (style[jvar] == INTERNAL) { - value1 = dvalue[ivar]; + value1 = dvalue[jvar]; if (tree) { auto newtree = new Tree(); newtree->type = VALUE; @@ -2019,13 +2019,13 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) // scalar from any style variable except VECTOR, ATOM, ATOMFILE // access value via retrieve() - } else if (style[ivar] != ATOM && style[ivar] != ATOMFILE && style[ivar] != VECTOR) { + } else if (style[jvar] != ATOM && style[jvar] != ATOMFILE && style[jvar] != VECTOR) { char *var = retrieve(word+2); if (var == nullptr) - print_var_error(FLERR,"Invalid variable evaluation in variable formula",ivar); + print_var_error(FLERR,"Invalid variable evaluation in variable formula",jvar); if (!utils::is_double(var)) - print_var_error(FLERR,"Non-numeric variable value in variable formula",ivar); + print_var_error(FLERR,"Non-numeric variable value in variable formula",jvar); if (tree) { auto newtree = new Tree(); newtree->type = VALUE; @@ -2036,15 +2036,15 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) // vector from vector-style variable // evaluate the vector-style variable, put result in newtree - } else if (style[ivar] == VECTOR) { + } else if (style[jvar] == VECTOR) { if (tree == nullptr) - print_var_error(FLERR,"Vector-style variable in equal-style variable formula",ivar); + print_var_error(FLERR,"Vector-style variable in equal-style variable formula",jvar); if (treetype == ATOM) - print_var_error(FLERR,"Vector-style variable in atom-style variable formula",ivar); + print_var_error(FLERR,"Vector-style variable in atom-style variable formula",jvar); double *vec; - int nvec = compute_vector(ivar,&vec); + int nvec = compute_vector(jvar,&vec); auto newtree = new Tree(); newtree->type = VECTORARRAY; @@ -2056,36 +2056,36 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) // vector from atom-style variable // evaluate the atom-style variable as newtree - } else if (style[ivar] == ATOM) { + } else if (style[jvar] == ATOM) { if (tree == nullptr) - print_var_error(FLERR,"Atom-style variable in equal-style variable formula",ivar); + print_var_error(FLERR,"Atom-style variable in equal-style variable formula",jvar); if (treetype == VECTOR) - print_var_error(FLERR,"Atom-style variable in vector-style variable formula",ivar); + print_var_error(FLERR,"Atom-style variable in vector-style variable formula",jvar); Tree *newtree = nullptr; - evaluate(data[ivar][0],&newtree,ivar); + evaluate(data[jvar][0],&newtree,jvar); treestack[ntreestack++] = newtree; // vector from atomfile-style variable // point to the values in FixStore instance - } else if (style[ivar] == ATOMFILE) { + } else if (style[jvar] == ATOMFILE) { if (tree == nullptr) - print_var_error(FLERR,"Atomfile-style variable in equal-style variable formula",ivar); + print_var_error(FLERR,"Atomfile-style variable in equal-style variable formula",jvar); if (treetype == VECTOR) - print_var_error(FLERR,"Atomfile-style variable in vector-style variable formula",ivar); + print_var_error(FLERR,"Atomfile-style variable in vector-style variable formula",jvar); auto newtree = new Tree(); newtree->type = ATOMARRAY; - newtree->array = reader[ivar]->fixstore->vstore; + newtree->array = reader[jvar]->fixstore->vstore; newtree->nstride = 1; treestack[ntreestack++] = newtree; // no other possibilities for variable with no bracket - } else print_var_error(FLERR,"Mismatched variable in variable formula",ivar); + } else print_var_error(FLERR,"Mismatched variable in variable formula",jvar); // vname[i] with one bracket @@ -2094,12 +2094,12 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) // scalar from vector-style variable // compute the vector-style variable, extract single value - if (style[ivar] == VECTOR) { + if (style[jvar] == VECTOR) { double *vec; - int nvec = compute_vector(ivar,&vec); + int nvec = compute_vector(jvar,&vec); if (index <= 0 || index > nvec) - print_var_error(FLERR,"Invalid index into vector-style variable",ivar); + print_var_error(FLERR,"Invalid index into vector-style variable",jvar); int m = index; // convert from tagint to int if (tree) { @@ -2113,25 +2113,25 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) // compute the per-atom variable in result // use peratom2global to extract single value from result - } else if (style[ivar] == ATOM) { + } else if (style[jvar] == ATOM) { double *result; memory->create(result,atom->nlocal,"variable:result"); - compute_atom(ivar,0,result,1,0); + compute_atom(jvar,0,result,1,0); peratom2global(1,nullptr,result,1,index,tree,treestack,ntreestack,argstack,nargstack); memory->destroy(result); // scalar from atomfile-style variable // use peratom2global to extract single value from FixStore instance - } else if (style[ivar] == ATOMFILE) { + } else if (style[jvar] == ATOMFILE) { - peratom2global(1,nullptr,reader[ivar]->fixstore->vstore,1,index, + peratom2global(1,nullptr,reader[jvar]->fixstore->vstore,1,index, tree,treestack,ntreestack,argstack,nargstack); // no other possibilities for variable with one bracket - } else print_var_error(FLERR,"Mismatched variable in variable formula",ivar); + } else print_var_error(FLERR,"Mismatched variable in variable formula",jvar); } // ---------------- From 46cacf089eddec8e1426efb62de2539a0a4e59c1 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 19 Feb 2024 21:41:29 -0500 Subject: [PATCH 183/559] whitespace --- src/variable.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/variable.cpp b/src/variable.cpp index 4f291667a9..8124d9c4a1 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -1283,10 +1283,10 @@ void Variable::remove(int n) dvalue[i-1] = dvalue[i]; // copy VecVar struct from vecs[i] to vecs[i-1] - + memcpy(&vecs[i-1],&vecs[i],sizeof(VecVar)); } - + nvar--; data[nvar] = nullptr; reader[nvar] = nullptr; From 62968ebcd455899b5d88412f86d3e1140f1dbdd3 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 19 Feb 2024 23:17:37 -0500 Subject: [PATCH 184/559] improve readability --- doc/src/package.rst | 83 +++++++++++++++++++++++++++++---------------- 1 file changed, 53 insertions(+), 30 deletions(-) diff --git a/doc/src/package.rst b/doc/src/package.rst index 514a55ff3f..2fe4baaae7 100644 --- a/doc/src/package.rst +++ b/doc/src/package.rst @@ -692,18 +692,18 @@ Restrictions This command cannot be used after the simulation box is defined by a :doc:`read_data ` or :doc:`create_box ` command. -The gpu style of this command can only be invoked if LAMMPS was built +The *gpu* style of this command can only be invoked if LAMMPS was built with the GPU package. See the :doc:`Build package ` doc page for more info. -The intel style of this command can only be invoked if LAMMPS was +The *intel* style of this command can only be invoked if LAMMPS was built with the INTEL package. See the :doc:`Build package ` page for more info. -The kk style of this command can only be invoked if LAMMPS was built +The *kokkos* style of this command can only be invoked if LAMMPS was built with the KOKKOS package. See the :doc:`Build package ` doc page for more info. -The omp style of this command can only be invoked if LAMMPS was built +The *omp* style of this command can only be invoked if LAMMPS was built with the OPENMP package. See the :doc:`Build package ` doc page for more info. @@ -712,19 +712,27 @@ Related commands :doc:`suffix `, :doc:`-pk command-line switch ` -Default -""""""" +Defaults +"""""""" -For the GPU package, the default is Ngpu = 0 and the option defaults are neigh -= yes, newton = off, binsize = 0.0, split = 1.0, gpuID = 0 to Ngpu-1, tpa = 1, -omp = 0, and platform=-1. These settings are made automatically if the "-sf -gpu" :doc:`command-line switch ` is used. If it is not used, you -must invoke the package gpu command in your input script or via the "-pk gpu" -:doc:`command-line switch `. +For the GPU package, the default parameters and settings are: -For the INTEL package, the default is Nphi = 1 and the option defaults are omp -= 0, mode = mixed, lrt = no, balance = -1, tpc = 4, tptask = 240, pppm_table = -yes. The default ghost option is determined by the pair style being used. +.. parsed-literal:: + + Ngpu = 0, neigh = yes, newton = off, binsize = 0.0, split = 1.0, gpuID = 0 to Ngpu-1, tpa = 1, omp = 0, platform=-1. + +These settings are made automatically if the "-sf gpu" +:doc:`command-line switch ` is used. If it is not used, +you must invoke the package gpu command in your input script or via the +"-pk gpu" :doc:`command-line switch `. + +For the INTEL package, the default parameters and settings are: + +.. parsed-literal:: + + Nphi = 1, omp = 0, mode = mixed, lrt = no, balance = -1, tpc = 4, tptask = 240, pppm_table = yes + +The default ghost option is determined by the pair style being used. This value is output to the screen in the offload report at the end of each run. Note that all of these settings, except "omp" and "mode", are ignored if LAMMPS was not built with Xeon Phi co-processor support. These settings are @@ -732,20 +740,35 @@ made automatically if the "-sf intel" :doc:`command-line switch ` is used. If it is not used, you must invoke the package intel command in your input script or via the "-pk intel" :doc:`command-line switch `. -For the KOKKOS package, the option defaults for GPUs are neigh = full, neigh/qeq -= full, newton = off, binsize for GPUs = 2x LAMMPS default value, comm = device, -sort = device, atom/map = device, neigh/transpose = off, and gpu/aware = on. -When LAMMPS can safely detect that GPU-aware MPI is not available, the default -value of gpu/aware becomes "off". For CPUs or Xeon Phis, the option defaults are -neigh = half, neigh/qeq = half, newton = on, binsize = 0.0, comm = no, sort = -no, and atom/map = no. For GPUs, option neigh/thread = on when there are 16k -atoms or less on an MPI rank, otherwise it is "off". These settings are made -automatically by the required "-k on" :doc:`command-line switch `. -You can change them by using the package kokkos command in your input script or +For the KOKKOS package when using GPUs, the option defaults are: + +.. parsed-literal:: + + neigh = full, neigh/qeq = full, newton = off, binsize = 2x LAMMPS default value, comm = device, sort = device, atom/map = device, neigh/transpose = off, gpu/aware = on + +For GPUs, option neigh/thread = on when there are 16k atoms or less on +an MPI rank, otherwise it is "off". When LAMMPS can safely detect that +GPU-aware MPI is not available, the default value of gpu/aware becomes +"off". + +For the KOKKOS package when using CPUs or Xeon Phis, the option defaults are: + +.. parsed-literal:: + + neigh = half, neigh/qeq = half, newton = on, binsize = 0.0, comm = no, sort = no, atom/map = no + +These settings are made automatically by +the required "-k on" :doc:`command-line switch `. You can +change them by using the package kokkos command in your input script or via the :doc:`-pk kokkos command-line switch `. -For the OMP package, the default is Nthreads = 0 and the option defaults are -neigh = yes. These settings are made automatically if the "-sf omp" -:doc:`command-line switch ` is used. If it is not used, you must -invoke the package omp command in your input script or via the "-pk omp" -:doc:`command-line switch `. +For the OMP package, the defaults are + +.. parsed-literal:: + + Nthreads = 0, neigh = yes + +These settings are made automatically if the "-sf omp" +:doc:`command-line switch ` is used. If it is not used, +you must invoke the package omp command in your input script or via the +"-pk omp" :doc:`command-line switch `. From d38b3ffd82c11a64bc6ee306250f1775d917853c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 20 Feb 2024 05:11:40 -0500 Subject: [PATCH 185/559] remove dead code --- src/GPU/pair_lj_cut_dipole_cut_gpu.cpp | 9 +-------- src/GPU/pair_lj_sf_dipole_sf_gpu.cpp | 12 ++---------- 2 files changed, 3 insertions(+), 18 deletions(-) diff --git a/src/GPU/pair_lj_cut_dipole_cut_gpu.cpp b/src/GPU/pair_lj_cut_dipole_cut_gpu.cpp index b71e526bf2..1052e16c11 100644 --- a/src/GPU/pair_lj_cut_dipole_cut_gpu.cpp +++ b/src/GPU/pair_lj_cut_dipole_cut_gpu.cpp @@ -179,7 +179,7 @@ void PairLJCutDipoleCutGPU::cpu_compute(int start, int inum, int eflag, int vfla double qtmp, xtmp, ytmp, ztmp, delx, dely, delz, evdwl, ecoul, fx, fy, fz; double rsq, rinv, r2inv, r6inv, r3inv, r5inv, r7inv; double forcecoulx, forcecouly, forcecoulz, crossx, crossy, crossz; - double tixcoul, tiycoul, tizcoul, tjxcoul, tjycoul, tjzcoul; + double tixcoul, tiycoul, tizcoul; double fq, pdotp, pidotr, pjdotr, pre1, pre2, pre3, pre4; double forcelj, factor_coul, factor_lj; int *jlist; @@ -230,7 +230,6 @@ void PairLJCutDipoleCutGPU::cpu_compute(int start, int inum, int eflag, int vfla forcecoulx = forcecouly = forcecoulz = 0.0; tixcoul = tiycoul = tizcoul = 0.0; - tjxcoul = tjycoul = tjzcoul = 0.0; if (rsq < cut_coulsq[itype][jtype]) { @@ -268,9 +267,6 @@ void PairLJCutDipoleCutGPU::cpu_compute(int start, int inum, int eflag, int vfla tixcoul += crossx + pre2 * (mu[i][1] * delz - mu[i][2] * dely); tiycoul += crossy + pre2 * (mu[i][2] * delx - mu[i][0] * delz); tizcoul += crossz + pre2 * (mu[i][0] * dely - mu[i][1] * delx); - tjxcoul += -crossx + pre3 * (mu[j][1] * delz - mu[j][2] * dely); - tjycoul += -crossy + pre3 * (mu[j][2] * delx - mu[j][0] * delz); - tjzcoul += -crossz + pre3 * (mu[j][0] * dely - mu[j][1] * delx); } if (mu[i][3] > 0.0 && q[j] != 0.0) { @@ -298,9 +294,6 @@ void PairLJCutDipoleCutGPU::cpu_compute(int start, int inum, int eflag, int vfla forcecoulx += pre1 * delx - pre2 * mu[j][0]; forcecouly += pre1 * dely - pre2 * mu[j][1]; forcecoulz += pre1 * delz - pre2 * mu[j][2]; - tjxcoul += -pre2 * (mu[j][1] * delz - mu[j][2] * dely); - tjycoul += -pre2 * (mu[j][2] * delx - mu[j][0] * delz); - tjzcoul += -pre2 * (mu[j][0] * dely - mu[j][1] * delx); } } diff --git a/src/GPU/pair_lj_sf_dipole_sf_gpu.cpp b/src/GPU/pair_lj_sf_dipole_sf_gpu.cpp index 4d8fbb5139..57ba3ec353 100644 --- a/src/GPU/pair_lj_sf_dipole_sf_gpu.cpp +++ b/src/GPU/pair_lj_sf_dipole_sf_gpu.cpp @@ -178,8 +178,8 @@ void PairLJSFDipoleSFGPU::cpu_compute(int start, int inum, int eflag, int vflag, double qtmp, xtmp, ytmp, ztmp, delx, dely, delz, evdwl, ecoul, fx, fy, fz; double rsq, rinv, r2inv, r6inv, r3inv, r5inv; double forcecoulx, forcecouly, forcecoulz, crossx, crossy, crossz; - double tixcoul, tiycoul, tizcoul, tjxcoul, tjycoul, tjzcoul; - double fq, pdotp, pidotr, pjdotr, pre1, pre2, pre3, pre4; + double tixcoul, tiycoul, tizcoul; + double fq, pdotp, pidotr, pjdotr, pre1, pre2, pre4; double forcelj, factor_coul, factor_lj; double presf, afac, bfac, pqfac, qpfac, forceljcut, forceljsf; double aforcecoulx, aforcecouly, aforcecoulz; @@ -233,7 +233,6 @@ void PairLJSFDipoleSFGPU::cpu_compute(int start, int inum, int eflag, int vflag, forcecoulx = forcecouly = forcecoulz = 0.0; tixcoul = tiycoul = tizcoul = 0.0; - tjxcoul = tjycoul = tjzcoul = 0.0; if (rsq < cut_coulsq[itype][jtype]) { @@ -272,7 +271,6 @@ void PairLJSFDipoleSFGPU::cpu_compute(int start, int inum, int eflag, int vflag, forcecoulz += 3.0 * r5inv * (aforcecoulz + bforcecoulz); pre2 = 3.0 * bfac * r5inv * pjdotr; - pre3 = 3.0 * bfac * r5inv * pidotr; pre4 = -bfac * r3inv; crossx = pre4 * (mu[i][1] * mu[j][2] - mu[i][2] * mu[j][1]); @@ -282,9 +280,6 @@ void PairLJSFDipoleSFGPU::cpu_compute(int start, int inum, int eflag, int vflag, tixcoul += crossx + pre2 * (mu[i][1] * delz - mu[i][2] * dely); tiycoul += crossy + pre2 * (mu[i][2] * delx - mu[i][0] * delz); tizcoul += crossz + pre2 * (mu[i][0] * dely - mu[i][1] * delx); - tjxcoul += -crossx + pre3 * (mu[j][1] * delz - mu[j][2] * dely); - tjycoul += -crossy + pre3 * (mu[j][2] * delx - mu[j][0] * delz); - tjzcoul += -crossz + pre3 * (mu[j][0] * dely - mu[j][1] * delx); } if (mu[i][3] > 0.0 && q[j] != 0.0) { @@ -318,9 +313,6 @@ void PairLJSFDipoleSFGPU::cpu_compute(int start, int inum, int eflag, int vflag, forcecoulx += pre1 * delx - pre2 * mu[j][0]; forcecouly += pre1 * dely - pre2 * mu[j][1]; forcecoulz += pre1 * delz - pre2 * mu[j][2]; - tjxcoul += -pre2 * (mu[j][1] * delz - mu[j][2] * dely); - tjycoul += -pre2 * (mu[j][2] * delx - mu[j][0] * delz); - tjzcoul += -pre2 * (mu[j][0] * dely - mu[j][1] * delx); } } From 9cf4f688d9a15bba43c2d2cd82166d4d69dd7780 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 20 Feb 2024 11:38:32 -0500 Subject: [PATCH 186/559] improve some explanations for KOKKOS package usage. --- doc/src/Speed_kokkos.rst | 64 ++++++++++++++++++++++++++++++---------- 1 file changed, 49 insertions(+), 15 deletions(-) diff --git a/doc/src/Speed_kokkos.rst b/doc/src/Speed_kokkos.rst index 1cae518f96..41ae4a4dfb 100644 --- a/doc/src/Speed_kokkos.rst +++ b/doc/src/Speed_kokkos.rst @@ -20,11 +20,28 @@ including Sikandar Mashayak (UIUC), Ray Shan (Sandia), and Dan Ibanez (Sandia). For more information on developing using Kokkos abstractions see the `Kokkos Wiki `_. -Kokkos currently provides support for 4 modes of execution (per MPI +.. note:: + + The Kokkos library is under active development and tracking the + availability of accelerator hardware, so is the KOKKOS package in + LAMMPS. This means that only a certain range of versions of the + Kokkos library are compatible with the KOKKOS package of a certain + range of LAMMPS versions. For that reason LAMMPS comes with a + bundled version of the Kokkos library that has been validated on + multiple platforms and may contain selected back-ported bug fixes + from upstream Kokkos versions. While it is possible to build LAMMPS + with an external version of Kokkos, it is untested and may result in + incorrect execution or crashes. + +Kokkos currently provides full support for 4 modes of execution (per MPI task). These are Serial (MPI-only for CPUs and Intel Phi), OpenMP -(threading for many-core CPUs and Intel Phi), CUDA (for NVIDIA -GPUs) and HIP (for AMD GPUs). You choose the mode at build time to -produce an executable compatible with a specific hardware. +(threading for many-core CPUs and Intel Phi), CUDA (for NVIDIA GPUs) and +HIP (for AMD GPUs). Additional modes (e.g. OpenMP target, Intel data +center GPUs) are under development. You choose the mode at build time +to produce an executable compatible with a specific hardware. + +The following compatibility notes have been last updated for LAMMPS +version 23 November 2023 and Kokkos version 4.2. .. admonition:: C++17 support :class: note @@ -54,22 +71,22 @@ produce an executable compatible with a specific hardware. :class: note Kokkos with CUDA currently implicitly assumes that the MPI library is - GPU-aware. This is not always the case, especially when using + GPU-aware. This is not always the case, especially when using pre-compiled MPI libraries provided by a Linux distribution. This is not a problem when using only a single GPU with a single MPI - rank. When running with multiple MPI ranks, you may see segmentation + rank. When running with multiple MPI ranks, you may see segmentation faults without GPU-aware MPI support. These can be avoided by adding the flags :doc:`-pk kokkos gpu/aware off ` to the LAMMPS command line or by using the command :doc:`package kokkos gpu/aware off ` in the input file. -.. admonition:: AMD GPU support +.. admonition:: Intel Data Center GPU support :class: note - To build with Kokkos the HIPCC compiler from the AMD ROCm software - version 3.5 or later is required. Supporting this Kokkos mode in - LAMMPS is still work in progress. Please contact the LAMMPS developers - if you run into problems. + Support for Kokkos with Intel Data Center GPU accelerators (formerly + known under the code name "Ponte Vecchio") in LAMMPS is still a work + in progress. Only a subset of the functionality works correctly. + Please contact the LAMMPS developers if you run into problems. Building LAMMPS with the KOKKOS package """"""""""""""""""""""""""""""""""""""" @@ -292,6 +309,10 @@ one or more nodes, each with two GPUs: settings. Experimenting with its options can provide a speed-up for specific calculations. For example: +.. code-block:: bash + + mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos newton on neigh half binsize 2.8 -in in.lj # Newton on, half neighbor list, set binsize = neighbor ghost cutoff + .. note:: The default binsize for :doc:`atom sorting ` on GPUs @@ -302,9 +323,15 @@ one or more nodes, each with two GPUs: frequent sorting than default (e.g. sorting every 100 time steps instead of 1000) may improve performance. -.. code-block:: bash +.. note:: - mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos newton on neigh half binsize 2.8 -in in.lj # Newton on, half neighbor list, set binsize = neighbor ghost cutoff + When running on GPUs with many MPI ranks (tens of thousands and + more), the creation of the atom map (required for molecular systems) + on the GPU can slow down significantly or run out of GPU memory and + thus slow down the whole calculation or cause a crash. You can use + the "-pk kokkos atom/map no" :doc:`command-line switch ` + of the :doc:`package kokkos atom/map no ` command to create + the atom map on the CPU instead. .. note:: @@ -416,15 +443,22 @@ Generally speaking, the following rules of thumb apply: performance of a KOKKOS style is a bit slower than the OPENMP package. * When running large number of atoms per GPU, KOKKOS is typically faster - than the GPU package when compiled for double precision. The benefit + than the GPU package when compiled for double precision. The benefit of using single or mixed precision with the GPU package depends significantly on the hardware in use and the simulated system and pair style. -* When running on Intel hardware, KOKKOS is not as fast as +* When running on Intel Phi hardware, KOKKOS is not as fast as the INTEL package, which is optimized for x86 hardware (not just from Intel) and compilation with the Intel compilers. The INTEL package also can increase the vector length of vector instructions by switching to single or mixed precision mode. +* The KOKKOS package by default assumes that you are using exactly one + MPI rank per GPU. When trying to use multiple MPI ranks per GPU it is + mandatory to enable `CUDA Multi-Process Service (MPS) + `_ to get good + performance. In this case it is better to not use all available + MPI ranks in order to avoid competing with the MPS daemon for + CPU resources. See the `Benchmark page `_ of the LAMMPS website for performance of the KOKKOS package on different From 4c0952dc70d3537e92e9a7e7c50a4befea61f094 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Tue, 20 Feb 2024 21:02:55 -0700 Subject: [PATCH 187/559] Doc file updates, reverting h_rate initialization --- doc/src/fix_deform.rst | 8 +- doc/src/fix_deform_pressure.rst | 659 ++++---------------------- src/EXTRA-FIX/fix_deform_pressure.cpp | 2 - src/fix_deform.cpp | 31 +- 4 files changed, 105 insertions(+), 595 deletions(-) diff --git a/doc/src/fix_deform.rst b/doc/src/fix_deform.rst index ee010f5645..c0ea50ae41 100644 --- a/doc/src/fix_deform.rst +++ b/doc/src/fix_deform.rst @@ -44,7 +44,7 @@ Syntax v_name1 = variable with name1 for box length change as function of time v_name2 = variable with name2 for change rate as function of time *xy*, *xz*, *yz* args = style value - style = *final* or *delta* or *vel* or *erate* or *trate* or *wiggle* + style = *final* or *delta* or *vel* or *erate* or *trate* or *wiggle* or *variable* *final* value = tilt tilt = tilt factor at end of run (distance units) *delta* value = dtilt @@ -95,7 +95,9 @@ Change the volume and/or shape of the simulation box during a dynamics run. Orthogonal simulation boxes have 3 adjustable parameters (x,y,z). Triclinic (non-orthogonal) simulation boxes have 6 adjustable parameters (x,y,z,xy,xz,yz). Any or all of them can be -adjusted independently and simultaneously by this command. +adjusted independently and simultaneously by this command. For +additional pressure-based controls, see +:doc:`fix deform/pressure `. This fix can be used to perform non-equilibrium MD (NEMD) simulations of a continuously strained system. See the :doc:`fix nvt/sllod ` and :doc:`compute temp/deform ` commands for more details. Note @@ -592,7 +594,7 @@ xy) that is shrink-wrapped via the :doc:`boundary ` command. Related commands """""""""""""""" -:doc:`change_box ` +:doc:`fix deform/pressure `, :doc:`change_box ` Default """"""" diff --git a/doc/src/fix_deform_pressure.rst b/doc/src/fix_deform_pressure.rst index d19e5fba7e..d45c10b351 100644 --- a/doc/src/fix_deform_pressure.rst +++ b/doc/src/fix_deform_pressure.rst @@ -1,10 +1,7 @@ -.. index:: fix deform -.. index:: fix deform/kk +.. index:: fix deform/pressure -fix deform command -================== - -Accelerator Variants: *deform/kk* +fix deform/pressure command +=========================== Syntax """""" @@ -20,58 +17,23 @@ Syntax .. parsed-literal:: - parameter = *x* or *y* or *z* or *xy* or *xz* or *yz* or *iso* + parameter = *x* or *y* or *z* or *xy* or *xz* or *yz* or *box* *x*, *y*, *z* args = style value(s) - style = *final* or *delta* or *scale* or *vel* or *erate* or *trate* or *volume* or *wiggle* or *variable* - *final* values = lo hi - lo hi = box boundaries at end of run (distance units) - *delta* values = dlo dhi - dlo dhi = change in box boundaries at end of run (distance units) - *scale* values = factor - factor = multiplicative factor for change in box length at end of run - *vel* value = V - V = change box length at this velocity (distance/time units), - effectively an engineering strain rate - *erate* value = R - R = engineering strain rate (1/time units) + style = *final* or *delta* or *scale* or *vel* or *erate* or *trate* or *volume* or *wiggle* or *variable* or *pressure* or *pressure/mean* *pressure* values = target gain target = target pressure (pressure units) gain = proportional gain constant (1/(time * pressure) or 1/time units) *pressure/mean* values = target gain target = target pressure (pressure units) gain = proportional gain constant (1/(time * pressure) or 1/time units) - *trate* value = R - R = true strain rate (1/time units) - *volume* value = none = adjust this dim to preserve volume of system - *wiggle* values = A Tp - A = amplitude of oscillation (distance units) - Tp = period of oscillation (time units) - *variable* values = v_name1 v_name2 - v_name1 = variable with name1 for box length change as function of time - v_name2 = variable with name2 for change rate as function of time + All other styles operate identically to those in :doc:`fix deform ` *xy*, *xz*, *yz* args = style value - style = *final* or *delta* or *vel* or *erate* or *trate* or *wiggle* - *final* value = tilt - tilt = tilt factor at end of run (distance units) - *delta* value = dtilt - dtilt = change in tilt factor at end of run (distance units) - *vel* value = V - V = change tilt factor at this velocity (distance/time units), - effectively an engineering shear strain rate - *erate* value = R - R = engineering shear strain rate (1/time units) + style = *final* or *delta* or *vel* or *erate* or *trate* or *wiggle* or *variable* or *pressure* *pressure* values = target gain target = target pressure (pressure units) gain = proportional gain constant (1/(time * pressure) or 1/time units) - *trate* value = R - R = true shear strain rate (1/time units) - *wiggle* values = A Tp - A = amplitude of oscillation (distance units) - Tp = period of oscillation (time units) - *variable* values = v_name1 v_name2 - v_name1 = variable with name1 for tilt change as function of time - v_name2 = variable with name2 for change rate as function of time - *iso* = style value + All other styles operate identically to those in :doc:`fix deform ` + *box* = style value style = *volume* or *pressure* *volume* value = none = isotropically adjust system to preserve volume of system *pressure* values = target gain @@ -83,15 +45,6 @@ Syntax .. parsed-literal:: - *remap* value = *x* or *v* or *none* - x = remap coords of atoms in group into deforming box - v = remap velocities of atoms in group when they cross periodic boundaries - none = no remapping of x or v - *flip* value = *yes* or *no* - allow or disallow box flips when it becomes highly skewed - *units* value = *lattice* or *box* - lattice = distances are defined in lattice units - box = distances are defined in simulation box units *couple* value = *none* or *xyz* or *xy* or *yz* or *xz* couple pressure values of various dimensions *vol/balance/p* value = *yes* or *no* @@ -100,232 +53,38 @@ Syntax rate = maximum strain rate for pressure control *normalize/pressure* value = *yes* or *no* Modifies pressure controls such that the deviation in pressure is normalized by the target pressure + All other options operate identically to those in :doc:`fix deform ` Examples """""""" .. code-block:: LAMMPS - fix 1 all deform 1 x final 0.0 9.0 z final 0.0 5.0 units box - fix 1 all deform 1 x trate 0.1 y volume z volume - fix 1 all deform 1 xy erate 0.001 remap v - fix 1 all deform 10 y delta -0.5 0.5 xz vel 1.0 - fix 1 all deform 1 x pressure 2.0 0.1 normalize/pressure yes max/rate 0.001 - fix 1 all deform 1 x trate 0.1 y volume z volume vol/balance/p yes - fix 1 all deform 1 x trate 0.1 y pressure/mean 0.0 1.0 z pressure/mean 0.0 1.0 + fix 1 all deform/pressure 1 x pressure 2.0 0.1 normalize/pressure yes max/rate 0.001 + fix 1 all deform/pressure 1 x trate 0.1 y volume z volume vol/balance/p yes + fix 1 all deform/pressure 1 x trate 0.1 y pressure/mean 0.0 1.0 z pressure/mean 0.0 1.0 Description """"""""""" -Change the volume and/or shape of the simulation box during a dynamics -run. Orthogonal simulation boxes have 3 adjustable parameters -(x,y,z). Triclinic (non-orthogonal) simulation boxes have 6 -adjustable parameters (x,y,z,xy,xz,yz). Any or all of them can be -adjusted independently and simultaneously by this command. - -This fix can be used to perform non-equilibrium MD (NEMD) simulations -of a continuously strained system. See the :doc:`fix nvt/sllod ` and :doc:`compute temp/deform ` commands for more details. Note -that simulation of a continuously extended system (extensional flow) -can be modeled using the :ref:`UEF package ` and its :doc:`fix commands `. - -For the *x*, *y*, *z* parameters, the associated dimension cannot be -shrink-wrapped. For the *xy*, *yz*, *xz* parameters, the associated -second dimension cannot be shrink-wrapped. Dimensions not varied by this -command can be periodic or non-periodic. Dimensions corresponding to -unspecified parameters can also be controlled by a :doc:`fix npt ` or :doc:`fix nph ` command. - -The size and shape of the simulation box at the beginning of the -simulation run were either specified by the -:doc:`create_box ` or :doc:`read_data ` or -:doc:`read_restart ` command used to setup the simulation -initially if it is the first run, or they are the values from the end -of the previous run. The :doc:`create_box `, :doc:`read data `, and :doc:`read_restart ` commands -specify whether the simulation box is orthogonal or non-orthogonal -(triclinic) and explain the meaning of the xy,xz,yz tilt factors. If -fix deform changes the xy,xz,yz tilt factors, then the simulation box -must be triclinic, even if its initial tilt factors are 0.0. - -As described below, the desired simulation box size and shape at the -end of the run are determined by the parameters of the fix deform -command. Every Nth timestep during the run, the simulation box is -expanded, contracted, or tilted to ramped values between the initial -and final values. +This fix is an extension of :doc:`fix deform `, inheriting +all of its features and adding new pressure-based controls to allow for +new deformation protocols. All details in :doc:`fix deform ` +apply to this fix unless otherwise noted. ---------- For the *x*, *y*, and *z* parameters, this is the meaning of their styles and values. -The *final*, *delta*, *scale*, *vel*, and *erate* styles all change -the specified dimension of the box via "constant displacement" which -is effectively a "constant engineering strain rate". This means the -box dimension changes linearly with time from its initial to final -value. +The *final*, *delta*, *scale*, *vel*, *erate*, *trate*, *volume*, +*wiggle*, and *variable* styles all behave identically to those in +:doc:`fix deform `. Additional styles are described below. -For style *final*, the final lo and hi box boundaries of a dimension -are specified. The values can be in lattice or box distance units. -See the discussion of the units keyword below. - -For style *delta*, plus or minus changes in the lo/hi box boundaries -of a dimension are specified. The values can be in lattice or box -distance units. See the discussion of the units keyword below. - -For style *scale*, a multiplicative factor to apply to the box length -of a dimension is specified. For example, if the initial box length -is 10, and the factor is 1.1, then the final box length will be 11. A -factor less than 1.0 means compression. - -For style *vel*, a velocity at which the box length changes is -specified in units of distance/time. This is effectively a "constant -engineering strain rate", where rate = V/L0 and L0 is the initial box -length. The distance can be in lattice or box distance units. See -the discussion of the units keyword below. For example, if the -initial box length is 100 Angstroms, and V is 10 Angstroms/ps, then -after 10 ps, the box length will have doubled. After 20 ps, it -will have tripled. - -The *erate* style changes a dimension of the box at a "constant -engineering strain rate". The units of the specified strain rate are -1/time. See the :doc:`units ` command for the time units -associated with different choices of simulation units, -e.g. picoseconds for "metal" units). Tensile strain is unitless and -is defined as delta/L0, where L0 is the original box length and delta -is the change relative to the original length. The box length L as a -function of time will change as - -.. parsed-literal:: - - L(t) = L0 (1 + erate\*dt) - -where dt is the elapsed time (in time units). Thus if *erate* R is -specified as 0.1 and time units are picoseconds, this means the box -length will increase by 10% of its original length every picosecond. -I.e. strain after 1 ps = 0.1, strain after 2 ps = 0.2, etc. R = --0.01 means the box length will shrink by 1% of its original length -every picosecond. Note that for an "engineering" rate the change is -based on the original box length, so running with R = 1 for 10 -picoseconds expands the box length by a factor of 11 (strain of 10), -which is different that what the *trate* style would induce. - -The *trate* style changes a dimension of the box at a "constant true -strain rate". Note that this is not an "engineering strain rate", as -the other styles are. Rather, for a "true" rate, the rate of change -is constant, which means the box dimension changes non-linearly with -time from its initial to final value. The units of the specified -strain rate are 1/time. See the :doc:`units ` command for the -time units associated with different choices of simulation units, -e.g. picoseconds for "metal" units). Tensile strain is unitless and -is defined as delta/L0, where L0 is the original box length and delta -is the change relative to the original length. - -The box length L as a function of time will change as - -.. parsed-literal:: - - L(t) = L0 exp(trate\*dt) - -where dt is the elapsed time (in time units). Thus if *trate* R is -specified as ln(1.1) and time units are picoseconds, this means the -box length will increase by 10% of its current (not original) length -every picosecond. I.e. strain after 1 ps = 0.1, strain after 2 ps -= 0.21, etc. R = ln(2) or ln(3) means the box length will double or -triple every picosecond. R = ln(0.99) means the box length will -shrink by 1% of its current length every picosecond. Note that for a -"true" rate the change is continuous and based on the current length, -so running with R = ln(2) for 10 picoseconds does not expand the box -length by a factor of 11 as it would with *erate*, but by a factor of -1024 since the box length will double every picosecond. - -Note that to change the volume (or cross-sectional area) of the -simulation box at a constant rate, you can change multiple dimensions -via *erate* or *trate*\ . E.g. to double the box volume in a picosecond -picosecond, you could set "x erate M", "y erate M", "z erate M", with -M = pow(2,1/3) - 1 = 0.26, since if each box dimension grows by 26%, -the box volume doubles. Or you could set "x trate M", "y trate M", "z -trate M", with M = ln(1.26) = 0.231, and the box volume would double -every picosecond. - -The *volume* style changes the specified dimension in such a way that -the box volume remains constant while other box dimensions are changed -explicitly via the styles discussed above. For example, "x scale 1.1 -y scale 1.1 z volume" will shrink the z box length as the x,y box -lengths increase, to keep the volume constant (product of x,y,z -lengths). If "x scale 1.1 z volume" is specified and parameter *y* is -unspecified, then the z box length will shrink as x increases to keep -the product of x,z lengths constant. If "x scale 1.1 y volume z -volume" is specified, then both the y,z box lengths will shrink as x -increases to keep the volume constant (product of x,y,z lengths). In -this case, the y,z box lengths shrink so as to keep their relative -aspect ratio constant. When maintaining a constant volume using two -separate dimensions, one can alternatively allow the two dimensions -to adjust their aspect ratio to attempt to maintain equivalent -pressures along the two dimensions. See the -:ref:`vol/balance/p ` option for more details. - -For solids or liquids, note that when one dimension of the box is -expanded via fix deform (i.e. tensile strain), it may be physically -undesirable to hold the other 2 box lengths constant (unspecified by -fix deform) since that implies a density change. Using the *volume* -style for those 2 dimensions to keep the box volume constant may make -more physical sense, but may also not be correct for materials and -potentials whose Poisson ratio is not 0.5. An alternative is to use -:doc:`fix npt aniso ` with zero applied pressure on those 2 -dimensions, so that they respond to the tensile strain dynamically. - -The *wiggle* style oscillates the specified box length dimension -sinusoidally with the specified amplitude and period. I.e. the box -length L as a function of time is given by - -.. parsed-literal:: - - L(t) = L0 + A sin(2\*pi t/Tp) - -where L0 is its initial length. If the amplitude A is a positive -number the box initially expands, then contracts, etc. If A is -negative then the box initially contracts, then expands, etc. The -amplitude can be in lattice or box distance units. See the discussion -of the units keyword below. - -The *variable* style changes the specified box length dimension by -evaluating a variable, which presumably is a function of time. The -variable with *name1* must be an :doc:`equal-style variable ` -and should calculate a change in box length in units of distance. -Note that this distance is in box units, not lattice units; see the -discussion of the *units* keyword below. The formula associated with -variable *name1* can reference the current timestep. Note that it -should return the "change" in box length, not the absolute box length. -This means it should evaluate to 0.0 when invoked on the initial -timestep of the run following the definition of fix deform. It should -evaluate to a value > 0.0 to dilate the box at future times, or a -value < 0.0 to compress the box. - -The variable *name2* must also be an :doc:`equal-style variable ` and should calculate the rate of box length -change, in units of distance/time, i.e. the time-derivative of the -*name1* variable. This quantity is used internally by LAMMPS to reset -atom velocities when they cross periodic boundaries. It is computed -internally for the other styles, but you must provide it when using an -arbitrary variable. - -Here is an example of using the *variable* style to perform the same -box deformation as the *wiggle* style formula listed above, where we -assume that the current timestep = 0. - -.. code-block:: LAMMPS - - variable A equal 5.0 - variable Tp equal 10.0 - variable displace equal "v_A * sin(2*PI * step*dt/v_Tp)" - variable rate equal "2*PI*v_A/v_Tp * cos(2*PI * step*dt/v_Tp)" - fix 2 all deform 1 x variable v_displace v_rate remap v - -For the *scale*, *vel*, *erate*, *trate*, *volume*, *wiggle*, and -*variable* styles, the box length is expanded or compressed around its -mid point. - -The *pressure* style adjusts a dimensions's box length to control that -component of the pressure tensor. This option attempts to maintain a -specified target value using a linear controller where the box length -:math:`L` evolves according to the equation +The *pressure* style adjusts a dimension's box length to control the +corresponding component of the pressure tensor. This option attempts to +maintain a specified target pressure using a linear controller where the +box length :math:`L` evolves according to the equation .. parsed-literal:: @@ -338,163 +97,43 @@ approach is similar to the method used to control the pressure by accepts either a constant numeric value or a LAMMPS :ref:`variable `. Notably, this variable can be a function of time or other components of the pressure tensor. By default, :math:`k` has units of 1/(time * pressure) -although this will change if the *normalize/pessure* option is set as +although this will change if the *normalize/pressure* option is set as :ref:`discussed below `. There is no proven method to choosing an appropriate value of :math:`k` as it will depend on the -specific details of a simulation and testing different values is -recommended. One can also apply a maximum limit to the magnitude of the -applied strain using the :ref:`max/rate ` option and couple -pressures in different dimensions using the :ref:`couple ` -option. +specific details of a simulation. Testing different values is recommended. + +By default, there is no limit on the resulting strain rate in any dimension. +A maximum limit can be applied using the :ref:`max/rate ` +option. Akin to :ref:`fix nh `, pressures in different dimensions +can be coupled using the :ref:`couple ` option. This means +the instantaneous pressure along coupled dimensions are averaged and the box +strains identically along the coupled dimensions. The *pressure/mean* style changes a dimension's box length to maintain a constant mean pressure defined as the trace of the pressure tensor. -This option is therefore very similar to the *pressure* style with -identical arguments except the current and target pressures refer to the +This option has identical arguments to the *pressure* style and a similar +functional equation, except the current and target pressures refer to the mean trace of the pressure tensor. All options for the *pressure* style also apply to the *pressure/mean* style except for the :ref:`couple ` option. +Note that while this style can be identical to coupled *pressure* styles, +it is generally not the same. For instance in 2D, a coupled *pressure* +style in the *x* and *y* dimensions would be equivalent to using the +*pressure/mean* style with identical settings in each dimension. However, +it would not be the same if settings (e.g. gain constants) were used in +the *x* and *y* dimensions or if the *pressure/mean* command was only applied +along one dimension. + ---------- For the *xy*, *xz*, and *yz* parameters, this is the meaning of their styles and values. Note that changing the tilt factors of a triclinic box does not change its volume. -The *final*, *delta*, *vel*, and *erate* styles all change the shear -strain at a "constant engineering shear strain rate". This means the -tilt factor changes linearly with time from its initial to final -value. - -For style *final*, the final tilt factor is specified. The value -can be in lattice or box distance units. See the discussion of the -units keyword below. - -For style *delta*, a plus or minus change in the tilt factor is -specified. The value can be in lattice or box distance units. See -the discussion of the units keyword below. - -For style *vel*, a velocity at which the tilt factor changes is -specified in units of distance/time. This is effectively an -"engineering shear strain rate", where rate = V/L0 and L0 is the -initial box length perpendicular to the direction of shear. The -distance can be in lattice or box distance units. See the discussion -of the units keyword below. For example, if the initial tilt factor -is 5 Angstroms, and the V is 10 Angstroms/ps, then after 1 ps, the -tilt factor will be 15 Angstroms. After 2 ps, it will be 25 -Angstroms. - -The *erate* style changes a tilt factor at a "constant engineering -shear strain rate". The units of the specified shear strain rate are -1/time. See the :doc:`units ` command for the time units -associated with different choices of simulation units, -e.g. picoseconds for "metal" units). Shear strain is unitless and is -defined as offset/length, where length is the box length perpendicular -to the shear direction (e.g. y box length for xy deformation) and -offset is the displacement distance in the shear direction (e.g. x -direction for xy deformation) from the unstrained orientation. - -The tilt factor T as a function of time will change as - -.. parsed-literal:: - - T(t) = T0 + L0\*erate\*dt - -where T0 is the initial tilt factor, L0 is the original length of the -box perpendicular to the shear direction (e.g. y box length for xy -deformation), and dt is the elapsed time (in time units). Thus if -*erate* R is specified as 0.1 and time units are picoseconds, this -means the shear strain will increase by 0.1 every picosecond. I.e. if -the xy shear strain was initially 0.0, then strain after 1 ps = 0.1, -strain after 2 ps = 0.2, etc. Thus the tilt factor would be 0.0 at -time 0, 0.1\*ybox at 1 ps, 0.2\*ybox at 2 ps, etc, where ybox is the -original y box length. R = 1 or 2 means the tilt factor will increase -by 1 or 2 every picosecond. R = -0.01 means a decrease in shear -strain by 0.01 every picosecond. - -The *trate* style changes a tilt factor at a "constant true shear -strain rate". Note that this is not an "engineering shear strain -rate", as the other styles are. Rather, for a "true" rate, the rate -of change is constant, which means the tilt factor changes -non-linearly with time from its initial to final value. The units of -the specified shear strain rate are 1/time. See the -:doc:`units ` command for the time units associated with -different choices of simulation units, e.g. picoseconds for "metal" -units). Shear strain is unitless and is defined as offset/length, -where length is the box length perpendicular to the shear direction -(e.g. y box length for xy deformation) and offset is the displacement -distance in the shear direction (e.g. x direction for xy deformation) -from the unstrained orientation. - -The tilt factor T as a function of time will change as - -.. parsed-literal:: - - T(t) = T0 exp(trate\*dt) - -where T0 is the initial tilt factor and dt is the elapsed time (in -time units). Thus if *trate* R is specified as ln(1.1) and time units -are picoseconds, this means the shear strain or tilt factor will -increase by 10% every picosecond. I.e. if the xy shear strain was -initially 0.1, then strain after 1 ps = 0.11, strain after 2 ps = -0.121, etc. R = ln(2) or ln(3) means the tilt factor will double or -triple every picosecond. R = ln(0.99) means the tilt factor will -shrink by 1% every picosecond. Note that the change is continuous, so -running with R = ln(2) for 10 picoseconds does not change the tilt -factor by a factor of 10, but by a factor of 1024 since it doubles -every picosecond. Note that the initial tilt factor must be non-zero -to use the *trate* option. - -Note that shear strain is defined as the tilt factor divided by the -perpendicular box length. The *erate* and *trate* styles control the -tilt factor, but assume the perpendicular box length remains constant. -If this is not the case (e.g. it changes due to another fix deform -parameter), then this effect on the shear strain is ignored. - -The *wiggle* style oscillates the specified tilt factor sinusoidally -with the specified amplitude and period. I.e. the tilt factor T as a -function of time is given by - -.. parsed-literal:: - - T(t) = T0 + A sin(2\*pi t/Tp) - -where T0 is its initial value. If the amplitude A is a positive -number the tilt factor initially becomes more positive, then more -negative, etc. If A is negative then the tilt factor initially -becomes more negative, then more positive, etc. The amplitude can be -in lattice or box distance units. See the discussion of the units -keyword below. - -The *variable* style changes the specified tilt factor by evaluating a -variable, which presumably is a function of time. The variable with -*name1* must be an :doc:`equal-style variable ` and should -calculate a change in tilt in units of distance. Note that this -distance is in box units, not lattice units; see the discussion of the -*units* keyword below. The formula associated with variable *name1* -can reference the current timestep. Note that it should return the -"change" in tilt factor, not the absolute tilt factor. This means it -should evaluate to 0.0 when invoked on the initial timestep of the run -following the definition of fix deform. - -The variable *name2* must also be an :doc:`equal-style variable ` and should calculate the rate of tilt change, -in units of distance/time, i.e. the time-derivative of the *name1* -variable. This quantity is used internally by LAMMPS to reset atom -velocities when they cross periodic boundaries. It is computed -internally for the other styles, but you must provide it when using an -arbitrary variable. - -Here is an example of using the *variable* style to perform the same -box deformation as the *wiggle* style formula listed above, where we -assume that the current timestep = 0. - -.. code-block:: LAMMPS - - variable A equal 5.0 - variable Tp equal 10.0 - variable displace equal "v_A * sin(2*PI * step*dt/v_Tp)" - variable rate equal "2*PI*v_A/v_Tp * cos(2*PI * step*dt/v_Tp)" - fix 2 all deform 1 xy variable v_displace v_rate remap v +The *final*, *delta*, *vel*, *erate*, *trate*, *wiggle*, and *variable* +styles all behave identically to those in :doc:`fix deform `. +Additional styles are described below. The *pressure* style adjusts a tilt factor to control the corresponding off-diagonal component of the pressure tensor. This option attempts to @@ -519,155 +158,42 @@ of the applied strain using the :ref:`max/rate ` option. ---------- -The *iso* parameter provides an additonal control over the x, y, -and z box lengths. This parameter can only be used in combination with -the *x*, *y*, or *z* comamnds: *vel*, *erate*, *trate*, *pressure*, or -*wiggle*. Note that this parameter will change the overall strain rate in -the *x*, *y*, or *z* dimensions. This is the meaning of its styles and values. +The *box* parameter provides an additonal control over the *x*, *y*, +and *z* box lengths by isotropically dilating or contracting the box to +either maintain a fixed mean pressure or volume. This isotropic scaling +is applied after the box is deformed by the above *x*, *y*, *z*, *xy*, +*xz*, and *yz* styles, acting as a second deformation step. This parameter +will change the overall strain rate in the *x*, *y*, or *z* dimensions. +This parameter can only be used in combination with the *x*, *y*, or *z* +commands: *vel*, *erate*, *trate*, *pressure*, or *wiggle*. This is the meaning +of its styles and values. The *volume* style isotropically scales box lengths to maintain a constant -box volume in response to deformation from other parameters. +box volume in response to deformation from other parameters. This style +may be useful in scenarios where one wants to apply a constant deviatoric +pressure using *pressure* styles in the *x*, *y*, and *z* dimensions ( +deforming the shape of the box), while maintaining a constant volume. -The *pressure* style controls the box volume to maintain the mean pressure -of the system. This is accomplished by isotropically scaling all box -lengths :math:`L` by an additional factor of :math:`k (P_t - P_m)` where -:math:`k` is the proportional gain constant, :math:`P_t` is the target -pressure, and :math:`P_m` is the current mean pressure (the trace of the -pressure tensor). This style allows one to control the deviatoric strain -tensor while maintaining a fixed mean pressure. +The *pressure* style isotropically scales box lengths in an attempt to +maintain a target mean pressure (the trace of the pressure tensor) of the +system. This is accomplished by isotropically scaling all box lengths +:math:`L` by an additional factor of :math:`k (P_t - P_m)` where :math:`k` +is the proportional gain constant, :math:`P_t` is the target pressure, and +:math:`P_m` is the current mean pressure. This style may be useful in +scenarios where one wants to apply a constant deviatoric strain rate +using various strain-based styles (e.g. *trate*) along the *x*, *y*, and *z* +dimensions (deforming the shape of the box), while maintaining a mean pressure. ---------- -All of the tilt styles change the xy, xz, yz tilt factors during a -simulation. In LAMMPS, tilt factors (xy,xz,yz) for triclinic boxes -are normally bounded by half the distance of the parallel box length. -See the discussion of the *flip* keyword below, to allow this bound to -be exceeded, if desired. - -For example, if xlo = 2 and xhi = 12, then the x box length is 10 and -the xy tilt factor must be between -5 and 5. Similarly, both xz and -yz must be between -(xhi-xlo)/2 and +(yhi-ylo)/2. Note that this is -not a limitation, since if the maximum tilt factor is 5 (as in this -example), then configurations with tilt = ..., -15, -5, 5, 15, 25, -... are all equivalent. - -To obey this constraint and allow for large shear deformations to be -applied via the *xy*, *xz*, or *yz* parameters, the following -algorithm is used. If *prd* is the associated parallel box length (10 -in the example above), then if the tilt factor exceeds the accepted -range of -5 to 5 during the simulation, then the box is flipped to the -other limit (an equivalent box) and the simulation continues. Thus -for this example, if the initial xy tilt factor was 0.0 and "xy final -100.0" was specified, then during the simulation the xy tilt factor -would increase from 0.0 to 5.0, the box would be flipped so that the -tilt factor becomes -5.0, the tilt factor would increase from -5.0 to -5.0, the box would be flipped again, etc. The flip occurs 10 times -and the final tilt factor at the end of the simulation would be 0.0. -During each flip event, atoms are remapped into the new box in the -appropriate manner. - -The one exception to this rule is if the first dimension in the tilt -factor (x for xy) is non-periodic. In that case, the limits on the -tilt factor are not enforced, since flipping the box in that dimension -does not change the atom positions due to non-periodicity. In this -mode, if you tilt the system to extreme angles, the simulation will -simply become inefficient due to the highly skewed simulation box. - ----------- - -Each time the box size or shape is changed, the *remap* keyword -determines whether atom positions are remapped to the new box. If -*remap* is set to *x* (the default), atoms in the fix group are -remapped; otherwise they are not. Note that their velocities are not -changed, just their positions are altered. If *remap* is set to *v*, -then any atom in the fix group that crosses a periodic boundary will -have a delta added to its velocity equal to the difference in -velocities between the lo and hi boundaries. Note that this velocity -difference can include tilt components, e.g. a delta in the x velocity -when an atom crosses the y periodic boundary. If *remap* is set to -*none*, then neither of these remappings take place. - -Conceptually, setting *remap* to *x* forces the atoms to deform via an -affine transformation that exactly matches the box deformation. This -setting is typically appropriate for solids. Note that though the -atoms are effectively "moving" with the box over time, it is not due -to their having a velocity that tracks the box change, but only due to -the remapping. By contrast, setting *remap* to *v* is typically -appropriate for fluids, where you want the atoms to respond to the -change in box size/shape on their own and acquire a velocity that -matches the box change, so that their motion will naturally track the -box without explicit remapping of their coordinates. - -.. note:: - - When non-equilibrium MD (NEMD) simulations are performed using - this fix, the option "remap v" should normally be used. This is - because :doc:`fix nvt/sllod ` adjusts the atom positions - and velocities to induce a velocity profile that matches the changing - box size/shape. Thus atom coordinates should NOT be remapped by fix - deform, but velocities SHOULD be when atoms cross periodic boundaries, - since that is consistent with maintaining the velocity profile already - created by fix nvt/sllod. LAMMPS will warn you if the *remap* setting - is not consistent with fix nvt/sllod. - -.. note:: - - For non-equilibrium MD (NEMD) simulations using "remap v" it is - usually desirable that the fluid (or flowing material, e.g. granular - particles) stream with a velocity profile consistent with the - deforming box. As mentioned above, using a thermostat such as :doc:`fix nvt/sllod ` or :doc:`fix lavgevin ` - (with a bias provided by :doc:`compute temp/deform `), will typically accomplish - that. If you do not use a thermostat, then there is no driving force - pushing the atoms to flow in a manner consistent with the deforming - box. E.g. for a shearing system the box deformation velocity may vary - from 0 at the bottom to 10 at the top of the box. But the stream - velocity profile of the atoms may vary from -5 at the bottom to +5 at - the top. You can monitor these effects using the :doc:`fix ave/chunk `, :doc:`compute temp/deform `, and :doc:`compute temp/profile ` commands. One way to induce - atoms to stream consistent with the box deformation is to give them an - initial velocity profile, via the :doc:`velocity ramp ` - command, that matches the box deformation rate. This also typically - helps the system come to equilibrium more quickly, even if a - thermostat is used. - -.. note:: - - If a :doc:`fix rigid ` is defined for rigid bodies, and - *remap* is set to *x*, then the center-of-mass coordinates of rigid - bodies will be remapped to the changing simulation box. This will be - done regardless of whether atoms in the rigid bodies are in the fix - deform group or not. The velocity of the centers of mass are not - remapped even if *remap* is set to *v*, since :doc:`fix nvt/sllod ` does not currently do anything special - for rigid particles. If you wish to perform a NEMD simulation of - rigid particles, you can either thermostat them independently or - include a background fluid and thermostat the fluid via :doc:`fix nvt/sllod `. - -The *flip* keyword allows the tilt factors for a triclinic box to -exceed half the distance of the parallel box length, as discussed -above. If the *flip* value is set to *yes*, the bound is enforced by -flipping the box when it is exceeded. If the *flip* value is set to -*no*, the tilt will continue to change without flipping. Note that if -you apply large deformations, this means the box shape can tilt -dramatically LAMMPS will run less efficiently, due to the large volume -of communication needed to acquire ghost atoms around a processor's -irregular-shaped sub-domain. For extreme values of tilt, LAMMPS may -also lose atoms and generate an error. - -The *units* keyword determines the meaning of the distance units used -to define various arguments. A *box* value selects standard distance -units as defined by the :doc:`units ` command, e.g. Angstroms for -units = real or metal. A *lattice* value means the distance units are -in lattice spacings. The :doc:`lattice ` command must have -been previously used to define the lattice spacing. Note that the -units choice also affects the *vel* style parameters since it is -defined in terms of distance/time. Also note that the units keyword -does not affect the *variable* style. You should use the *xlat*, -*ylat*, *zlat* keywords of the :doc:`thermo_style ` -command if you want to include lattice spacings in a variable formula. +The *flip*, *remap*, and *units* keywords all behave identically +to those in :doc:`fix deform `. Additional optional +keywords are described below. .. _deform_normalize: The *normalize/pressure* keyword changes how box dimensions evolve when -using the *pressure* or *pressure/mean* deformation options. If the +using the *pressure* or *pressure/mean* deformation styles. If the *deform/normalize* value is set to *yes*, then the deviation from the target pressure is normalized by the absolute value of the target pressure such that the proportional gain constant scales a percentage @@ -680,7 +206,7 @@ described below, which will cap the divergence. The *max/rate* keyword sets an upper threshold, *rate*, that limits the maximum magnitude of the instantaneous strain rate applied in any dimension. This keyword only applies to the *pressure* and *pressure/mean* options. If -a pressure-controlled rate is used for both *iso* and either *x*, *y*, or +a pressure-controlled rate is used for both *box* and either *x*, *y*, or *z*, then this threshold will apply separately to each individual controller such that the cumulative strain rate on a box dimension may be up to twice the value of *rate*. @@ -695,15 +221,17 @@ are coupled. *Xyz* means all 3 diagonal components are coupled. Coupling means two things: the instantaneous stress will be computed as an average of the corresponding diagonal components, and the coupled box dimensions will be changed together in lockstep, meaning coupled dimensions will be -dilated or contracted by the same percentage every timestep. The target -pressures and gain constants for any coupled dimensions must be identical. -*Couple xyz* can be used for a 2d simulation; the *z* dimension is simply -ignored. +dilated or contracted by the same percentage every timestep. If a *pressure* +style is defined for more than one coupled dimension, the target pressures +and gain constants must be identical. Alternatively, if a *pressure* +style is only defined for one of the coupled dimensions, its settings are +copied to other dimensions with undefined styles. *Couple xyz* can be used +for a 2d simulation; the *z* dimension is simply ignored. .. _deform_balance: -The *vol/balance/p* keyword modifies the behavior of *volume* when two -dimensions are used to maintain a fixed volume. Instead of straining +The *vol/balance/p* keyword modifies the behavior of the *volume* style when +applied to two of the *x*, *y*, and *z* dimensions. Instead of straining the two dimensions in lockstep, the two dimensions are allowed to separately dilate or contract in a manner to maintain a constant volume while simultaneously trying to keep the pressure along each @@ -735,27 +263,22 @@ or pressure during thermodynamic output via the compute-ID. It also means that changing attributes of *thermo_temp* or *thermo_press* will have no effect on this fix. ----------- - -.. include:: accel_styles.rst - Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" This fix will restore the initial box settings from :doc:`binary restart files `, which allows the fix to be properly continue deformation, when using the start/stop options of the :doc:`run ` -command. None of the :doc:`fix_modify ` options are -relevant to this fix. No global or per-atom quantities are stored by -this fix for access by various :doc:`output commands `. +command. No global or per-atom quantities are stored by this fix for access +by various :doc:`output commands `. If any pressure controls are used, the :doc:`fix_modify ` *temp* -and *press* options are supported by this fix. You can use them to assign a -:doc:`compute ` you have defined to this fix which will be used -in its temperature and pressure calculations. If you do this, note -that the kinetic energy derived from the compute temperature should be -consistent with the virial term computed using all atoms for the -pressure. LAMMPS will warn you if you choose to compute temperature -on a subset of atoms. +and *press* options are supported by this fix, unklike in :doc:`fix deform `. +You can use them to assign a :doc:`compute ` you have defined to +this fix which will be used in its temperature and pressure calculations. +If you do this, note that the kinetic energy derived from the compute +temperature should be consistent with the virial term computed using all +atoms for the pressure. LAMMPS will warn you if you choose to compute +temperature on a subset of atoms. This fix can perform deformation over multiple runs, using the *start* and *stop* keywords of the :doc:`run ` command. See the @@ -775,7 +298,7 @@ xy) that is shrink-wrapped via the :doc:`boundary ` command. Related commands """""""""""""""" -:doc:`change_box ` +:doc:`fix deform `, :doc:`change_box ` Default """"""" diff --git a/src/EXTRA-FIX/fix_deform_pressure.cpp b/src/EXTRA-FIX/fix_deform_pressure.cpp index 26dd85b78b..5eafebc9de 100644 --- a/src/EXTRA-FIX/fix_deform_pressure.cpp +++ b/src/EXTRA-FIX/fix_deform_pressure.cpp @@ -794,8 +794,6 @@ void FixDeformPressure::write_restart(FILE *fp) if (comm->me == 0) { int size = 9 * sizeof(double) + 7 * sizeof(Set) + 7 * sizeof(SetExtra); fwrite(&size, sizeof(int), 1, fp); - fwrite(h_rate, sizeof(double), 6, fp); - fwrite(h_ratelo, sizeof(double), 3, fp); fwrite(set, sizeof(Set), 6, fp); fwrite(&set_box, sizeof(Set), 1, fp); fwrite(set_extra, sizeof(SetExtra), 7, fp); diff --git a/src/fix_deform.cpp b/src/fix_deform.cpp index 4b774b79d3..6a585d8b26 100644 --- a/src/fix_deform.cpp +++ b/src/fix_deform.cpp @@ -372,16 +372,6 @@ irregular(nullptr), set(nullptr) if (force_reneighbor) irregular = new Irregular(lmp); else irregular = nullptr; - - // initialize all rates to 0.0 in constructor instead of init so values persist - // across run statements and ghosts have correct velocities until the destructor - h_rate = domain->h_rate; - h_ratelo = domain->h_ratelo; - - for (int i = 0; i < 3; i++) - h_rate[i] = h_ratelo[i] = 0.0; - for (int i = 3; i < 6; i++) - h_rate[i] = 0.0; } /* ---------------------------------------------------------------------- */ @@ -597,13 +587,18 @@ void FixDeform::init() } // set domain->h_rate values for use by domain and other fixes/computes + // initialize all rates to 0.0 // cannot set here for TRATE,VOLUME,WIGGLE,VARIABLE since not constant + h_rate = domain->h_rate; + h_ratelo = domain->h_ratelo; + for (int i = 0; i < 3; i++) { + h_rate[i] = h_ratelo[i] = 0.0; if (set[i].style == FINAL || set[i].style == DELTA || set[i].style == SCALE || set[i].style == VEL || set[i].style == ERATE) { - double dlo_dt,dhi_dt; + double dlo_dt, dhi_dt; if (delt != 0.0) { dlo_dt = (set[i].lo_stop - set[i].lo_start) / delt; dhi_dt = (set[i].hi_stop - set[i].hi_start) / delt; @@ -614,6 +609,7 @@ void FixDeform::init() } for (int i = 3; i < 6; i++) { + h_rate[i] = 0.0; if (set[i].style == FINAL || set[i].style == DELTA || set[i].style == VEL || set[i].style == ERATE) { if (delt != 0.0) @@ -961,10 +957,8 @@ void FixDeform::update_domain() void FixDeform::write_restart(FILE *fp) { if (comm->me == 0) { - int size = 9 * sizeof(double) + 6 * sizeof(Set); + int size = 6 * sizeof(Set); fwrite(&size, sizeof(int), 1, fp); - fwrite(h_rate, sizeof(double), 6, fp); - fwrite(h_ratelo, sizeof(double), 3, fp); fwrite(set, sizeof(Set), 6, fp); } } @@ -975,15 +969,8 @@ void FixDeform::write_restart(FILE *fp) void FixDeform::restart(char *buf) { - int n = 0; - auto list = (double *) buf; - for (int i = 0; i < 6; i++) - h_rate[i] = list[n++]; - for (int i = 0; i < 3; i++) - h_ratelo[i] = list[n++]; - int samestyle = 1; - Set *set_restart = (Set *) &buf[n * sizeof(double)]; + Set *set_restart = (Set *) buf; for (int i = 0; i < 6; ++i) { // restore data from initial state set[i].lo_initial = set_restart[i].lo_initial; From 16b631858f99ba44eb945e97d5b236c054a9329e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 21 Feb 2024 10:02:01 -0500 Subject: [PATCH 188/559] fix typo --- cmake/presets/kokkos-cuda.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/presets/kokkos-cuda.cmake b/cmake/presets/kokkos-cuda.cmake index 3205387044..878ce0c566 100644 --- a/cmake/presets/kokkos-cuda.cmake +++ b/cmake/presets/kokkos-cuda.cmake @@ -10,7 +10,7 @@ get_filename_component(NVCC_WRAPPER_CMD ${CMAKE_CURRENT_SOURCE_DIR}/../lib/kokko set(CMAKE_CXX_COMPILER ${NVCC_WRAPPER_CMD} CACHE FILEPATH "" FORCE) # If KSPACE is also enabled, use CUFFT for FFTs -set(FFT_KOKKOS "CUFFT" CACHE STRING FORCE) +set(FFT_KOKKOS "CUFFT" CACHE STRING "" FORCE) # hide deprecation warnings temporarily for stable release set(Kokkos_ENABLE_DEPRECATION_WARNINGS OFF CACHE BOOL "" FORCE) From e143bbb4dd69f4e6aabd86374d5f6f7daf3e28b8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 21 Feb 2024 10:49:31 -0500 Subject: [PATCH 189/559] use a more "CMake" way to link to cuFFT with check in CMake config run --- cmake/Modules/Packages/KOKKOS.cmake | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cmake/Modules/Packages/KOKKOS.cmake b/cmake/Modules/Packages/KOKKOS.cmake index ce55c83b08..fa2201c595 100644 --- a/cmake/Modules/Packages/KOKKOS.cmake +++ b/cmake/Modules/Packages/KOKKOS.cmake @@ -139,8 +139,9 @@ if(PKG_KSPACE) message(WARNING "Using KISS FFT with the CUDA backend of Kokkos may be sub-optimal.") target_compile_definitions(lammps PRIVATE -DFFT_KOKKOS_KISS) elseif(FFT_KOKKOS STREQUAL "CUFFT") + find_library(CUFFT_LIBRARY cufft) target_compile_definitions(lammps PRIVATE -DFFT_KOKKOS_CUFFT) - target_link_libraries(lammps PRIVATE cufft) + target_link_libraries(lammps PRIVATE ${CUFFT_LIBRARY}) endif() elseif(Kokkos_ENABLE_HIP) if(NOT ((FFT_KOKKOS STREQUAL "KISS") OR (FFT_KOKKOS STREQUAL "HIPFFT"))) From e20ea968b930184bec9eb0d273caee48026f88fc Mon Sep 17 00:00:00 2001 From: Vladislav Galigerov Date: Wed, 21 Feb 2024 20:49:19 +0300 Subject: [PATCH 190/559] Add some clarifications to the doc --- doc/src/fix_wall_flow.rst | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/doc/src/fix_wall_flow.rst b/doc/src/fix_wall_flow.rst index 5fc9f5367c..b40ba9697f 100644 --- a/doc/src/fix_wall_flow.rst +++ b/doc/src/fix_wall_flow.rst @@ -66,7 +66,10 @@ N+1 walls. Each time a particle in the specified group passes through one of the transparent walls, its velocity is re-assigned. Particles not in the -group do not interact with the wall. +group do not interact with the wall. This can be used, for example, to +add obstacles composed of atoms, or to simulate a solution of complex +molecules in a one-atom liquid (note that the fix has been tested for +one-atom systems only). Conceptually, the velocity re-assignment represents creation of a new particle within the system with simultaneous removal of the particle @@ -147,6 +150,10 @@ if LAMMPS was built with that package. See the :doc:`Build package Flow boundary conditions should not be used with rigid bodies such as those defined by a "fix rigid" command. +This fix can only be used with periodic boundary conditions along the +flow axis. The size of the box in this direction must not change. Also, +the fix is designed to work only in an orthogonal simulation box. + Related commands """""""""""""""" From 0f34c1ec6e49dbc34c398b142db88259b550f701 Mon Sep 17 00:00:00 2001 From: Vladislav Galigerov Date: Wed, 21 Feb 2024 21:16:21 +0300 Subject: [PATCH 191/559] Add check for triclinic and periodic boundary --- src/EXTRA-FIX/fix_wall_flow.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/EXTRA-FIX/fix_wall_flow.cpp b/src/EXTRA-FIX/fix_wall_flow.cpp index 586cfa7382..15b82b45b8 100644 --- a/src/EXTRA-FIX/fix_wall_flow.cpp +++ b/src/EXTRA-FIX/fix_wall_flow.cpp @@ -62,6 +62,9 @@ FixWallFlow::FixWallFlow(LAMMPS *lmp, int narg, char **arg) : if (lmp->citeme) lmp->citeme->add(cite_fix_wall_flow_c); if (narg < 9) utils::missing_cmd_args(FLERR, "fix wall/flow", error); + if (domain->triclinic != 0) + error->all(FLERR, "Fix wall/flow cannot be used with triclinic simulation box"); + dynamic_group_allow = 1; bool do_abort = false; @@ -77,6 +80,10 @@ FixWallFlow::FixWallFlow(LAMMPS *lmp, int narg, char **arg) : error->all(FLERR, "Illegal fix wall/flow argument: axis must by x or y or z, but {} specified", arg[iarg]); + if (domain->periodicity[flowax] != 1) + error->all(FLERR, + "Fix wall/flow cannot be used with a non-periodic boundary along the flow axis"); + ++iarg; // parsing velocity flowvel = utils::numeric(FLERR, arg[iarg], do_abort, lmp); @@ -137,6 +144,12 @@ FixWallFlow::FixWallFlow(LAMMPS *lmp, int narg, char **arg) : "Wrong fix wall/flow wall ordering or some walls are outside simulation domain"); } + if (std::adjacent_find(walls.begin(), walls.end()) != walls.end()) { + error->all(FLERR, + "Wrong fix wall/flow wall coordinates: some walls have the same coordinates or lie " + "on the boundary"); + } + memory->grow(current_segment, atom->nmax, "WallFlow::current_segment"); atom->add_callback(Atom::GROW); if (restart_peratom) atom->add_callback(Atom::RESTART); From cd4c97f8d8f8a7a111d0ab7de17185446ef60f40 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 21 Feb 2024 14:18:26 -0700 Subject: [PATCH 192/559] doc adjust and code comments --- doc/src/fix_deform.rst | 183 ++++++++++++++++---------- doc/src/fix_deform_pressure.rst | 147 +++++++++++---------- src/EXTRA-FIX/fix_deform_pressure.cpp | 6 +- src/fix_deform.cpp | 6 +- 4 files changed, 201 insertions(+), 141 deletions(-) diff --git a/doc/src/fix_deform.rst b/doc/src/fix_deform.rst index c0ea50ae41..e882c22bf6 100644 --- a/doc/src/fix_deform.rst +++ b/doc/src/fix_deform.rst @@ -4,6 +4,9 @@ fix deform command ================== +:doc:`fix deform/pressure ` command +================== + Accelerator Variants: *deform/kk* Syntax @@ -11,18 +14,18 @@ Syntax .. code-block:: LAMMPS - fix ID group-ID deform N parameter args ... keyword value ... + fix ID group-ID fixstyle N parameter style args ... keyword value ... * ID, group-ID are documented in :doc:`fix ` command -* deform = style name of this fix command +* fixstyle = *deform* or *deform/pressure* * N = perform box deformation every this many timesteps -* one or more parameter/arg pairs may be appended +* one or more parameter/style/args sequences of arguments may be appended .. parsed-literal:: parameter = *x* or *y* or *z* or *xy* or *xz* or *yz* *x*, *y*, *z* args = style value(s) - style = *final* or *delta* or *scale* or *vel* or *erate* or *trate* or *volume* or *wiggle* or *variable* + style = *final* or *delta* or *scale* or *vel* or *erate* or *trate* or *volume* or *wiggle* or *variable* or *pressure* or *pressure/mean* *final* values = lo hi lo hi = box boundaries at end of run (distance units) *delta* values = dlo dhi @@ -43,6 +46,13 @@ Syntax *variable* values = v_name1 v_name2 v_name1 = variable with name1 for box length change as function of time v_name2 = variable with name2 for change rate as function of time + *pressure* values = target gain (ONLY available in :doc:`fix deform/pressure ` command) + target = target pressure (pressure units) + gain = proportional gain constant (1/(time * pressure) or 1/time units) + *pressure/mean* values = target gain (ONLY available in :doc:`fix deform/pressure ` command) + target = target pressure (pressure units) + gain = proportional gain constant (1/(time * pressure) or 1/time units) + *xy*, *xz*, *yz* args = style value style = *final* or *delta* or *vel* or *erate* or *trate* or *wiggle* or *variable* *final* value = tilt @@ -62,9 +72,12 @@ Syntax *variable* values = v_name1 v_name2 v_name1 = variable with name1 for tilt change as function of time v_name2 = variable with name2 for change rate as function of time + *pressure* values = target gain (ONLY available in :doc:`fix deform/pressure ` command) + target = target pressure (pressure units) + gain = proportional gain constant (1/(time * pressure) or 1/time units) * zero or more keyword/value pairs may be appended -* keyword = *remap* or *flip* or *units* +* keyword = *remap* or *flip* or *units* or *couple* or *vol/balance/p* or *max/rate* or *normalize/pressure* .. parsed-literal:: @@ -77,6 +90,15 @@ Syntax *units* value = *lattice* or *box* lattice = distances are defined in lattice units box = distances are defined in simulation box units + *couple* value = *none* or *xyz* or *xy* or *yz* or *xz* (ONLY available in :doc:`fix deform/pressure ` command) + couple pressure values of various dimensions + *vol/balance/p* value = *yes* or *no* (ONLY available in :doc:`fix deform/pressure ` command) + Modifies the behavior of the *volume* option to try and balance pressures + *max/rate* value = *rate* (ONLY available in :doc:`fix deform/pressure ` command) + rate = maximum strain rate for pressure control + *normalize/pressure* value = *yes* or *no* (ONLY available in :doc:`fix deform/pressure ` command) + Modifies pressure controls such that the deviation in pressure is normalized by the target pressure + Examples """""""" @@ -88,6 +110,8 @@ Examples fix 1 all deform 1 xy erate 0.001 remap v fix 1 all deform 10 y delta -0.5 0.5 xz vel 1.0 + See examples for :doc:`fix deform/pressure ` on its doc page + Description """"""""""" @@ -95,31 +119,46 @@ Change the volume and/or shape of the simulation box during a dynamics run. Orthogonal simulation boxes have 3 adjustable parameters (x,y,z). Triclinic (non-orthogonal) simulation boxes have 6 adjustable parameters (x,y,z,xy,xz,yz). Any or all of them can be -adjusted independently and simultaneously by this command. For -additional pressure-based controls, see -:doc:`fix deform/pressure `. +adjusted independently and simultaneously. -This fix can be used to perform non-equilibrium MD (NEMD) simulations -of a continuously strained system. See the :doc:`fix nvt/sllod ` and :doc:`compute temp/deform ` commands for more details. Note -that simulation of a continuously extended system (extensional flow) -can be modeled using the :ref:`UEF package ` and its :doc:`fix commands `. +The fix deform command allows use of all the arguments listed above, +except those flagged as available ONLY for the :doc:`fix +deform/pressure ` command, which are +pressure-based controls. The fix deform/pressure command allows use +of all the arguments listed above. + +The rest of this doc page explains the options common to both +commands. The :doc:`fix deform/pressure ` doc +page explains the options available ONLY with the fix deform/pressure +command. Note that a simulation can define only a single deformation +command: fix deform or fix deform/pressure. + +Both these fixes can be used to perform non-equilibrium MD (NEMD) +simulations of a continuously strained system. See the :doc:`fix +nvt/sllod ` and :doc:`compute temp/deform +` commands for more details. Note that +simulation of a continuously extended system (extensional flow) can be +modeled using the :ref:`UEF package ` and its :doc:`fix +commands `. For the *x*, *y*, *z* parameters, the associated dimension cannot be shrink-wrapped. For the *xy*, *yz*, *xz* parameters, the associated -second dimension cannot be shrink-wrapped. Dimensions not varied by this -command can be periodic or non-periodic. Dimensions corresponding to -unspecified parameters can also be controlled by a :doc:`fix npt ` or :doc:`fix nph ` command. +second dimension cannot be shrink-wrapped. Dimensions not varied by +this command can be periodic or non-periodic. Dimensions +corresponding to unspecified parameters can also be controlled by a +:doc:`fix npt ` or :doc:`fix nph ` command. The size and shape of the simulation box at the beginning of the -simulation run were either specified by the -:doc:`create_box ` or :doc:`read_data ` or -:doc:`read_restart ` command used to setup the simulation -initially if it is the first run, or they are the values from the end -of the previous run. The :doc:`create_box `, :doc:`read data `, and :doc:`read_restart ` commands -specify whether the simulation box is orthogonal or non-orthogonal -(triclinic) and explain the meaning of the xy,xz,yz tilt factors. If -fix deform changes the xy,xz,yz tilt factors, then the simulation box -must be triclinic, even if its initial tilt factors are 0.0. +simulation run were either specified by the :doc:`create_box +` or :doc:`read_data ` or :doc:`read_restart +` command used to setup the simulation initially if it +is the first run, or they are the values from the end of the previous +run. The :doc:`create_box `, :doc:`read data +`, and :doc:`read_restart ` commands specify +whether the simulation box is orthogonal or non-orthogonal (triclinic) +and explain the meaning of the xy,xz,yz tilt factors. If fix deform +changes the xy,xz,yz tilt factors, then the simulation box must be +triclinic, even if its initial tilt factors are 0.0. As described below, the desired simulation box size and shape at the end of the run are determined by the parameters of the fix deform @@ -260,21 +299,22 @@ of the units keyword below. The *variable* style changes the specified box length dimension by evaluating a variable, which presumably is a function of time. The -variable with *name1* must be an :doc:`equal-style variable ` -and should calculate a change in box length in units of distance. -Note that this distance is in box units, not lattice units; see the -discussion of the *units* keyword below. The formula associated with -variable *name1* can reference the current timestep. Note that it -should return the "change" in box length, not the absolute box length. -This means it should evaluate to 0.0 when invoked on the initial -timestep of the run following the definition of fix deform. It should -evaluate to a value > 0.0 to dilate the box at future times, or a -value < 0.0 to compress the box. +variable with *name1* must be an :doc:`equal-style variable +` and should calculate a change in box length in units of +distance. Note that this distance is in box units, not lattice units; +see the discussion of the *units* keyword below. The formula +associated with variable *name1* can reference the current timestep. +Note that it should return the "change" in box length, not the +absolute box length. This means it should evaluate to 0.0 when +invoked on the initial timestep of the run following the definition of +fix deform. It should evaluate to a value > 0.0 to dilate the box at +future times, or a value < 0.0 to compress the box. -The variable *name2* must also be an :doc:`equal-style variable ` and should calculate the rate of box length -change, in units of distance/time, i.e. the time-derivative of the -*name1* variable. This quantity is used internally by LAMMPS to reset -atom velocities when they cross periodic boundaries. It is computed +The variable *name2* must also be an :doc:`equal-style variable +` and should calculate the rate of box length change, in +units of distance/time, i.e. the time-derivative of the *name1* +variable. This quantity is used internally by LAMMPS to reset atom +velocities when they cross periodic boundaries. It is computed internally for the other styles, but you must provide it when using an arbitrary variable. @@ -416,12 +456,13 @@ can reference the current timestep. Note that it should return the should evaluate to 0.0 when invoked on the initial timestep of the run following the definition of fix deform. -The variable *name2* must also be an :doc:`equal-style variable ` and should calculate the rate of tilt change, -in units of distance/time, i.e. the time-derivative of the *name1* -variable. This quantity is used internally by LAMMPS to reset atom -velocities when they cross periodic boundaries. It is computed -internally for the other styles, but you must provide it when using an -arbitrary variable. +The variable *name2* must also be an :doc:`equal-style variable +` and should calculate the rate of tilt change, in units of +distance/time, i.e. the time-derivative of the *name1* variable. This +quantity is used internally by LAMMPS to reset atom velocities when +they cross periodic boundaries. It is computed internally for the +other styles, but you must provide it when using an arbitrary +variable. Here is an example of using the *variable* style to perform the same box deformation as the *wiggle* style formula listed above, where we @@ -512,33 +553,40 @@ box without explicit remapping of their coordinates. .. note:: For non-equilibrium MD (NEMD) simulations using "remap v" it is - usually desirable that the fluid (or flowing material, e.g. granular - particles) stream with a velocity profile consistent with the - deforming box. As mentioned above, using a thermostat such as :doc:`fix nvt/sllod ` or :doc:`fix lavgevin ` - (with a bias provided by :doc:`compute temp/deform `), will typically accomplish - that. If you do not use a thermostat, then there is no driving force - pushing the atoms to flow in a manner consistent with the deforming - box. E.g. for a shearing system the box deformation velocity may vary + usually desirable that the fluid (or flowing material, + e.g. granular particles) stream with a velocity profile consistent + with the deforming box. As mentioned above, using a thermostat + such as :doc:`fix nvt/sllod ` or :doc:`fix lavgevin + ` (with a bias provided by :doc:`compute temp/deform + `), will typically accomplish that. If you do + not use a thermostat, then there is no driving force pushing the + atoms to flow in a manner consistent with the deforming box. + E.g. for a shearing system the box deformation velocity may vary from 0 at the bottom to 10 at the top of the box. But the stream - velocity profile of the atoms may vary from -5 at the bottom to +5 at - the top. You can monitor these effects using the :doc:`fix ave/chunk `, :doc:`compute temp/deform `, and :doc:`compute temp/profile ` commands. One way to induce - atoms to stream consistent with the box deformation is to give them an + velocity profile of the atoms may vary from -5 at the bottom to +5 + at the top. You can monitor these effects using the :doc:`fix + ave/chunk `, :doc:`compute temp/deform + `, and :doc:`compute temp/profile + ` commands. One way to induce atoms to + stream consistent with the box deformation is to give them an initial velocity profile, via the :doc:`velocity ramp ` - command, that matches the box deformation rate. This also typically - helps the system come to equilibrium more quickly, even if a - thermostat is used. + command, that matches the box deformation rate. This also + typically helps the system come to equilibrium more quickly, even + if a thermostat is used. .. note:: If a :doc:`fix rigid ` is defined for rigid bodies, and *remap* is set to *x*, then the center-of-mass coordinates of rigid - bodies will be remapped to the changing simulation box. This will be - done regardless of whether atoms in the rigid bodies are in the fix - deform group or not. The velocity of the centers of mass are not - remapped even if *remap* is set to *v*, since :doc:`fix nvt/sllod ` does not currently do anything special + bodies will be remapped to the changing simulation box. This will + be done regardless of whether atoms in the rigid bodies are in the + fix deform group or not. The velocity of the centers of mass are + not remapped even if *remap* is set to *v*, since :doc:`fix + nvt/sllod ` does not currently do anything special for rigid particles. If you wish to perform a NEMD simulation of rigid particles, you can either thermostat them independently or - include a background fluid and thermostat the fluid via :doc:`fix nvt/sllod `. + include a background fluid and thermostat the fluid via :doc:`fix + nvt/sllod `. The *flip* keyword allows the tilt factors for a triclinic box to exceed half the distance of the parallel box length, as discussed @@ -570,7 +618,8 @@ command if you want to include lattice spacings in a variable formula. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -This fix will restore the initial box settings from :doc:`binary restart files `, which allows the fix to be properly continue +This fix will restore the initial box settings from :doc:`binary +restart files `, which allows the fix to be properly continue deformation, when using the start/stop options of the :doc:`run ` command. None of the :doc:`fix_modify ` options are relevant to this fix. No global or per-atom quantities are stored by @@ -588,13 +637,15 @@ Restrictions You cannot apply x, y, or z deformations to a dimension that is shrink-wrapped via the :doc:`boundary ` command. -You cannot apply xy, yz, or xz deformations to a second dimension (y in -xy) that is shrink-wrapped via the :doc:`boundary ` command. +You cannot apply xy, yz, or xz deformations to a second dimension (y +in xy) that is shrink-wrapped via the :doc:`boundary ` +command. Related commands """""""""""""""" -:doc:`fix deform/pressure `, :doc:`change_box ` +:doc:`fix deform/pressure `, :doc:`change_box + ` Default """"""" diff --git a/doc/src/fix_deform_pressure.rst b/doc/src/fix_deform_pressure.rst index d45c10b351..64bf210446 100644 --- a/doc/src/fix_deform_pressure.rst +++ b/doc/src/fix_deform_pressure.rst @@ -8,12 +8,12 @@ Syntax .. parsed-literal:: - fix ID group-ID deform N parameter args ... keyword value ... + fix ID group-ID deform/pressure N parameter style args ... keyword value ... * ID, group-ID are documented in :doc:`fix ` command -* deform = style name of this fix command +* deform/pressure = style name of this fix command * N = perform box deformation every this many timesteps -* one or more parameter/arg pairs may be appended +* one or more parameter/arg sequences may be appended .. parsed-literal:: @@ -26,13 +26,15 @@ Syntax *pressure/mean* values = target gain target = target pressure (pressure units) gain = proportional gain constant (1/(time * pressure) or 1/time units) - All other styles operate identically to those in :doc:`fix deform ` + NOTE: All other styles are documented by the :doc:`fix deform ` command + *xy*, *xz*, *yz* args = style value style = *final* or *delta* or *vel* or *erate* or *trate* or *wiggle* or *variable* or *pressure* *pressure* values = target gain target = target pressure (pressure units) gain = proportional gain constant (1/(time * pressure) or 1/time units) - All other styles operate identically to those in :doc:`fix deform ` + NOTE: All other styles are documented by the :doc:`fix deform ` command + *box* = style value style = *volume* or *pressure* *volume* value = none = isotropically adjust system to preserve volume of system @@ -53,7 +55,7 @@ Syntax rate = maximum strain rate for pressure control *normalize/pressure* value = *yes* or *no* Modifies pressure controls such that the deviation in pressure is normalized by the target pressure - All other options operate identically to those in :doc:`fix deform ` + NOTE: All other keywords are documented by the :doc:`fix deform ` command Examples """""""" @@ -67,19 +69,20 @@ Examples Description """"""""""" -This fix is an extension of :doc:`fix deform `, inheriting -all of its features and adding new pressure-based controls to allow for -new deformation protocols. All details in :doc:`fix deform ` -apply to this fix unless otherwise noted. +This fix is an extension of the :doc:`fix deform ` +command, which allows all of its options to be used as well as new +pressure-based controls implemented by this command. + +All arguments described on the :doc:`fix deform ` doc page +also apply to this fix unless otherwise noted below. The rest of this +doc page explains the arguments specific to this fix. Note that a +simulation can define only a single deformation command: fix deform or +fix deform/pressure. ---------- -For the *x*, *y*, and *z* parameters, this is the meaning of their -styles and values. - -The *final*, *delta*, *scale*, *vel*, *erate*, *trate*, *volume*, -*wiggle*, and *variable* styles all behave identically to those in -:doc:`fix deform `. Additional styles are described below. +For the *x*, *y*, and *z* parameters, this is the meaning of the +styles and values provided by this fix. The *pressure* style adjusts a dimension's box length to control the corresponding component of the pressure tensor. This option attempts to @@ -127,13 +130,9 @@ along one dimension. ---------- -For the *xy*, *xz*, and *yz* parameters, this is the meaning of their -styles and values. Note that changing the tilt factors of a triclinic -box does not change its volume. - -The *final*, *delta*, *vel*, *erate*, *trate*, *wiggle*, and *variable* -styles all behave identically to those in :doc:`fix deform `. -Additional styles are described below. +For the *xy*, *xz*, and *yz* parameters, this is the meaning of the +styles and values provided by this fix. Note that changing the +tilt factors of a triclinic box does not change its volume. The *pressure* style adjusts a tilt factor to control the corresponding off-diagonal component of the pressure tensor. This option attempts to @@ -144,29 +143,32 @@ tilt factor T evolves according to the equation \frac{d T(t)}{dt} = L(t) k (P - P_t) -where :math:`k` is a proportional gain constant, :math:`P_t` is the target -pressure, :math:`P` is the current pressure, and :math:`L` is the perpendicular -box length. The target pressure accepts either a constant numeric value or a -LAMMPS :ref:`variable `. Notably, this variable can be a function -of time or other components of the pressure tensor. By default, :math:`k` -has units of 1/(time * pressure) although this will change if the -*normalize/pessure* option is set as :ref:`discussed below `. -There is no proven method to choosing an appropriate value of :math:`k` as it -will depend on thespecific details of a simulation and testing different -values is recommended. One can also apply a maximum limit to the magnitude -of the applied strain using the :ref:`max/rate ` option. +where :math:`k` is a proportional gain constant, :math:`P_t` is the +target pressure, :math:`P` is the current pressure, and :math:`L` is +the perpendicular box length. The target pressure accepts either a +constant numeric value or a LAMMPS :ref:`variable +`. Notably, this variable can be a function of time or other +components of the pressure tensor. By default, :math:`k` has units of +1/(time * pressure) although this will change if the +*normalize/pessure* option is set as :ref:`discussed below +`. There is no proven method to choosing an +appropriate value of :math:`k` as it will depend on the specific +details of a simulation and testing different values is +recommended. One can also apply a maximum limit to the magnitude of +the applied strain using the :ref:`max/rate ` option. ---------- -The *box* parameter provides an additonal control over the *x*, *y*, -and *z* box lengths by isotropically dilating or contracting the box to -either maintain a fixed mean pressure or volume. This isotropic scaling -is applied after the box is deformed by the above *x*, *y*, *z*, *xy*, -*xz*, and *yz* styles, acting as a second deformation step. This parameter -will change the overall strain rate in the *x*, *y*, or *z* dimensions. -This parameter can only be used in combination with the *x*, *y*, or *z* -commands: *vel*, *erate*, *trate*, *pressure*, or *wiggle*. This is the meaning -of its styles and values. +The *box* parameter provides an additional control over the *x*, *y*, +and *z* box lengths by isotropically dilating or contracting the box +to either maintain a fixed mean pressure or volume. This isotropic +scaling is applied after the box is deformed by the above *x*, *y*, +*z*, *xy*, *xz*, and *yz* styles, acting as a second deformation +step. This parameter will change the overall strain rate in the *x*, +*y*, or *z* dimensions. This parameter can only be used in +combination with the *x*, *y*, or *z* commands: *vel*, *erate*, +*trate*, *pressure*, or *wiggle*. This is the meaning of its styles +and values. The *volume* style isotropically scales box lengths to maintain a constant box volume in response to deformation from other parameters. This style @@ -186,9 +188,7 @@ dimensions (deforming the shape of the box), while maintaining a mean pressure. ---------- -The *flip*, *remap*, and *units* keywords all behave identically -to those in :doc:`fix deform `. Additional optional -keywords are described below. +The optional keywords provided by this fix are described below. .. _deform_normalize: @@ -240,44 +240,47 @@ dimension equal using a method described in :ref:`(Huang2014) `. ---------- If any pressure controls are used, this fix computes a temperature and -pressure each timestep. To do this, the fix creates its own computes of -style "temp" and "pressure", as if these commands had been issued: +pressure each timestep. To do this, the fix creates its own computes +of style "temp" and "pressure", as if these commands had been issued: .. code-block:: LAMMPS compute fix-ID_temp group-ID temp compute fix-ID_press group-ID pressure fix-ID_temp -See the :doc:`compute temp ` and :doc:`compute pressure ` commands for details. Note that the -IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID +See the :doc:`compute temp ` and :doc:`compute pressure +` commands for details. Note that the IDs of the +new computes are the fix-ID + underscore + "temp" or fix_ID + underscore + "press", and the group for the new computes is the same as the fix group. Note that these are NOT the computes used by thermodynamic output (see -the :doc:`thermo_style ` command) with ID = *thermo_temp* -and *thermo_press*. This means you can change the attributes of this -fix's temperature or pressure via the -:doc:`compute_modify ` command or print this temperature -or pressure during thermodynamic output via the -:doc:`thermo_style custom ` command using the appropriate -compute-ID. It also means that changing attributes of *thermo_temp* or -*thermo_press* will have no effect on this fix. +the :doc:`thermo_style ` command) with ID = +*thermo_temp* and *thermo_press*. This means you can change the +attributes of this fix's temperature or pressure via the +:doc:`compute_modify ` command or print this +temperature or pressure during thermodynamic output via the +:doc:`thermo_style custom ` command using the +appropriate compute-ID. It also means that changing attributes of +*thermo_temp* or *thermo_press* will have no effect on this fix. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -This fix will restore the initial box settings from :doc:`binary restart files `, which allows the fix to be properly continue +This fix will restore the initial box settings from :doc:`binary +restart files `, which allows the fix to be properly continue deformation, when using the start/stop options of the :doc:`run ` -command. No global or per-atom quantities are stored by this fix for access -by various :doc:`output commands `. +command. No global or per-atom quantities are stored by this fix for +access by various :doc:`output commands `. -If any pressure controls are used, the :doc:`fix_modify ` *temp* -and *press* options are supported by this fix, unklike in :doc:`fix deform `. -You can use them to assign a :doc:`compute ` you have defined to -this fix which will be used in its temperature and pressure calculations. -If you do this, note that the kinetic energy derived from the compute -temperature should be consistent with the virial term computed using all -atoms for the pressure. LAMMPS will warn you if you choose to compute +If any pressure controls are used, the :doc:`fix_modify ` +*temp* and *press* options are supported by this fix, unlike in +:doc:`fix deform `. You can use them to assign a +:doc:`compute ` you have defined to this fix which will be +used in its temperature and pressure calculations. If you do this, +note that the kinetic energy derived from the compute temperature +should be consistent with the virial term computed using all atoms for +the pressure. LAMMPS will warn you if you choose to compute temperature on a subset of atoms. This fix can perform deformation over multiple runs, using the *start* @@ -292,8 +295,9 @@ Restrictions You cannot apply x, y, or z deformations to a dimension that is shrink-wrapped via the :doc:`boundary ` command. -You cannot apply xy, yz, or xz deformations to a second dimension (y in -xy) that is shrink-wrapped via the :doc:`boundary ` command. +You cannot apply xy, yz, or xz deformations to a second dimension (y +in xy) that is shrink-wrapped via the :doc:`boundary ` +command. Related commands """""""""""""""" @@ -303,8 +307,7 @@ Related commands Default """"""" -The option defaults are remap = x, flip = yes, units = lattice, and -normalize/pressure = no. +The option defaults are normalize/pressure = no. ---------- diff --git a/src/EXTRA-FIX/fix_deform_pressure.cpp b/src/EXTRA-FIX/fix_deform_pressure.cpp index 5eafebc9de..d8374bcc75 100644 --- a/src/EXTRA-FIX/fix_deform_pressure.cpp +++ b/src/EXTRA-FIX/fix_deform_pressure.cpp @@ -55,7 +55,7 @@ FixDeformPressure::FixDeformPressure(LAMMPS *lmp, int narg, char **arg) : memset(set_extra, 0, 7 * sizeof(SetExtra)); memset(&set_box, 0, sizeof(Set)); - // parse child-specific arguments + // parse only parameter/style arguments specific to this child class int index, iarg; int i = 0; @@ -115,6 +115,7 @@ FixDeformPressure::FixDeformPressure(LAMMPS *lmp, int narg, char **arg) : set_extra[index].pgain = utils::numeric(FLERR, arg[iarg + 3], false, lmp); i += 4; } else error->all(FLERR, "Illegal fix deform/pressure command: {}", arg[iarg + 1]); + } else if (strcmp(arg[iarg], "box") == 0) { if (strcmp(arg[iarg + 1], "volume") == 0) { set_box.style = VOLUME; @@ -850,7 +851,6 @@ void FixDeformPressure::restart(char *buf) } } - /* ---------------------------------------------------------------------- */ void FixDeformPressure::options(int i, int narg, char **arg) @@ -860,6 +860,8 @@ void FixDeformPressure::options(int i, int narg, char **arg) vol_balance_flag = 0; normalize_pressure_flag = 0; + // parse only options not handled by parent class + int iarg, nskip; while (i < leftover_iarg.size()) { iarg = leftover_iarg[i]; diff --git a/src/fix_deform.cpp b/src/fix_deform.cpp index 6a585d8b26..9ee7259482 100644 --- a/src/fix_deform.cpp +++ b/src/fix_deform.cpp @@ -72,7 +72,8 @@ irregular(nullptr), set(nullptr) set = new Set[6]; memset(set, 0, 6 * sizeof(Set)); - // parse arguments + // parse all parameter/style arguments for this parent and also child classes + // for child classes, simply store them in leftover_iarg and skip over them triclinic = domain->triclinic; @@ -1009,6 +1010,9 @@ void FixDeform::options(int narg, char **arg) {"vol/balance/p", 2}}); } + // parse all optional arguments for this parent and also child classes + // for child classes, simply store them in leftover_iarg and skip over them + int iarg = 0; while (iarg < narg) { if (strcmp(arg[iarg], "remap") == 0) { From 11675587df2666d7309a39fcbdcd82428ae8090a Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 21 Feb 2024 14:28:53 -0700 Subject: [PATCH 193/559] tweak to underlining --- doc/src/fix_deform.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/fix_deform.rst b/doc/src/fix_deform.rst index e882c22bf6..7f81bcf68d 100644 --- a/doc/src/fix_deform.rst +++ b/doc/src/fix_deform.rst @@ -5,7 +5,7 @@ fix deform command ================== :doc:`fix deform/pressure ` command -================== +======================================================== Accelerator Variants: *deform/kk* @@ -110,7 +110,7 @@ Examples fix 1 all deform 1 xy erate 0.001 remap v fix 1 all deform 10 y delta -0.5 0.5 xz vel 1.0 - See examples for :doc:`fix deform/pressure ` on its doc page +See examples for :doc:`fix deform/pressure ` on its doc page Description """"""""""" From 06b69f2d401aecf17a26760e0480fa9141a74696 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 21 Feb 2024 17:35:28 -0500 Subject: [PATCH 194/559] whitespace --- doc/src/fix_deform.rst | 2 +- doc/src/fix_deform_pressure.rst | 6 ++++-- src/EXTRA-FIX/fix_deform_pressure.cpp | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/doc/src/fix_deform.rst b/doc/src/fix_deform.rst index 7f81bcf68d..6d415fd0a9 100644 --- a/doc/src/fix_deform.rst +++ b/doc/src/fix_deform.rst @@ -111,7 +111,7 @@ Examples fix 1 all deform 10 y delta -0.5 0.5 xz vel 1.0 See examples for :doc:`fix deform/pressure ` on its doc page - + Description """"""""""" diff --git a/doc/src/fix_deform_pressure.rst b/doc/src/fix_deform_pressure.rst index 64bf210446..15dcc9f7a4 100644 --- a/doc/src/fix_deform_pressure.rst +++ b/doc/src/fix_deform_pressure.rst @@ -27,14 +27,14 @@ Syntax target = target pressure (pressure units) gain = proportional gain constant (1/(time * pressure) or 1/time units) NOTE: All other styles are documented by the :doc:`fix deform ` command - + *xy*, *xz*, *yz* args = style value style = *final* or *delta* or *vel* or *erate* or *trate* or *wiggle* or *variable* or *pressure* *pressure* values = target gain target = target pressure (pressure units) gain = proportional gain constant (1/(time * pressure) or 1/time units) NOTE: All other styles are documented by the :doc:`fix deform ` command - + *box* = style value style = *volume* or *pressure* *volume* value = none = isotropically adjust system to preserve volume of system @@ -69,6 +69,8 @@ Examples Description """"""""""" +.. versionadded:: TBD + This fix is an extension of the :doc:`fix deform ` command, which allows all of its options to be used as well as new pressure-based controls implemented by this command. diff --git a/src/EXTRA-FIX/fix_deform_pressure.cpp b/src/EXTRA-FIX/fix_deform_pressure.cpp index d8374bcc75..7f15870ef1 100644 --- a/src/EXTRA-FIX/fix_deform_pressure.cpp +++ b/src/EXTRA-FIX/fix_deform_pressure.cpp @@ -115,7 +115,7 @@ FixDeformPressure::FixDeformPressure(LAMMPS *lmp, int narg, char **arg) : set_extra[index].pgain = utils::numeric(FLERR, arg[iarg + 3], false, lmp); i += 4; } else error->all(FLERR, "Illegal fix deform/pressure command: {}", arg[iarg + 1]); - + } else if (strcmp(arg[iarg], "box") == 0) { if (strcmp(arg[iarg + 1], "volume") == 0) { set_box.style = VOLUME; @@ -861,7 +861,7 @@ void FixDeformPressure::options(int i, int narg, char **arg) normalize_pressure_flag = 0; // parse only options not handled by parent class - + int iarg, nskip; while (i < leftover_iarg.size()) { iarg = leftover_iarg[i]; From 71385add8bfb7e79297f3ef1d511fde3924af541 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 21 Feb 2024 17:50:55 -0500 Subject: [PATCH 195/559] integrate into documentation system. correct links/references. --- doc/src/Commands_fix.rst | 1 + doc/src/fix.rst | 1 + doc/src/fix_deform.rst | 8 ++++---- doc/src/fix_deform_pressure.rst | 10 ++++------ 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/doc/src/Commands_fix.rst b/doc/src/Commands_fix.rst index e89e302673..ea50e68cdd 100644 --- a/doc/src/Commands_fix.rst +++ b/doc/src/Commands_fix.rst @@ -61,6 +61,7 @@ OPT. * :doc:`controller ` * :doc:`damping/cundall ` * :doc:`deform (k) ` + * :doc:`deform/pressure ` * :doc:`deposit ` * :doc:`dpd/energy (k) ` * :doc:`drag ` diff --git a/doc/src/fix.rst b/doc/src/fix.rst index 69a7212487..d03cab4687 100644 --- a/doc/src/fix.rst +++ b/doc/src/fix.rst @@ -226,6 +226,7 @@ accelerated styles exist. * :doc:`controller ` - apply control loop feedback mechanism * :doc:`damping/cundall ` - Cundall non-viscous damping for granular simulations * :doc:`deform ` - change the simulation box size/shape +* :doc:`deform/pressure ` - change the simulation box size/shape with additional loading conditions * :doc:`deposit ` - add new atoms above a surface * :doc:`dpd/energy ` - constant energy dissipative particle dynamics * :doc:`drag ` - drag atoms towards a defined coordinate diff --git a/doc/src/fix_deform.rst b/doc/src/fix_deform.rst index 6d415fd0a9..9146b987c8 100644 --- a/doc/src/fix_deform.rst +++ b/doc/src/fix_deform.rst @@ -14,10 +14,10 @@ Syntax .. code-block:: LAMMPS - fix ID group-ID fixstyle N parameter style args ... keyword value ... + fix ID group-ID fix_style N parameter style args ... keyword value ... * ID, group-ID are documented in :doc:`fix ` command -* fixstyle = *deform* or *deform/pressure* +* fix_style = *deform* or *deform/pressure* * N = perform box deformation every this many timesteps * one or more parameter/style/args sequences of arguments may be appended @@ -644,8 +644,8 @@ command. Related commands """""""""""""""" -:doc:`fix deform/pressure `, :doc:`change_box - ` +:doc:`fix deform/pressure `, +:doc:`change_box ` Default """"""" diff --git a/doc/src/fix_deform_pressure.rst b/doc/src/fix_deform_pressure.rst index 15dcc9f7a4..f85ad37238 100644 --- a/doc/src/fix_deform_pressure.rst +++ b/doc/src/fix_deform_pressure.rst @@ -109,7 +109,7 @@ specific details of a simulation. Testing different values is recommended. By default, there is no limit on the resulting strain rate in any dimension. A maximum limit can be applied using the :ref:`max/rate ` -option. Akin to :ref:`fix nh `, pressures in different dimensions +option. Akin to :doc:`fix nh `, pressures in different dimensions can be coupled using the :ref:`couple ` option. This means the instantaneous pressure along coupled dimensions are averaged and the box strains identically along the coupled dimensions. @@ -313,9 +313,7 @@ The option defaults are normalize/pressure = no. ---------- -.. _Li2014b: +.. _Huang2014: -**(Huang2014)** X. Huang, -"Exploring critical-state behavior using DEM", -Doctoral dissertation, Imperial College. -(2014). https://doi.org/10.25560/25316 +**(Huang2014)** X. Huang, "Exploring critical-state behavior using DEM", +Doctoral dissertation, Imperial College. (2014). https://doi.org/10.25560/25316 From 14348a599cacff1174bc07ca144eb6eb79abb8b4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 21 Feb 2024 20:44:55 -0500 Subject: [PATCH 196/559] monte carlo insertions and pair style dsmc require per-type masses --- src/MC/fix_charge_regulation.cpp | 5 +++++ src/MC/fix_gcmc.cpp | 4 ++++ src/MC/fix_sgcmc.cpp | 15 +++++++++------ src/MC/fix_widom.cpp | 4 ++++ src/MC/pair_dsmc.cpp | 2 ++ 5 files changed, 24 insertions(+), 6 deletions(-) diff --git a/src/MC/fix_charge_regulation.cpp b/src/MC/fix_charge_regulation.cpp index 2fade2be79..1690e647dc 100644 --- a/src/MC/fix_charge_regulation.cpp +++ b/src/MC/fix_charge_regulation.cpp @@ -191,6 +191,11 @@ int FixChargeRegulation::setmask() { void FixChargeRegulation::init() { + if (!atom->mass) error->all(FLERR, "Fix charge/regulation requires per atom type masses"); + if (atom->rmass_flag && (comm->me == 0)) + error->warning(FLERR, "Fix charge/regulation will use per atom type masses for " + "velocity initialization"); + triclinic = domain->triclinic; int ipe = modify->find_compute("thermo_pe"); c_pe = modify->compute[ipe]; diff --git a/src/MC/fix_gcmc.cpp b/src/MC/fix_gcmc.cpp index b3d000e8b1..2d35528219 100644 --- a/src/MC/fix_gcmc.cpp +++ b/src/MC/fix_gcmc.cpp @@ -463,6 +463,10 @@ int FixGCMC::setmask() void FixGCMC::init() { + if (!atom->mass) error->all(FLERR, "Fix gcmc requires per atom type masses"); + if (atom->rmass_flag && (comm->me == 0)) + error->warning(FLERR, "Fix gcmc will use per atom type masses for velocity initialization"); + triclinic = domain->triclinic; // set index and check validity of region diff --git a/src/MC/fix_sgcmc.cpp b/src/MC/fix_sgcmc.cpp index a70f3240db..ae0e69d77e 100644 --- a/src/MC/fix_sgcmc.cpp +++ b/src/MC/fix_sgcmc.cpp @@ -235,11 +235,13 @@ int FixSemiGrandCanonicalMC::setmask() *********************************************************************/ void FixSemiGrandCanonicalMC::init() { - // Make sure the user has defined only one Monte-Carlo fix. - int count = 0; - for (int i = 0; i < modify->nfix; i++) - if (strcmp(modify->fix[i]->style,"sgcmc") == 0) count++; - if (count > 1) error->all(FLERR, "More than one fix sgcmc defined."); + if (!atom->mass) error->all(FLERR, "Fix sgcmc requires per atom type masses"); + if (atom->rmass_flag && (comm->me == 0)) + error->warning(FLERR, "Fix sgcmc will use per atom type masses for velocity initialization"); + + // Make sure the user has defined only one Semi-Grand Monte-Carlo fix. + if (modify->get_fix_by_style("sgcmc").size() > 1) + error->all(FLERR, "More than one fix sgcmc defined."); // Save a pointer to the EAM potential. pairEAM = dynamic_cast(force->pair); @@ -248,7 +250,8 @@ void FixSemiGrandCanonicalMC::init() utils::logmesg(lmp, " SGC - Using naive total energy calculation for MC -> SLOW!\n"); if (comm->nprocs > 1) - error->all(FLERR, "Can not run fix vcsgc with naive total energy calculation and more than one MPI process."); + error->all(FLERR, "Can not run fix sgcmc with naive total energy calculation " + "and more than one MPI process."); // Create a compute that will provide the total energy of the system. // This is needed by computeTotalEnergy(). diff --git a/src/MC/fix_widom.cpp b/src/MC/fix_widom.cpp index 2e48630f59..d0840c80b7 100644 --- a/src/MC/fix_widom.cpp +++ b/src/MC/fix_widom.cpp @@ -280,6 +280,10 @@ int FixWidom::setmask() void FixWidom::init() { + if (!atom->mass) error->all(FLERR, "Fix widom requires per atom type masses"); + if (atom->rmass_flag && (comm->me == 0)) + error->warning(FLERR, "Fix widom will use per atom type masses for velocity initialization"); + triclinic = domain->triclinic; // set index and check validity of region diff --git a/src/MC/pair_dsmc.cpp b/src/MC/pair_dsmc.cpp index 4773ac7653..1c152906b3 100644 --- a/src/MC/pair_dsmc.cpp +++ b/src/MC/pair_dsmc.cpp @@ -271,6 +271,8 @@ void PairDSMC::coeff(int narg, char **arg) void PairDSMC::init_style() { + if (!atom->mass) error->all(FLERR, "Pair style dsmc requires per atom type masses"); + ncellsx = ncellsy = ncellsz = 1; while (((domain->boxhi[0] - domain->boxlo[0])/ncellsx) > max_cell_size) ncellsx++; From 6ac24c297a43124f0d0c5ddf97b3a37768bfb0b1 Mon Sep 17 00:00:00 2001 From: Vladislav Galigerov Date: Thu, 22 Feb 2024 11:47:53 +0300 Subject: [PATCH 197/559] Add check for varying box size --- src/EXTRA-FIX/fix_wall_flow.cpp | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/src/EXTRA-FIX/fix_wall_flow.cpp b/src/EXTRA-FIX/fix_wall_flow.cpp index 15b82b45b8..629d2ad452 100644 --- a/src/EXTRA-FIX/fix_wall_flow.cpp +++ b/src/EXTRA-FIX/fix_wall_flow.cpp @@ -187,12 +187,34 @@ int FixWallFlow::setmask() void FixWallFlow::init() { int nrigid = 0; - - for (auto ifix : modify->get_fix_list()) + int box_change_flowax = 0; + for (auto ifix : modify->get_fix_list()) { if (ifix->rigid_flag) nrigid++; + switch (flowax) { + case FlowAxis::AX_X: + if (ifix->box_change & Fix::BOX_CHANGE_X) box_change_flowax++; + if (ifix->box_change & Fix::BOX_CHANGE_XY) box_change_flowax++; + if (ifix->box_change & Fix::BOX_CHANGE_XZ) box_change_flowax++; + break; + case FlowAxis::AX_Y: + if (ifix->box_change & Fix::BOX_CHANGE_Y) box_change_flowax++; + if (ifix->box_change & Fix::BOX_CHANGE_YZ) box_change_flowax++; + if (ifix->box_change & Fix::BOX_CHANGE_XY) box_change_flowax++; + break; + case FlowAxis::AX_Z: + if (ifix->box_change & Fix::BOX_CHANGE_Z) box_change_flowax++; + if (ifix->box_change & Fix::BOX_CHANGE_YZ) box_change_flowax++; + if (ifix->box_change & Fix::BOX_CHANGE_XZ) box_change_flowax++; + break; + } + } if (nrigid && comm->me == 0) error->warning(FLERR, "FixWallFlow is not compatible with rigid bodies"); + if (box_change_flowax && comm->me == 0) + error->warning( + FLERR, + "FixWallFlow is not compatible with simulation box size changing along flow direction"); for (int i = 0; i < atom->nlocal; ++i) { double pos = atom->x[i][flowax]; From f1a5dd0479cecfa3ff8e84b2f3379b957224a905 Mon Sep 17 00:00:00 2001 From: Vladislav Galigerov Date: Thu, 22 Feb 2024 12:28:23 +0300 Subject: [PATCH 198/559] Change warnings to errors --- src/EXTRA-FIX/fix_wall_flow.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/EXTRA-FIX/fix_wall_flow.cpp b/src/EXTRA-FIX/fix_wall_flow.cpp index 629d2ad452..49a8a2eb9b 100644 --- a/src/EXTRA-FIX/fix_wall_flow.cpp +++ b/src/EXTRA-FIX/fix_wall_flow.cpp @@ -210,9 +210,9 @@ void FixWallFlow::init() } if (nrigid && comm->me == 0) - error->warning(FLERR, "FixWallFlow is not compatible with rigid bodies"); + error->all(FLERR, "FixWallFlow is not compatible with rigid bodies"); if (box_change_flowax && comm->me == 0) - error->warning( + error->all( FLERR, "FixWallFlow is not compatible with simulation box size changing along flow direction"); From a466d74f31c18be3c682b50b231ab36d56d48b84 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 22 Feb 2024 04:34:22 -0500 Subject: [PATCH 199/559] document requirement of per-type masses --- doc/src/fix_charge_regulation.rst | 10 +++++----- doc/src/fix_gcmc.rst | 5 ++++- doc/src/fix_sgcmc.rst | 3 +++ doc/src/fix_widom.rst | 7 +++++-- doc/src/pair_dsmc.rst | 8 ++++++-- 5 files changed, 23 insertions(+), 10 deletions(-) diff --git a/doc/src/fix_charge_regulation.rst b/doc/src/fix_charge_regulation.rst index bc2651a55b..091eeae417 100644 --- a/doc/src/fix_charge_regulation.rst +++ b/doc/src/fix_charge_regulation.rst @@ -253,11 +253,11 @@ built with that package. See the :doc:`Build package ` page for more info. The :doc:`atom_style `, used must contain the charge -property, for example, the style could be *charge* or *full*. Only -usable for 3D simulations. Atoms specified as free ions cannot be part -of rigid bodies or molecules and cannot have bonding interactions. The -scheme is limited to integer charges, any atoms with non-integer charges -will not be considered by the fix. +property and have per atom type masses, for example, the style could be +*charge* or *full*. Only usable for 3D simulations. Atoms specified as +free ions cannot be part of rigid bodies or molecules and cannot have +bonding interactions. The scheme is limited to integer charges, any +atoms with non-integer charges will not be considered by the fix. All interaction potentials used must be continuous, otherwise the MD integration and the particle exchange MC moves do not correspond to the diff --git a/doc/src/fix_gcmc.rst b/doc/src/fix_gcmc.rst index 13ae509684..a21e85d803 100644 --- a/doc/src/fix_gcmc.rst +++ b/doc/src/fix_gcmc.rst @@ -440,8 +440,11 @@ This fix is part of the MC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. +This fix style requires an :doc:`atom style ` with per atom +type masses. + Do not set "neigh_modify once yes" or else this fix will never be -called. Reneighboring is required. +called. Reneighboring is **required**. Only usable for 3D simulations. diff --git a/doc/src/fix_sgcmc.rst b/doc/src/fix_sgcmc.rst index 63cfaf22da..bcdbdf2736 100644 --- a/doc/src/fix_sgcmc.rst +++ b/doc/src/fix_sgcmc.rst @@ -155,6 +155,9 @@ This fix is part of the MC package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. +This fix style requires an :doc:`atom style ` with per atom +type masses. + At present the fix provides optimized subroutines for EAM type potentials (see above) that calculate potential energy changes due to *local* atom type swaps very efficiently. Other potentials are diff --git a/doc/src/fix_widom.rst b/doc/src/fix_widom.rst index ff66095db5..43e081800f 100644 --- a/doc/src/fix_widom.rst +++ b/doc/src/fix_widom.rst @@ -195,8 +195,11 @@ doc page for more info. Do not set "neigh_modify once yes" or else this fix will never be called. Reneighboring is **required**. -Can be run in parallel, but aspects of the GCMC part will not scale well -in parallel. Only usable for 3D simulations. +This fix style requires an :doc:`atom style ` with per atom +type masses. + +Can be run in parallel, but some aspects of the insertion procedure +will not scale well in parallel. Only usable for 3D simulations. Related commands diff --git a/doc/src/pair_dsmc.rst b/doc/src/pair_dsmc.rst index edac1d7a65..09bb5d90af 100644 --- a/doc/src/pair_dsmc.rst +++ b/doc/src/pair_dsmc.rst @@ -138,8 +138,12 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" -This style is part of the MC package. It is only enabled if LAMMPS -was built with that package. See the :doc:`Build package ` page for more info. +This pair style is part of the MC package. It is only enabled if LAMMPS +was built with that package. See the :doc:`Build package +` page for more info. + +This pair style requires an :doc:`atom style ` with per +atom type masses. Related commands """""""""""""""" From 86d306b50239d9619cb5f8179956e376b18659d6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 22 Feb 2024 04:40:55 -0500 Subject: [PATCH 200/559] avoid excessive copies --- src/EXTRA-FIX/fix_wall_flow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EXTRA-FIX/fix_wall_flow.cpp b/src/EXTRA-FIX/fix_wall_flow.cpp index 49a8a2eb9b..add0b51ca4 100644 --- a/src/EXTRA-FIX/fix_wall_flow.cpp +++ b/src/EXTRA-FIX/fix_wall_flow.cpp @@ -188,7 +188,7 @@ void FixWallFlow::init() { int nrigid = 0; int box_change_flowax = 0; - for (auto ifix : modify->get_fix_list()) { + for (const auto &ifix : modify->get_fix_list()) { if (ifix->rigid_flag) nrigid++; switch (flowax) { case FlowAxis::AX_X: From 6af4dac2e572e76a74a0acde88e1514e5242431c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 22 Feb 2024 04:41:16 -0500 Subject: [PATCH 201/559] Error::all() must be called by all MPI ranks --- src/EXTRA-FIX/fix_wall_flow.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/EXTRA-FIX/fix_wall_flow.cpp b/src/EXTRA-FIX/fix_wall_flow.cpp index add0b51ca4..b6634aa87c 100644 --- a/src/EXTRA-FIX/fix_wall_flow.cpp +++ b/src/EXTRA-FIX/fix_wall_flow.cpp @@ -209,12 +209,11 @@ void FixWallFlow::init() } } - if (nrigid && comm->me == 0) - error->all(FLERR, "FixWallFlow is not compatible with rigid bodies"); - if (box_change_flowax && comm->me == 0) + if (nrigid) error->all(FLERR, "Fix wall/flow is not compatible with rigid bodies"); + if (box_change_flowax) error->all( FLERR, - "FixWallFlow is not compatible with simulation box size changing along flow direction"); + "Fix wall/flow is not compatible with simulation box size changing along flow direction"); for (int i = 0; i < atom->nlocal; ++i) { double pos = atom->x[i][flowax]; From 5cadcbfd6849fdbd160d029e53fd6fb22a6bf4b7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 22 Feb 2024 04:51:35 -0500 Subject: [PATCH 202/559] silence compiler warnings --- src/EXTRA-FIX/fix_wall_flow.cpp | 4 ++-- src/KOKKOS/fix_wall_flow_kokkos.cpp | 10 ++++------ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/EXTRA-FIX/fix_wall_flow.cpp b/src/EXTRA-FIX/fix_wall_flow.cpp index b6634aa87c..f194a4076a 100644 --- a/src/EXTRA-FIX/fix_wall_flow.cpp +++ b/src/EXTRA-FIX/fix_wall_flow.cpp @@ -135,7 +135,7 @@ FixWallFlow::FixWallFlow(LAMMPS *lmp, int narg, char **arg) : walls.resize(wallcount + 2); walls.front() = domain->boxlo[flowax]; - for (size_t w = 1; w <= wallcount; ++w, ++iarg) { + for (int w = 1; w <= wallcount; ++w, ++iarg) { walls[w] = utils::numeric(FLERR, arg[iarg], do_abort, lmp) * scale; } walls.back() = domain->boxhi[flowax]; @@ -291,7 +291,7 @@ void FixWallFlow::generate_velocity(int atom_i) int FixWallFlow::compute_current_segment(double pos) const { int result = 0; - for (; result < walls.size() - 1; ++result) { + for (; result < (int)walls.size() - 1; ++result) { if (pos >= walls[result] && pos < walls[result + 1]) { return result; } } return -1; // -1 is "out of box" region diff --git a/src/KOKKOS/fix_wall_flow_kokkos.cpp b/src/KOKKOS/fix_wall_flow_kokkos.cpp index f9d11efe81..b6b3f7c096 100644 --- a/src/KOKKOS/fix_wall_flow_kokkos.cpp +++ b/src/KOKKOS/fix_wall_flow_kokkos.cpp @@ -23,8 +23,6 @@ #include "math_const.h" #include "memory_kokkos.h" -#include - using namespace LAMMPS_NS; template @@ -44,7 +42,7 @@ FixWallFlowKokkos::FixWallFlowKokkos(LAMMPS *lmp, int narg, char **a d_walls = d_walls_t("FixWallFlowKokkos::walls", walls.size()); auto h_walls = Kokkos::create_mirror_view(d_walls); - for (int i = 0; i < walls.size(); ++i) { h_walls(i) = walls[i]; } + for (int i = 0; i < (int) walls.size(); ++i) h_walls(i) = walls[i]; Kokkos::deep_copy(d_walls, h_walls); } @@ -161,7 +159,7 @@ KOKKOS_INLINE_FUNCTION int FixWallFlowKokkos::compute_current_segment_kk(double pos) const { int result = 0; - for (; result < d_walls.extent(0) - 1; ++result) { + for (; result < (int) d_walls.extent(0) - 1; ++result) { if (pos >= d_walls[result] && pos < d_walls[result + 1]) { return result; } } return -1; // -1 is "out of box" region @@ -224,7 +222,7 @@ int FixWallFlowKokkos::pack_exchange_kokkos(const int &nsend, DAT::tdual_xfloat_2d &k_buf, DAT::tdual_int_1d k_sendlist, DAT::tdual_int_1d k_copylist, - ExecutionSpace space) + ExecutionSpace /*space*/) { k_current_segment.template sync(); @@ -271,7 +269,7 @@ template void FixWallFlowKokkos::unpack_exchange_kokkos(DAT::tdual_xfloat_2d &k_buf, DAT::tdual_int_1d &k_indices, int nrecv, int /*nrecv1*/, int /*nextrarecv1*/, - ExecutionSpace space) + ExecutionSpace /*space*/) { d_buf = typename ArrayTypes::t_xfloat_1d_um(k_buf.template view().data(), k_buf.extent(0) * k_buf.extent(1)); From 71e0d506e71ab7453ba328984b9b0c534d37266c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 22 Feb 2024 04:56:27 -0500 Subject: [PATCH 203/559] spelling --- doc/utils/sphinx-config/false_positives.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 6106a1638c..2ec10d0e80 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -3888,6 +3888,7 @@ Verstraelen ves vf vflag +vflow vfrac vhi vibrational From 3ff2b1b43b507f5dfb407a5a1e18c4bd1974ee55 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 22 Feb 2024 05:07:08 -0500 Subject: [PATCH 204/559] silence compiler warnings --- src/EXTRA-FIX/fix_deform_pressure.cpp | 8 ++++---- src/fix_deform.cpp | 11 ++++------- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/src/EXTRA-FIX/fix_deform_pressure.cpp b/src/EXTRA-FIX/fix_deform_pressure.cpp index 7f15870ef1..aebc6e120f 100644 --- a/src/EXTRA-FIX/fix_deform_pressure.cpp +++ b/src/EXTRA-FIX/fix_deform_pressure.cpp @@ -58,7 +58,7 @@ FixDeformPressure::FixDeformPressure(LAMMPS *lmp, int narg, char **arg) : // parse only parameter/style arguments specific to this child class int index, iarg; - int i = 0; + std::size_t i = 0; while (i < leftover_iarg.size()) { iarg = leftover_iarg[i]; if (strcmp(arg[iarg], "x") == 0 || @@ -616,7 +616,7 @@ void FixDeformPressure::apply_volume() int dynamic2 = set[i].dynamic2; int fixed = set[i].fixed; double v0 = set[i].vol_start; - double shift; + double shift = 0.0; if (set[i].substyle == ONE_FROM_ONE) { shift = 0.5 * (v0 / (set[dynamic1].hi_target - set[dynamic1].lo_target) / @@ -862,8 +862,8 @@ void FixDeformPressure::options(int i, int narg, char **arg) // parse only options not handled by parent class - int iarg, nskip; - while (i < leftover_iarg.size()) { + int iarg; + while (i < (int) leftover_iarg.size()) { iarg = leftover_iarg[i]; if (strcmp(arg[iarg], "couple") == 0) { if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure couple", error); diff --git a/src/fix_deform.cpp b/src/fix_deform.cpp index 9ee7259482..c19423d844 100644 --- a/src/fix_deform.cpp +++ b/src/fix_deform.cpp @@ -782,7 +782,7 @@ void FixDeform::apply_volume() int dynamic2 = set[i].dynamic2; int fixed = set[i].fixed; double v0 = set[i].vol_start; - double shift; + double shift = 0.0; if (set[i].substyle == ONE_FROM_ONE) { shift = 0.5 * (v0 / (set[dynamic1].hi_target - set[dynamic1].lo_target) / @@ -1002,11 +1002,8 @@ void FixDeform::options(int narg, char **arg) // arguments for child classes std::unordered_map child_options; - int nskip; if (utils::strmatch(style, "^deform/pressure")) { - child_options.insert({{"couple", 2}, - {"max/rate", 2}, - {"normalize/pressure", 2}, + child_options.insert({{"couple", 2}, {"max/rate", 2}, {"normalize/pressure", 2}, {"vol/balance/p", 2}}); } @@ -1033,10 +1030,10 @@ void FixDeform::options(int narg, char **arg) flipflag = utils::logical(FLERR, arg[iarg + 1], false, lmp); iarg += 2; } else if (child_options.find(arg[iarg]) != child_options.end()) { - nskip = child_options[arg[iarg]]; + auto nskip = child_options[arg[iarg]]; if (iarg + nskip > narg) utils::missing_cmd_args(FLERR, fmt::format("fix {} {}", style, arg[iarg]), error); - for (int i = 0; i < nskip; i++) leftover_iarg.push_back(iarg + i); + for (int i = 0; i < nskip; i++) leftover_iarg.push_back(iarg + i); iarg += nskip; } else error->all(FLERR, "Unknown fix {} keyword: {}", style, arg[iarg]); } From 325a7d99d6e640da365d31d7862bbf4aa5eab525 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 22 Feb 2024 07:47:37 -0500 Subject: [PATCH 205/559] error out when cuFFT is not found --- cmake/Modules/Packages/KOKKOS.cmake | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cmake/Modules/Packages/KOKKOS.cmake b/cmake/Modules/Packages/KOKKOS.cmake index fa2201c595..0cc13c9667 100644 --- a/cmake/Modules/Packages/KOKKOS.cmake +++ b/cmake/Modules/Packages/KOKKOS.cmake @@ -140,6 +140,9 @@ if(PKG_KSPACE) target_compile_definitions(lammps PRIVATE -DFFT_KOKKOS_KISS) elseif(FFT_KOKKOS STREQUAL "CUFFT") find_library(CUFFT_LIBRARY cufft) + if (CUFFT_LIBRARY STREQUAL "CUTFFT_LIBRARY-NOTFOUND") + message(FATAL_ERROR "Required cuFFT library not found. Check your environment or set CUFFT_LIBRARY to its location") + endif() target_compile_definitions(lammps PRIVATE -DFFT_KOKKOS_CUFFT) target_link_libraries(lammps PRIVATE ${CUFFT_LIBRARY}) endif() From d6d9a91126a39932564630be9935689dbdcffaa2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 22 Feb 2024 09:13:21 -0500 Subject: [PATCH 206/559] add rebomos potential with examples and unit test --- doc/src/Commands_pair.rst | 1 + doc/src/pair_rebomos.rst | 109 ++ doc/src/pair_style.rst | 1 + examples/threebody/MoS.rebomos | 1 + examples/threebody/in.mos2-bulk | 35 + examples/threebody/in.mos2.rebomos | 31 + .../threebody/log.22Feb24.mos2-bulk.g++.1 | 86 ++ .../threebody/log.22Feb24.mos2-bulk.g++.4 | 86 ++ .../threebody/log.22Feb24.mos2.rebomos.g++.1 | 96 ++ .../threebody/log.22Feb24.mos2.rebomos.g++.4 | 96 ++ potentials/MoS.rebomos | 65 + potentials/README | 4 +- src/.gitignore | 2 + src/MANYBODY/pair_rebomos.cpp | 1161 +++++++++++++++++ src/MANYBODY/pair_rebomos.h | 219 ++++ .../tests/manybody-pair-rebomos.yaml | 126 ++ 16 files changed, 2118 insertions(+), 1 deletion(-) create mode 100644 doc/src/pair_rebomos.rst create mode 120000 examples/threebody/MoS.rebomos create mode 100644 examples/threebody/in.mos2-bulk create mode 100644 examples/threebody/in.mos2.rebomos create mode 100644 examples/threebody/log.22Feb24.mos2-bulk.g++.1 create mode 100644 examples/threebody/log.22Feb24.mos2-bulk.g++.4 create mode 100644 examples/threebody/log.22Feb24.mos2.rebomos.g++.1 create mode 100644 examples/threebody/log.22Feb24.mos2.rebomos.g++.4 create mode 100644 potentials/MoS.rebomos create mode 100644 src/MANYBODY/pair_rebomos.cpp create mode 100644 src/MANYBODY/pair_rebomos.h create mode 100644 unittest/force-styles/tests/manybody-pair-rebomos.yaml diff --git a/doc/src/Commands_pair.rst b/doc/src/Commands_pair.rst index 9f2bdbce79..95dd7429e8 100644 --- a/doc/src/Commands_pair.rst +++ b/doc/src/Commands_pair.rst @@ -256,6 +256,7 @@ OPT. * :doc:`rann ` * :doc:`reaxff (ko) ` * :doc:`rebo (io) ` + * :doc:`rebomos ` * :doc:`resquared (go) ` * :doc:`saip/metal (t) ` * :doc:`sdpd/taitwater/isothermal ` diff --git a/doc/src/pair_rebomos.rst b/doc/src/pair_rebomos.rst new file mode 100644 index 0000000000..56bf6488bb --- /dev/null +++ b/doc/src/pair_rebomos.rst @@ -0,0 +1,109 @@ +.. index:: pair_style rebomos + +pair_style rebomos command +========================= + +Syntax +"""""" + +.. code-block:: LAMMPS + + pair_style rebomos + +* rebomos = name of this pair style + +Examples +"""""""" + +.. code-block:: LAMMPS + + pair_style rebomos + pair_coeff * * ../potentials/MoS.rebomos Mo S + + +Description +""""""""""" + +The *rebomos* pair style computes + + +---------- + +Only a single pair_coeff command is used with the *rebomos* pair style +which specifies an REBOMoS potential file with parameters for Mo and S. +These are mapped to LAMMPS atom types by specifying N additional +arguments after the filename in the pair_coeff command, where N is the +number of LAMMPS atom types: + +* filename +* :math:`N` element names = mapping of REBOMoS elements to atom types + +See the :doc:`pair_coeff ` page for alternate ways +to specify the path for the potential file. + +As an example, if your LAMMPS simulation has three atom types and you want +the first two to be Mo, and the third to be S, you would use the following +pair_coeff command: + +.. code-block:: LAMMPS + + pair_coeff * * MoS.rebomos Mo Mo S + +The first 2 arguments must be \* \* so as to span all LAMMPS atom types. +The first two Mo arguments map LAMMPS atom types 1 and 2 to the Mo +element in the REBOMoS file. The final S argument maps LAMMPS atom type +3 to the S element in the REBOMoS file. If a mapping value is specified +as NULL, the mapping is not performed. This can be used when a +*rebomos* potential is used as part of the *hybrid* pair style. The +NULL values are placeholders for atom types that will be used with other +potentials. + +---------- + +Mixing, shift, table, tail correction, restart, rRESPA info +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +This pair style does not support the :doc:`pair_modify ` +mix, shift, table, and tail options. + +This pair style does not write their information to :doc:`binary restart +files `, since it is stored in potential files. Thus, you need +to re-specify the pair_style and pair_coeff commands in an input script +that reads a restart file. + +This pair styles can only be used via the *pair* keyword of the +:doc:`run_style respa ` command. It does not support the +*inner*, *middle*, *outer* keywords. + +Restrictions +"""""""""""" + +This pair style is part of the MANYBODY package. It is only enabled if +LAMMPS was built with that package. See the :doc:`Build package +` page for more info. + +These pair potentials require the :doc:`newton ` setting to be +"on" for pair interactions. + +The MoS.rebomos potential file provided with LAMMPS (see the potentials +directory) is parameterized for metal :doc:`units `. You can use +the *rebomos* pair style with any LAMMPS units setting, but you would +need to create your own REBOMoS potential file with coefficients listed +in the appropriate units. + +The pair style provided here **only** supports potential files parameterized +for the elements molybdenum and sulfur (designated with "Mo" and "S" in the +*pair_coeff* command. Using potential files for other elements will trigger +an error. + +Related commands +"""""""""""""""" + +:doc:`pair_coeff `, :doc:`pair style rebo ` + +Default +""""""" + +none + +---------- diff --git a/doc/src/pair_style.rst b/doc/src/pair_style.rst index a2467bff2b..53bf269e1c 100644 --- a/doc/src/pair_style.rst +++ b/doc/src/pair_style.rst @@ -333,6 +333,7 @@ accelerated styles exist. * :doc:`rann ` - * :doc:`reaxff ` - ReaxFF potential * :doc:`rebo ` - second generation REBO potential of Brenner +* :doc:`rebomos ` - REBOMoS potential for MoS2 * :doc:`resquared ` - Everaers RE-Squared ellipsoidal potential * :doc:`saip/metal ` - interlayer potential for hetero-junctions formed with hexagonal 2D materials and metal surfaces * :doc:`sdpd/taitwater/isothermal ` - smoothed dissipative particle dynamics for water at isothermal conditions diff --git a/examples/threebody/MoS.rebomos b/examples/threebody/MoS.rebomos new file mode 120000 index 0000000000..6146c74c24 --- /dev/null +++ b/examples/threebody/MoS.rebomos @@ -0,0 +1 @@ +../../potentials/MoS.rebomos \ No newline at end of file diff --git a/examples/threebody/in.mos2-bulk b/examples/threebody/in.mos2-bulk new file mode 100644 index 0000000000..032e71fce8 --- /dev/null +++ b/examples/threebody/in.mos2-bulk @@ -0,0 +1,35 @@ +units metal + +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 & + a2 -1.5964590311 2.7651481541 0.0000000000 & + a3 0.0000000000 0.0000000000 13.9827680588 & + basis 0.0000000000 0.000000000 $(3.0/4.0) & + basis 0.0000000000 0.000000000 $(1.0/4.0) & + basis $(2.0/3.0) $(1.0/3.0) 0.862008989 & + basis $(1.0/3.0) $(2.0/3.0) 0.137990996 & + basis $(1.0/3.0) $(2.0/3.0) 0.362008989 & + basis $(2.0/3.0) $(1.0/3.0) 0.637991011 & + origin 0.1 0.1 0.1 + +region box prism 0 4 0 8 0 1 -2.0 0.0 0.0 +create_box 2 box +create_atoms 2 box & + basis 1 1 & + basis 2 1 & + basis 3 2 & + basis 4 2 & + basis 5 2 & + basis 6 2 + +mass 1 95.95 #Mo +mass 2 32.065 #S + +pair_style rebomos +pair_coeff * * MoS.rebomos Mo S + +thermo_style custom step temp press pe ke cellgamma vol +thermo 10 +#dump 1 all atom 10 MoS.lammpstrj +fix 1 all nve +run 20 + diff --git a/examples/threebody/in.mos2.rebomos b/examples/threebody/in.mos2.rebomos new file mode 100644 index 0000000000..ca91f67003 --- /dev/null +++ b/examples/threebody/in.mos2.rebomos @@ -0,0 +1,31 @@ +# monolayer MoS2 +units metal +boundary p p f +processors * * 1 +atom_modify map array + +atom_style atomic +read_data single_layer_MoS2.data + +mass * 32.065 # mass of sulphur atom , uint: a.u.=1.66X10^(-27)kg +mass 1 95.94 # mass of molebdenum atom , uint: a.u.=1.66X10^(-27)kg + +########################## Define potentials ################################ +pair_style rebomos +pair_coeff * * MoS.rebomos Mo S S +######################################################################### + +### Simulation settings #### +timestep 0.001 +velocity all create 300.0 12345 loop geom + +############################ + +# Output +thermo 500 +thermo_style custom step etotal pe ke temp +thermo_modify lost warn + +###### Run molecular dynamics ###### +fix thermostat all nve +run 5000 diff --git a/examples/threebody/log.22Feb24.mos2-bulk.g++.1 b/examples/threebody/log.22Feb24.mos2-bulk.g++.1 new file mode 100644 index 0000000000..7822ad40c5 --- /dev/null +++ b/examples/threebody/log.22Feb24.mos2-bulk.g++.1 @@ -0,0 +1,86 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-70-ge51a65696d-modified) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +units metal + +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 $(3.0/4.0) basis 0.0000000000 0.000000000 $(1.0/4.0) basis $(2.0/3.0) $(1.0/3.0) 0.862008989 basis $(1.0/3.0) $(2.0/3.0) 0.137990996 basis $(1.0/3.0) $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 $(1.0/4.0) basis $(2.0/3.0) $(1.0/3.0) 0.862008989 basis $(1.0/3.0) $(2.0/3.0) 0.137990996 basis $(1.0/3.0) $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis $(2.0/3.0) $(1.0/3.0) 0.862008989 basis $(1.0/3.0) $(2.0/3.0) 0.137990996 basis $(1.0/3.0) $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 $(1.0/3.0) 0.862008989 basis $(1.0/3.0) $(2.0/3.0) 0.137990996 basis $(1.0/3.0) $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 0.33333333333333331483 0.862008989 basis $(1.0/3.0) $(2.0/3.0) 0.137990996 basis $(1.0/3.0) $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 0.33333333333333331483 0.862008989 basis 0.33333333333333331483 $(2.0/3.0) 0.137990996 basis $(1.0/3.0) $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 0.33333333333333331483 0.862008989 basis 0.33333333333333331483 0.66666666666666662966 0.137990996 basis $(1.0/3.0) $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 0.33333333333333331483 0.862008989 basis 0.33333333333333331483 0.66666666666666662966 0.137990996 basis 0.33333333333333331483 $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 0.33333333333333331483 0.862008989 basis 0.33333333333333331483 0.66666666666666662966 0.137990996 basis 0.33333333333333331483 0.66666666666666662966 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 0.33333333333333331483 0.862008989 basis 0.33333333333333331483 0.66666666666666662966 0.137990996 basis 0.33333333333333331483 0.66666666666666662966 0.362008989 basis 0.66666666666666662966 $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 0.33333333333333331483 0.862008989 basis 0.33333333333333331483 0.66666666666666662966 0.137990996 basis 0.33333333333333331483 0.66666666666666662966 0.362008989 basis 0.66666666666666662966 0.33333333333333331483 0.637991011 origin 0.1 0.1 0.1 +Lattice spacing in x,y,z = 4.7867748 2.7651482 13.982768 + +region box prism 0 4 0 8 0 1 -2.0 0.0 0.0 +create_box 2 box +Created triclinic box = (0 0 0) to (19.147099 22.121185 13.982768) with tilt (-9.5735495 0 0) + 1 by 1 by 1 MPI processor grid +create_atoms 2 box basis 1 1 basis 2 1 basis 3 2 basis 4 2 basis 5 2 basis 6 2 +Created 288 atoms + using lattice units in triclinic box = (0 0 0) to (19.147099 22.121185 13.982768) with tilt (-9.5735495 0 0) + create_atoms CPU = 0.000 seconds + +mass 1 95.95 #Mo +mass 2 32.065 #S + +pair_style rebomos +pair_coeff * * MoS.rebomos Mo S +Reading rebomos potential file MoS.rebomos with DATE: 2013-11-04 + +thermo_style custom step temp press pe ke cellgamma vol +thermo 10 +#dump 1 all atom 10 MoS.lammpstrj +fix 1 all nve +run 20 +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 20.1 + ghost atom cutoff = 20.1 + binsize = 10.05, bins = 3 3 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair rebomos, perpetual + attributes: full, newton on, ghost + pair build: full/bin/ghost + stencil: full/ghost/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 6.759 | 6.759 | 6.759 Mbytes + Step Temp Press PotEng KinEng CellGamma Volume + 0 0 28799.53 -2061.6112 0 113.40187 5922.4926 + 10 80.776057 13540.088 -2064.6132 2.9966028 113.40187 5922.4926 + 20 146.17503 -20669.371 -2067.0428 5.4227518 113.40187 5922.4926 +Loop time of 0.173901 on 1 procs for 20 steps with 288 atoms + +Performance: 9.937 ns/day, 2.415 hours/ns, 115.008 timesteps/s, 33.122 katom-step/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.17213 | 0.17213 | 0.17213 | 0.0 | 98.98 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.0013913 | 0.0013913 | 0.0013913 | 0.0 | 0.80 +Output | 5.0377e-05 | 5.0377e-05 | 5.0377e-05 | 0.0 | 0.03 +Modify | 6.9212e-05 | 6.9212e-05 | 6.9212e-05 | 0.0 | 0.04 +Other | | 0.000264 | | | 0.15 + +Nlocal: 288 ave 288 max 288 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 10002 ave 10002 max 10002 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 477120 ave 477120 max 477120 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 477120 +Ave neighs/atom = 1656.6667 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:00 diff --git a/examples/threebody/log.22Feb24.mos2-bulk.g++.4 b/examples/threebody/log.22Feb24.mos2-bulk.g++.4 new file mode 100644 index 0000000000..c215d88294 --- /dev/null +++ b/examples/threebody/log.22Feb24.mos2-bulk.g++.4 @@ -0,0 +1,86 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-70-ge51a65696d-modified) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +units metal + +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 $(3.0/4.0) basis 0.0000000000 0.000000000 $(1.0/4.0) basis $(2.0/3.0) $(1.0/3.0) 0.862008989 basis $(1.0/3.0) $(2.0/3.0) 0.137990996 basis $(1.0/3.0) $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 $(1.0/4.0) basis $(2.0/3.0) $(1.0/3.0) 0.862008989 basis $(1.0/3.0) $(2.0/3.0) 0.137990996 basis $(1.0/3.0) $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis $(2.0/3.0) $(1.0/3.0) 0.862008989 basis $(1.0/3.0) $(2.0/3.0) 0.137990996 basis $(1.0/3.0) $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 $(1.0/3.0) 0.862008989 basis $(1.0/3.0) $(2.0/3.0) 0.137990996 basis $(1.0/3.0) $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 0.33333333333333331483 0.862008989 basis $(1.0/3.0) $(2.0/3.0) 0.137990996 basis $(1.0/3.0) $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 0.33333333333333331483 0.862008989 basis 0.33333333333333331483 $(2.0/3.0) 0.137990996 basis $(1.0/3.0) $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 0.33333333333333331483 0.862008989 basis 0.33333333333333331483 0.66666666666666662966 0.137990996 basis $(1.0/3.0) $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 0.33333333333333331483 0.862008989 basis 0.33333333333333331483 0.66666666666666662966 0.137990996 basis 0.33333333333333331483 $(2.0/3.0) 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 0.33333333333333331483 0.862008989 basis 0.33333333333333331483 0.66666666666666662966 0.137990996 basis 0.33333333333333331483 0.66666666666666662966 0.362008989 basis $(2.0/3.0) $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 0.33333333333333331483 0.862008989 basis 0.33333333333333331483 0.66666666666666662966 0.137990996 basis 0.33333333333333331483 0.66666666666666662966 0.362008989 basis 0.66666666666666662966 $(1.0/3.0) 0.637991011 origin 0.1 0.1 0.1 +lattice custom 1.0 a1 3.1903157234 0.0000000000 0.0000000000 a2 -1.5964590311 2.7651481541 0.0000000000 a3 0.0000000000 0.0000000000 13.9827680588 basis 0.0000000000 0.000000000 0.75 basis 0.0000000000 0.000000000 0.25 basis 0.66666666666666662966 0.33333333333333331483 0.862008989 basis 0.33333333333333331483 0.66666666666666662966 0.137990996 basis 0.33333333333333331483 0.66666666666666662966 0.362008989 basis 0.66666666666666662966 0.33333333333333331483 0.637991011 origin 0.1 0.1 0.1 +Lattice spacing in x,y,z = 4.7867748 2.7651482 13.982768 + +region box prism 0 4 0 8 0 1 -2.0 0.0 0.0 +create_box 2 box +Created triclinic box = (0 0 0) to (19.147099 22.121185 13.982768) with tilt (-9.5735495 0 0) + 2 by 2 by 1 MPI processor grid +create_atoms 2 box basis 1 1 basis 2 1 basis 3 2 basis 4 2 basis 5 2 basis 6 2 +Created 288 atoms + using lattice units in triclinic box = (0 0 0) to (19.147099 22.121185 13.982768) with tilt (-9.5735495 0 0) + create_atoms CPU = 0.001 seconds + +mass 1 95.95 #Mo +mass 2 32.065 #S + +pair_style rebomos +pair_coeff * * MoS.rebomos Mo S +Reading rebomos potential file MoS.rebomos with DATE: 2013-11-04 + +thermo_style custom step temp press pe ke cellgamma vol +thermo 10 +#dump 1 all atom 10 MoS.lammpstrj +fix 1 all nve +run 20 +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 20.1 + ghost atom cutoff = 20.1 + binsize = 10.05, bins = 3 3 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair rebomos, perpetual + attributes: full, newton on, ghost + pair build: full/bin/ghost + stencil: full/ghost/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.977 | 4.978 | 4.978 Mbytes + Step Temp Press PotEng KinEng CellGamma Volume + 0 0 28799.53 -2061.6112 0 113.40187 5922.4926 + 10 80.776057 13540.088 -2064.6132 2.9966028 113.40187 5922.4926 + 20 146.17503 -20669.371 -2067.0428 5.4227518 113.40187 5922.4926 +Loop time of 0.0644788 on 4 procs for 20 steps with 288 atoms + +Performance: 26.799 ns/day, 0.896 hours/ns, 310.179 timesteps/s, 89.332 katom-step/s +99.2% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.057739 | 0.059918 | 0.06231 | 0.7 | 92.93 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.0018848 | 0.0042821 | 0.0064683 | 2.6 | 6.64 +Output | 3.7548e-05 | 4.1425e-05 | 5.1594e-05 | 0.0 | 0.06 +Modify | 3.4882e-05 | 3.5821e-05 | 3.6589e-05 | 0.0 | 0.06 +Other | | 0.0002014 | | | 0.31 + +Nlocal: 72 ave 72 max 72 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 7113.5 ave 7114 max 7113 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 119280 ave 119280 max 119280 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 477120 +Ave neighs/atom = 1656.6667 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:00 diff --git a/examples/threebody/log.22Feb24.mos2.rebomos.g++.1 b/examples/threebody/log.22Feb24.mos2.rebomos.g++.1 new file mode 100644 index 0000000000..e0a313647d --- /dev/null +++ b/examples/threebody/log.22Feb24.mos2.rebomos.g++.1 @@ -0,0 +1,96 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-70-ge51a65696d-modified) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# monolayer MoS2 +units metal +boundary p p f +processors * * 1 +atom_modify map array + +atom_style atomic +read_data single_layer_MoS2.data +Reading data file ... + triclinic box = (0 0 -100) to (51.15232 44.299209 100) with tilt (25.57616 0 0) +WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (src/domain.cpp:219) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 768 atoms + read_data CPU = 0.003 seconds + +mass * 32.065 # mass of sulphur atom , uint: a.u.=1.66X10^(-27)kg +mass 1 95.94 # mass of molebdenum atom , uint: a.u.=1.66X10^(-27)kg + +########################## Define potentials ################################ +pair_style rebomos +pair_coeff * * MoS.rebomos Mo S S +Reading rebomos potential file MoS.rebomos with DATE: 2013-11-04 +######################################################################### + +### Simulation settings #### +timestep 0.001 +velocity all create 300.0 12345 loop geom + +############################ + +# Output +thermo 500 +thermo_style custom step etotal pe ke temp +thermo_modify lost warn + +###### Run molecular dynamics ###### +fix thermostat all nve +run 5000 +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 20.1 + ghost atom cutoff = 20.1 + binsize = 10.05, bins = 8 5 20 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair rebomos, perpetual + attributes: full, newton on, ghost + pair build: full/bin/ghost + stencil: full/ghost/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.273 | 5.273 | 5.273 Mbytes + Step TotEng PotEng KinEng Temp + 0 -5466.9785 -5496.7212 29.742759 300 + 500 -5466.964 -5482.6985 15.734505 158.7059 + 1000 -5466.9615 -5480.9492 13.98763 141.08607 + 1500 -5466.964 -5482.6912 15.727258 158.63281 + 2000 -5466.9657 -5483.3606 16.394878 165.36675 + 2500 -5466.9624 -5481.6253 14.662948 147.89765 + 3000 -5466.9642 -5482.7515 15.7873 159.23842 + 3500 -5466.9654 -5483.3789 16.413502 165.5546 + 4000 -5466.9628 -5481.848 14.885236 150.13977 + 4500 -5466.9648 -5483.5045 16.539775 166.82825 + 5000 -5466.9649 -5483.4932 16.528298 166.71249 +Loop time of 36.2406 on 1 procs for 5000 steps with 768 atoms + +Performance: 11.920 ns/day, 2.013 hours/ns, 137.967 timesteps/s, 105.959 katom-step/s +99.9% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 36.14 | 36.14 | 36.14 | 0.0 | 99.72 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.043166 | 0.043166 | 0.043166 | 0.0 | 0.12 +Output | 0.00021785 | 0.00021785 | 0.00021785 | 0.0 | 0.00 +Modify | 0.034547 | 0.034547 | 0.034547 | 0.0 | 0.10 +Other | | 0.02219 | | | 0.06 + +Nlocal: 768 ave 768 max 768 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 2054 ave 2054 max 2054 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 330752 ave 330752 max 330752 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 330752 +Ave neighs/atom = 430.66667 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:36 diff --git a/examples/threebody/log.22Feb24.mos2.rebomos.g++.4 b/examples/threebody/log.22Feb24.mos2.rebomos.g++.4 new file mode 100644 index 0000000000..7510c5a793 --- /dev/null +++ b/examples/threebody/log.22Feb24.mos2.rebomos.g++.4 @@ -0,0 +1,96 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-70-ge51a65696d-modified) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# monolayer MoS2 +units metal +boundary p p f +processors * * 1 +atom_modify map array + +atom_style atomic +read_data single_layer_MoS2.data +Reading data file ... + triclinic box = (0 0 -100) to (51.15232 44.299209 100) with tilt (25.57616 0 0) +WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (src/domain.cpp:219) + 2 by 2 by 1 MPI processor grid + reading atoms ... + 768 atoms + read_data CPU = 0.002 seconds + +mass * 32.065 # mass of sulphur atom , uint: a.u.=1.66X10^(-27)kg +mass 1 95.94 # mass of molebdenum atom , uint: a.u.=1.66X10^(-27)kg + +########################## Define potentials ################################ +pair_style rebomos +pair_coeff * * MoS.rebomos Mo S S +Reading rebomos potential file MoS.rebomos with DATE: 2013-11-04 +######################################################################### + +### Simulation settings #### +timestep 0.001 +velocity all create 300.0 12345 loop geom + +############################ + +# Output +thermo 500 +thermo_style custom step etotal pe ke temp +thermo_modify lost warn + +###### Run molecular dynamics ###### +fix thermostat all nve +run 5000 +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 20.1 + ghost atom cutoff = 20.1 + binsize = 10.05, bins = 8 5 20 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair rebomos, perpetual + attributes: full, newton on, ghost + pair build: full/bin/ghost + stencil: full/ghost/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.464 | 4.464 | 4.464 Mbytes + Step TotEng PotEng KinEng Temp + 0 -5466.9785 -5496.7212 29.742759 300 + 500 -5466.964 -5482.6985 15.734505 158.7059 + 1000 -5466.9615 -5480.9492 13.98763 141.08607 + 1500 -5466.964 -5482.6912 15.727258 158.63281 + 2000 -5466.9657 -5483.3606 16.394878 165.36675 + 2500 -5466.9624 -5481.6253 14.662948 147.89765 + 3000 -5466.9642 -5482.7515 15.7873 159.23842 + 3500 -5466.9654 -5483.3789 16.413502 165.5546 + 4000 -5466.9628 -5481.848 14.885236 150.13977 + 4500 -5466.9648 -5483.5045 16.539775 166.82825 + 5000 -5466.9649 -5483.4932 16.528298 166.71249 +Loop time of 10.2878 on 4 procs for 5000 steps with 768 atoms + +Performance: 41.992 ns/day, 0.572 hours/ns, 486.014 timesteps/s, 373.259 katom-step/s +99.7% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 9.7925 | 9.9286 | 10.096 | 3.6 | 96.51 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.16754 | 0.33518 | 0.47096 | 19.5 | 3.26 +Output | 0.00016889 | 0.00018727 | 0.00023915 | 0.0 | 0.00 +Modify | 0.010131 | 0.010502 | 0.011106 | 0.4 | 0.10 +Other | | 0.01333 | | | 0.13 + +Nlocal: 192 ave 194 max 190 min +Histogram: 1 0 0 0 0 2 0 0 0 1 +Nghost: 1350 ave 1352 max 1348 min +Histogram: 1 0 0 0 0 2 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 82688 ave 83548 max 81828 min +Histogram: 1 0 0 0 0 2 0 0 0 1 + +Total # of neighbors = 330752 +Ave neighs/atom = 430.66667 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:10 diff --git a/potentials/MoS.rebomos b/potentials/MoS.rebomos new file mode 100644 index 0000000000..ea96981a1e --- /dev/null +++ b/potentials/MoS.rebomos @@ -0,0 +1,65 @@ +# DATE: 2013-11-04 UNITS: metal CONTRIBUTOR: J Stewart, K Dang, D Spearot (UArk) CITATION: Stewart J A and Spearot D E, Modelling Simul. Mater. Sci. Eng. 21. +# MoS-S REBO Brenner/Sinnot Potential as published in +# Liang T, Phillpot S R and Sinnott S B (2009) Phys. Rev. B79 245110, Erratum: Phys. Rev. B85 199903(E). + +3.50 rcmin_MM +2.75 rcmin_MS +2.30 rcmin_SS +3.80 rcmax_MM +3.05 rcmax_MS +3.00 rcmax_SS +3.419129390005910 Q_MM +1.505537839153790 Q_MS +0.254959104053671 Q_SS +1.07500712999340 alpha_MM +1.19267902218820 alpha_MS +1.10775022439715 alpha_SS +179.008013654688 A_MM +575.509677721866 A_MS +1228.43233679426 A_SS +706.247903589221 BIJc_MM1 +1344.46820036159 BIJc_MS1 +1498.64815404145 BIJc_SS1 +1.16100322369589 Beta_MM1 +1.26973752204290 Beta_MS1 +1.12673623610320 Beta_SS1 +0.1326842550663270 M_b0 +-0.007642788338017 M_b1 +0.0341395775059370 M_b2 +0.2523050971380870 M_b3 +0.1227287372225670 M_b4 +-0.361387798398897 M_b5 +-0.282577591351457 M_b6 +0.120194301035280 M_bg0 +0.045238287358190 M_bg1 +0.067922807244030 M_bg2 +-0.03672511378682 M_bg3 +0.107516477513860 M_bg4 +0.004964711984940 M_bg5 +-0.12997598358652 M_bg6 +0.006848761596750 S_b0 +-0.02389964401024 S_b1 +0.137457353311170 S_b2 +0.033016467497740 S_b3 +-0.31064291544850 S_b4 +-0.08550273135791 S_b5 +0.149252790306880 S_b6 +-0.2850852 S_bg0 +1.67102480 S_bg1 +-3.5678516 S_bg2 +3.45054990 S_bg3 +-1.2186289 S_bg4 +0.0 S_bg5 +0.0 S_bg6 +0.138040769883614 M_a0 +0.803625443023934 M_a1 +0.292412960851064 M_a2 +0.640588078946224 M_a3 +0.062978539843324 S_a0 +2.478617619878250 S_a1 +0.036666243238154 S_a2 +2.386431372486710 S_a3 +0.00058595 epsilon_MM +0.01386 epsilon_SS +4.200 sigma_MM +3.130 sigma_SS diff --git a/potentials/README b/potentials/README index c234f5f48b..2cb4a383c5 100644 --- a/potentials/README +++ b/potentials/README @@ -84,7 +84,7 @@ Au_u3 = Gold universal 3 The suffix of each file indicates the pair style it is used with: adp ADP angular dependent potential -airebo AI-REBO and REBO potentials +airebo AI-REBO potentials bop.table BOP potential, tabulated form cdeam concentration-dependent EAM comb COMB potential @@ -107,6 +107,8 @@ nb3b.harmonic nonbonded 3-body harmonic potential pod ML potential with proper orthogonal descriptors (POD) poly polymorphic 3-body potential reax ReaxFF potential (see README.reax for more info) +rebo REBO potentials +rebomos REBOMoS potential smtbq second moment tight binding QEq (SMTBQ) potential snap SNAP potential snapcoeff SNAP potential diff --git a/src/.gitignore b/src/.gitignore index 9e2c36bdd0..ba4c4c05b0 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -1371,6 +1371,8 @@ /pair_reaxff.h /pair_rebo.cpp /pair_rebo.h +/pair_rebomos.cpp +/pair_rebomos.h /pair_resquared.cpp /pair_resquared.h /pair_saip_metal.cpp diff --git a/src/MANYBODY/pair_rebomos.cpp b/src/MANYBODY/pair_rebomos.cpp new file mode 100644 index 0000000000..1211ad5c7e --- /dev/null +++ b/src/MANYBODY/pair_rebomos.cpp @@ -0,0 +1,1161 @@ +// 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. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + References: + + This code: + Stewart J A and Spearot D E (2013) Atomistic simulations of nanoindentation on the basal plane of crystalline molybdenum disulfide. Modelling Simul. Mater. Sci. Eng. 21. + + Based on: + Liang T, Phillpot S R and Sinnott S B (2009) Parameterization of a reactive many-body potential for Mo2S systems. Phys. Rev. B79 245110. + Liang T, Phillpot S R and Sinnott S B (2012) Erratum: Parameterization of a reactive many-body potential for Mo-S systems. (Phys. Rev. B79 245110 (2009)) Phys. Rev. B85 199903(E). + + LAMMPS file contributing authors: James Stewart, Khanh Dang and Douglas Spearot (University of Arkansas) +------------------------------------------------------------------------- */ + +// clang-format on + +#include "pair_rebomos.h" + +#include "atom.h" +#include "comm.h" +#include "error.h" +#include "force.h" +#include "math_const.h" +#include "math_special.h" +#include "memory.h" +#include "my_page.h" +#include "neigh_list.h" +#include "neighbor.h" +#include "potential_file_reader.h" +#include "text_file_reader.h" + +#include +#include + +using namespace LAMMPS_NS; +using namespace MathConst; +using MathSpecial::cube; +using MathSpecial::powint; +using MathSpecial::square; + +#define MAXLINE 1024 +#define TOL 1.0e-9 +#define PGDELTA 1 + +/* ---------------------------------------------------------------------- */ + +PairREBOMoS::PairREBOMoS(LAMMPS *lmp) : Pair(lmp) +{ + single_enable = 0; + restartinfo = 0; + one_coeff = 1; + ghostneigh = 1; + manybody_flag = 1; + centroidstressflag = CENTROID_NOTAVAIL; + + maxlocal = 0; + REBO_numneigh = nullptr; + REBO_firstneigh = nullptr; + ipage = nullptr; + pgsize = oneatom = 0; + nM = nS = nullptr; +} + +// clang-format off + +/* ---------------------------------------------------------------------- + Check if allocated, since class can be destructed when incomplete +------------------------------------------------------------------------- */ + +PairREBOMoS::~PairREBOMoS() +{ + memory->destroy(REBO_numneigh); + memory->sfree(REBO_firstneigh); + delete[] ipage; + memory->destroy(nM); + memory->destroy(nS); + + if (allocated) { + memory->destroy(setflag); + memory->destroy(cutsq); + memory->destroy(cutghost); + + memory->destroy(lj1); + memory->destroy(lj2); + memory->destroy(lj3); + memory->destroy(lj4); + } +} + +/* ---------------------------------------------------------------------- */ + +void PairREBOMoS::compute(int eflag, int vflag) +{ + ev_init(eflag,vflag); + + REBO_neigh(); + FREBO(eflag); + FLJ(eflag); + + if (vflag_fdotr) virial_fdotr_compute(); +} + +/* ---------------------------------------------------------------------- + allocate all arrays +------------------------------------------------------------------------- */ + +void PairREBOMoS::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"); + memory->create(cutghost,n+1,n+1,"pair:cutghost"); + + // only sized by M,S = 2 types + + memory->create(lj1,2,2,"pair:lj1"); + memory->create(lj2,2,2,"pair:lj2"); + memory->create(lj3,2,2,"pair:lj3"); + memory->create(lj4,2,2,"pair:lj4"); + + map = new int[n+1]; +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairREBOMoS::settings(int narg, char ** /* arg */) +{ + if (narg != 0) error->all(FLERR,"Illegal pair_style command"); +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type pairs +------------------------------------------------------------------------- */ + +void PairREBOMoS::coeff(int narg, char **arg) +{ + if (!allocated) allocate(); + + if (narg != 3 + atom->ntypes) + error->all(FLERR,"Incorrect args for pair coefficients"); + + // insure I,J args are * * + + if (strcmp(arg[0],"*") != 0 || strcmp(arg[1],"*") != 0) + error->all(FLERR,"Incorrect args for pair coefficients"); + + // read args that map atom types to Mo and S + // map[i] = which element (0,1) the Ith atom type is, -1 if NULL + + for (int i = 3; i < narg; i++) { + if (strcmp(arg[i],"NULL") == 0) { + map[i-2] = -1; + continue; + } else if (strcmp(arg[i],"Mo") == 0) { + map[i-2] = 0; + } else if (strcmp(arg[i],"M") == 0) { // backward compatibility + map[i-2] = 0; + } else if (strcmp(arg[i],"S") == 0) { + map[i-2] = 1; + } else error->all(FLERR,"Incorrect args for pair coefficients"); + } + + // read potential file and initialize fitting splines + + read_file(arg[2]); + + // clear setflag since coeff() called once with I,J = * * + + int n = atom->ntypes; + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + setflag[i][j] = 0; + + // set setflag i,j for type pairs where both are mapped to elements + + int count = 0; + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + if (map[i] >= 0 && map[j] >= 0) { + setflag[i][j] = 1; + count++; + } + + if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); +} + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairREBOMoS::init_style() +{ + if (atom->tag_enable == 0) + error->all(FLERR,"Pair style REBOMoS requires atom IDs"); + if (force->newton_pair == 0) + error->all(FLERR,"Pair style REBOMoS requires newton pair on"); + + // need a full neighbor list, including neighbors of ghosts + + neighbor->add_request(this,NeighConst::REQ_FULL|NeighConst::REQ_GHOST); + + // local REBO neighbor list + // create pages if first time or if neighbor pgsize/oneatom has changed + + int create = 0; + if (ipage == nullptr) create = 1; + if (pgsize != neighbor->pgsize) create = 1; + if (oneatom != neighbor->oneatom) create = 1; + + if (create) { + delete[] ipage; + pgsize = neighbor->pgsize; + oneatom = neighbor->oneatom; + + int nmypage= comm->nthreads; + ipage = new MyPage[nmypage]; + for (int i = 0; i < nmypage; i++) + ipage[i].init(oneatom,pgsize,PGDELTA); + } +} + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairREBOMoS::init_one(int i, int j) +{ + if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set"); + + // convert to Mo,S types + + int ii = map[i]; + int jj = map[j]; + + // use Mo-Mo values for these cutoffs since M atoms are biggest + + // cut3rebo = 3 REBO distances + + cut3rebo = 3.0 * rcmax[0][0]; + + // cutljrebosq = furthest distance from an owned atom a ghost atom can be + // to need its REBO neighs computed + // interaction = M-K-I-J-L-N with I = owned and J = ghost + // this insures N is in the REBO neigh list of L + // since I-J < rcLJmax and J-L < rmax + + double cutljrebo = rcLJmax[0][0] + rcmax[0][0]; + cutljrebosq = cutljrebo * cutljrebo; + + // cutmax = furthest distance from an owned atom + // at which another atom will feel force, i.e. the ghost cutoff + // for REBO term in potential: + // interaction = M-K-I-J-L-N with I = owned and J = ghost + // I to N is max distance = 3 REBO distances + // for LJ term in potential: + // short interaction = M-K-I-J-L-N with I = owned, J = ghost, I-J < rcLJmax + // rcLJmax + 2*rcmax, since I-J < rcLJmax and J-L,L-N = REBO distances + // long interaction = I-J with I = owned and J = ghost + // cutlj*sigma, since I-J < LJ cutoff + // cutghost = REBO cutoff used in REBO_neigh() for neighbors of ghosts + + double cutmax = MAX(cut3rebo,rcLJmax[0][0] + 2.0*rcmax[0][0]); + + cutghost[i][j] = rcmax[ii][jj]; + lj1[ii][jj] = 48.0 * epsilon[ii][jj] * powint(sigma[ii][jj],12); + lj2[ii][jj] = 24.0 * epsilon[ii][jj] * powint(sigma[ii][jj],6); + lj3[ii][jj] = 4.0 * epsilon[ii][jj] * powint(sigma[ii][jj],12); + lj4[ii][jj] = 4.0 * epsilon[ii][jj] * powint(sigma[ii][jj],6); + + cutghost[j][i] = cutghost[i][j]; + lj1[jj][ii] = lj1[ii][jj]; + lj2[jj][ii] = lj2[ii][jj]; + lj3[jj][ii] = lj3[ii][jj]; + lj4[jj][ii] = lj4[ii][jj]; + + return cutmax; +} + +/* ---------------------------------------------------------------------- + create REBO neighbor list from main neighbor list + REBO neighbor list stores neighbors of ghost atoms +------------------------------------------------------------------------- */ + +void PairREBOMoS::REBO_neigh() +{ + int i,j,ii,jj,n,allnum,jnum,itype,jtype; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq,dS; + int *ilist,*jlist,*numneigh,**firstneigh; + int *neighptr; + + double **x = atom->x; + int *type = atom->type; + + if (atom->nmax > maxlocal) { + maxlocal = atom->nmax; + memory->destroy(REBO_numneigh); + memory->sfree(REBO_firstneigh); + memory->destroy(nM); + memory->destroy(nS); + memory->create(REBO_numneigh,maxlocal,"REBOMoS:numneigh"); + REBO_firstneigh = (int **) memory->smalloc(maxlocal*sizeof(int *), + "REBOMoS:firstneigh"); + memory->create(nM,maxlocal,"REBOMoS:nM"); + memory->create(nS,maxlocal,"REBOMoS:nS"); + } + + allnum = list->inum + list->gnum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // store all REBO neighs of owned and ghost atoms + // scan full neighbor list of I + + ipage->reset(); + + for (ii = 0; ii < allnum; ii++) { + i = ilist[ii]; + + n = 0; + neighptr = ipage->vget(); + + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itype = map[type[i]]; + nM[i] = nS[i] = 0.0; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + jtype = map[type[j]]; + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq < rcmaxsq[itype][jtype]) { + neighptr[n++] = j; + if (jtype == 0) + nM[i] += Sp(sqrt(rsq),rcmin[itype][jtype],rcmax[itype][jtype],dS); + else + nS[i] += Sp(sqrt(rsq),rcmin[itype][jtype],rcmax[itype][jtype],dS); + } + } + + REBO_firstneigh[i] = neighptr; + REBO_numneigh[i] = n; + ipage->vgot(n); + if (ipage->status()) + error->one(FLERR,"Neighbor list overflow, boost neigh_modify one"); + } +} + +/* ---------------------------------------------------------------------- + REBO forces and energy +------------------------------------------------------------------------- */ + +void PairREBOMoS::FREBO(int eflag) +{ + int i,j,k,ii,inum,itype,jtype; + tagint itag, jtag; + double delx,dely,delz,evdwl,fpair,xtmp,ytmp,ztmp; + double rsq,rij,wij; + double Qij,Aij,alphaij,VR,pre,dVRdi,VA,bij,dVAdi,dVA; + double dwij,del[3]; + int *ilist,*REBO_neighs; + + evdwl = 0.0; + + double **x = atom->x; + double **f = atom->f; + int *type = atom->type; + tagint *tag = atom->tag; + int nlocal = atom->nlocal; + int newton_pair = force->newton_pair; + + inum = list->inum; + ilist = list->ilist; + + // two-body interactions from REBO neighbor list, skip half of them + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + itag = tag[i]; + itype = map[type[i]]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + REBO_neighs = REBO_firstneigh[i]; + + for (k = 0; k < REBO_numneigh[i]; k++) { + j = REBO_neighs[k]; + jtag = tag[j]; + + if (itag > jtag) { + if ((itag+jtag) % 2 == 0) continue; + } else if (itag < jtag) { + if ((itag+jtag) % 2 == 1) continue; + } else { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp && x[j][1] < ytmp) continue; + if (x[j][2] == ztmp && x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + + jtype = map[type[j]]; + + delx = x[i][0] - x[j][0]; + dely = x[i][1] - x[j][1]; + delz = x[i][2] - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + rij = sqrt(rsq); + wij = Sp(rij,rcmin[itype][jtype],rcmax[itype][jtype],dwij); + if (wij <= TOL) continue; + + Qij = Q[itype][jtype]; + Aij = A[itype][jtype]; + alphaij = alpha[itype][jtype]; + + VR = wij*(1.0+(Qij/rij)) * Aij*exp(-alphaij*rij); + pre = wij*Aij * exp(-alphaij*rij); + dVRdi = pre * ((-alphaij)-(Qij/rsq)-(Qij*alphaij/rij)); + dVRdi += VR/wij * dwij; + + VA = dVA = 0.0; + VA = -wij * BIJc[itype][jtype] * exp(-Beta[itype][jtype]*rij); + + dVA = -Beta[itype][jtype] * VA; + dVA += VA/wij * dwij; + + del[0] = delx; + del[1] = dely; + del[2] = delz; + bij = bondorder(i,j,del,rij,VA,f); + dVAdi = bij*dVA; + + fpair = -(dVRdi+dVAdi) / rij; + f[i][0] += delx*fpair; + f[i][1] += dely*fpair; + f[i][2] += delz*fpair; + f[j][0] -= delx*fpair; + f[j][1] -= dely*fpair; + f[j][2] -= delz*fpair; + + if (eflag) evdwl = VR + bij*VA; + if (evflag) ev_tally(i,j,nlocal,newton_pair,evdwl,0.0,fpair,delx,dely,delz); + } + } +} + +/* ---------------------------------------------------------------------- + compute LJ forces and energy +------------------------------------------------------------------------- */ + +void PairREBOMoS::FLJ(int eflag) +{ + int i,j,ii,jj,inum,jnum,itype,jtype; + tagint itag,jtag; + double evdwl,fpair,xtmp,ytmp,ztmp; + double rij,delij[3],rijsq; + double VLJ,dVLJ; + double vdw,dvdw; + double r2inv,r6inv; + int *ilist,*jlist,*numneigh,**firstneigh; + double c2,c3,dr,drp,r6; + + // I-J interaction from full neighbor list + // skip 1/2 of interactions since only consider each pair once + + evdwl = 0.0; + + double **x = atom->x; + double **f = atom->f; + tagint *tag = atom->tag; + int *type = atom->type; + int nlocal = atom->nlocal; + int newton_pair = force->newton_pair; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // loop over neighbors of my atoms + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + itag = tag[i]; + itype = map[type[i]]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + jtag = tag[j]; + + if (itag > jtag) { + if ((itag+jtag) % 2 == 0) continue; + } else if (itag < jtag) { + if ((itag+jtag) % 2 == 1) continue; + } else { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp && x[j][1] < ytmp) continue; + if (x[j][2] == ztmp && x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + jtype = map[type[j]]; + + delij[0] = xtmp - x[j][0]; + delij[1] = ytmp - x[j][1]; + delij[2] = ztmp - x[j][2]; + rijsq = delij[0]*delij[0] + delij[1]*delij[1] + delij[2]*delij[2]; + rij = sqrt(rijsq); + + // compute LJ forces and energy + + // Outside Rmax + if (rij > rcLJmax[itype][jtype] || rij < rcLJmin[itype][jtype]){ + VLJ = 0; + dVLJ = 0; + } + + // Inside Rmax and above 0.95*sigma + else if (rij <= rcLJmax[itype][jtype] && rij >= 0.95*sigma[itype][jtype]){ + r2inv = 1.0/rijsq; + r6inv = r2inv*r2inv*r2inv; + VLJ = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]); + dVLJ = -r6inv*(lj1[itype][jtype]*r6inv - lj2[itype][jtype])/rij; + } + + // Below 0.95*sigma + else if (rij < 0.95*sigma[itype][jtype] && rij >= rcLJmin[itype][jtype]){ + dr = 0.95*sigma[itype][jtype] - rcLJmin[itype][jtype]; + r6 = powint((sigma[itype][jtype]/(0.95*sigma[itype][jtype])),6); + vdw = 4*epsilon[itype][jtype]*r6*(r6 - 1.0); + dvdw = (-4*epsilon[itype][jtype]/(0.95*sigma[itype][jtype]))*r6*(12.0*r6 - 6.0); + c2 = ((3.0/dr)*vdw - dvdw)/dr; + c3 = (vdw/(dr*dr) - c2)/dr; + + drp = rij - rcLJmin[itype][jtype]; + VLJ = drp*drp*(drp*c3 + c2); + dVLJ = drp*(3.0*drp*c3 + 2.0*c2); + } + + fpair = -dVLJ/rij; + f[i][0] += delij[0]*fpair; + f[i][1] += delij[1]*fpair; + f[i][2] += delij[2]*fpair; + f[j][0] -= delij[0]*fpair; + f[j][1] -= delij[1]*fpair; + f[j][2] -= delij[2]*fpair; + + if (eflag) evdwl = VLJ; + if (evflag) ev_tally(i,j,nlocal,newton_pair, + evdwl,0.0,fpair,delij[0],delij[1],delij[2]); + + } + } +} + +/* ---------------------------------------------------------------------- + Bij function + + The bond order term modified the attractive portion of the REBO + potential based on the number of atoms around a specific pair + and the bond angle between sets of three atoms. + + The functions G(cos(theta)) and P(N) are evaluated and their + derivatives are also computed for use in the force calculation. +------------------------------------------------------------------------- */ + +double PairREBOMoS::bondorder(int i, int j, double rij[3], double rijmag, double VA, double **f) +{ + int atomi,atomj,atomk,atoml; + int k,l; + int itype, jtype, ktype, ltype; + double rik[3], rjl[3], rji[3], rki[3],rlj[3], dwjl, bij; + double NijM,NijS,NjiM,NjiS,wik,dwik,wjl; + double rikmag,rjlmag,cosjik,cosijl,g,tmp2; + double Etmp,pij,tmp,dwij,dS; + double dgdc,pji; + double dcosjikdri[3],dcosijldri[3],dcosjikdrk[3]; + double dp; + double dcosjikdrj[3],dcosijldrj[3],dcosijldrl[3]; + double fi[3],fj[3],fk[3],fl[3]; + double PijS, PjiS; + int *REBO_neighs; + + double **x = atom->x; + int *type = atom->type; + + atomi = i; + atomj = j; + itype = map[type[i]]; + jtype = map[type[j]]; + Sp(rijmag,rcmin[itype][jtype],rcmax[itype][jtype],dwij); + NijM = nM[i]; + NijS = nS[i]; + NjiM = nM[j]; + NjiS = nS[j]; + bij = 0.0; + tmp = 0.0; + tmp2 = 0.0; + dgdc = 0.0; + Etmp = 0.0; + + REBO_neighs = REBO_firstneigh[i]; + for (k = 0; k < REBO_numneigh[i]; k++) { + atomk = REBO_neighs[k]; + if (atomk != atomj) { + ktype = map[type[atomk]]; + rik[0] = x[atomi][0]-x[atomk][0]; + rik[1] = x[atomi][1]-x[atomk][1]; + rik[2] = x[atomi][2]-x[atomk][2]; + rikmag = sqrt((rik[0]*rik[0])+(rik[1]*rik[1])+(rik[2]*rik[2])); + wik = Sp(rikmag,rcmin[itype][ktype],rcmax[itype][ktype],dS); + cosjik = ((rij[0]*rik[0])+(rij[1]*rik[1])+(rij[2]*rik[2])) / (rijmag*rikmag); + cosjik = MIN(cosjik,1.0); + cosjik = MAX(cosjik,-1.0); + + // evaluate g and derivative dg + + g = gSpline(cosjik,itype,dgdc); + Etmp = Etmp+(wik*g); + } + } + + dp = 0.0; + PijS = PijSpline(NijM,NijS,itype,dp); + pij = 1.0/sqrt(1.0+Etmp+PijS); + tmp = -0.5*cube(pij); + + // derivative calculations + + REBO_neighs = REBO_firstneigh[i]; + for (k = 0; k < REBO_numneigh[i]; k++) { + atomk = REBO_neighs[k]; + if (atomk != atomj) { + ktype = map[type[atomk]]; + rik[0] = x[atomi][0]-x[atomk][0]; + rik[1] = x[atomi][1]-x[atomk][1]; + rik[2] = x[atomi][2]-x[atomk][2]; + rikmag = sqrt((rik[0]*rik[0])+(rik[1]*rik[1])+(rik[2]*rik[2])); + wik = Sp(rikmag,rcmin[itype][ktype],rcmax[itype][ktype],dwik); + cosjik = (rij[0]*rik[0] + rij[1]*rik[1] + rij[2]*rik[2]) / (rijmag*rikmag); + cosjik = MIN(cosjik,1.0); + cosjik = MAX(cosjik,-1.0); + + dcosjikdri[0] = ((rij[0]+rik[0])/(rijmag*rikmag)) - + (cosjik*((rij[0]/(rijmag*rijmag))+(rik[0]/(rikmag*rikmag)))); + dcosjikdri[1] = ((rij[1]+rik[1])/(rijmag*rikmag)) - + (cosjik*((rij[1]/(rijmag*rijmag))+(rik[1]/(rikmag*rikmag)))); + dcosjikdri[2] = ((rij[2]+rik[2])/(rijmag*rikmag)) - + (cosjik*((rij[2]/(rijmag*rijmag))+(rik[2]/(rikmag*rikmag)))); + dcosjikdrk[0] = (-rij[0]/(rijmag*rikmag)) + + (cosjik*(rik[0]/(rikmag*rikmag))); + dcosjikdrk[1] = (-rij[1]/(rijmag*rikmag)) + + (cosjik*(rik[1]/(rikmag*rikmag))); + dcosjikdrk[2] = (-rij[2]/(rijmag*rikmag)) + + (cosjik*(rik[2]/(rikmag*rikmag))); + dcosjikdrj[0] = (-rik[0]/(rijmag*rikmag)) + + (cosjik*(rij[0]/(rijmag*rijmag))); + dcosjikdrj[1] = (-rik[1]/(rijmag*rikmag)) + + (cosjik*(rij[1]/(rijmag*rijmag))); + dcosjikdrj[2] = (-rik[2]/(rijmag*rikmag)) + + (cosjik*(rij[2]/(rijmag*rijmag))); + + g = gSpline(cosjik,itype,dgdc); + tmp2 = VA*0.5*(tmp*wik*dgdc); + fj[0] = -tmp2*dcosjikdrj[0]; + fj[1] = -tmp2*dcosjikdrj[1]; + fj[2] = -tmp2*dcosjikdrj[2]; + fi[0] = -tmp2*dcosjikdri[0]; + fi[1] = -tmp2*dcosjikdri[1]; + fi[2] = -tmp2*dcosjikdri[2]; + fk[0] = -tmp2*dcosjikdrk[0]; + fk[1] = -tmp2*dcosjikdrk[1]; + fk[2] = -tmp2*dcosjikdrk[2]; + + // coordination forces + + // dwik forces (from partial derivative) + + tmp2 = VA*0.5*(tmp*dwik*g)/rikmag; + fi[0] -= tmp2*rik[0]; + fi[1] -= tmp2*rik[1]; + fi[2] -= tmp2*rik[2]; + fk[0] += tmp2*rik[0]; + fk[1] += tmp2*rik[1]; + fk[2] += tmp2*rik[2]; + + // PIJ forces (from coordination P(N) term) + + tmp2 = VA*0.5*(tmp*dp*dwik)/rikmag; + fi[0] -= tmp2*rik[0]; + fi[1] -= tmp2*rik[1]; + fi[2] -= tmp2*rik[2]; + fk[0] += tmp2*rik[0]; + fk[1] += tmp2*rik[1]; + fk[2] += tmp2*rik[2]; + + // dgdN forces are removed + + f[atomi][0] += fi[0]; f[atomi][1] += fi[1]; f[atomi][2] += fi[2]; + f[atomj][0] += fj[0]; f[atomj][1] += fj[1]; f[atomj][2] += fj[2]; + f[atomk][0] += fk[0]; f[atomk][1] += fk[1]; f[atomk][2] += fk[2]; + + if (vflag_either) { + rji[0] = -rij[0]; rji[1] = -rij[1]; rji[2] = -rij[2]; + rki[0] = -rik[0]; rki[1] = -rik[1]; rki[2] = -rik[2]; + v_tally3(atomi,atomj,atomk,fj,fk,rji,rki); + } + } + } + + // PIJ force contribution additional term + tmp2 = -VA*0.5*(tmp*dp*dwij)/rijmag; + + f[atomi][0] += rij[0]*tmp2; + f[atomi][1] += rij[1]*tmp2; + f[atomi][2] += rij[2]*tmp2; + f[atomj][0] -= rij[0]*tmp2; + f[atomj][1] -= rij[1]*tmp2; + f[atomj][2] -= rij[2]*tmp2; + + if (vflag_either) v_tally2(atomi,atomj,tmp2,rij); + + tmp = 0.0; + tmp2 = 0.0; + Etmp = 0.0; + + REBO_neighs = REBO_firstneigh[j]; + for (l = 0; l < REBO_numneigh[j]; l++) { + atoml = REBO_neighs[l]; + if (atoml != atomi) { + ltype = map[type[atoml]]; + rjl[0] = x[atomj][0]-x[atoml][0]; + rjl[1] = x[atomj][1]-x[atoml][1]; + rjl[2] = x[atomj][2]-x[atoml][2]; + rjlmag = sqrt((rjl[0]*rjl[0])+(rjl[1]*rjl[1])+(rjl[2]*rjl[2])); + wjl = Sp(rjlmag,rcmin[jtype][ltype],rcmax[jtype][ltype],dS); + cosijl = -1.0*((rij[0]*rjl[0])+(rij[1]*rjl[1])+(rij[2]*rjl[2])) / (rijmag*rjlmag); + cosijl = MIN(cosijl,1.0); + cosijl = MAX(cosijl,-1.0); + + // evaluate g and derivative dg + + g = gSpline(cosijl,jtype,dgdc); + Etmp = Etmp+(wjl*g); + } + } + + dp = 0.0; + PjiS = PijSpline(NjiM,NjiS,jtype,dp); + pji = 1.0/sqrt(1.0+Etmp+PjiS); + tmp = -0.5*cube(pji); + + REBO_neighs = REBO_firstneigh[j]; + for (l = 0; l < REBO_numneigh[j]; l++) { + atoml = REBO_neighs[l]; + if (atoml != atomi) { + ltype = map[type[atoml]]; + rjl[0] = x[atomj][0]-x[atoml][0]; + rjl[1] = x[atomj][1]-x[atoml][1]; + rjl[2] = x[atomj][2]-x[atoml][2]; + rjlmag = sqrt((rjl[0]*rjl[0])+(rjl[1]*rjl[1])+(rjl[2]*rjl[2])); + wjl = Sp(rjlmag,rcmin[jtype][ltype],rcmax[jtype][ltype],dwjl); + cosijl = (-1.0*((rij[0]*rjl[0])+(rij[1]*rjl[1])+(rij[2]*rjl[2]))) / (rijmag*rjlmag); + cosijl = MIN(cosijl,1.0); + cosijl = MAX(cosijl,-1.0); + + dcosijldri[0] = (-rjl[0]/(rijmag*rjlmag)) - + (cosijl*rij[0]/(rijmag*rijmag)); + dcosijldri[1] = (-rjl[1]/(rijmag*rjlmag)) - + (cosijl*rij[1]/(rijmag*rijmag)); + dcosijldri[2] = (-rjl[2]/(rijmag*rjlmag)) - + (cosijl*rij[2]/(rijmag*rijmag)); + dcosijldrj[0] = ((-rij[0]+rjl[0])/(rijmag*rjlmag)) + + (cosijl*((rij[0]/square(rijmag))-(rjl[0]/(rjlmag*rjlmag)))); + dcosijldrj[1] = ((-rij[1]+rjl[1])/(rijmag*rjlmag)) + + (cosijl*((rij[1]/square(rijmag))-(rjl[1]/(rjlmag*rjlmag)))); + dcosijldrj[2] = ((-rij[2]+rjl[2])/(rijmag*rjlmag)) + + (cosijl*((rij[2]/square(rijmag))-(rjl[2]/(rjlmag*rjlmag)))); + dcosijldrl[0] = (rij[0]/(rijmag*rjlmag))+(cosijl*rjl[0]/(rjlmag*rjlmag)); + dcosijldrl[1] = (rij[1]/(rijmag*rjlmag))+(cosijl*rjl[1]/(rjlmag*rjlmag)); + dcosijldrl[2] = (rij[2]/(rijmag*rjlmag))+(cosijl*rjl[2]/(rjlmag*rjlmag)); + + // evaluate g and derivatives dg + + g = gSpline(cosijl,jtype,dgdc); + tmp2 = VA*0.5*(tmp*wjl*dgdc); + fi[0] = -tmp2*dcosijldri[0]; + fi[1] = -tmp2*dcosijldri[1]; + fi[2] = -tmp2*dcosijldri[2]; + fj[0] = -tmp2*dcosijldrj[0]; + fj[1] = -tmp2*dcosijldrj[1]; + fj[2] = -tmp2*dcosijldrj[2]; + fl[0] = -tmp2*dcosijldrl[0]; + fl[1] = -tmp2*dcosijldrl[1]; + fl[2] = -tmp2*dcosijldrl[2]; + + // coordination forces + + // dwik forces (from partial derivative) + + tmp2 = VA*0.5*(tmp*dwjl*g)/rjlmag; + fj[0] -= tmp2*rjl[0]; + fj[1] -= tmp2*rjl[1]; + fj[2] -= tmp2*rjl[2]; + fl[0] += tmp2*rjl[0]; + fl[1] += tmp2*rjl[1]; + fl[2] += tmp2*rjl[2]; + + // PIJ forces (coordination) + + tmp2 = VA*0.5*(tmp*dp*dwjl)/rjlmag; + fj[0] -= tmp2*rjl[0]; + fj[1] -= tmp2*rjl[1]; + fj[2] -= tmp2*rjl[2]; + fl[0] += tmp2*rjl[0]; + fl[1] += tmp2*rjl[1]; + fl[2] += tmp2*rjl[2]; + + // dgdN forces are removed + + f[atomi][0] += fi[0]; f[atomi][1] += fi[1]; f[atomi][2] += fi[2]; + f[atomj][0] += fj[0]; f[atomj][1] += fj[1]; f[atomj][2] += fj[2]; + f[atoml][0] += fl[0]; f[atoml][1] += fl[1]; f[atoml][2] += fl[2]; + + if (vflag_either) { + rlj[0] = -rjl[0]; rlj[1] = -rjl[1]; rlj[2] = -rjl[2]; + v_tally3(atomi,atomj,atoml,fi,fl,rij,rlj); + } + } + } + + // PIJ force contribution additional term + + tmp2 = -VA*0.5*(tmp*dp*dwij)/rijmag; + f[atomi][0] += rij[0]*tmp2; + f[atomi][1] += rij[1]*tmp2; + f[atomi][2] += rij[2]*tmp2; + f[atomj][0] -= rij[0]*tmp2; + f[atomj][1] -= rij[1]*tmp2; + f[atomj][2] -= rij[2]*tmp2; + + if (vflag_either) v_tally2(atomi,atomj,tmp2,rij); + + bij = (0.5*(pij+pji)); + return bij; +} + +/* ---------------------------------------------------------------------- + G calculation +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + read REBO potential file +------------------------------------------------------------------------- */ + +void PairREBOMoS::read_file(char *filename) +{ + // REBO Parameters (Mo-S REBO) + + double rcmin_MM,rcmin_MS,rcmin_SS,rcmax_MM,rcmax_MS,rcmax_SS; + double Q_MM,Q_MS,Q_SS,alpha_MM,alpha_MS,alpha_SS,A_MM,A_MS,A_SS; + double BIJc_MM1,BIJc_MS1,BIJc_SS1; + double Beta_MM1,Beta_MS1,Beta_SS1; + double M_bg0,M_bg1,M_bg2,M_bg3,M_bg4,M_bg5,M_bg6; + double S_bg0,S_bg1,S_bg2,S_bg3,S_bg4,S_bg5,S_bg6; + double M_b0,M_b1,M_b2,M_b3,M_b4,M_b5,M_b6; + double S_b0,S_b1,S_b2,S_b3,S_b4,S_b5,S_b6; + double M_a0,M_a1,M_a2,M_a3; + double S_a0,S_a1,S_a2,S_a3; + + // LJ Parameters (Mo-S REBO) + + double epsilon_MM,epsilon_SS; + double sigma_MM,sigma_SS; + + // read file on proc 0 + + if (comm->me == 0) { + PotentialFileReader reader(lmp, filename, "rebomos"); + + // read parameters + + std::vector params { + &rcmin_MM, + &rcmin_MS, + &rcmin_SS, + &rcmax_MM, + &rcmax_MS, + &rcmax_SS, + &Q_MM, + &Q_MS, + &Q_SS, + &alpha_MM, + &alpha_MS, + &alpha_SS, + &A_MM, + &A_MS, + &A_SS, + &BIJc_MM1, + &BIJc_MS1, + &BIJc_SS1, + &Beta_MM1, + &Beta_MS1, + &Beta_SS1, + &M_b0, + &M_b1, + &M_b2, + &M_b3, + &M_b4, + &M_b5, + &M_b6, + &M_bg0, + &M_bg1, + &M_bg2, + &M_bg3, + &M_bg4, + &M_bg5, + &M_bg6, + &S_b0, + &S_b1, + &S_b2, + &S_b3, + &S_b4, + &S_b5, + &S_b6, + &S_bg0, + &S_bg1, + &S_bg2, + &S_bg3, + &S_bg4, + &S_bg5, + &S_bg6, + &M_a0, + &M_a1, + &M_a2, + &M_a3, + &S_a0, + &S_a1, + &S_a2, + &S_a3, + + // LJ parameters + &epsilon_MM, + &epsilon_SS, + &sigma_MM, + &sigma_SS, + }; + + try { + for (auto ¶m : params) { + *param = reader.next_double(); + } + } catch (TokenizerException &e) { + error->one(FLERR, "reading rebomos potential file {}\nREASON: {}\n", filename, e.what()); + } catch (FileReaderException &fre) { + error->one(FLERR, "reading rebomos potential file {}\nREASON: {}\n", filename, fre.what()); + } + + // store read-in values in arrays + + // REBO + + rcmin[0][0] = rcmin_MM; + rcmin[0][1] = rcmin_MS; + rcmin[1][0] = rcmin[0][1]; + rcmin[1][1] = rcmin_SS; + + rcmax[0][0] = rcmax_MM; + rcmax[0][1] = rcmax_MS; + rcmax[1][0] = rcmax[0][1]; + rcmax[1][1] = rcmax_SS; + + rcmaxsq[0][0] = rcmax[0][0]*rcmax[0][0]; + rcmaxsq[1][0] = rcmax[1][0]*rcmax[1][0]; + rcmaxsq[0][1] = rcmax[0][1]*rcmax[0][1]; + rcmaxsq[1][1] = rcmax[1][1]*rcmax[1][1]; + + Q[0][0] = Q_MM; + Q[0][1] = Q_MS; + Q[1][0] = Q[0][1]; + Q[1][1] = Q_SS; + + alpha[0][0] = alpha_MM; + alpha[0][1] = alpha_MS; + alpha[1][0] = alpha[0][1]; + alpha[1][1] = alpha_SS; + + A[0][0] = A_MM; + A[0][1] = A_MS; + A[1][0] = A[0][1]; + A[1][1] = A_SS; + + BIJc[0][0] = BIJc_MM1; + BIJc[0][1] = BIJc_MS1; + BIJc[1][0] = BIJc_MS1; + BIJc[1][1] = BIJc_SS1; + + Beta[0][0] = Beta_MM1; + Beta[0][1] = Beta_MS1; + Beta[1][0] = Beta_MS1; + Beta[1][1] = Beta_SS1; + + b0[0] = M_b0; + b1[0] = M_b1; + b2[0] = M_b2; + b3[0] = M_b3; + b4[0] = M_b4; + b5[0] = M_b5; + b6[0] = M_b6; + + bg0[0] = M_bg0; + bg1[0] = M_bg1; + bg2[0] = M_bg2; + bg3[0] = M_bg3; + bg4[0] = M_bg4; + bg5[0] = M_bg5; + bg6[0] = M_bg6; + + b0[1] = S_b0; + b1[1] = S_b1; + b2[1] = S_b2; + b3[1] = S_b3; + b4[1] = S_b4; + b5[1] = S_b5; + b6[1] = S_b6; + + bg0[1] = S_bg0; + bg1[1] = S_bg1; + bg2[1] = S_bg2; + bg3[1] = S_bg3; + bg4[1] = S_bg4; + bg5[1] = S_bg5; + bg6[1] = S_bg6; + + a0[0] = M_a0; + a1[0] = M_a1; + a2[0] = M_a2; + a3[0] = M_a3; + + a0[1] = S_a0; + a1[1] = S_a1; + a2[1] = S_a2; + a3[1] = S_a3; + + // LJ + + sigma[0][0] = sigma_MM; + sigma[0][1] = (sigma_MM + sigma_SS)/2; + sigma[1][0] = sigma[0][1]; + sigma[1][1] = sigma_SS; + + epsilon[0][0] = epsilon_MM; + epsilon[0][1] = sqrt(epsilon_MM*epsilon_SS); + epsilon[1][0] = epsilon[0][1]; + epsilon[1][1] = epsilon_SS; + + rcLJmin[0][0] = rcmin_MM; + rcLJmin[0][1] = rcmin_MS; + rcLJmin[1][0] = rcmin[0][1]; + rcLJmin[1][1] = rcmin_SS; + + rcLJmax[0][0] = 2.5*sigma[0][0]; + rcLJmax[0][1] = 2.5*sigma[0][1]; + rcLJmax[1][0] = rcLJmax[0][1]; + rcLJmax[1][1] = 2.5*sigma[1][1]; + + rcLJmaxsq[0][0] = rcLJmax[0][0]*rcLJmax[0][0]; + rcLJmaxsq[1][0] = rcLJmax[1][0]*rcLJmax[1][0]; + rcLJmaxsq[0][1] = rcLJmax[0][1]*rcLJmax[0][1]; + rcLJmaxsq[1][1] = rcLJmax[1][1]*rcLJmax[1][1]; + + } + + // broadcast read-in and setup values + + MPI_Bcast(&rcmin[0][0],4,MPI_DOUBLE,0,world); + MPI_Bcast(&rcmax[0][0],4,MPI_DOUBLE,0,world); + MPI_Bcast(&rcmaxsq[0][0],4,MPI_DOUBLE,0,world); + MPI_Bcast(&rcmaxp[0][0],4,MPI_DOUBLE,0,world); + + MPI_Bcast(&Q[0][0],4,MPI_DOUBLE,0,world); + MPI_Bcast(&alpha[0][0],4,MPI_DOUBLE,0,world); + MPI_Bcast(&A[0][0],4,MPI_DOUBLE,0,world); + MPI_Bcast(&BIJc[0][0],4,MPI_DOUBLE,0,world); + MPI_Bcast(&Beta[0][0],4,MPI_DOUBLE,0,world); + + MPI_Bcast(&b0[0],2,MPI_DOUBLE,0,world); + MPI_Bcast(&b1[0],2,MPI_DOUBLE,0,world); + MPI_Bcast(&b2[0],2,MPI_DOUBLE,0,world); + MPI_Bcast(&b3[0],2,MPI_DOUBLE,0,world); + MPI_Bcast(&b4[0],2,MPI_DOUBLE,0,world); + MPI_Bcast(&b5[0],2,MPI_DOUBLE,0,world); + MPI_Bcast(&b6[0],2,MPI_DOUBLE,0,world); + + MPI_Bcast(&a0[0],2,MPI_DOUBLE,0,world); + MPI_Bcast(&a1[0],2,MPI_DOUBLE,0,world); + MPI_Bcast(&a2[0],2,MPI_DOUBLE,0,world); + MPI_Bcast(&a3[0],2,MPI_DOUBLE,0,world); + + MPI_Bcast(&bg0[0],2,MPI_DOUBLE,0,world); + MPI_Bcast(&bg1[0],2,MPI_DOUBLE,0,world); + MPI_Bcast(&bg2[0],2,MPI_DOUBLE,0,world); + MPI_Bcast(&bg3[0],2,MPI_DOUBLE,0,world); + MPI_Bcast(&bg4[0],2,MPI_DOUBLE,0,world); + MPI_Bcast(&bg5[0],2,MPI_DOUBLE,0,world); + MPI_Bcast(&bg6[0],2,MPI_DOUBLE,0,world); + + MPI_Bcast(&rcLJmin[0][0],4,MPI_DOUBLE,0,world); + MPI_Bcast(&rcLJmax[0][0],4,MPI_DOUBLE,0,world); + MPI_Bcast(&rcLJmaxsq[0][0],4,MPI_DOUBLE,0,world); + MPI_Bcast(&epsilon[0][0],4,MPI_DOUBLE,0,world); + MPI_Bcast(&sigma[0][0],4,MPI_DOUBLE,0,world); +} + +/* ---------------------------------------------------------------------- + memory usage of local atom-based arrays +------------------------------------------------------------------------- */ + +double PairREBOMoS::memory_usage() +{ + double bytes = 0.0; + bytes += (double)maxlocal * sizeof(int); + bytes += (double)maxlocal * sizeof(int *); + + for (int i = 0; i < comm->nthreads; i++) + bytes += ipage[i].size(); + + bytes += 3.0 * maxlocal * sizeof(double); + return bytes; +} diff --git a/src/MANYBODY/pair_rebomos.h b/src/MANYBODY/pair_rebomos.h new file mode 100644 index 0000000000..4a530de329 --- /dev/null +++ b/src/MANYBODY/pair_rebomos.h @@ -0,0 +1,219 @@ +/* -*- 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(rebomos,PairREBOMoS); +// clang-format on +#else + +#ifndef LMP_PAIR_REBOMOS_H +#define LMP_PAIR_REBOMOS_H + +#include "math_const.h" +#include "pair.h" +#include + +namespace LAMMPS_NS { + +class PairREBOMoS : public Pair { + public: + PairREBOMoS(class LAMMPS *); + ~PairREBOMoS() override; + void compute(int, int) override; + void settings(int, char **) override; + void coeff(int, char **) override; + void init_style() override; + double init_one(int, int) override; + double memory_usage() override; + + protected: + double cutljrebosq; // cut for when to compute + // REBO neighs of ghost atoms + + double **lj1, **lj2, **lj3, **lj4; // pre-computed LJ coeffs for M,S types + double cut3rebo; // maximum distance for 3rd REBO neigh + + int maxlocal; // size of numneigh, firstneigh arrays + int pgsize; // size of neighbor page + int oneatom; // max # of neighbors for one atom + MyPage *ipage; // neighbor list pages + int *REBO_numneigh; // # of pair neighbors for each atom + int **REBO_firstneigh; // ptr to 1st neighbor of each atom + + double *closestdistsq; // closest owned atom dist to each ghost + double *nM, *nS; // sum of weighting fns with REBO neighs + + double rcmin[2][2], rcmax[2][2], rcmaxsq[2][2], rcmaxp[2][2]; + double Q[2][2], alpha[2][2], A[2][2], BIJc[2][2], Beta[2][2]; + double b0[2], b1[2], b2[2], b3[2], b4[2], b5[2], b6[2]; + double bg0[2], bg1[2], bg2[2], bg3[2], bg4[2], bg5[2], bg6[2]; + double a0[2], a1[2], a2[2], a3[2]; + double rcLJmin[2][2], rcLJmax[2][2], rcLJmaxsq[2][2]; + double epsilon[2][2], sigma[2][2]; + + void REBO_neigh(); + void FREBO(int); + void FLJ(int); + + double bondorder(int, int, double *, double, double, double **); + + inline double gSpline(const double costh, const int typei, double &dgdc) const + { + const double b0i = b0[typei]; + const double b1i = b1[typei]; + const double b2i = b2[typei]; + const double b3i = b3[typei]; + const double b4i = b4[typei]; + const double b5i = b5[typei]; + const double b6i = b6[typei]; + double g = 0.0; + + if (costh >= -1.0 && costh < 0.5) { + g = b6i * costh; + double dg = 6.0 * b6i * costh; + g += b5i; + dg += 5.0 * b5i; + g *= costh; + dg *= costh; + g += b4i; + dg += 4.0 * b4i; + g *= costh; + dg *= costh; + g += b3i; + dg += 3.0 * b3i; + g *= costh; + dg *= costh; + g += b2i; + dg += 2.0 * b2i; + g *= costh; + dg *= costh; + g += b1i; + dg += b1i; + g *= costh; + g += b0i; + dgdc = dg; + + } else if (costh >= 0.5 && costh <= 1.0) { + double gcos = b6i * costh; + double dgcos = 6.0 * b6i * costh; + gcos += b5i; + dgcos += 5.0 * b5i; + gcos *= costh; + dgcos *= costh; + gcos += b4i; + dgcos += 4.0 * b4i; + gcos *= costh; + dgcos *= costh; + gcos += b3i; + dgcos += 3.0 * b3i; + gcos *= costh; + dgcos *= costh; + gcos += b2i; + dgcos += 2.0 * b2i; + gcos *= costh; + dgcos *= costh; + gcos += b1i; + dgcos += b1i; + gcos *= costh; + gcos += b0i; + + const double bg0i = bg0[typei]; + const double bg1i = bg1[typei]; + const double bg2i = bg2[typei]; + const double bg3i = bg3[typei]; + const double bg4i = bg4[typei]; + const double bg5i = bg5[typei]; + const double bg6i = bg6[typei]; + double gamma = bg6i * costh; + double dgamma = 6.0 * bg6i * costh; + gamma += bg5i; + dgamma += 5.0 * bg5i; + gamma *= costh; + dgamma *= costh; + gamma += bg4i; + dgamma += 4.0 * bg4i; + gamma *= costh; + dgamma *= costh; + gamma += bg3i; + dgamma += 3.0 * bg3i; + gamma *= costh; + dgamma *= costh; + gamma += bg2i; + dgamma += 2.0 * bg2i; + gamma *= costh; + dgamma *= costh; + gamma += bg1i; + dgamma += bg1i; + gamma *= costh; + gamma += bg0i; + + const double tmp = MathConst::MY_2PI * (costh - 0.5); + const double psi = 0.5 * (1 - cos(tmp)); + const double dpsi = MathConst::MY_PI * sin(tmp); + g = gcos + psi * (gamma - gcos); + dgdc = dgcos + dpsi * (gamma - gcos) + psi * (dgamma - dgcos); + } else { + dgdc = 0.0; + } + return g; + } + + /* ---------------------------------------------------------------------- + Pij calculation + ------------------------------------------------------------------------- */ + + inline double PijSpline(const double NM, const double NS, const int typei, double &dp) const + { + const double N = NM + NS; + + dp = -a0[typei] + a1[typei] * a2[typei] * exp(-a2[typei] * N); + return -a0[typei] * (N - 1) - a1[typei] * exp(-a2[typei] * N) + a3[typei]; + } + + void read_file(char *); + void allocate(); + + // ---------------------------------------------------------------------- + // S'(t) and S(t) cutoff functions + // added to header for inlining + // ---------------------------------------------------------------------- + + /* ---------------------------------------------------------------------- + cutoff function Sprime + return cutoff and dX = derivative + no side effects + ------------------------------------------------------------------------- */ + + inline double Sp(double Xij, double Xmin, double Xmax, double &dX) const + { + double cutoff; + + const double t = (Xij - Xmin) / (Xmax - Xmin); + if (t <= 0.0) { + cutoff = 1.0; + dX = 0.0; + } else if (t >= 1.0) { + cutoff = 0.0; + dX = 0.0; + } else { + cutoff = 0.5 * (1.0 + cos(t * MathConst::MY_PI)); + dX = (-0.5 * MathConst::MY_PI * sin(t * MathConst::MY_PI)) / (Xmax - Xmin); + } + return cutoff; + }; +}; +} // namespace LAMMPS_NS + +#endif +#endif diff --git a/unittest/force-styles/tests/manybody-pair-rebomos.yaml b/unittest/force-styles/tests/manybody-pair-rebomos.yaml new file mode 100644 index 0000000000..1d862720af --- /dev/null +++ b/unittest/force-styles/tests/manybody-pair-rebomos.yaml @@ -0,0 +1,126 @@ +--- +lammps_version: 7 Feb 2024 +tags: slow +date_generated: Thu Feb 22 09:08:59 2024 +epsilon: 1e-12 +skip_tests: +prerequisites: ! | + pair rebomos +pre_commands: ! | + variable newton_pair delete + if "$(is_active(package,gpu)) > 0.0" then "variable newton_pair index off" else "variable newton_pair index on" +post_commands: ! | + neigh_modify one 3000 +input_file: in.airebo +pair_style: rebomos +pair_coeff: ! | + * * MoS.rebomos Mo S +extract: ! "" +natoms: 48 +init_vdwl: 3158.017726833385 +init_coul: 0 +init_stress: ! |2- + 6.8398718310371441e+03 6.7325636075141883e+03 6.1154248388685965e+03 -3.2850057579078185e+02 -6.6397329123828470e+01 -3.4208234997867203e+02 +init_forces: ! |2 + 1 -3.7681565852737293e+00 2.4378308384489483e+02 -2.6969740060923279e+01 + 2 2.6266038011491645e+02 -2.0681295165426090e+02 -1.9964225279104706e+01 + 3 -2.5778010496370018e+02 -2.3678496612327552e+02 4.3829487525746238e+01 + 4 -1.0244959408607365e+01 -2.6794342328905179e+02 -2.6250177085935768e+01 + 5 2.2561151172717553e+02 2.0458598509633319e+02 -4.2183143539914880e+01 + 6 -2.4766208404861507e+02 1.8231884233051196e+02 1.2358374858464346e+01 + 7 -2.8974107341390795e+01 1.1031227139363692e+02 -1.2014739688866064e+02 + 8 2.1125868843851663e+02 -2.8863731327540540e+02 1.6869558243398984e+01 + 9 -3.1045083889038222e+02 -1.7569259168198960e+02 7.9653354234911163e+01 + 10 3.9886149586070935e+01 -1.0347554263069082e+02 1.5430519714983259e+02 + 11 1.8975960895859026e+02 1.4943835159807929e+02 -7.3224202319244824e+01 + 12 -2.1525843617159188e+02 2.2144411990369784e+02 -1.4893230739895195e+01 + 13 -4.5214798787473534e+00 1.1303681465405538e+02 -1.1385660017739841e+02 + 14 2.3203040375527121e+02 -3.4422786145586961e+01 1.8438743650405590e+02 + 15 -9.7170644212253990e+01 -2.9205504121924292e+02 1.9237141908302370e+01 + 16 -5.1044169101209107e+01 -1.4503490444304657e+02 1.5798442448724001e+02 + 17 2.8968061091312188e+02 8.7626477818666558e+01 -5.8802357863256212e+01 + 18 -1.7269858357220591e+02 8.9805161881631591e+01 -1.7847636055101773e+02 + 19 1.0760757939777642e+02 1.2642591396366257e+02 1.5914528700154095e+01 + 20 8.4608047558760049e+01 -2.4114295115066687e+02 -8.5792447633922421e+01 + 21 -8.8196263713344706e+01 -1.2718199182512282e+02 -7.0146571930858386e+01 + 22 -9.8957412653883708e+01 -1.4706747771082254e+02 -4.1887992372999022e+01 + 23 1.3739608451158423e+02 2.5576040689729510e+02 3.0309933932861746e+01 + 24 -1.7919184387909232e+02 1.4014151619269020e+02 1.6188399417577682e+02 + 25 -7.7347072523993347e+01 1.5555894832740958e+02 2.6182670200573220e+01 + 26 7.1360176064432650e+01 -2.9346871053231695e+02 -4.0766232856732509e+00 + 27 -2.6964124483003886e+01 9.8094028485618843e+00 2.4520760165936114e+01 + 28 1.2261226472559841e+02 -2.1507437048459283e+02 -3.0529457478077248e+01 + 29 2.2123474818204119e+01 2.8827028167050270e+02 1.0492685172067040e+02 + 30 -3.0573547162322302e+02 6.5880918489915032e+01 -1.1459287271946665e+02 + 31 6.0299759271951014e+00 1.7876996651274851e+02 -1.2964028093837922e+02 + 32 2.3752911820416773e+02 -1.2903240767402318e+02 1.2355068302179771e+02 + 33 -2.7462402312452838e+02 -5.3957296643601545e+01 9.5908146508348565e+01 + 34 -2.4514118579997412e+01 -1.0385194449627924e+02 1.4149428440602534e+02 + 35 1.2613298864651166e+02 6.2171771831118461e+00 -2.0642312645163636e+02 + 36 -6.9996802234927173e+01 2.9354514776980676e+02 -2.0963604805137543e+01 + 37 5.0241789394721707e+01 2.4495589528252060e+02 -1.1814425338523709e+01 + 38 2.2684897209808264e+02 -1.8673318434123004e+02 1.5220428086050066e+00 + 39 -2.5107271651763259e+02 -1.6443685417603410e+02 -3.8081572318769169e+01 + 40 -5.6754727284178912e+01 -2.5956532443118618e+02 -5.9343761520548126e+00 + 41 2.7426370608616236e+02 1.7742153146823480e+02 1.3451000229991498e+01 + 42 -2.2732796257204490e+02 2.5279459742055184e+02 -2.7020668313372529e+01 + 43 1.6217419052721431e+02 1.3946372126978235e+02 -2.0623397237537300e+00 + 44 3.0490806490775839e+01 2.1072542774667330e+01 8.2426559376766466e+00 + 45 -1.8440339212966003e+02 -2.5521581334939563e+02 2.6487508881411735e+01 + 46 -3.5020523296396959e+01 -2.5119105337038474e+02 8.0096253171487604e+00 + 47 3.2722641189388571e+02 9.7949745935413119e+01 -1.1898751818014821e+01 + 48 -1.3785292104885133e+02 3.2239007811982697e+02 2.4602884867061839e+01 +run_vdwl: 838.005031679853 +run_coul: 0 +run_stress: ! |2- + 2.0454406617512559e+03 2.1642975706136021e+03 3.2875013790709349e+03 2.4615001869678809e+02 9.3532964794023911e+01 -1.6795786485689854e+02 +run_forces: ! |2 + 1 -2.5386905249574866e+01 -9.9909927316940710e+01 1.9622022776949393e+00 + 2 -3.6801215363277215e+01 1.3354608905768052e+02 1.3651128931415545e+02 + 3 2.1845136723115344e+00 2.3527273580981478e+00 2.4005941692097457e+00 + 4 -3.7818914621624749e+01 3.2946537814811997e+01 4.3018847892043375e+01 + 5 9.6010433504280890e+00 4.3327442916171194e+01 -1.0513311611209312e+02 + 6 8.4308572792324540e+01 -2.3503352214725012e+01 5.0539884405443850e+01 + 7 -1.1497740491253731e+01 -6.4938790153209212e+01 3.8948855627091397e+01 + 8 -4.2897157525993697e+00 -3.3530261299383611e+01 9.5574489119024229e+00 + 9 4.8767710902858741e-01 -3.5176606358955858e+00 -1.4806227207057554e-01 + 10 -1.4766722110672411e+01 2.3818988804615220e+01 -5.3134339246512809e+01 + 11 -1.3935431402422819e+02 -1.5665571900752980e+02 -3.7627334252485582e+01 + 12 7.7074185304589484e+00 -1.2031768398608595e+01 1.8274050209872662e+01 + 13 2.3670515505343992e+01 -6.4282829210616583e+01 4.6336363412751325e+01 + 14 -2.5980738378663424e+00 8.4167979467127569e+00 -2.3849686761968631e+00 + 15 2.6909213334137871e+01 9.4711670949167956e+00 1.4728430099051328e+00 + 16 2.6072330920174934e+01 1.5861581881675242e+01 -5.1429144994723586e+01 + 17 -4.5656802478750279e+01 -1.0557685195759221e+02 -1.8486644164722456e+01 + 18 1.3345348571390588e+02 5.3791289185967734e+01 3.1330462313925089e+01 + 19 -3.4744179120880638e+01 -2.9727735009574776e+01 1.3758697899848009e+01 + 20 3.5805745710027459e+00 2.3635583506556830e+00 -9.8641913612550636e-01 + 21 -1.9112967021807076e+01 2.4093036642722907e+01 -1.8643238887150801e+01 + 22 -9.0201617792954476e+00 3.7160721932912736e+01 -5.0873237843214003e+00 + 23 -2.0559670924056718e+01 -1.3037172781831362e+01 -4.1555140102832148e+01 + 24 3.5016464856031341e+01 -1.2488249708112150e+02 -5.5132899737529639e+00 + 25 2.4856779395007460e+00 -6.7533673428345381e+01 -1.7153563726726016e+01 + 26 -8.6470517146734750e+01 -7.9057942497429794e+00 3.8434105758101332e+01 + 27 3.1062776626038996e+01 2.5568916700234454e+00 -2.3812255018358194e+01 + 28 -3.6128021960690276e+01 8.8535946500139033e+01 -3.1718315624050986e-01 + 29 -1.7473599694524488e+01 5.1605700760038529e+00 3.1477016370448561e+00 + 30 3.2722165297173231e+00 -5.9807188688706105e+00 3.0903475914489444e+01 + 31 -5.5852599877204412e-01 -3.7635607965114964e+01 5.5407547347738578e+01 + 32 -4.8419811021707950e+01 1.2083134296973620e+02 -1.4299477119499166e+01 + 33 2.5993167832212944e+01 5.4415694550334088e+01 -2.2817585641730194e+01 + 34 1.3632918027769463e+01 1.0165209000060044e+02 -6.0709294862836366e+01 + 35 -1.7896100047169217e+01 5.7265522876438499e+00 6.7274680861552483e+00 + 36 -1.8125137765726237e+01 2.7564787465936047e+00 -9.5278575701404478e+00 + 37 -3.5898678616111592e+00 -7.2362382910010311e+01 -9.3588358281326709e+00 + 38 -3.6726824963125949e+01 2.0008528283799198e+01 4.2387983046244827e+01 + 39 1.4756349734330427e+00 3.4387817449154888e+01 4.6004570693407864e+01 + 40 1.3004687263347805e+01 6.5948251357408196e+01 -9.3870897441198231e+00 + 41 -9.2360908880622592e+00 3.0113497063365648e+00 -1.1785409504259610e+01 + 42 -1.1795417170666214e+01 -1.1546754933247897e+01 -1.2188857610119777e+01 + 43 -6.5511968637617390e-01 -3.9133448932537512e+01 5.5788437875425423e-01 + 44 -4.2976958767216473e+01 1.8814792063050870e+01 -3.2742042602021932e+01 + 45 1.8589630046648591e+02 5.3367997582431663e+01 3.8324469380182308e+01 + 46 2.2463767362468872e+01 7.7485287617829670e+01 2.6113916756613811e+01 + 47 3.0703470673161828e+00 2.4966324680483410e+01 -5.0826014249556524e+00 + 48 7.6310071304830785e+01 -9.3082908173611301e+01 -1.1280958703044767e+02 +... From 3a82e76607dfcaf25fe566aef2e11202fe0dbd0f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 22 Feb 2024 09:15:18 -0500 Subject: [PATCH 207/559] small corrections --- doc/src/pair_airebo.rst | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/src/pair_airebo.rst b/doc/src/pair_airebo.rst index 9a1e4e5518..ce574cc734 100644 --- a/doc/src/pair_airebo.rst +++ b/doc/src/pair_airebo.rst @@ -156,7 +156,7 @@ pair_coeff command: The first 2 arguments must be \* \* so as to span all LAMMPS atom types. The first three C arguments map LAMMPS atom types 1,2,3 to the C element in the AIREBO file. The final H argument maps LAMMPS atom -type 4 to the H element in the SW file. If a mapping value is +type 4 to the H element in the AIREBO file. If a mapping value is specified as NULL, the mapping is not performed. This can be used when a *airebo* potential is used as part of the *hybrid* pair style. The NULL values are placeholders for atom types that will be used with @@ -222,12 +222,12 @@ enabled if LAMMPS was built with that package. See the :doc:`Build package ` setting to be "on" for pair interactions. -The CH.airebo and CH.airebo-m potential files provided with LAMMPS -(see the potentials directory) are parameterized for metal :doc:`units `. -You can use the AIREBO, AIREBO-M or REBO potential with any LAMMPS units, -but you would need to create your own AIREBO or AIREBO-M potential file -with coefficients listed in the appropriate units, if your simulation -does not use "metal" units. +The CH.airebo and CH.airebo-m potential files provided with LAMMPS (see +the potentials directory) are parameterized for metal :doc:`units +`. You can use the pair styles with *any* LAMMPS units, but you +would need to create your own AIREBO or AIREBO-M potential file with +coefficients listed in the appropriate units, if your simulation does +not use "metal" units. The pair styles provided here **only** support potential files parameterized for the elements carbon and hydrogen (designated with "C" and "H" in the From bed84841ad970da4fc2caefc03d7377fff4a7f61 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 22 Feb 2024 09:57:42 -0500 Subject: [PATCH 208/559] update comment header to point to the LAMMPS developers email address --- src/MANYBODY/pair_rebomos.cpp | 2 +- src/MANYBODY/pair_rebomos.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/MANYBODY/pair_rebomos.cpp b/src/MANYBODY/pair_rebomos.cpp index 1211ad5c7e..3e46f86a20 100644 --- a/src/MANYBODY/pair_rebomos.cpp +++ b/src/MANYBODY/pair_rebomos.cpp @@ -2,7 +2,7 @@ /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov + LAMMPS Development team: developers@lammps.org Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains diff --git a/src/MANYBODY/pair_rebomos.h b/src/MANYBODY/pair_rebomos.h index 4a530de329..8df4c6b3c9 100644 --- a/src/MANYBODY/pair_rebomos.h +++ b/src/MANYBODY/pair_rebomos.h @@ -1,7 +1,7 @@ /* -*- c++ -*- ---------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories - Steve Plimpton, sjplimp@sandia.gov + LAMMPS Development team: developers@lammps.org Copyright (2003) Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains From 36fa601fe08a9727f9dbc53bfe696bf10a53e8f3 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 22 Feb 2024 13:33:04 -0500 Subject: [PATCH 209/559] cutoff calculation inherited from but only required for AIREBO. up to 2x speedup --- src/MANYBODY/pair_rebomos.cpp | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/src/MANYBODY/pair_rebomos.cpp b/src/MANYBODY/pair_rebomos.cpp index 3e46f86a20..8ba1437aca 100644 --- a/src/MANYBODY/pair_rebomos.cpp +++ b/src/MANYBODY/pair_rebomos.cpp @@ -259,29 +259,8 @@ double PairREBOMoS::init_one(int i, int j) cut3rebo = 3.0 * rcmax[0][0]; - // cutljrebosq = furthest distance from an owned atom a ghost atom can be - // to need its REBO neighs computed - // interaction = M-K-I-J-L-N with I = owned and J = ghost - // this insures N is in the REBO neigh list of L - // since I-J < rcLJmax and J-L < rmax - - double cutljrebo = rcLJmax[0][0] + rcmax[0][0]; - cutljrebosq = cutljrebo * cutljrebo; - - // cutmax = furthest distance from an owned atom - // at which another atom will feel force, i.e. the ghost cutoff - // for REBO term in potential: - // interaction = M-K-I-J-L-N with I = owned and J = ghost - // I to N is max distance = 3 REBO distances - // for LJ term in potential: - // short interaction = M-K-I-J-L-N with I = owned, J = ghost, I-J < rcLJmax - // rcLJmax + 2*rcmax, since I-J < rcLJmax and J-L,L-N = REBO distances - // long interaction = I-J with I = owned and J = ghost - // cutlj*sigma, since I-J < LJ cutoff // cutghost = REBO cutoff used in REBO_neigh() for neighbors of ghosts - double cutmax = MAX(cut3rebo,rcLJmax[0][0] + 2.0*rcmax[0][0]); - cutghost[i][j] = rcmax[ii][jj]; lj1[ii][jj] = 48.0 * epsilon[ii][jj] * powint(sigma[ii][jj],12); lj2[ii][jj] = 24.0 * epsilon[ii][jj] * powint(sigma[ii][jj],6); @@ -294,7 +273,7 @@ double PairREBOMoS::init_one(int i, int j) lj3[jj][ii] = lj3[ii][jj]; lj4[jj][ii] = lj4[ii][jj]; - return cutmax; + return cut3rebo; } /* ---------------------------------------------------------------------- From 22d0b202c4d2c120e3e7937d226c7e7988f4c1ed Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 22 Feb 2024 13:37:59 -0500 Subject: [PATCH 210/559] update example logs for change in cutoff setting --- .../threebody/log.22Feb24.mos2-bulk.g++.1 | 35 +++++++++--------- .../threebody/log.22Feb24.mos2-bulk.g++.4 | 37 +++++++++---------- .../threebody/log.22Feb24.mos2.rebomos.g++.1 | 37 +++++++++---------- .../threebody/log.22Feb24.mos2.rebomos.g++.4 | 37 +++++++++---------- 4 files changed, 71 insertions(+), 75 deletions(-) diff --git a/examples/threebody/log.22Feb24.mos2-bulk.g++.1 b/examples/threebody/log.22Feb24.mos2-bulk.g++.1 index 7822ad40c5..8218026f3d 100644 --- a/examples/threebody/log.22Feb24.mos2-bulk.g++.1 +++ b/examples/threebody/log.22Feb24.mos2-bulk.g++.1 @@ -1,5 +1,4 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-70-ge51a65696d-modified) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-73-g36fa601fe0) using 1 OpenMP thread(s) per MPI task units metal @@ -40,46 +39,46 @@ run 20 Neighbor list info ... update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 20.1 - ghost atom cutoff = 20.1 - binsize = 10.05, bins = 3 3 2 + master list distance cutoff = 13.4 + ghost atom cutoff = 13.4 + binsize = 6.7, bins = 5 4 3 1 neighbor lists, perpetual/occasional/extra = 1 0 0 (1) pair rebomos, perpetual attributes: full, newton on, ghost pair build: full/bin/ghost stencil: full/ghost/bin/3d bin: standard -Per MPI rank memory allocation (min/avg/max) = 6.759 | 6.759 | 6.759 Mbytes +Per MPI rank memory allocation (min/avg/max) = 4.996 | 4.996 | 4.996 Mbytes Step Temp Press PotEng KinEng CellGamma Volume 0 0 28799.53 -2061.6112 0 113.40187 5922.4926 10 80.776057 13540.088 -2064.6132 2.9966028 113.40187 5922.4926 20 146.17503 -20669.371 -2067.0428 5.4227518 113.40187 5922.4926 -Loop time of 0.173901 on 1 procs for 20 steps with 288 atoms +Loop time of 0.058071 on 1 procs for 20 steps with 288 atoms -Performance: 9.937 ns/day, 2.415 hours/ns, 115.008 timesteps/s, 33.122 katom-step/s -99.7% CPU use with 1 MPI tasks x 1 OpenMP threads +Performance: 29.757 ns/day, 0.807 hours/ns, 344.406 timesteps/s, 99.189 katom-step/s +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.17213 | 0.17213 | 0.17213 | 0.0 | 98.98 +Pair | 0.057666 | 0.057666 | 0.057666 | 0.0 | 99.30 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.0013913 | 0.0013913 | 0.0013913 | 0.0 | 0.80 -Output | 5.0377e-05 | 5.0377e-05 | 5.0377e-05 | 0.0 | 0.03 -Modify | 6.9212e-05 | 6.9212e-05 | 6.9212e-05 | 0.0 | 0.04 -Other | | 0.000264 | | | 0.15 +Comm | 0.00024654 | 0.00024654 | 0.00024654 | 0.0 | 0.42 +Output | 2.3975e-05 | 2.3975e-05 | 2.3975e-05 | 0.0 | 0.04 +Modify | 3.8394e-05 | 3.8394e-05 | 3.8394e-05 | 0.0 | 0.07 +Other | | 9.596e-05 | | | 0.17 Nlocal: 288 ave 288 max 288 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 10002 ave 10002 max 10002 min +Nghost: 4285 ave 4285 max 4285 min Histogram: 1 0 0 0 0 0 0 0 0 0 Neighs: 0 ave 0 max 0 min Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 477120 ave 477120 max 477120 min +FullNghs: 142848 ave 142848 max 142848 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Total # of neighbors = 477120 -Ave neighs/atom = 1656.6667 +Total # of neighbors = 142848 +Ave neighs/atom = 496 Neighbor list builds = 0 Dangerous builds = 0 diff --git a/examples/threebody/log.22Feb24.mos2-bulk.g++.4 b/examples/threebody/log.22Feb24.mos2-bulk.g++.4 index c215d88294..0b9cd3ed8a 100644 --- a/examples/threebody/log.22Feb24.mos2-bulk.g++.4 +++ b/examples/threebody/log.22Feb24.mos2-bulk.g++.4 @@ -1,5 +1,4 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-70-ge51a65696d-modified) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-73-g36fa601fe0) using 1 OpenMP thread(s) per MPI task units metal @@ -23,7 +22,7 @@ Created triclinic box = (0 0 0) to (19.147099 22.121185 13.982768) with tilt (-9 create_atoms 2 box basis 1 1 basis 2 1 basis 3 2 basis 4 2 basis 5 2 basis 6 2 Created 288 atoms using lattice units in triclinic box = (0 0 0) to (19.147099 22.121185 13.982768) with tilt (-9.5735495 0 0) - create_atoms CPU = 0.001 seconds + create_atoms CPU = 0.000 seconds mass 1 95.95 #Mo mass 2 32.065 #S @@ -40,46 +39,46 @@ run 20 Neighbor list info ... update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 20.1 - ghost atom cutoff = 20.1 - binsize = 10.05, bins = 3 3 2 + master list distance cutoff = 13.4 + ghost atom cutoff = 13.4 + binsize = 6.7, bins = 5 4 3 1 neighbor lists, perpetual/occasional/extra = 1 0 0 (1) pair rebomos, perpetual attributes: full, newton on, ghost pair build: full/bin/ghost stencil: full/ghost/bin/3d bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.977 | 4.978 | 4.978 Mbytes +Per MPI rank memory allocation (min/avg/max) = 4.15 | 4.151 | 4.151 Mbytes Step Temp Press PotEng KinEng CellGamma Volume 0 0 28799.53 -2061.6112 0 113.40187 5922.4926 10 80.776057 13540.088 -2064.6132 2.9966028 113.40187 5922.4926 20 146.17503 -20669.371 -2067.0428 5.4227518 113.40187 5922.4926 -Loop time of 0.0644788 on 4 procs for 20 steps with 288 atoms +Loop time of 0.0219485 on 4 procs for 20 steps with 288 atoms -Performance: 26.799 ns/day, 0.896 hours/ns, 310.179 timesteps/s, 89.332 katom-step/s -99.2% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 78.730 ns/day, 0.305 hours/ns, 911.225 timesteps/s, 262.433 katom-step/s +96.3% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.057739 | 0.059918 | 0.06231 | 0.7 | 92.93 +Pair | 0.018118 | 0.019372 | 0.020087 | 0.5 | 88.26 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.0018848 | 0.0042821 | 0.0064683 | 2.6 | 6.64 -Output | 3.7548e-05 | 4.1425e-05 | 5.1594e-05 | 0.0 | 0.06 -Modify | 3.4882e-05 | 3.5821e-05 | 3.6589e-05 | 0.0 | 0.06 -Other | | 0.0002014 | | | 0.31 +Comm | 0.0015635 | 0.0023195 | 0.0035967 | 1.6 | 10.57 +Output | 2.5017e-05 | 4.6834e-05 | 0.00010543 | 0.0 | 0.21 +Modify | 1.3954e-05 | 1.423e-05 | 1.4594e-05 | 0.0 | 0.06 +Other | | 0.0001957 | | | 0.89 Nlocal: 72 ave 72 max 72 min Histogram: 4 0 0 0 0 0 0 0 0 0 -Nghost: 7113.5 ave 7114 max 7113 min +Nghost: 2771.5 ave 2775 max 2768 min Histogram: 2 0 0 0 0 0 0 0 0 2 Neighs: 0 ave 0 max 0 min Histogram: 4 0 0 0 0 0 0 0 0 0 -FullNghs: 119280 ave 119280 max 119280 min +FullNghs: 35712 ave 35712 max 35712 min Histogram: 4 0 0 0 0 0 0 0 0 0 -Total # of neighbors = 477120 -Ave neighs/atom = 1656.6667 +Total # of neighbors = 142848 +Ave neighs/atom = 496 Neighbor list builds = 0 Dangerous builds = 0 diff --git a/examples/threebody/log.22Feb24.mos2.rebomos.g++.1 b/examples/threebody/log.22Feb24.mos2.rebomos.g++.1 index e0a313647d..f7c5b3c74d 100644 --- a/examples/threebody/log.22Feb24.mos2.rebomos.g++.1 +++ b/examples/threebody/log.22Feb24.mos2.rebomos.g++.1 @@ -1,5 +1,4 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-70-ge51a65696d-modified) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-73-g36fa601fe0) using 1 OpenMP thread(s) per MPI task # monolayer MoS2 units metal @@ -15,7 +14,7 @@ WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (src/domain 1 by 1 by 1 MPI processor grid reading atoms ... 768 atoms - read_data CPU = 0.003 seconds + read_data CPU = 0.002 seconds mass * 32.065 # mass of sulphur atom , uint: a.u.=1.66X10^(-27)kg mass 1 95.94 # mass of molebdenum atom , uint: a.u.=1.66X10^(-27)kg @@ -43,16 +42,16 @@ run 5000 Neighbor list info ... update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 20.1 - ghost atom cutoff = 20.1 - binsize = 10.05, bins = 8 5 20 + master list distance cutoff = 13.4 + ghost atom cutoff = 13.4 + binsize = 6.7, bins = 12 7 30 1 neighbor lists, perpetual/occasional/extra = 1 0 0 (1) pair rebomos, perpetual attributes: full, newton on, ghost pair build: full/bin/ghost stencil: full/ghost/bin/3d bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.273 | 5.273 | 5.273 Mbytes +Per MPI rank memory allocation (min/avg/max) = 4.473 | 4.473 | 4.473 Mbytes Step TotEng PotEng KinEng Temp 0 -5466.9785 -5496.7212 29.742759 300 500 -5466.964 -5482.6985 15.734505 158.7059 @@ -65,32 +64,32 @@ Per MPI rank memory allocation (min/avg/max) = 5.273 | 5.273 | 5.273 Mbytes 4000 -5466.9628 -5481.848 14.885236 150.13977 4500 -5466.9648 -5483.5045 16.539775 166.82825 5000 -5466.9649 -5483.4932 16.528298 166.71249 -Loop time of 36.2406 on 1 procs for 5000 steps with 768 atoms +Loop time of 19.1009 on 1 procs for 5000 steps with 768 atoms -Performance: 11.920 ns/day, 2.013 hours/ns, 137.967 timesteps/s, 105.959 katom-step/s +Performance: 22.617 ns/day, 1.061 hours/ns, 261.768 timesteps/s, 201.038 katom-step/s 99.9% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 36.14 | 36.14 | 36.14 | 0.0 | 99.72 +Pair | 19.042 | 19.042 | 19.042 | 0.0 | 99.69 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.043166 | 0.043166 | 0.043166 | 0.0 | 0.12 -Output | 0.00021785 | 0.00021785 | 0.00021785 | 0.0 | 0.00 -Modify | 0.034547 | 0.034547 | 0.034547 | 0.0 | 0.10 -Other | | 0.02219 | | | 0.06 +Comm | 0.018451 | 0.018451 | 0.018451 | 0.0 | 0.10 +Output | 0.00015575 | 0.00015575 | 0.00015575 | 0.0 | 0.00 +Modify | 0.023931 | 0.023931 | 0.023931 | 0.0 | 0.13 +Other | | 0.01658 | | | 0.09 Nlocal: 768 ave 768 max 768 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 2054 ave 2054 max 2054 min +Nghost: 1158 ave 1158 max 1158 min Histogram: 1 0 0 0 0 0 0 0 0 0 Neighs: 0 ave 0 max 0 min Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 330752 ave 330752 max 330752 min +FullNghs: 141824 ave 141824 max 141824 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Total # of neighbors = 330752 -Ave neighs/atom = 430.66667 +Total # of neighbors = 141824 +Ave neighs/atom = 184.66667 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:36 +Total wall time: 0:00:19 diff --git a/examples/threebody/log.22Feb24.mos2.rebomos.g++.4 b/examples/threebody/log.22Feb24.mos2.rebomos.g++.4 index 7510c5a793..dc1cfa84d4 100644 --- a/examples/threebody/log.22Feb24.mos2.rebomos.g++.4 +++ b/examples/threebody/log.22Feb24.mos2.rebomos.g++.4 @@ -1,5 +1,4 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-70-ge51a65696d-modified) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-73-g36fa601fe0) using 1 OpenMP thread(s) per MPI task # monolayer MoS2 units metal @@ -43,16 +42,16 @@ run 5000 Neighbor list info ... update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 20.1 - ghost atom cutoff = 20.1 - binsize = 10.05, bins = 8 5 20 + master list distance cutoff = 13.4 + ghost atom cutoff = 13.4 + binsize = 6.7, bins = 12 7 30 1 neighbor lists, perpetual/occasional/extra = 1 0 0 (1) pair rebomos, perpetual attributes: full, newton on, ghost pair build: full/bin/ghost stencil: full/ghost/bin/3d bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.464 | 4.464 | 4.464 Mbytes +Per MPI rank memory allocation (min/avg/max) = 4.045 | 4.045 | 4.045 Mbytes Step TotEng PotEng KinEng Temp 0 -5466.9785 -5496.7212 29.742759 300 500 -5466.964 -5482.6985 15.734505 158.7059 @@ -65,32 +64,32 @@ Per MPI rank memory allocation (min/avg/max) = 4.464 | 4.464 | 4.464 Mbytes 4000 -5466.9628 -5481.848 14.885236 150.13977 4500 -5466.9648 -5483.5045 16.539775 166.82825 5000 -5466.9649 -5483.4932 16.528298 166.71249 -Loop time of 10.2878 on 4 procs for 5000 steps with 768 atoms +Loop time of 5.69326 on 4 procs for 5000 steps with 768 atoms -Performance: 41.992 ns/day, 0.572 hours/ns, 486.014 timesteps/s, 373.259 katom-step/s -99.7% CPU use with 4 MPI tasks x 1 OpenMP threads +Performance: 75.879 ns/day, 0.316 hours/ns, 878.231 timesteps/s, 674.482 katom-step/s +98.6% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 9.7925 | 9.9286 | 10.096 | 3.6 | 96.51 +Pair | 5.2611 | 5.3666 | 5.4358 | 3.0 | 94.26 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.16754 | 0.33518 | 0.47096 | 19.5 | 3.26 -Output | 0.00016889 | 0.00018727 | 0.00023915 | 0.0 | 0.00 -Modify | 0.010131 | 0.010502 | 0.011106 | 0.4 | 0.10 -Other | | 0.01333 | | | 0.13 +Comm | 0.23476 | 0.30106 | 0.40642 | 12.8 | 5.29 +Output | 0.00014996 | 0.0004478 | 0.0013353 | 0.0 | 0.01 +Modify | 0.0068861 | 0.0069917 | 0.0072247 | 0.2 | 0.12 +Other | | 0.01814 | | | 0.32 Nlocal: 192 ave 194 max 190 min Histogram: 1 0 0 0 0 2 0 0 0 1 -Nghost: 1350 ave 1352 max 1348 min +Nghost: 710 ave 712 max 708 min Histogram: 1 0 0 0 0 2 0 0 0 1 Neighs: 0 ave 0 max 0 min Histogram: 4 0 0 0 0 0 0 0 0 0 -FullNghs: 82688 ave 83548 max 81828 min +FullNghs: 35456 ave 35824 max 35088 min Histogram: 1 0 0 0 0 2 0 0 0 1 -Total # of neighbors = 330752 -Ave neighs/atom = 430.66667 +Total # of neighbors = 141824 +Ave neighs/atom = 184.66667 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:10 +Total wall time: 0:00:05 From 3e512834c739f7edf9f2e8384b923ad8140876e7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 22 Feb 2024 14:09:50 -0500 Subject: [PATCH 211/559] cosmetic --- src/MANYBODY/pair_rebomos.cpp | 7 ++----- src/MANYBODY/pair_rebomos.h | 3 ++- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/MANYBODY/pair_rebomos.cpp b/src/MANYBODY/pair_rebomos.cpp index 8ba1437aca..b40ff287cf 100644 --- a/src/MANYBODY/pair_rebomos.cpp +++ b/src/MANYBODY/pair_rebomos.cpp @@ -33,7 +33,6 @@ #include "comm.h" #include "error.h" #include "force.h" -#include "math_const.h" #include "math_special.h" #include "memory.h" #include "my_page.h" @@ -46,14 +45,12 @@ #include using namespace LAMMPS_NS; -using namespace MathConst; using MathSpecial::cube; using MathSpecial::powint; using MathSpecial::square; -#define MAXLINE 1024 -#define TOL 1.0e-9 -#define PGDELTA 1 +static constexpr double TOL = 1.0e-9; +static constexpr int PGDELTA = 1; /* ---------------------------------------------------------------------- */ diff --git a/src/MANYBODY/pair_rebomos.h b/src/MANYBODY/pair_rebomos.h index 8df4c6b3c9..4997c65b87 100644 --- a/src/MANYBODY/pair_rebomos.h +++ b/src/MANYBODY/pair_rebomos.h @@ -20,8 +20,9 @@ PairStyle(rebomos,PairREBOMoS); #ifndef LMP_PAIR_REBOMOS_H #define LMP_PAIR_REBOMOS_H -#include "math_const.h" #include "pair.h" +#include "math_const.h" + #include namespace LAMMPS_NS { From 49886caaf14f79918654f93e303c988a05066240 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 22 Feb 2024 15:17:46 -0500 Subject: [PATCH 212/559] add OPENMP package version of pair style rebomos --- doc/src/Commands_pair.rst | 2 +- doc/src/pair_rebomos.rst | 21 +- doc/utils/sphinx-config/false_positives.txt | 2 + src/MANYBODY/pair_rebomos.cpp | 16 +- src/OPENMP/pair_rebomos_omp.cpp | 702 ++++++++++++++++++++ src/OPENMP/pair_rebomos_omp.h | 46 ++ 6 files changed, 775 insertions(+), 14 deletions(-) create mode 100644 src/OPENMP/pair_rebomos_omp.cpp create mode 100644 src/OPENMP/pair_rebomos_omp.h diff --git a/doc/src/Commands_pair.rst b/doc/src/Commands_pair.rst index 95dd7429e8..9bbe216dec 100644 --- a/doc/src/Commands_pair.rst +++ b/doc/src/Commands_pair.rst @@ -256,7 +256,7 @@ OPT. * :doc:`rann ` * :doc:`reaxff (ko) ` * :doc:`rebo (io) ` - * :doc:`rebomos ` + * :doc:`rebomos (o) ` * :doc:`resquared (go) ` * :doc:`saip/metal (t) ` * :doc:`sdpd/taitwater/isothermal ` diff --git a/doc/src/pair_rebomos.rst b/doc/src/pair_rebomos.rst index 56bf6488bb..9be400e363 100644 --- a/doc/src/pair_rebomos.rst +++ b/doc/src/pair_rebomos.rst @@ -1,7 +1,10 @@ .. index:: pair_style rebomos +.. index:: pair_style rebomos/omp pair_style rebomos command -========================= +========================== + +Accelerator Variants: *rebomos/omp* Syntax """""" @@ -24,7 +27,9 @@ Examples Description """"""""""" -The *rebomos* pair style computes +.. versionadded:: TBD + +The *rebomos* pair style computes ---------- @@ -60,6 +65,10 @@ potentials. ---------- +.. include:: accel_styles.rst + +---------- + Mixing, shift, table, tail correction, restart, rRESPA info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" @@ -107,3 +116,11 @@ Default none ---------- + +.. _Stewart: + +**(Steward)** Stewart, Spearot, Modelling Simul. Mater. Sci. Eng. 21,(2013) + +.. _Liang: + +**(Liang)** Liang, Phillpot, Sinnott Phys. Rev. B79 245110, (2009), Erratum: Phys. Rev. B85 199903(E), (2012) diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 4f5fe6fdaf..3423b7859b 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -2266,6 +2266,7 @@ morris Morriss morse Morteza +MoS Mosayebi Moseler Moskalev @@ -3070,6 +3071,7 @@ reaxff ReaxFF REAXFF rebo +rebomos recurse recursing Ree diff --git a/src/MANYBODY/pair_rebomos.cpp b/src/MANYBODY/pair_rebomos.cpp index b40ff287cf..d6cea004a7 100644 --- a/src/MANYBODY/pair_rebomos.cpp +++ b/src/MANYBODY/pair_rebomos.cpp @@ -372,7 +372,6 @@ void PairREBOMoS::FREBO(int eflag) int *type = atom->type; tagint *tag = atom->tag; int nlocal = atom->nlocal; - int newton_pair = force->newton_pair; inum = list->inum; ilist = list->ilist; @@ -442,7 +441,7 @@ void PairREBOMoS::FREBO(int eflag) f[j][2] -= delz*fpair; if (eflag) evdwl = VR + bij*VA; - if (evflag) ev_tally(i,j,nlocal,newton_pair,evdwl,0.0,fpair,delx,dely,delz); + if (evflag) ev_tally(i,j,nlocal,/*newton_pair*/1,evdwl,0.0,fpair,delx,dely,delz); } } } @@ -473,7 +472,6 @@ void PairREBOMoS::FLJ(int eflag) tagint *tag = atom->tag; int *type = atom->type; int nlocal = atom->nlocal; - int newton_pair = force->newton_pair; inum = list->inum; ilist = list->ilist; @@ -553,8 +551,7 @@ void PairREBOMoS::FLJ(int eflag) f[j][2] -= delij[2]*fpair; if (eflag) evdwl = VLJ; - if (evflag) ev_tally(i,j,nlocal,newton_pair, - evdwl,0.0,fpair,delij[0],delij[1],delij[2]); + if (evflag) ev_tally(i,j,nlocal,/*newton_pair*/1,evdwl,0.0,fpair,delij[0],delij[1],delij[2]); } } @@ -771,12 +768,9 @@ double PairREBOMoS::bondorder(int i, int j, double rij[3], double rijmag, double cosijl = MIN(cosijl,1.0); cosijl = MAX(cosijl,-1.0); - dcosijldri[0] = (-rjl[0]/(rijmag*rjlmag)) - - (cosijl*rij[0]/(rijmag*rijmag)); - dcosijldri[1] = (-rjl[1]/(rijmag*rjlmag)) - - (cosijl*rij[1]/(rijmag*rijmag)); - dcosijldri[2] = (-rjl[2]/(rijmag*rjlmag)) - - (cosijl*rij[2]/(rijmag*rijmag)); + dcosijldri[0] = (-rjl[0]/(rijmag*rjlmag)) - (cosijl*rij[0]/(rijmag*rijmag)); + dcosijldri[1] = (-rjl[1]/(rijmag*rjlmag)) - (cosijl*rij[1]/(rijmag*rijmag)); + dcosijldri[2] = (-rjl[2]/(rijmag*rjlmag)) - (cosijl*rij[2]/(rijmag*rijmag)); dcosijldrj[0] = ((-rij[0]+rjl[0])/(rijmag*rjlmag)) + (cosijl*((rij[0]/square(rijmag))-(rjl[0]/(rjlmag*rjlmag)))); dcosijldrj[1] = ((-rij[1]+rjl[1])/(rijmag*rjlmag)) + diff --git a/src/OPENMP/pair_rebomos_omp.cpp b/src/OPENMP/pair_rebomos_omp.cpp new file mode 100644 index 0000000000..5143fd0f63 --- /dev/null +++ b/src/OPENMP/pair_rebomos_omp.cpp @@ -0,0 +1,702 @@ +// clang-format off +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS Development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + References: + + This code: + Stewart J A and Spearot D E (2013) Atomistic simulations of nanoindentation on the basal plane of crystalline molybdenum disulfide. Modelling Simul. Mater. Sci. Eng. 21. + + Based on: + Liang T, Phillpot S R and Sinnott S B (2009) Parameterization of a reactive many-body potential for Mo2S systems. Phys. Rev. B79 245110. + Liang T, Phillpot S R and Sinnott S B (2012) Erratum: Parameterization of a reactive many-body potential for Mo-S systems. (Phys. Rev. B79 245110 (2009)) Phys. Rev. B85 199903(E). + + LAMMPS file contributing authors: James Stewart, Khanh Dang and Douglas Spearot (University of Arkansas) +------------------------------------------------------------------------- */ + +// clang-format on + +#include "pair_rebomos_omp.h" + +#include "atom.h" +#include "comm.h" +#include "error.h" +#include "math_special.h" +#include "memory.h" +#include "my_page.h" +#include "neigh_list.h" + +#include "suffix.h" + +#include + +#include "omp_compat.h" +#if defined(_OPENMP) +#include +#endif + +using namespace LAMMPS_NS; +using namespace MathConst; +using MathSpecial::cube; +using MathSpecial::powint; +using MathSpecial::square; + +static constexpr double TOL = 1.0e-9; + +/* ---------------------------------------------------------------------- */ + +PairREBOMoSOMP::PairREBOMoSOMP(LAMMPS *lmp) : PairREBOMoS(lmp), ThrOMP(lmp, THR_PAIR) +{ + suffix_flag |= Suffix::OMP; + respa_enable = 0; +} + +// clang-format off + +/* ---------------------------------------------------------------------- */ + +void PairREBOMoSOMP::compute(int eflag, int vflag) +{ + ev_init(eflag,vflag); + + REBO_neigh_thr(); + + const int nall = atom->nlocal + atom->nghost; + const int nthreads = comm->nthreads; + const int inum = list->inum; + +#if defined(_OPENMP) +#pragma omp parallel LMP_DEFAULT_NONE LMP_SHARED(eflag,vflag) +#endif + { + int ifrom, ito, tid; + + loop_setup_thr(ifrom, ito, tid, inum, nthreads); + ThrData *thr = fix->get_thr(tid); + thr->timer(Timer::START); + ev_setup_thr(eflag, vflag, nall, eatom, vatom, nullptr, thr); + + FREBO_thr(ifrom,ito,eflag,thr); + FLJ_thr(ifrom,ito,eflag,thr); + + thr->timer(Timer::PAIR); + reduce_thr(this, eflag, vflag, thr); + } // end of omp parallel region +} + +/* ---------------------------------------------------------------------- + create REBO neighbor list from main neighbor list + REBO neighbor list stores neighbors of ghost atoms +------------------------------------------------------------------------- */ + +void PairREBOMoSOMP::REBO_neigh_thr() +{ + const int nthreads = comm->nthreads; + + if (atom->nmax > maxlocal) { + maxlocal = atom->nmax; + memory->destroy(REBO_numneigh); + memory->sfree(REBO_firstneigh); + memory->destroy(nM); + memory->destroy(nS); + memory->create(REBO_numneigh,maxlocal,"REBOMoS:numneigh"); + REBO_firstneigh = (int **) memory->smalloc(maxlocal*sizeof(int *), + "REBOMoS:firstneigh"); + memory->create(nM,maxlocal,"REBOMoS:nM"); + memory->create(nS,maxlocal,"REBOMoS:nS"); + } + +#if defined(_OPENMP) +#pragma omp parallel LMP_DEFAULT_NONE +#endif + { + int i,j,ii,jj,n,jnum,itype,jtype; + double xtmp,ytmp,ztmp,delx,dely,delz,rsq,dS; + int *ilist,*jlist,*numneigh,**firstneigh; + int *neighptr; + + double **x = atom->x; + int *type = atom->type; + + const int allnum = list->inum + list->gnum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + +#if defined(_OPENMP) + const int tid = omp_get_thread_num(); +#else + const int tid = 0; +#endif + + const int iidelta = 1 + allnum/nthreads; + const int iifrom = tid*iidelta; + const int iito = ((iifrom+iidelta)>allnum) ? allnum : (iifrom+iidelta); + + // store all REBO neighs of owned and ghost atoms + // scan full neighbor list of I + + // each thread has its own page allocator + MyPage &ipg = ipage[tid]; + ipg.reset(); + + for (ii = iifrom; ii < iito; ii++) { + i = ilist[ii]; + + n = 0; + neighptr = ipg.vget(); + + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itype = map[type[i]]; + nM[i] = nS[i] = 0.0; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + jtype = map[type[j]]; + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + + if (rsq < rcmaxsq[itype][jtype]) { + neighptr[n++] = j; + if (jtype == 0) + nM[i] += Sp(sqrt(rsq),rcmin[itype][jtype],rcmax[itype][jtype],dS); + else + nS[i] += Sp(sqrt(rsq),rcmin[itype][jtype],rcmax[itype][jtype],dS); + } + } + + REBO_firstneigh[i] = neighptr; + REBO_numneigh[i] = n; + ipg.vgot(n); + if (ipg.status()) + error->one(FLERR,"REBO list overflow, boost neigh_modify one"); + } + } +} + +/* ---------------------------------------------------------------------- + REBO forces and energy +------------------------------------------------------------------------- */ + +void PairREBOMoSOMP::FREBO_thr(int ifrom, int ito, int eflag, ThrData * const thr) +{ + int i,j,k,ii,itype,jtype; + tagint itag, jtag; + double delx,dely,delz,evdwl,fpair,xtmp,ytmp,ztmp; + double rsq,rij,wij; + double Qij,Aij,alphaij,VR,pre,dVRdi,VA,bij,dVAdi,dVA; + double dwij,del[3]; + int *ilist,*REBO_neighs; + + evdwl = 0.0; + + const double * const * const x = atom->x; + double * const * const f = thr->get_f(); + const int * const type = atom->type; + const tagint * const tag = atom->tag; + const int nlocal = atom->nlocal; + + ilist = list->ilist; + + // two-body interactions from REBO neighbor list, skip half of them + + for (ii = ifrom; ii < ito; ii++) { + i = ilist[ii]; + itag = tag[i]; + itype = map[type[i]]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + REBO_neighs = REBO_firstneigh[i]; + + for (k = 0; k < REBO_numneigh[i]; k++) { + j = REBO_neighs[k]; + jtag = tag[j]; + + if (itag > jtag) { + if ((itag+jtag) % 2 == 0) continue; + } else if (itag < jtag) { + if ((itag+jtag) % 2 == 1) continue; + } else { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp && x[j][1] < ytmp) continue; + if (x[j][2] == ztmp && x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + + jtype = map[type[j]]; + + delx = x[i][0] - x[j][0]; + dely = x[i][1] - x[j][1]; + delz = x[i][2] - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + rij = sqrt(rsq); + wij = Sp(rij,rcmin[itype][jtype],rcmax[itype][jtype],dwij); + if (wij <= TOL) continue; + + Qij = Q[itype][jtype]; + Aij = A[itype][jtype]; + alphaij = alpha[itype][jtype]; + + VR = wij*(1.0+(Qij/rij)) * Aij*exp(-alphaij*rij); + pre = wij*Aij * exp(-alphaij*rij); + dVRdi = pre * ((-alphaij)-(Qij/rsq)-(Qij*alphaij/rij)); + dVRdi += VR/wij * dwij; + + VA = dVA = 0.0; + VA = -wij * BIJc[itype][jtype] * exp(-Beta[itype][jtype]*rij); + + dVA = -Beta[itype][jtype] * VA; + dVA += VA/wij * dwij; + + del[0] = delx; + del[1] = dely; + del[2] = delz; + bij = bondorder_thr(i,j,del,rij,VA,thr); + dVAdi = bij*dVA; + + fpair = -(dVRdi+dVAdi) / rij; + f[i][0] += delx*fpair; + f[i][1] += dely*fpair; + f[i][2] += delz*fpair; + f[j][0] -= delx*fpair; + f[j][1] -= dely*fpair; + f[j][2] -= delz*fpair; + + if (eflag) evdwl = VR + bij*VA; + if (evflag) ev_tally_thr(this,i,j,nlocal,/* newton_pair */1,evdwl,0.0,fpair,delx,dely,delz,thr); + } + } +} + +/* ---------------------------------------------------------------------- + compute LJ forces and energy +------------------------------------------------------------------------- */ + +void PairREBOMoSOMP::FLJ_thr(int ifrom, int ito, int eflag, ThrData * const thr) +{ + int i,j,ii,jj,jnum,itype,jtype; + tagint itag,jtag; + double evdwl,fpair,xtmp,ytmp,ztmp; + double rij,delij[3],rijsq; + double VLJ,dVLJ; + double vdw,dvdw; + double r2inv,r6inv; + int *ilist,*jlist,*numneigh,**firstneigh; + double c2,c3,dr,drp,r6; + + // I-J interaction from full neighbor list + // skip 1/2 of interactions since only consider each pair once + + evdwl = 0.0; + + const double * const * const x = atom->x; + double * const * const f = thr->get_f(); + const tagint * const tag = atom->tag; + const int * const type = atom->type; + const int nlocal = atom->nlocal; + + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // loop over neighbors of my atoms + + for (ii = ifrom; ii < ito; ii++) { + i = ilist[ii]; + itag = tag[i]; + itype = map[type[i]]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + jtag = tag[j]; + + if (itag > jtag) { + if ((itag+jtag) % 2 == 0) continue; + } else if (itag < jtag) { + if ((itag+jtag) % 2 == 1) continue; + } else { + if (x[j][2] < ztmp) continue; + if (x[j][2] == ztmp && x[j][1] < ytmp) continue; + if (x[j][2] == ztmp && x[j][1] == ytmp && x[j][0] < xtmp) continue; + } + jtype = map[type[j]]; + + delij[0] = xtmp - x[j][0]; + delij[1] = ytmp - x[j][1]; + delij[2] = ztmp - x[j][2]; + rijsq = delij[0]*delij[0] + delij[1]*delij[1] + delij[2]*delij[2]; + rij = sqrt(rijsq); + + // compute LJ forces and energy + + // Outside Rmax + if (rij > rcLJmax[itype][jtype] || rij < rcLJmin[itype][jtype]){ + VLJ = 0; + dVLJ = 0; + } + + // Inside Rmax and above 0.95*sigma + else if (rij <= rcLJmax[itype][jtype] && rij >= 0.95*sigma[itype][jtype]){ + r2inv = 1.0/rijsq; + r6inv = r2inv*r2inv*r2inv; + VLJ = r6inv*(lj3[itype][jtype]*r6inv-lj4[itype][jtype]); + dVLJ = -r6inv*(lj1[itype][jtype]*r6inv - lj2[itype][jtype])/rij; + } + + // Below 0.95*sigma + else if (rij < 0.95*sigma[itype][jtype] && rij >= rcLJmin[itype][jtype]){ + dr = 0.95*sigma[itype][jtype] - rcLJmin[itype][jtype]; + r6 = powint((sigma[itype][jtype]/(0.95*sigma[itype][jtype])),6); + vdw = 4*epsilon[itype][jtype]*r6*(r6 - 1.0); + dvdw = (-4*epsilon[itype][jtype]/(0.95*sigma[itype][jtype]))*r6*(12.0*r6 - 6.0); + c2 = ((3.0/dr)*vdw - dvdw)/dr; + c3 = (vdw/(dr*dr) - c2)/dr; + + drp = rij - rcLJmin[itype][jtype]; + VLJ = drp*drp*(drp*c3 + c2); + dVLJ = drp*(3.0*drp*c3 + 2.0*c2); + } + + fpair = -dVLJ/rij; + f[i][0] += delij[0]*fpair; + f[i][1] += delij[1]*fpair; + f[i][2] += delij[2]*fpair; + f[j][0] -= delij[0]*fpair; + f[j][1] -= delij[1]*fpair; + f[j][2] -= delij[2]*fpair; + + if (eflag) evdwl = VLJ; + if (evflag) ev_tally_thr(this,i,j,nlocal,/*newton_pair*/1,evdwl,0.0,fpair,delij[0],delij[1],delij[2],thr); + + } + } +} + +/* ---------------------------------------------------------------------- + Bij function + + The bond order term modified the attractive portion of the REBO + potential based on the number of atoms around a specific pair + and the bond angle between sets of three atoms. + + The functions G(cos(theta)) and P(N) are evaluated and their + derivatives are also computed for use in the force calculation. +------------------------------------------------------------------------- */ + +double PairREBOMoSOMP::bondorder_thr(int i, int j, double rij[3], double rijmag, double VA, ThrData *thr) +{ + int atomi,atomj,atomk,atoml; + int k,l; + int itype, jtype, ktype, ltype; + double rik[3], rjl[3], rji[3], rki[3],rlj[3], dwjl, bij; + double NijM,NijS,NjiM,NjiS,wik,dwik,wjl; + double rikmag,rjlmag,cosjik,cosijl,g,tmp2; + double Etmp,pij,tmp,dwij,dS; + double dgdc,pji; + double dcosjikdri[3],dcosijldri[3],dcosjikdrk[3]; + double dp; + double dcosjikdrj[3],dcosijldrj[3],dcosijldrl[3]; + double fi[3],fj[3],fk[3],fl[3]; + double PijS, PjiS; + int *REBO_neighs; + + const double * const * const x = atom->x; + double * const * const f = thr->get_f(); + const int * const type = atom->type; + + atomi = i; + atomj = j; + itype = map[type[i]]; + jtype = map[type[j]]; + Sp(rijmag,rcmin[itype][jtype],rcmax[itype][jtype],dwij); + NijM = nM[i]; + NijS = nS[i]; + NjiM = nM[j]; + NjiS = nS[j]; + bij = 0.0; + tmp = 0.0; + tmp2 = 0.0; + dgdc = 0.0; + Etmp = 0.0; + + REBO_neighs = REBO_firstneigh[i]; + for (k = 0; k < REBO_numneigh[i]; k++) { + atomk = REBO_neighs[k]; + if (atomk != atomj) { + ktype = map[type[atomk]]; + rik[0] = x[atomi][0]-x[atomk][0]; + rik[1] = x[atomi][1]-x[atomk][1]; + rik[2] = x[atomi][2]-x[atomk][2]; + rikmag = sqrt((rik[0]*rik[0])+(rik[1]*rik[1])+(rik[2]*rik[2])); + wik = Sp(rikmag,rcmin[itype][ktype],rcmax[itype][ktype],dS); + cosjik = ((rij[0]*rik[0])+(rij[1]*rik[1])+(rij[2]*rik[2])) / (rijmag*rikmag); + cosjik = MIN(cosjik,1.0); + cosjik = MAX(cosjik,-1.0); + + // evaluate g and derivative dg + + g = gSpline(cosjik,itype,dgdc); + Etmp = Etmp+(wik*g); + } + } + + dp = 0.0; + PijS = PijSpline(NijM,NijS,itype,dp); + pij = 1.0/sqrt(1.0+Etmp+PijS); + tmp = -0.5*cube(pij); + + // derivative calculations + + REBO_neighs = REBO_firstneigh[i]; + for (k = 0; k < REBO_numneigh[i]; k++) { + atomk = REBO_neighs[k]; + if (atomk != atomj) { + ktype = map[type[atomk]]; + rik[0] = x[atomi][0]-x[atomk][0]; + rik[1] = x[atomi][1]-x[atomk][1]; + rik[2] = x[atomi][2]-x[atomk][2]; + rikmag = sqrt((rik[0]*rik[0])+(rik[1]*rik[1])+(rik[2]*rik[2])); + wik = Sp(rikmag,rcmin[itype][ktype],rcmax[itype][ktype],dwik); + cosjik = (rij[0]*rik[0] + rij[1]*rik[1] + rij[2]*rik[2]) / (rijmag*rikmag); + cosjik = MIN(cosjik,1.0); + cosjik = MAX(cosjik,-1.0); + + dcosjikdri[0] = ((rij[0]+rik[0])/(rijmag*rikmag)) - + (cosjik*((rij[0]/(rijmag*rijmag))+(rik[0]/(rikmag*rikmag)))); + dcosjikdri[1] = ((rij[1]+rik[1])/(rijmag*rikmag)) - + (cosjik*((rij[1]/(rijmag*rijmag))+(rik[1]/(rikmag*rikmag)))); + dcosjikdri[2] = ((rij[2]+rik[2])/(rijmag*rikmag)) - + (cosjik*((rij[2]/(rijmag*rijmag))+(rik[2]/(rikmag*rikmag)))); + dcosjikdrk[0] = (-rij[0]/(rijmag*rikmag)) + + (cosjik*(rik[0]/(rikmag*rikmag))); + dcosjikdrk[1] = (-rij[1]/(rijmag*rikmag)) + + (cosjik*(rik[1]/(rikmag*rikmag))); + dcosjikdrk[2] = (-rij[2]/(rijmag*rikmag)) + + (cosjik*(rik[2]/(rikmag*rikmag))); + dcosjikdrj[0] = (-rik[0]/(rijmag*rikmag)) + + (cosjik*(rij[0]/(rijmag*rijmag))); + dcosjikdrj[1] = (-rik[1]/(rijmag*rikmag)) + + (cosjik*(rij[1]/(rijmag*rijmag))); + dcosjikdrj[2] = (-rik[2]/(rijmag*rikmag)) + + (cosjik*(rij[2]/(rijmag*rijmag))); + + g = gSpline(cosjik,itype,dgdc); + tmp2 = VA*0.5*(tmp*wik*dgdc); + fj[0] = -tmp2*dcosjikdrj[0]; + fj[1] = -tmp2*dcosjikdrj[1]; + fj[2] = -tmp2*dcosjikdrj[2]; + fi[0] = -tmp2*dcosjikdri[0]; + fi[1] = -tmp2*dcosjikdri[1]; + fi[2] = -tmp2*dcosjikdri[2]; + fk[0] = -tmp2*dcosjikdrk[0]; + fk[1] = -tmp2*dcosjikdrk[1]; + fk[2] = -tmp2*dcosjikdrk[2]; + + // coordination forces + + // dwik forces (from partial derivative) + + tmp2 = VA*0.5*(tmp*dwik*g)/rikmag; + fi[0] -= tmp2*rik[0]; + fi[1] -= tmp2*rik[1]; + fi[2] -= tmp2*rik[2]; + fk[0] += tmp2*rik[0]; + fk[1] += tmp2*rik[1]; + fk[2] += tmp2*rik[2]; + + // PIJ forces (from coordination P(N) term) + + tmp2 = VA*0.5*(tmp*dp*dwik)/rikmag; + fi[0] -= tmp2*rik[0]; + fi[1] -= tmp2*rik[1]; + fi[2] -= tmp2*rik[2]; + fk[0] += tmp2*rik[0]; + fk[1] += tmp2*rik[1]; + fk[2] += tmp2*rik[2]; + + // dgdN forces are removed + + f[atomi][0] += fi[0]; f[atomi][1] += fi[1]; f[atomi][2] += fi[2]; + f[atomj][0] += fj[0]; f[atomj][1] += fj[1]; f[atomj][2] += fj[2]; + f[atomk][0] += fk[0]; f[atomk][1] += fk[1]; f[atomk][2] += fk[2]; + + if (vflag_either) { + rji[0] = -rij[0]; rji[1] = -rij[1]; rji[2] = -rij[2]; + rki[0] = -rik[0]; rki[1] = -rik[1]; rki[2] = -rik[2]; + v_tally3_thr(this,atomi,atomj,atomk,fj,fk,rji,rki,thr); + } + } + } + + // PIJ force contribution additional term + tmp2 = -VA*0.5*(tmp*dp*dwij)/rijmag; + + f[atomi][0] += rij[0]*tmp2; + f[atomi][1] += rij[1]*tmp2; + f[atomi][2] += rij[2]*tmp2; + f[atomj][0] -= rij[0]*tmp2; + f[atomj][1] -= rij[1]*tmp2; + f[atomj][2] -= rij[2]*tmp2; + + if (vflag_either) v_tally2_thr(this,atomi,atomj,tmp2,rij,thr); + + tmp = 0.0; + tmp2 = 0.0; + Etmp = 0.0; + + REBO_neighs = REBO_firstneigh[j]; + for (l = 0; l < REBO_numneigh[j]; l++) { + atoml = REBO_neighs[l]; + if (atoml != atomi) { + ltype = map[type[atoml]]; + rjl[0] = x[atomj][0]-x[atoml][0]; + rjl[1] = x[atomj][1]-x[atoml][1]; + rjl[2] = x[atomj][2]-x[atoml][2]; + rjlmag = sqrt((rjl[0]*rjl[0])+(rjl[1]*rjl[1])+(rjl[2]*rjl[2])); + wjl = Sp(rjlmag,rcmin[jtype][ltype],rcmax[jtype][ltype],dS); + cosijl = -1.0*((rij[0]*rjl[0])+(rij[1]*rjl[1])+(rij[2]*rjl[2])) / (rijmag*rjlmag); + cosijl = MIN(cosijl,1.0); + cosijl = MAX(cosijl,-1.0); + + // evaluate g and derivative dg + + g = gSpline(cosijl,jtype,dgdc); + Etmp = Etmp+(wjl*g); + } + } + + dp = 0.0; + PjiS = PijSpline(NjiM,NjiS,jtype,dp); + pji = 1.0/sqrt(1.0+Etmp+PjiS); + tmp = -0.5*cube(pji); + + REBO_neighs = REBO_firstneigh[j]; + for (l = 0; l < REBO_numneigh[j]; l++) { + atoml = REBO_neighs[l]; + if (atoml != atomi) { + ltype = map[type[atoml]]; + rjl[0] = x[atomj][0]-x[atoml][0]; + rjl[1] = x[atomj][1]-x[atoml][1]; + rjl[2] = x[atomj][2]-x[atoml][2]; + rjlmag = sqrt((rjl[0]*rjl[0])+(rjl[1]*rjl[1])+(rjl[2]*rjl[2])); + wjl = Sp(rjlmag,rcmin[jtype][ltype],rcmax[jtype][ltype],dwjl); + cosijl = (-1.0*((rij[0]*rjl[0])+(rij[1]*rjl[1])+(rij[2]*rjl[2]))) / (rijmag*rjlmag); + cosijl = MIN(cosijl,1.0); + cosijl = MAX(cosijl,-1.0); + + dcosijldri[0] = (-rjl[0]/(rijmag*rjlmag)) - + (cosijl*rij[0]/(rijmag*rijmag)); + dcosijldri[1] = (-rjl[1]/(rijmag*rjlmag)) - + (cosijl*rij[1]/(rijmag*rijmag)); + dcosijldri[2] = (-rjl[2]/(rijmag*rjlmag)) - + (cosijl*rij[2]/(rijmag*rijmag)); + dcosijldrj[0] = ((-rij[0]+rjl[0])/(rijmag*rjlmag)) + + (cosijl*((rij[0]/square(rijmag))-(rjl[0]/(rjlmag*rjlmag)))); + dcosijldrj[1] = ((-rij[1]+rjl[1])/(rijmag*rjlmag)) + + (cosijl*((rij[1]/square(rijmag))-(rjl[1]/(rjlmag*rjlmag)))); + dcosijldrj[2] = ((-rij[2]+rjl[2])/(rijmag*rjlmag)) + + (cosijl*((rij[2]/square(rijmag))-(rjl[2]/(rjlmag*rjlmag)))); + dcosijldrl[0] = (rij[0]/(rijmag*rjlmag))+(cosijl*rjl[0]/(rjlmag*rjlmag)); + dcosijldrl[1] = (rij[1]/(rijmag*rjlmag))+(cosijl*rjl[1]/(rjlmag*rjlmag)); + dcosijldrl[2] = (rij[2]/(rijmag*rjlmag))+(cosijl*rjl[2]/(rjlmag*rjlmag)); + + // evaluate g and derivatives dg + + g = gSpline(cosijl,jtype,dgdc); + tmp2 = VA*0.5*(tmp*wjl*dgdc); + fi[0] = -tmp2*dcosijldri[0]; + fi[1] = -tmp2*dcosijldri[1]; + fi[2] = -tmp2*dcosijldri[2]; + fj[0] = -tmp2*dcosijldrj[0]; + fj[1] = -tmp2*dcosijldrj[1]; + fj[2] = -tmp2*dcosijldrj[2]; + fl[0] = -tmp2*dcosijldrl[0]; + fl[1] = -tmp2*dcosijldrl[1]; + fl[2] = -tmp2*dcosijldrl[2]; + + // coordination forces + + // dwik forces (from partial derivative) + + tmp2 = VA*0.5*(tmp*dwjl*g)/rjlmag; + fj[0] -= tmp2*rjl[0]; + fj[1] -= tmp2*rjl[1]; + fj[2] -= tmp2*rjl[2]; + fl[0] += tmp2*rjl[0]; + fl[1] += tmp2*rjl[1]; + fl[2] += tmp2*rjl[2]; + + // PIJ forces (coordination) + + tmp2 = VA*0.5*(tmp*dp*dwjl)/rjlmag; + fj[0] -= tmp2*rjl[0]; + fj[1] -= tmp2*rjl[1]; + fj[2] -= tmp2*rjl[2]; + fl[0] += tmp2*rjl[0]; + fl[1] += tmp2*rjl[1]; + fl[2] += tmp2*rjl[2]; + + // dgdN forces are removed + + f[atomi][0] += fi[0]; f[atomi][1] += fi[1]; f[atomi][2] += fi[2]; + f[atomj][0] += fj[0]; f[atomj][1] += fj[1]; f[atomj][2] += fj[2]; + f[atoml][0] += fl[0]; f[atoml][1] += fl[1]; f[atoml][2] += fl[2]; + + if (vflag_either) { + rlj[0] = -rjl[0]; rlj[1] = -rjl[1]; rlj[2] = -rjl[2]; + v_tally3_thr(this,atomi,atomj,atoml,fi,fl,rij,rlj,thr); + } + } + } + + // PIJ force contribution additional term + + tmp2 = -VA*0.5*(tmp*dp*dwij)/rijmag; + f[atomi][0] += rij[0]*tmp2; + f[atomi][1] += rij[1]*tmp2; + f[atomi][2] += rij[2]*tmp2; + f[atomj][0] -= rij[0]*tmp2; + f[atomj][1] -= rij[1]*tmp2; + f[atomj][2] -= rij[2]*tmp2; + + if (vflag_either) v_tally2_thr(this,atomi,atomj,tmp2,rij,thr); + + bij = (0.5*(pij+pji)); + return bij; +} + +/* ---------------------------------------------------------------------- + memory usage of local atom-based arrays +------------------------------------------------------------------------- */ + +double PairREBOMoSOMP::memory_usage() +{ + double bytes = memory_usage_thr(); + bytes += PairREBOMoS::memory_usage(); + + return bytes; +} diff --git a/src/OPENMP/pair_rebomos_omp.h b/src/OPENMP/pair_rebomos_omp.h new file mode 100644 index 0000000000..ea87f51950 --- /dev/null +++ b/src/OPENMP/pair_rebomos_omp.h @@ -0,0 +1,46 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS Development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS +// clang-format off +PairStyle(rebomos/omp,PairREBOMoSOMP); +// clang-format on +#else + +#ifndef LMP_PAIR_REBOMOS_OMP_H +#define LMP_PAIR_REBOMOS_OMP_H + +#include "pair_rebomos.h" +#include "thr_omp.h" + +namespace LAMMPS_NS { + +class PairREBOMoSOMP : public PairREBOMoS, public ThrOMP { + public: + PairREBOMoSOMP(class LAMMPS *); + + void compute(int, int) override; + double memory_usage() override; + + protected: + void FREBO_thr(int ifrom, int ito, int eflag, ThrData *const thr); + void FLJ_thr(int ifrom, int ito, int eflag, ThrData *const thr); + + void REBO_neigh_thr(); + + double bondorder_thr(int, int, double *, double, double, ThrData *const thr); +}; +} // namespace LAMMPS_NS + +#endif +#endif From b016eaa1cf3178a79b37b6c81bda1fa3d420d087 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 22 Feb 2024 15:20:51 -0500 Subject: [PATCH 213/559] cosmetic --- src/OPENMP/pair_airebo_omp.cpp | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/OPENMP/pair_airebo_omp.cpp b/src/OPENMP/pair_airebo_omp.cpp index 9f992aefda..6736b10f8f 100644 --- a/src/OPENMP/pair_airebo_omp.cpp +++ b/src/OPENMP/pair_airebo_omp.cpp @@ -38,8 +38,7 @@ static constexpr double TOL = 1.0e-9; /* ---------------------------------------------------------------------- */ -PairAIREBOOMP::PairAIREBOOMP(LAMMPS *lmp) : - PairAIREBO(lmp), ThrOMP(lmp, THR_PAIR) +PairAIREBOOMP::PairAIREBOOMP(LAMMPS *lmp) : PairAIREBO(lmp), ThrOMP(lmp, THR_PAIR) { suffix_flag |= Suffix::OMP; respa_enable = 0; @@ -1121,12 +1120,9 @@ double PairAIREBOOMP::bondorder_thr(int i, int j, double rij[3], double rijmag, cosjik = MIN(cosjik,1.0); cosjik = MAX(cosjik,-1.0); - dcosjikdri[0] = ((rij[0]+rik[0])*invrijkm) - - (cosjik*((rij[0]*invrijm2)+(rik[0]*invrikm2))); - dcosjikdri[1] = ((rij[1]+rik[1])*invrijkm) - - (cosjik*((rij[1]*invrijm2)+(rik[1]*invrikm2))); - dcosjikdri[2] = ((rij[2]+rik[2])*invrijkm) - - (cosjik*((rij[2]*invrijm2)+(rik[2]*invrikm2))); + dcosjikdri[0] = ((rij[0]+rik[0])*invrijkm) - (cosjik*((rij[0]*invrijm2)+(rik[0]*invrikm2))); + dcosjikdri[1] = ((rij[1]+rik[1])*invrijkm) - (cosjik*((rij[1]*invrijm2)+(rik[1]*invrikm2))); + dcosjikdri[2] = ((rij[2]+rik[2])*invrijkm) - (cosjik*((rij[2]*invrijm2)+(rik[2]*invrikm2))); dcosjikdrk[0] = (-rij[0]*invrijkm) + (cosjik*(rik[0]*invrikm2)); dcosjikdrk[1] = (-rij[1]*invrijkm) + (cosjik*(rik[1]*invrikm2)); dcosjikdrk[2] = (-rij[2]*invrijkm) + (cosjik*(rik[2]*invrikm2)); From f864963ab94ba88828cc77ffd0ecd1902313b1e3 Mon Sep 17 00:00:00 2001 From: sakibmatin Date: Thu, 22 Feb 2024 22:03:29 -0700 Subject: [PATCH 214/559] removed old comments. --- src/KOKKOS/mliap_unified_kokkos.cpp | 2 +- src/ML-IAP/mliap_unified.cpp | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/KOKKOS/mliap_unified_kokkos.cpp b/src/KOKKOS/mliap_unified_kokkos.cpp index 4a8c14d723..68caf035e9 100644 --- a/src/KOKKOS/mliap_unified_kokkos.cpp +++ b/src/KOKKOS/mliap_unified_kokkos.cpp @@ -380,7 +380,7 @@ void LAMMPS_NS::update_atom_energy(MLIAPDataKokkosDevice *data, double *ei) Kokkos::parallel_reduce(nlocal, KOKKOS_LAMBDA(int i, double &local_sum){ double e = ei[i]; - // must not count any contribution where i is not a local atom + d_eatoms[i] = e; local_sum += e; },*data->energy); diff --git a/src/ML-IAP/mliap_unified.cpp b/src/ML-IAP/mliap_unified.cpp index 6dcdf94c2d..7697204e44 100644 --- a/src/ML-IAP/mliap_unified.cpp +++ b/src/ML-IAP/mliap_unified.cpp @@ -275,7 +275,6 @@ void LAMMPS_NS::update_pair_forces(MLIAPData *data, double *fij) int i = data->pair_i[ii]; int j = data->jatoms[ii]; - // must not count any contribution where i is not a local atom f[i][0] += fij[ii3]; f[i][1] += fij[ii3 + 1]; f[i][2] += fij[ii3 + 2]; From fef2150bfba2c421c20d3afe9e633d932ed42920 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Fri, 23 Feb 2024 13:29:18 -0700 Subject: [PATCH 215/559] Fixing rare precision error in Tsuji damping --- src/GRANULAR/gran_sub_mod_damping.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/GRANULAR/gran_sub_mod_damping.cpp b/src/GRANULAR/gran_sub_mod_damping.cpp index 7d6a02b8f0..c635d90265 100644 --- a/src/GRANULAR/gran_sub_mod_damping.cpp +++ b/src/GRANULAR/gran_sub_mod_damping.cpp @@ -130,6 +130,8 @@ void GranSubModDampingTsuji::init() double GranSubModDampingTsuji::calculate_forces() { - damp_prefactor = damp * sqrt(gm->meff * gm->Fnormal / gm->delta); + // in case argument < 0 due to precision issues + double sqrt1 = MAX(0, gm->meff * gm->Fnormal / gm->delta); + damp_prefactor = damp * sqrt(sqrt1); return -damp_prefactor * gm->vnnr; } From 3e089496b33f3e0d59d69a91dfbbce0b96695e1c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 23 Feb 2024 15:52:54 -0500 Subject: [PATCH 216/559] modernize and address issues flagged by static code analysis --- src/EXTRA-FIX/fix_deform_pressure.cpp | 25 +++++++++++++------------ src/EXTRA-FIX/fix_deform_pressure.h | 2 +- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/src/EXTRA-FIX/fix_deform_pressure.cpp b/src/EXTRA-FIX/fix_deform_pressure.cpp index aebc6e120f..34741fef14 100644 --- a/src/EXTRA-FIX/fix_deform_pressure.cpp +++ b/src/EXTRA-FIX/fix_deform_pressure.cpp @@ -47,7 +47,8 @@ enum { NOCOUPLE = 0, XYZ, XY, YZ, XZ }; /* ---------------------------------------------------------------------- */ FixDeformPressure::FixDeformPressure(LAMMPS *lmp, int narg, char **arg) : - FixDeform(lmp, narg, arg), id_temp(nullptr), id_press(nullptr) + FixDeform(lmp, narg, arg), id_temp(nullptr), id_press(nullptr), temperature(nullptr), + pressure(nullptr) { // set defaults @@ -233,7 +234,7 @@ FixDeformPressure::FixDeformPressure(LAMMPS *lmp, int narg, char **arg) : if (pcouple != NOCOUPLE) { - if (dimension == 2) + if (domain->dimension == 2) if (pcouple == XYZ || pcouple == XZ || pcouple == YZ) error->all(FLERR, "Cannot couple Z dimension in fix deform/pressure in 2D"); @@ -365,7 +366,7 @@ FixDeformPressure::FixDeformPressure(LAMMPS *lmp, int narg, char **arg) : // and thus its KE/temperature contribution should use group all id_temp = utils::strdup(std::string(id) + "_temp"); - modify->add_compute(fmt::format("{} all temp",id_temp)); + temperature = modify->add_compute(fmt::format("{} all temp", id_temp)); tflag = 1; // create a new compute pressure style @@ -373,7 +374,7 @@ FixDeformPressure::FixDeformPressure(LAMMPS *lmp, int narg, char **arg) : // pass id_temp as 4th arg to pressure constructor id_press = utils::strdup(std::string(id) + "_press"); - modify->add_compute(fmt::format("{} all pressure {}",id_press, id_temp)); + pressure = modify->add_compute(fmt::format("{} all pressure {}", id_press, id_temp)); pflag = 1; } } @@ -420,13 +421,13 @@ void FixDeformPressure::init() // Find pressure/temp computes if needed if (pressure_flag) { - int icompute = modify->find_compute(id_temp); - if (icompute < 0) error->all(FLERR, "Temperature ID for fix deform/pressure does not exist"); - temperature = modify->compute[icompute]; + temperature = modify->get_compute_by_id(id_temp); + if (!temperature) + error->all(FLERR, "Temperature ID {} for fix deform/pressure does not exist", id_temp); - icompute = modify->find_compute(id_press); - if (icompute < 0) error->all(FLERR, "Pressure ID for fix deform/pressure does not exist"); - pressure = modify->compute[icompute]; + pressure = modify->get_compute_by_id(id_press); + if (!pressure) + error->all(FLERR, "Pressure ID {} for fix deform/pressure does not exist", id_press); } } @@ -513,7 +514,7 @@ void FixDeformPressure::apply_pressure() // Find current (possibly coupled/hydrostatic) pressure for X, Y, Z double *tensor = pressure->vector; double scalar = pressure->scalar; - double p_current[3]; + double p_current[3] = {0.0, 0.0, 0.0}; if (pcouple == XYZ) { double ave = THIRD * (tensor[0] + tensor[1] + tensor[2]); @@ -730,7 +731,7 @@ void FixDeformPressure::adjust_linked_rates(double &e_larger, double &e_smaller, void FixDeformPressure::apply_box() { int i; - double scale, shift; + double scale, shift = 0.0; double v_rate; if (set_box.style == VOLUME) { diff --git a/src/EXTRA-FIX/fix_deform_pressure.h b/src/EXTRA-FIX/fix_deform_pressure.h index a52bb01c04..5a0d844bad 100644 --- a/src/EXTRA-FIX/fix_deform_pressure.h +++ b/src/EXTRA-FIX/fix_deform_pressure.h @@ -36,7 +36,7 @@ class FixDeformPressure : public FixDeform { int modify_param(int, char **) override; protected: - int pcouple, dimension; + int pcouple; double max_h_rate; int strain_flag; // 1 if strain-based option is used, 0 if not int pressure_flag; // 1 if pressure tensor used, 0 if not From c36650fc8895f3cd8ff9929dd2f411fc53f44c1a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 23 Feb 2024 15:55:44 -0500 Subject: [PATCH 217/559] auto-assign @jtclemm when fix deform/pressure is edited --- .github/CODEOWNERS | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 1b4cae3aaa..284d56f1ca 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -65,6 +65,7 @@ src/MANYBODY/pair_nb3b_screened.* @flodesani src/REPLICA/*_grem.* @dstelter92 src/EXTRA-COMPUTE/compute_stress_mop*.* @RomainVermorel src/EXTRA-COMPUTE/compute_born_matrix.* @Bibobu @athomps +src/EXTRA-FIX/fix_deform_pressure.* @jtclemm src/MISC/*_tracker.* @jtclemm src/MC/fix_gcmc.* @athomps src/MC/fix_sgcmc.* @athomps From 5de685368459ad3f3e125dff5881ca6ba4a3e429 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 23 Feb 2024 16:05:30 -0500 Subject: [PATCH 218/559] fix typo --- cmake/Modules/Packages/KOKKOS.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/Modules/Packages/KOKKOS.cmake b/cmake/Modules/Packages/KOKKOS.cmake index 0cc13c9667..e1da77c6d0 100644 --- a/cmake/Modules/Packages/KOKKOS.cmake +++ b/cmake/Modules/Packages/KOKKOS.cmake @@ -140,7 +140,7 @@ if(PKG_KSPACE) target_compile_definitions(lammps PRIVATE -DFFT_KOKKOS_KISS) elseif(FFT_KOKKOS STREQUAL "CUFFT") find_library(CUFFT_LIBRARY cufft) - if (CUFFT_LIBRARY STREQUAL "CUTFFT_LIBRARY-NOTFOUND") + if (CUFFT_LIBRARY STREQUAL "CUFFT_LIBRARY-NOTFOUND") message(FATAL_ERROR "Required cuFFT library not found. Check your environment or set CUFFT_LIBRARY to its location") endif() target_compile_definitions(lammps PRIVATE -DFFT_KOKKOS_CUFFT) From f9ecdb5b546c1243b2669600cf2c2a25dec1b1fd Mon Sep 17 00:00:00 2001 From: Dhairya Date: Fri, 23 Feb 2024 15:21:56 -0600 Subject: [PATCH 219/559] Updated documentation --- doc/src/pair_granular.rst | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/doc/src/pair_granular.rst b/doc/src/pair_granular.rst index bc469412d9..f0eb139cb7 100644 --- a/doc/src/pair_granular.rst +++ b/doc/src/pair_granular.rst @@ -187,6 +187,8 @@ for the damping model currently supported are: 2. *mass_velocity* 3. *viscoelastic* 4. *tsuji* +5. *enhooke* +6. *enhertz* If the *damping* keyword is not specified, the *viscoelastic* model is used by default. @@ -248,6 +250,21 @@ The dimensionless coefficient of restitution :math:`e` specified as part of the normal contact model parameters should be between 0 and 1, but no error check is performed on this. +*enhooke* and *enhertz* models are useful for cases where a specific normal coefficient of restitution :math:`e` is required. In these models, the normal coefficient of restitution :math:`e` is specified as an input. Following the approach of :ref:`(Brilliantov et al) `, *enhooke* calculates the damping coefficient for the *hooke* model as: + +.. math:: + + \eta_n = \sqrt{\frac{4m_{eff}k_n}{1+\left( \frac{\pi}{\log(e)}\right)^2}}, + + +*enhertz* calculates the damping coefficient for the *hertz* and *hertz/material* models using: + +.. math:: + + \eta_n = -2\sqrt{\frac{5}{6}}\frac{\log(e)}{\sqrt{\pi^2+(\log(e))^2}}(R_{eff} \delta_{ij})^{\frac{1}{4}}\sqrt{\frac{3}{2}k_n m_{eff}} , + +where :math:`k_n = \frac{4}{3} E_{eff}` for the *hertz/material* model. Since these models calculate the damping coefficients by accounting for the effective mass, effective radius and pairwise overlaps (for *enhertz*), they accurately reproduce the specified coefficient of restitution for both monodisperse and polydisperse particle pairs. + The total normal force is computed as the sum of the elastic and damping components: From dd4cd240df40d820fb4746de114e280413bd6d9b Mon Sep 17 00:00:00 2001 From: jtclemm Date: Fri, 23 Feb 2024 14:31:40 -0700 Subject: [PATCH 220/559] Moving temp/heat keywords out of dump to compute prop/atom --- doc/src/Howto_granular.rst | 5 ++++ doc/src/compute_property_atom.rst | 5 +++- doc/src/dump.rst | 3 -- doc/src/fix_property_atom.rst | 17 +++++++---- examples/granular/in.pour.heat | 3 +- src/BPM/bond_bpm.cpp | 2 -- src/compute_property_atom.cpp | 38 +++++++++++++++++++++++ src/compute_property_atom.h | 2 ++ src/dump_custom.cpp | 50 +------------------------------ src/dump_custom.h | 2 -- 10 files changed, 64 insertions(+), 63 deletions(-) diff --git a/doc/src/Howto_granular.rst b/doc/src/Howto_granular.rst index c22cab66bc..b0c801be11 100644 --- a/doc/src/Howto_granular.rst +++ b/doc/src/Howto_granular.rst @@ -45,10 +45,15 @@ atoms, and should be used for granular system instead of the fix style To model heat conduction, one must add the temperature and heatflow atom variables with: + * :doc:`fix property/atom ` + a temperature integration fix + * :doc:`fix heat/flow ` + and a heat conduction option defined in both + * :doc:`pair_style granular ` * :doc:`fix wall/gran ` diff --git a/doc/src/compute_property_atom.rst b/doc/src/compute_property_atom.rst index b03d6eb74e..4484c3b697 100644 --- a/doc/src/compute_property_atom.rst +++ b/doc/src/compute_property_atom.rst @@ -23,8 +23,9 @@ Syntax spx, spy, spz, sp, fmx, fmy, fmz, nbonds, radius, diameter, omegax, omegay, omegaz, + temperature, heatflow, angmomx, angmomy, angmomz, - shapex,shapey, shapez, + shapex, shapey, shapez, quatw, quati, quatj, quatk, tqx, tqy, tqz, end1x, end1y, end1z, end2x, end2y, end2z, corner1x, corner1y, corner1z, @@ -56,6 +57,8 @@ Syntax *nbonds* = number of bonds assigned to an atom *radius,diameter* = radius,diameter of spherical particle *omegax,omegay,omegaz* = angular velocity of spherical particle + *temperature* = internal temperature of spherical particle + *heatflow* = internal heat flow of spherical particle *angmomx,angmomy,angmomz* = angular momentum of aspherical particle *shapex,shapey,shapez* = 3 diameters of aspherical particle *quatw,quati,quatj,quatk* = quaternion components for aspherical or body particles diff --git a/doc/src/dump.rst b/doc/src/dump.rst index 2d1598e493..82faba6c81 100644 --- a/doc/src/dump.rst +++ b/doc/src/dump.rst @@ -104,7 +104,6 @@ Syntax q, mux, muy, muz, mu, radius, diameter, omegax, omegay, omegaz, angmomx, angmomy, angmomz, tqx, tqy, tqz, - heatflow, temperature, c_ID, c_ID[I], f_ID, f_ID[I], v_name, i_name, d_name, i2_name[I], d2_name[I] @@ -131,8 +130,6 @@ Syntax omegax,omegay,omegaz = angular velocity of spherical particle angmomx,angmomy,angmomz = angular momentum of aspherical particle tqx,tqy,tqz = torque on finite-size particles - heatflow = rate of heat flow into particle - temperature = temperature of particle c_ID = per-atom vector calculated by a compute with ID c_ID[I] = Ith column of per-atom array calculated by a compute with ID, I can include wildcard (see below) f_ID = per-atom vector calculated by a fix with ID diff --git a/doc/src/fix_property_atom.rst b/doc/src/fix_property_atom.rst index b177fe9a96..d20358b7a7 100644 --- a/doc/src/fix_property_atom.rst +++ b/doc/src/fix_property_atom.rst @@ -22,6 +22,8 @@ Syntax *mol* = molecule IDs *q* = charge *rmass* = per-atom mass + *temperature* = internal temperature of atom + *heatflow* = internal heat flow of atom i_name = new integer vector referenced by name d_name = new floating-point vector referenced by name i2_name = new integer array referenced by name @@ -59,14 +61,18 @@ these properties for each atom in the system when a data file is read. This fix augments the set of per-atom properties with new custom ones. This can be useful in several scenarios. -If the atom style does not define molecule IDs, per-atom charge, or -per-atom mass, they can be added using the *mol*\ , *q* or *rmass* +If the atom style does not define molecule IDs, per-atom charge, +per-atom mass, internal temperature, or internal heat flow, they can +be added using the *mol*\ , *q*, *rmass*, *temperature*, or *heatflow* keywords. This could be useful to define "molecules" to use as rigid bodies with the :doc:`fix rigid ` command, or to carry around an extra flag with atoms (stored as a molecule ID) that can be used by various commands like :doc:`compute chunk/atom ` to group atoms without having to use the group command (which is limited to a total of 32 groups including *all*\ ). +For finite-size particles, an internal temperature and heat flow can +be used to model heat conduction as in the +:doc:`GRANULAR package `. Another application is to use the *rmass* flag in order to have per-atom masses instead of per-type masses. This could be used to @@ -85,9 +91,10 @@ properties that are not needed such as bond lists, which incurs some overhead when there are no bonds. In the future, we may add additional existing per-atom properties to -fix property/atom, similar to *mol*\ , *q* or *rmass*\ , which -"turn-on" specific properties defined by some atom styles, so they can -be easily used by atom styles that do not define them. +fix property/atom, similar to *mol*\ , *q*, *rmass*\ , *temperature*\ , +or *heatflow* which "turn-on" specific properties defined by some atom +styles, so they can be easily used by atom styles that do not define +them. More generally, the *i_name* and *d_name* options allow one or more new custom per-atom vectors to be defined. Likewise the *i2_name* and diff --git a/examples/granular/in.pour.heat b/examples/granular/in.pour.heat index 907e56dc39..cc6b03f7d0 100644 --- a/examples/granular/in.pour.heat +++ b/examples/granular/in.pour.heat @@ -73,7 +73,8 @@ thermo 100 timestep 0.001 -#dump 1 all custom 1000 ${name}.dump id type radius mass x y z temperature heatflow +compute 1 all property/atom temperature heatflow +#dump 1 all custom 1000 ${name}.dump id type radius mass x y z c_1[*] run 100000 diff --git a/src/BPM/bond_bpm.cpp b/src/BPM/bond_bpm.cpp index b484df7fab..f1482d4203 100644 --- a/src/BPM/bond_bpm.cpp +++ b/src/BPM/bond_bpm.cpp @@ -357,7 +357,6 @@ void BondBPM::process_broken(int i, int j) if (i < nlocal) { for (m = 0; m < num_bond[i]; m++) { if (bond_atom[i][m] == tag[j]) { - bond_type[i][m] = 0; n = num_bond[i]; bond_type[i][m] = bond_type[i][n - 1]; bond_atom[i][m] = bond_atom[i][n - 1]; @@ -372,7 +371,6 @@ void BondBPM::process_broken(int i, int j) if (j < nlocal) { for (m = 0; m < num_bond[j]; m++) { if (bond_atom[j][m] == tag[i]) { - bond_type[j][m] = 0; n = num_bond[j]; bond_type[j][m] = bond_type[j][n - 1]; bond_atom[j][m] = bond_atom[j][n - 1]; diff --git a/src/compute_property_atom.cpp b/src/compute_property_atom.cpp index c3c101b995..b95b7267dc 100644 --- a/src/compute_property_atom.cpp +++ b/src/compute_property_atom.cpp @@ -205,6 +205,14 @@ ComputePropertyAtom::ComputePropertyAtom(LAMMPS *lmp, int narg, char **arg) : if (!atom->omega_flag) error->all(FLERR,"Compute property/atom {} is not available", arg[iarg]); pack_choice[i] = &ComputePropertyAtom::pack_omegaz; + } else if (strcmp(arg[iarg],"temperature") == 0) { + if (!atom->temperature_flag) + error->all(FLERR,"Compute property/atom {} is not available", arg[iarg]); + pack_choice[i] = &ComputePropertyAtom::pack_temperature; + } else if (strcmp(arg[iarg],"heatflow") == 0) { + if (!atom->heatflow_flag) + error->all(FLERR,"Compute property/atom {} is not available", arg[iarg]); + pack_choice[i] = &ComputePropertyAtom::pack_heatflow; } else if (strcmp(arg[iarg],"angmomx") == 0) { if (!atom->angmom_flag) error->all(FLERR,"Compute property/atom {} is not available", arg[iarg]); @@ -1213,6 +1221,36 @@ void ComputePropertyAtom::pack_omegaz(int n) /* ---------------------------------------------------------------------- */ +void ComputePropertyAtom::pack_temperature(int n) +{ + double *temperature = atom->temperature; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) buf[n] = temperature[i]; + else buf[n] = 0.0; + n += nvalues; + } +} + +/* ---------------------------------------------------------------------- */ + +void ComputePropertyAtom::pack_heatflow(int n) +{ + double *heatflow = atom->heatflow; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) buf[n] = heatflow[i]; + else buf[n] = 0.0; + n += nvalues; + } +} + +/* ---------------------------------------------------------------------- */ + void ComputePropertyAtom::pack_angmomx(int n) { double **angmom = atom->angmom; diff --git a/src/compute_property_atom.h b/src/compute_property_atom.h index 034b2901c2..d4f4db564f 100644 --- a/src/compute_property_atom.h +++ b/src/compute_property_atom.h @@ -95,6 +95,8 @@ class ComputePropertyAtom : public Compute { void pack_omegax(int); void pack_omegay(int); void pack_omegaz(int); + void pack_temperature(int); + void pack_heatflow(int); void pack_angmomx(int); void pack_angmomy(int); void pack_angmomz(int); diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index ed70c7413d..e9935b774f 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -41,7 +41,7 @@ enum{ID,MOL,PROC,PROCP1,TYPE,ELEMENT,MASS, XSU,YSU,ZSU,XSUTRI,YSUTRI,ZSUTRI, IX,IY,IZ, VX,VY,VZ,FX,FY,FZ, - Q,MUX,MUY,MUZ,MU,RADIUS,DIAMETER,HEATFLOW,TEMPERATURE, + Q,MUX,MUY,MUZ,MU,RADIUS,DIAMETER, OMEGAX,OMEGAY,OMEGAZ,ANGMOMX,ANGMOMY,ANGMOMZ, TQX,TQY,TQZ, COMPUTE,FIX,VARIABLE,IVEC,DVEC,IARRAY,DARRAY}; @@ -929,18 +929,6 @@ int DumpCustom::count() for (i = 0; i < nlocal; i++) dchoose[i] = 2.0*radius[i]; ptr = dchoose; nstride = 1; - } else if (thresh_array[ithresh] == HEATFLOW) { - if (!atom->heatflow_flag) - error->all(FLERR, - "Threshold for an atom property that isn't allocated"); - ptr = atom->heatflow; - nstride = 1; - } else if (thresh_array[ithresh] == TEMPERATURE) { - if (!atom->temperature_flag) - error->all(FLERR, - "Threshold for an atom property that isn't allocated"); - ptr = atom->temperature; - nstride = 1; } else if (thresh_array[ithresh] == OMEGAX) { if (!atom->omega_flag) error->all(FLERR, @@ -1395,16 +1383,6 @@ int DumpCustom::parse_fields(int narg, char **arg) error->all(FLERR,"Dumping an atom property that isn't allocated"); pack_choice[iarg] = &DumpCustom::pack_diameter; vtype[iarg] = Dump::DOUBLE; - } else if (strcmp(arg[iarg],"heatflow") == 0) { - if (!atom->heatflow_flag) - error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[iarg] = &DumpCustom::pack_heatflow; - vtype[iarg] = Dump::DOUBLE; - } else if (strcmp(arg[iarg],"temperature") == 0) { - if (!atom->temperature_flag) - error->all(FLERR,"Dumping an atom property that isn't allocated"); - pack_choice[iarg] = &DumpCustom::pack_temperature; - vtype[iarg] = Dump::DOUBLE; } else if (strcmp(arg[iarg],"omegax") == 0) { if (!atom->omega_flag) error->all(FLERR,"Dumping an atom property that isn't allocated"); @@ -1875,8 +1853,6 @@ int DumpCustom::modify_param(int narg, char **arg) else if (strcmp(arg[1],"radius") == 0) thresh_array[nthresh] = RADIUS; else if (strcmp(arg[1],"diameter") == 0) thresh_array[nthresh] = DIAMETER; - else if (strcmp(arg[1],"heatflow") == 0) thresh_array[nthresh] = HEATFLOW; - else if (strcmp(arg[1],"temperature") == 0) thresh_array[nthresh] = TEMPERATURE; else if (strcmp(arg[1],"omegax") == 0) thresh_array[nthresh] = OMEGAX; else if (strcmp(arg[1],"omegay") == 0) thresh_array[nthresh] = OMEGAY; else if (strcmp(arg[1],"omegaz") == 0) thresh_array[nthresh] = OMEGAZ; @@ -2791,30 +2767,6 @@ void DumpCustom::pack_diameter(int n) /* ---------------------------------------------------------------------- */ -void DumpCustom::pack_heatflow(int n) -{ - double *heatflow = atom->heatflow; - - for (int i = 0; i < nchoose; i++) { - buf[n] = heatflow[clist[i]]; - n += size_one; - } -} - -/* ---------------------------------------------------------------------- */ - -void DumpCustom::pack_temperature(int n) -{ - double *temperature = atom->temperature; - - for (int i = 0; i < nchoose; i++) { - buf[n] = temperature[clist[i]]; - n += size_one; - } -} - -/* ---------------------------------------------------------------------- */ - void DumpCustom::pack_omegax(int n) { double **omega = atom->omega; diff --git a/src/dump_custom.h b/src/dump_custom.h index 2b04944ec3..b600bd60b8 100644 --- a/src/dump_custom.h +++ b/src/dump_custom.h @@ -188,8 +188,6 @@ class DumpCustom : public Dump { void pack_mu(int); void pack_radius(int); void pack_diameter(int); - void pack_heatflow(int); - void pack_temperature(int); void pack_omegax(int); void pack_omegay(int); From 74abb18e691e57df0a1ea631632b76da69052784 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 23 Feb 2024 16:44:15 -0500 Subject: [PATCH 221/559] improve error messages for pair style airebo and variants --- src/MANYBODY/pair_airebo.cpp | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/MANYBODY/pair_airebo.cpp b/src/MANYBODY/pair_airebo.cpp index 13d2b97433..41c8faf752 100644 --- a/src/MANYBODY/pair_airebo.cpp +++ b/src/MANYBODY/pair_airebo.cpp @@ -44,6 +44,8 @@ using namespace MathSpecial; static constexpr double TOL = 1.0e-9; static constexpr int PGDELTA = 1; +static const char *style[3] = {"airebo", "rebo", "airebo/morse"}; + /* ---------------------------------------------------------------------- */ PairAIREBO::PairAIREBO(LAMMPS *lmp) @@ -150,7 +152,7 @@ void PairAIREBO::allocate() void PairAIREBO::settings(int narg, char **arg) { if (narg != 1 && narg != 3 && narg != 4) - error->all(FLERR,"Illegal pair_style command"); + error->all(FLERR,"Illegal pair_style {} command", style[variant]); cutlj = utils::numeric(FLERR,arg[0],false,lmp); @@ -175,12 +177,7 @@ void PairAIREBO::coeff(int narg, char **arg) if (!allocated) allocate(); if (narg != 3 + atom->ntypes) - error->all(FLERR,"Incorrect args for pair coefficients"); - - // ensure I,J args are * * - - if (strcmp(arg[0],"*") != 0 || strcmp(arg[1],"*") != 0) - error->all(FLERR,"Incorrect args for pair coefficients"); + error->all(FLERR,"Incorrect number of args for pair coefficient."); // read args that map atom types to C and H // map[i] = which element (0,1) the Ith atom type is, -1 if "NULL" @@ -193,7 +190,7 @@ void PairAIREBO::coeff(int narg, char **arg) map[i-2] = 0; } else if (strcmp(arg[i],"H") == 0) { map[i-2] = 1; - } else error->all(FLERR,"Incorrect args for pair coefficients"); + } else error->all(FLERR,"Element {} not supported by pair style {}", arg[i], style[variant]); } // read potential file and initialize fitting splines @@ -228,13 +225,13 @@ void PairAIREBO::coeff(int narg, char **arg) void PairAIREBO::init_style() { if (atom->tag_enable == 0) - error->all(FLERR,"Pair style AIREBO requires atom IDs"); + error->all(FLERR,"Pair style {} requires atom IDs", style[variant]); if (force->newton_pair == 0) - error->all(FLERR,"Pair style AIREBO requires newton pair on"); + error->all(FLERR,"Pair style {} requires newton pair on", style[variant]); // need a full neighbor list, including neighbors of ghosts - neighbor->add_request(this,NeighConst::REQ_FULL|NeighConst::REQ_GHOST); + neighbor->add_request(this, NeighConst::REQ_FULL | NeighConst::REQ_GHOST); // local REBO neighbor list // create pages if first time or if neighbor pgsize/oneatom has changed From 6ea1bcf9d96dc4e7a2575857277c58e5ce8e6587 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Fri, 23 Feb 2024 14:45:21 -0700 Subject: [PATCH 222/559] Clarifying trace notation in fabric --- src/GRANULAR/compute_fabric.cpp | 52 ++++++++++++++++----------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/src/GRANULAR/compute_fabric.cpp b/src/GRANULAR/compute_fabric.cpp index adaf242c92..04afc95280 100644 --- a/src/GRANULAR/compute_fabric.cpp +++ b/src/GRANULAR/compute_fabric.cpp @@ -184,7 +184,7 @@ void ComputeFabric::compute_vector() double nx, ny, nz; double ncinv, denom, fn, ft, prefactor; double br_tensor[6], ft_tensor[6], fn_tensor[6]; - double trace_phi, trace_D, trace_Xfn, trace_Xft; + double trace_third_phi, trace_third_D, trace_third_Xfn, trace_third_Xft; double phi_ij[6] = {0.0}; double Ac_ij[6] = {0.0}; double D_ij[6] = {0.0}; @@ -295,11 +295,11 @@ void ComputeFabric::compute_vector() MPI_Allreduce(phi_ij, temp_dbl, 6, MPI_DOUBLE, MPI_SUM, world); for (i = 0; i < 6; i++) phi_ij[i] = temp_dbl[i] * ncinv; - trace_phi = (1.0 / 3.0) * (phi_ij[0] + phi_ij[1] + phi_ij[2]); + trace_third_phi = (1.0 / 3.0) * (phi_ij[0] + phi_ij[1] + phi_ij[2]); - Ac_ij[0] = (15.0 / 2.0) * (phi_ij[0] - trace_phi); - Ac_ij[1] = (15.0 / 2.0) * (phi_ij[1] - trace_phi); - Ac_ij[2] = (15.0 / 2.0) * (phi_ij[2] - trace_phi); + Ac_ij[0] = (15.0 / 2.0) * (phi_ij[0] - trace_third_phi); + Ac_ij[1] = (15.0 / 2.0) * (phi_ij[1] - trace_third_phi); + Ac_ij[2] = (15.0 / 2.0) * (phi_ij[2] - trace_third_phi); Ac_ij[3] = (15.0 / 2.0) * (phi_ij[3]); Ac_ij[4] = (15.0 / 2.0) * (phi_ij[4]); Ac_ij[5] = (15.0 / 2.0) * (phi_ij[5]); @@ -419,14 +419,14 @@ void ComputeFabric::compute_vector() MPI_Allreduce(D_ij, temp_dbl, 6, MPI_DOUBLE, MPI_SUM, world); for (i = 0; i < 6; i++) D_ij[i] = temp_dbl[i]; - trace_D = (1.0 / 3.0) * (D_ij[0] + D_ij[1] + D_ij[2]); + trace_third_D = (1.0 / 3.0) * (D_ij[0] + D_ij[1] + D_ij[2]); - br_tensor[0] = (15.0 / (6.0 * trace_D)) * (D_ij[0] - trace_D); - br_tensor[1] = (15.0 / (6.0 * trace_D)) * (D_ij[1] - trace_D); - br_tensor[2] = (15.0 / (6.0 * trace_D)) * (D_ij[2] - trace_D); - br_tensor[3] = (15.0 / (6.0 * trace_D)) * (D_ij[3]); - br_tensor[4] = (15.0 / (6.0 * trace_D)) * (D_ij[4]); - br_tensor[5] = (15.0 / (6.0 * trace_D)) * (D_ij[5]); + br_tensor[0] = (15.0 / (6.0 * trace_third_D)) * (D_ij[0] - trace_third_D); + br_tensor[1] = (15.0 / (6.0 * trace_third_D)) * (D_ij[1] - trace_third_D); + br_tensor[2] = (15.0 / (6.0 * trace_third_D)) * (D_ij[2] - trace_third_D); + br_tensor[3] = (15.0 / (6.0 * trace_third_D)) * (D_ij[3]); + br_tensor[4] = (15.0 / (6.0 * trace_third_D)) * (D_ij[4]); + br_tensor[5] = (15.0 / (6.0 * trace_third_D)) * (D_ij[5]); for (i = 0; i < ntensors; i++) { if (tensor_style[i] == BR) { @@ -439,17 +439,17 @@ void ComputeFabric::compute_vector() MPI_Allreduce(Xfn_ij, temp_dbl, 6, MPI_DOUBLE, MPI_SUM, world); for (i = 0; i < 6; i++) Xfn_ij[i] = temp_dbl[i]; - trace_Xfn = (1.0 / 3.0) * (Xfn_ij[0] + Xfn_ij[1] + Xfn_ij[2]); + trace_third_Xfn = (1.0 / 3.0) * (Xfn_ij[0] + Xfn_ij[1] + Xfn_ij[2]); } if (fn_flag) { - fn_tensor[0] = (15.0 / (6.0 * trace_Xfn)) * (Xfn_ij[0] - trace_Xfn); - fn_tensor[1] = (15.0 / (6.0 * trace_Xfn)) * (Xfn_ij[1] - trace_Xfn); - fn_tensor[2] = (15.0 / (6.0 * trace_Xfn)) * (Xfn_ij[2] - trace_Xfn); - fn_tensor[3] = (15.0 / (6.0 * trace_Xfn)) * (Xfn_ij[3]); - fn_tensor[4] = (15.0 / (6.0 * trace_Xfn)) * (Xfn_ij[4]); - fn_tensor[5] = (15.0 / (6.0 * trace_Xfn)) * (Xfn_ij[5]); + fn_tensor[0] = (15.0 / (6.0 * trace_third_Xfn)) * (Xfn_ij[0] - trace_third_Xfn); + fn_tensor[1] = (15.0 / (6.0 * trace_third_Xfn)) * (Xfn_ij[1] - trace_third_Xfn); + fn_tensor[2] = (15.0 / (6.0 * trace_third_Xfn)) * (Xfn_ij[2] - trace_third_Xfn); + fn_tensor[3] = (15.0 / (6.0 * trace_third_Xfn)) * (Xfn_ij[3]); + fn_tensor[4] = (15.0 / (6.0 * trace_third_Xfn)) * (Xfn_ij[4]); + fn_tensor[5] = (15.0 / (6.0 * trace_third_Xfn)) * (Xfn_ij[5]); for (i = 0; i < ntensors; i++) { if (tensor_style[i] == FN) { @@ -462,14 +462,14 @@ void ComputeFabric::compute_vector() MPI_Allreduce(Xft_ij, temp_dbl, 6, MPI_DOUBLE, MPI_SUM, world); for (i = 0; i < 6; i++) Xft_ij[i] = temp_dbl[i]; - trace_Xft = (1.0 / 3.0) * (Xft_ij[0] + Xft_ij[1] + Xft_ij[2]); + trace_third_Xft = (1.0 / 3.0) * (Xft_ij[0] + Xft_ij[1] + Xft_ij[2]); - ft_tensor[0] = (15.0 / (9.0 * trace_Xfn)) * (Xft_ij[0] - trace_Xft); - ft_tensor[1] = (15.0 / (9.0 * trace_Xfn)) * (Xft_ij[1] - trace_Xft); - ft_tensor[2] = (15.0 / (9.0 * trace_Xfn)) * (Xft_ij[2] - trace_Xft); - ft_tensor[3] = (15.0 / (9.0 * trace_Xfn)) * (Xft_ij[3]); - ft_tensor[4] = (15.0 / (9.0 * trace_Xfn)) * (Xft_ij[4]); - ft_tensor[5] = (15.0 / (9.0 * trace_Xfn)) * (Xft_ij[5]); + ft_tensor[0] = (15.0 / (9.0 * trace_third_Xfn)) * (Xft_ij[0] - trace_third_Xft); + ft_tensor[1] = (15.0 / (9.0 * trace_third_Xfn)) * (Xft_ij[1] - trace_third_Xft); + ft_tensor[2] = (15.0 / (9.0 * trace_third_Xfn)) * (Xft_ij[2] - trace_third_Xft); + ft_tensor[3] = (15.0 / (9.0 * trace_third_Xfn)) * (Xft_ij[3]); + ft_tensor[4] = (15.0 / (9.0 * trace_third_Xfn)) * (Xft_ij[4]); + ft_tensor[5] = (15.0 / (9.0 * trace_third_Xfn)) * (Xft_ij[5]); for (i = 0; i < ntensors; i++) { if (tensor_style[i] == FT) { From a3f2c5b8845695f1411dcb48a959edf49f8229ff Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 23 Feb 2024 16:48:03 -0500 Subject: [PATCH 223/559] no longer need to boost neighbor one in rebomos unit test --- unittest/force-styles/tests/manybody-pair-rebomos.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/unittest/force-styles/tests/manybody-pair-rebomos.yaml b/unittest/force-styles/tests/manybody-pair-rebomos.yaml index 1d862720af..74fbe2b001 100644 --- a/unittest/force-styles/tests/manybody-pair-rebomos.yaml +++ b/unittest/force-styles/tests/manybody-pair-rebomos.yaml @@ -9,8 +9,7 @@ prerequisites: ! | pre_commands: ! | variable newton_pair delete if "$(is_active(package,gpu)) > 0.0" then "variable newton_pair index off" else "variable newton_pair index on" -post_commands: ! | - neigh_modify one 3000 +post_commands: ! "" input_file: in.airebo pair_style: rebomos pair_coeff: ! | From dda2bc7ac7c36df76e6289d3747459fc84c86d0a Mon Sep 17 00:00:00 2001 From: jtclemm Date: Fri, 23 Feb 2024 14:50:28 -0700 Subject: [PATCH 224/559] Mirroring changes in doc --- doc/src/compute_fabric.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/src/compute_fabric.rst b/doc/src/compute_fabric.rst index b38ffafa48..87fabe2374 100644 --- a/doc/src/compute_fabric.rst +++ b/doc/src/compute_fabric.rst @@ -64,7 +64,7 @@ tangential force tensor. The contact tensor is calculated as .. math:: - C_{ab} = \frac{15}{2} (\phi_{ab} - \mathrm{Tr}(\phi) \delta_{ab}) + C_{ab} = \frac{15}{2} (\phi_{ab} - \frac{1}{3} \mathrm{Tr}(\phi) \delta_{ab}) where :math:`a` and :math:`b` are the :math:`x`, :math:`y`, :math:`z` directions, :math:`\delta_{ab}` is the Kronecker delta function, and @@ -83,7 +83,7 @@ The branch tensor is calculated as .. math:: - B_{ab} = \frac{15}{6 \mathrm{Tr}(D)} (D_{ab} - \mathrm{Tr}(D) \delta_{ab}) + B_{ab} = \frac{15}{2\, \mathrm{Tr}(D)} (D_{ab} - \frac{1}{3} \mathrm{Tr}(D) \delta_{ab}) where the tensor :math:`D` is defined as @@ -101,7 +101,7 @@ The normal force fabric tensor is calculated as .. math:: - F^n_{ab} = \frac{15}{6\, \mathrm{Tr}(N)} (N_{ab} - \mathrm{Tr}(N) \delta_{ab}) + F^n_{ab} = \frac{15}{2\, \mathrm{Tr}(N)} (N_{ab} - \frac{1}{3} \mathrm{Tr}(N) \delta_{ab}) where the tensor :math:`N` is defined as @@ -119,7 +119,7 @@ as .. math:: - F^t_{ab} = \frac{15}{9\, \mathrm{Tr}(N)} (T_{ab} - \mathrm{Tr}(T) \delta_{ab}) + F^t_{ab} = \frac{15}{3\, \mathrm{Tr}(N)} (T_{ab} - \frac{1}{3} \mathrm{Tr}(T) \delta_{ab}) where the tensor :math:`T` is defined as From c401dc31d666fad7a749cc327037e7d0a0be76d3 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 23 Feb 2024 17:05:20 -0500 Subject: [PATCH 225/559] bump maxelt to 8 (for folks simulating high-entropy alloys) and make it uppercase --- src/MEAM/meam.h | 44 +++++++++++++++++----------------- src/MEAM/meam_impl.cpp | 4 ++-- src/MEAM/meam_setup_done.cpp | 2 +- src/MEAM/meam_setup_global.cpp | 2 +- src/MEAM/pair_meam.cpp | 5 ++-- 5 files changed, 28 insertions(+), 29 deletions(-) diff --git a/src/MEAM/meam.h b/src/MEAM/meam.h index 5a131bdc34..7aca094912 100644 --- a/src/MEAM/meam.h +++ b/src/MEAM/meam.h @@ -17,7 +17,7 @@ #include #include -constexpr int maxelt = 5; +constexpr int MAXELT = 8; namespace LAMMPS_NS { class Memory; @@ -88,30 +88,30 @@ class MEAM { // stheta_meam = sin(theta/2) in radian used in line, zigzag, and trimer reference structures // ctheta_meam = cos(theta/2) in radian used in line, zigzag, and trimer reference structures - double Ec_meam[maxelt][maxelt], re_meam[maxelt][maxelt]; - double A_meam[maxelt], alpha_meam[maxelt][maxelt], rho0_meam[maxelt]; - double delta_meam[maxelt][maxelt]; - double beta0_meam[maxelt], beta1_meam[maxelt]; - double beta2_meam[maxelt], beta3_meam[maxelt]; - double t0_meam[maxelt], t1_meam[maxelt]; - double t2_meam[maxelt], t3_meam[maxelt]; - double rho_ref_meam[maxelt]; - int ibar_meam[maxelt], ielt_meam[maxelt]; - lattice_t lattce_meam[maxelt][maxelt]; - int nn2_meam[maxelt][maxelt]; - int zbl_meam[maxelt][maxelt]; - int eltind[maxelt][maxelt]; + double Ec_meam[MAXELT][MAXELT], re_meam[MAXELT][MAXELT]; + double A_meam[MAXELT], alpha_meam[MAXELT][MAXELT], rho0_meam[MAXELT]; + double delta_meam[MAXELT][MAXELT]; + double beta0_meam[MAXELT], beta1_meam[MAXELT]; + double beta2_meam[MAXELT], beta3_meam[MAXELT]; + double t0_meam[MAXELT], t1_meam[MAXELT]; + double t2_meam[MAXELT], t3_meam[MAXELT]; + double rho_ref_meam[MAXELT]; + int ibar_meam[MAXELT], ielt_meam[MAXELT]; + lattice_t lattce_meam[MAXELT][MAXELT]; + int nn2_meam[MAXELT][MAXELT]; + int zbl_meam[MAXELT][MAXELT]; + int eltind[MAXELT][MAXELT]; int neltypes; double **phir; double **phirar, **phirar1, **phirar2, **phirar3, **phirar4, **phirar5, **phirar6; - double attrac_meam[maxelt][maxelt], repuls_meam[maxelt][maxelt]; + double attrac_meam[MAXELT][MAXELT], repuls_meam[MAXELT][MAXELT]; - double Cmin_meam[maxelt][maxelt][maxelt]; - double Cmax_meam[maxelt][maxelt][maxelt]; - double rc_meam, delr_meam, ebound_meam[maxelt][maxelt]; + double Cmin_meam[MAXELT][MAXELT][MAXELT]; + double Cmax_meam[MAXELT][MAXELT][MAXELT]; + double rc_meam, delr_meam, ebound_meam[MAXELT][MAXELT]; int augt1, ialloy, mix_ref_t, erose_form; int emb_lin_neg, bkgd_dyn; double gsmooth_factor; @@ -124,8 +124,8 @@ class MEAM { // MS-MEAM parameters - double t1m_meam[maxelt], t2m_meam[maxelt], t3m_meam[maxelt]; - double beta1m_meam[maxelt], beta2m_meam[maxelt], beta3m_meam[maxelt]; + double t1m_meam[MAXELT], t2m_meam[MAXELT], t3m_meam[MAXELT]; + double beta1m_meam[MAXELT], beta2m_meam[MAXELT], beta3m_meam[MAXELT]; //int msmeamflag; // made public for pair style settings public: @@ -142,8 +142,8 @@ class MEAM { double *scrfcn, *dscrfcn, *fcpair; //angle for trimer, zigzag, line reference structures - double stheta_meam[maxelt][maxelt]; - double ctheta_meam[maxelt][maxelt]; + double stheta_meam[MAXELT][MAXELT]; + double ctheta_meam[MAXELT][MAXELT]; protected: // meam_funcs.cpp diff --git a/src/MEAM/meam_impl.cpp b/src/MEAM/meam_impl.cpp index 473b491b01..41248c192b 100644 --- a/src/MEAM/meam_impl.cpp +++ b/src/MEAM/meam_impl.cpp @@ -42,12 +42,12 @@ MEAM::MEAM(Memory *mem) : memory(mem) copymode = 0; neltypes = 0; - for (int i = 0; i < maxelt; i++) { + for (int i = 0; i < MAXELT; i++) { A_meam[i] = rho0_meam[i] = beta0_meam[i] = beta1_meam[i] = beta2_meam[i] = beta3_meam[i] = t0_meam[i] = t1_meam[i] = t2_meam[i] = t3_meam[i] = rho_ref_meam[i] = ibar_meam[i] = ielt_meam[i] = t1m_meam[i] = t2m_meam[i] = t3m_meam[i] = beta1m_meam[i] = beta2m_meam[i] = beta3m_meam[i] = 0.0; - for (int j = 0; j < maxelt; j++) { + for (int j = 0; j < MAXELT; j++) { lattce_meam[i][j] = FCC; Ec_meam[i][j] = re_meam[i][j] = alpha_meam[i][j] = delta_meam[i][j] = ebound_meam[i][j] = attrac_meam[i][j] = repuls_meam[i][j] = 0.0; diff --git a/src/MEAM/meam_setup_done.cpp b/src/MEAM/meam_setup_done.cpp index 4adfd68f19..ce756051e4 100644 --- a/src/MEAM/meam_setup_done.cpp +++ b/src/MEAM/meam_setup_done.cpp @@ -33,7 +33,7 @@ void MEAM::meam_setup_done(double* cutmax) *cutmax = cutforce; // Augment t1 term - for (int i = 0; i < maxelt; i++) + for (int i = 0; i < MAXELT; i++) t1_meam[i] = t1_meam[i] + augt1 * 3.0 / 5.0 * t3_meam[i]; // Compute off-diagonal alloy parameters diff --git a/src/MEAM/meam_setup_global.cpp b/src/MEAM/meam_setup_global.cpp index 299fc4da61..4afffb4b02 100644 --- a/src/MEAM/meam_setup_global.cpp +++ b/src/MEAM/meam_setup_global.cpp @@ -38,7 +38,7 @@ void MEAM::meam_setup_global(int nelt, lattice_t *lat, int *ielement, double * / double *b2m, double *b3m, double *t1m, double *t2m, double *t3m) { int i; - double tmplat[maxelt]; + double tmplat[MAXELT]; neltypes = nelt; diff --git a/src/MEAM/pair_meam.cpp b/src/MEAM/pair_meam.cpp index c8932d9a31..6159c452b0 100644 --- a/src/MEAM/pair_meam.cpp +++ b/src/MEAM/pair_meam.cpp @@ -241,11 +241,10 @@ void PairMEAM::coeff(int narg, char **arg) nlibelements = paridx - 3; if (nlibelements < 1) error->all(FLERR, "Incorrect args for pair coefficients"); - if (nlibelements > maxelt) + if (nlibelements > MAXELT) error->all(FLERR, "Too many elements extracted from MEAM library (current limit: {}). " - "Increase 'maxelt' in meam.h and recompile.", - maxelt); + "Increase 'MAXELT' in meam.h and recompile.", MAXELT); for (int i = 0; i < nlibelements; i++) { if (std::any_of(libelements.begin(), libelements.end(), [&](const std::string &elem) { From 66701ef1e2d492dfa3619952e2704c9ff97f89f8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 23 Feb 2024 17:29:31 -0500 Subject: [PATCH 226/559] complete rebomos docs --- doc/src/pair_rebomos.rst | 26 ++++++++++++++++++++- doc/utils/sphinx-config/false_positives.txt | 1 + 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/doc/src/pair_rebomos.rst b/doc/src/pair_rebomos.rst index 9be400e363..9466deb338 100644 --- a/doc/src/pair_rebomos.rst +++ b/doc/src/pair_rebomos.rst @@ -23,14 +23,34 @@ Examples pair_style rebomos pair_coeff * * ../potentials/MoS.rebomos Mo S +Example input scripts available: examples/threebody/ Description """"""""""" .. versionadded:: TBD -The *rebomos* pair style computes +The *rebomos* pair style computes the interactions between molybdenum +and sulfur atoms :ref:`(Stewart) ` utilizing an adaptive +interatomic reactive empirical bond order potential that is similar in +form to the AIREBO potential :ref:`(Stuart) `. The potential +is based on an earlier parameterizations for :math:`\text{MoS}_2` +developed by :ref:`(Liang) `. +The REBOMoS potential consists of two terms: + +.. math:: + + E & = \frac{1}{2} \sum_i \sum_{j \neq i} + \left[ E^{\text{REBO}}_{ij} + E^{\text{LJ}}_{ij} \right] \\ + +The :math:`E^{\text{REBO}}` term describes the covalently bonded +interactions between Mo and S atoms while the :math:`E^{\text{LJ}}` term +describes longer range dispersion forces between layers. A cubic spline +function is applied to smoothly switch between covalent bonding at short +distances to dispersion interactions at longer distances. This allows +the model to capture bond formation and breaking events which may occur +between adjacent MoS2 layers, edges, defects, and more. ---------- @@ -121,6 +141,10 @@ none **(Steward)** Stewart, Spearot, Modelling Simul. Mater. Sci. Eng. 21,(2013) +.. _Stuart2: + +**(Stuart)** Stuart, Tutein, Harrison, J Chem Phys, 112, 6472-6486. (2000). + .. _Liang: **(Liang)** Liang, Phillpot, Sinnott Phys. Rev. B79 245110, (2009), Erratum: Phys. Rev. B85 199903(E), (2012) diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 3423b7859b..e46fb6ca97 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -3599,6 +3599,7 @@ tesselation tesselations Tetot tex +textrm tfac tfmc tfMC From b7153eebee475d25bd9851ff9fea7ae153c856fc Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 23 Feb 2024 19:04:14 -0500 Subject: [PATCH 227/559] simplify and check for triclinic again, since somebody may have used change_box --- src/EXTRA-FIX/fix_wall_flow.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/EXTRA-FIX/fix_wall_flow.cpp b/src/EXTRA-FIX/fix_wall_flow.cpp index f194a4076a..1f3dcfca5b 100644 --- a/src/EXTRA-FIX/fix_wall_flow.cpp +++ b/src/EXTRA-FIX/fix_wall_flow.cpp @@ -186,6 +186,9 @@ int FixWallFlow::setmask() void FixWallFlow::init() { + if (domain->triclinic != 0) + error->all(FLERR, "Fix wall/flow cannot be used with triclinic simulation box"); + int nrigid = 0; int box_change_flowax = 0; for (const auto &ifix : modify->get_fix_list()) { @@ -193,18 +196,12 @@ void FixWallFlow::init() switch (flowax) { case FlowAxis::AX_X: if (ifix->box_change & Fix::BOX_CHANGE_X) box_change_flowax++; - if (ifix->box_change & Fix::BOX_CHANGE_XY) box_change_flowax++; - if (ifix->box_change & Fix::BOX_CHANGE_XZ) box_change_flowax++; break; case FlowAxis::AX_Y: if (ifix->box_change & Fix::BOX_CHANGE_Y) box_change_flowax++; - if (ifix->box_change & Fix::BOX_CHANGE_YZ) box_change_flowax++; - if (ifix->box_change & Fix::BOX_CHANGE_XY) box_change_flowax++; break; case FlowAxis::AX_Z: if (ifix->box_change & Fix::BOX_CHANGE_Z) box_change_flowax++; - if (ifix->box_change & Fix::BOX_CHANGE_YZ) box_change_flowax++; - if (ifix->box_change & Fix::BOX_CHANGE_XZ) box_change_flowax++; break; } } From 04bccd0a9f74ea62f90308b89c66351b0e775295 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 23 Feb 2024 19:08:46 -0500 Subject: [PATCH 228/559] whitespace --- examples/airebo/in.airebo-0-0 | 26 +++++++++++++------------- examples/airebo/in.rebo2 | 26 +++++++++++++------------- src/fix_ave_chunk.cpp | 3 +-- 3 files changed, 27 insertions(+), 28 deletions(-) diff --git a/examples/airebo/in.airebo-0-0 b/examples/airebo/in.airebo-0-0 index 077da68912..0e71644127 100644 --- a/examples/airebo/in.airebo-0-0 +++ b/examples/airebo/in.airebo-0-0 @@ -1,22 +1,22 @@ # AIREBO polyethelene benchmark -units metal -atom_style atomic +units metal +atom_style atomic -read_data data.airebo +read_data data.airebo -replicate 17 16 2 +replicate 17 16 2 -neighbor 0.5 bin -neigh_modify delay 5 every 1 +neighbor 0.5 bin +neigh_modify delay 5 every 1 -pair_style airebo 3.0 0 0 -pair_coeff * * CH.airebo C H +pair_style airebo 3.0 0 0 +pair_coeff * * CH.airebo C H -velocity all create 300.0 761341 +velocity all create 300.0 761341 -fix 1 all nve -timestep 0.0005 +fix 1 all nve +timestep 0.0005 -thermo 10 -run 100 +thermo 10 +run 100 diff --git a/examples/airebo/in.rebo2 b/examples/airebo/in.rebo2 index e06cf462ca..319a60bd50 100644 --- a/examples/airebo/in.rebo2 +++ b/examples/airebo/in.rebo2 @@ -1,22 +1,22 @@ # REBO polyethelene benchmark -units metal -atom_style atomic +units metal +atom_style atomic -read_data data.airebo +read_data data.airebo -replicate 17 16 2 +replicate 17 16 2 -neighbor 0.5 bin -neigh_modify delay 5 every 1 +neighbor 0.5 bin +neigh_modify delay 5 every 1 -pair_style rebo -pair_coeff * * CH.rebo C H +pair_style rebo +pair_coeff * * CH.rebo C H -velocity all create 300.0 761341 +velocity all create 300.0 761341 -fix 1 all nve -timestep 0.0005 +fix 1 all nve +timestep 0.0005 -thermo 10 -run 100 +thermo 10 +run 100 diff --git a/src/fix_ave_chunk.cpp b/src/fix_ave_chunk.cpp index 8ed518efc2..a0d25cf2c7 100644 --- a/src/fix_ave_chunk.cpp +++ b/src/fix_ave_chunk.cpp @@ -301,8 +301,7 @@ FixAveChunk::FixAveChunk(LAMMPS *lmp, int narg, char **arg) : if (fp && comm->me == 0) { clearerr(fp); if (title1) fprintf(fp,"%s\n",title1); - else fprintf(fp,"# Chunk-averaged data for fix %s and group %s\n", - id, group); + else fprintf(fp,"# Chunk-averaged data for fix %s and group %s\n", id, group); if (title2) fprintf(fp,"%s\n",title2); else fprintf(fp,"# Timestep Number-of-chunks Total-count\n"); if (title3) fprintf(fp,"%s\n",title3); From 9c7ec8bb6c57dc8499272174b94d6b8fb0270c30 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 23 Feb 2024 21:55:09 -0500 Subject: [PATCH 229/559] must update docs for code changes --- doc/src/pair_meam.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/pair_meam.rst b/doc/src/pair_meam.rst index 57c40aa6ee..bafa9fb3c9 100644 --- a/doc/src/pair_meam.rst +++ b/doc/src/pair_meam.rst @@ -427,8 +427,8 @@ package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. The maximum number of elements, that can be read from the MEAM library -file, is determined at compile time. The default is 5. If you need -support for more elements, you have to change the the constant 'maxelt' +file, is determined at compile time. The default is 8. If you need +support for more elements, you have to change the the constant 'MAXELT' at the beginning of the file ``src/MEAM/meam.h`` and update/recompile LAMMPS. There is no limit on the number of atoms types. From d39158ca08b1549902f740405df960cfe166dd13 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 24 Feb 2024 03:38:48 -0500 Subject: [PATCH 230/559] modernize --- src/ASPHERE/compute_temp_asphere.cpp | 51 +++++++++++++--------------- 1 file changed, 24 insertions(+), 27 deletions(-) diff --git a/src/ASPHERE/compute_temp_asphere.cpp b/src/ASPHERE/compute_temp_asphere.cpp index 7d5d6adce5..d99d9f30c8 100644 --- a/src/ASPHERE/compute_temp_asphere.cpp +++ b/src/ASPHERE/compute_temp_asphere.cpp @@ -18,30 +18,29 @@ #include "compute_temp_asphere.h" -#include -#include "math_extra.h" #include "atom.h" #include "atom_vec_ellipsoid.h" -#include "update.h" -#include "force.h" #include "domain.h" -#include "modify.h" -#include "group.h" #include "error.h" +#include "force.h" +#include "group.h" +#include "math_extra.h" +#include "modify.h" +#include "update.h" + +#include using namespace LAMMPS_NS; -enum{ROTATE,ALL}; - -static constexpr double INERTIA = 0.2; // moment of inertia prefactor for ellipsoid +enum { ROTATE, ALL }; +static constexpr double INERTIA = 0.2; // moment of inertia prefactor for ellipsoid /* ---------------------------------------------------------------------- */ ComputeTempAsphere::ComputeTempAsphere(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), - id_bias(nullptr), tbias(nullptr), avec(nullptr) + Compute(lmp, narg, arg), id_bias(nullptr), tbias(nullptr), avec(nullptr) { - if (narg < 3) error->all(FLERR,"Illegal compute temp/asphere command"); + if (narg < 3) utils::missing_cmd_args(FLERR, "compute temp/asphere", error); scalar_flag = vector_flag = 1; size_vector = 6; @@ -56,19 +55,17 @@ ComputeTempAsphere::ComputeTempAsphere(LAMMPS *lmp, int narg, char **arg) : int iarg = 3; while (iarg < narg) { if (strcmp(arg[iarg],"bias") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute temp/asphere command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "compute temp/asphere bias", error); tempbias = 1; id_bias = utils::strdup(arg[iarg+1]); iarg += 2; } else if (strcmp(arg[iarg],"dof") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute temp/asphere command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "compute temp/asphere dof", error); if (strcmp(arg[iarg+1],"rotate") == 0) mode = ROTATE; else if (strcmp(arg[iarg+1],"all") == 0) mode = ALL; - else error->all(FLERR,"Illegal compute temp/asphere command"); + else error->all(FLERR,"Unknown compute temp/asphere dof keyword {}", arg[iarg+1]); iarg += 2; - } else error->all(FLERR,"Illegal compute temp/asphere command"); + } else error->all(FLERR,"Unknown compute temp/asphere keyword {}", arg[iarg]); } // when computing only the rotational temperature, @@ -84,8 +81,8 @@ ComputeTempAsphere::ComputeTempAsphere(LAMMPS *lmp, int narg, char **arg) : ComputeTempAsphere::~ComputeTempAsphere() { - delete [] id_bias; - delete [] vector; + delete[] id_bias; + delete[] vector; } /* ---------------------------------------------------------------------- */ @@ -107,17 +104,17 @@ void ComputeTempAsphere::init() for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) if (ellipsoid[i] < 0) - error->one(FLERR,"Compute temp/asphere requires extended particles"); + error->one(FLERR,"Compute temp/asphere requires all extended particles"); if (tempbias) { - int i = modify->find_compute(id_bias); - if (i < 0) - error->all(FLERR,"Could not find compute ID for temperature bias"); - tbias = modify->compute[i]; + tbias = modify->get_compute_by_id(id_bias); + if (!tbias) + error->all(FLERR,"Could not find compute ID {} for temperature bias", id_bias); + if (tbias->tempflag == 0) - error->all(FLERR,"Bias compute does not calculate temperature"); + error->all(FLERR,"Bias compute {} does not calculate temperature", id_bias); if (tbias->tempbias == 0) - error->all(FLERR,"Bias compute does not calculate a velocity bias"); + error->all(FLERR,"Bias compute {} does not calculate a velocity bias", id_bias); if (tbias->igroup != igroup) error->all(FLERR,"Bias compute group does not match compute group"); if (strcmp(tbias->style,"temp/region") == 0) tempbias = 2; From c869783e72ff094fdda00c9fe002474ef7d492f1 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 24 Feb 2024 09:21:20 -0500 Subject: [PATCH 231/559] warn about building LAMMPS with shared lib support for plugins --- cmake/CMakeLists.txt | 3 +++ doc/src/Packages_details.rst | 2 ++ 2 files changed, 5 insertions(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index ad7f9da35e..05c9ff6e8c 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -693,6 +693,9 @@ endforeach() if(PKG_PLUGIN) target_compile_definitions(lammps PRIVATE -DLMP_PLUGIN) + if(NOT BUILD_SHARED_LIBS) + message(WARNING "Using plugins benefits from compiling LAMMPS with -DBUILD_SHARED_LIBS=yes") + endif() endif() # link with -ldl or equivalent for plugin loading; except on Windows diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index a3d65d9d65..ea1336cb0f 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -2260,6 +2260,8 @@ will search the directory (or directories) listed in this path for files with names that end in ``plugin.so`` (e.g. ``helloplugin.so``) and will try to load the contained plugins automatically at start-up. +It is preferred to build LAMMPS in shared library mode when using this package. + **Authors:** Axel Kohlmeyer (Temple U) .. versionadded:: 8Apr2021 From 01d9f78e6900ce8dfb0db2105f15b9f6eb3097f1 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 24 Feb 2024 14:34:40 -0500 Subject: [PATCH 232/559] correct citation --- doc/src/pair_rebomos.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/pair_rebomos.rst b/doc/src/pair_rebomos.rst index 9466deb338..9f4b8006c1 100644 --- a/doc/src/pair_rebomos.rst +++ b/doc/src/pair_rebomos.rst @@ -139,11 +139,11 @@ none .. _Stewart: -**(Steward)** Stewart, Spearot, Modelling Simul. Mater. Sci. Eng. 21,(2013) +**(Steward)** Stewart, Spearot, Modelling Simul. Mater. Sci. Eng. 21, 045003, (2013). .. _Stuart2: -**(Stuart)** Stuart, Tutein, Harrison, J Chem Phys, 112, 6472-6486. (2000). +**(Stuart)** Stuart, Tutein, Harrison, J Chem Phys, 112, 6472-6486, (2000). .. _Liang: From 98b3d19c4036372420517fd6cea5d1f676082cad Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 24 Feb 2024 17:01:53 -0500 Subject: [PATCH 233/559] link with static liblammps.a when available to avoid dynamic linker error when loading plugins --- examples/plugins/LAMMPSInterfaceCXX.cmake | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/examples/plugins/LAMMPSInterfaceCXX.cmake b/examples/plugins/LAMMPSInterfaceCXX.cmake index 7eef5bd6e4..0146aaf240 100644 --- a/examples/plugins/LAMMPSInterfaceCXX.cmake +++ b/examples/plugins/LAMMPSInterfaceCXX.cmake @@ -23,11 +23,21 @@ function(validate_option name values) endfunction(validate_option) ################################################################################# -# LAMMPS C++ interface. We only need the header related parts. +# LAMMPS C++ interface. We only need the header related parts for shared linkage +# but the library .a file for real static or quasi-static linkage (of LAMMPS). add_library(lammps INTERFACE) target_include_directories(lammps INTERFACE ${LAMMPS_HEADER_DIR}) if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING) target_link_libraries(lammps INTERFACE ${CMAKE_BINARY_DIR}/../liblammps.dll.a) +else() + # make a best guess where the static lammps library could be + if(EXISTS ${CMAKE_BINARY_DIR}/../liblammps.a) + target_link_libraries(lammps INTERFACE ${CMAKE_BINARY_DIR}/../liblammps.a) + elseif(EXISTS ${LAMMPS_SOURCE_DIR}/liblammps.a) + target_link_libraries(lammps INTERFACE ${LAMMPS_SOURCE_DIR}/liblammps.a) + elseif(EXISTS ${LAMMPS_SOURCE_DIR}/../build/liblammps.a) + target_link_libraries(lammps INTERFACE ${LAMMPS_SOURCE_DIR}/../build/liblammps.a) + endif() endif() ################################################################################ # MPI configuration From aaba7369678b38cb9c25daf31b09b593b839e70d Mon Sep 17 00:00:00 2001 From: "Aidan P. Thompson" Date: Sat, 24 Feb 2024 14:14:52 -0700 Subject: [PATCH 234/559] Fixed error in forces that only affects non-zero t1m MS-MEAM models --- src/KOKKOS/meam_force_kokkos.h | 2 ++ src/MEAM/meam_force.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/KOKKOS/meam_force_kokkos.h b/src/KOKKOS/meam_force_kokkos.h index fec923f5b2..2f0c51dddb 100644 --- a/src/KOKKOS/meam_force_kokkos.h +++ b/src/KOKKOS/meam_force_kokkos.h @@ -601,6 +601,8 @@ KOKKOS_INLINE_FUNCTION void MEAMKokkos::operator()(TagMEAMForce Date: Sat, 24 Feb 2024 17:29:25 -0500 Subject: [PATCH 235/559] synchronize LAMMPS C++ interface CMake modules --- cmake/Modules/LAMMPSInterfacePlugin.cmake | 9 +++++++++ examples/plugins/LAMMPSInterfaceCXX.cmake | 7 +++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/cmake/Modules/LAMMPSInterfacePlugin.cmake b/cmake/Modules/LAMMPSInterfacePlugin.cmake index 151e0a04f7..23792a0cb2 100644 --- a/cmake/Modules/LAMMPSInterfacePlugin.cmake +++ b/cmake/Modules/LAMMPSInterfacePlugin.cmake @@ -105,6 +105,15 @@ add_library(lammps INTERFACE) target_include_directories(lammps INTERFACE ${LAMMPS_SOURCE_DIR}) if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING) target_link_libraries(lammps INTERFACE ${CMAKE_BINARY_DIR}/../liblammps.dll.a) +else() + # make a best guess where the static lammps library could be + if(EXISTS ${CMAKE_BINARY_DIR}/../liblammps.a) + target_link_libraries(lammps INTERFACE ${CMAKE_BINARY_DIR}/../liblammps.a) + elseif(EXISTS ${LAMMPS_HEADER_DIR}/liblammps.a) + target_link_libraries(lammps INTERFACE ${LAMMPS_HEADER_DIR}/liblammps.a) + elseif(EXISTS ${LAMMPS_HEADER_DIR}/../build/liblammps.a) + target_link_libraries(lammps INTERFACE ${LAMMPS_HEADER_DIR}/../build/liblammps.a) + endif() endif() ################################################################################ diff --git a/examples/plugins/LAMMPSInterfaceCXX.cmake b/examples/plugins/LAMMPSInterfaceCXX.cmake index 0146aaf240..9cec639cbc 100644 --- a/examples/plugins/LAMMPSInterfaceCXX.cmake +++ b/examples/plugins/LAMMPSInterfaceCXX.cmake @@ -39,6 +39,7 @@ else() target_link_libraries(lammps INTERFACE ${LAMMPS_SOURCE_DIR}/../build/liblammps.a) endif() endif() + ################################################################################ # MPI configuration if(NOT CMAKE_CROSSCOMPILING) @@ -92,13 +93,9 @@ if(BUILD_MPI) # 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") @@ -141,6 +138,8 @@ else() target_include_directories(lammps INTERFACE "${LAMMPS_SOURCE_DIR}/STUBS") endif() +################ +# integer size selection set(LAMMPS_SIZES "smallbig" CACHE STRING "LAMMPS integer sizes (smallsmall: all 32-bit, smallbig: 64-bit #atoms #timesteps, bigbig: also 64-bit imageint, 64-bit atom ids)") set(LAMMPS_SIZES_VALUES smallbig bigbig smallsmall) set_property(CACHE LAMMPS_SIZES PROPERTY STRINGS ${LAMMPS_SIZES_VALUES}) From b8c8b4d19bbcfcc92a5a3bf5aa02fb4b3c732bd7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 25 Feb 2024 21:11:31 -0500 Subject: [PATCH 236/559] use -rdynamic for re-exporting symbols when using plugins --- cmake/CMakeLists.txt | 4 ++++ cmake/Modules/LAMMPSInterfacePlugin.cmake | 9 --------- examples/plugins/LAMMPSInterfaceCXX.cmake | 9 --------- 3 files changed, 4 insertions(+), 18 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 05c9ff6e8c..a48d606227 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -222,6 +222,10 @@ endif() add_executable(lmp ${MAIN_SOURCES}) target_link_libraries(lmp PRIVATE lammps) set_target_properties(lmp PROPERTIES OUTPUT_NAME ${LAMMPS_BINARY}) +# re-export all symbols for plugins +if(PKG_PLUGIN) + set_target_properties(lmp PROPERTIES LINK_FLAGS "-rdynamic") +endif() install(TARGETS lmp EXPORT LAMMPS_Targets DESTINATION ${CMAKE_INSTALL_BINDIR}) option(CMAKE_VERBOSE_MAKEFILE "Generate verbose Makefiles" OFF) diff --git a/cmake/Modules/LAMMPSInterfacePlugin.cmake b/cmake/Modules/LAMMPSInterfacePlugin.cmake index 23792a0cb2..151e0a04f7 100644 --- a/cmake/Modules/LAMMPSInterfacePlugin.cmake +++ b/cmake/Modules/LAMMPSInterfacePlugin.cmake @@ -105,15 +105,6 @@ add_library(lammps INTERFACE) target_include_directories(lammps INTERFACE ${LAMMPS_SOURCE_DIR}) if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING) target_link_libraries(lammps INTERFACE ${CMAKE_BINARY_DIR}/../liblammps.dll.a) -else() - # make a best guess where the static lammps library could be - if(EXISTS ${CMAKE_BINARY_DIR}/../liblammps.a) - target_link_libraries(lammps INTERFACE ${CMAKE_BINARY_DIR}/../liblammps.a) - elseif(EXISTS ${LAMMPS_HEADER_DIR}/liblammps.a) - target_link_libraries(lammps INTERFACE ${LAMMPS_HEADER_DIR}/liblammps.a) - elseif(EXISTS ${LAMMPS_HEADER_DIR}/../build/liblammps.a) - target_link_libraries(lammps INTERFACE ${LAMMPS_HEADER_DIR}/../build/liblammps.a) - endif() endif() ################################################################################ diff --git a/examples/plugins/LAMMPSInterfaceCXX.cmake b/examples/plugins/LAMMPSInterfaceCXX.cmake index 9cec639cbc..d1f8faec22 100644 --- a/examples/plugins/LAMMPSInterfaceCXX.cmake +++ b/examples/plugins/LAMMPSInterfaceCXX.cmake @@ -29,15 +29,6 @@ add_library(lammps INTERFACE) target_include_directories(lammps INTERFACE ${LAMMPS_HEADER_DIR}) if((CMAKE_SYSTEM_NAME STREQUAL "Windows") AND CMAKE_CROSSCOMPILING) target_link_libraries(lammps INTERFACE ${CMAKE_BINARY_DIR}/../liblammps.dll.a) -else() - # make a best guess where the static lammps library could be - if(EXISTS ${CMAKE_BINARY_DIR}/../liblammps.a) - target_link_libraries(lammps INTERFACE ${CMAKE_BINARY_DIR}/../liblammps.a) - elseif(EXISTS ${LAMMPS_SOURCE_DIR}/liblammps.a) - target_link_libraries(lammps INTERFACE ${LAMMPS_SOURCE_DIR}/liblammps.a) - elseif(EXISTS ${LAMMPS_SOURCE_DIR}/../build/liblammps.a) - target_link_libraries(lammps INTERFACE ${LAMMPS_SOURCE_DIR}/../build/liblammps.a) - endif() endif() ################################################################################ From 86ea5271d6127bc403a6ea97fcadd5b5a661de70 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 25 Feb 2024 21:19:13 -0500 Subject: [PATCH 237/559] portability --- cmake/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index a48d606227..2cfde45ab2 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -223,7 +223,7 @@ add_executable(lmp ${MAIN_SOURCES}) target_link_libraries(lmp PRIVATE lammps) set_target_properties(lmp PROPERTIES OUTPUT_NAME ${LAMMPS_BINARY}) # re-export all symbols for plugins -if(PKG_PLUGIN) +if(PKG_PLUGIN AND (NOT ((CMAKE_SYSTEM_NAME STREQUAL "Windows")))) set_target_properties(lmp PROPERTIES LINK_FLAGS "-rdynamic") endif() install(TARGETS lmp EXPORT LAMMPS_Targets DESTINATION ${CMAKE_INSTALL_BINDIR}) From 725156753ad72da6f5c707a6093d5933ab4d3630 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 25 Feb 2024 21:51:34 -0500 Subject: [PATCH 238/559] remove superfluous warning --- cmake/CMakeLists.txt | 3 --- 1 file changed, 3 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 2cfde45ab2..508ea49f5e 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -697,9 +697,6 @@ endforeach() if(PKG_PLUGIN) target_compile_definitions(lammps PRIVATE -DLMP_PLUGIN) - if(NOT BUILD_SHARED_LIBS) - message(WARNING "Using plugins benefits from compiling LAMMPS with -DBUILD_SHARED_LIBS=yes") - endif() endif() # link with -ldl or equivalent for plugin loading; except on Windows From b22ce0f4be697d5f765837d2170bb2265b5a3421 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 25 Feb 2024 21:58:35 -0500 Subject: [PATCH 239/559] use platform neutral CMake property to export symbols --- cmake/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 508ea49f5e..f87c92396f 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -224,7 +224,7 @@ target_link_libraries(lmp PRIVATE lammps) set_target_properties(lmp PROPERTIES OUTPUT_NAME ${LAMMPS_BINARY}) # re-export all symbols for plugins if(PKG_PLUGIN AND (NOT ((CMAKE_SYSTEM_NAME STREQUAL "Windows")))) - set_target_properties(lmp PROPERTIES LINK_FLAGS "-rdynamic") + set_target_properties(lmp PROPERTIES ENABLE_EXPORTS TRUE) endif() install(TARGETS lmp EXPORT LAMMPS_Targets DESTINATION ${CMAKE_INSTALL_BINDIR}) From 5aae41a08c7c10003aeee346ddeaf435aaa323e6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 26 Feb 2024 06:50:36 -0500 Subject: [PATCH 240/559] remove obsolete comment --- doc/src/Packages_details.rst | 2 -- 1 file changed, 2 deletions(-) diff --git a/doc/src/Packages_details.rst b/doc/src/Packages_details.rst index ea1336cb0f..a3d65d9d65 100644 --- a/doc/src/Packages_details.rst +++ b/doc/src/Packages_details.rst @@ -2260,8 +2260,6 @@ will search the directory (or directories) listed in this path for files with names that end in ``plugin.so`` (e.g. ``helloplugin.so``) and will try to load the contained plugins automatically at start-up. -It is preferred to build LAMMPS in shared library mode when using this package. - **Authors:** Axel Kohlmeyer (Temple U) .. versionadded:: 8Apr2021 From 2bc5a042144ea0a74d6755b964985aeb4c520360 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 26 Feb 2024 07:54:25 -0500 Subject: [PATCH 241/559] fix conversion bug when input is in radians --- src/DIFFRACTION/compute_xrd.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/DIFFRACTION/compute_xrd.cpp b/src/DIFFRACTION/compute_xrd.cpp index 426248b31e..2ee23c489c 100644 --- a/src/DIFFRACTION/compute_xrd.cpp +++ b/src/DIFFRACTION/compute_xrd.cpp @@ -261,7 +261,7 @@ void ComputeXRD::init() double ang = 0.0; double convf = 360 / MY_PI; - if (radflag ==1) convf = 1; + if (radflag == 1) convf = 2; int n = 0; for (int m = 0; m < mmax; m++) { From f532a513da243cf40fd22c0c03a3b8f665365bde Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 26 Feb 2024 07:58:53 -0500 Subject: [PATCH 242/559] only import used constant --- src/DIFFRACTION/compute_xrd.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/DIFFRACTION/compute_xrd.cpp b/src/DIFFRACTION/compute_xrd.cpp index 2ee23c489c..11e0bb9a9f 100644 --- a/src/DIFFRACTION/compute_xrd.cpp +++ b/src/DIFFRACTION/compute_xrd.cpp @@ -35,7 +35,7 @@ #include "omp_compat.h" using namespace LAMMPS_NS; -using namespace MathConst; +using MathConst::MY_PI; static const char cite_compute_xrd_c[] = "compute xrd command: doi:10.1088/0965-0393/21/5/055020\n\n" From 73ae3200d0093948840b67b2b2fd03935375b7d3 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Mon, 26 Feb 2024 12:09:19 -0700 Subject: [PATCH 243/559] incorporating feedback --- doc/src/compute_fabric.rst | 2 +- src/GRANULAR/gran_sub_mod_damping.cpp | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/doc/src/compute_fabric.rst b/doc/src/compute_fabric.rst index 87fabe2374..77586e617a 100644 --- a/doc/src/compute_fabric.rst +++ b/doc/src/compute_fabric.rst @@ -119,7 +119,7 @@ as .. math:: - F^t_{ab} = \frac{15}{3\, \mathrm{Tr}(N)} (T_{ab} - \frac{1}{3} \mathrm{Tr}(T) \delta_{ab}) + F^t_{ab} = \frac{5}{\mathrm{Tr}(N)} (T_{ab} - \frac{1}{3} \mathrm{Tr}(T) \delta_{ab}) where the tensor :math:`T` is defined as diff --git a/src/GRANULAR/gran_sub_mod_damping.cpp b/src/GRANULAR/gran_sub_mod_damping.cpp index c635d90265..1ac0ce9030 100644 --- a/src/GRANULAR/gran_sub_mod_damping.cpp +++ b/src/GRANULAR/gran_sub_mod_damping.cpp @@ -130,8 +130,12 @@ void GranSubModDampingTsuji::init() double GranSubModDampingTsuji::calculate_forces() { - // in case argument < 0 due to precision issues - double sqrt1 = MAX(0, gm->meff * gm->Fnormal / gm->delta); + // in case argument <= 0 due to precision issues + double sqrt1; + if (gm->delta > 0.0) + sqrt1 = MAX(0.0, gm->meff * gm->Fnormal / gm->delta); + else + sqrt1 = 0.0; damp_prefactor = damp * sqrt(sqrt1); return -damp_prefactor * gm->vnnr; } From 719b7a96f10b4115414d6e235a67fcb459fd9522 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 26 Feb 2024 16:45:01 -0500 Subject: [PATCH 244/559] silence compiler warnings --- src/DIPOLE/pair_lj_long_dipole_long.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/DIPOLE/pair_lj_long_dipole_long.cpp b/src/DIPOLE/pair_lj_long_dipole_long.cpp index 6f46d9d024..2e1a9c4db0 100644 --- a/src/DIPOLE/pair_lj_long_dipole_long.cpp +++ b/src/DIPOLE/pair_lj_long_dipole_long.cpp @@ -401,7 +401,7 @@ void PairLJLongDipoleLong::compute(int eflag, int vflag) ev_init(eflag,vflag); double **x = atom->x, *x0 = x[0]; - double **mu = atom->mu, *mu0 = mu[0], *imu, *jmu; + double **mu = atom->mu, *mu0 = mu[0]; double **tq = atom->torque, *tq0 = tq[0], *tqi; double **f = atom->f, *f0 = f[0], *fi = f0, fx, fy, fz; double *q = atom->q, qi = 0, qj; @@ -435,7 +435,7 @@ void PairLJLongDipoleLong::compute(int eflag, int vflag) lj1i = lj1[typei]; lj2i = lj2[typei]; lj3i = lj3[typei]; lj4i = lj4[typei]; cutsqi = cutsq[typei]; cut_ljsqi = cut_ljsq[typei]; memcpy(xi, x0+(i+(i<<1)), 3*sizeof(double)); - memcpy(mui, imu = mu0+(i<<2), 3*sizeof(double)); + memcpy(mui, mu0+(i<<2), 3*sizeof(double)); jneighn = (jneigh = list->firstneigh[i])+list->numneigh[i]; @@ -453,7 +453,7 @@ void PairLJLongDipoleLong::compute(int eflag, int vflag) r2inv = 1.0/rsq; if (order3 && (rsq < cut_coulsq)) { // dipole - memcpy(muj, jmu = mu0+(j<<2), 3*sizeof(double)); + memcpy(muj, mu0+(j<<2), 3*sizeof(double)); { // series real space double r = sqrt(rsq); double x = g_ewald*r; From bd9f6993e3725462c8361bbff2dcf927a4144edc Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 26 Feb 2024 17:14:44 -0500 Subject: [PATCH 245/559] whitespace --- src/KOKKOS/mliap_unified_kokkos.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/KOKKOS/mliap_unified_kokkos.cpp b/src/KOKKOS/mliap_unified_kokkos.cpp index 68caf035e9..e85f836254 100644 --- a/src/KOKKOS/mliap_unified_kokkos.cpp +++ b/src/KOKKOS/mliap_unified_kokkos.cpp @@ -380,7 +380,7 @@ void LAMMPS_NS::update_atom_energy(MLIAPDataKokkosDevice *data, double *ei) Kokkos::parallel_reduce(nlocal, KOKKOS_LAMBDA(int i, double &local_sum){ double e = ei[i]; - + d_eatoms[i] = e; local_sum += e; },*data->energy); From 82762937a86ae82fe01dba0fbe0554664310f02f Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Mon, 26 Feb 2024 15:37:22 -0700 Subject: [PATCH 246/559] Add better Kokkos support for comm_style tiled --- src/KOKKOS/atom_vec_angle_kokkos.cpp | 310 +-------------- src/KOKKOS/atom_vec_angle_kokkos.h | 13 +- src/KOKKOS/atom_vec_atomic_kokkos.cpp | 20 +- src/KOKKOS/atom_vec_atomic_kokkos.h | 4 +- src/KOKKOS/atom_vec_bond_kokkos.cpp | 22 +- src/KOKKOS/atom_vec_bond_kokkos.h | 4 +- src/KOKKOS/atom_vec_charge_kokkos.cpp | 30 +- src/KOKKOS/atom_vec_charge_kokkos.h | 4 +- src/KOKKOS/atom_vec_dipole_kokkos.cpp | 29 +- src/KOKKOS/atom_vec_dipole_kokkos.h | 4 +- src/KOKKOS/atom_vec_dpd_kokkos.cpp | 84 ++-- src/KOKKOS/atom_vec_dpd_kokkos.h | 11 +- src/KOKKOS/atom_vec_full_kokkos.cpp | 22 +- src/KOKKOS/atom_vec_full_kokkos.h | 4 +- src/KOKKOS/atom_vec_hybrid_kokkos.cpp | 13 +- src/KOKKOS/atom_vec_hybrid_kokkos.h | 11 +- src/KOKKOS/atom_vec_kokkos.cpp | 205 +++++----- src/KOKKOS/atom_vec_kokkos.h | 28 +- src/KOKKOS/atom_vec_molecular_kokkos.cpp | 303 +-------------- src/KOKKOS/atom_vec_molecular_kokkos.h | 13 +- src/KOKKOS/atom_vec_sphere_kokkos.cpp | 176 ++++----- src/KOKKOS/atom_vec_sphere_kokkos.h | 18 +- src/KOKKOS/atom_vec_spin_kokkos.cpp | 30 +- src/KOKKOS/atom_vec_spin_kokkos.h | 4 +- src/KOKKOS/comm_kokkos.cpp | 171 ++++++-- src/KOKKOS/comm_kokkos.h | 24 +- src/KOKKOS/comm_tiled_kokkos.cpp | 476 ++++++++++++++++++++++- src/KOKKOS/comm_tiled_kokkos.h | 61 ++- src/KOKKOS/fix_acks2_reaxff_kokkos.cpp | 2 +- src/KOKKOS/fix_acks2_reaxff_kokkos.h | 3 +- src/KOKKOS/fix_qeq_reaxff_kokkos.cpp | 7 +- src/KOKKOS/fix_qeq_reaxff_kokkos.h | 6 +- src/KOKKOS/fix_rx_kokkos.cpp | 13 +- src/KOKKOS/fix_shake_kokkos.cpp | 9 +- src/KOKKOS/fix_shake_kokkos.h | 6 +- src/KOKKOS/fix_wall_lj93_kokkos.cpp | 12 +- src/KOKKOS/fix_wall_lj93_kokkos.h | 1 - src/KOKKOS/kokkos_base.h | 12 +- src/KOKKOS/kokkos_type.h | 15 + src/KOKKOS/memory_kokkos.h | 250 ++++++------ src/KOKKOS/pair_adp_kokkos.cpp | 7 +- src/KOKKOS/pair_adp_kokkos.h | 5 +- src/KOKKOS/pair_eam_alloy_kokkos.cpp | 7 +- src/KOKKOS/pair_eam_alloy_kokkos.h | 5 +- src/KOKKOS/pair_eam_fs_kokkos.cpp | 7 +- src/KOKKOS/pair_eam_fs_kokkos.h | 5 +- src/KOKKOS/pair_eam_kokkos.cpp | 7 +- src/KOKKOS/pair_eam_kokkos.h | 5 +- src/KOKKOS/pair_meam_kokkos.cpp | 10 +- src/KOKKOS/pair_meam_kokkos.h | 10 +- src/KOKKOS/pair_multi_lucy_rx_kokkos.cpp | 5 +- src/KOKKOS/pair_multi_lucy_rx_kokkos.h | 5 +- 52 files changed, 1209 insertions(+), 1299 deletions(-) diff --git a/src/KOKKOS/atom_vec_angle_kokkos.cpp b/src/KOKKOS/atom_vec_angle_kokkos.cpp index 418c2d629d..dc8641a6b6 100644 --- a/src/KOKKOS/atom_vec_angle_kokkos.cpp +++ b/src/KOKKOS/atom_vec_angle_kokkos.cpp @@ -186,302 +186,13 @@ void AtomVecAngleKokkos::sort_kokkos(Kokkos::BinSort &Sorter /* ---------------------------------------------------------------------- */ -template -struct AtomVecAngleKokkos_PackComm { - typedef DeviceType device_type; - - typename ArrayTypes::t_x_array_randomread _x; - typename ArrayTypes::t_xfloat_2d_um _buf; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; - X_FLOAT _xprd,_yprd,_zprd,_xy,_xz,_yz; - X_FLOAT _pbc[6]; - - AtomVecAngleKokkos_PackComm( - const typename DAT::tdual_x_array &x, - const typename DAT::tdual_xfloat_2d &buf, - const typename DAT::tdual_int_2d &list, - const int & iswap, - const X_FLOAT &xprd, const X_FLOAT &yprd, const X_FLOAT &zprd, - const X_FLOAT &xy, const X_FLOAT &xz, const X_FLOAT &yz, const int* const pbc): - _x(x.view()),_list(list.view()),_iswap(iswap), - _xprd(xprd),_yprd(yprd),_zprd(zprd), - _xy(xy),_xz(xz),_yz(yz) { - const size_t maxsend = (buf.view().extent(0) - *buf.view().extent(1))/3; - const size_t elements = 3; - buffer_view(_buf,buf,maxsend,elements); - _pbc[0] = pbc[0]; _pbc[1] = pbc[1]; _pbc[2] = pbc[2]; - _pbc[3] = pbc[3]; _pbc[4] = pbc[4]; _pbc[5] = pbc[5]; - }; - - KOKKOS_INLINE_FUNCTION - void operator() (const int& i) const { - const int j = _list(_iswap,i); - if (PBC_FLAG == 0) { - _buf(i,0) = _x(j,0); - _buf(i,1) = _x(j,1); - _buf(i,2) = _x(j,2); - } else { - if (TRICLINIC == 0) { - _buf(i,0) = _x(j,0) + _pbc[0]*_xprd; - _buf(i,1) = _x(j,1) + _pbc[1]*_yprd; - _buf(i,2) = _x(j,2) + _pbc[2]*_zprd; - } else { - _buf(i,0) = _x(j,0) + _pbc[0]*_xprd + _pbc[5]*_xy + _pbc[4]*_xz; - _buf(i,1) = _x(j,1) + _pbc[1]*_yprd + _pbc[3]*_yz; - _buf(i,2) = _x(j,2) + _pbc[2]*_zprd; - } - } - } -}; - -/* ---------------------------------------------------------------------- */ - -int AtomVecAngleKokkos::pack_comm_kokkos(const int &n, - const DAT::tdual_int_2d &list, - const int & iswap, - const DAT::tdual_xfloat_2d &buf, - const int &pbc_flag, - const int* const pbc) -{ - // Check whether to always run forward communication on the host - // Choose correct forward PackComm kernel - - if (commKK->forward_comm_on_host) { - atomKK->sync(Host,X_MASK); - if (pbc_flag) { - if (domain->triclinic) { - struct AtomVecAngleKokkos_PackComm f(atomKK->k_x,buf,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecAngleKokkos_PackComm f(atomKK->k_x,buf,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } else { - if (domain->triclinic) { - struct AtomVecAngleKokkos_PackComm f(atomKK->k_x,buf,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecAngleKokkos_PackComm f(atomKK->k_x,buf,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } - } else { - atomKK->sync(Device,X_MASK); - if (pbc_flag) { - if (domain->triclinic) { - struct AtomVecAngleKokkos_PackComm f(atomKK->k_x,buf,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecAngleKokkos_PackComm f(atomKK->k_x,buf,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } else { - if (domain->triclinic) { - struct AtomVecAngleKokkos_PackComm f(atomKK->k_x,buf,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecAngleKokkos_PackComm f(atomKK->k_x,buf,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } - } - - return n*size_forward; -} - -/* ---------------------------------------------------------------------- */ - -template -struct AtomVecAngleKokkos_PackCommSelf { - typedef DeviceType device_type; - - typename ArrayTypes::t_x_array_randomread _x; - typename ArrayTypes::t_x_array _xw; - int _nfirst; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; - X_FLOAT _xprd,_yprd,_zprd,_xy,_xz,_yz; - X_FLOAT _pbc[6]; - - AtomVecAngleKokkos_PackCommSelf( - const typename DAT::tdual_x_array &x, - const int &nfirst, - const typename DAT::tdual_int_2d &list, - const int & iswap, - const X_FLOAT &xprd, const X_FLOAT &yprd, const X_FLOAT &zprd, - const X_FLOAT &xy, const X_FLOAT &xz, const X_FLOAT &yz, const int* const pbc): - _x(x.view()),_xw(x.view()),_nfirst(nfirst),_list(list.view()),_iswap(iswap), - _xprd(xprd),_yprd(yprd),_zprd(zprd), - _xy(xy),_xz(xz),_yz(yz) { - _pbc[0] = pbc[0]; _pbc[1] = pbc[1]; _pbc[2] = pbc[2]; - _pbc[3] = pbc[3]; _pbc[4] = pbc[4]; _pbc[5] = pbc[5]; - }; - - KOKKOS_INLINE_FUNCTION - void operator() (const int& i) const { - const int j = _list(_iswap,i); - if (PBC_FLAG == 0) { - _xw(i+_nfirst,0) = _x(j,0); - _xw(i+_nfirst,1) = _x(j,1); - _xw(i+_nfirst,2) = _x(j,2); - } else { - if (TRICLINIC == 0) { - _xw(i+_nfirst,0) = _x(j,0) + _pbc[0]*_xprd; - _xw(i+_nfirst,1) = _x(j,1) + _pbc[1]*_yprd; - _xw(i+_nfirst,2) = _x(j,2) + _pbc[2]*_zprd; - } else { - _xw(i+_nfirst,0) = _x(j,0) + _pbc[0]*_xprd + _pbc[5]*_xy + _pbc[4]*_xz; - _xw(i+_nfirst,1) = _x(j,1) + _pbc[1]*_yprd + _pbc[3]*_yz; - _xw(i+_nfirst,2) = _x(j,2) + _pbc[2]*_zprd; - } - } - - } -}; - -/* ---------------------------------------------------------------------- */ - -int AtomVecAngleKokkos::pack_comm_self(const int &n, const DAT::tdual_int_2d &list, - const int & iswap, - const int nfirst, const int &pbc_flag, - const int* const pbc) { - if (commKK->forward_comm_on_host) { - atomKK->sync(Host,X_MASK); - atomKK->modified(Host,X_MASK); - if (pbc_flag) { - if (domain->triclinic) { - struct AtomVecAngleKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecAngleKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } else { - if (domain->triclinic) { - struct AtomVecAngleKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecAngleKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } - } else { - atomKK->sync(Device,X_MASK); - atomKK->modified(Device,X_MASK); - if (pbc_flag) { - if (domain->triclinic) { - struct AtomVecAngleKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecAngleKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } else { - if (domain->triclinic) { - struct AtomVecAngleKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecAngleKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap, - domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } - } - return n*3; -} - -/* ---------------------------------------------------------------------- */ - -template -struct AtomVecAngleKokkos_UnpackComm { - typedef DeviceType device_type; - - typename ArrayTypes::t_x_array _x; - typename ArrayTypes::t_xfloat_2d_const _buf; - int _first; - - AtomVecAngleKokkos_UnpackComm( - const typename DAT::tdual_x_array &x, - const typename DAT::tdual_xfloat_2d &buf, - const int& first):_x(x.view()),_buf(buf.view()), - _first(first) {}; - - KOKKOS_INLINE_FUNCTION - void operator() (const int& i) const { - _x(i+_first,0) = _buf(i,0); - _x(i+_first,1) = _buf(i,1); - _x(i+_first,2) = _buf(i,2); - } -}; - -/* ---------------------------------------------------------------------- */ - -void AtomVecAngleKokkos::unpack_comm_kokkos(const int &n, const int &first, - const DAT::tdual_xfloat_2d &buf) { - if (commKK->forward_comm_on_host) { - atomKK->sync(Host,X_MASK); - atomKK->modified(Host,X_MASK); - struct AtomVecAngleKokkos_UnpackComm f(atomKK->k_x,buf,first); - Kokkos::parallel_for(n,f); - } else { - atomKK->sync(Device,X_MASK); - atomKK->modified(Device,X_MASK); - struct AtomVecAngleKokkos_UnpackComm f(atomKK->k_x,buf,first); - Kokkos::parallel_for(n,f); - } -} - -/* ---------------------------------------------------------------------- */ - template struct AtomVecAngleKokkos_PackBorder { typedef DeviceType device_type; typedef ArrayTypes AT; typename AT::t_xfloat_2d _buf; - const typename AT::t_int_2d_const _list; - const int _iswap; + const typename AT::t_int_1d_const _list; const typename AT::t_x_array_randomread _x; const typename AT::t_tagint_1d _tag; const typename AT::t_int_1d _type; @@ -491,21 +202,20 @@ struct AtomVecAngleKokkos_PackBorder { AtomVecAngleKokkos_PackBorder( const typename AT::t_xfloat_2d &buf, - const typename AT::t_int_2d_const &list, - const int & iswap, + const typename AT::t_int_1d_const &list, const typename AT::t_x_array &x, const typename AT::t_tagint_1d &tag, const typename AT::t_int_1d &type, const typename AT::t_int_1d &mask, const typename AT::t_tagint_1d &molecule, const X_FLOAT &dx, const X_FLOAT &dy, const X_FLOAT &dz): - _buf(buf),_list(list),_iswap(iswap), + _buf(buf),_list(list), _x(x),_tag(tag),_type(type),_mask(mask),_molecule(molecule), _dx(dx),_dy(dy),_dz(dz) {} KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -528,8 +238,8 @@ struct AtomVecAngleKokkos_PackBorder { /* ---------------------------------------------------------------------- */ -int AtomVecAngleKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, +int AtomVecAngleKokkos::pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) { X_FLOAT dx,dy,dz; @@ -547,12 +257,12 @@ int AtomVecAngleKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, if (space==Host) { AtomVecAngleKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,h_molecule,dx,dy,dz); + h_x,h_tag,h_type,h_mask,h_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecAngleKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,d_molecule,dx,dy,dz); + d_x,d_tag,d_type,d_mask,d_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } @@ -561,12 +271,12 @@ int AtomVecAngleKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, if (space==Host) { AtomVecAngleKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,h_molecule,dx,dy,dz); + h_x,h_tag,h_type,h_mask,h_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecAngleKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,d_molecule,dx,dy,dz); + d_x,d_tag,d_type,d_mask,d_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } } diff --git a/src/KOKKOS/atom_vec_angle_kokkos.h b/src/KOKKOS/atom_vec_angle_kokkos.h index 44f1d824b2..157e8b45cc 100644 --- a/src/KOKKOS/atom_vec_angle_kokkos.h +++ b/src/KOKKOS/atom_vec_angle_kokkos.h @@ -35,17 +35,8 @@ class AtomVecAngleKokkos : public AtomVecKokkos, public AtomVecAngle { void grow(int) override; void grow_pointers() override; void sort_kokkos(Kokkos::BinSort &Sorter) override; - int pack_comm_kokkos(const int &n, const DAT::tdual_int_2d &k_sendlist, - const int & iswap, - const DAT::tdual_xfloat_2d &buf, - const int &pbc_flag, const int pbc[]) override; - void unpack_comm_kokkos(const int &n, const int &nfirst, - const DAT::tdual_xfloat_2d &buf) override; - int pack_comm_self(const int &n, const DAT::tdual_int_2d &list, - const int & iswap, const int nfirst, - const int &pbc_flag, const int pbc[]) override; - int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, + int pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) override; void unpack_border_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf, diff --git a/src/KOKKOS/atom_vec_atomic_kokkos.cpp b/src/KOKKOS/atom_vec_atomic_kokkos.cpp index 973ad2f7f2..48d2bf4b92 100644 --- a/src/KOKKOS/atom_vec_atomic_kokkos.cpp +++ b/src/KOKKOS/atom_vec_atomic_kokkos.cpp @@ -125,8 +125,7 @@ struct AtomVecAtomicKokkos_PackBorder { typedef DeviceType device_type; typename ArrayTypes::t_xfloat_2d _buf; - const typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + const typename ArrayTypes::t_int_1d_const _list; const typename ArrayTypes::t_x_array_randomread _x; const typename ArrayTypes::t_tagint_1d _tag; const typename ArrayTypes::t_int_1d _type; @@ -135,20 +134,19 @@ struct AtomVecAtomicKokkos_PackBorder { AtomVecAtomicKokkos_PackBorder( const typename ArrayTypes::t_xfloat_2d &buf, - const typename ArrayTypes::t_int_2d_const &list, - const int &iswap, + const typename ArrayTypes::t_int_1d_const &list, const typename ArrayTypes::t_x_array &x, const typename ArrayTypes::t_tagint_1d &tag, const typename ArrayTypes::t_int_1d &type, const typename ArrayTypes::t_int_1d &mask, const X_FLOAT &dx, const X_FLOAT &dy, const X_FLOAT &dz): - _buf(buf),_list(list),_iswap(iswap), + _buf(buf),_list(list), _x(x),_tag(tag),_type(type),_mask(mask), _dx(dx),_dy(dy),_dz(dz) {} KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -169,7 +167,7 @@ struct AtomVecAtomicKokkos_PackBorder { /* ---------------------------------------------------------------------- */ -int AtomVecAtomicKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, DAT::tdual_xfloat_2d buf,int iswap, +int AtomVecAtomicKokkos::pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) { X_FLOAT dx,dy,dz; @@ -187,12 +185,12 @@ int AtomVecAtomicKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, if (space==Host) { AtomVecAtomicKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,dx,dy,dz); + h_x,h_tag,h_type,h_mask,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecAtomicKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,dx,dy,dz); + d_x,d_tag,d_type,d_mask,dx,dy,dz); Kokkos::parallel_for(n,f); } @@ -201,12 +199,12 @@ int AtomVecAtomicKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, if (space==Host) { AtomVecAtomicKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,dx,dy,dz); + h_x,h_tag,h_type,h_mask,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecAtomicKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,dx,dy,dz); + d_x,d_tag,d_type,d_mask,dx,dy,dz); Kokkos::parallel_for(n,f); } } diff --git a/src/KOKKOS/atom_vec_atomic_kokkos.h b/src/KOKKOS/atom_vec_atomic_kokkos.h index 07631dda98..457b5b61a9 100644 --- a/src/KOKKOS/atom_vec_atomic_kokkos.h +++ b/src/KOKKOS/atom_vec_atomic_kokkos.h @@ -36,8 +36,8 @@ class AtomVecAtomicKokkos : public AtomVecKokkos, public AtomVecAtomic { void grow(int) override; void grow_pointers() override; void sort_kokkos(Kokkos::BinSort &Sorter) override; - int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, + int pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) override; void unpack_border_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf, diff --git a/src/KOKKOS/atom_vec_bond_kokkos.cpp b/src/KOKKOS/atom_vec_bond_kokkos.cpp index a4fd9ca1b5..da7f7fb383 100644 --- a/src/KOKKOS/atom_vec_bond_kokkos.cpp +++ b/src/KOKKOS/atom_vec_bond_kokkos.cpp @@ -158,8 +158,7 @@ struct AtomVecBondKokkos_PackBorder { typedef ArrayTypes AT; typename AT::t_xfloat_2d _buf; - const typename AT::t_int_2d_const _list; - const int _iswap; + const typename AT::t_int_1d_const _list; const typename AT::t_x_array_randomread _x; const typename AT::t_tagint_1d _tag; const typename AT::t_int_1d _type; @@ -169,21 +168,20 @@ struct AtomVecBondKokkos_PackBorder { AtomVecBondKokkos_PackBorder( const typename AT::t_xfloat_2d &buf, - const typename AT::t_int_2d_const &list, - const int & iswap, + const typename AT::t_int_1d_const &list, const typename AT::t_x_array &x, const typename AT::t_tagint_1d &tag, const typename AT::t_int_1d &type, const typename AT::t_int_1d &mask, const typename AT::t_tagint_1d &molecule, const X_FLOAT &dx, const X_FLOAT &dy, const X_FLOAT &dz): - _buf(buf),_list(list),_iswap(iswap), + _buf(buf),_list(list), _x(x),_tag(tag),_type(type),_mask(mask),_molecule(molecule), _dx(dx),_dy(dy),_dz(dz) {} KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -206,8 +204,8 @@ struct AtomVecBondKokkos_PackBorder { /* ---------------------------------------------------------------------- */ -int AtomVecBondKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, +int AtomVecBondKokkos::pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) { X_FLOAT dx,dy,dz; @@ -225,12 +223,12 @@ int AtomVecBondKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, if (space==Host) { AtomVecBondKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,h_molecule,dx,dy,dz); + h_x,h_tag,h_type,h_mask,h_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecBondKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,d_molecule,dx,dy,dz); + d_x,d_tag,d_type,d_mask,d_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } @@ -239,12 +237,12 @@ int AtomVecBondKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, if (space==Host) { AtomVecBondKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,h_molecule,dx,dy,dz); + h_x,h_tag,h_type,h_mask,h_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecBondKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,d_molecule,dx,dy,dz); + d_x,d_tag,d_type,d_mask,d_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } } diff --git a/src/KOKKOS/atom_vec_bond_kokkos.h b/src/KOKKOS/atom_vec_bond_kokkos.h index 5ed59432de..cad1ea86d7 100644 --- a/src/KOKKOS/atom_vec_bond_kokkos.h +++ b/src/KOKKOS/atom_vec_bond_kokkos.h @@ -35,8 +35,8 @@ class AtomVecBondKokkos : public AtomVecKokkos, public AtomVecBond { void grow(int) override; void grow_pointers() override; void sort_kokkos(Kokkos::BinSort &Sorter) override; - int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, + int pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) override; void unpack_border_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf, diff --git a/src/KOKKOS/atom_vec_charge_kokkos.cpp b/src/KOKKOS/atom_vec_charge_kokkos.cpp index 4fa814f1ac..588564de6a 100644 --- a/src/KOKKOS/atom_vec_charge_kokkos.cpp +++ b/src/KOKKOS/atom_vec_charge_kokkos.cpp @@ -134,19 +134,17 @@ struct AtomVecChargeKokkos_PackComm { typename AT::t_x_array_randomread _x; typename AT::t_xfloat_2d_um _buf; - typename AT::t_int_2d_const _list; - const int _iswap; + typename AT::t_int_1d_const _list; X_FLOAT _xprd,_yprd,_zprd,_xy,_xz,_yz; X_FLOAT _pbc[6]; AtomVecChargeKokkos_PackComm( const typename DAT::tdual_x_array &x, const typename DAT::tdual_xfloat_2d &buf, - const typename DAT::tdual_int_2d &list, - const int & iswap, + const typename DAT::tdual_int_1d &list, const X_FLOAT &xprd, const X_FLOAT &yprd, const X_FLOAT &zprd, const X_FLOAT &xy, const X_FLOAT &xz, const X_FLOAT &yz, const int* const pbc): - _x(x.view()),_list(list.view()),_iswap(iswap), + _x(x.view()),_list(list.view()), _xprd(xprd),_yprd(yprd),_zprd(zprd), _xy(xy),_xz(xz),_yz(yz) { const size_t maxsend = (buf.view().extent(0)*buf.view().extent(1))/3; @@ -158,7 +156,7 @@ struct AtomVecChargeKokkos_PackComm { KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -185,8 +183,7 @@ struct AtomVecChargeKokkos_PackBorder { typedef ArrayTypes AT; typename AT::t_xfloat_2d _buf; - const typename AT::t_int_2d_const _list; - const int _iswap; + const typename AT::t_int_1d_const _list; const typename AT::t_x_array_randomread _x; const typename AT::t_tagint_1d _tag; const typename AT::t_int_1d _type; @@ -196,21 +193,20 @@ struct AtomVecChargeKokkos_PackBorder { AtomVecChargeKokkos_PackBorder( const typename AT::t_xfloat_2d &buf, - const typename AT::t_int_2d_const &list, - const int & iswap, + const typename AT::t_int_1d_const &list, const typename AT::t_x_array &x, const typename AT::t_tagint_1d &tag, const typename AT::t_int_1d &type, const typename AT::t_int_1d &mask, const typename AT::t_float_1d &q, const X_FLOAT &dx, const X_FLOAT &dy, const X_FLOAT &dz): - _buf(buf),_list(list),_iswap(iswap), + _buf(buf),_list(list), _x(x),_tag(tag),_type(type),_mask(mask),_q(q), _dx(dx),_dy(dy),_dz(dz) {} KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -233,7 +229,7 @@ struct AtomVecChargeKokkos_PackBorder { /* ---------------------------------------------------------------------- */ -int AtomVecChargeKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, DAT::tdual_xfloat_2d buf,int iswap, +int AtomVecChargeKokkos::pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) { X_FLOAT dx,dy,dz; @@ -251,12 +247,12 @@ int AtomVecChargeKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, if (space==Host) { AtomVecChargeKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,h_q,dx,dy,dz); + h_x,h_tag,h_type,h_mask,h_q,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecChargeKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,d_q,dx,dy,dz); + d_x,d_tag,d_type,d_mask,d_q,dx,dy,dz); Kokkos::parallel_for(n,f); } @@ -265,12 +261,12 @@ int AtomVecChargeKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, if (space==Host) { AtomVecChargeKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,h_q,dx,dy,dz); + h_x,h_tag,h_type,h_mask,h_q,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecChargeKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,d_q,dx,dy,dz); + d_x,d_tag,d_type,d_mask,d_q,dx,dy,dz); Kokkos::parallel_for(n,f); } } diff --git a/src/KOKKOS/atom_vec_charge_kokkos.h b/src/KOKKOS/atom_vec_charge_kokkos.h index 397a5ee4c0..1d1c68735e 100644 --- a/src/KOKKOS/atom_vec_charge_kokkos.h +++ b/src/KOKKOS/atom_vec_charge_kokkos.h @@ -36,8 +36,8 @@ class AtomVecChargeKokkos : public AtomVecKokkos, public AtomVecCharge { void grow(int) override; void grow_pointers() override; void sort_kokkos(Kokkos::BinSort &Sorter) override; - int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, + int pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) override; void unpack_border_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf, diff --git a/src/KOKKOS/atom_vec_dipole_kokkos.cpp b/src/KOKKOS/atom_vec_dipole_kokkos.cpp index ecc0f3b497..28ecb24672 100644 --- a/src/KOKKOS/atom_vec_dipole_kokkos.cpp +++ b/src/KOKKOS/atom_vec_dipole_kokkos.cpp @@ -136,8 +136,7 @@ struct AtomVecDipoleKokkos_PackComm { typename ArrayTypes::t_x_array_randomread _x; typename ArrayTypes::t_mu_array_randomread _mu; typename ArrayTypes::t_xfloat_2d_um _buf; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + typename ArrayTypes::t_int_1d_const _list; X_FLOAT _xprd,_yprd,_zprd,_xy,_xz,_yz; X_FLOAT _pbc[6]; @@ -145,13 +144,12 @@ struct AtomVecDipoleKokkos_PackComm { const typename DAT::tdual_x_array &x, const typename DAT::tdual_float_1d_4 &mu, const typename DAT::tdual_xfloat_2d &buf, - const typename DAT::tdual_int_2d &list, - const int & iswap, + const typename DAT::tdual_int_1d &list, const X_FLOAT &xprd, const X_FLOAT &yprd, const X_FLOAT &zprd, const X_FLOAT &xy, const X_FLOAT &xz, const X_FLOAT &yz, const int* const pbc): _x(x.view()), _mu(mu.view()), - _list(list.view()),_iswap(iswap), + _list(list.view()), _xprd(xprd),_yprd(yprd),_zprd(zprd), _xy(xy),_xz(xz),_yz(yz) { const size_t elements = 7; // size_forward @@ -163,7 +161,7 @@ struct AtomVecDipoleKokkos_PackComm { KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -201,8 +199,7 @@ struct AtomVecDipoleKokkos_PackBorder { typedef DeviceType device_type; typename ArrayTypes::t_xfloat_2d _buf; - const typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + const typename ArrayTypes::t_int_1d_const _list; const typename ArrayTypes::t_x_array_randomread _x; const typename ArrayTypes::t_tagint_1d _tag; const typename ArrayTypes::t_int_1d _type; @@ -213,8 +210,7 @@ struct AtomVecDipoleKokkos_PackBorder { AtomVecDipoleKokkos_PackBorder( const typename ArrayTypes::t_xfloat_2d &buf, - const typename ArrayTypes::t_int_2d_const &list, - const int & iswap, + const typename ArrayTypes::t_int_1d_const &list, const typename ArrayTypes::t_x_array &x, const typename ArrayTypes::t_tagint_1d &tag, const typename ArrayTypes::t_int_1d &type, @@ -222,13 +218,12 @@ struct AtomVecDipoleKokkos_PackBorder { const typename ArrayTypes::t_float_1d &q, const typename ArrayTypes::t_mu_array_randomread &mu, const X_FLOAT &dx, const X_FLOAT &dy, const X_FLOAT &dz): - _buf(buf),_list(list),_iswap(iswap), _x(x),_tag(tag),_type(type),_mask(mask),_q(q),_mu(mu), _dx(dx),_dy(dy),_dz(dz) {} KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -259,7 +254,7 @@ struct AtomVecDipoleKokkos_PackBorder { /* ---------------------------------------------------------------------- */ -int AtomVecDipoleKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, DAT::tdual_xfloat_2d buf,int iswap, +int AtomVecDipoleKokkos::pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) { X_FLOAT dx,dy,dz; @@ -277,12 +272,12 @@ int AtomVecDipoleKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, if (space==Host) { AtomVecDipoleKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,h_q,h_mu,dx,dy,dz); + h_x,h_tag,h_type,h_mask,h_q,h_mu,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecDipoleKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,d_q,d_mu,dx,dy,dz); + d_x,d_tag,d_type,d_mask,d_q,d_mu,dx,dy,dz); Kokkos::parallel_for(n,f); } @@ -291,12 +286,12 @@ int AtomVecDipoleKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, if (space==Host) { AtomVecDipoleKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,h_q,h_mu,dx,dy,dz); + h_x,h_tag,h_type,h_mask,h_q,h_mu,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecDipoleKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,d_q,d_mu,dx,dy,dz); + d_x,d_tag,d_type,d_mask,d_q,d_mu,dx,dy,dz); Kokkos::parallel_for(n,f); } } diff --git a/src/KOKKOS/atom_vec_dipole_kokkos.h b/src/KOKKOS/atom_vec_dipole_kokkos.h index 97ec92c6c6..46e102936a 100644 --- a/src/KOKKOS/atom_vec_dipole_kokkos.h +++ b/src/KOKKOS/atom_vec_dipole_kokkos.h @@ -36,8 +36,8 @@ class AtomVecDipoleKokkos : public AtomVecKokkos, public AtomVecDipole { void grow(int) override; void grow_pointers() override; void sort_kokkos(Kokkos::BinSort &Sorter) override; - int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, + int pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) override; void unpack_border_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf, diff --git a/src/KOKKOS/atom_vec_dpd_kokkos.cpp b/src/KOKKOS/atom_vec_dpd_kokkos.cpp index 70aedcc931..6152fa60fb 100644 --- a/src/KOKKOS/atom_vec_dpd_kokkos.cpp +++ b/src/KOKKOS/atom_vec_dpd_kokkos.cpp @@ -20,6 +20,7 @@ #include "domain.h" #include "error.h" #include "fix.h" +#include "kokkos.h" #include "memory_kokkos.h" #include "modify.h" @@ -168,8 +169,7 @@ struct AtomVecDPDKokkos_PackComm { typename ArrayTypes::t_x_array_randomread _x; typename ArrayTypes::t_efloat_1d _dpdTheta,_uCond,_uMech,_uChem; typename ArrayTypes::t_xfloat_2d_um _buf; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + typename ArrayTypes::t_int_1d_const _list; X_FLOAT _xprd,_yprd,_zprd,_xy,_xz,_yz; X_FLOAT _pbc[6]; @@ -180,8 +180,7 @@ struct AtomVecDPDKokkos_PackComm { const typename DAT::tdual_efloat_1d &uMech, const typename DAT::tdual_efloat_1d &uChem, const typename DAT::tdual_xfloat_2d &buf, - const typename DAT::tdual_int_2d &list, - const int & iswap, + const typename DAT::tdual_int_1d &list, const X_FLOAT &xprd, const X_FLOAT &yprd, const X_FLOAT &zprd, const X_FLOAT &xy, const X_FLOAT &xz, const X_FLOAT &yz, const int* const pbc): _x(x.view()), @@ -189,7 +188,7 @@ struct AtomVecDPDKokkos_PackComm { _uCond(uCond.view()), _uMech(uMech.view()), _uChem(uChem.view()), - _list(list.view()),_iswap(iswap), + _list(list.view()), _xprd(xprd),_yprd(yprd),_zprd(zprd), _xy(xy),_xz(xz),_yz(yz) { const size_t maxsend = (buf.view().extent(0)*buf.view().extent(1))/3; @@ -201,7 +200,7 @@ struct AtomVecDPDKokkos_PackComm { KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -227,8 +226,7 @@ struct AtomVecDPDKokkos_PackComm { /* ---------------------------------------------------------------------- */ int AtomVecDPDKokkos::pack_comm_kokkos(const int &n, - const DAT::tdual_int_2d &list, - const int & iswap, + const DAT::tdual_int_1d &list, const DAT::tdual_xfloat_2d &buf, const int &pbc_flag, const int* const pbc) @@ -236,20 +234,20 @@ int AtomVecDPDKokkos::pack_comm_kokkos(const int &n, // Check whether to always run forward communication on the host // Choose correct forward PackComm kernel - if (commKK->forward_comm_on_host) { + if (lmp->kokkos->forward_comm_on_host) { atomKK->sync(Host,X_MASK|DPDTHETA_MASK|UCOND_MASK|UMECH_MASK|UCHEM_MASK); if (pbc_flag) { if (domain->triclinic) { struct AtomVecDPDKokkos_PackComm f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); } else { struct AtomVecDPDKokkos_PackComm f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -258,14 +256,14 @@ int AtomVecDPDKokkos::pack_comm_kokkos(const int &n, if (domain->triclinic) { struct AtomVecDPDKokkos_PackComm f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); } else { struct AtomVecDPDKokkos_PackComm f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -277,14 +275,14 @@ int AtomVecDPDKokkos::pack_comm_kokkos(const int &n, if (domain->triclinic) { struct AtomVecDPDKokkos_PackComm f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); } else { struct AtomVecDPDKokkos_PackComm f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -293,14 +291,14 @@ int AtomVecDPDKokkos::pack_comm_kokkos(const int &n, if (domain->triclinic) { struct AtomVecDPDKokkos_PackComm f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); } else { struct AtomVecDPDKokkos_PackComm f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -321,8 +319,7 @@ struct AtomVecDPDKokkos_PackCommSelf { typename ArrayTypes::t_x_array _xw; typename ArrayTypes::t_efloat_1d _dpdTheta,_uCond,_uMech,_uChem; int _nfirst; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + typename ArrayTypes::t_int_1d_const _list; X_FLOAT _xprd,_yprd,_zprd,_xy,_xz,_yz; X_FLOAT _pbc[6]; @@ -333,8 +330,7 @@ struct AtomVecDPDKokkos_PackCommSelf { const typename DAT::tdual_efloat_1d &uMech, const typename DAT::tdual_efloat_1d &uChem, const int &nfirst, - const typename DAT::tdual_int_2d &list, - const int & iswap, + const typename DAT::tdual_int_1d &list, const X_FLOAT &xprd, const X_FLOAT &yprd, const X_FLOAT &zprd, const X_FLOAT &xy, const X_FLOAT &xz, const X_FLOAT &yz, const int* const pbc): _x(x.view()),_xw(x.view()), @@ -342,7 +338,7 @@ struct AtomVecDPDKokkos_PackCommSelf { _uCond(uCond.view()), _uMech(uMech.view()), _uChem(uChem.view()), - _nfirst(nfirst),_list(list.view()),_iswap(iswap), + _nfirst(nfirst),_list(list.view()), _xprd(xprd),_yprd(yprd),_zprd(zprd), _xy(xy),_xz(xz),_yz(yz) { _pbc[0] = pbc[0]; _pbc[1] = pbc[1]; _pbc[2] = pbc[2]; @@ -351,7 +347,7 @@ struct AtomVecDPDKokkos_PackCommSelf { KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _xw(i+_nfirst,0) = _x(j,0); _xw(i+_nfirst,1) = _x(j,1); @@ -376,23 +372,23 @@ struct AtomVecDPDKokkos_PackCommSelf { /* ---------------------------------------------------------------------- */ -int AtomVecDPDKokkos::pack_comm_self(const int &n, const DAT::tdual_int_2d &list, const int & iswap, +int AtomVecDPDKokkos::pack_comm_self(const int &n, const DAT::tdual_int_1d &list, const int nfirst, const int &pbc_flag, const int* const pbc) { - if (commKK->forward_comm_on_host) { + if (lmp->kokkos->forward_comm_on_host) { atomKK->sync(Host,X_MASK|DPDTHETA_MASK|UCOND_MASK|UMECH_MASK|UCHEM_MASK); atomKK->modified(Host,X_MASK|DPDTHETA_MASK|UCOND_MASK|UMECH_MASK|UCHEM_MASK); if (pbc_flag) { if (domain->triclinic) { struct AtomVecDPDKokkos_PackCommSelf f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); } else { struct AtomVecDPDKokkos_PackCommSelf f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -401,14 +397,14 @@ int AtomVecDPDKokkos::pack_comm_self(const int &n, const DAT::tdual_int_2d &list if (domain->triclinic) { struct AtomVecDPDKokkos_PackCommSelf f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); } else { struct AtomVecDPDKokkos_PackCommSelf f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -421,14 +417,14 @@ int AtomVecDPDKokkos::pack_comm_self(const int &n, const DAT::tdual_int_2d &list if (domain->triclinic) { struct AtomVecDPDKokkos_PackCommSelf f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); } else { struct AtomVecDPDKokkos_PackCommSelf f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -437,14 +433,14 @@ int AtomVecDPDKokkos::pack_comm_self(const int &n, const DAT::tdual_int_2d &list if (domain->triclinic) { struct AtomVecDPDKokkos_PackCommSelf f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); } else { struct AtomVecDPDKokkos_PackCommSelf f(atomKK->k_x, atomKK->k_dpdTheta,atomKK->k_uCond,atomKK->k_uMech,atomKK->k_uChem, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -496,7 +492,7 @@ struct AtomVecDPDKokkos_UnpackComm { void AtomVecDPDKokkos::unpack_comm_kokkos(const int &n, const int &first, const DAT::tdual_xfloat_2d &buf) { - if (commKK->forward_comm_on_host) { + if (lmp->kokkos->forward_comm_on_host) { atomKK->sync(Host,X_MASK|DPDTHETA_MASK|UCOND_MASK|UMECH_MASK|UCHEM_MASK); atomKK->modified(Host,X_MASK|DPDTHETA_MASK|UCOND_MASK|UMECH_MASK|UCHEM_MASK); struct AtomVecDPDKokkos_UnpackComm f(atomKK->k_x, @@ -520,8 +516,7 @@ struct AtomVecDPDKokkos_PackBorder { typedef DeviceType device_type; typename ArrayTypes::t_xfloat_2d _buf; - const typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + const typename ArrayTypes::t_int_1d_const _list; const typename ArrayTypes::t_x_array_randomread _x; const typename ArrayTypes::t_tagint_1d _tag; const typename ArrayTypes::t_int_1d _type; @@ -531,8 +526,7 @@ struct AtomVecDPDKokkos_PackBorder { AtomVecDPDKokkos_PackBorder( const typename ArrayTypes::t_xfloat_2d &buf, - const typename ArrayTypes::t_int_2d_const &list, - const int & iswap, + const typename ArrayTypes::t_int_1d_const &list, const typename ArrayTypes::t_x_array &x, const typename ArrayTypes::t_tagint_1d &tag, const typename ArrayTypes::t_int_1d &type, @@ -544,7 +538,7 @@ struct AtomVecDPDKokkos_PackBorder { const typename ArrayTypes::t_efloat_1d &uCG, const typename ArrayTypes::t_efloat_1d &uCGnew, const X_FLOAT &dx, const X_FLOAT &dy, const X_FLOAT &dz): - _buf(buf),_list(list),_iswap(iswap), + _buf(buf),_list(list), _x(x),_tag(tag),_type(type),_mask(mask), _dpdTheta(dpdTheta), _uCond(uCond), @@ -556,7 +550,7 @@ struct AtomVecDPDKokkos_PackBorder { KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -580,7 +574,7 @@ struct AtomVecDPDKokkos_PackBorder { /* ---------------------------------------------------------------------- */ -int AtomVecDPDKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, DAT::tdual_xfloat_2d buf,int iswap, +int AtomVecDPDKokkos::pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) { X_FLOAT dx,dy,dz; @@ -600,14 +594,14 @@ int AtomVecDPDKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, DA if (space==Host) { AtomVecDPDKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask, + h_x,h_tag,h_type,h_mask, h_dpdTheta,h_uCond,h_uMech,h_uChem,h_uCG,h_uCGnew, dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecDPDKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask, + d_x,d_tag,d_type,d_mask, d_dpdTheta,d_uCond,d_uMech,d_uChem,d_uCG,d_uCGnew, dx,dy,dz); Kokkos::parallel_for(n,f); @@ -618,14 +612,14 @@ int AtomVecDPDKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, DA if (space==Host) { AtomVecDPDKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask, + h_x,h_tag,h_type,h_mask, h_dpdTheta,h_uCond,h_uMech,h_uChem,h_uCG,h_uCGnew, dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecDPDKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask, + d_x,d_tag,d_type,d_mask, d_dpdTheta,d_uCond,d_uMech,d_uChem,d_uCG,d_uCGnew, dx,dy,dz); Kokkos::parallel_for(n,f); diff --git a/src/KOKKOS/atom_vec_dpd_kokkos.h b/src/KOKKOS/atom_vec_dpd_kokkos.h index a76d7f908a..185422cfcf 100644 --- a/src/KOKKOS/atom_vec_dpd_kokkos.h +++ b/src/KOKKOS/atom_vec_dpd_kokkos.h @@ -36,17 +36,16 @@ class AtomVecDPDKokkos : public AtomVecKokkos, public AtomVecDPD { void grow(int) override; void grow_pointers() override; void sort_kokkos(Kokkos::BinSort &Sorter) override; - int pack_comm_kokkos(const int &n, const DAT::tdual_int_2d &k_sendlist, - const int & iswap, + int pack_comm_kokkos(const int &n, const DAT::tdual_int_1d &k_sendlist, const DAT::tdual_xfloat_2d &buf, const int &pbc_flag, const int pbc[]) override; void unpack_comm_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf) override; - int pack_comm_self(const int &n, const DAT::tdual_int_2d &list, - const int & iswap, const int nfirst, + int pack_comm_self(const int &n, const DAT::tdual_int_1d &list, + const int nfirst, const int &pbc_flag, const int pbc[]) override; - int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, + int pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) override; void unpack_border_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf, diff --git a/src/KOKKOS/atom_vec_full_kokkos.cpp b/src/KOKKOS/atom_vec_full_kokkos.cpp index 732078a627..82404d4001 100644 --- a/src/KOKKOS/atom_vec_full_kokkos.cpp +++ b/src/KOKKOS/atom_vec_full_kokkos.cpp @@ -275,8 +275,7 @@ struct AtomVecFullKokkos_PackBorder { typedef ArrayTypes AT; typename AT::t_xfloat_2d _buf; - const typename AT::t_int_2d_const _list; - const int _iswap; + const typename AT::t_int_1d_const _list; const typename AT::t_x_array_randomread _x; const typename AT::t_tagint_1d _tag; const typename AT::t_int_1d _type; @@ -287,8 +286,7 @@ struct AtomVecFullKokkos_PackBorder { AtomVecFullKokkos_PackBorder( const typename AT::t_xfloat_2d &buf, - const typename AT::t_int_2d_const &list, - const int & iswap, + const typename AT::t_int_1d_const &list, const typename AT::t_x_array &x, const typename AT::t_tagint_1d &tag, const typename AT::t_int_1d &type, @@ -296,13 +294,13 @@ struct AtomVecFullKokkos_PackBorder { const typename AT::t_float_1d &q, const typename AT::t_tagint_1d &molecule, const X_FLOAT &dx, const X_FLOAT &dy, const X_FLOAT &dz): - _buf(buf),_list(list),_iswap(iswap), + _buf(buf),_list(list), _x(x),_tag(tag),_type(type),_mask(mask),_q(q),_molecule(molecule), _dx(dx),_dy(dy),_dz(dz) {} KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -327,8 +325,8 @@ struct AtomVecFullKokkos_PackBorder { /* ---------------------------------------------------------------------- */ -int AtomVecFullKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, +int AtomVecFullKokkos::pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) { X_FLOAT dx,dy,dz; @@ -346,12 +344,12 @@ int AtomVecFullKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, if (space==Host) { AtomVecFullKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,h_q,h_molecule,dx,dy,dz); + h_x,h_tag,h_type,h_mask,h_q,h_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecFullKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,d_q,d_molecule,dx,dy,dz); + d_x,d_tag,d_type,d_mask,d_q,d_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } @@ -360,12 +358,12 @@ int AtomVecFullKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, if (space==Host) { AtomVecFullKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,h_q,h_molecule,dx,dy,dz); + h_x,h_tag,h_type,h_mask,h_q,h_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecFullKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,d_q,d_molecule,dx,dy,dz); + d_x,d_tag,d_type,d_mask,d_q,d_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } } diff --git a/src/KOKKOS/atom_vec_full_kokkos.h b/src/KOKKOS/atom_vec_full_kokkos.h index 4937ef4152..9eea48ef95 100644 --- a/src/KOKKOS/atom_vec_full_kokkos.h +++ b/src/KOKKOS/atom_vec_full_kokkos.h @@ -35,8 +35,8 @@ class AtomVecFullKokkos : public AtomVecKokkos, public AtomVecFull { void grow(int) override; void grow_pointers() override; void sort_kokkos(Kokkos::BinSort &Sorter) override; - int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, + int pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) override; void unpack_border_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf, diff --git a/src/KOKKOS/atom_vec_hybrid_kokkos.cpp b/src/KOKKOS/atom_vec_hybrid_kokkos.cpp index 08bcaaef74..b1fc0c8688 100644 --- a/src/KOKKOS/atom_vec_hybrid_kokkos.cpp +++ b/src/KOKKOS/atom_vec_hybrid_kokkos.cpp @@ -63,8 +63,7 @@ void AtomVecHybridKokkos::sort_kokkos(Kokkos::BinSort &Sorte /* ---------------------------------------------------------------------- */ -int AtomVecHybridKokkos::pack_comm_kokkos(const int &/*n*/, const DAT::tdual_int_2d &/*k_sendlist*/, - const int & /*iswap*/, +int AtomVecHybridKokkos::pack_comm_kokkos(const int &/*n*/, const DAT::tdual_int_1d &/*k_sendlist*/, const DAT::tdual_xfloat_2d &/*buf*/, const int &/*pbc_flag*/, const int /*pbc*/[]) { @@ -78,16 +77,16 @@ void AtomVecHybridKokkos::unpack_comm_kokkos(const int &/*n*/, const int &/*nfir error->all(FLERR,"AtomVecHybridKokkos doesn't yet support threaded comm"); } -int AtomVecHybridKokkos::pack_comm_self(const int &/*n*/, const DAT::tdual_int_2d &/*list*/, - const int & /*iswap*/, const int /*nfirst*/, - const int &/*pbc_flag*/, const int /*pbc*/[]) +int AtomVecHybridKokkos::pack_comm_self(const int &/*n*/, const DAT::tdual_int_1d &/*list*/, + const int /*nfirst*/, + const int &/*pbc_flag*/, const int pbc[]) { error->all(FLERR,"AtomVecHybridKokkos doesn't yet support threaded comm"); return 0; } -int AtomVecHybridKokkos::pack_border_kokkos(int /*n*/, DAT::tdual_int_2d /*k_sendlist*/, - DAT::tdual_xfloat_2d /*buf*/,int /*iswap*/, +int AtomVecHybridKokkos::pack_border_kokkos(int /*n*/, DAT::tdual_int_1d /*k_sendlist*/, + DAT::tdual_xfloat_2d /*buf*/, int /*pbc_flag*/, int * /*pbc*/, ExecutionSpace /*space*/) { error->all(FLERR,"AtomVecHybridKokkos doesn't yet support threaded comm"); diff --git a/src/KOKKOS/atom_vec_hybrid_kokkos.h b/src/KOKKOS/atom_vec_hybrid_kokkos.h index 6f81c93673..19210549f5 100644 --- a/src/KOKKOS/atom_vec_hybrid_kokkos.h +++ b/src/KOKKOS/atom_vec_hybrid_kokkos.h @@ -36,17 +36,16 @@ class AtomVecHybridKokkos : public AtomVecKokkos, public AtomVecHybrid { void grow(int) override; void sort_kokkos(Kokkos::BinSort &Sorter) override; - int pack_comm_kokkos(const int &n, const DAT::tdual_int_2d &k_sendlist, - const int & iswap, + int pack_comm_kokkos(const int &n, const DAT::tdual_int_1d &k_sendlist, const DAT::tdual_xfloat_2d &buf, const int &pbc_flag, const int pbc[]) override; void unpack_comm_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf) override; - int pack_comm_self(const int &n, const DAT::tdual_int_2d &list, - const int & iswap, const int nfirst, + int pack_comm_self(const int &n, const DAT::tdual_int_1d &list, + const int nfirst, const int &pbc_flag, const int pbc[]) override; - int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, + int pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) override; void unpack_border_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf, diff --git a/src/KOKKOS/atom_vec_kokkos.cpp b/src/KOKKOS/atom_vec_kokkos.cpp index 93393e9e09..31fc63db6a 100644 --- a/src/KOKKOS/atom_vec_kokkos.cpp +++ b/src/KOKKOS/atom_vec_kokkos.cpp @@ -19,6 +19,7 @@ #include "comm_kokkos.h" #include "error.h" #include "domain.h" +#include "kokkos.h" using namespace LAMMPS_NS; @@ -57,19 +58,17 @@ struct AtomVecKokkos_PackComm { typename ArrayTypes::t_x_array_randomread _x; typename ArrayTypes::t_xfloat_2d_um _buf; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + typename ArrayTypes::t_int_1d_const _list; X_FLOAT _xprd,_yprd,_zprd,_xy,_xz,_yz; X_FLOAT _pbc[6]; AtomVecKokkos_PackComm( const typename DAT::tdual_x_array &x, const typename DAT::tdual_xfloat_2d &buf, - const typename DAT::tdual_int_2d &list, - const int & iswap, + const typename DAT::tdual_int_1d &list, const X_FLOAT &xprd, const X_FLOAT &yprd, const X_FLOAT &zprd, const X_FLOAT &xy, const X_FLOAT &xz, const X_FLOAT &yz, const int* const pbc): - _x(x.view()),_list(list.view()),_iswap(iswap), + _x(x.view()),_list(list.view()), _xprd(xprd),_yprd(yprd),_zprd(zprd), _xy(xy),_xz(xz),_yz(yz) { const size_t maxsend = (buf.view().extent(0)*buf.view().extent(1))/3; @@ -81,7 +80,7 @@ struct AtomVecKokkos_PackComm { KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -103,8 +102,7 @@ struct AtomVecKokkos_PackComm { /* ---------------------------------------------------------------------- */ int AtomVecKokkos::pack_comm_kokkos(const int &n, - const DAT::tdual_int_2d &list, - const int & iswap, + const DAT::tdual_int_1d &list, const DAT::tdual_xfloat_2d &buf, const int &pbc_flag, const int* const pbc) @@ -112,28 +110,28 @@ int AtomVecKokkos::pack_comm_kokkos(const int &n, // Check whether to always run forward communication on the host // Choose correct forward PackComm kernel - if (commKK->forward_comm_on_host) { + if (lmp->kokkos->forward_comm_on_host) { atomKK->sync(Host,X_MASK); if (pbc_flag) { if (domain->triclinic) { - struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list,iswap, + struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); } else { - struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list,iswap, + struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); } } else { if (domain->triclinic) { - struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list,iswap, + struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); } else { - struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list,iswap, + struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -143,24 +141,24 @@ int AtomVecKokkos::pack_comm_kokkos(const int &n, atomKK->sync(Device,X_MASK); if (pbc_flag) { if (domain->triclinic) { - struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list,iswap, + struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); } else { - struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list,iswap, + struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); } } else { if (domain->triclinic) { - struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list,iswap, + struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); } else { - struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list,iswap, + struct AtomVecKokkos_PackComm f(atomKK->k_x,buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -168,7 +166,7 @@ int AtomVecKokkos::pack_comm_kokkos(const int &n, } } - return n*size_forward; + return n*size_forward; } /* ---------------------------------------------------------------------- */ @@ -180,19 +178,17 @@ struct AtomVecKokkos_PackCommSelf { typename ArrayTypes::t_x_array_randomread _x; typename ArrayTypes::t_x_array _xw; int _nfirst; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + typename ArrayTypes::t_int_1d_const _list; X_FLOAT _xprd,_yprd,_zprd,_xy,_xz,_yz; X_FLOAT _pbc[6]; AtomVecKokkos_PackCommSelf( const typename DAT::tdual_x_array &x, const int &nfirst, - const typename DAT::tdual_int_2d &list, - const int & iswap, + const typename DAT::tdual_int_1d &list, const X_FLOAT &xprd, const X_FLOAT &yprd, const X_FLOAT &zprd, const X_FLOAT &xy, const X_FLOAT &xz, const X_FLOAT &yz, const int* const pbc): - _x(x.view()),_xw(x.view()),_nfirst(nfirst),_list(list.view()),_iswap(iswap), + _x(x.view()),_xw(x.view()),_nfirst(nfirst),_list(list.view()), _xprd(xprd),_yprd(yprd),_zprd(zprd), _xy(xy),_xz(xz),_yz(yz) { _pbc[0] = pbc[0]; _pbc[1] = pbc[1]; _pbc[2] = pbc[2]; @@ -201,7 +197,7 @@ struct AtomVecKokkos_PackCommSelf { KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _xw(i+_nfirst,0) = _x(j,0); _xw(i+_nfirst,1) = _x(j,1); @@ -223,66 +219,67 @@ struct AtomVecKokkos_PackCommSelf { /* ---------------------------------------------------------------------- */ -int AtomVecKokkos::pack_comm_self(const int &n, const DAT::tdual_int_2d &list, const int & iswap, +int AtomVecKokkos::pack_comm_self(const int &n, const DAT::tdual_int_1d &list, const int nfirst, const int &pbc_flag, const int* const pbc) { - if (commKK->forward_comm_on_host) { + if (lmp->kokkos->forward_comm_on_host) { atomKK->sync(Host,X_MASK); - atomKK->modified(Host,X_MASK); if (pbc_flag) { if (domain->triclinic) { - struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list,iswap, + struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); + Kokkos::parallel_for(n,f); } else { - struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list,iswap, + struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); + Kokkos::parallel_for(n,f); } } else { if (domain->triclinic) { - struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list,iswap, + struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); + Kokkos::parallel_for(n,f); } else { - struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list,iswap, + struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); + Kokkos::parallel_for(n,f); } } + atomKK->modified(Host,X_MASK); } else { atomKK->sync(Device,X_MASK); - atomKK->modified(Device,X_MASK); if (pbc_flag) { if (domain->triclinic) { - struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list,iswap, + struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); + Kokkos::parallel_for(n,f); } else { - struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list,iswap, + struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); + Kokkos::parallel_for(n,f); } } else { if (domain->triclinic) { - struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list,iswap, + struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); + Kokkos::parallel_for(n,f); } else { - struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list,iswap, + struct AtomVecKokkos_PackCommSelf f(atomKK->k_x,nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); + Kokkos::parallel_for(n,f); } } + atomKK->modified(Device,X_MASK); } - return n*3; + + return n*3; } @@ -361,35 +358,36 @@ struct AtomVecKokkos_PackCommSelfFused { int AtomVecKokkos::pack_comm_self_fused(const int &n, const DAT::tdual_int_2d &list, const DAT::tdual_int_1d &sendnum_scan, const DAT::tdual_int_1d &firstrecv, const DAT::tdual_int_1d &pbc_flag, const DAT::tdual_int_2d &pbc, const DAT::tdual_int_1d &g2l) { - if (commKK->forward_comm_on_host) { + if (lmp->kokkos->forward_comm_on_host) { atomKK->sync(Host,X_MASK); - atomKK->modified(Host,X_MASK); if (domain->triclinic) { - struct AtomVecKokkos_PackCommSelfFused f(atomKK->k_x,list,pbc,pbc_flag,firstrecv,sendnum_scan,g2l, + struct AtomVecKokkos_PackCommSelfFused f(atomKK->k_x,list,pbc,pbc_flag,firstrecv,sendnum_scan,g2l, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz); - Kokkos::parallel_for(n,f); + Kokkos::parallel_for(n,f); } else { - struct AtomVecKokkos_PackCommSelfFused f(atomKK->k_x,list,pbc,pbc_flag,firstrecv,sendnum_scan,g2l, + struct AtomVecKokkos_PackCommSelfFused f(atomKK->k_x,list,pbc,pbc_flag,firstrecv,sendnum_scan,g2l, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz); - Kokkos::parallel_for(n,f); + Kokkos::parallel_for(n,f); } + atomKK->modified(Host,X_MASK); } else { atomKK->sync(Device,X_MASK); - atomKK->modified(Device,X_MASK); if (domain->triclinic) { - struct AtomVecKokkos_PackCommSelfFused f(atomKK->k_x,list,pbc,pbc_flag,firstrecv,sendnum_scan,g2l, + struct AtomVecKokkos_PackCommSelfFused f(atomKK->k_x,list,pbc,pbc_flag,firstrecv,sendnum_scan,g2l, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz); - Kokkos::parallel_for(n,f); + Kokkos::parallel_for(n,f); } else { - struct AtomVecKokkos_PackCommSelfFused f(atomKK->k_x,list,pbc,pbc_flag,firstrecv,sendnum_scan,g2l, + struct AtomVecKokkos_PackCommSelfFused f(atomKK->k_x,list,pbc,pbc_flag,firstrecv,sendnum_scan,g2l, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz); - Kokkos::parallel_for(n,f); + Kokkos::parallel_for(n,f); } + atomKK->modified(Device,X_MASK); } + return n*3; } @@ -421,20 +419,19 @@ struct AtomVecKokkos_UnpackComm { void AtomVecKokkos::unpack_comm_kokkos(const int &n, const int &first, const DAT::tdual_xfloat_2d &buf) { - if (commKK->forward_comm_on_host) { + if (lmp->kokkos->forward_comm_on_host) { atomKK->sync(Host,X_MASK); - atomKK->modified(Host,X_MASK); struct AtomVecKokkos_UnpackComm f(atomKK->k_x,buf,first); Kokkos::parallel_for(n,f); + atomKK->modified(Host,X_MASK); } else { atomKK->sync(Device,X_MASK); - atomKK->modified(Device,X_MASK); struct AtomVecKokkos_UnpackComm f(atomKK->k_x,buf,first); Kokkos::parallel_for(n,f); + atomKK->modified(Device,X_MASK); } } - /* ---------------------------------------------------------------------- */ template @@ -445,8 +442,7 @@ struct AtomVecKokkos_PackCommVel { typename ArrayTypes::t_int_1d _mask; typename ArrayTypes::t_v_array _v; typename ArrayTypes::t_xfloat_2d_um _buf; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + typename ArrayTypes::t_int_1d_const _list; X_FLOAT _xprd,_yprd,_zprd,_xy,_xz,_yz; X_FLOAT _pbc[6]; X_FLOAT _h_rate[6]; @@ -457,8 +453,7 @@ struct AtomVecKokkos_PackCommVel { const typename DAT::tdual_int_1d &mask, const typename DAT::tdual_v_array &v, const typename DAT::tdual_xfloat_2d &buf, - const typename DAT::tdual_int_2d &list, - const int &iswap, + const typename DAT::tdual_int_1d &list, const X_FLOAT &xprd, const X_FLOAT &yprd, const X_FLOAT &zprd, const X_FLOAT &xy, const X_FLOAT &xz, const X_FLOAT &yz, const int* const pbc, const double * const h_rate, @@ -466,7 +461,7 @@ struct AtomVecKokkos_PackCommVel { _x(x.view()), _mask(mask.view()), _v(v.view()), - _list(list.view()),_iswap(iswap), + _list(list.view()), _xprd(xprd),_yprd(yprd),_zprd(zprd), _xy(xy),_xz(xz),_yz(yz), _deform_vremap(deform_vremap) @@ -482,7 +477,7 @@ struct AtomVecKokkos_PackCommVel { KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -524,13 +519,12 @@ struct AtomVecKokkos_PackCommVel { int AtomVecKokkos::pack_comm_vel_kokkos( const int &n, - const DAT::tdual_int_2d &list, - const int & iswap, + const DAT::tdual_int_1d &list, const DAT::tdual_xfloat_2d &buf, const int &pbc_flag, const int* const pbc) { - if (commKK->forward_comm_on_host) { + if (lmp->kokkos->forward_comm_on_host) { atomKK->sync(Host,X_MASK|V_MASK); if (pbc_flag) { if (deform_vremap) { @@ -538,7 +532,7 @@ int AtomVecKokkos::pack_comm_vel_kokkos( struct AtomVecKokkos_PackCommVel f( atomKK->k_x,atomKK->k_mask, atomKK->k_v, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -546,7 +540,7 @@ int AtomVecKokkos::pack_comm_vel_kokkos( struct AtomVecKokkos_PackCommVel f( atomKK->k_x,atomKK->k_mask, atomKK->k_v, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -556,7 +550,7 @@ int AtomVecKokkos::pack_comm_vel_kokkos( struct AtomVecKokkos_PackCommVel f( atomKK->k_x,atomKK->k_mask, atomKK->k_v, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -564,7 +558,7 @@ int AtomVecKokkos::pack_comm_vel_kokkos( struct AtomVecKokkos_PackCommVel f( atomKK->k_x,atomKK->k_mask, atomKK->k_v, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -575,7 +569,7 @@ int AtomVecKokkos::pack_comm_vel_kokkos( struct AtomVecKokkos_PackCommVel f( atomKK->k_x,atomKK->k_mask, atomKK->k_v, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -583,7 +577,7 @@ int AtomVecKokkos::pack_comm_vel_kokkos( struct AtomVecKokkos_PackCommVel f( atomKK->k_x,atomKK->k_mask, atomKK->k_v, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -597,7 +591,7 @@ int AtomVecKokkos::pack_comm_vel_kokkos( struct AtomVecKokkos_PackCommVel f( atomKK->k_x,atomKK->k_mask, atomKK->k_v, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -605,7 +599,7 @@ int AtomVecKokkos::pack_comm_vel_kokkos( struct AtomVecKokkos_PackCommVel f( atomKK->k_x,atomKK->k_mask, atomKK->k_v, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -615,7 +609,7 @@ int AtomVecKokkos::pack_comm_vel_kokkos( struct AtomVecKokkos_PackCommVel f( atomKK->k_x,atomKK->k_mask, atomKK->k_v, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -623,7 +617,7 @@ int AtomVecKokkos::pack_comm_vel_kokkos( struct AtomVecKokkos_PackCommVel f( atomKK->k_x,atomKK->k_mask, atomKK->k_v, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -634,7 +628,7 @@ int AtomVecKokkos::pack_comm_vel_kokkos( struct AtomVecKokkos_PackCommVel f( atomKK->k_x,atomKK->k_mask, atomKK->k_v, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -642,13 +636,14 @@ int AtomVecKokkos::pack_comm_vel_kokkos( struct AtomVecKokkos_PackCommVel f( atomKK->k_x,atomKK->k_mask, atomKK->k_v, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); } } } + return n*6; } @@ -692,16 +687,16 @@ struct AtomVecKokkos_UnpackCommVel { void AtomVecKokkos::unpack_comm_vel_kokkos(const int &n, const int &first, const DAT::tdual_xfloat_2d &buf) { - if (commKK->forward_comm_on_host) { + if (lmp->kokkos->forward_comm_on_host) { atomKK->sync(Host,X_MASK|V_MASK); - atomKK->modified(Host,X_MASK|V_MASK); struct AtomVecKokkos_UnpackCommVel f(atomKK->k_x,atomKK->k_v,buf,first); Kokkos::parallel_for(n,f); + atomKK->modified(Host,X_MASK|V_MASK); } else { atomKK->sync(Device,X_MASK|V_MASK); - atomKK->modified(Device,X_MASK|V_MASK); struct AtomVecKokkos_UnpackCommVel f(atomKK->k_x,atomKK->k_v,buf,first); Kokkos::parallel_for(n,f); + atomKK->modified(Device,X_MASK|V_MASK); } } @@ -733,7 +728,7 @@ struct AtomVecKokkos_PackReverse { int AtomVecKokkos::pack_reverse_kokkos(const int &n, const int &first, const DAT::tdual_ffloat_2d &buf) { - if (commKK->reverse_comm_on_host) { + if (lmp->kokkos->reverse_comm_on_host) { atomKK->sync(Host,F_MASK); struct AtomVecKokkos_PackReverse f(atomKK->k_f,buf,first); Kokkos::parallel_for(n,f); @@ -755,20 +750,18 @@ struct AtomVecKokkos_UnPackReverseSelf { typename ArrayTypes::t_f_array_randomread _f; typename ArrayTypes::t_f_array _fw; int _nfirst; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + typename ArrayTypes::t_int_1d_const _list; AtomVecKokkos_UnPackReverseSelf( const typename DAT::tdual_f_array &f, const int &nfirst, - const typename DAT::tdual_int_2d &list, - const int & iswap): - _f(f.view()),_fw(f.view()),_nfirst(nfirst),_list(list.view()),_iswap(iswap) { + const typename DAT::tdual_int_1d &list): + _f(f.view()),_fw(f.view()),_nfirst(nfirst),_list(list.view()) { }; KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); _fw(j,0) += _f(i+_nfirst,0); _fw(j,1) += _f(i+_nfirst,1); _fw(j,2) += _f(i+_nfirst,2); @@ -777,19 +770,20 @@ struct AtomVecKokkos_UnPackReverseSelf { /* ---------------------------------------------------------------------- */ -int AtomVecKokkos::unpack_reverse_self(const int &n, const DAT::tdual_int_2d &list, const int & iswap, - const int nfirst) { - if (commKK->reverse_comm_on_host) { +int AtomVecKokkos::pack_reverse_self(const int &n, const DAT::tdual_int_1d &list, + const int nfirst) { + if (lmp->kokkos->reverse_comm_on_host) { atomKK->sync(Host,F_MASK); - struct AtomVecKokkos_UnPackReverseSelf f(atomKK->k_f,nfirst,list,iswap); + struct AtomVecKokkos_UnPackReverseSelf f(atomKK->k_f,nfirst,list); Kokkos::parallel_for(n,f); atomKK->modified(Host,F_MASK); } else { atomKK->sync(Device,F_MASK); - struct AtomVecKokkos_UnPackReverseSelf f(atomKK->k_f,nfirst,list,iswap); + struct AtomVecKokkos_UnPackReverseSelf f(atomKK->k_f,nfirst,list); Kokkos::parallel_for(n,f); atomKK->modified(Device,F_MASK); } + return n*3; } @@ -801,15 +795,13 @@ struct AtomVecKokkos_UnPackReverse { typename ArrayTypes::t_f_array _f; typename ArrayTypes::t_ffloat_2d_const _buf; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + typename ArrayTypes::t_int_1d_const _list; AtomVecKokkos_UnPackReverse( const typename DAT::tdual_f_array &f, const typename DAT::tdual_ffloat_2d &buf, - const typename DAT::tdual_int_2d &list, - const int & iswap): - _f(f.view()),_list(list.view()),_iswap(iswap) { + const typename DAT::tdual_int_1d &list): + _f(f.view()),_list(list.view()) { const size_t maxsend = (buf.view().extent(0)*buf.view().extent(1))/3; const size_t elements = 3; buffer_view(_buf,buf,maxsend,elements); @@ -817,7 +809,7 @@ struct AtomVecKokkos_UnPackReverse { KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); _f(j,0) += _buf(i,0); _f(j,1) += _buf(i,1); _f(j,2) += _buf(i,2); @@ -827,19 +819,18 @@ struct AtomVecKokkos_UnPackReverse { /* ---------------------------------------------------------------------- */ void AtomVecKokkos::unpack_reverse_kokkos(const int &n, - const DAT::tdual_int_2d &list, - const int & iswap, + const DAT::tdual_int_1d &list, const DAT::tdual_ffloat_2d &buf) { // Check whether to always run reverse communication on the host // Choose correct reverse UnPackReverse kernel - if (commKK->reverse_comm_on_host) { - struct AtomVecKokkos_UnPackReverse f(atomKK->k_f,buf,list,iswap); + if (lmp->kokkos->reverse_comm_on_host) { + struct AtomVecKokkos_UnPackReverse f(atomKK->k_f,buf,list); Kokkos::parallel_for(n,f); atomKK->modified(Host,F_MASK); } else { - struct AtomVecKokkos_UnPackReverse f(atomKK->k_f,buf,list,iswap); + struct AtomVecKokkos_UnPackReverse f(atomKK->k_f,buf,list); Kokkos::parallel_for(n,f); atomKK->modified(Device,F_MASK); } diff --git a/src/KOKKOS/atom_vec_kokkos.h b/src/KOKKOS/atom_vec_kokkos.h index c10ff5b40a..635113d500 100644 --- a/src/KOKKOS/atom_vec_kokkos.h +++ b/src/KOKKOS/atom_vec_kokkos.h @@ -50,8 +50,8 @@ class AtomVecKokkos : virtual public AtomVec { virtual void sync_overlapping_device(ExecutionSpace space, unsigned int mask) = 0; virtual int - pack_comm_self(const int &n, const DAT::tdual_int_2d &list, - const int & iswap, const int nfirst, + pack_comm_self(const int &n, const DAT::tdual_int_1d &list, + const int nfirst, const int &pbc_flag, const int pbc[]); virtual int @@ -63,8 +63,8 @@ class AtomVecKokkos : virtual public AtomVec { const DAT::tdual_int_1d &g2l); virtual int - pack_comm_kokkos(const int &n, const DAT::tdual_int_2d &list, - const int & iswap, const DAT::tdual_xfloat_2d &buf, + pack_comm_kokkos(const int &n, const DAT::tdual_int_1d &list, + const DAT::tdual_xfloat_2d &buf, const int &pbc_flag, const int pbc[]); virtual void @@ -72,8 +72,8 @@ class AtomVecKokkos : virtual public AtomVec { const DAT::tdual_xfloat_2d &buf); virtual int - pack_comm_vel_kokkos(const int &n, const DAT::tdual_int_2d &list, - const int & iswap, const DAT::tdual_xfloat_2d &buf, + pack_comm_vel_kokkos(const int &n, const DAT::tdual_int_1d &list, + const DAT::tdual_xfloat_2d &buf, const int &pbc_flag, const int pbc[]); virtual void @@ -81,20 +81,20 @@ class AtomVecKokkos : virtual public AtomVec { const DAT::tdual_xfloat_2d &buf); virtual int - unpack_reverse_self(const int &n, const DAT::tdual_int_2d &list, - const int & iswap, const int nfirst); + pack_reverse_self(const int &n, const DAT::tdual_int_1d &list, + const int nfirst); virtual int pack_reverse_kokkos(const int &n, const int &nfirst, const DAT::tdual_ffloat_2d &buf); virtual void - unpack_reverse_kokkos(const int &n, const DAT::tdual_int_2d &list, - const int & iswap, const DAT::tdual_ffloat_2d &buf); + unpack_reverse_kokkos(const int &n, const DAT::tdual_int_1d &list, + const DAT::tdual_ffloat_2d &buf); virtual int - pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, + pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) = 0; virtual void @@ -103,8 +103,8 @@ class AtomVecKokkos : virtual public AtomVec { ExecutionSpace space) = 0; virtual int - pack_border_vel_kokkos(int /*n*/, DAT::tdual_int_2d /*k_sendlist*/, - DAT::tdual_xfloat_2d /*buf*/,int /*iswap*/, + pack_border_vel_kokkos(int /*n*/, DAT::tdual_int_1d /*k_sendlist*/, + DAT::tdual_xfloat_2d /*buf*/, int /*pbc_flag*/, int * /*pbc*/, ExecutionSpace /*space*/) { return 0; } virtual void diff --git a/src/KOKKOS/atom_vec_molecular_kokkos.cpp b/src/KOKKOS/atom_vec_molecular_kokkos.cpp index ec98ff9239..68369e2fad 100644 --- a/src/KOKKOS/atom_vec_molecular_kokkos.cpp +++ b/src/KOKKOS/atom_vec_molecular_kokkos.cpp @@ -260,295 +260,13 @@ void AtomVecMolecularKokkos::sort_kokkos(Kokkos::BinSort &So /* ---------------------------------------------------------------------- */ -template -struct AtomVecMolecularKokkos_PackComm { - typedef DeviceType device_type; - - typename ArrayTypes::t_x_array_randomread _x; - typename ArrayTypes::t_xfloat_2d_um _buf; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; - X_FLOAT _xprd,_yprd,_zprd,_xy,_xz,_yz; - X_FLOAT _pbc[6]; - - AtomVecMolecularKokkos_PackComm( - const typename DAT::tdual_x_array &x, - const typename DAT::tdual_xfloat_2d &buf, - const typename DAT::tdual_int_2d &list, - const int & iswap, - const X_FLOAT &xprd, const X_FLOAT &yprd, const X_FLOAT &zprd, - const X_FLOAT &xy, const X_FLOAT &xz, const X_FLOAT &yz, const int* const pbc): - _x(x.view()),_list(list.view()),_iswap(iswap), - _xprd(xprd),_yprd(yprd),_zprd(zprd), - _xy(xy),_xz(xz),_yz(yz) { - const size_t maxsend = (buf.view().extent(0) - *buf.view().extent(1))/3; - const size_t elements = 3; - buffer_view(_buf,buf,maxsend,elements); - _pbc[0] = pbc[0]; _pbc[1] = pbc[1]; _pbc[2] = pbc[2]; - _pbc[3] = pbc[3]; _pbc[4] = pbc[4]; _pbc[5] = pbc[5]; - }; - - KOKKOS_INLINE_FUNCTION - void operator() (const int& i) const { - const int j = _list(_iswap,i); - if (PBC_FLAG == 0) { - _buf(i,0) = _x(j,0); - _buf(i,1) = _x(j,1); - _buf(i,2) = _x(j,2); - } else { - if (TRICLINIC == 0) { - _buf(i,0) = _x(j,0) + _pbc[0]*_xprd; - _buf(i,1) = _x(j,1) + _pbc[1]*_yprd; - _buf(i,2) = _x(j,2) + _pbc[2]*_zprd; - } else { - _buf(i,0) = _x(j,0) + _pbc[0]*_xprd + _pbc[5]*_xy + _pbc[4]*_xz; - _buf(i,1) = _x(j,1) + _pbc[1]*_yprd + _pbc[3]*_yz; - _buf(i,2) = _x(j,2) + _pbc[2]*_zprd; - } - } - } -}; - -/* ---------------------------------------------------------------------- */ - -int AtomVecMolecularKokkos::pack_comm_kokkos(const int &n, - const DAT::tdual_int_2d &list, - const int & iswap, - const DAT::tdual_xfloat_2d &buf, - const int &pbc_flag, - const int* const pbc) -{ - // Check whether to always run forward communication on the host - // Choose correct forward PackComm kernel - - if (commKK->forward_comm_on_host) { - atomKK->sync(Host,X_MASK); - if (pbc_flag) { - if (domain->triclinic) { - struct AtomVecMolecularKokkos_PackComm - f(atomKK->k_x,buf,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecMolecularKokkos_PackComm - f(atomKK->k_x,buf,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } else { - if (domain->triclinic) { - struct AtomVecMolecularKokkos_PackComm - f(atomKK->k_x,buf,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecMolecularKokkos_PackComm - f(atomKK->k_x,buf,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } - } else { - atomKK->sync(Device,X_MASK); - if (pbc_flag) { - if (domain->triclinic) { - struct AtomVecMolecularKokkos_PackComm - f(atomKK->k_x,buf,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecMolecularKokkos_PackComm - f(atomKK->k_x,buf,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } else { - if (domain->triclinic) { - struct AtomVecMolecularKokkos_PackComm - f(atomKK->k_x,buf,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecMolecularKokkos_PackComm - f(atomKK->k_x,buf,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } - } - - return n*size_forward; -} - -/* ---------------------------------------------------------------------- */ - -template -struct AtomVecMolecularKokkos_PackCommSelf { - typedef DeviceType device_type; - - typename ArrayTypes::t_x_array_randomread _x; - typename ArrayTypes::t_x_array _xw; - int _nfirst; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; - X_FLOAT _xprd,_yprd,_zprd,_xy,_xz,_yz; - X_FLOAT _pbc[6]; - - AtomVecMolecularKokkos_PackCommSelf( - const typename DAT::tdual_x_array &x, - const int &nfirst, - const typename DAT::tdual_int_2d &list, - const int & iswap, - const X_FLOAT &xprd, const X_FLOAT &yprd, const X_FLOAT &zprd, - const X_FLOAT &xy, const X_FLOAT &xz, const X_FLOAT &yz, const int* const pbc): - _x(x.view()),_xw(x.view()),_nfirst(nfirst), - _list(list.view()),_iswap(iswap), - _xprd(xprd),_yprd(yprd),_zprd(zprd), - _xy(xy),_xz(xz),_yz(yz) { - _pbc[0] = pbc[0]; _pbc[1] = pbc[1]; _pbc[2] = pbc[2]; - _pbc[3] = pbc[3]; _pbc[4] = pbc[4]; _pbc[5] = pbc[5]; - }; - - KOKKOS_INLINE_FUNCTION - void operator() (const int& i) const { - const int j = _list(_iswap,i); - if (PBC_FLAG == 0) { - _xw(i+_nfirst,0) = _x(j,0); - _xw(i+_nfirst,1) = _x(j,1); - _xw(i+_nfirst,2) = _x(j,2); - } else { - if (TRICLINIC == 0) { - _xw(i+_nfirst,0) = _x(j,0) + _pbc[0]*_xprd; - _xw(i+_nfirst,1) = _x(j,1) + _pbc[1]*_yprd; - _xw(i+_nfirst,2) = _x(j,2) + _pbc[2]*_zprd; - } else { - _xw(i+_nfirst,0) = _x(j,0) + _pbc[0]*_xprd + _pbc[5]*_xy + _pbc[4]*_xz; - _xw(i+_nfirst,1) = _x(j,1) + _pbc[1]*_yprd + _pbc[3]*_yz; - _xw(i+_nfirst,2) = _x(j,2) + _pbc[2]*_zprd; - } - } - - } -}; - -/* ---------------------------------------------------------------------- */ - -int AtomVecMolecularKokkos::pack_comm_self(const int &n, const DAT::tdual_int_2d &list, - const int & iswap, - const int nfirst, const int &pbc_flag, - const int* const pbc) { - if (commKK->forward_comm_on_host) { - atomKK->sync(Host,X_MASK); - atomKK->modified(Host,X_MASK); - if (pbc_flag) { - if (domain->triclinic) { - struct AtomVecMolecularKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecMolecularKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } else { - if (domain->triclinic) { - struct AtomVecMolecularKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecMolecularKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } - } else { - atomKK->sync(Device,X_MASK); - atomKK->modified(Device,X_MASK); - if (pbc_flag) { - if (domain->triclinic) { - struct AtomVecMolecularKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecMolecularKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } else { - if (domain->triclinic) { - struct AtomVecMolecularKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } else { - struct AtomVecMolecularKokkos_PackCommSelf - f(atomKK->k_x,nfirst,list,iswap,domain->xprd,domain->yprd,domain->zprd, - domain->xy,domain->xz,domain->yz,pbc); - Kokkos::parallel_for(n,f); - } - } - } - return n*3; -} - -/* ---------------------------------------------------------------------- */ - -template -struct AtomVecMolecularKokkos_UnpackComm { - typedef DeviceType device_type; - - typename ArrayTypes::t_x_array _x; - typename ArrayTypes::t_xfloat_2d_const _buf; - int _first; - - AtomVecMolecularKokkos_UnpackComm( - const typename DAT::tdual_x_array &x, - const typename DAT::tdual_xfloat_2d &buf, - const int& first):_x(x.view()),_buf(buf.view()), - _first(first) {}; - - KOKKOS_INLINE_FUNCTION - void operator() (const int& i) const { - _x(i+_first,0) = _buf(i,0); - _x(i+_first,1) = _buf(i,1); - _x(i+_first,2) = _buf(i,2); - } -}; - -/* ---------------------------------------------------------------------- */ - -void AtomVecMolecularKokkos::unpack_comm_kokkos(const int &n, const int &first, - const DAT::tdual_xfloat_2d &buf) { - if (commKK->forward_comm_on_host) { - atomKK->sync(Host,X_MASK); - atomKK->modified(Host,X_MASK); - struct AtomVecMolecularKokkos_UnpackComm f(atomKK->k_x,buf,first); - Kokkos::parallel_for(n,f); - } else { - atomKK->sync(Device,X_MASK); - atomKK->modified(Device,X_MASK); - struct AtomVecMolecularKokkos_UnpackComm f(atomKK->k_x,buf,first); - Kokkos::parallel_for(n,f); - } -} - -/* ---------------------------------------------------------------------- */ - template struct AtomVecMolecularKokkos_PackBorder { typedef DeviceType device_type; typedef ArrayTypes AT; typename AT::t_xfloat_2d _buf; - const typename AT::t_int_2d_const _list; - const int _iswap; + const typename AT::t_int_1d_const _list; const typename AT::t_x_array_randomread _x; const typename AT::t_tagint_1d _tag; const typename AT::t_int_1d _type; @@ -558,21 +276,20 @@ struct AtomVecMolecularKokkos_PackBorder { AtomVecMolecularKokkos_PackBorder( const typename AT::t_xfloat_2d &buf, - const typename AT::t_int_2d_const &list, - const int & iswap, + const typename AT::t_int_1d_const &list, const typename AT::t_x_array &x, const typename AT::t_tagint_1d &tag, const typename AT::t_int_1d &type, const typename AT::t_int_1d &mask, const typename AT::t_tagint_1d &molecule, const X_FLOAT &dx, const X_FLOAT &dy, const X_FLOAT &dz): - _buf(buf),_list(list),_iswap(iswap), + _buf(buf),_list(list), _x(x),_tag(tag),_type(type),_mask(mask),_molecule(molecule), _dx(dx),_dy(dy),_dz(dz) {} KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -595,8 +312,8 @@ struct AtomVecMolecularKokkos_PackBorder { /* ---------------------------------------------------------------------- */ -int AtomVecMolecularKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, +int AtomVecMolecularKokkos::pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) { X_FLOAT dx,dy,dz; @@ -614,12 +331,12 @@ int AtomVecMolecularKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendli if (space==Host) { AtomVecMolecularKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,h_molecule,dx,dy,dz); + h_x,h_tag,h_type,h_mask,h_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecMolecularKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,d_molecule,dx,dy,dz); + d_x,d_tag,d_type,d_mask,d_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } @@ -628,12 +345,12 @@ int AtomVecMolecularKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendli if (space==Host) { AtomVecMolecularKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,h_molecule,dx,dy,dz); + h_x,h_tag,h_type,h_mask,h_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecMolecularKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,d_molecule,dx,dy,dz); + d_x,d_tag,d_type,d_mask,d_molecule,dx,dy,dz); Kokkos::parallel_for(n,f); } } diff --git a/src/KOKKOS/atom_vec_molecular_kokkos.h b/src/KOKKOS/atom_vec_molecular_kokkos.h index eb976e9073..a92784fbd9 100644 --- a/src/KOKKOS/atom_vec_molecular_kokkos.h +++ b/src/KOKKOS/atom_vec_molecular_kokkos.h @@ -35,17 +35,8 @@ class AtomVecMolecularKokkos : public AtomVecKokkos, public AtomVecMolecular { void grow(int) override; void grow_pointers() override; void sort_kokkos(Kokkos::BinSort &Sorter) override; - int pack_comm_kokkos(const int &n, const DAT::tdual_int_2d &k_sendlist, - const int & iswap, - const DAT::tdual_xfloat_2d &buf, - const int &pbc_flag, const int pbc[]) override; - void unpack_comm_kokkos(const int &n, const int &nfirst, - const DAT::tdual_xfloat_2d &buf) override; - int pack_comm_self(const int &n, const DAT::tdual_int_2d &list, - const int & iswap, const int nfirst, - const int &pbc_flag, const int pbc[]) override; - int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, + int pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) override; void unpack_border_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf, diff --git a/src/KOKKOS/atom_vec_sphere_kokkos.cpp b/src/KOKKOS/atom_vec_sphere_kokkos.cpp index 3dfb5143cd..de62988c67 100644 --- a/src/KOKKOS/atom_vec_sphere_kokkos.cpp +++ b/src/KOKKOS/atom_vec_sphere_kokkos.cpp @@ -20,6 +20,7 @@ #include "domain.h" #include "error.h" #include "fix.h" +#include "kokkos.h" #include "math_const.h" #include "memory.h" #include "memory_kokkos.h" @@ -152,8 +153,7 @@ struct AtomVecSphereKokkos_PackComm { typename ArrayTypes::t_x_array_randomread _x; typename ArrayTypes::t_float_1d _radius,_rmass; typename ArrayTypes::t_xfloat_2d_um _buf; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + typename ArrayTypes::t_int_1d_const _list; X_FLOAT _xprd,_yprd,_zprd,_xy,_xz,_yz; X_FLOAT _pbc[6]; @@ -162,14 +162,13 @@ struct AtomVecSphereKokkos_PackComm { const typename DAT::tdual_float_1d &radius, const typename DAT::tdual_float_1d &rmass, const typename DAT::tdual_xfloat_2d &buf, - const typename DAT::tdual_int_2d &list, - const int & iswap, + const typename DAT::tdual_int_1d &list, const X_FLOAT &xprd, const X_FLOAT &yprd, const X_FLOAT &zprd, const X_FLOAT &xy, const X_FLOAT &xz, const X_FLOAT &yz, const int* const pbc): _x(x.view()), _radius(radius.view()), _rmass(rmass.view()), - _list(list.view()),_iswap(iswap), + _list(list.view()), _xprd(xprd),_yprd(yprd),_zprd(zprd), _xy(xy),_xz(xz),_yz(yz) { const size_t elements = 5; @@ -181,7 +180,7 @@ struct AtomVecSphereKokkos_PackComm { KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -206,25 +205,24 @@ struct AtomVecSphereKokkos_PackComm { int AtomVecSphereKokkos::pack_comm_kokkos( const int &n, - const DAT::tdual_int_2d &list, - const int & iswap, + const DAT::tdual_int_1d &list, const DAT::tdual_xfloat_2d &buf, const int &pbc_flag, const int* const pbc) { // Fallback to AtomVecKokkos if radvary == 0 if (radvary == 0) - return AtomVecKokkos::pack_comm_kokkos(n,list,iswap,buf,pbc_flag,pbc); + return AtomVecKokkos::pack_comm_kokkos(n,list,buf,pbc_flag,pbc); // Check whether to always run forward communication on the host // Choose correct forward PackComm kernel - if (commKK->forward_comm_on_host) { + if (lmp->kokkos->forward_comm_on_host) { atomKK->sync(Host,X_MASK|RADIUS_MASK|RMASS_MASK); if (pbc_flag) { if (domain->triclinic) { struct AtomVecSphereKokkos_PackComm f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -232,7 +230,7 @@ int AtomVecSphereKokkos::pack_comm_kokkos( struct AtomVecSphereKokkos_PackComm f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -242,7 +240,7 @@ int AtomVecSphereKokkos::pack_comm_kokkos( struct AtomVecSphereKokkos_PackComm f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -250,7 +248,7 @@ int AtomVecSphereKokkos::pack_comm_kokkos( struct AtomVecSphereKokkos_PackComm f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -263,7 +261,7 @@ int AtomVecSphereKokkos::pack_comm_kokkos( struct AtomVecSphereKokkos_PackComm f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -271,7 +269,7 @@ int AtomVecSphereKokkos::pack_comm_kokkos( struct AtomVecSphereKokkos_PackComm f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -281,7 +279,7 @@ int AtomVecSphereKokkos::pack_comm_kokkos( struct AtomVecSphereKokkos_PackComm f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -289,7 +287,7 @@ int AtomVecSphereKokkos::pack_comm_kokkos( struct AtomVecSphereKokkos_PackComm f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -310,8 +308,7 @@ struct AtomVecSphereKokkos_PackCommVel { typename ArrayTypes::t_float_1d _radius,_rmass; typename ArrayTypes::t_v_array _v, _omega; typename ArrayTypes::t_xfloat_2d_um _buf; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + typename ArrayTypes::t_int_1d_const _list; X_FLOAT _xprd,_yprd,_zprd,_xy,_xz,_yz; X_FLOAT _pbc[6]; X_FLOAT _h_rate[6]; @@ -325,8 +322,7 @@ struct AtomVecSphereKokkos_PackCommVel { const typename DAT::tdual_v_array &v, const typename DAT::tdual_v_array &omega, const typename DAT::tdual_xfloat_2d &buf, - const typename DAT::tdual_int_2d &list, - const int &iswap, + const typename DAT::tdual_int_1d &list, const X_FLOAT &xprd, const X_FLOAT &yprd, const X_FLOAT &zprd, const X_FLOAT &xy, const X_FLOAT &xz, const X_FLOAT &yz, const int* const pbc, const double * const h_rate, @@ -337,7 +333,7 @@ struct AtomVecSphereKokkos_PackCommVel { _rmass(rmass.view()), _v(v.view()), _omega(omega.view()), - _list(list.view()),_iswap(iswap), + _list(list.view()), _xprd(xprd),_yprd(yprd),_zprd(zprd), _xy(xy),_xz(xz),_yz(yz), _deform_vremap(deform_vremap) @@ -353,7 +349,7 @@ struct AtomVecSphereKokkos_PackCommVel { KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -398,13 +394,12 @@ struct AtomVecSphereKokkos_PackCommVel { int AtomVecSphereKokkos::pack_comm_vel_kokkos( const int &n, - const DAT::tdual_int_2d &list, - const int & iswap, + const DAT::tdual_int_1d &list, const DAT::tdual_xfloat_2d &buf, const int &pbc_flag, const int* const pbc) { - if (commKK->forward_comm_on_host) { + if (lmp->kokkos->forward_comm_on_host) { atomKK->sync(Host,X_MASK|RADIUS_MASK|RMASS_MASK|V_MASK|OMEGA_MASK); if (pbc_flag) { if (deform_vremap) { @@ -414,7 +409,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -423,7 +418,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -434,7 +429,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -443,7 +438,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -456,7 +451,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -465,7 +460,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -476,7 +471,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -485,7 +480,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -499,7 +494,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -508,7 +503,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -519,7 +514,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -528,7 +523,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -545,7 +540,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -554,7 +549,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -565,7 +560,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -574,7 +569,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -587,7 +582,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -596,7 +591,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -607,7 +602,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -616,7 +611,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -630,7 +625,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -639,7 +634,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -650,7 +645,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -659,7 +654,7 @@ int AtomVecSphereKokkos::pack_comm_vel_kokkos( atomKK->k_x,atomKK->k_mask, atomKK->k_radius,atomKK->k_rmass, atomKK->k_v,atomKK->k_omega, - buf,list,iswap, + buf,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc,h_rate,deform_vremap); Kokkos::parallel_for(n,f); @@ -680,8 +675,7 @@ struct AtomVecSphereKokkos_PackCommSelf { typename ArrayTypes::t_x_array _xw; typename ArrayTypes::t_float_1d _radius,_rmass; int _nfirst; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + typename ArrayTypes::t_int_1d_const _list; X_FLOAT _xprd,_yprd,_zprd,_xy,_xz,_yz; X_FLOAT _pbc[6]; @@ -690,14 +684,13 @@ struct AtomVecSphereKokkos_PackCommSelf { const typename DAT::tdual_float_1d &radius, const typename DAT::tdual_float_1d &rmass, const int &nfirst, - const typename DAT::tdual_int_2d &list, - const int & iswap, + const typename DAT::tdual_int_1d &list, const X_FLOAT &xprd, const X_FLOAT &yprd, const X_FLOAT &zprd, const X_FLOAT &xy, const X_FLOAT &xz, const X_FLOAT &yz, const int* const pbc): _x(x.view()),_xw(x.view()), _radius(radius.view()), _rmass(rmass.view()), - _nfirst(nfirst),_list(list.view()),_iswap(iswap), + _nfirst(nfirst),_list(list.view()), _xprd(xprd),_yprd(yprd),_zprd(zprd), _xy(xy),_xz(xz),_yz(yz) { _pbc[0] = pbc[0]; _pbc[1] = pbc[1]; _pbc[2] = pbc[2]; @@ -706,7 +699,7 @@ struct AtomVecSphereKokkos_PackCommSelf { KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _xw(i+_nfirst,0) = _x(j,0); _xw(i+_nfirst,1) = _x(j,1); @@ -730,12 +723,12 @@ struct AtomVecSphereKokkos_PackCommSelf { /* ---------------------------------------------------------------------- */ int AtomVecSphereKokkos::pack_comm_self( - const int &n, const DAT::tdual_int_2d &list, const int &iswap, + const int &n, const DAT::tdual_int_1d &list, const int nfirst, const int &pbc_flag, const int* const pbc) { // Fallback to AtomVecKokkos if radvary == 0 if (radvary == 0) - return AtomVecKokkos::pack_comm_self(n,list,iswap,nfirst,pbc_flag,pbc); - if (commKK->forward_comm_on_host) { + return AtomVecKokkos::pack_comm_self(n,list,nfirst,pbc_flag,pbc); + if (lmp->kokkos->forward_comm_on_host) { atomKK->sync(Host,X_MASK|RADIUS_MASK|RMASS_MASK); atomKK->modified(Host,X_MASK|RADIUS_MASK|RMASS_MASK); if (pbc_flag) { @@ -743,7 +736,7 @@ int AtomVecSphereKokkos::pack_comm_self( struct AtomVecSphereKokkos_PackCommSelf f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -751,7 +744,7 @@ int AtomVecSphereKokkos::pack_comm_self( struct AtomVecSphereKokkos_PackCommSelf f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -761,7 +754,7 @@ int AtomVecSphereKokkos::pack_comm_self( struct AtomVecSphereKokkos_PackCommSelf f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -769,7 +762,7 @@ int AtomVecSphereKokkos::pack_comm_self( struct AtomVecSphereKokkos_PackCommSelf f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -783,7 +776,7 @@ int AtomVecSphereKokkos::pack_comm_self( struct AtomVecSphereKokkos_PackCommSelf f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -791,7 +784,7 @@ int AtomVecSphereKokkos::pack_comm_self( struct AtomVecSphereKokkos_PackCommSelf f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -801,7 +794,7 @@ int AtomVecSphereKokkos::pack_comm_self( struct AtomVecSphereKokkos_PackCommSelf f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -809,7 +802,7 @@ int AtomVecSphereKokkos::pack_comm_self( struct AtomVecSphereKokkos_PackCommSelf f( atomKK->k_x, atomKK->k_radius,atomKK->k_rmass, - nfirst,list,iswap, + nfirst,list, domain->xprd,domain->yprd,domain->zprd, domain->xy,domain->xz,domain->yz,pbc); Kokkos::parallel_for(n,f); @@ -866,7 +859,7 @@ void AtomVecSphereKokkos::unpack_comm_kokkos( AtomVecKokkos::unpack_comm_kokkos(n,first,buf); return; } - if (commKK->forward_comm_on_host) { + if (lmp->kokkos->forward_comm_on_host) { atomKK->modified(Host,X_MASK|RADIUS_MASK|RMASS_MASK); struct AtomVecSphereKokkos_UnpackComm f( atomKK->k_x, @@ -938,7 +931,7 @@ struct AtomVecSphereKokkos_UnpackCommVel { void AtomVecSphereKokkos::unpack_comm_vel_kokkos( const int &n, const int &first, const DAT::tdual_xfloat_2d &buf) { - if (commKK->forward_comm_on_host) { + if (lmp->kokkos->forward_comm_on_host) { atomKK->modified(Host,X_MASK|RADIUS_MASK|RMASS_MASK|V_MASK|OMEGA_MASK); if (radvary == 0) { struct AtomVecSphereKokkos_UnpackCommVel f( @@ -982,8 +975,7 @@ struct AtomVecSphereKokkos_PackBorder { typedef DeviceType device_type; typename ArrayTypes::t_xfloat_2d_um _buf; - const typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + const typename ArrayTypes::t_int_1d_const _list; const typename ArrayTypes::t_x_array_randomread _x; const typename ArrayTypes::t_tagint_1d _tag; const typename ArrayTypes::t_int_1d _type; @@ -993,8 +985,7 @@ struct AtomVecSphereKokkos_PackBorder { AtomVecSphereKokkos_PackBorder( const typename ArrayTypes::t_xfloat_2d &buf, - const typename ArrayTypes::t_int_2d_const &list, - const int &iswap, + const typename ArrayTypes::t_int_1d_const &list, const typename ArrayTypes::t_x_array &x, const typename ArrayTypes::t_tagint_1d &tag, const typename ArrayTypes::t_int_1d &type, @@ -1002,7 +993,6 @@ struct AtomVecSphereKokkos_PackBorder { const typename ArrayTypes::t_float_1d &radius, const typename ArrayTypes::t_float_1d &rmass, const X_FLOAT &dx, const X_FLOAT &dy, const X_FLOAT &dz): - _list(list),_iswap(iswap), _x(x),_tag(tag),_type(type),_mask(mask), _radius(radius), _rmass(rmass), @@ -1015,7 +1005,7 @@ struct AtomVecSphereKokkos_PackBorder { KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -1036,7 +1026,7 @@ struct AtomVecSphereKokkos_PackBorder { /* ---------------------------------------------------------------------- */ int AtomVecSphereKokkos::pack_border_kokkos( - int n, DAT::tdual_int_2d k_sendlist, DAT::tdual_xfloat_2d buf,int iswap, + int n, DAT::tdual_int_1d k_sendlist, DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) { X_FLOAT dx,dy,dz; @@ -1057,14 +1047,14 @@ int AtomVecSphereKokkos::pack_border_kokkos( if (space==Host) { AtomVecSphereKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask, + h_x,h_tag,h_type,h_mask, h_radius,h_rmass, dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecSphereKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask, + d_x,d_tag,d_type,d_mask, d_radius,d_rmass, dx,dy,dz); Kokkos::parallel_for(n,f); @@ -1074,14 +1064,14 @@ int AtomVecSphereKokkos::pack_border_kokkos( if (space==Host) { AtomVecSphereKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask, + h_x,h_tag,h_type,h_mask, h_radius,h_rmass, dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecSphereKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask, + d_x,d_tag,d_type,d_mask, d_radius,d_rmass, dx,dy,dz); Kokkos::parallel_for(n,f); @@ -1097,8 +1087,7 @@ struct AtomVecSphereKokkos_PackBorderVel { typedef DeviceType device_type; typename ArrayTypes::t_xfloat_2d_um _buf; - const typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + const typename ArrayTypes::t_int_1d_const _list; const typename ArrayTypes::t_x_array_randomread _x; const typename ArrayTypes::t_tagint_1d _tag; const typename ArrayTypes::t_int_1d _type; @@ -1110,8 +1099,7 @@ struct AtomVecSphereKokkos_PackBorderVel { AtomVecSphereKokkos_PackBorderVel( const typename ArrayTypes::t_xfloat_2d &buf, - const typename ArrayTypes::t_int_2d_const &list, - const int &iswap, + const typename ArrayTypes::t_int_1d_const &list, const typename ArrayTypes::t_x_array &x, const typename ArrayTypes::t_tagint_1d &tag, const typename ArrayTypes::t_int_1d &type, @@ -1123,7 +1111,7 @@ struct AtomVecSphereKokkos_PackBorderVel { const X_FLOAT &dx, const X_FLOAT &dy, const X_FLOAT &dz, const X_FLOAT &dvx, const X_FLOAT &dvy, const X_FLOAT &dvz, const int &deform_groupbit): - _buf(buf),_list(list),_iswap(iswap), + _buf(buf),_list(list), _x(x),_tag(tag),_type(type),_mask(mask), _radius(radius), _rmass(rmass), @@ -1139,7 +1127,7 @@ struct AtomVecSphereKokkos_PackBorderVel { KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -1175,7 +1163,7 @@ struct AtomVecSphereKokkos_PackBorderVel { /* ---------------------------------------------------------------------- */ int AtomVecSphereKokkos::pack_border_vel_kokkos( - int n, DAT::tdual_int_2d k_sendlist, DAT::tdual_xfloat_2d buf,int iswap, + int n, DAT::tdual_int_1d k_sendlist, DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) { X_FLOAT dx=0,dy=0,dz=0; @@ -1198,7 +1186,7 @@ int AtomVecSphereKokkos::pack_border_vel_kokkos( if (space==Host) { AtomVecSphereKokkos_PackBorderVel f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask, + h_x,h_tag,h_type,h_mask, h_radius,h_rmass, h_v, h_omega, dx,dy,dz,dvx,dvy,dvz, @@ -1207,7 +1195,7 @@ int AtomVecSphereKokkos::pack_border_vel_kokkos( } else { AtomVecSphereKokkos_PackBorderVel f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask, + d_x,d_tag,d_type,d_mask, d_radius,d_rmass, d_v, d_omega, dx,dy,dz,dvx,dvy,dvz, @@ -1222,7 +1210,7 @@ int AtomVecSphereKokkos::pack_border_vel_kokkos( if (space==Host) { AtomVecSphereKokkos_PackBorderVel f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask, + h_x,h_tag,h_type,h_mask, h_radius,h_rmass, h_v, h_omega, dx,dy,dz,dvx,dvy,dvz, @@ -1231,7 +1219,7 @@ int AtomVecSphereKokkos::pack_border_vel_kokkos( } else { AtomVecSphereKokkos_PackBorderVel f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask, + d_x,d_tag,d_type,d_mask, d_radius,d_rmass, d_v, d_omega, dx,dy,dz,dvx,dvy,dvz, @@ -1243,7 +1231,7 @@ int AtomVecSphereKokkos::pack_border_vel_kokkos( if (space==Host) { AtomVecSphereKokkos_PackBorderVel f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask, + h_x,h_tag,h_type,h_mask, h_radius,h_rmass, h_v, h_omega, dx,dy,dz,dvx,dvy,dvz, @@ -1252,7 +1240,7 @@ int AtomVecSphereKokkos::pack_border_vel_kokkos( } else { AtomVecSphereKokkos_PackBorderVel f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask, + d_x,d_tag,d_type,d_mask, d_radius,d_rmass, d_v, d_omega, dx,dy,dz,dvx,dvy,dvz, diff --git a/src/KOKKOS/atom_vec_sphere_kokkos.h b/src/KOKKOS/atom_vec_sphere_kokkos.h index 34529320d9..b28da45c6a 100644 --- a/src/KOKKOS/atom_vec_sphere_kokkos.h +++ b/src/KOKKOS/atom_vec_sphere_kokkos.h @@ -37,29 +37,27 @@ class AtomVecSphereKokkos : public AtomVecKokkos, public AtomVecSphere { void grow_pointers() override; void sort_kokkos(Kokkos::BinSort &Sorter) override; - int pack_comm_kokkos(const int &n, const DAT::tdual_int_2d &k_sendlist, - const int & iswap, + int pack_comm_kokkos(const int &n, const DAT::tdual_int_1d &k_sendlist, const DAT::tdual_xfloat_2d &buf, const int &pbc_flag, const int pbc[]) override; void unpack_comm_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf) override; - int pack_comm_vel_kokkos(const int &n, const DAT::tdual_int_2d &k_sendlist, - const int & iswap, + int pack_comm_vel_kokkos(const int &n, const DAT::tdual_int_1d &k_sendlist, const DAT::tdual_xfloat_2d &buf, const int &pbc_flag, const int pbc[]) override; void unpack_comm_vel_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf) override; - int pack_comm_self(const int &n, const DAT::tdual_int_2d &list, - const int & iswap, const int nfirst, + int pack_comm_self(const int &n, const DAT::tdual_int_1d &list, + const int nfirst, const int &pbc_flag, const int pbc[]) override; - int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, + int pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) override; void unpack_border_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf, ExecutionSpace space) override; - int pack_border_vel_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, + int pack_border_vel_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) override; void unpack_border_vel_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf, diff --git a/src/KOKKOS/atom_vec_spin_kokkos.cpp b/src/KOKKOS/atom_vec_spin_kokkos.cpp index c6ee7c1d3b..87f5cd46c6 100644 --- a/src/KOKKOS/atom_vec_spin_kokkos.cpp +++ b/src/KOKKOS/atom_vec_spin_kokkos.cpp @@ -157,8 +157,7 @@ struct AtomVecSpinKokkos_PackComm { typename ArrayTypes::t_x_array_randomread _x; typename ArrayTypes::t_sp_array_randomread _sp; typename ArrayTypes::t_xfloat_2d_um _buf; - typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + typename ArrayTypes::t_int_1d_const _list; X_FLOAT _xprd,_yprd,_zprd,_xy,_xz,_yz; X_FLOAT _pbc[6]; @@ -166,12 +165,11 @@ struct AtomVecSpinKokkos_PackComm { const typename DAT::tdual_x_array &x, const typename DAT::tdual_float_1d_4 &sp, const typename DAT::tdual_xfloat_2d &buf, - const typename DAT::tdual_int_2d &list, - const int & iswap, + const typename DAT::tdual_int_1d &list, const X_FLOAT &xprd, const X_FLOAT &yprd, const X_FLOAT &zprd, const X_FLOAT &xy, const X_FLOAT &xz, const X_FLOAT &yz, const int* const pbc): _x(x.view()),_sp(sp.view()), - _list(list.view()),_iswap(iswap), + _list(list.view()), _xprd(xprd),_yprd(yprd),_zprd(zprd), _xy(xy),_xz(xz),_yz(yz) { const size_t maxsend = (buf.view().extent(0)*buf.view().extent(1))/3; @@ -183,7 +181,7 @@ struct AtomVecSpinKokkos_PackComm { KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -221,8 +219,7 @@ struct AtomVecSpinKokkos_PackBorder { typedef DeviceType device_type; typename ArrayTypes::t_xfloat_2d _buf; - const typename ArrayTypes::t_int_2d_const _list; - const int _iswap; + const typename ArrayTypes::t_int_1d_const _list; const typename ArrayTypes::t_x_array_randomread _x; const typename ArrayTypes::t_tagint_1d _tag; const typename ArrayTypes::t_int_1d _type; @@ -232,21 +229,20 @@ struct AtomVecSpinKokkos_PackBorder { AtomVecSpinKokkos_PackBorder( const typename ArrayTypes::t_xfloat_2d &buf, - const typename ArrayTypes::t_int_2d_const &list, - const int & iswap, + const typename ArrayTypes::t_int_1d_const &list, const typename ArrayTypes::t_x_array &x, const typename ArrayTypes::t_tagint_1d &tag, const typename ArrayTypes::t_int_1d &type, const typename ArrayTypes::t_int_1d &mask, const typename ArrayTypes::t_sp_array &sp, const X_FLOAT &dx, const X_FLOAT &dy, const X_FLOAT &dz): - _buf(buf),_list(list),_iswap(iswap), + _buf(buf),_list(list), _x(x),_tag(tag),_type(type),_mask(mask),_sp(sp), _dx(dx),_dy(dy),_dz(dz) {} KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - const int j = _list(_iswap,i); + const int j = _list(i); if (PBC_FLAG == 0) { _buf(i,0) = _x(j,0); _buf(i,1) = _x(j,1); @@ -275,7 +271,7 @@ struct AtomVecSpinKokkos_PackBorder { /* ---------------------------------------------------------------------- */ -int AtomVecSpinKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, DAT::tdual_xfloat_2d buf,int iswap, +int AtomVecSpinKokkos::pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) { X_FLOAT dx,dy,dz; @@ -293,12 +289,12 @@ int AtomVecSpinKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, D if(space==Host) { AtomVecSpinKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,h_sp,dx,dy,dz); + h_x,h_tag,h_type,h_mask,h_sp,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecSpinKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,d_sp,dx,dy,dz); + d_x,d_tag,d_type,d_mask,d_sp,dx,dy,dz); Kokkos::parallel_for(n,f); } @@ -307,12 +303,12 @@ int AtomVecSpinKokkos::pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, D if(space==Host) { AtomVecSpinKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,h_x,h_tag,h_type,h_mask,h_sp,dx,dy,dz); + h_x,h_tag,h_type,h_mask,h_sp,dx,dy,dz); Kokkos::parallel_for(n,f); } else { AtomVecSpinKokkos_PackBorder f( buf.view(), k_sendlist.view(), - iswap,d_x,d_tag,d_type,d_mask,d_sp,dx,dy,dz); + d_x,d_tag,d_type,d_mask,d_sp,dx,dy,dz); Kokkos::parallel_for(n,f); } } diff --git a/src/KOKKOS/atom_vec_spin_kokkos.h b/src/KOKKOS/atom_vec_spin_kokkos.h index f0145e4db7..6f968dcd25 100644 --- a/src/KOKKOS/atom_vec_spin_kokkos.h +++ b/src/KOKKOS/atom_vec_spin_kokkos.h @@ -36,8 +36,8 @@ class AtomVecSpinKokkos : public AtomVecKokkos, public AtomVecSpin { void grow_pointers() override; void force_clear(int, size_t) override; void sort_kokkos(Kokkos::BinSort &Sorter) override; - int pack_border_kokkos(int n, DAT::tdual_int_2d k_sendlist, - DAT::tdual_xfloat_2d buf,int iswap, + int pack_border_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_2d buf, int pbc_flag, int *pbc, ExecutionSpace space) override; void unpack_border_kokkos(const int &n, const int &nfirst, const DAT::tdual_xfloat_2d &buf, diff --git a/src/KOKKOS/comm_kokkos.cpp b/src/KOKKOS/comm_kokkos.cpp index 6bb2d7e4d0..2425857d61 100644 --- a/src/KOKKOS/comm_kokkos.cpp +++ b/src/KOKKOS/comm_kokkos.cpp @@ -142,11 +142,15 @@ void CommKokkos::init() if (force->newton == 0) check_reverse = 0; if (force->pair) check_reverse += force->pair->comm_reverse_off; - if (!comm_f_only) // not all Kokkos atom_vec styles have reverse pack/unpack routines yet + if (!comm_f_only) {// not all Kokkos atom_vec styles have reverse pack/unpack routines yet reverse_comm_classic = true; + lmp->kokkos->reverse_comm_classic = 1; + } - if (ghost_velocity && atomKK->avecKK->no_comm_vel_flag) // not all Kokkos atom_vec styles have comm vel pack/unpack routines yet + if (ghost_velocity && atomKK->avecKK->no_comm_vel_flag) { // not all Kokkos atom_vec styles have comm vel pack/unpack routines yet forward_comm_classic = true; + lmp->kokkos->forward_comm_classic = 1; + } } /* ---------------------------------------------------------------------- @@ -157,8 +161,8 @@ void CommKokkos::init() void CommKokkos::forward_comm(int dummy) { if (!forward_comm_classic) { - if (forward_comm_on_host) forward_comm_device(dummy); - else forward_comm_device(dummy); + if (forward_comm_on_host) forward_comm_device(); + else forward_comm_device(); return; } @@ -181,7 +185,7 @@ void CommKokkos::forward_comm(int dummy) /* ---------------------------------------------------------------------- */ template -void CommKokkos::forward_comm_device(int) +void CommKokkos::forward_comm_device() { int n; MPI_Request request; @@ -192,7 +196,6 @@ void CommKokkos::forward_comm_device(int) // if comm_x_only set, exchange or copy directly to x, don't unpack k_sendlist.sync(); - atomKK->sync(ExecutionSpaceFromDevice::space,X_MASK); if (comm->nprocs == 1 && !ghost_velocity) { k_swap.sync(); @@ -211,26 +214,26 @@ void CommKokkos::forward_comm_device(int) MPI_Irecv(buf,size_forward_recv[iswap],MPI_DOUBLE, recvproc[iswap],0,world,&request); } - n = atomKK->avecKK->pack_comm_kokkos(sendnum[iswap],k_sendlist, - iswap,k_buf_send,pbc_flag[iswap],pbc[iswap]); + auto k_sendlist_iswap = Kokkos::subview(k_sendlist,iswap,Kokkos::ALL); + n = atomKK->avecKK->pack_comm_kokkos(sendnum[iswap],k_sendlist_iswap, + k_buf_send,pbc_flag[iswap],pbc[iswap]); DeviceType().fence(); if (n) { MPI_Send(k_buf_send.view().data(), n,MPI_DOUBLE,sendproc[iswap],0,world); } - if (size_forward_recv[iswap]) { + if (size_forward_recv[iswap]) MPI_Wait(&request,MPI_STATUS_IGNORE); - atomKK->modified(ExecutionSpaceFromDevice:: - space,X_MASK); - } + } else if (ghost_velocity) { if (size_forward_recv[iswap]) { MPI_Irecv(k_buf_recv.view().data(), size_forward_recv[iswap],MPI_DOUBLE, recvproc[iswap],0,world,&request); } - n = atomKK->avecKK->pack_comm_vel_kokkos(sendnum[iswap],k_sendlist,iswap, + auto k_sendlist_iswap = Kokkos::subview(k_sendlist,iswap,Kokkos::ALL); + n = atomKK->avecKK->pack_comm_vel_kokkos(sendnum[iswap],k_sendlist_iswap, k_buf_send,pbc_flag[iswap],pbc[iswap]); DeviceType().fence(); if (n) { @@ -245,7 +248,8 @@ void CommKokkos::forward_comm_device(int) MPI_Irecv(k_buf_recv.view().data(), size_forward_recv[iswap],MPI_DOUBLE, recvproc[iswap],0,world,&request); - n = atomKK->avecKK->pack_comm_kokkos(sendnum[iswap],k_sendlist,iswap, + auto k_sendlist_iswap = Kokkos::subview(k_sendlist,iswap,Kokkos::ALL); + n = atomKK->avecKK->pack_comm_kokkos(sendnum[iswap],k_sendlist_iswap, k_buf_send,pbc_flag[iswap],pbc[iswap]); DeviceType().fence(); if (n) @@ -257,12 +261,15 @@ void CommKokkos::forward_comm_device(int) } } else { if (!ghost_velocity) { - if (sendnum[iswap]) - n = atomKK->avecKK->pack_comm_self(sendnum[iswap],k_sendlist,iswap, + if (sendnum[iswap]) { + auto k_sendlist_iswap = Kokkos::subview(k_sendlist,iswap,Kokkos::ALL); + n = atomKK->avecKK->pack_comm_self(sendnum[iswap],k_sendlist_iswap, firstrecv[iswap],pbc_flag[iswap],pbc[iswap]); - DeviceType().fence(); + DeviceType().fence(); + } } else { - n = atomKK->avecKK->pack_comm_vel_kokkos(sendnum[iswap],k_sendlist,iswap, + auto k_sendlist_iswap = Kokkos::subview(k_sendlist,iswap,Kokkos::ALL); + n = atomKK->avecKK->pack_comm_vel_kokkos(sendnum[iswap],k_sendlist_iswap, k_buf_send,pbc_flag[iswap],pbc[iswap]); DeviceType().fence(); atomKK->avecKK->unpack_comm_vel_kokkos(recvnum[iswap],firstrecv[iswap],k_buf_send); @@ -299,10 +306,10 @@ void CommKokkos::reverse_comm() atomKK->modified(Host,F_MASK); else atomKK->modified(Host,ALL_MASK); - - //atomKK->sync(Device,ALL_MASK); // is this needed? } +/* ---------------------------------------------------------------------- */ + template void CommKokkos::reverse_comm_device() { @@ -315,7 +322,6 @@ void CommKokkos::reverse_comm_device() // if comm_f_only set, exchange or copy directly from f, don't pack k_sendlist.sync(); - atomKK->sync(ExecutionSpaceFromDevice::space,F_MASK); for (int iswap = nswap-1; iswap >= 0; iswap--) { if (sendproc[iswap] != me) { @@ -330,11 +336,9 @@ void CommKokkos::reverse_comm_device() MPI_Send(buf,size_reverse_send[iswap],MPI_DOUBLE, recvproc[iswap],0,world); } - if (size_reverse_recv[iswap]) { + if (size_reverse_recv[iswap]) MPI_Wait(&request,MPI_STATUS_IGNORE); - atomKK->modified(ExecutionSpaceFromDevice:: - space,F_MASK); - } + } else { if (size_reverse_recv[iswap]) MPI_Irecv(k_buf_recv.view().data(), @@ -347,18 +351,28 @@ void CommKokkos::reverse_comm_device() MPI_DOUBLE,recvproc[iswap],0,world); if (size_reverse_recv[iswap]) MPI_Wait(&request,MPI_STATUS_IGNORE); } - atomKK->avecKK->unpack_reverse_kokkos(sendnum[iswap],k_sendlist,iswap, + auto k_sendlist_iswap = Kokkos::subview(k_sendlist,iswap,Kokkos::ALL); + atomKK->avecKK->unpack_reverse_kokkos(sendnum[iswap],k_sendlist_iswap, k_buf_recv); DeviceType().fence(); } else { - if (sendnum[iswap]) - n = atomKK->avecKK->unpack_reverse_self(sendnum[iswap],k_sendlist,iswap, + if (sendnum[iswap]) { + auto k_sendlist_iswap = Kokkos::subview(k_sendlist,iswap,Kokkos::ALL); + n = atomKK->avecKK->pack_reverse_self(sendnum[iswap],k_sendlist_iswap, firstrecv[iswap]); + } } } } -/* ---------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + forward communication invoked by a Fix + size/nsize used only to set recv buffer limit + size = 0 (default) -> use comm_forward from Fix + size > 0 -> Fix passes max size per atom + the latter is only useful if Fix does several comm modes, + some are smaller than max stored in its comm_forward +------------------------------------------------------------------------- */ void CommKokkos::forward_comm(Fix *fix, int size) { @@ -371,6 +385,8 @@ void CommKokkos::forward_comm(Fix *fix, int size) } } +/* ---------------------------------------------------------------------- */ + template void CommKokkos::forward_comm_device(Fix *fix, int size) { @@ -393,8 +409,9 @@ void CommKokkos::forward_comm_device(Fix *fix, int size) // pack buffer - n = fixKKBase->pack_forward_comm_kokkos(sendnum[iswap],k_sendlist, - iswap,k_buf_send_fix,pbc_flag[iswap],pbc[iswap]); + auto k_sendlist_iswap = Kokkos::subview(k_sendlist,iswap,Kokkos::ALL); + n = fixKKBase->pack_forward_comm_kokkos(sendnum[iswap],k_sendlist_iswap, + k_buf_send_fix,pbc_flag[iswap],pbc[iswap]); DeviceType().fence(); // exchange with another proc @@ -435,7 +452,14 @@ void CommKokkos::forward_comm_device(Fix *fix, int size) } } -/* ---------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + reverse communication invoked by a Fix + size/nsize used only to set recv buffer limit + size = 0 (default) -> use comm_forward from Fix + size > 0 -> Fix passes max size per atom + the latter is only useful if Fix does several comm modes, + some are smaller than max stored in its comm_forward +------------------------------------------------------------------------- */ void CommKokkos::reverse_comm(Fix *fix, int size) { @@ -443,18 +467,66 @@ void CommKokkos::reverse_comm(Fix *fix, int size) CommBrick::reverse_comm(fix, size); } + +/* ---------------------------------------------------------------------- + reverse communication invoked by a Fix with variable size data + query fix for pack size to ensure buf_send is big enough + handshake sizes before each Irecv/Send to ensure buf_recv is big enough +------------------------------------------------------------------------- */ + +void CommKokkos::reverse_comm_variable(Fix *fix) +{ + k_sendlist.sync(); + CommBrick::reverse_comm_variable(fix); +} + +/* ---------------------------------------------------------------------- + forward communication invoked by a Compute + nsize used only to set recv buffer limit +------------------------------------------------------------------------- */ + void CommKokkos::forward_comm(Compute *compute) { k_sendlist.sync(); CommBrick::forward_comm(compute); } +/* ---------------------------------------------------------------------- + forward communication invoked by a Bond + nsize used only to set recv buffer limit +------------------------------------------------------------------------- */ + +void CommKokkos::forward_comm(Bond *bond) +{ + CommBrick::forward_comm(bond); +} + +/* ---------------------------------------------------------------------- + reverse communication invoked by a Bond + nsize used only to set recv buffer limit +------------------------------------------------------------------------- */ + +void CommKokkos::reverse_comm(Bond *bond) +{ + CommBrick::reverse_comm(bond); +} + +/* ---------------------------------------------------------------------- + reverse communication invoked by a Compute + nsize used only to set recv buffer limit +------------------------------------------------------------------------- */ + void CommKokkos::reverse_comm(Compute *compute) { k_sendlist.sync(); CommBrick::reverse_comm(compute); } +/* ---------------------------------------------------------------------- + forward communication invoked by a Dump + nsize used only to set recv buffer limit +------------------------------------------------------------------------- */ + void CommKokkos::forward_comm(Pair *pair) { if (pair->execution_space == Host || forward_pair_comm_classic) { @@ -466,6 +538,8 @@ void CommKokkos::forward_comm(Pair *pair) } } +/* ---------------------------------------------------------------------- */ + template void CommKokkos::forward_comm_device(Pair *pair) { @@ -488,8 +562,9 @@ void CommKokkos::forward_comm_device(Pair *pair) // pack buffer - n = pairKKBase->pack_forward_comm_kokkos(sendnum[iswap],k_sendlist, - iswap,k_buf_send_pair,pbc_flag[iswap],pbc[iswap]); + auto k_sendlist_iswap = Kokkos::subview(k_sendlist,iswap,Kokkos::ALL); + n = pairKKBase->pack_forward_comm_kokkos(sendnum[iswap],k_sendlist_iswap, + k_buf_send_pair,pbc_flag[iswap],pbc[iswap]); DeviceType().fence(); // exchange with another proc @@ -530,18 +605,24 @@ void CommKokkos::forward_comm_device(Pair *pair) } } +/* ---------------------------------------------------------------------- */ + void CommKokkos::grow_buf_pair(int n) { max_buf_pair = n * BUFFACTOR; k_buf_send_pair.resize(max_buf_pair); k_buf_recv_pair.resize(max_buf_pair); } +/* ---------------------------------------------------------------------- */ + void CommKokkos::grow_buf_fix(int n) { max_buf_fix = n * BUFFACTOR; k_buf_send_fix.resize(max_buf_fix); k_buf_recv_fix.resize(max_buf_fix); } +/* ---------------------------------------------------------------------- */ + void CommKokkos::reverse_comm(Pair *pair) { if (pair->execution_space == Host || !pair->reverse_comm_device || reverse_pair_comm_classic) { @@ -553,6 +634,8 @@ void CommKokkos::reverse_comm(Pair *pair) } } +/* ---------------------------------------------------------------------- */ + template void CommKokkos::reverse_comm_device(Pair *pair) { @@ -610,18 +693,23 @@ void CommKokkos::reverse_comm_device(Pair *pair) // unpack buffer - pairKKBase->unpack_reverse_comm_kokkos(sendnum[iswap],k_sendlist, - iswap,k_buf_tmp); + auto k_sendlist_iswap = Kokkos::subview(k_sendlist,iswap,Kokkos::ALL); + pairKKBase->unpack_reverse_comm_kokkos(sendnum[iswap],k_sendlist_iswap, + k_buf_tmp); DeviceType().fence(); } } +/* ---------------------------------------------------------------------- */ + void CommKokkos::forward_comm(Dump *dump) { k_sendlist.sync(); CommBrick::forward_comm(dump); } +/* ---------------------------------------------------------------------- */ + void CommKokkos::reverse_comm(Dump *dump) { k_sendlist.sync(); @@ -668,6 +756,7 @@ void CommKokkos::exchange() } } exchange_comm_classic = true; + lmp->kokkos->exchange_comm_classic = 1; } } } @@ -980,6 +1069,7 @@ void CommKokkos::borders() "switching to classic exchange/border communication"); } exchange_comm_classic = true; + lmp->kokkos->exchange_comm_classic = 1; } } @@ -1202,14 +1292,15 @@ void CommKokkos::borders_device() { if (nsend*size_border > maxsend) grow_send_kokkos(nsend*size_border,0); if (ghost_velocity) { + auto k_sendlist_iswap = Kokkos::subview(k_sendlist,iswap,Kokkos::ALL); n = atomKK->avecKK-> - pack_border_vel_kokkos(nsend,k_sendlist,k_buf_send,iswap, + pack_border_vel_kokkos(nsend,k_sendlist_iswap,k_buf_send, pbc_flag[iswap],pbc[iswap],exec_space); DeviceType().fence(); - } - else { + } else { + auto k_sendlist_iswap = Kokkos::subview(k_sendlist,iswap,Kokkos::ALL); n = atomKK->avecKK-> - pack_border_kokkos(nsend,k_sendlist,k_buf_send,iswap, + pack_border_kokkos(nsend,k_sendlist_iswap,k_buf_send, pbc_flag[iswap],pbc[iswap],exec_space); DeviceType().fence(); } diff --git a/src/KOKKOS/comm_kokkos.h b/src/KOKKOS/comm_kokkos.h index e06810b939..4fb4dfbe29 100644 --- a/src/KOKKOS/comm_kokkos.h +++ b/src/KOKKOS/comm_kokkos.h @@ -45,18 +45,21 @@ class CommKokkos : public CommBrick { void exchange() override; // move atoms to new procs void borders() override; // setup list of atoms to comm - void forward_comm(class Pair *) override; // forward comm from a Pair - void reverse_comm(class Pair *) override; // reverse comm from a Pair - void forward_comm(class Fix *, int size=0) override; // forward comm from a Fix - void reverse_comm(class Fix *, int size=0) override; // reverse comm from a Fix - void forward_comm(class Compute *) override; // forward from a Compute - void reverse_comm(class Compute *) override; // reverse from a Compute - void forward_comm(class Dump *) override; // forward comm from a Dump - void reverse_comm(class Dump *) override; // reverse comm from a Dump + void forward_comm(class Pair *) override; // forward comm from a Pair + void reverse_comm(class Pair *) override; // reverse comm from a Pair + void forward_comm(class Bond *) override; // forward comm from a Bond + void reverse_comm(class Bond *) override; // reverse comm from a Bond + void forward_comm(class Fix *, int size = 0) override; // forward comm from a Fix + void reverse_comm(class Fix *, int size = 0) override; // reverse comm from a Fix + void reverse_comm_variable(class Fix *) override; // variable size reverse comm from a Fix + void forward_comm(class Compute *) override; // forward from a Compute + void reverse_comm(class Compute *) override; // reverse from a Compute + void forward_comm(class Dump *) override; // forward comm from a Dump + void reverse_comm(class Dump *) override; // reverse comm from a Dump void forward_comm_array(int, double **) override; // forward comm of array - template void forward_comm_device(int dummy); + template void forward_comm_device(); template void reverse_comm_device(); template void forward_comm_device(Pair *pair); template void reverse_comm_device(Pair *pair); @@ -95,7 +98,6 @@ class CommKokkos : public CommBrick { void copy_swap_info(); }; -} +} // namespace LAMMPS_NS #endif - diff --git a/src/KOKKOS/comm_tiled_kokkos.cpp b/src/KOKKOS/comm_tiled_kokkos.cpp index 5b35527b7e..86268301ad 100644 --- a/src/KOKKOS/comm_tiled_kokkos.cpp +++ b/src/KOKKOS/comm_tiled_kokkos.cpp @@ -16,13 +16,28 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include "atom_vec.h" +#include "atom_vec_kokkos.h" +#include "compute.h" +#include "dump.h" +#include "fix.h" +#include "force.h" +#include "kokkos.h" +#include "memory_kokkos.h" +#include "modify.h" +#include "output.h" using namespace LAMMPS_NS; +static constexpr double BUFFACTOR = 1.5; +static constexpr int BUFMIN = 1024; +static constexpr int BUFEXTRA = 1000; + /* ---------------------------------------------------------------------- */ -CommTiledKokkos::CommTiledKokkos(LAMMPS *_lmp) : CommTiled(_lmp) {} +CommTiledKokkos::CommTiledKokkos(LAMMPS *_lmp) : CommTiled(_lmp) +{ + sendlist = nullptr; +} /* ---------------------------------------------------------------------- */ //IMPORTANT: we *MUST* pass "*oldcomm" to the Comm initializer here, as @@ -31,10 +46,69 @@ CommTiledKokkos::CommTiledKokkos(LAMMPS *_lmp) : CommTiled(_lmp) {} // The call to Comm::copy_arrays() then converts the shallow copy // into a deep copy of the class with the new layout. -CommTiledKokkos::CommTiledKokkos(LAMMPS *_lmp, Comm *oldcomm) : CommTiled(_lmp,oldcomm) {} +CommTiledKokkos::CommTiledKokkos(LAMMPS *_lmp, Comm *oldcomm) : CommTiled(_lmp,oldcomm) +{ + sendlist = nullptr; +} /* ---------------------------------------------------------------------- */ +CommTiledKokkos::~CommTiledKokkos() +{ + memoryKK->destroy_kokkos(k_sendlist,sendlist); + sendlist = nullptr; + buf_send = nullptr; + buf_recv = nullptr; +} + +/* ---------------------------------------------------------------------- */ + +void CommTiledKokkos::init() +{ + atomKK = (AtomKokkos *) atom; + 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; + forward_comm_on_host = lmp->kokkos->forward_comm_on_host; + reverse_comm_on_host = lmp->kokkos->reverse_comm_on_host; + + CommTiled::init(); + + int check_forward = 0; + int check_reverse = 0; + if (force->pair && (force->pair->execution_space == Host)) + check_forward += force->pair->comm_forward; + if (force->pair && (force->pair->execution_space == Host)) + check_reverse += force->pair->comm_reverse; + + for (const auto &fix : modify->get_fix_list()) { + check_forward += fix->comm_forward; + check_reverse += fix->comm_reverse; + } + + for (const auto &compute : modify->get_compute_list()) { + check_forward += compute->comm_forward; + check_reverse += compute->comm_reverse; + } + + for (const auto &dump : output->get_dump_list()) { + check_forward += dump->comm_forward; + check_reverse += dump->comm_reverse; + } + + if (force->newton == 0) check_reverse = 0; + if (force->pair) check_reverse += force->pair->comm_reverse_off; + + if (!comm_f_only) { // not all Kokkos atom_vec styles have reverse pack/unpack routines yet + reverse_comm_classic = true; + lmp->kokkos->reverse_comm_classic = 1; + } +} + /* ---------------------------------------------------------------------- forward communication of atom coords every timestep other per-atom attributes may also be sent via pack/unpack routines @@ -42,6 +116,14 @@ CommTiledKokkos::CommTiledKokkos(LAMMPS *_lmp, Comm *oldcomm) : CommTiled(_lmp,o void CommTiledKokkos::forward_comm(int dummy) { + if (!forward_comm_classic) { + if (forward_comm_on_host) forward_comm_device(); + else forward_comm_device(); + return; + } + + k_sendlist.sync(); + if (comm_x_only) { atomKK->sync(Host,X_MASK); atomKK->modified(Host,X_MASK); @@ -56,6 +138,127 @@ void CommTiledKokkos::forward_comm(int dummy) CommTiled::forward_comm(dummy); } +/* ---------------------------------------------------------------------- */ + +template +void CommTiledKokkos::forward_comm_device() +{ + int i,irecv,n,nsend,nrecv; + double *buf; + + // exchange data with another set of procs in each swap + // post recvs from all procs except self + // send data to all procs except self + // copy data to self if sendself is set + // wait on all procs except self and unpack received data + // if comm_x_only set, exchange or copy directly to x, don't unpack + + k_sendlist.sync(); + + for (int iswap = 0; iswap < nswap; iswap++) { + nsend = nsendproc[iswap] - sendself[iswap]; + nrecv = nrecvproc[iswap] - sendself[iswap]; + + if (comm_x_only) { + if (recvother[iswap]) { + for (i = 0; i < nrecv; i++) { + buf = atomKK->k_x.view().data() + + firstrecv[iswap][i]*atomKK->k_x.view().extent(1); + MPI_Irecv(buf,size_forward_recv[iswap][i], + MPI_DOUBLE,recvproc[iswap][i],0,world,&requests[i]); + } + } + if (sendother[iswap]) { + for (i = 0; i < nsend; i++) { + auto k_sendlist_small = Kokkos::subview(k_sendlist,iswap,i,Kokkos::ALL); + n = atomKK->avecKK->pack_comm_kokkos(sendnum[iswap][i],k_sendlist_small, + k_buf_send,pbc_flag[iswap][i],pbc[iswap][i]); + DeviceType().fence(); + MPI_Send(k_buf_send.view().data(),n,MPI_DOUBLE,sendproc[iswap][i],0,world); + } + } + if (sendself[iswap]) { + auto k_sendlist_small = Kokkos::subview(k_sendlist,iswap,nsend,Kokkos::ALL); + atomKK->avecKK->pack_comm_self(sendnum[iswap][nsend],k_sendlist_small, + firstrecv[iswap][nrecv],pbc_flag[iswap][nsend],pbc[iswap][nsend]); + DeviceType().fence(); + } + if (recvother[iswap]) MPI_Waitall(nrecv,requests,MPI_STATUS_IGNORE); + + } else if (ghost_velocity) { + if (recvother[iswap]) { + for (i = 0; i < nrecv; i++) { + buf = k_buf_recv.view().data() + + forward_recv_offset[iswap][i]*k_buf_recv.view().extent(1); + MPI_Irecv(buf, + size_forward_recv[iswap][i],MPI_DOUBLE,recvproc[iswap][i],0,world,&requests[i]); + } + } + if (sendother[iswap]) { + for (i = 0; i < nsend; i++) { + auto k_sendlist_small = Kokkos::subview(k_sendlist,iswap,i,Kokkos::ALL); + n = atomKK->avecKK->pack_comm_vel_kokkos(sendnum[iswap][i],k_sendlist_small, + k_buf_send,pbc_flag[iswap][i],pbc[iswap][i]); + DeviceType().fence(); + MPI_Send(k_buf_send.view().data(),n, + MPI_DOUBLE,sendproc[iswap][i],0,world); + } + } + if (sendself[iswap]) { + auto k_sendlist_small = Kokkos::subview(k_sendlist,iswap,nsend,Kokkos::ALL); + atomKK->avecKK->pack_comm_vel_kokkos(sendnum[iswap][nsend],k_sendlist_small, + k_buf_send,pbc_flag[iswap][nsend],pbc[iswap][nsend]); + DeviceType().fence(); + atomKK->avecKK->unpack_comm_vel_kokkos(recvnum[iswap][nrecv],firstrecv[iswap][nrecv],k_buf_send); + DeviceType().fence(); + } + if (recvother[iswap]) { + for (i = 0; i < nrecv; i++) { + MPI_Waitany(nrecv,requests,&irecv,MPI_STATUS_IGNORE); + auto k_buf_recv_offset = Kokkos::subview(k_buf_recv,std::pair(forward_recv_offset[iswap][irecv],(int)k_buf_recv.extent(1)),Kokkos::ALL); + atomKK->avecKK->unpack_comm_vel_kokkos(recvnum[iswap][irecv],firstrecv[iswap][irecv], + k_buf_recv_offset); + DeviceType().fence(); + } + } + + } else { + if (recvother[iswap]) { + for (i = 0; i < nrecv; i++) { + buf = k_buf_recv.view().data() + + forward_recv_offset[iswap][i]*k_buf_recv.view().extent(1); + MPI_Irecv(buf, + size_forward_recv[iswap][i],MPI_DOUBLE,recvproc[iswap][i],0,world,&requests[i]); + } + } + if (sendother[iswap]) { + for (i = 0; i < nsend; i++) { + auto k_sendlist_small = Kokkos::subview(k_sendlist,iswap,i,Kokkos::ALL); + n = atomKK->avecKK->pack_comm_kokkos(sendnum[iswap][i],k_sendlist_small, + k_buf_send,pbc_flag[iswap][i],pbc[iswap][i]); + DeviceType().fence(); + MPI_Send(k_buf_send.view().data(),n,MPI_DOUBLE,sendproc[iswap][i],0,world); + } + } + if (sendself[iswap]) { + auto k_sendlist_small = Kokkos::subview(k_sendlist,iswap,nsend,Kokkos::ALL); + n = atomKK->avecKK->pack_comm_kokkos(sendnum[iswap][nsend],k_sendlist_small, + k_buf_send,pbc_flag[iswap][nsend],pbc[iswap][nsend]); + DeviceType().fence(); + } + if (recvother[iswap]) { + for (i = 0; i < nrecv; i++) { + MPI_Waitany(nrecv,requests,&irecv,MPI_STATUS_IGNORE); + auto k_buf_recv_offset = Kokkos::subview(k_buf_recv,std::pair(forward_recv_offset[iswap][irecv],(int)k_buf_recv.extent(1)),Kokkos::ALL); + atomKK->avecKK->unpack_comm_kokkos(recvnum[iswap][irecv],firstrecv[iswap][irecv], + k_buf_recv_offset); + DeviceType().fence(); + } + } + } + } +} + /* ---------------------------------------------------------------------- reverse communication of forces on atoms every timestep other per-atom attributes may also be sent via pack/unpack routines @@ -63,16 +266,118 @@ void CommTiledKokkos::forward_comm(int dummy) void CommTiledKokkos::reverse_comm() { + if (!reverse_comm_classic) { + if (reverse_comm_on_host) reverse_comm_device(); + else reverse_comm_device(); + return; + } + + k_sendlist.sync(); + if (comm_f_only) atomKK->sync(Host,F_MASK); else atomKK->sync(Host,ALL_MASK); + CommTiled::reverse_comm(); + if (comm_f_only) atomKK->modified(Host,F_MASK); else atomKK->modified(Host,ALL_MASK); - atomKK->sync(Device,ALL_MASK); +} + +/* ---------------------------------------------------------------------- */ + +template +void CommTiledKokkos::reverse_comm_device() +{ + int i,irecv,n,nsend,nrecv; + MPI_Request request; + double *buf; + + // exchange data with another set of procs in each swap + // post recvs from all procs except self + // send data to all procs except self + // copy data to self if sendself is set + // wait on all procs except self and unpack received data + // if comm_f_only set, exchange or copy directly from f, don't pack + + k_sendlist.sync(); + + for (int iswap = nswap-1; iswap >= 0; iswap--) { + nsend = nsendproc[iswap] - sendself[iswap]; + nrecv = nrecvproc[iswap] - sendself[iswap]; + + if (comm_f_only) { + if (sendother[iswap]) { + for (i = 0; i < nsend; i++) { + buf = k_buf_recv.view().data() + + reverse_recv_offset[iswap][i]*k_buf_recv.view().extent(1); + MPI_Irecv(buf, + size_reverse_recv[iswap][i],MPI_DOUBLE,sendproc[iswap][i],0,world,&requests[i]); + } + } + if (recvother[iswap]) { + for (i = 0; i < nrecv; i++) { + buf = atomKK->k_f.view().data() + + firstrecv[iswap][i]*atomKK->k_f.view().extent(1); + MPI_Send(buf,size_reverse_send[iswap][i], + MPI_DOUBLE,recvproc[iswap][i],0,world); + } + } + if (sendself[iswap]) { + auto k_sendlist_small = Kokkos::subview(k_sendlist,iswap,nsend,Kokkos::ALL); + atomKK->avecKK->pack_reverse_self(sendnum[iswap][nsend],k_sendlist_small, + firstrecv[iswap][nrecv]); + DeviceType().fence(); + } + if (sendother[iswap]) { + for (i = 0; i < nsend; i++) { + MPI_Waitany(nsend,requests,&irecv,MPI_STATUS_IGNORE); + auto k_sendlist_small = Kokkos::subview(k_sendlist,iswap,irecv,Kokkos::ALL); + auto k_buf_recv_offset = Kokkos::subview(k_buf_recv,std::pair(reverse_recv_offset[iswap][irecv],(int)k_buf_recv.extent(1)),Kokkos::ALL); + atomKK->avecKK->unpack_reverse_kokkos(sendnum[iswap][irecv],k_sendlist_small, + k_buf_recv_offset); + DeviceType().fence(); + } + } + + } else { + if (sendother[iswap]) { + for (i = 0; i < nsend; i++) { + buf = k_buf_recv.view().data() + + reverse_recv_offset[iswap][i]*k_buf_recv.view().extent(1); + MPI_Irecv(buf, + size_reverse_recv[iswap][i],MPI_DOUBLE,sendproc[iswap][i],0,world,&requests[i]); + } + } + if (recvother[iswap]) { + for (i = 0; i < nrecv; i++) { + n = atomKK->avecKK->pack_reverse_kokkos(recvnum[iswap][i],firstrecv[iswap][i],k_buf_send); + DeviceType().fence(); + MPI_Send(k_buf_send.view().data(),n,MPI_DOUBLE,recvproc[iswap][i],0,world); + } + } + if (sendself[iswap]) { + auto k_sendlist_small = Kokkos::subview(k_sendlist,iswap,nsend,Kokkos::ALL); + atomKK->avecKK->pack_reverse_kokkos(recvnum[iswap][nrecv],firstrecv[iswap][nrecv],k_buf_send); + DeviceType().fence(); + atomKK->avecKK->unpack_reverse_kokkos(sendnum[iswap][nsend],k_sendlist_small,k_buf_send); + DeviceType().fence(); + } + if (sendother[iswap]) { + for (i = 0; i < nsend; i++) { + MPI_Waitany(nsend,requests,&irecv,MPI_STATUS_IGNORE); + auto k_sendlist_small = Kokkos::subview(k_sendlist,iswap,irecv,Kokkos::ALL); + auto k_buf_recv_offset = Kokkos::subview(k_buf_recv,std::pair(reverse_recv_offset[iswap][irecv],(int)k_buf_recv.extent(1)),Kokkos::ALL); + atomKK->avecKK->unpack_reverse_kokkos(sendnum[iswap][irecv],k_sendlist_small, + k_buf_recv_offset); + DeviceType().fence(); + } + } + } + } } /* ---------------------------------------------------------------------- @@ -108,6 +413,7 @@ void CommTiledKokkos::borders() atomKK->sync(Host,ALL_MASK); CommTiled::borders(); atomKK->modified(Host,ALL_MASK); + k_sendlist.modify_host(); } /* ---------------------------------------------------------------------- @@ -130,6 +436,26 @@ void CommTiledKokkos::reverse_comm(Pair *pair) CommTiled::reverse_comm(pair); } +/* ---------------------------------------------------------------------- + forward communication invoked by a Bond + nsize used only to set recv buffer limit +------------------------------------------------------------------------- */ + +void CommTiledKokkos::forward_comm(Bond *bond) +{ + CommTiled::forward_comm(bond); +} + +/* ---------------------------------------------------------------------- + reverse communication invoked by a Bond + nsize used only to set recv buffer limit +------------------------------------------------------------------------- */ + +void CommTiledKokkos::reverse_comm(Bond *bond) +{ + CommTiled::reverse_comm(bond); +} + /* ---------------------------------------------------------------------- forward communication invoked by a Fix size/nsize used only to set recv buffer limit @@ -218,3 +544,145 @@ void CommTiledKokkos::forward_comm_array(int nsize, double **array) { CommTiled::forward_comm_array(nsize,array); } + +/* ---------------------------------------------------------------------- + realloc the size of the send buffer as needed with BUFFACTOR and bufextra + if flag = 1, realloc + if flag = 0, don't need to realloc with copy, just free/malloc +------------------------------------------------------------------------- */ + +void CommTiledKokkos::grow_send(int n, int flag) +{ + grow_send_kokkos(n,flag,Host); +} + +/* ---------------------------------------------------------------------- + free/malloc the size of the recv buffer as needed with BUFFACTOR +------------------------------------------------------------------------- */ + +void CommTiledKokkos::grow_recv(int n, int flag) +{ + grow_recv_kokkos(n,flag,Host); +} + +/* ---------------------------------------------------------------------- + realloc the size of the send buffer as needed with BUFFACTOR & BUFEXTRA + if flag = 1, realloc + if flag = 0, don't need to realloc with copy, just free/malloc +------------------------------------------------------------------------- */ + +void CommTiledKokkos::grow_send_kokkos(int n, int flag, ExecutionSpace space) +{ + + maxsend = static_cast (BUFFACTOR * n); + int maxsend_border = (maxsend+BUFEXTRA)/atomKK->avecKK->size_border; + if (flag) { + if (space == Device) + k_buf_send.modify(); + else + k_buf_send.modify(); + + if (ghost_velocity) + k_buf_send.resize(maxsend_border, + atomKK->avecKK->size_border + atomKK->avecKK->size_velocity); + else + k_buf_send.resize(maxsend_border,atomKK->avecKK->size_border); + buf_send = k_buf_send.view().data(); + } else { + if (ghost_velocity) + MemoryKokkos::realloc_kokkos(k_buf_send,"comm:k_buf_send",maxsend_border, + atomKK->avecKK->size_border + atomKK->avecKK->size_velocity); + else + MemoryKokkos::realloc_kokkos(k_buf_send,"comm:k_buf_send",maxsend_border, + atomKK->avecKK->size_border); + buf_send = k_buf_send.view().data(); + } +} + +/* ---------------------------------------------------------------------- + free/malloc the size of the recv buffer as needed with BUFFACTOR +------------------------------------------------------------------------- */ + +void CommTiledKokkos::grow_recv_kokkos(int n, int flag, ExecutionSpace /*space*/) +{ + if (flag) maxrecv = n; + else maxrecv = static_cast (BUFFACTOR * n); + + int maxrecv_border = (maxrecv+BUFEXTRA)/atomKK->avecKK->size_border; + + MemoryKokkos::realloc_kokkos(k_buf_recv,"comm:k_buf_recv",maxrecv_border, + atomKK->avecKK->size_border); + buf_recv = k_buf_recv.view().data(); +} + +/* ---------------------------------------------------------------------- + realloc the size of the iswap sendlist as needed with BUFFACTOR +------------------------------------------------------------------------- */ + +void CommTiledKokkos::grow_list(int iswap, int iwhich, int n) +{ + int size = static_cast (BUFFACTOR * n); + + if (exchange_comm_classic) { // force realloc on Host + k_sendlist.sync(); + k_sendlist.modify(); + } + + int nsend = k_sendlist.extent(1); + + if (size > k_sendlist.extent(2)) { + memoryKK->grow_kokkos(k_sendlist,sendlist,maxswap,maxsend,size,"comm:sendlist"); + + for (int i = 0; i < maxswap; i++) + maxsendlist[iswap][iwhich] = size; + } +} + +/* ---------------------------------------------------------------------- + grow info for swap I, to allow for N procs to communicate with + ditto for complementary recv for swap I+1 or I-1, as invoked by caller +------------------------------------------------------------------------- */ + +void CommTiledKokkos::grow_swap_send(int i, int n, int nold) +{ + delete [] sendproc[i]; + sendproc[i] = new int[n]; + delete [] sendnum[i]; + sendnum[i] = new int[n]; + + delete [] size_reverse_recv[i]; + size_reverse_recv[i] = new int[n]; + delete [] reverse_recv_offset[i]; + reverse_recv_offset[i] = new int[n]; + + delete [] pbc_flag[i]; + pbc_flag[i] = new int[n]; + memory->destroy(pbc[i]); + memory->create(pbc[i],n,6,"comm:pbc_flag"); + memory->destroy(sendbox[i]); + memory->create(sendbox[i],n,6,"comm:sendbox"); + grow_swap_send_multi(i,n); + memory->destroy(sendbox_multiold[i]); + memory->create(sendbox_multiold[i],n,atom->ntypes+1,6,"comm:sendbox_multiold"); + + delete [] maxsendlist[i]; + maxsendlist[i] = new int[n]; + + for (int j = 0; j < n; j++) + maxsendlist[i][j] = BUFMIN; + + if (sendlist && !k_sendlist.d_view.data()) { + for (int ii = 0; ii < maxswap; ii++) { + if (sendlist[ii]) { + for (int jj = 0; jj < nprocmax[ii]; jj++) + memory->destroy(sendlist[ii][jj]); + delete [] sendlist[ii]; + } + } + delete [] sendlist; + } else { + memoryKK->destroy_kokkos(k_sendlist,sendlist); + } + + memoryKK->create_kokkos(k_sendlist,sendlist,maxswap,n,BUFMIN,"comm:sendlist"); +} diff --git a/src/KOKKOS/comm_tiled_kokkos.h b/src/KOKKOS/comm_tiled_kokkos.h index c80436b454..eba453b49e 100644 --- a/src/KOKKOS/comm_tiled_kokkos.h +++ b/src/KOKKOS/comm_tiled_kokkos.h @@ -25,28 +25,59 @@ class CommTiledKokkos : public CommTiled { CommTiledKokkos(class LAMMPS *); CommTiledKokkos(class LAMMPS *, class Comm *); + ~CommTiledKokkos() override; + + 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; + bool forward_comm_on_host; + bool reverse_comm_on_host; + using CommTiled::forward_comm; using CommTiled::reverse_comm; + + void init() override; void forward_comm(int dummy = 0) override; // forward comm of atom coords void reverse_comm() override; // reverse comm of forces void exchange() override; // move atoms to new procs void borders() override; // setup list of atoms to comm - void forward_comm(class Pair *) override; // forward comm from a Pair - void reverse_comm(class Pair *) override; // reverse comm from a Pair - void forward_comm(class Fix *, int size=0) override; - // forward comm from a Fix - void reverse_comm(class Fix *, int size=0) override; - // reverse comm from a Fix - void reverse_comm_variable(class Fix *) override; - // variable size reverse comm from a Fix - void forward_comm(class Compute *) override; // forward from a Compute - void reverse_comm(class Compute *) override; // reverse from a Compute - void forward_comm(class Dump *) override; // forward comm from a Dump - void reverse_comm(class Dump *) override; // reverse comm from a Dump + void forward_comm(class Pair *) override; // forward comm from a Pair + void reverse_comm(class Pair *) override; // reverse comm from a Pair + void forward_comm(class Bond *) override; // forward comm from a Bond + void reverse_comm(class Bond *) override; // reverse comm from a Bond + void forward_comm(class Fix *, int size = 0) override; // forward comm from a Fix + void reverse_comm(class Fix *, int size = 0) override; // reverse comm from a Fix + void reverse_comm_variable(class Fix *) override; // variable size reverse comm from a Fix + void forward_comm(class Compute *) override; // forward from a Compute + void reverse_comm(class Compute *) override; // reverse from a Compute + void forward_comm(class Dump *) override; // forward comm from a Dump + void reverse_comm(class Dump *) override; // reverse comm from a Dump void forward_comm_array(int, double **) override; // forward comm of array -}; -} -#endif + template void forward_comm_device(); + template void reverse_comm_device(); + + protected: + + DAT::tdual_int_3d k_sendlist; + //DAT::tdual_int_scalar k_total_send; + DAT::tdual_xfloat_2d k_buf_send,k_buf_recv; + //DAT::tdual_int_scalar k_count; + + void grow_send(int, int) override; + void grow_recv(int, int flag = 0) override; + void grow_send_kokkos(int, int, ExecutionSpace space = Host); + void grow_recv_kokkos(int, int, ExecutionSpace space = Host); + void grow_list(int, int, int) override; + void grow_swap_send(int, int, int); // grow swap arrays for send and recv +}; + +} // namespace LAMMPS_NS + +#endif diff --git a/src/KOKKOS/fix_acks2_reaxff_kokkos.cpp b/src/KOKKOS/fix_acks2_reaxff_kokkos.cpp index 617660d5ef..dabab9405b 100644 --- a/src/KOKKOS/fix_acks2_reaxff_kokkos.cpp +++ b/src/KOKKOS/fix_acks2_reaxff_kokkos.cpp @@ -536,7 +536,7 @@ void FixACKS2ReaxFFKokkos::deallocate_array() { memoryKK->destroy_kokkos(k_s,s); memoryKK->destroy_kokkos(k_chi_field,chi_field); - memoryKK->destroy_kokkos(X_diag); + memoryKK->destroy_kokkos(k_X_diag,X_diag); memoryKK->destroy_kokkos(k_d,d); memoryKK->destroy_kokkos(k_q_hat,q_hat); memoryKK->destroy_kokkos(k_y,y); diff --git a/src/KOKKOS/fix_acks2_reaxff_kokkos.h b/src/KOKKOS/fix_acks2_reaxff_kokkos.h index c27719c364..cb16b4cd24 100644 --- a/src/KOKKOS/fix_acks2_reaxff_kokkos.h +++ b/src/KOKKOS/fix_acks2_reaxff_kokkos.h @@ -246,9 +246,8 @@ class FixACKS2ReaxFFKokkos : public FixACKS2ReaxFF, public KokkosBase { int count, isuccess; double alpha, beta, omega, cutsq; - int iswap; int first; - typename AT::t_int_2d d_sendlist; + typename AT::t_int_1d d_sendlist; typename AT::t_xfloat_1d_um v_buf; void grow_arrays(int) override; diff --git a/src/KOKKOS/fix_qeq_reaxff_kokkos.cpp b/src/KOKKOS/fix_qeq_reaxff_kokkos.cpp index ba25d79ad5..225ec2a211 100644 --- a/src/KOKKOS/fix_qeq_reaxff_kokkos.cpp +++ b/src/KOKKOS/fix_qeq_reaxff_kokkos.cpp @@ -1117,12 +1117,11 @@ void FixQEqReaxFFKokkos::operator()(TagQEqCalculateQ, const int &ii) /* ---------------------------------------------------------------------- */ template -int FixQEqReaxFFKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_2d k_sendlist, - int iswap_in, DAT::tdual_xfloat_1d &k_buf, +int FixQEqReaxFFKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_1d &k_buf, int /*pbc_flag*/, int * /*pbc*/) { d_sendlist = k_sendlist.view(); - iswap = iswap_in; d_buf = k_buf.view(); Kokkos::parallel_for(Kokkos::RangePolicy(0,n),*this); if (pack_flag == 3) return n; @@ -1134,7 +1133,7 @@ int FixQEqReaxFFKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_i template KOKKOS_INLINE_FUNCTION void FixQEqReaxFFKokkos::operator()(TagQEqPackForwardComm, const int &i) const { - int j = d_sendlist(iswap, i); + int j = d_sendlist(i); if (pack_flag == 1) { if (!(converged & 1)) diff --git a/src/KOKKOS/fix_qeq_reaxff_kokkos.h b/src/KOKKOS/fix_qeq_reaxff_kokkos.h index 6aa345fba6..92026b209d 100644 --- a/src/KOKKOS/fix_qeq_reaxff_kokkos.h +++ b/src/KOKKOS/fix_qeq_reaxff_kokkos.h @@ -154,7 +154,7 @@ class FixQEqReaxFFKokkos : public FixQEqReaxFF, public KokkosBase { F_FLOAT chi, eta, gamma; }; - int pack_forward_comm_kokkos(int, DAT::tdual_int_2d, int, DAT::tdual_xfloat_1d&, + int pack_forward_comm_kokkos(int, DAT::tdual_int_1d, DAT::tdual_xfloat_1d&, int, int *) override; void unpack_forward_comm_kokkos(int, int, DAT::tdual_xfloat_1d&) override; int pack_forward_comm(int, int *, double *, int, int *) override; @@ -255,9 +255,9 @@ class FixQEqReaxFFKokkos : public FixQEqReaxFF, public KokkosBase { DupScatterView dup_o; NonDupScatterView ndup_o; - int iswap,nsend; + int nsend; int first; - typename AT::t_int_2d d_sendlist; + typename AT::t_int_1d d_sendlist; typename AT::t_xfloat_1d d_buf; typename AT::t_int_1d d_copylist; typename AT::t_int_1d d_indices; diff --git a/src/KOKKOS/fix_rx_kokkos.cpp b/src/KOKKOS/fix_rx_kokkos.cpp index 0ba56c611e..7c67cc8b96 100644 --- a/src/KOKKOS/fix_rx_kokkos.cpp +++ b/src/KOKKOS/fix_rx_kokkos.cpp @@ -85,9 +85,6 @@ FixRxKokkos::~FixRxKokkos() memoryKK->destroy_kokkos(k_dpdThetaLocal, dpdThetaLocal); memoryKK->destroy_kokkos(k_sumWeights, sumWeights); - memoryKK->destroy_kokkos(d_scratchSpace); - - memoryKK->destroy_kokkos(k_cutsq); } /* ---------------------------------------------------------------------- */ @@ -1463,8 +1460,8 @@ void FixRxKokkos::solve_reactions(const int /*vflag*/, const bool is this->scratchSpaceSize = (8*nspecies + 2*nreactions); if (nlocal*scratchSpaceSize > d_scratchSpace.extent(0)) { - memoryKK->destroy_kokkos (d_scratchSpace); - memoryKK->create_kokkos (d_scratchSpace, nlocal*scratchSpaceSize, "FixRxKokkos::d_scratchSpace"); + d_scratchSpace = typename AT::t_double_1d(); + d_scratchSpace = typename AT::t_double_1d("FixRxKokkos::d_scratchSpace", nlocal*scratchSpaceSize); } if (setRatesToZero) @@ -1822,8 +1819,8 @@ void FixRxKokkos::computeLocalTemperature() const int ntypes = atom->ntypes; if (ntypes+1 > (int) k_cutsq.extent(0)) { - memoryKK->destroy_kokkos (k_cutsq); - memoryKK->create_kokkos (k_cutsq, ntypes+1, ntypes+1, "FixRxKokkos::k_cutsq"); + k_cutsq = typename AT::tdual_ffloat_2d(); + k_cutsq = typename AT::tdual_ffloat_2d("FixRxKokkos::k_cutsq", ntypes+1, ntypes+1); d_cutsq = k_cutsq.template view(); } @@ -1843,7 +1840,7 @@ void FixRxKokkos::computeLocalTemperature() if (sumWeightsCt > (int)k_sumWeights.template view().extent(0)) { memoryKK->destroy_kokkos(k_sumWeights, sumWeights); - memoryKK->create_kokkos (k_sumWeights, sumWeightsCt, "FixRxKokkos::sumWeights"); + memoryKK->create_kokkos(k_sumWeights, sumWeights, sumWeightsCt, "FixRxKokkos::sumWeights"); d_sumWeights = k_sumWeights.template view(); h_sumWeights = k_sumWeights.h_view; } diff --git a/src/KOKKOS/fix_shake_kokkos.cpp b/src/KOKKOS/fix_shake_kokkos.cpp index 791738e5a4..28f0098410 100644 --- a/src/KOKKOS/fix_shake_kokkos.cpp +++ b/src/KOKKOS/fix_shake_kokkos.cpp @@ -1808,12 +1808,11 @@ int FixShakeKokkos::unpack_exchange(int nlocal, double *buf) /* ---------------------------------------------------------------------- */ template -int FixShakeKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_2d k_sendlist, - int iswap_in, DAT::tdual_xfloat_1d &k_buf, - int pbc_flag, int* pbc) +int FixShakeKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_1d k_sendlist, + DAT::tdual_xfloat_1d &k_buf, + int pbc_flag, int* pbc) { d_sendlist = k_sendlist.view(); - iswap = iswap_in; d_buf = k_buf.view(); if (domain->triclinic == 0) { @@ -1837,7 +1836,7 @@ template template KOKKOS_INLINE_FUNCTION void FixShakeKokkos::operator()(TagFixShakePackForwardComm, const int &i) const { - const int j = d_sendlist(iswap, i); + const int j = d_sendlist(i); if (PBC_FLAG == 0) { d_buf[3*i] = d_xshake(j,0); diff --git a/src/KOKKOS/fix_shake_kokkos.h b/src/KOKKOS/fix_shake_kokkos.h index 19f3a2343d..31a6c340be 100644 --- a/src/KOKKOS/fix_shake_kokkos.h +++ b/src/KOKKOS/fix_shake_kokkos.h @@ -66,7 +66,7 @@ class FixShakeKokkos : public FixShake, public KokkosBase { int pack_exchange(int, double *) override; int unpack_exchange(int, double *) override; - int pack_forward_comm_kokkos(int, DAT::tdual_int_2d, int, DAT::tdual_xfloat_1d&, + int pack_forward_comm_kokkos(int, DAT::tdual_int_1d, DAT::tdual_xfloat_1d&, int, int *) override; void unpack_forward_comm_kokkos(int, int, DAT::tdual_xfloat_1d&) override; int pack_forward_comm(int, int *, double *, int, int *) override; @@ -211,9 +211,9 @@ class FixShakeKokkos : public FixShake, public KokkosBase { KOKKOS_INLINE_FUNCTION void v_tally(EV_FLOAT&, int, int *, double, double *) const; - int iswap,first,nsend; + int first,nsend; - typename AT::t_int_2d d_sendlist; + typename AT::t_int_1d d_sendlist; typename AT::t_xfloat_1d_um d_buf; typename AT::t_int_1d d_exchange_sendlist; diff --git a/src/KOKKOS/fix_wall_lj93_kokkos.cpp b/src/KOKKOS/fix_wall_lj93_kokkos.cpp index dff47f1c30..b98c4354f6 100644 --- a/src/KOKKOS/fix_wall_lj93_kokkos.cpp +++ b/src/KOKKOS/fix_wall_lj93_kokkos.cpp @@ -51,8 +51,6 @@ void FixWallLJ93Kokkos::wall_particle(int m_in, int which, double co x = atomKK->k_x.view(); f = atomKK->k_f.view(); mask = atomKK->k_mask.view(); - DAT::tdual_int_scalar k_oneflag = DAT::tdual_int_scalar("fix:oneflag"); - d_oneflag = k_oneflag.view(); int nlocal = atom->nlocal; @@ -66,10 +64,6 @@ void FixWallLJ93Kokkos::wall_particle(int m_in, int which, double co copymode = 0; atomKK->modified(execution_space, F_MASK); - - k_oneflag.template modify(); - k_oneflag.template sync(); - if (k_oneflag.h_view()) error->one(FLERR,"Particle on or inside fix wall surface"); } template @@ -80,10 +74,8 @@ void FixWallLJ93Kokkos::wall_particle_item(int i, value_type ewall) if (side < 0) delta = x(i,dim) - coord; else delta = coord - x(i,dim); if (delta >= cutoff[m]) return; - if (delta <= 0.0) { - d_oneflag() = 1; - return; - } + if (delta <= 0.0) + Kokkos::abort("Particle on or inside fix wall surface"); double rinv = 1.0/delta; double r2inv = rinv*rinv; double r4inv = r2inv*r2inv; diff --git a/src/KOKKOS/fix_wall_lj93_kokkos.h b/src/KOKKOS/fix_wall_lj93_kokkos.h index 2bc78f3781..720e586f5d 100644 --- a/src/KOKKOS/fix_wall_lj93_kokkos.h +++ b/src/KOKKOS/fix_wall_lj93_kokkos.h @@ -50,7 +50,6 @@ class FixWallLJ93Kokkos : public FixWallLJ93 { typename AT::t_x_array x; typename AT::t_f_array f; typename AT::t_int_1d mask; - typename AT::t_int_scalar d_oneflag; }; template diff --git a/src/KOKKOS/kokkos_base.h b/src/KOKKOS/kokkos_base.h index 24fcc47579..22ed1687a9 100644 --- a/src/KOKKOS/kokkos_base.h +++ b/src/KOKKOS/kokkos_base.h @@ -26,18 +26,18 @@ class KokkosBase { KokkosBase() {} // Pair - virtual int pack_forward_comm_kokkos(int, DAT::tdual_int_2d, - int, DAT::tdual_xfloat_1d &, + virtual int pack_forward_comm_kokkos(int, DAT::tdual_int_1d, + DAT::tdual_xfloat_1d &, 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 &) {} + virtual void unpack_reverse_comm_kokkos(int, DAT::tdual_int_1d, + DAT::tdual_xfloat_1d &) {} // Fix - virtual int pack_forward_comm_fix_kokkos(int, DAT::tdual_int_2d, - int, DAT::tdual_xfloat_1d &, + virtual int pack_forward_comm_fix_kokkos(int, DAT::tdual_int_1d, + DAT::tdual_xfloat_1d &, int, int *) {return 0;}; virtual void unpack_forward_comm_fix_kokkos(int, int, DAT::tdual_xfloat_1d &) {} diff --git a/src/KOKKOS/kokkos_type.h b/src/KOKKOS/kokkos_type.h index 1009e43196..cc4e00819f 100644 --- a/src/KOKKOS/kokkos_type.h +++ b/src/KOKKOS/kokkos_type.h @@ -689,6 +689,14 @@ typedef tdual_int_2d_dl::t_dev_um t_int_2d_um_dl; typedef tdual_int_2d_dl::t_dev_const_um t_int_2d_const_um_dl; typedef tdual_int_2d_dl::t_dev_const_randomread t_int_2d_randomread_dl; +typedef Kokkos:: + DualView tdual_int_3d; +typedef tdual_int_3d::t_dev t_int_3d; +typedef tdual_int_3d::t_dev_const t_int_3d_const; +typedef tdual_int_3d::t_dev_um t_int_3d_um; +typedef tdual_int_3d::t_dev_const_um t_int_3d_const_um; +typedef tdual_int_3d::t_dev_const_randomread t_int_3d_randomread; + typedef Kokkos:: DualView tdual_tagint_1d; @@ -1006,6 +1014,13 @@ typedef tdual_int_2d_dl::t_host_um t_int_2d_um_dl; typedef tdual_int_2d_dl::t_host_const_um t_int_2d_const_um_dl; typedef tdual_int_2d_dl::t_host_const_randomread t_int_2d_randomread_dl; +typedef Kokkos::DualView tdual_int_3d; +typedef tdual_int_3d::t_host t_int_3d; +typedef tdual_int_3d::t_host_const t_int_3d_const; +typedef tdual_int_3d::t_host_um t_int_3d_um; +typedef tdual_int_3d::t_host_const_um t_int_3d_const_um; +typedef tdual_int_3d::t_host_const_randomread t_int_3d_randomread; + typedef Kokkos::DualView tdual_tagint_1d; typedef tdual_tagint_1d::t_host t_tagint_1d; typedef tdual_tagint_1d::t_host_const t_tagint_1d_const; diff --git a/src/KOKKOS/memory_kokkos.h b/src/KOKKOS/memory_kokkos.h index 9d894a344a..0cf5b0d51a 100644 --- a/src/KOKKOS/memory_kokkos.h +++ b/src/KOKKOS/memory_kokkos.h @@ -65,8 +65,7 @@ template } /* ---------------------------------------------------------------------- - grow or shrink 1st dim of a 1d array - last dim must stay the same + grow or shrink a 1d array ------------------------------------------------------------------------- */ template @@ -80,6 +79,10 @@ TYPE grow_kokkos(TYPE &data, typename TYPE::value_type *&array, return data; } +/* ---------------------------------------------------------------------- + destroy a 1d array +------------------------------------------------------------------------- */ + template void destroy_kokkos(TYPE data, typename TYPE::value_type* &array) { @@ -92,71 +95,6 @@ void destroy_kokkos(TYPE data, typename TYPE::value_type* &array) create a 2d array ------------------------------------------------------------------------- */ -template -TYPE destroy_kokkos(TYPE &data) -{ - /*if (data.data()!=nullptr) - free(data.data());*/ - data = TYPE(); - return data; -} - -template -TYPE create_kokkos(TYPE &data, int n1, const char *name) -{ - /*typename TYPE::non_const_value_type* ptr = (typename TYPE::non_const_value_type*) - malloc(n1*sizeof(typename TYPE::non_const_value_type)*4);*/ - data = TYPE(std::string(name),n1); - return data; -} - -template -TYPE create_kokkos(TYPE &data, int n1, int n2, const char *name) -{ - /*typename TYPE::non_const_value_type* ptr = (typename TYPE::non_const_value_type*) - malloc(n1*n2*sizeof(typename TYPE::non_const_value_type)*4);*/ - data = TYPE(std::string(name),n1,n2); - return data; -} - -template -TYPE create_kokkos(TYPE &data, int n1, int n2, int n3 ,const char *name) -{ - /*typename TYPE::non_const_value_type* ptr = (typename TYPE::non_const_value_type*) - malloc(n1*n2*n3*sizeof(typename TYPE::non_const_value_type)*4);*/ - data = TYPE(std::string(name),n1,n2,n3); - return data; -} - -template -TYPE create_kokkos(TYPE &data, int n1, int n2, int n3, int n4 ,const char *name) -{ - /*typename TYPE::non_const_value_type* ptr = (typename TYPE::non_const_value_type*) - malloc(n1*n2*n3*n4*sizeof(typename TYPE::non_const_value_type)*4);*/ - data = TYPE(std::string(name),n1,n2,n3,n4); - return data; -} - -template -TYPE create_kokkos(TYPE &data, int n1, int n2, int n3, int n4, int n5 ,const char *name) -{ - /*typename TYPE::non_const_value_type* ptr = (typename TYPE::non_const_value_type*) - malloc(n1*n2*n3*n4*n5*sizeof(typename TYPE::non_const_value_type)*4);*/ - data = TYPE(std::string(name),n1,n2,n3,n4,n5); - return data; -} - -template -TYPE create_kokkos(TYPE &data, int n1, int n2, int n3, int n4, int n5 , int n6 ,const char *name) -{ - /*typename TYPE::non_const_value_type* ptr = (typename TYPE::non_const_value_type*) - malloc(n1*n2*n3*n4*n5*n6*sizeof(typename TYPE::non_const_value_type)*4);*/ - data = TYPE(std::string(name) ,n1,n2,n3,n4,n5,n6); - return data; -} - - - template TYPE create_kokkos(TYPE &data, HTYPE &h_data, int n1, int n2, const char *name) @@ -202,27 +140,94 @@ template return data; } -template - TYPE create_kokkos(TYPE &data, HTYPE &h_data, int n1, int n2, int n3, - const char *name) +template +TYPE create_kokkos(TYPE &data, typename TYPE::value_type **&array, + int n1, const char *name) { - data = TYPE(std::string(name),n1,n2,n3); - h_data = Kokkos::create_mirror_view(data); + data = TYPE(std::string(name),n1); + bigint nbytes = ((bigint) sizeof(typename TYPE::value_type *)) * n1; + array = (typename TYPE::value_type **) smalloc(nbytes,name); + + for (int i = 0; i < n1; i++) + if (data.h_view.extent(1) == 0) + array[i] = nullptr; + else + array[i] = &data.h_view(i,0); + + return data; +} + +/* ---------------------------------------------------------------------- + grow or shrink a 2d array +------------------------------------------------------------------------- */ + +template +TYPE grow_kokkos(TYPE &data, typename TYPE::value_type **&array, + int n1, int n2, const char *name) +{ + if (array == nullptr) return create_kokkos(data,array,n1,n2,name); + data.resize(n1,n2); + bigint nbytes = ((bigint) sizeof(typename TYPE::value_type *)) * n1; + array = (typename TYPE::value_type**) srealloc(array,nbytes,name); + + for (int i = 0; i < n1; i++) + if (n2 == 0) + array[i] = nullptr; + else + array[i] = &data.h_view(i,0); + return data; } +template +TYPE grow_kokkos(TYPE &data, typename TYPE::value_type **&array, + int n1, const char *name) +{ + if (array == nullptr) return create_kokkos(data,array,n1,name); + + data.resize(n1); + + bigint nbytes = ((bigint) sizeof(typename TYPE::value_type *)) * n1; + array = (typename TYPE::value_type **) srealloc(array,nbytes,name); + + for (int i = 0; i < n1; i++) + if (data.h_view.extent(1) == 0) + array[i] = nullptr; + else + array[i] = &data.h_view(i,0); + + return data; +} + +/* ---------------------------------------------------------------------- + destroy a 2d array +------------------------------------------------------------------------- */ + +template +void destroy_kokkos(TYPE data, typename TYPE::value_type** &array) +{ + if (array == nullptr) return; + data = TYPE(); + sfree(array); + array = nullptr; +} + +/* ---------------------------------------------------------------------- + create a 3d array +------------------------------------------------------------------------- */ + template TYPE create_kokkos(TYPE &data, typename TYPE::value_type ***&array, int n1, int n2, int n3, const char *name) -{ - data = TYPE(std::string(name),n1,n2); +{ + data = TYPE(std::string(name),n1,n2,n3); bigint nbytes = ((bigint) sizeof(typename TYPE::value_type **)) * n1; array = (typename TYPE::value_type ***) smalloc(nbytes,name); - + for (int i = 0; i < n1; i++) { if (n2 == 0) { array[i] = nullptr; - } else { + } else { nbytes = ((bigint) sizeof(typename TYPE::value_type *)) * n2; array[i] = (typename TYPE::value_type **) smalloc(nbytes,name); for (int j = 0; j < n2; j++) { @@ -263,79 +268,46 @@ template return data; } +template + TYPE create_kokkos(TYPE &data, HTYPE &h_data, int n1, int n2, int n3, + const char *name) +{ + data = TYPE(std::string(name),n1,n2,n3); + h_data = Kokkos::create_mirror_view(data); + return data; +} + + /* ---------------------------------------------------------------------- - grow or shrink 1st dim of a 2d array - last dim must stay the same + grow or shrink a 3d array ------------------------------------------------------------------------- */ template -TYPE grow_kokkos(TYPE &data, typename TYPE::value_type **&array, - int n1, int n2, const char *name) +TYPE grow_kokkos(TYPE &data, typename TYPE::value_type ***&array, + int n1, int n2, int n3, const char *name) { - if (array == nullptr) return create_kokkos(data,array,n1,n2,name); - data.resize(n1,n2); - bigint nbytes = ((bigint) sizeof(typename TYPE::value_type *)) * n1; - array = (typename TYPE::value_type**) srealloc(array,nbytes,name); + if (array == nullptr) return create_kokkos(data,array,n1,n2,n3,name); + data.resize(n1,n2,n3); + bigint nbytes = ((bigint) sizeof(typename TYPE::value_type **)) * n1; + array = (typename TYPE::value_type ***) smalloc(nbytes,name); - for (int i = 0; i < n1; i++) - if (n2 == 0) + for (int i = 0; i < n1; i++) { + if (n2 == 0) { array[i] = nullptr; - else - array[i] = &data.h_view(i,0); - + } else { + nbytes = ((bigint) sizeof(typename TYPE::value_type *)) * n2; + array[i] = (typename TYPE::value_type **) smalloc(nbytes,name); + for (int j = 0; j < n2; j++) { + if (n3 == 0) + array[i][j] = nullptr; + else + array[i][j] = &data.h_view(i,j,0); + } + } + } return data; } -template -TYPE create_kokkos(TYPE &data, typename TYPE::value_type **&array, - int n1, const char *name) -{ - data = TYPE(std::string(name),n1); - bigint nbytes = ((bigint) sizeof(typename TYPE::value_type *)) * n1; - array = (typename TYPE::value_type **) smalloc(nbytes,name); - - for (int i = 0; i < n1; i++) - if (data.h_view.extent(1) == 0) - array[i] = nullptr; - else - array[i] = &data.h_view(i,0); - - return data; -} - -template -TYPE grow_kokkos(TYPE &data, typename TYPE::value_type **&array, - int n1, const char *name) -{ - if (array == nullptr) return create_kokkos(data,array,n1,name); - - data.resize(n1); - - bigint nbytes = ((bigint) sizeof(typename TYPE::value_type *)) * n1; - array = (typename TYPE::value_type **) srealloc(array,nbytes,name); - - for (int i = 0; i < n1; i++) - if (data.h_view.extent(1) == 0) - array[i] = nullptr; - else - array[i] = &data.h_view(i,0); - - return data; -} - -/* ---------------------------------------------------------------------- - destroy a 2d array -------------------------------------------------------------------------- */ - -template -void destroy_kokkos(TYPE data, typename TYPE::value_type** &array) -{ - if (array == nullptr) return; - data = TYPE(); - sfree(array); - array = nullptr; -} - /* ---------------------------------------------------------------------- destroy a 3d array ------------------------------------------------------------------------- */ diff --git a/src/KOKKOS/pair_adp_kokkos.cpp b/src/KOKKOS/pair_adp_kokkos.cpp index d02edc43ab..1297d62651 100644 --- a/src/KOKKOS/pair_adp_kokkos.cpp +++ b/src/KOKKOS/pair_adp_kokkos.cpp @@ -472,12 +472,11 @@ void PairADPKokkos::interpolate(int n, double delta, double *f, t_ho /* ---------------------------------------------------------------------- */ template -int PairADPKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_2d k_sendlist, - int iswap_in, DAT::tdual_xfloat_1d &buf, +int PairADPKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_1d k_sendlist, + 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*10; @@ -486,7 +485,7 @@ int PairADPKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_2d template KOKKOS_INLINE_FUNCTION void PairADPKokkos::operator()(TagPairADPPackForwardComm, const int &i) const { - int j = d_sendlist(iswap, i); + int j = d_sendlist(i); v_buf[10 * i] = d_fp(j); v_buf[10 * i + 1] = d_mu(j, 0); v_buf[10 * i + 2] = d_mu(j, 1); diff --git a/src/KOKKOS/pair_adp_kokkos.h b/src/KOKKOS/pair_adp_kokkos.h index 5714bdb699..41328a567e 100644 --- a/src/KOKKOS/pair_adp_kokkos.h +++ b/src/KOKKOS/pair_adp_kokkos.h @@ -108,7 +108,7 @@ class PairADPKokkos : public PairADP, public KokkosBase const F_FLOAT &epair, const F_FLOAT &fx, const F_FLOAT &fy, const F_FLOAT &fz, const F_FLOAT &delx, const F_FLOAT &dely, const F_FLOAT &delz) const; - int pack_forward_comm_kokkos(int, DAT::tdual_int_2d, int, DAT::tdual_xfloat_1d&, + int pack_forward_comm_kokkos(int, DAT::tdual_int_1d, DAT::tdual_xfloat_1d&, int, int *) override; void unpack_forward_comm_kokkos(int, int, DAT::tdual_xfloat_1d&) override; int pack_forward_comm(int, int *, double *, int, int *) override; @@ -185,9 +185,8 @@ class PairADPKokkos : public PairADP, public KokkosBase typename AT::t_int_1d d_ilist; typename AT::t_int_1d d_numneigh; - int iswap; int first; - typename AT::t_int_2d d_sendlist; + typename AT::t_int_1d d_sendlist; typename AT::t_xfloat_1d_um v_buf; int neighflag,newton_pair; diff --git a/src/KOKKOS/pair_eam_alloy_kokkos.cpp b/src/KOKKOS/pair_eam_alloy_kokkos.cpp index 93ed9fc620..b02faced1e 100644 --- a/src/KOKKOS/pair_eam_alloy_kokkos.cpp +++ b/src/KOKKOS/pair_eam_alloy_kokkos.cpp @@ -449,12 +449,11 @@ void PairEAMAlloyKokkos::interpolate(int n, double delta, double *f, /* ---------------------------------------------------------------------- */ template -int PairEAMAlloyKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_2d k_sendlist, - int iswap_in, DAT::tdual_xfloat_1d &buf, +int PairEAMAlloyKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_1d k_sendlist, + 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; @@ -463,7 +462,7 @@ int PairEAMAlloyKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_i template KOKKOS_INLINE_FUNCTION void PairEAMAlloyKokkos::operator()(TagPairEAMAlloyPackForwardComm, const int &i) const { - int j = d_sendlist(iswap, i); + int j = d_sendlist(i); v_buf[i] = d_fp[j]; } diff --git a/src/KOKKOS/pair_eam_alloy_kokkos.h b/src/KOKKOS/pair_eam_alloy_kokkos.h index 2eb40189ac..572dc1aca8 100644 --- a/src/KOKKOS/pair_eam_alloy_kokkos.h +++ b/src/KOKKOS/pair_eam_alloy_kokkos.h @@ -122,7 +122,7 @@ class PairEAMAlloyKokkos : public PairEAM, public KokkosBase { const F_FLOAT &epair, const F_FLOAT &fpair, const F_FLOAT &delx, const F_FLOAT &dely, const F_FLOAT &delz) const; - int pack_forward_comm_kokkos(int, DAT::tdual_int_2d, int, DAT::tdual_xfloat_1d&, + int pack_forward_comm_kokkos(int, DAT::tdual_int_1d, DAT::tdual_xfloat_1d&, int, int *) override; void unpack_forward_comm_kokkos(int, int, DAT::tdual_xfloat_1d&) override; int pack_forward_comm(int, int *, double *, int, int *) override; @@ -190,9 +190,8 @@ class PairEAMAlloyKokkos : public PairEAM, public KokkosBase { typename AT::t_int_1d d_ilist; typename AT::t_int_1d d_numneigh; - int iswap; int first; - typename AT::t_int_2d d_sendlist; + typename AT::t_int_1d d_sendlist; typename AT::t_xfloat_1d_um v_buf; int neighflag,newton_pair; diff --git a/src/KOKKOS/pair_eam_fs_kokkos.cpp b/src/KOKKOS/pair_eam_fs_kokkos.cpp index 5dee601302..4da146e68e 100644 --- a/src/KOKKOS/pair_eam_fs_kokkos.cpp +++ b/src/KOKKOS/pair_eam_fs_kokkos.cpp @@ -449,12 +449,11 @@ void PairEAMFSKokkos::interpolate(int n, double delta, double *f, t_ /* ---------------------------------------------------------------------- */ template -int PairEAMFSKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_2d k_sendlist, - int iswap_in, DAT::tdual_xfloat_1d &buf, +int PairEAMFSKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_1d k_sendlist, + 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; @@ -463,7 +462,7 @@ int PairEAMFSKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_ template KOKKOS_INLINE_FUNCTION void PairEAMFSKokkos::operator()(TagPairEAMFSPackForwardComm, const int &i) const { - int j = d_sendlist(iswap, i); + int j = d_sendlist(i); v_buf[i] = d_fp[j]; } diff --git a/src/KOKKOS/pair_eam_fs_kokkos.h b/src/KOKKOS/pair_eam_fs_kokkos.h index bd03ab0015..8e4ee7851e 100644 --- a/src/KOKKOS/pair_eam_fs_kokkos.h +++ b/src/KOKKOS/pair_eam_fs_kokkos.h @@ -122,7 +122,7 @@ class PairEAMFSKokkos : public PairEAM, public KokkosBase { const F_FLOAT &epair, const F_FLOAT &fpair, const F_FLOAT &delx, const F_FLOAT &dely, const F_FLOAT &delz) const; - int pack_forward_comm_kokkos(int, DAT::tdual_int_2d, int, DAT::tdual_xfloat_1d&, + int pack_forward_comm_kokkos(int, DAT::tdual_int_1d, DAT::tdual_xfloat_1d&, int, int *) override; void unpack_forward_comm_kokkos(int, int, DAT::tdual_xfloat_1d&) override; int pack_forward_comm(int, int *, double *, int, int *) override; @@ -190,9 +190,8 @@ class PairEAMFSKokkos : public PairEAM, public KokkosBase { typename AT::t_int_1d d_ilist; typename AT::t_int_1d d_numneigh; - int iswap; int first; - typename AT::t_int_2d d_sendlist; + typename AT::t_int_1d d_sendlist; typename AT::t_xfloat_1d_um v_buf; int neighflag,newton_pair; diff --git a/src/KOKKOS/pair_eam_kokkos.cpp b/src/KOKKOS/pair_eam_kokkos.cpp index 32f4afe225..54ffa84f2d 100644 --- a/src/KOKKOS/pair_eam_kokkos.cpp +++ b/src/KOKKOS/pair_eam_kokkos.cpp @@ -444,12 +444,11 @@ void PairEAMKokkos::interpolate(int n, double delta, double *f, t_ho /* ---------------------------------------------------------------------- */ template -int PairEAMKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_2d k_sendlist, - int iswap_in, DAT::tdual_xfloat_1d &buf, +int PairEAMKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_1d k_sendlist, + 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; @@ -458,7 +457,7 @@ int PairEAMKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_2d template KOKKOS_INLINE_FUNCTION void PairEAMKokkos::operator()(TagPairEAMPackForwardComm, const int &i) const { - int j = d_sendlist(iswap, i); + int j = d_sendlist(i); v_buf[i] = d_fp[j]; } diff --git a/src/KOKKOS/pair_eam_kokkos.h b/src/KOKKOS/pair_eam_kokkos.h index 9d066d40a0..950db43fb2 100644 --- a/src/KOKKOS/pair_eam_kokkos.h +++ b/src/KOKKOS/pair_eam_kokkos.h @@ -120,7 +120,7 @@ class PairEAMKokkos : public PairEAM, public KokkosBase { const F_FLOAT &epair, const F_FLOAT &fpair, const F_FLOAT &delx, const F_FLOAT &dely, const F_FLOAT &delz) const; - int pack_forward_comm_kokkos(int, DAT::tdual_int_2d, int, DAT::tdual_xfloat_1d&, + int pack_forward_comm_kokkos(int, DAT::tdual_int_1d, DAT::tdual_xfloat_1d&, int, int *) override; void unpack_forward_comm_kokkos(int, int, DAT::tdual_xfloat_1d&) override; int pack_forward_comm(int, int *, double *, int, int *) override; @@ -186,9 +186,8 @@ class PairEAMKokkos : public PairEAM, public KokkosBase { typename AT::t_int_1d d_ilist; typename AT::t_int_1d d_numneigh; - int iswap; int first; - typename AT::t_int_2d d_sendlist; + typename AT::t_int_1d d_sendlist; typename AT::t_xfloat_1d_um v_buf; int neighflag,newton_pair; diff --git a/src/KOKKOS/pair_meam_kokkos.cpp b/src/KOKKOS/pair_meam_kokkos.cpp index 4361a387ba..9082c410e0 100644 --- a/src/KOKKOS/pair_meam_kokkos.cpp +++ b/src/KOKKOS/pair_meam_kokkos.cpp @@ -338,11 +338,10 @@ 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 PairMEAMKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_1d k_sendlist, 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*comm_forward; @@ -353,7 +352,7 @@ int PairMEAMKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_2 template KOKKOS_INLINE_FUNCTION void PairMEAMKokkos::operator()(TagPairMEAMPackForwardComm, const int &i) const { - int j = d_sendlist(iswap, i); + int j = d_sendlist(i); int m = i*comm_forward; v_buf[m++] = d_rho0[j]; v_buf[m++] = d_rho1[j]; @@ -782,10 +781,9 @@ 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) +void PairMEAMKokkos::unpack_reverse_comm_kokkos(int n, DAT::tdual_int_1d k_sendlist, 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); } @@ -795,7 +793,7 @@ void PairMEAMKokkos::unpack_reverse_comm_kokkos(int n, DAT::tdual_in template KOKKOS_INLINE_FUNCTION void PairMEAMKokkos::operator()(TagPairMEAMUnpackReverseComm, const int &i) const { - int j = d_sendlist(iswap, i); + int j = d_sendlist(i); //int m = i*30; int m = i*comm_reverse; diff --git a/src/KOKKOS/pair_meam_kokkos.h b/src/KOKKOS/pair_meam_kokkos.h index 0d0d7667f3..66b5700a72 100644 --- a/src/KOKKOS/pair_meam_kokkos.h +++ b/src/KOKKOS/pair_meam_kokkos.h @@ -76,15 +76,15 @@ class PairMEAMKokkos : public PairMEAM, public KokkosBase { 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 pack_forward_comm_kokkos(int, DAT::tdual_int_1d, DAT::tdual_xfloat_1d&, 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_kokkos(int, DAT::tdual_int_1d, + DAT::tdual_xfloat_1d&) override; void unpack_reverse_comm(int, int *, double *) override; protected: @@ -108,10 +108,10 @@ class PairMEAMKokkos : public PairMEAM, public KokkosBase { typename AT::t_neighbors_2d d_neighbors_half; 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_int_1d d_sendlist; typename AT::t_xfloat_1d_um v_buf; - int iswap,first; + int first; int neighflag,nlocal,nall,eflag,vflag; typename ArrayTypes::t_ffloat_1d d_rho, d_rho0, d_rho1, d_rho2, d_rho3, d_frhop; diff --git a/src/KOKKOS/pair_multi_lucy_rx_kokkos.cpp b/src/KOKKOS/pair_multi_lucy_rx_kokkos.cpp index 41fcac126d..2a20c9e013 100644 --- a/src/KOKKOS/pair_multi_lucy_rx_kokkos.cpp +++ b/src/KOKKOS/pair_multi_lucy_rx_kokkos.cpp @@ -646,12 +646,11 @@ void PairMultiLucyRXKokkos::getMixingWeights(int id, double &mixWtSi /* ---------------------------------------------------------------------- */ template -int PairMultiLucyRXKokkos::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 PairMultiLucyRXKokkos::pack_forward_comm_kokkos(int n, DAT::tdual_int_1d k_sendlist, DAT::tdual_xfloat_1d &buf, int /*pbc_flag*/, int * /*pbc*/) { atomKK->sync(execution_space,DPDRHO_MASK); d_sendlist = k_sendlist.view(); - iswap = iswap_in; v_buf = buf.view(); Kokkos::parallel_for(Kokkos::RangePolicy(0,n),*this); return n; @@ -660,7 +659,7 @@ int PairMultiLucyRXKokkos::pack_forward_comm_kokkos(int n, DAT::tdua template KOKKOS_INLINE_FUNCTION void PairMultiLucyRXKokkos::operator()(TagPairMultiLucyRXPackForwardComm, const int &i) const { - int j = d_sendlist(iswap, i); + int j = d_sendlist(i); v_buf[i] = rho[j]; } diff --git a/src/KOKKOS/pair_multi_lucy_rx_kokkos.h b/src/KOKKOS/pair_multi_lucy_rx_kokkos.h index c335ed526f..753012e0c7 100644 --- a/src/KOKKOS/pair_multi_lucy_rx_kokkos.h +++ b/src/KOKKOS/pair_multi_lucy_rx_kokkos.h @@ -61,7 +61,7 @@ class PairMultiLucyRXKokkos : public PairMultiLucyRX, public KokkosBase { void compute_style(int, int); void init_style() override; - int pack_forward_comm_kokkos(int, DAT::tdual_int_2d, int, DAT::tdual_xfloat_1d&, + int pack_forward_comm_kokkos(int, DAT::tdual_int_1d, DAT::tdual_xfloat_1d&, int, int *) override; void unpack_forward_comm_kokkos(int, int, DAT::tdual_xfloat_1d&) override; int pack_forward_comm(int, int *, double *, int, int *) override; @@ -181,9 +181,8 @@ class PairMultiLucyRXKokkos : public PairMultiLucyRX, public KokkosBase { typename AT::tdual_ffloat_2d k_cutsq; typename AT::t_ffloat_2d d_cutsq; - int iswap; int first; - typename AT::t_int_2d d_sendlist; + typename AT::t_int_1d d_sendlist; typename AT::t_xfloat_1d_um v_buf; friend void pair_virial_fdotr_compute(PairMultiLucyRXKokkos*); From 4e77556610b7955ab10b7ba363dd2ff065976e3d Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 26 Feb 2024 15:59:03 -0700 Subject: [PATCH 247/559] minor changes to source and doc files --- doc/src/fix_indent.rst | 82 +++++---- src/fix_indent.cpp | 371 ++++++++++++++++++++++------------------- src/fix_indent.h | 13 ++ 3 files changed, 261 insertions(+), 205 deletions(-) diff --git a/doc/src/fix_indent.rst b/doc/src/fix_indent.rst index d478d7dc50..5658c06373 100644 --- a/doc/src/fix_indent.rst +++ b/doc/src/fix_indent.rst @@ -8,13 +8,12 @@ Syntax .. code-block:: LAMMPS - fix ID group-ID indent K keyword values ... + fix ID group-ID indent K gstyle args keyword value ... * ID, group-ID are documented in :doc:`fix ` command * indent = style name of this fix command * K = force constant for indenter surface (force/distance\^2 units) -* one or more keyword/value pairs may be appended -* keyword = *sphere* or *cone* or *cylinder* or *plane* or *side* or *units* +* gstyle = *sphere* or *cylinder* or *cone* or *plane* .. parsed-literal:: @@ -22,22 +21,28 @@ Syntax x, y, z = position of center of indenter (distance units) R = sphere radius of indenter (distance units) any of x, y, z, R can be a variable (see below) + *cylinder* args = dim c1 c2 R + dim = *x* or *y* or *z* = axis of cylinder + c1, c2 = coords of cylinder axis in other 2 dimensions (distance units) + R = cylinder radius of indenter (distance units) + any of c1,c2,R can be a variable (see below) *cone* args = dim c1 c2 radlo radhi lo hi dim = *x* or *y* or *z* = axis of cone c1, c2 = coords of cone axis in other 2 dimensions (distance units) radlo,radhi = cone radii at lo and hi end (distance units) lo,hi = bounds of cone in dim (distance units) any of c1, c2, radlo, radhi, lo, hi can be a variable (see below) - *cylinder* args = dim c1 c2 R - dim = *x* or *y* or *z* = axis of cylinder - c1, c2 = coords of cylinder axis in other 2 dimensions (distance units) - R = cylinder radius of indenter (distance units) - any of c1,c2,R can be a variable (see below) *plane* args = dim pos side dim = *x* or *y* or *z* = plane perpendicular to this dimension pos = position of plane in dimension x, y, or z (distance units) pos can be a variable (see below) side = *lo* or *hi* + +* zero or more keyword/value pairs may be appended +* keyword = *side* or *units* + + .. parsed-literal:: + *side* value = *in* or *out* *in* = the indenter acts on particles inside the sphere or cylinder *out* = the indenter acts on particles outside the sphere or cylinder @@ -63,8 +68,8 @@ material or as an obstacle in a flow. Or it can be used as a constraining wall around a simulation; see the discussion of the *side* keyword below. -The indenter can either be spherical or conical or cylindrical or planar. You -must set one of those 3 keywords. +The *gstyle* geometry of the indenter can either be a sphere, a +cylinder, a cone, or a plane. A spherical indenter exerts a force of magnitude @@ -81,15 +86,20 @@ A cylindrical indenter exerts the same force, except that *r* is the distance from the atom to the center axis of the cylinder. The cylinder extends infinitely along its axis. -Spherical, conical and cylindrical indenters account for periodic boundaries in -two ways. First, the center point of a spherical indenter (x,y,z) or -axis of a conical/cylindrical indenter (c1,c2) is remapped back into the -simulation box, if the box is periodic in a particular dimension. -This occurs every timestep if the indenter geometry is specified with -a variable (see below), e.g. it is moving over time. Second, the -calculation of distance to the indenter center or axis accounts for -periodic boundaries. Both of these mean that an indenter can -effectively move through and straddle one or more periodic boundaries. +A conical indenter is similar to a cylindrical indenter except that it +has a finite length (between *lo* and *hi*), and that two different +radii (one at each end, *radlo* and *radhi*) can be defined. + +Spherical, cylindrical, and conical indenters account for periodic +boundaries in two ways. First, the center point of a spherical +indenter (x,y,z) or axis of a cylindrical/conical indenter (c1,c2) is +remapped back into the simulation box, if the box is periodic in a +particular dimension. This occurs every timestep if the indenter +geometry is specified with a variable (see below), e.g. it is moving +over time. Second, the calculation of distance to the indenter center +or axis accounts for periodic boundaries. Both of these mean that an +indenter can effectively move through and straddle one or more +periodic boundaries. A planar indenter is really an axis-aligned infinite-extent wall exerting the same force on atoms in the system, where *R* is the @@ -103,9 +113,13 @@ is specified as *hi*\ . Any of the 4 quantities defining a spherical indenter's geometry can be specified as an equal-style :doc:`variable `, namely *x*, -*y*, *z*, or *R*\ . Similarly, for a cylindrical indenter, any of *c1*, -*c2*, or *R*, can be a variable. For a planar indenter, *pos* can be -a variable. If the value is a variable, it should be specified as +*y*, *z*, or *R*\ . For a cylindrical indenter, any of the 3 +quantities *c1*, *c2*, or *R*, can be a variable. For a conical +indenter, any of the 6 quantities *c1*, *c2*, *radlo*, *radhi*, *lo*, +or *hi* can be a variable. For a planar indenter, the single value +*pos* can be a variable. + +If any of these values is a variable, it should be specified as v_name, where name is the variable name. In this case, the variable will be evaluated each timestep, and its value used to define the indenter geometry. @@ -116,7 +130,8 @@ command keywords for the simulation box parameters and timestep and elapsed time. Thus it is easy to specify indenter properties that change as a function of time or span consecutive runs in a continuous fashion. For the latter, see the *start* and *stop* keywords of the -:doc:`run ` command and the *elaplong* keyword of :doc:`thermo_style custom ` for details. +:doc:`run ` command and the *elaplong* keyword of +:doc:`thermo_style custom ` for details. For example, if a spherical indenter's x-position is specified as v_x, then this variable definition will keep it's center at a relative @@ -147,12 +162,13 @@ rate. If the *side* keyword is specified as *out*, which is the default, then particles outside the indenter are pushed away from its outer -surface, as described above. This only applies to spherical or -cylindrical indenters. If the *side* keyword is specified as *in*, -the action of the indenter is reversed. Particles inside the indenter -are pushed away from its inner surface. In other words, the indenter -is now a containing wall that traps the particles inside it. If the -radius shrinks over time, it will squeeze the particles. +surface, as described above. This only applies to spherical, +cylindrical, and conical indenters. If the *side* keyword is +specified as *in*, the action of the indenter is reversed. Particles +inside the indenter are pushed away from its inner surface. In other +words, the indenter is now a containing wall that traps the particles +inside it. If the radius shrinks over time, it will squeeze the +particles. The *units* keyword determines the meaning of the distance units used to define the indenter geometry. A *box* value selects standard @@ -172,10 +188,10 @@ lattice spacings in a variable formula. The force constant *K* is not affected by the *units* keyword. It is always in force/distance\^2 units where force and distance are defined -by the :doc:`units ` command. If you wish K to be scaled by the -lattice spacing, you can define K with a variable whose formula -contains *xlat*, *ylat*, *zlat* keywords of the -:doc:`thermo_style ` command, e.g. +by the :doc:`units ` command. If you wish K to be scaled by +the lattice spacing, you can define K with a variable whose formula +contains *xlat*, *ylat*, *zlat* keywords of the :doc:`thermo_style +` command, e.g. .. code-block:: LAMMPS diff --git a/src/fix_indent.cpp b/src/fix_indent.cpp index 65cf91c2d2..8d450bee75 100644 --- a/src/fix_indent.cpp +++ b/src/fix_indent.cpp @@ -38,21 +38,6 @@ using namespace FixConst; enum{NONE, SPHERE, CYLINDER, PLANE, CONE}; enum{INSIDE, OUTSIDE}; -static bool PointInsideCone(int dir, double *center, double lo, - double hi, double rlo, double rhi, double *point); - -static void DistanceExteriorPoint(int dir, double *center, - double lo, double hi, double rlo, double rhi, double &x, - double &y, double &z); - -static void DistanceInteriorPoint(int dir, double *center, - double lo, double hi, double rlo, double rhi, double &x, - double &y, double &z); - -static void point_on_line_segment(double *a, double *b, double *c, double *d); - -static double closest(double *x, double *near, double *nearest, double dsq); - /* ---------------------------------------------------------------------- */ FixIndent::FixIndent(LAMMPS *lmp, int narg, char **arg) : @@ -76,10 +61,11 @@ FixIndent::FixIndent(LAMMPS *lmp, int narg, char **arg) : if (k < 0.0) error->all(FLERR, "Illegal fix indent force constant: {}", k); k3 = k/3.0; - // read options from end of input line - - options(narg-4,&arg[4]); + // read geometry of indenter and optional args + int iarg = geometry(narg-4,&arg[4]) + 4; + options(narg-iarg,&arg[iarg]); + // setup scaling const double xscale { scaleflag ? domain->lattice->xlattice : 1.0}; @@ -93,8 +79,8 @@ FixIndent::FixIndent(LAMMPS *lmp, int narg, char **arg) : if (!ystr) yvalue *= yscale; if (!zstr) zvalue *= zscale; if (!rstr) rvalue *= xscale; + } else if (istyle == CONE) { - if (!xstr) xvalue *= xscale; if (!ystr) yvalue *= yscale; if (!zstr) zvalue *= zscale; @@ -121,6 +107,7 @@ FixIndent::FixIndent(LAMMPS *lmp, int narg, char **arg) : if (cdim == 0 && !pstr) pvalue *= xscale; else if (cdim == 1 && !pstr) pvalue *= yscale; else if (cdim == 2 && !pstr) pvalue *= zscale; + } else error->all(FLERR,"Unknown fix indent keyword: {}", istyle); varflag = 0; @@ -195,7 +182,6 @@ void FixIndent::init() if (!input->variable->equalstyle(pvar)) error->all(FLERR,"Variable {} for fix indent is invalid style", pstr); } - if (rlostr) { rlovar = input->variable->find(rlostr); if (rlovar < 0) @@ -203,7 +189,6 @@ void FixIndent::init() if (!input->variable->equalstyle(rlovar)) error->all(FLERR,"Variable {} for fix indent is invalid style", rlostr); } - if (rhistr) { rhivar = input->variable->find(rhistr); if (rhivar < 0) @@ -211,7 +196,6 @@ void FixIndent::init() if (!input->variable->equalstyle(rhivar)) error->all(FLERR,"Variable {} for fix indent is invalid style", rhistr); } - if (lostr) { lovar = input->variable->find(lostr); if (lovar < 0) @@ -219,7 +203,6 @@ void FixIndent::init() if (!input->variable->equalstyle(lovar)) error->all(FLERR,"Variable {} for fix indent is invalid style", lostr); } - if (histr) { hivar = input->variable->find(histr); if (hivar < 0) @@ -267,6 +250,7 @@ void FixIndent::post_force(int /*vflag*/) indenter[0] = indenter[1] = indenter[2] = indenter[3] = 0.0; // ctr = current indenter centerz + double ctr[3] {xvalue, yvalue, zvalue}; if (xstr) ctr[0] = input->variable->compute_equal(xvar); if (ystr) ctr[1] = input->variable->compute_equal(yvar); @@ -284,6 +268,7 @@ void FixIndent::post_force(int /*vflag*/) if (istyle == SPHERE) { // remap indenter center into periodic box + domain->remap(ctr); double radius { rstr ? input->variable->compute_equal(rvar) : rvalue}; @@ -387,20 +372,24 @@ void FixIndent::post_force(int /*vflag*/) double x0[3] {delx + ctr[0], dely + ctr[1], delz + ctr[2]}; r = sqrt(delx * delx + dely * dely + delz * delz); - // find if the particle is inside or outside the cone + // check if particle is inside or outside the cone + bool point_inside_cone = PointInsideCone(cdim, ctr, lo, hi, radiuslo, radiushi, x0); if (side == INSIDE && point_inside_cone) continue; if (side == OUTSIDE && !point_inside_cone) continue; // find the distance between the point and the cone + if (point_inside_cone) { DistanceInteriorPoint(cdim, ctr, lo, hi, radiuslo, radiushi, x0[0], x0[1], x0[2]); } else { DistanceExteriorPoint(cdim, ctr, lo, hi, radiuslo, radiushi, x0[0], x0[1], x0[2]); } - // compute the force from the center of the cone - it is different from the approach of fix wall/region + // compute the force from the center of the cone + // this is different from how it is done in fix wall/region + dr = sqrt(x0[0] * x0[0] + x0[1] * x0[1] + x0[2] * x0[2]); int force_sign = { point_inside_cone ? 1 : -1 }; @@ -486,10 +475,10 @@ double FixIndent::compute_vector(int n) } /* ---------------------------------------------------------------------- - parse optional parameters at end of input line + parse input args for geometry of indenter ------------------------------------------------------------------------- */ -void FixIndent::options(int narg, char **arg) +int FixIndent::geometry(int narg, char **arg) { if (narg < 0) utils::missing_cmd_args(FLERR, "fix indent", error); @@ -499,139 +488,168 @@ void FixIndent::options(int narg, char **arg) scaleflag = 1; side = OUTSIDE; + // sphere + + if (strcmp(arg[0],"sphere") == 0) { + if (istyle != NONE) error->all(FLERR, "Fix indent requires a single geometry keyword"); + if (5 > narg) utils::missing_cmd_args(FLERR, "fix indent sphere", error); + + if (utils::strmatch(arg[1],"^v_")) { + xstr = utils::strdup(arg[1]+2); + } else xvalue = utils::numeric(FLERR,arg[1],false,lmp); + if (utils::strmatch(arg[2],"^v_")) { + ystr = utils::strdup(arg[2]+2); + } else yvalue = utils::numeric(FLERR,arg[2],false,lmp); + if (utils::strmatch(arg[3],"^v_")) { + zstr = utils::strdup(arg[3]+2); + } else zvalue = utils::numeric(FLERR,arg[3],false,lmp); + if (utils::strmatch(arg[4],"^v_")) { + rstr = utils::strdup(arg[4]+2); + } else rvalue = utils::numeric(FLERR,arg[4],false,lmp); + + istyle = SPHERE; + return 5; + } + + // cylinder + + if (strcmp(arg[0],"cylinder") == 0) { + if (istyle != NONE) error->all(FLERR, "Fix indent requires a single geometry keyword"); + if (5 > narg) utils::missing_cmd_args(FLERR, "fix indent cylinder", error); + + if (strcmp(arg[1],"x") == 0) { + cdim = 0; + if (utils::strmatch(arg[2],"^v_")) { + ystr = utils::strdup(arg[2]+2); + } else yvalue = utils::numeric(FLERR,arg[2],false,lmp); + if (utils::strmatch(arg[3],"^v_")) { + zstr = utils::strdup(arg[3]+2); + } else zvalue = utils::numeric(FLERR,arg[3],false,lmp); + } else if (strcmp(arg[1],"y") == 0) { + cdim = 1; + if (utils::strmatch(arg[2],"^v_")) { + xstr = utils::strdup(arg[2]+2); + } else xvalue = utils::numeric(FLERR,arg[2],false,lmp); + if (utils::strmatch(arg[3],"^v_")) { + zstr = utils::strdup(arg[3]+2); + } else zvalue = utils::numeric(FLERR,arg[3],false,lmp); + } else if (strcmp(arg[1],"z") == 0) { + cdim = 2; + if (utils::strmatch(arg[2],"^v_")) { + xstr = utils::strdup(arg[2]+2); + } else xvalue = utils::numeric(FLERR,arg[2],false,lmp); + if (utils::strmatch(arg[3],"^v_")) { + ystr = utils::strdup(arg[3]+2); + } else yvalue = utils::numeric(FLERR,arg[3],false,lmp); + } else error->all(FLERR,"Unknown fix indent cylinder argument: {}", arg[1]); + + if (utils::strmatch(arg[4],"^v_")) { + rstr = utils::strdup(arg[4]+2); + } else rvalue = utils::numeric(FLERR,arg[4],false,lmp); + + istyle = CYLINDER; + return 5; + } + + // cone + + if (strcmp(arg[0],"cone") == 0) { + if (istyle != NONE) error->all(FLERR, "Fix indent requires a single geometry keyword"); + if (8 > narg) utils::missing_cmd_args(FLERR, "fix indent cone", error); + + if (strcmp(arg[1],"x") == 0) { + cdim = 0; + + if (utils::strmatch(arg[2],"^v_")) { + ystr = utils::strdup(arg[2]+2); + } else yvalue = utils::numeric(FLERR,arg[2],false,lmp); + + if (utils::strmatch(arg[3],"^v_")) { + zstr = utils::strdup(arg[3]+2); + } else zvalue = utils::numeric(FLERR,arg[3],false,lmp); + + } else if (strcmp(arg[1],"y") == 0) { + cdim = 1; + + if (utils::strmatch(arg[2],"^v_")) { + xstr = utils::strdup(arg[2]+2); + } else xvalue = utils::numeric(FLERR,arg[2],false,lmp); + + if (utils::strmatch(arg[3],"^v_")) { + zstr = utils::strdup(arg[3]+2); + } else zvalue = utils::numeric(FLERR,arg[3],false,lmp); + + } else if (strcmp(arg[1],"z") == 0) { + cdim = 2; + + if (utils::strmatch(arg[2],"^v_")) { + xstr = utils::strdup(arg[2]+2); + } else xvalue = utils::numeric(FLERR,arg[2],false,lmp); + + if (utils::strmatch(arg[3],"^v_")) { + ystr = utils::strdup(arg[3]+2); + } else yvalue = utils::numeric(FLERR,arg[3],false,lmp); + + } else error->all(FLERR,"Unknown fix indent cone argument: {}", arg[1]); + + if (utils::strmatch(arg[4],"^v_")) { + rlostr = utils::strdup(arg[4]+2); + } else rlovalue = utils::numeric(FLERR,arg[4],false,lmp); + + if (utils::strmatch(arg[5],"^v_")) { + rhistr = utils::strdup(arg[5]+2); + } else rhivalue = utils::numeric(FLERR,arg[5],false,lmp); + + if (utils::strmatch(arg[6],"^v_")) { + lostr = utils::strdup(arg[6]+2); + } else lovalue = utils::numeric(FLERR,arg[6],false,lmp); + + if (utils::strmatch(arg[7],"^v_")) { + histr = utils::strdup(arg[7]+2); + } else hivalue = utils::numeric(FLERR,arg[7],false,lmp); + + istyle = CONE; + return 8; + } + + // plane + + if (strcmp(arg[0],"plane") == 0) { + if (istyle != NONE) error->all(FLERR, "Fix indent requires a single geometry keyword"); + if (4 > narg) utils::missing_cmd_args(FLERR, "fix indent plane", error); + if (strcmp(arg[1],"x") == 0) cdim = 0; + else if (strcmp(arg[1],"y") == 0) cdim = 1; + else if (strcmp(arg[1],"z") == 0) cdim = 2; + else error->all(FLERR,"Unknown fix indent plane argument: {}", arg[1]); + + if (utils::strmatch(arg[2],"^v_")) { + pstr = utils::strdup(arg[2]+2); + } else pvalue = utils::numeric(FLERR,arg[2],false,lmp); + + if (strcmp(arg[3],"lo") == 0) planeside = -1; + else if (strcmp(arg[3],"hi") == 0) planeside = 1; + else error->all(FLERR,"Unknown fix indent plane argument: {}", arg[3]); + istyle = PLANE; + return 4; + } + + // invalid istyle arg + + error->all(FLERR,"Unknown fix indent argument: {}", arg[0]); + + return 0; +} + +/* ---------------------------------------------------------------------- + parse optional input args +------------------------------------------------------------------------- */ + +void FixIndent::options(int narg, char **arg) +{ int iarg = 0; + while (iarg < narg) { - if (strcmp(arg[iarg],"sphere") == 0) { - if (iarg+5 > narg) utils::missing_cmd_args(FLERR, "fix indent sphere", error); - - if (utils::strmatch(arg[iarg+1],"^v_")) { - xstr = utils::strdup(arg[iarg+1]+2); - } else xvalue = utils::numeric(FLERR,arg[iarg+1],false,lmp); - if (utils::strmatch(arg[iarg+2],"^v_")) { - ystr = utils::strdup(arg[iarg+2]+2); - } else yvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); - if (utils::strmatch(arg[iarg+3],"^v_")) { - zstr = utils::strdup(arg[iarg+3]+2); - } else zvalue = utils::numeric(FLERR,arg[iarg+3],false,lmp); - if (utils::strmatch(arg[iarg+4],"^v_")) { - rstr = utils::strdup(arg[iarg+4]+2); - } else rvalue = utils::numeric(FLERR,arg[iarg+4],false,lmp); - - istyle = SPHERE; - iarg += 5; - - } else if (strcmp(arg[iarg],"cylinder") == 0) { - if (iarg+5 > narg) utils::missing_cmd_args(FLERR, "fix indent cylinder", error); - - if (strcmp(arg[iarg+1],"x") == 0) { - cdim = 0; - if (utils::strmatch(arg[iarg+2],"^v_")) { - ystr = utils::strdup(arg[iarg+2]+2); - } else yvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); - if (utils::strmatch(arg[iarg+3],"^v_")) { - zstr = utils::strdup(arg[iarg+3]+2); - } else zvalue = utils::numeric(FLERR,arg[iarg+3],false,lmp); - } else if (strcmp(arg[iarg+1],"y") == 0) { - cdim = 1; - if (utils::strmatch(arg[iarg+2],"^v_")) { - xstr = utils::strdup(arg[iarg+2]+2); - } else xvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); - if (utils::strmatch(arg[iarg+3],"^v_")) { - zstr = utils::strdup(arg[iarg+3]+2); - } else zvalue = utils::numeric(FLERR,arg[iarg+3],false,lmp); - } else if (strcmp(arg[iarg+1],"z") == 0) { - cdim = 2; - if (utils::strmatch(arg[iarg+2],"^v_")) { - xstr = utils::strdup(arg[iarg+2]+2); - } else xvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); - if (utils::strmatch(arg[iarg+3],"^v_")) { - ystr = utils::strdup(arg[iarg+3]+2); - } else yvalue = utils::numeric(FLERR,arg[iarg+3],false,lmp); - } else error->all(FLERR,"Unknown fix indent cylinder argument: {}", arg[iarg+1]); - - if (utils::strmatch(arg[iarg+4],"^v_")) { - rstr = utils::strdup(arg[iarg+4]+2); - } else rvalue = utils::numeric(FLERR,arg[iarg+4],false,lmp); - - istyle = CYLINDER; - iarg += 5; - - } else if (strcmp(arg[iarg],"plane") == 0) { - if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix indent plane", error); - if (strcmp(arg[iarg+1],"x") == 0) cdim = 0; - else if (strcmp(arg[iarg+1],"y") == 0) cdim = 1; - else if (strcmp(arg[iarg+1],"z") == 0) cdim = 2; - else error->all(FLERR,"Unknown fix indent plane argument: {}", arg[iarg+1]); - - if (utils::strmatch(arg[iarg+2],"^v_")) { - pstr = utils::strdup(arg[iarg+2]+2); - } else pvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); - - if (strcmp(arg[iarg+3],"lo") == 0) planeside = -1; - else if (strcmp(arg[iarg+3],"hi") == 0) planeside = 1; - else error->all(FLERR,"Unknown fix indent plane argument: {}", arg[iarg+3]); - istyle = PLANE; - iarg += 4; - - } else if (strcmp(arg[iarg],"cone") == 0) { - - if (iarg+8 > narg) utils::missing_cmd_args(FLERR, "fix indent cone", error); - - if (strcmp(arg[iarg+1],"x") == 0) { - cdim = 0; - - if (utils::strmatch(arg[iarg+2],"^v_")) { - ystr = utils::strdup(arg[iarg+2]+2); - } else yvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); - - if (utils::strmatch(arg[iarg+3],"^v_")) { - zstr = utils::strdup(arg[iarg+3]+2); - } else zvalue = utils::numeric(FLERR,arg[iarg+3],false,lmp); - - } else if (strcmp(arg[iarg+1],"y") == 0) { - cdim = 1; - - if (utils::strmatch(arg[iarg+2],"^v_")) { - xstr = utils::strdup(arg[iarg+2]+2); - } else xvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); - - if (utils::strmatch(arg[iarg+3],"^v_")) { - zstr = utils::strdup(arg[iarg+3]+2); - } else zvalue = utils::numeric(FLERR,arg[iarg+3],false,lmp); - - } else if (strcmp(arg[iarg+1],"z") == 0) { - cdim = 2; - - if (utils::strmatch(arg[iarg+2],"^v_")) { - xstr = utils::strdup(arg[iarg+2]+2); - } else xvalue = utils::numeric(FLERR,arg[iarg+2],false,lmp); - - if (utils::strmatch(arg[iarg+3],"^v_")) { - ystr = utils::strdup(arg[iarg+3]+2); - } else yvalue = utils::numeric(FLERR,arg[iarg+3],false,lmp); - - } else error->all(FLERR,"Unknown fix indent cone argument: {}", arg[iarg+1]); - - if (utils::strmatch(arg[iarg+4],"^v_")) { - rlostr = utils::strdup(arg[iarg+4]+2); - } else rlovalue = utils::numeric(FLERR,arg[iarg+4],false,lmp); - - if (utils::strmatch(arg[iarg+5],"^v_")) { - rhistr = utils::strdup(arg[iarg+5]+2); - } else rhivalue = utils::numeric(FLERR,arg[iarg+5],false,lmp); - - if (utils::strmatch(arg[iarg+6],"^v_")) { - lostr = utils::strdup(arg[iarg+6]+2); - } else lovalue = utils::numeric(FLERR,arg[iarg+6],false,lmp); - - if (utils::strmatch(arg[iarg+7],"^v_")) { - histr = utils::strdup(arg[iarg+7]+2); - } else hivalue = utils::numeric(FLERR,arg[iarg+7],false,lmp); - - istyle = CONE; - iarg += 8; - - } else if (strcmp(arg[iarg],"units") == 0) { + if (strcmp(arg[iarg],"units") == 0) { if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix indent units", error); if (strcmp(arg[iarg+1],"box") == 0) scaleflag = 0; else if (strcmp(arg[iarg+1],"lattice") == 0) scaleflag = 1; @@ -644,16 +662,17 @@ void FixIndent::options(int narg, char **arg) else if (strcmp(arg[iarg+1],"out") == 0) side = OUTSIDE; else error->all(FLERR,"Unknown fix indent side argument: {}", arg[iarg+1]); iarg += 2; + } else error->all(FLERR,"Unknown fix indent argument: {}", arg[iarg]); } } /* ---------------------------------------------------------------------- - determines if a point is inside (true) or outside (false) of a cone + determines if a point is inside (true) or outside (false) of a cone ------------------------------------------------------------------------- */ -bool PointInsideCone(int dir, double *center, double lo, - double hi, double rlo, double rhi, double *x) +bool FixIndent::PointInsideCone(int dir, double *center, double lo, + double hi, double rlo, double rhi, double *x) { if ((x[dir] > hi) || (x[dir] < lo)) return false; @@ -669,10 +688,12 @@ bool PointInsideCone(int dir, double *center, double lo, } /* ---------------------------------------------------------------------- - distance between an exterior point and a cone + distance between an exterior point and a cone ------------------------------------------------------------------------- */ -void DistanceExteriorPoint(int dir, double *center, double lo, double hi, - double rlo, double rhi, double &x, double &y, double &z) + +void FixIndent::DistanceExteriorPoint(int dir, double *center, double lo, double hi, + double rlo, double rhi, + double &x, double &y, double &z) { double xp[3], nearest[3], corner1[3], corner2[3]; @@ -700,17 +721,21 @@ void DistanceExteriorPoint(int dir, double *center, double lo, double hi, corner4[dir] = hi; // initialize distance to a big number + double distsq = 1.0e20; // check the first triangle + point_on_line_segment(corner1, corner2, point, xp); distsq = closest(point, xp, nearest, distsq); // check the second triangle + point_on_line_segment(corner1, corner3, point, xp); distsq = closest(point, xp, nearest, distsq); // check the third triangle + point_on_line_segment(corner2, corner4, point, xp); distsq = closest(point, xp, nearest, distsq); @@ -722,12 +747,12 @@ void DistanceExteriorPoint(int dir, double *center, double lo, double hi, } /* ---------------------------------------------------------------------- - distance between an interior point and a cone + distance between an interior point and a cone ------------------------------------------------------------------------- */ -void DistanceInteriorPoint(int dir, double *center, - double lo, double hi, double rlo, double rhi, double &x, - double &y, double &z) +void FixIndent::DistanceInteriorPoint(int dir, double *center, + double lo, double hi, double rlo, double rhi, double &x, + double &y, double &z) { double r, dist_disk, dist_surf; double surflo[3], surfhi[3], xs[3]; @@ -735,6 +760,7 @@ void DistanceInteriorPoint(int dir, double *center, double point[3] {0.0, 0.0, 0.0}; // initial check with the two disks + if ( (initial_point[dir] - lo) < (hi - initial_point[dir]) ) { dist_disk = (initial_point[dir] - lo) * (initial_point[dir] - lo); point[dir] = initial_point[dir] - lo; @@ -744,6 +770,7 @@ void DistanceInteriorPoint(int dir, double *center, } // check with the points in the conical surface + double del[3] {x - center[0], y - center[1], z - center[2]}; del[dir] = 0.0; r = sqrt(del[0] * del[0] + del[1] * del[1] + del[2] * del[2]); @@ -776,10 +803,10 @@ void DistanceInteriorPoint(int dir, double *center, } /* ---------------------------------------------------------------------- - helper function extracted from region.cpp + helper function extracted from region.cpp ------------------------------------------------------------------------- */ -void point_on_line_segment(double *a, double *b, double *c, double *d) +void FixIndent::point_on_line_segment(double *a, double *b, double *c, double *d) { double ba[3], ca[3]; @@ -802,10 +829,10 @@ void point_on_line_segment(double *a, double *b, double *c, double *d) } /* ---------------------------------------------------------------------- - helper function extracted from region_cone.cpp + helper function extracted from region_cone.cpp ------------------------------------------------------------------------- */ -double closest(double *x, double *near, double *nearest, double dsq) +double FixIndent::closest(double *x, double *near, double *nearest, double dsq) { double dx = x[0] - near[0]; double dy = x[1] - near[1]; diff --git a/src/fix_indent.h b/src/fix_indent.h index 6f33f6fbb1..202a138729 100644 --- a/src/fix_indent.h +++ b/src/fix_indent.h @@ -53,7 +53,20 @@ class FixIndent : public Fix { int rlovar, rhivar, lovar, hivar; double rlovalue, rhivalue, lovalue, hivalue; + // methods for argument + + int geometry(int, char **); void options(int, char **); + + // methods for conical indenter + + bool PointInsideCone(int, double *, double, double, double, double, double *); + void DistanceExteriorPoint(int, double *, double, double, double, double, + double &, double &, double &); + void DistanceInteriorPoint(int, double *, double, double, double, double, + double &, double &, double &); + void point_on_line_segment(double *, double *, double *, double *); + double closest(double *, double *, double *, double); }; } // namespace LAMMPS_NS From 363db81be1f03351353d87f5cf459eaf52730d9f Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 26 Feb 2024 16:05:19 -0700 Subject: [PATCH 248/559] tweak a comment --- src/fix_indent.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fix_indent.h b/src/fix_indent.h index 202a138729..7224908390 100644 --- a/src/fix_indent.h +++ b/src/fix_indent.h @@ -53,7 +53,7 @@ class FixIndent : public Fix { int rlovar, rhivar, lovar, hivar; double rlovalue, rhivalue, lovalue, hivalue; - // methods for argument + // methods for argument parsing int geometry(int, char **); void options(int, char **); From 5ad4545273a66c36b4da032287b79f19fdcf0068 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 26 Feb 2024 16:07:14 -0700 Subject: [PATCH 249/559] fix where initialization of options is done --- src/fix_indent.cpp | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/src/fix_indent.cpp b/src/fix_indent.cpp index 8d450bee75..3599c4ddaa 100644 --- a/src/fix_indent.cpp +++ b/src/fix_indent.cpp @@ -347,7 +347,6 @@ void FixIndent::post_force(int /*vflag*/) double radiuslo { rlostr ? input->variable->compute_equal(rlovar) : rlovalue }; if (radiuslo < 0.0) error->all(FLERR, "Illegal fix indent cone lower radius: {}", radiuslo); - double radiushi { rhistr ? input->variable->compute_equal(rhivar) : rhivalue }; if (radiushi < 0.0) error->all(FLERR, "Illegal fix indent cone high radius: {}", radiushi); @@ -485,8 +484,6 @@ int FixIndent::geometry(int narg, char **arg) istyle = NONE; xstr = ystr = zstr = rstr = pstr = nullptr; xvalue = yvalue = zvalue = rvalue = pvalue = 0.0; - scaleflag = 1; - side = OUTSIDE; // sphere @@ -559,33 +556,27 @@ int FixIndent::geometry(int narg, char **arg) if (strcmp(arg[1],"x") == 0) { cdim = 0; - if (utils::strmatch(arg[2],"^v_")) { ystr = utils::strdup(arg[2]+2); } else yvalue = utils::numeric(FLERR,arg[2],false,lmp); - if (utils::strmatch(arg[3],"^v_")) { zstr = utils::strdup(arg[3]+2); } else zvalue = utils::numeric(FLERR,arg[3],false,lmp); } else if (strcmp(arg[1],"y") == 0) { cdim = 1; - if (utils::strmatch(arg[2],"^v_")) { xstr = utils::strdup(arg[2]+2); } else xvalue = utils::numeric(FLERR,arg[2],false,lmp); - if (utils::strmatch(arg[3],"^v_")) { zstr = utils::strdup(arg[3]+2); } else zvalue = utils::numeric(FLERR,arg[3],false,lmp); } else if (strcmp(arg[1],"z") == 0) { cdim = 2; - if (utils::strmatch(arg[2],"^v_")) { xstr = utils::strdup(arg[2]+2); } else xvalue = utils::numeric(FLERR,arg[2],false,lmp); - if (utils::strmatch(arg[3],"^v_")) { ystr = utils::strdup(arg[3]+2); } else yvalue = utils::numeric(FLERR,arg[3],false,lmp); @@ -595,15 +586,12 @@ int FixIndent::geometry(int narg, char **arg) if (utils::strmatch(arg[4],"^v_")) { rlostr = utils::strdup(arg[4]+2); } else rlovalue = utils::numeric(FLERR,arg[4],false,lmp); - if (utils::strmatch(arg[5],"^v_")) { rhistr = utils::strdup(arg[5]+2); } else rhivalue = utils::numeric(FLERR,arg[5],false,lmp); - if (utils::strmatch(arg[6],"^v_")) { lostr = utils::strdup(arg[6]+2); } else lovalue = utils::numeric(FLERR,arg[6],false,lmp); - if (utils::strmatch(arg[7],"^v_")) { histr = utils::strdup(arg[7]+2); } else hivalue = utils::numeric(FLERR,arg[7],false,lmp); @@ -646,6 +634,9 @@ int FixIndent::geometry(int narg, char **arg) void FixIndent::options(int narg, char **arg) { + scaleflag = 1; + side = OUTSIDE; + int iarg = 0; while (iarg < narg) { From 214ea5209ee23a09ec5e909f86ade984648746a1 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Mon, 26 Feb 2024 16:34:42 -0700 Subject: [PATCH 250/559] Missed changes --- src/comm_tiled.cpp | 26 ++++++++++++++++++-------- src/comm_tiled.h | 12 ++++++------ 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/src/comm_tiled.cpp b/src/comm_tiled.cpp index 65cbfad0b5..0c12fc268b 100644 --- a/src/comm_tiled.cpp +++ b/src/comm_tiled.cpp @@ -54,7 +54,7 @@ CommTiled::CommTiled(LAMMPS *lmp) : Comm(lmp) rcbinfo = nullptr; cutghostmulti = nullptr; cutghostmultiold = nullptr; - init_buffers(); + init_buffers_flag = 1; } /* ---------------------------------------------------------------------- */ @@ -69,7 +69,7 @@ CommTiled::CommTiled(LAMMPS * /*lmp*/, Comm *oldcomm) : Comm(*oldcomm) style = Comm::TILED; layout = oldcomm->layout; Comm::copy_arrays(oldcomm); - init_buffers(); + init_buffers_flag = 1; } /* ---------------------------------------------------------------------- */ @@ -94,7 +94,7 @@ void CommTiled::init_buffers() buf_send = buf_recv = nullptr; maxsend = maxrecv = BUFMIN; grow_send(maxsend,2); - memory->create(buf_recv,maxrecv,"comm:buf_recv"); + grow_recv(maxrecv,1); maxoverlap = 0; overlap = nullptr; @@ -113,6 +113,11 @@ void CommTiled::init_buffers() void CommTiled::init() { + if (init_buffers_flag) { + init_buffers(); + init_buffers_flag = 0; + } + Comm::init(); // cannot set nswap in init_buffers() b/c @@ -2236,12 +2241,15 @@ void CommTiled::grow_send(int n, int flag) } /* ---------------------------------------------------------------------- - free/malloc the size of the recv buffer as needed with BUFFACTOR + free/malloc the size of the recv buffer as needed + flag = 0, realloc with BUFFACTOR + flag = 1, free/malloc w/out BUFFACTOR ------------------------------------------------------------------------- */ -void CommTiled::grow_recv(int n) +void CommTiled::grow_recv(int n, int flag) { - maxrecv = static_cast (BUFFACTOR * n); + if (flag) maxrecv = n; + else maxrecv = static_cast (BUFFACTOR * n); memory->destroy(buf_recv); memory->create(buf_recv,maxrecv,"comm:buf_recv"); } @@ -2428,8 +2436,10 @@ void CommTiled::deallocate_swap(int n) delete [] maxsendlist[i]; - for (int j = 0; j < nprocmax[i]; j++) memory->destroy(sendlist[i][j]); - delete [] sendlist[i]; + if (sendlist && sendlist[i]) { + for (int j = 0; j < nprocmax[i]; j++) memory->destroy(sendlist[i][j]); + delete [] sendlist[i]; + } } delete [] sendproc; diff --git a/src/comm_tiled.h b/src/comm_tiled.h index c9434e6164..095e7bf5aa 100644 --- a/src/comm_tiled.h +++ b/src/comm_tiled.h @@ -51,7 +51,7 @@ class CommTiled : public Comm { double memory_usage() override; - private: + protected: int nswap; // # of swaps to perform = 2*dim int maxswap; // largest nswap can be = 6 @@ -117,7 +117,7 @@ class CommTiled : public Comm { double *sublo, *subhi; int dimension; - // NOTE: init_buffers is called from a constructor and must not be made virtual + int init_buffers_flag; void init_buffers(); // box drop and other functions @@ -145,11 +145,11 @@ class CommTiled : public Comm { int point_drop_tiled_recurse(double *, int, int); int closer_subbox_edge(int, double *); - void grow_send(int, int); // reallocate send buffer - void grow_recv(int); // free/allocate recv buffer - void grow_list(int, int, int); // reallocate sendlist for one swap/proc + virtual void grow_send(int, int); // reallocate send buffer + virtual void grow_recv(int, int flag = 0); // free/allocate recv buffer + virtual void grow_list(int, int, int); // reallocate sendlist for one swap/proc void allocate_swap(int); // allocate swap arrays - void grow_swap_send(int, int, int); // grow swap arrays for send and recv + virtual void grow_swap_send(int, int, int); // grow swap arrays for send and recv void grow_swap_send_multi(int, int); // grow multi swap arrays for send and recv void grow_swap_recv(int, int); void deallocate_swap(int); // deallocate swap arrays From 07731d81122c4fc0f6ec03cf9f9b4bedea5a8b29 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Mon, 26 Feb 2024 16:34:49 -0700 Subject: [PATCH 251/559] Whitespace --- src/KOKKOS/memory_kokkos.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/KOKKOS/memory_kokkos.h b/src/KOKKOS/memory_kokkos.h index 0cf5b0d51a..3a8272d5ae 100644 --- a/src/KOKKOS/memory_kokkos.h +++ b/src/KOKKOS/memory_kokkos.h @@ -219,15 +219,15 @@ void destroy_kokkos(TYPE data, typename TYPE::value_type** &array) template TYPE create_kokkos(TYPE &data, typename TYPE::value_type ***&array, int n1, int n2, int n3, const char *name) -{ +{ data = TYPE(std::string(name),n1,n2,n3); bigint nbytes = ((bigint) sizeof(typename TYPE::value_type **)) * n1; array = (typename TYPE::value_type ***) smalloc(nbytes,name); - + for (int i = 0; i < n1; i++) { if (n2 == 0) { array[i] = nullptr; - } else { + } else { nbytes = ((bigint) sizeof(typename TYPE::value_type *)) * n2; array[i] = (typename TYPE::value_type **) smalloc(nbytes,name); for (int j = 0; j < n2; j++) { From 14066e018ffcfdb65c928d3460a4e6d2220745fc Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Mon, 26 Feb 2024 17:15:04 -0700 Subject: [PATCH 252/559] Fix indexing issue --- src/KOKKOS/comm_tiled_kokkos.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/KOKKOS/comm_tiled_kokkos.cpp b/src/KOKKOS/comm_tiled_kokkos.cpp index 86268301ad..bd65bcf221 100644 --- a/src/KOKKOS/comm_tiled_kokkos.cpp +++ b/src/KOKKOS/comm_tiled_kokkos.cpp @@ -215,7 +215,7 @@ void CommTiledKokkos::forward_comm_device() if (recvother[iswap]) { for (i = 0; i < nrecv; i++) { MPI_Waitany(nrecv,requests,&irecv,MPI_STATUS_IGNORE); - auto k_buf_recv_offset = Kokkos::subview(k_buf_recv,std::pair(forward_recv_offset[iswap][irecv],(int)k_buf_recv.extent(1)),Kokkos::ALL); + auto k_buf_recv_offset = Kokkos::subview(k_buf_recv,std::pair(forward_recv_offset[iswap][irecv],(int)k_buf_recv.extent(0)),Kokkos::ALL); atomKK->avecKK->unpack_comm_vel_kokkos(recvnum[iswap][irecv],firstrecv[iswap][irecv], k_buf_recv_offset); DeviceType().fence(); @@ -249,7 +249,7 @@ void CommTiledKokkos::forward_comm_device() if (recvother[iswap]) { for (i = 0; i < nrecv; i++) { MPI_Waitany(nrecv,requests,&irecv,MPI_STATUS_IGNORE); - auto k_buf_recv_offset = Kokkos::subview(k_buf_recv,std::pair(forward_recv_offset[iswap][irecv],(int)k_buf_recv.extent(1)),Kokkos::ALL); + auto k_buf_recv_offset = Kokkos::subview(k_buf_recv,std::pair(forward_recv_offset[iswap][irecv],(int)k_buf_recv.extent(0)),Kokkos::ALL); atomKK->avecKK->unpack_comm_kokkos(recvnum[iswap][irecv],firstrecv[iswap][irecv], k_buf_recv_offset); DeviceType().fence(); @@ -336,7 +336,7 @@ void CommTiledKokkos::reverse_comm_device() for (i = 0; i < nsend; i++) { MPI_Waitany(nsend,requests,&irecv,MPI_STATUS_IGNORE); auto k_sendlist_small = Kokkos::subview(k_sendlist,iswap,irecv,Kokkos::ALL); - auto k_buf_recv_offset = Kokkos::subview(k_buf_recv,std::pair(reverse_recv_offset[iswap][irecv],(int)k_buf_recv.extent(1)),Kokkos::ALL); + auto k_buf_recv_offset = Kokkos::subview(k_buf_recv,std::pair(reverse_recv_offset[iswap][irecv],(int)k_buf_recv.extent(0)),Kokkos::ALL); atomKK->avecKK->unpack_reverse_kokkos(sendnum[iswap][irecv],k_sendlist_small, k_buf_recv_offset); DeviceType().fence(); @@ -370,7 +370,7 @@ void CommTiledKokkos::reverse_comm_device() for (i = 0; i < nsend; i++) { MPI_Waitany(nsend,requests,&irecv,MPI_STATUS_IGNORE); auto k_sendlist_small = Kokkos::subview(k_sendlist,iswap,irecv,Kokkos::ALL); - auto k_buf_recv_offset = Kokkos::subview(k_buf_recv,std::pair(reverse_recv_offset[iswap][irecv],(int)k_buf_recv.extent(1)),Kokkos::ALL); + auto k_buf_recv_offset = Kokkos::subview(k_buf_recv,std::pair(reverse_recv_offset[iswap][irecv],(int)k_buf_recv.extent(0)),Kokkos::ALL); atomKK->avecKK->unpack_reverse_kokkos(sendnum[iswap][irecv],k_sendlist_small, k_buf_recv_offset); DeviceType().fence(); From 53219b299bd35109a3cf270df022618f917cb790 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Mon, 26 Feb 2024 17:16:28 -0700 Subject: [PATCH 253/559] Unused var --- src/KOKKOS/atom_vec_kokkos.cpp | 1 - src/KOKKOS/atom_vec_kokkos.h | 1 - src/KOKKOS/fix_langevin_kokkos.h | 2 -- 3 files changed, 4 deletions(-) diff --git a/src/KOKKOS/atom_vec_kokkos.cpp b/src/KOKKOS/atom_vec_kokkos.cpp index 31fc63db6a..bdcf2b0803 100644 --- a/src/KOKKOS/atom_vec_kokkos.cpp +++ b/src/KOKKOS/atom_vec_kokkos.cpp @@ -38,7 +38,6 @@ AtomVecKokkos::AtomVecKokkos(LAMMPS *lmp) : AtomVec(lmp) k_count = DAT::tdual_int_1d("atom:k_count",1); atomKK = (AtomKokkos *) atom; - commKK = (CommKokkos *) comm; } /* ---------------------------------------------------------------------- */ diff --git a/src/KOKKOS/atom_vec_kokkos.h b/src/KOKKOS/atom_vec_kokkos.h index 635113d500..646d9a4840 100644 --- a/src/KOKKOS/atom_vec_kokkos.h +++ b/src/KOKKOS/atom_vec_kokkos.h @@ -133,7 +133,6 @@ class AtomVecKokkos : virtual public AtomVec { HAT::t_v_array h_v; HAT::t_f_array h_f; - class CommKokkos *commKK; size_t buffer_size; void* buffer; diff --git a/src/KOKKOS/fix_langevin_kokkos.h b/src/KOKKOS/fix_langevin_kokkos.h index 4fc22a1df1..24e587f61b 100644 --- a/src/KOKKOS/fix_langevin_kokkos.h +++ b/src/KOKKOS/fix_langevin_kokkos.h @@ -103,8 +103,6 @@ namespace LAMMPS_NS { void end_of_step_rmass_item(int) const; private: - class CommKokkos *commKK; - typename ArrayTypes::t_float_1d rmass; typename ArrayTypes::t_float_1d mass; typename ArrayTypes::tdual_double_2d k_franprev; From 1baa6cc166234f67013875776cbdec13784ed149 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Feb 2024 10:28:32 -0500 Subject: [PATCH 254/559] remove dead code from fix bocs --- src/BOCS/fix_bocs.cpp | 40 +++++++--------------------------------- src/BOCS/fix_bocs.h | 4 +--- 2 files changed, 8 insertions(+), 36 deletions(-) diff --git a/src/BOCS/fix_bocs.cpp b/src/BOCS/fix_bocs.cpp index 33f4f072e7..409ec8507b 100644 --- a/src/BOCS/fix_bocs.cpp +++ b/src/BOCS/fix_bocs.cpp @@ -64,15 +64,15 @@ enum { ISO, ANISO, TRICLINIC }; /* ---------------------------------------------------------------------- NVT,NPH,NPT integrators for improved Nose-Hoover equations of motion ---------------------------------------------------------------------- */ -// clang-format off FixBocs::FixBocs(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg), id_dilate(nullptr), irregular(nullptr), id_temp(nullptr), - id_press(nullptr), eta(nullptr), eta_dot(nullptr), eta_dotdot(nullptr), eta_mass(nullptr), - etap(nullptr), etap_dot(nullptr), etap_dotdot(nullptr), etap_mass(nullptr) + Fix(lmp, narg, arg), irregular(nullptr), id_temp(nullptr), id_press(nullptr), eta(nullptr), + eta_dot(nullptr), eta_dotdot(nullptr), eta_mass(nullptr), etap(nullptr), etap_dot(nullptr), + etap_dotdot(nullptr), etap_mass(nullptr) { if (lmp->citeme) lmp->citeme->add(cite_user_bocs_package); + // clang-format off if (narg < 4) utils::missing_cmd_args(FLERR,"fix bocs",error); restart_global = 1; @@ -89,8 +89,6 @@ FixBocs::FixBocs(LAMMPS *lmp, int narg, char **arg) : pcouple = NONE; drag = 0.0; - allremap = 1; - id_dilate = nullptr; mtchain = mpchain = 3; nc_tchain = nc_pchain = 1; mtk_flag = 1; @@ -288,7 +286,6 @@ FixBocs::FixBocs(LAMMPS *lmp, int narg, char **arg) : if (p_flag[4]) box_change |= BOX_CHANGE_XZ; if (p_flag[5]) box_change |= BOX_CHANGE_XY; no_change_box = 1; - if (allremap == 0) restart_pbc = 1; pstyle = ISO; // MRD this is the only one that can happen @@ -407,7 +404,6 @@ FixBocs::~FixBocs() { if (copymode) return; - delete[] id_dilate; delete irregular; // delete temperature and pressure if fix created them @@ -458,14 +454,6 @@ int FixBocs::setmask() void FixBocs::init() { - // recheck that dilate group has not been deleted - if (allremap == 0) { - int idilate = group->find(id_dilate); - if (idilate == -1) - error->all(FLERR,"Fix bocs dilate group ID does not exist"); - dilate_group_bit = group->bitmask[idilate]; - } - // ensure no conflict with fix deform if (pstat_flag) { @@ -1125,19 +1113,15 @@ void FixBocs::couple() } /* ---------------------------------------------------------------------- - change box size - remap all atoms or dilate group atoms depending on allremap flag + change box size, remap all atoms if rigid bodies exist, scale rigid body centers-of-mass ------------------------------------------------------------------------- */ void FixBocs::remap() { - int i; double oldlo,oldhi; double expfac; - double **x = atom->x; - int *mask = atom->mask; int nlocal = atom->nlocal; double *h = domain->h; @@ -1147,12 +1131,7 @@ void FixBocs::remap() // convert pertinent atoms and rigid bodies to lamda coords - if (allremap) domain->x2lamda(nlocal); - else { - for (i = 0; i < nlocal; i++) - if (mask[i] & dilate_group_bit) - domain->x2lamda(x[i],x[i]); - } + domain->x2lamda(nlocal); for (auto &ifix : rfix) ifix->deform(0); @@ -1292,12 +1271,7 @@ void FixBocs::remap() // convert pertinent atoms and rigid bodies back to box coords - if (allremap) domain->lamda2x(nlocal); - else { - for (i = 0; i < nlocal; i++) - if (mask[i] & dilate_group_bit) - domain->lamda2x(x[i],x[i]); - } + domain->lamda2x(nlocal); for (auto &ifix : rfix) ifix->deform(1); } diff --git a/src/BOCS/fix_bocs.h b/src/BOCS/fix_bocs.h index af221fedb3..7f752a03f3 100644 --- a/src/BOCS/fix_bocs.h +++ b/src/BOCS/fix_bocs.h @@ -65,7 +65,7 @@ class FixBocs : public Fix { int tstat_flag; // 1 if control T int pstat_flag; // 1 if control P - int pstyle, pcouple, allremap; + int pstyle, pcouple; int p_flag[6]; // 1 if control P on this dim, 0 if not double p_start[6], p_stop[6]; double p_freq[6], p_target[6]; @@ -75,9 +75,7 @@ class FixBocs : public Fix { double drag, tdrag_factor; // drag factor on particle thermostat double pdrag_factor; // drag factor on barostat int kspace_flag; // 1 if KSpace invoked, 0 if not - int dilate_group_bit; // mask for dilation group std::vector rfix; // list of rigid fixes - char *id_dilate; // group name to dilate class Irregular *irregular; // for migrating atoms after box flips // MRD NJD From e1a3ed6602da994d258dadf38231c72658815f4c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Feb 2024 10:31:43 -0500 Subject: [PATCH 255/559] modernize and coding style/formatting improvements --- src/BOCS/compute_pressure_bocs.cpp | 36 +++++++++++++--------------- src/BOCS/fix_bocs.cpp | 38 +++++++++++++----------------- 2 files changed, 33 insertions(+), 41 deletions(-) diff --git a/src/BOCS/compute_pressure_bocs.cpp b/src/BOCS/compute_pressure_bocs.cpp index a8bc9596cc..16d6c91a1f 100644 --- a/src/BOCS/compute_pressure_bocs.cpp +++ b/src/BOCS/compute_pressure_bocs.cpp @@ -42,7 +42,7 @@ ComputePressureBocs::ComputePressureBocs(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), vptr(nullptr), id_temp(nullptr) { - if (narg < 4) error->all(FLERR,"Illegal compute pressure/bocs command"); + if (narg < 4) utils::missing_cmd_args(FLERR,"compute pressure/bocs", error); if (igroup) error->all(FLERR,"Compute pressure/bocs must use group all"); scalar_flag = vector_flag = 1; @@ -62,12 +62,12 @@ ComputePressureBocs::ComputePressureBocs(LAMMPS *lmp, int narg, char **arg) : else { id_temp = utils::strdup(arg[3]); - int icompute = modify->find_compute(id_temp); - if (icompute < 0) - error->all(FLERR,"Could not find compute pressure/bocs temperature ID"); - if (modify->compute[icompute]->tempflag == 0) - error->all(FLERR,"Compute pressure/bocs temperature ID does not " - "compute temperature"); + temperature = modify->get_compute_by_id(id_temp); + if (!temperature) + error->all(FLERR,"Could not find compute pressure/bocs temperature compute {}", id_temp); + if (temperature->tempflag == 0) + error->all(FLERR,"Compute pressure/bocs temperature compute {} does not compute " + "temperature", id_temp); } // process optional args @@ -137,10 +137,9 @@ void ComputePressureBocs::init() // fixes could have changed or compute_modify could have changed it if (keflag) { - int icompute = modify->find_compute(id_temp); - if (icompute < 0) - error->all(FLERR,"Could not find compute pressure/bocs temperature ID"); - temperature = modify->compute[icompute]; + temperature = modify->get_compute_by_id(id_temp); + if (!temperature) + error->all(FLERR,"Could not find compute pressure/bocs temperature compute {}", id_temp); } // detect contributions to virial @@ -158,10 +157,8 @@ void ComputePressureBocs::init() if (improperflag && force->improper) nvirial++; } if (fixflag) { - Fix **fix = modify->fix; - int nfix = modify->nfix; - for (int i = 0; i < nfix; i++) - if (fix[i]->thermo_virial) nvirial++; + for (const auto &ifix : modify->get_fix_list()) + if (ifix->thermo_virial) nvirial++; } if (nvirial) { @@ -174,10 +171,11 @@ void ComputePressureBocs::init() vptr[nvirial++] = force->dihedral->virial; if (improperflag && force->improper) vptr[nvirial++] = force->improper->virial; - if (fixflag) - for (int i = 0; i < modify->nfix; i++) - if (modify->fix[i]->virial_global_flag && modify->fix[i]->thermo_virial) - vptr[nvirial++] = modify->fix[i]->virial; + if (fixflag) { + for (const auto &ifix : modify->get_fix_list()) + if (ifix->virial_global_flag && ifix->thermo_virial) + vptr[nvirial++] = ifix->virial; + } } // flag Kspace contribution separately, since not summed across procs diff --git a/src/BOCS/fix_bocs.cpp b/src/BOCS/fix_bocs.cpp index 409ec8507b..d6beb889ff 100644 --- a/src/BOCS/fix_bocs.cpp +++ b/src/BOCS/fix_bocs.cpp @@ -145,15 +145,14 @@ FixBocs::FixBocs(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg],"temp") == 0) { - if (iarg+4 > narg) error->all(FLERR,"Illegal fix bocs command"); + if (iarg+4 > narg) utils::missing_cmd_args(FLERR,"fix bocs temp", error); tstat_flag = 1; t_start = utils::numeric(FLERR,arg[iarg+1],false,lmp); t_target = t_start; t_stop = utils::numeric(FLERR,arg[iarg+2],false,lmp); t_period = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (t_start <= 0.0 || t_stop <= 0.0) - error->all(FLERR, - "Target temperature for fix bocs cannot be 0.0"); + error->all(FLERR, "Target temperature for fix bocs cannot be 0.0"); iarg += 4; } else if (strcmp(arg[iarg],"iso") == 0) { error->all(FLERR,"Illegal fix bocs command. Pressure fix must be " @@ -164,12 +163,9 @@ FixBocs::FixBocs(LAMMPS *lmp, int narg, char **arg) : "followed by: P_0 P_f P_coupl"); p_match_flag = 1; pcouple = XYZ; - p_start[0] = p_start[1] = p_start[2] = - utils::numeric(FLERR,arg[iarg+1],false,lmp); - p_stop[0] = p_stop[1] = p_stop[2] = - utils::numeric(FLERR,arg[iarg+2],false,lmp); - p_period[0] = p_period[1] = p_period[2] = - utils::numeric(FLERR,arg[iarg+3],false,lmp); + p_start[0] = p_start[1] = p_start[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[0] = p_stop[1] = p_stop[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + p_period[0] = p_period[1] = p_period[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[0] = p_flag[1] = p_flag[2] = 1; p_flag[3] = p_flag[4] = p_flag[5] = 0; // MRD @@ -383,7 +379,7 @@ FixBocs::FixBocs(LAMMPS *lmp, int narg, char **arg) : // and thus its KE/temperature contribution should use group all id_temp = utils::strdup(std::string(id)+"_temp"); - modify->add_compute(fmt::format("{} all temp",id_temp)); + temperature = modify->add_compute(fmt::format("{} all temp",id_temp)); tcomputeflag = 1; // create a new compute pressure style @@ -391,7 +387,7 @@ FixBocs::FixBocs(LAMMPS *lmp, int narg, char **arg) : // pass id_temp as 4th arg to pressure constructor id_press = utils::strdup(std::string(id)+"_press"); - modify->add_compute(fmt::format("{} all PRESSURE/BOCS {}",id_press,id_temp)); + pressure = modify->add_compute(fmt::format("{} all PRESSURE/BOCS {}",id_press,id_temp)); pcomputeflag = 1; /*~ MRD End of stuff copied from fix_npt.cpp~*/ @@ -1435,24 +1431,22 @@ int FixBocs::modify_param(int narg, char **arg) delete[] id_temp; id_temp = utils::strdup(arg[1]); - int icompute = modify->find_compute(arg[1]); - if (icompute < 0) - error->all(FLERR,"Could not find fix_modify temperature ID"); - temperature = modify->compute[icompute]; + temperature = modify->get_compute_by_id(id_temp); + if (!temperature) + error->all(FLERR,"Could not find fix_modify temperature compute {}", id_temp); if (temperature->tempflag == 0) - error->all(FLERR, - "Fix_modify temperature ID does not compute temperature"); + error->all(FLERR, "Fix_modify temperature compute {} does not compute temperature", id_temp); if (temperature->igroup != 0 && comm->me == 0) - error->warning(FLERR,"Temperature for fix modify is not for group all"); + error->warning(FLERR,"Temperature compute {} for fix modify is not for group all", id_temp); // reset id_temp of pressure to new temperature ID if (pstat_flag) { - icompute = modify->find_compute(id_press); - if (icompute < 0) - error->all(FLERR,"Pressure ID for fix modify does not exist"); - modify->compute[icompute]->reset_extra_compute_fix(id_temp); + pressure = modify->get_compute_by_id(id_press); + if (!pressure) + error->all(FLERR,"Pressure ID {} for fix modify does not exist", id_press); + pressure->reset_extra_compute_fix(id_temp); } return 2; From f1ed2f20a1f001bd5d75718d6f04b488b4a548d3 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Tue, 27 Feb 2024 09:31:39 -0700 Subject: [PATCH 256/559] Add back in legacy functions needed for mliap --- src/KOKKOS/memory_kokkos.h | 59 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/src/KOKKOS/memory_kokkos.h b/src/KOKKOS/memory_kokkos.h index 3a8272d5ae..0d9b10ed2f 100644 --- a/src/KOKKOS/memory_kokkos.h +++ b/src/KOKKOS/memory_kokkos.h @@ -346,6 +346,65 @@ static double memory_usage(TYPE &data) return data.span() * sizeof(typename TYPE::value_type); } +/* ---------------------------------------------------------------------- + legacy functions +------------------------------------------------------------------------- */ + +template +TYPE destroy_kokkos(TYPE &data) +{ + data = TYPE(); + return data; +} + +template +TYPE create_kokkos(TYPE &data, int n1, const char *name) +{ + data = TYPE(); + data = TYPE(std::string(name),n1); + return data; +} + +template +TYPE create_kokkos(TYPE &data, int n1, int n2, const char *name) +{ + data = TYPE(); + data = TYPE(std::string(name),n1,n2); + return data; +} + +template +TYPE create_kokkos(TYPE &data, int n1, int n2, int n3 ,const char *name) +{ + data = TYPE(); + data = TYPE(std::string(name),n1,n2,n3); + return data; +} + +template +TYPE create_kokkos(TYPE &data, int n1, int n2, int n3, int n4 ,const char *name) +{ + data = TYPE(); + data = TYPE(std::string(name),n1,n2,n3,n4); + return data; +} + +template +TYPE create_kokkos(TYPE &data, int n1, int n2, int n3, int n4, int n5 ,const char *name) +{ + data = TYPE(); + data = TYPE(std::string(name),n1,n2,n3,n4,n5); + return data; +} + +template +TYPE create_kokkos(TYPE &data, int n1, int n2, int n3, int n4, int n5 , int n6 ,const char *name) +{ + data = TYPE(); + data = TYPE(std::string(name) ,n1,n2,n3,n4,n5,n6); + return data; +} + }; } From 369aae91d38339572ceeadd38fbe06d1340b56ec Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Tue, 27 Feb 2024 09:31:53 -0700 Subject: [PATCH 257/559] Remove unnecessary destroys --- src/KOKKOS/mliap_data_kokkos.cpp | 2 - src/KOKKOS/mliap_descriptor_kokkos.h | 3 -- src/KOKKOS/mliap_model_kokkos.h | 2 - src/KOKKOS/mliap_so3_kokkos.cpp | 72 ---------------------------- 4 files changed, 79 deletions(-) diff --git a/src/KOKKOS/mliap_data_kokkos.cpp b/src/KOKKOS/mliap_data_kokkos.cpp index dc8fe7dd83..14d0dae14f 100644 --- a/src/KOKKOS/mliap_data_kokkos.cpp +++ b/src/KOKKOS/mliap_data_kokkos.cpp @@ -59,7 +59,6 @@ MLIAPDataKokkos::~MLIAPDataKokkos() { memoryKK->destroy_kokkos(k_pair_i,pair_i); memoryKK->destroy_kokkos(k_jelems,jelems); memoryKK->destroy_kokkos(k_elems,elems); - memoryKK->destroy_kokkos(k_ij); memoryKK->destroy_kokkos(k_rij,rij); memoryKK->destroy_kokkos(k_graddesc,graddesc); } @@ -213,7 +212,6 @@ void MLIAPDataKokkos::grow_neigharrays() { memoryKK->create_kokkos(k_iatoms, iatoms, natomneigh_max, "mliap_data:iatoms"); memoryKK->destroy_kokkos(k_ielems,ielems); memoryKK->create_kokkos(k_ielems, ielems, natomneigh_max, "mliap_data:ielems"); - memoryKK->destroy_kokkos(k_ij); memoryKK->create_kokkos(k_ij, natomneigh_max, "mliap_data:ij"); memoryKK->destroy_kokkos(k_numneighs,numneighs); memoryKK->create_kokkos(k_numneighs, numneighs, natomneigh_max, "mliap_data:numneighs"); diff --git a/src/KOKKOS/mliap_descriptor_kokkos.h b/src/KOKKOS/mliap_descriptor_kokkos.h index 075f0e9fed..d4ab72ff96 100644 --- a/src/KOKKOS/mliap_descriptor_kokkos.h +++ b/src/KOKKOS/mliap_descriptor_kokkos.h @@ -29,13 +29,11 @@ template class MLIAPDescriptorKokkos : virtual protected Poin MLIAPDescriptorKokkos(LAMMPS *lmp, MLIAPDescriptor *descriptor_in) : Pointers(lmp), descriptor(descriptor_in) { - memoryKK->destroy_kokkos(k_wjelem); } void init_data() { int num_elems = descriptor->nelements; - memoryKK->destroy_kokkos(k_wjelem); memoryKK->create_kokkos(k_wjelem, num_elems, "MLIAPDescriptorKokkos::k_wjelem"); for (int i = 0; i < num_elems; ++i) k_wjelem.h_view(i) = descriptor->wjelem[i]; k_wjelem.modify(); @@ -44,7 +42,6 @@ template class MLIAPDescriptorKokkos : virtual protected Poin virtual ~MLIAPDescriptorKokkos() { - memoryKK->destroy_kokkos(k_wjelem); } MLIAPDescriptor *descriptor; diff --git a/src/KOKKOS/mliap_model_kokkos.h b/src/KOKKOS/mliap_model_kokkos.h index 72077f5988..4840798cc1 100644 --- a/src/KOKKOS/mliap_model_kokkos.h +++ b/src/KOKKOS/mliap_model_kokkos.h @@ -29,14 +29,12 @@ template class MLIAPModelKokkos : protected Pointers { MLIAPModelKokkos(LAMMPS *lmp, MLIAPModel *model_in) : Pointers(lmp), model(model_in) {} virtual ~MLIAPModelKokkos() { - memoryKK->destroy_kokkos(k_coeffelem); model->coeffelem = nullptr; } void set_k_coeffelem() { double **tmp = nullptr; - memoryKK->destroy_kokkos(k_coeffelem); memoryKK->create_kokkos(k_coeffelem, tmp, model->nelements, model->nparams, "MLIAPModelKokkos::coeffelem"); for (int i = 0; i < model->nelements; ++i) diff --git a/src/KOKKOS/mliap_so3_kokkos.cpp b/src/KOKKOS/mliap_so3_kokkos.cpp index 3f6370a6fc..0fe3cd2350 100644 --- a/src/KOKKOS/mliap_so3_kokkos.cpp +++ b/src/KOKKOS/mliap_so3_kokkos.cpp @@ -60,44 +60,6 @@ MLIAP_SO3Kokkos::MLIAP_SO3Kokkos(LAMMPS *lmp, double vrcut, int vlma template MLIAP_SO3Kokkos::~MLIAP_SO3Kokkos() { - memoryKK->destroy_kokkos(m_ellpl1); - memoryKK->destroy_kokkos(m_ellm1); - memoryKK->destroy_kokkos(m_pfac); - memoryKK->destroy_kokkos(m_Ylms); - memoryKK->destroy_kokkos(m_dfac0); - memoryKK->destroy_kokkos(m_dfac1); - memoryKK->destroy_kokkos(m_dfac2); - memoryKK->destroy_kokkos(m_dfac3); - memoryKK->destroy_kokkos(m_dfac4); - memoryKK->destroy_kokkos(m_dfac5); - memoryKK->destroy_kokkos(m_w); - memoryKK->destroy_kokkos(m_g_array); - - memoryKK->destroy_kokkos(m_rootpq); - memoryKK->destroy_kokkos(m_idxu_block); - memoryKK->destroy_kokkos(m_idxylm); - - memoryKK->destroy_kokkos(m_rip_array); - memoryKK->destroy_kokkos(m_rip_darray); - - memoryKK->destroy_kokkos(m_sbes_array); - memoryKK->destroy_kokkos(m_sbes_darray); - - memoryKK->destroy_kokkos(m_plist_r); - - memoryKK->destroy_kokkos(m_ulist_r); - memoryKK->destroy_kokkos(m_ulist_i); - - memoryKK->destroy_kokkos(m_dYlm_r); - memoryKK->destroy_kokkos(m_dYlm_i); - - memoryKK->destroy_kokkos(k_dplist_r); - - memoryKK->destroy_kokkos(m_dclist); - - memoryKK->destroy_kokkos(m_clisttot_r); - memoryKK->destroy_kokkos(m_clisttot_i); - t_numneighs = int_1d(); t_jelems = int_1d(); t_wjelem = float_1d(); @@ -121,9 +83,7 @@ void MLIAP_SO3Kokkos::init() int totali; totali = m_lmax + 1; - memoryKK->destroy_kokkos(m_ellpl1); memoryKK->create_kokkos(m_ellpl1, totali, "MLIAP_SO3Kokkos:m_ellpl1"); - memoryKK->destroy_kokkos(m_ellm1); memoryKK->create_kokkos(m_ellm1, totali, "MLIAP_SO3Kokkos:m_ellm1"); alloc_init = 2.0 * totali * sizeof(double); using range=Kokkos::RangePolicy; @@ -139,9 +99,7 @@ void MLIAP_SO3Kokkos::init() m_pfac_l1 = m_lmax + 2; m_pfac_l2 = (m_lmax + 2) * (m_lmax + 2) + 1; totali = m_pfac_l1 * m_pfac_l2; - memoryKK->destroy_kokkos(m_pfac); memoryKK->create_kokkos(m_pfac, totali, "MLIAP_SO3Kokkos:m_pfac"); - memoryKK->destroy_kokkos(m_Ylms); memoryKK->create_kokkos(m_Ylms, totali, "MLIAP_SO3Kokkos:m_Ylms"); alloc_init += 2 * totali * sizeof(double); @@ -161,17 +119,11 @@ void MLIAP_SO3Kokkos::init() m_dfac_l1 = m_lmax + 1; m_dfac_l2 = m_numYlms + 1; totali = m_dfac_l1 * m_dfac_l2; - memoryKK->destroy_kokkos(m_dfac0); memoryKK->create_kokkos(m_dfac0, totali, "MLIAP_SO3Kokkos:m_dfac0"); - memoryKK->destroy_kokkos(m_dfac1); memoryKK->create_kokkos(m_dfac1, totali, "MLIAP_SO3Kokkos:m_dfac1"); - memoryKK->destroy_kokkos(m_dfac2); memoryKK->create_kokkos(m_dfac2, totali, "MLIAP_SO3Kokkos:m_dfac2"); - memoryKK->destroy_kokkos(m_dfac3); memoryKK->create_kokkos(m_dfac3, totali, "MLIAP_SO3Kokkos:m_dfac3"); - memoryKK->destroy_kokkos(m_dfac4); memoryKK->create_kokkos(m_dfac4, totali, "MLIAP_SO3Kokkos:m_dfac4"); - memoryKK->destroy_kokkos(m_dfac5); memoryKK->create_kokkos(m_dfac5, totali, "MLIAP_SO3Kokkos:m_dfac5"); alloc_init += 6.0 * totali * sizeof(double); @@ -197,12 +149,10 @@ void MLIAP_SO3Kokkos::init() }); totali = m_nmax * m_nmax; - memoryKK->destroy_kokkos(m_w); memoryKK->create_kokkos(m_w, totali, "MLIAP_SO3Kokkos:w"); alloc_init += totali * sizeof(double); totali = m_nmax * m_Nmax; - memoryKK->destroy_kokkos(m_g_array); memoryKK->create_kokkos(m_g_array, totali, "MLIAP_SO3Kokkos:g_array"); alloc_init += totali * sizeof(double); @@ -218,7 +168,6 @@ void MLIAP_SO3Kokkos::init() twolmax = 2 * (m_lmax + 1); int m_ldim = twolmax + 1; totali = m_ldim * m_ldim; - memoryKK->destroy_kokkos(m_rootpq); memoryKK->create_kokkos(m_rootpq, totali, "MLIAP_SO3Kokkos:rootpq"); alloc_init += totali * sizeof(double); @@ -229,12 +178,10 @@ void MLIAP_SO3Kokkos::init() rootpq[p * ldim + q] = sqrt(static_cast(p) / q); }); - memoryKK->destroy_kokkos(m_idxu_block); memoryKK->create_kokkos(m_idxu_block, m_ldim, "MLIAP_SO3Kokkos:idxu_bloc"); alloc_init += totali * sizeof(double); totali = square(m_lmax + 2); - memoryKK->destroy_kokkos(m_idxylm); memoryKK->create_kokkos(m_idxylm, totali, "MLIAP_SO3Kokkos:idxylm"); alloc_init += totali * sizeof(double); @@ -278,7 +225,6 @@ void MLIAP_SO3Kokkos::init_arrays(int nlocal, int ncoefs) int totali = nlocal * ncoefs; if ( nlocal > (int)m_plist_r.extent(0)) { - memoryKK->destroy_kokkos(m_plist_r); memoryKK->create_kokkos(m_plist_r, nlocal, ncoefs, "MLIAP_SO3Kokkos:m_plist_r"); alloc_arrays = totali * sizeof(double); } @@ -286,26 +232,19 @@ void MLIAP_SO3Kokkos::init_arrays(int nlocal, int ncoefs) int num_of_temp = std::min(nlocal, m_chunk_size); if ((int)m_ulist_r.extent(0) < num_of_temp ) { totali = m_idxu_count; - memoryKK->destroy_kokkos(m_ulist_r); memoryKK->create_kokkos(m_ulist_r, num_of_temp, totali, "MLIAP_SO3Kokkos:m_ulist_r"); - memoryKK->destroy_kokkos(m_ulist_i); memoryKK->create_kokkos(m_ulist_i, num_of_temp, totali, "MLIAP_SO3Kokkos:m_ulist_i"); alloc_arrays += 2.0 * totali * num_of_temp * sizeof(double); totali = m_numYlms * 3; - memoryKK->destroy_kokkos(m_dYlm_r); memoryKK->create_kokkos(m_dYlm_r, num_of_temp, m_numYlms, 3, "MLIAP_SO3Kokkos:m_dYlm_r"); - memoryKK->destroy_kokkos(m_dYlm_i); memoryKK->create_kokkos(m_dYlm_i, num_of_temp, m_numYlms, 3, "MLIAP_SO3Kokkos:m_dYlm_i"); alloc_arrays += 2.0 * m_numYlms * 3 * num_of_temp * sizeof(double); - memoryKK->destroy_kokkos(m_dclist); memoryKK->create_kokkos(m_dclist, num_of_temp, m_nmax, m_numYlms, 3, "MLIAP_SO3Kokkos:k_dclist_r"); alloc_arrays += m_nmax * m_numYlms * 3 * num_of_temp* sizeof(double); - memoryKK->destroy_kokkos(m_clisttot_r); memoryKK->create_kokkos(m_clisttot_r, num_of_temp, m_nmax, m_numYlms, "MLIAP_SO3Kokkos:m_clisttot_r"); - memoryKK->destroy_kokkos(m_clisttot_i); memoryKK->create_kokkos(m_clisttot_i, num_of_temp, m_nmax, m_numYlms, "MLIAP_SO3Kokkos:m_clisttot_i"); alloc_arrays += 2.0 * m_nmax * m_numYlms * num_of_temp * sizeof(double); m_init_arrays = 1; @@ -850,21 +789,15 @@ void MLIAP_SO3Kokkos::spectrum_dxdr(int nlocal, DAT::tdual_int_1d nu bigint totali; if ( nlocal > (int)m_clisttot_r.extent(0)){ - memoryKK->destroy_kokkos(m_clisttot_r); memoryKK->create_kokkos(m_clisttot_r, nlocal, m_nmax, m_numYlms, "MLIAP_SO3Kokkos:m_clisttot_r"); - memoryKK->destroy_kokkos(m_clisttot_i); memoryKK->create_kokkos(m_clisttot_i, nlocal, m_nmax, m_numYlms, "MLIAP_SO3Kokkos:m_clisttot_i"); int num_of_temp = std::min(nlocal, m_chunk_size); int delta=num_of_temp-m_ulist_r.extent(0); if (delta > 0){ - memoryKK->destroy_kokkos(m_ulist_r); memoryKK->create_kokkos(m_ulist_r, num_of_temp, m_idxu_count, "MLIAP_SO3Kokkos:m_ulist_r"); - memoryKK->destroy_kokkos(m_ulist_i); memoryKK->create_kokkos(m_ulist_i, num_of_temp, m_idxu_count, "MLIAP_SO3Kokkos:m_ulist_i"); alloc_arrays += 2.0 * m_idxu_count * delta * sizeof(double); - memoryKK->destroy_kokkos(m_dYlm_r); memoryKK->create_kokkos(m_dYlm_r, num_of_temp, m_numYlms, 3, "MLIAP_SO3Kokkos:m_dYlm_r"); - memoryKK->destroy_kokkos(m_dYlm_i); memoryKK->create_kokkos(m_dYlm_i, num_of_temp, m_numYlms, 3, "MLIAP_SO3Kokkos:m_dYlm_i"); alloc_arrays += 2.0 * m_numYlms * 3 * delta * sizeof(double); } @@ -872,18 +805,13 @@ void MLIAP_SO3Kokkos::spectrum_dxdr(int nlocal, DAT::tdual_int_1d nu totali = totaln * m_Nmax * (m_lmax + 1); if ( totali > (int)m_sbes_array.extent(0)) { - memoryKK->destroy_kokkos(m_sbes_array); memoryKK->create_kokkos(m_sbes_array, totali, "MLIAP_SO3Kokkos:m_sbes_array"); - memoryKK->destroy_kokkos(m_sbes_darray); memoryKK->create_kokkos(m_sbes_darray, totali, "MLIAP_SO3Kokkos:m_sbes_darray"); totali = totaln * m_nmax * (m_lmax + 1); - memoryKK->destroy_kokkos(m_rip_array); memoryKK->create_kokkos(m_rip_array, totali, "MLIAP_SO3Kokkos:m_rip_array"); - memoryKK->destroy_kokkos(m_rip_darray); memoryKK->create_kokkos(m_rip_darray, totali, "MLIAP_SO3Kokkos:m_rip_darray"); - memoryKK->destroy_kokkos(k_dplist_r); memoryKK->create_kokkos(k_dplist_r, (int)totaln, ncoefs, 3, "MLIAP_SO3Kokkos:m_dplist_r"); } From 69727587836c1e064a63071d3513ae0b4794214a Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Tue, 27 Feb 2024 09:38:22 -0700 Subject: [PATCH 258/559] whitespace --- src/KOKKOS/memory_kokkos.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/KOKKOS/memory_kokkos.h b/src/KOKKOS/memory_kokkos.h index 0d9b10ed2f..0c7555875e 100644 --- a/src/KOKKOS/memory_kokkos.h +++ b/src/KOKKOS/memory_kokkos.h @@ -347,7 +347,7 @@ static double memory_usage(TYPE &data) } /* ---------------------------------------------------------------------- - legacy functions + legacy functions ------------------------------------------------------------------------- */ template From 86b7560740f2b03262458e0025eb6c5c42d6282e Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Tue, 27 Feb 2024 14:13:27 -0700 Subject: [PATCH 259/559] Init pointers, etc. --- src/KOKKOS/comm_tiled_kokkos.cpp | 3 +- src/comm_tiled.cpp | 74 ++++++++++++++++++++++---------- src/comm_tiled.h | 3 +- 3 files changed, 55 insertions(+), 25 deletions(-) diff --git a/src/KOKKOS/comm_tiled_kokkos.cpp b/src/KOKKOS/comm_tiled_kokkos.cpp index bd65bcf221..60e7f7d9a8 100644 --- a/src/KOKKOS/comm_tiled_kokkos.cpp +++ b/src/KOKKOS/comm_tiled_kokkos.cpp @@ -36,7 +36,6 @@ static constexpr int BUFEXTRA = 1000; CommTiledKokkos::CommTiledKokkos(LAMMPS *_lmp) : CommTiled(_lmp) { - sendlist = nullptr; } /* ---------------------------------------------------------------------- */ @@ -48,7 +47,6 @@ CommTiledKokkos::CommTiledKokkos(LAMMPS *_lmp) : CommTiled(_lmp) CommTiledKokkos::CommTiledKokkos(LAMMPS *_lmp, Comm *oldcomm) : CommTiled(_lmp,oldcomm) { - sendlist = nullptr; } /* ---------------------------------------------------------------------- */ @@ -59,6 +57,7 @@ CommTiledKokkos::~CommTiledKokkos() sendlist = nullptr; buf_send = nullptr; buf_recv = nullptr; + maxswap = 0; } /* ---------------------------------------------------------------------- */ diff --git a/src/comm_tiled.cpp b/src/comm_tiled.cpp index 0c12fc268b..59ab993655 100644 --- a/src/comm_tiled.cpp +++ b/src/comm_tiled.cpp @@ -47,14 +47,9 @@ CommTiled::CommTiled(LAMMPS *lmp) : Comm(lmp) { style = Comm::TILED; layout = Comm::LAYOUT_UNIFORM; - pbc_flag = nullptr; - buf_send = nullptr; - buf_recv = nullptr; - overlap = nullptr; - rcbinfo = nullptr; - cutghostmulti = nullptr; - cutghostmultiold = nullptr; - init_buffers_flag = 1; + init_pointers(); + init_buffers_flag = 0; + maxswap = 0; } /* ---------------------------------------------------------------------- */ @@ -69,7 +64,9 @@ CommTiled::CommTiled(LAMMPS * /*lmp*/, Comm *oldcomm) : Comm(*oldcomm) style = Comm::TILED; layout = oldcomm->layout; Comm::copy_arrays(oldcomm); - init_buffers_flag = 1; + init_pointers(); + init_buffers_flag = 0; + maxswap = 0; } /* ---------------------------------------------------------------------- */ @@ -85,24 +82,59 @@ CommTiled::~CommTiled() memory->destroy(cutghostmultiold); } +/* ---------------------------------------------------------------------- + initialize comm pointers to nullptr +------------------------------------------------------------------------- */ + +void CommTiled::init_pointers() +{ + buf_send = buf_recv = nullptr; + overlap = nullptr; + rcbinfo = nullptr; + cutghostmulti = nullptr; + cutghostmultiold = nullptr; + + nsendproc = nullptr; + nrecvproc = nullptr; + sendother = nullptr; + recvother = nullptr; + sendself = nullptr; + sendproc = nullptr; + recvproc = nullptr; + sendnum = nullptr; + recvnum = nullptr; + size_forward_recv = nullptr; + firstrecv = nullptr; + size_reverse_send = nullptr; + size_reverse_recv = nullptr; + forward_recv_offset = nullptr; + reverse_recv_offset = nullptr; + pbc_flag = nullptr; + pbc = nullptr; + sendbox = nullptr; + sendbox_multi = nullptr; + sendbox_multiold = nullptr; + maxsendlist = nullptr; + sendlist = nullptr; + requests = nullptr; + nprocmax = nullptr; + nexchproc = nullptr; + nexchprocmax = nullptr; + exchproc = nullptr; + exchnum = nullptr; +} + /* ---------------------------------------------------------------------- initialize comm buffers and other data structs local to CommTiled ------------------------------------------------------------------------- */ void CommTiled::init_buffers() { - buf_send = buf_recv = nullptr; maxsend = maxrecv = BUFMIN; grow_send(maxsend,2); grow_recv(maxrecv,1); maxoverlap = 0; - overlap = nullptr; - rcbinfo = nullptr; - cutghostmulti = nullptr; - cutghostmultiold = nullptr; - sendbox_multi = nullptr; - sendbox_multiold = nullptr; // Note this may skip growing multi arrays, will call again in init() maxswap = 6; @@ -113,9 +145,9 @@ void CommTiled::init_buffers() void CommTiled::init() { - if (init_buffers_flag) { + if (!init_buffers_flag) { init_buffers(); - init_buffers_flag = 0; + init_buffers_flag = 1; } Comm::init(); @@ -2436,10 +2468,8 @@ void CommTiled::deallocate_swap(int n) delete [] maxsendlist[i]; - if (sendlist && sendlist[i]) { - for (int j = 0; j < nprocmax[i]; j++) memory->destroy(sendlist[i][j]); - delete [] sendlist[i]; - } + for (int j = 0; j < nprocmax[i]; j++) memory->destroy(sendlist[i][j]); + delete [] sendlist[i]; } delete [] sendproc; diff --git a/src/comm_tiled.h b/src/comm_tiled.h index 095e7bf5aa..857cddf033 100644 --- a/src/comm_tiled.h +++ b/src/comm_tiled.h @@ -117,8 +117,9 @@ class CommTiled : public Comm { double *sublo, *subhi; int dimension; - int init_buffers_flag; + void init_pointers(); void init_buffers(); + int init_buffers_flag; // box drop and other functions From 4dbfa5483b57465262a98b312475cee25b433cd9 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Tue, 27 Feb 2024 14:50:20 -0700 Subject: [PATCH 260/559] Fix memory leak --- src/KOKKOS/comm_tiled_kokkos.cpp | 3 ++- src/comm_tiled.cpp | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/KOKKOS/comm_tiled_kokkos.cpp b/src/KOKKOS/comm_tiled_kokkos.cpp index 60e7f7d9a8..bd65bcf221 100644 --- a/src/KOKKOS/comm_tiled_kokkos.cpp +++ b/src/KOKKOS/comm_tiled_kokkos.cpp @@ -36,6 +36,7 @@ static constexpr int BUFEXTRA = 1000; CommTiledKokkos::CommTiledKokkos(LAMMPS *_lmp) : CommTiled(_lmp) { + sendlist = nullptr; } /* ---------------------------------------------------------------------- */ @@ -47,6 +48,7 @@ CommTiledKokkos::CommTiledKokkos(LAMMPS *_lmp) : CommTiled(_lmp) CommTiledKokkos::CommTiledKokkos(LAMMPS *_lmp, Comm *oldcomm) : CommTiled(_lmp,oldcomm) { + sendlist = nullptr; } /* ---------------------------------------------------------------------- */ @@ -57,7 +59,6 @@ CommTiledKokkos::~CommTiledKokkos() sendlist = nullptr; buf_send = nullptr; buf_recv = nullptr; - maxswap = 0; } /* ---------------------------------------------------------------------- */ diff --git a/src/comm_tiled.cpp b/src/comm_tiled.cpp index 59ab993655..b864e0523d 100644 --- a/src/comm_tiled.cpp +++ b/src/comm_tiled.cpp @@ -2468,8 +2468,10 @@ void CommTiled::deallocate_swap(int n) delete [] maxsendlist[i]; - for (int j = 0; j < nprocmax[i]; j++) memory->destroy(sendlist[i][j]); - delete [] sendlist[i]; + if (sendlist && sendlist[i]) { + for (int j = 0; j < nprocmax[i]; j++) memory->destroy(sendlist[i][j]); + delete [] sendlist[i]; + } } delete [] sendproc; From eb9b1e163d72a2e65290512428ac776a33580faa Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Feb 2024 10:31:43 -0500 Subject: [PATCH 261/559] modernize and coding style/formatting improvements --- src/BOCS/compute_pressure_bocs.cpp | 36 ++++++++++---------- src/BOCS/fix_bocs.cpp | 38 +++++++++------------ src/BODY/compute_temp_body.cpp | 54 ++++++++++++++---------------- src/DRUDE/compute_temp_drude.cpp | 25 ++++++-------- src/DRUDE/fix_drude.cpp | 5 +-- 5 files changed, 70 insertions(+), 88 deletions(-) diff --git a/src/BOCS/compute_pressure_bocs.cpp b/src/BOCS/compute_pressure_bocs.cpp index a8bc9596cc..16d6c91a1f 100644 --- a/src/BOCS/compute_pressure_bocs.cpp +++ b/src/BOCS/compute_pressure_bocs.cpp @@ -42,7 +42,7 @@ ComputePressureBocs::ComputePressureBocs(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), vptr(nullptr), id_temp(nullptr) { - if (narg < 4) error->all(FLERR,"Illegal compute pressure/bocs command"); + if (narg < 4) utils::missing_cmd_args(FLERR,"compute pressure/bocs", error); if (igroup) error->all(FLERR,"Compute pressure/bocs must use group all"); scalar_flag = vector_flag = 1; @@ -62,12 +62,12 @@ ComputePressureBocs::ComputePressureBocs(LAMMPS *lmp, int narg, char **arg) : else { id_temp = utils::strdup(arg[3]); - int icompute = modify->find_compute(id_temp); - if (icompute < 0) - error->all(FLERR,"Could not find compute pressure/bocs temperature ID"); - if (modify->compute[icompute]->tempflag == 0) - error->all(FLERR,"Compute pressure/bocs temperature ID does not " - "compute temperature"); + temperature = modify->get_compute_by_id(id_temp); + if (!temperature) + error->all(FLERR,"Could not find compute pressure/bocs temperature compute {}", id_temp); + if (temperature->tempflag == 0) + error->all(FLERR,"Compute pressure/bocs temperature compute {} does not compute " + "temperature", id_temp); } // process optional args @@ -137,10 +137,9 @@ void ComputePressureBocs::init() // fixes could have changed or compute_modify could have changed it if (keflag) { - int icompute = modify->find_compute(id_temp); - if (icompute < 0) - error->all(FLERR,"Could not find compute pressure/bocs temperature ID"); - temperature = modify->compute[icompute]; + temperature = modify->get_compute_by_id(id_temp); + if (!temperature) + error->all(FLERR,"Could not find compute pressure/bocs temperature compute {}", id_temp); } // detect contributions to virial @@ -158,10 +157,8 @@ void ComputePressureBocs::init() if (improperflag && force->improper) nvirial++; } if (fixflag) { - Fix **fix = modify->fix; - int nfix = modify->nfix; - for (int i = 0; i < nfix; i++) - if (fix[i]->thermo_virial) nvirial++; + for (const auto &ifix : modify->get_fix_list()) + if (ifix->thermo_virial) nvirial++; } if (nvirial) { @@ -174,10 +171,11 @@ void ComputePressureBocs::init() vptr[nvirial++] = force->dihedral->virial; if (improperflag && force->improper) vptr[nvirial++] = force->improper->virial; - if (fixflag) - for (int i = 0; i < modify->nfix; i++) - if (modify->fix[i]->virial_global_flag && modify->fix[i]->thermo_virial) - vptr[nvirial++] = modify->fix[i]->virial; + if (fixflag) { + for (const auto &ifix : modify->get_fix_list()) + if (ifix->virial_global_flag && ifix->thermo_virial) + vptr[nvirial++] = ifix->virial; + } } // flag Kspace contribution separately, since not summed across procs diff --git a/src/BOCS/fix_bocs.cpp b/src/BOCS/fix_bocs.cpp index 409ec8507b..d6beb889ff 100644 --- a/src/BOCS/fix_bocs.cpp +++ b/src/BOCS/fix_bocs.cpp @@ -145,15 +145,14 @@ FixBocs::FixBocs(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg],"temp") == 0) { - if (iarg+4 > narg) error->all(FLERR,"Illegal fix bocs command"); + if (iarg+4 > narg) utils::missing_cmd_args(FLERR,"fix bocs temp", error); tstat_flag = 1; t_start = utils::numeric(FLERR,arg[iarg+1],false,lmp); t_target = t_start; t_stop = utils::numeric(FLERR,arg[iarg+2],false,lmp); t_period = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (t_start <= 0.0 || t_stop <= 0.0) - error->all(FLERR, - "Target temperature for fix bocs cannot be 0.0"); + error->all(FLERR, "Target temperature for fix bocs cannot be 0.0"); iarg += 4; } else if (strcmp(arg[iarg],"iso") == 0) { error->all(FLERR,"Illegal fix bocs command. Pressure fix must be " @@ -164,12 +163,9 @@ FixBocs::FixBocs(LAMMPS *lmp, int narg, char **arg) : "followed by: P_0 P_f P_coupl"); p_match_flag = 1; pcouple = XYZ; - p_start[0] = p_start[1] = p_start[2] = - utils::numeric(FLERR,arg[iarg+1],false,lmp); - p_stop[0] = p_stop[1] = p_stop[2] = - utils::numeric(FLERR,arg[iarg+2],false,lmp); - p_period[0] = p_period[1] = p_period[2] = - utils::numeric(FLERR,arg[iarg+3],false,lmp); + p_start[0] = p_start[1] = p_start[2] = utils::numeric(FLERR,arg[iarg+1],false,lmp); + p_stop[0] = p_stop[1] = p_stop[2] = utils::numeric(FLERR,arg[iarg+2],false,lmp); + p_period[0] = p_period[1] = p_period[2] = utils::numeric(FLERR,arg[iarg+3],false,lmp); p_flag[0] = p_flag[1] = p_flag[2] = 1; p_flag[3] = p_flag[4] = p_flag[5] = 0; // MRD @@ -383,7 +379,7 @@ FixBocs::FixBocs(LAMMPS *lmp, int narg, char **arg) : // and thus its KE/temperature contribution should use group all id_temp = utils::strdup(std::string(id)+"_temp"); - modify->add_compute(fmt::format("{} all temp",id_temp)); + temperature = modify->add_compute(fmt::format("{} all temp",id_temp)); tcomputeflag = 1; // create a new compute pressure style @@ -391,7 +387,7 @@ FixBocs::FixBocs(LAMMPS *lmp, int narg, char **arg) : // pass id_temp as 4th arg to pressure constructor id_press = utils::strdup(std::string(id)+"_press"); - modify->add_compute(fmt::format("{} all PRESSURE/BOCS {}",id_press,id_temp)); + pressure = modify->add_compute(fmt::format("{} all PRESSURE/BOCS {}",id_press,id_temp)); pcomputeflag = 1; /*~ MRD End of stuff copied from fix_npt.cpp~*/ @@ -1435,24 +1431,22 @@ int FixBocs::modify_param(int narg, char **arg) delete[] id_temp; id_temp = utils::strdup(arg[1]); - int icompute = modify->find_compute(arg[1]); - if (icompute < 0) - error->all(FLERR,"Could not find fix_modify temperature ID"); - temperature = modify->compute[icompute]; + temperature = modify->get_compute_by_id(id_temp); + if (!temperature) + error->all(FLERR,"Could not find fix_modify temperature compute {}", id_temp); if (temperature->tempflag == 0) - error->all(FLERR, - "Fix_modify temperature ID does not compute temperature"); + error->all(FLERR, "Fix_modify temperature compute {} does not compute temperature", id_temp); if (temperature->igroup != 0 && comm->me == 0) - error->warning(FLERR,"Temperature for fix modify is not for group all"); + error->warning(FLERR,"Temperature compute {} for fix modify is not for group all", id_temp); // reset id_temp of pressure to new temperature ID if (pstat_flag) { - icompute = modify->find_compute(id_press); - if (icompute < 0) - error->all(FLERR,"Pressure ID for fix modify does not exist"); - modify->compute[icompute]->reset_extra_compute_fix(id_temp); + pressure = modify->get_compute_by_id(id_press); + if (!pressure) + error->all(FLERR,"Pressure ID {} for fix modify does not exist", id_press); + pressure->reset_extra_compute_fix(id_temp); } return 2; diff --git a/src/BODY/compute_temp_body.cpp b/src/BODY/compute_temp_body.cpp index 319c2ff986..39b2518600 100644 --- a/src/BODY/compute_temp_body.cpp +++ b/src/BODY/compute_temp_body.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -19,27 +18,28 @@ #include "compute_temp_body.h" -#include -#include "math_extra.h" #include "atom.h" #include "atom_vec_body.h" -#include "update.h" -#include "force.h" #include "domain.h" -#include "modify.h" -#include "group.h" #include "error.h" +#include "force.h" +#include "group.h" +#include "math_extra.h" +#include "modify.h" +#include "update.h" + +#include using namespace LAMMPS_NS; -enum{ROTATE,ALL}; +enum { ROTATE, ALL }; /* ---------------------------------------------------------------------- */ ComputeTempBody::ComputeTempBody(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), id_bias(nullptr), tbias(nullptr), avec(nullptr) + Compute(lmp, narg, arg), id_bias(nullptr), tbias(nullptr), avec(nullptr) { - if (narg < 3) error->all(FLERR,"Illegal compute temp/body command"); + if (narg < 3) utils::missing_cmd_args(FLERR, "compute temp/body", error); scalar_flag = vector_flag = 1; size_vector = 6; @@ -48,25 +48,24 @@ ComputeTempBody::ComputeTempBody(LAMMPS *lmp, int narg, char **arg) : tempflag = 1; tempbias = 0; - id_bias = nullptr; mode = ALL; + // clang-format off + int iarg = 3; while (iarg < narg) { if (strcmp(arg[iarg],"bias") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute temp/body command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "compute temp/body bias", error); tempbias = 1; id_bias = utils::strdup(arg[iarg+1]); iarg += 2; } else if (strcmp(arg[iarg],"dof") == 0) { - if (iarg+2 > narg) - error->all(FLERR,"Illegal compute temp/body command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "compute temp/body dof", error); if (strcmp(arg[iarg+1],"rotate") == 0) mode = ROTATE; else if (strcmp(arg[iarg+1],"all") == 0) mode = ALL; - else error->all(FLERR,"Illegal compute temp/body command"); + else error->all(FLERR,"Unknown compute temp/body dof keyword {}", arg[iarg+1]); iarg += 2; - } else error->all(FLERR,"Illegal compute temp/body command"); + } else error->all(FLERR,"Unknown compute temp/body keyword {}", arg[iarg]); } vector = new double[size_vector]; @@ -77,8 +76,8 @@ ComputeTempBody::ComputeTempBody(LAMMPS *lmp, int narg, char **arg) : ComputeTempBody::~ComputeTempBody() { - delete [] id_bias; - delete [] vector; + delete[] id_bias; + delete[] vector; } /* ---------------------------------------------------------------------- */ @@ -88,8 +87,7 @@ void ComputeTempBody::init() // error check avec = dynamic_cast(atom->style_match("body")); - if (!avec) - error->all(FLERR,"Compute temp/body requires atom style body"); + if (!avec) error->all(FLERR,"Compute temp/body requires atom style body"); // check that all particles are finite-size, no point particles allowed @@ -99,18 +97,16 @@ void ComputeTempBody::init() for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) - if (body[i] < 0) - error->one(FLERR,"Compute temp/body requires bodies"); + if (body[i] < 0) error->one(FLERR,"Compute temp/body requires bodies"); if (tempbias) { - int i = modify->find_compute(id_bias); - if (i < 0) - error->all(FLERR,"Could not find compute ID for temperature bias"); - tbias = modify->compute[i]; + tbias = modify->get_compute_by_id(id_bias); + if (!tbias) + error->all(FLERR,"Could not find compute {} for temperature bias", id_bias); if (tbias->tempflag == 0) - error->all(FLERR,"Bias compute does not calculate temperature"); + error->all(FLERR,"Bias compute {} does not calculate temperature", id_bias); if (tbias->tempbias == 0) - error->all(FLERR,"Bias compute does not calculate a velocity bias"); + error->all(FLERR,"Bias compute {} does not calculate a velocity bias", id_bias); if (tbias->igroup != igroup) error->all(FLERR,"Bias compute group does not match compute group"); if (strcmp(tbias->style,"temp/region") == 0) tempbias = 2; diff --git a/src/DRUDE/compute_temp_drude.cpp b/src/DRUDE/compute_temp_drude.cpp index b309346934..535808580e 100644 --- a/src/DRUDE/compute_temp_drude.cpp +++ b/src/DRUDE/compute_temp_drude.cpp @@ -54,20 +54,19 @@ ComputeTempDrude::ComputeTempDrude(LAMMPS *lmp, int narg, char **arg) : ComputeTempDrude::~ComputeTempDrude() { - delete [] vector; - delete [] extlist; - delete [] id_temp; + delete[] vector; + delete[] extlist; + delete[] id_temp; } /* ---------------------------------------------------------------------- */ void ComputeTempDrude::init() { - int ifix; - for (ifix = 0; ifix < modify->nfix; ifix++) - if (strcmp(modify->fix[ifix]->style,"drude") == 0) break; - if (ifix == modify->nfix) error->all(FLERR, "compute temp/drude requires fix drude"); - fix_drude = dynamic_cast(modify->fix[ifix]); + // Fix drude already checks that there is only one fix drude instance + auto &fixes = modify->get_fix_by_style("drude"); + if (fixes.size() == 0) error->all(FLERR, "compute temp/drude requires fix drude"); + fix_drude = dynamic_cast(fixes[0]); if (!comm->ghost_velocity) error->all(FLERR,"compute temp/drude requires ghost velocities. Use comm_modify vel yes"); @@ -118,14 +117,12 @@ int ComputeTempDrude::modify_param(int narg, char **arg) delete [] id_temp; id_temp = utils::strdup(arg[1]); - int icompute = modify->find_compute(id_temp); - if (icompute < 0) - error->all(FLERR,"Could not find fix_modify temperature ID"); - temperature = modify->compute[icompute]; + temperature = modify->get_compute_by_id(id_temp); + if (!temperature) + error->all(FLERR,"Could not find fix_modify temperature compute {}", id_temp); if (temperature->tempflag == 0) - error->all(FLERR, - "Fix_modify temperature ID does not compute temperature"); + error->all(FLERR, "Fix_modify temperature compute {} does not compute temperature", id_temp); if (temperature->igroup != igroup && comm->me == 0) error->warning(FLERR,"Group for fix_modify temp != fix group"); return 2; diff --git a/src/DRUDE/fix_drude.cpp b/src/DRUDE/fix_drude.cpp index 56a5cd42f6..4270c2f402 100644 --- a/src/DRUDE/fix_drude.cpp +++ b/src/DRUDE/fix_drude.cpp @@ -83,10 +83,7 @@ FixDrude::~FixDrude() void FixDrude::init() { - int count = 0; - for (int i = 0; i < modify->nfix; i++) - if (strcmp(modify->fix[i]->style,"drude") == 0) count++; - if (count > 1) error->all(FLERR,"More than one fix drude"); + if (modify->get_fix_by_style("drude").size() > 1) error->all(FLERR,"More than one fix drude"); if (!rebuildflag) rebuild_special(); } From 73e42481f715a6af893b2fd3e46a3a4a7bc46e8f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Feb 2024 20:55:52 -0500 Subject: [PATCH 262/559] modernize and consolidate ML compute styles --- src/ML-IAP/compute_mliap.cpp | 31 ++++++------------ src/ML-PACE/compute_pace.cpp | 53 +++++++++++++----------------- src/ML-PACE/compute_pace.h | 2 ++ src/ML-SNAP/compute_snap.cpp | 62 +++++++++++++----------------------- src/ML-SNAP/compute_snap.h | 3 +- 5 files changed, 60 insertions(+), 91 deletions(-) diff --git a/src/ML-IAP/compute_mliap.cpp b/src/ML-IAP/compute_mliap.cpp index 4fa88abad1..38e0912344 100644 --- a/src/ML-IAP/compute_mliap.cpp +++ b/src/ML-IAP/compute_mliap.cpp @@ -19,10 +19,10 @@ #include "compute_mliap.h" #include "mliap_data.h" -#include "mliap_model_linear.h" -#include "mliap_model_quadratic.h" #include "mliap_descriptor_snap.h" #include "mliap_descriptor_so3.h" +#include "mliap_model_linear.h" +#include "mliap_model_quadratic.h" #ifdef MLIAP_PYTHON #include "mliap_model_python.h" #endif @@ -41,17 +41,17 @@ using namespace LAMMPS_NS; -enum{SCALAR,VECTOR,ARRAY}; +enum { SCALAR, VECTOR, ARRAY }; ComputeMLIAP::ComputeMLIAP(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), mliaparray(nullptr), - mliaparrayall(nullptr), map(nullptr) + Compute(lmp, narg, arg), mliaparray(nullptr), mliaparrayall(nullptr), list(nullptr), + map(nullptr), model(nullptr), descriptor(nullptr), data(nullptr), c_pe(nullptr), + c_virial(nullptr) { array_flag = 1; extarray = 0; - if (narg < 4) - error->all(FLERR,"Illegal compute mliap command"); + if (narg < 4) utils::missing_cmd_args(FLERR, "compute mliap", error); // default values @@ -130,7 +130,6 @@ ComputeMLIAP::ComputeMLIAP(LAMMPS *lmp, int narg, char **arg) : ComputeMLIAP::~ComputeMLIAP() { - modify->delete_compute(id_virial); memory->destroy(mliaparray); @@ -180,23 +179,13 @@ void ComputeMLIAP::init() // find compute for reference energy - std::string id_pe = std::string("thermo_pe"); - int ipe = modify->find_compute(id_pe); - if (ipe == -1) - error->all(FLERR,"compute thermo_pe does not exist."); - c_pe = modify->compute[ipe]; + c_pe = modify->get_compute_by_id("thermo_pe"); + if (!c_pe) error->all(FLERR,"Compute thermo_pe does not exist."); // add compute for reference virial tensor id_virial = id + std::string("_press"); - std::string pcmd = id_virial + " all pressure NULL virial"; - modify->add_compute(pcmd); - - int ivirial = modify->find_compute(id_virial); - if (ivirial == -1) - error->all(FLERR,"compute mliap_press does not exist."); - c_virial = modify->compute[ivirial]; - + c_virial = modify->add_compute(id_virial + " all pressure NULL virial"); } diff --git a/src/ML-PACE/compute_pace.cpp b/src/ML-PACE/compute_pace.cpp index b96432cfe3..a9a31bdbf0 100644 --- a/src/ML-PACE/compute_pace.cpp +++ b/src/ML-PACE/compute_pace.cpp @@ -11,24 +11,26 @@ ------------------------------------------------------------------------- */ #include "compute_pace.h" -#include "ace-evaluator/ace_evaluator.h" -#include "ace-evaluator/ace_c_basis.h" + #include "ace-evaluator/ace_abstract_basis.h" +#include "ace-evaluator/ace_c_basis.h" +#include "ace-evaluator/ace_evaluator.h" #include "ace-evaluator/ace_types.h" -#include -#include #include "atom.h" -#include "update.h" +#include "comm.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 "comm.h" -#include "memory.h" -#include "error.h" +#include "update.h" + +#include +#include namespace LAMMPS_NS { struct ACECimpl { @@ -41,14 +43,15 @@ struct ACECimpl { ACECTildeBasisSet *basis_set; ACECTildeEvaluator *ace; }; -} +} // namespace LAMMPS_NS using namespace LAMMPS_NS; enum { SCALAR, VECTOR, ARRAY }; ComputePACE::ComputePACE(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), cutsq(nullptr), list(nullptr), pace(nullptr), paceall(nullptr), - pace_peratom(nullptr), map(nullptr), cg(nullptr), c_pe(nullptr), c_virial(nullptr) + Compute(lmp, narg, arg), cutsq(nullptr), list(nullptr), pace(nullptr), paceall(nullptr), + pace_peratom(nullptr), map(nullptr), cg(nullptr), c_pe(nullptr), c_virial(nullptr), + acecimpl(nullptr) { array_flag = 1; extarray = 0; @@ -111,6 +114,8 @@ ComputePACE::ComputePACE(LAMMPS *lmp, int narg, char **arg) : ComputePACE::~ComputePACE() { + modify->delete_compute(id_virial); + delete acecimpl; memory->destroy(pace); memory->destroy(paceall); @@ -132,10 +137,7 @@ void ComputePACE::init() // need an occasional full neighbor list neighbor->add_request(this, NeighConst::REQ_FULL | NeighConst::REQ_OCCASIONAL); - int count = 0; - for (int i = 0; i < modify->ncompute; i++) - if (strcmp(modify->compute[i]->style,"pace") == 0) count++; - if (count > 1 && comm->me == 0) + if (modify->get_compute_by_style("pace").size() > 1 && comm->me == 0) error->warning(FLERR,"More than one compute pace"); // allocate memory for global array @@ -145,22 +147,13 @@ void ComputePACE::init() // find compute for reference energy - std::string id_pe = std::string("thermo_pe"); - int ipe = modify->find_compute(id_pe); - if (ipe == -1) - error->all(FLERR,"compute thermo_pe does not exist."); - c_pe = modify->compute[ipe]; + c_pe = modify->get_compute_by_id("thermo_pe"); + if (!c_pe) error->all(FLERR,"Compute thermo_pe does not exist."); // add compute for reference virial tensor - std::string id_virial = std::string("pace_press"); - std::string pcmd = id_virial + " all pressure NULL virial"; - modify->add_compute(pcmd); - - int ivirial = modify->find_compute(id_virial); - if (ivirial == -1) - error->all(FLERR,"compute pace_press does not exist."); - c_virial = modify->compute[ivirial]; + id_virial = id + std::string("_press"); + c_virial = modify->add_compute(id_virial + " all pressure NULL virial"); } /* ---------------------------------------------------------------------- */ diff --git a/src/ML-PACE/compute_pace.h b/src/ML-PACE/compute_pace.h index 496c8a16d3..3fa59405ea 100644 --- a/src/ML-PACE/compute_pace.h +++ b/src/ML-PACE/compute_pace.h @@ -45,8 +45,10 @@ class ComputePACE : public Compute { int bikflag, bik_rows, dgradflag, dgrad_rows; double *cg; double cutmax; + Compute *c_pe; Compute *c_virial; + std::string id_virial; void dbdotr_compute(); struct ACECimpl *acecimpl; diff --git a/src/ML-SNAP/compute_snap.cpp b/src/ML-SNAP/compute_snap.cpp index 3141791f6c..99a9a96361 100644 --- a/src/ML-SNAP/compute_snap.cpp +++ b/src/ML-SNAP/compute_snap.cpp @@ -30,14 +30,13 @@ using namespace LAMMPS_NS; -enum{SCALAR,VECTOR,ARRAY}; +enum { SCALAR, VECTOR, ARRAY }; 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), - sinnerelem(nullptr), dinnerelem(nullptr), snaptr(nullptr) + Compute(lmp, narg, arg), cutsq(nullptr), list(nullptr), snap(nullptr), snapall(nullptr), + snap_peratom(nullptr), radelem(nullptr), wjelem(nullptr), map(nullptr), sinnerelem(nullptr), + dinnerelem(nullptr), snaptr(nullptr), c_pe(nullptr), c_virial(nullptr) { - array_flag = 1; extarray = 0; @@ -172,22 +171,18 @@ ComputeSnap::ComputeSnap(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: 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: switchinnerflag = 0, " + "unexpected sinner/dinner keyword", style); if (dgradflag && !bikflag) - error->all(FLERR,"Illegal compute snap command: dgradflag=1 requires bikflag=1"); + error->all(FLERR, "Illegal compute snap command: dgradflag=1 requires bikflag=1"); if (dgradflag && quadraticflag) - error->all(FLERR,"Illegal compute snap command: dgradflag=1 not implemented for quadratic SNAP"); + error->all(FLERR, "Illegal compute snap command: dgradflag=1 not implemented for quadratic SNAP"); snaptr = new SNA(lmp, rfac0, twojmax, rmin0, switchflag, bzeroflag, chemflag, bnormflag, wselfallflag, nelements, switchinnerflag); @@ -210,7 +205,8 @@ ComputeSnap::ComputeSnap(LAMMPS *lmp, int narg, char **arg) : if (dgradflag) { size_array_rows = bik_rows + 3*natoms*natoms + 1; size_array_cols = nvalues + 3; - error->warning(FLERR,"dgradflag=1 creates a N^2 array, beware of large systems."); + if (comm->me == 0) + error->warning(FLERR, "dgradflag=1 creates a N^2 array, beware of large systems."); } else size_array_cols = nvalues*atom->ntypes + 1; lastcol = size_array_cols-1; @@ -249,7 +245,8 @@ void ComputeSnap::init() error->all(FLERR,"Compute snap requires a pair style be defined"); if (cutmax > force->pair->cutforce) - error->all(FLERR,"Compute snap cutoff is longer than pairwise cutoff"); + error->all(FLERR,"Compute snap cutoff {} is longer than pairwise cutoff {}", + cutmax, force->pair->cutforce); // need an occasional full neighbor list @@ -261,31 +258,19 @@ void ComputeSnap::init() // allocate memory for global array - memory->create(snap,size_array_rows,size_array_cols, - "snap:snap"); - memory->create(snapall,size_array_rows,size_array_cols, - "snap:snapall"); + memory->create(snap,size_array_rows,size_array_cols, "snap:snap"); + memory->create(snapall,size_array_rows,size_array_cols, "snap:snapall"); array = snapall; - // find compute for reference energy + // find compute for global reference potential energy - std::string id_pe = std::string("thermo_pe"); - int ipe = modify->find_compute(id_pe); - if (ipe == -1) - error->all(FLERR,"compute thermo_pe does not exist."); - c_pe = modify->compute[ipe]; + c_pe = modify->get_compute_by_id("thermo_pe"); + if (!c_pe) error->all(FLERR,"compute thermo_pe does not exist."); - // add compute for reference virial tensor - - std::string id_virial = std::string("snap_press"); - std::string pcmd = id_virial + " all pressure NULL virial"; - modify->add_compute(pcmd); - - int ivirial = modify->find_compute(id_virial); - if (ivirial == -1) - error->all(FLERR,"compute snap_press does not exist."); - c_virial = modify->compute[ivirial]; + // add compute for global reference virial tensor + id_virial = id + std::string("_press"); + c_virial = modify->add_compute(id_virial + " all pressure NULL virial"); } @@ -309,8 +294,7 @@ void ComputeSnap::compute_array() if (atom->nmax > nmax) { memory->destroy(snap_peratom); nmax = atom->nmax; - memory->create(snap_peratom,nmax,size_peratom, - "snap:snap_peratom"); + memory->create(snap_peratom,nmax,size_peratom, "snap:snap_peratom"); } // clear global array diff --git a/src/ML-SNAP/compute_snap.h b/src/ML-SNAP/compute_snap.h index 2b8b972bbc..fe0b35d9e3 100644 --- a/src/ML-SNAP/compute_snap.h +++ b/src/ML-SNAP/compute_snap.h @@ -28,6 +28,7 @@ class ComputeSnap : public Compute { public: ComputeSnap(class LAMMPS *, int, char **); ~ComputeSnap() override; + void init() override; void init_list(int, class NeighList *) override; void compute_array() override; @@ -56,10 +57,10 @@ class ComputeSnap : public Compute { Compute *c_pe; Compute *c_virial; + std::string id_virial; void dbdotr_compute(); }; - } // namespace LAMMPS_NS #endif From 5967865af985da9c0faf4840a5b443c71d87d7d3 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Feb 2024 22:42:13 -0500 Subject: [PATCH 263/559] remove unused class member --- src/ML-PACE/compute_pace.cpp | 3 +-- src/ML-PACE/compute_pace.h | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/ML-PACE/compute_pace.cpp b/src/ML-PACE/compute_pace.cpp index a9a31bdbf0..c2a0f9a9e6 100644 --- a/src/ML-PACE/compute_pace.cpp +++ b/src/ML-PACE/compute_pace.cpp @@ -50,8 +50,7 @@ using namespace LAMMPS_NS; enum { SCALAR, VECTOR, ARRAY }; ComputePACE::ComputePACE(LAMMPS *lmp, int narg, char **arg) : Compute(lmp, narg, arg), cutsq(nullptr), list(nullptr), pace(nullptr), paceall(nullptr), - pace_peratom(nullptr), map(nullptr), cg(nullptr), c_pe(nullptr), c_virial(nullptr), - acecimpl(nullptr) + pace_peratom(nullptr), map(nullptr), c_pe(nullptr), c_virial(nullptr), acecimpl(nullptr) { array_flag = 1; extarray = 0; diff --git a/src/ML-PACE/compute_pace.h b/src/ML-PACE/compute_pace.h index 3fa59405ea..23243b0066 100644 --- a/src/ML-PACE/compute_pace.h +++ b/src/ML-PACE/compute_pace.h @@ -43,7 +43,6 @@ class ComputePACE : public Compute { double **pace_peratom; int *map; // map types to [0,nelements) int bikflag, bik_rows, dgradflag, dgrad_rows; - double *cg; double cutmax; Compute *c_pe; From 1359c52f302aba77a79a8afb43f74ba7c55f03ba Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 27 Feb 2024 23:42:24 -0500 Subject: [PATCH 264/559] include-what-you-use updates --- src/angle_write.cpp | 1 - src/atom_vec_sphere.cpp | 2 -- src/compute_aggregate_atom.cpp | 1 - src/compute_cluster_atom.cpp | 1 - src/compute_cna_atom.cpp | 1 - src/compute_count_type.cpp | 4 ++-- src/compute_dipole_chunk.h | 3 --- src/compute_erotate_sphere_atom.cpp | 35 ++++++++++++++--------------- src/compute_ke_atom.cpp | 2 +- src/dihedral_write.cpp | 1 - src/dump_grid.cpp | 1 - src/fix_deform.cpp | 1 - src/fix_enforce2d.cpp | 1 - src/fix_pair.cpp | 2 ++ src/fix_press_langevin.cpp | 1 - src/fix_vector.cpp | 2 ++ src/fix_wall_lj126.cpp | 2 -- src/fix_wall_lj93.cpp | 2 -- src/grid2d.cpp | 2 ++ src/grid3d.cpp | 2 ++ src/integrate.h | 2 +- src/lammps.cpp | 1 - src/min.h | 4 ++-- src/npair_bin.cpp | 2 ++ 24 files changed, 33 insertions(+), 43 deletions(-) diff --git a/src/angle_write.cpp b/src/angle_write.cpp index 0a0c457000..48420ae7be 100644 --- a/src/angle_write.cpp +++ b/src/angle_write.cpp @@ -25,7 +25,6 @@ #include "error.h" #include "force.h" #include "input.h" -#include "lammps.h" #include "math_const.h" #include "update.h" diff --git a/src/atom_vec_sphere.cpp b/src/atom_vec_sphere.cpp index 3e8c2fd2a3..3c7be5d3ee 100644 --- a/src/atom_vec_sphere.cpp +++ b/src/atom_vec_sphere.cpp @@ -19,8 +19,6 @@ #include "math_const.h" #include "modify.h" -#include - using namespace LAMMPS_NS; using namespace MathConst; diff --git a/src/compute_aggregate_atom.cpp b/src/compute_aggregate_atom.cpp index 5a489092b7..8c6f7165a2 100644 --- a/src/compute_aggregate_atom.cpp +++ b/src/compute_aggregate_atom.cpp @@ -31,7 +31,6 @@ #include "update.h" #include -#include using namespace LAMMPS_NS; diff --git a/src/compute_cluster_atom.cpp b/src/compute_cluster_atom.cpp index ba0f263747..0021d32e2c 100644 --- a/src/compute_cluster_atom.cpp +++ b/src/compute_cluster_atom.cpp @@ -25,7 +25,6 @@ #include "update.h" #include -#include using namespace LAMMPS_NS; diff --git a/src/compute_cna_atom.cpp b/src/compute_cna_atom.cpp index a09a671c07..b92dca8f86 100644 --- a/src/compute_cna_atom.cpp +++ b/src/compute_cna_atom.cpp @@ -29,7 +29,6 @@ #include "update.h" #include -#include using namespace LAMMPS_NS; diff --git a/src/compute_count_type.cpp b/src/compute_count_type.cpp index 3d4815f9ff..d430b23e11 100644 --- a/src/compute_count_type.cpp +++ b/src/compute_count_type.cpp @@ -14,12 +14,12 @@ #include "compute_count_type.h" #include "atom.h" -#include "domain.h" #include "error.h" #include "force.h" -#include "group.h" #include "update.h" +#include + using namespace LAMMPS_NS; enum { ATOM, BOND, ANGLE, DIHEDRAL, IMPROPER }; diff --git a/src/compute_dipole_chunk.h b/src/compute_dipole_chunk.h index 603e6a4353..3ed875283f 100644 --- a/src/compute_dipole_chunk.h +++ b/src/compute_dipole_chunk.h @@ -23,7 +23,6 @@ ComputeStyle(dipole/chunk,ComputeDipoleChunk); #include "compute_chunk.h" namespace LAMMPS_NS { -class Fix; class ComputeDipoleChunk : public ComputeChunk { public: @@ -43,8 +42,6 @@ class ComputeDipoleChunk : public ComputeChunk { void allocate() override; }; - } // namespace LAMMPS_NS - #endif #endif diff --git a/src/compute_erotate_sphere_atom.cpp b/src/compute_erotate_sphere_atom.cpp index b1aca68614..fa1ce8a180 100644 --- a/src/compute_erotate_sphere_atom.cpp +++ b/src/compute_erotate_sphere_atom.cpp @@ -12,28 +12,25 @@ ------------------------------------------------------------------------- */ #include "compute_erotate_sphere_atom.h" -#include + #include "atom.h" -#include "update.h" -#include "modify.h" #include "comm.h" +#include "error.h" #include "force.h" #include "memory.h" -#include "error.h" +#include "modify.h" +#include "update.h" using namespace LAMMPS_NS; -static constexpr double INERTIA = 0.4; // moment of inertia prefactor for sphere +static constexpr double INERTIA = 0.4; // moment of inertia prefactor for sphere /* ---------------------------------------------------------------------- */ -ComputeErotateSphereAtom:: -ComputeErotateSphereAtom(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), - erot(nullptr) +ComputeErotateSphereAtom::ComputeErotateSphereAtom(LAMMPS *lmp, int narg, char **arg) : + Compute(lmp, narg, arg), erot(nullptr) { - if (narg != 3) - error->all(FLERR,"Illegal compute erotate/sphere//atom command"); + if (narg != 3) error->all(FLERR, "Illegal compute erotate/sphere//atom command"); peratom_flag = 1; size_peratom_cols = 0; @@ -41,9 +38,9 @@ ComputeErotateSphereAtom(LAMMPS *lmp, int narg, char **arg) : // error check if (!atom->omega_flag) - error->all(FLERR,"Compute erotate/sphere/atom requires atom attribute omega"); + error->all(FLERR, "Compute erotate/sphere/atom requires atom attribute omega"); if (!atom->radius_flag) - error->all(FLERR,"Compute erotate/sphere/atom requires atom attribute radius"); + error->all(FLERR, "Compute erotate/sphere/atom requires atom attribute radius"); nmax = 0; } @@ -76,7 +73,7 @@ void ComputeErotateSphereAtom::compute_peratom() if (atom->nmax > nmax) { memory->destroy(erot); nmax = atom->nmax; - memory->create(erot,nmax,"erotate/sphere/atom:erot"); + memory->create(erot, nmax, "erotate/sphere/atom:erot"); vector_atom = erot; } @@ -91,10 +88,12 @@ void ComputeErotateSphereAtom::compute_peratom() for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { - erot[i] = (omega[i][0]*omega[i][0] + omega[i][1]*omega[i][1] + - omega[i][2]*omega[i][2]) * radius[i]*radius[i]*rmass[i]; + erot[i] = + (omega[i][0] * omega[i][0] + omega[i][1] * omega[i][1] + omega[i][2] * omega[i][2]) * + radius[i] * radius[i] * rmass[i]; erot[i] *= pfactor; - } else erot[i] = 0.0; + } else + erot[i] = 0.0; } } @@ -104,6 +103,6 @@ void ComputeErotateSphereAtom::compute_peratom() double ComputeErotateSphereAtom::memory_usage() { - double bytes = (double)nmax * sizeof(double); + double bytes = (double) nmax * sizeof(double); return bytes; } diff --git a/src/compute_ke_atom.cpp b/src/compute_ke_atom.cpp index 9a329232b3..e8ab1b8b25 100644 --- a/src/compute_ke_atom.cpp +++ b/src/compute_ke_atom.cpp @@ -12,6 +12,7 @@ ------------------------------------------------------------------------- */ #include "compute_ke_atom.h" + #include "atom.h" #include "comm.h" #include "error.h" @@ -19,7 +20,6 @@ #include "memory.h" #include "modify.h" #include "update.h" -#include using namespace LAMMPS_NS; diff --git a/src/dihedral_write.cpp b/src/dihedral_write.cpp index 375373523b..dd1ca1de6a 100644 --- a/src/dihedral_write.cpp +++ b/src/dihedral_write.cpp @@ -25,7 +25,6 @@ #include "error.h" #include "force.h" #include "input.h" -#include "lammps.h" #include "math_const.h" #include "update.h" diff --git a/src/dump_grid.cpp b/src/dump_grid.cpp index 4c89b05739..ac42a85b01 100644 --- a/src/dump_grid.cpp +++ b/src/dump_grid.cpp @@ -23,7 +23,6 @@ #include "grid3d.h" #include "memory.h" #include "modify.h" -#include "region.h" #include "update.h" #include diff --git a/src/fix_deform.cpp b/src/fix_deform.cpp index c19423d844..bb27faeaa8 100644 --- a/src/fix_deform.cpp +++ b/src/fix_deform.cpp @@ -36,7 +36,6 @@ #include #include #include -#include using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/fix_enforce2d.cpp b/src/fix_enforce2d.cpp index c13e2147a3..048f8de543 100644 --- a/src/fix_enforce2d.cpp +++ b/src/fix_enforce2d.cpp @@ -17,7 +17,6 @@ #include "atom.h" #include "domain.h" #include "error.h" -#include "modify.h" #include "respa.h" #include "update.h" diff --git a/src/fix_pair.cpp b/src/fix_pair.cpp index 66212684a8..93a88a60c9 100644 --- a/src/fix_pair.cpp +++ b/src/fix_pair.cpp @@ -23,6 +23,8 @@ #include "update.h" #include "fmt/format.h" +#include + using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/fix_press_langevin.cpp b/src/fix_press_langevin.cpp index d8d2a3b04a..8116d66c0a 100644 --- a/src/fix_press_langevin.cpp +++ b/src/fix_press_langevin.cpp @@ -24,7 +24,6 @@ #include "error.h" #include "fix_deform.h" #include "force.h" -#include "group.h" #include "irregular.h" #include "kspace.h" #include "modify.h" diff --git a/src/fix_vector.cpp b/src/fix_vector.cpp index e18b53f615..7c75f93a3a 100644 --- a/src/fix_vector.cpp +++ b/src/fix_vector.cpp @@ -22,6 +22,8 @@ #include "update.h" #include "variable.h" +#include + using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/fix_wall_lj126.cpp b/src/fix_wall_lj126.cpp index f0f7750edb..d526390153 100644 --- a/src/fix_wall_lj126.cpp +++ b/src/fix_wall_lj126.cpp @@ -17,8 +17,6 @@ #include "error.h" #include "math_special.h" -#include - using namespace LAMMPS_NS; using MathSpecial::powint; diff --git a/src/fix_wall_lj93.cpp b/src/fix_wall_lj93.cpp index c0c5e86ce3..dda0298be1 100644 --- a/src/fix_wall_lj93.cpp +++ b/src/fix_wall_lj93.cpp @@ -17,8 +17,6 @@ #include "error.h" #include "math_special.h" -#include - using namespace LAMMPS_NS; using MathSpecial::powint; diff --git a/src/grid2d.cpp b/src/grid2d.cpp index ea6e8e4123..e1265839f9 100644 --- a/src/grid2d.cpp +++ b/src/grid2d.cpp @@ -23,6 +23,8 @@ #include "memory.h" #include "pair.h" +#include + using namespace LAMMPS_NS; static constexpr int DELTA = 16; diff --git a/src/grid3d.cpp b/src/grid3d.cpp index 4ce1978660..f11e5d0513 100644 --- a/src/grid3d.cpp +++ b/src/grid3d.cpp @@ -24,6 +24,8 @@ #include "math_extra.h" #include "memory.h" +#include + using namespace LAMMPS_NS; static constexpr int DELTA = 16; diff --git a/src/integrate.h b/src/integrate.h index e622f6328d..d078f4a997 100644 --- a/src/integrate.h +++ b/src/integrate.h @@ -15,9 +15,9 @@ #define LMP_INTEGRATE_H #include "pointers.h" -#include "compute.h" namespace LAMMPS_NS { +class Compute; class Integrate : protected Pointers { public: diff --git a/src/lammps.cpp b/src/lammps.cpp index 3329cb8d7b..b3659fdf50 100644 --- a/src/lammps.cpp +++ b/src/lammps.cpp @@ -66,7 +66,6 @@ #include "lmpinstalledpkgs.h" #include "lmpgitversion.h" -#include "lmpfftsettings.h" #if defined(LAMMPS_UPDATE) #define UPDATE_STRING " - " LAMMPS_UPDATE diff --git a/src/min.h b/src/min.h index b94d937fa5..a395a98bbc 100644 --- a/src/min.h +++ b/src/min.h @@ -15,9 +15,9 @@ #define LMP_MIN_H #include "pointers.h" // IWYU pragma: export -#include "compute.h" namespace LAMMPS_NS { +class Compute; class Min : protected Pointers { public: @@ -116,7 +116,7 @@ class Min : protected Pointers { int narray; // # of arrays stored by fix_minimize class FixMinimize *fix_minimize; // fix that stores auxiliary data - class Compute *pe_compute; // compute for potential energy + Compute *pe_compute; // compute for potential energy double ecurrent; // current potential energy bigint ndoftotal; // total dof for entire problem diff --git a/src/npair_bin.cpp b/src/npair_bin.cpp index d3d3415bc0..2c6fbbb49b 100644 --- a/src/npair_bin.cpp +++ b/src/npair_bin.cpp @@ -23,6 +23,8 @@ #include "neigh_list.h" #include "neighbor.h" +#include + using namespace LAMMPS_NS; using namespace NeighConst; From 0ce25755cd29d419b97233f754c5183b5a1d87bb Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 28 Feb 2024 15:37:13 -0500 Subject: [PATCH 265/559] second round of include-what-you-use updates --- src/AMOEBA/amoeba_convolution.cpp | 3 - src/AMOEBA/pair_amoeba.h | 20 +++--- src/ATC/fix_atc.cpp | 8 ++- src/AWPMD/atom_vec_wavepacket.cpp | 2 + src/BPM/atom_vec_bpm_sphere.cpp | 3 - src/BPM/fix_update_special_bonds.cpp | 1 - src/CG-DNA/pair_oxdna_stk.cpp | 1 + src/CG-DNA/pair_oxrna2_stk.cpp | 1 + src/COLVARS/colvarproxy_lammps.cpp | 6 +- src/COLVARS/fix_colvars.cpp | 2 - src/DIELECTRIC/pppm_dielectric.cpp | 1 - src/DIELECTRIC/pppm_disp_dielectric.cpp | 2 + src/DPD-REACT/npair_half_bin_newton_ssa.cpp | 1 + src/DRUDE/fix_drude.cpp | 1 - src/DRUDE/fix_drude_transform.cpp | 1 - src/ELECTRODE/fix_electrode_conp.cpp | 1 + src/ELECTRODE/fix_electrode_conp.h | 1 - src/ELECTRODE/pppm_electrode.cpp | 1 + .../compute_composition_atom.cpp | 1 - .../compute_dipole_tip4p_chunk.cpp | 1 - .../compute_dipole_tip4p_chunk.h | 1 - src/EXTRA-COMPUTE/compute_rattlers_atom.cpp | 1 - src/EXTRA-COMPUTE/compute_slcsa_atom.cpp | 3 - src/EXTRA-FIX/fix_deform_pressure.cpp | 5 -- src/EXTRA-FIX/fix_efield_tip4p.cpp | 4 +- src/EXTRA-FIX/fix_nonaffine_displacement.cpp | 1 + src/EXTRA-FIX/fix_tmd.cpp | 1 + src/EXTRA-FIX/fix_wall_flow.cpp | 4 +- src/EXTRA-PAIR/pair_born_gauss.cpp | 2 - src/EXTRA-PAIR/pair_lj_cut_sphere.cpp | 3 - src/EXTRA-PAIR/pair_lj_expand_sphere.cpp | 2 - src/GRANULAR/fix_heat_flow.cpp | 4 +- src/GRANULAR/fix_wall_gran.cpp | 1 + src/GRANULAR/fix_wall_gran.h | 1 - src/GRANULAR/fix_wall_gran_region.cpp | 2 - src/GRANULAR/gran_sub_mod.cpp | 3 +- src/GRANULAR/gran_sub_mod.h | 62 +++++++++---------- src/GRANULAR/gran_sub_mod_damping.cpp | 2 + src/GRANULAR/gran_sub_mod_normal.cpp | 2 + src/GRANULAR/gran_sub_mod_rolling.cpp | 2 + src/GRANULAR/gran_sub_mod_tangential.cpp | 2 + src/GRANULAR/gran_sub_mod_twisting.cpp | 2 + src/GRANULAR/granular_model.cpp | 1 + src/GRANULAR/pair_granular.h | 1 - src/INTERLAYER/pair_aip_water_2dm.cpp | 3 - src/INTERLAYER/pair_ilp_tmd.h | 2 +- src/KOKKOS/atom_kokkos.cpp | 2 +- src/KOKKOS/atom_map_kokkos.cpp | 5 -- src/KOKKOS/atom_vec_atomic_kokkos.cpp | 1 - src/KOKKOS/atom_vec_bond_kokkos.cpp | 1 - src/KOKKOS/atom_vec_charge_kokkos.cpp | 1 - src/KOKKOS/atom_vec_dipole_kokkos.cpp | 1 - src/KOKKOS/atom_vec_full_kokkos.cpp | 1 - src/KOKKOS/atom_vec_hybrid_kokkos.cpp | 7 --- src/KOKKOS/atom_vec_kokkos.cpp | 1 - src/KOKKOS/atom_vec_sphere_kokkos.cpp | 3 - src/KOKKOS/atom_vec_spin_kokkos.cpp | 1 - src/KOKKOS/compute_ave_sphere_atom_kokkos.cpp | 7 --- .../compute_composition_atom_kokkos.cpp | 10 --- src/KOKKOS/compute_coord_atom_kokkos.cpp | 2 - src/KOKKOS/compute_erotate_sphere_kokkos.cpp | 2 - .../compute_orientorder_atom_kokkos.cpp | 3 - src/KOKKOS/compute_reaxff_atom_kokkos.cpp | 4 -- src/KOKKOS/compute_temp_deform_kokkos.cpp | 1 - src/KOKKOS/compute_temp_kokkos.cpp | 2 - src/KOKKOS/dynamical_matrix_kokkos.cpp | 9 --- src/KOKKOS/fix_acks2_reaxff_kokkos.cpp | 2 - src/KOKKOS/fix_deform_kokkos.cpp | 2 - src/KOKKOS/fix_dt_reset_kokkos.cpp | 6 +- src/KOKKOS/fix_efield_kokkos.cpp | 2 - src/KOKKOS/fix_gravity_kokkos.cpp | 1 - src/KOKKOS/fix_langevin_kokkos.h | 1 - src/KOKKOS/fix_minimize_kokkos.cpp | 2 + src/KOKKOS/fix_momentum_kokkos.cpp | 3 - src/KOKKOS/fix_neigh_history_kokkos.cpp | 1 - src/KOKKOS/fix_nh_kokkos.cpp | 4 -- src/KOKKOS/fix_nve_kokkos.cpp | 2 - src/KOKKOS/fix_nve_sphere_kokkos.cpp | 3 +- src/KOKKOS/fix_nvt_kokkos.cpp | 2 - src/KOKKOS/fix_nvt_sllod_kokkos.cpp | 8 +-- src/KOKKOS/fix_property_atom_kokkos.cpp | 1 - src/KOKKOS/fix_qeq_reaxff_kokkos.cpp | 2 - src/KOKKOS/fix_reaxff_species_kokkos.cpp | 8 +-- src/KOKKOS/fix_rx_kokkos.cpp | 3 +- src/KOKKOS/fix_setforce_kokkos.cpp | 3 - src/KOKKOS/fix_shake_kokkos.cpp | 9 --- src/KOKKOS/fix_shardlow_kokkos.cpp | 1 - src/KOKKOS/fix_spring_self_kokkos.cpp | 7 --- src/KOKKOS/fix_temp_berendsen_kokkos.cpp | 3 - src/KOKKOS/fix_temp_rescale_kokkos.cpp | 3 - src/KOKKOS/fix_viscous_kokkos.cpp | 4 -- src/KOKKOS/fix_wall_flow_kokkos.cpp | 4 +- src/KOKKOS/fix_wall_flow_kokkos.h | 1 - src/KOKKOS/fix_wall_gran_kokkos.cpp | 1 - src/KOKKOS/fix_wall_lj93_kokkos.cpp | 2 +- src/KOKKOS/fix_wall_reflect_kokkos.cpp | 2 - src/KOKKOS/min_cg_kokkos.cpp | 11 ++-- src/KOKKOS/mliap_data_kokkos.cpp | 2 - src/KOKKOS/mliap_descriptor_so3_kokkos.cpp | 4 -- src/KOKKOS/mliap_model_linear_kokkos.cpp | 1 - src/KOKKOS/mliap_so3_kokkos.cpp | 1 - src/KOKKOS/nbin_ssa_kokkos.cpp | 5 +- src/KOKKOS/neigh_bond_kokkos.cpp | 1 + src/KOKKOS/neigh_bond_kokkos.h | 2 - src/KOKKOS/neighbor_kokkos.cpp | 3 - src/KOKKOS/npair_skip_kokkos.cpp | 1 - src/KOKKOS/pair_buck_coul_cut_kokkos.cpp | 2 - src/KOKKOS/pair_buck_kokkos.cpp | 2 - src/KOKKOS/pair_coul_cut_kokkos.cpp | 1 - src/KOKKOS/pair_coul_debye_kokkos.cpp | 4 -- src/KOKKOS/pair_coul_dsf_kokkos.cpp | 1 - src/KOKKOS/pair_coul_wolf_kokkos.cpp | 1 - src/KOKKOS/pair_hybrid_kokkos.cpp | 6 +- src/KOKKOS/pair_lj_cut_coul_cut_kokkos.cpp | 2 - src/KOKKOS/pair_lj_cut_kokkos.cpp | 3 - src/KOKKOS/third_order_kokkos.cpp | 9 --- src/KOKKOS/verlet_kokkos.cpp | 1 - src/KSPACE/pppm.cpp | 2 - src/KSPACE/pppm_cg.cpp | 1 - src/LEPTON/angle_lepton.cpp | 2 + src/LEPTON/bond_lepton.cpp | 2 + src/LEPTON/dihedral_lepton.cpp | 1 + src/LEPTON/fix_wall_lepton.cpp | 2 + src/LEPTON/lepton_utils.cpp | 1 - src/LEPTON/pair_lepton.cpp | 4 +- src/LEPTON/pair_lepton_coul.cpp | 4 +- src/LEPTON/pair_lepton_sphere.cpp | 4 +- src/MACHDYN/fix_smd_wall_surface.cpp | 1 + src/MANYBODY/pair_meam_spline.cpp | 1 + src/MANYBODY/pair_meam_sw_spline.cpp | 1 + src/MANYBODY/pair_sw_angle_table.cpp | 1 - src/MC/fix_charge_regulation.cpp | 1 + src/MC/fix_gcmc.cpp | 1 + src/MC/fix_widom.cpp | 1 + src/MDI/fix_mdi_engine.cpp | 1 - src/MDI/fix_mdi_qm.cpp | 2 + src/MDI/fix_mdi_qmmm.cpp | 4 ++ src/MDI/mdi_engine.cpp | 2 - src/MDI/mdi_plugin.cpp | 2 - src/MEAM/pair_meam_ms.cpp | 1 + src/MESONT/angle_mesocnt.cpp | 1 + src/MESONT/bond_mesocnt.cpp | 1 - src/MESONT/pair_mesocnt.cpp | 4 +- src/ML-IAP/compute_mliap.cpp | 1 + src/ML-PACE/compute_pace.cpp | 5 -- src/ML-PACE/pair_pace_extrapolation.cpp | 5 +- src/ML-PACE/pair_pace_extrapolation.h | 1 - src/ML-SNAP/compute_sna_atom.cpp | 1 + src/MOLECULE/bond_gromos.cpp | 1 + src/MOLECULE/pair_tip4p_cut.cpp | 1 + src/MOLFILE/molfile_interface.cpp | 1 - src/OPENMP/angle_lepton_omp.cpp | 3 + src/OPENMP/bond_lepton_omp.cpp | 2 + src/OPENMP/dihedral_lepton_omp.cpp | 2 + src/OPENMP/fix_nh_omp.cpp | 1 - src/OPENMP/fix_rigid_nh_omp.cpp | 1 - src/OPENMP/npair_bin_omp.cpp | 2 + src/OPENMP/npair_multi_old_omp.cpp | 2 + src/OPENMP/npair_multi_omp.cpp | 2 + src/OPENMP/npair_nsq_omp.cpp | 2 + src/OPENMP/npair_respa_bin_omp.cpp | 2 + src/OPENMP/npair_respa_nsq_omp.cpp | 2 + src/OPENMP/pair_lepton_coul_omp.cpp | 2 + src/OPENMP/pair_lepton_omp.cpp | 4 +- src/OPENMP/pair_lepton_sphere_omp.cpp | 2 + src/OPENMP/pair_lj_expand_sphere_omp.cpp | 2 + src/OPENMP/pair_rebomos_omp.cpp | 1 - src/POEMS/fix_poems.cpp | 2 +- src/PTM/compute_ptm_atom.cpp | 1 - src/PTM/ptm_convex_hull_incremental.h | 1 - src/PYTHON/python_impl.cpp | 1 - src/QEQ/fix_qeq.cpp | 2 - src/REAXFF/compute_reaxff_atom.cpp | 2 +- src/REAXFF/fix_acks2_reaxff.cpp | 1 + src/REAXFF/reaxff_ffield.cpp | 1 - src/REPLICA/fix_alchemy.cpp | 1 - src/REPLICA/fix_pimd_langevin.cpp | 1 - src/REPLICA/temper.cpp | 1 - src/REPLICA/temper_npt.cpp | 1 - src/SMTBQ/pair_smatb.cpp | 1 + src/SMTBQ/pair_smatb_single.cpp | 1 + src/SMTBQ/pair_smtbq.cpp | 1 + src/SPIN/neb_spin.cpp | 1 + src/npair_halffull.cpp | 2 + src/npair_multi.cpp | 2 + src/npair_multi_old.cpp | 2 + src/npair_nsq.cpp | 2 + src/npair_respa_bin.cpp | 2 + src/npair_respa_nsq.cpp | 2 + src/replicate.cpp | 1 + src/rerun.cpp | 1 + src/reset_atoms_image.cpp | 1 - src/utils.cpp | 1 + 193 files changed, 189 insertions(+), 337 deletions(-) diff --git a/src/AMOEBA/amoeba_convolution.cpp b/src/AMOEBA/amoeba_convolution.cpp index 3bdfdc9b74..44b7248815 100644 --- a/src/AMOEBA/amoeba_convolution.cpp +++ b/src/AMOEBA/amoeba_convolution.cpp @@ -15,16 +15,13 @@ #include "amoeba_convolution.h" #include "comm.h" -#include "domain.h" #include "fft3d_wrap.h" #include "grid3d.h" -#include "math_extra.h" #include "memory.h" #include "neighbor.h" #include "remap_wrap.h" #include "timer.h" -#include #include using namespace LAMMPS_NS; diff --git a/src/AMOEBA/pair_amoeba.h b/src/AMOEBA/pair_amoeba.h index 648fc86126..fd694a8037 100644 --- a/src/AMOEBA/pair_amoeba.h +++ b/src/AMOEBA/pair_amoeba.h @@ -20,7 +20,7 @@ PairStyle(amoeba,PairAmoeba); #ifndef LMP_PAIR_AMOEBA_H #define LMP_PAIR_AMOEBA_H -#include "lmpfftsettings.h" +#include "lmpfftsettings.h" // IWYU pragma: export #include "pair.h" namespace LAMMPS_NS { @@ -330,10 +330,10 @@ class PairAmoeba : public Pair { double *qfac; // convoulution pre-factors double *gridfft1; // copy of p_kspace FFT grid - double **cmp,**fmp; // Cartesian and fractional multipoles - double **cphi,**fphi; + double **cmp, **fmp; // Cartesian and fractional multipoles + double **cphi, **fphi; - double *_moduli_array; // buffers for moduli + double *_moduli_array; // buffers for moduli double *_moduli_bsarray; int _nfft_max; @@ -345,11 +345,11 @@ class PairAmoeba : public Pair { double ctf[10][10]; // indices NOT flipped vs Fortran double ftc[10][10]; // indices NOT flipped vs Fortran - class AmoebaConvolution *m_kspace; // multipole KSpace - class AmoebaConvolution *p_kspace; // polar KSpace + class AmoebaConvolution *m_kspace; // multipole KSpace + class AmoebaConvolution *p_kspace; // polar KSpace class AmoebaConvolution *pc_kspace; - class AmoebaConvolution *d_kspace; // dispersion KSpace - class AmoebaConvolution *i_kspace; // induce KSpace + class AmoebaConvolution *d_kspace; // dispersion KSpace + class AmoebaConvolution *i_kspace; // induce KSpace class AmoebaConvolution *ic_kspace; // FFT grid size factors @@ -362,8 +362,8 @@ class PairAmoeba : public Pair { void hal(); virtual void repulsion(); - void damprep(double, double, double, double, double, double, double, double, - int, double, double, double *); + void damprep(double, double, double, double, double, double, double, double, int, double, double, + double *); void dispersion(); virtual void dispersion_real(); diff --git a/src/ATC/fix_atc.cpp b/src/ATC/fix_atc.cpp index 436ffc9555..b1276d6788 100644 --- a/src/ATC/fix_atc.cpp +++ b/src/ATC/fix_atc.cpp @@ -20,15 +20,17 @@ #include "group.h" #include "neighbor.h" +#include "ATC_Error.h" #include "ATC_Method.h" -#include "ATC_TransferKernel.h" -#include "ATC_TransferPartitionOfUnity.h" #include "ATC_CouplingEnergy.h" #include "ATC_CouplingMomentum.h" #include "ATC_CouplingMass.h" #include "ATC_CouplingMomentumEnergy.h" +#include "ATC_TransferKernel.h" +#include "ATC_TransferPartitionOfUnity.h" +#include "ATC_TypeDefs.h" +#include "ExtrinsicModel.h" #include "LammpsInterface.h" - #include using namespace LAMMPS_NS; diff --git a/src/AWPMD/atom_vec_wavepacket.cpp b/src/AWPMD/atom_vec_wavepacket.cpp index ff0d660fb6..65b8214369 100644 --- a/src/AWPMD/atom_vec_wavepacket.cpp +++ b/src/AWPMD/atom_vec_wavepacket.cpp @@ -19,6 +19,8 @@ #include "atom.h" +#include + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ diff --git a/src/BPM/atom_vec_bpm_sphere.cpp b/src/BPM/atom_vec_bpm_sphere.cpp index 37a36f4a59..4332d517b4 100644 --- a/src/BPM/atom_vec_bpm_sphere.cpp +++ b/src/BPM/atom_vec_bpm_sphere.cpp @@ -14,14 +14,11 @@ #include "atom_vec_bpm_sphere.h" #include "atom.h" -#include "comm.h" #include "error.h" #include "fix.h" #include "math_const.h" #include "modify.h" -#include - using namespace LAMMPS_NS; using MathConst::MY_PI; diff --git a/src/BPM/fix_update_special_bonds.cpp b/src/BPM/fix_update_special_bonds.cpp index 04f5d94e7e..cdc72ee987 100644 --- a/src/BPM/fix_update_special_bonds.cpp +++ b/src/BPM/fix_update_special_bonds.cpp @@ -21,7 +21,6 @@ #include "modify.h" #include "neigh_list.h" #include "neighbor.h" -#include "pair.h" #include diff --git a/src/CG-DNA/pair_oxdna_stk.cpp b/src/CG-DNA/pair_oxdna_stk.cpp index 99ddf9c96a..1ef779dbd9 100644 --- a/src/CG-DNA/pair_oxdna_stk.cpp +++ b/src/CG-DNA/pair_oxdna_stk.cpp @@ -25,6 +25,7 @@ #include "memory.h" #include "mf_oxdna.h" #include "neighbor.h" +#include "neigh_list.h" #include #include diff --git a/src/CG-DNA/pair_oxrna2_stk.cpp b/src/CG-DNA/pair_oxrna2_stk.cpp index f6e12fffe1..f56aa572e8 100644 --- a/src/CG-DNA/pair_oxrna2_stk.cpp +++ b/src/CG-DNA/pair_oxrna2_stk.cpp @@ -26,6 +26,7 @@ #include "memory.h" #include "mf_oxdna.h" #include "neighbor.h" +#include "neigh_list.h" #include #include diff --git a/src/COLVARS/colvarproxy_lammps.cpp b/src/COLVARS/colvarproxy_lammps.cpp index 06a2a23ec0..1c5d84d62a 100644 --- a/src/COLVARS/colvarproxy_lammps.cpp +++ b/src/COLVARS/colvarproxy_lammps.cpp @@ -19,11 +19,7 @@ #include "colvarmodule.h" #include "colvarproxy.h" -#include -#include -#include -#include -#include +#include #define HASH_FAIL -1 diff --git a/src/COLVARS/fix_colvars.cpp b/src/COLVARS/fix_colvars.cpp index baf0209c61..0b496ee71b 100644 --- a/src/COLVARS/fix_colvars.cpp +++ b/src/COLVARS/fix_colvars.cpp @@ -40,8 +40,6 @@ #include #include -#include -#include #include "colvarproxy_lammps.h" #include "colvarmodule.h" diff --git a/src/DIELECTRIC/pppm_dielectric.cpp b/src/DIELECTRIC/pppm_dielectric.cpp index 49fa8ed128..e02cc33162 100644 --- a/src/DIELECTRIC/pppm_dielectric.cpp +++ b/src/DIELECTRIC/pppm_dielectric.cpp @@ -23,7 +23,6 @@ #include "comm.h" #include "domain.h" #include "error.h" -#include "fft3d_wrap.h" #include "force.h" #include "grid3d.h" #include "math_const.h" diff --git a/src/DIELECTRIC/pppm_disp_dielectric.cpp b/src/DIELECTRIC/pppm_disp_dielectric.cpp index c6108646be..e5149ae427 100644 --- a/src/DIELECTRIC/pppm_disp_dielectric.cpp +++ b/src/DIELECTRIC/pppm_disp_dielectric.cpp @@ -25,10 +25,12 @@ #include "error.h" #include "force.h" #include "grid3d.h" +#include "lmpfftsettings.h" #include "math_const.h" #include "memory.h" #include +#include using namespace LAMMPS_NS; using namespace MathConst; diff --git a/src/DPD-REACT/npair_half_bin_newton_ssa.cpp b/src/DPD-REACT/npair_half_bin_newton_ssa.cpp index ce405da3ac..7393e54f78 100644 --- a/src/DPD-REACT/npair_half_bin_newton_ssa.cpp +++ b/src/DPD-REACT/npair_half_bin_newton_ssa.cpp @@ -18,6 +18,7 @@ ------------------------------------------------------------------------- */ #include "npair_half_bin_newton_ssa.h" + #include "nstencil_ssa.h" #include "nbin_ssa.h" #include "neigh_list.h" diff --git a/src/DRUDE/fix_drude.cpp b/src/DRUDE/fix_drude.cpp index 4270c2f402..6aaa4f1a74 100644 --- a/src/DRUDE/fix_drude.cpp +++ b/src/DRUDE/fix_drude.cpp @@ -22,7 +22,6 @@ #include "modify.h" #include "molecule.h" -#include #include #include diff --git a/src/DRUDE/fix_drude_transform.cpp b/src/DRUDE/fix_drude_transform.cpp index 4a85b8ae4c..88877ef70d 100644 --- a/src/DRUDE/fix_drude_transform.cpp +++ b/src/DRUDE/fix_drude_transform.cpp @@ -24,7 +24,6 @@ #include "modify.h" #include -#include using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/ELECTRODE/fix_electrode_conp.cpp b/src/ELECTRODE/fix_electrode_conp.cpp index 9e2599ca8a..e8b11c330b 100644 --- a/src/ELECTRODE/fix_electrode_conp.cpp +++ b/src/ELECTRODE/fix_electrode_conp.cpp @@ -43,6 +43,7 @@ #include #include #include +#include #include using namespace LAMMPS_NS; diff --git a/src/ELECTRODE/fix_electrode_conp.h b/src/ELECTRODE/fix_electrode_conp.h index 1289d96281..46da1eec35 100644 --- a/src/ELECTRODE/fix_electrode_conp.h +++ b/src/ELECTRODE/fix_electrode_conp.h @@ -29,7 +29,6 @@ FixStyle(electrode/conp, FixElectrodeConp); #include "fix.h" #include -#include #include namespace LAMMPS_NS { diff --git a/src/ELECTRODE/pppm_electrode.cpp b/src/ELECTRODE/pppm_electrode.cpp index 39e7c66ce5..98a76a7cca 100644 --- a/src/ELECTRODE/pppm_electrode.cpp +++ b/src/ELECTRODE/pppm_electrode.cpp @@ -20,6 +20,7 @@ #include "angle.h" #include "atom.h" #include "bond.h" +#include "boundary_correction.h" #include "citeme.h" #include "comm.h" #include "domain.h" diff --git a/src/EXTRA-COMPUTE/compute_composition_atom.cpp b/src/EXTRA-COMPUTE/compute_composition_atom.cpp index 48aaa68dea..47483f760b 100644 --- a/src/EXTRA-COMPUTE/compute_composition_atom.cpp +++ b/src/EXTRA-COMPUTE/compute_composition_atom.cpp @@ -19,7 +19,6 @@ #include "atom.h" #include "comm.h" -#include "domain.h" #include "error.h" #include "force.h" #include "math_const.h" diff --git a/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.cpp b/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.cpp index 571f1d562d..466bc0e882 100644 --- a/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.cpp +++ b/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.cpp @@ -16,7 +16,6 @@ #include "angle.h" #include "atom.h" #include "bond.h" -#include "comm.h" #include "compute_chunk_atom.h" #include "domain.h" #include "error.h" diff --git a/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.h b/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.h index b3354c9ab9..126f9962aa 100644 --- a/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.h +++ b/src/EXTRA-COMPUTE/compute_dipole_tip4p_chunk.h @@ -23,7 +23,6 @@ ComputeStyle(dipole/tip4p/chunk,ComputeDipoleTIP4PChunk); #include "compute_chunk.h" namespace LAMMPS_NS { -class Fix; class ComputeDipoleTIP4PChunk : public ComputeChunk { public: diff --git a/src/EXTRA-COMPUTE/compute_rattlers_atom.cpp b/src/EXTRA-COMPUTE/compute_rattlers_atom.cpp index 9dacf14171..5f707d8433 100644 --- a/src/EXTRA-COMPUTE/compute_rattlers_atom.cpp +++ b/src/EXTRA-COMPUTE/compute_rattlers_atom.cpp @@ -29,7 +29,6 @@ #include "pair.h" #include "update.h" -#include #include using namespace LAMMPS_NS; diff --git a/src/EXTRA-COMPUTE/compute_slcsa_atom.cpp b/src/EXTRA-COMPUTE/compute_slcsa_atom.cpp index 6c272938b6..e0b34b8ff1 100644 --- a/src/EXTRA-COMPUTE/compute_slcsa_atom.cpp +++ b/src/EXTRA-COMPUTE/compute_slcsa_atom.cpp @@ -22,12 +22,9 @@ #include "citeme.h" #include "comm.h" #include "error.h" -#include "force.h" #include "memory.h" #include "modify.h" #include "neigh_list.h" -#include "neighbor.h" -#include "pair.h" #include "potential_file_reader.h" #include "update.h" diff --git a/src/EXTRA-FIX/fix_deform_pressure.cpp b/src/EXTRA-FIX/fix_deform_pressure.cpp index 34741fef14..ffa3f11d92 100644 --- a/src/EXTRA-FIX/fix_deform_pressure.cpp +++ b/src/EXTRA-FIX/fix_deform_pressure.cpp @@ -18,17 +18,13 @@ #include "fix_deform_pressure.h" -#include "atom.h" #include "comm.h" #include "compute.h" #include "domain.h" #include "error.h" -#include "force.h" #include "group.h" #include "input.h" #include "irregular.h" -#include "kspace.h" -#include "lattice.h" #include "math_const.h" #include "modify.h" #include "update.h" @@ -36,7 +32,6 @@ #include #include -#include using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/EXTRA-FIX/fix_efield_tip4p.cpp b/src/EXTRA-FIX/fix_efield_tip4p.cpp index 47b1d9e27a..a83939a620 100644 --- a/src/EXTRA-FIX/fix_efield_tip4p.cpp +++ b/src/EXTRA-FIX/fix_efield_tip4p.cpp @@ -16,7 +16,6 @@ #include "angle.h" #include "atom.h" #include "bond.h" -#include "comm.h" #include "domain.h" #include "error.h" #include "force.h" @@ -25,11 +24,10 @@ #include "modify.h" #include "pair.h" #include "region.h" -#include "respa.h" #include "update.h" #include "variable.h" -#include +#include using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/EXTRA-FIX/fix_nonaffine_displacement.cpp b/src/EXTRA-FIX/fix_nonaffine_displacement.cpp index a426a8fb55..06702c408b 100644 --- a/src/EXTRA-FIX/fix_nonaffine_displacement.cpp +++ b/src/EXTRA-FIX/fix_nonaffine_displacement.cpp @@ -35,6 +35,7 @@ #include "pair.h" #include "update.h" +#include #include using namespace LAMMPS_NS; diff --git a/src/EXTRA-FIX/fix_tmd.cpp b/src/EXTRA-FIX/fix_tmd.cpp index 401ed41573..242efcf41c 100644 --- a/src/EXTRA-FIX/fix_tmd.cpp +++ b/src/EXTRA-FIX/fix_tmd.cpp @@ -32,6 +32,7 @@ #include #include +#include using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/EXTRA-FIX/fix_wall_flow.cpp b/src/EXTRA-FIX/fix_wall_flow.cpp index 1f3dcfca5b..35997b5b63 100644 --- a/src/EXTRA-FIX/fix_wall_flow.cpp +++ b/src/EXTRA-FIX/fix_wall_flow.cpp @@ -24,16 +24,14 @@ #include "domain.h" #include "error.h" #include "force.h" -#include "input.h" #include "lattice.h" #include "math_const.h" #include "memory.h" #include "modify.h" #include "random_mars.h" -#include "update.h" -#include "variable.h" #include +#include #include #include diff --git a/src/EXTRA-PAIR/pair_born_gauss.cpp b/src/EXTRA-PAIR/pair_born_gauss.cpp index f60cc4dc6f..4b1390889d 100644 --- a/src/EXTRA-PAIR/pair_born_gauss.cpp +++ b/src/EXTRA-PAIR/pair_born_gauss.cpp @@ -18,10 +18,8 @@ #include "atom.h" #include "comm.h" #include "error.h" -#include "fix.h" #include "force.h" #include "memory.h" -#include "modify.h" #include "neigh_list.h" #include diff --git a/src/EXTRA-PAIR/pair_lj_cut_sphere.cpp b/src/EXTRA-PAIR/pair_lj_cut_sphere.cpp index 3f16a96666..852b2eea1d 100644 --- a/src/EXTRA-PAIR/pair_lj_cut_sphere.cpp +++ b/src/EXTRA-PAIR/pair_lj_cut_sphere.cpp @@ -20,10 +20,7 @@ #include "math_special.h" #include "memory.h" #include "neigh_list.h" -#include "neighbor.h" -#include "update.h" -#include #include using namespace LAMMPS_NS; diff --git a/src/EXTRA-PAIR/pair_lj_expand_sphere.cpp b/src/EXTRA-PAIR/pair_lj_expand_sphere.cpp index 089a9deea7..c275a9f9ee 100644 --- a/src/EXTRA-PAIR/pair_lj_expand_sphere.cpp +++ b/src/EXTRA-PAIR/pair_lj_expand_sphere.cpp @@ -20,8 +20,6 @@ #include "math_special.h" #include "memory.h" #include "neigh_list.h" -#include "neighbor.h" -#include "update.h" #include #include diff --git a/src/GRANULAR/fix_heat_flow.cpp b/src/GRANULAR/fix_heat_flow.cpp index d0d7a73ce6..b7643c2c24 100644 --- a/src/GRANULAR/fix_heat_flow.cpp +++ b/src/GRANULAR/fix_heat_flow.cpp @@ -16,12 +16,12 @@ #include "atom.h" #include "comm.h" #include "error.h" -#include "force.h" #include "memory.h" #include "modify.h" -#include "respa.h" #include "update.h" +#include + using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp index 5930280053..b8b06add2e 100644 --- a/src/GRANULAR/fix_wall_gran.cpp +++ b/src/GRANULAR/fix_wall_gran.cpp @@ -34,6 +34,7 @@ #include "update.h" #include "variable.h" +#include #include using namespace LAMMPS_NS; diff --git a/src/GRANULAR/fix_wall_gran.h b/src/GRANULAR/fix_wall_gran.h index 45e4e43844..cd1e8778c3 100644 --- a/src/GRANULAR/fix_wall_gran.h +++ b/src/GRANULAR/fix_wall_gran.h @@ -20,7 +20,6 @@ FixStyle(wall/gran,FixWallGran); #ifndef LMP_FIX_WALL_GRAN_H #define LMP_FIX_WALL_GRAN_H -#include "granular_model.h" #include "fix.h" namespace LAMMPS_NS { diff --git a/src/GRANULAR/fix_wall_gran_region.cpp b/src/GRANULAR/fix_wall_gran_region.cpp index 1c2fd4bcc0..b90620f3aa 100644 --- a/src/GRANULAR/fix_wall_gran_region.cpp +++ b/src/GRANULAR/fix_wall_gran_region.cpp @@ -30,8 +30,6 @@ #include "update.h" #include "variable.h" -#include - using namespace LAMMPS_NS; using namespace Granular_NS; using namespace MathExtra; diff --git a/src/GRANULAR/gran_sub_mod.cpp b/src/GRANULAR/gran_sub_mod.cpp index bf945523dd..bac9c9edfe 100644 --- a/src/GRANULAR/gran_sub_mod.cpp +++ b/src/GRANULAR/gran_sub_mod.cpp @@ -21,7 +21,8 @@ ----------------------------------------------------------------------- */ #include "gran_sub_mod.h" -#include "error.h" + +#include using namespace LAMMPS_NS; using namespace Granular_NS; diff --git a/src/GRANULAR/gran_sub_mod.h b/src/GRANULAR/gran_sub_mod.h index 2524565332..88e77eb77b 100644 --- a/src/GRANULAR/gran_sub_mod.h +++ b/src/GRANULAR/gran_sub_mod.h @@ -14,50 +14,50 @@ #ifndef LMP_GRAN_SUB_MOD_H #define LMP_GRAN_SUB_MOD_H -#include "granular_model.h" #include "pointers.h" // IWYU pragma: export namespace LAMMPS_NS { namespace Granular_NS { + class GranularModel; -class GranSubMod : protected Pointers { - public: - GranSubMod(class GranularModel *, class LAMMPS *); - ~GranSubMod() override; + class GranSubMod : protected Pointers { + public: + GranSubMod(class GranularModel *, class LAMMPS *); + ~GranSubMod() override; - int num_coeffs; - double *coeffs; - void read_restart(); - virtual void mix_coeffs(double*, double*); - virtual void coeffs_to_local() {}; - virtual void init() {}; // called after all sub models + coeffs defined + int num_coeffs; + double *coeffs; + void read_restart(); + virtual void mix_coeffs(double *, double *); + virtual void coeffs_to_local(){}; + virtual void init(){}; // called after all sub models + coeffs defined - void allocate_coeffs(); - std::string name; + void allocate_coeffs(); + std::string name; - int size_history; - int nondefault_history_transfer; - double *transfer_history_factor; + int size_history; + int nondefault_history_transfer; + double *transfer_history_factor; - int history_index; - int beyond_contact; // If the sub model contact extends beyond overlap - int allow_cohesion; // If the sub model works with a cohesive normal force - int contact_radius_flag; // If the sub model requires contact radius + int history_index; + int beyond_contact; // If the sub model contact extends beyond overlap + int allow_cohesion; // If the sub model works with a cohesive normal force + int contact_radius_flag; // If the sub model requires contact radius - GranularModel *gm; + GranularModel *gm; - protected: - int allocated; + protected: + int allocated; - double mix_stiffnessE(double, double, double, double); - double mix_stiffnessG(double, double, double, double); - double mix_stiffnessE_wall(double, double); - double mix_stiffnessG_wall(double, double); - double mix_geom(double, double); - double mix_mean(double, double); -}; + double mix_stiffnessE(double, double, double, double); + double mix_stiffnessG(double, double, double, double); + double mix_stiffnessE_wall(double, double); + double mix_stiffnessG_wall(double, double); + double mix_geom(double, double); + double mix_mean(double, double); + }; -} // namespace GranularModel +} // namespace Granular_NS } // namespace LAMMPS_NS #endif /* GRAN_SUB_MOD_H */ diff --git a/src/GRANULAR/gran_sub_mod_damping.cpp b/src/GRANULAR/gran_sub_mod_damping.cpp index 1ac0ce9030..4386ed71fc 100644 --- a/src/GRANULAR/gran_sub_mod_damping.cpp +++ b/src/GRANULAR/gran_sub_mod_damping.cpp @@ -17,6 +17,8 @@ #include "granular_model.h" #include "math_special.h" +#include + using namespace LAMMPS_NS; using namespace Granular_NS; diff --git a/src/GRANULAR/gran_sub_mod_normal.cpp b/src/GRANULAR/gran_sub_mod_normal.cpp index ffc18b8c32..f4294bbc35 100644 --- a/src/GRANULAR/gran_sub_mod_normal.cpp +++ b/src/GRANULAR/gran_sub_mod_normal.cpp @@ -16,6 +16,8 @@ #include "granular_model.h" #include "math_const.h" +#include + using namespace LAMMPS_NS; using namespace Granular_NS; diff --git a/src/GRANULAR/gran_sub_mod_rolling.cpp b/src/GRANULAR/gran_sub_mod_rolling.cpp index 554aa7ab63..4b10bd2358 100644 --- a/src/GRANULAR/gran_sub_mod_rolling.cpp +++ b/src/GRANULAR/gran_sub_mod_rolling.cpp @@ -18,6 +18,8 @@ #include "granular_model.h" #include "math_extra.h" +#include + using namespace LAMMPS_NS; using namespace Granular_NS; using namespace MathExtra; diff --git a/src/GRANULAR/gran_sub_mod_tangential.cpp b/src/GRANULAR/gran_sub_mod_tangential.cpp index c74233701b..f8f39a38f9 100644 --- a/src/GRANULAR/gran_sub_mod_tangential.cpp +++ b/src/GRANULAR/gran_sub_mod_tangential.cpp @@ -19,6 +19,8 @@ #include "granular_model.h" #include "math_extra.h" +#include + using namespace LAMMPS_NS; using namespace Granular_NS; using namespace MathExtra; diff --git a/src/GRANULAR/gran_sub_mod_twisting.cpp b/src/GRANULAR/gran_sub_mod_twisting.cpp index 48af89c9e7..95c62ad342 100644 --- a/src/GRANULAR/gran_sub_mod_twisting.cpp +++ b/src/GRANULAR/gran_sub_mod_twisting.cpp @@ -19,6 +19,8 @@ #include "granular_model.h" #include "math_const.h" +#include + using namespace LAMMPS_NS; using namespace Granular_NS; diff --git a/src/GRANULAR/granular_model.cpp b/src/GRANULAR/granular_model.cpp index c1ad692fb3..6de147b34a 100644 --- a/src/GRANULAR/granular_model.cpp +++ b/src/GRANULAR/granular_model.cpp @@ -31,6 +31,7 @@ #include "style_gran_sub_mod.h" // IWYU pragma: keep #include +#include using namespace LAMMPS_NS; using namespace Granular_NS; diff --git a/src/GRANULAR/pair_granular.h b/src/GRANULAR/pair_granular.h index 956717d598..46c5570543 100644 --- a/src/GRANULAR/pair_granular.h +++ b/src/GRANULAR/pair_granular.h @@ -21,7 +21,6 @@ PairStyle(granular,PairGranular); #define LMP_PAIR_GRANULAR_H #include "pair.h" -#include namespace LAMMPS_NS { diff --git a/src/INTERLAYER/pair_aip_water_2dm.cpp b/src/INTERLAYER/pair_aip_water_2dm.cpp index ea3812504d..2c6b222d45 100644 --- a/src/INTERLAYER/pair_aip_water_2dm.cpp +++ b/src/INTERLAYER/pair_aip_water_2dm.cpp @@ -24,9 +24,6 @@ #include "error.h" #include "force.h" -#include -#include - using namespace LAMMPS_NS; static const char cite_aip_water[] = diff --git a/src/INTERLAYER/pair_ilp_tmd.h b/src/INTERLAYER/pair_ilp_tmd.h index 8381c2e830..7e7edbb01b 100644 --- a/src/INTERLAYER/pair_ilp_tmd.h +++ b/src/INTERLAYER/pair_ilp_tmd.h @@ -20,7 +20,7 @@ PairStyle(ilp/tmd,PairILPTMD); #ifndef LMP_PAIR_ILP_TMD_H #define LMP_PAIR_ILP_TMD_H -#include "pair_ilp_graphene_hbn.h" +#include "pair_ilp_graphene_hbn.h" // IWYU pragma: export namespace LAMMPS_NS { diff --git a/src/KOKKOS/atom_kokkos.cpp b/src/KOKKOS/atom_kokkos.cpp index af1816c1d3..b1a066f165 100644 --- a/src/KOKKOS/atom_kokkos.cpp +++ b/src/KOKKOS/atom_kokkos.cpp @@ -16,7 +16,7 @@ #include "atom_masks.h" #include "atom_vec.h" #include "atom_vec_kokkos.h" -#include "comm_kokkos.h" +#include "comm.h" #include "domain.h" #include "error.h" #include "kokkos.h" diff --git a/src/KOKKOS/atom_map_kokkos.cpp b/src/KOKKOS/atom_map_kokkos.cpp index 3f86afe788..8203e1e6a2 100644 --- a/src/KOKKOS/atom_map_kokkos.cpp +++ b/src/KOKKOS/atom_map_kokkos.cpp @@ -16,13 +16,8 @@ #include "atom_masks.h" #include "comm.h" #include "error.h" -#include "fix.h" #include "kokkos.h" #include "memory_kokkos.h" -#include "modify.h" -#include "neighbor_kokkos.h" - -#include using namespace LAMMPS_NS; diff --git a/src/KOKKOS/atom_vec_atomic_kokkos.cpp b/src/KOKKOS/atom_vec_atomic_kokkos.cpp index 973ad2f7f2..a69ff85c54 100644 --- a/src/KOKKOS/atom_vec_atomic_kokkos.cpp +++ b/src/KOKKOS/atom_vec_atomic_kokkos.cpp @@ -16,7 +16,6 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include "comm_kokkos.h" #include "domain.h" #include "error.h" #include "fix.h" diff --git a/src/KOKKOS/atom_vec_bond_kokkos.cpp b/src/KOKKOS/atom_vec_bond_kokkos.cpp index a4fd9ca1b5..3684d30acf 100644 --- a/src/KOKKOS/atom_vec_bond_kokkos.cpp +++ b/src/KOKKOS/atom_vec_bond_kokkos.cpp @@ -16,7 +16,6 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include "comm_kokkos.h" #include "domain.h" #include "error.h" #include "fix.h" diff --git a/src/KOKKOS/atom_vec_charge_kokkos.cpp b/src/KOKKOS/atom_vec_charge_kokkos.cpp index 4fa814f1ac..a479e4f216 100644 --- a/src/KOKKOS/atom_vec_charge_kokkos.cpp +++ b/src/KOKKOS/atom_vec_charge_kokkos.cpp @@ -16,7 +16,6 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include "comm_kokkos.h" #include "domain.h" #include "error.h" #include "fix.h" diff --git a/src/KOKKOS/atom_vec_dipole_kokkos.cpp b/src/KOKKOS/atom_vec_dipole_kokkos.cpp index ecc0f3b497..6af575ad37 100644 --- a/src/KOKKOS/atom_vec_dipole_kokkos.cpp +++ b/src/KOKKOS/atom_vec_dipole_kokkos.cpp @@ -16,7 +16,6 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include "comm_kokkos.h" #include "domain.h" #include "error.h" #include "fix.h" diff --git a/src/KOKKOS/atom_vec_full_kokkos.cpp b/src/KOKKOS/atom_vec_full_kokkos.cpp index 732078a627..282414ab9b 100644 --- a/src/KOKKOS/atom_vec_full_kokkos.cpp +++ b/src/KOKKOS/atom_vec_full_kokkos.cpp @@ -16,7 +16,6 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include "comm_kokkos.h" #include "domain.h" #include "error.h" #include "fix.h" diff --git a/src/KOKKOS/atom_vec_hybrid_kokkos.cpp b/src/KOKKOS/atom_vec_hybrid_kokkos.cpp index 08bcaaef74..70b852a312 100644 --- a/src/KOKKOS/atom_vec_hybrid_kokkos.cpp +++ b/src/KOKKOS/atom_vec_hybrid_kokkos.cpp @@ -15,14 +15,7 @@ #include "atom_vec_hybrid_kokkos.h" #include "atom_kokkos.h" -#include "atom_masks.h" -#include "domain.h" #include "error.h" -#include "fix.h" -#include "memory_kokkos.h" -#include "modify.h" - -#include using namespace LAMMPS_NS; diff --git a/src/KOKKOS/atom_vec_kokkos.cpp b/src/KOKKOS/atom_vec_kokkos.cpp index 93393e9e09..42a32dd71d 100644 --- a/src/KOKKOS/atom_vec_kokkos.cpp +++ b/src/KOKKOS/atom_vec_kokkos.cpp @@ -17,7 +17,6 @@ #include "atom_kokkos.h" #include "atom_masks.h" #include "comm_kokkos.h" -#include "error.h" #include "domain.h" using namespace LAMMPS_NS; diff --git a/src/KOKKOS/atom_vec_sphere_kokkos.cpp b/src/KOKKOS/atom_vec_sphere_kokkos.cpp index 3dfb5143cd..a9dcf72ff3 100644 --- a/src/KOKKOS/atom_vec_sphere_kokkos.cpp +++ b/src/KOKKOS/atom_vec_sphere_kokkos.cpp @@ -21,12 +21,9 @@ #include "error.h" #include "fix.h" #include "math_const.h" -#include "memory.h" #include "memory_kokkos.h" #include "modify.h" -#include - using namespace LAMMPS_NS; using namespace MathConst; diff --git a/src/KOKKOS/atom_vec_spin_kokkos.cpp b/src/KOKKOS/atom_vec_spin_kokkos.cpp index c6ee7c1d3b..1f52b56269 100644 --- a/src/KOKKOS/atom_vec_spin_kokkos.cpp +++ b/src/KOKKOS/atom_vec_spin_kokkos.cpp @@ -26,7 +26,6 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include "comm_kokkos.h" #include "domain.h" #include "error.h" #include "fix.h" diff --git a/src/KOKKOS/compute_ave_sphere_atom_kokkos.cpp b/src/KOKKOS/compute_ave_sphere_atom_kokkos.cpp index 87fe3621e4..57f1f2bb18 100644 --- a/src/KOKKOS/compute_ave_sphere_atom_kokkos.cpp +++ b/src/KOKKOS/compute_ave_sphere_atom_kokkos.cpp @@ -21,19 +21,12 @@ #include "atom_masks.h" #include "comm.h" #include "domain.h" -#include "error.h" #include "force.h" #include "memory_kokkos.h" -#include "modify.h" -#include "neigh_list.h" #include "neigh_request.h" #include "neighbor_kokkos.h" -#include "pair.h" #include "update.h" -#include -#include - using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ diff --git a/src/KOKKOS/compute_composition_atom_kokkos.cpp b/src/KOKKOS/compute_composition_atom_kokkos.cpp index 2b0e663011..47056951e7 100644 --- a/src/KOKKOS/compute_composition_atom_kokkos.cpp +++ b/src/KOKKOS/compute_composition_atom_kokkos.cpp @@ -19,21 +19,11 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include "comm.h" -#include "domain.h" -#include "error.h" -#include "force.h" #include "memory_kokkos.h" -#include "modify.h" -#include "neigh_list.h" #include "neigh_request.h" #include "neighbor_kokkos.h" -#include "pair.h" #include "update.h" -#include -#include - using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ diff --git a/src/KOKKOS/compute_coord_atom_kokkos.cpp b/src/KOKKOS/compute_coord_atom_kokkos.cpp index 089a94f498..2d56a53abe 100644 --- a/src/KOKKOS/compute_coord_atom_kokkos.cpp +++ b/src/KOKKOS/compute_coord_atom_kokkos.cpp @@ -20,8 +20,6 @@ #include "compute_orientorder_atom_kokkos.h" #include "error.h" #include "memory_kokkos.h" -#include "modify.h" -#include "neigh_list.h" #include "neigh_request.h" #include "neighbor_kokkos.h" #include "update.h" diff --git a/src/KOKKOS/compute_erotate_sphere_kokkos.cpp b/src/KOKKOS/compute_erotate_sphere_kokkos.cpp index 9fc477b3a0..d18aa3d27a 100644 --- a/src/KOKKOS/compute_erotate_sphere_kokkos.cpp +++ b/src/KOKKOS/compute_erotate_sphere_kokkos.cpp @@ -16,8 +16,6 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include "error.h" -#include "force.h" #include "update.h" using namespace LAMMPS_NS; diff --git a/src/KOKKOS/compute_orientorder_atom_kokkos.cpp b/src/KOKKOS/compute_orientorder_atom_kokkos.cpp index 35699cb5c1..447f15b830 100644 --- a/src/KOKKOS/compute_orientorder_atom_kokkos.cpp +++ b/src/KOKKOS/compute_orientorder_atom_kokkos.cpp @@ -24,14 +24,11 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include "kokkos.h" #include "math_const.h" #include "math_special.h" #include "memory_kokkos.h" -#include "neigh_list.h" #include "neigh_request.h" #include "neighbor_kokkos.h" -#include "pair.h" #include "update.h" #include diff --git a/src/KOKKOS/compute_reaxff_atom_kokkos.cpp b/src/KOKKOS/compute_reaxff_atom_kokkos.cpp index 2b5cbff13d..0683e63752 100644 --- a/src/KOKKOS/compute_reaxff_atom_kokkos.cpp +++ b/src/KOKKOS/compute_reaxff_atom_kokkos.cpp @@ -18,16 +18,12 @@ #include "compute_reaxff_atom_kokkos.h" #include "atom.h" -#include "molecule.h" #include "update.h" -#include "force.h" -#include "memory.h" #include "error.h" #include "neigh_list.h" #include "memory_kokkos.h" #include "pair_reaxff_kokkos.h" -#include "reaxff_api.h" using namespace LAMMPS_NS; using namespace ReaxFF; diff --git a/src/KOKKOS/compute_temp_deform_kokkos.cpp b/src/KOKKOS/compute_temp_deform_kokkos.cpp index 55db344d6a..03aba5b10d 100644 --- a/src/KOKKOS/compute_temp_deform_kokkos.cpp +++ b/src/KOKKOS/compute_temp_deform_kokkos.cpp @@ -24,7 +24,6 @@ #include "domain_kokkos.h" #include "error.h" #include "force.h" -#include "memory_kokkos.h" #include "update.h" using namespace LAMMPS_NS; diff --git a/src/KOKKOS/compute_temp_kokkos.cpp b/src/KOKKOS/compute_temp_kokkos.cpp index ebdd6971e0..78a35440c8 100644 --- a/src/KOKKOS/compute_temp_kokkos.cpp +++ b/src/KOKKOS/compute_temp_kokkos.cpp @@ -21,8 +21,6 @@ #include "force.h" #include "update.h" -#include - using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ diff --git a/src/KOKKOS/dynamical_matrix_kokkos.cpp b/src/KOKKOS/dynamical_matrix_kokkos.cpp index ec2cc17ef2..e4c454c7f2 100644 --- a/src/KOKKOS/dynamical_matrix_kokkos.cpp +++ b/src/KOKKOS/dynamical_matrix_kokkos.cpp @@ -23,27 +23,18 @@ #include "atom_masks.h" #include "bond.h" #include "comm.h" -#include "compute.h" #include "dihedral.h" #include "domain.h" -#include "error.h" -#include "finish.h" #include "force.h" -#include "group.h" #include "improper.h" #include "kokkos.h" #include "kspace.h" -#include "memory.h" #include "modify.h" #include "neighbor.h" #include "pair.h" #include "timer.h" #include "update.h" -#include -#include -#include - using namespace LAMMPS_NS; enum{REGULAR,ESKM}; diff --git a/src/KOKKOS/fix_acks2_reaxff_kokkos.cpp b/src/KOKKOS/fix_acks2_reaxff_kokkos.cpp index 617660d5ef..cc3df5d78d 100644 --- a/src/KOKKOS/fix_acks2_reaxff_kokkos.cpp +++ b/src/KOKKOS/fix_acks2_reaxff_kokkos.cpp @@ -24,13 +24,11 @@ #include "comm.h" #include "error.h" #include "force.h" -#include "integrate.h" #include "kokkos.h" #include "memory_kokkos.h" #include "neigh_list_kokkos.h" #include "neigh_request.h" #include "neighbor.h" -#include "pair_reaxff_kokkos.h" #include "update.h" #include diff --git a/src/KOKKOS/fix_deform_kokkos.cpp b/src/KOKKOS/fix_deform_kokkos.cpp index 97c78bb1a5..90c4380da9 100644 --- a/src/KOKKOS/fix_deform_kokkos.cpp +++ b/src/KOKKOS/fix_deform_kokkos.cpp @@ -21,7 +21,6 @@ #include "atom_kokkos.h" #include "atom_masks.h" #include "domain_kokkos.h" -#include "error.h" #include "force.h" #include "input.h" #include "irregular.h" @@ -32,7 +31,6 @@ #include "variable.h" #include -#include using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/KOKKOS/fix_dt_reset_kokkos.cpp b/src/KOKKOS/fix_dt_reset_kokkos.cpp index 83cdc5f26f..df354f19c8 100644 --- a/src/KOKKOS/fix_dt_reset_kokkos.cpp +++ b/src/KOKKOS/fix_dt_reset_kokkos.cpp @@ -18,15 +18,13 @@ #include "atom_masks.h" #include "error.h" #include "force.h" -#include "input.h" -#include "integrate.h" -#include "kokkos_base.h" -#include "memory_kokkos.h" #include "modify.h" #include "output.h" #include "pair.h" #include "update.h" +#include + using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/KOKKOS/fix_efield_kokkos.cpp b/src/KOKKOS/fix_efield_kokkos.cpp index ffe1c34e97..4009773982 100644 --- a/src/KOKKOS/fix_efield_kokkos.cpp +++ b/src/KOKKOS/fix_efield_kokkos.cpp @@ -30,8 +30,6 @@ #include "atom_masks.h" #include "kokkos_base.h" -#include - using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/KOKKOS/fix_gravity_kokkos.cpp b/src/KOKKOS/fix_gravity_kokkos.cpp index 42a16eda78..01fcc0780c 100644 --- a/src/KOKKOS/fix_gravity_kokkos.cpp +++ b/src/KOKKOS/fix_gravity_kokkos.cpp @@ -16,7 +16,6 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include "atom_vec.h" #include "input.h" #include "modify.h" #include "update.h" diff --git a/src/KOKKOS/fix_langevin_kokkos.h b/src/KOKKOS/fix_langevin_kokkos.h index 4fc22a1df1..05c5612313 100644 --- a/src/KOKKOS/fix_langevin_kokkos.h +++ b/src/KOKKOS/fix_langevin_kokkos.h @@ -27,7 +27,6 @@ FixStyle(langevin/kk/host,FixLangevinKokkos); #include "kokkos_type.h" #include "kokkos_base.h" #include "Kokkos_Random.hpp" -#include "comm_kokkos.h" namespace LAMMPS_NS { diff --git a/src/KOKKOS/fix_minimize_kokkos.cpp b/src/KOKKOS/fix_minimize_kokkos.cpp index e2106b3d03..585c357992 100644 --- a/src/KOKKOS/fix_minimize_kokkos.cpp +++ b/src/KOKKOS/fix_minimize_kokkos.cpp @@ -19,6 +19,8 @@ #include "domain.h" #include "memory_kokkos.h" +#include + using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/KOKKOS/fix_momentum_kokkos.cpp b/src/KOKKOS/fix_momentum_kokkos.cpp index b9220a417f..fa959cd582 100644 --- a/src/KOKKOS/fix_momentum_kokkos.cpp +++ b/src/KOKKOS/fix_momentum_kokkos.cpp @@ -18,11 +18,8 @@ #include "atom_masks.h" #include "domain_kokkos.h" #include "group.h" -#include "error.h" #include "kokkos_few.h" -#include - using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/KOKKOS/fix_neigh_history_kokkos.cpp b/src/KOKKOS/fix_neigh_history_kokkos.cpp index 49fe3f1177..d3df48354e 100644 --- a/src/KOKKOS/fix_neigh_history_kokkos.cpp +++ b/src/KOKKOS/fix_neigh_history_kokkos.cpp @@ -17,7 +17,6 @@ #include "atom_kokkos.h" #include "error.h" #include "memory_kokkos.h" -#include "modify.h" #include "neigh_list_kokkos.h" #include "pair_kokkos.h" #include "atom_vec_kokkos.h" diff --git a/src/KOKKOS/fix_nh_kokkos.cpp b/src/KOKKOS/fix_nh_kokkos.cpp index d038093317..1b87b3c775 100644 --- a/src/KOKKOS/fix_nh_kokkos.cpp +++ b/src/KOKKOS/fix_nh_kokkos.cpp @@ -18,18 +18,14 @@ #include "fix_nh_kokkos.h" -#include "atom.h" #include "atom_kokkos.h" #include "atom_masks.h" -#include "comm.h" #include "compute.h" #include "domain_kokkos.h" #include "error.h" -#include "fix_deform.h" #include "force.h" #include "irregular.h" #include "kspace.h" -#include "memory_kokkos.h" #include "neighbor.h" #include "update.h" diff --git a/src/KOKKOS/fix_nve_kokkos.cpp b/src/KOKKOS/fix_nve_kokkos.cpp index 59cc90c088..11b5184310 100644 --- a/src/KOKKOS/fix_nve_kokkos.cpp +++ b/src/KOKKOS/fix_nve_kokkos.cpp @@ -17,8 +17,6 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include - using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/KOKKOS/fix_nve_sphere_kokkos.cpp b/src/KOKKOS/fix_nve_sphere_kokkos.cpp index 38f6a40792..aed45c938c 100644 --- a/src/KOKKOS/fix_nve_sphere_kokkos.cpp +++ b/src/KOKKOS/fix_nve_sphere_kokkos.cpp @@ -15,7 +15,8 @@ #include "fix_nve_sphere_kokkos.h" #include "atom_masks.h" #include "atom_kokkos.h" -#include "error.h" + +#include using namespace LAMMPS_NS; diff --git a/src/KOKKOS/fix_nvt_kokkos.cpp b/src/KOKKOS/fix_nvt_kokkos.cpp index 16328c5e3a..7a8badd569 100644 --- a/src/KOKKOS/fix_nvt_kokkos.cpp +++ b/src/KOKKOS/fix_nvt_kokkos.cpp @@ -18,8 +18,6 @@ #include "group.h" #include "modify.h" -#include - using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/KOKKOS/fix_nvt_sllod_kokkos.cpp b/src/KOKKOS/fix_nvt_sllod_kokkos.cpp index 948e3b88f6..ddcc0c728c 100644 --- a/src/KOKKOS/fix_nvt_sllod_kokkos.cpp +++ b/src/KOKKOS/fix_nvt_sllod_kokkos.cpp @@ -18,21 +18,19 @@ #include "fix_nvt_sllod_kokkos.h" -#include "atom.h" -#include "atom.h" #include "atom_kokkos.h" #include "atom_masks.h" #include "compute.h" #include "domain.h" #include "error.h" -#include "fix.h" -#include "fix_deform_kokkos.h" +#include "fix_deform.h" #include "group.h" #include "kokkos_few.h" #include "math_extra.h" -#include "memory_kokkos.h" #include "modify.h" +#include + using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/KOKKOS/fix_property_atom_kokkos.cpp b/src/KOKKOS/fix_property_atom_kokkos.cpp index dcd943cac6..10cea48e90 100644 --- a/src/KOKKOS/fix_property_atom_kokkos.cpp +++ b/src/KOKKOS/fix_property_atom_kokkos.cpp @@ -16,7 +16,6 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include "error.h" #include "memory_kokkos.h" #include diff --git a/src/KOKKOS/fix_qeq_reaxff_kokkos.cpp b/src/KOKKOS/fix_qeq_reaxff_kokkos.cpp index ba25d79ad5..f5b805844f 100644 --- a/src/KOKKOS/fix_qeq_reaxff_kokkos.cpp +++ b/src/KOKKOS/fix_qeq_reaxff_kokkos.cpp @@ -27,10 +27,8 @@ #include "fix_qeq_reaxff_kokkos.h" -#include "atom.h" #include "atom_kokkos.h" #include "atom_masks.h" -#include "atom_vec_kokkos.h" #include "comm.h" #include "error.h" #include "force.h" diff --git a/src/KOKKOS/fix_reaxff_species_kokkos.cpp b/src/KOKKOS/fix_reaxff_species_kokkos.cpp index 960ba07a86..7d742a8fa4 100644 --- a/src/KOKKOS/fix_reaxff_species_kokkos.cpp +++ b/src/KOKKOS/fix_reaxff_species_kokkos.cpp @@ -23,13 +23,11 @@ #include "comm.h" #include "error.h" #include "force.h" -#include "input.h" -#include "memory_kokkos.h" -#include "neigh_list.h" -#include "neigh_request.h" +#include "kokkos_type.h" +#include "neigh_list_kokkos.h" #include "fix_ave_atom.h" -#include "pair_reaxff_kokkos.h" +#include "pair_reaxff.h" #include "reaxff_defs.h" using namespace LAMMPS_NS; diff --git a/src/KOKKOS/fix_rx_kokkos.cpp b/src/KOKKOS/fix_rx_kokkos.cpp index 0ba56c611e..e07fbe119d 100644 --- a/src/KOKKOS/fix_rx_kokkos.cpp +++ b/src/KOKKOS/fix_rx_kokkos.cpp @@ -25,13 +25,12 @@ #include "math_special_kokkos.h" #include "memory_kokkos.h" #include "modify.h" -#include "neigh_list_kokkos.h" #include "neigh_request.h" #include "neighbor.h" #include "update.h" #include // DBL_EPSILON -#include +#include using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/KOKKOS/fix_setforce_kokkos.cpp b/src/KOKKOS/fix_setforce_kokkos.cpp index 9f193bc6e4..e8f376643f 100644 --- a/src/KOKKOS/fix_setforce_kokkos.cpp +++ b/src/KOKKOS/fix_setforce_kokkos.cpp @@ -17,7 +17,6 @@ #include "atom_kokkos.h" #include "update.h" #include "modify.h" -#include "domain.h" #include "region.h" #include "input.h" #include "variable.h" @@ -26,8 +25,6 @@ #include "atom_masks.h" #include "kokkos_base.h" -#include - using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/KOKKOS/fix_shake_kokkos.cpp b/src/KOKKOS/fix_shake_kokkos.cpp index 791738e5a4..a4c66f6069 100644 --- a/src/KOKKOS/fix_shake_kokkos.cpp +++ b/src/KOKKOS/fix_shake_kokkos.cpp @@ -14,20 +14,12 @@ #include "fix_shake_kokkos.h" -#include "fix_rattle.h" #include "atom_kokkos.h" -#include "atom_vec.h" -#include "molecule.h" #include "update.h" -#include "respa.h" -#include "modify.h" #include "domain.h" #include "force.h" -#include "bond.h" -#include "angle.h" #include "comm.h" #include "group.h" -#include "fix_respa.h" #include "math_const.h" #include "memory_kokkos.h" #include "error.h" @@ -35,7 +27,6 @@ #include "atom_masks.h" #include -#include using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/KOKKOS/fix_shardlow_kokkos.cpp b/src/KOKKOS/fix_shardlow_kokkos.cpp index 4cbadc4803..a64adbcc38 100644 --- a/src/KOKKOS/fix_shardlow_kokkos.cpp +++ b/src/KOKKOS/fix_shardlow_kokkos.cpp @@ -43,7 +43,6 @@ #include "domain.h" #include "error.h" #include "force.h" -#include "memory_kokkos.h" #include "neigh_list_kokkos.h" #include "neigh_request.h" #include "neighbor.h" diff --git a/src/KOKKOS/fix_spring_self_kokkos.cpp b/src/KOKKOS/fix_spring_self_kokkos.cpp index 6571db37ed..9ba796b1ab 100644 --- a/src/KOKKOS/fix_spring_self_kokkos.cpp +++ b/src/KOKKOS/fix_spring_self_kokkos.cpp @@ -20,17 +20,10 @@ #include "atom_kokkos.h" #include "update.h" -#include "modify.h" #include "domain_kokkos.h" -#include "region.h" -#include "input.h" -#include "variable.h" #include "memory_kokkos.h" #include "error.h" #include "atom_masks.h" -#include "kokkos_base.h" - -#include using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/KOKKOS/fix_temp_berendsen_kokkos.cpp b/src/KOKKOS/fix_temp_berendsen_kokkos.cpp index b986b3189a..8aaf586194 100644 --- a/src/KOKKOS/fix_temp_berendsen_kokkos.cpp +++ b/src/KOKKOS/fix_temp_berendsen_kokkos.cpp @@ -15,11 +15,9 @@ #include "fix_temp_berendsen_kokkos.h" #include "atom_kokkos.h" -#include "comm.h" #include "compute.h" #include "error.h" #include "force.h" -#include "group.h" #include "input.h" #include "modify.h" #include "update.h" @@ -27,7 +25,6 @@ #include "atom_masks.h" #include -#include using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/KOKKOS/fix_temp_rescale_kokkos.cpp b/src/KOKKOS/fix_temp_rescale_kokkos.cpp index 3a1c6ddd26..5c295634e7 100644 --- a/src/KOKKOS/fix_temp_rescale_kokkos.cpp +++ b/src/KOKKOS/fix_temp_rescale_kokkos.cpp @@ -15,11 +15,9 @@ #include "fix_temp_rescale_kokkos.h" #include "atom_kokkos.h" -#include "comm.h" #include "compute.h" #include "error.h" #include "force.h" -#include "group.h" #include "input.h" #include "modify.h" #include "update.h" @@ -27,7 +25,6 @@ #include "atom_masks.h" #include -#include using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/KOKKOS/fix_viscous_kokkos.cpp b/src/KOKKOS/fix_viscous_kokkos.cpp index 80ddff2fce..86a5a35910 100644 --- a/src/KOKKOS/fix_viscous_kokkos.cpp +++ b/src/KOKKOS/fix_viscous_kokkos.cpp @@ -16,12 +16,8 @@ #include "atom_kokkos.h" #include "update.h" -#include "modify.h" -#include "input.h" -#include "memory_kokkos.h" #include "error.h" #include "atom_masks.h" -#include "kokkos_base.h" using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/KOKKOS/fix_wall_flow_kokkos.cpp b/src/KOKKOS/fix_wall_flow_kokkos.cpp index b6b3f7c096..e86cad54b4 100644 --- a/src/KOKKOS/fix_wall_flow_kokkos.cpp +++ b/src/KOKKOS/fix_wall_flow_kokkos.cpp @@ -19,10 +19,12 @@ #include "fix_wall_flow_kokkos.h" #include "atom_kokkos.h" #include "atom_masks.h" -#include "force.h" +#include "comm.h" #include "math_const.h" #include "memory_kokkos.h" +#include + using namespace LAMMPS_NS; template diff --git a/src/KOKKOS/fix_wall_flow_kokkos.h b/src/KOKKOS/fix_wall_flow_kokkos.h index 8de0eded0a..3535c74eb7 100644 --- a/src/KOKKOS/fix_wall_flow_kokkos.h +++ b/src/KOKKOS/fix_wall_flow_kokkos.h @@ -27,7 +27,6 @@ FixStyle(wall/flow/kk/host,FixWallFlowKokkos); #include "kokkos_type.h" #include "kokkos_base.h" #include "Kokkos_Random.hpp" -#include "comm_kokkos.h" namespace LAMMPS_NS { diff --git a/src/KOKKOS/fix_wall_gran_kokkos.cpp b/src/KOKKOS/fix_wall_gran_kokkos.cpp index 25e405c798..3ff97084fe 100644 --- a/src/KOKKOS/fix_wall_gran_kokkos.cpp +++ b/src/KOKKOS/fix_wall_gran_kokkos.cpp @@ -15,7 +15,6 @@ #include "atom_kokkos.h" #include "error.h" #include "memory_kokkos.h" -#include "atom_vec_kokkos.h" #include "atom_masks.h" #include "update.h" diff --git a/src/KOKKOS/fix_wall_lj93_kokkos.cpp b/src/KOKKOS/fix_wall_lj93_kokkos.cpp index dff47f1c30..6890a16c18 100644 --- a/src/KOKKOS/fix_wall_lj93_kokkos.cpp +++ b/src/KOKKOS/fix_wall_lj93_kokkos.cpp @@ -13,7 +13,7 @@ ------------------------------------------------------------------------- */ #include "fix_wall_lj93_kokkos.h" -#include + #include "atom_kokkos.h" #include "error.h" #include "atom_masks.h" diff --git a/src/KOKKOS/fix_wall_reflect_kokkos.cpp b/src/KOKKOS/fix_wall_reflect_kokkos.cpp index a8a01c1926..731ce11f10 100644 --- a/src/KOKKOS/fix_wall_reflect_kokkos.cpp +++ b/src/KOKKOS/fix_wall_reflect_kokkos.cpp @@ -21,8 +21,6 @@ #include "update.h" #include "variable.h" -#include - using namespace LAMMPS_NS; enum{XLO=0,XHI=1,YLO=2,YHI=3,ZLO=4,ZHI=5}; diff --git a/src/KOKKOS/min_cg_kokkos.cpp b/src/KOKKOS/min_cg_kokkos.cpp index 2ac869e4ea..17cce19a70 100644 --- a/src/KOKKOS/min_cg_kokkos.cpp +++ b/src/KOKKOS/min_cg_kokkos.cpp @@ -13,15 +13,16 @@ ------------------------------------------------------------------------- */ #include "min_cg_kokkos.h" -#include -#include -#include "update.h" -#include "output.h" -#include "timer.h" + #include "atom_kokkos.h" #include "atom_masks.h" #include "error.h" #include "fix_minimize_kokkos.h" +#include "output.h" +#include "timer.h" +#include "update.h" + +#include using namespace LAMMPS_NS; diff --git a/src/KOKKOS/mliap_data_kokkos.cpp b/src/KOKKOS/mliap_data_kokkos.cpp index dc8fe7dd83..8ff266c820 100644 --- a/src/KOKKOS/mliap_data_kokkos.cpp +++ b/src/KOKKOS/mliap_data_kokkos.cpp @@ -22,8 +22,6 @@ #include "kokkos_type.h" #include "pair_mliap_kokkos.h" #include "atom_masks.h" -#include "mliap_descriptor.h" -#include "lammps.h" #include "kokkos.h" /* ---------------------------------------------------------------------- */ diff --git a/src/KOKKOS/mliap_descriptor_so3_kokkos.cpp b/src/KOKKOS/mliap_descriptor_so3_kokkos.cpp index 7e30ab8cc7..1cf368e952 100644 --- a/src/KOKKOS/mliap_descriptor_so3_kokkos.cpp +++ b/src/KOKKOS/mliap_descriptor_so3_kokkos.cpp @@ -21,13 +21,9 @@ #include "atom_kokkos.h" #include "comm.h" #include "error.h" -#include "memory.h" #include "mliap_data_kokkos.h" #include "mliap_so3_kokkos.h" #include "pair_mliap.h" -#include "tokenizer.h" - -#include using namespace LAMMPS_NS; diff --git a/src/KOKKOS/mliap_model_linear_kokkos.cpp b/src/KOKKOS/mliap_model_linear_kokkos.cpp index b294dad294..f4fef82023 100644 --- a/src/KOKKOS/mliap_model_linear_kokkos.cpp +++ b/src/KOKKOS/mliap_model_linear_kokkos.cpp @@ -19,7 +19,6 @@ #include "mliap_model_linear_kokkos.h" #include "mliap_data_kokkos.h" -#include "error.h" using namespace LAMMPS_NS; diff --git a/src/KOKKOS/mliap_so3_kokkos.cpp b/src/KOKKOS/mliap_so3_kokkos.cpp index 3f6370a6fc..83f8deb3ee 100644 --- a/src/KOKKOS/mliap_so3_kokkos.cpp +++ b/src/KOKKOS/mliap_so3_kokkos.cpp @@ -21,7 +21,6 @@ #include "error.h" #include "math_const.h" #include "math_special_kokkos.h" -#include "memory.h" #include "memory_kokkos.h" #include "mliap_so3_math.h" diff --git a/src/KOKKOS/nbin_ssa_kokkos.cpp b/src/KOKKOS/nbin_ssa_kokkos.cpp index 6e7390d3c6..63c2fe22c1 100644 --- a/src/KOKKOS/nbin_ssa_kokkos.cpp +++ b/src/KOKKOS/nbin_ssa_kokkos.cpp @@ -18,13 +18,12 @@ ------------------------------------------------------------------------- */ #include "nbin_ssa_kokkos.h" -#include "neighbor.h" + #include "atom_kokkos.h" #include "domain.h" #include "update.h" #include "atom_masks.h" - -// #include "memory_kokkos.h" +#include "kokkos_type.h" using namespace LAMMPS_NS; diff --git a/src/KOKKOS/neigh_bond_kokkos.cpp b/src/KOKKOS/neigh_bond_kokkos.cpp index 85ca6c916e..9e1c8c273b 100644 --- a/src/KOKKOS/neigh_bond_kokkos.cpp +++ b/src/KOKKOS/neigh_bond_kokkos.cpp @@ -27,6 +27,7 @@ #include "force.h" #include "memory_kokkos.h" #include "modify.h" +#include "neighbor.h" #include "output.h" #include "thermo.h" #include "update.h" diff --git a/src/KOKKOS/neigh_bond_kokkos.h b/src/KOKKOS/neigh_bond_kokkos.h index 480726c602..f60903f73e 100644 --- a/src/KOKKOS/neigh_bond_kokkos.h +++ b/src/KOKKOS/neigh_bond_kokkos.h @@ -15,9 +15,7 @@ #ifndef LMP_NEIGH_BOND_KOKKOS_H #define LMP_NEIGH_BOND_KOKKOS_H -#include "neighbor.h" #include "kokkos_type.h" -#include "domain_kokkos.h" #include "pointers.h" #include diff --git a/src/KOKKOS/neighbor_kokkos.cpp b/src/KOKKOS/neighbor_kokkos.cpp index efb1247560..67af5b2b28 100644 --- a/src/KOKKOS/neighbor_kokkos.cpp +++ b/src/KOKKOS/neighbor_kokkos.cpp @@ -18,16 +18,13 @@ #include "atom_kokkos.h" #include "atom_masks.h" #include "bond.h" -#include "comm.h" #include "dihedral.h" #include "error.h" -#include "fix.h" #include "force.h" #include "improper.h" #include "kokkos.h" #include "memory_kokkos.h" #include "neigh_request.h" -#include "pair.h" #include "style_nbin.h" #include "style_npair.h" #include "style_nstencil.h" diff --git a/src/KOKKOS/npair_skip_kokkos.cpp b/src/KOKKOS/npair_skip_kokkos.cpp index 15c0487010..91a2cfa17e 100644 --- a/src/KOKKOS/npair_skip_kokkos.cpp +++ b/src/KOKKOS/npair_skip_kokkos.cpp @@ -16,7 +16,6 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include "atom_vec.h" #include "neigh_list_kokkos.h" using namespace LAMMPS_NS; diff --git a/src/KOKKOS/pair_buck_coul_cut_kokkos.cpp b/src/KOKKOS/pair_buck_coul_cut_kokkos.cpp index a859b232be..ebe49b59a0 100644 --- a/src/KOKKOS/pair_buck_coul_cut_kokkos.cpp +++ b/src/KOKKOS/pair_buck_coul_cut_kokkos.cpp @@ -25,14 +25,12 @@ #include "kokkos.h" #include "math_const.h" #include "memory_kokkos.h" -#include "neigh_list.h" #include "neigh_request.h" #include "neighbor.h" #include "respa.h" #include "update.h" #include -#include using namespace LAMMPS_NS; using namespace MathConst; diff --git a/src/KOKKOS/pair_buck_kokkos.cpp b/src/KOKKOS/pair_buck_kokkos.cpp index b549fcd329..88b0445dc8 100644 --- a/src/KOKKOS/pair_buck_kokkos.cpp +++ b/src/KOKKOS/pair_buck_kokkos.cpp @@ -24,14 +24,12 @@ #include "force.h" #include "kokkos.h" #include "memory_kokkos.h" -#include "neigh_list.h" #include "neigh_request.h" #include "neighbor.h" #include "respa.h" #include "update.h" #include -#include using namespace LAMMPS_NS; diff --git a/src/KOKKOS/pair_coul_cut_kokkos.cpp b/src/KOKKOS/pair_coul_cut_kokkos.cpp index 283a4b2b69..1796bd93fd 100644 --- a/src/KOKKOS/pair_coul_cut_kokkos.cpp +++ b/src/KOKKOS/pair_coul_cut_kokkos.cpp @@ -20,7 +20,6 @@ #include "force.h" #include "kokkos.h" #include "memory_kokkos.h" -#include "neigh_list.h" #include "neigh_request.h" #include "neighbor.h" diff --git a/src/KOKKOS/pair_coul_debye_kokkos.cpp b/src/KOKKOS/pair_coul_debye_kokkos.cpp index 4c0e610e89..eb61716640 100644 --- a/src/KOKKOS/pair_coul_debye_kokkos.cpp +++ b/src/KOKKOS/pair_coul_debye_kokkos.cpp @@ -24,14 +24,10 @@ #include "force.h" #include "kokkos.h" #include "memory_kokkos.h" -#include "neigh_list.h" #include "neigh_request.h" #include "neighbor.h" -#include "respa.h" -#include "update.h" #include -#include using namespace LAMMPS_NS; diff --git a/src/KOKKOS/pair_coul_dsf_kokkos.cpp b/src/KOKKOS/pair_coul_dsf_kokkos.cpp index 5184c42096..9e0db27f36 100644 --- a/src/KOKKOS/pair_coul_dsf_kokkos.cpp +++ b/src/KOKKOS/pair_coul_dsf_kokkos.cpp @@ -20,7 +20,6 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include "error.h" #include "ewald_const.h" #include "force.h" #include "kokkos.h" diff --git a/src/KOKKOS/pair_coul_wolf_kokkos.cpp b/src/KOKKOS/pair_coul_wolf_kokkos.cpp index 2ccf7a5a15..af5067db16 100644 --- a/src/KOKKOS/pair_coul_wolf_kokkos.cpp +++ b/src/KOKKOS/pair_coul_wolf_kokkos.cpp @@ -20,7 +20,6 @@ #include "atom_kokkos.h" #include "atom_masks.h" -#include "error.h" #include "force.h" #include "kokkos.h" #include "math_const.h" diff --git a/src/KOKKOS/pair_hybrid_kokkos.cpp b/src/KOKKOS/pair_hybrid_kokkos.cpp index eabce17a1c..84d43bcec8 100644 --- a/src/KOKKOS/pair_hybrid_kokkos.cpp +++ b/src/KOKKOS/pair_hybrid_kokkos.cpp @@ -14,14 +14,10 @@ ------------------------------------------------------------------------- */ #include "pair_hybrid_kokkos.h" -#include + #include "atom_kokkos.h" #include "force.h" -#include "pair.h" -#include "neighbor.h" -#include "neigh_request.h" #include "update.h" -#include "memory_kokkos.h" #include "respa.h" #include "atom_masks.h" #include "kokkos.h" diff --git a/src/KOKKOS/pair_lj_cut_coul_cut_kokkos.cpp b/src/KOKKOS/pair_lj_cut_coul_cut_kokkos.cpp index 7c61c684e4..626f05106c 100644 --- a/src/KOKKOS/pair_lj_cut_coul_cut_kokkos.cpp +++ b/src/KOKKOS/pair_lj_cut_coul_cut_kokkos.cpp @@ -20,14 +20,12 @@ #include "force.h" #include "kokkos.h" #include "memory_kokkos.h" -#include "neigh_list.h" #include "neigh_request.h" #include "neighbor.h" #include "respa.h" #include "update.h" #include -#include using namespace LAMMPS_NS; diff --git a/src/KOKKOS/pair_lj_cut_kokkos.cpp b/src/KOKKOS/pair_lj_cut_kokkos.cpp index 9a1ced9da3..566d74088c 100644 --- a/src/KOKKOS/pair_lj_cut_kokkos.cpp +++ b/src/KOKKOS/pair_lj_cut_kokkos.cpp @@ -20,14 +20,11 @@ #include "force.h" #include "kokkos.h" #include "memory_kokkos.h" -#include "neigh_list.h" #include "neigh_request.h" #include "neighbor.h" #include "respa.h" #include "update.h" -#include - using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ diff --git a/src/KOKKOS/third_order_kokkos.cpp b/src/KOKKOS/third_order_kokkos.cpp index 04c467777f..569a94a773 100644 --- a/src/KOKKOS/third_order_kokkos.cpp +++ b/src/KOKKOS/third_order_kokkos.cpp @@ -23,27 +23,18 @@ #include "atom_masks.h" #include "bond.h" #include "comm.h" -#include "compute.h" #include "dihedral.h" #include "domain.h" -#include "error.h" -#include "finish.h" #include "force.h" -#include "group.h" #include "improper.h" #include "kokkos.h" #include "kspace.h" -#include "memory.h" #include "modify.h" #include "neighbor.h" #include "pair.h" #include "timer.h" #include "update.h" -#include -#include -#include - using namespace LAMMPS_NS; enum{REGULAR,ESKM}; diff --git a/src/KOKKOS/verlet_kokkos.cpp b/src/KOKKOS/verlet_kokkos.cpp index 7570f1d8fa..858df5df6c 100644 --- a/src/KOKKOS/verlet_kokkos.cpp +++ b/src/KOKKOS/verlet_kokkos.cpp @@ -29,7 +29,6 @@ #include "update.h" #include "modify_kokkos.h" #include "timer.h" -#include "memory_kokkos.h" #include "kokkos.h" using namespace LAMMPS_NS; diff --git a/src/KSPACE/pppm.cpp b/src/KSPACE/pppm.cpp index 2616282973..4fe5075f44 100644 --- a/src/KSPACE/pppm.cpp +++ b/src/KSPACE/pppm.cpp @@ -24,14 +24,12 @@ #include "angle.h" #include "atom.h" #include "bond.h" -#include "comm.h" #include "domain.h" #include "error.h" #include "fft3d_wrap.h" #include "force.h" #include "grid3d.h" #include "math_const.h" -#include "math_extra.h" #include "math_special.h" #include "memory.h" #include "neighbor.h" diff --git a/src/KSPACE/pppm_cg.cpp b/src/KSPACE/pppm_cg.cpp index e5ae0b05c8..cebf9e0000 100644 --- a/src/KSPACE/pppm_cg.cpp +++ b/src/KSPACE/pppm_cg.cpp @@ -26,7 +26,6 @@ #include "math_const.h" #include "memory.h" #include "neighbor.h" -#include "remap.h" #include #include diff --git a/src/LEPTON/angle_lepton.cpp b/src/LEPTON/angle_lepton.cpp index 9fe565f8ee..6efded950f 100644 --- a/src/LEPTON/angle_lepton.cpp +++ b/src/LEPTON/angle_lepton.cpp @@ -27,6 +27,8 @@ #include "neighbor.h" #include +#include +#include #include "Lepton.h" #include "lepton_utils.h" diff --git a/src/LEPTON/bond_lepton.cpp b/src/LEPTON/bond_lepton.cpp index 8679d0ed62..63c66011a1 100644 --- a/src/LEPTON/bond_lepton.cpp +++ b/src/LEPTON/bond_lepton.cpp @@ -25,6 +25,8 @@ #include "neighbor.h" #include +#include +#include #include "Lepton.h" #include "lepton_utils.h" diff --git a/src/LEPTON/dihedral_lepton.cpp b/src/LEPTON/dihedral_lepton.cpp index 069ff13d74..16975a8f52 100644 --- a/src/LEPTON/dihedral_lepton.cpp +++ b/src/LEPTON/dihedral_lepton.cpp @@ -29,6 +29,7 @@ #include "neighbor.h" #include +#include #include "Lepton.h" #include "lepton_utils.h" diff --git a/src/LEPTON/fix_wall_lepton.cpp b/src/LEPTON/fix_wall_lepton.cpp index 7530188c00..320efb090e 100644 --- a/src/LEPTON/fix_wall_lepton.cpp +++ b/src/LEPTON/fix_wall_lepton.cpp @@ -19,6 +19,8 @@ #include "Lepton.h" #include "lepton_utils.h" +#include + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ diff --git a/src/LEPTON/lepton_utils.cpp b/src/LEPTON/lepton_utils.cpp index 89e69beddd..c4e527d7d7 100644 --- a/src/LEPTON/lepton_utils.cpp +++ b/src/LEPTON/lepton_utils.cpp @@ -17,7 +17,6 @@ #include "lepton_utils.h" -#include "error.h" #include "input.h" #include "lammps.h" #include "pair_zbl_const.h" diff --git a/src/LEPTON/pair_lepton.cpp b/src/LEPTON/pair_lepton.cpp index adc07cbfa8..90003e9091 100644 --- a/src/LEPTON/pair_lepton.cpp +++ b/src/LEPTON/pair_lepton.cpp @@ -23,12 +23,12 @@ #include "force.h" #include "memory.h" #include "neigh_list.h" -#include "update.h" #include "Lepton.h" #include "lepton_utils.h" -#include + #include +#include #include using namespace LAMMPS_NS; diff --git a/src/LEPTON/pair_lepton_coul.cpp b/src/LEPTON/pair_lepton_coul.cpp index f7d2042874..bb6b8ed55f 100644 --- a/src/LEPTON/pair_lepton_coul.cpp +++ b/src/LEPTON/pair_lepton_coul.cpp @@ -21,16 +21,16 @@ #include "comm.h" #include "error.h" #include "force.h" -#include "memory.h" #include "neigh_list.h" #include "neighbor.h" -#include "update.h" #include "Lepton.h" #include "lepton_utils.h" #include #include +#include +#include using namespace LAMMPS_NS; diff --git a/src/LEPTON/pair_lepton_sphere.cpp b/src/LEPTON/pair_lepton_sphere.cpp index 72d0e85d0b..63b082774f 100644 --- a/src/LEPTON/pair_lepton_sphere.cpp +++ b/src/LEPTON/pair_lepton_sphere.cpp @@ -21,15 +21,15 @@ #include "comm.h" #include "error.h" #include "force.h" -#include "memory.h" #include "neigh_list.h" #include "neighbor.h" -#include "update.h" #include "Lepton.h" #include "lepton_utils.h" + #include #include +#include using namespace LAMMPS_NS; diff --git a/src/MACHDYN/fix_smd_wall_surface.cpp b/src/MACHDYN/fix_smd_wall_surface.cpp index f8a8ef970c..25e76e1dab 100644 --- a/src/MACHDYN/fix_smd_wall_surface.cpp +++ b/src/MACHDYN/fix_smd_wall_surface.cpp @@ -26,6 +26,7 @@ #include "text_file_reader.h" #include +#include #include using namespace LAMMPS_NS; diff --git a/src/MANYBODY/pair_meam_spline.cpp b/src/MANYBODY/pair_meam_spline.cpp index e888e2274c..e3d17f6fae 100644 --- a/src/MANYBODY/pair_meam_spline.cpp +++ b/src/MANYBODY/pair_meam_spline.cpp @@ -46,6 +46,7 @@ #include #include +#include using namespace LAMMPS_NS; diff --git a/src/MANYBODY/pair_meam_sw_spline.cpp b/src/MANYBODY/pair_meam_sw_spline.cpp index 5b5713dc4c..a19e1cc0fa 100644 --- a/src/MANYBODY/pair_meam_sw_spline.cpp +++ b/src/MANYBODY/pair_meam_sw_spline.cpp @@ -33,6 +33,7 @@ #include #include +#include using namespace LAMMPS_NS; diff --git a/src/MANYBODY/pair_sw_angle_table.cpp b/src/MANYBODY/pair_sw_angle_table.cpp index 8e605caebd..12592f4af6 100644 --- a/src/MANYBODY/pair_sw_angle_table.cpp +++ b/src/MANYBODY/pair_sw_angle_table.cpp @@ -26,7 +26,6 @@ #include "math_const.h" #include "memory.h" #include "neigh_list.h" -#include "neighbor.h" #include "table_file_reader.h" #include "potential_file_reader.h" diff --git a/src/MC/fix_charge_regulation.cpp b/src/MC/fix_charge_regulation.cpp index 1690e647dc..4358513095 100644 --- a/src/MC/fix_charge_regulation.cpp +++ b/src/MC/fix_charge_regulation.cpp @@ -46,6 +46,7 @@ #include #include +#include #include using namespace LAMMPS_NS; diff --git a/src/MC/fix_gcmc.cpp b/src/MC/fix_gcmc.cpp index 2d35528219..bd7e46b3d1 100644 --- a/src/MC/fix_gcmc.cpp +++ b/src/MC/fix_gcmc.cpp @@ -45,6 +45,7 @@ #include #include +#include using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/MC/fix_widom.cpp b/src/MC/fix_widom.cpp index d0840c80b7..9871dc8f60 100644 --- a/src/MC/fix_widom.cpp +++ b/src/MC/fix_widom.cpp @@ -45,6 +45,7 @@ #include #include +#include using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/MDI/fix_mdi_engine.cpp b/src/MDI/fix_mdi_engine.cpp index 0494d08b2d..fe896d906f 100644 --- a/src/MDI/fix_mdi_engine.cpp +++ b/src/MDI/fix_mdi_engine.cpp @@ -19,7 +19,6 @@ #include "fix_mdi_engine.h" #include "error.h" -#include "update.h" #include "mdi_engine.h" diff --git a/src/MDI/fix_mdi_qm.cpp b/src/MDI/fix_mdi_qm.cpp index 86dc87fd35..46071c5c90 100644 --- a/src/MDI/fix_mdi_qm.cpp +++ b/src/MDI/fix_mdi_qm.cpp @@ -22,6 +22,8 @@ #include "modify.h" #include "update.h" +#include + using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/MDI/fix_mdi_qmmm.cpp b/src/MDI/fix_mdi_qmmm.cpp index c6df52333d..d45290811f 100644 --- a/src/MDI/fix_mdi_qmmm.cpp +++ b/src/MDI/fix_mdi_qmmm.cpp @@ -12,6 +12,7 @@ ------------------------------------------------------------------------- */ #include "fix_mdi_qmmm.h" + #include "atom.h" #include "comm.h" #include "domain.h" @@ -25,6 +26,9 @@ #include "pair.h" #include "update.h" +#include +#include + using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/MDI/mdi_engine.cpp b/src/MDI/mdi_engine.cpp index 9c58de7560..6d7c604fa6 100644 --- a/src/MDI/mdi_engine.cpp +++ b/src/MDI/mdi_engine.cpp @@ -25,12 +25,10 @@ #include "error.h" #include "fix_mdi_engine.h" #include "force.h" -#include "group.h" #include "input.h" #include "integrate.h" #include "irregular.h" #include "library.h" -#include "library_mdi.h" #include "memory.h" #include "min.h" #include "modify.h" diff --git a/src/MDI/mdi_plugin.cpp b/src/MDI/mdi_plugin.cpp index 92b78b6afb..6294292229 100644 --- a/src/MDI/mdi_plugin.cpp +++ b/src/MDI/mdi_plugin.cpp @@ -21,9 +21,7 @@ #include "error.h" #include "input.h" #include "memory.h" -#include "modify.h" -#include #include #include diff --git a/src/MEAM/pair_meam_ms.cpp b/src/MEAM/pair_meam_ms.cpp index 982a54f546..e5cb960b59 100644 --- a/src/MEAM/pair_meam_ms.cpp +++ b/src/MEAM/pair_meam_ms.cpp @@ -12,6 +12,7 @@ ------------------------------------------------------------------------- */ #include "pair_meam_ms.h" + #include "meam.h" using namespace LAMMPS_NS; diff --git a/src/MESONT/angle_mesocnt.cpp b/src/MESONT/angle_mesocnt.cpp index 06ec135e3c..c6dae4b0fb 100644 --- a/src/MESONT/angle_mesocnt.cpp +++ b/src/MESONT/angle_mesocnt.cpp @@ -30,6 +30,7 @@ #include "update.h" #include +#include using namespace LAMMPS_NS; using MathConst::DEG2RAD; diff --git a/src/MESONT/bond_mesocnt.cpp b/src/MESONT/bond_mesocnt.cpp index 1623c4b1fc..5f468bd720 100644 --- a/src/MESONT/bond_mesocnt.cpp +++ b/src/MESONT/bond_mesocnt.cpp @@ -24,7 +24,6 @@ #include "force.h" #include "math_const.h" #include "memory.h" -#include "neighbor.h" #include "update.h" #include diff --git a/src/MESONT/pair_mesocnt.cpp b/src/MESONT/pair_mesocnt.cpp index 133170f883..21b04268c4 100644 --- a/src/MESONT/pair_mesocnt.cpp +++ b/src/MESONT/pair_mesocnt.cpp @@ -34,9 +34,9 @@ #include #include #include -#include +#include +#include #include -#include using namespace LAMMPS_NS; using namespace MathExtra; diff --git a/src/ML-IAP/compute_mliap.cpp b/src/ML-IAP/compute_mliap.cpp index 38e0912344..0ee35ea080 100644 --- a/src/ML-IAP/compute_mliap.cpp +++ b/src/ML-IAP/compute_mliap.cpp @@ -34,6 +34,7 @@ #include "memory.h" #include "modify.h" #include "neighbor.h" +#include "neigh_list.h" #include "pair.h" #include "update.h" diff --git a/src/ML-PACE/compute_pace.cpp b/src/ML-PACE/compute_pace.cpp index c2a0f9a9e6..fee9a0fa0e 100644 --- a/src/ML-PACE/compute_pace.cpp +++ b/src/ML-PACE/compute_pace.cpp @@ -12,7 +12,6 @@ #include "compute_pace.h" -#include "ace-evaluator/ace_abstract_basis.h" #include "ace-evaluator/ace_c_basis.h" #include "ace-evaluator/ace_evaluator.h" #include "ace-evaluator/ace_types.h" @@ -24,14 +23,10 @@ #include "memory.h" #include "modify.h" #include "neigh_list.h" -#include "neigh_request.h" #include "neighbor.h" #include "pair.h" #include "update.h" -#include -#include - namespace LAMMPS_NS { struct ACECimpl { ACECimpl() : basis_set(nullptr), ace(nullptr) {} diff --git a/src/ML-PACE/pair_pace_extrapolation.cpp b/src/ML-PACE/pair_pace_extrapolation.cpp index d9b8d3588a..ec42d232af 100644 --- a/src/ML-PACE/pair_pace_extrapolation.cpp +++ b/src/ML-PACE/pair_pace_extrapolation.cpp @@ -29,15 +29,12 @@ Copyright 2022 Yury Lysogorskiy^1, Anton Bochkarev^1, Matous Mrovec^1, Ralf Drau #include "force.h" #include "math_const.h" #include "memory.h" -#include "modify.h" #include "neigh_list.h" -#include "neigh_request.h" #include "neighbor.h" #include "update.h" -#include -#include #include +#include #include "ace/ace_b_basis.h" #include "ace/ace_b_evaluator.h" diff --git a/src/ML-PACE/pair_pace_extrapolation.h b/src/ML-PACE/pair_pace_extrapolation.h index 2dcec04d4b..440d999029 100644 --- a/src/ML-PACE/pair_pace_extrapolation.h +++ b/src/ML-PACE/pair_pace_extrapolation.h @@ -28,7 +28,6 @@ PairStyle(pace/extrapolation,PairPACEExtrapolation) #define LMP_PAIR_PACE_AL_H #include "pair.h" -#include namespace LAMMPS_NS { diff --git a/src/ML-SNAP/compute_sna_atom.cpp b/src/ML-SNAP/compute_sna_atom.cpp index b1b4a46482..c3582f200c 100644 --- a/src/ML-SNAP/compute_sna_atom.cpp +++ b/src/ML-SNAP/compute_sna_atom.cpp @@ -26,6 +26,7 @@ #include "memory.h" #include "error.h" +#include #include using namespace LAMMPS_NS; diff --git a/src/MOLECULE/bond_gromos.cpp b/src/MOLECULE/bond_gromos.cpp index badb808007..1917f18686 100644 --- a/src/MOLECULE/bond_gromos.cpp +++ b/src/MOLECULE/bond_gromos.cpp @@ -24,6 +24,7 @@ #include "memory.h" #include "neighbor.h" +#include #include using namespace LAMMPS_NS; diff --git a/src/MOLECULE/pair_tip4p_cut.cpp b/src/MOLECULE/pair_tip4p_cut.cpp index 6d27c1a164..73a5651e6b 100644 --- a/src/MOLECULE/pair_tip4p_cut.cpp +++ b/src/MOLECULE/pair_tip4p_cut.cpp @@ -30,6 +30,7 @@ #include "neighbor.h" #include +#include using namespace LAMMPS_NS; diff --git a/src/MOLFILE/molfile_interface.cpp b/src/MOLFILE/molfile_interface.cpp index 8f5ac8545e..84aa63cefc 100644 --- a/src/MOLFILE/molfile_interface.cpp +++ b/src/MOLFILE/molfile_interface.cpp @@ -26,7 +26,6 @@ #include #include -#include #if vmdplugin_ABIVERSION < 16 #error "unsupported VMD molfile plugin ABI version" diff --git a/src/OPENMP/angle_lepton_omp.cpp b/src/OPENMP/angle_lepton_omp.cpp index f57cf916a2..918fb57871 100644 --- a/src/OPENMP/angle_lepton_omp.cpp +++ b/src/OPENMP/angle_lepton_omp.cpp @@ -16,13 +16,16 @@ ------------------------------------------------------------------------- */ #include "angle_lepton_omp.h" + #include "atom.h" #include "comm.h" +#include "error.h" #include "force.h" #include "neighbor.h" #include "suffix.h" #include +#include #include "Lepton.h" #include "lepton_utils.h" diff --git a/src/OPENMP/bond_lepton_omp.cpp b/src/OPENMP/bond_lepton_omp.cpp index d9982b08f8..995e2fac09 100644 --- a/src/OPENMP/bond_lepton_omp.cpp +++ b/src/OPENMP/bond_lepton_omp.cpp @@ -18,11 +18,13 @@ #include "bond_lepton_omp.h" #include "atom.h" #include "comm.h" +#include "error.h" #include "force.h" #include "neighbor.h" #include "suffix.h" #include +#include #include "Lepton.h" #include "lepton_utils.h" diff --git a/src/OPENMP/dihedral_lepton_omp.cpp b/src/OPENMP/dihedral_lepton_omp.cpp index 37748ce9d5..206749fcfa 100644 --- a/src/OPENMP/dihedral_lepton_omp.cpp +++ b/src/OPENMP/dihedral_lepton_omp.cpp @@ -18,12 +18,14 @@ #include "dihedral_lepton_omp.h" #include "atom.h" #include "comm.h" +#include "error.h" #include "force.h" #include "math_extra.h" #include "neighbor.h" #include "suffix.h" #include +#include #include "Lepton.h" #include "lepton_utils.h" diff --git a/src/OPENMP/fix_nh_omp.cpp b/src/OPENMP/fix_nh_omp.cpp index d3565c4994..7ef69af0fe 100644 --- a/src/OPENMP/fix_nh_omp.cpp +++ b/src/OPENMP/fix_nh_omp.cpp @@ -22,7 +22,6 @@ #include "compute.h" #include "domain.h" #include "error.h" -#include "modify.h" #include diff --git a/src/OPENMP/fix_rigid_nh_omp.cpp b/src/OPENMP/fix_rigid_nh_omp.cpp index 19e5d4f240..f5e4a1f49d 100644 --- a/src/OPENMP/fix_rigid_nh_omp.cpp +++ b/src/OPENMP/fix_rigid_nh_omp.cpp @@ -30,7 +30,6 @@ #include "kspace.h" #include "math_const.h" #include "math_extra.h" -#include "modify.h" #include "rigid_const.h" #include "update.h" diff --git a/src/OPENMP/npair_bin_omp.cpp b/src/OPENMP/npair_bin_omp.cpp index 5b2189dec2..7922d76612 100644 --- a/src/OPENMP/npair_bin_omp.cpp +++ b/src/OPENMP/npair_bin_omp.cpp @@ -25,6 +25,8 @@ #include "my_page.h" #include "neigh_list.h" +#include + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ diff --git a/src/OPENMP/npair_multi_old_omp.cpp b/src/OPENMP/npair_multi_old_omp.cpp index d45f2d1f5f..fa790e177a 100644 --- a/src/OPENMP/npair_multi_old_omp.cpp +++ b/src/OPENMP/npair_multi_old_omp.cpp @@ -24,6 +24,8 @@ #include "my_page.h" #include "neigh_list.h" +#include + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ diff --git a/src/OPENMP/npair_multi_omp.cpp b/src/OPENMP/npair_multi_omp.cpp index 3f8604572c..cbc21ebc29 100644 --- a/src/OPENMP/npair_multi_omp.cpp +++ b/src/OPENMP/npair_multi_omp.cpp @@ -26,6 +26,8 @@ #include "neigh_list.h" #include "neighbor.h" +#include + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ diff --git a/src/OPENMP/npair_nsq_omp.cpp b/src/OPENMP/npair_nsq_omp.cpp index c482fc8f2d..5d6aa518b0 100644 --- a/src/OPENMP/npair_nsq_omp.cpp +++ b/src/OPENMP/npair_nsq_omp.cpp @@ -27,6 +27,8 @@ #include "neigh_list.h" #include "neighbor.h" +#include + using namespace LAMMPS_NS; using namespace NeighConst; diff --git a/src/OPENMP/npair_respa_bin_omp.cpp b/src/OPENMP/npair_respa_bin_omp.cpp index c958167ba0..a069affb06 100644 --- a/src/OPENMP/npair_respa_bin_omp.cpp +++ b/src/OPENMP/npair_respa_bin_omp.cpp @@ -25,6 +25,8 @@ #include "my_page.h" #include "neigh_list.h" +#include + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ diff --git a/src/OPENMP/npair_respa_nsq_omp.cpp b/src/OPENMP/npair_respa_nsq_omp.cpp index 6815b21544..deba473678 100644 --- a/src/OPENMP/npair_respa_nsq_omp.cpp +++ b/src/OPENMP/npair_respa_nsq_omp.cpp @@ -26,6 +26,8 @@ #include "my_page.h" #include "neigh_list.h" +#include + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ diff --git a/src/OPENMP/pair_lepton_coul_omp.cpp b/src/OPENMP/pair_lepton_coul_omp.cpp index 532c16d797..ae737ef1cb 100644 --- a/src/OPENMP/pair_lepton_coul_omp.cpp +++ b/src/OPENMP/pair_lepton_coul_omp.cpp @@ -16,6 +16,7 @@ #include "atom.h" #include "comm.h" +#include "error.h" #include "force.h" #include "neigh_list.h" #include "suffix.h" @@ -26,6 +27,7 @@ #include #include +#include using namespace LAMMPS_NS; diff --git a/src/OPENMP/pair_lepton_omp.cpp b/src/OPENMP/pair_lepton_omp.cpp index 58692e52d6..3b07a7b757 100644 --- a/src/OPENMP/pair_lepton_omp.cpp +++ b/src/OPENMP/pair_lepton_omp.cpp @@ -16,6 +16,7 @@ #include "atom.h" #include "comm.h" +#include "error.h" #include "force.h" #include "neigh_list.h" #include "suffix.h" @@ -23,8 +24,9 @@ #include "Lepton.h" #include "lepton_utils.h" #include "omp_compat.h" -#include + #include +#include using namespace LAMMPS_NS; diff --git a/src/OPENMP/pair_lepton_sphere_omp.cpp b/src/OPENMP/pair_lepton_sphere_omp.cpp index 79afe27717..6de9714f3e 100644 --- a/src/OPENMP/pair_lepton_sphere_omp.cpp +++ b/src/OPENMP/pair_lepton_sphere_omp.cpp @@ -16,6 +16,7 @@ #include "atom.h" #include "comm.h" +#include "error.h" #include "force.h" #include "neigh_list.h" #include "suffix.h" @@ -26,6 +27,7 @@ #include #include +#include using namespace LAMMPS_NS; diff --git a/src/OPENMP/pair_lj_expand_sphere_omp.cpp b/src/OPENMP/pair_lj_expand_sphere_omp.cpp index c19d3e7a7f..40f878cdc2 100644 --- a/src/OPENMP/pair_lj_expand_sphere_omp.cpp +++ b/src/OPENMP/pair_lj_expand_sphere_omp.cpp @@ -21,6 +21,8 @@ #include "neigh_list.h" #include "suffix.h" +#include + #include "omp_compat.h" using namespace LAMMPS_NS; using MathSpecial::powint; diff --git a/src/OPENMP/pair_rebomos_omp.cpp b/src/OPENMP/pair_rebomos_omp.cpp index 5143fd0f63..06b979d41a 100644 --- a/src/OPENMP/pair_rebomos_omp.cpp +++ b/src/OPENMP/pair_rebomos_omp.cpp @@ -47,7 +47,6 @@ #endif using namespace LAMMPS_NS; -using namespace MathConst; using MathSpecial::cube; using MathSpecial::powint; using MathSpecial::square; diff --git a/src/POEMS/fix_poems.cpp b/src/POEMS/fix_poems.cpp index a2720a3f64..eb9c790422 100644 --- a/src/POEMS/fix_poems.cpp +++ b/src/POEMS/fix_poems.cpp @@ -36,7 +36,7 @@ #include #include -#include +#include using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/PTM/compute_ptm_atom.cpp b/src/PTM/compute_ptm_atom.cpp index e66bc1a17d..4d6cd4bc01 100644 --- a/src/PTM/compute_ptm_atom.cpp +++ b/src/PTM/compute_ptm_atom.cpp @@ -28,7 +28,6 @@ under #include "memory.h" #include "modify.h" #include "neigh_list.h" -#include "neigh_request.h" #include "neighbor.h" #include "update.h" diff --git a/src/PTM/ptm_convex_hull_incremental.h b/src/PTM/ptm_convex_hull_incremental.h index 796c787937..81fc92d829 100644 --- a/src/PTM/ptm_convex_hull_incremental.h +++ b/src/PTM/ptm_convex_hull_incremental.h @@ -11,7 +11,6 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI #define PTM_CONVEX_HULL_INCREMENTAL_H #include "ptm_constants.h" -#include #include namespace ptm { diff --git a/src/PYTHON/python_impl.cpp b/src/PYTHON/python_impl.cpp index 0db468d701..87a57187bf 100644 --- a/src/PYTHON/python_impl.cpp +++ b/src/PYTHON/python_impl.cpp @@ -17,7 +17,6 @@ #include "python_impl.h" -#include "comm.h" #include "error.h" #include "input.h" #include "memory.h" diff --git a/src/QEQ/fix_qeq.cpp b/src/QEQ/fix_qeq.cpp index 22632cf786..411bdfb60b 100644 --- a/src/QEQ/fix_qeq.cpp +++ b/src/QEQ/fix_qeq.cpp @@ -27,9 +27,7 @@ #include "memory.h" #include "modify.h" #include "neigh_list.h" -#include "pair.h" #include "respa.h" -#include "suffix.h" #include "text_file_reader.h" #include "update.h" diff --git a/src/REAXFF/compute_reaxff_atom.cpp b/src/REAXFF/compute_reaxff_atom.cpp index 212d117ac7..0371f75120 100644 --- a/src/REAXFF/compute_reaxff_atom.cpp +++ b/src/REAXFF/compute_reaxff_atom.cpp @@ -17,8 +17,8 @@ ------------------------------------------------------------------------- */ #include "compute_reaxff_atom.h" + #include "atom.h" -#include "molecule.h" #include "update.h" #include "force.h" #include "memory.h" diff --git a/src/REAXFF/fix_acks2_reaxff.cpp b/src/REAXFF/fix_acks2_reaxff.cpp index 68de1c8ed1..4fd86605fa 100644 --- a/src/REAXFF/fix_acks2_reaxff.cpp +++ b/src/REAXFF/fix_acks2_reaxff.cpp @@ -33,6 +33,7 @@ #include #include +#include using namespace LAMMPS_NS; using namespace FixConst; diff --git a/src/REAXFF/reaxff_ffield.cpp b/src/REAXFF/reaxff_ffield.cpp index 6ca8dc6256..b941d7d0f0 100644 --- a/src/REAXFF/reaxff_ffield.cpp +++ b/src/REAXFF/reaxff_ffield.cpp @@ -30,7 +30,6 @@ #include "error.h" #include "memory.h" #include "text_file_reader.h" -#include "tokenizer.h" #include "utils.h" #include diff --git a/src/REPLICA/fix_alchemy.cpp b/src/REPLICA/fix_alchemy.cpp index 2fe4417161..b14c6bc22d 100644 --- a/src/REPLICA/fix_alchemy.cpp +++ b/src/REPLICA/fix_alchemy.cpp @@ -21,7 +21,6 @@ #include "input.h" #include "memory.h" #include "modify.h" -#include "respa.h" #include "universe.h" #include "update.h" #include "variable.h" diff --git a/src/REPLICA/fix_pimd_langevin.cpp b/src/REPLICA/fix_pimd_langevin.cpp index 01cfa66ebd..c6886fbed7 100644 --- a/src/REPLICA/fix_pimd_langevin.cpp +++ b/src/REPLICA/fix_pimd_langevin.cpp @@ -41,7 +41,6 @@ #include "random_mars.h" #include "universe.h" #include "update.h" -#include "utils.h" #include #include diff --git a/src/REPLICA/temper.cpp b/src/REPLICA/temper.cpp index adbdb4d742..77bc45e6e3 100644 --- a/src/REPLICA/temper.cpp +++ b/src/REPLICA/temper.cpp @@ -33,7 +33,6 @@ #include "update.h" #include -#include using namespace LAMMPS_NS; diff --git a/src/REPLICA/temper_npt.cpp b/src/REPLICA/temper_npt.cpp index d814bf6725..aa72047fe7 100644 --- a/src/REPLICA/temper_npt.cpp +++ b/src/REPLICA/temper_npt.cpp @@ -35,7 +35,6 @@ #include "update.h" #include -#include using namespace LAMMPS_NS; diff --git a/src/SMTBQ/pair_smatb.cpp b/src/SMTBQ/pair_smatb.cpp index 85446b7a62..ab6aee557e 100644 --- a/src/SMTBQ/pair_smatb.cpp +++ b/src/SMTBQ/pair_smatb.cpp @@ -26,6 +26,7 @@ #include "neighbor.h" #include +#include using namespace LAMMPS_NS; diff --git a/src/SMTBQ/pair_smatb_single.cpp b/src/SMTBQ/pair_smatb_single.cpp index 756941b2b7..4506a1093c 100644 --- a/src/SMTBQ/pair_smatb_single.cpp +++ b/src/SMTBQ/pair_smatb_single.cpp @@ -26,6 +26,7 @@ #include "neighbor.h" #include +#include using namespace LAMMPS_NS; diff --git a/src/SMTBQ/pair_smtbq.cpp b/src/SMTBQ/pair_smtbq.cpp index 4e4a6109fa..3696a3ab6c 100644 --- a/src/SMTBQ/pair_smtbq.cpp +++ b/src/SMTBQ/pair_smtbq.cpp @@ -60,6 +60,7 @@ #include #include +#include #include #include diff --git a/src/SPIN/neb_spin.cpp b/src/SPIN/neb_spin.cpp index ac54f069a9..fb8b7d8353 100644 --- a/src/SPIN/neb_spin.cpp +++ b/src/SPIN/neb_spin.cpp @@ -44,6 +44,7 @@ #include #include +#include using namespace LAMMPS_NS; diff --git a/src/npair_halffull.cpp b/src/npair_halffull.cpp index b3d8d4f50e..aa560b5731 100644 --- a/src/npair_halffull.cpp +++ b/src/npair_halffull.cpp @@ -19,6 +19,8 @@ #include "my_page.h" #include "neigh_list.h" +#include + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ diff --git a/src/npair_multi.cpp b/src/npair_multi.cpp index b5f813c0a8..44c68a9195 100644 --- a/src/npair_multi.cpp +++ b/src/npair_multi.cpp @@ -24,6 +24,8 @@ #include "neighbor.h" #include "neigh_list.h" +#include + using namespace LAMMPS_NS; using namespace NeighConst; diff --git a/src/npair_multi_old.cpp b/src/npair_multi_old.cpp index a4ca1e7361..3d983bd7fd 100644 --- a/src/npair_multi_old.cpp +++ b/src/npair_multi_old.cpp @@ -23,6 +23,8 @@ #include "my_page.h" #include "neigh_list.h" +#include + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ diff --git a/src/npair_nsq.cpp b/src/npair_nsq.cpp index c2f43d9cb0..9f469de480 100644 --- a/src/npair_nsq.cpp +++ b/src/npair_nsq.cpp @@ -24,6 +24,8 @@ #include "neigh_list.h" #include "neighbor.h" +#include + using namespace LAMMPS_NS; using namespace NeighConst; diff --git a/src/npair_respa_bin.cpp b/src/npair_respa_bin.cpp index f2fb9f7486..5347f4d3a0 100644 --- a/src/npair_respa_bin.cpp +++ b/src/npair_respa_bin.cpp @@ -23,6 +23,8 @@ #include "my_page.h" #include "neigh_list.h" +#include + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ diff --git a/src/npair_respa_nsq.cpp b/src/npair_respa_nsq.cpp index 9ca166a491..065c9eb6d6 100644 --- a/src/npair_respa_nsq.cpp +++ b/src/npair_respa_nsq.cpp @@ -24,6 +24,8 @@ #include "my_page.h" #include "neigh_list.h" +#include + using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ diff --git a/src/replicate.cpp b/src/replicate.cpp index b27304a2a0..710361e55c 100644 --- a/src/replicate.cpp +++ b/src/replicate.cpp @@ -21,6 +21,7 @@ #include "domain.h" #include "error.h" #include "memory.h" +#include "molecule.h" #include "special.h" #include "label_map.h" diff --git a/src/rerun.cpp b/src/rerun.cpp index 74a8956994..96491bab36 100644 --- a/src/rerun.cpp +++ b/src/rerun.cpp @@ -26,6 +26,7 @@ #include "update.h" #include "variable.h" +#include #include using namespace LAMMPS_NS; diff --git a/src/reset_atoms_image.cpp b/src/reset_atoms_image.cpp index 84df5bf746..63030c632b 100644 --- a/src/reset_atoms_image.cpp +++ b/src/reset_atoms_image.cpp @@ -22,7 +22,6 @@ #include "group.h" #include "input.h" #include "modify.h" -#include "update.h" #include "variable.h" #include diff --git a/src/utils.cpp b/src/utils.cpp index bde6dffca5..8aa33e14e6 100644 --- a/src/utils.cpp +++ b/src/utils.cpp @@ -33,6 +33,7 @@ #include #include #include +#include /*! \file utils.cpp */ From 81a684f57292143f294164a9cf273e3ab27eca58 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 28 Feb 2024 15:59:31 -0500 Subject: [PATCH 266/559] assign ownership for compute reaxff/atom and reaxff/atom/kk --- .github/CODEOWNERS | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 284d56f1ca..47233250a3 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -69,6 +69,8 @@ src/EXTRA-FIX/fix_deform_pressure.* @jtclemm src/MISC/*_tracker.* @jtclemm src/MC/fix_gcmc.* @athomps src/MC/fix_sgcmc.* @athomps +src/REAXFF/compute_reaxff_atom.* @rbberger +src/KOKKOS/compute_reaxff_atom_kokkos.* @rbberger src/REPLICA/fix_pimd_langevin.* @Yi-FanLi # core LAMMPS classes From 37c0795691f29503f5e4661c8842a5ddd3fc9cbe Mon Sep 17 00:00:00 2001 From: "Aidan P. Thompson" Date: Wed, 28 Feb 2024 14:51:17 -0700 Subject: [PATCH 267/559] Fixed additional errors with multicomponent systems, making msmeamflag independent of ialloy --- src/MEAM/meam_force.cpp | 144 ++++++++++++++++++++++------------------ 1 file changed, 78 insertions(+), 66 deletions(-) diff --git a/src/MEAM/meam_force.cpp b/src/MEAM/meam_force.cpp index 4ee3cd4f83..1a2d947e6c 100644 --- a/src/MEAM/meam_force.cpp +++ b/src/MEAM/meam_force.cpp @@ -526,81 +526,93 @@ void MEAM::meam_force(int i, int eflag_global, int eflag_atom, int vflag_global, drho3ds1 = a3 * rhoa3j * arg1i3 - a3a * rhoa3j * arg3i3; drho3ds2 = a3 * rhoa3i * arg1j3 - a3a * rhoa3i * arg3j3; - if (msmeamflag) { - drho1mds1 = a1 * rhoa1mj * arg1i1m; - drho1mds2 = a1 * rhoa1mi * arg1j1m; - drho2mds1 = a2 * rhoa2mj * arg1i2m - 2.0 / 3.0 * arho2mb[i] * rhoa2mj; - drho2mds2 = a2 * rhoa2mi * arg1j2m - 2.0 / 3.0 * arho2mb[j] * rhoa2mi; - drho3mds1 = a3 * rhoa3mj * arg1i3m - a3a * rhoa3mj * arg3i3m; - drho3mds2 = a3 * rhoa3mi * arg1j3m - a3a * rhoa3mi * arg3j3m; - drho1mds1 *= -1; - drho1mds2 *= -1; - drho3mds1 *= -1; - drho3mds2 *= -1; - } else { - drho1mds1 = 0.0; - drho1mds2 = 0.0; - drho2mds1 = 0.0; - drho2mds2 = 0.0; - drho3mds1 = 0.0; - drho3mds2 = 0.0; - } + if (msmeamflag) { - if (ialloy == 1) { + drho1mds1 = a1 * rhoa1mj * arg1i1m; + drho1mds2 = a1 * rhoa1mi * arg1j1m; + drho2mds1 = a2 * rhoa2mj * arg1i2m - 2.0 / 3.0 * arho2mb[i] * rhoa2mj; + drho2mds2 = a2 * rhoa2mi * arg1j2m - 2.0 / 3.0 * arho2mb[j] * rhoa2mi; + drho3mds1 = a3 * rhoa3mj * arg1i3m - a3a * rhoa3mj * arg3i3m; + drho3mds2 = a3 * rhoa3mi * arg1j3m - a3a * rhoa3mi * arg3j3m; + drho1mds1 *= -1; + drho1mds2 *= -1; + drho3mds1 *= -1; + drho3mds2 *= -1; - a1i = fdiv_zero(rhoa0j, tsq_ave[i][0]); - a1j = fdiv_zero(rhoa0i, tsq_ave[j][0]); - a2i = fdiv_zero(rhoa0j, tsq_ave[i][1]); - a2j = fdiv_zero(rhoa0i, tsq_ave[j][1]); - a3i = fdiv_zero(rhoa0j, tsq_ave[i][2]); - a3j = fdiv_zero(rhoa0i, tsq_ave[j][2]); + t1i = 1.0; + t2i = 1.0; + t3i = 1.0; + t1j = 1.0; + t2j = 1.0; + t3j = 1.0; + dt1dr1 = 0.0; + dt1dr2 = 0.0; + dt2dr1 = 0.0; + dt2dr2 = 0.0; + dt3dr1 = 0.0; + dt3dr2 = 0.0; - dt1ds1 = a1i * (t1mj - t1i * MathSpecial::square(t1mj)); - dt1ds2 = a1j * (t1mi - t1j * MathSpecial::square(t1mi)); - dt2ds1 = a2i * (t2mj - t2i * MathSpecial::square(t2mj)); - dt2ds2 = a2j * (t2mi - t2j * MathSpecial::square(t2mi)); - dt3ds1 = a3i * (t3mj - t3i * MathSpecial::square(t3mj)); - dt3ds2 = a3j * (t3mi - t3j * MathSpecial::square(t3mi)); + // these formulae are simplifed by substituting t=1, dt=0 from above - } else if (ialloy == 2) { + drhods1 = dgamma1[i] * drho0ds1 + + dgamma2[i] * ((drho1ds1 - drho1mds1) + + (drho2ds1 - drho2mds1) + + (drho3ds1 - drho3mds1)); + drhods2 = dgamma1[j] * drho0ds2 + + dgamma2[j] * ((drho1ds2 - drho1mds2) + + (drho2ds2 - drho2mds2) + + (drho3ds2 - drho3mds2)); + } else { - dt1ds1 = 0.0; - dt1ds2 = 0.0; - dt2ds1 = 0.0; - dt2ds2 = 0.0; - dt3ds1 = 0.0; - dt3ds2 = 0.0; + drho1mds1 = 0.0; + drho1mds2 = 0.0; + drho2mds1 = 0.0; + drho2mds2 = 0.0; + drho3mds1 = 0.0; + drho3mds2 = 0.0; - } else { + if (ialloy == 1) { - ai = 0.0; - if (!iszero(rho0[i])) - ai = rhoa0j / rho0[i]; - aj = 0.0; - if (!iszero(rho0[j])) - aj = rhoa0i / rho0[j]; + a1i = fdiv_zero(rhoa0j, tsq_ave[i][0]); + a1j = fdiv_zero(rhoa0i, tsq_ave[j][0]); + a2i = fdiv_zero(rhoa0j, tsq_ave[i][1]); + a2j = fdiv_zero(rhoa0i, tsq_ave[j][1]); + a3i = fdiv_zero(rhoa0j, tsq_ave[i][2]); + a3j = fdiv_zero(rhoa0i, tsq_ave[j][2]); - dt1ds1 = ai * (t1mj - t1i); - dt1ds2 = aj * (t1mi - t1j); - dt2ds1 = ai * (t2mj - t2i); - dt2ds2 = aj * (t2mi - t2j); - dt3ds1 = ai * (t3mj - t3i); - dt3ds2 = aj * (t3mi - t3j); - } + dt1ds1 = a1i * (t1mj - t1i * MathSpecial::square(t1mj)); + dt1ds2 = a1j * (t1mi - t1j * MathSpecial::square(t1mi)); + dt2ds1 = a2i * (t2mj - t2i * MathSpecial::square(t2mj)); + dt2ds2 = a2j * (t2mi - t2j * MathSpecial::square(t2mi)); + dt3ds1 = a3i * (t3mj - t3i * MathSpecial::square(t3mj)); + dt3ds2 = a3j * (t3mi - t3j * MathSpecial::square(t3mi)); + + } else if (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(rho0[i])) + ai = rhoa0j / rho0[i]; + aj = 0.0; + if (!iszero(rho0[j])) + aj = rhoa0i / 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); + } - if (msmeamflag) { - drhods1 = dgamma1[i] * drho0ds1 + - dgamma2[i] * (dt1ds1 * rho1[i] + t1i * (drho1ds1 - drho1mds1) + - dt2ds1 * rho2[i] + t2i * (drho2ds1 - drho2mds1) + - dt3ds1 * rho3[i] + t3i * (drho3ds1 - drho3mds1)) - - dgamma3[i] * (shpi[0] * dt1ds1 + shpi[1] * dt2ds1 + shpi[2] * dt3ds1); - drhods2 = dgamma1[j] * drho0ds2 + - dgamma2[j] * (dt1ds2 * rho1[j] + t1j * (drho1ds2 - drho1mds2) + - dt2ds2 * rho2[j] + t2j * (drho2ds2 - drho2mds2) + - dt3ds2 * rho3[j] + t3j * (drho3ds2 - drho3mds2)) - - dgamma3[j] * (shpj[0] * dt1ds2 + shpj[1] * dt2ds2 + shpj[2] * dt3ds2); - } - else { drhods1 = dgamma1[i] * drho0ds1 + dgamma2[i] * (dt1ds1 * rho1[i] + t1i * drho1ds1 + dt2ds1 * rho2[i] + t2i * drho2ds1 + dt3ds1 * rho3[i] + t3i * drho3ds1) - From 0d37dddc9e626dbd13de0a8e8eefe0ea4df5ad30 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 28 Feb 2024 17:19:31 -0500 Subject: [PATCH 268/559] restore correct formatting to meam_force.cpp and port changes to KOKKOS --- src/KOKKOS/meam_force_kokkos.h | 101 +++++++------ src/MEAM/meam_force.cpp | 140 +++++++++--------- .../tests/atomic-pair-meam_ms.yaml | 138 ++++++++--------- 3 files changed, 191 insertions(+), 188 deletions(-) diff --git a/src/KOKKOS/meam_force_kokkos.h b/src/KOKKOS/meam_force_kokkos.h index 2f0c51dddb..6be5ff0016 100644 --- a/src/KOKKOS/meam_force_kokkos.h +++ b/src/KOKKOS/meam_force_kokkos.h @@ -605,6 +605,27 @@ KOKKOS_INLINE_FUNCTION void MEAMKokkos::operator()(TagMEAMForce::operator()(TagMEAMForce Date: Wed, 28 Feb 2024 17:40:17 -0500 Subject: [PATCH 269/559] third and final round of include-what-you-use updates --- src/BOCS/fix_bocs.cpp | 1 - src/DIELECTRIC/fix_polarize_bem_gmres.cpp | 1 - src/GRANULAR/pair_granular.cpp | 1 - src/KOKKOS/neighbor_kokkos.cpp | 1 + src/MDI/mdi_command.h | 2 +- src/MESONT/pair_mesocnt_viscous.cpp | 1 - src/compute_heat_flux.cpp | 7 +++---- src/fix_pair.cpp | 1 - src/imbalance_neigh.cpp | 2 -- src/replicate.cpp | 1 - 10 files changed, 5 insertions(+), 13 deletions(-) diff --git a/src/BOCS/fix_bocs.cpp b/src/BOCS/fix_bocs.cpp index d6beb889ff..25471d04a4 100644 --- a/src/BOCS/fix_bocs.cpp +++ b/src/BOCS/fix_bocs.cpp @@ -25,7 +25,6 @@ #include "error.h" #include "fix_deform.h" #include "force.h" -#include "group.h" #include "irregular.h" #include "kspace.h" #include "memory.h" diff --git a/src/DIELECTRIC/fix_polarize_bem_gmres.cpp b/src/DIELECTRIC/fix_polarize_bem_gmres.cpp index 40f7d0c853..67d79d57f0 100644 --- a/src/DIELECTRIC/fix_polarize_bem_gmres.cpp +++ b/src/DIELECTRIC/fix_polarize_bem_gmres.cpp @@ -41,7 +41,6 @@ #include "comm.h" #include "error.h" #include "force.h" -#include "group.h" #include "kspace.h" #include "math_const.h" #include "memory.h" diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index 119feb1c38..d5179a19b7 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -37,7 +37,6 @@ #include "update.h" #include -#include using namespace LAMMPS_NS; using namespace Granular_NS; diff --git a/src/KOKKOS/neighbor_kokkos.cpp b/src/KOKKOS/neighbor_kokkos.cpp index 67af5b2b28..214b2e86d9 100644 --- a/src/KOKKOS/neighbor_kokkos.cpp +++ b/src/KOKKOS/neighbor_kokkos.cpp @@ -18,6 +18,7 @@ #include "atom_kokkos.h" #include "atom_masks.h" #include "bond.h" +#include "domain.h" #include "dihedral.h" #include "error.h" #include "force.h" diff --git a/src/MDI/mdi_command.h b/src/MDI/mdi_command.h index 88e1901ab1..0bdfe81279 100644 --- a/src/MDI/mdi_command.h +++ b/src/MDI/mdi_command.h @@ -21,7 +21,7 @@ CommandStyle(mdi,MDICommand); #define LMP_MDI_COMMAND_H #include "command.h" -#include "mdi.h" +#include namespace LAMMPS_NS { diff --git a/src/MESONT/pair_mesocnt_viscous.cpp b/src/MESONT/pair_mesocnt_viscous.cpp index 9beabe0d2f..f7ad7b0aa6 100644 --- a/src/MESONT/pair_mesocnt_viscous.cpp +++ b/src/MESONT/pair_mesocnt_viscous.cpp @@ -25,7 +25,6 @@ #include "math_const.h" #include "math_extra.h" #include "memory.h" -#include "neigh_list.h" #include "neighbor.h" #include "update.h" diff --git a/src/compute_heat_flux.cpp b/src/compute_heat_flux.cpp index 62b2c8b63b..64cc8e69f3 100644 --- a/src/compute_heat_flux.cpp +++ b/src/compute_heat_flux.cpp @@ -19,12 +19,11 @@ #include "compute_heat_flux.h" -#include #include "atom.h" -#include "update.h" -#include "modify.h" -#include "force.h" #include "error.h" +#include "force.h" +#include "modify.h" +#include "update.h" using namespace LAMMPS_NS; diff --git a/src/fix_pair.cpp b/src/fix_pair.cpp index 93a88a60c9..da56b01f9e 100644 --- a/src/fix_pair.cpp +++ b/src/fix_pair.cpp @@ -21,7 +21,6 @@ #include "memory.h" #include "pair.h" #include "update.h" -#include "fmt/format.h" #include diff --git a/src/imbalance_neigh.cpp b/src/imbalance_neigh.cpp index 8d4a17976b..f6b2be2cad 100644 --- a/src/imbalance_neigh.cpp +++ b/src/imbalance_neigh.cpp @@ -14,10 +14,8 @@ #include "imbalance_neigh.h" #include "accelerator_kokkos.h" -#include "atom.h" #include "comm.h" #include "error.h" -#include "neighbor.h" using namespace LAMMPS_NS; diff --git a/src/replicate.cpp b/src/replicate.cpp index 710361e55c..b27304a2a0 100644 --- a/src/replicate.cpp +++ b/src/replicate.cpp @@ -21,7 +21,6 @@ #include "domain.h" #include "error.h" #include "memory.h" -#include "molecule.h" #include "special.h" #include "label_map.h" From a261a6c34cb7f79cf0eba476cb46c45f00bdb3a2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 28 Feb 2024 17:45:41 -0500 Subject: [PATCH 270/559] whitespace fixes --- src/KOKKOS/meam_force_kokkos.h | 2 +- src/MEAM/meam_force.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/KOKKOS/meam_force_kokkos.h b/src/KOKKOS/meam_force_kokkos.h index 6be5ff0016..a546ab54d4 100644 --- a/src/KOKKOS/meam_force_kokkos.h +++ b/src/KOKKOS/meam_force_kokkos.h @@ -673,7 +673,7 @@ KOKKOS_INLINE_FUNCTION void MEAMKokkos::operator()(TagMEAMForce Date: Wed, 28 Feb 2024 16:02:52 -0700 Subject: [PATCH 271/559] Fix compiler warning --- src/KOKKOS/comm_tiled_kokkos.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/KOKKOS/comm_tiled_kokkos.h b/src/KOKKOS/comm_tiled_kokkos.h index eba453b49e..9033714796 100644 --- a/src/KOKKOS/comm_tiled_kokkos.h +++ b/src/KOKKOS/comm_tiled_kokkos.h @@ -75,7 +75,7 @@ class CommTiledKokkos : public CommTiled { void grow_send_kokkos(int, int, ExecutionSpace space = Host); void grow_recv_kokkos(int, int, ExecutionSpace space = Host); void grow_list(int, int, int) override; - void grow_swap_send(int, int, int); // grow swap arrays for send and recv + void grow_swap_send(int, int, int) override; // grow swap arrays for send and recv }; } // namespace LAMMPS_NS From 4f0d30b8d64f16c9d146ea4bd9b9d5546a902491 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Thu, 29 Feb 2024 11:01:18 -0700 Subject: [PATCH 272/559] Fix data transfer issue --- src/KOKKOS/comm_tiled_kokkos.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/KOKKOS/comm_tiled_kokkos.cpp b/src/KOKKOS/comm_tiled_kokkos.cpp index bd65bcf221..30dfd11fc6 100644 --- a/src/KOKKOS/comm_tiled_kokkos.cpp +++ b/src/KOKKOS/comm_tiled_kokkos.cpp @@ -293,7 +293,6 @@ template void CommTiledKokkos::reverse_comm_device() { int i,irecv,n,nsend,nrecv; - MPI_Request request; double *buf; // exchange data with another set of procs in each swap @@ -623,10 +622,8 @@ void CommTiledKokkos::grow_list(int iswap, int iwhich, int n) { int size = static_cast (BUFFACTOR * n); - if (exchange_comm_classic) { // force realloc on Host - k_sendlist.sync(); - k_sendlist.modify(); - } + k_sendlist.sync(); + k_sendlist.modify(); int nsend = k_sendlist.extent(1); From efcee365c1550083d788aad03a5203f99645a77e Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Thu, 29 Feb 2024 14:06:04 -0700 Subject: [PATCH 273/559] Fix issue --- src/KOKKOS/atom_vec_dipole_kokkos.cpp | 1 + src/KOKKOS/atom_vec_sphere_kokkos.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/src/KOKKOS/atom_vec_dipole_kokkos.cpp b/src/KOKKOS/atom_vec_dipole_kokkos.cpp index 28ecb24672..2d205f4cf0 100644 --- a/src/KOKKOS/atom_vec_dipole_kokkos.cpp +++ b/src/KOKKOS/atom_vec_dipole_kokkos.cpp @@ -218,6 +218,7 @@ struct AtomVecDipoleKokkos_PackBorder { const typename ArrayTypes::t_float_1d &q, const typename ArrayTypes::t_mu_array_randomread &mu, const X_FLOAT &dx, const X_FLOAT &dy, const X_FLOAT &dz): + _buf(buf),_list(list), _x(x),_tag(tag),_type(type),_mask(mask),_q(q),_mu(mu), _dx(dx),_dy(dy),_dz(dz) {} diff --git a/src/KOKKOS/atom_vec_sphere_kokkos.cpp b/src/KOKKOS/atom_vec_sphere_kokkos.cpp index de62988c67..6d12a4d97a 100644 --- a/src/KOKKOS/atom_vec_sphere_kokkos.cpp +++ b/src/KOKKOS/atom_vec_sphere_kokkos.cpp @@ -993,6 +993,7 @@ struct AtomVecSphereKokkos_PackBorder { const typename ArrayTypes::t_float_1d &radius, const typename ArrayTypes::t_float_1d &rmass, const X_FLOAT &dx, const X_FLOAT &dy, const X_FLOAT &dz): + _buf(buf),_list(list), _x(x),_tag(tag),_type(type),_mask(mask), _radius(radius), _rmass(rmass), From f5b1813f14c00e4af9ac5f8d0d0500b51cc55e76 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 29 Feb 2024 18:38:31 -0500 Subject: [PATCH 274/559] silence compiler warnings --- src/KOKKOS/comm_tiled_kokkos.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/KOKKOS/comm_tiled_kokkos.cpp b/src/KOKKOS/comm_tiled_kokkos.cpp index 30dfd11fc6..2e4ca30bed 100644 --- a/src/KOKKOS/comm_tiled_kokkos.cpp +++ b/src/KOKKOS/comm_tiled_kokkos.cpp @@ -625,9 +625,7 @@ void CommTiledKokkos::grow_list(int iswap, int iwhich, int n) k_sendlist.sync(); k_sendlist.modify(); - int nsend = k_sendlist.extent(1); - - if (size > k_sendlist.extent(2)) { + if (size > (int)k_sendlist.extent(2)) { memoryKK->grow_kokkos(k_sendlist,sendlist,maxswap,maxsend,size,"comm:sendlist"); for (int i = 0; i < maxswap; i++) @@ -640,7 +638,7 @@ void CommTiledKokkos::grow_list(int iswap, int iwhich, int n) ditto for complementary recv for swap I+1 or I-1, as invoked by caller ------------------------------------------------------------------------- */ -void CommTiledKokkos::grow_swap_send(int i, int n, int nold) +void CommTiledKokkos::grow_swap_send(int i, int n, int /*nold*/) { delete [] sendproc[i]; sendproc[i] = new int[n]; From b15956c13cf983e42d44a02759801c10c1dd3e8e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 29 Feb 2024 22:26:40 -0500 Subject: [PATCH 275/559] remove unused class members --- src/MANYBODY/pair_rebomos.h | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/MANYBODY/pair_rebomos.h b/src/MANYBODY/pair_rebomos.h index 4997c65b87..33c967a760 100644 --- a/src/MANYBODY/pair_rebomos.h +++ b/src/MANYBODY/pair_rebomos.h @@ -20,8 +20,8 @@ PairStyle(rebomos,PairREBOMoS); #ifndef LMP_PAIR_REBOMOS_H #define LMP_PAIR_REBOMOS_H -#include "pair.h" #include "math_const.h" +#include "pair.h" #include @@ -39,9 +39,6 @@ class PairREBOMoS : public Pair { double memory_usage() override; protected: - double cutljrebosq; // cut for when to compute - // REBO neighs of ghost atoms - double **lj1, **lj2, **lj3, **lj4; // pre-computed LJ coeffs for M,S types double cut3rebo; // maximum distance for 3rd REBO neigh @@ -52,7 +49,6 @@ class PairREBOMoS : public Pair { int *REBO_numneigh; // # of pair neighbors for each atom int **REBO_firstneigh; // ptr to 1st neighbor of each atom - double *closestdistsq; // closest owned atom dist to each ghost double *nM, *nS; // sum of weighting fns with REBO neighs double rcmin[2][2], rcmax[2][2], rcmaxsq[2][2], rcmaxp[2][2]; From 259bcfba1f73a91a3ce656d740730cd32e32df2a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 29 Feb 2024 22:45:32 -0500 Subject: [PATCH 276/559] remove one more unused class member --- src/MANYBODY/pair_rebomos.cpp | 7 ------- src/MANYBODY/pair_rebomos.h | 2 +- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/src/MANYBODY/pair_rebomos.cpp b/src/MANYBODY/pair_rebomos.cpp index d6cea004a7..a84469f212 100644 --- a/src/MANYBODY/pair_rebomos.cpp +++ b/src/MANYBODY/pair_rebomos.cpp @@ -1064,12 +1064,6 @@ void PairREBOMoS::read_file(char *filename) rcLJmax[0][1] = 2.5*sigma[0][1]; rcLJmax[1][0] = rcLJmax[0][1]; rcLJmax[1][1] = 2.5*sigma[1][1]; - - rcLJmaxsq[0][0] = rcLJmax[0][0]*rcLJmax[0][0]; - rcLJmaxsq[1][0] = rcLJmax[1][0]*rcLJmax[1][0]; - rcLJmaxsq[0][1] = rcLJmax[0][1]*rcLJmax[0][1]; - rcLJmaxsq[1][1] = rcLJmax[1][1]*rcLJmax[1][1]; - } // broadcast read-in and setup values @@ -1108,7 +1102,6 @@ void PairREBOMoS::read_file(char *filename) MPI_Bcast(&rcLJmin[0][0],4,MPI_DOUBLE,0,world); MPI_Bcast(&rcLJmax[0][0],4,MPI_DOUBLE,0,world); - MPI_Bcast(&rcLJmaxsq[0][0],4,MPI_DOUBLE,0,world); MPI_Bcast(&epsilon[0][0],4,MPI_DOUBLE,0,world); MPI_Bcast(&sigma[0][0],4,MPI_DOUBLE,0,world); } diff --git a/src/MANYBODY/pair_rebomos.h b/src/MANYBODY/pair_rebomos.h index 33c967a760..856a52ca81 100644 --- a/src/MANYBODY/pair_rebomos.h +++ b/src/MANYBODY/pair_rebomos.h @@ -56,7 +56,7 @@ class PairREBOMoS : public Pair { double b0[2], b1[2], b2[2], b3[2], b4[2], b5[2], b6[2]; double bg0[2], bg1[2], bg2[2], bg3[2], bg4[2], bg5[2], bg6[2]; double a0[2], a1[2], a2[2], a3[2]; - double rcLJmin[2][2], rcLJmax[2][2], rcLJmaxsq[2][2]; + double rcLJmin[2][2], rcLJmax[2][2]; double epsilon[2][2], sigma[2][2]; void REBO_neigh(); From 7064e1e2b6f143fc2473f5dda9b898463e4b2472 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 1 Mar 2024 07:33:48 -0500 Subject: [PATCH 277/559] make searches for drude fix more specific to avoid false positives --- src/DRUDE/compute_temp_drude.cpp | 2 +- src/DRUDE/fix_drude.cpp | 2 +- src/DRUDE/fix_drude_transform.cpp | 2 +- src/DRUDE/fix_tgnh_drude.cpp | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/DRUDE/compute_temp_drude.cpp b/src/DRUDE/compute_temp_drude.cpp index 535808580e..0bf276924a 100644 --- a/src/DRUDE/compute_temp_drude.cpp +++ b/src/DRUDE/compute_temp_drude.cpp @@ -64,7 +64,7 @@ ComputeTempDrude::~ComputeTempDrude() void ComputeTempDrude::init() { // Fix drude already checks that there is only one fix drude instance - auto &fixes = modify->get_fix_by_style("drude"); + auto &fixes = modify->get_fix_by_style("^drude$"); if (fixes.size() == 0) error->all(FLERR, "compute temp/drude requires fix drude"); fix_drude = dynamic_cast(fixes[0]); diff --git a/src/DRUDE/fix_drude.cpp b/src/DRUDE/fix_drude.cpp index 6aaa4f1a74..6c0c84861a 100644 --- a/src/DRUDE/fix_drude.cpp +++ b/src/DRUDE/fix_drude.cpp @@ -82,7 +82,7 @@ FixDrude::~FixDrude() void FixDrude::init() { - if (modify->get_fix_by_style("drude").size() > 1) error->all(FLERR,"More than one fix drude"); + if (modify->get_fix_by_style("^drude$").size() > 1) error->all(FLERR,"More than one fix drude"); if (!rebuildflag) rebuild_special(); } diff --git a/src/DRUDE/fix_drude_transform.cpp b/src/DRUDE/fix_drude_transform.cpp index 88877ef70d..ad92740116 100644 --- a/src/DRUDE/fix_drude_transform.cpp +++ b/src/DRUDE/fix_drude_transform.cpp @@ -53,7 +53,7 @@ void FixDrudeTransform::init() std::string substyle = "direct"; if (inverse) substyle = "inverse"; - auto fixes = modify->get_fix_by_style("^drude"); + auto fixes = modify->get_fix_by_style("^drude$"); if (fixes.size() > 0) fix_drude = dynamic_cast(fixes[0]); if (!fix_drude) error->all(FLERR, "fix drude/transform/{} requires fix drude", substyle); diff --git a/src/DRUDE/fix_tgnh_drude.cpp b/src/DRUDE/fix_tgnh_drude.cpp index c067bf7adf..e15e865ce8 100644 --- a/src/DRUDE/fix_tgnh_drude.cpp +++ b/src/DRUDE/fix_tgnh_drude.cpp @@ -516,7 +516,7 @@ FixTGNHDrude::FixTGNHDrude(LAMMPS *lmp, int narg, char **arg) : // find fix drude - auto fdrude = modify->get_fix_by_style("^drude"); + auto fdrude = modify->get_fix_by_style("^drude$"); if (fdrude.size() < 1) error->all(FLERR, "Fix {} requires fix drude", style); fix_drude = dynamic_cast(fdrude[0]); if (!fix_drude) error->all(FLERR, "Fix {} requires fix drude", style); From 93942f201309c5c917795698c24c6c8ff38db32e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 1 Mar 2024 18:32:16 -0500 Subject: [PATCH 278/559] Added override for ialloy default with MS-MEAM # Conflicts: # doc/src/pair_meam.rst --- src/MEAM/meam_setup_global.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/MEAM/meam_setup_global.cpp b/src/MEAM/meam_setup_global.cpp index 4afffb4b02..1487a53b2e 100644 --- a/src/MEAM/meam_setup_global.cpp +++ b/src/MEAM/meam_setup_global.cpp @@ -123,4 +123,7 @@ void MEAM::meam_setup_global(int nelt, lattice_t *lat, int *ielement, double * / // for trimer, zigzag, line refernece structure, sungkwang setall2d(stheta_meam, 1.0); // stheta = sin(theta/2*pi/180) where theta is 180, so 1.0 setall2d(ctheta_meam, 0.0); // stheta = cos(theta/2*pi/180) where theta is 180, so 0 + + if (msmeamflag) ialloy = 1; + } From 2c9dfa3ea73c2020d8ceb3138f62e202372a2a4b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 1 Mar 2024 18:53:32 -0500 Subject: [PATCH 279/559] update MS-MEAM examples --- examples/meam/msmeam/HGa.meam | 30 ----- examples/meam/msmeam/HGa.msmeam | 1 + examples/meam/msmeam/data.msmeam.bu | 25 ---- examples/meam/msmeam/in.msmeam | 8 +- examples/meam/msmeam/library.msmeam | 14 -- .../meam/msmeam/log.1Mar2024.msmeam.g++.1 | 126 ++++++++++++++++++ .../meam/msmeam/log.1Mar2024.msmeam.g++.4 | 126 ++++++++++++++++++ examples/meam/msmeam/log.msmeam.bu | 107 --------------- examples/meam/msmeam/msmeam.dump.bu | 24 ---- examples/meam/msmeam/potential.mod | 2 +- potentials/HGa.msmeam | 34 ++--- 11 files changed, 274 insertions(+), 223 deletions(-) delete mode 100644 examples/meam/msmeam/HGa.meam create mode 120000 examples/meam/msmeam/HGa.msmeam delete mode 100644 examples/meam/msmeam/data.msmeam.bu delete mode 100644 examples/meam/msmeam/library.msmeam create mode 100644 examples/meam/msmeam/log.1Mar2024.msmeam.g++.1 create mode 100644 examples/meam/msmeam/log.1Mar2024.msmeam.g++.4 delete mode 100644 examples/meam/msmeam/log.msmeam.bu delete mode 100644 examples/meam/msmeam/msmeam.dump.bu diff --git a/examples/meam/msmeam/HGa.meam b/examples/meam/msmeam/HGa.meam deleted file mode 100644 index 9f01501c16..0000000000 --- a/examples/meam/msmeam/HGa.meam +++ /dev/null @@ -1,30 +0,0 @@ -bkgd_dyn = 1 -emb_lin_neg = 1 -augt1=0 -ialloy=1 -rc = 5.9 -#H -attrac(1,1)=0.460 -repuls(1,1)=0.460 -Cmin(1,1,1)=1.3 # PuMS -Cmax(1,1,1)= 2.80 -nn2(1,1)=1 -#Ga -rho0(2) = 0.6 -attrac(2,2)=0.097 -repuls(2,2)=0.097 -nn2(2,2)=1 -#HGa -attrac(1,2)=0.300 -repuls(1,2)=0.300 -lattce(1,2)=l12 -re(1,2)=3.19 -delta(1,2)=-0.48 -alpha(1,2)=6.6 -Cmin(1,1,2)=2.0 -Cmin(2,1,2)= 2.0 -Cmin(1,2,1)=2.0 -Cmin(2,2,1) = 1.4 -Cmin(1,2,2) = 1.4 -Cmin(1,1,2) = 1.4 -nn2(1,2)=1 diff --git a/examples/meam/msmeam/HGa.msmeam b/examples/meam/msmeam/HGa.msmeam new file mode 120000 index 0000000000..5629006d1d --- /dev/null +++ b/examples/meam/msmeam/HGa.msmeam @@ -0,0 +1 @@ +../../../potentials/HGa.msmeam \ No newline at end of file diff --git a/examples/meam/msmeam/data.msmeam.bu b/examples/meam/msmeam/data.msmeam.bu deleted file mode 100644 index 576a3c50de..0000000000 --- a/examples/meam/msmeam/data.msmeam.bu +++ /dev/null @@ -1,25 +0,0 @@ -LAMMPS data file via write_data, version 16 Feb 2016, timestep = 1 - -3 atoms -2 atom types - --4.0000000000000000e+00 4.0000000000000000e+00 xlo xhi --4.0000000000000000e+00 4.0000000000000000e+00 ylo yhi --4.0000000000000000e+00 4.0000000000000000e+00 zlo zhi - -Masses - -1 1.0079 -2 69.723 - -Atoms # atomic - -1 1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -2 2 2.2000000000000002e+00 0.0000000000000000e+00 0.0000000000000000e+00 0 0 0 -3 2 2.9999999999999999e-01 2.2999999999999998e+00 0.0000000000000000e+00 0 0 0 - -Velocities - -1 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -2 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -3 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 diff --git a/examples/meam/msmeam/in.msmeam b/examples/meam/msmeam/in.msmeam index 82ffb89a13..e8d13f8682 100644 --- a/examples/meam/msmeam/in.msmeam +++ b/examples/meam/msmeam/in.msmeam @@ -1,5 +1,3 @@ -echo both -log log.msmeam # Test of MEAM potential for HGa # ------------------------ INITIALIZATION ---------------------------- @@ -21,11 +19,11 @@ create_atoms 1 single 0 0 0 units box create_atoms 2 single 2.2 0 0 units box create_atoms 2 single 0.3 2.3 0 units box # ---------- Define Settings --------------------- -variable teng equal "c_eatoms" +variable teng equal "c_eatoms" compute pot_energy all pe/atom compute stress all stress/atom NULL dump 1 all custom 1 dump.msmeam id x y z fx fy fz c_pot_energy c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6] -run 1 -write_data data.msmeam +run 1 +#write_data data.msmeam print "All done!" diff --git a/examples/meam/msmeam/library.msmeam b/examples/meam/msmeam/library.msmeam deleted file mode 100644 index 9937eaee08..0000000000 --- a/examples/meam/msmeam/library.msmeam +++ /dev/null @@ -1,14 +0,0 @@ -# DATE: 2018-09-22 UNITS: metal CONTRIBUTOR: Steve Valone, smv@lanl.gov CITATION: Baskes, PRB 1992; smv, sr, mib, JNM 2010 -# ms-meam data format May 2010 -# elt lat z ielement atwt -# alpha b0 b1 b2 b3 b1m b2m b3m alat esub asub -# - t0 t1 t2 t3 t1m t2m t3m rozero ibar -# NOTE: leading character cannot be a space - -'H' 'dim' 1.0 1 1.0079 -2.960 2.960 3.0 1.0 1.0 1.0 3.0 1.0 0.741 2.235 2.50 -1.0 0.44721 0.0 0.00 0.0 0.31623 0 6.70 0 - -'Ga4' 'fcc' 12.0 31 69.723 -4.42 4.80 3.10 6.00 0.00 0.0 0.0 0.5 4.247 2.897 0.97 -1.0 1.649 1.435 0.00 0.0 0.0 2.0 0.70 0 diff --git a/examples/meam/msmeam/log.1Mar2024.msmeam.g++.1 b/examples/meam/msmeam/log.1Mar2024.msmeam.g++.1 new file mode 100644 index 0000000000..70fbbdd89c --- /dev/null +++ b/examples/meam/msmeam/log.1Mar2024.msmeam.g++.1 @@ -0,0 +1,126 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-182-g93942f2013-modified) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Test of MEAM potential for HGa + +# ------------------------ INITIALIZATION ---------------------------- +units metal +dimension 3 +boundary p p p +atom_style atomic +variable latparam equal 4.646 +variable ncell equal 3 + +# ----------------------- ATOM DEFINITION ---------------------------- +region box block -4 4 -4 4 -4 4 +create_box 2 box +Created orthogonal box = (-4 -4 -4) to (4 4 4) + 1 by 1 by 1 MPI processor grid + +# + +include potential.mod +# NOTE: This script can be modified for different pair styles +# See in.elastic for more info. + +variable Pu string H +print "potential chosen ${Pu}" +potential chosen H +# Choose potential +pair_style meam/ms +print "we just executed" +we just executed + +pair_coeff * * library.msmeam ${Pu} Ga4 HGa.msmeam ${Pu} Ga4 +pair_coeff * * library.msmeam H Ga4 HGa.msmeam ${Pu} Ga4 +pair_coeff * * library.msmeam H Ga4 HGa.msmeam H Ga4 +Reading MEAM library file library.msmeam with DATE: 2018-09-22 +# Setup neighbor style +neighbor 1.0 bin +neigh_modify once no every 1 delay 0 check yes + +# Setup minimization style +variable dmax equal 1.0e-2 +min_style cg +min_modify dmax ${dmax} line quadratic +min_modify dmax 0.01 line quadratic +compute eng all pe/atom +compute eatoms all reduce sum c_eng + +# Setup output +thermo 100 +thermo_style custom step temp etotal press pxx pyy pzz pxy pxz pyz lx ly lz vol c_eatoms +thermo_modify norm yes +create_atoms 1 single 0 0 0 units box +Created 1 atoms + using box units in orthogonal box = (-4 -4 -4) to (4 4 4) + create_atoms CPU = 0.000 seconds +create_atoms 2 single 2.2 0 0 units box +Created 1 atoms + using box units in orthogonal box = (-4 -4 -4) to (4 4 4) + create_atoms CPU = 0.000 seconds +create_atoms 2 single 0.3 2.3 0 units box +Created 1 atoms + using box units in orthogonal box = (-4 -4 -4) to (4 4 4) + create_atoms CPU = 0.000 seconds +# ---------- Define Settings --------------------- +variable teng equal "c_eatoms" +compute pot_energy all pe/atom +compute stress all stress/atom NULL +# dump 1 all custom 1 dump.msmeam id x y z fx fy fz c_pot_energy c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6] +run 1 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.9 + ghost atom cutoff = 6.9 + binsize = 3.45, bins = 3 3 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair meam/ms, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard + (2) pair meam/ms, perpetual, half/full from (1) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 8.587 | 8.587 | 8.587 Mbytes + Step Temp TotEng Press Pxx Pyy Pzz Pxy Pxz Pyz Lx Ly Lz Volume c_eatoms + 0 0 15.433079 491354.7 838670.96 635393.15 0 80195.797 0 0 8 8 8 512 15.433079 + 1 0 15.433079 491354.7 838670.96 635393.15 0 80195.797 0 0 8 8 8 512 15.433079 +Loop time of 4.4446e-05 on 1 procs for 1 steps with 3 atoms + +Performance: 1943.932 ns/day, 0.012 hours/ns, 22499.213 timesteps/s, 67.498 katom-step/s +31.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 2.9908e-05 | 2.9908e-05 | 2.9908e-05 | 0.0 | 67.29 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 1.033e-06 | 1.033e-06 | 1.033e-06 | 0.0 | 2.32 +Output | 9.347e-06 | 9.347e-06 | 9.347e-06 | 0.0 | 21.03 +Modify | 2.02e-07 | 2.02e-07 | 2.02e-07 | 0.0 | 0.45 +Other | | 3.956e-06 | | | 8.90 + +Nlocal: 3 ave 3 max 3 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 78 ave 78 max 78 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 7 ave 7 max 7 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 14 ave 14 max 14 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 14 +Ave neighs/atom = 4.6666667 +Neighbor list builds = 0 +Dangerous builds = 0 +#write_data data.msmeam + +print "All done!" +All done! +Total wall time: 0:00:00 diff --git a/examples/meam/msmeam/log.1Mar2024.msmeam.g++.4 b/examples/meam/msmeam/log.1Mar2024.msmeam.g++.4 new file mode 100644 index 0000000000..6951a64945 --- /dev/null +++ b/examples/meam/msmeam/log.1Mar2024.msmeam.g++.4 @@ -0,0 +1,126 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-182-g93942f2013-modified) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Test of MEAM potential for HGa + +# ------------------------ INITIALIZATION ---------------------------- +units metal +dimension 3 +boundary p p p +atom_style atomic +variable latparam equal 4.646 +variable ncell equal 3 + +# ----------------------- ATOM DEFINITION ---------------------------- +region box block -4 4 -4 4 -4 4 +create_box 2 box +Created orthogonal box = (-4 -4 -4) to (4 4 4) + 1 by 2 by 2 MPI processor grid + +# + +include potential.mod +# NOTE: This script can be modified for different pair styles +# See in.elastic for more info. + +variable Pu string H +print "potential chosen ${Pu}" +potential chosen H +# Choose potential +pair_style meam/ms +print "we just executed" +we just executed + +pair_coeff * * library.msmeam ${Pu} Ga4 HGa.msmeam ${Pu} Ga4 +pair_coeff * * library.msmeam H Ga4 HGa.msmeam ${Pu} Ga4 +pair_coeff * * library.msmeam H Ga4 HGa.msmeam H Ga4 +Reading MEAM library file library.msmeam with DATE: 2018-09-22 +# Setup neighbor style +neighbor 1.0 bin +neigh_modify once no every 1 delay 0 check yes + +# Setup minimization style +variable dmax equal 1.0e-2 +min_style cg +min_modify dmax ${dmax} line quadratic +min_modify dmax 0.01 line quadratic +compute eng all pe/atom +compute eatoms all reduce sum c_eng + +# Setup output +thermo 100 +thermo_style custom step temp etotal press pxx pyy pzz pxy pxz pyz lx ly lz vol c_eatoms +thermo_modify norm yes +create_atoms 1 single 0 0 0 units box +Created 1 atoms + using box units in orthogonal box = (-4 -4 -4) to (4 4 4) + create_atoms CPU = 0.000 seconds +create_atoms 2 single 2.2 0 0 units box +Created 1 atoms + using box units in orthogonal box = (-4 -4 -4) to (4 4 4) + create_atoms CPU = 0.000 seconds +create_atoms 2 single 0.3 2.3 0 units box +Created 1 atoms + using box units in orthogonal box = (-4 -4 -4) to (4 4 4) + create_atoms CPU = 0.000 seconds +# ---------- Define Settings --------------------- +variable teng equal "c_eatoms" +compute pot_energy all pe/atom +compute stress all stress/atom NULL +# dump 1 all custom 1 dump.msmeam id x y z fx fy fz c_pot_energy c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6] +run 1 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.9 + ghost atom cutoff = 6.9 + binsize = 3.45, bins = 3 3 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair meam/ms, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard + (2) pair meam/ms, perpetual, half/full from (1) + attributes: half, newton on + pair build: halffull/newton + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 7.965 | 8.123 | 8.594 Mbytes + Step Temp TotEng Press Pxx Pyy Pzz Pxy Pxz Pyz Lx Ly Lz Volume c_eatoms + 0 0 15.433079 491354.7 838670.96 635393.15 0 80195.797 0 0 8 8 8 512 15.433079 + 1 0 15.433079 491354.7 838670.96 635393.15 0 80195.797 0 0 8 8 8 512 15.433079 +Loop time of 8.70645e-05 on 4 procs for 1 steps with 3 atoms + +Performance: 992.368 ns/day, 0.024 hours/ns, 11485.738 timesteps/s, 34.457 katom-step/s +29.0% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 4.3957e-05 | 4.67e-05 | 5.1056e-05 | 0.0 | 53.64 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 1.105e-05 | 1.3822e-05 | 1.7033e-05 | 0.0 | 15.88 +Output | 1.5765e-05 | 1.9045e-05 | 2.5216e-05 | 0.0 | 21.87 +Modify | 2.58e-07 | 3.465e-07 | 3.81e-07 | 0.0 | 0.40 +Other | | 7.151e-06 | | | 8.21 + +Nlocal: 0.75 ave 3 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 +Nghost: 38.25 ave 42 max 36 min +Histogram: 2 0 0 0 0 1 0 0 0 1 +Neighs: 1.75 ave 7 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 +FullNghs: 3.5 ave 14 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 14 +Ave neighs/atom = 4.6666667 +Neighbor list builds = 0 +Dangerous builds = 0 +#write_data data.msmeam + +print "All done!" +All done! +Total wall time: 0:00:00 diff --git a/examples/meam/msmeam/log.msmeam.bu b/examples/meam/msmeam/log.msmeam.bu deleted file mode 100644 index 8eac453c1e..0000000000 --- a/examples/meam/msmeam/log.msmeam.bu +++ /dev/null @@ -1,107 +0,0 @@ -# Test of MEAM potential for HGa - -# ------------------------ INITIALIZATION ---------------------------- -units metal -dimension 3 -boundary p p p -atom_style atomic -variable latparam equal 4.646 -variable ncell equal 3 - -# ----------------------- ATOM DEFINITION ---------------------------- -region box block -4 4 -4 4 -4 4 -create_box 2 box -Created orthogonal box = (-4 -4 -4) to (4 4 4) - 1 by 1 by 1 MPI processor grid - -# - -include potential.mod -# NOTE: This script can be modified for different pair styles -# See in.elastic for more info. - -variable Pu string H -print "potential chosen ${Pu}" -potential chosen H -# Choose potential -pair_style MSmeam -print "we just executed" -we just executed - -pair_coeff * * library.MSmeam ${Pu} Ga4 HGaMS.meam ${Pu} Ga4 -pair_coeff * * library.MSmeam H Ga4 HGaMS.meam ${Pu} Ga4 -pair_coeff * * library.MSmeam H Ga4 HGaMS.meam H Ga4 -Reading potential file library.MSmeam with DATE: 2018-09-22 -# Setup neighbor style -neighbor 1.0 nsq -neigh_modify once no every 1 delay 0 check yes - -# Setup minimization style -variable dmax equal 1.0e-2 -min_style cg -min_modify dmax ${dmax} line quadratic -min_modify dmax 0.01 line quadratic -compute eng all pe/atom -compute eatoms all reduce sum c_eng - -# Setup output -thermo 100 -thermo_style custom step temp etotal press pxx pyy pzz pxy pxz pyz lx ly lz vol c_eatoms -thermo_modify norm yes -create_atoms 1 single 0 0 0 units box -Created 1 atoms -create_atoms 2 single 2.2 0 0 units box -Created 1 atoms -create_atoms 2 single 0.3 2.3 0 units box -Created 1 atoms -# ---------- Define Settings --------------------- -variable teng equal "c_eatoms" -compute pot_energy all pe/atom -compute stress all stress/atom NULL -dump 1 all custom 1 dump.msmeam id x y z fx fy fz c_pot_energy c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6] -run 1 -WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) -Neighbor list info ... - 2 neighbor list requests - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 6.9 - ghost atom cutoff = 6.9 -Memory usage per processor = 12.9295 Mbytes -Step Temp TotEng Press Pxx Pyy Pzz Pxy Pxz Pyz Lx Ly Lz Volume eatoms - 0 0 15.433079 491354.68 838670.91 635393.13 0 80195.793 0 0 8 8 8 512 15.433079 - 1 0 15.433079 491354.68 838670.91 635393.13 0 80195.793 0 0 8 8 8 512 15.433079 -Loop time of 0.000172138 on 1 procs for 1 steps with 3 atoms - -Performance: 501.922 ns/day, 0.048 hours/ns, 5809.285 timesteps/s -81.3% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 6.6996e-05 | 6.6996e-05 | 6.6996e-05 | 0.0 | 38.92 -Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 1.9073e-06 | 1.9073e-06 | 1.9073e-06 | 0.0 | 1.11 -Output | 9.7036e-05 | 9.7036e-05 | 9.7036e-05 | 0.0 | 56.37 -Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 6.199e-06 | | | 3.60 - -Nlocal: 3 ave 3 max 3 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 78 ave 78 max 78 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 7 ave 7 max 7 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 14 ave 14 max 14 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 14 -Ave neighs/atom = 4.66667 -Neighbor list builds = 0 -Dangerous builds = 0 -write_data data.msmeam - -print "All done!" -All done! -Total wall time: 0:00:00 - diff --git a/examples/meam/msmeam/msmeam.dump.bu b/examples/meam/msmeam/msmeam.dump.bu deleted file mode 100644 index 039f630073..0000000000 --- a/examples/meam/msmeam/msmeam.dump.bu +++ /dev/null @@ -1,24 +0,0 @@ -ITEM: TIMESTEP -0 -ITEM: NUMBER OF ATOMS -3 -ITEM: BOX BOUNDS pp pp pp --4 4 --4 4 --4 4 -ITEM: ATOMS id x y z fx fy fz c_pot_energy c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6] -1 0 0 0 -131.925 -88.3005 0 22.9153 -2.147e+08 -1.62661e+08 -0 -2.05301e+07 -0 -0 -2 2.2 0 0 120.809 -0.482171 0 14.7692 -2.12028e+08 -0 -0 403352 -0 -0 -3 0.3 2.3 0 11.1159 88.7827 0 8.61478 -2.67145e+06 -1.62661e+08 -0 -2.09335e+07 -0 -0 -ITEM: TIMESTEP -1 -ITEM: NUMBER OF ATOMS -3 -ITEM: BOX BOUNDS pp pp pp --4 4 --4 4 --4 4 -ITEM: ATOMS id x y z fx fy fz c_pot_energy c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6] -1 0 0 0 -131.925 -88.3005 0 22.9153 -2.147e+08 -1.62661e+08 -0 -2.05301e+07 -0 -0 -2 2.2 0 0 120.809 -0.482171 0 14.7692 -2.12028e+08 -0 -0 403352 -0 -0 -3 0.3 2.3 0 11.1159 88.7827 0 8.61478 -2.67145e+06 -1.62661e+08 -0 -2.09335e+07 -0 -0 diff --git a/examples/meam/msmeam/potential.mod b/examples/meam/msmeam/potential.mod index 760cc93503..117736743b 100644 --- a/examples/meam/msmeam/potential.mod +++ b/examples/meam/msmeam/potential.mod @@ -7,7 +7,7 @@ print "potential chosen ${Pu}" pair_style meam/ms print "we just executed" -pair_coeff * * library.msmeam ${Pu} Ga4 HGa.meam ${Pu} Ga4 +pair_coeff * * library.msmeam ${Pu} Ga4 HGa.msmeam ${Pu} Ga4 # Setup neighbor style neighbor 1.0 bin neigh_modify once no every 1 delay 0 check yes diff --git a/potentials/HGa.msmeam b/potentials/HGa.msmeam index 9f01501c16..1f84d0f8a5 100644 --- a/potentials/HGa.msmeam +++ b/potentials/HGa.msmeam @@ -1,29 +1,29 @@ bkgd_dyn = 1 emb_lin_neg = 1 -augt1=0 -ialloy=1 -rc = 5.9 +augt1=0 +ialloy=1 +rc = 5.9 #H -attrac(1,1)=0.460 -repuls(1,1)=0.460 +attrac(1,1)=0.460 +repuls(1,1)=0.460 Cmin(1,1,1)=1.3 # PuMS -Cmax(1,1,1)= 2.80 +Cmax(1,1,1)= 2.80 nn2(1,1)=1 #Ga rho0(2) = 0.6 -attrac(2,2)=0.097 -repuls(2,2)=0.097 +attrac(2,2)=0.097 +repuls(2,2)=0.097 nn2(2,2)=1 #HGa -attrac(1,2)=0.300 -repuls(1,2)=0.300 -lattce(1,2)=l12 -re(1,2)=3.19 -delta(1,2)=-0.48 -alpha(1,2)=6.6 -Cmin(1,1,2)=2.0 -Cmin(2,1,2)= 2.0 -Cmin(1,2,1)=2.0 +attrac(1,2)=0.300 +repuls(1,2)=0.300 +lattce(1,2)=l12 +re(1,2)=3.19 +delta(1,2)=-0.48 +alpha(1,2)=6.6 +Cmin(1,1,2)=2.0 +Cmin(2,1,2)= 2.0 +Cmin(1,2,1)=2.0 Cmin(2,2,1) = 1.4 Cmin(1,2,2) = 1.4 Cmin(1,1,2) = 1.4 From 00b0c439edc8e06ca9f143c11843804a11ad0a9e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 1 Mar 2024 18:54:43 -0500 Subject: [PATCH 280/559] improve error messages --- src/MEAM/pair_meam.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/MEAM/pair_meam.cpp b/src/MEAM/pair_meam.cpp index 6159c452b0..d9d2b53885 100644 --- a/src/MEAM/pair_meam.cpp +++ b/src/MEAM/pair_meam.cpp @@ -206,7 +206,12 @@ void PairMEAM::coeff(int narg, char **arg) // check for presence of first meam file std::string lib_file = utils::get_potential_file_path(arg[2]); - if (lib_file.empty()) error->all(FLERR, "Cannot open MEAM library file {}", lib_file); + if (lib_file.empty()) { + if (msmeamflag) + error->all(FLERR, "Cannot open MS-MEAM library file {}", lib_file); + else + error->all(FLERR, "Cannot open MEAM library file {}", lib_file); + } // find meam parameter file in arguments: // first word that is a file or "NULL" after the MEAM library file @@ -226,7 +231,12 @@ void PairMEAM::coeff(int narg, char **arg) break; } } - if (paridx < 0) error->all(FLERR, "No MEAM parameter file in pair coefficients"); + if (paridx < 0) { + if (msmeamflag) + error->all(FLERR, "No MS-MEAM parameter file in pair coefficients"); + else + error->all(FLERR, "No MEAM parameter file in pair coefficients"); + } if ((narg - paridx - 1) != atom->ntypes) error->all(FLERR, "Incorrect args for pair style {} coefficients", myname); From 133ec34bf576d38d4342e08a323fbaffdbaf6183 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 1 Mar 2024 19:01:48 -0500 Subject: [PATCH 281/559] update --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 47233250a3..ed37fa80b9 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -37,7 +37,7 @@ src/MESONT/* @iafoss src/ML-HDNNP/* @singraber src/ML-IAP/* @athomps src/ML-PACE/* @yury-lysogorskiy -src/ML-POD/* @exapde @rohskopf +src/ML-POD/* @exapde src/MOFFF/* @hheenen src/MOLFILE/* @akohlmey src/NETCDF/* @pastewka From 45e8ee1c087db0cc53415af8f20904bde36d66bf Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 2 Mar 2024 15:53:21 -0500 Subject: [PATCH 282/559] disallow using custom cutoff with multi cutoff neighbor lists --- src/compute_rdf.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/compute_rdf.cpp b/src/compute_rdf.cpp index 17fe450fe5..f31c3c5743 100644 --- a/src/compute_rdf.cpp +++ b/src/compute_rdf.cpp @@ -68,6 +68,8 @@ ComputeRDF::ComputeRDF(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg],"cutoff") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal compute rdf command"); + if ((neighbor->style == Neighbor::MULTI) || (neighbor->style == Neighbor::MULTI_OLD)) + error->all(FLERR, "Compute rdf with custom cutoff requires neighbor style 'bin' or 'nsq'"); cutoff_user = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (cutoff_user <= 0.0) cutflag = 0; else cutflag = 1; From ccdf55151dce30b5b9262adc1d542ccd3b2e147e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 2 Mar 2024 15:53:33 -0500 Subject: [PATCH 283/559] modernize --- src/compute_rdf.cpp | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/src/compute_rdf.cpp b/src/compute_rdf.cpp index f31c3c5743..abc72ff202 100644 --- a/src/compute_rdf.cpp +++ b/src/compute_rdf.cpp @@ -46,7 +46,7 @@ ComputeRDF::ComputeRDF(LAMMPS *lmp, int narg, char **arg) : hist(nullptr), histall(nullptr), typecount(nullptr), icount(nullptr), jcount(nullptr), duplicates(nullptr) { - if (narg < 4) error->all(FLERR,"Illegal compute rdf command"); + if (narg < 4) utils::missing_cmd_args(FLERR,"compute rdf", error); array_flag = 1; extarray = 0; @@ -67,14 +67,14 @@ ComputeRDF::ComputeRDF(LAMMPS *lmp, int narg, char **arg) : while (iarg < narg) { if (strcmp(arg[iarg],"cutoff") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal compute rdf command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR,"compute rdf cutoff", error); if ((neighbor->style == Neighbor::MULTI) || (neighbor->style == Neighbor::MULTI_OLD)) error->all(FLERR, "Compute rdf with custom cutoff requires neighbor style 'bin' or 'nsq'"); cutoff_user = utils::numeric(FLERR,arg[iarg+1],false,lmp); if (cutoff_user <= 0.0) cutflag = 0; else cutflag = 1; iarg += 2; - } else error->all(FLERR,"Illegal compute rdf command"); + } else error->all(FLERR,"Unknown compute rdf keyword {}", arg[iarg]); } // pairwise args @@ -141,17 +141,17 @@ ComputeRDF::~ComputeRDF() { memory->destroy(rdfpair); memory->destroy(nrdfpair); - delete [] ilo; - delete [] ihi; - delete [] jlo; - delete [] jhi; + delete[] ilo; + delete[] ihi; + delete[] jlo; + delete[] jhi; memory->destroy(hist); memory->destroy(histall); memory->destroy(array); - delete [] typecount; - delete [] icount; - delete [] jcount; - delete [] duplicates; + delete[] typecount; + delete[] icount; + delete[] jcount; + delete[] duplicates; } /* ---------------------------------------------------------------------- */ @@ -160,8 +160,7 @@ void ComputeRDF::init() { if (!force->pair && !cutflag) - error->all(FLERR,"Compute rdf requires a pair style be defined " - "or cutoff specified"); + error->all(FLERR,"Compute rdf requires a pair style or an explicit cutoff"); if (cutflag) { double skin = neighbor->skin; @@ -256,7 +255,7 @@ void ComputeRDF::init_norm() for (i = 0; i < npairs; i++) jcount[i] = scratch[i]; MPI_Allreduce(duplicates,scratch,npairs,MPI_INT,MPI_SUM,world); for (i = 0; i < npairs; i++) duplicates[i] = scratch[i]; - delete [] scratch; + delete[] scratch; } /* ---------------------------------------------------------------------- */ From e51e2733cb995e7c6822b4e1763c8ed22f7b96a6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 3 Mar 2024 07:47:14 -0500 Subject: [PATCH 284/559] add note for porting code containing the removed Atoms::count_words() functions --- doc/src/Developer_updating.rst | 47 ++++++++++++++++++++++++++++++---- 1 file changed, 42 insertions(+), 5 deletions(-) diff --git a/doc/src/Developer_updating.rst b/doc/src/Developer_updating.rst index cd61eaa5a1..83491ac095 100644 --- a/doc/src/Developer_updating.rst +++ b/doc/src/Developer_updating.rst @@ -18,6 +18,7 @@ Available topics in mostly chronological order are: - `Setting flags in the constructor`_ - `Rename of pack/unpack_comm() to pack/unpack_forward_comm()`_ - `Use ev_init() to initialize variables derived from eflag and vflag`_ +- `Use utils::count_words() functions instead of atom->count_words()`_ - `Use utils::numeric() functions instead of force->numeric()`_ - `Use utils::open_potential() function to open potential files`_ - `Use symbolic Atom and AtomVec constants instead of numerical values`_ @@ -130,6 +131,41 @@ Not applying this change will not cause a compilation error, but can lead to inconsistent behavior and incorrect tallying of energy or virial. +Use utils::count_words() functions instead of atom->count_words() +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. versionchanged:: 2Jun2020 + +The "count_words()" functions for parsing text have been moved from the +Atom class to the :doc:`utils namespace `. The +"count_words()" function in "utils" uses the Tokenizer class internally +to split a line into words and count them, thus it will not modify the +argument string as the function in the Atoms class did and thus had a +variant using a copy buffer. Unlike the old version, the new version +does not remove comments. For that you can use the +:cpp:func:`utils::trim_comment() function +` as shown in the example below. + +Old: + +.. code-block:: c++ + + nwords = atom->count_words(line); + int nwords = atom->count_words(buf); + +New: + +.. code-block:: c++ + + nwords = utils::count_words(line); + int nwords = utils::count_words(utils::trim_comment(buf)); + +.. seealso:: + + :cpp:func:`utils::count_words() `, + :cpp:func:`utils::trim_comments() ` + + Use utils::numeric() functions instead of force->numeric() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -137,11 +173,12 @@ Use utils::numeric() functions instead of force->numeric() The "numeric()" conversion functions (including "inumeric()", "bnumeric()", and "tnumeric()") have been moved from the Force class to -the utils namespace. Also they take an additional argument that selects -whether the ``Error::all()`` or ``Error::one()`` function should be -called in case of an error. The former should be used when *all* MPI -processes call the conversion function and the latter *must* be used -when they are called from only one or a subset of the MPI processes. +the :doc:`utils namespace `. Also they take an +additional argument that selects whether the ``Error::all()`` or +``Error::one()`` function should be called in case of an error. The +former should be used when *all* MPI processes call the conversion +function and the latter *must* be used when they are called from only +one or a subset of the MPI processes. Old: From 4a993483fc3c2fdcfb84c4ce7f98d3383b88c30a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 3 Mar 2024 11:25:01 -0500 Subject: [PATCH 285/559] remove dead code --- src/MEAM/meam_force.cpp | 29 +++++++++-------------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/src/MEAM/meam_force.cpp b/src/MEAM/meam_force.cpp index 1ee8b5e468..6fc3fd762f 100644 --- a/src/MEAM/meam_force.cpp +++ b/src/MEAM/meam_force.cpp @@ -65,11 +65,11 @@ void MEAM::meam_force(int i, int eflag_global, int eflag_atom, int vflag_global, double rhoa2mj,drhoa2mj,rhoa2mi,drhoa2mi; double rhoa3mj, drhoa3mj, rhoa3mi, drhoa3mi; double arg1i1m, arg1j1m, arg1i2m, arg1j2m, arg1i3m, arg1j3m, arg3i3m, arg3j3m; - double drho1mdr1, drho1mdr2, drho1mds1, drho1mds2; + double drho1mdr1, drho1mdr2; double drho1mdrm1[3], drho1mdrm2[3]; - double drho2mdr1, drho2mdr2, drho2mds1, drho2mds2; + double drho2mdr1, drho2mdr2; double drho2mdrm1[3], drho2mdrm2[3]; - double drho3mdr1, drho3mdr2, drho3mds1, drho3mds2; + double drho3mdr1, drho3mdr2; double drho3mdrm1[3], drho3mdrm2[3]; third = 1.0 / 3.0; @@ -528,16 +528,12 @@ void MEAM::meam_force(int i, int eflag_global, int eflag_atom, int vflag_global, if (msmeamflag) { - drho1mds1 = a1 * rhoa1mj * arg1i1m; - drho1mds2 = a1 * rhoa1mi * arg1j1m; - drho2mds1 = a2 * rhoa2mj * arg1i2m - 2.0 / 3.0 * arho2mb[i] * rhoa2mj; - drho2mds2 = a2 * rhoa2mi * arg1j2m - 2.0 / 3.0 * arho2mb[j] * rhoa2mi; - drho3mds1 = a3 * rhoa3mj * arg1i3m - a3a * rhoa3mj * arg3i3m; - drho3mds2 = a3 * rhoa3mi * arg1j3m - a3a * rhoa3mi * arg3j3m; - drho1mds1 *= -1; - drho1mds2 *= -1; - drho3mds1 *= -1; - drho3mds2 *= -1; + const double drho1mds1 = -a1 * rhoa1mj * arg1i1m; + const double drho1mds2 = -a1 * rhoa1mi * arg1j1m; + const double drho2mds1 = a2 * rhoa2mj * arg1i2m - 2.0 / 3.0 * arho2mb[i] * rhoa2mj; + const double drho2mds2 = a2 * rhoa2mi * arg1j2m - 2.0 / 3.0 * arho2mb[j] * rhoa2mi; + const double drho3mds1 = -a3 * rhoa3mj * arg1i3m + a3a * rhoa3mj * arg3i3m; + const double drho3mds2 = -a3 * rhoa3mi * arg1j3m + a3a * rhoa3mi * arg3j3m; t1i = 1.0; t2i = 1.0; @@ -560,13 +556,6 @@ void MEAM::meam_force(int i, int eflag_global, int eflag_atom, int vflag_global, * ((drho1ds2 - drho1mds2) + (drho2ds2 - drho2mds2) + (drho3ds2 - drho3mds2)); } else { - drho1mds1 = 0.0; - drho1mds2 = 0.0; - drho2mds1 = 0.0; - drho2mds2 = 0.0; - drho3mds1 = 0.0; - drho3mds2 = 0.0; - if (ialloy == 1) { a1i = fdiv_zero(rhoa0j, tsq_ave[i][0]); From a776d8425f780df830c4766581e029c8906deeaf Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 3 Mar 2024 11:28:49 -0500 Subject: [PATCH 286/559] initialize pointers to null --- src/MANYBODY/pair_rebomos.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/MANYBODY/pair_rebomos.cpp b/src/MANYBODY/pair_rebomos.cpp index a84469f212..0941ca0a3a 100644 --- a/src/MANYBODY/pair_rebomos.cpp +++ b/src/MANYBODY/pair_rebomos.cpp @@ -54,7 +54,9 @@ static constexpr int PGDELTA = 1; /* ---------------------------------------------------------------------- */ -PairREBOMoS::PairREBOMoS(LAMMPS *lmp) : Pair(lmp) +PairREBOMoS::PairREBOMoS(LAMMPS *lmp) : + Pair(lmp), lj1(nullptr), lj2(nullptr), lj3(nullptr), lj4(nullptr), ipage(nullptr), + REBO_numneigh(nullptr), REBO_firstneigh(nullptr), nM(nullptr), nS(nullptr) { single_enable = 0; restartinfo = 0; @@ -63,12 +65,9 @@ PairREBOMoS::PairREBOMoS(LAMMPS *lmp) : Pair(lmp) manybody_flag = 1; centroidstressflag = CENTROID_NOTAVAIL; + cut3rebo = 0.0; maxlocal = 0; - REBO_numneigh = nullptr; - REBO_firstneigh = nullptr; - ipage = nullptr; pgsize = oneatom = 0; - nM = nS = nullptr; } // clang-format off From 2809428fe20cbfd08d9e108fa88c72b27ef76c31 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 3 Mar 2024 12:27:39 -0500 Subject: [PATCH 287/559] make computes rdf and adf error out multi cutoff neighbor lists if needed --- doc/src/compute_adf.rst | 19 +++++- doc/src/compute_rdf.rst | 37 ++++++---- examples/rdf-adf/in.spce | 24 +++---- src/EXTRA-COMPUTE/compute_adf.cpp | 110 ++++++++++++++---------------- src/EXTRA-COMPUTE/compute_adf.h | 1 - src/compute_rdf.cpp | 8 ++- 6 files changed, 108 insertions(+), 91 deletions(-) diff --git a/doc/src/compute_adf.rst b/doc/src/compute_adf.rst index fc1ad1ae0a..a43a10207c 100644 --- a/doc/src/compute_adf.rst +++ b/doc/src/compute_adf.rst @@ -204,8 +204,23 @@ angles per atom satisfying the ADF criteria. Restrictions """""""""""" -This compute is part of the EXTRA-COMPUTE package. It is only enabled if -LAMMPS was built with that package. See the :doc:`Build package ` page for more info. +This compute is part of the EXTRA-COMPUTE package. It is only enabled +if LAMMPS was built with that package. See the :doc:`Build package +` page for more info. + +By default, the ADF is not computed for distances longer than the +largest force cutoff, since the neighbor list creation will only contain +pairs up to that distance (plus neighbor list skin). If you use outer +cutoffs larger than that, you must use :doc:`neighbor style 'bin' or +'nsq' `. + +If you want an ADF for a larger outer cutoff, you can also use the +:doc:`rerun ` command to post-process a dump file, use :doc:`pair +style zero ` and set the force cutoff to be larger in the +rerun script. Note that in the rerun context, the force cutoff is +arbitrary and with pair style zero you are not computing any forces, and +since you are not running dynamics you are not changing the model that +generated the trajectory. The ADF is not computed for neighbors outside the force cutoff, since processors (in parallel) don't know about atom coordinates for diff --git a/doc/src/compute_rdf.rst b/doc/src/compute_rdf.rst index ed73800f82..85e758016e 100644 --- a/doc/src/compute_rdf.rst +++ b/doc/src/compute_rdf.rst @@ -176,22 +176,29 @@ also numbers :math:`\ge 0.0`. Restrictions """""""""""" -The RDF is not computed for distances longer than the force cutoff, -since processors (in parallel) do not know about atom coordinates for -atoms further away than that distance. If you want an RDF for larger -distances, you can use the :doc:`rerun ` command to post-process -a dump file and set the cutoff for the potential to be longer in the +By default, the RDF is not computed for distances longer than the +largest force cutoff, since the neighbor list creation will only contain +pairs up to that distance (plus neighbor list skin). This distance can +be increased using the *cutoff* keyword but this keyword is only valid +with :doc:`neighbor styles 'bin' and 'nsq' `. + +If you want an RDF for larger distances, you can also use the +:doc:`rerun ` command to post-process a dump file, use :doc:`pair +style zero ` and set the force cutoff to be longer in the rerun script. Note that in the rerun context, the force cutoff is -arbitrary, since you are not running dynamics and thus are not changing -your model. The definition of :math:`g(r)` used by LAMMPS is only appropriate -for characterizing atoms that are uniformly distributed throughout the -simulation cell. In such cases, the coordination number is still -correct and meaningful. As an example, if a large simulation cell -contains only one atom of type *itypeN* and one of *jtypeN*, then :math:`g(r)` -will register an arbitrarily large spike at whatever distance they -happen to be at, and zero everywhere else. -The function :math:`\text{coord}(r)` will show a step -change from zero to one at the location of the spike in :math:`g(r)`. +arbitrary and with pair style zero you are not computing any forces, and +you are not running dynamics you are not changing the model that +generated the trajectory. + +The definition of :math:`g(r)` used by LAMMPS is only appropriate for +characterizing atoms that are uniformly distributed throughout the +simulation cell. In such cases, the coordination number is still correct +and meaningful. As an example, if a large simulation cell contains only +one atom of type *itypeN* and one of *jtypeN*, then :math:`g(r)` will +register an arbitrarily large spike at whatever distance they happen to +be at, and zero everywhere else. The function :math:`\text{coord}(r)` +will show a step change from zero to one at the location of the spike in +:math:`g(r)`. .. note:: diff --git a/examples/rdf-adf/in.spce b/examples/rdf-adf/in.spce index 9a9d99fd42..6627924adc 100644 --- a/examples/rdf-adf/in.spce +++ b/examples/rdf-adf/in.spce @@ -1,22 +1,22 @@ # Liquid water RDFs and ADFs (~12 O-O-O/atom, ~1 O-H...O/atom) -units real -atom_style full +units real +atom_style full -read_data data.spce +read_data data.spce pair_style lj/cut/coul/long 12.0 12.0 pair_coeff * * 0.0 1.0 pair_coeff 1 1 0.15535 3.166 -kspace_style pppm 1.0e-6 +kspace_style pppm 1.0e-6 -bond_style harmonic -angle_style harmonic -dihedral_style none -improper_style none +bond_style harmonic +angle_style harmonic +dihedral_style none +improper_style none -bond_coeff 1 1000.00 1.000 -angle_coeff 1 100.0 109.47 +bond_coeff 1 1000.00 1.000 +angle_coeff 1 100.0 109.47 # need to set bond/angle inclusion to > 0.0 # so that intramolecular pairs are included in neighbor lists (required for second ADF) @@ -26,8 +26,8 @@ neighbor 2.0 bin timestep 2.0 neigh_modify every 1 delay 2 check yes -fix 1 all shake 0.0001 20 0 b 1 a 1 -fix 2 all nvt temp 300.0 300.0 100.0 +fix 1 all shake 0.0001 20 0 b 1 a 1 +fix 2 all nvt temp 300.0 300.0 100.0 velocity all create 300.0 6244325 diff --git a/src/EXTRA-COMPUTE/compute_adf.cpp b/src/EXTRA-COMPUTE/compute_adf.cpp index 35ff8bfd33..20b1749fa9 100644 --- a/src/EXTRA-COMPUTE/compute_adf.cpp +++ b/src/EXTRA-COMPUTE/compute_adf.cpp @@ -34,32 +34,27 @@ #include using namespace LAMMPS_NS; -using namespace MathConst; +using MathConst::MY_PI; +using MathConst::RAD2DEG; -enum{DEGREE, RADIAN, COSINE}; +enum { DEGREE, RADIAN, COSINE }; /* ---------------------------------------------------------------------- compute angular distribution functions for I, J, K atoms ---------------------------------------------------------------------- */ ComputeADF::ComputeADF(LAMMPS *lmp, int narg, char **arg) : - Compute(lmp, narg, arg), - ilo(nullptr), ihi(nullptr), jlo(nullptr), jhi(nullptr), klo(nullptr), khi(nullptr), - hist(nullptr), histall(nullptr), - rcutinnerj(nullptr), rcutinnerk(nullptr), - rcutouterj(nullptr), rcutouterk(nullptr), - list(nullptr), - iatomcount(nullptr), iatomcountall(nullptr), iatomflag(nullptr), - maxjatom(nullptr), maxkatom(nullptr), - numjatom(nullptr), numkatom(nullptr), - neighjatom(nullptr),neighkatom(nullptr), - jatomflag(nullptr), katomflag(nullptr), - maxjkatom(nullptr), numjkatom(nullptr), - neighjkatom(nullptr), bothjkatom(nullptr), delrjkatom(nullptr) + Compute(lmp, narg, arg), ilo(nullptr), ihi(nullptr), jlo(nullptr), jhi(nullptr), klo(nullptr), + khi(nullptr), hist(nullptr), histall(nullptr), rcutinnerj(nullptr), rcutinnerk(nullptr), + rcutouterj(nullptr), rcutouterk(nullptr), list(nullptr), iatomcount(nullptr), + iatomcountall(nullptr), iatomflag(nullptr), maxjatom(nullptr), maxkatom(nullptr), + numjatom(nullptr), numkatom(nullptr), neighjatom(nullptr), neighkatom(nullptr), + jatomflag(nullptr), katomflag(nullptr), maxjkatom(nullptr), numjkatom(nullptr), + neighjkatom(nullptr), bothjkatom(nullptr), delrjkatom(nullptr) { int nargsperadf = 7; - if (narg < 4 ) error->all(FLERR,"Illegal compute adf command"); + if (narg < 4) utils::missing_cmd_args(FLERR, "compute adf", error); array_flag = 1; extarray = 0; @@ -89,17 +84,16 @@ ComputeADF::ComputeADF(LAMMPS *lmp, int narg, char **arg) : if (strcmp(arg[iarg+1],"degree") == 0) ordinate_style = DEGREE; else if (strcmp(arg[iarg+1],"radian") == 0) ordinate_style = RADIAN; else if (strcmp(arg[iarg+1],"cosine") == 0) ordinate_style = COSINE; - else error->all(FLERR,"Illegal compute adf command"); + else error->all(FLERR,"Unknown compute adf ordinate flag {}",arg[iarg+1]); iarg += 2; - } else error->all(FLERR,"Illegal compute adf command"); + } else error->all(FLERR,"Unknown compute adf keyword {}", arg[iarg]); } // triplewise args if (!nargtriple) ntriples = 1; else { - if (nargtriple % nargsperadf) - error->all(FLERR,"Illegal compute adf command"); + if (nargtriple % nargsperadf) error->all(FLERR,"Illegal compute adf command"); ntriples = nargtriple/nargsperadf; } @@ -107,12 +101,9 @@ ComputeADF::ComputeADF(LAMMPS *lmp, int narg, char **arg) : size_array_cols = 1 + 2*ntriples; int ntypes = atom->ntypes; - memory->create(iatomflag,ntriples,ntypes+1, - "adf:iatomflag"); - memory->create(jatomflag,ntriples,ntypes+1, - "adf:jatomflag"); - memory->create(katomflag,ntriples,ntypes+1, - "adf:katomflag"); + memory->create(iatomflag,ntriples,ntypes+1,"adf:iatomflag"); + memory->create(jatomflag,ntriples,ntypes+1,"adf:jatomflag"); + memory->create(katomflag,ntriples,ntypes+1,"adf:katomflag"); ilo = new int[ntriples]; ihi = new int[ntriples]; @@ -134,14 +125,14 @@ ComputeADF::ComputeADF(LAMMPS *lmp, int narg, char **arg) : klo[0] = 1; khi[0] = ntypes; } else { cutflag = 1; + if ((neighbor->style == Neighbor::MULTI) || (neighbor->style == Neighbor::MULTI_OLD)) + error->all(FLERR, "Compute adf with custom cutoffs requires neighbor style 'bin' or 'nsq'"); iarg = 4; for (int m = 0; m < ntriples; m++) { utils::bounds(FLERR,arg[iarg],1,atom->ntypes,ilo[m],ihi[m],error); utils::bounds(FLERR,arg[iarg+1],1,atom->ntypes,jlo[m],jhi[m],error); utils::bounds(FLERR,arg[iarg+2],1,atom->ntypes,klo[m],khi[m],error); - if (ilo[m] > ihi[m] || - jlo[m] > jhi[m] || - klo[m] > khi[m]) + if ((ilo[m] > ihi[m]) || (jlo[m] > jhi[m]) || (klo[m] > khi[m])) error->all(FLERR,"Illegal compute adf command"); rcutinnerj[m] = utils::numeric(FLERR,arg[iarg+3],false,lmp); rcutouterj[m] = utils::numeric(FLERR,arg[iarg+4],false,lmp); @@ -221,8 +212,6 @@ ComputeADF::ComputeADF(LAMMPS *lmp, int narg, char **arg) : memory->create(bothjkatom[m],maxjkatom[m],"adf:bothjkatom"); memory->create(delrjkatom[m],maxjkatom[m],4,"adf:delrjkatom"); } - - rad2deg = 180.0 / MY_PI; } /* ---------------------------------------------------------------------- */ @@ -230,47 +219,47 @@ ComputeADF::ComputeADF(LAMMPS *lmp, int narg, char **arg) : ComputeADF::~ComputeADF() { memory->destroy(iatomflag); - delete [] ilo; - delete [] ihi; - delete [] jlo; - delete [] jhi; - delete [] klo; - delete [] khi; - delete [] iatomcount; - delete [] iatomcountall; + delete[] ilo; + delete[] ihi; + delete[] jlo; + delete[] jhi; + delete[] klo; + delete[] khi; + delete[] iatomcount; + delete[] iatomcountall; memory->destroy(hist); memory->destroy(histall); memory->destroy(array); memory->destroy(jatomflag); - delete [] rcutinnerj; - delete [] rcutouterj; - delete [] maxjatom; - delete [] numjatom; + delete[] rcutinnerj; + delete[] rcutouterj; + delete[] maxjatom; + delete[] numjatom; for (int m = 0; m < ntriples; m++) memory->destroy(neighjatom[m]); - delete [] neighjatom; + delete[] neighjatom; memory->destroy(katomflag); - delete [] rcutinnerk; - delete [] rcutouterk; - delete [] maxkatom; - delete [] numkatom; + delete[] rcutinnerk; + delete[] rcutouterk; + delete[] maxkatom; + delete[] numkatom; for (int m = 0; m < ntriples; m++) memory->destroy(neighkatom[m]); - delete [] neighkatom; + delete[] neighkatom; - delete [] maxjkatom; - delete [] numjkatom; + delete[] maxjkatom; + delete[] numjkatom; for (int m = 0; m < ntriples; m++) memory->destroy(neighjkatom[m]); - delete [] neighjkatom; + delete[] neighjkatom; for (int m = 0; m < ntriples; m++) memory->destroy(bothjkatom[m]); - delete [] bothjkatom; + delete[] bothjkatom; for (int m = 0; m < ntriples; m++) memory->destroy(delrjkatom[m]); - delete [] delrjkatom; + delete[] delrjkatom; } /* ---------------------------------------------------------------------- */ @@ -282,8 +271,7 @@ void ComputeADF::init() if (!cutflag) { if (!force->pair) - error->all(FLERR,"Compute adf requires a pair style be defined " - "or an outer cutoff specified"); + error->all(FLERR,"Compute adf requires a pair style be defined or an outer cutoff specified"); rcutinnerj[0] = 0.0; rcutinnerk[0] = 0.0; rcutouterj[0] = force->pair->cutforce; @@ -298,7 +286,7 @@ void ComputeADF::init() // specify mycutneigh if force cutoff too small or non-existent - if (!(force->pair) || maxouter > force->pair->cutforce) { + if (!(force->pair) || (maxouter > force->pair->cutforce)) { double skin = neighbor->skin; mycutneigh = maxouter + skin; if (mycutneigh > comm->cutghostuser) @@ -310,7 +298,7 @@ void ComputeADF::init() int x0; if (ordinate_style == DEGREE) { - deltax = MY_PI / nbin * rad2deg; + deltax = MY_PI / nbin * RAD2DEG; deltaxinv = nbin / MY_PI; x0 = 0.0; @@ -337,7 +325,11 @@ void ComputeADF::init() // than maxouter apart, just like a normal neighbor list does auto req = neighbor->add_request(this, NeighConst::REQ_FULL | NeighConst::REQ_OCCASIONAL); - if (mycutneigh > 0.0) req->set_cutoff(mycutneigh); + if (mycutneigh > 0.0) { + if ((neighbor->style == Neighbor::MULTI) || (neighbor->style == Neighbor::MULTI_OLD)) + error->all(FLERR, "Compute adf with custom cutoffs requires neighbor style 'bin' or 'nsq'"); + req->set_cutoff(mycutneigh); + } } /* ---------------------------------------------------------------------- */ diff --git a/src/EXTRA-COMPUTE/compute_adf.h b/src/EXTRA-COMPUTE/compute_adf.h index 5f30995aa2..f1f95d325e 100644 --- a/src/EXTRA-COMPUTE/compute_adf.h +++ b/src/EXTRA-COMPUTE/compute_adf.h @@ -59,7 +59,6 @@ class ComputeADF : public Compute { int **bothjkatom; // 1 if atom is in both jatom and katom lists double ***delrjkatom; // list of 4-vectors: delx, dely, delx, and 1/r - double rad2deg; // conversion factor from radians to degrees int ordinate_style; // DEGREE, RADIAN, or COSINE int cutflag; // 1 if at least one outer cutoff specified }; diff --git a/src/compute_rdf.cpp b/src/compute_rdf.cpp index abc72ff202..89f3c91017 100644 --- a/src/compute_rdf.cpp +++ b/src/compute_rdf.cpp @@ -96,7 +96,7 @@ ComputeRDF::ComputeRDF(LAMMPS *lmp, int narg, char **arg) : jlo = new int[npairs]; jhi = new int[npairs]; - if (nargpair == 0) { + if (!nargpair) { ilo[0] = 1; ihi[0] = ntypes; jlo[0] = 1; jhi[0] = ntypes; } else { @@ -206,7 +206,11 @@ void ComputeRDF::init() // than cutoff_user apart, just like a normal neighbor list does auto req = neighbor->add_request(this, NeighConst::REQ_OCCASIONAL); - if (cutflag) req->set_cutoff(mycutneigh); + if (cutflag) { + if ((neighbor->style == Neighbor::MULTI) || (neighbor->style == Neighbor::MULTI_OLD)) + error->all(FLERR, "Compute rdf with custom cutoff requires neighbor style 'bin' or 'nsq'"); + req->set_cutoff(mycutneigh); + } } /* ---------------------------------------------------------------------- */ From 372260ec77ad4f75d873dde5da32a8ee7059102c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 3 Mar 2024 12:46:20 -0500 Subject: [PATCH 288/559] error out in compute ave/sphere/atom and efield/wolf/atom with multi-cutoff neighborlists --- doc/src/compute_ave_sphere_atom.rst | 2 ++ doc/src/compute_efield_wolf_atom.rst | 2 ++ src/EXTRA-COMPUTE/compute_ave_sphere_atom.cpp | 5 ++++- src/EXTRA-COMPUTE/compute_efield_wolf_atom.cpp | 6 +++++- 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/doc/src/compute_ave_sphere_atom.rst b/doc/src/compute_ave_sphere_atom.rst index ecb67ae7b5..4640b8534a 100644 --- a/doc/src/compute_ave_sphere_atom.rst +++ b/doc/src/compute_ave_sphere_atom.rst @@ -102,6 +102,8 @@ This compute is part of the EXTRA-COMPUTE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. +This compute requires :doc:`neighbor styles 'bin' or 'nsq' `. + Related commands """""""""""""""" diff --git a/doc/src/compute_efield_wolf_atom.rst b/doc/src/compute_efield_wolf_atom.rst index 1a709dc9f2..93bfa55151 100644 --- a/doc/src/compute_efield_wolf_atom.rst +++ b/doc/src/compute_efield_wolf_atom.rst @@ -106,6 +106,8 @@ Restrictions This compute is part of the EXTRA-COMPUTE package. It is only enabled if LAMMPS was built with that package. +This compute requires :doc:`neighbor styles 'bin' or 'nsq' `. + Related commands """""""""""""""" diff --git a/src/EXTRA-COMPUTE/compute_ave_sphere_atom.cpp b/src/EXTRA-COMPUTE/compute_ave_sphere_atom.cpp index 89011e7177..b3b920fef3 100644 --- a/src/EXTRA-COMPUTE/compute_ave_sphere_atom.cpp +++ b/src/EXTRA-COMPUTE/compute_ave_sphere_atom.cpp @@ -33,7 +33,7 @@ #include using namespace LAMMPS_NS; -using namespace MathConst; +using MathConst::MY_PI; /* ---------------------------------------------------------------------- */ @@ -108,6 +108,9 @@ void ComputeAveSphereAtom::init() else volume = MY_PI * cutsq; + if ((neighbor->style == Neighbor::MULTI) || (neighbor->style == Neighbor::MULTI_OLD)) + error->all(FLERR, "Compute ave/sphere/atom requires neighbor style 'bin' or 'nsq'"); + // need an occasional full neighbor list auto req = neighbor->add_request(this, NeighConst::REQ_FULL | NeighConst::REQ_OCCASIONAL); diff --git a/src/EXTRA-COMPUTE/compute_efield_wolf_atom.cpp b/src/EXTRA-COMPUTE/compute_efield_wolf_atom.cpp index ba5a16d52b..ceb16de2ec 100644 --- a/src/EXTRA-COMPUTE/compute_efield_wolf_atom.cpp +++ b/src/EXTRA-COMPUTE/compute_efield_wolf_atom.cpp @@ -92,7 +92,11 @@ void ComputeEfieldWolfAtom::init() if (atom->mu_flag && (comm->me == 0)) error->warning(FLERR, "Compute efield/wolf/atom does not support per-atom dipoles"); - // need an occasional full neighbor list + if ((neighbor->style == Neighbor::MULTI) || (neighbor->style == Neighbor::MULTI_OLD)) + error->all(FLERR, "Compute efield/wolf/atom requires neighbor style 'bin' or 'nsq'"); + + // request an occasional full neighbor list + auto req = neighbor->add_request(this, NeighConst::REQ_FULL | NeighConst::REQ_OCCASIONAL); if (cutoff_flag) req->set_cutoff(cutoff); From 60e5124ac2fc72eb57ab9b349b970a882fe3557a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 3 Mar 2024 12:51:48 -0500 Subject: [PATCH 289/559] compute composition/atom doesn't seem to be compatible with multi neighbor lists --- doc/src/compute_composition_atom.rst | 2 ++ src/EXTRA-COMPUTE/compute_composition_atom.cpp | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/doc/src/compute_composition_atom.rst b/doc/src/compute_composition_atom.rst index e973eaa234..c3e6fb7c60 100644 --- a/doc/src/compute_composition_atom.rst +++ b/doc/src/compute_composition_atom.rst @@ -107,6 +107,8 @@ This compute is part of the EXTRA-COMPUTE package. It is only enabled if LAMMPS was built with that package. See the :doc:`Build package ` page for more info. +This compute requires :doc:`neighbor styles 'bin' or 'nsq' `. + Related commands """""""""""""""" diff --git a/src/EXTRA-COMPUTE/compute_composition_atom.cpp b/src/EXTRA-COMPUTE/compute_composition_atom.cpp index 47483f760b..976718057f 100644 --- a/src/EXTRA-COMPUTE/compute_composition_atom.cpp +++ b/src/EXTRA-COMPUTE/compute_composition_atom.cpp @@ -94,7 +94,6 @@ void ComputeCompositionAtom::init() "use comm_modify cutoff command"); } - int cutflag = 1; if (force->pair) { if (cutoff == 0.0) { cutoff = force->pair->cutforce; } if (cutoff <= force->pair->cutforce + skin) cutflag = 0; @@ -102,10 +101,13 @@ void ComputeCompositionAtom::init() cutsq = cutoff * cutoff; + if ((neighbor->style == Neighbor::MULTI) || (neighbor->style == Neighbor::MULTI_OLD)) + error->all(FLERR, "Compute composition/atom requires neighbor style 'bin' or 'nsq'"); + // need an occasional full neighbor list auto req = neighbor->add_request(this, NeighConst::REQ_FULL | NeighConst::REQ_OCCASIONAL); - if (cutflag) req->set_cutoff(cutoff); + req->set_cutoff(cutoff); } /* ---------------------------------------------------------------------- */ From 9628ad6cafc5a73d24eb9431184860cb34b1d990 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 3 Mar 2024 12:59:17 -0500 Subject: [PATCH 290/559] recover compilation --- src/EXTRA-COMPUTE/compute_composition_atom.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/EXTRA-COMPUTE/compute_composition_atom.cpp b/src/EXTRA-COMPUTE/compute_composition_atom.cpp index 976718057f..d36cb96028 100644 --- a/src/EXTRA-COMPUTE/compute_composition_atom.cpp +++ b/src/EXTRA-COMPUTE/compute_composition_atom.cpp @@ -94,6 +94,7 @@ void ComputeCompositionAtom::init() "use comm_modify cutoff command"); } + int cutflag = 1; if (force->pair) { if (cutoff == 0.0) { cutoff = force->pair->cutforce; } if (cutoff <= force->pair->cutforce + skin) cutflag = 0; @@ -107,7 +108,7 @@ void ComputeCompositionAtom::init() // need an occasional full neighbor list auto req = neighbor->add_request(this, NeighConst::REQ_FULL | NeighConst::REQ_OCCASIONAL); - req->set_cutoff(cutoff); + if (cutflag) req->set_cutoff(cutoff); } /* ---------------------------------------------------------------------- */ From d33519e88209094085208b2a068c6562cd5be079 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 3 Mar 2024 16:47:44 -0500 Subject: [PATCH 291/559] correct and clarify --- doc/src/fix_ttm.rst | 28 ++++++++++++++-------------- src/EXTRA-FIX/fix_ttm_mod.cpp | 4 ++-- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/doc/src/fix_ttm.rst b/doc/src/fix_ttm.rst index ccf7f16554..5a7f864686 100644 --- a/doc/src/fix_ttm.rst +++ b/doc/src/fix_ttm.rst @@ -96,11 +96,11 @@ each processor, which is acceptable when the overall grid is reasonably small. For larger grids you should use fix *ttm/grid* instead. Fix *ttm/mod* adds options to account for external heat sources (e.g. at -a surface) and for specifying parameters that allow the electronic -heat capacity to depend strongly on electronic temperature. It is -more expensive computationally than fix *ttm* because it treats the -thermal diffusion equation as non-linear. More details on fix *ttm/mod* -are given below. +a surface) and for specifying parameters that allow the electronic heat +capacity to depend strongly on electronic temperature. It is more +expensive computationally than fix *ttm* because it treats the thermal +diffusion equation as non-linear. More details on fix *ttm/mod* are +given below. Heat transfer between the electronic and atomic subsystems is carried out via an inhomogeneous Langevin thermostat. Only atoms in the fix @@ -303,15 +303,15 @@ The current fix ttm/mod implementation allows TTM simulations with a vacuum. The vacuum region is defined as the grid cells with zero electronic temperature. The numerical scheme does not allow energy exchange with such cells. Since the material can expand to previously -unoccupied region in some simulations, the vacuum border can be -allowed to move. It is controlled by the *surface_movement* parameter -in the *init_file*. If it is set to 1, then "vacuum" cells can be -changed to "electron-filled" cells with the temperature *T_e_min* if -atoms move into them (currently only implemented for the case of -1-dimensional motion of flat surface normal to the X axis). The -initial borders of vacuum can be set in the *init_file* via *lsurface* -and *rsurface* parameters. In this case, electronic pressure gradient -is calculated as +unoccupied region in some simulations, the vacuum border can be allowed +to move. It is controlled by the *surface_movement* parameter in the +*init_file*. If it is set to 1, then "vacuum" cells can be changed to +"electron-filled" cells with the temperature *T_e_min* if atoms move +into them (currently only implemented for the case of 1-dimensional +motion of a flat surface normal to the X axis). The initial locations of +the interfaces of the electron density to the vacuum can be set in the +*init_file* via *lsurface* and *rsurface* parameters. In this case, +electronic pressure gradient is calculated as .. math:: diff --git a/src/EXTRA-FIX/fix_ttm_mod.cpp b/src/EXTRA-FIX/fix_ttm_mod.cpp index 79af414f0a..335acdd853 100644 --- a/src/EXTRA-FIX/fix_ttm_mod.cpp +++ b/src/EXTRA-FIX/fix_ttm_mod.cpp @@ -486,12 +486,12 @@ void FixTTMMod::read_parameters(const std::string &filename) reader.next_line(); intensity = reader.next_values(1).next_double(); - // coordinate of 1st surface in x-direction (in box units) - constant + // coordinate of 1st surface in x-direction (electron grid units) - constant reader.next_line(); surface_l = reader.next_values(1).next_int(); - // coordinate of 2nd surface in x-direction (in box units) - constant + // coordinate of 2nd surface in x-direction (electron grid units) - constant reader.next_line(); surface_r = reader.next_values(1).next_int(); From e19ad38c14d217e2bf7df223f6ee277353af0ded Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 3 Mar 2024 18:36:15 -0500 Subject: [PATCH 292/559] fix missing thread initialization exposed by LAMMPS-GUI --- src/OPENMP/fix_omp.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/OPENMP/fix_omp.cpp b/src/OPENMP/fix_omp.cpp index 3a249bad82..0bd36e26e8 100644 --- a/src/OPENMP/fix_omp.cpp +++ b/src/OPENMP/fix_omp.cpp @@ -167,6 +167,10 @@ void FixOMP::init() // adjust number of data objects when the number of OpenMP // threads has been changed somehow const int nthreads = comm->nthreads; +#if defined(_OPENMP) + // make certain threads are initialized correctly. avoids segfaults with LAMMPS-GUI + if (nthreads != omp_get_max_threads()) omp_set_num_threads(nthreads); +#endif if (_nthr != nthreads) { if (comm->me == 0) utils::logmesg(lmp,"Re-init OPENMP for {} OpenMP thread(s)\n", nthreads); From 3c8bb5a1be2987e4c0568a8f3b229a1472964511 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 3 Mar 2024 18:39:28 -0500 Subject: [PATCH 293/559] programming style update --- src/OPENMP/fix_omp.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/OPENMP/fix_omp.cpp b/src/OPENMP/fix_omp.cpp index 0bd36e26e8..f7828f43ee 100644 --- a/src/OPENMP/fix_omp.cpp +++ b/src/OPENMP/fix_omp.cpp @@ -161,8 +161,7 @@ void FixOMP::init() { // OPENMP package cannot be used with atom_style template if (atom->molecular == Atom::TEMPLATE) - error->all(FLERR,"OPENMP package does not (yet) work with " - "atom_style template"); + error->all(FLERR,"OPENMP package does not (yet) work with atom_style template"); // adjust number of data objects when the number of OpenMP // threads has been changed somehow @@ -216,7 +215,7 @@ void FixOMP::init() // kspace_split < 0 : master partition, does not do kspace // kspace_split > 0 : slave partition, only does kspace - if (strstr(update->integrate_style,"verlet/split") != nullptr) { + if (utils::strmatch(update->integrate_style, "^verlet/split")) { if (universe->iworld == 0) kspace_split = -1; else kspace_split = 1; } else { From 6e91123910d54354c5f2f23c5a58b402bf4b917c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 3 Mar 2024 23:58:33 -0500 Subject: [PATCH 294/559] try a different workaround for "fix not computed at compatible time" with write_dump --- src/write_dump.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/write_dump.cpp b/src/write_dump.cpp index 89dd48e0ba..0418d7c424 100644 --- a/src/write_dump.cpp +++ b/src/write_dump.cpp @@ -45,11 +45,15 @@ void WriteDump::command(int narg, char **arg) // create the Dump instance // create dump command line with extra required args + // work around "fix not computed at compatible times" errors. + + const int dumpfreq = MAX(1, update->nsteps); + auto dumpargs = new char *[modindex + 2]; - dumpargs[0] = (char *) "WRITE_DUMP"; // dump id - dumpargs[1] = arg[0]; // group - dumpargs[2] = arg[1]; // dump style - dumpargs[3] = utils::strdup(std::to_string(MAX(update->ntimestep, 1))); // dump frequency + dumpargs[0] = (char *) "WRITE_DUMP"; // dump id + dumpargs[1] = arg[0]; // group + dumpargs[2] = arg[1]; // dump style + dumpargs[3] = utils::strdup(std::to_string(dumpfreq)); // dump frequency for (int i = 2; i < modindex; ++i) dumpargs[i + 2] = arg[i]; From 8e6ce1d0b969dc0390f7e9d6408e4d57491b185a Mon Sep 17 00:00:00 2001 From: Ludwig Ahrens Date: Mon, 4 Mar 2024 08:52:05 +0100 Subject: [PATCH 295/559] Remove nonneut examples --- doc/src/fix_electrode.rst | 2 +- .../PACKAGES/electrode/graph-il/in.nonneut | 31 ----------------- .../PACKAGES/electrode/graph-il/in.nonneut2 | 33 ------------------- 3 files changed, 1 insertion(+), 65 deletions(-) delete mode 100644 examples/PACKAGES/electrode/graph-il/in.nonneut delete mode 100644 examples/PACKAGES/electrode/graph-il/in.nonneut2 diff --git a/doc/src/fix_electrode.rst b/doc/src/fix_electrode.rst index d807da7fd2..3759ff23ca 100644 --- a/doc/src/fix_electrode.rst +++ b/doc/src/fix_electrode.rst @@ -45,7 +45,7 @@ Syntax rng_v = integer used to initialize random number generator * zero or more keyword/value pairs may be appended -* keyword = *algo* or *symm* or *couple* or *etypes* or *ffield* or *write_mat* or *write_inv* or *read_mat* or *read_inv* or *qtotal* +* keyword = *algo* or *symm* or *couple* or *etypes* or *ffield* or *write_mat* or *write_inv* or *read_mat* or *read_inv* or *qtotal* or *eta* .. parsed-literal:: diff --git a/examples/PACKAGES/electrode/graph-il/in.nonneut b/examples/PACKAGES/electrode/graph-il/in.nonneut deleted file mode 100644 index 3027faf0cc..0000000000 --- a/examples/PACKAGES/electrode/graph-il/in.nonneut +++ /dev/null @@ -1,31 +0,0 @@ -# electrodes, overall non-neutral -# for graphene-ionic liquid supercapacitor - -boundary p p f # slab calculation -include settings.mod # styles, groups, computes and fixes -kspace_modify slab 3.0 - -# make an extra anion -variable qmodify index 1 -variable vdiff index 1 -# these values can be changed, e.g. ${LAMMPS_EXECUTABLE} -i in.nonneut -var qmodify 0.9 -var vdiff -2 -# fix electrode/* needs equal style variables: -variable qmodify_equal equal v_qmodify -variable vdiff_equal equal v_vdiff - -create_atoms 4 single 16.1 17.2 0 -set atom 3777 charge $(-v_qmodify) - -fix c top electrode/conp v_vdiff_equal 1.979 couple bot 0 etypes on qtotal v_qmodify_equal -# to test electrode/thermo: -# variable vbot equal 0 -# fix c top electrode/thermo v_vdiff_equal 1.979 couple bot v_vbot etypes on qtotal v_qmodify_equal temp 310 100 12309 # symm on - -variable dv equal f_c[1]-f_c[2] - -variable qelec equal c_qbot+c_qtop -compute qall all reduce sum v_q # total system charge - -thermo 50 -thermo_style custom step temp c_ctemp epair etotal c_qbot c_qtop f_c[1] f_c[2] v_dv v_qelec c_qall -run 500 diff --git a/examples/PACKAGES/electrode/graph-il/in.nonneut2 b/examples/PACKAGES/electrode/graph-il/in.nonneut2 deleted file mode 100644 index c73eee5db3..0000000000 --- a/examples/PACKAGES/electrode/graph-il/in.nonneut2 +++ /dev/null @@ -1,33 +0,0 @@ -# electrodes, overall non-neutral -# for graphene-ionic liquid supercapacitor - -boundary p p f # slab calculation -include settings.mod # styles, groups, computes and fixes -kspace_modify slab 3.0 - -# make an extra anion -variable qmodify index 1 -variable vdiff index 1 -# these values can be changed, e.g. ${LAMMPS_EXECUTABLE} -i in.nonneut -var qmodify 0.9 -var vdiff -2 -create_atoms 4 single 16.1 17.2 0 -set atom 3777 charge $(-v_qmodify) - -fix c top electrode/conp v_vtop 1.979 couple bot v_vbot etypes on # symm on -# to test electrode/thermo: -#fix c top electrode/thermo v_vtop 1.979 couple bot v_vbot etypes on temp 310 100 12309 symm off -#but it looks like update_psi() is hardwired to impose electroneutrality - -variable csum equal f_c[1][2]+f_c[1][3]+f_c[2][2]+f_c[2][3] -variable cdiff equal 0.5*(f_c[1][2]-f_c[2][3]) -variable qdeficit equal v_qmodify-f_c[1][1]-f_c[2][1]-v_cdiff*v_vdiff -variable vphi equal v_qdeficit/v_csum -variable vtop equal v_vphi+0.5*v_vdiff -variable vbot equal v_vphi-0.5*v_vdiff -variable dv equal v_vtop-v_vbot - -variable qelec equal c_qbot+c_qtop -compute qall all reduce sum v_q # total system charge - -thermo 50 -thermo_style custom step temp c_ctemp epair etotal c_qbot c_qtop f_c[1] f_c[2] v_dv v_qelec c_qall -run 500 From 6a1f1f7dbccabe0d6397fecee79c977159e28fac Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 4 Mar 2024 09:25:07 -0500 Subject: [PATCH 296/559] add missing symlink --- examples/meam/msmeam/library.msmeam | 1 + 1 file changed, 1 insertion(+) create mode 120000 examples/meam/msmeam/library.msmeam diff --git a/examples/meam/msmeam/library.msmeam b/examples/meam/msmeam/library.msmeam new file mode 120000 index 0000000000..2226ef99da --- /dev/null +++ b/examples/meam/msmeam/library.msmeam @@ -0,0 +1 @@ +../../../potentials/library.msmeam \ No newline at end of file From 0a32cd6c7f68c1a3eb916f5ba0bfe02eb142e1c1 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 4 Mar 2024 09:45:54 -0500 Subject: [PATCH 297/559] avoid redundant constant definition --- src/ELECTRODE/electrode_math.h | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/ELECTRODE/electrode_math.h b/src/ELECTRODE/electrode_math.h index 08689a5adc..0c13076c70 100644 --- a/src/ELECTRODE/electrode_math.h +++ b/src/ELECTRODE/electrode_math.h @@ -18,18 +18,14 @@ #ifndef LMP_ELECTRODE_MATH_H #define LMP_ELECTRODE_MATH_H +#include "ewald_const.h" #include "math.h" #include "math_const.h" namespace LAMMPS_NS { +using namespace EwaldConst; namespace ElectrodeMath { - static constexpr double EWALD_P = 0.3275911; - static constexpr double A1 = 0.254829592; - static constexpr double A2 = -0.284496736; - static constexpr double A3 = 1.421413741; - static constexpr double A4 = -1.453152027; - static constexpr double A5 = 1.061405429; static constexpr double ERFCMAX = 5.8; // erfc(ERFCMAX) < machine epsilon(double) static double safe_erfc(double x) From 393fd164db2debe4bb34df2142bf01163a051b91 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 4 Mar 2024 09:46:14 -0500 Subject: [PATCH 298/559] small conding style updates --- src/ELECTRODE/electrode_math.h | 11 ++++++----- src/ELECTRODE/electrode_vector.cpp | 6 +++--- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/ELECTRODE/electrode_math.h b/src/ELECTRODE/electrode_math.h index 0c13076c70..4a3cb7bac4 100644 --- a/src/ELECTRODE/electrode_math.h +++ b/src/ELECTRODE/electrode_math.h @@ -19,9 +19,10 @@ #define LMP_ELECTRODE_MATH_H #include "ewald_const.h" -#include "math.h" #include "math_const.h" +#include + namespace LAMMPS_NS { using namespace EwaldConst; @@ -30,7 +31,7 @@ namespace ElectrodeMath { static double safe_erfc(double x) { - if (x > ERFCMAX) return 0.; + if (x > ERFCMAX) return 0.0; double expm2 = exp(-x * x); double t = 1.0 / (1.0 + EWALD_P * x); return t * (A1 + t * (A2 + t * (A3 + t * (A4 + t * A5)))) * expm2; @@ -39,14 +40,14 @@ namespace ElectrodeMath { static double safe_derfcr(double x, double &erfc) { if (x > ERFCMAX) { - erfc = 0.; - return 0.; + erfc = 0.0; + return 0.0; } double x2 = x * x; double expm2 = exp(-x2); double t = 1.0 / (1.0 + EWALD_P * x); erfc = t * (A1 + t * (A2 + t * (A3 + t * (A4 + t * A5)))) * expm2; - return -erfc - 2 * expm2 * x / MathConst::MY_PIS; + return -erfc - 2.0 * expm2 * x / MathConst::MY_PIS; } } // namespace ElectrodeMath diff --git a/src/ELECTRODE/electrode_vector.cpp b/src/ELECTRODE/electrode_vector.cpp index 10125f6325..fc2cca5e46 100644 --- a/src/ELECTRODE/electrode_vector.cpp +++ b/src/ELECTRODE/electrode_vector.cpp @@ -170,11 +170,11 @@ void ElectrodeVector::pair_contribution(double *vector) if (rsq >= cutsq[itype][jtype]) continue; double const eta_j = etaflag ? atom->dvector[eta_index][j] : eta; double etaij; - if (i_in_sensor && j_in_sensor) + if (i_in_sensor && j_in_sensor) { etaij = eta_i * eta_j / sqrt(eta_i * eta_i + eta_j * eta_j); - else if (i_in_sensor) + } else if (i_in_sensor) { etaij = eta_i; - else { + } else { assert(j_in_sensor); etaij = eta_j; } From c7b622699dc2615a665d9a4aef2fe2ac9119f6d1 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 4 Mar 2024 09:46:34 -0500 Subject: [PATCH 299/559] regenerate test reference data --- .../tests/kspace-ewald_conp_charge.yaml | 55 +++++++++--------- .../tests/kspace-pppm_conp_charge.yaml | 57 +++++++++---------- 2 files changed, 55 insertions(+), 57 deletions(-) diff --git a/unittest/force-styles/tests/kspace-ewald_conp_charge.yaml b/unittest/force-styles/tests/kspace-ewald_conp_charge.yaml index 9a09a933a4..9bc190a766 100644 --- a/unittest/force-styles/tests/kspace-ewald_conp_charge.yaml +++ b/unittest/force-styles/tests/kspace-ewald_conp_charge.yaml @@ -1,7 +1,6 @@ --- -lammps_version: 3 Nov 2022 -tags: generated -date_generated: Fri Dec 16 10:49:39 2022 +lammps_version: 7 Feb 2024 +date_generated: Mon Mar 4 09:44:30 2024 epsilon: 1e-12 skip_tests: gpu kokkos_omp omp prerequisites: ! | @@ -29,18 +28,18 @@ init_coul: 2.215589572896434 init_stress: ! |2- 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 init_forces: ! |2 - 1 2.0780648532795694e-04 1.9949672015209204e-03 3.1005914149473996e+00 - 2 -1.6777235182686288e-02 2.1481432256290419e-03 3.0881659196467988e+00 - 3 6.0082164895554737e-04 5.1573260226633801e-03 3.1029192412328555e+00 - 4 -1.6728974802490675e-02 6.1174723156886242e-03 3.0909324782862346e+00 - 5 4.2029366155132378e-02 -2.3455526736195693e-03 -1.5659617577954634e+00 - 6 5.5635790919204904e-02 -2.4542947062522369e-03 -1.5693827709331334e+00 - 7 4.2014920784252008e-02 -7.5287470219125008e-04 -1.5671265392163820e+00 - 8 5.5808767852333470e-02 -9.9105389808573120e-04 -1.5707104957299389e+00 - 9 -5.0959878750421551e-02 -2.3630298689785601e-03 -1.5769250181497101e+00 - 10 -3.3526564930579039e-02 -2.3802275431282884e-03 -1.5617801011657175e+00 - 11 -5.1236396351794389e-02 -4.9531100598979201e-04 -1.5779995894034005e+00 - 12 -3.3740693032952060e-02 -1.0210406243572182e-03 -1.5630986537874150e+00 + 1 2.0780648532797705e-04 1.9949672015210172e-03 3.1005914149473988e+00 + 2 -1.6777235182686239e-02 2.1481432256291962e-03 3.0881659196467979e+00 + 3 6.0082164895566240e-04 5.1573260226632518e-03 3.1029192412328550e+00 + 4 -1.6728974802490665e-02 6.1174723156885227e-03 3.0909324782862333e+00 + 5 4.2029366155132364e-02 -2.3455526736195940e-03 -1.5659617577954636e+00 + 6 5.5635790919204904e-02 -2.4542947062522933e-03 -1.5693827709331336e+00 + 7 4.2014920784251980e-02 -7.5287470219118655e-04 -1.5671265392163822e+00 + 8 5.5808767852333491e-02 -9.9105389808568046e-04 -1.5707104957299391e+00 + 9 -5.0959878750421538e-02 -2.3630298689785965e-03 -1.5769250181497101e+00 + 10 -3.3526564930579081e-02 -2.3802275431283552e-03 -1.5617801011657175e+00 + 11 -5.1236396351794437e-02 -4.9531100598972577e-04 -1.5779995894034005e+00 + 12 -3.3740693032952088e-02 -1.0210406243571744e-03 -1.5630986537874152e+00 13 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 14 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 15 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 @@ -74,22 +73,22 @@ init_forces: ! |2 43 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 44 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 run_vdwl: 0 -run_coul: 6.662694556930399 +run_coul: 6.662694556930397 run_stress: ! |2- 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 run_forces: ! |2 - 1 2.4590683616589461e-04 1.9614031577863586e-03 3.0874292323214023e+00 - 2 -1.6646391056109371e-02 2.1136931488457949e-03 3.0751133344119812e+00 - 3 6.3535284261970041e-04 5.1012486499622143e-03 3.0897301693141319e+00 - 4 -1.6598674977089525e-02 6.0535154273403009e-03 3.0778495712965137e+00 - 5 4.2257890248609424e-02 -2.3028528771735519e-03 -1.5593100743454233e+00 - 6 5.5690508840794913e-02 -2.4104716736065191e-03 -1.5626897684026875e+00 - 7 4.2243974848895624e-02 -7.6153214117135259e-04 -1.5604618407191599e+00 - 8 5.5862704771247232e-02 -9.9825804058303641e-04 -1.5640031157582626e+00 - 9 -5.1059412079591339e-02 -2.3195548367148278e-03 -1.5701677996288432e+00 - 10 -3.3824301875619064e-02 -2.3375517362836449e-03 -1.5551647759943841e+00 - 11 -5.1334081278836839e-02 -5.0583707575588808e-04 -1.5712298590599834e+00 - 12 -3.4037366496628307e-02 -1.0275977984217531e-03 -1.5564691169384570e+00 + 1 2.4590683616588566e-04 1.9614031577864796e-03 3.0874292323214036e+00 + 2 -1.6646391056109287e-02 2.1136931488459688e-03 3.0751133344119794e+00 + 3 6.3535284261976926e-04 5.1012486499620825e-03 3.0897301693141319e+00 + 4 -1.6598674977089559e-02 6.0535154273402107e-03 3.0778495712965124e+00 + 5 4.2257890248609438e-02 -2.3028528771736243e-03 -1.5593100743454236e+00 + 6 5.5690508840794850e-02 -2.4104716736066006e-03 -1.5626897684026868e+00 + 7 4.2243974848895645e-02 -7.6153214117129057e-04 -1.5604618407191602e+00 + 8 5.5862704771247280e-02 -9.9825804058299890e-04 -1.5640031157582626e+00 + 9 -5.1059412079591346e-02 -2.3195548367148894e-03 -1.5701677996288432e+00 + 10 -3.3824301875619085e-02 -2.3375517362837230e-03 -1.5551647759943836e+00 + 11 -5.1334081278836916e-02 -5.0583707575582921e-04 -1.5712298590599834e+00 + 12 -3.4037366496628307e-02 -1.0275977984217173e-03 -1.5564691169384559e+00 13 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 14 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 15 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 diff --git a/unittest/force-styles/tests/kspace-pppm_conp_charge.yaml b/unittest/force-styles/tests/kspace-pppm_conp_charge.yaml index 9322cae321..38161ee044 100644 --- a/unittest/force-styles/tests/kspace-pppm_conp_charge.yaml +++ b/unittest/force-styles/tests/kspace-pppm_conp_charge.yaml @@ -1,7 +1,6 @@ --- -lammps_version: 3 Nov 2022 -tags: generated -date_generated: Fri Dec 16 10:53:11 2022 +lammps_version: 7 Feb 2024 +date_generated: Mon Mar 4 09:44:31 2024 epsilon: 3e-12 skip_tests: gpu kokkos_omp omp prerequisites: ! | @@ -25,22 +24,22 @@ pair_coeff: ! | extract: ! "" natoms: 44 init_vdwl: 0 -init_coul: 2.2156402256727743 +init_coul: 2.215640225672775 init_stress: ! |2- 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 init_forces: ! |2 - 1 2.0996096688278619e-04 1.9837586784579742e-03 3.1004822661058862e+00 - 2 -1.6783332510618001e-02 2.1368843599407208e-03 3.0880130470329266e+00 - 3 6.0300296042516458e-04 5.1688381279906756e-03 3.1028182137891149e+00 - 4 -1.6735061532951023e-02 6.1290626039691648e-03 3.0907879891042778e+00 - 5 4.2014131860757892e-02 -2.3478381081742106e-03 -1.5658874682481501e+00 - 6 5.5659823770659464e-02 -2.4566144388410275e-03 -1.5693278833316524e+00 - 7 4.1999624791768830e-02 -7.5066218795246862e-04 -1.5670569809441637e+00 - 8 5.5832732887661912e-02 -9.8883264742175101e-04 -1.5706605160409157e+00 - 9 -5.0976953599115776e-02 -2.3653810185280764e-03 -1.5768945194236081e+00 - 10 -3.3513771125456580e-02 -2.3824712764543249e-03 -1.5616806812004898e+00 - 11 -5.1253442064492706e-02 -4.9304425051534804e-04 -1.5779738349804435e+00 - 12 -3.3727836471637108e-02 -1.0188844490583379e-03 -1.5630041309277052e+00 + 1 2.0996096688288336e-04 1.9837586784579777e-03 3.1004822661058866e+00 + 2 -1.6783332510618088e-02 2.1368843599407052e-03 3.0880130470329270e+00 + 3 6.0300296042527755e-04 5.1688381279906869e-03 3.1028182137891140e+00 + 4 -1.6735061532951116e-02 6.1290626039692056e-03 3.0907879891042778e+00 + 5 4.2014131860757857e-02 -2.3478381081742123e-03 -1.5658874682481501e+00 + 6 5.5659823770659547e-02 -2.4566144388410201e-03 -1.5693278833316524e+00 + 7 4.1999624791768810e-02 -7.5066218795247393e-04 -1.5670569809441637e+00 + 8 5.5832732887661961e-02 -9.8883264742177161e-04 -1.5706605160409157e+00 + 9 -5.0976953599115846e-02 -2.3653810185280759e-03 -1.5768945194236084e+00 + 10 -3.3513771125456573e-02 -2.3824712764543218e-03 -1.5616806812004898e+00 + 11 -5.1253442064492769e-02 -4.9304425051536007e-04 -1.5779738349804435e+00 + 12 -3.3727836471637081e-02 -1.0188844490583557e-03 -1.5630041309277052e+00 13 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 14 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 15 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 @@ -74,22 +73,22 @@ init_forces: ! |2 43 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 44 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 run_vdwl: 0 -run_coul: 6.662844644802018 +run_coul: 6.662844644802024 run_stress: ! |2- 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 run_forces: ! |2 - 1 2.4838446863948484e-04 1.9503788466162767e-03 3.0873204426106526e+00 - 2 -1.6652790386576983e-02 2.1026187422225470e-03 3.0749612676149027e+00 - 3 6.3785749905503929e-04 5.1125747155211223e-03 3.0896293958296615e+00 - 4 -1.6605063813844967e-02 6.0649203065202420e-03 3.0777057807809554e+00 - 5 4.2242722672783783e-02 -2.3050714764837449e-03 -1.5592361985876177e+00 - 6 5.5714273062644280e-02 -2.4127236407636868e-03 -1.5626351195306318e+00 - 7 4.2228746222139874e-02 -7.5938674438442175e-04 -1.5603926320308752e+00 - 8 5.5886401300220823e-02 -9.9610508505007457e-04 -1.5639533086735800e+00 - 9 -5.1076262902731109e-02 -2.3218371704875071e-03 -1.5701372726008265e+00 - 10 -3.3811561421032664e-02 -2.3397296264742753e-03 -1.5550660436064545e+00 - 11 -5.1350902848165472e-02 -5.0363947736730796e-04 -1.5712040115797643e+00 - 12 -3.4024564072498598e-02 -1.0255079009805080e-03 -1.5563752159595892e+00 + 1 2.4838446863956616e-04 1.9503788466163226e-03 3.0873204426106526e+00 + 2 -1.6652790386577014e-02 2.1026187422225435e-03 3.0749612676149027e+00 + 3 6.3785749905510489e-04 5.1125747155211397e-03 3.0896293958296610e+00 + 4 -1.6605063813845172e-02 6.0649203065202620e-03 3.0777057807809554e+00 + 5 4.2242722672783749e-02 -2.3050714764837649e-03 -1.5592361985876177e+00 + 6 5.5714273062644336e-02 -2.4127236407636803e-03 -1.5626351195306318e+00 + 7 4.2228746222139832e-02 -7.5938674438442760e-04 -1.5603926320308752e+00 + 8 5.5886401300220948e-02 -9.9610508505008281e-04 -1.5639533086735800e+00 + 9 -5.1076262902731158e-02 -2.3218371704875301e-03 -1.5701372726008263e+00 + 10 -3.3811561421032657e-02 -2.3397296264742822e-03 -1.5550660436064543e+00 + 11 -5.1350902848165500e-02 -5.0363947736732217e-04 -1.5712040115797643e+00 + 12 -3.4024564072498521e-02 -1.0255079009805182e-03 -1.5563752159595889e+00 13 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 14 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 15 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 From 5177b50fda5a84694840549842b2a9c93cefeab6 Mon Sep 17 00:00:00 2001 From: Joel Thomas Clemmer Date: Mon, 4 Mar 2024 09:23:09 -0700 Subject: [PATCH 300/559] Updating multi+narg errors for fix nonaffine --- src/EXTRA-FIX/fix_nonaffine_displacement.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/EXTRA-FIX/fix_nonaffine_displacement.cpp b/src/EXTRA-FIX/fix_nonaffine_displacement.cpp index 06702c408b..4749f3d171 100644 --- a/src/EXTRA-FIX/fix_nonaffine_displacement.cpp +++ b/src/EXTRA-FIX/fix_nonaffine_displacement.cpp @@ -67,7 +67,7 @@ static const char cite_nonaffine_d2min[] = FixNonaffineDisplacement::FixNonaffineDisplacement(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), id_fix(nullptr), X(nullptr), Y(nullptr), F(nullptr), norm(nullptr) { - if (narg < 4) error->all(FLERR,"Illegal fix nonaffine/displacement command"); + if (narg < 4) utils::missing_cmd_args(FLERR,"fix nonaffine/displacement", error); nevery = utils::inumeric(FLERR, arg[3], false, lmp); if (nevery <= 0) error->all(FLERR,"Illegal nevery value {} in fix nonaffine/displacement", nevery); @@ -79,14 +79,16 @@ FixNonaffineDisplacement::FixNonaffineDisplacement(LAMMPS *lmp, int narg, char * nevery = 1; iarg += 1; } else if (strcmp(arg[iarg], "d2min") == 0) { - if (iarg + 1 > narg) error->all(FLERR,"Illegal fix nonaffine/displacement command"); + if (iarg + 1 > narg) utils::missing_cmd_args(FLERR,"fix nonaffine/displacement d2min", error); nad_style = D2MIN; if (strcmp(arg[iarg + 1], "type") == 0) { cut_style = TYPE; } else if (strcmp(arg[iarg + 1], "radius") == 0) { cut_style = RADIUS; } else if (strcmp(arg[iarg + 1], "custom") == 0) { - if (iarg + 2 > narg) error->all(FLERR,"Illegal fix nonaffine/displacement command"); + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR,"fix nonaffine/displacement custom", error); + if ((neighbor->style == Neighbor::MULTI) || (neighbor->style == Neighbor::MULTI_OLD)) + error->all(FLERR, "Fix nonaffine/displacement with custom cutoff requires neighbor style 'bin' or 'nsq'"); cut_style = CUSTOM; cutoff_custom = utils::numeric(FLERR, arg[iarg + 2], false, lmp); cutsq_custom = cutoff_custom * cutoff_custom; @@ -97,7 +99,7 @@ FixNonaffineDisplacement::FixNonaffineDisplacement(LAMMPS *lmp, int narg, char * iarg += 2; } else error->all(FLERR,"Illegal nonaffine displacement style {} in fix nonaffine/displacement", arg[iarg]); - if (iarg + 2 > narg) error->all(FLERR,"Illegal fix nonaffine/displacement command"); + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR,"fix nonaffine/displacement", error); if (strcmp(arg[iarg], "fixed") == 0) { reference_style = FIXED; reference_timestep = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); @@ -207,6 +209,9 @@ void FixNonaffineDisplacement::init() } else { auto req = neighbor->add_request(this, NeighConst::REQ_OCCASIONAL); if (cut_style == CUSTOM) { + if ((neighbor->style == Neighbor::MULTI) || (neighbor->style == Neighbor::MULTI_OLD)) + error->all(FLERR, "Fix nonaffine/displacement with custom cutoff requires neighbor style 'bin' or 'nsq'"); + double skin = neighbor->skin; mycutneigh = cutoff_custom + skin; From a4a171a55ee39ca2546484bca04389527afe4019 Mon Sep 17 00:00:00 2001 From: Joel Thomas Clemmer Date: Mon, 4 Mar 2024 11:14:29 -0700 Subject: [PATCH 301/559] Clarifying ambiguous variables --- src/EXTRA-FIX/fix_nonaffine_displacement.cpp | 38 ++++++++++++-------- src/EXTRA-FIX/fix_nonaffine_displacement.h | 2 +- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/src/EXTRA-FIX/fix_nonaffine_displacement.cpp b/src/EXTRA-FIX/fix_nonaffine_displacement.cpp index 4749f3d171..c91f37b961 100644 --- a/src/EXTRA-FIX/fix_nonaffine_displacement.cpp +++ b/src/EXTRA-FIX/fix_nonaffine_displacement.cpp @@ -65,7 +65,7 @@ static const char cite_nonaffine_d2min[] = /* ---------------------------------------------------------------------- */ FixNonaffineDisplacement::FixNonaffineDisplacement(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg), id_fix(nullptr), X(nullptr), Y(nullptr), F(nullptr), norm(nullptr) + Fix(lmp, narg, arg), id_fix(nullptr), X(nullptr), Y(nullptr), F(nullptr), norm(nullptr), D2min(nullptr) { if (narg < 4) utils::missing_cmd_args(FLERR,"fix nonaffine/displacement", error); @@ -153,6 +153,7 @@ FixNonaffineDisplacement::~FixNonaffineDisplacement() memory->destroy(Y); memory->destroy(F); memory->destroy(norm); + memory->destroy(D2min); memory->destroy(array_atom); } } @@ -178,8 +179,7 @@ void FixNonaffineDisplacement::post_constructor() id_fix = utils::strdup(id + std::string("_FIX_PA")); fix = dynamic_cast(modify->add_fix(fmt::format("{} {} STORE/ATOM 3 0 {} 1", id_fix, group->names[igroup], ghost_status))); - if (nad_style == INTEGRATED) - array_atom = fix->astore; + array_atom = fix->astore; if (nad_style == D2MIN) grow_arrays(atom->nmax); @@ -297,14 +297,17 @@ void FixNonaffineDisplacement::integrate_velocity() int *mask = atom->mask; int nlocal = atom->nlocal; + double **x_nonaffine = fix->astore; for (int m = 0; m < 3; m++) { for (int i = 0; i < nlocal; i++) { if (mask[i] & groupbit) { - array_atom[i][m] += dtv * v[i][m]; + x_nonaffine[i][m] += dtv * v[i][m]; } } } + + array_atom = x_nonaffine; } /* ---------------------------------------------------------------------- */ @@ -312,6 +315,7 @@ void FixNonaffineDisplacement::integrate_velocity() void FixNonaffineDisplacement::save_reference_state() { double **x = atom->x; + double **x0 = fix->astore; int *mask = atom->mask; int nlocal = atom->nlocal; @@ -320,13 +324,13 @@ void FixNonaffineDisplacement::save_reference_state() if (nad_style == D2MIN) { for (int m = 0; m < 3; m++) { for (int i = 0; i < nall; i++) { - if (mask[i] & groupbit) array_atom[i][m] = x[i][m]; + if (mask[i] & groupbit) x0[i][m] = x[i][m]; } } } else { for (int m = 0; m < 3; m++) { for (int i = 0; i < nall; i++) { - if (mask[i] & groupbit) array_atom[i][m] = 0.0; + if (mask[i] & groupbit) x0[i][m] = 0.0; } } } @@ -364,7 +368,7 @@ void FixNonaffineDisplacement::calculate_D2Min() int *ilist, *jlist, *numneigh, **firstneigh; double **x = atom->x; - double **x0 = array_atom; + double **x0 = fix->astore; double *radius = atom->radius; int *type = atom->type; int *mask = atom->mask; @@ -389,7 +393,7 @@ void FixNonaffineDisplacement::calculate_D2Min() } } norm[i] = 0; - array_atom[i][0] = 0; + D2min[i] = 0; } // First loop through neighbors @@ -530,7 +534,7 @@ void FixNonaffineDisplacement::calculate_D2Min() } sub3(r, temp, temp); - array_atom[i][0] += lensq3(temp); + D2min[i] += lensq3(temp); norm[i] += 1; if (newton_pair || j < nlocal) { @@ -541,7 +545,7 @@ void FixNonaffineDisplacement::calculate_D2Min() } sub3(r, temp, temp); - array_atom[j][0] += lensq3(temp); + D2min[j] += lensq3(temp); norm[j] += 1; } } @@ -554,10 +558,9 @@ void FixNonaffineDisplacement::calculate_D2Min() if (!(mask[i] & groupbit)) continue; if (norm[i] != 0) - array_atom[i][0] /= norm[i]; + D2min[i] /= norm[i]; else - array_atom[i][0] = 0.0; - array_atom[i][0] = sqrt(array_atom[i][0]); + D2min[i] = 0.0; for (j = 0; j < 3; j++) for (k = 0; k < 3; k++) @@ -577,6 +580,7 @@ void FixNonaffineDisplacement::calculate_D2Min() edev = sqrt(0.5 * j2); + array_atom[i][0] = sqrt(D2min[i]); array_atom[i][1] = evol; array_atom[i][2] = edev; } @@ -599,7 +603,7 @@ int FixNonaffineDisplacement::pack_reverse_comm(int n, int first, double *buf) } } } else { - buf[m++] = array_atom[i][0]; + buf[m++] = D2min[i]; buf[m++] = ubuf(norm[i]).d; } } @@ -623,7 +627,7 @@ void FixNonaffineDisplacement::unpack_reverse_comm(int n, int *list, double *buf } } } else { - array_atom[j][0] += buf[m++]; + D2min[j] += buf[m++]; norm[j] += (int) ubuf(buf[m++]).i; } } @@ -732,9 +736,13 @@ void FixNonaffineDisplacement::grow_arrays(int nmax_new) memory->destroy(X); memory->destroy(Y); memory->destroy(F); + memory->destroy(D2min); memory->destroy(norm); + memory->destroy(array_atom); memory->create(X, nmax, 3, 3, "fix_nonaffine_displacement:X"); memory->create(Y, nmax, 3, 3, "fix_nonaffine_displacement:Y"); memory->create(F, nmax, 3, 3, "fix_nonaffine_displacement:F"); + memory->create(D2min, nmax, "fix_nonaffine_displacement:D2min"); memory->create(norm, nmax, "fix_nonaffine_displacement:norm"); + memory->create(array_atom, nmax, "fix_nonaffine_displacement:array_atom"); } diff --git a/src/EXTRA-FIX/fix_nonaffine_displacement.h b/src/EXTRA-FIX/fix_nonaffine_displacement.h index 3341ab1834..79dbdabf49 100644 --- a/src/EXTRA-FIX/fix_nonaffine_displacement.h +++ b/src/EXTRA-FIX/fix_nonaffine_displacement.h @@ -52,7 +52,7 @@ class FixNonaffineDisplacement : public Fix { double cutoff_custom, cutsq_custom, mycutneigh; double xprd0, yprd0, zprd0, xprd0_half, yprd0_half, zprd0_half, xy0, xz0, yz0; - double ***X, ***Y, ***F; + double *D2min, ***X, ***Y, ***F; int *norm; class NeighList *list; // half neighbor list From 1949953c0cd8812170d6224afa6e53f040e99229 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Mon, 4 Mar 2024 21:01:23 -0700 Subject: [PATCH 302/559] Clarifying more variables, enabling offset option with integration style --- doc/src/fix_nonaffine_displacement.rst | 4 +- src/EXTRA-FIX/fix_nonaffine_displacement.cpp | 50 ++++++++++---------- 2 files changed, 28 insertions(+), 26 deletions(-) diff --git a/doc/src/fix_nonaffine_displacement.rst b/doc/src/fix_nonaffine_displacement.rst index c6dfbc2e49..0a271ebc32 100644 --- a/doc/src/fix_nonaffine_displacement.rst +++ b/doc/src/fix_nonaffine_displacement.rst @@ -86,8 +86,8 @@ Both of these methods require defining a reference state. With the *fixed* refer style, the user picks a specific timestep *nstep* at which particle positions are saved. If peratom data is accessed from this compute prior to this timestep, it will simply be zeroed. The *update* reference style implies the reference state will be updated every -*nstep* timesteps. The *offset* reference only applies to the *d2min* metric and will -update the reference state *nstep* timesteps before a multiple of *nevery* timesteps. +*nstep* timesteps. The *offset* reference will update the reference state *nstep* +timesteps before a multiple of *nevery* timesteps. ---------- diff --git a/src/EXTRA-FIX/fix_nonaffine_displacement.cpp b/src/EXTRA-FIX/fix_nonaffine_displacement.cpp index c91f37b961..ee14822e98 100644 --- a/src/EXTRA-FIX/fix_nonaffine_displacement.cpp +++ b/src/EXTRA-FIX/fix_nonaffine_displacement.cpp @@ -76,7 +76,6 @@ FixNonaffineDisplacement::FixNonaffineDisplacement(LAMMPS *lmp, int narg, char * int iarg = 4; if (strcmp(arg[iarg], "integrated") == 0) { nad_style = INTEGRATED; - nevery = 1; iarg += 1; } else if (strcmp(arg[iarg], "d2min") == 0) { if (iarg + 1 > narg) utils::missing_cmd_args(FLERR,"fix nonaffine/displacement d2min", error); @@ -108,7 +107,7 @@ FixNonaffineDisplacement::FixNonaffineDisplacement(LAMMPS *lmp, int narg, char * } else if (strcmp(arg[iarg], "update") == 0) { reference_style = UPDATE; update_timestep = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); - if (update_timestep < 0) + if (update_timestep <= 0) error->all(FLERR, "Illegal update timestep {} in fix nonaffine/displacement", arg[iarg + 1]); } else if (strcmp(arg[iarg], "offset") == 0) { reference_style = OFFSET; @@ -121,9 +120,6 @@ FixNonaffineDisplacement::FixNonaffineDisplacement(LAMMPS *lmp, int narg, char * if (cut_style == RADIUS && (!atom->radius_flag)) error->all(FLERR, "Fix nonaffine/displacement radius style requires atom attribute radius"); - if (nad_style == INTEGRATED && reference_style == OFFSET) - error->all(FLERR, "Fix nonaffine/displacement cannot use the integrated style with an offset reference state"); - peratom_flag = 1; peratom_freq = nevery; nmax = -1; @@ -154,8 +150,9 @@ FixNonaffineDisplacement::~FixNonaffineDisplacement() memory->destroy(F); memory->destroy(norm); memory->destroy(D2min); - memory->destroy(array_atom); } + + memory->destroy(array_atom); } /* ---------------------------------------------------------------------- */ @@ -179,11 +176,7 @@ void FixNonaffineDisplacement::post_constructor() id_fix = utils::strdup(id + std::string("_FIX_PA")); fix = dynamic_cast(modify->add_fix(fmt::format("{} {} STORE/ATOM 3 0 {} 1", id_fix, group->names[igroup], ghost_status))); - array_atom = fix->astore; - - if (nad_style == D2MIN) - grow_arrays(atom->nmax); - + grow_arrays(atom->nmax); for (int i = 0; i < atom->nlocal; i++) for (int j = 0; j < 3; j++) array_atom[i][j] = 0.0; } @@ -251,6 +244,15 @@ void FixNonaffineDisplacement::post_force(int /*vflag*/) if (reference_saved && (!update->setupflag)) { if (nad_style == INTEGRATED) { integrate_velocity(); + if ((update->ntimestep % nevery) == 0) { + if (atom->nmax > nmax) + grow_arrays(atom->nmax); + + double **x_nonaffine = fix->astore; + for (int i = 0; i < atom->nlocal; i++) + for (int m = 0; m < 3; m++) + array_atom[i][m] = x_nonaffine[i][m]; + } } else { if ((update->ntimestep % nevery) == 0) calculate_D2Min(); } @@ -306,8 +308,6 @@ void FixNonaffineDisplacement::integrate_velocity() } } } - - array_atom = x_nonaffine; } /* ---------------------------------------------------------------------- */ @@ -733,16 +733,18 @@ void FixNonaffineDisplacement::minimum_image0(double *delta) void FixNonaffineDisplacement::grow_arrays(int nmax_new) { nmax = nmax_new; - memory->destroy(X); - memory->destroy(Y); - memory->destroy(F); - memory->destroy(D2min); - memory->destroy(norm); memory->destroy(array_atom); - memory->create(X, nmax, 3, 3, "fix_nonaffine_displacement:X"); - memory->create(Y, nmax, 3, 3, "fix_nonaffine_displacement:Y"); - memory->create(F, nmax, 3, 3, "fix_nonaffine_displacement:F"); - memory->create(D2min, nmax, "fix_nonaffine_displacement:D2min"); - memory->create(norm, nmax, "fix_nonaffine_displacement:norm"); - memory->create(array_atom, nmax, "fix_nonaffine_displacement:array_atom"); + memory->create(array_atom, nmax, 3, "fix_nonaffine_displacement:array_atom"); + if (nad_style == D2MIN) { + memory->destroy(X); + memory->destroy(Y); + memory->destroy(F); + memory->destroy(D2min); + memory->destroy(norm); + memory->create(X, nmax, 3, 3, "fix_nonaffine_displacement:X"); + memory->create(Y, nmax, 3, 3, "fix_nonaffine_displacement:Y"); + memory->create(F, nmax, 3, 3, "fix_nonaffine_displacement:F"); + memory->create(D2min, nmax, "fix_nonaffine_displacement:D2min"); + memory->create(norm, nmax, "fix_nonaffine_displacement:norm"); + } } From ad55bb4b8f6d4abe23ff4c6a7d4d7b145bab460d Mon Sep 17 00:00:00 2001 From: Ludwig Ahrens Date: Tue, 5 Mar 2024 09:57:09 +0100 Subject: [PATCH 303/559] Mention CMake in electrode README --- src/ELECTRODE/README | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/ELECTRODE/README b/src/ELECTRODE/README index 56894943a0..72a95b7fe9 100644 --- a/src/ELECTRODE/README +++ b/src/ELECTRODE/README @@ -7,8 +7,10 @@ See the doc page for the fix electrode/conp command to get started. There are example scripts for using this package in examples/PACKAGES/electrode. This package uses an external library in lib/electrode which must be compiled -before making LAMMPS. See the doc page on "Packages with extra build options" -for more information. +before making LAMMPS. For a CMake build, the location of the LAPACK library +should be linked automatically. Alternatively, the "USE_INTERNAL_LINALG" option +can be used to enable the bundled library. See the doc page on "Packages with +extra build options" for more information. The primary people who created this package are Ludwig Ahrens-Iwers, Shern Tee (s.tee@griffith.edu.au) and Robert Meißner (robert.meissner@tuhh.de). Contact From e0c0b2fe7e683b6600a46e3dc5cb7874361fe70f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 5 Mar 2024 15:28:21 -0500 Subject: [PATCH 304/559] fix cmake syntax error --- cmake/presets/kokkos-hip.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/presets/kokkos-hip.cmake b/cmake/presets/kokkos-hip.cmake index ffc259a225..38bf27092f 100644 --- a/cmake/presets/kokkos-hip.cmake +++ b/cmake/presets/kokkos-hip.cmake @@ -13,7 +13,7 @@ set(CMAKE_CXX_COMPILER hipcc CACHE STRING "" FORCE) set(CMAKE_TUNE_FLAGS "-munsafe-fp-atomics" CACHE STRING "" FORCE) # If KSPACE is also enabled, use CUFFT for FFTs -set(FFT_KOKKOS "HIPFFT" CACHE STRING FORCE) +set(FFT_KOKKOS "HIPFFT" CACHE STRING "" FORCE) # hide deprecation warnings temporarily for stable release set(Kokkos_ENABLE_DEPRECATION_WARNINGS OFF CACHE BOOL "" FORCE) From 0dc6e156c131e8207a064d5bfac9e6f7eb438599 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 5 Mar 2024 18:24:38 -0500 Subject: [PATCH 305/559] add balance styles shift/report and rcb/report for reporting imbalances only --- doc/src/fix_balance.rst | 13 ++++++++++--- src/fix_balance.cpp | 26 +++++++++++++++++++++----- src/fix_balance.h | 1 + 3 files changed, 32 insertions(+), 8 deletions(-) diff --git a/doc/src/fix_balance.rst b/doc/src/fix_balance.rst index 0672a05470..83be726ba7 100644 --- a/doc/src/fix_balance.rst +++ b/doc/src/fix_balance.rst @@ -14,15 +14,15 @@ Syntax * balance = style name of this fix command * Nfreq = perform dynamic load balancing every this many steps * thresh = imbalance threshold that must be exceeded to perform a re-balance -* style = *shift* or *rcb* +* style = *shift* *shift/report* or *rcb* or *rcb/report* .. parsed-literal:: - shift args = dimstr Niter stopthresh + *shift* or *shift/report* args = dimstr Niter stopthresh dimstr = sequence of letters containing *x* or *y* or *z*, each not more than once Niter = # of times to iterate within each dimension of dimstr sequence stopthresh = stop balancing when this imbalance threshold is reached - *rcb* args = none + *rcb* or *rcb/report* args = none * zero or more keyword/arg pairs may be appended * keyword = *weight* or *out* @@ -70,6 +70,13 @@ re-balancing is performed periodically during the simulation. To perform "static" balancing, before or between runs, see the :doc:`balance ` command. +.. versionadded:: TBD + +The *shift/report* and *rcb/report* styles only compute the +load imbalance but do not attempt any re-balancing. This way +the load imbalance information can be used otherwise, for +instance for stopping a run with :doc:`fix halt `. + Load-balancing is typically most useful if the particles in the simulation box have a spatially-varying density distribution or where the computational cost varies significantly between different diff --git a/src/fix_balance.cpp b/src/fix_balance.cpp index 23a56c0a9d..76b71aafa9 100644 --- a/src/fix_balance.cpp +++ b/src/fix_balance.cpp @@ -61,9 +61,18 @@ FixBalance::FixBalance(LAMMPS *lmp, int narg, char **arg) : if (nevery < 0) error->all(FLERR,"Illegal fix balance command"); thresh = utils::numeric(FLERR,arg[4],false,lmp); - if (strcmp(arg[5],"shift") == 0) lbstyle = SHIFT; - else if (strcmp(arg[5],"rcb") == 0) lbstyle = BISECTION; - else error->all(FLERR,"Illegal fix balance command"); + reportonly = 0; + if (strcmp(arg[5],"shift") == 0) { + lbstyle = SHIFT; + } else if (strcmp(arg[5],"shift/report") == 0) { + lbstyle = SHIFT; + reportonly = 1; + } else if (strcmp(arg[5],"rcb") == 0) { + lbstyle = BISECTION; + } else if (strcmp(arg[5],"rcb/report") == 0) { + lbstyle = BISECTION; + reportonly = 1; + } else error->all(FLERR,"Unknown fix balance style {}", arg[5]); int iarg = 5; if (lbstyle == SHIFT) { @@ -75,7 +84,6 @@ FixBalance::FixBalance(LAMMPS *lmp, int narg, char **arg) : stopthresh = utils::numeric(FLERR,arg[iarg+3],false,lmp); if (stopthresh < 1.0) error->all(FLERR,"Illegal fix balance command"); iarg += 4; - } else if (lbstyle == BISECTION) { iarg++; } @@ -175,7 +183,7 @@ void FixBalance::setup(int /*vflag*/) void FixBalance::setup_pre_exchange() { // do not allow rebalancing twice on same timestep - // even if wanted to, can mess up elapsed time in ImbalanceTime + // even if you wanted to, it can mess up elapsed time in ImbalanceTime if (update->ntimestep == lastbalance) return; lastbalance = update->ntimestep; @@ -195,6 +203,7 @@ void FixBalance::setup_pre_exchange() balance->set_weights(); imbnow = balance->imbalance_factor(maxloadperproc); + if (imbnow > thresh) rebalance(); // next timestep to rebalance @@ -263,6 +272,13 @@ void FixBalance::pre_neighbor() void FixBalance::rebalance() { + // return immediately if only reporting of the imbalance is requested + + if (reportonly) { + imbprev = imbfinal = imbnow; + return; + } + imbprev = imbnow; // invoke balancer and reset comm->uniform flag diff --git a/src/fix_balance.h b/src/fix_balance.h index 964357a634..a319710ac6 100644 --- a/src/fix_balance.h +++ b/src/fix_balance.h @@ -45,6 +45,7 @@ class FixBalance : public Fix { std::string bstr; int wtflag; // 1 for weighted balancing int sortflag; // 1 for sorting comm messages + int reportonly; // 1 if skipping rebalancing and only computing imbalance double imbnow; // current imbalance factor double imbprev; // imbalance factor before last rebalancing From 7e8b24389149ced94053a5ac32623c26e46781e9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 5 Mar 2024 18:26:41 -0500 Subject: [PATCH 306/559] make use of ..versionadded/..versionchanged consistent with the rest of LAMMPS --- doc/src/fix_electrode.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/src/fix_electrode.rst b/doc/src/fix_electrode.rst index 3759ff23ca..8a7a44454d 100644 --- a/doc/src/fix_electrode.rst +++ b/doc/src/fix_electrode.rst @@ -253,7 +253,7 @@ be enabled if any electrode particle has the same type as any electrolyte particle (which would be unusual in a typical simulation) and the fix will issue an error in that case. -.. versionchanged:: qtotal +.. versionadded:: TBD The keyword *qtotal* causes *fix electrode/conp* and *fix electrode/thermo* to add an overall potential to all electrodes so that the total charge on @@ -266,6 +266,8 @@ individual electrodes, and since *symm on* constrains the total charge of all electrodes to be zero, either option is incompatible with the *qtotal* keyword (even if *qtotal* is set to zero). +.. versionadded:: TBD + The keyword *eta* takes the name of a custom double vector defined via fix property/atom. The values will be used instead of the standard eta value. The property/atom fix must be for vector of double values and use the *ghost on* From 20d95cd17feb8d494f92dbf1e5602491b0f1d7eb Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 5 Mar 2024 18:30:07 -0500 Subject: [PATCH 307/559] whitespace --- src/fix_balance.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fix_balance.cpp b/src/fix_balance.cpp index 76b71aafa9..ae1d00db8f 100644 --- a/src/fix_balance.cpp +++ b/src/fix_balance.cpp @@ -278,7 +278,7 @@ void FixBalance::rebalance() imbprev = imbfinal = imbnow; return; } - + imbprev = imbnow; // invoke balancer and reset comm->uniform flag From ea526998932aa949bad96b1e5fac5e8151bd703d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 5 Mar 2024 19:00:50 -0500 Subject: [PATCH 308/559] collapse the two /report styles into a single "report" style --- doc/src/fix_balance.rst | 16 ++++++++-------- src/fix_balance.cpp | 34 +++++++++++++++++++++------------- 2 files changed, 29 insertions(+), 21 deletions(-) diff --git a/doc/src/fix_balance.rst b/doc/src/fix_balance.rst index 83be726ba7..0a0ea64c6a 100644 --- a/doc/src/fix_balance.rst +++ b/doc/src/fix_balance.rst @@ -14,15 +14,15 @@ Syntax * balance = style name of this fix command * Nfreq = perform dynamic load balancing every this many steps * thresh = imbalance threshold that must be exceeded to perform a re-balance -* style = *shift* *shift/report* or *rcb* or *rcb/report* - +* style = *shift* or *rcb* or *report* .. parsed-literal:: - *shift* or *shift/report* args = dimstr Niter stopthresh + *shift* args = dimstr Niter stopthresh dimstr = sequence of letters containing *x* or *y* or *z*, each not more than once Niter = # of times to iterate within each dimension of dimstr sequence stopthresh = stop balancing when this imbalance threshold is reached - *rcb* or *rcb/report* args = none + *rcb* args = none + *report* args = none * zero or more keyword/arg pairs may be appended * keyword = *weight* or *out* @@ -72,10 +72,10 @@ perform "static" balancing, before or between runs, see the .. versionadded:: TBD -The *shift/report* and *rcb/report* styles only compute the -load imbalance but do not attempt any re-balancing. This way -the load imbalance information can be used otherwise, for -instance for stopping a run with :doc:`fix halt `. +The *report* balance style only computes the load imbalance but +does not attempt any re-balancing. This way the load imbalance +information can be used otherwise, for instance for stopping a +run with :doc:`fix halt `. Load-balancing is typically most useful if the particles in the simulation box have a spatially-varying density distribution or diff --git a/src/fix_balance.cpp b/src/fix_balance.cpp index ae1d00db8f..2a32e96106 100644 --- a/src/fix_balance.cpp +++ b/src/fix_balance.cpp @@ -64,26 +64,34 @@ FixBalance::FixBalance(LAMMPS *lmp, int narg, char **arg) : reportonly = 0; if (strcmp(arg[5],"shift") == 0) { lbstyle = SHIFT; - } else if (strcmp(arg[5],"shift/report") == 0) { - lbstyle = SHIFT; - reportonly = 1; } else if (strcmp(arg[5],"rcb") == 0) { lbstyle = BISECTION; - } else if (strcmp(arg[5],"rcb/report") == 0) { - lbstyle = BISECTION; + } else if (strcmp(arg[5],"report") == 0) { + lbstyle = SHIFT; reportonly = 1; } else error->all(FLERR,"Unknown fix balance style {}", arg[5]); int iarg = 5; if (lbstyle == SHIFT) { - if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix balance shift", error); - bstr = arg[iarg+1]; - if (bstr.size() > Balance::BSTR_SIZE) error->all(FLERR,"Illegal fix balance shift command"); - nitermax = utils::inumeric(FLERR,arg[iarg+2],false,lmp); - if (nitermax <= 0) error->all(FLERR,"Illegal fix balance command"); - stopthresh = utils::numeric(FLERR,arg[iarg+3],false,lmp); - if (stopthresh < 1.0) error->all(FLERR,"Illegal fix balance command"); - iarg += 4; + if (reportonly) { + if (dimension == 2) + bstr = "xy"; + else + bstr = "xyz"; + nitermax = 5; + stopthresh = 1.1; + iarg++; + } else { + if (iarg+4 > narg) utils::missing_cmd_args(FLERR, "fix balance shift", error); + bstr = arg[iarg+1]; + if (bstr.size() > Balance::BSTR_SIZE) error->all(FLERR,"Illegal fix balance shift command"); + nitermax = utils::inumeric(FLERR,arg[iarg+2],false,lmp); + if (nitermax <= 0) error->all(FLERR,"Illegal fix balance command"); + stopthresh = utils::numeric(FLERR,arg[iarg+3],false,lmp); + if (stopthresh < 1.0) error->all(FLERR,"Illegal fix balance command"); + iarg += 4; + } + } else if (lbstyle == BISECTION) { iarg++; } From c984d5c94a88acf0b839393b096b65e21202a04d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 6 Mar 2024 11:13:50 -0500 Subject: [PATCH 309/559] improved revision of write_dump output frequency setting for 64-bit timesteps --- src/write_dump.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/write_dump.cpp b/src/write_dump.cpp index 0418d7c424..8cd7dec88e 100644 --- a/src/write_dump.cpp +++ b/src/write_dump.cpp @@ -47,7 +47,8 @@ void WriteDump::command(int narg, char **arg) // work around "fix not computed at compatible times" errors. - const int dumpfreq = MAX(1, update->nsteps); + int dumpfreq = MAX(1, update->nsteps); + dumpfreq += update->ntimestep % dumpfreq; auto dumpargs = new char *[modindex + 2]; dumpargs[0] = (char *) "WRITE_DUMP"; // dump id From 6cc9a4c7b74913fb7673cf276a9d3f63daaf96df Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Wed, 6 Mar 2024 14:58:06 -0700 Subject: [PATCH 310/559] Update Kokkos library in LAMMPS to v4.2.1 --- lib/kokkos/CHANGELOG.md | 25 +++++++++++++++++-- lib/kokkos/CMakeLists.txt | 11 +------- lib/kokkos/Makefile.kokkos | 11 ++++++-- .../unit_tests/TestStdAlgorithmsCommon.hpp | 5 ++-- .../TestStdAlgorithmsTeamCopyIf.cpp | 2 +- .../TestStdAlgorithmsTeamIsPartitioned.cpp | 2 +- .../TestStdAlgorithmsTeamPartitionCopy.cpp | 2 +- .../TestStdAlgorithmsTeamPartitionPoint.cpp | 2 +- .../TestStdAlgorithmsTeamRemoveCopyIf.cpp | 2 +- .../TestStdAlgorithmsTeamRemoveIf.cpp | 2 +- .../TestStdAlgorithmsTeamReplaceCopyIf.cpp | 2 +- .../TestStdAlgorithmsTeamReplaceIf.cpp | 2 +- lib/kokkos/cmake/KokkosCore_config.h.in | 1 + lib/kokkos/cmake/kokkos_arch.cmake | 6 ++--- .../src/Cuda/Kokkos_Cuda_Parallel_MDRange.hpp | 5 ++++ .../src/Cuda/Kokkos_Cuda_Parallel_Range.hpp | 6 +++++ .../src/Cuda/Kokkos_Cuda_Parallel_Team.hpp | 5 ++++ .../core/src/HIP/Kokkos_HIP_Graph_Impl.hpp | 20 +++++++-------- .../core/src/HIP/Kokkos_HIP_Instance.hpp | 3 ++- lib/kokkos/core/src/Kokkos_HostSpace.hpp | 19 +++++++++----- lib/kokkos/core/src/Kokkos_Printf.hpp | 2 +- .../src/OpenMP/Kokkos_OpenMP_Instance.cpp | 2 -- .../src/OpenMP/Kokkos_OpenMP_Instance.hpp | 2 ++ lib/kokkos/core/src/Serial/Kokkos_Serial.cpp | 2 -- lib/kokkos/core/src/Serial/Kokkos_Serial.hpp | 1 + .../core/src/Threads/Kokkos_ThreadsExec.cpp | 2 -- .../unit_test/TestMathematicalFunctions.hpp | 25 +++++++++++++------ .../core/unit_test/TestNumericTraits.hpp | 4 +-- lib/kokkos/generate_makefile.bash | 1 + lib/kokkos/master_history.txt | 1 + lib/kokkos/simd/src/Kokkos_SIMD_Scalar.hpp | 8 +++--- .../include/TestSIMD_GeneratorCtors.hpp | 2 ++ 32 files changed, 121 insertions(+), 64 deletions(-) diff --git a/lib/kokkos/CHANGELOG.md b/lib/kokkos/CHANGELOG.md index c6115f4b3d..40e3c95f24 100644 --- a/lib/kokkos/CHANGELOG.md +++ b/lib/kokkos/CHANGELOG.md @@ -1,5 +1,26 @@ # CHANGELOG +## [4.2.01](https://github.com/kokkos/kokkos/tree/4.2.01) (2023-12-07) +[Full Changelog](https://github.com/kokkos/kokkos/compare/4.2.00...4.2.01) + +### Backend and Architecture Enhancements: + +#### CUDA: +- Add warp sync for `parallel_reduce` to avoid race condition [\#6630](https://github.com/kokkos/kokkos/pull/6630), [\#6746](https://github.com/kokkos/kokkos/pull/6746) + +#### HIP: +- Fix Graph "multiple definition of" linking error (missing `inline` specifier) [\#6624](https://github.com/kokkos/kokkos/pull/6624) +- Add support for gfx940 (AMD Instinct MI300 GPU) [\#6671](https://github.com/kokkos/kokkos/pull/6671) + +### Build System +- CMake: Don't let Kokkos set `CMAKE_CXX_FLAGS` for Trilinos builds [\#6742](https://github.com/kokkos/kokkos/pull/6742) + +### Bug Fixes +- Remove deprecation warning for `AllocationMechanism` for GCC <11.0 [\#6653](https://github.com/kokkos/kokkos/pull/6653) +- Fix bug early tools finalize with non-default host execution instances [\#6635](https://github.com/kokkos/kokkos/pull/6635) +- Fix various issues for MSVC CUDA builds [\#6659](https://github.com/kokkos/kokkos/pull/6659) +- Fix "extra `;`" warning with `-pedantic` flag in `` [\#6510](https://github.com/kokkos/kokkos/pull/6510) + ## [4.2.00](https://github.com/kokkos/kokkos/tree/4.2.00) (2023-11-06) [Full Changelog](https://github.com/kokkos/kokkos/compare/4.1.00...4.2.00) @@ -43,7 +64,7 @@ #### SYCL: - Enforce external `sycl::queues` to be in-order [\#6246](https://github.com/kokkos/kokkos/pull/6246) -- Improve reduction performance: [\#6272](https://github.com/kokkos/kokkos/pull/6272) [\#6271](https://github.com/kokkos/kokkos/pull/6271) [\#6270](https://github.com/kokkos/kokkos/pull/6270) [\#6264](https://github.com/kokkos/kokkos/pull/6264) +- Improve reduction performance: [\#6272](https://github.com/kokkos/kokkos/pull/6272) [\#6271](https://github.com/kokkos/kokkos/pull/6271) [\#6270](https://github.com/kokkos/kokkos/pull/6270) [\#6264](https://github.com/kokkos/kokkos/pull/6264) - Allow using the SYCL execution space on AMD GPUs [\#6321](https://github.com/kokkos/kokkos/pull/6321) - Allow sorting via native oneDPL to support Views with stride=1 [\#6322](https://github.com/kokkos/kokkos/pull/6322) - Make in-order queues the default via macro [\#6189](https://github.com/kokkos/kokkos/pull/6189) @@ -64,7 +85,7 @@ - Add converting assignment to `DualView`: [\#6474](https://github.com/kokkos/kokkos/pull/6474) -### Build System Changes +### Build System Changes - Export `Kokkos_CXX_COMPILER_VERSION` [\#6282](https://github.com/kokkos/kokkos/pull/6282) - Disable default oneDPL support in Trilinos [\#6342](https://github.com/kokkos/kokkos/pull/6342) diff --git a/lib/kokkos/CMakeLists.txt b/lib/kokkos/CMakeLists.txt index f6bd81058e..4a4e7a5501 100644 --- a/lib/kokkos/CMakeLists.txt +++ b/lib/kokkos/CMakeLists.txt @@ -151,7 +151,7 @@ ENDIF() set(Kokkos_VERSION_MAJOR 4) set(Kokkos_VERSION_MINOR 2) -set(Kokkos_VERSION_PATCH 0) +set(Kokkos_VERSION_PATCH 1) set(Kokkos_VERSION "${Kokkos_VERSION_MAJOR}.${Kokkos_VERSION_MINOR}.${Kokkos_VERSION_PATCH}") message(STATUS "Kokkos version: ${Kokkos_VERSION}") math(EXPR KOKKOS_VERSION "${Kokkos_VERSION_MAJOR} * 10000 + ${Kokkos_VERSION_MINOR} * 100 + ${Kokkos_VERSION_PATCH}") @@ -252,7 +252,6 @@ ENDIF() # subpackages ## This restores the old behavior of ProjectCompilerPostConfig.cmake -# It sets the CMAKE_CXX_FLAGS globally to those used by Kokkos # We must do this before KOKKOS_PACKAGE_DECL IF (KOKKOS_HAS_TRILINOS) # Overwrite the old flags at the top-level @@ -280,21 +279,13 @@ IF (KOKKOS_HAS_TRILINOS) SET(KOKKOSCORE_XCOMPILER_OPTIONS "${KOKKOSCORE_XCOMPILER_OPTIONS} -Xcompiler ${XCOMP_FLAG}") LIST(APPEND KOKKOS_ALL_COMPILE_OPTIONS -Xcompiler ${XCOMP_FLAG}) ENDFOREACH() - SET(KOKKOSCORE_CXX_FLAGS "${KOKKOSCORE_COMPILE_OPTIONS} ${KOKKOSCORE_XCOMPILER_OPTIONS}") IF (KOKKOS_ENABLE_CUDA) STRING(REPLACE ";" " " KOKKOSCORE_CUDA_OPTIONS "${KOKKOS_CUDA_OPTIONS}") FOREACH(CUDAFE_FLAG ${KOKKOS_CUDAFE_OPTIONS}) SET(KOKKOSCORE_CUDAFE_OPTIONS "${KOKKOSCORE_CUDAFE_OPTIONS} -Xcudafe ${CUDAFE_FLAG}") LIST(APPEND KOKKOS_ALL_COMPILE_OPTIONS -Xcudafe ${CUDAFE_FLAG}) ENDFOREACH() - SET(KOKKOSCORE_CXX_FLAGS "${KOKKOSCORE_CXX_FLAGS} ${KOKKOSCORE_CUDA_OPTIONS} ${KOKKOSCORE_CUDAFE_OPTIONS}") ENDIF() - # Both parent scope and this package - # In ProjectCompilerPostConfig.cmake, we capture the "global" flags Trilinos wants in - # TRILINOS_TOPLEVEL_CXX_FLAGS - SET(CMAKE_CXX_FLAGS "${TRILINOS_TOPLEVEL_CXX_FLAGS} ${KOKKOSCORE_CXX_FLAGS}" PARENT_SCOPE) - SET(CMAKE_CXX_FLAGS "${TRILINOS_TOPLEVEL_CXX_FLAGS} ${KOKKOSCORE_CXX_FLAGS}") - #CMAKE_CXX_FLAGS will get added to Kokkos and Kokkos dependencies automatically here #These flags get set up in KOKKOS_PACKAGE_DECL, which means they #must be configured before KOKKOS_PACKAGE_DECL SET(KOKKOS_ALL_COMPILE_OPTIONS diff --git a/lib/kokkos/Makefile.kokkos b/lib/kokkos/Makefile.kokkos index c970f72755..393422d73c 100644 --- a/lib/kokkos/Makefile.kokkos +++ b/lib/kokkos/Makefile.kokkos @@ -12,7 +12,7 @@ endif KOKKOS_VERSION_MAJOR = 4 KOKKOS_VERSION_MINOR = 2 -KOKKOS_VERSION_PATCH = 0 +KOKKOS_VERSION_PATCH = 1 KOKKOS_VERSION = $(shell echo $(KOKKOS_VERSION_MAJOR)*10000+$(KOKKOS_VERSION_MINOR)*100+$(KOKKOS_VERSION_PATCH) | bc) # Options: Cuda,HIP,SYCL,OpenMPTarget,OpenMP,Threads,Serial @@ -23,7 +23,7 @@ KOKKOS_DEVICES ?= "OpenMP" # NVIDIA: Kepler,Kepler30,Kepler32,Kepler35,Kepler37,Maxwell,Maxwell50,Maxwell52,Maxwell53,Pascal60,Pascal61,Volta70,Volta72,Turing75,Ampere80,Ampere86,Ada89,Hopper90 # ARM: ARMv80,ARMv81,ARMv8-ThunderX,ARMv8-TX2,A64FX # IBM: BGQ,Power7,Power8,Power9 -# AMD-GPUS: GFX906,GFX908,GFX90A,GFX942,GFX1030,GFX1100 +# AMD-GPUS: GFX906,GFX908,GFX90A,GFX940,GFX942,GFX1030,GFX1100 # AMD-CPUS: AMDAVX,Zen,Zen2,Zen3 # Intel-GPUs: Gen9,Gen11,Gen12LP,DG1,XeHP,PVC KOKKOS_ARCH ?= "" @@ -416,6 +416,8 @@ endif KOKKOS_INTERNAL_USE_ARCH_AMD_GFX906 := $(or $(call kokkos_has_string,$(KOKKOS_ARCH),VEGA906),$(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX906)) KOKKOS_INTERNAL_USE_ARCH_AMD_GFX908 := $(or $(call kokkos_has_string,$(KOKKOS_ARCH),VEGA908),$(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX908)) KOKKOS_INTERNAL_USE_ARCH_AMD_GFX90A := $(or $(call kokkos_has_string,$(KOKKOS_ARCH),VEGA90A),$(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX90A)) +KOKKOS_INTERNAL_USE_ARCH_AMD_GFX940 := $(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX940) +KOKKOS_INTERNAL_USE_ARCH_AMD_GFX942 := $(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX942) KOKKOS_INTERNAL_USE_ARCH_AMD_GFX1030 := $(or $(call kokkos_has_string,$(KOKKOS_ARCH),NAVI1030),$(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX1030)) KOKKOS_INTERNAL_USE_ARCH_AMD_GFX1100 := $(or $(call kokkos_has_string,$(KOKKOS_ARCH),NAVI1100),$(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX1100)) @@ -1113,6 +1115,11 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AMD_GFX90A), 1) tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_GPU") KOKKOS_INTERNAL_HIP_ARCH_FLAG := --offload-arch=gfx90a endif +ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AMD_GFX940), 1) + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_GFX940") + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_GPU") + KOKKOS_INTERNAL_HIP_ARCH_FLAG := --offload-arch=gfx940 +endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AMD_GFX942), 1) tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_GFX942") tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AMD_GPU") diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsCommon.hpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsCommon.hpp index b962218b5f..3eb963faf2 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsCommon.hpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsCommon.hpp @@ -198,8 +198,9 @@ auto create_deep_copyable_compatible_view_with_same_extent(ViewType view) { // this is needed for intel to avoid // error #1011: missing return statement at end of non-void function -#if defined KOKKOS_COMPILER_INTEL || \ - (defined(KOKKOS_COMPILER_NVCC) && KOKKOS_COMPILER_NVCC >= 1130) +#if defined KOKKOS_COMPILER_INTEL || \ + (defined(KOKKOS_COMPILER_NVCC) && KOKKOS_COMPILER_NVCC >= 1130 && \ + !defined(KOKKOS_COMPILER_MSVC)) __builtin_unreachable(); #endif } diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamCopyIf.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamCopyIf.cpp index b32a9be3a1..b5aa27c7c3 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamCopyIf.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamCopyIf.cpp @@ -139,7 +139,7 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { auto intraTeamSentinelView_h = create_host_space_copy(intraTeamSentinelView); Kokkos::View stdDestView("stdDestView", numTeams, numCols); - GreaterThanValueFunctor predicate(threshold); + GreaterThanValueFunctor predicate(threshold); for (std::size_t i = 0; i < sourceView.extent(0); ++i) { auto rowFrom = Kokkos::subview(sourceViewBeforeOp_h, i, Kokkos::ALL()); auto rowDest = Kokkos::subview(stdDestView, i, Kokkos::ALL()); diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamIsPartitioned.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamIsPartitioned.cpp index 1928f95588..21da333e75 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamIsPartitioned.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamIsPartitioned.cpp @@ -191,7 +191,7 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId, // ----------------------------------------------- auto returnView_h = create_host_space_copy(returnView); auto intraTeamSentinelView_h = create_host_space_copy(intraTeamSentinelView); - GreaterThanValueFunctor predicate(threshold); + GreaterThanValueFunctor predicate(threshold); for (std::size_t i = 0; i < dataView_dc_h.extent(0); ++i) { auto myRow = Kokkos::subview(dataView_dc_h, i, Kokkos::ALL()); diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamPartitionCopy.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamPartitionCopy.cpp index c0bbdfa390..78ab6bf1f8 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamPartitionCopy.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamPartitionCopy.cpp @@ -240,7 +240,7 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId, "stdDestTrueView", numTeams, numCols); Kokkos::View stdDestFalseView( "stdDestFalseView", numTeams, numCols); - GreaterThanValueFunctor predicate(threshold); + GreaterThanValueFunctor predicate(threshold); for (std::size_t i = 0; i < sourceView_dc_h.extent(0); ++i) { auto myRowSource = Kokkos::subview(sourceView_dc_h, i, Kokkos::ALL()); diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamPartitionPoint.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamPartitionPoint.cpp index 954d461246..370e91cc1f 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamPartitionPoint.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamPartitionPoint.cpp @@ -197,7 +197,7 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId, auto distancesView_h = create_host_space_copy(distancesView); auto dataViewAfterOp_h = create_host_space_copy(dataView); auto intraTeamSentinelView_h = create_host_space_copy(intraTeamSentinelView); - GreaterThanValueFunctor predicate(threshold); + GreaterThanValueFunctor predicate(threshold); for (std::size_t i = 0; i < dataView_dc_h.extent(0); ++i) { auto myRow = Kokkos::subview(dataView_dc_h, i, Kokkos::ALL()); diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveCopyIf.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveCopyIf.cpp index 2082fa9728..ce18eb4d31 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveCopyIf.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveCopyIf.cpp @@ -138,7 +138,7 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { auto intraTeamSentinelView_h = create_host_space_copy(intraTeamSentinelView); Kokkos::View stdDestView("stdDestView", numTeams, numCols); - GreaterThanValueFunctor predicate(threshold); + GreaterThanValueFunctor predicate(threshold); for (std::size_t i = 0; i < destViewAfterOp_h.extent(0); ++i) { auto rowFrom = Kokkos::subview(cloneOfSourceViewBeforeOp_h, i, Kokkos::ALL()); diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveIf.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveIf.cpp index 3315f281da..3dd7cb764c 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveIf.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveIf.cpp @@ -127,7 +127,7 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { // ----------------------------------------------- // check against std // ----------------------------------------------- - GreaterThanValueFunctor predicate(threshold); + GreaterThanValueFunctor predicate(threshold); auto dataViewAfterOp_h = create_host_space_copy(dataView); auto distancesView_h = create_host_space_copy(distancesView); auto intraTeamSentinelView_h = create_host_space_copy(intraTeamSentinelView); diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamReplaceCopyIf.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamReplaceCopyIf.cpp index ae43a2a426..d0217aed7a 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamReplaceCopyIf.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamReplaceCopyIf.cpp @@ -145,7 +145,7 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { auto intraTeamSentinelView_h = create_host_space_copy(intraTeamSentinelView); Kokkos::View stdDestView("stdDestView", numTeams, numCols); - GreaterThanValueFunctor predicate(threshold); + GreaterThanValueFunctor predicate(threshold); for (std::size_t i = 0; i < sourceView.extent(0); ++i) { auto rowFrom = Kokkos::subview(cloneOfSourceViewBeforeOp_h, i, Kokkos::ALL()); diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamReplaceIf.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamReplaceIf.cpp index 1d5d9578f9..d79b53d355 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamReplaceIf.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamReplaceIf.cpp @@ -103,7 +103,7 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { stdDataView(i, j) = cloneOfDataViewBeforeOp_h(i, j); } } - GreaterThanValueFunctor predicate(threshold); + GreaterThanValueFunctor predicate(threshold); for (std::size_t i = 0; i < dataView.extent(0); ++i) { auto thisRow = Kokkos::subview(stdDataView, i, Kokkos::ALL()); std::replace_if(KE::begin(thisRow), KE::end(thisRow), predicate, newVal); diff --git a/lib/kokkos/cmake/KokkosCore_config.h.in b/lib/kokkos/cmake/KokkosCore_config.h.in index bec59ebd03..9930d2abf0 100644 --- a/lib/kokkos/cmake/KokkosCore_config.h.in +++ b/lib/kokkos/cmake/KokkosCore_config.h.in @@ -114,6 +114,7 @@ #cmakedefine KOKKOS_ARCH_AMD_GFX906 #cmakedefine KOKKOS_ARCH_AMD_GFX908 #cmakedefine KOKKOS_ARCH_AMD_GFX90A +#cmakedefine KOKKOS_ARCH_AMD_GFX940 #cmakedefine KOKKOS_ARCH_AMD_GFX942 #cmakedefine KOKKOS_ARCH_AMD_GFX1030 #cmakedefine KOKKOS_ARCH_AMD_GFX1100 diff --git a/lib/kokkos/cmake/kokkos_arch.cmake b/lib/kokkos/cmake/kokkos_arch.cmake index bccf674d76..30764bde86 100644 --- a/lib/kokkos/cmake/kokkos_arch.cmake +++ b/lib/kokkos/cmake/kokkos_arch.cmake @@ -94,9 +94,9 @@ IF(Kokkos_ENABLE_HIP OR Kokkos_ENABLE_OPENMPTARGET OR Kokkos_ENABLE_OPENACC OR K ENDIF() # AMD archs ordered in decreasing priority of autodetection -LIST(APPEND SUPPORTED_AMD_GPUS MI300) -LIST(APPEND SUPPORTED_AMD_ARCHS AMD_GFX942) -LIST(APPEND CORRESPONDING_AMD_FLAGS gfx942) +LIST(APPEND SUPPORTED_AMD_GPUS MI300 MI300) +LIST(APPEND SUPPORTED_AMD_ARCHS AMD_GFX942 AMD_GFX940) +LIST(APPEND CORRESPONDING_AMD_FLAGS gfx942 gfx940) LIST(APPEND SUPPORTED_AMD_GPUS MI200 MI200 MI100 MI100) LIST(APPEND SUPPORTED_AMD_ARCHS VEGA90A AMD_GFX90A VEGA908 AMD_GFX908) LIST(APPEND CORRESPONDING_AMD_FLAGS gfx90a gfx90a gfx908 gfx908) diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_MDRange.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_MDRange.hpp index 8aae27d091..49d6c112e3 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_MDRange.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_MDRange.hpp @@ -309,6 +309,11 @@ class ParallelReduce, if (CudaTraits::WarpSize < word_count.value) { __syncthreads(); + } else if (word_count.value > 1) { + // Inside cuda_single_inter_block_reduce_scan() above, shared[i] below + // might have been updated by a single thread within a warp without + // synchronization afterwards. Synchronize threads within warp to avoid + // potential racecondition. + __syncwarp(0xffffffff); } for (unsigned i = threadIdx.y; i < word_count.value; i += blockDim.y) { diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_Team.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_Team.hpp index 498e57f94a..b4679b4e0d 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_Team.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_Team.hpp @@ -742,6 +742,11 @@ class ParallelReduce { hipGraphExec_t m_graph_exec = nullptr; }; -GraphImpl::~GraphImpl() { +inline GraphImpl::~GraphImpl() { m_execution_space.fence("Kokkos::GraphImpl::~GraphImpl: Graph Destruction"); KOKKOS_EXPECTS(m_graph); if (m_graph_exec) { @@ -92,12 +92,12 @@ GraphImpl::~GraphImpl() { KOKKOS_IMPL_HIP_SAFE_CALL(hipGraphDestroy(m_graph)); } -GraphImpl::GraphImpl(Kokkos::HIP instance) +inline GraphImpl::GraphImpl(Kokkos::HIP instance) : m_execution_space(std::move(instance)) { KOKKOS_IMPL_HIP_SAFE_CALL(hipGraphCreate(&m_graph, 0)); } -void GraphImpl::add_node( +inline void GraphImpl::add_node( std::shared_ptr const& arg_node_ptr) { // All of the predecessors are just added as normal, so all we need to // do here is add an empty node @@ -110,7 +110,7 @@ void GraphImpl::add_node( // Requires NodeImplPtr is a shared_ptr to specialization of GraphNodeImpl // Also requires that the kernel has the graph node tag in it's policy template -void GraphImpl::add_node( +inline void GraphImpl::add_node( std::shared_ptr const& arg_node_ptr) { static_assert(NodeImpl::kernel_type::Policy::is_graph_kernel::value); KOKKOS_EXPECTS(arg_node_ptr); @@ -129,8 +129,8 @@ void GraphImpl::add_node( // already been added to this graph and NodeImpl is a specialization of // GraphNodeImpl that has already been added to this graph. template -void GraphImpl::add_predecessor(NodeImplPtr arg_node_ptr, - PredecessorRef arg_pred_ref) { +inline void GraphImpl::add_predecessor( + NodeImplPtr arg_node_ptr, PredecessorRef arg_pred_ref) { KOKKOS_EXPECTS(arg_node_ptr); auto pred_ptr = GraphAccess::get_node_ptr(arg_pred_ref); KOKKOS_EXPECTS(pred_ptr); @@ -145,7 +145,7 @@ void GraphImpl::add_predecessor(NodeImplPtr arg_node_ptr, hipGraphAddDependencies(m_graph, &pred_node, &node, 1)); } -void GraphImpl::submit() { +inline void GraphImpl::submit() { if (!m_graph_exec) { instantiate_graph(); } @@ -153,12 +153,12 @@ void GraphImpl::submit() { hipGraphLaunch(m_graph_exec, m_execution_space.hip_stream())); } -Kokkos::HIP const& GraphImpl::get_execution_space() const +inline Kokkos::HIP const& GraphImpl::get_execution_space() const noexcept { return m_execution_space; } -auto GraphImpl::create_root_node_ptr() { +inline auto GraphImpl::create_root_node_ptr() { KOKKOS_EXPECTS(m_graph); KOKKOS_EXPECTS(!m_graph_exec); auto rv = std::make_shared(get_execution_space(), @@ -172,7 +172,7 @@ auto GraphImpl::create_root_node_ptr() { } template -auto GraphImpl::create_aggregate_ptr(PredecessorRefs&&...) { +inline auto GraphImpl::create_aggregate_ptr(PredecessorRefs&&...) { // The attachment to predecessors, which is all we really need, happens // in the generic layer, which calls through to add_predecessor for // each predecessor ref, so all we need to do here is create the (trivial) diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.hpp index ef140ec46c..63ad66686b 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.hpp @@ -30,7 +30,8 @@ namespace Impl { struct HIPTraits { #if defined(KOKKOS_ARCH_AMD_GFX906) || defined(KOKKOS_ARCH_AMD_GFX908) || \ - defined(KOKKOS_ARCH_AMD_GFX90A) || defined(KOKKOS_ARCH_AMD_GFX942) + defined(KOKKOS_ARCH_AMD_GFX90A) || defined(KOKKOS_ARCH_AMD_GFX940) || \ + defined(KOKKOS_ARCH_AMD_GFX942) static constexpr int WarpSize = 64; static constexpr int WarpIndexMask = 0x003f; /* hexadecimal for 63 */ static constexpr int WarpIndexShift = 6; /* WarpSize == 1 << WarpShift*/ diff --git a/lib/kokkos/core/src/Kokkos_HostSpace.hpp b/lib/kokkos/core/src/Kokkos_HostSpace.hpp index 90d1404063..252aabd949 100644 --- a/lib/kokkos/core/src/Kokkos_HostSpace.hpp +++ b/lib/kokkos/core/src/Kokkos_HostSpace.hpp @@ -75,12 +75,19 @@ class HostSpace { /**\brief Non-default memory space instance to choose allocation mechansim, * if available */ - enum KOKKOS_DEPRECATED AllocationMechanism { - STD_MALLOC, - POSIX_MEMALIGN, - POSIX_MMAP, - INTEL_MM_ALLOC - }; +#if defined(KOKKOS_COMPILER_GNU) && KOKKOS_COMPILER_GNU < 1100 + // We see deprecation warnings even when not using the deprecated + // HostSpace constructor below when using gcc before release 11. + enum +#else + enum KOKKOS_DEPRECATED +#endif + AllocationMechanism { + STD_MALLOC, + POSIX_MEMALIGN, + POSIX_MMAP, + INTEL_MM_ALLOC + }; KOKKOS_DEPRECATED explicit HostSpace(const AllocationMechanism&); diff --git a/lib/kokkos/core/src/Kokkos_Printf.hpp b/lib/kokkos/core/src/Kokkos_Printf.hpp index af20221a5a..39f95825c3 100644 --- a/lib/kokkos/core/src/Kokkos_Printf.hpp +++ b/lib/kokkos/core/src/Kokkos_Printf.hpp @@ -31,7 +31,7 @@ namespace Kokkos { // backends. The GPU backends always return 1 and NVHPC only compiles if we // don't ask for the return value. template -KOKKOS_FORCEINLINE_FUNCTION void printf(const char* format, Args... args) { +KOKKOS_FUNCTION void printf(const char* format, Args... args) { #ifdef KOKKOS_ENABLE_SYCL // Some compilers warn if "args" is empty and format is not a string literal if constexpr (sizeof...(Args) == 0) diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.cpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.cpp index 44f0fbc180..12bf3b71f7 100644 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.cpp +++ b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.cpp @@ -359,8 +359,6 @@ void OpenMPInternal::finalize() { } m_initialized = false; - - Kokkos::Profiling::finalize(); } void OpenMPInternal::print_configuration(std::ostream &s) const { diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.hpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.hpp index 4586406e16..03f5fff395 100644 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.hpp +++ b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.hpp @@ -219,6 +219,8 @@ KOKKOS_DEPRECATED void OpenMP::partition_master(F const& f, int num_partitions, Exec::validate_partition_impl(prev_instance->m_pool_size, num_partitions, partition_size); + OpenMP::memory_space space; + #pragma omp parallel num_threads(num_partitions) { Exec thread_local_instance(partition_size); diff --git a/lib/kokkos/core/src/Serial/Kokkos_Serial.cpp b/lib/kokkos/core/src/Serial/Kokkos_Serial.cpp index e81e834939..071ecdbc4f 100644 --- a/lib/kokkos/core/src/Serial/Kokkos_Serial.cpp +++ b/lib/kokkos/core/src/Serial/Kokkos_Serial.cpp @@ -58,8 +58,6 @@ void SerialInternal::finalize() { m_thread_team_data.scratch_assign(nullptr, 0, 0, 0, 0, 0); } - Kokkos::Profiling::finalize(); - m_is_initialized = false; } diff --git a/lib/kokkos/core/src/Serial/Kokkos_Serial.hpp b/lib/kokkos/core/src/Serial/Kokkos_Serial.hpp index db1567610b..67119cac16 100644 --- a/lib/kokkos/core/src/Serial/Kokkos_Serial.hpp +++ b/lib/kokkos/core/src/Serial/Kokkos_Serial.hpp @@ -30,6 +30,7 @@ static_assert(false, #include #include +#include #include #include #include diff --git a/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.cpp b/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.cpp index c754091e87..801a1ac82e 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.cpp +++ b/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.cpp @@ -815,8 +815,6 @@ void ThreadsExec::finalize() { s_threads_process.m_pool_size = 1; s_threads_process.m_pool_fan_size = 0; s_threads_process.m_pool_state = ThreadsExec::Inactive; - - Kokkos::Profiling::finalize(); } //---------------------------------------------------------------------------- diff --git a/lib/kokkos/core/unit_test/TestMathematicalFunctions.hpp b/lib/kokkos/core/unit_test/TestMathematicalFunctions.hpp index d32ef4ca23..424ba05a90 100644 --- a/lib/kokkos/core/unit_test/TestMathematicalFunctions.hpp +++ b/lib/kokkos/core/unit_test/TestMathematicalFunctions.hpp @@ -30,8 +30,9 @@ #define MATHEMATICAL_FUNCTIONS_HAVE_LONG_DOUBLE_OVERLOADS #endif -#if defined KOKKOS_COMPILER_INTEL || \ - (defined(KOKKOS_COMPILER_NVCC) && KOKKOS_COMPILER_NVCC >= 1130) +#if defined KOKKOS_COMPILER_INTEL || \ + (defined(KOKKOS_COMPILER_NVCC) && KOKKOS_COMPILER_NVCC >= 1130 && \ + !defined(KOKKOS_COMPILER_MSVC)) #define MATHEMATICAL_FUNCTIONS_TEST_UNREACHABLE __builtin_unreachable(); #else #define MATHEMATICAL_FUNCTIONS_TEST_UNREACHABLE @@ -394,10 +395,12 @@ DEFINE_UNARY_FUNCTION_EVAL(log2, 2); DEFINE_UNARY_FUNCTION_EVAL(log1p, 2); #endif -#ifndef KOKKOS_MATHEMATICAL_FUNCTIONS_SKIP_1 +#ifndef KOKKOS_MATHEMATICAL_FUNCTIONS_SKIP_2 DEFINE_UNARY_FUNCTION_EVAL(sqrt, 2); DEFINE_UNARY_FUNCTION_EVAL(cbrt, 2); +#endif +#ifndef KOKKOS_MATHEMATICAL_FUNCTIONS_SKIP_1 DEFINE_UNARY_FUNCTION_EVAL(sin, 2); DEFINE_UNARY_FUNCTION_EVAL(cos, 2); DEFINE_UNARY_FUNCTION_EVAL(tan, 2); @@ -483,11 +486,9 @@ DEFINE_UNARY_FUNCTION_EVAL(logb, 2); }; \ constexpr char math_function_name::name[] -#ifndef KOKKOS_MATHEMATICAL_FUNCTIONS_SKIP_1 +#ifndef KOKKOS_MATHEMATICAL_FUNCTIONS_SKIP_2 DEFINE_BINARY_FUNCTION_EVAL(pow, 2); DEFINE_BINARY_FUNCTION_EVAL(hypot, 2); -#endif -#ifndef KOKKOS_MATHEMATICAL_FUNCTIONS_SKIP_2 DEFINE_BINARY_FUNCTION_EVAL(nextafter, 1); DEFINE_BINARY_FUNCTION_EVAL(copysign, 1); #endif @@ -519,7 +520,7 @@ DEFINE_BINARY_FUNCTION_EVAL(copysign, 1); }; \ constexpr char math_function_name::name[] -#ifndef KOKKOS_MATHEMATICAL_FUNCTIONS_SKIP_1 +#ifndef KOKKOS_MATHEMATICAL_FUNCTIONS_SKIP_2 DEFINE_TERNARY_FUNCTION_EVAL(hypot, 2); DEFINE_TERNARY_FUNCTION_EVAL(fma, 2); #endif @@ -787,7 +788,9 @@ TEST(TEST_CATEGORY, mathematical_functions_trigonometric_functions) { // TODO atan2 } +#endif +#ifndef KOKKOS_MATHEMATICAL_FUNCTIONS_SKIP_2 TEST(TEST_CATEGORY, mathematical_functions_power_functions) { TEST_MATH_FUNCTION(sqrt)({0, 1, 2, 3, 5, 7, 11}); TEST_MATH_FUNCTION(sqrt)({0l, 1l, 2l, 3l, 5l, 7l, 11l}); @@ -1568,6 +1571,7 @@ TEST(TEST_CATEGORY, mathematical_functions_ieee_remainder_function) { // TODO: TestFpClassify, see https://github.com/kokkos/kokkos/issues/6279 +#ifndef KOKKOS_MATHEMATICAL_FUNCTIONS_SKIP_2 template struct TestIsFinite { TestIsFinite() { run(); } @@ -1591,6 +1595,7 @@ struct TestIsFinite { ++e; Kokkos::printf("failed isfinite(float)\n"); } +#if !(defined(KOKKOS_ENABLE_CUDA) && defined(KOKKOS_COMPILER_MSVC)) if (!isfinite(static_cast(2.f)) #ifndef KOKKOS_COMPILER_NVHPC // FIXME_NVHPC 23.7 || isfinite(quiet_NaN::value) || @@ -1611,6 +1616,7 @@ struct TestIsFinite { ++e; Kokkos::printf("failed isfinite(KE::bhalf_t)\n"); } +#endif if (!isfinite(3.) #ifndef KOKKOS_COMPILER_NVHPC // FIXME_NVHPC 23.7 || isfinite(quiet_NaN::value) || @@ -1670,6 +1676,7 @@ struct TestIsInf { ++e; Kokkos::printf("failed isinf(float)\n"); } +#if !(defined(KOKKOS_ENABLE_CUDA) && defined(KOKKOS_COMPILER_MSVC)) if (isinf(static_cast(2.f)) #ifndef KOKKOS_COMPILER_NVHPC // FIXME_NVHPC 23.7 || isinf(quiet_NaN::value) || @@ -1690,6 +1697,7 @@ struct TestIsInf { ++e; Kokkos::printf("failed isinf(KE::bhalf_t)\n"); } +#endif if (isinf(3.) #ifndef KOKKOS_COMPILER_NVHPC // FIXME_NVHPC 23.7 || isinf(quiet_NaN::value) || @@ -1748,6 +1756,7 @@ struct TestIsNaN { ++e; Kokkos::printf("failed isnan(float)\n"); } +#if !(defined(KOKKOS_ENABLE_CUDA) && defined(KOKKOS_COMPILER_MSVC)) if (isnan(static_cast(2.f)) #ifndef KOKKOS_COMPILER_NVHPC // FIXME_NVHPC 23.7 || !isnan(quiet_NaN::value) || @@ -1777,6 +1786,7 @@ struct TestIsNaN { ++e; Kokkos::printf("failed isnan(double)\n"); } +#endif #ifdef MATHEMATICAL_FUNCTIONS_HAVE_LONG_DOUBLE_OVERLOADS if (isnan(4.l) || !isnan(quiet_NaN::value) || !isnan(signaling_NaN::value) || @@ -1803,6 +1813,7 @@ struct TestIsNaN { TEST(TEST_CATEGORY, mathematical_functions_isnan) { TestIsNaN(); } +#endif // TODO: TestSignBit, see https://github.com/kokkos/kokkos/issues/6279 #endif diff --git a/lib/kokkos/core/unit_test/TestNumericTraits.hpp b/lib/kokkos/core/unit_test/TestNumericTraits.hpp index 2b5531f29a..ec1c1e0ca0 100644 --- a/lib/kokkos/core/unit_test/TestNumericTraits.hpp +++ b/lib/kokkos/core/unit_test/TestNumericTraits.hpp @@ -110,8 +110,8 @@ struct TestNumericTraits { KOKKOS_FUNCTION void operator()(Epsilon, int, int& e) const { using Kokkos::Experimental::epsilon; - auto const eps = epsilon::value; - auto const one = T(1); + T const eps = epsilon::value; + T const one = 1; // Avoid higher precision intermediate representation compare() = one + eps; e += (int)!(compare() != one); diff --git a/lib/kokkos/generate_makefile.bash b/lib/kokkos/generate_makefile.bash index 1b216d9fe3..301a1fceb5 100755 --- a/lib/kokkos/generate_makefile.bash +++ b/lib/kokkos/generate_makefile.bash @@ -160,6 +160,7 @@ display_help_text() { echo " AMD_GFX906 = AMD GPU MI50/MI60 GFX906" echo " AMD_GFX908 = AMD GPU MI100 GFX908" echo " AMD_GFX90A = AMD GPU MI200 GFX90A" + echo " AMD_GFX940 = AMD GPU MI300 GFX940" echo " AMD_GFX942 = AMD GPU MI300 GFX942" echo " AMD_GFX1030 = AMD GPU V620/W6800 GFX1030" echo " AMD_GFX1100 = AMD GPU RX 7900 XT(X) GFX1100" diff --git a/lib/kokkos/master_history.txt b/lib/kokkos/master_history.txt index fd0020b8d5..a43b5276a8 100644 --- a/lib/kokkos/master_history.txt +++ b/lib/kokkos/master_history.txt @@ -34,3 +34,4 @@ tag: 4.0.00 date: 02:23:2023 master: 5ad60966 release: 52ea2953 tag: 4.0.01 date: 04:26:2023 master: aa1f48f3 release: 5893754f tag: 4.1.00 date: 06:20:2023 master: 62d2b6c8 release: adde1e6a tag: 4.2.00 date: 11:09:2023 master: 1a3ea28f release: abe01c88 +tag: 4.2.01 date: 01:30:2024 master: 71a9bcae release: 221e5f7a diff --git a/lib/kokkos/simd/src/Kokkos_SIMD_Scalar.hpp b/lib/kokkos/simd/src/Kokkos_SIMD_Scalar.hpp index af7cb1e2c6..7443f5596b 100644 --- a/lib/kokkos/simd/src/Kokkos_SIMD_Scalar.hpp +++ b/lib/kokkos/simd/src/Kokkos_SIMD_Scalar.hpp @@ -224,7 +224,7 @@ template using data_type = std::conditional_t, T, double>; return Experimental::simd( Kokkos::floor(static_cast(a[0]))); -}; +} template [[nodiscard]] KOKKOS_FORCEINLINE_FUNCTION auto ceil( @@ -232,7 +232,7 @@ template using data_type = std::conditional_t, T, double>; return Experimental::simd( Kokkos::ceil(static_cast(a[0]))); -}; +} template [[nodiscard]] KOKKOS_FORCEINLINE_FUNCTION auto round( @@ -240,7 +240,7 @@ template using data_type = std::conditional_t, T, double>; return Experimental::simd( Experimental::round_half_to_nearest_even(static_cast(a[0]))); -}; +} template [[nodiscard]] KOKKOS_FORCEINLINE_FUNCTION auto trunc( @@ -248,7 +248,7 @@ template using data_type = std::conditional_t, T, double>; return Experimental::simd( Kokkos::trunc(static_cast(a[0]))); -}; +} template [[nodiscard]] KOKKOS_FORCEINLINE_FUNCTION diff --git a/lib/kokkos/simd/unit_tests/include/TestSIMD_GeneratorCtors.hpp b/lib/kokkos/simd/unit_tests/include/TestSIMD_GeneratorCtors.hpp index 4feff3a89d..4af08c266b 100644 --- a/lib/kokkos/simd/unit_tests/include/TestSIMD_GeneratorCtors.hpp +++ b/lib/kokkos/simd/unit_tests/include/TestSIMD_GeneratorCtors.hpp @@ -42,6 +42,7 @@ inline void host_check_gen_ctor() { simd_type blend; blend.copy_from(expected, Kokkos::Experimental::element_aligned_tag()); +#if !(defined(KOKKOS_ENABLE_CUDA) && defined(KOKKOS_COMPILER_MSVC)) if constexpr (std::is_same_v) { simd_type basic(KOKKOS_LAMBDA(std::size_t i) { return init[i]; }); host_check_equality(basic, rhs, lanes); @@ -63,6 +64,7 @@ inline void host_check_gen_ctor() { host_check_equality(blend, result, lanes); } +#endif } template From 6dcfcc1a830d4e9a416b6cf3b1dce6a5281318c6 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Wed, 6 Mar 2024 17:57:10 -0700 Subject: [PATCH 311/559] Update 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 e1da77c6d0..9324ea95c4 100644 --- a/cmake/Modules/Packages/KOKKOS.cmake +++ b/cmake/Modules/Packages/KOKKOS.cmake @@ -45,8 +45,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/4.2.00.tar.gz" CACHE STRING "URL for KOKKOS tarball") - set(KOKKOS_MD5 "731647b61a4233f568d583702e9cd6d1" CACHE STRING "MD5 checksum of KOKKOS tarball") + set(KOKKOS_URL "https://github.com/kokkos/kokkos/archive/4.2.01.tar.gz" CACHE STRING "URL for KOKKOS tarball") + set(KOKKOS_MD5 "16b9b09ae947d434dfb58fc5c87c2b76" CACHE STRING "MD5 checksum of KOKKOS tarball") mark_as_advanced(KOKKOS_URL) mark_as_advanced(KOKKOS_MD5) GetFallbackURL(KOKKOS_URL KOKKOS_FALLBACK) @@ -71,7 +71,7 @@ if(DOWNLOAD_KOKKOS) add_dependencies(LAMMPS::KOKKOSCORE kokkos_build) add_dependencies(LAMMPS::KOKKOSCONTAINERS kokkos_build) elseif(EXTERNAL_KOKKOS) - find_package(Kokkos 4.2.00 REQUIRED CONFIG) + find_package(Kokkos 4.2.01 REQUIRED CONFIG) target_link_libraries(lammps PRIVATE Kokkos::kokkos) else() set(LAMMPS_LIB_KOKKOS_SRC_DIR ${LAMMPS_LIB_SOURCE_DIR}/kokkos) From 8ab2544f5b3b3113d36cf208d3cc166c3385b1e5 Mon Sep 17 00:00:00 2001 From: "W. Michael Brown" Date: Thu, 7 Mar 2024 07:07:16 -0800 Subject: [PATCH 312/559] Add option to specify # of numa domains for processors grid numa style, simplify numa mapping with more agressive optimization to reduce comm between numa domains. --- doc/src/processors.rst | 34 ++++++++++++++++------- src/comm.cpp | 9 ++++++- src/comm.h | 1 + src/procmap.cpp | 61 ++++++++++++++++-------------------------- src/procmap.h | 2 +- 5 files changed, 57 insertions(+), 50 deletions(-) diff --git a/doc/src/processors.rst b/doc/src/processors.rst index 921bbcc667..a11febb1c2 100644 --- a/doc/src/processors.rst +++ b/doc/src/processors.rst @@ -25,6 +25,8 @@ Syntax *numa* params = none *custom* params = infile infile = file containing grid layout + *numa_nodes* arg = Nn + Nn = number of numa domains per node *map* arg = *cart* or *cart/reorder* or *xyz* or *xzy* or *yxz* or *yzx* or *zxy* or *zyx* cart = use MPI_Cart() methods to map processors to 3d grid with reorder = 0 cart/reorder = use MPI_Cart() methods to map processors to 3d grid with reorder = 1 @@ -159,24 +161,28 @@ surface-to-volume ratio of each processor's subdomain. The *numa* style operates similar to the *twolevel* keyword except that it auto-detects which cores are running on which nodes. -Currently, it does this in only 2 levels, but it may be extended in -the future to account for socket topology and other non-uniform memory -access (NUMA) costs. It also uses a different algorithm than the -*twolevel* keyword for doing the two-level factorization of the -simulation box into a 3d processor grid to minimize off-node -communication, and it does its own MPI-based mapping of nodes and +It will also subdivide the cores into numa domains. Currently, the +number of numa domains is not autodetected and must be specified using +the *numa_nodes* keyword; otherwise, the default value is used. The +*numa* style uses a different algorithm than the *twolevel* keyword for +doing the two-level factorization of the simulation box into a 3d +processor grid to minimize off-node communication and communication +across numa domains. It does its own MPI-based mapping of nodes and cores to the regular 3d grid. Thus it may produce a different layout of the processors than the *twolevel* options. The *numa* style will give an error if the number of MPI processes is not divisible by the number of cores used per node, or any of the Px -or Py of Pz values is greater than 1. +or Py or Pz values is greater than 1. .. note:: Unlike the *twolevel* style, the *numa* style does not require - any particular ordering of MPI ranks i norder to work correctly. This + any particular ordering of MPI ranks in order to work correctly. This is because it auto-detects which processes are running on which nodes. + However, it assumes that the lowest ranks are in the first numa + domain, and so forth. MPI rank orderings that do not preserve this + property might result in more intranode communication between CPUs. The *custom* style uses the file *infile* to define both the 3d factorization and the mapping of processors to the grid. @@ -207,6 +213,14 @@ any order, but no processor ID should appear more than once. ---------- +The *numa_nodes* keyword is used to specifiy the number of numa domains +per node. It is currently only used by the *numa* style for two-level +factorization to reduce the amount of MPI communications between CPUs. +A good setting for this will typically be equal to the number of CPU +sockets per node. + +---------- + The *map* keyword affects how the P processor IDs (from 0 to P-1) are mapped to the 3d grid of processors. It is only used by the *onelevel* and *twolevel* grid settings. @@ -356,5 +370,5 @@ Related commands Default """"""" -The option defaults are Px Py Pz = \* \* \*, grid = onelevel, and map = -cart. +The option defaults are Px Py Pz = \* \* \*, grid = onelevel, map = +cart, and numa_nodes = 2. diff --git a/src/comm.cpp b/src/comm.cpp index 1293dd3d6d..02999fd541 100644 --- a/src/comm.cpp +++ b/src/comm.cpp @@ -420,6 +420,7 @@ void Comm::set_processors(int narg, char **arg) error->all(FLERR,"Specified processors != physical processors"); int iarg = 3; + numa_nodes = 2; while (iarg < narg) { if (strcmp(arg[iarg],"grid") == 0) { if (iarg+2 > narg) error->all(FLERR,"Illegal processors command"); @@ -514,6 +515,12 @@ void Comm::set_processors(int narg, char **arg) outfile = utils::strdup(arg[iarg+1]); iarg += 2; + } else if (strcmp(arg[iarg],"numa_nodes") == 0) { + if (iarg+2 > narg) error->all(FLERR,"Illegal processors command"); + numa_nodes = utils::inumeric(FLERR,arg[iarg+1],false,lmp); + if (numa_nodes < 1) numa_nodes = 2; + iarg += 2; + } else error->all(FLERR,"Illegal processors command"); } @@ -565,7 +572,7 @@ void Comm::set_proc_grid(int outflag) otherflag,other_style,other_procgrid,other_coregrid); } else if (gridflag == NUMA) { - pmap->numa_grid(nprocs,user_procgrid,procgrid,coregrid); + pmap->numa_grid(numa_nodes,nprocs,user_procgrid,procgrid,coregrid); } else if (gridflag == CUSTOM) { pmap->custom_grid(customfile,nprocs,user_procgrid,procgrid); diff --git a/src/comm.h b/src/comm.h index 5d803c1afa..fde4c3b81f 100644 --- a/src/comm.h +++ b/src/comm.h @@ -146,6 +146,7 @@ class Comm : protected Pointers { char xyz[4]; // xyz mapping of procs to 3d grid char *customfile; // file with custom proc map char *outfile; // proc grid/map output file + int numa_nodes; // Number of numa domains per socket for 3d grid int otherflag; // 1 if this partition dependent on another int other_style; // style of dependency diff --git a/src/procmap.cpp b/src/procmap.cpp index 71e1cf5a6b..b520354f53 100644 --- a/src/procmap.cpp +++ b/src/procmap.cpp @@ -150,13 +150,9 @@ void ProcMap::twolevel_grid(int nprocs, int *user_procgrid, int *procgrid, auto-detects NUMA sockets within a multi-core node ------------------------------------------------------------------------- */ -void ProcMap::numa_grid(int nprocs, int *user_procgrid, int *procgrid, - int *numagrid) +void ProcMap::numa_grid(int numa_nodes, int nprocs, int *user_procgrid, + int *procgrid, int *numagrid) { - // hardwire this for now - - int numa_nodes = 1; - // get names of all nodes int name_length; @@ -181,6 +177,7 @@ void ProcMap::numa_grid(int nprocs, int *user_procgrid, int *procgrid, } procs_per_node = name_map.begin()->second; procs_per_numa = procs_per_node / numa_nodes; + if (procs_per_numa < 1) procs_per_numa = 1; delete [] node_names; @@ -192,6 +189,24 @@ void ProcMap::numa_grid(int nprocs, int *user_procgrid, int *procgrid, user_procgrid[2] > 1) error->all(FLERR,"Could not create numa grid of processors"); + // factorization for the grid of NUMA nodes + + int node_count = nprocs / procs_per_numa; + + int **nodefactors; + int nodepossible = factor(node_count,nullptr); + memory->create(nodefactors,nodepossible,3,"procmap:nodefactors"); + nodepossible = factor(node_count,nodefactors); + + if (domain->dimension == 2) + nodepossible = cull_2d(nodepossible,nodefactors,3); + nodepossible = cull_user(nodepossible,nodefactors,3,user_procgrid); + + if (nodepossible == 0) + error->all(FLERR,"Could not create numa grid of processors"); + + best_factors(nodepossible,nodefactors,nodegrid,1,1,1); + // user settings for the factorization per numa node // currently not user settable // if user specifies 1 for a proc grid dimension, @@ -204,6 +219,7 @@ void ProcMap::numa_grid(int nprocs, int *user_procgrid, int *procgrid, if (user_procgrid[1] == 1) user_numagrid[1] = 1; if (user_procgrid[2] == 1) user_numagrid[2] = 1; + // perform NUMA node factorization using subdomain sizes // initial factorization within NUMA node int **numafactors; @@ -218,38 +234,6 @@ void ProcMap::numa_grid(int nprocs, int *user_procgrid, int *procgrid, if (numapossible == 0) error->all(FLERR,"Could not create numa grid of processors"); - best_factors(numapossible,numafactors,numagrid,1,1,1); - - // user_nodegrid = implied user constraints on nodes - - int user_nodegrid[3]; - user_nodegrid[0] = user_procgrid[0] / numagrid[0]; - user_nodegrid[1] = user_procgrid[1] / numagrid[1]; - user_nodegrid[2] = user_procgrid[2] / numagrid[2]; - - // factorization for the grid of NUMA nodes - - int node_count = nprocs / procs_per_numa; - - int **nodefactors; - int nodepossible = factor(node_count,nullptr); - memory->create(nodefactors,nodepossible,3,"procmap:nodefactors"); - nodepossible = factor(node_count,nodefactors); - - if (domain->dimension == 2) - nodepossible = cull_2d(nodepossible,nodefactors,3); - nodepossible = cull_user(nodepossible,nodefactors,3,user_nodegrid); - - if (nodepossible == 0) - error->all(FLERR,"Could not create numa grid of processors"); - - best_factors(nodepossible,nodefactors,nodegrid, - numagrid[0],numagrid[1],numagrid[2]); - - // repeat NUMA node factorization using subdomain sizes - // refines the factorization if the user specified the node layout - // NOTE: this will not re-enforce user-procgrid constraint will it? - best_factors(numapossible,numafactors,numagrid, nodegrid[0],nodegrid[1],nodegrid[2]); @@ -270,6 +254,7 @@ void ProcMap::numa_grid(int nprocs, int *user_procgrid, int *procgrid, procgrid[0] = nodegrid[0] * numagrid[0]; procgrid[1] = nodegrid[1] * numagrid[1]; procgrid[2] = nodegrid[2] * numagrid[2]; + } /* ---------------------------------------------------------------------- diff --git a/src/procmap.h b/src/procmap.h index 06867837c6..2731aec984 100644 --- a/src/procmap.h +++ b/src/procmap.h @@ -24,7 +24,7 @@ class ProcMap : protected Pointers { void onelevel_grid(int, int *, int *, int, int, int *, int *); void twolevel_grid(int, int *, int *, int, int *, int *, int, int, int *, int *); - void numa_grid(int, int *, int *, int *); + void numa_grid(int, int, int *, int *, int *); void custom_grid(char *, int, int *, int *); void cart_map(int, int *, int *, int[3][2], int ***); void cart_map(int, int *, int, int *, int *, int[3][2], int ***); From ba5c1a4ac39f84e38d21c9d25b24b6ce8c8e14e4 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Fri, 8 Mar 2024 15:35:48 +0100 Subject: [PATCH 313/559] minor modifications in fix_indent.rst --- doc/src/fix_indent.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/fix_indent.rst b/doc/src/fix_indent.rst index 5658c06373..e041f9f29b 100644 --- a/doc/src/fix_indent.rst +++ b/doc/src/fix_indent.rst @@ -44,8 +44,8 @@ Syntax .. parsed-literal:: *side* value = *in* or *out* - *in* = the indenter acts on particles inside the sphere or cylinder - *out* = the indenter acts on particles outside the sphere or cylinder + *in* = the indenter acts on particles inside the sphere or cylinder or cone + *out* = the indenter acts on particles outside the sphere or cylinder or cone *units* value = *lattice* or *box* lattice = the geometry is defined in lattice units box = the geometry is defined in simulation box units @@ -64,7 +64,7 @@ Description Insert an indenter within a simulation box. The indenter repels all atoms in the group that touch it, so it can be used to push into a -material or as an obstacle in a flow. Or it can be used as a +material or as an obstacle in a flow. Alternatively, it can be used as a constraining wall around a simulation; see the discussion of the *side* keyword below. From ebe57ce9eb329018b64ff503651c81b721091adc Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Fri, 8 Mar 2024 15:45:46 +0100 Subject: [PATCH 314/559] removing whitespaces - fix_indent.cpp --- src/fix_indent.cpp | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/src/fix_indent.cpp b/src/fix_indent.cpp index 3599c4ddaa..87ed5091bd 100644 --- a/src/fix_indent.cpp +++ b/src/fix_indent.cpp @@ -65,7 +65,7 @@ FixIndent::FixIndent(LAMMPS *lmp, int narg, char **arg) : int iarg = geometry(narg-4,&arg[4]) + 4; options(narg-iarg,&arg[iarg]); - + // setup scaling const double xscale { scaleflag ? domain->lattice->xlattice : 1.0}; @@ -268,7 +268,7 @@ void FixIndent::post_force(int /*vflag*/) if (istyle == SPHERE) { // remap indenter center into periodic box - + domain->remap(ctr); double radius { rstr ? input->variable->compute_equal(rvar) : rvalue}; @@ -388,7 +388,7 @@ void FixIndent::post_force(int /*vflag*/) // compute the force from the center of the cone // this is different from how it is done in fix wall/region - + dr = sqrt(x0[0] * x0[0] + x0[1] * x0[1] + x0[2] * x0[2]); int force_sign = { point_inside_cone ? 1 : -1 }; @@ -509,7 +509,7 @@ int FixIndent::geometry(int narg, char **arg) } // cylinder - + if (strcmp(arg[0],"cylinder") == 0) { if (istyle != NONE) error->all(FLERR, "Fix indent requires a single geometry keyword"); if (5 > narg) utils::missing_cmd_args(FLERR, "fix indent cylinder", error); @@ -539,21 +539,21 @@ int FixIndent::geometry(int narg, char **arg) ystr = utils::strdup(arg[3]+2); } else yvalue = utils::numeric(FLERR,arg[3],false,lmp); } else error->all(FLERR,"Unknown fix indent cylinder argument: {}", arg[1]); - + if (utils::strmatch(arg[4],"^v_")) { rstr = utils::strdup(arg[4]+2); } else rvalue = utils::numeric(FLERR,arg[4],false,lmp); - + istyle = CYLINDER; return 5; } // cone - + if (strcmp(arg[0],"cone") == 0) { if (istyle != NONE) error->all(FLERR, "Fix indent requires a single geometry keyword"); if (8 > narg) utils::missing_cmd_args(FLERR, "fix indent cone", error); - + if (strcmp(arg[1],"x") == 0) { cdim = 0; if (utils::strmatch(arg[2],"^v_")) { @@ -562,7 +562,7 @@ int FixIndent::geometry(int narg, char **arg) if (utils::strmatch(arg[3],"^v_")) { zstr = utils::strdup(arg[3]+2); } else zvalue = utils::numeric(FLERR,arg[3],false,lmp); - + } else if (strcmp(arg[1],"y") == 0) { cdim = 1; if (utils::strmatch(arg[2],"^v_")) { @@ -571,7 +571,7 @@ int FixIndent::geometry(int narg, char **arg) if (utils::strmatch(arg[3],"^v_")) { zstr = utils::strdup(arg[3]+2); } else zvalue = utils::numeric(FLERR,arg[3],false,lmp); - + } else if (strcmp(arg[1],"z") == 0) { cdim = 2; if (utils::strmatch(arg[2],"^v_")) { @@ -580,9 +580,9 @@ int FixIndent::geometry(int narg, char **arg) if (utils::strmatch(arg[3],"^v_")) { ystr = utils::strdup(arg[3]+2); } else yvalue = utils::numeric(FLERR,arg[3],false,lmp); - + } else error->all(FLERR,"Unknown fix indent cone argument: {}", arg[1]); - + if (utils::strmatch(arg[4],"^v_")) { rlostr = utils::strdup(arg[4]+2); } else rlovalue = utils::numeric(FLERR,arg[4],false,lmp); @@ -638,7 +638,7 @@ void FixIndent::options(int narg, char **arg) side = OUTSIDE; int iarg = 0; - + while (iarg < narg) { if (strcmp(arg[iarg],"units") == 0) { if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix indent units", error); @@ -653,7 +653,7 @@ void FixIndent::options(int narg, char **arg) else if (strcmp(arg[iarg+1],"out") == 0) side = OUTSIDE; else error->all(FLERR,"Unknown fix indent side argument: {}", arg[iarg+1]); iarg += 2; - + } else error->all(FLERR,"Unknown fix indent argument: {}", arg[iarg]); } } @@ -712,21 +712,21 @@ void FixIndent::DistanceExteriorPoint(int dir, double *center, double lo, double corner4[dir] = hi; // initialize distance to a big number - + double distsq = 1.0e20; // check the first triangle - + point_on_line_segment(corner1, corner2, point, xp); distsq = closest(point, xp, nearest, distsq); // check the second triangle - + point_on_line_segment(corner1, corner3, point, xp); distsq = closest(point, xp, nearest, distsq); // check the third triangle - + point_on_line_segment(corner2, corner4, point, xp); distsq = closest(point, xp, nearest, distsq); @@ -751,7 +751,7 @@ void FixIndent::DistanceInteriorPoint(int dir, double *center, double point[3] {0.0, 0.0, 0.0}; // initial check with the two disks - + if ( (initial_point[dir] - lo) < (hi - initial_point[dir]) ) { dist_disk = (initial_point[dir] - lo) * (initial_point[dir] - lo); point[dir] = initial_point[dir] - lo; @@ -761,7 +761,7 @@ void FixIndent::DistanceInteriorPoint(int dir, double *center, } // check with the points in the conical surface - + double del[3] {x - center[0], y - center[1], z - center[2]}; del[dir] = 0.0; r = sqrt(del[0] * del[0] + del[1] * del[1] + del[2] * del[2]); From 01628dfc614799adb2efb1c5414de0e40d0cf7d9 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Fri, 8 Mar 2024 15:46:27 +0100 Subject: [PATCH 315/559] removing whitespaces in fix_indent.h --- src/fix_indent.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/fix_indent.h b/src/fix_indent.h index 7224908390..37e1623df9 100644 --- a/src/fix_indent.h +++ b/src/fix_indent.h @@ -54,12 +54,12 @@ class FixIndent : public Fix { double rlovalue, rhivalue, lovalue, hivalue; // methods for argument parsing - + int geometry(int, char **); void options(int, char **); // methods for conical indenter - + bool PointInsideCone(int, double *, double, double, double, double, double *); void DistanceExteriorPoint(int, double *, double, double, double, double, double &, double &, double &); From 94e9fe5df38db71b01080a970c2ce2d9175ad74e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 8 Mar 2024 11:08:06 -0500 Subject: [PATCH 316/559] flag error with explanation when removed keyword "reax/c" is used instead of a file not found --- src/REAXFF/fix_qeq_reaxff.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/REAXFF/fix_qeq_reaxff.cpp b/src/REAXFF/fix_qeq_reaxff.cpp index ab561de0a7..2c3089b5e8 100644 --- a/src/REAXFF/fix_qeq_reaxff.cpp +++ b/src/REAXFF/fix_qeq_reaxff.cpp @@ -141,7 +141,7 @@ FixQEqReaxFF::FixQEqReaxFF(LAMMPS *lmp, int narg, char **arg) : // perform initial allocation of atom-based arrays // register with Atom class - reaxff = dynamic_cast(force->pair_match("^reax..",0)); + reaxff = dynamic_cast(force->pair_match("^reaxff",0)); s_hist = t_hist = nullptr; atom->add_callback(Atom::GROW); @@ -217,6 +217,8 @@ void FixQEqReaxFF::pertype_parameters(char *arg) if (chi == nullptr || eta == nullptr || gamma == nullptr) error->all(FLERR, "Fix qeq/reaxff could not extract params from pair reaxff"); return; + } else if (utils::strmatch(arg,"^reax/c")) { + error->all(FLERR, "Fix qeq/reaxff keyword 'reax/c' is obsolete; please use 'reaxff'"); } reaxflag = 0; From bd0eb1ec843b82525dfee31e6a904b8e7bb32a68 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 8 Mar 2024 11:13:15 -0500 Subject: [PATCH 317/559] silence compiler warning, cosmetic --- src/EXTRA-FIX/fix_nonaffine_displacement.cpp | 6 ++++-- src/EXTRA-FIX/fix_nonaffine_displacement.h | 1 - 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/EXTRA-FIX/fix_nonaffine_displacement.cpp b/src/EXTRA-FIX/fix_nonaffine_displacement.cpp index ee14822e98..eaf45f4e59 100644 --- a/src/EXTRA-FIX/fix_nonaffine_displacement.cpp +++ b/src/EXTRA-FIX/fix_nonaffine_displacement.cpp @@ -65,7 +65,8 @@ static const char cite_nonaffine_d2min[] = /* ---------------------------------------------------------------------- */ FixNonaffineDisplacement::FixNonaffineDisplacement(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg), id_fix(nullptr), X(nullptr), Y(nullptr), F(nullptr), norm(nullptr), D2min(nullptr) + Fix(lmp, narg, arg), id_fix(nullptr), fix(nullptr), D2min(nullptr), X(nullptr), Y(nullptr), + F(nullptr), norm(nullptr) { if (narg < 4) utils::missing_cmd_args(FLERR,"fix nonaffine/displacement", error); @@ -85,7 +86,8 @@ FixNonaffineDisplacement::FixNonaffineDisplacement(LAMMPS *lmp, int narg, char * } else if (strcmp(arg[iarg + 1], "radius") == 0) { cut_style = RADIUS; } else if (strcmp(arg[iarg + 1], "custom") == 0) { - if (iarg + 2 > narg) utils::missing_cmd_args(FLERR,"fix nonaffine/displacement custom", error); + if (iarg + 2 > narg) + utils::missing_cmd_args(FLERR,"fix nonaffine/displacement custom", error); if ((neighbor->style == Neighbor::MULTI) || (neighbor->style == Neighbor::MULTI_OLD)) error->all(FLERR, "Fix nonaffine/displacement with custom cutoff requires neighbor style 'bin' or 'nsq'"); cut_style = CUSTOM; diff --git a/src/EXTRA-FIX/fix_nonaffine_displacement.h b/src/EXTRA-FIX/fix_nonaffine_displacement.h index 79dbdabf49..c7177bd3d9 100644 --- a/src/EXTRA-FIX/fix_nonaffine_displacement.h +++ b/src/EXTRA-FIX/fix_nonaffine_displacement.h @@ -57,7 +57,6 @@ class FixNonaffineDisplacement : public Fix { class NeighList *list; // half neighbor list - void integrate_velocity(); void calculate_D2Min(); void save_reference_state(); From e7d77b62445d9d85c19c3cd3954efdf64fcafcee Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 8 Mar 2024 12:23:02 -0500 Subject: [PATCH 318/559] enable and apply clang-format, revert to some older code constructs where equivalent --- src/fix_indent.cpp | 475 ++++++++++++++++++++++++--------------------- 1 file changed, 251 insertions(+), 224 deletions(-) diff --git a/src/fix_indent.cpp b/src/fix_indent.cpp index 87ed5091bd..a8b14940f4 100644 --- a/src/fix_indent.cpp +++ b/src/fix_indent.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -35,15 +34,14 @@ using namespace LAMMPS_NS; using namespace FixConst; -enum{NONE, SPHERE, CYLINDER, PLANE, CONE}; -enum{INSIDE, OUTSIDE}; +enum { NONE, SPHERE, CYLINDER, PLANE, CONE }; +enum { INSIDE, OUTSIDE }; /* ---------------------------------------------------------------------- */ FixIndent::FixIndent(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg), - xstr(nullptr), ystr(nullptr), zstr(nullptr), rstr(nullptr), pstr(nullptr), - rlostr(nullptr), rhistr(nullptr), lostr(nullptr), histr(nullptr) + Fix(lmp, narg, arg), xstr(nullptr), ystr(nullptr), zstr(nullptr), rstr(nullptr), pstr(nullptr), + rlostr(nullptr), rhistr(nullptr), lostr(nullptr), histr(nullptr) { if (narg < 4) utils::missing_cmd_args(FLERR, "fix indent", error); @@ -57,20 +55,20 @@ FixIndent::FixIndent(LAMMPS *lmp, int narg, char **arg) : respa_level_support = 1; ilevel_respa = 0; - k = utils::numeric(FLERR,arg[3],false,lmp); + k = utils::numeric(FLERR, arg[3], false, lmp); if (k < 0.0) error->all(FLERR, "Illegal fix indent force constant: {}", k); - k3 = k/3.0; + k3 = k / 3.0; // read geometry of indenter and optional args - int iarg = geometry(narg-4,&arg[4]) + 4; - options(narg-iarg,&arg[iarg]); + int iarg = geometry(narg - 4, &arg[4]) + 4; + options(narg - iarg, &arg[iarg]); // setup scaling - const double xscale { scaleflag ? domain->lattice->xlattice : 1.0}; - const double yscale { scaleflag ? domain->lattice->ylattice : 1.0}; - const double zscale { scaleflag ? domain->lattice->zlattice : 1.0}; + const double xscale{scaleflag ? domain->lattice->xlattice : 1.0}; + const double yscale{scaleflag ? domain->lattice->ylattice : 1.0}; + const double zscale{scaleflag ? domain->lattice->zlattice : 1.0}; // apply scaling factors to geometry @@ -79,7 +77,7 @@ FixIndent::FixIndent(LAMMPS *lmp, int narg, char **arg) : if (!ystr) yvalue *= yscale; if (!zstr) zvalue *= zscale; if (!rstr) rvalue *= xscale; - + } else if (istyle == CONE) { if (!xstr) xvalue *= xscale; if (!ystr) yvalue *= yscale; @@ -104,11 +102,15 @@ FixIndent::FixIndent(LAMMPS *lmp, int narg, char **arg) : if (!histr) hivalue *= scaling_factor; } else if (istyle == PLANE) { - if (cdim == 0 && !pstr) pvalue *= xscale; - else if (cdim == 1 && !pstr) pvalue *= yscale; - else if (cdim == 2 && !pstr) pvalue *= zscale; + if (cdim == 0 && !pstr) + pvalue *= xscale; + else if (cdim == 1 && !pstr) + pvalue *= yscale; + else if (cdim == 2 && !pstr) + pvalue *= zscale; - } else error->all(FLERR,"Unknown fix indent keyword: {}", istyle); + } else + error->all(FLERR, "Unknown fix indent keyword: {}", istyle); varflag = 0; if (xstr || ystr || zstr || rstr || pstr || rlostr || rhistr || lostr || histr) varflag = 1; @@ -121,15 +123,15 @@ FixIndent::FixIndent(LAMMPS *lmp, int narg, char **arg) : FixIndent::~FixIndent() { - delete [] xstr; - delete [] ystr; - delete [] zstr; - delete [] rstr; - delete [] pstr; - delete [] rlostr; - delete [] rhistr; - delete [] lostr; - delete [] histr; + delete[] xstr; + delete[] ystr; + delete[] zstr; + delete[] rstr; + delete[] pstr; + delete[] rlostr; + delete[] rhistr; + delete[] lostr; + delete[] histr; } /* ---------------------------------------------------------------------- */ @@ -149,71 +151,62 @@ void FixIndent::init() { if (xstr) { xvar = input->variable->find(xstr); - if (xvar < 0) - error->all(FLERR,"Variable {} for fix indent does not exist", xstr); + if (xvar < 0) error->all(FLERR, "Variable {} for fix indent does not exist", xstr); if (!input->variable->equalstyle(xvar)) - error->all(FLERR,"Variable {} for fix indent is invalid style", xstr); + error->all(FLERR, "Variable {} for fix indent is invalid style", xstr); } if (ystr) { yvar = input->variable->find(ystr); - if (yvar < 0) - error->all(FLERR,"Variable {} for fix indent does not exist", ystr); + if (yvar < 0) error->all(FLERR, "Variable {} for fix indent does not exist", ystr); if (!input->variable->equalstyle(yvar)) - error->all(FLERR,"Variable {} for fix indent is invalid style", ystr); + error->all(FLERR, "Variable {} for fix indent is invalid style", ystr); } if (zstr) { zvar = input->variable->find(zstr); - if (zvar < 0) - error->all(FLERR,"Variable {} for fix indent does not exist", zstr); + if (zvar < 0) error->all(FLERR, "Variable {} for fix indent does not exist", zstr); if (!input->variable->equalstyle(zvar)) - error->all(FLERR,"Variable {} for fix indent is invalid style", zstr); + error->all(FLERR, "Variable {} for fix indent is invalid style", zstr); } if (rstr) { rvar = input->variable->find(rstr); - if (rvar < 0) - error->all(FLERR,"Variable {} for fix indent does not exist", rstr); + if (rvar < 0) error->all(FLERR, "Variable {} for fix indent does not exist", rstr); if (!input->variable->equalstyle(rvar)) - error->all(FLERR,"Variable {} for fix indent is invalid style", rstr); + error->all(FLERR, "Variable {} for fix indent is invalid style", rstr); } if (pstr) { pvar = input->variable->find(pstr); - if (pvar < 0) - error->all(FLERR,"Variable {} for fix indent does not exist", pstr); + if (pvar < 0) error->all(FLERR, "Variable {} for fix indent does not exist", pstr); if (!input->variable->equalstyle(pvar)) - error->all(FLERR,"Variable {} for fix indent is invalid style", pstr); + error->all(FLERR, "Variable {} for fix indent is invalid style", pstr); } if (rlostr) { rlovar = input->variable->find(rlostr); - if (rlovar < 0) - error->all(FLERR,"Variable {} for fix indent does not exist", rlostr); + if (rlovar < 0) error->all(FLERR, "Variable {} for fix indent does not exist", rlostr); if (!input->variable->equalstyle(rlovar)) - error->all(FLERR,"Variable {} for fix indent is invalid style", rlostr); + error->all(FLERR, "Variable {} for fix indent is invalid style", rlostr); } if (rhistr) { rhivar = input->variable->find(rhistr); - if (rhivar < 0) - error->all(FLERR,"Variable {} for fix indent does not exist", rhistr); + if (rhivar < 0) error->all(FLERR, "Variable {} for fix indent does not exist", rhistr); if (!input->variable->equalstyle(rhivar)) - error->all(FLERR,"Variable {} for fix indent is invalid style", rhistr); + error->all(FLERR, "Variable {} for fix indent is invalid style", rhistr); } if (lostr) { lovar = input->variable->find(lostr); - if (lovar < 0) - error->all(FLERR,"Variable {} for fix indent does not exist", lostr); + if (lovar < 0) error->all(FLERR, "Variable {} for fix indent does not exist", lostr); if (!input->variable->equalstyle(lovar)) - error->all(FLERR,"Variable {} for fix indent is invalid style", lostr); + error->all(FLERR, "Variable {} for fix indent is invalid style", lostr); } if (histr) { hivar = input->variable->find(histr); - if (hivar < 0) - error->all(FLERR,"Variable {} for fix indent does not exist", histr); + if (hivar < 0) error->all(FLERR, "Variable {} for fix indent does not exist", histr); if (!input->variable->equalstyle(hivar)) - error->all(FLERR,"Variable {} for fix indent is invalid style", histr); + error->all(FLERR, "Variable {} for fix indent is invalid style", histr); } - if (utils::strmatch(update->integrate_style,"^respa")) { - ilevel_respa = (dynamic_cast(update->integrate))->nlevels-1; - if (respa_level >= 0) ilevel_respa = MIN(respa_level,ilevel_respa); + if (utils::strmatch(update->integrate_style, "^respa")) { + ilevel_respa = (dynamic_cast(update->integrate))->nlevels - 1; + if (respa_level >= 0) ilevel_respa = MIN(respa_level, ilevel_respa); } } @@ -221,11 +214,11 @@ void FixIndent::init() void FixIndent::setup(int vflag) { - if (utils::strmatch(update->integrate_style,"^verlet")) + if (utils::strmatch(update->integrate_style, "^verlet")) post_force(vflag); else { (dynamic_cast(update->integrate))->copy_flevel_f(ilevel_respa); - post_force_respa(vflag,ilevel_respa,0); + post_force_respa(vflag, ilevel_respa, 0); (dynamic_cast(update->integrate))->copy_f_flevel(ilevel_respa); } } @@ -250,8 +243,8 @@ void FixIndent::post_force(int /*vflag*/) indenter[0] = indenter[1] = indenter[2] = indenter[3] = 0.0; // ctr = current indenter centerz - - double ctr[3] {xvalue, yvalue, zvalue}; + + double ctr[3] = {xvalue, yvalue, zvalue}; if (xstr) ctr[0] = input->variable->compute_equal(xvar); if (ystr) ctr[1] = input->variable->compute_equal(yvar); if (zstr) ctr[2] = input->variable->compute_equal(zvar); @@ -271,7 +264,7 @@ void FixIndent::post_force(int /*vflag*/) domain->remap(ctr); - double radius { rstr ? input->variable->compute_equal(rvar) : rvalue}; + double radius = rstr ? input->variable->compute_equal(rvar) : rvalue; if (radius < 0.0) error->all(FLERR, "Illegal fix indent sphere radius: {}", radius); for (int i = 0; i < nlocal; i++) @@ -279,29 +272,29 @@ void FixIndent::post_force(int /*vflag*/) delx = x[i][0] - ctr[0]; dely = x[i][1] - ctr[1]; delz = x[i][2] - ctr[2]; - domain->minimum_image(delx,dely,delz); - r = sqrt(delx*delx + dely*dely + delz*delz); + domain->minimum_image(delx, dely, delz); + r = sqrt(delx * delx + dely * dely + delz * delz); if (side == OUTSIDE) { dr = r - radius; - fmag = k*dr*dr; + fmag = k * dr * dr; } else { dr = radius - r; - fmag = -k*dr*dr; + fmag = -k * dr * dr; } if (dr >= 0.0) continue; - fx = delx*fmag/r; - fy = dely*fmag/r; - fz = delz*fmag/r; + fx = delx * fmag / r; + fy = dely * fmag / r; + fz = delz * fmag / r; f[i][0] += fx; f[i][1] += fy; f[i][2] += fz; - indenter[0] -= k3 * dr*dr*dr; + indenter[0] -= k3 * dr * dr * dr; indenter[1] -= fx; indenter[2] -= fy; indenter[3] -= fz; } - // cylindrical indenter + // cylindrical indenter } else if (istyle == CYLINDER) { @@ -312,46 +305,46 @@ void FixIndent::post_force(int /*vflag*/) ctr[cdim] = domain->boxlo[cdim]; domain->remap(ctr); - double radius { rstr ? input->variable->compute_equal(rvar) : rvalue}; + double radius{rstr ? input->variable->compute_equal(rvar) : rvalue}; if (radius < 0.0) error->all(FLERR, "Illegal fix indent cylinder radius: {}", radius); for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { - double del[3] {x[i][0] - ctr[0], x[i][1] - ctr[1], x[i][2] - ctr[2]}; + double del[3] = {x[i][0] - ctr[0], x[i][1] - ctr[1], x[i][2] - ctr[2]}; del[cdim] = 0; domain->minimum_image(del[0], del[1], del[2]); - r = sqrt(del[0]*del[0] + del[1]*del[1] + del[2]*del[2]); + r = sqrt(del[0] * del[0] + del[1] * del[1] + del[2] * del[2]); if (side == OUTSIDE) { dr = r - radius; - fmag = k*dr*dr; + fmag = k * dr * dr; } else { dr = radius - r; - fmag = -k*dr*dr; + fmag = -k * dr * dr; } if (dr >= 0.0) continue; - fx = del[0]*fmag/r; - fy = del[1]*fmag/r; - fz = del[2]*fmag/r; + fx = del[0] * fmag / r; + fy = del[1] * fmag / r; + fz = del[2] * fmag / r; f[i][0] += fx; f[i][1] += fy; f[i][2] += fz; - indenter[0] -= k3 * dr*dr*dr; + indenter[0] -= k3 * dr * dr * dr; indenter[1] -= fx; indenter[2] -= fy; indenter[3] -= fz; } - // conical indenter + // conical indenter } else if (istyle == CONE) { - double radiuslo { rlostr ? input->variable->compute_equal(rlovar) : rlovalue }; + double radiuslo{rlostr ? input->variable->compute_equal(rlovar) : rlovalue}; if (radiuslo < 0.0) error->all(FLERR, "Illegal fix indent cone lower radius: {}", radiuslo); - double radiushi { rhistr ? input->variable->compute_equal(rhivar) : rhivalue }; + double radiushi{rhistr ? input->variable->compute_equal(rhivar) : rhivalue}; if (radiushi < 0.0) error->all(FLERR, "Illegal fix indent cone high radius: {}", radiushi); - double initial_lo { lostr ? input->variable->compute_equal(lovar) : lovalue }; - double initial_hi { histr ? input->variable->compute_equal(hivar) : hivalue }; + double initial_lo{lostr ? input->variable->compute_equal(lovar) : lovalue}; + double initial_hi{histr ? input->variable->compute_equal(hivar) : hivalue}; ctr[cdim] = 0.5 * (initial_hi + initial_lo); @@ -368,18 +361,18 @@ void FixIndent::post_force(int /*vflag*/) delz = x[i][2] - ctr[2]; domain->minimum_image(delx, dely, delz); - double x0[3] {delx + ctr[0], dely + ctr[1], delz + ctr[2]}; + double x0[3] = {delx + ctr[0], dely + ctr[1], delz + ctr[2]}; r = sqrt(delx * delx + dely * dely + delz * delz); // check if particle is inside or outside the cone - + bool point_inside_cone = PointInsideCone(cdim, ctr, lo, hi, radiuslo, radiushi, x0); if (side == INSIDE && point_inside_cone) continue; if (side == OUTSIDE && !point_inside_cone) continue; // find the distance between the point and the cone - + if (point_inside_cone) { DistanceInteriorPoint(cdim, ctr, lo, hi, radiuslo, radiushi, x0[0], x0[1], x0[2]); } else { @@ -391,12 +384,12 @@ void FixIndent::post_force(int /*vflag*/) dr = sqrt(x0[0] * x0[0] + x0[1] * x0[1] + x0[2] * x0[2]); - int force_sign = { point_inside_cone ? 1 : -1 }; + int force_sign = {point_inside_cone ? 1 : -1}; fmag = force_sign * k * dr * dr; - fx = delx*fmag/r; - fy = dely*fmag/r; - fz = delz*fmag/r; + fx = delx * fmag / r; + fy = dely * fmag / r; + fz = delz * fmag / r; f[i][0] += fx; f[i][1] += fy; f[i][2] += fz; @@ -407,13 +400,13 @@ void FixIndent::post_force(int /*vflag*/) } } - // planar indenter + // planar indenter } else { // plane = current plane position - double plane { pstr ? input->variable->compute_equal(pvar) : pvalue}; + double plane{pstr ? input->variable->compute_equal(pvar) : pvalue}; for (int i = 0; i < nlocal; i++) if (mask[i] & groupbit) { @@ -422,7 +415,7 @@ void FixIndent::post_force(int /*vflag*/) fmag = -planeside * k * dr * dr; f[i][cdim] += fmag; indenter[0] -= k3 * dr * dr * dr; - indenter[cdim+1] -= fmag; + indenter[cdim + 1] -= fmag; } } @@ -452,7 +445,7 @@ double FixIndent::compute_scalar() // only sum across procs one time if (indenter_flag == 0) { - MPI_Allreduce(indenter,indenter_all,4,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(indenter, indenter_all, 4, MPI_DOUBLE, MPI_SUM, world); indenter_flag = 1; } return indenter_all[0]; @@ -467,10 +460,10 @@ double FixIndent::compute_vector(int n) // only sum across procs one time if (indenter_flag == 0) { - MPI_Allreduce(indenter,indenter_all,4,MPI_DOUBLE,MPI_SUM,world); + MPI_Allreduce(indenter, indenter_all, 4, MPI_DOUBLE, MPI_SUM, world); indenter_flag = 1; } - return indenter_all[n+1]; + return indenter_all[n + 1]; } /* ---------------------------------------------------------------------- @@ -486,63 +479,75 @@ int FixIndent::geometry(int narg, char **arg) xvalue = yvalue = zvalue = rvalue = pvalue = 0.0; // sphere - - if (strcmp(arg[0],"sphere") == 0) { + + if (strcmp(arg[0], "sphere") == 0) { if (istyle != NONE) error->all(FLERR, "Fix indent requires a single geometry keyword"); if (5 > narg) utils::missing_cmd_args(FLERR, "fix indent sphere", error); - if (utils::strmatch(arg[1],"^v_")) { - xstr = utils::strdup(arg[1]+2); - } else xvalue = utils::numeric(FLERR,arg[1],false,lmp); - if (utils::strmatch(arg[2],"^v_")) { - ystr = utils::strdup(arg[2]+2); - } else yvalue = utils::numeric(FLERR,arg[2],false,lmp); - if (utils::strmatch(arg[3],"^v_")) { - zstr = utils::strdup(arg[3]+2); - } else zvalue = utils::numeric(FLERR,arg[3],false,lmp); - if (utils::strmatch(arg[4],"^v_")) { - rstr = utils::strdup(arg[4]+2); - } else rvalue = utils::numeric(FLERR,arg[4],false,lmp); - + if (utils::strmatch(arg[1], "^v_")) { + xstr = utils::strdup(arg[1] + 2); + } else + xvalue = utils::numeric(FLERR, arg[1], false, lmp); + if (utils::strmatch(arg[2], "^v_")) { + ystr = utils::strdup(arg[2] + 2); + } else + yvalue = utils::numeric(FLERR, arg[2], false, lmp); + if (utils::strmatch(arg[3], "^v_")) { + zstr = utils::strdup(arg[3] + 2); + } else + zvalue = utils::numeric(FLERR, arg[3], false, lmp); + if (utils::strmatch(arg[4], "^v_")) { + rstr = utils::strdup(arg[4] + 2); + } else + rvalue = utils::numeric(FLERR, arg[4], false, lmp); + istyle = SPHERE; return 5; } // cylinder - if (strcmp(arg[0],"cylinder") == 0) { + if (strcmp(arg[0], "cylinder") == 0) { if (istyle != NONE) error->all(FLERR, "Fix indent requires a single geometry keyword"); if (5 > narg) utils::missing_cmd_args(FLERR, "fix indent cylinder", error); - if (strcmp(arg[1],"x") == 0) { + if (strcmp(arg[1], "x") == 0) { cdim = 0; - if (utils::strmatch(arg[2],"^v_")) { - ystr = utils::strdup(arg[2]+2); - } else yvalue = utils::numeric(FLERR,arg[2],false,lmp); - if (utils::strmatch(arg[3],"^v_")) { - zstr = utils::strdup(arg[3]+2); - } else zvalue = utils::numeric(FLERR,arg[3],false,lmp); - } else if (strcmp(arg[1],"y") == 0) { + if (utils::strmatch(arg[2], "^v_")) { + ystr = utils::strdup(arg[2] + 2); + } else + yvalue = utils::numeric(FLERR, arg[2], false, lmp); + if (utils::strmatch(arg[3], "^v_")) { + zstr = utils::strdup(arg[3] + 2); + } else + zvalue = utils::numeric(FLERR, arg[3], false, lmp); + } else if (strcmp(arg[1], "y") == 0) { cdim = 1; - if (utils::strmatch(arg[2],"^v_")) { - xstr = utils::strdup(arg[2]+2); - } else xvalue = utils::numeric(FLERR,arg[2],false,lmp); - if (utils::strmatch(arg[3],"^v_")) { - zstr = utils::strdup(arg[3]+2); - } else zvalue = utils::numeric(FLERR,arg[3],false,lmp); - } else if (strcmp(arg[1],"z") == 0) { + if (utils::strmatch(arg[2], "^v_")) { + xstr = utils::strdup(arg[2] + 2); + } else + xvalue = utils::numeric(FLERR, arg[2], false, lmp); + if (utils::strmatch(arg[3], "^v_")) { + zstr = utils::strdup(arg[3] + 2); + } else + zvalue = utils::numeric(FLERR, arg[3], false, lmp); + } else if (strcmp(arg[1], "z") == 0) { cdim = 2; - if (utils::strmatch(arg[2],"^v_")) { - xstr = utils::strdup(arg[2]+2); - } else xvalue = utils::numeric(FLERR,arg[2],false,lmp); - if (utils::strmatch(arg[3],"^v_")) { - ystr = utils::strdup(arg[3]+2); - } else yvalue = utils::numeric(FLERR,arg[3],false,lmp); - } else error->all(FLERR,"Unknown fix indent cylinder argument: {}", arg[1]); + if (utils::strmatch(arg[2], "^v_")) { + xstr = utils::strdup(arg[2] + 2); + } else + xvalue = utils::numeric(FLERR, arg[2], false, lmp); + if (utils::strmatch(arg[3], "^v_")) { + ystr = utils::strdup(arg[3] + 2); + } else + yvalue = utils::numeric(FLERR, arg[3], false, lmp); + } else + error->all(FLERR, "Unknown fix indent cylinder argument: {}", arg[1]); - if (utils::strmatch(arg[4],"^v_")) { - rstr = utils::strdup(arg[4]+2); - } else rvalue = utils::numeric(FLERR,arg[4],false,lmp); + if (utils::strmatch(arg[4], "^v_")) { + rstr = utils::strdup(arg[4] + 2); + } else + rvalue = utils::numeric(FLERR, arg[4], false, lmp); istyle = CYLINDER; return 5; @@ -550,81 +555,100 @@ int FixIndent::geometry(int narg, char **arg) // cone - if (strcmp(arg[0],"cone") == 0) { + if (strcmp(arg[0], "cone") == 0) { if (istyle != NONE) error->all(FLERR, "Fix indent requires a single geometry keyword"); if (8 > narg) utils::missing_cmd_args(FLERR, "fix indent cone", error); - if (strcmp(arg[1],"x") == 0) { + if (strcmp(arg[1], "x") == 0) { cdim = 0; - if (utils::strmatch(arg[2],"^v_")) { - ystr = utils::strdup(arg[2]+2); - } else yvalue = utils::numeric(FLERR,arg[2],false,lmp); - if (utils::strmatch(arg[3],"^v_")) { - zstr = utils::strdup(arg[3]+2); - } else zvalue = utils::numeric(FLERR,arg[3],false,lmp); + if (utils::strmatch(arg[2], "^v_")) { + ystr = utils::strdup(arg[2] + 2); + } else + yvalue = utils::numeric(FLERR, arg[2], false, lmp); + if (utils::strmatch(arg[3], "^v_")) { + zstr = utils::strdup(arg[3] + 2); + } else + zvalue = utils::numeric(FLERR, arg[3], false, lmp); - } else if (strcmp(arg[1],"y") == 0) { + } else if (strcmp(arg[1], "y") == 0) { cdim = 1; - if (utils::strmatch(arg[2],"^v_")) { - xstr = utils::strdup(arg[2]+2); - } else xvalue = utils::numeric(FLERR,arg[2],false,lmp); - if (utils::strmatch(arg[3],"^v_")) { - zstr = utils::strdup(arg[3]+2); - } else zvalue = utils::numeric(FLERR,arg[3],false,lmp); + if (utils::strmatch(arg[2], "^v_")) { + xstr = utils::strdup(arg[2] + 2); + } else + xvalue = utils::numeric(FLERR, arg[2], false, lmp); + if (utils::strmatch(arg[3], "^v_")) { + zstr = utils::strdup(arg[3] + 2); + } else + zvalue = utils::numeric(FLERR, arg[3], false, lmp); - } else if (strcmp(arg[1],"z") == 0) { + } else if (strcmp(arg[1], "z") == 0) { cdim = 2; - if (utils::strmatch(arg[2],"^v_")) { - xstr = utils::strdup(arg[2]+2); - } else xvalue = utils::numeric(FLERR,arg[2],false,lmp); - if (utils::strmatch(arg[3],"^v_")) { - ystr = utils::strdup(arg[3]+2); - } else yvalue = utils::numeric(FLERR,arg[3],false,lmp); + if (utils::strmatch(arg[2], "^v_")) { + xstr = utils::strdup(arg[2] + 2); + } else + xvalue = utils::numeric(FLERR, arg[2], false, lmp); + if (utils::strmatch(arg[3], "^v_")) { + ystr = utils::strdup(arg[3] + 2); + } else + yvalue = utils::numeric(FLERR, arg[3], false, lmp); - } else error->all(FLERR,"Unknown fix indent cone argument: {}", arg[1]); + } else + error->all(FLERR, "Unknown fix indent cone argument: {}", arg[1]); + + if (utils::strmatch(arg[4], "^v_")) { + rlostr = utils::strdup(arg[4] + 2); + } else + rlovalue = utils::numeric(FLERR, arg[4], false, lmp); + if (utils::strmatch(arg[5], "^v_")) { + rhistr = utils::strdup(arg[5] + 2); + } else + rhivalue = utils::numeric(FLERR, arg[5], false, lmp); + if (utils::strmatch(arg[6], "^v_")) { + lostr = utils::strdup(arg[6] + 2); + } else + lovalue = utils::numeric(FLERR, arg[6], false, lmp); + if (utils::strmatch(arg[7], "^v_")) { + histr = utils::strdup(arg[7] + 2); + } else + hivalue = utils::numeric(FLERR, arg[7], false, lmp); - if (utils::strmatch(arg[4],"^v_")) { - rlostr = utils::strdup(arg[4]+2); - } else rlovalue = utils::numeric(FLERR,arg[4],false,lmp); - if (utils::strmatch(arg[5],"^v_")) { - rhistr = utils::strdup(arg[5]+2); - } else rhivalue = utils::numeric(FLERR,arg[5],false,lmp); - if (utils::strmatch(arg[6],"^v_")) { - lostr = utils::strdup(arg[6]+2); - } else lovalue = utils::numeric(FLERR,arg[6],false,lmp); - if (utils::strmatch(arg[7],"^v_")) { - histr = utils::strdup(arg[7]+2); - } else hivalue = utils::numeric(FLERR,arg[7],false,lmp); - istyle = CONE; return 8; } // plane - - if (strcmp(arg[0],"plane") == 0) { + + if (strcmp(arg[0], "plane") == 0) { if (istyle != NONE) error->all(FLERR, "Fix indent requires a single geometry keyword"); if (4 > narg) utils::missing_cmd_args(FLERR, "fix indent plane", error); - if (strcmp(arg[1],"x") == 0) cdim = 0; - else if (strcmp(arg[1],"y") == 0) cdim = 1; - else if (strcmp(arg[1],"z") == 0) cdim = 2; - else error->all(FLERR,"Unknown fix indent plane argument: {}", arg[1]); - - if (utils::strmatch(arg[2],"^v_")) { - pstr = utils::strdup(arg[2]+2); - } else pvalue = utils::numeric(FLERR,arg[2],false,lmp); - - if (strcmp(arg[3],"lo") == 0) planeside = -1; - else if (strcmp(arg[3],"hi") == 0) planeside = 1; - else error->all(FLERR,"Unknown fix indent plane argument: {}", arg[3]); + if (strcmp(arg[1], "x") == 0) + cdim = 0; + else if (strcmp(arg[1], "y") == 0) + cdim = 1; + else if (strcmp(arg[1], "z") == 0) + cdim = 2; + else + error->all(FLERR, "Unknown fix indent plane argument: {}", arg[1]); + + if (utils::strmatch(arg[2], "^v_")) { + pstr = utils::strdup(arg[2] + 2); + } else + pvalue = utils::numeric(FLERR, arg[2], false, lmp); + + if (strcmp(arg[3], "lo") == 0) + planeside = -1; + else if (strcmp(arg[3], "hi") == 0) + planeside = 1; + else + error->all(FLERR, "Unknown fix indent plane argument: {}", arg[3]); istyle = PLANE; return 4; } - + // invalid istyle arg - - error->all(FLERR,"Unknown fix indent argument: {}", arg[0]); - + + error->all(FLERR, "Unknown fix indent argument: {}", arg[0]); + return 0; } @@ -640,21 +664,28 @@ void FixIndent::options(int narg, char **arg) int iarg = 0; while (iarg < narg) { - if (strcmp(arg[iarg],"units") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix indent units", error); - if (strcmp(arg[iarg+1],"box") == 0) scaleflag = 0; - else if (strcmp(arg[iarg+1],"lattice") == 0) scaleflag = 1; - else error->all(FLERR,"Unknown fix indent units argument: {}", arg[iarg+1]); + if (strcmp(arg[iarg], "units") == 0) { + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix indent units", error); + if (strcmp(arg[iarg + 1], "box") == 0) + scaleflag = 0; + else if (strcmp(arg[iarg + 1], "lattice") == 0) + scaleflag = 1; + else + error->all(FLERR, "Unknown fix indent units argument: {}", arg[iarg + 1]); iarg += 2; - } else if (strcmp(arg[iarg],"side") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix indent side", error); - if (strcmp(arg[iarg+1],"in") == 0) side = INSIDE; - else if (strcmp(arg[iarg+1],"out") == 0) side = OUTSIDE; - else error->all(FLERR,"Unknown fix indent side argument: {}", arg[iarg+1]); + } else if (strcmp(arg[iarg], "side") == 0) { + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix indent side", error); + if (strcmp(arg[iarg + 1], "in") == 0) + side = INSIDE; + else if (strcmp(arg[iarg + 1], "out") == 0) + side = OUTSIDE; + else + error->all(FLERR, "Unknown fix indent side argument: {}", arg[iarg + 1]); iarg += 2; - } else error->all(FLERR,"Unknown fix indent argument: {}", arg[iarg]); + } else + error->all(FLERR, "Unknown fix indent argument: {}", arg[iarg]); } } @@ -662,12 +693,12 @@ void FixIndent::options(int narg, char **arg) determines if a point is inside (true) or outside (false) of a cone ------------------------------------------------------------------------- */ -bool FixIndent::PointInsideCone(int dir, double *center, double lo, - double hi, double rlo, double rhi, double *x) +bool FixIndent::PointInsideCone(int dir, double *center, double lo, double hi, double rlo, + double rhi, double *x) { if ((x[dir] > hi) || (x[dir] < lo)) return false; - double del[3] {x[0] - center[0], x[1] - center[1], x[2] - center[2]}; + double del[3] = {x[0] - center[0], x[1] - center[1], x[2] - center[2]}; del[dir] = 0.0; double dist = sqrt(del[0] * del[0] + del[1] * del[1] + del[2] * del[2]); @@ -682,17 +713,14 @@ bool FixIndent::PointInsideCone(int dir, double *center, double lo, distance between an exterior point and a cone ------------------------------------------------------------------------- */ -void FixIndent::DistanceExteriorPoint(int dir, double *center, double lo, double hi, - double rlo, double rhi, - double &x, double &y, double &z) +void FixIndent::DistanceExteriorPoint(int dir, double *center, double lo, double hi, double rlo, + double rhi, double &x, double &y, double &z) { double xp[3], nearest[3], corner1[3], corner2[3]; + double point[3] = {x, y, z}; + double del[3] = {x - center[0], y - center[1], z - center[2]}; - double point[3] {x, y, z}; - - double del[3] {x - center[0], y - center[1], z - center[2]}; del[dir] = 0.0; - double r = sqrt(del[0] * del[0] + del[1] * del[1] + del[2] * del[2]); corner1[0] = center[0] + del[0] * rlo / r; @@ -705,10 +733,10 @@ void FixIndent::DistanceExteriorPoint(int dir, double *center, double lo, double corner2[2] = center[2] + del[2] * rhi / r; corner2[dir] = hi; - double corner3[3] {center[0], center[1], center[2]}; + double corner3[3] = {center[0], center[1], center[2]}; corner3[dir] = lo; - double corner4[3] {center[0], center[1], center[2]}; + double corner4[3] = {center[0], center[1], center[2]}; corner4[dir] = hi; // initialize distance to a big number @@ -741,18 +769,17 @@ void FixIndent::DistanceExteriorPoint(int dir, double *center, double lo, double distance between an interior point and a cone ------------------------------------------------------------------------- */ -void FixIndent::DistanceInteriorPoint(int dir, double *center, - double lo, double hi, double rlo, double rhi, double &x, - double &y, double &z) +void FixIndent::DistanceInteriorPoint(int dir, double *center, double lo, double hi, double rlo, + double rhi, double &x, double &y, double &z) { double r, dist_disk, dist_surf; double surflo[3], surfhi[3], xs[3]; - double initial_point[3] {x, y, z}; - double point[3] {0.0, 0.0, 0.0}; + double initial_point[3] = {x, y, z}; + double point[3] = {0.0, 0.0, 0.0}; // initial check with the two disks - if ( (initial_point[dir] - lo) < (hi - initial_point[dir]) ) { + if ((initial_point[dir] - lo) < (hi - initial_point[dir])) { dist_disk = (initial_point[dir] - lo) * (initial_point[dir] - lo); point[dir] = initial_point[dir] - lo; } else { @@ -762,7 +789,7 @@ void FixIndent::DistanceInteriorPoint(int dir, double *center, // check with the points in the conical surface - double del[3] {x - center[0], y - center[1], z - center[2]}; + double del[3] = {x - center[0], y - center[1], z - center[2]}; del[dir] = 0.0; r = sqrt(del[0] * del[0] + del[1] * del[1] + del[2] * del[2]); @@ -778,7 +805,7 @@ void FixIndent::DistanceInteriorPoint(int dir, double *center, point_on_line_segment(surflo, surfhi, initial_point, xs); - double dx[3] {initial_point[0] - xs[0], initial_point[1] - xs[1], initial_point[2] - xs[2]}; + double dx[3] = {initial_point[0] - xs[0], initial_point[1] - xs[1], initial_point[2] - xs[2]}; dist_surf = dx[0] * dx[0] + dx[1] * dx[1] + dx[2] * dx[2]; if (dist_surf < dist_disk) { x = dx[0]; From 1b7bc36505f66cfa2ccf257febd5b240b31310d8 Mon Sep 17 00:00:00 2001 From: Tim Bernhard Date: Sun, 10 Mar 2024 12:56:33 +0100 Subject: [PATCH 319/559] Fix variables compatibility with chunk arrays When using variables with chunk computes that produce arrays (such as `compute chunk/atom`) the compute will not have set `size_array_rows` to the appropriate value before it has ever been called and will therefore incorrectly have thrown the error "Variable formula compute array is zero length". --- src/variable.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/variable.cpp b/src/variable.cpp index 8124d9c4a1..2bde0e5adb 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -1657,10 +1657,6 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) if (!compute->array_flag) print_var_error(FLERR,"Mismatched compute in variable formula",ivar); - if (compute->size_array_rows == 0) - print_var_error(FLERR,"Variable formula compute array is zero length",ivar); - if (index1 > compute->size_array_cols) - print_var_error(FLERR,"Variable formula compute array is accessed out-of-range",ivar,0); if (!compute->is_initialized()) print_var_error(FLERR,"Variable formula compute cannot be invoked before " "initialization by a run",ivar); @@ -1668,6 +1664,10 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) compute->compute_array(); compute->invoked_flag |= Compute::INVOKED_ARRAY; } + if (compute->size_array_rows == 0) + print_var_error(FLERR,"Variable formula compute array is zero length",ivar); + if (index1 > compute->size_array_cols) + print_var_error(FLERR,"Variable formula compute array is accessed out-of-range",ivar,0); auto newtree = new Tree(); newtree->type = VECTORARRAY; From 5b16cf97736efccff080be19768f688f7d237362 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 10 Mar 2024 16:19:22 -0400 Subject: [PATCH 320/559] use std::move() to avoid extra copy of temporaries --- src/ELECTRODE/fix_electrode_conp.cpp | 8 ++++---- src/GRANULAR/granular_model.cpp | 5 +++-- src/reader_native.cpp | 2 +- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/ELECTRODE/fix_electrode_conp.cpp b/src/ELECTRODE/fix_electrode_conp.cpp index 94c085de5c..f3c17062d2 100644 --- a/src/ELECTRODE/fix_electrode_conp.cpp +++ b/src/ELECTRODE/fix_electrode_conp.cpp @@ -915,20 +915,20 @@ void FixElectrodeConp::update_charges() a = ele_ele_interaction(q_local); r = add_nlocalele(b, a); } else { - r = add_nlocalele(r, scale_vector(alpha, y)); + r = add_nlocalele(r, scale_vector(alpha, std::move(y))); } auto p = constraint_projection(r); double dot_new = dot_nlocalele(r, p); - d = add_nlocalele(p, scale_vector(dot_new / dot_old, d)); + d = add_nlocalele(std::move(p), scale_vector(dot_new / dot_old, d)); delta = dot_nlocalele(r, d); dot_old = dot_new; } - recompute_potential(b, q_local); + recompute_potential(std::move(b), q_local); if (delta > cg_threshold && comm->me == 0) error->warning(FLERR, "CG threshold not reached"); } else { error->all(FLERR, "This algorithm is not implemented, yet"); } - set_charges(q_local); + set_charges(std::move(q_local)); update_time += MPI_Wtime() - start; } diff --git a/src/GRANULAR/granular_model.cpp b/src/GRANULAR/granular_model.cpp index 6de147b34a..14431f41b4 100644 --- a/src/GRANULAR/granular_model.cpp +++ b/src/GRANULAR/granular_model.cpp @@ -32,6 +32,7 @@ #include #include +#include using namespace LAMMPS_NS; using namespace Granular_NS; @@ -333,11 +334,11 @@ void GranularModel::read_restart(FILE *fp) utils::sfread(FLERR, &num_char, sizeof(int), 1, fp, nullptr, error); MPI_Bcast(&num_char, 1, MPI_INT, 0, world); - std::string model_name (num_char, ' '); + std::string model_name(num_char, ' '); if (comm->me == 0) utils::sfread(FLERR, const_cast(model_name.data()), sizeof(char),num_char, fp, nullptr, error); MPI_Bcast(const_cast(model_name.data()), num_char, MPI_CHAR, 0, world); - construct_sub_model(model_name, (SubModelType) i); + construct_sub_model(std::move(model_name), (SubModelType) i); if (comm->me == 0) utils::sfread(FLERR, &num_coeff, sizeof(int), 1, fp, nullptr, error); diff --git a/src/reader_native.cpp b/src/reader_native.cpp index ae59ca6805..4dac65e3cb 100644 --- a/src/reader_native.cpp +++ b/src/reader_native.cpp @@ -289,7 +289,7 @@ bigint ReaderNative::read_header(double box[3][3], int &boxinfo, int &triclinic, labelline = line + strlen("ITEM: ATOMS "); } - Tokenizer tokens(labelline); + Tokenizer tokens(std::move(labelline)); std::map labels; nwords = 0; From b23c586236ea9d8e23dcc883a46c4df8a6e4a2fc Mon Sep 17 00:00:00 2001 From: James Michael Goff Date: Mon, 11 Mar 2024 13:34:29 -0600 Subject: [PATCH 321/559] mliap ace docs and example logs --- doc/src/compute_mliap.rst | 54 +- doc/src/pair_mliap.rst | 62 ++- examples/mliap/README | 6 +- .../dat_out.03Mar24.mliap.ace.compute.g++.1 | 494 ++++++++++++++++++ .../dat_out.03Mar24.mliap.ace.compute.g++.4 | 494 ++++++++++++++++++ .../mliap/log.03Mar24.mliap.ace.compute.g++.1 | 83 +++ .../mliap/log.03Mar24.mliap.ace.compute.g++.4 | 83 +++ .../log.03Mar24.mliap.pytorch.ace.NN.g++.1 | 132 +++++ .../log.03Mar24.mliap.pytorch.ace.NN.g++.4 | 132 +++++ .../mliap/log.03Mar24.mliap.pytorch.ace.g++.1 | 126 +++++ .../mliap/log.03Mar24.mliap.pytorch.ace.g++.4 | 126 +++++ 11 files changed, 1761 insertions(+), 31 deletions(-) create mode 100644 examples/mliap/dat_out.03Mar24.mliap.ace.compute.g++.1 create mode 100644 examples/mliap/dat_out.03Mar24.mliap.ace.compute.g++.4 create mode 100644 examples/mliap/log.03Mar24.mliap.ace.compute.g++.1 create mode 100644 examples/mliap/log.03Mar24.mliap.ace.compute.g++.4 create mode 100644 examples/mliap/log.03Mar24.mliap.pytorch.ace.NN.g++.1 create mode 100644 examples/mliap/log.03Mar24.mliap.pytorch.ace.NN.g++.4 create mode 100644 examples/mliap/log.03Mar24.mliap.pytorch.ace.g++.1 create mode 100644 examples/mliap/log.03Mar24.mliap.pytorch.ace.g++.4 diff --git a/doc/src/compute_mliap.rst b/doc/src/compute_mliap.rst index 6abd3e5a6b..0ff408d1fc 100644 --- a/doc/src/compute_mliap.rst +++ b/doc/src/compute_mliap.rst @@ -20,7 +20,7 @@ Syntax *model* values = style style = *linear* or *quadratic* or *mliappy* *descriptor* values = style filename - style = *sna* + style = *sna* or *ace* filename = name of file containing descriptor definitions *gradgradflag* value = 0/1 toggle gradgrad method for force gradient @@ -31,6 +31,7 @@ Examples .. code-block:: LAMMPS compute mliap model linear descriptor sna Ta06A.mliap.descriptor + compute mliap model linear descriptor ace H_N_O_ccs.yace gradgradflag 1 Description """"""""""" @@ -40,18 +41,15 @@ of machine-learning interatomic potentials with respect to model parameters. It is used primarily for calculating the gradient of energy, force, and stress components with respect to model parameters, which is useful when training :doc:`mliap pair_style ` models to match target data. -It provides separate -definitions of the interatomic potential functional form (*model*) -and the geometric quantities that characterize the atomic positions -(*descriptor*). By defining *model* and *descriptor* separately, +It provides separate definitions of the interatomic potential functional +form (*model*) and the geometric quantities that characterize the atomic +positions (*descriptor*). By defining *model* and *descriptor* separately, it is possible to use many different models with a given descriptor, -or many different descriptors with a given model. Currently, the -compute supports just two models, *linear* and *quadratic*, -and one descriptor, *sna*, the SNAP descriptor used by -:doc:`pair_style snap `, including the linear, quadratic, -and chem variants. Work is currently underway to extend -the interface to handle neural network energy models, -and it is also straightforward to add new descriptor styles. +or many different descriptors with a given model. Currently, the compute +supports *linear* and *quadratic* SNAP descriptor computes used in +:doc:`pair_style snap `, *linear* SO3 descriptor computes, and +*linear* ACE descriptor computes used in :doc:`pair_style pace `, +and it is straightforward to add new descriptor styles. The compute *mliap* command must be followed by two keywords *model* and *descriptor* in either order. @@ -60,19 +58,31 @@ The *model* keyword is followed by the model style (*linear*, *quadratic* or *mliappy*). The *mliappy* model is only available if LAMMPS is built with the *mliappy* Python module. There are :ref:`specific installation instructions ` for that module. +For the *mliap* compute, specifying a *linear* model will compute the +specified descriptors and gradients with respect to linear model parameters +whereas *quadratic* will do the same, but for the quadratic products of +descriptors. The *descriptor* keyword is followed by a descriptor style, and -additional arguments. The compute currently supports two descriptor -styles *sna* and *so3*, but it is is straightforward to add additional -descriptor styles. The SNAP descriptor style *sna* is the same as that -used by :doc:`pair_style snap `, including the linear, -quadratic, and chem variants. A single additional argument specifies -the descriptor filename containing the parameters and setting used by -the SNAP descriptor. The descriptor filename usually ends in the +additional arguments. The compute currently supports three descriptor +styles: *sna*, *so3*, and *ace*, but it is is straightforward to add +additional descriptor styles. The SNAP descriptor style *sna* is the +same as that used by :doc:`pair_style snap `, including the +linear, quadratic, and chem variants. A single additional argument +specifies the descriptor filename containing the parameters and setting used +by the SNAP descriptor. The descriptor filename usually ends in the *.mliap.descriptor* extension. The format of this file is identical to the descriptor file in the :doc:`pair_style mliap `, and is described in detail there. +The ACE descriptor style *ace* is the same as :doc:`pair_style pace `. +A single additional argument specifies the *ace* descriptor filename +that contains parameters and settings for the ACE descriptors. This file +format differs from the SNAP or SO3 descriptor files, and has a *.yace* or +*.ace* extension. However, as with other mliap descriptor styles, this file +is identical to the ace descriptor file in :doc:`pair_style mliap `, +where it is described in further detail. + .. note:: The number of LAMMPS atom types (and the value of *nelems* in the model) @@ -172,8 +182,10 @@ This compute is part of the ML-IAP package. It is only enabled if LAMMPS was built with that package. In addition, building LAMMPS with the ML-IAP package requires building LAMMPS with the ML-SNAP package. The *mliappy* model also requires building LAMMPS with the PYTHON -package. See the :doc:`Build package ` page for more -info. +package. The *ace* descriptor also requires building LAMMPS with the +ML-PACE package. See the :doc:`Build package ` page for +more info. Note that `kk` (KOKKOS) accelerated variants of SNAP and +ACE descriptors are not compatible with `mliap descriptor`. Related commands """""""""""""""" diff --git a/doc/src/pair_mliap.rst b/doc/src/pair_mliap.rst index fcb9c7881e..36f1b48d18 100644 --- a/doc/src/pair_mliap.rst +++ b/doc/src/pair_mliap.rst @@ -22,7 +22,7 @@ Syntax style = *linear* or *quadratic* or *nn* or *mliappy* filename = name of file containing model definitions *descriptor* values = style filename - style = *sna* or *so3* + style = *sna* or *so3* or *ace* filename = name of file containing descriptor definitions *unified* values = filename ghostneigh_flag filename = name of file containing serialized unified Python object @@ -36,6 +36,7 @@ Examples pair_style mliap model linear InP.mliap.model descriptor sna InP.mliap.descriptor pair_style mliap model quadratic W.mliap.model descriptor sna W.mliap.descriptor pair_style mliap model nn Si.nn.mliap.model descriptor so3 Si.nn.mliap.descriptor + pair_style mliap model mliappy ACE_NN_Pytorch.pt descriptor ace ccs_single_element.yace pair_style mliap unified mliap_unified_lj_Ar.pkl 0 pair_coeff * * In P @@ -49,8 +50,8 @@ quantities that characterize the atomic positions (*descriptor*). By defining *model* and *descriptor* separately, it is possible to use many different models with a given descriptor, or many different -descriptors with a given model. The pair style currently supports only -*sna* and *so3* descriptor styles, but it is straightforward to add new +descriptors with a given model. The pair style currently supports *sna*, +*so3* and *ace* descriptor styles, but it is straightforward to add new descriptor styles. By using the *unified* keyword, it is possible to define a Python model that combines functionalities of both *model* and *descriptor*. @@ -72,6 +73,24 @@ the smooth SO(3) power spectrum with the explicit inclusion of a radial basis :ref:`(Bartok) ` and :ref:`(Zagaceta) `. The available models are *linear* and *nn*. +.. versionadded:: TBD + +The descriptor style *ace* is a class of highly general atomic descriptors, +atomic cluster expansion descriptors (ACE) from :ref:`(Drautz) ` , +that include a radial basis, an angular basis, and bases for other variables +(such as chemical species) if relevant. In descriptor style *ace*, the *ace* +descriptors may be defined up to an arbitrary body order. This descriptor +style is the same as that used in :doc:`pair_style pace ` and +:doc:`compute pace `. The available models with *ace* in +ML-IAP are *linear* and *mliappy*. The *ace* descriptors and models require +building LAMMPS with the ML-PACE package (see below). The *mliappy* model +style may be used with *ace* descriptors, but it requires that LAMMPS is +also built with the PYTHON package. As with other, the *mliappy* model style +can be used to couple arbitrary python models that use the *ace* descriptors +such as Pytorch NNs. Note that *ALL* mliap model styles with *ace* descriptors +require that descriptors and hyperparameters are supplied in a `.yace` or `.ace` +file, similar to :doc:`compute pace `. + The pair_style *mliap* command must be followed by two keywords *model* and *descriptor* in either order, or the one keyword *unified*. A single *pair_coeff* command is also required. The first 2 arguments @@ -136,7 +155,7 @@ The detail of *nn* module implementation can be found at :ref:`(Yanxon) `. Note that unlike the potential file, the + Clebsch-Gordan coefficients in the descriptor file supplied should *NOT* be + multiplied by linear or square root embedding terms. + + The SNAP descriptor file closely follows the format of the :doc:`pair_style snap ` parameter file. The file can contain blank and comment lines (start with #) anywhere. Each non-blank @@ -169,6 +198,24 @@ contains a few more arguments (e.g., *nmax* and *alpha*). The preparation of SO3 descriptor and model files can be done with the `Pyxtal_FF `_ package. +The ACE descriptor file differs from the SNAP and SO3 files. It more +closely resembles the potential file format for linear or square-root +embedding ACE potentials used in the :doc:`pair_style pace `. +As noted above, the key difference is that the Clebsch-Gordan coefficients +in the descriptor file with *mliap descriptor ace* are *NOT* multiplied +multiplied by linear or square root embedding terms. In other words, +the model is separated from the descriptor definitions and +hyperparameters. In :doc:`pair_style pace `, they are combined. +The ACE descriptor files required by *mliap* are generated automatically +in `FitSNAP `_ during linear, +pytorch, etc. ACE model fitting. Additional tools are provided there to +prepare *ace* descriptor files and hyperparameters before model fitting. +The *ace* descriptor files can also be extracted from ACE model fits in +`python-ace. `_ It is important to +note that order of the types listed in :doc:`pair_coeff ` must +match the order of the elements/types listed in the ACE descriptor file +for all *mliap* styles when using *ace* descriptors. + See the :doc:`pair_coeff ` page for alternate ways to specify the path for these *model* and *descriptor* files. @@ -245,7 +292,10 @@ This pair style is part of the ML-IAP package. It is only enabled if LAMMPS was built with that package. In addition, building LAMMPS with the ML-IAP package requires building LAMMPS with the ML-SNAP package. The *mliappy* model requires building LAMMPS with the PYTHON package. -See the :doc:`Build package ` page for more info. +The *ace* descriptor requires building LAMMPS with the ML-PACE package. +See the :doc:`Build package ` page for more info. Note +that `pair_mliap/kk` acceleration will *not* invoke the `kk` +accelerated variants of SNAP or ACE descriptors. Related commands @@ -271,5 +321,3 @@ none .. _Yanxon2020: **(Yanxon2020)** Yanxon, Zagaceta, Tang, Matteson, Zhu, Mach. Learn.: Sci. Technol. 2, 027001 (2020). - - diff --git a/examples/mliap/README b/examples/mliap/README index 9bdcd4461b..26d4640946 100644 --- a/examples/mliap/README +++ b/examples/mliap/README @@ -185,7 +185,7 @@ pytorch model using `convert_mliap_lin_ACE.py`. in.mliap.pytorch.ace ------------------ -Example of linear model with ACE descriptors for Ta +Example of linear model with ACE descriptors for minimal Ta dataset in.mliap.ace.compute ------------------ @@ -195,9 +195,9 @@ Example for calculating multi-element ACE descriptors through ML-IAP in.mliap.pytorch.ace.NN ------------------ -Example of NN model with ACE descriptors for Ta +Example of NN model with ACE descriptors for minimal Ta dataset mliap_pytorch_ACE.py ------------------ -Example of NN model with ACE descriptors for Ta through mliappy +Example of NN model with ACE descriptors for minimal Ta dataset through mliappy diff --git a/examples/mliap/dat_out.03Mar24.mliap.ace.compute.g++.1 b/examples/mliap/dat_out.03Mar24.mliap.ace.compute.g++.1 new file mode 100644 index 0000000000..d416269aec --- /dev/null +++ b/examples/mliap/dat_out.03Mar24.mliap.ace.compute.g++.1 @@ -0,0 +1,494 @@ +# Time-averaged data for fix ace +# TimeStep Number-of-rows +# Row c_ace[1] c_ace[2] c_ace[3] c_ace[4] c_ace[5] c_ace[6] c_ace[7] c_ace[8] c_ace[9] c_ace[10] c_ace[11] c_ace[12] c_ace[13] c_ace[14] c_ace[15] c_ace[16] c_ace[17] c_ace[18] c_ace[19] c_ace[20] c_ace[21] c_ace[22] c_ace[23] c_ace[24] c_ace[25] c_ace[26] c_ace[27] c_ace[28] c_ace[29] c_ace[30] c_ace[31] c_ace[32] c_ace[33] c_ace[34] c_ace[35] c_ace[36] c_ace[37] c_ace[38] c_ace[39] c_ace[40] c_ace[41] c_ace[42] c_ace[43] c_ace[44] c_ace[45] c_ace[46] c_ace[47] c_ace[48] c_ace[49] c_ace[50] c_ace[51] c_ace[52] c_ace[53] c_ace[54] c_ace[55] c_ace[56] c_ace[57] c_ace[58] c_ace[59] c_ace[60] c_ace[61] c_ace[62] c_ace[63] c_ace[64] c_ace[65] c_ace[66] c_ace[67] c_ace[68] c_ace[69] c_ace[70] c_ace[71] c_ace[72] c_ace[73] c_ace[74] c_ace[75] c_ace[76] c_ace[77] c_ace[78] c_ace[79] c_ace[80] c_ace[81] c_ace[82] c_ace[83] c_ace[84] c_ace[85] c_ace[86] c_ace[87] c_ace[88] c_ace[89] c_ace[90] c_ace[91] c_ace[92] c_ace[93] c_ace[94] c_ace[95] c_ace[96] c_ace[97] c_ace[98] c_ace[99] c_ace[100] c_ace[101] c_ace[102] c_ace[103] c_ace[104] c_ace[105] c_ace[106] c_ace[107] c_ace[108] c_ace[109] c_ace[110] c_ace[111] c_ace[112] c_ace[113] c_ace[114] c_ace[115] c_ace[116] c_ace[117] c_ace[118] c_ace[119] c_ace[120] c_ace[121] c_ace[122] c_ace[123] c_ace[124] c_ace[125] c_ace[126] c_ace[127] c_ace[128] c_ace[129] c_ace[130] c_ace[131] c_ace[132] c_ace[133] c_ace[134] c_ace[135] c_ace[136] c_ace[137] c_ace[138] c_ace[139] c_ace[140] c_ace[141] c_ace[142] c_ace[143] c_ace[144] c_ace[145] c_ace[146] c_ace[147] c_ace[148] c_ace[149] c_ace[150] c_ace[151] c_ace[152] c_ace[153] c_ace[154] c_ace[155] c_ace[156] c_ace[157] c_ace[158] c_ace[159] c_ace[160] c_ace[161] c_ace[162] c_ace[163] c_ace[164] c_ace[165] c_ace[166] c_ace[167] c_ace[168] c_ace[169] c_ace[170] c_ace[171] c_ace[172] c_ace[173] c_ace[174] c_ace[175] c_ace[176] c_ace[177] c_ace[178] c_ace[179] c_ace[180] c_ace[181] c_ace[182] c_ace[183] c_ace[184] c_ace[185] c_ace[186] c_ace[187] c_ace[188] c_ace[189] c_ace[190] c_ace[191] c_ace[192] c_ace[193] c_ace[194] c_ace[195] c_ace[196] c_ace[197] c_ace[198] c_ace[199] c_ace[200] c_ace[201] c_ace[202] c_ace[203] c_ace[204] c_ace[205] c_ace[206] c_ace[207] c_ace[208] c_ace[209] c_ace[210] c_ace[211] c_ace[212] c_ace[213] c_ace[214] c_ace[215] c_ace[216] c_ace[217] c_ace[218] c_ace[219] c_ace[220] c_ace[221] c_ace[222] c_ace[223] c_ace[224] c_ace[225] c_ace[226] c_ace[227] c_ace[228] c_ace[229] c_ace[230] c_ace[231] c_ace[232] c_ace[233] c_ace[234] c_ace[235] c_ace[236] c_ace[237] c_ace[238] c_ace[239] c_ace[240] c_ace[241] c_ace[242] c_ace[243] c_ace[244] c_ace[245] c_ace[246] c_ace[247] c_ace[248] c_ace[249] c_ace[250] c_ace[251] c_ace[252] c_ace[253] c_ace[254] c_ace[255] c_ace[256] c_ace[257] c_ace[258] c_ace[259] c_ace[260] c_ace[261] c_ace[262] c_ace[263] c_ace[264] c_ace[265] c_ace[266] c_ace[267] c_ace[268] c_ace[269] c_ace[270] c_ace[271] c_ace[272] c_ace[273] c_ace[274] c_ace[275] c_ace[276] c_ace[277] +0 490 +1 110 633.523 94.3568 17.1047 76.4593 415.72 84.4227 -10.3669 -22.6058 87.5916 -41.6713 14.2935 27.1643 -8.83449 45.539 0.0366547 86.1936 355.524 -9.24098 -4.62886 253.597 -3.89066 -13.051 12.2233 -13.4372 -10.3377 26.0544 5.90582 -29.6058 -123.735 14.1872 28.3718 -2.68723 -36.2963 17.3347 -7.52363 4.01093 21.5542 -150.176 49.1667 106.382 -20.5777 75.3918 12.7539 111.763 -61.6208 56.1044 -51.3912 -31.1257 -21.8452 31.6135 -16.4593 -46.7547 8.4484 -2.80826 -1.50179 2.5356 12.6505 -3.37075 15.4133 24.4245 -17.8721 -68.7976 3.20778 -20.9546 -24.8015 -0.708063 16.8285 25.2232 -31.5949 10.7568 -4.07798 17.5517 -24.71 -27.9933 19.8963 -19.4328 298.998 84.3421 43.4922 99.149 -70.3035 176.822 52.3432 -31.6464 42.3741 32.5112 80.4142 -51.6128 67.8793 -73.6841 197.193 8 1.52077 0.095878 25.0149 2.59269 17.1047 76.4593 0.0761166 0.811713 -1.30106 -0.00129584 0.111902 -0.0021799 0.0422313 -0.251236 0.0584668 -0.0193025 -0.01626 0.0327912 -0.206827 0.9039 -0.0332059 3.01698 -1.13334 0.00387133 6.40468 4.05506 0.00624923 -0.0527616 -2.82349 22.795 -2.42196 0.0251087 0.553167 6.5214 -0.15104 -5.49453 -0.0802715 0.913327 -0.334148 0.371537 0.101263 -0.293913 0.00293122 -14.9572 -0.0221277 -0.438643 -0.00945227 1.15262 0.325325 -0.0479565 -0.0576038 -2.21483 0.0504201 0.051311 -2.85708 -0.252836 -0.147617 0.195349 0.0168697 -0.173079 -0.290278 -0.122316 0.657922 -0.00989331 -3.23063 -0.0649301 -0.0401127 -0.245247 0.0816411 -0.366203 2.08759 -0.808832 -1.27672 0.0275694 0.976563 0.0311902 44.7557 2.54472 4.6908 0.618434 -0.591044 6.06674 0.00299428 0.0388937 0.216562 0.685479 0.0208758 -0.0286578 0.0927639 -0.175599 1.58264 43 415.72 25.0149 84.4227 2.59269 112.55 11.2771 19.2603 -1.22032 27.1819 -1.40836 -1.25201 -13.3198 -0.183368 -1.72716 2.25056 0.669987 -1.28528 -11.5485 4.82046 32.6867 -23.7778 -1.32993 -3.13072 0.649938 -11.5006 -2.62278 5.10788 0.548024 219.188 10.0932 -110.928 30.4814 0.276871 -8.57081 -42.4809 -0.452488 0.144132 -0.275055 1.20694 -20.9224 3.34223 -0.36309 69.1926 28.1069 -0.140381 1.18327 3.75663 4.05765 -1.06858 -3.14327 -1.12221 0.910422 2.88772 10.5331 -4.93061 -11.8662 3.67678 -3.34633 -0.0501799 0.46571 -1.69755 6.2103 -3.44241 -3.91512 26.2264 -1.55167 1.4658 -0.808121 0.272213 6.48859 2.32689 -2.05316 2.03777 1.25839 0.0492927 -7.12287 381.036 52.2256 27.4835 34.5144 -28.0414 61.287 8.66705 -6.46335 7.84842 5.0521 6.94067 -5.54313 6.83136 -6.70729 14.1039 0 +2 0 0 0 0 0 0.019982 -0.390456 1.12581 1.89207 0 0 -0.857617 -2.61627 0 -6.01795 -0.158418 0 0 0 -0.324065 -7.22232 0 0 0 0 0.667987 0 0 1.00017 8.66857 -1.52916 0 -0.312051 0 0 0.506707 -0.143287 0 0 -2.56201 -2.77154 0 0 -0.537342 -11.0941 0 -1.29022 2.76894 -0.277586 0.796272 0.890361 0.341017 0 0.787035 -0.300377 -0.356484 -0.855919 0.32443 -1.06247 0 0 -0.397307 5.54335 0 -0.407508 -0.911793 -1.37427 0 0 0 0 0.867341 -0.994681 0 2.84811 -0.402481 0 0 0 -3.22735 0 2.45634 -10.0229 0 0.16544 -1.18401 -5.69172 0 1.26917 -4.56391 7.1909 -20.1025 0 0 0 0.241195 0.0639042 0 0 0 -0.0459657 0.106911 0 -0.00389019 0 0.0158326 0.140044 0 0 0 0 0.225331 0 0.0323058 0 0.820656 0 -0.413236 0.587186 0 4.10491e-05 0 0 0.109714 0.0038492 0.159886 0 0.0169011 0 0.00532619 0.256212 0.00602296 0.0759359 0.0641599 0 0.000798758 0 0 0 0.00083204 0 0 -0.0094609 0.00781647 0.485082 0.0136809 0 0 -0.0263238 0 -0.00852847 0 0 0.0410094 0.077558 0.218977 -0.0752142 0 0 0.0530495 -0.0472733 -0.0351926 0.451547 -0.19332 0 0.123094 0.0203026 -0.0339193 0 0 0 -3.49898 0 -0.330478 -0.485167 0 -0.0275285 -0.0415255 -0.510493 0 -0.00307907 -0.00455077 -0.0352637 -0.0835054 0 0.019982 0.241195 -0.390456 0.0639042 -0.759856 -0.181214 1.03324 -1.30879 1.381 0.0063192 0.0219018 1.28024 -0.0002765 0.186461 0.160765 0.0231344 0.0116011 0.122308 -0.781495 -0.972351 -1.97601 -0.256802 0.606571 -0.0875305 0.30287 0.193061 0.128699 -0.0127352 -11.2867 -0.426996 -5.63257 -3.23686 0.0240278 -2.30602 -3.41254 0.0901742 -0.00727082 -0.139421 -0.0691262 1.12675 0.222273 0.0334162 -6.47851 -1.95093 -0.000893356 -0.0376847 -0.29641 -0.0975724 0.459619 0.550056 -4.23274 0.861876 0.0322437 -1.84277 -0.535132 -0.693252 0.39943 -0.607263 -0.496174 -0.341922 -1.2043 0.716828 -0.284252 -0.150106 -14.3868 0.29594 -0.691005 0.0741957 -0.0514309 0.0194368 0.191708 0.110249 -0.0389362 -0.203518 -0.053956 -0.39594 17.8276 -4.5702 9.57124 1.13339 -0.796077 1.31363 -0.24636 0.488727 -0.940132 1.38886 -0.0576275 0.192689 -0.428387 0.667578 -1.20912 0 +3 0 0 0 0 0 0.0808912 0.121547 -0.468948 -2.02778 0 0 -0.0211098 -0.110122 0 0.298021 -0.137775 0 0 0 -0.263913 0.537545 0 0 0 0 -0.476959 0 0 -0.292499 -2.83655 0.0284581 0 -0.289833 0 0 -0.17166 -0.0377945 0 0 -0.34874 0.341692 0 0 -0.179071 -0.0306183 0 0.0729532 -0.775892 -0.182881 0.178164 1.92643 0.269242 0 0.232228 -0.526754 -0.0367362 -1.32587 0.356648 0.304077 0 0 0.47708 0.850274 0 0.945601 -0.298679 0.109121 0 0 0 0 -0.199498 0.249846 0 -1.00804 0.646612 0 0 0 2.5315 0 -0.239321 4.86577 0 0.243573 0.0822844 4.38627 0 0.773894 1.24408 -1.78086 9.02317 0 0 0 0.0385285 0.016165 0 0 0 -0.0682327 0.0851058 0 -0.00878235 0 0.00824645 0.0229843 0 0 0 0 0.043077 0 0.00481633 0 0.115596 0 -0.404257 0.280861 0 -0.0200741 0 0 -0.560308 0.00143565 0.0942226 0 0.0201131 0 0.00419684 0.0452706 -0.112095 0.0332536 0.0209025 0 0.000341982 0 0 0 0.000965924 0 0 -0.00335762 0.00614112 0.140695 0.0200946 0 0 -0.0345502 0 -0.00670051 0 0 0.0320887 0.0351037 0.399265 -0.0186175 0 0 -0.0231112 0.0555032 -0.0687172 0.375625 -0.181111 0 -0.13627 -0.0146118 -0.140983 0 0 0 -0.383753 0 -0.10718 2.09452 0 -0.00349675 0.124709 0.0499567 0 -0.000849806 0.0181515 -0.1053 1.27839 0 0.0808912 0.0385285 0.121547 0.016165 0.0396667 0.107017 0.181988 -0.271861 0.283221 -0.0105426 -0.040489 -0.263158 -0.00303637 -0.0892919 0.0372701 0.0966975 -0.0478863 -0.0194905 -0.137559 0.0814059 0.0287002 -0.120067 -0.158307 0.00694866 -0.0952346 -0.157797 0.574322 0.0239262 -0.651573 -0.0681955 -0.85839 0.424409 0.0070428 -1.22533 -0.210788 -0.0368793 -0.00620844 -0.0149489 -0.0107778 -0.998628 0.0709918 -0.0252828 0.87795 -0.205236 -0.0093014 -0.027996 0.0898784 0.0930962 0.053969 -0.233099 -1.24983 0.032921 0.0470698 1.19676 -0.0965457 -1.05756 0.0766464 0.238181 -0.359521 -0.135526 -0.523919 0.820447 -0.140108 0.32224 7.181 -0.0147846 -0.109635 0.0451754 0.0674679 0.455292 0.24586 0.074375 0.0172685 0.137225 -0.0730147 -0.222617 2.71688 0.0287363 3.08648 0.233067 -0.106681 2.46371 0.0531921 -0.105177 0.116088 1.00822 0.00918331 -0.0242064 0.375106 -0.420228 1.24039 0 +4 0 0 0 0 0 0.0452898 -0.063578 0.368607 0.806365 0 0 0.228512 -0.160687 0 -0.712275 0.0279078 0 0 0 -0.0373852 -4.63921 0 0 0 0 0.360022 0 0 -0.24615 -0.451968 -0.173302 0 0.589696 0 0 0.18565 0.0167827 0 0 -0.0138997 -2.61012 0 0 -0.100685 -0.52385 0 -0.925998 -0.498529 0.818834 0.177402 -0.748757 0.209067 0 0.118052 -0.165513 0.648154 -0.648077 -0.854859 -0.992861 0 0 -0.0916018 7.60687 0 -0.877177 -0.186496 -0.681617 0 0 0 0 0.0259129 -0.225929 0 3.61376 -2.02877 0 0 0 -0.163508 0 0.313512 0.935185 0 -0.103632 -0.0491085 0.402943 0 0.553813 -0.845487 2.13829 -3.82208 0 0 0 -0.0138239 -0.00430116 0 0 0 0.0192541 -0.0135089 0 0.00290607 0 -0.00122098 -0.00158384 0 0 0 0 0.0715531 0 0.00921959 0 0.00644316 0 0.10678 -0.0727613 0 -0.00176368 0 0 -0.127885 -0.000127066 -0.0209269 0 -0.00301229 0 -0.000557267 -0.0422624 -0.0152574 -0.00376812 -0.00871224 0 -4.89132e-05 0 0 0 -0.000131848 0 0 0.000268561 -0.000769474 0.0270579 -0.0203729 0 0 -0.00204804 0 0.000839564 0 0 -0.0107921 0.000602497 0.00595497 -0.00104256 0 0 -0.143447 0.0416175 0.00609016 -0.32548 0.192233 0 -0.216201 -0.010181 -0.000871387 0 0 0 -0.0381932 0 0.00679639 0.526047 0 -0.000823092 0.0394045 0.0669008 0 2.52638e-05 0.00478025 0.00771428 0.185085 0 0.0452898 -0.0138239 -0.063578 -0.00430116 0.140598 0.00606572 -0.0610349 0.19885 2.05121 0.000876118 -0.0471416 -0.0526951 0.000336591 -0.00121708 -0.0104564 0.193935 -0.0149982 -0.00282643 -1.79166 0.728803 -0.195444 0.0802618 0.0368793 -0.261541 -0.123188 0.0695546 1.54961 0.00329416 2.3224 -0.199651 0.303343 0.254843 -0.00172064 0.593824 -0.0687065 0.00609889 -0.0074905 0.0453569 -0.0512152 0.475151 0.255687 0.0124658 0.817688 -1.5711 -0.00600475 -0.0293641 -0.30932 0.0892705 0.1872 0.920629 0.724226 -0.298566 -0.0825022 2.02287 0.0318566 -0.121482 0.0948204 -0.0567802 -0.0548485 0.0134769 0.0320435 -0.123632 0.0904469 -4.41836 -17.7616 -0.144281 -0.0750469 -0.0885355 -0.10918 -0.370314 -0.0387531 0.0262936 -0.000286176 -0.111368 0.125043 -0.16848 -0.960107 0.220408 -2.55308 -0.0669897 0.484527 -1.51276 0.0111375 0.0484268 -0.164428 -0.157305 0.00133172 0.0666093 -0.203816 0.371535 -0.752794 0 +5 0 -0.232794 -0.0616963 0.0467445 0.245503 -0.388057 -0.0359665 0.361907 1.38242 0.436281 -0.731379 0.115134 0.192089 -0.00173486 1.59436 -0.0435745 0.813172 4.11494 -0.102815 -0.0785589 2.69157 -0.0059298 0.147922 0.0058826 -0.186312 0.0302869 0.146664 -0.0251779 -0.217775 -1.36373 0.367893 0.051322 -0.370522 0.388197 0.0711514 -0.0568727 0.00652389 -0.15996 1.50343 0.373454 1.22771 -0.0100066 0.577914 0.0405684 1.27307 -0.0258927 0.499639 -0.475884 -0.653669 0.0299502 -1.51566 -0.35372 10.7643 0.0174314 -0.0518855 0.388459 4.06937 1.28049 0.950391 0.227165 -0.0240726 0.0280116 -1.93941 1.90871 1.46363 1.42964 0.493565 0.560752 -0.465615 -0.0853722 0.339786 -0.392852 -0.315104 -0.0763739 0.0482031 -0.385239 0.95256 -3.51566 1.92154 -4.4012 -1.71921 0.460434 0.324988 0.246866 -0.440832 1.45955 -2.218 0.0101897 -0.0766934 0.281728 -0.362182 1.41046 0 0 0 0 0 0.0467445 0.245503 0.00327173 0 0 0 0 0.000403883 0 0.00727051 0 0 0.00319542 0.0100245 -0.00624784 0 -0.000288429 0.0811033 0.0266167 0 0 -0.150209 0.000497364 0 0.0221567 1.00958 0 0 -0.0153113 0.312941 0 0.201718 0 -0.012899 0 0 -0.000988822 0 0 1.20553 0.0085498 0.06385 0 0.0679282 -0.0988161 0 0 0.37891 0 0.00613803 0.222204 -0.00196321 0 0 -0.00606188 -0.00518758 0 0.0154639 0.0280367 0.00847291 -1.06796 0.0174188 0.0194479 0 0.00946217 -0.0868087 0.175315 -0.0696412 0.077349 0 0 0 -10.2073 -0.676228 -0.689285 -0.0469851 0.0249716 -0.710714 -0.00250696 0.00114308 -0.0361361 0.00749362 0 0 0 0 0 0 -0.388057 0 -0.0359665 0 0 0 0 0.55978 0.06439 0 0 -0.848303 0 -0.107725 0 -0.0315963 0 0 0.151942 0 0.439286 0.177624 -0.387447 0.0207182 0 0 -0.22034 0 1.59205 0 0.271239 0.880185 0 1.27732 0.42582 -0.0501712 0 0.0713995 0 0 -0.0101758 0 1.30683 -0.376565 0 0 -0.0208858 0 0 -0.21399 1.26361 -0.174739 0 0.874533 0 1.14698 -0.14357 0.150074 0.0131105 0.136659 0.567175 -0.591667 0.0549897 0.935337 10.7712 -0.152709 0 0 0 0.347913 -0.013083 0 0 0 0 -0.249851 1.40239 3.27376 -4.33282 0.122262 -0.148392 0.150759 0.248971 -0.29801 0.493138 -0.677066 0 0 0 0 0 0 +6 0 0.408405 0.357908 0.0210414 0.069813 0.0121382 0.0988808 -0.0843766 -1.41271 0.139666 -0.0543387 0.0711436 0.522334 -0.00333143 1.14947 -0.0519767 1.56494 5.98634 0.0345361 -0.136925 3.40896 0.0224456 -0.266276 0.0048031 -0.0398739 -0.35053 0.397117 0.0528194 0.218718 0.183796 0.316476 0.0278382 -0.291541 -0.916301 0.197242 -0.0286349 0.0019955 0.189717 -3.57787 0.0817919 1.76818 -0.0184052 0.98968 -0.000744677 1.18492 -0.0784131 0.931365 0.27197 -0.827576 0.0559693 0.280085 -0.0454733 -6.97518 0.208065 -0.142803 0.0309335 -3.38332 0.646293 -0.484123 0.0835808 0.031293 -1.51917 -3.50286 -0.0703177 0.148122 -0.27325 0.101731 -0.20685 0.172928 -0.0456868 0.0342223 -0.580803 -0.267025 -0.327687 -3.95786 -0.177088 0.0320029 7.85294 -0.301634 4.79276 1.66839 -1.24125 2.597 -0.076337 0.486422 -1.19437 2.8777 0.0308582 -0.0258146 0.00438473 -0.0195124 -0.190093 0 0 0 0 0 0.0210414 0.069813 0.00390804 0 0 0 0 0.00070451 0 -0.0271846 0 0 0.001742 0.00793944 -0.0457844 0 -0.00571608 0.0686257 -0.222931 0 0 -0.0218148 0.000354441 0 -0.0173528 1.20073 0 0 -0.000884387 0.281065 0 -0.0165385 0 -0.00530048 0 0 -7.54096e-05 0 0 0.138385 0.014522 0.038599 0 0.0787747 -0.0531688 0 0 0.198838 0 0.00739533 -0.214807 -0.0200106 0 0 -0.00320281 -0.00625019 0 0.00381666 -0.0950474 0.0101133 -1.06633 -0.0155055 -0.00125055 0 0.016052 0.0366109 0.0759911 -0.102132 0.164446 0 0 0 -0.903147 -0.154794 0.785184 -0.00362794 0.0168752 -0.196163 -0.00113713 0.00445665 -0.053517 0.240793 0 0 0 0 0 0 0.0121382 0 0.0988808 0 0 0 0 -0.296856 1.53245 0 0 -0.0367949 0 0.000503111 0 0.0515035 0 0 0.140467 0 -0.168169 -0.126965 -0.00394148 0.0412205 0 0 0.421519 0 7.82274 0 -2.47619 0.605828 0 -0.70078 -0.663598 -0.000368307 0 -0.0586195 0 0 0.184372 0 2.16301 0.0488073 0 0 0.0711663 0 0 -0.0917698 0.736499 0.265291 0 0.248043 0 0.772304 0.155296 -0.205645 0.522816 0.0618484 0.166679 -0.251909 0.348489 -2.51221 -12.66 -0.0722265 0 0 0 0.078496 -0.0637418 0 0 0 0 -0.500808 8.23373 -0.404815 2.7087 0.872253 -0.818858 1.14246 -0.0226735 0.0453883 -0.0645815 0.47073 0 0 0 0 0 0 +7 0 -0.450487 0.675941 0.0219074 0.0382986 -0.0385997 0.194149 -0.909163 -1.10295 0.276846 -0.0273133 -0.203853 0.67938 -0.00102845 -0.730428 -0.0387389 2.44191 7.22677 0.0557517 -0.0780566 3.6871 0.0250138 -0.98717 0.00321615 -0.0476455 -0.856587 0.892877 -0.0277073 -0.518669 -0.126089 0.355706 0.0304564 -0.448159 -1.66909 -0.0730512 -0.70738 -0.0192773 0.133726 -3.04269 -0.182105 1.87127 -0.00917848 1.20036 -0.0152754 -2.26663 -0.0790092 0.931853 -0.343181 -0.904086 -0.00982556 0.863377 -0.307518 -11.0486 -0.0191785 0.0186644 0.177189 -0.677554 0.492212 0.788317 -0.0289736 -0.0137184 1.44049 -3.80813 0.568879 1.41253 -0.199002 0.053122 -0.731214 0.0336917 -0.0621426 -0.444531 0.631703 -0.0729355 -0.432256 -0.125489 0.201487 -1.63652 9.58292 0.803408 4.39175 0.737338 -0.339191 2.94042 -0.100519 -0.11011 0.522289 -0.181547 0.0310929 0.0260378 0.0656683 0.0785414 0.130409 0 0 0 0 0 0.0219074 0.0382986 0.00135175 0 0 0 0 0.000170666 0 -0.0142318 0 0 0.00156076 0.00496401 -0.0166897 0 -0.00218165 0.0562797 -0.105709 0 0 -0.0876842 0.000247232 0 0.0118746 0.873087 0 0 -0.00541252 0.230771 0 0.104156 0 -0.0059067 0 0 6.39643e-05 0 0 0.417075 0.00362105 0.0310469 0 0.0280098 -0.0604151 0 0 0.00172145 0 0.00253747 -0.503281 -0.0209521 0 0 -0.0029646 -0.00214456 0 0.00134368 0.0440069 -0.00483301 -0.74161 -0.0313344 -0.0103974 0 -0.00399341 0.0918387 0.112916 -0.0450966 -0.155518 0 0 0 -3.14068 -0.252856 0.308595 -0.0137953 0.00620799 -0.200916 -0.00123296 0.000416936 -0.016403 0.133891 0 0 0 0 0 0 -0.0385997 0 0.194149 0 0 0 0 -0.0967718 0.275058 0 0 -0.00415843 0 -0.0074572 0 -0.0288431 0 0 0.36345 0 -0.798876 -0.0304463 0.0691981 0.0395686 0 0 -0.215199 0 1.70101 0 -1.30977 -0.279605 0 -0.153047 -1.01579 0.00669675 0 -0.0157271 0 0 0.0281333 0 -0.133037 -0.252636 0 0 -0.029346 0 0 -0.115157 -3.02996 0.107171 0 0.507548 0 -0.193303 -0.00682507 -0.0233335 -0.122144 -0.0384146 -0.155622 -0.131978 -0.0350041 -0.793717 -5.44704 0.0515272 0 0 0 0.117069 0.0692092 0 0 0 0 -0.120104 -0.129237 0.00390137 -0.233918 0.300365 -0.505751 0.912965 0.0421739 -0.0157202 -0.0137363 0.0429891 0 0 0 0 0 0 +8 0 0.584324 0.29765 0.0636737 0.287644 -0.248735 0.153581 0.135495 1.68446 0.434626 -0.532894 0.19315 2.09657 -0.00824769 3.09109 -0.0402718 2.47489 11.7432 0.0580193 -0.0720326 4.44753 0.0556761 0.0044409 0.0115029 -0.0994597 0.191177 0.540984 0.0373197 -0.268626 -0.325856 0.781959 0.0708024 -0.111851 0.444128 0.362564 -0.178766 0.0302632 0.0502902 2.09309 0.559554 1.91428 -0.0452547 1.50719 0.0867806 8.02709 -0.212336 0.795289 -0.235012 -0.139933 -0.226286 1.54703 -0.0504195 -0.651988 -0.00941635 -0.254261 0.0670759 2.0856 -0.26459 -0.124975 -0.0150691 0.0441198 0.101082 -1.75331 -0.866645 0.711193 -0.39535 0.825997 -1.23592 -0.313545 -0.096901 -0.0800771 -0.73826 0.377743 -0.388239 -0.810143 0.437346 -2.30345 -5.72156 0.335825 -4.53023 -0.989095 -0.783149 0.0886175 -0.0237216 -0.370558 0.790827 -1.11686 0.112021 -0.150298 0.276383 -0.505962 0.584471 0 0 0 0 0 0.0636737 0.287644 0.00239925 0 0 0 0 2.23618e-05 0 -0.00586242 0 0 0.00314778 0.0104555 -0.00860371 0 -0.000874741 0.119954 -0.0577262 0 0 0.0565586 0.000542178 0 0.00935168 1.76942 0 0 0.0128946 0.47395 0 0.166484 0 0.0292118 0 0 0.00463587 0 0 0.987316 0.000677942 0.0625224 0 0.0473443 -0.123853 0 0 0.244484 0 0.00352773 -0.541365 -0.0133744 0 0 -0.00643665 -0.00444539 0 0.0074196 0.0371482 -0.00166275 -1.17522 -0.0437778 0.0144619 0 0.000700365 -0.0176131 0.0384149 -0.0469807 -0.0824571 0 0 0 -8.33186 -0.631117 -0.246891 -0.039225 0.002872 -0.414406 -0.00260963 -0.000219183 -0.0253829 0.0647454 0 0 0 0 0 0 -0.248735 0 0.153581 0 0 0 0 0.302408 1.75888 0 0 -0.543828 0 -0.0685075 0 0.0737097 0 0 0.492553 0 0.656941 0.111571 -0.147128 0.0607748 0 0 0.60657 0 13.9762 0 1.09502 1.59453 0 0.648153 0.981894 -0.0173027 0 0.053953 0 0 0.203376 0 4.58314 1.16437 0 0 0.164221 0 0 -0.129804 -0.277726 -0.167073 0 3.31741 0 -0.283863 -0.150368 0.144605 -0.232226 -0.0276781 -0.105026 -0.0673972 -0.0434842 -1.37371 7.74037 -0.0323949 0 0 0 0.571723 -0.00151934 0 0 0 0 -0.683725 3.8939 2.26122 -1.15804 -0.363648 0.512626 -0.513237 0.197519 -0.178479 0.23702 -0.226405 0 0 0 0 0 0 +9 0 0.154188 0.535924 -0.0267739 -0.0213723 0.0488454 0.284284 -1.7374 -3.06944 -0.25225 0.42952 -0.329674 0.330665 0.00774833 -0.182294 0.0316744 0.960508 1.49145 0.0159877 0.109613 -2.11335 -0.0299366 -0.827103 -0.00981428 0.049616 -0.966205 0.512866 -0.101995 -0.4639 -0.213681 0.2547 -0.0543654 0.131154 -1.73567 -0.112997 -0.682029 -0.0319448 -0.331141 -4.44741 -0.481056 -0.394358 0.0456259 -0.583577 -0.0597516 -0.241779 0.223269 0.305046 -0.372758 0.496298 0.117518 0.132261 0.680502 2.77461 -0.219732 0.260694 0.10241 2.33937 0.526661 0.675451 -0.257438 -0.116347 1.76258 -0.819692 2.99162 1.50207 0.378214 -0.0494956 0.0127507 -0.395871 0.110725 0.527135 0.955675 0.0918825 0.100926 0.180613 -0.149921 0.543808 14.1746 -0.138737 9.15513 0.596944 0.615138 3.68907 0.135092 0.406897 -1.0026 3.80971 -0.117789 0.129731 -0.143868 0.428708 0.383268 0 0 0 0 0 -0.0267739 -0.0213723 0.00393585 0 0 0 0 0.000648707 0 -0.0190722 0 0 0.00215017 0.00205954 -0.0137142 0 -0.00145775 -0.0306431 -0.164115 0 0 -0.143701 8.55657e-05 0 0.0398018 0.716856 0 0 -0.017334 0.0637653 0 0.151735 0 -0.0360641 0 0 -0.00487022 0 0 0.625088 0.0126608 0.0444846 0 0.0765527 -0.0485864 0 0 0.288534 0 0.00867682 0.1251 -0.021123 0 0 -0.00443442 -0.00538783 0 0.0172517 -0.00800338 0.00316036 -0.560336 0.037698 -0.000963914 0 0.0103024 0.0976422 0.426003 -0.146628 0.0500885 0 0 0 -5.87273 -0.425038 0.252088 -0.0280169 0.00551441 -0.322474 -0.00154028 0.00285888 -0.0430216 0.239943 0 0 0 0 0 0 0.0488454 0 0.284284 0 0 0 0 -0.402137 -1.04126 0 0 0.424921 0 0.060032 0 -0.0768639 0 0 -0.00410363 0 -0.464142 -0.143231 0.233608 0.00949784 0 0 -0.629343 0 -0.546806 0 -1.67645 -0.354268 0 -0.951349 -0.690361 0.031077 0 -0.0525322 0 0 -0.126852 0 -1.0584 0.500232 0 0 0.0885047 0 0 -0.171789 -1.55571 0.110432 0 -2.42795 0 -0.26519 0.188239 -0.23953 0.192753 -0.0846432 -0.295572 0.0577574 0.199748 2.27606 2.62445 0.102034 0 0 0 -0.0936066 -0.081837 0 0 0 0 0.294643 5.88268 -1.59725 3.79852 0.763623 -0.771099 1.01195 -0.162746 0.183131 -0.276591 0.559684 0 0 0 0 0 0 +10 0 0.0173956 -0.482869 -0.0118994 -0.0837503 -0.0470194 -0.128835 0.803505 1.0553 -0.0754237 -0.375026 0.0226336 -0.244588 0.00093001 0.339605 -0.00259327 -1.62261 -3.57304 -0.124053 -0.0161114 2.50218 -0.0488618 0.593496 -0.00143811 -0.150603 0.527207 -0.630259 -0.0541153 0.505202 0.994817 -0.28055 -0.00988343 -0.125648 1.22488 -0.128922 0.408986 -0.00390139 -0.27205 2.77858 -0.0512671 0.64386 0.00455731 -1.0159 -0.0159992 2.0944 0.0154753 -0.234041 0.69215 -0.229168 0.0696428 -0.838768 -0.11053 7.70174 0.0131702 -0.000168859 -0.0256962 1.95536 0.671473 0.55148 0.270033 0.0042576 -1.93902 -2.78855 -1.14775 -1.29658 0.472709 -0.977338 0.750232 -0.31154 0.00679921 0.247682 0.0264821 -0.140356 0.295913 -0.63911 -0.4447 1.37073 -8.04425 -0.262402 -3.16357 -0.563999 0.722309 -4.49167 0.674665 -0.34241 0.254433 -2.60695 -0.00816423 0.01372 -0.276294 0.0586189 -1.78435 0 0 0 0 0 -0.0118994 -0.0837503 -0.000498494 0 0 0 0 -1.52335e-06 0 -0.000363752 0 0 -0.000619375 -0.00154712 0.00165975 0 3.01919e-05 -0.0326659 0.0130897 0 0 0.0867996 -7.52074e-05 0 0.00258961 -0.518609 0 0 0.0111143 -0.16119 0 0.00956524 0 0.00847656 0 0 0.00102077 0 0 -0.137653 -0.000194711 -0.0130552 0 -0.0120778 0.0187154 0 0 -0.147885 0 -0.000855879 0.00806315 0.00387802 0 0 0.000972134 0.000827162 0 -0.00588206 -0.0607538 -0.00495171 0.282956 0.0122181 -0.00147389 0 0.000154639 0.0114193 -0.0916798 0.000741508 -0.0663118 0 0 0 1.12659 0.0905059 0.0337027 0.00495559 -0.00342695 0.0868583 0.000429701 -0.00101167 0.0135454 -0.0350344 0 0 0 0 0 0 -0.0470194 0 -0.128835 0 0 0 0 0.0690666 -1.01289 0 0 -0.225003 0 -0.034553 0 -0.0707201 0 0 1.03808 0 0.463917 0.0255822 -0.189126 0.130841 0 0 -0.531027 0 0.657536 0 0.748684 -0.00273801 0 0.225839 0.459011 -0.0264273 0 0.00036115 0 0 -0.136818 0 0.268223 1.79563 0 0 0.228033 0 0 -0.171953 0.758139 0.154944 0 -0.226404 0 0.452418 -0.141217 0.0363962 0.151569 -0.0455233 -0.0629108 -0.125153 0.0454194 2.10703 8.84509 0.0387567 0 0 0 0.235923 -0.0194963 0 0 0 0 0.0361043 -11.0068 0.46528 -2.75474 -0.0113142 -0.227614 0.140126 0.0364532 -0.0868196 0.196104 -0.184286 0 0 0 0 0 0 +11 0 -0.0693869 -0.0499976 0.0748276 0.247259 -0.342451 -0.0167211 0.451829 1.70015 0.556577 -1.09629 0.45859 0.782393 -0.0214446 2.06355 0.12846 0.139865 -0.633913 -0.219971 0.194682 -1.20466 -0.0271918 0.0763624 0.0323794 -0.249373 0.156305 0.140994 0.0243123 -0.279916 -1.59776 0.581485 0.133276 0.780227 0.054433 0.155025 -0.00890998 0.111441 0.159935 0.343293 0.792059 0.0123761 -0.0592228 1.03002 0.19089 2.66989 -0.0830764 0.308574 -0.650271 1.3518 -0.274166 -1.18262 -0.336313 7.48269 -0.468446 0.193032 0.257476 2.62296 0.926927 1.40077 0.337393 0.0445729 -0.538727 -3.69065 0.466801 -0.126965 0.702907 -0.00651531 0.391095 0.00546422 -0.227554 0.489555 -0.20343 0.478364 -0.382356 -0.366818 -0.673711 2.40646 -1.36542 2.73117 -4.54957 -1.51923 0.369952 0.106784 0.540714 -0.553168 1.91297 -2.78226 0.0779878 -0.411016 0.793886 -1.1737 1.69019 0 0 0 0 0 0.0748276 0.247259 0.00525403 0 0 0 0 0.00110809 0 -0.00723532 0 0 0.00364596 0.0186878 -0.0605195 0 -0.00799859 0.189166 -0.0612951 0 0 -0.169939 0.000888124 0 0.0695598 2.02629 0 0 -0.0105701 0.65966 0 0.352367 0 -0.0408651 0 0 -0.0020194 0 0 1.53213 0.023467 0.0744586 0 0.109254 -0.0966191 0 0 0.294938 0 0.00985245 0.181615 -0.0238228 0 0 -0.00687342 -0.00832684 0 0.0157197 0.0301861 0.0124275 -0.0203047 0.039244 0.00269476 0 0.0191249 -0.085905 0.548129 -0.0958675 -0.188713 0 0 0 -12.3513 -0.747986 -0.469465 -0.0555879 0.0728934 -1.2495 -0.00276318 0.00292839 -0.0555585 0.080557 0 0 0 0 0 0 -0.342451 0 -0.0167211 0 0 0 0 0.393571 0.809762 0 0 -0.923945 0 -0.116223 0 0.0381025 0 0 -0.16385 0 0.494512 0.149359 -0.370405 -0.0241201 0 0 0.27596 0 2.54857 0 0.364494 0.923363 0 1.195 0.407333 -0.0479318 0 0.0436596 0 0 0.102034 0 1.62258 -0.564493 0 0 -0.0519929 0 0 -0.664547 1.72801 -0.545285 0 1.76486 0 0.315445 -0.0169185 0.234796 0.569026 0.125845 0.115081 -0.269356 0.0640097 0.0472039 4.92086 -0.192473 0 0 0 0.612174 0.0231085 0 0 0 0 -0.317627 2.96093 3.07744 -3.33541 -0.137062 0.343769 -0.524661 0.286786 -0.326415 0.527595 -0.689124 0 0 0 0 0 0 +12 0 1.08763 -0.339703 0.0929581 0.0620113 0.0618232 -0.244834 1.09338 1.1106 0.501591 -1.66018 0.280322 -1.07438 -0.0410199 -1.1351 -0.0353698 -1.82408 -4.17528 -0.34578 -0.197758 -1.78141 -0.0978375 0.818244 0.0516006 -0.553804 0.762147 -0.744218 -0.0464321 0.38465 -0.551802 -0.568304 0.184114 -0.171205 0.984223 -0.0881162 0.698118 0.0594257 -0.00941733 -0.462672 0.636543 -1.28578 -0.152424 0.59185 0.167029 -2.3867 -0.486016 -0.934852 0.0678156 -0.613687 -0.338627 -0.557586 -0.76854 5.06392 0.344794 -0.186407 0.332673 0.958802 0.438991 0.00423121 0.775857 0.281996 -2.05366 -0.292218 -1.78961 -1.25907 0.505317 -0.244556 0.468115 -0.422644 -0.262368 -0.0731759 -0.491987 0.369057 -0.0129571 0.725302 -0.647967 1.06822 0.909611 1.33353 0.127095 1.92448 -1.7992 2.72689 1.70542 -1.1512 1.632 -0.275263 0.456247 -0.528363 0.516067 -0.597346 0.583723 0 0 0 0 0 0.0929581 0.0620113 -0.00112013 0 0 0 0 0.000192605 0 -0.0498714 0 0 -0.000243409 0.0145843 -0.146375 0 -0.0194829 0.0471023 -0.365096 0 0 -0.100086 0.000668821 0 -0.0188539 -0.78145 0 0 -0.010787 -0.083534 0 -0.0776348 0 -0.0274702 0 0 -0.00119387 0 0 -0.673992 0.00415405 -0.00162333 0 -0.0238746 0.00257757 0 0 -0.0934623 0 -0.00208484 -0.934988 -0.0232388 0 0 0.000548819 0.00176201 0 -0.00162163 0.0272933 -0.00503628 -0.453494 -0.074179 -0.0389019 0 -0.0110741 0.286128 0.099174 -0.0570806 0.0350712 0 0 0 5.72741 0.259743 1.69934 0.0264055 -0.0126404 0.386278 0.000387175 0.00318966 -0.0261531 0.397885 0 0 0 0 0 0 0.0618232 0 -0.244834 0 0 0 0 0.297952 1.42233 0 0 -0.490541 0 -0.0649882 0 0.0278932 0 0 -0.213933 0 0.41794 0.0230929 -0.20806 -0.0245706 0 0 0.225301 0 1.43929 0 -2.32828 -0.0767548 0 0.162597 0.0516616 -0.0277963 0 0.0432921 0 0 0.170198 0 0.0191173 -0.810889 0 0 -0.105753 0 0 -0.149354 0.167227 -0.0662433 0 1.26226 0 0.0865308 0.110864 -0.0101787 0.277215 0.113139 0.162118 -0.163754 -0.0303093 -1.4154 -1.3407 -0.117187 0 0 0 0.233394 0.0539795 0 0 0 0 -0.387902 13.0631 2.4701 -0.519182 0.780618 -0.621508 1.00488 0.175551 -0.169294 0.255116 -0.121288 0 0 0 0 0 0 +13 0 -0.17679 -0.466342 -0.0371808 -0.0858168 0.0607652 -0.040671 0.304687 1.15219 -0.247871 -0.926725 -0.315125 0.711885 0.0128282 1.3673 -0.105015 -2.06737 -6.37106 -0.241063 -0.107423 3.68447 -0.0998675 0.559434 -0.0178078 -0.301294 0.488495 -0.70835 -0.140282 0.410849 0.829927 0.225789 -0.0690255 -0.669395 1.20021 -0.631643 0.273392 -0.0806937 -0.693694 2.68222 -0.521829 1.74984 0.0413415 -2.99388 -0.130215 4.22726 0.0991218 0.644406 0.475722 -0.822277 0.255311 -1.72139 -0.43797 6.03403 0.191344 -0.065993 -0.119214 -2.84996 0.327311 0.564721 0.41989 -0.0563902 -0.649923 -4.1157 -0.749905 -0.93217 1.20768 -0.529732 0.389171 -0.831007 0.109998 0.4145 0.266359 -0.492412 1.05655 -3.00115 0.335764 3.22646 -6.27686 0.396117 -2.60513 -0.937835 1.21105 -2.95658 1.25349 -1.1381 1.52551 -2.60696 -0.0930504 0.291756 -0.441974 0.668053 -0.877937 0 0 0 0 0 -0.0371808 -0.0858168 -0.00256624 0 0 0 0 -0.000648208 0 -0.00170956 0 0 -0.00141757 -0.00987129 0.03109 0 0.00329595 -0.13609 0.0205494 0 0 -0.0606185 -0.00046328 0 0.0469787 -1.71755 0 0 -0.00576424 -0.497611 0 0.110522 0 -0.0102068 0 0 -0.00157108 0 0 -0.0426562 -0.0138335 -0.0301872 0 -0.0549834 0.0540398 0 0 -0.260402 0 -0.00476872 0.0882737 0.0129944 0 0 0.00263919 0.00403031 0 -0.00224748 0.0326018 -0.0111664 1.71736 0.0360411 -0.0230532 0 -0.00923211 0.0696225 0.0172462 0.0671114 -0.256297 0 0 0 0.373178 0.130143 -0.0505412 0.00174221 -9.30923e-05 0.0185015 0.000999429 -0.00238965 0.0326379 -0.0296978 0 0 0 0 0 0 0.0607652 0 -0.040671 0 0 0 0 0.223285 -2.47944 0 0 -0.150544 0 -0.0253725 0 -0.138329 0 0 0.649613 0 0.536738 0.0820745 -0.0886454 0.074966 0 0 -1.11769 0 -6.14128 0 1.79948 -0.505519 0 0.513 0.844503 -0.0127253 0 0.040738 0 0 -0.304716 0 -1.9048 1.44075 0 0 0.159769 0 0 -0.350117 -1.61871 -0.185738 0 -1.72483 0 -0.560699 -0.115015 0.0906634 -0.0596499 -0.110889 -0.45549 -0.0781626 -0.215349 4.70164 17.0008 0.129201 0 0 0 0.177493 0.048957 0 0 0 0 0.541416 -11.4229 0.675964 -3.05231 -0.225889 0.0408535 -0.273627 0.061797 -0.0943719 0.171823 -0.398009 0 0 0 0 0 0 +14 0 -0.360831 -0.0323764 0.0247246 0.0922011 -0.0937539 0.0191402 -0.00977133 -0.134655 -1.8134 0.534012 0.070036 1.11833 -0.165537 1.33332 0.0859014 -0.236246 -2.05392 0.064546 0.437357 0.0937475 0.0909388 0.0479156 -0.0842365 0.576013 0.154091 -0.0052173 -0.115528 -0.0197894 -0.107472 0.391286 -0.49032 0.215804 -0.0224407 -0.68737 0.0973663 0.0583622 -0.114608 -1.3143 0.168803 0.000614598 -0.17634 -2.18501 0.148003 4.10654 -0.204614 -0.00174825 -0.0431387 1.04419 -0.0542582 0.875643 1.0246 0.893025 -1.39882 0.0482768 -0.012478 0.167341 -1.12577 0.372293 -0.850319 0.024352 0.728422 0.169802 0.0912345 1.79032 -0.679794 -0.468785 -2.09532 0.417792 2.2887 0.000547628 0.229903 0.0449257 0.358037 0.81019 0.00305944 -0.279962 5.80864 -0.0584615 0.243582 -0.685418 0.223497 0.274363 -0.344856 -0.254808 0.209691 -0.514139 0.0716785 -0.0468577 0.0275614 -0.0162899 0.00917822 0 0 0 0 0 0.0247246 0.0922011 -0.0126745 0 0 0 0 -0.00328926 0 0.0291657 0 0 -0.000959255 -0.0142722 0.096627 0 0.0136195 1.06 0.274995 0 0 1.73126 -0.000649729 0 0.204086 7.00196 0 0 0.221197 2.69513 0 0.326197 0 0.618185 0 0 0.0762646 0 0 0.391743 -0.0656584 -0.0186367 0 -0.23839 0.0260846 0 0 0.447215 0 -0.00766656 -1.0004 -0.0273554 0 0 -0.0034553 0.0341754 0 0.0468895 0.607507 0.00307607 -4.5769 -0.0275743 0.0488413 0 -0.126849 -0.107715 0.722221 -0.285118 -0.142538 0 0 0 -10.0698 -0.574582 -1.74785 -0.0460902 -0.0577367 -0.00246348 0.000427544 -0.00123193 0.00232103 -0.0272104 0 0 0 0 0 0 -0.0937539 0 0.0191402 0 0 0 0 -0.0379776 -0.948336 0 0 -0.298171 0 -0.0304727 0 -0.0192381 0 0 0.0333784 0 -0.113881 -0.0242694 -0.0419105 0.00371701 0 0 -0.159549 0 -4.29269 0 -2.06952 0.00264889 0 -0.0927754 -0.567024 -0.00266828 0 -0.00903598 0 0 -0.11156 0 -0.543839 0.14633 0 0 0.024392 0 0 -0.304196 0.915784 -0.171196 0 -0.838088 0 0.0814484 0.0970918 0.0905956 -0.120931 -0.104641 0.327342 0.165942 0.108845 0.600114 -0.552073 0.0866875 0 0 0 -0.0415845 -0.127275 0 0 0 0 0.264042 19.7971 4.13295 -0.625901 1.16785 -0.526215 0.647859 0.301294 -0.170951 0.170054 -0.0174692 0 0 0 0 0 0 +15 0 -1.74981 -0.180366 0.19479 -0.141343 -0.0472079 -0.0341252 0.191641 0.460052 -0.0609859 0.822719 0.0158986 0.840814 -0.50052 0.255554 -0.00418887 1.50318 2.57965 -0.209189 -0.141686 -0.515926 -0.16209 0.17329 0.593498 0.533957 0.334929 0.609663 -0.0242707 0.00543818 0.0206274 0.202934 0.723957 0.171332 1.23261 -0.315158 0.106786 0.0312357 -0.647567 6.99018 0.0539241 -0.138911 -0.392623 -2.06232 0.115436 1.80929 -0.269384 -0.0341018 0.00848065 0.70482 -0.18143 0.728863 -0.384145 -6.85084 -0.537922 -0.20894 0.0820144 1.51728 -1.66906 0.582454 -0.21626 0.366449 1.06604 -0.52778 -2.19585 1.04007 -0.73044 0.486711 -0.935033 0.39592 0.0415486 -1.4075 -0.0265205 0.0760188 1.73671 1.41801 -0.0364445 -3.42038 -27.2244 -3.40676 -0.797515 -4.43193 4.10085 -6.50138 -0.898504 0.326861 -0.392984 -0.06427 0.0943683 -0.0322095 0.00788987 -0.000559474 -0.00176161 0 0 0 0 0 0.19479 -0.141343 -0.00147558 0 0 0 0 0.00220936 0 0.00148894 0 0 -0.00110761 -0.0890817 -0.0623125 0 -0.0146898 0.136818 -0.0254981 0 0 -0.360488 -0.0045075 0 -0.876518 -1.59451 0 0 -0.0547433 -0.310649 0 -1.50303 0 -0.375908 0 0 -0.0527484 0 0 -1.27408 0.0379102 -0.0247951 0 -0.0347726 0.171463 0 0 -0.708545 0 0.0072796 0.223667 0.00875984 0 0 0.00397294 0.00977134 0 -0.0282408 -0.112282 -0.0185688 1.22572 0.0614324 0.0152873 0 0.000355272 0.0228722 -0.128228 0.0471051 0.157396 0 0 0 11.2624 0.711635 0.897134 0.0483099 0.0573723 0.0673784 0.00205828 0.00189779 -0.00234957 0.00958323 0 0 0 0 0 0 -0.0472079 0 -0.0341252 0 0 0 0 -0.0125519 0.0550934 0 0 0.195177 0 0.00988143 0 0.00317 0 0 -0.037554 0 0.0377387 0.0234714 0.0424065 -0.00197988 0 0 0.00481324 0 -0.632316 0 2.89844 0.0223073 0 -0.103758 0.47372 0.00245101 0 0.00443619 0 0 0.020623 0 0.00812677 -0.304397 0 0 -0.0281381 0 0 -0.203358 -2.2523 0.106201 0 -0.56297 0 0.581282 -0.101024 0.0230202 0.363188 0.0121617 -0.649084 -0.964466 -0.0649957 -0.701258 -4.48499 -0.109519 0 0 0 -0.0926339 0.0599341 0 0 0 0 -0.0252643 -24.8125 -3.55909 1.50192 -1.9606 1.42751 -1.64924 -0.178869 0.15939 -0.163631 0.0868871 0 0 0 0 0 0 +16 0 -0.270966 -0.184027 -0.0604575 -0.0905579 0.108126 0.0158779 0.125162 0.40223 -3.1684 -0.433939 0.07774 0.333083 -0.103485 0.13427 0.107466 -1.60091 -4.80384 -0.126646 0.71951 -0.854627 -0.0484486 0.0237904 -0.486728 -0.25165 0.157382 -0.524219 -0.188433 -0.00190345 -0.220031 0.00350511 -1.29359 0.250847 0.0358596 -0.684426 0.0215307 0.0259091 -0.920623 0.611157 0.429761 -0.0969294 -0.308759 -2.85819 0.166827 1.29192 -0.812682 -0.003997 -0.0355014 1.73562 0.2048 -0.237984 0.24083 1.29722 -2.07015 0.158133 -0.0711534 1.77113 0.690086 1.34129 -0.198567 -0.313779 0.629697 -0.868479 0.226523 -0.104136 0.352967 -0.389257 0.703953 -0.392965 3.7119 -1.14959 0.403254 -0.100883 0.5074 -0.287565 0.0307212 0.85471 0.084667 0.48827 0.166338 1.1625 -0.425134 0.355631 -0.284864 0.166971 -0.0684344 -0.125126 0.284692 -0.143951 0.0732417 -0.0369448 0.0187909 0 0 0 0 0 -0.0604575 -0.0905579 -0.0129651 0 0 0 0 -0.00634987 0 -0.0285368 0 0 0.00265261 0.0272867 -0.0618557 0 -0.0107882 -0.392857 -0.162714 0 0 -0.654163 0.0015121 0 0.0116914 -4.49546 0 0 -0.0917846 -1.47753 0 0.0760712 0 -0.262716 0 0 -0.0361496 0 0 0.216779 -0.122143 0.0465453 0 -0.252922 -0.067637 0 0 -0.352807 0 -0.0154046 -1.27452 0.0217599 0 0 -0.00545827 0.0280088 0 -0.0296826 -0.0495605 -0.0310996 -1.29359 -0.164827 0.028381 0 0.01487 0.0716928 -0.229016 0.113973 0.0846319 0 0 0 -1.53676 -0.267678 0.636298 -0.00946113 -0.00249218 -0.0259062 -0.00212472 -0.00143468 -0.00446985 0.0155541 0 0 0 0 0 0 0.108126 0 0.0158779 0 0 0 0 0.0382177 -0.359555 0 0 -0.0389935 0 0.00262022 0 -0.0020522 0 0 0.0281428 0 0.0185873 0.0178359 -0.00902641 0.00167759 0 0 -0.0355253 0 -1.60602 0 0.208259 -0.0629378 0 0.0766525 0.0147731 0.000370438 0 0.00637339 0 0 -0.0266552 0 -0.192161 0.0950722 0 0 0.0145409 0 0 0.0883956 2.1377 -0.0814091 0 -0.00931382 0 -0.273262 0.0101873 0.0351078 -0.0616229 -0.0728945 -0.0530757 0.564867 0.0081787 0.108821 2.71833 0.0473585 0 0 0 -0.0639352 0.0157499 0 0 0 0 0.115802 2.05383 0.419007 -0.360624 -0.177772 0.0642749 0.109284 -0.0586237 0.0504371 -0.0151968 0.0355482 0 0 0 0 0 0 +17 0 0 0 0.212765 -0.247103 0 0 0 0 1.90144 0.443722 -0.270175 0 -0.405172 0 0.0329873 0 0 0.0504901 0.492016 0 -0.00617227 0 0.886639 0.0596703 0 0 0.815085 0 0 0 1.30839 -0.029645 0 1.61341 0 0.00610689 2.69664 0 -0.6611 0 0.00738461 5.69819 0.13687 0 2.45333 0 0 0.342499 0.849535 0 0.824258 0 0.874398 0.39809 0.409169 0 -0.433413 -0.501445 -0.141877 -0.628759 0 0 0 0 -0.610755 0 0.195522 2.62967 -3.72972 0.886809 0.0212973 -0.239565 -2.59791 0 0 -0.739295 0 0.617411 0 -5.09291 1.74743 0 -4.46389 1.71525 -0.0210415 0 -7.5895 3.97874 -3.02236 1.19652 0 0 -0.266115 -0.0356754 0.0482922 0.0052401 0.212765 -0.247103 -0.0656318 0.0565692 0.293856 0.00089649 0.0060006 -0.00267657 0.011479 -0.0619308 -0.0483397 0.00881545 -0.00489196 0.0599662 -0.253135 -0.521458 -0.0596328 1.26537 -0.187417 -0.00424296 0.323179 2.39854 0.0012312 -0.000532543 0.0385404 7.69227 -0.200986 -0.00589575 0.336841 3.41692 0.0395879 0.578348 0.0347478 0.80927 -0.0251328 -0.00147217 0.102588 0.0706185 4.92759e-05 1.08917 -0.0564824 -0.00961521 0.00456252 -0.725585 0.210018 0.041047 0.028912 -0.159788 -0.0580094 0.0377183 0.208707 -0.111394 0.157081 -0.0951465 0.00686678 0.347284 0.0108385 -0.0142693 -0.397972 -0.0263042 -4.62628 0.140562 0.0175739 0.0638331 -0.149648 0.273229 -2.52815 0.977903 -0.174669 -0.0424185 -0.114983 -0.0243863 -0.930114 -0.00946623 0.282982 -0.156304 0.16482 -0.0721522 0.0139157 -0.0158248 0.00649672 -0.0102697 -0.0174991 0.0192614 -0.0148423 0.00485937 0.0583008 0 0 0.0482922 0 0.0052401 0 0 0.406647 0 0.317393 0.0901651 -0.00782472 0.194512 0.0135066 0.00961929 0.0473058 -0.0184719 -0.0372978 0.602327 0 0 0 0 0.105335 0 -0.140367 0 -0.109714 0 0 -0.103642 0 0 0.00262537 0 0 0.0185053 -0.0064105 0 -0.0164844 0 0.0593789 0 0 0 -0.00296153 -0.04555 0 0 -0.129992 0 0 0 0.202435 0 -0.247488 0 -0.342808 0.408802 0.127298 0 0 -0.125017 -0.0298886 -0.713448 0 0.0795669 0 -0.0622147 0 -0.228533 0.0882673 0.181669 -0.0899495 -0.114944 0.0997537 0.155673 0 -0.677388 0 -3.68875 0.742404 0 -1.63313 0.704392 -0.268216 0 -1.7241 0.928037 -0.474432 0.0761165 0 0 +18 0 0 0 0.0170252 0.0251478 0 0 0 0 -3.27233 -1.78056 0.190677 0 -0.408804 0 0.0862514 0 0 -0.364901 0.960776 0 -0.0756892 0 -0.56623 -0.465425 0 0 0.0129813 0 0 0 -1.4562 -0.692185 0 -0.333989 0 0.0643235 0.177563 0 1.17549 0 -0.865098 -0.162913 0.282639 0 -2.68729 0 0 0.132767 -1.09976 0 -1.79966 0 -0.56313 -0.481657 -0.0451481 0 0.00729078 0.621319 1.77339 1.3606 0 0 0 0 -0.29862 0 0.455165 1.02177 5.17635 -0.113288 -1.71709 0.509904 2.80622 0 0 2.77689 0 5.85542 0 9.27 -2.72474 0 5.43163 -2.82224 2.7413 0 6.82766 -4.18246 4.37396 -2.32787 0 0 0.0278102 0.00688175 -0.0592334 -0.00576325 0.0170252 0.0251478 0.0498477 -0.0172671 0.272119 -0.000667838 -0.00157958 -0.00799829 -0.00861553 0.0025398 0.0089818 -0.00519899 -0.00685408 0.0526119 0.120802 0.0656159 0.0227879 0.542835 0.110879 0.00101293 -0.162123 -0.194067 0.0128278 0.00665277 0.0832237 1.35749 0.145641 0.0179547 -0.0287789 0.777423 0.0180991 0.000563703 0.0347912 0.0651418 0.0351835 0.112361 0.0232254 -0.0345594 -0.000326606 -0.234485 -0.174478 -0.109752 0.00334828 0.161893 -0.066804 -0.0582627 0.0546766 0.144062 0.0682334 0.143773 0.451906 -0.176613 -0.0205277 -0.0734932 -0.0133563 -0.115073 0.05157 -0.0661745 0.0899957 0.0434338 -4.01361 0.25931 -0.0665869 -0.0303287 -0.235447 0.0605575 -0.178311 -1.28315 -0.387027 -0.0394232 0.0340696 0.0117321 0.200242 -0.234596 -0.0910378 0.326982 -0.375229 -0.0281773 -0.0220996 0.0411602 -0.040174 0.0110575 0.00778003 -0.032954 0.0658127 -0.0679684 -0.0422467 0 0 -0.0592334 0 -0.00576325 0 0 -0.189999 0 -0.532728 -0.0744945 -0.00267574 -0.649663 -0.0118171 -0.157074 -0.00308347 -0.0422441 -0.0240215 -0.462607 0 0 0 0 -0.397897 0 -0.0844357 0 -0.37638 0 0 0.388862 0 0 0.0037239 0 0 -0.0873209 0.00816752 0 0.0540746 0 -0.0840212 0 0 0 -0.00250756 0.0659794 0 0 0.0676036 0 0 0 -0.073181 0 0.120709 0 0.215006 -0.198522 0.455283 0 0 0.230474 -0.653431 -0.37836 0 -0.302422 0 -0.152067 0 -0.0921082 0.859861 -0.486716 0.47947 0.383347 0.00176755 0.210176 0 2.66054 0 3.05874 -1.51844 0 1.84615 -1.10202 0.622801 0 0.898041 -0.896975 0.806183 -0.466616 0 0 +19 0 0 0 0.189262 0.189109 0 0 0 0 1.36504 0.442469 0.535548 0 -0.370522 0 -0.042021 0 0 -0.0990019 0.0105129 0 -0.043313 0 0.484059 0.26036 0 0 0.460825 0 0 0 0.766535 -0.519071 0 0.60759 0 0.126117 2.04398 0 1.6876 0 -0.731311 2.95645 0.547868 0 -1.96524 0 0 -1.91699 -1.61605 0 0.534619 0 0.346652 -0.403405 0.542684 0 -0.70036 -0.756551 -0.388359 1.23746 0 0 0 0 -0.0777269 0 0.223192 1.70519 -1.26385 -0.830242 0.242843 1.95786 -0.479965 0 0 -0.154975 0 0.0692085 0 3.3734 -1.85187 0 1.50348 -1.13977 0.10709 0 6.17173 -4.74081 2.83762 -2.2943 0 0 0.186972 0.0249731 0.099655 -0.065262 0.189262 0.189109 0.0584183 0.0498355 -0.510098 -0.000613067 0.00417534 0.0096217 -0.0170508 -0.155514 0.0338483 -0.00606851 0.0319483 0.170246 -0.207644 0.36605 -0.055214 0.653789 -0.681753 0.00296442 0.474181 0.2146 0.0140292 0.0196269 0.135665 4.45618 0.533057 -0.00157724 0.0181088 2.04641 -0.0432829 0.532865 -0.0464219 0.399388 0.101626 -0.0739045 0.0249684 -0.0488209 -0.000703918 1.27481 0.146418 0.40601 -0.00432529 0.689521 0.322951 -0.0390823 -0.0322803 0.0504726 0.0996584 0.0180803 0.788907 -0.0709673 -0.110244 0.123697 -0.0258754 -0.204249 -0.203515 0.0255235 -0.395037 0.00231497 -3.13932 0.158368 -0.0443101 -0.0237624 0.209014 0.204081 -0.450964 -0.239792 -0.57702 0.0229798 0.0237465 0.016865 -1.08864 -0.476829 0.528648 0.0452547 0.0194863 -0.412501 -0.036801 0.0573098 -0.103631 0.19821 0.0121206 -0.0110653 -0.00222535 0.0278078 -0.154626 0 0 0.099655 0 -0.065262 0 0 -0.365964 0 -0.883435 0.0444626 -0.0824521 -0.80394 0.011557 -0.131646 -0.101826 -0.0339916 -0.10642 -0.0808466 0 0 0 0 -0.133656 0 -0.718543 0 0.00303763 0 0 -0.11427 0 0 -0.0183293 0 0 -0.0346632 -0.0075032 0 -0.0241072 0 -0.244006 0 0 0 -0.0144863 -0.0556901 0 0 -0.278646 0 0 0 0.117479 0 0.225062 0 -1.03697 0.371279 0.356513 0 0 -0.690319 -0.413057 0.220879 0 -0.258532 0 -0.226701 0 -0.217285 0.350098 0.0768363 -0.0854188 -0.154644 0.0999986 0.234774 0 5.12984 0 2.0032 -0.148567 0 1.71372 -0.676144 0.571896 0 0.21079 0.0210786 0.0744976 0.0643425 0 0 +20 0 -0.664041 -0.142974 -0.077982 -0.237593 -0.0113006 -0.0149252 -0.157169 -0.311337 -0.709411 0.355996 -0.125918 0.478537 -0.00941327 0.222154 -0.18855 0.722532 0.824916 -0.121649 -0.640762 -0.185155 -0.165181 0.169936 -0.0918513 -0.144726 0.0510313 0.272096 -0.565665 0.0244481 0.281106 0.0776259 -0.197528 -0.327108 0.648855 -1.2833 0.0178366 -0.0627471 -1.95434 2.21037 -0.214557 -0.0875657 -0.16236 -4.69832 -0.143488 1.23055 -0.693874 -0.0319187 0.0875728 -1.03102 -0.146254 -1.05238 -0.0423472 -2.41323 -0.99657 -1.1885 0.525955 -1.34688 0.252958 1.03739 0.225502 0.436371 0.371651 -0.0884381 0.815282 1.33107 2.51343 0.280674 -0.824183 -4.62691 0.862032 -0.424548 -0.0209966 -0.0644562 -0.686088 0.162306 -0.246462 -2.15754 -6.92874 -4.79517 1.54096 -3.36449 3.00133 -4.19743 -0.384312 1.33931 -2.07104 1.23422 2.45624 -0.1946 -0.190448 0.327644 -0.248823 0 0 0 0 0 -0.077982 -0.237593 -0.0106516 0 0 0 0 -0.00419195 0 -0.0184747 0 0 0.014192 0.093648 -0.120399 0 -0.00833317 -0.561358 -0.306559 0 0 -0.434492 0.00671901 0 -0.420283 -5.62875 0 0 -0.0400822 -1.95775 0 -0.647682 0 -0.213309 0 0 -0.0227165 0 0 -0.879867 -0.0561034 0.196075 0 -0.141836 -0.0373761 0 0 -0.16371 0 -0.031884 -0.194268 0.0900707 0 0 0.0097229 -0.0207137 0 -0.0254882 0.157033 -0.0027159 2.37614 -0.091554 0.028855 0 -0.0383865 -0.176 1.02266 -0.30437 0.0859864 0 0 0 3.5732 0.0205486 0.528975 0.0342449 -0.0267602 0.130778 -0.00882182 0.0158748 -0.0366863 0.0715826 0 0 0 0 0 0 -0.0113006 0 -0.0149252 0 0 0 0 -0.0262373 -0.129883 0 0 0.456178 0 0.0550053 0 -0.00791248 0 0 0.0421651 0 0.160689 0.00206478 0.0891129 0.00852214 0 0 -0.0550186 0 -2.68538 0 1.73266 -0.137137 0 -0.0269651 0.481072 0.010443 0 -0.00168455 0 0 -0.0210196 0 -0.637673 -0.247685 0 0 -0.0261718 0 0 -0.0263238 -0.837777 -0.0474207 0 -0.264484 0 0.976932 -0.272267 0.15898 -0.0067358 0.10836 0.409666 -0.896657 0.0772785 0.594711 -0.898423 -0.00420613 0 0 0 0.0726041 -0.0397331 0 0 0 0 -0.00724648 -15.9556 -4.50995 1.13287 -1.47875 1.22799 -1.37518 -0.507626 0.361327 -0.293796 0.00015456 0 0 0 0 0 0 +21 0 0.0319981 0.0247466 -0.109306 -0.0819507 -0.0954576 0.0619015 -0.428762 -0.189193 1.56837 -0.590189 0.0523884 -0.653902 0.401673 -0.711798 -0.155879 -1.45417 0.0752931 0.0756677 -1.08859 0.340839 0.0656193 -0.269414 -0.251807 -0.0586711 -0.297821 -0.756918 -0.3825 -0.0358223 -0.297913 -0.204919 0.248371 -0.295435 -1.0012 -0.243736 -0.176002 -0.0105996 -0.682269 -4.61515 0.0106153 0.164619 0.686268 0.061248 -0.110059 -1.14163 1.03235 0.0474963 -0.110433 -1.80568 0.359524 -0.883232 0.305911 9.04235 1.12005 -0.411291 -0.00465213 4.62924 2.04682 0.469472 -0.214305 -0.886371 -3.28229 -0.206011 1.58255 -1.25858 0.252309 0.293916 0.982599 -0.192404 -1.91451 2.397 -0.789512 -0.0568331 0.221332 1.05921 0.140429 2.08549 22.6993 9.49064 -2.52003 5.40095 -3.93035 5.34446 -0.0196561 -0.231347 1.18024 -0.0755316 -3.6544 0.835737 0.0703962 -0.251296 0.2637 0 0 0 0 0 -0.109306 -0.0819507 0.0569866 0 0 0 0 0.0326494 0 -0.0388385 0 0 0.0016407 0.000711028 -0.0665751 0 -0.024122 0.0535761 -0.0839282 0 0 0.164178 -0.000212128 0 0.509228 4.91229 0 0 0.0321313 1.28203 0 0.771246 0 -0.146424 0 0 -0.0152615 0 0 0.990266 0.455328 0.0334995 0 0.793052 0.147863 0 0 -0.377843 0 -0.00683746 0.469051 0.0131059 0 0 0.00695974 -0.163101 0 0.0332731 0.0228978 -0.0583603 -5.1546 -0.00799976 -0.0511421 0 0.0952529 -0.0579831 0.218323 -0.728887 0.00111731 0 0 0 -3.34467 0.200886 -0.434596 -0.0644447 0.146287 -0.369901 -0.000431242 -0.00549223 0.0194057 -0.034365 0 0 0 0 0 0 -0.0954576 0 0.0619015 0 0 0 0 0.143848 0.29172 0 0 -0.287058 0 -0.0480163 0 0.0193121 0 0 -0.0468329 0 -0.126102 0.0716949 -0.126678 -0.00448511 0 0 0.130446 0 0.487437 0 -0.35406 -0.230284 0 0.490406 -0.260063 -0.0173849 0 0.0188034 0 0 0.0614323 0 -0.403059 0.234883 0 0 0.0372332 0 0 0.125793 0.0556662 0.455702 0 -0.13549 0 -0.986118 0.363551 -0.410136 0.662349 -0.0302341 -0.443325 0.841532 -0.180188 -0.131032 -3.32678 -0.0314139 0 0 0 0.0172726 0.16491 0 0 0 0 -0.121393 0.611755 2.35198 -3.1231 0.685462 -0.661497 0.656368 0.238193 -0.289325 0.384881 -0.484742 0 0 0 0 0 0 +22 0 -0.598676 -0.010691 -0.352259 -0.23929 0.238855 0.133435 -0.390972 -1.32564 -2.59168 2.37765 0.397905 0.554755 0.338948 1.17176 0.06809 -0.160738 -2.50543 0.83181 0.123697 0.758533 0.436444 -0.16029 -0.692349 0.904638 -0.376851 0.0801798 -0.261895 -0.116163 -1.46845 0.15214 -1.20952 0.24457 -0.0658772 -0.730425 -0.13334 0.105297 -1.28351 1.95093 1.53883 0.305999 0.175737 -4.42263 0.423561 3.83522 -0.852582 0.103168 -0.407069 0.956007 -0.606416 0.827037 0.523654 -0.213321 -0.34422 0.543162 -0.882791 -4.47256 -0.796813 -0.194991 -0.607109 0.327091 0.00192599 -0.636362 -1.19431 2.10738 -0.200768 0.807808 -1.62347 0.0964505 2.73871 -0.839014 -0.865622 0.493735 2.79222 -1.75441 0.809064 3.53514 -10.8909 -6.01523 1.19941 -2.4593 0.571146 -1.43816 -4.15905 1.83431 -1.38711 0.919057 3.01805 -3.42937 2.97641 -1.89656 1.29981 0 0 0 0 0 -0.352259 -0.23929 -0.0470368 0 0 0 0 -0.0165785 0 -0.00308638 0 0 0.00514511 0.0409363 -0.13456 0 -0.0193249 -0.361886 -0.0818727 0 0 0.443661 0.00325371 0 0.179494 -2.28397 0 0 0.0659173 -0.949552 0 0.244696 0 -0.00332503 0 0 0.00419998 0 0 0.530561 -0.230046 0.0657267 0 -0.655266 0.0452114 0 0 -0.203317 0 -0.0234149 0.299421 0.0267602 0 0 -0.0155317 0.124392 0 0.0122806 -0.0355682 0.0463416 3.16628 -0.0702109 -0.01657 0 -0.0831276 -0.0129788 -0.291981 0.521939 0.172351 0 0 0 -1.83492 -0.0646533 -0.00176 -0.045901 0.0808906 -0.170597 -0.00698498 0.0121071 -0.0239276 0.0316654 0 0 0 0 0 0 0.238855 0 0.133435 0 0 0 0 0.0310147 -0.680926 0 0 0.349674 0 0.0532498 0 -0.00408824 0 0 -0.222002 0 -0.191356 -0.0578038 -0.0813163 -0.0275882 0 0 -0.00505234 0 -2.55743 0 -0.399684 -0.0891882 0 -0.38256 -0.266744 -0.00805741 0 0.0011949 0 0 -0.0932367 0 -0.28721 -0.297028 0 0 -0.0377906 0 0 -0.238325 -1.43025 -0.375362 0 -0.721113 0 0.557721 -0.265946 0.31828 -0.386715 0.136449 -0.483378 -0.654664 0.0830981 0.773762 1.73743 -0.116226 0 0 0 -0.0258604 -0.128858 0 0 0 0 0.216815 10.6931 1.13831 0.173318 0.879573 -0.606023 0.497181 -0.261285 0.198613 -0.236538 0.286016 0 0 0 0 0 0 +23 0 0 0 0.180461 0.0875027 0 0 0 0 -0.0619498 -1.23643 -0.0924002 0 -0.332654 0 -0.0639647 0 0 -0.564226 -0.136511 0 -0.309284 0 0.432248 -0.605707 0 0 0.39927 0 0 0 0.471023 -0.279184 0 0.304763 0 0.00651134 1.27273 0 0.189967 0 -0.352637 1.17805 0.171366 0 0.0431431 0 0 -0.0479351 0.0148412 0 -0.89432 0 -0.236533 0.0116901 0.0617325 0 0.266737 1.22889 0.550112 0.0815072 0 0 0 0 0.1429 0 0.844935 1.07723 -0.103484 1.22588 0.247258 0.127508 -1.06878 0 0 -1.40224 0 2.13807 0 -0.12411 0.304362 0 1.59883 -1.1322 2.29351 0 0.726687 -0.281463 0.385471 -0.312596 0 0 0 0 -0.125562 0.00677147 0.180461 0.0875027 0 0.0419417 0 0 0.00887088 0 0 -0.109655 0 0 0 0 -0.325014 0 -0.0666747 1.16389 -0.539822 0 0.188977 -0.0197991 0 -0.00603468 0.561227 4.37501 -0.0613237 0 0.0162447 2.32658 0 0.821756 0 -0.0896296 -0.0186817 0 -0.010376 0 0 1.1997 0 0 0 0 0 0 0 -0.309274 0 0 -0.802185 0 0 0 0 0 0 0 0.0722602 0 -3.84715 0 0.0997353 0.0254288 0 0.10859 -0.49648 0 -0.0870648 0 0.0759879 0 -2.74739 0 0.610724 0 0 0.0185158 0 0 0 0.023642 0 0 0 0 0.00528562 0 0 -0.125562 0 0.00677147 0 0 0.189423 0 0.697503 0.0134184 0.0562856 -0.408781 0.00122711 0.014666 0.0370667 0.026845 0.075897 0.0730907 0 0 0 0 -0.295266 0 0.391588 0 -0.102824 0 0 0.158222 0 0 0.00613138 0 0 -0.00858199 0.0026039 0 0.00524051 0 0.206522 0 0 0 0.0111576 0.026124 0 0 0.200037 0 0 0 -0.168238 0 -0.105329 0 0.172628 0.157417 -0.458971 0 0 0.844958 -0.033672 -0.0183786 0 0.259382 0 0.153119 0 0.356729 -0.0615895 -0.0499094 -0.0300158 0.22541 -0.0559316 -0.669031 0 1.13858 0 -0.590091 -0.18835 0 -0.117313 -0.147442 0.533402 0 -0.106155 0.0274007 0.0664388 -0.0525278 0 0 +24 0 0 0 -0.377229 0.179532 0 0 0 0 -0.860779 3.01483 0.273422 0 0.642216 0 0.0800831 0 0 1.00609 0.459991 0 0.596975 0 -0.813591 1.93163 0 0 -1.159 0 0 0 -0.988585 0.339362 0 -2.0488 0 0.00388342 -3.26987 0 0.463837 0 0.852819 -6.88778 -0.177595 0 0.589656 0 0 0.668296 0.224213 0 1.53412 0 -0.444866 0.414888 -0.356242 0 -0.0119706 -0.25192 -2.24318 -0.763534 0 0 0 0 1.86791 0 -1.10979 -3.84838 0.539223 -4.04937 0.0643077 0.275804 3.17873 0 0 3.11048 0 -5.99398 0 -1.57136 -0.500757 0 -4.6937 1.95176 -1.53245 0 -1.9795 0.437746 -0.298122 -0.458726 0 0 0 0 0.0946151 -0.0104764 -0.377229 0.179532 0 -0.0161018 0 0 -0.00272277 0 0 0.124591 0 0 0 0 0.522876 0 0.0816185 -1.62827 0.801546 0 -0.0649998 0.99494 0 0.00548297 -1.20438 -1.11375 -0.0342185 0 0.114164 -1.61298 0 -1.81973 0 0.69402 0.0103017 0 0.0937854 0 0 -2.75029 0 0 0 0 0 0 0 0.296549 0 0 0.893438 0 0 0 0 0 0 0 0.143884 0 4.22857 0 -0.113948 0.00373456 0 0.032837 1.8019 0 0.074119 0 0.00393226 0 6.29836 0 -0.900855 0 0 0.157708 0 0 0 -0.0343326 0 0 0 0 0.00294937 0 0 0.0946151 0 -0.0104764 0 0 -0.805702 0 -0.338547 -0.0126815 0.0516877 0.183586 0.00123453 0.0750344 -0.121953 -0.0166193 0.0359649 -0.286553 0 0 0 0 -0.00815224 0 0.325791 0 0.125504 0 0 0.23446 0 0 -0.017472 0 0 0.0130877 0.00161452 0 0.0267841 0 -0.143327 0 0 0 0.00549718 0.0159305 0 0 0.162368 0 0 0 -0.254371 0 0.581965 0 0.0577953 -0.0356276 -0.466092 0 0 -0.136283 0.353196 0.00602802 0 0.257662 0 -0.00971212 0 -0.179182 -0.451757 -0.120826 0.0151394 0.227378 0.0606733 0.584508 0 -0.174066 0 0.712645 -0.68614 0 0.188573 -0.162444 0.0568077 0 0.236005 -0.153319 0.0649182 -0.0210479 0 0 +25 0 0 0 0.0423217 0.201305 0 0 0 0 0.188413 -0.685615 -0.301 0 -0.0586579 0 0.026227 0 0 -0.248593 -0.508911 0 -0.293011 0 0.0980494 -0.697499 0 0 -0.129505 0 0 0 0.211375 0.441133 0 0.138955 0 -0.0683124 -0.96087 0 -1.33759 0 -0.0145303 -0.911677 -0.320536 0 0.566477 0 0 0.46428 0.812184 0 0.0867564 0 0.231285 -0.216459 -0.0649416 0 0.20767 0.13392 0.628273 -0.0876843 0 0 0 0 -0.179356 0 -1.30793 -0.89734 -0.399151 0.852676 -0.00805945 -1.22262 0.298443 0 0 0.411877 0 1.40076 0 -0.148 2.31464 0 1.46652 0.500953 0.0555742 0 -0.47606 1.32101 -0.568423 1.03281 0 0 0 0 0.126351 0.0297198 0.0423217 0.201305 0 0.0641535 0 0 0.0132029 0 0 0.00377794 0 0 0 0 -0.100052 0 -0.00918809 -0.920157 -0.00874333 0 0.305654 -0.929199 0 -0.0105493 0.143078 -5.01442 -0.319041 0 -0.0647195 -2.72466 0 0.177037 0 -0.953137 -0.0618239 0 -0.125028 0 0 0.20836 0 0 0 0 0 0 0 0.0744826 0 0 0.19749 0 0 0 0 0 0 0 -0.177767 0 1.44096 0 0.0237017 0.0397082 0 0.161264 -0.511899 0 -0.155522 0 0.121063 0 -0.477159 0 0.0087277 0 0 0.356334 0 0 0 0.00234246 0 0 0 0 0.0274988 0 0 0.126351 0 0.0297198 0 0 0.0151998 0 0.648205 -0.0107062 0.0688384 0.160883 -0.00277167 0.046437 0.0483922 0.0698703 0.0255112 -0.0448279 0 0 0 0 0.21382 0 0.456565 0 0.186622 0 0 -0.0844712 0 0 0.0127466 0 0 0.036325 0.000788246 0 -0.00643069 0 0.202593 0 0 0 0.00616243 -0.000192459 0 0 0.0844742 0 0 0 -0.117104 0 -0.0128542 0 0.0189423 0.0233182 -0.198471 0 0 0.341053 0.203972 -0.642027 0 0.0226434 0 0.0181132 0 0.0754415 -0.0869222 0.0250199 0.0113062 -0.00623328 -0.0239694 -0.437684 0 0.477537 0 -0.196662 0.545437 0 -0.0506475 0.0354918 -0.00877514 0 -0.0787613 0.0763701 -0.0646958 0.0641525 0 0 +26 0 -0.332795 -0.653979 -0.353377 -0.150159 0.0315656 0.0789199 -0.897972 -1.93497 -0.611622 2.21667 0.0293377 -0.0913842 0.56941 -0.947359 0.0345107 -3.43145 -11.9639 1.07478 0.154352 -0.199169 0.671455 0.625686 -0.735105 1.30686 -0.614088 -1.16808 -0.411527 -0.0265658 -0.288922 -0.213156 -0.875864 0.0309597 1.17255 -0.853083 -0.212689 -0.0294574 -0.92605 2.30689 -0.0139686 -0.0476591 0.678441 -2.47191 -0.227642 -1.01813 0.47376 -0.00990424 -0.090548 -0.0138936 0.0993809 -2.15982 1.06765 12.7309 -0.0358915 0.0328951 0.0334114 1.14254 -0.230068 0.0272054 -1.22358 -0.409352 1.18564 -0.211923 -0.785249 1.97962 1.13605 0.450747 -1.38289 -0.91727 0.446639 -1.79576 0.252577 -0.0233225 1.09165 1.2902 0.0142106 3.34391 -9.20819 -6.58232 3.73076 -3.65635 1.04951 -0.0402383 -3.05904 1.65045 -1.56823 2.71155 -1.36139 0.363952 0.16463 -0.20233 0.305523 0 0 0 0 0 -0.353377 -0.150159 0 0 0 0 0 0 0 0.0115632 0 0 0 0 0.0820376 0 0.0125616 -0.382652 0.0985183 0 0 -0.241678 0 0 0.150966 -1.99201 0 0 -0.0351163 -0.890587 0 0.0807459 0 -0.0789292 0 0 -0.0102808 0 0 -0.102064 0 0 0 0 0 0 0 -0.00527704 0 0 0.134483 0 0 0 0 0 0 0 -0.0599054 0 1.37465 0 -0.0109327 0 0 -0.0119363 0.00437626 0 -0.0894015 0 0 0 0.233735 0 -0.112178 0 0 0.00439857 0 0 0 -0.00424575 0 0 0 0 0 0 0.0315656 0 0.0789199 0 0 0 0 0.0596976 -0.632172 0 0 0.136406 0 0.0152225 0 -0.00744932 0 0 0.0320671 0 0.0666348 0.000739183 -0.00608167 0.00368508 0 0 -0.044044 0 -3.61191 0 0.782237 -0.226171 0 0.146525 0.128799 0.000179422 0 0.00428714 0 0 -0.0756291 0 -1.0161 0.560368 0 0 0.0653709 0 0 0.231225 0.0623025 0.230768 0 -0.00886203 0 0.71037 -0.0474719 -0.0190384 -0.0921378 -0.0278931 0.239176 -0.238185 0.0365989 0.45536 2.81059 0.0246148 0 0 0 -0.190897 0.000693634 0 0 0 0 0.179912 -8.74212 -1.28979 -0.489025 -0.0846331 -0.0393118 -0.0854843 -0.0417574 0.0375623 -0.0375145 -0.063283 0 0 0 0 0 0 +27 0 -0.107555 -0.566413 -0.0349551 -0.0148533 0.0317719 -0.0484345 0.271729 1.09496 -0.0605 -0.806316 -0.156614 -0.395096 0.0563246 -0.857254 -0.117436 -2.31827 -10.4201 0.182568 -0.593171 -0.0513622 0.0881501 0.540213 -0.0727147 -0.347515 -0.124244 -0.597012 0.0584315 0.0348639 0.556239 -0.177832 -0.0866382 -0.233566 1.53778 -0.000728786 -0.0602213 -0.084381 0.140818 4.67573 -0.491875 -0.0485797 0.0671096 -0.0903328 -0.27302 -2.38074 0.0468631 -0.0125576 0.142061 -1.19272 0.374588 0.0895191 0.545017 -0.033502 0.576441 -0.528316 0.323458 -0.506477 -0.229442 -0.129857 0.332219 -0.040492 0.221173 -0.0400136 -1.32387 2.46829 -0.0426362 -0.223667 -1.80418 0.182557 0.0441804 1.2492 -0.0205336 -0.337673 -0.0401603 0.365614 -0.205517 -0.229735 -17.1602 -1.48747 -2.14236 -3.60286 3.36429 -5.38629 1.11014 0.141975 -0.476276 -0.793359 -0.134665 0.740739 -0.823979 0.663819 -0.5882 0 0 0 0 0 -0.0349551 -0.0148533 0 0 0 0 0 0 0 0.0238922 0 0 0 0 -0.00358268 0 0.0128605 0.526821 -0.0131592 0 0 -0.976887 0 0 0.775073 -0.393852 0 0 -0.13149 0.414474 0 1.32995 0 -0.49451 0 0 -0.0663969 0 0 2.2525 0 0 0 0 0 0 0 -0.262147 0 0 -0.143805 0 0 0 0 0 0 0 -0.137485 0 -3.39281 0 0.0031119 0 0 0.00253305 -1.02067 0 -0.0281211 0 0 0 -5.15839 0 0.00118978 0 0 -0.0970739 0 0 0 0.00056711 0 0 0 0 0 0 0.0317719 0 -0.0484345 0 0 0 0 0.0564945 -0.797297 0 0 -0.196332 0 -0.0148635 0 -0.0200483 0 0 0.1033 0 0.027239 0.0617571 -0.0023086 0.010958 0 0 -0.176417 0 -2.66072 0 0.974186 -0.164784 0 0.51078 0.131625 0.000476605 0 0.00827302 0 0 -0.094673 0 -0.514707 0.410344 0 0 0.0499459 0 0 0.31473 -1.18526 0.29718 0 -0.545618 0 0.0839808 -0.00420444 -0.0917142 -0.499623 -0.0189451 0.336136 -0.166172 -0.00866277 1.06721 2.24367 0.0151145 0 0 0 -0.244546 0.00237707 0 0 0 0 0.337416 -6.25095 0.644462 -2.55917 -0.0815529 0.113493 -0.462888 0.0805737 -0.0698856 0.0843566 -0.213826 0 0 0 0 0 0 +28 0 0.180002 0.00377013 -0.143963 -0.0611736 0.18233 0.107247 -0.5022 -1.88698 -0.24917 2.0986 0.178232 0.363114 0.231974 0.425923 0.0607121 0.280851 1.68155 0.636924 0.198073 0.0763437 0.396274 0.302782 -0.299477 1.11061 -0.286547 0.00836988 -0.16805 -0.0490078 -0.613757 0.100661 -0.356821 0.10396 0.774668 -0.254866 -0.0245851 0.0729212 0.124624 2.10952 0.551534 0.0189056 0.276392 -0.0328085 0.191843 1.92693 0.193007 0.0113859 -0.181389 0.25905 -0.373896 -1.43676 0.470193 4.03327 -0.143492 0.131513 0.0654416 0.576053 0.302001 0.1866 -1.17411 -0.166767 0.656011 -0.081561 -2.90261 0.321647 0.428283 -0.0368927 -0.532031 0.194537 0.181958 -1.961 0.438567 0.434081 -0.111077 0.380109 -0.0728182 0.813333 -11.0796 -8.35462 5.20469 -4.19372 0.505693 0.894438 -2.92047 0.7688 -0.601246 1.6329 -0.554621 -0.652345 0.779794 -0.737112 0.649022 0 0 0 0 0 -0.143963 -0.0611736 0 0 0 0 0 0 0 -0.0237594 0 0 0 0 -0.0835736 0 -0.00942268 0.492783 -0.188945 0 0 0.900124 0 0 0.124016 4.69739 0 0 0.130112 1.67899 0 0.141306 0 0.477836 0 0 0.069568 0 0 0.143291 0 0 0 0 0 0 0 -0.0743167 0 0 -0.240364 0 0 0 0 0 0 0 0.211398 0 -2.58563 0 0.0132144 0 0 0.0322808 0.283791 0 0.145607 0 0 0 -0.328148 0 0.215466 0 0 -0.00617529 0 0 0 0.00814278 0 0 0 0 0 0 0.18233 0 0.107247 0 0 0 0 0.0539495 -0.184293 0 0 0.0313978 0 0.00528473 0 0.00811384 0 0 0.0627081 0 0.0126638 -0.0107466 -0.0364938 0.0089678 0 0 0.0509382 0 0.216031 0 0.0166813 0.000862685 0 -0.152885 0.11064 -0.00459549 0 0.00900001 0 0 -0.00690647 0 -0.0969475 0.800595 0 0 0.0966626 0 0 0.18788 -0.178211 0.0507365 0 0.144827 0 0.187662 0.0414583 -0.0635818 -0.116349 -0.0330439 -0.0377057 -0.0662467 0.070382 -0.103926 -1.2171 0.00900138 0 0 0 -0.108162 -0.0168885 0 0 0 0 0.0546808 2.89613 -0.476242 1.76349 -0.0564686 0.0374077 0.123466 -0.0459607 0.0420156 -0.0446366 0.1065 0 0 0 0 0 0 +29 0 0.712197 0.748153 0.188621 0.0794154 -0.0967727 0.0114742 0.0712754 -0.0255796 0.323852 -0.413029 0.0815176 0.264179 -0.305585 0.809119 -0.0280419 1.70613 5.66456 -0.674498 0.146565 -0.280479 -0.41363 -0.874085 0.394509 -0.45165 0.325348 0.788461 0.0301461 -0.0224239 -0.408667 0.166236 0.467644 -0.0117842 -2.20001 0.155918 0.117037 0.0566687 -0.654724 -5.75726 0.384499 0.00203256 -0.362235 -0.653024 0.298661 2.26552 -0.250855 0.00692612 -0.0938016 0.589058 -0.326833 0.81782 -1.10476 -9.14191 -0.246397 0.225827 -0.17833 -0.428304 -0.544527 0.0920285 0.298597 0.217005 -0.00776231 0.0482806 -0.207482 -1.89841 -0.1694 -0.140264 0.51086 -0.724351 -0.236772 -1.14913 0.0336156 0.182296 0.42118 0.236624 0.115177 -2.69963 21.9694 4.8651 1.05639 6.06362 -5.1052 8.93223 0.830265 -1.23444 1.77212 -1.03157 0.722548 -0.710668 0.682772 -0.400062 0.306991 0 0 0 0 0 0.188621 0.0794154 0 0 0 0 0 0 0 -0.0273299 0 0 0 0 -0.0574396 0 -0.0187712 -0.316601 -0.074632 0 0 0.829929 0 0 -0.687522 0.89441 0 0 0.101978 -0.278846 0 -1.0762 0 0.324703 0 0 0.0369298 0 0 -1.68235 0 0 0 0 0 0 0 0.341142 0 0 0.353742 0 0 0 0 0 0 0 0.141637 0 -0.168267 0 0.0181007 0 0 0.0113352 0.556464 0 0.175822 0 0 0 3.8527 0 0.0958216 0 0 0.0725025 0 0 0 0.00321634 0 0 0 0 0 0 -0.0967727 0 0.0114742 0 0 0 0 -0.0151586 0.774583 0 0 0.0285995 0 -0.00113436 0 0.0155621 0 0 0.0370732 0 -0.0850408 -0.0259889 0.0034734 0.00544723 0 0 0.128431 0 5.40932 0 -2.10166 0.288483 0 -0.139853 -0.551441 -0.000842026 0 -0.00237207 0 0 0.0881486 0 0.950859 0.236104 0 0 0.0318051 0 0 0.0161718 0.799737 0.0501295 0 0.972863 0 -0.332345 0.0397738 -0.0575745 0.0411964 -0.0335249 0.37512 0.227226 -0.033414 -1.12011 -2.37654 0.0632781 0 0 0 0.103604 -0.00804579 0 0 0 0 -0.238616 14.238 -0.398841 2.84308 0.209504 -0.42942 1.85139 -0.0449878 0.019905 0.0246316 0.14682 0 0 0 0 0 0 +30 0 0.123552 0.303986 0.255286 0.107483 0.0628998 -0.0558254 0.586135 1.3216 0.438312 -1.96056 -0.0456424 -0.0155147 -0.413589 0.716904 -0.0809849 2.09512 7.24938 -0.67309 -0.428253 0.217376 -0.455606 -0.197503 0.533941 -1.21164 0.288837 0.654113 0.376388 0.0122949 0.270846 0.171937 0.632924 -0.09985 -0.327202 0.857302 0.1121 -0.00329874 0.571572 -0.97435 -0.152614 0.0509939 -0.490261 2.12648 0.059039 0.154415 -0.339515 0.0108772 0.0554496 -0.424489 0.0587268 1.14547 -0.599357 -1.52489 0.262004 -0.240131 0.0176815 0.0864323 -0.371512 -0.196646 1.13356 0.293702 -0.668922 0.156463 -2.02774 -0.28109 -0.706797 -0.225345 -0.558013 0.539593 -0.320455 1.94854 -0.346864 -0.0994869 -0.856706 -0.36609 -0.00493327 -2.42479 2.25056 3.3842 -1.33711 1.07815 -0.0587795 0.935131 2.8268 -1.01941 0.984108 -1.55373 0.977919 0.00740515 -0.262544 0.226751 -0.20346 0 0 0 0 0 0.255286 0.107483 0 0 0 0 0 0 0 -7.47269e-05 0 0 0 0 -0.0834977 0 -0.00647241 0.506007 -0.112234 0 0 -0.227773 0 0 0.290411 0.649155 0 0 -0.00478609 0.389658 0 0.660742 0 -0.253465 0 0 -0.0232624 0 0 1.33812 0 0 0 0 0 0 0 -0.209379 0 0 -0.412811 0 0 0 0 0 0 0 -0.017169 0 -0.467304 0 0.00723024 0 0 0.0173983 -0.462309 0 0.0482996 0 0 0 -3.0644 0 0.120268 0 0 -0.0576678 0 0 0 0.00483685 0 0 0 0 0 0 0.0628998 0 -0.0558254 0 0 0 0 0.00967598 0.208217 0 0 -0.280047 0 -0.0300074 0 0.00347108 0 0 -0.0255866 0 -0.0530592 0.0247977 -0.0323039 0.00177737 0 0 0.0204479 0 2.0303 0 -0.161596 0.0898791 0 0.229093 -0.0791701 -0.00441963 0 0.000241086 0 0 0.026359 0 0.56083 -0.141907 0 0 0.0147621 0 0 -0.0626526 0.0853167 0.0927888 0 0.56959 0 0.0565856 -0.0511581 -0.00536559 -0.24275 0.0951301 0.27087 -0.045438 -0.137371 -0.628858 -3.51614 -0.0598107 0 0 0 0.0819468 0.0794413 0 0 0 0 -0.0389294 2.6784 0.465276 0.450039 0.063102 -0.0548764 0.341482 0.103185 -0.0693623 0.0416357 0.029617 0 0 0 0 0 0 +31 0 -0.340284 -0.443988 -0.217214 -0.0914541 0.177005 0.081106 -0.689834 -2.1695 -0.372945 1.89591 0.0806017 -0.0865476 0.351909 -0.170238 0.0557851 -1.58152 -8.12367 0.776709 0.335262 -0.11868 0.459552 0.442766 -0.454313 0.952145 -0.484915 -0.425296 -0.231081 -0.024276 -0.636167 -0.0420525 -0.538535 0.0593741 1.27557 -0.467843 -0.120562 0.0242282 0.122447 3.77209 0.429673 -0.0328123 0.417147 -0.440581 0.10354 -0.310786 0.288882 -0.00519322 -0.124926 0.304399 -0.273193 -1.67325 0.0584854 4.56688 -0.195253 0.178953 -0.0359419 -0.47044 -0.00163912 -0.0128576 -0.888186 -0.249901 0.7473 0.144896 -1.54852 0.87 0.656857 0.0985201 -0.942492 0.0300403 0.272665 -1.32566 0.231857 0.224497 -0.0315139 -0.0267892 0.0402653 1.89706 -11.6693 -5.6009 2.81944 -3.24895 0.796639 -2.29143 -2.18737 0.367195 -0.542878 2.42057 -0.83208 -0.438092 0.807686 -0.559343 0.477889 0 0 0 0 0 -0.217214 -0.0914541 0 0 0 0 0 0 0 -0.014603 0 0 0 0 -0.0597715 0 -0.00201517 0.451821 -0.159562 0 0 0.648732 0 0 0.29344 2.42188 0 0 0.112738 1.29137 0 0.375668 0 0.448993 0 0 0.0755266 0 0 0.463788 0 0 0 0 0 0 0 0.04087 0 0 0.0303838 0 0 0 0 0 0 0 0.151502 0 -0.469916 0 0.0236634 0 0 0.0319319 0.13276 0 0.196095 0 0 0 -1.06211 0 0.179847 0 0 -0.0199874 0 0 0 0.00687648 0 0 0 0 0 0 0.177005 0 0.081106 0 0 0 0 -0.0326906 -0.208099 0 0 0.313467 0 0.0393309 0 0.0093954 0 0 -0.0166785 0 0.183004 -0.0390735 0.0510525 -0.00156152 0 0 0.0783862 0 -2.18683 0 1.85797 0.0229249 0 -0.359943 0.729892 0.00551703 0 -0.00158617 0 0 -0.0150747 0 -0.251367 0.443314 0 0 0.0516735 0 0 -0.0236191 0.971239 -0.104065 0 -0.506067 0 0.428213 -0.0325328 0.0775942 -0.0847584 -0.0109984 0.267299 -0.11224 0.0461786 -0.121101 -1.50069 0.0396486 0 0 0 -0.0637114 -0.0536451 0 0 0 0 0.00988484 -3.79677 -1.77367 2.46282 -0.485879 0.490638 -0.620844 -0.111413 0.106448 -0.154356 0.186159 0 0 0 0 0 0 +32 0 -0.234102 0.15425 -0.0369657 -0.0156126 -0.116126 0.0322931 -0.073771 -0.153386 -0.063642 0.705815 0.160677 0.349162 0.0597779 0.289311 0.268803 2.42835 6.2634 0.272131 0.641743 0.417957 0.143002 -0.0901531 -0.077173 0.277188 -0.0764594 0.873238 0.332868 -0.0423332 -0.0971555 0.0418773 -0.0916392 0.531105 -0.08268 0.774047 -0.040531 0.075888 1.02931 0.280538 0.0531935 0.0828745 0.0709835 2.07132 0.00403337 1.78881 0.0492969 0.0313778 -0.0982888 1.26656 -0.0302792 0.273935 0.152976 -10.6215 -0.615267 0.563902 -0.284981 -1.07413 -0.583474 0.16826 -0.337255 -0.042628 0.783986 0.0901729 0.982465 -0.849801 -0.511801 -0.206598 1.21659 1.16833 0.0465109 -0.802204 0.491915 0.0336063 -1.05441 0.614051 0.139054 -2.99084 -2.69692 -0.459612 -2.29723 0.718896 -1.05891 0.82271 -0.719548 0.295551 -0.190738 -0.292622 -0.141879 -0.0405471 0.121219 -0.0910085 0.0732757 0 0 0 0 0 -0.0369657 -0.0156126 0 0 0 0 0 0 0 -0.013457 0 0 0 0 -0.0252725 0 -0.0075763 -0.535675 -0.0347866 0 0 -0.198667 0 0 -0.313317 -3.19596 0 0 -0.0166007 -1.35507 0 -0.559478 0 -0.112401 0 0 -0.0107863 0 0 -0.976302 0 0 0 0 0 0 0 0.31604 0 0 0.360648 0 0 0 0 0 0 0 -0.0294354 0 3.00688 0 0.0197457 0 0 -0.0116565 0.172483 0 0.0119797 0 0 0 2.2358 0 0.045847 0 0 0.0420748 0 0 0 0.00149916 0 0 0 0 0 0 -0.116126 0 0.0322931 0 0 0 0 0.0686736 0.0355538 0 0 0.03536 0 -0.00141076 0 0.00939043 0 0 0.0595025 0 -0.0417783 0.0165611 0.00679614 0.00870908 0 0 0.0984295 0 2.17785 0 -0.236038 0.16433 0 0.21682 -0.140176 -0.00110631 0 0.00813016 0 0 -0.00265232 0 0.64398 0.413438 0 0 0.0602877 0 0 0.0484009 1.09598 0.192467 0 0.427492 0 0.259602 -0.0796438 0.00748107 0.153912 -0.0416329 0.444099 -0.112876 -0.0123435 -0.737009 -0.676641 0.0791692 0 0 0 -0.0333077 0.00319488 0 0 0 0 -0.0574767 2.92683 -1.09796 1.22871 -0.146817 -0.0541608 0.761966 -0.024686 0.0122512 0.0170633 -0.0865136 0 0 0 0 0 0 +33 0 0.437143 -0.242544 0.154477 0.0652437 0.0069154 -0.0663394 0.22696 0.572225 0.265955 -1.13944 -0.0508829 -0.635944 -0.249807 -0.507625 0.091218 -2.86535 -9.81042 -0.365446 0.353857 -0.0735917 -0.247355 0.0353222 0.322499 -0.720141 -0.00145482 -0.905917 0.430231 0.0219642 0.371272 -0.21229 0.382953 0.151974 0.269538 0.577087 -0.0411883 0.000697187 1.53004 0.995193 -0.324944 -0.0339982 -0.296634 2.99666 -0.069429 -2.62929 -0.206008 -0.013158 0.0855393 0.634413 0.202932 0.191812 -0.428844 2.02588 -0.316694 0.290255 -0.13175 -0.180076 0.470805 0.135008 0.715839 0.178139 0.0730229 -0.000687855 -1.33677 1.11068 -0.546415 0.116181 -0.374682 1.39214 -0.194365 0.906613 0.0132922 -0.269671 -1.39861 -0.290193 0.0589322 0.815144 -3.79227 1.1442 -0.639165 0.347778 0.617577 -2.04855 1.88825 -0.564377 0.125336 -0.210473 0.5929 0.317164 -0.456583 0.393664 -0.280017 0 0 0 0 0 0.154477 0.0652437 0 0 0 0 0 0 0 0.031486 0 0 0 0 0.0731818 0 0.0189851 0.700729 0.0820489 0 0 -0.0464958 0 0 0.540537 0.602235 0 0 0.00467444 0.895564 0 1.00631 0 0.0207062 0 0 0.0119398 0 0 1.81045 0 0 0 0 0 0 0 -0.197471 0 0 0.0216115 0 0 0 0 0 0 0 -0.0435391 0 -1.71634 0 -0.00519851 0 0 0.0256621 -0.619828 0 0.145899 0 0 0 -4.14605 0 -0.105103 0 0 -0.0780231 0 0 0 -0.00353598 0 0 0 0 0 0 0.0069154 0 -0.0663394 0 0 0 0 -0.0299665 0.298332 0 0 -0.0555753 0 0.00260849 0 -0.000704203 0 0 -0.0371647 0 0.122432 0.018201 0.027314 0.000492179 0 0 -0.00364989 0 -0.811643 0 0.796787 -0.088421 0 0.184196 0.227784 0.00490122 0 -0.00530354 0 0 0.0316035 0 -0.17928 -0.411816 0 0 -0.0238024 0 0 0.0931851 -0.0911589 0.149619 0 0.0645251 0 0.584076 -0.0282271 0.00600503 -0.475364 0.107645 0.580029 -0.210543 -0.101576 -0.338657 -2.07499 -0.0205175 0 0 0 -0.0155404 0.013729 0 0 0 0 -0.0721358 -2.81819 -0.110122 -0.108518 0.140847 -0.110223 0.00482553 0.0604145 -0.0401589 -0.00542137 0.023301 0 0 0 0 0 0 +34 0 0.568802 0.391619 0.349748 0.147717 -0.0426659 -0.112574 0.438669 1.00157 0.602144 -2.22088 -0.1631 -0.471511 -0.565584 -0.241296 -0.0364673 -0.192922 2.37115 -1.37657 0.0222228 0.0186235 -0.779128 -0.708198 0.730166 -1.22281 0.426592 -0.23755 0.323562 0.0595829 0.806004 -0.238879 0.867038 -0.130374 -1.78508 -0.00908518 0.0766142 -0.0229519 1.03054 -4.68538 -0.683213 -0.0822539 -0.671604 1.25022 -0.130311 -0.881665 -0.466419 -0.0565153 0.205113 -0.0845547 0.420392 -0.0869703 -0.672079 -0.724602 0.0239905 -0.0219876 0.0707504 1.67311 0.673497 0.180346 1.23438 0.403321 -0.00733422 -0.0200748 2.33145 -1.54461 0.372734 0.0722649 2.91774 0.625389 -0.440059 1.28701 -0.187122 -0.563958 -0.624347 0.182198 -0.0537385 -0.387507 18.0596 8.50855 -2.29344 6.20956 -2.44288 2.19486 3.02081 -1.04363 1.01394 -1.44629 1.34238 0.642553 -0.983972 0.846238 -0.607897 0 0 0 0 0 0.349748 0.147717 0 0 0 0 0 0 0 -0.0111202 0 0 0 0 0.0735959 0 0.000779058 0.138841 0.00594732 0 0 0.0650638 0 0 -0.51329 -0.0188615 0 0 0.0102307 0.260318 0 -0.738049 0 0.134117 0 0 0.026852 0 0 -1.0578 0 0 0 0 0 0 0 0.135066 0 0 -0.0185913 0 0 0 0 0 0 0 0.0456233 0 0.777161 0 -0.000420928 0 0 -0.00735409 0.291997 0 -0.108241 0 0 0 2.42243 0 -0.000292654 0 0 0.0455869 0 0 0 -0.000256306 0 0 0 0 0 0 -0.0426659 0 -0.112574 0 0 0 0 -0.0398103 0.554236 0 0 -0.290334 0 -0.0327501 0 -0.00511908 0 0 0.0472398 0 0.0948536 0.0207409 -0.00893056 0.00733238 0 0 -0.0723989 0 2.79051 0 -1.13709 -0.0421292 0 0.189937 -0.0851718 0.000253882 0 -0.00568432 0 0 0.0684588 0 0.316954 -0.253232 0 0 -0.0192599 0 0 0.0554316 0.0079656 0.047932 0 0.570729 0 0.19967 0.022657 -0.0418263 0.131812 0.00762093 -0.0294308 -0.172989 0.0275326 -0.795826 -2.18105 -0.0405077 0 0 0 0.0205194 0.0405581 0 0 0 0 -0.126476 8.71977 0.692576 0.972427 0.375032 -0.28266 0.443237 0.076018 -0.0551858 0.0675002 -0.059937 0 0 0 0 0 0 +35 0 0.2315 0.197083 -0.0702049 -0.165756 0.184175 0.154279 -0.928464 -2.79161 -0.720359 1.40434 -0.288865 -1.28507 0.0256505 -2.70285 -0.243116 1.53701 5.01133 0.457487 -0.301192 1.31943 0.131955 0.0276191 -0.0416366 0.415572 -0.916959 0.582248 0.0823104 0.153142 0.568883 -0.727598 -0.17654 -0.957574 0.00286056 0.364211 -0.421681 -0.0962623 0.0129012 -1.52441 -0.304174 0.717977 0.0625084 -0.135903 -0.146843 -3.69765 0.071119 0.301186 0.416165 -1.15696 0.204656 -0.283411 1.5767 1.5789 0.52681 -0.380669 0.643274 3.49133 1.38109 0.155688 -0.624499 -0.0988049 0.211141 -0.274474 -1.24011 4.13394 0.128258 0.160661 -1.8485 0.0325967 0.393092 -0.577677 -0.134979 -0.412291 0.239618 0.975557 -1.14848 0.876004 7.2611 -2.52241 7.77194 -1.40614 1.43445 0.883849 -0.872081 1.29109 -2.49459 5.03333 -0.0629656 0.202526 -0.402348 1.18668 -2.40796 0 0 0 0 0 -0.0702049 -0.165756 0 0 0 0 0 0 0 -0.000665475 0 0 0 0 -0.00118391 0 0.00199186 0.11072 -0.0350287 0 0 0.0236832 0 0 0.126058 0.534021 0 0 0.00955709 0.203048 0 0.223452 0 -0.0129989 0 0 0.000205807 0 0 0.30323 0 0 0 0 0 0 0 0.00926595 0 0 0.0700599 0 0 0 0 0 0 0 -0.0244661 0 -0.0651072 0 0.00108755 0 0 -0.0103225 -0.101734 0 -0.00868855 0 0 0 -0.721529 0 0.0397929 0 0 0.0118395 0 0 0 0.0155422 0 0 0 0 0 0 0.184175 0 0.154279 0 0 0 0 -0.490746 -0.503473 0 0 0.444192 0 0.0506944 0 0.0124181 0 0 0.147803 0 -0.832655 -0.167126 0.201823 0.0631889 0 0 0.0888474 0 -0.106482 0 -2.87585 -0.492545 0 -1.08204 -1.51208 0.0242464 0 -0.0792464 0 0 -0.0452861 0 -0.39615 0.83803 0 0 0.181318 0 0 0.0658232 1.98664 0.323101 0 -0.284776 0 1.44153 -0.0958144 -0.00225875 -0.457401 0.205901 1.0825 -0.497402 -0.144593 0.370776 4.0473 -0.0480707 0 0 0 -0.0648335 0.0692555 0 0 0 0 0.0716129 10.1093 -2.61292 5.72777 0.224512 -0.582674 2.03225 -0.113159 0.171151 -0.373701 0.765637 0 0 0 0 0 0 +36 0 0.0466962 0.258278 0.112197 0.0528537 -0.183698 -0.366846 0.698201 2.84627 0.362242 -2.20376 0.0878485 -0.28968 -0.0585853 -1.2879 -0.0488517 1.27878 7.78463 -0.632636 -0.0292905 -0.228948 -0.203194 -0.241234 0.0693576 -0.748369 1.13014 -0.0549971 0.0236347 0.633829 -0.141773 -0.353275 0.215398 -0.668498 -1.06617 0.285147 0.50745 0.0544014 0.492575 -3.90843 0.691119 -0.553759 -0.200738 1.81864 0.264625 -1.03494 -0.637114 -0.881783 0.49516 -0.441242 -0.601039 0.637991 -1.36673 -2.991 0.122301 0.0424418 -0.0535154 1.91835 0.291768 0.196983 0.968889 0.345994 0.507958 0.177979 2.67983 -4.20573 -1.34043 0.570475 2.71316 0.868629 -0.204715 1.12984 -0.228721 0.48006 -0.722103 0.874014 0.00390033 -2.49885 15.8418 7.87873 -5.22533 6.30697 -4.04473 3.56093 1.89741 -2.07776 3.41866 -5.52017 0.564073 -0.913993 1.41114 -1.59799 0.600096 0 0 0 0 0 0.112197 0.0528537 0 0 0 0 0 0 0 -0.0255799 0 0 0 0 -0.0132329 0 -0.00599593 -0.194207 -0.10933 0 0 0.154523 0 0 -0.239293 -0.146501 0 0 0.0138055 -0.257 0 -0.435372 0 0.0783152 0 0 0.00835099 0 0 -1.13894 0 0 0 0 0 0 0 0.126468 0 0 -0.00249026 0 0 0 0 0 0 0 -0.0454294 0 -0.280354 0 0.0292281 0 0 -0.0023467 -0.0414465 0 0.00462167 0 0 0 2.42056 0 0.176953 0 0 0.221523 0 0 0 0.0393784 0 0 0 0 0 0 -0.183698 0 -0.366846 0 0 0 0 0.205625 0.428821 0 0 -0.273372 0 -0.0371732 0 -0.0562718 0 0 0.321399 0 0.597509 0.100294 -0.0528974 0.027702 0 0 -0.448172 0 1.76043 0 1.39001 -0.736047 0 0.827047 0.767299 -0.00719304 0 0.0320836 0 0 0.0387243 0 -0.953183 -0.0147053 0 0 0.000574216 0 0 0.0863791 0.780851 -0.0154511 0 0.990245 0 -0.142869 0.00446724 -0.0229521 0.195103 0.0134392 -0.0242797 0.296089 -0.0853538 -0.747744 0.256155 -0.0192332 0 0 0 -0.0375408 0.0892853 0 0 0 0 -0.0453044 -5.46099 0.378164 -2.24122 -0.268656 0.219644 -0.665315 0.0928168 -0.0786989 0.081245 -0.297517 0 0 0 0 0 0 +37 0 0.555859 0.0316523 -0.0261373 -0.088938 0.165142 0.0670768 -0.954073 -2.94307 -0.369498 1.1189 -0.160152 -0.482191 0.00729087 -1.88711 -0.178134 -1.11519 -2.30981 0.229944 -0.176581 0.412905 0.0582821 -0.00844108 -0.0151397 0.255428 -0.608389 -0.320788 -0.00501817 0.23633 0.609893 -0.389275 -0.0742952 -0.803017 -0.22263 -0.0967926 -0.196465 -0.0520204 0.193379 -1.39743 0.041375 0.408619 0.0103239 0.492656 -0.0302802 -2.61519 -0.0407343 0.0189049 0.532163 -0.696991 0.0392597 -0.614122 0.562594 -2.73328 0.360971 -0.202393 0.6085 2.3961 0.78828 0.211854 -0.411652 -0.0126343 0.462469 -0.903696 -1.00555 1.51002 0.0885204 0.211284 -0.493677 0.365611 0.200726 -1.2486 0.0792348 0.0912853 -0.0809991 0.747432 -1.58588 -1.15146 5.13325 -3.15978 8.14545 -0.425069 0.750673 -0.101031 -0.60706 0.726792 -1.69189 3.96247 0.0360644 -0.0571919 -0.183776 0.494504 -2.58155 0 0 0 0 0 -0.0261373 -0.088938 0 0 0 0 0 0 0 -0.00806071 0 0 0 0 -0.0146765 0 -0.00119831 0.0412957 -0.0724795 0 0 0.0185409 0 0 0.0437159 0.000877971 0 0 -0.00115865 0.0422931 0 0.0639303 0 -0.00749781 0 0 -0.00177425 0 0 0.0195575 0 0 0 0 0 0 0 -0.032452 0 0 -0.143499 0 0 0 0 0 0 0 -0.0475526 0 -0.65471 0 0.0137095 0 0 0.0141928 -0.185413 0 0.125631 0 0 0 -0.098778 0 0.0999089 0 0 0.0487595 0 0 0 0.00544179 0 0 0 0 0 0 0.165142 0 0.0670768 0 0 0 0 -0.521052 0.00863096 0 0 0.431286 0 0.0569463 0 -0.0120808 0 0 0.148578 0 -0.0571044 -0.154882 0.151628 0.0357446 0 0 -0.10673 0 -2.20304 0 -1.29076 -0.541077 0 -1.18376 -0.385746 0.0195139 0 -0.0732699 0 0 0.00938126 0 -1.60252 0.734813 0 0 0.109872 0 0 0.0125317 0.0249471 0.334738 0 -0.789527 0 1.13798 0.0915474 -0.0993756 -0.646989 0.245381 0.689923 -0.461941 -0.162228 0.499018 1.68091 -0.0555493 0 0 0 -0.0640812 -0.0400082 0 0 0 0 -0.03763 6.28961 -1.907 5.06438 0.309159 -0.443601 1.04366 -0.156075 0.170252 -0.281571 0.774685 0 0 0 0 0 0 +38 0 0 0 0 0 0.389276 0.123289 0.371813 0.459603 0 0 0.173854 0.700539 0 0.227828 0.0775508 0 0 0 0.116431 -0.653762 0 0 0 0 0.226411 0 0 -0.326122 0.414575 0.197546 0 0.195738 0 0 0.115106 0.0813792 0 0 -0.258812 0.557576 0 0 0.0454944 0.764947 0 0.225571 -0.468146 0.518062 -0.0500955 -2.61355 0.139616 0 -0.0675242 0.0357602 -0.215682 -0.224912 0.219458 0.141646 0 0 -0.125095 -3.43315 0 0.709937 0.400721 0.116834 0 0 0 0 -0.0131111 -0.236536 0 -2.58526 1.01555 0 0 0 -1.15474 0 -0.0769406 0.906457 0 -0.12564 -0.66747 1.59075 0 -0.0569569 -1.1331 1.95053 -0.99557 0 0 0 0.268581 0.0285151 0 0 0 -0.0180361 0 0 -0.00348483 0 0 0.0050886 0 0 0 0 -0.0792083 0 -0.00735529 0 0.0158446 0 -0.0641573 0.127631 0 0.00427059 0 0 0.251494 0 0.0192808 0 0 0 0 0.0375425 0.0319631 0 0.00537692 0 0 0 0 0 0 0 0 0 0 -0.0479808 0 0 0 0 0 0 0 0 0 0 0.127059 0 0 0 -0.0101572 0.0458806 0 0.0272807 0.0530057 0 -0.0841975 0 0.132651 0 0 0 -0.00227395 0 0 -0.238884 0 0 0 -0.0646642 0 0 0 0 -0.202061 0 0.389276 0.268581 0.123289 0.0285151 -0.496608 -0.0873961 0.144537 0.743263 0.140744 -0.0150791 -0.0165744 -0.277695 -0.00138195 -0.0427007 0.0156208 0.0133664 -0.0198145 -0.152975 -0.0832589 -1.11305 -0.205565 0.138233 -0.152249 0.0196464 -0.0564616 0.0375018 0.109693 -0.00747523 2.70009 -0.181799 0.232204 0.481607 0.00158072 0.993615 -0.265832 -0.018978 -0.00256594 0.0923398 -0.0289675 0.378169 0.0109546 0.00115766 1.09713 -0.656711 -0.00322117 -0.0169628 -0.026926 -0.111146 0.179728 -0.779497 1.57903 -0.0664698 0.0232093 1.44784 -0.0128408 -0.335577 -0.0352987 -0.0200123 0.178027 -0.118299 -0.301446 0.141172 -0.0638114 -0.0139016 1.87213 -0.116196 -0.951384 -0.0136382 -0.0147751 0.460554 0.0925744 0.0163457 0.0238042 -0.0308625 -0.0605107 -0.0425843 -2.57316 1.47557 -4.77454 0.824859 0.317584 -2.37077 0.068736 0.0237273 0.183619 -1.51663 0.0299539 0.0624558 0.0124556 0.260041 -0.950038 0 +39 0 0 0 0 0 -0.452555 -0.349512 0.386406 2.70173 0 0 -0.244574 -0.850091 0 -1.01016 -0.1107 0 0 0 -0.260737 -3.49095 0 0 0 0 0.422665 0 0 0.0572717 0.630041 -0.236143 0 -0.430429 0 0 0.0638237 -0.0644678 0 0 -0.00651378 -2.0835 0 0 0.0436199 -3.69447 0 -0.948807 -0.0432743 -1.11061 -0.0615181 -0.305156 0.0569094 0 0.331373 -0.250414 0.630465 -1.0438 0.499218 0.0458634 0 0 0.917782 3.00502 0 0.83988 0.288715 1.21648 0 0 0 0 0.214257 0.190651 0 -0.691329 -0.308514 0 0 0 -5.68442 0 -0.0220689 -4.406 0 -0.192797 -0.1703 -5.93851 0 -0.156846 0.395734 0.137929 -6.12245 0 0 0 -0.0281126 -0.0130047 0 0 0 0.00637464 0 0 0.00244794 0 0 -0.00170172 0 0 0 0 0.0116525 0 0.0037159 0 -0.0190007 0 -0.0328867 -0.116197 0 -0.00285495 0 0 -0.142245 0 -0.0126223 0 0 0 0 -0.0150738 -0.0207791 0 -0.00295418 0 0 0 0 0 0 0 0 0 0 0.0256078 0 0 0 0 0 0 0 0 0 0 0.0337427 0 0 0 0.0430129 -0.0640923 0 -0.126613 0.0972442 0 0.0309572 0 0.00986106 0 0 0 0.0288838 0 0 0.130986 0 0 0 0.0102163 0 0 0 0 0.129453 0 -0.452555 -0.0281126 -0.349512 -0.0130047 -0.0218654 -0.0245709 -0.141528 0.370407 -0.270164 0.0100076 0.00253295 0.406214 0.000961333 0.0395737 -0.0143703 -0.0179635 0.00748698 0.084787 0.513832 0.360822 0.316157 0.232456 0.201764 0.0782035 0.0647131 0.0265522 -0.208002 0.0113197 1.40799 -0.0948348 1.81694 -0.185931 -0.00134042 1.45334 0.722804 0.0183118 -0.000464785 0.0727873 -0.00499504 0.57651 -0.0227261 -0.00647924 -0.0113109 0.871086 0.000611659 -0.00979152 0.123744 0.0671043 0.00956532 0.158675 2.48923 -0.200756 -0.0297694 0.384109 0.0308204 0.741697 -0.111448 0.204558 0.00707952 -0.0205391 -0.691441 -0.149692 0.137601 -0.289075 2.4766 0.0476963 0.0379432 0.00233364 0.175557 -0.179956 -0.0848508 0.02342 -0.024148 0.0695632 -0.0116082 0.0412061 -20.1343 -2.74421 -7.02579 -0.647669 0.157521 -2.37798 -0.0627987 -0.0782225 -0.266685 -1.12183 -0.0166021 0.0381549 -0.116349 0.0711681 -0.519105 0 +40 0 0 0 0 0 -0.499572 -0.326278 1.06792 3.95898 0 0 0.0532942 -0.265007 0 0.071667 0.034579 0 0 0 -0.0515522 -4.45231 0 0 0 0 0.759132 0 0 0.11716 6.03067 0.0803286 0 0.228256 0 0 0.223924 0.0127044 0 0 -0.103821 -0.424962 0 0 0.0221861 -3.10241 0 -0.115716 1.20422 -0.0786385 -0.0118879 -0.433036 0.0906674 0 -0.00905651 -0.080207 0.589917 2.01657 -0.242432 -0.00810997 0 0 1.48869 1.87168 0 -0.744786 0.27462 -0.320476 0 0 0 0 0.835539 0.376476 0 3.45766 -0.407298 0 0 0 -9.15366 0 -0.367409 -10.741 0 -0.289377 -0.974488 -11.0543 0 -0.025609 -1.71766 2.42338 -19.3034 0 0 0 0.0179859 0.000875953 0 0 0 -0.0183719 0 0 -0.00136973 0 0 -0.00055866 0 0 0 0 -0.0282474 0 -0.00174452 0 -0.0136238 0 -0.21787 -0.282826 0 0.00077767 0 0 0.0627332 0 -0.0177134 0 0 0 0 -0.0777465 0.00745774 0 -0.00506504 0 0 0 0 0 0 0 0 0 0 -0.00111573 0 0 0 0 0 0 0 0 0 0 -0.000980595 0 0 0 -0.00932271 0.0240561 0 0.0432108 0.0316969 0 -0.0403374 0 -0.0224321 0 0 0 0.0155496 0 0 -0.0580437 0 0 0 -0.0090538 0 0 0 0 -0.0560774 0 -0.499572 0.0179859 -0.326278 0.000875953 -0.824092 -0.272168 -0.00335939 0.976114 -0.312046 -0.000140281 0.0249592 -0.202865 -8.30014e-06 -0.012987 -0.000267617 0.000269454 -0.0157114 -0.00314979 -0.389218 -0.839497 0.179376 0.756541 -0.0725936 -0.0519669 -0.110795 0.569774 4.04254e-06 -0.020744 0.205849 -0.195489 1.74822 -0.0649509 -1.53472e-05 3.35758 0.637436 -0.00473187 0.000243261 0.245181 -0.0173951 3.21218 -0.0207193 0.100002 -0.253711 -0.539077 0.00211732 -0.0165416 0.010128 -0.128295 0.0347642 1.76142 1.59289 -0.505344 0.0262862 1.51647 0.00218069 0.241234 -0.0513665 0.265246 0.395936 -0.74282 -1.25596 0.0680657 0.450941 0.132045 0.155654 0.0353463 0.33465 -0.0370341 -0.565023 -0.161902 0.0195411 0.0167286 -0.000639854 0.195406 0.180884 0.0070882 -19.3729 0.649201 -17.952 -0.153707 1.50021 -15.6963 0.020717 0.20653 -0.680228 -5.5477 0.000616758 0.0494164 -0.527403 0.673737 -4.47132 0 +41 0 0.344009 -0.474983 0.0179099 -0.162161 0.295169 0.0903475 -0.384222 -2.02337 -0.0336068 0.363156 0.0261396 -0.990115 -0.0175917 -0.123141 0.00209406 -3.92561 -1.51952 0.168034 -0.018851 0.344344 0.0356036 1.49403 0.0189595 -0.0981594 -0.361605 -2.61768 0.143764 -0.0201472 -0.326331 -0.122276 0.0571007 0.0535329 0.826535 0.157726 -0.0483561 0.000832765 0.882361 -2.30529 -0.0178686 0.0402445 -0.0630261 2.49163 -0.0201524 -0.98595 -0.116954 0.00508826 -0.0867348 0.190315 0.15694 -1.71548 -0.0351327 17.2529 -0.00601524 -0.0680487 -0.232946 8.54561 0.866047 0.0624943 0.234345 0.152149 -1.39392 -0.272437 -2.59158 -0.793712 0.199255 -0.426178 -0.179567 0.393544 -0.0450447 0.400513 -0.298613 -0.193109 -1.4219 0.673837 0.242485 -3.10817 11.7688 -0.522441 8.3765 0.604352 -0.28392 7.21614 -1.1025 0.665269 -0.29891 3.32843 0.084358 -0.00183215 0.164095 -0.0160032 0.258965 0 0 0 0 0 0.0179099 -0.162161 0.00707729 0 0 0 0 0.00109369 0 -0.0582848 0 0 0.00656897 0.0233509 -0.0697686 0 -0.0105946 0.0641922 -0.465242 0 0 -0.191778 0.00153903 0 -0.023236 0.386657 0 0 -0.0394695 0.189431 0 -0.0706902 0 -0.0954249 0 0 -0.015385 0 0 -0.0809134 0.0170736 0.105237 0 0.109533 -0.0417677 0 0 0.00193264 0 0.0100014 -0.265446 0.00398475 0 0 -0.0113411 -0.0151556 0 0.030739 -0.152341 0.0137998 1.26043 -0.0911578 -0.0813863 0 0.0434069 -0.165127 0.325287 -0.0357345 0.0190905 0 0 0 1.00543 -0.199773 1.59988 0.0430491 -0.0662631 0.194979 -0.00745014 0.010566 -0.0408313 0.331755 0 0 0 0 0 0 0.295169 0 0.0903475 0 0 0 0 0.0499942 0.0209846 0 0 -0.183543 0 -0.0313637 0 0.00122562 0 0 0.062388 0 0.0166291 0.0204924 -0.0405804 0.00788819 0 0 -0.00750701 0 1.93131 0 -1.1173 0.0384196 0 0.025965 -0.0699639 -0.00570128 0 0.00818418 0 0 0.0196021 0 0.351825 0.500454 0 0 0.0532763 0 0 0.0380144 -0.561286 -0.128545 0 -0.0159355 0 -0.647762 -0.0323611 -0.0219166 -0.130937 0.056174 0.307643 0.0535585 -0.0971645 0.575423 4.17346 -0.0797491 0 0 0 0.0244348 0.0454102 0 0 0 0 0.00558568 5.08115 0.0180044 2.12095 0.102098 -0.0514636 1.17645 0.00929263 0.014267 0.0608626 0.0460789 0 0 0 0 0 0 +42 0 1.13192 0.29699 0.0633248 0.127521 -0.0213763 -0.0137977 -0.560681 -1.20921 0.455705 -1.48057 -0.132314 -4.3958 -0.0158247 -1.57167 -0.0167294 -2.89203 -7.23127 -0.0179595 -0.111378 0.442493 0.0341199 -0.825122 0.0208768 -0.311275 -0.86638 -0.469696 0.258298 0.0320999 0.555135 -0.870626 0.0984457 -0.120069 -2.83937 2.00909 -0.30048 -0.0187235 0.672237 -10.4719 -0.443141 0.0503697 -0.061539 3.33073 -0.0731791 -7.71666 -0.234861 0.00407259 0.129379 -0.683639 0.10443 -0.686427 0.0697704 27.9641 0.124346 -0.0659261 0.110769 10.7339 1.12579 -0.000195226 0.166644 0.0408485 -0.306876 -0.124186 4.48198 1.51072 0.918065 0.141217 0.395869 -0.731607 -0.179085 1.2707 0.693825 0.106978 -1.34458 0.467172 -0.258623 -2.03161 46.6091 9.00791 4.31145 7.98177 -3.68689 7.36065 1.41417 -0.408376 0.528489 2.00489 0.169403 0.143196 -0.107018 0.215116 -0.440537 0 0 0 0 0 0.0633248 0.127521 -0.00773143 0 0 0 0 -0.00073808 0 -0.0294953 0 0 -0.00171022 0.0112133 -0.0292792 0 -0.00823812 0.0595366 -0.0836287 0 0 -0.0742098 0.0007885 0 -0.0366373 1.17947 0 0 -0.0152715 0.335706 0 -0.135543 0 -0.0788822 0 0 -0.0118564 0 0 -0.882348 -0.0109855 -0.0257353 0 -0.114872 -0.0783737 0 0 -0.203003 0 -0.0134553 -0.308369 0.0161431 0 0 0.00175903 0.0154315 0 0.0201286 0.0448322 -0.0121734 0.323284 -0.00958052 -0.0317232 0 -0.0507602 -0.117891 0.26814 -0.0185342 -0.244652 0 0 0 3.41934 0.140408 0.487556 0.0391253 -0.0455306 0.4356 0.00175168 -0.00419406 0.0120814 0.128655 0 0 0 0 0 0 -0.0213763 0 -0.0137977 0 0 0 0 -0.0315468 0.305795 0 0 -0.175222 0 -0.0379611 0 0.00470764 0 0 -0.0416784 0 0.0101264 -0.00321217 -0.0362337 -0.00532765 0 0 0.0117655 0 0.988514 0 -0.330204 -0.104918 0 0.100932 -0.102043 -0.00903218 0 -0.0065001 0 0 0.0515335 0 -0.0450688 -0.226628 0 0 -0.0269996 0 0 -0.0288974 1.39918 0.0567247 0 -0.048926 0 -0.640729 0.0363948 -0.0967778 0.0217773 -0.0171525 -0.1092 0.804725 -0.0475103 -0.257044 -1.46329 0.0309507 0 0 0 0.0123363 0.0430822 0 0 0 0 -0.0506633 8.92179 2.3672 -1.86509 1.25323 -0.695347 0.232726 0.196331 -0.137664 0.129831 0.125513 0 0 0 0 0 0 +43 0 1.11769 0.331653 0.0630915 0.29013 -0.0819575 -0.0159877 -0.0677654 0.0874157 0.734255 -1.3733 -0.0388397 -1.2228 -0.00722887 -0.692705 -0.0039278 -0.134494 -0.406458 -0.150485 -0.0700033 -0.355448 -0.0255152 -0.478004 0.0195284 -0.394267 -0.204515 0.242749 0.0209262 0.00931568 0.283425 -0.247859 0.116431 -0.00997492 -1.45189 0.444883 -0.0649488 -0.00590355 -0.188775 -5.94824 -0.246543 -0.100255 -0.013264 0.598401 -0.0410864 -2.6242 0.0534018 -0.021575 0.049362 -0.344833 0.0244842 -0.471332 0.204431 19.4381 0.406389 0.110054 -0.00248324 4.54682 0.82151 -0.410162 -0.0465007 -0.0293502 1.02547 0.596393 3.55373 0.620338 0.751835 -0.520759 0.0349289 -1.50989 -0.228753 -0.52065 0.91223 0.0953668 0.0756976 -0.481458 -0.14168 1.20476 27.4534 5.55677 2.1778 4.45487 -1.93991 5.36117 1.11958 -0.592045 1.65488 -0.95169 -0.0385182 0.0926936 -0.123405 0.117881 -0.224917 0 0 0 0 0 0.0630915 0.29013 0.00724972 0 0 0 0 0.00122452 0 -0.0090208 0 0 0.0045368 0.0159462 -0.00596955 0 -0.00362691 0.0212385 0.022709 0 0 -0.289169 0.00116001 0 -0.00852133 0.633477 0 0 -0.0318894 0.102077 0 -0.0309931 0 -0.0889869 0 0 -0.0112957 0 0 -0.231831 0.0168226 0.0590338 0 0.098666 0.0433294 0 0 -0.223913 0 0.016159 0.273358 -0.0257507 0 0 -0.0106998 -0.0111302 0 0.0271549 -0.155576 0.0175478 -0.490609 -0.0362908 -0.0271046 0 0.0390099 0.0542762 0.0514301 -0.00531719 0.0911624 0 0 0 -0.431077 -0.0817336 -0.359568 0.0127818 -0.00788887 -0.127682 -0.00629546 0.0073509 0.000135802 -0.0776037 0 0 0 0 0 0 -0.0819575 0 -0.0159877 0 0 0 0 0.0465556 -0.271408 0 0 -0.688704 0 -0.0969446 0 -0.00780538 0 0 0.0984706 0 -0.075802 0.0473314 -0.104686 0.00935421 0 0 -0.0595079 0 -0.22019 0 -1.87154 -0.117224 0 0.467945 -0.338742 -0.0158953 0 0.00406594 0 0 -0.0427095 0 -0.338627 0.60081 0 0 0.0445344 0 0 0.267992 0.526296 0.240299 0 -0.561071 0 -0.469626 -0.0469339 -0.162713 0.0696964 -0.0933008 -0.4614 0.303816 0.0108186 0.50991 1.09259 -0.0246151 0 0 0 -0.0929768 0.00953644 0 0 0 0 0.031065 17.4951 5.63523 -3.17929 1.50788 -0.777328 0.734504 0.403901 -0.290281 0.496969 -0.499626 0 0 0 0 0 0 +44 0 0 0 0.10968 0.395433 0 0 0 0 -0.0264801 -1.7645 -0.136464 0 -0.00460693 0 0.185156 0 0 -0.0829252 -0.0333484 0 0.00574065 0 0.165663 -0.254835 0 0 0.160288 0 0 0 0.175613 1.05836 0 0.863058 0 -0.0579519 0.842352 0 0.179345 0 -0.125731 3.71857 -0.211312 0 -1.23827 0 0 2.05164 0.549093 0 0.0459174 0 0.113966 1.10842 -0.403975 0 -0.970638 -1.0955 0.0322435 -0.0811643 0 0 0 0 -0.471457 0 0.298559 0.686043 -0.1982 0.506302 0.441902 0.484852 1.31388 0 0 0.251957 0 3.7163 0 0.459077 0.466799 0 1.13444 -0.659734 1.2321 0 2.92009 -1.13883 1.13483 -1.18311 0 0 0.151685 0.0143799 -0.178512 0.000240669 0.10968 0.395433 0.0146551 0.118988 -0.227915 -0.000236771 0.0172423 0.00338152 -0.0137003 -0.105918 0.0133908 -0.00312575 -0.00228221 0.0522527 -0.0689585 0.198836 -0.0156309 0.455948 -0.444054 0.000850139 0.824048 -0.171793 0.00135053 -0.00814512 0.223201 4.10102 0.0157861 -0.00472748 0.0570261 1.59956 -0.0331498 0.5161 -0.0185265 -0.278344 -0.00490176 -0.0471149 0.00208449 -0.0366409 -0.00115559 1.72124 0.0792211 0.0951816 -0.00246312 0.284696 -0.00994563 0.00283682 -0.00771803 0.176284 0.0821787 0.0342654 0.767274 -0.00394394 -0.0408508 0.0660731 0.0286954 -0.0189809 -0.147143 -0.0144574 1.06766 -0.103403 -6.1595 0.236445 0.0424181 -0.0410325 -0.33389 0.03323 -0.894882 -0.214272 -0.17463 -0.0216497 0.451984 0.00849084 -3.90487 0.258698 1.10944 0.183874 -0.0321136 -0.232024 0.0226555 0.00805089 -0.0931624 0.0607946 0.00374733 0.000945728 0.00320888 -0.0370515 -0.00392749 0 0 -0.178512 0 0.000240669 0 0 -0.586035 0 -1.19286 -0.0723717 0.0105998 -0.859682 -0.0112912 -0.144949 -0.0962289 -0.0743489 0.0294473 -0.423512 0 0 0 0 -0.130507 0 0.0856617 0 -0.453192 0 0 -0.0595897 0 0 -0.0148438 0 0 0.00181387 -0.00448484 0 -0.0183745 0 -0.213228 0 0 0 0.00130598 -0.0102459 0 0 0.0792834 0 0 0 -0.128975 0 0.200497 0 0.335952 -0.0927582 0.265069 0 0 0.167898 0.0444279 1.44673 0 0.227139 0 0.148306 0 -0.019821 -0.151031 0.056806 -0.08032 -0.106307 -0.00820982 0.808322 0 5.40464 0 2.29433 -0.313927 0 1.18308 -0.320837 0.276252 0 0.88273 -0.360636 0.239421 0.0197802 0 0 +45 0 0 0 -0.279898 -0.218791 0 0 0 0 2.88035 1.64663 -0.710204 0 0.742446 0 -0.351273 0 0 0.575833 -1.76146 0 0.40078 0 -0.237442 0.905056 0 0 -0.999276 0 0 0 0.603461 -0.142949 0 -1.83247 0 -0.310801 -2.96595 0 -3.18232 0 1.26037 -5.66575 -1.53281 0 2.31892 0 0 -1.58781 3.69473 0 2.62248 0 1.77563 -0.593403 -0.648663 0 -1.96726 -1.30366 -1.35834 -1.07085 0 0 0 0 0.544519 0 -0.753571 -1.98841 -4.2673 -2.2564 -0.296995 -2.52151 3.35538 0 0 1.22114 0 -1.73079 0 -2.93432 3.01273 0 -5.60216 4.52907 -2.22292 0 -7.19309 7.58927 -4.60241 4.25374 0 0 0.00758076 0.00674921 0.102493 0.0436266 -0.279898 -0.218791 0.0280468 0.00547414 -0.191634 -0.000562669 0.000333622 0.022992 -0.0626525 0.0909758 0.00560399 -0.00631619 0.0119728 0.135512 0.222134 0.0282775 0.0535116 -2.14117 0.431178 0.000534714 0.0479212 -3.7961 0.0112883 -0.00101247 -0.991355 -5.9906 0.174701 -0.0343128 -0.415448 -3.52022 -0.0319132 -1.92886 -0.0178398 -2.07903 0.00853544 -0.393006 -0.218579 -0.0632569 -0.00553762 -3.73956 0.536823 0.190918 -0.00278769 0.775479 0.844877 0.0934195 -0.0260402 -1.37051 0.0409999 -0.0670275 -0.914505 0.204947 -0.00644162 0.0341301 -0.0309054 -0.126928 -0.159348 0.156237 -1.17707 0.208309 -4.61635 0.212285 0.158746 0.0679839 0.248956 0.342009 -3.16749 1.10104 -0.290802 -0.130971 0.132369 0.013393 8.48372 1.20666 -1.80512 0.272925 1.04973 0.267025 0.0500407 0.123651 -0.455984 0.00784307 0.00517376 0.0233589 -0.112387 0.183216 -0.0434646 0 0 0.102493 0 0.0436266 0 0 0.230002 0 -0.623786 -0.0642988 0.00883454 0.343629 -0.0120838 0.0188986 0.0481698 -0.0307795 0.0143962 -0.318028 0 0 0 0 0.179977 0 0.185567 0 -0.0464903 0 0 -0.0628869 0 0 0.0065563 0 0 0.036067 0.000199779 0 -0.0028937 0 -0.0896532 0 0 0 -0.000413313 -0.00643371 0 0 0.162542 0 0 0 -0.105029 0 0.128007 0 -0.718915 0.238407 -0.563241 0 0 -0.531793 0.47685 0.341422 0 0.119384 0 0.0280106 0 -0.0298357 -0.320043 0.122458 -0.0226845 -0.0709534 -0.0636243 0.458277 0 -0.309659 0 0.624012 0.656981 0 -0.342239 0.684252 -0.50859 0 0.475506 0.0507657 -0.266166 0.225808 0 0 +46 0 0 0 -0.0965119 -0.0763895 0 0 0 0 0.918428 -0.00303088 0.102066 0 0.304726 0 -0.0331261 0 0 0.0239174 -0.187546 0 0.0727289 0 -0.0687758 0.190154 0 0 -0.760598 0 0 0 0.423983 0.452105 0 -1.70869 0 -0.0355374 -2.64008 0 -0.320507 0 0.330808 -6.05675 -0.17161 0 -0.311097 0 0 0.399769 0.597662 0 0.100094 0 0.8545 0.45842 -0.585703 0 0.518846 -1.00914 0.143651 -0.110773 0 0 0 0 0.691423 0 -0.728837 -3.11898 -2.99006 -0.00683174 0.332789 -0.460774 1.02112 0 0 2.41241 0 -0.93073 0 0.595786 -0.148607 0 -0.778561 0.724198 0.097166 0 -0.156129 0.631529 0.876129 -0.065471 0 0 0.0371394 0.00384188 0.0946707 0.0261346 -0.0965119 -0.0763895 0.0242634 0.00907555 -0.159692 -8.72954e-05 -0.000281212 0.0189352 -0.0122741 0.0417885 0.00354136 -0.00109324 -0.00234131 0.0163181 0.160509 0.0496604 0.0257885 -1.05695 0.256253 0.000234355 0.0221682 -1.43123 0.00113513 -0.00655948 -0.475349 -4.14368 -0.0383311 -0.00461659 -0.261444 -2.07605 -0.0298984 -0.842576 -0.0101895 -0.671776 -0.018918 -0.0721645 -0.123508 -0.0122413 -0.000781114 -1.47095 0.383206 -0.0275137 -0.00175502 0.49164 0.210785 0.0106643 -0.0102078 -0.685345 -0.0592829 -0.0144584 -0.912605 -0.0201624 -0.0102363 0.0214874 0.00117336 -0.0913158 -0.038466 -0.0499895 -0.825346 0.0977509 0.0525919 -0.167865 0.133239 0.0166489 0.170211 0.0179397 -0.802063 -0.0896448 0.0845923 -0.00981601 -0.116986 0.00276931 3.33705 0.340764 -0.808327 0.0665249 0.245916 0.226461 0.00969763 0.0241106 -0.0365704 -0.0453667 0.00118297 0.00329185 -0.00497824 0.0424741 0.00953657 0 0 0.0946707 0 0.0261346 0 0 0.0646691 0 0.35216 -0.0463742 0.00729021 0.204103 -0.000353381 0.0577389 0.078175 0.0701728 -0.0358033 -0.45167 0 0 0 0 0.0480591 0 -0.015212 0 0.36616 0 0 0.133264 0 0 0.0195645 0 0 0.0202019 0.0050189 0 0.0335552 0 0.13612 0 0 0 -0.00311375 0.0271312 0 0 -0.217976 0 0 0 0.420723 0 -0.284652 0 0.432054 -0.0265262 1.4404 0 0 0.677433 -0.0373499 0.941653 0 0.124229 0 -0.0273949 0 0.18211 0.258154 0.0533028 0.0656624 -0.100878 0.0340398 -0.139205 0 0.804388 0 2.27319 -0.622063 0 0.748407 -0.383112 0.283688 0 0.545294 -0.284395 0.282447 -0.0573098 0 0 +47 0 -0.309405 -0.333361 0.0722735 0.0461157 -0.409428 -0.152147 0.602574 2.68075 1.05483 -1.10092 -0.308535 0.162133 -0.0489199 -0.175956 -0.0464326 -0.608302 -4.43965 -0.126813 -0.265514 0.327656 -0.067076 0.268056 0.218792 -0.326123 0.428687 -0.0867885 0.06214 0.061268 1.39655 0.0467333 0.482478 -0.0595011 0.933951 -0.042084 0.0772709 -0.133969 0.16234 3.80579 -1.66611 0.0358616 0.0566104 -0.281141 -0.684157 -1.17461 0.339595 -0.01418 0.291006 -0.666948 -0.0504844 3.59038 0.0652754 4.90719 -0.122282 -0.356986 0.205773 -1.36195 -0.417114 0.448649 -0.308508 -0.0405492 1.10372 -0.0656381 2.2167 2.43545 -1.64187 -0.148192 -1.76989 0.24183 -1.1483 0.105906 0.330231 0.409365 -1.25696 0.285798 -0.188006 0.169022 -13.7605 1.36772 -7.4831 -2.94442 5.25654 -9.77555 1.41618 -0.637609 1.26575 -5.63127 -0.643028 1.6715 -1.64498 1.97062 -2.65486 0 0 0 0 0 0.0722735 0.0461157 0.00233875 0 0 0 0 0.00208623 0 0.128699 0 0 -0.00223309 -0.0276281 0.554446 0 0.0709289 0.472532 1.04831 0 0 -0.527317 -0.00129698 0 0.391269 2.76118 0 0 -0.0327216 1.23164 0 0.939248 0 -0.216506 0 0 -0.00826218 0 0 2.15298 0.0452941 -0.0465706 0 0.0553809 0.130849 0 0 0.0190183 0 0.00615396 0.476982 -0.146958 0 0 0.00131732 -0.00211294 0 0.0193754 0.189613 0.0490939 -5.9599 0.042978 0.0605 0 -0.0472877 0.981084 0.373233 -0.350867 -0.307402 0 0 0 -18.551 -0.457427 -5.09614 -0.0832193 0.208466 -2.76559 0.00108674 -0.00245339 0.0356466 -1.10268 0 0 0 0 0 0 -0.409428 0 -0.152147 0 0 0 0 -0.0231614 -0.713117 0 0 0.00150344 0 0.005552 0 -0.0201281 0 0 0.0504224 0 0.0801948 0.0660556 0.0935796 0.00572808 0 0 -0.174242 0 -4.0758 0 0.980847 0.0471136 0 0.615543 0.158307 0.0122586 0 -0.00445738 0 0 -0.0904751 0 -0.560654 -0.243802 0 0 -0.0096479 0 0 0.0323832 0.815155 0.160888 0 -0.548775 0 0.475922 -0.116416 0.0270276 -0.243115 -0.00155765 0.537604 -0.296891 0.0666318 0.448813 -2.13202 0.0676606 0 0 0 -0.153733 -0.0653686 0 0 0 0 0.22508 -3.75383 -0.0633044 -2.43124 -0.179436 0.238421 -0.963924 -0.0126322 -0.0178821 0.0169872 -0.470574 0 0 0 0 0 0 +48 0 0.951496 0.208907 -0.189744 0.138484 -0.0827031 -0.0111755 0.253104 1.48331 1.49556 -0.470195 -0.0128523 -0.350247 0.553942 -0.209716 -0.13 -1.41907 -1.42212 0.14038 -0.718665 0.459658 0.269384 -0.303913 -0.455166 0.111703 0.269157 -0.634027 -0.0600155 -0.00419739 0.47303 -0.121521 -0.086458 -0.320983 -1.32971 -0.0397813 -0.0261136 -0.0213766 0.180998 -4.88777 0.0400257 0.0884664 0.692352 0.23813 0.0670048 -0.472117 0.862992 0.0213841 0.0188797 -1.5468 -0.0451399 0.386603 0.48683 3.03334 1.08589 -0.198049 0.0907113 -1.08293 -0.223164 -0.106183 -0.52222 -0.572993 -1.02584 0.107667 2.92695 -1.73877 -0.313791 -0.336516 1.71968 0.192791 -1.49944 1.96777 0.592756 0.163585 -0.615809 -0.103281 0.0999887 0.213425 15.2839 3.6384 -2.57933 4.48672 -3.81703 6.06029 0.692137 -0.447901 0.516651 -1.8191 -1.63409 0.201238 -1.26812 0.0930307 -0.899234 0 0 0 0 0 -0.189744 0.138484 0.0168413 0 0 0 0 0.00693258 0 0.00483502 0 0 -0.00144522 0.0227848 -0.132392 0 -0.0229419 -0.0900457 0.0827223 0 0 -0.936297 0.00125519 0 0.485493 1.79827 0 0 -0.0927238 0.342471 0 0.502496 0 -0.382421 0 0 -0.0399527 0 0 -0.406688 0.143256 -0.0398635 0 0.349172 0.178703 0 0 -0.800913 0 0.0183733 -0.163089 -0.0335426 0 0 0.00277994 -0.0370417 0 0.00159903 -0.0503297 -0.0438913 -8.28079 0.150544 -0.00897148 0 0.0524684 0.0918431 -0.151676 -0.303562 -0.491115 0 0 0 0.175893 0.159825 -0.255461 -0.00222942 0.0123515 -0.0858853 0.00165194 -0.00418004 0.0549714 0.0229846 0 0 0 0 0 0 -0.0827031 0 -0.0111755 0 0 0 0 0.0632071 -0.261054 0 0 -0.186538 0 -0.0166163 0 -0.00452976 0 0 0.0363317 0 -0.073458 0.0271256 -0.030735 0.00627062 0 0 -0.0189836 0 1.43945 0 -1.5555 -0.0529083 0 0.367447 -0.2505 -0.00278365 0 0.00554074 0 0 -0.0492894 0 0.0991792 0.27709 0 0 0.0379742 0 0 0.316018 0.186628 0.0725598 0 0.513215 0 -1.36988 0.0611951 -0.146668 -0.28715 -0.0658008 0.0980798 0.74921 -0.158429 0.103767 2.89338 0.0654504 0 0 0 -0.0657368 0.0490626 0 0 0 0 0.0558938 14.2941 2.76301 -1.76228 1.22429 -0.922726 1.36975 0.168424 -0.166655 0.210344 -0.224287 0 0 0 0 0 0 +49 0 0.727074 0.207731 0.254069 0.179395 0.0792974 -0.0298635 0.422933 1.19921 3.99209 -1.13674 -0.174978 -0.435512 -0.143642 -0.45272 -0.0974656 0.223238 0.829662 -0.212864 -0.762899 0.600346 0.01065 -0.124074 0.777076 0.112802 0.252475 0.037646 0.500232 0.0305262 0.646718 -0.104529 1.77467 -0.191123 -0.699176 1.33432 0.0632594 -0.0672093 2.02233 -3.76031 -0.88252 0.0642389 0.254998 5.50696 -0.401378 -1.55552 1.31062 0.00900462 0.143188 -1.60406 0.311651 0.390319 -1.01912 -1.51163 1.49813 -0.297019 0.261265 0.111408 0.731042 0.119203 0.0500855 -0.187783 -1.6792 -0.294257 0.492304 -1.27306 -1.19648 -0.163836 0.290835 1.8243 -4.33724 1.33304 0.107492 0.155107 -3.38682 0.249273 -0.328707 -3.08748 12.3839 2.66072 0.546376 0.915233 -0.302606 3.96693 1.38342 -1.55092 2.22713 -2.45169 -2.48168 1.1987 -1.85804 1.01804 -1.22942 0 0 0 0 0 0.254069 0.179395 0.0212322 0 0 0 0 0.0102342 0 -0.0284601 0 0 -0.00524581 -0.0898869 0.0556919 0 0.00314443 0.708924 -0.122618 0 0 -0.901126 -0.0041441 0 -0.147435 3.45568 0 0 -0.0809411 1.5606 0 -0.696384 0 -0.498287 0 0 -0.0450789 0 0 -1.7927 0.215861 -0.11612 0 0.444484 0.195983 0 0 -0.89934 0 0.0269997 0.43856 -0.0263697 0 0 0.00893733 -0.0430782 0 -0.0127293 0.0336571 -0.0713305 -8.21982 0.305745 -0.0580915 0 0.0569676 -0.217397 0.447028 -0.401605 -1.17398 0 0 0 12.7192 0.825248 1.16845 0.0545842 -0.131189 1.80431 0.00386217 -0.00943875 0.127939 0.158192 0 0 0 0 0 0 0.0792974 0 -0.0298635 0 0 0 0 0.0554304 0.737181 0 0 -0.419915 0 -0.05659 0 0.00762004 0 0 0.0111732 0 -0.0899871 0.0437063 -0.0755632 0.00328154 0 0 0.0391216 0 1.84581 0 -1.55033 0.163208 0 0.20174 -0.325145 -0.0116809 0 0.0085263 0 0 0.0996055 0 0.453644 -0.284251 0 0 -0.02721 0 0 0.0315271 0.548262 0.282858 0 0.627984 0 -0.650108 0.219835 -0.255142 0.455692 0.042941 -0.433924 0.553022 -0.132128 -1.12987 -4.48952 -0.116869 0 0 0 0.0841997 0.142832 0 0 0 0 -0.228902 10.8585 2.80919 -1.08895 0.809765 -0.655206 1.02034 0.263738 -0.253208 0.346646 -0.317343 0 0 0 0 0 0 +50 0 1.45105 0.439237 0.326244 0.288501 -0.133011 -0.122435 0.173007 0.971718 0.36857 -2.59652 -0.245174 0.387551 -0.515663 -0.208678 -0.0480204 1.68547 7.02247 -1.35499 0.226106 0.540805 -0.775662 -0.51185 0.604953 -1.31478 0.376618 0.55828 0.339844 0.056587 0.417731 0.0895559 0.532654 -0.164491 -1.28526 0.105631 0.125981 -0.0537335 0.70234 -5.32595 -0.605096 0.0329047 -0.625427 1.06726 -0.0594351 -0.260344 -0.227107 -0.0152614 0.159062 -0.0778375 0.534444 -0.12959 0.115034 -6.09278 -0.310802 0.360625 -0.163815 -1.34487 0.041543 0.107348 0.736715 0.0431376 0.56753 0.189447 1.70278 -1.96347 -0.149915 -0.346443 2.40491 0.212872 0.239576 1.01982 0.78118 -0.4454 -0.735229 -0.274494 0.014626 -1.71355 17.2157 7.47716 -2.40793 6.72851 -3.15338 4.04503 4.80517 -1.35556 1.67417 -1.42048 0.991826 1.0952 -0.784371 0.756333 -0.470098 0 0 0 0 0 0.326244 0.288501 0.00355687 0 0 0 0 -0.00254144 0 0.0343391 0 0 -0.00299187 0.00519342 0.119033 0 0.0223115 -0.123953 0.299257 0 0 0.084193 0.000431036 0 -0.296772 -0.384686 0 0 -0.0220692 -0.382273 0 -0.533083 0 0.266588 0 0 0.0135767 0 0 -1.6132 -0.0515984 -0.0618869 0 0.0707749 0.0480815 0 0 -0.543186 0 0.00581795 -0.273565 -0.0120013 0 0 0.00302892 -0.00956223 0 -0.00536835 -0.287945 0.0132637 0.850628 0.0666197 0.0444854 0 0.0886916 0.0576575 0.417604 -0.15623 -0.0615806 0 0 0 7.50731 0.494343 -0.757265 0.0291286 0.0248672 0.164528 0.00211695 -0.000295099 0.0252357 -0.175491 0 0 0 0 0 0 -0.133011 0 -0.122435 0 0 0 0 -0.053535 0.555182 0 0 -0.356319 0 -0.0401424 0 -0.00426789 0 0 -0.0201807 0 0.0375622 0.0171728 -0.00527476 -0.00537442 0 0 -0.0549343 0 -0.578282 0 -1.541 -0.316673 0 0.146773 -0.137587 -8.65485e-05 0 -0.00507896 0 0 0.0564238 0 -0.911111 -0.266249 0 0 -0.0313813 0 0 0.180921 0.250872 -0.00610559 0 0.875026 0 -0.0435322 0.172535 -0.123189 -0.18136 0.0707138 0.428827 0.0857088 -0.023293 0.0806175 3.74352 -0.0214563 0 0 0 0.0573314 0.0309027 0 0 0 0 -0.151976 16.7138 2.69617 -0.435853 1.04915 -0.519861 0.56473 0.234507 -0.195392 0.199935 -0.0655046 0 0 0 0 0 0 +51 0 -0.14529 -0.357642 0.016619 -0.0387256 0.136768 0.0438613 -0.297345 -1.55309 -0.146251 -0.354934 0.0488003 -0.145674 -0.11455 0.405844 -0.0366409 -1.85288 -6.81358 -0.0051271 -0.179544 -0.0919027 -0.144479 0.30535 0.129142 -0.538268 -0.463211 -0.51664 0.099821 -0.0020966 0.0147332 0.0492159 0.093639 -0.0618189 0.648409 0.180811 -0.0511017 0.0294272 0.0720014 1.47094 0.278578 -0.0192909 -0.302008 0.157866 0.221459 0.400378 -0.638233 -0.00334811 -0.0212426 -0.325722 -0.711016 -0.535203 -0.388687 2.15677 0.121602 -0.147238 0.0288107 -2.30348 0.200749 0.1282 1.23741 0.707908 -0.280856 -0.0326962 -1.34679 1.23006 1.10476 -0.583504 -0.586303 -0.346406 0.0690394 1.54911 -0.00487871 0.441815 -0.177005 -0.54295 0.0428038 1.90428 -2.73222 -1.16082 2.93872 -0.854551 1.30626 -3.62627 2.08427 -0.246212 -1.15126 2.52267 2.7873 -1.24367 0.326949 -0.142083 -0.0165802 0 0 0 0 0 0.016619 -0.0387256 -0.0241169 0 0 0 0 -0.0134244 0 -0.0687204 0 0 -0.0022336 -0.000882573 -0.215407 0 -0.0266376 0.26978 -0.50172 0 0 0.927009 -0.000792439 0 0.583832 -1.42298 0 0 0.0865371 -0.105291 0 1.08389 0 0.53272 0 0 0.0531625 0 0 2.04798 -0.262742 -0.0113186 0 -0.476036 -0.213203 0 0 0.696764 0 -0.00126125 1.44946 -0.00854 0 0 0.0085681 0.0742846 0 -0.0122929 -0.0112793 0.101064 3.58683 0.0238123 -0.201563 0 -0.101627 0.063411 0.181148 0.0579365 0.306331 0 0 0 -3.09824 0.217294 1.7484 0.00174758 0.132684 -1.42408 0.000565931 0.00671497 -0.0560685 0.153774 0 0 0 0 0 0 0.136768 0 0.0438613 0 0 0 0 -0.0541343 0.0415322 0 0 -0.00527611 0 -0.00933488 0 0.00344985 0 0 0.00167328 0 0.217483 -0.0207853 0.0150958 -0.00124255 0 0 0.0524398 0 -0.452361 0 0.802123 0.0774992 0 -0.174549 0.394253 0.00036997 0 -0.00514014 0 0 -0.00472504 0 0.193973 0.180455 0 0 0.015994 0 0 0.188748 -1.58478 -0.0960703 0 -0.0732507 0 0.659922 -0.104711 0.124996 -0.138604 -0.038403 0.143701 -0.726152 0.0601316 -0.0920034 -1.7356 0.00133888 0 0 0 -0.110539 -0.0241495 0 0 0 0 0.0194355 -2.34236 -0.804624 1.7705 -0.531678 0.705625 -0.92233 0.0173458 0.0573643 -0.1727 0.241746 0 0 0 0 0 0 +52 0 0.285161 0.371355 0.270295 0.204552 -0.00336214 -0.0719047 0.490567 1.11793 0.409516 -2.45911 -0.0416554 0.190127 -0.43833 -0.195317 0.214319 0.944586 2.36773 -0.916516 0.77592 0.146531 -0.505509 -0.522239 0.521897 -1.23183 0.341395 0.512342 0.718809 0.0187827 0.58706 0.0604018 0.504104 0.372846 -1.2318 1.03918 0.112852 0.0332082 2.00257 -3.10906 -0.536319 -0.0239697 -0.548067 3.77899 -0.0475057 -1.16742 -0.264512 -0.00888342 0.110182 1.11282 0.353911 0.27531 -0.229228 -1.62939 -0.402079 0.943479 -0.363295 -0.938064 -0.835513 -0.255259 0.734033 0.142055 0.372258 0.297769 1.60791 -0.750713 -0.370358 -0.584875 1.58049 2.02461 0.0649054 0.914955 0.759453 -0.301944 -0.547291 0.0341247 0.139303 -1.22989 6.70262 5.96747 -4.09317 5.82886 -2.1858 1.8533 4.36815 -1.0467 1.32868 -1.64768 1.15518 0.907784 -1.13307 0.886204 -0.660655 0 0 0 0 0 0.270295 0.204552 0.00468702 0 0 0 0 -0.00107555 0 -0.0199619 0 0 0.000171554 0.0287365 -0.0639946 0 0.0039855 0.522784 -0.203285 0 0 -0.36903 0.00161097 0 0.101409 2.43212 0 0 0.00141534 1.12861 0 0.401604 0 0.0709269 0 0 0.0325937 0 0 0.461081 -0.0238418 0.000444464 0 0.0904144 0.209762 0 0 -0.179645 0 0.00861757 0.506763 0.00546781 0 0 0.00500952 -0.00389948 0 -0.0140875 0.294733 -0.037216 -3.17472 0.06304 -0.0508287 0 -0.0715157 -0.0577974 -0.353021 0.0164286 -0.159543 0 0 0 3.09033 0.326197 1.1376 0.0213116 0.0031087 0.0811372 0.00120268 -0.000317853 0.0118638 0.0632013 0 0 0 0 0 0 -0.00336214 0 -0.0719047 0 0 0 0 0.0517495 0.624797 0 0 -0.404321 0 -0.0384972 0 0.0102363 0 0 0.00534916 0 0.0139552 0.0913482 -0.0212227 0.00369252 0 0 0.0529898 0 3.39142 0 0.790481 0.149643 0 0.555106 0.188316 -0.00171023 0 0.0108165 0 0 0.0914161 0 0.711671 -0.0609845 0 0 0.00643378 0 0 -0.316824 2.86753 0.152767 0 0.628298 0 -0.160208 0.162184 -0.113037 0.055034 0.0658995 0.367809 0.703789 -0.0141577 -0.452267 1.03129 -0.0337551 0 0 0 0.344206 0.0629751 0 0 0 0 -0.296023 2.946 2.72364 -2.98106 0.578264 -0.630564 0.419854 0.286393 -0.252572 0.266869 -0.309584 0 0 0 0 0 0 +53 0 0.627836 0.131904 0.0398322 0.117364 -0.180096 0.00421504 -0.188413 0.264855 0.165783 -0.407004 0.0632934 0.84639 -0.0389314 1.21901 0.0764618 1.38283 3.58023 -0.0402929 0.532824 0.123276 0.0202771 0.0810752 0.0743037 -0.0651056 0.140667 0.540303 0.420917 -0.0201611 -0.276656 0.269179 0.0688951 0.123256 -0.0393149 0.647989 0.0262415 0.0366956 0.563174 -1.77562 0.078028 0.0100463 -0.0169535 0.530494 0.0546332 3.76386 0.114151 -0.00577153 -0.0675606 0.883398 0.142129 0.558772 0.537108 -0.17878 0.130245 0.564436 -0.3152 -0.634961 -0.325272 -0.580209 -0.1781 -0.0445555 0.842297 0.51965 0.821994 -0.636443 -0.755474 -0.232613 1.28483 1.16492 -0.284874 -0.397476 0.843615 -0.140856 -0.676373 -0.946189 0.0575068 -0.355263 7.9368 1.58794 0.0699354 1.51752 -1.2305 1.57583 0.543874 -0.570819 0.940713 -1.5653 -0.347561 -0.0012355 0.319032 -0.354719 0.495103 0 0 0 0 0 0.0398322 0.117364 -0.00501976 0 0 0 0 -0.00292607 0 0.00478226 0 0 -0.00417126 -0.0410108 0.103644 0 -0.00351046 -0.336926 0.31355 0 0 0.378854 -0.00210244 0 -0.160695 -1.4561 0 0 0.0313934 -0.878559 0 -0.488876 0 0.139122 0 0 0.0087169 0 0 -1.33755 -0.0534199 -0.0832784 0 -0.0893089 -0.126906 0 0 -0.116846 0 0.000732418 0.26845 -0.033116 0 0 -0.00474867 0.0185532 0 0.0206478 -0.476652 0.0419044 3.24451 0.0463322 0.0230714 0 0.109622 0.100182 0.276689 0.116695 -0.0313154 0 0 0 1.53164 0.151359 -1.50473 0.00438059 0.0535977 -0.422619 0.000389745 0.00132966 0.0127477 -0.217666 0 0 0 0 0 0 -0.180096 0 0.00421504 0 0 0 0 -0.0107494 -0.358652 0 0 -0.134169 0 -0.0211366 0 -0.0156238 0 0 0.0864251 0 0.0456869 -0.0333979 -0.0441038 0.010776 0 0 -0.105784 0 -3.44488 0 -1.35795 -0.187009 0 -0.149198 -0.181355 -0.00692494 0 -0.0047647 0 0 -0.0532644 0 -0.942333 0.169119 0 0 0.0273991 0 0 0.252886 0.178531 -0.192089 0 0.0176665 0 -0.100175 -0.01472 0.0783595 -0.304262 0.0487109 0.244113 0.139132 -0.000936692 0.49171 4.64298 0.0126385 0 0 0 -0.18655 -0.045263 0 0 0 0 0.126491 18.6539 2.58031 0.223969 0.88302 -0.476638 0.762878 0.138441 -0.0968436 0.0966078 0.0550349 0 0 0 0 0 0 +54 0 0.189541 0.0493996 0.192928 0.0638854 0.140093 -0.0092573 -0.197867 -0.853797 -1.3807 -0.869055 0.0431119 -0.00601442 -0.549767 -0.110715 0.168508 -0.539366 -2.39002 -0.578192 0.84201 -0.20952 -0.437469 -0.202854 0.462772 -0.694164 -0.193442 -0.0493239 0.772629 0.0234458 0.621622 0.0282907 0.0189118 0.304415 -0.393961 0.921672 -0.012971 0.0766792 1.9543 -1.22358 0.132516 -0.0635219 -0.888225 2.71753 0.322002 -0.704091 -1.26118 -0.0168665 0.116095 1.36746 -0.876697 -0.839503 -0.0600357 -3.382 -1.28117 0.32761 0.001668 -1.44119 -0.289951 -0.0380533 0.744002 1.01426 -0.12063 0.277664 0.450133 0.361817 0.781723 -0.704674 0.894061 1.08754 1.74513 1.60481 0.431887 0.672638 -1.93611 0.355957 -0.113638 -0.76802 4.75205 0.828361 0.481935 2.54945 -0.784702 -1.23008 3.26691 -0.492761 -1.55355 2.53116 3.83998 -1.5005 0.182164 0.52157 -1.11245 0 0 0 0 0 0.192928 0.0638854 -0.0305561 0 0 0 0 -0.0172207 0 -0.0618582 0 0 -0.00205074 0.0056483 -0.158759 0 -0.0254843 0.421774 -0.396326 0 0 1.03732 -5.61422e-06 0 0.294324 -0.502665 0 0 0.079437 0.310672 0 0.573943 0 0.776866 0 0 0.0667475 0 0 0.966407 -0.345949 -0.0193612 0 -0.618485 -0.0725266 0 0 0.556376 0 0.00156381 1.15975 0.00300775 0 0 0.00452333 0.091857 0 -0.0118654 0.207934 0.060018 2.82782 0.00603712 -0.128853 0 -0.144247 0.0761064 0.718994 -0.16085 0.495632 0 0 0 2.34512 0.404494 1.58846 0.0238086 0.105968 -0.913444 0.000771823 0.00712706 -0.0562289 0.088372 0 0 0 0 0 0 0.140093 0 -0.0092573 0 0 0 0 -0.0378174 -0.150656 0 0 -0.124929 0 -0.0133892 0 -0.00983583 0 0 0.0519793 0 0.136394 -0.00603374 0.0297121 0.00383124 0 0 -0.0715217 0 -0.510718 0 0.92174 -0.0705216 0 0.0809071 0.408272 0.0032258 0 -0.00588488 0 0 -0.0273259 0 -0.10055 0.263695 0 0 0.0230689 0 0 0.360585 -0.311191 -0.175382 0 0.650048 0 0.519988 -0.130976 0.171397 -0.374984 -0.105819 0.513453 -0.440822 0.148448 0.558008 4.54507 0.0883159 0 0 0 -0.0937556 -0.0905295 0 0 0 0 0.167362 0.402162 0.392892 0.188196 -0.0522356 0.350845 -0.721562 0.0926361 0.012995 -0.146497 0.223761 0 0 0 0 0 0 +55 0 -0.266048 -0.494283 -0.330323 -0.203293 0.263161 0.17926 -0.291098 -1.69897 -3.36917 2.04217 0.370867 -0.0610474 0.361871 1.39733 0.115835 -2.97503 -11.1181 1.14193 0.308523 -0.788517 0.66341 0.677539 -0.795244 1.04662 -0.571065 -0.9422 -0.34364 -0.0943288 -1.30281 0.100623 -1.54388 0.244723 1.31308 -0.520314 -0.119863 0.113839 -0.509595 3.02998 1.56053 -0.0730259 0.128812 -2.08482 0.542793 2.84811 -0.81224 0.00652172 -0.361395 0.998302 -1.18415 -0.0227834 -0.150754 4.83026 -1.18167 0.100115 -0.0860377 -0.487622 -0.724068 -0.0103997 -0.548022 0.171583 0.908799 0.0470032 -3.0139 1.67749 0.237731 -0.307027 -2.42972 -0.150336 3.77692 -1.09037 -0.0920214 1.04515 0.165726 -1.06265 0.255396 0.369173 -11.2014 -6.04771 4.97882 -4.83539 2.08184 -1.57506 -2.37162 0.45994 -0.81294 1.40574 2.47307 -3.21215 2.71016 -2.73799 2.33151 0 0 0 0 0 -0.330323 -0.203293 -0.0323939 0 0 0 0 -0.0159471 0 -0.0682711 0 0 -0.00026129 -0.00561982 -0.196057 0 -0.0282503 -0.0317962 -0.449117 0 0 1.1417 -0.000977121 0 0.557248 -1.65474 0 0 0.0974688 -0.379548 0 1.01727 0 0.411541 0 0 0.0337769 0 0 1.9433 -0.32004 0.0139668 0 -0.650836 -0.223372 0 0 0.759803 0 -0.00747891 0.00391156 0.0221557 0 0 0.000375206 0.0916617 0 0.00438238 0.147646 0.0478583 1.81879 -0.0794576 -0.13125 0 -0.139903 -0.0532594 0.142738 -0.0418616 0.236999 0 0 0 -8.33436 -0.344346 1.06117 -0.0313016 0.0396332 -0.785061 -0.00122672 0.00215694 -0.0324855 0.218473 0 0 0 0 0 0 0.263161 0 0.17926 0 0 0 0 -0.0185691 -0.315838 0 0 0.151333 0 0.0387428 0 0.0255115 0 0 -0.0676711 0 0.0806394 -0.0258848 -0.0208226 -0.00264655 0 0 0.178704 0 0.560156 0 0.023774 0.235219 0 -0.388678 -0.000719972 0.00682783 0 -0.000749449 0 0 -0.00941204 0 0.791129 0.399501 0 0 0.0672108 0 0 -0.161676 1.20897 -0.332819 0 0.127744 0 0.337252 -0.193087 0.294854 -0.221428 0.0620658 0.160626 0.098313 -0.0223689 -0.423191 0.456871 -0.0277303 0 0 0 0.0914024 -0.0132629 0 0 0 0 -0.0136923 2.97153 -0.516043 2.207 -0.135128 -0.257427 0.663798 -0.166853 0.128075 -0.0962832 0.274262 0 0 0 0 0 0 +56 0 -0.0404916 -0.233571 -0.343126 0.00095837 -0.315225 0.0979722 -0.690927 -1.42935 0.392377 2.83807 0.0970542 -0.503429 0.606576 0.82062 -0.0283656 -0.509139 0.953511 1.46614 -0.234111 0.857441 0.849833 0.611464 -0.667519 1.44158 -0.676973 -0.415711 -0.563233 -0.0692642 -0.349724 -0.047472 -0.34672 -0.0353392 0.718362 -0.54606 -0.274376 0.0220357 -1.28057 0.0887757 0.082403 0.216573 0.744832 -2.41761 0.0494525 1.22643 0.651218 0.0574626 -0.160967 -0.462478 -0.261692 -0.179704 1.29749 5.94749 -0.263461 -0.382708 -0.017018 -5.01233 -0.538964 0.612489 -1.52265 -0.18045 1.27747 -0.144318 -0.207023 2.66841 1.18242 -0.288094 -2.80317 -0.986705 -0.370555 -2.10529 0.491416 0.0766118 1.39355 -0.60848 0.00970543 5.81212 12.107 -2.8443 2.67789 -2.24037 0.338972 -0.707403 -4.76584 1.74606 -2.15641 0.723265 -2.00456 -0.0140469 0.268868 -0.0946527 0.289338 0 0 0 0 0 -0.343126 0.00095837 -0.00308022 0 0 0 0 0.00536703 0 -0.0333616 0 0 0.00177804 0.01204 -0.123814 0 -0.0163785 0.0515492 -0.0801113 0 0 0.463585 0.000533022 0 0.335291 1.702 0 0 0.0836648 0.331416 0 0.682497 0 0.0749347 0 0 0.0202088 0 0 0.828586 0.107245 0.0313249 0 -0.0489018 -0.067964 0 0 0.39239 0 -0.0096209 0.158116 -0.000708922 0 0 -0.00606734 0.00550451 0 0.0372108 0.10502 0.020565 -0.504676 -0.0908201 -0.0610984 0 -0.018817 0.0554574 0.106192 0.0151424 0.248486 0 0 0 -7.24919 -0.412459 -0.280383 -0.00202113 -0.00143696 -0.654819 -0.00291273 0.00375188 -0.0241212 -0.00355426 0 0 0 0 0 0 -0.315225 0 0.0979722 0 0 0 0 0.0676525 -1.20393 0 0 -0.0154725 0 -0.0146499 0 -0.0204281 0 0 0.0893982 0 -0.153227 -0.00673019 -0.0854605 0.0102206 0 0 -0.142237 0 -1.92106 0 -1.06931 -0.100879 0 0.0576028 -0.530692 -0.012937 0 0.00129196 0 0 -0.139779 0 -0.26108 0.527522 0 0 0.0665149 0 0 -0.166915 1.83341 0.000140655 0 -1.17424 0 -0.111361 -0.00872107 0.00934997 -0.410743 -0.0593211 0.554125 0.403331 0.165556 1.57814 1.81314 0.167826 0 0 0 -0.124926 -0.141398 0 0 0 0 0.2916 18.5935 3.10726 -2.19762 1.24926 -0.488443 0.0947018 0.127951 -0.0633131 -0.00623437 -0.0184301 0 0 0 0 0 0 +57 0 0.00412685 -0.0401682 0.0381537 0.0273122 0.174181 0.110082 -0.393449 -1.97904 0.126 0.623194 0.246485 0.276919 -0.0441887 0.888919 0.319279 -0.831954 -1.87342 0.425011 1.44645 0.0842351 0.142086 0.0544304 0.0578757 0.145067 -0.554304 -0.362597 0.26924 -0.0413338 0.128608 0.103406 0.0983293 0.472145 -0.0554955 0.985835 -0.104101 0.164264 1.13422 -0.904196 0.83797 0.0511318 -0.015101 3.27268 0.553357 2.51956 0.0442765 0.0199638 -0.0508072 2.13242 -0.920407 -1.23077 -0.131649 3.00292 -1.62453 0.932023 0.159771 -2.67725 -0.471475 1.24452 0.125224 -0.129142 -0.79405 0.112195 -1.19123 1.45976 1.01897 -0.471281 -0.793766 -0.694393 -0.338103 0.689262 0.355688 0.212024 -2.44676 0.406326 0.103923 -0.615743 7.4199 -2.76676 6.68889 -1.73737 0.5979 0.302028 -0.887853 0.242412 -1.41291 3.86501 -0.13629 -1.28204 -0.216254 -0.324368 -0.106401 0 0 0 0 0 0.0381537 0.0273122 0.00180091 0 0 0 0 0.000771596 0 -0.0915273 0 0 -0.00468794 -0.0215402 -0.237314 0 -0.0346999 1.16179 -0.631879 0 0 1.36467 -0.00191696 0 0.5012 5.09643 0 0 0.170103 2.49042 0 0.765576 0 0.672955 0 0 0.0855888 0 0 1.07028 0.00743368 -0.053353 0 0.0216685 -0.246357 0 0 0.747689 0 0.00267746 0.320004 0.0467852 0 0 0.0111628 -0.00504205 0 -0.0153248 0.567203 0.100315 0.588903 0.02253 -0.209801 0 -0.087098 -0.204207 1.14685 -0.419576 0.639685 0 0 0 3.45174 0.528324 2.56086 0.0289102 0.0850086 -0.664265 0.00238997 0.0061876 -0.0514132 0.33183 0 0 0 0 0 0 0.174181 0 0.110082 0 0 0 0 0.000454742 0.514101 0 0 -0.298843 0 -0.0430865 0 0.0147152 0 0 0.0257227 0 -0.0548738 -0.008892 -0.0807016 0.000780323 0 0 0.13781 0 0.316401 0 -0.614298 -0.0182133 0 -0.151829 -0.189616 -0.0108058 0 -0.000820876 0 0 0.0609264 0 0.182921 0.304877 0 0 0.0245816 0 0 0.088532 -1.30205 -0.0678495 0 0.221637 0 0.489747 0.122972 -0.0185231 -0.121603 -0.07416 0.212338 -0.428509 0.0462361 0.169299 0.576811 0.00255204 0 0 0 0.0590192 -0.00995763 0 0 0 0 -0.0846265 8.1945 1.57871 1.38614 0.202474 0.301535 -0.370431 0.231676 -0.0876092 -0.0236288 0.231769 0 0 0 0 0 0 +58 0 0.342194 0.250964 0.211896 0.187931 0.0696207 -0.0205905 0.350872 0.612722 1.15001 -1.19821 -0.0608678 0.219481 -0.296689 0.434934 -0.0186446 0.45766 2.57008 -0.564929 -0.1286 0.54134 -0.325472 -0.374637 0.386471 -0.396351 0.23115 0.0455316 0.491833 0.0240254 0.421606 0.0625004 0.533221 -0.109502 -0.695553 0.92365 0.0916367 0.0170715 2.01532 -2.63062 -0.420617 0.0647556 -0.13179 4.32187 -0.097328 0.55483 0.607176 -0.002457 0.095485 -0.637776 -0.0783077 0.146624 -0.389476 5.46639 -0.860032 -0.241458 0.258307 1.01877 -0.681342 0.700416 0.323061 0.00294156 -0.181256 -0.119933 1.68251 -0.848379 -0.784798 -0.30752 1.98313 2.25652 0.524724 0.472962 0.062463 0.0933575 -0.667927 0.572105 -0.143807 -0.767529 8.77535 4.42921 -2.61879 2.85264 -2.21933 3.04063 1.32878 -1.30146 1.64709 -1.62428 -1.86899 0.752514 -0.900054 0.247009 -0.348808 0 0 0 0 0 0.211896 0.187931 0.00272467 0 0 0 0 -0.0020248 0 -0.0460971 0 0 -0.00386745 -0.0407944 0.00633383 0 -0.0165425 0.445247 -0.116288 0 0 0.031934 -0.00211804 0 -0.0477011 2.02992 0 0 0.0480628 0.947958 0 -0.255061 0 0.0791538 0 0 0.0340325 0 0 -0.855062 -0.0411707 -0.0759086 0 0.0522796 -0.0112795 0 0 -0.0508481 0 0.00912209 0.440103 0.00436926 0 0 -0.000992076 0.00432055 0 0.00183961 0.107612 0.00404185 -0.93102 0.0955659 -0.0453208 0 -0.00386084 -0.0853433 -0.00670539 0.0587013 -0.0586805 0 0 0 5.55999 0.422542 0.479816 0.0230712 0.0200861 0.105329 0.0010797 0.000842412 0.0168558 0.043629 0 0 0 0 0 0 0.0696207 0 -0.0205905 0 0 0 0 0.071936 0.193068 0 0 -0.572433 0 -0.0618098 0 0.00230457 0 0 0.0288458 0 0.0610231 0.0396997 -0.11806 0.00213088 0 0 -0.0222857 0 1.16886 0 -0.656267 0.205759 0 0.263094 -8.96201e-06 -0.0130976 0 0.00916474 0 0 0.0454047 0 0.568381 -0.0686588 0 0 -0.0118966 0 0 -0.146987 2.5904 -0.0151944 0 0.238985 0 -0.524822 0.205956 -0.0526446 -0.260589 -0.0115676 0.198129 1.09504 -0.05893 0.0177639 2.37231 -0.000796867 0 0 0 0.205308 0.0208522 0 0 0 0 -0.144052 13.4876 4.72348 -2.24059 0.973074 -0.864139 1.0495 0.43775 -0.311586 0.335443 -0.190393 0 0 0 0 0 0 +59 0 0 0 0 0 -0.493445 0.20096 0.489476 2.93738 0 0 0.320916 0.88833 0 1.70876 -0.0104092 0 0 0 -0.192209 4.00301 0 0 0 0 0.321035 0 0 -0.943977 -5.95709 0.722022 0 -0.0299352 0 0 -0.093143 0.0338779 0 0 1.2062 1.27929 0 0 0.232788 2.50926 0 0.945546 -2.04213 -0.66241 -0.32365 2.29532 -0.410426 0 0.0180782 0.0615 -0.392286 2.64146 1.24182 0.839698 0 0 -0.590434 -3.07311 0 -0.42178 -0.245914 1.11596 0 0 0 0 -0.198236 0.793973 0 -2.84592 2.30134 0 0 0 -5.63428 0 -1.01663 5.02328 0 -0.447476 2.22598 -5.51589 0 -0.0236781 2.67816 -6.87043 20.8341 0 0 0 -0.173426 -0.0466124 0 0 0 0.117567 -0.176603 0 0.0157768 0 -0.0200175 0.0393666 0 0 0 0 0.105312 0 0.0179854 0 0.257972 0 0.847181 -0.0593338 0 0.00785893 0 0 0.278795 -0.00707849 -0.0061316 0 -0.0263626 0 -0.0125557 -0.0228887 0.0525001 -0.0996203 -0.00387135 0 -0.00141625 0 0 0 -0.00186777 0 0 0.018665 -0.0196428 -0.0218073 -0.0537302 0 0 0.00934618 0 0.0218319 0 0 -0.0879649 0.0457722 -0.0974748 -0.0136815 0 0 0.000630081 0.0451758 0.00913563 -0.0401464 0.0204589 0 -0.0622508 -0.00564341 0.346096 0 0 0 -0.329655 0 0.123612 -0.37506 0 -0.0123678 0.0362312 -0.134621 0 0.00907502 -0.0255501 0.0601021 -0.134887 0 -0.493445 -0.173426 0.20096 -0.0466124 0.67151 0.175065 -0.876306 0.486149 -0.918396 0.00346453 0.0767434 -0.398411 0.00358612 -0.050216 -0.137592 0.0135853 0.0730679 -0.0755439 -0.419266 -0.309451 0.192436 0.296223 -0.0751598 -0.103074 0.403697 -0.287741 0.174795 -0.00472383 3.00166 0.65503 -0.0840313 1.68875 -0.0208768 1.55348 0.206478 -0.0163724 0.0129972 0.0674359 0.123922 -1.94793 -0.156736 -0.0420839 2.74394 -0.380223 0.0132152 0.0585034 -0.0799499 -0.0625837 0.082632 -0.0157978 1.40713 -0.353438 -0.203676 0.50834 0.474953 0.0214481 -0.238022 0.321467 0.187538 -0.0660161 0.44524 -0.222297 -0.0292457 0.075387 -4.46363 0.225732 -0.0411984 0.103458 -0.0845482 0.130849 -0.0422631 -0.110887 -0.0224624 0.205074 0.0157623 0.235612 0.236648 0.562012 -3.52201 0.120941 -1.28987 4.37817 0.0699767 -0.502073 1.19133 -1.74583 0.0261923 -0.297927 0.76725 -1.24584 2.66802 0 +60 0 0 0 0 0 0.130973 0.179034 -0.329444 0.372428 0 0 -0.250571 0.748422 0 0.563761 -0.122145 0 0 0 -0.0788784 -3.0712 0 0 0 0 -0.0340874 0 0 -0.374401 2.25899 0.277103 0 -0.182502 0 0 -0.155041 -0.0853201 0 0 -0.662489 -0.597554 0 0 -0.253726 2.10464 0 0.150101 0.0180023 0.569745 0.571009 -0.46826 0.787682 0 -0.345994 -0.327275 0.0522337 2.16818 0.37595 1.58083 0 0 0.326317 2.45234 0 0.569349 0.500544 -0.265899 0 0 0 0 0.124433 -1.10051 0 2.91241 0.61784 0 0 0 -1.72312 0 1.42898 -6.3149 0 0.76714 -1.51617 -3.80842 0 0.934466 -1.83504 2.10944 -10.1945 0 0 0 0.0367024 0.0448656 0 0 0 0.10764 -0.0676304 0 0.0211118 0 0.0069979 0.0158298 0 0 0 0 0.0467584 0 -0.00133015 0 0.149749 0 0.571387 -0.231552 0 0.00467032 0 0 0.225919 -0.00228345 -0.0562039 0 -0.00893555 0 -0.00489502 -0.152445 0.022562 -0.0300207 -0.0322746 0 0.000457649 0 0 0 -0.000658554 0 0 0.00626417 -0.0105576 0.0283959 -0.0340914 0 0 0.0255012 0 0.00630143 0 0 0.0220956 0.0251299 -0.149457 -0.0132883 0 0 -0.119019 -0.0351999 0.0144211 -0.122884 0.0168487 0 -0.115573 0.025263 -0.110355 0 0 0 -0.31093 0 0.126691 -0.653845 0 -0.00886134 0.0495639 -0.204561 0 0.00330664 -0.0230155 0.0799665 -0.261242 0 0.130973 0.0367024 0.179034 0.0448656 -0.230739 -0.0940335 0.163334 0.198931 0.243376 -0.0835266 0.0610125 -0.244341 -0.0196057 -0.0558521 0.0827681 0.0357558 0.0130126 -0.335111 -0.158004 -1.16949 0.275995 0.131574 -0.0700062 0.0157356 0.466896 0.0329941 0.113309 -0.028743 4.65764 0.410914 1.80939 1.11989 0.0201258 0.90018 0.897112 -0.0104942 0.0133105 0.0308238 0.0627182 0.482482 0.133922 0.00323069 2.66767 -0.491538 0.00167109 0.100826 -0.0246089 -0.182392 0.13976 0.897902 -0.4564 1.16876 -0.0812905 0.153442 -0.087418 -0.631587 0.386492 -0.607302 0.376053 -0.014665 -1.33724 -0.0145359 -0.108478 0.702207 3.29149 -0.227536 0.130189 -0.0732662 0.261631 -0.0110822 0.114178 -0.266235 0.169519 0.191778 0.0119465 -0.129795 -5.0956 0.32229 -3.81382 0.158194 -0.496295 -2.58817 0.0463897 -0.271426 0.144005 -1.50037 0.116189 -0.186421 0.157335 -0.227997 -0.918376 0 +61 0 0 0 0 0 -0.368169 -0.248729 0.833881 2.53229 0 0 0.163747 -1.18257 0 -1.36077 -0.040789 0 0 0 0.0730903 -1.96876 0 0 0 0 0.318401 0 0 0.264742 4.03966 -0.408931 0 -0.116005 0 0 0.140695 0.013271 0 0 -0.238382 -0.0731341 0 0 -0.0521012 -4.82253 0 -0.094414 0.60412 0.162467 -0.103325 0.749792 -0.0142953 0 -0.271806 -0.10531 0.465994 -3.40369 -1.19137 0.239984 0 0 -1.26773 -2.22962 0 -0.147247 0.0250622 -0.405847 0 0 0 0 0.11371 0.81934 0 1.23295 -1.06373 0 0 0 -5.51489 0 -0.999497 -4.8181 0 -0.838583 -0.37177 -6.14333 0 -0.107137 -1.35793 1.86872 -13.701 0 0 0 0.0553165 0.0168712 0 0 0 -0.0236588 0.0810885 0 -0.00099506 0 0.00828783 0.0230527 0 0 0 0 0.0489507 0 0.00277123 0 0.216843 0 -0.245137 -0.137896 0 -0.000711555 0 0 -0.0645016 0.00291151 -0.0170596 0 0.0124216 0 0.00573473 0.0591158 -0.00935832 0.0412162 0.00524675 0 0.00058398 0 0 0 0.000876191 0 0 -0.00768881 0.00913161 -0.127888 0.0241116 0 0 0.0137364 0 -0.00983731 0 0 0.0048512 0.036548 -0.020345 0.0348885 0 0 -0.115455 -0.0140221 0.0114203 -0.037223 0.0292473 0 -0.000755569 -0.00666463 0.386045 0 0 0 -0.308908 0 -0.0432239 0.0640609 0 0.00467723 -0.00715345 -0.0436876 0 -0.00371334 0.00581314 -0.0146837 0.0211629 0 -0.368169 0.0553165 -0.248729 0.0168712 -0.585154 -0.0971778 0.283872 0.467022 0.428582 -0.00431097 0.0286517 -0.390063 -0.00194625 -0.0749919 0.04745 -0.0104082 0.00823189 0.0122425 -0.235398 -0.434298 -0.416844 0.342509 -0.238077 -0.0660691 -0.000723893 0.17553 0.170491 -0.000438885 -0.767366 -0.34745 -2.29224 -0.705708 0.00755911 1.60184 -1.0403 -0.0464447 -0.00111214 0.0819033 -0.023407 1.80032 0.0253443 0.0118336 -0.824992 -0.580742 0.00544592 -0.0335144 -0.102223 -0.0597318 0.0830842 -0.3015 -0.565275 0.346942 0.00690171 0.907178 -0.154156 0.0901703 -0.100018 0.187483 -0.135036 -0.183413 -0.173513 0.254994 -0.0997799 0.351123 0.87712 -0.0558335 -0.534535 0.0195396 0.1392 0.0747563 0.0911042 0.0114305 0.0133891 0.0783658 -0.0444572 -0.0974198 6.45539 0.57682 -3.1381 0.380141 -0.233686 -1.81824 0.0674735 -0.0884612 0.0590126 -1.98641 -0.00424468 0.0973559 -0.530156 0.859397 -2.91793 0 +62 0 -1.04959 -0.239685 -0.0811961 -0.254899 0.203111 -0.0748439 -0.28562 -1.65026 -0.609443 1.36543 -0.448672 -0.476161 0.0247249 -0.915226 0.0112766 -1.20342 -4.54419 0.233264 0.0278653 -0.152686 0.0333861 0.099361 -0.0335228 0.308169 -0.267143 -0.317264 -0.0300722 0.581005 1.76099 -0.332136 -0.147668 -0.167851 0.864645 -0.457219 0.019489 -0.100952 -0.467525 5.68141 -0.811539 -0.293656 0.0926986 -2.60167 -0.210571 -0.867599 0.267531 -0.366222 0.983704 -0.254728 0.503241 -1.84918 0.88768 -0.723017 0.0505514 0.078363 0.213024 -3.09953 -0.869511 -0.093296 -0.360472 -0.153895 1.29493 0.275683 0.0697533 1.19778 0.898796 -0.547703 -0.130796 -0.0845462 0.263212 -0.68203 0.695338 -0.986998 1.01504 0.639951 -0.898773 1.62769 -16.7222 -4.3124 1.85158 -2.98313 3.6171 -9.05009 -0.362838 1.16082 -2.81043 2.69513 -0.252915 0.553934 -1.28007 2.47922 -5.89364 0 0 0 0 0 -0.0811961 -0.254899 -0.00967129 0 0 0 0 -0.00112731 0 0.0176742 0 0 -0.00764652 -0.0257764 0.0340309 0 0.00204484 0.0328776 0.151886 0 0 0.140488 -0.00181147 0 0.0374474 0.0769947 0 0 0.0158184 0.0302108 0 0.0922023 0 -0.0182246 0 0 -0.00474185 0 0 0.280639 -0.0160192 -0.108011 0 -0.136599 -0.0362369 0 0 0.190049 0 -0.0169306 -0.0105538 0.0261195 0 0 0.0156745 0.0183751 0 -0.0334706 0.0204987 -0.0255855 -0.0324418 0.0173132 0.0391547 0 -0.035877 -0.0399921 0.00029687 0.0156298 -0.0362879 0 0 0 -0.633484 0.145616 -0.237855 -0.0256629 0.0347307 -0.0540832 0.0097135 -0.0126759 0.0188613 -0.0302018 0 0 0 0 0 0 0.203111 0 -0.0748439 0 0 0 0 -0.622048 -1.5913 0 0 0.944722 0 0.137864 0 -0.0923249 0 0 0.341052 0 -0.0250824 -0.173213 0.378568 0.0620661 0 0 -0.727216 0 -7.49393 0 1.3223 -1.29189 0 -1.49489 0.135479 0.0628455 0 -0.0714856 0 0 -0.204805 0 -2.94452 0.558994 0 0 0.0953283 0 0 0.181249 -1.03918 0.0727495 0 -1.59732 0 0.383877 0.0695365 -0.00683361 -0.495749 -0.257466 -0.216725 0.0184936 0.264616 1.68992 3.77845 0.174783 0 0 0 -0.444619 -0.179318 0 0 0 0 0.615594 -8.82113 -3.52972 3.85652 -0.995515 0.710639 -1.16084 -0.329731 0.386983 -0.671271 1.0419 0 0 0 0 0 0 +63 0 0.246256 -0.10212 0.0844349 0.160658 -0.241052 -0.320018 1.18152 2.68213 0.603069 -1.7125 0.391592 -0.990108 -0.0307107 -1.12682 0.0105696 -0.304511 0.436641 -0.235633 -0.0324459 -1.27371 -0.0874011 0.138137 0.038262 -0.581591 0.596991 -0.330524 -0.015453 0.338792 -0.490819 -0.329334 0.163543 0.193268 0.10743 0.413693 0.365152 0.0623105 0.039774 -0.0654541 0.897268 -0.901326 -0.143837 1.88013 0.18373 -3.88135 -0.631524 -0.705221 0.100952 0.206612 -0.483055 0.667492 -1.14896 2.29143 0.0188246 -0.145562 -0.195857 3.37826 0.435928 -0.0474241 1.09245 0.318766 -1.46439 0.350795 1.47269 -1.65089 -0.585159 0.297252 0.799447 -0.012371 -0.277785 2.07587 -1.03662 0.589933 -0.346697 0.898738 0.181931 -0.489809 1.7007 4.23584 -5.40055 1.55299 -0.995555 -1.51939 2.3037 -1.66702 2.30437 -4.36068 0.597021 -0.826207 1.28879 -1.81398 1.64266 0 0 0 0 0 0.0844349 0.160658 -0.0046367 0 0 0 0 -0.00137554 0 0.0273503 0 0 -0.00303831 0.00861642 -0.0112759 0 0.00395355 -0.100093 0.0924241 0 0 0.395627 0.000600622 0 -0.024284 0.134908 0 0 0.0702492 -0.206422 0 0.0494558 0 0.115198 0 0 0.0193934 0 0 0.424021 -0.0195638 -0.0428281 0 -0.0661174 -0.0171909 0 0 0.0198317 0 -0.0209961 -0.169867 0.0335854 0 0 0.0070111 0.0010297 0 -0.0217571 0.014776 -0.0145409 -0.322735 0.0490832 0.0396259 0 -0.00595191 -0.0612578 -0.136227 -0.0249039 -0.0666848 0 0 0 -0.991548 0.146721 -0.310958 -0.0383617 0.053339 -0.0863748 0.00440768 -0.00850566 0.0182762 -0.0410722 0 0 0 0 0 0 -0.241052 0 -0.320018 0 0 0 0 0.308534 1.78414 0 0 -0.414875 0 -0.0587426 0 0.0958266 0 0 -0.611435 0 0.311042 0.109246 -0.173476 -0.0940895 0 0 0.742524 0 1.73267 0 -0.0850505 -0.0612787 0 0.985241 -0.077371 -0.023401 0 0.0386013 0 0 0.220498 0 0.333873 -1.56055 0 0 -0.217302 0 0 -0.0741716 -0.118381 0.134687 0 1.91707 0 0.467925 0.0318256 -0.00578491 -0.0179393 0.147865 0.267862 -0.0190623 -0.128168 -1.63642 -0.380849 -0.0457459 0 0 0 0.311893 0.0710929 0 0 0 0 -0.519122 -6.3005 0.216785 -2.99664 0.325132 -0.360117 -0.271417 0.170115 -0.175017 0.253993 -0.704563 0 0 0 0 0 0 +64 0 -0.81905 -0.32515 0.00487453 -0.00286122 -0.219042 -0.157116 0.631592 1.95493 0.0170374 -0.221558 -0.0605941 0.524195 -0.00175382 0.719122 0.0100138 -1.10964 -3.29002 -0.102291 0.0252685 -0.882389 -0.0140062 0.239224 0.00225062 -0.00591127 0.572969 -0.568433 -0.0196188 0.211683 0.154436 0.162308 0.00833533 -0.0119746 0.529078 -0.218691 0.295608 -0.0115949 0.14755 3.2579 -0.171075 -0.718086 -0.00637247 0.00054209 -0.0259685 0.960335 -0.0168735 -0.53987 0.14262 0.0334053 0.0775567 -0.965191 0.267449 -4.68318 -0.105319 0.0521202 -0.148096 0.353816 0.195501 0.1406 -0.034387 0.00915948 0.025016 0.164461 -0.0466812 0.455915 0.444778 0.105406 0.250508 0.288708 -0.00946772 -0.0199043 0.00834408 -0.380712 -0.27826 -0.981336 0.506788 -1.02566 -13.4428 -3.72979 -3.01693 -2.73497 2.41696 -5.66573 -0.268762 0.216848 0.291097 -2.72413 0.0159516 0.070121 -0.0447634 0.384603 -0.516864 0 0 0 0 0 0.00487453 -0.00286122 0.00197333 0 0 0 0 0.000437673 0 0.00258683 0 0 0.00126518 0.00427093 -0.00182486 0 0.000334524 0.0264622 0.00293536 0 0 -0.139481 0.000299187 0 0.0123249 -0.242262 0 0 -0.0133045 0.0662102 0 0.0764384 0 -0.0209841 0 0 -0.00167486 0 0 0.370174 0.00624459 0.0182402 0 0.0283625 0.035918 0 0 0.00769693 0 0.00532369 0.0292384 -0.0032417 0 0 -0.00282767 -0.00267296 0 -0.00869031 0.197003 0.00592053 0.0210355 0.0474254 0.00538315 0 -0.0289199 -0.0022564 -0.03652 0.0385572 -0.067164 0 0 0 -0.746565 0.0292012 -0.0843131 -0.0336989 0.0429672 -0.0614235 -0.00166999 0.00176503 -0.00169746 -0.00239865 0 0 0 0 0 0 -0.219042 0 -0.157116 0 0 0 0 0.405717 -0.900585 0 0 -0.356642 0 -0.0344512 0 -0.0356332 0 0 0.56866 0 0.727373 0.132047 -0.139269 0.0851344 0 0 -0.416696 0 0.908742 0 3.42764 0.332703 0 1.22025 1.171 -0.00920408 0 0.0380009 0 0 -0.079895 0 0.733847 0.867972 0 0 0.150843 0 0 -0.618988 2.74782 0.0521318 0 -0.996413 0 1.42099 -0.110965 0.108291 0.686073 0.0123816 -0.787062 -0.598459 0.199613 0.960732 0.743001 -0.0379185 0 0 0 0.292197 -0.0230776 0 0 0 0 -0.000665204 -10.299 0.754642 -3.98236 -0.717565 1.01015 -2.84748 0.113598 -0.178294 0.299734 -0.941285 0 0 0 0 0 0 +65 0 0 0 -0.170338 -0.071513 0 0 0 0 -0.921231 0.932075 -0.633092 0 0.262755 0 -0.0853935 0 0 0.330139 0.126772 0 0.16813 0 -0.341807 0.321588 0 0 -0.423042 0 0 0 -0.512093 -0.529969 0 -0.762227 0 -0.138419 -1.36589 0 -1.69426 0 0.376587 -2.72763 -0.672967 0 0.192909 0 0 0.463151 1.07258 0 1.62532 0 -0.170358 -0.0546738 -0.186507 0 -0.162278 0.858511 -0.427173 -0.42329 0 0 0 0 0.398294 0 0.306694 -2.08923 0.579732 -0.0128208 0.137966 -1.3584 1.20286 0 0 -0.0994756 0 -2.3844 0 -0.149101 2.00192 0 -1.12512 2.70624 -2.10439 0 -1.37853 2.48684 -1.05603 1.8016 0 0 0 0 0.0759403 0.0438281 -0.170338 -0.071513 0 0.0916293 0 0 0.0153594 0 0 0.129665 0 0 0 0 0.34931 0 0.0440995 -0.807705 0.889485 0 0.504804 -0.221892 0 0.00504011 -0.445988 -4.75629 -0.11363 0 0.106644 -1.98732 0 -0.854645 0 -0.239317 0.00618365 0 0.0391771 0 0 -1.6875 0 0 0 0 0 0 0 -0.802655 0 0 -1.06803 0 0 0 0 0 0 0 -0.50426 0 -0.306233 0 0.319152 -0.113524 0 -0.024492 -1.08604 0 0.696902 0 0.0375237 0 3.17584 0 -0.59318 0 0 0.812352 0 0 0 -0.355414 0 0 0 0 0.0950013 0 0 0.0759403 0 0.0438281 0 0 0.254736 0 1.61029 -0.00672453 0.0674137 0.981071 -0.00157896 0.122109 0.0631671 0.0581416 0.0525054 -0.119893 0 0 0 0 0.360325 0 0.670994 0 0.418766 0 0 0.0472641 0 0 0.0127483 0 0 0.0392556 0.0020263 0 0.0153392 0 0.238719 0 0 0 0.00511516 0.00144356 0 0 0.197013 0 0 0 -0.0443474 0 -0.159392 0 0.168068 0.0856157 0.152792 0 0 0.431784 0.250285 -0.517564 0 0.443561 0 0.122374 0 0.451124 -0.215527 0.0130283 -0.0619742 0.0548071 0.0189899 -0.703054 0 -2.78035 0 0.0922058 -0.194542 0 0.0217459 0.148679 -0.48606 0 0.134731 0.00370752 -0.0204697 -0.00533268 0 0 +66 0 0 0 -0.103808 -0.334039 0 0 0 0 -1.05008 4.61556 0.00735936 0 -0.0975337 0 0.161015 0 0 0.779577 0.59202 0 0.275109 0 0.114352 1.61244 0 0 0.652767 0 0 0 -0.148374 0.715261 0 0.877652 0 0.0338331 1.84309 0 0.859827 0 0.029056 1.22175 0.582714 0 0.783618 0 0 1.13175 -0.837015 0 0.720447 0 -0.7928 0.0932187 0.103151 0 -0.253977 -0.0802919 -1.978 -0.20226 0 0 0 0 0.343698 0 1.89434 0.99093 0.579296 -4.2923 0.495387 1.51605 -0.586813 0 0 0.606607 0 -7.21605 0 -0.461623 -1.95793 0 -4.23141 1.30221 -4.40415 0 -0.128702 -1.14627 -0.777945 -0.437086 0 0 0 0 -0.0958231 -0.0540598 -0.103808 -0.334039 0 0.0378022 0 0 -0.000271206 0 0 0.0739461 0 0 0 0 -0.156679 0 -0.025567 1.25274 0.115619 0 0.524709 1.63752 0 0.0235847 0.0153121 8.15272 0.557514 0 0.0844486 3.63909 0 -0.365586 0 0.753771 0.116784 0 0.0349152 0 0 -2.22894 0 0 0 0 0 0 0 -0.0779676 0 0 -0.749201 0 0 0 0 0 0 0 0.387874 0 -2.45567 0 0.201048 -0.00333417 0 -0.208368 0.0987094 0 0.137222 0 0.400477 0 4.19482 0 0.213246 0 0 0.407153 0 0 0 -0.128883 0 0 0 0 -0.466116 0 0 -0.0958231 0 -0.0540598 0 0 -0.445221 0 -1.51738 0.0568246 -0.0223812 1.44471 0.0123293 0.339731 -0.120535 -0.00647695 -0.000143879 0.371458 0 0 0 0 0.585472 0 -0.390842 0 -0.139521 0 0 -0.0500162 0 0 -0.0231713 0 0 0.146165 0.00251678 0 -0.0122964 0 -0.211514 0 0 0 0.00451957 0.0224017 0 0 -0.199984 0 0 0 -0.0498083 0 0.332557 0 -0.622248 0.16997 -0.926814 0 0 -0.718295 0.211161 0.10242 0 -0.00926809 0 -0.0200992 0 -0.221235 -0.552496 0.0198744 -0.167565 0.0918284 -0.0112787 0.443967 0 -3.92668 0 -1.17222 0.175334 0 -0.602602 0.481136 -0.588231 0 -0.363165 0.160769 -0.026131 -0.112962 0 0 +67 0 0 0 0.108132 -0.254147 0 0 0 0 -0.615649 0.890886 0.253858 0 -0.398565 0 -0.298507 0 0 -0.159979 -0.716738 0 -0.287375 0 0.489929 -0.0579167 0 0 0.279151 0 0 0 0.280112 -0.518871 0 0.381486 0 0.0107975 0.51887 0 1.8265 0 -0.373031 -0.069991 0.636912 0 -0.328965 0 0 -2.10432 -0.850046 0 -1.27921 0 0.812995 -0.772627 0.420298 0 -0.212134 -0.7461 -0.2522 0.131572 0 0 0 0 0.981376 0 -1.09442 0.317826 0.236637 -0.970552 -1.1533 1.29243 -0.00229338 0 0 -0.833535 0 -1.26033 0 1.08425 -3.44876 0 0.00398568 -1.18535 -1.48948 0 1.12248 -1.98791 -0.133984 -1.60277 0 0 0 0 -0.148495 -0.0692679 0.108132 -0.254147 0 0.000812443 0 0 -0.0105007 0 0 -0.0724313 0 0 0 0 -0.584433 0 -0.108181 1.7067 -0.68542 0 0.060409 0.222636 0 0.0299107 0.591177 4.5934 0.448405 0 0.0237062 2.61237 0 0.687237 0 0.0259764 0.123462 0 -0.000334666 0 0 0.844312 0 0 0 0 0 0 0 0.917723 0 0 2.60071 0 0 0 0 0 0 0 0.266998 0 3.75537 0 -0.225746 -0.162324 0 -0.595315 0.704014 0 -0.786794 0 0.0890982 0 -1.58897 0 0.522984 0 0 -0.774892 0 0 0 0.22174 0 0 0 0 -0.374894 0 0 -0.148495 0 -0.0692679 0 0 -0.687576 0 -1.06205 0.0253862 -0.0312426 0.271098 0.0107164 0.0798242 -0.182687 -0.0973515 0.091677 0.139892 0 0 0 0 0.0903434 0 -0.194161 0 -0.244467 0 0 0.0455038 0 0 -0.0381344 0 0 0.0485639 0.00126272 0 0.00667199 0 -0.27037 0 0 0 0.0099528 -0.00163964 0 0 0.121759 0 0 0 -0.318778 0 0.548747 0 -0.261991 -0.160843 -0.0807882 0 0 -1.16197 -0.344668 0.924156 0 -0.0385477 0 0.0709989 0 -0.201243 -0.0989557 -0.0953602 0.0163011 0.00602665 -0.0380311 0.542659 0 -1.88571 0 -0.109134 -0.657548 0 0.0163788 -0.0102787 -0.332781 0 -0.150108 0.0166181 -0.0278042 -0.0826048 0 0 +68 0 0.16086 -0.0133036 0.292913 0.12081 -0.15182 -0.0575947 -0.0952268 0.969534 0.492025 -3.30458 -0.140299 0.0892205 -0.482001 -0.60589 -0.0892617 -2.31504 -6.49371 -1.3132 -0.0385172 0.604049 -0.823181 -0.293195 0.622264 -1.87373 0.285068 -0.758525 0.124284 0.0495629 0.981345 -0.0524455 0.726966 -0.195905 -0.796906 -0.342752 0.0178438 -0.0387266 0.387522 -1.33201 -0.664841 0.0258574 -0.562456 -0.244248 -0.205968 -0.425414 -0.37879 -0.00449878 0.221868 -0.27708 0.44278 -0.725164 -0.337158 4.48608 0.108926 -0.0996118 0.202911 1.10202 0.893331 0.485703 1.83145 0.329418 0.343582 0.037201 0.837279 -0.139193 0.718466 -0.0478041 0.69942 -0.188642 -0.360925 3.00612 0.232757 -0.267564 0.0039191 0.783915 -0.269889 2.20677 -1.03018 8.69468 -3.95364 3.94769 1.59981 -4.39092 4.75765 -1.0249 1.24564 -1.07959 1.09808 0.754437 -1.14857 1.02267 -1.4189 0 0 0 0 0 0.292913 0.12081 0 0 0 0 0 0 0 0.0102371 0 0 0 0 0.138824 0 0.0216887 0.38196 0.0296387 0 0 0.548756 0 0 0.106975 1.62203 0 0 0.0782549 0.938107 0 0.633048 0 0.327716 0 0 0.0321589 0 0 1.48026 0 0 0 0 0 0 0 0.199169 0 0 0.552225 0 0 0 0 0 0 0 0.423745 0 4.00594 0 -0.106933 0 0 -0.0224381 1.39545 0 -0.0135312 0 0 0 -2.78508 0 -0.242016 0 0 -0.61946 0 0 0 -0.0123716 0 0 0 0 0 0 -0.15182 0 -0.0575947 0 0 0 0 0.0460791 0.645264 0 0 -0.198646 0 -0.0296757 0 0.0106916 0 0 0.160481 0 0.257993 0.0500222 0.0277478 0.0225053 0 0 0.065287 0 3.58826 0 2.91199 0.0062064 0 0.348375 0.964565 0.000720263 0 0.00746375 0 0 0.0799532 0 0.473487 0.395386 0 0 0.059612 0 0 0.14599 0.218594 0.074092 0 0.898448 0 0.230122 -0.0648694 0.0137244 -0.0813603 -0.0224998 0.638715 -0.106862 0.00588611 -1.24722 -3.9983 0.063252 0 0 0 0.0577839 -0.00226841 0 0 0 0 -0.216158 -20.5221 0.748981 -4.94344 -0.108877 0.274941 -1.99164 0.0758983 -0.0392051 0.0490849 -0.203216 0 0 0 0 0 0 +69 0 -1.06735 -0.529136 -0.248663 -0.0935985 -0.0653528 0.0460054 -0.380513 -0.448041 -0.418124 1.38601 0.0887654 -0.265659 0.409228 0.145125 -0.059898 -2.39543 -10.7034 0.72488 -0.429671 0.381437 0.41476 0.262892 -0.528294 0.737424 -0.35645 -0.472906 -0.920409 -0.00478578 -0.184645 -0.114529 -0.617292 -0.0952521 1.20602 -1.58035 -0.166181 0.0173351 -2.93523 6.34051 0.351538 0.0795015 0.481749 -5.70755 0.0646993 0.992235 0.337824 0.0164225 -0.0261896 -0.656489 -0.212709 -0.57593 0.535344 10.1655 0.344736 -0.31505 0.235958 0.0916911 0.731097 0.570361 -0.755871 -0.289167 0.538693 -0.162588 -3.62653 3.50708 1.12565 0.585599 -5.44875 -2.72354 0.306721 -1.17186 -0.61082 0.28568 2.71407 0.634725 -0.00604627 5.86089 -22.2423 -6.82716 2.1078 -4.95508 3.07763 -6.65331 -1.66592 0.583223 -1.10321 1.00374 -0.97932 -0.322946 0.023408 -0.356127 0.266974 0 0 0 0 0 -0.248663 -0.0935985 0 0 0 0 0 0 0 0.0173812 0 0 0 0 -0.0832013 0 -0.00479075 -0.195913 0.042182 0 0 0.297866 0 0 0.260519 -0.115399 0 0 0.0673756 -0.346459 0 0.541463 0 0.118409 0 0 0.0422564 0 0 1.60154 0 0 0 0 0 0 0 0.192011 0 0 0.61537 0 0 0 0 0 0 0 0.473 0 5.26909 0 -0.144789 0 0 0.0694669 1.67594 0 0.0562382 0 0 0 -3.00612 0 -0.273892 0 0 -0.676792 0 0 0 -0.0174261 0 0 0 0 0 0 -0.0653528 0 0.0460054 0 0 0 0 0.0428597 -0.752005 0 0 0.180788 0 0.039086 0 -0.0131823 0 0 0.0363433 0 0.161017 -0.00863664 -0.00897637 0.0075659 0 0 -0.096208 0 -3.596 0 2.69181 -0.127557 0 -0.0146381 0.617501 0.00336832 0 0.0050902 0 0 -0.0948921 0 -0.674556 0.534911 0 0 0.0748279 0 0 0.074534 -1.4265 0.212917 0 -0.764048 0 0.282378 0.0588519 -0.106746 -0.626532 0.0123919 0.253129 -0.473546 0.04104 1.5225 4.59021 0.0251915 0 0 0 -0.157373 -0.097228 0 0 0 0 0.302999 -11.5989 -1.15284 0.216483 -0.505412 0.589871 -0.975476 -0.0957541 0.0488381 0.0187834 -0.123963 0 0 0 0 0 0 +70 0 -0.812018 0.00707306 0.059318 0.02549 -0.139926 -0.131499 0.828282 2.54576 0.0995913 -1.57568 -0.21461 -0.198872 -0.0976054 0.228613 -0.0257491 1.08501 -2.10854 -0.248157 -0.364789 0.0755588 -0.14386 -0.0332532 0.126011 -0.806758 0.42665 0.757406 0.394387 0.0572718 1.27405 0.10709 0.147201 -0.0544715 0.578454 0.671258 0.11406 -0.104479 0.0675174 3.33783 -1.19063 -0.0673466 -0.113416 -0.138414 -0.589906 -1.69224 -0.0748495 -0.0267499 0.275976 -0.743856 0.878604 0.573208 0.673067 -2.99461 0.358081 -0.328532 0.187205 -0.287838 0.454164 0.229497 0.898118 0.0656225 -0.881984 -0.12636 -0.920796 -0.624645 -0.139068 -0.0952387 1.08576 -0.00691063 -0.0730543 1.9313 -0.025737 -0.554188 0.0144471 -0.663436 -0.290407 -0.888072 -13.7915 2.1531 -7.43539 -1.30759 3.78006 -7.50783 2.22627 0.316284 0.0294049 -3.21768 0.216982 1.68441 -1.79257 1.56446 -1.84213 0 0 0 0 0 0.059318 0.02549 0 0 0 0 0 0 0 0.0970156 0 0 0 0 0.330172 0 0.0536978 -0.782916 0.587826 0 0 -1.26611 0 0 -0.348456 -5.58439 0 0 -0.141777 -2.17357 0 -0.286481 0 -0.648687 0 0 -0.0753153 0 0 0.0760141 0 0 0 0 0 0 0 -0.443067 0 0 -0.805892 0 0 0 0 0 0 0 0.0952402 0 2.44407 0 0.028164 0 0 0.435986 0.620372 0 0.479925 0 0 0 -0.141927 0 -0.564516 0 0 -0.0328141 0 0 0 -0.245704 0 0 0 0 0 0 -0.139926 0 -0.131499 0 0 0 0 0.053692 -0.216609 0 0 0.137289 0 0.0213122 0 -0.0156979 0 0 0.105509 0 0.162437 0.0386062 0.033816 0.00972859 0 0 -0.136784 0 -1.80991 0 1.47032 -0.0629785 0 0.16915 0.46144 0.006842 0 0.011672 0 0 -0.0223212 0 -0.23405 -0.523958 0 0 -0.0822002 0 0 0.178458 -2.33524 0.022465 0 0.116237 0 -0.551545 0.0518176 -0.069592 -0.272884 -0.0420372 -0.106171 -0.0833048 -0.0477 -0.05717 0.811363 0.0722676 0 0 0 -0.110097 -0.0395687 0 0 0 0 0.077787 -13.0719 -0.199639 -3.09212 -0.231754 0.291628 -1.12895 -0.0705406 0.0213226 -0.00696315 -0.199819 0 0 0 0 0 0 +71 0 0.436461 0.360401 0.131723 0.0537063 -0.0961282 0.0612742 -0.24692 -0.731246 0.255881 0.0981168 0.175595 0.54474 -0.218402 0.322441 0.132662 2.32291 11.2756 -0.150216 0.434586 0.510321 -0.114341 -0.0953254 0.28229 0.0874944 -0.096564 0.549328 0.39705 -0.0101626 -0.24753 0.0846052 0.338122 0.259322 -0.367502 0.847047 0.0216485 0.108654 1.45748 -1.07036 0.423011 0.115602 -0.247964 3.23952 0.274959 2.95488 -0.154947 0.0211717 -0.0354997 0.870113 -0.331473 -0.500096 -0.368337 5.57452 -0.406009 0.389473 0.0214773 3.49434 0.865085 0.205098 -0.190775 0.146599 0.373047 -0.132218 2.23474 -0.540164 -0.300457 -0.386496 1.2875 1.55112 -0.189218 -0.255613 0.417438 0.192567 -1.40131 1.05278 -0.141263 -0.191458 3.37071 -0.0293502 0.939266 -1.18848 0.0827983 0.345481 -0.582886 -0.284303 0.257149 0.843788 0.442527 -0.676868 0.455714 -0.395442 0.326668 0 0 0 0 0 0.131723 0.0537063 0 0 0 0 0 0 0 -0.0437753 0 0 0 0 -0.186992 0 -0.0222112 0.597196 -0.371342 0 0 1.45138 0 0 0.142714 5.94722 0 0 0.165155 2.01426 0 0.155741 0 0.705081 0 0 0.0795763 0 0 0.253771 0 0 0 0 0 0 0 0.256764 0 0 0.200035 0 0 0 0 0 0 0 0.509278 0 3.19797 0 -0.136954 0 0 -0.0447677 1.5551 0 0.102793 0 0 0 -0.477057 0 0.312589 0 0 -0.106574 0 0 0 0.15522 0 0 0 0 0 0 -0.0961282 0 0.0612742 0 0 0 0 0.00565037 0.591165 0 0 -0.247759 0 -0.0332338 0 0.0160049 0 0 0.104435 0 -0.0324757 0.0217359 -0.0284509 0.010751 0 0 0.141532 0 7.09615 0 0.811443 0.195206 0 0.18765 0.117026 -0.00534224 0 0.000463276 0 0 0.067047 0 1.31243 1.0861 0 0 0.123068 0 0 0.109842 2.3839 0.029842 0 0.827858 0 0.162053 -0.0184522 -0.00123328 -0.00835476 0.00338808 1.07046 0.192203 -0.000383038 -0.670196 -0.147692 0.0442956 0 0 0 0.0437779 0.0303254 0 0 0 0 -0.119752 -2.20208 1.42209 -1.80359 0.0349506 0.0478611 -0.496247 0.0870697 -0.0349896 0.0731389 -0.0615955 0 0 0 0 0 0 +72 0 -0.064655 0.356679 0.3128 0.0685186 -0.0712384 -0.146787 0.502012 1.32396 0.369211 -2.22143 -0.182837 0.287772 -0.521377 0.403162 0.02442 1.85117 5.05719 -1.3027 0.00186792 -0.452341 -0.816491 -0.619813 0.670715 -1.43965 0.717945 0.718318 0.388759 0.0426494 0.463078 0.128073 0.741697 0.065507 -0.689251 0.632386 0.200505 -0.0629842 0.0682979 0.371961 -0.722235 -0.134857 -0.641541 0.590691 -0.278581 0.0781552 -0.557616 -0.0423611 0.14262 0.129937 0.561897 1.34896 -0.289069 -6.52061 -0.0374644 0.0174066 -0.406069 -1.65709 -1.39536 -0.56058 1.48387 0.407763 -0.133369 0.447918 0.0770756 -1.55316 -1.38483 0.142114 0.576638 0.0256582 -0.273184 2.29028 -0.40692 -0.491632 -0.151765 -0.211398 0.289375 -3.68414 3.42217 5.75813 -3.17382 2.84696 0.642967 -1.8068 3.71772 -0.566935 1.33339 -1.6301 1.59255 0.76932 -0.293326 0.694176 -0.61113 0 0 0 0 0 0.3128 0.0685186 0 0 0 0 0 0 0 0.0693792 0 0 0 0 0.257133 0 0.0385836 -0.553041 0.461372 0 0 -0.643007 0 0 -0.406943 -3.34458 0 0 -0.0664583 -1.66428 0 -0.509312 0 -0.46449 0 0 -0.0515633 0 0 0.00681536 0 0 0 0 0 0 0 -0.294443 0 0 -0.828034 0 0 0 0 0 0 0 -0.428272 0 -5.53415 0 0.0466895 0 0 0.0229451 -1.70399 0 -0.135422 0 0 0 0.047361 0 -0.455799 0 0 -0.0581451 0 0 0 -0.192374 0 0 0 0 0 0 -0.0712384 0 -0.146787 0 0 0 0 -0.0383905 0.568347 0 0 0.133039 0 0.0144216 0 -0.00243387 0 0 0.0015199 0 0.260042 -0.0289691 0.0508944 0.00527146 0 0 -0.0331382 0 0.618926 0 1.41949 0.315775 0 -0.174869 0.674762 0.00703912 0 -0.00642347 0 0 0.071229 0 0.643149 -0.902926 0 0 -0.0779693 0 0 -0.556638 -1.16535 -0.085643 0 -0.267309 0 0.309776 -0.0216845 0.0755458 -0.357849 -0.0463995 -0.191531 -0.385223 0.00857245 -0.786217 -4.38494 -0.0223797 0 0 0 0.174101 -0.0400801 0 0 0 0 -0.173044 -7.58029 -0.739024 0.732045 -0.202104 0.390629 -0.591974 -0.084699 0.0615096 -0.00648443 -0.0378922 0 0 0 0 0 0 +73 0 -0.594926 -0.404461 -0.192683 -0.0768385 -0.0796225 -0.00534097 -0.201549 0.0927666 -0.367341 0.87755 0.036213 -0.261056 0.319556 -0.206179 0.0666694 -2.21952 -10.1007 0.650003 0.327197 0.0665016 0.364174 0.240596 -0.412941 0.517186 -0.252461 -0.567004 -0.375998 -0.0257543 0.062594 -0.117818 -0.492814 0.117497 0.845057 -0.765145 -0.158111 -0.0055909 -0.709007 2.91577 -0.0222899 0.0833904 0.364256 -2.14502 -0.0901789 -0.722337 0.23219 0.0289517 -0.0412499 0.566064 0.0468523 0.182417 0.784603 0.998752 -0.289464 0.258743 -0.20408 -2.90114 -0.292057 -0.304015 -0.516602 -0.216183 -1.06336 0.0154648 -3.48263 2.12329 0.34142 0.0965695 -2.38351 -0.728827 0.271645 -0.670631 -0.208996 0.0466877 0.784379 -0.953997 0.0938291 2.75785 -10.8538 -3.53534 1.82703 -2.78953 2.58066 -3.94253 -1.12851 0.858041 -1.08309 0.1185 -0.663133 0.140938 -0.242596 0.0441215 -0.0826062 0 0 0 0 0 -0.192683 -0.0768385 0 0 0 0 0 0 0 0.0834096 0 0 0 0 0.23703 0 0.0426507 -0.420685 0.472727 0 0 0.12252 0 0 -0.0167568 -0.787525 0 0 0.0253902 -0.44417 0 0.350792 0 0.143826 0 0 0.0233489 0 0 1.14015 0 0 0 0 0 0 0 -0.202268 0 0 -0.993238 0 0 0 0 0 0 0 -0.349769 0 -6.52684 0 -0.0643527 0 0 0.058799 -1.58559 0 -0.27143 0 0 0 -2.14663 0 -0.609141 0 0 -0.475802 0 0 0 -0.197832 0 0 0 0 0 0 -0.0796225 0 -0.00534097 0 0 0 0 -0.00950342 -0.933227 0 0 0.142146 0 0.0264298 0 -0.0141169 0 0 -0.0489418 0 0.0666471 -0.0245588 0.0180523 -0.00720335 0 0 -0.108965 0 -5.20965 0 0.870133 -0.240983 0 -0.0219768 0.164516 0.00336632 0 -0.0043043 0 0 -0.10311 0 -0.965439 -0.0830803 0 0 -0.0170428 0 0 -0.0211328 -2.75935 0.0516633 0 -1.50975 0 -0.366417 0.0107541 -0.045138 -0.426223 -0.0586244 -0.166704 -0.242752 -0.0142881 1.18839 1.02175 0.0670064 0 0 0 -0.218462 -0.0554621 0 0 0 0 0.291112 -10.2811 -1.285 -0.456177 -0.232726 0.212607 -0.552982 -0.0667148 0.0373863 -0.048458 -0.0227652 0 0 0 0 0 0 +74 0 -0.375659 -0.577656 -0.277215 -0.112787 0.155588 0.121033 -0.824386 -2.38326 -0.461904 2.42826 0.0849979 -0.773113 0.458153 -0.795445 -0.129142 -2.47726 -7.56975 1.24335 -0.927141 -0.0436472 0.757394 0.698601 -0.591473 1.45901 -0.918342 -0.839341 -0.445564 -0.038154 -0.377992 -0.268173 -0.687972 -0.208284 1.30971 -0.618264 -0.264679 -0.00764446 -1.6543 2.86924 0.496653 0.0287311 0.532901 -2.4413 0.074476 -1.54328 0.357789 0.0122393 -0.118001 -1.53703 -0.300215 -1.06574 0.361738 -3.71902 0.784297 -0.71882 0.205225 -1.68606 -0.0411971 -0.366895 -1.40913 -0.310833 -1.49356 -0.102081 -2.92883 2.07144 1.08648 0.340994 -3.31251 -1.34195 0.339146 -2.74119 -1.25631 0.534297 1.28488 -0.246481 0.0218351 1.10058 -11.7208 -7.07994 4.95221 -3.46276 1.08732 -2.25214 -3.59886 1.16018 -1.72323 2.66759 -1.03938 -0.44501 0.34394 -0.576677 0.433348 0 0 0 0 0 -0.277215 -0.112787 0 0 0 0 0 0 0 -0.0821836 0 0 0 0 -0.32379 0 -0.0535112 -0.00959837 -0.539211 0 0 -0.860282 0 0 0.200701 -1.10618 0 0 -0.17649 -0.409495 0 -0.0467664 0 -0.561755 0 0 -0.108704 0 0 -0.331461 0 0 0 0 0 0 0 0.33496 0 0 0.503412 0 0 0 0 0 0 0 -0.273156 0 -4.89306 0 -0.0527043 0 0 -0.127325 -1.34917 0 -0.579646 0 0 0 0.623802 0 0.55528 0 0 0.138561 0 0 0 0.225406 0 0 0 0 0 0 0.155588 0 0.121033 0 0 0 0 -0.0339493 -0.294161 0 0 0.123059 0 0.0156322 0 0.00468846 0 0 0.00534672 0 0.0771939 -0.00199199 0.00097254 -0.00107311 0 0 0.065356 0 1.90075 0 1.93273 0.236442 0 -0.153669 0.463806 -0.000334004 0 -0.000249577 0 0 -0.0452045 0 0.774351 0.683607 0 0 0.0616819 0 0 0.257805 0.405832 0.0709054 0 1.19943 0 0.415246 -0.103644 0.0355494 -0.293056 0.0525335 0.737507 -0.104612 -0.0546573 -0.259793 1.71698 0.0174351 0 0 0 -0.0531169 0.0357278 0 0 0 0 0.0614653 -13.5793 -0.78856 -1.25885 -0.154091 0.0632643 -0.744417 -0.00661136 0.0134036 -0.0863174 0.10681 0 0 0 0 0 0 +75 0 -1.07264 -0.488692 -0.174524 -0.0710061 0.00554488 0.0200237 -0.13857 -0.179545 -0.290796 1.56586 0.0570556 0.41071 0.288435 1.00573 -0.0299056 0.185649 0.0733804 0.703641 -0.00743942 0.481251 0.414266 0.680493 -0.372368 0.787613 -0.0932411 -0.0485734 -0.258659 -0.0186123 -0.0197517 0.145306 -0.433119 -0.0324736 2.24889 -0.455196 -0.0681623 -0.00296609 -0.449809 8.27084 0.0636215 0.123724 0.335493 -0.836171 -0.0828647 2.22628 0.22525 0.0298463 -0.0390218 0.138429 -0.00278596 1.21292 0.804784 -0.598656 -0.0476535 0.0436751 -0.123743 -0.754568 -0.556727 0.182499 -0.810231 -0.195688 1.03024 0.344092 -0.849879 1.12341 -0.738769 -0.0290241 -1.75726 -0.113695 0.213513 -0.774915 0.169221 0.120854 0.35532 0.202844 0.112014 -0.387708 -29.5079 -9.20695 0.354134 -7.77 4.238 -7.89926 -1.71677 0.842744 -1.53126 0.847716 -0.654351 0.0815863 -0.100429 -0.0517268 0.0226443 0 0 0 0 0 -0.174524 -0.0710061 0 0 0 0 0 0 0 0.0423063 0 0 0 0 0.134011 0 0.0153079 -0.450519 0.309029 0 0 -0.586735 0 0 -0.0197167 -3.76135 0 0 -0.0250521 -1.48277 0 0.185804 0 -0.377173 0 0 -0.0236004 0 0 1.15579 0 0 0 0 0 0 0 -0.0122137 0 0 0.65657 0 0 0 0 0 0 0 0.303901 0 5.89361 0 0.00832564 0 0 0.0998151 1.36452 0 0.186054 0 0 0 -2.17516 0 -0.457783 0 0 -0.483154 0 0 0 -0.129184 0 0 0 0 0 0 0.00554488 0 0.0200237 0 0 0 0 -0.0131745 -0.352856 0 0 0.32735 0 0.052222 0 0.00446049 0 0 -0.135196 0 0.312833 -0.0285353 0.0434759 -0.0112249 0 0 0.0350595 0 -2.8291 0 2.32489 0.0742532 0 -0.307674 0.868207 0.00800661 0 0.00280036 0 0 -0.0430445 0 -0.205912 -0.451949 0 0 -0.0424156 0 0 0.0875314 -2.16841 0.104381 0 0.342018 0 0.395845 -0.0242945 0.0203343 -0.897924 0.0646547 0.245534 -0.52887 -0.0407411 0.139647 -0.230572 -0.00391793 0 0 0 -0.0132612 -0.0818471 0 0 0 0 0.0688424 -15.6821 -1.8894 0.225106 -0.317149 0.497117 -1.06931 -0.109822 0.0692151 -0.0828783 0.00152377 0 0 0 0 0 0 +76 0 -0.140053 -0.0465181 -0.21156 -0.0860748 -0.0649274 0.0861069 -0.356969 -0.811378 -0.352508 3.28712 0.21578 0.752707 0.349646 1.07584 0.0694697 0.441445 5.48655 0.98172 0.335074 -0.472299 0.590396 0.314411 -0.451391 1.85982 -0.201104 -0.222685 -0.503359 -0.070408 -0.816981 0.175589 -0.525035 0.163562 1.00449 -0.757153 -0.0872948 0.0727894 -1.05006 3.46356 0.672366 0.0020614 0.40669 -1.57526 0.209662 3.56837 0.273052 0.0268129 -0.256941 0.82827 -0.448445 1.59297 1.11225 6.17184 -0.381057 0.349245 -0.368769 1.8204 0.597944 0.921621 -1.91479 -0.237216 -0.126788 -0.0251917 -3.87185 0.949615 -1.12799 -0.235813 -2.23861 -0.802531 0.258824 -3.56907 0.344007 0.560101 0.805153 0.427843 0.157004 1.9097 -15.9857 -13.4442 5.6559 -7.56276 1.92948 -0.376132 -4.78797 1.55344 -1.38396 0.895411 -0.793215 -0.76569 1.03015 -1.0165 0.936627 0 0 0 0 0 -0.21156 -0.0860748 0 0 0 0 0 0 0 0.0584713 0 0 0 0 0.172671 0 0.0223008 -0.130232 0.39423 0 0 1.45926 0 0 -0.410356 3.85036 0 0 0.229497 0.792428 0 -0.785871 0 0.673585 0 0 0.106777 0 0 -1.05665 0 0 0 0 0 0 0 -0.452522 0 0 -1.28101 0 0 0 0 0 0 0 0.135573 0 1.1884 0 0.115477 0 0 0.126442 0.639953 0 0.642975 0 0 0 1.98859 0 -0.218298 0 0 0.441713 0 0 0 -0.1648 0 0 0 0 0 0 -0.0649274 0 0.0861069 0 0 0 0 -0.079034 -0.556801 0 0 0.185439 0 0.0299904 0 -0.000123339 0 0 0.0140558 0 -0.0240401 -0.054955 -0.0125596 0.00553546 0 0 -0.0038188 0 0.074831 0 -0.855534 0.00408854 0 -0.36198 -0.238309 -0.000332862 0 -0.0101917 0 0 -0.0554541 0 0.189977 0.395109 0 0 0.0502398 0 0 0.0715403 -2.16874 -0.0142843 0 -0.65803 0 -0.469788 0.0369023 -0.0105788 -0.563834 -0.0133987 0.179662 -0.115012 -0.0650978 0.287896 -0.546445 0.0260436 0 0 0 -0.163825 -0.0127516 0 0 0 0 0.228994 -2.62539 -1.33674 1.47424 0.0345698 0.00457335 0.10766 -0.063129 0.0595344 -0.0873 0.177099 0 0 0 0 0 0 +77 0 -1.09634 0.0594959 -0.0553899 -0.241206 0.143039 0.325516 -0.355379 -1.32525 -0.642177 1.47518 0.346656 0.556588 0.00647799 1.91186 0.0800627 0.465439 0.464502 0.290032 0.25202 0.403283 0.0399717 -0.244348 -0.0153769 0.345766 -0.656298 0.458503 0.0289018 -0.766646 -1.38139 0.468402 -0.0988193 0.559264 0.421388 0.0768909 -0.431811 0.0341884 0.0109176 5.07535 0.379707 1.11725 0.0207626 0.217733 0.0380445 2.83096 0.0127107 0.91274 -1.0168 1.71014 -0.127534 1.03273 -0.185789 -1.96338 -0.573167 0.174691 -0.328893 -2.55678 0.261851 0.71228 -0.298021 -0.00907707 0.0865928 -3.12401 -2.01442 -0.0437846 -0.320246 0.266083 -0.515946 0.0563898 0.253262 -0.920663 0.0521952 0.0603079 -0.131283 -2.8614 1.13646 0.725135 -16.2383 -5.31149 1.85645 -2.41796 1.21517 -2.55036 -0.770231 0.609887 -0.966071 1.82836 -0.00637321 -0.0904863 0.332026 -0.9386 3.10687 0 0 0 0 0 -0.0553899 -0.241206 0 0 0 0 0 0 0 0.00783967 0 0 0 0 0.0233748 0 0.00340231 -0.0146067 0.0610666 0 0 -0.0678455 0 0 -0.0142867 0.0911389 0 0 -0.00978692 -0.000608037 0 -0.0221543 0 -0.0117528 0 0 -0.000904659 0 0 0.205803 0 0 0 0 0 0 0 0.0560102 0 0 -0.175063 0 0 0 0 0 0 0 -0.112351 0 -1.46287 0 -0.026955 0 0 0.00760141 -0.441281 0 -0.155824 0 0 0 -0.274283 0 -0.125048 0 0 -0.189878 0 0 0 -0.0263739 0 0 0 0 0 0 0.143039 0 0.325516 0 0 0 0 0.0799095 -0.31131 0 0 0.201394 0 0.0310175 0 0.0106499 0 0 0.279424 0 -0.452181 -0.0272653 -0.153031 0.0378134 0 0 0.0914059 0 1.36194 0 1.2108 0.899576 0 -0.237092 -0.529887 -0.00913515 0 0.0225552 0 0 -0.0253247 0 1.77062 0.643926 0 0 0.095748 0 0 -0.318161 0.206266 -0.0700518 0 -1.29601 0 -0.395822 0.0311054 -0.014788 0.0331142 -0.116232 -0.0139769 0.254294 0.0691106 0.0424392 -5.53817 0.0502449 0 0 0 0.0257306 -0.020054 0 0 0 0 -0.0147672 0.0398661 -0.558829 1.68097 -0.331596 0.38866 -0.251449 -0.108216 0.122165 -0.130878 0.19999 0 0 0 0 0 0 +78 0 1.01435 0.585496 0.0542728 0.0469795 0.0207223 -0.0180194 0.722788 1.16674 0.305528 -1.81706 0.184893 -0.172984 -0.0172396 -0.335057 0.116803 1.55622 8.30152 -0.316855 0.113119 -2.17761 -0.0802587 -0.296215 0.0207531 -0.552041 0.2666 0.336003 -0.0414196 0.165107 0.764403 -0.270929 0.0956533 0.744676 -1.2496 -0.00134254 0.156831 0.0624758 0.125884 -6.29391 0.323199 -1.16138 -0.081366 0.920604 0.0975338 0.402409 -0.338596 -0.432899 0.334954 0.946599 -0.320108 0.355748 -1.70855 -2.17091 -0.377448 0.000780852 0.137323 0.540619 -0.287894 0.173945 0.878886 0.168776 -0.286526 1.41916 0.602714 -1.12661 -0.205691 0.654753 0.911147 0.223202 -0.143428 1.32951 -0.175531 0.167774 -0.304556 0.773932 -0.199646 -1.23907 22.4624 8.47307 -2.96786 5.1135 -2.94204 3.48919 1.25768 -0.885872 1.16122 -0.903718 0.169774 -0.206427 0.189126 -0.0803507 -1.7192 0 0 0 0 0 0.0542728 0.0469795 0 0 0 0 0 0 0 -0.0272286 0 0 0 0 -0.0498249 0 -0.00757336 0.0512532 -0.16957 0 0 0.182894 0 0 0.00187528 1.15104 0 0 0.0151419 0.216041 0 -0.101052 0 0.0288313 0 0 0.000896471 0 0 -0.4795 0 0 0 0 0 0 0 0.0845732 0 0 -0.0418363 0 0 0 0 0 0 0 0.110895 0 0.479516 0 -0.0263959 0 0 0.0381984 0.333212 0 -0.0255913 0 0 0 1.02132 0 0.18951 0 0 0.091195 0 0 0 0.0690991 0 0 0 0 0 0 0.0207223 0 -0.0180194 0 0 0 0 -0.382385 1.12255 0 0 -0.140171 0 -0.038803 0 0.043295 0 0 -0.00180391 0 -0.805521 -0.096335 -0.0111084 -0.000458906 0 0 0.351858 0 4.60475 0 -4.53135 -0.278354 0 -0.8395 -1.65365 -0.00926754 0 -0.0455155 0 0 0.14204 0 0.634783 -0.0294881 0 0 -0.00831625 0 0 -0.166459 4.77272 -0.400536 0 0.6064 0 0.326145 0.0409562 0.212289 0.939204 -0.0645971 -0.797579 0.920736 0.05619 -1.08367 -2.28865 -0.0294816 0 0 0 0.285349 0.0705698 0 0 0 0 -0.411822 40.4243 3.81073 4.41833 0.82741 -0.615141 2.03496 0.0182546 -0.00190003 0.0465261 0.391925 0 0 0 0 0 0 +79 0 -0.420052 0.066936 0.00461085 0.037427 -0.23533 -0.058771 0.1248 1.48669 0.083112 -0.230441 -0.0566531 -0.140188 0.000458623 -0.664217 -0.018479 0.998843 4.32351 0.0488996 -0.0256903 0.33329 0.0172709 -0.00810115 0.00075909 0.0505359 0.185621 0.186257 0.00716823 0.111219 0.258162 -0.170348 0.00833352 -0.131984 0.172058 0.102517 0.0413964 -0.00862296 0.0936794 1.44374 -0.169353 0.0152711 0.0038621 0.694604 -0.0217449 -1.16211 0.0288208 -0.124807 0.104056 -0.207949 0.0368927 -0.533764 0.267597 1.15227 0.0665146 -0.0107587 0.00280186 1.5 -0.0563756 0.351381 -0.012168 -0.0138917 -0.632291 -1.61663 0.569661 -0.41039 -0.270443 -0.121041 -0.0316508 0.0668984 -0.0306768 0.268407 -0.0782995 -0.0786889 0.0205243 1.67215 0.149249 0.192529 -5.94284 -1.08414 -2.21133 -0.800941 0.537439 -1.78264 -0.046499 -0.260597 0.663214 -2.81845 -0.0144509 0.0531312 -0.0971322 0.286055 -0.580627 0 0 0 0 0 0.00461085 0.037427 0 0 0 0 0 0 0 0.0138324 0 0 0 0 0.0113118 0 0.00205817 0.0365791 0.0732874 0 0 0.0925004 0 0 -0.00963293 0.767076 0 0 0.00107842 0.181995 0 -0.0276774 0 0.0129872 0 0 0.000129242 0 0 0.0555803 0 0 0 0 0 0 0 -0.0702042 0 0 -0.113589 0 0 0 0 0 0 0 -0.0114186 0 -0.715038 0 0.00395813 0 0 -0.0766195 -0.139847 0 0.0193379 0 0 0 -0.12941 0 -0.0658605 0 0 -0.000440927 0 0 0 -0.0356405 0 0 0 0 0 0 -0.23533 0 -0.058771 0 0 0 0 0.330133 0.154493 0 0 -0.226235 0 -0.0265706 0 -0.000257696 0 0 0.327637 0 -0.081307 0.078569 0.00267293 0.0401987 0 0 0.00836831 0 0.862671 0 1.85214 -0.178378 0 1.03543 0.417225 -0.000926455 0 0.021296 0 0 0.021396 0 0.126695 0.357101 0 0 0.0377973 0 0 0.104443 -1.42597 0.3382 0 -0.118157 0 -0.52737 0.0511704 -0.240833 0.222992 -0.237268 -0.788008 -0.0209705 0.119574 0.269036 2.04491 0.0279671 0 0 0 -0.0207874 0.036747 0 0 0 0 -0.0136334 -18.8144 -0.649579 -5.2171 -0.344655 0.108878 -0.816963 0.0983176 -0.105029 0.156402 -0.561947 0 0 0 0 0 0 +80 0 0 0 0 0 0.253911 -0.201418 0.393323 0.671467 0 0 -0.00986451 -0.947342 0 -1.76033 -0.0199116 0 0 0 -0.150287 0.832748 0 0 0 0 0.432698 0 0 0.839197 5.01617 -0.69632 0 -0.220915 0 0 0.293201 0.00922214 0 0 -0.10022 -0.0761374 0 0 0.033718 -3.16488 0 -0.523118 1.83336 -0.84759 -0.00245293 -0.945501 0.142462 0 0.19929 -0.154989 0.328472 -0.816069 0.300028 -0.292024 0 0 0.639302 -0.445262 0 -0.0891521 0.176647 -0.495178 0 0 0 0 -0.0894753 -0.101265 0 0.908356 -2.2971 0 0 0 0.136817 0 0.215684 -4.86107 0 -0.0457143 -0.0450468 -4.40929 0 -0.0653089 -0.186959 0.645642 -12.7508 0 0 0 0.150402 0.00447497 0 0 0 0.00214322 0 0 0.000211809 0 0 0.00289171 0 0 0 0 0.0594754 0 0.00241952 0 0.0499079 0 0.0306593 -0.0658673 0 0.000194817 0 0 0.0118274 0 -0.00160976 0 0 0 0 -0.0465069 0.00258414 0 -0.00174638 0 0 0 0 0 0 0 0 0 0 0.0757775 0 0 0 0 0 0 0 0 0 0 0.0484875 0 0 0 -0.0323804 0.0138009 0 0.0440085 0.090492 0 -0.00448478 0 -0.0128268 0 0 0 -0.071049 0 0 -0.0128101 0 0 0 0.0228252 0 0 0 0 -0.00371195 0 0.253911 0.150402 -0.201418 0.00447497 -0.373078 -0.123191 0.0158838 -0.290661 0.11748 -0.000579341 -0.0639935 0.170625 -1.45807e-05 0.00527568 0.000460724 0.00193796 -0.0237149 -0.0223075 0.800539 -0.113892 -0.420366 -0.0174448 0.138755 0.131139 -0.264129 0.262427 0.0966177 -0.0190789 -4.19879 -0.0780421 0.0353009 -1.38179 1.31013e-05 -0.322108 -0.308042 0.00397509 0.00104005 -0.0384684 -0.00124505 1.40662 0.00261765 0.0535516 -2.20617 0.71392 -0.00655969 -0.00385976 0.00177955 -0.0688315 -0.00451787 -0.301556 2.56607 0.0909134 0.00677957 1.53363 -0.000206722 0.154189 -0.00360453 -0.028206 0.0578761 0.174042 0.990059 -0.174779 0.031878 -0.0164965 9.0042 -0.112664 -0.310147 -0.0267936 -0.194227 -0.111019 -0.00802309 0.0270495 0.000779648 -0.0462694 0.0238099 -0.00265341 -0.185293 -0.446216 0.727907 0.0583631 0.252889 -4.02027 -0.00188297 0.0112737 -0.0213011 -0.81715 0.000230502 0.00942152 -0.0905917 0.236039 -1.76049 0 +81 0 0 0 0 0 0.721006 0.377503 -0.720444 -2.80667 0 0 0.00656472 0.511636 0 1.1695 0.00155479 0 0 0 -0.0144164 -1.15259 0 0 0 0 -0.561307 0 0 -0.709117 -2.26245 0.515247 0 0.0222042 0 0 -0.334628 -0.000243715 0 0 0.20148 0.759198 0 0 0.0719651 0.572901 0 1.10954 -0.793728 -0.00180063 -0.113808 0.737308 0.00500267 0 0.00364766 -0.00198686 -0.0247933 -0.584684 -0.0921681 -0.11746 0 0 0.401125 -3.04409 0 -0.79164 -0.0512639 -0.240611 0 0 0 0 -0.141986 0.121743 0 -2.90243 0.365563 0 0 0 3.89439 0 6.6861e-05 1.1115 0 -0.126647 -0.291984 4.65701 0 -0.215411 -0.0551412 0.306868 3.65662 0 0 0 -0.0244916 -0.00160316 0 0 0 -0.00877495 0 0 -0.000399959 0 0 -0.00391023 0 0 0 0 -0.0666596 0 -0.0022224 0 -0.127638 0 -0.111243 -0.025292 0 -0.000162462 0 0 0.00122913 0 -0.000287594 0 0 0 0 0.0354214 -0.00227154 0 0.00128904 0 0 0 0 0 0 0 0 0 0 -0.0104487 0 0 0 0 0 0 0 0 0 0 -0.0739554 0 0 0 0.00150498 0.0173468 0 0.047882 -0.073692 0 -0.0262795 0 -0.0338305 0 0 0 0.136372 0 0 0.000225356 0 0 0 0.0223543 0 0 0 0 -0.00610621 0 0.721006 -0.0244916 0.377503 -0.00160316 0.287616 0.0721514 -0.0119946 -0.445762 -0.0556844 0.000263374 0.014477 -0.0937773 7.78233e-06 -0.00324391 -0.00037753 0.00043599 0.0103391 0.00744595 -0.777718 -1.10686 0.180976 -0.387582 -0.052363 -0.14824 0.024488 -0.21521 0.0094139 -0.0149167 3.61444 0.0817819 1.22375 1.4543 -1.10311e-05 -1.66101 0.439172 -0.00190619 0.00140015 -0.127191 0.013247 -1.14006 -0.00101796 -0.0437863 2.17231 -1.97756 0.00278683 0.00827276 -0.425172 -0.160704 -0.00349808 1.03283 -1.25202 -0.690882 -0.0274006 -0.312195 0.000519696 -1.24018 -0.00378004 -0.0410309 0.0175939 -0.0432322 -0.405405 0.128357 0.216283 -0.0494412 -8.95522 -0.110576 0.778588 0.0467398 0.0626869 -0.102936 0.00517708 -0.0297728 -0.000430843 0.149357 -0.07896 0.00185224 -6.42339 0.301053 4.35766 -0.0258642 0.124744 1.81869 0.000818766 0.0860393 -0.282158 1.96854 -7.69386e-05 -0.0491518 0.112252 -0.264821 1.50934 0 +82 0 0 0 0 0 0.272517 0.240209 -0.555567 -1.15489 0 0 -0.0450836 1.0789 0 1.92474 -0.00659332 0 0 0 -0.0360269 2.1401 0 0 0 0 -0.431738 0 0 -0.640744 -2.36862 0.761883 0 -0.0731788 0 0 -0.270571 -0.00339697 0 0 -0.0696858 0.312498 0 0 -0.0170927 3.111 0 -0.0673734 -0.977875 -0.236436 0.0266759 1.12481 -0.0552324 0 0.00714093 -0.051177 -0.139566 -1.32289 0.0556597 -0.094509 0 0 -0.191973 1.61285 0 -0.271426 -0.103674 0.0890668 0 0 0 0 -0.217563 -0.221422 0 -0.504177 1.21604 0 0 0 1.34732 0 0.0830545 3.50862 0 0.0857565 0.11991 2.64136 0 0.0444979 -0.0944068 -0.149631 7.18232 0 0 0 0.0257601 0.000861169 0 0 0 -0.000227055 0 0 3.66742e-05 0 0 0.000887376 0 0 0 0 0.015608 0 0.000608415 0 0.0224144 0 -0.00497662 -0.0312611 0 4.30397e-05 0 0 0.00122763 0 -0.00060838 0 0 0 0 -0.0168748 0.000683691 0 -0.000511957 0 0 0 0 0 0 0 0 0 0 0.0137984 0 0 0 0 0 0 0 0 0 0 0.0106364 0 0 0 -0.00934035 0.00101196 0 0.00738721 0.0218837 0 -0.00110752 0 -0.00187506 0 0 0 -0.0267237 0 0 -0.000507952 0 0 0 0.000362635 0 0 0 0 -0.00340491 0 0.272517 0.0257601 0.240209 0.000861169 0.21377 0.0752477 0.00373959 0.235544 0.0293356 -0.000117536 -0.0175022 0.0792027 -3.0831e-06 0.00187632 0.000111678 0.000490284 -0.0121998 -0.00423377 1.10306 1.09599 0.502866 0.0342062 0.0618119 0.207052 -0.0868199 -0.122179 0.0379074 0.00311213 3.21015 -0.102272 2.73104 1.27663 3.20772e-06 0.327671 1.26114 0.00144249 -0.00365992 0.0148886 -0.0196597 -0.599517 0.000134094 -0.0219163 2.21387 2.51861 -0.00247318 -0.0160911 0.497915 0.128883 0.144028 -0.140615 -1.59567 0.0352613 -0.0207915 -0.357711 -8.8054e-05 -1.88106 -0.000132684 -0.0959583 0.071217 -0.267698 0.563833 0.0649486 -0.0917432 0.17701 -5.902 -0.118205 -0.558841 -0.0337766 0.0891048 0.0914674 -0.00256653 0.00932135 0.000166451 -0.121252 -0.0288793 0.00111281 -14.3351 -0.085262 -2.14489 -0.00299841 0.224473 2.34555 -0.000599264 0.00428703 0.115877 0.337136 4.37474e-05 0.00988299 -0.0250437 0.119924 0.749272 0 +83 0 0.214545 0.313245 0.000356378 0.0360603 -0.0901193 0.195289 0.338973 1.1009 0.000874734 0.0303488 -0.00903846 1.55055 -4.29534e-08 2.44556 -0.000179209 1.85661 5.56967 0.00866942 -0.000350006 3.73195 0.00237859 -0.123235 5.54526e-08 0.0142197 0.0191366 0.648732 -0.00612016 -0.259229 0.256211 0.716849 7.12793e-06 -0.0201733 0.105407 -0.0921757 -0.116556 -9.67373e-05 -0.0586747 1.1571 -0.00334445 2.26416 -5.52127e-06 -0.610577 -5.24317e-05 5.05044 -0.000677566 1.25313 -0.0428509 -0.0382035 5.43695e-05 -0.376114 -0.0155702 -7.3573 0.000198496 -0.000181925 -0.00146706 -3.53595 -0.151985 0.0319074 3.55408e-05 3.48662e-06 -1.38403 -3.12188 -0.713581 -0.349964 0.197261 -0.0585003 0.0702072 -0.0722791 -3.80421e-06 0.17146 -0.0172832 -0.00528099 0.0844723 -3.30075 0.328955 0.2616 -1.73328 0.0380198 -2.26412 -0.263396 0.579783 -2.36584 -0.0310455 0.0650109 -0.0232073 -1.45826 6.90566e-08 1.08076e-06 0.000238035 0.000895151 -0.189893 0 0 0 0 0 0.000356378 0.0360603 0 0 0 0 0 0 0 0.000938878 0 0 0 0 2.86894e-06 0 9.24563e-06 -0.000353065 0.000288861 0 0 0.0128431 0 0 0.0005558 -0.02177 0 0 0.00153319 -0.0181123 0 0.0286357 0 0.000124971 0 0 1.49095e-05 0 0 0.0856817 0 0 0 0 0 0 0 -0.0167101 0 0 0.0215282 0 0 0 0 0 0 0 0.00109257 0 0.111107 0 -0.000530642 0 0 -0.000632805 0.0247721 0 -0.00121422 0 0 0 -0.196218 0 -0.000858654 0 0 -0.00369254 0 0 0 -1.24487e-05 0 0 0 0 0 0 -0.0901193 0 0.195289 0 0 0 0 -0.00330332 -0.275186 0 0 -0.209686 0 -0.0125167 0 -0.00449724 0 0 0.444773 0 -0.257861 0.0939455 -0.0341827 0.0208418 0 0 -0.0857847 0 9.69877 0 -0.876361 1.22951 0 0.468519 -0.339124 -0.000816123 0 0.00767235 0 0 -0.023342 0 3.46614 1.39104 0 0 0.135343 0 0 -0.473402 -2.55042 -0.16386 0 -1.68494 0 0.410126 -0.0618826 0.12931 0.0617539 -0.094609 -1.4345 -0.162532 -0.00336799 -0.101734 -2.78922 -0.0376555 0 0 0 0.0474093 0.0159725 0 0 0 0 -0.01119 5.46021 1.05005 -0.929438 0.072743 0.0173907 0.358434 0.0188744 -0.00988609 0.128624 -0.329651 0 0 0 0 0 0 +84 0 0.474696 0.416387 -0.000211 -0.0213501 0.207491 0.0874546 0.0312698 0.081544 -0.000517901 -0.018122 0.0042624 -0.643926 2.54313e-08 -1.93266 0.000111831 1.51737 3.31137 -0.0168716 0.000221439 -2.58442 -0.00307032 -0.463611 -3.28317e-08 -0.00415433 -0.167958 0.744952 0.000527293 -0.172425 0.374147 -0.454105 -4.22021e-06 0.0128368 -0.710182 0.0172957 -0.210506 5.02897e-05 0.00986041 -2.44324 0.00115425 -1.07711 3.26896e-06 0.111378 2.57454e-05 -2.67761 0.000401164 -0.233795 -0.0449555 0.0248346 -2.85327e-05 -0.218681 0.00634567 -1.79515 -0.000123947 0.000113599 0.000615176 -0.614179 -0.0246968 -0.0185158 0.0040642 -2.06431e-06 -1.52546 2.2268 -0.36101 1.02452 0.0744316 -0.0466066 -0.0552394 0.0344041 2.25235e-06 0.214333 -0.0652254 0.00458042 -0.0204736 1.69966 -0.0715141 -0.0558132 6.50264 0.497757 0.432505 0.0815022 -0.125501 2.19358 0.00205528 -0.0529872 0.252949 -0.577924 -4.08861e-08 -5.97796e-07 -0.000167729 -0.000930416 -0.277301 0 0 0 0 0 -0.000211 -0.0213501 0 0 0 0 0 0 0 -0.000537665 0 0 0 0 -1.92602e-06 0 -5.3572e-06 0.000197152 -0.000206478 0 0 -0.00636397 0 0 -0.000321279 0.0129318 0 0 -0.000751728 0.00979734 0 -0.016341 0 -6.60369e-05 0 0 -7.8266e-06 0 0 -0.0488804 0 0 0 0 0 0 0 0.00984667 0 0 -0.0108858 0 0 0 0 0 0 0 -0.000372263 0 -0.0639219 0 0.000333414 0 0 0.000374256 -0.0133095 0 0.000833969 0 0 0 0.11194 0 0.000537585 0 0 0.00210655 0 0 0 8.8984e-06 0 0 0 0 0 0 0.207491 0 0.0874546 0 0 0 0 -0.243235 0.049011 0 0 0.121814 0 0.0117561 0 0.00154093 0 0 0.0244198 0 -1.29024 -0.122308 0.010957 0.0149046 0 0 0.00281187 0 -4.88716 0 -6.06637 -1.08662 0 -0.705127 -2.63104 5.96446e-05 0 -0.0480109 0 0 0.0131006 0 -2.23802 -0.108713 0 0 0.0172341 0 0 0.475911 -0.330239 0.330973 0 2.41831 0 0.620117 0.0567441 -0.0521051 0.27139 -0.0432296 -0.869775 -0.296103 0.0674851 -0.174794 10.166 -0.0306987 0 0 0 -0.0199715 -0.0350037 0 0 0 0 -0.0336135 35.9107 0.437604 4.68744 0.372674 -0.412264 2.27161 -0.0661946 0.0522853 -0.0494198 0.284775 0 0 0 0 0 0 +85 0 0.281817 0.052221 1.9647e-05 0.00198799 0.0266527 -0.154243 0.736196 0.575997 4.82237e-05 0.0415366 0.00112777 0.416491 -2.368e-09 0.203957 -2.88449e-05 1.04814 4.24608 0.00286699 -8.15213e-05 1.49912 -0.000639083 0.267415 3.05708e-09 -0.00318771 0.526202 -0.00578478 -0.00285748 0.568463 0.788196 -0.183089 3.9296e-07 -0.00406874 0.112317 -0.0518886 0.457025 5.09732e-06 -0.0219831 -1.53553 0.000793376 0.348461 -3.04385e-07 -0.268306 3.3813e-06 1.95151 -3.73539e-05 -0.197113 0.607651 -0.0118069 -1.3329e-06 0.109472 -0.0888064 -0.480146 3.90686e-05 -3.5807e-05 -0.00176005 1.2788 -0.169168 -0.00196513 0.00596316 1.92216e-07 -0.606935 -1.98092 -0.640612 0.339823 -0.0795194 -0.230561 -0.364103 -0.0195602 -2.09725e-07 -0.173256 -0.16396 0.00108046 0.0185511 0.248792 -0.163627 -0.135374 7.10653 0.219395 2.56343 0.205405 -0.25192 1.63765 -0.0182404 0.00666831 -0.222232 0.860868 3.80706e-09 9.75615e-09 -2.63234e-05 -0.00135297 -0.584176 0 0 0 0 0 1.9647e-05 0.00198799 0 0 0 0 0 0 0 1.27005e-05 0 0 0 0 -1.64043e-06 0 2.5916e-07 -1.96286e-05 -0.000264469 0 0 0.000180716 0 0 2.96877e-05 -0.00288937 0 0 4.15078e-05 -0.00101675 0 0.00150364 0 3.50708e-06 0 0 5.46024e-07 0 0 0.00449746 0 0 0 0 0 0 0 -0.000871243 0 0 0.0007978 0 0 0 0 0 0 0 6.07243e-05 0 0.0074326 0 -7.07419e-07 0 0 -3.81077e-05 0.00121105 0 -0.000139872 0 0 0 -0.0102995 0 0.000275117 0 0 -0.000193823 0 0 0 1.13975e-05 0 0 0 0 0 0 0.0266527 0 -0.154243 0 0 0 0 -0.0467241 -0.228528 0 0 -0.0489132 0 -0.00309977 0 -0.0011866 0 0 0.261522 0 0.011877 -0.0326045 -0.0032981 0.00735447 0 0 -0.0232361 0 3.63269 0 -2.72848 -0.0803847 0 -0.361071 -0.542294 -4.69016e-05 0 0.0056031 0 0 -0.0217757 0 0.840598 0.81184 0 0 0.0549796 0 0 0.144209 -1.74571 0.321093 0 0.306292 0 0.667913 -0.0367841 -0.0308907 -0.268727 0.0441602 -0.50316 -0.471011 -0.0917319 0.0980546 2.19135 -0.0508494 0 0 0 -0.0158408 0.00155527 0 0 0 0 0.0333984 19.227 0.652721 3.49455 0.267173 -0.224427 1.35865 -0.0313275 -0.0192053 0.000160415 0.357796 0 0 0 0 0 0 +86 0 0 0 -0.192569 -0.0152789 0 0 0 0 2.86995 1.36606 -0.0473332 0 0.364996 0 -0.0184284 0 0 0.56098 0.194665 0 0.441662 0 -0.40729 1.36678 0 0 -0.640971 0 0 0 0.0817475 -0.387043 0 -1.18579 0 -0.000466802 -1.11781 0 0.0679537 0 0.242717 -2.59504 0.244199 0 -0.40905 0 0 -1.12866 -0.949244 0 0.31457 0 1.44543 0.497562 0.0474978 0 0.97845 0.139452 -0.424528 0.87066 0 0 0 0 -0.68304 0 -1.32326 -0.19231 -1.51924 -2.09986 -0.424257 -0.293264 1.64904 0 0 2.68723 0 -4.31755 0 0.277909 -0.113928 0 -3.07535 1.18051 -0.454932 0 0.863542 -0.893479 0.917488 -0.339386 0 0 0.112974 0.0154989 0.115663 -0.00167963 -0.192569 -0.0152789 0.0546519 -0.0597658 -0.179242 -0.000422436 -0.00862743 0.0235191 -0.00115401 0.0600624 0.0220051 -0.00390638 0.0159667 0.106727 -0.157373 0.237228 0.0302117 -0.832666 0.036895 0.00193955 -0.43022 -0.433489 0.0101005 0.00278156 -0.816469 -0.570397 -0.159554 0.0099321 -0.0500749 -0.541033 -0.0525138 -1.57609 -0.0167952 0.137471 -0.00841395 0.0893642 0.0536418 -0.028605 0.000268578 -2.53356 0.322715 0.192488 -0.00426762 0.613326 -0.054995 -0.024062 -0.0148555 -0.119283 0.043241 0.110482 -0.352143 -0.173511 -0.0725474 0.0507956 -0.0431041 -0.12928 -0.102504 0.0644304 -0.0625145 0.145107 0.967542 0.0180949 -0.151696 -0.0483515 0.145788 0.225501 0.249995 -0.033067 -0.165802 0.0253528 0.331467 0.0117426 10.3298 -0.891047 1.02438 0.328783 -0.640825 1.32187 -0.029451 0.0556669 -0.113507 0.0547352 0.0078553 -0.0159534 0.0308384 -0.063704 0.125525 0 0 0.115663 0 -0.00167963 0 0 0.945575 0 -0.612232 0.0336995 -0.0417773 0.356111 0.00531575 0.0593091 0.1181 -0.0970955 -0.0218397 0.196467 0 0 0 0 0.0785823 0 -0.349799 0 -0.412223 0 0 0.0683877 0 0 0.0109844 0 0 -0.0116892 0.00321629 0 0.00670042 0 -0.0981231 0 0 0 -0.0012245 0.0363979 0 0 0.0227297 0 0 0 0.205517 0 -0.550849 0 -0.118414 -0.210113 0.232838 0 0 -0.304454 0.0293787 0.338135 0 0.197211 0 0.0116421 0 0.276293 0.0168378 -0.215334 0.0846403 0.254243 0.0983974 -0.295251 0 -1.28097 0 -1.21417 -0.0304978 0 -0.62162 0.209707 -0.0443872 0 -0.453126 0.0558491 -0.0618245 -0.106021 0 0 +87 0 0 0 0.251411 0.174361 0 0 0 0 -4.27476 -2.15839 -0.596198 0 -0.329918 0 0.221958 0 0 -0.647154 0.38837 0 -0.501998 0 0.627677 -1.41536 0 0 1.19821 0 0 0 -0.0917295 1.29206 0 2.06785 0 -0.0183395 2.14921 0 -3.43307 0 0.643474 3.06262 -0.769219 0 5.12565 0 0 2.92143 3.65474 0 1.98953 0 -1.64678 0.64981 -0.526177 0 -1.60864 -1.4074 -0.789448 -3.84732 0 0 0 0 -0.110838 0 1.30969 2.03149 2.53369 3.40975 0.720608 -1.66426 -2.32919 0 0 -4.57746 0 7.051 0 -10.5231 7.57174 0 -3.67728 2.61676 2.07286 0 -19.1849 11.1288 -6.44638 5.372 0 0 -0.591599 -0.0811614 0.354078 0.0764549 0.251411 0.174361 -0.126006 -0.0272245 0.33772 0.00293127 0.000170945 -0.00284253 -0.0057327 -0.02307 -0.0819502 0.0305327 -0.0542134 -0.411183 0.260346 -0.776071 -0.0132568 1.53385 0.489802 -0.00778138 -0.154212 -0.68613 -0.0421674 -0.0114377 1.013 -0.360195 -0.279391 -0.0352511 -0.213649 1.3581 0.049832 1.47736 0.0443178 -0.523858 -0.0673307 -0.237156 -0.155672 0.290942 -0.00226149 1.59243 -0.0329275 -0.603118 0.00599849 -1.00571 -0.0876683 0.0778848 0.0258273 -0.174551 -0.0430841 -0.118918 -2.09272 0.135881 0.207523 -0.120277 0.118152 0.293038 0.0306237 -0.139418 0.25354 -0.251478 2.02851 0.58206 0.285135 0.0463269 -0.0856418 0.0850264 0.866177 0.376992 -1.26084 -0.0210909 0.0720608 -0.0499971 -6.49262 1.58123 -1.68964 -0.664769 0.685766 -0.0568367 0.101163 -0.146907 0.202678 -0.0714105 -0.0488245 0.0653 -0.0752706 0.0287075 0.219803 0 0 0.354078 0 0.0764549 0 0 -0.31282 0 0.512084 0.0833757 0.0103001 -0.167734 0.00942072 -0.00345006 0.00481241 0.0862546 -0.0289714 0.631993 0 0 0 0 0.275467 0 0.188818 0 0.287642 0 0 -0.478031 0 0 0.0071478 0 0 0.0541691 -0.00795533 0 -0.0441257 0 0.139218 0 0 0 -0.00403015 -0.0854068 0 0 0.00736771 0 0 0 -0.0426757 0 0.248509 0 -0.13873 0.110976 0.598886 0 0 -0.176405 0.440617 -0.0872785 0 0.405783 0 0.208809 0 0.124742 -0.466781 0.681716 -0.585208 -0.615303 -0.125395 -0.149021 0 0.749983 0 -2.6616 1.78378 0 -1.82343 1.06083 0.317112 0 -1.84909 1.24608 -0.504694 0.430192 0 0 +88 0 0 0 -0.292515 -0.440274 0 0 0 0 -0.0638942 4.84691 -0.170889 0 0.462514 0 0.132791 0 0 1.05998 0.564629 0 0.515979 0 -0.380276 1.74216 0 0 -0.658196 0 0 0 -0.163495 0.548155 0 -1.15971 0 -0.0671974 -1.7625 0 0.821933 0 0.751404 -3.72635 0.102141 0 1.35573 0 0 2.00969 -0.393786 0 1.00408 0 -1.5933 0.455969 0.0369679 0 -0.382111 0.123015 -2.26962 -0.648562 0 0 0 0 0.27177 0 -1.67428 -1.70325 -1.24244 -6.9566 -0.0414827 1.17637 -0.501876 0 0 1.40522 0 -14.7893 0 -1.07051 -3.41109 0 -6.46783 2.08199 -5.7257 0 -3.45909 0.0763719 -1.44825 -1.70174 0 0 -0.062405 -0.00856134 -0.130279 -0.00709993 -0.292515 -0.440274 0.000781489 0.0477191 0.0145656 0.000212298 0.00594375 0.024029 -0.00956713 0.264498 -0.0131294 0.00186289 -0.0228488 -0.0489291 0.278411 -0.144687 0.0935281 -0.546516 1.00997 -0.0011409 0.237765 0.433807 -0.00485142 0.00962204 -0.627507 1.8163 0.377934 -0.00639989 0.13466 0.0687594 -0.0143529 -1.27328 0.00314576 -0.0365946 0.0635993 -0.0619448 0.0362669 0.0116696 -0.000889329 -3.50509 0.331582 -0.299534 -0.000791119 0.0877295 -0.412268 0.0259743 -0.00929273 1.07998 -0.0375865 -0.000891084 0.899172 -0.0224566 0.0451195 -0.0229864 0.033316 0.0259012 -0.0160522 -0.0603141 -0.0816909 -0.0814498 -1.26877 -0.513805 0.03825 -0.0917248 -0.0846586 0.0792954 0.184085 -0.336328 0.712822 0.0300783 -0.0179174 -0.00682288 14.2909 -0.0656776 -0.537673 0.289487 -0.463449 0.608316 0.0296329 -0.0638921 0.168894 -0.561312 -0.00411409 0.0120204 -0.0441673 0.101007 -0.297329 0 0 -0.130279 0 -0.00709993 0 0 -0.249761 0 -1.35472 0.00224336 0.0528526 1.67833 0.00261581 0.250391 -0.0353301 -0.130258 0.121696 -0.000859574 0 0 0 0 0.586914 0 0.455076 0 -0.429411 0 0 0.378838 0 0 -0.00542134 0 0 0.0874179 0.0088583 0 0.0324174 0 -0.245751 0 0 0 0.0123708 0.0805318 0 0 0.156256 0 0 0 -0.434861 0 0.183693 0 -0.566763 0.209783 -1.21729 0 0 -1.11934 0.215578 0.373691 0 0.0123408 0 0.137507 0 -0.551089 -0.49938 -0.164526 -0.0305856 0.234486 0.00716555 0.0185185 0 -6.05918 0 0.0357117 -1.76614 0 -0.423129 0.187624 -1.308 0 0.0976948 -0.209787 -0.260877 -0.239732 0 0 +89 0 -0.44032 -0.583985 -0.0648131 0.00679226 0.0701634 -0.0377753 0.0536749 0.276751 -0.175799 -1.32207 -0.226452 -0.591594 0.135686 -0.606136 -0.177826 -3.18417 -11.8959 0.0193219 -1.05098 0.384932 0.0185278 0.598117 -0.171847 -0.549347 -0.0887603 -0.950243 -0.224201 0.0480312 0.251012 -0.102802 -0.193676 -0.451072 1.14907 -0.381099 -0.0414477 -0.116272 -1.17658 1.50616 -0.500108 0.120675 0.177436 -2.03657 -0.318369 -3.04351 0.150853 0.0300005 0.131355 -2.27665 0.437751 -0.761894 -0.392314 6.87873 -0.061921 -1.1958 0.520379 -0.792993 -0.207794 0.321566 0.603488 -0.196665 -1.43392 -0.324283 -4.72102 0.791863 0.982283 -0.0348786 -2.01405 -1.54919 0.204927 1.30108 -0.349691 -0.343332 0.0932567 0.100481 -0.309509 0.685957 -13.9166 -1.01577 0.535654 -1.80237 2.13423 -3.27795 2.3582 -0.891514 1.10181 -1.33752 -0.615671 1.19169 -0.653582 0.753426 -0.47043 0 0 0 0 0 -0.0648131 0.00679226 0.00942029 0 0 0 0 0.00390839 0 0.00950797 0 0 -0.00259676 -0.0248189 -0.0239172 0 0.00556397 0.158243 -0.0671495 0 0 -0.883621 -0.0018181 0 0.585192 -1.15029 0 0 -0.1371 -0.201862 0 0.968589 0 -0.461868 0 0 -0.0677559 0 0 1.56112 0.0543027 -0.0346271 0 0.132739 0.0678181 0 0 -0.303061 0 0.0051853 -0.932512 0.0048357 0 0 0.0118309 -0.0239929 0 -0.01096 0.13219 -0.0405442 -0.597755 -0.060293 -0.00497137 0 -0.0382994 0.00858555 -0.290872 0.0853644 0.139798 0 0 0 -6.71612 0.393764 -0.636178 -0.156846 0.299499 -0.641137 0.00496915 -0.00956908 0.0196266 0.0221088 0 0 0 0 0 0 0.0701634 0 -0.0377753 0 0 0 0 0.0709244 0.12469 0 0 0.109979 0 0.0204298 0 -0.00347533 0 0 0.00874124 0 0.107306 0.0111847 0.0526093 0.00135845 0 0 0.0132228 0 -4.20087 0 1.66679 -0.407455 0 0.1364 0.519991 0.0089757 0 0.00653695 0 0 0.00124925 0 -1.18277 -0.425001 0 0 -0.0569885 0 0 0.109913 -1.22295 0.366134 0 -0.159745 0 -0.103961 -0.00792278 -0.146695 -0.0266564 0.0676607 0.302522 -0.320024 -0.116111 -0.409496 -2.11787 0.0346595 0 0 0 -0.034222 0.0132005 0 0 0 0 -0.0921587 -10.1307 -2.12454 0.464195 -1.10171 0.972876 -1.00881 -0.154037 0.0702442 -0.0937569 -0.1691 0 0 0 0 0 0 +90 0 0.5496 0.292426 -0.0730852 -0.271186 0.532602 0.0988293 -0.481092 -2.63809 0.86406 2.12015 0.139282 -0.174428 -0.0635535 0.456088 -0.0215308 0.87741 1.70918 0.0340416 0.117926 0.0380676 -0.0763894 -0.435436 0.136423 0.64842 -0.365503 0.443048 -0.2776 -0.023341 -0.537609 -0.024276 0.406328 0.00244055 -1.02102 -0.672514 -0.0197329 0.0602837 -0.874087 -3.25169 0.926054 0.0100793 -0.291889 -2.63045 0.520118 1.13644 -0.722947 0.00951347 -0.12962 0.310387 -1.46543 -0.776608 -0.374815 -9.50915 0.0387066 0.126981 -0.064725 -3.90154 -0.538511 -0.0514637 -0.450024 1.27199 1.0743 0.0174843 2.06862 1.89976 1.37245 -0.0230442 -0.892933 -1.84753 -1.49997 -2.30642 -0.0823739 0.844016 0.710299 -1.49467 0.0779398 -0.00974152 19.3691 -2.04973 10.6976 2.36861 -1.03147 5.74651 -3.47889 1.78574 -2.00612 5.36022 2.95053 -2.70997 1.77451 -1.47773 1.00755 0 0 0 0 0 -0.0730852 -0.271186 -0.0308853 0 0 0 0 -0.0133011 0 -0.0731723 0 0 0.0277096 0.202139 -0.414005 0 -0.0418113 -0.23702 -0.759383 0 0 1.18102 0.0147475 0 -0.643943 1.75881 0 0 0.183721 0.36404 0 -1.06094 0 0.57507 0 0 0.0934547 0 0 -1.63783 -0.18421 0.378357 0 -0.42871 0.135176 0 0 0.15966 0 -0.029855 1.62116 0.00558214 0 0 -0.056476 0.0742227 0 0.0490472 0.0479806 0.142567 -0.491732 -0.431925 -0.069142 0 -0.119859 0.110269 -0.335702 0.101178 1.09809 0 0 0 6.40182 -1.02435 2.22471 0.15087 -0.287346 0.623002 -0.0358592 0.0683568 -0.147572 0.301624 0 0 0 0 0 0 0.532602 0 0.0988293 0 0 0 0 -0.176767 -0.101191 0 0 0.328891 0 0.0405907 0 0.00793079 0 0 -0.144698 0 0.0482445 -0.093008 0.0408696 -0.0178945 0 0 0.0452901 0 1.11724 0 -1.77976 0.165722 0 -0.88127 -0.0254594 0.00311986 0 -0.0183269 0 0 -0.00166768 0 0.436014 -0.0517282 0 0 -0.0126951 0 0 -0.116558 0.210207 -0.650028 0 -0.0186072 0 0.754339 -0.308823 0.493786 -0.583254 -0.0757169 0.512202 -0.227248 0.189558 -0.0120565 -2.33509 0.027653 0 0 0 0.0451662 -0.137665 0 0 0 0 0.0518058 15.4115 -1.1599 5.81367 -0.38034 0.419409 1.90671 -0.423775 0.386364 -0.244121 0.754307 0 0 0 0 0 0 +91 0 0.208526 0.506952 0.41193 0.211097 -0.23676 -0.0980079 0.311508 1.83535 0.148658 -2.38972 -0.0888715 -0.707764 -0.664902 -0.345027 -0.0400319 0.73287 3.21695 -1.24961 0.0631712 -0.461608 -0.848799 -0.952133 0.791103 -1.30138 0.269549 0.426491 0.576377 0.0311142 0.539444 -0.103911 0.661279 -0.00854314 -1.60885 1.30418 0.0633603 0.00478729 1.03553 -1.1825 -0.37384 -0.095457 -0.679115 3.58066 0.0637606 -2.11818 -0.144433 -0.0155522 0.117785 0.208805 0.449015 1.34079 -0.221017 -2.27056 -0.240328 0.263664 -0.00604641 2.1218 0.649109 0.159896 1.18336 -0.112154 -1.02611 -0.200037 1.79159 -1.39469 -1.30325 0.121898 2.57358 1.65875 0.27603 3.39774 -0.0574447 -0.321459 -1.45296 0.405357 -0.133426 -2.00129 13.772 13.416 -6.49301 5.23326 -0.414621 -2.88497 4.15864 -1.92506 2.16518 -3.32704 0.58947 0.598998 -0.965461 0.962352 -1.01099 0 0 0 0 0 0.41193 0.211097 0.00660551 0 0 0 0 -0.00485853 0 0.0143045 0 0 -0.00346036 -0.0368822 -0.0231801 0 0.00143401 0.242776 0.0590678 0 0 -0.0401293 -0.002694 0 -0.249249 1.05765 0 0 -0.0130662 0.372599 0 -0.507241 0 0.0984315 0 0 0.00290018 0 0 -0.311161 -0.0666736 -0.0469081 0 0.0917674 -0.0484578 0 0 0.0948655 0 -0.00394822 -0.0640585 0.0126973 0 0 0.00227429 -0.0204818 0 -0.00542929 0.0104364 -0.00720617 -1.46203 0.0141509 0.00408623 0 -0.000449775 -0.026639 -0.106601 -0.116551 0.021399 0 0 0 0.605037 0.0490889 -0.0019371 0.015682 -0.0291033 0.0712716 0.00313068 -0.00589259 0.0135252 -0.00610782 0 0 0 0 0 0 -0.23676 0 -0.0980079 0 0 0 0 0.0832759 0.902142 0 0 -0.486675 0 -0.0563152 0 0.0163857 0 0 -0.000608614 0 0.109087 0.0687816 -0.0191043 0.00261544 0 0 0.0993507 0 0.122998 0 1.21348 -0.138134 0 0.712402 0.395876 -0.00127055 0 0.00650867 0 0 0.136642 0 -0.423711 -0.235948 0 0 -0.0202294 0 0 0.0566748 -1.32622 0.191272 0 -0.186123 0 -0.471892 0.462819 -0.453494 0.125088 -0.057734 -0.337755 0.347599 -0.112293 -1.06905 -0.788195 0.0216023 0 0 0 -0.0460506 0.0978535 0 0 0 0 -0.241759 -8.96971 2.08575 -4.34263 0.167852 -0.131853 -0.897677 0.365235 -0.318576 0.335136 -0.564878 0 0 0 0 0 0 +92 0 1.66544 0.880776 0.41375 0.0920457 0.138791 -0.0207779 0.471031 1.40757 -0.184592 -2.74111 0.0487753 -0.285598 -0.707081 -0.382677 -0.0183111 2.56404 12.1614 -1.31842 -0.05951 -1.27524 -0.839307 -0.920001 0.80196 -1.7122 0.386107 0.787824 0.59931 0.00409618 -0.109536 -0.0928892 0.669291 0.151806 -2.07804 1.3149 0.137583 0.0418166 1.23841 -5.34871 0.179335 -0.232668 -0.888949 4.85724 0.0218094 -1.25246 -0.881749 -0.0435858 0.00750398 0.874941 -0.0841277 0.846534 -1.44177 -0.314868 -0.547684 0.070296 0.0911224 5.46377 0.966163 0.446659 1.2392 0.395277 0.0229201 -0.177243 2.92009 -3.8935 -1.62613 -0.0292915 3.67287 1.89984 0.406959 1.21177 0.367903 0.00192514 -1.19416 0.315159 -0.0189701 -2.17414 19.8252 10.8874 -4.85443 9.68749 -6.66265 10.1991 6.80372 -3.30781 3.61834 -1.87136 3.30443 -0.457008 0.386645 -0.0519213 0.0450684 0 0 0 0 0 0.41375 0.0920457 0.00767635 0 0 0 0 -0.00585653 0 -0.0014553 0 0 -0.0044507 -0.00684112 0.113528 0 0.00478859 0.284912 0.061021 0 0 0.0652504 -0.000477673 0 -0.110995 1.72872 0 0 0.0017204 0.189197 0 -0.0892521 0 -0.0797308 0 0 -0.00795032 0 0 -0.619822 -0.0807988 -0.0706833 0 0.100376 0.0791707 0 0 -0.437974 0 -0.0129533 -1.21383 0.00250867 0 0 0.00871401 -0.0312087 0 -0.00873385 0.0598855 -0.00789883 -1.18856 0.0282399 -0.0395869 0 -0.00203765 0.00101651 0.188084 -0.211842 -0.316895 0 0 0 7.07832 0.719262 0.345389 -0.00314354 0.0966015 0.163546 0.00445428 -0.0045349 0.0220741 -0.0149734 0 0 0 0 0 0 0.138791 0 -0.0207779 0 0 0 0 -0.000836857 1.21088 0 0 -0.232475 0 -0.0394245 0 0.019401 0 0 -0.0464793 0 -0.0438924 0.0228852 -0.0105273 -0.00780966 0 0 0.14296 0 6.00938 0 -1.50551 0.157137 0 0.150208 -0.221072 -0.00357381 0 0.000228836 0 0 0.161059 0 0.912927 -0.247961 0 0 -0.037791 0 0 -0.0174975 1.1445 0.182182 0 1.08156 0 -1.26002 0.278696 -0.190541 0.281784 0.0292361 0.249769 1.21438 -0.231948 -0.736415 1.79109 0.0013052 0 0 0 0.177417 0.167382 0 0 0 0 -0.326762 13.6784 2.36078 -0.18796 0.830987 -0.694658 1.92452 0.217375 -0.236702 0.299111 -0.182311 0 0 0 0 0 0 +93 0 0.0991229 0.318922 -0.0213974 -0.299714 0.223243 0.0724448 -0.208875 -1.85007 0.620071 1.61723 0.166524 0.281915 -0.095166 1.35474 0.067852 1.65198 4.43568 0.0415701 0.091961 -0.326372 -0.110553 -0.440595 0.17127 0.281383 -0.334058 0.715534 0.00208515 -0.0201368 -0.198865 0.220429 0.350629 0.181764 -0.820189 -0.0697012 0.0174223 0.0765585 0.105706 -1.60928 0.278297 -0.0305446 -0.329062 -0.0742066 0.159196 2.50774 -0.710801 0.00290322 -0.0583381 0.462738 -0.329729 -0.663141 -0.241001 -3.93349 0.511846 0.13313 -0.0280935 -2.58166 -0.331148 -0.022198 0.336444 0.959242 2.59543 -0.062426 4.42674 0.930204 1.31583 -0.494765 1.65018 -0.929086 -1.27689 -1.53459 0.793557 -0.115101 0.989633 -1.18627 0.000366942 0.347473 13.64 -1.62277 7.56708 4.44482 -0.294492 1.44234 -1.60978 1.68418 -1.64776 3.00574 2.66379 -0.618991 0.518861 -0.0845359 0.0818228 0 0 0 0 0 -0.0213974 -0.299714 0.00504284 0 0 0 0 0.00318834 0 -0.0904069 0 0 0.0293635 0.209704 -0.410021 0 -0.0446111 -0.967434 -0.824594 0 0 -0.24675 0.0152867 0 -0.69128 -4.41987 0 0 0.0148657 -2.07761 0 -1.17831 0 -0.15951 0 0 0.00769785 0 0 -1.92023 0.0436699 0.398553 0 0.0675844 0.196 0 0 -0.0697331 0 0.01836 0.272997 0.0252858 0 0 -0.0508148 -0.0066732 0 0.0379388 -0.097127 0.136992 0.668329 -0.16958 -0.0761457 0 0.0354221 -0.187113 -0.403629 0.309777 0.258369 0 0 0 10.1761 -0.759731 2.5376 0.16716 -0.24609 0.461325 -0.0362848 0.0718072 -0.15686 0.28294 0 0 0 0 0 0 0.223243 0 0.0724448 0 0 0 0 -0.00930859 -0.0323667 0 0 0.212438 0 0.0237174 0 0.00753454 0 0 0.00786381 0 0.140025 0.005939 0.0106727 -0.000188661 0 0 0.0290857 0 0.599438 0 -0.0348555 0.0112908 0 -0.0694654 0.32055 -0.000279577 0 0.00276049 0 0 0.0122543 0 0.11878 0.278034 0 0 0.0193137 0 0 0.0955227 0.394075 -0.292847 0 0.399874 0 0.644054 -0.247789 0.198091 -0.402646 -0.108885 0.666922 -0.317379 0.239404 0.0984018 2.20727 0.1027 0 0 0 -0.0317096 -0.115246 0 0 0 0 0.0885926 -0.576474 -2.51547 2.36211 -1.02913 1.00262 -0.013231 -0.441476 0.371391 -0.166522 0.0851629 0 0 0 0 0 0 +94 0 -1.00306 -0.454923 -0.0620449 -0.0298645 -0.144387 -0.00144187 0.097606 1.34697 0.183024 0.316737 0.0225691 0.884651 0.0995829 0.622483 0.111845 0.586299 3.22606 0.33776 0.588261 -0.317661 0.201397 0.948902 -0.102053 0.288252 0.302194 -0.0682321 0.246444 0.00339711 0.175968 0.180276 -0.0363292 0.184688 2.60028 0.415636 0.036603 0.0109309 1.70223 8.65029 0.00568364 -0.0285034 0.121338 2.70466 0.028465 2.74215 0.111995 0.00387376 0.0281952 1.00474 -0.052784 0.482215 0.907807 1.53872 -0.308817 0.689019 -0.0334461 -3.35799 -0.267353 0.287726 -0.319407 -0.00375363 1.57675 -0.292216 -3.23029 -0.186677 -0.847092 -0.709521 0.471162 2.03582 -0.181722 1.93891 1.88564 0.0626561 -0.71404 -1.18493 -0.0965185 0.867145 -59.1789 -14.2039 -6.01777 -14.1083 6.01747 -9.714 -0.551724 0.386241 -0.991182 -1.43672 -0.419712 0.00471526 -0.352767 0.0229726 -0.0724017 0 0 0 0 0 -0.0620449 -0.0298645 -0.00238966 0 0 0 0 0.000913304 0 0.018301 0 0 0.00236102 0.0162728 0.027892 0 0.00503302 0.255399 0.105295 0 0 -0.100038 0.00118117 0 0.616746 0.907653 0 0 -0.0585813 0.551272 0 1.3698 0 -0.0943206 0 0 -0.0347966 0 0 3.08991 0.0125608 0.0339142 0 -0.031575 0.210774 0 0 -0.751608 0 0.00584558 -0.808266 -0.0013203 0 0 -0.00688377 0.0126824 0 0.0475086 -0.00795842 0.0320698 -0.64926 0.101974 -0.104654 0 -0.0207244 0.0314208 -0.695989 0.269338 0.0581642 0 0 0 -14.0077 0.347831 -1.61435 -0.297879 0.548336 -1.2105 -0.00333709 0.00541164 -0.0128277 -0.028429 0 0 0 0 0 0 -0.144387 0 -0.00144187 0 0 0 0 0.059853 -0.186224 0 0 0.00957481 0 0.00680556 0 -0.00400776 0 0 0.202977 0 0.203157 0.0229562 0.0164415 0.0235081 0 0 -0.0162831 0 -0.900307 0 2.97787 -0.147109 0 0.313344 0.799592 0.00423676 0 0.00610286 0 0 -0.0268304 0 -0.155235 0.64584 0 0 0.0738622 0 0 0.149725 -2.96128 0.308072 0 -1.30171 0 0.279141 -0.0522922 -0.127389 -0.164942 -0.0165611 0.120754 -0.662307 0.00474877 -0.0207891 -1.05617 0.100986 0 0 0 -0.195609 -0.0182973 0 0 0 0 0.0581951 -19.5434 -2.06251 -1.28342 -1.40205 1.29369 -2.32969 -0.0358945 0.0361964 -0.180207 -0.149167 0 0 0 0 0 0 +95 0 -1.18346 -0.236743 -0.0308378 -0.207368 0.346633 -0.097813 -0.482646 -1.49511 -0.312874 0.494182 0.0633347 -1.07025 0.000866535 -0.930823 0.0215074 -0.523892 -3.4078 0.129864 0.0622488 -3.01067 -0.00542369 0.0828685 -0.00301037 0.00279588 -0.205769 0.00973898 0.0349254 0.232662 0.178555 -0.469879 -0.0312629 0.251999 0.776107 0.219423 -0.00391866 0.0107584 -0.00236047 5.39759 -0.0961168 -1.37775 0.00647915 -0.100169 -0.00754637 -1.95563 0.0315211 -0.676455 0.0303117 0.626067 -0.00628033 1.38442 0.163237 0.957896 -0.0962638 0.0292208 -0.0712396 -0.0428797 -0.29132 -0.391205 -0.00041074 0.0090148 1.91652 3.57066 -0.0306215 -0.404718 -0.734067 -0.156224 0.515409 0.302098 0.07045 -0.246396 0.606626 0.0332949 -0.0214016 0.52719 -0.00628205 -0.774002 -19.631 -3.07387 -1.54146 -2.46518 2.4608 -9.10803 0.566089 0.415512 -1.5099 1.71365 -0.00766552 0.0120973 -0.0222641 0.00400882 -0.0062639 0 0 0 0 0 -0.0308378 -0.207368 -0.00620865 0 0 0 0 -0.000542049 0 0.0170085 0 0 -0.00582264 -0.0100527 0.017711 0 0.00179915 0.00785484 0.139171 0 0 0.11891 -0.000716263 0 0.0275694 -0.194023 0 0 0.0180607 0.0169724 0 0.143148 0 0.00516128 0 0 0.000836415 0 0 0.470669 -0.00755855 -0.0816003 0 -0.0866439 -0.0170208 0 0 0.065636 0 -0.0126892 -0.128402 0.0256036 0 0 0.0118937 0.0107243 0 -0.0239333 0.0699222 -0.0219854 0.0172595 0.0549129 0.0273987 0 -0.0229386 -0.049463 -0.0343871 0.0148154 -0.112436 0 0 0 -1.42413 0.180073 -0.360763 -0.043614 0.0697819 -0.131058 0.00750935 -0.0115103 0.020747 -0.0394868 0 0 0 0 0 0 0.346633 0 -0.097813 0 0 0 0 -0.209554 0.170422 0 0 0.758305 0 0.0848559 0 0.0341454 0 0 -0.712155 0 0.258979 -0.141668 0.204562 -0.0874934 0 0 0.263798 0 -6.15463 0 3.82531 -0.618248 0 -1.15553 1.2495 0.0193988 0 -0.0275759 0 0 0.0317898 0 -1.44786 -1.50777 0 0 -0.217285 0 0 0.320122 -2.3483 0.864193 0 -0.32241 0 -0.254209 0.232478 -0.415603 0.129206 -0.142188 -1.11809 0.0970639 0.066401 -0.454127 1.76148 0.0934962 0 0 0 -0.377095 -0.0995263 0 0 0 0 0.179073 -21.1085 -3.39615 1.70919 -1.26189 1.26518 -3.24965 -0.281907 0.32089 -0.529995 0.721136 0 0 0 0 0 0 +96 0 -0.00976625 0.177611 0.00623934 -0.00485417 -0.0810729 0.0602752 -0.212493 0.553923 0.0398007 -0.0695135 -0.128604 0.650603 -0.00145511 0.415645 -0.00360413 1.59186 5.18272 -0.1114 -0.0130546 1.5118 -0.017203 -0.179688 0.001602 -0.0504246 -0.041756 0.622421 -0.0114507 -0.0366668 0.0538741 0.136867 0.0100911 -0.116755 0.105598 -0.186189 -0.201182 -0.0149835 0.0100496 2.42175 -0.0160427 0.860553 -0.01008 -0.278416 0.00307028 2.04946 -0.0610644 0.431635 0.106337 -0.158155 -0.0280519 -0.310727 -0.140669 4.67904 0.0433637 0.029609 0.00803653 2.23258 0.280021 -0.0540399 0.149554 0.0254436 -0.102026 -0.669526 0.386847 -0.104862 -0.14427 0.435976 0.44346 0.106099 -0.0171811 0.843316 -0.0735709 -0.0177204 -0.157756 1.07742 0.0408516 0.954481 -12.1697 -1.77518 -2.94362 -2.42116 1.34295 -4.94642 0.291444 -0.196675 -0.236193 -1.45296 0.0148501 0.00115629 -0.00547965 0.000982261 -0.00188996 0 0 0 0 0 0.00623934 -0.00485417 -0.00400537 0 0 0 0 -0.000511484 0 0.016333 0 0 -0.00210356 -0.00184506 0.0111058 0 0.00194533 -0.0387415 0.104378 0 0 0.233456 -0.000149341 0 0.00935054 -0.555138 0 0 0.0383706 -0.187227 0 0.0629743 0 0.0299979 0 0 0.00505473 0 0 0.313681 -0.00714287 -0.0279111 0 -0.0562937 -0.00815077 0 0 -0.151034 0 -0.0081785 -0.208337 0.0188853 0 0 0.004327 0.00691209 0 0.00647704 -0.059932 -0.01236 0.206633 0.0590577 -0.00148271 0 0.014787 -0.0496864 -0.100893 0.0349178 -0.140206 0 0 0 -1.4557 0.153902 -0.434177 -0.0305265 0.062988 -0.142709 0.00289542 -0.00762803 0.0194953 -0.0552094 0 0 0 0 0 0 -0.0810729 0 0.0602752 0 0 0 0 0.0759186 -1.03239 0 0 0.0469226 0 -0.0152346 0 -0.101875 0 0 0.497537 0 -0.608628 0.0434069 -0.0216288 0.0600439 0 0 -0.690683 0 -7.4728 0 -0.097789 -1.19653 0 0.485062 -0.75616 -0.017233 0 0.010565 0 0 -0.162263 0 -3.32908 0.886771 0 0 0.10574 0 0 0.285113 -2.30241 -0.0993614 0 0.187595 0 -0.0201418 -0.0179904 0.0217735 -0.145352 0.0929575 -0.235866 -0.0500672 -0.244632 0.980646 4.93756 -0.0195811 0 0 0 -0.324749 0.0704768 0 0 0 0 0.411815 -10.5452 -1.88987 -1.54853 -0.0269559 -0.0117817 -1.18663 -0.06688 0.0492204 -0.102342 -0.410499 0 0 0 0 0 0 +97 0 -0.152816 0.144664 0.0231756 0.154646 -0.295692 0.171486 -0.624615 -0.0799519 0.234534 0.116496 -0.19697 -0.523536 -0.000683963 -0.812555 -0.000247965 0.676509 2.01471 0.123127 -0.0167578 -0.793146 0.0384051 -0.208063 0.00228778 0.0656113 -0.507205 0.407485 0.0209236 -0.554537 -0.00194596 0.0157422 0.0235914 -0.00618158 -0.0126514 0.33945 -0.442308 -0.0203157 0.0754512 1.55269 -0.148991 0.168723 -0.00509358 1.22826 -0.0121166 -2.55306 -0.0250879 0.524999 -0.231686 -0.117877 0.00208947 0.376446 0.406699 1.22017 0.111166 0.0327689 0.0434358 1.86245 0.650615 -0.255942 -0.269513 -0.00607745 1.7017 0.923135 -0.887183 0.0785816 -0.158864 -0.217549 -0.405101 -0.165915 -0.0530203 -0.398179 0.526038 -0.00261384 -0.327322 0.136571 0.0218519 -0.0691811 -8.32464 -2.72275 -0.344524 -1.25024 0.829227 -2.26196 -0.672988 0.487265 -0.332399 -0.795364 0.00610105 0.01779 0.000676671 0.00258807 6.82664e-05 0 0 0 0 0 0.0231756 0.154646 0.00440615 0 0 0 0 0.000385631 0 -0.00607633 0 0 0.00427297 0.00745881 -0.0124003 0 -0.000787558 -0.00481436 -0.0942646 0 0 -0.0437809 0.000530736 0 -0.0109078 -0.0237383 0 0 -0.00278945 -0.000857921 0 -0.0227365 0 0.00102565 0 0 0.000475768 0 0 0.106245 0.00538593 0.0599696 0 0.061595 0.0447628 0 0 -0.0773454 0 0.0090032 -0.0768677 -0.0168008 0 0 -0.00872654 -0.00760909 0 0.0110177 0.0282311 0.0163366 0.068712 0.0127025 -0.0157721 0 0.0106544 0.0303673 0.0104819 -0.00405425 -0.025121 0 0 0 -0.292696 -0.0669394 0.113135 -0.00976218 0.0148158 -0.0264388 -0.00550067 0.00825488 -0.0145611 0.0263209 0 0 0 0 0 0 -0.295692 0 0.171486 0 0 0 0 -0.407473 0.632332 0 0 -0.0284489 0 0.010698 0 0.0284686 0 0 -0.41125 0 -0.382983 0.02493 0.226072 -0.0585027 0 0 0.150903 0 1.23508 0 2.16598 0.250815 0 0.276426 0.170668 0.036438 0 -0.0471035 0 0 0.0889155 0 -0.0164519 -0.678197 0 0 -0.0823822 0 0 0.0943322 0.642384 0.371144 0 0.383525 0 -0.219427 0.171649 -0.218068 -0.0465983 -0.0912398 -0.0392535 0.351705 0.0877842 -0.328968 5.17183 0.0638452 0 0 0 -0.031124 0.00890725 0 0 0 0 -0.0667733 -10.3808 -0.11582 -2.43913 -0.460288 0.542171 -1.90234 0.0301661 0.0375748 -0.0630841 -0.208611 0 0 0 0 0 0 +98 0 -0.467531 -0.3134 -0.110501 -0.0276116 0.209551 0.0398845 -0.10724 -0.367398 -0.715191 0.824687 0.101077 0.156687 0.200151 -0.420524 0.141227 0.642989 2.6719 0.576177 0.830189 -0.187658 0.430066 0.745443 -0.270539 0.664322 0.000337986 -0.0480273 0.180847 -0.0215299 -0.425277 -0.0615603 -0.473721 0.260615 1.66996 0.36816 -0.0189736 0.0383064 1.59539 3.67529 0.424458 -0.0112292 0.283374 3.18586 0.118084 -0.34882 0.257452 0.00641612 -0.0972454 1.54043 -0.260702 -0.386644 -0.503963 -3.91814 -0.934868 0.841248 -0.282751 -0.344979 0.605389 0.270422 -0.73127 -0.378913 0.297882 -0.0621543 -0.140109 -1.55724 -0.633339 0.0205086 2.24369 2.51595 0.64272 -0.604237 0.80697 0.3146 -2.30618 0.22562 0.0901858 -0.684251 -26.2209 -8.85803 0.434705 -8.58725 1.46621 -0.436623 -2.24016 0.0324439 0.0953729 0.399947 -1.10419 -0.671304 0.775854 -0.619114 0.449742 0 0 0 0 0 -0.110501 -0.0276116 -0.038015 0 0 0 0 -0.0232259 0 0.0314939 0 0 -0.0123608 -0.125779 0.144642 0 0.0229743 0.597522 0.148784 0 0 0.541795 -0.00913569 0 0.545473 0.74689 0 0 0.0721346 0.770068 0 0.722171 0 0.348928 0 0 0.0510403 0 0 0.989906 -0.319795 -0.169835 0 -0.522623 -0.0679946 0 0 -0.0737198 0 -0.0826354 0.451976 0.117313 0 0 0.0275008 0.0622163 0 -0.040388 0.191686 -0.083682 0.539063 0.0228712 0.0536037 0 -0.113722 -0.131773 0.514171 -0.220007 -0.127389 0 0 0 -4.20425 0.535744 -0.768962 -0.0983612 0.187672 -0.402244 0.0168027 -0.0320317 0.0686604 -0.0589912 0 0 0 0 0 0 0.209551 0 0.0398845 0 0 0 0 -0.010239 0.227832 0 0 0.320567 0 0.0431104 0 0.00561678 0 0 0.00899396 0 -0.0708401 -0.0485094 0.0300189 0.00554987 0 0 0.0632751 0 -1.1842 0 1.25958 -0.0432623 0 -0.401455 0.198095 0.00512223 0 -0.00252766 0 0 0.0198654 0 -0.242194 -0.129592 0 0 -0.00628402 0 0 -0.0608931 -0.263662 0.0405096 0 0.64284 0 -0.145064 -0.0632336 0.0593461 -0.205818 0.0807576 0.412009 -0.0721298 -0.0936245 -0.388104 -1.31109 0.0255687 0 0 0 0.121628 -0.0201083 0 0 0 0 -0.121347 -9.0089 -1.75344 1.00212 -0.562542 0.290144 -0.373063 -0.185385 0.115629 -0.211307 0.269167 0 0 0 0 0 0 +99 0 -0.365481 -0.496609 -0.381518 -0.344192 0.3127 0.108946 -0.61707 -2.88729 -1.10259 4.79747 0.0691524 0.994303 0.663367 1.4652 0.104639 -1.38036 -7.21709 1.41002 0.314704 0.12786 0.806968 0.714116 -0.834344 2.32003 -0.425076 -0.485447 -0.706219 -0.0254141 -0.327027 0.425409 -1.12413 0.164323 1.78214 -1.16553 -0.0333242 -0.000374356 -1.56286 4.31552 -0.0588784 0.00852622 1.01108 -3.44192 -0.188431 3.52104 1.28638 -0.00105859 -0.103259 0.386734 0.21395 -0.314246 1.35268 2.03282 -0.285945 0.361164 -0.167384 -3.39834 -1.16232 -0.00306017 -2.83042 -1.18903 2.92815 0.0556854 -3.11968 1.86524 0.74276 -0.60654 -2.72884 -1.98972 0.939646 -5.37353 1.1789 0.0544741 1.43595 -0.841524 0.107837 2.09114 -29.5731 -24.0149 10.1773 -14.6439 5.03228 -1.61824 -11.8196 4.76598 -3.90729 4.18493 -5.51716 1.32008 0.0211022 -0.272363 0.34584 0 0 0 0 0 -0.381518 -0.344192 0.00474627 0 0 0 0 0.00143342 0 -0.0184043 0 0 0.00455862 -0.0752654 0.152672 0 0.0126159 -0.51839 -0.134341 0 0 -0.0992895 -0.00544292 0 -0.27765 -0.761434 0 0 -0.00369315 -0.446797 0 -0.786547 0 0.0528957 0 0 0.0244583 0 0 -1.46356 0.0194606 0.0604458 0 0.0633261 -0.092508 0 0 0.312416 0 0.038285 0.101926 -0.0758005 0 0 -0.00612504 0.00864041 0 -0.012985 0.000579001 0.0146626 0.372869 -0.236092 0.0463372 0 -0.0128641 0.1581 -0.265864 0.203696 0.504507 0 0 0 6.36863 -0.361603 0.903112 0.149105 -0.284057 0.60571 -0.00466086 0.00841384 -0.0181948 0.0390788 0 0 0 0 0 0 0.3127 0 0.108946 0 0 0 0 -0.103709 -0.730414 0 0 0.552114 0 0.0799335 0 -0.00814896 0 0 -0.0239496 0 0.161222 -0.0784301 0.0750129 -0.00587924 0 0 -0.0435149 0 -3.45879 0 0.39086 -0.00443153 0 -0.643035 0.341027 0.0135162 0 -0.0142612 0 0 -0.100373 0 -0.423557 0.286074 0 0 0.0163153 0 0 0.0619559 -0.573512 -0.600108 0 0.121836 0 0.595303 -0.367672 0.429134 -0.897611 -0.0942254 0.72952 -0.547301 0.333492 0.804333 4.74997 0.104489 0 0 0 -0.0323343 -0.240778 0 0 0 0 0.19581 -0.326818 -3.47204 4.65634 -1.19599 1.23101 -0.458215 -0.526671 0.481694 -0.478888 0.540655 0 0 0 0 0 0 +100 0 -1.32565 -0.859246 -0.152719 -0.0965437 -0.130079 -0.0106337 -0.221347 0.93398 -0.696177 -0.30295 -0.117006 0.243052 0.270421 0.163481 -0.0728991 -2.89841 -10.4523 0.332973 -0.397151 0.349735 0.232995 0.739317 -0.351692 -0.0501738 0.0369306 -1.02423 -0.201655 0.0178888 0.490348 -0.0693671 -0.543404 -0.167682 2.11902 -0.583723 -0.125232 -0.0707437 -0.757591 8.0069 -0.658119 0.0606451 0.396455 -2.36012 -0.406632 1.52325 0.433412 0.00506479 0.0956603 -0.890739 0.696175 0.0554573 0.880209 5.91658 0.410873 -0.453106 0.147036 0.12811 -0.747641 -0.199825 0.188557 -0.493022 -0.199506 -0.0711992 -4.98556 1.77623 0.05292 0.304913 -3.45247 -0.788959 0.6138 2.81614 -0.264233 -0.474174 0.460934 0.140642 -0.0268376 -0.44822 -41.2527 -4.0919 -6.6075 -9.33162 7.24947 -13.7835 0.778662 0.971354 -1.84601 -1.2882 -1.85886 1.81353 -1.2807 0.803055 -0.518557 0 0 0 0 0 -0.152719 -0.0965437 -0.025177 0 0 0 0 -0.0141103 0 0.0397968 0 0 -0.00748197 -0.0946799 0.282724 0 0.0277205 0.14929 0.385458 0 0 0.253116 -0.00686967 0 0.683796 -2.09674 0 0 0.016324 -0.342201 0 1.36625 0 0.147329 0 0 0.0162124 0 0 2.91702 -0.194433 -0.103757 0 -0.348028 0.128116 0 0 -0.730094 0 -0.0412623 -0.610883 0.124634 0 0 0.0141964 0.0497284 0 0.0213609 -0.0848744 -0.0150252 1.50675 0.444451 -0.0615536 0 0.0254719 -0.334943 -0.110249 0.238112 -0.94794 0 0 0 -12.0605 0.708825 -2.05815 -0.282708 0.539247 -1.1603 0.00968793 -0.0184569 0.0399312 -0.147626 0 0 0 0 0 0 -0.130079 0 -0.0106337 0 0 0 0 0.0805991 -0.571479 0 0 0.171892 0 0.0216945 0 -0.0163343 0 0 0.115594 0 0.30003 0.0456279 0.0234575 0.0118756 0 0 -0.105872 0 -4.36392 0 4.91814 -0.262113 0 0.463052 1.14996 0.00430727 0 0.00844338 0 0 -0.0812696 0 -0.786896 0.414321 0 0 0.0448163 0 0 0.170802 -2.61635 0.199661 0 -0.458206 0 0.814147 -0.202027 -0.0102733 -0.133463 0.0291146 0.249718 -1.15728 0.0540949 0.359498 4.56706 0.0951017 0 0 0 -0.244245 -0.0492869 0 0 0 0 0.200589 -36.3338 -3.41974 -3.21413 -1.84981 1.58843 -3.92341 -0.0995319 0.084004 -0.258751 -0.292683 0 0 0 0 0 0 +101 0 0 0 -0.352155 0.115963 0 0 0 0 -4.65427 0.745299 0.388132 0 0.660747 0 0.15976 0 0 0.325674 -0.169584 0 0.123848 0 -0.780055 0.299235 0 0 -0.556581 0 0 0 -1.36313 0.0127236 0 -1.2437 0 0.0760689 -2.70194 0 0.585473 0 1.01725 -7.72675 -0.076781 0 0.75173 0 0 -1.1295 0.785454 0 1.28939 0 0.00497619 0.171672 -0.265436 0 -1.12469 -0.470906 -0.871333 -1.99534 0 0 0 0 1.33358 0 0.684136 -2.99727 1.43551 0.148628 0.508186 0.322142 3.54922 0 0 1.39125 0 -2.83613 0 -0.689282 -1.09402 0 -2.25072 0.435271 -0.8623 0 -3.01084 -1.37776 1.36737 -1.56709 0 0 -0.149782 -0.0142225 -0.0361297 -0.0334569 -0.352155 0.115963 0.00174826 0.0442378 0.180649 0.000252044 0.00808486 0.00465454 -0.000413517 -0.0166904 -0.0120415 0.00343458 0.00287214 -0.0792841 0.0449274 -0.172369 0.0238921 -1.65851 -0.130917 -0.00078167 0.170695 -0.911016 -0.00326048 0.00474827 -0.277452 -8.02615 0.0627293 0.00311858 -0.037651 -3.553 0.0253357 -0.877425 0.0160018 -0.441655 0.0192731 0.02279 -0.0410867 0.0429172 0.000346954 -2.25727 0.0803365 -0.0606913 0.00207061 0.0499676 0.0980251 -0.00721828 0.0100045 -0.868988 0.00616054 -0.0154179 2.94148 0.126619 0.034587 -0.0505653 -0.0137361 -0.0176939 0.0635781 -0.0215264 -0.508452 0.0905652 8.97952 0.129244 -0.0690747 -0.023995 0.147614 0.0937135 -0.0391248 0.380085 0.899167 0.03176 0.0660082 -0.00790208 21.1711 0.873884 1.77777 -0.0957523 0.122363 -0.106168 -0.0202704 0.00467411 -0.0178553 -0.0214389 -0.00377684 -0.00107944 -0.00644386 -0.00599507 -0.0104492 0 0 -0.0361297 0 -0.0334569 0 0 -2.21163 0 -2.70499 -0.0422204 0.00478253 -1.05475 0.00224583 -0.201066 -0.330602 -0.0435013 -0.0308779 -0.666831 0 0 0 0 -0.517596 0 -0.0688153 0 -0.341929 0 0 -0.0229561 0 0 -0.0475316 0 0 -0.0981043 -0.0116574 0 -0.0235057 0 -0.47723 0 0 0 -0.00246034 -0.0621583 0 0 -0.250688 0 0 0 -0.152447 0 0.843402 0 -0.157543 -0.0363776 -0.0555535 0 0 0.487581 0.0417144 -0.54999 0 0.025486 0 0.0318663 0 -0.410054 0.196527 0.173162 -0.114009 -0.195481 -0.0640574 0.386329 0 3.55649 0 3.78312 -0.302019 0 1.87174 -0.645298 0.466418 0 1.15287 -0.401549 0.411151 -0.0519434 0 0 +102 0 0 0 -0.400499 -0.730465 0 0 0 0 -5.45879 2.82077 -0.166031 0 0.303232 0 -0.227648 0 0 0.391477 -0.234826 0 0.0858834 0 -0.789026 0.185672 0 0 -0.529899 0 0 0 -1.8897 -0.76387 0 -1.22325 0 -0.0711983 -2.36413 0 0.255615 0 0.80753 -5.96591 0.0232166 0 3.12241 0 0 -1.66827 0.468371 0 1.13969 0 -0.11083 -0.962087 0.853479 0 -0.583308 -0.163352 -0.719662 -1.8825 0 0 0 0 1.66213 0 0.01881 -4.18982 3.48596 1.22944 0.250348 0.221718 2.53438 0 0 -0.424587 0 -5.21866 0 -4.96534 -0.326952 0 -5.93277 2.08377 -2.98562 0 -8.58359 2.07152 -2.40148 -0.100064 0 0 -0.499394 -0.0474198 0.0210796 -0.0319104 -0.400499 -0.730465 -0.0214572 -0.0999117 0.585441 0.000900033 -0.017323 -0.00817415 0.0410452 0.0338141 -0.0357104 0.0126514 0.0503782 0.119422 -0.0888643 -0.485799 -0.00981918 -0.469702 -0.0703179 -0.0023855 -0.522577 -0.0262737 0.00944462 -0.00257519 -0.0936825 -3.28673 -0.0951859 0.0155655 0.00639762 -1.17957 0.0735419 0.0197217 0.0524595 0.292031 -0.0172773 0.173604 0.0510419 0.167134 0.00340259 0.318004 -0.179716 0.568412 0.00632506 -0.348845 -0.825267 -0.0460019 0.0464462 0.447338 -0.0260306 -0.0622878 -2.26673 0.027331 0.0939888 -0.132629 -0.0934123 0.0207751 0.186873 0.162266 0.365337 -0.120171 4.53686 -0.454762 0.0124796 0.0167163 0.0517307 -0.0561747 0.473431 0.389409 -0.455903 0.0745512 -0.121568 -0.0243802 -2.98258 -3.45672 0.165798 -0.699741 -0.514526 0.419892 -0.0948602 -0.068744 0.00202018 0.0549336 -0.0128051 -0.0098093 -0.0107713 -0.0143103 0.0158556 0 0 0.0210796 0 -0.0319104 0 0 -0.878565 0 0.259265 0.145587 0.0279429 1.38979 0.0234266 0.232503 -0.0924476 0.0137634 0.0476387 0.850987 0 0 0 0 0.365007 0 0.137557 0 0.016572 0 0 -0.0673067 0 0 -0.010637 0 0 0.0696818 0.0013417 0 0.00700756 0 0.157676 0 0 0 0.00682807 -0.00889844 0 0 -0.0507626 0 0 0 -0.327818 0 0.388046 0 -0.281681 0.303192 -0.190817 0 0 0.0320153 0.0971916 -0.88134 0 -0.278694 0 -0.135371 0 -0.276186 -0.17608 0.129543 -0.259258 0.0238062 0.0424238 -0.255611 0 -5.26066 0 -3.06476 0.244137 0 -1.5911 0.547417 -0.463141 0 -1.42274 0.5913 -0.335059 0.0360748 0 0 +103 0 0 0 0.027516 -0.116923 0 0 0 0 1.20082 -0.512625 -0.131808 0 0.0450792 0 0.0128034 0 0 -0.125319 0.2207 0 -0.0134435 0 0.250294 -0.155653 0 0 0.0249599 0 0 0 0.685703 0.0728464 0 -0.000971974 0 -0.0297493 0.868714 0 -0.280474 0 0.0711985 2.27376 -0.0969495 0 0.202058 0 0 1.14501 0.10371 0 -0.605361 0 1.02858 0.612514 -0.469525 0 0.635411 -0.11592 0.444666 0.3572 0 0 0 0 -0.185103 0 -0.258552 0.768922 -2.54965 0.426588 -0.247579 -0.22645 -1.32939 0 0 -2.00821 0 2.72112 0 0.172762 0.448562 0 1.25493 -0.749524 1.11341 0 0.471308 -0.200565 0.315473 0.114217 0 0 -0.0628595 -0.00596881 -0.0236714 0.0256094 0.027516 -0.116923 0.0060869 -0.0900349 0.140321 0.000108953 -0.0140453 0.00200939 0.017419 0.095355 -0.00481727 0.00150529 0.0100691 0.0233181 0.200913 -0.0676061 0.0328738 -0.214796 0.502515 -0.000316298 -0.565466 0.00441008 0.00162746 -0.00775259 0.163555 0.407234 -0.178699 0.00511113 -0.135461 -0.174572 0.0106295 0.459326 0.0101304 0.0359027 -0.0380705 0.0813919 -0.0445334 0.0192911 0.00107691 1.49855 0.0347731 0.141968 0.000868809 0.122094 -0.194363 -0.0151176 0.0146963 1.47663 -0.0337526 0.0165735 1.77365 -0.0519787 0.0133798 -0.0184598 -0.0168217 -0.00790582 0.0354884 0.141036 0.00830338 -0.126059 7.56799 0.224639 0.0314189 0.0647129 0.031835 -0.263863 1.5029 0.0609484 -0.669145 -0.00227198 -0.151504 -0.00321162 -14.055 -1.36441 -3.1292 -0.151774 -0.425399 0.713204 -0.0145991 -0.0399712 0.0671695 0.050282 -0.00159635 -0.00418481 0.00636873 9.80739e-05 0.0297668 0 0 -0.0236714 0 0.0256094 0 0 0.294537 0 0.791771 -0.0309638 0.0736124 -0.0751752 -0.00523524 -0.0444577 0.0736096 -0.00577371 0.0946242 -0.182695 0 0 0 0 -0.0634938 0 0.542094 0 0.0848939 0 0 0.143886 0 0 0.0134087 0 0 -0.0182389 0.0043674 0 0.0175839 0 0.153853 0 0 0 0.0115608 0.0318762 0 0 0.0232988 0 0 0 0.101453 0 -0.223771 0 0.77978 -0.276667 0.869331 0 0 0.366159 -0.140299 0.403418 0 -0.082848 0 0.176442 0 0.168796 0.21509 -0.0545224 0.14786 0.0394036 -0.130019 -0.235774 0 1.32996 0 0.71162 -0.861536 0 0.379631 -0.303254 0.000533111 0 -0.0261553 -0.0499469 -0.00432608 -0.012814 0 0 +104 0 -0.167967 -0.0601262 0.34633 0.158126 -0.24275 -0.119082 0.523029 0.706444 0.693517 -1.77477 -0.0113248 -0.233525 -0.560211 -0.131214 0.176843 -0.684944 -4.9249 -0.600181 0.74917 -0.810152 -0.297742 -0.128528 0.698353 -0.635031 0.163344 -0.0795852 0.559091 0.00482274 0.233532 0.019918 0.832224 0.347174 -0.303186 0.973937 0.114057 0.0658917 2.27067 -1.74999 -0.29603 -0.237199 -0.750782 4.25625 0.141884 -1.7137 -0.597409 -0.0681217 0.0377158 1.50922 0.0367886 0.446263 -0.608946 -0.0566174 -0.751981 0.87266 -0.418082 -0.706133 1.01288 0.582268 0.707579 0.547831 -0.0344389 -0.280499 0.518103 0.121053 -0.302817 -0.444466 1.05564 1.68506 -0.479221 -1.05164 -0.00476922 -0.229184 -2.79648 -0.634773 0.174936 0.0822755 -0.639232 2.83638 -0.62388 3.80408 -0.744377 0.660841 2.53853 -1.3649 1.4485 -1.46871 2.28236 0.0577743 -0.182958 0.328858 -0.205726 0 0 0 0 0 0.34633 0.158126 0.00228569 0 0 0 0 -0.00195371 0 0.0178176 0 0 0.00470881 0.0560114 0.00694145 0 0.00323128 0.749137 0.0937746 0 0 0.315246 0.00296366 0 0.0414201 2.63782 0 0 0.0399189 1.40668 0 0.590946 0 0.261765 0 0 0.0368112 0 0 1.67028 -0.0368637 0.0891498 0 0.0435258 -0.214864 0 0 0.652132 0 0.00167563 -0.705056 -0.00713926 0 0 -0.01014 -0.00588268 0 0.0270417 0.144121 -0.00727727 -2.21057 -0.0567267 0.0475174 0 -0.011136 -0.0306885 0.127646 -0.106633 -0.0551135 0 0 0 -16.5227 -1.2252 -1.37515 -0.0800922 -0.06948 -0.143281 -0.00428119 -0.00374481 -0.00736159 -0.00927544 0 0 0 0 0 0 -0.24275 0 -0.119082 0 0 0 0 -0.0223636 0.185344 0 0 -0.576463 0 -0.0618405 0 -0.0106484 0 0 0.043026 0 -0.128308 0.027331 -0.0376881 0.00832235 0 0 -0.097213 0 -1.66137 0 -2.27568 -0.044489 0 0.217586 -0.628587 -0.00251574 0 -0.00567876 0 0 0.0201902 0 -0.286402 -0.332403 0 0 -0.0227472 0 0 -0.0914261 0.442675 0.0987957 0 -0.347348 0 0.326063 0.191405 -0.14515 0.0514836 -0.0284963 0.29742 -0.329866 0.0551254 0.247576 0.400258 -0.0424188 0 0 0 0.00097744 -0.0272054 0 0 0 0 -0.00165839 14.3192 3.07541 0.0388356 0.999907 -0.65323 0.928572 0.309437 -0.227123 0.277248 -0.106921 0 0 0 0 0 0 +105 0 -1.09458 -0.304431 -0.19365 -0.270577 0.0702304 0.0527487 -0.560306 -1.02551 0.788407 2.88118 0.17363 0.124734 0.246765 0.537765 0.240216 -0.600051 -0.802118 0.912345 0.80194 0.211466 0.411059 0.100426 -0.240636 1.03774 -0.3586 -0.297982 0.433877 -0.0417064 -0.506604 0.0509389 0.00741443 0.534206 0.286744 0.819255 -0.157149 0.047659 2.43257 2.66865 0.425372 0.0638645 0.288651 3.84269 0.0872729 1.74156 0.267751 0.0322692 -0.141454 1.71065 -0.475726 0.493138 0.780742 0.56876 -0.394452 0.712872 -0.210973 1.09849 0.833584 0.0676822 -1.20396 0.276164 0.804086 0.726265 -1.21358 1.03827 -1.32767 0.0603748 -3.19403 1.81804 -1.08152 -0.492657 0.250038 0.330912 -3.05058 0.494818 -0.0058865 -0.455613 -5.03582 -3.51025 0.859499 -4.30724 2.20587 -2.47154 -4.82921 2.25187 -1.67626 0.716527 -1.02292 -0.585004 0.849787 -0.617898 0.446283 0 0 0 0 0 -0.19365 -0.270577 -0.00159166 0 0 0 0 0.00254978 0 0.0604802 0 0 0.0123531 0.1023 0.147469 0 0.0303848 0.519433 0.299307 0 0 0.849271 0.00547662 0 0.778936 4.94123 0 0 0.0952479 1.75552 0 1.67883 0 0.269793 0 0 0.0274993 0 0 3.96584 0.0466794 0.22779 0 -0.0372515 -0.33881 0 0 1.37578 0 0.0123666 -0.633059 -0.0199407 0 0 -0.0245063 0.0141331 0 0.0725467 0.218466 -0.0400335 -4.55195 0.0062145 0.155749 0 -0.0555247 -0.064478 0.543047 -0.352412 -0.00341084 0 0 0 -40.8991 -2.97642 -3.5696 -0.199436 -0.156823 -0.484201 -0.00982612 -0.00725635 -0.0316677 0.00744659 0 0 0 0 0 0 0.0702304 0 0.0527487 0 0 0 0 -0.00130048 -0.633421 0 0 0.550483 0 0.0712896 0 -0.00116236 0 0 0.0927374 0 0.228279 -0.0184541 0.105218 0.0116695 0 0 -0.00513051 0 1.97765 0 2.91769 0.178168 0 -0.198193 0.803153 0.0154033 0 0.00292275 0 0 -0.0748293 0 0.620409 0.575671 0 0 0.0805322 0 0 0.0370738 0.137556 -0.0537871 0 -0.22848 0 0.389692 -0.276836 0.15955 0.0229988 -0.00825525 -0.375108 -0.267747 0.135168 -0.0382344 -1.36827 0.022601 0 0 0 -0.171708 -0.119336 0 0 0 0 0.211637 -16.9011 -2.84822 0.271259 -1.06067 0.78062 -1.21945 -0.380792 0.275897 -0.239447 0.0864762 0 0 0 0 0 0 +106 0 0.157581 0.0748182 0.0136391 -0.021818 -0.065533 0.0323821 -0.277848 -0.65946 0.130308 0.416296 0.063135 0.153766 -0.0288742 0.174873 -0.0107521 0.825236 4.17146 0.0222579 -0.0892307 -0.638376 0.000880078 -0.013883 0.0424144 0.113672 -0.0972791 0.219766 0.0805336 -0.0195493 -0.233552 0.0580814 0.0794162 -0.0464524 -0.127439 0.219606 -0.0263726 0.0314156 0.109431 -0.440397 0.209589 -0.102387 -0.0477498 0.243858 0.0916095 0.79304 -0.058442 -0.00293816 -0.0705269 -0.149935 -0.164976 -0.121391 -0.0371788 -8.11265 0.0339591 -0.0734699 -0.0170859 -2.83927 0.122562 -0.368668 -0.0310629 0.0880978 -0.751501 -0.0304541 -0.570561 -0.455334 0.0420139 -0.22019 0.0654368 -0.273022 -0.155151 -0.169434 0.0778061 0.091868 -0.371989 -1.39072 0.0776162 0.751601 3.99282 -0.420157 2.2523 0.452045 -0.551024 1.23144 -0.432365 0.115104 -0.062885 0.610521 0.223273 -0.450027 0.471876 -0.2908 0.205743 0 0 0 0 0 0.0136391 -0.021818 -0.000250189 0 0 0 0 4.92095e-05 0 -0.0313686 0 0 0.00149218 0.0151604 -0.0876374 0 -0.0156012 0.12434 -0.171003 0 0 0.377375 0.000809019 0 -0.0723852 0.912308 0 0 0.064599 0.359725 0 -0.121325 0 0.218614 0 0 0.0366425 0 0 -0.235634 0.000751204 0.0272803 0 -0.00615021 -0.0848092 0 0 -0.522635 0 0.00110964 -1.28174 -0.00597467 0 0 -0.00322391 0.00152144 0 -0.0375984 -0.389029 -0.0204113 -3.53212 -0.086863 0.0169772 0 0.00903687 0.0386577 -1.24245 -0.00834693 -0.119277 0 0 0 2.0998 -0.0366049 0.909823 0.00995242 0.00684469 0.0372327 -0.00127647 -0.00126081 -0.000948725 0.0116027 0 0 0 0 0 0 -0.065533 0 0.0323821 0 0 0 0 -0.0104273 0.37749 0 0 -0.0940739 0 -0.0143755 0 0.0114347 0 0 0.171405 0 -0.011445 0.0200883 -0.00336306 0.0237331 0 0 0.0881677 0 2.48599 0 0.0389009 -0.146865 0 0.151138 -0.0713019 -0.00203713 0 -0.000995748 0 0 0.0481773 0 0.096085 0.753759 0 0 0.109175 0 0 -0.089065 0.0314882 0.114015 0 -0.0445892 0 -0.250181 0.0773392 -0.0920406 -0.0206038 -0.144464 -0.269199 0.286597 0.0325598 -0.332057 -2.71511 0.110978 0 0 0 0.0596287 0.0235302 0 0 0 0 -0.113103 -1.22574 0.476542 -1.24564 0.0058667 0.0118853 0.00293655 0.0228443 -0.0125301 0.0320838 -0.0516481 0 0 0 0 0 0 +107 0 0 0 0 0 0.618044 0.400796 -1.90553 -3.85534 0 0 -0.779752 2.2837 0 3.7507 -0.140328 0 0 0 -0.159278 7.04203 0 0 0 0 -0.870912 0 0 -0.0758199 4.6649 1.25451 0 -0.575663 0 0 -0.611128 -0.107602 0 0 -2.22084 3.48988 0 0 -0.437064 7.59461 0 1.40156 1.25499 -0.37771 0.891945 -0.903494 0.911412 0 0.167954 -0.323301 -0.0523329 -0.548103 0.465027 -0.0660231 0 0 2.88724 -7.36493 0 0.18789 0.235397 -0.715174 0 0 0 0 0.346001 -2.19456 0 -5.00465 0.24271 0 0 0 7.13214 0 3.31865 -5.12332 0 1.20438 -2.69126 6.26219 0 1.25256 -2.95186 6.39827 -13.2648 0 0 0 0.246166 0.0548499 0 0 0 -0.0117159 0 0 -0.00271325 0 0 0.0260493 0 0 0 0 0.0719923 0 0.0171917 0 0.109071 0 -0.040395 0.165584 0 0.00271884 0 0 0.0715008 0 0.0247344 0 0 0 0 0.0640003 0.0134565 0 0.0108242 0 0 0 0 0 0 0 0 0 0 -0.0631832 0 0 0 0 0 0 0 0 0 0 -0.0294383 0 0 0 -0.0318411 -0.0165817 0 -0.0811395 -0.0390743 0 -0.0137964 0 -0.0362656 0 0 0 -0.12489 0 0 -0.081871 0 0 0 -0.00514104 0 0 0 0 -0.0061628 0 0.618044 0.246166 0.400796 0.0548499 -0.189195 -0.0723093 0.391676 -0.486783 0.129996 -0.0502359 -0.0263135 0.221114 -0.00732424 -0.0301813 0.0648542 -0.0392342 -0.0648164 -0.303391 1.40687 -0.973712 2.08243 -0.184495 0.431703 0.103661 -0.174117 0.0199267 -0.278681 -0.0234372 10.08 -0.103109 6.11575 3.81351 0.00945555 -1.02965 3.77079 0.0312062 0.00127547 -0.0959799 -0.00338053 0.315778 0.0028455 0.000218164 6.44568 0.713829 -0.00803811 0.0043196 -0.0312925 -0.141499 -0.0583291 0.113954 0.943157 -0.472259 0.0966199 -1.8612 -0.11173 -0.708084 0.00715865 -0.0776739 -0.499799 -0.241152 1.31599 -0.0263793 0.0454659 1.31494 3.59647 -0.0642897 0.946361 -0.187149 -0.0177591 0.212581 0.0566652 -0.00393305 0.102402 -0.167267 0.0174251 -0.00605017 -35.328 -4.81899 5.50487 -0.464564 1.42917 -1.93241 0.158901 0.21005 -0.360685 0.749992 0.133034 0.0940909 -0.209192 0.399426 -0.374824 0 +108 0 0 0 0 0 0.221426 -0.0154176 0.604975 0.935972 0 0 0.000321165 -0.0586662 0 1.07967 0.0301888 0 0 0 0.078847 6.85289 0 0 0 0 0.173085 0 0 0.143142 0.231454 0.00978403 0 0.190211 0 0 0.125265 -0.00696683 0 0 -0.441583 2.25719 0 0 -0.153807 1.91703 0 0.502067 0.155119 0.482073 0.302784 -1.18036 0.312968 0 -0.0994709 0.034659 -0.0860479 -0.103869 -0.0180668 0.0610587 0 0 -1.54089 -7.48901 0 -0.0741292 0.159236 -0.919936 0 0 0 0 0.00620309 -0.703717 0 -1.90863 0.516975 0 0 0 -1.13176 0 1.25018 -2.56185 0 0.462867 -0.576642 -0.538548 0 0.563523 -1.01162 1.88658 -1.34614 0 0 0 0.0250666 0.00558525 0 0 0 0.0276955 0 0 0.00320008 0 0 0.0177135 0 0 0 0 0.0987738 0 0.011658 0 0.150115 0 0.233008 0.035266 0 0.000882588 0 0 0.00166635 0 0.00451275 0 0 0 0 -0.0601763 0.00386147 0 -0.00612372 0 0 0 0 0 0 0 0 0 0 0.0704746 0 0 0 0 0 0 0 0 0 0 0.124367 0 0 0 -0.011969 -0.00100105 0 0.00744592 0.141462 0 0.0359189 0 0.0468651 0 0 0 -0.171887 0 0 -0.00190804 0 0 0 -0.00647963 0 0 0 0 -0.000143627 0 0.221426 0.0250666 -0.0154176 0.00558525 0.37232 0.0114313 0.0398836 0.908887 -0.184339 -0.00511541 0.00522698 -0.159401 -0.000745812 -0.0227832 0.00660397 0.00542606 -0.00898283 -0.0308937 1.19622 0.375131 0.0737736 0.243815 -0.0507544 0.143728 0.00197735 0.0969699 0.0585775 0.0045701 4.07435 -0.112073 0.368005 0.451919 0.000962839 1.45871 0.295906 -0.00708418 -0.00153559 0.154496 -0.0172119 0.427635 -0.0211167 0.017508 1.89582 2.22146 -0.000597073 -0.00997577 0.272976 0.0392801 -0.116056 -1.1518 1.28364 -0.00648382 0.0209329 -3.52041 -0.0113772 0.351772 -0.0437288 0.358276 0.303307 -0.0929801 1.55117 0.224143 0.100844 1.00021 -9.46824 -0.0143924 0.272647 -0.0707902 0.0864068 0.283397 0.0467043 0.0612069 0.0104274 -0.146051 0.0109681 0.0369576 -2.1258 0.208849 -3.28046 0.00854659 0.666508 -2.48863 0.0560648 0.163507 -0.137666 -0.796747 0.0135465 0.109287 -0.163464 0.236449 -0.525812 0 +109 0 0 0 0 0 0.138221 -0.214971 1.12623 1.2335 0 0 -0.190345 -1.56056 0 -2.77828 -0.0614734 0 0 0 -0.0224752 2.63934 0 0 0 0 0.678567 0 0 0.662939 4.048 -1.17922 0 -0.452154 0 0 0.567997 -0.0372114 0 0 -0.886421 0.593311 0 0 -0.194719 -2.95097 0 -0.362102 1.53823 -0.297229 0.365071 -1.90842 0.272154 0 0.010945 -0.0970224 0.163505 -1.26951 -0.86554 -0.224554 0 0 -0.524472 -3.41499 0 -0.272668 0.367478 -0.131763 0 0 0 0 0.19455 -0.782408 0 1.43035 -0.0182009 0 0 0 -3.56744 0 0.47701 -5.45458 0 0.345899 -1.61289 -2.09003 0 0.688014 -2.09357 3.67252 -10.9454 0 0 0 0.0916471 0.0204205 0 0 0 -0.03462 0 0 -0.00474054 0 0 0.0106805 0 0 0 0 0.0328115 0 0.00705146 0 0.0496738 0 -0.255803 -0.271238 0 0.000244866 0 0 -0.0296814 0 -0.026858 0 0 0 0 -0.0505706 -0.0015814 0 -0.00403086 0 0 0 0 0 0 0 0 0 0 -0.0185065 0 0 0 0 0 0 0 0 0 0 -0.047567 0 0 0 -0.0228429 -0.00499539 0 -0.00322454 0.108675 0 -0.0241134 0 -0.0970946 0 0 0 -0.0568784 0 0 0.0339863 0 0 0 -0.00195787 0 0 0 0 0.0025583 0 0.138221 0.0916471 -0.214971 0.0204205 -0.345432 -0.0217537 0.14582 0.00851306 -1.22387 -0.0187027 -0.0235824 -0.352847 -0.0027268 -0.058385 0.0241451 -0.0822215 -0.0462559 -0.112952 0.826716 0.599387 -1.27741 0.178912 -0.177926 0.0660313 -0.236465 0.0970381 -0.727817 0.0198037 -8.36202 -0.23239 -3.0433 -1.62933 0.00352028 -0.0953443 -1.95864 -0.0250731 -0.00165073 0.0892545 -0.0170933 0.639267 -0.136785 0.0118709 -3.69099 1.22747 -0.00511835 -0.0219456 0.131621 0.10124 -0.0971339 0.469375 -0.723205 0.0828089 0.101119 -1.56326 -0.0415967 0.599324 -0.283615 0.323708 0.131217 -0.0688787 -0.322644 -0.460152 0.0665066 0.151542 -8.53979 -0.35467 0.278369 -0.106933 0.112708 -0.271325 0.119016 0.0560927 0.038124 -0.0315627 -0.0168894 0.239699 17.5798 3.09933 -0.276257 0.993463 0.518976 -2.28461 0.154567 0.277748 -0.592839 -0.00099641 0.0495281 0.179207 -0.279717 0.393912 -1.26206 0 +110 0 1.07195 0.00864504 0.0643405 0.244612 -0.0157802 -0.219406 1.75967 3.27397 0.439353 -1.41093 0.372868 -0.919563 -0.0110692 -1.05371 -0.000363494 0.678608 5.16697 -0.124019 -0.0214165 -5.80583 -0.0173059 0.506791 0.0142903 -0.293272 0.839967 -0.210899 -0.0327662 0.150234 -0.906501 -0.523445 0.0849465 0.191867 0.730585 0.220716 0.563139 0.0565723 0.0740775 -1.1341 0.788081 -2.35163 -0.0657993 1.50121 0.132134 -3.09222 -0.340322 -0.984407 -0.189226 0.348885 -0.340033 1.05295 -0.807053 1.59263 0.0245429 -0.022494 0.084911 1.40999 1.09145 0.668445 0.478232 0.129668 -1.68433 3.53209 0.359451 -1.51079 -0.620149 0.208451 0.619891 0.224243 -0.141479 1.01346 -0.426094 0.700197 -0.239041 0.329916 -0.393167 0.30232 4.58377 2.83867 -3.69909 1.15512 -1.57532 3.3291 0.834785 -1.09937 2.039 -3.55732 0.190162 -0.359222 0.614332 -1.20649 1.92353 0 0 0 0 0 0.0643405 0.244612 0 0 0 0 0 0 0 0.00365864 0 0 0 0 0.00836177 0 0.000960463 0.0398378 0.0375799 0 0 -0.0945266 0 0 0.000995329 0.285278 0 0 -0.0140861 0.115989 0 -0.0200002 0 -0.02759 0 0 -0.00413664 0 0 -0.0634844 0 0 0 0 0 0 0 -0.0425749 0 0 -0.166681 0 0 0 0 0 0 0 -0.0180662 0 -0.45242 0 -0.00788781 0 0 -0.000566379 -0.103218 0 -0.0474324 0 0 0 0.145384 0 -0.0426392 0 0 0.00273593 0 0 0 -0.00161955 0 0 0 0 0 0 -0.0157802 0 -0.219406 0 0 0 0 0.0635911 0.963632 0 0 -0.73449 0 -0.0763657 0 0.0495962 0 0 -0.966744 0 -0.625367 0.0710143 -0.246609 -0.0787205 0 0 0.474425 0 -1.97991 0 -4.65733 -1.42376 0 0.404781 -1.62779 -0.0263717 0 0.0199758 0 0 0.0937949 0 -1.94435 -1.68797 0 0 -0.150285 0 0 -0.0810678 -1.11572 -0.0586159 0 2.27894 0 -0.792254 0.0988673 -0.0776611 0.820113 0.101019 -2.06008 0.296742 -0.169993 0.185416 5.98166 -0.247665 0 0 0 0.364657 0.140241 0 0 0 0 -0.163318 29.1572 6.37103 -3.59303 1.36996 -0.977621 1.45033 0.266403 -0.216905 0.30798 -0.214306 0 0 0 0 0 0 +111 0 -0.478703 0.684775 0.0263918 0.100337 -0.0400696 0.196312 -0.658728 0.268859 0.180219 -1.01014 0.316316 0.820241 -0.0045405 0.784569 -0.0109004 1.86655 4.7475 -0.0604862 -0.0495751 -0.362711 -0.0164985 -1.16244 0.00586176 -0.279525 -0.766115 0.916419 -0.0242334 -0.801144 -1.25603 0.686849 0.0348442 -0.00824141 -1.76117 0.0210009 -0.776842 0.0434074 -0.020167 -2.78905 0.337818 0.37389 -0.0269902 0.462594 0.0559999 -0.268528 -0.139597 0.622009 -1.15989 -0.186754 -0.144251 0.241846 -0.732229 -1.89392 0.0808817 -0.0741293 0.0507374 -0.02019 0.380958 0.567341 0.418135 0.0531885 0.892169 -0.813522 1.43758 0.202093 0.0492526 1.6136 0.268078 -0.0631254 -0.0580334 0.675544 -0.327322 0.163178 -0.0313269 -0.173491 0.699057 -0.0479694 9.77067 3.29996 -0.807838 1.12314 -1.12067 3.02293 0.789042 -0.706813 1.39855 -0.521946 0.0780025 -0.151416 0.499024 -0.871587 2.66521 0 0 0 0 0 0.0263918 0.100337 0 0 0 0 0 0 0 0.00546234 0 0 0 0 0.00305617 0 0.000883857 0.00947099 0.0123924 0 0 0.0507429 0 0 0.0323003 0.216292 0 0 0.00699329 0.0259369 0 0.144981 0 -0.000247709 0 0 -0.00011754 0 0 0.365883 0 0 0 0 0 0 0 -0.0722086 0 0 0.0262036 0 0 0 0 0 0 0 -0.000439114 0 0.267777 0 -0.00340187 0 0 -0.000698068 0.0490752 0 0.00157904 0 0 0 -0.837899 0 -0.0164441 0 0 -0.0157681 0 0 0 -0.000534065 0 0 0 0 0 0 -0.0400696 0 0.196312 0 0 0 0 0.278255 0.74634 0 0 -0.402383 0 -0.0399399 0 0.0245683 0 0 -0.438815 0 -0.481579 0.103559 -0.282134 -0.0387686 0 0 0.220292 0 0.00965071 0 1.05621 -0.198056 0 0.679641 -0.369149 -0.0299663 0 0.0336422 0 0 0.0788503 0 -0.333535 -1.17114 0 0 -0.101053 0 0 -0.0483965 1.93152 -0.0912808 0 2.01158 0 0.0857312 0.0735212 -0.000400961 0.515816 0.102196 -1.18895 0.566004 -0.0972702 -0.220896 5.99219 -0.164181 0 0 0 0.216665 0.105015 0 0 0 0 -0.161461 -7.69041 2.28109 -4.85952 0.285353 -0.0918154 -0.939478 0.130714 -0.0868928 0.0790131 -0.286011 0 0 0 0 0 0 +112 0 0.188827 -0.487886 0.0242602 0.0922333 -0.275055 -0.146701 0.20312 1.11551 0.165663 -0.90274 0.0902781 -0.330226 -0.00417377 -0.699765 -0.00693399 -1.68951 -6.42167 -0.160991 -0.0585576 -3.26939 -0.0189275 0.633035 0.00538831 -0.149879 0.254318 -0.658306 -0.025477 -0.113311 -0.986457 0.00513448 0.0320299 0.01738 0.848018 -0.111873 0.204042 0.0151093 -0.0035189 1.44739 0.0937806 -1.45135 -0.0248103 -0.244086 0.0246737 -3.25054 -0.128322 -0.466467 -0.51948 -0.276691 -0.0615215 0.124919 -0.636296 -6.33948 0.0968946 -0.0888054 -0.142819 0.299772 -0.989488 -0.777706 0.254401 0.0488925 0.916525 6.80283 0.765778 0.0375876 0.19411 1.08998 0.438448 -0.086094 -0.0533461 0.0929098 -0.502954 -0.134267 0.00539734 3.34169 0.693432 -1.82162 -11.9192 -0.800191 -4.23525 -0.261232 -0.0941306 -2.04837 0.478259 -0.663328 1.35982 -1.87461 0.0717024 -0.0786289 0.411746 -0.502532 2.09319 0 0 0 0 0 0.0242602 0.0922333 0 0 0 0 0 0 0 -0.00297685 0 0 0 0 -0.00113643 0 -0.000176547 -0.0084966 -0.0205171 0 0 -0.201015 0 0 0.00226891 -0.816506 0 0 -0.0299659 -0.108492 0 0.00154429 0 -0.0308527 0 0 -0.0046085 0 0 -0.000827154 0 0 0 0 0 0 0 -0.025488 0 0 -0.0974638 0 0 0 0 0 0 0 -0.0490889 0 0.225474 0 -0.000224176 0 0 -0.00555861 -0.111814 0 -0.00372133 0 0 0 0.00189424 0 0.023498 0 0 3.56471e-05 0 0 0 0.000884208 0 0 0 0 0 0 -0.275055 0 -0.146701 0 0 0 0 0.204229 0.298032 0 0 -0.461373 0 -0.0507006 0 0.0181012 0 0 -1.49171 0 0.745333 0.101577 -0.110007 -0.200582 0 0 0.168908 0 -4.52336 0 1.21816 0.0875626 0 0.887663 0.892409 -0.0116213 0 0.014262 0 0 0.0271516 0 -1.03348 -2.79537 0 0 -0.364765 0 0 1.57635 2.38295 0.206098 0 3.98011 0 0.843511 -0.0147763 0.00350299 0.700798 0.0286741 -1.1534 0.146545 -0.00372828 -1.07869 9.19888 -0.0717213 0 0 0 -0.333569 0.0939042 0 0 0 0 -0.0230148 -7.59135 1.65432 -4.3935 0.483489 -0.375839 -0.728938 0.246448 -0.190457 0.182927 -0.568655 0 0 0 0 0 0 +113 0 0.00411173 0.869319 -0.050394 -0.226705 0.230464 0.0457535 -0.00543854 -1.20166 0.0269255 0.847227 -0.0177621 1.67887 0.0127497 0.87884 -0.00182179 4.85972 9.11015 0.0457021 -0.00702844 0.768276 -0.0649012 -1.9679 -0.00224434 -0.0198136 -0.0545178 2.54514 -0.0806364 0.00814997 0.0546973 0.283251 -0.0078493 -0.0167792 -2.44991 -0.185898 0.091077 -0.00696089 0.0604958 -4.55901 -0.112406 0.142072 0.081328 -0.904914 -0.0533097 4.54295 0.429002 0.0246969 0.0329595 -0.00688342 0.140064 -1.19133 0.695185 -1.86377 0.172195 0.249674 -0.136604 -3.91578 0.291061 0.0277188 0.00897543 -0.194148 -1.42432 -0.439378 1.78117 -1.46955 0.289758 -1.27481 -0.823891 -0.346901 -0.128688 1.28477 0.161147 0.11532 0.227893 -1.37625 -0.135554 3.15979 20.794 0.701343 3.82231 0.732747 -0.165358 4.2152 -1.72173 1.06623 -1.26658 1.22929 -0.404172 0.0649453 -0.152356 0.0346982 -0.0322802 0 0 0 0 0 -0.050394 -0.226705 0.00143117 0 0 0 0 0.000545493 0 -0.0693268 0 0 0.00677729 0.0238806 -0.106414 0 -0.0159298 0.0569404 -0.471942 0 0 -0.102218 0.00141916 0 0.0390953 0.189996 0 0 -0.0288288 0.161867 0 0.132987 0 -0.0305657 0 0 -0.00684635 0 0 0.386792 0.00836179 0.1149 0 0.0107242 -0.0930204 0 0 0.109364 0 0.00353637 -0.0451294 0.0234307 0 0 -0.0115864 -0.00229828 0 0.0405964 -0.108227 0.0205006 1.21474 -0.118147 -0.103059 0 0.0119447 -0.182189 0.281718 -0.01649 0.283735 0 0 0 -2.75332 -0.377047 1.43536 0.0332777 -0.043662 -0.220465 -0.00748025 0.00996243 -0.0522745 0.333062 0 0 0 0 0 0 0.230464 0 0.0457535 0 0 0 0 0.0445732 -0.390707 0 0 -0.0313015 0 -0.0141357 0 -0.000958065 0 0 -0.000527866 0 -0.017409 0.0341124 -0.00892877 -0.000408389 0 0 -0.038428 0 1.25401 0 -0.343138 0.114948 0 0.188141 0.0220071 -0.00181368 0 0.0063466 0 0 -0.0192353 0 0.536796 0.0744718 0 0 0.00440672 0 0 -0.146605 -0.0927234 -0.0598297 0 -0.63513 0 -0.427841 -0.092367 0.0633928 -0.275701 0.0519632 0.417273 0.0161237 -0.000980966 0.57211 0.885484 0.00698762 0 0 0 -0.0487086 -0.028631 0 0 0 0 0.0983654 0.972798 -0.411973 0.148335 0.0344715 0.0521086 0.25728 -0.038295 0.0501437 -0.051477 -0.0982952 0 0 0 0 0 0 +114 0 1.41429 0.160819 0.0349255 0.168758 0.0478386 0.073613 -0.676353 -1.32284 0.191623 -1.4372 -0.0984496 2.34262 -0.000934046 0.282258 -0.0113617 2.42366 10.1279 -0.447134 -0.0419627 0.0337414 -0.036082 0.537004 0.00482111 -0.178277 0.0774431 0.204028 -0.12242 -0.0355991 -0.216097 0.171263 0.0310752 -0.0843503 -0.65925 -1.72221 -0.058035 -0.0149642 0.06934 -8.18411 -0.382602 0.0430747 -0.00287301 -2.50802 -0.0639742 3.92626 0.00875406 0.0195678 -0.107315 -0.334486 0.0567464 -2.04259 0.191729 -17.2025 0.0138853 -0.058444 0.0733376 -10.1871 -0.864647 -0.0409449 0.130489 -0.0674916 0.736979 0.162193 3.80536 -2.77821 0.78495 -0.220182 2.98872 0.0254725 -0.0977628 0.0164686 0.446406 -0.0868363 0.922347 -0.898323 0.151541 4.56132 34.1565 8.19845 2.97994 6.11285 -3.89711 11.1683 0.872903 -0.303188 0.53029 3.25769 -0.00824739 0.180473 0.0992119 0.106856 0.127532 0 0 0 0 0 0.0349255 0.168758 -0.00747045 0 0 0 0 -0.00102396 0 -0.0444872 0 0 -0.001324 0.00518695 -0.0465412 0 -0.00958888 0.0654261 -0.203791 0 0 0.176699 0.000353103 0 -0.0537305 1.87329 0 0 0.0246902 0.433419 0 -0.229527 0 -0.0130663 0 0 -0.00177446 0 0 -1.32411 -0.0172005 -0.0236974 0 -0.118467 -0.0695843 0 0 -0.180318 0 -0.00534083 -0.423427 0.00782818 0 0 0.000790147 0.0201426 0 0.012476 0.10085 -0.00117115 0.349418 0.0192908 -0.0428361 0 -0.0580267 -0.186653 0.26845 -0.0205023 -0.345125 0 0 0 7.10316 0.269952 1.11908 0.0564997 -0.0660079 0.684106 0.000656251 0.000301907 0.00180957 0.241095 0 0 0 0 0 0 0.0478386 0 0.073613 0 0 0 0 0.00126145 0.0289314 0 0 -0.208888 0 -0.0391861 0 -0.00770982 0 0 0.00264986 0 -0.070181 -0.0255262 -0.042515 0.00051654 0 0 -0.062216 0 1.78672 0 -1.73532 -0.105538 0 -0.0633912 -0.379699 -0.00878254 0 -0.00490752 0 0 0.0039534 0 0.0606237 0.201765 0 0 0.0261036 0 0 0.11147 1.04506 -0.0718336 0 -0.0878319 0 -0.904331 0.0504172 -0.0998125 -0.104613 -0.0526876 0.0820469 0.752184 -0.00241059 0.111339 0.183991 0.0623139 0 0 0 -0.0647355 0.0181028 0 0 0 0 0.0348475 21.2689 3.52311 -0.823752 1.70757 -0.933822 1.15896 0.219064 -0.151774 0.135262 0.257531 0 0 0 0 0 0 +115 0 1.25129 0.0887716 0.068673 0.302033 -0.0277818 0.0071051 -0.131653 -0.0632303 0.979406 -1.48273 -0.0513274 -0.192932 -0.00156606 -0.415438 -0.0072899 -0.647091 0.635614 -0.167427 -0.073742 -0.222753 -0.031358 0.280337 0.0191986 -0.404985 0.00426043 -0.500534 -0.0505133 -0.00430924 -0.095076 -0.122864 0.139524 -0.0398711 -0.619317 0.0817152 -0.0269895 -0.00638808 -0.238654 -5.82102 -0.230828 -0.0558889 0.000484727 0.658416 -0.0265089 -0.989399 0.125958 -0.0130589 -0.0182704 -0.463017 -0.113404 -0.612056 0.214133 -5.23385 0.351391 0.0945202 0.00712317 -4.22567 -0.36022 -0.370501 0.0625742 0.00137372 -0.654681 0.481722 1.01938 -1.9479 -0.750223 -0.411657 1.39243 0.704722 -0.253592 0.53356 0.445645 0.0670187 1.09933 -0.101628 -0.00940965 3.31566 19.8351 6.39818 -0.364945 3.75517 -2.04905 7.14715 1.46982 -1.0647 2.18623 -0.728204 -0.118668 0.112256 0.00761887 0.0654543 0.0561101 0 0 0 0 0 0.068673 0.302033 0.00372252 0 0 0 0 0.000302298 0 -0.00434551 0 0 0.00161575 0.00304852 0.0232376 0 0.000420489 0.0216353 0.074483 0 0 -0.0431089 0.000339035 0 -0.00379369 1.07964 0 0 0.00179634 0.181339 0 -0.00587801 0 -0.0307173 0 0 -0.00296989 0 0 -0.3279 0.00371557 0.0126586 0 0.0550829 0.0577054 0 0 -0.256228 0 0.00900749 0.251531 -0.0206532 0 0 -0.00555646 -0.00441523 0 0.0176176 -0.120213 0.00615412 -0.741397 -0.000121279 -0.0184404 0 0.0266606 0.0280085 -0.0195739 7.01975e-05 -0.00752853 0 0 0 0.359967 0.0498931 -0.436417 0.00936179 0.00455084 -0.115965 -0.00302952 0.00332741 0.0142443 -0.092114 0 0 0 0 0 0 -0.0277818 0 0.0071051 0 0 0 0 0.0473918 -0.252171 0 0 -0.69178 0 -0.0948462 0 -0.00825731 0 0 0.100181 0 -0.104866 0.0289399 -0.122751 0.00919112 0 0 -0.0621815 0 0.436747 0 -2.43468 -0.0439197 0 0.307665 -0.491875 -0.0172686 0 0.00410344 0 0 -0.0426207 0 -0.14431 0.695868 0 0 0.0603299 0 0 0.245773 0.811718 0.177673 0 -0.406639 0 -0.595199 -0.0193559 -0.162494 -0.0261453 -0.0566209 -0.340935 0.455293 -0.0225299 0.436165 0.151696 -0.041527 0 0 0 -0.0739178 0.00989828 0 0 0 0 0.0111487 22.2922 6.25883 -2.68309 1.77535 -1.05806 1.3321 0.455441 -0.328147 0.490597 -0.369178 0 0 0 0 0 0 +116 0 1.17903 -0.0496002 0.0769302 0.258664 -0.176144 -0.262419 1.47415 2.63839 0.504937 -1.60317 0.36619 -2.27121 -0.0158369 -2.14154 0.0273751 -0.833924 -0.9771 -0.144463 -0.0422307 -4.90142 -0.0386739 0.302381 0.0204453 -0.448583 0.394983 -0.375858 0.00980658 0.132554 -1.51308 -0.78239 0.109459 0.374395 -0.0592199 0.378145 0.463945 0.0673858 0.240905 -2.94338 0.810988 -2.07822 -0.0847869 2.0477 0.158551 -6.93643 -0.391122 -0.808687 -0.485832 0.324882 -0.395427 0.983287 -1.01464 4.45067 0.0492875 -0.0451728 0.0721747 4.02893 0.392181 -0.124126 0.648736 0.161965 -3.05197 4.13601 0.0511149 -0.582459 -0.603506 0.0358615 0.329316 0.379786 -0.176718 1.16609 -0.627219 0.716044 -0.466112 4.18702 -0.155828 0.0774543 14.0018 3.88482 -1.16078 1.12656 -1.16304 4.13394 1.19776 -1.1488 2.12258 -3.66561 0.258152 -0.464661 0.84865 -1.48649 2.70267 0 0 0 0 0 0.0769302 0.258664 0 0 0 0 0 0 0 0.00995951 0 0 0 0 0.0101026 0 0.00261521 -0.000557476 0.0409803 0 0 0.108434 0 0 0.0852225 0.430441 0 0 0.012906 0.0510036 0 0.214329 0 0.0202886 0 0 0.0022193 0 0 0.454334 0 0 0 0 0 0 0 -0.10593 0 0 0.0529454 0 0 0 0 0 0 0 0.0074399 0 0.152979 0 -0.0080479 0 0 -0.000417162 0.0861391 0 -0.0129463 0 0 0 -1.04046 0 -0.0497232 0 0 -0.01958 0 0 0 -0.00176609 0 0 0 0 0 0 -0.176144 0 -0.262419 0 0 0 0 0.156513 1.3911 0 0 -0.585907 0 -0.0550716 0 0.0648131 0 0 -1.71651 0 -0.844451 0.0613882 -0.187751 -0.186183 0 0 0.590511 0 -5.49696 0 -5.24801 -1.70967 0 0.536952 -2.00617 -0.0190637 0 0.0142029 0 0 0.153356 0 -3.16723 -3.22527 0 0 -0.364256 0 0 0.703201 -0.0559583 0.0751971 0 3.14632 0 -0.518338 0.175306 -0.0741177 0.405854 0.110318 -0.980214 0.44692 -0.170439 -0.806284 0.318589 -0.236708 0 0 0 0.244932 0.108452 0 0 0 0 -0.304379 33.8613 5.00337 -1.91908 1.1924 -0.912435 2.05421 0.193682 -0.161217 0.224537 -0.159573 0 0 0 0 0 0 +117 0 0.957836 -0.684777 -0.0128582 -0.0432335 0.297123 -0.204379 0.796119 0.387785 -0.084396 0.196492 -0.384296 -0.832025 0.002647 0.183389 -0.0327753 -1.6175 -2.09599 -0.0442865 -0.0347422 0.0256468 -0.013581 1.36714 -0.00341727 -0.0017305 0.92409 -0.871351 0.0121511 0.864076 1.11374 -0.59566 -0.0182952 -0.26971 2.30671 -0.116167 0.877043 -0.0552496 0.0446952 4.88459 -0.344649 -0.493479 0.0141714 -0.509341 -0.0549679 2.07031 0.0653728 -0.695104 1.12522 -0.361336 0.140616 -0.78039 0.0902719 -1.51374 0.0633993 -0.0581064 0.105115 -0.212552 -0.204729 -0.182714 0.0126333 -0.027071 -1.1089 0.787921 -2.5843 -1.79717 0.016419 -0.843373 -0.153805 -0.00553366 0.0295369 0.105551 0.18262 -0.307538 0.0316897 0.647028 -0.43426 0.237197 -11.024 -1.30914 -1.25551 -0.893074 1.47742 -4.23833 0.0433785 0.0928559 -0.425279 0.259594 -0.0431479 0.14667 -0.425936 0.868843 -1.98937 0 0 0 0 0 -0.0128582 -0.0432335 0 0 0 0 0 0 0 0.00172553 0 0 0 0 -0.00228057 0 2.44406e-05 -0.0358557 -0.011198 0 0 0.162195 0 0 0.0161246 -0.13857 0 0 0.0212035 -0.145086 0 0.0988014 0 0.0211581 0 0 0.00280945 0 0 0.263292 0 0 0 0 0 0 0 -0.0123987 0 0 0.227612 0 0 0 0 0 0 0 0.0279397 0 0.539545 0 0.00283769 0 0 -0.000597113 0.183167 0 0.0270521 0 0 0 -0.602959 0 0.0111999 0 0 -0.0113469 0 0 0 0.000482588 0 0 0 0 0 0 0.297123 0 -0.204379 0 0 0 0 -0.0900201 -0.424806 0 0 0.334261 0 0.0377185 0 -0.0297841 0 0 0.795383 0 0.91402 -0.0162798 0.279762 0.10411 0 0 -0.273467 0 5.11066 0 2.98389 0.619756 0 -0.253462 1.87776 0.0313863 0 -0.010375 0 0 -0.0458241 0 1.70594 2.11139 0 0 0.243949 0 0 -0.243238 -0.134082 0.0349892 0 -1.0492 0 0.371909 -0.137401 0.0447177 -0.426184 -0.0324803 0.252267 -0.350984 0.012783 0.209971 0.279733 0.0686611 0 0 0 -0.124442 -0.043706 0 0 0 0 0.0806475 -10.4316 -1.75725 1.84778 -0.139768 0.00980356 0.336802 0.0113763 -0.0173589 -0.00784397 0.166694 0 0 0 0 0 0 +118 0 0.626828 -0.143344 0.0318597 0.107123 -0.0920623 -0.00833135 0.81005 1.51196 0.209114 -0.640691 0.257428 0.611157 -0.00655866 1.41749 0.0208808 -0.363415 3.18585 -0.0980823 0.0267172 -1.39327 -0.0275453 0.525753 0.00846719 -0.211526 0.364748 -0.429517 -0.0196335 0.0471019 -0.642635 0.274459 0.0453313 0.225152 0.843818 -0.0621373 0.211946 0.0423076 0.0602151 1.27438 0.53042 -0.506247 -0.0351135 0.450884 0.0921499 3.32819 -0.161979 -0.210803 -0.090656 0.459253 -0.233103 0.0197869 -0.336148 -1.52092 -0.0553486 0.0507279 0.188397 2.05448 0.666163 0.971896 0.282169 0.0670757 0.0715563 -2.50741 -0.719059 -0.754403 0.0723419 -0.00642643 0.299798 0.0516622 -0.0731856 0.432526 0.0634786 0.611218 -0.139154 -1.08765 -0.697584 -0.683097 -5.86381 -0.367554 -1.98858 -0.299864 0.404994 -2.85368 0.567245 -0.567595 0.586732 -1.68942 0.106911 -0.256641 0.356742 -0.79744 1.14788 0 0 0 0 0 0.0318597 0.107123 0 0 0 0 0 0 0 -0.000736874 0 0 0 0 -0.00115422 0 0.000421198 -0.0277138 -0.0222377 0 0 -0.0971275 0 0 0.0382566 -0.602534 0 0 -0.0143047 -0.132962 0 0.10188 0 -0.0109347 0 0 -0.00175605 0 0 0.221029 0 0 0 0 0 0 0 -0.0565973 0 0 -0.00538685 0 0 0 0 0 0 0 -0.026832 0 0.641919 0 -0.000327654 0 0 -0.00618552 0.02174 0 -0.00823188 0 0 0 -0.506172 0 0.0241012 0 0 -0.00952546 0 0 0 0.000958357 0 0 0 0 0 0 -0.0920623 0 -0.00833135 0 0 0 0 0.158923 0.454071 0 0 -0.502381 0 -0.0562303 0 0.0264056 0 0 0.865593 0 0.728929 0.0150383 -0.139897 0.117476 0 0 0.258403 0 11.15 0 -0.584473 1.14876 0 0.338829 0.58395 -0.0153312 0 0.00157191 0 0 0.0408896 0 4.0469 1.77179 0 0 0.244694 0 0 -1.51984 -0.463933 0.0328818 0 -1.81883 0 0.151731 0.0480637 -0.0597633 0.56768 0.0943676 -1.28512 -0.155286 -0.0428754 0.71129 -1.75539 -0.133632 0 0 0 0.50617 0.0951048 0 0 0 0 -0.0770658 6.29172 1.81584 -0.504093 0.539505 -0.422154 0.00501854 0.189106 -0.140874 0.128893 -0.142001 0 0 0 0 0 0 +119 0 0.467132 0.585521 0.0188532 0.15931 -0.120753 0.0776699 0.200718 1.16864 0.151362 -1.18621 -0.0310046 0.419971 -0.000691632 -0.960354 -0.0142587 0.95153 1.11845 -0.280512 -0.0413223 0.0779769 -0.0292451 -0.762484 0.000897205 -0.139014 0.0379838 0.615045 -0.0680806 -0.109863 -0.0366236 -0.0591291 0.0122939 -0.300179 -1.42084 -0.479003 -0.19585 -0.00589308 -0.319987 -4.22916 0.0466162 0.211321 -0.00913021 -1.49289 -0.000961281 -0.764455 -0.113682 0.192659 -0.0659545 -0.697635 0.00790632 -1.89515 -0.503701 -3.23844 0.0791402 -0.0516262 0.0666114 -4.23681 -0.858173 -0.253044 0.303465 0.019103 -2.2534 -0.116513 0.799951 0.892912 1.04444 0.571249 -0.242599 -0.567158 -0.0228547 0.71398 -0.593533 -0.138063 0.401139 -0.232423 0.017191 0.569679 17.1828 3.83422 1.14452 1.2162 -1.16023 5.10139 0.537688 -0.603116 1.38563 -1.49765 0.0106636 0.00675094 0.0503547 -0.0170648 0.0313375 0 0 0 0 0 0.0188532 0.15931 0.000497806 0 0 0 0 1.02705e-05 0 0.00541861 0 0 -2.15101e-05 -3.88627e-06 0.00323953 0 0.000571382 0.0134058 0.0311901 0 0 0.00193992 -2.82188e-07 0 0.0104093 0.423156 0 0 0.000322671 0.0919575 0 0.0406346 0 0.000856422 0 0 8.14448e-05 0 0 0.0619259 0.000141445 -0.000296235 0 0.00685575 -0.00694187 0 0 -0.0327281 0 0.00101917 -0.0712756 -0.00196204 0 0 4.40379e-05 -0.000861354 0 -0.00115572 0.00448204 -0.000422222 -0.225364 -0.00357955 -0.00351246 0 -0.000649543 0.00500508 -0.011744 -0.00300658 -0.0182734 0 0 0 0.0194746 -0.0146616 0.00493624 0.00863648 -0.0164681 0.0289432 2.83477e-05 -5.40535e-05 0.000116527 -0.000396547 0 0 0 0 0 0 -0.120753 0 0.0776699 0 0 0 0 0.172532 -1.18829 0 0 -0.746135 0 -0.0765598 0 -0.0704058 0 0 1.00372 0 -1.1272 0.0709457 -0.319996 0.145956 0 0 -0.652812 0 -2.15196 0 -5.61895 -0.75272 0 0.424823 -2.34733 -0.0347116 0 0.0300634 0 0 -0.128505 0 -1.5006 1.96309 0 0 0.282755 0 0 0.461774 -4.29125 -0.199767 0 -0.810909 0 0.573222 -0.38351 0.260356 0.690877 0.157315 -1.98608 -1.34176 -0.212851 -0.685429 -8.86914 -0.350768 0 0 0 -0.454958 0.175883 0 0 0 0 0.188655 31.1761 7.65035 -5.13751 2.12093 -1.51941 1.52041 0.341627 -0.262372 0.284714 -0.169584 0 0 0 0 0 0 +120 0 -0.18551 -0.145021 0.00245855 0.0257744 0.0909889 -0.0442523 -0.68838 -0.164255 0.0222456 -0.523469 -0.0272411 -0.602392 -8.20104e-05 -1.85196 -0.00101649 -1.16066 -7.39711 -0.0725635 -0.0105843 -4.67548 -0.00503236 -0.153803 0.000114257 -0.0861813 -0.131439 -0.102103 0.00604281 -0.329009 -0.638955 -0.143928 0.0016431 -0.0081985 -0.254588 0.0350231 -0.172198 -0.00252797 -0.0215231 0.328356 -0.0749648 -1.83552 -0.00101092 -0.108913 -0.00547258 -4.89863 -0.011218 -0.448476 -0.53082 -0.156172 0.0156243 -0.555867 -0.0859014 8.07776 0.0203881 -0.0160682 0.0356535 5.58636 0.0614369 -0.161857 0.146061 0.00208172 2.85876 7.3207 3.08758 0.484149 0.409538 1.30734 0.590669 -0.0994253 -0.00334093 0.474641 0.0920049 0.0198618 0.033642 4.54479 0.44301 0.140722 1.63221 1.23625 0.596627 -0.161475 0.602454 0.253996 0.400965 -0.393008 1.00557 -0.653404 0.00105226 0.00439781 0.0347668 0.0823047 0.546732 0 0 0 0 0 0.00245855 0.0257744 -5.38162e-05 0 0 0 0 -1.1111e-06 0 0.00163045 0 0 0.000111621 2.00663e-05 0.000303024 0 0.000137759 -0.00160854 0.000108012 0 0 0.0460019 1.45705e-06 0 0.00595628 0.0358835 0 0 0.0056777 -0.0149159 0 0.050093 0 0.00269656 0 0 0.000340884 0 0 0.143235 -1.5302e-05 0.00153723 0 -0.000741152 0.00151633 0 0 -0.0229933 0 -0.000110179 0.0466313 0.00030672 0 0 -0.000228523 9.3118e-05 0 0.000344987 0.0048465 0.000565929 0.156835 0.00199442 -0.00124198 0 0.000196256 -0.000967112 0.0460455 0.000256384 0.00267677 0 0 0 -0.335341 -0.00244076 -0.000171476 -0.00039208 0.000747621 -0.00760799 -0.000147103 0.000280496 -0.000604687 0.0010097 0 0 0 0 0 0 0.0909889 0 -0.0442523 0 0 0 0 0.0166755 0.0426871 0 0 -0.151255 0 -0.0187806 0 -0.00455162 0 0 -1.29308 0 0.0688861 0.103994 -0.0483508 -0.164215 0 0 -0.0270752 0 -7.27577 0 2.82872 -0.477578 0 0.464873 0.683196 -0.00573091 0 0.018349 0 0 -0.00477719 0 -2.31578 -2.54592 0 0 -0.323109 0 0 1.52766 2.3589 -0.0155634 0 3.69999 0 0.640064 -0.115246 0.104535 0.263519 0.00526898 -0.798946 0.319545 -0.0698087 -0.854086 9.8924 -0.0120237 0 0 0 -0.418893 0.0701828 0 0 0 0 0.0472358 -15.9726 1.30658 -4.34599 0.225581 -0.105121 -0.886857 0.18275 -0.14574 0.147309 -0.360596 0 0 0 0 0 0 +121 0 0.0812557 0.710795 0.0104139 0.0399973 -0.139997 0.294123 -1.47436 -0.719051 0.0595366 -0.691984 -0.214374 1.02094 -0.000460595 1.28673 0.00213618 1.4905 2.71951 -0.112426 -0.0140764 2.58893 0.00033416 -1.17921 0.000521928 -0.103778 -0.816092 0.944422 -0.00344957 -0.68861 -0.271853 0.754085 0.00640771 -0.0173548 -1.89251 0.0049849 -0.916816 -0.0138815 -0.0722893 -3.18283 -0.187402 1.41521 -0.00676861 0.101956 -0.0117859 1.6645 -0.0974242 1.05748 -0.523155 -0.258306 0.0260836 0.503642 0.0890284 2.25832 0.0333352 -0.0133455 0.0791986 -1.68254 0.614166 -0.0639879 0.124798 0.0144827 1.26766 -2.00941 1.32276 1.13645 0.0122007 0.903246 0.0936609 0.0467999 -0.00916249 0.197195 -0.0110862 0.0251005 0.0151346 -2.85975 0.37624 1.25335 12.1071 2.3701 2.71381 1.16316 -0.210838 1.89353 0.472489 -0.215809 0.453435 0.385958 0.00913852 0.0164484 0.0544314 0.101549 0.232616 0 0 0 0 0 0.0104139 0.0399973 0.00141601 0 0 0 0 2.92139e-05 0 0.00113304 0 0 1.12069e-05 1.95825e-06 0.00120516 0 0.000255929 0.00360609 0.00237565 0 0 -0.0982112 1.42191e-07 0 0.00555122 -0.06658 0 0 -0.0145901 0.00832189 0 -0.0102258 0 -0.00361572 0 0 -0.000575732 0 0 -0.141824 0.000402331 0.000154341 0 0.0195011 -0.0189711 0 0 0.0226739 0 0.00289901 -0.0929535 -0.00551812 0 0 -2.29441e-05 -0.00245011 0 -0.00286409 -0.00533672 -0.000545354 0.00857314 -0.0073294 0.00429033 0 -0.00143095 0.00953107 -0.0186006 -0.00569763 0.00124064 0 0 0 0.783835 -0.0437622 0.113921 0.0245804 -0.0468701 0.0960835 -1.47694e-05 2.81623e-05 -6.07116e-05 0.0021975 0 0 0 0 0 0 -0.139997 0 0.294123 0 0 0 0 -0.132573 0.640895 0 0 0.119257 0 0.0125267 0 0.0206333 0 0 -0.161186 0 -0.250658 -0.0204008 0.162539 -0.0193469 0 0 0.187734 0 2.47503 0 0.523578 0.288383 0 -0.114983 0.0603253 0.0172825 0 -0.0124222 0 0 0.0699266 0 0.567174 -0.325892 0 0 -0.0380795 0 0 -0.217041 -0.0997213 0.0415813 0 -0.0372356 0 -0.175277 0.160933 -0.117307 -0.366227 -0.0653885 -0.0146156 0.186347 0.0475218 0.220731 -0.64206 0.0268275 0 0 0 0.164433 -0.0312561 0 0 0 0 -0.108995 -1.7474 -0.178192 0.188516 0.622459 -0.426971 -0.605308 0.0552067 -0.0398078 -0.027151 -0.00305529 0 0 0 0 0 0 +122 0 0 0 0 0 -0.197764 0.296922 -0.828178 -2.2397 0 0 0.096876 1.8143 0 3.2535 0.238228 0 0 0 0.547102 2.68625 0 0 0 0 -0.450691 0 0 -0.758597 -5.15349 1.0085 0 0.64147 0 0 -0.208135 0.040608 0 0 0.734363 0.911173 0 0 0.195805 6.53066 0 0.668398 -1.59506 0.865547 -0.264598 4.31446 -0.522467 0 -0.642363 0.575457 -0.68772 -3.74818 -1.60177 -0.947983 0 0 -0.0207543 -0.531229 0 -1.70262 -1.32736 -0.0225349 0 0 0 0 0.230304 0.861873 0 -1.89413 1.35187 0 0 0 3.23701 0 -0.723607 6.58511 0 -0.276659 1.30195 4.28436 0 -0.493794 2.20879 -4.61595 16.1079 0 0 0 -0.168991 -0.0427173 0 0 0 -0.0141584 0 0 -0.0025635 0 0 0.0140269 0 0 0 0 0.116534 0 0.0249369 0 0.0667901 0 -0.0741729 0.0580458 0 -0.00361011 0 0 -0.204343 0 0.0131938 0 0 0 0 0.0662852 -0.0284956 0 0.0157807 0 0 0 0 0 0 0 0 0 0 -0.0435461 0 0 0 0 0 0 0 0 0 0 -0.338478 0 0 0 -0.0334463 -0.0500217 0 -0.0245521 -0.279108 0 0.109841 0 -0.269732 0 0 0 -0.0878558 0 0 0.192929 0 0 0 0.0471161 0 0 0 0 0.168473 0 -0.197764 -0.168991 0.296922 -0.0427173 0.38202 0.183464 -0.912686 -0.366807 -2.06447 -0.0107679 -0.00405763 0.00383106 -0.00084192 -0.00726135 -0.135699 -0.115286 0.0271391 -0.121402 0.408345 0.568016 0.358557 -0.216457 0.106323 0.00414276 -0.0133563 -0.270651 -0.779431 0.0158199 -3.08731 0.328374 0.761788 0.700331 -0.0194196 -0.847351 0.625622 0.00822388 0.00301557 -0.061107 0.038386 -1.63359 -0.31297 -0.0467538 -0.180007 1.22508 0.00229167 0.0271661 0.0656981 0.0759295 0.155055 0.508836 -2.60644 0.413877 -0.256314 -2.10759 0.51072 -0.840132 0.0480878 -0.107042 -0.1319 0.550136 0.353015 0.19762 -0.120098 2.44021 -0.916864 -0.0188447 0.139721 -0.112569 0.339327 -0.721879 -0.0769705 0.0448602 0.00280655 -0.184076 0.041724 1.23408 -3.16075 0.286333 0.139411 0.150009 -0.854673 2.81659 -0.0474101 0.0561565 -0.185155 1.85591 0.0324615 -0.0766327 0.297114 -0.630164 2.12789 0 +123 0 0 0 0 0 -0.193914 0.315971 -0.516918 -1.94217 0 0 0.298337 0.617233 0 1.74617 -0.0242227 0 0 0 -0.432082 0.837363 0 0 0 0 -0.59954 0 0 -0.859265 -1.88103 0.555846 0 0.273996 0 0 -0.204877 0.0403518 0 0 0.390897 -0.0713643 0 0 0.0651547 2.92765 0 0.445913 -1.35907 -0.625026 -0.0990307 -0.712247 -0.264838 0 0.363766 -0.416331 0.394656 -1.3523 -0.239128 0.130909 0 0 0.478083 0.700062 0 0.426905 0.652799 0.0486411 0 0 0 0 0.132774 0.0871868 0 -0.32577 0.344626 0 0 0 3.60741 0 -0.704894 3.7059 0 0.149773 0.351155 3.37643 0 -0.0616454 1.07573 -1.18151 3.99999 0 0 0 -2.6696e-05 -0.00108479 0 0 0 0.0206668 0 0 0.000182307 0 0 -0.16543 0 0 0 0 -0.254505 0 -0.0634381 0 -0.656058 0 0.175095 -0.192106 0 -0.014127 0 0 -0.220022 0 -0.050497 0 0 0 0 -0.237771 -0.0562995 0 -0.0594329 0 0 0 0 0 0 0 0 0 0 0.063969 0 0 0 0 0 0 0 0 0 0 -0.0778229 0 0 0 -0.00674081 0.0840555 0 0.102556 -0.217975 0 -0.0775898 0 -0.111333 0 0 0 0.689959 0 0 0.208098 0 0 0 0.171892 0 0 0 0 0.180055 0 -0.193914 -2.6696e-05 0.315971 -0.00108479 -0.00958466 0.0488179 -0.00139219 0.0994255 0.897997 0.00209787 -0.0348552 -0.636268 0.000516284 -0.154508 -0.00190023 0.142607 -0.0212064 0.00796107 -0.828032 1.14158 -0.224717 -0.0346264 -0.391602 -0.104098 -0.096612 0.0474198 1.06373 0.02999 4.55541 -0.115804 -0.968703 1.86908 -0.000498233 0.237356 -0.504858 -0.0920381 -0.00667499 0.00132389 -0.0313377 0.565036 0.136264 -0.00190187 3.48472 -0.191137 -0.00679196 -0.0287972 -0.0987038 0.162499 -0.100936 -0.601681 -1.36784 -0.509091 0.0555121 1.57997 0.000862836 -0.855684 0.0566158 0.294054 0.175765 -0.0292554 -0.186616 1.14834 -0.0353048 -2.28289 -13.6668 -0.0553732 0.0373338 0.011819 0.0705052 0.442349 0.282346 0.100867 -0.00418365 -0.169184 -0.00996277 -0.368722 4.01927 0.945765 0.629816 0.112994 -0.300969 0.107886 0.0881408 -0.243972 0.284535 0.0678017 -0.0021287 0.0219431 -0.0993685 0.0945511 -0.218587 0 +124 0 0 0 0 0 0.0497142 0.193706 -1.05325 -2.56048 0 0 0.385666 0.881734 0 1.67879 0.1825 0 0 0 0.411819 2.66981 0 0 0 0 -0.349605 0 0 -0.593152 -6.83725 0.362631 0 0.62572 0 0 -0.149483 0.0739703 0 0 1.0119 0.21725 0 0 0.228845 4.86185 0 0.0804304 -2.14468 1.07515 -0.343379 1.63311 -0.974661 0 -0.65619 0.413164 -0.532676 -5.07295 -1.82412 -0.391775 0 0 0.592952 0.0537463 0 -1.80947 -0.737855 -0.0114346 0 0 0 0 0.446287 -0.0573555 0 -0.852548 1.79477 0 0 0 3.82684 0 -1.82073 9.31369 0 -0.546207 1.05563 4.76061 0 -0.580539 1.98693 -4.21105 17.4749 0 0 0 -0.0893273 -0.0227158 0 0 0 0.0290809 0 0 0.0032211 0 0 -0.0197969 0 0 0 0 -0.0330806 0 -0.00237364 0 -0.100098 0 0.234226 0.0725527 0 -0.00130232 0 0 -0.0170868 0 0.0088393 0 0 0 0 -0.0398058 -0.00511931 0 -0.00454219 0 0 0 0 0 0 0 0 0 0 -0.0930192 0 0 0 0 0 0 0 0 0 0 -0.0673187 0 0 0 0.0038274 0.065745 0 0.176519 -0.0571976 0 -0.0785725 0 -0.124064 0 0 0 0.0895333 0 0 0.0293147 0 0 0 0.0438983 0 0 0 0 -0.0343567 0 0.0497142 -0.0893273 0.193706 -0.0227158 0.268562 0.201215 -0.482596 0.333225 -0.533532 -0.0054274 0.0490842 -0.00944191 -0.00038 -0.0151733 -0.0719661 -0.0404818 0.0881165 -0.0631672 0.317649 0.404693 0.362435 -0.095318 -0.133591 -0.030247 0.598711 -0.35718 -0.258388 0.0153064 0.502188 0.58001 1.92257 0.228141 -0.0103274 -0.266119 0.888138 -0.0240848 0.011631 0.0300182 0.0985748 -2.29593 -0.0950614 -0.0550237 0.421827 1.28248 0.00693998 0.068146 0.0355376 0.0684712 0.0603645 0.0295776 -0.837035 -0.986028 -0.260733 -1.58906 0.270061 -1.88716 -0.06439 0.188871 0.214787 0.172531 -0.105142 0.809066 -0.0270827 -1.7772 -11.7774 0.037458 0.0931255 0.0864309 0.381381 -0.727658 0.00596352 -0.0403018 0.000956624 -0.179629 -0.0848295 0.307809 -7.97696 0.76228 -1.64844 -0.125992 -0.640244 3.11292 -0.0231393 0.113354 -0.369904 1.75689 0.0168902 -0.185474 0.528118 -0.983558 2.79464 0 +125 0 -0.658268 -0.192136 -0.038181 -0.265945 0.269147 -0.185166 0.316809 -0.631129 -0.306874 0.202939 0.241265 0.268979 0.00131378 0.493466 0.0178641 -1.51217 -4.4207 -0.113694 0.0432506 -0.853264 -0.0571541 0.0501212 -0.00296755 0.00160544 0.288493 -0.69066 -0.0598851 0.551443 0.0504556 -0.0777825 -0.0306348 0.203854 -0.203192 -0.570105 0.393169 0.0215889 0.160592 -1.53389 0.101708 -0.799413 0.0106272 -1.19555 0.00256637 1.58568 0.066403 -0.687065 0.226456 0.474306 0.00645881 0.266995 -0.237848 2.05871 -0.181018 -0.0444013 -0.0786567 -1.24067 -0.512566 0.0785394 0.0714475 0.0107982 0.225438 0.423429 -1.50635 0.180914 -0.0306207 0.0183898 -0.0584822 0.371284 0.0469397 -0.24933 -0.0703101 0.0175982 0.0427069 -0.213636 0.0238455 0.264775 2.74013 -0.997259 2.67065 0.106759 -0.985587 3.13011 -0.0570102 -0.0287817 -0.115408 0.595178 -0.0185398 -0.00916381 -0.0474579 -0.0580759 -0.0614167 0 0 0 0 0 -0.038181 -0.265945 0 0 0 0 0 0 0 -0.00979057 0 0 0 0 -0.0100887 0 -0.00131146 0.0162358 -0.0835608 0 0 -0.126685 0 0 0.0260618 0.0714044 0 0 -0.0194671 0.0893175 0 0.120275 0 -0.0134798 0 0 -0.00218416 0 0 0.0431055 0 0 0 0 0 0 0 -0.0405155 0 0 -0.0953378 0 0 0 0 0 0 0 -0.0782441 0 -1.39892 0 0.0146054 0 0 -0.000199973 -0.40348 0 -0.038348 0 0 0 -0.237736 0 0.125454 0 0 0.125866 0 0 0 0.0349856 0 0 0 0 0 0 0.269147 0 -0.185166 0 0 0 0 0.18599 -0.453723 0 0 0.197469 0 0.0201364 0 0.0143772 0 0 -0.0540203 0 0.508583 -0.0161894 -0.151421 0.000782421 0 0 0.107875 0 -0.549508 0 1.52921 -0.407417 0 -0.179278 0.558585 -0.018627 0 0.0292325 0 0 -0.0412065 0 -0.210088 0.388929 0 0 0.0486734 0 0 0.171955 0.959129 0.139186 0 0.62298 0 0.369801 0.0102773 -0.0480824 0.154483 0.0583325 0.202146 0.0660335 0.0614421 0.0254592 0.116793 -0.0414268 0 0 0 -0.0370295 0.000687416 0 0 0 0 0.0663151 -16.5082 -2.63807 0.450281 -1.04376 0.768049 -1.01538 -0.165058 0.102709 -0.127727 0.0635519 0 0 0 0 0 0 +126 0 0.411421 0.26488 -0.011431 -0.0177302 0.0164077 0.0801804 -0.255053 -0.0303819 -0.0927637 -0.252723 -0.13065 -0.219592 0.00186117 -0.829346 0.0157763 0.151179 -0.590944 -0.0656335 0.0288071 0.597934 -0.026665 -0.394669 -0.00234842 -0.0648449 -0.248533 0.307714 -0.0496392 0.026075 0.473517 -0.179657 -0.0164427 0.0715764 -1.21887 -0.0215336 -0.253245 -0.0140311 -0.551762 -4.46018 -0.274419 0.313999 0.013242 -1.24064 -0.037102 -0.483537 0.0789681 0.192496 0.166911 0.0931812 0.0947427 -0.379629 -0.268947 1.61666 -0.0276725 0.117372 -0.175562 -0.807846 0.135793 -0.182227 0.139615 -0.0308584 0.9205 -0.0612106 0.612933 0.860727 0.400861 0.55575 0.193939 -0.441844 0.0313568 -0.119866 -0.0152371 -0.222385 0.628891 -0.523932 0.229646 1.2437 14.6823 3.40541 0.0142845 3.60963 -2.54052 4.12101 0.145794 -0.108032 0.00374775 0.0595356 -0.022048 0.0442962 -0.114165 0.202919 -0.576386 0 0 0 0 0 -0.011431 -0.0177302 0 0 0 0 0 0 0 -0.015665 0 0 0 0 -0.00826736 0 -0.00250059 -0.0481706 -0.0425499 0 0 0.108389 0 0 -0.0540807 -0.189094 0 0 0.00935731 -0.192521 0 -0.283275 0 0.0130268 0 0 0.000898991 0 0 -1.00596 0 0 0 0 0 0 0 0.05201 0 0 -0.0949763 0 0 0 0 0 0 0 0.0215875 0 0.093622 0 0.0439233 0 0 0.0278015 0.125864 0 0.0506435 0 0 0 2.10437 0 0.11433 0 0 0.226505 0 0 0 0.0168226 0 0 0 0 0 0 0.0164077 0 0.0801804 0 0 0 0 -0.141815 -0.510227 0 0 0.0857146 0 0.0107021 0 -0.0418421 0 0 0.364898 0 -0.813315 -0.0555111 0.0399492 0.0692526 0 0 -0.362924 0 -3.43589 0 -2.55885 -1.0436 0 -0.0892354 -1.51704 0.00527297 0 -0.0377415 0 0 -0.0584012 0 -2.24325 0.823785 0 0 0.149522 0 0 0.0788857 3.10162 0.133206 0 -2.12316 0 0.496352 0.0926728 -0.107081 0.89094 0.0479278 -0.118985 -0.0427645 0.0770647 1.23319 4.40241 0.0154299 0 0 0 -0.271761 -0.00993226 0 0 0 0 0.204899 14.1992 -1.25425 3.66867 0.145839 -0.611887 2.03149 -0.0452187 0.0640101 -0.100298 0.221991 0 0 0 0 0 0 +127 0 0.525192 0.420118 -0.0129232 -0.0829229 0.23687 0.11543 0.245343 -1.51862 -0.10397 0.649795 0.00644901 0.299481 0.000612881 0.377574 0.0148351 2.08539 10.8808 0.141689 0.0439634 -0.598666 0.0201302 -0.0726752 -0.00117173 0.123069 -0.274807 0.372758 0.0562294 0.193288 0.880384 0.00614478 -0.0112022 0.167686 -0.603781 0.159227 0.0796756 0.00135834 0.316227 -3.80092 0.0520461 -0.271479 0.00474985 0.81296 0.00119208 2.09573 0.0292465 -0.209182 0.510817 0.502225 0.00880811 1.55862 0.103283 -10.3189 -0.0550928 0.0142408 -0.136137 1.06261 0.228301 0.266826 -0.130578 -0.000251667 -0.473991 -0.285699 -1.0876 1.23735 -0.583945 -0.165706 -0.529036 0.440543 0.0178706 -0.815783 -0.253754 0.186357 -0.302067 0.229224 0.015091 -1.61766 11.157 -0.708276 4.72796 0.902822 -0.90596 2.5358 -0.338122 0.337002 -0.71521 1.6658 -0.00816566 -0.00504821 -0.140702 0.0350736 -1.07164 0 0 0 0 0 -0.0129232 -0.0829229 0 0 0 0 0 0 0 0.00140672 0 0 0 0 -0.000593874 0 -0.000120139 0.000390876 0.006633 0 0 0.13146 0 0 -0.00473405 0.419936 0 0 0.0180608 0.0271784 0 -0.0371789 0 0.0106393 0 0 0.00140284 0 0 -0.162458 0 0 0 0 0 0 0 -0.0540257 0 0 -0.16825 0 0 0 0 0 0 0 -0.00488552 0 -0.0602051 0 0.0175692 0 0 0.0233449 0.0129895 0 0.0961727 0 0 0 0.286719 0 0.0266545 0 0 0.0853886 0 0 0 -0.00824206 0 0 0 0 0 0 0.23687 0 0.11543 0 0 0 0 -0.534088 -0.00636821 0 0 0.487835 0 0.0668489 0 0.00651615 0 0 0.666065 0 -0.358751 -0.201516 0.124517 0.0946015 0 0 0.0244481 0 11.0356 0 -2.76311 0.480919 0 -1.52226 -0.981572 0.0157059 0 -0.0749268 0 0 0.0185518 0 2.76495 2.15371 0 0 0.273791 0 0 -0.429113 0.109282 1.06737 0 -0.636798 0 1.24087 0.187235 -0.430965 -0.38868 0.311075 0.477921 -0.666401 -0.17639 1.84019 5.55125 -0.136005 0 0 0 0.270745 -0.0208844 0 0 0 0 0.0996247 4.61261 -3.83617 7.78204 -0.132911 -0.2478 1.46159 -0.27415 0.238446 -0.320944 0.911592 0 0 0 0 0 0 +128 0 0 0 -0.0516719 -0.263973 0 0 0 0 5.86639 3.6231 -0.27735 0 -0.141145 0 -0.782251 0 0 0.514915 -2.6941 0 0.059546 0 0.776184 0.869007 0 0 0.180943 0 0 0 1.72933 -1.6455 0 0.0255635 0 -0.217977 -0.789353 0 -0.872319 0 0.058774 -2.91305 -0.595979 0 0.794344 0 0 -6.10189 -0.106889 0 1.48863 0 3.42763 -3.22146 1.48408 0 4.0315 0.66996 -0.616424 1.30825 0 0 0 0 1.39782 0 -0.663049 -0.700237 -4.81944 -2.76876 -0.753672 -0.469424 -1.19093 0 0 2.0234 0 -8.17963 0 -1.50781 0.0898814 0 -3.36364 2.65504 -3.45917 0 0.887655 1.65445 -1.20255 1.56878 0 0 0.153141 0.0201765 0.183074 -0.041163 -0.0516719 -0.263973 0.0834195 -0.238889 -0.00200528 -0.000474055 -0.0477414 0.0356304 0.0168335 -0.0375918 0.0263346 -0.00490907 0.000477677 -0.016163 -0.0933781 0.28423 -0.0706003 1.4203 0.0701611 0.00230342 -1.06785 -2.1868 -0.000143236 0.011271 0.177257 -1.11154 -0.216193 0.00859491 -0.325872 0.969805 0.0346577 -0.196476 -0.00999916 -1.28852 -0.0106298 0.0896438 -0.165045 -0.0420136 0.00161229 -1.26996 0.522618 -0.030182 0.00118595 1.12473 -0.136827 -0.0191661 -0.00591093 -0.146675 0.0209509 0.0933489 0.139946 -0.0713807 -0.0845332 0.0372555 -0.0106767 -0.22667 0.0873223 0.032304 0.767756 0.0218064 -0.362366 -0.134725 -0.0950124 0.0242178 0.0667462 0.0821345 0.317412 -0.26969 0.0735358 0.00996948 -0.565656 0.0126437 2.03143 -0.109002 0.129962 0.15276 -0.203123 0.328585 -0.00472652 0.00748217 -0.017337 0.0230764 0.0096438 -0.0135241 0.0238916 -0.032886 0.0530025 0 0 0.183074 0 -0.041163 0 0 1.8153 0 -0.0879011 0.114215 -0.0437439 1.12183 0.0203749 0.283759 0.179207 -0.0634224 -0.0765174 0.674517 0 0 0 0 0.40276 0 -0.444473 0 -0.197816 0 0 -0.255725 0 0 0.00859844 0 0 0.133112 -0.00315934 0 -0.0125408 0 -0.118995 0 0 0 -0.00821042 -0.0640547 0 0 0.119997 0 0 0 0.218767 0 -0.768571 0 -0.433411 0.337796 -0.508906 0 0 -0.62867 0.370903 0.502697 0 -0.128936 0 -0.267021 0 0.773607 0.0133962 -0.00657262 0.259514 -0.11599 0.0847669 -1.12407 0 -5.38967 0 -3.73614 1.5601 0 -2.32931 1.26235 -0.595403 0 -1.39574 0.891237 -0.426006 0.112829 0 0 +129 0 0 0 -0.0948532 -0.157887 0 0 0 0 2.02846 1.53335 0.720761 0 0.131115 0 0.368872 0 0 0.368746 0.970648 0 0.171019 0 -0.226775 0.489036 0 0 0.000298091 0 0 0 0.141891 1.18966 0 -0.15365 0 0.156327 0.621962 0 1.78107 0 -0.394585 1.12635 0.29523 0 -3.84095 0 0 2.73725 -2.05049 0 0.25718 0 -0.558558 0.287097 -0.152258 0 -2.00182 -1.45933 0.356743 1.97508 0 0 0 0 0.317462 0 0.955634 -0.646781 -0.134364 -1.98395 1.03091 1.51917 0.878395 0 0 -0.953876 0 -4.1965 0 6.525 -3.28792 0 2.11926 -0.909929 -1.47899 0 11.1538 -6.97774 4.92944 -1.95051 0 0 0.563789 0.0742797 -0.197922 -0.0466675 -0.0948532 -0.157887 0.100212 -0.089157 -0.623686 -0.00226343 -0.0154242 0.0276059 0.0221498 -0.0951084 0.0729684 -0.0253337 0.0418252 0.137456 -0.0681961 0.710455 0.00636918 -0.172114 -0.569583 0.00676845 -0.542225 -0.787892 0.0132928 -0.0104035 -0.148529 1.51222 0.0649945 0.0175729 -0.00110396 0.318405 -0.0897188 -0.165361 -0.080056 -0.0618692 -0.0106586 0.129513 0.0553638 -0.256382 0.00314139 -0.119694 0.448005 0.459905 -0.010882 1.19207 0.0622161 -0.0268582 -0.0826462 -0.446675 0.00480804 0.0809447 -0.512133 -0.108219 -0.186995 0.187935 -0.0938468 -0.217104 -0.166771 0.168565 -0.383282 0.0859863 -0.646842 -0.203526 -0.0840272 -0.062589 0.493978 0.195821 0.106144 0.00962798 0.0358524 0.0773088 -0.0527831 0.038265 0.191463 -0.369971 0.473091 0.202389 -0.108 -0.0373103 -0.060484 0.0558983 -0.0505104 0.0602973 0.0410444 -0.034391 0.0264711 -0.00972389 -0.0159343 0 0 -0.197922 0 -0.0466675 0 0 0.528096 0 0.737865 -0.0473572 0.0284606 0.0334824 0.00104077 -0.0184092 -0.0215483 0.0623007 0.105985 -0.643134 0 0 0 0 -0.0923475 0 0.133315 0 0.435855 0 0 -0.143214 0 0 -0.0130616 0 0 -0.0335446 -0.006897 0 -0.0175052 0 0.109654 0 0 0 0.0148892 -0.055971 0 0 -0.104535 0 0 0 0.0699533 0 -0.0977288 0 0.0622991 0.0208621 -0.450766 0 0 0.774199 0.125074 0.00169185 0 -0.0394299 0 0.00415618 0 -0.0150091 0.0886595 -0.066253 0.204892 -0.0978248 -0.0424269 -0.397773 0 0.263289 0 3.00158 -0.162863 0 1.31062 -0.513579 0.160402 0 1.59828 -0.648161 0.238889 0.206634 0 0 +130 0 0 0 -0.119656 0.02371 0 0 0 0 -5.11606 0.533457 0.379818 0 -0.0260791 0 0.148104 0 0 -0.0267706 0.905335 0 -0.0491146 0 -0.47533 0.0517704 0 0 -0.59911 0 0 0 -1.57412 -0.0722749 0 -1.92384 0 0.143856 -2.38394 0 0.895011 0 -0.137269 -7.98317 0.554171 0 -0.293226 0 0 0.329666 0.209278 0 -0.672851 0 -0.873655 -0.203151 0.38667 0 -0.189539 0.788357 0.239737 -0.864839 0 0 0 0 1.18046 0 -1.20985 -1.97484 3.38795 -0.110419 0.200481 -0.742711 2.7852 0 0 0.978133 0 0.27661 0 3.38949 -1.76595 0 0.871186 -0.410939 -0.832786 0 -1.23357 -0.336789 0.14327 -0.288504 0 0 -0.124567 -0.0164118 0.153578 -0.00317149 -0.119656 0.02371 -0.0837953 -0.0368426 0.102505 0.000400768 -0.00589098 -0.0341544 0.0205813 0.0440336 -0.0207189 0.00420561 -0.022251 -0.0759826 0.113483 -0.221363 0.0284821 -0.289495 0.348712 -0.00182353 -0.202441 3.45513 -0.00613745 -0.00937278 -0.131053 -3.58658 -0.0372699 0.00265287 0.455372 -0.999151 0.0131743 -0.253899 0.0152114 2.2267 -0.0272876 0.0645274 0.296326 0.0371512 0.00109344 -1.24957 -0.498818 -0.287028 0.00193781 -1.14205 -0.173075 7.54081e-05 0.0233949 0.138916 0.0343856 -0.110914 -0.265178 0.17343 0.0651246 -0.0362153 0.0320491 0.209843 -0.0109007 -0.00298351 2.2909 -0.0201073 0.384429 0.468732 -0.00302531 -0.0233144 -0.546578 -0.227203 -1.44281 0.408445 -0.436186 -0.0225632 0.186309 -0.0100421 1.99881 0.0814629 -0.0958121 0.0766042 -0.166682 0.182982 0.0264882 -0.0231269 0.0329331 -0.0372849 -0.00800655 0.000704119 -0.000992383 -0.0124417 0.00913721 0 0 0.153578 0 -0.00317149 0 0 -0.405979 0 -1.56732 0.0376675 -0.0558144 -0.0803668 0.00516561 0.0542249 -0.0525041 -0.0458119 -0.0317203 0.17284 0 0 0 0 -0.0728297 0 -0.420672 0 -0.147344 0 0 -0.0742445 0 0 -0.0046472 0 0 -0.0166439 0.00289182 0 -0.00367139 0 -0.287309 0 0 0 -0.00344171 0.0185743 0 0 -0.169383 0 0 0 0.0218407 0 0.23379 0 -0.992893 0.364115 0.946417 0 0 -0.60697 0.254236 0.103203 0 -0.227142 0 -0.0814489 0 -0.484328 0.0804629 0.0801473 -0.218652 -0.0181491 0.020037 0.251486 0 2.32473 0 0.567963 0.78737 0 0.392779 0.124764 -0.0562621 0 -0.552235 0.201505 0.101087 -0.0901356 0 0 +131 0 -0.379586 -0.163727 0.0551615 -0.00560592 0.261271 0.0729641 -0.107721 -0.055023 0.149762 -0.977266 0.377666 0.719905 -0.0910887 -0.241831 0.282241 -1.90566 -7.15753 -0.473435 1.56057 -1.43592 -0.246057 -0.0432448 0.103388 -0.511635 0.140086 -0.553603 -0.179745 -0.0618069 -1.02394 -0.035912 0.125184 0.604417 0.777257 -0.325691 -0.0397738 0.178927 -0.412066 3.97978 1.44758 -0.218071 -0.144236 -0.0317785 0.715081 1.68539 -0.215459 -0.024028 -0.256007 3.16982 -1.30799 0.327476 -1.5486 0.0895606 -1.56422 1.62126 -0.447364 0.994147 -2.11827 0.318627 1.12213 0.176433 -0.608558 0.605875 -2.62668 0.32444 -1.42562 0.737181 0.106013 -0.429245 -0.0250864 1.46092 -0.597382 0.701518 -0.0680473 3.02351 0.36013 -0.975013 -22.5509 -2.46993 1.92923 -3.14735 1.26456 -2.60005 2.29312 -1.94502 1.51075 0.912965 0.926318 -3.25697 2.30234 -1.37023 0.962255 0 0 0 0 0 0.0551615 -0.00560592 -0.0026274 0 0 0 0 -0.00467149 0 0.0684374 0 0 -0.00320178 -0.0231434 0.00384205 0 0.033953 -0.604813 0.00236464 0 0 2.10198 -0.00161695 0 -0.0995639 -1.14678 0 0 0.301287 -0.981585 0 0.208386 0 1.11276 0 0 0.156947 0 0 1.36 -0.066616 -0.0450442 0 -0.0319701 0.0612481 0 0 0.291845 0 -0.0219385 -0.965663 0.0236199 0 0 0.0101569 -0.0059467 0 -0.0706301 0.0577488 -0.0180546 0.223561 0.195286 0.107226 0 0.0876187 -0.0199121 -0.717068 -0.0599947 -0.236632 0 0 0 -2.30048 0.153377 -0.115958 -0.106302 0.12089 -0.166799 0.00515822 -0.005796 0.0052697 5.28655e-05 0 0 0 0 0 0 0.261271 0 0.0729641 0 0 0 0 -0.0206563 1.08386 0 0 0.168741 0 0.0202673 0 0.0224269 0 0 -0.0685608 0 0.0903262 -0.0356147 -0.0217411 -0.00883627 0 0 0.220397 0 0.500873 0 0.985688 -0.0928895 0 -0.438802 0.251845 -0.00425163 0 0.00108641 0 0 0.108262 0 -0.175004 0.00292485 0 0 -0.00277855 0 0 0.220566 -1.74319 -0.14258 0 2.20464 0 0.222999 0.111098 0.0386207 0.168094 0.00911715 -0.403525 0.0486978 -0.14329 -1.07943 3.20005 -0.120408 0 0 0 0.189136 0.101788 0 0 0 0 -0.281719 -13.0166 -3.52843 4.29447 -1.28334 0.895506 -0.629146 -0.213582 0.20827 -0.160013 0.247802 0 0 0 0 0 0 +132 0 0.00310037 0.35892 0.318713 0.361563 -0.270927 -0.0728157 0.470934 1.38868 0.0696219 -3.05877 -0.131452 0.193034 -0.521692 0.732847 -0.15498 1.17233 4.12087 -1.18216 -0.63693 0.0747264 -0.670789 -0.641128 0.611047 -1.38019 0.471791 0.406133 0.528363 0.0577473 0.671235 0.155573 0.586022 -0.28274 -1.20611 1.0686 0.180627 -0.0291507 0.52385 -1.9746 -0.100309 -0.135547 -0.745187 1.57331 0.0787937 1.32862 -0.837569 -0.0650371 0.209375 -1.2446 0.0715663 1.40429 -1.14127 -8.25304 0.479348 -0.836433 0.554345 -2.24532 -0.0595609 0.146768 1.61616 0.533768 1.68401 0.329009 5.28889 -0.8592 -0.75968 -0.160975 3.20966 0.917103 0.0760863 2.11842 -0.0805558 0.0961435 -1.01005 0.163957 -0.395101 -3.75577 7.68836 8.95467 -6.14328 5.96092 -2.24276 -1.0519 6.17411 -2.60002 1.8478 -1.11877 3.60094 -0.348813 -1.04936 0.499482 -0.630797 0 0 0 0 0 0.318713 0.361563 -0.0157996 0 0 0 0 -0.0135679 0 0.0079463 0 0 -0.0117809 -0.0370178 0.0044958 0 -0.0078164 0.140172 0.139924 0 0 0.505912 -0.0025668 0 -0.140754 0.0481295 0 0 0.0284044 -0.028283 0 -0.350184 0 0.162893 0 0 -0.00590056 0 0 -0.518871 -0.193819 -0.171022 0 -0.228965 -0.135212 0 0 0.14508 0 -0.0623899 0.0618877 0.0786555 0 0 0.0213768 0.00893335 0 -0.0130198 0.360256 -0.0325704 -0.323306 0.00914634 0.0305935 0 -0.136914 -0.101655 0.0473617 -0.141389 0.044534 0 0 0 0.947075 0.0681535 8.5916e-05 0.0537801 -0.0593394 0.0603615 0.0146995 -0.017002 0.0211002 -0.0168019 0 0 0 0 0 0 -0.270927 0 -0.0728157 0 0 0 0 -0.0732992 0.856998 0 0 -0.324321 0 -0.0402063 0 0.0052994 0 0 -0.0128208 0 -0.0361873 0.000210416 -0.0175234 -0.00500815 0 0 0.0464009 0 3.54477 0 1.00048 0.397712 0 0.027153 0.125766 0.000145348 0 -0.0103169 0 0 0.104963 0 1.18799 -0.356525 0 0 -0.046821 0 0 -0.139756 1.46735 0.0326775 0 0.463832 0 0.189721 0.130603 -0.04632 0.149105 -0.0452793 -0.134306 0.385141 -0.0580507 -0.845925 -2.3579 0.0275123 0 0 0 0.174142 0.0674751 0 0 0 0 -0.217855 -5.93508 1.0597 -1.60234 -0.0129471 0.000579894 -0.676911 0.369375 -0.191684 0.10776 0.115914 0 0 0 0 0 0 +133 0 -0.16446 0.396687 0.269523 0.124298 -0.0686128 -0.0537119 0.361289 1.08891 1.11518 -1.77992 0.00790596 0.225097 -0.473531 0.501504 0.0606894 0.792289 0.652382 -0.948291 -0.15209 0.48657 -0.55264 -0.720986 0.615752 -0.840781 0.385138 0.381052 0.696433 0.0151354 0.465468 0.211988 0.905333 0.160124 -1.40797 1.08463 0.136303 0.0258528 1.87895 -3.25298 -0.139966 0.086682 -0.675114 2.83077 0.0491753 0.115089 -0.63863 0.0196791 0.0848234 -0.144779 -0.00496184 -0.0537736 -0.273928 -5.03714 0.263496 -0.0902515 0.0528175 -0.445314 0.490846 -0.5022 0.635638 0.75335 0.968589 -0.00318493 2.10302 -0.865944 0.0398993 -0.462748 1.81435 0.471737 -0.968194 0.737111 0.59207 0.0419015 -1.87626 -1.21072 -0.155806 -2.80197 16.4535 7.21379 -4.47608 4.81251 -2.40805 1.8042 2.73907 -1.00847 1.08099 -1.12484 2.74565 -0.1295 -0.700509 0.379448 -0.437426 0 0 0 0 0 0.269523 0.124298 0.033814 0 0 0 0 0.0173157 0 -0.0291049 0 0 0.0159115 0.171183 -0.198433 0 -0.0299296 0.0866674 -0.213024 0 0 -1.32838 0.012012 0 -0.140008 0.72419 0 0 -0.145507 0.225295 0 -0.234435 0 -0.822509 0 0 -0.100661 0 0 -0.0707332 0.246765 0.22648 0 0.480931 0.0997369 0 0 -0.39679 0 0.067056 0.106645 -0.0844443 0 0 -0.0348311 -0.0584805 0 0.0553094 -0.528854 0.058339 0.222581 -0.12387 -0.0761803 0 0.186497 0.0985767 0.353036 0.0136986 0.146488 0 0 0 0.0589518 -0.176696 0.146552 -0.0018451 0.000694396 0.0108792 -0.020662 0.0236357 -0.0275735 0.0254048 0 0 0 0 0 0 -0.0686128 0 -0.0537119 0 0 0 0 0.0555064 0.261285 0 0 -0.35719 0 -0.0536115 0 0.00954643 0 0 -0.0662406 0 -0.0520617 0.0320417 -0.0225057 -0.0110516 0 0 0.0491911 0 -0.595705 0 -0.350365 0.0313854 0 0.311317 -0.00932453 -0.00569346 0 0.00498473 0 0 0.0451959 0 -0.0104712 -0.38765 0 0 -0.0650259 0 0 -0.0771699 0.507309 0.222279 0 -0.660725 0 0.113215 0.0969699 -0.167958 0.161784 -0.0500811 -0.482568 0.0210295 0.0271827 -0.399455 -2.82608 0.0264443 0 0 0 0.0543933 -0.0460559 0 0 0 0 -0.11084 10.7213 3.60006 -2.16235 0.698044 -0.205384 -0.36701 0.158138 -0.141406 0.271682 -0.355638 0 0 0 0 0 0 +134 0 -0.716357 -0.448385 -0.157533 -0.0447554 0.0641812 -0.00563591 -0.17429 -0.463372 -0.699592 1.59943 -0.00480419 -0.769028 0.284489 -0.826231 -0.0667661 -0.464122 -2.47975 0.643996 -0.440209 -0.700621 0.412103 0.56356 -0.373016 0.998052 -0.356828 -0.080705 -0.261393 -0.0137253 -0.0104244 -0.178205 -0.549714 -0.0351377 1.91854 -0.34712 -0.129102 -0.0411227 -0.536977 8.26954 -0.192423 -0.131408 0.404962 0.17641 -0.248961 -3.56964 0.374437 -0.0160074 -0.0300435 -0.545652 0.349406 0.712451 0.550264 1.05856 0.151442 -0.206912 0.0533572 -1.04505 0.0265285 0.0332383 -0.763092 -0.471131 -1.41165 -0.932255 -2.4585 1.13903 -0.654035 1.01166 -1.43147 1.08587 0.64489 -0.430556 -1.37239 -0.218204 0.477642 -0.53745 -0.0654301 1.84757 -38.1993 -11.1099 1.90658 -9.87125 5.4577 -6.93211 -3.20374 1.69613 -0.984366 0.345528 -1.61948 0.826532 -0.204018 0.105004 0.012615 0 0 0 0 0 -0.157533 -0.0447554 -0.0134801 0 0 0 0 -0.00677431 0 0.069052 0 0 -0.0102426 -0.103241 0.0867741 0 0.0333598 -0.347504 0.127583 0 0 -0.357943 -0.00723872 0 -0.105724 1.39659 0 0 -0.00916173 0.134001 0 -0.0373684 0 -0.206023 0 0 -0.0086233 0 0 0.659943 -0.0966685 -0.146442 0 -0.192745 -0.0380995 0 0 0.37723 0 -0.0329701 -0.067056 0.0274901 0 0 0.0241095 0.0182588 0 -0.0709444 -0.145881 -0.0377866 -0.723921 -0.00633237 0.11245 0 -0.0694824 -0.0226334 0.150972 -0.0207563 0.00357814 0 0 0 -1.11589 0.193926 -0.218405 -0.0618212 0.069851 -0.0793311 0.0137846 -0.0156496 0.0176679 -0.0155119 0 0 0 0 0 0 0.0641812 0 -0.00563591 0 0 0 0 0.0330528 0.2335 0 0 0.319031 0 0.0507266 0 -0.00684414 0 0 0.0614979 0 0.173674 0.0133436 0.0243002 0.0125422 0 0 -0.00552464 0 -0.630949 0 2.54189 -0.0325555 0 0.00586909 0.548457 0.00575764 0 0.00544646 0 0 0.00347308 0 -0.21656 0.0182429 0 0 0.0321997 0 0 -0.00177852 -0.526881 0.105226 0 0.599735 0 0.554997 0.092578 -0.0131919 0.120043 -0.0112713 0.0172322 -0.108243 -0.0180393 -0.333089 -1.803 -0.00612397 0 0 0 0.0441427 0.0448529 0 0 0 0 -0.0639373 -19.7021 -4.30785 2.18276 -1.73992 1.22118 -1.42361 -0.24283 0.16356 -0.162058 -0.0695475 0 0 0 0 0 0 +135 0 0.281779 0.155674 0.176186 0.286616 -0.217754 -0.0948474 0.570041 1.15931 -0.737219 -2.36922 -0.0995514 -0.177143 -0.256858 0.0976272 0.02031 -0.180578 -0.877588 -0.65037 0.261562 -0.901821 -0.38297 -0.299764 0.249692 -1.12425 0.202828 0.0105114 0.244228 0.00969056 0.075917 0.0190463 0.00286687 0.0348975 -0.520796 0.467743 0.0975062 -0.0445024 0.357553 -0.486868 -0.175881 -0.209171 -0.327042 0.842723 -0.0606315 -1.33253 -0.341372 -0.0450048 0.0332301 0.365795 0.402476 0.6781 -0.408998 3.96035 -0.651568 0.522868 -0.266999 -2.19518 -0.928737 -0.628821 0.887812 -0.0929278 1.66322 -0.0649755 0.751556 0.490042 -0.537447 -0.421165 0.263247 1.37324 0.95291 1.60681 0.249675 -0.428766 -0.00879173 -2.18826 0.081977 0.938265 3.06149 7.95966 -4.51865 4.52223 -1.18889 -0.109008 5.2387 -2.09238 1.92282 -1.42935 1.47647 0.00618433 0.04238 0.18963 -0.0918703 0 0 0 0 0 0.176186 0.286616 -0.0220539 0 0 0 0 -0.0158788 0 0.0709053 0 0 -0.0204396 -0.131961 0.184751 0 0.0352073 0.147984 0.40961 0 0 -0.581852 -0.00922913 0 0.230462 0.866256 0 0 -0.130624 0.159134 0 0.623637 0 -0.198042 0 0 -0.056895 0 0 1.27435 -0.22659 -0.293737 0 -0.31564 -0.073575 0 0 0.730519 0 -0.0662699 0.159428 0.070865 0 0 0.0367635 0.025209 0 -0.129846 -0.318079 -0.0404542 0.211013 -0.0784298 0.152801 0 -0.0918131 -0.0770067 0.555463 -0.131419 0.191427 0 0 0 -2.11032 0.366791 -0.529887 -0.118818 0.135057 -0.154038 0.0250497 -0.0290755 0.0363584 -0.0512266 0 0 0 0 0 0 -0.217754 0 -0.0948474 0 0 0 0 -0.133349 0.427462 0 0 -0.199986 0 -0.0147151 0 -0.00633375 0 0 0.0323163 0 -0.112677 -0.0287215 0.0323907 0.00742894 0 0 -0.0406927 0 2.5537 0 -0.942956 0.102337 0 -0.240029 -0.265592 0.00628951 0 -0.0155774 0 0 0.0372888 0 0.688583 -0.342145 0 0 -0.0244823 0 0 -0.176091 0.6737 -0.245027 0 0.015498 0 -0.329577 0.0476707 0.0780071 -0.0763254 0.0274801 0.27528 0.268407 -0.0329071 -0.210461 2.32506 -0.00114412 0 0 0 0.0602399 0.0085328 0 0 0 0 -0.0456577 7.20283 2.2814 -0.695015 0.935518 -0.955705 1.23836 0.25189 -0.130513 0.0380026 0.300085 0 0 0 0 0 0 +136 0 -0.388896 -0.7719 -0.35046 -0.239887 0.34989 0.111224 -0.109494 -0.568066 -0.604236 3.4797 0.240877 0.631945 0.594096 0.585185 0.147247 -2.18726 -8.66318 1.34798 0.333102 -0.193738 0.854264 0.951089 -0.723857 2.14286 -0.161291 -0.715527 -0.588627 -0.0652934 -1.00894 0.109976 -0.8369 0.365234 2.5153 -1.1417 -0.0744822 0.063827 -1.03307 7.50071 0.746594 0.0525301 0.817162 -2.21802 0.122359 2.26284 0.768588 0.0326607 -0.261989 0.972561 -0.495744 -0.244181 0.320205 0.837554 -0.158197 0.435913 -0.397019 -1.28991 -1.04952 -0.714974 -2.16735 -0.648579 -0.198777 0.231512 -4.00021 0.398383 -0.684897 0.279878 -1.71005 0.293771 0.379251 -3.72828 0.0926269 0.668473 1.25344 0.278261 0.292541 2.45407 -38.4545 -19.8207 5.0629 -14.6163 4.97129 -3.82921 -8.1641 1.78717 -0.532523 0.741561 -3.32422 -0.772122 1.71682 -1.5576 1.22095 0 0 0 0 0 -0.35046 -0.239887 -0.0141484 0 0 0 0 -0.000871252 0 -0.00961862 0 0 -0.0050073 -0.0758774 0.091349 0 -0.0114973 0.0369714 0.129092 0 0 0.070673 -0.00534185 0 0.069808 -0.565828 0 0 -0.0291142 0.270201 0 -0.154113 0 -0.0671847 0 0 -0.0260635 0 0 -0.173497 -0.012111 -0.0695879 0 -0.198954 -0.035209 0 0 0.140323 0 -0.00600172 0.120529 0.00713699 0 0 0.00979565 0.03789 0 -0.00997885 -0.163778 -0.0118595 0.573655 -0.0353977 -0.00773527 0 -0.014681 -0.00025362 0.0748803 0.0373379 0.0440203 0 0 0 0.211773 0.0468355 -0.0981689 0.0101804 -0.0131721 0.0232124 0.00594535 -0.00690019 0.00861187 -0.0162871 0 0 0 0 0 0 0.34989 0 0.111224 0 0 0 0 0.0612275 -0.380351 0 0 0.397075 0 0.0556838 0 0.000609176 0 0 -0.0616842 0 0.205469 -0.0368107 0.00235311 -0.00515806 0 0 0.0319272 0 -3.42922 0 -0.0275692 -0.10005 0 -0.446383 0.173846 0.00339629 0 0.010291 0 0 -0.0578464 0 -0.48741 -0.19879 0 0 -0.0300584 0 0 -0.0613511 -0.245808 -0.0450233 0 -1.11165 0 1.25855 -0.0900319 0.0644865 0.129275 0.0724005 -0.359235 -1.0935 0.0148483 0.457011 -0.621353 -0.100037 0 0 0 -0.0698582 -0.0478224 0 0 0 0 0.137669 3.70063 -1.35607 2.78574 -0.541461 0.376247 -0.151302 -0.323547 0.16955 -0.0937267 0.136879 0 0 0 0 0 0 +137 0 -1.36104 -0.20198 -0.411044 -0.41553 0.260467 0.139995 -0.993504 -2.83427 -0.427939 3.13989 0.182249 -0.379525 0.602854 -0.57062 -0.0691182 -1.21182 -5.20354 0.779703 -0.53143 -0.252767 0.301435 -0.223402 -0.662931 1.10546 -0.72595 -0.367401 -0.482463 -0.0780323 -1.02761 -0.19803 -0.649756 -0.0176614 -0.351909 -0.998322 -0.239165 -0.0071756 -1.81337 0.419764 0.639944 -0.00480756 0.820382 -5.21077 -0.0808082 -0.128955 0.429847 0.0125512 -0.283256 -0.455042 -0.627529 -0.118586 0.623682 -3.57796 0.295664 -0.747999 0.126072 -0.724457 -0.173147 0.17989 -0.918982 0.0337089 -0.289327 -0.044687 0.954535 2.49707 0.971402 1.19845 -1.9502 -1.83386 -0.587287 -0.579583 -1.10325 0.585736 0.887833 1.26424 0.206181 0.60824 -2.30934 -6.05247 4.42911 -1.5031 0.196829 -0.152602 -6.13065 3.0871 -2.70869 3.81603 -2.21162 -1.04342 2.20023 -2.10132 2.11984 0 0 0 0 0 -0.411044 -0.41553 -0.0277912 0 0 0 0 -0.00380527 0 -0.0105922 0 0 0.00628766 -0.0424135 0.0661378 0 0.00295241 -0.67975 -0.0973564 0 0 0.269791 -0.0032761 0 0.190672 -3.08098 0 0 0.0239297 -1.35555 0 -0.142484 0 -0.084283 0 0 -0.0192494 0 0 -0.444831 -0.0506814 0.0927392 0 -0.386298 0.0617836 0 0 -0.0730942 0 -0.0290255 0.337131 0.0491965 0 0 -0.0184275 0.0605353 0 0.0395637 0.0843317 0.0343847 3.00415 0.0533922 -0.0675241 0 -0.0612925 -0.0748377 0.0787237 0.326546 -0.104891 0 0 0 0.852175 -0.168736 0.252598 0.0255337 -0.0427638 0.0949552 -0.0101892 0.0147308 -0.0236984 0.0366388 0 0 0 0 0 0 0.260467 0 0.139995 0 0 0 0 -0.0415575 -0.828305 0 0 0.559205 0 0.0695474 0 0.00146622 0 0 -0.0224416 0 -0.0667879 -0.0706724 0.0230018 0.00111786 0 0 0.0367151 0 -2.257 0 1.23304 -0.0832433 0 -0.449962 0.202438 0.00346192 0 -0.008653 0 0 -0.0968847 0 -0.302698 0.322614 0 0 0.0496761 0 0 -0.160026 -0.611289 -0.271331 0 -0.773828 0 0.524977 -0.312643 0.335384 0.0153801 0.0252812 0.0680277 -0.264508 0.125951 0.630443 -2.65362 0.0224705 0 0 0 0.0120396 -0.100607 0 0 0 0 0.173482 -8.09703 -3.06632 1.79056 -1.01365 0.95285 -1.00147 -0.549345 0.407131 -0.364564 0.278648 0 0 0 0 0 0 +138 0 -0.0362446 -0.149635 0.109832 0.0595186 -0.108745 -0.0620116 0.352973 1.77569 0.383104 -2.42162 -0.133175 0.54582 -0.263982 -0.575993 -0.0786565 -1.0261 -4.04027 -0.701751 -0.189345 0.164112 -0.389493 -0.0923688 0.32968 -1.11756 0.358327 -0.190537 -0.396873 0.0514182 0.524722 0.0213031 0.406686 -0.129708 -0.375772 -1.19026 0.0885235 -0.0346928 -1.06901 -1.73088 -0.188627 -0.0105861 -0.50811 -2.94043 0.0306515 0.200275 -0.76059 -0.00619863 0.168518 -0.306012 -0.248137 -0.421105 -0.54476 4.43828 0.155295 -0.329445 0.178718 -1.16519 0.0644272 0.178638 1.3888 0.909756 -1.82489 -0.111238 -0.0994133 -1.15873 0.253811 -0.38334 0.953231 -0.923048 -0.364834 2.0631 0.347256 -0.0116857 0.500879 0.880081 -0.136581 0.835113 11.9909 5.72627 -2.40148 1.42977 -1.07122 2.32186 5.74167 -2.90634 2.65373 -2.45498 3.91333 -0.581497 -0.565378 0.930497 -1.08244 0 0 0 0 0 0.109832 0.0595186 -0.0445646 0 0 0 0 -0.0265886 0 -0.00621858 0 0 0.00116794 0.0478107 -0.0133514 0 -0.00436013 -0.609824 0.0805728 0 0 0.350813 0.00305216 0 -0.240973 -7.03713 0 0 -0.00228667 -2.42181 0 -0.186432 0 0.250776 0 0 0.00764344 0 0 -0.40528 -0.369339 0.0287415 0 -0.618855 -0.00757151 0 0 -0.0945573 0 0.0152874 0.0909989 -0.0158281 0 0 0.0116938 0.147177 0 0.0214425 0.254313 -0.037534 7.26573 0.0491585 -0.0502543 0 -0.0958914 0.0129115 -0.232386 1.16264 -0.114496 0 0 0 -0.513097 0.133554 -0.42298 0.00537567 0.0100689 -0.0295215 0.000657414 -0.00618837 0.0184932 -0.0483845 0 0 0 0 0 0 -0.108745 0 -0.0620116 0 0 0 0 0.0317404 -0.422309 0 0 -0.194346 0 -0.0253642 0 -0.0118195 0 0 -0.0372817 0 -0.1403 0.053493 0.0142303 -0.00819752 0 0 -0.123801 0 -4.47541 0 -0.537229 -0.355543 0 0.412581 -0.38975 0.000584792 0 0.00346524 0 0 -0.0428915 0 -1.39102 -0.134411 0 0 -0.0206967 0 0 0.0164748 0.536868 0.313963 0 -0.506521 0 -0.215604 0.129213 -0.234302 0.665794 0.0110562 -0.606714 0.0625113 -0.0996018 1.18083 1.89295 -0.0779568 0 0 0 -0.0263744 0.0791055 0 0 0 0 0.183768 5.41643 2.50906 -2.50115 0.718643 -0.610085 0.476502 0.176445 -0.249895 0.31527 -0.437758 0 0 0 0 0 0 +139 0 0.167365 -0.0552431 0.0613777 0.111914 0.0580599 -0.128693 0.743421 2.355 -0.165537 -2.28461 -0.317565 -0.139204 -0.0652639 -0.537309 -0.104704 0.121703 -3.86167 -0.598363 -0.817319 0.692295 -0.288209 0.103224 0.0536192 -0.960322 0.485684 0.301486 -0.443925 0.0608964 0.918935 -0.0473908 -0.0206837 -0.276589 0.504589 -1.00964 0.116294 -0.125362 -2.46369 2.05614 -1.12569 0.118014 -0.0589529 -5.32757 -0.443832 -2.48439 0.0754282 0.0224656 0.237872 -2.07545 0.96568 0.149483 -0.559025 -5.29773 -0.193805 -1.05046 0.372101 -1.71427 0.562412 0.449201 1.169 -0.254208 0.214614 -0.263993 -0.528123 0.671982 1.42505 0.530472 -0.960434 -4.15839 0.320534 1.0793 -0.538758 -1.13153 -0.165119 -1.39487 -0.0611394 -1.56397 -6.25049 3.17973 -6.13342 1.65379 -0.206993 -2.49677 5.72298 -2.41931 2.06382 -3.11256 -0.388087 3.0017 -2.44182 2.44992 -1.89565 0 0 0 0 0 0.0613777 0.111914 0.00171903 0 0 0 0 -0.000720597 0 0.0912759 0 0 -0.0085916 -0.0453356 0.20071 0 0.041895 -0.174194 0.453197 0 0 -0.893973 -0.00318452 0 -0.417218 -2.6247 0 0 -0.0692591 -0.958617 0 -0.6135 0 -0.342531 0 0 -0.021809 0 0 -0.729726 -0.00968554 -0.121602 0 0.0251911 -0.176504 0 0 0.145928 0 -0.0166739 -0.326216 0.0493015 0 0 -0.00485151 -0.0510979 0 -0.00240724 -0.00358649 0.0610067 -0.0528924 -0.129215 -0.0264736 0 -0.00598331 -0.0817302 1.20988 -0.684665 0.258558 0 0 0 -0.498109 0.177716 -0.668194 -0.0178996 0.0186621 0.0439816 0.00563264 -0.00873159 0.0199189 -0.0726405 0 0 0 0 0 0 0.0580599 0 -0.128693 0 0 0 0 -0.0145686 -0.172269 0 0 0.0169102 0 0.00900335 0 -0.0130979 0 0 -0.152925 0 0.0683256 0.0132528 0.0685146 -0.0214909 0 0 -0.12769 0 -4.12678 0 -0.415138 -0.144384 0 0.0642752 0.116254 0.00905149 0 0.00124536 0 0 -0.0243028 0 -0.787393 -1.27477 0 0 -0.160175 0 0 -0.233793 -0.268596 -0.0298793 0 -0.261256 0 0.269946 0.0811656 -0.00281962 -0.0611451 0.142 -0.161391 -0.317971 0.0201576 -0.111228 -1.30671 -0.111899 0 0 0 0.0368548 -0.0716143 0 0 0 0 0.0416127 11.6905 2.52891 -1.28484 1.36366 -0.905276 0.688808 0.00718132 -0.043155 0.0460433 -0.0378556 0 0 0 0 0 0 +140 0 -0.391984 -0.342327 -0.170674 -0.1046 0.179969 0.00651787 -0.238126 -0.496233 -3.8978 1.38722 0.125132 -0.500627 0.0877624 -0.640694 0.123278 0.0918662 0.3022 0.610732 0.743896 -0.505235 0.481161 0.591016 -0.970388 1.09871 -0.240213 0.0324715 -0.340965 -0.0222812 -0.507201 -0.256591 -2.02998 0.216704 1.79847 -0.606018 -0.137952 0.063226 -0.783189 6.36931 0.637428 -0.0571832 -0.271991 -1.0169 0.321243 -1.46582 -0.998962 -0.00556102 -0.104618 1.35736 0.116866 -1.08698 -0.249181 1.29174 -1.1181 0.39412 -0.251557 2.74236 -0.188072 -0.0973235 -1.06016 -0.412484 -0.646945 -0.0784122 -4.53053 1.30435 1.40116 1.14164 -2.88387 -2.12995 5.06903 -2.68112 -0.620744 -0.323722 2.90802 -0.364819 0.201135 0.990461 -25.7066 -8.12759 1.27529 -4.87384 2.21015 -3.32904 -2.16505 1.26457 -1.21154 1.17233 0.71527 -0.389906 0.494708 -0.281904 0.317966 0 0 0 0 0 -0.170674 -0.1046 -0.012985 0 0 0 0 -0.012711 0 0.0297716 0 0 0.0117911 0.126392 -0.142602 0 0.00335574 -0.176176 -0.188778 0 0 0.0627337 0.00891709 0 -0.187102 3.68889 0 0 0.0249873 0.740919 0 -0.121496 0 0.189577 0 0 0.0272178 0 0 0.672071 -0.182825 0.166779 0 -0.18847 0.0639393 0 0 -0.0779531 0 -0.0446297 -0.106162 0.0548393 0 0 -0.00921447 0.00968403 0 -0.0290482 -0.612198 0.0188706 -2.85589 -0.0468021 0.0531037 0 0.00619264 -0.0644671 0.334638 -0.416163 0.119908 0 0 0 -1.02695 -0.0148771 0.00725746 -0.0756795 0.0853291 -0.0771153 -0.0110961 0.0136158 -0.0221366 0.0250439 0 0 0 0 0 0 0.179969 0 0.00651787 0 0 0 0 -0.0538696 0.46597 0 0 0.362393 0 0.0522209 0 0.00137515 0 0 -0.0367906 0 0.186083 -0.0363367 0.0220977 -0.00152138 0 0 0.0659081 0 0.699148 0 1.06562 0.033393 0 -0.353434 0.344227 0.00473516 0 -0.00470242 0 0 0.0253931 0 0.0483557 -0.254633 0 0 -0.0177932 0 0 0.0620913 -0.798169 -0.219431 0 0.763215 0 0.339083 0.0344739 0.145334 0.194862 0.085401 -0.1259 0.022936 -0.0341637 -0.868414 0.0586058 -0.0876048 0 0 0 0.0243871 0.0822009 0 0 0 0 -0.16557 -10.7759 -3.73911 2.97088 -1.02544 0.649376 -0.469178 -0.361894 0.275873 -0.247925 0.207133 0 0 0 0 0 0 +141 0 -0.430662 -0.503415 -0.115123 0.248078 -0.140586 -0.0538369 0.325194 0.958508 3.53613 0.777697 -0.0702114 0.0382125 0.597683 -0.0423096 -0.161962 -0.989301 -1.90938 0.902696 -0.796442 -0.193395 0.72312 0.882405 -0.0671927 1.23171 -0.00470646 -0.458303 -0.3108 0.00136794 0.175788 -0.0142325 0.74917 -0.359146 2.07061 -0.206194 -0.0244189 -0.037721 -0.243638 5.74937 -0.320012 -0.0126382 0.672859 1.48706 -0.0974271 -0.570609 0.924881 0.00098474 0.0180739 -1.7788 -0.251356 0.166468 -0.0636368 -6.98346 1.5355 -0.334033 0.207826 -1.92749 1.32564 -0.083913 -0.973213 -0.164666 0.542355 -0.0462387 -4.90647 1.23056 -0.410239 0.37351 -3.17848 -0.607664 -4.43319 -2.52669 0.0190906 0.157435 -2.65582 -0.9771 -0.0315807 -1.25014 -26.2778 -6.15693 0.0226382 -5.01492 2.68354 -3.04941 0.151538 -0.918348 0.975252 -1.63421 -0.662227 0.264278 -0.352839 0.128764 -0.110202 0 0 0 0 0 -0.115123 0.248078 0.0322729 0 0 0 0 0.0119691 0 -0.00425092 0 0 -0.00503611 0.0721375 -0.0561402 0 -0.0275045 -0.116527 0.166596 0 0 -1.05865 0.00522961 0 0.119493 0.0916871 0 0 -0.137206 0.0381893 0 0.122112 0 -0.344203 0 0 -0.0439307 0 0 0.215431 0.168087 -0.0738012 0 0.454678 -0.0484577 0 0 0.0406134 0 0.0320184 0.0108418 -0.0524519 0 0 0.00529365 -0.0755885 0 -0.0138456 -0.0378476 -0.001296 0.132201 -0.0981962 0.008016 0 0.0769033 0.071139 0.254852 -0.0876054 0.174981 0 0 0 -0.881765 0.111372 -0.30249 -0.0166402 0.0274965 -0.0644901 0.00582268 -0.00943173 0.0188476 -0.0397813 0 0 0 0 0 0 -0.140586 0 -0.0538369 0 0 0 0 -0.0256345 -0.135176 0 0 -0.270787 0 -0.0200375 0 -0.00903373 0 0 0.0546966 0 -0.0233558 -0.0106108 0.00386012 0.00874425 0 0 -0.0472061 0 -1.2822 0 -0.163624 -0.100131 0 -0.0743244 -0.196062 0.00276615 0 -0.00279693 0 0 -0.0437095 0 -0.325797 0.114495 0 0 0.0255347 0 0 -0.0711759 0.592096 -0.059282 0 -0.934253 0 0.317026 0.109371 -0.0720355 0.496311 0.00200225 -0.43174 -0.416239 -0.0353007 -0.0665448 -0.96368 -0.0653218 0 0 0 -0.106106 0.0816204 0 0 0 0 0.0456129 2.47564 1.9612 -0.496077 0.0361602 -0.354041 0.665955 0.352629 -0.257617 0.180291 0.0737312 0 0 0 0 0 0 +142 0 -0.158861 0.105625 0.118309 0.035901 0.118321 -0.090905 0.467038 1.02006 2.56454 -1.22794 -0.278542 -0.601532 -0.082059 -0.539328 -0.0405138 -0.719119 -5.53996 -0.38703 -0.763728 -0.438584 -0.296527 -0.387717 0.652246 -0.764629 0.126024 3.0234e-05 0.573296 0.03896 0.653105 -0.0251867 1.34955 -0.0102771 -0.675572 1.05153 0.0620512 -0.136663 1.54041 -0.517423 -1.09918 -0.135697 0.157653 2.33556 -0.561939 -4.00066 0.646291 -0.0339545 0.159663 -1.31099 -0.290246 1.22842 0.456211 1.74714 0.787628 -0.433487 0.149271 0.166369 0.501065 -0.499631 0.239188 0.29342 0.251306 0.386025 -0.21615 0.715333 -0.959546 0.278291 0.112672 1.1681 -3.3006 0.845481 -0.739963 0.577599 -3.18325 -0.441011 -0.133575 -1.81168 5.2676 3.7727 -4.30795 -0.00716946 0.710551 -0.983313 0.961115 -0.305429 0.733224 -2.05585 -0.462753 0.498129 -0.436397 0.450259 -0.409434 0 0 0 0 0 0.118309 0.035901 0.0070683 0 0 0 0 0.00788066 0 0.06857 0 0 -0.00780216 -0.0879476 0.165039 0 0.0370897 -0.00960812 0.311472 0 0 -2.17208 -0.00621188 0 0.148906 0.30281 0 0 -0.280703 0.0598729 0 0.491803 0 -1.16634 0 0 -0.15233 0 0 1.21208 0.113617 -0.109831 0 0.104477 0.0244126 0 0 0.484291 0 0.0290899 0.11462 -0.0514834 0 0 0.00562109 -0.00216712 0 -0.0843666 -0.904022 0.0173014 2.01398 -0.167838 0.0757618 0 0.123075 0.0723709 0.774445 0.195431 0.263006 0 0 0 -2.41351 0.252136 -0.552403 -0.138837 0.151741 -0.141358 0.00722274 -0.00896241 0.0144083 -0.0420631 0 0 0 0 0 0 0.118321 0 -0.090905 0 0 0 0 -0.0198577 -0.38709 0 0 0.0575654 0 0.00885166 0 -0.0180684 0 0 0.0519293 0 -0.139963 0.00618475 0.0930832 0.0065574 0 0 -0.165775 0 -2.17768 0 -0.807702 -0.116905 0 0.0407522 -0.175031 0.0105972 0 -0.00205127 0 0 -0.0437323 0 -0.322075 -0.457498 0 0 -0.0507591 0 0 -0.249335 0.146035 0.00282713 0 -0.943851 0 0.158695 -0.0641969 0.0274533 -0.0853042 0.0247563 -0.124196 -0.21091 0.0680413 0.45264 0.134719 0.00497683 0 0 0 0.00395178 -0.141772 0 0 0 0 0.156319 17.0602 3.55393 -1.6156 1.38982 -0.814424 0.486926 -0.0918459 0.000430799 0.0666196 -0.129006 0 0 0 0 0 0 +143 0 0 0 -0.367543 -0.361163 0 0 0 0 -3.64447 3.5854 0.638152 0 0.406831 0 -0.0165755 0 0 0.512582 0.150757 0 0.168873 0 -0.64805 1.12225 0 0 -0.524096 0 0 0 -1.35131 -0.538708 0 -1.69121 0 0.0610738 -2.35136 0 3.80354 0 0.560615 -7.86045 0.781434 0 0.159149 0 0 -1.25275 -0.541871 0 2.19517 0 -0.445104 0.489856 0.264628 0 -0.642192 -0.145752 -1.00749 -0.718775 0 0 0 0 2.24389 0 2.59057 -1.63423 2.26002 1.13456 0.796595 2.19094 3.45489 0 0 0.71129 0 -6.24936 0 -0.650435 -5.6421 0 -3.5521 1.86563 -5.79122 0 -1.24567 -2.74664 0.344976 -6.44814 0 0 -0.00190351 -0.000157411 -0.465021 -0.108014 -0.367543 -0.361163 -0.0351526 0.0434664 -0.106319 -1.52728e-05 0.00751731 -0.013132 -0.0125363 0.0571853 -0.00134924 -0.000308834 -0.011698 -0.0993307 -0.0541553 -0.026467 0.0164024 -1.34127 0.0331738 -6.84695e-05 0.113292 0.144088 -0.00462879 0.0219734 -0.355068 -10.6885 0.877964 -0.00351709 0.00535372 -3.90477 -0.0167531 -1.55967 -0.00492277 0.172525 0.143826 -0.0742793 0.00628962 -0.00627633 -0.000592259 -4.50424 -0.279813 -0.251457 -0.000779528 -0.748366 0.247888 0.00983598 -0.00458694 -1.09878 -0.0123182 -0.0534497 0.1576 0.241695 0.00626372 0.00467135 0.0152902 0.0642089 -0.0541597 -0.0807842 -0.742928 -0.00764532 5.8169 -0.255603 0.118669 0.06379 -0.0536056 0.00392794 -2.60335 0.794361 1.9709 0.0208372 -0.0231365 -0.000588763 34.0693 1.90737 1.78811 0.154449 -0.0670963 1.59899 0.00733423 0.00103196 0.0371804 -0.409224 2.95034e-05 0.00265403 -0.0286117 0.157046 -1.91776 0 0 -0.465021 0 -0.108014 0 0 -2.12209 0 -3.25339 0.0226593 0.032134 0.606609 0.010823 0.144384 -0.321252 -0.0693069 0.0850077 -0.232052 0 0 0 0 -0.0935537 0 0.0870737 0 -0.754067 0 0 0.864931 0 0 -0.0451528 0 0 -0.00123314 0.00768187 0 0.101646 0 -0.36092 0 0 0 0.0113542 0.0769915 0 0 0.0345793 0 0 0 -0.439812 0 1.05732 0 -0.361175 0.416313 0.205439 0 0 0.655564 0.205092 -1.0358 0 0.205756 0 0.088322 0 -0.548911 -0.293104 -0.0425118 -0.169233 0.251467 -0.00459725 0.779121 0 -2.14366 0 0.692291 -2.63151 0 -0.317828 -0.141341 -0.573143 0 0.121891 -0.440557 0.265092 -0.688293 0 0 +144 0 0 0 0.192501 0.662168 0 0 0 0 0.303339 -2.26131 0.820941 0 -0.120811 0 0.099941 0 0 -0.270784 0.226106 0 -0.155525 0 -0.185425 -0.591923 0 0 -0.23327 0 0 0 -0.569853 0.376713 0 0.102628 0 0.040687 -0.624773 0 2.0787 0 -0.513387 1.45835 0.0202315 0 -2.95963 0 0 0.021688 -0.889582 0 -1.34174 0 0.0694978 0.433725 -0.269886 0 0.157654 -0.487933 0.484894 0.430296 0 0 0 0 -2.56047 0 -0.440627 3.1318 2.70437 -0.453799 -0.377873 0.320256 1.81768 0 0 0.556042 0 3.00488 0 4.63598 -2.50369 0 6.2903 -4.47981 3.86101 0 7.57457 -4.35892 4.56331 -3.31946 0 0 0.491813 0.0406706 -0.190251 -0.0641577 0.192501 0.662168 0.036744 0.0546712 -0.503063 -0.000337363 0.00450289 0.00810522 0.0139271 0.0451212 0.0301064 -0.00633524 -0.0614421 -0.31062 0.635226 0.457521 0.0740364 -0.19931 0.885425 0.00185078 0.31819 -1.08064 -0.0221086 0.0170519 0.0657117 -2.92624 0.494367 0.0179094 -0.293582 -0.956102 -0.0644882 -0.0383854 -0.03985 -0.525828 0.0988722 0.195336 -0.107955 -0.103877 0.00178578 0.406804 0.114641 -0.793862 -0.00459606 0.45846 0.387196 -0.0464488 -0.0174494 -0.0738153 -0.0463714 0.102948 3.49311 -0.172093 -0.0875472 0.117291 0.11489 -0.0442492 -0.0747714 -0.250144 0.164299 -0.194132 2.58913 0.257839 -0.0703325 -0.105083 0.0927074 -0.484605 1.66105 -0.446872 -0.338032 0.059932 -0.145859 0.0109872 -3.077 2.21207 -3.52143 0.415611 -0.437657 -2.31395 0.0457452 -0.0660676 0.497789 -1.17706 0.00763129 -0.0130302 0.11037 -0.0754687 -1.07986 0 0 -0.190251 0 -0.0641577 0 0 0.222011 0 0.609904 -0.0573582 -0.00820134 -1.04119 -0.00661348 -0.0912528 -0.025758 -0.0578805 0.0644695 -0.495643 0 0 0 0 -0.385916 0 0.038011 0 -0.0872165 0 0 0.363186 0 0 -0.00890556 0 0 -0.0520802 0.011061 0 0.044077 0 -0.0236345 0 0 0 0.0066988 0.071705 0 0 0.023742 0 0 0 0.147446 0 -0.276929 0 1.27516 -0.973025 0.678763 0 0 0.201648 -0.386366 1.10964 0 0.0557079 0 0.0480988 0 0.0865321 0.17391 -0.485236 0.362356 0.169283 0.0207187 0.167214 0 3.54466 0 1.65635 -0.926014 0 1.46563 -0.986127 0.902967 0 0.908318 -0.748604 0.662905 -0.351495 0 0 +145 0 0 0 -0.217625 0.034788 0 0 0 0 -2.53695 -2.37949 -0.0480891 0 0.467307 0 0.00918897 0 0 -0.286302 0.788627 0 -0.10627 0 -0.9368 -0.996829 0 0 -0.724304 0 0 0 -1.50488 0.313095 0 -1.39287 0 -0.0974167 -2.24292 0 -0.831199 0 0.0973751 -4.20442 -0.434614 0 -1.70469 0 0 2.96819 0.427406 0 -0.79738 0 -1.04871 0.128295 -0.475207 0 -1.08168 -0.117263 0.8725 0.0925157 0 0 0 0 -0.0755261 0 -0.33736 -1.87409 2.56341 -1.46381 -0.931268 -1.80301 4.06043 0 0 3.25593 0 4.50314 0 2.22479 1.71125 0 2.22523 -1.0577 3.29387 0 1.68897 0.406459 1.70646 1.6798 0 0 0.0257201 0.00212693 0.163355 0.0757021 -0.217625 0.034788 -0.0136567 0.0414091 0.0284895 -2.1658e-05 0.00695142 -0.0099204 0.00195251 0.205887 0.00127592 -0.000412044 -0.00189861 -0.0113359 0.858 0.0179457 0.152726 -1.37013 1.25363 8.19422e-05 0.186836 1.56123 -0.000926025 -0.0146105 0.259099 -6.17 -0.175199 0.00133976 0.13802 -3.05335 -0.00236018 0.634497 0.000485661 0.763692 -0.0594203 0.0188127 0.0615057 -0.0070498 0.000150796 1.52083 -0.214595 -0.0134826 -0.000192886 -0.308229 0.0427467 -0.00515484 -0.00012894 0.155585 -0.00500093 -0.0316639 1.32146 0.189404 -0.0031435 9.15082e-05 0.0062418 0.0150432 0.0139353 -0.00635527 -0.473076 0.0546054 14.4114 -0.0950887 -0.023022 -0.133111 0.0403377 -1.07998 -1.64261 0.868465 0.956414 0.0132573 -0.0813126 0.000442302 -11.5033 -0.30467 -5.38721 -0.0258803 0.0472581 -0.998406 0.00186993 -0.00571733 0.0547366 -1.29474 0.000413389 -0.00115616 0.0126032 -0.0360953 0.382691 0 0 0.163355 0 0.0757021 0 0 0.262561 0 -0.0789273 -0.132963 0.0227743 -0.618979 -0.0259594 -0.131724 0.0885493 -0.0692456 0.00657781 -0.574297 0 0 0 0 -0.159462 0 0.202257 0 -0.000215507 0 0 0.0866188 0 0 0.0190059 0 0 -0.043583 0.0103787 0 0.0242 0 -0.112101 0 0 0 -2.68426e-05 0.0704593 0 0 0.124379 0 0 0 -0.0195435 0 -0.0984755 0 0.179987 -0.226575 -0.284408 0 0 -0.188893 -0.297915 -0.149148 0 -0.250949 0 -0.162472 0 0.0392322 0.260475 -0.260155 0.309386 0.131478 -0.00255224 0.100625 0 2.08106 0 2.16369 -0.485305 0 0.695857 -0.358619 0.287993 0 0.61917 -0.45635 0.442785 -0.187184 0 0 +146 0 -0.869716 -0.421222 0.191523 0.123494 -0.496665 -0.195754 0.893554 3.52152 0.692878 -2.58919 -0.137303 -0.440035 -0.298634 -0.736982 0.117701 -2.28058 -12.6774 -0.314611 0.320376 -0.390992 -0.133995 0.0403022 0.386464 -0.934239 0.300213 -0.403854 0.388447 0.0277055 0.549939 0.00313159 0.57889 0.1844 0.310328 0.6145 0.0717598 -0.0115989 1.76022 2.33023 -0.873931 -0.11308 -0.426942 3.00613 -0.195466 -3.88703 -0.411832 -0.0282109 0.0978689 0.480375 0.519118 1.72929 -1.79301 -4.46019 -0.241427 0.263434 -0.76385 -3.10711 -0.292214 -0.259494 1.21 0.430076 0.461687 -0.0372596 1.13947 1.64202 -2.60453 0.627946 -2.14786 1.72175 -0.548552 -0.785417 -0.926986 -1.82618 -1.46429 -1.37051 0.929063 0.294459 -7.89068 2.99166 -6.40804 1.9378 -0.610913 -2.5272 3.35762 -3.33434 5.07241 -6.41635 1.44126 0.922872 -0.124894 2.58668 -2.23643 0 0 0 0 0 0.191523 0.123494 0.0110458 0 0 0 0 0.00572519 0 0.0728415 0 0 0.0043308 0.0693609 0.1558 0 0.0240275 0.548734 0.532855 0 0 -0.625464 0.00325581 0 0.193675 1.22104 0 0 -0.0560456 1.00804 0 1.11126 0 -0.194493 0 0 -0.0144322 0 0 3.12352 0.122025 0.0911131 0 0.234629 -0.0308533 0 0 0.581265 0 0.0190961 2.14054 0.0320551 0 0 -0.00849907 -0.0185424 0 0.0275426 -0.0209369 0.0633302 -2.48862 0.208236 0.0610632 0 0.0337217 -0.543944 0.212647 -0.171039 0.263094 0 0 0 -24.3398 -1.11641 -3.3905 -0.107026 0.251694 -3.44487 -0.00308888 0.00695224 -0.0966655 -0.561474 0 0 0 0 0 0 -0.496665 0 -0.195754 0 0 0 0 0.198194 -0.740047 0 0 -0.466079 0 -0.0517398 0 -0.0311421 0 0 -0.0721025 0 -0.0151894 0.174075 -0.0512421 -0.00599721 0 0 -0.255586 0 -8.4227 0 0.661828 -0.31596 0 1.35772 -0.135743 -0.00615929 0 0.025756 0 0 -0.0940447 0 -1.67848 -0.91853 0 0 -0.0867384 0 0 -0.192952 2.12537 0.0262582 0 -1.63681 0 0.683027 0.0456534 -0.039996 0.0667791 0.0191887 0.241141 -0.180195 -0.0481933 1.06205 -4.49082 -0.0112484 0 0 0 -0.0967358 0.0156187 0 0 0 0 0.275298 -6.26738 1.27583 -4.86365 -0.203 0.0770584 -0.756037 0.15654 -0.21494 0.361218 -0.985642 0 0 0 0 0 0 +147 0 1.38454 0.0410383 0.278259 0.244143 -0.135536 -0.152114 1.3144 3.53427 0.66196 -2.31623 -0.116899 -0.0270886 -0.429107 -0.208833 -0.0292446 0.848373 2.59161 -0.54753 0.263796 -0.271572 -0.282028 0.244809 0.538437 -0.744633 0.710403 0.314602 0.226697 0.0943949 0.123229 0.104393 0.721678 -0.0988353 0.837789 0.661601 0.293987 -0.00208144 0.351685 0.649332 0.492215 -0.127393 -0.693588 2.03924 0.454405 -1.49809 -0.990825 -0.0548997 0.202633 0.449815 -0.631854 -0.0211676 -1.33798 -4.11613 -0.215847 0.241589 -0.0205967 -0.281326 -0.328442 -0.232264 1.1436 0.779902 -0.447893 0.0272314 -0.545372 -2.82238 0.0227736 -0.1892 3.28381 0.585769 -0.496505 -0.791189 0.0860986 0.372127 -0.413188 -0.10222 0.0137948 -2.48697 -3.84019 4.76785 -8.19919 1.89597 -1.56365 0.222313 3.27808 -2.96438 4.75887 -6.9124 3.46752 -2.32009 1.79906 -0.819411 -0.501135 0 0 0 0 0 0.278259 0.244143 -0.00615899 0 0 0 0 -0.00438994 0 0.0210648 0 0 -0.00324786 0.00174844 -0.11261 0 -0.00879505 -0.0237252 0.105264 0 0 0.716628 0.000104855 0 -0.718786 -2.49579 0 0 0.055693 -0.476199 0 -1.2968 0 0.560405 0 0 0.0499914 0 0 -3.15902 -0.0942423 -0.0743435 0 -0.138685 0.103286 0 0 -0.368408 0 -0.0226468 -1.02673 0.0534476 0 0 0.00600446 0.000758367 0 -0.0265255 -0.280963 -0.0420685 5.97463 -0.176823 0.068954 0 0.030655 -0.114841 -0.991499 0.449518 0.234903 0 0 0 22.3807 1.01381 0.898664 0.0964665 -0.20045 2.89995 0.00282063 -0.00520423 0.0768287 -0.049436 0 0 0 0 0 0 -0.135536 0 -0.152114 0 0 0 0 0.0844212 0.221761 0 0 -0.345208 0 -0.0425175 0 -0.0214492 0 0 0.108874 0 -0.117467 0.0522793 -0.0488663 0.0049576 0 0 -0.162458 0 -2.37526 0 -2.2774 -0.586644 0 0.329703 -0.616804 -0.0071096 0 0.0184744 0 0 0.0165566 0 -1.37482 -0.212852 0 0 -0.0677536 0 0 -0.040588 0.737699 0.110935 0 -0.101796 0 -0.659226 0.120529 -0.081983 -0.0931988 0.0380829 -0.00969807 0.558999 -0.323159 0.980001 6.29917 0.0091101 0 0 0 0.0857498 0.141823 0 0 0 0 -0.023164 10.3141 2.44028 -2.13745 0.891069 -0.941028 1.51029 0.225256 -0.25065 0.348895 -0.356768 0 0 0 0 0 0 +148 0 0.721722 -0.0665103 0.181344 0.105027 0.0949083 -0.0191692 0.217556 0.759539 0.597414 -1.46347 0.00469275 -0.0681242 -0.282713 -0.135004 -0.0505952 -1.00482 -2.64656 -0.34235 -0.0817994 0.156809 -0.0916787 -0.0181636 0.36469 -0.34982 0.0904988 -0.296826 0.158453 0.0326883 0.433138 -0.0251479 0.531473 -0.133292 -0.307129 0.0781643 -0.000104056 0.0476947 1.21557 -1.95476 0.291481 -0.022382 -0.41926 2.33536 0.335418 -0.339143 -0.45824 -0.0100109 0.122428 -0.252415 -0.403055 0.816863 -0.274603 -0.899802 0.0327035 -0.0740254 0.191332 -0.605768 -0.0460796 0.164625 0.242067 0.43446 -0.902828 0.00840487 0.055664 0.466919 -0.317169 -0.386881 -0.220704 1.31902 -0.471996 0.205036 0.295393 0.516723 -1.42264 0.263734 -0.153569 -1.75023 7.97186 2.29527 1.7524 0.961243 -0.062759 1.59221 0.987671 -0.817868 1.90993 -1.97758 1.60367 -1.18471 0.17385 0.0450325 -1.76144 0 0 0 0 0 0.181344 0.105027 0.00952576 0 0 0 0 0.0047294 0 -0.115374 0 0 0.00365751 0.0602593 -0.502184 0 -0.0681406 0.711831 -0.816158 0 0 -0.657246 0.00283026 0 0.127757 3.46408 0 0 -0.0506546 1.70545 0 0.400014 0 -0.234022 0 0 -0.0149685 0 0 0.565082 0.100731 0.0764285 0 0.201203 -0.102327 0 0 -0.147876 0 0.0153549 -1.98123 -0.12804 0 0 -0.00693931 -0.016875 0 0.0126681 0.234834 -0.0210081 -7.23794 -0.0892876 -0.0939486 0 -0.00913368 0.722395 0.937547 -0.459103 -0.352638 0 0 0 -4.65919 -0.442962 2.83904 -0.0208495 0.0442225 -0.62271 -0.00253082 0.00572657 -0.0796715 0.908168 0 0 0 0 0 0 0.0949083 0 -0.0191692 0 0 0 0 0.0106186 0.541598 0 0 -0.290689 0 -0.049577 0 0.00645613 0 0 0.0262885 0 0.0395812 0.00128831 -0.0689713 0.00420514 0 0 0.0372303 0 1.53954 0 -1.0146 -0.182712 0 -0.0068972 -0.103454 -0.0132232 0 0.00169914 0 0 0.0721499 0 0.0628981 -0.239606 0 0 -0.0298244 0 0 0.324634 -0.883682 0.134056 0 0.865535 0 -0.416202 0.103781 -0.110293 0.66837 -0.00201506 -0.523062 0.0742638 -0.0786489 -0.343051 -0.378964 -0.082594 0 0 0 -0.0109099 0.122128 0 0 0 0 -0.0996543 5.70085 1.54432 -0.209439 0.429723 -0.278268 0.497968 0.153367 -0.133156 0.184739 -0.123336 0 0 0 0 0 0 +149 0 0 0 0 0 0.387595 0.00570398 -1.32063 -2.99759 0 0 0.0659271 -1.26356 0 -2.1722 -0.00319169 0 0 0 -0.0858463 -3.6565 0 0 0 0 -0.343617 0 0 0.310693 0.220538 -0.796842 0 0.0465164 0 0 -0.163959 0.0144927 0 0 0.243226 -1.24876 0 0 0.112918 -3.45454 0 -0.584343 0.343129 0.0414668 -0.20146 -3.10164 -0.157543 0 0.0527188 -0.0964325 0.173723 1.02396 0.133246 0.208663 0 0 0.432892 -0.903901 0 -2.59897 0.0606164 -0.0780782 0 0 0 0 -0.348231 0.21878 0 0.473856 -1.98502 0 0 0 4.5788 0 -0.332635 1.53324 0 -0.175794 0.157479 4.28549 0 -0.275503 0.0291878 -0.449821 1.59471 0 0 0 0.0888599 0.00225306 0 0 0 -0.0153801 0 0 -0.000680121 0 0 -0.00154365 0 0 0 0 -0.0345922 0 -0.000876089 0 -0.0610679 0 -0.153911 -0.0754833 0 0.000224549 0 0 0.0763796 0 -0.00189351 0 0 0 0 -0.000872187 0.00539337 0 -1.83592e-05 0 0 0 0 0 0 0 0 0 0 -0.00345633 0 0 0 0 0 0 0 0 0 0 -0.10495 0 0 0 -0.0393612 0.0362825 0 0.0815756 -0.104717 0 -0.0458523 0 -0.0840627 0 0 0 0.0574641 0 0 -0.0718722 0 0 0 0.0144928 0 0 0 0 -0.063858 0 0.387595 0.0888599 0.00570398 0.00225306 0.00935646 0.022731 0.0107317 -0.390606 -0.272424 -0.000171369 6.87618e-05 -0.0162582 -3.34606e-06 -0.00095131 0.000221237 -0.00260672 0.0206191 -0.00831272 -0.67582 0.92652 0.239109 -0.0836078 0.0446199 -0.0869768 0.0518687 0.0354528 -0.0956888 0.022769 -8.16622 0.0415859 3.80296 -1.32441 4.31975e-06 -0.600915 1.36821 0.000767258 0.00242061 -0.0852088 0.0132609 0.208494 -0.00707546 0.00266455 -3.67256 0.0194859 0.00235199 0.0100192 -0.00727215 0.147309 0.0529845 0.903176 3.17325 0.168163 -0.0553954 0.769857 -0.000232366 0.154166 -0.00960862 -0.0662636 -0.0301379 0.0383978 1.79055 -0.055967 -0.0537264 -0.1936 3.1884 -0.117161 0.545862 0.0614665 -0.113051 -0.0925387 0.00152662 -0.0550631 0.000212967 0.0263513 -0.041582 0.00812077 -11.9938 -0.0588759 1.51183 0.00830466 0.348118 -3.11202 0.000205271 0.0326932 0.00133483 -0.0237035 2.10004e-05 -0.0919828 0.099752 -0.0351026 -0.398532 0 +150 0 0 0 0 0 -0.248286 0.28146 0.0390752 0.364115 0 0 0.0336225 1.90818 0 3.83906 0.00151065 0 0 0 0.0318419 3.20622 0 0 0 0 -0.117651 0 0 -0.297834 4.04408 1.06008 0 0.00166688 0 0 -0.0973652 0.00683604 0 0 0.0325737 2.1021 0 0 0.0404656 6.82577 0 1.10456 0.7228 -0.0747212 -0.0826857 2.74196 -0.122112 0 -0.0211469 0.0123111 -0.0197406 -6.43734 -0.268883 -0.174762 0 0 0.13365 -2.57314 0 0.20423 -0.420172 0.198998 0 0 0 0 0.0482425 0.289162 0 -6.03356 -0.839815 0 0 0 -0.126645 0 -0.409796 -3.17937 0 -0.129196 0.145821 -2.40617 0 -0.135365 0.138974 -0.470562 -7.26847 0 0 0 0.00794077 0.00020134 0 0 0 -0.00128139 0 0 -5.91865e-05 0 0 -4.68913e-05 0 0 0 0 -0.00288021 0 -7.49393e-05 0 0.000278301 0 -0.00834824 0.00227918 0 3.31886e-05 0 0 0.0120249 0 -2.59405e-05 0 0 0 0 0.00041589 0.000936528 0 6.19913e-06 0 0 0 0 0 0 0 0 0 0 -0.00459136 0 0 0 0 0 0 0 0 0 0 -0.00607089 0 0 0 -0.00316373 0.00375085 0 0.00530822 -0.0104753 0 -0.00405204 0 -0.00370641 0 0 0 -0.000261877 0 0 -0.0113152 0 0 0 -0.00185371 0 0 0 0 -0.0100535 0 -0.248286 0.00794077 0.28146 0.00020134 -0.45355 -0.124802 0.000959013 -0.571771 0.0300069 -1.5314e-05 -0.0197653 0.0171943 -2.99014e-07 0.00021102 1.97703e-05 3.56957e-05 -0.01505 -0.000742849 0.0191562 -0.377227 0.176002 -0.162051 0.0223567 -0.0764033 -0.134628 0.278734 0.00837075 -0.0140222 5.59812 -0.00625564 0.519488 1.77085 3.86025e-07 -0.751341 0.648935 0.000360184 0.000635807 -0.123038 0.0051771 1.53027 0.000230568 0.0564613 3.59482 -0.582877 -0.00221757 2.28182e-05 -0.190555 -0.0696383 -0.0890871 -1.51216 2.5103 0.171326 0.0185258 -7.58494 -2.07649e-05 2.05289 6.96467e-05 -0.158288 -0.0179688 0.483704 0.300718 0.000495473 -0.0711158 0.146698 -31.0135 0.0432691 -0.154949 -0.0168203 -0.277973 -0.117639 -0.000182064 -0.0103788 1.90313e-05 -0.0424885 0.0895158 -5.88622e-05 -1.63837 -0.0386585 1.24994 0.000515211 -0.00143831 -3.88052 -5.21064e-06 -0.0221018 0.0580728 -0.498807 1.87666e-06 -0.0368515 -0.0921145 0.207635 -1.85343 0 +151 0 0 0 0 0 -0.656633 -0.033311 0.597133 3.08081 0 0 0.0698467 0.190526 0 1.13761 0.0072751 0 0 0 -0.0219901 -3.51126 0 0 0 0 0.207007 0 0 -0.170129 4.24538 0.43633 0 0.0813507 0 0 -0.0148 0.00511389 0 0 0.0470233 0.0959381 0 0 -0.0026686 -0.566011 0 0.427497 0.35415 0.0906264 -0.00263037 2.03853 0.111047 0 0.00363721 -0.0337973 0.12257 -0.137513 -0.023054 0.0333302 0 0 -0.181356 3.29741 0 1.19563 0.128505 0.228561 0 0 0 0 0.0906341 0.129828 0 3.75038 0.616679 0 0 0 -4.50058 0 0.131836 -6.40449 0 0.106988 -0.224298 -6.98591 0 0.04375 -0.462942 0.557348 -9.34162 0 0 0 -0.00477375 -0.000121039 0 0 0 -0.000482346 0 0 1.77932e-07 0 0 8.49556e-05 0 0 0 0 0.00021727 0 2.10123e-05 0 0.00340842 0 -0.0123215 -0.0213961 0 3.80071e-06 0 0 0.00167373 0 -0.000302324 0 0 0 0 -0.00658561 0.000255753 0 -0.000104307 0 0 0 0 0 0 0 0 0 0 9.0316e-05 0 0 0 0 0 0 0 0 0 0 0.000845966 0 0 0 -8.20761e-05 -0.000564062 0 -0.000645866 0.000175211 0 -0.000298486 0 0.0015964 0 0 0 -0.00320728 0 0 -0.00157496 0 0 0 -0.00166665 0 0 0 0 -0.00139934 0 -0.656633 -0.00477375 -0.033311 -0.000121039 -0.768105 -0.150848 -0.000576529 0.664851 -0.0571854 9.20632e-06 -0.0106605 -0.0291253 1.79758e-07 -0.000425135 -1.18853e-05 -0.000294953 0.000927084 0.000446577 1.41039 0.262906 0.0848104 0.567198 -0.0160417 0.201494 -0.0530387 0.393187 -0.0222598 0.0152914 8.46375 -0.00928164 0.224543 1.15938 -2.32066e-07 2.55427 0.415714 -0.000257832 0.0015826 0.105401 0.00347269 2.24889 -0.00076007 0.0580618 3.10534 2.94877 -0.000284391 0.00429446 0.475146 0.083787 0.0696673 0.388143 -1.81012 0.406477 -0.0312907 1.8343 1.24832e-05 -0.394681 -0.000710468 -0.186609 0.0323241 -0.530583 -0.737082 -0.0191177 0.0243274 -0.0347841 -1.80375 0.112677 0.185334 0.0127232 -0.355464 -0.0279307 0.000430352 -0.044514 -1.1441e-05 0.0312701 0.0891199 0.000600455 -0.708166 0.0409378 -6.75497 -0.000987841 0.268156 -5.81552 2.68653e-05 -0.0374631 0.186035 -3.25761 -1.12819e-06 -0.0944739 -0.16979 0.467791 -3.11152 0 +152 0 0.812414 0.228142 0 0 0.0101745 0.160125 0.540976 0.418948 0 0.204869 0 1.07799 0 1.26224 0 -0.2179 -1.68948 0.0258568 0 2.15911 0.00490041 -0.109546 0 0.0581957 0.0056018 0.0298551 0.000926795 -0.247142 0.373447 0.592551 0 0 -0.441402 0.00988687 -0.00592665 0 0.0209262 -3.36196 0 1.30508 0 0.0999492 0 1.99947 0 0.788973 -0.0692111 0 0 1.41603 0.105588 4.83843 0 0 0 -0.629956 -0.0420248 0 -0.11131 0 -1.04674 -1.64061 -0.772445 1.6266 -0.0125078 -0.369616 -0.246395 -0.00397612 0 -0.345933 0.0612614 0 -0.0384469 -0.834509 0.381706 -0.195366 12.1697 -0.21255 3.77253 0.21677 -0.311475 3.59442 -0.143088 0.148048 -0.446901 0.262357 0 0 0 0 -0.748141 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0101745 0 0.160125 0 0 0 0 -0.124711 0.0319957 0 0 -0.0863773 0 -0.00453968 0 -0.000629036 0 0 0.814605 0 -0.587247 -0.0362965 -0.0164527 0.118923 0 0 -0.0441841 0 4.15987 0 -6.24951 0.692022 0 -0.295022 -2.08545 0.00072119 0 -0.00418862 0 0 0.0126068 0 1.78043 1.36988 0 0 0.203504 0 0 0.499563 0.947429 -0.00668475 0 1.94461 0 0.404909 -0.0131229 0.00726943 -0.173005 -0.0746725 -0.196014 -0.266108 0.00894397 -0.162854 5.37411 -0.00555949 0 0 0 -0.0234993 -0.0434709 0 0 0 0 -0.0420972 32.7582 0.840357 4.96712 0.505839 -0.485453 3.20288 0.0189436 -0.0378028 0.062023 0.140005 0 0 0 0 0 0 +153 0 -0.467307 0.139665 0 0 -0.1878 -0.222268 0.534456 1.54852 0 -0.0105307 0 -0.409436 0 -1.40547 0 0.742103 3.64782 -0.00508328 0 -1.23709 0.000935016 -0.140204 0 0.0132518 0.444904 0.14795 0.00106163 0.402369 -0.307163 -0.406935 0 0 -0.183744 -0.00539123 0.252257 0 0.0158141 1.13227 0 -0.926384 0 -0.0277868 0 -1.81239 0 -0.669222 0.183847 0 0 -2.29638 0.0873045 -4.15753 0 0 0 1.06974 0.015479 0 -0.0216887 0 0.462586 0.620432 0.492458 -0.654339 0.043379 -0.479099 -0.0362002 0.0122805 0 -0.075811 -0.0244109 0 -0.0266878 1.84427 -0.421516 0.0280794 -0.571424 -0.249591 -1.48534 -0.0919108 0.0448118 -0.367269 -0.0452315 0.0826797 -0.123447 -1.49988 0 0 0 0 0.615353 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1878 0 -0.222268 0 0 0 0 0.381782 -0.165869 0 0 0.0177935 0 0.00127656 0 -0.00251217 0 0 -0.0250172 0 -0.276361 0.145642 0.000111146 0.00413876 0 0 -0.0245656 0 0.599369 0 0.844273 -0.84787 0 1.02878 -0.258307 -0.000746354 0 0.0456121 0 0 -0.0156632 0 -1.05154 0.347931 0 0 0.0474824 0 0 0.00717509 -1.4736 -0.291941 0 0.93583 0 -0.57174 -0.041284 0.0863605 -0.308237 -0.0864418 0.206541 -0.116059 -0.0502358 -0.116197 7.34368 0.0434629 0 0 0 -0.0219676 -0.00562555 0 0 0 0 0.0237057 -2.46604 -0.0999136 -2.09996 -0.226014 0.208116 -0.389822 -0.0244082 -0.0152117 0.0567459 -0.600482 0 0 0 0 0 0 +154 0 -1.29902 -0.136424 0 0 -0.383962 0.0161506 -0.516187 0.668912 0 -0.0586562 0 0.32569 0 -0.0749341 0 2.3554 4.38886 0.00670651 0 0.495418 6.40329e-05 0.0388702 0 -0.0223642 -0.0676997 0.954902 0.00220734 -0.553624 -2.01337 0.133508 0 0 0.724169 0.0298539 -0.272238 0 0.00571441 5.1106 0 0.490609 0 0.125542 0 -0.769593 0 0.35233 -0.996956 0 0 -2.24426 0.0378823 -5.98892 0 0 0 -0.508512 -0.0153994 0 0.00612253 0 0.741288 -0.966229 0.723891 -0.383686 0.0392235 0.584225 0.176881 -0.0328182 0 0.0989775 0.0225795 0 -0.0347818 -0.593269 0.151016 -0.104202 -14.6241 0.212165 -5.51873 0.00600846 0.184484 -3.5243 0.142712 -0.137902 0.0462201 0.185872 0 0 0 0 4.03347 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.383962 0 0.0161506 0 0 0 0 0.61004 0.0615238 0 0 -0.0935966 0 -0.0129077 0 0.001693 0 0 -0.47401 0 -0.392621 0.217456 -0.0157154 -0.0498141 0 0 0.0230978 0 -8.31347 0 6.06909 -0.327476 0 1.78825 0.785814 -0.00137417 0 0.0794723 0 0 0.00470281 0 -1.8231 -1.70182 0 0 -0.172227 0 0 -0.227611 0.292658 -0.45236 0 0.637026 0 -1.0735 -0.0269333 0.157043 0.219265 -0.115966 0.0557972 0.342403 0.0711766 -0.179884 11.8431 0.0611079 0 0 0 0.0548849 -0.0198276 0 0 0 0 -0.0452261 -34.851 0.482336 -9.47522 -0.45004 0.46243 -3.31977 0.0556702 -0.116262 0.153564 -1.10397 0 0 0 0 0 0 +155 0 0.800114 0.275992 0.000577443 0.0477473 -0.0623695 0.0409086 1.34206 1.86447 -0.000396984 0.318999 -0.014906 1.32549 2.62561e-07 2.79579 -0.00107475 0.813479 4.43676 0.110278 -0.00287531 4.87109 0.0135339 -0.0229138 -3.16419e-07 0.082419 0.513568 0.0538813 0.0109666 0.277981 1.21385 0.621766 -1.41593e-05 -0.0729363 0.106465 0.06594 0.337235 -0.000307641 0.00478267 -0.65031 -0.0406835 1.66777 1.21169e-05 0.160436 -0.000780065 5.7408 0.000372767 0.510025 0.599086 -0.198606 0.00262706 2.11953 0.0494643 6.27467 0.00297775 -0.000586539 -0.0106824 3.35788 0.171402 -0.0672561 -0.150553 -6.28651e-05 -2.09425 0.542125 -2.51794 0.377777 -0.113981 -1.3392 -0.499241 0.0836385 5.86563e-05 -0.328946 0.0940529 -0.0691827 -0.0191206 0.0184242 0.280446 0.0853174 2.42296 -0.206257 -2.3383 0.0758467 0.131342 -3.15403 -0.225354 0.147214 -0.269514 -5.16253 -7.73592e-07 5.64588e-05 -0.00199091 0.126206 -4.76322 0 0 0 0 0 0.000577443 0.0477473 0.000155902 0 0 0 0 3.35758e-06 0 0.00413863 0 0 4.52877e-05 1.24185e-05 0.000419205 0 5.79307e-05 -0.000464453 0.029938 0 0 -0.0598634 8.81483e-07 0 -0.000575934 -0.154828 0 0 -0.0090996 -0.0166777 0 -0.0221999 0 -0.000886077 0 0 -0.000130698 0 0 -0.0438781 4.77904e-05 0.000627766 0 0.00221267 0.00172797 0 0 -0.0270991 0 0.000346659 -0.0597838 -0.000470991 0 0 -1.07101e-05 -0.000231016 0 -0.000914172 -0.0230851 2.48954e-05 -0.224373 2.72036e-05 0.0127043 0 0.00165133 0.00315325 -0.0700998 1.49625e-05 0.0110489 0 0 0 0.0901548 0.00157274 -0.0216341 -0.00181928 0.00212422 0.0247558 -3.54165e-05 4.62416e-05 -8.43412e-05 -0.0126338 0 0 0 0 0 0 -0.0623695 0 0.0409086 0 0 0 0 -0.146732 0.464442 0 0 0.0469764 0 0.0121454 0 0.0132082 0 0 0.583301 0 -0.0534786 -0.0476049 0.0600557 0.0675339 0 0 0.117298 0 10.134 0 -4.45966 0.853225 0 -0.325727 -1.14684 0.00979824 0 -0.0208197 0 0 0.0525688 0 3.0117 1.27787 0 0 0.146672 0 0 0.387719 -5.79435 -0.236723 0 1.68233 0 -1.32791 0.195678 -0.129054 -0.10449 -0.274991 -1.41999 -0.408694 0.0405898 -0.117124 0.806715 0.034118 0 0 0 0.0773124 -0.0930722 0 0 0 0 -0.114904 25.6639 1.91364 2.09631 0.68601 -0.45489 2.07875 -0.124367 0.0583373 0.0285075 0.0757165 0 0 0 0 0 0 +156 0 -0.281009 0.0509406 0.000265455 0.0254225 -0.280664 -0.174513 0.48818 1.49004 0.00132839 -0.0421517 0.00600881 -0.988706 -2.31985e-07 -2.62877 -9.96031e-05 1.46806 2.58887 -0.00968149 8.07368e-05 -2.9757 9.00421e-05 -0.0411394 2.01075e-07 0.00904292 0.171415 0.582956 -0.0069955 0.140611 0.467151 -0.646854 1.62724e-05 0.00310424 0.143817 -0.0894779 0.0320971 1.71124e-05 -0.029848 1.59717 0.0270867 -1.21316 -2.01635e-05 -0.344679 0.000213482 -4.92202 -0.00174399 -0.518734 0.252836 0.0272622 -0.00099627 -1.24629 0.101355 -12.8225 -0.000741492 0.00117478 -0.0162822 -2.6076 -0.0479785 0.0144693 0.012606 2.74067e-05 0.838534 0.726744 0.630435 0.66518 0.0618107 0.0576096 -0.118327 -0.10294 -2.36073e-05 -0.0130266 0.00194021 0.00532228 0.0723266 1.48396 -0.304915 -0.217534 -3.70175 -0.699071 -1.38987 -0.34384 0.277926 -1.3987 0.00597289 0.0664615 -0.181298 -1.52199 3.61924e-06 -9.47475e-05 0.00293702 -0.035294 -1.83313 0 0 0 0 0 0.000265455 0.0254225 -0.00014164 0 0 0 0 -1.16543e-06 0 -0.00117142 0 0 4.48165e-05 -8.39314e-06 -3.35568e-05 0 -7.93281e-06 0.000183426 -0.00574793 0 0 0.0135901 -4.7735e-07 0 0.000121267 0.0174847 0 0 0.0014646 0.00938004 0 0.00804198 0 0.00014025 0 0 1.45639e-05 0 0 0.0331844 -1.68592e-05 0.000455678 0 -0.00204181 0.00223495 0 0 -0.00161656 0 3.93555e-05 0.00514135 -0.000311318 0 0 0.000469393 0.000271402 0 -0.00110461 0.00645017 -0.0016421 -0.0454273 1.5334e-05 0.00253615 0 -0.00203547 0.00232492 -0.00858346 -0.00392383 -0.00317426 0 0 0 -0.0306423 -3.5623e-05 0.006343 -0.000800825 0.00144108 -0.00553905 0.000102703 -7.91141e-05 -0.000108248 0.000423795 0 0 0 0 0 0 -0.280664 0 -0.174513 0 0 0 0 0.0152186 -0.13671 0 0 0.00956972 0 0.00242372 0 -0.0025722 0 0 -0.303178 0 -0.66281 0.148878 0.0241962 -0.0424973 0 0 -0.0172553 0 -6.09926 0 -0.519314 -1.1776 0 0.795718 -1.29919 0.00319253 0 0.0250522 0 0 -0.0171893 0 -2.62551 -0.634904 0 0 -0.0981686 0 0 0.406978 0.213252 -0.0633456 0 3.29681 0 -0.416531 -0.0568816 0.1364 0.0788142 -0.0402631 0.871494 0.0422893 0.0234453 -0.790799 13.095 0.0295071 0 0 0 -0.0587618 0.00666665 0 0 0 0 -0.00310564 -4.123 -0.878335 -1.7137 -0.975629 0.583691 0.284824 -0.0510728 0.0127526 0.026186 -0.480221 0 0 0 0 0 0 +157 0 -1.27742 -0.165432 0.00193992 0.100616 -0.418183 -0.305642 0.964621 2.5428 0.00941732 0.181254 0.0589487 -0.585357 -2.16531e-06 -0.504707 0.00237511 -0.857323 -3.7637 0.109447 0.00549574 -0.1173 0.0123377 -0.133636 2.64492e-06 0.0509729 0.675502 -0.321604 0.00400082 0.804298 2.49203 -0.447578 0.000160127 0.128165 0.201918 0.0654491 0.361274 0.00121794 -0.0657688 3.07987 0.164294 -0.823641 -0.000136246 -0.0636696 0.00320688 -0.691542 -0.00835493 -0.767948 1.48647 0.30201 -0.00649002 -1.75118 0.0542863 -2.90949 -0.00657249 0.00761996 -0.0999738 -0.474716 -0.1618 -0.140336 -0.0136837 0.000164577 -1.23157 -0.133375 0.0318713 -2.30765 0.0144321 -2.29119 0.11376 -0.0942399 -0.000167294 0.128488 0.0305897 0.116827 0.124023 -0.562473 -2.43982 0.0175764 -8.67858 -0.4042 -5.72715 -0.671428 0.431325 -7.48439 -0.233528 0.0711963 -0.0456884 -7.47092 1.73387e-05 -0.000489736 0.0138068 -0.227123 -9.77888 0 0 0 0 0 0.00193992 0.100616 -0.00144014 0 0 0 0 -3.03125e-05 0 -0.00297404 0 0 -0.000211628 -0.000118588 -0.000206406 0 -2.91454e-05 0.000717842 -0.0195621 0 0 0.0855077 -8.15541e-06 0 -0.000429779 -0.0127491 0 0 0.00832696 0.0224612 0 -0.00175842 0 0.00160841 0 0 0.000145198 0 0 -0.0544749 -0.000432565 -0.00329283 0 -0.0205936 -0.00702696 0 0 -0.00960708 0 -0.00273055 0.0146552 0.00305021 0 0 0.00121239 0.00237352 0 0.00274944 0.0321212 -0.00377436 -0.00722377 0.00178699 -0.00263611 0 -0.0095204 -0.00176714 -0.0080812 -0.0101784 -0.00741271 0 0 0 0.115252 -0.00816578 0.0341741 0.00891674 -0.00952507 0.000988334 0.000492422 -0.000511636 0.000330093 0.00454034 0 0 0 0 0 0 -0.418183 0 -0.305642 0 0 0 0 -0.262233 -0.196073 0 0 0.0123495 0 0.0112488 0 -0.00241557 0 0 0.00659624 0 0.558085 0.0653638 0.0722061 0.00823718 0 0 -0.0190058 0 0.708797 0 3.9445 -0.155685 0 0.619563 0.908834 0.00964533 0 -0.0353194 0 0 -0.015939 0 0.349991 0.0572815 0 0 0.0292241 0 0 -0.220198 0.828616 -0.230628 0 -1.85583 0 0.565033 -0.0645186 0.12827 -0.0337263 0.0657017 -0.0198597 -0.0465071 -0.0635698 0.185586 -4.74841 -0.0377201 0 0 0 0.0161165 0.0157729 0 0 0 0 0.00202181 -25.5736 -1.2026 -4.16741 -0.656448 0.491031 -1.97577 -0.139297 0.0234524 0.0826805 -0.457297 0 0 0 0 0 0 +158 0 0.0236418 0.353064 0.121243 0.261902 -0.252012 -0.24105 0.168475 2.59353 0.614556 -2.30464 -0.0358988 -0.0908653 -0.049003 -0.131916 0.0557178 1.91959 5.50986 -0.366412 0.143149 0.728205 -0.0328483 -0.40616 0.0632349 -0.618615 0.579739 0.747172 0.357817 0.259171 1.20484 -0.0431648 0.218817 0.118684 -0.674542 1.08153 0.0504078 0.0322422 0.851557 -0.373716 0.0866678 0.0889859 -0.170215 3.08124 0.127324 -0.534781 -0.479612 -0.165534 0.540521 0.568844 -0.207861 1.08635 -1.14969 -1.67802 -0.214938 0.196531 -0.271812 2.02477 0.0730247 0.0825571 0.951805 0.263774 0.941494 0.0695215 2.71821 -3.54796 -1.39088 0.559134 2.372 1.21165 -0.285395 2.11542 0.0435102 -0.132147 -1.15565 1.08215 0.175584 -1.96578 5.75848 7.06797 -9.20219 1.98067 -1.76243 -1.75038 1.76762 -1.82642 3.08911 -4.78624 0.56522 -0.472552 0.32907 0.871061 -5.22029 0 0 0 0 0 0.121243 0.261902 0 0 0 0 0 0 0 0.0283327 0 0 0 0 0.0869431 0 0.0123198 0.0108684 0.194698 0 0 0.00883448 0 0 -0.0681279 0.28491 0 0 -0.00828211 0.0469095 0 -0.0316768 0 -0.0247021 0 0 -0.00870181 0 0 0.286324 0 0 0 0 0 0 0 -0.0799866 0 0 -0.206075 0 0 0 0 0 0 0 0.104908 0 0.769713 0 0.0131415 0 0 0.0643731 0.353092 0 0.0921795 0 0 0 -0.523212 0 -0.230059 0 0 -0.134064 0 0 0 -0.0810579 0 0 0 0 0 0 -0.252012 0 -0.24105 0 0 0 0 -0.00750811 0.749959 0 0 -0.293515 0 -0.0353457 0 0.00263224 0 0 0.0396058 0 0.473994 0.0220463 -0.00298695 0.00642713 0 0 0.012125 0 -0.67863 0 2.64764 -0.149566 0 0.25474 1.34226 -0.00207603 0 -0.00356908 0 0 0.0831481 0 -0.341139 -0.898704 0 0 -0.0773618 0 0 -0.327115 -0.94379 0.114307 0 -0.321594 0 0.0816425 0.061497 -0.0693996 0.0269099 -0.0324685 -0.157356 0.0176721 0.0227044 -0.179305 -0.927843 0.0102126 0 0 0 0.167466 0.00522887 0 0 0 0 -0.180352 -19.2829 0.918456 -4.26404 -0.0364713 0.298263 -2.00811 0.0673564 -0.027734 0.119802 -0.200448 0 0 0 0 0 0 +159 0 -1.0425 -0.42706 -0.0680125 -0.0887788 -0.135886 0.184293 -0.136377 -0.567282 -0.412904 1.20176 0.139726 0.857253 0.0278627 1.42047 0.050058 -0.874003 -3.8379 0.270892 0.0431236 0.895786 0.0769996 0.305789 -0.0360472 0.454577 -0.214982 -0.320548 0.0165635 -0.2367 -0.687318 0.253804 -0.131206 0.322656 1.10403 -0.219001 -0.00753527 0.00738572 -0.0811394 5.26112 -0.0216101 0.298043 0.0995304 -1.68671 -0.0642186 5.05374 0.298561 0.250461 -0.495561 0.245946 0.130096 -0.83202 0.554489 5.15672 -0.0871306 0.0719109 -0.237405 2.36177 0.159639 0.0922824 -0.621076 -0.170159 0.42368 -0.0455363 1.08462 2.06759 0.912207 0.174793 -0.776117 -0.306359 0.194047 -0.664924 -0.209726 0.110099 0.401338 0.993753 0.765301 2.04473 -20.2868 -5.92165 0.034791 -4.3761 2.60261 -3.90116 -1.31964 0.927868 -1.06088 0.505848 -0.351853 0.27511 -0.241797 -0.5572 2.97798 0 0 0 0 0 -0.0680125 -0.0887788 0 0 0 0 0 0 0 -0.00652003 0 0 0 0 -0.0397283 0 -0.0048914 0.0227655 -0.0598304 0 0 0.293969 0 0 0.0644192 0.761927 0 0 0.0459696 0.132009 0 0.116465 0 0.0784766 0 0 0.0140309 0 0 0.422577 0 0 0 0 0 0 0 0.119397 0 0 0.23169 0 0 0 0 0 0 0 0.162479 0 1.83847 0 -0.057711 0 0 0.00750411 0.602863 0 -0.00532705 0 0 0 -0.757562 0 -0.0180205 0 0 -0.211303 0 0 0 0.0258952 0 0 0 0 0 0 -0.135886 0 0.184293 0 0 0 0 0.186028 -0.494064 0 0 -0.0822416 0 0.00601411 0 -6.38946e-05 0 0 -0.120706 0 -0.0476054 0.0438026 -0.0947034 -0.0125475 0 0 0.0306378 0 -0.00536623 0 2.62276 0.214313 0 0.384835 0.357678 -0.00541714 0 0.022264 0 0 -0.0635324 0 0.280269 0.809969 0 0 0.0932974 0 0 0.192382 -1.02397 0.320867 0 -0.572325 0 0.0345827 0.00902172 -0.128932 -0.186305 0.0312945 0.33028 -0.279912 0.0207689 0.983162 2.69196 0.0117583 0 0 0 -0.133029 -0.0238062 0 0 0 0 0.208841 -12.8521 0.0303149 -2.33528 -0.462936 0.447489 -1.24105 0.0285407 -0.0272588 0.130486 -0.330785 0 0 0 0 0 0 +160 0 -1.1838 -0.585628 -0.0151131 -0.0270864 -0.231741 -0.147699 0.268086 2.58805 -0.0831244 -0.00729962 -0.165829 -0.823936 0.00614407 -1.43055 -0.073122 -2.46566 -10.5703 -0.0172534 -0.175077 0.391257 -0.0746131 0.321855 -0.00793732 -0.0684073 0.303386 -0.827064 -0.27857 0.0775831 1.36583 -0.389999 -0.0280848 -0.346353 1.63025 -0.527188 -0.0601437 -0.0379269 -0.881819 8.2111 -0.460393 -0.0224471 0.0216046 -2.04267 -0.105178 -3.8403 0.0626075 -0.0367633 0.284778 -0.861827 0.238609 -3.76589 0.711066 4.82064 0.264664 -0.24588 0.14222 2.0716 0.530788 0.141111 0.0510732 -0.0350023 -1.4964 -0.429628 -0.624125 -0.794709 1.96595 0.585749 1.25855 -0.985987 0.0388221 0.964386 -0.324643 -0.569658 0.902304 -0.0118638 0.30107 1.79263 -41.9444 -3.08127 -11.3318 -3.90897 5.89525 -17.8828 0.203357 0.328254 -0.932152 -4.35864 -0.0737826 0.326305 -0.940444 2.19768 -5.91781 0 0 0 0 0 -0.0151131 -0.0270864 0 0 0 0 0 0 0 0.017906 0 0 0 0 0.0136245 0 0.00278106 -0.124656 0.0979516 0 0 -0.324402 0 0 -0.0186388 -2.01972 0 0 -0.0222861 -0.513328 0 -0.0645435 0 -0.0610187 0 0 -0.00346992 0 0 -0.0164044 0 0 0 0 0 0 0 -0.0849474 0 0 -0.155532 0 0 0 0 0 0 0 -0.0268239 0 0.189362 0 -0.00479269 0 0 0.107197 -0.01724 0 0.076974 0 0 0 0.0337864 0 -0.0907304 0 0 0.00418054 0 0 0 -0.0410539 0 0 0 0 0 0 -0.231741 0 -0.147699 0 0 0 0 0.276284 -0.397666 0 0 0.29161 0 0.0377344 0 -0.00783976 0 0 0.396206 0 0.49995 0.123438 0.0936609 0.0418773 0 0 -0.103396 0 0.31821 0 5.44454 0.0587871 0 0.827172 1.58098 0.0112165 0 0.0429821 0 0 -0.0358631 0 0.431885 0.458309 0 0 0.0243016 0 0 0.259898 -4.84205 0.231277 0 0.546455 0 -0.931905 0.0454692 -0.142819 0.0132216 -0.219124 -0.367632 -0.300723 0.0622326 -0.175872 -0.24362 0.183638 0 0 0 -0.104606 -0.079126 0 0 0 0 0.0882244 -47.913 -1.22348 -10.7492 -0.660016 0.516825 -3.60282 -0.144949 0.0540945 -0.0737943 -0.656445 0 0 0 0 0 0 +161 0 0.339586 -0.315958 0.00334335 0.109568 -0.182859 -0.113729 0.32791 0.953143 0.017526 0.249747 0.0969979 -1.05718 -9.74574e-06 -1.57009 0.000577854 -2.55712 -9.7042 0.0647212 -0.00165103 -5.00417 0.0085207 0.147495 1.24865e-05 0.0865982 -0.0289811 -0.801007 -0.00760015 -0.393726 -1.98242 -0.219845 0.00048311 0.0560741 0.250278 -0.0346601 -0.00854074 0.00275031 -0.112019 0.867342 0.18614 -2.38274 -0.000388422 -0.505886 0.00524046 -4.61538 -0.0147019 -0.93624 -0.931895 0.0128785 -0.00995073 -1.91272 0.158874 -1.06753 0.00348937 -0.00336638 0.0194019 -2.07287 -0.0485194 0.00462186 -0.0787012 0.000560246 -1.17194 2.57475 0.201508 -0.388988 0.286732 -0.717775 0.095072 -0.145903 -0.000574166 0.119912 0.0813956 0.133517 0.128877 -0.89841 -0.294997 0.635963 -1.1574 -0.502112 -1.74253 -0.278588 0.266475 -0.628696 -0.193464 0.11173 -0.247847 -1.12282 8.73753e-05 -0.00121786 0.0186818 -0.251579 3.44947 0 0 0 0 0 0.00334335 0.109568 0 0 0 0 0 0 0 0.000224801 0 0 0 0 0.000376616 0 2.59141e-06 0.00073986 0.0105359 0 0 -0.0556317 0 0 -0.00211737 -0.149011 0 0 -0.00832397 0.00299105 0 -0.0268688 0 -0.00205912 0 0 -0.000305137 0 0 -0.188126 0 0 0 0 0 0 0 -0.0406248 0 0 -0.0174256 0 0 0 0 0 0 0 -0.021773 0 -0.0590394 0 0.0221682 0 0 -0.0164296 -0.0599221 0 0.0305825 0 0 0 0.342919 0 0.0209639 0 0 0.0888677 0 0 0 -0.0042665 0 0 0 0 0 0 -0.182859 0 -0.113729 0 0 0 0 0.499429 -0.339485 0 0 -0.224415 0 -0.0106783 0 -0.00974107 0 0 -0.928852 0 0.538463 0.211076 -0.0710118 -0.133128 0 0 -0.136331 0 -2.29106 0 0.0469392 0.133854 0 1.2489 0.484725 -0.00128658 0 0.0912542 0 0 -0.0272713 0 -0.510939 -1.80069 0 0 -0.26028 0 0 -0.51138 -2.49442 -0.542472 0 -2.76176 0 -0.428975 -0.0326172 0.143516 0.0434175 -0.121443 -1.29971 0.0437152 -0.0245688 -0.155176 -11.1334 -0.0367088 0 0 0 0.041528 0.0310395 0 0 0 0 0.00786053 -0.919146 0.949979 -3.66421 0.071842 -0.0019946 0.200887 0.0041682 -0.015354 0.122865 -0.631997 0 0 0 0 0 0 +162 0 0.782258 -0.186616 0.00179167 0.044879 0.0521036 -0.309429 0.412017 0.131424 0.0106277 -0.00922022 0.0159578 -0.584648 -5.32045e-06 -0.549376 -0.00111927 -2.20316 -7.58952 0.0068515 -0.00332321 0.122836 0.000137757 0.281976 6.93908e-06 0.0166131 0.293321 -0.869749 -0.000359139 0.860357 0.58672 -0.279873 0.000277948 -0.0439956 -0.184939 -0.00508664 0.360066 0.00063182 -0.0502974 -4.19552 0.0570828 -0.734562 -0.000205735 -0.070088 0.0019071 -2.17271 -0.00738553 -0.984127 0.795253 -0.123857 -0.00388652 0.108398 -0.0182997 5.23083 0.00371764 -0.00328559 0.0308421 1.42295 -0.0087179 -0.00653795 -0.0357228 0.000300933 -0.952964 0.544082 -0.487978 0.606945 0.0788561 -0.451601 -0.331763 -0.0814834 -0.000350921 -0.0649976 -0.00311775 0.0327345 0.0206978 0.303096 -0.778499 -0.274783 11.1914 0.580807 2.32638 0.498072 -0.783489 5.0024 -0.0635492 -0.0347057 0.111468 0.0371946 4.3893e-05 -0.000503556 0.00468206 -0.0231349 -1.02091 0 0 0 0 0 0.00179167 0.044879 0 0 0 0 0 0 0 0.000492775 0 0 0 0 0.000328621 0 1.7845e-05 0.000462572 0.0112348 0 0 -0.0420518 0 0 -0.0012956 -0.0632778 0 0 -0.00661617 0.0112654 0 -0.0291891 0 -0.00122042 0 0 -0.000192827 0 0 -0.130135 0 0 0 0 0 0 0 -0.0170851 0 0 -0.0345337 0 0 0 0 0 0 0 -0.0170564 0 -0.150126 0 0.0126856 0 0 -0.0076772 -0.0630611 0 0.0131044 0 0 0 0.255358 0 0.0047614 0 0 0.0448029 0 0 0 -0.00482835 0 0 0 0 0 0 0.0521036 0 -0.309429 0 0 0 0 -0.0557099 0.213835 0 0 0.0413666 0 0.00611653 0 0.00586372 0 0 -0.20499 0 0.676848 -0.0430183 -0.00221675 -0.0254472 0 0 0.0490537 0 -4.69358 0 -4.2097 -0.792317 0 -0.362617 -0.103743 0.00138708 0 0.000275402 0 0 0.0259423 0 -1.58984 -1.18941 0 0 -0.133153 0 0 0.208709 0.57351 0.216745 0 0.773286 0 0.582565 0.0621581 -0.054907 0.23795 -0.0611183 -0.110784 -0.270647 0.0535042 -0.191936 1.74939 -0.0104665 0 0 0 0.00228443 -0.0333688 0 0 0 0 -0.0458637 25.1243 0.878547 2.86341 0.495672 -0.499006 2.47426 -0.0790872 0.0498748 -0.0331487 0.215208 0 0 0 0 0 0 +163 0 0.172391 0.111339 0.000265754 0.0101964 0.0409577 0.0207388 -0.512615 -0.696363 0.00126028 0.0862341 0.00852795 -1.00141 -7.6415e-07 -1.8001 -8.91411e-05 -0.610195 -1.79047 -0.0258525 -0.000522508 -0.799614 -0.00166717 -0.386689 9.65892e-07 0.0187863 -0.358949 0.0348573 -0.0016075 0.00890994 -0.269708 -0.487841 3.63533e-05 -0.00166969 -0.532558 -0.0145704 -0.262105 0.000244615 0.00802231 -0.0803699 0.0246535 -0.056559 -3.11342e-05 0.0757172 0.000621212 -2.9819 -0.00122161 0.34665 -0.0935264 -0.0169242 -0.00112275 -0.749107 0.0117636 7.47484 0.00075964 -0.000761978 0.0145613 6.08398 -0.0293294 -0.0443985 -0.0404966 4.4457e-05 -0.32323 1.49755 -0.122115 0.517054 -0.0014 0.278429 -0.171137 0.0322113 -4.09926e-05 -0.149486 -0.0430107 0.0240455 -0.0458155 3.95716 -0.284134 -0.12068 -0.777459 0.0543001 -0.190395 -0.0672275 0.0363954 -0.647911 -0.084925 0.0247204 -0.131008 0.810196 7.26018e-06 -0.000128494 0.00186427 -0.0336436 0.4693 0 0 0 0 0 0.000265754 0.0101964 0 0 0 0 0 0 0 0.000939639 0 0 0 0 0.000136355 0 1.82711e-05 -0.000267845 0.00605101 0 0 -0.0221672 0 0 -0.00028268 -0.0892851 0 0 -0.00307064 -0.00938074 0 -0.00373906 0 -0.000542079 0 0 -7.53187e-05 0 0 -0.0111841 0 0 0 0 0 0 0 -0.00817641 0 0 -0.00715172 0 0 0 0 0 0 0 -0.00402342 0 -0.0485341 0 0.00196513 0 0 -0.000345973 -0.0169898 0 0.00195741 0 0 0 0.0183924 0 -0.00318931 0 0 0.00711525 0 0 0 -0.00250849 0 0 0 0 0 0 0.0409577 0 0.0207388 0 0 0 0 -0.187429 -0.112047 0 0 -0.0840651 0 -0.00977632 0 -0.00687592 0 0 -0.755016 0 -0.619723 -0.0572291 -0.0565057 -0.0731523 0 0 -0.0727554 0 -3.39346 0 -0.53055 -1.14873 0 -0.289454 -0.835984 -0.00623717 0 -0.0302292 0 0 -0.0109397 0 -2.40238 -0.846644 0 0 -0.0622977 0 0 -0.143113 -0.556674 -0.000578536 0 0.42625 0 0.446701 -0.0213417 0.0303095 -0.240056 -0.0123615 -0.976683 -0.198373 -0.0719156 0.114324 6.92862 -0.0185106 0 0 0 0.0604434 -0.0127501 0 0 0 0 -0.0265868 4.56623 0.463784 1.15123 0.0208962 0.0570036 -0.649003 -0.0448734 -0.0303319 0.0949772 0.00300722 0 0 0 0 0 0 +164 0 0 0 0 0 -0.750872 -0.197359 0.115565 2.33916 0 0 0.0980112 -0.277776 0 -1.06896 0.0332715 0 0 0 0.156427 1.14926 0 0 0 0 0.424114 0 0 0.268671 -3.08676 -0.344026 0 0.0593845 0 0 0.0801988 0.00634937 0 0 1.35763 0.348676 0 0 0.27858 -1.07948 0 -0.106177 -0.282514 0.337216 -0.395921 0.518964 -0.230338 0 -0.225826 0.17771 -0.273569 1.05284 0.135955 0.333577 0 0 -1.23736 -4.49913 0 -0.340152 -0.251053 0.00386248 0 0 0 0 -0.148293 0.977116 0 -0.839085 0.733347 0 0 0 -2.81254 0 -1.889 3.16758 0 -0.66642 0.161107 -1.66264 0 -0.743505 0.614856 -3.11722 9.9711 0 0 0 -0.288218 -0.0397015 0 0 0 0.0147945 0 0 0.00333691 0 0 0.011693 0 0 0 0 -0.0841865 0 -0.00936996 0 0.041762 0 0.067279 0.0250368 0 0.00495366 0 0 0.204564 0 -0.00996513 0 0 0 0 -0.00797922 0.0311411 0 -0.00435141 0 0 0 0 0 0 0 0 0 0 -0.0102403 0 0 0 0 0 0 0 0 0 0 -0.252411 0 0 0 -0.0547076 -0.0182576 0 -0.0366782 -0.252525 0 -0.0745294 0 -0.213874 0 0 0 -0.0172208 0 0 -0.19123 0 0 0 -0.0884346 0 0 0 0 -0.175667 0 -0.750872 -0.288218 -0.197359 -0.0397015 0.0774979 0.131906 -0.205434 0.358413 0.321449 0.0191455 0.0485723 0.596808 0.00233274 0.0938165 -0.0239206 -0.00156687 0.0429206 0.140602 -0.343242 0.0694648 0.16986 0.240106 0.228021 0.0272316 0.347746 -0.180499 0.0711863 0.027618 -1.71605 0.486869 2.04134 -1.10315 -0.00279534 1.33135 0.691771 0.0329691 0.00758102 0.0545178 0.0759375 -1.19137 0.00595067 -0.0310542 -2.3009 0.18261 0.00557409 0.0545531 0.232181 0.0905094 0.231479 -0.593189 1.47689 0.140967 -0.0809371 0.575167 0.00633099 0.608797 -0.216033 0.062363 -0.854978 0.0159446 0.554574 -0.413227 -0.448702 0.0130424 7.27299 0.119484 -0.66473 0.0393636 0.0402277 0.285649 -0.0954596 -0.092937 -0.00924729 0.0589833 -0.022651 -0.175335 -20.5462 -4.43966 -5.65688 -1.04132 -1.72284 4.05778 -0.196494 -0.285066 0.402201 -0.206 -0.0459738 -0.133621 0.227122 -0.564657 1.44715 0 +165 0 0 0 0 0 0.447365 0.475967 -1.70449 -4.06838 0 0 -0.249098 0.796549 0 0.000520222 -0.1399 0 0 0 -0.214469 3.24568 0 0 0 0 -0.920558 0 0 -0.846513 -3.89726 0.433842 0 -0.798392 0 0 -0.456801 -0.063285 0 0 -0.759831 1.20821 0 0 -0.244097 1.56671 0 0.819588 -1.52765 -1.03862 0.484063 -1.06902 0.845597 0 0.337426 -0.222692 -0.287439 -0.934685 -0.0377776 -0.279682 0 0 -1.62343 -0.738393 0 -0.430543 0.100252 -0.223666 0 0 0 0 -0.857235 -0.743979 0 -0.00722231 0.665426 0 0 0 7.46741 0 1.74165 5.39334 0 0.509463 1.55041 4.68759 0 0.443759 1.54621 -1.21223 10.0779 0 0 0 0.0399023 0.0196682 0 0 0 0.0178612 0 0 -6.91498e-05 0 0 -0.0165754 0 0 0 0 0.0160683 0 0.00384548 0 -0.0868132 0 0.232888 0.353923 0 -0.00649099 0 0 -0.26125 0 0.0451408 0 0 0 0 0.0356532 -0.0415361 0 0.00710531 0 0 0 0 0 0 0 0 0 0 -0.0211822 0 0 0 0 0 0 0 0 0 0 0.17112 0 0 0 0.0313786 -0.0316787 0 -0.120972 0.0114887 0 0.0281627 0 0.175236 0 0 0 0.0937847 0 0 0.247563 0 0 0 0.0506407 0 0 0 0 0.212066 0 0.447365 0.0399023 0.475967 0.0196682 0.347749 0.100771 0.175367 0.131909 -0.266788 -0.0203878 -0.00417461 -0.565193 -0.00268199 -0.0950396 0.0267346 -0.0350224 0.0187101 -0.125516 -0.00766213 0.185356 0.258914 -0.185527 -0.183553 0.00617885 0.107512 -0.135498 -0.333323 -0.00168183 -0.776494 -0.180728 1.78707 0.696138 0.00356187 -0.537178 0.849588 -0.0323092 -0.00340763 -0.00915805 -0.0284399 -0.813067 -0.00940668 -0.0182862 -0.203762 0.563364 8.10491e-06 -0.027372 0.0190126 -0.00515355 0.297566 -0.745772 -6.07816 0.141246 -0.125295 -2.00982 -0.0530142 -0.894748 0.0818311 -0.207506 0.399385 -0.0502482 -0.630206 -0.831814 0.0209999 0.116064 -3.72902 -0.288197 -0.999919 -0.0144282 0.0818061 -0.0737248 0.22215 0.0500887 0.0468936 -0.0567958 -0.0758333 -0.0190086 -17.9869 1.58702 0.868583 0.339492 1.04251 1.54855 0.180711 0.0276004 0.585386 0.407667 0.0410409 -0.00212634 0.219735 -0.122895 0.929237 0 +166 0 0 0 0 0 -0.33427 0.0498883 0.571309 1.63144 0 0 -0.0277652 0.797054 0 1.88502 -0.0043754 0 0 0 -0.0107258 -0.352191 0 0 0 0 0.143889 0 0 0.152817 5.82146 0.518693 0 -0.00559066 0 0 -0.0108612 0.00234693 0 0 -0.488027 0.760866 0 0 -0.0396184 2.50123 0 0.664491 1.26772 0.00320115 0.130147 0.903897 0.169173 0 0.0305259 -0.120599 0.254757 0.928419 0.726677 -0.221549 0 0 0.0553402 3.01113 0 0.562932 0.128102 -0.864281 0 0 0 0 0.105169 0.166953 0 -1.07421 -1.68825 0 0 0 -3.29984 0 0.0139151 -7.33123 0 0.0527709 -1.93282 -3.10662 0 0.344363 -2.31502 4.71525 -20.3364 0 0 0 0.0425123 0.00454843 0 0 0 0.00620027 0 0 5.46011e-05 0 0 0.000795371 0 0 0 0 -0.0121909 0 -0.000887321 0 0.0122266 0 0.122009 0.26714 0 0.00103501 0 0 0.0586685 0 0.0221522 0 0 0 0 0.0898577 0.00854911 0 0.00785127 0 0 0 0 0 0 0 0 0 0 -0.00729007 0 0 0 0 0 0 0 0 0 0 -0.0446979 0 0 0 -0.0277049 -0.0276015 0 0.0761857 -0.0902695 0 -0.0315944 0 -0.00262758 0 0 0 -0.0152493 0 0 -0.05158 0 0 0 -0.00916596 0 0 0 0 -0.0623769 0 -0.33427 0.0425123 0.0498883 0.00454843 -0.661963 -0.0973685 0.0167455 -0.363621 0.659995 -0.00118744 0.00661279 -0.106068 -0.000126424 -0.00895207 0.00136719 0.0227572 0.0197151 -0.0109542 0.146567 -0.67955 0.204403 0.113293 0.0271954 0.0655509 0.0980992 0.310442 0.29135 -0.00857911 5.10873 -0.391658 -0.626702 0.794902 0.000119385 0.342811 -0.232523 0.00037544 -0.00649185 -0.0345029 -0.063421 2.07954 0.0593723 0.0426946 2.01939 -0.153166 0.00161281 -0.0411464 0.0881853 -0.0655355 -0.108916 0.50041 5.36633 0.125447 -0.070187 1.32324 0.00387665 1.57014 0.0594112 0.405395 -0.0305789 -0.00155135 1.97281 0.709811 0.184157 0.508445 6.71866 0.119635 0.576616 -0.0295597 -0.356746 -0.122072 -0.00950072 0.0938972 -0.00284453 0.0534273 0.0963824 0.00662694 6.30777 0.974712 -1.44552 0.157586 1.32872 -7.47673 0.0250479 0.298713 -1.15501 -0.576545 0.00358178 0.185613 -0.610824 0.893288 -2.52842 0 +167 0 -1.37893 -0.466003 -0.0447667 -0.255434 0.286479 -0.0680473 -0.738 -1.89357 -0.295993 1.4855 -0.309345 0.388088 0.00496551 1.69341 0.0188356 -0.248593 -0.761461 0.179257 0.0434313 0.698272 0.0369711 0.422874 -0.00636838 0.317379 0.0280556 -0.409612 0.0601632 0.353013 0.368548 0.208285 -0.0465281 0.0095741 1.13157 0.154826 0.125747 -0.0363707 0.147282 5.12727 -0.432386 0.134535 0.0374801 -0.0757516 -0.0550587 2.60652 0.251271 -0.205211 0.433692 0.122873 0.14757 0.281473 0.768446 2.33439 -0.0813201 0.0775314 0.0669163 -2.33948 -0.280907 0.240302 -0.460672 -0.0747918 1.9177 -1.84696 -0.474474 0.048496 -0.332093 -0.174493 -0.285009 0.184469 0.0754577 -0.999797 0.485563 -0.123467 -0.12397 -2.26533 -0.6934 -0.0742275 -16.3814 -5.61454 2.67937 -2.81926 2.13595 -4.77505 -0.740001 0.646382 -1.55344 2.011 -0.0931052 0.117312 -0.309485 0.469633 -0.707567 0 0 0 0 0 -0.0447667 -0.255434 0 0 0 0 0 0 0 0.0197369 0 0 0 0 0.0281216 0 0.00387563 -0.0196586 0.14426 0 0 0.00212441 0 0 -0.0208523 -0.372046 0 0 0.0126523 -0.0877432 0 -0.0461016 0 0.00100349 0 0 0.00255986 0 0 0.157827 0 0 0 0 0 0 0 -0.0630538 0 0 -0.0652096 0 0 0 0 0 0 0 -0.063274 0 -0.325726 0 0.0175122 0 0 -0.0277446 -0.188559 0 -0.00911789 0 0 0 -0.278051 0 -0.164956 0 0 -0.0834091 0 0 0 -0.0603508 0 0 0 0 0 0 0.286479 0 -0.0680473 0 0 0 0 -0.0627843 -0.654145 0 0 0.819244 0 0.0870021 0 -0.0257847 0 0 0.264897 0 1.11161 -0.122372 0.274842 0.0245182 0 0 -0.275732 0 -3.47382 0 6.06183 0.3031 0 -0.686131 2.5658 0.0270768 0 -0.0282585 0 0 -0.0599884 0 0.14879 -0.160539 0 0 -0.0279804 0 0 -0.054511 -5.68479 0.123257 0 -1.16701 0 -0.826199 0.115946 -0.243504 -0.772629 0.118349 -0.0774503 -0.589177 0.00931799 0.236455 -6.50953 -0.0551639 0 0 0 -0.158802 -0.0789879 0 0 0 0 0.175229 -52.9569 -7.54282 0.867031 -1.2259 0.855096 -2.828 -0.194526 0.151924 -0.423733 0.419407 0 0 0 0 0 0 +168 0 0.659004 -0.10701 0.0292821 0.105828 0.0797816 -0.254599 0.46905 0.659831 0.245543 -0.931013 0.105396 -0.62388 -0.00334526 0.389937 -0.0129734 -0.807181 -3.10031 -0.177084 -0.05358 1.24136 -0.0324979 0.0859821 0.00435887 -0.230974 0.261389 -0.288982 -0.029315 0.572103 0.0987465 -0.25939 0.0340876 -0.0771357 -0.249039 -0.0745013 0.278133 0.0100658 -0.0397628 -1.93841 0.266947 -0.13505 -0.0252074 0.0854946 0.0312969 -0.639339 -0.16669 -0.65377 0.390038 -0.419365 -0.0822776 0.806152 -0.396252 -1.62788 0.0845159 -0.0844657 -0.0306876 2.6657 0.209056 -0.222745 0.329385 0.0543968 -0.608672 1.49073 0.802279 1.04283 0.154109 0.120143 -0.651998 -0.277166 -0.0643667 0.876327 -0.358369 0.0983731 -0.0763598 1.6179 0.229917 0.187234 7.81231 3.9325 -2.50545 1.50474 -1.0832 1.74408 0.514304 -0.402449 0.8953 -0.940733 0.0617646 -0.074138 0.141717 -0.241631 -0.189581 0 0 0 0 0 0.0292821 0.105828 0 0 0 0 0 0 0 -0.0106708 0 0 0 0 -0.0174966 0 -0.00225668 0.00843237 -0.0827231 0 0 -0.0639805 0 0 0.0194301 0.110093 0 0 -0.0174379 0.0286526 0 0.0482337 0 -0.0115885 0 0 -0.00335443 0 0 0.104784 0 0 0 0 0 0 0 0.073924 0 0 0.0483519 0 0 0 0 0 0 0 -0.0385962 0 -0.684387 0 -0.0349714 0 0 0.00690145 -0.162925 0 -0.115878 0 0 0 -0.175359 0 0.0553369 0 0 -0.0638693 0 0 0 0.0345114 0 0 0 0 0 0 0.0797816 0 -0.254599 0 0 0 0 0.296398 0.601843 0 0 -0.324724 0 -0.0345757 0 0.0176069 0 0 0.302896 0 0.498664 0.0531564 -0.173104 0.038823 0 0 0.151144 0 2.33161 0 -0.679838 -0.0408474 0 0.186127 0.450834 -0.0124 0 0.0483017 0 0 0.0600252 0 1.18273 -0.249794 0 0 -0.0232992 0 0 -0.0117846 4.84256 0.0768037 0 1.0711 0 0.916073 -0.038863 0.0870883 0.350923 0.0481497 0.331742 0.343289 -0.0395099 -0.418115 1.9953 -0.0133595 0 0 0 0.123231 0.062902 0 0 0 0 -0.13676 10.2461 3.37388 -2.27098 0.353203 -0.258489 0.468389 0.036003 -0.0360685 0.191883 -0.148323 0 0 0 0 0 0 +169 0 -1.08753 -0.23788 7.20825e-05 0.00636075 -0.379624 -0.152321 -0.276502 1.01948 -0.00456769 -0.594547 -0.0746064 -1.11253 1.455e-06 -1.60694 0.000947603 -1.82879 -7.30796 -0.0815627 -0.00790359 -1.75093 -0.00616483 -0.181014 -8.51988e-06 -0.030752 0.0902317 -0.430353 -0.0086731 -0.159424 -0.908042 -0.456055 -0.000279936 0.00648075 -0.295957 -0.0442393 -0.0785965 -0.00710496 -0.0721482 0.430684 -0.218663 -1.20361 6.81752e-06 -0.38729 -0.0212326 -3.70082 -0.000178064 -0.715008 -0.48075 -0.0873837 0.056082 -1.09875 0.037507 5.09373 0.0079562 -0.0147252 -0.262913 2.45148 -0.903941 -0.652088 0.125491 -0.000411382 -0.923024 3.32657 0.766448 -0.382258 0.178383 0.00189376 -0.0532848 -0.232777 0.00133639 0.478021 -0.342018 -0.266117 0.0176074 3.17369 0.780368 -0.426809 -3.3401 0.452688 -2.90284 0.104709 -0.162857 0.66433 0.260469 -0.475262 1.62891 -2.36795 6.59794e-05 0.040485 0.168402 0.0754523 1.74333 0 0 0 0 0 7.20825e-05 0.00636075 0 0 0 0 0 0 0 0.00945441 0 0 0 0 0.00547028 0 0.000934463 0.0227815 0.054713 0 0 0.141278 0 0 -0.00626315 0.760701 0 0 0.0125503 0.152749 0 -0.0293304 0 0.0144033 0 0 0.0013085 0 0 0.00663491 0 0 0 0 0 0 0 -0.0441894 0 0 -0.0797589 0 0 0 0 0 0 0 0.00268009 0 -0.144509 0 0.00146818 0 0 -0.0484243 -0.0219886 0 0.0315076 0 0 0 -0.015752 0 -0.0512377 0 0 0.000226293 0 0 0 -0.0230527 0 0 0 0 0 0 -0.379624 0 -0.152321 0 0 0 0 0.542234 -0.407322 0 0 -0.354494 0 -0.0413207 0 -0.0126487 0 0 -0.534045 0 0.0152868 0.152327 -0.0762073 -0.103713 0 0 -0.205063 0 -8.21343 0 3.06047 -0.726437 0 1.53588 0.716197 -0.00753272 0 0.0544279 0 0 -0.0202309 0 -2.40408 -1.53865 0 0 -0.264 0 0 -0.042333 1.51729 -0.715738 0 -0.964443 0 -0.444008 -0.11823 0.200322 0.310933 -0.24228 -0.44389 0.349137 0.0829949 -1.46261 -6.55216 0.0855144 0 0 0 -0.187115 0.0575866 0 0 0 0 -0.116995 -28.2757 0.219314 -9.19859 -0.196693 0.00218135 -1.67707 0.24975 -0.254881 0.299455 -0.929783 0 0 0 0 0 0 +170 0 0 0 0 0 0.0517455 0.00882616 0.208379 -0.208067 0 0 -0.114978 0.605077 0 1.57026 -0.0513957 0 0 0 -0.0328071 -1.24158 0 0 0 0 0.121412 0 0 0.426998 2.24486 0.133267 0 0.290408 0 0 0.0931503 -0.0493745 0 0 -1.54859 0.399429 0 0 -0.454376 4.458 0 0.202292 0.831175 1.61 0.846716 -1.66933 0.114507 0 0.606343 -0.0136235 0.287128 -0.0773819 -0.0417352 -0.615391 0 0 0.786531 -1.62993 0 -0.651971 0.919704 -0.294002 0 0 0 0 0.400428 -0.849121 0 -0.32055 -1.21155 0 0 0 0.563945 0 1.86355 -3.22482 0 0.716445 -0.342838 -0.93837 0 1.7604 -1.48131 2.79763 -5.10653 0 0 0 0.26784 0.0788471 0 0 0 -0.0544833 0.0263629 0 -0.00704016 0 -0.00675549 -0.0858068 0 0 0 0 -0.0388431 0 -0.0305045 0 -0.208289 0 -0.400323 -0.866428 0 -0.0114814 0 0 -0.251471 -0.00145005 -0.160543 0 -0.00201919 0 0.00127556 -0.338739 -0.054242 -0.0251651 -0.0615311 0 -0.000376885 0 0 0 -0.000121812 0 0 0.00276454 -0.00202591 -0.0486601 0.0124184 0 0 -0.0173786 0 -0.00615343 0 0 0.0569624 -0.0185914 -0.0571504 -0.00666949 0 0 -0.0898613 -0.0481689 -0.0108041 -0.175148 -0.104799 0 -0.175461 -0.0147181 -0.387558 0 0 0 1.28269 0 0.0913173 0.788013 0 0.00790417 0.0643517 0.060608 0 0.000828254 0.00678319 0.00819409 0.0680646 0 0.0517455 0.26784 0.00882616 0.0788471 -0.233058 -0.137176 0.606015 0.157075 0.141006 -0.0877987 0.0297342 -0.407673 -0.018659 -0.07089 0.117106 -0.0362248 0.0188819 -0.333026 0.595831 -0.958639 0.0520581 -0.0160979 -0.213698 0.0755635 0.315812 0.0948828 -0.0309507 -0.0208204 -0.966365 -0.267351 -0.0418946 -0.618945 0.0207097 0.201354 -0.0481825 -0.0289338 -0.00168118 0.00312158 -0.0426662 0.572193 0.0184416 0.0163726 -0.628577 1.15697 -0.0009484 -0.00134107 0.135128 -0.154039 0.00228551 -0.291349 1.79224 -0.701917 0.126895 0.414458 -0.153924 -1.19618 -0.0453418 0.252413 0.112422 -0.0660349 0.267794 0.860756 -0.126592 1.53764 3.5856 -0.0460253 0.0293212 -0.14319 -0.203773 0.140208 0.143249 0.0288365 0.184112 -0.159708 0.0774532 0.533354 0.205906 1.02956 -0.19429 0.843714 0.614005 -1.47133 0.466853 -0.0347294 -0.278929 -0.0379561 0.402603 -0.00437482 -0.264625 0.357494 -0.43672 0 +171 0 0 0 0 0 -0.652281 -0.414892 1.05681 3.25227 0 0 0.1214 -0.205098 0 -0.265988 0.079307 0 0 0 0.294674 2.74187 0 0 0 0 0.842839 0 0 0.947367 0.170949 -0.483796 0 0.381199 0 0 0.432973 0.00952547 0 0 1.30622 -0.228825 0 0 0.350952 1.78189 0 -0.691223 0.769329 0.775543 -0.607616 0.843077 -0.529337 0 -0.141462 -0.0849869 -0.147265 1.32107 0.0708954 1.07557 0 0 -0.0736127 -1.97403 0 -1.09629 -0.645842 -0.460995 0 0 0 0 -0.302431 0.944321 0 1.39661 -0.0395862 0 0 0 -4.72116 0 -1.67261 -0.675027 0 -0.927566 0.190544 -4.60756 0 -1.58063 -0.0117598 -1.05545 -0.454289 0 0 0 -0.203941 -0.022613 0 0 0 0.117997 -0.0142777 0 0.0183689 0 0.00337003 -0.0334786 0 0 0 0 -0.106404 0 -0.0256774 0 -0.0463887 0 0.744784 0.539538 0 0.0033942 0 0 0.239101 0.00168969 0.0715919 0 -0.00728821 0 -0.000859258 0.151523 0.0309192 0.0298994 0.0218302 0 0.000204525 0 0 0 -0.000388364 0 0 -0.00521287 -0.0043473 -0.606264 -0.0139754 0 0 -0.0221394 0 -0.00111148 0 0 -0.0181594 -0.0547604 0.234502 -0.0475696 0 0 -0.0767861 0.0803923 -0.011242 0.188718 0.0662418 0 -0.369015 -0.00604439 0.277391 0 0 0 -0.687293 0 -0.144977 -0.223373 0 -0.0137023 0.000819253 0.0610418 0 -0.00140078 -0.000235906 -0.00237437 -0.122089 0 -0.652281 -0.203941 -0.414892 -0.022613 0.0826453 0.00762266 -0.169818 0.282013 -0.24035 -0.00764147 0.0472605 0.0363528 -0.00189861 0.0140674 -0.00183539 0.0106579 0.0225956 -0.0360172 0.801219 -0.243882 0.0339848 0.176437 0.0378228 0.151575 0.196142 -0.0454959 0.290793 -0.014245 2.30206 0.25004 0.840188 -0.80971 0.00288212 0.819629 0.231324 0.0142679 0.00377671 0.0897455 0.0553295 -0.335554 -0.0612063 -0.000682163 0.547988 1.47713 0.00554931 0.017546 0.212348 -0.0870984 0.286731 -0.695084 1.57248 -0.986646 -0.19219 -3.59161 0.0423314 -0.9105 -0.61769 0.582391 0.135852 -0.277804 -0.394431 -0.197257 -0.0804706 3.07613 -1.51967 0.0120304 -0.512521 -0.0500783 -0.0920405 0.247974 0.068216 0.0269801 0.0439104 -0.145028 0.0674021 0.374716 -4.12942 -0.645457 -3.05633 -0.419352 -0.097625 -0.614774 0.00186594 -0.0260665 -0.0479102 -0.790178 0.0435421 -0.0874248 -0.0567083 -0.0356276 -0.071858 0 +172 0 0 0 0 0 -0.00940225 -0.120923 0.188108 -0.0482217 0 0 0.728356 -1.10461 0 -2.0821 0.122314 0 0 0 0.00900897 -2.04118 0 0 0 0 -0.0301658 0 0 -0.223767 -3.58637 -0.452052 0 0.218124 0 0 0.0633708 0.112412 0 0 1.64035 -1.82689 0 0 0.332297 -5.00457 0 -0.830025 -1.13721 -0.855523 -0.906787 0.702057 -0.137956 0 0.243132 0.313393 -0.0643275 2.9656 1.08015 0.91356 0 0 0.424366 2.21166 0 1.04866 -0.918681 0.321666 0 0 0 0 0.48156 1.66809 0 2.39471 -0.789452 0 0 0 1.21501 0 -1.63866 6.39354 0 -0.631827 1.17168 2.37437 0 -1.06858 1.51402 -3.06035 9.18541 0 0 0 -0.155772 -0.072294 0 0 0 0.130954 -0.0568568 0 0.0171583 0 0.00791973 0.0932243 0 0 0 0 0.122677 0 0.0370515 0 0.340369 0 0.973544 0.484096 0 0.010994 0 0 0.25894 0.00191004 0.123765 0 -0.00320119 0 -0.00279253 0.154583 0.0519738 0.0318718 0.0387994 0 0.000456064 0 0 0 -0.00014198 0 0 -0.0064305 0.000260919 -0.431629 -0.0217307 0 0 0.0279213 0 0.00870659 0 0 -0.0552562 -0.0130884 0.499338 -0.014734 0 0 0.0994797 0.029155 -0.0709056 0.015586 -0.07366 0 0.222092 0.017346 0.409596 0 0 0 -2.00497 0 -0.152427 -0.802077 0 -0.0143564 -0.0647084 -0.0715502 0 -0.00146903 -0.00703594 -0.00845043 -0.0189968 0 -0.00940225 -0.155772 -0.120923 -0.072294 0.346757 0.127245 -0.109639 0.0321817 -1.44648 0.134661 -0.144516 0.0451235 0.0238782 0.00849687 -0.0655747 -0.0921828 -0.132615 0.718888 -0.0417071 2.32726 -0.206063 -0.0367171 -0.431937 0.0107565 -1.104 -0.0653149 -0.668539 0.0522695 -0.903189 -0.18751 0.100019 -0.219291 -0.0156709 -0.547985 -0.219598 -0.0670516 -0.00993669 0.0246015 -0.0362359 -0.453095 -0.253621 -0.0106338 -0.696295 -0.0078584 -0.0173226 -0.0611689 0.0522462 0.351115 -0.266151 -0.423725 1.19071 -0.0568686 0.28015 1.21481 -0.000198902 -0.185049 -0.290326 0.124638 -0.0066416 -0.041094 0.067993 0.626674 -0.054418 0.474287 2.01848 0.0702971 -0.0329437 0.0217409 -0.226414 0.554686 -0.00654305 0.118714 -0.311004 0.137131 0.0341953 0.10535 -0.491582 -0.177091 1.42032 -1.82708 0.588666 1.2538 -0.503108 0.0890161 0.260276 0.128971 -0.869081 0.359386 0.0209438 -0.0849598 0.193906 0 +173 0 0.368868 0.383263 0.0559777 0.335583 -0.134133 0.197698 -0.243495 0.472315 0.384739 -1.43893 -0.10167 -0.114067 -0.00534818 -0.889849 -0.0269331 -0.15147 -0.488895 -0.302569 -0.0351245 1.65243 -0.0192571 -0.490622 0.00450535 -0.264446 -0.287804 0.357499 -0.0860645 -0.547908 -0.285342 0.0407012 0.0424805 -0.40015 -0.792104 -0.449201 -0.385162 -0.0118464 -0.220217 -1.45552 0.16996 1.19326 -0.0472479 -0.050601 0.0229674 -2.1372 -0.375398 0.852935 -0.455851 -0.582428 -0.112112 -0.115918 -0.678963 3.04186 0.0921524 -0.141275 0.321327 0.878053 -0.0374652 0.350391 0.40187 0.0937999 -0.739238 -1.24897 -1.01625 -0.876235 0.178854 0.153347 1.18509 -0.000874074 -0.0937921 -0.224883 0.0962756 -0.131292 0.293001 0.693862 0.316631 0.569996 4.70629 2.30876 1.05311 1.96152 -0.58904 1.7404 1.27291 -0.42868 1.17382 -0.215134 0.246919 -0.0846281 0.369399 -0.146597 0.418904 0 0 0 0 0 0.0559777 0.335583 0.00197793 0 0 0 0 -2.73305e-05 0 -0.0308093 0 0 -0.00203662 -0.0041482 -0.0231756 0 -0.00380312 -0.0623818 -0.176049 0 0 -0.335793 -0.000243395 0 -0.0187998 -1.46822 0 0 -0.0412219 -0.369035 0 -0.0504985 0 -0.0411072 0 0 -0.00493003 0 0 -0.343671 -0.000467587 -0.0341105 0 0.0320862 0.0303364 0 0 -0.21574 0 -0.00105234 0.0522766 0.00352968 0 0 0.00354888 -0.00617317 0 -0.0207384 -0.150326 0.00472828 -0.428652 -0.0225796 -0.0515713 0 0.025207 0.0318625 -0.400475 0.0647499 -0.116313 0 0 0 6.8755 0.498551 1.02979 0.0345266 0.0355876 -0.0137787 0.00137762 0.000962524 0.00314751 0.0255857 0 0 0 0 0 0 -0.134133 0 0.197698 0 0 0 0 -0.0109704 0.320497 0 0 -0.499776 0 -0.0554291 0 -0.0294798 0 0 0.321356 0 -0.80311 0.0541746 -0.100312 0.0463253 0 0 -0.221544 0 3.08689 0 -1.25915 0.526243 0 0.31107 -1.08014 -0.00553215 0 -0.000728578 0 0 0.0131032 0 0.918051 0.40919 0 0 0.0618808 0 0 -0.114716 -0.285652 -0.0582369 0 -0.746268 0 -0.129384 -0.193023 0.13413 -0.205222 -0.0970521 0.0221285 -0.0341324 -0.0560824 0.555126 -0.983868 -0.0323427 0 0 0 0.107921 0.0857003 0 0 0 0 0.0898844 1.86239 2.45736 -2.72836 0.956152 -0.592439 -0.0714121 0.270174 -0.189476 0.157496 -0.127651 0 0 0 0 0 0 +174 0 -1.03367 -0.351389 -0.0188612 -0.146988 0.0580612 0.0870318 -0.677308 -1.06109 -0.0806603 0.525001 -0.247398 0.615503 0.000987287 1.43327 0.0227001 -0.314781 -1.26121 0.0611461 0.039558 -0.0168124 0.00860863 0.202106 -0.000857767 0.132606 -0.18741 -0.177089 0.0310601 -0.298061 -0.261017 0.457186 -0.00786783 0.181115 0.689533 0.192284 -0.125148 -0.0215986 0.147538 3.27455 -0.33803 0.179921 0.00788686 0.341345 -0.0320454 2.34118 0.0453745 0.306153 -0.288072 0.323178 0.0870716 0.18583 -0.117331 1.26629 -0.0344214 0.12834 0.130984 -0.524639 0.344766 -0.344314 -0.0924873 0.00675636 0.299846 -0.146868 -0.254386 -0.0954491 0.0490268 0.393728 0.562518 0.168713 0.0205229 -0.449628 0.405839 -0.215255 -0.00682165 -2.32893 -0.0377392 -0.0634239 -9.51636 -1.70988 0.972733 -1.20985 1.50224 -2.39704 -0.652661 0.357613 -0.302485 0.994883 -0.0298453 0.114643 0.052536 0.228149 0.383193 0 0 0 0 0 -0.0188612 -0.146988 0.000996894 0 0 0 0 0.000141802 0 0.00841476 0 0 0.000142273 -0.000855926 0.00745695 0 0.000667617 0.0105382 0.0672055 0 0 0.0283304 -3.21066e-05 0 -0.0404461 -0.0361769 0 0 0.00527732 0.0237175 0 -0.164628 0 0.0088639 0 0 0.00141001 0 0 -0.389839 0.00294968 0.0015305 0 0.0238872 -0.0422029 0 0 -0.166577 0 -0.00332933 -0.673402 -0.00158309 0 0 -0.00124008 -0.00556794 0 -0.0037828 0.00331276 0.00082134 0.329846 -0.0510973 0.0151935 0 0.0152088 0.00411683 0.0812438 0.00863062 0.062927 0 0 0 1.14658 0.00105518 -0.0860345 0.00367477 0.0014303 0.0522551 -0.000278192 -0.000196799 4.88795e-05 -0.020949 0 0 0 0 0 0 0.0580612 0 0.0870318 0 0 0 0 -0.254746 -0.0370268 0 0 0.659935 0 0.0591567 0 -0.00129744 0 0 -0.744138 0 0.52226 -0.040638 0.356747 -0.10617 0 0 -0.0980297 0 -7.54981 0 3.13816 0.0561941 0 -0.57484 1.24757 0.0349556 0 -0.0231769 0 0 0.0157642 0 -1.90484 -1.62274 0 0 -0.226401 0 0 0.535517 -3.9575 0.0992308 0 1.81118 0 -0.308657 0.268891 -0.171265 0.0259831 0.0150469 -0.644126 -0.0937114 -0.068679 -3.08253 -6.46205 -0.0286811 0 0 0 -0.313119 0.0115224 0 0 0 0 -0.351434 -20.8623 -3.50278 0.698894 -1.97983 1.6942 -1.81295 -0.342286 0.272829 -0.257819 0.155052 0 0 0 0 0 0 +175 0 0.254638 0.267786 -0.027818 -0.128227 0.153204 0.190617 0.225889 -0.646684 -0.16455 0.975718 -0.143762 1.80383 0.00489093 3.7017 0.0231408 2.15312 11.414 0.235014 0.0346305 5.23804 0.0376862 0.0161047 -0.00357781 0.137115 -0.000249373 0.365587 0.0384874 0.209646 1.33904 0.633968 -0.027568 0.23287 0.0451638 0.190892 0.0352361 -0.0110835 0.0445228 -1.09259 -0.296599 2.26602 0.0436117 0.293244 -0.035699 9.459 0.344575 0.918394 0.662393 0.367373 0.120128 0.711442 0.758183 4.39317 -0.10561 0.185373 -0.0779698 1.55334 0.0668003 -0.305922 -0.432458 -0.140498 0.464275 -2.81554 -0.254203 -0.263213 -0.562599 -1.02804 -0.887695 0.272019 0.0580626 -0.126682 0.218363 0.149339 0.062957 -1.27761 -0.456197 0.532946 7.83646 -1.19572 4.39126 -0.685009 0.435938 0.222575 -0.412322 0.344653 -1.34482 0.80329 -0.226646 0.123918 -0.69331 0.320202 -1.96581 0 0 0 0 0 -0.027818 -0.128227 0.000506517 0 0 0 0 5.07426e-05 0 0.00735299 0 0 0.000854223 0.00215744 0.0140527 0 0.00172965 0.0355571 0.0790479 0 0 0.405306 0.000136693 0 0.0133345 1.03973 0 0 0.0446383 0.174902 0 0.10917 0 0.0472142 0 0 0.00545134 0 0 0.368782 0.000763941 0.014158 0 0.00333931 -0.0222627 0 0 0.171346 0 -9.29004e-05 -0.156647 -0.00271067 0 0 -0.00405353 -0.00127918 0 0.0146945 0.0527243 -0.00716749 -0.429471 0.0011084 0.034363 0 -0.00203253 -0.0459273 0.284523 -0.101558 -0.0253983 0 0 0 -4.97647 -0.352876 -0.73454 -0.0261717 -0.0208537 -0.0753313 -0.000903428 -0.0010015 -0.000789383 -0.00013184 0 0 0 0 0 0 0.153204 0 0.190617 0 0 0 0 -0.410953 0.959365 0 0 0.649263 0 0.0902142 0 0.0962356 0 0 0.853383 0 0.00518073 -0.150866 0.394084 0.118319 0 0 0.632674 0 7.44495 0 -1.73121 0.613839 0 -0.972621 -0.322144 0.0597179 0 -0.0670139 0 0 0.147857 0 2.55896 2.07919 0 0 0.303068 0 0 0.207614 -0.558315 0.213778 0 1.16758 0 0.0281424 0.375908 -0.335533 -0.324814 -0.135336 0.0914157 -0.401637 0.323594 0.887252 7.35514 0.0811495 0 0 0 0.0684361 -0.296595 0 0 0 0 -0.040762 11.4975 -1.65722 4.64314 -0.0141393 0.0290896 0.739543 -0.477603 0.365664 -0.243935 0.402324 0 0 0 0 0 0 +176 0 0.366884 -0.361207 0.0648764 0.163693 -0.042381 -0.270399 0.470356 1.06333 0.316659 -1.6726 -0.20202 -0.342784 -0.0190058 -0.524488 -0.0569424 -0.381667 -1.2461 -0.253187 -0.179636 -0.778666 -0.0597623 0.439314 0.0138018 -0.396606 0.519361 -0.46182 0.00915316 0.341107 0.794866 -0.129734 0.0758032 -0.285722 0.585153 0.293918 0.327431 -0.0127248 0.147193 -0.565927 -0.280105 -1.12337 -0.0775328 0.756151 -0.00230986 -2.05204 -0.257693 -0.835015 0.493547 -1.04631 -0.102221 -0.102309 -0.516361 -2.78335 -0.582473 -0.363003 0.138378 -1.35091 -1.10937 -0.0981919 0.655195 0.161011 -0.533777 2.20215 0.193279 -0.87788 -0.0625575 -0.0448384 0.838573 0.0791359 0.141841 0.743652 -0.417708 -0.122713 0.239481 0.000332501 -0.311214 -1.27477 1.39556 2.07257 -1.24366 1.1002 -0.418406 0.401262 1.79959 -1.21945 1.48463 -1.16088 0.323336 -0.00274205 -0.215106 0.858726 -1.74933 0 0 0 0 0 0.0648764 0.163693 0.00266046 0 0 0 0 0.000375864 0 -0.0163823 0 0 -0.00214308 -0.0103089 -0.0231217 0 -0.00511483 -0.0983115 -0.0609972 0 0 -0.165755 -0.000567034 0 -0.0473369 -1.19838 0 0 -0.0281527 -0.346368 0 -0.142337 0 -0.0404012 0 0 -0.00630859 0 0 -0.621119 0.00731763 -0.0389445 0 0.0516266 -0.000521199 0 0 -0.183338 0 0.000165435 -0.146289 0.00712834 0 0 0.0021417 -0.00828275 0 -0.0107699 -0.0757633 0.0101831 0.0867492 0.000781987 -0.0267464 0 0.0387838 0.0171976 0.261031 -0.0724912 0.0133596 0 0 0 5.2027 0.367991 0.496942 0.0243843 0.0212292 0.0589714 0.00117298 0.000999309 0.00383144 0.00444341 0 0 0 0 0 0 -0.042381 0 -0.270399 0 0 0 0 0.0171206 0.752214 0 0 -0.308306 0 -0.0458784 0 0.0458655 0 0 -0.609572 0 0.839733 0.0377 0.0381252 -0.0934044 0 0 0.237231 0 -2.65712 0 0.571291 0.00352718 0 0.0576919 1.13928 -0.00620802 0 0.0121222 0 0 0.118739 0 -0.416501 -1.8099 0 0 -0.251465 0 0 0.394328 -2.8062 0.0377593 0 0.782581 0 -0.354338 0.20968 -0.131634 0.0679255 -0.0396195 -0.517719 0.0185441 -0.163188 -2.16822 -1.9838 -0.0178345 0 0 0 -0.179889 0.121554 0 0 0 0 -0.475828 4.22593 0.961233 0.983119 -0.759097 0.796683 -0.263665 0.19923 -0.126765 0.114225 -0.00979433 0 0 0 0 0 0 +177 0 -1.15043 -0.0691265 -0.0137083 -0.103772 0.020368 0.201019 -0.262756 -0.21097 -0.318319 0.199021 0.354224 0.526991 -0.00281202 0.0107346 -0.039542 1.09689 5.10253 -0.0604117 0.021489 -0.67639 -0.0225257 -0.00281599 -0.00229842 0.0236999 -0.216414 0.330601 -0.0496931 -0.720933 -1.59596 0.341476 -0.0253194 -0.230294 0.329786 -0.119121 -0.207076 0.0387769 -0.329516 3.1547 0.516426 0.411531 -0.0238435 -0.733602 0.0591753 0.792054 -0.216041 0.524438 -1.08426 0.194922 -0.0569386 0.305478 -0.337738 -6.06523 -0.374332 0.139197 -0.525197 -2.36944 -0.516181 0.0954723 -0.0161005 0.0168968 -0.70863 0.435063 -1.46541 -0.143278 -0.160619 0.270575 0.0288241 -0.35825 0.108138 -0.861294 -0.0739856 -0.22627 0.251011 0.0228111 1.35636 0.0673251 -8.48781 -1.59675 0.122887 -1.06861 0.489614 -1.38921 -0.366476 -0.23914 0.615565 -0.0831126 0.271073 -0.473611 1.23898 -1.67359 3.51238 0 0 0 0 0 -0.0137083 -0.103772 0.00242061 0 0 0 0 0.000315624 0 0.007928 0 0 0.000358538 -0.00272979 0.00556181 0 0.00017757 -0.0315263 0.0546696 0 0 -0.00023211 -0.000121408 0 -0.114807 -0.257703 0 0 0.00711158 -0.141832 0 -0.26531 0 0.00457039 0 0 0.00245517 0 0 -0.380565 0.00685838 0.00701787 0 0.0521992 -0.0550379 0 0 -0.29359 0 -0.00655913 -0.989394 -0.00409614 0 0 -0.000727378 -0.0114707 0 -0.012846 -0.0168798 0.00110544 0.0885733 -0.0903063 0.0172234 0 0.0203733 -0.00164084 0.00566213 0.0379177 0.0315236 0 0 0 2.06465 0.04327 0.154484 0.00851342 0.00706151 0.0443025 -0.000341127 -0.000300378 -0.000559081 -0.0293133 0 0 0 0 0 0 0.020368 0 0.201019 0 0 0 0 0.218353 0.223081 0 0 -0.170146 0 -0.0458505 0 0.0213932 0 0 -0.357821 0 -0.150983 0.0564904 -0.324258 -0.0486634 0 0 0.0907251 0 -1.15753 0 1.25617 0.670012 0 0.185814 -0.15411 -0.0461141 0 0.0364063 0 0 0.0507457 0 0.204335 -0.580531 0 0 -0.0826117 0 0 0.160745 -3.01968 0.243404 0 0.959085 0 -0.488021 0.309907 -0.275747 0.126698 -0.0883782 -0.690054 0.118847 -0.0835738 -1.44715 -1.13188 0.0152558 0 0 0 -0.0867784 0.092277 0 0 0 0 -0.359948 -11.8899 -0.732043 -0.814197 -1.01873 1.07634 -1.41438 0.161845 -0.0965368 0.0184746 -0.119693 0 0 0 0 0 0 +178 0 -0.429959 -0.311531 -0.114414 -0.216524 0.105722 0.0849655 -1.36036 -2.73122 0.299508 1.82739 -0.643653 -0.207672 0.042594 -1.10116 -0.117403 -2.2637 -10.5428 0.176471 -0.257254 3.24862 0.0409288 -0.0759082 -0.0160566 0.480243 -0.456465 -0.424213 -0.0449742 0.0972732 0.875295 -0.0820939 -0.0404128 -0.932417 -0.197121 -0.687224 -0.226031 -0.134693 -0.598524 0.591908 -1.20349 0.981791 0.200056 -3.50274 -0.26108 -1.4203 0.877799 0.288555 0.352135 -2.22242 0.639493 -1.57117 0.685316 0.973229 0.596948 -0.295825 0.170226 -1.57934 -1.12768 -0.925566 -0.796507 -0.309957 0.310667 0.296967 1.18753 1.43005 1.22945 0.155209 -1.51685 -1.19074 -0.492918 -0.822444 -0.292964 -1.13006 0.381324 0.730858 0.0493608 -0.185802 -0.73791 -2.11891 4.86137 -2.68153 2.68415 -1.50641 -2.33739 1.8521 -2.25713 3.55497 -1.1014 1.36296 -1.51506 1.93051 -1.92634 0 0 0 0 0 -0.114414 -0.216524 -0.0061419 0 0 0 0 -0.000898381 0 0.0192122 0 0 0.00317799 0.0141685 0.0487416 0 0.00815366 0.147973 0.116693 0 0 0.677436 0.000829033 0 0.0482399 0.997366 0 0 0.0843635 0.392611 0 0.23859 0 0.155184 0 0 0.0199852 0 0 0.884028 -0.0177335 0.0544022 0 -0.120796 -0.0522378 0 0 0.34186 0 -0.00438393 -0.610571 -0.0122926 0 0 -0.00735517 0.0156815 0 0.0247844 0.180172 -0.0173946 -0.435597 -0.048274 0.0523692 0 -0.0501282 -0.0581256 0.436939 -0.13165 -0.101055 0 0 0 -10.6764 -0.778805 -1.33345 -0.0527929 -0.047596 -0.143658 -0.00237266 -0.00207658 -0.00460905 0.0113285 0 0 0 0 0 0 0.105722 0 0.0849655 0 0 0 0 -0.257752 -2.02752 0 0 0.75386 0 0.0981944 0 -0.100439 0 0 -0.0302944 0 0.144799 -0.0933477 0.290232 -0.00924508 0 0 -0.775653 0 -8.3103 0 0.339693 -0.429274 0 -0.676714 0.104084 0.043653 0 -0.0407442 0 0 -0.25462 0 -2.39251 0.312427 0 0 0.0392507 0 0 -0.213125 -0.869793 -0.370781 0 -3.08167 0 0.688952 -0.649088 0.463682 -0.0831966 -0.13467 -0.0644819 -1.01786 0.324172 -0.0182463 -9.08147 0.0954056 0 0 0 -0.616169 -0.291266 0 0 0 0 0.532943 -5.27713 -3.18792 2.53682 -0.685682 0.487465 -0.322437 -0.588902 0.437048 -0.326161 0.267413 0 0 0 0 0 0 +179 0 0 0 0 0 -0.192192 0.191009 -0.793053 0.132876 0 0 0.339829 1.00737 0 0.429183 0.0672358 0 0 0 0.327138 -0.256165 0 0 0 0 -0.0721483 0 0 -0.954498 -3.71276 0.612646 0 0.193109 0 0 -0.264938 0.016653 0 0 1.19518 0.452462 0 0 0.202411 0.501313 0 0.744962 -1.78584 0.678364 -0.361607 2.47931 -0.137742 0 -0.360179 0.47777 -0.958131 -1.68136 -0.325976 0.276834 0 0 0.952429 -1.0141 0 0.263794 -0.658666 0.778321 0 0 0 0 -0.153997 1.10929 0 -0.288163 2.06305 0 0 0 -1.0006 0 -2.33404 5.5412 0 -0.777454 0.604891 2.58569 0 -1.00866 2.08599 -5.31997 15.9691 0 0 0 -0.184549 -0.0352072 0 0 0 -0.0366162 -0.00527002 0 -0.00487332 0 9.40866e-06 0.0373105 0 0 0 0 0.142382 0 0.0246642 0 0.197309 0 -0.277273 -0.169327 0 0.00298443 0 0 0.0829178 -0.000101562 -0.0211409 0 3.86881e-05 0 -0.000405611 0.0258791 0.0151744 -0.00157632 0.00518741 0 3.59734e-07 0 0 0 9.68311e-07 0 0 0.000262322 -0.000648754 -0.0066081 -0.00188482 0 0 0.00534981 0 0.000707848 0 0 0.00182013 0.00469623 -0.124299 -0.00357849 0 0 -0.0456074 -0.0055198 -2.53767e-05 -0.0716226 -0.0514184 0 0.0579419 0.00168579 -0.0824363 0 0 0 -0.258017 0 0.002442 -0.125416 0 -0.000441612 -0.00142944 0.00492276 0 0.000122745 -0.00112494 0.00325389 -0.0116597 0 -0.192192 -0.184549 0.191009 -0.0352072 0.189208 0.0780375 -0.306035 0.386695 -0.583605 0.021797 0.0991115 -0.158027 0.00288065 -0.0118812 -0.0378814 -0.0316288 0.0357591 0.150117 -0.337559 1.03552 0.154792 0.237492 -0.210197 -0.0591646 0.264422 -0.14925 -0.189166 0.014221 -2.29961 0.310952 0.799929 0.297111 -0.00434812 1.00288 0.329467 -0.0242021 0.0124107 0.0795342 0.11062 -0.713681 -0.0893086 -0.028013 -1.03338 1.20816 0.0119713 0.03102 0.267091 0.131786 0.0138839 -0.630848 0.559028 1.07267 -0.0520901 1.04665 0.0761998 0.109232 -0.199553 -0.31388 0.0880391 -0.393856 -0.220045 -0.0897163 -0.0861911 0.313952 2.97786 0.170545 -0.282479 0.142432 0.161033 0.0729698 -0.00383333 -0.0557509 -0.0395123 0.227604 -0.227443 0.154296 -0.299018 0.0671825 -3.56387 -0.115518 -1.15106 2.29137 0.0243429 -0.527309 1.20463 -1.74257 -0.0328263 -0.300632 0.612855 -0.840396 1.0843 0 +180 0 0 0 0 0 -0.18193 0.0351071 0.604504 1.88503 0 0 -0.148326 0.0760929 0 -0.272791 0.075195 0 0 0 0.27803 -3.16249 0 0 0 0 0.165868 0 0 -0.244327 5.29588 0.229969 0 0.364369 0 0 -0.0233781 0.0150669 0 0 -0.56822 0.409555 0 0 -0.024127 -2.53081 0 0.787207 0.785478 1.26774 -0.00832483 0.81302 0.466056 0 -0.211141 0.16347 0.459338 0.73626 -0.103436 -0.457392 0 0 -1.8411 -0.174461 0 1.53987 0.339467 -1.04891 0 0 0 0 0.449342 0.35963 0 -0.738555 -0.981905 0 0 0 -2.65543 0 0.638593 -7.52138 0 0.108318 -0.160795 -5.79915 0 0.0621675 -1.2229 3.19035 -15.8098 0 0 0 0.0668954 0.0128492 0 0 0 -0.00549997 0.0146395 0 0.000280312 0 -3.79432e-05 -0.0121354 0 0 0 0 -0.0290335 0 -0.00746728 0 -0.0132782 0 -0.124031 0.252733 0 -0.00141216 0 0 -0.0517047 0.000269932 0.0238414 0 0.000734258 0 0.000720952 0.127239 -0.00759361 0.00569429 0.00832973 0 -2.34092e-06 0 0 0 3.83854e-05 0 0 -0.000650722 0.00105632 0.0382305 0.00285818 0 0 -0.00803637 0 -0.00115254 0 0 0.00448903 0.0126165 -0.127069 -0.00749953 0 0 0.0222692 0.0057006 0.00461489 0.105602 -0.104698 0 -0.0259754 -7.54155e-06 -0.0390798 0 0 0 -0.00222169 0 -0.0221996 0.126025 0 -0.00147579 0.00979297 -0.0273377 0 -0.000193109 0.000764712 -0.00323188 -0.0208212 0 -0.18193 0.0668954 0.0351071 0.0128492 -0.58529 -0.151738 0.0784208 -0.17842 0.818671 -0.0121671 0.0171812 0.165406 -0.0015335 0.0134769 0.0140922 0.0270437 0.00946337 -0.0908013 -1.19724 -1.02084 -0.156727 0.130385 0.20576 -0.19658 0.203554 0.403599 0.330217 -0.0393794 1.5731 -0.3739 -0.798491 0.604587 0.00184791 0.224411 -0.316595 0.0202502 -0.00913401 0.00554127 -0.0781167 2.52336 0.0797554 0.069082 0.562163 -3.00565 0.000214528 -0.0449493 -0.48853 -0.173803 -0.141766 1.30228 -0.596318 -0.16488 -0.0293297 1.13048 -0.0243905 0.163367 0.145474 0.133132 -0.0811888 -0.255845 -0.862749 0.0164009 0.1036 -0.125331 3.05109 -0.143329 1.12128 -0.0514591 -0.527235 -0.311194 -0.0130164 -0.00119729 0.0254452 0.187846 0.153111 -0.0548113 0.29848 -0.068494 0.352382 0.104275 1.12056 -4.7014 -0.0223582 0.261032 -0.552033 -0.84687 0.0198557 0.197241 -0.557891 0.743925 -2.3632 0 +181 0 0 0 0 0 0.117203 0.00512098 0.319168 1.855 0 0 0.125956 0.282743 0 -0.566847 -0.0295401 0 0 0 -0.246787 1.19993 0 0 0 0 0.36206 0 0 -0.168383 -0.313129 0.189411 0 -0.0810812 0 0 0.0106528 -0.00344443 0 0 0.300385 0.301859 0 0 0.100387 -1.76577 0 0.604494 -0.232497 -1.48854 -0.27536 1.96365 0.0875265 0 0.18614 -0.361106 -0.00964974 0.408995 -0.0319353 -1.01671 0 0 -0.683722 1.44632 0 -0.0243032 -0.803242 -0.528707 0 0 0 0 -0.0107536 0.925674 0 -0.425477 0.0208838 0 0 0 -3.52088 0 -0.751768 0.718156 0 -0.371511 0.868523 -4.39941 0 -0.601679 0.581481 -1.69688 2.86375 0 0 0 0.0753958 -0.0123414 0 0 0 -0.00874578 -0.0220811 0 -0.00153723 0 0.000776444 0.0356327 0 0 0 0 0.143904 0 0.0195989 0 0.345587 0 -0.0333259 -0.16765 0 0.00242343 0 0 0.100253 0.00083984 -0.0127933 0 -0.00127731 0 -0.00129825 -0.0126818 0.0165587 0.016828 0.00300373 0 4.06259e-05 0 0 0 -6.87436e-05 0 0 -0.00205685 -0.00198283 -0.164584 0.00528828 0 0 0.00420626 0 0.00216345 0 0 -0.00254706 -0.00889094 0.0161705 -0.0200338 0 0 0.084177 0.0103722 -0.0131668 0.135597 -0.202336 0 0.157542 0.0131384 0.0295116 0 0 0 -1.10532 0 -0.077152 -0.443305 0 -0.0069976 -0.0377387 -0.103834 0 -0.000644063 -0.00479703 -0.0073066 -0.040699 0 0.117203 0.0753958 0.00512098 -0.0123414 0.196097 -0.0617743 -0.0692454 0.040521 0.308036 0.0203274 -0.075801 0.205647 0.0023127 0.0100748 -0.0166077 0.0456628 -0.0961963 0.166377 -1.42476 0.376387 -0.151642 0.0553694 0.0648179 -0.157115 -0.899296 0.0696394 0.651214 -0.0171472 -2.905 -0.181826 -0.899669 0.50533 -0.00235342 0.0318633 -0.356396 0.00244106 -0.000330227 0.0111182 -0.00218796 0.116764 -0.0016925 0.0218868 -0.010241 -3.40425 -0.00878875 -0.0200268 -0.46981 -0.047553 -0.334971 -1.18405 -0.749272 0.492892 0.212253 -0.845619 0.020719 -1.30972 -0.104043 -0.346547 -0.0838768 -0.21387 -0.434551 0.119395 -0.0991084 -0.609219 -1.30377 -0.19241 -0.106751 -0.156726 -0.0641835 0.0861407 0.0209113 0.0365962 -0.0512984 0.00733392 -0.00150624 0.0360781 0.336301 -0.0807768 -1.26024 0.0672696 -0.154171 1.36439 -0.0146544 -0.0844168 0.410481 -0.654637 -0.036382 0.0330041 0.0606604 0.0624886 -0.191692 0 +182 0 -0.2035 0.0742617 -0.0064487 -0.0179131 -0.0639443 -0.0720703 0.727878 0.602563 -0.106263 0.882136 -0.00687344 -0.325319 -3.19741e-05 1.10909 -0.026774 0.586201 4.62208 0.261323 -0.0282073 3.19214 0.0340099 0.0331224 -0.000562727 0.128823 -0.0427603 0.00601732 0.0383798 0.5664 1.13065 -0.137888 -0.00827894 -0.241888 0.34501 0.279317 0.122119 -0.00573434 0.20694 2.26464 0.12167 1.21378 -0.00221829 1.28242 -0.000633939 2.04847 -0.0560254 0.137525 0.852646 -0.127357 -0.0107767 1.21808 0.212229 -3.0906 0.0637065 -0.0418015 0.171541 1.27221 0.0230322 -0.113326 -0.204062 0.0107026 -2.21989 -2.06017 -0.125788 -0.567169 -0.722459 -1.60543 0.0136233 0.340597 0.0278195 -0.359815 0.189331 -0.0905025 -0.351609 -0.704045 -0.996712 -1.15236 -10.9064 -3.87882 -0.465528 -1.38703 1.50709 -5.71834 -0.886535 1.05423 -1.34865 -2.99257 0.00779486 -0.0261413 0.0385977 0.102109 -4.73254 0 0 0 0 0 -0.0064487 -0.0179131 -0.00269487 0 0 0 0 -5.68091e-05 0 0.00385028 0 0 -0.00117311 -0.000699572 0.00145933 0 0.000166289 0.00654013 0.0409049 0 0 -0.0694464 -4.48136e-05 0 0.00562854 -0.351415 0 0 -0.00466161 0.0334936 0 0.0731612 0 -0.00485137 0 0 -0.000392537 0 0 0.00991949 -0.000572568 -0.0175024 0 -0.0362895 -0.0071764 0 0 -0.00276809 0 -0.00342156 0.206839 0.00869607 0 0 0.00113555 0.00523663 0 -0.00259737 -0.0305783 -0.00583634 0.0611001 0.0387893 0.00284563 0 -0.0027566 -0.00341363 -0.0977253 -0.00278594 -0.100974 0 0 0 0.557056 -0.0136979 0.0562576 0.0230858 -0.0508537 0.149336 0.00106589 -0.00209881 0.00866491 -0.00900312 0 0 0 0 0 0 -0.0639443 0 -0.0720703 0 0 0 0 -0.297928 0.568672 0 0 0.395142 0 0.0384859 0 0.031873 0 0 0.749613 0 -0.12122 -0.0926826 0.22512 0.109705 0 0 0.226384 0 7.59519 0 0.00546115 0.0505119 0 -0.522402 -0.241755 0.0230414 0 -0.0576855 0 0 0.0711267 0 2.11808 1.19347 0 0 0.187166 0 0 0.142661 -0.623153 -0.0441404 0 -0.0535507 0 -0.399817 0.163171 -0.155933 -0.0462236 0.0567995 -0.200296 -0.274443 0.0660895 -0.469214 1.08889 -0.112999 0 0 0 -0.0210696 -0.0474051 0 0 0 0 -0.151761 -8.75256 -1.86432 1.24143 -0.641403 0.339821 -0.317684 -0.254349 0.224467 -0.228735 0.303784 0 0 0 0 0 0 +183 0 -0.493704 -0.0412582 -0.0081422 0.0152136 -0.241724 -0.0421268 -0.522597 0.617192 -0.0905936 -0.033977 -0.115002 -1.31141 0.000674187 -0.847521 -0.0164437 -1.19878 -6.56163 0.0290712 -0.0200922 -0.111207 0.00682727 -0.248722 -0.000850159 0.107263 -0.242099 0.0431725 0.0127759 -0.131584 -0.531991 -0.336765 -0.00896025 -0.227198 -0.255853 0.134998 -0.217715 -0.0144625 0.0634767 1.13715 -0.219544 -0.16216 0.00734446 0.488471 -0.0281901 -3.29655 0.0704351 -0.076135 -0.32268 -0.35269 0.0850429 -1.39522 0.118919 -0.981711 0.00955864 -0.0138581 -0.000938729 -1.57458 -0.449967 -0.118238 -0.17066 -0.0163759 1.48728 -0.0150601 0.693364 0.0526912 0.210693 0.927782 -0.0406246 0.0878662 0.0121349 0.167516 0.165638 -0.412072 -0.0387636 0.124798 0.651889 -0.451367 1.24685 0.622778 -3.19633 0.401504 -0.795926 0.995528 -0.28294 -0.139191 0.222434 0.66354 -0.00979969 0.0374965 -0.110401 0.291615 2.22674 0 0 0 0 0 -0.0081422 0.0152136 0.001721 0 0 0 0 0.000126593 0 -0.00420655 0 0 0.00101151 -0.000148939 -0.00396826 0 -0.000772239 0.0247809 -0.0253137 0 0 -0.0998861 -7.51816e-06 0 -0.0131964 0.518119 0 0 -0.00934811 0.14407 0 -0.0875527 0 -0.0056503 0 0 -0.000490861 0 0 -0.0719921 0.00252583 0.0183462 0 0.0344089 -0.0331009 0 0 0.0161111 0 0.00204122 0.079904 0.00890339 0 0 -0.00141218 -0.0031903 0 -0.00514778 -0.00917236 0.00481284 -0.367104 0.0203257 0.0101154 0 0.0056197 -0.030192 -0.145179 0.0129235 0.101354 0 0 0 -0.164857 -0.0884938 0.0945093 0.00788564 -0.00237671 -0.153217 -0.000810337 0.00138186 -0.0131587 -0.0102394 0 0 0 0 0 0 -0.241724 0 -0.0421268 0 0 0 0 0.501458 -0.585966 0 0 -0.448465 0 -0.0567948 0 -0.0297581 0 0 0.38692 0 -0.228246 0.174528 -0.127347 0.0658087 0 0 -0.356056 0 -6.73445 0 0.621102 -0.467952 0 1.42254 0.112587 -0.0158432 0 0.0670162 0 0 -0.0550095 0 -1.65359 0.320092 0 0 0.0740304 0 0 0.308238 1.58716 -0.358264 0 -0.739655 0 0.395472 -0.0515034 0.224637 0.216058 -0.163926 -0.289082 0.147394 0.139523 0.0895785 -1.97196 0.0578999 0 0 0 -0.173232 0.0151289 0 0 0 0 0.0969568 11.4075 4.45505 -6.17663 1.35129 -0.985086 -0.246774 0.21385 -0.165347 0.225984 -0.625261 0 0 0 0 0 0 +184 0 -0.7455 -0.620719 0.0256941 0.25539 -0.262152 -0.388591 1.08141 1.87757 0.103448 -0.299357 0.21736 -0.383595 -0.00143009 -0.86571 -0.000268421 -0.733941 -5.37429 -0.0504856 -0.0063256 -2.15795 -0.00803077 0.538898 0.00155183 -0.0817354 0.692582 -0.434414 -0.01924 0.461967 -0.975658 -0.267671 0.0140148 -0.135595 1.61066 -0.0871595 0.446381 0.0207538 -0.230815 5.99809 0.606831 -1.36965 -0.0164176 -0.894843 0.0529331 -2.70346 -0.182133 -1.09627 0.203417 -0.157887 -0.117999 -0.634943 -0.0565465 -0.83885 0.0267071 0.0314982 -0.18363 -1.23176 -0.452287 0.160694 0.05275 0.0337296 0.223686 1.3637 0.669563 0.268402 0.593226 0.388555 -0.391678 -0.70647 -0.0133485 0.19143 -0.545212 0.125125 0.156429 1.08921 0.0101844 -0.107658 -21.9205 -0.969485 -7.50982 -1.99038 0.87323 -5.28971 0.175948 -0.04986 -0.323749 0.00221179 0.0253403 -0.0996813 0.449046 -1.57784 4.08378 0 0 0 0 0 0.0256941 0.25539 -0.00237135 0 0 0 0 -0.000187616 0 0.0183016 0 0 0.0012772 0.00302258 0.0101143 0 0.00193821 -0.0317726 0.103521 0 0 -0.113443 0.000154245 0 0.0322084 -0.911638 0 0 -0.0134274 -0.138649 0 0.21419 0 -0.00675339 0 0 -0.00104309 0 0 0.934996 -0.00318602 0.0279783 0 -0.0342703 -0.0635669 0 0 0.387129 0 -0.0036401 0.382851 0.0104515 0 0 -0.00315191 0.00451483 0 0.0183973 -0.00993664 0.00186547 -0.447355 0.0205066 0.0175984 0 -0.00096572 -0.0184899 0.0569664 -0.0431384 0.0889073 0 0 0 -7.63573 -0.520524 -0.752339 -0.0235672 -0.0417105 -0.172214 -0.00099278 -0.00142379 -0.00877393 -0.0194259 0 0 0 0 0 0 -0.262152 0 -0.388591 0 0 0 0 0.224809 -0.97202 0 0 -0.731658 0 -0.0800919 0 -0.0477367 0 0 -0.161169 0 0.509691 0.119757 -0.259518 -0.0398155 0 0 -0.44676 0 -10.2389 0 1.20306 -0.834982 0 0.788958 0.557764 -0.0272451 0 0.0267361 0 0 -0.1245 0 -2.67408 -1.41402 0 0 -0.186289 0 0 -0.104705 -0.577666 -0.382233 0 -1.40682 0 0.526156 -0.496094 0.446054 0.312746 -0.0515927 -0.678365 -0.587093 -0.0829784 0.0383998 -7.75449 -0.0631529 0 0 0 -0.180708 0.0936165 0 0 0 0 0.223899 -2.30837 2.76123 -3.13838 0.401567 -0.330878 -0.34477 0.441509 -0.385973 0.484677 -0.508913 0 0 0 0 0 0 +185 0 -0.634329 -0.0543663 -0.033679 -0.214765 0.102203 -0.0582514 0.422066 -0.140483 -0.237302 0.826946 -0.164408 0.443724 0.00231684 0.984771 0.0338301 0.688673 2.84508 -0.0441448 0.056376 1.08494 -0.0444374 -0.000749639 -0.00297169 0.0838322 0.24512 0.171461 -0.0550293 0.51671 1.88277 -0.0389123 -0.0283392 0.296553 0.238265 -0.273488 0.187616 -0.0132685 -0.0663511 2.17008 -0.40002 -0.14957 0.0230083 -0.693633 -0.0399322 3.69002 0.211088 -0.370447 0.99532 0.494334 0.108719 -0.00287608 0.538731 -4.84538 -0.0960856 0.094735 -0.158687 -3.33378 -0.316384 -0.424073 -0.174132 -0.0482319 -1.43882 -1.0568 -0.249614 0.0311168 -0.245982 -1.45758 -0.50171 0.125443 0.0483001 0.0298883 0.0915233 0.0167331 0.0614324 -3.0409 -0.744036 -0.285774 -6.45206 -2.81635 1.6449 -1.91768 2.06653 -3.82692 -0.633522 0.866868 -1.50445 0.0875537 -0.0456907 0.0720358 -0.409152 0.645583 -3.66382 0 0 0 0 0 -0.033679 -0.214765 -0.000400227 0 0 0 0 -2.90243e-06 0 0.00716531 0 0 -7.2464e-05 -8.15611e-06 0.00408054 0 0.00109948 0.00199944 0.0279189 0 0 -0.0558732 -4.29611e-07 0 0.0372762 -0.251758 0 0 -0.00555171 -0.00793353 0 0.141672 0 -0.00748061 0 0 -0.000773543 0 0 0.300378 -3.9118e-05 -0.00140784 0 -0.00543129 -0.00345235 0 0 -0.0896464 0 -0.000821233 0.0177404 0.00121002 0 0 0.000138353 0.000694068 0 -0.00102279 -0.00184358 -0.000489644 -0.164297 0.00291107 -0.00572463 0 -8.71882e-05 -0.00040359 -0.060507 6.55787e-05 -0.0633223 0 0 0 -0.423371 0.00182821 0.0146979 0.00728316 -0.0128941 0.0257246 6.11018e-05 -8.30326e-05 0.00103491 0.000851172 0 0 0 0 0 0 0.102203 0 -0.0582514 0 0 0 0 -0.421245 -0.414421 0 0 0.665812 0 0.0704072 0 -0.00218622 0 0 0.670977 0 0.0195218 -0.120496 0.263751 0.0933552 0 0 -0.102583 0 2.32268 0 0.56155 -0.149169 0 -0.984635 0.0632425 0.0293029 0 -0.0488451 0 0 -0.0256449 0 0.753952 1.51292 0 0 0.182302 0 0 -0.111688 -0.0597157 -0.397701 0 -1.90427 0 -0.3192 0.163184 -0.0499205 -0.236596 0.10738 0.595699 -0.171955 0.119072 0.849588 2.37298 -0.0254349 0 0 0 -0.111908 -0.11421 0 0 0 0 0.0970344 -6.64182 -1.67336 1.35068 -0.488287 0.400519 -0.711515 -0.310372 0.279142 -0.393088 0.527162 0 0 0 0 0 0 +186 0 -0.71087 -0.337485 0.00596979 0.0379245 -0.198178 -0.247585 1.17216 3.23473 0.0483292 -0.468808 0.0763085 1.27938 -0.000414524 1.45127 -0.00124101 0.99433 2.73305 -0.123417 -0.00377683 2.80234 0.00883297 0.499489 0.000536386 0.00338863 1.06954 0.0343935 0.0366776 0.605793 0.856286 0.291705 0.00533575 -0.0107863 1.6501 -0.0559102 0.466491 0.00512561 0.20229 5.99801 0.146723 0.589648 -0.00413497 0.154237 0.0115369 3.98571 -0.0381738 -0.154665 0.757071 -0.0388511 -0.0274181 -1.86971 0.0510389 2.84094 -0.0033447 -0.0101741 -0.0204164 -0.0381471 0.520922 0.42572 0.0219094 0.00909997 -0.132659 -2.40423 0.162512 -1.39737 0.43012 -0.579619 0.837076 0.113102 -0.00991738 0.244105 0.0427883 0.150766 -0.210567 -2.14953 -0.856202 0.299777 -17.9496 0.59501 -11.3538 -0.988765 0.743084 -8.0554 0.144098 -0.3908 0.923414 -5.13576 0.00826284 -0.0210773 -0.0555304 -0.0261619 -1.66631 0 0 0 0 0 0.00596979 0.0379245 7.31827e-05 0 0 0 0 5.70788e-07 0 -6.15401e-07 0 0 1.52675e-05 -4.40068e-06 -0.000912159 0 -7.78904e-05 0.00959475 -0.0076617 0 0 -0.0750861 -2.57799e-07 0 0.0013071 0.111766 0 0 -0.00960037 0.0728322 0 0.0203793 0 -0.00530159 0 0 -0.000717796 0 0 0.0690789 1.24878e-05 0.000398669 0 0.00162438 0.000149776 0 0 -0.00552097 0 0.000135177 -0.0284499 0.00102442 0 0 -2.61772e-05 -0.000114245 0 -0.00101738 -0.0141517 0.00101777 -0.260174 0.000177549 0.00265849 0 -0.000204846 -0.00433649 -0.10312 0.00210555 0.0258295 0 0 0 0.00221603 0.0109309 0.02513 0.00167342 0.00273633 -0.0301127 -8.88689e-06 0.00023823 -0.00181822 -0.00470061 0 0 0 0 0 0 -0.198178 0 -0.247585 0 0 0 0 0.339051 -0.0688352 0 0 -0.530961 0 -0.0532508 0 0.00103422 0 0 0.061489 0 0.543378 0.171876 -0.202244 0.00784983 0 0 0.0284347 0 -2.6846 0 2.15806 -0.424742 0 1.27247 0.828342 -0.0168349 0 0.0582825 0 0 -0.0158859 0 -0.468874 -0.170034 0 0 -0.0373018 0 0 0.444945 0.3672 -0.094549 0 1.55291 0 0.188411 -0.17298 0.186144 0.0545368 -0.148535 -0.441979 0.162154 -0.0189774 0.114821 4.27874 0.0961478 0 0 0 0.0626945 0.0428158 0 0 0 0 -0.016454 -7.25653 2.02289 -5.68493 0.478663 -0.390077 -1.06944 0.295775 -0.275236 0.282037 -0.619566 0 0 0 0 0 0 +187 0 0.301414 0.316353 -0.0133859 -0.0237878 0.0709528 0.145084 -0.230794 -0.584562 -0.106509 0.545646 -0.115878 -0.102923 0.000963892 1.27166 0.0107586 0.818027 1.39629 0.124593 0.022789 2.40851 -0.00299576 -0.302465 -0.0012256 0.106513 -0.379735 0.581324 -0.0156145 -0.229663 0.215246 0.0889583 -0.012043 0.071204 -0.238626 0.0381415 -0.224292 -0.00810721 -0.100599 0.695541 -0.261032 1.24842 0.0103121 -0.571192 -0.0218857 2.39614 0.105802 0.501605 -0.121868 0.152702 0.0584096 -0.0126922 0.519285 1.22731 -0.0460501 0.0539015 -0.055919 1.03353 -0.183462 -0.0138666 -0.233588 -0.0238066 -0.693208 -0.977615 -0.427337 0.950544 0.0182734 0.143591 -0.73016 -0.0678739 0.0218283 0.0719283 -0.0603399 -0.107033 0.112494 -0.0150294 0.609237 -0.173426 -1.59302 -1.28609 1.47907 -0.974575 1.3889 -2.33833 -0.60333 0.698407 -1.06365 0.880591 -0.0229012 0.0426572 -0.126239 0.283289 -0.418862 0 0 0 0 0 -0.0133859 -0.0237878 -0.000590402 0 0 0 0 -4.57098e-06 0 0.00370196 0 0 0.000274185 3.60488e-05 0.000350322 0 0.000293153 0.00777093 0.0106763 0 0 0.0437729 1.83314e-06 0 0.0161947 0.107894 0 0 0.006897 0.0301303 0 0.0681574 0 0.00211326 0 0 0.000396063 0 0 0.235777 -6.95019e-05 0.00547406 0 -0.00883829 -0.0129665 0 0 0.035283 0 -0.00119219 0.0476413 0.00309344 0 0 -0.000520382 0.00100759 0 0.00216177 0.0117626 0.00138669 -0.394878 0.00122746 0.00383796 0 -0.000258955 -0.00425424 -0.0106834 -0.00527321 0.0296634 0 0 0 -1.2561 -0.0837374 -0.0971047 0.00127539 -0.012828 -0.0316552 -0.000214303 3.50695e-05 -0.00271706 -0.00781076 0 0 0 0 0 0 0.0709528 0 0.145084 0 0 0 0 0.0927619 -0.957733 0 0 0.123243 0 0.0221084 0 -0.0188918 0 0 0.983743 0 -0.494866 0.0295072 0.11541 0.126461 0 0 -0.290707 0 3.37376 0 -0.565044 0.210327 0 -0.110349 -0.252301 0.0140617 0 0.0279326 0 0 -0.0863926 0 1.14939 2.38905 0 0 0.301421 0 0 0.140071 -0.814639 0.01953 0 -1.79591 0 0.921973 -0.145461 0.0990506 0.041204 -0.0129281 -0.717282 -0.823619 0.173811 1.09062 -1.9152 -0.0863098 0 0 0 -0.0571917 -0.0773337 0 0 0 0 0.132081 6.59015 -0.187774 1.86805 -0.125397 -0.00953289 -0.00496191 -0.084658 0.0727592 -0.0653638 0.0862053 0 0 0 0 0 0 +188 0 0 0 0 0 -0.462225 -0.0651334 1.56511 4.32801 0 0 0.490494 0.0419025 0 0.236156 0.0391085 0 0 0 0.0735151 -5.01403 0 0 0 0 0.440519 0 0 -0.456062 -0.222717 0.415234 0 0.32037 0 0 0.0639319 0.0205557 0 0 1.70732 -0.729249 0 0 0.264805 -3.20651 0 0.359723 -0.301157 -0.0945996 -0.296569 1.68718 0.0515992 0 -0.129188 0.341543 0.294125 -2.05188 -0.493202 -0.139004 0 0 -0.365791 0.91916 0 2.67097 0.364837 0.7435 0 0 0 0 0.551658 0.95329 0 -0.579524 0.74449 0 0 0 -7.97851 0 -3.24968 0.766145 0 -0.557436 0.375387 -6.58391 0 -0.657717 0.749723 -3.08046 -0.08111 0 0 0 -0.226562 -0.046512 0 0 0 -0.101411 0.010694 0 -0.014431 0 -0.000258478 -0.0165984 0 0 0 0 0.0450109 0 0.00372035 0 -0.0795486 0 -0.681416 -0.372364 0 -0.00540457 0 0 -0.182036 -0.000110228 -0.0848268 0 0.00225361 0 0.000426351 -0.0535188 -0.0322772 -0.00195188 -0.0157689 0 -1.33858e-05 0 0 0 0.000112346 0 0 -0.000718488 -0.000698447 0.0698681 0.000986357 0 0 -0.00234151 0 -0.00172595 0 0 -0.0167035 -0.000103283 -0.100726 -0.00752715 0 0 0.0260529 0.0372092 0.00780877 -0.052289 -0.13967 0 0.0770378 0.00487312 0.109874 0 0 0 -0.0179591 0 -0.00489668 0.213838 0 -0.000610667 0.00286037 0.0392337 0 -7.08905e-05 0.000657769 -0.00346364 0.175735 0 -0.462225 -0.226562 -0.0651334 -0.046512 -0.0131619 -0.070281 -0.524248 0.0276916 -1.03161 0.0148108 0.0608225 -0.570455 0.00305353 -0.0430191 -0.065842 -0.0507768 0.00981626 0.0443301 -0.0542357 -0.840118 -0.587802 0.18176 -0.326703 -0.0345664 0.0645329 -0.0316739 -0.252259 -0.0264207 -1.71083 0.330376 -5.16456 0.453437 -0.0080929 0.756777 -1.95346 -0.0369937 0.0108469 0.0361664 0.0869771 -0.272233 -0.158235 0.00142382 0.433372 -1.49012 0.00525413 0.0432102 -0.210177 -0.16129 -0.0111531 0.605447 -3.93995 0.616959 -0.0543024 3.02454 0.17748 -0.313709 -0.208082 0.11046 -0.387726 -0.258835 -0.392995 -0.548349 0.111709 -1.09562 -0.895139 0.086094 0.204199 0.14895 0.163508 -0.170772 0.048592 0.0665729 0.00148262 -0.0190221 -0.105849 0.267788 27.5769 3.49852 -0.666148 0.674376 -1.65148 2.59825 0.0706045 -0.524125 0.716468 -0.773873 -0.0136088 -0.227073 0.135643 -0.133731 0.00788954 0 +189 0 0 0 0 0 0.00313921 0.308843 -1.04225 -2.0013 0 0 0.188014 1.77786 0 2.92417 0.124632 0 0 0 0.388558 2.18042 0 0 0 0 -0.351566 0 0 -0.853361 -7.99171 0.784377 0 0.613721 0 0 -0.274309 0.0392932 0 0 0.511517 0.968501 0 0 0.0696557 7.12718 0 0.885336 -2.37943 1.52328 -0.249411 2.34385 -0.708143 0 -0.450413 0.469536 -0.889956 -3.61516 -0.939354 0.510968 0 0 1.82118 -1.81003 0 -1.77928 -1.37163 -0.113575 0 0 0 0 0.750152 0.110301 0 -0.515795 1.47114 0 0 0 3.65162 0 -1.06925 13.0851 0 -0.453459 2.36804 5.73681 0 -0.331858 2.6026 -3.57725 21.5865 0 0 0 -0.0344196 -0.00651349 0 0 0 0.0110345 0.0088641 0 0.000922749 0 -0.000259126 0.0137466 0 0 0 0 0.0532262 0 0.00347724 0 0.162906 0 0.118067 -0.119431 0 0.000314059 0 0 -0.060814 -0.000292107 -0.0186164 0 0.00118099 0 0.000450598 -0.0329869 -0.00270035 -0.00313877 -0.00343631 0 -1.98926e-05 0 0 0 5.92939e-05 0 0 0.000968324 -0.000157474 0.013001 0.0122536 0 0 -0.00205714 0 -0.00144858 0 0 -0.00336866 -0.00331367 0.137335 -0.00241362 0 0 0.0827456 -0.0611221 -0.0123739 -0.0443409 0.17477 0 0.0490345 0.00296687 0.0352695 0 0 0 -0.0859958 0 0.0151342 0.316717 0 0.00212223 0.0201955 -0.0918733 0 0.000175474 0.00306352 -0.0151559 0.161073 0 0.00313921 -0.0344196 0.308843 -0.00651349 0.898425 0.101215 -0.0315484 0.195573 0.87067 0.00286528 0.0553632 0.483103 0.000377191 0.0512117 -0.00680009 0.0523447 0.0221713 0.0221111 -1.10433 -0.265292 0.323816 -0.00722781 0.286039 -0.19116 0.184039 -0.279866 0.679561 -0.049796 -1.07896 0.543423 2.99245 0.500979 -0.00102553 0.0606281 1.29719 0.0281106 0.0120005 0.0181361 0.0905673 -2.123 0.0609297 -0.0284562 0.292549 -0.898254 0.00513806 0.0721325 -0.25446 -0.190184 0.208903 1.40548 3.11384 0.667752 -0.0362607 1.44469 0.0109522 -0.891953 0.126387 -0.483271 0.383251 0.260211 1.24608 1.01244 -0.222788 -0.286381 -0.436895 0.390121 0.356886 0.0367664 0.673273 -0.185176 0.0144985 -0.0264413 0.000887273 -0.366046 -0.12759 0.148667 -15.9786 -2.43445 -4.85566 -0.518355 -2.06915 4.29225 -0.0826111 -0.403234 0.573707 0.553673 -0.00678785 -0.223064 0.542872 -0.575569 1.65616 0 +190 0 0 0 0 0 0.517993 0.14461 -0.0413824 -1.18247 0 0 0.297219 -0.329845 0 -0.945124 -0.149513 0 0 0 -0.572613 2.59907 0 0 0 0 -0.150985 0 0 -0.28974 -0.634334 -0.0523087 0 -0.508797 0 0 -0.0988683 0.0224108 0 0 0.639086 0.665709 0 0 0.276358 -2.61309 0 0.519826 -0.576013 -2.56933 -0.273084 -1.59781 -0.246532 0 0.370373 -0.497397 0.52355 0.192005 0.36492 -0.143998 0 0 -0.414762 -1.43588 0 -0.0419105 0.894569 0.575875 0 0 0 0 -0.338899 0.281009 0 -1.0365 0.408474 0 0 0 1.8212 0 -1.87284 3.59508 0 -0.0678561 -0.361374 1.65832 0 -0.431246 -0.196 -0.708454 0.418349 0 0 0 0.189112 -0.00799993 0 0 0 0.0073053 -0.070475 0 -0.00229747 0 -0.000744456 -0.041884 0 0 0 0 -0.13743 0 -0.0117423 0 -0.425474 0 0.239656 -0.226855 0 0.000136455 0 0 0.226907 -0.00130242 -0.0764773 0 -0.00929695 0 -0.0036329 -0.0621707 0.0168096 -0.0251183 -0.0160613 0 -4.08379e-05 0 0 0 -0.00046678 0 0 0.00302606 -0.00030065 -0.10302 0.0189514 0 0 0.0234722 0 0.0101254 0 0 -0.0506606 0.000301291 0.32289 0.00919932 0 0 -0.111542 0.120037 -0.0322209 0.152404 0.182387 0 0.0331517 -0.00470823 0.24441 0 0 0 1.00409 0 0.105968 -0.534001 0 0.00888397 -0.0275791 0.109603 0 0.000973697 -0.00374771 0.0172175 -0.273934 0 0.517993 0.189112 0.14461 -0.00799993 -0.347498 0.0295012 0.0729095 -0.198778 1.82425 0.0260667 -0.0198866 -0.117439 0.00459852 0.00639382 -0.015528 0.0781852 -0.00266205 0.111451 -0.943272 0.660491 -0.00671647 -0.127698 -0.103041 -0.138577 0.00633945 -0.0751948 0.931173 0.0258224 4.69041 0.112027 -0.289228 0.347929 -0.00420837 -0.869153 -0.168482 -0.0115487 0.00656566 -0.0354998 0.0343023 -0.522431 0.130416 -0.0113463 1.61717 -1.52846 -0.00372915 0.0237595 -0.217838 0.136472 -0.109957 -0.589124 1.05944 -0.126458 0.0734544 0.906324 -0.0240797 -1.31119 -0.18879 -0.220672 0.345099 -0.163602 -0.944609 0.205061 -0.110152 -1.91 -2.66847 0.0832139 0.100073 0.0307803 0.0822171 0.20662 -0.0170305 -0.00775153 -0.0688704 -0.0895211 0.0242283 -0.37371 1.54437 0.424175 2.0783 -0.253158 -1.2666 3.17393 -0.0246051 -0.343256 0.362575 0.940091 -0.034214 -0.0903145 0.112337 -0.0907077 0.582259 0 +191 0 -1.33222 -0.470107 -0.0362852 -0.250196 0.110661 -0.166675 -0.11444 -0.303708 -0.243709 0.593875 -0.0682754 -0.276942 0.00281029 -0.0599176 0.0385661 -1.84457 -10.4097 -0.0852984 0.0820088 -0.66315 -0.063414 0.0271 -0.00361767 0.0231036 0.197986 -0.367774 -0.0947494 0.309932 -0.262595 -0.176181 -0.0306905 0.32508 0.429683 -0.298892 0.0944386 -0.00560283 -0.288824 4.09548 -0.264465 -0.48783 0.0232894 -1.09508 -0.024767 -0.948965 0.172204 -0.370562 0.121964 0.660179 0.0790012 -0.908917 0.128883 3.86475 -0.13359 0.121399 -0.138648 0.0117965 -0.0735966 -0.0833046 0.079238 -0.0397688 2.44945 0.722085 4.50652 -0.132669 0.415816 0.0376388 1.48574 -0.102048 0.0457694 0.789259 0.495103 0.00751642 0.39212 0.633852 -0.169479 0.985769 -12.8514 -1.95922 -0.195173 -0.832874 1.32145 -3.61543 -0.0599967 0.0955525 -0.525994 -0.0644552 -0.0445966 0.0213769 -0.0603755 0.164566 0.287836 0 0 0 0 0 -0.0362852 -0.250196 0.000610303 0 0 0 0 2.41467e-05 0 -0.0129967 0 0 2.14263e-05 2.00722e-06 -0.00569919 0 -0.00155723 -0.0305985 -0.0560329 0 0 -0.228308 4.99902e-07 0 -0.00594835 -0.764917 0 0 -0.0300275 -0.152962 0 -0.0302709 0 -0.0260635 0 0 -0.00334229 0 0 -0.300906 0.000480744 0.000213057 0 0.0121369 0.0024708 0 0 0.0115121 0 8.38875e-05 0.0279584 7.55891e-05 0 0 -0.000178928 -0.00166709 0 0.000330313 0.0179621 -0.00137544 -0.278706 -0.000453642 0.0337028 0 0.00210042 0.0332437 -0.0364785 0.0100002 -0.00377035 0 0 0 0.477321 -0.00796486 0.0989478 -0.000557756 -0.000466337 0.132835 -3.00123e-05 -2.73433e-05 2.92469e-06 0.0222794 0 0 0 0 0 0 0.110661 0 -0.166675 0 0 0 0 0.301421 -0.560762 0 0 0.578501 0 0.0691441 0 -0.00491878 0 0 -0.0520228 0 0.471721 0.0686377 0.163473 0.00946582 0 0 -0.0877361 0 -8.66024 0 5.62116 -0.654899 0 0.575708 1.41081 0.0224019 0 0.0226591 0 0 -0.0540183 0 -2.38888 -0.265287 0 0 -0.00565272 0 0 0.109624 5.52493 -0.21303 0 -1.98572 0 0.509862 0.299564 -0.0426797 0.871621 0.143633 0.0131886 1.09369 0.092222 1.1145 -1.14114 0.0130408 0 0 0 -0.237919 0.018766 0 0 0 0 0.282346 -38.4671 -5.93999 -2.03407 -2.13538 1.07481 -2.15755 -0.239474 0.0911499 -0.199536 -0.221862 0 0 0 0 0 0 +192 0 0.296096 0.176919 -0.0122078 -0.0757353 0.274133 -0.106133 1.00763 -0.745752 -0.0738079 0.791354 0.0749249 -0.204693 0.000916796 0.183891 0.0151249 1.35063 7.88646 0.00860157 0.0337094 -0.403892 -0.00487473 0.131729 -0.00115843 0.120029 0.124254 0.163291 -0.00463117 0.592846 0.912972 -0.190742 -0.00965613 0.0870983 -0.0991592 -0.202712 0.39161 0.00431526 0.156184 -1.76717 0.173239 -0.499071 0.00792699 -0.012747 0.0128543 0.831207 0.0627498 -0.516648 0.738543 0.21575 -0.0157334 0.944043 -0.00631936 -2.46806 -0.0780754 0.0537429 -0.00803132 -0.325592 0.289655 0.149762 -0.166687 -0.0138721 -1.42944 -1.40527 -1.40613 0.128802 -0.000530199 -1.04884 0.0631834 0.190636 0.0129785 -0.770895 0.00794109 0.0782237 -0.100151 -1.70745 -0.455999 0.0939349 0.46524 -2.8409 2.13063 -0.885375 -0.146149 -0.0923987 -0.274996 0.262315 -1.15302 1.03439 -0.0162507 -0.0271214 -0.152609 -0.163168 -1.00073 0 0 0 0 0 -0.0122078 -0.0757353 0.000518319 0 0 0 0 2.07444e-05 0 0.00245318 0 0 -0.000128972 -2.41422e-05 0.00202565 0 8.50394e-05 -0.0153722 0.0246271 0 0 -0.0714465 -1.39883e-06 0 -0.00211767 -0.517122 0 0 -0.0013398 -0.100206 0 0.000101236 0 -0.00985884 0 0 -0.000583125 0 0 0.0682388 0.000414856 -0.00226037 0 0.0104405 0.00686479 0 0 0.0107464 0 -0.00013748 0.0847241 -0.000493689 0 0 0.000297435 -0.00158038 0 0.000524374 0.0193762 0.000375381 0.504365 -0.0010033 0.00574433 0 0.00246424 0.0142181 0.120586 -0.00181009 0.0138058 0 0 0 0.0286538 0.019974 -0.00996208 0.000845192 0.000836798 -0.0225933 0.000101894 8.93507e-05 0.00018815 -0.0118643 0 0 0 0 0 0 0.274133 0 -0.106133 0 0 0 0 -0.319091 -0.568122 0 0 0.252346 0 0.0478091 0 -0.00932868 0 0 0.378735 0 -0.243152 -0.161631 -0.0915192 0.041289 0 0 -0.183717 0 6.30884 0 -3.12526 -0.0101076 0 -1.29216 -1.27962 0.000251823 0 -0.0556246 0 0 -0.0394888 0 1.15715 1.40648 0 0 0.144596 0 0 -0.236731 -3.033 0.486886 0 -0.30058 0 0.219075 -0.0103079 -0.154954 -0.644498 0.180041 0.121375 -0.863048 -0.135503 1.41761 4.18356 -0.123986 0 0 0 0.256147 -0.0839755 0 0 0 0 -0.0364803 6.54373 -2.45405 7.57933 -0.543483 0.665145 0.938034 -0.198442 0.206604 -0.215764 0.569602 0 0 0 0 0 0 +193 0 0.35231 0.408142 -0.0173264 0.0302562 -0.0463109 0.190538 -0.887063 -2.07444 -0.182993 0.804115 -0.221243 0.166222 0.00197239 0.131593 0.022423 0.868712 -0.19244 0.131159 0.0679998 0.0797514 -0.00379677 -0.417754 -0.00258321 0.223816 -0.541294 0.554676 -0.041635 -0.374426 0.0848504 0.0817692 -0.0231489 0.173498 -0.687492 -0.00269798 -0.335703 -0.0127188 -0.334309 -3.16095 -0.366987 0.636303 0.0182752 -1.58079 -0.0249962 1.07721 0.148131 0.483754 -0.103506 0.579009 0.0317554 -0.255163 0.195822 -2.91571 -0.10985 0.155066 -0.0735341 -0.971472 0.284176 0.427624 -0.184652 -0.0482445 -0.509303 -2.39342 -1.81724 -0.766104 -0.159394 -0.594848 0.166637 -0.136436 0.0495777 -0.388139 0.33595 0.0864001 0.126261 -0.853948 -0.236065 0.369172 11.7511 -1.38802 8.16524 -0.0930578 1.04805 1.21355 -0.696031 0.555227 -0.958237 1.8671 -0.0383624 0.0364512 -0.0921722 0.194791 -0.0930066 0 0 0 0 0 -0.0173264 0.0302562 -0.00192527 0 0 0 0 -7.41643e-05 0 0.00542093 0 0 -0.000436633 -0.000130848 0.00290146 0 -5.34023e-06 -0.0152307 0.0541455 0 0 0.214004 -8.17647e-06 0 -0.0131961 0.101673 0 0 0.0281384 -0.0420161 0 -0.0950682 0 0.00523646 0 0 0.00108264 0 0 -0.432801 -0.00147788 -0.00763485 0 -0.0382661 -0.00624022 0 0 -0.0800134 0 -0.000480918 -0.174986 -0.00147092 0 0 0.000742482 0.00512684 0 0.000482041 0.0640196 0.00652766 0.326895 0.0038801 0.0333168 0 -0.013397 0.0205934 0.224715 -0.0356444 0.111491 0 0 0 1.37799 0.062889 -0.0293168 0.00357035 0.00294951 0.131262 0.000279303 0.000241661 0.000701178 -0.0165475 0 0 0 0 0 0 -0.0463109 0 0.190538 0 0 0 0 -0.220507 -1.21847 0 0 0.42966 0 0.0674472 0 -0.0411052 0 0 0.818298 0 -0.809133 -0.0694495 0.226663 0.113619 0 0 -0.503778 0 0.764267 0 -2.18088 0.110896 0 -0.510968 -1.0388 0.029449 0 -0.0174929 0 0 -0.108837 0 -0.0198401 2.15478 0 0 0.28475 0 0 -0.496051 -0.937639 0.0363598 0 -3.15037 0 0.0546943 0.115677 -0.104232 0.112968 0.236684 0.258031 -0.238245 -0.0936825 1.73619 -3.5256 -0.0894957 0 0 0 0.0551087 0.00694353 0 0 0 0 0.230185 2.13186 -4.97458 6.80689 -0.601342 0.268285 0.984369 -0.248827 0.0936238 -0.155815 0.280346 0 0 0 0 0 0 +194 0 -1.2055 -0.218478 -0.0303658 -0.154709 -0.0815827 -0.0883971 -0.566669 -0.755305 -0.380763 0.634626 -0.334354 0.0634369 0.00290291 0.578229 -0.0810428 0.915873 0.844922 0.168433 -0.117095 5.02211 0.0208938 0.0927427 -0.00513528 0.135796 -0.0333192 0.363939 0.0448503 0.316012 0.0494039 0.063848 -0.0431279 -0.684079 0.634787 0.109895 0.000271275 -0.0448606 0.131951 2.79274 -0.478855 1.98476 0.0149768 -0.407406 -0.0721481 0.862304 0.0140829 0.613715 0.326697 -0.956459 0.231641 -0.000491803 0.187972 -6.9331 0.294634 -0.183648 -0.129117 -1.60527 -0.0767435 0.178777 0.02217 -0.0179258 -0.0253282 -4.47252 0.784003 -1.74557 -0.747128 0.265404 0.389923 0.495954 0.117988 0.770641 -0.294048 -0.822292 0.308842 -1.75175 0.219631 0.0480387 -14.3375 -2.07502 -1.27683 -0.330235 0.730384 -2.32873 -0.292168 0.423028 -0.5242 1.0692 -0.00974452 0.171779 -0.0374125 0.712373 -0.14257 0 0 0 0 0 -0.0303658 -0.154709 -0.000487106 0 0 0 0 0.000304065 0 -0.0192214 0 0 1.86288e-05 -0.0001737 -0.00473811 0 -0.00142889 -0.0131399 -0.0561909 0 0 -0.260722 -4.14705e-06 0 0.00837048 -0.253859 0 0 -0.0274455 -0.0341628 0 0.0488129 0 -0.034408 0 0 -0.0030802 0 0 -0.158076 0.00638422 0.000772804 0 -0.000311617 -0.0304288 0 0 0.082496 0 -0.00417123 0.155411 0.00437874 0 0 -0.00134994 -0.000809425 0 0.0135214 0.074548 -0.00215657 -0.846721 -0.0129695 0.00193643 0 -0.0232458 0.0098877 -0.230901 0.0454647 -0.00217617 0 0 0 -1.1825 -0.128719 -0.00869447 0.00896943 -0.0205123 -0.00574319 -0.000190289 -8.26713e-05 -0.00363457 0.0373453 0 0 0 0 0 0 -0.0815827 0 -0.0883971 0 0 0 0 0.0809637 -0.214234 0 0 0.780067 0 0.0818658 0 0.0160797 0 0 -0.1239 0 0.512776 0.0775353 0.415264 0.0283106 0 0 0.0254096 0 -0.778635 0 6.58604 0.0849141 0 0.315864 2.09558 0.0409758 0 0.0302157 0 0 0.00265904 0 0.193989 -0.266073 0 0 0.0512535 0 0 -0.492195 3.46563 0.00992412 0 -1.81135 0 0.652051 0.381992 -0.0998859 0.770358 0.181895 0.0571619 0.838705 0.0687672 1.21141 2.55561 -0.0142302 0 0 0 0.137748 0.0719183 0 0 0 0 0.0422521 -45.3131 -8.11124 -1.14586 -2.54357 1.13007 -2.35518 -0.353329 0.109745 -0.236195 -0.142554 0 0 0 0 0 0 +195 0 0.220527 0.150908 -0.00611383 -0.0403884 0.448996 0.022816 -0.469766 -2.43553 -0.0390357 0.411374 -0.180283 -0.693541 0.0009526 -2.63022 -0.041916 0.475663 2.8988 0.124649 -0.0515567 -0.903655 -0.00350195 -0.192378 -0.00216759 -0.057317 -0.322293 0.127995 0.00689256 0.367129 2.06161 -0.493291 -0.012942 -0.330142 -0.422094 0.205807 -0.0103653 -0.0238974 -0.0229324 -1.26772 -0.131195 -0.372625 0.00494019 0.497984 -0.0218101 -3.25009 0.00282092 -0.232059 0.995403 -0.441803 0.09743 -1.25666 0.164022 1.78447 0.103779 -0.0607336 0.34671 3.00692 0.387312 0.0731396 0.00921149 -0.00212234 -0.599546 0.741839 -0.745164 1.22967 0.133196 0.354104 -0.21542 0.287277 0.0172864 -0.756833 -0.330461 0.0117114 0.0635267 2.08153 -0.408837 -0.0564468 1.62856 -2.57829 8.69591 -1.3278 2.03467 -2.4301 -0.0350041 0.548041 -1.92648 3.08766 -0.00195191 0.0466133 -0.717329 1.08369 -5.94941 0 0 0 0 0 -0.00611383 -0.0403884 0.00216367 0 0 0 0 0.000398717 0 -0.0141009 0 0 -0.000746316 -0.00151702 -0.00795085 0 -0.00109509 0.000575267 -0.107675 0 0 0.179026 -9.84644e-05 0 0.016766 -0.0215078 0 0 0.0256272 -0.0311265 0 0.103601 0 0.0090786 0 0 0.0017621 0 0 0.336155 0.00789228 -0.00883059 0 0.0416458 0.000360481 0 0 0.162916 0 -0.000897606 0.0668896 0.0035823 0 0 0.00196891 -0.00709336 0 0.00119043 0.0124573 0.0107156 0.306411 -0.015707 -0.0341896 0 0.00745072 -0.0329509 0.140494 -0.0358168 0.0571414 0 0 0 -0.159116 0.0787929 0.406568 -0.00096344 0.021525 -0.193025 0.000614055 0.00126331 -0.0112682 0.0857122 0 0 0 0 0 0 0.448996 0 0.022816 0 0 0 0 -0.469423 -0.749911 0 0 0.332313 0 0.039258 0 -0.0372405 0 0 0.975106 0 -0.329187 -0.107944 0.0640442 0.102623 0 0 -0.467631 0 3.57207 0 -0.76407 -0.243858 0 -1.42828 -0.480571 0.00458103 0 -0.0232297 0 0 -0.0507098 0 0.146676 2.37012 0 0 0.233149 0 0 -0.421198 -1.35261 0.228273 0 -1.81131 0 0.621594 0.0396365 -0.153494 -0.415875 0.193929 -0.141807 -0.501174 -0.192707 0.930346 -3.72678 -0.231464 0 0 0 0.185841 0.0177696 0 0 0 0 -0.0111686 -11.9935 -4.79986 8.21176 -1.28518 0.892347 0.0432341 -0.200842 0.142667 -0.183194 0.55058 0 0 0 0 0 0 +196 0 1.52511 -0.0786125 0.0666015 0.388583 -0.352006 -0.278916 0.851549 2.76284 0.342403 -1.54707 0.220189 0.212456 -0.0113356 0.112848 -0.00721736 -0.543839 1.84986 -0.151351 -0.0433198 -0.946821 0.0162884 0.456581 0.0110986 -0.219629 0.825458 -0.5344 -0.0358259 0.551708 0.139039 -0.0408751 0.0684705 -0.201546 0.268429 -0.131737 0.448133 0.0336081 -0.127653 -2.09724 0.667696 -1.20116 -0.0898748 0.00357085 0.092026 1.05105 -0.66902 -0.969275 0.484782 -0.367436 -0.229489 -0.0850896 -0.53593 -3.76888 0.0725171 0.105503 -0.0393857 -3.06793 0.0527401 0.218841 0.632601 0.242526 -0.488874 0.775564 1.91207 -2.66148 -0.598875 0.124778 2.07899 0.351654 -0.116136 1.66927 0.152255 -0.109289 -0.209332 -1.42859 -0.473227 -0.142682 8.12283 3.33981 -4.17334 2.96469 -2.85662 2.09194 1.35403 -1.34499 1.86432 -3.87143 0.462923 -0.521244 0.917226 -0.9031 -0.40124 0 0 0 0 0 0.0666015 0.388583 -0.00330488 0 0 0 0 -0.000813759 0 -0.0025053 0 0 -0.00270608 -0.00443291 0.00718071 0 0.000292807 0.0368387 0.0597709 0 0 0.127068 -0.000250153 0 -0.0256279 0.393113 0 0 0.01145 0.114295 0 -0.168022 0 0.0406842 0 0 0.00332669 0 0 -1.13354 -0.0160749 -0.0505443 0 -0.0596183 0.0185698 0 0 -0.16829 0 -0.00048074 0.205584 -0.00670286 0 0 0.00426208 0.00926516 0 0.00339922 0.117907 0.0184295 -0.142206 0.046076 0.00325576 0 -0.0432586 0.0215455 0.26978 -0.0957414 -0.0341109 0 0 0 6.48904 0.432589 0.0463717 0.0392872 -0.00269305 0.268697 0.00182999 0.000607301 0.013752 -0.050684 0 0 0 0 0 0 -0.352006 0 -0.278916 0 0 0 0 0.0916251 0.524925 0 0 -0.552469 0 -0.0643026 0 -0.0152782 0 0 -0.252653 0 0.629831 0.0266948 -0.104606 -0.0377508 0 0 -0.109857 0 -0.732802 0 -1.65569 -0.610442 0 0.448003 0.311659 -0.0147494 0 0.00740532 0 0 0.0326947 0 -1.47675 -0.485939 0 0 -0.0689207 0 0 0.430888 -3.00494 -0.0445727 0 0.5898 0 -0.303843 -0.0667995 0.0139367 0.066652 -0.0895887 -0.544099 -0.223444 0.0631512 -0.41774 -2.85397 0.0203292 0 0 0 -0.130123 0.0313378 0 0 0 0 -0.0813242 18.9888 3.00337 -0.603121 1.17727 -0.730199 0.980909 0.335076 -0.246595 0.27276 -0.204782 0 0 0 0 0 0 +197 0 0 0 0 0 0.198149 -0.196371 0.109115 0.314999 0 0 -0.106279 -0.432449 0 -0.223568 -0.00340693 0 0 0 0.022026 1.39 0 0 0 0 0.293101 0 0 0.537852 0.681699 -0.340191 0 -0.0492196 0 0 0.165137 -0.0105982 0 0 -0.394436 0.159502 0 0 -0.0245836 -0.019307 0 -0.295198 0.529836 0.106768 0.0235265 -0.433817 0.0839404 0 -0.0713185 -0.110561 0.354173 1.77163 0.188454 0.233592 0 0 -1.15525 -2.50785 0 -0.0249772 0.141253 -0.39901 0 0 0 0 0.0535082 -0.111293 0 0.234209 -0.231736 0 0 0 -2.08528 0 0.25204 -2.13342 0 -0.00584356 -0.763215 -0.322291 0 0.134268 -1.18874 3.01136 -6.20631 0 0 0 0.00502656 2.85033e-05 0 0 0 9.76286e-05 0.000850195 0 1.04059e-06 0 8.35376e-06 7.06485e-06 0 0 0 0 0.000259493 0 1.49226e-06 0 0.00134674 0 0.00192236 -0.00231377 0 -2.37233e-06 0 0 -0.0027762 0.000103035 -1.25142e-05 0 4.89978e-06 0 5.96555e-05 0.00136562 -0.000208094 0.00146843 7.56019e-06 0 5.86158e-07 0 0 0 3.43803e-07 0 0 -0.000271102 9.41781e-05 -0.00108306 0.000679245 0 0 0.000103703 0 -0.000102757 0 0 -0.000136189 0.000373733 -0.0010792 0.000580197 0 0 -0.00147314 -0.000702583 1.99834e-05 -0.000112888 -5.33681e-05 0 0.00113681 0.000163169 0.00725662 0 0 0 -0.00107713 0 -0.00117445 0.00222041 0 0.000145777 -0.000275606 0.000241687 0 -0.000130036 0.000245846 -0.00046279 0.000680622 0 0.198149 0.00502656 -0.196371 2.85033e-05 0.358014 0.0158745 4.37702e-05 0.566127 -0.00846677 -1.59209e-07 -0.0372613 -0.00743502 -7.15405e-10 -4.62505e-05 2.05537e-07 -2.35551e-05 -0.0260915 -3.39043e-05 1.09261 -0.131188 0.278101 0.0340758 -0.00198808 0.0975424 -0.145375 0.00436817 -0.00473787 0.0188844 4.05796 -0.241025 2.21615 -0.528698 9.23584e-10 0.400091 1.04672 -1.38918e-05 -0.00750133 0.103659 -0.066133 0.002214 -4.19181e-05 -0.00359125 0.626107 1.27479 -0.00584484 -0.0310636 0.0885851 0.0263662 -0.0475297 -0.0549317 -2.36187 -0.577957 0.0243634 -0.30542 -6.83328e-08 -1.04297 -1.70041e-05 0.260563 0.00140492 0.038416 -0.309858 -0.00240372 0.216482 0.000475318 -2.04817 -0.216651 0.228253 -0.139292 -0.0171849 0.165572 2.08956e-05 0.056491 6.26281e-08 -0.0280233 0.141911 1.43711e-05 -15.3463 0.017559 -3.29838 0.000102836 1.12819 -3.16062 1.74025e-07 0.3654 -0.786478 0.527412 4.45278e-10 0.194444 -0.368388 0.514634 -0.112465 0 +198 0 0 0 0 0 0.863646 0.214489 -0.317375 -2.92 0 0 0.0237704 -0.273535 0 -0.402519 -0.000745614 0 0 0 -0.00137105 3.54097 0 0 0 0 -0.441744 0 0 -0.110812 -4.17463 -0.197512 0 -0.0452195 0 0 -0.0500473 0.00511866 0 0 0.149885 -0.324937 0 0 0.0487898 0.507481 0 -0.44445 -0.604874 -0.19938 -0.0483775 1.0625 -0.0299765 0 0.0251385 0.0884341 -0.418036 -0.69198 -0.109591 0.0577045 0 0 0.784395 -1.3886 0 -1.17707 -0.550454 -0.699629 0 0 0 0 -0.132112 -0.0541334 0 -2.31373 0.571145 0 0 0 5.39625 0 -0.0201425 4.67321 0 -0.174614 0.534193 4.74523 0 -0.311817 0.933309 -1.49525 9.26336 0 0 0 0.0137308 7.78611e-05 0 0 0 0.000319357 0.00222469 0 3.22095e-06 0 2.26948e-05 1.70195e-05 0 0 0 0 0.000818624 0 4.48483e-06 0 0.00306634 0 0.00623001 -0.00556901 0 -6.92715e-06 0 0 -0.0074317 0.000279104 -3.13882e-05 0 1.30208e-05 0 0.000156099 0.00341103 -0.000628187 0.00397771 1.94634e-05 0 1.59243e-06 0 0 0 9.13626e-07 0 0 -0.000734367 0.000246434 -0.00309915 0.00184813 0 0 0.00020259 0 -0.000268881 0 0 -6.22996e-05 0.000918132 -0.00266063 0.00151795 0 0 -0.00398187 -0.00210267 -1.17303e-05 -0.000120269 -0.000176981 0 0.00325164 0.000507636 0.0170546 0 0 0 -0.00245246 0 -0.00318138 0.00594388 0 0.000394885 -0.000737778 0.000713027 0 -0.000352245 0.000658113 -0.0012446 0.00182198 0 0.863646 0.0137308 0.214489 7.78611e-05 0.780779 0.20458 0.000119565 -0.707899 -0.0170309 -4.34903e-07 0.00457654 -0.0246526 -1.95424e-09 -0.0001425 5.61457e-07 -5.10892e-05 -0.00133392 -9.26147e-05 0.552475 1.7117 -0.00811931 -0.349794 -0.00844826 0.100231 -0.0212153 -0.348445 -0.00938005 0.0222154 4.49758 0.100137 1.38023 0.487694 2.52291e-09 -2.04384 -0.0497065 -4.9176e-05 0.00249805 -0.0839906 0.0228475 -1.96512 -9.18166e-05 -0.0574448 1.79552 1.75427 0.000716761 0.0135046 0.234241 0.185028 -0.0605528 0.353655 1.96116 -0.06949 -0.021332 -0.347714 -1.86661e-07 -0.111487 -3.89405e-05 -0.208858 0.00998225 0.155511 -0.429936 -0.000814094 0.0867404 -0.00284402 -2.25303 -0.270664 0.378641 0.0367629 0.540667 -0.000210401 6.24275e-05 -0.0156478 1.71078e-07 0.0503042 -0.211947 3.29107e-05 -9.55776 0.0802594 5.4185 0.000311603 -0.31675 5.28424 5.03892e-07 -0.012446 0.0952319 2.51046 1.21635e-09 -0.109154 0.418388 -0.69973 2.93797 0 +199 0 0 0 0 0 0.00326268 -0.317154 0.938009 1.24101 0 0 -0.0381803 -1.63722 0 -2.30709 0.00381749 0 0 0 0.041726 -1.37531 0 0 0 0 0.244941 0 0 0.611515 -0.271868 -0.927275 0 0.101302 0 0 0.266365 -0.00997313 0 0 -0.36735 -1.56866 0 0 -0.133171 -3.6963 0 -1.22905 0.593381 0.555365 0.202835 -0.837405 0.0793742 0 -0.0651715 -0.0295648 0.0131923 2.5719 -0.0328153 -0.0325246 0 0 -2.28696 3.2767 0 0.853184 0.149267 -1.67641 0 0 0 0 0.0511664 -0.301704 0 3.12802 -0.815118 0 0 0 -2.82063 0 0.583752 -0.735062 0 0.6677 -0.709703 -2.3586 0 0.820424 -1.36775 2.4295 -4.64258 0 0 0 -0.0194044 -0.000110033 0 0 0 -0.000331452 -0.00359564 0 -3.69056e-06 0 -3.26488e-05 -2.22785e-05 0 0 0 0 -0.000988614 0 -5.71183e-06 0 -0.00385674 0 -0.00658175 0.00758173 0 1.00183e-05 0 0 0.0109481 -0.000405298 4.32847e-05 0 -2.00818e-05 0 -0.000252295 -0.00492773 0.000919332 -0.00577621 -2.79048e-05 0 -2.29086e-06 0 0 0 -1.40908e-06 0 0 0.00106641 -0.000398298 0.00448913 -0.00266933 0 0 -0.000262601 0 0.000434578 0 0 -0.000172226 -0.0012383 0.00355101 -0.00214926 0 0 0.00580606 0.0030787 1.26964e-05 0.000122594 0.000319395 0 -0.00467939 -0.000738734 -0.0234132 0 0 0 0.00308462 0 0.00461981 -0.00875628 0 -0.00057343 0.00108686 -0.00113136 0 0.000511511 -0.000969505 0.00182324 -0.00268407 0 0.00326268 -0.0194044 -0.317154 -0.000110033 0.367002 0.0530283 -0.00016897 0.151163 0.0296565 6.14605e-07 0.0240576 0.0349333 2.76173e-09 0.000201732 -7.93452e-07 8.13821e-05 0.0330182 0.000130883 -0.287836 0.0672214 -0.333648 0.0827217 0.0113149 -0.0898508 0.294541 -0.0596393 0.0157236 0.00418647 0.0031709 -0.125114 -0.522059 -1.24177 -3.56538e-09 0.880835 -0.761336 6.71728e-05 -0.00584282 0.0238701 -0.042652 -0.31833 0.000150551 -0.0116513 -1.27331 -0.0270394 0.00210703 -0.0212461 -0.118687 0.0117779 0.0235465 0.398819 -0.872434 -1.53372 -0.0357396 -2.26393 2.6379e-07 -2.17085 6.19128e-05 0.169888 -0.0134232 -0.280248 -0.516131 0.00640049 -0.0489828 0.0120473 -6.83003 -0.0160049 0.364645 0.00818787 -0.0978085 0.0363463 -8.83387e-05 0.0209083 -2.41768e-07 -0.050787 -0.0132787 -5.23259e-05 3.61512 -0.119024 -3.39425 -0.000449738 0.0765579 1.73282 -7.12721e-07 0.188115 -0.235146 0.31217 -1.71894e-09 0.179185 -0.23785 0.303197 0.360391 0 +200 0 -0.0825556 -0.232015 0.00051196 0.010388 0.185325 -0.00490765 -0.0327161 0.561817 0.00297759 -0.337823 0.0251537 -0.122713 -6.53467e-07 -0.540332 0.000928775 -0.30609 -0.582548 -0.0678349 0.00154984 -1.31282 -0.00715739 0.20538 9.07519e-07 -0.0216886 0.102111 -0.210554 0.000935705 -0.228322 -0.553384 -0.0238753 5.30654e-05 0.0490038 0.687925 0.0146274 0.0022399 0.000560675 0.0118658 2.57798 0.0505644 -0.582558 -3.4479e-05 0.17312 0.00118208 -1.29587 -0.00159017 -0.196358 -0.391681 0.0738196 -0.00189561 -1.54807 0.0506933 2.15521 -0.00174599 0.000927144 -0.0272579 0.525517 0.114232 -0.0493654 0.00689119 4.17376e-05 1.41285 2.31848 -0.239792 -0.896469 0.333275 0.9989 0.157658 -0.11393 -5.71642e-05 0.108944 -0.0495219 0.0711595 -0.0660512 1.2438 0.514622 0.399742 -13.2455 -0.331072 -4.50939 -0.226421 -0.345873 -1.79081 0.12173 -0.359317 0.769891 0.00604296 3.10367e-06 -0.000111645 0.00436278 -0.143237 2.66065 0 0 0 0 0 0.00051196 0.010388 0.00016874 0 0 0 0 1.94422e-06 0 -0.00114779 0 0 0.000452398 0.00014505 -0.000202882 0 -2.332e-05 0.000235826 -0.011501 0 0 -0.0178171 1.0548e-05 0 -3.13898e-05 -0.0119163 0 0 -0.00273782 0.00421421 0 -0.0103395 0 -0.000174037 0 0 -4.16758e-05 0 0 -0.00253854 3.06623e-05 0.00618512 0 0.00313552 0.00651876 0 0 -0.0107199 0 0.000325439 -0.0344018 -0.000109992 0 0 -0.00092732 -0.000275046 0 0.00153184 0.00137378 0.00243103 -0.101988 0.00720668 -0.00260021 0 0.00112008 0.00410524 -0.00037451 -0.00202319 -0.0128016 0 0 0 0.180162 0.00674827 0.0294694 -0.00281161 0.00450463 0.0350327 -0.000599892 0.00114163 -0.00234365 0.00667603 0 0 0 0 0 0 0.185325 0 -0.00490765 0 0 0 0 0.138178 -0.17789 0 0 -0.244052 0 -0.032166 0 -0.00940283 0 0 -0.824785 0 0.394806 0.0267479 -0.102023 -0.117606 0 0 -0.066039 0 -5.04158 0 1.03547 0.10474 0 0.216831 0.75228 -0.0115658 0 0.0114452 0 0 -0.0317341 0 -0.85008 -1.89424 0 0 -0.26999 0 0 0.323884 -0.787538 0.00656871 0 0.969263 0 0.246233 -0.170831 0.113053 0.151311 0.0499077 -0.123339 0.0599207 -0.026238 0.662148 4.47055 0.0598861 0 0 0 0.00235213 0.0406534 0 0 0 0 0.0362114 -4.91255 1.73372 -2.85123 0.409459 -0.464672 -0.0959866 0.147635 -0.151645 0.192433 -0.134743 0 0 0 0 0 0 +201 0 1.96749 0.674078 -0.000955242 -0.040232 0.39993 0.329443 -0.79411 -2.42144 -0.00428079 0.033338 -0.00870094 0.109545 1.12434e-06 0.0427305 -0.000513662 1.37348 4.08195 -0.0110545 -0.00131928 0.613105 -0.000690599 -0.310877 -1.44597e-06 0.00661085 -0.58768 0.735177 4.98521e-05 -0.495823 -1.27576 0.129687 -8.06429e-05 -0.0129592 -1.04128 -0.019991 -0.301144 -0.000391512 0.0289944 -5.08952 -0.0389447 0.999832 6.34742e-05 -0.117247 -0.0011836 0.66903 0.00337163 0.835197 -0.839999 -0.0469903 0.00208642 1.21467 0.0446719 -3.03794 0.0015078 -0.00135882 0.0455301 -1.31552 0.138995 0.0529366 -0.00917615 -7.45284e-05 -2.26421 -0.441787 -0.507302 2.26086 -0.114965 0.774635 -0.438545 0.0706773 7.82669e-05 0.0163759 -0.208408 0.0118872 -0.0207289 0.593573 1.09003 -0.139883 26.1479 1.32771 12.5265 0.83603 -0.430199 12.2172 -0.0296985 0.189363 -0.376488 7.78577 -6.5807e-06 0.0001701 -0.00686033 0.0436402 6.13383 0 0 0 0 0 -0.000955242 -0.040232 0.000107479 0 0 0 0 7.7797e-07 0 0.00132523 0 0 -0.000666166 -0.000221979 0.000248432 0 3.24616e-05 -0.000370818 0.0100234 0 0 0.00703216 -1.61147e-05 0 -0.000132391 0.0273718 0 0 0.0021883 -0.00791263 0 -0.00368013 0 0.000172981 0 0 5.35274e-05 0 0 -0.0706701 1.03111e-05 -0.00919207 0 0.00139498 -0.0124943 0 0 0.0256045 0 0.000222147 0.0296628 -0.00166091 0 0 0.00136342 -0.000187749 0 -0.00307277 0.00277712 -0.00409705 -0.0118218 -0.0123885 0.00587795 0 -0.00168407 0.00476674 0.00901106 -0.00719365 0.0194019 0 0 0 0.27371 0.00521055 0.00939827 0.00702214 -0.0133171 0.0249077 0.000876488 -0.00167217 0.0036507 -0.00429463 0 0 0 0 0 0 0.39993 0 0.329443 0 0 0 0 0.0259372 -0.0100612 0 0 0.0798451 0 0.00951435 0 0.00192736 0 0 0.16569 0 -0.92162 -0.133742 0.00133072 0.0147458 0 0 0.0114792 0 3.61313 0 -6.84124 0.137401 0 -0.983286 -1.96494 0.00109885 0 -0.00238711 0 0 0.000858544 0 0.30331 1.42947 0 0 0.165997 0 0 -0.0187832 -4.95608 -0.05208 0 -0.557228 0 -0.999299 0.0935134 -0.158579 0.0465983 0.131209 -0.993072 -0.718187 0.0130554 -0.195923 -1.92914 -0.201049 0 0 0 -0.0132725 -0.00927423 0 0 0 0 -0.0811877 45.6238 1.44796 7.04133 1.06267 -0.802234 3.19366 -0.078406 0.112038 -0.188638 0.733884 0 0 0 0 0 0 +202 0 0.154267 -0.0198765 -0.00170606 -0.0861703 0.30864 0.196888 -1.575 -2.80103 -0.00677003 -0.33502 -0.0431199 -0.323089 1.94288e-06 -1.12341 -0.00157297 -0.298116 -1.96064 -0.0945513 -0.00330145 -2.84517 -0.0112436 -0.0423609 -2.41267e-06 -0.0897113 -0.505797 0.112057 -0.00198201 -0.75837 -2.4519 0.0181422 -0.000131414 -0.0737784 -0.190701 -0.0203224 -0.345768 -0.00100733 0.0601356 -0.701768 -0.118898 -0.606505 0.000112775 0.261782 -0.00264235 -3.33006 0.00629953 0.118142 -1.45955 -0.164673 0.00433111 -1.12592 -0.163855 1.25891 0.00302514 -0.00386526 0.103983 1.3104 -0.00265112 0.0859681 0.110205 -0.000130809 1.56162 2.11272 0.455273 -1.10003 0.0363201 1.5374 0.167951 0.0919424 0.000120288 0.0546404 -0.00228488 -0.064503 -0.0747805 2.30726 1.13457 -0.205762 10.1818 2.13792 9.87895 1.50039 -0.669953 11.1342 0.52252 -0.433354 0.597481 11.184 -1.22953e-05 0.000362835 -0.0127512 0.189767 11.7887 0 0 0 0 0 -0.00170606 -0.0861703 -0.000198399 0 0 0 0 -5.4677e-06 0 0.00265566 0 0 -0.00134697 -0.000419811 0.000500729 0 6.41066e-05 -0.000555627 0.0194119 0 0 0.0066882 -3.04666e-05 0 -0.000170366 0.0566314 0 0 0.00381236 -0.012148 0 -0.0152883 0 0.000385615 0 0 0.000107081 0 0 -0.150345 -7.12946e-05 -0.0185983 0 -0.0018958 -0.0239115 0 0 0.0447334 0 -0.000426824 0.0271403 -0.00156489 0 0 0.00275649 0.000360732 0 -0.00593862 0.00858024 -0.00818407 -0.163071 -0.019575 0.0115377 0 -0.00420535 0.0123433 0.0150433 -0.0181661 0.0296071 0 0 0 0.791087 0.0332389 0.0315348 0.0111834 -0.022223 0.0948356 0.00177125 -0.0033798 0.00741042 -0.00510067 0 0 0 0 0 0 0.30864 0 0.196888 0 0 0 0 0.448281 0.553098 0 0 0.138092 0 0.0118245 0 0.00854431 0 0 -0.232214 0 0.189293 -0.0242727 -0.0680045 -0.0279455 0 0 0.0662421 0 -0.206652 0 3.56054 0.427309 0 -0.109329 1.29453 -0.00680449 0 0.0554586 0 0 0.0693556 0 -0.0989987 -0.454554 0 0 -0.0526631 0 0 0.0539675 0.457069 0.578526 0 1.06227 0 0.195199 0.17796 -0.211706 -0.255615 0.0358567 0.572773 0.396349 0.0109402 0.0548458 2.06494 0.0487921 0 0 0 0.0743921 -0.0314357 0 0 0 0 -0.105304 -27.7181 -0.602332 -3.76292 0.51283 -0.646152 -1.55363 0.0228885 -0.0112252 -0.111192 0.180558 0 0 0 0 0 0 +203 0 0.149304 -0.0521563 0.0003213 0.00886409 0.193579 0.132345 0.383092 0.589974 0.00161919 -0.573983 0.012865 0.217164 -2.01956e-07 0.210844 -7.02366e-05 -0.322549 -2.19598 -0.134497 -0.000346048 0.110452 -0.0172731 -0.0559542 2.89402e-07 -0.0703842 -0.0195311 0.0329531 -0.00717689 -0.447669 -0.197736 0.225716 2.21757e-05 -0.000272245 0.080533 -0.024682 -0.134939 0.000205829 -0.0256121 -0.240388 0.0111159 0.345825 -1.42965e-05 -0.0415282 0.000203036 0.0937766 -0.000875906 0.472724 -0.306943 -0.0183008 -0.000268368 -0.0499025 -0.142224 4.14223 0.000465918 -0.000264907 0.00488195 0.246809 0.0292106 -0.00358044 0.110497 1.45202e-05 0.398648 0.916437 0.617248 1.24459 0.558937 0.44876 0.0928038 -0.201967 -1.9654e-05 0.255653 -0.0821391 -0.00214642 0.00713456 -0.201996 0.0254977 0.10166 2.35304 0.562851 0.954547 0.132804 -0.455357 2.41463 0.321595 -0.636952 1.38112 -1.07876 6.70333e-07 -7.77254e-06 0.000344402 -0.00420491 0.121336 0 0 0 0 0 0.0003213 0.00886409 0.000304923 0 0 0 0 4.19547e-06 0 -0.00120604 0 0 0.000494184 0.000115854 -0.000119589 0 -1.98068e-05 0.000125776 -0.00916848 0 0 -0.00821485 8.03029e-06 0 -6.86073e-05 -0.0408478 0 0 -0.000733842 0.000998648 0 -0.0101255 0 4.46181e-05 0 0 5.1131e-06 0 0 -0.0185838 6.31975e-05 0.00730403 0 0.0049728 0.00117953 0 0 0.00051382 0 0.000605757 -0.00117488 -0.000549966 0 0 -0.00100065 -0.000511958 0 0.000780209 0.0131465 0.00167066 -0.0968679 0.00239043 -0.000406644 0 -0.000502557 0.00585306 -3.95377e-06 -0.00503819 0.00425751 0 0 0 0.206715 -0.000186999 0.0279718 -3.59982e-06 -0.00125809 0.0310504 -0.000603064 0.000727161 -0.00165846 0.00426365 0 0 0 0 0 0 0.193579 0 0.132345 0 0 0 0 -0.181716 -0.0675843 0 0 -0.202529 0 -0.0333577 0 -0.0148974 0 0 -0.596147 0 -0.487662 -0.0518754 -0.139969 -0.101112 0 0 -0.0959812 0 -5.29535 0 -2.65664 0.0454726 0 -0.310876 -1.31739 -0.0164543 0 -0.0266436 0 0 -0.0201814 0 -1.04952 -1.57137 0 0 -0.247998 0 0 0.630389 3.03354 0.106801 0 1.78999 0 1.1698 -0.191224 0.214903 0.421119 -0.0325777 -0.41119 -0.0190804 -0.013606 -0.0632334 2.14375 -0.00546212 0 0 0 -0.0521866 0.0536979 0 0 0 0 0.00961793 16.2326 1.44774 1.55215 0.438912 -0.438612 1.63212 0.206851 -0.201172 0.214209 0.121944 0 0 0 0 0 0 +204 0 1.28357 0.0539786 0.000535577 0.0282254 0.288698 -0.108477 -0.0202661 -0.790312 0.00204293 0.284131 0.00536271 0.248424 -2.9938e-07 0.0693618 -0.000259832 -0.232956 2.20605 0.0604042 -0.000721176 -2.36017 0.00775227 0.179012 3.871e-07 0.0718581 0.0625819 -0.413272 0.000946755 0.398232 0.8349 0.0288511 2.87622e-05 -0.0160275 -0.211571 -0.0087144 0.295528 0.000133742 -0.0123097 -2.43603 0.00519891 -1.51412 -2.24749e-05 -0.0753208 0.000126171 1.52867 -0.00157053 -0.833995 0.375161 -0.0463939 -0.000177611 0.467443 0.0838031 -1.68749 0.000603528 -0.000606119 0.00668764 -1.67911 0.02953 -0.011095 -0.0835115 2.17494e-05 -1.21178 3.43171 -0.776441 0.660846 -0.133975 0.0733144 -0.641461 0.116844 -2.27212e-05 -0.063994 -0.140065 0.000374176 0.0213414 0.597839 -0.179613 0.0462039 1.57826 -0.716779 0.341427 -0.199217 0.168249 -0.672116 -0.417204 0.45156 -0.613967 0.895239 1.20193e-06 -8.29913e-06 0.000162382 0.0017592 -0.512315 0 0 0 0 0 0.000535577 0.0282254 0.000209555 0 0 0 0 4.00806e-06 0 -0.00165123 0 0 0.000603075 0.000150319 -0.000137242 0 -2.83803e-05 0.00016964 -0.00828085 0 0 0.01097 1.05235e-05 0 5.91177e-05 -0.0254514 0 0 0.00124922 0.0037083 0 -0.000602922 0 0.000213889 0 0 2.31806e-05 0 0 0.000976224 5.82572e-05 0.00864916 0 0.00320354 0.00414709 0 0 -0.009623 0 0.000421657 0.00228079 -0.000106464 0 0 -0.00122776 -0.000356365 0 0.00134815 0.0103028 0.00203856 -0.0338851 0.00259438 -0.00213651 0 0.000108667 0.00139947 -0.00481264 -0.00231914 -0.00112795 0 0 0 0.0623007 -0.0037559 0.0121512 -0.000681556 0.000328523 0.0102622 -0.000756826 0.000877514 -0.00121895 0.00189005 0 0 0 0 0 0 0.288698 0 -0.108477 0 0 0 0 -0.408124 -0.193992 0 0 0.0405496 0 0.0109611 0 -0.00293813 0 0 -0.724514 0 0.36593 -0.148939 0.0201398 -0.114774 0 0 -0.0316196 0 -4.09097 0 -5.01769 -0.599899 0 -1.26912 -0.476937 0.00265449 0 -0.0528287 0 0 -0.0223322 0 -1.86086 -0.869575 0 0 -0.171602 0 0 0.422373 -1.19638 0.931234 0 1.73906 0 1.91751 0.00325962 -0.11887 0.12474 0.0869954 -0.813301 -0.731547 -0.0357386 0.603714 5.85974 -0.086284 0 0 0 -0.0276132 0.0213111 0 0 0 0 0.0605321 38.1002 1.20884 7.64489 0.822106 -1.01139 3.18199 -0.140136 0.120754 -0.090988 0.887003 0 0 0 0 0 0 +205 0 -0.277383 -0.127356 -0.00103065 -0.0730377 0.162087 0.120705 0.0836407 0.148594 -0.00301809 -0.351888 -0.0289721 1.10957 5.24249e-07 2.0719 0.000328714 -0.390393 -0.338909 -0.0583646 0.000978075 0.967444 -0.0120098 0.126801 -6.12263e-07 -0.104617 0.0430978 -0.173608 0.00178706 -0.109462 0.535985 0.725623 -4.39315e-05 0.0131639 0.290091 0.0767248 0.0369774 -0.000370153 0.0521831 1.4912 -0.040924 0.727983 4.13625e-05 0.570663 -0.000426454 3.18674 0.00317607 0.542379 0.0719654 0.0445587 0.000453942 1.12364 -0.14505 1.79513 -0.000664275 0.000843699 -0.00389613 -2.29545 -0.143002 1.48461e-05 0.101996 -3.84375e-05 1.04923 -0.573059 -1.07046 -1.23937 -0.00139912 0.308348 0.245505 -0.0358745 2.97485e-05 0.0578305 0.0307429 -0.00135875 -0.0576798 -2.32388 0.215636 -0.0715283 -6.7347 0.639205 -2.30029 0.633502 -0.824892 -1.28027 0.631892 -0.797396 1.12484 -0.791177 -2.43065e-06 2.84198e-05 -0.00117955 0.0147093 -0.328893 0 0 0 0 0 -0.00103065 -0.0730377 -0.000469477 0 0 0 0 -8.89966e-06 0 0.00263544 0 0 -0.00104442 -0.000258413 0.000215889 0 4.8075e-05 -0.000398703 0.00946447 0 0 -0.035553 -1.82595e-05 0 -0.000301575 8.15646e-05 0 0 -0.00349432 -0.0152529 0 -0.0194589 0 -0.000388447 0 0 -3.95063e-05 0 0 -0.051083 -0.000122425 -0.0145484 0 -0.00587803 -0.0118989 0 0 0.0368781 0 -0.000977192 -0.0169825 0.000212959 0 0 0.00213704 0.000825878 0 -0.00343492 -0.00866831 -0.00349076 -0.118708 -0.0034069 0.00666484 0 -0.00192854 0.00752765 0.0140041 -0.00517662 0.0112342 0 0 0 0.319337 0.0167612 0.0254881 0.00230932 -0.004351 0.0448915 0.00134469 -0.00150362 0.000800289 0.0035492 0 0 0 0 0 0 0.162087 0 0.120705 0 0 0 0 -0.313113 0.349556 0 0 -0.0612207 0 -0.0167589 0 0.000369607 0 0 -0.313889 0 0.190888 -0.0937285 -0.0858691 -0.0199314 0 0 0.000336967 0 -3.26729 0 0.867377 0.211871 0 -0.675192 0.0504422 -0.0118369 0 -0.0374 0 0 0.0448147 0 -0.699375 -0.90359 0 0 -0.0784267 0 0 0.027944 -1.093 0.542284 0 0.687189 0 -0.478665 0.0646497 -0.172189 -0.0238546 -0.195128 0.0952473 0.401849 -0.0125638 0.27782 -0.957463 0.108708 0 0 0 0.0398757 0.00923214 0 0 0 0 -0.0210379 -9.4967 0.0786471 0.812252 0.32796 -0.473302 -0.0248199 0.171339 -0.153955 0.0594392 0.427078 0 0 0 0 0 0 +206 0 0 0 0 0 -0.0341455 0.181505 -0.657881 -0.316647 0 0 -0.0741076 0.335491 0 1.04567 -0.0321324 0 0 0 -0.189145 2.4215 0 0 0 0 -0.13004 0 0 -0.340096 -2.00546 0.339162 0 -0.216865 0 0 -0.187733 -0.01668 0 0 -0.117392 0.48019 0 0 -0.0288265 1.79872 0 0.409702 -0.684332 -0.729611 -0.0114841 -0.661409 -0.12461 0 0.149059 -0.238716 0.135288 0.983225 0.362623 -0.00173258 0 0 -0.61498 -0.3106 0 -1.39723 0.137765 -0.593916 0 0 0 0 -0.083728 -0.160697 0 -0.627033 -0.491219 0 0 0 -0.585446 0 0.803237 -0.852655 0 0.0899283 0.244337 -1.59604 0 0.305194 0.302098 -0.457044 3.53938 0 0 0 -0.0422375 -0.00288129 0 0 0 0.012612 -0.00136925 0 0.000954282 0 -0.000579267 0.00371995 0 0 0 0 0.0203839 0 0.00101796 0 0.0723924 0 0.119877 -0.0149885 0 0.000412049 0 0 0.0367561 -0.000786762 -0.000404404 0 0.00020046 0 -0.000102442 -0.0144414 0.00524889 -0.0110921 -0.000811265 0 -4.08736e-05 0 0 0 1.39279e-05 0 0 0.00207309 -0.000163076 -0.0390679 -0.00521709 0 0 0.00421651 0 0.000177931 0 0 0.00486896 0.00704266 -0.0237898 0.0026292 0 0 -0.0016293 0.0133118 0.00213085 -0.0122176 0.00378678 0 -0.0113258 -0.0057926 0.0291631 0 0 0 -0.0840403 0 0.0131599 -0.0469275 0 -0.00134304 0.00463767 -0.0240417 0 0.00100697 -0.00335595 0.00718176 -0.0166748 0 -0.0341455 -0.0422375 0.181505 -0.00288129 0.441394 0.122743 -0.0151022 0.246777 0.118557 0.000986437 0.00537188 0.126266 5.6508e-05 0.00423177 -0.00101543 0.00738374 -0.00408234 0.0162407 -1.3843 -0.294844 0.439608 0.11776 0.0867352 -0.189405 -0.0490163 0.0169754 0.121066 -0.00826249 -4.36361 0.118655 4.01034 -0.307624 -6.43904e-05 0.787836 1.57186 0.00279696 0.00197912 0.0256805 0.0293774 0.0907331 0.00694905 0.00742469 -1.45425 -2.91531 0.00107761 0.012693 -0.385184 -0.0605905 -0.0774326 -1.54022 1.09475 0.400756 -0.0061981 -1.59236 0.00102066 -0.266744 0.016599 0.00481939 0.141354 0.0569596 0.175033 0.00740335 0.104459 -0.452621 1.85783 -0.0295492 -0.689235 0.0341353 -0.10501 -0.256835 -0.00404121 -0.0446617 -0.00166682 0.0688288 0.00472522 -0.02037 -20.6482 -0.554134 -4.61059 -0.182202 0.874847 -4.06393 -0.00534798 0.0179975 0.0457375 -1.44394 -0.00113709 -0.0968083 0.269504 -0.20909 -0.393109 0 +207 0 0 0 0 0 -0.273459 -0.37723 0.591816 2.02256 0 0 -0.011095 -1.42988 0 -2.45625 0.0161766 0 0 0 0.0773707 -4.37951 0 0 0 0 0.456671 0 0 1.07118 6.54028 -0.851769 0 0.11887 0 0 0.295026 0.0078722 0 0 -0.199147 -1.61907 0 0 -0.0553775 -4.73164 0 -0.993321 2.24394 0.536797 0.128265 -1.60508 0.454225 0 -0.122207 -0.0174421 0.497336 0.681191 -0.25899 0.624401 0 0 -0.639378 1.49836 0 0.523162 0.308058 -0.739777 0 0 0 0 0.310495 0.133786 0 3.38622 -3.27291 0 0 0 -4.46322 0 0.616628 -11.3519 0 0.278762 -1.57194 -8.31022 0 0.355714 -1.69077 2.56931 -24.8467 0 0 0 0.0285095 0.00621571 0 0 0 0.00491821 -0.0328007 0 0.000395801 0 2.35713e-05 -0.00251531 0 0 0 0 0.029722 0 -0.000606259 0 0.0473246 0 0.082539 -0.116744 0 4.54789e-05 0 0 0.0719443 -0.00115181 -0.00467822 0 -0.00215002 0 -0.00230839 0.00628975 0.00407309 -0.0157508 -0.000121188 0 2.58278e-07 0 0 0 -0.00015115 0 0 0.00304708 -0.0036457 -0.0555893 -0.011815 0 0 0.00408352 0 0.00397779 0 0 -0.0105271 0.0147678 0.00233024 -0.00386032 0 0 -0.0770276 -0.0277194 -0.0022276 -0.0371462 0.0261393 0 -0.0451678 0.0134363 0.00713106 0 0 0 -0.188775 0 0.0362227 -0.181714 0 -0.00289615 0.0141458 -0.0781492 0 0.00153095 -0.00708656 0.022503 -0.0719223 0 -0.273459 0.0285095 -0.37723 0.00621571 -0.665363 -0.129977 0.0660202 -0.229417 0.219202 -0.00281557 0.0382471 0.183047 -0.000172962 0.00629081 0.00416378 0.00326355 0.0331716 -0.0380382 1.15939 0.191065 0.00802367 0.368731 0.115277 0.26657 0.259454 0.35667 0.0804927 0.0245524 -1.1087 0.110694 -0.93355 -0.731811 0.000245243 0.563561 -0.199088 0.00576599 0.000858797 0.0636441 0.00563508 1.89615 0.0137423 0.0555679 -1.11838 2.32228 0.00429097 0.0111298 0.605341 0.11748 0.0900699 -0.176181 1.67499 0.610134 -0.023199 1.29546 -0.00820777 1.85691 0.00684443 -0.114463 -0.217032 -0.263995 0.726432 -0.363637 0.0214901 0.306986 11.1271 0.045349 -0.18943 0.000941061 -0.358689 0.393187 -0.00691539 -0.0556691 0.00629865 0.0950828 0.0387372 -0.0212497 4.8066 -0.417904 -2.76431 0.130606 -0.179486 -6.29697 -0.00423522 -0.000816479 -0.62976 -1.99476 0.00266325 -0.100293 -0.101155 0.198219 -3.16714 0 +208 0 0 0 0 0 0.555286 0.11616 -0.184861 -1.49216 0 0 0.0011525 0.972828 0 0.790083 0.00863106 0 0 0 0.00274403 1.71 0 0 0 0 0.0550816 0 0 0.0947096 1.34514 0.221433 0 -0.127728 0 0 0.0754964 0.0373973 0 0 0.170561 0.821871 0 0 0.140439 2.83305 0 0.255973 0.535181 -0.283287 -0.165786 -0.882866 -0.123147 0 0.138145 -0.073387 -0.0456464 0.692355 0.587723 0.219499 0 0 0.417161 -2.40468 0 0.151026 -0.0574885 0.605723 0 0 0 0 -0.26887 -0.200372 0 -2.78575 -0.878343 0 0 0 3.14071 0 -0.642626 -0.299836 0 -0.529634 1.44329 1.08395 0 -1.05353 2.16967 -0.828891 -3.5555 0 0 0 0.216519 0.0142201 0 0 0 0.00928052 -0.0120278 0 0.000522101 0 0.00228385 -0.0114932 0 0 0 0 -0.0911884 0 -0.00488011 0 -0.200481 0 0.128834 0.0465724 0 -0.000863525 0 0 -0.174908 0.00303958 -7.5618e-05 0 -0.00169885 0 -0.000822535 -0.0275501 -0.01298 0.0426755 -0.00143761 0 0.000161531 0 0 0 -0.000118676 0 0 -0.0080136 -0.00129399 0.0385149 0.0192204 0 0 -0.0103622 0 0.00141186 0 0 0.00744186 -0.0162992 0.000798486 -0.0019414 0 0 0.0161853 -0.0202492 -0.00569855 0.042451 0.00540472 0 0.0397661 0.0144162 -0.146534 0 0 0 0.278962 0 -0.0570213 0.253748 0 0.00552759 -0.0237856 0.102554 0 -0.00391102 0.0161451 -0.0354594 0.0926554 0 0.555286 0.216519 0.11616 0.0142201 -0.426509 -0.0878544 0.0702283 -0.400455 0.389787 -0.00477986 -0.0599747 -0.000188616 -0.000272311 0.00230492 0.00475741 0.00372554 -0.0329155 -0.0797665 0.0244786 -0.842378 0.223489 -0.318767 0.133091 -0.0492701 -0.172133 0.116776 0.113845 -0.00806897 5.91036 -0.0024618 1.22955 0.912166 0.000304095 -1.38163 0.746887 0.00894924 0.000673565 -0.0597612 -0.0140919 0.495195 0.0203262 0.0273878 2.76934 -1.15626 -0.00972497 0.0058113 -0.305937 -0.0829108 -0.0434373 0.146538 0.307614 -0.702011 0.106474 0.516889 -0.0042639 -0.144314 0.0356269 -7.11817e-05 0.0219496 0.867853 1.04742 -0.107928 -0.213296 0.68564 9.02226 0.063749 0.0437389 -0.0590742 -0.256902 0.260189 -0.012512 0.00526643 0.00787825 -0.128162 0.10783 0.00655191 -6.33065 -0.069749 3.14778 0.162304 0.0920005 -2.84936 0.00456302 -0.107139 0.211723 0.287506 0.00558487 -0.00470787 0.243127 -0.190304 -0.413905 0 +209 0 0.179351 0.292814 -0.000868534 -0.0140482 0.348679 0.186561 -0.0422905 -0.159193 -0.00239763 -0.176836 0.104025 -0.460943 1.00341e-05 -1.11358 0.0101814 0.742789 0.663419 -0.0109031 0.0162628 -2.8242 -0.0143235 -0.320816 -5.81783e-06 -0.0767728 -0.31355 0.484103 -0.0178327 -0.273314 1.16843 -0.261187 -0.00011925 0.221662 -0.0692588 -0.0371101 -0.216294 0.00502254 -0.138569 1.35094 0.125689 -0.809406 0.000195752 -0.354483 0.00630478 -1.48658 0.00363626 -0.0494971 -0.00740287 0.354728 -0.0129239 0.16346 -0.0880811 3.72452 0.004561 0.0199007 0.0651522 0.0200842 -0.113669 -0.0626333 0.0697692 -1.07499e-05 -0.0451091 1.661 0.871051 1.38422 0.443974 1.15584 0.444617 -0.341009 -0.000429045 -0.100917 -0.0392819 0.267145 0.0952228 0.659498 0.551899 0.42831 -3.45423 0.998444 -1.25164 -0.0454194 0.239455 -3.49079 0.347832 -0.121758 0.314435 -0.3889 -0.000308776 -0.00474601 -0.0542129 0.0306073 -2.95868 0 0 0 0 0 -0.000868534 -0.0140482 -0.000742559 0 0 0 0 -3.07812e-05 0 0.00261736 0 0 -0.00055337 -0.000382599 0.000350437 0 0.000111557 0.00223304 0.00570277 0 0 0.0433556 -2.73434e-05 0 0.00218514 0.0266876 0 0 0.00460406 0.0194275 0 0.0229294 0 0.00124266 0 0 0.000101063 0 0 0.098986 -0.000427239 -0.00776012 0 -0.0103435 0.00237728 0 0 0.00720718 0 -0.001518 -0.0454479 0.00181642 0 0 0.00113025 0.00128295 0 -0.00379802 0.014188 -0.0027792 0.00425206 0.0101882 0.00447414 0 -0.00190838 0.000205973 -0.015739 0.000519862 -0.0124472 0 0 0 -0.286695 0.0241461 -0.0346019 -0.00913551 0.0142589 -0.0261623 0.000713087 -0.00108281 0.00193335 -0.000839639 0 0 0 0 0 0 0.348679 0 0.186561 0 0 0 0 -0.292355 -0.095201 0 0 0.0378534 0 -0.00358148 0 -0.00314841 0 0 0.657066 0 -0.797633 -0.0723931 -0.0392369 0.102793 0 0 -0.00931835 0 0.80154 0 -2.25178 0.254804 0 -0.803002 -1.28296 -0.00662057 0 -0.0302611 0 0 -0.0199867 0 0.565072 1.35042 0 0 0.190764 0 0 0.211492 -0.221059 0.146742 0 -0.714569 0 0.492039 -0.0342857 0.0779875 0.0597777 -0.29795 -0.812748 0.230705 0.00883376 0.164009 -1.95705 0.0062818 0 0 0 0.0912535 0.000460979 0 0 0 0 0.025807 13.1558 0.906293 3.43398 0.140986 -0.134118 1.39777 -0.023901 0.0644652 0.119038 0.372799 0 0 0 0 0 0 +210 0 -0.471088 -0.11406 -0.0057705 -0.0330072 -0.115827 0.131115 0.122475 0.611127 -0.0545727 0.366787 0.0130633 0.23843 0.000206633 1.44658 -0.00832505 0.372419 -0.135832 0.033908 -0.0107521 1.92379 0.00414499 -0.00675219 -0.000280779 0.0723831 -0.0940191 0.252111 0.0288494 -0.614742 -1.98189 0.498613 -0.00409124 -0.125219 0.431399 0.0190109 -0.133377 -0.00235957 0.29148 3.9491 0.0186646 1.53139 0.00303747 0.524665 -0.00349651 0.438326 0.0372687 0.953864 -1.0198 -0.136666 0.0179482 -0.534696 0.231993 -0.0976833 0.0215229 -0.00831192 0.0147873 1.9992 0.493369 0.176054 -0.155202 -0.00663587 -0.319508 -1.95971 -1.898 -2.06277 -0.0995544 -0.686874 0.154063 0.35635 0.00759389 0.283441 0.0791389 -0.135376 -0.377369 -1.05329 0.228937 -0.305283 -23.8974 -3.35672 -6.85462 -3.1106 1.96549 -6.79756 -0.063571 -0.160388 0.0817808 -3.6197 -0.0031647 0.0052596 0.0369614 -0.34547 5.01851 0 0 0 0 0 -0.0057705 -0.0330072 -0.000510373 0 0 0 0 -4.34963e-05 0 0.00483857 0 0 -0.00101625 -0.00173313 0.00558976 0 0.000532792 0.00504864 0.0544231 0 0 -0.097084 -0.00012845 0 0.0155302 -0.312691 0 0 -0.0179633 0.0156752 0 0.0994874 0 -0.00754775 0 0 -0.00129765 0 0 0.328351 -0.00062011 -0.0133961 0 -0.00752866 0.00887829 0 0 -0.179787 0 -0.00103528 -0.242518 0.00316359 0 0 0.00209211 0.000874974 0 0.0130571 -0.0174471 -0.0061233 0.0947399 0.0326481 -0.0178864 0 0.000254308 -0.0112888 0.0457552 -0.011035 -0.10437 0 0 0 -1.78215 0.117414 -0.342493 -0.0326985 0.0743396 -0.177621 0.00140905 -0.00387993 0.0100919 -0.0296241 0 0 0 0 0 0 -0.115827 0 0.131115 0 0 0 0 0.541736 -0.0483978 0 0 0.0423547 0 0.0165556 0 0.00314822 0 0 -0.115609 0 0.138054 0.12324 -0.0816634 -0.0278074 0 0 -0.0250018 0 3.05083 0 2.48014 1.17195 0 1.13302 0.404502 -0.00300275 0 0.0715259 0 0 0.0117253 0 2.1936 -0.465878 0 0 -0.081014 0 0 -0.297443 -0.981625 -0.413721 0 0.0165564 0 -1.14482 0.058657 -0.0263126 -0.25597 0.0632632 0.422554 0.00313787 0.033789 0.366175 0.92394 0.04396 0 0 0 0.0388238 -0.0525269 0 0 0 0 -0.000286707 -22.8354 -1.63587 -5.42463 -0.410039 0.465523 -2.83278 -0.0935647 0.0500498 -0.0459367 -0.869074 0 0 0 0 0 0 +211 0 1.13967 0.0729891 0.0169317 0.243332 -0.404305 -0.15904 0.651575 1.43002 0.0662973 0.249533 0.103961 -0.0086329 -0.000266446 -0.421373 0.009042 0.419664 2.4968 0.0617003 0.0143984 -1.01335 0.0362342 0.27279 0.000235952 0.202148 0.482188 -0.0575479 0.00144822 0.210568 -0.435488 -0.15579 0.00399427 0.117288 0.169311 -0.0298676 0.232394 0.00664431 -0.0241074 -2.10237 0.246042 -0.752517 -0.00469512 -0.00475928 0.01494 -0.570927 -0.0775217 -0.46129 0.0608897 0.168877 -0.0101349 -0.229616 0.104254 -3.89282 -0.00230634 0.0409104 -0.165594 -3.3355 -0.121297 -0.0922389 -0.274513 0.00353174 0.695474 1.70633 0.675543 -0.257294 -0.219991 -0.533406 -0.610305 0.0451901 0.00307824 -0.41945 0.0838941 -0.00698708 0.173756 0.00841983 0.356961 0.851771 12.1353 0.998086 0.996311 1.63284 -1.44192 5.68685 -1.26457 0.412771 0.202351 -1.66761 0.00658281 -0.0230351 0.116639 -0.38223 1.10273 0 0 0 0 0 0.0169317 0.243332 0.00203802 0 0 0 0 0.000105702 0 -0.0151271 0 0 0.00487664 0.00452417 -0.00978162 0 -0.00105642 -0.00587002 -0.138314 0 0 0.00202269 0.000325272 0 -0.0208657 0.278273 0 0 -0.00104337 -0.0281059 0 -0.159475 0 0.00252232 0 0 0.000279009 0 0 -0.574942 0.00145239 0.068033 0 0.0281154 0.00339672 0 0 0.00564327 0 0.00417155 0.214371 -0.0137021 0 0 -0.00996724 -0.0035256 0 0.0167924 -0.0547557 0.0182435 -0.0603975 -0.0618076 -0.016348 0 0.0084149 0.0347892 0.0114792 -0.0138874 0.13914 0 0 0 1.93622 -0.192338 0.436526 0.0538428 -0.0916371 0.181577 -0.00632534 0.0103253 -0.0197454 0.0439948 0 0 0 0 0 0 -0.404305 0 -0.15904 0 0 0 0 0.349549 -0.147407 0 0 -0.386903 0 -0.0255533 0 -0.0160861 0 0 0.0304788 0 0.0706414 0.126733 -0.116111 0.00572621 0 0 -0.0662382 0 -0.275905 0 -3.35081 -0.364963 0 0.91023 -0.600062 -0.0047056 0 0.0420333 0 0 -0.036571 0 -0.424014 -0.272541 0 0 -0.0250604 0 0 -0.0300414 1.71836 -0.590593 0 -0.343188 0 -1.02467 -0.0747417 0.172873 -0.294221 -0.151179 0.914006 0.542433 -0.0586088 0.0971291 -7.18876 0.0665236 0 0 0 0.0168613 0.0319099 0 0 0 0 0.0499907 22.3818 2.41008 -1.0113 0.784492 -0.616647 2.87666 0.058395 -0.041205 0.251186 -0.560338 0 0 0 0 0 0 +212 0 -0.617945 -0.404923 -0.000309655 0.0109044 0.0448548 -0.257784 0.749949 1.1331 9.29931e-05 0.124377 0.045785 0.137932 1.21219e-06 0.918889 0.000217997 -1.5166 -5.69054 0.042848 -3.87267e-05 2.26667 0.0022795 0.359971 -3.42287e-07 -0.00687814 0.534867 -0.57162 0.000564597 0.5412 -0.00364565 0.137295 -1.25408e-05 0.0143458 0.83344 0.00936997 0.351342 0.000720882 -0.0171619 3.44188 0.0422063 0.501714 7.58666e-05 -0.118227 0.00058513 0.417442 0.00476872 -0.300349 0.344606 -0.00914424 -0.000185658 -0.128967 0.086763 -0.346417 -0.000516679 -0.000339337 -0.0273624 0.579982 -0.00412724 0.0195663 0.0150948 -8.2565e-05 0.498034 -0.221989 0.255702 -0.2442 0.149318 -0.117758 0.386759 -0.0157257 -2.25739e-05 0.164065 0.237947 0.0122015 0.0103625 0.20744 0.153554 -0.458475 -10.4426 -0.527643 -5.18222 -0.527696 0.642298 -4.8482 0.21079 -0.0209499 0.0397052 -2.21445 -8.90148e-06 -5.63991e-05 -0.00262289 -0.0232314 0.00401556 0 0 0 0 0 -0.000309655 0.0109044 0.00029079 0 0 0 0 7.38378e-06 0 0.00303031 0 0 -0.000574133 -0.000149615 0.000321515 0 4.14263e-05 -0.000306465 0.0202574 0 0 -0.0251645 -1.06753e-05 0 0.00149924 -0.126125 0 0 -0.00209608 -0.0186151 0 0.0449315 0 -0.000356706 0 0 -2.53343e-05 0 0 0.154243 0.000105193 -0.00802996 0 0.004152 0.00198949 0 0 -0.0241588 0 0.000592507 -0.0210038 0.000171875 0 0 0.00117307 -0.00050076 0 -0.00274259 0.00614974 -0.0018213 0.0494563 0.00724675 0.00577723 0 -8.12728e-05 -0.00422677 0.0072297 0.00166885 -0.0146647 0 0 0 -0.44638 0.0257372 -0.0571151 -0.00912765 0.014785 -0.0173016 0.000742324 -0.00117061 0.00216901 -0.00771453 0 0 0 0 0 0 0.0448548 0 -0.257784 0 0 0 0 0.456063 -0.336637 0 0 -0.0160539 0 0.00482045 0 -0.00269571 0 0 0.212242 0 0.791131 0.102866 -0.033228 0.0105045 0 0 -0.0783109 0 -4.45229 0 1.9719 -0.43469 0 0.608286 1.09043 9.17563e-05 0 0.0707097 0 0 -0.0215203 0 -0.657922 -0.65226 0 0 -0.111194 0 0 -0.502764 -2.31752 -0.483065 0 -2.05701 0 -0.75051 0.0314895 0.0686655 0.120552 -0.128104 -0.893622 0.190987 0.00297573 -0.158982 -10.2572 0.0456671 0 0 0 0.00695449 -0.0223191 0 0 0 0 -0.0194036 -14.3784 -0.215512 -3.68462 -0.411174 0.452126 -1.62997 -0.0591098 0.0662667 0.0459246 -0.466846 0 0 0 0 0 0 +213 0 -0.0717653 -0.0921198 -0.000104101 -0.0202483 -0.185724 0.0502073 0.0248355 0.894326 0.00199593 0.211627 -0.0349702 0.336238 -7.05939e-07 0.316169 0.000231752 -1.00761 -2.26102 0.0461848 0.000873894 -0.0462243 0.00642091 0.103248 1.08228e-06 0.0417886 0.137036 -0.422998 0.0114959 -0.35389 -0.773376 0.250142 5.14022e-05 -1.04816e-05 0.252789 0.123158 -0.0229104 -0.00065762 0.12235 1.53815 -0.0243739 0.25771 -2.72162e-05 0.709501 -0.000421266 0.0187947 -0.000627589 0.39337 -0.468184 0.0267818 0.000367223 -1.41499 0.139293 1.84084 -0.000886907 0.00145582 0.0281585 1.01934 0.332617 0.0332019 -0.107715 5.49496e-05 0.23814 -0.34611 -0.0352541 -0.888877 -0.0778772 -0.313012 0.255897 0.130925 -9.66758e-05 0.0409933 0.226339 -0.0113054 -0.164848 -0.145947 -0.154103 0.151235 -8.09958 -0.666837 -4.02199 -0.653555 0.417823 -2.45229 -0.0817701 -0.0425334 0.0489369 -2.351 1.17148e-06 2.49869e-05 0.00106744 0.0161817 0.851848 0 0 0 0 0 -0.000104101 -0.0202483 -0.000527002 0 0 0 0 -1.27364e-05 0 0.00256915 0 0 -0.000400839 -6.33668e-05 0.000335538 0 3.61885e-05 -0.000170326 0.0265934 0 0 -0.00816035 -4.84996e-06 0 -0.000298504 -0.170673 0 0 -0.00217054 -0.00385959 0 -0.0140364 0 0.000242238 0 0 8.99382e-06 0 0 -0.017293 -0.000182924 -0.00538503 0 -0.00761131 0.000918964 0 0 -0.042061 0 -0.00107214 -0.099959 0.00209393 0 0 0.000823245 0.000906126 0 0.0036512 -0.0139221 -0.00204071 -0.0909487 0.0118374 -0.00170912 0 0.00114748 -0.0064656 -0.0355922 -0.00170428 -0.0293611 0 0 0 -0.251554 0.0338745 -0.105434 -0.00842339 0.0196071 -0.0340413 0.000543997 -0.00130651 0.00320636 -0.0118171 0 0 0 0 0 0 -0.185724 0 0.0502073 0 0 0 0 0.153895 0.162016 0 0 0.220213 0 0.0258418 0 0.00275123 0 0 -0.646601 0 0.0699079 0.0311047 0.0385862 -0.101624 0 0 -0.0187511 0 -0.493436 0 1.27238 0.278678 0 0.583397 0.205169 0.00392584 0 0.00263275 0 0 0.0297062 0 -0.000965686 -1.28859 0 0 -0.192359 0 0 -0.18426 -3.10433 -0.398613 0 -0.425219 0 -1.01145 0.0901901 -0.0476822 -0.063385 -0.219343 -0.769572 -0.0442863 0.0553721 0.192642 -4.51821 0.0797538 0 0 0 -0.0358662 -0.0743546 0 0 0 0 -0.0342345 -12.3772 -0.689158 -3.86169 0.217616 0.0207229 -1.70952 -0.163166 0.0813404 -0.0650692 -0.530868 0 0 0 0 0 0 +214 0 0.710563 0.10575 0.00194307 0.0822414 -0.0749878 0.0456858 -0.266985 -0.778815 0.00530268 0.278623 -0.0348559 0.373415 -2.1622e-06 0.0937661 -0.000816467 0.220192 -1.51182 0.00288035 -0.00129532 1.90304 0.00746936 -0.0859641 1.66676e-06 0.129835 -0.176721 0.328092 -0.00724372 -0.125474 0.0840606 0.330046 9.75393e-05 -0.0631025 -0.26077 -0.135181 -0.111692 -0.000707293 -0.0292756 -2.27353 -0.035314 1.29563 -0.000126586 -0.45111 -0.00063034 -0.210892 -0.00735597 0.875668 -0.0872801 -0.100956 0.000931235 0.456552 -0.0810252 -0.0731882 -0.0015944 -0.000800974 0.0115521 -3.76387 -0.111207 0.0549771 -0.158037 0.000108091 0.306136 -1.32424 0.587674 1.11799 -0.0812511 0.448717 -0.299393 -0.0222153 1.03468e-05 -0.464514 -0.149398 -0.029931 0.120597 -1.50023 0.416842 0.674425 6.65248 -0.149665 2.84339 0.16517 -0.60692 4.24887 -0.692664 0.338489 -0.190739 1.17934 1.37309e-05 5.91936e-05 0.00397272 0.0191488 -0.09259 0 0 0 0 0 0.00194307 0.0822414 -0.00081733 0 0 0 0 -1.92593e-05 0 -0.00429596 0 0 0.00134505 0.00035535 -0.00084185 0 -7.02446e-05 -0.000314642 -0.0472936 0 0 0.0684316 2.53742e-05 0 -0.00217374 0.133927 0 0 0.00748494 0.000174529 0 -0.0603611 0 0.00130594 0 0 0.000138537 0 0 -0.227608 -0.000274043 0.0187956 0 -0.0116372 -0.00262144 0 0 0.0148227 0 -0.00166601 0.0536581 -0.00017408 0 0 -0.00274852 0.00140803 0 0.00536777 -0.0153013 0.00416034 -0.0240557 -0.0146842 -0.00583321 0 0.00068773 0.00705349 -0.0126288 -0.00379162 0.0371106 0 0 0 0.720482 -0.0579125 0.140885 0.0190119 -0.031556 0.0544311 -0.00174101 0.00277919 -0.00520855 0.0150834 0 0 0 0 0 0 -0.0749878 0 0.0456858 0 0 0 0 -0.0502508 -0.47187 0 0 0.0438437 0 0.0172173 0 -0.011185 0 0 -0.631455 0 -0.492096 -0.00866051 -0.024019 -0.0826587 0 0 -0.187552 0 -11.9193 0 -4.37272 -0.923267 0 -0.233027 -1.46065 0.00291467 0 -0.00191989 0 0 -0.0400733 0 -3.8133 -1.50055 0 0 -0.203554 0 0 0.01683 2.14665 -0.111808 0 -1.62788 0 0.549407 -0.0484133 0.0941125 -0.46505 -0.133006 1.39463 0.195682 -0.0963354 -0.28412 -10.815 0.0918782 0 0 0 -0.137652 -0.011341 0 0 0 0 0.127578 26.2808 0.684685 3.23282 0.450943 -0.512824 3.18544 -0.0741942 0.0852876 -0.0128003 0.163889 0 0 0 0 0 0 +215 0 0 0 0 0 -0.178297 0.0866722 -0.00824465 0.122011 0 0 -0.231293 0.331735 0 0.869898 -0.113092 0 0 0 -0.202892 -1.62179 0 0 0 0 -0.157199 0 0 0.3735 6.36121 0.0513144 0 -0.541937 0 0 -0.063005 -0.0151135 0 0 -0.656176 -0.108921 0 0 -0.0450916 3.12615 0 0.189874 1.67217 -0.727705 0.015349 5.56324 0.23008 0 0.27333 -0.240392 0.829921 6.75205 1.41716 1.25343 0 0 -0.368717 -2.04763 0 0.494709 -0.616498 0.306143 0 0 0 0 0.180434 0.795803 0 0.682167 -2.20997 0 0 0 -0.294089 0 0.37524 -5.0424 0 0.17756 -0.809266 -1.66604 0 -0.0658191 -2.49134 4.87975 -22.4195 0 0 0 0.115169 0.0163155 0 0 0 0.00985804 0.0155734 0 0.0010973 0 0.00419884 0.00812452 0 0 0 0 -0.0645661 0 -0.0157575 0 0.13882 0 0.0419529 0.228365 0 0.00131907 0 0 0.130067 0.00129695 0.0404812 0 0.00194882 0 0.000722223 0.0447 0.0129423 0.0270797 0.00811699 0 0.000197384 0 0 0 9.12065e-05 0 0 -0.00313595 0.0010375 -0.153695 0.0233923 0 0 -0.0156287 0 -0.00113201 0 0 0.00358364 0.00496445 -0.0218533 -0.0225992 0 0 0.0835973 -0.0284079 -0.00519928 0.448087 -0.1238 0 0.161609 0.0102835 -0.0397627 0 0 0 -0.784507 0 -0.106481 -0.449301 0 -0.0072246 -0.0278909 -0.248046 0 -0.000947015 -0.00376414 -0.0175188 -0.219945 0 -0.178297 0.115169 0.0866722 0.0163155 -0.33507 -0.15067 0.475955 -1.20605 0.761584 0.0178325 -0.0115609 0.45027 0.00289295 0.0400049 0.0639165 0.0317105 -0.0363695 0.126972 0.0194405 -0.365438 0.255629 -0.285008 0.26851 0.0446254 -0.171472 0.271469 0.273179 -0.0178278 4.69087 -0.52006 1.2093 0.381872 0.00828403 -1.75627 0.566164 0.0291797 -0.0135404 -0.18937 -0.095323 1.62679 0.0805409 0.0483548 1.17812 0.689014 -0.00394561 -0.0707956 0.172065 -0.0731202 -0.206509 0.31558 1.74208 0.107987 0.185362 1.35895 -0.26455 -1.34893 -0.070307 0.168535 0.123721 0.195146 0.296806 0.52422 -0.310501 1.35653 16.9497 0.0237429 0.541093 0.00187976 0.0933597 0.372553 0.0854689 0.0906592 -0.00853868 -0.178693 -0.0167975 -0.303014 -2.6658 -0.814726 2.791 -0.247451 0.940369 -3.04541 -0.0734612 0.206552 -0.643753 1.15541 -0.0225744 0.143565 -0.451024 0.838788 -1.96825 0 +216 0 0 0 0 0 0.105204 0.330848 -0.531671 -1.05558 0 0 0.260591 1.23622 0 2.42922 0.242495 0 0 0 0.299402 -6.24796 0 0 0 0 -0.277087 0 0 -0.953876 -1.44122 0.80592 0 1.27464 0 0 -0.235911 0.0909017 0 0 -0.0519082 -1.93299 0 0 0.0183937 4.14774 0 -0.0500307 -1.26752 2.21062 0.0534996 2.76914 -0.305839 0 -0.526507 0.136407 -0.611454 -6.44848 -2.03815 -0.0694023 0 0 -0.471359 3.45547 0 -1.1719 -0.710519 0.454873 0 0 0 0 -0.375803 0.624632 0 1.21416 1.06161 0 0 0 0.671377 0 0.399756 0.0390044 0 0.35198 -0.352896 2.00006 0 0.163915 0.454261 -1.78835 7.0708 0 0 0 0.0524037 0.0168496 0 0 0 0.0450569 -0.029709 0 0.00460744 0 0.00294367 0.00188325 0 0 0 0 -0.0371083 0 -0.00953362 0 -0.0554432 0 0.374501 0.0414446 0 0.00136285 0 0 -0.00390155 6.54982e-06 0.0225799 0 -0.00317113 0 -0.00136801 -0.0211791 0.00312184 0.000863148 0.00220141 0 0.000137387 0 0 0 -0.000148279 0 0 9.35795e-06 -0.00196081 -0.102195 0.00506478 0 0 -0.0142933 0 0.00213942 0 0 0.00927043 -0.0211726 -0.0802535 -0.009945 0 0 0.00823962 -0.031362 0.0369876 0.135355 0.512218 0 7.2962e-05 0.00121658 -0.183401 0 0 0 0.695537 0 0.00183077 0.114531 0 0.000960807 0.011377 0.207353 0 3.92011e-05 0.0013857 -0.00802078 0.0518343 0 0.105204 0.0524037 0.330848 0.0168496 -0.159 0.00447668 0.633358 -0.377632 1.3038 0.0192164 -0.0758062 0.256607 0.00389933 0.0374845 0.0791095 0.11607 -0.0635563 0.107511 -1.26974 0.563836 0.163748 -0.171707 0.131679 -0.239577 -0.431087 -0.0548718 0.993573 0.0154143 -0.83555 -0.31778 0.478676 0.844716 0.0096111 -1.13916 0.282413 0.021604 -0.00729102 -0.0705255 -0.0488302 -0.285979 0.14342 -0.0117959 0.592586 -1.50749 -0.0115059 -0.0442252 -0.342988 0.102953 -0.198093 -1.78287 -0.660425 -1.00107 0.281357 2.81474 -0.359241 0.840899 -0.251697 0.441905 -0.0498782 0.310022 -0.395531 -0.473551 -0.108983 -2.40457 -3.06296 -0.156542 -0.336864 -2.17425e-05 0.213244 1.23538 -0.0139838 0.0962919 -0.0197985 -0.217506 -0.00581622 -1.08901 -1.0552 -0.40888 1.56044 -0.161051 0.644428 -0.153263 -0.0511209 0.134115 0.0927963 0.303682 -0.0191144 0.123003 0.0322191 0.0269419 0.406793 0 +217 0 0 0 0 0 -0.293278 -0.168671 -0.260443 -0.100858 0 0 -0.125978 -0.903533 0 -1.83895 -0.0648663 0 0 0 0.0926396 6.4702 0 0 0 0 -0.111291 0 0 0.500883 -4.06121 -0.677884 0 -1.3403 0 0 -0.0260704 -0.00718487 0 0 1.0394 1.88171 0 0 0.389504 -1.57971 0 0.00722738 -0.339945 -1.65088 -0.553726 -0.919535 -0.334807 0 0.462581 0.209348 -0.488554 1.6417 1.39684 -0.408325 0 0 0.693237 -2.40582 0 -0.337084 -0.442985 0.231334 0 0 0 0 -0.0128543 -0.140163 0 -3.01304 2.17502 0 0 0 0.0431016 0 -1.50717 4.45321 0 -0.507502 0.796133 1.41888 0 -1.72944 3.10388 -4.10342 12.2962 0 0 0 -0.0444799 -0.0362201 0 0 0 -0.0156996 0.0222842 0 -0.00683071 0 0.00667669 -0.00305149 0 0 0 0 -0.0950646 0 -0.0227848 0 0.0329148 0 -0.0134777 0.0835044 0 0.000123022 0 0 -0.154608 0.00194887 -0.0485765 0 0.00284502 0 0.00103277 -0.000317756 -0.0108083 0.0408677 -0.0251512 0 0.000313683 0 0 0 0.000133163 0 0 -0.00470614 0.00148332 -0.155371 0.0107546 0 0 -0.0531557 0 -0.00161843 0 0 0.00679337 -0.0142187 0.0364081 -0.048657 0 0 0.0757657 -0.0254462 -0.0172162 0.256983 -0.030521 0 -0.220385 -0.00626367 -0.170615 0 0 0 -0.244803 0 -0.159429 0.952239 0 -0.0106141 0.0670224 0.100557 0 -0.00141236 0.00968722 -0.064439 0.659156 0 -0.293278 -0.0444799 -0.168671 -0.0362201 0.287174 0.14446 -0.55338 0.295754 -3.51723 0.0253125 0.0525459 0.0193191 0.00719625 0.019305 -0.103773 -0.253309 0.0702752 0.0658712 1.94603 0.00875935 0.0135833 0.0665975 -0.000222113 0.285455 0.459634 -0.267294 -1.79137 0.0266004 -6.69227 0.252225 -0.0266824 -1.77219 -0.0174824 0.124499 0.0023079 0.0143889 0.00571535 0.075796 0.0781072 -1.54121 -0.558123 -0.0462903 -3.73168 4.11461 0.00682645 0.00025009 0.692997 0.0760714 0.158544 0.56616 0.836799 0.161859 -0.27229 -6.77438 0.3091 -0.62256 -0.234982 0.165722 0.0799344 -0.252145 -0.162745 0.00964131 0.272797 7.50944 21.7296 0.0479503 -0.343774 -0.0141565 0.0532794 -1.51219 -0.0486812 0.0869439 -0.0630333 0.134664 -0.0300585 1.81159 0.0588192 -0.0142677 -0.44362 -0.070232 -0.444405 2.5899 -0.0190627 -0.051464 0.430642 -0.525331 -0.0117113 -0.0519011 0.309645 -0.666886 1.82643 0 +218 0 0.42245 0.252126 -0.00331518 0.0611976 -0.137951 0.0301629 0.436002 0.9689 0.391503 0.650872 0.0811735 0.318183 0.00830866 0.879455 0.128192 3.09539 12.0926 0.258013 0.0499026 1.23163 0.0910853 0.0734465 -0.00100026 0.268566 0.0102489 0.881246 0.123313 -0.196009 -0.0587091 0.323239 0.0413195 0.535042 0.259659 0.749407 0.0125506 0.022789 0.217255 0.87078 -0.236835 0.285625 0.0445106 1.55759 -0.0561728 1.40164 0.215558 0.19187 -0.280671 0.0847034 0.168339 -1.4077 0.990108 -2.73841 0.017115 0.123058 -0.3967 -0.404106 -0.228497 -0.967246 -0.312257 -0.0544829 1.38909 1.49457 1.06708 1.05 0.0861082 -0.388302 0.401005 0.0752232 -0.241279 0.0654742 0.405021 -0.422889 -0.7801 -0.39107 1.04007 -1.8065 1.91944 0.457147 -1.44891 -0.299968 0.75755 -2.07774 -0.812961 0.79664 -1.09776 -1.8198 -0.222752 0.360532 -0.482253 0.498316 0.279214 0 0 0 0 0 -0.00331518 0.0611976 8.54807e-06 0 0 0 0 -3.75821e-06 0 0.000293791 0 0 0.000495241 0.00076258 0.00280276 0 -0.000415608 0.0294343 0.0188338 0 0 0.099309 3.57602e-05 0 -0.0676667 0.869028 0 0 0.00525343 0.175754 0 -0.203959 0 0.0161387 0 0 0.000227966 0 0 -0.300363 -8.01433e-05 0.0105609 0 0.000182286 -0.0160101 0 0 0.200514 0 1.59076e-05 -0.0190458 0.0034783 0 0 -0.000921626 -1.34444e-05 0 0.000717438 -0.0190358 0.00515216 -0.443279 -0.0132663 0.014566 0 0.00101132 -0.0403443 -0.0389173 0.00779968 0.134578 0 0 0 0.266347 -0.0585269 -0.0904957 -0.00263566 0.00643134 -0.0709027 -0.000348263 0.000849806 -0.0115343 -0.0156585 0 0 0 0 0 0 -0.137951 0 0.0301629 0 0 0 0 0.467475 0.0347425 0 0 -0.286477 0 -0.0336206 0 0.00780247 0 0 0.519287 0 -0.478127 0.129341 -0.150607 0.0463146 0 0 0.00348603 0 5.9019 0 -1.80388 0.309723 0 1.00027 -1.0709 -0.019099 0 0.0690381 0 0 0.0154726 0 1.53385 1.12855 0 0 0.101138 0 0 0.858165 -0.471034 0.603779 0 1.21526 0 0.656844 0.103763 -0.258677 -0.181938 -0.0961447 -0.00875649 0.0302385 0.18891 -0.600915 2.86126 0.0448756 0 0 0 -0.386171 -0.027369 0 0 0 0 0.0676032 5.26985 0.666433 -1.82291 0.388677 -0.616883 1.23754 0.050174 -0.0869617 0.197515 -0.493371 0 0 0 0 0 0 +219 0 -0.121033 0.162239 -0.0395099 0.0172472 0.00296572 0.0518954 -0.524525 -1.12774 0.14426 0.888812 -0.276516 -2.21482 0.0283466 -3.45551 -0.251731 0.972797 2.1104 0.469183 -0.419813 2.1322 0.142344 0.0134088 -0.0285012 0.314452 -0.795252 0.433197 0.176783 0.114432 0.60905 -1.00494 -0.0499589 -1.04258 0.243818 0.896244 -0.379039 -0.0892604 0.150714 0.846075 -0.543704 0.690935 0.095194 1.19518 -0.17511 -6.38876 0.319539 0.085657 0.295309 -1.93586 0.36431 -2.15833 1.73322 1.62977 0.763046 -0.354301 0.54828 10.9095 2.8584 0.516851 -0.46582 -0.137226 -0.217198 -0.474919 -1.35435 3.94861 0.502664 -0.223237 -1.9605 -0.0397551 -0.0893351 -0.181767 -0.0155934 -0.82942 -0.538288 2.12665 -0.715093 -0.37667 -3.15999 -1.17744 0.722831 -1.67592 1.47904 -1.53458 -0.665063 1.31696 -2.59123 3.65172 -0.330203 0.633972 -1.07454 1.96582 -2.89658 0 0 0 0 0 -0.0395099 0.0172472 -0.000649353 0 0 0 0 -3.33816e-05 0 0.0137579 0 0 0.000247545 0.000584196 0.0149772 0 0.00390539 -0.092583 0.0306745 0 0 0.0614599 2.73951e-05 0 0.0963382 0.0250244 0 0 0.00353242 -0.150937 0 0.238951 0 -0.0142348 0 0 -0.00314471 0 0 0.567363 -0.000711857 0.00527887 0 -0.0138474 -0.0158915 0 0 -0.0123497 0 -0.00120842 0.148495 0.00353508 0 0 -0.000460673 0.0010213 0 -0.0012257 -0.0103298 0.00208752 1.07663 -0.0238054 0.00765453 0 0.00195906 -0.0488917 0.107358 0.0333199 -0.0185433 0 0 0 -0.55651 0.0127892 0.0245302 0.00464465 -0.0113335 0.123307 -0.000174079 0.000424774 -0.0057654 0.000340965 0 0 0 0 0 0 0.00296572 0 0.0518954 0 0 0 0 0.0304493 -1.69117 0 0 -0.365893 0 -0.0351034 0 -0.0935593 0 0 0.851565 0 -0.822831 -0.00748877 -0.129256 0.138174 0 0 -0.801843 0 -1.9627 0 -2.59868 -0.66403 0 0.104831 -1.40138 -0.0114964 0 -0.00714953 0 0 -0.195926 0 -1.13687 1.80255 0 0 0.288454 0 0 0.259137 -0.243666 0.238258 0 -2.98086 0 -0.261765 0.0528418 -0.126397 -0.648223 0.0543383 0.525961 0.032649 0.0140172 3.87501 10.4179 0.0285983 0 0 0 -0.396829 -0.00878887 0 0 0 0 0.657705 5.70558 1.59617 -1.78853 0.462003 -0.629127 1.32829 0.107354 -0.103283 0.156052 -0.00522473 0 0 0 0 0 0 +220 0 -0.294132 -0.137889 -0.157723 -0.110941 0.172035 0.43 -2.10209 -5.18987 -0.565742 3.44527 -0.0122754 0.12323 0.0953151 1.85832 -0.0166403 -0.667449 -4.52631 0.86011 -0.0600495 0.361715 0.306493 0.0051848 -0.117963 1.23523 -1.40707 0.0785214 -0.0670601 -0.699638 -0.940475 0.431785 -0.336381 0.390308 0.310718 0.0315057 -0.658609 -0.0668631 -0.759952 2.37462 -0.525416 0.530747 0.270114 -1.74853 -0.295508 2.35942 0.707652 0.809012 -0.939761 0.0163046 0.540126 0.95867 2.67118 7.75434 -0.0101524 -0.0840872 0.00120955 -0.290542 -0.241309 -0.0918794 -1.70812 -0.418512 -0.528953 -0.251978 -1.69452 3.9553 0.874357 0.857208 -2.74053 -1.2146 0.346838 -1.786 -0.354517 0.144901 0.739819 -0.725686 0.445877 1.95167 -8.67862 -6.79396 6.08916 -3.19433 2.3216 -1.78428 -3.3196 3.27619 -5.11584 9.24119 -0.731267 1.05333 -1.19683 0.210314 4.47281 0 0 0 0 0 -0.157723 -0.110941 -2.23431e-05 0 0 0 0 -9.22823e-06 0 0.00103419 0 0 0.00096803 0.00150272 0.0414246 0 0.00439778 -0.227565 0.0133545 0 0 0.0228091 7.04679e-05 0 -0.0785198 -0.534125 0 0 -0.00845552 -0.39975 0 -0.227816 0 -0.0576088 0 0 -0.012723 0 0 -0.313418 -0.000196791 0.0206431 0 -0.000476463 -0.040248 0 0 0.157856 0 -4.15797e-05 -0.255512 1.80626e-05 0 0 -0.00180147 3.51413e-05 0 0.000106941 -0.0814749 0.00550584 0.785663 -0.0453778 0.00400981 0 0.00348075 -0.063609 -0.066734 0.0143984 0.0944177 0 0 0 0.976019 -0.066682 0.147884 0.00161495 -0.00394067 0.0648827 -0.000680737 0.00166108 -0.0225457 0.0554176 0 0 0 0 0 0 0.172035 0 0.43 0 0 0 0 0.00998968 -0.321971 0 0 0.408264 0 0.0447135 0 0.0539447 0 0 -0.227958 0 -0.129782 -0.0951471 -0.0156809 -0.00139909 0 0 0.430505 0 -1.4574 0 1.13186 0.997197 0 -0.77945 0.296598 -0.0087207 0 0.0049985 0 0 -0.0216399 0 1.10424 0.588359 0 0 0.0854373 0 0 -0.375441 0.630315 -0.212983 0 -0.928243 0 -0.192273 -0.0826813 0.119796 -0.0827816 0.00313995 0.322455 0.0136273 0.0612497 -0.00225666 -1.99448 0.0127872 0 0 0 0.0937448 -0.0542764 0 0 0 0 -0.0450445 -3.61177 -1.57884 2.54977 -0.438633 0.535435 -0.749333 -0.111664 0.134682 -0.226965 0.443981 0 0 0 0 0 0 +221 0 -0.528872 -0.218296 0.0375067 0.0849779 -0.27285 -0.251508 0.149138 1.39557 0.531307 -0.583818 0.0784165 -0.611959 -0.0100109 -1.73947 0.0284045 -1.4219 -5.32569 -0.135634 -0.0180082 -3.09158 -0.0323394 0.000934555 0.0208371 -0.103255 0.292807 -0.373777 -0.0620932 0.0143887 -1.43497 -0.139929 0.114089 0.210711 0.0953352 -0.196922 0.144934 0.0262072 -0.081326 1.37887 0.0793955 -1.29107 -0.0321834 -0.019848 0.0560151 -5.19499 -0.0794006 -0.451462 -0.490793 0.0718704 -0.249688 -2.17138 -0.496813 2.98867 0.165818 0.00337657 -0.187279 -4.22696 -0.762602 -0.877378 0.18376 0.0931703 0.738531 3.08926 0.35794 -1.07901 0.294978 0.564373 0.847392 -0.0524947 -0.327795 0.0897885 -0.132103 0.000237932 0.0570731 0.134907 0.74483 0.374185 -9.36233 0.860069 -7.06141 -2.2035 0.446217 -1.06933 0.205889 -0.530166 1.15932 -1.62915 0.018622 -0.0371869 0.313017 -0.648531 5.23176 0 0 0 0 0 0.0375067 0.0849779 0.000573572 0 0 0 0 -3.48383e-05 0 0.0257374 0 0 0.000994658 0.00593186 0.0251858 0 0.00407423 -0.00120012 0.184083 0 0 -0.0815881 0.000278447 0 -0.0429966 -0.399853 0 0 -0.0116776 -0.0726189 0 -0.0222551 0 0.0143491 0 0 0.00106817 0 0 0.404636 -0.000749436 0.0207936 0 0.0117825 -0.00966147 0 0 0.215785 0 0.000463512 0.285859 0.0151568 0 0 -0.0018565 -0.00139453 0 0.00412032 -0.0270162 0.0166589 -0.000801125 0.00750347 0.0289118 0 0.000575322 -0.0904497 -0.137789 0.00630906 0.193397 0 0 0 -3.86471 -0.206344 -0.888604 -0.0182512 0.0448688 -0.599624 -0.00067153 0.00163236 -0.0222298 -0.180536 0 0 0 0 0 0 -0.27285 0 -0.251508 0 0 0 0 0.392018 0.361669 0 0 -0.364893 0 -0.0385538 0 0.016837 0 0 -0.978673 0 0.137949 0.185863 -0.0644 -0.0849188 0 0 0.143975 0 -7.4455 0 0.150864 -0.357823 0 1.41204 -0.0886059 -0.00790476 0 0.0611271 0 0 0.0409262 0 -2.21507 -2.47879 0 0 -0.253378 0 0 0.0136778 0.00562976 0.0532776 0 -1.67406 0 0.9843 0.0544077 -0.052563 0.168293 -0.0424711 -0.377824 -0.102262 0.134683 -1.33857 -18.5696 -0.0133678 0 0 0 -0.155798 0.0141225 0 0 0 0 -0.0486751 -3.42472 0.716854 -3.8245 0.0748525 -0.26851 -0.178414 0.116085 -0.165308 0.272998 -0.88166 0 0 0 0 0 0 +222 0 0.285111 -0.095318 0.0261123 0.0563966 -0.113337 -0.280664 0.690272 1.28124 0.090042 -0.716359 -0.110678 0.292703 -0.0124365 -0.324222 -0.0825072 -2.53985 -6.14767 -0.338078 -0.153485 1.20895 -0.097971 -0.0114095 0.0118457 -0.187987 0.701441 -0.945127 -0.268737 0.770917 1.14734 -0.356859 0.0490543 -0.462013 -0.156596 -1.14733 0.381494 -0.015024 -0.76911 -1.37608 0.0586268 -0.0612265 -0.0522776 -2.81763 0.0287732 1.59403 -0.21777 -0.594121 1.05125 -0.728562 -0.186762 -0.172713 -1.06852 8.63309 0.320069 -0.168427 0.369672 -0.178479 0.975257 0.139185 0.5345 0.107753 0.429253 -0.780279 -0.599002 -1.06811 0.495622 -0.248942 1.09252 -0.545999 -0.0555488 -0.496221 0.0101544 0.183392 1.59852 -0.874137 -1.0089 5.55727 1.38793 0.895302 -1.24285 0.844016 -1.48133 2.59641 0.677748 -0.960777 1.80936 -3.42007 0.0510743 -0.0833312 0.262441 0.295943 -4.18311 0 0 0 0 0 0.0261123 0.0563966 -0.00203713 0 0 0 0 -0.000585841 0 0.0229491 0 0 -0.00098322 -0.00160819 0.0157569 0 0.00297027 -0.0396472 0.139785 0 0 0.109733 -7.43078e-05 0 -0.0850337 -1.30642 0 0 0.00230437 -0.296123 0 -0.231321 0 0.0503055 0 0 0.00379325 0 0 -0.734226 -0.0125189 -0.0226161 0 -0.0452458 0.0281652 0 0 -0.0826513 0 -0.00600639 0.0751965 0.014574 0 0 0.00192029 0.00140329 0 -0.007749 -0.0779934 -0.0093041 3.32227 -0.0177635 0.0258884 0 0.0119863 -0.0720292 -0.0226756 0.145639 -0.110145 0 0 0 5.69408 0.270907 -0.0981528 0.0254818 -0.0610957 0.837193 0.000818052 -0.00202808 0.0271491 -0.0994427 0 0 0 0 0 0 -0.113337 0 -0.280664 0 0 0 0 -0.133912 -0.152096 0 0 -0.118201 0 -0.0163838 0 -0.0164819 0 0 0.582103 0 0.468358 -0.0254624 0.0565632 0.0856943 0 0 -0.166783 0 2.25837 0 -1.07328 -0.409015 0 -0.132199 0.182477 0.00323852 0 -0.0141128 0 0 -0.0172992 0 0.23553 0.775849 0 0 0.0876367 0 0 -0.0633049 -0.0835789 0.0104502 0 0.0144387 0 -0.482109 -0.0180345 0.047893 -0.0653006 0.0371875 0.0805897 0.171777 -0.245887 0.969654 7.50003 0.0290132 0 0 0 0.0193138 0.087127 0 0 0 0 0.0541804 4.31283 1.10863 -0.9329 0.531752 -0.588658 0.859996 0.106957 -0.107463 0.136289 0.00257819 0 0 0 0 0 0 +223 0 -0.190583 0.0775913 0.0528822 0.0358331 0.0194153 -0.0543225 0.20448 -0.717693 0.00810602 0.177034 0.476812 1.30122 -0.026261 1.8081 0.190841 1.04419 5.57683 0.00975924 0.289414 -5.4927 0.0394365 0.0801075 0.0239136 0.0760701 0.463038 0.0993119 0.193009 -0.0452237 -1.18042 0.503665 0.0879406 1.43568 -0.0566445 0.44176 0.378645 0.115202 0.643214 -0.937406 0.956247 -1.99049 -0.10555 1.73491 0.227337 3.82455 -0.426782 -0.575357 -0.28427 2.6736 -0.502076 1.99507 -0.477023 2.39624 -1.08304 -0.042601 0.00200064 0.147135 -1.38378 1.03391 0.023517 0.198292 -0.0317555 1.54895 0.705952 -1.87792 -0.991955 0.441015 0.915017 0.742273 -0.00490732 -0.239562 -0.487032 1.27153 -0.675465 3.78056 -0.789685 -0.954611 3.83687 -0.62252 3.71969 0.757292 -0.446156 0.849852 -0.885651 0.715231 -0.558683 1.93412 0.100094 -0.261973 0.916428 -2.15762 4.30369 0 0 0 0 0 0.0528822 0.0358331 0.00103414 0 0 0 0 -0.000101546 0 -0.0128909 0 0 0.0018694 0.0113188 -0.0271225 0 -0.00239442 0.0555922 -0.110728 0 0 0.131583 0.000531401 0 -0.132921 0.358218 0 0 0.00591703 0.12802 0 -0.272951 0 0.0722241 0 0 0.00589088 0 0 -0.407417 -0.00218071 0.0389279 0 0.0209542 -0.0682784 0 0 0.18811 0 0.000552465 -0.699797 -0.00617225 0 0 -0.00343876 -0.00273526 0 9.87556e-06 -0.104127 0.00331311 0.433063 -0.0929838 0.00917469 0 0.0116774 -0.0748694 -0.103203 0.0126001 0.171022 0 0 0 1.8488 -0.102214 0.649541 0.00594522 -0.0139006 0.20384 -0.0012443 0.00301885 -0.0411803 0.188707 0 0 0 0 0 0 0.0194153 0 -0.0543225 0 0 0 0 -0.413903 2.50551 0 0 0.418743 0 0.0534537 0 0.13019 0 0 -0.818805 0 0.638165 -0.153297 0.196842 -0.0985943 0 0 1.09577 0 7.39841 0 0.988447 1.10709 0 -1.15595 1.00809 0.0288863 0 -0.0586108 0 0 0.298045 0 2.79171 -1.75772 0 0 -0.225395 0 0 -0.511325 -1.94862 -0.172824 0 3.84516 0 1.2973 -0.0726819 0.15406 0.53266 0.0936983 -0.494423 -0.726382 0.169297 -5.21424 -15.6812 -0.0976349 0 0 0 0.665777 -0.0115102 0 0 0 0 -0.980792 -1.99501 -1.00027 2.71003 -0.0748671 0.263784 -0.67039 -0.0360139 0.0973795 -0.239202 0.593664 0 0 0 0 0 0 +224 0 0.341728 0.336282 0.0413582 0.127954 -0.150276 -0.107676 0.0247781 -0.283589 0.270933 -1.03304 -0.027499 -0.00864626 -0.0130759 -0.536555 -0.0301 1.06454 6.40653 -0.206674 -0.0910997 0.973636 -0.0604437 -0.119989 0.0179991 -0.306675 0.20971 0.188412 -0.020375 0.392919 0.567557 -0.201943 0.0729694 -0.237336 -0.960593 -0.117059 0.230155 -0.00298091 0.154998 -4.64668 -0.0262613 0.10275 -0.0432497 0.143624 0.0117813 0.00184121 -0.0994893 -0.244417 0.471039 -0.534941 0.0361468 -0.869788 -0.297462 0.935965 0.0986925 -0.0442525 0.140008 1.48384 0.167087 0.496583 0.312405 0.0594623 1.21199 -1.5717 0.337066 -0.155289 0.334814 -0.0393175 0.493067 0.205053 -0.115755 0.0392819 0.102093 -0.18518 -0.101432 0.97625 -0.386488 -0.307973 11.6135 4.41504 -0.971142 2.56316 -1.62484 3.15034 0.630945 -0.249753 0.309122 0.90524 0.0888781 -0.0435036 -0.178765 0.334823 -0.852811 0 0 0 0 0 0.0413582 0.127954 -0.000113323 0 0 0 0 -4.4008e-07 0 -0.0260213 0 0 -2.08147e-05 -2.81231e-06 -0.0434472 0 -0.00671631 -0.0258838 -0.180827 0 0 0.0673539 -1.20321e-07 0 0.0288307 -0.184126 0 0 0.0170537 -0.0882135 0 0.0541429 0 0.0268558 0 0 0.00599774 0 0 -0.0863913 -9.13166e-06 -0.0005236 0 -0.00233433 0.00186224 0 0 0.0968814 0 -0.000100906 0.132444 0.000697582 0 0 4.9188e-05 0.000248593 0 -9.71973e-05 0.128606 -0.00106331 1.45071 -0.00085422 -0.0249683 0 -0.00101487 0.0926051 0.488604 -0.000622448 0.038783 0 0 0 0.249773 0.00646009 0.215554 0.000572276 -0.00143769 0.0606844 2.164e-05 -5.4737e-05 0.000720075 0.0815301 0 0 0 0 0 0 -0.150276 0 -0.107676 0 0 0 0 0.171652 -0.642045 0 0 -0.49345 0 -0.0505822 0 -0.0428335 0 0 0.8833 0 -0.409274 0.0308381 -0.158998 0.107983 0 0 -0.475925 0 0.783174 0 -1.46888 -1.36538 0 0.25847 -0.592071 -0.0147465 0 0.0192997 0 0 -0.0576179 0 -1.48992 1.8302 0 0 0.2252 0 0 0.108175 1.48226 -0.0806089 0 0.205552 0 -0.406884 0.0222095 0.0253048 -0.412945 0.101908 1.47799 0.468638 -0.0886611 -0.125818 3.4407 0.0599976 0 0 0 -0.0463784 -0.0138049 0 0 0 0 0.0524168 13.1789 3.34883 -1.66223 0.53135 -0.400835 0.443676 0.0906431 -0.0932688 0.194971 -0.084409 0 0 0 0 0 0 +225 0 1.36682 0.232918 0.0894764 0.0734969 -0.0531474 -0.255288 0.239288 0.955119 0.497545 -2.09472 0.139774 -0.803391 -0.0352486 -0.760205 -0.00293773 -0.722535 0.640778 -0.511064 -0.0930431 -1.39609 -0.165256 -0.311013 0.0443124 -0.709944 0.489652 -0.310321 -0.018435 0.460257 -0.26077 -0.427576 0.168197 -0.0201605 -1.84714 0.12547 0.338814 0.0394105 0.336142 -7.8236 0.509064 -1.1734 -0.141117 1.91013 0.147011 -2.47313 -0.499437 -0.841466 0.249228 -0.239676 -0.336562 -0.1597 -1.14101 -1.63293 0.216095 -0.12493 0.277644 1.55538 0.361837 -0.546784 1.0561 0.264801 -0.543279 2.37219 2.50849 -2.08904 -0.143834 0.0634329 2.25335 0.334231 -0.240562 1.55958 0.0456824 0.324669 -0.550703 -0.505064 -0.73093 -1.69403 27.2562 8.84765 -3.23607 6.43294 -5.39534 8.42769 1.92701 -1.56966 1.99958 -1.21441 0.446169 -0.504659 0.491706 -0.527233 0.391833 0 0 0 0 0 0.0894764 0.0734969 -2.57035e-05 0 0 0 0 -2.29447e-08 0 -0.0265865 0 0 2.48294e-05 2.12057e-06 -0.0495513 0 -0.00946466 0.0393477 -0.118391 0 0 0.198235 1.09157e-07 0 -0.0133296 0.930814 0 0 0.0412302 0.222193 0 -0.22616 0 0.0666105 0 0 0.0133098 0 0 -0.758543 -2.62315e-07 0.000463443 0 -0.000472934 0.00102019 0 0 0.0852299 0 5.34639e-05 -0.0633204 -0.000398921 0 0 -3.5521e-05 0.000106237 0 6.95413e-05 -0.0133216 0.000121495 0.5533 0.000283313 0.0362656 0 -0.000297982 -0.00408791 0.0571084 -0.00161975 0.0440244 0 0 0 1.52555 -0.00376921 0.156692 -0.000342874 0.000795921 0.168131 -1.13662e-05 2.60044e-05 -0.000373427 0.0396129 0 0 0 0 0 0 -0.0531474 0 -0.255288 0 0 0 0 0.0608504 1.48092 0 0 -0.211394 0 -0.0436767 0 0.0527329 0 0 -0.773081 0 0.144759 -0.0184095 -0.0024875 -0.0948881 0 0 0.465453 0 1.56023 0 -2.19576 -1.16574 0 -0.0397836 -0.0588432 -0.00537232 0 0.00759634 0 0 0.173226 0 -0.973225 -1.74681 0 0 -0.199192 0 0 -0.229063 0.297314 -0.0932304 0 0.622617 0 -0.204063 -0.00546811 0.0364959 0.583424 -0.112016 -0.961174 0.253733 0.095096 -1.41548 -0.602276 -0.0592368 0 0 0 0.261175 0.047862 0 0 0 0 -0.398306 12.1838 0.997544 1.21671 0.361891 -0.361287 1.01235 0.0256452 0.00206268 0.0368534 0.0567514 0 0 0 0 0 0 +226 0 0.00630626 0.182189 0.0671491 0.187838 -0.187776 0.00571614 0.969376 2.52246 0.502764 -1.75294 0.558831 0.185017 -0.0199107 1.0353 0.204431 1.5308 4.77103 -0.252248 0.255491 -1.8817 -0.0461088 -0.101865 0.0282537 -0.462102 0.236911 0.469119 0.0500777 -0.461221 -1.5683 0.30506 0.120302 1.14209 -0.416405 0.488412 0.000236193 0.130474 0.385335 -2.46217 0.775415 -0.670582 -0.0645368 2.43955 0.19335 0.0251803 -0.149923 -0.0623097 -0.867325 1.48833 -0.367286 1.13234 -1.2538 -3.67649 -0.469884 0.294476 -0.169796 -0.0525969 -0.383434 -0.295447 0.533876 0.0800971 -1.00174 0.98311 2.09138 -2.06299 -0.683128 -0.18498 1.66496 0.288727 -0.204966 1.3645 0.383247 0.833904 -0.681986 -0.169819 0.0325574 -1.5976 9.3 4.74071 -4.97609 2.13346 -2.7967 5.22392 1.10523 -1.70188 3.00555 -4.64474 0.133933 -0.429589 0.813152 -1.45325 2.35653 0 0 0 0 0 0.0671491 0.187838 0.000222022 0 0 0 0 8.68476e-07 0 0.00284103 0 0 4.13119e-05 5.63e-06 -0.0191396 0 -0.00353072 0.0325058 0.0128795 0 0 -0.148184 2.41276e-07 0 -0.018573 -0.445791 0 0 -0.0254063 0.0150666 0 -0.0899066 0 -0.0109354 0 0 -0.000993136 0 0 -0.309879 1.80363e-05 0.00103872 0 0.00457857 -0.00359546 0 0 -0.0885137 0 0.000201707 0.20522 -0.00141908 0 0 -0.000100467 -0.000484655 0 0.000217781 0.0665882 0.00214228 1.20837 0.00173449 0.0380733 0 0.00207374 -0.0485069 0.295485 0.00131669 0.169393 0 0 0 0.284796 -0.0134749 0.0010133 -0.00122326 0.00306885 0.180186 -4.33281e-05 0.000109736 -0.001442 -0.0154235 0 0 0 0 0 0 -0.187776 0 0.00571614 0 0 0 0 0.291339 2.11796 0 0 -0.670801 0 -0.0839361 0 0.0962048 0 0 -0.563345 0 -0.643491 0.0739374 -0.3253 -0.059156 0 0 0.773202 0 -2.29485 0 -2.4067 -1.01912 0 0.582057 -1.30025 -0.0384499 0 0.0391653 0 0 0.257712 0 -1.69229 -1.82805 0 0 -0.207871 0 0 -0.30658 0.918147 -0.0510658 0 1.81067 0 -0.763835 0.168622 -0.0591345 0.691306 -0.0143827 -0.633617 0.794614 0.055027 -1.23064 9.24304 -0.0347165 0 0 0 0.442893 -0.000275416 0 0 0 0 -0.525289 15.6069 3.29207 -2.35411 0.251941 -0.257583 0.535557 0.0841649 -0.0765937 0.135788 -0.0994145 0 0 0 0 0 0 +227 0 0 0 0 0 0.232485 0.286394 -0.725371 -2.39397 0 0 -0.304515 1.34364 0 2.59718 -0.0609351 0 0 0 -0.0452085 1.11435 0 0 0 0 -0.444824 0 0 -0.127713 2.00797 0.732394 0 -0.113866 0 0 -0.199195 -0.0310999 0 0 -1.20123 0.962901 0 0 -0.252206 5.32005 0 0.644381 0.473232 -0.0591606 0.143683 0.667151 -0.260375 0 -0.0483813 -0.214156 0.525425 -0.0423319 -0.0979219 -0.0850263 0 0 -0.326377 -0.897017 0 0.00454568 -0.238528 1.25024 0 0 0 0 -0.314205 -0.474244 0 -1.97949 -1.2085 0 0 0 2.54912 0 1.61648 -2.49449 0 0.570634 -0.0641513 2.72965 0 0.580373 -0.00821687 2.00172 -5.54573 0 0 0 0.172584 0.0384259 0 0 0 0.0150808 0 0 0.00348625 0 0 -0.0166065 0 0 0 0 0.0707767 0 0.0108004 0 -0.0479278 0 0.0573945 -0.0792356 0 -0.00506874 0 0 -0.207095 0 -0.00664187 0 0 0 0 -0.024171 -0.0316838 0 -0.00308781 0 0 0 0 0 0 0 0 0 0 0.0450805 0 0 0 0 0 0 0 0 0 0 0.342113 0 0 0 0.0916219 0.0216073 0 -0.0127146 0.3755 0 0.0851616 0 0.265304 0 0 0 0.0314084 0 0 0.19177 0 0 0 0.0772181 0 0 0 0 0.184553 0 0.232485 0.172584 0.286394 0.0384259 -0.48172 -0.0627485 0.492563 -1.01467 1.46182 -0.00623004 0.0195301 0.384708 -0.00175124 0.00372432 0.0677804 0.075003 -0.0293479 0.0121001 -0.0710172 -0.353323 0.721494 -0.360997 0.316333 0.0721697 -0.0889603 -0.000894546 0.716444 -0.0145177 10.8465 -0.3854 0.930389 3.55208 0.00904721 -2.06768 0.879431 0.0178892 -0.00461889 -0.178281 -0.0413836 0.34912 0.162706 -0.00850969 6.22521 0.214721 2.66697e-06 -0.038743 0.200004 -0.0702184 -0.16711 -0.162714 0.55085 -0.082834 0.156411 -0.568896 -0.193672 2.05726 -0.202376 0.265135 0.779677 0.561397 -0.625695 -0.460011 0.0999307 -0.279586 -11.6287 -0.0652155 0.645617 -0.00205585 0.129044 0.472426 0.0526236 0.0578946 -0.0130491 -0.191266 0.0326526 -0.530193 -5.22382 -1.63964 7.09104 -0.223164 1.47674 -1.49445 -0.0855091 0.245416 -0.314448 0.526135 -0.00492115 0.0752573 -0.0730468 0.264873 -0.566857 0 +228 0 0 0 0 0 0.548625 0.231362 -0.549007 -3.47345 0 0 -0.0418479 0.138578 0 0.287647 0.02269 0 0 0 0.0134544 -3.59825 0 0 0 0 -0.694045 0 0 0.0396184 -0.43422 0.120922 0 0.612793 0 0 -0.149407 0.014009 0 0 -0.158275 -0.860236 0 0 -0.0143487 0.938217 0 0.0706341 0.247134 1.03387 -0.0121461 -0.425062 0.173498 0 -0.26716 -0.225626 0.512847 -1.66486 -0.673936 0.554393 0 0 1.46098 -1.36996 0 -0.116808 0.711078 -0.435756 0 0 0 0 0.0662386 0.829213 0 0.269333 -1.80698 0 0 0 5.12246 0 0.465673 1.45776 0 0.00743976 0.633271 4.98254 0 0.025618 0.815911 -0.255434 2.29758 0 0 0 0.0170849 0.0199463 0 0 0 -0.00412298 0 0 0.00266979 0 0 -0.121132 0 0 0 0 -0.210793 0 -0.0400236 0 -0.554009 0 -0.114706 0.165965 0 -0.0116067 0 0 -0.213372 0 0.0360839 0 0 0 0 0.160462 -0.0512703 0 0.0340579 0 0 0 0 0 0 0 0 0 0 -0.00202695 0 0 0 0 0 0 0 0 0 0 0.0653834 0 0 0 0.0500361 0.075464 0 0.142645 0.236689 0 -0.0917297 0 0.0369599 0 0 0 0.577615 0 0 0.212899 0 0 0 0.150756 0 0 0 0 0.133859 0 0.548625 0.0170849 0.231362 0.0199463 0.0932107 0.00860218 0.116667 -0.684046 0.26162 -0.0295868 0.0532414 -0.465323 -0.00620532 -0.138638 0.0358997 0.0153194 0.0266254 -0.120348 0.577659 -0.771934 0.205515 -0.248855 -0.00095072 0.147483 0.265331 -0.0400967 0.270977 -0.0121027 2.7587 -0.104521 -0.456083 1.52412 0.00748744 -1.64272 0.111754 -0.0246738 -0.00532813 -0.100324 -0.0259712 -0.388084 0.0298989 -0.00361786 2.24575 1.46667 0.00551996 -0.0262888 0.313394 -0.0960674 0.0367671 0.0808478 3.23481 -0.18322 -0.0811552 -1.06771 -0.056562 0.436875 -0.0772551 0.251335 0.70706 -0.100279 0.885211 0.345414 -0.0325413 -0.634594 -6.69998 -0.120916 -0.0344049 -0.0249571 -0.258941 -0.407022 0.359066 0.0461012 0.0629212 0.124402 -0.000234416 -0.112714 2.56075 1.58066 4.04487 0.430602 0.32146 0.970344 0.167014 -0.0258664 0.144092 0.605901 0.0489458 -0.00302025 0.0588613 -0.0635606 0.348483 0 +229 0 0 0 0 0 0.258887 0.177464 -0.989501 -1.79639 0 0 -0.435691 0.730535 0 0.61557 -0.0128036 0 0 0 0.293013 -0.212342 0 0 0 0 -0.36067 0 0 -0.170739 3.6278 0.327233 0 0.0139711 0 0 -0.206478 -0.0511469 0 0 -1.66184 1.24131 0 0 -0.337148 1.62457 0 1.02465 0.540466 1.26766 0.516879 -0.918289 1.06031 0 -0.306977 0.0903033 -0.445072 -1.05918 -0.0426451 1.23161 0 0 -0.853956 -4.66378 0 0.578779 0.549221 -0.165903 0 0 0 0 -0.502821 -0.807542 0 -0.202306 0.818088 0 0 0 2.41492 0 2.39829 -5.24658 0 1.01679 -1.97838 4.15817 0 0.904209 -1.96467 4.10625 -8.58032 0 0 0 0.184648 0.038594 0 0 0 -0.0303126 0 0 -0.00377874 0 0 -0.000289055 0 0 0 0 0.0638318 0 0.0113804 0 0.0389446 0 -0.21753 -0.362383 0 0.000671854 0 0 0.0318189 0 -0.0445056 0 0 0 0 -0.107488 0.0054392 0 -0.013065 0 0 0 0 0 0 0 0 0 0 0.208971 0 0 0 0 0 0 0 0 0 0 0.11773 0 0 0 -0.0700281 0.00921723 0 0.166703 0.150907 0 -0.0355992 0 0.0662203 0 0 0 -0.0724834 0 0 -0.0262775 0 0 0 0.0424885 0 0 0 0 -0.0400663 0 0.258887 0.184648 0.177464 0.038594 -0.297632 -0.125232 0.516401 0.0346445 0.643994 -0.0021468 -0.011124 0.251674 -0.000932796 0.0215468 0.0679652 0.0120948 -0.0190251 0.0319045 0.28738 -0.528844 0.694976 -0.00784661 0.154625 0.010198 -0.062095 0.133543 0.155123 -0.0220315 9.21194 -0.493457 3.63556 3.07674 0.00865142 -0.0753357 1.84807 0.0191099 -0.00882046 0.00995679 -0.0892674 0.830267 0.0727316 0.0213378 5.13162 0.477041 -0.0028636 -0.0487548 -0.0510584 -0.112985 0.0968087 0.501028 -2.7383 -0.339605 0.0856086 1.2517 -0.201377 -0.980463 -0.154466 0.0349093 -0.867278 -0.526646 0.572661 -0.563766 0.234266 -1.31404 -14.4514 0.245554 -0.0616332 0.0576518 0.163433 0.197327 -0.109781 0.0571774 -0.0239771 -0.0339968 -0.118011 -0.354039 -20.4124 -2.89335 1.73355 -0.82886 1.9647 -3.25838 -0.0703689 0.203702 -0.471618 0.224698 -0.0129756 0.0846011 -0.183537 0.276671 -0.353166 0 +230 0 0.522667 0.178085 0.042814 0.178627 -0.346386 -0.0893105 0.3116 0.530279 0.817923 -0.559068 0.221669 -1.03251 -0.00130798 -1.8956 0.047042 0.181911 1.96414 0.00753316 -0.00117662 -1.70142 0.00709154 -0.201273 0.0169452 -0.150952 -0.148517 -0.00480248 0.0374483 -0.0936026 -0.775181 -0.430468 0.119445 0.254729 -0.733954 0.33237 -0.0820921 0.0377099 0.205857 -3.97288 0.14664 -0.705577 0.00360785 1.61843 0.0423963 -4.57425 0.0949918 -0.155969 -0.444279 -0.0316633 0.031027 0.512832 0.295171 0.947547 0.435512 0.182604 -0.479118 1.45138 0.334239 -0.496469 0.0410606 -0.0011711 0.493475 0.960601 0.0300197 0.570439 -0.338026 -0.926786 -0.516001 0.11724 -0.422445 0.194365 0.212321 0.0717862 -0.432799 1.49736 0.900731 -0.674439 7.48267 2.39143 -1.38487 1.36482 -1.81054 5.32412 0.44986 -0.363504 0.534545 -0.625038 -0.0320519 0.0183019 -0.0109562 -0.570038 2.31327 0 0 0 0 0 0.042814 0.178627 0 0 0 0 0 0 0 -0.00764364 0 0 0 0 -0.00682904 0 -0.000342387 -0.0278941 -0.0657278 0 0 -0.041562 0 0 0.0437427 -0.325741 0 0 -0.00948515 -0.0620808 0 0.0868444 0 -0.00358551 0 0 -0.00125888 0 0 -0.0142315 0 0 0 0 0 0 0 0.0232495 0 0 0.174552 0 0 0 0 0 0 0 0.0567389 0 0.55024 0 0.00291042 0 0 0.00826048 0.187703 0 0.0793613 0 0 0 -0.0502495 0 0.0888511 0 0 0.0767219 0 0 0 0.0296141 0 0 0 0 0 0 -0.346386 0 -0.0893105 0 0 0 0 0.157397 0.334824 0 0 -0.56078 0 -0.0609833 0 0.00764593 0 0 -0.732115 0 -0.905235 0.0557306 -0.247197 -0.118348 0 0 0.127593 0 -5.75638 0 -4.31487 -2.02821 0 0.544437 -2.01649 -0.0279161 0 0.0139044 0 0 0.0194873 0 -3.62524 -1.45797 0 0 -0.225366 0 0 0.629311 2.62368 0.297541 0 1.5163 0 -0.39296 0.191427 -0.267872 -0.00805195 0.0343456 1.80702 0.263943 -0.0398051 0.3121 10.8308 0.103482 0 0 0 -0.297928 -0.00525662 0 0 0 0 0.309771 27.0476 4.02738 -2.32401 0.708654 -0.681402 1.39615 0.101075 -0.110498 0.224959 -0.279582 0 0 0 0 0 0 +231 0 0.586306 0.385518 -0.0390699 -0.0166229 0.134463 0.227885 -0.464215 -0.908273 -0.128571 0.510186 -0.263029 1.24686 0.0156502 0.672345 -0.175487 1.28035 2.95024 0.0528061 -0.221528 6.14038 0.060551 -0.220106 -0.0168161 0.298303 -0.170046 0.551853 -0.0403503 -0.331579 0.368396 0.556259 -0.0701753 -1.3324 -0.880817 -0.287914 -0.210652 -0.0821673 -0.256409 -4.83042 -0.601301 2.61767 0.0668236 -1.51088 -0.17075 2.63769 0.262868 0.971309 -0.180604 -2.07578 0.50521 -0.377449 0.607612 -2.30994 0.5707 0.0436214 -0.204601 -0.282395 0.113643 -0.66061 -0.378889 -0.135333 -1.50691 0.185315 1.09737 0.438996 0.559238 -0.0212048 0.891882 -0.243879 0.0701551 -0.195039 0.153406 -1.53003 0.430739 -0.125119 1.49722 0.0940908 11.2006 0.418686 1.37844 1.74192 -1.94859 6.2622 -0.897696 0.39341 -0.186719 1.08055 -0.0886962 0.220552 -0.454373 1.06411 -1.09936 0 0 0 0 0 -0.0390699 -0.0166229 0 0 0 0 0 0 0 -0.0231577 0 0 0 0 -0.0172024 0 -0.00538765 0.127168 -0.0853788 0 0 -0.206555 0 0 -0.16006 0.0532412 0 0 -0.0192212 0.252988 0 -0.443829 0 -0.0473953 0 0 -0.00420981 0 0 -1.32448 0 0 0 0 0 0 0 0.0636522 0 0 -0.234308 0 0 0 0 0 0 0 0.0267628 0 0.377415 0 0.0459807 0 0 -0.0281114 -0.00493165 0 0.114324 0 0 0 2.78095 0 0.179205 0 0 0.288793 0 0 0 0.0260976 0 0 0 0 0 0 0.134463 0 0.227885 0 0 0 0 0.226927 -1.37153 0 0 -0.281085 0 -0.0512585 0 -0.0784391 0 0 0.605582 0 -0.797588 0.00522572 -0.25451 0.0565315 0 0 -0.750224 0 -4.02199 0 -5.38396 -0.423873 0 -0.0476698 -1.95501 -0.0333085 0 0.0344399 0 0 -0.138087 0 -1.52555 0.83902 0 0 0.0696799 0 0 0.544908 -0.872624 0.119728 0 -0.478103 0 -0.666483 0.102382 -0.156225 0.9247 -0.153916 -0.875516 0.262307 0.139208 1.30605 8.18206 0.0106961 0 0 0 -0.335605 0.0331343 0 0 0 0 0.283849 30.0257 3.07159 -0.263919 0.823876 -0.80005 1.61897 0.0603545 -0.0402683 0.0542636 0.0603923 0 0 0 0 0 0 +232 0 0.0104287 0.0218586 0.0271898 0.0948471 -0.160595 -0.311776 1.61787 3.10251 0.440963 -1.11283 -0.288494 0.264229 -0.00266691 0.0731295 -0.135014 0.326955 1.87864 -0.262134 -0.286097 3.46082 -0.0342961 0.154879 0.0109332 -0.180867 1.05622 0.043932 -0.00695005 0.895852 2.07504 -0.119628 0.0709247 -1.0095 0.00120767 -0.385748 0.671631 -0.0386811 0.258281 -0.83589 -0.345471 0.429254 -0.00661475 -0.245357 -0.0394999 0.991113 0.0159268 -0.584068 1.40847 -2.03887 0.0350194 -0.0227519 -0.458778 1.18323 0.621911 -0.124974 0.334483 1.99045 0.468767 -0.613898 0.223628 0.0165818 -0.528263 0.817717 -1.20673 -1.02829 -0.244354 -1.34408 0.179591 0.389995 -0.228227 0.456265 0.282255 -0.637377 -0.113332 -0.338622 -0.994058 0.174366 2.09361 2.01581 -4.49247 0.220977 -0.170468 -1.31747 0.3844 -0.538174 1.00684 -4.47221 -0.00537399 0.0655004 -0.373842 1.45568 -6.19227 0 0 0 0 0 0.0271898 0.0948471 0 0 0 0 0 0 0 0.00535872 0 0 0 0 -0.00116488 0 0.000824387 -0.0536737 0.00463728 0 0 -0.0565299 0 0 0.0454475 -0.462102 0 0 -0.0111994 -0.16039 0 0.100294 0 0.0027043 0 0 -0.0002301 0 0 0.237042 0 0 0 0 0 0 0 -0.075835 0 0 0.082559 0 0 0 0 0 0 0 0.00535424 0 0.043398 0 0.00770428 0 0 -0.0249811 0.0392439 0 -0.00555475 0 0 0 -0.564746 0 0.00874537 0 0 0.0099067 0 0 0 -0.015069 0 0 0 0 0 0 -0.160595 0 -0.311776 0 0 0 0 -0.0857573 -0.764143 0 0 -0.458804 0 -0.0590237 0 -0.0438797 0 0 0.451101 0 -0.245655 0.0133571 -0.0574085 0.0521301 0 0 -0.462438 0 -0.902448 0 -2.10593 -1.52011 0 0.172718 -0.96618 -0.0135625 0 -0.00749708 0 0 -0.0783733 0 -1.60754 0.629971 0 0 0.070139 0 0 0.131214 -1.00101 0.154401 0 -0.10113 0 -0.625287 0.0780503 -0.131181 0.69171 -0.0169486 -0.90774 0.291378 -0.0199079 1.157 8.7968 -0.0324584 0 0 0 -0.0443555 0.069227 0 0 0 0 0.151322 11.0033 2.09864 -1.17984 0.36755 -0.409416 0.442176 0.0794946 -0.0731535 0.115022 -0.0524576 0 0 0 0 0 0 +233 0 0 0 0 0 0.0261543 0.238687 0.242283 1.25607 0 0 -0.0506152 1.42685 0 2.58017 0.00838158 0 0 0 -0.00879265 0.0643178 0 0 0 0 0.0176961 0 0 -0.27542 3.16277 0.827002 0 -0.0650743 0 0 -0.144026 -0.00490875 0 0 0.248627 0.961452 0 0 0.124362 4.36991 0 0.974404 0.555236 -0.465248 -0.151175 0.578509 -0.0659474 0 0.114622 -0.0188686 0.319979 -0.809213 0.0164181 -0.93582 0 0 0.401444 -0.191676 0 0.58348 0.154589 -0.395966 0 0 0 0 0.0318752 0.505459 0 -2.72592 -1.42648 0 0 0 -1.78448 0 -0.452772 -2.89444 0 -0.120162 -0.188813 -3.26875 0 -0.065514 -0.40896 0.940822 -9.20711 0 0 0 -0.0526595 -0.0147599 0 0 0 -0.0156539 -0.0203504 0 -0.00167447 0 -0.0042575 -0.00427462 0 0 0 0 -0.016073 0 -0.00221705 0 0.00252501 0 -0.133152 0.0895674 0 0.00164873 0 0 0.0434802 -0.00188334 0.0116572 0 -0.00141473 0 -0.00142766 -0.0214985 0.0112304 -0.0268375 -0.00526137 0 -0.000298738 0 0 0 -9.92661e-05 0 0 0.00501944 -0.00222259 0.0479282 -0.0132212 0 0 0.00346244 0 0.00246016 0 0 -0.0140843 -0.00703625 0.0174417 -0.00715162 0 0 0.0300174 0.0286344 0.00390813 -0.0046273 -0.0126986 0 -0.0351138 -0.00617387 -0.0841587 0 0 0 -0.000558603 0 0.0215331 -0.0349081 0 -0.0026854 0.00441359 -0.00371187 0 0.00238785 -0.00391617 0.00778185 -0.0104045 0 0.0261543 -0.0526595 0.238687 -0.0147599 -0.294016 -0.0463511 -0.106225 -0.450604 -0.578299 0.0142692 -0.0805529 0.0853128 0.00196696 0.00259333 -0.0175115 -0.0281184 -0.048244 0.0947365 -0.161866 0.37682 0.114714 0.0305884 0.034747 0.048848 -0.492926 0.255772 -0.258105 0.0143242 1.25403 -0.265211 -1.15136 1.29575 -0.00253214 -0.18073 -0.439697 -0.00136529 -0.00302979 -0.0629446 -0.0241348 1.62138 -0.0640435 0.0405123 1.42479 -0.465085 -0.0080059 -0.0334013 0.0513183 0.0837488 -0.173767 -0.167652 0.443625 0.00589366 0.0968296 -0.901361 0.030446 0.437597 -0.138045 0.255192 0.0632047 -0.225864 -0.0138183 0.125925 -0.0750793 0.933861 0.220462 0.129452 -0.056451 -0.0514594 -0.400355 -0.150853 -0.00665093 0.0780662 -0.0307517 -0.0652544 0.17484 0.117838 2.81622 -0.547395 0.268278 0.139125 0.117022 -2.64087 0.0175618 0.117055 -0.00772351 -0.792867 -0.0419619 0.238459 -0.549776 0.863865 -2.55961 0 +234 0 0 0 0 0 0.688018 -0.0849664 0.0235471 -1.89041 0 0 0.0830673 -1.02639 0 -2.18306 0.0554679 0 0 0 0.0334868 -2.79954 0 0 0 0 -0.144282 0 0 0.102578 -0.589251 -0.621473 0 0.181462 0 0 0.0970199 0.0293858 0 0 -0.322875 -1.24935 0 0 -0.0922598 -3.74581 0 -0.912785 0.203864 0.269132 0.223141 0.209904 0.0266883 0 0.0908531 -0.162148 -0.108503 3.30434 0.182189 0.442693 0 0 1.21729 -0.245384 0 -0.10557 -0.576248 0.537887 0 0 0 0 -0.0251562 -0.544345 0 4.18519 -0.0388146 0 0 0 2.46787 0 0.626344 0.12489 0 0.211775 -0.362049 2.75496 0 0.317681 -0.527718 0.603566 1.59928 0 0 0 0.12268 0.0205813 0 0 0 -0.000433396 -0.0566418 0 -0.0004697 0 0.000104119 0.0226685 0 0 0 0 0.0251905 0 0.00456004 0 0.126041 0 0.0144561 -0.0253265 0 0.00165117 0 0 0.0727396 -0.00122453 -0.00836462 0 -0.00799121 0 -0.00397047 0.0167175 0.0102883 -0.0176995 0.00614371 0 7.46313e-06 0 0 0 -0.00056068 0 0 0.0025425 -0.00741788 0.0608832 -0.000934809 0 0 0.00651169 0 0.00580186 0 0 -0.048669 0.00345679 0.0225111 0.00428527 0 0 0.0409994 0.0279025 -0.00444196 -0.000429229 0.0157098 0 -0.0234509 -0.00811446 0.0956725 0 0 0 -0.104486 0 0.0135218 -0.0529701 0 -0.00156142 0.00559897 -0.0204985 0 0.00146306 -0.00557275 0.00885226 -0.0185272 0 0.688018 0.12268 -0.0849664 0.0205813 -0.127985 -0.019069 0.173974 0.0150595 -0.10347 -0.0201829 -0.00142408 0.192452 -0.00271739 0.0310669 0.0256464 -0.0165416 0.0216008 -0.139949 0.534538 -0.755451 -0.000620234 -0.122929 -0.0100815 -0.0228216 0.216115 -0.0773227 -0.146732 -0.0108324 0.356356 0.148642 0.380939 -0.743959 0.00349918 -1.40301 -0.0351595 0.00626299 0.00303754 0.0755729 0.00622873 -0.961028 -0.0100536 -0.00192985 -0.328489 0.830144 -0.000502824 0.0298647 -0.0903317 -0.0847978 0.0209585 -0.396731 0.618134 -0.124848 -0.0340683 -0.369279 -0.0497892 0.423831 -0.0223518 0.069018 0.159818 0.47355 0.79008 -0.242608 0.0067286 -0.108721 0.776478 0.0198078 -0.293605 -0.0356325 0.0871412 -0.0112261 -0.0714358 -0.085131 0.0468544 -0.066846 0.0547272 0.0191965 -0.931773 -0.0887781 3.65785 0.0867923 -0.0691146 2.26485 -0.0964758 0.137203 -0.333262 1.80254 0.0619881 -0.120351 0.285033 -0.372983 1.37344 0 +235 0 0 0 0 0 0.0107182 0.281365 -1.44212 -3.11346 0 0 -0.0310891 0.889347 0 1.10742 -0.189806 0 0 0 -0.521875 8.20945 0 0 0 0 -0.494237 0 0 -0.801045 -8.44758 0.460467 0 -0.873761 0 0 -0.265495 -0.076039 0 0 0.604281 2.02203 0 0 0.0723567 3.73782 0 0.758181 -2.50322 -2.17922 -0.0298262 -0.311554 -0.013393 0 0.720104 -0.367605 0.350199 -0.00757393 0.270996 -0.164831 0 0 0.0421472 -3.9221 0 -0.166425 0.0636576 0.82024 0 0 0 0 -0.409578 -0.105633 0 -2.89627 1.69422 0 0 0 5.1754 0 0.624215 8.8951 0 1.07743 -1.04965 11.0406 0 0.580767 0.122748 -1.79328 22.42 0 0 0 -0.254075 -0.0528934 0 0 0 -0.0199663 -0.000454604 0 -0.00291505 0 -0.0101877 -0.0381356 0 0 0 0 -0.00682854 0 -0.00390532 0 -0.164801 0 -0.0728135 0.162515 0 -0.000725394 0 0 0.0804616 -0.0034407 0.0313981 0 0.00355097 0 -3.75807e-05 -0.0435306 0.00549308 -0.048797 -0.0141428 0 -0.000714992 0 0 0 0.000249113 0 0 0.00963769 0.00117759 -0.00269363 -0.0268982 0 0 -0.0129691 0 0.00114721 0 0 0.0603806 -0.0271752 0.0618388 -0.0278401 0 0 0.0435149 0.001988 -0.006803 0.0187848 -0.0146644 0 -0.0132162 0.000430236 -0.577693 0 0 0 0.136115 0 0.0395625 -0.0687964 0 -0.00500925 0.00934852 0.00615557 0 0.00440914 -0.00784814 0.014778 -0.0192338 0 0.0107182 -0.254075 0.281365 -0.0528934 0.955753 0.271874 -0.405115 0.522739 -2.31212 0.0503072 0.00570431 -0.460518 0.00700681 -0.0766161 -0.0638637 -0.117986 0.000253479 0.328083 0.819688 1.63295 0.139812 -0.239051 -0.425464 0.102934 -0.0509115 -0.41989 -1.10733 0.0337031 0.750329 -0.0151102 1.23729 0.917533 -0.00903175 -0.879894 0.640755 -0.0658512 -0.000341036 0.0450344 0.0266474 -2.56459 -0.252222 -0.0641973 1.15978 2.10008 0.00127585 -0.0282813 0.276139 0.228213 -0.299705 0.491647 -0.823902 -1.78661 0.0369341 -0.242081 0.116003 -1.59447 -0.534956 0.931552 -0.124876 -0.119191 -0.440816 1.00522 -0.167207 0.300719 -0.282003 0.0663593 0.814834 0.0913569 0.141212 -0.28845 0.164103 0.138181 -0.109652 0.00248479 -0.106617 0.449478 -3.02639 1.03934 1.88731 -0.675262 0.359724 4.13326 0.22824 -0.212674 0.194547 2.07437 -0.145319 0.161537 -0.0100626 -0.471304 3.69413 0 +236 0 -0.251508 0.270142 -0.0038619 -0.04333 -0.134838 -0.0403002 0.474484 1.72359 -0.0291205 0.112707 -0.0159597 -0.0693386 0.000100693 -0.692879 0.000935078 1.86319 5.33751 0.0159129 0.00207579 0.583391 -0.00122483 -0.114189 -0.000129994 0.0209163 0.288578 0.685311 -0.001014 -0.0420989 0.146446 -0.171082 -0.00202698 0.0383965 0.102784 -0.0429644 0.099921 -0.000146112 0.0416375 2.2754 -0.0526641 0.00632945 0.00157009 -0.131693 -0.00274959 -0.365675 0.0225566 -0.130422 -0.0338269 0.0667113 0.0068136 -0.119781 0.216526 -1.34744 -0.00275506 0.00252505 -0.000331967 0.863735 -0.176063 0.0934686 -0.0423781 -0.00321582 -0.0827873 0.846751 1.12256 -0.0524968 0.0073431 -0.0768474 0.345804 0.0290739 0.00350874 0.216683 0.165607 0.0208475 -0.00703945 1.87488 0.526249 -0.0526876 -6.39299 -0.235442 -4.03637 -0.292764 0.301025 -3.18772 0.133721 -0.131583 0.069076 -2.40116 -0.00176464 0.00228419 -0.0269658 0.0510396 -0.275762 0 0 0 0 0 -0.0038619 -0.04333 -0.000941939 0 0 0 0 -4.92063e-05 0 0.00338074 0 0 -0.00109552 -0.00117722 0.00107196 0 0.000179937 -0.0027376 0.014146 0 0 -0.0133785 -8.26018e-05 0 -0.00062707 0.0541914 0 0 -0.000612259 -0.0157326 0 -0.00545401 0 -0.00114748 0 0 -8.32072e-05 0 0 -0.00294419 -0.000701275 -0.015613 0 -0.0134243 -0.00771965 0 0 0.0258856 0 -0.00191976 -0.00519835 0.00136907 0 0 0.00223276 0.00162249 0 -0.00348446 -0.0185681 -0.00366761 -0.000911328 -0.00382794 0.00563561 0 -0.00221547 -0.000715419 0.00919934 0.00239667 0.00360807 0 0 0 0.00470953 0.012195 -0.0108826 0.000260722 -0.0002999 0.000360904 0.00138261 -0.00159037 0.00191387 -0.00173404 0 0 0 0 0 0 -0.134838 0 -0.0403002 0 0 0 0 0.284236 0.0358695 0 0 0.0103551 0 0.00465489 0 0.0190098 0 0 0.0273696 0 -0.604074 0.114651 0.0801517 -0.0328201 0 0 0.16657 0 1.15818 0 0.246029 -0.16296 0 0.881173 -0.44656 0.0088053 0 0.0304589 0 0 0.00828183 0 0.247984 0.177415 0 0 -0.0419063 0 0 -0.109367 1.10536 -0.40144 0 -0.221943 0 0.0645761 0.0335283 0.0944143 0.090115 -0.230628 -0.484399 0.0784556 0.114114 -0.466423 0.12992 0.106876 0 0 0 0.041963 -0.00176801 0 0 0 0 0.0188427 -5.8158 0.249971 -3.1413 0.331698 -0.423919 0.252538 0.128596 -0.101165 0.0512653 -0.693034 0 0 0 0 0 0 +237 0 1.48387 0.258084 0.00918448 0.103049 0.109263 0.26463 -0.38143 -1.19067 0.0692553 0.126673 -0.141836 0.414583 -0.000239471 0.486205 0.0103779 0.228506 -2.44252 0.0366985 0.0121157 2.08479 0.0224252 -0.209324 0.000309155 0.0687815 -0.538924 0.434064 0.0242945 -0.43503 0.199002 0.349984 0.00482062 0.160288 -0.588892 -0.000114264 -0.34669 -0.00865747 0.138999 -3.93582 -0.045642 1.61324 -0.00373404 0.200508 -0.00201991 0.315563 -0.053645 1.18368 -0.127863 0.18181 0.00476406 0.356814 -0.148792 -0.304992 -0.0207964 0.0190602 0.0843634 -0.750852 -0.1488 -0.1615 -0.0555418 0.00764796 -1.20343 -1.18817 -0.272147 0.874731 0.00170863 0.0816014 -0.122524 0.147415 -0.00834461 -0.315912 -0.0508911 -0.031988 -0.0863118 -0.468159 -0.00768525 -0.323124 6.70381 -1.80417 4.89677 -1.0337 0.610701 3.047 -0.499439 0.28153 -0.0981966 1.09783 0.00419672 0.00125213 0.0427234 0.0449506 -0.374728 0 0 0 0 0 0.00918448 0.103049 -0.0013697 0 0 0 0 -6.37771e-05 0 0.00134648 0 0 0.00104298 0.00168444 -0.00134249 0 4.2204e-05 0.00528473 -0.00954635 0 0 0.0459553 0.000118192 0 0.0018596 -0.125817 0 0 0.00333604 0.0252543 0 0.0208652 0 0.00343709 0 0 0.000292044 0 0 0.175427 -0.000908934 0.0148642 0 -0.0195206 0.0196926 0 0 0.0048552 0 -0.00279157 0.0228577 0.00410751 0 0 -0.00212568 0.00235931 0 -0.00443632 0.0816206 0.00385368 0.00119275 0.0218138 0.00398176 0 -0.018183 -0.00561973 -0.0276215 0.00382369 -0.0208998 0 0 0 -0.280613 0.00552701 -0.0180686 -0.0155349 0.0178693 -0.0215041 -0.0013163 0.00151409 -0.00182208 0.00117021 0 0 0 0 0 0 0.109263 0 0.26463 0 0 0 0 -0.563171 0.735187 0 0 0.189715 0 0.0211776 0 0.0336674 0 0 -0.211154 0 -0.706152 -0.120834 0.238127 -0.00578159 0 0 0.321283 0 1.10587 0 -5.95397 0.521623 0 -1.05329 -1.54944 0.0260438 0 -0.0663659 0 0 0.0787234 0 0.470085 -0.425674 0 0 -0.0324035 0 0 0.0382943 0.771187 0.544137 0 0.359281 0 1.02547 0.104816 -0.208099 0.197676 0.01404 -0.107997 -0.509033 0.0756935 -0.33001 -1.94735 -0.0250439 0 0 0 0.0548167 -0.0454459 0 0 0 0 -0.143757 30.269 -0.115827 5.86023 0.682928 -0.887385 3.16217 -0.0923065 0.121102 -0.24947 0.797555 0 0 0 0 0 0 +238 0 0.352038 0.12759 -0.0152213 -0.170781 0.363761 0.0344008 -0.0820148 -1.53163 -0.114776 -0.101041 0.0707886 -0.480027 0.00039687 -0.187873 0.00134276 -0.262562 0.977558 -0.0206074 0.00913709 1.08428 -0.0299251 -0.0245668 -0.000512357 -0.132696 -0.330814 -0.151145 -0.0291442 0.422083 1.18639 -0.359767 -0.00798913 0.104561 -0.406664 0.0295873 -0.0241834 0.00612015 -0.182914 -2.56382 -0.0448431 0.490012 0.00618835 -0.252021 -0.00268698 0.471078 0.0889048 0.0400923 0.668041 0.282015 0.00688827 0.474894 -0.0313576 2.74285 -0.0123914 0.0113569 -0.115492 -0.896791 0.095159 -0.120471 0.182404 -0.0126748 -0.550507 -1.15413 0.274614 0.0546877 -0.0132528 -0.503146 -0.0377347 -0.253144 0.0138294 0.565845 0.0793308 0.134763 0.209634 -1.02093 -0.594692 0.387677 10.3034 3.57235 2.38514 2.21985 -1.32803 2.65722 0.972523 -0.491949 -0.0363505 1.27768 -0.00695515 0.00263772 -0.130112 0.0540124 -2.23401 0 0 0 0 0 -0.0152213 -0.170781 -0.000880062 0 0 0 0 -5.20748e-05 0 0.00148488 0 0 -0.00309191 -0.00376479 0.00358924 0 0.000116193 -0.00795503 0.0430618 0 0 -0.0377224 -0.000264164 0 -0.00114863 0.211593 0 0 -0.00540861 -0.0337574 0 -0.012607 0 -0.00377102 0 0 -0.000477981 0 0 -0.183989 -0.000742156 -0.0440651 0 -0.0125424 -0.034349 0 0 0.0462545 0 -0.00179365 -0.0197561 0.000644798 0 0 0.00630159 0.00151591 0 -0.00220779 -0.129443 -0.0100616 -0.00130428 -0.0329375 0.00383772 0 0.0158363 0.00103691 0.0567226 -0.0117538 0.035385 0 0 0 0.294309 0.0169779 -0.00748253 0.0162931 -0.0187414 0.0225536 0.00390217 -0.00448853 0.00540157 -0.00527858 0 0 0 0 0 0 0.363761 0 0.0344008 0 0 0 0 -0.592917 1.10768 0 0 0.450782 0 0.0458521 0 0.057902 0 0 -0.0853096 0 -0.0958508 -0.222388 0.155483 -0.000798299 0 0 0.540327 0 1.42611 0 -2.98019 -0.536177 0 -1.73104 -0.851272 0.0165129 0 -0.079899 0 0 0.117651 0 -0.44789 0.34146 0 0 0.0740122 0 0 0.0139942 -1.08183 1.05079 0 0.684992 0 -0.179681 0.286783 -0.546524 0.0612203 0.0160709 -0.114815 -0.128197 0.132847 -0.343034 1.47133 0.0277941 0 0 0 0.0139337 -0.0713111 0 0 0 0 -0.177671 7.07204 -1.70113 5.68446 0.558158 -1.08611 2.88909 -0.0475635 0.131363 -0.403741 1.42314 0 0 0 0 0 0 +239 0 -0.133808 -0.116087 -0.00754952 0.00808323 -0.0650697 -0.263203 0.58374 1.77954 -0.00978332 0.0899961 0.112937 -0.0591964 0.000664105 -0.502437 0.00633432 0.420076 2.47584 -0.019797 0.0144817 1.08378 -0.0206978 0.122523 -0.000568331 0.00127011 0.505688 -0.00171192 -0.0438107 0.55673 0.868706 -0.259321 -0.00509176 0.101132 0.259674 -0.127989 0.265654 0.00905029 -0.292848 1.03956 -0.0521107 -0.216517 0.00840746 -0.980014 -0.00474498 0.387261 0.104581 -0.501099 0.534712 0.136551 0.0200219 -1.63193 0.268273 -3.49663 -0.0122771 0.034918 -0.142007 -1.69761 -0.399678 -0.157857 0.00794064 -0.018373 0.032089 -0.152892 1.23569 -0.619719 0.253636 -0.702847 -0.128138 -0.312242 0.00224054 0.2606 0.197587 0.0586968 0.394042 0.940837 -0.237272 0.26985 2.76511 1.94636 -3.78998 1.75439 -1.50101 -1.05115 0.335683 -0.225796 0.00493578 -2.15918 -0.00994962 0.0117886 -0.151081 0.132022 -1.82341 0 0 0 0 0 -0.00754952 0.00808323 0.000849355 0 0 0 0 0.000133514 0 -0.0022664 0 0 -0.00125695 -0.0017266 0.000925313 0 -0.000223128 -0.00358846 0.00566571 0 0 0.0236871 -0.000121151 0 -0.00451208 0.546473 0 0 0.00535694 0.0293823 0 -0.041131 0 -0.00124357 0 0 0.000126667 0 0 -0.284909 0.00190281 -0.0179072 0 0.0121053 -0.0187391 0 0 -0.00503228 0 0.00175836 -0.0418824 -0.00299203 0 0 0.00257319 -0.00143875 0 0.00235314 -0.0932272 -0.0046858 -0.101171 -0.0192823 0.0184574 0 0.0143643 -0.0142207 -0.016799 -4.13385e-05 0.029916 0 0 0 0.49636 4.92971e-05 0.0379271 0.0127127 -0.0146104 0.0768233 0.00158795 -0.00182597 0.0021943 0.00104635 0 0 0 0 0 0 -0.0650697 0 -0.263203 0 0 0 0 0.359998 -0.549821 0 0 -0.123174 0 -0.0106235 0 -0.00403482 0 0 0.0947855 0 0.260759 0.120655 -0.0733063 0.0044876 0 0 -0.0341526 0 -3.70166 0 1.6403 -0.909806 0 0.923133 0.654195 -0.00801834 0 0.0566415 0 0 -0.0615751 0 -1.41527 -0.142341 0 0 -0.0237004 0 0 0.0482766 0.517535 -0.166195 0 -0.0321262 0 -0.323169 -0.0634595 0.107586 -0.00190247 -0.167096 -0.157681 0.300738 0.0522622 -0.128507 -0.758147 0.0623141 0 0 0 -0.106878 0.017997 0 0 0 0 0.114239 -4.85532 0.972373 -3.38477 -0.222298 0.439867 -1.45801 0.0972076 -0.0996721 0.166184 -0.69155 0 0 0 0 0 0 +240 0 0.783754 -0.0866499 0.00635965 0.0693803 -0.0208534 -0.0955821 0.71797 -0.0737964 0.0810279 0.112111 0.0668533 1.07097 -0.000199469 2.92698 -0.0124528 -0.181259 1.52439 0.0487491 -0.0310793 4.49668 0.014355 0.320674 0.000403555 0.0342729 0.334564 -0.309542 0.00314762 0.438634 0.464347 0.511313 0.00579357 -0.2209 0.0814308 0.0197602 0.335356 0.00478006 -0.0566954 -3.23261 0.126763 1.43074 -0.00184574 -0.107685 0.0106211 5.22159 -0.0139193 0.215814 0.515468 -0.481894 -0.0225984 0.0900417 0.105374 -2.49017 0.0685625 -0.0279849 0.0639222 -3.22051 0.181737 -0.115532 -0.0628096 0.00395307 -0.334552 -2.51453 0.648797 -0.126674 0.338237 -1.14736 -0.631166 -0.205787 -0.0154766 -0.144307 -0.0803686 0.0524829 0.133312 -4.3139 -0.420377 0.442266 10.5265 -0.0611661 2.58814 0.136891 -0.729082 3.69847 -0.0707731 0.101041 -0.193077 0.212486 0.00132425 -0.00726904 -0.00748022 -0.0917012 -0.974663 0 0 0 0 0 0.00635965 0.0693803 -0.00194046 0 0 0 0 -0.00016415 0 0.0054209 0 0 -0.00099164 -0.000649392 0.00134251 0 0.00039078 0.00466892 0.0270484 0 0 -0.0248607 -4.5564e-05 0 0.00262683 0.149971 0 0 -0.00883388 0.0325273 0 0.020865 0 -0.0015875 0 0 -0.00057812 0 0 0.145375 -0.00233943 -0.0141589 0 -0.0276569 0.00331433 0 0 0.0490801 0 -0.00406191 0.0102368 0.00423274 0 0 0.00197701 0.00324458 0 -0.0101963 -0.0116688 -0.00230878 -0.0865313 -9.39643e-05 0.0146481 0 -0.0105625 -0.00764687 0.0146129 -0.00614991 0.0029257 0 0 0 -0.234266 0.0262633 -0.0443962 -0.0132437 0.0151822 -0.0171476 0.00124551 -0.00143494 0.00173867 -0.00488114 0 0 0 0 0 0 -0.0208534 0 -0.0955821 0 0 0 0 0.0674369 -0.139173 0 0 -0.326263 0 -0.0279211 0 -0.0195355 0 0 0.263621 0 0.680911 -0.021476 -0.189856 0.0611126 0 0 -0.181463 0 2.90175 0 -3.3937 0.425345 0 -0.20941 -0.155259 -0.0186471 0 0.0179367 0 0 -0.0106657 0 1.04723 0.245472 0 0 0.0824141 0 0 -0.0453131 2.35859 0.0513378 0 -1.09821 0 0.77546 -0.109325 0.067234 -0.749637 0.27897 1.31991 -0.0487238 -0.272074 0.572918 -2.81224 -0.0878032 0 0 0 -0.065954 0.0393406 0 0 0 0 0.0127193 26.0642 1.12413 4.59663 0.441333 -0.443881 2.09046 0.0363564 -0.113813 0.303735 0.0784387 0 0 0 0 0 0 +241 0 0.774903 0.190165 -0.0215843 -0.137183 0.283732 0.00951263 0.0127536 -1.23833 -0.183064 -0.169036 0.017326 -0.468779 0.00112244 -0.99348 0.0247674 0.307148 2.56526 -0.0727273 0.0588716 -3.64266 -0.0498463 -0.129036 -0.00146284 -0.091792 -0.11788 0.0450799 -0.0684416 0.242238 1.44972 -0.477173 -0.0177376 0.381753 -0.860656 -0.143555 0.0690274 0.00358991 -0.322937 -5.62617 -0.206855 -2.0114 0.0126699 -0.781807 -0.019203 0.25088 0.136937 -0.959952 0.584203 0.729935 0.0503591 1.44806 -0.0801831 -2.86716 -0.118681 0.0806265 -0.297971 -3.21825 0.153209 0.178764 0.121276 -0.0273543 -0.695835 1.34704 0.437882 1.07416 -0.0567436 -0.191313 -0.329791 -0.360291 0.0353757 0.0958837 0.0084694 0.153458 0.263517 -0.521333 -0.0266555 0.0816851 25.9581 4.36296 6.61034 3.45191 -2.47534 7.42272 0.755444 -0.435465 0.145813 1.60286 -0.0130279 0.0220299 -0.212677 0.346148 -3.04296 0 0 0 0 0 -0.0215843 -0.137183 0.00279608 0 0 0 0 0.000342707 0 -0.00779996 0 0 -0.00148054 -0.00252379 0.00171938 0 -0.000834308 -0.00926541 0.0196162 0 0 -0.00428342 -0.000177089 0 -0.0060395 0.335893 0 0 -0.000438676 0.000579471 0 -0.0566052 0 -0.00214554 0 0 2.00199e-05 0 0 -0.480762 0.00488417 -0.0210708 0 0.0398517 -0.0368946 0 0 -0.0435266 0 0.00582158 -0.0690228 -0.007455 0 0 0.00306601 -0.00470536 0 0.0122179 -0.156592 -0.00569549 -0.0929183 -0.0393583 -0.000207023 0 0.0370308 -0.00240185 -0.00869187 -0.0124314 0.0495896 0 0 0 0.799809 -0.0212826 0.0544471 0.0339262 -0.0389671 0.0884046 0.00187507 -0.00215433 0.00257954 -0.00425964 0 0 0 0 0 0 0.283732 0 0.00951263 0 0 0 0 -0.782562 0.509951 0 0 0.416893 0 0.0373359 0 0.0368988 0 0 -0.0251393 0 -0.352178 -0.223735 0.209012 -0.0182943 0 0 0.337787 0 1.21286 0 -5.11483 -0.325469 0 -1.90172 -1.34716 0.0212008 0 -0.088929 0 0 0.0545497 0 -0.133357 0.339396 0 0 0.0145696 0 0 0.131797 0.815375 0.339184 0 0.26931 0 0.636936 0.159456 -0.305471 0.309985 -0.0010622 -0.356777 -0.383466 0.149983 -0.346139 -0.508635 -0.0456638 0 0 0 -0.025346 -0.0581583 0 0 0 0 -0.0754689 22.7433 -0.708775 7.11746 0.60419 -0.850509 3.30217 -0.0545749 0.16325 -0.44977 1.58308 0 0 0 0 0 0 +242 0 0 0 0 0 0.262311 0.20631 -1.29895 -2.9213 0 0 -0.497776 0.314566 0 -0.0466449 -0.0754477 0 0 0 -0.261988 -5.99925 0 0 0 0 -0.419328 0 0 -0.363108 -0.584199 0.0454593 0 0.18068 0 0 -0.258768 -0.0888048 0 0 -1.64387 -2.47734 0 0 -0.431358 1.51828 0 -0.695152 -0.28355 0.631231 0.828144 0.00609121 -0.239681 0 -0.229134 -0.34958 0.0507824 -0.0251059 -0.544583 -0.934879 0 0 0.26062 7.9951 0 -0.443149 0.0237531 0.495396 0 0 0 0 0.105696 -1.40896 0 1.46027 -0.481828 0 0 0 2.81493 0 1.09779 2.65793 0 0.789654 -0.169316 2.85092 0 1.98891 -1.24581 1.97204 0.791505 0 0 0 0.169497 0.0543416 0 0 0 0.0498633 0.0327633 0 0.00621177 0 -0.00551281 -0.0334869 0 0 0 0 0.0215239 0 -0.00881241 0 -0.0888666 0 0.362978 0.0182618 0 -0.000204048 0 0 0.0204172 -0.00161478 -0.0209261 0 0.00122385 0 0.00176053 -0.0970166 0.000156908 -0.0275906 -0.0231696 0 -0.000309402 0 0 0 5.19386e-05 0 0 0.00205817 -0.00153677 -0.291763 0.0297683 0 0 0.0236788 0 -0.00763551 0 0 0.000996372 -0.0198602 0.337737 0.00218198 0 0 0.00806796 -0.0532253 -0.0504189 0.0364236 0.0741999 0 0.23147 0.00329866 0.0669128 0 0 0 0.398531 0 0.0905882 -0.220298 0 0.00780396 -0.0240926 -0.0146448 0 0.000901246 -0.00265332 0.00102563 0.0226095 0 0.262311 0.169497 0.20631 0.0543416 0.111538 -0.0728698 0.331967 -0.656866 2.23417 -0.0714175 0.0440212 0.827655 -0.0123621 0.0983595 0.0611294 0.125777 0.024676 -0.369014 -1.0013 -0.229833 0.144038 -0.338091 0.602815 -0.153851 0.407601 0.0247484 1.08424 -0.0315547 0.301958 0.138128 2.30108 0.0939635 0.0096802 -1.38757 1.03525 0.0781382 -0.000408473 -0.140107 -0.0497479 -0.484729 0.25169 0.0207357 -0.0369093 -0.836911 0.00274379 0.0479476 -0.216754 -0.109187 0.108583 0.701086 -0.33218 1.44229 -0.228856 -1.87718 -0.0258698 -1.21282 0.718964 -1.19151 0.42394 0.43016 -0.572431 0.249806 0.0748924 0.230922 1.25277 -0.239784 -0.179336 -0.109253 0.334419 -1.11446 -0.192733 -0.127125 0.162663 0.068482 -0.103518 0.11382 -7.85382 -1.57926 0.972184 -0.786168 0.163663 1.9151 -0.482525 0.15212 0.328219 0.451439 0.454128 -0.33673 0.586981 -0.330431 0.492042 0 +243 0 0 0 0 0 -0.411696 0.00318343 0.462923 1.84755 0 0 0.256792 -0.201655 0 -0.307815 -0.0207396 0 0 0 -0.157903 1.77491 0 0 0 0 -0.0150842 0 0 -0.500461 -2.22846 0.149397 0 -0.62066 0 0 -0.0786681 0.0254225 0 0 0.975953 0.297735 0 0 0.146571 -1.49197 0 0.11894 -0.875643 -1.5774 -0.360107 0.172004 -0.437739 0 0.288629 -0.196414 0.298992 3.1674 0.452318 1.04949 0 0 -0.402983 -1.95581 0 0.710237 -0.246405 0.842871 0 0 0 0 -0.191997 -0.0577512 0 2.56478 0.981481 0 0 0 -2.90205 0 -0.813551 1.60151 0 -0.24021 0.839083 -2.06012 0 -0.513168 0.736544 -1.85519 5.66604 0 0 0 -0.143789 -0.0293294 0 0 0 -0.0434155 -3.31157e-07 0 -0.0042972 0 0.0011858 -0.0103149 0 0 0 0 -0.00768867 0 -0.00838811 0 0.028226 0 -0.361125 -0.176117 0 0.000313891 0 0 -0.032875 0.00109597 -0.0202039 0 -0.00259921 0 -0.000130934 -0.0972016 -0.00115706 0.0183788 -0.0164857 0 9.66411e-05 0 0 0 -0.00014156 0 0 -0.00484852 -0.0042787 -0.328108 -0.0196995 0 0 -0.0124561 0 -0.003563 0 0 -0.0149465 -0.0437635 -0.0931508 -0.0222165 0 0 0.0511215 0.0509875 0.0244248 0.0251891 -0.255117 0 -0.027634 0.00802822 0.248385 0 0 0 -0.818093 0 -0.10827 -0.159976 0 -0.0107105 -0.022772 0.0065818 0 -0.00108922 -0.00238491 -0.0033638 0.0608159 0 -0.411696 -0.143789 0.00318343 -0.0293294 0.297256 0.0139357 -0.0877173 0.695287 -1.31166 0.0322792 0.0125058 -0.216164 0.00478738 -0.0235575 -0.0149005 -0.0813621 -0.0119367 0.202164 0.280029 0.424951 -0.196247 0.226757 -0.481926 0.0567421 -0.150275 -0.00493558 -0.8968 -0.00217011 0.0599686 0.241705 -1.63141 1.0463 -0.00184427 1.57594 -0.967003 -0.0638539 0.00506741 0.10591 0.0481691 -0.203799 -0.136307 0.00124595 0.861182 0.115566 0.00250074 0.022908 0.0462669 0.00489268 0.0367185 -0.479302 -0.26125 0.233527 0.119916 2.68826 -0.0266196 1.15927 -0.655833 0.551008 -0.378729 -0.0477971 0.307426 -0.204694 0.0128078 -0.01975 1.68068 -0.0176996 -0.297262 0.0400366 0.0884603 0.478343 0.0997755 -0.0349068 -0.0587898 0.0921132 -0.0194988 0.411132 5.56817 0.487171 -2.63637 0.658843 -1.09431 0.680295 0.118355 -0.149595 0.159743 -0.782469 -0.248794 -0.00915267 0.0882107 -0.303557 0.378754 0 +244 0 0 0 0 0 -0.13717 -0.288516 0.805232 1.59058 0 0 -0.568004 -0.301691 0 0.176552 -0.100099 0 0 0 0.0757324 1.55788 0 0 0 0 0.494818 0 0 1.15518 6.25341 -0.413372 0 -0.0487461 0 0 0.36106 -0.102751 0 0 -1.99267 1.04982 0 0 -0.486854 1.12255 0 -0.22972 2.36471 1.7971 0.901276 -2.1881 0.648092 0 -0.0252895 0.00449571 -0.0971391 -0.0609441 -0.693334 -0.375259 0 0 -0.856283 -0.482669 0 0.13148 0.965241 -0.892001 0 0 0 0 0.167495 -1.45705 0 -0.168528 -0.223633 0 0 0 -2.0821 0 2.39043 -7.69434 0 0.714953 -0.306771 -4.75845 0 1.27585 -1.4384 4.00775 -13.8606 0 0 0 0.210959 0.0881666 0 0 0 -0.0371793 0.0644068 0 -0.00204045 0 -0.00786112 -0.0544598 0 0 0 0 -0.000631518 0 -0.0176256 0 -0.207059 0 -0.489898 -0.237529 0 -0.0053295 0 0 -0.33889 -0.00197423 -0.0470264 0 0.00549934 0 0.00311013 -0.0448205 -0.0438622 -0.0330412 -0.0196261 0 -0.00046055 0 0 0 0.000254946 0 0 0.00707674 -0.00035538 0.0779126 0.034257 0 0 -0.00968473 0 -0.00952357 0 0 0.0393485 0.0024004 -0.0514069 0.0149247 0 0 -0.108794 -0.0999027 0.0296882 -0.125137 0.240396 0 0.0775499 -0.0144675 -0.0827075 0 0 0 1.65012 0 0.162922 0.577331 0 0.0153923 0.0304349 0.0464336 0 0.00155185 0.00350247 0.00529573 0.173835 0 -0.13717 0.210959 -0.288516 0.0881666 -0.522286 -0.157105 0.237092 0.237288 -0.167713 -0.140087 0.111841 -0.241457 -0.0219552 -0.0343712 0.0774325 -0.0333071 0.0506179 -0.850787 1.54255 -1.65368 0.00600293 0.219625 0.149298 0.270707 0.85477 0.208266 -0.336548 -0.0132907 0.475903 0.0833994 0.0665042 -0.762812 0.0145584 1.15906 0.199331 0.0288734 0.00251979 0.0650433 -0.000977509 1.4019 -0.0060604 0.0287351 -0.319649 1.88424 0.00779323 0.0298586 0.390522 -0.171557 0.14384 1.30561 -0.241288 0.202044 -0.217127 0.415008 -0.00926655 0.437399 0.178532 -0.0412085 -0.126357 -0.385084 -0.883754 -0.227543 0.221631 0.30824 -2.13312 -0.0899018 0.323195 -0.164568 -0.221785 -0.163669 0.129904 -0.0823686 0.313393 0.104248 0.0656536 -0.0592296 -0.226986 0.407239 -1.33539 1.41099 0.246845 -2.67434 0.210256 0.0578537 0.00148754 -1.07296 1.04702 -0.407965 -0.118187 0.3793 -1.35159 0 +245 0 0.636154 0.394873 0.0112907 0.108764 0.125808 0.09183 0.164964 -0.914224 0.225679 -0.449071 -0.0604012 -0.432218 -0.000193989 -0.00468364 0.00093279 0.527215 3.1077 -0.0197721 -0.00885291 3.25527 0.00431254 -0.372816 0.00105002 -0.0859486 -0.363104 0.223595 0.00782578 0.106923 0.740306 -0.127431 0.0158673 -0.0212136 -1.20013 0.090731 -0.0894485 -0.00867639 -0.0456524 -5.74035 -0.0154851 1.56401 -0.00309288 0.236809 -0.00822794 -0.0960349 -0.0383226 0.610971 0.397438 -0.145056 0.0588932 0.290926 -0.287513 -2.48472 0.0028086 -0.00544418 -0.0333917 1.45244 -0.65054 -0.00223301 0.223781 0.0141936 -1.02887 -1.92497 -0.508164 0.625819 0.160434 -0.831035 -0.422504 -0.208766 -0.0464192 -0.54084 -0.382838 -0.0780318 -0.0738057 1.03244 -0.0958367 -1.8016 16.6316 1.45202 5.29274 1.66249 -1.23529 4.87769 0.469447 -0.270649 0.210798 0.907128 0.00508232 0.00125539 -0.0205871 0.00710148 -1.1012 0 0 0 0 0 0.0112907 0.108764 -0.000338428 0 0 0 0 -5.29074e-05 0 -0.00522517 0 0 -0.000785732 -0.00117272 -0.00414483 0 -0.000590281 0.00249195 -0.0369971 0 0 0.171086 -6.74642e-05 0 0.00102493 0.290435 0 0 0.0150241 0.0278572 0 0.0142418 0 0.012528 0 0 0.000926846 0 0 -0.109116 -0.00100041 -0.0138505 0 -0.00624416 0.0056449 0 0 0.0425695 0 -0.00106886 0.073064 -0.00225538 0 0 0.00138923 -7.5834e-05 0 0.00127633 0.0103199 0.00788394 0.2247 -0.00309058 -0.0194107 0 -0.00413245 -0.0384756 0.157281 -0.0439827 -0.0413852 0 0 0 1.352 0.124668 0.0689567 0.00700619 0.00612058 0.00526704 0.000527816 0.00045799 0.00125063 0.0195032 0 0 0 0 0 0 0.125808 0 0.09183 0 0 0 0 -0.0591604 -0.962753 0 0 -0.275434 0 -0.0234362 0 -0.0793945 0 0 0.723156 0 -0.719625 -0.00941339 -0.205919 0.0629473 0 0 -0.655313 0 3.12762 0 -3.63825 -0.434151 0 -0.444271 -1.5606 -0.0214802 0 0.0141117 0 0 -0.117174 0 -0.19148 1.77734 0 0 0.159218 0 0 -0.172661 0.437899 0.121999 0 -0.103721 0 1.51525 -0.44189 0.203913 -0.649009 0.268948 1.1235 -1.26215 -0.173576 -1.10989 -6.16974 -0.188912 0 0 0 0.158191 0.108474 0 0 0 0 -0.033984 9.09966 -1.45138 4.79737 1.19126 -0.877615 1.44314 0.101004 -0.0729971 0.0213039 0.305498 0 0 0 0 0 0 +246 0 -0.558079 0.154859 -0.0225588 -0.110603 0.140259 0.139735 -0.757432 -1.86541 -0.27941 0.753924 -0.164012 -0.724701 0.000530589 -0.465626 -0.00502438 0.161133 0.241345 0.173562 0.0110052 1.67124 0.013444 -0.336408 -0.00190727 0.0958308 -0.557353 0.353988 0.0435844 -0.0276715 0.59439 -0.158362 -0.0244889 0.0750081 -0.47267 0.287493 -0.279464 -0.0164722 0.143603 0.146945 -0.255321 1.01777 0.00574283 0.582013 -0.0262355 -0.78856 0.0685352 0.605118 0.199256 0.310022 -0.0188593 0.148915 0.00157918 2.9847 -0.114974 0.0240387 0.0926268 2.12038 0.710134 -0.120622 -0.177611 0.00887146 1.22498 -0.0216562 1.2591 -0.193905 -0.152434 0.249031 0.127199 0.139575 0.0926927 -0.386424 0.311962 0.011396 -0.225736 -0.465824 0.0269427 0.32799 -2.45821 -0.660176 1.29365 0.86698 -0.174265 -0.775061 -0.0247028 0.135417 -0.912951 1.93495 -0.00908911 0.0165215 -0.0903869 0.18635 -0.884154 0 0 0 0 0 -0.0225588 -0.110603 0.00142368 0 0 0 0 0.000133909 0 -0.0203617 0 0 -2.08661e-05 -0.000478098 -0.0100165 0 -0.00213955 -0.0107516 -0.0892311 0 0 -0.221888 -1.78807e-05 0 -0.00268599 -0.471174 0 0 -0.0337804 -0.1085 0 -0.0625712 0 -0.025514 0 0 -0.00390407 0 0 -0.32542 0.00269238 -0.00122657 0 0.0292163 -0.00169243 0 0 0.140033 0 -0.00182753 0.0486584 -0.00120801 0 0 -0.000984061 -0.00554176 0 0.00370013 0.0362434 -0.00307152 -0.285279 -0.0219391 0.0089122 0 0.00103096 -0.00819136 -0.0411362 0.0284001 -0.0658328 0 0 0 0.254098 -0.0378926 0.0185407 -0.00261929 -0.00241055 0.0516589 -0.000136154 -0.000129013 0.000295899 0.034408 0 0 0 0 0 0 0.140259 0 0.139735 0 0 0 0 -0.315531 0.66586 0 0 0.745942 0 0.0869498 0 0.0599327 0 0 0.201757 0 -0.31136 -0.0284166 0.435587 0.0409655 0 0 0.545514 0 2.71992 0 2.83281 -0.113356 0 -0.534406 0.456256 0.0505747 0 -0.0283255 0 0 0.075301 0 0.437782 1.07861 0 0 0.143229 0 0 -0.0232757 2.0844 0.36558 0 -0.41593 0 0.339338 0.559651 -0.461545 0.242514 0.11039 0.279942 -0.0428035 0.133917 1.25436 6.60112 -0.00294596 0 0 0 0.349811 -0.161286 0 0 0 0 -0.423938 -10.2455 -2.55385 1.27462 -0.931379 0.543394 -0.804429 -0.369591 0.273883 -0.295996 0.27293 0 0 0 0 0 0 +247 0 -0.176802 0.160631 0.00932301 0.0956879 0.0423946 0.258876 -0.259741 0.0660077 0.166942 -0.743034 -0.322848 0.682574 -0.000676409 0.635868 0.00901045 0.461574 -0.371561 -0.216477 -0.0055415 -0.628137 -0.0395194 -0.12193 0.000432178 -0.152902 -0.157739 0.431341 -0.0714801 -0.62815 0.0520276 0.367437 0.0100683 0.211781 0.00651057 -0.468229 -0.287424 -0.0344667 -0.332714 0.266562 -0.352751 0.0397541 -0.0124073 -1.46519 -0.0437258 2.0701 -0.180784 0.589797 -0.425559 -0.0354107 0.16206 -0.709673 -0.197986 3.96116 -0.0187354 -0.0313088 -0.00760937 0.944426 0.0918235 0.107853 0.338046 0.0369836 -0.136177 -0.0527275 -0.0886863 -1.00358 0.455141 0.32104 0.795479 -0.430256 -0.0580029 0.591176 -0.129175 -0.0707698 0.547891 -0.180293 0.346847 0.466006 -0.879122 1.31444 -1.4959 0.717529 -0.428472 0.83406 0.118992 -0.127194 0.725233 -0.293392 0.0239756 0.0244691 0.131008 0.262048 -0.0773909 0 0 0 0 0 0.00932301 0.0956879 -0.000773276 0 0 0 0 -0.000134876 0 -0.0226195 0 0 -0.00127965 -0.00175392 -0.0192743 0 -0.00285698 0.00148363 -0.161892 0 0 0.00504858 -0.000109557 0 0.00538798 -0.343488 0 0 -0.0144074 -0.011271 0 0.0140762 0 0.00155249 0 0 -0.00184545 0 0 -0.398061 -0.00254043 -0.0210586 0 -0.013982 0.0213986 0 0 -0.0287966 0 -0.00108232 0.0749507 -0.00296577 0 0 0.00395953 0.00155939 0 -0.00627869 -0.019443 0.0137095 0.102119 -0.00521142 -0.0159064 0 0.0011335 -0.0369664 0.0390204 -0.0225386 -0.114431 0 0 0 4.24359 0.321843 0.57098 0.0208569 0.0188151 0.141193 0.00110131 0.000973377 0.001599 0.0578958 0 0 0 0 0 0 0.0423946 0 0.258876 0 0 0 0 -0.142781 0.117791 0 0 0.079333 0 0.0128931 0 0.0287369 0 0 -0.443732 0 -0.308379 -0.0159709 0.246688 -0.0519576 0 0 0.25224 0 0.531097 0 -0.0172324 0.868276 0 0.0697056 -0.29164 0.0350181 0 -0.0303011 0 0 0.00941056 0 1.02131 -0.213679 0 0 -0.0291918 0 0 0.0719394 -0.0375027 -0.0615039 0 0.863754 0 0.0939685 -0.175086 0.0663164 0.362138 -0.0500075 -0.341401 -0.233573 0.0389095 0.180846 5.55791 0.0419438 0 0 0 -0.0571154 -0.00720189 0 0 0 0 0.0978732 2.02181 -0.111677 0.403621 0.147759 -0.138572 0.181563 0.0147148 -0.0140286 -0.0259355 -0.0137661 0 0 0 0 0 0 +248 0 0.371147 -0.0348113 0.0345919 0.0743965 -0.00410588 -0.201113 0.800267 0.381708 0.155892 -0.400781 0.174049 -0.164083 -0.00858438 -1.20405 -0.00273901 -0.169069 1.70253 -0.114442 -0.0150619 -0.962468 -0.0319199 0.207286 0.00937802 -0.18514 0.368521 -0.28879 -0.0158281 0.423394 -0.432494 -0.275481 0.0472117 -0.0157537 0.0421726 -0.0738309 0.351208 0.0243948 0.0253715 -1.61254 0.559744 -0.712345 -0.0513206 0.319159 0.090549 -1.71764 -0.292372 -0.576385 0.26128 0.0514373 -0.292776 -0.594568 -0.110709 -2.39919 -0.118097 -0.0199307 0.114465 -0.566136 -0.0388334 0.607782 0.227704 0.114617 -0.384295 -0.781736 -0.226601 0.381823 -0.00118048 -0.555693 -0.172418 0.190193 -0.0636244 0.0335598 -0.273872 0.469296 -0.430157 1.10655 -0.65152 -0.423532 -0.823371 0.161219 1.32855 -0.17431 0.248629 0.782709 0.469632 -0.0425291 0.002691 -0.164509 0.262564 -0.383831 0.510982 -0.802468 0.937205 0 0 0 0 0 0.0345919 0.0743965 -0.000514516 0 0 0 0 -0.000293898 0 0.0094172 0 0 -5.04248e-05 -0.00073917 0.00931316 0 0.00164299 -0.0706923 0.0550725 0 0 0.130806 -4.10757e-05 0 0.0143128 -0.42642 0 0 0.0128056 -0.213657 0 0.116413 0 0.0309943 0 0 0.00310626 0 0 0.320937 -0.00551851 -0.00057297 0 -0.00931763 -0.00863177 0 0 0.213713 0 -0.0025478 0.152802 -0.0026005 0 0 -0.000421575 -0.000504861 0 0.0134462 -0.00291708 0.00600997 -0.273588 -0.00449905 0.00139024 0 -0.00353903 -0.00214435 0.215917 -0.0798916 0.0115235 0 0 0 -2.91472 -0.14401 -0.42742 -0.0135572 -0.0119944 -0.0145771 -0.000124339 -0.000116579 0.000199709 -0.00142033 0 0 0 0 0 0 -0.00410588 0 -0.201113 0 0 0 0 0.132148 -0.0979574 0 0 -0.437876 0 -0.0403256 0 0.000173456 0 0 0.269289 0 0.0305096 0.0227765 -0.301009 0.0497105 0 0 -0.0676763 0 2.90905 0 -2.1521 0.0477266 0 0.0282387 -0.802958 -0.0316289 0 0.0160392 0 0 0.00351902 0 0.509146 0.488542 0 0 0.0873681 0 0 -0.585405 -1.51269 0.166812 0 -0.33772 0 1.06792 -0.115489 -0.00489567 -0.252166 0.14532 0.356035 -1.02749 -0.0902096 -0.452353 -5.43739 -0.133261 0 0 0 0.393048 0.102062 0 0 0 0 -0.295015 -2.24675 -1.3631 2.43615 0.313067 -0.416505 0.811976 0.170139 -0.140627 0.122589 0.0358332 0 0 0 0 0 0 +249 0 -0.530754 -0.376752 -0.0196158 -0.141726 0.0215072 -0.237541 0.362656 0.887791 0.08604 0.451304 -0.0146735 0.68088 0.00422473 0.484387 0.0181065 -0.0823301 0.879231 -0.0762363 0.00856398 -1.02384 -0.00917014 0.45603 -0.000635581 0.0789324 0.714156 -0.280302 -0.025916 0.556437 0.272131 -0.0590085 0.00284526 0.193941 0.952311 -0.377402 0.408358 -0.010199 0.0434473 3.78808 -0.221847 -0.895996 0.0371987 -1.00384 -0.0316591 2.49483 0.335089 -0.677807 0.424125 0.114363 0.132321 -0.860853 0.0266443 6.23145 0.0949386 0.14594 -0.167951 0.0875932 0.0632625 -0.587655 -0.194351 -0.0949328 2.10461 1.86018 1.24953 -0.129979 0.272294 0.839554 -0.103748 -0.130753 -0.0937059 -0.0248588 -0.0831959 -0.167872 0.0348029 -0.127934 -0.00439845 1.27612 -9.88533 0.174818 -4.73361 -0.944358 1.01891 -4.05189 -0.293444 0.155428 -0.276568 -1.00527 -0.300926 0.251465 -0.48526 0.36369 -0.589704 0 0 0 0 0 -0.0196158 -0.141726 -0.00184974 0 0 0 0 -0.000279222 0 0.00156506 0 0 0.00232477 0.00579393 0.00659196 0 0.00102101 0.00968654 0.0234802 0 0 -0.128768 0.000326235 0 0.0139978 -0.12282 0 0 -0.0150855 0.00377046 0 0.041996 0 -0.0140405 0 0 -0.00150676 0 0 0.327615 -0.00546666 0.0405836 0 -0.0361741 -0.0440591 0 0 0.213984 0 -0.00230676 -0.250147 0.00198975 0 0 -0.00545085 0.00414701 0 0.0116693 0.0469105 -0.0172777 -1.03806 -0.0369462 0.0427675 0 -0.00799436 0.00806976 -0.160378 0.0373218 0.0426602 0 0 0 -6.0757 -0.516065 -0.582957 -0.0327688 -0.0291468 -0.0080004 -0.00184034 -0.00161434 -0.00336709 0.00281779 0 0 0 0 0 0 0.0215072 0 -0.237541 0 0 0 0 0.0770314 -0.0440698 0 0 0.260776 0 0.0338005 0 0.0222815 0 0 -0.382138 0 0.68272 0.0416965 0.128691 -0.0610036 0 0 0.257224 0 -2.53162 0 4.13251 -0.591545 0 0.350156 1.4922 0.0166288 0 -0.00535265 0 0 -0.0159366 0 -0.980187 -0.445438 0 0 -0.0774026 0 0 0.19899 1.96276 -0.156011 0 -0.248605 0 0.118082 0.030266 0.0190293 0.63584 -0.0649776 -0.571589 0.310298 0.204934 0.734202 5.78698 0.0340508 0 0 0 -0.298868 -0.0954391 0 0 0 0 0.263024 -12.5716 -0.839605 -1.60426 -1.46405 1.05611 -1.4993 -0.168113 0.140251 -0.129643 -0.0881734 0 0 0 0 0 0 +250 0 -0.596487 -0.263589 0.0874824 0.249556 -0.278107 -0.0908482 0.265473 2.47281 0.421479 -1.6274 0.363651 0.333679 -0.0206767 -0.210921 -0.0423608 0.24016 1.06361 -0.225681 -0.107502 -3.07423 -0.0357741 0.430051 0.0213243 -0.376117 0.582311 -0.227861 -0.0138971 -0.348464 -2.15726 0.241799 0.109809 -0.22109 1.26303 0.343056 0.148835 0.0626191 -0.0509001 5.33093 1.05501 -1.10512 -0.12787 1.43106 0.185472 -1.5516 -0.766136 -0.279584 -0.895421 -0.37298 -0.541937 0.450662 -0.372471 3.33962 0.337562 -0.399298 0.317128 1.62341 0.140564 -0.118907 0.495022 0.301609 0.96153 1.83403 -0.324027 -0.68891 -0.363467 1.08694 0.104653 -0.0864803 -0.141555 0.758911 -0.426902 0.55995 -0.0515396 1.57107 0.0728253 -0.658414 -16.7434 2.14328 -8.35952 -0.695664 0.326008 -3.01608 0.824962 -0.60332 1.31467 -1.48584 0.688026 -0.820913 1.79876 -2.1207 4.67475 0 0 0 0 0 0.0874824 0.249556 0.000754205 0 0 0 0 -0.000443355 0 -0.00439708 0 0 -0.0010461 -0.00432641 0.00130047 0 0.000421032 -0.0733665 -0.0465079 0 0 -0.046019 -0.000245844 0 -0.0271527 -0.415245 0 0 -0.00894446 -0.146905 0 0.0255395 0 0.0328835 0 0 0.00299543 0 0 0.0573813 -0.00807458 -0.016439 0 0.0179682 -0.0102491 0 0 0.0324931 0 -0.00438906 -0.193071 -0.00431855 0 0 0.00266507 -0.00555444 0 -0.00190819 0.055099 0.0140372 0.627979 -0.0475693 -0.0291876 0 0.00458101 -0.0102372 0.209834 0.00640662 -0.10541 0 0 0 2.24073 0.215255 0.294551 0.0141349 0.0128946 0.0176779 0.000676085 0.000589593 0.00143412 0.0146135 0 0 0 0 0 0 -0.278107 0 -0.0908482 0 0 0 0 0.520753 0.870905 0 0 -1.04187 0 -0.139335 0 0.0353924 0 0 -0.836614 0 0.674254 0.18625 -0.45787 -0.0984772 0 0 0.270461 0 -2.0742 0 3.1911 0.574893 0 1.40688 1.33337 -0.0623338 0 0.0704105 0 0 0.10491 0 0.260569 -2.13763 0 0 -0.246921 0 0 0.0529088 -1.52815 -0.348818 0 1.74923 0 -0.545897 -0.174955 0.210465 0.558528 0.030841 -0.512489 0.191211 -0.18873 -0.946119 2.86921 -0.191488 0 0 0 -0.124516 0.307563 0 0 0 0 0.0280393 -7.3103 3.43074 -4.87875 -0.852241 0.807549 -1.37119 0.674498 -0.489765 0.429388 -0.627709 0 0 0 0 0 0 +251 0 0 0 0 0 0.0181512 -0.264104 0.642329 2.01104 0 0 0.0306374 -0.770399 0 -0.495419 0.0151095 0 0 0 -0.0361999 -4.02414 0 0 0 0 0.510051 0 0 0.312902 2.19038 -0.364653 0 0.250457 0 0 0.217097 0.00214117 0 0 -0.415473 -1.81174 0 0 -0.0479464 -2.02005 0 -0.890332 0.573337 -0.0222368 0.0973771 -1.94927 0.223766 0 0.0641813 -0.129368 0.308992 -2.01395 -0.748046 -1.34355 0 0 -0.784841 2.92719 0 -1.08149 0.0116287 -1.45397 0 0 0 0 0.378494 -0.22768 0 -0.563604 -0.966071 0 0 0 -4.73592 0 0.545757 -5.32462 0 0.191012 -1.02227 -6.58236 0 0.385531 -1.44703 1.98757 -9.82344 0 0 0 0.101029 0.0029169 0 0 0 -0.0144844 0.00366164 0 -0.00116491 0 -0.000260364 0.00816108 0 0 0 0 0.0917139 0 0.00457878 0 0.151375 0 -0.142062 -0.0942476 0 0.000216261 0 0 -0.0090668 -0.000282574 -0.00433736 0 0.000368056 0 0.000264247 -0.00169375 0.00185425 -0.00387411 0.000236876 0 -1.89168e-05 0 0 0 2.67122e-05 0 0 0.000834347 0.000355595 -0.0739966 -0.00401917 0 0 -0.00246402 0 -0.000483491 0 0 -0.004737 0.00366811 -0.000287035 0.0037357 0 0 -0.0443034 -0.00435082 0.000231085 -0.00286954 0.0740497 0 -0.00200071 -0.000493473 -1.56647e-07 0 0 0 -0.226572 0 0.00829174 0.00314715 0 -0.000700487 0.00126192 -0.0307233 0 0.000387463 -0.00068158 0.00288775 -0.00420406 0 0.0181512 0.101029 -0.264104 0.0029169 -0.101339 -0.081748 -0.0100363 0.589572 0.36135 0.00121209 0.00455906 0.362126 8.12565e-05 0.0178487 -0.00128528 0.0104471 0.0030477 0.0141289 0.248644 -0.565695 0.102334 0.350123 0.0837701 0.0465686 -0.0140361 0.203566 0.160031 0.003978 3.8382 -0.240156 1.91148 -0.143054 -0.000100135 0.847499 0.548983 0.00422757 -0.00259846 0.143913 -0.0262213 0.949683 0.0191354 0.0323486 0.737357 0.235629 0.00240233 -0.0273714 0.150334 -0.0152371 -0.0136395 0.0281291 1.85759 0.479275 -0.02969 -0.40422 0.00610253 -0.538585 -0.0137805 -0.0438544 -0.0755975 -0.0586917 0.592123 0.078855 0.153945 -0.0711819 1.46912 -0.024398 -0.796739 -0.0221754 -0.163546 -0.362219 -0.033852 0.0687454 -0.00639704 -0.104082 0.0524664 -0.0387533 -15.4768 -1.96267 -3.56461 -0.144579 0.930193 -5.38054 -0.020225 0.238774 -0.913234 -0.798108 -0.00129176 0.146558 -0.397652 0.419207 -1.36446 0 +252 0 0 0 0 0 0.416611 -0.0322213 -0.567782 -1.84752 0 0 -0.180512 -0.319392 0 -0.247195 -0.032251 0 0 0 -0.161829 6.57552 0 0 0 0 -0.0162663 0 0 0.477918 -5.06048 -0.505001 0 -0.12537 0 0 0.0820646 -0.0328575 0 0 -0.0121371 0.268831 0 0 -0.0778889 2.05559 0 -0.988137 -0.423496 -0.261366 0.100286 -0.803455 -0.043166 0 0.205412 -0.0402105 -0.353551 1.28633 0.494713 0.386897 0 0 0.338517 -0.997495 0 -1.50493 -0.324114 -0.352668 0 0 0 0 -0.146498 -0.598212 0 -0.175324 0.968381 0 0 0 4.09603 0 0.402261 8.3374 0 0.100355 0.623161 6.77263 0 0.355367 -0.0110818 0.383057 13.8111 0 0 0 -0.100049 -0.00599664 0 0 0 0.00212959 0.0117123 0 -0.000302955 0 0.000540941 0.00708028 0 0 0 0 0.00462644 0 0.00191527 0 0.0562216 0 0.0426606 0.0524816 0 -2.25366e-05 0 0 -0.0113926 0.000801047 0.000287522 0 0.00154191 0 0.000867583 -0.00805737 0.000263458 0.0107254 -0.00113829 0 3.94935e-05 0 0 0 0.000112128 0 0 -0.00281737 0.00250733 -0.00722016 0.0150358 0 0 0.00110213 0 -0.000458589 0 0 -0.00994865 -0.0149489 0.0201284 0.00934572 0 0 0.00268462 -0.00345117 -0.00543396 0.00700018 -0.0422414 0 -0.0211947 -0.00147754 0.0517434 0 0 0 -0.136551 0 -0.0246826 0.0491567 0 0.00213743 -0.00503848 -0.0110947 0 -0.00114604 0.00230992 -0.00911578 0.0178249 0 0.416611 -0.100049 -0.0322213 -0.00599664 0.897349 0.278446 -0.0444114 0.0757659 -0.283638 0.00231586 0.00845717 0.265367 0.000143502 0.0185786 -0.00288743 -0.00335507 0.0137841 0.037893 0.795393 1.99874 0.331873 -0.204695 0.129641 0.129447 0.0946549 -0.385112 -0.123227 0.0299325 -0.197447 0.165291 3.55766 -0.617011 -0.000185433 -0.131616 1.21647 0.00814694 0.00191927 -0.060756 0.0249697 -2.16319 -0.010545 -0.0603435 -0.302927 2.05467 0.0013853 0.0178578 0.294409 0.2422 0.0913402 0.266365 -0.909763 0.136192 -0.0117285 0.139129 0.00441157 -2.32671 -0.015334 -0.247577 -0.251626 -0.424119 -0.572108 0.0923198 -0.0989143 -0.351276 -7.28937 0.0381415 -0.0326372 0.0697944 0.116771 0.086203 -0.0410426 -0.0291085 -0.00413371 -0.0457447 -0.150326 -0.0119956 -28.8056 -1.99866 -1.95842 -0.316039 -0.163525 3.44972 -0.0219762 0.0327095 0.153117 1.01623 -0.00346444 0.0185774 0.124751 -0.354078 3.11887 0 +253 0 0 0 0 0 0.915882 0.350563 -2.42735 -6.0866 0 0 -0.146479 0.774747 0 0.270097 -0.00107763 0 0 0 -0.0559847 0.12147 0 0 0 0 -0.803464 0 0 -0.41617 -2.07666 0.311444 0 -0.367282 0 0 -0.403289 0.0250936 0 0 -0.504072 0.424507 0 0 0.0265166 1.52021 0 0.604891 -0.682294 -0.984688 0.17836 -1.43621 0.142841 0 0.249961 -0.176561 -0.0627466 -1.11635 0.739678 0.394921 0 0 2.34409 -3.90332 0 0.152023 0.310711 2.08229 0 0 0 0 -0.305993 -1.03712 0 -3.19235 0.755601 0 0 0 15.6967 0 1.75576 7.33946 0 0.271269 1.15924 14.6664 0 -0.450541 1.97319 -0.216778 13.6548 0 0 0 0.194229 0.0180915 0 0 0 0.0302591 -0.0377413 0 0.00344376 0 0.00119034 -0.0331249 0 0 0 0 -0.137841 0 -0.0128348 0 -0.350419 0 0.251377 0.14921 0 -0.00121739 0 0 -0.146694 0.00108784 0.0135855 0 -0.00456913 0 -0.00275858 0.00223681 -0.0146556 0.0152792 0.00111638 0 8.6226e-05 0 0 0 -0.000331942 0 0 -0.00225847 -0.00565399 0.18087 -0.00121586 0 0 -0.0169264 0 0.0036397 0 0 0.00647149 -0.00209211 -0.0504086 -0.0215502 0 0 0.125542 0.0223752 0.00931158 0.0863008 -0.00694877 0 0.10676 0.00266033 -0.0739351 0 0 0 0.707405 0 -0.0287209 0.276194 0 0.00230594 -0.022051 0.185876 0 -0.00135902 0.012946 -0.0302713 0.107475 0 0.915882 0.194229 0.350563 0.0180915 0.142107 -0.0481362 0.145086 -0.548598 -0.271313 -0.00818704 -0.0280189 -0.352309 -0.000563134 -0.0362475 0.0106131 -0.0212677 -0.0271334 -0.111478 -0.670007 -0.725246 0.358225 -0.601648 -0.0804346 -0.118935 -0.187993 -0.133829 -0.371595 -0.0191066 -7.11441 -0.132895 2.09959 0.218014 0.000733625 -2.55809 1.27093 -0.00958593 -0.00237167 -0.164447 -0.0112147 -0.615663 -0.00781887 -0.0221785 -2.02729 -1.72688 -0.00485953 -0.0217344 -0.364761 -0.127865 -0.01277 0.319448 -1.35598 -0.253087 0.0497201 0.906178 -0.0178907 1.14427 0.0209391 0.10707 0.217044 0.375833 -0.041345 -0.0248428 0.0335698 0.236172 3.0433 -0.0608104 0.461926 -0.0959886 0.108436 0.152654 0.0920619 0.0871816 0.0162344 -0.262808 0.0205225 -0.00106692 -16.9999 0.88077 7.55032 0.355327 0.640094 0.664912 0.0450694 0.0976893 0.552252 2.39934 0.0101921 0.0669835 0.237242 0.0419831 1.26787 0 +254 0 -0.782463 -0.603832 -0.00256973 0.0719372 -0.0935438 -0.172201 0.148989 1.4144 -0.0182564 0.0919456 -0.138438 0.421756 0.00087685 -0.461435 -0.0209872 -0.839859 -3.14184 -0.0247123 -0.0286679 -0.43574 -0.0132059 0.521063 -0.000732007 0.0234985 0.582935 -0.576796 -0.0107955 0.267857 0.825346 0.087169 -0.00567921 -0.345754 1.78577 0.0172301 0.223221 -0.0132397 -0.0655828 7.86204 -0.183033 -0.350517 0.0105573 -0.130226 -0.0186398 -1.08229 0.121186 -0.341685 0.509979 -0.511792 0.135983 -1.25879 0.340263 -2.73882 0.111778 -0.0204803 0.197217 -0.396777 0.395702 0.455976 -0.0414527 -0.0360988 1.48873 -0.671207 -0.774738 -0.551591 0.658046 0.976257 0.368845 -0.224227 0.00764048 0.522532 0.218084 -0.268805 0.148847 -1.06194 -0.276427 -0.579209 -41.2475 -5.31455 -10.6594 -4.50551 4.55289 -20.5848 0.289368 -0.346845 -0.583746 -5.67389 -0.0376467 0.0726214 -0.49597 0.856432 -5.00946 0 0 0 0 0 -0.00256973 0.0719372 0.00101792 0 0 0 0 0.000153487 0 0.00153486 0 0 -0.000112071 -0.00016526 0.000553574 0 0.000176844 0.000366704 -0.00759842 0 0 -0.148893 -1.18953e-05 0 0.0175576 -0.35829 0 0 -0.0209965 -0.00869462 0 0.11842 0 -0.0119169 0 0 -0.00157434 0 0 0.397122 0.00211615 -0.00155221 0 0.014128 0.0146633 0 0 -0.105914 0 0.00246372 -0.211247 -0.00390393 0 0 0.000849612 -0.000947395 0 0.00123591 0.00338573 -0.00143694 0.143287 -0.00267877 -0.00604942 0 -0.00492099 0.00716033 -0.0548279 0.0127802 -0.00777159 0 0 0 -1.43757 0.0549909 -0.12266 -0.0264554 0.0505133 -0.11391 0.000316139 -0.000612319 0.00121857 -0.00152952 0 0 0 0 0 0 -0.0935438 0 -0.172201 0 0 0 0 -0.0598833 -0.224526 0 0 -0.272886 0 -0.0203093 0 -0.0021617 0 0 -0.441937 0 0.932015 0.0646978 -0.00179244 -0.0417996 0 0 -0.0824037 0 -7.22392 0 3.8379 -0.199613 0 0.507486 1.79455 0.000770398 0 -0.0116385 0 0 -0.00528499 0 -1.5789 -1.3641 0 0 -0.137492 0 0 -0.192287 -2.73446 -0.191371 0 -0.129766 0 1.08811 0.0366582 0.0170732 0.00274727 -0.0364602 -1.37585 -0.393759 -0.0644624 -0.544302 -1.27202 -0.0387447 0 0 0 -0.0645555 0.0260379 0 0 0 0 0.0325503 -26.2835 -0.437796 -3.17557 -0.65963 0.819616 -3.16063 0.145233 -0.12197 0.137061 -0.352741 0 0 0 0 0 0 +255 0 1.29247 0.358311 -0.00850213 -0.126841 0.489619 0.369846 -1.28305 -3.98419 -0.0857509 0.444334 0.173725 0.535096 0.000554127 1.00915 0.0135958 -0.278821 0.149682 0.0461763 0.029916 -0.666109 -0.00914148 -0.369737 -0.000504397 -0.0130623 -0.890049 0.0879842 -0.0161123 -0.725092 -1.83657 0.365442 -0.00634557 0.146223 -1.13107 -0.0167745 -0.432353 0.0127107 -0.110921 -5.32046 0.206099 0.360961 0.00748858 -0.0504562 0.0165543 2.32856 0.103149 0.591645 -1.18052 0.310874 -0.0118857 0.755661 -0.436528 -0.322279 -0.0410463 0.0758183 -0.14002 -2.48532 0.121778 -0.121319 -0.0236865 -0.0246602 -1.18989 -0.128804 -1.24163 -0.184865 -0.277125 0.565629 -0.396801 0.156863 0.0220907 -0.46068 -0.253585 0.105949 0.183913 -2.07037 0.681373 0.908753 25.3858 0.469695 15.2026 1.03108 -1.87588 16.0104 -0.0804993 -0.00189724 -0.699992 11.9173 -0.0320433 0.00560164 -0.0277664 -1.29518 11.1471 0 0 0 0 0 -0.00850213 -0.126841 -0.00114067 0 0 0 0 -5.64569e-05 0 0.00186453 0 0 0.0015957 0.00204632 -0.00273287 0 -9.81179e-05 0.00170708 -0.0229184 0 0 0.14044 0.000152603 0 -0.00603232 0.413052 0 0 0.0202642 0.0476304 0 -0.0529031 0 0.00754783 0 0 0.00119908 0 0 -0.105051 -0.000816582 0.0209098 0 -0.0163834 -0.00157854 0 0 -0.00897147 0 0.000359339 0.0480246 -0.00400307 0 0 -0.00592747 0.00404603 0 0.00612136 0.0239526 0.0192159 -0.371548 -0.0451766 -0.0102617 0 -0.0144592 0.0156149 -0.0010668 -0.0265884 0.110611 0 0 0 0.172757 -0.0625544 0.0995728 0.00645643 -0.0119351 0.0283767 -0.00262555 0.00504182 -0.0104909 0.0172531 0 0 0 0 0 0 0.489619 0 0.369846 0 0 0 0 0.0130913 0.262498 0 0 0.0576875 0 0.0132008 0 0.0092238 0 0 -0.327494 0 -0.221034 -0.126039 -0.0933398 -0.0600741 0 0 0.147594 0 2.32841 0 -3.62911 0.326821 0 -1.19712 -0.733732 -0.00374033 0 0.0151888 0 0 0.0157412 0 0.376109 0.454498 0 0 0.0229527 0 0 -0.395123 -2.48991 -0.286059 0 -1.24005 0 -0.664869 0.0598936 -0.10098 -0.163364 0.13958 -0.348559 -0.257983 -0.0860836 0.699453 -0.577949 -0.0978793 0 0 0 0.0973776 -0.0201128 0 0 0 0 0.012943 31.407 1.1339 6.92853 0.336642 -0.431672 3.41974 -0.0334631 0.0282985 -0.00710551 0.871118 0 0 0 0 0 0 +256 0 1.52726 0.178146 0.0418614 0.302628 -0.031206 -0.203226 1.8 2.1327 0.39241 -1.37799 0.220822 -0.478404 -0.00338461 -0.487512 0.0265842 -0.120721 0.493721 -0.0283699 0.0241435 -1.21577 0.0548291 0.0320267 0.00410543 -0.120916 0.43978 -0.211955 0.0919257 0.492143 1.38793 -0.21919 0.0416257 0.409525 -0.911257 0.2429 0.379034 0.02604 0.279723 -8.86098 0.497193 -0.743974 -0.034958 0.974285 0.0504934 -2.00905 -0.339693 -0.468219 0.920842 0.479143 -0.190331 0.106717 -1.00903 -1.05749 -0.039833 0.101294 -0.389779 -2.55979 0.120264 -0.47481 0.461762 0.0940625 -4.86918 0.239802 0.921423 -2.34313 -0.207651 -2.70444 1.39155 0.34771 -0.0954763 0.66979 -0.560405 0.380821 -0.216532 -1.7511 -1.45609 0.602641 50.1861 10.6947 -0.171988 5.96595 -5.52587 12.158 0.252197 -0.534312 3.04872 -8.1861 0.105526 -0.201099 0.815308 -1.00274 -8.42406 0 0 0 0 0 0.0418614 0.302628 -0.00136516 0 0 0 0 -0.000588725 0 -0.00983664 0 0 4.66424e-05 -0.000493331 -0.00802187 0 -0.000836013 0.00795479 -0.0689789 0 0 0.056413 -4.02042e-05 0 -0.0366577 0.265388 0 0 0.00545193 0.0042228 0 -0.171244 0 0.017068 0 0 0.00167081 0 0 -0.724069 -0.00805337 0.00187246 0 -0.0176158 -0.0380157 0 0 0.221783 0 -0.0104625 0.386089 0.0200592 0 0 0.00199482 -0.00250591 0 -0.0116583 -0.0367508 -0.0141681 0.129388 0.00762181 0.0262163 0 0.014809 -0.0351109 -0.0255314 0.0238172 0.0379203 0 0 0 3.05726 -0.1174 0.431945 0.0679197 -0.12977 0.27966 0.000277981 -0.000555978 0.000921834 0.0215632 0 0 0 0 0 0 -0.031206 0 -0.203226 0 0 0 0 -0.506659 0.532574 0 0 -0.512932 0 -0.0612878 0 0.0124067 0 0 -0.07908 0 -0.531159 -0.0491742 -0.0745555 -0.0324396 0 0 0.221856 0 2.64084 0 -7.86573 -0.439065 0 -0.540202 -2.37274 -0.0101238 0 -0.0606849 0 0 0.041725 0 0.184133 -0.50866 0 0 -0.111489 0 0 -0.283751 1.62021 -0.739931 0 -0.98495 0 -1.98174 -0.00527915 0.0769152 0.49411 -0.0188993 0.146038 0.829326 -0.239218 -0.302786 -8.66868 -0.0701384 0 0 0 0.0911833 0.150555 0 0 0 0 -0.0607264 61.2388 5.17144 5.9796 1.54797 -1.49729 6.52566 0.255429 -0.236369 0.469192 0.530051 0 0 0 0 0 0 +257 0 0.0310395 0.182619 0.00280282 0.0341236 0.0860848 0.213491 -0.278863 -0.543675 0.0229862 -0.228919 0.0450138 -0.431441 -8.14888e-05 -0.862471 -0.00649457 -0.282814 -3.1823 -0.0139878 -0.00736097 2.26978 0.00420968 -0.36271 0.000104936 0.00374881 -0.368488 0.33227 0.00815141 -0.681013 -1.42554 -0.0674666 0.00160368 -0.112758 -0.444605 -0.0601148 -0.364481 0.00235431 0.0903324 -0.516643 0.096937 1.60171 -0.00126606 -0.0723434 0.00510405 -2.43507 -0.0186057 0.931112 -0.825152 -0.115607 -0.0133741 0.608295 -0.33955 -1.95744 0.0127135 -0.0124771 -0.0581047 -0.639101 -0.469402 -0.0647875 0.0590755 0.00279902 0.323519 -2.43822 0.443308 -0.00540291 -0.0687925 0.459436 0.233907 -0.0124431 -0.00295932 -0.0484414 -0.0966576 -0.0825675 0.0387268 0.670975 0.661705 -0.211642 4.75944 1.11565 2.22607 0.277707 -0.635055 5.51125 0.0979066 -0.250052 0.744925 1.85981 0.00167148 -0.00489678 0.0824585 -0.137566 2.82347 0 0 0 0 0 0.00280282 0.0341236 -0.000541412 0 0 0 0 -5.50107e-05 0 -0.000870485 0 0 -6.20235e-05 1.98957e-05 -0.000934644 0 -6.62281e-05 0.00184005 -0.012823 0 0 0.0119515 1.42803e-06 0 -0.00258698 0.0843112 0 0 -0.000392691 0.0197338 0 -0.0105745 0 0.00181403 0 0 0.000132479 0 0 -0.0774439 -0.000757453 -0.000806807 0 -0.00742398 -0.00582813 0 0 0.025555 0 -0.00134837 0.0554293 0.00226506 0 0 0.000185405 0.000750359 0 -0.00195825 -0.00366954 -0.00197542 -0.00996584 -0.00287599 0.00381473 0 7.30047e-05 -0.00196143 -0.0204669 0.00769318 0.0198028 0 0 0 0.328871 -0.0119323 0.0605303 0.00768947 -0.0146781 0.0314741 8.8872e-05 -0.000170123 0.000359685 0.00477491 0 0 0 0 0 0 0.0860848 0 0.213491 0 0 0 0 0.232276 -0.0777432 0 0 -0.393277 0 -0.0468383 0 -0.000470929 0 0 0.0634485 0 -0.771516 0.0652941 -0.0899888 0.00645759 0 0 -0.00929072 0 -0.444554 0 -1.22713 0.165116 0 0.380506 -0.709103 -0.0093464 0 0.0264872 0 0 -0.0176066 0 -0.0847049 -0.0128565 0 0 0.0233751 0 0 -0.110849 1.00181 -0.00539004 0 -0.218506 0 -0.226307 -0.111616 0.131571 0.359207 -0.120833 -0.0218948 0.30667 -0.0599111 -0.925835 -9.0383 0.0329871 0 0 0 -0.0577103 0.0908168 0 0 0 0 0.0167783 15.7866 2.50533 0.0635172 0.468183 -0.272357 2.04403 0.217727 -0.18283 0.348547 -0.360151 0 0 0 0 0 0 +258 0 0.377832 0.184146 -0.00439692 -0.0613918 0.357311 0.174723 0.099429 -0.764201 -0.038949 -0.00450075 -0.0207365 0.85173 0.000127637 1.17653 0.00227767 0.964349 5.0252 -0.0103283 0.0110741 -0.439358 -0.0152067 0.194231 -0.000163912 -0.079515 -0.15002 -0.0309263 -0.00658831 0.128239 1.18255 0.444694 -0.00258375 0.0297831 0.104594 0.0388861 0.0876809 -0.00100783 -0.0759499 -0.987706 0.00155206 0.329255 0.00207805 0.081688 0.000320425 2.72981 0.0327944 0.537985 0.446022 0.180306 0.000760156 2.58008 -0.188486 3.51829 -0.0190057 0.0199727 0.0560994 -0.978717 0.276509 0.100997 0.0871708 -0.0048714 0.531182 0.422409 0.177387 1.63867 -0.223762 0.414889 -0.0986378 -0.0303529 0.00501306 -0.107428 0.0747435 0.100535 0.121949 -1.19245 0.127205 0.817513 0.967315 -0.502357 3.00068 -0.152751 -0.00450833 -0.946519 0.574504 -0.598168 -0.208392 1.84504 -0.00294614 0.000886541 -0.0855951 0.0329451 -2.3422 0 0 0 0 0 -0.00439692 -0.0613918 0.00115408 0 0 0 0 0.00010778 0 -0.000907726 0 0 0.000890415 0.000546947 -0.000460421 0 -4.08105e-05 -0.00216985 -0.014759 0 0 -0.0136801 3.97692e-05 0 0.00438975 0.0330384 0 0 -0.000523722 -0.0172999 0 0.0169741 0 -0.00285206 0 0 -0.000288355 0 0 0.119289 0.00148389 0.0121096 0 0.0158041 0.0163616 0 0 -0.0418294 0 0.00308047 -0.0422729 -0.00712292 0 0 -0.00197824 -0.00139687 0 0.00404838 0.00820787 0.00615621 -0.0994636 -0.0195206 -0.00830493 0 -0.00335769 0.0163916 -0.00675283 -0.00537479 0.0364955 0 0 0 -0.533214 -0.00249729 -0.0249572 -0.0124102 0.0237202 -0.0505332 -0.0011875 0.00226595 -0.00486752 0.00669089 0 0 0 0 0 0 0.357311 0 0.174723 0 0 0 0 -0.827717 0.17216 0 0 0.165459 0 0.0160251 0 0.00251335 0 0 -0.0506569 0 -0.0205169 -0.231136 0.0724254 0.0196657 0 0 0.0570445 0 1.89722 0 -2.70401 0.280529 0 -1.74303 -0.686051 0.00445521 0 -0.111161 0 0 0.0165281 0 0.469658 0.38251 0 0 0.08253 0 0 0.0849735 -1.72226 0.44852 0 1.0053 0 1.13847 0.0783028 -0.211513 -0.416247 0.0305589 -0.288537 -0.378436 -0.1352 0.24111 7.79842 -0.0016611 0 0 0 -0.0415243 -0.0104115 0 0 0 0 0.0260954 19.9174 -0.423032 8.23928 0.0778286 -0.256613 2.1528 0.0890957 -0.0902026 -0.173722 1.49011 0 0 0 0 0 0 +259 0 1.83649 0.497033 0.0191048 0.216804 -0.0343152 -0.00881814 1.23664 1.60936 0.150876 -0.354036 0.129272 -0.273654 -0.000555851 -0.619275 -0.00948095 0.830968 5.96745 -0.0207662 -0.0213086 -0.659886 0.0265502 -0.176937 0.00071669 0.070611 0.110269 0.150997 -0.00625819 0.115374 0.551271 -0.322967 0.0107946 -0.0908396 -0.992752 -0.158583 0.126754 0.00688858 -0.0849003 -7.30025 0.287269 -0.596106 -0.00844516 -0.470858 0.0160123 0.317044 -0.119576 -0.517665 0.213809 -0.21322 -0.0423889 0.29219 -0.473728 -0.0649023 0.0393123 -0.0386077 0.011134 -0.424455 0.321857 0.0181499 0.0659757 0.0181137 -0.710945 0.500512 2.63374 1.98544 0.402413 0.0541255 -0.179513 -0.188162 -0.019427 0.0134951 -0.42556 0.019409 0.135495 -0.811863 0.25091 1.27775 36.8433 5.7875 1.22679 4.26453 -3.92116 11.3119 -0.760978 0.435326 0.404594 -0.523356 0.0107423 -0.0163904 0.0936562 -0.268413 -1.09187 0 0 0 0 0 0.0191048 0.216804 -0.00318089 0 0 0 0 -0.000332142 0 -0.00725633 0 0 0.0011355 0.00129552 -0.00517989 0 -0.000572565 -0.0030029 -0.0607905 0 0 0.15828 9.40174e-05 0 -0.0281079 0.211783 0 0 0.0228449 -0.0152305 0 -0.18111 0 0.0157755 0 0 0.00218577 0 0 -0.726154 -0.00457379 0.0157858 0 -0.0437144 -0.0395551 0 0 0.181093 0 -0.00727033 0.36574 0.0122618 0 0 -0.00218694 0.0048948 0 -0.00592764 -0.0310739 0.00197853 0.0792062 -0.0177066 0.0169908 0 0.00412335 -0.0213624 -0.0297513 0.0153175 0.0726569 0 0 0 3.00355 -0.156891 0.442136 0.070399 -0.134289 0.288945 -0.00148618 0.00283246 -0.00612094 0.0231106 0 0 0 0 0 0 -0.0343152 0 -0.00881814 0 0 0 0 -0.0546906 -0.0118383 0 0 -0.468744 0 -0.0430618 0 -0.00549995 0 0 0.943207 0 -0.681374 0.0168652 -0.139636 0.143394 0 0 0.0762029 0 12.4091 0 -8.88087 0.647925 0 -0.172591 -2.60749 -0.00917854 0 0.00728398 0 0 -0.028507 0 3.715 2.07511 0 0 0.305877 0 0 -0.0521207 2.4687 0.154219 0 -0.370946 0 0.0992157 -0.198982 0.170122 0.50398 0.102734 -0.374922 0.0552789 -0.156735 0.443297 2.91045 -0.130418 0 0 0 -0.0340988 0.0983945 0 0 0 0 0.0549856 65.2001 4.88649 4.99808 1.47092 -1.51725 6.74204 0.113083 -0.114427 0.376865 0.221191 0 0 0 0 0 0 +260 0 0 0 0 0 0.68805 0.378693 -2.37319 -7.34661 0 0 0.149715 0.797972 0 1.12755 -0.0507609 0 0 0 -0.0241995 5.90836 0 0 0 0 -1.15251 0 0 -0.42258 -7.64237 0.0917408 0 0.0419408 0 0 -0.385093 0.0291655 0 0 -0.300313 1.62734 0 0 -0.0703341 5.64995 0 0.438381 -1.89411 0.476477 0.188897 -5.09135 -0.106305 0 0.349243 -0.0712728 -1.12134 -1.2269 0.148596 -0.257713 0 0 2.19727 -0.549211 0 -2.22872 0.492928 1.77964 0 0 0 0 -0.663672 -1.1963 0 -0.747398 2.49376 0 0 0 16.8725 0 1.54323 14.5312 0 0.759727 2.03968 22.8595 0 -0.0713188 4.62866 -2.78862 29.3541 0 0 0 0.0205373 0.0374084 0 0 0 0.0625334 0.0738784 0 0.0123222 0 0.0140567 -0.119562 0 0 0 0 -0.185146 0 -0.0512173 0 -0.604334 0 0.379498 0.906607 0 -0.0114775 0 0 -0.620623 0.00328773 0.0986804 0 0.00940062 0 0.00484707 0.155872 -0.0875597 0.0417709 -0.00822107 0 0.00104214 0 0 0 0.000640735 0 0 -0.0090214 0.00569874 0.128093 -0.00126453 0 0 -0.0350852 0 -0.00974637 0 0 0.0478128 -0.0457874 0.197593 -0.00479162 0 0 -0.0255761 -0.0372489 -0.00784559 -0.295039 0.228021 0 -0.232335 -0.0251631 -0.19419 0 0 0 1.73781 0 -0.0573345 1.82538 0 0.0112389 0.0316479 0.703292 0 -0.00471518 0.0381335 -0.0838768 0.946955 0 0.68805 0.0205373 0.378693 0.0374084 0.852319 0.186379 0.273349 0.529217 1.56336 -0.0677056 -0.0345059 -0.552324 -0.0141423 -0.0858213 0.0770678 0.140976 -0.0333847 -0.280883 -0.151084 1.49277 0.631377 -0.0745836 -0.30655 -0.0374957 0.047646 -0.0877035 0.772646 0.0354137 1.57747 -0.0500098 6.40089 0.397258 0.0175724 0.287029 2.05681 -0.0455969 0.00433487 0.0456274 0.00275793 -0.544035 0.294883 -0.01431 0.56235 1.59182 -0.0102422 0.0134775 0.152351 0.228989 -8.41797e-05 0.473107 3.81191 -1.04989 0.0263523 0.647379 -0.134493 1.48595 0.706453 -0.390356 0.134148 0.417202 0.41887 -0.0420972 -0.502082 -0.937178 -1.20818 -0.0155731 0.766459 -0.103923 -0.0624512 0.103197 0.0832044 -0.0593692 0.154588 -0.385652 0.0173532 -0.248257 -60.9388 -1.81087 -7.77665 -1.13398 1.3645 -5.62603 0.408059 -0.0415675 0.628485 0.0924715 0.216867 -0.000912153 0.281789 0.125823 0.700853 0 +261 0 0 0 0 0 0.0167241 0.144709 0.491483 2.42723 0 0 0.435369 2.37192 0 5.12821 0.416658 0 0 0 0.835921 -5.00823 0 0 0 0 0.710995 0 0 -0.71571 -1.65085 1.41175 0 1.49147 0 0 0.189011 0.115658 0 0 1.79322 -0.611905 0 0 0.484104 7.22946 0 0.389392 -1.16978 2.5487 -0.899313 3.46079 -0.456983 0 -0.735405 1.25055 -0.249908 -6.50057 -2.07582 -0.954941 0 0 0.202883 1.71051 0 -2.34304 -1.92595 1.29059 0 0 0 0 0.623051 1.55342 0 -1.90284 3.03396 0 0 0 -5.97117 0 -3.71813 6.25809 0 -1.53476 1.15608 0.560425 0 -1.86124 0.600597 -2.6839 10.7467 0 0 0 -0.0926188 -0.057447 0 0 0 -0.103414 0.0643917 0 -0.0200191 0 -0.00970971 0.119398 0 0 0 0 0.133437 0 0.0580503 0 0.303102 0 -0.58288 -0.0989186 0 0.00654294 0 0 0.090391 0.00149155 -0.00272136 0 0.0105572 0 0.0049641 0.0299087 0.0318023 0.0193429 0.0288265 0 -0.000703394 0 0 0 0.000784607 0 0 -0.00320049 0.0117082 -0.302833 0.0131177 0 0 -0.0036014 0 -0.00557721 0 0 0.00551471 -0.0145976 -0.021678 0.0339601 0 0 -0.0700044 0.04266 0.0112457 0.0672845 -0.0479855 0 0.112384 -0.00671782 -0.0354028 0 0 0 -0.802379 0 0.00797408 -0.52488 0 0.00260135 -0.036608 -0.23046 0 -0.00173311 -0.0002881 0.0119075 -0.310344 0 0.0167241 -0.0926188 0.144709 -0.057447 -0.411745 -0.0260388 -0.548577 0.41954 -0.185924 0.0801754 -0.0215083 0.661062 0.0167948 0.17738 -0.110964 -0.01664 0.0122154 0.339167 -1.698 -0.963568 0.511808 -0.0207808 0.327581 -0.193281 -0.0626929 -0.0102818 0.163766 -0.00801626 0.990234 -0.0374596 3.32102 0.80894 -0.0222881 -0.0327702 1.67206 0.0832497 -0.00250947 0.0276543 -0.00634578 -0.258868 -0.129384 0.000709613 1.20077 -3.72773 -0.000610431 -0.0190914 -0.428186 -0.0888992 -0.107334 -0.491048 0.465265 0.567132 -0.0797026 1.88877 0.180124 1.80005 -0.521432 0.42035 -0.388101 0.330878 0.390563 -0.921998 0.118288 -1.03586 -10.8453 0.254998 0.123969 0.122901 0.0992962 -0.0531797 -0.423269 0.00457619 -0.16603 0.179414 0.0170383 0.321012 -31.6173 -5.45043 -2.71204 -2.89657 0.714729 -2.29772 -0.490467 0.0697954 -0.489327 0.181289 -0.261869 0.0258208 -0.275977 -0.0121454 0.716466 0 +262 0 0 0 0 0 0.23002 0.269164 0.409209 0.222344 0 0 0.108232 0.158113 0 0.608377 0.0452219 0 0 0 -0.134294 -8.39174 0 0 0 0 -0.303584 0 0 -0.762286 4.49096 0.462871 0 0.590971 0 0 -0.103397 0.061602 0 0 -1.0884 -1.64154 0 0 -0.181431 -0.763792 0 0.298325 -0.00100921 0.766583 -0.0185213 2.19449 -0.0669431 0 0.301611 -0.369101 0.644867 -2.98019 -1.29194 -0.772079 0 0 -0.0227512 5.3674 0 0.494466 -0.487089 -0.303831 0 0 0 0 0.270047 0.458414 0 3.28222 -0.959805 0 0 0 0.0520782 0 1.44907 -8.28067 0 -0.019613 -1.11969 -2.672 0 0.458417 -2.16981 5.99031 -21.3566 0 0 0 0.303236 0.0669646 0 0 0 -0.0287686 0.111888 0 0.00385144 0 0.0217246 -0.0725109 0 0 0 0 -0.0980866 0 -0.0504439 0 -0.0198163 0 -0.450672 -0.364986 0 -0.00744911 0 0 -0.117809 0.00677733 -0.0416057 0 0.0173729 0 0.00834253 -0.255985 -0.0388178 0.0959251 -0.0552676 0 0.00156515 0 0 0 0.0012822 0 0 -0.0181503 0.0120558 0.115109 0.0796151 0 0 0.0185654 0 -0.0154618 0 0 0.0208652 -0.0549159 -0.105538 0.0288433 0 0 0.192693 0.000557827 -0.00987898 0.188747 -0.223624 0 0.211707 0.00761772 -0.0816344 0 0 0 -0.338826 0 -0.188933 -0.0951257 0 0.0132154 -0.0852845 -0.0939209 0 -0.00880951 0.0217021 -0.0738754 -0.161184 0 0.23002 0.303236 0.269164 0.0669646 -0.811681 -0.231922 0.396125 -0.390922 2.8104 -0.0543255 -0.030219 0.190166 -0.0141973 -0.063239 0.0896834 0.29399 -0.0786184 -0.151423 -2.24796 -0.875323 -0.273598 0.0378166 -0.0341821 -0.270373 -0.304097 0.403084 1.52969 -0.0299956 9.13667 -0.624458 -1.5936 2.33291 0.0196895 -0.870471 -0.743302 -0.0283951 -0.0102816 -0.0372783 -0.0957116 2.40412 0.536452 0.0624834 4.56938 -4.51972 -0.00724452 -0.0748299 -0.557606 -0.151466 -0.273233 -0.792286 -2.52058 -1.00062 0.177157 5.62734 -0.139945 0.206098 0.620547 0.639472 -0.0593439 -0.395285 -1.28014 1.19197 0.12795 -4.90813 -15.4203 -0.0285975 0.329794 0.0287554 -0.2549 0.781461 0.155684 0.181207 0.0492142 0.0699417 -0.0814762 -0.830557 15.1717 0.200189 6.12529 1.33601 1.80384 -7.09249 0.0316231 0.426404 -1.33137 -0.0378581 0.116913 0.234042 -0.535998 1.05016 -4.10277 0 +263 0 1.74655 0.569372 -0.000108155 -0.045138 0.358487 0.257954 -0.592158 -3.35157 -0.00300994 -0.132836 -0.180012 -0.43993 -0.000639879 0.0371189 -0.00412306 3.38381 11.8743 0.0562215 -0.0426093 0.180934 0.043275 0.059541 0.000828019 0.0704574 -0.701041 1.11596 0.0866008 -0.127271 0.235396 -0.0490074 0.0037276 -0.0704767 -1.01025 0.449134 -0.221868 -0.0264481 0.150204 -8.88215 -0.473145 0.0712504 -0.00282491 0.816781 -0.0684049 -0.0484292 0.00243722 0.175753 0.0468414 -0.423802 0.186056 0.539205 -0.392389 -17.0349 0.0434959 -0.015828 0.049832 0.778495 0.203378 0.0801459 -0.166513 0.0131642 -2.16436 0.282819 -1.82517 1.15618 -0.149899 -2.17172 -1.13028 0.336933 -0.0111608 -0.624372 -0.341166 -0.547598 -0.000357891 0.576307 -2.08326 -1.41512 37.7985 4.70383 13.3499 4.96695 -1.66778 12.9455 -0.978836 0.637681 1.14918 5.83035 -0.000668423 0.065177 -0.0410309 1.72754 -1.69053 0 0 0 0 0 -0.000108155 -0.045138 0.00601351 0 0 0 0 0.000704965 0 -0.0508669 0 0 0.00474853 0.00822825 -0.0471865 0 -0.00608572 0.0345628 -0.400771 0 0 0.0964969 0.000600467 0 -0.0531847 1.61469 0 0 0.0109836 0.286394 0 -0.238913 0 0.00964428 0 0 0.00157804 0 0 -1.03353 0.0110833 0.0658566 0 0.0940923 -0.0149807 0 0 -0.0590224 0 0.0121258 -0.498097 -0.0299969 0 0 -0.00942457 -0.0101228 0 0.00969839 -0.0790753 0.00516042 1.00894 -0.0808437 -0.0433265 0 0.0290527 -0.0831103 0.291664 -0.0150475 -0.269308 0 0 0 6.19147 -0.0480012 1.68984 0.0689583 -0.135823 0.818333 -0.00623928 0.0104335 -0.0181891 0.321689 0 0 0 0 0 0 0.358487 0 0.257954 0 0 0 0 -0.244459 -0.81915 0 0 -0.177607 0 -0.0359661 0 -0.0602608 0 0 0.735287 0 -0.815653 -0.0930306 -0.0358705 0.0676846 0 0 -0.464827 0 5.42484 0 -6.56467 0.0686065 0 -0.876103 -2.06586 -0.00772539 0 -0.031531 0 0 -0.110627 0 0.928714 2.16045 0 0 0.228132 0 0 0.551662 -3.53439 -0.798192 0 -0.411835 0 -2.96537 -0.0817087 -0.151978 -0.333527 -0.0186084 0.770057 -0.199144 -0.0967024 1.43811 6.6217 -0.0758721 0 0 0 -0.142579 0.0772779 0 0 0 0 0.114732 55.9748 4.37227 8.55833 2.0976 -1.27598 6.76297 0.0549409 -0.0342685 0.164866 0.832262 0 0 0 0 0 0 +264 0 -0.476125 0.0347301 -0.0187796 -0.00412598 -0.118234 -0.365115 1.82997 4.18483 -0.201514 0.802004 0.156012 0.65682 0.00177751 -1.45638 -0.0137957 1.9933 7.37675 0.125627 0.0228574 -0.715301 0.00772947 0.204106 -0.00277946 0.252156 1.42684 0.201595 -0.0240055 0.7482 2.17969 -0.179322 -0.0240059 -0.110625 1.49279 -0.312137 0.664496 0.0262949 0.381763 6.23769 0.327842 -0.629373 0.0134849 0.279756 0.0513224 -0.976713 0.0786956 -0.778814 1.39421 0.244302 -0.164612 1.49449 -0.655103 -7.6711 0.0418857 0.0393168 0.00438306 -1.82609 0.0660735 -0.0149459 -0.332168 -0.0180917 -1.03321 0.405422 -3.84595 -3.2166 -1.05787 -1.13366 -0.679212 0.790024 0.0252032 -0.171306 0.366539 -0.345495 -0.128871 0.719231 -1.44519 0.505529 -32.0241 -4.72459 -16.5097 -3.74621 0.57873 -18.759 -0.593914 -0.016329 -0.957742 -17.7081 -0.0215827 -0.0354091 -0.581479 -0.912791 -15.6538 0 0 0 0 0 -0.0187796 -0.00412598 0.000723732 0 0 0 0 -0.000177779 0 0.00549947 0 0 -0.00122815 -0.00651309 0.0156444 0 0.00153522 0.0532965 0.0883046 0 0 -0.309254 -0.000459222 0 0.0498546 0.477596 0 0 -0.0550108 0.222439 0 0.148893 0 -0.0240054 0 0 -0.0049534 0 0 0.0914429 -0.00245648 -0.0206307 0 0.00959173 0.0249348 0 0 -0.337433 0 0.00158027 -0.247422 -0.0141776 0 0 0.00211303 -0.00117475 0 0.0193545 -0.0602514 -0.0140924 -0.00534879 0.0101328 -0.0229936 0 0.0039387 0.072368 0.146619 -0.0186094 -0.155106 0 0 0 -0.731573 0.239086 -0.509363 -0.0295364 0.0754845 -0.0281754 0.00139903 -0.00581195 0.0286196 -0.0741525 0 0 0 0 0 0 -0.118234 0 -0.365115 0 0 0 0 -0.418252 -0.281034 0 0 0.0516387 0 -0.0053657 0 -0.00664908 0 0 0.318404 0 0.19577 -0.02976 -0.0904854 0.028292 0 0 -0.115572 0 -2.12406 0 0.0907881 -0.567972 0 -0.0937491 -0.182279 -0.0250744 0 -0.0467549 0 0 -0.01775 0 -1.11211 -0.284243 0 0 -0.0451116 0 0 0.059361 -2.50503 -0.203727 0 0.118912 0 -1.22681 0.0550989 -0.151411 -0.0944284 0.0680384 -0.0600848 0.0848608 -0.0670285 -0.211312 0.564396 -0.0344759 0 0 0 -0.0908081 0.0339213 0 0 0 0 -0.000781694 4.01265 -0.0156742 1.73156 0.243983 0.157518 0.390896 -0.0317719 -0.000621241 -0.0307627 0.3162 0 0 0 0 0 0 +265 0 0.305573 0.207418 0.0359562 0.311094 -0.3916 -0.139657 0.62079 2.03359 0.169691 -0.0370704 0.209397 -0.689065 -0.000826324 -0.11655 -0.010683 2.64168 6.43193 0.202098 -0.031479 2.01533 0.0509762 -0.0380887 0.00145609 0.0159705 0.0857658 0.941775 0.0468688 0.165564 0.87618 -0.0529752 0.0151288 -0.0718124 0.283132 0.489783 0.014203 0.0105215 -0.0917526 1.66779 0.217139 0.525532 -0.00521279 1.02785 0.0098798 -2.13971 -0.0119367 -0.0411693 0.271849 -0.249536 0.0522404 -0.687674 0.489558 -12.8776 -0.019183 -0.0036455 -0.481119 2.08656 0.13401 0.0577421 -0.233991 -0.0184184 0.0366647 -0.835959 -2.11093 0.879839 1.19148 -0.611526 -0.93115 -0.518929 -0.00458948 -0.403992 0.184454 0.149202 0.121007 0.0807588 0.784437 -1.87698 -7.2002 -0.525253 -7.27793 -0.0844875 0.00643988 -6.81107 -0.377939 -0.172316 -0.0926724 -7.52415 0.00327371 -0.031224 -0.077286 -0.673415 -6.29242 0 0 0 0 0 0.0359562 0.311094 0.00650442 0 0 0 0 0.000585176 0 -0.000382316 0 0 0.00565137 0.00879641 0.000814846 0 7.63845e-05 -0.0487947 0.0137231 0 0 -0.278357 0.000631333 0 -0.017566 -0.642786 0 0 -0.0343071 -0.214139 0 -0.0368002 0 -0.0205493 0 0 -0.00218214 0 0 0.0637004 0.00743668 0.0787019 0 0.0851447 0.047398 0 0 -0.0553054 0 0.0134103 0.515902 -0.0188293 0 0 -0.0117325 -0.0113494 0 0.0252755 -0.0560713 0.0316403 -0.694181 -0.0343773 -0.0207212 0 0.013645 0.0881269 -0.119688 0.000816548 0.312846 0 0 0 -2.22668 -0.272226 -0.384558 0.0160603 -0.0133171 -0.384186 -0.00732076 0.0119298 -0.0233068 -0.0997196 0 0 0 0 0 0 -0.3916 0 -0.139657 0 0 0 0 0.496257 -1.21871 0 0 -1.04628 0 -0.13629 0 -0.123714 0 0 0.929803 0 -0.444416 0.1884 -0.431269 0.10562 0 0 -0.709541 0 -5.12955 0 -1.27011 -1.22531 0 1.43845 -0.670441 -0.0614516 0 0.0708153 0 0 -0.222321 0 -2.65438 1.55376 0 0 0.171799 0 0 0.46671 1.0272 0.896729 0 -3.22644 0 -0.179772 -0.321683 -0.191425 0.657079 -0.307337 -0.377503 -0.148888 0.144991 2.66437 7.3739 -0.0181841 0 0 0 -0.354848 0.120394 0 0 0 0 0.338572 12.8886 6.06974 -5.4574 1.04107 -0.394826 1.30927 0.412972 -0.277617 0.969749 -1.39336 0 0 0 0 0 0 +266 0 1.30736 0.33236 0.081335 0.0315011 0.430181 -0.101713 0.565037 0.690138 0.430214 -1.0252 -0.0212326 0.333624 -0.0561114 -0.632333 -0.00306533 -1.00127 -0.586317 -0.459501 0.0572819 -2.89407 -0.172677 -0.459371 0.0697651 -0.34791 0.525079 -0.541861 -0.0100516 0.417551 1.43509 -0.0874061 0.194724 0.0597701 -1.55735 -0.0249613 0.360663 0.033451 0.446459 -6.27535 0.448735 -1.33759 -0.173991 1.54491 0.198445 -0.152757 -0.502483 -0.632811 0.807028 0.561884 -0.591275 2.64598 -0.402507 -0.263065 -0.0881348 -0.106094 0.767303 -1.59573 -0.511604 0.437844 0.421827 0.319953 -0.819962 2.09578 3.24133 -0.319364 -0.819468 -0.626151 1.58529 0.396916 -0.257269 0.78662 0.178046 1.14032 -0.243473 2.38995 -1.98195 -0.928212 35.6155 9.71226 1.35682 6.70233 -3.19918 6.17543 1.18417 -0.653674 0.214026 -2.51493 0.771263 -0.720682 -0.193653 0.264095 -5.18481 0 0 0 0 0 0.081335 0.0315011 0.0108548 0 0 0 0 0.00307206 0 -0.0356395 0 0 0.00437992 0.034214 -0.0937757 0 -0.0094934 -0.0397721 -0.335648 0 0 0.121461 0.00249511 0 -0.157439 2.29302 0 0 0.00422114 0.385293 0 -0.335316 0 0.0329967 0 0 0.0031266 0 0 -1.07328 0.0426068 0.0574132 0 0.155654 0.0128935 0 0 0.016929 0 0.0170556 -0.180744 -0.0592225 0 0 -0.00917658 -0.0217014 0 0.00044154 -0.0415184 0.00419599 0.341853 -0.126306 -0.0162968 0 0.0289397 0.0957749 0.195952 -0.0568461 -0.0276605 0 0 0 6.39716 -0.0376554 1.36542 0.0653584 -0.13417 0.83119 -0.006148 0.0112016 -0.0144992 0.22356 0 0 0 0 0 0 0.430181 0 -0.101713 0 0 0 0 -0.65573 0.753336 0 0 0.0905839 0 0.00145908 0 -1.75299e-05 0 0 -0.463992 0 0.134524 -0.132572 0.224515 -0.0581986 0 0 0.0886449 0 3.40319 0 -3.32555 -0.249024 0 -1.13478 -0.522106 0.0265658 0 -0.0858562 0 0 0.0846349 0 0.0103244 -0.746411 0 0 -0.0975773 0 0 -0.141852 1.19599 -0.637128 0 1.05744 0 -0.526621 -0.106258 0.587834 -0.211031 0.0520456 0.284949 1.25164 -0.214967 -1.18681 -8.39688 -0.0643769 0 0 0 0.254137 0.0823351 0 0 0 0 -0.272457 31.6813 1.85786 7.50537 1.186 -0.812356 4.15614 0.00542879 -0.0478637 -0.0641214 1.16225 0 0 0 0 0 0 +267 0 -0.27819 -0.246107 -0.148031 -0.169424 -0.0560917 0.117908 -1.59028 -3.16064 -0.938753 3.48442 -0.578621 -2.25148 0.0953694 -3.978 -0.416093 -0.0808383 -1.77638 0.973212 -0.636846 3.55947 0.365785 0.681241 -0.122119 1.16243 -1.0703 0.108259 0.0116278 0.00231981 0.384552 -1.05051 -0.360619 -1.61308 2.07311 0.0508221 -0.686676 -0.208011 -0.230626 6.83205 -1.14121 1.39416 0.291327 -0.436352 -0.395937 -8.24711 0.836707 0.446905 0.190488 -2.72998 0.943094 -3.26286 2.04222 -0.43986 0.88144 -0.643765 0.457189 6.56355 2.08382 -0.0428979 -1.83528 -0.530788 1.04717 0.276508 -6.83998 4.05368 1.76775 0.543463 -3.81494 -0.283541 0.539991 -2.31294 0.303926 -1.27046 0.582474 -0.2081 -0.202974 0.673764 -37.4299 -18.1358 10.4137 -13.4803 9.33389 -6.166 -4.70999 3.48652 -4.85228 5.5205 -1.28426 1.50241 -1.80659 2.34951 -1.38934 0 0 0 0 0 -0.148031 -0.169424 0.00352382 0 0 0 0 -6.5662e-05 0 0.00719543 0 0 0.00147888 -0.0356622 0.0704718 0 0.00904031 0.211236 0.0287289 0 0 -0.314519 -0.00259005 0 0.288542 -0.315042 0 0 -0.0668445 0.141995 0 0.469839 0 -0.0779207 0 0 -0.0195549 0 0 0.894741 -0.00101506 0.0200632 0 0.0458737 0.0527699 0 0 -0.303867 0 0.018983 -0.238751 -0.0369802 0 0 -0.00157215 0.000910072 0 0.0168827 -0.00139756 0.00323118 0.307736 0.00379395 -0.0240518 0 0.00506867 0.109032 -0.00320021 0.0709054 0.0651096 0 0 0 -4.49311 0.13073 -0.653206 -0.0798269 0.164477 -0.482283 -0.00125247 -2.9786e-05 0.00420512 -0.0608168 0 0 0 0 0 0 -0.0560917 0 0.117908 0 0 0 0 0.178715 -1.81449 0 0 0.52351 0 0.0896298 0 -0.111686 0 0 0.992978 0 -0.582228 -0.0167838 0.122627 0.103219 0 0 -0.716653 0 -7.60954 0 -0.31757 -0.940453 0 0.0595158 -0.548807 0.0262265 0 0.0127741 0 0 -0.273763 0 -2.4098 1.71005 0 0 0.181713 0 0 0.390802 -2.70472 0.088272 0 -3.52167 0 -0.579 -0.375014 -0.00120059 -1.34749 0.0606947 1.65658 -1.15966 0.177631 2.91617 12.4705 0.193303 0 0 0 -0.328131 -0.223158 0 0 0 0 0.343835 2.38332 -3.53675 2.29912 -0.990164 1.02551 0.210879 -0.394044 0.301664 -0.53201 -0.107341 0 0 0 0 0 0 +268 0 -0.621531 -0.104325 0.0850129 0.19032 -0.311716 -0.348605 -0.255323 1.27177 0.60706 -1.68672 -0.525778 -1.02316 -0.0491498 -2.20037 -0.245036 -2.05957 -8.38689 -0.485832 -0.521386 1.16135 -0.181104 -0.298812 0.0669375 -0.555708 0.511142 -0.497231 0.0179393 0.672462 1.39113 -0.719761 0.208386 -1.03348 -0.447223 -0.0736589 0.169936 -0.101189 0.390059 0.739729 -0.857067 -0.198436 -0.109007 0.778028 -0.166374 -4.45844 -0.128208 -0.633537 0.881214 -2.05655 0.435735 -2.61518 -0.330171 3.87109 0.786574 -0.560446 0.227611 4.27194 0.770864 -0.305037 0.631673 0.145255 -1.02918 0.319175 -1.50801 -2.74396 0.257092 0.71332 0.969474 0.0661158 -0.341397 0.634476 -0.963794 -0.964834 -0.178058 -0.0108381 -0.386005 -2.2794 -9.35122 1.99998 -5.43125 1.74192 0.306892 -5.02316 1.55084 -1.1007 2.33359 -5.14916 0.196787 0.561745 -0.836022 2.59003 -5.02599 0 0 0 0 0 0.0850129 0.19032 0.0172213 0 0 0 0 0.00504615 0 -0.0142506 0 0 0.00777589 0.0428383 -0.0676327 0 -0.00809688 -0.139208 -0.113468 0 0 -0.48554 0.00310639 0 -0.117427 -0.739171 0 0 -0.0633471 -0.229454 0 -0.0666042 0 -0.110029 0 0 -0.012181 0 0 0.403285 0.0694338 0.108448 0 0.236169 0.102563 0 0 -0.148634 0 0.0335961 -0.329692 -0.0501112 0 0 -0.0163312 -0.0306934 0 0.0313995 0.00299037 0.0456122 -0.359595 -0.00405914 -0.0516216 0 0.0244592 0.0740619 -0.0272621 -0.0150149 0.0485632 0 0 0 -2.38912 -0.216686 -0.0169995 -0.0280069 0.0586366 -0.297217 -0.0102779 0.0189355 -0.0419599 0.0215357 0 0 0 0 0 0 -0.311716 0 -0.348605 0 0 0 0 0.373998 -0.244946 0 0 -0.306566 0 -0.0172319 0 -0.0663733 0 0 0.470538 0 0.7289 0.154289 0.195226 0.0506599 0 0 -0.39747 0 -3.89747 0 4.79228 -0.881791 0 1.41244 2.02851 0.0406895 0 0.036336 0 0 -0.039657 0 -1.78502 0.39918 0 0 0.0279676 0 0 0.405845 -2.93057 0.578649 0 -1.03332 0 -0.638758 0.122289 -0.521198 -0.070908 -0.0439827 0.129505 -0.710389 0.0366435 0.222438 1.97268 0.133539 0 0 0 -0.324749 -0.0249761 0 0 0 0 0.10437 -39.4329 -1.37754 -8.83839 -1.15877 0.922839 -4.62809 0.170585 -0.171535 0.104506 -1.22618 0 0 0 0 0 0 +269 0 0 0 0 0 0.0116619 -0.318508 1.14057 1.53517 0 0 0.0113977 -0.985987 0 -0.543878 -0.00467029 0 0 0 0.221131 -2.09559 0 0 0 0 0.5356 0 0 0.642557 -0.411952 -0.495312 0 -0.115325 0 0 0.362481 0.0240559 0 0 -0.219543 -1.63272 0 0 0.0550139 -2.60077 0 -1.22559 0.476485 0.102489 -0.0556608 0.260539 0.138042 0 0.194688 0.38576 -0.374942 -0.855518 -0.644992 -1.27013 0 0 0.402263 1.45325 0 -0.00727314 -0.159423 -1.31429 0 0 0 0 0.913676 -0.180602 0 0.210477 0.373718 0 0 0 -2.61188 0 0.325655 -0.637302 0 -0.0507591 1.2025 -4.93061 0 0.0538004 0.998749 -1.86566 3.9333 0 0 0 0.111313 0.00493309 0 0 0 -0.0910859 -0.0185246 0 -0.0172426 0 -0.00162106 0.0148044 0 0 0 0 0.0347671 0 0.00400211 0 -0.0218981 0 -0.499093 -0.695038 0 0.00110042 0 0 -0.0324352 -0.00116944 -0.109221 0 -0.00559448 0 -0.000946258 -0.101531 -0.00207316 -0.0235013 -0.0127299 0 -7.68266e-05 0 0 0 -0.00028282 0 0 0.00100211 0.000489888 -0.0979861 -0.00419469 0 0 0.0105287 0 0.00305985 0 0 0.0259687 0.000168407 -0.0159267 0.0135484 0 0 -0.0749122 -0.0768269 -0.0135923 -0.223461 -0.0187341 0 0.0399568 -8.91952e-05 -0.217197 0 0 0 0.36265 0 0.0753528 0.0344258 0 0.00541978 0.00360947 -0.0271577 0 0.000646757 7.65531e-05 0.0137544 -0.0299198 0 0.0116619 0.111313 -0.318508 0.00493309 0.0696481 0.0107239 0.354052 0.114374 0.0771461 0.0192536 -0.024069 0.00938661 0.00570636 0.0280292 0.035733 -0.00781368 0.0240525 0.0666089 0.381368 -0.378506 -0.104938 -0.0477767 -0.0311024 0.0614553 -0.0738852 -0.135198 0.0357248 -0.00729647 2.99026 -0.00542258 -0.898322 -0.286643 0.00291863 -0.0815797 -0.376679 0.0026452 0.00641388 0.017718 0.00311165 -0.884488 0.00971448 -0.0156035 0.891849 -0.15614 0.00189376 0.0186394 -0.0871559 -0.0665348 0.178316 1.33423 -0.234761 -0.3737 0.0506747 -0.090219 -0.196404 -1.01013 0.0996004 -0.105572 -0.584626 0.0398542 0.739775 -0.100112 -0.154474 -0.241623 -2.03599 0.355398 -0.0585474 -0.00540407 0.285245 -0.275956 -0.108913 0.024975 0.00984537 -0.340539 0.0368578 -0.224828 1.45851 -0.0863018 2.78512 -0.00704615 0.238044 2.17545 0.00534273 -0.00683682 0.462097 0.380545 -0.00697389 -0.0243734 0.363395 -0.343931 1.10945 0 +270 0 0 0 0 0 -0.0488866 0.0724026 0.473947 1.08482 0 0 -0.0898117 -0.0936738 0 0.256048 0.118602 0 0 0 0.0838109 -9.00742 0 0 0 0 -0.0455563 0 0 -0.650944 0.753825 0.228659 0 0.846183 0 0 -0.0403703 -0.00361524 0 0 -0.637527 -2.29198 0 0 -0.186806 -1.47761 0 -0.283008 -0.536831 1.802 0.219635 0.272171 0.965505 0 0.11734 0.0733345 0.162251 -2.30178 -0.802643 -1.23221 0 0 0.797502 5.22092 0 1.05922 -0.0417952 -0.926228 0 0 0 0 0.783949 0.363161 0 0.272569 -0.594088 0 0 0 -1.1705 0 0.817657 -1.02892 0 0.639214 -0.164648 -1.88679 0 0.63111 -0.13745 1.13949 -3.718 0 0 0 0.0920529 0.0349667 0 0 0 -0.0200631 -0.0378282 0 0.00113517 0 0.000665172 0.0495184 0 0 0 0 0.0502485 0 0.0215357 0 0.258159 0 -0.278187 -0.363205 0 -0.00557243 0 0 -0.0549144 -0.000422981 -0.0585377 0 -0.00759252 0 -0.00189981 -0.108691 -0.0223946 -0.00384061 -0.0237772 0 1.34598e-05 0 0 0 -0.000380698 0 0 0.00157385 0.000984797 0.172624 0.0332747 0 0 -0.0088926 0 0.00648778 0 0 -0.00296572 0.0113148 -0.452279 -0.00615651 0 0 -0.0104701 -0.0578414 0.003221 0.0397048 -0.540641 0 0.266306 -0.0121093 -0.410643 0 0 0 0.0662416 0 0.0222826 -0.113128 0 0.00350729 -0.00604987 -0.264849 0 0.000243983 -0.00159466 0.000318102 -0.236746 0 -0.0488866 0.0920529 0.0724026 0.0349667 -0.505358 -0.069747 0.712375 0.0462967 1.4762 0.00604198 -0.0436726 0.34147 -0.00116369 0.0381141 0.151884 0.134296 -0.0688334 0.0702448 -1.45203 0.563729 -0.193156 0.0927795 0.191839 -0.233186 -0.116123 0.113839 0.753732 0.0169754 1.58674 -0.171863 -1.41161 0.425863 0.0281105 0.506803 -0.468647 0.0174329 -0.00385064 -0.0179292 -0.0364448 0.792408 0.298643 0.00920253 0.515051 -1.80601 -0.0123227 -0.0137067 -0.299035 0.1163 0.0397449 -0.0706166 -1.21771 0.323613 0.43202 3.78496 -0.546041 -0.521166 0.0455298 -0.165238 -0.279463 0.0446148 0.0460467 0.290178 -0.204079 -2.4375 -3.7474 -0.0306911 -0.304803 -0.0277425 -0.110663 1.0772 0.116234 -0.109894 0.0131369 0.317504 0.0176443 -1.09919 2.29188 -0.400844 -2.94913 0.0168729 -0.0689673 -1.3551 -0.0117232 -0.0921586 0.0778178 -0.723665 -0.00735456 -0.0179454 0.00977815 -0.034111 -0.281853 0 +271 0 0 0 0 0 -0.131625 0.122989 -0.14578 -0.960282 0 0 0.361323 0.508826 0 1.33793 0.249962 0 0 0 0.31309 -4.51231 0 0 0 0 -0.324326 0 0 -0.516489 -3.1815 0.411806 0 1.39709 0 0 -0.0716068 0.0142667 0 0 0.412703 -1.64102 0 0 -0.204008 1.8087 0 -0.1027 -1.23465 2.43015 0.159522 -0.23587 0.648272 0 -0.766282 0.00344873 0.109955 -0.764392 -0.298652 0.877904 0 0 0.973564 -0.475223 0 1.0574 0.435796 0.910649 0 0 0 0 -0.109561 0.613866 0 -1.23269 0.124679 0 0 0 2.91628 0 0.451789 3.64255 0 0.361243 1.57264 0.683956 0 -0.289955 2.46212 -3.90437 12.0441 0 0 0 -0.185192 0.0269538 0 0 0 -0.00159019 0.0423561 0 0.0110586 0 0.00141689 -0.0273631 0 0 0 0 0.116664 0 0.0294808 0 0.174435 0 -0.0877008 -0.299085 0 -0.0215012 0 0 -0.266854 0.00145229 -0.0983695 0 0.0154257 0 0.00213641 -0.230872 -0.0866374 0.0321079 -0.0745785 0 4.54063e-05 0 0 0 0.000774807 0 0 -0.00415628 -0.00142548 -0.109674 0.0495174 0 0 -0.00500464 0 -0.00716898 0 0 0.0478499 -0.0196994 0.0923914 -0.0667304 0 0 0.172506 0.140921 0.0345801 0.357769 0.327478 0 0.311233 -0.000162365 -0.1245 0 0 0 -1.28294 0 -0.147725 -0.121359 0 -0.0111999 -0.0356293 -0.17494 0 -0.00136976 -0.00448757 -0.0237611 0.171548 0 -0.131625 -0.185192 0.122989 0.0269538 -0.0220171 0.027068 -0.0149798 0.123113 1.57142 -0.0441207 0.0358139 -0.484056 -0.0206364 -0.143741 0.0817991 0.245563 -0.0476704 -0.0273736 -1.75614 -0.239292 -0.188411 -0.0483052 -0.405617 -0.195492 0.168226 -0.0875298 1.57174 -0.0171911 3.31894 0.227955 -1.1703 0.834616 0.0225326 -0.0419547 -0.537031 -0.107907 0.00233074 0.00361748 0.0253914 -0.843057 0.333413 -0.00892057 2.13395 -1.89736 -0.00210202 0.0339853 -0.221962 -0.0683979 -0.180559 -0.561584 0.358172 0.122284 0.0144029 1.18613 -0.0750181 -0.389213 -0.00273751 -0.0470615 0.210214 0.105535 -0.519279 0.714906 -0.0443395 -2.10272 -3.48438 -0.229311 0.0636629 -0.041777 -0.0684298 0.334231 0.222458 -0.0569513 0.0223805 0.13794 0.0135811 -0.586649 1.90009 0.290451 1.04394 0.0834863 -0.456923 2.2972 0.0229425 -0.301953 0.884885 -0.93983 0.00286598 -0.222355 0.512858 -0.722021 1.23662 0 +272 0 -0.450872 -0.498727 -0.0350717 0.0208915 0.0794917 0.032327 -0.816334 -1.44062 0.141611 -0.000700637 -0.0042566 0.430614 0.0344584 -1.13232 0.0643889 -3.00207 -13.4467 -0.0780536 0.228958 -0.9194 0.00107743 0.214166 -0.0369622 0.104702 -0.0753713 -0.799315 -0.258788 -0.22 -0.486296 -0.0344129 -0.0458285 0.302145 0.706535 -1.13816 -0.123922 -0.00975188 -0.468326 1.85913 -0.0732488 -0.114087 0.0909841 -2.36537 -0.046761 -1.36759 0.241377 0.129582 -0.296918 0.77516 0.0919658 -1.23872 -0.574816 -3.75014 -0.30936 0.239162 -0.328129 -2.73219 -0.960272 -0.0859386 -0.169994 -0.110241 -0.71835 0.335666 -1.42274 0.351576 0.962285 0.713395 -0.930134 -0.390494 -0.0984949 -0.62933 -0.589204 0.0126098 0.901052 -0.174157 0.299344 0.693752 -9.02855 -1.19757 0.899312 -1.96463 0.986891 -0.927767 -0.449277 0.403049 -0.128658 2.55163 -0.339053 0.318993 -0.0948183 -0.406604 1.75824 0 0 0 0 0 -0.0350717 0.0208915 -0.000878495 0 0 0 0 -6.64704e-05 0 -0.0108936 0 0 -0.000178384 -9.2405e-05 -0.0134706 0 0.000474292 -0.201874 -0.113133 0 0 -0.840999 -4.5666e-06 0 0.0530874 -3.41334 0 0 -0.122872 -0.875077 0 0.209333 0 -0.283347 0 0 -0.0417815 0 0 0.513298 -0.00132434 -0.00357445 0 -0.0174871 0.00232452 0 0 0.137018 0 -8.91153e-05 0.149347 0.000809441 0 0 -3.12465e-05 0.002425 0 0.000301738 -0.0594334 -0.0012207 -1.28772 -0.000819871 -0.0884248 0 -0.000269458 0.124709 -0.303366 -0.0117967 -0.259012 0 0 0 -0.820253 0.0153043 0.0548296 0.000839466 -0.000950738 -0.204241 6.23055e-05 -7.67585e-05 0.00155599 0.0468287 0 0 0 0 0 0 0.0794917 0 0.032327 0 0 0 0 -0.0897356 -0.603585 0 0 -0.0871003 0 -0.000224081 0 -0.00884595 0 0 -0.81528 0 0.444417 -0.00979342 -0.0425077 -0.138307 0 0 -0.13502 0 -7.7148 0 2.10069 -0.30075 0 -0.253568 0.947668 -0.0061133 0 -0.00313774 0 0 -0.0600988 0 -2.1931 -1.13781 0 0 -0.214377 0 0 -0.155472 -0.600839 0.0167494 0 0.639971 0 0.213097 -0.0643482 0.0800194 0.0191407 0.173364 0.379965 -0.0885848 -0.12455 0.468614 2.83551 -0.00740772 0 0 0 0.0186337 -0.0392353 0 0 0 0 0.18918 -2.29123 0.91811 -0.146216 -0.000688688 0.0021986 -0.223879 -0.0446985 0.0315626 -0.0199058 0.17206 0 0 0 0 0 0 +273 0 -0.773129 -0.191908 0.0629742 0.0655229 -0.186902 -0.154832 -0.659181 -0.282517 0.55195 -0.79657 -0.0942841 -1.24232 -0.0471834 -2.11204 -0.0653488 0.184406 0.0953816 -0.113322 -0.113846 0.628644 -0.0703719 0.0756606 0.0713764 -0.35031 -0.128841 0.0227527 0.235073 0.160807 0.187156 -0.503789 0.208308 -0.451072 0.333889 0.764348 -0.145622 -0.00453703 0.707574 1.81514 -0.200368 -0.0342942 -0.0777736 2.66632 -0.00138525 -4.83059 -0.0609338 -0.24163 0.151066 -0.650372 0.0546747 -0.569367 -0.721378 -1.03284 0.282385 -0.0139724 -0.106037 1.36004 0.718995 0.427411 0.374516 0.120639 -1.15521 -0.52079 0.160574 -1.34251 -0.551009 0.65806 0.423696 0.876928 -0.386063 0.564454 -0.69093 -0.744624 -0.987941 1.3855 0.311414 -1.08551 -3.29254 0.0176721 1.2017 -0.377703 0.140121 -0.592686 0.866308 -0.683508 1.15489 0.438832 0.0855914 0.0731838 -0.0212897 0.56967 -0.676675 0 0 0 0 0 0.0629742 0.0655229 -0.000421635 0 0 0 0 -2.81218e-05 0 0.00866329 0 0 2.05587e-05 -5.29614e-06 -0.0125788 0 -0.00211345 -0.112482 0.0521272 0 0 -0.156834 -2.16564e-06 0 0.0889838 -0.969016 0 0 -0.0227105 -0.289613 0 0.238862 0 -0.0295843 0 0 -0.00191887 0 0 0.987831 -0.000560203 0.00147446 0 -0.0083962 -0.00893283 0 0 0.151568 0 -2.06694e-05 0.179318 -0.00136383 0 0 6.56749e-05 0.00120682 0 -0.000119162 -0.235952 0.00363992 -3.82125 -0.00180892 -0.0447377 0 -9.58402e-05 -0.0889404 -1.08606 0.00734851 -0.394921 0 0 0 -2.0352 -0.0126347 -0.175871 -0.00117868 0.00385594 -0.422683 -6.19212e-05 0.000241006 -0.00283101 -0.0324926 0 0 0 0 0 0 -0.186902 0 -0.154832 0 0 0 0 0.224715 -0.44371 0 0 -0.186872 0 -0.00788011 0 -0.0855077 0 0 0.368492 0 0.197298 0.0212203 -0.101566 0.0509137 0 0 -0.62907 0 -7.27105 0 3.02834 -0.884927 0 0.493712 0.891501 -0.0013822 0 0.0145877 0 0 -0.0696224 0 -2.65311 -0.109528 0 0 0.0170213 0 0 -0.344092 -1.18966 0.0821768 0 -2.67492 0 0.153731 0.0371925 -0.0595776 -0.283266 -0.10651 -0.188632 -0.381301 0.171267 1.791 1.21185 0.00267109 0 0 0 -0.26646 -0.0998808 0 0 0 0 0.464053 -15.3428 -0.955404 -0.850151 -0.497485 0.511898 -1.02029 -0.02958 0.0166344 0.0285374 -0.176954 0 0 0 0 0 0 +274 0 0.13287 0.0752641 0.209246 0.0213784 -0.0676118 -0.3745 1.02021 2.8058 0.193437 -3.3358 0.00798858 0.187492 -0.188079 -1.62883 0.0217333 0.937141 5.70263 -1.10458 0.160925 -0.695938 -0.466234 -0.0497542 0.226364 -1.38644 1.22627 -0.0881503 0.332396 0.580291 0.385872 -0.142356 0.434825 -0.488701 -0.994405 0.690574 0.645438 0.0778296 1.46997 -4.30466 0.659853 -0.309908 -0.431739 4.01546 0.385817 -2.71536 -0.944577 -0.626082 0.680631 0.321388 -0.57701 0.641059 -1.8826 -4.02889 -0.138884 0.161466 -0.0709475 -0.381658 0.237406 -0.0346038 1.63839 0.550578 -0.990362 0.3862 3.631 -3.17966 -1.33602 0.24169 3.84737 1.9614 -0.135164 2.32482 -0.078946 0.142164 -1.6099 -0.253209 -0.210352 -2.37918 18.5301 9.66392 -5.77172 6.18173 -4.50594 4.42981 3.50558 -2.98775 3.97236 -4.07005 1.32681 -1.51043 1.43658 -0.765165 -1.39515 0 0 0 0 0 0.209246 0.0213784 0.00295498 0 0 0 0 0.000226389 0 -0.0283886 0 0 0.000126354 -6.14927e-05 -0.177705 0 -0.0286612 -0.273791 -0.1801 0 0 -0.155846 -4.46104e-06 0 0.154952 -0.673312 0 0 0.0011632 -0.4001 0 -0.0264788 0 0.0231043 0 0 0.0168909 0 0 -0.354143 0.0045148 0.00314235 0 0.0589123 -0.0295246 0 0 0.109139 0 0.000262357 0.19198 -0.00185775 0 0 -0.000421152 -0.00821904 0 0.000433522 0.00197224 0.00797847 0.740836 0.00314224 0.00104543 0 0.0181248 0.118705 0.164974 0.0305561 0.0342167 0 0 0 0.254175 -0.0347363 0.0631153 -0.0020153 0.0051096 0.054232 -0.000155966 0.0003145 -0.00438846 0.0774533 0 0 0 0 0 0 -0.0676118 0 -0.3745 0 0 0 0 -0.0906701 1.07032 0 0 -0.0416528 0 -0.00785326 0 -0.0590754 0 0 0.0948993 0 0.463719 0.012506 0.0451396 -0.00780935 0 0 -0.423322 0 -0.384181 0 0.222938 -0.482245 0 -0.0818463 0.426946 0.0254205 0 -0.000384094 0 0 0.117228 0 -1.20608 -1.41718 0 0 -0.194998 0 0 -0.0339026 -0.649803 0.0395131 0 1.29569 0 -0.146431 0.15335 -0.0903736 0.247355 -0.0156018 -0.526599 0.192228 -0.00633619 -0.750152 1.64844 -0.0200125 0 0 0 0.158459 0.00845596 0 0 0 0 -0.284787 1.90325 0.529663 -0.0144527 -0.569852 0.729414 -0.740467 -0.0592103 0.0640211 -0.0169073 -0.0273087 0 0 0 0 0 0 +275 0 0.376225 0.31034 0.0472976 0.293328 -0.121784 0.215083 -0.513709 -0.925273 0.975392 -0.162114 0.0687356 -0.508905 0.000265309 -0.87305 -0.0467753 2.159 8.04949 0.276838 -0.119415 1.68566 0.103819 0.0193687 0.0163886 0.0522217 -0.548269 0.558809 0.220239 -0.629057 -1.32886 0.0148569 0.128189 -0.40612 0.194639 1.04691 -0.301151 0.0065968 0.903856 -0.325977 0.145499 1.01378 0.00369878 3.99325 0.0192549 -2.69805 0.0631853 0.683027 -0.907878 -0.921052 -0.172222 0.870089 -0.204343 -2.96028 0.345611 -0.114677 0.216375 1.80588 0.313864 0.571763 -0.0518619 0.0199933 0.645008 -2.04648 0.0791734 -1.19582 -1.19393 0.778475 0.76482 0.916992 -0.501532 -0.0342079 -0.0518402 -0.0812157 -1.26055 0.977742 0.811563 -3.1671 1.25601 1.20529 0.201238 0.558751 -0.39309 2.35841 0.37298 -0.00635383 0.361948 2.04119 -0.0197637 -0.0306865 0.163915 0.0656848 1.84704 0 0 0 0 0 0.0472976 0.293328 -0.00181284 0 0 0 0 -0.000542323 0 -0.0207247 0 0 -0.00118774 -0.000624534 -0.0173645 0 -0.00258937 -0.0175886 -0.121927 0 0 -0.0831579 -2.19572e-05 0 0.0239598 -1.07792 0 0 -0.0138408 -0.173418 0 0.0576783 0 0.00788179 0 0 0.000371386 0 0 -0.212526 -0.0107955 -0.0245346 0 -0.0358413 0.0488697 0 0 -0.0657004 0 0.000906928 0.00766397 0.00608834 0 0 0.00168806 0.0054284 0 -0.00471317 -0.0241783 -0.0103114 -0.22135 0.0151407 -0.0397852 0 -0.00517383 0.0136474 -0.00328507 -0.0455498 -0.181733 0 0 0 3.04873 0.232352 0.409453 0.0155428 -0.00621605 0.160776 0.000856465 -0.000661227 0.01512 0.0472639 0 0 0 0 0 0 -0.121784 0 0.215083 0 0 0 0 0.0786152 0.872557 0 0 -0.431312 0 -0.0185792 0 0.0117463 0 0 -0.28537 0 -0.430542 0.00351459 -0.0552114 -0.044838 0 0 0.0774077 0 0.813234 0 -1.01851 0.303739 0 0.0481834 -0.396936 0.0109215 0 0.00257444 0 0 0.105488 0 0.0529375 -0.670723 0 0 -0.0852632 0 0 -0.336521 -0.674099 -0.127883 0 2.43098 0 -0.646476 0.0101391 0.0671103 -0.57598 0.0865361 0.624951 0.567295 -0.139713 -0.485902 4.42361 -0.0275542 0 0 0 0.517084 0.0455481 0 0 0 0 -0.252221 9.93399 2.98422 -0.939609 0.895623 -0.784678 0.949439 0.160611 -0.151956 0.209467 0.0549163 0 0 0 0 0 0 +276 0 -0.694354 0.0531061 0.0151804 0.0351826 -0.238304 -0.0335704 -0.117678 0.414647 0.257007 -0.379641 0.111065 0.116903 -6.81001e-06 0.0475759 -0.0202658 -0.505545 -0.375149 -0.109159 -0.0621598 3.52763 -0.0328468 -0.127723 0.00706546 -0.168374 0.15669 -0.193396 -0.0630441 0.352405 0.547254 -0.163842 0.0470356 -0.105882 -0.0677411 -0.169681 0.0114018 0.0115049 -0.158747 1.21464 0.119372 1.15227 6.46073e-05 0.0660836 0.0109379 1.11028 0.00944971 0.198732 0.422053 -0.332435 0.0494405 -0.381787 0.0458233 3.48959 0.1248 -0.00850898 -0.0966722 2.63811 0.853484 0.960579 0.182797 -0.0107368 -1.16774 -4.18588 1.13481 -0.269106 0.477229 -0.102301 0.134236 -0.304205 -0.139165 0.989311 -0.366015 0.119486 0.195462 0.251983 -0.194025 1.31046 -2.24658 0.553615 -0.971246 -0.257475 0.464845 -2.44525 0.40031 -0.304169 0.191169 -0.985934 -0.00295577 -0.0198552 -0.0921549 -0.151653 -0.760651 0 0 0 0 0 0.0151804 0.0351826 -0.00194618 0 0 0 0 -0.000338418 0 0.000373713 0 0 -0.000133833 0.000786466 -0.0059761 0 -0.000829579 -0.0117019 0.00310291 0 0 -0.0670386 1.88629e-05 0 0.0278784 -0.167352 0 0 -0.0132222 -0.0364966 0 0.100998 0 0.00325802 0 0 9.42179e-05 0 0 0.599973 -0.0067095 0.00212439 0 -0.0385837 -0.0162575 0 0 0.156259 0 0.000631149 0.520714 -0.00936184 0 0 0.000908673 0.00633657 0 -0.00402342 -0.0946348 0.0182787 -0.639026 -0.000650936 -0.0247617 0 -0.00118835 0.00610774 -0.306904 0.0430768 -0.0519355 0 0 0 -1.09299 0.0372275 -0.0323774 -3.63261e-05 0.0384095 -0.487342 3.57953e-05 0.00167129 -0.0152753 -0.0706706 0 0 0 0 0 0 -0.238304 0 -0.0335704 0 0 0 0 0.208864 0.0938012 0 0 -0.261152 0 -0.0355742 0 -0.00811292 0 0 1.03208 0 0.133358 0.0104459 -0.174093 0.160966 0 0 -0.00642695 0 2.81637 0 2.52274 0.183208 0 0.434701 0.686303 -0.028363 0 0.0122515 0 0 0.000658287 0 1.05723 1.91064 0 0 0.301631 0 0 -0.345047 0.962188 0.104476 0 0.0406356 0 0.35868 -0.0547002 -0.0173773 0.255878 -0.0580929 0.21079 -0.397764 0.204821 2.39789 11.1208 0.0238875 0 0 0 0.294131 -0.137917 0 0 0 0 0.255945 -10.097 -0.424984 -0.457905 -0.288144 0.203743 -0.507595 -0.0532749 0.0521335 -0.0389912 0.0278212 0 0 0 0 0 0 +277 0 0.50709 0.443876 0.00355429 -0.0984714 0.0850492 0.228492 -0.704201 -1.66622 0.190619 0.037357 -0.275342 -0.337233 0.000979464 0.349614 -0.0642615 0.763894 3.37902 0.00857322 -0.180425 5.96401 -0.0103373 -0.490982 0.00397376 -0.216562 -0.560927 0.47956 0.0803141 -0.0578882 0.859446 -0.0285573 0.0285021 -0.589317 -1.37699 0.399121 -0.354315 -0.0462501 0.140269 -4.74947 -0.503985 2.40135 0.021113 0.753951 -0.0866365 1.29624 0.208725 1.04048 0.227405 -1.50307 0.287203 -0.619708 0.218158 1.86586 0.519788 0.141589 -0.21173 -0.221597 1.07788 -0.49276 0.231485 -0.0676369 -0.85213 -2.46168 1.78464 0.574293 0.537839 -0.562466 0.504122 0.0464859 -0.0888088 0.832474 0.0931816 -0.543528 0.0125369 -2.22991 0.507965 0.928955 18.1714 3.20614 4.4827 2.30672 -1.05974 4.00442 -0.0144721 0.254426 -0.70688 2.00026 -0.065287 0.0526207 -0.279471 0.242375 -1.19458 0 0 0 0 0 0.00355429 -0.0984714 0.00208723 0 0 0 0 0.000716666 0 -0.0188318 0 0 0.000637992 -0.000920518 -0.0263184 0 -0.00562234 -0.0655843 -0.0755342 0 0 0.257193 -6.62257e-05 0 0.0192986 0.174642 0 0 0.0478781 -0.11633 0 0.0511997 0 0.0326397 0 0 0.00842031 0 0 0.110571 0.0143386 0.0153736 0 0.0417062 -0.091826 0 0 0.285618 0 -0.00172868 0.171456 -0.00872805 0 0 -0.00297987 -0.00740181 0 0.00868728 -0.110947 0.0221873 1.05149 -0.0267472 0.028229 0 0.0367417 0.0663993 0.0779338 0.0431822 0.102969 0 0 0 -3.93596 -0.27512 -0.457044 -0.0212421 0.0275519 -0.363348 -0.000961436 0.00129133 -0.0206884 0.0191076 0 0 0 0 0 0 0.0850492 0 0.228492 0 0 0 0 0.0043743 -0.793422 0 0 0.135784 0 -0.0322126 0 -0.105113 0 0 1.20342 0 -0.736597 -0.0633564 0.00674602 0.170022 0 0 -0.762731 0 0.842983 0 -2.89175 -0.179547 0 -0.481862 -1.24239 -0.0246002 0 -0.00791086 0 0 -0.12209 0 -0.322413 1.9396 0 0 0.291552 0 0 0.309912 0.570224 -0.150419 0 -2.66923 0 -0.00746072 -2.77294e-05 0.0387524 0.431208 -0.114804 -0.18677 -0.325574 0.0915654 1.1349 -2.6137 -0.0237277 0 0 0 -0.462614 -0.0147382 0 0 0 0 0.339425 13.1168 -0.324325 2.97211 -0.169773 0.19969 0.451944 -0.179969 0.187452 -0.172442 0.371447 0 0 0 0 0 0 +278 0 0 0 0 0 -0.128651 -0.0508837 1.52214 2.49219 0 0 -0.0750587 -0.267127 0 0.423899 0.0141333 0 0 0 0.0534348 -1.69915 0 0 0 0 0.204579 0 0 -0.0502596 2.75411 0.174718 0 0.0518011 0 0 0.199649 -0.0548986 0 0 -0.790708 -0.00136682 0 0 -0.342541 -1.79908 0 -0.0106414 0.451622 0.0920462 0.42556 1.21861 0.553703 0 0.270787 0.25087 0.38914 0.900002 0.434724 0.854042 0 0 2.44217 -1.33045 0 1.63085 -0.101707 -0.469547 0 0 0 0 1.29029 -0.374032 0 0.0350081 -0.156146 0 0 0 -7.40946 0 1.25981 -5.45221 0 1.13878 -2.07618 -2.77778 0 1.7909 -3.43861 3.6533 -8.08068 0 0 0 0.0755604 0.0124851 0 0 0 -0.063502 -0.0362329 0 -0.00860503 0 -0.00373898 0.0426443 0 0 0 0 0.199943 0 0.0318482 0 0.365087 0 -0.382847 -1.05747 0 -0.00501609 0 0 0.0849661 -0.00231867 -0.246909 0 -0.0124614 0 -0.00199788 -0.183306 0.00389102 -0.0224015 -0.055665 0 -0.000424917 0 0 0 -0.00091024 0 0 0.000826511 -0.00456022 0.150186 -0.0772094 0 0 -0.0712182 0 0.00100923 0 0 -0.0299598 0.0130716 -0.217136 -0.0346373 0 0 0.0624867 0.0738695 0.0816097 0.0331347 0.350398 0 -0.14868 0.0143027 0.504004 0 0 0 -1.61538 0 -0.156532 -0.0452126 0 -0.0257103 0.0225799 -0.0695032 0 0.00385007 -0.0110311 0.0155425 0.0410975 0 -0.128651 0.0755604 -0.0508837 0.0124851 -0.2756 -0.0776447 0.328638 0.187667 2.27408 0.0023342 -0.0111359 -0.0792604 -8.32093e-05 -0.00306044 0.0531159 0.146795 0.0913547 0.032211 0.318858 -1.18461 -0.65587 0.0547404 -0.0969091 -0.0263502 0.265849 0.0868983 0.631208 -0.0189553 7.67539 -0.178911 -3.70293 0.904327 0.010741 0.671767 -1.79656 -0.0175723 -0.00247101 -0.000537433 -0.0421708 0.79174 0.510735 0.00918904 3.3156 -0.819896 0.00433819 0.00518253 -0.209574 -0.137393 0.0892533 0.4141 2.50677 -0.0267084 0.0168442 2.18029 -0.180411 0.125782 -0.0437597 0.0578905 -1.59396 0.125356 1.59841 0.846078 0.00566281 -1.01679 -2.4905 0.147369 -0.021304 -0.0421666 -0.125548 0.41474 -0.366782 -0.147366 -0.0419397 0.125393 0.135694 -0.672952 51.2031 7.86803 -6.04869 3.00205 -0.549279 -2.19455 0.00534959 0.268695 -0.92222 0.218389 -0.0561028 0.201919 -0.598937 0.455867 -0.800107 0 +279 0 0 0 0 0 -0.309336 -0.207987 1.9595 4.84293 0 0 0.0112769 -0.351966 0 -0.523474 -0.0835364 0 0 0 -0.413865 1.04426 0 0 0 0 0.812938 0 0 -0.122979 -2.27583 0.16481 0 -0.148296 0 0 0.304861 -0.0302484 0 0 -0.45241 0.137105 0 0 -0.225121 -4.06722 0 -0.0159391 -0.428631 -0.459025 0.371256 3.48351 -0.374249 0 0.388936 -0.2676 -1.01122 2.84901 0.407061 0.852481 0 0 -0.4768 -0.488811 0 -2.02737 -1.8255 -1.77523 0 0 0 0 0.74235 -1.32252 0 3.3623 0.718151 0 0 0 -14.838 0 -0.618854 3.8497 0 -0.296567 1.5393 -5.77703 0 0.9579 1.11754 -1.34333 10.692 0 0 0 0.0737526 0.00549344 0 0 0 0.0896974 0.0172509 0 0.012834 0 -0.00806875 0.105451 0 0 0 0 0.300777 0 0.0412416 0 0.713268 0 0.57373 -0.643656 0 0.0100164 0 0 0.120202 -0.00445783 -0.0633079 0 0.00845627 0 0.000269098 -0.143134 0.0313977 -0.0559798 -0.0180967 0 -0.000557227 0 0 0 0.000479456 0 0 0.00733551 0.00489901 -0.541659 -0.0213919 0 0 0.0393276 0 0.0013773 0 0 0.0791412 -0.0490528 -0.123125 0.0180543 0 0 0.244858 0.0445969 0.0428564 -0.0655273 0.17184 0 0.362289 -0.0230357 -0.113839 0 0 0 -1.51562 0 0.00859391 -0.401442 0 -0.0105109 -0.014492 -0.211565 0 0.00503378 -0.0183991 0.0172298 0.0905524 0 -0.309336 0.0737526 -0.207987 0.00549344 0.452863 0.0407444 -0.133418 0.302837 -0.890586 -0.00922931 -0.0526592 0.341118 -0.000982248 0.0595007 -0.0279356 -0.0168878 -0.0941587 -0.0599706 -0.663826 0.52661 -0.360714 0.188575 0.000476311 -0.154184 -0.354789 -0.0718009 -0.109928 -0.00642296 -2.41313 0.355184 -0.911819 -0.429892 -0.0044438 0.96594 -0.88192 -0.0011518 0.00465469 0.0486991 0.0377025 -0.847796 -0.218233 -0.00408424 -1.51584 -0.728829 -0.0124079 0.0350899 -0.222296 0.0185583 0.0575566 0.180974 6.1755 0.685725 0.0555712 2.1079 0.0621515 -1.67012 0.121997 -0.528507 0.31528 -0.0222107 -0.084418 2.1633 0.303779 2.64733 10.2056 -0.361605 -0.0401225 -0.177619 0.0131675 0.583434 0.0720645 0.145473 -0.0246808 -0.204975 -0.00699423 0.209683 12.6084 -0.555936 -7.1376 1.2087 -2.48378 3.1681 -0.178516 -0.492304 0.583136 -0.692305 0.104452 -0.310229 0.378043 -0.283775 0.580475 0 +280 0 0 0 0 0 0.508505 0.589213 -1.39838 -4.06678 0 0 -0.190608 2.65716 0 4.53287 0.419584 0 0 0 0.716747 0.587641 0 0 0 0 -0.727964 0 0 -1.00205 3.26615 1.20328 0 2.24576 0 0 -0.339986 0.0861775 0 0 -3.08504 0.716745 0 0 -0.626539 11.3476 0 0.82552 -0.432414 4.46754 -0.0451985 0.516772 -0.367217 0 -0.235759 0.041712 0.262929 -1.18915 -0.175042 -3.32437 0 0 -0.319495 5.81509 0 -0.127698 -0.338884 1.58839 0 0 0 0 -0.713781 1.14678 0 -5.1212 -0.868476 0 0 0 10.176 0 5.07751 -3.53902 0 2.24824 -2.24784 5.65801 0 3.71635 -4.24341 7.79236 -11.3348 0 0 0 0.468728 0.129019 0 0 0 0.14824 0.0131959 0 0.0307939 0 -0.0154876 -0.0696257 0 0 0 0 0.0722674 0 0.0133999 0 -0.241037 0 0.599853 0.931013 0 -0.00504076 0 0 0.126231 -0.00428678 0.178488 0 -0.00877302 0 0.00046463 0.139308 0.00411795 -0.0704226 0.0320119 0 -0.000933025 0 0 0 -0.00060418 0 0 0.00257573 -0.000935799 -0.305207 0.0422093 0 0 0.0278864 0 0.00204759 0 0 0.0127546 -0.00727285 -0.236392 -0.00187037 0 0 -0.00144351 -0.0796321 0.0557854 0.0118693 -0.248374 0 0.287219 0.00241977 0.132457 0 0 0 0.783528 0 0.170029 -0.170637 0 0.0117864 -0.00198658 0.00554855 0 0.00273765 -0.00801753 0.0222752 -0.0787575 0 0.508505 0.468728 0.589213 0.129019 -0.774449 -0.0781549 1.43324 -0.652686 3.53437 0.0181423 -0.169646 1.32172 -0.00332647 0.0647018 0.216173 0.257621 -0.130167 0.461265 -1.28409 0.716119 0.318177 -0.445535 0.349892 -0.16976 -0.891323 0.228804 1.59876 0.0224604 3.86808 -1.31599 3.11419 1.45366 0.0336368 -2.40933 1.19001 0.00400797 -0.0325301 -0.121589 -0.25242 1.69897 0.526692 0.025815 2.73088 -3.17437 -0.0225587 -0.156363 -0.374349 0.146273 0.270699 0.259905 -7.6369 -2.33203 0.0332886 1.81716 -0.605487 2.75368 -1.80365 1.80251 -1.61674 0.19634 1.18687 -4.05792 -0.188992 -3.93002 -6.54585 0.631052 -0.387589 0.298378 -0.373929 0.323595 -0.523762 0.0293373 -0.237757 0.108674 0.0913937 -1.51542 -43.0621 -15.2944 18.68 -5.90116 7.78125 -8.20755 -2.06288 2.42516 -2.5493 2.33232 -0.803398 1.23204 -1.45564 1.41776 -1.58302 0 +281 0 -0.19063 -0.136701 0.155879 0.0194966 0.00524396 -0.315686 0.474946 1.47203 -0.692807 -2.78838 0.0804515 0.418779 -0.143675 -0.204337 0.166955 -1.61125 -4.83508 -0.940911 0.444539 -4.10892 -0.478906 -0.107397 0.101987 -1.39436 0.963391 -0.583699 0.0153615 0.415872 0.704614 -0.0310697 0.099926 0.815414 -0.438628 -0.178756 0.488313 0.102722 0.604755 -0.254499 0.41395 -1.99625 -0.339451 1.56504 0.255079 -0.291984 -0.755707 -0.972039 0.567483 2.12657 -0.68927 0.378177 -3.17083 5.26517 -0.459358 0.0493151 0.374585 1.91833 -0.109843 -1.93345 1.89738 0.489049 0.359446 5.12873 2.76372 -2.19991 -1.46221 0.907096 2.40066 1.72195 0.862543 2.31215 -0.098699 0.290464 0.220355 -1.24883 -0.886394 -0.871404 -2.48309 7.88459 -5.08788 4.96463 -1.66982 -3.10911 4.33637 -2.71733 2.57954 -1.30971 1.07915 -0.92245 0.474156 0.0492029 -1.82235 0 0 0 0 0 0.155879 0.0194966 0.0138866 0 0 0 0 0.00103274 0 0.011217 0 0 -0.00457939 -0.0347986 0.0348101 0 -0.00295717 -0.148828 0.0752014 0 0 -0.336488 -0.00252669 0 0.0612721 -2.27248 0 0 -0.0501805 -0.586366 0 0.0787482 0 0.0143892 0 0 0.00403903 0 0 0.691918 0.0164728 -0.0561249 0 0.204043 -0.0671418 0 0 0.134102 0 0.00222562 -0.248639 0.0040672 0 0 0.0080412 -0.0405366 0 -0.0182291 0.153375 -0.0409101 1.37326 -0.0313954 0.0507435 0 0.0338409 0.0140406 0.00306812 0.0300899 0.00233282 0 0 0 -4.66712 -0.319923 -0.133771 -0.0104731 -0.0267379 -0.0751624 0.00728373 -0.0123352 0.00992984 -0.012326 0 0 0 0 0 0 0.00524396 0 -0.315686 0 0 0 0 -0.297731 1.66325 0 0 0.37172 0 0.0466843 0 0.0667685 0 0 -0.763089 0 1.07501 0.0260845 0.471483 -0.08783 0 0 0.626667 0 -0.734828 0 4.421 -0.425739 0 -0.0207334 2.29433 0.0639485 0 -0.0156303 0 0 0.203419 0 -0.887486 -1.5679 0 0 -0.189067 0 0 0.249651 -2.3618 -0.154147 0 1.6259 0 1.26376 -0.521672 0.349163 0.8592 0.172117 -1.08288 -1.3824 -0.227141 -1.65481 4.79097 -0.248989 0 0 0 0.0187339 0.212362 0 0 0 0 -0.456119 -56.3707 -10.955 4.94224 -3.45264 1.43793 -1.27017 -0.393164 0.198209 -0.103705 -0.0615705 0 0 0 0 0 0 +282 0 -0.827283 -0.45532 -0.0245021 0.196454 0.0451741 0.112771 -0.805384 -1.38234 -0.334829 -0.0517191 0.361752 -0.954464 0.0544878 -0.681025 -0.117069 -0.782513 -8.07669 0.497623 -0.304801 -0.762427 0.196325 0.408282 -0.0846409 0.1201 -0.790465 0.166974 -0.0173364 -0.246946 -0.852613 -0.292351 -0.212043 -0.0214061 2.06964 0.656263 -0.432136 -0.00454345 -0.590143 8.22867 0.628793 -0.0207121 0.104131 0.227557 0.000740838 -1.71031 0.201177 0.222375 -0.458191 -0.428938 0.314666 -0.998363 -0.135333 0.143078 -0.194293 0.563376 -0.285785 2.24934 0.263911 0.44411 -0.124821 -0.184205 -1.75316 -0.665964 -4.34514 1.7787 0.425153 0.817629 -2.20536 0.108775 0.660551 -0.31893 -1.34519 0.215323 1.27226 1.33864 0.359308 0.646818 -41.4728 -7.10582 6.34899 -7.48669 3.63244 -5.48813 0.765663 -0.657531 0.534148 1.83963 -0.28728 -0.282073 0.348611 -1.52041 2.20513 0 0 0 0 0 -0.0245021 0.196454 0.0043474 0 0 0 0 0.0030217 0 0.0400662 0 0 -0.0104485 -0.0303706 0.0333868 0 0.0124104 -0.00826879 0.182989 0 0 0.365774 -0.0021053 0 0.106816 -1.14998 0 0 0.0505113 -0.158597 0 0.50853 0 0.0449494 0 0 0.00504868 0 0 1.44332 0.0438222 -0.146644 0 0.070737 0.0383458 0 0 0.519944 0 0.0203397 -0.123445 -0.0302936 0 0 0.0138132 -0.000537333 0 -0.0447189 0.0857126 -0.0195037 0.727069 0.0182667 0.0571878 0 0.0470933 0.0309441 -0.253524 0.169234 -0.0951815 0 0 0 -4.41001 0.0810466 -0.460513 -0.0837067 0.076491 -0.179865 0.0114082 -0.0145315 0.0222652 -0.0291199 0 0 0 0 0 0 0.0451741 0 0.112771 0 0 0 0 -0.00040159 0.330876 0 0 -0.443263 0 -0.0390377 0 0.010134 0 0 0.271702 0 -0.105146 -0.0129811 -0.254488 0.0489281 0 0 0.267262 0 -3.9423 0 2.14753 -0.0978147 0 -0.308103 0.33825 -0.0269851 0 0.00875832 0 0 -0.0174714 0 -0.797293 0.671826 0 0 0.104678 0 0 0.201319 -2.74473 -0.19923 0 0.343837 0 1.23694 0.328266 -0.0561257 0.492532 -0.0782415 -0.349014 -1.29602 -0.11603 -1.04062 0.890237 -0.120126 0 0 0 -0.0457246 0.0168294 0 0 0 0 -0.0522954 -25.0331 -0.652232 3.29418 -2.12522 1.18589 -0.89813 0.472197 -0.238972 0.163653 0.155853 0 0 0 0 0 0 +283 0 0.89497 0.547477 0.111043 0.272669 -0.106699 -0.161257 0.192011 0.703737 2.15686 -1.22341 -0.312011 -0.288052 -0.0249664 -2.43894 -0.286848 2.20912 10.058 -0.385084 -0.595135 1.88107 -0.146165 -0.281206 0.109689 -0.563981 0.484263 0.547963 0.190072 0.53764 1.58078 -0.501517 0.475431 -1.61944 -1.00832 0.458977 0.189855 -0.0622514 0.647315 -3.76284 -0.646872 0.143678 0.0698379 2.23176 -0.102011 -3.15754 0.727005 -0.311557 0.920814 -3.41193 0.265077 -1.75203 0.0613283 -1.433 -0.0320379 -0.144758 0.70405 -0.110882 0.554408 3.12704 0.460146 0.0956521 1.10747 -2.76573 2.25735 -0.784571 0.0603728 -0.547917 2.30857 1.20857 -0.70898 0.178015 0.535603 -0.714723 -0.943528 4.00131 -1.35459 -0.571832 12.5808 3.48804 -0.560597 1.89463 -0.937438 -1.1343 1.54285 -0.704048 0.262654 0.209049 -1.03816 1.06495 -2.06881 2.14783 -4.08841 0 0 0 0 0 0.111043 0.272669 -0.000419401 0 0 0 0 -0.00120253 0 -0.00168187 0 0 -0.00223128 -0.0105809 0.0230581 0 -0.003743 -0.164454 0.0836881 0 0 0.426593 -0.000694619 0 0.0463852 1.07508 0 0 0.080033 -0.132183 0 0.0247616 0 0.158899 0 0 0.0287112 0 0 -0.143344 -0.0176873 -0.0359596 0 -0.00770833 -0.00569101 0 0 0.0597023 0 -0.00244483 -0.143514 -0.0031608 0 0 -0.0014242 0.00532476 0 -0.00505624 -0.183087 0.0200355 0.35823 -0.00434195 -0.0177806 0 0.0665035 -0.00838936 -0.199632 0.165238 0.0207663 0 0 0 1.02489 0.146547 -0.0533994 -0.0066371 0.016163 0.0152841 0.000939203 -0.000340165 0.00469591 -0.0125002 0 0 0 0 0 0 -0.106699 0 -0.161257 0 0 0 0 0.025184 -1.4089 0 0 -1.1274 0 -0.145941 0 -0.118612 0 0 0.686361 0 -0.590951 0.0132332 -0.370772 0.101959 0 0 -0.89468 0 -1.47531 0 -5.15178 -0.591739 0 0.303926 -1.61891 -0.0491775 0 -0.00328179 0 0 -0.184038 0 -1.09406 1.24728 0 0 0.179087 0 0 -0.277604 2.12276 0.226128 0 -0.996013 0 -1.56899 0.994074 -0.551059 -0.274934 -0.212872 0.13613 2.06458 0.135411 1.45275 2.71966 0.0926253 0 0 0 0.0250015 -0.142022 0 0 0 0 0.450603 60.6742 14.9991 -6.04546 4.60133 -2.55561 2.22535 0.862376 -0.506225 0.506623 -0.230587 0 0 0 0 0 0 +284 0 0.0290236 -0.0348444 -0.105986 0.12333 -0.159715 0.17962 -1.06206 -1.01987 1.27031 0.76854 -0.102559 -1.24934 0.09276 -2.25688 -0.135678 0.540305 -0.649666 0.489384 -0.274551 1.11234 0.198694 -0.11402 -0.0287794 0.313803 -0.783772 0.402327 0.194375 -0.341258 -0.453103 -0.518121 0.0867172 -0.913479 0.0189818 0.672546 -0.551162 -0.0940253 0.0723785 1.12266 -0.427 0.63589 0.256672 0.094436 -0.22929 -4.11929 0.697975 0.464993 -0.444966 -2.01175 0.597041 -2.17324 0.697616 -0.601585 0.639029 -0.113085 -0.150679 -1.12348 0.520916 0.907194 -0.63173 -0.284923 2.52371 -2.63818 2.21922 1.07754 1.32798 -0.0415089 -0.776077 -0.780875 -1.02542 -1.10353 0.227286 -0.951802 -0.166237 0.975146 0.552633 0.675575 -3.44063 -1.61049 5.58541 -2.68313 2.36905 -0.128098 -0.569019 0.362794 -0.288571 1.25159 -0.908609 0.868581 -0.600162 0.164153 1.16212 0 0 0 0 0 -0.105986 0.12333 -0.0154548 0 0 0 0 -0.00318561 0 0.0157701 0 0 -0.00148895 0.0214291 0.0253868 0 0.00270493 -0.135651 0.192589 0 0 0.116541 0.00102281 0 0.114777 -1.88837 0 0 0.0196091 -0.473379 0 0.485257 0 -0.0595186 0 0 -0.00684788 0 0 1.13876 -0.0563978 -0.00530677 0 -0.272849 -0.0869222 0 0 0.284267 0 -0.0105413 -0.317539 0.0037971 0 0 -0.0053608 0.0409508 0 0.0177119 0.19655 -0.0403687 1.14447 -0.0858091 0.0660604 0 -0.0508212 0.00919529 -0.36301 0.305515 0.063195 0 0 0 -12.341 -0.908389 -1.09076 -0.0482628 -0.0649356 -0.0934856 0.00248514 -0.0108584 0.00701027 -0.0292876 0 0 0 0 0 0 -0.159715 0 0.17962 0 0 0 0 0.20097 -2.0689 0 0 -0.553033 0 -0.0709248 0 -0.10976 0 0 0.113422 0 -0.662357 0.0293423 -0.44725 0.0395015 0 0 -0.865594 0 -5.90127 0 -0.453198 -0.423115 0 0.389642 -0.908495 -0.056498 0 0.0186063 0 0 -0.261906 0 -2.06034 0.558794 0 0 0.11684 0 0 -0.333976 2.87936 -0.0165878 0 -1.61862 0 -0.709902 0.5632 -0.158029 -0.223002 -0.151173 0.59364 0.974106 0.0251586 1.20483 1.92376 0.179092 0 0 0 -0.23871 -0.141651 0 0 0 0 0.690824 8.75201 5.76906 -4.0163 0.760431 -0.505716 0.316896 0.607723 -0.308937 0.262345 -0.21243 0 0 0 0 0 0 +285 0 -1.66581 -0.720595 0.042999 -0.0280592 0.184411 -0.20633 -0.315024 -1.12095 0.150867 -0.434987 -0.29259 -0.532673 -0.0605903 -1.06336 0.147779 -3.55737 -16.7034 -0.410918 0.328272 -2.83831 -0.200488 0.205532 0.0828027 -0.246804 0.179516 -0.859793 -0.0260607 0.254396 -0.172888 -0.288101 0.163421 0.229794 1.39788 -0.694512 0.150925 0.0131979 -0.13462 8.7295 -0.118477 -1.11873 -0.115003 -1.62487 0.118589 -3.23188 -0.208026 -0.541911 0.181105 0.802769 -0.225179 -0.666644 -1.37136 7.34012 0.634676 -0.334426 0.325815 1.21786 1.01432 -1.17929 0.546443 0.104825 1.8483 1.49664 -1.04047 -0.107017 0.376822 1.57519 -0.986643 -0.157695 -0.357487 -0.94342 -1.71358 0.254617 0.204332 -2.8323 -0.496098 1.58779 -43.3339 -4.43195 5.75752 -6.28786 6.44132 -8.28325 0.310226 -0.14739 0.489004 2.0449 0.270803 -0.0989235 0.379303 0.00563027 0.443423 0 0 0 0 0 0.042999 -0.0280592 -0.00223119 0 0 0 0 -0.00129479 0 0.039215 0 0 -0.000290431 0.0019938 0.0372739 0 0.0102089 -0.100156 0.135807 0 0 0.0820558 0.000101306 0 0.131382 -1.92186 0 0 0.00644492 -0.386017 0 0.49115 0 0.10249 0 0 0.0125444 0 0 1.90648 -0.0243929 0.0096509 0 -0.0338045 0.0186494 0 0 0.654776 0 -0.00274609 0.0609727 -0.0193591 0 0 -0.000457855 0.00399434 0 0.0120474 -0.146587 -0.015376 0.306352 -0.0743669 0.0344664 0 0.0357827 0.0441105 -0.225561 0.112454 -0.0571683 0 0 0 -12.2988 -0.632477 -1.07124 -0.0830765 -0.0106345 -0.194272 0.00120225 -0.00604529 0.00397128 -0.0210304 0 0 0 0 0 0 0.184411 0 -0.20633 0 0 0 0 -0.215676 -0.518343 0 0 0.38204 0 0.0596121 0 -0.0333664 0 0 -0.362673 0 0.923321 -0.00468166 0.36395 -0.035556 0 0 -0.30282 0 -3.96591 0 5.2667 -0.247515 0 -0.456315 2.19568 0.0519577 0 -0.00513261 0 0 -0.0559544 0 -0.679954 -1.11049 0 0 -0.120132 0 0 -0.162219 -4.57392 -0.139118 0 -1.17269 0 1.048 -0.545936 0.349745 0.915352 0.141194 -1.24039 -2.59329 -0.229472 -1.28969 -6.26314 -0.319042 0 0 0 -0.360899 0.144412 0 0 0 0 0.190771 -66.2793 -11.4596 7.42773 -4.53766 2.22745 -1.86248 -0.349117 0.183826 -0.141614 0.175654 0 0 0 0 0 0 +286 0 0.460978 0.235239 0.13836 0.273221 -0.211924 -0.262349 0.654904 1.16937 1.62529 -1.46931 -0.290408 -1.08198 -0.0383111 -0.954058 -0.171421 0.71238 2.33236 -0.242629 -0.363245 2.75637 -0.0715574 -0.15566 0.0919176 -0.362779 0.239538 0.295387 0.0667096 0.528425 1.26686 -0.436983 0.362804 -1.04258 -0.791283 0.543685 0.212936 -0.0285559 0.679385 -4.07479 -0.814934 0.482189 0.0203897 3.38265 -0.0730687 -3.8187 0.622032 -0.4155 0.709744 -2.3107 0.023378 0.76013 0.299318 -4.37866 -0.759041 -0.0560298 0.0748195 0.313385 -0.953704 1.64071 0.230897 0.162305 0.454283 -2.39557 -1.39873 2.0422 -0.615624 -1.10032 -1.34865 0.910917 0.218408 -0.0516202 0.500487 -0.3744 -0.0790196 2.966 -0.192624 -1.25711 24.9352 4.35947 -4.49204 2.46485 -1.50858 1.12529 1.93149 -1.10776 1.12378 -2.21655 -0.809748 1.05682 -1.62228 2.11713 -3.24924 0 0 0 0 0 0.13836 0.273221 0.00425577 0 0 0 0 0.0006151 0 -0.0137127 0 0 -0.00305071 -0.0214409 -0.00298645 0 -0.00263905 0.292824 -0.0296545 0 0 0.0119142 -0.00118205 0 0.0234274 2.35113 0 0 0.0196165 0.774833 0 -0.0415259 0 0.05847 0 0 0.0118382 0 0 -0.371902 0.0126493 -0.0527425 0 0.0853536 0.0291179 0 0 -0.0444467 0 0.00192073 0.148169 -1.96178e-05 0 0 0.00276097 -0.00827058 0 -0.00757686 -0.00944392 0.0173975 -1.28657 0.0328599 -0.0352936 0 0.0369955 -0.0066795 -0.474065 0.137527 -0.0647281 0 0 0 4.05108 0.384223 0.396427 0.0164337 0.0219367 0.0267772 0.00182888 0.000822076 0.00559953 0.00129384 0 0 0 0 0 0 -0.211924 0 -0.262349 0 0 0 0 0.36005 -0.550669 0 0 -1.12645 0 -0.145212 0 -0.076371 0 0 0.679365 0 -0.302514 0.0947048 -0.230904 0.0932323 0 0 -0.48608 0 -4.69936 0 -3.81623 -0.572363 0 1.0088 -1.12546 -0.0320431 0 0.0300796 0 0 -0.0933639 0 -1.14449 0.472265 0 0 0.0856469 0 0 -0.0554326 5.42154 0.136121 0 -0.130356 0 -1.53864 0.983555 -0.457471 -0.8007 -0.24198 0.879373 2.78945 -0.00309938 0.81576 4.03649 0.290658 0 0 0 0.0720655 -0.0403934 0 0 0 0 0.20683 54.3597 13.664 -9.39686 3.82077 -2.02698 1.67985 0.832849 -0.501396 0.48629 -0.423249 0 0 0 0 0 0 +287 0 0 0 0 0 0.145002 -0.0340451 -0.330445 -0.865234 0 0 -0.220809 -0.304625 0 -0.544609 -0.00435757 0 0 0 0.133036 0.734876 0 0 0 0 -0.11973 0 0 0.216989 -0.0274938 -0.0420291 0 -0.19744 0 0 -0.0345498 -0.0605914 0 0 -0.0518032 0.397409 0 0 -0.0103993 -2.38446 0 0.13945 0.30575 -0.379162 -0.247455 -1.06631 -0.0146015 0 -0.00418917 0.281644 -0.131041 0.847903 0.316173 0.562883 0 0 -0.213774 -2.56483 0 -0.32662 0.418882 -0.887172 0 0 0 0 0.358429 0.465043 0 0.467546 -0.465905 0 0 0 1.35523 0 -0.561394 1.72695 0 -0.496275 0.163865 1.70864 0 -0.574956 0.920581 -1.24058 2.6407 0 0 0 -0.0653608 -0.0175982 0 0 0 -0.00256611 -0.0903771 0 -0.000241082 0 0.00148254 0.0218582 0 0 0 0 0.0365842 0 0.0242118 0 -0.175475 0 -0.0358152 -0.714482 0 -0.00419271 0 0 -0.150517 0.000210742 -0.0890195 0 -0.0139784 0 -0.00546599 -0.0810128 -0.0295792 0.0048587 -0.0115918 0 1.46025e-05 0 0 0 -0.00075756 0 0 -0.00668584 0.0007251 0.278767 0.0256387 0 0 -0.0025836 0 0.0160903 0 0 -0.0506645 0.0352481 0.0682126 0.0543282 0 0 -0.12907 -0.162715 0.0665801 -0.225125 0.644699 0 0.120505 0.0174871 0.30044 0 0 0 1.16279 0 0.0710388 0.384945 0 0.0149582 0.0143286 0.0763823 0 -0.00225532 0.00836525 -0.000116988 0.0275803 0 0.145002 -0.0653608 -0.0340451 -0.0175982 0.241167 0.0309599 -0.0358107 0.0408386 -0.406926 0.0336288 -0.0604706 0.26882 0.00342344 0.0278442 -0.00619194 -0.0539386 -0.0392889 0.290063 0.57319 0.108796 0.33586 0.101335 0.20259 0.10841 -0.393731 0.0732563 -0.596202 0.00786711 -1.3507 -0.197243 0.964814 -0.525293 -0.000721576 0.107575 0.649705 0.0312336 -0.000113912 0.0241743 0.000455248 0.52088 -0.0298731 0.00850098 -1.46907 0.226188 -0.00630603 -0.0226715 0.0864103 0.0336003 0.0863449 -0.4123 -0.849535 0.350076 0.103141 1.07693 -0.0063687 0.373366 -0.280231 -0.318388 0.0963123 -0.19806 -0.381692 -0.780781 0.284704 1.84526 11.1112 -0.176681 -0.0474741 0.0323722 0.164802 0.605767 -0.143422 0.0591451 -0.141436 0.0597208 -0.185773 0.0852329 -2.03173 -0.0797756 -0.211158 -0.382246 0.664063 -1.24491 0.0397029 0.194008 -0.4192 0.406701 -0.0461997 0.0852875 -0.392014 0.407663 -0.536032 0 +288 0 0 0 0 0 -0.370834 0.169074 -0.0715462 0.120985 0 0 0.0856658 0.419546 0 0.693388 0.0586981 0 0 0 0.269421 0.549414 0 0 0 0 -0.3277 0 0 -0.656533 -0.0588708 0.374797 0 0.194795 0 0 -0.251481 0.0422395 0 0 -0.123744 1.06525 0 0 0.0374333 0.850967 0 0.947809 -0.712122 0.698013 -0.0209663 1.01722 0.191468 0 -0.523816 0.313568 -0.458074 -3.86574 -1.35908 -0.917028 0 0 0.0221905 -1.489 0 0.73009 -0.345228 0.294801 0 0 0 0 0.150818 0.0233931 0 -1.95536 2.28721 0 0 0 0.158772 0 0.789083 -0.682197 0 0.345641 -0.0686318 0.572823 0 -0.483486 0.00912155 0.849982 -0.980018 0 0 0 0.042142 0.00752046 0 0 0 -0.0431727 -0.0217331 0 -0.00415819 0 0.00326546 -0.0213613 0 0 0 0 -0.0644267 0 -0.0124822 0 -0.115329 0 -0.371586 -0.292955 0 -0.00258853 0 0 -0.0817889 0.000756024 -0.0126827 0 -0.00112383 0 -0.00239232 0.0301262 -0.01682 0.00861104 0.00826325 0 0.000265648 0 0 0 -0.000206226 0 0 0.00622826 0.00549691 0.0356502 0.0144851 0 0 -0.00796497 0 0.0129231 0 0 0.0056342 -0.0173795 -0.165706 -0.0334648 0 0 0.0137887 0.00156408 0.0623058 0.100922 0.0844722 0 -0.0405628 -0.0131908 -0.137145 0 0 0 0.292201 0 0.0247357 0.140088 0 0.00138938 0.0137683 -0.0628519 0 0.000152244 0.000219601 -0.00508125 0.0165263 0 -0.370834 0.042142 0.169074 0.00752046 -0.373755 -0.0107912 0.110656 -0.223086 1.02949 -0.00795004 -0.0159651 0.1184 -0.000913062 0.00535372 0.0162176 0.0481418 -0.0189345 -0.0494755 -0.792375 0.292975 -0.348722 -0.0634976 0.142587 -0.0983764 -0.0820347 -0.0801814 0.724319 0.00901654 -2.19714 -0.0594712 -1.29323 0.282922 0.00232342 0.00497178 -0.722712 0.0044548 -0.00307812 -0.0666166 -0.00695498 -0.20826 0.0758975 -0.0188293 -0.0831761 -1.09644 -0.00346744 -0.0132344 -0.126323 0.0529636 0.160806 -0.0397399 -1.03846 0.745254 -0.107789 0.245486 -0.0500709 0.626477 0.160768 -0.337062 -0.343111 -0.105755 0.111536 0.114052 0.112988 -4.0507 -15.298 0.0798345 -0.517416 0.0191456 0.322507 -0.305671 0.0563919 0.0720587 0.0291388 -0.11532 -0.142798 -0.563819 2.72332 -0.397125 0.42873 0.155083 -0.049228 0.556161 -0.0198527 0.109894 0.104532 -0.246348 0.00788019 0.0420341 -0.0178262 0.023104 0.256693 0 +289 0 0 0 0 0 0.173119 -0.381163 0.378535 1.43511 0 0 -0.774766 -2.17598 0 -3.63885 -0.193114 0 0 0 -0.593668 -4.83651 0 0 0 0 0.291931 0 0 0.890887 5.92967 -0.951649 0 -1.29869 0 0 0.184537 -0.100954 0 0 -1.55389 -1.64903 0 0 -0.258575 -8.95231 0 -1.04279 2.17603 -2.58238 0.642323 -0.276232 0.668895 0 0.504038 -1.09145 0.363972 0.985769 0.589272 -0.0587216 0 0 -0.265164 2.32216 0 1.69244 0.653817 0.921276 0 0 0 0 -0.639641 -1.09315 0 1.55144 0.675381 0 0 0 -2.44616 0 1.03106 -5.95469 0 0.530183 -1.1449 -3.21489 0 1.15362 -3.17072 4.57246 -13.1168 0 0 0 0.164275 0.0235532 0 0 0 -0.0406825 -0.0196261 0 -0.00208194 0 -0.000796528 0.015835 0 0 0 0 -0.025798 0 0.000266956 0 0.0432914 0 -0.533196 -0.0909368 0 0.00221849 0 0 -0.00927826 -0.00118515 -0.00391431 0 -0.004118 0 -0.0011089 -0.0274687 0.00725787 -0.0171033 -0.00098152 0 -7.22218e-05 0 0 0 -0.000220649 0 0 0.00204258 -0.0021194 0.199386 0.00819743 0 0 -0.000625284 0 -0.00117177 0 0 -0.0344071 -0.00234879 0.00488007 0.00760947 0 0 0.0229294 -0.0220502 -0.010494 -0.0633723 -0.0601039 0 -0.0417093 -0.00765302 0.0258655 0 0 0 0.262408 0 0.037981 0.150141 0 0.00239697 0.0124657 0.00362949 0 0.00116065 -0.00260192 0.00950446 0.0070738 0 0.173119 0.164275 -0.381163 0.0235532 -0.181319 -0.17701 0.760316 -0.192153 -1.14218 0.010497 0.0113704 0.120341 0.000880929 0.010717 0.076954 -0.0805378 -0.0221624 0.124249 -1.00609 -1.66491 -0.626406 -0.0177708 0.0928776 -0.18519 -0.28424 0.183094 -1.10917 -0.0471721 -14.0084 -0.355171 -2.27882 -2.33256 0.00770162 0.16967 -1.2821 0.0093944 -0.00262613 -0.0466036 -0.0343615 1.34575 -0.0568102 0.0279661 -6.09411 -3.1206 0.00243545 -0.0303779 -0.506008 -0.287145 -0.194653 -1.25364 -1.32048 1.56503 0.185311 -5.56014 -0.372187 1.11277 0.203291 -0.592142 -0.771958 0.232359 0.145966 -0.310804 -0.163466 1.4726 -4.46944 -0.0119655 -0.508562 0.117157 0.360054 -0.412616 0.0112385 -0.00129251 0.0141204 0.100354 -0.179166 0.0563119 4.7988 -0.606814 0.696321 0.0506552 0.097606 -1.46145 0.0165935 0.0248153 -0.215629 -0.21437 -0.0197898 0.147735 -0.41775 0.490357 -1.15919 0 +290 0 0.73202 -0.306186 0.0335954 0.0829466 0.144047 -0.188438 0.939865 1.79965 0.0469795 -1.74081 0.337558 0.146227 -0.00746898 0.938388 -0.000801393 -2.23825 -6.93435 -0.326204 -0.0143895 -0.237716 -0.0609252 0.489733 0.005617 -0.437066 0.625525 -0.753403 -0.102329 0.403739 -0.11161 0.126993 0.0323422 0.195571 0.592887 -0.593923 0.402114 0.0339526 -0.354039 -0.262064 0.588048 -0.436725 -0.0582061 -1.00638 0.0682671 0.86245 -0.44502 -0.379631 0.214782 0.203705 -0.207389 0.364249 -0.505925 6.14434 -0.0886799 -0.164693 -0.00483578 -2.23606 -0.14259 -0.388616 0.588683 0.172556 -0.926781 -0.38379 -0.881973 -2.31408 -0.203471 -0.541325 1.179 -0.221754 -0.013942 0.664544 -0.208793 0.297924 0.629328 -3.1499 -0.376454 1.6036 1.57448 1.04208 -1.13325 0.879102 -1.08047 1.10033 1.65871 -1.0848 1.45143 -1.24055 0.135723 -0.159397 0.154052 -0.198561 0.068735 0 0 0 0 0 0.0335954 0.0829466 0.00233451 0 0 0 0 7.75567e-06 0 -0.0118275 0 0 -0.00257491 -0.00338863 -0.00835974 0 -0.00051534 -0.0201012 -0.0447645 0 0 -0.0735829 -0.000283335 0 0.0269341 -0.9794 0 0 -0.0135236 -0.181729 0 0.0409578 0 0.0042167 0 0 0.000233131 0 0 -0.332612 -0.0016875 -0.037557 0 0.0304016 0.0591328 0 0 -0.189266 0 -0.00224941 0.373699 0.00190154 0 0 -0.00213354 -0.0110132 0 0.00568737 -0.000550201 0.0209297 1.74344 0.0303618 -0.07087 0 0.0123261 0.00302769 0.195052 -0.00213199 -0.0895738 0 0 0 5.56295 0.407206 0.704205 0.0382733 0.0158245 0.0104758 0.000374288 0.00163079 0.00426474 0.00105701 0 0 0 0 0 0 0.144047 0 -0.188438 0 0 0 0 0.241369 1.40882 0 0 -0.187005 0 -0.0206952 0 0.0587076 0 0 -0.548073 0 1.08066 0.0443946 -0.0800646 -0.0713341 0 0 0.701615 0 4.50812 0 0.504478 0.589585 0 0.262545 1.19232 -0.00736959 0 0.0371052 0 0 0.118019 0 1.90058 -1.12328 0 0 -0.156937 0 0 0.357976 -1.50238 0.0973107 0 1.20681 0 -0.233824 0.040052 -0.101036 0.0967032 -0.032344 -0.451226 -0.429768 0.0442313 -3.61652 -13.696 -0.0624603 0 0 0 -0.026815 -0.0297159 0 0 0 0 -0.515282 3.21569 1.38409 -0.530732 0.150295 0.0642085 -0.0764121 0.121243 -0.107689 0.0907601 -0.0794203 0 0 0 0 0 0 +291 0 -0.601136 -0.183823 -0.0146429 -0.0262238 0.00455978 -0.106551 -0.553419 -0.886189 -0.0856401 0.0181564 -0.0905888 0.0930574 0.00300005 -0.26985 0.0131566 -1.86502 -6.55958 -0.186905 0.0228608 -0.402521 -0.0465844 -0.221834 -0.00390093 -0.014926 0.0963462 -0.47122 -0.0904414 0.411047 0.331972 -0.169657 -0.025175 -0.0431489 -0.681594 -0.580839 0.050067 -0.0190855 -0.405765 -0.917487 -0.12985 -0.628681 0.0179969 -1.7048 -0.0308805 0.470202 0.088531 -0.589916 0.399892 -0.0291995 0.152875 -1.257 -0.282902 1.36715 0.0861306 0.0662286 0.0220837 -2.16365 -0.143845 0.235537 0.0784113 -0.0393768 0.614317 1.13179 0.320808 -0.230454 0.829424 0.313581 -0.124874 -0.532978 0.0348803 0.131627 0.00718019 -0.267622 0.608688 0.522724 -0.478247 1.44399 2.51806 1.82376 -0.237433 1.04188 -0.78867 0.847635 0.0128503 -0.106526 0.106796 0.828569 -0.0270003 0.0336718 -0.0778835 0.091997 -0.204445 0 0 0 0 0 -0.0146429 -0.0262238 -0.000355474 0 0 0 0 0.00024894 0 -0.0136413 0 0 0.000463216 -0.00103815 -9.77484e-05 0 -0.00107338 -0.0188074 -0.0426979 0 0 -0.164488 -1.58139e-05 0 -0.0232555 -0.545748 0 0 -0.0242813 -0.0879193 0 -0.105942 0 -0.0237098 0 0 -0.00313534 0 0 -0.412498 0.00673026 0.00228256 0 0.0160495 -0.0337523 0 0 -0.0157094 0 0.000555632 -0.0908284 -0.00198034 0 0 0.00129552 0.0018634 0 -0.000460025 -0.00906187 0.00536062 0.264508 -0.0221464 -0.00933859 0 0.0072284 0.00645227 -0.181237 0.122686 -0.0239124 0 0 0 2.1474 0.112973 0.109832 0.0135765 0.00130689 0.0453533 -0.000547188 0.00155453 -0.000870078 0.00831592 0 0 0 0 0 0 0.00455978 0 -0.106551 0 0 0 0 0.164195 -1.40108 0 0 -0.0384091 0 -0.00423701 0 -0.0625764 0 0 0.827185 0 0.383092 0.0278374 -0.123163 0.107549 0 0 -0.738081 0 -2.7783 0 3.14613 -0.571373 0 0.12988 0.996895 -0.0103185 0 0.0203245 0 0 -0.120461 0 -1.36319 1.77622 0 0 0.238043 0 0 -0.181607 2.57479 -0.0743251 0 0.103722 0 0.370765 -0.0545671 0.101716 0.697821 0.20911 0.0686559 0.0521941 -0.0134502 2.80097 11.6196 -0.162665 0 0 0 0.17433 0.0620806 0 0 0 0 0.391577 -10.6495 -0.795084 -0.220301 -1.31747 1.09832 -1.40899 -0.0540408 0.0258781 -0.00459618 -0.00349161 0 0 0 0 0 0 +292 0 0.389556 -0.190941 0.0340675 0.209117 -0.158301 0.0281344 -0.0724064 0.614197 0.637648 -0.649361 0.261111 -0.545928 -0.0022492 -0.458186 -0.00757559 -1.7836 -7.9092 -0.0277547 -0.0319949 -0.998197 0.00967221 -0.0324678 0.00638414 -0.0904771 -0.123133 -0.393218 0.0027366 -0.365182 -1.07108 -0.0177793 0.0630479 0.15456 0.0340181 0.189857 -0.161762 0.025781 0.030802 0.914951 0.360654 0.158116 -0.0129742 1.14721 0.0371931 -3.27192 -0.0601433 0.348855 -0.611814 0.0230192 -0.0753587 -0.51758 -0.401962 -6.1544 0.209024 -1.71874e-05 0.0336852 -2.21976 -0.416413 -0.461261 0.25893 0.0358015 -0.485991 -0.31187 0.751058 -0.679816 0.424792 0.391503 0.383301 -0.342175 -0.242656 0.413748 -0.655747 0.0660122 -0.335453 -0.367316 0.0298341 -1.44744 -4.30332 0.161503 -2.70072 -0.721455 0.316034 -1.09396 0.239941 -0.28326 0.549252 -1.00699 0.0183426 -0.0644196 0.18185 -0.278871 0.659626 0 0 0 0 0 0.0340675 0.209117 -0.00102003 0 0 0 0 -0.000256416 0 -0.00825147 0 0 -0.000779683 0.000548067 -0.00987783 0 -0.000515569 1.02398e-05 -0.0959246 0 0 -0.206047 1.65946e-05 0 0.00616454 -0.23996 0 0 -0.0201654 -0.00841128 0 -0.00999246 0 -0.00925804 0 0 -0.00046713 0 0 -0.0528084 -0.00453586 -0.0119019 0 -0.0154044 0.0190165 0 0 -0.0171028 0 3.77333e-05 0.238309 0.00270271 0 0 0.00389729 0.00262795 0 -0.0135565 -0.00973555 0.00414194 0.0245491 -4.27804e-05 -0.0239288 0 -0.00753398 -0.00933879 -0.140727 0.0442186 -0.0588644 0 0 0 2.81691 0.239204 0.518734 0.013674 0.0159807 -0.00232393 0.00113222 0.000102608 0.000779797 0.021164 0 0 0 0 0 0 -0.158301 0 0.0281344 0 0 0 0 0.347927 1.13133 0 0 -0.57495 0 -0.0629389 0 0.0342814 0 0 0.216839 0 0.367782 0.168915 -0.161757 0.0297058 0 0 0.477143 0 3.82093 0 2.71468 0.503509 0 1.09826 0.997188 -0.0177067 0 0.0594008 0 0 0.0893501 0 1.31258 0.111661 0 0 0.0161926 0 0 0.168085 2.21588 -0.252204 0 2.12942 0 0.530011 -0.0219802 0.115943 0.569211 0.165915 0.452239 -0.249565 0.0992039 -1.74751 -1.26113 -0.143615 0 0 0 0.194601 0.0699392 0 0 0 0 -0.330481 -6.44311 1.37865 -3.21134 -0.0528202 0.109053 -0.607846 0.283874 -0.221032 0.215288 -0.399955 0 0 0 0 0 0 +293 0 -0.920105 0.0216021 -0.106438 -0.306817 0.196218 0.283997 -0.467724 -1.83009 -0.316947 2.63805 -0.314192 0.76884 0.0306315 1.31286 0.0133355 1.01374 -0.253716 0.483704 0.0808397 1.88986 0.00778161 -0.255281 -0.0228839 0.520775 -0.6522 0.502729 -0.0187098 -0.396782 0.793682 0.401595 -0.106423 0.110036 0.245793 0.162509 -0.325012 -0.0561461 0.0347503 2.60888 -1.07511 1.26811 0.177105 -0.476171 -0.199125 2.6668 0.968785 0.86334 -0.1247 0.358814 0.509643 0.736452 1.58453 -4.90602 0.0509813 0.119064 -0.400958 -0.507338 -0.154209 -0.350615 -1.12897 -0.407961 -0.534328 1.18673 0.112483 1.5031 -0.0909395 -0.33381 -0.495447 0.0324261 0.00661293 -0.535971 0.197756 -0.490774 -0.154183 -0.286799 1.07673 -0.485004 -4.45004 -4.85809 3.45144 -4.09156 2.92879 -3.36774 -3.39768 2.68245 -3.09484 2.82711 -1.31851 1.60795 -1.76826 2.0809 -2.01236 0 0 0 0 0 -0.106438 -0.306817 -0.0123915 0 0 0 0 -0.00156165 0 -0.00972578 0 0 0.00241629 -0.00110557 0.010332 0 -0.00130017 -0.110567 -0.0154219 0 0 0.0210881 -0.000153234 0 0.0355372 -1.76601 0 0 -0.00265182 -0.380106 0 0.0372854 0 -0.024899 0 0 -0.00470425 0 0 -0.0324253 -0.0220464 0.04087 0 -0.18407 0.0389451 0 0 -0.0741728 0 -0.00559307 0.328118 0.005643 0 0 -0.0109328 0.0310968 0 0.0301765 0.108458 0.0196488 1.9157 0.0260099 -0.0662773 0 -0.0418744 -0.00827905 0.110084 0.175674 -0.0730613 0 0 0 -0.207429 -0.0715096 0.150022 0.0178834 -0.0248222 0.00752545 -0.00489583 0.00509347 -0.00463509 0.000903602 0 0 0 0 0 0 0.196218 0 0.283997 0 0 0 0 -0.300279 -1.96961 0 0 0.60197 0 0.0671811 0 -0.02918 0 0 0.233965 0 -0.992941 -0.121625 0.211095 0.0223294 0 0 -0.372199 0 -6.36095 0 -0.966599 -0.0531502 0 -0.704043 -0.984494 0.021994 0 -0.0543512 0 0 -0.188278 0 -0.746891 0.499272 0 0 0.0450651 0 0 0.019512 -0.679138 0.0835541 0 -2.08992 0 0.200763 -0.29148 0.128906 -0.2729 -0.0666535 -0.188933 -0.361655 0.0163646 2.01217 -1.82593 0.0608223 0 0 0 -0.264971 -0.115728 0 0 0 0 0.580462 3.09516 -0.691908 1.35672 -0.00618784 -0.083804 0.31887 -0.30715 0.177326 -0.211093 0.267107 0 0 0 0 0 0 +294 0 -0.781933 0.293424 0.0376416 0.0419921 -0.270855 -0.106366 -0.108417 -0.037062 0.234186 -0.0161363 0.130201 -0.899624 -0.0131382 -0.673896 0.0451775 2.47259 8.07024 0.270154 0.0455739 -3.20448 0.114141 -0.105771 0.0156235 0.079555 -0.0819047 0.724459 0.311785 0.0531757 -0.649869 -0.344876 0.072357 0.196735 -0.324975 1.09715 0.055052 0.0384554 1.0042 -1.29662 0.382812 -1.61044 -0.0636324 3.03062 0.0990629 -2.14968 -0.26202 -0.892445 -0.160843 0.36788 -0.238932 1.28354 -0.125158 -10.5175 0.0881553 0.0994562 0.0710521 2.24911 0.80292 0.27782 -0.0920828 0.136972 0.496018 1.52664 1.15944 0.00157622 -1.3593 0.318586 0.242304 1.55516 -0.0943397 -0.0988655 0.0450249 0.329963 -1.75801 0.655502 -0.356525 -3.97106 5.22628 1.76502 -0.660958 0.370589 -0.91169 2.91629 -0.809917 0.15456 0.432221 -0.0545178 0.356606 -0.49752 0.774405 -1.07316 1.64773 0 0 0 0 0 0.0376416 0.0419921 -0.00655094 0 0 0 0 -0.0013314 0 -0.0122636 0 0 0.00244397 0.0135683 -0.0172205 0 -0.00286467 0.0872135 -0.0375322 0 0 -0.089902 0.000984205 0 -0.0387089 -0.343964 0 0 -0.0205921 0.1778 0 -0.0705074 0 0.0176408 0 0 0.00143182 0 0 -0.159728 -0.018541 0.0334818 0 -0.0858733 -0.0262207 0 0 0.00544525 0 0.0139661 -0.062353 -0.0168521 0 0 0.0058127 0.0329085 0 -0.00610795 0.0195727 -0.00718421 0.30447 -0.0189075 0.00809338 0 -0.01877 0.0183191 -0.159596 0.208705 0.0548415 0 0 0 0.227537 -0.0075319 -0.0245009 0.00544879 -0.00634803 0.0189535 -0.000592786 0.0012786 -0.00446159 0.00482484 0 0 0 0 0 0 -0.270855 0 -0.106366 0 0 0 0 0.101317 0.140351 0 0 -0.293788 0 -0.0348769 0 0.0104786 0 0 0.148995 0 -0.20707 0.0455986 -0.0516636 0.0399649 0 0 0.000617185 0 5.0215 0 1.3316 0.190838 0 0.392639 0.101948 -0.00697305 0 0.0118049 0 0 0.029033 0 1.11562 0.590198 0 0 0.12952 0 0 -0.605865 3.25651 0.0973995 0 -0.659459 0 0.698995 0.0556787 -0.0817707 0.754028 0.169513 0.108292 -0.40021 0.0346235 2.43185 10.1402 -0.147002 0 0 0 0.39777 0.066048 0 0 0 0 0.0284795 -3.78316 0.871879 -1.70146 -0.690957 0.41489 -0.45257 0.133205 -0.136628 0.193341 -0.207524 0 0 0 0 0 0 +295 0 -0.249778 -0.0988696 0.045751 0.227322 -0.190815 0.0284879 0.618012 1.19096 0.413828 -0.171224 0.738149 0.308052 -0.00973974 1.86018 0.179873 0.740404 0.286293 0.159548 0.310206 -3.67059 0.0724941 0.0891141 0.00936028 0.0391537 0.0982619 0.391289 0.174684 -0.588696 -2.43091 0.518955 0.0620567 1.41992 0.52579 0.850146 0.0415834 0.113522 0.450935 2.43989 1.07833 -0.781446 -0.044843 2.84969 0.178224 0.419699 -0.143912 0.0666154 -1.20831 2.4595 -0.542409 2.46326 -0.353602 0.962689 -0.582756 0.738309 -0.447199 0.106353 -0.081925 0.723078 0.0954456 0.109208 1.482 -3.08409 1.13926 -0.630068 -1.19388 -0.409102 0.850066 0.94716 -0.119256 0.260511 0.379497 1.29767 -0.416026 -1.8436 -0.0514067 -0.48613 -7.8356 -0.309639 -3.85326 -1.53957 0.16364 -0.97572 -0.174174 -0.248896 0.745708 -2.41632 0.195863 -0.863977 1.83666 -3.56599 6.1635 0 0 0 0 0 0.045751 0.227322 0.0025288 0 0 0 0 0.000437698 0 0.0253092 0 0 -0.00158304 -0.00191467 0.0076562 0 0.00356424 0.0231321 0.0650403 0 0 -0.246327 -0.000118796 0 -0.0356539 0.346141 0 0 -0.0182853 0.0692753 0 -0.0705932 0 -0.0220121 0 0 -0.000825794 0 0 0.152625 0.00578267 -0.0222846 0 0.0309629 -0.030905 0 0 0.115712 0 -0.00124667 -0.135552 0.00790552 0 0 0.00385876 -0.011077 0 -0.020393 -0.0589054 0.0052576 -0.498751 -0.0313723 0.0203089 0 0.00796751 -0.025299 0.22578 -0.127074 0.0718736 0 0 0 -0.513029 0.0468646 -0.0760572 -0.0185249 0.01649 -0.0139005 0.00232467 -0.00272572 0.00285066 -0.00923747 0 0 0 0 0 0 -0.190815 0 0.0284879 0 0 0 0 0.315738 2.24786 0 0 -0.508545 0 -0.0468145 0 0.110968 0 0 -0.549917 0 0.251364 0.104769 -0.175212 -0.0456803 0 0 1.24153 0 6.52233 0 1.80705 1.29528 0 0.722301 0.881599 -0.0129854 0 0.0463151 0 0 0.199603 0 3.22085 -1.45533 0 0 -0.136013 0 0 -0.232674 2.63343 -0.200883 0 2.65148 0 0.421864 0.160726 0.0238904 0.503962 0.281276 0.70515 -0.0641809 0.0537659 -2.76337 -3.99093 -0.204526 0 0 0 0.488962 0.0607802 0 0 0 0 -0.675709 -0.789889 1.06719 -1.04306 0.0908538 0.0955415 -0.295674 0.171153 -0.135937 0.173412 -0.218364 0 0 0 0 0 0 +296 0 0 0 0 0 0.196971 0.00618773 -0.170317 -0.779264 0 0 0.121593 -0.882093 0 -2.60416 -0.0512837 0 0 0 -0.345102 -3.70533 0 0 0 0 -0.126637 0 0 -0.240879 -4.00315 -0.521071 0 -0.251083 0 0 -0.0671356 -0.015108 0 0 0.531265 -2.09011 0 0 0.0183845 -3.99218 0 -0.729793 -0.871505 -1.23512 0.0349115 -0.858085 -0.141562 0 0.295777 -0.196389 0.21866 1.65127 0.272947 -0.414028 0 0 -0.181251 3.81202 0 -0.176517 -0.113574 0.211579 0 0 0 0 -0.297062 -0.060919 0 1.26896 -0.135368 0 0 0 3.42442 0 0.27285 4.55672 0 0.452916 0.0887401 2.08315 0 0.342476 0.802843 -2.48837 10.9201 0 0 0 -0.0730653 -0.0124474 0 0 0 0.00182269 -0.0405835 0 0.00106528 0 -0.00422685 -0.0170696 0 0 0 0 -0.0429216 0 -0.00342101 0 -0.258424 0 -0.0458017 -0.264329 0 6.97864e-05 0 0 -0.0961793 -0.00375232 -0.0112272 0 -0.00148637 0 -0.00249902 -0.161482 -0.00786621 -0.0516328 -0.0101126 0 -0.000307305 0 0 0 -9.14009e-05 0 0 0.00992275 -0.00384651 0.0495554 -0.0483681 0 0 -0.0180382 0 0.00419689 0 0 -0.0281579 -0.0349395 -0.149087 -0.0445674 0 0 0.167946 0.0709361 -0.00211162 -0.182974 -0.24212 0 -0.288487 -0.00684918 -0.0280091 0 0 0 0.775496 0 0.083149 0.721274 0 -0.00828919 0.0920551 0.254285 0 0.00493034 -0.00784374 0.0226789 0.480587 0 0.196971 -0.0730653 0.00618773 -0.0124474 0.187312 0.100248 -0.0816111 -0.147754 0.116097 0.00846553 -0.0273501 -0.119948 0.000681343 -0.0155437 -0.00859918 0.0102315 -0.0256739 0.0987124 -0.85107 0.190103 -0.159167 -0.0153045 -0.106026 -0.0329459 -0.187762 -0.199874 0.218767 0.00504613 -2.65535 0.210885 -1.262 -0.333484 -0.00078935 -0.77434 -0.563381 -0.0116288 0.00485597 0.0398699 0.0460823 -1.41363 -0.00676374 -0.0262907 -1.04943 -1.24268 -0.00371518 0.0306642 -0.102396 0.0201118 -0.285275 0.122355 0.507312 0.0321442 0.0915137 1.13303 0.0119727 0.366898 -0.0395414 0.131051 -0.126539 -0.165272 -1.34083 0.105109 -0.111644 -0.220795 -0.230563 -0.188256 0.851612 0.0173772 0.152135 0.00337209 0.0374127 -0.00611482 -0.0177425 0.0212864 -0.10566 0.0393802 7.77942 0.189394 2.24691 -0.225338 -0.486676 3.61008 0.021604 -0.0784784 0.220782 0.855418 -0.012345 -0.0604828 0.316571 -0.532523 1.55099 0 +297 0 0 0 0 0 0.194774 0.508754 -0.687788 -0.968522 0 0 0.144037 1.92367 0 2.9485 0.0157747 0 0 0 0.0809667 2.44324 0 0 0 0 -0.292667 0 0 -0.796563 -0.826677 0.950176 0 0.0436463 0 0 -0.312271 0.0132435 0 0 0.688466 1.11011 0 0 0.199332 6.85532 0 0.909046 -0.725359 0.16461 -0.376023 1.51469 -0.583111 0 -0.27136 0.42495 -0.22126 0.189716 0.403122 0.544502 0 0 -0.221777 -0.379473 0 -0.885287 -0.334805 0.081501 0 0 0 0 0.390775 0.682974 0 -1.24403 0.523085 0 0 0 1.67791 0 -1.48997 2.84455 0 -1.09321 1.13349 -0.840466 0 -0.928594 0.917217 -1.72143 2.4015 0 0 0 -0.0419757 -0.0123504 0 0 0 0.001155 0.0350618 0 0.000362938 0 -0.00184645 -0.0150871 0 0 0 0 -0.0765954 0 -0.00584633 0 -0.156623 0 -0.0174925 -0.0803971 0 0.000783337 0 0 0.0130234 0.00020496 -0.00204684 0 0.00246298 0 0.00258743 -0.0712746 0.00633147 0.00268707 -0.00634966 0 -0.000134293 0 0 0 0.000180185 0 0 -0.00055069 0.00411478 0.0115542 -0.00351088 0 0 0.0118311 0 -0.00448959 0 0 -0.00573735 -0.012017 -0.114378 -0.0125727 0 0 0.0790439 0.0334608 0.011451 -0.0706923 -0.0609115 0 -0.036593 -0.00963436 0.111534 0 0 0 0.418646 0 0.0227734 -0.0579467 0 -1.40149e-05 0.0110291 0.0748599 0 -0.000258033 -0.00245389 0.0132924 -0.0150048 0 0.194774 -0.0419757 0.508754 -0.0123504 0.161562 0.0823167 -0.133283 -0.275716 -0.233578 0.00721792 -0.0587869 -0.0716834 0.000626152 -0.010576 -0.0109316 -0.00207457 -0.0502749 0.0727104 -0.0155556 1.8213 0.346817 0.0574567 -0.0590363 -0.0230801 -0.407849 0.0323529 0.0161656 0.0329053 2.88363 0.0697137 1.16724 1.48421 -0.000877546 -0.377545 0.626063 -0.00763186 0.00160261 -0.0140185 0.0105019 0.0837226 -0.0243381 0.00786021 1.94979 1.54539 -0.00688414 0.00906481 0.176453 0.233241 0.07213 -0.34886 -1.85902 0.543828 0.0517728 0.203862 0.0184482 0.166279 -0.0584003 -0.088161 0.326869 -0.533529 -1.07416 0.352674 0.0491922 0.36666 3.71473 0.00941763 -0.159882 0.0312591 -0.129516 0.387743 0.0258282 -0.0117736 -0.0147842 0.144636 -0.0510605 0.0242662 -7.1953 0.387712 1.9581 -0.297095 -0.16165 0.90132 0.0148709 -0.129993 0.478957 -0.588228 -0.00909316 -0.0546853 0.0592964 -0.10267 -0.187871 0 +298 0 0 0 0 0 -0.185026 -0.0200537 0.2436 1.3819 0 0 0.0638382 -0.163954 0 -1.40566 -0.016345 0 0 0 -0.0569278 -3.42358 0 0 0 0 0.0911094 0 0 -0.00579696 1.5113 0.0265339 0 0.0293007 0 0 -0.0440814 -0.0341548 0 0 0.16147 -0.709906 0 0 -0.0410956 -3.55416 0 0.222316 0.173274 -0.252877 0.228741 -0.800832 0.381525 0 0.102023 0.0742138 -0.175823 0.839327 0.0825575 -0.00638767 0 0 0.2109 5.50597 0 0.982763 0.281577 -0.361148 0 0 0 0 0.146448 -0.223893 0 4.08011 0.320961 0 0 0 -1.4014 0 0.554294 -2.99484 0 0.652529 -1.83782 -1.51507 0 0.656954 -2.43695 2.0011 -6.10701 0 0 0 -0.208368 -0.0170389 0 0 0 0.00816571 0.000913998 0 0.00133196 0 -0.00359996 -0.00428782 0 0 0 0 0.0267504 0 -0.000622057 0 0.037775 0 0.0554176 0.091447 0 0.00193551 0 0 0.295249 -0.00293694 0.0023059 0 0.000281539 0 -0.000112023 -0.00978123 0.0247234 -0.0410924 -0.00452246 0 -0.000259893 0 0 0 1.36582e-05 0 0 0.00774447 -0.000225159 0.0845014 -0.0165649 0 0 0.0191472 0 0.000245669 0 0 0.0114183 -0.0101959 -0.00248603 -0.0169195 0 0 0.0140573 -0.00286886 0.0104851 0.0168627 0.05412 0 0.062545 -0.00289743 -0.112658 0 0 0 -0.228078 0 0.0723465 -0.777555 0 -0.00588957 0.000445546 -0.192898 0 0.00380581 -0.0206214 0.0536417 -0.384568 0 -0.185026 -0.208368 -0.0200537 -0.0170389 0.451383 -0.078864 -0.0839857 0.0860937 -0.821243 0.00611191 0.0676421 -0.157434 0.000552046 -0.0188914 -0.00782942 -0.0315412 0.0210495 0.0605242 0.0603476 -0.566846 -0.460343 0.0847187 -0.22174 0.0988878 0.173139 0.122818 -0.426748 -0.0310228 -5.85517 0.227893 -2.50243 0.083154 -0.000705677 0.760948 -1.31 -0.0180235 0.00239946 -0.00838804 0.0445299 0.763713 -0.065947 0.0212702 -1.55364 -0.0504978 0.0081708 0.0155164 0.16386 -0.151194 -0.272679 0.0932122 -0.440954 0.376642 -0.0097212 -0.501712 0.0103248 1.06045 -0.12665 0.0770093 -0.214389 -0.159107 -0.88893 0.472767 0.0290624 -0.062772 -4.25088 0.0683207 0.85475 0.0646266 0.10227 -0.123444 0.0366662 0.00917044 -0.00775183 -0.0226934 -0.112689 0.0651871 15.4259 0.127704 -1.24214 -0.03007 -0.914231 -1.21083 0.0184918 -0.0307064 -0.0613583 -0.43314 -0.00756916 -0.00716121 -0.204373 0.278832 -1.08092 0 +299 0 0.828475 -0.227817 0.00900215 0.0751083 0.0721073 -0.185493 0.511331 -0.272676 0.0996131 -0.325497 0.128316 0.412092 -0.000226755 2.23775 0.00504363 -0.167434 0.45174 0.0176449 0.00514388 0.979675 -0.00524064 0.561611 0.00029289 -0.152752 0.3471 -0.319137 -0.0160735 0.5218 0.339322 0.238501 0.00549606 0.133152 0.699883 0.00412082 0.443634 0.00635735 -0.258446 -1.15844 0.153045 0.138729 -0.00423477 -0.45825 0.00767437 3.09807 -0.0744308 -0.39072 0.435769 0.146237 -0.0233615 0.578326 -0.264417 -0.529602 -0.0117441 0.000385155 -0.0475529 -0.815977 -0.271002 0.0129588 0.273567 0.00902048 0.453072 -0.215505 -0.532307 -0.552418 0.171972 -0.344673 -0.148136 -0.39804 -0.00892695 0.135752 0.0992269 0.0271199 0.161195 -0.209072 -0.0858992 0.0995409 9.08677 3.10277 1.89396 2.46231 -1.04473 1.58173 0.782371 -0.298995 0.111143 0.957471 0.00324765 -0.00596296 0.0262 -0.0571314 -0.306384 0 0 0 0 0 0.00900215 0.0751083 -0.00103266 0 0 0 0 -8.18937e-05 0 -0.022937 0 0 -0.00228734 -0.00116516 -0.0128496 0 -0.00188106 -0.0295269 -0.137525 0 0 -0.0921106 -7.60456e-05 0 -0.00870465 -0.844972 0 0 -0.0107685 -0.231356 0 -0.0828865 0 -0.00628084 0 0 -0.000776626 0 0 -0.662113 -0.00175935 -0.0332824 0 -0.0215567 -0.0304422 0 0 -0.0722094 0 -0.00239784 -0.600446 0.0107994 0 0 0.00494238 0.00126979 0 -0.00794641 -0.00151797 -0.0251572 -0.985147 -0.0530811 -0.00757301 0 -0.0102072 0.0829335 -0.19624 -0.00878613 0.0600421 0 0 0 4.411 0.164534 0.916098 0.0302809 -0.0628251 0.617384 0.00305993 -0.00494697 0.0128822 0.196296 0 0 0 0 0 0 0.0721073 0 -0.185493 0 0 0 0 0.0825088 -0.0186773 0 0 -0.0624914 0 -0.00532717 0 -0.00926422 0 0 0.509347 0 1.05942 -0.0356491 -0.0450622 0.0767067 0 0 -0.0657375 0 3.58094 0 -0.137729 0.535027 0 -0.292226 1.26077 -0.00456272 0 0.0128833 0 0 -0.0100689 0 1.65879 0.312344 0 0 0.0536712 0 0 0.402576 -1.70285 0.139448 0 0.308547 0 -0.25963 -0.0240108 -0.0623415 0.0657872 0.116805 0.332299 0.0898614 -0.0686946 0.120356 2.78238 -0.0695555 0 0 0 -0.130879 0.0718254 0 0 0 0 0.0185907 -4.71606 1.10517 -0.816125 0.530104 -0.624423 0.850976 0.0812976 -0.0633518 0.0628755 0.168785 0 0 0 0 0 0 +300 0 0.777555 0.0996608 -0.000852917 0.0159573 0.0307995 -0.257735 0.537866 1.23165 0.00295034 0.131484 -0.00714218 -1.65347 1.34473e-05 -2.34001 -0.00896611 -0.0378696 0.895931 0.0435371 -0.0132548 -1.19702 0.00908184 0.0334592 -9.93678e-06 0.0555922 0.215363 -0.113808 -0.000970742 0.343077 -0.114131 -0.764254 -3.98959e-05 -0.220503 0.0172518 -0.016476 0.203955 -0.00214841 -0.0242441 -0.0497914 0.0213911 -0.760866 0.000125725 -0.234915 -0.00125297 -5.07939 -0.00122399 -0.726811 0.148861 -0.333571 0.00855344 -0.908964 0.207672 4.12151 0.0147874 -0.00196556 0.021031 1.96392 0.141679 0.0285161 -0.0314908 0.000315358 -0.0321739 0.226048 0.72275 0.746972 0.145183 -0.514705 -0.0133502 0.156346 -0.00085521 0.0942933 -0.0189673 -0.0679718 -0.11307 1.15988 -0.052632 0.516597 1.90667 -0.390966 -1.6807 -0.549145 0.659141 -1.87782 -0.236632 0.215883 -0.227746 -1.34414 5.34067e-05 -0.000509832 0.00304254 -0.013681 0.103052 0 0 0 0 0 -0.000852917 0.0159573 0.000299522 0 0 0 0 1.31779e-05 0 0.00998103 0 0 -0.00033191 -0.000343957 0.00267652 0 0.000406404 -0.00123329 0.0562199 0 0 0.0422318 -1.92214e-05 0 -0.0010642 0.00126144 0 0 0.00948347 -0.0233107 0 -0.0265286 0 0.0011091 0 0 0.000253455 0 0 -0.0497115 0.000274496 -0.00620007 0 0.00596095 0.0152758 0 0 -0.0128943 0 0.000405323 0.120033 0.00502981 0 0 0.000904872 -0.000602083 0 -0.00465295 0.0358136 -0.00528869 -0.0366178 0.0222644 0.0123083 0 -0.00584898 -0.0429574 -0.0561091 0.0164385 -0.0153863 0 0 0 0.586772 0.0426068 -0.136398 0.00364041 -0.0131928 0.077433 0.000481714 -0.0018281 0.0107005 -0.0499157 0 0 0 0 0 0 0.0307995 0 -0.257735 0 0 0 0 0.264284 -0.478919 0 0 -0.148152 0 -0.0153917 0 -0.0103791 0 0 0.069084 0 -0.221561 0.096135 -0.0712538 0.0011827 0 0 -0.132462 0 0.257769 0 -1.52599 -0.73036 0 0.664283 -0.484727 -0.00598329 0 0.043001 0 0 -0.0533882 0 -0.578984 -0.0617479 0 0 -0.0279194 0 0 -0.309218 1.22617 -0.0286423 0 -1.3329 0 0.38224 -0.0150291 0.0540259 0.000559412 -0.0530748 -0.187689 -0.201054 0.0234928 0.644104 -4.06497 -0.0105916 0 0 0 0.00303218 0.0260281 0 0 0 0 0.0437043 11.0162 0.646499 -0.789516 0.0571052 0.155808 -0.213259 0.0286265 -0.0317508 0.0679031 -0.393804 0 0 0 0 0 0 +301 0 -0.261322 0.0532551 -0.00899504 -0.188211 0.109561 0.00607325 0.35924 0.873657 -0.0494936 -0.101175 -0.0756037 -0.144853 8.87753e-05 0.251319 -0.00473977 0.436084 -0.36533 -0.0366202 -0.00448625 1.2211 -0.0175698 -0.164453 -0.000133261 -0.0969299 0.018563 0.316866 -0.00851011 -0.054626 0.118919 -0.059693 -0.00254285 -0.102261 -0.293703 -0.078919 -0.0118758 -0.00372633 -0.00214786 -0.303977 -0.0704593 0.358812 0.00147715 -0.412454 -0.00347521 0.732381 0.0234659 0.018949 0.0209228 -0.0791389 0.00518509 0.196904 -0.191833 -1.43598 0.0101109 -0.00903731 0.0658301 1.62465 -0.0226489 0.0775253 0.23342 -0.00102215 -0.647539 -0.820199 1.05602 -0.0260684 -0.0145147 0.0821805 0.148825 -0.0168065 0.00412529 0.684151 -0.182145 -0.0131954 0.120656 0.695207 0.0197923 0.263572 2.64582 2.23378 -2.33533 0.906144 -0.690559 0.799347 0.733884 -0.616607 0.789656 -1.67562 -0.00102389 0.00236447 -0.0131884 0.0360023 -0.107375 0 0 0 0 0 -0.00899504 -0.188211 0.000576114 0 0 0 0 4.63181e-05 0 0.0133876 0 0 -0.00135089 -0.000432834 0.00822831 0 0.000991534 0.0125536 0.130716 0 0 0.00570767 -3.43647e-05 0 0.0064791 0.400656 0 0 0.000701393 0.0847365 0 0.068195 0 0.00179918 0 0 0.000255052 0 0 0.268951 0.000959915 -0.0183501 0 0.0116775 -0.0131485 0 0 0.0592131 0 0.00133413 0.252394 -0.00349062 0 0 0.0026167 -0.000737558 0 7.17095e-05 -0.0339214 0.00271638 0.410744 0.010819 0.00804077 0 0.00790527 -0.0417237 0.0911221 0.00377529 -0.0376896 0 0 0 -2.36974 -0.0642525 -0.548776 -0.00504872 0.0178498 -0.353144 0.00169137 -0.00267451 0.00350851 -0.11589 0 0 0 0 0 0 0.109561 0 0.00607325 0 0 0 0 0.0788167 0.410675 0 0 0.296827 0 0.0193719 0 0.0275495 0 0 0.0392691 0 -0.142474 0.0958021 0.164169 0.0228755 0 0 0.336803 0 2.77759 0 1.08134 0.176114 0 0.466503 0.1053 0.0103864 0 0.0316262 0 0 0.0324173 0 1.0921 0.165609 0 0 0.0454205 0 0 0.327953 2.16144 -0.0902993 0 0.337099 0 -0.360214 0.167434 -0.163934 0.230138 0.0177033 0.0937939 -0.108769 -0.0123256 -0.250899 -0.728928 -0.0716424 0 0 0 -0.180941 0.0113599 0 0 0 0 0.0328455 -9.04231 -0.894213 -1.93207 0.0406849 -0.0528225 -0.0647503 0.0290375 -0.0625775 0.0577117 -0.342696 0 0 0 0 0 0 +302 0 0.245189 0.338607 -0.00953057 -0.1388 0.133191 0.259783 -0.190073 -0.890369 -0.036682 0.399448 -0.052621 0.136941 0.000142547 0.735155 0.0032191 0.584354 -0.253513 0.0533758 0.00784158 2.76202 -0.0110374 -0.353286 -0.000122377 -0.0303152 -0.471391 0.549246 -0.0158809 -0.48163 -0.144406 0.278142 -0.00214498 0.0473452 -0.579161 -0.0258951 -0.321198 -0.00273208 -0.119364 -0.800795 -0.122259 1.75265 0.00257614 -0.546611 -0.00716704 0.756478 0.0434759 1.01953 -0.381579 0.135673 0.00930111 0.900675 0.0286382 2.19695 0.0148834 0.00407451 -0.00325446 1.31675 -0.244775 -0.0157748 0.069484 -0.00181662 -0.63993 -1.53315 0.229514 0.98335 -0.0380201 -0.0209281 -0.047501 -0.0921043 -0.00197182 0.0546084 0.219214 -0.0230583 0.174796 0.0595903 0.637674 0.0444078 7.23994 1.16641 2.53579 0.776119 0.377569 0.0412438 0.379471 0.0579918 -0.743926 1.31445 -0.00359315 0.00847069 -0.0202675 0.0624207 0.17428 0 0 0 0 0 -0.00953057 -0.1388 -0.00289562 0 0 0 0 -0.000143147 0 0.00669119 0 0 -0.00341592 -0.00299558 0.00458952 0 0.000416922 -0.00502164 0.0676027 0 0 0.0399249 -0.000214726 0 0.000375404 0.068984 0 0 0.00808187 -0.0340049 0 0.00446361 0 0.00191064 0 0 0.000455101 0 0 -0.107109 -0.00200032 -0.0477908 0 -0.0405536 -0.0387372 0 0 0.0708652 0 -0.00591527 0.0306459 0.00785411 0 0 0.0069791 0.00499932 0 -0.0102784 -0.0314001 -0.0147222 -0.0874847 -0.0251692 0.0167769 0 -0.00722213 -0.0089274 0.00279426 -0.00853431 0.0382346 0 0 0 0.36869 0.0537389 -0.0694194 0.0100537 -0.0173313 0.0346992 0.00441486 -0.00693169 0.0127906 -0.0200784 0 0 0 0 0 0 0.133191 0 0.259783 0 0 0 0 -0.161373 -0.352357 0 0 0.45728 0 0.0521866 0 -0.00242335 0 0 0.217603 0 -0.853875 -0.0524438 0.161176 0.00817064 0 0 -0.0629191 0 0.344289 0 -2.20831 0.17767 0 -0.596392 -1.3446 0.0130728 0 -0.00413172 0 0 -0.0327124 0 0.22277 0.537638 0 0 0.0359335 0 0 0.13111 1.05937 0.0258116 0 -0.464988 0 -0.0514698 0.0318726 -0.0149495 -0.140719 -0.111127 -0.667187 -0.0528349 0.0376034 0.153017 0.698065 0.0127474 0 0 0 -0.122597 -0.0381061 0 0 0 0 0.103938 10.6121 -1.51834 2.80216 0.383343 -0.534134 1.00046 -0.0661805 0.0726661 -0.171521 0.286824 0 0 0 0 0 0 +303 0 0.701385 0.473382 -0.00394457 -0.0124018 0.032094 -0.0738926 0.843668 1.48861 -0.0439255 0.0869758 0.0199614 0.725826 0.000162125 -0.193175 0.0109287 2.33269 9.65178 -0.0320308 0.014366 1.15643 -0.00514527 -0.0456563 -0.000229352 0.0778684 0.59939 0.542942 -0.0076697 0.523609 0.995957 -0.109771 -0.00333338 0.221644 -0.0760476 -0.082577 0.326288 0.00159992 0.0340428 -0.753378 -0.0120273 0.0567843 0.00235258 -0.182525 -0.00236829 2.62721 0.0276998 -0.100857 0.710887 0.284729 0.00973044 -0.358326 0.128316 -4.44203 -0.00298237 0.0095654 -0.102276 -3.41503 0.0983733 -0.0198191 -0.0860415 -0.00560146 -0.371209 -0.0340378 -2.17819 0.174888 -0.241503 0.146385 -0.226721 0.291165 0.00690917 -0.321965 -0.194903 0.0918187 -0.123382 -0.879869 -0.301374 0.495314 5.75788 -0.19804 -0.0817186 -0.300038 0.623078 -2.04273 -0.462708 0.309147 -0.146263 -1.16958 -0.0022893 0.00267505 -0.0578715 0.0855701 -1.20199 0 0 0 0 0 -0.00394457 -0.0124018 0.00105162 0 0 0 0 3.98832e-05 0 0.00523212 0 0 6.18943e-05 -0.000770411 0.00304804 0 0.000447739 -0.00719191 0.0228503 0 0 0.0348468 -6.0276e-05 0 -0.00487088 -0.140863 0 0 0.011527 -0.0467168 0 -0.0461537 0 0.00257104 0 0 0.000862442 0 0 -0.135193 0.000570742 0.0018865 0 0.0147559 -0.0183476 0 0 0.0439801 0 0.00214775 0.00578039 -0.00270481 0 0 -0.000106833 -0.00181518 0 -0.00614003 0.0824055 -0.00372716 -0.160161 -0.00380978 0.0149956 0 -0.0137475 0.00602307 -0.0982959 0.0167515 0.0311465 0 0 0 0.854448 0.002785 0.006273 0.0138108 -0.0345343 0.0863216 3.87366e-05 -0.00213163 0.00757496 -0.0179519 0 0 0 0 0 0 0.032094 0 -0.0738926 0 0 0 0 -0.207844 -0.328203 0 0 0.136339 0 0.0138804 0 -0.00647804 0 0 0.0192917 0 -0.72158 -0.0692462 0.0578897 0.00860583 0 0 -0.0620408 0 -0.0563389 0 -4.45562 -0.802656 0 -0.349186 -1.77412 0.00526433 0 -0.0411078 0 0 -0.0369496 0 -1.04286 0.484942 0 0 0.0635057 0 0 -0.129876 -0.00407034 -0.049749 0 -0.703887 0 0.238497 0.0539961 -0.0227155 0.159533 -0.124655 -1.65167 -0.345168 0.0615342 0.237206 -4.51606 -0.0180442 0 0 0 0.036214 -0.0278595 0 0 0 0 0.0278935 31.2311 -0.141565 4.13712 0.485418 -0.155912 0.557922 -0.0436095 0.0425493 -0.0683143 -0.0154108 0 0 0 0 0 0 +304 0 -0.218835 -0.0718726 -0.0141834 -0.201997 0.261602 -0.107931 0.590015 0.430099 -0.0575031 -0.155846 -0.104617 0.724072 0.000222589 1.42395 0.0054871 0.301369 1.1579 -0.103107 0.0124652 1.96073 -0.0354653 0.0626949 -0.000200231 -0.166641 0.45451 -0.012414 -0.0199155 0.345847 0.920362 0.258393 -0.00344001 0.0462428 0.0691411 -0.04497 0.329695 -0.00363363 -0.10755 0.414768 -0.167289 0.453559 0.00396418 -0.195466 -0.00829825 2.851 0.0656843 -0.157079 0.623154 0.13971 0.00485274 0.169738 -0.180652 -0.0269499 -0.00132398 0.0139591 0.0194457 -1.06287 0.0282148 0.0149706 0.324026 -0.00319497 -0.482454 -3.696 0.341996 -1.28803 -0.046519 -0.245438 0.225307 -0.110921 -0.00215154 0.756632 -0.248662 0.0605727 0.14607 -2.94485 -0.599684 0.164908 4.72582 3.63297 -2.17184 2.01495 -0.634581 -1.68952 1.06767 -0.568181 0.352531 -0.666437 -0.00542861 0.0120777 -0.0776689 0.173316 -1.11076 0 0 0 0 0 -0.0141834 -0.201997 -0.00245238 0 0 0 0 -0.000141111 0 0.00799507 0 0 -0.00432676 -0.00408514 0.0072342 0 0.000576559 -0.00766202 0.105462 0 0 0.025545 -0.000293437 0 0.000244322 0.022165 0 0 0.00526423 -0.0448546 0 0.00614876 0 0.0018103 0 0 0.000473794 0 0 -0.130153 -0.00196769 -0.0603952 0 -0.0342564 -0.0497898 0 0 0.075333 0 -0.00501151 0.0277637 0.00965646 0 0 0.00884271 0.0042355 0 -0.0112967 -0.044635 -0.0176095 -0.121507 -0.0234507 0.018271 0 -0.00361223 -0.0173831 -0.0290722 0.00538297 0.040605 0 0 0 0.423415 0.0744198 -0.136144 0.0121458 -0.0202598 0.0394764 0.00560821 -0.00908695 0.0172628 -0.0338766 0 0 0 0 0 0 0.261602 0 -0.107931 0 0 0 0 -0.0212627 0.191457 0 0 0.487343 0 0.0424139 0 0.01138 0 0 0.0174306 0 0.357394 0.0108605 0.156488 -0.0495905 0 0 0.0711804 0 2.7895 0 2.34455 0.086817 0 -0.173003 0.911026 0.0104146 0 0.0122378 0 0 0.0307219 0 0.925163 -0.033382 0 0 -0.102538 0 0 0.079882 0.638828 0.0506679 0 -0.39312 0 -0.066218 0.104225 -0.0503903 0.305514 0.0460768 0.0263231 0.0208811 0.0679392 -0.189927 0.940799 -0.0503822 0 0 0 -0.103265 -0.0334134 0 0 0 0 -0.00563797 -18.8746 -1.83789 -0.986373 -0.218576 0.0602405 -0.31621 -0.0664407 0.0714538 -0.192695 0.185257 0 0 0 0 0 0 +305 0 0 0 0 0 -0.491594 0.0629505 0.197927 2.01803 0 0 -0.140343 -0.105087 0 0.163364 -0.00825546 0 0 0 -0.0768316 -5.95868 0 0 0 0 -0.0579931 0 0 -0.452441 3.95198 0.19715 0 -0.0153502 0 0 -0.135878 -0.0218406 0 0 -0.432115 -1.83087 0 0 -0.165926 -0.852087 0 -0.246896 0.415524 -0.0285672 0.241528 -0.439159 0.352733 0 0.0870988 -0.0358081 0.24833 -0.0271581 0.0894546 0.121676 0 0 0.635556 2.74962 0 0.755322 0.508101 0.835644 0 0 0 0 0.125023 -0.333525 0 0.815351 0.55253 0 0 0 -2.44572 0 0.549427 -4.79223 0 0.207128 0.0055279 -5.01001 0 0.193221 -0.198489 0.658698 -8.81119 0 0 0 -0.0714133 -0.00177383 0 0 0 0.00477551 -0.00490965 0 0.000212941 0 5.36144e-07 -0.00192596 0 0 0 0 -0.00788096 0 -0.000476045 0 -0.0627039 0 0.054854 0.0118097 0 -5.4733e-05 0 0 -0.00479592 1.01725e-05 0.000603192 0 -2.01434e-05 0 -0.000350612 -0.00958588 -0.00164009 0.000142437 -0.000325887 0 3.82992e-08 0 0 0 -1.4385e-06 0 0 2.0862e-05 -8.10041e-05 -0.0292484 -0.00122037 0 0 -0.000146473 0 0.000718167 0 0 -0.00230562 1.84569e-05 0.0258847 0.00151335 0 0 -0.0105804 0.0421407 -0.000181271 0.0551496 -0.00599688 0 -0.0177925 5.61624e-05 0.0405034 0 0 0 0.0610614 0 -6.08182e-05 0.00112039 0 -2.24305e-06 0.000103837 0.0307537 0 -3.87977e-06 0.000179605 -0.000337536 0.000421617 0 -0.491594 -0.0714133 0.0629505 -0.00177383 -0.196941 -0.124673 -0.00805062 0.299942 -0.0294037 0.000136015 0.0711117 -0.0147478 2.5162e-06 -0.000248546 -0.000165632 -0.000821129 0.040998 0.00710977 0.536502 -0.841415 0.213342 0.231682 -0.0587573 0.0816711 0.450023 0.211641 -0.0405956 -0.00885813 8.57196 0.115301 1.25914 1.55481 -3.19628e-06 1.50118 0.648132 -0.00131393 -0.00054675 0.0430049 0.0022172 1.29245 3.15075e-05 0.0345143 3.4311 1.42941 0.0069681 0.00261996 0.240579 -0.0894648 0.0480715 -1.46132 -0.674124 -0.581121 -0.10158 -5.07307 0.000167332 -0.36428 0.000596147 0.0285567 0.0305107 -0.4933 -0.500707 -0.0556984 0.155909 -0.216621 -14.9463 0.168141 -0.979761 0.0106096 -0.465013 -0.457043 0.000184143 -0.0712622 -0.000166439 0.25049 0.148723 0.000152751 -2.31963 0.0117807 -3.13296 -0.00795251 -0.500809 -1.35117 6.25386e-06 -0.147052 0.146248 -1.26583 -1.58506e-05 -0.0661734 -0.103063 0.034031 -0.962292 0 +306 0 0 0 0 0 -0.127274 0.246059 -0.867716 -2.02587 0 0 0.0379413 0.41444 0 0.931415 0.000154786 0 0 0 -0.0166043 -1.50732 0 0 0 0 -0.4937 0 0 -0.89486 -2.41635 0.418537 0 0.0360488 0 0 -0.278633 0.001698 0 0 0.260778 -0.266678 0 0 0.0197932 1.15455 0 0.261443 -1.29068 0.147088 -0.116834 -0.693055 -0.129631 0 0.0164162 0.107949 -0.0526412 -1.33927 0.277026 -0.294463 0 0 -0.612506 0.395289 0 -0.590637 0.198036 0.428285 0 0 0 0 -0.265647 0.263585 0 -2.8165 0.565459 0 0 0 3.18216 0 -0.360316 3.53484 0 -0.105505 0.32689 3.42249 0 -0.292882 1.01532 -2.01414 7.32748 0 0 0 -0.0402713 -0.00113684 0 0 0 0.00415241 -0.000257388 0 0.000159118 0 8.95827e-09 -0.00122889 0 0 0 0 -0.0186452 0 -0.000354168 0 -0.0551269 0 0.0464793 0.0113697 0 -1.61371e-05 0 0 0.00826247 -1.48514e-07 0.000377426 0 -1.05488e-06 0 -1.83906e-05 -0.0123817 -0.000292205 3.9324e-07 -0.000226077 0 1.62831e-10 0 0 0 -7.53586e-08 0 0 1.52262e-06 -4.32079e-06 -0.0102754 -7.06124e-05 0 0 2.124e-05 0 3.75484e-05 0 0 -9.32363e-05 -2.47642e-06 0.036811 8.83517e-05 0 0 -0.00178226 0.0270377 -6.20727e-06 0.0384361 0.0215728 0 -0.0173907 9.30952e-06 0.0338706 0 0 0 0.0535761 0 -1.67907e-07 -0.00792849 0 -6.19263e-09 4.80617e-06 0.0190969 0 -1.07113e-08 8.31314e-06 -1.47239e-05 -0.00708652 0 -0.127274 -0.0402713 0.246059 -0.00113684 -0.166361 0.00620779 -0.00561652 -0.2176 0.0171169 8.12645e-05 0.0364737 -0.0160083 1.58454e-06 -0.000170921 -0.000110269 -0.000357498 0.0390072 0.00392356 -0.290652 -0.57665 0.371606 -0.189002 -0.0317028 -0.0653681 0.303411 -0.220346 -0.0196979 0.00541563 3.37399 0.189562 -0.0590462 1.55418 -2.06871e-06 -1.21436 0.592334 -0.000768057 0.00543396 -0.0397886 0.0463977 -1.06186 0.000539242 -0.0430929 2.69943 -0.806674 0.00506117 0.0222812 -0.0450569 -0.00935109 -0.154174 -0.293566 0.841132 0.42686 -0.0674709 -2.2199 0.000115843 0.664871 0.000750595 -0.0643881 0.0135908 0.194913 -0.310495 -0.000825927 -0.160246 -0.149871 -10.0891 0.0452199 0.0179868 0.13561 0.199456 -0.310686 0.000149736 -0.126507 -9.81821e-05 0.190292 -0.0689764 -0.000898332 0.108777 0.0148301 3.12467 -0.00354825 -0.266214 2.39058 1.22235e-05 -0.15117 0.255074 0.735411 -8.74723e-06 -0.18267 0.41003 -0.629461 1.35573 0 +307 0 0 0 0 0 0.193737 0.23035 0.165666 -0.482814 0 0 0.118573 0.510868 0 2.11647 0.0100328 0 0 0 0.070214 3.60956 0 0 0 0 -0.291771 0 0 -0.421433 -3.14224 0.538466 0 0.0139174 0 0 -0.112357 0.0174528 0 0 0.558375 1.52657 0 0 0.12417 2.9359 0 0.85527 -0.832383 -0.0754486 -0.0870088 2.06639 -0.158911 0 -0.0235554 0.228474 -0.405341 -2.47029 0.0534736 0.570984 0 0 -0.0682578 -4.41634 0 0.323685 -0.131456 -1.16402 0 0 0 0 0.341648 0.0279274 0 -2.96154 0.368252 0 0 0 -0.545828 0 -2.20029 7.00735 0 -0.576782 1.29255 0.901259 0 -0.705375 1.66827 -2.73953 8.46165 0 0 0 0.00154034 -0.000265888 0 0 0 0.0032784 -0.00779389 0 9.45403e-05 0 6.44737e-07 -0.000317129 0 0 0 0 0.00424207 0 -8.4557e-05 0 -0.00219139 0 0.0391729 -0.000879122 0 -2.20529e-06 0 0 -0.00334317 1.07203e-05 0.000346614 0 -3.19711e-05 0 -0.000556583 0.000762774 -0.000824225 0.000149823 -4.97814e-06 0 4.61148e-08 0 0 0 -2.28315e-06 0 0 2.17757e-05 -0.000129468 -0.00202761 -0.00189832 0 0 -0.000232785 0 0.00113761 0 0 -0.00367712 -6.07255e-06 0.0170503 0.00239713 0 0 -0.00312025 0.00910049 -0.000333077 0.0096966 0.0172474 0 0.000734668 0.000117166 0.01927 0 0 0 0.00854196 0 -6.3972e-05 -0.00209486 0 -2.35937e-06 0.000160762 0.00164666 0 -4.08096e-06 0.000278067 -0.000512325 -0.00280266 0 0.193737 0.00154034 0.23035 -0.000265888 0.241524 0.072458 -0.00137717 -0.374794 -0.054887 3.13932e-05 0.00275135 -0.0201387 5.02515e-07 -0.000217907 -2.96931e-05 -0.000780052 -0.0108129 0.00194154 0.652363 0.796667 0.0294704 -0.181631 -0.0292529 0.0397815 -0.151254 -0.285048 -0.0529409 0.0214942 2.68838 0.360184 -1.80192 1.03693 -5.80108e-07 -0.816974 -0.557321 -0.000429609 0.00928874 -0.0795682 0.0703899 -1.75397 -0.000488781 -0.0481199 2.59932 0.319788 0.0020241 0.051709 0.0405985 0.127851 0.0785693 0.973985 2.18424 1.85194 0.0367234 1.32766 2.93428e-05 1.24119 0.000229774 -0.398189 -0.0131975 0.0355023 2.41974 0.00431507 0.103526 -0.0132522 -5.0376 0.40769 0.70121 0.103017 0.59753 0.175565 1.13278e-05 -0.00706109 -4.21977e-05 -0.00130532 -0.261843 0.000384321 3.31958 0.0211317 -2.73064 0.000220228 -1.71805 4.46697 1.96673e-05 -0.568018 0.660431 0.00881553 -4.32849e-06 -0.37625 0.574868 -0.769533 1.63943 0 +308 0 -0.708174 -0.370377 0 0 -0.00248781 -0.303786 1.09526 2.2947 0 -0.275569 0 -0.652688 0 -1.02641 0 -1.10018 -2.90031 -0.0535881 0 0.529983 -0.00362135 0.217637 0 -0.0288172 0.573421 -0.425869 -0.00142814 0.6085 1.36685 -0.365037 0 0 0.540563 -0.0117816 0.363115 0 -0.0212404 2.96695 0 -0.254579 0 -0.0804609 0 -2.20815 0 -0.58322 0.939459 0 0 -0.125339 -0.0470584 1.54172 0 0 0 1.90881 0.0241654 0 0.0290557 0 0.367232 -0.343256 0.863333 -0.0785649 0.0592663 -0.665688 0.202843 -0.0670886 0 0.0451737 0.13989 0 -0.0179236 0.788147 -0.727823 -0.125648 -8.65259 0.292475 -6.25286 -0.270206 0.647564 -6.29832 -0.0388398 0.0378151 0.192651 -5.16446 0 0 0 0 -3.85624 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.00248781 0 -0.303786 0 0 0 0 -0.0649966 0.29816 0 0 0.0347129 0 -0.00282881 0 0.000843637 0 0 0.232739 0 0.289806 0.0507145 -0.0128633 0.0338991 0 0 0.0270108 0 0.114288 0 1.4922 -0.268901 0 0.299558 0.212456 -0.00162573 0 0.00237588 0 0 0.0220252 0 0.177354 -0.308798 0 0 -0.0201873 0 0 -0.259034 0.930719 -0.0675551 0 -0.911596 0 -0.0890918 -0.0904434 0.126972 -0.0325081 -0.132117 0.286413 0.198956 0.0911262 -0.587026 -6.36908 0.113869 0 0 0 0.055169 -0.0497774 0 0 0 0 -0.0898594 -6.91823 -0.820652 -0.590007 -0.307719 0.296814 -0.857591 0.000517622 -0.0045108 -0.0119064 -0.175733 0 0 0 0 0 0 +309 0 -0.570576 -0.319128 0 0 -0.148403 -0.228157 -0.339015 -1.1202 0 0.213617 0 -1.71261 0 -2.22377 0 -2.56368 -10.5261 0.0132255 0 -2.12592 0.0027588 -0.100725 0 0.0363832 -0.307721 -0.567775 0.00269986 0.369709 0.454057 -0.634203 0 0 -0.620904 0.0110748 -0.0454757 0 0.0339856 -2.33774 0 -1.10034 0 0.157098 0 -5.99352 0 -0.628662 0.431639 0 0 0.744893 0.116597 9.4761 0 0 0 5.97037 -0.12556 0 -0.0738295 0 0.823708 2.9883 0.84425 0.921123 -0.169176 0.161861 -0.06547 0.109438 0 -0.121293 0.113601 0 -0.0618735 5.04532 -0.159389 -0.262523 5.63478 -0.725317 4.28646 -0.0407754 0.0215715 1.39942 -0.221204 0.271787 -0.461101 0.901852 0 0 0 0 -1.28101 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.148403 0 -0.228157 0 0 0 0 -0.29013 0.281501 0 0 0.10887 0 0.0164643 0 0.00387835 0 0 -0.399997 0 -0.0937219 -0.0991472 0.0203961 -0.0436409 0 0 0.014879 0 -9.78677 0 -0.94713 -1.30652 0 -0.424718 -0.452655 0.00407784 0 -0.0490477 0 0 0.0404207 0 -3.55177 -1.40446 0 0 -0.157437 0 0 0.239925 2.0522 -0.128927 0 1.6495 0 -0.140268 0.165109 -0.105679 -0.281308 0.0841248 1.40006 0.254969 0.0978064 -0.423457 8.14064 0.069245 0 0 0 -0.0209603 -0.0796439 0 0 0 0 -0.0845971 2.5819 -0.592379 1.5615 0.042469 0.0459978 0.237008 -0.151454 0.156127 -0.128302 0.175136 0 0 0 0 0 0 +310 0 0.329597 0.228685 0 0 -0.0347146 0.102118 -0.926779 -1.73251 0 0.303395 0 -0.709012 0 -1.4433 0 0.260707 -1.23302 0.0338843 0 -1.68366 0.00688876 -0.41599 0 0.0595974 -0.650262 0.421786 0.00183969 -0.308745 -1.05005 -0.33045 0 0 -0.866946 -0.0196236 -0.441423 0 0.00623616 -1.88489 0 -0.393764 0 -0.113485 0 -2.83692 0 0.115451 -0.600897 0 0 0.509667 0.115551 0.999989 0 0 0 5.53616 -0.0558403 0 -0.0645238 0 1.18575 3.76584 1.83731 1.57729 -0.149463 1.16261 0.0392022 0.151472 0 -0.132646 -0.0646177 0 0.0414049 5.45751 0.75423 -0.0888162 3.83135 -2.22147 8.22948 -1.19316 1.33685 4.24916 -0.571999 0.596341 -0.658528 4.4669 0 0 0 0 2.96246 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.0347146 0 0.102118 0 0 0 0 -0.058027 -0.234744 0 0 0.0905644 0 0.0127481 0 -0.0017286 0 0 -0.409167 0 -0.689437 -0.0229438 0.048408 -0.0228412 0 0 0.0124418 0 -5.042 0 -1.06453 -0.874194 0 -0.180816 -0.861552 0.00548169 0 -0.0146855 0 0 -0.0360235 0 -2.37733 -0.27017 0 0 0.0201994 0 0 0.595425 1.66411 -0.0213231 0 3.27492 0 0.39179 0.0242463 -0.0166695 0.400609 0.22074 0.133991 -0.0262408 -0.0132575 -0.0176593 18.5018 -0.152099 0 0 0 -0.0714932 0.0470898 0 0 0 0 0.0704296 -9.66578 -2.60703 1.94138 -1.4139 1.00657 -0.470394 -0.189518 0.167297 -0.142227 0.0525536 0 0 0 0 0 0 +311 0 -1.16493 -0.199292 0.00149833 0.0360699 -0.156669 -0.071762 -0.476737 1.22069 0.00781737 -0.22048 0.0409605 -0.298629 -3.04838e-06 -0.56248 0.00133365 0.095243 -2.89715 -0.0253537 0.00193337 2.30291 0.00180676 -0.121812 3.90884e-06 -0.0801331 0.119231 0.352089 0.0100272 -0.118742 -1.23079 -0.159654 0.000181136 0.0636259 0.43373 0.0827384 -0.214368 0.00103711 -0.0397812 5.13022 0.0817096 1.08465 -0.000149138 0.26751 0.00184192 -1.57082 -0.00673078 0.531532 -0.514828 0.0945703 -0.0031799 -1.00027 0.0349675 -0.177177 -0.00204023 0.00233811 -0.0149407 -1.24059 0.00638655 -0.0419173 0.0811998 0.000205185 0.092135 -1.89102 0.558225 -1.37911 0.0748445 0.121161 0.877357 0.0619701 -0.000196603 0.548284 0.0748695 0.0305941 0.0817868 -0.966368 -0.0574876 0.302436 -15.765 -0.183474 -5.5303 -1.11195 1.51172 -4.91515 -0.18694 0.286826 -0.0819003 -1.43376 2.67193e-05 -0.000331997 0.00565689 -0.0700687 1.17541 0 0 0 0 0 0.00149833 0.0360699 -0.00211067 0 0 0 0 -6.02966e-05 0 -0.0058755 0 0 1.21474e-05 -6.69348e-06 -0.000570189 0 -0.000138068 7.02993e-05 -0.0247807 0 0 -0.0030703 -5.82672e-07 0 0.00212717 -0.194177 0 0 0.000815298 0.0023887 0 0.0355571 0 0.000104375 0 0 4.43217e-05 0 0 0.0649227 -0.000836797 0.000252365 0 -0.0288473 0.0141675 0 0 -0.0230375 0 -0.000418944 0.0522496 0.00148241 0 0 1.69956e-05 0.00432937 0 -0.00111964 0.0119019 -0.00413105 0.0862809 0.000285902 0.00367446 0 -0.00685669 0.00231733 0.00512549 -0.000908546 -0.0178078 0 0 0 0.0993541 0.00443111 0.0583268 -0.00210575 0.00555236 -0.00423453 -9.50371e-06 -8.11082e-07 -2.74755e-05 0.00361879 0 0 0 0 0 0 -0.156669 0 -0.071762 0 0 0 0 0.394331 0.437768 0 0 0.0154739 0 -0.00921645 0 0.0106044 0 0 -0.923812 0 -0.184518 0.16125 0.0376857 -0.0873935 0 0 0.121398 0 -13.0184 0 3.80527 -1.11291 0 1.22978 0.541212 0.00277703 0 0.0527287 0 0 0.0340882 0 -4.07774 -2.44869 0 0 -0.245779 0 0 0.38529 -0.197524 -0.599743 0 2.50257 0 -1.05922 0.00134915 0.169728 0.361999 -0.103821 -0.299811 0.517992 0.139387 -0.886201 10.6299 0.091723 0 0 0 -0.0355483 -0.0234676 0 0 0 0 -0.0787237 -17.1895 -1.36866 -2.73963 -1.458 1.19496 -2.01399 -0.0547388 0.0427081 -0.0213979 -0.500232 0 0 0 0 0 0 +312 0 0.0770564 0.193714 -9.90077e-05 -0.0104506 -0.0952974 -0.0197658 -0.0322284 -0.349397 -0.000576533 0.158278 -0.0174339 0.607828 1.13806e-07 0.743891 -0.000403665 1.12194 4.85842 0.0388024 -0.000608353 1.95688 0.00830366 -0.0786709 -1.85262e-07 0.0098434 0.0514298 0.255224 0.0104781 0.34319 0.242777 0.0489654 -1.06452e-05 -0.026509 -0.245157 0.0316443 0.0279045 -0.000298753 0.0347238 -2.11298 -0.0219627 0.757671 1.2617e-06 0.266684 -0.00042418 2.74703 -0.000242401 0.208365 0.331794 -0.0422757 0.000686637 0.735216 0.177067 -4.22961 0.000522617 -0.000739129 -0.00035063 -1.77943 -0.223284 0.035923 -0.107606 1.23303e-06 0.346325 -1.09771 -0.0815991 0.803397 -0.423364 0.238273 -0.479282 0.173852 1.4234e-05 -0.127374 0.0646512 -0.0226427 -0.0252834 -0.328947 0.0194752 -0.0650509 9.03557 0.132358 2.64305 0.626663 -0.635328 2.40424 -0.339219 0.462481 -0.598107 1.06292 9.62262e-07 3.74771e-05 -0.000366132 0.0166124 -0.231853 0 0 0 0 0 -9.90077e-05 -0.0104506 0.000162609 0 0 0 0 3.80574e-06 0 4.22105e-05 0 0 1.66074e-06 3.73152e-07 3.23221e-05 0 5.56419e-06 -3.72974e-05 0.0010167 0 0 -0.00682546 -1.10711e-07 0 -0.000107892 0.00631866 0 0 -0.000574889 -0.00305167 0 -0.00304199 0 -0.000104275 0 0 -8.57799e-06 0 0 -0.0175421 5.32586e-05 0.000185664 0 0.00227597 -0.000939073 0 0 0.00139473 0 3.5505e-05 -0.00629554 2.99528e-05 0 0 -1.04886e-05 -0.000367683 0 0.000221196 -0.00100819 7.8413e-06 -0.0110077 0.000977912 0.00123965 0 0.00096981 0.00106647 0.00136647 -0.000415924 0.00286597 0 0 0 -0.0159853 -0.00377599 -0.00278367 -6.19273e-05 -0.000554627 0.00730314 -1.07051e-05 -1.88675e-05 -7.32583e-06 3.81426e-05 0 0 0 0 0 0 -0.0952974 0 -0.0197658 0 0 0 0 -0.015777 0.62478 0 0 0.15377 0 0.0149507 0 0.0213703 0 0 0.331828 0 -0.258945 -0.0730592 0.124095 0.0527319 0 0 0.170002 0 1.75145 0 -1.71979 -0.775452 0 -0.212894 -0.43649 0.0131761 0 -0.0180419 0 0 0.0780003 0 -0.549869 0.682726 0 0 0.109755 0 0 -0.0398238 -1.57962 0.129742 0 0.603335 0 -0.498247 0.257295 -0.269723 -0.309391 0.0461147 0.517113 -0.240462 0.156257 -1.10475 4.58686 0.0287523 0 0 0 -0.130793 -0.138408 0 0 0 0 -0.147251 16.2642 1.41452 1.29613 0.540092 -0.196881 0.652751 -0.193828 0.252336 -0.236838 0.300169 0 0 0 0 0 0 +313 0 0.555257 -0.224565 0.00253709 0.114564 -0.0381954 -0.205541 -0.570044 -2.20359 0.0105843 0.720458 0.0413896 -0.720387 -4.44833e-06 -1.59597 0.000976977 -1.88204 -3.87033 0.153983 0.00160288 -4.5039 0.0276698 0.219094 4.82003e-06 0.149124 -0.0886097 -0.782206 0.0165286 0.48795 -0.0229557 -0.402477 0.000228762 0.0565671 0.0710785 0.0414113 0.218601 0.000969335 0.0274394 -1.04605 0.0652997 -2.28084 -0.000235529 -0.190207 0.00172098 -2.02633 -0.0122795 -1.17458 0.290836 0.0980957 -0.00341994 -0.400781 0.149191 4.39159 -0.00185939 0.00349057 0.00130382 0.990382 0.272038 -0.0457823 -0.137727 0.000327996 -0.917892 3.72454 -0.747168 -1.54402 -0.429707 0.085217 0.343409 0.264308 -0.000224729 -0.12977 -0.0969555 0.00932437 -0.0109357 1.17911 -0.102039 0.510359 -4.04232 -3.74135 8.04168 -2.31197 2.85675 -1.88807 -0.988171 1.1709 -1.43664 2.61994 4.87461e-05 -0.000439417 0.00590904 -0.0317598 0.0219228 0 0 0 0 0 0.00253709 0.114564 -0.00319568 0 0 0 0 -8.0922e-05 0 -0.00340924 0 0 -0.000152628 -4.76965e-05 -0.000461 0 -0.000128362 -0.000741983 -0.00942992 0 0 0.0408477 -3.47453e-06 0 0.00308428 -0.391244 0 0 0.00626172 -0.0368491 0 0.0654761 0 0.000608894 0 0 0.000111165 0 0 0.16763 -0.00115434 -0.00211849 0 -0.0467271 0.0216315 0 0 0.0343284 0 -0.0015972 0.119044 0.00119522 0 0 -0.00019611 0.00640071 0 0.00289537 0.0121678 -0.00338518 0.0775371 -0.00452367 0.00207989 0 -0.0102391 0.000906281 0.0424784 -0.0115766 -0.0155724 0 0 0 -0.580772 -0.0236452 -0.0476697 -0.00574959 0.00390697 -0.0185629 5.96043e-05 -9.24603e-05 0.000300666 0.00217066 0 0 0 0 0 0 -0.0381954 0 -0.205541 0 0 0 0 -0.0648904 -0.0587101 0 0 0.225449 0 0.0431119 0 0.0116714 0 0 -0.498259 0 0.887587 -0.036493 0.1703 -0.054159 0 0 0.0847486 0 2.95584 0 1.58882 -0.336247 0 -0.462691 1.33505 0.0235358 0 0.00573417 0 0 -0.00226444 0 -0.497632 0.539383 0 0 0.0678976 0 0 0.229469 -0.497907 0.139701 0 0.876248 0 -0.0728031 -0.0166352 -0.0844891 0.268403 0.0352653 -0.972748 -0.215125 0.0146065 0.301609 -0.0332794 -0.16094 0 0 0 0.125382 -0.013005 0 0 0 0 -0.0131243 -19.8913 -5.82835 5.76604 -2.26902 1.43381 -0.905975 -0.292814 0.208975 -0.169431 0.287375 0 0 0 0 0 0 +314 0 0 0 0 0 -0.431967 -0.298838 0.208346 2.27891 0 0 1.05687 -1.08944 0 -1.31312 0.196398 0 0 0 0.311347 2.53945 0 0 0 0 0.383867 0 0 -0.127144 -8.82304 -0.591804 0 0.557991 0 0 0.100097 0.193298 0 0 3.81639 -0.881028 0 0 0.94051 -2.40464 0 -1.08639 -2.32281 0.175861 -1.90935 2.84059 -1.8334 0 -0.347383 0.498794 -0.856521 -0.813539 -0.916688 -1.77321 0 0 -0.461388 2.706 0 -1.81868 -1.89065 1.27405 0 0 0 0 -0.673443 3.18787 0 -0.767415 3.2466 0 0 0 -6.01876 0 -6.68287 10.9852 0 -2.70172 3.29998 -3.37707 0 -3.94036 6.50043 -13.3195 30.5348 0 0 0 -0.228354 -0.0928584 0 0 0 0.050262 -0.032966 0 0.00477875 0 0.000273218 -0.0166959 0 0 0 0 -0.0914098 0 -0.0220098 0 -0.0637211 0 0.393577 0.231232 0 -0.000769152 0 0 -0.172611 0.00029948 0.0491929 0 0.0147331 0 -0.00222386 0.0374585 -0.00379137 0.0091973 -0.0138631 0 3.28814e-06 0 0 0 0.00108746 0 0 -0.00245169 0.00934579 0.0426113 0.0123666 0 0 -0.015983 0 0.0138427 0 0 0.00663858 -0.0313672 -0.136043 -0.0343547 0 0 0.0892956 0.0745189 0.0368431 0.0161014 -0.101487 0 -0.405068 -0.0235598 -0.102382 0 0 0 0.338181 0 -0.0575646 0.855646 0 -0.00532989 0.0983324 0.153598 0 4.84641e-05 -0.00470457 -0.0140793 0.549978 0 -0.431967 -0.228354 -0.298838 -0.0928584 0.419254 0.217412 -0.480202 0.845529 0.96376 0.152185 -0.035603 1.05346 0.0266185 0.221962 -0.141401 0.107851 -0.0641264 0.850931 -0.247811 1.44846 0.32212 0.0570716 0.1868 -0.0237847 -0.652121 -0.316786 0.974009 0.0209576 2.46871 0.0114886 2.88935 -0.44614 -0.0281785 0.536211 1.1292 0.0629102 0.00261748 0.109092 0.0621908 -1.57109 -0.0636704 -0.0562346 0.456181 -0.579781 -0.00356523 -0.042043 0.0221198 0.147297 -0.521583 -0.832536 -2.534 1.32541 0.193783 -1.51863 0.206866 -1.635 -0.185468 -0.721413 -0.438361 -0.190727 -0.376782 -0.966073 0.621086 -2.41748 -3.22037 -0.156272 0.54173 0.00089676 0.0466204 0.0502774 -0.53439 0.234441 -0.379458 0.251348 -0.0166674 -0.391429 -13.0703 -4.01191 -1.27944 -3.20918 1.43045 0.347369 -0.948147 0.679923 -0.488794 -0.842104 -0.756609 0.519603 -0.284907 -0.558665 2.01356 0 +315 0 0 0 0 0 0.385881 0.101956 0.657435 0.147254 0 0 0.809701 0.659513 0 2.12337 0.147506 0 0 0 0.262986 1.18148 0 0 0 0 0.0960762 0 0 -0.504602 -8.55469 0.398513 0 0.719021 0 0 0.130646 0.156078 0 0 1.99068 -0.103982 0 0 0.388249 3.6724 0 -0.0413236 -2.18747 1.24718 -1.02852 1.76034 -1.62449 0 -0.15999 0.129333 -0.58252 -0.382715 -0.484599 -1.42436 0 0 1.37008 1.74954 0 -1.40149 -0.847696 0.195476 0 0 0 0 0.208944 2.00101 0 -2.22575 1.55571 0 0 0 -0.811365 0 -4.08198 12.384 0 -2.14967 5.05007 -1.64857 0 -2.0478 6.61834 -10.7771 29.8586 0 0 0 -0.138465 -0.0276299 0 0 0 0.0310631 -0.0653752 0 0.00209441 0 0.00840703 -0.0220063 0 0 0 0 -0.0997976 0 -0.0157319 0 -0.181561 0 0.310783 0.440374 0 -0.00527068 0 0 -0.402153 0.00379918 0.0615481 0 -0.00516139 0 -0.00434885 0.207617 -0.0452103 0.0525167 0.0262435 0 0.000613629 0 0 0 -0.000348262 0 0 -0.0164802 0.000268551 -0.0297366 0.0506139 0 0 -0.036856 0 0.0124605 0 0 -0.0335469 0.000394246 -0.0525387 0.00818543 0 0 0.0674149 0.0407596 -0.0200843 0.0514076 -0.153941 0 -0.121227 -0.00387208 0.0267087 0 0 0 0.670878 0 -0.145744 1.14414 0 0.00960567 0.00350829 0.341329 0 -0.00582415 0.0275958 -0.0850944 0.572458 0 0.385881 -0.138465 0.101956 -0.0276299 0.960272 0.155398 0.00178911 0.683749 0.667677 0.0589948 -0.0256687 0.0813999 0.00806242 0.0168317 -0.0146555 0.0856026 -0.0081592 0.43545 0.320773 0.740321 -0.0332311 -0.0162029 -0.286349 0.0440427 -0.1593 -0.22925 0.724698 0.010118 8.75287 -0.00472798 0.507204 1.25868 -0.00437409 -0.163048 0.105276 -0.0379651 -0.00164322 0.0786709 -0.0118467 -2.02097 0.0400902 -0.0253989 4.35301 0.615642 -0.00214649 -0.00081139 0.0521494 0.0868016 -0.118685 0.919229 1.43414 0.0236277 0.0476414 -1.37079 -0.0351245 -1.03615 -0.230398 -0.0212138 0.304854 0.338599 -0.204813 0.227441 -0.519205 0.0548217 -4.41009 -0.0215209 0.417855 -0.116607 -0.304271 -0.341534 -0.0229961 0.019242 -0.167031 0.236617 0.23558 -0.272331 -2.29439 -0.4701 1.17666 -1.2104 0.357522 4.34562 -0.281719 -0.0823363 0.979707 -0.371883 -0.387183 0.234717 0.305725 -0.845812 3.06735 0 +316 0 0 0 0 0 -0.294425 0.369753 -0.633302 -0.259072 0 0 0.0419898 1.16032 0 1.95903 -0.0177538 0 0 0 0.125898 -0.777206 0 0 0 0 -0.427316 0 0 -0.880527 0.136065 0.655347 0 -0.158461 0 0 -0.357628 -0.00815825 0 0 -0.122848 0.243314 0 0 -0.119586 5.25634 0 0.609598 -1.03404 0.52272 0.11578 2.73808 0.110254 0 -0.161662 0.060867 0.127952 1.65401 0.85808 0.069699 0 0 -0.23826 0.934058 0 -0.556263 -0.237872 1.00562 0 0 0 0 -0.368541 -0.0261118 0 -1.27546 0.95723 0 0 0 -0.801456 0 0.0890807 0.641306 0 0.171807 -0.376936 3.04478 0 0.344286 -0.419241 0.975829 -0.504911 0 0 0 -0.000763814 0.0106558 0 0 0 0.0160971 -0.0160053 0 0.00326132 0 0.000661787 0.0377643 0 0 0 0 0.0752808 0 0.014929 0 0.210877 0 0.0866352 -0.10264 0 0.00020269 0 0 -0.00461827 0.000182385 -0.0144178 0 -0.0031548 0 -0.00111811 -0.0298628 -0.000166385 0.00329801 -0.0017513 0 4.45579e-05 0 0 0 -0.000226498 0 0 -0.0021821 -0.00150962 0.0623643 0.0118145 0 0 0.000353012 0 0.000933412 0 0 -0.0175623 -0.00219264 0.12567 0.0187535 0 0 -0.0897838 -0.0291511 -0.0392391 -0.0580661 -0.085317 0 -0.10672 0.00812501 0.0764398 0 0 0 -0.468925 0 -0.0193652 0.23321 0 0.000501641 0.018726 -0.0485113 0 -0.000510135 0.000769718 -0.00731724 0.150548 0 -0.294425 -0.000763814 0.369753 0.0106558 -0.176236 -0.0300921 0.236732 0.00285798 0.640864 -0.0113717 0.00465852 0.13089 -0.00227286 0.0185163 0.0302011 -0.0219249 0.0100957 -0.0474991 -0.489654 0.404806 0.417648 -0.182668 0.0124781 -0.0633965 0.0887163 0.0538766 -0.210652 0.00513243 7.3305 -0.0546494 2.26509 1.25881 0.00408189 -0.0695904 1.17142 0.00227675 -0.00321561 -0.0891821 -0.0275359 0.450088 0.0910111 0.00772859 2.39226 -0.0717052 0.000514422 -0.00246734 0.0333924 0.0590468 0.0141766 0.556319 -0.253288 0.582056 -0.0194359 0.0491153 -0.101886 -0.329784 0.157885 0.0114952 0.199691 0.146384 -0.40349 -0.0379955 0.0723217 0.959261 -1.78178 -0.210764 0.301289 -0.0113469 -0.000370481 -0.368438 -0.015965 -0.0153275 0.0419063 0.0542277 0.0434638 -0.118177 -10.2464 -1.57323 -0.835992 -0.899575 1.68948 -4.14721 -0.0314084 0.221761 -0.571766 0.352291 0.042234 0.0315006 -0.126098 0.208003 -0.622115 0 +317 0 -0.766556 -0.382749 -0.13044 -0.236826 0.19572 0.324218 -1.69466 -4.4333 -0.580475 3.70463 -0.307456 0.0929174 0.0569196 0.154023 -0.0392673 -2.19277 -10.0791 0.518106 -0.0454852 3.00665 0.131007 -0.120942 -0.0697618 0.976034 -0.926035 -0.216994 -0.0328719 -0.392589 0.378901 0.108432 -0.238501 -0.376578 0.787532 -0.517166 -0.542362 -0.0834347 -0.461253 7.13089 -0.865119 1.72854 0.231313 -2.24243 -0.259978 0.526477 0.862912 0.989165 -0.115182 -0.681277 0.629862 1.32684 1.8387 3.75921 0.13307 0.0100011 0.0539015 -2.78328 -0.617334 0.0660708 -1.57229 -0.451674 0.847588 -2.23218 -3.65563 3.18085 0.234896 0.482393 -2.8204 -0.636078 0.297633 -2.67774 0.409025 -0.668316 0.655833 -0.088763 0.135689 1.50684 -31.146 -14.7759 10.9415 -8.20949 7.07131 -11.0496 -3.86599 3.96132 -6.18879 8.21441 -1.28716 1.57499 -1.71686 1.84619 -1.25956 0 0 0 0 0 -0.13044 -0.236826 -0.00472892 0 0 0 0 0.000982074 0 0.00472933 0 0 -0.00447502 -0.0221041 0.0689384 0 0.00540861 -0.122306 0.087424 0 0 0.117679 -0.00160469 0 0.0115325 -0.713509 0 0 0.0216259 -0.204088 0 0.0417257 0 0.020985 0 0 0.00462222 0 0 0.0830471 0.0133874 -0.0600593 0 -0.0689403 -0.0614336 0 0 -0.0278867 0 0.00160233 -0.371487 0.00417795 0 0 0.00940092 0.0149259 0 -0.00989801 -0.0358295 -0.0210005 0.0526604 -0.0190537 0.0147502 0 -0.000115853 6.92673e-05 -0.191081 0.113317 0.00641931 0 0 0 0.415715 0.197189 -0.0503084 -0.0176445 0.0302187 0.106338 0.00630536 -0.0119083 0.0192324 0.027495 0 0 0 0 0 0 0.19572 0 0.324218 0 0 0 0 -0.438854 -1.9931 0 0 0.943526 0 0.117654 0 -0.0927491 0 0 0.415486 0 -0.305993 -0.181998 0.154365 0.0318039 0 0 -0.744374 0 -8.98992 0 1.82355 -0.0605843 0 -1.45775 -0.122774 0.0140393 0 -0.0381719 0 0 -0.256237 0 -1.83145 0.910083 0 0 0.0592098 0 0 0.157962 -2.65119 0.0189617 0 -0.706657 0 1.05368 -0.406147 0.299332 -0.615829 -0.00390193 0.0922914 -1.19469 0.22423 2.35128 6.96585 0.0908101 0 0 0 -0.25573 -0.209765 0 0 0 0 0.723477 -17.2957 -4.72396 3.09793 -0.792531 0.403764 -1.64022 -0.449358 0.480654 -0.816398 1.12181 0 0 0 0 0 0 +318 0 0.407273 -0.259989 -0.0748758 -0.262528 0.351908 -0.0560296 -1.3027 -3.82403 -0.410782 2.8121 -0.6982 -0.44338 0.0311135 -1.70636 -0.149035 -1.69091 -4.86973 0.495939 -0.303435 0.65715 0.129425 0.33979 -0.0360873 0.74474 -0.345733 -0.686692 0.0632326 0.653689 2.19867 -0.413916 -0.130094 -0.698814 0.741843 0.18397 0.0140392 -0.153816 -0.00772366 2.51515 -1.20289 -0.179069 0.138318 -0.459201 -0.266017 -1.65348 0.609277 -0.337787 1.18374 -1.53713 0.764596 -0.116816 1.77649 12.6845 0.363075 -0.266818 0.472143 1.35816 0.586546 -0.101301 -1.31322 -0.317232 0.893149 0.177516 -2.38124 2.29004 0.127343 0.580156 -1.90184 -0.169676 0.195262 -3.01734 -0.148296 -1.35647 0.265733 0.195295 -0.804093 1.06817 -13.9396 -10.5202 8.26548 -3.77719 3.42816 -5.12428 -3.9353 3.69719 -6.0546 9.45036 -0.908826 1.55362 -2.65251 4.36836 -7.30892 0 0 0 0 0 -0.0748758 -0.262528 -0.00016476 0 0 0 0 0.00167377 0 -0.0189892 0 0 0.00488899 0.0100729 -0.00438325 0 -0.00183205 -0.00472984 -0.138292 0 0 0.125858 0.000740845 0 -0.0702102 0.641209 0 0 0.00330064 0.178865 0 -0.182533 0 0.0153118 0 0 -0.000758362 0 0 -0.381176 0.0228492 0.0657402 0 -0.00623408 0.0188021 0 0 0.023601 0 0.018098 -0.0639836 -0.0467165 0 0 -0.0125695 0.0113135 0 0.0109056 -0.0130836 0.0319913 0.139633 -0.0329791 -0.011492 0 0.0020754 0.11847 -0.0584918 0.0553392 0.111214 0 0 0 2.25056 -0.198265 0.561393 0.038825 -0.0760883 0.24273 -0.00671427 0.012857 -0.0287174 0.0747509 0 0 0 0 0 0 0.351908 0 -0.0560296 0 0 0 0 -0.75099 -1.04462 0 0 1.04784 0 0.14344 0 -0.0836069 0 0 -0.0708494 0 0.785081 -0.220733 0.491646 -0.0418265 0 0 -0.555587 0 -6.34434 0 0.648642 -1.00345 0 -1.87823 1.0569 0.0726905 0 -0.092531 0 0 -0.148179 0 -2.97721 0.360756 0 0 -0.0195805 0 0 0.0486133 -3.25895 -0.220766 0 0.951009 0 1.41381 -0.400947 0.403835 -1.25472 -0.20022 0.290725 -1.17782 0.561267 2.28771 13.665 0.143953 0 0 0 0.0319146 -0.377794 0 0 0 0 0.383088 0.716021 -4.05002 7.23507 -1.15598 1.30166 -1.07692 -0.56449 0.663098 -0.972751 1.63408 0 0 0 0 0 0 +319 0 -0.774559 0.258309 0.00973433 0.0208922 -0.217656 -0.0375974 -0.58269 -0.0889393 0.0935252 0.275269 -0.00797254 -0.46348 -0.00408177 -1.58425 -0.0149707 2.32594 9.79185 0.0699966 -0.0101983 -0.710023 0.0276839 -0.04789 0.00558139 0.0340912 -0.0958991 0.70414 0.0573327 0.177473 -0.18504 -0.3622 0.0239122 -0.0542978 0.385055 0.0724397 -0.120179 -0.00035309 0.433632 3.58171 -0.0309344 -0.284778 -0.0123317 1.21983 0.00667835 -2.03855 -0.0162089 -0.113362 0.0150134 0.00538816 -0.00717922 -1.54894 0.489814 1.50437 -0.00451973 0.0242403 -0.0145549 -0.44201 -0.642708 0.260332 -0.170054 0.0218307 -0.0738931 0.370247 -0.147172 1.21197 -0.0483806 0.182592 -0.0877448 0.415143 -0.0488286 -0.0538251 0.137506 -0.132985 -0.20044 2.37128 -0.0042045 0.477783 -20.6192 -5.78003 2.23667 -3.67672 2.71896 -4.39708 -0.167636 0.260759 -0.292773 -0.492122 0.0241779 0.0056069 0.164948 -0.147958 0.615117 0 0 0 0 0 0.00973433 0.0208922 -0.00018275 0 0 0 0 -7.32352e-06 0 0.00160064 0 0 0.000818117 0.00340128 -0.00124436 0 4.23384e-05 0.00634859 0.00589792 0 0 0.0200699 0.000247237 0 0.0563573 -0.26797 0 0 0.00517046 -0.00822362 0 0.205897 0 -0.000776666 0 0 0.000410621 0 0 0.736012 -0.000124874 0.0113099 0 -0.00317115 0.0621202 0 0 -0.209498 0 0.00106153 -0.144576 -0.00220301 0 0 -0.00258581 0.000682763 0 0.0131326 0.0139231 0.01013 0.156292 0.0423025 -0.0314603 0 0.00319212 0.000988483 0.151667 -0.0528722 -0.154482 0 0 0 -3.05566 0.10745 -0.313446 -0.0737161 0.140421 -0.287071 -0.00128057 0.0024648 -0.00568365 0.0086587 0 0 0 0 0 0 -0.217656 0 -0.0375974 0 0 0 0 0.128496 0.0514798 0 0 -0.11764 0 -0.0113518 0 -0.000310087 0 0 0.51763 0 -0.570783 0.0507798 -0.0213414 0.0768241 0 0 0.0191456 0 -2.9891 0 1.26175 -0.878101 0 0.639841 -0.348982 0.00108541 0 0.00346602 0 0 0.00323145 0 -1.94496 1.22811 0 0 0.180474 0 0 -0.0867092 -1.3546 -0.0521727 0 0.80559 0 0.403753 -0.0190111 -0.028286 -0.169226 0.0391204 0.206936 -0.259457 0.085248 -0.684153 7.13797 0.0625933 0 0 0 0.183499 0.00438218 0 0 0 0 0.000163211 -14.8849 0.337502 -4.42816 0.0999562 -0.371541 -0.589784 0.0618383 -0.0634529 0.0245568 -0.46639 0 0 0 0 0 0 +320 0 -0.694489 -0.190806 -0.0957768 -0.321298 0.356947 0.0976251 -0.986096 -4.52963 -0.510124 4.16302 -0.43696 0.410183 0.0224197 0.958639 0.089029 0.98948 5.50583 0.742046 0.176148 -2.1649 0.141649 0.363959 -0.0231286 0.94365 -0.512419 -0.0882321 0.108442 0.0689846 0.937229 0.213728 -0.124656 0.407654 0.909319 0.501761 0.0444106 -0.050358 0.0603207 3.52384 -1.06116 -0.76041 0.141234 0.215508 -0.154098 2.20286 0.842377 -0.176957 0.380499 0.761599 0.467255 -0.470179 1.99208 -15.9183 -0.0942282 0.39844 0.378876 -2.63403 -0.480315 -0.122594 -1.64552 -0.351789 3.19147 1.24705 -2.8265 0.537878 -0.243091 -1.22105 -2.20145 0.0927543 0.176908 -2.64866 1.96134 -0.366005 -0.0467605 0.112021 -1.45256 -2.43137 -13.0125 -10.9645 6.71465 -4.14716 3.9721 -8.67032 -3.96511 3.24928 -7.04167 6.91401 -0.872175 1.01867 -2.31941 2.83276 -4.08149 0 0 0 0 0 -0.0957768 -0.321298 -0.00155088 0 0 0 0 0.000908029 0 -0.0215854 0 0 0.00171267 0.00455611 -0.000586009 0 -0.00171248 0.0133189 -0.123588 0 0 0.0576071 0.000332216 0 -0.0809993 0.479306 0 0 -0.000248613 0.131512 0 -0.212613 0 0.00595356 0 0 -0.00190095 0 0 -0.483444 0.0123375 0.0268176 0 -0.0225712 -0.0534351 0 0 0.123707 0 0.0123399 -0.468342 -0.0336849 0 0 -0.00414464 0.0128919 0 -0.00135465 -0.0171047 0.00839523 -0.233858 -0.0405854 0.00939513 0 0.00149374 0.111944 -0.127307 0.08981 0.0928466 0 0 0 2.70397 -0.156047 0.716828 0.0509129 -0.0990319 0.280961 -0.00175859 0.00360034 -0.0204494 0.125598 0 0 0 0 0 0 0.356947 0 0.0976251 0 0 0 0 -0.653609 -1.54517 0 0 1.2952 0 0.175835 0 -0.0576747 0 0 -0.148114 0 0.583359 -0.226952 0.528678 -0.0368939 0 0 -0.520444 0 0.300013 0 3.30718 0.414442 0 -1.63474 1.40922 0.0756382 0 -0.089476 0 0 -0.173776 0 0.706317 0.126301 0 0 -0.0299157 0 0 0.224388 -4.59844 -0.593952 0 -0.950944 0 1.69619 -0.311522 0.451402 -0.620456 -0.09905 -0.645644 -1.43256 0.595572 1.05512 -7.45994 0.0746253 0 0 0 -0.40158 -0.334456 0 0 0 0 0.519619 -18.5979 -6.44392 5.87698 -1.72392 1.92941 -3.24125 -0.6096 0.714493 -1.12361 1.3098 0 0 0 0 0 0 +321 0 0.641413 0.399763 -0.0192529 -0.11244 0.29254 0.247875 -1.02578 -2.96833 0.0280916 0.920679 -0.128378 -0.0630054 0.00404313 -1.18082 -0.0134876 2.011 6.81223 0.0138793 -0.00163981 0.377412 0.0201081 -0.250304 -0.000956367 0.189639 -0.455152 0.746258 -0.0201687 -0.202106 -0.0136873 -0.145469 -0.00202379 -0.193321 -0.392862 -0.226554 -0.304985 -0.00905419 0.049341 -1.22301 -0.3347 0.448415 0.0387316 -0.321563 -0.02494 -0.494065 0.366063 0.36871 -0.101682 -0.18183 0.0850938 -1.53762 0.346128 -10.8515 0.0441573 0.0895481 0.21898 -3.28077 -1.21365 0.0981728 -0.486669 -0.116138 0.0445671 -0.248237 -1.70009 -0.571183 0.479054 -0.611465 -0.55082 -0.547022 -0.0505215 -1.4862 0.418642 -0.140056 0.127672 1.52109 -0.789366 -0.913897 1.00183 -3.75811 8.69836 0.282997 0.0329922 2.81951 -1.00933 1.09823 -1.8878 5.04092 -0.379011 0.377217 -0.789989 0.721158 0.0596061 0 0 0 0 0 -0.0192529 -0.11244 -0.00353598 0 0 0 0 -0.000592359 0 -0.0284032 0 0 0.00377223 0.0070314 -0.0212783 0 -0.00263977 0.0580144 -0.221615 0 0 0.0314274 0.000518279 0 -0.00857358 0.806606 0 0 -0.00197544 0.262469 0 -0.0377298 0 0.00456407 0 0 -0.000382761 0 0 -0.149792 -0.00832689 0.0529255 0 -0.0508961 0.0269437 0 0 0.026134 0 -0.00383498 -0.244958 -0.00724954 0 0 -0.0117066 0.00933295 0 0.00824806 0.0125636 0.0190308 -0.464091 -0.00567886 -0.011976 0 -0.0106597 0.0673966 -0.0117925 -0.0373771 0.00227497 0 0 0 1.67478 -0.162933 0.764965 0.0217697 -0.0442762 0.188592 -0.00553665 0.0107434 -0.0295107 0.141697 0 0 0 0 0 0 0.29254 0 0.247875 0 0 0 0 -0.329897 -0.0518161 0 0 0.366384 0 0.0433591 0 -0.0224513 0 0 0.256675 0 -0.603162 -0.137595 0.0810669 0.0373568 0 0 -0.264776 0 0.979945 0 -1.88508 -0.118992 0 -1.24559 -0.801238 0.00814048 0 -0.0319722 0 0 0.0140105 0 -0.620352 0.906803 0 0 0.111868 0 0 0.184184 -0.437212 -0.475028 0 1.76464 0 -0.821988 -0.124603 0.191518 -0.86754 -0.115368 0.980192 0.347988 0.212112 -2.33659 -3.14091 0.150198 0 0 0 0.000564008 -0.159086 0 0 0 0 -0.0435602 10.9458 -0.503358 4.10171 0.61129 -0.989588 2.19187 -0.19876 0.238859 -0.351063 1.03803 0 0 0 0 0 0 +322 0 -0.477498 -0.340883 -0.0216658 -0.10989 0.0066691 -0.296899 0.524153 0.971026 -0.196603 0.183062 -0.195508 -0.56301 0.00445426 0.239364 0.0418535 -1.696 -5.97913 0.074809 0.036247 -0.200025 0.0174545 0.130801 -0.00473467 0.0632794 0.326663 -0.554204 0.044905 0.73196 2.15981 -0.277095 -0.0304045 0.311606 0.208105 0.170805 0.295934 -0.0199853 0.108708 1.54399 -0.449057 -0.658694 0.0262226 -0.143728 -0.0575065 -0.515548 0.135677 -0.737822 1.25036 0.216575 0.216201 1.76676 0.327879 2.29663 -0.0719847 0.0867298 0.0361743 1.52298 -0.298459 0.144157 -0.0754981 -0.0721559 1.01452 -0.0682556 -0.242868 1.41799 -0.250631 -0.473207 -0.582062 0.051892 0.0648654 -0.145992 0.339689 -0.0250412 -0.103234 0.502617 -0.934957 -0.83573 -9.84157 -1.4345 -3.65872 -0.864266 0.2792 -3.27583 -0.275407 0.0441014 -0.467663 -4.17129 -0.140476 0.308061 -1.41353 2.1811 -9.40565 0 0 0 0 0 -0.0216658 -0.10989 -0.00253627 0 0 0 0 -2.37414e-05 0 0.00403882 0 0 8.09832e-05 0.00119018 0.00417604 0 0.000139894 -0.000847863 0.0404857 0 0 0.165527 9.31662e-05 0 0.00514277 0.170855 0 0 0.0245839 0.0360703 0 0.0704676 0 0.0205502 0 0 0.00266039 0 0 0.343564 -0.00043425 -0.000118511 0 -0.0363583 0.0295765 0 0 -0.114488 0 0.00109771 0.115015 -0.00550801 0 0 -0.00293487 0.00678284 0 0.00920556 -0.0141134 0.0118785 -0.0241768 0.0129753 -0.0185389 0 -0.000163952 0.0168579 0.0208593 -0.0239164 -0.0394111 0 0 0 -1.48188 0.0406358 -0.216353 -0.0326408 0.0625291 -0.147554 -0.000736778 0.00142197 -0.00155706 -0.0144764 0 0 0 0 0 0 0.0066691 0 -0.296899 0 0 0 0 -0.291347 -0.282845 0 0 0.118371 0 0.008562 0 0.0215864 0 0 0.21185 0 0.438311 0.0269719 0.106354 0.0361935 0 0 0.150973 0 -1.15276 0 0.984953 -0.210667 0 0.0326872 0.299201 0.0111194 0 -0.0203204 0 0 -0.0284861 0 0.25167 0.183185 0 0 0.0475059 0 0 0.0965419 0.031598 -0.196307 0 0.624989 0 0.387773 -0.101558 0.117272 -0.342902 -0.0342939 0.318554 -0.0944585 0.0603246 -1.00765 -1.91002 0.0792743 0 0 0 0.0128972 -0.0574129 0 0 0 0 -0.00462024 -15.8588 -0.018598 -3.45726 0.0960277 -0.406775 -0.0259784 -0.0513232 0.0527348 -0.103107 0.125549 0 0 0 0 0 0 +323 0 0 0 0 0 0.0507744 0.229604 -0.996679 -1.45059 0 0 -0.448183 1.08054 0 1.29927 0.0580834 0 0 0 0.268382 1.53969 0 0 0 0 -0.324256 0 0 -0.132796 2.37013 0.507669 0 0.464964 0 0 -0.227899 -0.0688451 0 0 -1.48963 0.608381 0 0 -0.266367 3.49964 0 0.613085 0.21956 1.34812 0.409305 1.16401 0.252518 0 -0.404373 0.00506314 -0.0766016 1.03485 0.556862 -0.102273 0 0 -0.290507 0.899425 0 0.0795216 -0.509889 0.850554 0 0 0 0 -0.171855 -0.350361 0 -0.0170689 0.250337 0 0 0 1.3081 0 1.72017 -2.51104 0 0.333875 -0.639608 1.54177 0 0.753953 -1.57116 3.16162 -4.41452 0 0 0 0.163732 0.0409429 0 0 0 0.000893257 -0.00254393 0 0.000637003 0 0.00304789 0.0220947 0 0 0 0 0.11083 0 0.0215754 0 0.178028 0 0.012208 0.0029828 0 -0.012584 0 0 -0.223265 0.000706413 -0.0275964 0 -0.00429208 0 -8.58608e-05 0.042455 -0.0608951 0.0141351 -0.00702672 0 0.000143959 0 0 0 -0.00020044 0 0 -0.00179274 -0.000905204 -0.242727 -0.00775489 0 0 -0.0116364 0 -0.000704005 0 0 0.00876468 -0.00424256 0.171775 0.00166088 0 0 -0.206729 -0.0492116 0.014714 -0.0385378 0.554214 0 -0.136929 0.00196274 0.00509411 0 0 0 -0.787971 0 -0.0523109 0.864185 0 -0.00329297 0.053406 -0.128443 0 -0.00045542 0.00754962 -0.0326288 0.501948 0 0.0507744 0.163732 0.229604 0.0409429 -0.178195 -0.0759884 0.495295 -0.193061 0.499077 -0.0361977 -0.0227099 0.391418 -0.00748456 0.0342167 0.0814945 -0.0161758 -0.04684 -0.151683 0.188202 0.430009 0.574632 -0.0635029 0.418551 0.0388314 -0.254371 0.148816 0.128856 -0.0136062 3.10632 -0.375745 2.95546 0.615757 0.0121781 -0.317766 1.63736 0.0592757 -0.00725348 -0.051385 -0.0725481 0.892271 0.0118578 0.0240509 1.0241 0.872935 -0.00487214 -0.037784 0.191957 0.0069686 0.310492 -0.616762 1.46996 0.493003 0.127811 0.733068 -0.215448 0.166183 -0.0504195 -0.159507 -0.407429 0.00644557 1.0434 0.30921 0.131911 0.249215 5.911 0.100262 -1.18766 -0.0913052 -0.0437435 0.46131 -0.0196862 0.0279083 0.0893162 -0.0488119 0.0492286 0.023786 -14.4796 -2.29136 1.54042 -0.239973 1.1408 -2.42818 -0.0126027 0.147388 -0.444147 0.0441796 0.0627723 0.112512 -0.332282 0.532717 -0.992381 0 +324 0 0 0 0 0 0.621088 0.331841 -0.366855 -2.06885 0 0 -0.25879 1.16894 0 2.20103 0.0396228 0 0 0 0.0519854 3.75416 0 0 0 0 -0.328374 0 0 -0.0352098 0.950089 0.614758 0 0.236435 0 0 -0.170524 -0.0491155 0 0 -0.863878 2.03651 0 0 -0.179993 4.14046 0 1.16638 0.537024 0.33044 0.367605 -0.104418 -0.415064 0 -0.232716 -0.0605113 0.136582 -1.05647 0.220335 0.0303079 0 0 0.155111 -3.45907 0 0.482987 0.728768 1.43125 0 0 0 0 -0.367136 -0.573446 0 -3.8011 0.18856 0 0 0 2.4673 0 0.817098 -0.110709 0 0.0662852 -0.278578 3.06848 0 0.842421 -0.838701 1.62066 -1.66078 0 0 0 0.100367 0.0202279 0 0 0 -0.0154631 -0.0174583 0 -0.00247649 0 -0.00266315 -0.0411047 0 0 0 0 -0.0428442 0 -0.00101072 0 -0.329717 0 -0.0713984 -0.748573 0 -0.00749947 0 0 -0.165701 -0.00105132 -0.116856 0 -0.00631733 0 -0.000743161 -0.295968 -0.0383718 -0.0244566 -0.0440599 0 -0.000122169 0 0 0 -0.000294108 0 0 0.00256367 -0.00278503 -0.0144064 -0.0416864 0 0 0.0104386 0 -0.000695511 0 0 -0.0148589 -0.0117171 -0.282164 0.0348693 0 0 0.0646738 -0.0182719 0.0165035 -0.456512 -0.00587606 0 -0.225918 0.0169006 -0.0024664 0 0 0 1.10315 0 0.10141 0.518134 0 0.00658708 0.0288681 0.368974 0 0.000905745 0.00404693 0.0178996 0.296255 0 0.621088 0.100367 0.331841 0.0202279 0.181886 -0.0127733 0.0904788 -0.813088 -0.486267 -0.035148 0.0469653 0.0749501 -0.00549673 0.0173519 0.0279186 -0.0462319 0.0056037 -0.223447 0.0513699 -0.715481 0.049564 -0.244041 0.23255 -0.0333713 0.112036 0.0139327 -0.27879 -0.0356687 1.23109 -0.0427139 -0.262494 1.18719 0.00544659 -1.72214 0.039604 0.0363236 0.00344385 -0.133936 0.0174924 -0.0142225 -0.0705719 0.00763616 1.86097 -0.535163 0.00517247 0.00223238 -0.204791 -0.186505 -0.355623 -0.49161 1.10756 -0.0827963 0.0359746 -2.3707 -0.0404648 1.64007 -0.159574 0.190419 -0.436318 0.201785 0.11014 -0.324259 -0.257143 0.17318 -2.35165 -0.0942605 0.252124 -0.0133268 0.116721 -0.466626 0.0451311 0.0477814 0.0846915 -0.224403 -0.0718776 0.248967 1.28603 -0.0652501 5.32816 0.60168 0.23076 0.429889 0.0852368 0.133114 -0.194607 0.942273 0.092471 0.0924488 -0.177952 0.415887 -0.572921 0 +325 0 0 0 0 0 -0.194951 0.114448 -0.00949756 0.99826 0 0 0.412437 -0.084605 0 -1.07941 -0.0752964 0 0 0 -0.325405 -2.22846 0 0 0 0 -0.0280512 0 0 -0.803097 0.357939 0.171464 0 -0.86471 0 0 -0.22268 0.0828029 0 0 0.917737 -0.724206 0 0 0.189167 -3.67869 0 0.0858301 -0.719732 -2.68067 -0.309458 -0.53246 -0.111242 0 0.619012 -0.0567179 0.0182884 -0.39787 0.332487 -0.464147 0 0 0.196851 2.19617 0 0.89588 0.305916 0.66546 0 0 0 0 -0.0198197 0.0281733 0 0.524001 0.102014 0 0 0 -1.19538 0 -0.66221 -1.9235 0 0.0136946 -0.199154 -1.94377 0 -0.32597 -0.909907 -0.247277 -2.20149 0 0 0 -0.0788986 -0.0522331 0 0 0 0.0412092 0.000944799 0 0.00447625 0 -0.00502098 0.0325315 0 0 0 0 0.108163 0 0.00140016 0 0.231111 0 0.302111 0.245398 0 0.0248609 0 0 0.680659 -0.00118902 0.0856998 0 0.00654672 0 -1.98825e-05 0.153537 0.136738 -0.0239403 0.038987 0 -0.000237056 0 0 0 0.000305508 0 0 0.00283218 0.00131369 0.2293 0.0265421 0 0 0.0530497 0 0.00145325 0 0 0.0254054 0.0218812 -0.0100824 0.0235161 0 0 -0.0249734 -0.133281 0.0252147 0.109117 0.312497 0 0.618115 0.00993256 -0.175939 0 0 0 -0.566104 0 0.0863111 -2.48189 0 0.00530236 -0.149339 -0.408443 0 0.000745135 -0.021143 0.0756873 -1.38975 0 -0.194951 -0.0788986 0.114448 -0.0522331 -0.123809 -0.00401786 -0.197736 -0.11965 0.757072 0.0831711 -0.0445816 0.360929 0.0142302 0.0696014 -0.0760464 0.0404649 -0.0144395 0.478585 -1.21553 0.246145 -0.332008 0.0556479 -0.217152 -0.134808 -0.409314 0.0999226 -0.0273288 0.0136208 -5.78204 0.024709 -1.45659 0.228896 -0.0150599 0.0165283 -0.967596 -0.0312026 0.00153761 -0.00118853 0.0123589 0.619985 0.14931 0.0153497 -1.71502 -3.32192 -0.00128941 -9.06786e-06 -0.344428 0.0597128 -0.039618 -1.09909 0.3002 -0.227393 0.100649 0.82266 0.0855938 0.965995 0.406019 -0.0966728 -0.0114355 0.280526 -0.181763 0.912125 -0.25668 0.472534 0.168455 0.16358 -0.473926 0.131194 -0.0505507 0.759959 -0.162573 -0.00224822 -0.18235 -0.237642 0.0357087 -0.240072 7.13623 -0.227415 -0.102017 -0.870965 -0.154423 -1.1074 -0.290462 -0.0677468 0.165302 -0.684908 -0.198057 -0.0326287 -0.0432565 0.0598681 -0.583263 0 +326 0 0.504778 0.276514 0.0373431 0.213024 -0.194322 0.00838352 0.574749 1.15771 0.372474 -1.00052 0.169278 0.23082 -0.00489427 0.677664 -0.0358806 0.776522 3.50993 -0.128519 -0.0840809 2.96218 -0.0213677 -0.34667 0.00658934 -0.15525 -0.0161914 0.287683 -0.01979 -0.113106 -0.334853 0.101792 0.0503922 -0.173757 -0.59635 -0.146089 -0.0384827 0.0119807 0.145957 -1.99522 0.293317 1.30242 -0.0317805 0.398492 0.0294032 1.58897 -0.186397 0.529568 -0.187825 -0.481211 -0.0681416 -0.395612 -0.207188 -0.266643 0.289732 -0.13401 -0.00104541 -2.23694 0.427585 0.54967 0.195898 0.0764596 0.264985 -3.00478 0.336128 0.382298 0.307143 -0.348204 -0.309997 -0.065999 -0.103116 -0.00207942 -0.199791 0.00752681 -0.135692 -1.65634 0.261352 1.02911 4.50522 2.24175 -1.64969 0.742314 -0.823109 2.69684 0.553823 -0.551864 1.3102 -1.1176 0.0796853 -0.0800556 0.139803 -0.138547 0.245134 0 0 0 0 0 0.0373431 0.213024 -0.00037282 0 0 0 0 -0.000211809 0 -0.0184967 0 0 1.0079e-05 -0.000411541 -0.0318742 0 -0.0047711 -0.0407725 -0.113274 0 0 0.0335191 -1.55864e-05 0 0.0247874 -0.321833 0 0 0.00397132 -0.0966801 0 0.0713173 0 -0.000112514 0 0 8.29469e-05 0 0 0.0188412 -0.00456074 -0.001329 0 -0.00880632 0.026302 0 0 -0.148313 0 -0.00207891 -0.588813 0.00654247 0 0 -0.000172462 -0.000622799 0 0.00215951 0.00194944 -0.0122876 1.01315 -0.0184826 -0.0211074 0 6.27823e-05 -0.0122867 0.00509073 0.025811 -0.21635 0 0 0 -0.551459 -0.0131348 0.366176 -0.00291251 0.00784056 -0.0967463 7.69067e-05 -0.00020228 0.00257259 0.127042 0 0 0 0 0 0 -0.194322 0 0.00838352 0 0 0 0 0.206057 0.152859 0 0 -0.74777 0 -0.0846324 0 -0.00424303 0 0 -0.117623 0 -0.784751 0.0833815 -0.28828 -0.0623639 0 0 -0.0209683 0 1.02156 0 -2.80589 -0.453805 0 0.48501 -1.37513 -0.0342189 0 0.0419088 0 0 0.0195168 0 -0.223764 -0.140939 0 0 -0.0966696 0 0 -0.44654 0.0451371 -0.156364 0 -0.873625 0 -0.104297 -0.0304987 0.0891231 0.220826 0.0980191 0.0877543 -0.0590181 -0.0879915 0.376614 -2.32739 -0.0801694 0 0 0 0.252237 0.105149 0 0 0 0 -0.0963064 16.2083 3.9309 -1.93958 0.794835 -0.387259 0.485964 0.208691 -0.164704 0.256986 -0.197272 0 0 0 0 0 0 +327 0 0.923777 0.0341057 0.00546155 0.12372 0.000282031 -0.273574 0.692394 0.929407 -0.0340633 0.0462632 0.155092 -0.377011 -0.000558208 -0.80663 0.0214046 -0.249882 1.32169 0.126479 0.0373207 -2.19758 0.033736 0.302494 -0.000173392 0.122512 0.473516 -0.454594 0.0292953 0.604586 0.279823 -0.334311 -0.00288308 0.275923 0.103397 0.165025 0.425751 0.0150703 0.132797 -2.73881 0.314965 -1.51088 -0.00820423 0.313433 0.0310267 -0.971046 -0.114597 -0.958673 0.496929 0.520377 -0.0646341 -0.56419 0.118097 -0.0083747 -0.0461829 -0.028916 -0.0493878 -0.907911 0.224135 0.130774 -0.127037 0.0209214 0.728202 1.15097 -0.829641 0.00425582 -0.188511 -0.483402 -0.0805923 0.211213 0.0330814 -0.514872 0.141825 0.128727 -0.383102 0.310564 -0.516381 -0.013482 5.27475 1.11168 -2.60107 1.63586 -1.9819 2.59135 -0.0554456 0.054496 -0.0434298 -0.621659 0.0489908 -0.0779965 -0.0178665 -0.0892284 -0.204849 0 0 0 0 0 0.00546155 0.12372 0.000773275 0 0 0 0 6.78542e-05 0 -0.00320789 0 0 -0.0009281 -0.00275064 0.00557935 0 0.000580634 -0.0127182 4.49243e-05 0 0 0.0676825 -0.000122268 0 -0.0111158 -0.113506 0 0 0.0108209 -0.0673699 0 -0.0960421 0 0.00127854 0 0 0.00010311 0 0 -0.646272 0.00138478 -0.0224869 0 0.0155632 0.0685423 0 0 -0.107543 0 0.000410004 0.179949 0.0204284 0 0 0.00191387 -0.00225276 0 -0.00382558 0.0161879 -0.0159636 0.0195915 0.0364144 0.0176116 0 -0.0021427 -0.101561 -0.0157218 -0.0104332 0.00307561 0 0 0 3.41439 0.184818 -0.0291042 0.0125572 -0.0303794 0.480046 0.000865239 -0.00216595 0.0287515 -0.0527173 0 0 0 0 0 0 0.000282031 0 -0.273574 0 0 0 0 0.0435675 -0.100535 0 0 -0.293423 0 -0.0351251 0 0.0156514 0 0 -0.459425 0 0.3241 0.0364696 -0.0775501 -0.073158 0 0 0.16898 0 0.126252 0 -2.48346 -0.69335 0 0.201302 -0.118837 -0.0105617 0 0.000798989 0 0 -0.021057 0 -0.899619 -0.403437 0 0 -0.0905454 0 0 0.0240714 0.422446 0.0808275 0 -0.458298 0 -0.039885 0.0509083 -0.0358607 0.330991 -0.0418702 -0.402624 0.339504 -0.0598947 -0.664692 -6.66248 -0.00611219 0 0 0 -0.14611 0.115858 0 0 0 0 0.0435743 15.9535 2.28926 -0.745562 0.679279 -0.705319 1.18858 0.138601 -0.11786 0.172405 -0.182756 0 0 0 0 0 0 +328 0 -0.683721 0.062812 -0.0488438 -0.113995 -0.00486001 -0.0113138 -0.483207 -1.0343 -0.356954 1.44826 -0.201195 -0.0243541 0.00849479 -0.187708 0.0626164 -0.411534 -2.17728 0.199596 0.132901 2.29718 0.04475 -0.181675 -0.00961612 0.314269 -0.151249 -0.0992484 0.00600211 0.321174 0.939807 -0.183214 -0.0647182 0.430726 -0.10283 -0.114751 -0.0872274 -0.0186297 -0.140159 1.10263 -0.505247 0.839412 0.0648624 -0.994388 -0.055702 0.690274 0.488292 0.135092 0.542045 0.889099 0.186533 -0.25617 0.474742 0.187579 -0.239959 0.271634 -0.214008 -0.752634 -0.00544679 0.101271 -0.480023 -0.158007 1.2737 -1.38815 0.574548 -0.279533 -0.377153 0.0331216 -0.286686 0.109738 0.118222 -0.460744 0.286772 0.00533337 0.342656 -0.6129 0.0302306 0.867012 -4.06766 -1.87559 0.115431 -1.54539 1.16052 -1.98296 -1.00901 0.857003 -1.69516 1.28447 -0.208747 0.153471 -0.379617 0.272458 -0.688 0 0 0 0 0 -0.0488438 -0.113995 0.000246653 0 0 0 0 0.000320681 0 0.032125 0 0 -0.000187226 0.000437275 0.0599592 0 0.0084399 0.106025 0.234204 0 0 0.187377 1.46059e-05 0 0.00931441 1.18135 0 0 0.0239247 0.371054 0 0.190414 0 0.0241768 0 0 0.00275494 0 0 0.674443 0.00693114 -0.0014077 0 0.00744112 -0.0104518 0 0 0.191952 0 0.0031123 1.15341 -0.0103504 0 0 0.00019437 0.00182832 0 0.00300244 -0.0342194 0.0250967 1.56825 0.0544811 0.0251706 0 0.0152553 -0.128108 0.340454 0.0218221 0.050731 0 0 0 -4.66185 -0.141015 -1.24088 -0.0193326 0.046477 -0.580364 -6.8585e-05 0.000218176 -0.00236009 -0.287268 0 0 0 0 0 0 -0.00486001 0 -0.0113138 0 0 0 0 0.0153 -0.886739 0 0 0.510752 0 0.0747645 0 -0.0187953 0 0 0.581969 0 -0.087506 0.0224287 0.273172 0.0717757 0 0 -0.219145 0 -1.91834 0 1.77215 -0.491295 0 0.146383 0.473972 0.0434876 0 -0.0067259 0 0 -0.099599 0 -0.881404 1.41741 0 0 0.187992 0 0 0.138218 0.528785 -0.143763 0 -1.45187 0 -0.199021 -0.0518642 0.0282074 -0.909313 0.00489134 1.32437 -0.431259 -0.00378471 0.577267 -4.06848 0.145942 0 0 0 -0.281644 -0.19625 0 0 0 0 0.276915 -7.97034 -1.83453 -0.132442 -0.57055 0.43619 -0.557254 -0.195664 0.128962 -0.138424 0.0377159 0 0 0 0 0 0 +329 0 -0.2273 -0.300469 0.00599149 0.0150893 -0.0590706 -0.271173 0.738815 1.26109 0.0294434 -0.603131 -0.0692433 -0.500945 -0.00112476 -0.974201 -0.0283659 -1.38216 -6.04497 -0.126677 -0.0674711 0.117395 -0.020673 0.151233 0.00119584 -0.109947 0.534444 -0.376784 0.0069074 0.518597 1.2481 -0.313857 0.00838182 -0.352662 -0.0658993 0.0157947 0.368423 -0.00339278 0.0196717 -0.481848 -0.162343 -0.573517 -0.00724549 -0.196006 -0.0132893 -1.89563 -0.0464775 -0.725246 0.835693 -0.764654 -0.0340268 -0.783282 -0.202831 -1.7777 0.217141 -0.0149152 0.0235247 1.55064 -0.611809 -0.264865 0.120979 0.0159807 -0.52381 0.666328 -0.800156 -0.0958946 0.15773 -0.567104 -0.310163 -0.024755 -0.0123161 0.0348466 -0.242277 -0.256172 0.135975 1.25101 -0.670343 -1.34635 -1.20757 0.882916 -3.11765 -0.114005 0.514566 -2.47986 0.148706 -0.00238338 0.311198 -2.3498 0.00191801 0.00708482 0.031568 0.0999167 -3.07859 0 0 0 0 0 0.00599149 0.0150893 -0.000220448 0 0 0 0 -6.17647e-05 0 -0.00456191 0 0 0.000338861 0.00102284 -0.00829417 0 -0.00145571 0.00561264 -0.0125658 0 0 0.0301101 4.79894e-05 0 0.0182277 0.0481584 0 0 0.00102185 0.0516519 0 0.0784437 0 0.00490895 0 0 0.0004164 0 0 0.299246 -0.00131744 0.0070499 0 -0.00480816 0.00554024 0 0 0.00436593 0 -0.00047482 0.0583089 0.000999956 0 0 -0.000640921 0.000289448 0 0.00388194 -0.0349321 0.00230647 1.73771 0.0076424 -0.00677659 0 0.00817344 -0.0878666 0.12267 0.0454077 -0.126747 0 0 0 -2.95491 -0.128927 -0.173951 -0.0141962 0.032865 -0.449123 -0.000241322 0.00046204 -0.0068015 -0.00221521 0 0 0 0 0 0 -0.0590706 0 -0.271173 0 0 0 0 0.0146111 -0.691034 0 0 -0.42451 0 -0.0637563 0 -0.0170678 0 0 0.183807 0 0.217152 0.0627504 -0.223809 0.0254201 0 0 -0.242084 0 -2.6055 0 0.122641 -0.330329 0 0.367991 -0.194324 -0.037351 0 0.0121762 0 0 -0.0601164 0 -0.77342 0.54336 0 0 0.0619254 0 0 -0.146641 -0.163551 -0.0706587 0 -0.672377 0 0.477882 -0.0641217 0.0053959 0.706309 0.000969953 -0.305533 -0.586181 0.0487293 -0.0234833 -4.95393 -0.0806293 0 0 0 -0.147498 0.0964684 0 0 0 0 0.220097 -0.205354 0.852105 -0.589398 -0.261035 0.561969 -0.996997 0.0691225 -0.0149164 0.0303249 -0.169289 0 0 0 0 0 0 +330 0 1.11865 0.446508 0.00661211 0.0192926 0.17197 0.0672542 0.216617 -0.393853 -7.72213e-05 -0.457364 -0.059147 -0.732092 -0.00160388 -1.59079 -0.0236849 0.536697 -0.625678 -0.100127 -0.0509002 -0.330915 -0.0277205 -0.472835 0.00117015 -0.124375 -0.245201 0.574566 -0.0275039 -0.245772 0.142527 -0.297673 0.0069558 -0.258604 -1.27787 -0.344801 -0.089079 -0.00855668 -0.0399853 -5.0816 -0.0753921 -0.192136 -0.0106203 -1.0663 -0.012203 -2.74805 -0.0707262 -0.0782472 -0.131228 -0.495797 0.0474531 -0.689754 -0.121022 -2.29437 0.132721 -0.0350233 -0.0441015 -0.106772 -0.644025 -0.0706351 0.209212 0.0218133 -0.233779 0.211904 0.522181 0.677062 0.118138 -1.00745 -0.00441471 -0.0968233 0.000123436 -0.7258 0.00172546 -0.191006 0.148805 2.11431 -0.325039 0.174836 12.2203 1.08104 4.55525 1.14049 -0.554946 5.73251 0.327743 -0.114662 0.407698 0.678856 0.00291869 0.0072394 0.0842862 0.0815277 -0.351558 0 0 0 0 0 0.00661211 0.0192926 -0.001398 0 0 0 0 -0.000190638 0 -0.0151673 0 0 -0.000738039 -0.000780452 -0.0181378 0 -0.00271314 -0.0431398 -0.100646 0 0 0.0200933 -3.65732e-05 0 0.0120133 -1.01887 0 0 -0.00289688 -0.266109 0 0.0284341 0 0.00277857 0 0 -6.15063e-05 0 0 -0.254173 -0.00406571 -0.0158285 0 -0.0298853 0.0246851 0 0 -0.150673 0 -0.00295202 -0.34194 0.0147569 0 0 0.00135217 0.00190917 0 -0.00173404 -0.0112062 -0.0103371 0.608035 -0.0121764 -0.0130729 0 -0.00559473 -0.0085055 -0.12757 0.0392831 -0.0653274 0 0 0 1.98957 0.129088 0.402111 0.00894547 -0.0172466 0.262647 0.000555904 -0.00104823 0.0154756 0.0787284 0 0 0 0 0 0 0.17197 0 0.0672542 0 0 0 0 -0.0156402 -0.343077 0 0 -0.229426 0 -0.0251238 0 -0.0168045 0 0 0.01319 0 -1.13437 0.0156049 -0.0957823 -0.0349444 0 0 -0.17771 0 -3.48207 0 -6.02075 -0.724223 0 -0.222374 -2.38401 -0.0110216 0 0.0198333 0 0 -0.0320698 0 -1.64064 0.0561662 0 0 -0.0615592 0 0 0.295143 0.919205 -0.0284462 0 -0.488595 0 -0.296631 -0.0118321 -0.0341252 -0.469375 0.0805441 0.555279 -0.225978 -0.10122 -1.43329 -8.01885 -0.103953 0 0 0 -0.353575 0.0822993 0 0 0 0 0.101154 33.804 3.27591 1.17705 1.33827 -0.730976 1.47812 0.111444 -0.0864709 0.12152 0.0010988 0 0 0 0 0 0 +331 0 -0.57337 -0.251308 -0.0211497 -0.0393952 -0.153607 -0.225767 0.572044 0.620049 -0.0972012 1.24821 0.0893891 -1.14849 0.00412125 -0.654475 0.0531701 -0.674867 -3.09901 0.28751 0.103341 -1.75375 0.0562284 0.0639451 -0.00417461 0.250631 0.0689092 -0.202122 0.0185293 0.397964 0.0502746 -0.381361 -0.0290155 0.553574 0.337996 0.32076 0.154419 0.0163401 -0.130123 2.14429 0.193092 -1.02984 0.0266207 0.446914 0.0331792 -3.17987 0.171776 -0.623898 0.402849 0.901133 -0.108771 0.783885 0.369826 -3.83862 -0.268182 0.0869981 -0.00800899 1.53135 0.452671 0.365615 -0.398856 -0.057832 1.11043 0.0237508 0.914626 0.439213 -0.303995 -0.40222 0.0629078 -0.0238544 0.0407275 -0.370272 0.198822 0.687616 -0.11697 -0.103238 -0.661873 -1.35968 -7.74264 -2.06755 -3.17575 -1.03458 -0.0695479 -2.25626 -0.480713 0.312096 -1.37898 -0.695337 -0.00708876 -0.0177887 -0.21289 -0.242181 -0.124008 0 0 0 0 0 -0.0211497 -0.0393952 0.000814789 0 0 0 0 0.000219828 0 0.0471652 0 0 -0.00117055 -0.00378265 0.0569609 0 0.00836699 0.0341378 0.319629 0 0 -0.00427083 -0.000177441 0 -0.0218613 0.0449033 0 0 -0.00393657 0.10981 0 -0.0224205 0 0.000297273 0 0 -0.000441388 0 0 0.0116114 0.00468858 -0.0245674 0 0.0176248 0.0350819 0 0 0.0459087 0 0.00175617 0.997427 0.0107706 0 0 0.0022011 -0.00107563 0 -0.00394654 -0.0551258 0.00734654 -0.808747 0.0573079 0.0303522 0 0.00739269 -0.119767 -0.233083 0.00536752 0.181864 0 0 0 1.02244 0.141967 -1.02597 0.00656838 -0.013593 0.190963 0.00081873 -0.00181575 0.0254196 -0.308435 0 0 0 0 0 0 -0.153607 0 -0.225767 0 0 0 0 -0.0779612 0.592235 0 0 0.422374 0 0.0612984 0 0.0458682 0 0 -0.290327 0 0.171707 0.0218202 0.220524 -0.0482745 0 0 0.461372 0 -0.259475 0 1.11295 -0.419843 0 0.139471 0.242069 0.0315736 0 -0.0128994 0 0 0.0434738 0 -0.0241468 -0.744936 0 0 -0.100117 0 0 -0.230794 2.55867 -0.0476391 0 -0.516647 0 -0.112632 0.0119587 0.0703354 -0.855059 0.0365998 1.25986 0.279052 -0.0980328 -0.0939387 0.629357 0.0930966 0 0 0 0.103265 -0.129891 0 0 0 0 -0.167441 -6.0649 -1.5107 -0.420765 -0.338188 0.26053 -0.440444 -0.172552 0.108561 -0.118244 -0.0107703 0 0 0 0 0 0 +332 0 0 0 0 0 -0.0633584 0.279315 -0.768156 -1.2083 0 0 -0.167528 0.795295 0 0.947971 -0.0297869 0 0 0 0.00873516 3.8354 0 0 0 0 -0.431444 0 0 -0.856072 2.54935 0.542946 0 -0.237889 0 0 -0.304342 0.0037287 0 0 -0.683524 1.46389 0 0 -0.0291994 1.84129 0 0.648565 -0.404389 -0.333005 0.0715944 1.16583 -0.00326475 0 0.0680438 -0.0437402 0.251795 0.385124 0.798575 1.30334 0 0 -0.562697 -2.17831 0 0.236571 -0.208659 0.994218 0 0 0 0 -0.210289 0.154728 0 0.505414 -0.498884 0 0 0 0.0788036 0 0.665575 -3.54461 0 0.471425 -0.92239 1.11384 0 0.245209 -0.584709 1.45441 -8.63621 0 0 0 0.227797 0.0236284 0 0 0 0.0258002 -0.00903657 0 0.00311169 0 -2.88567e-05 0.00978395 0 0 0 0 -0.0191792 0 0.00752244 0 -0.0530502 0 0.249655 0.102382 0 -7.11447e-05 0 0 -0.040192 -0.000298493 0.013696 0 -0.000527048 0 -0.00029179 0.0226152 -0.00310124 -0.0038672 0.000543685 0 -2.8071e-06 0 0 0 -2.30061e-05 0 0 0.000796698 -0.00036683 0.0337841 -0.0031972 0 0 -0.00473661 0 0.000400245 0 0 0.00975081 -0.00640232 0.0185376 -0.00763057 0 0 -0.0308287 -0.00352876 0.019005 0.105834 0.20077 0 -0.087888 -0.000212823 -0.00315934 0 0 0 0.378038 0 0.00668454 0.111937 0 -0.000930406 0.0139909 0.154363 0 0.000413203 -0.00205859 0.00433986 0.0462578 0 -0.0633584 0.227797 0.279315 0.0236284 -0.887866 -0.0130277 0.0458131 -0.184246 0.146781 -0.0117409 -0.105595 -0.0818389 -0.00130199 0.00352186 0.00900184 0.0124308 -0.0403814 -0.104541 -0.858976 0.773209 -0.0661721 -0.0199498 0.066075 -0.165023 -0.258823 0.160615 0.165751 0.055011 -7.91763 -0.297926 -0.917914 0.204118 0.00133375 0.301336 -0.364918 0.00988909 -0.00450497 -0.0312735 -0.0654952 1.46116 0.0111115 0.00531672 -1.76999 -1.50684 -0.0132228 -0.023447 -0.283286 0.250021 -0.0302357 0.610891 -1.24062 0.0941082 0.0928174 2.56971 -0.00824923 2.23832 -0.0340103 0.13688 -0.124617 -0.0335692 0.429271 -0.506476 0.107052 0.0626622 -1.90277 0.113543 0.574499 -0.0285302 0.0911974 0.476769 -0.0434332 0.0263538 0.00926801 -0.0334855 0.064923 0.0135327 2.78456 0.194245 -1.59353 0.279163 0.36656 -3.799 0.0187371 0.0953037 -0.293258 -0.815651 0.0274694 0.085549 -0.246431 0.401364 -1.77996 0 +333 0 0 0 0 0 0.153432 0.304525 0.0747194 -0.362386 0 0 0.398226 1.00782 0 2.51266 0.0667317 0 0 0 0.174578 0.957202 0 0 0 0 -0.309943 0 0 -0.350373 -0.104058 0.741601 0 0.223464 0 0 -0.140576 0.0605102 0 0 1.0616 0.87671 0 0 0.271504 3.79517 0 0.901041 -0.342941 0.0570514 -0.42994 3.12492 -0.337071 0 -0.108569 0.351435 -0.0908011 1.50209 0.147049 0.122061 0 0 0.618851 -1.56631 0 -0.292782 0.0906834 -0.0562401 0 0 0 0 0.357377 0.615053 0 -1.11988 0.670389 0 0 0 0.916031 0 -0.664993 -0.630542 0 -0.653178 0.24292 0.455865 0 -0.669915 -0.00140514 -0.518725 -1.29579 0 0 0 -0.0992458 -0.0228346 0 0 0 -0.0344149 0.00505476 0 -0.00452678 0 -0.000113924 -0.030475 0 0 0 0 -0.129108 0 -0.0187197 0 -0.234204 0 -0.27861 -0.33566 0 0.000560511 0 0 0.162931 -0.000358857 -0.023129 0 6.01935e-05 0 0.000372244 -0.0659856 0.013524 -0.00595063 -0.00132352 0 -6.41215e-06 0 0 0 4.45745e-06 0 0 0.000916362 0.000591693 0.0613024 -0.00239936 0 0 0.00664765 0 -0.00064559 0 0 0.00418998 0.00267242 -0.130124 0.00321492 0 0 -0.0204561 0.012035 0.0015689 0.0277485 -0.116285 0 -0.0715505 -0.000237203 -0.12342 0 0 0 0.275391 0 0.0170947 -0.239394 0 0.000137233 0.00085051 0.0317529 0 0.000390859 -0.0029925 0.010305 -0.103456 0 0.153432 -0.0992458 0.304525 -0.0228346 0.169473 0.0354372 -0.188512 -0.176339 -0.233654 0.0173242 -0.0286214 -0.370691 0.00201322 -0.0272213 -0.0228102 0.00760668 -0.0086358 0.119164 1.20199 -0.171723 0.692705 -0.0268887 -0.255523 0.216635 -0.232856 -0.0621362 0.0195463 -0.00146938 12.4028 0.123164 2.0229 2.2909 -0.002664 -0.330712 1.1943 -0.0177201 0.00217723 -0.0173284 0.0253523 -0.386559 -0.0102693 -0.00692011 5.56941 2.20692 -0.000280583 0.00356413 0.414517 -0.0209263 -0.0714907 0.0318423 1.16632 0.429766 -0.0773762 2.89284 0.0333873 -1.19583 0.0731401 -0.226381 0.222054 -0.197466 0.840259 -0.0975919 -0.141811 -0.0247591 13.8424 -0.0560056 0.0871761 0.0605909 -0.0870757 0.0787893 0.0301174 -0.0119209 -0.0348792 0.000566473 -0.0361791 -0.0319537 -6.13664 0.407747 1.06325 -0.446516 0.112207 0.151741 0.0395995 -0.118632 0.143905 0.18498 -0.0313116 -0.0781919 0.146406 -0.116308 0.13257 0 +334 0 0 0 0 0 0.13209 -0.126219 0.00708796 -0.115533 0 0 0.101279 -1.00796 0 -1.29879 -0.0201529 0 0 0 -0.278633 -1.65953 0 0 0 0 0.0354793 0 0 -0.0465969 -6.27474 -0.375005 0 -0.151065 0 0 0.0492529 0.0276706 0 0 1.50864 -1.32956 0 0 0.426498 -3.84123 0 -0.639 -1.10259 -0.963458 -0.656365 -0.866293 -0.846097 0 0.295916 -0.206653 -0.187872 -0.767579 0.00431021 -0.613959 0 0 0.339608 2.78348 0 -0.567877 -0.246098 0.637607 0 0 0 0 -0.131646 0.576207 0 -0.953959 0.984985 0 0 0 0.142823 0 -2.12207 6.93271 0 -1.03087 3.09233 -0.689372 0 -1.47119 4.40511 -6.38898 18.0169 0 0 0 -0.0966322 -0.0213803 0 0 0 0.00225026 -0.0185671 0 -0.00166144 0 7.49385e-05 -0.0303349 0 0 0 0 -0.194736 0 -0.0205031 0 -0.288661 0 0.155602 0.208983 0 -0.000935182 0 0 -0.100712 0.000327904 0.00675069 0 -0.000637505 0 -0.000994838 0.128819 -0.0081102 0.00469539 0.0110774 0 4.85598e-06 0 0 0 -3.14957e-05 0 0 -0.000860956 -0.00148466 -0.106945 -0.00215187 0 0 -0.0152193 0 0.00161989 0 0 0.00100001 -0.00762207 -0.133819 -0.00954895 0 0 0.115175 -0.0239498 0.0156967 -0.0878138 0.0585393 0 -0.0766472 -0.000125163 -0.0921757 0 0 0 0.768973 0 -0.0104556 0.334919 0 0.000590591 0.0118836 0.192902 0 -0.000417528 0.00543433 -0.0138629 0.19751 0 0.13209 -0.0966322 -0.126219 -0.0213803 0.232609 0.107388 -0.14692 0.0187805 0.290146 0.0154861 -0.015596 0.200654 0.00168134 0.0104739 -0.0174019 0.00682301 0.0016503 0.131777 -0.92038 -0.943512 -0.127099 0.00662227 0.122732 -0.0543644 0.0543444 -0.273653 0.0869145 -0.0150305 -1.24784 0.374167 -0.145337 -0.557959 -0.00203377 -0.247423 -0.146418 0.00732282 0.00766342 0.0246045 0.0583274 -1.93637 0.0143156 -0.0404271 -0.993227 -2.93839 -0.00245878 0.0489352 -0.279505 -0.110321 -0.317884 -0.390225 0.0584688 -0.351878 0.0817464 -2.03587 0.0200233 0.658293 -0.0903812 0.0480624 -0.0180674 0.617954 0.651059 -0.20268 -0.238947 0.673136 -3.39799 -0.0168636 0.502453 0.0162169 0.0567909 -0.0240304 0.0049387 -0.0734496 -0.0274196 0.0449865 0.0469421 0.0348327 0.440893 -0.293248 0.690629 -0.180784 -0.810225 3.66973 -0.0364274 -0.229792 0.95203 -0.743848 -0.0346258 -0.13284 0.663246 -1.07658 2.46523 0 +335 0 0.441301 0.134612 0.0206984 0.293575 -0.475567 -0.140214 0.295324 1.48928 0.0887852 -0.591897 0.120108 -0.367158 -0.0003222 -0.107911 0.00103381 -0.629535 -0.455643 -0.0962271 -0.00649897 -0.942351 0.0144347 -0.0701127 0.000343226 0.131819 0.288061 -0.317601 -0.0331562 0.40887 0.256654 -0.376435 0.00540584 -0.000615166 -0.635277 -0.194885 0.148052 0.00691374 -0.16063 -3.44228 0.183064 -0.779742 -0.00473398 -0.769411 0.0108625 0.593132 -0.0619595 -0.640416 0.369829 -0.141237 0.00717855 -1.4706 -0.0432802 0.124407 -0.0269331 0.0206948 -0.131126 -0.193074 0.1469 0.0434735 -0.0526285 -0.00231853 0.60444 0.773309 -1.06277 -0.12451 0.672163 -0.304295 -0.272984 -0.262605 -0.00471763 -0.208769 -0.173458 -0.0335028 0.291398 0.166153 0.190413 1.67282 6.26967 1.09782 -0.592025 0.974106 -1.41732 3.96671 -0.30639 -0.134953 0.675694 -2.02071 0.00750122 -0.0179862 0.0311912 -0.109458 -0.387116 0 0 0 0 0 0.0206984 0.293575 -0.000594957 0 0 0 0 -8.56003e-05 0 0.00658994 0 0 1.28472e-05 -0.000317651 -0.00122817 0 0.000174356 0.00384362 0.0111239 0 0 0.152109 -1.3435e-05 0 -0.0237713 0.159705 0 0 0.0156818 0.0359152 0 -0.169454 0 0.0130405 0 0 0.0012766 0 0 -0.522276 -0.00184588 -0.00111085 0 -0.0136194 0.00137051 0 0 -0.0130962 0 -0.00181064 -0.14209 0.00559865 0 0 0.000326131 0.000371166 0 -0.0048498 -0.0314051 -0.00501404 1.30276 -0.018922 0.0260733 0 0.0102131 -0.0785407 0.0209842 0.0621247 1.49985e-05 0 0 0 3.73874 0.127738 0.188676 0.0162631 -0.0391998 0.565376 0.000137014 -0.000378689 0.00461516 -0.00578513 0 0 0 0 0 0 -0.475567 0 -0.140214 0 0 0 0 0.342198 -0.435646 0 0 -0.818593 0 -0.0779266 0 -0.0360051 0 0 1.15008 0 0.112686 0.112896 -0.298581 0.171136 0 0 -0.367543 0 7.87477 0 0.0393859 0.0463521 0 1.20808 0.0129453 -0.025858 0 0.0350324 0 0 -0.0433482 0 1.54153 2.55934 0 0 0.373333 0 0 -0.349778 3.5162 -0.349075 0 -0.781445 0 -0.238042 -0.119582 0.21478 0.279443 0.178422 0.337177 0.322598 -0.0796804 1.07652 8.76832 -0.09334 0 0 0 0.0691351 0.113834 0 0 0 0 0.00261491 -0.619797 2.37826 -4.31491 0.334175 -0.365507 0.111902 0.282166 -0.268142 0.372202 -0.623497 0 0 0 0 0 0 +336 0 0.178659 -0.0970152 -0.00706106 -0.0271158 -0.0376025 -0.191799 0.0892059 0.392892 -0.02943 0.388471 -0.0541569 -0.314251 0.000167981 -0.821673 -0.0148915 -0.22496 -0.887364 0.0558906 -0.0245702 0.0834571 0.01233 0.186989 -0.000125408 0.155827 0.213373 -0.104621 0.028856 0.264105 -0.193731 -0.139847 -0.00199501 -0.225469 0.319302 0.0522648 0.193496 -0.0029033 0.234162 0.575937 -0.0659883 -0.457695 0.00240509 0.0895 -0.00472752 -1.40953 0.0268335 -0.520144 0.144849 -0.375091 0.00226586 -1.12382 -0.0797936 -1.14226 0.0270302 0.0173564 -0.0393486 -1.28227 -0.0962532 -0.00676165 -0.163144 -0.00105846 0.299006 1.35659 0.578295 0.0618529 0.067551 -0.0557117 0.555773 0.276947 -0.00365093 -0.176614 0.278328 -0.0431466 -0.320007 0.386704 -0.216032 -0.492651 -0.00380809 -0.807406 -0.476046 -0.817826 0.394263 -0.279852 -0.50918 0.0468407 0.175563 -1.58106 -0.00324863 0.00698479 -0.00850949 0.0281763 0.292208 0 0 0 0 0 -0.00706106 -0.0271158 0.000541143 0 0 0 0 3.35347e-05 0 0.0125888 0 0 -0.000162484 -0.000311544 0.00563911 0 0.000542881 -0.00654311 0.104957 0 0 -0.162915 -1.33047e-05 0 -0.0121353 -0.686789 0 0 -0.0203764 -0.0909039 0 -0.123149 0 -0.0106775 0 0 -0.00136612 0 0 -0.410868 0.000700484 -0.00466115 0 0.0109883 0.0279534 0 0 -0.0984801 0 0.000830192 -0.0102612 0.000341735 0 0 0.000704323 -0.000971862 0 -0.00075135 -0.0307636 -0.0043816 -0.435471 0.0236596 0.0123455 0 0.0026823 -0.00529009 -0.0812556 -0.0148334 -0.0340216 0 0 0 0.893201 0.0279274 -0.179442 0.000163369 -0.000153781 0.076611 0.000254851 -0.000666562 0.00851843 -0.0514129 0 0 0 0 0 0 -0.0376025 0 -0.191799 0 0 0 0 0.00673127 -0.171026 0 0 0.167249 0 0.00986187 0 0.00915207 0 0 -1.04603 0 -0.0261046 0.0238008 0.0882829 -0.117408 0 0 0.0738279 0 -8.3889 0 -1.88706 -0.862164 0 0.150991 -0.564978 0.00652141 0 0.0214972 0 0 -0.0109548 0 -2.71917 -2.22791 0 0 -0.275075 0 0 0.216742 -2.66264 -0.107554 0 -1.18361 0 0.0955556 0.0116263 -0.00884094 -0.0277526 -0.113172 -1.0484 -0.151768 -0.0167383 -0.623402 -10.1006 0.0557638 0 0 0 -0.145882 -0.0220143 0 0 0 0 -0.109316 5.64798 0.285078 -0.88418 0.538641 -0.44788 0.492144 -0.0665803 0.0225578 0.00934638 -0.234239 0 0 0 0 0 0 +337 0 0.28665 -0.319616 0.000536598 -0.029331 0.0773652 -0.115409 -0.224565 -1.71611 0.0798096 0.665515 0.0653787 0.0892359 -0.000227382 0.669321 0.0135108 -1.37356 -1.98753 0.0635852 0.0212384 -1.6773 0.00550842 0.406444 0.00037717 0.121052 0.119228 -0.722052 -0.0216977 0.384846 0.887199 0.0954909 0.00546781 0.283947 0.495284 0.0124759 0.281856 0.00722942 -0.130082 0.543679 0.0653806 -0.907254 -0.00310854 0.306283 0.00796136 0.952062 -0.0388828 -0.562096 0.592804 0.466454 -0.0459972 1.25983 -0.184285 -1.27644 -0.00552125 -0.0030737 0.061759 0.0105306 -0.35379 -0.240214 -0.0838003 0.00928499 0.686484 1.50069 -0.985766 -0.941599 -0.322269 0.373152 -0.0874521 -0.184621 -0.00641795 -0.644193 -0.150137 0.108386 0.13012 0.558172 -0.703141 -0.442554 -0.0484892 -1.37251 3.78652 0.9795 -0.288863 -0.442443 -0.527805 0.61609 -1.11915 3.16701 0.0047074 -0.00829078 -0.0243812 0.0495618 -1.33818 0 0 0 0 0 0.000536598 -0.029331 -0.000503604 0 0 0 0 -8.0313e-05 0 -0.0071522 0 0 1.736e-05 -0.000320874 -0.00398723 0 -0.000540938 0.0041575 -0.054175 0 0 0.114444 -1.35382e-05 0 -0.0335698 0.120621 0 0 0.00811976 0.0369862 0 -0.231816 0 0.00968124 0 0 0.000608827 0 0 -0.67318 -0.00173472 -0.00107027 0 -0.0117725 -0.000716672 0 0 0.060411 0 -0.00167664 -0.206339 0.00662123 0 0 0.000372546 0.000226742 0 -0.00531309 -0.0377526 -0.00897195 1.03671 -0.0228525 -0.00357384 0 0.00784157 -0.0340842 -0.0173888 0.0504857 -0.0136025 0 0 0 4.69902 0.150277 0.428365 0.0193327 -0.0468227 0.56346 0.000145615 -0.000404069 0.00490767 0.0741087 0 0 0 0 0 0 0.0773652 0 -0.115409 0 0 0 0 -0.313135 0.34801 0 0 0.536757 0 0.0613286 0 0.00863533 0 0 0.0849337 0 1.10807 -0.114382 0.154764 -0.0340753 0 0 0.111104 0 1.31394 0 2.50139 0.317422 0 -1.07328 1.73975 0.0136369 0 -0.0187449 0 0 0.032384 0 0.607527 0.293473 0 0 -0.0735983 0 0 0.426163 -0.33343 0.264665 0 2.47482 0 0.55747 -0.0317547 -0.0522949 -0.236276 -0.0117585 0.77974 -0.384558 0.0295212 -0.65738 5.9167 0.0395785 0 0 0 -0.043818 -0.0528118 0 0 0 0 -0.0423654 -8.78257 -2.08387 3.4732 -0.555662 0.571081 -0.625762 -0.135321 0.181541 -0.294001 0.61273 0 0 0 0 0 0 +338 0 0.314193 0.164067 0.031988 0.219386 -0.457652 -0.13367 0.444843 1.78998 0.211135 -0.833207 0.0844336 -0.597163 -0.00220333 -0.474442 -0.000754484 -0.176093 -1.5537 -0.0722304 -0.0516562 -1.11384 0.0093306 -0.174109 0.00370295 -0.0712836 0.172065 0.0704665 0.0157165 0.269978 0.25986 -0.362732 0.02807 0.0895573 -0.714436 0.00106736 0.0471644 0.0141508 0.0749819 -3.66412 0.123392 -0.687831 -0.0131533 -0.0495548 0.025577 -1.14431 -0.0604998 -0.47395 0.244729 -0.153397 0.0293156 0.0115019 0.100876 2.24217 0.267325 0.0465593 -0.131965 0.549205 0.209867 -0.851373 0.0110318 5.58743e-05 1.19159 1.55591 0.113504 0.325935 -0.0197468 -0.91024 -0.304877 0.12562 -0.0443737 -0.113039 0.220626 -0.0403446 0.184054 -0.583344 0.105318 1.18201 6.23809 1.70383 -1.21846 0.84408 -1.2901 4.38175 0.190619 -0.33835 0.881508 -2.76809 0.0224392 -0.0494642 0.0461565 -0.0782527 -0.810486 0 0 0 0 0 0.031988 0.219386 -0.000167694 0 0 0 0 -1.53118e-06 0 -0.00068704 0 0 -5.8929e-07 -1.16422e-07 -0.00366139 0 0.000143526 -0.0118141 -0.0302042 0 0 0.056544 -5.45945e-09 0 0.0310581 0.143292 0 0 0.00585424 0.00867844 0 0.0577134 0 0.00623697 0 0 0.000844369 0 0 -0.00379833 -3.26522e-05 -1.25665e-05 0 -0.00357606 -0.00279373 0 0 -0.0269943 0 -0.000312073 0.066465 0.000761843 0 0 1.09665e-06 0.00026375 0 -0.000581266 0.0325512 -5.61635e-05 0.154772 -0.00398143 0.013545 0 0.000760563 -0.0265239 0.0822669 0.00947372 0.0480921 0 0 0 0.272132 0.0150603 0.0880515 0.00212891 -0.00519482 0.138662 4.144e-07 -1.01119e-06 1.37247e-05 0.00607647 0 0 0 0 0 0 -0.457652 0 -0.13367 0 0 0 0 0.0778884 0.194611 0 0 -0.527444 0 -0.0493198 0 0.00350256 0 0 0.0715093 0 -0.220017 0.0534444 -0.104816 0.0491442 0 0 0.0536266 0 3.12523 0 -1.41991 -0.229733 0 0.829959 -0.654814 -0.00757499 0 -0.0185237 0 0 0.0107549 0 0.371642 0.193799 0 0 0.087751 0 0 0.445845 4.47773 0.138634 0 0.667029 0 -0.600049 0.118313 -0.143615 0.0911277 0.0246128 1.07377 0.665193 -0.0127021 0.801985 6.82093 0.0636079 0 0 0 -0.0828221 0.038114 0 0 0 0 0.117883 7.22159 1.96945 -3.14847 0.279232 -0.320446 0.538819 0.142025 -0.123201 0.20794 -0.450642 0 0 0 0 0 0 +339 0 0.2749 0.124106 -0.0315607 -0.0593694 0.056438 -0.0466001 -0.171517 -0.169116 -0.244729 0.870699 -0.235018 -0.249965 0.00563542 -1.01922 0.0101984 0.321454 -0.218057 0.133935 0.0581231 0.0950285 0.0578289 -0.047454 -0.00723419 0.369749 -0.0183373 0.238414 0.0379076 0.210439 0.577852 -0.343611 -0.0460555 0.0876419 -0.146388 -0.109575 -0.0478156 -0.0367995 0.116396 -0.870636 -0.458983 -0.200978 0.0362545 -0.677276 -0.0789832 -0.638128 0.196484 -0.170752 0.346471 0.254834 0.209954 -0.223848 0.348852 -0.765334 -0.111976 0.0711519 -0.158753 0.167604 -0.402261 -0.095973 -0.430917 -0.0794792 0.103199 1.78049 1.44133 0.395803 -0.0905271 0.252648 0.895968 0.257602 0.0842472 -0.595029 0.123255 -0.175704 0.0257425 1.64316 0.0691262 -0.691175 4.17338 -0.994019 0.661321 -0.330817 -0.177202 1.79512 -1.02763 0.50669 -0.53338 0.318664 -0.0728755 0.171446 -0.413572 0.969655 -1.80228 0 0 0 0 0 -0.0315607 -0.0593694 1.19925e-05 0 0 0 0 1.09208e-07 0 0.00326923 0 0 -9.95686e-06 -1.25779e-06 0.00903155 0 -0.000133482 0.0286838 0.0701829 0 0 -0.2495 -5.89825e-08 0 -0.0891742 -0.777354 0 0 -0.0351721 -0.0127201 0 -0.31671 0 -0.0345661 0 0 -0.00497029 0 0 -0.8897 2.32885e-06 -0.000212328 0 0.000255737 0.000470149 0 0 -0.0014855 0 2.23175e-05 -0.214072 -4.26208e-05 0 0 1.85294e-05 -1.88618e-05 0 9.64849e-06 -0.0584551 -4.89126e-05 -0.855184 0.000710236 0.0269945 0 -2.95829e-05 -0.0245937 -0.297238 -0.00054929 0.0644836 0 0 0 1.87797 0.000386512 -0.0194337 -5.90619e-05 0.000144118 0.174328 7.00185e-06 -1.70854e-05 0.000231898 -0.0168727 0 0 0 0 0 0 0.056438 0 -0.0466001 0 0 0 0 -0.207458 -0.841469 0 0 0.414815 0 0.0352967 0 -0.0362349 0 0 -0.130968 0 -0.503893 -0.0667216 0.199733 0.00286974 0 0 -0.367028 0 -9.09721 0 -3.30668 -1.08758 0 -0.444995 -1.33259 0.017468 0 -0.0258343 0 0 -0.0785014 0 -3.29436 -0.693204 0 0 -0.068797 0 0 -0.142758 -1.87499 -0.121937 0 -2.21452 0 -0.204814 -0.0879779 0.107429 0.116678 -0.17135 -1.02018 0.0277019 0.113337 0.0416513 -6.64405 0.118426 0 0 0 -0.169009 -0.079664 0 0 0 0 0.0199563 13.6594 -0.00666913 0.577477 0.541566 -0.533977 0.949039 -0.123009 0.0814888 -0.0812987 0.0798748 0 0 0 0 0 0 +340 0 -0.241961 0.222107 -0.0304733 -0.165169 0.256633 0.331208 -1.07403 -2.77382 -0.261821 1.2277 0.16367 -0.57314 0.00197131 -0.808529 0.022357 0.0904394 -1.46176 0.246192 0.0982487 -1.56225 0.0172224 -0.460014 -0.00346115 0.245129 -1.0497 0.245084 -0.00183007 -0.747045 -1.55948 -0.200046 -0.0292433 0.241289 -0.486697 0.218002 -0.656221 0.00870417 -0.174993 0.00326719 0.109793 0.234909 0.012006 -0.199329 -0.00232101 -1.37569 0.060931 0.58093 -1.16099 0.904027 -0.0385925 -0.228912 0.222529 0.858808 -0.117684 0.0322655 -0.180906 0.73765 -0.176378 0.152159 -0.243673 0.000841763 0.782975 -0.190463 0.001794 1.3614 0.109749 0.706955 -0.520797 -0.198912 0.0381438 -0.645018 -0.0991223 0.0706825 0.174202 1.50777 1.13273 0.33202 -1.43593 -1.62632 2.50264 -0.150422 -0.00576333 1.01904 -0.630129 0.747083 -1.46249 3.75617 -0.0225992 0.00640989 0.194184 -0.856396 4.86391 0 0 0 0 0 -0.0304733 -0.165169 -0.000227183 0 0 0 0 -2.07438e-06 0 -0.00225857 0 0 -1.37384e-06 -2.30594e-07 0.000500543 0 -0.00056932 0.0419664 -0.000186393 0 0 0.0301042 -1.08134e-08 0 -0.0380116 0.592369 0 0 0.00686545 0.18214 0 -0.145603 0 -0.00495348 0 0 -0.000304095 0 0 -0.203299 -4.42358e-05 -2.92969e-05 0 -0.00484464 -0.00393929 0 0 0.098229 0 -0.000422779 -0.247891 0.00103353 0 0 2.55666e-06 0.000357314 0 -0.000811536 -0.0227529 -0.000184774 -0.477292 -0.0055868 -0.0132887 0 0.00103939 0.00949405 -0.182329 0.0128017 -0.0480876 0 0 0 1.05563 0.0213935 0.0144398 0.00301803 -0.00736437 0.00610047 9.66109e-07 -2.35743e-06 3.1997e-05 -0.00224138 0 0 0 0 0 0 0.256633 0 0.331208 0 0 0 0 0.0528167 -0.779494 0 0 0.315225 0 0.0443203 0 -0.0100249 0 0 -0.0987382 0 -0.717203 -0.114518 -0.0539172 -0.0109615 0 0 -0.103295 0 -5.0016 0 -1.27362 -0.02899 0 -0.728458 -0.891352 -0.0005667 0 -0.0109462 0 0 -0.074096 0 -0.766715 0.0950382 0 0 0.0207033 0 0 -0.0696042 0.832915 0.0771654 0 -0.67917 0 -0.163483 -0.0489169 0.0172399 -0.413536 -0.0328752 0.384032 0.0829876 -0.0251356 -0.0109164 0.167723 0.0919712 0 0 0 -0.153185 -0.0566467 0 0 0 0 0.116836 3.75097 -1.34777 2.38795 -0.0575765 -0.0323872 0.458975 -0.128938 0.129305 -0.183135 0.444907 0 0 0 0 0 0 +341 0 0 0 0 0 0.107418 -0.286917 0.722713 0.854817 0 0 0.266819 -0.639807 0 -0.495804 0.0447201 0 0 0 0.0706094 4.23644 0 0 0 0 0.44302 0 0 0.58299 -1.49734 -0.532318 0 0.032519 0 0 0.358782 0.0604417 0 0 0.921352 0.0508222 0 0 0.247599 0.603531 0 -0.940697 0.248708 0.192159 -0.549128 -0.498327 -0.196596 0 -0.10146 0.0900667 -0.419561 0.0984327 -0.0500464 -0.478419 0 0 -0.623138 -2.36597 0 -0.531223 -0.338329 -0.414202 0 0 0 0 -0.0150242 0.371963 0 -1.99261 0.40215 0 0 0 -1.69194 0 -0.976001 0.984453 0 -0.522811 0.872627 -2.2746 0 -0.813562 1.70888 -3.29053 5.78612 0 0 0 0.00490001 -0.031961 0 0 0 -0.0354341 -0.0345323 0 -0.00544892 0 -0.0053383 -0.028714 0 0 0 0 0.0238965 0 -0.00960532 0 0.00753418 0 -0.158692 0.239288 0 0.00148544 0 0 0.21462 -0.00271385 0.0361151 0 0.00147341 0 -0.00261958 0.175844 0.0201705 -0.0419432 0.0287822 0 -0.00029904 0 0 0 4.96609e-05 0 0 0.00249338 0.000201883 0.262487 0.0123518 0 0 0.0305612 0 0.0094622 0 0 -0.0048694 0.0164554 -0.345879 0.0298928 0 0 0.0597311 -0.0179535 0.0548786 0.014445 -0.0659605 0 0.139015 0.010726 -0.036841 0 0 0 0.11571 0 0.101486 -0.46262 0 0.00536115 -0.0138099 -0.0758447 0 0.00230249 -0.012181 0.0219535 -0.0883951 0 0.107418 0.00490001 -0.286917 -0.031961 0.0387225 0.162697 -0.318367 0.274053 -0.156242 0.0360997 -0.0435047 0.0509694 0.00629477 0.0482414 -0.0549938 -0.0156631 0.0292991 0.128872 0.713904 0.720777 -0.022479 0.0366679 -0.0409161 0.0388434 0.127687 -0.227838 -0.146319 0.0460842 0.482817 0.312186 -0.490129 -1.18964 -0.00866672 -0.0281631 0.101366 0.00703576 0.00930483 0.0781257 0.0579307 -1.11679 -0.0129284 -0.049714 -0.895819 1.33862 -0.00354729 0.041506 0.0662608 0.203233 0.00647048 1.79026 -1.12136 -0.345207 -0.0761343 -0.418965 0.109214 -0.464613 -0.226933 -0.0133455 -0.124881 0.278545 -0.31565 -0.681229 -0.289766 -0.742327 -1.74545 -0.203929 0.881535 -0.00250574 0.256713 -0.542 -0.110211 -0.10561 -0.0785603 -0.0311463 0.00607162 0.110335 2.77814 0.175329 0.719564 -0.197349 -1.22073 4.38252 -0.10154 -0.36214 1.10906 -0.0010782 -0.0882854 -0.229429 0.682115 -0.676175 1.19224 0 +342 0 0 0 0 0 -0.729771 -0.257218 0.740975 2.08941 0 0 -0.234201 -0.314572 0 -0.932389 -0.178741 0 0 0 -0.10177 -1.18314 0 0 0 0 0.328662 0 0 0.351016 2.025 -0.306344 0 -0.748972 0 0 0.136795 -0.0588065 0 0 0.260113 -0.23546 0 0 0.0322617 -1.05061 0 -0.309509 0.764669 -0.471481 -0.0138816 -1.17422 -0.0145156 0 0.040052 -0.35608 0.742304 0.176252 0.0304511 0.557214 0 0 0.564451 2.56451 0 0.578547 0.216046 -0.107167 0 0 0 0 0.337354 -0.388228 0 1.40852 -1.35033 0 0 0 -4.24128 0 -1.39643 -2.48734 0 -0.629863 -0.363437 -4.44451 0 -0.285757 -1.07516 1.35636 -8.13355 0 0 0 -0.0743961 -0.0138841 0 0 0 -0.0257457 0.0481625 0 -0.00300995 0 0.00187488 0.0184777 0 0 0 0 0.0441931 0 0.00234644 0 0.250831 0 -0.19979 0.182734 0 0.00134808 0 0 0.0688005 0.00180481 0.0224619 0 0.00721142 0 0.00249818 0.0827579 0.0106369 0.03145 0.00969546 0 9.99081e-05 0 0 0 0.000375671 0 0 -0.00312204 0.00284227 0.416843 -0.00697978 0 0 -0.00107054 0 -0.00507342 0 0 0.0117118 0.0440077 -0.145072 -0.0190593 0 0 0.0782022 0.0125255 -0.012289 0.0102236 -0.0597388 0 -0.0579426 0.0169475 -0.208082 0 0 0 -1.07245 0 -0.110906 -0.30944 0 -0.00987113 -0.0176964 -0.0785015 0 -0.00143071 -0.0039731 -0.000271376 -0.0327162 0 -0.729771 -0.0743961 -0.257218 -0.0138841 -0.542986 -0.0618775 -0.114142 -0.231961 -1.1851 0.0184047 -0.0312537 -0.0201299 0.00264475 -0.00500961 -0.0210489 -0.0704739 -0.0232298 0.118761 0.351026 0.425149 -0.389348 0.0428301 0.138686 0.0541993 -0.159241 0.0544749 -0.47937 0.0103832 -0.772131 -0.0808708 -3.05092 -0.37651 -0.00348488 0.427085 -1.43229 0.0158788 -0.00308157 -0.0382201 -0.0159153 0.488596 -0.172276 0.00714711 -0.627889 0.989459 -0.00494488 -0.019301 0.121945 0.0584926 0.172184 1.17495 -1.12642 -0.762166 0.00711784 0.301329 0.0431722 1.10362 -0.442628 0.839628 -0.117922 0.364695 -0.527442 -0.822073 0.110154 -0.565651 -6.44385 -0.221915 -0.0890596 -0.0247574 -0.16021 -0.228762 -0.00325659 0.0261142 -0.0448764 0.153055 0.129086 0.299133 17.2932 2.0476 -2.09781 0.708459 -0.400743 -0.382434 -0.0705892 -0.0311134 -0.409684 -0.0942266 -0.0813586 0.031174 -0.31704 0.208545 -0.434612 0 +343 0 0 0 0 0 -0.412342 -0.132184 0.0864169 0.626104 0 0 -0.0845354 0.236528 0 0.223325 -0.0643483 0 0 0 0.0479021 0.301397 0 0 0 0 0.13768 0 0 0.166748 -1.32451 0.060468 0 -0.456286 0 0 0.102973 -0.0372619 0 0 1.39006 0.491184 0 0 0.221035 0.549688 0 0.0905398 0.0280556 0.0162528 -0.207864 -0.88201 -0.0260302 0 0.225512 0.56054 -0.321732 0.829681 1.00394 0.577987 0 0 0.284965 -6.17302 0 0.106434 0.4455 -0.246546 0 0 0 0 0.274117 0.00828873 0 -3.92173 0.881897 0 0 0 -0.0977033 0 -1.79926 3.27803 0 -0.484796 1.7627 -2.27432 0 -1.01239 2.2847 -3.81563 3.82918 0 0 0 -0.445425 -0.0659927 0 0 0 -0.0206574 0.0483603 0 -0.00206343 0 -0.00739605 -0.0917692 0 0 0 0 -0.225399 0 -0.038131 0 -0.503547 0 -0.169512 0.00484805 0 -0.00274397 0 0 -0.225757 0.000548793 0.0295653 0 0.00411227 0 0.00356536 0.0153619 -0.0217605 -0.00200156 0.019211 0 -0.000370714 0 0 0 0.000253355 0 0 0.00419324 0.0011609 -0.0117006 0.0011911 0 0 -0.0246432 0 -0.0116347 0 0 0.0204789 -0.00292923 -0.0646187 0.0476951 0 0 -0.116636 -0.0186299 -0.0388008 0.0681759 -0.358614 0 -0.0392344 -0.0117473 -0.10137 0 0 0 2.12034 0 0.137187 0.482462 0 0.0182741 0.00840178 0.134518 0 -0.000335913 0.0147078 -0.024329 0.103909 0 -0.412342 -0.445425 -0.132184 -0.0659927 0.280803 0.0298444 -0.253643 0.189413 -0.282437 0.0702234 0.0439256 0.349327 0.0105731 0.0808429 -0.060953 -0.0599925 0.0622582 0.458917 0.924642 -0.761357 -0.0805095 0.0668952 0.123627 0.141946 0.180121 -0.0111971 -0.456633 -0.0146782 3.92719 0.323637 0.0177073 0.277419 -0.0122249 0.50619 0.135805 0.0390626 -0.00184458 0.0297058 0.0203353 -0.285552 -0.01758 0.00325667 1.59219 0.810202 0.0106207 0.0181667 0.184682 -0.102302 0.0606517 -0.715787 -2.20895 0.429365 -0.00452041 -0.121753 0.0471207 -0.41584 0.0330432 -0.24458 0.141736 -0.304349 -0.644215 -0.468187 0.0487291 0.280384 1.28756 0.354595 -0.125544 0.287717 0.0881825 0.489995 -0.14615 -0.00423256 -0.126111 0.121262 -0.11018 -0.0974008 -0.100368 -1.00158 -2.37233 -1.30668 -1.27805 1.34272 -0.419072 -0.367122 0.552723 -0.779955 -0.314387 -0.222092 0.325404 -0.541238 0.426575 0 +344 0 -0.364788 -0.0587506 -0.0135798 -0.124259 0.0359222 0.249924 -1.31246 -2.60162 -0.0832183 0.786786 -0.141633 -0.381493 0.00120494 -0.107552 0.0137731 -0.43557 -1.77799 0.223339 0.0292206 -0.733432 0.0523499 -0.104956 -0.00158401 0.141917 -0.810311 -0.0488808 0.108977 -0.686257 -1.36049 0.137375 -0.0122977 0.0921891 -0.0822958 0.569145 -0.46323 -0.00896322 0.396517 0.225937 -0.170997 0.379588 0.00867754 1.7684 -0.0100808 -1.89554 0.0493025 0.573494 -0.923973 0.165073 0.0160705 1.17554 0.306815 -0.709286 -0.0676223 0.042132 0.112633 2.04703 -0.529467 -0.241832 -0.314388 -0.0142609 0.779134 1.84757 0.312323 -0.0169448 -0.943418 0.970396 0.191267 0.817395 0.0193155 -0.0594984 0.0766007 -0.0814934 -0.603667 2.45365 0.786841 -2.04732 -1.83724 -1.17793 2.10532 -0.7095 1.21641 -0.669796 -0.726449 0.988876 -1.10594 3.61479 -0.015216 0.0213882 0.171163 0.272432 2.14009 0 0 0 0 0 -0.0135798 -0.124259 0.000724577 0 0 0 0 0.000100402 0 0.00534456 0 0 -0.000162018 -0.000964436 0.00306577 0 0.000545311 0.0230403 0.0232803 0 0 -0.1313 -5.10545e-05 0 0.00401697 0.178686 0 0 -0.0163617 0.0980989 0 0.0630845 0 -0.0167163 0 0 -0.00191319 0 0 0.177583 0.00189663 -0.00306057 0 0.0136875 0.0147246 0 0 0.0802936 0 0.00139581 0.429889 0.00309116 0 0 0.000312107 -0.00117967 0 0.00689193 0.0149069 0.00244297 0.16964 0.0370032 0.00107261 0 0.00277593 0.000653912 -0.0814395 0.038267 0.0605203 0 0 0 -1.19094 -0.0337997 -0.183738 -0.00493407 -0.00432641 -0.00516336 0.000137817 0.000120844 0.000254908 -0.00272162 0 0 0 0 0 0 0.0359222 0 0.249924 0 0 0 0 -0.0739151 0.368948 0 0 0.686457 0 0.0816238 0 0.00218732 0 0 -0.539183 0 0.146808 -0.061843 0.337613 -0.0637085 0 0 0.0972011 0 -1.13625 0 2.26907 0.52389 0 -0.38291 0.774152 0.035205 0 -0.00352981 0 0 0.036871 0 0.241739 -1.08373 0 0 -0.134187 0 0 0.0260565 0.461099 -0.0430887 0 1.32749 0 -0.0969263 0.166576 0.0189203 -0.585392 0.0444837 0.869393 0.311095 0.0407674 -0.323994 -0.811957 0.150731 0 0 0 0.135645 -0.137491 0 0 0 0 -0.115909 -10.6935 -3.38869 1.45373 -0.568508 0.218691 -0.538765 -0.338058 0.214245 -0.281835 0.244913 0 0 0 0 0 0 +345 0 -1.08219 -0.242361 -0.00945412 -0.0337009 -0.212494 -0.029515 -0.270174 -0.429179 -0.0726309 0.102003 -0.0312072 0.555535 0.000979423 1.48805 0.00733201 -0.666045 -1.86624 -0.0378914 0.00612209 2.02864 -0.00920649 0.0635059 -0.00125033 0.0372989 0.035286 -0.27275 -0.0240697 0.0803068 -0.226999 0.246126 -0.0101576 0.0965937 -0.0134432 -0.155398 0.0298101 -0.00274308 -0.0453718 -0.164271 -0.143835 0.788125 0.00845543 -0.370432 -0.0138784 2.609 0.0682261 0.245246 -0.0416037 0.0787043 0.0428138 -0.44589 0.112218 -0.602282 0.00825571 0.00911037 -0.10207 -0.940239 0.204906 0.161793 -0.078051 -0.0188585 -0.447642 -2.74631 -0.761368 -1.05983 0.0950542 -0.272855 -0.149814 -0.119645 0.0182235 -0.0187286 -0.169406 0.116962 0.0491352 -1.63083 0.0251865 0.315723 -0.120769 -0.709966 0.540984 -0.662857 0.899816 -0.769453 -0.174084 0.0635184 0.0549007 0.142544 -0.0210563 0.0152781 -0.0186321 0.136144 0.357076 0 0 0 0 0 -0.00945412 -0.0337009 0.00197538 0 0 0 0 0.000208145 0 0.0052724 0 0 0.000822839 0.000905122 0.00267734 0 0.000513698 0.019944 0.0302938 0 0 -0.0353015 4.79146e-05 0 0.00381293 0.421817 0 0 -0.00230223 0.0958676 0 0.0291906 0 -0.0076711 0 0 -0.000728742 0 0 0.241025 0.00393192 0.0155437 0 0.0373156 -0.0304744 0 0 0.145586 0 0.00380531 0.269473 0.00151174 0 0 -0.00158509 -0.00321608 0 0.00648346 -0.0404448 -0.0011118 -0.0190155 0.0303805 0.00882407 0 0.00640149 0.000696406 -0.115858 0.00384247 0.0350984 0 0 0 -2.77554 -0.210216 -0.277234 -0.0140712 -0.0123383 -0.0152611 -0.000699932 -0.000613732 -0.0012946 -0.0029213 0 0 0 0 0 0 -0.212494 0 -0.029515 0 0 0 0 0.198897 0.0431859 0 0 0.185402 0 0.0191709 0 0.00289215 0 0 -0.0688474 0 0.520026 0.0151901 0.074764 -0.00611035 0 0 -0.015656 0 -1.11026 0 4.18487 0.0431116 0 0.408002 1.51766 0.0103522 0 0.0101198 0 0 0.00999621 0 -0.207009 -0.309936 0 0 -0.0322338 0 0 -0.691048 4.0118 0.171012 0 0.0994107 0 0.806825 0.0699629 0.0852461 0.385208 -0.0843167 0.895563 0.778017 0.172404 0.101661 1.01517 0.191813 0 0 0 0.275083 -0.0653967 0 0 0 0 -0.0667876 -25.8465 -3.34891 -1.32515 -1.17628 0.483892 -1.27064 -0.045369 0.0167893 -0.0399633 -0.132418 0 0 0 0 0 0 +346 0 -0.262436 -0.474449 -0.0445958 -0.207221 0.116391 -0.205434 0.326456 0.424132 -0.347316 0.886364 -0.0387535 0.0941485 0.00439407 -0.646346 0.0572508 -1.12511 -2.80446 0.033226 0.141931 -3.62639 0.00384455 0.388007 -0.00567014 0.219853 0.435149 -0.612093 -0.00495708 0.39063 0.500699 -0.228436 -0.0466662 0.54232 0.605043 -0.111015 0.276283 0.00205941 -0.00102296 1.19801 -0.12481 -1.84043 0.0360428 0.00272663 -0.00589805 -0.266036 0.267741 -0.939574 0.47228 1.29317 0.0170694 -0.0214413 0.121469 6.67994 -0.247207 0.217679 0.102257 1.40289 -0.914588 -0.35038 -0.329004 -0.0767948 0.922634 6.21897 -0.407125 -0.515539 -0.332551 -0.20731 0.00322584 0.246004 0.084179 -0.215461 0.524058 0.274962 0.1213 4.51181 -0.956498 0.474491 -3.82805 -1.23665 -2.43698 0.172692 -1.08074 -1.06686 -0.387069 -0.109077 -0.546682 -0.94954 -0.0826317 -0.00788656 -0.287847 0.0473992 -0.787615 0 0 0 0 0 -0.0445958 -0.207221 0.000838999 0 0 0 0 0.000195894 0 2.37833e-05 0 0 -0.00172329 -0.00540902 0.00261331 0 0.000243111 0.0551065 0.0122634 0 0 -0.15121 -0.000286338 0 -0.0327448 0.307504 0 0 -0.0144609 0.16878 0 -0.16584 0 -0.0298529 0 0 -0.00300501 0 0 -0.601883 0.00370051 -0.0325536 0 0.015849 0.0693826 0 0 -0.0797484 0 0.00161622 0.390033 0.00495737 0 0 0.0033197 -0.00136596 0 -0.000739036 -0.0337365 0.00619138 -0.706151 0.0300996 -0.0187999 0 0.00744837 0.00761958 -0.294568 0.0359944 0.0732491 0 0 0 5.24969 0.392348 0.235824 0.0245602 0.0215355 0.0433923 0.00146589 0.00128536 0.00271132 -0.000523087 0 0 0 0 0 0 0.116391 0 -0.205434 0 0 0 0 -0.2586 0.130836 0 0 0.679639 0 0.0753273 0 0.0248264 0 0 -0.950344 0 0.705391 -0.0781751 0.23803 -0.136034 0 0 0.200946 0 -7.04993 0 1.22616 -0.512932 0 -0.390771 0.73903 0.0310058 0 -0.0525256 0 0 0.0165705 0 -2.07758 -2.09333 0 0 -0.290747 0 0 -0.0531346 0.606417 -0.143138 0 0.463377 0 -0.0131407 0.315233 -0.0262762 -0.533532 0.130697 0.859624 0.57934 0.0303651 0.582116 2.84511 0.0943098 0 0 0 0.0934282 -0.135366 0 0 0 0 0.0495561 -10.9711 -3.0419 0.402456 -0.379948 0.0341375 -0.341943 -0.284126 0.160877 -0.229282 0.0982473 0 0 0 0 0 0 +347 0 0.260285 -0.121114 -0.0873193 0.0122675 -0.000611546 0.185374 -0.667938 -1.50933 -0.756158 1.19834 0.0717804 0.593479 0.0480855 -0.72216 -0.132122 -1.1945 -5.6268 0.14824 -0.143989 -1.43434 0.0371764 0.149635 -0.0630588 0.409703 -0.315582 -0.343414 -0.203064 -0.332856 -0.881538 0.121357 -0.222898 -0.460145 0.349281 -0.918511 -0.201199 -0.0521958 -0.68446 0.965423 0.01975 -0.0781051 0.165174 -3.15375 -0.12629 -0.287642 0.4208 0.287505 -0.516463 -0.534729 0.417387 -1.74437 0.616837 0.305764 0.225944 -0.0748001 0.0515728 -1.87293 0.140943 0.701194 -0.688715 -0.356626 0.933322 -0.555577 -0.724748 1.10894 1.50864 0.769684 -1.33895 -1.32081 0.39829 -0.0489328 -0.284727 -0.205321 1.02346 -0.169965 0.000598437 0.915175 -4.27279 -2.47733 0.680849 -1.45742 0.854708 -1.99918 -1.2172 1.02961 -1.63272 2.48835 -0.736012 0.522347 -0.0244305 -1.16779 3.33246 0 0 0 0 0 -0.0873193 0.0122675 -0.00431194 0 0 0 0 0.000422437 0 0.0277504 0 0 -0.00335339 -0.00913411 0.0209618 0 0.00324799 0.183255 0.198989 0 0 -0.102037 -0.000510346 0 -0.0211807 0.931952 0 0 -0.00926981 0.460155 0 0.0496476 0 -0.0832216 0 0 -0.0082058 0 0 0.243225 0.00876346 -0.0493049 0 -0.0622442 0.051869 0 0 0.155403 0 0.00238971 0.864983 0.00284897 0 0 0.0013585 0.0172791 0 0.01636 0.0127427 0.0029927 0.103321 0.0893019 0.00192418 0 -0.0103265 0.0142563 -0.533499 0.196441 0.149303 0 0 0 -2.3243 0.0253712 -0.702468 -0.0261422 0.0235244 -0.0650734 0.0030571 -0.00398606 0.00946631 -0.0340363 0 0 0 0 0 0 -0.000611546 0 0.185374 0 0 0 0 -0.2205 -0.759085 0 0 0.0451062 0 0.0222652 0 -0.0229375 0 0 -0.636473 0 0.172202 -0.11751 -0.110888 -0.0806474 0 0 -0.113397 0 -3.3104 0 -1.26875 0.198188 0 -0.528705 -0.363241 -0.00480483 0 -0.0485206 0 0 -0.119707 0 -0.753947 -0.61218 0 0 -0.0693335 0 0 -0.0819666 0.305842 -0.219276 0 1.19013 0 0.627512 -0.0603139 0.319554 -0.0548687 0.185225 -0.482806 0.217548 -0.0798609 -0.124053 -0.476914 -0.141012 0 0 0 0.085053 -0.0391588 0 0 0 0 0.117476 10.8351 1.47154 1.14175 1.02556 -0.831572 0.970641 -0.0505574 0.0570307 -0.03184 0.21977 0 0 0 0 0 0 +348 0 -1.32842 0.01472 -0.0217859 -0.149188 -0.179282 0.120676 -0.5951 -0.813848 -0.0708621 0.828175 0.344523 -0.235988 0.0101386 -0.265697 0.243954 0.832215 3.72117 0.17859 0.323357 -1.713 0.0409869 -0.170111 -0.0110032 0.139428 -0.399918 0.272483 0.0459943 -0.469188 -1.13896 0.0495061 -0.0306264 0.935076 -0.0801027 0.200858 -0.262184 0.0823561 0.245497 1.64078 0.163102 -0.469282 0.0494146 0.757291 0.0415486 -1.11316 0.257314 0.180213 -0.822298 1.15429 -0.0345863 -1.02865 0.117409 1.47243 -0.332744 0.333359 -0.505134 1.2126 0.611196 -0.498293 -0.191498 -0.111814 -0.333626 -0.504303 0.123204 -0.0265824 0.592286 0.509337 -0.410151 -0.393208 0.0535754 -0.14764 -0.40695 0.388565 -0.24921 -0.387723 0.754717 1.32606 -9.90644 -3.40629 -0.429058 -1.90666 0.557168 -1.21883 -0.95209 0.841725 -1.20272 1.50194 -0.450063 0.187333 0.509708 -1.76885 4.3056 0 0 0 0 0 -0.0217859 -0.149188 0.00418044 0 0 0 0 0.00121295 0 0.0229032 0 0 0.00440761 0.01512 0.0152534 0 0.00344331 -0.00154039 0.0993571 0 0 -0.150374 0.000806589 0 0.0636484 0.2833 0 0 -0.0210039 0.0774236 0 0.254417 0 -0.030327 0 0 -0.00364733 0 0 1.25875 0.0228446 0.0804443 0 0.077501 -0.101107 0 0 0.306219 0 0.00972393 0.538142 0.00437576 0 0 -0.00721458 -0.00576521 0 0.0215791 -0.120863 -0.0158964 0.545864 0.0878562 0.0432951 0 0.00241455 0.000214251 -0.112932 -0.0420398 0.0793359 0 0 0 -11.9961 -0.857624 -1.07948 -0.0652831 -0.0301981 -0.136707 -0.00332825 -0.00291631 -0.00555303 -0.0177344 0 0 0 0 0 0 -0.179282 0 0.120676 0 0 0 0 0.273974 0.713482 0 0 -0.0327835 0 -0.00624847 0 0.0594834 0 0 -0.0993285 0 -0.132181 0.0437338 -0.206446 -0.00238716 0 0 0.474188 0 5.37659 0 2.86811 0.607236 0 0.471812 0.415347 -0.0236635 0 0.028671 0 0 0.084622 0 1.62648 0.355295 0 0 0.062843 0 0 -0.299282 -0.411701 0.161012 0 0.700003 0 -0.388482 0.143178 -0.259072 0.618287 -0.103865 -0.256526 0.119329 0.102874 0.58568 4.78575 0.0452703 0 0 0 0.244827 0.035528 0 0 0 0 -0.148232 -22.9514 -2.53136 -1.45533 -0.887706 0.374413 -0.962203 -0.0466106 0.02453 0.0223417 -0.175195 0 0 0 0 0 0 +349 0 -0.590091 0.314644 -0.145067 -0.499444 0.263468 0.338014 -0.64628 -1.68173 -0.37192 1.76499 0.0389891 -0.31097 0.069048 -0.0545749 -0.0661996 1.28095 3.22773 0.314119 -0.253232 1.55528 0.0853513 -0.398258 -0.0843011 0.409449 -0.745016 0.630401 -0.0805922 -0.536289 -0.202356 0.0190545 -0.215811 0.0651231 -0.513756 -0.107258 -0.453755 -0.0525369 -0.438474 -0.169179 -0.412061 0.936962 0.228251 -1.18641 -0.214397 -0.16217 0.66193 0.761654 -0.536666 -0.638796 0.217244 0.289163 0.814095 3.50025 0.270821 -0.447653 0.195705 -0.501993 0.0432433 -0.228083 -0.449487 -0.277291 -0.780513 0.216783 0.34142 0.0946651 0.214504 0.233743 0.445366 -0.318133 0.154233 0.748137 0.0771267 0.150712 0.60172 0.0345279 0.379898 1.18075 5.06386 -0.967295 2.71366 0.32673 0.645621 -1.40704 -1.70809 1.90131 -2.68525 2.7062 -1.15777 1.2092 -1.07417 0.519359 0.764964 0 0 0 0 0 -0.145067 -0.499444 0.00225635 0 0 0 0 0.000649219 0 -0.0139188 0 0 0.00118998 -0.0146737 -0.014338 0 -0.00300293 0.0505896 -0.116017 0 0 0.0228107 -0.000746782 0 -0.180272 -0.158601 0 0 0.00193824 0.00264936 0 -0.497816 0 -0.0152477 0 0 -0.000937479 0 0 -1.13176 0.0115059 0.00754836 0 0.0240399 0.0884695 0 0 -0.418574 0 0.000857431 -0.431744 0.00082939 0 0 0.00268569 -0.00834308 0 -0.0177427 -0.0644895 -0.00452419 -1.24171 -0.0395209 -0.00472556 0 0.00311144 -0.000849265 0.0467003 -0.140432 0.0120135 0 0 0 9.60657 0.528709 0.853804 0.0542469 0.0182541 0.129819 -0.000712214 0.00511254 -0.00561204 0.022796 0 0 0 0 0 0 0.263468 0 0.338014 0 0 0 0 0.00395195 -0.517877 0 0 0.765438 0 0.0862829 0 0.0197195 0 0 -0.117058 0 -0.701118 -0.00825926 -0.0877864 -0.0147318 0 0 0.0857782 0 -0.929332 0 0.633988 -0.0343553 0 -0.354387 -0.871473 -0.0135516 0 0.0218104 0 0 -0.0350227 0 -0.469009 0.494324 0 0 0.0485999 0 0 0.226909 0.0368242 -0.10069 0 -1.09225 0 -0.267616 -0.251263 0.0914505 -0.196185 -0.0277092 -0.0675596 0.123676 0.0943121 0.376214 -2.82555 0.0150409 0 0 0 -0.136166 -0.0441486 0 0 0 0 0.0624197 -7.96179 -4.48734 2.76596 -0.853771 0.69563 -0.458788 -0.614142 0.446268 -0.410407 0.245595 0 0 0 0 0 0 +350 0 0 0 0 0 0.185259 0.187587 -0.856932 -2.10849 0 0 -0.279181 -0.258453 0 -0.996732 -0.0753669 0 0 0 0.0617164 -6.07294 0 0 0 0 -0.552917 0 0 -0.328993 5.20215 0.0119084 0 -0.269297 0 0 -0.287067 -0.0493269 0 0 -2.25576 -0.935021 0 0 -0.495233 -2.41876 0 0.289457 0.56974 0.45676 1.09135 -3.27889 0.959768 0 0.199483 -0.027123 0.282739 -0.325046 -0.0612562 -0.114854 0 0 -1.44594 2.07866 0 1.13813 1.14966 0.720901 0 0 0 0 -0.792945 -1.76305 0 0.661804 -0.519547 0 0 0 6.9694 0 4.88583 -9.27762 0 2.4077 -2.95587 3.7571 0 2.80531 -3.4615 6.35969 -16.5526 0 0 0 0.205857 0.07772 0 0 0 -0.0507792 0.0590264 0 -0.00593702 0 -0.0105568 -0.0107134 0 0 0 0 0.020727 0 0.0194791 0 -0.175647 0 -0.3554 0.0393413 0 -0.00605545 0 0 -0.0740485 -0.00395975 -0.0352939 0 -0.00331546 0 0.00394829 0.0566842 -0.0184034 -0.0562358 0.00804417 0 -0.000773657 0 0 0 -0.000255683 0 0 0.0150779 0.0040312 0.00433614 -0.0777317 0 0 -0.0107362 0 -0.0131516 0 0 0.0474728 0.0424499 0.0751759 0.0041882 0 0 -0.135488 0.0467958 -0.0114785 -0.15716 0.187247 0 -0.0509994 -0.0316897 -0.0137267 0 0 0 1.07065 0 0.152397 0.188937 0 -0.00414919 0.0643582 0.000761761 0 0.00556985 -0.00652145 0.0414613 -0.052165 0 0.185259 0.205857 0.187587 0.07772 -0.52684 -0.193719 0.426073 -0.217943 -0.122447 -0.134667 -0.0680549 -1.55472 -0.0244413 -0.249099 0.0947867 0.00703039 0.0157765 -0.591781 -0.484519 -1.49964 -0.421067 -0.140166 -0.5824 -0.112359 0.0930223 0.286144 -0.107214 -0.024675 -9.20904 -0.586947 -4.41021 -0.14702 0.018471 -0.424979 -1.39982 -0.0953794 -0.00830801 -0.0442579 -0.11938 2.0494 0.080228 0.0396395 -2.18468 -2.3289 -0.00679476 -0.0194555 -0.463796 -0.16309 -0.0731578 -0.302427 -0.596376 -2.50475 0.0750011 -1.29364 -0.0830473 2.77485 -0.0197806 1.28438 0.787641 0.221848 -1.7046 -1.07566 -0.209004 4.6253 19.3516 -0.422047 0.321028 -0.124413 -0.124867 0.139758 0.519801 0.0255406 0.312284 -0.282947 0.137937 0.589112 32.8095 11.8762 -0.983876 7.03465 -2.56548 -1.89299 2.52149 -1.01319 -0.186424 1.29339 1.29713 -0.192037 -0.725252 1.47446 -2.72394 0 +351 0 0 0 0 0 0.0862447 0.308539 -0.489025 -3.31332 0 0 -0.208231 1.07866 0 1.70357 -0.164933 0 0 0 -0.235924 2.73832 0 0 0 0 -0.653217 0 0 -0.165984 -0.618686 0.412213 0 -0.492045 0 0 -0.109156 -0.0337822 0 0 -0.161063 0.82788 0 0 -0.0175605 5.68413 0 0.32241 -0.0799551 -0.533644 -0.0432061 0.866779 -0.0604171 0 -0.0994704 -1.17549 0.838521 -3.11095 -0.618299 0.705481 0 0 0.164339 0.171065 0 0.803531 0.186962 -0.254991 0 0 0 0 -0.788792 0.0498773 0 -0.169534 -1.0864 0 0 0 10.1594 0 2.44875 -1.83868 0 0.371706 0.102998 5.61977 0 0.0278256 0.182047 1.54005 2.45125 0 0 0 -0.101002 -0.000959211 0 0 0 0.0016671 0.0852517 0 -0.000466002 0 -0.00107388 -0.0925189 0 0 0 0 -0.263625 0 -0.0504349 0 -0.436354 0 -0.0706423 0.567229 0 0.00494489 0 0 -0.0350882 0.00278026 0.0921929 0 0.0168631 0 0.00573473 0.0222738 0.0157002 0.0410077 0.0105596 0 -8.3842e-05 0 0 0 0.00117434 0 0 -0.00560275 -0.00933039 0.240095 0.02551 0 0 0.00620638 0 -0.0191932 0 0 0.0843645 0.0318062 0.0544308 -0.0418266 0 0 0.0327812 -0.0366265 -0.0314148 0.0163597 -0.0983095 0 -0.129692 0.0168311 -0.367984 0 0 0 0.750236 0 -0.0519588 0.216959 0 0.00257047 -0.00175939 0.196192 0 -0.00331894 0.00769291 -0.0147085 0.0237024 0 0.0862447 -0.101002 0.308539 -0.000959211 0.143325 0.033645 0.062796 -0.419166 -0.343347 0.0048061 0.00979199 -0.167617 -0.000263723 -0.0614745 0.00436836 -0.0590185 0.00912187 0.100651 1.12394 1.05464 -0.343017 -0.254071 -0.04209 0.128547 0.0578284 -0.0125686 -0.460217 0.0137986 1.83203 -0.0967014 -2.05711 0.255217 7.06285e-07 -1.63745 -0.892014 -0.0170369 -0.00437978 -0.0706516 -0.015951 -0.204587 -0.0330569 0.00117768 0.419388 3.16396 0.00211713 -0.026056 0.378172 0.118394 0.145402 -0.059455 4.45821 -1.1133 0.0251479 -0.290399 -0.0100993 1.04544 -0.563606 1.21899 0.268393 -0.0352324 -0.374829 0.899745 -0.236977 1.58041 -1.07467 0.025717 -0.221812 -0.0143469 -0.249206 0.295371 0.15455 -0.0237333 -0.00521627 0.13256 0.121253 0.238353 15.3037 3.46554 6.49822 1.88011 -0.927033 2.42236 0.0446434 0.053723 0.31702 1.09978 -0.220619 0.104664 0.253357 -0.190648 0.543998 0 +352 0 0 0 0 0 0.63407 0.320839 -0.359884 -1.34264 0 0 -0.663771 0.705999 0 0.549707 -0.165522 0 0 0 -0.284604 1.73554 0 0 0 0 -0.338217 0 0 -0.41384 5.90954 0.362818 0 -0.518864 0 0 -0.240583 -0.0827736 0 0 -3.65791 2.39709 0 0 -0.769591 0.556132 0 1.33613 0.812303 -0.364067 1.17677 -0.97606 0.781463 0 0.65074 -1.01003 0.239971 2.51358 1.30351 0.870033 0 0 0.858268 -4.89365 0 0.718892 0.139958 0.782448 0 0 0 0 -1.17121 -2.34832 0 -0.249342 0.56394 0 0 0 2.44826 0 6.53903 -10.0151 0 3.25629 -5.06633 5.16046 0 5.10751 -7.74023 12.6728 -20.0123 0 0 0 0.559163 0.117468 0 0 0 -0.0304982 0.0117393 0 -0.00311041 0 -0.0172642 0.0117227 0 0 0 0 0.208614 0 0.0314432 0 0.245709 0 -0.271142 -0.0718515 0 0.00225817 0 0 0.43025 -0.00655014 -0.023816 0 -0.00918064 0 0.00110413 0.142508 0.0485552 -0.0855985 0.0308105 0 -0.0012937 0 0 0 -0.000625701 0 0 0.00779621 0.00238672 -0.106911 -0.0458416 0 0 0.0484633 0 -0.00241109 0 0 -0.000154767 0.0166423 0.085892 -0.0331428 0 0 0.152213 0.0489794 -0.0489359 -0.133247 -0.150206 0 0.232811 0.00455005 0.0780239 0 0 0 -1.08369 0 0.0598224 -1.03148 0 -0.0175 0.00221499 -0.161198 0 0.00680814 -0.0332877 0.0742644 -0.235757 0 0.63407 0.559163 0.320839 0.117468 -0.835404 -0.177583 0.0591556 0.279052 -0.330935 -0.165808 -0.0226289 -0.529476 -0.0296306 -0.194511 0.0587977 -0.00485123 0.0522223 -0.797732 0.902291 -1.36199 -0.123721 0.113923 -0.183545 0.0219317 0.383976 0.15153 -0.433191 -0.0235298 1.38116 -0.184436 -0.351886 0.751082 0.0161212 0.514684 -0.246959 -0.0817988 0.000360281 0.0684099 -0.061941 0.8466 0.131506 0.0257925 0.946295 1.43083 -0.00137429 0.0380758 -0.0718264 -0.154076 0.11615 0.345689 2.51411 -0.966307 -0.00962764 2.22089 0.00106916 1.68789 -0.146333 0.575442 0.421732 -0.190689 1.19972 -0.371216 0.181135 4.76011 31.3255 0.0910067 -0.226849 0.071208 -0.309729 0.415967 0.295136 0.00418388 0.222404 -0.205274 -0.000400142 0.438151 2.61783 2.45565 -1.61151 3.35298 0.377824 -2.27464 1.68241 -0.403886 -0.471526 0.29343 1.74856 -0.746305 -0.0530215 0.744188 -1.29729 0 +353 0 1.09903 0.455539 0.104756 0.203827 -0.0389028 -0.116716 1.42788 3.28727 0.380168 -2.89667 0.405549 0.81712 -0.0438861 1.14231 0.0990772 1.23893 3.10815 -0.603619 0.16341 -0.189715 -0.123533 -0.388443 0.0354247 -0.760778 0.764075 0.438076 -0.0505963 0.0699526 -0.0164448 0.303011 0.121341 0.474082 -1.55101 -0.191465 0.310431 0.0986387 0.209709 -6.84792 0.724683 -0.199644 -0.176527 0.453457 0.216525 1.55725 -0.575839 -0.23586 0.0162034 0.825465 -0.52416 0.62997 -1.09637 1.42977 0.0398909 0.16267 -0.0869587 0.586534 0.565895 0.0951706 1.14534 0.292767 1.0964 0.808926 3.34808 -1.01768 0.316215 -0.324095 1.58781 -0.0125955 0.0113036 2.00075 0.484682 0.938553 0.422405 -0.074938 0.0666363 1.52557 41.4336 15.7413 -7.9221 9.78805 -7.79352 10.7786 4.48451 -3.74858 4.19488 -5.96148 1.38577 -1.66759 1.03639 -1.3021 0.0580644 0 0 0 0 0 0.104756 0.203827 0.00802354 0 0 0 0 0.000487374 0 -0.0105751 0 0 -0.00422445 -0.0169499 0.0120701 0 -0.000194109 0.0417576 -0.0271159 0 0 -0.077135 -0.00124152 0 -0.0301721 0.73939 0 0 -0.0171893 0.0908652 0 -0.150913 0 -0.00175679 0 0 -0.00194798 0 0 -0.743921 0.00694804 -0.0603467 0 0.112847 -0.0132915 0 0 -0.0366442 0 -0.000909622 0.0108395 0.00222782 0 0 0.0109991 -0.0264113 0 -0.0271691 -0.0566929 -0.0353072 0.27688 0.0443936 0.0231568 0 0.0478877 -0.0257595 0.105822 -0.0483138 -0.155066 0 0 0 5.69133 0.28649 0.531866 0.0580348 -0.0576974 0.191071 0.00547068 -0.00850904 0.0206703 -0.0101779 0 0 0 0 0 0 -0.0389028 0 -0.116716 0 0 0 0 0.426311 1.20224 0 0 -0.925896 0 -0.13213 0 0.0530911 0 0 0.272332 0 -0.255153 0.145559 -0.326531 0.0345878 0 0 0.419941 0 9.10577 0 -2.71637 0.312758 0 1.06184 -0.745383 -0.0485879 0 0.0597848 0 0 0.150193 0 2.56172 0.0318183 0 0 0.00779598 0 0 0.289419 4.69265 0.610414 0 2.24233 0 -2.94295 0.53929 -0.466506 0.949541 -0.102211 0.544363 3.10419 -0.344078 -1.6032 -6.78376 0.141219 0 0 0 0.215459 0.352648 0 0 0 0 -0.315696 25.1074 5.84784 -3.55515 1.65399 -1.25537 2.69741 0.760867 -0.676366 0.793503 -0.870448 0 0 0 0 0 0 +354 0 1.03692 0.0949916 0.00136728 -0.155762 0.208893 -0.211788 -0.639998 -1.62432 0.322753 -0.0434673 -0.506978 -0.781122 -0.0102839 -1.54941 -0.131487 -0.157022 3.29485 -0.219353 -0.229904 0.337374 -0.0644531 -0.0394398 0.0241909 -0.0630439 0.206306 -0.38263 -0.0463402 0.806864 1.71098 -0.549444 0.086767 -0.456727 -1.19122 -0.171516 0.225054 -0.0820951 -0.142231 -6.85546 -0.640784 -0.566927 -0.0220262 -0.524267 -0.0802423 -1.30126 0.0660737 -0.642109 1.21733 -0.895017 0.1562 -2.06346 -0.281753 -5.16562 0.290248 -0.345429 0.568261 1.59492 1.32359 0.600881 0.277218 0.0887228 -0.118354 -0.876973 3.4769 -0.709769 0.8037 0.818225 1.72724 -0.244797 -0.177519 -0.0922473 -0.608318 -0.510757 -0.783225 0.671654 -1.25797 -0.740772 38.9485 7.57862 2.32865 6.20059 -3.6305 6.60544 -0.585041 0.366586 -0.841135 5.37476 -0.159008 0.862323 -2.17541 3.49524 -6.04126 0 0 0 0 0 0.00136728 -0.155762 -0.00102904 0 0 0 0 -0.0014798 0 -0.0108097 0 0 0.00592594 0.0137073 -0.0200571 0 -0.00110489 -0.045391 -0.144216 0 0 0.30938 0.0010195 0 -0.171006 0.69288 0 0 0.0500453 -0.0986033 0 -0.553929 0 0.0796396 0 0 0.01185 0 0 -1.34152 -0.0200886 0.0792483 0 -0.00993692 -0.0422302 0 0 0.0523781 0 -0.0150855 0.172894 0.0288596 0 0 -0.00945051 -0.00158055 0 -0.00295096 -0.0482354 0.0352529 -0.141414 -0.0490174 -0.00439299 0 0.0103802 -0.0676861 -0.0969867 0.0338736 0.14727 0 0 0 5.81375 -0.156214 0.845946 0.0971052 -0.154448 0.38443 -0.00714978 0.0144406 -0.0304576 0.0582005 0 0 0 0 0 0 0.208893 0 -0.211788 0 0 0 0 -0.386795 -0.31781 0 0 0.385093 0 0.0398689 0 -0.0245054 0 0 0.0387094 0 0.891154 -0.0659362 0.393961 -0.0038363 0 0 -0.155089 0 2.27117 0 -1.02059 -0.347764 0 -0.626911 1.16406 0.0469938 0 -0.0456657 0 0 -0.0390663 0 -0.238322 0.636782 0 0 0.0538666 0 0 -0.122456 -1.83832 -0.338057 0 0.125937 0 1.30647 -0.285331 0.305756 -0.276811 -0.0232385 -0.0463153 -1.16712 0.22324 1.03924 5.54664 -0.00211373 0 0 0 0.103225 -0.150793 0 0 0 0 0.0814193 13.6473 -1.11872 3.76607 -0.545104 0.783531 0.17896 -0.572682 0.511335 -0.353713 0.612677 0 0 0 0 0 0 +355 0 0.462399 0.327275 0.146472 0.449478 -0.353421 -0.243044 0.607451 2.59799 0.164097 -3.85137 0.497484 0.284538 -0.0590044 0.484466 0.153324 0.90116 1.42796 -0.851618 0.341711 -3.37774 -0.21353 -0.400031 0.0492328 -1.05655 0.668512 0.366275 -0.147313 0.0511912 -1.33121 0.209732 0.132254 0.597207 -1.44532 -0.369853 0.234198 0.123395 -0.018321 -5.51726 0.877688 -1.52485 -0.22406 0.120937 0.268815 -0.404809 -0.685737 -0.619712 -0.476765 1.30584 -0.346678 -0.599999 -2.03384 -5.32617 -0.273416 0.483782 -0.76351 -4.04028 -0.85875 -1.17747 1.40174 0.248893 -1.25194 4.25834 4.08342 -3.01592 0.1807 -0.617197 2.70526 -0.232949 0.00735025 1.50628 0.189109 0.266139 0.268768 -1.08965 0.675069 -0.365316 24.0854 15.9954 -12.6188 11.76 -10.3743 10.541 6.43038 -5.84857 7.45492 -6.48575 1.65025 -2.00354 2.81242 -3.38876 4.70033 0 0 0 0 0 0.146472 0.449478 0.00379455 0 0 0 0 -0.000558654 0 0.017397 0 0 -0.00394275 -0.0190059 0.0429554 0 0.00265568 0.0942083 0.185834 0 0 -0.151066 -0.00141362 0 -0.0514722 0.451635 0 0 -0.0133645 0.205226 0 -0.0232492 0 -0.000710187 0 0 0.000455314 0 0 0.155927 -0.00766099 -0.0488124 0 0.0531277 -0.0610511 0 0 0.289749 0 -0.00362692 0.112672 0.00953963 0 0 0.00221359 -0.0122174 0 0.00864647 -0.0048537 -0.0109126 -0.759809 0.0972482 0.0121785 0 0.00693706 -0.0127514 0.131215 -0.164887 -0.138277 0 0 0 -2.86421 -0.222613 -0.509703 0.00819473 -0.0697809 0.0770088 0.00378008 -0.00911812 0.0179908 -0.0538756 0 0 0 0 0 0 -0.353421 0 -0.243044 0 0 0 0 0.429016 1.2294 0 0 -1.48192 0 -0.170813 0 0.0669276 0 0 -0.881568 0 -0.0819458 0.140227 -0.511173 -0.0570764 0 0 0.463216 0 -1.02438 0 -1.58108 -0.317636 0 1.22308 -0.267266 -0.0566632 0 0.0415158 0 0 0.176235 0 -0.745122 -2.18703 0 0 -0.175413 0 0 -0.0761032 1.46749 0.317633 0 -0.929495 0 -1.93899 0.897076 -0.601113 0.987782 -0.165141 -1.42591 2.32028 -0.371588 -3.72957 -22.6008 -0.05391 0 0 0 -0.219863 0.320112 0 0 0 0 -0.365661 14.5645 8.27937 -6.23501 1.99671 -1.66212 1.59856 1.32987 -1.13635 1.24156 -1.03032 0 0 0 0 0 0 +356 0 0.740877 0.0237546 0.150426 0.147296 -0.152095 -0.268876 1.26299 3.22417 0.532309 -3.46326 -0.245259 -0.991694 -0.098739 -1.39431 0.13241 -0.815295 -3.22836 -0.592143 0.27584 -1.3181 -0.147744 -0.0701385 0.0882212 -0.901167 0.642358 -0.241818 0.175676 0.38237 1.57114 -0.357405 0.215483 0.162672 -0.909356 0.561368 0.338387 0.0485693 0.863941 -5.88184 -0.39659 -0.863552 -0.295131 2.63012 0.1406 -4.19256 -0.605322 -0.550704 0.753398 0.291879 -0.151125 0.402692 -1.05679 -6.77742 -0.157193 -0.137862 0.254815 -0.930677 -1.40577 -0.850347 1.14556 0.32085 -1.52655 0.664546 -1.48362 -1.04245 -0.565974 -1.68357 0.383147 0.710493 0.207627 1.40634 0.626556 -0.335302 -0.418587 0.860846 -0.790012 -3.30147 32.5014 13.6459 -10.3488 9.13746 -6.09733 5.5415 6.00773 -4.14113 4.00384 -5.17765 2.11847 -0.482405 -1.34059 3.9763 -7.31267 0 0 0 0 0 0.150426 0.147296 0.0103103 0 0 0 0 -0.00067941 0 -0.0210152 0 0 -0.00291456 -0.00789996 -0.0328979 0 -0.0100148 -0.0685739 -0.0888446 0 0 -0.399083 -0.000622961 0 0.15607 -0.356279 0 0 -0.0491458 -0.293161 0 0.131595 0 -0.0875983 0 0 -0.00722759 0 0 -0.0401713 -0.00925043 -0.0412665 0 0.149485 0.031458 0 0 -0.192347 0 0.0149699 -0.19763 -0.0227945 0 0 0.0165193 -0.0286453 0 -0.0364544 -0.0499423 -0.0521831 0.747109 0.0187098 0.0311532 0 0.042854 0.0364501 0.12359 -0.0524269 -0.168305 0 0 0 3.71592 0.365721 0.409118 0.00236408 0.0482402 -0.0350548 0.00589211 -0.00880374 0.0176347 -0.00641812 0 0 0 0 0 0 -0.152095 0 -0.268876 0 0 0 0 -0.103798 0.779611 0 0 -0.351235 0 -0.0573336 0 0.0143429 0 0 -0.285192 0 -0.112279 0.0979517 0.188896 -0.0102626 0 0 0.0514358 0 1.21136 0 -1.88988 -0.017646 0 0.723769 -0.615361 0.0152532 0 -0.00261026 0 0 0.111855 0 0.163991 -0.748482 0 0 -0.0475204 0 0 0.206286 3.06046 0.413017 0 -0.323354 0 -1.12345 0.118844 -0.205231 0.0976684 -0.0370466 0.701709 1.65972 -0.0808376 -2.21857 -10.2637 0.0971273 0 0 0 -0.150494 0.148479 0 0 0 0 -0.25882 21.7458 4.32649 -4.46248 1.88525 -1.38902 1.4489 0.105065 -0.0602547 0.144258 -0.411369 0 0 0 0 0 0 +357 0 0.543644 0.678519 -0.0120969 -0.0683798 0.0910983 0.153819 0.300461 0.441825 -0.248314 -0.0839043 0.632805 0.281269 0.0296655 -0.366786 0.168702 1.46784 6.64992 -0.0556573 0.257227 0.543324 0.0263178 -0.697599 -0.0544919 0.0214366 -0.116979 0.519253 -0.0510704 -0.509725 -1.8889 0.00885108 -0.124957 0.610907 -2.13214 0.0396477 -0.195966 0.108442 -0.0956263 -8.49714 0.746034 0.56411 0.0889443 0.272069 0.100553 -0.204608 0.230978 0.471597 -1.06956 1.00846 -0.0301764 0.546826 0.33882 3.68868 -0.2155 1.23885 -1.49584 5.94576 0.448496 -0.341748 -0.155075 -0.23997 -2.29984 -0.126896 2.95085 -0.0826481 -0.253698 -0.143808 0.534798 -0.0354032 0.263365 0.734081 -0.0784219 0.555343 0.270205 1.95839 2.00883 -0.210725 50.2344 10.8939 -6.01993 10.8409 -13.138 19.6671 -0.675865 -0.19735 1.69623 -1.74966 -0.808364 -0.85658 2.76781 -5.40707 8.79167 0 0 0 0 0 -0.0120969 -0.0683798 0.017286 0 0 0 0 0.00671997 0 0.0138384 0 0 0.00102403 -0.00980463 0.0527986 0 0.00826691 0.0545667 0.0805437 0 0 -0.329925 -0.000785048 0 -0.14513 2.10184 0 0 -0.0415888 0.401928 0 -0.356762 0 -0.0850777 0 0 -0.0120519 0 0 -0.797974 0.0939677 0.0210248 0 0.243943 -0.0778375 0 0 0.133531 0 -0.00929727 -0.10588 0.0155036 0 0 -0.000910414 -0.0494819 0 0.00127505 -0.234007 -0.000719238 -0.828913 0.114532 -0.000231297 0 0.0876682 -0.0432401 0.176407 -0.189397 -0.108944 0 0 0 1.95128 -0.0884542 0.00970792 0.0534073 -0.11311 0.259423 -0.00131959 -0.00205309 0.00912624 -0.0323052 0 0 0 0 0 0 0.0910983 0 0.153819 0 0 0 0 0.440278 1.0714 0 0 -0.70974 0 -0.103024 0 0.0981525 0 0 -0.101117 0 -1.00865 0.0726848 -0.526477 0.0243185 0 0 0.675088 0 8.94321 0 -5.64802 0.703556 0 0.479078 -2.24782 -0.0703737 0 0.0567109 0 0 0.161899 0 2.72881 -0.172965 0 0 0.049242 0 0 0.139248 3.5772 0.648742 0 0.445008 0 -2.96082 0.968838 -0.775493 0.636853 -0.0458127 0.044302 2.95428 -0.227508 -3.02625 -12.5848 -0.0250072 0 0 0 -0.118605 0.212561 0 0 0 0 -0.335476 49.0546 11.0617 -6.38196 5.30939 -4.20694 4.487 0.675505 -0.622026 0.750927 -0.51624 0 0 0 0 0 0 +358 0 0.943597 0.199175 0.193893 0.543366 -0.351411 -0.267606 1.59455 4.0304 -0.0575072 -3.71948 0.0682118 -0.496246 -0.0978896 -1.01262 0.0769923 0.582146 3.85204 -0.556823 0.264114 -2.33333 -0.153589 0.013167 0.0697013 -1.04104 0.833906 -0.0169154 0.10854 0.418726 0.914892 -0.32757 0.107781 0.0702595 -0.20977 0.529734 0.387181 0.071804 0.54323 -2.4251 0.219173 -1.14512 -0.263785 2.5095 0.206058 -2.02626 -0.401365 -0.597252 0.625166 0.637153 0.432107 -0.0302225 -0.776918 4.56496 -0.0780617 1.1755 -0.265367 2.58612 0.273733 0.523609 0.880612 -0.133685 0.434164 1.11579 0.452627 -0.730453 -0.969008 -1.44924 0.501624 1.85606 0.300095 1.30301 1.37077 -0.587526 0.271476 1.83178 -0.890474 0.73954 6.02713 10.4989 -11.1537 5.55744 -3.90633 1.08968 6.60399 -5.18293 4.757 -7.27339 1.40468 -1.16354 -0.666892 1.26795 -4.25825 0 0 0 0 0 0.193893 0.543366 0.00912797 0 0 0 0 -0.000498683 0 0.0343348 0 0 -0.0115526 -0.0406644 0.0516192 0 0.00159525 0.136533 0.32664 0 0 -0.182655 -0.00298771 0 0.202346 0.723496 0 0 -0.0180436 0.24119 0 0.387178 0 -0.0324256 0 0 -0.00132047 0 0 0.725088 -0.007918 -0.156989 0 0.122478 -0.0415235 0 0 0.250545 0 0.0202366 0.0160437 -0.0308492 0 0 0.00846403 -0.0125845 0 0.0031282 0.0435084 -0.0228773 -1.07214 0.00926199 0.00781955 0 0.00917073 0.0473084 0.0586803 -0.0980006 -0.00281775 0 0 0 -4.77024 0.0237818 -0.882701 -0.0461226 0.0376611 -0.145763 0.0111695 -0.0199046 0.0399314 -0.0844013 0 0 0 0 0 0 -0.351411 0 -0.267606 0 0 0 0 -0.152329 1.0446 0 0 -0.976484 0 -0.110224 0 0.0225979 0 0 -0.187034 0 -0.277607 0.0234126 -0.0282081 -0.014552 0 0 0.238949 0 2.51477 0 -3.83931 -0.353449 0 0.333326 -1.02394 0.00142986 0 -0.0221312 0 0 0.114764 0 0.133922 -0.633429 0 0 -0.0541181 0 0 -0.0713182 -0.287748 0.261824 0 0.221362 0 -1.54608 0.859811 -0.56441 0.0679356 -0.0132481 -0.80146 1.12505 -0.235728 -1.35035 -6.60328 -0.136045 0 0 0 0.066145 0.120953 0 0 0 0 -0.266611 35.2646 9.85977 -4.80048 4.11262 -3.29712 3.17604 0.861139 -0.668209 0.670848 -0.223166 0 0 0 0 0 0 +359 0 0 0 0 0 0.0671499 0.0125151 -0.763468 -1.9488 0 0 0.103739 -0.188774 0 -1.67965 -0.0324329 0 0 0 -0.133608 -0.975021 0 0 0 0 -0.267298 0 0 -0.125419 -6.76544 -0.226718 0 -0.0292471 0 0 -0.0588626 -0.0208116 0 0 0.439676 -1.26648 0 0 -0.00990394 -1.43305 0 -0.534363 -1.6557 -0.199578 0.00101739 -1.04779 -0.0644264 0 0.0694566 -0.0530164 -0.286895 2.38328 0.0290192 0.113863 0 0 -0.785297 2.77968 0 0.273053 0.0766399 1.47774 0 0 0 0 -0.635537 -0.0306738 0 3.58296 1.72028 0 0 0 3.29927 0 -0.397253 9.23605 0 0.00700063 0.735341 9.02849 0 -0.183838 1.39388 -2.7669 24.2008 0 0 0 -0.133667 -0.0086969 0 0 0 0.0215891 -0.00413894 0 0.00162037 0 2.02121e-05 0.00212639 0 0 0 0 0.010413 0 0.00148895 0 0.00167854 0 0.214228 0.073913 0 0.000188417 0 0 0.00496868 0.000136209 0.0039854 0 -4.44886e-05 0 -0.000305475 -0.0194945 0.00129126 0.00183263 -0.000924249 0 1.47019e-06 0 0 0 -3.23442e-06 0 0 -0.000361389 -0.000485736 0.0744457 0.000904999 0 0 -0.000580593 0 0.000529982 0 0 0.000607795 -0.000847012 0.0630594 -0.0024806 0 0 -0.0138843 -0.0053818 0.000428905 -0.0384153 0.00380377 0 -0.0229967 0.000346931 0.0624934 0 0 0 0.0355624 0 -0.00352317 0.0111831 0 0.000359014 -0.00102745 0.0201983 0 -0.000183026 0.00106845 -0.00272498 0.0128908 0 0.0671499 -0.133667 0.0125151 -0.0086969 0.732455 0.127373 -0.0616299 0.210539 0.0151127 0.00223108 -0.00717625 -0.228917 9.66867e-05 -0.0105815 -0.00286831 0.00548131 -0.00807676 0.0487521 -0.763559 0.158817 -0.171228 -0.265721 -0.129335 -0.0706555 -0.0121081 -0.372244 0.115866 -0.00739552 -5.07063 0.169102 -2.47029 -0.871346 -0.000124476 -0.879373 -0.620838 -0.00517148 0.00203335 -0.0119806 0.0287921 -2.50722 -0.00173669 -0.0497259 -2.21912 -1.2532 -0.00171112 0.0131546 -0.217171 -0.0330023 -0.0747884 -0.381849 -1.52387 0.049141 0.0268681 -2.01173 0.00448482 0.81607 -0.00630612 0.178764 -0.06151 -0.0414729 -2.04424 0.196612 -0.0202032 -0.527567 -11.0619 -0.12078 0.221239 0.00518814 0.252313 -0.0482014 0.0188026 -0.00258456 -0.00410872 -0.0254544 -0.0726179 0.00338589 13.6533 0.446158 5.42765 -0.101823 -0.645661 9.03619 0.00672902 -0.128296 0.769873 1.79328 -0.00129876 -0.0673507 0.327436 -0.455772 3.01319 0 +360 0 0 0 0 0 -0.0487263 0.334773 -0.686347 0.0223721 0 0 0.0199064 1.12421 0 1.588 -0.0131223 0 0 0 -0.10654 -0.284595 0 0 0 0 -0.239764 0 0 -0.959952 -1.77812 0.676604 0 0.00212001 0 0 -0.348644 -0.0121672 0 0 -0.0520851 0.656443 0 0 -0.0774799 2.21086 0 0.758116 -1.33992 -0.339076 0.195154 -0.757379 0.0538044 0 0.157765 -0.117955 0.0669408 -1.04085 -0.00693298 -0.61899 0 0 0.76335 0.239972 0 -0.99907 0.0447182 -0.505663 0 0 0 0 0.138496 -0.384393 0 -2.24577 0.596105 0 0 0 -0.15766 0 0.208522 2.52774 0 0.284669 -0.586303 1.32153 0 0.567601 -1.20343 1.22527 1.88317 0 0 0 -0.0479214 -0.00235579 0 0 0 -0.000244539 0.00253757 0 0.000168839 0 -8.0299e-06 0.00179003 0 0 0 0 0.033159 0 0.00113751 0 0.0577448 0 -0.0104184 0.000819621 0 9.6025e-05 0 0 0.00870059 -4.34293e-05 0.000551064 0 2.58527e-05 0 0.00018702 0.00413097 0.00150754 -0.000575072 4.97542e-05 0 -5.84439e-07 0 0 0 1.87945e-06 0 0 0.000115521 0.000297313 -0.00904447 -0.000222586 0 0 0.000188305 0 -0.000324395 0 0 -0.000273554 2.62497e-05 -0.00683163 0.00145121 0 0 -0.0141729 -0.00152669 -0.000183501 -0.00727441 -0.0295303 0 0.000283115 -0.000230426 0.012393 0 0 0 -0.0854429 0 0.00105897 -0.0174021 0 -0.000123392 0.00020701 -0.0123084 0 5.91091e-05 -0.00038725 0.000948052 -0.00663313 0 -0.0487263 -0.0479214 0.334773 -0.00235579 0.0793801 0.0305297 -0.0159179 0.319001 -0.0792143 0.000504204 0.0303479 0.00213932 2.3505e-05 -0.00124059 -0.000724724 -0.000251553 0.0197449 0.00981269 0.0293146 -0.207734 0.405493 0.272404 -0.0114639 0.0642516 0.0603025 0.00461179 -0.014963 0.00842247 1.92923 -0.0270951 2.32189 1.70564 -3.13194e-05 1.09445 0.862228 -0.000618556 0.00201458 0.0718654 0.014745 -0.0686131 -0.00321493 -0.00017602 2.0195 0.409668 0.00515926 -0.00153713 0.210678 -0.00278358 -0.0700026 -0.83598 3.01144 -0.43751 -0.0309416 -5.37254 0.0011257 0.0768201 -0.00508845 -0.0104965 0.0952793 -0.127392 0.952965 0.123378 -0.0707475 -0.160367 -13.2116 0.247501 0.143387 0.012439 -0.0915742 -0.333552 0.00383693 0.0233403 -0.000857486 -0.127887 0.0651956 0.00504434 -12.8331 0.169345 -5.66913 -0.0580451 -0.0802922 -0.865959 0.00071217 0.126671 -0.409632 0.0458077 -0.000261411 0.156525 -0.369102 0.32277 0.0958802 0 +361 0 0 0 0 0 0.678516 0.222452 -0.649247 -1.92097 0 0 0.0592348 0.30458 0 -0.558013 -0.00197843 0 0 0 -0.0364968 4.62666 0 0 0 0 -0.260902 0 0 -0.132006 -1.19591 -0.0079212 0 -0.0803179 0 0 -0.0997912 0.0129666 0 0 0.522204 -0.135052 0 0 0.166354 1.54789 0 -0.135727 -0.392546 -0.585257 -0.240684 0.697742 -0.158923 0 0.0724415 0.0438053 -0.0627994 1.77931 0.446479 0.0339518 0 0 0.0101575 -1.10716 0 -0.352717 -0.339384 -0.374308 0 0 0 0 -0.181286 0.427197 0 0.622614 -1.06417 0 0 0 3.34291 0 -1.15762 3.0886 0 -0.54564 1.0184 2.70891 0 -0.882211 1.53074 -2.18333 7.17699 0 0 0 0.0172315 -0.000889328 0 0 0 0.0106368 -0.00789939 0 0.000491454 0 3.77149e-05 -0.000350899 0 0 0 0 -0.0267687 0 -9.44127e-05 0 -0.0569358 0 0.116032 0.0619521 0 -4.48676e-05 0 0 -0.0202576 0.000277758 0.00251624 0 -7.87308e-05 0 -0.000564495 -0.0050884 -0.00146203 0.00390478 0.000105196 0 2.73383e-06 0 0 0 -5.70935e-06 0 0 -0.000731603 -0.000892808 0.0472407 0.00284142 0 0 -0.00056012 0 0.000974134 0 0 0.000305207 -0.0018684 0.0138466 -0.00442874 0 0 0.0192578 0.00312855 0.000741606 0.016177 -0.0118368 0 0.00607622 0.00115332 0.00985052 0 0 0 0.114383 0 -0.00835162 0.0245353 0 0.000570292 -0.00425407 0.0270647 0 -0.000359582 0.00150713 -0.00447051 0.00262753 0 0.678516 0.0172315 0.222452 -0.000889328 0.204599 0.0951211 -0.00901106 -0.313357 0.244712 0.000431427 -0.0324397 0.0339622 1.55956e-05 0.00219769 -0.000423013 0.00323649 -0.0257429 0.011599 -0.69607 1.47633 0.202644 -0.202668 0.0431873 -0.05135 -0.271549 -0.135998 0.10173 0.0241025 -3.5456 0.0288718 1.2135 -0.690184 -1.78912e-05 -1.37733 0.426082 0.00153837 0.00525778 -0.0146255 0.031577 -0.611289 0.00682773 -0.0235107 -2.16831 -0.359623 -0.00274981 0.0164112 -0.0166116 0.183977 -0.0736069 -0.0658815 3.93281 0.929888 0.0357325 3.69208 0.000723198 1.59852 0.00473059 -0.154356 0.179093 0.462631 1.22046 -0.0607526 0.0887272 -0.34342 6.35569 -0.184654 0.00486622 -0.0381124 0.324565 0.140068 -0.00490278 -0.0443599 -0.000957319 0.0465159 -0.0363046 -0.00786697 -6.70703 -0.00225966 3.74239 -0.0482178 -0.130742 2.43686 0.000423121 -0.108905 0.350596 0.918929 -0.000308999 -0.110691 0.253866 -0.325074 1.14239 0 +362 0 0.846573 0.229857 -0.00184261 -0.0801091 0.355117 0.1005 0.236951 -1.88062 -0.00230468 -0.00197644 -0.0271486 0.876354 2.2685e-06 2.29293 -5.87936e-05 1.23685 6.07573 0.029838 0.000810291 3.14694 -0.00226506 0.135138 -7.65251e-07 -0.0648594 -0.11143 0.192733 -0.00895367 0.28147 1.19375 0.319618 -4.26332e-05 0.00232432 -0.462655 0.00227083 0.16649 -0.000501666 -0.108967 -5.63996 -0.108222 1.28961 0.000124681 -0.0405933 -0.0024298 5.09779 0.00640153 0.363854 0.713504 0.0445043 0.0026958 1.33129 -0.21353 -1.75375 -0.00223429 0.00334616 -0.0157687 -2.35494 0.149331 -0.0286875 0.0775969 -3.08476e-05 -0.0861243 -2.34035 -0.0314338 0.200381 -0.378251 -1.20309 -0.554238 -0.0543096 -9.95469e-05 -0.0110237 -0.031483 -0.0267534 0.0601102 -3.11771 -1.21677 0.315834 22.3824 1.96627 9.48229 1.82746 -1.1559 8.71448 -0.0139304 0.114912 -0.281413 2.95077 -3.65203e-05 0.000563982 -0.0143385 0.23244 -4.07769 0 0 0 0 0 -0.00184261 -0.0801091 -0.00013239 0 0 0 0 -2.60328e-06 0 -0.00762381 0 0 0.0003851 9.74083e-05 -0.00132198 0 -0.000185773 0.000691251 -0.054282 0 0 0.0840912 8.67268e-06 0 -0.00116021 0.264659 0 0 0.0130275 0.0136282 0 -0.0273664 0 0.00192978 0 0 0.000299079 0 0 -0.231946 1.86732e-05 0.00437451 0 0.000416555 -0.00557698 0 0 -0.0249153 0 -0.000326307 -0.0216254 -0.00199919 0 0 -0.000811343 0.00027578 0 -0.000887722 -0.000392019 -0.00136114 0.123042 -0.00687715 -0.00698124 0 0.00301165 -0.0101407 0.0740762 -0.00180933 -0.0696285 0 0 0 1.2973 -0.010526 0.304718 0.0184131 -0.0367044 0.161553 -0.000583122 0.00106577 0.000112239 0.0556525 0 0 0 0 0 0 0.355117 0 0.1005 0 0 0 0 -0.578501 0.306914 0 0 0.346565 0 0.0204911 0 0.00559169 0 0 0.769887 0 0.129769 -0.197003 0.133348 0.0930379 0 0 0.115083 0 9.61008 0 -2.63751 0.974669 0 -1.77128 -0.296809 0.00915666 0 -0.0591566 0 0 0.0139526 0 3.32161 1.66083 0 0 0.199578 0 0 0.56839 1.7327 0.438071 0 2.39746 0 0.418938 0.0337891 -0.21791 0.096449 0.26554 1.14057 -0.267764 -0.0463004 0.566906 12.3093 -0.0553238 0 0 0 0.0415917 -0.00213521 0 0 0 0 0.0168257 21.0368 0.0675413 7.20261 0.538132 -0.441312 1.90058 -0.0641562 0.0560854 -0.23827 1.11683 0 0 0 0 0 0 +363 0 -0.213512 -0.206194 -0.00103029 -0.0468708 0.0455761 -0.258884 -0.0734906 0.0133459 -0.00313985 0.00742952 -0.0203737 -1.86149 4.00656e-07 -1.71143 -0.000509226 -0.95565 -4.89233 0.00681979 -0.00185216 -1.64826 -0.00374581 -0.03069 -8.07912e-07 -0.0732807 -0.0836531 -0.145381 -0.000341841 0.238409 -0.457161 -0.676422 -5.21368e-05 -0.0366291 -0.0418265 -0.0016734 0.0597883 -0.000198241 -0.0427997 1.45135 -0.0064932 -1.2038 2.26697e-05 -0.22383 0.000113207 -5.48949 0.0012019 -0.919044 0.0893441 -0.101031 -0.00128006 1.08403 -0.218558 -0.293265 0.000974009 -0.000767592 0.0182167 1.40744 -0.478449 0.0228981 0.16715 6.1821e-05 -0.350031 1.46671 0.531644 0.512869 0.0225202 0.615976 0.367761 -0.00931637 8.35704e-06 0.165297 -0.0165262 0.0309878 0.0838263 3.27482 0.204397 -0.537211 -7.692 -0.71831 -2.57745 -0.239055 -0.0595931 -2.89708 0.47517 -0.44174 -0.00205066 -0.295956 -6.85679e-06 6.64514e-05 -0.000748731 -0.00714078 1.5616 0 0 0 0 0 -0.00103029 -0.0468708 0.000367382 0 0 0 0 7.15781e-06 0 0.00438971 0 0 -0.000299604 -0.000100409 0.000708197 0 0.000100446 -0.000415162 0.0303986 0 0 -0.0175768 -7.32057e-06 0 0.00146637 -0.0839373 0 0 -0.0031004 -0.0103034 0 0.0346903 0 -0.000386835 0 0 -6.99811e-05 0 0 0.159811 7.60935e-05 -0.0042628 0 0.00400201 0.00747164 0 0 -0.028359 0 0.000778241 -0.0115894 -0.00151068 0 0 0.000610012 -0.000657733 0 0.000497949 0.0100004 -0.000385881 -0.0179102 0.00310616 -0.000528658 0 -0.00126337 0.0136687 -0.00106407 -0.000119532 0.00519098 0 0 0 -0.67476 0.0259811 -0.153065 -0.0122367 0.0236361 -0.0676728 0.000383719 -0.000738464 0.00194649 -0.0242956 0 0 0 0 0 0 0.0455761 0 -0.258884 0 0 0 0 0.232536 0.186681 0 0 -0.000826396 0 0.0053569 0 0.0144114 0 0 -0.0911865 0 0.0633126 0.0158192 0.00905368 -0.0252126 0 0 0.0950009 0 -3.34301 0 2.02022 -0.66257 0 0.302754 0.758718 0.00266425 0 0.0236782 0 0 0.0478053 0 -0.846352 -1.43052 0 0 -0.188737 0 0 -0.0802837 -2.28876 -0.112452 0 1.38668 0 -0.964781 0.106548 0.00967971 -0.110489 -0.0750597 0.0466374 0.313197 -0.0281364 -1.35066 -3.85061 0.0987664 0 0 0 -0.00160599 0.00781605 0 0 0 0 -0.103119 -12.0734 -0.619465 -2.20279 -0.253952 0.238943 -0.936766 0.122977 -0.127295 0.00269883 -0.191448 0 0 0 0 0 0 +364 0 0.873702 -0.265762 0.00276398 0.115993 -0.226416 -0.242476 0.45318 0.164047 0.00475912 0.346494 0.0609795 0.0576585 -4.20217e-06 1.43249 0.000838342 -1.31001 -1.85713 0.0618957 0.0012729 1.75698 0.0096398 0.425027 1.80562e-06 0.0870887 0.318123 -0.643851 -0.00404212 0.607246 -0.331877 0.0573716 9.43964e-05 0.0479358 0.362944 -0.0198731 0.37462 0.00144583 -0.109587 -1.21464 0.109961 0.659588 -0.000225474 -0.429015 0.00258821 2.13277 -0.011372 -0.260699 0.425589 0.0760993 -0.00334346 0.250859 0.0230645 4.6028 0.000441667 0.000873972 -0.0311272 -0.383604 -0.131814 -0.00965971 -0.0621855 0.000147235 0.275267 -1.17835 1.13437 0.10504 0.102076 -0.406532 -0.191559 -0.0371433 9.21877e-05 0.00880497 -0.0476211 0.0495255 0.146716 -0.969157 -0.167238 0.466809 2.22265 -0.184517 -0.630289 -0.00978333 -0.270921 0.847136 -0.495124 0.322511 -0.574475 0.764144 6.48765e-05 -0.000767153 0.0203692 -0.20104 1.13364 0 0 0 0 0 0.00276398 0.115993 -0.00102474 0 0 0 0 -2.47897e-05 0 0.00768993 0 0 0.00101144 0.000347299 0.0012643 0 0.0001913 -0.00500105 0.0507165 0 0 0.033008 2.28148e-05 0 -0.00269449 -0.363496 0 0 0.00782759 -0.110654 0 -0.0587279 0 0.000709547 0 0 0.000170704 0 0 -0.0630081 -0.000424307 0.0153179 0 -0.0175245 -0.00862649 0 0 0.106873 0 -0.00201379 0.289757 0.00714665 0 0 -0.00203648 0.00170196 0 0.000885951 0.00470456 0.00971767 -0.19356 -0.0103195 0.0123021 0 -0.00376461 0.015395 -0.074723 0.00401246 0.158188 0 0 0 -0.322398 -0.117917 -0.198919 0.017288 -0.0299837 -0.0913704 -0.00121997 0.00239518 -0.00876489 -0.0709608 0 0 0 0 0 0 -0.226416 0 -0.242476 0 0 0 0 0.0732141 -0.0790909 0 0 -0.0214495 0 0.0182147 0 0.00987084 0 0 0.60108 0 0.857303 0.0360241 0.045844 0.0783332 0 0 0.0509147 0 2.94092 0 -1.40652 0.455833 0 0.143692 0.774521 0.0126287 0 0.0104935 0 0 0.00450773 0 1.55186 0.696917 0 0 0.115174 0 0 -0.188497 2.12717 -0.0582792 0 -0.906818 0 0.721161 -0.0351872 0.0858066 -0.024652 0.160384 0.634171 -0.0579241 0.00409721 0.22988 -1.54723 0.0264942 0 0 0 0.0761341 -0.0451919 0 0 0 0 -0.00846142 10.5537 0.449532 -0.157295 0.0143226 -0.225156 0.324734 -0.0551627 0.0227143 -0.0806685 -0.0780888 0 0 0 0 0 0 +365 0 0.245762 0.126169 -0.00866272 -0.150141 0.398611 0.125751 -0.400474 -1.78915 -0.0595776 -0.217946 -0.0744565 -0.246892 9.05312e-05 0.237282 0.00542626 -0.0393307 -0.739916 -0.06511 0.0108386 0.346913 -0.02141 -0.177552 -0.000116875 -0.129455 -0.375304 0.117643 -0.0116834 -0.220649 0.289266 0.0091324 -0.00273156 0.0924708 -0.663072 -0.00433695 -0.141017 -0.00287576 -0.0562112 -2.76966 -0.203998 0.10539 0.00211586 -0.0387828 -0.0102735 -0.049127 0.0461486 0.0109969 0.041573 0.207852 0.0249826 1.13778 -0.153709 2.31747 -0.0174066 0.0159534 -0.0451384 0.812005 -0.213416 -0.318664 0.147637 -0.00388462 0.126963 2.19555 -0.0937397 0.581566 -0.108632 0.216911 -0.292901 -0.0524333 0.00423847 0.288779 -0.0561863 -0.115787 0.0318241 0.809315 0.283208 -0.183403 10.2798 2.22289 3.85775 1.40134 -0.640888 3.18504 0.325616 -0.15004 -0.0344532 2.80465 -0.0012586 0.00662286 -0.0422966 0.19361 -0.480793 0 0 0 0 0 -0.00866272 -0.150141 0 0 0 0 0 0 0 2.9876e-06 0 0 0 0 0.000134171 0 5.60924e-06 -0.000971412 0.00235133 0 0 0.130196 0 0 0.000536235 0.304103 0 0 0.0191549 2.55192e-05 0 0.00214966 0 0.00738848 0 0 0.00108534 0 0 0.00485707 0 0 0 0 0 0 0 -0.0336518 0 0 -0.00116877 0 0 0 0 0 0 0 0.0307589 0 0.0411079 0 -0.00303744 0 0 0.00261554 0.0956495 0 -0.0162069 0 0 0 -0.0111231 0 -0.00272228 0 0 -0.000209321 0 0 0 -0.000101333 0 0 0 0 0 0 0.398611 0 0.125751 0 0 0 0 -0.361731 -0.129197 0 0 0.381525 0 0.0258764 0 -0.00692496 0 0 0.0899576 0 -0.240579 -0.158576 0.056234 -0.0246303 0 0 -0.132517 0 -1.97509 0 -0.180136 0.0373035 0 -1.37938 -0.190984 0.000479055 0 -0.031727 0 0 0.00100503 0 -0.353446 -0.0943902 0 0 -0.0890457 0 0 -0.111945 0.596743 -0.480165 0 -0.100053 0 -1.0973 0.0498846 -0.0629856 0.126765 0.156441 0.705639 0.127407 0.0390566 0.433319 0.975646 -0.0215799 0 0 0 0.0937899 -0.0201834 0 0 0 0 0.00946089 5.30604 -0.505781 4.38095 0.146143 -0.105987 0.0454012 -0.0587133 0.0525005 -0.215295 0.735371 0 0 0 0 0 0 +366 0 0.632008 0.189533 -0.00356978 -0.0618709 0.210081 -0.0721606 1.09116 1.59165 -0.0245511 0.0917795 -0.0533139 0.488194 3.73066e-05 -0.286954 0.00258851 0.686444 4.58368 0.0420704 0.00331745 1.5978 -0.00162134 0.105772 -4.81627e-05 -0.0518104 0.570262 0.00147718 -0.0016047 0.597882 1.89057 -0.206983 -0.00112564 0.0484712 0.548739 0.0364293 0.308948 -0.00195454 -0.0647124 2.16592 -0.104174 0.00970772 0.000871916 -0.129149 -0.0049173 2.58343 0.0190172 -0.259649 1.14481 0.0518592 0.0117519 -1.14845 -0.0242619 -1.16025 -0.00557026 0.00510523 -0.0157842 -1.219 -0.243037 -0.163944 0.0722957 -0.0016008 -0.0863416 1.8596 -1.20912 -1.05519 -0.0701537 0.174444 0.106656 -0.0170605 0.00174661 0.0346689 0.00209625 -0.0102266 0.072115 0.193627 -0.4234 -0.093102 -4.59997 0.0514046 -3.18684 0.273446 0.224863 -5.13155 0.204062 -0.115248 -0.0705184 -3.08843 -0.00051865 0.00300341 -0.0415848 0.243932 -3.14234 0 0 0 0 0 -0.00356978 -0.0618709 0 0 0 0 0 0 0 0.000612021 0 0 0 0 3.94727e-05 0 2.30786e-05 -0.00029545 0.000503739 0 0 0.0395721 0 0 0.0015729 0.0925657 0 0 0.00560708 0.000995706 0 0.0217941 0 0.00256597 0 0 0.000369517 0 0 0.0624256 0 0 0 0 0 0 0 -0.0223153 0 0 0.00673858 0 0 0 0 0 0 0 0.0104804 0 -0.0562819 0 -0.00127807 0 0 0.00108786 0.0235609 0 -0.00601979 0 0 0 -0.142959 0 -0.000961413 0 0 -0.0026903 0 0 0 -2.17091e-05 0 0 0 0 0 0 0.210081 0 -0.0721606 0 0 0 0 -0.375386 -0.063764 0 0 0.158609 0 0.0111213 0 0.00433748 0 0 -0.115255 0 -0.357708 -0.112308 0.10636 -0.0346862 0 0 0.0125172 0 -0.28996 0 -2.48087 -0.8623 0 -0.850061 -1.07183 0.00754887 0 -0.0474744 0 0 0.00834234 0 -1.15494 0.216498 0 0 -0.009608 0 0 0.0982281 -3.80243 -0.365162 0 0.192755 0 -1.31559 0.0678666 -0.0150679 -0.164263 -0.066934 -1.14689 0.20063 0.0334439 -0.453967 -3.1979 0.0167248 0 0 0 -0.0374515 -0.0143676 0 0 0 0 -0.0333395 11.0617 -1.45171 4.49866 -0.12023 -0.058344 0.863478 0.0264951 -0.0108544 -0.104018 0.437539 0 0 0 0 0 0 +367 0 0.677949 0.51917 0.000188098 0.00326008 0.0128981 0.20683 0.0741336 0.605882 0.00129364 0.0970012 0.011739 0.90206 -1.96575e-06 1.7943 -0.00126837 2.04052 5.46429 0.0236279 -0.00120655 4.32726 0.0029433 -0.355833 2.53777e-06 0.0435136 -0.283071 0.814604 0.000790699 -0.40969 -0.210171 0.47633 5.93117e-05 -0.0358471 -0.379717 -0.0425604 -0.237714 0.000406606 0.0526793 -0.30419 0.00908504 2.40045 -4.59427e-05 -0.1986 0.000381363 3.80118 -0.00100205 1.25184 -0.437796 -0.0330776 -0.000879741 1.47015 0.115305 -0.46319 0.00173271 -0.00158805 -0.0347664 -2.55959 0.152424 0.15872 -0.0408926 8.43486e-05 -0.150803 -4.19515 1.07978 2.56619 0.0543962 1.25111 -0.134279 0.0408951 -9.20318e-05 0.0486448 -0.0287248 0.00130456 -0.0355245 -3.27261 1.64561 0.498365 1.05424 -0.576421 -0.913121 -0.166244 -0.176542 -0.292037 -0.146916 0.0720849 -0.29628 0.0227232 2.73285e-05 -0.00020729 0.00369872 -0.0250433 0.349327 0 0 0 0 0 0.000188098 0.00326008 0 0 0 0 0 0 0 -0.000774075 0 0 0 0 -0.000187562 0 -2.64385e-05 0.000477215 -0.00548183 0 0 0.0107583 0 0 -0.000151642 0.0876631 0 0 0.00131893 0.00830959 0 -0.00221184 0 0.000301476 0 0 3.54191e-05 0 0 -0.00636381 0 0 0 0 0 0 0 0.00227297 0 0 -0.00415849 0 0 0 0 0 0 0 0.0021625 0 -0.0271508 0 0.000647593 0 0 6.02617e-05 0.00791986 0 0.00396298 0 0 0 0.0145736 0 0.00631611 0 0 0.000274255 0 0 0 0.000236245 0 0 0 0 0 0 0.0128981 0 0.20683 0 0 0 0 0.0785449 -0.421043 0 0 -0.168809 0 -0.00798327 0 -0.0070753 0 0 0.49284 0 -0.9102 9.77314e-05 -0.0445424 0.0532527 0 0 -0.097625 0 1.37735 0 -4.06132 0.256759 0 0.0920208 -1.52922 -0.00232295 0 0.00293022 0 0 -0.0318092 0 1.01387 0.730609 0 0 0.0583515 0 0 0.0610921 -3.28202 -0.0783788 0 0.0272072 0 -0.115046 -0.0948953 0.0568554 -0.0360058 -0.0519439 -1.36029 -0.365621 -0.0346255 0.431416 5.80873 -0.0155974 0 0 0 -0.0013418 0.0129248 0 0 0 0 0.0173249 23.9654 1.12372 1.38091 0.410103 -0.692007 1.77795 0.0274487 -0.0647498 0.0216833 0.0321162 0 0 0 0 0 0 +368 0 0 0 0 0 -0.222114 -0.278755 0.760551 0.974733 0 0 -0.350472 -2.16724 0 -1.61211 -0.071299 0 0 0 -0.185391 6.90311 0 0 0 0 0.0684013 0 0 0.688325 3.68655 -1.04951 0 -0.341081 0 0 0.198901 -0.0596346 0 0 -1.24414 1.1621 0 0 -0.360332 -3.16538 0 -0.791652 1.29618 -0.49178 0.607996 -2.23453 0.521123 0 0.0437203 -0.200458 0.185967 3.36658 0.617345 -0.00572223 0 0 -2.05485 2.75903 0 1.06146 0.9572 -0.377681 0 0 0 0 -0.0235906 -1.2394 0 1.21155 -0.325135 0 0 0 -2.31917 0 1.98233 -6.85487 0 0.995322 -0.272191 -4.9655 0 1.18454 -0.497293 2.70886 -11.7436 0 0 0 0.133599 0.0385165 0 0 0 0.0929996 0.00255786 0 0.012942 0 0.000286795 -0.000966453 0 0 0 0 0.0768181 0 0.00609738 0 0.0282138 0 0.600844 0.406014 0 -0.0041633 0 0 -0.199334 0.000447999 0.0932285 0 0.000142558 0 0.000672677 0.0369997 -0.0298931 0.00756008 0.0156843 0 1.76278e-05 0 0 0 2.56822e-05 0 0 -0.000246099 0.00250092 -0.0854656 -0.00587109 0 0 -0.00943299 0 0.000586722 0 0 0.00752877 0.00122696 -0.11203 0.00335727 0 0 0.0180683 -0.0476402 0.00333753 -0.150928 -0.147825 0 0.140483 0.00621002 -0.0487874 0 0 0 -0.0455271 0 -0.00687042 0.185148 0 0.000391887 -0.000812084 -0.011769 0 -0.000420504 0.00239393 -0.00365127 0.119199 0 -0.222114 0.133599 -0.278755 0.0385165 -0.509855 -0.0200174 0.0648052 0.755734 -0.798444 -0.0417739 0.00646191 -0.305873 -0.00598992 -0.0527417 0.0350161 -0.0435139 -0.0341943 -0.292415 2.19116 1.3662 0.357038 0.452989 -0.000780114 0.297609 0.132727 0.175277 -0.477559 0.0581554 9.53793 -0.0710952 0.276927 0.645384 0.00662213 2.44636 0.385414 -0.00235682 -0.00150722 0.168618 -0.0159792 1.40234 -0.0755793 0.0156049 3.22013 4.48048 -0.00480528 -0.00765673 0.725279 0.324232 0.127995 -0.00942177 1.27143 -0.302347 0.0408534 -3.37727 -0.0118105 0.651836 0.0302821 -0.10216 0.254918 -0.486845 -1.31518 -0.860264 0.35088 1.47789 -4.17229 -0.33573 -0.86165 -0.0738622 -0.364251 -0.319875 0.0957845 -0.0559236 0.0762945 0.321694 0.0150279 0.334529 -1.42937 0.74347 -8.16578 0.70916 0.28377 -4.76708 0.0987374 -0.0197461 -0.0143148 -2.42352 0.0960815 -0.0250566 -0.012612 0.0845508 -1.32634 0 +369 0 0 0 0 0 -0.53786 0.215479 -0.962523 -0.250714 0 0 0.262915 0.922264 0 1.4397 0.0749047 0 0 0 0.177389 -1.14946 0 0 0 0 -0.446348 0 0 -0.926974 -4.25998 0.293051 0 0.589551 0 0 -0.418085 0.0425209 0 0 0.65024 -1.18239 0 0 0.156403 4.05913 0 -0.280389 -2.06278 0.961385 -0.310794 1.42527 -0.0606203 0 -0.290525 0.234979 -0.774621 -2.00339 -0.0999793 -0.0960301 0 0 -0.305804 1.47216 0 0.634942 -0.823125 0.704785 0 0 0 0 -0.255234 0.463967 0 -0.94986 1.89659 0 0 0 2.13344 0 -1.03451 7.14312 0 -0.0526578 0.0579321 5.10046 0 -0.456895 0.958974 -2.54918 13.089 0 0 0 -0.0599627 -0.0130704 0 0 0 -0.0356818 0.00444491 0 -0.00519964 0 -8.46809e-05 0.0148106 0 0 0 0 -0.0100366 0 0.000241152 0 0.0927679 0 -0.220948 -0.148482 0 0.00249809 0 0 0.129198 -0.000258267 -0.027009 0 0.000285341 0 0.000168236 -0.0224353 0.0174762 -0.0039343 -0.00439518 0 -5.42872e-06 0 0 0 1.60148e-05 0 0 0.000483681 0.000460134 -0.000836656 0.0039929 0 0 -0.00182549 0 -0.000726737 0 0 0.0128521 -0.00292711 0.0570745 -0.00960053 0 0 -0.0043542 -0.0308994 -0.000977814 -0.0204637 -0.00885048 0 -0.0181142 0.000200257 0.0353083 0 0 0 -0.0969655 0 0.00346608 -0.114216 0 -0.000287998 0.000313143 -0.0632883 0 0.00027475 -0.00093682 0.00176972 -0.0946288 0 -0.53786 -0.0599627 0.215479 -0.0130704 -0.0520506 0.131638 -0.103279 -0.0202073 1.02794 0.00979462 -0.00552861 0.257451 0.00162685 0.0393671 -0.0169041 0.0557175 0.0409742 0.0542773 -0.772894 1.26231 0.160934 -0.142342 0.161326 -0.110644 0.0847672 -0.287582 0.571861 0.0318493 2.16935 0.154612 -0.232967 0.484437 -0.00240028 0.126258 0.110461 0.0205472 0.00743352 -0.0735584 0.0482301 -1.19155 0.102975 -0.059693 0.871084 -0.546337 0.00518314 0.0275668 -0.0642765 0.201242 0.0191027 -0.996695 1.13512 0.456938 -0.0512689 2.03767 0.030242 0.405101 0.135893 -0.37654 -0.300941 0.623187 1.31259 0.479689 -0.209752 -0.352092 6.96335 0.156759 0.125294 0.0841032 0.568171 0.470226 -0.088314 -0.0945051 -0.0204291 -0.118843 -0.132135 -0.202928 1.20247 -0.625793 2.89308 -0.101803 -0.514509 4.92432 -0.0512962 -0.166091 0.375156 1.26675 -0.0178344 -0.12151 0.339416 -0.268496 1.34534 0 +370 0 0 0 0 0 0.0248246 0.323548 -1.51158 -4.53323 0 0 -0.132536 0.882743 0 0.405311 0.00573752 0 0 0 0.527249 -0.175078 0 0 0 0 -0.913521 0 0 -0.417735 -3.39078 0.174716 0 0.207212 0 0 -0.335698 -0.0156492 0 0 -0.710069 0.0754875 0 0 -0.296868 4.75235 0 0.298333 -0.99282 2.77917 0.347032 -2.74314 -0.032257 0 -0.671238 0.455935 -0.342878 -0.19555 -0.223388 0.948368 0 0 2.40476 -1.86576 0 0.125085 0.692748 1.14143 0 0 0 0 -0.117702 -1.24973 0 -1.89618 0.172072 0 0 0 11.1199 0 0.987625 8.91918 0 0.879799 -0.447868 13.2142 0 1.00867 -0.00337141 0.367027 12.1873 0 0 0 -0.009016 0.0388349 0 0 0 0.0555409 0.0522454 0 0.00703575 0 0.000138309 -0.013982 0 0 0 0 -0.0410869 0 -0.00386228 0 -0.186759 0 0.406671 0.525754 0 -0.000663633 0 0 0.0985974 0.000258971 0.113828 0 0.00168431 0 0.00323229 0.126166 0.000718391 0.00289 0.0273834 0 1.17498e-05 0 0 0 0.000104107 0 0 -0.00159495 0.00260609 -0.119001 -0.000552086 0 0 -0.00357781 0 -0.00662285 0 0 0.0490371 0.000348706 -0.0771917 -0.00652817 0 0 -0.0664121 0.0233481 0.00256213 0.0778721 -0.099069 0 -0.0232746 0.00899304 -0.133671 0 0 0 0.191935 0 -0.0013949 -0.115434 0 0.000727763 -0.0026185 0.0331346 0 -0.000559183 0.00238373 -0.00374148 -0.0837445 0 0.0248246 -0.009016 0.323548 0.0388349 0.233596 0.0593722 0.202798 -0.489025 0.859266 -0.0480528 0.0676463 -0.0906078 -0.00678386 -0.00542994 0.0494364 0.0389975 0.038885 -0.333022 -1.14363 -0.489769 0.121373 -0.245506 0.0305205 -0.127252 0.686108 -0.183164 0.224938 -0.0166024 -1.33332 0.223884 1.75313 0.109705 0.0080345 -1.20098 0.350653 0.0111455 0.00051253 -0.091473 0.0143548 -1.30057 0.12739 -0.0267945 -0.903861 -0.809803 0.00286865 0.0180857 -0.12879 -0.0929528 0.141594 -0.659838 0.806049 -0.376948 -0.159627 -0.0219586 -0.071656 -0.195698 0.208328 -0.0577125 -0.221862 0.441641 1.85815 0.297823 -0.0488261 -0.158933 5.84773 -0.10112 0.195866 -0.0607795 0.10918 -0.000278572 0.00764118 -0.0558812 0.0994969 -0.0971408 -0.0577836 -0.255804 -9.04884 -0.0568499 3.64118 0.571433 -0.200519 3.18012 0.0701047 0.0142559 0.0121237 1.84535 0.109424 -0.0522576 0.234901 -0.285284 1.65537 0 +371 0 -0.0378871 -0.0118266 0.0654118 0.220128 -0.278082 -0.00485897 0.236588 1.84495 0.426128 -1.05553 0.430095 0.83904 -0.0124556 1.23532 -0.0194702 1.8735 10.0563 -0.0917083 -0.0654713 -2.77729 0.0158011 0.164701 0.0160615 -0.304975 0.393132 0.267337 0.105888 -0.423098 -2.06586 0.589816 0.0894325 0.0440062 0.39327 0.708373 0.0794432 0.0660026 0.422829 1.84731 0.860643 -0.819537 -0.0707041 2.80605 0.15232 1.79212 -0.353046 0.120953 -0.980793 -0.00160804 -0.385421 2.56831 -0.521254 -2.29398 0.0895229 -0.100458 0.159199 4.63711 1.02489 0.679935 0.413856 0.137743 1.37203 -1.35087 0.799988 -1.69059 -1.5425 0.802552 0.819392 0.721603 -0.144056 1.09788 -0.30109 0.717823 -0.759479 1.43207 -0.224554 -1.35984 -2.94274 4.87405 -7.57297 2.50304 -1.57472 -1.66898 0.834212 -0.811147 1.38416 -2.36641 0.215263 -0.438557 1.05196 -2.06001 4.94049 0 0 0 0 0 0.0654118 0.220128 0.00021445 0 0 0 0 1.05188e-06 0 -0.00347251 0 0 3.50647e-05 2.48928e-06 0.00775142 0 8.76614e-05 0.0800549 0.00529145 0 0 0.286932 1.74665e-07 0 -0.00565372 1.3746 0 0 0.0286859 0.316474 0 0.00373982 0 0.0587876 0 0 0.0046681 0 0 0.00684581 1.49912e-05 0.000499732 0 0.00305628 -0.00176514 0 0 0.0110774 0 0.000437068 -0.0357719 -0.000481389 0 0 -7.14649e-05 -0.00036939 0 0.00138432 8.4676e-06 3.65691e-05 -0.370363 -0.00125154 0.01948 0 0.00199062 -0.0436684 -0.0335696 4.10523e-05 -0.0292479 0 0 0 -0.0208035 -0.00318408 -0.00609861 0.00248374 -0.00285695 -0.0111483 -4.42537e-05 5.09034e-05 -6.1258e-05 -0.00260443 0 0 0 0 0 0 -0.278082 0 -0.00485897 0 0 0 0 0.153001 1.44782 0 0 -0.564667 0 -0.0697843 0 0.0581077 0 0 -1.46232 0 0.352887 0.0724066 -0.254917 -0.162984 0 0 0.55954 0 -3.56912 0 3.00755 -0.107451 0 0.811033 0.8397 -0.0325578 0 0.00567203 0 0 0.150809 0 -1.22812 -2.79516 0 0 -0.2786 0 0 -1.06181 -2.74086 -0.220524 0 1.45516 0 -1.45796 0.148677 0.0756099 0.726616 -0.248079 -1.7259 0.913544 0.100893 -0.205131 6.4251 -0.0654493 0 0 0 0.591703 0.0806253 0 0 0 0 -0.329429 -20.1129 2.15371 -6.64538 -0.0729964 0.268116 -2.17272 0.0809478 -0.0360839 0.219142 -0.544963 0 0 0 0 0 0 +372 0 -0.78307 0.281484 -0.0205952 -0.0761514 0.0264565 0.0718604 -0.300781 -1.49367 -0.142393 0.983074 -0.0981888 0.0159209 0.00390962 0.15471 0.000749163 2.91089 10.5509 0.217806 0.0241549 2.58819 0.0521158 -0.231593 -0.00505381 0.25504 -0.4327 0.872814 0.0727269 0.323972 0.684788 0.0142272 -0.0286793 -0.053126 -0.283443 0.175309 -0.0231854 -0.0163351 0.367498 1.19103 -0.169574 1.41447 0.0216259 0.770346 -0.0357923 0.921525 0.102155 0.596292 0.479919 0.0400019 0.0898022 1.65056 0.509106 -4.58996 -0.0391426 0.0314903 0.00378108 1.89358 0.213567 0.21273 -0.402263 -0.0417961 0.338991 -2.45847 1.34168 2.26674 -0.56247 -0.338587 -1.10873 0.482956 0.0481348 -0.465512 0.0688555 -0.0681741 -0.348351 -0.659992 -0.173353 -0.669456 1.65724 -3.52743 5.82345 -1.97955 1.07052 -0.690748 -0.711803 0.653083 -1.35605 2.46832 -0.0622874 0.102675 -0.33092 0.54449 -1.63766 0 0 0 0 0 -0.0205952 -0.0761514 5.49153e-05 0 0 0 0 2.64726e-07 0 0.00864645 0 0 1.82867e-06 2.97137e-07 0.0032197 0 0.00100817 -0.0199241 0.0411097 0 0 -0.0319095 2.08492e-08 0 0.00856582 -0.16535 0 0 -0.00693408 -0.06377 0 0.0476487 0 -0.0111948 0 0 -0.00126307 0 0 0.348835 3.7728e-06 2.60617e-05 0 0.000782638 -0.000466203 0 0 0.0169735 0 0.000111922 0.0162786 -0.00012781 0 0 -3.72699e-06 -9.45916e-05 0 0.000307802 0.0690415 -1.0502e-05 0.283748 -0.000384766 -0.0283057 0 0.000530437 0.026079 0.176764 -4.75414e-05 -0.0199186 0 0 0 -0.658389 -0.000685518 -0.0890992 0.000592903 -0.000681995 -0.147802 -2.30789e-06 2.65468e-06 -3.19468e-06 -0.0172453 0 0 0 0 0 0 0.0264565 0 0.0718604 0 0 0 0 -0.342582 -0.478334 0 0 0.147075 0 0.0277555 0 -0.014641 0 0 0.477741 0 -0.624526 -0.13242 0.0733122 0.0830028 0 0 -0.159028 0 2.63616 0 0.0192484 0.0504608 0 -0.64888 -0.679217 0.0107242 0 -0.0697277 0 0 -0.0378104 0 0.596113 1.63005 0 0 0.245431 0 0 0.214692 1.02011 0.553173 0 -2.54038 0 1.34009 0.0215365 -0.0677667 -0.59374 0.224635 0.973817 -0.658927 -0.10154 1.14796 -3.18994 -0.0166275 0 0 0 -0.146828 -0.0738067 0 0 0 0 0.102972 15.3217 -0.363219 5.96699 -0.239663 0.25025 0.711143 -0.107953 0.0470534 0.0125462 0.315865 0 0 0 0 0 0 +373 0 0.212684 -0.217141 0.0397856 0.123816 -0.130029 -0.30778 0.457709 0.876241 0.247077 -0.620278 0.107853 0.45027 -0.00759373 0.518237 -0.0050023 0.195439 -0.136534 -0.288071 -0.0174793 -2.33906 0.011179 0.451508 0.00977391 -0.0984853 0.747021 -0.0185251 0.0503931 0.468043 -1.33642 0.0449296 0.0536287 0.0811166 0.553127 -0.12855 0.391705 0.0193601 0.402749 0.00748926 0.580848 -1.16453 -0.0439402 1.33319 0.0985335 -0.69335 -0.227987 -0.85268 0.0309113 0.186456 -0.249213 2.21231 -0.602629 1.44224 0.00883117 -0.0339326 0.172201 2.75632 0.314584 0.126478 0.183714 0.0860951 0.633756 0.560491 -0.545715 -0.223177 -1.07876 0.58451 0.403723 0.556663 -0.0835305 -0.251823 -0.0621014 0.490719 -0.529168 -0.0890748 -0.661684 -1.54726 0.709329 2.53383 -3.44702 1.14107 -1.04182 1.4514 0.322006 -0.420345 0.667992 -0.488161 0.139011 -0.29085 0.680044 -1.36145 3.19604 0 0 0 0 0 0.0397856 0.123816 0.000304793 0 0 0 0 1.49804e-06 0 0.0151036 0 0 5.45015e-05 3.75996e-06 0.0199185 0 0.00237914 0.0379132 0.118669 0 0 -0.119248 2.63825e-07 0 -0.0234844 0.0957954 0 0 -0.0303916 0.100369 0 -0.0827609 0 -0.00314342 0 0 -0.00351562 0 0 -0.119794 2.13497e-05 0.00077674 0 0.00434382 -0.00250817 0 0 -0.0993528 0 0.000621195 -0.195781 -0.000682468 0 0 -0.000111079 -0.000525005 0 0.00200175 -0.0160337 6.88174e-05 -0.378881 -0.001758 0.0303085 0 0.00283154 0.00618024 -0.0766391 2.7611e-05 0.0484428 0 0 0 0.214069 -0.00462223 -0.094549 0.00356897 -0.00410526 0.0381704 -6.87841e-05 7.91199e-05 -9.52141e-05 -0.0501789 0 0 0 0 0 0 -0.130029 0 -0.30778 0 0 0 0 0.176403 1.06984 0 0 -0.186396 0 -0.0266468 0 0.0335589 0 0 -0.570529 0 0.71256 0.0278453 -0.0744009 -0.0606012 0 0 0.322468 0 -4.32961 0 0.188134 -0.525029 0 0.192461 0.71143 -0.00515114 0 0.0149842 0 0 0.107132 0 -1.3746 -2.07004 0 0 -0.242552 0 0 -0.317525 -1.68843 -0.157387 0 1.46956 0 -0.985809 0.144327 -0.0195488 0.510129 -0.136529 -1.16258 0.634391 0.0066152 -0.957117 0.719843 0.0203616 0 0 0 0.295274 0.0263646 0 0 0 0 -0.251598 2.09313 1.19181 -0.795339 -0.272268 0.160333 0.26969 0.0152445 -0.0229327 0.0949629 -0.0573149 0 0 0 0 0 0 +374 0 -0.635925 0.0737646 -0.00690006 -0.0567039 -0.0807792 0.222575 -0.977349 -0.189553 -0.0580225 -0.553796 -0.213167 1.38878 0.000450038 2.07937 0.0106896 -0.672711 -0.576762 -0.155218 0.0145264 -0.512942 -0.0189194 -0.104909 -0.000271 -0.0829163 -0.0735403 -0.179544 -0.0351898 -0.510188 -0.180692 0.611771 -0.00417133 0.246093 -0.280452 -0.347566 -0.211836 -0.0176265 -0.101772 0.00888207 -0.564073 0.152618 0.00763932 -1.20324 -0.0430436 5.81621 0.122317 0.564795 -0.597481 0.296859 0.142752 -0.521079 -0.0804916 -0.136591 -0.045189 0.0268065 -0.141565 -2.07941 -0.0581133 0.0507545 0.103732 -0.02491 0.816298 -0.803813 0.650344 -0.281594 0.257392 0.653787 -0.0392197 -0.100909 0.0116863 0.132865 -0.370025 -0.0697637 -0.0173649 -1.07877 0.461169 0.235789 6.7285 4.07006 1.24594 1.85358 0.391215 1.80581 0.302568 -0.516046 1.078 1.26167 -0.00627777 0.0402036 -0.227142 1.03086 0.684789 0 0 0 0 0 -0.00690006 -0.0567039 0.00246289 0 0 0 0 0.000230969 0 -0.0183089 0 0 0.0012377 0.0013633 -0.00384882 0 -0.00134855 0.00567851 -0.0657484 0 0 0.265641 9.38079e-05 0 0.00094286 0.770768 0 0 0.0356497 0.077694 0 0.0148044 0 0.020125 0 0 0.00268375 0 0 -0.152478 0.00325736 0.0184192 0 0.032804 0.00519875 0 0 -0.0542363 0 0.00467998 0.0306961 -0.00455226 0 0 -0.000888742 -0.00315109 0 0.0162603 -0.00911336 -0.00441478 -0.429943 -0.00466233 -0.01034 0 0.0140648 -0.0199359 -0.104729 0.00646718 -0.0432674 0 0 0 0.279693 -0.046321 0.126635 0.0243507 -0.0267484 0.0145213 -0.00124293 0.00150313 -0.00236851 0.011287 0 0 0 0 0 0 -0.0807792 0 0.222575 0 0 0 0 -0.0016368 -0.128705 0 0 0.164659 0 0.0229783 0 0.027086 0 0 -0.546315 0 0.0395897 0.0134143 0.193425 -0.064295 0 0 0.216005 0 -3.60731 0 3.46487 0.122283 0 0.366259 0.959481 0.0252394 0 -0.015928 0 0 -0.00415699 0 -0.596359 -0.403077 0 0 -0.0272357 0 0 -0.300758 -0.00627134 -0.0747821 0 1.25175 0 -0.633619 0.0738698 -0.0308911 0.297038 -0.117973 0.19074 0.391418 0.164526 0.051722 5.67648 0.157552 0 0 0 0.14713 -0.0770199 0 0 0 0 0.00761115 -21.605 -0.552459 -4.13611 -0.507366 0.287161 -1.45306 -0.0446019 0.0340547 -0.0359708 -0.194875 0 0 0 0 0 0 +375 0 -0.659931 0.20295 -0.00426132 -0.0409871 -0.113102 -0.066126 0.295688 -0.316416 -0.0867331 0.391555 -0.0178565 -0.135951 -4.83888e-05 -0.431999 -0.0220592 0.224373 3.34247 0.0832211 -0.0273748 1.23917 -0.00341043 -0.393906 -0.000352673 0.0230964 -0.0523546 -0.183879 -0.00360666 0.42229 0.731886 -0.18042 -0.00584597 -0.454959 -0.716952 -0.0125554 0.177222 -0.000955592 -0.0404499 -0.0427044 0.0524865 0.309987 -0.00119412 0.094612 0.00193648 -0.272496 -0.027773 -0.225045 0.636134 -0.591475 -0.00464748 -0.598147 -0.316715 -0.626292 0.103277 -0.0226154 0.144633 -0.0435475 -0.169308 -0.010876 0.0106883 0.00328971 -0.742241 -0.233742 -0.589503 -0.309481 0.0212072 -0.210986 -0.134219 0.0415444 0.0228999 -0.187686 0.0320542 -0.30177 -0.0558031 0.282681 -0.74094 -0.0935071 1.2625 0.314847 -2.22865 0.426574 -0.612047 -2.52309 -0.0619439 0.157613 -0.443325 -1.61712 0.00142541 -0.00718873 0.0338456 0.0544896 -2.77371 0 0 0 0 0 -0.00426132 -0.0409871 -0.00101332 0 0 0 0 -1.63348e-05 0 0.00611368 0 0 -0.000609907 -0.000215658 0.00174547 0 0.000189027 -0.00675776 0.0431828 0 0 -0.076683 -1.41301e-05 0 -0.00583956 -0.476285 0 0 -0.00822578 -0.0560674 0 -0.0534296 0 -0.0038322 0 0 -0.000265825 0 0 -0.170165 -0.000195425 -0.00891631 0 -0.0131551 -0.0305593 0 0 -0.00285292 0 0.00263313 -0.061183 -0.00313898 0 0 0.000722771 0.00273596 0 0.00391834 -0.0290987 0.00330025 0.250432 -0.0139844 -0.0143003 0 0.00842035 0.015851 0.0604318 -0.00375133 0.0214617 0 0 0 0.17557 -0.00285879 -0.0472069 0.0134743 -0.0173093 0.00167405 0.000665533 -0.000789757 0.00112907 -0.00916998 0 0 0 0 0 0 -0.113102 0 -0.066126 0 0 0 0 -0.286664 -0.672897 0 0 -0.0243465 0 0.000448298 0 -0.042563 0 0 0.701101 0 -0.403019 -0.135939 -0.121357 0.0796198 0 0 -0.469282 0 3.05566 0 -0.648721 -0.059191 0 -0.722827 -0.759014 -0.0162481 0 -0.0600286 0 0 -0.0506938 0 0.439404 1.5211 0 0 0.174798 0 0 0.674075 -0.377091 0.227356 0 0.47844 0 0.390059 -0.0430351 -0.156573 -0.126844 0.155493 -0.317519 -0.662888 -0.0841006 -0.481551 -1.5469 -0.141354 0 0 0 -0.249907 0.00568948 0 0 0 0 0.0951535 14.487 0.348175 4.64199 0.0514873 -0.00228049 0.753381 -0.0776971 0.0715017 -0.0384363 0.439098 0 0 0 0 0 0 +376 0 0.859079 0.91195 -0.0119723 -0.168251 0.349434 0.300523 0.0382194 -1.24891 -0.135868 -0.115404 -0.34948 -0.40654 0.000518669 0.603355 -0.0106527 3.30445 14.6332 0.023365 -0.0176205 4.61484 0.00881581 -0.645606 -0.000529212 -0.0154384 -0.484449 1.06078 0.0415627 -0.0351518 2.38021 -0.0344531 -0.00882536 -0.246201 -1.91187 0.280668 -0.100819 -0.025063 0.364447 -7.64316 -0.757415 1.72279 0.00880501 1.14466 -0.0537373 2.73553 0.141245 0.67104 0.680873 -0.498109 0.205991 -0.214949 -0.0451412 -8.45897 0.0780517 0.00525324 0.0250469 -2.08306 0.21639 -0.309378 -0.0472958 -0.0309457 -3.9169 0.22311 -0.738853 -1.07368 -0.541463 -2.71298 -0.32327 0.494507 0.0310263 -0.389957 0.354252 -0.498723 -0.439688 -0.210167 -0.667665 -0.575113 33.2283 3.47773 5.78857 2.54139 -0.0969634 1.34924 0.0665886 -0.13158 0.88806 -4.10974 -0.00724921 0.0491465 -0.328726 1.93589 -9.02052 0 0 0 0 0 -0.0119723 -0.168251 0.00374596 0 0 0 0 0.000291278 0 -0.0208284 0 0 0.00131423 0.001644 -0.00372646 0 -0.0016517 0.00814916 -0.0399641 0 0 0.295304 0.000111967 0 0.00441716 0.772919 0 0 0.0299771 0.0971573 0 0.029763 0 0.0224745 0 0 0.00254848 0 0 -0.225101 0.00412502 0.0193435 0 0.0541645 0.017575 0 0 -0.116669 0 0.00486758 0.0147711 -0.00589159 0 0 -0.00275109 -0.00528274 0 0.0215468 0.000863426 -0.00466845 -0.292067 0.00610091 -0.00815249 0 0.020102 -0.0162804 -0.141428 0.0301154 -0.034421 0 0 0 0.526087 -0.05205 0.0914738 0.0258384 -0.026443 0.0315951 -0.00181805 0.00208473 -0.00235418 -9.72763e-05 0 0 0 0 0 0 0.349434 0 0.300523 0 0 0 0 -0.466375 -0.359679 0 0 0.22451 0 0.00985978 0 -0.019977 0 0 1.31793 0 -1.33855 -0.18669 0.0869092 0.166037 0 0 -0.214155 0 8.59661 0 -7.47131 0.713236 0 -1.4779 -2.79773 0.00578992 0 -0.056625 0 0 -0.024619 0 2.71695 2.97401 0 0 0.372598 0 0 0.799931 1.2309 0.281575 0 -2.03112 0 0.822797 0.00891735 -0.156744 -0.467558 0.0507121 0.156848 -0.718763 -0.06438 -0.0311188 -8.93027 -0.12599 0 0 0 -0.342939 -0.00594164 0 0 0 0 0.060992 45.9252 -0.285552 11.2727 0.528992 -0.289782 3.27779 -0.0827155 0.0976656 -0.149858 0.818985 0 0 0 0 0 0 +377 0 0 0 0 0 0.265474 0.328753 -1.83648 -4.23157 0 0 -1.01592 0.854608 0 0.145109 -0.229051 0 0 0 -0.134462 1.26692 0 0 0 0 -0.857952 0 0 -0.185128 5.9897 0.23871 0 -0.842943 0 0 -0.443692 -0.112793 0 0 -3.14543 2.32462 0 0 -0.530394 2.51546 0 1.2903 1.17583 0.502943 1.096 -4.11588 0.59151 0 -0.395844 -0.657167 0.156928 -2.17953 -0.582207 1.44108 0 0 0.324733 -5.17825 0 0.635966 1.37717 0.0415923 0 0 0 0 -0.264701 -3.12894 0 0.81452 0.612921 0 0 0 5.97981 0 4.05793 -6.01919 0 2.43327 -4.59683 9.60214 0 2.84554 -5.06615 9.49194 -16.8799 0 0 0 0.328827 0.105612 0 0 0 -0.0607973 0.115855 0 -0.00574861 0 -0.00544513 -0.181202 0 0 0 0 -0.276047 0 -0.0709482 0 -0.751824 0 -0.565408 -0.143659 0 -0.00158418 0 0 0.048218 -0.00128186 -0.0643439 0 0.0114466 0 0.00642572 -0.00136871 -0.0131964 -0.0299422 -0.0192551 0 -0.000200242 0 0 0 0.000623907 0 0 0.00504147 0.00362349 0.556242 -0.0759146 0 0 -0.0092578 0 -0.0163898 0 0 0.060498 0.0237688 0.103174 0.0524751 0 0 -0.0842218 -0.029555 0.00941292 -0.457924 0.155484 0 -0.40058 0.000837591 -0.0581899 0 0 0 2.49977 0 0.128668 0.22093 0 0.00737092 0.0242958 0.779022 0 0.00195293 -0.000140051 0.0345533 0.181538 0 0.265474 0.328827 0.328753 0.105612 -0.7731 -0.187851 0.265088 0.0736032 -1.40773 -0.155279 0.0682052 -0.844954 -0.0251413 -0.169487 0.0862547 -0.0707711 0.0633265 -0.889222 0.792643 -0.47119 -0.0665467 -0.015866 -0.0418722 0.0290001 0.80889 0.19264 -0.651913 -0.00311122 -5.40357 0.0299655 -0.662099 0.0764196 0.0165099 0.315226 -0.0339932 -0.0271958 0.00108028 0.00265635 -0.041006 1.13675 -0.104875 0.0293535 -1.24849 3.10129 0.00596596 0.0541175 0.20402 -0.0327692 0.389901 0.582567 -1.8604 -0.0804399 -0.352328 -0.82516 0.0512617 2.13373 -0.310507 0.331972 0.17884 0.000962249 -0.209532 -0.87296 0.0388224 1.34715 1.18288 -0.200407 -0.389159 -0.175433 0.142546 -0.687194 0.314329 -0.174386 0.324199 0.0987381 0.0216842 0.342548 2.69843 2.43809 -1.52986 2.23318 -0.4647 -1.7147 1.4994 -0.680773 0.0735566 0.39259 1.1312 -0.644455 0.248517 0.441543 -1.46404 0 +378 0 0 0 0 0 -0.0228417 0.288355 -0.152036 0.550008 0 0 0.0500033 0.93086 0 0.997661 0.0377831 0 0 0 0.220486 2.22593 0 0 0 0 -0.119848 0 0 -0.527646 5.21639 0.552818 0 -0.304443 0 0 -0.241728 0.0553082 0 0 -0.297008 1.97492 0 0 0.0508254 0.966794 0 1.23858 0.593873 -0.695001 -0.0334786 1.66122 0.603877 0 -0.371994 0.114724 0.319436 1.2103 1.1492 0.852942 0 0 0.0277345 -2.38863 0 1.29471 0.293037 0.129049 0 0 0 0 -0.146862 0.0185216 0 -1.46409 -0.992905 0 0 0 -0.976089 0 0.319068 -6.68213 0 -0.1596 -1.73775 -1.60484 0 -0.178057 -2.9002 4.34039 -18.3406 0 0 0 0.0853779 -0.000449365 0 0 0 0.0288106 -0.0190809 0 0.00542918 0 0.00292832 0.0848781 0 0 0 0 0.112908 0 0.025922 0 0.350893 0 0.17674 0.577627 0 0.0110209 0 0 0.337044 8.31539e-05 0.12036 0 0.00410905 0 -0.00138674 0.211105 0.0651639 -0.000148835 0.0423687 0 0.000170557 0 0 0 0.000180133 0 0 0.00270171 0.00223895 -0.0901083 -0.00617101 0 0 0.0362388 0 0.00738429 0 0 -0.0338968 0.0375457 0.373035 0.0574674 0 0 -0.220557 -0.038187 -0.0394493 -0.0174326 -0.0505409 0 0.318743 -0.00682958 0.299815 0 0 0 -0.951394 0 0.035665 -1.3289 0 0.0027708 -0.0830449 -0.406945 0 0.000470507 -0.0114131 0.041547 -0.775074 0 -0.0228417 0.0853779 0.288355 -0.000449365 -0.733522 -0.062008 0.0421672 -0.259873 0.206698 0.0150895 -0.015447 -0.0774988 0.00266535 -0.0202441 -0.0132883 0.000905736 -0.00817067 0.0977926 0.12538 -0.250184 0.0869806 -0.0452816 -0.094511 -0.0227343 -0.222765 0.25845 -0.16007 0.0184688 2.85393 -0.304569 -0.194074 1.0142 -0.00403518 -0.240599 0.0128161 -0.0239265 -0.00504629 -0.0365155 -0.0451576 2.09416 0.0428117 0.0293374 1.36872 -0.763919 0.00118987 -0.0284618 -0.119787 0.0475663 -0.112781 -0.741976 -0.227647 -0.866253 0.190307 -1.42692 0.0157451 0.179782 0.0451505 0.408312 0.307817 -0.110053 0.175183 -0.148344 -0.15835 0.653322 4.92487 0.0205134 -0.0839043 -0.0376582 -0.337895 0.332641 0.067344 0.0584768 -0.0290168 -0.149147 0.130487 -0.166283 0.790961 0.367874 -0.0386816 -0.0758379 0.409649 -3.96671 -0.056498 0.131727 -0.981799 1.14588 -0.124404 0.214767 -0.844715 1.21246 -2.98544 0 +379 0 0 0 0 0 0.245256 0.108231 0.328532 0.257944 0 0 0.198111 0.261692 0 -0.0337132 -0.0464708 0 0 0 -0.234998 -6.57714 0 0 0 0 -0.0671825 0 0 -0.361351 2.42219 0.0637079 0 0.05956 0 0 -0.0701834 0.0130899 0 0 -0.666936 -1.41437 0 0 -0.235457 0.421106 0 -0.225695 0.189493 0.2796 0.172208 0.346478 0.0192351 0 -0.438231 0.0423557 -0.132204 0.652376 -0.971186 -0.0667116 0 0 0.70033 4.06974 0 0.074223 -0.130742 -0.640591 0 0 0 0 0.503006 0.0644049 0 1.57329 -0.333513 0 0 0 -0.715115 0 0.430949 -1.65155 0 -0.206206 -0.104588 -2.4079 0 0.479575 -0.489499 0.532006 -4.54408 0 0 0 0.121684 0.0260315 0 0 0 -0.0369712 0.0165113 0 -0.00411862 0 -0.000942338 -0.031716 0 0 0 0 0.0198904 0 -0.0050958 0 -0.0835953 0 -0.343813 -0.239673 0 -0.00505018 0 0 -0.267452 1.13885e-05 -0.0449086 0 0.00240492 0 0.000770967 -0.117558 -0.0373628 -0.00260947 -0.0195438 0 -2.61207e-05 0 0 0 0.000122459 0 0 0.000484704 -2.51401e-05 0.138857 -0.0345682 0 0 -0.00706906 0 -0.00228186 0 0 -0.0529872 0.0127247 -0.231101 0.0245751 0 0 0.108363 0.0104319 -0.0284641 -0.364734 -0.750515 0 -0.246528 0.00678604 0.308025 0 0 0 0.469033 0 0.0280144 0.96274 0 0.00227203 0.0578345 0.247158 0 8.66455e-05 0.00871023 -0.0113325 0.549714 0 0.245256 0.121684 0.108231 0.0260315 -0.244397 -0.118263 0.197549 0.13682 0.331584 -0.0267475 0.0546604 -0.580945 -0.00512404 -0.0985139 0.0296 0.0221333 0.0329207 -0.104817 0.43804 -0.68827 -0.114957 0.0270742 -0.359356 0.0208354 0.320504 0.151671 0.186888 -0.00405325 5.39866 -0.280286 -1.32404 1.0248 0.00414128 0.265655 -0.550792 -0.0567885 -0.00266454 0.0167308 -0.0366004 1.15806 0.0474885 0.019589 2.50945 1.48291 0.00611637 -0.0188745 0.115823 -0.0710651 0.328186 0.385899 1.29027 0.369112 -0.072272 1.47209 -0.0210309 0.158181 0.393102 -0.299248 0.629218 -0.0604103 0.12289 0.811113 0.0249937 -0.454891 3.12977 0.048413 -0.468897 0.0307944 0.103886 0.275025 0.233834 0.0697677 0.0604296 0.0503147 -0.105002 -0.439584 5.39621 2.61618 -1.33056 1.05576 -0.311202 -0.53486 0.482906 -0.186313 -0.140544 0.351074 0.13334 0.0679342 -0.417517 0.707746 -1.58255 0 +380 0 1.16417 0.332912 0.16182 0.408542 -0.422139 -0.274573 1.47875 4.09854 0.1687 -3.44873 0.458521 -0.744203 -0.0481691 -0.180239 0.0586629 -0.182753 2.34904 -0.574031 0.00504501 -0.69793 -0.102149 -0.261527 0.0271021 -0.773714 0.802211 -0.317345 -0.0865096 0.371629 -0.166798 -0.263702 0.0975463 0.616282 -1.40424 0.328481 0.364521 0.104589 -0.0817753 -6.96033 1.03316 -0.710072 -0.212868 1.69016 0.259071 -1.39434 -0.774748 -0.451123 0.255653 0.759912 -0.282136 0.982509 -1.39724 -2.02264 -0.3716 0.264592 -0.289645 1.31035 0.181399 0.234999 0.810575 0.156048 -1.56069 -0.155004 0.87304 -2.51996 -0.396072 -0.196173 1.589 0.0625319 0.348199 0.653745 -0.325023 0.761988 -0.00827988 -0.156611 -0.350153 -1.46515 18.6336 9.42675 -7.82189 7.75778 -7.0127 10.4208 4.40011 -4.34495 5.80478 -7.55432 1.60908 -1.96824 1.73963 -2.28166 0.674479 0 0 0 0 0 0.16182 0.408542 0.00992717 0 0 0 0 0.00176903 0 0.00491752 0 0 -0.00159135 -0.0108395 -0.0219404 0 -0.0015164 -0.0754342 0.0396465 0 0 -0.414827 -0.000399417 0 -0.166643 -0.189371 0 0 -0.0439355 -0.140005 0 -0.494454 0 -0.0857837 0 0 -0.0083458 0 0 -1.56395 0.0350848 -0.0410297 0 0.194572 0.128665 0 0 -0.468198 0 0.0054471 -0.120705 0.0215158 0 0 0.00365756 -0.0264189 0 -0.00943897 -0.010553 -0.0471418 -1.13715 0.0722348 0.0256869 0 0.0389546 -0.133419 -0.00127089 -0.0431741 -0.296302 0 0 0 10.077 0.472034 0.491321 0.0470353 -0.104996 1.39454 0.00190216 -0.00450822 0.0556925 0.029419 0 0 0 0 0 0 -0.422139 0 -0.274573 0 0 0 0 0.0580865 2.98724 0 0 -0.889632 0 -0.102908 0 0.117364 0 0 -0.403077 0 -0.0262023 0.085076 -0.194735 -0.0269286 0 0 1.03345 0 8.51519 0 -2.22163 0.00772093 0 0.724267 -0.477459 -0.0255968 0 0.00689134 0 0 0.343413 0 1.61204 -1.26489 0 0 -0.112581 0 0 -0.24642 2.6256 0.438281 0 1.20213 0 -1.51849 0.74304 -0.660584 0.629566 0.195482 -0.030055 1.30198 -0.317612 -2.18283 -6.11994 -0.17413 0 0 0 0.466524 0.246049 0 0 0 0 -0.658295 10.0942 4.8357 -4.40466 1.55079 -1.5561 2.03738 0.495813 -0.506699 0.67927 -0.524674 0 0 0 0 0 0 +381 0 -0.236756 0.26014 -0.00282511 0.0462871 -0.292072 -0.0715095 0.313024 1.98074 -0.0344535 -0.451214 -0.0599382 -0.312161 0.00512252 -0.396482 0.0222454 0.708655 1.33483 -0.0798315 0.0628648 -0.561373 0.0194587 -0.355444 -0.00937265 0.0261706 0.258006 0.309987 -0.0277891 0.018507 0.114 -0.241706 -0.0255328 0.129592 -0.488269 -0.240763 -0.0461922 -0.012698 0.132098 -0.124027 -0.176789 -0.379294 0.0173423 -0.573283 -0.0156173 -0.505541 0.0539785 -0.200083 -0.0757325 0.218067 0.058533 0.414828 0.0259444 0.849833 0.0982696 -0.0531015 -0.134439 1.48309 -0.052507 -0.558447 -0.0251642 -0.0402628 -1.10002 1.61801 2.19596 -0.167196 -0.679779 0.125616 -0.353358 0.0572601 0.0802588 1.10414 -0.482014 0.025265 -0.622886 1.28553 0.582815 -0.330182 -0.565717 2.06701 -6.85438 -0.217013 -0.349199 0.479458 0.169114 -0.197335 0.860416 -2.83741 -0.112108 0.245969 -0.227519 0.489187 -0.46098 0 0 0 0 0 -0.00282511 0.0462871 -0.000661656 0 0 0 0 0.000416413 0 0.0407321 0 0 0.000483343 0.00775626 0.0677138 0 0.0107047 0.237862 0.249231 0 0 0.176452 0.00042834 0 0.0766872 2.53341 0 0 0.034363 0.821511 0 0.306351 0 0.0415648 0 0 0.00810645 0 0 0.990788 0.00860653 0.00705641 0 -0.00839089 0.108557 0 0 -0.0203845 0 0.0062879 0.60009 -0.0174545 0 0 0.00188503 0.00765298 0 -0.000167748 0.141837 0.000375328 0.265983 0.0886652 0.012845 0 -0.0269253 -0.138424 0.561998 -0.0972282 -0.312987 0 0 0 -5.60266 -0.12964 -1.16516 -0.0247223 0.0532533 -0.739498 0.000253544 -0.000899217 0.0101219 -0.29539 0 0 0 0 0 0 -0.292072 0 -0.0715095 0 0 0 0 0.285156 -0.489583 0 0 -0.189726 0 -0.00419192 0 -0.0164808 0 0 0.180109 0 -0.542505 0.104082 0.0338349 0.0378864 0 0 -0.0815993 0 -0.340921 0 0.0577134 -0.328604 0 1.19776 -0.485861 0.0125952 0 0.00818638 0 0 -0.068753 0 -0.164153 0.358854 0 0 0.0865676 0 0 -0.0420185 1.82174 0.38061 0 -0.580134 0 -0.984322 -0.0750137 -0.123661 -0.338922 -0.12563 0.523741 0.663023 0.0217371 -0.173115 -5.59886 0.106607 0 0 0 -0.116355 -0.0434795 0 0 0 0 0.285933 -0.242972 1.73328 -4.47089 0.661544 -0.638142 0.533941 0.083659 -0.106187 0.159382 -0.753324 0 0 0 0 0 0 +382 0 0.327854 -0.359101 -0.0132705 -0.0371744 0.0875353 -0.277088 0.500723 0.946955 -0.0326879 -0.675537 -0.817483 -0.479355 0.00411286 -0.482592 -0.103348 -0.134785 -0.179237 -0.0877956 -0.237289 1.28716 -0.0463602 0.579232 -0.00270361 -0.188381 0.460947 -0.260679 -0.0097919 0.813823 2.99294 -0.239944 -0.0107312 -0.693968 0.991993 -0.0974246 0.387432 -0.131177 -0.145526 0.902211 -1.10525 -0.361418 0.0164865 -1.09852 -0.181072 -1.17677 0.0471999 -0.660315 1.65498 -1.58461 0.405839 -0.412089 0.925924 -0.487953 -0.0165956 -0.746359 1.03653 1.07663 0.444764 0.52361 0.222029 -0.0136827 -0.0117679 -0.456272 -0.0113277 0.80168 0.444124 -0.653235 -0.168149 -0.12057 -0.0221096 0.615112 -0.0957254 -0.669458 -0.424045 -0.030615 -2.03805 -0.77611 -3.52127 0.250198 -0.944211 -1.23548 2.6735 -6.43346 0.828573 0.740862 -2.4874 2.32113 -0.0980296 1.20229 -3.20345 5.69348 -12.1025 0 0 0 0 0 -0.0132705 -0.0371744 -0.00140709 0 0 0 0 -0.000218231 0 -0.0227524 0 0 -7.72897e-05 0.000689175 -0.017115 0 -0.00323019 -0.0207647 -0.12665 0 0 -0.0841596 2.3296e-05 0 0.0675116 -0.32716 0 0 -0.00796291 -0.0910777 0 0.232756 0 -0.0120913 0 0 -0.00103111 0 0 0.453943 -0.00422499 -0.000615788 0 -0.0274763 0.00745056 0 0 -0.0302067 0 -0.000326931 -0.402173 0.00591358 0 0 -0.000438698 0.00364606 0 0.00489759 0.10578 -0.00444092 -2.36912 -0.0128041 -0.0368167 0 -0.0426305 0.0938781 -0.264353 -0.0865019 0.0283962 0 0 0 -2.82136 -0.0897702 0.294708 -0.0116874 0.0270377 -0.383921 -0.000103537 0.000302709 -0.00342871 0.108662 0 0 0 0 0 0 0.0875353 0 -0.277088 0 0 0 0 -0.468793 -1.18732 0 0 0.315704 0 0.043756 0 -0.0642453 0 0 0.191922 0 0.66567 0.0136314 0.437803 0.013566 0 0 -0.570232 0 -1.82394 0 1.06141 -0.440836 0 -0.0668232 0.911602 0.0555992 0 -0.0508698 0 0 -0.130301 0 -0.757262 0.125497 0 0 0.0079364 0 0 -0.0947043 0.269019 -0.443091 0 -0.878958 0 1.39358 -0.418261 0.461196 -0.299232 -0.0615681 0.247021 -0.823536 0.176886 0.794366 0.660889 0.0444912 0 0 0 -0.0810388 -0.080419 0 0 0 0 0.138067 -1.18771 -1.75404 2.07766 -0.754932 0.81575 -1.1862 -0.211982 0.193881 -0.22561 0.044295 0 0 0 0 0 0 +383 0 0.563238 0.451753 0.0913894 0.301953 -0.352286 -0.140437 1.2454 3.82515 0.285608 -2.77713 0.483494 -0.284906 -0.0196982 -0.390908 -0.0150882 1.27821 4.78564 -0.456951 -0.0635776 -2.20412 0.0062902 -0.356484 0.0152424 -0.36545 0.70795 0.398967 0.0693953 -0.127793 -1.29936 -0.203229 0.0811058 -0.0143922 -1.40467 0.0321579 0.194558 0.0681105 0.418575 -6.60688 1.12407 -1.2131 -0.130256 0.996933 0.180785 -1.15095 -0.818804 -0.673211 -0.508638 -0.187268 -0.541123 -0.0112364 -1.47797 -3.13124 0.165019 -0.4962 0.352705 0.977595 -0.0554436 -0.954111 0.667228 0.287097 -2.97667 4.01187 0.872695 -1.73912 -0.228671 0.887454 1.07038 0.272385 -0.00345327 0.999276 -1.40702 0.772968 -0.520634 0.0108536 -0.525702 -1.1234 18.4231 7.86073 -7.3577 6.10724 -6.23605 11.185 2.42708 -2.88939 5.08032 -5.74067 0.869084 -1.04829 1.67848 -2.07446 3.13859 0 0 0 0 0 0.0913894 0.301953 0.00439105 0 0 0 0 0.000255313 0 0.0123413 0 0 -0.000387102 0.000836818 0.00917482 0 0.00332418 0.0406546 0.0878241 0 0 -0.164801 0.000118994 0 -0.0772897 0.212985 0 0 -0.0214119 0.168014 0 -0.278109 0 0.00939439 0 0 0.00204705 0 0 -1.10373 0.00416482 -0.0148894 0 0.0752635 0.0941096 0 0 -0.315587 0 0.00720104 0.00646364 0.00197967 0 0 0.0027988 -0.00812465 0 -0.00632144 0.0253824 -0.0284166 0.722811 0.0390063 0.0240165 0 0.0201879 -0.0974451 0.337888 -0.0208206 -0.20901 0 0 0 7.36031 0.316738 0.219427 0.0405242 -0.0857539 1.03884 0.000995878 -0.00280109 0.0359755 -0.0388292 0 0 0 0 0 0 -0.352286 0 -0.140437 0 0 0 0 0.498032 0.925001 0 0 -1.15216 0 -0.134108 0 0.00346717 0 0 0.0312959 0 -0.517759 0.137627 -0.551529 0.014393 0 0 0.143205 0 8.52727 0 -2.67587 0.293807 0 1.20362 -1.16454 -0.0698541 0 0.0631194 0 0 0.0759329 0 1.96221 -0.123703 0 0 0.0094125 0 0 0.0407691 3.49941 0.448865 0 0.454843 0 -1.35091 0.188882 -0.374888 0.964963 0.218383 -0.417453 0.742508 -0.299827 -1.7248 -1.27955 -0.228036 0 0 0 0.115089 0.284196 0 0 0 0 -0.376222 12.0064 6.05004 -6.41656 1.83441 -1.84806 2.33999 0.674381 -0.672591 0.873325 -0.841297 0 0 0 0 0 0 +384 0 -0.38075 -0.182252 0.00379691 -0.0137118 -0.215169 -0.249282 0.589902 1.38431 0.118145 0.259652 0.0379768 0.131253 -0.00193004 0.720727 -0.00661318 0.549549 2.11357 0.152542 -0.0366435 1.88855 0.0478186 0.282045 0.00533246 0.102448 0.430181 -0.0330404 0.161936 0.705503 1.66513 -0.0433118 0.0266145 0.114994 0.623288 0.490809 0.320954 0.00617484 0.68815 2.13015 -0.126934 0.0986759 -0.000865959 1.54327 0.00045036 1.74823 0.105416 -0.381596 0.988463 0.0390846 0.0184103 -0.177164 0.567017 0.0958176 0.14338 0.0757183 -0.00917075 0.980351 0.303205 0.560797 -0.160774 -0.00880262 -0.190572 -2.66379 1.29486 0.838895 -0.0145549 -0.749393 0.146007 0.703621 -0.092746 0.604927 0.28846 0.131896 -0.170473 -0.543199 -1.12866 0.143949 -7.09211 -2.37556 -2.15004 -3.62582 2.30994 -5.21681 -1.05056 0.602085 -1.44294 -1.66723 -0.111889 0.125523 -1.01101 1.07197 -4.02211 0 0 0 0 0 0.00379691 -0.0137118 -0.00508202 0 0 0 0 -0.000730081 0 0.0129572 0 0 0.000678054 0.00510391 0.00561854 0 0.00179944 0.0558439 0.051869 0 0 0.218159 0.000243223 0 0.0550983 0.851225 0 0 0.0323151 0.244504 0 0.294046 0 0.0375707 0 0 0.00534473 0 0 1.18498 -0.0143904 0.0176671 0 -0.0973636 0.0121974 0 0 0.105137 0 0.00129533 0.138891 -0.0140601 0 0 0.00118435 0.0174647 0 0.000307747 0.0724454 0.0123133 -0.370458 0.0144103 -0.0132042 0 -0.0322136 0.0371932 0.222985 -0.070028 -0.0128521 0 0 0 -6.83601 -0.240014 -0.508507 -0.0314961 0.0672775 -0.909374 -3.51785e-05 0.000532827 -0.0144132 -0.0930225 0 0 0 0 0 0 -0.215169 0 -0.249282 0 0 0 0 -0.0381054 0.223991 0 0 -0.167977 0 -0.0235052 0 0.0329193 0 0 -0.208831 0 0.522753 0.0625019 0.0397908 -0.00911081 0 0 0.287579 0 -0.729086 0 0.552311 -0.516172 0 0.56674 0.511718 0.00143246 0 0.0115631 0 0 0.0238828 0 -0.324338 -0.341981 0 0 0.00117339 0 0 0.024459 0.0816193 -0.0447645 0 -0.319364 0 -0.521092 -0.0510745 0.0569592 0.0921434 -0.0438872 -0.0766131 0.376002 0.000900456 -0.511133 -7.74513 0.0356597 0 0 0 -0.0669367 0.0172975 0 0 0 0 0.119661 -3.77008 0.257979 -1.32388 -0.093462 0.148572 -0.299783 0.0811695 -0.0803181 0.112792 -0.373082 0 0 0 0 0 0 +385 0 -0.0453675 0.346948 0.0400996 0.176903 -0.106441 0.073112 0.384469 1.30512 0.331267 -1.03741 0.284776 0.572341 -0.00739998 1.07969 0.0120788 1.18764 4.12008 -0.1494 0.0204581 3.69817 -0.0242984 -0.459678 0.0069603 -0.283315 0.0892825 0.493085 -0.0852395 -0.182243 -1.07389 0.247445 0.0471272 0.147314 -0.701699 -0.145935 -0.119156 0.0413545 -0.374545 -1.0303 0.454806 2.15527 -0.0414575 0.152204 0.081055 1.17172 -0.183596 1.05841 -0.526263 0.269264 -0.201996 -0.15436 -0.568475 3.79899 0.367038 -0.0823277 0.110783 2.99788 1.34314 0.656021 0.339287 0.0969799 -0.542479 -5.4141 1.40761 -0.246812 0.276703 0.749818 0.197154 -0.55502 -0.058749 0.506123 -0.40829 0.326602 -0.0603846 -0.000346586 0.477699 0.382098 2.58592 2.03089 -2.97311 1.38981 -1.33103 1.92527 1.01599 -0.844803 1.66143 -2.07659 0.19487 -0.342658 0.791652 -1.14176 2.59397 0 0 0 0 0 0.0400996 0.176903 0.000414812 0 0 0 0 3.68259e-05 0 -0.00751367 0 0 2.50569e-05 0.000826252 -0.0067419 0 0.000133618 0.0239071 -0.0905992 0 0 -0.0764503 7.21465e-05 0 -0.0159322 0.297472 0 0 -4.61436e-05 0.0635682 0 -0.026266 0 -0.000242317 0 0 0.00136517 0 0 -0.150125 0.000658158 -0.00259268 0 0.0107016 0.060876 0 0 -0.0985425 0 0.000403993 -0.0277532 0.00998952 0 0 0.00131654 -0.000398356 0 -0.00618111 0.111895 -0.0197876 -1.31287 0.0228949 -0.00610913 0 -0.025996 -0.0218131 -0.0716192 -0.0313363 -0.0475549 0 0 0 2.43735 0.130773 0.490163 0.00781535 -0.026736 0.390133 0.000359427 -0.00105914 0.0134143 0.077978 0 0 0 0 0 0 -0.106441 0 0.073112 0 0 0 0 0.501986 1.00905 0 0 -0.474454 0 -0.0440946 0 0.0261991 0 0 0.232388 0 -0.612735 0.143155 -0.198687 0.0482329 0 0 0.271343 0 4.7744 0 0.287721 -0.0708238 0 1.13448 -0.502446 -0.0184913 0 0.0492984 0 0 0.10319 0 0.577421 0.397222 0 0 0.100076 0 0 -0.196378 3.43764 0.357724 0 1.20523 0 -0.380423 0.0416746 -0.0708869 0.412171 0.0548915 0.224957 0.702993 0.0856275 0.332245 3.89101 -0.0845044 0 0 0 0.225623 0.0872755 0 0 0 0 0.150732 2.88008 2.46193 -4.1529 0.642893 -0.650171 0.518472 0.280038 -0.25919 0.307875 -0.733596 0 0 0 0 0 0 +386 0 0 0 0 0 0.42378 0.0658383 -0.427247 -2.18886 0 0 -0.00360667 -0.840843 0 -2.21209 0.00566614 0 0 0 0.093656 -4.74042 0 0 0 0 -0.371617 0 0 0.051755 -1.42351 -0.493509 0 0.0430673 0 0 -0.115732 -0.000452676 0 0 0.221534 -1.87547 0 0 0.069768 -3.23214 0 -0.657082 0.0821479 0.440879 -0.0683808 -0.924773 -0.373388 0 0.0202708 0.0757625 0.0719034 1.23 0.0504637 0.00801834 0 0 0.57689 3.16951 0 -0.74767 -0.0482539 -0.523814 0 0 0 0 -0.188489 -0.0470642 0 3.60778 -1.90635 0 0 0 3.67271 0 -0.841971 4.15823 0 -0.234271 0.256415 3.45226 0 -0.198727 -0.00310376 -0.260453 1.80861 0 0 0 -0.00231077 0.0010212 0 0 0 -0.0138508 -0.00276171 0 -0.000888751 0 -0.000259814 0.000583759 0 0 0 0 -0.0231178 0 -0.000467743 0 -0.0037888 0 -0.158239 -0.0250431 0 0.000409378 0 0 0.0278181 -0.000379756 -0.000867237 0 -0.000294339 0 -0.000302479 0.0131619 0.00543768 -0.00560728 0.000596494 0 -1.79928e-05 0 0 0 -2.22045e-05 0 0 0.000391057 0.000326071 0.0706999 0.00277101 0 0 7.57924e-05 0 0.000655832 0 0 -0.00806852 0.00278158 -0.00433261 -0.00233598 0 0 0.0124146 0.00881008 -0.000914974 0.00908473 -0.00556186 0 -0.0305204 -0.00305662 -0.0260098 0 0 0 0.0457371 0 0.00598563 -0.0161556 0 -6.57197e-05 0.00023849 0.00290719 0 0.000368528 -0.00120852 0.0023982 -0.00769827 0 0.42378 -0.00231077 0.0658383 0.0010212 0.354033 0.0264273 0.016882 -0.894409 -0.25493 -0.00042895 0.0110583 0.0364754 -2.39817e-05 0.0023932 0.000691053 -0.00357829 0.019956 -0.00556908 0.967419 0.492108 -0.110456 -0.448153 0.01032 0.109601 0.0487376 -0.205761 -0.076655 -0.013689 5.13567 -0.013277 -0.257825 0.573169 2.76199e-05 -2.22035 -0.494922 0.00100414 -0.00199847 -0.146251 -0.00847832 -1.09331 -0.011285 -0.0325085 1.69552 2.19384 0.00289412 -0.00709475 0.157241 -0.0184209 -0.113461 -0.0567929 0.221705 0.390538 0.0306164 0.921596 -0.00175111 1.14287 -0.024593 0.0743846 -0.0159853 0.968444 1.08934 -0.158809 -0.278532 -0.0141516 1.59297 -0.154829 0.689818 -0.0197627 0.365578 0.121189 -0.00641481 -0.0453099 0.00133422 -0.0507026 0.00611633 0.0127512 0.626783 -0.0577646 7.25854 0.0205371 -0.212336 5.40936 -0.00223782 0.0357259 -0.0599322 2.99386 0.000594772 0.0841745 -0.115464 0.083323 1.41038 0 +387 0 0 0 0 0 -0.639353 -0.0542718 1.01793 3.12517 0 0 0.117598 -0.192853 0 0.195654 0.0288095 0 0 0 0.13529 -2.20487 0 0 0 0 0.341924 0 0 -0.454558 0.736069 -0.00725465 0 0.108909 0 0 0.120257 0.0178635 0 0 0.54647 -1.00885 0 0 0.101548 0.0421407 0 -0.338299 -0.49295 0.574549 -0.262227 0.176957 -0.232407 0 -0.172712 0.30492 -0.273457 4.47168 -0.233371 0.0921276 0 0 -2.04866 3.87535 0 0.518169 0.375185 -0.898722 0 0 0 0 -0.0758976 0.678518 0 2.55831 0.535503 0 0 0 -3.38913 0 -0.344441 -1.05257 0 -0.0857954 1.0995 -6.45733 0 -0.500336 1.91197 -3.72823 1.65395 0 0 0 -0.0355219 -0.00441864 0 0 0 -0.00374963 0.00427116 0 -0.000163841 0 -0.000220165 -0.0053271 0 0 0 0 -0.0213331 0 -0.0016602 0 -0.0722145 0 -0.0648109 0.00702237 0 3.77745e-05 0 0 0.0275555 -0.000654354 0.000924393 0 0.000993541 0 0.000306316 -0.0113238 0.00234202 -0.00909068 -0.000848089 0 -1.56735e-05 0 0 0 6.92249e-05 0 0 0.000157702 0.00266711 -0.0154844 0.00128454 0 0 -0.00220777 0 0.00120012 0 0 0.0115761 -0.00412684 -0.00561482 -0.0109598 0 0 -0.00534134 -0.00437613 0.0106133 0.00929117 0.0263601 0 -0.00985724 0.00113296 -0.0640493 0 0 0 0.0223045 0 0.00359421 -0.012889 0 -0.000624355 -0.000991169 0.0153324 0 0.000536786 -0.000580169 0.00236087 -0.00806054 0 -0.639353 -0.0355219 -0.0542718 -0.00441864 -0.317005 -0.0456836 -0.0364083 0.358159 -0.0621678 0.00186896 0.0331654 -0.133905 0.000106274 -0.00667637 -0.0024206 -0.00365312 0.0437524 0.0253152 0.117889 0.179204 -0.0303208 0.307361 -0.0630566 -0.0164861 0.223983 0.0027776 -0.0473557 0.00360773 6.08617 0.167447 -2.06018 1.01831 -0.000137215 1.56527 -0.338847 -0.00570459 0.00755574 0.073671 0.0408547 0.466668 -0.00219588 -0.0149752 2.51949 0.416098 0.00744869 0.0323808 0.0273813 0.0360901 -0.0463109 0.544508 -0.0747463 -0.279244 -0.0617583 1.44228 0.00452663 -0.130702 -0.00191249 0.121791 -0.107994 0.0657896 -0.321021 -0.263757 -0.416464 -0.149358 4.43992 -0.19677 0.106274 0.0347295 0.0760078 -0.145829 0.0159739 -0.154153 -0.00426019 0.21024 -0.0130746 -0.00101593 5.00836 0.0554652 -3.09381 0.0792412 -1.15301 1.67491 0.0084689 -0.427484 1.11642 -1.62872 -0.00270363 -0.161689 0.349034 -0.301808 -0.31835 0 +388 0 0 0 0 0 -0.507853 0.357037 -0.412276 0.323609 0 0 -0.0839683 2.05356 0 3.33305 0.0333829 0 0 0 0.377576 5.97674 0 0 0 0 -0.338681 0 0 -0.503918 -3.41143e-05 0.993259 0 0.0852634 0 0 -0.341883 -0.025724 0 0 0.428267 2.75195 0 0 0.025462 7.73829 0 1.54313 -0.37997 1.11398 -0.0979258 0.933536 -0.0601843 0 -0.583456 0.454903 -0.318143 -3.6021 -0.759015 -0.270833 0 0 0.626614 -1.84805 0 1.03338 0.397845 0.61473 0 0 0 0 0.192358 0.338507 0 -3.37662 1.18696 0 0 0 -0.24283 0 -1.0227 2.39381 0 0.00636353 -0.32361 2.20922 0 0.0161099 0.121586 -0.579027 1.70999 0 0 0 -0.314413 -0.0179613 0 0 0 -0.000261571 0.0797669 0 0.000380121 0 0.00176325 -0.00831301 0 0 0 0 -0.0221699 0 -0.00221034 0 -0.0863912 0 -0.0791108 0.17609 0 -0.00154569 0 0 -0.17514 0.00228631 0.00849033 0 0.00448355 0 0.00558549 0.0365986 -0.0198935 0.0326292 0.000955789 0 0.000123359 0 0 0 0.000316641 0 0 -4.65772e-05 0.00397601 0.00865452 -0.0161101 0 0 -0.00642854 0 -0.0135528 0 0 0.0225176 0.000861817 0.0181107 0.00732669 0 0 -0.0422611 -0.026728 -0.0304503 -0.0231219 -0.181175 0 0.0293448 0.0131145 0.040225 0 0 0 0.14578 0 -0.0175705 0.10254 0 0.0015391 -0.00475278 -0.00120445 0 -0.00185277 0.008922 -0.016406 0.0476959 0 -0.507853 -0.314413 0.357037 -0.0179613 0.1771 0.0328587 -0.160999 0.414581 -0.380316 0.00839207 0.0768755 -0.324873 0.000392878 -0.0120377 -0.0084956 -0.012541 0.0517578 0.171495 1.52902 0.141289 0.371495 -0.0395102 -0.32381 0.226804 0.548994 0.0480427 -0.361845 0.00669798 6.92624 0.0472722 0.339163 1.63019 -0.000428079 0.580838 0.776772 -0.0177348 -0.00244746 -0.0275073 0.00585175 0.210288 -0.00373776 0.0129235 3.47376 2.99431 0.00682824 0.000614927 0.469545 0.0262408 0.35143 -0.292835 0.739722 -0.593027 -0.110146 -0.940746 0.0199165 0.343079 -0.0106957 0.283272 0.0327731 -0.0824507 -0.252289 0.16975 -0.0228133 -0.0356599 -5.48196 0.151133 -0.923664 0.241433 -0.176574 0.076966 0.036115 -0.0221157 -0.0247089 0.198053 -0.0721297 0.0133705 -0.824517 0.412553 -3.26741 -0.226567 -0.470256 -0.242282 0.0262799 0.000269113 -0.365149 0.132208 -0.0183155 0.023237 -0.218446 0.00267191 0.100598 0 +389 0 1.03088 0.366746 -5.47668e-05 -0.0126231 0.372427 0.216298 -0.816297 -1.99783 0.000281659 0.0316346 -0.0193566 0.813813 -1.4952e-08 0.240896 0.000308618 1.16287 2.85986 -0.0361816 0.000257863 -0.340499 -0.00616851 -0.426488 9.94914e-08 0.00167803 -0.462129 0.603454 -0.00381362 -0.624119 -1.5512 0.33069 6.26532e-06 0.0271337 -0.921865 -0.00830223 -0.270532 -0.000235383 -0.00961131 -4.19772 -0.031958 0.316591 1.03286e-06 0.05378 -0.000411876 1.60815 0.000363094 0.636628 -1.06213 0.0260038 0.000465847 -0.542869 0.0165201 1.1761 -0.000449564 0.000471694 0.0153088 1.32777 0.15466 -0.00771936 -0.0147659 -9.93511e-07 0.802049 -0.756408 -0.198558 -0.0905092 -0.00663124 0.427709 -0.0105167 0.0319776 -8.02333e-06 -0.334551 0.204118 0.0376862 0.0342715 -0.481187 0.576125 0.0274769 14.3825 -0.597178 7.81868 -0.00986213 -0.201255 7.60256 -0.0983065 0.136962 -0.242792 5.54858 -3.63593e-07 8.88073e-06 0.000159268 0.0847597 5.27526 0 0 0 0 0 -5.47668e-05 -0.0126231 2.4304e-05 0 0 0 0 -6.91799e-07 0 0.000706915 0 0 -0.000127185 -2.27798e-05 4.54842e-05 0 7.02504e-06 0.000163379 0.00400861 0 0 -0.00989626 -1.46998e-06 0 -4.26813e-05 0.0190629 0 0 -0.00150063 0.00852917 0 -0.00445234 0 -6.03094e-05 0 0 -1.27957e-05 0 0 -0.000206548 4.13928e-07 -0.00199771 0 0.00142994 0.00201116 0 0 0.00574432 0 0.000117378 0.0340885 0.000701999 0 0 0.000193188 4.52885e-05 0 -0.00102843 -0.010154 0.000205811 -0.0556647 0.00386103 0.000508145 0 0.000475698 0.000702982 -0.0266586 0.000134354 0.00806212 0 0 0 0.150641 0.015108 -0.000799411 -0.000928532 0.00281884 -0.000703686 0.000129714 -8.41306e-05 0.000220428 -0.000460788 0 0 0 0 0 0 0.372427 0 0.216298 0 0 0 0 -0.0769858 0.624833 0 0 0.239884 0 0.0125439 0 0.0132846 0 0 -0.979579 0 -0.94131 -0.108168 0.119434 -0.111144 0 0 0.234699 0 -1.70632 0 -3.33556 -0.476793 0 -0.642609 -1.20855 0.0036622 0 -0.0175966 0 0 0.0532114 0 -1.49402 -1.12633 0 0 -0.131115 0 0 -0.376835 1.43103 0.200745 0 -0.611367 0 0.383947 0.0639895 -0.0713777 -0.326214 0.0846741 0.855074 0.0211205 0.0224639 0.0511626 0.891542 0.0820912 0 0 0 0.0824584 -0.0808828 0 0 0 0 -0.0442313 20.8547 -1.27068 6.59142 0.26671 -0.361312 1.9176 -0.0355336 0.0263981 -0.0916645 0.465838 0 0 0 0 0 0 +390 0 -1.15928 -0.398829 -0.000400097 -0.0205301 -0.303412 -0.161994 -0.229411 -0.120258 -0.00149231 0.399485 0.0176459 -0.182139 2.37261e-07 0.0908012 -0.000182284 -0.981401 -3.56976 0.0537508 -2.51475e-05 -0.37941 0.00981824 0.256932 -2.90406e-07 0.0644998 0.119347 -0.283677 0.0160197 0.235342 -0.15045 0.0130632 -2.15373e-05 -0.0102872 0.833342 0.0968693 0.033661 0.00030028 0.1504 3.46699 0.0345943 -0.423235 1.82083e-05 0.750172 0.000624499 -0.528785 0.00125875 -0.339923 0.203232 -0.000897092 -0.000843073 1.61555 0.238682 8.45324 2.28776e-05 4.31969e-05 -0.0168312 1.03359 0.0823795 0.0167088 -0.180742 -1.86602e-05 0.444727 0.287238 0.0404889 -0.143493 -0.609413 -0.121265 0.38038 0.339569 1.67707e-05 -0.380479 0.264754 -0.0203875 -0.193524 0.496988 -0.161725 -0.0811613 -9.16219 -0.785573 -3.49232 -0.197963 0.15294 -4.44204 -0.434943 0.602003 -1.09466 0.890332 -1.26048e-06 -4.20049e-05 -0.00206503 -0.0558731 0.511643 0 0 0 0 0 -0.000400097 -0.0205301 0.000420339 0 0 0 0 7.43646e-06 0 -0.000223728 0 0 7.84496e-05 2.3617e-05 -6.81324e-05 0 -5.70599e-06 -2.38573e-05 -0.00338934 0 0 -0.015295 1.59362e-06 0 -0.000194682 0.00844121 0 0 -0.00105579 -0.00202733 0 -0.00485122 0 -0.000258614 0 0 -1.74562e-05 0 0 -0.029668 0.000103522 0.00123552 0 0.00574986 -0.00340928 0 0 -0.00702958 0 0.000905472 -0.00952596 -0.00122883 0 0 -0.000184774 -0.000698927 0 0.0021147 0.00219326 -9.42818e-05 0.0157117 -0.00238734 -0.00149032 0 0.00102565 0.000908357 0.008835 0.00192685 -0.00129122 0 0 0 -0.0354065 -0.0114457 0.00315763 0.00304373 -0.00447911 0.00406874 -9.51096e-05 6.41182e-05 -0.000130354 0.000407359 0 0 0 0 0 0 -0.303412 0 -0.161994 0 0 0 0 0.0432622 0.490054 0 0 0.221419 0 0.0350844 0 0.0130373 0 0 -0.102762 0 0.47613 -0.00880227 0.0278148 0.00262971 0 0 0.0711207 0 -7.91078 0 4.08505 -0.902744 0 0.300127 1.0255 0.0083645 0 -0.00259116 0 0 0.0719706 0 -2.51565 -1.00632 0 0 -0.0902857 0 0 -0.147945 0.402926 0.272569 0 0.533295 0 -0.372307 0.127272 -0.140386 -0.624008 -0.105541 0.448515 0.583601 0.128261 -0.239191 0.380212 0.187294 0 0 0 0.0974872 -0.138 0 0 0 0 -0.126012 -21.3569 -2.67969 -0.746717 -0.889296 0.641248 -1.5957 -0.172052 0.113217 -0.114423 -0.107862 0 0 0 0 0 0 +391 0 -1.04144 0.0588943 -0.00130095 -0.0954568 -0.0927468 -0.210362 0.921716 2.3055 -0.00414757 -0.536995 0.0364294 -0.369082 6.74283e-07 -0.562341 -6.25509e-05 1.57559 5.21357 -0.122589 0.00062132 -0.293329 -0.0213836 -0.0228722 -6.58414e-07 -0.151867 0.601312 0.415396 -0.00732033 0.341381 0.108625 -0.257874 -5.26746e-05 0.00777075 0.218821 0.00211979 0.266367 0.000609071 0.0219652 2.10318 0.0738133 -0.246749 5.83188e-05 0.304686 0.00129279 -1.45516 0.00491579 -0.308741 0.412616 0.0604797 -0.00207908 0.785898 -0.270055 -6.37236 -0.00120951 0.00135285 -0.000708944 -0.614067 -0.0230308 0.0172987 0.205945 -6.29001e-05 0.314489 -0.686281 2.31137 1.09956 0.0169038 -0.283201 0.619006 0.0667652 3.74984e-05 0.14472 0.0872333 -0.00795712 -0.0383412 0.272624 -0.159568 -0.19379 -6.66954 1.13368 -5.6233 1.06105 -1.26956 -0.742458 0.806579 -0.956182 1.2372 -3.61617 -4.92255e-06 -0.000133355 -0.0084131 -0.127641 -0.369409 0 0 0 0 0 -0.00130095 -0.0954568 0.00136777 0 0 0 0 1.89067e-05 0 -0.0012075 0 0 0.000293339 5.89529e-05 -0.000164846 0 -1.46959e-05 0.000211501 -0.011639 0 0 -0.044682 4.306e-06 0 -0.000718052 0.0670073 0 0 -0.00328362 0.010935 0 -0.0256497 0 -0.000650254 0 0 -4.56208e-05 0 0 -0.108758 0.000282327 0.00392846 0 0.0207967 -0.00166865 0 0 -0.0265522 0 0.00245499 0.0352085 -0.00124763 0 0 -0.000405403 -0.00254036 0 0.00489559 -0.00659132 0.000231366 -0.114867 0.00140856 -0.00505874 0 0.00362763 0.00226771 -0.0275509 -0.000677327 0.00938483 0 0 0 0.39921 0.00505566 0.0328879 0.00870623 -0.00733075 0.0120983 -0.000346179 0.000503934 -0.000538549 0.00151309 0 0 0 0 0 0 -0.0927468 0 -0.210362 0 0 0 0 0.0208906 0.777007 0 0 0.195264 0 -0.00342013 0 0.014222 0 0 -0.715323 0 -0.396098 0.0813286 0.00727483 -0.0802375 0 0 0.277966 0 -2.40511 0 1.01938 -0.377053 0 0.402126 -0.657419 -0.00615676 0 0.017134 0 0 0.0586144 0 -0.788911 -1.83653 0 0 -0.209071 0 0 -0.834169 0.278153 -0.101761 0 -1.10364 0 -0.903375 0.244685 -0.0967762 0.0754676 -0.108367 0.62228 0.691586 0.0838483 0.44108 1.96775 0.155095 0 0 0 0.267562 -0.0260579 0 0 0 0 -0.0814612 -18.5886 -1.52901 -3.02868 -0.586681 0.516667 -1.49634 0.0559272 -0.0525975 -0.0375907 -0.288037 0 0 0 0 0 0 +392 0 0.435763 -0.194955 -0.00012328 0.00768963 -0.107424 -0.136581 0.698094 -0.0110405 -0.0013247 0.341425 0.0270961 -0.605889 1.72613e-07 0.126752 -0.000119889 -1.43968 -2.95063 0.0904482 0.000133096 1.09721 0.0136157 0.261799 -2.38551e-07 0.0993508 0.0950617 -0.719296 0.00798535 0.597012 1.30451 -0.219896 -1.79806e-05 -0.000305693 -0.240737 0.0304892 0.28704 0.000320162 0.09737 -3.54254 0.0365838 0.0151173 1.20177e-05 0.255295 0.000484682 -0.617131 0.000793207 -0.390995 0.852877 0.0231994 -0.000768397 1.59245 0.190498 2.27379 -0.000211954 -0.000511076 -0.00852543 1.89699 -0.0408436 -0.00818287 -0.149063 -1.74888e-05 -2.69093 -0.257144 0.309331 1.51217 -0.0950473 -1.19207 -0.462134 0.0935403 2.18492e-05 -0.500342 0.0487683 -0.0272093 -0.105601 0.406054 -0.00540843 -0.331159 14.8825 -1.18588 4.74487 0.440013 -1.13623 2.70223 -0.14476 0.0686466 -0.483262 -0.140308 -1.02571e-06 -3.99622e-05 -0.00139571 -0.0522924 -1.81652 0 0 0 0 0 -0.00012328 0.00768963 0.00015538 0 0 0 0 3.27956e-06 0 0.000831048 0 0 1.63548e-05 7.85103e-06 1.30499e-06 0 4.42449e-07 3.23039e-05 0.00602351 0 0 -0.00676777 5.51079e-07 0 -0.000135206 0.049719 0 0 -0.00153438 0.00688283 0 -0.00694313 0 -9.54722e-05 0 0 -8.28095e-06 0 0 -0.0186223 4.6753e-05 0.000232128 0 0.00221844 -0.000913879 0 0 -0.00782133 0 0.000340778 -0.0132698 -0.000373703 0 0 -4.23126e-05 -0.000263095 0 0.000673 -0.000874544 3.80343e-06 -0.0375021 -0.000585994 0.00215 0 0.000332147 -0.000313304 -0.00489205 0.000615318 0.00218423 0 0 0 0.0306499 -0.00146477 -0.00327789 0.00116061 -0.00134738 0.00377781 -2.25696e-05 2.54118e-05 -2.77173e-05 -0.00284493 0 0 0 0 0 0 -0.107424 0 -0.136581 0 0 0 0 -0.183859 -0.538936 0 0 -0.311403 0 -0.025905 0 -0.0119814 0 0 0.517313 0 0.434593 -0.0851843 -0.115526 0.0363967 0 0 -0.230973 0 1.00095 0 -4.4497 0.11641 0 -0.480463 -0.714818 -0.00500514 0 -0.0299802 0 0 -0.0321998 0 0.77258 0.798653 0 0 0.0536137 0 0 0.525419 2.82938 0.326653 0 -0.345692 0 1.17339 -0.0962945 0.0402637 -0.273392 0.0659227 0.426448 -0.165226 -0.0643948 0.485973 -0.668006 -0.0869426 0 0 0 -0.148584 0.0283136 0 0 0 0 0.075268 35.6522 1.09883 7.37825 0.456481 -0.441518 2.73775 0.125928 -0.101499 0.102757 0.329644 0 0 0 0 0 0 +393 0 -1.00405 -0.281106 -0.000564715 -0.0300412 -0.197126 -0.0453378 -0.836388 -0.916037 -0.00194087 0.330202 0.00359255 -0.153758 4.53953e-07 -1.61774 5.23702e-05 -0.502335 -1.82327 0.0292255 0.000555989 1.59208 0.00202816 0.0368287 -5.81218e-07 0.0179658 -0.169656 -0.0781386 0.00414384 -0.0428382 -0.688971 -0.18265 -3.5006e-05 0.00247478 0.515297 0.0412648 -0.190015 0.000183327 0.0541715 3.56099 0.011159 0.732273 2.77631e-05 0.406307 0.000417683 -2.02377 0.00156209 0.351983 -0.221959 0.0228748 -0.000605618 -0.838226 0.203501 -0.976489 -0.000474223 0.000729136 0.00262809 -1.9959 0.22383 0.0332757 -0.0757262 -2.73802e-05 0.277945 -3.00675 -1.93526 -1.93094 -0.434184 -0.15352 0.231239 0.230035 2.85592e-05 -0.120624 0.240289 -0.000504841 -0.0897395 -0.748289 -0.29155 0.0815389 -9.2909 -0.387028 -2.52419 0.0324153 0.150884 -4.24938 -0.247436 0.488483 -0.913145 1.23648 -2.01997e-06 -3.9332e-05 -0.000642136 0.00639601 0.959389 0 0 0 0 0 -0.000564715 -0.0300412 0.000407683 0 0 0 0 9.4192e-06 0 -0.000807344 0 0 5.24708e-06 1.77025e-05 -7.60075e-05 0 -1.77843e-05 -0.000246511 -0.0040291 0 0 -0.00430963 1.2428e-06 0 -0.000258463 -0.00793919 0 0 0.00109713 -0.00886826 0 -0.00656327 0 -5.38736e-05 0 0 2.03797e-05 0 0 -0.0528971 0.000134334 7.2564e-05 0 0.00583851 -0.00411663 0 0 -0.0079132 0 0.00101723 -0.00300555 -0.00120534 0 0 -0.000112141 -0.000612655 0 0.00250634 -0.00528079 0.000137679 0.0199318 -0.00238511 -0.0036094 0 0.00303728 0.00175298 0.000527344 0.00241212 0.000681545 0 0 0 0.0807495 -0.0051873 0.0104318 0.00462636 -0.0053935 0.00589391 -2.97856e-05 2.78894e-05 -3.40138e-07 0.00120913 0 0 0 0 0 0 -0.197126 0 -0.0453378 0 0 0 0 0.0850888 0.427152 0 0 0.299572 0 0.035625 0 0.0133871 0 0 -0.580136 0 0.130958 -0.00833405 0.0906287 -0.101157 0 0 0.141377 0 -2.97064 0 5.71367 -0.366113 0 0.308023 1.31999 0.00841374 0 -0.00406713 0 0 0.0548238 0 -1.07475 -1.18161 0 0 -0.200347 0 0 -0.367764 -2.69229 0.238088 0 -1.22295 0 -0.879087 0.128634 -0.172802 -0.549139 -0.0726638 0.404177 0.289057 0.0771886 0.0940755 -3.93124 0.168271 0 0 0 0.113337 -0.103081 0 0 0 0 -0.084552 -26.3733 -2.67774 -1.08037 -0.925635 0.760247 -2.35005 -0.183795 0.136342 -0.156638 -0.0421412 0 0 0 0 0 0 +394 0 -1.01838 -0.143099 -0.00150383 -0.0831842 -0.185889 -0.20231 -0.0191326 0.480255 -0.00694655 -0.277569 0.0413815 -0.639561 1.28073e-06 -1.66119 8.75392e-07 -1.19754 -4.99669 -0.0447321 0.00158312 -3.20992 -0.00652972 -0.0643242 -1.63518e-06 -0.0958898 0.328643 -0.274379 0.00277024 0.309344 -0.981453 -0.363896 -0.000108151 0.00782404 0.0567406 0.0838992 0.136766 0.000730129 0.0613068 1.33538 0.0715874 -1.4679 8.67229e-05 0.528586 0.00138207 -3.56732 0.00570475 -0.7352 0.00880269 0.102591 -0.00252627 -1.66943 -0.030614 3.28908 -0.00153359 0.00155107 -0.000479603 1.00049 -0.111515 0.0545401 0.083413 -0.000101985 0.12339 1.40279 -0.95237 -1.59429 -0.0743177 -0.256252 0.558183 0.101425 0.000105874 0.239475 0.0498572 -0.0217903 -0.170743 1.76826 -0.716484 -0.482729 -6.34402 0.909889 -2.28769 0.778435 -0.211046 -0.908477 0.650492 -0.64908 0.615094 -1.01055 -7.37694e-06 -0.000163577 -0.00333735 -0.0296636 1.36667 0 0 0 0 0 -0.00150383 -0.0831842 0.00156581 0 0 0 0 2.49999e-05 0 -0.00382757 0 0 0.000492652 0.000108509 -0.000262217 0 -5.76947e-05 -0.000498044 -0.01722 0 0 0.00322788 7.60909e-06 0 -0.000700963 0.074453 0 0 0.00349733 -0.00655173 0 -0.0146591 0 5.15452e-05 0 0 7.43331e-05 0 0 -0.119497 0.000355843 0.00704093 0 0.0221819 -0.00402318 0 0 -0.0374526 0 0.00236124 -0.00958113 -0.00209662 0 0 -0.000520343 -0.00308922 0 0.00731158 -0.00220911 -0.000744024 -0.0662815 -0.00427297 -0.00645854 0 0.00697385 0.000780381 -0.00654601 -0.00187991 8.84073e-05 0 0 0 0.206694 -0.0190356 0.0352827 0.0117167 -0.0131368 0.0145708 -0.000512781 0.000620038 -0.000903639 0.00170782 0 0 0 0 0 0 -0.185889 0 -0.20231 0 0 0 0 0.148198 0.524114 0 0 0.156561 0 -0.00481871 0 0.00908092 0 0 -0.766552 0 -0.108996 0.0982314 0.0483378 -0.0725233 0 0 0.231952 0 -8.2909 0 2.92113 -1.09727 0 0.679752 0.286899 -0.000981147 0 0.0163505 0 0 0.0258287 0 -2.88451 -1.77576 0 0 -0.169618 0 0 -0.486078 -1.34611 -0.172566 0 0.720827 0 -1.32936 0.160814 -0.0721712 0.367373 -0.229106 -0.0634592 0.520599 0.117472 -0.147835 5.49432 0.158304 0 0 0 0.193475 -0.0200997 0 0 0 0 -0.0717347 -23.6791 -0.771564 -4.82104 -0.628017 0.51852 -1.71666 0.0557702 -0.0600169 -0.0405442 -0.333515 0 0 0 0 0 0 +395 0 0 0 0 0 -0.206969 0.138937 -0.502735 -0.96387 0 0 0.190686 0.973854 0 1.22732 0.035152 0 0 0 0.109323 3.64768 0 0 0 0 -0.239459 0 0 -0.278306 -3.82105 0.336074 0 0.241847 0 0 -0.0879463 0.0127807 0 0 0.817269 0.256681 0 0 0.15628 4.77613 0 -0.0666899 -1.10358 0.414551 -0.239789 0.99416 -0.340594 0 -0.149531 0.230963 -0.34508 -0.151509 -0.147591 -0.128798 0 0 -0.164433 2.93725 0 -0.54497 -0.288299 -0.162632 0 0 0 0 0.256452 0.354416 0 -0.0956857 1.4465 0 0 0 1.04452 0 -1.29509 4.47858 0 -0.337738 -1.04067 5.31546 0 -0.41962 -0.753433 0.0662634 6.85696 0 0 0 -0.209097 -0.020967 0 0 0 0.0577037 0.00514182 0 0.00721379 0 4.5702e-05 -0.00946209 0 0 0 0 -0.08845 0 -0.00910756 0 -0.0813314 0 0.437194 0.326393 0 0.00348991 0 0 0.260547 0.000261728 0.0320971 0 7.90896e-05 0 0.000198369 0.0607033 0.0307974 0.00406784 0.00605969 0 2.89394e-06 0 0 0 3.35668e-06 0 0 -0.000397272 -0.000318108 0.0441112 0.00136026 0 0 9.11161e-05 0 -0.000853807 0 0 1.97167e-05 0.00126217 0.191154 0.00224893 0 0 -0.0248713 0.0618904 0.00187871 0.20344 0.228399 0 -0.128055 0.000198261 0.17542 0 0 0 0.0738957 0 -0.00401141 -0.247648 0 0.000205712 -0.000503671 0.00121434 0 -0.000248114 0.000210154 -0.000800353 -0.216558 0 -0.206969 -0.209097 0.138937 -0.020967 0.503763 0.135864 -0.146173 0.0985813 -0.384482 0.0101163 0.00714261 -0.188398 0.000727123 -0.0230455 -0.0121883 -0.00306476 0.000275877 0.131935 -0.262531 0.82422 0.114321 -0.0180553 -0.124809 -0.000731524 0.0201345 -0.122621 0.0151456 -0.00308796 0.241781 0.0969145 -0.443921 0.680764 -0.00092047 -0.389496 0.0740027 -0.0125023 0.000469252 0.033289 0.0165361 -0.994354 -0.0381286 -0.011012 1.04026 0.731515 0.000359872 0.00668236 0.159848 0.0569386 -0.0535241 -0.951504 -2.32351 -0.192849 -0.00351447 -4.64502 0.0199572 -0.702524 -0.0792785 -0.13045 0.22636 -0.380993 -1.63547 -0.00473846 0.0880084 0.0254772 -12.4508 0.0793314 -0.00388385 0.0858503 0.101133 -0.146678 0.0490062 0.0260955 -0.0207039 0.0335031 -0.110664 0.0628377 3.95847 0.748009 0.26607 -0.564695 -0.0928531 2.4863 0.0373242 -0.0682229 -0.454532 1.46299 -0.013992 -0.0205516 -0.119125 -0.0678504 1.29465 0 +396 0 0 0 0 0 -0.102809 -0.178262 1.11301 2.6775 0 0 -0.125795 -0.663817 0 -1.99147 0.00482634 0 0 0 -0.00366031 -4.13782 0 0 0 0 0.542363 0 0 0.347348 5.97667 -0.444224 0 0.0170485 0 0 0.205816 -0.00461531 0 0 -0.367765 -1.07223 0 0 -0.00619684 -4.16025 0 -0.414405 1.81309 -0.133844 0.0187306 0.677573 0.209665 0 -0.0427482 -0.140423 0.394616 -1.79324 -0.252459 -0.0500321 0 0 1.31058 0.265076 0 1.216 -0.206152 0.470514 0 0 0 0 0.204831 0.177559 0 0.867552 -1.55371 0 0 0 -3.94574 0 0.560626 -8.69637 0 0.0962347 -0.586537 -5.22433 0 0.12233 -1.10351 2.75284 -15.7673 0 0 0 0.0235389 0.00177376 0 0 0 -0.0100551 -0.00153992 0 -0.00100186 0 -7.62842e-07 0.00367411 0 0 0 0 0.0134219 0 0.00101631 0 0.0589449 0 -0.10317 -0.117807 0 4.39336e-05 0 0 0.0121782 -1.97808e-05 -0.0076444 0 -1.53708e-05 0 -9.59066e-05 -0.0121751 0.00114027 -0.000334159 -0.000812032 0 -3.45715e-08 0 0 0 -9.1906e-07 0 0 2.53536e-05 -0.000116392 0.0201446 0.000422988 0 0 0.000115756 0 0.000190997 0 0 -3.31164e-05 -4.97975e-05 -0.0943459 -0.000130415 0 0 -0.00876596 -0.0267689 -0.000238547 -0.0401737 -0.0714869 0 0.0161005 -2.84494e-05 -0.0795019 0 0 0 -0.0489261 0 0.00101041 -0.00853148 0 8.33496e-05 0.000379663 -0.0268263 0 6.14811e-06 -7.39987e-06 0.000116541 -0.0114045 0 -0.102809 0.0235389 -0.178262 0.00177376 -0.310145 -0.156491 0.0123466 -0.332943 0.418933 -0.000773847 -0.0325729 0.236666 -5.87127e-05 0.0148568 0.00101056 0.0161349 -0.0232022 -0.00932445 0.394567 0.28146 -0.483588 0.228799 0.176768 0.0324381 -0.23007 0.379929 0.272563 0.0108551 3.08218 -0.187081 -1.59537 0.243882 7.59627e-05 0.296346 -0.946818 0.010641 -0.00258919 0.00301936 -0.0263611 1.94627 0.0256683 0.0682269 1.1917 1.16208 -0.00339293 -0.017052 0.204159 0.0662053 -0.167405 0.494577 2.9749 1.51044 0.0284389 3.02194 -0.0016254 1.5781 0.046371 -0.375301 0.223572 -0.0916117 1.37485 -0.246849 0.1249 0.351066 12.3775 0.163292 0.427511 -0.0731699 -0.259227 0.0337798 -0.0292386 0.0786462 0.00148857 -0.160771 0.103861 -0.0413267 14.2261 -1.38571 2.35947 0.12617 0.654559 -6.54984 -0.0144814 0.223557 -0.618035 -1.44059 0.000988883 0.0940454 -0.322462 0.668691 -2.86103 0 +397 0 0 0 0 0 -0.389912 -0.555887 0.574155 2.36299 0 0 -0.289972 -1.70821 0 -3.35029 -0.0127614 0 0 0 0.112484 -6.87111 0 0 0 0 0.516601 0 0 0.805633 4.95195 -0.861207 0 0.0175532 0 0 0.348999 -0.0378089 0 0 -0.846174 -2.55868 0 0 -0.234414 -6.9519 0 -1.24703 1.56647 0.665653 0.31254 -1.36167 0.0590486 0 -0.150549 -0.106157 0.237775 4.62277 -0.102403 -0.364743 0 0 0.554175 4.87928 0 0.957958 0.646136 0.433125 0 0 0 0 -0.00586437 -0.583081 0 5.12668 -0.784562 0 0 0 -3.55488 0 0.666793 -6.08201 0 0.434854 -1.43327 -2.3147 0 0.873054 -2.50985 5.14313 -16.4262 0 0 0 -0.0322727 0.00455319 0 0 0 -0.0198791 0.0205666 0 -0.00181603 0 -1.80868e-05 0.0029076 0 0 0 0 0.00379149 0 0.00175386 0 0.0296813 0 -0.195381 0.10679 0 -0.00044953 0 0 -0.0172241 -0.000222366 0.00168017 0 0.000259234 0 0.00113917 0.0333324 -0.000109214 -0.00245641 0.00150932 0 -1.89516e-06 0 0 0 1.40882e-05 0 0 0.00118767 0.000609755 0.0191506 -0.00336839 0 0 -0.000336939 0 -0.00295449 0 0 0.00209118 -0.00171852 -0.081727 -0.000601698 0 0 -0.00803298 -0.0240762 0.00448635 -0.0248338 -0.0969364 0 -0.000801563 -0.00183973 -0.0478395 0 0 0 -0.0393776 0 0.000184189 0.0124084 0 -0.00068264 4.99299e-05 -0.00696113 0 0.000451274 -0.00057513 0.000839242 0.0224615 0 -0.389912 -0.0322727 -0.555887 0.00455319 -0.377425 -0.128632 0.0494678 0.211547 -0.0575194 -0.00290361 0.0627307 0.0910335 -0.000197016 0.00102346 0.0037132 -0.009996 0.0408001 -0.0389589 -1.15543 -2.09716 -0.308081 0.27975 0.0502259 -0.157524 0.52027 0.287137 -0.18542 -0.0363429 -6.07726 -0.230572 -1.6264 -1.97728 0.000257545 1.29925 -0.717833 0.000652292 -0.0132871 0.0984963 -0.0891604 1.62357 -0.00191676 0.0445994 -4.22162 -2.30188 0.00337439 -0.04728 -0.345905 -0.276378 0.19052 1.2949 5.20248 0.556819 -0.143222 4.55663 -0.00793624 4.00264 0.00472428 0.40763 -0.409092 0.431185 0.3266 -0.547085 0.0086532 -0.155555 21.8215 -0.131694 -0.298455 -0.101313 -0.282121 -0.370728 0.00376137 0.0139169 0.00715006 0.0886324 0.20757 0.00857172 14.5027 -0.742832 -2.83935 0.259941 0.22485 -3.67057 -0.0128986 0.322965 -0.746681 -1.04008 0.00413169 0.320072 -0.793582 1.04687 -2.47773 0 +398 0 -0.409091 0.49951 -0.0265395 -0.250865 0.326582 0.23311 0.185582 -0.530555 -0.125737 0.606038 -0.147242 0.738132 0.00104024 0.189845 0.00558225 4.00916 13.3403 0.0485994 0.0141173 1.07198 -0.00385952 -0.328618 -0.00115176 0.0786258 -0.180055 1.2399 0.0229462 -0.229152 0.638769 0.166694 -0.0125187 -0.0196419 -0.500297 0.0278959 -0.0613897 -0.0129023 0.104844 -0.469679 -0.367751 0.913703 0.0128273 0.113738 -0.0351155 1.7729 0.150595 0.75047 0.0615642 -0.00279337 0.065282 0.0187918 0.11132 -8.10712 -0.0278313 -0.00698505 -0.0134095 -0.714436 0.0941808 -0.015375 -0.0626749 -0.0186633 -0.893777 -0.439352 -0.0108704 0.849487 -0.357137 0.457533 -0.237824 0.281723 0.00798588 -0.211414 -0.264578 -0.165467 -0.211973 1.10568 0.283322 -0.106539 0.664158 -2.57218 2.84027 -1.06638 0.785045 -0.244771 -0.258142 0.0218447 -0.248106 -0.0732743 -0.0234055 0.0693416 -0.203041 0.54751 -1.30135 0 0 0 0 0 -0.0265395 -0.250865 0.000887263 0 0 0 0 5.21642e-05 0 0.023469 0 0 0.000547564 0.000197889 0.0178699 0 0.00261524 0.0244172 0.158369 0 0 0.167565 1.09243e-05 0 -0.0219613 0.838902 0 0 0.0259767 0.150798 0 -0.102101 0 0.0219854 0 0 0.00324904 0 0 -0.066394 0.00105136 0.00904396 0 0.0187372 -0.0024894 0 0 -0.1299 0 -0.000292136 -0.13827 0.000375548 0 0 -0.000677016 -0.00275091 0 0.000541008 0.043003 0.00259346 0.38708 0.00194637 0.0330712 0 0.00172648 -0.0453257 0.0877927 0.0119654 0.141945 0 0 0 -0.0221421 -0.022763 -0.152753 -0.00147973 -7.67695e-05 0.0352676 -0.000520808 0.000542585 -0.00208314 -0.0641473 0 0 0 0 0 0 0.326582 0 0.23311 0 0 0 0 -0.537918 -0.163719 0 0 0.661965 0 0.0630593 0 -0.00289978 0 0 0.0981057 0 -1.18003 -0.169539 0.159949 0.00707869 0 0 -0.121553 0 0.994662 0 -2.60959 0.0934409 0 -1.3156 -1.85372 0.0140089 0 -0.0713357 0 0 -0.00120638 0 0.0171888 0.336177 0 0 0.0119451 0 0 0.147847 1.38281 0.467273 0 1.22375 0 1.00936 0.253681 -0.237342 -0.011202 0.0218155 -0.386729 -0.271674 0.0791939 0.41763 10.0198 -0.074878 0 0 0 -0.0179644 -0.0328035 0 0 0 0 0.032233 19.5768 -4.97924 11.0672 -0.796004 0.409125 1.55945 -0.262717 0.247205 -0.396748 0.887934 0 0 0 0 0 0 +399 0 -0.3779 -0.228949 0.00616345 0.0805893 -0.0949238 -0.0145801 0.0410366 0.733263 0.03079 -0.251581 0.147248 -0.382729 -0.000215113 -0.558595 0.00290564 -0.0186543 -4.21869 0.0156476 0.0042051 0.134799 -0.00307805 -0.156802 0.000236833 -0.02904 -0.081084 0.125991 0.00356435 -0.435372 -1.52674 -0.0968954 0.00269898 0.120709 0.292396 0.145162 -0.218778 0.00775258 -0.0637178 1.90119 0.223376 0.21629 -0.00253821 0.17308 0.0137294 -2.65501 -0.0296765 0.210047 -0.804425 0.175741 -0.0158951 -2.07869 0.0818861 -3.40954 0.035384 0.0262696 -0.070711 1.47003 0.121651 -0.129506 0.0616655 0.00279477 -0.550812 0.172651 1.17414 -0.339868 0.588418 -0.687523 -0.0833199 -0.251527 -0.000863839 0.593205 0.165971 0.0430316 0.0911152 0.365262 0.136996 -0.399276 -7.51836 -0.39074 -2.54705 -0.370132 -0.266394 0.507948 0.295063 -0.4061 0.639019 -1.2678 0.00461232 -0.0253915 0.148873 -0.640804 3.11039 0 0 0 0 0 0.00616345 0.0805893 -0.000450685 0 0 0 0 -1.79555e-05 0 -0.00454638 0 0 -0.000154719 -7.5928e-05 -0.00282214 0 -0.000397917 -0.00664539 -0.0290248 0 0 -0.09757 -4.46855e-06 0 0.00607181 -0.497484 0 0 -0.0133408 -0.0637943 0 0.0306421 0 -0.00833271 0 0 -0.00115505 0 0 0.111483 -0.000358108 -0.00261107 0 -0.00852986 -0.00192413 0 0 0.0353258 0 -0.000228174 0.0754393 0.000535544 0 0 0.000137071 0.00119746 0 -0.00115518 -0.0389705 0.00224919 -0.487338 -0.000618363 -0.0176833 0 -1.13564e-05 -0.00457901 -0.139325 -0.00670281 -0.0669 0 0 0 0.278368 0.0394653 0.075385 0.00267278 0.00256565 -0.058388 3.68516e-05 0.000318436 -0.00116435 0.00925112 0 0 0 0 0 0 -0.0949238 0 -0.0145801 0 0 0 0 0.468504 -0.150166 0 0 -0.418958 0 -0.0368979 0 -0.00716088 0 0 -0.734621 0 -0.149046 0.167161 -0.149517 -0.0918444 0 0 -0.0289347 0 -6.38946 0 1.18293 -0.330842 0 1.09456 0.248372 -0.0121333 0 0.0681652 0 0 -0.0216794 0 -1.63332 -1.93134 0 0 -0.256916 0 0 0.349972 1.16397 -0.576319 0 -0.399854 0 0.123518 -0.0974966 0.198958 0.124168 0.0436275 -0.440599 0.0494041 -0.131474 -0.276494 -1.94284 -0.0772594 0 0 0 -0.250645 0.108268 0 0 0 0 0.0933742 -4.95789 2.20276 -5.72324 0.0454336 -0.0646977 -0.337682 0.136648 -0.1746 0.345259 -0.806428 0 0 0 0 0 0 +400 0 -0.794587 -0.1544 0.00440279 -0.109567 0.0972266 0.134655 0.376573 0.96787 0.0814954 -0.725169 0.0781497 0.0687158 -0.00050007 0.155675 -0.0118201 0.360522 0.537022 -0.19114 -0.0156148 1.52087 -0.0413962 0.141423 0.000741664 -0.279329 0.0746662 0.159534 -0.0171471 -0.460964 -0.766158 0.173824 0.00842552 -0.171208 0.452533 0.0253403 -0.0861767 0.00760739 -0.0150174 2.16837 0.178131 1.03861 -0.00577518 0.641255 0.0199956 -1.13494 -0.0481686 0.571949 -0.515113 -0.211397 -0.0785652 -0.112902 -0.175813 -4.04527 0.0182843 -0.0262134 0.031107 -2.13028 -0.172845 0.140646 0.268701 0.0183706 -0.160157 -1.74794 1.502 -0.0200179 0.185481 -0.253616 0.0637612 -0.148126 -0.0234733 0.489169 -0.080583 0.252771 -0.0128817 -0.428171 0.136696 0.182473 -5.4921 1.09968 -3.12084 0.548244 -0.988224 0.600134 0.916285 -1.14174 1.65476 -2.29773 0.00748636 -0.026881 0.108604 -0.388838 1.56087 0 0 0 0 0 0.00440279 -0.109567 0.00248331 0 0 0 0 0.000115874 0 -0.000419159 0 0 0.00016357 0.000312809 -0.00753716 0 -0.000796352 -0.00837291 -0.0506608 0 0 -0.290384 1.41686e-05 0 0.00950947 -0.129964 0 0 -0.0387315 -0.0472552 0 0.0353603 0 -0.0201718 0 0 -0.00287687 0 0 0.203203 0.00229425 0.00594039 0 0.048103 -0.00916299 0 0 0.0756441 0 0.000554801 0.103166 -0.0014923 0 0 0.00104397 -0.00719187 0 -0.0017833 -0.0211467 -0.000512326 -0.747375 -0.00311179 -0.0143167 0 0.00118349 0.0229864 -0.218066 0.0236307 -0.0552099 0 0 0 -0.899158 -0.0574011 0.0170238 -0.0028613 -0.00331667 -0.0433158 0.000338035 -0.000641629 -0.00283815 0.0278166 0 0 0 0 0 0 0.0972266 0 0.134655 0 0 0 0 0.294992 0.711811 0 0 -0.256872 0 -0.047328 0 0.0108355 0 0 0.314505 0 0.107918 0.0572375 -0.24558 0.0374882 0 0 0.161664 0 5.72527 0 2.80508 1.23019 0 0.524632 0.552533 -0.0276722 0 0.025113 0 0 0.0628789 0 2.84369 -0.137368 0 0 -0.021326 0 0 -0.347007 -1.76238 -0.0569088 0 -1.16056 0 -1.27315 0.0529459 -0.0776874 0.175166 -0.142071 0.312931 0.64141 0.00422104 -0.450965 -10.6617 0.149564 0 0 0 0.165635 0.0155648 0 0 0 0 -0.206906 -23.8979 0.695189 -5.27717 -0.418663 0.581531 -2.17403 0.17518 -0.167944 0.193919 -0.412428 0 0 0 0 0 0 +401 0 0.713939 -0.0394151 0.000386315 -0.0576316 0.157569 -0.136752 -0.131715 -0.440663 0.00465292 -0.268624 0.026544 -0.676195 -1.70017e-05 -0.511192 -0.00257244 -1.17482 0.11401 -0.064879 -0.00549888 -0.777487 -0.00926832 0.277755 1.36337e-05 -0.0454575 0.201107 -0.533154 -0.0139554 0.495305 0.825494 -0.371127 0.000323372 -0.106373 -0.0946399 -0.0446533 0.204967 0.000972984 -0.00428387 -2.30815 -0.0083574 -0.842063 -0.000468534 -0.0576103 0.000258634 -0.012024 -0.0108683 -0.750867 0.534108 -0.188415 -0.00181544 0.0617981 -0.189516 2.41656 0.00957295 -0.00139283 -0.0203113 -0.624478 -0.0777442 0.032154 0.0841007 0.00101207 0.397669 0.368215 -0.677641 0.0163758 0.169626 0.467252 0.0524306 0.00666503 -0.000614119 -0.161379 -0.204482 0.0250518 0.00609525 0.0697368 -0.156954 0.208939 6.13885 -0.569769 3.95168 -0.167543 -0.0845016 2.66775 0.0601523 -0.273606 0.609019 0.287988 0.000116729 -0.000155047 -5.66304e-05 0.0185507 -0.664815 0 0 0 0 0 0.000386315 -0.0576316 -0.000369281 0 0 0 0 -2.93546e-05 0 0.00724873 0 0 0.000504991 0.000273004 0.00100731 0 0.000114982 0.00149951 0.0499518 0 0 0.116205 1.88933e-05 0 -0.000661096 0.24975 0 0 0.0157863 0.0339594 0 -0.0255726 0 0.00405662 0 0 0.000502305 0 0 0.00693795 -0.000402176 0.00774367 0 -0.00315861 0.00817346 0 0 -0.0414475 0 -0.00141978 -0.0498543 0.00209985 0 0 -0.000788086 0.000194946 0 -0.00179072 0.0394709 0.00122282 0.279551 0.00711702 0.018113 0 -0.00365462 -0.00878213 0.060731 0.0018746 0.0595895 0 0 0 -0.122761 -0.0110078 -0.0564684 -0.0068428 0.00628159 0.0254032 -0.000527766 0.000513001 -0.000915445 -0.0202983 0 0 0 0 0 0 0.157569 0 -0.136752 0 0 0 0 0.058406 0.409639 0 0 0.0496839 0 -0.00572969 0 0.00412288 0 0 0.159868 0 0.736383 -0.0531342 -0.0621127 0.00322033 0 0 0.0806375 0 3.38195 0 -0.837409 -0.519037 0 -0.323359 0.656229 -0.00819985 0 0.000173841 0 0 0.0307584 0 -0.317773 0.785046 0 0 0.0602092 0 0 0.0314282 -0.524758 0.0885225 0 0.0416367 0 -0.256234 -0.0266487 0.0271564 0.0753029 0.0413925 0.581767 0.11757 0.00512909 -0.524359 -6.02713 0.0288598 0 0 0 0.0926248 -0.0217151 0 0 0 0 -0.120411 -8.02844 -0.450451 -0.565941 0.191376 -0.0316044 -0.162794 0.0791999 -0.0708374 0.012392 0.176591 0 0 0 0 0 0 +402 0 -0.423442 -0.205751 0.000134275 0.0139073 -0.195681 -0.130158 0.294874 1.37677 -0.000321506 -0.265593 -0.0180842 0.549431 -5.49354e-07 1.95023 -0.00199018 0.052994 0.475871 -0.053942 -0.00280134 2.36667 -0.000861194 0.274175 4.88116e-07 -0.0148586 0.39979 -0.0275661 0.00139938 0.229515 -0.422997 0.401522 5.93841e-06 -0.0862809 0.622813 -0.05529 0.214945 -0.000693954 -0.0240934 2.66014 -0.0243955 0.88902 -3.30432e-05 -0.363597 -0.00102573 2.80184 -0.0019028 0.138753 0.00582824 -0.124839 0.00189169 -1.95038 0.0380432 -4.33359 0.00225516 -0.00133733 -0.00936992 -0.908337 0.000249336 0.059624 0.0200519 4.57873e-05 0.411392 -1.59532 -0.728926 -2.17826 0.474554 -0.483317 0.182271 -0.175786 3.86688e-05 0.223132 -0.0802651 -0.0381251 -0.00680176 -2.00966 -0.016489 -0.059527 -7.98584 0.747939 -4.45463 -0.262337 0.379154 -2.10743 0.137273 -0.22649 0.639573 -2.51583 2.04367e-05 9.60054e-05 0.00303778 0.0020423 0.340662 0 0 0 0 0 0.000134275 0.0139073 -0.000500693 0 0 0 0 -1.24038e-05 0 0.000649376 0 0 -0.000399752 -0.000133846 0.000179758 0 2.1618e-05 -0.000355347 0.00589972 0 0 0.00746042 -9.30267e-06 0 0.000181014 -0.0203814 0 0 0.000729547 -0.0072899 0 0.00293805 0 0.000255388 0 0 2.67459e-05 0 0 0.00550603 -0.000178106 -0.00594751 0 -0.00743363 0.000700778 0 0 0.00175603 0 -0.00104986 -0.0129054 0.000653976 0 0 0.00081581 0.000827484 0 -0.00224788 -0.00479179 -0.000864029 -0.00991997 -0.00170193 0.00104157 0 -0.000646961 -0.00231061 0.0021887 -0.000795511 -0.00487185 0 0 0 0.136592 0.0186849 0.00954306 -0.000286484 0.00207058 -0.00441067 0.000480376 -0.000453045 0.000686148 -0.00135421 0 0 0 0 0 0 -0.195681 0 -0.130158 0 0 0 0 0.686197 -0.657021 0 0 -0.308119 0 -0.0239605 0 -0.0172575 0 0 0.537806 0 0.846954 0.230584 -0.113724 0.0848315 0 0 -0.28182 0 4.72398 0 4.34367 0.464092 0 1.59092 1.83578 -0.00757228 0 0.0965186 0 0 -0.0472328 0 1.4558 1.12279 0 0 0.159417 0 0 -0.216128 -2.22308 -1.09611 0 -2.38838 0 -1.26581 -0.174478 0.330045 -0.0575367 0.00735397 -0.0928408 0.178355 -0.102116 -0.291579 -11.159 -0.01418 0 0 0 -0.119496 0.0579531 0 0 0 0 0.0331591 -31.8592 2.25221 -11.3892 -0.0799396 0.365627 -2.49594 0.10465 -0.144268 0.284474 -1.11272 0 0 0 0 0 0 +403 0 -0.538312 -0.329146 -0.00548801 -0.145442 0.0625674 0.129067 0.350701 0.946747 -0.0340772 -0.654875 -0.0944315 0.512542 3.28255e-05 1.57098 -0.00376869 -0.425505 0.135873 -0.253751 -0.00178126 2.88326 -0.0378907 0.132358 -4.43297e-05 -0.180067 0.0667811 -0.275985 -0.0127386 -0.279673 0.0704116 0.261601 -0.00128944 -0.074312 0.250707 -0.157149 -0.117473 -0.00335214 0.0450088 1.56185 -0.121714 1.60574 0.000985406 0.0497799 -0.00353928 2.50912 0.0299381 0.789863 -0.0492502 -0.0206635 0.00607878 -0.0241976 -0.181665 -2.52091 0.00267692 -0.000730562 0.0296843 -3.38629 -0.291617 -0.0453205 0.166144 -0.0015354 1.11619 -2.29179 1.39809 -0.619821 0.212605 0.00864193 0.755256 -0.160043 0.00167694 0.102751 0.112582 -0.0141891 -0.0624717 -2.81678 0.0967042 -0.520025 -5.62064 1.60826 -4.72599 0.905057 -1.07378 -0.222501 0.856593 -0.98074 1.4233 -2.28173 -0.000321546 0.00120435 -0.0124335 0.0503065 -0.0567062 0 0 0 0 0 -0.00548801 -0.145442 0.00213318 0 0 0 0 7.76291e-05 0 0.00361331 0 0 -0.000911609 -0.000668416 -4.92678e-05 0 0.000133432 0.000242263 -0.00452846 0 0 -0.195541 -4.72696e-05 0 -0.00175886 0.0196065 0 0 -0.0229681 -0.00168849 0 -0.0159936 0 -0.00701081 0 0 -0.000799685 0 0 -0.0230075 0.00112761 -0.0122026 0 0.0332003 -0.0136786 0 0 0.0246943 0 0.00348766 0.0278611 -0.00479987 0 0 0.00218018 -0.0042476 0 0.00102124 -0.0320933 -0.00495543 -0.196002 -0.00960958 -0.00142652 0 0.00379566 0.00881188 -0.0380216 0.00849549 -0.0104964 0 0 0 -0.18201 -0.017487 -0.00370533 0.00702986 -0.0105379 -0.00541715 0.00130126 -0.00164466 0.00155056 0.00495987 0 0 0 0 0 0 0.0625674 0 0.129067 0 0 0 0 0.108087 0.531685 0 0 0.00981078 0 -0.024052 0 0.0162714 0 0 0.315798 0 0.366716 0.0546169 -0.0211344 0.0371925 0 0 0.218321 0 3.31034 0 3.3388 0.981556 0 0.375489 0.869998 -0.0120181 0 0.0171294 0 0 0.0464132 0 2.11124 0.188079 0 0 0.0334052 0 0 -0.359237 -0.595936 -0.156863 0 -1.3329 0 -1.18183 -0.0728397 0.0114015 0.293515 -0.202955 0.23931 0.508438 0.153099 -0.527955 -10.6934 0.170893 0 0 0 0.0949829 -0.0357319 0 0 0 0 -0.11425 -29.2532 -0.0999146 -5.70373 -0.073349 0.205957 -2.10744 0.261855 -0.215916 0.0471738 -0.270671 0 0 0 0 0 0 +404 0 0 0 0 0 0.161461 -0.422499 0.669863 1.42924 0 0 -0.366387 -1.76548 0 -3.30335 -0.0307054 0 0 0 -0.0360551 -3.03368 0 0 0 0 0.433658 0 0 0.697222 3.0286 -0.83383 0 -0.514299 0 0 0.236253 -0.0239145 0 0 -0.32934 -1.64335 0 0 0.0579399 -7.81105 0 -1.0539 1.42457 -1.13717 -0.134986 -0.512977 0.101707 0 0.0444242 -0.169771 0.489582 1.30838 0.241643 0.278342 0 0 1.88424 2.10825 0 0.811807 -0.0176973 0.310728 0 0 0 0 0.354719 -0.255719 0 3.58038 -0.903349 0 0 0 -2.36317 0 0.349444 -4.7739 0 -0.150082 -0.499452 -1.91901 0 -0.0370303 -1.00575 3.47333 -11.8493 0 0 0 -0.0277982 -0.00260959 0 0 0 -0.00618161 0.0428878 0 -0.000661155 0 0.000688597 0.000849492 0 0 0 0 -0.0252827 0 0.000850196 0 -0.0499226 0 -0.0231065 0.282015 0 -0.000967364 0 0 -0.0760152 0.00145584 0.0149014 0 0.00281254 0 0.00306485 0.0841263 -0.0107695 0.0201347 0.00323223 0 5.01217e-05 0 0 0 0.000200846 0 0 -0.00147763 0.00098233 -0.120082 -0.00436577 0 0 -0.00537073 0 -0.00658187 0 0 0.0172706 0.00597032 0.0268994 0.00727685 0 0 0.0035498 -0.000191396 -0.00202433 -0.0439923 -0.0893032 0 0.0474749 -0.000307986 0.0586469 0 0 0 0.196815 0 -0.0263138 0.0773419 0 0.00189712 -0.00746252 0.026751 0 -0.00141532 0.00712796 -0.0182851 0.0408769 0 0.161461 -0.0277982 -0.422499 -0.00260959 0.0540513 -0.1285 -0.0400966 -0.106282 -0.730454 0.00234075 -0.00111618 0.0218587 0.000106741 0.00407434 -0.00202598 -0.0124982 -0.0144351 0.0522217 -1.08167 -1.13734 -0.368445 -0.0141736 0.0723337 -0.266995 -0.262551 0.135529 -0.401585 -0.0441205 -5.43583 -0.232574 -1.36794 -1.22913 -8.98457e-05 0.0938317 -0.742741 0.00458207 -0.00287484 -0.0293348 -0.0326204 0.894157 -0.0211253 0.0204829 -2.65703 -3.39351 0.0033005 -0.0167584 -0.74095 -0.239835 -0.162663 2.21162 4.1027 -0.0135106 0.0619472 2.6196 0.00720534 1.69458 -0.00739467 0.158982 -0.0732915 -0.283459 2.02987 -0.199443 0.308124 -0.596999 -5.66389 0.365603 0.951826 0.108981 -0.169424 -0.201096 -0.0179285 0.0613698 -0.00569782 -0.0100185 -0.0307604 0.0504305 14.6308 -0.221192 1.73298 -0.267156 1.49564 -4.61221 0.00378808 0.227206 -0.521278 -1.19307 -0.000924686 0.0687834 -0.288506 0.460241 -1.61435 0 +405 0 0 0 0 0 -0.513384 -0.459992 0.657604 2.19988 0 0 -0.145677 -1.62585 0 -2.11043 -0.00998071 0 0 0 0.00321456 -5.01246 0 0 0 0 0.502182 0 0 0.337818 1.92661 -0.711038 0 -0.138673 0 0 0.256371 -0.0118543 0 0 -0.406059 -2.27394 0 0 -0.100782 -5.6697 0 -1.33936 0.427237 -0.288791 0.182447 -2.23034 0.368994 0 0.0146366 -0.09481 0.503528 3.2695 0.0917678 -0.147068 0 0 1.19261 5.42608 0 -0.211374 0.83715 -0.0058111 0 0 0 0 0.247927 -0.252887 0 3.97221 -0.761737 0 0 0 -4.63645 0 0.948275 -4.68921 0 0.303773 -0.308438 -6.06797 0 0.318907 -0.544413 1.29895 -7.26415 0 0 0 0.0279426 0.00207675 0 0 0 0.00884776 0.0115702 0 0.000351632 0 -0.000186591 0.00292995 0 0 0 0 0.0522392 0 0.00204544 0 0.0648111 0 0.056837 0.0774688 0 -7.86343e-05 0 0 0.00997073 -0.000278602 0.00730449 0 0.000939792 0 0.00081942 0.00534726 -0.00053963 -0.00345283 0.00127265 0 -1.43519e-05 0 0 0 6.69743e-05 0 0 0.000916193 -0.000752816 0.0263688 -0.00802174 0 0 0.00214663 0 -0.00221042 0 0 0.00602495 -0.00264752 -0.0446691 0.00978861 0 0 -0.0241605 -0.0197454 -0.00202835 -0.0481812 -0.0804712 0 0.00391973 0.00422852 -0.0192956 0 0 0 -0.146224 0 0.0110957 -0.0565796 0 -0.000830445 0.00417843 -0.0352717 0 0.000364875 -0.00150304 0.00571873 0.00406783 0 -0.513384 0.0279426 -0.459992 0.00207675 -0.263019 -0.147631 0.0485431 0.922882 0.233071 0.000296116 -0.00444654 0.122262 2.52508e-05 0.0044165 0.00183849 0.00368732 -0.0325247 0.0001781 -1.01413 -0.942154 0.212684 0.390663 0.0375224 -0.165796 -0.136967 0.272835 0.0477084 -0.0129567 -0.311857 -0.0267021 1.05714 -0.772671 6.94196e-05 2.31426 0.532327 0.00181646 -0.00337934 0.168927 -0.0226453 1.38964 0.0131484 0.0518653 -0.693863 -2.9962 -0.00462126 -0.0111436 -0.417712 -0.106852 0.190265 0.250697 2.06129 -1.19008 0.0224706 1.94513 -0.00799657 -1.61021 -0.00207633 0.198871 0.0746217 -0.345726 0.3219 0.0943295 0.0945079 -0.0122271 0.830257 0.096571 -0.797954 -0.0392172 -0.462212 0.062834 0.0141404 0.0415526 -0.00110183 -0.00153698 0.135548 -0.0328339 -11.3065 -0.573223 -13.4068 -0.0103117 0.0106157 -7.24453 -0.00106887 -0.0194571 -0.357088 -3.15951 -3.1536e-06 -0.00382365 -0.201429 0.149722 -1.71729 0 +406 0 0 0 0 0 -0.0204602 0.143657 -0.233124 -1.72191 0 0 0.0764633 0.899719 0 2.78033 0.0367757 0 0 0 0.228919 1.85515 0 0 0 0 -0.258942 0 0 -0.30451 -4.45935 0.443846 0 0.475551 0 0 0.018996 -0.000820358 0 0 0.309109 -0.365198 0 0 0.00745808 6.27961 0 -0.328626 -1.19761 1.63959 -0.328373 -0.550249 -0.477967 0 -0.157077 0.32932 -0.584282 -1.45918 -0.149206 -0.033631 0 0 0.594878 0.0543098 0 -0.768602 -0.377847 -0.178735 0 0 0 0 -0.298599 0.567578 0 -3.87887 -0.745706 0 0 0 3.60923 0 -1.31638 10.5262 0 -0.273899 0.382128 8.61824 0 -0.000309033 1.78828 -3.75493 17.2714 0 0 0 -0.101275 -0.00711938 0 0 0 -0.017117 0.0782877 0 -0.00141322 0 0.000706033 0.0038748 0 0 0 0 0.00671607 0 0.00360402 0 -0.0256534 0 -0.108663 0.434644 0 -0.00170457 0 0 -0.114196 0.00152144 0.0249335 0 0.00528455 0 0.0055949 0.100801 -0.017403 0.0208267 0.00396032 0 5.21771e-05 0 0 0 0.000377454 0 0 -0.00333227 0.0017701 -0.165216 -0.00606031 0 0 -0.00704428 0 -0.0111303 0 0 0.0371075 0.0122604 -0.0250511 0.0176064 0 0 -0.000161465 0.00512134 0.00543892 -0.0684014 -0.119834 0 0.0787953 -0.00152568 -0.0113485 0 0 0 0.241357 0 -0.0349406 0.112794 0 0.00287569 -0.00965843 0.0320089 0 -0.00180924 0.00957275 -0.024088 0.0556877 0 -0.0204602 -0.101275 0.143657 -0.00711938 0.297664 0.186343 -0.107526 -0.111491 0.205793 0.00343844 0.0104543 0.0926252 0.00016623 0.00627539 -0.00513212 0.00112259 0.0450499 0.0714641 -0.293956 1.28186 0.395959 -0.126627 0.125251 -0.0488161 0.359197 -0.19366 0.0500476 0.0248971 6.92621 -0.0395756 2.20883 0.554476 -0.000223697 -0.235136 0.899207 0.0068115 -0.000518708 -0.0490238 -0.00431472 -0.85283 0.00802033 -0.0403588 1.86516 1.00893 0.00330995 -5.46697e-06 0.0519731 0.170744 0.165749 -1.00137 2.86874 -0.908732 -0.0523846 -0.593703 0.0159325 0.3235 -0.00749622 0.0806758 0.575975 0.0674253 -0.0995589 -0.252296 -0.0627401 0.787533 3.63349 0.132831 -0.422472 0.120347 0.0886197 0.327031 -0.00910476 -0.0522968 -0.00905299 0.0736276 -0.108301 0.0242291 -23.6243 -0.326923 -4.14279 -0.401726 0.214572 2.69893 0.00462867 -0.250392 0.438217 0.379289 -0.00126541 -0.123225 0.227773 -0.275943 1.32841 0 +407 0 -0.1132 -0.397762 0.00714939 0.108344 -0.0853291 -0.0346355 -0.414278 0.0250028 0.0353997 -0.212607 0.10758 0.144 -9.86223e-05 1.28849 0.00829551 -2.33328 -8.97365 -0.0488615 0.0116129 0.254883 0.0038189 0.0624605 0.000108607 0.0267106 0.000488954 -0.616889 -0.00224189 -0.0513897 -0.587024 0.293368 0.00209411 0.189911 0.222374 -0.050643 -0.111079 0.00517181 -0.0387406 1.12861 0.14772 0.119143 -0.00205406 -0.260117 0.00678838 1.33269 -0.0421454 0.186653 -0.245229 0.256532 -0.0144937 -0.614988 -0.178248 4.16025 -0.0142814 0.00233019 0.014926 -1.26454 -0.228458 -0.194991 -0.0332055 0.003662 0.358596 0.841092 1.41278 -1.36702 0.258103 -0.195376 0.31551 -0.152836 -0.00178733 0.327743 0.0175956 0.0385262 0.0296468 -1.85692 -0.0982745 0.289031 -3.67046 0.394575 -1.45543 -0.135201 0.28789 -1.97774 0.163049 -0.515062 0.891603 -1.78875 0.00109164 -0.00358343 0.012959 -0.04204 0.149218 0 0 0 0 0 0.00714939 0.108344 0.00145639 0 0 0 0 3.81305e-05 0 -0.00091314 0 0 0.000279676 6.53993e-05 0.00160336 0 0.000116285 0.00889305 0.0154374 0 0 0.0788939 4.58005e-06 0 0.000571984 0.667876 0 0 0.00483693 0.0963781 0 0.0113153 0 0.00473757 0 0 0.000237711 0 0 0.106945 0.000533652 0.00398484 0 0.0203923 0.00925535 0 0 -0.00607093 0 0.000442283 -0.00924645 -7.13453e-05 0 0 0.000149859 -0.00315923 0 0.000497149 0.0225763 -0.00284585 -0.192939 -0.00136822 0.00359927 0 0.00445028 -0.0170525 0.0350038 -0.00324608 -0.0253049 0 0 0 -0.117831 -0.00486132 -0.0259801 -0.000296717 0.00143336 -0.0511551 -0.000185921 0.0002594 -0.000549611 -0.00856608 0 0 0 0 0 0 -0.0853291 0 -0.0346355 0 0 0 0 0.249189 0.199422 0 0 -0.245345 0 -0.0278473 0 0.00517473 0 0 0.0416711 0 0.802044 0.12142 -0.014028 0.0601308 0 0 0.146316 0 -5.42548 0 3.28874 0.0385391 0 0.815112 1.51441 -0.0015406 0 0.0442339 0 0 -5.14173e-05 0 -0.885113 -0.363029 0 0 0.0732723 0 0 -0.180753 -3.60603 -0.655318 0 0.673856 0 -2.01573 0.122511 0.0156689 0.714073 -0.179302 -1.06738 0.470659 0.114351 0.295145 7.86662 -0.0199243 0 0 0 0.0826646 0.0243112 0 0 0 0 0.0136105 -30.6841 1.88258 -9.72339 -0.176696 0.319735 -2.34933 0.0683115 -0.0606032 0.18719 -0.650053 0 0 0 0 0 0 +408 0 -0.702167 -0.496947 -0.00527956 -0.0474858 -0.195297 0.141885 -0.279518 -0.161516 -0.0552903 0.185691 0.00471162 0.0312999 8.1743e-05 -0.53022 -0.000762248 -1.23294 -6.06249 0.0496176 -0.000660458 0.446175 -0.0148994 0.451095 -0.000129304 -0.0247781 -0.148712 -0.226365 -0.00675736 -0.393902 -0.0995357 0.151542 -0.00277158 -0.00957762 1.45404 0.0973903 -0.226213 -0.000498136 -0.106545 5.47264 -0.0118858 0.996752 0.00152067 -0.38704 -0.00170827 -1.35513 0.0256182 0.951423 -0.189772 0.00478117 0.00323614 0.0569385 0.0822318 6.22228 -0.00287013 -0.00656461 0.0183948 0.16992 -0.0663388 0.0763833 0.0484209 -0.00260136 -0.824766 -1.54247 -1.75115 -0.713228 -0.0183193 0.283938 0.343424 -0.0320348 0.0056304 0.38827 -0.105448 0.0122551 0.116142 -0.397598 -0.05881 0.187212 -25.1166 -0.0595211 -5.61383 -0.72897 1.52631 -6.83267 -0.031399 0.209728 -0.259443 -0.480223 -0.000663555 0.00116924 -0.00196692 -0.00243419 0.0253014 0 0 0 0 0 -0.00527956 -0.0474858 -0.000190964 0 0 0 0 -5.49611e-06 0 -0.00151304 0 0 5.15475e-05 -3.84785e-06 -0.0014499 0 -0.000148174 -0.00682153 -0.0131102 0 0 -0.0750272 -3.65947e-07 0 -0.000371463 -0.406329 0 0 -0.00365704 -0.0531241 0 -0.0167119 0 -0.00498892 0 0 -0.000263765 0 0 -0.100128 -7.71513e-05 0.000816996 0 -0.00267473 -0.00128269 0 0 -0.000805912 0 7.88978e-05 0.00140372 -0.000107135 0 0 -0.000171495 0.000488943 0 0.00118853 -0.00126265 0.000415666 0.0508456 0.00122605 -0.0147847 0 -0.000762315 0.0152841 -0.00936407 0.000365448 -0.0120189 0 0 0 0.193875 -0.00221279 0.0156522 0.00167206 -0.00208394 0.0163323 -9.36285e-05 0.000101893 -9.23556e-05 0.00967924 0 0 0 0 0 0 -0.195297 0 0.141885 0 0 0 0 -0.252672 0.0902411 0 0 0.179901 0 0.015419 0 0.00400749 0 0 -0.203916 0 0.00256779 -0.00467866 0.0494287 -0.0200909 0 0 0.0734625 0 -3.52492 0 3.62018 0.00537351 0 -0.04363 0.44955 0.00215978 0 -0.0374408 0 0 -0.00372488 0 -1.03754 -0.121548 0 0 -0.013685 0 0 -0.130974 -4.74002 0.13189 0 0.330541 0 -1.06228 0.0353851 -0.0799011 -0.0612591 -0.138569 -0.00127824 -0.0317663 0.0459474 -0.574683 -2.55944 0.0899198 0 0 0 0.0951401 -0.027795 0 0 0 0 -0.0354147 -26.6819 -2.22954 -1.82762 -1.0212 0.818024 -2.37829 -0.111147 0.0983523 -0.150495 0.101239 0 0 0 0 0 0 +409 0 0.215731 -0.288194 0.00404389 0.0313149 0.0591196 -0.0788602 -0.822161 -1.445 0.000723586 0.0758606 0.0330421 -1.3589 -8.90555e-05 -2.37701 0.000755096 -2.16355 -4.82734 -0.00687458 0.00370364 -3.17948 0.0125104 0.171405 6.21103e-05 0.0523099 -0.281528 -0.822709 0.0157916 0.239552 -0.159183 -0.649862 0.000861283 0.0215191 0.0086879 0.0520369 -0.109567 0.0017654 0.205466 -1.21717 0.112581 -1.31297 -0.00204697 0.968225 0.00492762 -4.59111 -0.0476303 -0.59065 -0.0080335 0.133404 -0.0144942 1.03598 0.14038 4.75575 -0.0187563 -0.011836 0.0717241 2.02223 0.00769777 0.172161 -0.170977 0.00359652 -1.8048 0.751221 1.98338 0.547657 -0.386444 -1.16992 0.00773305 0.15933 0.000508073 -0.272132 0.284531 0.0493043 -0.263555 2.49716 -0.297696 -0.457318 7.23516 -1.11457 7.25718 0.216601 -0.176876 1.77963 0.08115 -0.0351938 -0.171421 1.38503 0.00123371 -0.00334573 0.00811524 -0.0206176 0.0404634 0 0 0 0 0 0.00404389 0.0313149 0.0032495 0 0 0 0 8.56858e-05 0 -0.00265526 0 0 0.000327065 8.98435e-05 0.00145152 0 7.4389e-05 0.00680692 0.0122515 0 0 0.0158498 6.23191e-06 0 0.00113 0.649246 0 0 -0.00474315 0.0757016 0 0.0278063 0 0.00200327 0 0 -0.000110475 0 0 0.134456 0.00119948 0.00470353 0 0.0455052 0.0213747 0 0 -0.034756 0 0.00106002 -0.0191614 -0.00105798 0 0 0.000122831 -0.00671297 0 0.000751873 0.00965118 -0.00586972 -0.21072 -0.00133689 0.00708318 0 0.0103054 -0.00555238 0.0212961 0.000493178 -0.0075444 0 0 0 -0.0880555 -0.00728476 -0.00783131 -0.00195234 0.00470516 -0.0416241 -0.000236531 0.000321169 -0.000642482 -0.0121042 0 0 0 0 0 0 0.0591196 0 -0.0788602 0 0 0 0 -0.0668143 0.303343 0 0 -0.117614 0 -0.0245087 0 -0.000499389 0 0 -0.144647 0 0.46682 -0.0364165 -0.057023 -0.012498 0 0 0.0594672 0 -4.77577 0 -0.593204 -0.732843 0 -0.288292 0.327129 -0.00830889 0 -0.00903204 0 0 0.0210121 0 -2.08847 -0.228822 0 0 -0.0207337 0 0 -0.252681 -3.02547 0.440394 0 -1.56446 0 -0.641234 0.0704284 -0.0902583 -0.076878 -0.110969 0.0878855 0.364348 0.00917987 0.604057 -1.2513 0.0234128 0 0 0 0.10895 0.0141247 0 0 0 0 -0.03592 -2.97516 0.226864 1.2781 -0.0842449 0.277898 -0.358307 0.0316653 -0.0100391 0.0162371 0.223219 0 0 0 0 0 0 +410 0 -0.429844 -0.148969 -0.0177552 -0.195569 0.0817677 0.161411 -0.152816 -0.606639 -0.157545 0.0174428 0.242405 -0.810866 0.00124396 -0.331491 0.0302227 -0.971445 -7.38923 -0.00843912 0.0474528 -2.39637 -0.0324551 -0.246618 -0.00121999 -0.0608263 -0.470636 -0.0584864 -0.0096498 -0.735417 -1.81981 -0.0637538 -0.0143376 0.482145 -0.409547 0.0674861 -0.26075 0.0111817 -0.139588 -0.924704 0.000459699 -0.255162 0.0162918 -0.785617 -0.0110203 -2.77733 0.202285 0.462416 -1.26328 0.71122 0.0581676 0.399952 0.231419 0.984203 -0.0667544 0.11763 -0.392718 3.02156 -0.0721141 -0.046624 0.0265104 -0.0541749 -1.93109 0.799186 1.77326 1.82169 0.532965 -0.668913 0.194656 -0.402235 0.0302306 0.333408 0.0381127 0.238815 0.0593386 2.39719 1.01144 0.109635 4.18259 -1.38414 4.16545 -0.140691 -1.33488 6.93241 0.389341 -0.484567 -0.0484856 2.78952 -0.090543 0.130983 0.0101704 -1.18019 7.14496 0 0 0 0 0 -0.0177552 -0.195569 0.00241518 0 0 0 0 0.000376355 0 -0.0161989 0 0 0.00324003 0.00315203 -0.00926765 0 -0.00152478 0.00254334 -0.108345 0 0 -0.0567829 0.000227282 0 -0.000717187 -0.154012 0 0 -0.00621587 0.0127262 0 -0.0573187 0 -0.00757832 0 0 -0.00102705 0 0 -0.248616 0.00527794 0.0451636 0 0.0338656 0.00660541 0 0 0.0134439 0 -0.000585126 -0.0306309 0.00670092 0 0 -0.0020044 -0.00754459 0 0.00257447 0.0356316 -0.000881255 -0.0650033 0.00129459 0.00395708 0 0.00382607 -0.0222017 0.0754009 -0.0336034 -0.0121834 0 0 0 1.18458 -0.107786 0.277836 0.0312851 -0.054422 0.104176 -0.00301664 0.00495975 -0.010389 0.0260001 0 0 0 0 0 0 0.0817677 0 0.161411 0 0 0 0 0.280019 -0.114953 0 0 -0.111881 0 -0.0148464 0 0.00997331 0 0 -0.631701 0 -0.450802 0.0763487 -0.113452 -0.0652515 0 0 0.255186 0 -5.27451 0 0.284305 -0.0629979 0 0.489705 -0.353514 -0.0129458 0 0.0351208 0 0 -0.031945 0 -0.877835 -1.08215 0 0 -0.100645 0 0 0.000277228 0.458279 -0.12661 0 0.443817 0 -0.442793 0.0817301 -0.00124347 0.476107 0.00442 -0.172858 0.351228 -0.0441966 -0.178605 1.38296 0.0192623 0 0 0 0.0476117 0.057673 0 0 0 0 -0.0202327 -6.75619 0.877269 -3.8808 -0.315641 0.301503 -0.567155 0.088805 -0.0767688 0.135453 -0.409584 0 0 0 0 0 0 +411 0 -1.00227 -0.454213 -0.000572768 -0.0122429 -0.178193 0.0224241 -0.584205 0.254935 -0.00786275 -0.374001 -0.0461359 1.12246 0.000105032 2.74699 0.00432712 -1.92748 -6.70616 -0.143876 0.0145812 5.30593 -0.00538244 0.330031 -0.000263065 -0.0517821 0.217723 -0.626255 0.0107463 0.189695 0.582621 0.635743 -0.0022223 0.106678 0.816438 -0.113128 -0.0460187 -0.00372184 0.166033 3.26077 -0.163746 2.5989 0.00113218 0.0494019 -0.013009 4.5665 0.00891497 1.13175 0.224784 0.294804 0.0455675 0.697414 -0.351187 4.0688 -0.0480845 0.0637156 -0.284146 -1.0665 -0.266773 -0.243553 0.0929385 -0.00258331 -0.058322 -5.76772 -0.469017 -1.85321 -0.198791 0.343551 0.77611 0.0958103 0.00224627 0.293184 -0.183981 -0.266589 -0.219225 -3.51177 1.01704 -0.30215 -13.6371 1.2741 -3.04637 0.250186 0.663831 -4.33984 0.137195 -0.218946 0.763102 -0.662853 -0.00399035 0.0424236 -0.147892 0.699004 -2.28749 0 0 0 0 0 -0.000572768 -0.0122429 0.0013832 0 0 0 0 0.000233102 0 -0.00563371 0 0 0.00021304 -0.000441356 -6.23395e-05 0 -0.000362274 -0.000972002 -0.0049409 0 0 0.212688 -3.76226e-05 0 0.018234 0.335564 0 0 0.0312005 0.00131485 0 0.111062 0 0.00993418 0 0 0.00140741 0 0 0.273619 0.00326104 0.00431728 0 0.0194289 0.0293252 0 0 -0.142293 0 -0.00261144 0.13325 0.00530356 0 0 0.000123613 -0.00437885 0 0.0134666 0.0199628 -0.00593936 -0.319766 0.00294566 -0.0210652 0 0.00351713 -0.0128472 -0.0609992 -0.0180322 -0.0158933 0 0 0 -1.32783 0.0613357 -0.1712 -0.0233521 0.0551125 -0.136875 -0.000210197 -0.000765136 0.00328331 -0.00805303 0 0 0 0 0 0 -0.178193 0 0.0224241 0 0 0 0 0.353177 -0.312161 0 0 9.04847e-05 0 -0.00786318 0 -0.0172724 0 0 0.741893 0 1.12597 0.145659 0.0103939 0.138376 0 0 -0.132151 0 -3.36062 0 7.32253 0.278508 0 0.922608 2.71981 0.00146308 0 0.0559815 0 0 -0.0463139 0 -0.36784 1.22434 0 0 0.24698 0 0 -0.28906 -6.04687 -0.195493 0 -0.36262 0 -1.4814 -0.0290954 0.0159716 0.319899 -0.185688 0.0556119 0.118033 0.0723306 -0.332661 0.503984 0.126622 0 0 0 0.114245 0.0108935 0 0 0 0 -0.036632 -71.6008 -1.96918 -12.3408 -1.48667 1.37673 -4.80758 -0.0544049 0.0485572 -0.00998656 -0.617428 0 0 0 0 0 0 +412 0 0.291005 0.342907 -0.0438231 -0.423026 0.373597 0.279568 -0.545173 -2.49165 -0.389314 0.875763 -0.332086 0.0174419 0.00315742 -1.79371 -0.036829 1.53325 5.65197 0.109035 -0.0480371 2.59434 -0.0336684 -0.168419 -0.00327404 0.00626055 -0.564289 0.482604 -0.00695393 -0.0301514 2.52218 -0.220515 -0.0373129 -0.498521 -0.543974 -0.000680298 -0.20516 -0.032652 0.121233 -2.33497 -1.02523 1.3936 0.0395534 -0.112475 -0.0974964 -1.07861 0.45666 0.697369 0.663182 -0.753484 0.402036 -0.501145 0.630125 2.27161 0.146961 -0.189007 0.15958 0.867122 0.439426 0.160901 -0.337625 -0.126373 -0.10969 -0.410453 0.0515461 0.6063 0.169213 -0.315652 -0.47946 -0.104739 0.0801632 -0.594204 0.268772 -0.875553 0.0472092 2.75054 0.515386 0.686058 11.11 -2.40814 9.13881 0.0960534 1.5941 -1.87567 -0.303766 0.708245 -1.68188 2.0812 -0.204401 0.525375 -1.46094 3.64707 -9.9026 0 0 0 0 0 -0.0438231 -0.423026 0.00679595 0 0 0 0 0.00110157 0 -0.0329096 0 0 0.00444932 0.00448358 -0.0187643 0 -0.0035311 0.00859693 -0.184734 0 0 -0.0491511 0.000326525 0 0.020095 0.565502 0 0 -0.0114715 0.102028 0 0.00880042 0 -0.0132026 0 0 -0.00219102 0 0 -0.208427 0.0154388 0.0615438 0 0.0952359 0.0436004 0 0 0.0103582 0 0.000223869 0.0174763 0.00311159 0 0 -0.00662045 -0.014272 0 0.00832552 0.0113912 0.000306056 -0.178804 0.0230961 0.0012777 0 0.0232945 -0.0200274 -0.0242137 0.0161534 -0.0456775 0 0 0 1.80786 -0.187351 0.501094 0.0460885 -0.080878 0.145616 -0.0050741 0.00848863 -0.0170576 0.0439508 0 0 0 0 0 0 0.373597 0 0.279568 0 0 0 0 -0.593883 -0.25711 0 0 0.701512 0 0.0745941 0 0.00773231 0 0 0.837124 0 -0.877924 -0.240617 0.160414 0.0579155 0 0 -0.132474 0 6.00294 0 -2.63383 0.105249 0 -1.64554 -1.49449 0.0168787 0 -0.0963388 0 0 0.031825 0 1.06598 2.58513 0 0 0.228951 0 0 0.183614 0.358893 0.329933 0 0.259814 0 -0.320795 0.210809 -0.215172 -1.09786 -0.101819 1.44831 0.320678 0.129911 -0.645681 -4.12462 0.188034 0 0 0 -0.101969 -0.197593 0 0 0 0 -0.0300184 24.1794 -5.94144 15.3832 -1.56742 1.19656 1.23095 -0.49062 0.421041 -0.49809 1.17336 0 0 0 0 0 0 +413 0 0 0 0 0 -0.0228797 0.321832 0.340268 0.453276 0 0 -0.0537688 1.09905 0 3.8548 0.0783371 0 0 0 -0.0725027 1.87499 0 0 0 0 -0.18939 0 0 -0.711782 -1.23299 1.12003 0 -0.0867087 0 0 -0.0497169 -0.0152489 0 0 0.186874 1.72274 0 0 -0.117985 3.82603 0 1.21993 -0.715086 -0.896884 0.307087 1.80627 0.36303 0 0.525657 0.376852 -1.21631 -5.07272 0.418572 0.26989 0 0 0.804689 -2.57192 0 -0.571518 -0.365534 -0.970028 0 0 0 0 0.503822 -0.9334 0 -4.30269 2.77701 0 0 0 -0.435738 0 -0.332929 1.22055 0 -0.428137 0.552705 -2.22993 0 -0.588482 0.34232 -2.36341 7.89383 0 0 0 -0.108952 -0.0050937 0 0 0 0.0937307 -0.0242255 0 0.0192539 0 0.0179813 0.0805791 0 0 0 0 0.108508 0 0.023331 0 0.503656 0 0.36692 -0.52143 0 0.000713473 0 0 0.104089 0.00374495 -0.0845998 0 -0.00630362 0 -0.00194675 -0.308285 0.0223779 0.0693197 -0.0705453 0 0.00107961 0 0 0 -0.000679967 0 0 -0.0113037 -0.00877344 -0.0870429 0.00707229 0 0 -0.0362801 0 -0.000666785 0 0 0.0142419 -0.00784199 -0.312064 -0.0233591 0 0 0.0820228 0.0601015 0.0613139 0.266148 0.253566 0 -0.0628475 0.0133451 -0.0721032 0 0 0 -1.90279 0 -0.246866 -0.135858 0 -0.0173549 -0.0173615 -0.0518325 0 -0.00325941 -0.00310488 -0.0268402 0.159551 0 -0.0228797 -0.108952 0.321832 -0.0050937 0.111827 -0.00381174 0.219254 0.299884 -1.01855 0.00404589 0.0392547 -0.158956 -0.0053101 -0.103699 0.0547456 -0.0202512 -0.0360083 0.101272 1.09744 -0.216484 0.0630031 0.133314 -0.300079 0.182342 -0.0564995 -0.0179922 -0.561547 -0.0132705 12.2559 0.214968 0.92504 2.74918 0.0160892 0.433103 0.202054 -0.103277 0.00288416 0.055741 0.0205024 -0.282546 -0.0549247 0.00268007 5.89325 2.57077 0.00339504 0.0273774 0.43573 -0.0640479 -0.00681753 -1.24316 2.13013 1.42385 0.0767715 -4.94284 0.0176949 -1.78826 1.13993 -1.35372 0.488431 0.138016 -0.592688 1.98115 -0.292761 3.94761 -15.1353 -0.395907 -0.571896 0.0321243 0.160008 -0.175319 0.355147 -0.0371553 -0.0387021 0.000203671 -0.0992583 0.895028 -3.37011 -0.34929 -1.33798 -0.993951 -0.101535 0.372355 0.0691576 -0.386336 0.329785 -0.535009 -0.17724 -0.118485 0.124692 -0.244826 0.168207 0 +414 0 0 0 0 0 -0.239902 -0.117149 0.496438 2.15189 0 0 -0.561413 -0.265343 0 -0.570866 -0.109954 0 0 0 -0.239901 -1.18864 0 0 0 0 0.329591 0 0 0.146479 2.39529 -0.12373 0 -0.26196 0 0 0.0606356 -0.0815739 0 0 -1.56329 -0.633944 0 0 -0.358439 -1.40969 0 -0.286766 0.791032 -0.375519 0.512984 0.0468724 0.269734 0 0.692571 -0.0348117 0.137157 -1.73225 -0.286662 -1.62206 0 0 -1.9388 4.32413 0 0.972184 -0.164826 0.815223 0 0 0 0 -0.360068 -0.779101 0 -0.416626 -0.882678 0 0 0 -3.21586 0 1.98969 -3.68276 0 1.03224 -1.01702 -1.03223 0 1.92886 -1.98512 5.08252 -6.24427 0 0 0 0.147271 0.0259512 0 0 0 0.0269495 -0.0349542 0 0.00427367 0 -0.0168369 0.00113692 0 0 0 0 0.100307 0 0.0111722 0 0.134354 0 0.180559 -0.121467 0 0.00200831 0 0 -0.0452306 -0.00640383 0.0315431 0 -0.00185701 0 -0.00322373 -0.128111 0.00365743 -0.0881823 0.00211133 0 -0.00113484 0 0 0 -0.000273025 0 0 0.0124514 -0.00867087 -0.306685 0.010661 0 0 0.000944424 0 0.00349232 0 0 -0.00879514 -0.0198461 -0.116164 -0.0277967 0 0 0.11134 -0.00954487 0.05786 0.0584066 0.0386571 0 0.0662485 -0.017669 0.312 0 0 0 0.218212 0 0.0878839 0.58769 0 -0.00241423 0.0585348 0.003291 0 0.0069124 -0.0100416 0.00443437 0.285415 0 -0.239902 0.147271 -0.117149 0.0259512 -0.210857 -0.0550663 0.0210062 -0.39355 -0.294691 -0.0154319 -0.0335396 0.416508 -0.00117479 0.0406632 -0.00736306 -0.0209771 -0.0516614 -0.106795 -0.500987 -0.37242 -0.327162 -0.0833078 0.31597 -0.068306 -0.360171 0.136839 0.0753001 -0.000381488 -7.36771 -0.549547 -2.82879 -0.542759 -0.00386098 -0.491442 -1.08283 0.0421771 -0.0139422 -0.0699207 -0.102717 0.849741 -0.120282 0.0214829 -2.10039 -2.17631 -0.00435711 -0.0680907 -0.22262 -0.0215734 -0.113254 -0.961976 -2.68408 -0.764607 0.0130113 -4.20679 -0.062529 0.588882 0.103889 0.180299 -0.266244 0.113462 -1.02226 -0.271998 0.0836104 -0.469453 -12.7359 0.104196 0.0260638 0.16518 -0.296683 -0.184322 -0.0948788 0.0259519 -0.0481363 -0.00621623 0.042388 -0.141783 10.3059 1.19489 -0.752575 2.66993 -0.217085 -0.602213 -0.290719 0.905043 -0.658686 0.174352 0.186907 0.343902 -0.423194 0.597853 -0.869065 0 +415 0 0 0 0 0 -0.35018 -0.135456 0.709431 3.06753 0 0 0.192255 -0.663658 0 -0.943283 -0.227214 0 0 0 -0.461941 -0.810147 0 0 0 0 0.489357 0 0 -0.019786 -6.18752 -0.163919 0 -0.980978 0 0 0.0567405 -0.0190665 0 0 2.61509 0.0159974 0 0 0.557101 -4.60779 0 0.121816 -0.712852 -2.06612 -0.200102 2.96594 -0.0068686 0 0.959082 -0.197624 -0.356078 -0.355042 0.832435 0.485979 0 0 -0.89543 -3.14664 0 -1.55993 -1.28203 -0.744831 0 0 0 0 -0.28243 -0.695859 0 -0.560227 0.889568 0 0 0 -7.31039 0 -3.83924 6.59988 0 -2.18882 3.21446 -3.91669 0 -3.14219 5.49396 -9.01313 22.0889 0 0 0 -0.50702 -0.123004 0 0 0 -0.145783 0.0259891 0 -0.0319592 0 0.00287089 0.084165 0 0 0 0 -0.00638783 0 -0.00381185 0 0.441103 0 -0.468889 -0.891485 0 0.0115392 0 0 -0.152226 0.00231523 -0.12879 0 0.0188383 0 0.00172459 -0.13182 0.00989369 0.0446424 -0.00730564 0 7.7798e-05 0 0 0 0.00118687 0 0 0.00129324 0.00154545 0.099679 -0.0374288 0 0 -0.0136209 0 -0.00630123 0 0 0.0184374 -0.0028912 0.101996 0.0015639 0 0 0.0884352 0.0799761 -0.0209198 -0.0486481 0.266294 0 -0.251015 -0.0203244 -0.0471724 0 0 0 -0.95391 0 -0.147087 0.431827 0 -0.0132898 0.0285089 -0.0361598 0 -0.000640848 0.00293782 -0.0188265 0.204069 0 -0.35018 -0.50702 -0.135456 -0.123004 1.31728 0.175478 -1.05265 -0.447223 -0.0634736 0.0173658 0.0962965 0.409634 0.00766302 0.104943 -0.184691 -0.0721378 0.0855437 -0.136085 0.117431 -0.687865 0.119545 0.143409 0.559871 0.0330413 0.480154 -0.374258 -0.116598 -0.0327355 3.06725 1.10143 0.988219 0.400388 -0.0330563 -0.129676 0.605167 0.0892401 0.0310203 -0.00641624 0.257932 -2.52311 -0.132202 -0.0450903 1.23922 -0.319538 0.0158311 0.109726 -0.0335777 -0.18464 -0.444192 1.22267 -1.95729 1.85292 -0.279211 -0.427502 0.516193 -0.90548 0.944476 -1.46249 0.406151 0.340545 -1.07604 -0.472247 -0.144445 -2.05487 -12.2325 -0.914499 1.24249 -0.371849 0.183991 -1.4395 0.318421 -0.227224 0.274562 0.121227 0.0284062 0.81379 -3.60028 -1.42867 -1.2249 -0.616868 -3.03715 7.41696 -0.264476 -0.873981 1.54471 -0.204328 0.238168 -1.05709 1.70807 -2.06137 3.4161 0 +416 0 -0.689269 0.123343 0.149684 -0.108142 -0.00371067 -0.28082 0.133138 0.603828 -0.0437285 -1.48313 0.096425 -0.875176 -0.180131 -1.32487 0.257908 0.65791 0.753503 -0.61234 0.618888 -3.09463 -0.348246 -0.265626 0.18736 -0.977931 0.56363 0.245805 0.550277 0.411937 0.8891 -0.330853 0.331843 0.932311 -0.520954 1.63091 0.259962 0.126883 1.95725 0.802202 0.674952 -1.4682 -0.436764 5.59606 0.440895 -3.79919 -0.984571 -0.7712 0.700519 2.43226 -1.40682 0.788026 -2.27652 -1.10403 -0.915238 0.0495304 0.476916 4.07665 -1.88844 -0.769811 1.45463 0.763672 0.00801675 3.83432 0.792063 -1.1581 -1.6002 1.23085 1.73628 1.67254 0.0249252 1.81175 -0.636795 1.91888 -1.81979 3.78904 -1.62724 -5.1989 -6.18976 3.01818 -2.56934 1.78672 -0.460965 -2.20573 2.70027 -1.89387 1.39518 0.943872 1.64493 -1.82496 1.52162 -0.413419 -4.08954 0 0 0 0 0 0.149684 -0.108142 0.00447617 0 0 0 0 -0.00184556 0 0.0107153 0 0 0.00362531 0.024688 -0.00289395 0 -0.00677227 -0.233832 -0.00719655 0 0 0.108701 0.00162657 0 0.0934144 -1.80614 0 0 0.00145833 -0.568865 0 0.181009 0 0.249151 0 0 0.031292 0 0 1.14544 -0.0233903 0.0655201 0 0.0769448 -0.00602761 0 0 0.17862 0 -0.00967872 -0.239992 0.0161216 0 0 -0.00752991 -0.0195376 0 -0.0112997 -0.12116 0.00119168 1.15888 -0.0293712 0.0263161 0 0.0550704 -0.0104162 -0.173774 0.0318851 0.0474307 0 0 0 -5.82017 -0.391814 -0.108553 -0.0565436 0.0180168 -0.118401 -0.00300134 0.000620295 -0.0149692 0.0477874 0 0 0 0 0 0 -0.00371067 0 -0.28082 0 0 0 0 -0.410269 1.56214 0 0 0.632921 0 0.0706423 0 0.0527827 0 0 -0.387947 0 0.317849 -0.00169168 0.51182 -0.0613216 0 0 0.514826 0 -2.02043 0 3.10166 -0.962946 0 -0.302864 1.24279 0.0671367 0 -0.0263464 0 0 0.191799 0 -1.61272 -1.23091 0 0 -0.176806 0 0 -0.0722091 -2.90069 -0.273007 0 1.56072 0 1.71216 -0.54438 0.407561 0.466945 0.198351 -0.343696 -2.16607 -0.18742 -1.55012 7.2659 -0.222826 0 0 0 0.271847 0.115 0 0 0 0 -0.405461 -25.721 -5.32404 2.28719 -2.1927 1.64248 -1.99372 -0.647916 0.503381 -0.368072 0.124825 0 0 0 0 0 0 +417 0 -0.30387 0.00853524 0.0208568 0.246318 -0.0919134 0.0597052 0.27 0.619722 0.163863 -0.957637 0.308256 1.23298 0.0126478 1.07844 0.066499 1.1576 1.87357 -0.101716 -0.0509908 1.18328 0.00274892 0.0839376 -0.0122037 -0.250978 0.214045 0.562507 -0.0659544 -0.0232628 0.133654 0.307458 -0.00644969 0.358119 0.410363 -0.248968 0.0627689 0.0381082 -0.432209 2.562 0.356185 0.453364 0.0380528 -1.06639 0.0224296 3.71569 0.0652506 0.213383 -0.0407268 -0.0762618 0.146301 0.09716 -0.296717 -1.98182 -0.143597 0.577749 -0.415284 2.00069 1.47796 1.13503 0.153499 -0.128947 1.24363 -2.47907 -1.39716 0.260009 -0.367675 -0.471572 0.480085 1.3365 -0.137971 -0.0961778 0.212205 0.564174 0.451074 -0.109434 0.233479 1.21227 -8.36142 0.686243 -2.01217 -1.26418 -0.203593 -0.774818 1.58426 -1.35736 0.896509 0.057563 -0.109015 -0.213961 -0.261713 -0.647964 -0.61476 0 0 0 0 0 0.0208568 0.246318 -0.0104672 0 0 0 0 -0.00304585 0 0.0236576 0 0 -0.0132927 -0.0535551 0.0585124 0 0.0088609 -0.123101 0.152248 0 0 0.610721 -0.00372344 0 0.0608946 -0.287163 0 0 0.084702 -0.276171 0 0.218733 0 0.174992 0 0 0.0246615 0 0 0.431322 -0.0428883 -0.189756 0 -0.144977 -0.0525444 0 0 0.436141 0 -0.0239461 -0.247742 0.0195368 0 0 0.020259 0.018631 0 -0.0498767 0.123315 -0.0133139 0.719225 0.0159347 0.0394114 0 -0.020452 -0.0368667 -0.272329 0.174254 -0.0320946 0 0 0 0.114325 0.259712 0.107825 -0.0275828 0.0383756 -0.031415 0.0149201 -0.0158356 0.0152312 0.0309203 0 0 0 0 0 0 -0.0919134 0 0.0597052 0 0 0 0 0.180158 0.169174 0 0 -0.67225 0 -0.0675414 0 0.00615398 0 0 0.721383 0 -0.132905 0.0274379 -0.293996 0.105805 0 0 0.0743183 0 2.96642 0 0.139718 0.612353 0 0.16495 -0.111532 -0.0323333 0 0.0244764 0 0 0.00459779 0 1.64413 1.35662 0 0 0.212829 0 0 -0.0799115 0.706221 0.211502 0 1.25764 0 -0.252016 0.572637 -0.341674 0.179341 -0.234294 0.441748 0.428904 -0.0128931 -0.0101054 5.36633 0.170419 0 0 0 0.147114 -0.0194303 0 0 0 0 0.186329 5.72687 3.95668 -1.45547 0.18736 0.0839182 -0.163754 0.613336 -0.390946 0.273699 -0.00209143 0 0 0 0 0 0 +418 0 -0.41601 -0.352066 -0.147388 -0.330406 0.60379 0.279262 -0.906291 -2.71624 -2.11363 1.85959 0.334988 -0.527456 0.0755162 0.203022 0.251675 1.64699 -2.03785 0.825953 0.443427 -3.11811 0.319838 0.672766 -0.168222 0.688988 -1.09977 0.957568 0.00146586 -0.580577 -2.11748 0.0548441 -0.592287 1.32165 2.51745 0.347685 -0.494335 0.0508708 -0.622071 7.81861 0.95338 -0.499064 0.0503287 -1.25414 0.100091 -0.438045 -0.338213 0.380018 -1.01416 2.47233 -0.278036 3.20852 -0.638516 -10.9271 -0.378058 0.080999 -0.127275 0.515245 -1.31425 -1.34314 -0.222822 -0.0966037 -3.10478 2.24095 -6.25323 0.826732 -1.73037 2.19474 -1.71955 0.716838 1.37701 0.355556 -1.81728 1.56511 1.6124 1.11868 0.531921 -0.351607 -36.9558 -11.6639 10.5575 -8.73271 6.71824 -8.25676 -2.32073 1.50822 -1.34866 3.03592 0.565054 -1.22963 2.54667 -4.90488 9.73964 0 0 0 0 0 -0.147388 -0.330406 -0.000454558 0 0 0 0 0.00174524 0 0.0207429 0 0 0.00109521 -0.00711844 0.00480921 0 0.012735 0.159027 -0.0323862 0 0 0.0680556 -0.000533282 0 -0.00990742 -1.2238 0 0 -0.0150587 -0.0250192 0 0.158244 0 -0.0819512 0 0 -0.0189888 0 0 0.925488 0.0256449 0.0203756 0 -0.00257856 0.0501773 0 0 0.1632 0 0.00494947 -0.260831 -0.00260965 0 0 0.00141269 0.00337453 0 -0.0387142 0.0633857 -0.00765132 0.600649 0.0562115 0.0421873 0 0.00649058 0.00868329 0.0173935 -0.0296469 -0.0739424 0 0 0 -2.04097 0.00457196 0.0287175 -0.0707768 0.0740213 -0.107189 -0.00034871 -1.53543e-05 -0.00497773 0.0209322 0 0 0 0 0 0 0.60379 0 0.279262 0 0 0 0 -0.204476 0.763842 0 0 0.867899 0 0.1056 0 0.0960215 0 0 -0.837211 0 -0.480507 -0.103565 0.265374 -0.115169 0 0 0.666484 0 -6.35082 0 -0.278495 -0.5285 0 -1.14424 -0.32571 0.0231711 0 -0.0142209 0 0 0.0996735 0 -1.84619 -1.31321 0 0 -0.19971 0 0 0.150466 -2.78916 -0.756304 0 1.51325 0 1.96311 -0.742399 0.766045 0.620608 0.211724 -1.23533 -2.05063 -0.0590516 -0.99801 11.4538 -0.300544 0 0 0 0.110322 0.0206351 0 0 0 0 -0.237421 -2.57965 -4.89678 7.00058 -0.923027 0.262949 0.663243 -0.792453 0.594149 -0.515179 0.713914 0 0 0 0 0 0 +419 0 0.128817 0.0024062 0.0198392 -0.063754 0.0212097 -0.164627 0.372319 0.300718 0.291982 -0.327354 0.483854 -0.967011 -0.00773403 -2.34036 -0.0571135 0.00939729 0.249166 -0.170846 -0.12644 -1.0036 -0.0566145 -0.00876429 0.0115344 -0.264547 0.110758 0.0168845 -0.0644639 0.249142 -1.01828 -0.636382 0.0614643 -0.377338 -0.0346249 -0.0616528 0.0270878 0.0481824 0.164699 0.210016 0.739031 -0.803682 -0.0406933 1.09432 0.105114 -4.32608 -0.113897 -0.604218 -0.190858 -0.736626 -0.278994 0.532928 -0.785538 -2.61392 0.202729 -0.571255 0.408322 3.35198 1.65084 0.389637 0.374871 0.121591 0.368752 -0.710576 -0.207057 -0.480136 -0.590965 0.559085 -0.105459 0.188964 -0.116229 0.382275 -0.515039 0.368508 -0.0685571 -0.524472 -0.543592 1.60941 -2.56341 -1.319 1.72826 -1.57816 1.20268 -0.317387 0.178857 -0.404354 0.840549 -0.584712 0.120047 -0.429516 0.58321 -0.66026 0.832814 0 0 0 0 0 0.0198392 -0.063754 -0.000331416 0 0 0 0 -0.000503971 0 0.01946 0 0 0.0015458 0.00529342 0.00456413 0 0.000686703 -0.023464 0.0678047 0 0 -0.0204589 0.000327905 0 0.0221534 -0.584168 0 0 -0.0104166 -0.12975 0 0.0988494 0 0.0344435 0 0 0.00313525 0 0 0.706981 -0.00592316 0.0288917 0 0.00782165 0.00855993 0 0 0.120686 0 -0.00566805 0.0366972 0.00553712 0 0 -0.00361919 -0.00221008 0 -0.00836685 -0.000336674 0.000840452 0.248878 0.0137588 0.0263538 0 -0.00533504 0.00300149 -0.232107 0.0547562 0.00503153 0 0 0 -3.87929 -0.224881 -0.343505 -0.043357 0.0174197 -0.0725325 -0.00123516 -0.000563482 -0.00260513 -0.00791996 0 0 0 0 0 0 0.0212097 0 -0.164627 0 0 0 0 0.44452 1.46459 0 0 -0.357427 0 -0.0669942 0 0.0718481 0 0 -0.602793 0 -0.161979 0.0295148 -0.476264 -0.0942168 0 0 0.632022 0 -1.33034 0 -1.45553 -1.21109 0 0.38359 -0.669 -0.0682036 0 0.0376918 0 0 0.158445 0 -2.08016 -0.985132 0 0 -0.165813 0 0 -0.0930581 -0.542292 -0.456523 0 1.66487 0 0.515372 -0.613638 0.538036 0.0852537 -0.0380503 -0.116125 -0.671671 0.0264127 -1.45357 7.58254 0.0994414 0 0 0 0.337539 -0.0756498 0 0 0 0 -0.418216 -2.98125 0.369087 -1.94373 1.26361 -1.08076 0.581871 0.315792 -0.316488 0.30834 -0.347303 0 0 0 0 0 0 +420 0 -0.497078 -0.262318 0.00516672 0.150686 -0.17412 -0.0534645 -0.000181503 0.804335 -0.0565624 -0.894024 0.0218146 -0.403033 0.000853537 -0.345119 -0.0120493 -2.79938 -9.64577 -0.236281 -0.0385278 1.0776 -0.0361675 0.0114949 -0.00240327 -0.136583 0.0999482 -0.833023 -0.0623103 0.0291527 -0.146263 -0.152264 -0.0122509 -0.253411 0.211329 -0.424518 -0.0621458 -0.00430692 -0.356882 2.10187 -0.0143833 0.356449 -0.0023808 -1.8662 -0.0209731 -0.728546 -0.116364 0.124908 -0.128536 -0.587421 0.0594604 -0.663849 -0.221681 5.54533 -0.136465 -0.0476456 0.105903 -0.11932 -0.986924 0.115203 0.0997399 -0.0112503 1.20342 -0.199242 -0.387707 -0.665033 0.883532 -0.21743 -0.323333 -0.612305 0.0248084 0.213627 0.134686 -0.199134 0.356231 0.866341 0.0378781 -0.429187 -6.25667 1.68846 -3.36597 0.0772599 -0.238137 -1.00631 0.909822 -1.0049 1.62861 -1.78449 0.122648 -0.0333359 0.124665 -0.0455471 0.119623 0 0 0 0 0 0.00516672 0.150686 -0.00325618 0 0 0 0 -0.000306822 0 0.0112092 0 0 -0.00501491 -0.00873413 0.00738317 0 0.00132416 -0.00881966 0.0655527 0 0 0.0247891 -0.000599219 0 0.00678213 -0.0042947 0 0 0.00245598 -0.0699052 0 0.0631496 0 -0.00076018 0 0 -4.93495e-05 0 0 0.103044 -0.00438106 -0.0725279 0 -0.044997 -0.014759 0 0 0.104181 0 -0.00718719 -0.15681 -0.000202189 0 0 0.0074792 0.00597835 0 -0.0180262 0.00372953 -0.0033854 0.240602 -0.0227034 0.0104102 0 -0.00165622 0.000517914 0.00751058 0.0700733 -0.0322899 0 0 0 0.237979 0.118228 0.0354104 -0.0052895 0.0106623 -0.0146205 0.00547597 -0.0058205 0.0088571 -0.00881228 0 0 0 0 0 0 -0.17412 0 -0.0534645 0 0 0 0 0.258 -0.7177 0 0 -0.639941 0 -0.0573627 0 -0.0395002 0 0 -0.28108 0 0.364431 0.0977918 -0.276097 -0.0280788 0 0 -0.350611 0 -2.65907 0 2.2731 -0.311867 0 0.732671 0.804926 -0.0247146 0 0.0355791 0 0 -0.0834229 0 -0.854651 -0.415848 0 0 -0.0236284 0 0 0.407384 1.34361 -0.410899 0 0.448944 0 -0.650894 -0.507283 0.424406 0.135668 -0.211033 0.36007 0.289233 -0.0411943 -1.41998 -4.35285 0.145205 0 0 0 -0.274258 0.0235653 0 0 0 0 -0.0780006 -10.0166 2.65635 -4.14745 -0.368789 0.562066 -1.3376 0.478829 -0.370435 0.340529 -0.461336 0 0 0 0 0 0 +421 0 -1.11997 -0.0969136 -0.0883432 -0.536777 0.605759 -0.0976424 0.595486 -2.17067 -0.232629 2.80808 0.253798 -0.22462 0.012691 0.438467 0.0677408 -1.2519 -2.67954 0.516216 0.133207 -1.97988 0.0314543 -0.0881175 -0.0116256 0.477878 -0.0546099 -0.55353 0.00666032 0.5701 0.57158 0.13188 -0.0533885 0.334481 0.102357 0.28953 0.47099 0.0168418 0.213512 3.02151 -0.194379 -1.4344 0.0817851 1.16486 -0.0643047 -0.259767 0.512703 -0.872813 0.407602 0.589583 0.108248 0.379189 0.272123 4.99416 -0.283728 0.00854007 -0.537765 0.0906361 -1.19144 0.0144347 -0.342286 -0.0507115 -1.20871 2.49132 -2.51785 1.67 0.142535 -0.213181 -2.99865 -0.614581 -0.0135194 -0.291003 -0.689524 -0.10748 -0.314803 2.19044 0.526266 -0.804546 -16.1489 -5.99756 4.12077 -4.43069 2.26973 -0.630311 -2.3306 1.49725 -1.88014 2.31678 -0.540387 0.282714 -0.510881 0.280466 -0.467472 0 0 0 0 0 -0.0883432 -0.536777 0.00454394 0 0 0 0 0.00113305 0 0.0147035 0 0 0.000975891 -0.00257412 0.000201538 0 0.00340201 0.0279686 -0.020443 0 0 -0.424941 -0.000217845 0 -0.0255778 -0.511683 0 0 -0.0591142 0.00916874 0 -0.0362373 0 -0.0983087 0 0 -0.0129263 0 0 0.396274 0.0170765 0.0203106 0 0.0736536 -0.000703977 0 0 0.0536555 0 0.0068329 -0.00788258 -0.0071039 0 0 0.00335185 -0.0111572 0 -0.00811494 -0.0016739 -0.0185729 -0.21356 -0.00422747 0.0262309 0 -0.00817268 0.0215805 0.0219431 -0.0483675 -0.0141127 0 0 0 -2.1536 -0.151592 -0.0591624 -0.0147173 -0.000637642 -0.0419224 0.000536163 -0.00183993 -0.00220866 0.00317236 0 0 0 0 0 0 0.605759 0 -0.0976424 0 0 0 0 -0.0532924 -0.787694 0 0 0.78633 0 0.107222 0 -0.0345258 0 0 0.21789 0 0.528203 -0.118063 -0.103761 0.0367552 0 0 -0.348428 0 3.42614 0 0.862972 0.0233788 0 -1.1971 0.379554 -0.00342871 0 -0.0125648 0 0 -0.0803038 0 0.275842 1.24719 0 0 0.153323 0 0 0.132298 -1.12408 0.409065 0 -0.979 0 0.185276 0.217751 -0.305566 -0.108539 0.0594972 -0.0883175 -0.286003 0.040693 0.260731 -9.72587 -0.109582 0 0 0 -0.264536 0.0177837 0 0 0 0 0.255693 -10.8103 -7.33501 8.81453 -2.35025 1.37731 -0.0142025 -0.528739 0.389762 -0.471618 0.830868 0 0 0 0 0 0 +422 0 0 0 0 0 0.0763614 -0.155057 -0.374892 -0.822279 0 0 -0.512341 -0.678678 0 -1.38957 0.0254302 0 0 0 0.144779 1.5159 0 0 0 0 -0.0874136 0 0 1.06862 2.80204 -0.442121 0 -0.0773484 0 0 0.0612464 -0.0783716 0 0 -0.535663 0.241132 0 0 -0.106372 -2.161 0 -0.29206 1.84755 -0.00501518 0.672886 -1.75433 0.586335 0 -0.0673616 0.241112 0.262678 -0.451594 -0.673629 0.134087 0 0 -0.0981543 0.486815 0 -0.011925 0.602911 0.198316 0 0 0 0 -0.144211 -1.20419 0 2.57556 -1.42864 0 0 0 2.13753 0 1.61318 -3.53762 0 1.02718 -1.88792 2.77491 0 0.515763 -2.3739 4.81383 -12.5353 0 0 0 -0.0755649 0.00287386 0 0 0 0.0242349 0.00808218 0 0.00487037 0 -0.00127343 -0.0108868 0 0 0 0 -0.100534 0 -0.0047499 0 -0.208161 0 0.100909 -0.283569 0 0.00167791 0 0 -0.0503033 -0.000761369 -0.0384134 0 0.000578581 0 0.000593712 -0.137927 0.00163321 -0.0144188 -0.0185753 0 -8.6258e-05 0 0 0 4.4192e-05 0 0 0.0057687 -0.000566541 0.135617 -0.0061637 0 0 -0.0216062 0 -0.00748432 0 0 0.000544243 -0.0219236 0.124041 0.00750766 0 0 -0.0883603 -0.0183397 -0.0505868 0.0744563 -0.0793379 0 -0.0676478 -0.00899261 -0.0177531 0 0 0 0.828494 0 0.0928236 0.244113 0 0.00548869 0.0113643 0.0401288 0 0.00131599 0.00449994 0.000231487 0.025222 0 0.0763614 -0.0755649 -0.155057 0.00287386 0.208846 -0.0187263 0.183176 -0.706468 0.717083 -0.00545614 0.0511945 0.967473 -0.00125061 0.109355 0.0182034 -0.0156545 0.0461879 0.0137553 0.355749 -0.412346 0.0860054 -0.19982 0.538548 0.135297 0.341738 0.0268654 -0.0370541 -0.0148173 -1.11969 0.181473 1.39331 -1.00559 0.0012201 -1.03673 0.341533 0.0634524 0.00105922 -0.130055 0.017819 -0.0842901 0.0672239 0.0141193 -1.8361 0.750424 0.00644524 0.0208036 0.244346 -0.0725986 0.153344 -0.648721 2.70413 1.00177 -0.138947 2.3996 -0.00393861 -1.62433 0.488192 -0.80853 -1.10799 -0.302574 0.982614 1.62093 0.103204 -1.93717 5.69872 0.578468 -0.753683 0.237793 0.260234 -0.118159 -0.250499 -0.0862344 0.0352915 0.0570822 -0.202383 -0.21611 -13.148 -6.94583 4.55835 -1.48031 0.371018 -0.687232 -1.00633 0.490535 -0.35204 0.219106 -0.027947 -0.171329 0.199902 -0.217811 -0.000177863 0 +423 0 0 0 0 0 -0.605773 -0.335299 0.5842 1.71314 0 0 -0.327661 -0.521659 0 -1.19088 -0.0900235 0 0 0 0.105476 -4.13007 0 0 0 0 0.42403 0 0 0.476509 2.11732 -0.39114 0 -0.256569 0 0 0.246693 -0.112363 0 0 -0.316022 -1.4642 0 0 -0.212899 -2.42887 0 -0.869636 0.708856 0.433551 0.318601 -2.33321 0.757932 0 -0.482301 -0.358563 0.699378 -1.6455 -1.38544 -0.0876359 0 0 1.36909 3.55185 0 1.62477 1.04125 0.617817 0 0 0 0 0.0324201 -0.351121 0 2.72034 -1.24244 0 0 0 -5.23967 0 -0.500125 -1.9707 0 0.0105366 -0.787161 -2.81275 0 0.553244 -1.41053 2.9674 -10.8595 0 0 0 -0.122453 0.00974052 0 0 0 0.0450652 0.0245811 0 0.00686021 0 0.00647577 0.0922348 0 0 0 0 0.0619344 0 0.034935 0 0.209389 0 0.299645 0.277387 0 -0.00483702 0 0 -0.299033 0.00559224 0.0419855 0 -0.000119746 0 0.00159278 0.0712804 -0.0352009 0.077979 0.00166676 0 0.000466327 0 0 0 -3.22134e-05 0 0 -0.00723174 -0.0129338 0.142416 0.0125547 0 0 0.00642593 0 -0.0145688 0 0 0.0291801 0.0404225 0.0485517 0.0639971 0 0 -0.173465 -0.139844 -0.0488102 -0.0859071 -0.202187 0 -0.00204652 0.0522579 0.0204255 0 0 0 -0.244922 0 -0.0809437 0.313878 0 0.00913202 -0.0125674 -0.0735994 0 -0.00592644 0.0178232 -0.0456775 0.116686 0 -0.605773 -0.122453 -0.335299 0.00974052 -0.162704 -0.119552 0.15735 0.261206 0.0747564 -0.0143313 0.0341436 -0.494735 -0.00532593 -0.0893799 0.0379999 -0.00771219 0.0286927 0.0906132 0.928546 -1.20625 -0.242199 0.099929 0.0333623 0.159222 0.160576 0.241105 -0.0965856 -0.0329055 1.86617 -0.468213 -2.06388 0.0753301 0.00852283 1.28862 -0.557807 -0.0075418 -0.00868629 -0.000108765 -0.0727348 1.67236 0.0535208 0.0376846 0.891595 0.284882 0.0042528 -0.0483555 0.077668 -0.194839 -0.1664 -0.603927 0.163955 -1.03282 0.105841 -0.0296884 -0.109759 -0.920652 0.091842 0.403601 0.492557 0.267911 0.204773 0.812453 0.0627882 -0.798502 -1.97462 -0.0635041 0.093922 -0.0164625 -0.179399 0.137684 0.231694 0.180653 0.022628 -0.240011 0.0947136 -0.170583 19.4759 5.86125 -7.81447 1.66908 0.506243 -5.89078 0.347735 0.356892 -1.3605 -0.416793 -0.184101 0.548779 -1.14626 1.31579 -2.46862 0 +424 0 0 0 0 0 -0.740001 -0.415155 1.43309 3.49505 0 0 1.35322 -0.699594 0 -1.50008 0.0781116 0 0 0 -0.0928247 -2.87982 0 0 0 0 0.832697 0 0 -0.0339524 -10.0419 -0.434071 0 0.614287 0 0 0.451152 0.174085 0 0 4.98325 -2.22161 0 0 0.946638 -3.17191 0 -1.18076 -2.16235 -0.0168304 -2.04432 0.926535 -2.11324 0 0.0818547 0.511049 -0.137793 0.0769771 0.169673 0.092138 0 0 0.52126 1.13084 0 -0.884579 -0.719772 -0.380937 0 0 0 0 0.819392 3.98132 0 -1.01091 -0.676883 0 0 0 -6.4417 0 -9.05496 14.9422 0 -4.89619 7.43281 -10.0261 0 -6.25434 11.1697 -21.1845 38.9006 0 0 0 -0.570548 -0.136033 0 0 0 -0.122312 -0.0120241 0 -0.0242966 0 0.0241346 -0.112639 0 0 0 0 -0.208182 0 -0.0520814 0 -0.422702 0 -0.466007 -0.617277 0 -0.0177641 0 0 -0.600656 0.00807508 -0.132101 0 0.0131076 0 -0.000925156 -0.0768659 -0.109039 0.108694 -0.0106296 0 0.00177106 0 0 0 0.000927679 0 0 -0.0104211 -0.00259853 -0.331584 0.0215958 0 0 -0.0515804 0 -0.000235996 0 0 0.0117281 0.0421351 0.184348 0.015055 0 0 -0.100638 -0.00990462 0.0182257 0.178329 0.275287 0 0.108277 0.00926402 0.142499 0 0 0 1.28533 0 -0.125669 0.885447 0 0.0149889 -0.0455461 0.280983 0 -0.00824505 0.0414734 -0.104067 0.328751 0 -0.740001 -0.570548 -0.415155 -0.136033 0.953976 0.229489 -0.416645 0.512964 0.650672 0.210234 -0.0650943 0.344638 0.037498 0.150089 -0.122695 0.121312 -0.0188159 1.02608 -0.68577 2.04295 -0.389876 0.0299722 -0.287782 -0.110778 -0.473519 -0.179043 0.882495 0.0510862 -0.421661 0.0996017 -3.0474 -0.513039 -0.0270433 0.499092 -1.25903 -0.00269992 -0.00867968 0.0606989 0.00241923 -1.31423 -0.00517973 -0.0285996 -0.189007 -0.831366 -0.00186111 -0.0635891 -0.101917 0.314326 -0.063823 -0.503371 2.09459 0.816949 0.197386 -0.0991761 0.0148674 -1.67503 0.764729 -0.78718 0.354284 0.668416 -2.26906 1.74066 -0.50255 -0.675598 6.14571 -0.329092 0.0570639 -0.0125794 -0.044812 0.615593 -0.189085 0.116068 -0.421073 0.11192 0.13788 -0.496617 28.757 3.58158 -3.13091 -1.74561 -2.08811 7.75236 -2.10357 0.647243 0.748099 0.0605564 -2.08472 1.06425 -0.168244 -0.511586 1.90546 0 +425 0 0.0631056 0.191912 0.0162115 -0.0815671 0.0384698 0.0190623 0.733991 1.04852 0.386433 0.388804 0.11273 0.951468 -0.00807286 1.23121 0.0346637 1.66748 7.24932 0.0375724 0.044161 -1.59224 0.0462088 0.191764 0.00939373 0.0864993 0.486765 0.371074 0.132956 -0.183008 -1.16412 0.453169 0.0579588 0.258625 0.136002 0.325564 0.305169 0.0353706 0.500909 0.121294 0.407132 -0.534261 -0.0396822 1.70399 0.104816 2.23861 -0.109796 0.0166912 -0.414791 0.335982 -0.453271 2.6428 -0.337764 0.532061 0.13923 0.0836354 -0.028587 -0.749541 1.078 -0.293315 0.284192 0.146361 -0.803419 0.778121 -0.295808 -1.17121 -1.77464 -0.71451 1.18056 1.80458 0.00706964 0.26371 0.226651 0.945826 -0.320243 -2.52969 -0.133706 0.837628 2.839 1.1063 -1.7595 -0.374602 0.207817 0.324491 -0.601121 0.202088 0.54809 -3.39737 0.263792 -0.679588 1.70886 -3.17093 6.58255 0 0 0 0 0 0.0162115 -0.0815671 -5.69251e-05 0 0 0 0 -0.000611396 0 0.00889751 0 0 -0.000779506 -0.00206569 0.0100891 0 0.00275906 -0.025865 0.00277766 0 0 -0.0752364 -0.000137862 0 -0.0464332 -0.693391 0 0 -0.000847747 -0.173054 0 -0.215821 0 0.00343471 0 0 0.00158899 0 0 -0.538616 -0.0084405 -0.0148943 0 0.00214358 -0.00472533 0 0 -0.16178 0 0.000517417 -0.0669208 0.00213151 0 0 0.00526052 -0.00830667 0 -0.0142634 -0.0317892 0.000899498 -0.437403 -0.0379392 -0.00510949 0 -0.00674471 0.00460984 0.143031 -0.15404 0.0274416 0 0 0 3.90986 0.336698 0.227407 0.00931058 0.0381635 0.0130427 0.00151668 -0.000687955 0.0036089 -0.00139485 0 0 0 0 0 0 0.0384698 0 0.0190623 0 0 0 0 0.0256806 0.697901 0 0 0.154163 0 0.0125983 0 0.0300854 0 0 -0.448638 0 -0.0391216 0.00796508 -0.0337981 -0.0632847 0 0 0.230345 0 3.90412 0 -1.09487 0.780376 0 -0.0286855 -0.408319 -0.00591824 0 0.00907003 0 0 0.0926192 0 1.53938 -0.922778 0 0 -0.135702 0 0 -0.428892 -0.840134 0.0316253 0 -2.97568 0 0.924824 0.0786561 -0.0860862 0.0544214 0.243467 -0.157706 -0.894157 -0.0627464 2.04183 -0.407302 -0.172821 0 0 0 0.0457149 0.0362823 0 0 0 0 0.051922 5.60736 -0.510652 0.909191 0.2216 -0.308052 0.687421 -0.0820674 0.0107008 0.0118676 -0.0340277 0 0 0 0 0 0 +426 0 -1.05348 0.346124 -0.00034626 -0.0747579 -0.198098 0.289088 -0.358202 0.404128 -0.00805361 -0.57666 0.235323 0.771128 0.00108813 -0.459961 -0.00342907 3.62825 13.1282 -0.121609 0.00850918 0.199286 0.00282577 -0.208834 -0.00423763 -0.100727 -0.284214 1.17669 0.0763568 -0.670105 -0.658736 0.170285 -0.0114145 -0.0586598 -0.184475 -0.0443732 -0.309116 0.0196283 0.629838 0.408086 -0.00429983 0.473855 0.00885296 1.17317 -0.0120006 1.58052 0.0764014 0.699766 -0.877237 -0.0955541 0.0326113 -0.725548 -0.31791 -7.16762 -0.0405043 0.0171367 -0.128496 -4.54753 -0.249028 0.0555502 0.208894 -0.0210042 -1.16323 -0.102636 0.551813 0.0362503 0.022507 0.630983 0.00398246 0.271966 0.000799894 1.18476 -0.445481 -0.0761747 -0.811374 -0.465636 0.53967 -0.0148863 -4.70818 1.84431 -2.56492 1.48117 -1.58708 0.97374 0.966713 -1.10152 2.12976 -1.77435 -0.18356 0.137729 0.575323 -1.13081 3.72484 0 0 0 0 0 -0.00034626 -0.0747579 0.00344947 0 0 0 0 0.00109541 0 -0.0101513 0 0 0.00240889 0.00109765 0.00383183 0 -0.00121461 0.041137 -0.0184905 0 0 0.37253 3.99591e-05 0 0.070355 1.45978 0 0 0.0558229 0.288166 0 0.194362 0 0.0501827 0 0 0.00765854 0 0 0.516329 0.0152326 0.0377182 0 0.0495854 0.0592417 0 0 -0.302933 0 -0.00905438 0.2414 0.0188703 0 0 -0.00120233 -0.0157901 0 0.0316076 0.0634033 -0.00780102 -1.66069 0.033738 -0.045627 0 -0.0113386 -0.0271745 -0.0840982 -0.180024 -0.0247759 0 0 0 -2.77868 0.0744869 -0.372685 -0.0454999 0.1042 -0.261947 -0.00234879 0.000954547 0.0016204 -0.019483 0 0 0 0 0 0 -0.198098 0 0.289088 0 0 0 0 0.197112 0.21414 0 0 -0.361115 0 -0.0505031 0 -0.0106584 0 0 -0.456451 0 -0.981477 0.0695486 -0.343631 -0.0650297 0 0 0.0143566 0 -0.857817 0 0.488186 0.120174 0 0.60326 -1.17208 -0.0382281 0 0.0115051 0 0 0.0208863 0 -0.56174 -0.205901 0 0 -0.0171153 0 0 -0.181578 1.10645 -0.013802 0 -0.1611 0 -1.28368 0.218717 -0.115725 0.551404 -0.0161842 -0.600024 1.37306 -0.139069 0.143232 2.29787 -0.0385682 0 0 0 0.112353 0.174794 0 0 0 0 -0.076455 -3.40926 3.64913 -5.85939 1.24254 -1.19585 0.427558 0.41851 -0.376927 0.367302 -0.46294 0 0 0 0 0 0 +427 0 -0.677206 -0.238602 -0.154325 -0.625654 0.560233 0.310684 -1.17337 -4.62966 -0.323454 3.85572 -0.735383 1.04009 0.0452356 0.84474 -0.0749955 0.447742 3.90292 0.425511 -0.151586 3.09258 0.0263411 0.249379 -0.0316568 0.775008 -0.64893 -0.158383 -0.0288386 0.103391 2.35076 0.243954 -0.1228 -0.573708 0.831639 -0.232205 -0.216255 -0.134051 -0.10849 2.87941 -1.60642 1.01352 0.238409 -1.2391 -0.363141 4.46743 1.01051 0.385353 0.86585 -1.34992 0.693524 -2.90276 1.52319 -1.42891 0.336016 -0.783884 1.54577 0.345893 -0.378138 -0.848024 -1.18795 -0.332593 1.12285 0.244788 -1.44058 0.103908 1.71765 -0.160914 -0.540166 -1.2311 -0.121346 -1.91885 0.611301 -1.16085 0.0441366 0.713795 -2.54563 -0.48884 -9.27397 -11.1249 10.4745 -5.15006 4.97143 -6.79595 -5.83016 5.78555 -8.40302 10.5461 -2.42783 3.6831 -5.68092 8.62055 -13.2924 0 0 0 0 0 -0.154325 -0.625654 -0.000729876 0 0 0 0 0.00191584 0 -0.0492273 0 0 0.011342 0.0333159 -0.085972 0 -0.0124671 -0.0337498 -0.364596 0 0 -0.0777894 0.00241633 0 -0.0329856 -0.823527 0 0 -0.0080002 -0.136112 0 -0.199106 0 -0.0675737 0 0 -0.00761571 0 0 -0.582075 0.0271852 0.155698 0 -0.00790289 0.0665014 0 0 -0.11692 0 -0.0181104 0.0069869 0.045232 0 0 -0.0106126 -0.0117844 0 0.00760249 0.0612636 0.0127979 0.234876 0.018651 -0.00340398 0 0.00237934 -0.104367 0.25185 -0.0938845 -0.0698342 0 0 0 4.05549 -0.20114 0.921805 0.0663746 -0.0947243 0.210347 -0.0115074 0.0198127 -0.0398387 0.0913896 0 0 0 0 0 0 0.560233 0 0.310684 0 0 0 0 -0.642719 -1.0529 0 0 1.75101 0 0.222855 0 -0.0407241 0 0 0.989109 0 0.421752 -0.244556 0.608066 0.112163 0 0 -0.453811 0 4.06685 0 3.48351 0.184369 0 -1.78008 1.18787 0.0837157 0 -0.0937775 0 0 -0.0849106 0 0.946873 2.61781 0 0 0.291682 0 0 0.884557 -4.0958 0.00398666 0 0.789282 0 2.43465 -0.861315 0.386816 -1.84145 -0.0117924 1.68411 -2.93176 0.481749 -0.583306 -6.59797 0.211188 0 0 0 -0.565159 -0.484191 0 0 0 0 0.355978 -24.0203 -13.288 12.766 -3.46248 2.7373 -2.04051 -1.53069 1.2377 -1.23174 1.35935 0 0 0 0 0 0 +428 0 0.850052 0.254563 0.0445495 0.0226476 0.152197 0.194058 0.304673 0.994953 0.310103 -1.17402 0.511616 0.62482 -0.0216936 2.10564 0.0426934 0.0323446 -0.275748 -0.166705 0.077688 2.15188 -0.0344356 -0.43454 0.0196065 -0.345675 -0.142357 0.160199 0.100782 -0.660073 -1.60563 0.530525 0.0772774 0.0953003 -0.984414 0.365095 -0.204136 0.114338 0.523315 -3.12316 0.869819 1.45082 -0.0970837 1.83175 0.204084 2.59886 -0.366093 0.855536 -1.05507 0.202932 -0.640952 2.91013 -1.25413 -6.88481 0.084385 0.073452 -0.617949 -3.49569 -0.601817 -0.349202 0.766739 0.24578 -2.26898 -2.39331 -1.97387 -0.540008 -1.59426 0.224289 -0.692818 0.737514 -0.0748984 1.31397 -0.813759 0.885714 0.324504 -3.60693 1.52793 -0.783459 16.1537 9.41716 -4.13838 5.59934 -5.27873 9.28745 2.22587 -2.33994 4.28308 -3.09183 0.817045 -1.36367 2.47189 -3.33987 5.96626 0 0 0 0 0 0.0445495 0.0226476 0.000777654 0 0 0 0 -0.000249253 0 0.00935664 0 0 -0.0045391 -0.0126042 0.0233457 0 0.00327414 -0.0288108 0.0553416 0 0 0.369611 -0.000879639 0 0.063668 0.649883 0 0 0.0542365 -0.00748346 0 0.0424836 0 0.0771337 0 0 0.0111123 0 0 -0.216809 -0.00379583 -0.070417 0 0.00586199 0.065123 0 0 -0.36894 0 -0.00252705 0.048602 -0.00732281 0 0 0.00790936 -0.00649915 0 -0.00977792 -0.0461502 -0.00426368 -0.825779 -0.0688842 -0.0317947 0 0.0103583 0.0130632 -0.00810484 -0.0831761 0.0349433 0 0 0 4.07523 0.657703 0.086199 -0.0298487 0.147718 -0.187415 0.00471677 -0.0048466 0.0159131 -0.0202954 0 0 0 0 0 0 0.152197 0 0.194058 0 0 0 0 0.47672 1.2432 0 0 -0.41175 0 -0.0665625 0 0.0727336 0 0 0.0598262 0 -0.293196 0.0959425 -0.402402 -0.0130848 0 0 0.442234 0 5.3473 0 -0.679072 0.774004 0 0.592781 -0.349387 -0.0584683 0 0.0727461 0 0 0.179679 0 2.25841 -0.364318 0 0 -0.0771181 0 0 0.0358443 -0.624307 0.568455 0 -1.32419 0 -0.644428 0.436687 -0.511993 0.518677 0.0726291 0.0199145 0.293855 -0.268255 -0.103125 -0.68324 -0.0392046 0 0 0 -0.171367 0.199995 0 0 0 0 -0.080212 2.37289 2.82364 -3.48811 0.450679 -0.421993 0.570122 0.45131 -0.421343 0.428605 -0.553783 0 0 0 0 0 0 +429 0 -0.237884 -0.436152 0.0166921 -0.173086 -0.00915752 -0.165517 0.574336 1.35919 0.38432 -0.716055 -0.321699 0.480999 -0.0157461 1.76155 0.00776981 -1.49006 -3.18002 -0.202084 -0.0590944 2.51637 -0.0992904 0.418012 0.0274655 -0.343724 0.605834 -0.757884 -0.0141808 0.415605 1.60841 0.291069 0.104331 0.0421762 0.492521 0.209328 0.355503 -0.0128166 0.00640128 0.505861 -0.710798 0.579833 -0.0450927 0.590511 -0.034236 2.69848 0.031113 -0.0457172 0.776642 -0.330032 0.00263465 1.42257 -0.0147745 -1.57752 0.396466 -0.287618 0.121368 1.51572 1.37778 -0.0378327 0.546458 0.126281 -1.01342 -2.2959 1.12194 -2.01583 -0.509848 -1.08816 1.01875 -0.0362051 -0.192354 1.63626 -0.0481155 -0.0315591 -0.0760859 -3.02195 -0.142064 -0.764133 -8.20624 0.490577 -4.91345 -0.370074 1.02413 -3.79571 0.716772 0.328166 -1.15928 -0.985797 -0.069438 0.826582 -1.85263 3.04741 -5.9766 0 0 0 0 0 0.0166921 -0.173086 -0.000421967 0 0 0 0 -0.00118267 0 -0.0323139 0 0 0.00819248 0.0163839 -0.0245045 0 -0.00396937 0.013588 -0.227791 0 0 -0.0536184 0.00120835 0 0.0274124 -0.295894 0 0 -0.010074 0.0050679 0 0.00483451 0 0.00725103 0 0 -0.000146423 0 0 0.0918437 -0.0159671 0.110927 0 -0.00209804 0.118611 0 0 -0.279022 0 -0.0186445 -0.124866 0.051431 0 0 -0.008395 -0.0124836 0 0.0145131 -0.019419 0.0206687 -0.261018 0.0864332 -0.0343398 0 0.0184726 -0.118939 0.0924244 -0.073857 -0.155297 0 0 0 1.51171 0.0279817 0.419502 -0.0112074 0.0594058 -0.0945374 -0.0087855 0.0168932 -0.0345931 0.0584121 0 0 0 0 0 0 -0.00915752 0 -0.165517 0 0 0 0 -0.0177347 0.535928 0 0 0.353065 0 0.0156387 0 0.0340285 0 0 -0.252359 0 1.12338 0.0952196 0.254125 -0.0519048 0 0 0.19972 0 2.56712 0 5.06065 0.115675 0 0.361259 2.25539 0.020049 0 0.0207039 0 0 0.0931449 0 0.723941 -0.550127 0 0 -0.112593 0 0 0.281223 1.10956 0.143695 0 -1.49064 0 0.828722 -0.194836 0.0378685 0.091357 -0.233935 1.63613 -0.447776 0.143373 0.620292 -3.13304 0.338085 0 0 0 -0.379861 -0.0418411 0 0 0 0 0.2087 -46.0257 -8.55852 1.63042 -4.03932 3.27548 -3.37398 -0.376974 0.286309 -0.202235 -0.237899 0 0 0 0 0 0 +430 0 -1.51258 -0.444788 -0.162687 -0.52289 0.281638 0.27503 -2.22368 -5.84016 -0.327705 4.41948 -0.601121 -0.153933 0.0615838 1.41848 -0.0646258 -2.10989 -10.1713 0.673215 -0.208276 4.07867 0.138113 -0.0222396 -0.0538793 1.10286 -1.15669 -0.378493 -0.0399023 -0.117317 0.619599 0.228433 -0.159176 -0.42115 0.563713 -0.199502 -0.465696 -0.129568 -0.606635 4.86638 -1.20745 1.71061 0.245449 -2.12383 -0.298561 1.31116 0.826173 0.754448 0.0882284 -1.23806 0.505352 0.279684 1.63579 0.645255 0.430002 -0.538796 0.621245 -0.716059 -0.0402567 -0.20038 -1.49027 -0.31511 1.07771 0.301767 -0.822274 2.05123 1.31391 1.04284 -0.893834 -1.22066 0.0478736 -2.90896 -0.0911258 -0.723996 0.785129 -0.36175 0.241706 0.858191 -16.5852 -11.9049 11.0584 -7.04142 7.65046 -9.47785 -7.16877 6.91784 -8.34278 11.4769 -1.84385 2.23437 -2.22637 2.90854 -2.30233 0 0 0 0 0 -0.162687 -0.52289 -0.00239193 0 0 0 0 0.00121417 0 -0.0300501 0 0 0.00619496 0.023046 -0.0794127 0 -0.00816894 -0.0888164 -0.270803 0 0 -0.11722 0.00170448 0 -0.145769 -1.64727 0 0 -0.0147092 -0.414889 0 -0.389814 0 -0.0811748 0 0 -0.0094989 0 0 -0.884234 0.0167862 0.0809321 0 -0.0342841 0.0137776 0 0 -0.0194884 0 0.00081236 -0.104038 0.00557533 0 0 -0.00464833 0.00442866 0 -0.0132392 0.0252867 0.00872121 1.22599 -0.0449694 0.0171501 0 0.00807191 -0.0395152 0.212136 0.0660646 -0.0317821 0 0 0 5.62264 -0.0517241 0.960742 0.0772566 -0.107097 0.276351 -0.00602518 0.0124672 -0.0256051 0.0792304 0 0 0 0 0 0 0.281638 0 0.27503 0 0 0 0 -0.341333 -1.73662 0 0 1.71192 0 0.209871 0 -0.113715 0 0 0.506558 0 0.691261 -0.15855 0.507001 0.0898021 0 0 -0.82211 0 -5.39231 0 7.10014 0.440123 0 -1.19498 2.28862 0.0618075 0 -0.0442336 0 0 -0.238556 0 -0.591318 0.817062 0 0 0.134294 0 0 0.0344586 0.0611202 -0.80093 0 0.430111 0 1.14986 -1.11071 0.96795 -1.51835 -0.192787 2.51303 -1.04185 0.498469 1.66115 3.63216 0.464671 0 0 0 -0.00208095 -0.472658 0 0 0 0 0.399947 -53.1128 -15.6183 9.44569 -5.29466 4.27158 -4.50234 -1.392 1.13571 -1.2011 0.915985 0 0 0 0 0 0 +431 0 0 0 0 0 0.166814 -0.283683 0.625375 0.147698 0 0 0.047996 -0.185539 0 -0.921146 0.000670045 0 0 0 -0.0942697 1.4766 0 0 0 0 0.469233 0 0 0.966811 0.977473 -0.577559 0 0.562897 0 0 0.410904 0.0156416 0 0 0.22076 -0.175184 0 0 0.0465382 0.921912 0 -0.810899 1.15411 1.02189 -0.0700139 -4.01066 0.358889 0 0.0791036 -0.257055 0.1922 0.095339 -0.127279 -0.390034 0 0 -0.325654 -2.58619 0 -0.472326 1.07059 -0.0351712 0 0 0 0 -0.169938 0.387186 0 0.19119 -1.01633 0 0 0 -1.29102 0 -0.163913 -2.21856 0 0.152855 -0.656688 0.74255 0 -0.169019 0.304179 0.422383 -3.6406 0 0 0 -0.0503519 0.0154628 0 0 0 -0.0405315 0.0219154 0 -0.00745101 0 0.00823418 -0.0357659 0 0 0 0 -0.210227 0 -0.0275474 0 -0.410376 0 -0.193043 0.0136417 0 -0.00407522 0 0 -0.164241 0.00205257 -0.00883729 0 0.00414893 0 0.00163545 0.0220537 -0.0261073 0.0175547 0.0053679 0 0.000668666 0 0 0 0.00026299 0 0 -0.00617019 0.00234824 -0.482416 0.0317276 0 0 0.0160604 0 -0.00293505 0 0 0.00466942 0.00600807 -0.121882 0.0600821 0 0 -0.150553 0.00991278 -0.0103771 -0.259791 -0.503055 0 -0.167088 -0.00196937 0.0727363 0 0 0 1.93108 0 0.0394277 0.411531 0 0.0199184 -0.0109189 0.477474 0 -0.00371394 0.0143319 -0.022068 0.127531 0 0.166814 -0.0503519 -0.283683 0.0154628 0.0288934 2.41004e-05 0.17858 0.272949 1.94016 -0.0311895 0.0267063 -0.201276 -0.00574627 -0.0201409 0.0381891 0.0901437 0.0331294 -0.130056 0.261142 -0.46654 -0.372397 0.0208653 0.169995 0.0315707 0.210857 0.0310216 0.833302 -0.0145415 -0.442295 -0.0393745 -0.765878 -1.63169 0.00713247 0.230339 -0.203984 0.0359235 0.000430238 0.00928547 -0.00916968 0.164406 0.273754 0.00552691 -1.88647 0.901064 0.0046187 0.00253564 0.0881651 -0.0811283 -0.0999623 -0.125738 -0.926712 -1.1361 -0.0483994 0.576755 -0.0525506 -0.42966 0.501499 0.201591 -0.14882 -0.00290521 -0.490979 0.311908 -0.123381 -1.67264 -4.75736 0.0856942 0.303216 0.0453315 -0.123785 -0.10115 0.0256022 -0.0235538 0.0824009 -0.0676798 0.0522621 -0.165843 2.09477 0.580152 -0.0378632 0.382734 0.0895636 -0.495601 0.105617 0.0443492 -0.0457515 0.171858 0.0695806 -0.00417386 0.0213807 0.0456888 -0.0639553 0 +432 0 0 0 0 0 0.520017 0.0869866 0.106645 -0.729851 0 0 0.189221 -0.857359 0 0.133091 0.0534214 0 0 0 -0.0242913 -2.43143 0 0 0 0 -0.223283 0 0 -0.141048 -1.79834 0.00848001 0 0.424993 0 0 -0.0795449 0.0150288 0 0 0.648375 -0.667171 0 0 0.113899 -2.99666 0 0.0982065 -0.41116 0.290887 -0.279589 1.88763 -0.562738 0 0.0704117 0.157485 -0.239675 -0.609718 -0.105575 -0.427167 0 0 -1.14535 1.41927 0 -0.461065 -0.475293 -1.04232 0 0 0 0 -0.26998 0.530251 0 0.231869 -0.244083 0 0 0 3.06416 0 -0.615678 3.4164 0 -0.533934 2.25362 -0.749613 0 -0.796287 2.03732 -2.99266 5.14845 0 0 0 -0.121764 -0.0195168 0 0 0 0.0283764 0.0264114 0 0.00330857 0 -0.00334808 -0.0106535 0 0 0 0 -0.0555656 0 0.00481481 0 -0.288088 0 0.277723 -0.0659351 0 0.000947603 0 0 -0.0566115 -0.000393942 0.00428076 0 0.00542973 0 0.00318036 -0.0920978 -0.00262996 -0.014632 -0.0103022 0 -0.000223688 0 0 0 0.000478865 0 0 0.00142701 0.00572722 -0.225427 0.0105566 0 0 -0.00503435 0 -0.00575117 0 0 0.01983 -0.0615365 -1.03195e-05 0.041297 0 0 -0.021918 -0.00256925 0.0162534 0.0612002 0.172246 0 0.217121 -0.0263203 -0.0232914 0 0 0 1.07669 0 0.125874 -0.0274377 0 0.0156268 -0.0313429 -0.0566143 0 -0.000133481 0.0106741 -0.00733771 -0.188232 0 0.520017 -0.121764 0.0869866 -0.0195168 0.353997 0.0765511 -0.0296721 -0.239573 -0.267552 0.0228735 0.0414676 0.272028 0.00376446 0.0384332 -0.0177967 0.00480532 0.0159098 0.140265 -0.110832 0.0769342 -0.124489 -0.0521777 -0.0829151 0.00352852 0.15753 -0.0443966 0.0334064 0.014455 -0.931275 0.260328 -0.650053 0.17513 -0.00414059 -0.703074 -0.513835 -0.0178809 0.00552115 -0.0510073 0.0524505 -0.348085 -0.0571149 -0.00724333 0.163457 -0.208281 0.00466891 0.0245731 0.0389446 0.0459058 -0.021578 -0.237763 1.03347 1.29972 0.0226205 -0.767912 0.0473516 -0.330756 -0.00385485 -0.720862 0.0468856 -0.215781 0.147309 -0.0167484 -0.10923 -0.0628949 -5.88519 0.153263 -0.230615 0.0603303 0.295458 -0.136105 -0.0414558 -0.0465301 -0.0379911 0.0734422 -0.154758 0.175691 1.77798 -0.113231 0.804219 -0.0179309 -0.885157 0.585026 -0.128607 -0.154175 0.296815 -0.589224 -0.0750423 -0.118313 0.186124 -0.246113 -0.253853 0 +433 0 0 0 0 0 -0.770223 -0.139363 0.142778 1.53614 0 0 0.563324 0.378459 0 -1.36286 0.0394823 0 0 0 0.0847357 -3.43879 0 0 0 0 0.364739 0 0 -0.105384 -5.45714 -0.139717 0 0.035988 0 0 0.0162403 0.0315002 0 0 2.04382 -1.33108 0 0 0.293798 -0.568743 0 -0.436134 -1.2418 0.172802 -0.241013 -2.61368 -0.0401736 0 -0.325036 0.327972 -0.12909 0.243069 -0.112272 0.415702 0 0 0.746127 3.49852 0 -1.19368 0.266681 0.598911 0 0 0 0 0.0337609 0.35089 0 3.85866 -0.100785 0 0 0 -2.50747 0 -1.27974 3.01734 0 -0.0183995 1.77109 -4.22823 0 -0.92452 3.88946 -8.73876 16.6301 0 0 0 -0.333988 -0.0588274 0 0 0 0.0540734 -0.0433065 0 0.00726339 0 -0.0135381 -0.0370448 0 0 0 0 -0.0219234 0 0.00181536 0 -0.29568 0 0.449391 0.47768 0 0.00203517 0 0 -0.0400099 -0.00516329 0.0694908 0 -0.00322374 0 -0.00306683 0.123552 0.00334545 -0.0782077 0.0129425 0 -0.00093824 0 0 0 -0.000255261 0 0 0.013801 -0.00461437 -0.248614 -0.0657566 0 0 -0.0253022 0 0.00537401 0 0 -0.00916906 -0.0183298 0.140856 -0.00946523 0 0 -0.150128 0.0512711 -0.0157256 -0.235269 0.0483647 0 -0.198579 -0.0280996 0.0489854 0 0 0 1.39903 0 0.204412 0.410591 0 -0.00252518 0.0695084 0.314658 0 0.00628982 -0.00736802 0.0495511 0.23831 0 -0.770223 -0.333988 -0.139363 -0.0588274 0.549819 0.118871 -0.391384 0.645316 -1.72198 0.0265812 -0.0321275 -0.500477 0.0047905 -0.0296737 -0.0583789 -0.0833405 -0.0400812 0.113515 0.179361 0.397468 -0.305008 0.235361 -0.523373 0.0361719 -0.245739 -0.0969803 -0.641294 0.0105931 -9.44435 0.660005 -2.93992 -0.70501 -0.00873645 1.94939 -1.50101 -0.0615116 0.00657775 0.0719243 0.0750908 -0.964329 -0.264415 -0.0101431 -3.20912 0.468751 -0.00579677 0.0640048 0.0896061 0.0616281 0.13839 -0.180931 -1.11036 -0.0587954 0.0215004 -0.579904 0.10397 -0.274954 -0.0533442 -0.11616 0.0147827 0.52487 0.385799 -0.0116399 -0.243812 1.93902 -1.78366 0.0302889 -0.552438 -0.113133 -0.0777669 0.18184 0.0641994 -0.15335 0.0105066 0.150975 0.257164 0.539334 8.04106 1.85481 -6.65378 0.631196 -2.91839 3.96757 0.0886883 -0.619245 1.0545 -1.26148 -0.0607312 -0.301173 0.611044 -1.04062 1.81088 0 +434 0 0.0443457 -0.0886585 -0.0382877 -0.0876078 0.0660319 0.130099 -0.315531 -0.356004 -0.359329 0.783747 -0.265396 0.0475781 0.008069 0.0704876 -0.0592166 -0.66294 -1.48435 0.00126102 -0.0601028 -1.02346 0.0158559 0.00534485 -0.0106121 0.253474 -0.0821424 -0.232687 -0.0323212 -0.338256 0.198014 0.135187 -0.0640163 -0.567472 -0.131673 -0.182767 -0.153352 -0.0495817 -0.387472 -0.380543 -0.427248 -0.179181 0.0482786 -1.36864 -0.0845374 -0.0429637 0.252271 0.153587 -0.200828 -0.736706 0.220479 1.16867 0.372621 2.39252 0.0345868 0.00656059 -0.0359827 0.494905 -0.250502 -0.217777 -0.351946 -0.105456 0.219229 1.12361 -1.05508 -0.629913 -0.125422 -0.503214 0.506013 -0.158706 0.114578 -0.163058 0.289746 -0.416416 0.391168 0.0641378 0.322681 0.0674301 -2.37849 -3.20652 1.39223 0.0879457 -0.523901 1.48066 -1.09836 0.567336 -0.709618 -0.121039 -0.115439 0.223347 -0.342601 0.602082 -0.466709 0 0 0 0 0 -0.0382877 -0.0876078 0.00530108 0 0 0 0 0.000671903 0 -0.0119931 0 0 0.00415724 0.00347407 -0.02222 0 -0.00214812 -0.00221342 -0.119546 0 0 -0.309511 0.000320753 0 -0.118499 -0.0979792 0 0 -0.0353055 -0.0146179 0 -0.366642 0 -0.0532516 0 0 -0.00511757 0 0 -0.825575 0.011926 0.0535729 0 0.0807957 0.0308971 0 0 -0.0217515 0 0.0114812 -0.559968 -0.0177771 0 0 -0.00819054 -0.00844069 0 0.0083952 0.0512303 0.0215826 -2.38228 0.0131548 -0.0162859 0 -9.90545e-05 0.125381 -0.0694336 -0.0852507 -0.0662987 0 0 0 6.81535 0.168206 0.655731 0.0296478 -0.0667956 0.965321 -0.00585313 0.0100697 -0.0077263 0.0453312 0 0 0 0 0 0 0.0660319 0 0.130099 0 0 0 0 -0.126182 -1.01136 0 0 0.0810468 0 -0.000255498 0 -0.0514507 0 0 0.189943 0 0.277218 -0.0106237 0.0145252 0.00891826 0 0 -0.476606 0 2.89627 0 -0.32686 0.960926 0 -0.0565346 0.0412992 -0.00153083 0 -0.0189583 0 0 -0.11486 0 1.77356 0.165671 0 0 -0.016214 0 0 0.10772 0.0838019 -0.140793 0 -0.238033 0 -0.71759 -0.0249138 0.0418097 -0.355949 -0.041265 0.367871 0.520575 0.00441373 0.86494 5.07425 0.0406906 0 0 0 -0.010915 -0.0116162 0 0 0 0 0.0170324 3.32488 0.0116816 0.299806 0.105804 -0.0807211 0.420446 -0.0683125 0.0736325 -0.0445012 0.0653979 0 0 0 0 0 0 +435 0 1.56771 -0.26356 0.000743796 0.0440078 0.19774 -0.194159 0.381015 -0.164756 -0.0684436 -0.130832 -0.105631 -0.334093 -0.00249782 -0.574537 -0.0744613 -1.88075 -7.38879 -0.0170422 -0.132797 0.537195 -0.0150555 0.385589 0.00167877 -0.0270371 0.3095 -0.731902 0.0213553 0.596017 0.390614 -0.183635 0.00252902 -0.558289 0.21541 0.186087 0.374506 -0.0203866 -0.094099 -2.25944 0.0157317 -0.522767 -0.0166765 -0.555542 -0.00560002 -0.924523 -0.106467 -0.695706 0.683003 -0.959239 -0.0168115 -0.428106 -0.0554415 -3.52472 0.257454 -0.0773748 0.136486 1.57982 -0.0597202 0.294113 -0.000827882 0.0534531 -0.62186 -0.558511 -1.48419 0.0307731 -0.164411 0.35026 -0.908545 -0.0930325 -0.0191653 -0.277293 -0.192023 -0.24539 -0.037937 0.442302 -0.545928 -1.03671 14.8714 3.49828 3.20855 1.64859 0.0895204 1.8391 0.114554 0.361098 -0.384517 0.942784 0.0487193 -0.0566039 0.0360969 0.175927 -0.920659 0 0 0 0 0 0.000743796 0.0440078 0.0019627 0 0 0 0 -0.000138929 0 0.0105164 0 0 -0.00152337 -0.00595616 0.0188226 0 0.00226017 0.0074989 0.110942 0 0 0.160089 -0.000361062 0 0.0290613 0.533234 0 0 0.0151063 0.0583592 0 0.0159722 0 0.0311386 0 0 0.00308308 0 0 -0.492434 -0.00325909 -0.0321641 0 0.0191546 0.0439853 0 0 -0.211082 0 0.00369498 0.0430671 -0.0188407 0 0 0.00214162 -0.00384678 0 -0.00105288 -0.0645273 -0.0142468 0.0631368 -0.0606261 0.00664156 0 0.0126944 0.0639943 -0.104148 0.0102297 0.0428929 0 0 0 2.42017 0.206645 -0.339165 0.0213408 -0.0231249 0.164608 0.00120281 -0.00386883 0.0356906 -0.121776 0 0 0 0 0 0 0.19774 0 -0.194159 0 0 0 0 -0.0127801 -0.53938 0 0 0.265233 0 0.0214385 0 -0.0254238 0 0 0.0805228 0 0.783283 -0.0490978 0.0718839 0.00485336 0 0 -0.2804 0 0.755448 0 -1.00853 -0.171557 0 -0.379634 0.761972 -0.00131379 0 0.00314728 0 0 -0.0620707 0 -0.0989348 0.450027 0 0 0.0519434 0 0 -0.125318 -0.822583 -0.0414574 0 -0.17413 0 0.0184471 -0.0577761 0.0709243 -0.25051 0.116684 -0.266031 -0.141955 -0.0872119 0.0491492 0.611588 -0.0970895 0 0 0 0.0474255 0.0206259 0 0 0 0 -0.0837805 9.82569 -0.583548 2.38854 0.1271 0.0470491 0.453198 -0.120896 0.0786611 -0.0883377 0.0582377 0 0 0 0 0 0 +436 0 -0.871533 0.217481 -0.0502506 -0.315134 0.522041 0.20576 -0.207921 -1.82207 -0.428998 1.02111 -0.238347 0.964786 0.00379034 1.79709 -0.0300308 1.60557 6.63884 0.162083 -0.0369276 6.03347 0.00894703 -0.0953532 -0.00793287 0.136318 -0.115682 0.312175 0.0268406 0.166489 1.60594 0.353545 -0.0576606 -0.140603 -0.170806 0.11239 -0.0118842 -0.0312178 0.142204 -0.814564 -0.386163 2.61913 0.0193335 0.491798 -0.0624201 4.10078 0.062846 0.999576 0.764144 -0.170578 -0.0214579 0.260948 0.00185224 -4.16055 0.12921 -0.120624 0.295865 -1.99857 0.802152 0.34666 -0.00153901 0.00336104 -0.463314 -6.23685 -0.550978 -1.21003 -0.17375 -0.655675 0.755217 0.210588 0.129508 0.437566 0.147912 0.13638 -0.0890996 -4.35085 -0.637728 0.323162 4.73921 -0.0577024 3.03853 0.824837 -0.126282 0.838884 -0.313552 0.880475 -2.14286 3.45867 -0.0287583 0.119642 -0.441501 1.2546 -3.78512 0 0 0 0 0 -0.0502506 -0.315134 -0.00278991 0 0 0 0 -3.02241e-05 0 -0.0120269 0 0 -0.00411013 -0.0065249 -0.0207366 0 -0.00239974 0.0468567 -0.10548 0 0 0.169105 -0.000424895 0 -0.0474313 1.06804 0 0 0.0212347 0.269831 0 -0.104705 0 0.00112488 0 0 0.000958196 0 0 -0.520521 0.00119677 -0.0602039 0 -0.0346319 -0.0366658 0 0 -0.0490645 0 -0.00535277 -0.883045 -0.00361544 0 0 0.00857869 0.00521321 0 -0.0182514 0.0298375 -0.0300926 0.506412 -0.0169026 0.00294433 0 -0.00638141 -0.0178796 0.199339 -0.0329749 -0.417932 0 0 0 5.17533 0.355351 0.791113 0.0058735 -0.0251337 0.771056 0.00506229 -0.00896842 0.0275106 0.155974 0 0 0 0 0 0 0.522041 0 0.20576 0 0 0 0 -0.361865 0.470378 0 0 1.18775 0 0.126294 0 0.043356 0 0 0.686282 0 0.0531001 -0.141961 0.442939 0.0974227 0 0 0.334213 0 10.0469 0 3.67566 0.996036 0 -1.16729 0.885182 0.0467823 0 -0.0480195 0 0 0.0677339 0 3.69811 1.40663 0 0 0.195974 0 0 -0.356149 0.300954 -0.404952 0 -1.01265 0 0.101779 -0.0315253 0.207721 -0.109816 0.0424067 0.523584 -0.146624 0.0759085 -1.32427 -5.50393 0.0159642 0 0 0 -0.0319799 -0.101878 0 0 0 0 -0.139648 -17.499 -5.60996 4.98491 -1.67928 1.62776 -1.93912 -0.470948 0.449995 -0.658614 0.787436 0 0 0 0 0 0 +437 0 -0.182214 0.311243 -0.000704638 -0.0389806 -0.135072 0.258218 -0.68086 -0.582077 0.0470579 0.233732 -0.0349974 1.10079 -0.00046207 1.31957 -0.0161749 2.18675 10.005 0.104257 -0.0311245 0.0432753 0.0325571 0.0508569 0.000834961 0.0875665 -0.216713 0.435204 -0.0169265 -0.559506 -0.822657 0.55794 0.00645992 -0.147548 0.147523 0.00456214 -0.233142 -0.0132839 -0.100918 -0.444023 -0.0536444 0.679076 -0.00360563 0.0481017 -0.0124278 2.5035 -0.0218291 0.700668 -0.719657 -0.285493 0.00588929 0.769613 0.15032 -1.47434 -0.00240926 -0.00628184 0.00723162 -3.60041 0.123778 0.0457652 -0.137452 0.0142046 0.559655 -0.6472 -0.936023 -1.37272 -0.135607 0.0473461 0.891003 -0.0542028 -0.00524771 -0.00888764 0.343958 -0.107983 -0.0823597 -2.73 0.640433 0.104542 -8.26815 -3.24111 -0.48163 -0.528931 -0.512724 1.09491 -0.299858 0.0464146 -0.0178903 0.443998 0.00889584 0.00503638 0.18756 -0.173144 1.50254 0 0 0 0 0 -0.000704638 -0.0389806 -0.00339872 0 0 0 0 -0.000419614 0 0.0046908 0 0 0.000220768 -0.00031942 0.00246988 0 8.40697e-05 -0.0083838 0.0470707 0 0 -0.0425328 0.000103661 0 -0.0547569 -0.668252 0 0 -0.00874473 -0.104993 0 -0.237087 0 -0.00701021 0 0 -0.00105527 0 0 -0.776515 -0.00662484 -0.0118858 0 -0.0572585 0.110553 0 0 -0.245775 0 -0.00670823 -0.444755 0.0134021 0 0 -0.000814223 0.00566949 0 0.00285529 0.0231823 0.0142515 -1.20634 0.0329743 -0.0199417 0 -0.0148294 0.0409345 -0.291837 0.0281244 -0.0401518 0 0 0 7.41067 0.48268 0.157377 0.0137616 0.00612277 0.670844 -0.00156289 0.00519874 0.0161132 -0.0724962 0 0 0 0 0 0 -0.135072 0 0.258218 0 0 0 0 0.117688 -0.440061 0 0 -0.0347384 0 -0.00897051 0 -0.0428821 0 0 0.221188 0 0.0639261 0.0261511 -0.0649611 0.0192544 0 0 -0.389994 0 4.4802 0 0.413686 0.889667 0 0.156233 0.354447 -0.00772471 0 0.0209823 0 0 -0.0504036 0 1.6306 0.444635 0 0 0.0518401 0 0 0.0449918 0.391658 0.0048022 0 -0.77096 0 -0.794588 -0.0615227 0.0452952 -0.0772063 -0.109673 0.296904 0.860783 -0.0774579 0.363924 -1.60052 0.142245 0 0 0 -0.000730069 0.0502857 0 0 0 0 -0.0331953 -0.834596 -0.556603 0.185849 -0.334524 0.17206 0.24111 0.0396899 -0.0275556 0.0506768 -0.105066 0 0 0 0 0 0 +438 0 0.149064 0.447033 -0.00529229 -0.0951111 0.10928 0.229019 -0.862245 -1.06775 0.136325 -0.00389884 -0.0245063 -0.200777 8.99658e-05 -1.02522 -0.0186019 0.114402 -1.66676 -0.0433586 -0.0308657 -0.441122 -0.023076 -0.583047 0.0013953 -0.0803222 -0.51844 0.429411 -0.0348642 -0.555517 -0.609268 -0.055688 0.0137504 -0.189219 -1.0444 -0.265062 -0.452028 -0.00330784 -0.0471325 -1.99757 -0.0555129 0.38867 0.00246935 -0.195535 -0.00689775 -2.20953 0.0418578 0.483672 -0.57587 -0.320716 0.0048534 -0.0457323 -0.342552 1.42 -0.0941669 0.0371052 -0.0666297 0.897579 -0.339065 0.210237 0.10541 0.00197185 0.461787 -0.130691 0.209468 0.460923 -0.2816 0.544359 -0.362628 0.147822 -0.014147 -0.307267 0.00569013 -0.160841 0.0270696 1.45848 0.508363 -0.334902 7.60506 1.96232 1.83215 1.27198 -0.226389 1.56328 0.0812475 0.0515364 0.0779654 1.1428 -0.017058 0.0226138 0.0859197 -0.113818 1.11279 0 0 0 0 0 -0.00529229 -0.0951111 -0.000806406 0 0 0 0 -9.83184e-05 0 -0.0103772 0 0 -0.000968431 -0.00222725 -0.00490969 0 -0.00104317 -0.0145704 -0.052016 0 0 0.189584 -0.000111809 0 0.00324666 -0.432127 0 0 0.019949 -0.101899 0 -0.0622003 0 0.0196335 0 0 0.00208552 0 0 -0.518486 -0.00366854 -0.0242316 0 -0.0356598 0.113564 0 0 -0.299067 0 -0.00106111 0.0794115 -0.00647501 0 0 0.00172774 0.000896803 0 -0.00641619 0.00616859 0.0156971 1.01106 -0.0615826 -0.0349434 0 0.00454528 -0.0495932 0.00036909 0.0829658 0.0687229 0 0 0 5.10677 0.422506 0.442536 0.038495 0.0568144 -0.507737 0.000258222 0.00576409 -0.0103387 -0.01816 0 0 0 0 0 0 0.10928 0 0.229019 0 0 0 0 -0.0246672 0.531425 0 0 0.278331 0 0.0351069 0 0.0210325 0 0 -0.464713 0 -0.79968 -0.00525749 0.0971874 -0.0639276 0 0 0.204615 0 -3.71875 0 -0.926709 -0.427683 0 -0.0113543 -0.868802 0.0179401 0 -0.00728976 0 0 0.0588012 0 -1.52717 -0.721145 0 0 -0.0847657 0 0 0.0405418 -0.427345 -0.0328417 0 0.445921 0 0.625758 -0.0266927 0.0833084 -0.0613066 0.129178 0.0781299 -0.567883 0.065931 0.042469 4.24213 -0.0916802 0 0 0 -0.0214441 -0.0738314 0 0 0 0 0.0489586 -2.0519 -1.37606 0.109279 -0.408313 0.582892 -0.716584 -0.141951 0.116975 -0.110431 -0.174207 0 0 0 0 0 0 +439 0 -0.746771 -0.108887 -0.0481256 -0.348211 0.279816 0.0547343 -0.126672 -1.11169 -0.176817 0.808727 -0.309792 0.202718 0.00139871 1.21558 0.011242 0.170847 1.86177 0.00726021 0.00326125 1.83211 -0.0174644 0.0050597 -0.00181576 0.108913 -0.0841059 -0.101136 -0.0187281 0.119575 1.21912 0.138858 -0.0175972 0.00108953 0.117951 -0.0902123 0.0301042 -0.0205866 -0.163904 1.24339 -0.533785 0.438439 0.0113954 -0.800814 -0.0435766 2.47818 0.0585261 0.076258 0.480987 -0.157634 -0.0890593 1.51468 0.231821 1.66775 -0.0578885 -0.0532406 0.0468462 2.74297 -0.342046 -0.0567096 -0.10839 0.0318946 -0.370821 0.587255 -0.842548 -0.0399441 -0.299482 -0.808291 -0.160093 -0.10247 0.0246346 0.10285 0.335142 0.165219 -0.0372386 0.833012 0.0166574 -0.755818 0.510578 1.37438 -0.197894 1.1925 0.993854 -3.8884 -0.333925 1.02809 -1.90346 1.03504 -0.0238507 0.124568 -0.301856 0.816648 -2.22664 0 0 0 0 0 -0.0481256 -0.348211 -0.0010687 0 0 0 0 2.19735e-05 0 -0.00611094 0 0 -0.00420644 -0.00878255 -0.00311681 0 -0.000155823 0.00140446 -0.0499682 0 0 0.26528 -0.000526046 0 -0.0320326 0.677572 0 0 0.0303195 0.0611912 0 -0.184096 0 0.0220567 0 0 0.00268323 0 0 -1.07946 -0.00061542 -0.0715571 0 -0.0265314 0.0355207 0 0 -0.252944 0 -0.00190566 -0.789658 -0.0209993 0 0 0.00828185 0.00161057 0 -0.0214082 0.0242375 -0.023051 -0.00977122 -0.0857833 -0.000431564 0 -0.00459104 0.0783092 0.0739872 -0.0183785 -0.214789 0 0 0 9.31631 0.624172 0.739302 0.0351507 -0.0228717 0.787453 0.00437649 -0.00601316 0.036724 0.0402438 0 0 0 0 0 0 0.279816 0 0.0547343 0 0 0 0 -0.304452 -0.266383 0 0 1.16944 0 0.12587 0 0.00880993 0 0 -0.0753613 0 0.31552 -0.096709 0.396712 -0.0330399 0 0 -0.0158937 0 0.941247 0 5.21766 -0.0347153 0 -0.774052 1.38427 0.0400693 0 -0.0390899 0 0 -0.0116798 0 0.462503 -0.0882383 0 0 -0.0566654 0 0 0.0336433 2.24331 -0.395411 0 1.39705 0 -0.063627 -0.182234 0.346523 -0.197118 -0.0310514 1.02263 0.476581 0.0996749 -0.257865 7.79205 0.148322 0 0 0 0.0372312 -0.110189 0 0 0 0 -0.082675 -26.4265 -6.13573 3.14846 -1.86395 1.60004 -2.1592 -0.480779 0.416494 -0.577536 0.473568 0 0 0 0 0 0 +440 0 0 0 0 0 -0.0836394 0.146309 -0.618506 0.512189 0 0 -0.169727 0.464348 0 -0.446408 -0.0788371 0 0 0 -0.404586 -4.13486 0 0 0 0 -0.108092 0 0 -0.856626 0.908677 0.360036 0 -0.239391 0 0 -0.236514 -0.0312952 0 0 -0.230356 -1.00097 0 0 -0.0267963 -0.39138 0 0.301113 -0.958186 -0.620555 0.137339 -0.665802 -0.198418 0 0.198177 -0.350408 0.186923 0.136787 -0.36438 -1.55363 0 0 -0.188399 8.29039 0 0.457187 0.269346 1.21581 0 0 0 0 -0.340812 -0.336516 0 0.852011 0.789106 0 0 0 -1.3656 0 -0.0775601 -0.831697 0 0.148047 0.201425 -3.05697 0 0.279829 -0.858633 0.881761 -5.70905 0 0 0 0.0143713 -0.00349588 0 0 0 0.0144089 -0.00802369 0 0.00146965 0 -0.000556491 0.0074744 0 0 0 0 -0.0102979 0 0.00160024 0 0.0223663 0 0.147251 0.347836 0 0.000748986 0 0 0.126121 -0.000236305 0.0430457 0 -0.00089559 0 -0.000397764 0.0749275 0.01061 -0.00570571 0.00950694 0 -2.28355e-05 0 0 0 -4.30512e-05 0 0 0.000198779 -0.000433863 -0.196218 0.00575645 0 0 0.0141729 0 0.000554449 0 0 -0.0037663 -0.00502178 0.102227 0.00697997 0 0 0.00736897 0.0175365 0.00105403 -0.0508673 0.130631 0 0.199618 -0.00312849 0.0705191 0 0 0 -0.0568176 0 0.0199542 -0.681439 0 0.00119602 -0.0460427 -0.109765 0 0.000170635 -0.00659809 0.0212207 -0.336298 0 -0.0836394 0.0143713 0.146309 -0.00349588 -0.304529 -0.0501717 0.0865654 -0.0942403 -0.50971 0.00645122 0.00385651 0.0824692 0.0017978 0.00807512 0.00110093 -0.0298865 -0.013099 0.00847332 -1.24189 0.273293 -0.0941789 -0.0333187 0.131145 -0.195827 -0.0877546 0.130871 -0.426221 -0.00512749 -6.53231 -0.171619 -0.29175 0.252484 -0.000890633 -0.0616565 0.059289 0.0113259 -0.0061854 -0.0230256 -0.0337354 0.91473 -0.0556036 0.0162702 -1.82136 -2.33901 -3.77215e-05 -0.0302354 -0.32986 0.0219241 0.0483348 0.84388 -1.05546 0.12182 0.0216263 0.553751 -0.0575335 1.30167 -0.0707189 0.181981 0.223676 0.0199075 -1.30493 -0.356097 0.229434 -1.18519 -1.00971 -0.210477 -0.0428758 0.000369491 -0.194187 -0.431583 -0.0213717 0.0251181 -0.0129264 0.205809 -0.0314252 -0.192811 0.618955 -0.0375952 -0.575034 -5.72867e-05 0.150014 -2.01851 -0.00397332 0.00312983 -0.298089 -0.347362 -0.000518761 0.0186074 -0.1565 0.14625 -0.71377 0 +441 0 0 0 0 0 0.31405 0.295565 -0.72258 -2.15775 0 0 0.0295886 0.691588 0 0.289495 -0.0114522 0 0 0 0.187799 -3.63297 0 0 0 0 -0.512649 0 0 -0.848566 -1.10619 0.461011 0 0.062255 0 0 -0.287387 0.0090063 0 0 -0.348427 0.172392 0 0 -0.0854219 -0.258428 0 0.712249 -0.976914 0.970405 0.159156 -1.002 0.335738 0 -0.515155 0.0606719 -0.281155 -1.63154 -0.390248 -0.0549418 0 0 1.21933 -2.67487 0 0.122322 0.656228 -0.178962 0 0 0 0 -0.0130814 -0.430651 0 -4.11343 0.849216 0 0 0 4.84222 0 1.06731 0.323745 0 -0.0695191 -0.559282 3.61238 0 0.0319645 -0.589704 0.807048 3.07588 0 0 0 0.0187016 0.0286749 0 0 0 0.0489831 -0.00829585 0 0.00751207 0 0.000402624 -0.0141102 0 0 0 0 -0.0830822 0 -0.00986223 0 -0.105408 0 0.290696 0.17082 0 0.00351692 0 0 0.182439 -2.12534e-05 0.0427184 0 0.000420287 0 -0.000483188 0.0125696 0.022981 -0.00139808 0.0040172 0 2.46474e-05 0 0 0 1.49865e-05 0 0 0.00074807 0.00160245 0.00147408 -0.00867274 0 0 0.00754759 0 0.00292179 0 0 -0.0053649 0.0119999 -0.0875548 0.0125595 0 0 -0.0894008 -0.0170492 -0.0307371 -0.0659383 -0.458121 0 -0.188047 -0.00435916 -0.11008 0 0 0 0.000417207 0 0.0156829 -0.0447844 0 0.00116235 0.011028 -0.0295637 0 0.000158227 0.00150474 0.00121152 -0.029716 0 0.31405 0.0187016 0.295565 0.0286749 -0.0588939 -0.0326326 0.535095 0.0100259 0.622965 -0.0157084 -0.0251343 -0.189843 -0.00442236 -0.0439516 0.079439 -0.0155238 -0.0317056 -0.0672517 -1.40797 -0.594884 -0.0700165 -0.0541994 -0.126505 -0.203702 -0.132004 -0.0160082 0.00101971 0.00914044 -3.8088 0.0715328 0.234266 -0.114528 0.010646 -0.454336 -0.0599645 -0.0258707 -0.00286965 0.00542196 -0.0163812 -0.316861 0.0593846 -0.00288445 -1.79518 -2.88398 -0.00457649 0.00538253 -0.406152 -0.0160437 -0.193711 1.18067 -0.0825056 -0.464194 0.254839 -0.0554587 -0.357347 -0.310496 0.0317103 -0.0366831 -0.0692439 0.0356391 0.342135 0.127124 0.0214404 -0.503664 1.96494 -0.0094272 0.381186 -0.0171471 -0.291622 -0.658234 0.0300726 0.0068552 0.00690246 0.0520967 0.0278092 -0.0228429 -0.497 0.161322 1.25176 0.0641668 -0.105375 1.36249 0.0173104 -0.0248096 0.107097 0.235342 0.00411734 -0.0272826 0.0701398 -0.101422 0.364411 0 +442 0 0 0 0 0 0.126001 -0.116272 1.1098 2.47095 0 0 0.314087 0.0518455 0 0.172086 0.0474963 0 0 0 -0.0983802 2.11291 0 0 0 0 0.655833 0 0 0.196078 -0.382362 0.0262236 0 0.307367 0 0 0.30318 0.0975532 0 0 1.23307 1.02183 0 0 0.464437 -0.351965 0 0.353531 0.123889 0.00836313 -0.500806 0.0217401 -0.880348 0 0.0484239 -0.123384 -0.116911 0.402401 0.772999 0.719001 0 0 -1.67229 -6.45975 0 -0.453223 0.30948 0.341876 0 0 0 0 -0.374894 0.278699 0 -2.34171 1.27789 0 0 0 -4.48528 0 -2.08663 -0.27106 0 -0.565415 -0.167346 -5.10373 0 -0.819189 -0.0910718 -2.48354 1.96369 0 0 0 0.100688 -0.0146257 0 0 0 -0.0173911 -0.00759374 0 -0.00295043 0 -0.00163656 -0.0164518 0 0 0 0 -0.26822 0 -0.0213205 0 -0.338308 0 -0.0807461 -0.359966 0 0.00654279 0 0 0.424805 -0.000361466 -0.0717508 0 -0.00227624 0 -0.000296695 -0.102061 0.0549986 -0.0118785 -0.018424 0 -5.98327e-05 0 0 0 -0.000103501 0 0 0.00180415 -0.00105918 -0.0256163 -0.021127 0 0 0.0117133 0 -0.000455464 0 0 0.0416544 -0.00194593 0.0877142 0.0286455 0 0 -0.161277 0.0811463 0.0301224 -0.130662 0.695967 0 -0.022217 -0.00716959 -0.306778 0 0 0 1.28426 0 0.0685257 -1.04785 0 0.00466317 -0.0532684 0.235372 0 0.000646279 -0.00774466 0.0390661 -0.576594 0 0.126001 0.100688 -0.116272 -0.0146257 -0.112091 -0.0186355 0.249773 0.154884 0.572873 0.0292813 -0.0437129 0.324017 0.00767473 0.0680509 -0.0110866 0.041118 -0.0211823 0.0733694 0.722818 0.14528 -0.0665974 0.0393771 0.102866 0.0826933 -0.411527 -0.115506 0.163672 0.00341118 4.85707 0.198231 -0.0903741 0.495994 -0.00555479 0.0594157 -0.17784 0.0149311 0.00309601 0.0390432 0.0253424 -0.734124 0.057267 -0.0170388 1.75348 0.586252 -0.00150148 0.020168 0.0797196 0.0136164 0.206023 -0.669978 0.593825 -0.0675824 0.110418 -0.0769187 -0.0973283 -0.657742 -0.0190018 -0.117016 0.0581524 0.107324 -0.264832 -0.0827923 -0.0354401 -0.242493 -1.6987 -0.0163984 -0.652305 -0.0239379 0.081935 0.431598 -0.170096 0.0131638 -0.0438484 -0.225105 0.0927248 -0.131859 0.191731 -0.328253 -1.45324 -0.0750609 -0.809248 2.2487 -0.0224637 -0.0273299 0.158276 0.300146 -0.00449188 0.0247558 0.0324692 -0.0378192 0.345996 0 +443 0 -1.20338 -0.50898 -0.0241127 -0.172855 -0.142559 -0.334631 0.825805 1.0947 -0.313938 0.462867 0.0584826 -0.58492 0.00104282 -0.644455 0.0422684 -0.147311 -2.91807 0.0446805 0.0891686 -3.74222 -0.0118553 0.421875 -0.00377981 0.00403943 0.475577 -0.258434 0.0247703 0.59037 0.330861 -0.343599 -0.0344888 0.496421 1.29808 0.208869 0.40068 0.00717677 -0.0335254 6.22292 0.0447989 -1.91267 0.00247044 0.0612818 0.00858345 -2.89664 -0.0378195 -1.11558 0.621754 0.888825 0.00822872 0.815643 0.412633 -2.13518 -0.0401397 0.0549677 0.00385932 -1.16866 -0.35237 -0.28559 0.0354614 -0.0103156 1.0075 2.30392 1.7189 1.4932 0.299645 -0.380587 0.300485 -0.0855216 0.0651384 0.178431 0.283873 0.481538 -0.232419 0.244672 -1.06017 -1.22088 -21.3299 -2.83443 -6.11766 -1.37619 0.838348 -8.93343 0.116465 0.0171458 -0.731164 -2.04843 0.00533537 0.00568932 0.0202538 -0.129054 -0.762719 0 0 0 0 0 -0.0241127 -0.172855 -0.000190291 0 0 0 0 -6.18501e-06 0 0.000446155 0 0 -9.29575e-05 -5.30894e-05 0.00119471 0 -0.000122072 -0.0154536 0.0273908 0 0 -0.12059 -3.02946e-06 0 0.0124644 -0.239278 0 0 -0.0149534 -0.0705154 0 0.0631517 0 -0.0169433 0 0 -0.00185032 0 0 0.271374 -0.0001139 -0.00170084 0 -0.0035686 0.00160306 0 0 0.0747046 0 -6.1839e-05 0.160267 -0.00266223 0 0 -0.000137236 0.000500565 0 0.00161777 0.0072764 0.00354879 -0.392173 0.00460163 -0.0131619 0 -0.00775611 0.0795612 -0.0447463 -0.0163742 -0.0138216 0 0 0 -1.44572 -0.0385226 -0.274742 -0.00559084 0.0140947 -0.27985 1.03602e-06 2.17989e-05 -8.09454e-06 -0.0381784 0 0 0 0 0 0 -0.142559 0 -0.334631 0 0 0 0 -0.0235085 0.108883 0 0 0.395953 0 0.0510784 0 0.0292789 0 0 -0.24787 0 0.440313 0.00983489 0.0210225 -0.0309792 0 0 0.333852 0 -3.08322 0 3.37513 -0.617122 0 0.105849 0.85334 0.0043675 0 -0.00159133 0 0 0.0185964 0 -0.543961 -0.721616 0 0 -0.0829698 0 0 -0.353253 -0.115421 0.0280957 0 0.206542 0 0.621971 -0.0228801 0.0509902 -0.0273234 0.0260413 -0.289165 -0.173312 0.0442032 -0.551283 -3.83325 0.017962 0 0 0 0.186922 -0.0280346 0 0 0 0 -0.0820778 -20.8565 -3.04065 -1.22543 -0.753717 0.463813 -1.60107 -0.139901 0.0794957 -0.20345 -0.0813444 0 0 0 0 0 0 +444 0 0.342418 0.455616 0.021339 0.0462997 -0.0456129 0.0860913 -0.139457 -0.429084 0.326283 -0.691601 0.0185974 -0.765265 -0.00203034 -0.691969 -0.037802 -0.29002 -1.33383 -0.168895 -0.110972 1.95609 -0.0164015 -0.483314 0.00407387 -0.125141 -0.343498 0.269403 -0.0448316 0.11113 0.568821 -0.31168 0.036911 -0.302962 -1.33847 -0.28198 -0.210169 -0.00231152 0.0223886 -4.78163 -0.0221519 0.588956 -0.0113067 0.155326 -0.0165697 -1.71137 -0.0666399 0.167742 0.240375 -0.847714 0.0539133 -0.188525 -0.174869 -3.36976 0.250413 -0.0987308 -0.262436 -2.18603 -0.581898 -0.695377 0.145712 0.0084346 -3.05081 1.55197 -0.522395 -0.65441 -0.0488062 -0.647466 -0.149501 -0.112328 -0.117398 0.476578 -0.680186 -0.0799917 -0.366807 1.65939 0.00322363 -0.772561 20.1219 3.93478 4.0469 1.92528 -0.39684 4.03248 0.0964023 0.0644682 0.551207 0.258235 0.00940119 0.0171555 0.0366879 -0.107565 -1.31128 0 0 0 0 0 0.021339 0.0462997 -0.000229516 0 0 0 0 2.18534e-05 0 0.00252193 0 0 -6.73176e-05 0.000136624 -0.00248283 0 -4.39216e-05 0.0290123 0.0125836 0 0 0.202161 9.77235e-06 0 -0.00455341 0.900249 0 0 0.0223795 0.159897 0 -0.0568623 0 0.027633 0 0 0.0027705 0 0 -0.221601 0.000529106 -0.00231541 0 -0.00339831 0.0107338 0 0 -0.14665 0 0.00160422 -0.239153 -0.00543453 0 0 0.000299344 0.00173895 0 -6.99214e-05 -0.0199722 -0.00501322 -0.877011 0.0146185 -0.0224946 0 -0.000403116 -0.0149206 -0.0203176 -0.0372248 -0.0677638 0 0 0 0.511685 0.0156144 0.0791591 0.000382714 0.0002421 0.00620977 0.000133129 -0.00034994 0.0044529 0.0385327 0 0 0 0 0 0 -0.0456129 0 0.0860913 0 0 0 0 0.142727 0.0552127 0 0 -0.146466 0 -0.0339885 0 -0.0106382 0 0 1.44449 0 -0.540883 -0.0385072 -0.139471 0.21917 0 0 -0.113516 0 6.12118 0 -2.543 0.416875 0 -0.130717 -0.892387 -0.0232481 0 0.00157196 0 0 0.00358104 0 2.0867 2.31365 0 0 0.359559 0 0 -0.646868 0.503253 -0.039673 0 -0.395572 0 -0.462174 -0.0375198 -0.0220137 0.337865 -0.13316 0.0527155 -0.0264155 0.0307307 0.283131 -1.15354 -0.00783244 0 0 0 0.427246 0.0412482 0 0 0 0 -0.0753787 10.3422 1.16261 0.651651 0.39575 -0.155789 0.474157 -0.0317699 0.0359354 0.030212 0.143202 0 0 0 0 0 0 +445 0 0.244262 -0.191645 -0.00371036 0.132579 -0.19585 -0.00860353 -0.654893 -0.609288 0.186809 1.33103 0.0284285 -0.982131 0.00308776 -0.665258 0.0171945 -1.39865 -6.24127 0.247126 0.0563009 -3.07742 0.0663677 0.091569 -0.00181629 0.427158 -0.487237 -0.167637 0.0490053 -0.375207 -1.98573 -0.109878 -0.00129608 -0.019639 0.703945 0.209372 -0.28015 0.00308025 0.0657629 4.18312 0.200803 -1.02821 0.0174913 0.655092 0.0239133 -3.38164 0.0688624 -0.128985 -0.917653 0.0703563 -0.143968 0.347697 -0.0805535 2.58525 -0.0605834 0.096282 0.363913 -0.553749 0.404361 0.355208 -0.409033 -0.0354739 4.32233 -0.137278 0.717803 0.580407 0.144932 1.5555 0.678964 0.0262496 -0.0401912 -1.25391 0.645078 0.0357535 -0.172826 -1.38819 0.191146 0.628211 -15.5815 -3.68514 -1.58509 -1.86125 0.0168347 0.145914 -0.697735 0.0401358 -0.445193 3.31322 -0.00971473 -0.0302771 0.0606948 0.233185 4.5776 0 0 0 0 0 -0.00371036 0.132579 -0.000992196 0 0 0 0 -0.000120509 0 0.0438304 0 0 -0.000471713 -0.00141321 0.0295659 0 0.00411139 -0.0468181 0.305473 0 0 -0.10886 -5.69985e-05 0 -0.0365155 -1.17418 0 0 -0.00397863 -0.269405 0 -0.254143 0 -0.0211158 0 0 -0.00125002 0 0 -0.542074 -0.0025566 -0.0132846 0 -0.021202 0.0365723 0 0 -0.0874123 0 -0.00186437 0.0198832 -0.00299086 0 0 0.00100866 0.00118701 0 -0.00517141 -0.0784042 -0.00296476 1.44387 0.00980002 0.0594109 0 0.00896201 0.0455986 -0.0141278 0.0470264 -0.126927 0 0 0 3.37509 0.158599 -0.754104 0.0140409 -0.0309233 0.380027 0.000572681 -0.00145689 0.0190706 -0.228447 0 0 0 0 0 0 -0.19585 0 -0.00860353 0 0 0 0 0.0437388 -0.0765822 0 0 0.191505 0 0.0534197 0 6.76929e-05 0 0 -0.877506 0 0.199142 -0.0267756 0.0488102 -0.0702562 0 0 -0.00219189 0 -5.11552 0 0.709454 -0.0877932 0 -0.0401689 0.492242 0.0203754 0 0.000320347 0 0 -0.0150761 0 -1.35057 -1.84237 0 0 -0.158619 0 0 -0.653147 -0.942363 -0.0105671 0 -0.595196 0 0.666024 -0.0480757 0.111004 -0.734628 0.156807 0.434925 -0.304269 -0.0492917 1.26012 2.86602 0.0252035 0 0 0 0.346897 -0.0447584 0 0 0 0 0.0200689 -5.8826 -1.69174 0.931484 0.0729132 -0.117054 0.00538293 -0.0123082 -0.0143385 -0.0480647 0.0229348 0 0 0 0 0 0 +446 0 -0.178895 0.303613 -0.00801197 0.0442045 -0.155844 0.105627 -0.0403845 0.0590773 0.127391 -0.0220968 -0.0161936 0.170737 0.005239 1.30097 -0.0230034 0.282409 2.50792 0.010597 -0.066406 6.61046 -0.00150185 -0.352309 -0.00353572 0.0252926 -0.247589 0.328514 -0.0530904 0.276433 1.15171 0.0159607 -0.00603083 -0.220489 -0.482765 -0.274888 -0.171037 -0.0139798 -0.309088 -0.176252 -0.185497 2.58536 0.0240751 -0.842263 -0.0586456 3.65483 0.110272 0.799464 0.565807 -0.57925 0.155951 0.0549753 0.309467 4.50789 0.312217 -0.0146261 -0.0495703 2.55033 0.369646 1.08232 0.0819855 -0.0364326 -0.180946 -6.69205 -0.329368 0.332526 0.0909257 -0.122011 -0.656876 -0.410401 -0.061916 0.160112 -0.195859 -0.0678501 0.300093 1.30294 0.164057 0.718411 2.29274 0.893544 1.03387 0.626013 0.11446 -0.700409 0.129716 -0.0313367 -0.0390129 -0.336787 -0.0187986 0.0367153 -0.181644 0.358748 -1.74369 0 0 0 0 0 -0.00801197 0.0442045 -0.000760558 0 0 0 0 -8.31058e-05 0 -0.00245453 0 0 -0.00028978 -0.000285218 -0.0124733 0 -0.0017496 0.0557432 -0.018552 0 0 0.211658 -9.71575e-06 0 0.0212275 1.34931 0 0 0.0131073 0.275609 0 0.0460161 0 0.0287913 0 0 0.00148616 0 0 0.0447015 -0.00165685 -0.00667242 0 -0.0149963 0.00342275 0 0 0.0628496 0 -0.000242843 0.159843 -0.00366383 0 0 0.000215404 0.00176526 0 -0.000693079 0.0409333 0.00132199 0.716259 0.00806065 -0.0219306 0 -0.00205174 -0.00525897 0.219362 -0.00289878 -0.0913361 0 0 0 0.26861 0.037394 -0.207983 0.00235274 -0.00391207 -0.0278074 0.000190769 -0.000452569 0.00629563 -0.0221714 0 0 0 0 0 0 -0.155844 0 0.105627 0 0 0 0 0.240714 0.157696 0 0 -0.198703 0 -0.0145807 0 -0.0108934 0 0 1.43134 0 -0.317878 0.0665275 -0.0755313 0.211631 0 0 -0.0271057 0 8.31145 0 0.745629 0.260988 0 0.670227 -0.147905 -0.00524701 0 0.0162152 0 0 -0.00219163 0 2.06845 2.98395 0 0 0.432012 0 0 -0.221423 1.76 0.122599 0 0.73442 0 -0.230168 0.0503245 -0.13109 0.0293089 -0.050198 1.11774 0.119609 0.118114 1.08983 5.63267 0.00695879 0 0 0 0.338875 0.0600655 0 0 0 0 0.162997 -3.82694 -0.0429724 -1.34827 -0.128541 0.100656 -0.286286 0.0463915 -0.0348261 0.0787423 -0.17736 0 0 0 0 0 0 +447 0 0.186089 -0.234412 0.033981 0.0428456 0.0615284 -0.318096 0.554503 0.592162 0.45827 -0.397874 -0.179804 -0.254976 -0.00621827 -0.168245 -0.0291536 0.235026 -0.348396 -0.0615601 -0.138567 -0.571199 -0.03277 0.335974 0.0150567 -0.190854 0.57878 -0.290798 -0.0372695 0.702182 1.11617 -0.194295 0.0911035 -0.09282 0.615975 0.27032 0.420801 -0.0201739 -0.0446504 0.566334 -0.169763 -0.970425 -0.0192993 0.94226 -0.00351332 -1.90692 -0.0410566 -0.899151 0.913599 -0.694806 -0.0912549 0.382025 0.0515014 -2.43896 0.266651 -0.108838 0.337747 -1.00042 0.696997 -0.138974 0.156396 0.045596 -1.43587 0.445175 -1.43917 -0.0405315 -0.318013 -0.392952 -0.618318 -0.217176 -0.279686 0.308664 -0.135297 0.232465 -0.372201 -2.05721 -1.32478 -0.937523 -0.134949 -0.247797 -0.457179 -0.638791 0.621693 -1.99294 0.119919 0.0566722 0.229416 -0.647894 0.0069991 0.00668713 -0.0640594 0.340102 -1.68989 0 0 0 0 0 0.033981 0.0428456 -0.00168861 0 0 0 0 -0.000149075 0 0.0127068 0 0 0.000416865 0.000914862 0.0202487 0 0.00380232 -0.0138115 0.0619735 0 0 0.27261 4.24381e-05 0 -0.00872828 0.342136 0 0 0.0454814 0.0110798 0 0.0816015 0 0.0499789 0 0 0.00840188 0 0 0.603928 -0.00293683 0.00972372 0 -0.0327908 -0.0120265 0 0 -0.0658918 0 0.000938598 -0.263216 -0.000679653 0 0 -0.000241972 0.00579059 0 0.00205192 -0.0335051 0.00353232 -0.941239 -0.00118108 -0.0308837 0 -0.0109881 0.0424534 -0.0651385 -0.0555608 0.107168 0 0 0 -2.74681 -0.098896 -0.0396562 -0.00953443 0.0225052 -0.433405 -0.000273201 0.000645675 -0.00901171 0.0103646 0 0 0 0 0 0 0.0615284 0 -0.318096 0 0 0 0 -0.143287 0.522004 0 0 0.27762 0 0.0325992 0 0.0145371 0 0 -0.00629233 0 0.572126 -0.069494 0.0669096 0.00974299 0 0 0.11257 0 -1.0987 0 0.196395 -0.319543 0 -0.596285 0.75765 0.0121116 0 -0.0127288 0 0 0.0588215 0 -0.174383 -0.816723 0 0 -0.0774656 0 0 -0.101605 -2.18232 -0.0471675 0 0.0548701 0 -0.0460559 -0.00596611 0.059534 -0.380367 -0.0119226 -0.0806836 -0.232703 -0.0463157 -1.14266 -7.91678 -0.00113563 0 0 0 0.0416569 -0.0287449 0 0 0 0 -0.07878 -0.744763 -0.795685 2.46738 0.181685 0.145496 -0.162403 -0.112386 0.102087 -0.105044 0.187695 0 0 0 0 0 0 +448 0 0.0928517 -0.333731 -0.0542801 0.0915572 0.00247686 -0.0101009 -0.479692 -0.846492 -0.0116826 1.62158 -0.315241 0.93415 0.0236647 0.216705 -0.0280524 -0.266735 -1.79274 0.200052 0.000794616 2.99895 0.0701926 0.358612 -0.0243345 0.621751 0.0908378 -0.111797 0.0525099 0.103868 1.01434 0.09943 -0.100092 -0.454791 1.33005 -0.310607 -0.0146727 -0.0827164 0.013366 4.68195 -0.610269 0.663735 0.0969057 -1.21855 -0.155203 2.42492 0.382184 -0.0334649 0.418051 -1.00542 0.339343 -1.04542 0.719332 -0.818631 0.478681 0.161606 -0.207209 0.266167 -0.625586 -1.38146 -0.70125 -0.172931 1.86379 5.32044 -1.66033 0.468775 0.417841 0.513622 -0.481363 -0.0784855 0.0276946 -1.2425 0.20701 -0.482005 0.0722202 2.38516 0.477851 0.0802279 -15.6642 -4.85241 -0.438484 -2.18112 1.26345 -4.04718 -1.28987 0.71487 -1.31236 0.68655 -0.0651526 0.124468 -0.375774 0.654261 -1.53571 0 0 0 0 0 -0.0542801 0.0915572 -0.0016877 0 0 0 0 -0.000237796 0 0.0186665 0 0 -0.000259613 -3.82666e-05 -0.00568472 0 -0.00135352 -0.0325615 0.115143 0 0 -0.106463 1.75276e-05 0 0.0109078 -0.888689 0 0 -0.0159869 -0.182154 0 -0.123571 0 -0.0554905 0 0 -0.00805413 0 0 -0.432348 -0.00482242 -0.009223 0 -0.0342727 0.0452682 0 0 -0.0959523 0 0.000131515 0.110117 -0.00228757 0 0 0.00177273 0.004915 0 -0.00717982 -0.0220051 -0.00962711 2.09242 0.0215255 0.0366906 0 0.0116474 0.0211947 0.382302 0.00201111 -0.19458 0 0 0 3.76551 0.185677 -0.237699 0.0174622 -0.040558 0.471529 0.000623228 -0.00166176 0.0208868 -0.0899333 0 0 0 0 0 0 0.00247686 0 -0.0101009 0 0 0 0 0.0145184 -1.44191 0 0 0.1776 0 0.0516509 0 -0.0859776 0 0 0.172166 0 0.309741 -0.0435688 0.040098 -0.0035993 0 0 -0.598753 0 -4.89486 0 0.652415 -0.36129 0 -0.131576 0.561196 0.0208806 0 -0.00112869 0 0 -0.205715 0 -1.37053 0.345812 0 0 -0.0110448 0 0 1.32272 -2.55386 -0.0288376 0 1.38399 0 0.275047 -0.113122 0.0726844 -0.649337 0.126241 0.0491368 -0.397709 -0.112201 0.880391 4.19192 0.0187619 0 0 0 -0.497919 -0.0236647 0 0 0 0 0.523061 -4.31505 -1.20323 1.07011 0.295662 -0.26277 0.38176 0.0337947 -0.0440312 -0.00260971 0.034446 0 0 0 0 0 0 +449 0 0 0 0 0 -0.508141 -0.279635 -0.508479 -0.0735797 0 0 -0.528127 -1.88875 0 -4.14034 -0.28967 0 0 0 -0.793291 0.75561 0 0 0 0 -0.0771212 0 0 0.794218 3.25158 -1.11841 0 -1.23818 0 0 -0.121239 -0.147894 0 0 -0.630006 0.124501 0 0 -0.212128 -7.5052 0 -0.226741 1.65248 -2.81534 0.398593 -2.15468 0.118328 0 1.06976 -0.844052 0.918812 2.13891 1.38459 -0.495765 0 0 -0.66762 1.41404 0 0.44718 0.604512 1.6082 0 0 0 0 -0.767318 -0.392897 0 0.368097 -1.86811 0 0 0 -0.268496 0 0.283529 -3.2189 0 0.15859 -0.868181 0.730721 0 0.50702 -0.990867 1.58577 -6.78566 0 0 0 -0.0171853 -0.0137756 0 0 0 -0.0116207 0.00905507 0 -0.00283888 0 0.00185273 0.0198979 0 0 0 0 0.0567242 0 0.00795702 0 0.16734 0 -0.0352457 -0.358326 0 -0.00164462 0 0 -0.0803226 0.00100248 -0.0491129 0 0.000324536 0 0.000475896 -0.165013 -0.0121982 0.0190934 -0.0227765 0 9.78819e-05 0 0 0 1.7107e-05 0 0 -0.0024877 0.000708757 0.0231693 -0.00541039 0 0 -0.00804386 0 -0.000773317 0 0 0.000255303 0.00311638 0.12127 -0.0251276 0 0 0.0165908 0.0160321 -0.0141498 0.0595818 0.237985 0 -0.0547876 1.63983e-05 -0.123076 0 0 0 -0.758441 0 -0.088298 0.110659 0 -0.00810773 0.0016793 -0.0294079 0 -0.000843292 0.000235048 -0.00351679 0.0217412 0 -0.508141 -0.0171853 -0.279635 -0.0137756 -0.133451 -0.0429206 -0.0927567 -0.888811 -1.95733 0.0164615 -0.0240949 0.0738384 0.00308881 0.0333288 -0.0234189 -0.10431 -0.0280155 0.0861645 0.0461399 0.372552 -0.273627 -0.227837 0.110487 0.00562758 -0.360252 0.0886451 -1.05341 0.00432354 -11.7129 -0.382837 -2.3167 -1.44616 -0.003666 -1.14466 -0.870896 0.0278492 -0.009278 -0.156045 -0.0645876 0.580256 -0.216414 0.0161418 -4.49819 -0.717758 -0.00108472 -0.0562274 -0.0707402 0.0406311 -0.354398 -0.391886 -2.74081 0.394795 0.0187547 -4.27462 0.0421874 1.31147 -0.127818 0.0346904 -0.89094 0.269119 -1.50677 -0.685286 0.175973 1.38789 -5.292 -0.327223 0.091923 -0.0726092 -0.0299604 -0.807721 -0.144477 0.0933843 -0.0346773 0.0552345 0.0258302 0.592719 10.5328 0.239722 4.03471 -0.107062 0.653639 0.186271 -0.0179894 0.108868 -0.372543 0.887808 -0.00660617 0.107273 -0.282933 0.290774 -0.253325 0 +450 0 0 0 0 0 0.0452273 -0.301852 0.547598 0.93661 0 0 -0.0860229 -0.89695 0 -1.94878 -0.0642786 0 0 0 -0.0409444 -3.1174 0 0 0 0 0.353246 0 0 0.653169 2.31596 -0.654368 0 -0.376706 0 0 0.233838 -0.0119411 0 0 -0.323958 -1.10066 0 0 -0.106118 -3.6496 0 -0.807328 1.11358 -0.444276 0.17366 -0.657111 0.533714 0 0.0876917 -0.0516302 0.334799 -0.404098 -0.215934 -0.47645 0 0 0.777182 2.40689 0 0.386828 -0.141491 0.150317 0 0 0 0 0.293086 -0.701726 0 0.988864 -0.412383 0 0 0 -0.681684 0 0.458491 -2.67008 0 0.350751 -1.03931 -0.872701 0 0.341248 -1.18756 1.89438 -6.60407 0 0 0 0.0131711 0.0055001 0 0 0 -0.0434183 0.0275415 0 -0.00420825 0 -0.00101648 0.00434066 0 0 0 0 0.112825 0 0.00524601 0 0.177779 0 -0.406343 0.100982 0 0.00215002 0 0 -0.0108357 0.000154669 0.00743598 0 0.0021959 0 0.00145129 0.173577 0.00858544 0.00392581 0.0194236 0 -5.51353e-05 0 0 0 0.000115994 0 0 -0.000349826 0.00216293 0.109246 0.00629596 0 0 0.00779634 0 -0.00235995 0 0 0.0123199 0.0239349 -0.0929835 0.00536974 0 0 0.0298623 -0.00326606 0.00799948 0.0730221 0.0316837 0 0.151015 0.00858021 -0.00188392 0 0 0 -0.527157 0 -0.0104277 0.106983 0 9.45423e-05 0.000492422 -0.0577449 0 -7.07693e-05 0.00114407 -0.021273 0.248226 0 0.0452273 0.0131711 -0.301852 0.0055001 -0.000759462 -0.0702237 -0.205695 0.184478 -1.31729 -0.0171683 -0.00420544 -0.323976 -0.0031621 -0.0553211 -0.00925249 -0.0440368 0.00397209 -0.0936563 0.195687 -0.454507 -0.365109 0.0411601 -0.19222 0.00187022 0.117277 -0.0118179 -0.514787 -0.00475851 -5.34517 0.134742 -1.84362 -1.53546 0.000179718 0.454146 -0.862748 -0.033683 0.00354156 0.0266004 0.00566599 -0.042638 -0.106701 -0.00502797 -2.96801 0.779984 -0.00114628 0.0331718 0.090577 -0.0310486 0.172412 0.512617 1.58192 -0.010864 -0.0458885 1.18646 0.101205 -0.534142 0.0894316 -0.114218 -0.00883025 0.259556 -0.66796 0.493707 -0.173492 2.77375 11.4292 -0.128387 -0.0972172 -0.00772412 0.18614 0.0471774 0.0605189 -0.0711022 0.0282956 -0.124137 0.00539288 0.630899 8.38195 1.06082 -1.07651 0.283577 -0.470975 0.820629 0.0288963 -0.0378515 -0.073425 0.276781 0.00718056 0.0118583 0.0257822 -0.0849274 0.263696 0 +451 0 0 0 0 0 0.0541101 0.253474 -0.460166 -1.71197 0 0 0.0652358 0.125386 0 0.820754 0.0206052 0 0 0 -0.0156056 -6.03553 0 0 0 0 -0.572588 0 0 -0.151961 3.99942 0.285019 0 0.232535 0 0 -0.276304 0.0450923 0 0 -0.565192 -0.298378 0 0 -0.136464 -0.167388 0 0.81423 0.888487 0.627361 0.275344 -1.12736 0.351629 0 -0.0424861 -0.0673944 -0.0572604 -2.29834 -0.413928 -0.037067 0 0 -0.52929 -1.92433 0 1.35293 0.906451 1.07952 0 0 0 0 -0.463601 -0.853567 0 -1.77798 0.536461 0 0 0 2.34534 0 1.16341 -4.17848 0 0.608406 -1.49187 3.00708 0 0.659225 -1.50981 2.67774 -9.27082 0 0 0 -0.00263876 0.0299535 0 0 0 -0.0242921 -0.00180662 0 -0.000138615 0 -0.00349082 -0.0521829 0 0 0 0 -0.162635 0 -0.024601 0 -0.397448 0 -0.251384 -0.220025 0 0.00287643 0 0 0.258989 -0.00194736 0.011035 0 0.0006504 0 -6.93384e-05 -0.0272121 0.0299582 -0.0379594 0.0142189 0 -0.000183319 0 0 0 3.4984e-05 0 0 0.00480227 -9.31252e-05 0.202947 0.0105227 0 0 0.0411843 0 0.000101608 0 0 0.00939611 0.0098384 -0.0235003 0.0515038 0 0 0.0814361 -0.0256114 0.016044 -0.0679641 0.13025 0 0.308839 0.00903673 0.0736952 0 0 0 1.18454 0 0.168685 -0.754543 0 0.0145552 -0.0452551 0.0295359 0 0.00158545 -0.00575707 0.0218709 -0.283015 0 0.0541101 -0.00263876 0.253474 0.0299535 -0.251344 -0.171672 0.234684 -0.874646 1.35156 -0.0381956 0.0870073 -0.458588 -0.00692634 -0.0736246 0.0543332 0.0701247 0.0502309 -0.21143 -1.25834 -2.56153 -0.143188 -0.194048 -0.182937 -0.160488 0.608947 0.0349477 0.511622 -0.0535908 2.1347 0.291464 -2.19341 1.01578 0.00832978 -1.02866 -0.865142 -0.0284384 0.00614132 -0.150689 0.029044 0.223199 0.217914 0.00643245 1.15129 -2.37336 0.00866076 0.0563432 -0.343379 -0.355385 -0.0120391 0.791531 -1.60617 0.099974 -0.179308 -0.0836832 -0.115107 0.387889 0.255077 -0.184554 -0.177974 0.0329571 -0.874892 0.579481 -0.271835 -4.70191 -21.0185 0.0131768 0.365594 0.0425024 0.0829885 -0.631028 0.142947 -0.200087 0.07777 0.117101 -0.00908402 -0.6947 9.9723 1.42836 2.40867 0.564715 -0.962076 0.607683 0.0547764 -0.154601 0.295875 0.296716 0.0162102 -0.0700342 0.176447 -0.10322 -0.319454 0 +452 0 -0.591234 -0.149704 0.00190827 -0.0303333 -0.145327 -0.0888754 0.573862 0.952195 0.00137139 -0.618903 0.00915888 0.873623 -0.000842184 0.963034 0.00653155 -1.06603 -2.41975 -0.231731 0.00965237 -2.16258 -0.068409 0.132004 0.000484171 -0.226785 0.621866 -0.494543 -0.118029 -0.00284116 -0.233306 0.273644 0.00305866 0.0714028 -0.00446371 -0.642894 0.361574 0.00590482 -0.413687 -0.48659 -0.0692312 -1.17874 -0.00590827 -1.74248 -0.00134533 2.28701 -0.0439227 -0.61178 -0.132441 0.0987907 -0.0297282 -0.12411 -0.159892 5.31387 -0.114716 -0.0120648 -0.0208616 -1.20647 -0.291239 -0.118041 0.307924 0.0082424 -0.379891 1.40012 0.218139 0.192434 0.529069 -0.24832 0.0857127 -0.538049 -0.00845816 0.286669 -0.153736 -0.0659626 0.539911 -0.36223 0.258241 2.22677 2.07804 0.679526 -1.37006 0.305633 -0.499458 1.07319 0.596887 -0.330311 0.430709 -0.7231 0.000567231 0.00180876 0.0259935 0.0458296 0.260137 0 0 0 0 0 0.00190827 -0.0303333 -0.00010235 0 0 0 0 -6.13904e-05 0 -0.00265061 0 0 0.000848474 0.00198992 -0.00493395 0 -0.000467682 -0.033595 -0.0336614 0 0 0.045996 0.00010534 0 0.017713 -0.621626 0 0 1.26179e-05 -0.190599 0 0.0993129 0 0.0110675 0 0 0.000738008 0 0 0.323338 -0.00115968 0.0160368 0 -0.00192692 -0.0343897 0 0 0.0374118 0 -0.000209901 -0.181753 -0.00288117 0 0 -0.00163447 0.000156615 0 0.000448433 -0.0245968 -0.0029967 0.470208 -0.0127139 0.013889 0 -0.00252492 -0.00311676 0.156746 -0.0391207 -0.00534575 0 0 0 -2.65713 -0.192702 -0.0794383 -0.0120364 -0.0105523 -0.00416797 -0.000722725 -0.000633747 -0.00133508 0.00308115 0 0 0 0 0 0 -0.145327 0 -0.0888754 0 0 0 0 0.217955 0.187127 0 0 -0.138408 0 -0.0159472 0 0.0229359 0 0 0.100841 0 0.491298 0.0624314 -0.0268799 0.0118754 0 0 0.21954 0 4.69639 0 1.57219 0.932037 0 0.420415 0.825191 -0.00200947 0 0.0301182 0 0 0.0223004 0 2.47503 0.0896714 0 0 0.0161977 0 0 -0.0737568 0.0271088 -0.10087 0 0.0298194 0 0.749693 -0.137212 0.0587847 0.295263 -0.00940075 0.771704 -0.604823 0.131582 -1.01228 -3.05885 0.0196474 0 0 0 -0.00669762 0.0507456 0 0 0 0 -0.184612 -1.97648 0.0616562 0.382507 0.272059 -0.0350279 -0.48487 0.152831 -0.100503 0.02643 -0.0993628 0 0 0 0 0 0 +453 0 -0.103913 0.245471 0.000264626 -0.0532952 -0.172014 0.256313 -0.34299 -0.113633 0.252374 0.338631 -0.0220635 0.300878 0.000916996 0.651027 -0.00459884 3.29778 10.6911 0.165835 -0.00722392 1.50597 0.0563865 -0.12808 0.00132332 0.122258 -0.422297 1.07691 0.0990303 -0.619636 -0.649823 0.302123 0.0186624 -0.111256 -0.00724949 0.61155 -0.371503 -0.00165752 0.444276 0.411415 -3.76547e-05 1.228 0.00566528 2.05049 0.00185907 1.05771 0.0352622 0.961492 -0.593475 -0.181894 -0.00648396 0.631001 0.132593 -7.74504 0.0324082 0.0121953 0.0309651 -0.0897136 0.175571 0.244477 -0.185095 -0.00998693 -0.677743 -1.25232 -0.526875 0.929993 -0.298489 0.516634 -0.533308 0.396 -0.117067 0.0812237 -0.239165 -0.151338 -0.863292 0.262496 0.486581 -2.44083 0.0526788 -0.0965409 -0.913599 -0.124424 -0.0259768 -0.880258 -0.323247 0.185905 -0.235546 0.302301 -0.000455387 -0.00109298 -0.0154628 0.0201672 0.724555 0 0 0 0 0 0.000264626 -0.0532952 0.00163468 0 0 0 0 0.000192842 0 0.0111069 0 0 0.000696842 0.000584229 0.00845195 0 0.00115628 0.039711 0.074532 0 0 0.0140852 3.09373e-05 0 -0.00207869 1.0126 0 0 0.00743147 0.241485 0 0.00136361 0 -0.00572624 0 0 -7.75382e-05 0 0 0.0492218 0.00364272 0.0130442 0 0.0307938 -0.0187801 0 0 0.162591 0 0.00330883 0.208333 0.000642428 0 0 -0.00134785 -0.00253502 0 0.00967456 0.0154577 -0.000109871 -0.105132 0.0349319 0.0179718 0 0.00179046 0.0136259 -0.0689327 0.00666176 0.0497104 0 0 0 -2.77507 -0.220151 -0.377403 -0.0163205 -0.0143349 0.0618544 -0.00058077 -0.000508913 -0.00109312 -0.00599226 0 0 0 0 0 0 -0.172014 0 0.256313 0 0 0 0 -0.0565483 0.152699 0 0 0.110682 0 0.016333 0 -0.00226185 0 0 0.288085 0 -0.53694 -0.00315393 0.00336901 0.0452819 0 0 -0.0303252 0 5.09475 0 0.521808 0.756549 0 0.037105 -0.436074 0.0037952 0 -0.00753263 0 0 0.0169858 0 1.74399 0.348493 0 0 0.0498033 0 0 -0.175719 0.558189 -0.00654015 0 0.804735 0 0.281718 0.0408293 -0.0101525 0.0369778 0.0512192 0.325976 0.0679488 0.0136069 0.440032 5.98983 0.0155683 0 0 0 0.210231 -0.00172829 0 0 0 0 -0.0529546 -4.24068 -0.70716 -0.256351 0.0367875 -0.21813 0.105857 -0.0016922 -0.00262581 -0.0284508 0.0319828 0 0 0 0 0 0 +454 0 -0.165301 0.122601 -0.0128443 0.000703636 -0.0075436 -0.0904831 0.0587629 0.829665 -0.218566 -0.11716 -0.144234 -0.722066 0.00175935 -2.36356 -0.0207349 -0.51198 -3.94949 -0.0784968 -0.00878749 -1.43701 0.00956759 -0.296753 -0.00308456 0.0250142 0.100926 0.10569 -0.0243574 -0.12662 -0.402356 -0.38771 -0.0279192 -0.317941 -0.889212 -0.31447 -0.0501498 -0.021664 -0.181646 -2.63258 -0.119269 -0.849095 0.0111173 -0.946526 -0.0162577 -4.46667 0.0685818 -0.493514 -0.204825 -0.266255 0.012695 -1.27226 -0.0724648 4.65264 0.0835541 0.0306515 0.104545 1.82417 0.764828 0.318597 -0.0720582 -0.0237788 0.413926 0.718969 1.95667 1.03112 0.672389 0.351562 -0.0408835 -0.155435 0.094048 0.375231 0.00303296 -0.046902 0.395594 0.0770055 0.182685 1.95659 5.74899 1.7739 -2.69298 1.30481 -1.5237 2.87387 0.0744738 -0.164699 0.235301 -0.972318 -0.000885685 -0.00135609 -0.0356364 0.0789666 0.448629 0 0 0 0 0 -0.0128443 0.000703636 0.00135135 0 0 0 0 0.000254883 0 0.0087045 0 0 -0.00114936 -0.00343641 0.0123581 0 0.00140507 0.0266985 0.0837799 0 0 -0.194396 -0.000181905 0 -0.0207055 -0.0463544 0 0 -0.0210587 0.0523214 0 -0.115711 0 -0.0331406 0 0 -0.0035567 0 0 -0.356029 0.00481471 -0.0218137 0 0.0254526 0.0616434 0 0 0.158243 0 0.00274216 0.90306 0.00664125 0 0 0.00220928 -0.00209051 0 0.00931176 0.0506014 0.00641323 0.729309 0.0751816 -0.0182991 0 0.00797865 -0.00665816 0.103762 0.0319154 0.024103 0 0 0 1.54349 0.144975 -0.220392 0.00434761 0.00379144 -0.026848 0.000987884 0.000866503 0.00181113 -0.00748555 0 0 0 0 0 0 -0.0075436 0 -0.0904831 0 0 0 0 0.398329 -1.09992 0 0 -0.0717431 0 -0.0154306 0 -0.0613585 0 0 0.251147 0 -0.752118 0.0606598 -0.107315 0.000303068 0 0 -0.62705 0 -6.42681 0 -2.66202 -0.810815 0 0.544915 -1.31564 -0.0179547 0 0.0520164 0 0 -0.118364 0 -2.18441 -0.284512 0 0 -0.0898578 0 0 -0.0606401 3.42642 -0.302304 0 -0.692965 0 -0.694275 0.0899162 0.03538 0.39529 0.0650517 0.364629 0.538904 -0.0927521 2.35698 11.0822 -0.00995015 0 0 0 -0.022052 -0.0119937 0 0 0 0 0.318113 12.4252 0.634607 -0.908053 0.570775 -0.562689 1.05968 -0.0833063 0.0266413 0.063053 -0.292152 0 0 0 0 0 0 +455 0 -0.596238 0.175492 -0.0242066 -0.0049721 -0.12181 0.25711 0.366313 -0.0969165 0.0232853 0.908958 0.401552 1.45398 0.00991346 3.52669 0.183359 2.05388 8.08953 0.218797 0.315338 -0.135463 -0.00513747 -0.021717 -0.0111192 0.152412 -0.28234 0.534729 -0.171492 -0.660806 -1.52131 0.967951 -0.0297521 1.07671 0.357225 -0.0262277 -0.0705383 0.0745534 -0.48167 2.23709 0.250259 0.446843 0.0455392 -0.260577 0.0394018 6.38156 0.207668 0.655445 -1.09124 1.78284 -0.111786 2.30864 0.579189 2.8626 -0.566057 0.401881 -0.662762 -0.850193 -1.13601 -0.131177 -0.309025 -0.0748358 1.70553 -0.0860244 -1.18067 1.27974 -0.0194358 -1.38773 -1.01271 -0.709271 -0.0111606 -0.863663 0.829194 0.857431 0.249697 -0.0129329 1.20354 0.358574 -6.95622 -2.70908 0.682676 -0.900009 0.9338 -1.69668 -0.453921 0.617927 -0.666317 -1.2045 -0.187857 0.0681619 0.323087 -1.7684 5.34776 0 0 0 0 0 -0.0242066 -0.0049721 -0.000199505 0 0 0 0 -8.39877e-06 0 -0.00636941 0 0 0.000369548 0.00023134 -0.00947719 0 -0.00134797 -0.0824972 -0.0367937 0 0 -0.0498879 1.22465e-05 0 -0.0115281 -1.08353 0 0 -0.00821112 -0.312902 0 -0.0613687 0 -0.0230667 0 0 -0.0037581 0 0 -0.107549 -0.000158656 0.00698089 0 -0.00376871 -0.0175227 0 0 0.0641101 0 -0.00038432 -0.0834721 -0.00162403 0 0 -0.000711887 0.00032481 0 -0.00147687 -0.0334941 -0.00173255 0.834003 -0.0152054 0.0100959 0 -0.00182218 -0.00752879 0.0425267 -0.010794 0.00202473 0 0 0 -0.215887 -0.0613471 0.0379925 -0.0029316 -0.00257056 0.00262825 -0.000314349 -0.000275635 -0.000581422 0.00202046 0 0 0 0 0 0 -0.12181 0 0.25711 0 0 0 0 0.339881 0.507653 0 0 -0.173861 0 -0.0330416 0 0.0613923 0 0 -0.10416 0 -0.646589 0.0825957 -0.120294 -0.0106983 0 0 0.644314 0 6.63977 0 -0.488398 0.899628 0 0.612504 -0.817477 -0.0219764 0 0.045802 0 0 0.0377875 0 2.91005 0.448443 0 0 0.0692516 0 0 -0.083765 1.48104 0.17698 0 0.883495 0 -0.0520263 -0.132252 0.00842365 0.38213 -0.0264132 0.246715 -0.179797 -0.0644236 -0.772475 3.17091 0.0512004 0 0 0 0.114091 0.0518327 0 0 0 0 -0.198054 7.29249 -0.327701 0.755135 -0.152123 0.0363816 0.612203 0.049755 -0.0400545 0.0615798 -0.219804 0 0 0 0 0 0 +456 0 -0.157547 -0.0821711 0.0452497 0.0337447 -0.101066 -0.0652373 0.790643 1.6482 0.168637 -1.0128 0.27626 1.38768 -0.0172727 1.93567 0.112135 -0.646139 -0.710164 -0.199098 0.175334 -0.605982 -0.0149172 0.195475 0.0210646 -0.29425 0.6256 -0.346253 0.0878084 -0.0209967 -0.669588 0.656878 0.0751442 0.577684 0.199971 -0.0333853 0.336153 0.0670087 0.29932 -0.201813 0.502086 -0.337308 -0.0713441 0.4528 0.129846 3.40257 -0.280428 -0.102735 -0.253019 0.959467 -0.287402 0.722356 -1.05415 6.02402 -0.304532 0.219182 -0.317441 1.14827 -0.3812 -0.228315 0.467353 0.124327 0.358559 1.26965 1.91599 -1.90082 -0.38778 -0.148363 1.31181 0.494926 -0.0800873 1.05994 0.164416 0.563724 -0.272586 0.277065 0.327708 0.0370394 2.97759 1.71626 -3.42164 -0.1229 -1.14459 1.95879 0.897672 -1.1907 1.93002 -3.43559 0.253676 -0.471989 0.795742 -1.46722 2.35376 0 0 0 0 0 0.0452497 0.0337447 0.000445143 0 0 0 0 1.35883e-05 0 0.0110454 0 0 -0.000181855 -0.000150837 0.0150195 0 0.00248823 0.0959501 0.0487009 0 0 -0.0808322 -7.98485e-06 0 0.0288953 0.2199 0 0 -0.00548687 0.245572 0 0.150429 0 0.00224527 0 0 0.00205343 0 0 0.339558 0.000256687 -0.00343529 0 0.00840891 0.0108175 0 0 -0.00742057 0 0.000857512 0.170996 0.00147121 0 0 0.00035032 -0.00072473 0 0.00267229 -0.0101477 0.00137705 -0.514339 0.0186614 -0.00257763 0 0.00210626 0.0107533 -0.206058 0.00629271 0.0416761 0 0 0 -0.873286 0.0112747 -0.10049 -0.000495455 -0.000434437 0.00116154 0.000154691 0.00013564 0.000286118 -0.00092301 0 0 0 0 0 0 -0.101066 0 -0.0652373 0 0 0 0 0.153603 1.32732 0 0 -0.0135 0 0.00221311 0 0.0546102 0 0 -0.0927143 0 0.699537 0.0266307 -0.00859999 0.0148894 0 0 0.56743 0 5.76852 0 2.23022 1.0374 0 0.326366 1.13574 -0.00137634 0 0.0138805 0 0 0.132581 0 2.6747 -0.789935 0 0 -0.0419603 0 0 -0.0332616 -0.251335 0.114974 0 1.12477 0 0.347534 -0.0275567 -0.000508235 0.235343 0.157971 0.306208 -0.142274 -0.155138 -1.36702 -2.19224 -0.0223658 0 0 0 0.231573 0.0316866 0 0 0 0 -0.435399 -10.7185 -0.603129 -0.577652 0.210843 -0.144284 -0.583532 0.0690879 -0.0526042 0.00393079 -0.0529428 0 0 0 0 0 0 +457 0 0.466328 0.464227 0.111663 0.171787 -0.22975 -0.297956 1.88234 4.19889 0.478617 -2.25649 0.295472 0.327274 -0.0415639 1.4033 0.143935 3.59726 11.0146 -0.173766 0.23217 -0.765132 0.0387966 -0.166676 0.0519595 -0.578909 1.04733 1.14769 0.5018 0.410227 -0.240011 0.380535 0.190998 0.637081 -1.05305 1.68671 0.582115 0.0906502 1.04351 -5.70262 0.744417 -0.545176 -0.164388 4.19054 0.230538 0.738515 -0.60167 -0.460696 0.228107 1.17906 -0.468197 2.36303 -1.4534 -16.8877 -0.384569 0.319019 -0.430115 -1.68186 -0.603213 -0.00208347 0.930603 0.280204 1.2753 -0.151001 4.13817 -4.06279 -2.01524 -0.956631 3.01357 1.61507 -0.228011 1.4943 0.397036 0.538904 -1.42974 -0.754169 0.286385 -5.13378 18.4353 7.64669 -7.28236 4.58351 -4.64937 7.15821 1.72437 -2.25638 3.56108 -6.63441 0.544271 -0.862132 1.16606 -1.518 0.843695 0 0 0 0 0 0.111663 0.171787 0.000461931 0 0 0 0 1.69148e-05 0 0.00470345 0 0 -0.000539799 -0.000356099 0.0280669 0 0.00198976 0.0956417 0.0734165 0 0 -0.00795111 -1.88509e-05 0 -0.0996567 0.382424 0 0 0.00656512 0.201286 0 -0.228543 0 0.0349839 0 0 0.00814271 0 0 -0.533026 0.000319526 -0.010197 0 0.00872603 0.0271558 0 0 0.0921096 0 0.000889851 0.302251 0.0027022 0 0 0.00103985 -0.000752061 0 0.00318032 0.0503482 0.00278823 0.250075 0.0294033 -0.00995032 0 0.00354147 0.00437538 0.100362 0.010894 -0.0438288 0 0 0 1.68392 0.0761614 -0.104695 0.00290418 0.00254651 0.0200088 0.00045917 0.000402621 0.000849284 -0.00441368 0 0 0 0 0 0 -0.22975 0 -0.297956 0 0 0 0 0.244187 1.80931 0 0 -0.311485 0 -0.0361483 0 0.0496923 0 0 0.0158847 0 0.0662863 0.0703429 -0.0425528 0.0114968 0 0 0.508636 0 5.23854 0 -1.73041 -0.135067 0 0.610605 -0.239447 -0.00483275 0 0.0323541 0 0 0.183047 0 1.18819 -1.09558 0 0 -0.119288 0 0 -0.00765763 1.81895 0.235787 0 1.65363 0 -0.331505 0.113856 -0.169219 0.399072 0.0595778 0.387761 0.0710193 0.0294003 -1.03843 3.58244 -0.0614331 0 0 0 0.250844 0.0249573 0 0 0 0 -0.454315 11.0323 1.26604 -0.419868 0.606341 -0.394729 0.489759 0.0633703 -0.0671886 0.1251 -0.273054 0 0 0 0 0 0 +458 0 0 0 0 0 -0.0420824 0.00200912 -0.573145 -0.426739 0 0 0.316174 0.0678952 0 -0.359524 0.0229051 0 0 0 -0.0597296 -1.37646 0 0 0 0 0.192378 0 0 -0.150198 -3.49555 -0.101178 0 -0.356431 0 0 0.031624 0.0513134 0 0 1.49526 -1.12562 0 0 0.402711 0.335633 0 -0.591908 -0.909714 -1.47721 -0.879495 -0.0861151 -0.718679 0 0.177196 -0.0393848 0.528522 -0.683273 -0.343208 -0.81281 0 0 0.0847611 0.563647 0 -2.61717 -0.525277 -0.350568 0 0 0 0 -0.0513922 1.21054 0 -1.16618 -1.14838 0 0 0 0.079893 0 -1.08149 1.8199 0 -1.11008 0.886659 0.774698 0 -1.90452 2.4795 -3.5565 9.05514 0 0 0 -0.12266 -0.0422807 0 0 0 -0.0263009 -0.0165526 0 -0.00350873 0 0.00488964 0.00748795 0 0 0 0 -0.0759867 0 -0.0045064 0 0.0373455 0 -0.181206 0.0981371 0 0.00161096 0 0 0.0990725 0.00180071 0.0159707 0 -0.00105613 0 -0.00118721 -0.0713383 0.0166267 0.026254 -0.00868395 0 0.00033318 0 0 0 -8.09572e-05 0 0 -0.00155779 0.00437792 -0.0518369 0.0140046 0 0 0.0205882 0 0.0109034 0 0 0.045641 -0.017849 -0.102875 0.00644062 0 0 0.018708 0.0407315 0.043385 0.0450712 -0.0530431 0 -0.0807357 -0.0149909 -0.431233 0 0 0 -0.0592387 0 -0.0177822 -0.0765621 0 0.00161421 -0.0022861 0.000503272 0 -0.00179602 0.000506418 -0.0033735 -0.0726868 0 -0.0420824 -0.12266 0.00200912 -0.0422807 0.33634 0.0788617 -0.117931 0.298891 -2.56134 0.0682774 -0.150505 -0.174705 0.0101589 -0.0145804 -0.0388833 -0.111728 -0.11736 0.429219 0.811389 1.93157 0.323334 -0.0553972 -0.507243 0.0778429 -1.23262 -0.136226 -0.897638 0.0215785 -0.092696 -0.104191 2.6717 0.305627 -0.00739985 -0.422736 0.951325 -0.0693723 -0.00722836 0.050822 -0.0525485 -1.06231 -0.333257 -0.017476 0.394619 2.15973 -0.0146198 -0.0199369 0.225362 0.210244 -0.531666 -0.329471 2.61179 -1.00043 0.274341 0.14258 0.00221825 -0.168255 -1.20304 0.962405 0.432681 -0.225507 0.039714 -0.646964 -0.0337401 -2.34835 -1.06981 -0.140988 0.328698 -0.172536 -0.407316 -0.332327 0.0651298 0.0688508 -0.161687 -0.0308713 0.195251 0.211821 -5.05376 0.0533676 1.69025 -2.42649 1.27887 0.978843 0.114153 -9.6336e-05 0.356129 0.0684254 -0.649215 0.287003 0.149352 -0.306587 0.947739 0 +459 0 0 0 0 0 -0.552966 -0.197443 0.265572 0.914421 0 0 -0.161659 -0.321169 0 0.0852474 0.0580344 0 0 0 0.252899 0.665506 0 0 0 0 0.193859 0 0 0.483486 3.94216 -0.255588 0 0.658886 0 0 0.120589 -0.0133245 0 0 -1.04644 -0.175819 0 0 -0.171259 0.313105 0 -0.347374 1.11992 1.29807 0.420114 1.1829 -0.0104188 0 -0.750379 0.0151461 0.0456052 -0.631325 -0.430027 0.290175 0 0 0.095833 -1.60221 0 0.16349 -0.41824 0.210256 0 0 0 0 -0.107322 -0.175871 0 -0.521194 -0.527325 0 0 0 -2.03106 0 0.709473 -3.12225 0 0.50509 -1.01667 -1.31618 0 1.05959 -1.74027 2.20289 -7.39217 0 0 0 0.144232 0.0341451 0 0 0 0.00150369 0.00115728 0 0.000627675 0 0.00368588 0.0356197 0 0 0 0 0.0832798 0 0.0142794 0 0.196353 0 -0.0123809 0.219177 0 -0.00598371 0 0 -0.111177 5.43279e-05 0.0699515 0 0.00509179 0 5.73062e-05 0.18322 -0.028158 -0.000751813 0.0350062 0 0.00028884 0 0 0 0.00036831 0 0 0.0109248 0.00976691 0.0117851 -0.0411817 0 0 -0.0119407 0 0.0087341 0 0 -0.0280845 0.00963036 -0.13489 0.0126829 0 0 0.00418204 0.0917905 0.0214831 0.00466596 -0.129351 0 0.018404 -0.0370417 0.145133 0 0 0 -0.110906 0 0.0133477 0.0153233 0 -0.00400717 0.0127465 -0.0789728 0 0.00216294 -0.00310213 -0.000456794 0.0407082 0 -0.552966 0.144232 -0.197443 0.0341451 -0.486268 -0.110654 0.152781 -0.283247 1.76138 -0.0485675 0.00190774 0.198736 -0.00753394 0.0386542 0.030862 0.128299 0.00721622 -0.276792 -0.937803 -0.682301 -0.0656619 -0.050823 0.360345 -0.152138 0.0120613 0.0818213 1.13608 -0.0296925 -0.843239 -0.326589 -1.13601 -0.838654 0.00494051 0.274087 -0.318693 0.0559469 -0.00390057 -0.0518363 -0.0441479 1.00082 0.212682 0.00539014 -0.9455 -1.49858 0.00151791 -0.0251736 -0.281913 -0.150316 0.0934952 -0.279695 -2.75991 0.589732 -0.0644275 -0.913395 -0.0194866 0.206177 1.07652 -0.386244 -0.251672 -0.150936 -0.114715 0.505484 0.25611 -1.13992 -6.26597 0.313147 -0.250708 -0.120782 -0.00618822 0.13829 -0.098012 0.115181 0.117869 -0.000326196 0.102099 -0.470377 2.14886 -0.140397 -1.66044 1.12092 0.0467377 -1.9207 -0.138709 0.220402 -0.520827 -0.173662 0.418662 0.132843 -0.65646 0.618823 -1.06316 0 +460 0 0 0 0 0 0.483647 -0.173367 -0.0610553 -1.38214 0 0 -0.380333 -0.265926 0 -0.927493 -0.0585696 0 0 0 0.169809 3.57197 0 0 0 0 0.289218 0 0 0.660767 0.544581 -0.570984 0 0.220999 0 0 0.35391 -0.0364333 0 0 -1.86443 -0.108057 0 0 -0.404916 2.13692 0 -0.913541 0.537537 2.07492 1.09577 -3.14194 0.481345 0 -0.215543 0.281928 -0.492356 1.64269 -0.664646 -1.03986 0 0 0.107017 1.91735 0 0.955491 1.29363 0.509837 0 0 0 0 -0.0548264 -2.34961 0 0.175223 0.72958 0 0 0 2.37919 0 2.27185 -0.800263 0 1.23884 -0.976005 3.79858 0 2.00572 -1.46096 3.7926 -2.59338 0 0 0 0.373305 0.100605 0 0 0 0.109328 0.120902 0 0.0173404 0 -0.00577385 0.0102699 0 0 0 0 -0.0120368 0 -0.00474162 0 0.0732153 0 0.580544 0.722149 0 0.00185582 0 0 -0.0927816 -0.00170442 0.104539 0 0.0135906 0 0.00873929 0.132608 -0.00310924 -0.027003 0.0246409 0 -0.000366656 0 0 0 0.000995207 0 0 0.0107509 -0.00150905 -0.0802065 -0.0283573 0 0 -0.0225023 0 -0.0255213 0 0 0.0499027 0.0106361 -0.00537201 -0.0184648 0 0 0.0360545 0.0496431 -0.0874676 0.0439734 -0.393631 0 -0.065297 -0.0153233 -0.0381119 0 0 0 -0.0402489 0 0.0296157 0.0441088 0 -0.00515464 0.00890213 -0.0359136 0 0.00371006 -0.00364159 0.00527419 0.0639409 0 0.483647 0.373305 -0.173367 0.100605 -0.238522 -0.0420759 0.453234 0.220413 0.732626 -0.147616 0.00282047 -0.504384 -0.0233249 -0.0686209 0.101382 0.053469 -0.0183665 -0.829484 -0.23005 -1.31287 0.184363 -0.130522 0.0169686 -0.0333363 0.243395 -0.126621 0.277771 -0.0253078 -1.51884 -0.0409608 0.144867 -0.852105 0.0173141 -0.481696 0.245186 0.0302433 -0.00271957 0.0416533 -0.0420476 -0.70825 0.172067 -0.0203674 -1.04862 -1.3208 -0.0055728 0.0145948 -0.244872 -0.18324 0.025506 -0.680957 0.630351 -0.607741 -0.0692267 -4.87017 -0.0700223 0.568766 0.668316 0.462608 0.0913003 0.355613 -0.131161 0.00461766 -0.204271 -0.534371 -8.07592 -0.252325 -0.317867 -0.351336 0.0715701 -0.314787 0.185728 -0.0084357 0.352934 -0.324237 0.176048 -0.0984443 -0.27403 0.470979 1.36311 0.674962 0.21473 1.63574 0.416185 -0.178129 0.126088 0.925922 1.25464 -0.282144 0.24348 -0.0163823 0.909923 0 +461 0 0.405613 0.221661 -0.0201743 -0.0941972 0.175253 0.196771 0.136797 -0.0526275 -0.147673 0.357901 -0.23983 1.24965 0.00318978 1.77433 0.00276344 0.35766 1.43388 -0.0549697 -0.022895 7.2546 -0.0163774 -0.230259 -0.00360433 0.0783287 -0.0409292 0.222172 -0.0336747 -0.0346442 1.66572 0.392705 -0.024756 0.0394638 -0.290365 -0.339824 -0.130868 -0.0212389 -0.234694 0.0467207 -0.425899 3.06221 0.0236124 -1.60081 -0.0462041 5.52275 0.149156 1.25327 0.586051 -0.228282 0.163207 0.760746 0.396469 8.97385 0.0835291 -0.0716984 -0.00588388 1.03633 0.0156919 -0.0858935 -0.183468 -0.0601392 -0.131454 -3.01857 -2.07371 1.31106 0.624223 0.160463 -0.531943 -0.493753 0.0461077 -0.492745 0.198881 0.100986 0.451728 0.268676 0.694908 1.49437 -0.0965214 -0.792441 1.1242 -0.593642 0.428108 0.663457 -0.132988 0.292629 -0.479449 0.367821 -0.125508 0.218732 -0.79419 0.708236 -2.08552 0 0 0 0 0 -0.0201743 -0.0941972 0.00129853 0 0 0 0 0.000318086 0 0.00868692 0 0 0.000176666 0.000561781 0.00165544 0 0.000813257 -0.0131556 0.0116006 0 0 0.0847052 3.88294e-05 0 0.0060159 0.337013 0 0 0.0204354 -0.0279781 0 0.0157465 0 -0.0014982 0 0 0.00109476 0 0 0.254355 0.00452957 0.00256537 0 0.0183449 0.0141487 0 0 0.0606773 0 0.00470442 -0.113904 -0.00601921 0 0 0.00123221 0.000445629 0 -0.015154 -0.0813675 2.24941e-06 -0.127729 0.00839519 0.0175719 0 0.0252532 0.0057325 -0.0574251 0.0200414 -0.00598574 0 0 0 -0.442561 0.0309291 -0.0625681 -0.0254596 0.0284846 -0.0301043 0.000138557 -5.96153e-05 -0.000448407 -0.00141676 0 0 0 0 0 0 0.175253 0 0.196771 0 0 0 0 -0.453098 0.39133 0 0 0.602236 0 0.0675262 0 0.0276448 0 0 0.320792 0 -0.601268 -0.145888 0.370372 0.0232941 0 0 0.249115 0 0.54909 0 -3.48908 -0.112088 0 -1.12566 -1.3635 0.0425048 0 -0.0573387 0 0 0.0407556 0 0.0279176 0.570589 0 0 0.0152819 0 0 0.270611 -4.65998 0.0257349 0 -0.498043 0 -0.913988 0.249694 -0.254129 -0.387564 -0.331209 -0.718569 -0.189723 0.0553838 0.0686015 -5.54683 0.257283 0 0 0 -0.175678 -0.217233 0 0 0 0 0.0723209 15.3112 0.966855 2.31441 1.35449 -0.670481 1.09303 -0.402723 0.235834 -0.19835 0.407352 0 0 0 0 0 0 +462 0 -0.839831 0.10896 0.0236001 0.19966 -0.283122 0.117043 -0.195848 0.661119 0.166451 -0.777854 -0.172015 -0.283716 -0.00306896 0.344793 -0.0147145 0.80243 -0.0672075 0.00535723 -0.0158038 -2.19186 -0.00327014 -0.356027 0.00214328 -0.121263 -0.322861 0.484371 -0.0282025 -0.630462 -0.498249 0.173898 0.0186162 -0.146788 -0.307846 0.103791 -0.264729 -0.0125359 -0.258857 0.391813 -0.171124 -0.171324 -0.0287337 0.144605 -0.00934008 -1.44935 -0.267864 0.356048 -0.684159 -0.190747 0.0352924 0.770759 -0.370574 -1.03348 0.0947399 -0.0950728 0.392682 0.025393 -0.147939 -0.304122 0.332677 0.0921541 0.301667 0.208186 -0.169374 0.0994308 0.45851 -0.745695 0.0628241 -0.162933 -0.0352661 -0.0440188 0.491253 -0.289643 0.201636 -2.01212 0.0940642 -0.87042 -5.6909 0.672676 -2.26201 0.717386 0.413425 -1.6005 0.861698 -0.308326 0.65218 -1.3913 0.225397 0.000980093 0.377314 -0.0249709 0.62382 0 0 0 0 0 0.0236001 0.19966 0.00313287 0 0 0 0 0.000378012 0 -0.00462915 0 0 -0.00155834 -0.00326545 -0.00116808 0 -0.000240904 0.026455 -0.0212065 0 0 0.111708 -0.000215707 0 0.0101901 0.455591 0 0 0.0136499 0.155852 0 0.0722254 0 0.0134524 0 0 0.00159114 0 0 0.265519 0.00524222 -0.0240708 0 0.043438 -0.000553425 0 0 0.0531888 0 0.00286826 -0.0284093 -0.0032518 0 0 0.007989 -0.00784477 0 -0.0190324 0.0882662 -0.017522 -0.698556 0.00505965 0.0322801 0 -0.0113001 0.00812299 -0.0833529 -0.0658453 -0.0207329 0 0 0 -0.263627 0.0283521 0.0233685 -0.0102653 0.0154215 -0.0373994 0.00338023 -0.00354756 0.00249336 0.00420198 0 0 0 0 0 0 -0.283122 0 0.117043 0 0 0 0 -0.0323597 -0.0652183 0 0 -0.20998 0 -0.0265136 0 -0.0270196 0 0 0.252827 0 -0.576991 0.0909881 0.0588558 0.0465246 0 0 -0.248515 0 1.23654 0 1.73281 0.812549 0 0.697448 -0.382888 0.00488094 0 -0.00233292 0 0 -0.00379159 0 1.32634 -0.142673 0 0 -0.00617503 0 0 -0.114332 2.8638 -0.133259 0 -0.161225 0 0.354123 -0.164583 0.18149 0.548909 0.0718392 0.0844537 -0.125368 0.0431315 -0.363706 2.59196 -0.168699 0 0 0 0.0240336 0.094009 0 0 0 0 -0.131381 -15.5056 -0.915287 -2.56619 -1.17371 0.665067 -1.13761 0.11546 -0.0952251 0.136754 -0.441407 0 0 0 0 0 0 +463 0 1.58906 -0.194222 0.0724102 0.389288 -0.181686 -0.0119537 0.173442 0.319026 0.526429 -1.46279 0.265236 -0.816072 -0.0110698 -0.509833 -0.0572604 -1.66738 -1.96919 -0.164868 -0.114346 -1.88474 0.0123246 0.394996 0.0117506 -0.221491 -0.346843 -0.80323 -0.0306285 -0.253054 -0.890851 -0.141833 0.0829368 -0.415509 0.217938 0.197453 -0.166413 0.030435 -0.0405765 -2.65541 0.697636 -0.415269 -0.0853867 1.27905 0.0909387 -2.64364 -0.588786 0.000192317 -0.412648 -0.811094 -0.307147 0.72006 -0.792189 7.52298 0.377329 -0.319493 0.365177 1.1436 1.01442 0.554735 0.640459 0.228329 0.52888 -1.48332 2.14358 -0.832875 -0.493678 0.701195 1.35234 0.167752 -0.154808 0.77838 -0.460262 0.165023 0.144059 -1.41929 -0.372889 -0.0146672 8.22849 2.85691 0.512461 1.79 -1.46502 3.2356 0.967852 -0.761616 1.38841 -0.0455208 0.495439 -0.449615 0.743394 -0.672912 1.11537 0 0 0 0 0 0.0724102 0.389288 0.00205687 0 0 0 0 -0.000490803 0 0.000485874 0 0 -0.000173027 -0.00257953 -0.00550932 0 0.000420365 0.00227114 -0.0447649 0 0 0.295403 -0.000169328 0 -0.0217798 0.50456 0 0 0.0330222 0.0318754 0 -0.0609095 0 0.0649557 0 0 0.00689748 0 0 -0.102807 -0.00717335 -0.0042624 0 0.0271464 -0.0211215 0 0 -0.0429644 0 -0.00954164 -0.112875 0.0114992 0 0 0.00277159 -0.0117387 0 0.00223704 -0.00213839 -0.0076555 -0.660832 -0.0041573 0.0118179 0 0.0052263 -0.0134125 -0.0432591 -0.119834 0.0159898 0 0 0 0.2491 -0.0156658 0.0746477 0.0160651 -0.0165803 0.010053 0.00106645 -0.00103876 0.000270166 0.00633103 0 0 0 0 0 0 -0.181686 0 -0.0119537 0 0 0 0 -0.0279182 0.220671 0 0 -0.970439 0 -0.113366 0 -0.0218992 0 0 -0.42312 0 0.365158 -0.00481689 -0.492486 -0.0846719 0 0 -0.185499 0 -2.17875 0 -3.02521 -0.20508 0 0.00651871 -0.354721 -0.0587831 0 -0.00421733 0 0 0.0173035 0 -1.02401 -1.06792 0 0 -0.200028 0 0 0.207834 0.915185 -0.118798 0 2.88583 0 -0.694853 -0.402921 0.212755 -0.404257 0.157808 0.816604 1.49435 -0.31844 0.875539 6.16063 -0.088775 0 0 0 0.097447 0.31883 0 0 0 0 0.155917 9.85778 1.0522 1.48806 1.08939 -0.611157 1.45202 0.655452 -0.270458 0.247366 0.0719841 0 0 0 0 0 0 +464 0 0.529024 -0.256926 -0.00699185 -0.0173451 0.0310663 -0.142183 0.304144 -0.266568 0.0281165 0.59453 0.19674 -0.908876 0.000951292 -1.49547 -0.00669659 -1.4326 -4.46818 0.0361374 -0.0321547 -2.95975 0.00693031 0.412357 -0.00037902 0.120838 -0.0795035 -0.544064 -0.00250833 0.132412 -0.266901 -0.283925 -0.00271508 -0.0265312 0.461816 -0.0326379 0.0811398 0.0127713 -0.0295944 0.117908 0.0909541 -1.63746 0.0139087 -0.583334 0.00577446 -4.05538 0.201919 -0.624787 -0.0393285 -0.449756 0.00666029 -0.0951708 0.582165 -3.00614 0.0645182 -0.0911002 -0.247805 -4.54278 0.0960414 0.181721 -0.253436 -0.042748 -0.54418 1.19877 -1.39901 0.369592 -0.112472 -0.365577 -0.266967 0.0561625 -0.00875478 -0.108151 -0.000376672 0.182144 0.0316293 -1.45055 -0.090473 0.413433 -1.21531 -1.36911 0.0488653 -0.428704 -0.237355 0.369863 -0.617741 0.406013 -0.597743 0.941949 -0.0427348 -0.0414238 -0.124032 -0.0265602 0.402566 0 0 0 0 0 -0.00699185 -0.0173451 0.000628643 0 0 0 0 7.15574e-05 0 0.0186465 0 0 0.000751723 0.000442128 0.00764501 0 0.00116202 -0.0154019 0.11774 0 0 -0.216917 2.63812e-05 0 -0.0107661 -0.460924 0 0 -0.0247989 -0.130814 0 -0.0931279 0 -0.0160025 0 0 -0.00185968 0 0 -0.0895223 0.0010391 0.0112816 0 0.00911819 0.00012375 0 0 -0.0706027 0 0.00237757 -0.206185 -0.00254502 0 0 -0.0021618 0.00140731 0 0.000336605 -0.0766987 0.00753432 -0.247067 -0.00360807 0.0144023 0 0.0116448 0.0296134 -0.0862229 0.0407991 0.0639686 0 0 0 0.0653699 0.00174103 -0.126876 -0.00534303 0.00401076 0.0320005 -0.00118558 0.00131285 -0.0013146 -0.0440972 0 0 0 0 0 0 0.0310663 0 -0.142183 0 0 0 0 -0.209844 -0.145224 0 0 0.0663914 0 0.0102715 0 0.000622544 0 0 -0.559743 0 0.236286 -0.108871 -0.0977396 -0.0653511 0 0 0.0133571 0 -2.71618 0 -3.05676 -0.399998 0 -0.749947 -0.569643 -0.0111871 0 -0.0284235 0 0 -0.00949827 0 -1.01947 -1.26098 0 0 -0.168555 0 0 -0.783404 -3.77146 0.0655741 0 -2.84679 0 -1.23364 0.114919 -0.276245 -0.3531 -0.216825 -0.652774 0.48214 -0.0539116 2.19342 -4.04294 0.264651 0 0 0 0.16156 -0.0511384 0 0 0 0 0.0868659 14.8179 1.77801 0.637317 1.33247 -0.750347 1.14439 -0.0350009 0.0495964 -0.0178866 0.231209 0 0 0 0 0 0 +465 0 -0.893021 -0.335015 0.0102249 0.0629173 -0.287526 -0.124689 0.410591 1.14838 0.0908475 -0.444034 0.0660991 0.787509 -0.000665192 0.504878 -0.0228893 -0.533905 1.28923 -0.117475 -0.0329829 1.67306 -0.00932623 0.452234 0.000789216 -0.0362314 0.492154 -0.425639 -0.00904851 0.234379 0.316785 0.202778 0.00951603 -0.43212 0.57588 -0.0981554 0.258309 0.00251619 0.0529791 1.09021 0.0697006 0.574027 -0.00800294 -0.133685 0.0038994 2.53954 -0.0878884 -0.0452464 0.236842 -0.566159 -0.0262806 -0.440297 -0.0401631 4.45711 0.102249 -0.0370832 0.0412983 3.46464 0.015927 0.0151264 0.0956496 0.0226478 0.731308 1.69335 0.759414 0.381552 0.204954 0.426716 -0.0878454 -0.115069 -0.0230187 -0.0254836 -0.034096 -0.218319 -0.266832 3.77902 0.260033 0.158967 -4.99346 -0.261568 -1.55327 0.0729526 0.194516 -1.77154 0.0922542 0.0378032 0.11992 -0.936534 0.018601 0.00646513 0.032758 -0.102453 -0.477806 0 0 0 0 0 0.0102249 0.0629173 -0.00301441 0 0 0 0 -0.000259805 0 -0.0129518 0 0 0.00135049 0.00250523 -0.00775006 0 -0.00135504 0.0159979 -0.0705044 0 0 0.078953 0.000183221 0 0.00917313 0.256699 0 0 0.00907753 0.0933213 0 0.0675324 0 0.00858635 0 0 0.000975803 0 0 0.261272 -0.00367124 0.0185372 0 -0.0421623 0.020682 0 0 0.014514 0 0.0047138 0.0831695 -0.00952067 0 0 0.00309439 0.0128386 0 -0.00808898 0.0247769 -0.0103648 0.224837 0.00206619 0.00749536 0 -0.0114108 0.0203131 -0.0398971 0.06522 -0.0229693 0 0 0 -0.316171 -0.00413702 0.0484689 -0.00842987 0.0123384 -0.0523293 -0.000235482 0.000654406 -0.00278726 0.014373 0 0 0 0 0 0 -0.287526 0 -0.124689 0 0 0 0 0.345331 -1.45921 0 0 -0.721185 0 -0.0833033 0 -0.0938382 0 0 0.530176 0 0.570348 0.125309 -0.444712 0.0394377 0 0 -0.845528 0 -1.77871 0 2.51382 0.00595963 0 0.898833 0.806278 -0.052195 0 0.045971 0 0 -0.159237 0 -0.504946 0.99198 0 0 0.0721229 0 0 0.468458 3.5619 -0.0213111 0 1.26449 0 0.707154 -0.877288 0.490877 0.402893 0.0278625 0.336625 0.48484 -0.029441 1.35459 6.76888 -0.0174116 0 0 0 -0.240915 0.234793 0 0 0 0 0.527508 -16.1948 0.156038 -3.80537 -1.66837 0.854367 -1.17266 0.528592 -0.258502 0.222597 -0.408885 0 0 0 0 0 0 +466 0 0.613756 0.133853 0.0301975 0.270099 -0.0499709 0.259174 -1.36795 -1.90549 0.311914 -0.996195 -0.366685 1.04204 -0.00182169 0.706158 0.0149127 0.456132 3.13318 -0.226384 0.00624083 -2.0529 -0.0127931 -0.102336 0.00184465 -0.0539566 -0.450942 0.132786 -0.0563542 -0.707202 -1.03138 0.467974 0.0253587 0.224789 -0.346802 -0.349992 -0.376122 -0.0289752 -0.258735 -2.28935 -0.413896 -0.0532236 -0.0240049 -0.886966 -0.0312816 2.50001 -0.301955 0.595396 -0.87627 0.0895549 0.12651 0.412144 -0.547999 -2.45478 0.0256233 0.00978154 0.218034 -3.34601 0.159268 0.220432 0.383632 0.0779844 1.42959 -0.0285781 1.1111 0.0305178 0.253629 0.780109 0.142422 -0.506193 -0.0716163 0.0437227 0.419215 0.0600074 0.362826 -0.784881 0.762812 1.45127 4.35717 1.85035 1.5029 1.3602 -0.606714 2.52462 0.27282 -0.101175 1.20103 1.6855 0.0639069 0.0913522 0.336861 0.474564 1.55562 0 0 0 0 0 0.0301975 0.270099 0.000104932 0 0 0 0 -9.05675e-05 0 -0.0117012 0 0 -0.000120671 0.000859728 -0.0107854 0 -0.00129765 0.0305858 -0.113489 0 0 0.358038 7.55311e-05 0 0.00650719 0.963404 0 0 0.0454145 0.19797 0 0.0443242 0 0.0303905 0 0 0.0036632 0 0 0.179227 -0.00140064 -0.00373204 0 0.000185543 -0.00782896 0 0 0.0568184 0 -0.000241034 -0.00194157 -0.00170474 0 0 0.00742636 0.00127176 0 -0.0127244 0.0355879 -0.0171724 -0.489002 0.00189336 0.0147069 0 -0.00509256 -0.00810392 -0.0737881 -0.0448955 -0.0240757 0 0 0 -0.165568 0.00559063 0.104077 -4.4376e-05 0.00310043 -0.0415708 0.00213871 -0.00196685 -0.000204734 0.0329459 0 0 0 0 0 0 -0.0499709 0 0.259174 0 0 0 0 -0.158406 0.130304 0 0 -0.039477 0 -0.000630318 0 0.0134569 0 0 -0.369122 0 -0.0517294 -0.0465821 0.239669 -0.0559778 0 0 0.119336 0 1.30993 0 0.821645 0.630883 0 -0.19905 0.556461 0.0294512 0 -0.0220163 0 0 0.0107052 0 0.949477 -0.220121 0 0 -0.0465525 0 0 -0.030815 0.230302 -0.0111713 0 0.209333 0 0.0433014 -0.21435 0.0945499 -0.106738 -0.00115763 0.331001 0.477972 -0.137866 0.808242 1.71404 0.17202 0 0 0 0.0478868 0.0521727 0 0 0 0 0.0483343 -6.40488 -0.67798 0.438142 -0.586613 0.149045 -0.0805428 0.0112908 -0.00194542 0.0067353 0.149708 0 0 0 0 0 0 +467 0 0 0 0 0 -0.440916 -0.312759 0.490896 0.999492 0 0 0.338295 -1.22098 0 -1.18216 0.0200155 0 0 0 -0.502314 -5.91897 0 0 0 0 0.232132 0 0 0.67589 -1.69362 -0.599033 0 0.456628 0 0 0.231401 0.0213434 0 0 1.54679 -2.93828 0 0 0.235658 -3.35877 0 -1.39161 0.164528 -0.85472 -0.439575 1.02253 0.0374406 0 0.285698 -0.0561876 -0.0354373 -2.04266 -0.909729 -0.406956 0 0 0.919794 4.89095 0 -0.372713 -0.308964 -0.730248 0 0 0 0 0.0988125 1.63408 0 0.534996 -0.841672 0 0 0 -0.337095 0 -1.70621 1.64758 0 -0.751557 0.666576 -3.10303 0 -1.46836 1.1479 -4.37175 5.72118 0 0 0 -0.203255 -0.0515722 0 0 0 -0.0412832 -0.000886398 0 -0.00636561 0 0.00464152 0.0202309 0 0 0 0 -0.0293624 0 -0.0131584 0 0.178515 0 -0.162874 0.0622186 0 0.00418797 0 0 0.254896 0.00216782 -0.0169343 0 0.00141612 0 0.000270989 0.0127326 0.0271413 0.0373936 -0.00936545 0 0.000217305 0 0 0 7.84894e-05 0 0 -0.00542544 0.00210202 0.29736 0.0561714 0 0 -0.00277421 0 0.00142278 0 0 0.00219217 0.00319412 -0.0179187 -0.0289679 0 0 0.121085 0.0641367 0.00278168 0.495677 -0.206896 0 0.257909 -0.000671987 0.00766528 0 0 0 -0.63356 0 -0.0792176 -0.879282 0 -0.00154099 -0.0562528 -0.294484 0 -0.00261597 -0.00325724 -0.00745625 -0.557257 0 -0.440916 -0.203255 -0.312759 -0.0515722 0.0969198 0.066346 -0.272639 -0.284047 1.53788 0.0629094 0.0657098 0.310002 0.0107949 0.0615583 -0.0507224 0.107474 0.0177748 0.293196 0.369347 0.145956 -0.0171501 0.0252221 0.190368 0.109834 0.20963 -0.153427 0.90871 0.00187726 0.261521 0.390695 -0.634279 -0.84851 -0.00867773 -0.0576079 -0.216718 0.0360033 0.00376282 -0.0555624 0.0971745 -1.02995 0.1634 -0.0256698 -0.539187 0.651265 0.00728867 -0.00695687 0.242439 0.0252788 -0.135906 0.156781 2.92015 1.23734 0.0194101 -0.0386072 0.0357872 -1.23394 0.500715 -0.80316 -0.157981 0.0126389 0.881814 1.09116 -0.0731708 -1.34396 -6.67901 -0.00585831 0.0650891 0.122164 0.137137 -0.063721 -0.0662743 0.0292241 -0.123674 0.115673 -0.170702 -0.117581 4.79429 -0.547557 0.0401343 -0.676217 -1.58943 4.25387 -0.499535 -0.0364113 0.25045 0.224103 -0.399259 0.0197673 0.203057 -0.751706 1.71775 0 +468 0 0 0 0 0 0.961667 0.263701 -0.560622 -2.92544 0 0 0.555775 1.12801 0 1.30148 0.0886227 0 0 0 -0.0341137 3.98683 0 0 0 0 -0.284605 0 0 -0.650417 -4.16018 0.507535 0 0.467462 0 0 -0.0680364 0.143437 0 0 0.497151 1.42612 0 0 0.268054 2.89225 0 0.595683 -1.6908 -0.0284454 -0.523656 0.748872 -0.162412 0 -0.111371 0.626742 -1.00704 -0.406589 -0.438369 0.213401 0 0 1.35516 -3.58987 0 -0.896159 -0.317833 -0.158339 0 0 0 0 0.62586 1.31264 0 -0.0899451 2.38615 0 0 0 4.82088 0 0.181857 4.14197 0 0.0526212 1.68977 1.64335 0 -0.56231 3.58371 -8.11013 22.8674 0 0 0 0.16404 0.00539688 0 0 0 0.00113432 -0.015205 0 -0.000670119 0 -0.00191599 -0.0636842 0 0 0 0 -0.119826 0 -0.0318205 0 -0.387257 0 0.0926267 0.190988 0 0.00125584 0 0 0.0299762 -0.000357736 0.0148926 0 0.000430189 0 -0.000882712 0.0847125 0.00309578 -0.0143445 0.00949577 0 -6.88985e-05 0 0 0 -5.92186e-06 0 0 -0.00154045 0.00365292 -0.11405 -0.00784386 0 0 0.007636 0 0.00644329 0 0 -0.014063 0.0150066 0.184896 0.00811055 0 0 0.0324716 0.0602123 -0.068033 -0.168035 -0.590635 0 0.0541233 -0.00716588 0.080986 0 0 0 1.22273 0 0.0713262 -0.385745 0 0.00591708 -0.0314072 0.303113 0 -0.000497434 -0.00200632 0.027836 -0.200577 0 0.961667 0.16404 0.263701 0.00539688 0.116979 0.0960889 -0.155408 0.593494 1.22819 0.0010191 -0.0789317 -0.341312 0.00119507 -0.0606858 -0.0249725 0.0976197 -0.0320363 -0.0481446 -0.299932 -0.42452 0.0978288 -0.107861 -0.268611 -0.0791075 -0.177055 -0.185112 0.730724 -0.00192234 3.78104 0.114527 2.81931 0.524137 -0.00447484 0.188303 0.536416 -0.0332296 0.00382077 0.0685324 0.0120455 -1.06544 0.15482 -0.0314284 1.40442 -0.996597 -0.0106818 0.0136839 -0.316413 -0.0332441 0.0180121 0.606975 -0.469731 0.342366 -0.0292344 1.99104 0.0498703 -1.84935 0.741758 -0.745452 0.66469 -0.101365 0.204257 0.484218 -0.204728 0.295707 4.84292 0.101173 0.333222 -0.00817437 0.013155 0.108966 0.0784736 0.0336742 -0.0207442 -0.116305 0.0174582 -0.172588 -21.3102 -1.48387 2.15737 -1.73764 1.835 0.682426 0.279758 -0.390174 0.89543 0.0471566 0.0655609 -0.189423 0.544346 -0.642666 1.74904 0 +469 0 0 0 0 0 -0.559918 -0.132389 -0.172958 0.591589 0 0 0.815339 0.133833 0 0.726155 0.0328479 0 0 0 -0.0194683 4.36047 0 0 0 0 0.127388 0 0 -0.0636118 -9.40597 -0.215041 0 0.0854022 0 0 0.0400644 0.111842 0 0 3.07502 0.0473351 0 0 0.535042 3.31279 0 -0.553057 -1.89243 -0.632871 -0.660921 -0.864501 -0.132504 0 0.125716 0.530418 -0.885057 0.245086 -0.162488 -0.69325 0 0 -0.253453 1.24752 0 -0.839881 0.0226817 0.557378 0 0 0 0 0.000518647 1.20765 0 -0.626761 1.45722 0 0 0 -0.998505 0 -3.79779 11.8097 0 -1.21206 3.86302 0.985759 0 -2.67549 7.25515 -12.7327 34.5307 0 0 0 -0.380453 -0.0934841 0 0 0 -0.0970071 -0.0241493 0 -0.01426 0 0.00725677 -0.00445633 0 0 0 0 -0.0447788 0 -0.0312122 0 0.0828857 0 -0.482501 -0.482008 0 -0.0048669 0 0 -0.471068 0.000269784 -0.0882606 0 0.00288238 0 -0.00136656 -0.168326 -0.0541347 0.0175306 -0.0337538 0 0.000302103 0 0 0 0.000137002 0 0 0.00200227 -0.000550067 0.164211 0.0209103 0 0 -0.0459193 0 0.00345534 0 0 -0.0487721 0.0263445 0.100235 -0.0608315 0 0 0.191726 0.0555932 -0.0231275 0.189749 -0.219115 0 -0.113509 -0.00663949 0.365846 0 0 0 0.260606 0 -0.102473 1.24852 0 -0.00849422 0.0692081 0.209306 0 0.000471879 0.00661545 -0.0488726 0.716139 0 -0.559918 -0.380453 -0.132389 -0.0934841 1.16491 0.251543 -0.346103 0.533834 0.939203 0.1245 -0.0288373 0.126581 0.0199937 0.0570198 -0.0796656 0.12587 -0.0423921 0.685035 0.159398 2.31317 0.28646 0.00801591 -0.088824 -0.0357453 -0.503017 -0.229811 0.759559 0.0400882 3.48602 -0.131096 2.15631 -0.217886 -0.0152157 0.616693 0.909944 0.0105451 -0.00328904 0.0496789 0.0255022 -1.19817 0.140235 -0.0355349 0.859086 1.40283 0.00031701 -0.071368 0.159 0.307632 -0.0312747 -0.692459 -1.06649 1.42689 0.162893 0.0425967 0.0424963 -0.202407 0.466106 -1.17645 0.499538 -0.190165 -1.21752 -0.627956 0.155295 -0.692188 -4.30086 0.088447 -0.510417 0.235376 0.299485 0.503934 -0.130554 0.203819 -0.250655 -0.147281 -0.243523 -0.365384 -16.2988 -2.59989 -0.358817 -4.05714 2.50099 1.85058 -0.760161 0.293116 0.418874 -0.32263 -0.932846 0.636054 -0.352751 -0.0639561 1.40806 0 +470 0 -0.412954 0.000337385 -0.0257947 -0.140948 -0.0293689 0.269874 -1.34426 -2.36412 -0.186363 1.07448 0.140854 0.0881887 0.00567666 0.584359 0.00592906 -0.747615 -3.09753 0.210794 0.0903236 -0.114413 0.0192948 -0.158313 -0.00612099 0.131354 -0.780858 -0.0447095 -0.00208822 -0.76691 -1.76137 0.374942 -0.0343046 -0.0336626 -0.151318 0.21866 -0.487648 0.0206546 -0.0859979 0.955226 0.262576 0.899388 0.0225562 0.604139 0.0240445 -0.195441 0.052108 0.801224 -1.07566 0.537948 -0.0823526 1.45193 0.0124222 -0.700999 -0.00741584 0.17914 -0.355888 1.39199 -0.524125 -0.162405 -0.166009 -0.0296217 -0.489558 -0.959841 0.748092 0.586755 -0.632726 1.07966 -0.278423 0.0226896 0.0271928 0.0577819 -0.238368 0.0526355 0.258125 0.0915802 1.27122 -1.06236 -0.694541 -1.88124 4.02986 -1.29527 1.15945 -0.370877 -0.861827 1.02035 -1.64496 5.2448 -0.070552 -0.139689 1.11479 -1.67796 5.24761 0 0 0 0 0 -0.0257947 -0.140948 -0.000972948 0 0 0 0 -1.90644e-05 0 0.0331089 0 0 -3.72413e-05 0.00131589 0.0357182 0 0.00495358 0.053694 0.249515 0 0 0.171056 5.31642e-05 0 0.00967609 0.854829 0 0 0.0135235 0.252245 0 0.103046 0 0.0201788 0 0 0.00184314 0 0 0.622018 -0.000255192 0.000855753 0 -0.0187817 -0.010031 0 0 0.0953078 0 0.000360561 0.79763 -0.0133915 0 0 -0.000587416 0.00361638 0 0.00480361 -0.0773781 0.0196919 0.894992 0.0176537 0.0156431 0 0.012933 -0.0629253 0.0518501 0.0509771 0.154007 0 0 0 -4.71258 -0.162284 -1.11121 -0.020416 0.0506351 -0.702261 -0.000182553 0.000513652 -0.00616496 -0.24095 0 0 0 0 0 0 -0.0293689 0 0.269874 0 0 0 0 0.107988 -0.071311 0 0 0.442198 0 0.0391966 0 -0.0147929 0 0 0.0247728 0 -0.0700542 -0.0392565 0.00982679 -0.0114119 0 0 -0.140302 0 0.503873 0 2.30984 0.541971 0 -0.215297 0.469743 -0.00708478 0 0.0133209 0 0 -0.00941793 0 0.439768 0.376041 0 0 0.0487317 0 0 -0.00179957 -1.76904 -0.065827 0 0.0406056 0 0.576504 -0.139328 0.0923945 -0.09691 -0.0299527 0.0847257 -0.870754 0.0948305 -0.156975 1.97196 0.0101293 0 0 0 -0.129927 -0.0941221 0 0 0 0 0.0281887 -13.6535 -4.00477 2.96378 -1.50491 1.39746 -1.4647 -0.264464 0.241725 -0.306484 0.161942 0 0 0 0 0 0 +471 0 1.58924 0.421558 0.00386065 0.177774 0.014214 0.170566 -0.0349134 -0.404485 -0.0659835 0.2984 0.189558 -0.173683 0.00359268 0.673263 -0.02341 0.696384 1.81555 0.0875157 -0.00433494 -0.658857 0.068661 -0.278 -0.00844642 0.243993 -0.481375 0.371163 0.0382585 -0.197341 -0.58384 -0.0610477 -0.0319605 -0.279165 -0.656102 -0.0652744 -0.303364 0.0106041 0.115398 -3.4493 0.415391 0.22688 0.0129659 -0.0651174 0.0222483 0.843307 0.0043376 0.250347 -0.271042 -0.228664 -0.0294996 1.12771 0.18208 0.462005 -0.348116 0.0902622 0.12797 0.186176 0.388653 0.759353 -0.340897 -0.0418608 0.116019 0.170172 -0.691293 -0.164019 -0.621592 0.084006 0.516909 0.681111 0.101343 -0.463211 0.05538 0.0908782 -0.346338 -1.24403 -0.344568 -0.237212 8.6266 1.30527 0.536611 1.96367 -2.24733 4.93912 -0.419048 0.517709 -0.592798 1.57482 -0.00587292 -0.278042 0.388786 -1.04532 1.73942 0 0 0 0 0 0.00386065 0.177774 0.000599657 0 0 0 0 0.000344891 0 0.00885134 0 0 -0.00159624 -0.00439399 0.0264292 0 0.00351226 0.0352112 0.0908075 0 0 0.0663969 -0.000185638 0 -0.0649257 0.5586 0 0 0.00797249 0.152361 0 -0.184049 0 -0.0066927 0 0 -0.000650523 0 0 -0.809321 0.00763204 -0.0362468 0 0.016074 0.0587661 0 0 -0.0422588 0 0.00437225 0.159523 -0.00306309 0 0 0.00175428 0.00140975 0 -0.00474682 0.00996842 -0.0144406 -2.00594 0.0445905 0.0223541 0 -0.00377287 7.31792e-05 0.0791814 -0.130096 -0.020792 0 0 0 5.17961 0.278209 -0.256174 0.0215208 -0.0507786 0.725474 0.00109817 -0.00263674 0.0362959 -0.127675 0 0 0 0 0 0 0.014214 0 0.170566 0 0 0 0 -0.15447 -0.0121918 0 0 -0.271702 0 -0.00399333 0 -0.0188051 0 0 0.408383 0 -0.525005 -0.0713813 -0.164663 0.0686474 0 0 -0.114913 0 4.256 0 -5.40697 0.062296 0 -0.512118 -1.67792 -0.00743746 0 -0.0252692 0 0 -0.0146816 0 0.899523 0.856013 0 0 0.151282 0 0 -0.0970547 1.76538 -0.0869794 0 0.0168747 0 -1.2827 0.0865805 0.047873 -0.466205 0.104938 0.273614 1.46561 -0.229091 -0.878054 -2.00302 -0.015652 0 0 0 0.211504 0.0710094 0 0 0 0 -0.247709 45.6086 5.83461 1.4307 3.00007 -3.41731 5.55856 0.150969 -0.188336 0.303843 0.36228 0 0 0 0 0 0 +472 0 -0.365445 -0.215031 -0.118176 -0.352698 0.459876 0.0969314 -0.907948 -3.4928 -0.477848 2.50324 -0.641273 0.155669 0.0325385 0.239855 0.0360341 -0.581714 -0.24693 0.322342 0.101465 -2.03326 0.0481504 0.133866 -0.0297581 0.546269 -0.38051 -0.364493 -0.00930144 0.154022 1.94478 0.0967992 -0.13167 0.0780405 0.179534 -0.115804 -0.0169354 -0.10779 -0.329296 0.843241 -1.58335 -0.843729 0.171103 -2.0661 -0.29703 1.90821 0.812611 -0.258477 0.601826 0.24387 0.781348 3.28537 0.909412 -2.72189 0.0121049 0.417254 -0.363716 -0.897715 -0.373533 0.424714 -0.612571 -0.338193 1.01773 0.400839 -1.38005 0.138144 -1.10726 -1.39224 -0.586845 0.0480537 0.0727954 -0.191343 0.812124 -1.35975 0.234997 0.948427 0.232883 -0.449454 -1.4714 -4.05336 5.16896 -2.71204 3.40725 -4.25516 -2.73731 2.97849 -5.17223 6.29502 -1.10024 1.66557 -2.52707 3.77942 -5.79403 0 0 0 0 0 -0.118176 -0.352698 -0.00174564 0 0 0 0 0.000179495 0 -0.0114891 0 0 0.00117126 0.00863318 0.00488753 0 0.00266785 -0.0361673 -0.126411 0 0 -0.208732 0.000375789 0 -0.0944185 -0.519516 0 0 -0.0182749 -0.147947 0 -0.0480877 0 -0.0781217 0 0 -0.00747097 0 0 0.186501 0.00400964 0.0296844 0 -0.0346972 -0.101167 0 0 0.434075 0 0.00190813 0.548448 -0.0105832 0 0 -0.00102678 0.00680729 0 -0.00254814 0.114603 0.0258618 -1.00933 -0.00329785 0.000566303 0 -0.0228346 0.162224 0.211953 -0.0633259 0.283922 0 0 0 -0.134385 -0.104685 0.275152 0.000553357 -0.00543147 0.0575419 -0.000980592 0.00239352 -0.032478 0.0362749 0 0 0 0 0 0 0.459876 0 0.0969314 0 0 0 0 -0.770033 -2.35294 0 0 1.18233 0 0.135839 0 -0.11322 0 0 -0.0079199 0 0.402099 -0.165211 0.552518 0.00949386 0 0 -0.834866 0 -3.80582 0 1.45078 -0.40395 0 -1.59055 0.650552 0.0646564 0 -0.0818672 0 0 -0.301525 0 -1.48303 1.02103 0 0 0.139142 0 0 -0.141494 -2.75692 -0.60194 0 -0.623345 0 0.453655 -0.514237 0.541575 -0.933423 -0.115387 0.979567 -0.976879 0.31205 1.58077 5.42213 0.185997 0 0 0 -0.19922 -0.310593 0 0 0 0 0.531989 -6.00561 -5.5878 7.48796 -1.32313 1.38522 -1.49191 -0.766588 0.817196 -1.11416 1.53458 0 0 0 0 0 0 +473 0 -0.473174 -0.362433 -0.0821574 -0.171961 0.135542 0.0943549 -0.688198 -1.98728 -0.278707 1.5702 -0.309118 0.225925 0.026397 -0.163496 -0.117537 -1.77716 -6.21259 0.250829 -0.154735 3.24075 -0.0241184 0.153973 -0.0171493 0.229914 -0.401027 -0.690459 -0.199061 0.0500167 0.2296 0.0410918 -0.0728695 -0.491955 0.29285 -0.536893 -0.111552 -0.0903504 -1.06935 0.663324 -0.628125 1.60134 0.116238 -2.94143 -0.216733 0.316573 0.377617 0.710403 0.148552 -0.552247 0.44816 -2.04519 0.706248 -0.902789 0.290427 -0.366456 0.36802 -0.186579 1.59424 0.923274 -0.33374 -0.141615 -0.339281 -3.43647 -1.04382 1.97138 1.59759 0.125975 -1.66464 -1.64727 -0.133344 -0.241094 0.0329188 -1.2239 0.477029 -0.806157 -0.056121 1.60878 2.40357 -2.77912 3.92012 -1.85161 2.31941 -3.60373 -1.79169 2.01713 -3.67999 5.30539 -0.787341 1.3421 -1.54689 2.59282 -1.59002 0 0 0 0 0 -0.0821574 -0.171961 -0.00208682 0 0 0 0 -0.000167258 0 0.00498285 0 0 0.00335214 0.00851541 -0.00472112 0 0.000230883 -0.0615412 0.0711509 0 0 -0.0191868 0.000391023 0 0.00859522 -0.0829326 0 0 0.00285159 -0.116588 0 0.0937594 0 -0.0466751 0 0 -0.00397302 0 0 0.520301 -0.0041243 0.0584111 0 -0.0489695 -0.0860766 0 0 0.18559 0 -0.000297042 0.60866 -0.0123555 0 0 -0.00692308 0.00679985 0 0.018021 0.00367432 0.0397337 0.103335 -0.0321763 -0.00812465 0 -0.00546123 0.103977 -0.0696513 0.0670696 0.368611 0 0 0 -4.63908 -0.305733 -0.559038 -0.0114611 0.0310698 -0.60192 -0.00408873 0.00568987 -0.0340609 -0.0939737 0 0 0 0 0 0 0.135542 0 0.0943549 0 0 0 0 -0.147543 -1.59085 0 0 0.705379 0 0.0653444 0 -0.0740671 0 0 -0.278306 0 0.360526 -0.0894819 0.237445 -0.0556095 0 0 -0.557437 0 -5.68655 0 1.27642 -0.262592 0 -0.5504 0.608492 0.0243713 0 -0.0264412 0 0 -0.210088 0 -1.58991 -0.147416 0 0 -0.0682133 0 0 0.107461 -3.70709 -0.215364 0 -0.345627 0 1.87282 -0.481708 0.320929 -0.137044 0.0835087 -0.550056 -2.11276 0.277886 1.23457 3.68753 -0.121767 0 0 0 -0.373411 -0.172582 0 0 0 0 0.400749 -7.01878 -4.32427 3.82793 -1.33746 1.55725 -1.77203 -0.450034 0.459669 -0.578305 0.46304 0 0 0 0 0 0 +474 0 0.78537 -0.0159593 0.0192481 0.16839 -0.0111978 -0.188651 0.0668301 0.646822 0.00216482 -0.332433 -0.489521 -0.298936 -0.00950554 -1.09469 -0.0390417 0.0979242 2.84835 0.00595646 -0.0461104 1.05899 0.0303108 0.277873 0.0129652 0.0769244 0.482086 -0.32149 0.0195709 0.747456 2.61434 -0.396078 0.0316629 -0.312136 0.232792 0.175605 0.28257 -0.0533108 0.0141845 -1.58058 -0.501809 -0.212901 -0.0397109 0.0160318 -0.0337011 -0.486351 -0.122975 -0.540968 1.48916 -0.418184 0.102607 0.986555 0.527759 6.21655 0.060177 -0.487382 0.9003 4.68319 0.730096 0.116444 -0.0579749 0.0483557 0.398215 0.0237282 1.15119 -1.13786 -0.939297 -0.069277 1.2938 0.684512 -0.0564518 0.738002 0.219021 -0.350438 -0.299521 1.11506 -1.69044 -1.14293 7.40165 1.2026 -1.12847 2.16444 -0.852563 -0.856497 0.70353 -0.408382 -0.237885 -1.29881 0.256405 0.299324 -2.29967 6.49574 -18.1048 0 0 0 0 0 0.0192481 0.16839 -0.00451267 0 0 0 0 -0.00123046 0 -0.0223104 0 0 -0.00124563 0.000891392 -0.0139144 0 -0.00323979 0.0119644 -0.0968064 0 0 0.0752395 4.1387e-05 0 -0.0809505 0.116122 0 0 0.0115512 0.0464654 0 -0.236895 0 0.0342885 0 0 0.00393683 0 0 -0.95509 -0.0240827 -0.0243392 0 -0.0851271 -0.0197431 0 0 0.0694053 0 0.00504829 0.263451 -0.00571197 0 0 0.000188138 0.0180038 0 -0.00470985 0.0864719 0.0134868 -1.14142 0.0510129 -0.0153256 0 -0.0192238 0.0735692 0.442948 -0.160317 0.0642847 0 0 0 7.87978 0.407442 0.674815 0.0400558 -0.023664 0.546634 0.000151787 0.00241286 -0.00383655 0.0294792 0 0 0 0 0 0 -0.0111978 0 -0.188651 0 0 0 0 -0.598212 -0.597376 0 0 0.305826 0 0.0496951 0 -0.0437939 0 0 0.325993 0 0.678172 -0.0915662 0.48053 0.0426674 0 0 -0.408223 0 -1.85422 0 0.0336121 -0.278356 0 -0.721766 1.00894 0.0587911 0 -0.0657561 0 0 -0.0663342 0 -0.595359 0.111147 0 0 0.0190901 0 0 0.424369 -0.159548 -0.611123 0 1.56166 0 0.85064 -0.503628 0.613529 -0.85756 -0.0937614 0.468812 -0.305659 0.204907 0.276674 7.42923 0.0990865 0 0 0 -0.0854649 -0.161933 0 0 0 0 0.20139 10.8367 0.0742912 2.80639 0.404728 -0.136782 0.246029 -0.239231 0.327961 -0.494481 0.905235 0 0 0 0 0 0 +475 0 -0.649451 0.0192183 -0.135106 -0.428859 0.67776 0.368105 -1.26523 -5.18283 -0.190185 3.57865 -0.260495 0.51203 0.0382792 -0.226948 -0.048345 0.533726 1.68598 0.634311 -0.104191 1.18424 0.108184 -0.075019 -0.0215307 0.752564 -1.12127 0.280639 0.0410311 -0.197515 1.42829 0.170204 -0.0755054 -0.253647 0.189075 -0.0951635 -0.384826 -0.078622 0.120158 2.90196 -0.842781 0.892371 0.166978 -0.535799 -0.250432 1.14856 0.567731 0.666962 0.169483 -0.655391 0.0325921 -0.295678 1.08502 2.38457 0.161955 -0.517282 0.750427 0.457957 -0.170194 -0.465495 -0.636433 -0.0874031 0.0380148 0.104834 -1.628 3.71023 0.964139 0.612354 -1.95542 -0.621866 -0.21968 -0.359795 -0.443677 0.443672 0.369584 0.220539 -0.754372 0.410203 -8.39843 -7.37883 9.86242 -5.64946 5.5102 -6.6816 -4.16078 4.62933 -8.06282 12.6544 -1.18373 1.9119 -3.45483 5.51775 -9.89118 0 0 0 0 0 -0.135106 -0.428859 -0.00406106 0 0 0 0 -0.000199942 0 -0.0298441 0 0 0.00137352 0.0125111 -0.0607035 0 -0.00502873 -0.102587 -0.313809 0 0 0.0295797 0.000507818 0 0.020987 -1.54668 0 0 -0.00120967 -0.368084 0 0.207966 0 -0.0468073 0 0 -0.00559732 0 0 0.984238 -0.00489802 0.0413562 0 -0.0831688 -0.113084 0 0 0.482581 0 -0.00507929 -0.161604 0.0219203 0 0 0.000367083 0.00762537 0 -0.0075777 0.101336 0.011337 1.02711 -0.0558254 -0.0258587 0 -0.0262867 0.00181267 0.0166607 0.0181405 0.177237 0 0 0 -3.84661 -0.290346 0.947061 -0.0222293 0.0115593 -0.218707 -0.000256687 0.00123945 -0.0454873 0.249821 0 0 0 0 0 0 0.67776 0 0.368105 0 0 0 0 -0.513257 -1.32347 0 0 0.88509 0 0.117982 0 -0.0516765 0 0 0.512011 0 -0.42173 -0.186307 0.150988 0.083727 0 0 -0.42042 0 -0.115162 0 -1.46973 0.501633 0 -1.7379 -1.03386 0.0275308 0 -0.0630427 0 0 -0.147397 0 0.384667 1.88843 0 0 0.266147 0 0 -0.0451428 -0.522985 -0.690015 0 -0.384821 0 1.09015 -0.415899 0.631221 -0.364399 0.095941 0.295588 -0.77301 0.0544965 1.22297 3.86041 -0.0502986 0 0 0 -0.139551 -0.113613 0 0 0 0 0.533391 14.1133 -3.37204 9.32017 -0.303267 -0.32515 1.92449 -0.666033 0.616318 -0.717019 1.45232 0 0 0 0 0 0 +476 0 0 0 0 0 0.220915 -0.380436 0.833272 1.46459 0 0 0.239607 -1.77863 0 -2.78012 0.0674089 0 0 0 0.00143571 1.33573 0 0 0 0 0.401323 0 0 0.576382 -4.01055 -0.883237 0 0.0122016 0 0 0.366264 0.0444982 0 0 1.7334 -1.03892 0 0 0.359857 -5.69296 0 -1.15037 -0.216236 -0.589383 -0.813686 -1.67244 -0.603729 0 0.0511774 0.459072 -0.280587 0.866386 0.188461 0.838772 0 0 -0.35597 -0.883832 0 -0.170899 0.172902 -0.802869 0 0 0 0 0.332415 0.947309 0 3.07108 0.351262 0 0 0 -1.82412 0 -2.62009 6.74325 0 -1.18192 1.64026 -0.205545 0 -1.68799 2.50946 -4.35419 13.2159 0 0 0 -0.20491 -0.0437211 0 0 0 0.000890918 0.0356482 0 0.000172399 0 -0.00737194 -0.0163336 0 0 0 0 -0.108238 0 -0.00293798 0 -0.151299 0 0.0635655 0.174724 0 0.00479906 0 0 0.0936485 -0.000159711 0.0323914 0 0.0134058 0 0.00263815 0.0744618 0.0228119 -0.00376707 0.0142906 0 -0.00051279 0 0 0 0.000968136 0 0 -0.0135252 -0.00533538 0.0777458 0.0634841 0 0 0.00105881 0 -0.0166457 0 0 -0.0156323 -0.016621 0.183631 0.0019304 0 0 0.0175357 -0.0585796 -0.107377 0.0412448 -0.28391 0 -0.0973151 0.0235562 0.103281 0 0 0 0.162251 0 -0.0480045 0.109177 0 0.0071007 -0.0167318 0.072725 0 -0.00243058 0.00384015 -0.0143651 -0.0147467 0 0.220915 -0.20491 -0.380436 -0.0437211 0.587387 0.149868 -0.520762 0.50193 0.0975664 0.0491041 0.0171982 0.530768 0.00655867 0.0792129 -0.0718132 0.0418157 0.027381 0.367012 -0.337332 0.124414 -0.402383 0.120931 0.082716 -0.0732126 0.154971 -0.271991 0.211509 0.00547712 -2.90562 0.576482 0.0717041 -1.32013 -0.00882081 0.4923 -0.438339 0.0181652 0.0128564 0.0714069 0.113978 -1.92088 0.0217693 -0.0410206 -1.95974 -0.763078 0.00355213 0.0663497 -0.178904 -0.00152103 0.205779 0.220263 1.26612 0.0758129 -0.102378 1.65382 0.188305 -1.38411 -0.142745 -0.105191 -0.29952 -0.573847 0.301712 0.458574 -0.0295815 -1.65543 1.08547 0.433206 -0.288493 0.188693 -0.200373 0.152912 -0.228935 -0.153286 -0.139695 0.180642 -0.00662404 -0.238108 -0.181651 -0.69213 0.129874 -0.477383 -1.06879 4.35011 -0.193994 -0.105471 0.41511 -0.0705616 -0.127965 -0.260318 0.564454 -0.965596 2.37885 0 +477 0 0 0 0 0 0.0908665 -0.182813 1.33228 1.81031 0 0 0.29659 -0.617595 0 -0.47715 0.0572835 0 0 0 -0.0136377 -6.07734 0 0 0 0 0.354829 0 0 0.0294614 0.43991 -0.0861962 0 0.600208 0 0 0.239225 0.0434774 0 0 -0.212155 -1.49154 0 0 -0.124938 -3.85122 0 -0.15419 0.0387874 0.750114 0.0641271 -2.69717 0.14312 0 -0.15084 0.0508201 -0.314411 0.141219 -0.388217 -0.503247 0 0 -0.681386 0.48085 0 0.845586 0.872024 -1.50752 0 0 0 0 0.510173 -0.183487 0 -0.211952 0.0910518 0 0 0 -2.35092 0 0.127119 -1.11907 0 0.278068 0.286303 -4.38282 0 0.876331 -0.678675 0.0833192 -0.615851 0 0 0 0.0993569 0.00467862 0 0 0 -0.0602007 0.0656566 0 -0.0067138 0 -0.00387103 -0.00902234 0 0 0 0 0.0140335 0 0.000118654 0 -0.102357 0 -0.500865 -0.380809 0 0.000821598 0 0 -0.0258689 -0.00206353 -0.0352593 0 0.0098549 0 0.00460364 -0.105129 0.000169504 -0.0272826 -0.0133177 0 -0.000285853 0 0 0 0.000696199 0 0 0.000564853 -0.00328868 -0.0783614 -0.0098115 0 0 0.00405416 0 -0.0185114 0 0 0.0349353 0.00449041 -0.00980525 -0.00689887 0 0 0.0123821 -0.036927 -0.0126464 -0.0387097 0.0743004 0 0.0437489 0.00988394 -0.082668 0 0 0 0.101218 0 0.0362547 0.0373699 0 -0.00214758 0.0020014 0.0317504 0 0.00156225 -0.00329284 0.0150527 0.0178092 0 0.0908665 0.0993569 -0.182813 0.00467862 0.132054 -0.122263 0.233063 0.618532 0.88634 0.0131556 0.00614319 -0.0970392 0.00191523 -0.00663314 0.0127463 0.0426248 -0.0190092 0.0751866 -0.134586 -0.985865 -0.285568 0.1532 -0.149041 -0.0122033 -0.145464 0.140227 0.456223 -0.0352485 4.52792 -0.120799 -0.528815 0.439047 0.000356948 1.01958 -0.491179 -0.0154684 -0.00275246 0.0889098 -0.0321662 0.627982 0.0759898 0.028944 1.84603 -1.394 -0.000889279 -0.0109521 -0.181439 -0.184074 -0.0730586 0.140763 0.804374 -0.11778 0.108272 -0.288383 -0.0887669 0.120748 0.120246 -0.172658 0.420111 0.00299952 -0.259614 0.372627 0.175715 0.116415 2.54679 -0.173493 0.105242 0.043704 0.0649226 -0.0772474 0.0472602 0.0511403 -0.0301196 -0.0540914 -0.112176 -0.180425 1.33967 0.269112 -1.06843 -0.00304647 0.128555 -0.496308 -0.00386878 0.0319398 -0.158116 -0.344662 -0.0262151 0.0733426 -0.193623 0.242285 -0.719514 0 +478 0 0 0 0 0 0.161089 -0.0585817 -0.92698 -2.18129 0 0 -0.253985 -0.894058 0 -0.876264 -0.101178 0 0 0 -0.163507 3.08924 0 0 0 0 -0.39548 0 0 0.0922974 -1.59545 -0.396704 0 -0.603924 0 0 -0.0803373 -0.038606 0 0 -0.670389 -0.00748496 0 0 -0.0789536 -1.58437 0 -0.534556 -0.483785 -1.11286 0.408955 0.234553 0.672322 0 0.391192 -0.37089 -0.0986525 0.44755 -0.271644 -0.804804 0 0 -0.344715 1.29799 0 0.409461 -0.072749 -0.107229 0 0 0 0 -0.262578 -1.18822 0 0.32961 1.50874 0 0 0 5.31981 0 2.25317 1.34178 0 0.832656 0.113075 4.62363 0 0.0494213 0.43956 0.832104 4.89604 0 0 0 0.0994597 0.0282454 0 0 0 0.0255242 -0.0320234 0 0.00210149 0 0.00603011 0.00463336 0 0 0 0 0.0196587 0 -0.00505997 0 0.0394849 0 0.191492 0.0101196 0 -0.00142812 0 0 -0.0256312 0.000233538 -0.0160698 0 -0.0106008 0 -0.00228784 -0.0168952 -0.00516034 0.00402319 -0.00708648 0 0.00042037 0 0 0 -0.00076509 0 0 0.0108634 0.00426725 -0.0739805 -0.0332891 0 0 -0.00121236 0 0.0144583 0 0 -0.00156828 -0.00844022 -0.00598736 -0.016773 0 0 0.0124961 0.013958 0.0794712 0.0223474 0.17831 0 0.0173827 -0.0142346 0.0859997 0 0 0 -0.0702163 0 0.0422064 -0.0754758 0 -0.00476558 0.0131591 -0.0305821 0 0.00184207 -0.00485347 0.0144195 0.0157088 0 0.161089 0.0994597 -0.0585817 0.0282454 -0.0957185 0.0818667 0.175415 0.319831 -0.773307 -0.0459736 -0.0608775 -0.497405 -0.00584306 -0.0605291 0.038583 -0.0270201 -0.059597 -0.365611 -0.0185972 1.82725 0.0725258 0.088337 -0.180051 0.0442463 -0.402546 -0.115687 -0.229958 0.0336859 -2.10572 0.141664 0.247848 -0.42552 0.00562783 0.459123 0.119486 -0.0200083 0.000972143 0.0623715 0.0131418 -0.707212 -0.0511889 -0.02134 -0.606401 0.987692 -0.00848985 0.0154728 0.156843 0.238645 0.24295 0.12245 -0.765512 0.782025 0.192044 0.961488 -0.0730879 0.262421 0.0844188 -0.132281 -0.227015 -0.13919 0.205637 0.0136705 0.0633309 -0.319128 -2.49349 0.0536568 -0.613033 -0.109662 0.0706676 0.433075 0.106414 0.033139 0.12447 -0.201807 -0.0190051 0.132523 -0.627884 0.561528 1.67295 0.4199 -0.25393 3.04732 0.18779 -0.0893865 0.29039 0.875394 0.127476 0.00158526 0.0634548 0.00994615 0.902762 0 +479 0 -0.482888 -0.072025 -0.0737154 -0.249376 0.328488 0.335194 -1.7611 -4.02042 -0.307062 2.86549 -0.00396581 1.03809 0.0194137 1.02129 -0.0101925 -0.556058 -4.8269 0.203649 0.0408607 1.82001 0.0466491 -0.205819 -0.0169225 0.61899 -0.684899 0.116307 0.0137417 -0.568349 -1.17321 0.434095 -0.0876379 -0.167785 -0.12823 -0.304844 -0.43484 -0.0205393 -0.0150026 2.99567 -0.210654 1.24993 0.117471 -1.17414 -0.0656543 2.78641 0.689989 0.839731 -0.823229 -0.153276 0.274454 -0.605697 0.619941 1.24745 0.152645 0.196043 -0.0245845 2.07322 0.559056 0.187934 -1.04218 -0.298064 2.31637 -1.45472 0.797941 0.355692 0.252649 1.92178 -0.0957707 0.21232 0.0803161 -1.66851 0.092433 -0.191874 0.0667968 -0.982703 0.695553 0.535228 -12.6068 -8.25679 8.37571 -4.10723 2.61349 -1.61622 -3.23025 2.26573 -3.21649 6.61974 -0.711762 0.558932 -0.601788 -0.397156 4.10425 0 0 0 0 0 -0.0737154 -0.249376 -0.00330053 0 0 0 0 -5.71086e-05 0 0.00519306 0 0 0.0019883 -0.00300353 0.0140372 0 0.00308033 0.0860821 -0.00172527 0 0 0.159627 -0.000177012 0 -0.0230681 0.420635 0 0 0.0256939 0.248639 0 -0.1258 0 0.0280581 0 0 0.00506473 0 0 -0.152823 -0.00110964 0.0254618 0 -0.0470786 0.00419762 0 0 -0.0690034 0 -0.00387722 -0.154586 0.00556703 0 0 -0.010792 0.0065609 0 0.0160106 0.0443288 0.0381479 -1.10203 -0.040977 -0.0284708 0 -0.0303682 -0.00305501 0.00391634 -0.126187 0.109773 0 0 0 -0.243982 -0.0583066 0.00614872 -0.00878998 0.0178547 -0.0260297 -0.00405996 0.00769448 -0.0153932 0.0136277 0 0 0 0 0 0 0.328488 0 0.335194 0 0 0 0 0.107674 -0.971262 0 0 0.639159 0 0.0902483 0 -0.0320274 0 0 0.203883 0 0.359423 -0.0936025 -0.0258072 0.0262938 0 0 -0.284941 0 -1.9031 0 3.06401 0.678616 0 -0.69681 1.20755 0.00425591 0 0.0192636 0 0 -0.10603 0 0.542035 0.717745 0 0 0.0665892 0 0 -0.183764 -1.57423 -0.41402 0 -0.743298 0 0.346423 -0.0604696 0.187356 -0.18549 -0.0368989 -0.61551 -0.450098 0.156645 2.01201 4.57533 0.00378755 0 0 0 0.0420998 -0.204607 0 0 0 0 0.361414 -11.7629 -3.20176 3.09731 -1.21724 1.26011 -2.04775 -0.412959 0.356808 -0.429668 0.501576 0 0 0 0 0 0 +480 0 -0.190135 -0.526843 -0.0158584 0.0649746 0.0743427 -0.208629 0.481022 1.54003 0.0366046 -0.523956 -0.463683 0.519533 0.00735112 0.611551 -0.0504561 -1.4183 -7.47226 -0.170502 -0.0729133 1.06307 -0.00918124 0.587741 -0.00860189 -0.0289942 0.791184 -0.465162 0.00268077 0.583009 1.89463 0.163262 -0.0335213 -0.545587 1.24495 -0.242682 0.389743 -0.0660312 -0.150844 2.80766 -0.633938 -0.13127 0.0402042 -0.89893 -0.0914676 0.632548 0.208265 -0.461218 1.10824 -1.03134 0.281424 -0.6423 0.295109 -2.06526 0.504125 -0.25976 0.60845 -0.818704 0.0730213 -0.270744 0.0868984 -0.0735445 -0.762367 -0.31483 -0.0184086 -2.3529 0.521753 -0.488347 1.07605 -0.26921 0.00486893 0.972768 -0.00491473 -0.321313 0.471738 -2.08964 -1.52453 -0.134286 -6.02255 0.259627 -3.51322 -1.41738 2.27761 -7.1641 0.575023 -0.179894 -0.0314399 -2.76839 -0.214837 0.462884 -1.3415 2.34528 -6.62803 0 0 0 0 0 -0.0158584 0.0649746 0.00907133 0 0 0 0 0.00174112 0 0.00872953 0 0 -0.00335547 -0.0116634 0.0184905 0 0.00293967 0.00200303 0.0487917 0 0 -0.282124 -0.000837877 0 0.0090066 -0.196154 0 0 -0.0307054 -0.0336429 0 -0.0107797 0 -0.0388282 0 0 -0.00369239 0 0 -0.279249 0.0243796 -0.045741 0 0.128077 -0.0268367 0 0 0.0720432 0 -0.0114021 0.030678 0.026227 0 0 -0.00231545 -0.0388048 0 0.00254655 -0.0155374 0.00208739 -0.425096 0.00748772 -0.00672205 0 0.0229156 -0.0509461 0.151983 -0.194468 -0.011852 0 0 0 0.763422 0.0119548 0.0585806 0.0191477 -0.0356774 0.0809327 0.0018968 -0.0036867 0.00976945 -0.00585162 0 0 0 0 0 0 0.0743427 0 -0.208629 0 0 0 0 -0.161973 -0.827997 0 0 0.119184 0 0.0175604 0 -0.0494001 0 0 0.199972 0 1.01901 0.012163 0.185299 0.0118781 0 0 -0.465932 0 -4.96092 0 1.95105 -0.138219 0 -0.106242 1.62499 0.0225442 0 -0.0130303 0 0 -0.0947856 0 -0.997314 -0.37461 0 0 -0.065068 0 0 -0.0106723 0.16041 -0.105049 0 -0.475018 0 0.332089 -0.0852983 0.112534 -0.0137383 0.0760828 -0.0972421 -0.518813 -0.056429 0.155325 -4.6322 -0.0666469 0 0 0 -0.114634 -0.0459758 0 0 0 0 0.286176 0.971914 -0.208616 1.68986 0.174832 0.23373 -0.634588 -0.00875493 -0.00540041 -0.00277912 -0.0065624 0 0 0 0 0 0 +481 0 1.14703 -0.00367279 0.0726373 0.227004 -0.15971 -0.0316504 0.69542 1.56148 0.246609 -1.92835 0.501572 0.189119 -0.0197276 1.06618 0.0739221 -1.14716 -2.07639 -0.183297 0.0926428 -0.562763 -0.0386587 0.103152 0.0169256 -0.485356 0.205823 -0.487242 -0.0411883 0.15657 -0.238448 0.123793 0.083915 0.892491 -0.61416 0.186308 0.16799 0.0777891 -0.221688 -4.4997 1.11055 -0.390825 -0.120221 0.425573 0.17204 2.39656 -0.714414 -0.121756 0.103051 1.54711 -0.57943 0.460329 -1.16941 3.34888 -0.19044 0.17215 -0.265108 1.22967 0.326674 0.226283 0.82081 0.299308 -1.52257 0.301746 -0.543093 -1.32527 -0.0797168 -0.178646 0.281924 -0.181302 -0.0591319 1.3262 -0.241972 1.19635 0.312392 -0.548378 -0.461915 -0.338194 22.9052 7.55976 -0.446979 2.9196 -3.107 7.19849 2.19349 -2.05613 2.90801 -2.4996 0.736958 -1.03902 1.37261 -2.09814 0.834166 0 0 0 0 0 0.0726373 0.227004 0.00379669 0 0 0 0 0.000104449 0 0.00901531 0 0 -0.00114385 0.00490573 -0.00742082 0 -0.00109563 -0.0829837 0.0472649 0 0 -0.0696558 0.000312863 0 -0.0121203 -0.460633 0 0 -0.0142006 -0.258565 0 0.0128272 0 -0.0172655 0 0 -0.00429881 0 0 0.0633261 0.00181245 -0.0136635 0 0.0542463 -0.0330245 0 0 0.0294756 0 0.00652867 -0.0894011 -0.00141322 0 0 0.0115591 -0.00258798 0 -0.0137394 0.0169388 -0.0267611 0.886729 -0.006007 0.0185266 0 0.0186343 -0.021122 0.0708274 0.162029 0.0203065 0 0 0 -0.565011 0.103463 -0.206361 -0.00882502 0.0170939 -0.0337729 0.0035888 -0.00683826 0.0131566 -0.0196552 0 0 0 0 0 0 -0.15971 0 -0.0316504 0 0 0 0 -0.246998 1.11043 0 0 -0.36715 0 -0.0487212 0 0.0459894 0 0 -0.350905 0 0.385956 -0.105415 -0.104131 -0.0639206 0 0 0.541635 0 2.58686 0 -2.08879 0.0666479 0 -0.528641 -0.131469 -0.0154318 0 -0.0479351 0 0 0.0954887 0 0.382377 -0.325535 0 0 -0.0703717 0 0 -0.415147 0.23792 -0.418669 0 -0.0101143 0 -0.713009 0.242321 -0.100657 0.677315 0.122351 -0.294443 0.331578 -0.322818 0.633989 1.78572 -0.135733 0 0 0 0.362508 0.203885 0 0 0 0 -0.231438 18.4762 1.60327 3.31621 0.473423 -0.364525 1.54014 0.238204 -0.203446 0.258407 0.23086 0 0 0 0 0 0 +482 0 0.31495 -0.124451 -0.0209937 -0.0702934 0.169363 0.155299 -0.587584 -1.59921 -0.215997 1.60061 -0.042287 -0.271631 0.00244653 -0.160062 0.0228369 -1.01461 -2.75854 0.29454 0.0560184 -1.70795 0.0444744 0.138335 -0.00294068 0.277185 -0.368188 -0.391748 0.0650417 -0.308113 -0.38796 0.101541 -0.0275193 0.23342 0.549878 0.393391 -0.165745 -0.00565096 0.202987 2.97401 -0.0788899 -0.411933 0.0225679 1.08276 -0.0105033 -1.17601 0.209348 0.15144 -0.345661 0.538997 0.032193 1.17895 0.505227 2.72684 -0.134313 0.091168 -0.106603 0.348195 0.656227 0.023382 -0.535896 -0.0500139 0.444812 -0.0211802 0.640417 -0.305748 -0.778964 0.390007 0.442782 0.720096 0.0676178 -0.543259 0.139078 0.0801957 -0.0713217 -0.942028 0.417632 1.1258 -7.55903 -3.82149 2.54593 -1.80825 1.14975 -2.34352 -0.977022 0.609035 -1.51617 2.9527 -0.0288502 -0.00886412 -0.173415 0.101923 0.74182 0 0 0 0 0 -0.0209937 -0.0702934 0.0042773 0 0 0 0 0.000809557 0 0.0178391 0 0 -0.000981709 -0.00517411 0.0146149 0 0.00238374 -0.00150764 0.111712 0 0 -0.0961617 -0.000367745 0 -0.0128222 -0.13061 0 0 -0.00827702 -0.0335532 0 -0.131141 0 -0.0162187 0 0 -0.00147577 0 0 -0.269485 0.0113171 -0.0139876 0 0.0598323 -0.0169538 0 0 -0.0187623 0 -0.00363952 -0.150414 0.00910631 0 0 -0.00595611 -0.0169404 0 0.0100059 0.0158136 0.0203038 -0.284991 -0.0136026 -0.0171296 0 0.00547826 0.00190583 0.186884 -0.127205 0.0815522 0 0 0 0.318921 -0.00898034 -0.095852 0.00425796 -0.00697192 0.00153139 -0.000716634 0.00115801 -0.000757834 -0.0288128 0 0 0 0 0 0 0.169363 0 0.155299 0 0 0 0 -0.408978 0.122478 0 0 0.792169 0 0.0916032 0 -0.00129037 0 0 -0.273085 0 0.414909 -0.1688 0.325618 -0.0361366 0 0 0.0441172 0 -0.472839 0 0.520473 0.436537 0 -1.24509 0.751423 0.0341901 0 -0.0538046 0 0 0.00197967 0 0.294959 -0.571084 0 0 -0.0747858 0 0 -0.320623 -2.31955 -0.294788 0 -0.756836 0 0.109134 0.254478 -0.0795161 -0.640684 0.0220502 -0.151366 -0.338066 0.0456276 1.30444 0.839093 0.0516751 0 0 0 0.203928 -0.211547 0 0 0 0 0.0291521 4.44273 -1.21149 3.76156 0.0136382 0.20802 -0.126862 -0.333183 0.269585 -0.342567 0.644384 0 0 0 0 0 0 +483 0 -0.682427 0.00196631 0.00483024 0.0681694 0.0979732 0.127731 -0.933003 -0.975591 0.0625138 0.0853035 -0.0621769 -0.46336 0.000142759 -1.54401 -0.0093878 0.139795 -2.04685 0.0944908 -0.00757655 1.2067 0.0231496 -0.336514 0.000294045 0.0506364 -0.509403 0.35558 0.0392007 -0.517458 -1.26492 -0.0554972 0.00429191 -0.183918 0.133492 0.26617 -0.435745 -0.00378677 0.231952 2.44736 -0.0112913 1.16309 0.000595769 1.18313 -0.000453956 -3.91839 -0.00713783 0.721101 -0.790005 -0.183045 -0.00674159 -0.808312 -0.1077 0.100633 -0.0262276 0.00652586 0.156375 -2.02385 -0.466681 0.32465 -0.0984955 -0.0049964 1.93255 -2.19015 1.29287 -0.799942 -0.284336 1.35895 0.861891 0.32408 -0.0126995 -0.194156 0.0948525 -0.262054 -0.184813 0.781533 0.835979 -0.534079 -8.48096 -2.27851 0.56907 -1.68316 1.16701 -1.23977 -0.0529688 -0.0385075 0.25889 1.46447 0.000983663 0.00126559 0.0939833 0.0971985 2.41866 0 0 0 0 0 0.00483024 0.0681694 0.000825175 0 0 0 0 6.15861e-05 0 -0.0124823 0 0 -0.000711649 -0.000306423 -0.00246869 0 -0.000553332 -0.0199092 -0.0629072 0 0 -0.174249 -2.86013e-05 0 -0.00308603 -0.776834 0 0 -0.0276278 -0.123528 0 -0.00943175 0 -0.0123127 0 0 -0.00188984 0 0 -0.212393 0.000951518 -0.00865089 0 0.0124897 -0.00283502 0 0 0.0569226 0 -0.000337142 0.0194627 0.00232115 0 0 0.00131053 -0.00278532 0 0.000158803 -0.0372631 -0.00548483 0.54854 0.0103794 -0.00840597 0 0.0113728 -0.0348509 -0.0747557 0.0622811 -0.0521927 0 0 0 0.464624 0.0166822 0.0609852 0.00310387 -0.00545531 0.033295 0.000733641 -0.00168828 0.00414501 0.0217673 0 0 0 0 0 0 0.0979732 0 0.127731 0 0 0 0 0.351865 -0.0493363 0 0 -0.237928 0 -0.0194096 0 -0.0113123 0 0 -0.330607 0 -0.413562 0.125613 -0.045433 -0.0385737 0 0 -0.160249 0 -6.60744 0 1.80011 -0.603827 0 0.796426 0.219352 -0.00110506 0 0.0576089 0 0 -0.00628411 0 -2.37023 -0.889479 0 0 -0.096961 0 0 0.150415 1.7101 0.0679523 0 0.356631 0 0.231415 0.019424 0.0424232 0.176954 0.083732 0.145641 0.0941533 0.101882 -1.33553 -3.95128 -0.0743438 0 0 0 -0.0512852 0.00797195 0 0 0 0 -0.0930752 -7.62132 -0.11332 -1.40554 -0.0767255 0.317624 -1.13108 0.130933 -0.0864819 0.0934895 -0.417164 0 0 0 0 0 0 +484 0 0.55697 0.525856 0.0266658 0.104402 -0.00671236 0.258499 -0.553515 -0.97822 0.287125 -0.802344 -0.00717127 0.365447 -0.00286947 -0.481753 -0.0398151 0.85688 4.69555 -0.125441 -0.0833172 -0.254948 -0.0145012 -0.485005 0.00364605 -0.130856 -0.409858 0.27211 -0.0465105 -0.482043 -0.687481 0.0668742 0.0348929 -0.368082 -1.40961 -0.28065 -0.288328 -0.000783215 -0.0376545 -5.3012 0.114758 0.485132 -0.0257749 -0.504082 0.0100204 0.629197 -0.231959 0.519539 -0.536326 -0.706897 -0.00478271 -0.424948 -0.686902 -1.64088 0.226321 -0.137002 -0.0399699 -1.73739 -0.0330632 -0.214296 0.358052 0.0575786 -1.2487 0.320277 -0.454285 0.104057 -0.184819 0.113583 -0.772679 -0.172906 -0.0852747 0.419978 -0.513975 -0.253304 0.17485 0.418588 0.175239 0.623544 20.4102 4.9085 1.9173 2.36766 -2.35539 8.77684 -0.105551 0.0448343 1.16391 1.72394 0.0319662 0.00793716 0.269136 -0.0627542 1.31454 0 0 0 0 0 0.0266658 0.104402 -0.00473246 0 0 0 0 -0.00093713 0 -0.0146015 0 0 0.00183509 0.00690322 -0.0155451 0 -0.00226197 0.00613502 -0.112446 0 0 0.177887 0.000490954 0 -0.00120549 0.283961 0 0 0.0180655 0.0591466 0 0.0427532 0 0.0224482 0 0 0.0019849 0 0 0.104214 -0.0130979 0.0259614 0 -0.0661732 -0.00572837 0 0 0.036411 0 0.00638229 0.0304034 -0.0093879 0 0 0.00773619 0.0238027 0 -0.0123927 -0.00529397 -0.0183949 0.33312 0.00329453 0.0180121 0 -0.00476279 -0.014298 -0.189463 0.193139 -0.0168003 0 0 0 -0.176049 0.0103303 0.0660815 -0.00139848 0.0019721 0.0143812 0.000495518 -0.000752596 -0.000731009 0.0293075 0 0 0 0 0 0 -0.00671236 0 0.258499 0 0 0 0 -0.162076 -0.24954 0 0 -0.27166 0 -0.0407186 0 -0.0172577 0 0 0.53056 0 -0.808536 -0.103663 -0.0874552 0.0431974 0 0 -0.195427 0 2.89034 0 -2.82325 0.339799 0 -0.489204 -1.34251 -0.0157342 0 -0.0378185 0 0 -0.0265379 0 0.65741 1.37751 0 0 0.158824 0 0 -0.205982 1.60872 -0.295674 0 -0.28499 0 -0.51193 -0.111961 0.0352817 0.385482 0.141509 0.239881 0.477738 -0.235944 1.01823 3.73949 -0.0633131 0 0 0 0.0644002 0.198042 0 0 0 0 0.10542 17.4734 0.778617 3.78372 0.1901 -0.259086 1.79243 0.179544 -0.10685 0.115629 0.308333 0 0 0 0 0 0 +485 0 709.17 111.767 12.7482 63.8744 413.785 70.6369 6.52241 11.3974 48.6322 -26.6786 11.3688 16.8981 -6.37298 18.0965 -2.35025 83.0316 271.202 -6.53872 -7.48527 91.1938 -3.67324 -10.8551 8.4867 -12.9345 1.22385 30.8791 7.21473 -12.4313 -65.6324 11.8311 15.9067 -13.5476 -26.5934 20.6711 -0.977078 4.27756 23.0392 -104.409 39.6257 43.2393 -11.7736 81.142 10.0208 16.0843 -32.8192 30.0283 -19.7496 -46.1745 -4.93955 27.7445 -5.04273 -3.31064 14.4285 -4.29236 6.46501 38.2143 13.7937 -5.70934 6.19506 4.08996 -23.5619 -13.2453 7.63657 -28.1616 -23.0082 -6.24714 20.2253 17.5462 -11.3545 12.3302 3.09044 4.40197 -14.2284 -15.501 -7.88688 -20.6079 442.208 103.984 48.8039 102.506 -88.8952 223.526 43.544 -39.0481 53.2266 15.9784 43.2398 -47.0789 83.204 -103.416 214.884 0 0.319656 0.0373586 30.4608 4.55467 12.7482 63.8744 0.16161 0.95578 -0.423891 -0.000833992 0.213677 0.00738969 0.0298833 -0.255376 0.0437319 -0.00913654 0.030348 0.201957 1.0095 0.511219 0.00826795 3.21463 3.16921 0.00358156 3.27069 -0.65917 0.0155587 -0.143294 -0.961281 17.9994 -3.3053 0.0145791 0.28857 6.42205 -0.243237 0.848157 -0.0399705 1.16763 -0.613214 0.185867 0.325381 -0.0879675 0.00283553 3.15696 0.0922605 0.422268 -0.0171582 2.19186 -0.0480494 -0.00451103 -0.0374248 0.626721 -0.040505 0.151259 7.38398 -0.505734 -0.137707 0.119665 -0.0678143 -0.420128 0.0900136 0.700965 3.01856 0.15816 -3.782 0.972149 0.681558 -0.236459 0.394107 1.0448 8.21965 -1.6323 1.69641 0.00838285 0.322101 0.0236123 -70.2958 -4.46334 -13.4207 0.183429 -0.58631 3.70424 -0.0300159 0.0701042 0.214242 -1.02655 0.0153098 -0.0188296 0.155585 -0.409608 4.12247 0 413.785 30.4608 70.6369 4.55467 141.599 20.4403 26.2319 -2.89452 30.4024 -3.39681 -2.44841 -14.506 -0.583517 -3.51812 4.35114 1.08104 -2.37992 -18.9262 5.96237 32.174 -8.86223 -1.06767 -3.30212 1.32088 -16.5526 -6.12666 4.60789 1.48562 97.8517 18.8341 -84.1634 21.3899 0.697538 -7.14319 -24.9844 -1.0178 0.540952 -0.102001 3.53081 -32.9594 6.20828 -1.11818 43.3645 2.43286 -0.333806 3.15899 3.83233 7.05808 -5.98203 -4.2023 0.703896 6.99834 6.50257 11.2875 -9.43054 -19.7954 11.1037 -10.2089 -3.1948 -0.852591 -12.5632 8.54066 -4.14666 1.21154 36.0001 -4.39713 10.489 -0.495246 0.8179 8.96908 2.0914 -3.53947 3.07421 3.37688 -1.11978 -10.407 607.221 104.193 25.2903 85.4265 -77.4518 137.195 27.2301 -21.8462 21.8963 6.21994 22.6875 -18.94 22.4449 -24.0696 44.0676 0 +486 0 715.139 116.03 14.1301 71.4096 409.926 72.7162 -1.50226 -8.03564 87.4014 -58.1024 18.854 19.6594 -6.99152 29.7654 -2.13919 86.7148 299.813 -12.0901 -12.6448 143.262 -4.45206 -16.0069 9.26191 -16.4308 -6.5545 31.9482 5.82121 -15.0157 -103.172 13.3594 22.4915 -8.1997 -40.52 18.0309 -4.72972 5.20621 15.2794 -164.697 65.7357 51.8154 -19.604 66.7131 15.6279 59.9654 -73.0718 32.6719 -32.3574 -63.3041 -32.0942 14.2398 -29.9689 -21.0641 17.7491 -8.94896 6.90809 20.8306 33.3216 -7.24156 21.8576 27.8646 -29.9068 11.4008 -9.8791 -36.8519 -24.1852 -11.5061 16.8608 24.6898 -25.0984 8.88094 -5.51393 25.2331 -26.0181 -23.5873 -12.2908 -9.29626 608.6 152.098 120.786 201.733 -157.455 359.132 123.209 -87.8661 111.094 32.7096 178.858 -134.183 158.71 -163.31 323.039 0 6.50373 0.729259 27.2778 3.8263 14.1301 71.4096 0.641754 1.83949 -7.78224 -0.0188735 0.30241 0.00539449 0.386718 -0.171054 0.656552 -0.221081 -0.285691 -0.744129 -0.962768 7.30205 -0.232149 0.383528 -1.34117 0.0554306 11.7691 1.94116 -0.0122376 -0.136607 -2.54074 15.3178 -4.27642 0.242019 0.951345 1.31936 -0.906773 -5.91903 -0.746282 0.891433 -0.808126 2.39542 0.204182 -2.43773 0.0351976 -17.4354 0.216606 -4.21997 -0.0880966 5.74098 3.07048 -0.486093 -0.542027 -8.5719 0.235848 0.445933 -0.0597816 -1.66479 -1.71752 1.95 0.413358 -1.49055 -2.0362 -1.52719 -1.43393 -0.406757 -4.52552 -0.992552 -0.211531 -0.122614 0.879805 0.487191 1.52466 -4.14952 -1.93472 0.162751 1.76452 0.366208 171.645 25.1022 15.6215 6.43889 -4.66722 22.5835 0.218027 0.221938 1.95338 3.03039 0.323827 -0.384018 1.11631 -1.60106 5.64464 0 409.926 27.2778 72.7162 3.8263 144.751 21.0993 33.9434 2.36914 41.9733 -2.91118 -3.87922 -24.6291 -0.442665 -3.29391 5.13058 1.4607 -3.56312 -19.7231 7.45252 54.5867 -12.867 -2.20084 -5.98347 1.98628 -24.6966 -5.40311 8.79844 1.69609 179.196 17.4056 -101.744 20.3872 0.772061 2.13568 -29.3863 -0.780362 0.356417 -0.549963 2.41574 -31.5398 6.47784 -0.989938 51.5478 30.2773 -0.525787 2.55133 7.65048 9.73868 -2.00958 -5.18026 3.37516 -3.89872 8.45916 17.9186 -13.1371 -20.3418 5.2576 -4.16594 0.364826 5.28101 -3.28411 9.87603 -9.99236 -8.18072 -12.9343 -7.51433 1.99601 -4.4103 -1.41405 17.7596 6.85585 -4.10821 4.9751 0.364522 1.84394 -18.1741 689.857 161.178 -22.1725 103.314 -82.6389 152.76 29.8681 -22.6095 28.9694 5.05039 23.0752 -19.0946 23.8697 -21.0649 40.2935 0 +487 0 713.332 115.618 12.8996 66.0678 411.631 72.6553 1.17807 9.20751 81.8211 -38.0631 12.311 21.4827 -6.12701 34.8202 -0.0426395 94.2084 333.265 -8.20863 -8.98217 123.279 -3.70773 -12.9567 9.27944 -10.803 -3.69514 33.3531 7.90305 -11.6104 -23.1069 12.3184 22.5398 -0.231498 -30.5216 23.221 -2.11057 5.36395 21.6749 -110.267 19.1471 46.5888 -10.9597 82.6745 7.92433 70.934 -26.4325 29.1248 -17.7118 -45.9062 -10.1056 28.2138 -15.0253 47.4943 17.6086 -4.12418 -2.85228 57.409 29.2333 -16.1755 11.4129 10.1433 -15.6164 25.1343 -2.99835 -41.1686 -23.6534 10.3345 23.8155 18.8561 -34.0158 9.7884 -11.1757 7.75445 -33.9477 -3.53321 12.8745 -13.4395 403.601 124.175 21.5383 110.096 -77.3892 164.339 39.3154 -23.457 44.3997 9.42305 31.7443 -24.1629 46.9433 -53.1395 116.074 0 0.126294 0.0156262 34.5156 5.27442 12.8996 66.0678 0.0698858 2.16591 -1.19846 -0.000363023 0.419868 0.0209415 -0.0333672 -0.431503 0.0191403 -0.00387001 0.0170981 0.0657825 -1.57711 0.212868 -0.0626295 2.32477 -3.24235 0.00163301 9.33956 6.70236 0.00628365 -0.114981 -1.2783 17.337 0.247015 -0.0131807 1.71281 5.4942 -0.2686 -4.69826 -0.0840462 0.960323 -0.25867 -0.221259 0.339163 -0.0356355 -0.00186825 -12.0322 0.37012 0.153803 -0.0171173 0.967971 0.445556 -0.0519916 -0.0643266 0.25171 0.275747 0.0565456 -2.03455 -0.135113 -0.0605113 0.207557 -0.0621547 -0.189176 -0.618255 -0.336378 -1.02319 -0.0836598 -7.19163 -0.288682 0.782661 -0.198899 0.224926 -1.0369 1.69868 -1.11336 -2.67477 -0.0368164 1.57475 0.00972777 67.0477 1.97782 11.9168 0.507376 -0.798147 10.3053 -0.0335086 0.0707065 0.264834 3.56151 0.00698478 -0.0037965 -0.0283137 0.0724362 2.14939 0 411.631 34.5156 72.6553 5.27442 134.768 19.7163 37.8531 -1.50673 47.9426 -3.05037 -3.56567 -22.5794 -0.580628 -4.05746 6.49723 2.20077 -4.16107 -15.1821 6.3024 46.0197 -11.6735 -0.63608 -3.24896 1.75733 -25.9676 -4.32582 12.9724 1.49815 193.045 12.444 -57.7319 21.787 1.07039 10.0989 -17.5216 -0.896942 0.450841 -1.01938 2.64452 -16.1613 8.72581 -0.930239 60.2361 19.8641 -0.547616 2.52035 7.11551 8.50964 -4.15914 -5.9482 4.49258 9.44999 8.10088 27.7991 -13.0208 -7.17368 1.62379 -6.33833 4.59169 2.78412 -2.01581 -0.169024 -6.17203 -16.2242 5.50214 -2.41269 6.30368 -1.62727 2.94917 14.9924 3.04612 -3.59238 3.27039 2.01914 -0.306263 -18.3334 394.034 121.788 -28.7487 70.6511 -56.3141 89.1634 21.448 -17.8309 27.2521 -8.94553 17.1245 -13.6148 16.927 -14.8959 24.7553 0 +488 0 -1.32533 -0.708712 0.310437 -0.0303702 -3.98658 -1.313 7.17562 25.9501 4.40527 -8.76672 -0.724497 -0.930452 -0.174603 6.0467 -0.0371201 6.06345 27.4161 -0.226891 -1.31427 -23.1375 -0.0214786 1.18806 0.348089 -2.8799 4.15731 0.0223876 0.672576 0.828128 18.5522 1.32487 1.53186 0.561083 1.90236 4.31104 1.18509 0.148592 1.54679 -0.85705 -2.61847 -3.92537 -1.0243 11.3225 0.164559 -7.5913 -2.57223 -0.112329 3.77163 -0.510778 -0.678979 5.03846 -9.60987 -41.6165 2.33708 -3.87082 2.11934 -20.3963 0.119892 -4.87453 4.84368 2.64597 -3.77198 2.36514 2.50877 -14.202 1.69252 -0.692634 5.71412 -4.42529 -4.03796 -0.00622227 -2.22691 -4.45566 -3.46285 -23.7114 1.39839 -9.62191 8.65808 22.6298 -72.4771 15.7563 -16.038 -29.6722 12.6549 -11.9831 0.940549 -36.231 10.2659 1.30719 -18.4004 25.0207 -58.418 0 0.107184 0.00377767 -0.35981 0.0278581 0.310437 -0.0303702 -0.018301 -0.379666 0.322541 0.000112625 -0.0525323 -0.0216879 -0.00685029 -0.0156252 -0.00154049 0.000513949 -0.00141878 0.25678 -0.176974 0.0605158 -0.0460085 1.83593 0.25976 -0.000611401 -2.51434 0.385943 0.0184781 0.0208291 -0.458576 6.68521 0.333414 -0.00255544 0.295683 4.29458 0.1217 -1.12339 0.032159 2.08083 0.0998354 -0.000359639 0.388189 -0.0113481 -0.00127864 -2.24813 -0.293265 0.0995555 0.00972535 -0.260388 -0.0360447 0.0167394 0.0698476 -2.87711 -0.0274904 0.119563 -3.19917 -0.254751 0.00194299 -0.036686 0.0164832 0.119342 0.187514 -0.0622205 0.935945 0.147973 6.57206 -0.427203 -0.987116 -0.211178 -0.0555496 -0.249343 1.13812 1.01818 -0.673144 -0.153193 -0.310453 0.00270878 9.73714 0.867077 0.631163 0.834691 -0.650925 -1.25277 0.00590052 0.0580047 -0.0675791 -0.0158354 -0.00447432 0.00761242 -0.000445686 0.0200541 -0.329108 0 -3.98658 -0.35981 -1.313 0.0278581 -2.51256 -0.584412 0.182506 -0.315798 3.50833 -0.0349874 0.294145 -1.31006 -0.00456437 -0.25193 0.032737 0.356263 0.169484 -0.445227 -3.47325 -5.55707 2.86826 0.224854 0.380707 -0.60479 1.89008 0.212931 1.59595 -0.0761674 26.7689 0.0439201 0.577895 2.23324 0.00537352 3.55646 1.94656 -0.074582 0.014951 0.0138449 0.0787511 2.80017 0.576271 0.0416152 9.09714 -9.04058 0.0364426 0.0511861 -1.50344 -0.661162 -0.691308 -6.42381 -3.02358 0.189364 0.272378 3.20793 -0.00854755 -2.68234 -0.256894 -0.540434 -1.05023 0.726535 6.26358 0.977457 0.00626111 1.42396 3.75979 1.84651 -2.42929 0.193627 -0.322707 1.07519 -0.418249 -0.581632 0.44318 0.864126 0.13813 -0.49341 -1.02407 6.75714 -21.2708 -0.00611611 3.00799 -19.1614 1.42585 -0.399385 -2.6345 -4.47421 0.638709 0.0415532 -1.95774 1.77379 -5.50044 0 +489 0 6.48135 1.11172 0.637761 0.675066 0.844992 1.20883 -2.48425 -10.0947 7.84818 -7.41694 -1.03638 1.33722 -0.544773 3.68794 0.260176 0.815007 9.80776 -2.0827 1.32953 -6.29959 -0.914661 -1.192 0.89498 -3.72871 -2.10434 0.730306 0.761194 -1.14002 -0.306434 0.999653 2.40305 2.87883 -5.77388 1.45285 -1.03958 0.033106 4.17061 -27.0804 -4.94245 0.523481 -1.05826 14.0775 -0.684617 5.81796 -0.689375 1.5585 -0.170617 8.55688 0.648791 -14.7614 -1.79816 6.69629 -1.18044 1.02491 -1.40824 7.41314 4.31149 9.18351 3.67926 1.64711 -2.49212 -10.1237 10.3468 -5.6308 3.70185 -6.22575 9.85305 3.68003 -5.06533 4.97463 1.46876 -2.66848 -5.38903 6.39589 0.513014 -1.96446 103.28 38.114 19.3046 18.4584 -1.45462 32.2847 4.43121 6.06069 1.32544 19.7247 2.08335 0.998187 1.04283 -0.217852 16.1095 0 -0.0731037 -0.0119432 0.87097 0.29521 0.637761 0.675066 0.0198503 0.144099 0.280025 0.000327094 0.0156015 0.0231883 -0.0364042 0.0401706 -0.0188647 0.00289707 0.00850609 0.178191 -0.412543 -0.189137 0.0431115 -0.0527586 -0.576407 -0.00175138 0.529309 0.736589 0.0080008 0.050934 1.23749 0.713713 1.39947 -0.0116691 0.294458 0.0271835 0.0485913 2.19763 0.0236449 0.254134 0.289055 -0.131043 0.0767693 0.0174293 -0.00304164 3.91509 0.348117 0.255642 0.00408404 0.430596 0.204458 0.0172813 0.0211231 0.981862 -0.158073 0.103116 -2.81203 -0.167168 0.0630573 -0.0733476 -0.0565629 0.0583924 -0.0912881 0.0752447 1.74223 0.0056339 9.26457 -0.0135204 -0.0137639 -0.14143 -0.154562 -0.652322 4.14515 -0.0153155 -0.795173 -0.0844102 1.39272 -0.00858579 -17.1922 -1.69161 2.33772 0.0461219 -0.171617 -3.59526 -0.008332 0.00275126 -0.234216 0.583808 -0.00700035 0.0148837 -0.0274091 0.0995972 -1.38493 0 0.844992 0.87097 1.20883 0.29521 -1.10863 -0.0826081 2.98352 -0.402221 5.2814 -0.358653 0.542296 2.11206 -0.0559575 0.127425 0.359256 0.285919 0.144454 -1.21263 6.09614 -3.31607 0.204589 -0.380484 0.617116 1.04404 1.53652 -0.591318 0.512349 -0.0168729 45.385 2.5364 -7.79246 5.65976 0.0407566 -5.35147 -1.51557 0.149576 0.089536 -0.123944 0.575389 -5.23618 0.941393 -0.076841 14.8924 10.5435 0.0628016 0.50068 1.96505 -0.479465 1.16831 -4.53426 5.83272 1.69673 -0.466023 -12.3368 -0.455553 -5.41649 1.69444 -1.51773 1.09847 -1.23753 1.28023 3.97355 -1.04971 0.236018 -25.9599 0.908922 -4.36393 0.0357096 0.239566 0.183314 0.431878 -1.20691 0.959995 0.932382 -0.239638 -1.50677 26.8327 -22.1142 37.845 -4.28263 -4.87658 22.8565 -1.27986 -2.5888 5.74261 -1.41072 2.43303 -4.42997 5.8916 -5.26824 6.58995 0 +490 0 -5.45705 -3.20404 -0.15165 0.121147 3.57285 -0.527747 1.72153 -12.2986 4.35711 7.26771 -1.05039 4.40357 -0.190014 7.26292 -0.711694 -1.40129 -33.2057 0.947957 -3.24541 13.697 -0.529298 2.53815 1.01059 1.24088 0.721162 -0.0333592 -0.231655 1.52409 -3.90155 2.89614 2.03005 -2.00243 9.62884 -2.03133 1.09959 -0.342412 -1.52252 27.7372 0.328641 1.92618 0.0360569 -10.1762 1.33137 3.57842 1.06234 2.2924 2.56217 -13.6417 -2.45469 8.22184 3.45487 40.6032 5.31173 -0.0451398 1.97347 15.1497 13.9031 5.22826 -2.08521 0.779626 -3.04586 5.47615 7.56217 0.204151 -0.948924 -5.77773 -1.86539 -1.23773 -5.80122 2.61595 0.759376 4.14743 0.973944 1.42816 -8.98685 21.6576 -143.077 -32.9073 9.67235 -21.153 16.7681 -21.9364 1.20047 0.0260855 -12.6697 35.8202 5.56092 -3.41968 -4.20056 2.01185 27.1485 0 0.561687 0.0555287 -0.0550541 -0.444588 -0.15165 0.121147 0.0696616 -0.152543 -0.562579 -0.000944794 -0.0190333 0.0315273 -0.0993236 0.491113 0.0433841 -0.014192 -0.0537379 -0.0814859 -0.565765 0.560164 0.115193 -0.378002 -0.142328 0.00307907 -1.18424 -3.63103 -0.012908 0.0395564 0.0213462 -3.35037 0.464771 -0.0370028 -0.390862 -0.943191 -0.059377 1.22344 -0.0640941 -0.536478 0.13823 -0.418691 0.00887406 -0.18932 -0.00799127 5.42099 0.501035 -0.600604 -0.00697162 1.23767 0.421442 0.068587 -0.0586003 0.921296 -0.169205 -0.0409049 2.20275 -0.0461771 -0.11472 0.181058 0.0457817 -0.188295 -0.0406809 0.0123562 -0.0552838 0.0509684 7.04953 0.136715 -0.655631 0.121335 0.547564 0.382223 4.95922 -0.611779 -0.315263 -0.164711 -0.214788 0.0241342 -39.2357 0.368708 -1.61364 0.300948 0.674127 -0.0261883 0.106277 -0.00519683 0.162997 1.03903 0.0162709 0.0347909 -0.0190052 0.0409546 1.73009 0 3.57285 -0.0550541 -0.527747 -0.444588 4.08631 0.1957 -1.31491 -4.30411 -7.98324 0.426792 -0.46202 6.81327 0.0850973 1.13291 -0.347492 -0.474851 -0.42294 1.55577 0.571317 4.25915 4.09073 -2.17707 3.82838 0.341378 -4.74905 -0.203726 -2.66634 -0.0775865 -48.0281 -0.310203 5.37433 1.96399 -0.0659725 -13.7711 7.40565 0.515475 -0.0249172 -0.65564 -0.0308012 -2.0487 -1.43116 -0.0158888 -6.92515 -5.95796 -0.0357136 -0.194234 -0.767528 0.0118209 0.0780052 3.91601 -19.6127 1.30233 0.671868 20.8764 -0.296887 7.78508 -1.46411 0.61173 -6.38478 1.2373 3.18546 -8.01273 1.61338 11.0295 76.3328 -0.0272367 2.79981 -0.125313 0.996112 3.05001 -2.54373 0.515527 -0.715533 -0.0253005 -0.0908025 1.54838 -96.8991 -29.6753 25.7231 -7.83316 1.05908 3.90979 -3.21038 1.51359 -2.72086 8.64121 -0.735253 -0.303906 -0.082213 -0.461399 3.78221 0 diff --git a/examples/mliap/dat_out.03Mar24.mliap.ace.compute.g++.4 b/examples/mliap/dat_out.03Mar24.mliap.ace.compute.g++.4 new file mode 100644 index 0000000000..d416269aec --- /dev/null +++ b/examples/mliap/dat_out.03Mar24.mliap.ace.compute.g++.4 @@ -0,0 +1,494 @@ +# Time-averaged data for fix ace +# TimeStep Number-of-rows +# Row c_ace[1] c_ace[2] c_ace[3] c_ace[4] c_ace[5] c_ace[6] c_ace[7] c_ace[8] c_ace[9] c_ace[10] c_ace[11] c_ace[12] c_ace[13] c_ace[14] c_ace[15] c_ace[16] c_ace[17] c_ace[18] c_ace[19] c_ace[20] c_ace[21] c_ace[22] c_ace[23] c_ace[24] c_ace[25] c_ace[26] c_ace[27] c_ace[28] c_ace[29] c_ace[30] c_ace[31] c_ace[32] c_ace[33] c_ace[34] c_ace[35] c_ace[36] c_ace[37] c_ace[38] c_ace[39] c_ace[40] c_ace[41] c_ace[42] c_ace[43] c_ace[44] c_ace[45] c_ace[46] c_ace[47] c_ace[48] c_ace[49] c_ace[50] c_ace[51] c_ace[52] c_ace[53] c_ace[54] c_ace[55] c_ace[56] c_ace[57] c_ace[58] c_ace[59] c_ace[60] c_ace[61] c_ace[62] c_ace[63] c_ace[64] c_ace[65] c_ace[66] c_ace[67] c_ace[68] c_ace[69] c_ace[70] c_ace[71] c_ace[72] c_ace[73] c_ace[74] c_ace[75] c_ace[76] c_ace[77] c_ace[78] c_ace[79] c_ace[80] c_ace[81] c_ace[82] c_ace[83] c_ace[84] c_ace[85] c_ace[86] c_ace[87] c_ace[88] c_ace[89] c_ace[90] c_ace[91] c_ace[92] c_ace[93] c_ace[94] c_ace[95] c_ace[96] c_ace[97] c_ace[98] c_ace[99] c_ace[100] c_ace[101] c_ace[102] c_ace[103] c_ace[104] c_ace[105] c_ace[106] c_ace[107] c_ace[108] c_ace[109] c_ace[110] c_ace[111] c_ace[112] c_ace[113] c_ace[114] c_ace[115] c_ace[116] c_ace[117] c_ace[118] c_ace[119] c_ace[120] c_ace[121] c_ace[122] c_ace[123] c_ace[124] c_ace[125] c_ace[126] c_ace[127] c_ace[128] c_ace[129] c_ace[130] c_ace[131] c_ace[132] c_ace[133] c_ace[134] c_ace[135] c_ace[136] c_ace[137] c_ace[138] c_ace[139] c_ace[140] c_ace[141] c_ace[142] c_ace[143] c_ace[144] c_ace[145] c_ace[146] c_ace[147] c_ace[148] c_ace[149] c_ace[150] c_ace[151] c_ace[152] c_ace[153] c_ace[154] c_ace[155] c_ace[156] c_ace[157] c_ace[158] c_ace[159] c_ace[160] c_ace[161] c_ace[162] c_ace[163] c_ace[164] c_ace[165] c_ace[166] c_ace[167] c_ace[168] c_ace[169] c_ace[170] c_ace[171] c_ace[172] c_ace[173] c_ace[174] c_ace[175] c_ace[176] c_ace[177] c_ace[178] c_ace[179] c_ace[180] c_ace[181] c_ace[182] c_ace[183] c_ace[184] c_ace[185] c_ace[186] c_ace[187] c_ace[188] c_ace[189] c_ace[190] c_ace[191] c_ace[192] c_ace[193] c_ace[194] c_ace[195] c_ace[196] c_ace[197] c_ace[198] c_ace[199] c_ace[200] c_ace[201] c_ace[202] c_ace[203] c_ace[204] c_ace[205] c_ace[206] c_ace[207] c_ace[208] c_ace[209] c_ace[210] c_ace[211] c_ace[212] c_ace[213] c_ace[214] c_ace[215] c_ace[216] c_ace[217] c_ace[218] c_ace[219] c_ace[220] c_ace[221] c_ace[222] c_ace[223] c_ace[224] c_ace[225] c_ace[226] c_ace[227] c_ace[228] c_ace[229] c_ace[230] c_ace[231] c_ace[232] c_ace[233] c_ace[234] c_ace[235] c_ace[236] c_ace[237] c_ace[238] c_ace[239] c_ace[240] c_ace[241] c_ace[242] c_ace[243] c_ace[244] c_ace[245] c_ace[246] c_ace[247] c_ace[248] c_ace[249] c_ace[250] c_ace[251] c_ace[252] c_ace[253] c_ace[254] c_ace[255] c_ace[256] c_ace[257] c_ace[258] c_ace[259] c_ace[260] c_ace[261] c_ace[262] c_ace[263] c_ace[264] c_ace[265] c_ace[266] c_ace[267] c_ace[268] c_ace[269] c_ace[270] c_ace[271] c_ace[272] c_ace[273] c_ace[274] c_ace[275] c_ace[276] c_ace[277] +0 490 +1 110 633.523 94.3568 17.1047 76.4593 415.72 84.4227 -10.3669 -22.6058 87.5916 -41.6713 14.2935 27.1643 -8.83449 45.539 0.0366547 86.1936 355.524 -9.24098 -4.62886 253.597 -3.89066 -13.051 12.2233 -13.4372 -10.3377 26.0544 5.90582 -29.6058 -123.735 14.1872 28.3718 -2.68723 -36.2963 17.3347 -7.52363 4.01093 21.5542 -150.176 49.1667 106.382 -20.5777 75.3918 12.7539 111.763 -61.6208 56.1044 -51.3912 -31.1257 -21.8452 31.6135 -16.4593 -46.7547 8.4484 -2.80826 -1.50179 2.5356 12.6505 -3.37075 15.4133 24.4245 -17.8721 -68.7976 3.20778 -20.9546 -24.8015 -0.708063 16.8285 25.2232 -31.5949 10.7568 -4.07798 17.5517 -24.71 -27.9933 19.8963 -19.4328 298.998 84.3421 43.4922 99.149 -70.3035 176.822 52.3432 -31.6464 42.3741 32.5112 80.4142 -51.6128 67.8793 -73.6841 197.193 8 1.52077 0.095878 25.0149 2.59269 17.1047 76.4593 0.0761166 0.811713 -1.30106 -0.00129584 0.111902 -0.0021799 0.0422313 -0.251236 0.0584668 -0.0193025 -0.01626 0.0327912 -0.206827 0.9039 -0.0332059 3.01698 -1.13334 0.00387133 6.40468 4.05506 0.00624923 -0.0527616 -2.82349 22.795 -2.42196 0.0251087 0.553167 6.5214 -0.15104 -5.49453 -0.0802715 0.913327 -0.334148 0.371537 0.101263 -0.293913 0.00293122 -14.9572 -0.0221277 -0.438643 -0.00945227 1.15262 0.325325 -0.0479565 -0.0576038 -2.21483 0.0504201 0.051311 -2.85708 -0.252836 -0.147617 0.195349 0.0168697 -0.173079 -0.290278 -0.122316 0.657922 -0.00989331 -3.23063 -0.0649301 -0.0401127 -0.245247 0.0816411 -0.366203 2.08759 -0.808832 -1.27672 0.0275694 0.976563 0.0311902 44.7557 2.54472 4.6908 0.618434 -0.591044 6.06674 0.00299428 0.0388937 0.216562 0.685479 0.0208758 -0.0286578 0.0927639 -0.175599 1.58264 43 415.72 25.0149 84.4227 2.59269 112.55 11.2771 19.2603 -1.22032 27.1819 -1.40836 -1.25201 -13.3198 -0.183368 -1.72716 2.25056 0.669987 -1.28528 -11.5485 4.82046 32.6867 -23.7778 -1.32993 -3.13072 0.649938 -11.5006 -2.62278 5.10788 0.548024 219.188 10.0932 -110.928 30.4814 0.276871 -8.57081 -42.4809 -0.452488 0.144132 -0.275055 1.20694 -20.9224 3.34223 -0.36309 69.1926 28.1069 -0.140381 1.18327 3.75663 4.05765 -1.06858 -3.14327 -1.12221 0.910422 2.88772 10.5331 -4.93061 -11.8662 3.67678 -3.34633 -0.0501799 0.46571 -1.69755 6.2103 -3.44241 -3.91512 26.2264 -1.55167 1.4658 -0.808121 0.272213 6.48859 2.32689 -2.05316 2.03777 1.25839 0.0492927 -7.12287 381.036 52.2256 27.4835 34.5144 -28.0414 61.287 8.66705 -6.46335 7.84842 5.0521 6.94067 -5.54313 6.83136 -6.70729 14.1039 0 +2 0 0 0 0 0 0.019982 -0.390456 1.12581 1.89207 0 0 -0.857617 -2.61627 0 -6.01795 -0.158418 0 0 0 -0.324065 -7.22232 0 0 0 0 0.667987 0 0 1.00017 8.66857 -1.52916 0 -0.312051 0 0 0.506707 -0.143287 0 0 -2.56201 -2.77154 0 0 -0.537342 -11.0941 0 -1.29022 2.76894 -0.277586 0.796272 0.890361 0.341017 0 0.787035 -0.300377 -0.356484 -0.855919 0.32443 -1.06247 0 0 -0.397307 5.54335 0 -0.407508 -0.911793 -1.37427 0 0 0 0 0.867341 -0.994681 0 2.84811 -0.402481 0 0 0 -3.22735 0 2.45634 -10.0229 0 0.16544 -1.18401 -5.69172 0 1.26917 -4.56391 7.1909 -20.1025 0 0 0 0.241195 0.0639042 0 0 0 -0.0459657 0.106911 0 -0.00389019 0 0.0158326 0.140044 0 0 0 0 0.225331 0 0.0323058 0 0.820656 0 -0.413236 0.587186 0 4.10491e-05 0 0 0.109714 0.0038492 0.159886 0 0.0169011 0 0.00532619 0.256212 0.00602296 0.0759359 0.0641599 0 0.000798758 0 0 0 0.00083204 0 0 -0.0094609 0.00781647 0.485082 0.0136809 0 0 -0.0263238 0 -0.00852847 0 0 0.0410094 0.077558 0.218977 -0.0752142 0 0 0.0530495 -0.0472733 -0.0351926 0.451547 -0.19332 0 0.123094 0.0203026 -0.0339193 0 0 0 -3.49898 0 -0.330478 -0.485167 0 -0.0275285 -0.0415255 -0.510493 0 -0.00307907 -0.00455077 -0.0352637 -0.0835054 0 0.019982 0.241195 -0.390456 0.0639042 -0.759856 -0.181214 1.03324 -1.30879 1.381 0.0063192 0.0219018 1.28024 -0.0002765 0.186461 0.160765 0.0231344 0.0116011 0.122308 -0.781495 -0.972351 -1.97601 -0.256802 0.606571 -0.0875305 0.30287 0.193061 0.128699 -0.0127352 -11.2867 -0.426996 -5.63257 -3.23686 0.0240278 -2.30602 -3.41254 0.0901742 -0.00727082 -0.139421 -0.0691262 1.12675 0.222273 0.0334162 -6.47851 -1.95093 -0.000893356 -0.0376847 -0.29641 -0.0975724 0.459619 0.550056 -4.23274 0.861876 0.0322437 -1.84277 -0.535132 -0.693252 0.39943 -0.607263 -0.496174 -0.341922 -1.2043 0.716828 -0.284252 -0.150106 -14.3868 0.29594 -0.691005 0.0741957 -0.0514309 0.0194368 0.191708 0.110249 -0.0389362 -0.203518 -0.053956 -0.39594 17.8276 -4.5702 9.57124 1.13339 -0.796077 1.31363 -0.24636 0.488727 -0.940132 1.38886 -0.0576275 0.192689 -0.428387 0.667578 -1.20912 0 +3 0 0 0 0 0 0.0808912 0.121547 -0.468948 -2.02778 0 0 -0.0211098 -0.110122 0 0.298021 -0.137775 0 0 0 -0.263913 0.537545 0 0 0 0 -0.476959 0 0 -0.292499 -2.83655 0.0284581 0 -0.289833 0 0 -0.17166 -0.0377945 0 0 -0.34874 0.341692 0 0 -0.179071 -0.0306183 0 0.0729532 -0.775892 -0.182881 0.178164 1.92643 0.269242 0 0.232228 -0.526754 -0.0367362 -1.32587 0.356648 0.304077 0 0 0.47708 0.850274 0 0.945601 -0.298679 0.109121 0 0 0 0 -0.199498 0.249846 0 -1.00804 0.646612 0 0 0 2.5315 0 -0.239321 4.86577 0 0.243573 0.0822844 4.38627 0 0.773894 1.24408 -1.78086 9.02317 0 0 0 0.0385285 0.016165 0 0 0 -0.0682327 0.0851058 0 -0.00878235 0 0.00824645 0.0229843 0 0 0 0 0.043077 0 0.00481633 0 0.115596 0 -0.404257 0.280861 0 -0.0200741 0 0 -0.560308 0.00143565 0.0942226 0 0.0201131 0 0.00419684 0.0452706 -0.112095 0.0332536 0.0209025 0 0.000341982 0 0 0 0.000965924 0 0 -0.00335762 0.00614112 0.140695 0.0200946 0 0 -0.0345502 0 -0.00670051 0 0 0.0320887 0.0351037 0.399265 -0.0186175 0 0 -0.0231112 0.0555032 -0.0687172 0.375625 -0.181111 0 -0.13627 -0.0146118 -0.140983 0 0 0 -0.383753 0 -0.10718 2.09452 0 -0.00349675 0.124709 0.0499567 0 -0.000849806 0.0181515 -0.1053 1.27839 0 0.0808912 0.0385285 0.121547 0.016165 0.0396667 0.107017 0.181988 -0.271861 0.283221 -0.0105426 -0.040489 -0.263158 -0.00303637 -0.0892919 0.0372701 0.0966975 -0.0478863 -0.0194905 -0.137559 0.0814059 0.0287002 -0.120067 -0.158307 0.00694866 -0.0952346 -0.157797 0.574322 0.0239262 -0.651573 -0.0681955 -0.85839 0.424409 0.0070428 -1.22533 -0.210788 -0.0368793 -0.00620844 -0.0149489 -0.0107778 -0.998628 0.0709918 -0.0252828 0.87795 -0.205236 -0.0093014 -0.027996 0.0898784 0.0930962 0.053969 -0.233099 -1.24983 0.032921 0.0470698 1.19676 -0.0965457 -1.05756 0.0766464 0.238181 -0.359521 -0.135526 -0.523919 0.820447 -0.140108 0.32224 7.181 -0.0147846 -0.109635 0.0451754 0.0674679 0.455292 0.24586 0.074375 0.0172685 0.137225 -0.0730147 -0.222617 2.71688 0.0287363 3.08648 0.233067 -0.106681 2.46371 0.0531921 -0.105177 0.116088 1.00822 0.00918331 -0.0242064 0.375106 -0.420228 1.24039 0 +4 0 0 0 0 0 0.0452898 -0.063578 0.368607 0.806365 0 0 0.228512 -0.160687 0 -0.712275 0.0279078 0 0 0 -0.0373852 -4.63921 0 0 0 0 0.360022 0 0 -0.24615 -0.451968 -0.173302 0 0.589696 0 0 0.18565 0.0167827 0 0 -0.0138997 -2.61012 0 0 -0.100685 -0.52385 0 -0.925998 -0.498529 0.818834 0.177402 -0.748757 0.209067 0 0.118052 -0.165513 0.648154 -0.648077 -0.854859 -0.992861 0 0 -0.0916018 7.60687 0 -0.877177 -0.186496 -0.681617 0 0 0 0 0.0259129 -0.225929 0 3.61376 -2.02877 0 0 0 -0.163508 0 0.313512 0.935185 0 -0.103632 -0.0491085 0.402943 0 0.553813 -0.845487 2.13829 -3.82208 0 0 0 -0.0138239 -0.00430116 0 0 0 0.0192541 -0.0135089 0 0.00290607 0 -0.00122098 -0.00158384 0 0 0 0 0.0715531 0 0.00921959 0 0.00644316 0 0.10678 -0.0727613 0 -0.00176368 0 0 -0.127885 -0.000127066 -0.0209269 0 -0.00301229 0 -0.000557267 -0.0422624 -0.0152574 -0.00376812 -0.00871224 0 -4.89132e-05 0 0 0 -0.000131848 0 0 0.000268561 -0.000769474 0.0270579 -0.0203729 0 0 -0.00204804 0 0.000839564 0 0 -0.0107921 0.000602497 0.00595497 -0.00104256 0 0 -0.143447 0.0416175 0.00609016 -0.32548 0.192233 0 -0.216201 -0.010181 -0.000871387 0 0 0 -0.0381932 0 0.00679639 0.526047 0 -0.000823092 0.0394045 0.0669008 0 2.52638e-05 0.00478025 0.00771428 0.185085 0 0.0452898 -0.0138239 -0.063578 -0.00430116 0.140598 0.00606572 -0.0610349 0.19885 2.05121 0.000876118 -0.0471416 -0.0526951 0.000336591 -0.00121708 -0.0104564 0.193935 -0.0149982 -0.00282643 -1.79166 0.728803 -0.195444 0.0802618 0.0368793 -0.261541 -0.123188 0.0695546 1.54961 0.00329416 2.3224 -0.199651 0.303343 0.254843 -0.00172064 0.593824 -0.0687065 0.00609889 -0.0074905 0.0453569 -0.0512152 0.475151 0.255687 0.0124658 0.817688 -1.5711 -0.00600475 -0.0293641 -0.30932 0.0892705 0.1872 0.920629 0.724226 -0.298566 -0.0825022 2.02287 0.0318566 -0.121482 0.0948204 -0.0567802 -0.0548485 0.0134769 0.0320435 -0.123632 0.0904469 -4.41836 -17.7616 -0.144281 -0.0750469 -0.0885355 -0.10918 -0.370314 -0.0387531 0.0262936 -0.000286176 -0.111368 0.125043 -0.16848 -0.960107 0.220408 -2.55308 -0.0669897 0.484527 -1.51276 0.0111375 0.0484268 -0.164428 -0.157305 0.00133172 0.0666093 -0.203816 0.371535 -0.752794 0 +5 0 -0.232794 -0.0616963 0.0467445 0.245503 -0.388057 -0.0359665 0.361907 1.38242 0.436281 -0.731379 0.115134 0.192089 -0.00173486 1.59436 -0.0435745 0.813172 4.11494 -0.102815 -0.0785589 2.69157 -0.0059298 0.147922 0.0058826 -0.186312 0.0302869 0.146664 -0.0251779 -0.217775 -1.36373 0.367893 0.051322 -0.370522 0.388197 0.0711514 -0.0568727 0.00652389 -0.15996 1.50343 0.373454 1.22771 -0.0100066 0.577914 0.0405684 1.27307 -0.0258927 0.499639 -0.475884 -0.653669 0.0299502 -1.51566 -0.35372 10.7643 0.0174314 -0.0518855 0.388459 4.06937 1.28049 0.950391 0.227165 -0.0240726 0.0280116 -1.93941 1.90871 1.46363 1.42964 0.493565 0.560752 -0.465615 -0.0853722 0.339786 -0.392852 -0.315104 -0.0763739 0.0482031 -0.385239 0.95256 -3.51566 1.92154 -4.4012 -1.71921 0.460434 0.324988 0.246866 -0.440832 1.45955 -2.218 0.0101897 -0.0766934 0.281728 -0.362182 1.41046 0 0 0 0 0 0.0467445 0.245503 0.00327173 0 0 0 0 0.000403883 0 0.00727051 0 0 0.00319542 0.0100245 -0.00624784 0 -0.000288429 0.0811033 0.0266167 0 0 -0.150209 0.000497364 0 0.0221567 1.00958 0 0 -0.0153113 0.312941 0 0.201718 0 -0.012899 0 0 -0.000988822 0 0 1.20553 0.0085498 0.06385 0 0.0679282 -0.0988161 0 0 0.37891 0 0.00613803 0.222204 -0.00196321 0 0 -0.00606188 -0.00518758 0 0.0154639 0.0280367 0.00847291 -1.06796 0.0174188 0.0194479 0 0.00946217 -0.0868087 0.175315 -0.0696412 0.077349 0 0 0 -10.2073 -0.676228 -0.689285 -0.0469851 0.0249716 -0.710714 -0.00250696 0.00114308 -0.0361361 0.00749362 0 0 0 0 0 0 -0.388057 0 -0.0359665 0 0 0 0 0.55978 0.06439 0 0 -0.848303 0 -0.107725 0 -0.0315963 0 0 0.151942 0 0.439286 0.177624 -0.387447 0.0207182 0 0 -0.22034 0 1.59205 0 0.271239 0.880185 0 1.27732 0.42582 -0.0501712 0 0.0713995 0 0 -0.0101758 0 1.30683 -0.376565 0 0 -0.0208858 0 0 -0.21399 1.26361 -0.174739 0 0.874533 0 1.14698 -0.14357 0.150074 0.0131105 0.136659 0.567175 -0.591667 0.0549897 0.935337 10.7712 -0.152709 0 0 0 0.347913 -0.013083 0 0 0 0 -0.249851 1.40239 3.27376 -4.33282 0.122262 -0.148392 0.150759 0.248971 -0.29801 0.493138 -0.677066 0 0 0 0 0 0 +6 0 0.408405 0.357908 0.0210414 0.069813 0.0121382 0.0988808 -0.0843766 -1.41271 0.139666 -0.0543387 0.0711436 0.522334 -0.00333143 1.14947 -0.0519767 1.56494 5.98634 0.0345361 -0.136925 3.40896 0.0224456 -0.266276 0.0048031 -0.0398739 -0.35053 0.397117 0.0528194 0.218718 0.183796 0.316476 0.0278382 -0.291541 -0.916301 0.197242 -0.0286349 0.0019955 0.189717 -3.57787 0.0817919 1.76818 -0.0184052 0.98968 -0.000744677 1.18492 -0.0784131 0.931365 0.27197 -0.827576 0.0559693 0.280085 -0.0454733 -6.97518 0.208065 -0.142803 0.0309335 -3.38332 0.646293 -0.484123 0.0835808 0.031293 -1.51917 -3.50286 -0.0703177 0.148122 -0.27325 0.101731 -0.20685 0.172928 -0.0456868 0.0342223 -0.580803 -0.267025 -0.327687 -3.95786 -0.177088 0.0320029 7.85294 -0.301634 4.79276 1.66839 -1.24125 2.597 -0.076337 0.486422 -1.19437 2.8777 0.0308582 -0.0258146 0.00438473 -0.0195124 -0.190093 0 0 0 0 0 0.0210414 0.069813 0.00390804 0 0 0 0 0.00070451 0 -0.0271846 0 0 0.001742 0.00793944 -0.0457844 0 -0.00571608 0.0686257 -0.222931 0 0 -0.0218148 0.000354441 0 -0.0173528 1.20073 0 0 -0.000884387 0.281065 0 -0.0165385 0 -0.00530048 0 0 -7.54096e-05 0 0 0.138385 0.014522 0.038599 0 0.0787747 -0.0531688 0 0 0.198838 0 0.00739533 -0.214807 -0.0200106 0 0 -0.00320281 -0.00625019 0 0.00381666 -0.0950474 0.0101133 -1.06633 -0.0155055 -0.00125055 0 0.016052 0.0366109 0.0759911 -0.102132 0.164446 0 0 0 -0.903147 -0.154794 0.785184 -0.00362794 0.0168752 -0.196163 -0.00113713 0.00445665 -0.053517 0.240793 0 0 0 0 0 0 0.0121382 0 0.0988808 0 0 0 0 -0.296856 1.53245 0 0 -0.0367949 0 0.000503111 0 0.0515035 0 0 0.140467 0 -0.168169 -0.126965 -0.00394148 0.0412205 0 0 0.421519 0 7.82274 0 -2.47619 0.605828 0 -0.70078 -0.663598 -0.000368307 0 -0.0586195 0 0 0.184372 0 2.16301 0.0488073 0 0 0.0711663 0 0 -0.0917698 0.736499 0.265291 0 0.248043 0 0.772304 0.155296 -0.205645 0.522816 0.0618484 0.166679 -0.251909 0.348489 -2.51221 -12.66 -0.0722265 0 0 0 0.078496 -0.0637418 0 0 0 0 -0.500808 8.23373 -0.404815 2.7087 0.872253 -0.818858 1.14246 -0.0226735 0.0453883 -0.0645815 0.47073 0 0 0 0 0 0 +7 0 -0.450487 0.675941 0.0219074 0.0382986 -0.0385997 0.194149 -0.909163 -1.10295 0.276846 -0.0273133 -0.203853 0.67938 -0.00102845 -0.730428 -0.0387389 2.44191 7.22677 0.0557517 -0.0780566 3.6871 0.0250138 -0.98717 0.00321615 -0.0476455 -0.856587 0.892877 -0.0277073 -0.518669 -0.126089 0.355706 0.0304564 -0.448159 -1.66909 -0.0730512 -0.70738 -0.0192773 0.133726 -3.04269 -0.182105 1.87127 -0.00917848 1.20036 -0.0152754 -2.26663 -0.0790092 0.931853 -0.343181 -0.904086 -0.00982556 0.863377 -0.307518 -11.0486 -0.0191785 0.0186644 0.177189 -0.677554 0.492212 0.788317 -0.0289736 -0.0137184 1.44049 -3.80813 0.568879 1.41253 -0.199002 0.053122 -0.731214 0.0336917 -0.0621426 -0.444531 0.631703 -0.0729355 -0.432256 -0.125489 0.201487 -1.63652 9.58292 0.803408 4.39175 0.737338 -0.339191 2.94042 -0.100519 -0.11011 0.522289 -0.181547 0.0310929 0.0260378 0.0656683 0.0785414 0.130409 0 0 0 0 0 0.0219074 0.0382986 0.00135175 0 0 0 0 0.000170666 0 -0.0142318 0 0 0.00156076 0.00496401 -0.0166897 0 -0.00218165 0.0562797 -0.105709 0 0 -0.0876842 0.000247232 0 0.0118746 0.873087 0 0 -0.00541252 0.230771 0 0.104156 0 -0.0059067 0 0 6.39643e-05 0 0 0.417075 0.00362105 0.0310469 0 0.0280098 -0.0604151 0 0 0.00172145 0 0.00253747 -0.503281 -0.0209521 0 0 -0.0029646 -0.00214456 0 0.00134368 0.0440069 -0.00483301 -0.74161 -0.0313344 -0.0103974 0 -0.00399341 0.0918387 0.112916 -0.0450966 -0.155518 0 0 0 -3.14068 -0.252856 0.308595 -0.0137953 0.00620799 -0.200916 -0.00123296 0.000416936 -0.016403 0.133891 0 0 0 0 0 0 -0.0385997 0 0.194149 0 0 0 0 -0.0967718 0.275058 0 0 -0.00415843 0 -0.0074572 0 -0.0288431 0 0 0.36345 0 -0.798876 -0.0304463 0.0691981 0.0395686 0 0 -0.215199 0 1.70101 0 -1.30977 -0.279605 0 -0.153047 -1.01579 0.00669675 0 -0.0157271 0 0 0.0281333 0 -0.133037 -0.252636 0 0 -0.029346 0 0 -0.115157 -3.02996 0.107171 0 0.507548 0 -0.193303 -0.00682507 -0.0233335 -0.122144 -0.0384146 -0.155622 -0.131978 -0.0350041 -0.793717 -5.44704 0.0515272 0 0 0 0.117069 0.0692092 0 0 0 0 -0.120104 -0.129237 0.00390137 -0.233918 0.300365 -0.505751 0.912965 0.0421739 -0.0157202 -0.0137363 0.0429891 0 0 0 0 0 0 +8 0 0.584324 0.29765 0.0636737 0.287644 -0.248735 0.153581 0.135495 1.68446 0.434626 -0.532894 0.19315 2.09657 -0.00824769 3.09109 -0.0402718 2.47489 11.7432 0.0580193 -0.0720326 4.44753 0.0556761 0.0044409 0.0115029 -0.0994597 0.191177 0.540984 0.0373197 -0.268626 -0.325856 0.781959 0.0708024 -0.111851 0.444128 0.362564 -0.178766 0.0302632 0.0502902 2.09309 0.559554 1.91428 -0.0452547 1.50719 0.0867806 8.02709 -0.212336 0.795289 -0.235012 -0.139933 -0.226286 1.54703 -0.0504195 -0.651988 -0.00941635 -0.254261 0.0670759 2.0856 -0.26459 -0.124975 -0.0150691 0.0441198 0.101082 -1.75331 -0.866645 0.711193 -0.39535 0.825997 -1.23592 -0.313545 -0.096901 -0.0800771 -0.73826 0.377743 -0.388239 -0.810143 0.437346 -2.30345 -5.72156 0.335825 -4.53023 -0.989095 -0.783149 0.0886175 -0.0237216 -0.370558 0.790827 -1.11686 0.112021 -0.150298 0.276383 -0.505962 0.584471 0 0 0 0 0 0.0636737 0.287644 0.00239925 0 0 0 0 2.23618e-05 0 -0.00586242 0 0 0.00314778 0.0104555 -0.00860371 0 -0.000874741 0.119954 -0.0577262 0 0 0.0565586 0.000542178 0 0.00935168 1.76942 0 0 0.0128946 0.47395 0 0.166484 0 0.0292118 0 0 0.00463587 0 0 0.987316 0.000677942 0.0625224 0 0.0473443 -0.123853 0 0 0.244484 0 0.00352773 -0.541365 -0.0133744 0 0 -0.00643665 -0.00444539 0 0.0074196 0.0371482 -0.00166275 -1.17522 -0.0437778 0.0144619 0 0.000700365 -0.0176131 0.0384149 -0.0469807 -0.0824571 0 0 0 -8.33186 -0.631117 -0.246891 -0.039225 0.002872 -0.414406 -0.00260963 -0.000219183 -0.0253829 0.0647454 0 0 0 0 0 0 -0.248735 0 0.153581 0 0 0 0 0.302408 1.75888 0 0 -0.543828 0 -0.0685075 0 0.0737097 0 0 0.492553 0 0.656941 0.111571 -0.147128 0.0607748 0 0 0.60657 0 13.9762 0 1.09502 1.59453 0 0.648153 0.981894 -0.0173027 0 0.053953 0 0 0.203376 0 4.58314 1.16437 0 0 0.164221 0 0 -0.129804 -0.277726 -0.167073 0 3.31741 0 -0.283863 -0.150368 0.144605 -0.232226 -0.0276781 -0.105026 -0.0673972 -0.0434842 -1.37371 7.74037 -0.0323949 0 0 0 0.571723 -0.00151934 0 0 0 0 -0.683725 3.8939 2.26122 -1.15804 -0.363648 0.512626 -0.513237 0.197519 -0.178479 0.23702 -0.226405 0 0 0 0 0 0 +9 0 0.154188 0.535924 -0.0267739 -0.0213723 0.0488454 0.284284 -1.7374 -3.06944 -0.25225 0.42952 -0.329674 0.330665 0.00774833 -0.182294 0.0316744 0.960508 1.49145 0.0159877 0.109613 -2.11335 -0.0299366 -0.827103 -0.00981428 0.049616 -0.966205 0.512866 -0.101995 -0.4639 -0.213681 0.2547 -0.0543654 0.131154 -1.73567 -0.112997 -0.682029 -0.0319448 -0.331141 -4.44741 -0.481056 -0.394358 0.0456259 -0.583577 -0.0597516 -0.241779 0.223269 0.305046 -0.372758 0.496298 0.117518 0.132261 0.680502 2.77461 -0.219732 0.260694 0.10241 2.33937 0.526661 0.675451 -0.257438 -0.116347 1.76258 -0.819692 2.99162 1.50207 0.378214 -0.0494956 0.0127507 -0.395871 0.110725 0.527135 0.955675 0.0918825 0.100926 0.180613 -0.149921 0.543808 14.1746 -0.138737 9.15513 0.596944 0.615138 3.68907 0.135092 0.406897 -1.0026 3.80971 -0.117789 0.129731 -0.143868 0.428708 0.383268 0 0 0 0 0 -0.0267739 -0.0213723 0.00393585 0 0 0 0 0.000648707 0 -0.0190722 0 0 0.00215017 0.00205954 -0.0137142 0 -0.00145775 -0.0306431 -0.164115 0 0 -0.143701 8.55657e-05 0 0.0398018 0.716856 0 0 -0.017334 0.0637653 0 0.151735 0 -0.0360641 0 0 -0.00487022 0 0 0.625088 0.0126608 0.0444846 0 0.0765527 -0.0485864 0 0 0.288534 0 0.00867682 0.1251 -0.021123 0 0 -0.00443442 -0.00538783 0 0.0172517 -0.00800338 0.00316036 -0.560336 0.037698 -0.000963914 0 0.0103024 0.0976422 0.426003 -0.146628 0.0500885 0 0 0 -5.87273 -0.425038 0.252088 -0.0280169 0.00551441 -0.322474 -0.00154028 0.00285888 -0.0430216 0.239943 0 0 0 0 0 0 0.0488454 0 0.284284 0 0 0 0 -0.402137 -1.04126 0 0 0.424921 0 0.060032 0 -0.0768639 0 0 -0.00410363 0 -0.464142 -0.143231 0.233608 0.00949784 0 0 -0.629343 0 -0.546806 0 -1.67645 -0.354268 0 -0.951349 -0.690361 0.031077 0 -0.0525322 0 0 -0.126852 0 -1.0584 0.500232 0 0 0.0885047 0 0 -0.171789 -1.55571 0.110432 0 -2.42795 0 -0.26519 0.188239 -0.23953 0.192753 -0.0846432 -0.295572 0.0577574 0.199748 2.27606 2.62445 0.102034 0 0 0 -0.0936066 -0.081837 0 0 0 0 0.294643 5.88268 -1.59725 3.79852 0.763623 -0.771099 1.01195 -0.162746 0.183131 -0.276591 0.559684 0 0 0 0 0 0 +10 0 0.0173956 -0.482869 -0.0118994 -0.0837503 -0.0470194 -0.128835 0.803505 1.0553 -0.0754237 -0.375026 0.0226336 -0.244588 0.00093001 0.339605 -0.00259327 -1.62261 -3.57304 -0.124053 -0.0161114 2.50218 -0.0488618 0.593496 -0.00143811 -0.150603 0.527207 -0.630259 -0.0541153 0.505202 0.994817 -0.28055 -0.00988343 -0.125648 1.22488 -0.128922 0.408986 -0.00390139 -0.27205 2.77858 -0.0512671 0.64386 0.00455731 -1.0159 -0.0159992 2.0944 0.0154753 -0.234041 0.69215 -0.229168 0.0696428 -0.838768 -0.11053 7.70174 0.0131702 -0.000168859 -0.0256962 1.95536 0.671473 0.55148 0.270033 0.0042576 -1.93902 -2.78855 -1.14775 -1.29658 0.472709 -0.977338 0.750232 -0.31154 0.00679921 0.247682 0.0264821 -0.140356 0.295913 -0.63911 -0.4447 1.37073 -8.04425 -0.262402 -3.16357 -0.563999 0.722309 -4.49167 0.674665 -0.34241 0.254433 -2.60695 -0.00816423 0.01372 -0.276294 0.0586189 -1.78435 0 0 0 0 0 -0.0118994 -0.0837503 -0.000498494 0 0 0 0 -1.52335e-06 0 -0.000363752 0 0 -0.000619375 -0.00154712 0.00165975 0 3.01919e-05 -0.0326659 0.0130897 0 0 0.0867996 -7.52074e-05 0 0.00258961 -0.518609 0 0 0.0111143 -0.16119 0 0.00956524 0 0.00847656 0 0 0.00102077 0 0 -0.137653 -0.000194711 -0.0130552 0 -0.0120778 0.0187154 0 0 -0.147885 0 -0.000855879 0.00806315 0.00387802 0 0 0.000972134 0.000827162 0 -0.00588206 -0.0607538 -0.00495171 0.282956 0.0122181 -0.00147389 0 0.000154639 0.0114193 -0.0916798 0.000741508 -0.0663118 0 0 0 1.12659 0.0905059 0.0337027 0.00495559 -0.00342695 0.0868583 0.000429701 -0.00101167 0.0135454 -0.0350344 0 0 0 0 0 0 -0.0470194 0 -0.128835 0 0 0 0 0.0690666 -1.01289 0 0 -0.225003 0 -0.034553 0 -0.0707201 0 0 1.03808 0 0.463917 0.0255822 -0.189126 0.130841 0 0 -0.531027 0 0.657536 0 0.748684 -0.00273801 0 0.225839 0.459011 -0.0264273 0 0.00036115 0 0 -0.136818 0 0.268223 1.79563 0 0 0.228033 0 0 -0.171953 0.758139 0.154944 0 -0.226404 0 0.452418 -0.141217 0.0363962 0.151569 -0.0455233 -0.0629108 -0.125153 0.0454194 2.10703 8.84509 0.0387567 0 0 0 0.235923 -0.0194963 0 0 0 0 0.0361043 -11.0068 0.46528 -2.75474 -0.0113142 -0.227614 0.140126 0.0364532 -0.0868196 0.196104 -0.184286 0 0 0 0 0 0 +11 0 -0.0693869 -0.0499976 0.0748276 0.247259 -0.342451 -0.0167211 0.451829 1.70015 0.556577 -1.09629 0.45859 0.782393 -0.0214446 2.06355 0.12846 0.139865 -0.633913 -0.219971 0.194682 -1.20466 -0.0271918 0.0763624 0.0323794 -0.249373 0.156305 0.140994 0.0243123 -0.279916 -1.59776 0.581485 0.133276 0.780227 0.054433 0.155025 -0.00890998 0.111441 0.159935 0.343293 0.792059 0.0123761 -0.0592228 1.03002 0.19089 2.66989 -0.0830764 0.308574 -0.650271 1.3518 -0.274166 -1.18262 -0.336313 7.48269 -0.468446 0.193032 0.257476 2.62296 0.926927 1.40077 0.337393 0.0445729 -0.538727 -3.69065 0.466801 -0.126965 0.702907 -0.00651531 0.391095 0.00546422 -0.227554 0.489555 -0.20343 0.478364 -0.382356 -0.366818 -0.673711 2.40646 -1.36542 2.73117 -4.54957 -1.51923 0.369952 0.106784 0.540714 -0.553168 1.91297 -2.78226 0.0779878 -0.411016 0.793886 -1.1737 1.69019 0 0 0 0 0 0.0748276 0.247259 0.00525403 0 0 0 0 0.00110809 0 -0.00723532 0 0 0.00364596 0.0186878 -0.0605195 0 -0.00799859 0.189166 -0.0612951 0 0 -0.169939 0.000888124 0 0.0695598 2.02629 0 0 -0.0105701 0.65966 0 0.352367 0 -0.0408651 0 0 -0.0020194 0 0 1.53213 0.023467 0.0744586 0 0.109254 -0.0966191 0 0 0.294938 0 0.00985245 0.181615 -0.0238228 0 0 -0.00687342 -0.00832684 0 0.0157197 0.0301861 0.0124275 -0.0203047 0.039244 0.00269476 0 0.0191249 -0.085905 0.548129 -0.0958675 -0.188713 0 0 0 -12.3513 -0.747986 -0.469465 -0.0555879 0.0728934 -1.2495 -0.00276318 0.00292839 -0.0555585 0.080557 0 0 0 0 0 0 -0.342451 0 -0.0167211 0 0 0 0 0.393571 0.809762 0 0 -0.923945 0 -0.116223 0 0.0381025 0 0 -0.16385 0 0.494512 0.149359 -0.370405 -0.0241201 0 0 0.27596 0 2.54857 0 0.364494 0.923363 0 1.195 0.407333 -0.0479318 0 0.0436596 0 0 0.102034 0 1.62258 -0.564493 0 0 -0.0519929 0 0 -0.664547 1.72801 -0.545285 0 1.76486 0 0.315445 -0.0169185 0.234796 0.569026 0.125845 0.115081 -0.269356 0.0640097 0.0472039 4.92086 -0.192473 0 0 0 0.612174 0.0231085 0 0 0 0 -0.317627 2.96093 3.07744 -3.33541 -0.137062 0.343769 -0.524661 0.286786 -0.326415 0.527595 -0.689124 0 0 0 0 0 0 +12 0 1.08763 -0.339703 0.0929581 0.0620113 0.0618232 -0.244834 1.09338 1.1106 0.501591 -1.66018 0.280322 -1.07438 -0.0410199 -1.1351 -0.0353698 -1.82408 -4.17528 -0.34578 -0.197758 -1.78141 -0.0978375 0.818244 0.0516006 -0.553804 0.762147 -0.744218 -0.0464321 0.38465 -0.551802 -0.568304 0.184114 -0.171205 0.984223 -0.0881162 0.698118 0.0594257 -0.00941733 -0.462672 0.636543 -1.28578 -0.152424 0.59185 0.167029 -2.3867 -0.486016 -0.934852 0.0678156 -0.613687 -0.338627 -0.557586 -0.76854 5.06392 0.344794 -0.186407 0.332673 0.958802 0.438991 0.00423121 0.775857 0.281996 -2.05366 -0.292218 -1.78961 -1.25907 0.505317 -0.244556 0.468115 -0.422644 -0.262368 -0.0731759 -0.491987 0.369057 -0.0129571 0.725302 -0.647967 1.06822 0.909611 1.33353 0.127095 1.92448 -1.7992 2.72689 1.70542 -1.1512 1.632 -0.275263 0.456247 -0.528363 0.516067 -0.597346 0.583723 0 0 0 0 0 0.0929581 0.0620113 -0.00112013 0 0 0 0 0.000192605 0 -0.0498714 0 0 -0.000243409 0.0145843 -0.146375 0 -0.0194829 0.0471023 -0.365096 0 0 -0.100086 0.000668821 0 -0.0188539 -0.78145 0 0 -0.010787 -0.083534 0 -0.0776348 0 -0.0274702 0 0 -0.00119387 0 0 -0.673992 0.00415405 -0.00162333 0 -0.0238746 0.00257757 0 0 -0.0934623 0 -0.00208484 -0.934988 -0.0232388 0 0 0.000548819 0.00176201 0 -0.00162163 0.0272933 -0.00503628 -0.453494 -0.074179 -0.0389019 0 -0.0110741 0.286128 0.099174 -0.0570806 0.0350712 0 0 0 5.72741 0.259743 1.69934 0.0264055 -0.0126404 0.386278 0.000387175 0.00318966 -0.0261531 0.397885 0 0 0 0 0 0 0.0618232 0 -0.244834 0 0 0 0 0.297952 1.42233 0 0 -0.490541 0 -0.0649882 0 0.0278932 0 0 -0.213933 0 0.41794 0.0230929 -0.20806 -0.0245706 0 0 0.225301 0 1.43929 0 -2.32828 -0.0767548 0 0.162597 0.0516616 -0.0277963 0 0.0432921 0 0 0.170198 0 0.0191173 -0.810889 0 0 -0.105753 0 0 -0.149354 0.167227 -0.0662433 0 1.26226 0 0.0865308 0.110864 -0.0101787 0.277215 0.113139 0.162118 -0.163754 -0.0303093 -1.4154 -1.3407 -0.117187 0 0 0 0.233394 0.0539795 0 0 0 0 -0.387902 13.0631 2.4701 -0.519182 0.780618 -0.621508 1.00488 0.175551 -0.169294 0.255116 -0.121288 0 0 0 0 0 0 +13 0 -0.17679 -0.466342 -0.0371808 -0.0858168 0.0607652 -0.040671 0.304687 1.15219 -0.247871 -0.926725 -0.315125 0.711885 0.0128282 1.3673 -0.105015 -2.06737 -6.37106 -0.241063 -0.107423 3.68447 -0.0998675 0.559434 -0.0178078 -0.301294 0.488495 -0.70835 -0.140282 0.410849 0.829927 0.225789 -0.0690255 -0.669395 1.20021 -0.631643 0.273392 -0.0806937 -0.693694 2.68222 -0.521829 1.74984 0.0413415 -2.99388 -0.130215 4.22726 0.0991218 0.644406 0.475722 -0.822277 0.255311 -1.72139 -0.43797 6.03403 0.191344 -0.065993 -0.119214 -2.84996 0.327311 0.564721 0.41989 -0.0563902 -0.649923 -4.1157 -0.749905 -0.93217 1.20768 -0.529732 0.389171 -0.831007 0.109998 0.4145 0.266359 -0.492412 1.05655 -3.00115 0.335764 3.22646 -6.27686 0.396117 -2.60513 -0.937835 1.21105 -2.95658 1.25349 -1.1381 1.52551 -2.60696 -0.0930504 0.291756 -0.441974 0.668053 -0.877937 0 0 0 0 0 -0.0371808 -0.0858168 -0.00256624 0 0 0 0 -0.000648208 0 -0.00170956 0 0 -0.00141757 -0.00987129 0.03109 0 0.00329595 -0.13609 0.0205494 0 0 -0.0606185 -0.00046328 0 0.0469787 -1.71755 0 0 -0.00576424 -0.497611 0 0.110522 0 -0.0102068 0 0 -0.00157108 0 0 -0.0426562 -0.0138335 -0.0301872 0 -0.0549834 0.0540398 0 0 -0.260402 0 -0.00476872 0.0882737 0.0129944 0 0 0.00263919 0.00403031 0 -0.00224748 0.0326018 -0.0111664 1.71736 0.0360411 -0.0230532 0 -0.00923211 0.0696225 0.0172462 0.0671114 -0.256297 0 0 0 0.373178 0.130143 -0.0505412 0.00174221 -9.30923e-05 0.0185015 0.000999429 -0.00238965 0.0326379 -0.0296978 0 0 0 0 0 0 0.0607652 0 -0.040671 0 0 0 0 0.223285 -2.47944 0 0 -0.150544 0 -0.0253725 0 -0.138329 0 0 0.649613 0 0.536738 0.0820745 -0.0886454 0.074966 0 0 -1.11769 0 -6.14128 0 1.79948 -0.505519 0 0.513 0.844503 -0.0127253 0 0.040738 0 0 -0.304716 0 -1.9048 1.44075 0 0 0.159769 0 0 -0.350117 -1.61871 -0.185738 0 -1.72483 0 -0.560699 -0.115015 0.0906634 -0.0596499 -0.110889 -0.45549 -0.0781626 -0.215349 4.70164 17.0008 0.129201 0 0 0 0.177493 0.048957 0 0 0 0 0.541416 -11.4229 0.675964 -3.05231 -0.225889 0.0408535 -0.273627 0.061797 -0.0943719 0.171823 -0.398009 0 0 0 0 0 0 +14 0 -0.360831 -0.0323764 0.0247246 0.0922011 -0.0937539 0.0191402 -0.00977133 -0.134655 -1.8134 0.534012 0.070036 1.11833 -0.165537 1.33332 0.0859014 -0.236246 -2.05392 0.064546 0.437357 0.0937475 0.0909388 0.0479156 -0.0842365 0.576013 0.154091 -0.0052173 -0.115528 -0.0197894 -0.107472 0.391286 -0.49032 0.215804 -0.0224407 -0.68737 0.0973663 0.0583622 -0.114608 -1.3143 0.168803 0.000614598 -0.17634 -2.18501 0.148003 4.10654 -0.204614 -0.00174825 -0.0431387 1.04419 -0.0542582 0.875643 1.0246 0.893025 -1.39882 0.0482768 -0.012478 0.167341 -1.12577 0.372293 -0.850319 0.024352 0.728422 0.169802 0.0912345 1.79032 -0.679794 -0.468785 -2.09532 0.417792 2.2887 0.000547628 0.229903 0.0449257 0.358037 0.81019 0.00305944 -0.279962 5.80864 -0.0584615 0.243582 -0.685418 0.223497 0.274363 -0.344856 -0.254808 0.209691 -0.514139 0.0716785 -0.0468577 0.0275614 -0.0162899 0.00917822 0 0 0 0 0 0.0247246 0.0922011 -0.0126745 0 0 0 0 -0.00328926 0 0.0291657 0 0 -0.000959255 -0.0142722 0.096627 0 0.0136195 1.06 0.274995 0 0 1.73126 -0.000649729 0 0.204086 7.00196 0 0 0.221197 2.69513 0 0.326197 0 0.618185 0 0 0.0762646 0 0 0.391743 -0.0656584 -0.0186367 0 -0.23839 0.0260846 0 0 0.447215 0 -0.00766656 -1.0004 -0.0273554 0 0 -0.0034553 0.0341754 0 0.0468895 0.607507 0.00307607 -4.5769 -0.0275743 0.0488413 0 -0.126849 -0.107715 0.722221 -0.285118 -0.142538 0 0 0 -10.0698 -0.574582 -1.74785 -0.0460902 -0.0577367 -0.00246348 0.000427544 -0.00123193 0.00232103 -0.0272104 0 0 0 0 0 0 -0.0937539 0 0.0191402 0 0 0 0 -0.0379776 -0.948336 0 0 -0.298171 0 -0.0304727 0 -0.0192381 0 0 0.0333784 0 -0.113881 -0.0242694 -0.0419105 0.00371701 0 0 -0.159549 0 -4.29269 0 -2.06952 0.00264889 0 -0.0927754 -0.567024 -0.00266828 0 -0.00903598 0 0 -0.11156 0 -0.543839 0.14633 0 0 0.024392 0 0 -0.304196 0.915784 -0.171196 0 -0.838088 0 0.0814484 0.0970918 0.0905956 -0.120931 -0.104641 0.327342 0.165942 0.108845 0.600114 -0.552073 0.0866875 0 0 0 -0.0415845 -0.127275 0 0 0 0 0.264042 19.7971 4.13295 -0.625901 1.16785 -0.526215 0.647859 0.301294 -0.170951 0.170054 -0.0174692 0 0 0 0 0 0 +15 0 -1.74981 -0.180366 0.19479 -0.141343 -0.0472079 -0.0341252 0.191641 0.460052 -0.0609859 0.822719 0.0158986 0.840814 -0.50052 0.255554 -0.00418887 1.50318 2.57965 -0.209189 -0.141686 -0.515926 -0.16209 0.17329 0.593498 0.533957 0.334929 0.609663 -0.0242707 0.00543818 0.0206274 0.202934 0.723957 0.171332 1.23261 -0.315158 0.106786 0.0312357 -0.647567 6.99018 0.0539241 -0.138911 -0.392623 -2.06232 0.115436 1.80929 -0.269384 -0.0341018 0.00848065 0.70482 -0.18143 0.728863 -0.384145 -6.85084 -0.537922 -0.20894 0.0820144 1.51728 -1.66906 0.582454 -0.21626 0.366449 1.06604 -0.52778 -2.19585 1.04007 -0.73044 0.486711 -0.935033 0.39592 0.0415486 -1.4075 -0.0265205 0.0760188 1.73671 1.41801 -0.0364445 -3.42038 -27.2244 -3.40676 -0.797515 -4.43193 4.10085 -6.50138 -0.898504 0.326861 -0.392984 -0.06427 0.0943683 -0.0322095 0.00788987 -0.000559474 -0.00176161 0 0 0 0 0 0.19479 -0.141343 -0.00147558 0 0 0 0 0.00220936 0 0.00148894 0 0 -0.00110761 -0.0890817 -0.0623125 0 -0.0146898 0.136818 -0.0254981 0 0 -0.360488 -0.0045075 0 -0.876518 -1.59451 0 0 -0.0547433 -0.310649 0 -1.50303 0 -0.375908 0 0 -0.0527484 0 0 -1.27408 0.0379102 -0.0247951 0 -0.0347726 0.171463 0 0 -0.708545 0 0.0072796 0.223667 0.00875984 0 0 0.00397294 0.00977134 0 -0.0282408 -0.112282 -0.0185688 1.22572 0.0614324 0.0152873 0 0.000355272 0.0228722 -0.128228 0.0471051 0.157396 0 0 0 11.2624 0.711635 0.897134 0.0483099 0.0573723 0.0673784 0.00205828 0.00189779 -0.00234957 0.00958323 0 0 0 0 0 0 -0.0472079 0 -0.0341252 0 0 0 0 -0.0125519 0.0550934 0 0 0.195177 0 0.00988143 0 0.00317 0 0 -0.037554 0 0.0377387 0.0234714 0.0424065 -0.00197988 0 0 0.00481324 0 -0.632316 0 2.89844 0.0223073 0 -0.103758 0.47372 0.00245101 0 0.00443619 0 0 0.020623 0 0.00812677 -0.304397 0 0 -0.0281381 0 0 -0.203358 -2.2523 0.106201 0 -0.56297 0 0.581282 -0.101024 0.0230202 0.363188 0.0121617 -0.649084 -0.964466 -0.0649957 -0.701258 -4.48499 -0.109519 0 0 0 -0.0926339 0.0599341 0 0 0 0 -0.0252643 -24.8125 -3.55909 1.50192 -1.9606 1.42751 -1.64924 -0.178869 0.15939 -0.163631 0.0868871 0 0 0 0 0 0 +16 0 -0.270966 -0.184027 -0.0604575 -0.0905579 0.108126 0.0158779 0.125162 0.40223 -3.1684 -0.433939 0.07774 0.333083 -0.103485 0.13427 0.107466 -1.60091 -4.80384 -0.126646 0.71951 -0.854627 -0.0484486 0.0237904 -0.486728 -0.25165 0.157382 -0.524219 -0.188433 -0.00190345 -0.220031 0.00350511 -1.29359 0.250847 0.0358596 -0.684426 0.0215307 0.0259091 -0.920623 0.611157 0.429761 -0.0969294 -0.308759 -2.85819 0.166827 1.29192 -0.812682 -0.003997 -0.0355014 1.73562 0.2048 -0.237984 0.24083 1.29722 -2.07015 0.158133 -0.0711534 1.77113 0.690086 1.34129 -0.198567 -0.313779 0.629697 -0.868479 0.226523 -0.104136 0.352967 -0.389257 0.703953 -0.392965 3.7119 -1.14959 0.403254 -0.100883 0.5074 -0.287565 0.0307212 0.85471 0.084667 0.48827 0.166338 1.1625 -0.425134 0.355631 -0.284864 0.166971 -0.0684344 -0.125126 0.284692 -0.143951 0.0732417 -0.0369448 0.0187909 0 0 0 0 0 -0.0604575 -0.0905579 -0.0129651 0 0 0 0 -0.00634987 0 -0.0285368 0 0 0.00265261 0.0272867 -0.0618557 0 -0.0107882 -0.392857 -0.162714 0 0 -0.654163 0.0015121 0 0.0116914 -4.49546 0 0 -0.0917846 -1.47753 0 0.0760712 0 -0.262716 0 0 -0.0361496 0 0 0.216779 -0.122143 0.0465453 0 -0.252922 -0.067637 0 0 -0.352807 0 -0.0154046 -1.27452 0.0217599 0 0 -0.00545827 0.0280088 0 -0.0296826 -0.0495605 -0.0310996 -1.29359 -0.164827 0.028381 0 0.01487 0.0716928 -0.229016 0.113973 0.0846319 0 0 0 -1.53676 -0.267678 0.636298 -0.00946113 -0.00249218 -0.0259062 -0.00212472 -0.00143468 -0.00446985 0.0155541 0 0 0 0 0 0 0.108126 0 0.0158779 0 0 0 0 0.0382177 -0.359555 0 0 -0.0389935 0 0.00262022 0 -0.0020522 0 0 0.0281428 0 0.0185873 0.0178359 -0.00902641 0.00167759 0 0 -0.0355253 0 -1.60602 0 0.208259 -0.0629378 0 0.0766525 0.0147731 0.000370438 0 0.00637339 0 0 -0.0266552 0 -0.192161 0.0950722 0 0 0.0145409 0 0 0.0883956 2.1377 -0.0814091 0 -0.00931382 0 -0.273262 0.0101873 0.0351078 -0.0616229 -0.0728945 -0.0530757 0.564867 0.0081787 0.108821 2.71833 0.0473585 0 0 0 -0.0639352 0.0157499 0 0 0 0 0.115802 2.05383 0.419007 -0.360624 -0.177772 0.0642749 0.109284 -0.0586237 0.0504371 -0.0151968 0.0355482 0 0 0 0 0 0 +17 0 0 0 0.212765 -0.247103 0 0 0 0 1.90144 0.443722 -0.270175 0 -0.405172 0 0.0329873 0 0 0.0504901 0.492016 0 -0.00617227 0 0.886639 0.0596703 0 0 0.815085 0 0 0 1.30839 -0.029645 0 1.61341 0 0.00610689 2.69664 0 -0.6611 0 0.00738461 5.69819 0.13687 0 2.45333 0 0 0.342499 0.849535 0 0.824258 0 0.874398 0.39809 0.409169 0 -0.433413 -0.501445 -0.141877 -0.628759 0 0 0 0 -0.610755 0 0.195522 2.62967 -3.72972 0.886809 0.0212973 -0.239565 -2.59791 0 0 -0.739295 0 0.617411 0 -5.09291 1.74743 0 -4.46389 1.71525 -0.0210415 0 -7.5895 3.97874 -3.02236 1.19652 0 0 -0.266115 -0.0356754 0.0482922 0.0052401 0.212765 -0.247103 -0.0656318 0.0565692 0.293856 0.00089649 0.0060006 -0.00267657 0.011479 -0.0619308 -0.0483397 0.00881545 -0.00489196 0.0599662 -0.253135 -0.521458 -0.0596328 1.26537 -0.187417 -0.00424296 0.323179 2.39854 0.0012312 -0.000532543 0.0385404 7.69227 -0.200986 -0.00589575 0.336841 3.41692 0.0395879 0.578348 0.0347478 0.80927 -0.0251328 -0.00147217 0.102588 0.0706185 4.92759e-05 1.08917 -0.0564824 -0.00961521 0.00456252 -0.725585 0.210018 0.041047 0.028912 -0.159788 -0.0580094 0.0377183 0.208707 -0.111394 0.157081 -0.0951465 0.00686678 0.347284 0.0108385 -0.0142693 -0.397972 -0.0263042 -4.62628 0.140562 0.0175739 0.0638331 -0.149648 0.273229 -2.52815 0.977903 -0.174669 -0.0424185 -0.114983 -0.0243863 -0.930114 -0.00946623 0.282982 -0.156304 0.16482 -0.0721522 0.0139157 -0.0158248 0.00649672 -0.0102697 -0.0174991 0.0192614 -0.0148423 0.00485937 0.0583008 0 0 0.0482922 0 0.0052401 0 0 0.406647 0 0.317393 0.0901651 -0.00782472 0.194512 0.0135066 0.00961929 0.0473058 -0.0184719 -0.0372978 0.602327 0 0 0 0 0.105335 0 -0.140367 0 -0.109714 0 0 -0.103642 0 0 0.00262537 0 0 0.0185053 -0.0064105 0 -0.0164844 0 0.0593789 0 0 0 -0.00296153 -0.04555 0 0 -0.129992 0 0 0 0.202435 0 -0.247488 0 -0.342808 0.408802 0.127298 0 0 -0.125017 -0.0298886 -0.713448 0 0.0795669 0 -0.0622147 0 -0.228533 0.0882673 0.181669 -0.0899495 -0.114944 0.0997537 0.155673 0 -0.677388 0 -3.68875 0.742404 0 -1.63313 0.704392 -0.268216 0 -1.7241 0.928037 -0.474432 0.0761165 0 0 +18 0 0 0 0.0170252 0.0251478 0 0 0 0 -3.27233 -1.78056 0.190677 0 -0.408804 0 0.0862514 0 0 -0.364901 0.960776 0 -0.0756892 0 -0.56623 -0.465425 0 0 0.0129813 0 0 0 -1.4562 -0.692185 0 -0.333989 0 0.0643235 0.177563 0 1.17549 0 -0.865098 -0.162913 0.282639 0 -2.68729 0 0 0.132767 -1.09976 0 -1.79966 0 -0.56313 -0.481657 -0.0451481 0 0.00729078 0.621319 1.77339 1.3606 0 0 0 0 -0.29862 0 0.455165 1.02177 5.17635 -0.113288 -1.71709 0.509904 2.80622 0 0 2.77689 0 5.85542 0 9.27 -2.72474 0 5.43163 -2.82224 2.7413 0 6.82766 -4.18246 4.37396 -2.32787 0 0 0.0278102 0.00688175 -0.0592334 -0.00576325 0.0170252 0.0251478 0.0498477 -0.0172671 0.272119 -0.000667838 -0.00157958 -0.00799829 -0.00861553 0.0025398 0.0089818 -0.00519899 -0.00685408 0.0526119 0.120802 0.0656159 0.0227879 0.542835 0.110879 0.00101293 -0.162123 -0.194067 0.0128278 0.00665277 0.0832237 1.35749 0.145641 0.0179547 -0.0287789 0.777423 0.0180991 0.000563703 0.0347912 0.0651418 0.0351835 0.112361 0.0232254 -0.0345594 -0.000326606 -0.234485 -0.174478 -0.109752 0.00334828 0.161893 -0.066804 -0.0582627 0.0546766 0.144062 0.0682334 0.143773 0.451906 -0.176613 -0.0205277 -0.0734932 -0.0133563 -0.115073 0.05157 -0.0661745 0.0899957 0.0434338 -4.01361 0.25931 -0.0665869 -0.0303287 -0.235447 0.0605575 -0.178311 -1.28315 -0.387027 -0.0394232 0.0340696 0.0117321 0.200242 -0.234596 -0.0910378 0.326982 -0.375229 -0.0281773 -0.0220996 0.0411602 -0.040174 0.0110575 0.00778003 -0.032954 0.0658127 -0.0679684 -0.0422467 0 0 -0.0592334 0 -0.00576325 0 0 -0.189999 0 -0.532728 -0.0744945 -0.00267574 -0.649663 -0.0118171 -0.157074 -0.00308347 -0.0422441 -0.0240215 -0.462607 0 0 0 0 -0.397897 0 -0.0844357 0 -0.37638 0 0 0.388862 0 0 0.0037239 0 0 -0.0873209 0.00816752 0 0.0540746 0 -0.0840212 0 0 0 -0.00250756 0.0659794 0 0 0.0676036 0 0 0 -0.073181 0 0.120709 0 0.215006 -0.198522 0.455283 0 0 0.230474 -0.653431 -0.37836 0 -0.302422 0 -0.152067 0 -0.0921082 0.859861 -0.486716 0.47947 0.383347 0.00176755 0.210176 0 2.66054 0 3.05874 -1.51844 0 1.84615 -1.10202 0.622801 0 0.898041 -0.896975 0.806183 -0.466616 0 0 +19 0 0 0 0.189262 0.189109 0 0 0 0 1.36504 0.442469 0.535548 0 -0.370522 0 -0.042021 0 0 -0.0990019 0.0105129 0 -0.043313 0 0.484059 0.26036 0 0 0.460825 0 0 0 0.766535 -0.519071 0 0.60759 0 0.126117 2.04398 0 1.6876 0 -0.731311 2.95645 0.547868 0 -1.96524 0 0 -1.91699 -1.61605 0 0.534619 0 0.346652 -0.403405 0.542684 0 -0.70036 -0.756551 -0.388359 1.23746 0 0 0 0 -0.0777269 0 0.223192 1.70519 -1.26385 -0.830242 0.242843 1.95786 -0.479965 0 0 -0.154975 0 0.0692085 0 3.3734 -1.85187 0 1.50348 -1.13977 0.10709 0 6.17173 -4.74081 2.83762 -2.2943 0 0 0.186972 0.0249731 0.099655 -0.065262 0.189262 0.189109 0.0584183 0.0498355 -0.510098 -0.000613067 0.00417534 0.0096217 -0.0170508 -0.155514 0.0338483 -0.00606851 0.0319483 0.170246 -0.207644 0.36605 -0.055214 0.653789 -0.681753 0.00296442 0.474181 0.2146 0.0140292 0.0196269 0.135665 4.45618 0.533057 -0.00157724 0.0181088 2.04641 -0.0432829 0.532865 -0.0464219 0.399388 0.101626 -0.0739045 0.0249684 -0.0488209 -0.000703918 1.27481 0.146418 0.40601 -0.00432529 0.689521 0.322951 -0.0390823 -0.0322803 0.0504726 0.0996584 0.0180803 0.788907 -0.0709673 -0.110244 0.123697 -0.0258754 -0.204249 -0.203515 0.0255235 -0.395037 0.00231497 -3.13932 0.158368 -0.0443101 -0.0237624 0.209014 0.204081 -0.450964 -0.239792 -0.57702 0.0229798 0.0237465 0.016865 -1.08864 -0.476829 0.528648 0.0452547 0.0194863 -0.412501 -0.036801 0.0573098 -0.103631 0.19821 0.0121206 -0.0110653 -0.00222535 0.0278078 -0.154626 0 0 0.099655 0 -0.065262 0 0 -0.365964 0 -0.883435 0.0444626 -0.0824521 -0.80394 0.011557 -0.131646 -0.101826 -0.0339916 -0.10642 -0.0808466 0 0 0 0 -0.133656 0 -0.718543 0 0.00303763 0 0 -0.11427 0 0 -0.0183293 0 0 -0.0346632 -0.0075032 0 -0.0241072 0 -0.244006 0 0 0 -0.0144863 -0.0556901 0 0 -0.278646 0 0 0 0.117479 0 0.225062 0 -1.03697 0.371279 0.356513 0 0 -0.690319 -0.413057 0.220879 0 -0.258532 0 -0.226701 0 -0.217285 0.350098 0.0768363 -0.0854188 -0.154644 0.0999986 0.234774 0 5.12984 0 2.0032 -0.148567 0 1.71372 -0.676144 0.571896 0 0.21079 0.0210786 0.0744976 0.0643425 0 0 +20 0 -0.664041 -0.142974 -0.077982 -0.237593 -0.0113006 -0.0149252 -0.157169 -0.311337 -0.709411 0.355996 -0.125918 0.478537 -0.00941327 0.222154 -0.18855 0.722532 0.824916 -0.121649 -0.640762 -0.185155 -0.165181 0.169936 -0.0918513 -0.144726 0.0510313 0.272096 -0.565665 0.0244481 0.281106 0.0776259 -0.197528 -0.327108 0.648855 -1.2833 0.0178366 -0.0627471 -1.95434 2.21037 -0.214557 -0.0875657 -0.16236 -4.69832 -0.143488 1.23055 -0.693874 -0.0319187 0.0875728 -1.03102 -0.146254 -1.05238 -0.0423472 -2.41323 -0.99657 -1.1885 0.525955 -1.34688 0.252958 1.03739 0.225502 0.436371 0.371651 -0.0884381 0.815282 1.33107 2.51343 0.280674 -0.824183 -4.62691 0.862032 -0.424548 -0.0209966 -0.0644562 -0.686088 0.162306 -0.246462 -2.15754 -6.92874 -4.79517 1.54096 -3.36449 3.00133 -4.19743 -0.384312 1.33931 -2.07104 1.23422 2.45624 -0.1946 -0.190448 0.327644 -0.248823 0 0 0 0 0 -0.077982 -0.237593 -0.0106516 0 0 0 0 -0.00419195 0 -0.0184747 0 0 0.014192 0.093648 -0.120399 0 -0.00833317 -0.561358 -0.306559 0 0 -0.434492 0.00671901 0 -0.420283 -5.62875 0 0 -0.0400822 -1.95775 0 -0.647682 0 -0.213309 0 0 -0.0227165 0 0 -0.879867 -0.0561034 0.196075 0 -0.141836 -0.0373761 0 0 -0.16371 0 -0.031884 -0.194268 0.0900707 0 0 0.0097229 -0.0207137 0 -0.0254882 0.157033 -0.0027159 2.37614 -0.091554 0.028855 0 -0.0383865 -0.176 1.02266 -0.30437 0.0859864 0 0 0 3.5732 0.0205486 0.528975 0.0342449 -0.0267602 0.130778 -0.00882182 0.0158748 -0.0366863 0.0715826 0 0 0 0 0 0 -0.0113006 0 -0.0149252 0 0 0 0 -0.0262373 -0.129883 0 0 0.456178 0 0.0550053 0 -0.00791248 0 0 0.0421651 0 0.160689 0.00206478 0.0891129 0.00852214 0 0 -0.0550186 0 -2.68538 0 1.73266 -0.137137 0 -0.0269651 0.481072 0.010443 0 -0.00168455 0 0 -0.0210196 0 -0.637673 -0.247685 0 0 -0.0261718 0 0 -0.0263238 -0.837777 -0.0474207 0 -0.264484 0 0.976932 -0.272267 0.15898 -0.0067358 0.10836 0.409666 -0.896657 0.0772785 0.594711 -0.898423 -0.00420613 0 0 0 0.0726041 -0.0397331 0 0 0 0 -0.00724648 -15.9556 -4.50995 1.13287 -1.47875 1.22799 -1.37518 -0.507626 0.361327 -0.293796 0.00015456 0 0 0 0 0 0 +21 0 0.0319981 0.0247466 -0.109306 -0.0819507 -0.0954576 0.0619015 -0.428762 -0.189193 1.56837 -0.590189 0.0523884 -0.653902 0.401673 -0.711798 -0.155879 -1.45417 0.0752931 0.0756677 -1.08859 0.340839 0.0656193 -0.269414 -0.251807 -0.0586711 -0.297821 -0.756918 -0.3825 -0.0358223 -0.297913 -0.204919 0.248371 -0.295435 -1.0012 -0.243736 -0.176002 -0.0105996 -0.682269 -4.61515 0.0106153 0.164619 0.686268 0.061248 -0.110059 -1.14163 1.03235 0.0474963 -0.110433 -1.80568 0.359524 -0.883232 0.305911 9.04235 1.12005 -0.411291 -0.00465213 4.62924 2.04682 0.469472 -0.214305 -0.886371 -3.28229 -0.206011 1.58255 -1.25858 0.252309 0.293916 0.982599 -0.192404 -1.91451 2.397 -0.789512 -0.0568331 0.221332 1.05921 0.140429 2.08549 22.6993 9.49064 -2.52003 5.40095 -3.93035 5.34446 -0.0196561 -0.231347 1.18024 -0.0755316 -3.6544 0.835737 0.0703962 -0.251296 0.2637 0 0 0 0 0 -0.109306 -0.0819507 0.0569866 0 0 0 0 0.0326494 0 -0.0388385 0 0 0.0016407 0.000711028 -0.0665751 0 -0.024122 0.0535761 -0.0839282 0 0 0.164178 -0.000212128 0 0.509228 4.91229 0 0 0.0321313 1.28203 0 0.771246 0 -0.146424 0 0 -0.0152615 0 0 0.990266 0.455328 0.0334995 0 0.793052 0.147863 0 0 -0.377843 0 -0.00683746 0.469051 0.0131059 0 0 0.00695974 -0.163101 0 0.0332731 0.0228978 -0.0583603 -5.1546 -0.00799976 -0.0511421 0 0.0952529 -0.0579831 0.218323 -0.728887 0.00111731 0 0 0 -3.34467 0.200886 -0.434596 -0.0644447 0.146287 -0.369901 -0.000431242 -0.00549223 0.0194057 -0.034365 0 0 0 0 0 0 -0.0954576 0 0.0619015 0 0 0 0 0.143848 0.29172 0 0 -0.287058 0 -0.0480163 0 0.0193121 0 0 -0.0468329 0 -0.126102 0.0716949 -0.126678 -0.00448511 0 0 0.130446 0 0.487437 0 -0.35406 -0.230284 0 0.490406 -0.260063 -0.0173849 0 0.0188034 0 0 0.0614323 0 -0.403059 0.234883 0 0 0.0372332 0 0 0.125793 0.0556662 0.455702 0 -0.13549 0 -0.986118 0.363551 -0.410136 0.662349 -0.0302341 -0.443325 0.841532 -0.180188 -0.131032 -3.32678 -0.0314139 0 0 0 0.0172726 0.16491 0 0 0 0 -0.121393 0.611755 2.35198 -3.1231 0.685462 -0.661497 0.656368 0.238193 -0.289325 0.384881 -0.484742 0 0 0 0 0 0 +22 0 -0.598676 -0.010691 -0.352259 -0.23929 0.238855 0.133435 -0.390972 -1.32564 -2.59168 2.37765 0.397905 0.554755 0.338948 1.17176 0.06809 -0.160738 -2.50543 0.83181 0.123697 0.758533 0.436444 -0.16029 -0.692349 0.904638 -0.376851 0.0801798 -0.261895 -0.116163 -1.46845 0.15214 -1.20952 0.24457 -0.0658772 -0.730425 -0.13334 0.105297 -1.28351 1.95093 1.53883 0.305999 0.175737 -4.42263 0.423561 3.83522 -0.852582 0.103168 -0.407069 0.956007 -0.606416 0.827037 0.523654 -0.213321 -0.34422 0.543162 -0.882791 -4.47256 -0.796813 -0.194991 -0.607109 0.327091 0.00192599 -0.636362 -1.19431 2.10738 -0.200768 0.807808 -1.62347 0.0964505 2.73871 -0.839014 -0.865622 0.493735 2.79222 -1.75441 0.809064 3.53514 -10.8909 -6.01523 1.19941 -2.4593 0.571146 -1.43816 -4.15905 1.83431 -1.38711 0.919057 3.01805 -3.42937 2.97641 -1.89656 1.29981 0 0 0 0 0 -0.352259 -0.23929 -0.0470368 0 0 0 0 -0.0165785 0 -0.00308638 0 0 0.00514511 0.0409363 -0.13456 0 -0.0193249 -0.361886 -0.0818727 0 0 0.443661 0.00325371 0 0.179494 -2.28397 0 0 0.0659173 -0.949552 0 0.244696 0 -0.00332503 0 0 0.00419998 0 0 0.530561 -0.230046 0.0657267 0 -0.655266 0.0452114 0 0 -0.203317 0 -0.0234149 0.299421 0.0267602 0 0 -0.0155317 0.124392 0 0.0122806 -0.0355682 0.0463416 3.16628 -0.0702109 -0.01657 0 -0.0831276 -0.0129788 -0.291981 0.521939 0.172351 0 0 0 -1.83492 -0.0646533 -0.00176 -0.045901 0.0808906 -0.170597 -0.00698498 0.0121071 -0.0239276 0.0316654 0 0 0 0 0 0 0.238855 0 0.133435 0 0 0 0 0.0310147 -0.680926 0 0 0.349674 0 0.0532498 0 -0.00408824 0 0 -0.222002 0 -0.191356 -0.0578038 -0.0813163 -0.0275882 0 0 -0.00505234 0 -2.55743 0 -0.399684 -0.0891882 0 -0.38256 -0.266744 -0.00805741 0 0.0011949 0 0 -0.0932367 0 -0.28721 -0.297028 0 0 -0.0377906 0 0 -0.238325 -1.43025 -0.375362 0 -0.721113 0 0.557721 -0.265946 0.31828 -0.386715 0.136449 -0.483378 -0.654664 0.0830981 0.773762 1.73743 -0.116226 0 0 0 -0.0258604 -0.128858 0 0 0 0 0.216815 10.6931 1.13831 0.173318 0.879573 -0.606023 0.497181 -0.261285 0.198613 -0.236538 0.286016 0 0 0 0 0 0 +23 0 0 0 0.180461 0.0875027 0 0 0 0 -0.0619498 -1.23643 -0.0924002 0 -0.332654 0 -0.0639647 0 0 -0.564226 -0.136511 0 -0.309284 0 0.432248 -0.605707 0 0 0.39927 0 0 0 0.471023 -0.279184 0 0.304763 0 0.00651134 1.27273 0 0.189967 0 -0.352637 1.17805 0.171366 0 0.0431431 0 0 -0.0479351 0.0148412 0 -0.89432 0 -0.236533 0.0116901 0.0617325 0 0.266737 1.22889 0.550112 0.0815072 0 0 0 0 0.1429 0 0.844935 1.07723 -0.103484 1.22588 0.247258 0.127508 -1.06878 0 0 -1.40224 0 2.13807 0 -0.12411 0.304362 0 1.59883 -1.1322 2.29351 0 0.726687 -0.281463 0.385471 -0.312596 0 0 0 0 -0.125562 0.00677147 0.180461 0.0875027 0 0.0419417 0 0 0.00887088 0 0 -0.109655 0 0 0 0 -0.325014 0 -0.0666747 1.16389 -0.539822 0 0.188977 -0.0197991 0 -0.00603468 0.561227 4.37501 -0.0613237 0 0.0162447 2.32658 0 0.821756 0 -0.0896296 -0.0186817 0 -0.010376 0 0 1.1997 0 0 0 0 0 0 0 -0.309274 0 0 -0.802185 0 0 0 0 0 0 0 0.0722602 0 -3.84715 0 0.0997353 0.0254288 0 0.10859 -0.49648 0 -0.0870648 0 0.0759879 0 -2.74739 0 0.610724 0 0 0.0185158 0 0 0 0.023642 0 0 0 0 0.00528562 0 0 -0.125562 0 0.00677147 0 0 0.189423 0 0.697503 0.0134184 0.0562856 -0.408781 0.00122711 0.014666 0.0370667 0.026845 0.075897 0.0730907 0 0 0 0 -0.295266 0 0.391588 0 -0.102824 0 0 0.158222 0 0 0.00613138 0 0 -0.00858199 0.0026039 0 0.00524051 0 0.206522 0 0 0 0.0111576 0.026124 0 0 0.200037 0 0 0 -0.168238 0 -0.105329 0 0.172628 0.157417 -0.458971 0 0 0.844958 -0.033672 -0.0183786 0 0.259382 0 0.153119 0 0.356729 -0.0615895 -0.0499094 -0.0300158 0.22541 -0.0559316 -0.669031 0 1.13858 0 -0.590091 -0.18835 0 -0.117313 -0.147442 0.533402 0 -0.106155 0.0274007 0.0664388 -0.0525278 0 0 +24 0 0 0 -0.377229 0.179532 0 0 0 0 -0.860779 3.01483 0.273422 0 0.642216 0 0.0800831 0 0 1.00609 0.459991 0 0.596975 0 -0.813591 1.93163 0 0 -1.159 0 0 0 -0.988585 0.339362 0 -2.0488 0 0.00388342 -3.26987 0 0.463837 0 0.852819 -6.88778 -0.177595 0 0.589656 0 0 0.668296 0.224213 0 1.53412 0 -0.444866 0.414888 -0.356242 0 -0.0119706 -0.25192 -2.24318 -0.763534 0 0 0 0 1.86791 0 -1.10979 -3.84838 0.539223 -4.04937 0.0643077 0.275804 3.17873 0 0 3.11048 0 -5.99398 0 -1.57136 -0.500757 0 -4.6937 1.95176 -1.53245 0 -1.9795 0.437746 -0.298122 -0.458726 0 0 0 0 0.0946151 -0.0104764 -0.377229 0.179532 0 -0.0161018 0 0 -0.00272277 0 0 0.124591 0 0 0 0 0.522876 0 0.0816185 -1.62827 0.801546 0 -0.0649998 0.99494 0 0.00548297 -1.20438 -1.11375 -0.0342185 0 0.114164 -1.61298 0 -1.81973 0 0.69402 0.0103017 0 0.0937854 0 0 -2.75029 0 0 0 0 0 0 0 0.296549 0 0 0.893438 0 0 0 0 0 0 0 0.143884 0 4.22857 0 -0.113948 0.00373456 0 0.032837 1.8019 0 0.074119 0 0.00393226 0 6.29836 0 -0.900855 0 0 0.157708 0 0 0 -0.0343326 0 0 0 0 0.00294937 0 0 0.0946151 0 -0.0104764 0 0 -0.805702 0 -0.338547 -0.0126815 0.0516877 0.183586 0.00123453 0.0750344 -0.121953 -0.0166193 0.0359649 -0.286553 0 0 0 0 -0.00815224 0 0.325791 0 0.125504 0 0 0.23446 0 0 -0.017472 0 0 0.0130877 0.00161452 0 0.0267841 0 -0.143327 0 0 0 0.00549718 0.0159305 0 0 0.162368 0 0 0 -0.254371 0 0.581965 0 0.0577953 -0.0356276 -0.466092 0 0 -0.136283 0.353196 0.00602802 0 0.257662 0 -0.00971212 0 -0.179182 -0.451757 -0.120826 0.0151394 0.227378 0.0606733 0.584508 0 -0.174066 0 0.712645 -0.68614 0 0.188573 -0.162444 0.0568077 0 0.236005 -0.153319 0.0649182 -0.0210479 0 0 +25 0 0 0 0.0423217 0.201305 0 0 0 0 0.188413 -0.685615 -0.301 0 -0.0586579 0 0.026227 0 0 -0.248593 -0.508911 0 -0.293011 0 0.0980494 -0.697499 0 0 -0.129505 0 0 0 0.211375 0.441133 0 0.138955 0 -0.0683124 -0.96087 0 -1.33759 0 -0.0145303 -0.911677 -0.320536 0 0.566477 0 0 0.46428 0.812184 0 0.0867564 0 0.231285 -0.216459 -0.0649416 0 0.20767 0.13392 0.628273 -0.0876843 0 0 0 0 -0.179356 0 -1.30793 -0.89734 -0.399151 0.852676 -0.00805945 -1.22262 0.298443 0 0 0.411877 0 1.40076 0 -0.148 2.31464 0 1.46652 0.500953 0.0555742 0 -0.47606 1.32101 -0.568423 1.03281 0 0 0 0 0.126351 0.0297198 0.0423217 0.201305 0 0.0641535 0 0 0.0132029 0 0 0.00377794 0 0 0 0 -0.100052 0 -0.00918809 -0.920157 -0.00874333 0 0.305654 -0.929199 0 -0.0105493 0.143078 -5.01442 -0.319041 0 -0.0647195 -2.72466 0 0.177037 0 -0.953137 -0.0618239 0 -0.125028 0 0 0.20836 0 0 0 0 0 0 0 0.0744826 0 0 0.19749 0 0 0 0 0 0 0 -0.177767 0 1.44096 0 0.0237017 0.0397082 0 0.161264 -0.511899 0 -0.155522 0 0.121063 0 -0.477159 0 0.0087277 0 0 0.356334 0 0 0 0.00234246 0 0 0 0 0.0274988 0 0 0.126351 0 0.0297198 0 0 0.0151998 0 0.648205 -0.0107062 0.0688384 0.160883 -0.00277167 0.046437 0.0483922 0.0698703 0.0255112 -0.0448279 0 0 0 0 0.21382 0 0.456565 0 0.186622 0 0 -0.0844712 0 0 0.0127466 0 0 0.036325 0.000788246 0 -0.00643069 0 0.202593 0 0 0 0.00616243 -0.000192459 0 0 0.0844742 0 0 0 -0.117104 0 -0.0128542 0 0.0189423 0.0233182 -0.198471 0 0 0.341053 0.203972 -0.642027 0 0.0226434 0 0.0181132 0 0.0754415 -0.0869222 0.0250199 0.0113062 -0.00623328 -0.0239694 -0.437684 0 0.477537 0 -0.196662 0.545437 0 -0.0506475 0.0354918 -0.00877514 0 -0.0787613 0.0763701 -0.0646958 0.0641525 0 0 +26 0 -0.332795 -0.653979 -0.353377 -0.150159 0.0315656 0.0789199 -0.897972 -1.93497 -0.611622 2.21667 0.0293377 -0.0913842 0.56941 -0.947359 0.0345107 -3.43145 -11.9639 1.07478 0.154352 -0.199169 0.671455 0.625686 -0.735105 1.30686 -0.614088 -1.16808 -0.411527 -0.0265658 -0.288922 -0.213156 -0.875864 0.0309597 1.17255 -0.853083 -0.212689 -0.0294574 -0.92605 2.30689 -0.0139686 -0.0476591 0.678441 -2.47191 -0.227642 -1.01813 0.47376 -0.00990424 -0.090548 -0.0138936 0.0993809 -2.15982 1.06765 12.7309 -0.0358915 0.0328951 0.0334114 1.14254 -0.230068 0.0272054 -1.22358 -0.409352 1.18564 -0.211923 -0.785249 1.97962 1.13605 0.450747 -1.38289 -0.91727 0.446639 -1.79576 0.252577 -0.0233225 1.09165 1.2902 0.0142106 3.34391 -9.20819 -6.58232 3.73076 -3.65635 1.04951 -0.0402383 -3.05904 1.65045 -1.56823 2.71155 -1.36139 0.363952 0.16463 -0.20233 0.305523 0 0 0 0 0 -0.353377 -0.150159 0 0 0 0 0 0 0 0.0115632 0 0 0 0 0.0820376 0 0.0125616 -0.382652 0.0985183 0 0 -0.241678 0 0 0.150966 -1.99201 0 0 -0.0351163 -0.890587 0 0.0807459 0 -0.0789292 0 0 -0.0102808 0 0 -0.102064 0 0 0 0 0 0 0 -0.00527704 0 0 0.134483 0 0 0 0 0 0 0 -0.0599054 0 1.37465 0 -0.0109327 0 0 -0.0119363 0.00437626 0 -0.0894015 0 0 0 0.233735 0 -0.112178 0 0 0.00439857 0 0 0 -0.00424575 0 0 0 0 0 0 0.0315656 0 0.0789199 0 0 0 0 0.0596976 -0.632172 0 0 0.136406 0 0.0152225 0 -0.00744932 0 0 0.0320671 0 0.0666348 0.000739183 -0.00608167 0.00368508 0 0 -0.044044 0 -3.61191 0 0.782237 -0.226171 0 0.146525 0.128799 0.000179422 0 0.00428714 0 0 -0.0756291 0 -1.0161 0.560368 0 0 0.0653709 0 0 0.231225 0.0623025 0.230768 0 -0.00886203 0 0.71037 -0.0474719 -0.0190384 -0.0921378 -0.0278931 0.239176 -0.238185 0.0365989 0.45536 2.81059 0.0246148 0 0 0 -0.190897 0.000693634 0 0 0 0 0.179912 -8.74212 -1.28979 -0.489025 -0.0846331 -0.0393118 -0.0854843 -0.0417574 0.0375623 -0.0375145 -0.063283 0 0 0 0 0 0 +27 0 -0.107555 -0.566413 -0.0349551 -0.0148533 0.0317719 -0.0484345 0.271729 1.09496 -0.0605 -0.806316 -0.156614 -0.395096 0.0563246 -0.857254 -0.117436 -2.31827 -10.4201 0.182568 -0.593171 -0.0513622 0.0881501 0.540213 -0.0727147 -0.347515 -0.124244 -0.597012 0.0584315 0.0348639 0.556239 -0.177832 -0.0866382 -0.233566 1.53778 -0.000728786 -0.0602213 -0.084381 0.140818 4.67573 -0.491875 -0.0485797 0.0671096 -0.0903328 -0.27302 -2.38074 0.0468631 -0.0125576 0.142061 -1.19272 0.374588 0.0895191 0.545017 -0.033502 0.576441 -0.528316 0.323458 -0.506477 -0.229442 -0.129857 0.332219 -0.040492 0.221173 -0.0400136 -1.32387 2.46829 -0.0426362 -0.223667 -1.80418 0.182557 0.0441804 1.2492 -0.0205336 -0.337673 -0.0401603 0.365614 -0.205517 -0.229735 -17.1602 -1.48747 -2.14236 -3.60286 3.36429 -5.38629 1.11014 0.141975 -0.476276 -0.793359 -0.134665 0.740739 -0.823979 0.663819 -0.5882 0 0 0 0 0 -0.0349551 -0.0148533 0 0 0 0 0 0 0 0.0238922 0 0 0 0 -0.00358268 0 0.0128605 0.526821 -0.0131592 0 0 -0.976887 0 0 0.775073 -0.393852 0 0 -0.13149 0.414474 0 1.32995 0 -0.49451 0 0 -0.0663969 0 0 2.2525 0 0 0 0 0 0 0 -0.262147 0 0 -0.143805 0 0 0 0 0 0 0 -0.137485 0 -3.39281 0 0.0031119 0 0 0.00253305 -1.02067 0 -0.0281211 0 0 0 -5.15839 0 0.00118978 0 0 -0.0970739 0 0 0 0.00056711 0 0 0 0 0 0 0.0317719 0 -0.0484345 0 0 0 0 0.0564945 -0.797297 0 0 -0.196332 0 -0.0148635 0 -0.0200483 0 0 0.1033 0 0.027239 0.0617571 -0.0023086 0.010958 0 0 -0.176417 0 -2.66072 0 0.974186 -0.164784 0 0.51078 0.131625 0.000476605 0 0.00827302 0 0 -0.094673 0 -0.514707 0.410344 0 0 0.0499459 0 0 0.31473 -1.18526 0.29718 0 -0.545618 0 0.0839808 -0.00420444 -0.0917142 -0.499623 -0.0189451 0.336136 -0.166172 -0.00866277 1.06721 2.24367 0.0151145 0 0 0 -0.244546 0.00237707 0 0 0 0 0.337416 -6.25095 0.644462 -2.55917 -0.0815529 0.113493 -0.462888 0.0805737 -0.0698856 0.0843566 -0.213826 0 0 0 0 0 0 +28 0 0.180002 0.00377013 -0.143963 -0.0611736 0.18233 0.107247 -0.5022 -1.88698 -0.24917 2.0986 0.178232 0.363114 0.231974 0.425923 0.0607121 0.280851 1.68155 0.636924 0.198073 0.0763437 0.396274 0.302782 -0.299477 1.11061 -0.286547 0.00836988 -0.16805 -0.0490078 -0.613757 0.100661 -0.356821 0.10396 0.774668 -0.254866 -0.0245851 0.0729212 0.124624 2.10952 0.551534 0.0189056 0.276392 -0.0328085 0.191843 1.92693 0.193007 0.0113859 -0.181389 0.25905 -0.373896 -1.43676 0.470193 4.03327 -0.143492 0.131513 0.0654416 0.576053 0.302001 0.1866 -1.17411 -0.166767 0.656011 -0.081561 -2.90261 0.321647 0.428283 -0.0368927 -0.532031 0.194537 0.181958 -1.961 0.438567 0.434081 -0.111077 0.380109 -0.0728182 0.813333 -11.0796 -8.35462 5.20469 -4.19372 0.505693 0.894438 -2.92047 0.7688 -0.601246 1.6329 -0.554621 -0.652345 0.779794 -0.737112 0.649022 0 0 0 0 0 -0.143963 -0.0611736 0 0 0 0 0 0 0 -0.0237594 0 0 0 0 -0.0835736 0 -0.00942268 0.492783 -0.188945 0 0 0.900124 0 0 0.124016 4.69739 0 0 0.130112 1.67899 0 0.141306 0 0.477836 0 0 0.069568 0 0 0.143291 0 0 0 0 0 0 0 -0.0743167 0 0 -0.240364 0 0 0 0 0 0 0 0.211398 0 -2.58563 0 0.0132144 0 0 0.0322808 0.283791 0 0.145607 0 0 0 -0.328148 0 0.215466 0 0 -0.00617529 0 0 0 0.00814278 0 0 0 0 0 0 0.18233 0 0.107247 0 0 0 0 0.0539495 -0.184293 0 0 0.0313978 0 0.00528473 0 0.00811384 0 0 0.0627081 0 0.0126638 -0.0107466 -0.0364938 0.0089678 0 0 0.0509382 0 0.216031 0 0.0166813 0.000862685 0 -0.152885 0.11064 -0.00459549 0 0.00900001 0 0 -0.00690647 0 -0.0969475 0.800595 0 0 0.0966626 0 0 0.18788 -0.178211 0.0507365 0 0.144827 0 0.187662 0.0414583 -0.0635818 -0.116349 -0.0330439 -0.0377057 -0.0662467 0.070382 -0.103926 -1.2171 0.00900138 0 0 0 -0.108162 -0.0168885 0 0 0 0 0.0546808 2.89613 -0.476242 1.76349 -0.0564686 0.0374077 0.123466 -0.0459607 0.0420156 -0.0446366 0.1065 0 0 0 0 0 0 +29 0 0.712197 0.748153 0.188621 0.0794154 -0.0967727 0.0114742 0.0712754 -0.0255796 0.323852 -0.413029 0.0815176 0.264179 -0.305585 0.809119 -0.0280419 1.70613 5.66456 -0.674498 0.146565 -0.280479 -0.41363 -0.874085 0.394509 -0.45165 0.325348 0.788461 0.0301461 -0.0224239 -0.408667 0.166236 0.467644 -0.0117842 -2.20001 0.155918 0.117037 0.0566687 -0.654724 -5.75726 0.384499 0.00203256 -0.362235 -0.653024 0.298661 2.26552 -0.250855 0.00692612 -0.0938016 0.589058 -0.326833 0.81782 -1.10476 -9.14191 -0.246397 0.225827 -0.17833 -0.428304 -0.544527 0.0920285 0.298597 0.217005 -0.00776231 0.0482806 -0.207482 -1.89841 -0.1694 -0.140264 0.51086 -0.724351 -0.236772 -1.14913 0.0336156 0.182296 0.42118 0.236624 0.115177 -2.69963 21.9694 4.8651 1.05639 6.06362 -5.1052 8.93223 0.830265 -1.23444 1.77212 -1.03157 0.722548 -0.710668 0.682772 -0.400062 0.306991 0 0 0 0 0 0.188621 0.0794154 0 0 0 0 0 0 0 -0.0273299 0 0 0 0 -0.0574396 0 -0.0187712 -0.316601 -0.074632 0 0 0.829929 0 0 -0.687522 0.89441 0 0 0.101978 -0.278846 0 -1.0762 0 0.324703 0 0 0.0369298 0 0 -1.68235 0 0 0 0 0 0 0 0.341142 0 0 0.353742 0 0 0 0 0 0 0 0.141637 0 -0.168267 0 0.0181007 0 0 0.0113352 0.556464 0 0.175822 0 0 0 3.8527 0 0.0958216 0 0 0.0725025 0 0 0 0.00321634 0 0 0 0 0 0 -0.0967727 0 0.0114742 0 0 0 0 -0.0151586 0.774583 0 0 0.0285995 0 -0.00113436 0 0.0155621 0 0 0.0370732 0 -0.0850408 -0.0259889 0.0034734 0.00544723 0 0 0.128431 0 5.40932 0 -2.10166 0.288483 0 -0.139853 -0.551441 -0.000842026 0 -0.00237207 0 0 0.0881486 0 0.950859 0.236104 0 0 0.0318051 0 0 0.0161718 0.799737 0.0501295 0 0.972863 0 -0.332345 0.0397738 -0.0575745 0.0411964 -0.0335249 0.37512 0.227226 -0.033414 -1.12011 -2.37654 0.0632781 0 0 0 0.103604 -0.00804579 0 0 0 0 -0.238616 14.238 -0.398841 2.84308 0.209504 -0.42942 1.85139 -0.0449878 0.019905 0.0246316 0.14682 0 0 0 0 0 0 +30 0 0.123552 0.303986 0.255286 0.107483 0.0628998 -0.0558254 0.586135 1.3216 0.438312 -1.96056 -0.0456424 -0.0155147 -0.413589 0.716904 -0.0809849 2.09512 7.24938 -0.67309 -0.428253 0.217376 -0.455606 -0.197503 0.533941 -1.21164 0.288837 0.654113 0.376388 0.0122949 0.270846 0.171937 0.632924 -0.09985 -0.327202 0.857302 0.1121 -0.00329874 0.571572 -0.97435 -0.152614 0.0509939 -0.490261 2.12648 0.059039 0.154415 -0.339515 0.0108772 0.0554496 -0.424489 0.0587268 1.14547 -0.599357 -1.52489 0.262004 -0.240131 0.0176815 0.0864323 -0.371512 -0.196646 1.13356 0.293702 -0.668922 0.156463 -2.02774 -0.28109 -0.706797 -0.225345 -0.558013 0.539593 -0.320455 1.94854 -0.346864 -0.0994869 -0.856706 -0.36609 -0.00493327 -2.42479 2.25056 3.3842 -1.33711 1.07815 -0.0587795 0.935131 2.8268 -1.01941 0.984108 -1.55373 0.977919 0.00740515 -0.262544 0.226751 -0.20346 0 0 0 0 0 0.255286 0.107483 0 0 0 0 0 0 0 -7.47269e-05 0 0 0 0 -0.0834977 0 -0.00647241 0.506007 -0.112234 0 0 -0.227773 0 0 0.290411 0.649155 0 0 -0.00478609 0.389658 0 0.660742 0 -0.253465 0 0 -0.0232624 0 0 1.33812 0 0 0 0 0 0 0 -0.209379 0 0 -0.412811 0 0 0 0 0 0 0 -0.017169 0 -0.467304 0 0.00723024 0 0 0.0173983 -0.462309 0 0.0482996 0 0 0 -3.0644 0 0.120268 0 0 -0.0576678 0 0 0 0.00483685 0 0 0 0 0 0 0.0628998 0 -0.0558254 0 0 0 0 0.00967598 0.208217 0 0 -0.280047 0 -0.0300074 0 0.00347108 0 0 -0.0255866 0 -0.0530592 0.0247977 -0.0323039 0.00177737 0 0 0.0204479 0 2.0303 0 -0.161596 0.0898791 0 0.229093 -0.0791701 -0.00441963 0 0.000241086 0 0 0.026359 0 0.56083 -0.141907 0 0 0.0147621 0 0 -0.0626526 0.0853167 0.0927888 0 0.56959 0 0.0565856 -0.0511581 -0.00536559 -0.24275 0.0951301 0.27087 -0.045438 -0.137371 -0.628858 -3.51614 -0.0598107 0 0 0 0.0819468 0.0794413 0 0 0 0 -0.0389294 2.6784 0.465276 0.450039 0.063102 -0.0548764 0.341482 0.103185 -0.0693623 0.0416357 0.029617 0 0 0 0 0 0 +31 0 -0.340284 -0.443988 -0.217214 -0.0914541 0.177005 0.081106 -0.689834 -2.1695 -0.372945 1.89591 0.0806017 -0.0865476 0.351909 -0.170238 0.0557851 -1.58152 -8.12367 0.776709 0.335262 -0.11868 0.459552 0.442766 -0.454313 0.952145 -0.484915 -0.425296 -0.231081 -0.024276 -0.636167 -0.0420525 -0.538535 0.0593741 1.27557 -0.467843 -0.120562 0.0242282 0.122447 3.77209 0.429673 -0.0328123 0.417147 -0.440581 0.10354 -0.310786 0.288882 -0.00519322 -0.124926 0.304399 -0.273193 -1.67325 0.0584854 4.56688 -0.195253 0.178953 -0.0359419 -0.47044 -0.00163912 -0.0128576 -0.888186 -0.249901 0.7473 0.144896 -1.54852 0.87 0.656857 0.0985201 -0.942492 0.0300403 0.272665 -1.32566 0.231857 0.224497 -0.0315139 -0.0267892 0.0402653 1.89706 -11.6693 -5.6009 2.81944 -3.24895 0.796639 -2.29143 -2.18737 0.367195 -0.542878 2.42057 -0.83208 -0.438092 0.807686 -0.559343 0.477889 0 0 0 0 0 -0.217214 -0.0914541 0 0 0 0 0 0 0 -0.014603 0 0 0 0 -0.0597715 0 -0.00201517 0.451821 -0.159562 0 0 0.648732 0 0 0.29344 2.42188 0 0 0.112738 1.29137 0 0.375668 0 0.448993 0 0 0.0755266 0 0 0.463788 0 0 0 0 0 0 0 0.04087 0 0 0.0303838 0 0 0 0 0 0 0 0.151502 0 -0.469916 0 0.0236634 0 0 0.0319319 0.13276 0 0.196095 0 0 0 -1.06211 0 0.179847 0 0 -0.0199874 0 0 0 0.00687648 0 0 0 0 0 0 0.177005 0 0.081106 0 0 0 0 -0.0326906 -0.208099 0 0 0.313467 0 0.0393309 0 0.0093954 0 0 -0.0166785 0 0.183004 -0.0390735 0.0510525 -0.00156152 0 0 0.0783862 0 -2.18683 0 1.85797 0.0229249 0 -0.359943 0.729892 0.00551703 0 -0.00158617 0 0 -0.0150747 0 -0.251367 0.443314 0 0 0.0516735 0 0 -0.0236191 0.971239 -0.104065 0 -0.506067 0 0.428213 -0.0325328 0.0775942 -0.0847584 -0.0109984 0.267299 -0.11224 0.0461786 -0.121101 -1.50069 0.0396486 0 0 0 -0.0637114 -0.0536451 0 0 0 0 0.00988484 -3.79677 -1.77367 2.46282 -0.485879 0.490638 -0.620844 -0.111413 0.106448 -0.154356 0.186159 0 0 0 0 0 0 +32 0 -0.234102 0.15425 -0.0369657 -0.0156126 -0.116126 0.0322931 -0.073771 -0.153386 -0.063642 0.705815 0.160677 0.349162 0.0597779 0.289311 0.268803 2.42835 6.2634 0.272131 0.641743 0.417957 0.143002 -0.0901531 -0.077173 0.277188 -0.0764594 0.873238 0.332868 -0.0423332 -0.0971555 0.0418773 -0.0916392 0.531105 -0.08268 0.774047 -0.040531 0.075888 1.02931 0.280538 0.0531935 0.0828745 0.0709835 2.07132 0.00403337 1.78881 0.0492969 0.0313778 -0.0982888 1.26656 -0.0302792 0.273935 0.152976 -10.6215 -0.615267 0.563902 -0.284981 -1.07413 -0.583474 0.16826 -0.337255 -0.042628 0.783986 0.0901729 0.982465 -0.849801 -0.511801 -0.206598 1.21659 1.16833 0.0465109 -0.802204 0.491915 0.0336063 -1.05441 0.614051 0.139054 -2.99084 -2.69692 -0.459612 -2.29723 0.718896 -1.05891 0.82271 -0.719548 0.295551 -0.190738 -0.292622 -0.141879 -0.0405471 0.121219 -0.0910085 0.0732757 0 0 0 0 0 -0.0369657 -0.0156126 0 0 0 0 0 0 0 -0.013457 0 0 0 0 -0.0252725 0 -0.0075763 -0.535675 -0.0347866 0 0 -0.198667 0 0 -0.313317 -3.19596 0 0 -0.0166007 -1.35507 0 -0.559478 0 -0.112401 0 0 -0.0107863 0 0 -0.976302 0 0 0 0 0 0 0 0.31604 0 0 0.360648 0 0 0 0 0 0 0 -0.0294354 0 3.00688 0 0.0197457 0 0 -0.0116565 0.172483 0 0.0119797 0 0 0 2.2358 0 0.045847 0 0 0.0420748 0 0 0 0.00149916 0 0 0 0 0 0 -0.116126 0 0.0322931 0 0 0 0 0.0686736 0.0355538 0 0 0.03536 0 -0.00141076 0 0.00939043 0 0 0.0595025 0 -0.0417783 0.0165611 0.00679614 0.00870908 0 0 0.0984295 0 2.17785 0 -0.236038 0.16433 0 0.21682 -0.140176 -0.00110631 0 0.00813016 0 0 -0.00265232 0 0.64398 0.413438 0 0 0.0602877 0 0 0.0484009 1.09598 0.192467 0 0.427492 0 0.259602 -0.0796438 0.00748107 0.153912 -0.0416329 0.444099 -0.112876 -0.0123435 -0.737009 -0.676641 0.0791692 0 0 0 -0.0333077 0.00319488 0 0 0 0 -0.0574767 2.92683 -1.09796 1.22871 -0.146817 -0.0541608 0.761966 -0.024686 0.0122512 0.0170633 -0.0865136 0 0 0 0 0 0 +33 0 0.437143 -0.242544 0.154477 0.0652437 0.0069154 -0.0663394 0.22696 0.572225 0.265955 -1.13944 -0.0508829 -0.635944 -0.249807 -0.507625 0.091218 -2.86535 -9.81042 -0.365446 0.353857 -0.0735917 -0.247355 0.0353222 0.322499 -0.720141 -0.00145482 -0.905917 0.430231 0.0219642 0.371272 -0.21229 0.382953 0.151974 0.269538 0.577087 -0.0411883 0.000697187 1.53004 0.995193 -0.324944 -0.0339982 -0.296634 2.99666 -0.069429 -2.62929 -0.206008 -0.013158 0.0855393 0.634413 0.202932 0.191812 -0.428844 2.02588 -0.316694 0.290255 -0.13175 -0.180076 0.470805 0.135008 0.715839 0.178139 0.0730229 -0.000687855 -1.33677 1.11068 -0.546415 0.116181 -0.374682 1.39214 -0.194365 0.906613 0.0132922 -0.269671 -1.39861 -0.290193 0.0589322 0.815144 -3.79227 1.1442 -0.639165 0.347778 0.617577 -2.04855 1.88825 -0.564377 0.125336 -0.210473 0.5929 0.317164 -0.456583 0.393664 -0.280017 0 0 0 0 0 0.154477 0.0652437 0 0 0 0 0 0 0 0.031486 0 0 0 0 0.0731818 0 0.0189851 0.700729 0.0820489 0 0 -0.0464958 0 0 0.540537 0.602235 0 0 0.00467444 0.895564 0 1.00631 0 0.0207062 0 0 0.0119398 0 0 1.81045 0 0 0 0 0 0 0 -0.197471 0 0 0.0216115 0 0 0 0 0 0 0 -0.0435391 0 -1.71634 0 -0.00519851 0 0 0.0256621 -0.619828 0 0.145899 0 0 0 -4.14605 0 -0.105103 0 0 -0.0780231 0 0 0 -0.00353598 0 0 0 0 0 0 0.0069154 0 -0.0663394 0 0 0 0 -0.0299665 0.298332 0 0 -0.0555753 0 0.00260849 0 -0.000704203 0 0 -0.0371647 0 0.122432 0.018201 0.027314 0.000492179 0 0 -0.00364989 0 -0.811643 0 0.796787 -0.088421 0 0.184196 0.227784 0.00490122 0 -0.00530354 0 0 0.0316035 0 -0.17928 -0.411816 0 0 -0.0238024 0 0 0.0931851 -0.0911589 0.149619 0 0.0645251 0 0.584076 -0.0282271 0.00600503 -0.475364 0.107645 0.580029 -0.210543 -0.101576 -0.338657 -2.07499 -0.0205175 0 0 0 -0.0155404 0.013729 0 0 0 0 -0.0721358 -2.81819 -0.110122 -0.108518 0.140847 -0.110223 0.00482553 0.0604145 -0.0401589 -0.00542137 0.023301 0 0 0 0 0 0 +34 0 0.568802 0.391619 0.349748 0.147717 -0.0426659 -0.112574 0.438669 1.00157 0.602144 -2.22088 -0.1631 -0.471511 -0.565584 -0.241296 -0.0364673 -0.192922 2.37115 -1.37657 0.0222228 0.0186235 -0.779128 -0.708198 0.730166 -1.22281 0.426592 -0.23755 0.323562 0.0595829 0.806004 -0.238879 0.867038 -0.130374 -1.78508 -0.00908518 0.0766142 -0.0229519 1.03054 -4.68538 -0.683213 -0.0822539 -0.671604 1.25022 -0.130311 -0.881665 -0.466419 -0.0565153 0.205113 -0.0845547 0.420392 -0.0869703 -0.672079 -0.724602 0.0239905 -0.0219876 0.0707504 1.67311 0.673497 0.180346 1.23438 0.403321 -0.00733422 -0.0200748 2.33145 -1.54461 0.372734 0.0722649 2.91774 0.625389 -0.440059 1.28701 -0.187122 -0.563958 -0.624347 0.182198 -0.0537385 -0.387507 18.0596 8.50855 -2.29344 6.20956 -2.44288 2.19486 3.02081 -1.04363 1.01394 -1.44629 1.34238 0.642553 -0.983972 0.846238 -0.607897 0 0 0 0 0 0.349748 0.147717 0 0 0 0 0 0 0 -0.0111202 0 0 0 0 0.0735959 0 0.000779058 0.138841 0.00594732 0 0 0.0650638 0 0 -0.51329 -0.0188615 0 0 0.0102307 0.260318 0 -0.738049 0 0.134117 0 0 0.026852 0 0 -1.0578 0 0 0 0 0 0 0 0.135066 0 0 -0.0185913 0 0 0 0 0 0 0 0.0456233 0 0.777161 0 -0.000420928 0 0 -0.00735409 0.291997 0 -0.108241 0 0 0 2.42243 0 -0.000292654 0 0 0.0455869 0 0 0 -0.000256306 0 0 0 0 0 0 -0.0426659 0 -0.112574 0 0 0 0 -0.0398103 0.554236 0 0 -0.290334 0 -0.0327501 0 -0.00511908 0 0 0.0472398 0 0.0948536 0.0207409 -0.00893056 0.00733238 0 0 -0.0723989 0 2.79051 0 -1.13709 -0.0421292 0 0.189937 -0.0851718 0.000253882 0 -0.00568432 0 0 0.0684588 0 0.316954 -0.253232 0 0 -0.0192599 0 0 0.0554316 0.0079656 0.047932 0 0.570729 0 0.19967 0.022657 -0.0418263 0.131812 0.00762093 -0.0294308 -0.172989 0.0275326 -0.795826 -2.18105 -0.0405077 0 0 0 0.0205194 0.0405581 0 0 0 0 -0.126476 8.71977 0.692576 0.972427 0.375032 -0.28266 0.443237 0.076018 -0.0551858 0.0675002 -0.059937 0 0 0 0 0 0 +35 0 0.2315 0.197083 -0.0702049 -0.165756 0.184175 0.154279 -0.928464 -2.79161 -0.720359 1.40434 -0.288865 -1.28507 0.0256505 -2.70285 -0.243116 1.53701 5.01133 0.457487 -0.301192 1.31943 0.131955 0.0276191 -0.0416366 0.415572 -0.916959 0.582248 0.0823104 0.153142 0.568883 -0.727598 -0.17654 -0.957574 0.00286056 0.364211 -0.421681 -0.0962623 0.0129012 -1.52441 -0.304174 0.717977 0.0625084 -0.135903 -0.146843 -3.69765 0.071119 0.301186 0.416165 -1.15696 0.204656 -0.283411 1.5767 1.5789 0.52681 -0.380669 0.643274 3.49133 1.38109 0.155688 -0.624499 -0.0988049 0.211141 -0.274474 -1.24011 4.13394 0.128258 0.160661 -1.8485 0.0325967 0.393092 -0.577677 -0.134979 -0.412291 0.239618 0.975557 -1.14848 0.876004 7.2611 -2.52241 7.77194 -1.40614 1.43445 0.883849 -0.872081 1.29109 -2.49459 5.03333 -0.0629656 0.202526 -0.402348 1.18668 -2.40796 0 0 0 0 0 -0.0702049 -0.165756 0 0 0 0 0 0 0 -0.000665475 0 0 0 0 -0.00118391 0 0.00199186 0.11072 -0.0350287 0 0 0.0236832 0 0 0.126058 0.534021 0 0 0.00955709 0.203048 0 0.223452 0 -0.0129989 0 0 0.000205807 0 0 0.30323 0 0 0 0 0 0 0 0.00926595 0 0 0.0700599 0 0 0 0 0 0 0 -0.0244661 0 -0.0651072 0 0.00108755 0 0 -0.0103225 -0.101734 0 -0.00868855 0 0 0 -0.721529 0 0.0397929 0 0 0.0118395 0 0 0 0.0155422 0 0 0 0 0 0 0.184175 0 0.154279 0 0 0 0 -0.490746 -0.503473 0 0 0.444192 0 0.0506944 0 0.0124181 0 0 0.147803 0 -0.832655 -0.167126 0.201823 0.0631889 0 0 0.0888474 0 -0.106482 0 -2.87585 -0.492545 0 -1.08204 -1.51208 0.0242464 0 -0.0792464 0 0 -0.0452861 0 -0.39615 0.83803 0 0 0.181318 0 0 0.0658232 1.98664 0.323101 0 -0.284776 0 1.44153 -0.0958144 -0.00225875 -0.457401 0.205901 1.0825 -0.497402 -0.144593 0.370776 4.0473 -0.0480707 0 0 0 -0.0648335 0.0692555 0 0 0 0 0.0716129 10.1093 -2.61292 5.72777 0.224512 -0.582674 2.03225 -0.113159 0.171151 -0.373701 0.765637 0 0 0 0 0 0 +36 0 0.0466962 0.258278 0.112197 0.0528537 -0.183698 -0.366846 0.698201 2.84627 0.362242 -2.20376 0.0878485 -0.28968 -0.0585853 -1.2879 -0.0488517 1.27878 7.78463 -0.632636 -0.0292905 -0.228948 -0.203194 -0.241234 0.0693576 -0.748369 1.13014 -0.0549971 0.0236347 0.633829 -0.141773 -0.353275 0.215398 -0.668498 -1.06617 0.285147 0.50745 0.0544014 0.492575 -3.90843 0.691119 -0.553759 -0.200738 1.81864 0.264625 -1.03494 -0.637114 -0.881783 0.49516 -0.441242 -0.601039 0.637991 -1.36673 -2.991 0.122301 0.0424418 -0.0535154 1.91835 0.291768 0.196983 0.968889 0.345994 0.507958 0.177979 2.67983 -4.20573 -1.34043 0.570475 2.71316 0.868629 -0.204715 1.12984 -0.228721 0.48006 -0.722103 0.874014 0.00390033 -2.49885 15.8418 7.87873 -5.22533 6.30697 -4.04473 3.56093 1.89741 -2.07776 3.41866 -5.52017 0.564073 -0.913993 1.41114 -1.59799 0.600096 0 0 0 0 0 0.112197 0.0528537 0 0 0 0 0 0 0 -0.0255799 0 0 0 0 -0.0132329 0 -0.00599593 -0.194207 -0.10933 0 0 0.154523 0 0 -0.239293 -0.146501 0 0 0.0138055 -0.257 0 -0.435372 0 0.0783152 0 0 0.00835099 0 0 -1.13894 0 0 0 0 0 0 0 0.126468 0 0 -0.00249026 0 0 0 0 0 0 0 -0.0454294 0 -0.280354 0 0.0292281 0 0 -0.0023467 -0.0414465 0 0.00462167 0 0 0 2.42056 0 0.176953 0 0 0.221523 0 0 0 0.0393784 0 0 0 0 0 0 -0.183698 0 -0.366846 0 0 0 0 0.205625 0.428821 0 0 -0.273372 0 -0.0371732 0 -0.0562718 0 0 0.321399 0 0.597509 0.100294 -0.0528974 0.027702 0 0 -0.448172 0 1.76043 0 1.39001 -0.736047 0 0.827047 0.767299 -0.00719304 0 0.0320836 0 0 0.0387243 0 -0.953183 -0.0147053 0 0 0.000574216 0 0 0.0863791 0.780851 -0.0154511 0 0.990245 0 -0.142869 0.00446724 -0.0229521 0.195103 0.0134392 -0.0242797 0.296089 -0.0853538 -0.747744 0.256155 -0.0192332 0 0 0 -0.0375408 0.0892853 0 0 0 0 -0.0453044 -5.46099 0.378164 -2.24122 -0.268656 0.219644 -0.665315 0.0928168 -0.0786989 0.081245 -0.297517 0 0 0 0 0 0 +37 0 0.555859 0.0316523 -0.0261373 -0.088938 0.165142 0.0670768 -0.954073 -2.94307 -0.369498 1.1189 -0.160152 -0.482191 0.00729087 -1.88711 -0.178134 -1.11519 -2.30981 0.229944 -0.176581 0.412905 0.0582821 -0.00844108 -0.0151397 0.255428 -0.608389 -0.320788 -0.00501817 0.23633 0.609893 -0.389275 -0.0742952 -0.803017 -0.22263 -0.0967926 -0.196465 -0.0520204 0.193379 -1.39743 0.041375 0.408619 0.0103239 0.492656 -0.0302802 -2.61519 -0.0407343 0.0189049 0.532163 -0.696991 0.0392597 -0.614122 0.562594 -2.73328 0.360971 -0.202393 0.6085 2.3961 0.78828 0.211854 -0.411652 -0.0126343 0.462469 -0.903696 -1.00555 1.51002 0.0885204 0.211284 -0.493677 0.365611 0.200726 -1.2486 0.0792348 0.0912853 -0.0809991 0.747432 -1.58588 -1.15146 5.13325 -3.15978 8.14545 -0.425069 0.750673 -0.101031 -0.60706 0.726792 -1.69189 3.96247 0.0360644 -0.0571919 -0.183776 0.494504 -2.58155 0 0 0 0 0 -0.0261373 -0.088938 0 0 0 0 0 0 0 -0.00806071 0 0 0 0 -0.0146765 0 -0.00119831 0.0412957 -0.0724795 0 0 0.0185409 0 0 0.0437159 0.000877971 0 0 -0.00115865 0.0422931 0 0.0639303 0 -0.00749781 0 0 -0.00177425 0 0 0.0195575 0 0 0 0 0 0 0 -0.032452 0 0 -0.143499 0 0 0 0 0 0 0 -0.0475526 0 -0.65471 0 0.0137095 0 0 0.0141928 -0.185413 0 0.125631 0 0 0 -0.098778 0 0.0999089 0 0 0.0487595 0 0 0 0.00544179 0 0 0 0 0 0 0.165142 0 0.0670768 0 0 0 0 -0.521052 0.00863096 0 0 0.431286 0 0.0569463 0 -0.0120808 0 0 0.148578 0 -0.0571044 -0.154882 0.151628 0.0357446 0 0 -0.10673 0 -2.20304 0 -1.29076 -0.541077 0 -1.18376 -0.385746 0.0195139 0 -0.0732699 0 0 0.00938126 0 -1.60252 0.734813 0 0 0.109872 0 0 0.0125317 0.0249471 0.334738 0 -0.789527 0 1.13798 0.0915474 -0.0993756 -0.646989 0.245381 0.689923 -0.461941 -0.162228 0.499018 1.68091 -0.0555493 0 0 0 -0.0640812 -0.0400082 0 0 0 0 -0.03763 6.28961 -1.907 5.06438 0.309159 -0.443601 1.04366 -0.156075 0.170252 -0.281571 0.774685 0 0 0 0 0 0 +38 0 0 0 0 0 0.389276 0.123289 0.371813 0.459603 0 0 0.173854 0.700539 0 0.227828 0.0775508 0 0 0 0.116431 -0.653762 0 0 0 0 0.226411 0 0 -0.326122 0.414575 0.197546 0 0.195738 0 0 0.115106 0.0813792 0 0 -0.258812 0.557576 0 0 0.0454944 0.764947 0 0.225571 -0.468146 0.518062 -0.0500955 -2.61355 0.139616 0 -0.0675242 0.0357602 -0.215682 -0.224912 0.219458 0.141646 0 0 -0.125095 -3.43315 0 0.709937 0.400721 0.116834 0 0 0 0 -0.0131111 -0.236536 0 -2.58526 1.01555 0 0 0 -1.15474 0 -0.0769406 0.906457 0 -0.12564 -0.66747 1.59075 0 -0.0569569 -1.1331 1.95053 -0.99557 0 0 0 0.268581 0.0285151 0 0 0 -0.0180361 0 0 -0.00348483 0 0 0.0050886 0 0 0 0 -0.0792083 0 -0.00735529 0 0.0158446 0 -0.0641573 0.127631 0 0.00427059 0 0 0.251494 0 0.0192808 0 0 0 0 0.0375425 0.0319631 0 0.00537692 0 0 0 0 0 0 0 0 0 0 -0.0479808 0 0 0 0 0 0 0 0 0 0 0.127059 0 0 0 -0.0101572 0.0458806 0 0.0272807 0.0530057 0 -0.0841975 0 0.132651 0 0 0 -0.00227395 0 0 -0.238884 0 0 0 -0.0646642 0 0 0 0 -0.202061 0 0.389276 0.268581 0.123289 0.0285151 -0.496608 -0.0873961 0.144537 0.743263 0.140744 -0.0150791 -0.0165744 -0.277695 -0.00138195 -0.0427007 0.0156208 0.0133664 -0.0198145 -0.152975 -0.0832589 -1.11305 -0.205565 0.138233 -0.152249 0.0196464 -0.0564616 0.0375018 0.109693 -0.00747523 2.70009 -0.181799 0.232204 0.481607 0.00158072 0.993615 -0.265832 -0.018978 -0.00256594 0.0923398 -0.0289675 0.378169 0.0109546 0.00115766 1.09713 -0.656711 -0.00322117 -0.0169628 -0.026926 -0.111146 0.179728 -0.779497 1.57903 -0.0664698 0.0232093 1.44784 -0.0128408 -0.335577 -0.0352987 -0.0200123 0.178027 -0.118299 -0.301446 0.141172 -0.0638114 -0.0139016 1.87213 -0.116196 -0.951384 -0.0136382 -0.0147751 0.460554 0.0925744 0.0163457 0.0238042 -0.0308625 -0.0605107 -0.0425843 -2.57316 1.47557 -4.77454 0.824859 0.317584 -2.37077 0.068736 0.0237273 0.183619 -1.51663 0.0299539 0.0624558 0.0124556 0.260041 -0.950038 0 +39 0 0 0 0 0 -0.452555 -0.349512 0.386406 2.70173 0 0 -0.244574 -0.850091 0 -1.01016 -0.1107 0 0 0 -0.260737 -3.49095 0 0 0 0 0.422665 0 0 0.0572717 0.630041 -0.236143 0 -0.430429 0 0 0.0638237 -0.0644678 0 0 -0.00651378 -2.0835 0 0 0.0436199 -3.69447 0 -0.948807 -0.0432743 -1.11061 -0.0615181 -0.305156 0.0569094 0 0.331373 -0.250414 0.630465 -1.0438 0.499218 0.0458634 0 0 0.917782 3.00502 0 0.83988 0.288715 1.21648 0 0 0 0 0.214257 0.190651 0 -0.691329 -0.308514 0 0 0 -5.68442 0 -0.0220689 -4.406 0 -0.192797 -0.1703 -5.93851 0 -0.156846 0.395734 0.137929 -6.12245 0 0 0 -0.0281126 -0.0130047 0 0 0 0.00637464 0 0 0.00244794 0 0 -0.00170172 0 0 0 0 0.0116525 0 0.0037159 0 -0.0190007 0 -0.0328867 -0.116197 0 -0.00285495 0 0 -0.142245 0 -0.0126223 0 0 0 0 -0.0150738 -0.0207791 0 -0.00295418 0 0 0 0 0 0 0 0 0 0 0.0256078 0 0 0 0 0 0 0 0 0 0 0.0337427 0 0 0 0.0430129 -0.0640923 0 -0.126613 0.0972442 0 0.0309572 0 0.00986106 0 0 0 0.0288838 0 0 0.130986 0 0 0 0.0102163 0 0 0 0 0.129453 0 -0.452555 -0.0281126 -0.349512 -0.0130047 -0.0218654 -0.0245709 -0.141528 0.370407 -0.270164 0.0100076 0.00253295 0.406214 0.000961333 0.0395737 -0.0143703 -0.0179635 0.00748698 0.084787 0.513832 0.360822 0.316157 0.232456 0.201764 0.0782035 0.0647131 0.0265522 -0.208002 0.0113197 1.40799 -0.0948348 1.81694 -0.185931 -0.00134042 1.45334 0.722804 0.0183118 -0.000464785 0.0727873 -0.00499504 0.57651 -0.0227261 -0.00647924 -0.0113109 0.871086 0.000611659 -0.00979152 0.123744 0.0671043 0.00956532 0.158675 2.48923 -0.200756 -0.0297694 0.384109 0.0308204 0.741697 -0.111448 0.204558 0.00707952 -0.0205391 -0.691441 -0.149692 0.137601 -0.289075 2.4766 0.0476963 0.0379432 0.00233364 0.175557 -0.179956 -0.0848508 0.02342 -0.024148 0.0695632 -0.0116082 0.0412061 -20.1343 -2.74421 -7.02579 -0.647669 0.157521 -2.37798 -0.0627987 -0.0782225 -0.266685 -1.12183 -0.0166021 0.0381549 -0.116349 0.0711681 -0.519105 0 +40 0 0 0 0 0 -0.499572 -0.326278 1.06792 3.95898 0 0 0.0532942 -0.265007 0 0.071667 0.034579 0 0 0 -0.0515522 -4.45231 0 0 0 0 0.759132 0 0 0.11716 6.03067 0.0803286 0 0.228256 0 0 0.223924 0.0127044 0 0 -0.103821 -0.424962 0 0 0.0221861 -3.10241 0 -0.115716 1.20422 -0.0786385 -0.0118879 -0.433036 0.0906674 0 -0.00905651 -0.080207 0.589917 2.01657 -0.242432 -0.00810997 0 0 1.48869 1.87168 0 -0.744786 0.27462 -0.320476 0 0 0 0 0.835539 0.376476 0 3.45766 -0.407298 0 0 0 -9.15366 0 -0.367409 -10.741 0 -0.289377 -0.974488 -11.0543 0 -0.025609 -1.71766 2.42338 -19.3034 0 0 0 0.0179859 0.000875953 0 0 0 -0.0183719 0 0 -0.00136973 0 0 -0.00055866 0 0 0 0 -0.0282474 0 -0.00174452 0 -0.0136238 0 -0.21787 -0.282826 0 0.00077767 0 0 0.0627332 0 -0.0177134 0 0 0 0 -0.0777465 0.00745774 0 -0.00506504 0 0 0 0 0 0 0 0 0 0 -0.00111573 0 0 0 0 0 0 0 0 0 0 -0.000980595 0 0 0 -0.00932271 0.0240561 0 0.0432108 0.0316969 0 -0.0403374 0 -0.0224321 0 0 0 0.0155496 0 0 -0.0580437 0 0 0 -0.0090538 0 0 0 0 -0.0560774 0 -0.499572 0.0179859 -0.326278 0.000875953 -0.824092 -0.272168 -0.00335939 0.976114 -0.312046 -0.000140281 0.0249592 -0.202865 -8.30014e-06 -0.012987 -0.000267617 0.000269454 -0.0157114 -0.00314979 -0.389218 -0.839497 0.179376 0.756541 -0.0725936 -0.0519669 -0.110795 0.569774 4.04254e-06 -0.020744 0.205849 -0.195489 1.74822 -0.0649509 -1.53472e-05 3.35758 0.637436 -0.00473187 0.000243261 0.245181 -0.0173951 3.21218 -0.0207193 0.100002 -0.253711 -0.539077 0.00211732 -0.0165416 0.010128 -0.128295 0.0347642 1.76142 1.59289 -0.505344 0.0262862 1.51647 0.00218069 0.241234 -0.0513665 0.265246 0.395936 -0.74282 -1.25596 0.0680657 0.450941 0.132045 0.155654 0.0353463 0.33465 -0.0370341 -0.565023 -0.161902 0.0195411 0.0167286 -0.000639854 0.195406 0.180884 0.0070882 -19.3729 0.649201 -17.952 -0.153707 1.50021 -15.6963 0.020717 0.20653 -0.680228 -5.5477 0.000616758 0.0494164 -0.527403 0.673737 -4.47132 0 +41 0 0.344009 -0.474983 0.0179099 -0.162161 0.295169 0.0903475 -0.384222 -2.02337 -0.0336068 0.363156 0.0261396 -0.990115 -0.0175917 -0.123141 0.00209406 -3.92561 -1.51952 0.168034 -0.018851 0.344344 0.0356036 1.49403 0.0189595 -0.0981594 -0.361605 -2.61768 0.143764 -0.0201472 -0.326331 -0.122276 0.0571007 0.0535329 0.826535 0.157726 -0.0483561 0.000832765 0.882361 -2.30529 -0.0178686 0.0402445 -0.0630261 2.49163 -0.0201524 -0.98595 -0.116954 0.00508826 -0.0867348 0.190315 0.15694 -1.71548 -0.0351327 17.2529 -0.00601524 -0.0680487 -0.232946 8.54561 0.866047 0.0624943 0.234345 0.152149 -1.39392 -0.272437 -2.59158 -0.793712 0.199255 -0.426178 -0.179567 0.393544 -0.0450447 0.400513 -0.298613 -0.193109 -1.4219 0.673837 0.242485 -3.10817 11.7688 -0.522441 8.3765 0.604352 -0.28392 7.21614 -1.1025 0.665269 -0.29891 3.32843 0.084358 -0.00183215 0.164095 -0.0160032 0.258965 0 0 0 0 0 0.0179099 -0.162161 0.00707729 0 0 0 0 0.00109369 0 -0.0582848 0 0 0.00656897 0.0233509 -0.0697686 0 -0.0105946 0.0641922 -0.465242 0 0 -0.191778 0.00153903 0 -0.023236 0.386657 0 0 -0.0394695 0.189431 0 -0.0706902 0 -0.0954249 0 0 -0.015385 0 0 -0.0809134 0.0170736 0.105237 0 0.109533 -0.0417677 0 0 0.00193264 0 0.0100014 -0.265446 0.00398475 0 0 -0.0113411 -0.0151556 0 0.030739 -0.152341 0.0137998 1.26043 -0.0911578 -0.0813863 0 0.0434069 -0.165127 0.325287 -0.0357345 0.0190905 0 0 0 1.00543 -0.199773 1.59988 0.0430491 -0.0662631 0.194979 -0.00745014 0.010566 -0.0408313 0.331755 0 0 0 0 0 0 0.295169 0 0.0903475 0 0 0 0 0.0499942 0.0209846 0 0 -0.183543 0 -0.0313637 0 0.00122562 0 0 0.062388 0 0.0166291 0.0204924 -0.0405804 0.00788819 0 0 -0.00750701 0 1.93131 0 -1.1173 0.0384196 0 0.025965 -0.0699639 -0.00570128 0 0.00818418 0 0 0.0196021 0 0.351825 0.500454 0 0 0.0532763 0 0 0.0380144 -0.561286 -0.128545 0 -0.0159355 0 -0.647762 -0.0323611 -0.0219166 -0.130937 0.056174 0.307643 0.0535585 -0.0971645 0.575423 4.17346 -0.0797491 0 0 0 0.0244348 0.0454102 0 0 0 0 0.00558568 5.08115 0.0180044 2.12095 0.102098 -0.0514636 1.17645 0.00929263 0.014267 0.0608626 0.0460789 0 0 0 0 0 0 +42 0 1.13192 0.29699 0.0633248 0.127521 -0.0213763 -0.0137977 -0.560681 -1.20921 0.455705 -1.48057 -0.132314 -4.3958 -0.0158247 -1.57167 -0.0167294 -2.89203 -7.23127 -0.0179595 -0.111378 0.442493 0.0341199 -0.825122 0.0208768 -0.311275 -0.86638 -0.469696 0.258298 0.0320999 0.555135 -0.870626 0.0984457 -0.120069 -2.83937 2.00909 -0.30048 -0.0187235 0.672237 -10.4719 -0.443141 0.0503697 -0.061539 3.33073 -0.0731791 -7.71666 -0.234861 0.00407259 0.129379 -0.683639 0.10443 -0.686427 0.0697704 27.9641 0.124346 -0.0659261 0.110769 10.7339 1.12579 -0.000195226 0.166644 0.0408485 -0.306876 -0.124186 4.48198 1.51072 0.918065 0.141217 0.395869 -0.731607 -0.179085 1.2707 0.693825 0.106978 -1.34458 0.467172 -0.258623 -2.03161 46.6091 9.00791 4.31145 7.98177 -3.68689 7.36065 1.41417 -0.408376 0.528489 2.00489 0.169403 0.143196 -0.107018 0.215116 -0.440537 0 0 0 0 0 0.0633248 0.127521 -0.00773143 0 0 0 0 -0.00073808 0 -0.0294953 0 0 -0.00171022 0.0112133 -0.0292792 0 -0.00823812 0.0595366 -0.0836287 0 0 -0.0742098 0.0007885 0 -0.0366373 1.17947 0 0 -0.0152715 0.335706 0 -0.135543 0 -0.0788822 0 0 -0.0118564 0 0 -0.882348 -0.0109855 -0.0257353 0 -0.114872 -0.0783737 0 0 -0.203003 0 -0.0134553 -0.308369 0.0161431 0 0 0.00175903 0.0154315 0 0.0201286 0.0448322 -0.0121734 0.323284 -0.00958052 -0.0317232 0 -0.0507602 -0.117891 0.26814 -0.0185342 -0.244652 0 0 0 3.41934 0.140408 0.487556 0.0391253 -0.0455306 0.4356 0.00175168 -0.00419406 0.0120814 0.128655 0 0 0 0 0 0 -0.0213763 0 -0.0137977 0 0 0 0 -0.0315468 0.305795 0 0 -0.175222 0 -0.0379611 0 0.00470764 0 0 -0.0416784 0 0.0101264 -0.00321217 -0.0362337 -0.00532765 0 0 0.0117655 0 0.988514 0 -0.330204 -0.104918 0 0.100932 -0.102043 -0.00903218 0 -0.0065001 0 0 0.0515335 0 -0.0450688 -0.226628 0 0 -0.0269996 0 0 -0.0288974 1.39918 0.0567247 0 -0.048926 0 -0.640729 0.0363948 -0.0967778 0.0217773 -0.0171525 -0.1092 0.804725 -0.0475103 -0.257044 -1.46329 0.0309507 0 0 0 0.0123363 0.0430822 0 0 0 0 -0.0506633 8.92179 2.3672 -1.86509 1.25323 -0.695347 0.232726 0.196331 -0.137664 0.129831 0.125513 0 0 0 0 0 0 +43 0 1.11769 0.331653 0.0630915 0.29013 -0.0819575 -0.0159877 -0.0677654 0.0874157 0.734255 -1.3733 -0.0388397 -1.2228 -0.00722887 -0.692705 -0.0039278 -0.134494 -0.406458 -0.150485 -0.0700033 -0.355448 -0.0255152 -0.478004 0.0195284 -0.394267 -0.204515 0.242749 0.0209262 0.00931568 0.283425 -0.247859 0.116431 -0.00997492 -1.45189 0.444883 -0.0649488 -0.00590355 -0.188775 -5.94824 -0.246543 -0.100255 -0.013264 0.598401 -0.0410864 -2.6242 0.0534018 -0.021575 0.049362 -0.344833 0.0244842 -0.471332 0.204431 19.4381 0.406389 0.110054 -0.00248324 4.54682 0.82151 -0.410162 -0.0465007 -0.0293502 1.02547 0.596393 3.55373 0.620338 0.751835 -0.520759 0.0349289 -1.50989 -0.228753 -0.52065 0.91223 0.0953668 0.0756976 -0.481458 -0.14168 1.20476 27.4534 5.55677 2.1778 4.45487 -1.93991 5.36117 1.11958 -0.592045 1.65488 -0.95169 -0.0385182 0.0926936 -0.123405 0.117881 -0.224917 0 0 0 0 0 0.0630915 0.29013 0.00724972 0 0 0 0 0.00122452 0 -0.0090208 0 0 0.0045368 0.0159462 -0.00596955 0 -0.00362691 0.0212385 0.022709 0 0 -0.289169 0.00116001 0 -0.00852133 0.633477 0 0 -0.0318894 0.102077 0 -0.0309931 0 -0.0889869 0 0 -0.0112957 0 0 -0.231831 0.0168226 0.0590338 0 0.098666 0.0433294 0 0 -0.223913 0 0.016159 0.273358 -0.0257507 0 0 -0.0106998 -0.0111302 0 0.0271549 -0.155576 0.0175478 -0.490609 -0.0362908 -0.0271046 0 0.0390099 0.0542762 0.0514301 -0.00531719 0.0911624 0 0 0 -0.431077 -0.0817336 -0.359568 0.0127818 -0.00788887 -0.127682 -0.00629546 0.0073509 0.000135802 -0.0776037 0 0 0 0 0 0 -0.0819575 0 -0.0159877 0 0 0 0 0.0465556 -0.271408 0 0 -0.688704 0 -0.0969446 0 -0.00780538 0 0 0.0984706 0 -0.075802 0.0473314 -0.104686 0.00935421 0 0 -0.0595079 0 -0.22019 0 -1.87154 -0.117224 0 0.467945 -0.338742 -0.0158953 0 0.00406594 0 0 -0.0427095 0 -0.338627 0.60081 0 0 0.0445344 0 0 0.267992 0.526296 0.240299 0 -0.561071 0 -0.469626 -0.0469339 -0.162713 0.0696964 -0.0933008 -0.4614 0.303816 0.0108186 0.50991 1.09259 -0.0246151 0 0 0 -0.0929768 0.00953644 0 0 0 0 0.031065 17.4951 5.63523 -3.17929 1.50788 -0.777328 0.734504 0.403901 -0.290281 0.496969 -0.499626 0 0 0 0 0 0 +44 0 0 0 0.10968 0.395433 0 0 0 0 -0.0264801 -1.7645 -0.136464 0 -0.00460693 0 0.185156 0 0 -0.0829252 -0.0333484 0 0.00574065 0 0.165663 -0.254835 0 0 0.160288 0 0 0 0.175613 1.05836 0 0.863058 0 -0.0579519 0.842352 0 0.179345 0 -0.125731 3.71857 -0.211312 0 -1.23827 0 0 2.05164 0.549093 0 0.0459174 0 0.113966 1.10842 -0.403975 0 -0.970638 -1.0955 0.0322435 -0.0811643 0 0 0 0 -0.471457 0 0.298559 0.686043 -0.1982 0.506302 0.441902 0.484852 1.31388 0 0 0.251957 0 3.7163 0 0.459077 0.466799 0 1.13444 -0.659734 1.2321 0 2.92009 -1.13883 1.13483 -1.18311 0 0 0.151685 0.0143799 -0.178512 0.000240669 0.10968 0.395433 0.0146551 0.118988 -0.227915 -0.000236771 0.0172423 0.00338152 -0.0137003 -0.105918 0.0133908 -0.00312575 -0.00228221 0.0522527 -0.0689585 0.198836 -0.0156309 0.455948 -0.444054 0.000850139 0.824048 -0.171793 0.00135053 -0.00814512 0.223201 4.10102 0.0157861 -0.00472748 0.0570261 1.59956 -0.0331498 0.5161 -0.0185265 -0.278344 -0.00490176 -0.0471149 0.00208449 -0.0366409 -0.00115559 1.72124 0.0792211 0.0951816 -0.00246312 0.284696 -0.00994563 0.00283682 -0.00771803 0.176284 0.0821787 0.0342654 0.767274 -0.00394394 -0.0408508 0.0660731 0.0286954 -0.0189809 -0.147143 -0.0144574 1.06766 -0.103403 -6.1595 0.236445 0.0424181 -0.0410325 -0.33389 0.03323 -0.894882 -0.214272 -0.17463 -0.0216497 0.451984 0.00849084 -3.90487 0.258698 1.10944 0.183874 -0.0321136 -0.232024 0.0226555 0.00805089 -0.0931624 0.0607946 0.00374733 0.000945728 0.00320888 -0.0370515 -0.00392749 0 0 -0.178512 0 0.000240669 0 0 -0.586035 0 -1.19286 -0.0723717 0.0105998 -0.859682 -0.0112912 -0.144949 -0.0962289 -0.0743489 0.0294473 -0.423512 0 0 0 0 -0.130507 0 0.0856617 0 -0.453192 0 0 -0.0595897 0 0 -0.0148438 0 0 0.00181387 -0.00448484 0 -0.0183745 0 -0.213228 0 0 0 0.00130598 -0.0102459 0 0 0.0792834 0 0 0 -0.128975 0 0.200497 0 0.335952 -0.0927582 0.265069 0 0 0.167898 0.0444279 1.44673 0 0.227139 0 0.148306 0 -0.019821 -0.151031 0.056806 -0.08032 -0.106307 -0.00820982 0.808322 0 5.40464 0 2.29433 -0.313927 0 1.18308 -0.320837 0.276252 0 0.88273 -0.360636 0.239421 0.0197802 0 0 +45 0 0 0 -0.279898 -0.218791 0 0 0 0 2.88035 1.64663 -0.710204 0 0.742446 0 -0.351273 0 0 0.575833 -1.76146 0 0.40078 0 -0.237442 0.905056 0 0 -0.999276 0 0 0 0.603461 -0.142949 0 -1.83247 0 -0.310801 -2.96595 0 -3.18232 0 1.26037 -5.66575 -1.53281 0 2.31892 0 0 -1.58781 3.69473 0 2.62248 0 1.77563 -0.593403 -0.648663 0 -1.96726 -1.30366 -1.35834 -1.07085 0 0 0 0 0.544519 0 -0.753571 -1.98841 -4.2673 -2.2564 -0.296995 -2.52151 3.35538 0 0 1.22114 0 -1.73079 0 -2.93432 3.01273 0 -5.60216 4.52907 -2.22292 0 -7.19309 7.58927 -4.60241 4.25374 0 0 0.00758076 0.00674921 0.102493 0.0436266 -0.279898 -0.218791 0.0280468 0.00547414 -0.191634 -0.000562669 0.000333622 0.022992 -0.0626525 0.0909758 0.00560399 -0.00631619 0.0119728 0.135512 0.222134 0.0282775 0.0535116 -2.14117 0.431178 0.000534714 0.0479212 -3.7961 0.0112883 -0.00101247 -0.991355 -5.9906 0.174701 -0.0343128 -0.415448 -3.52022 -0.0319132 -1.92886 -0.0178398 -2.07903 0.00853544 -0.393006 -0.218579 -0.0632569 -0.00553762 -3.73956 0.536823 0.190918 -0.00278769 0.775479 0.844877 0.0934195 -0.0260402 -1.37051 0.0409999 -0.0670275 -0.914505 0.204947 -0.00644162 0.0341301 -0.0309054 -0.126928 -0.159348 0.156237 -1.17707 0.208309 -4.61635 0.212285 0.158746 0.0679839 0.248956 0.342009 -3.16749 1.10104 -0.290802 -0.130971 0.132369 0.013393 8.48372 1.20666 -1.80512 0.272925 1.04973 0.267025 0.0500407 0.123651 -0.455984 0.00784307 0.00517376 0.0233589 -0.112387 0.183216 -0.0434646 0 0 0.102493 0 0.0436266 0 0 0.230002 0 -0.623786 -0.0642988 0.00883454 0.343629 -0.0120838 0.0188986 0.0481698 -0.0307795 0.0143962 -0.318028 0 0 0 0 0.179977 0 0.185567 0 -0.0464903 0 0 -0.0628869 0 0 0.0065563 0 0 0.036067 0.000199779 0 -0.0028937 0 -0.0896532 0 0 0 -0.000413313 -0.00643371 0 0 0.162542 0 0 0 -0.105029 0 0.128007 0 -0.718915 0.238407 -0.563241 0 0 -0.531793 0.47685 0.341422 0 0.119384 0 0.0280106 0 -0.0298357 -0.320043 0.122458 -0.0226845 -0.0709534 -0.0636243 0.458277 0 -0.309659 0 0.624012 0.656981 0 -0.342239 0.684252 -0.50859 0 0.475506 0.0507657 -0.266166 0.225808 0 0 +46 0 0 0 -0.0965119 -0.0763895 0 0 0 0 0.918428 -0.00303088 0.102066 0 0.304726 0 -0.0331261 0 0 0.0239174 -0.187546 0 0.0727289 0 -0.0687758 0.190154 0 0 -0.760598 0 0 0 0.423983 0.452105 0 -1.70869 0 -0.0355374 -2.64008 0 -0.320507 0 0.330808 -6.05675 -0.17161 0 -0.311097 0 0 0.399769 0.597662 0 0.100094 0 0.8545 0.45842 -0.585703 0 0.518846 -1.00914 0.143651 -0.110773 0 0 0 0 0.691423 0 -0.728837 -3.11898 -2.99006 -0.00683174 0.332789 -0.460774 1.02112 0 0 2.41241 0 -0.93073 0 0.595786 -0.148607 0 -0.778561 0.724198 0.097166 0 -0.156129 0.631529 0.876129 -0.065471 0 0 0.0371394 0.00384188 0.0946707 0.0261346 -0.0965119 -0.0763895 0.0242634 0.00907555 -0.159692 -8.72954e-05 -0.000281212 0.0189352 -0.0122741 0.0417885 0.00354136 -0.00109324 -0.00234131 0.0163181 0.160509 0.0496604 0.0257885 -1.05695 0.256253 0.000234355 0.0221682 -1.43123 0.00113513 -0.00655948 -0.475349 -4.14368 -0.0383311 -0.00461659 -0.261444 -2.07605 -0.0298984 -0.842576 -0.0101895 -0.671776 -0.018918 -0.0721645 -0.123508 -0.0122413 -0.000781114 -1.47095 0.383206 -0.0275137 -0.00175502 0.49164 0.210785 0.0106643 -0.0102078 -0.685345 -0.0592829 -0.0144584 -0.912605 -0.0201624 -0.0102363 0.0214874 0.00117336 -0.0913158 -0.038466 -0.0499895 -0.825346 0.0977509 0.0525919 -0.167865 0.133239 0.0166489 0.170211 0.0179397 -0.802063 -0.0896448 0.0845923 -0.00981601 -0.116986 0.00276931 3.33705 0.340764 -0.808327 0.0665249 0.245916 0.226461 0.00969763 0.0241106 -0.0365704 -0.0453667 0.00118297 0.00329185 -0.00497824 0.0424741 0.00953657 0 0 0.0946707 0 0.0261346 0 0 0.0646691 0 0.35216 -0.0463742 0.00729021 0.204103 -0.000353381 0.0577389 0.078175 0.0701728 -0.0358033 -0.45167 0 0 0 0 0.0480591 0 -0.015212 0 0.36616 0 0 0.133264 0 0 0.0195645 0 0 0.0202019 0.0050189 0 0.0335552 0 0.13612 0 0 0 -0.00311375 0.0271312 0 0 -0.217976 0 0 0 0.420723 0 -0.284652 0 0.432054 -0.0265262 1.4404 0 0 0.677433 -0.0373499 0.941653 0 0.124229 0 -0.0273949 0 0.18211 0.258154 0.0533028 0.0656624 -0.100878 0.0340398 -0.139205 0 0.804388 0 2.27319 -0.622063 0 0.748407 -0.383112 0.283688 0 0.545294 -0.284395 0.282447 -0.0573098 0 0 +47 0 -0.309405 -0.333361 0.0722735 0.0461157 -0.409428 -0.152147 0.602574 2.68075 1.05483 -1.10092 -0.308535 0.162133 -0.0489199 -0.175956 -0.0464326 -0.608302 -4.43965 -0.126813 -0.265514 0.327656 -0.067076 0.268056 0.218792 -0.326123 0.428687 -0.0867885 0.06214 0.061268 1.39655 0.0467333 0.482478 -0.0595011 0.933951 -0.042084 0.0772709 -0.133969 0.16234 3.80579 -1.66611 0.0358616 0.0566104 -0.281141 -0.684157 -1.17461 0.339595 -0.01418 0.291006 -0.666948 -0.0504844 3.59038 0.0652754 4.90719 -0.122282 -0.356986 0.205773 -1.36195 -0.417114 0.448649 -0.308508 -0.0405492 1.10372 -0.0656381 2.2167 2.43545 -1.64187 -0.148192 -1.76989 0.24183 -1.1483 0.105906 0.330231 0.409365 -1.25696 0.285798 -0.188006 0.169022 -13.7605 1.36772 -7.4831 -2.94442 5.25654 -9.77555 1.41618 -0.637609 1.26575 -5.63127 -0.643028 1.6715 -1.64498 1.97062 -2.65486 0 0 0 0 0 0.0722735 0.0461157 0.00233875 0 0 0 0 0.00208623 0 0.128699 0 0 -0.00223309 -0.0276281 0.554446 0 0.0709289 0.472532 1.04831 0 0 -0.527317 -0.00129698 0 0.391269 2.76118 0 0 -0.0327216 1.23164 0 0.939248 0 -0.216506 0 0 -0.00826218 0 0 2.15298 0.0452941 -0.0465706 0 0.0553809 0.130849 0 0 0.0190183 0 0.00615396 0.476982 -0.146958 0 0 0.00131732 -0.00211294 0 0.0193754 0.189613 0.0490939 -5.9599 0.042978 0.0605 0 -0.0472877 0.981084 0.373233 -0.350867 -0.307402 0 0 0 -18.551 -0.457427 -5.09614 -0.0832193 0.208466 -2.76559 0.00108674 -0.00245339 0.0356466 -1.10268 0 0 0 0 0 0 -0.409428 0 -0.152147 0 0 0 0 -0.0231614 -0.713117 0 0 0.00150344 0 0.005552 0 -0.0201281 0 0 0.0504224 0 0.0801948 0.0660556 0.0935796 0.00572808 0 0 -0.174242 0 -4.0758 0 0.980847 0.0471136 0 0.615543 0.158307 0.0122586 0 -0.00445738 0 0 -0.0904751 0 -0.560654 -0.243802 0 0 -0.0096479 0 0 0.0323832 0.815155 0.160888 0 -0.548775 0 0.475922 -0.116416 0.0270276 -0.243115 -0.00155765 0.537604 -0.296891 0.0666318 0.448813 -2.13202 0.0676606 0 0 0 -0.153733 -0.0653686 0 0 0 0 0.22508 -3.75383 -0.0633044 -2.43124 -0.179436 0.238421 -0.963924 -0.0126322 -0.0178821 0.0169872 -0.470574 0 0 0 0 0 0 +48 0 0.951496 0.208907 -0.189744 0.138484 -0.0827031 -0.0111755 0.253104 1.48331 1.49556 -0.470195 -0.0128523 -0.350247 0.553942 -0.209716 -0.13 -1.41907 -1.42212 0.14038 -0.718665 0.459658 0.269384 -0.303913 -0.455166 0.111703 0.269157 -0.634027 -0.0600155 -0.00419739 0.47303 -0.121521 -0.086458 -0.320983 -1.32971 -0.0397813 -0.0261136 -0.0213766 0.180998 -4.88777 0.0400257 0.0884664 0.692352 0.23813 0.0670048 -0.472117 0.862992 0.0213841 0.0188797 -1.5468 -0.0451399 0.386603 0.48683 3.03334 1.08589 -0.198049 0.0907113 -1.08293 -0.223164 -0.106183 -0.52222 -0.572993 -1.02584 0.107667 2.92695 -1.73877 -0.313791 -0.336516 1.71968 0.192791 -1.49944 1.96777 0.592756 0.163585 -0.615809 -0.103281 0.0999887 0.213425 15.2839 3.6384 -2.57933 4.48672 -3.81703 6.06029 0.692137 -0.447901 0.516651 -1.8191 -1.63409 0.201238 -1.26812 0.0930307 -0.899234 0 0 0 0 0 -0.189744 0.138484 0.0168413 0 0 0 0 0.00693258 0 0.00483502 0 0 -0.00144522 0.0227848 -0.132392 0 -0.0229419 -0.0900457 0.0827223 0 0 -0.936297 0.00125519 0 0.485493 1.79827 0 0 -0.0927238 0.342471 0 0.502496 0 -0.382421 0 0 -0.0399527 0 0 -0.406688 0.143256 -0.0398635 0 0.349172 0.178703 0 0 -0.800913 0 0.0183733 -0.163089 -0.0335426 0 0 0.00277994 -0.0370417 0 0.00159903 -0.0503297 -0.0438913 -8.28079 0.150544 -0.00897148 0 0.0524684 0.0918431 -0.151676 -0.303562 -0.491115 0 0 0 0.175893 0.159825 -0.255461 -0.00222942 0.0123515 -0.0858853 0.00165194 -0.00418004 0.0549714 0.0229846 0 0 0 0 0 0 -0.0827031 0 -0.0111755 0 0 0 0 0.0632071 -0.261054 0 0 -0.186538 0 -0.0166163 0 -0.00452976 0 0 0.0363317 0 -0.073458 0.0271256 -0.030735 0.00627062 0 0 -0.0189836 0 1.43945 0 -1.5555 -0.0529083 0 0.367447 -0.2505 -0.00278365 0 0.00554074 0 0 -0.0492894 0 0.0991792 0.27709 0 0 0.0379742 0 0 0.316018 0.186628 0.0725598 0 0.513215 0 -1.36988 0.0611951 -0.146668 -0.28715 -0.0658008 0.0980798 0.74921 -0.158429 0.103767 2.89338 0.0654504 0 0 0 -0.0657368 0.0490626 0 0 0 0 0.0558938 14.2941 2.76301 -1.76228 1.22429 -0.922726 1.36975 0.168424 -0.166655 0.210344 -0.224287 0 0 0 0 0 0 +49 0 0.727074 0.207731 0.254069 0.179395 0.0792974 -0.0298635 0.422933 1.19921 3.99209 -1.13674 -0.174978 -0.435512 -0.143642 -0.45272 -0.0974656 0.223238 0.829662 -0.212864 -0.762899 0.600346 0.01065 -0.124074 0.777076 0.112802 0.252475 0.037646 0.500232 0.0305262 0.646718 -0.104529 1.77467 -0.191123 -0.699176 1.33432 0.0632594 -0.0672093 2.02233 -3.76031 -0.88252 0.0642389 0.254998 5.50696 -0.401378 -1.55552 1.31062 0.00900462 0.143188 -1.60406 0.311651 0.390319 -1.01912 -1.51163 1.49813 -0.297019 0.261265 0.111408 0.731042 0.119203 0.0500855 -0.187783 -1.6792 -0.294257 0.492304 -1.27306 -1.19648 -0.163836 0.290835 1.8243 -4.33724 1.33304 0.107492 0.155107 -3.38682 0.249273 -0.328707 -3.08748 12.3839 2.66072 0.546376 0.915233 -0.302606 3.96693 1.38342 -1.55092 2.22713 -2.45169 -2.48168 1.1987 -1.85804 1.01804 -1.22942 0 0 0 0 0 0.254069 0.179395 0.0212322 0 0 0 0 0.0102342 0 -0.0284601 0 0 -0.00524581 -0.0898869 0.0556919 0 0.00314443 0.708924 -0.122618 0 0 -0.901126 -0.0041441 0 -0.147435 3.45568 0 0 -0.0809411 1.5606 0 -0.696384 0 -0.498287 0 0 -0.0450789 0 0 -1.7927 0.215861 -0.11612 0 0.444484 0.195983 0 0 -0.89934 0 0.0269997 0.43856 -0.0263697 0 0 0.00893733 -0.0430782 0 -0.0127293 0.0336571 -0.0713305 -8.21982 0.305745 -0.0580915 0 0.0569676 -0.217397 0.447028 -0.401605 -1.17398 0 0 0 12.7192 0.825248 1.16845 0.0545842 -0.131189 1.80431 0.00386217 -0.00943875 0.127939 0.158192 0 0 0 0 0 0 0.0792974 0 -0.0298635 0 0 0 0 0.0554304 0.737181 0 0 -0.419915 0 -0.05659 0 0.00762004 0 0 0.0111732 0 -0.0899871 0.0437063 -0.0755632 0.00328154 0 0 0.0391216 0 1.84581 0 -1.55033 0.163208 0 0.20174 -0.325145 -0.0116809 0 0.0085263 0 0 0.0996055 0 0.453644 -0.284251 0 0 -0.02721 0 0 0.0315271 0.548262 0.282858 0 0.627984 0 -0.650108 0.219835 -0.255142 0.455692 0.042941 -0.433924 0.553022 -0.132128 -1.12987 -4.48952 -0.116869 0 0 0 0.0841997 0.142832 0 0 0 0 -0.228902 10.8585 2.80919 -1.08895 0.809765 -0.655206 1.02034 0.263738 -0.253208 0.346646 -0.317343 0 0 0 0 0 0 +50 0 1.45105 0.439237 0.326244 0.288501 -0.133011 -0.122435 0.173007 0.971718 0.36857 -2.59652 -0.245174 0.387551 -0.515663 -0.208678 -0.0480204 1.68547 7.02247 -1.35499 0.226106 0.540805 -0.775662 -0.51185 0.604953 -1.31478 0.376618 0.55828 0.339844 0.056587 0.417731 0.0895559 0.532654 -0.164491 -1.28526 0.105631 0.125981 -0.0537335 0.70234 -5.32595 -0.605096 0.0329047 -0.625427 1.06726 -0.0594351 -0.260344 -0.227107 -0.0152614 0.159062 -0.0778375 0.534444 -0.12959 0.115034 -6.09278 -0.310802 0.360625 -0.163815 -1.34487 0.041543 0.107348 0.736715 0.0431376 0.56753 0.189447 1.70278 -1.96347 -0.149915 -0.346443 2.40491 0.212872 0.239576 1.01982 0.78118 -0.4454 -0.735229 -0.274494 0.014626 -1.71355 17.2157 7.47716 -2.40793 6.72851 -3.15338 4.04503 4.80517 -1.35556 1.67417 -1.42048 0.991826 1.0952 -0.784371 0.756333 -0.470098 0 0 0 0 0 0.326244 0.288501 0.00355687 0 0 0 0 -0.00254144 0 0.0343391 0 0 -0.00299187 0.00519342 0.119033 0 0.0223115 -0.123953 0.299257 0 0 0.084193 0.000431036 0 -0.296772 -0.384686 0 0 -0.0220692 -0.382273 0 -0.533083 0 0.266588 0 0 0.0135767 0 0 -1.6132 -0.0515984 -0.0618869 0 0.0707749 0.0480815 0 0 -0.543186 0 0.00581795 -0.273565 -0.0120013 0 0 0.00302892 -0.00956223 0 -0.00536835 -0.287945 0.0132637 0.850628 0.0666197 0.0444854 0 0.0886916 0.0576575 0.417604 -0.15623 -0.0615806 0 0 0 7.50731 0.494343 -0.757265 0.0291286 0.0248672 0.164528 0.00211695 -0.000295099 0.0252357 -0.175491 0 0 0 0 0 0 -0.133011 0 -0.122435 0 0 0 0 -0.053535 0.555182 0 0 -0.356319 0 -0.0401424 0 -0.00426789 0 0 -0.0201807 0 0.0375622 0.0171728 -0.00527476 -0.00537442 0 0 -0.0549343 0 -0.578282 0 -1.541 -0.316673 0 0.146773 -0.137587 -8.65485e-05 0 -0.00507896 0 0 0.0564238 0 -0.911111 -0.266249 0 0 -0.0313813 0 0 0.180921 0.250872 -0.00610559 0 0.875026 0 -0.0435322 0.172535 -0.123189 -0.18136 0.0707138 0.428827 0.0857088 -0.023293 0.0806175 3.74352 -0.0214563 0 0 0 0.0573314 0.0309027 0 0 0 0 -0.151976 16.7138 2.69617 -0.435853 1.04915 -0.519861 0.56473 0.234507 -0.195392 0.199935 -0.0655046 0 0 0 0 0 0 +51 0 -0.14529 -0.357642 0.016619 -0.0387256 0.136768 0.0438613 -0.297345 -1.55309 -0.146251 -0.354934 0.0488003 -0.145674 -0.11455 0.405844 -0.0366409 -1.85288 -6.81358 -0.0051271 -0.179544 -0.0919027 -0.144479 0.30535 0.129142 -0.538268 -0.463211 -0.51664 0.099821 -0.0020966 0.0147332 0.0492159 0.093639 -0.0618189 0.648409 0.180811 -0.0511017 0.0294272 0.0720014 1.47094 0.278578 -0.0192909 -0.302008 0.157866 0.221459 0.400378 -0.638233 -0.00334811 -0.0212426 -0.325722 -0.711016 -0.535203 -0.388687 2.15677 0.121602 -0.147238 0.0288107 -2.30348 0.200749 0.1282 1.23741 0.707908 -0.280856 -0.0326962 -1.34679 1.23006 1.10476 -0.583504 -0.586303 -0.346406 0.0690394 1.54911 -0.00487871 0.441815 -0.177005 -0.54295 0.0428038 1.90428 -2.73222 -1.16082 2.93872 -0.854551 1.30626 -3.62627 2.08427 -0.246212 -1.15126 2.52267 2.7873 -1.24367 0.326949 -0.142083 -0.0165802 0 0 0 0 0 0.016619 -0.0387256 -0.0241169 0 0 0 0 -0.0134244 0 -0.0687204 0 0 -0.0022336 -0.000882573 -0.215407 0 -0.0266376 0.26978 -0.50172 0 0 0.927009 -0.000792439 0 0.583832 -1.42298 0 0 0.0865371 -0.105291 0 1.08389 0 0.53272 0 0 0.0531625 0 0 2.04798 -0.262742 -0.0113186 0 -0.476036 -0.213203 0 0 0.696764 0 -0.00126125 1.44946 -0.00854 0 0 0.0085681 0.0742846 0 -0.0122929 -0.0112793 0.101064 3.58683 0.0238123 -0.201563 0 -0.101627 0.063411 0.181148 0.0579365 0.306331 0 0 0 -3.09824 0.217294 1.7484 0.00174758 0.132684 -1.42408 0.000565931 0.00671497 -0.0560685 0.153774 0 0 0 0 0 0 0.136768 0 0.0438613 0 0 0 0 -0.0541343 0.0415322 0 0 -0.00527611 0 -0.00933488 0 0.00344985 0 0 0.00167328 0 0.217483 -0.0207853 0.0150958 -0.00124255 0 0 0.0524398 0 -0.452361 0 0.802123 0.0774992 0 -0.174549 0.394253 0.00036997 0 -0.00514014 0 0 -0.00472504 0 0.193973 0.180455 0 0 0.015994 0 0 0.188748 -1.58478 -0.0960703 0 -0.0732507 0 0.659922 -0.104711 0.124996 -0.138604 -0.038403 0.143701 -0.726152 0.0601316 -0.0920034 -1.7356 0.00133888 0 0 0 -0.110539 -0.0241495 0 0 0 0 0.0194355 -2.34236 -0.804624 1.7705 -0.531678 0.705625 -0.92233 0.0173458 0.0573643 -0.1727 0.241746 0 0 0 0 0 0 +52 0 0.285161 0.371355 0.270295 0.204552 -0.00336214 -0.0719047 0.490567 1.11793 0.409516 -2.45911 -0.0416554 0.190127 -0.43833 -0.195317 0.214319 0.944586 2.36773 -0.916516 0.77592 0.146531 -0.505509 -0.522239 0.521897 -1.23183 0.341395 0.512342 0.718809 0.0187827 0.58706 0.0604018 0.504104 0.372846 -1.2318 1.03918 0.112852 0.0332082 2.00257 -3.10906 -0.536319 -0.0239697 -0.548067 3.77899 -0.0475057 -1.16742 -0.264512 -0.00888342 0.110182 1.11282 0.353911 0.27531 -0.229228 -1.62939 -0.402079 0.943479 -0.363295 -0.938064 -0.835513 -0.255259 0.734033 0.142055 0.372258 0.297769 1.60791 -0.750713 -0.370358 -0.584875 1.58049 2.02461 0.0649054 0.914955 0.759453 -0.301944 -0.547291 0.0341247 0.139303 -1.22989 6.70262 5.96747 -4.09317 5.82886 -2.1858 1.8533 4.36815 -1.0467 1.32868 -1.64768 1.15518 0.907784 -1.13307 0.886204 -0.660655 0 0 0 0 0 0.270295 0.204552 0.00468702 0 0 0 0 -0.00107555 0 -0.0199619 0 0 0.000171554 0.0287365 -0.0639946 0 0.0039855 0.522784 -0.203285 0 0 -0.36903 0.00161097 0 0.101409 2.43212 0 0 0.00141534 1.12861 0 0.401604 0 0.0709269 0 0 0.0325937 0 0 0.461081 -0.0238418 0.000444464 0 0.0904144 0.209762 0 0 -0.179645 0 0.00861757 0.506763 0.00546781 0 0 0.00500952 -0.00389948 0 -0.0140875 0.294733 -0.037216 -3.17472 0.06304 -0.0508287 0 -0.0715157 -0.0577974 -0.353021 0.0164286 -0.159543 0 0 0 3.09033 0.326197 1.1376 0.0213116 0.0031087 0.0811372 0.00120268 -0.000317853 0.0118638 0.0632013 0 0 0 0 0 0 -0.00336214 0 -0.0719047 0 0 0 0 0.0517495 0.624797 0 0 -0.404321 0 -0.0384972 0 0.0102363 0 0 0.00534916 0 0.0139552 0.0913482 -0.0212227 0.00369252 0 0 0.0529898 0 3.39142 0 0.790481 0.149643 0 0.555106 0.188316 -0.00171023 0 0.0108165 0 0 0.0914161 0 0.711671 -0.0609845 0 0 0.00643378 0 0 -0.316824 2.86753 0.152767 0 0.628298 0 -0.160208 0.162184 -0.113037 0.055034 0.0658995 0.367809 0.703789 -0.0141577 -0.452267 1.03129 -0.0337551 0 0 0 0.344206 0.0629751 0 0 0 0 -0.296023 2.946 2.72364 -2.98106 0.578264 -0.630564 0.419854 0.286393 -0.252572 0.266869 -0.309584 0 0 0 0 0 0 +53 0 0.627836 0.131904 0.0398322 0.117364 -0.180096 0.00421504 -0.188413 0.264855 0.165783 -0.407004 0.0632934 0.84639 -0.0389314 1.21901 0.0764618 1.38283 3.58023 -0.0402929 0.532824 0.123276 0.0202771 0.0810752 0.0743037 -0.0651056 0.140667 0.540303 0.420917 -0.0201611 -0.276656 0.269179 0.0688951 0.123256 -0.0393149 0.647989 0.0262415 0.0366956 0.563174 -1.77562 0.078028 0.0100463 -0.0169535 0.530494 0.0546332 3.76386 0.114151 -0.00577153 -0.0675606 0.883398 0.142129 0.558772 0.537108 -0.17878 0.130245 0.564436 -0.3152 -0.634961 -0.325272 -0.580209 -0.1781 -0.0445555 0.842297 0.51965 0.821994 -0.636443 -0.755474 -0.232613 1.28483 1.16492 -0.284874 -0.397476 0.843615 -0.140856 -0.676373 -0.946189 0.0575068 -0.355263 7.9368 1.58794 0.0699354 1.51752 -1.2305 1.57583 0.543874 -0.570819 0.940713 -1.5653 -0.347561 -0.0012355 0.319032 -0.354719 0.495103 0 0 0 0 0 0.0398322 0.117364 -0.00501976 0 0 0 0 -0.00292607 0 0.00478226 0 0 -0.00417126 -0.0410108 0.103644 0 -0.00351046 -0.336926 0.31355 0 0 0.378854 -0.00210244 0 -0.160695 -1.4561 0 0 0.0313934 -0.878559 0 -0.488876 0 0.139122 0 0 0.0087169 0 0 -1.33755 -0.0534199 -0.0832784 0 -0.0893089 -0.126906 0 0 -0.116846 0 0.000732418 0.26845 -0.033116 0 0 -0.00474867 0.0185532 0 0.0206478 -0.476652 0.0419044 3.24451 0.0463322 0.0230714 0 0.109622 0.100182 0.276689 0.116695 -0.0313154 0 0 0 1.53164 0.151359 -1.50473 0.00438059 0.0535977 -0.422619 0.000389745 0.00132966 0.0127477 -0.217666 0 0 0 0 0 0 -0.180096 0 0.00421504 0 0 0 0 -0.0107494 -0.358652 0 0 -0.134169 0 -0.0211366 0 -0.0156238 0 0 0.0864251 0 0.0456869 -0.0333979 -0.0441038 0.010776 0 0 -0.105784 0 -3.44488 0 -1.35795 -0.187009 0 -0.149198 -0.181355 -0.00692494 0 -0.0047647 0 0 -0.0532644 0 -0.942333 0.169119 0 0 0.0273991 0 0 0.252886 0.178531 -0.192089 0 0.0176665 0 -0.100175 -0.01472 0.0783595 -0.304262 0.0487109 0.244113 0.139132 -0.000936692 0.49171 4.64298 0.0126385 0 0 0 -0.18655 -0.045263 0 0 0 0 0.126491 18.6539 2.58031 0.223969 0.88302 -0.476638 0.762878 0.138441 -0.0968436 0.0966078 0.0550349 0 0 0 0 0 0 +54 0 0.189541 0.0493996 0.192928 0.0638854 0.140093 -0.0092573 -0.197867 -0.853797 -1.3807 -0.869055 0.0431119 -0.00601442 -0.549767 -0.110715 0.168508 -0.539366 -2.39002 -0.578192 0.84201 -0.20952 -0.437469 -0.202854 0.462772 -0.694164 -0.193442 -0.0493239 0.772629 0.0234458 0.621622 0.0282907 0.0189118 0.304415 -0.393961 0.921672 -0.012971 0.0766792 1.9543 -1.22358 0.132516 -0.0635219 -0.888225 2.71753 0.322002 -0.704091 -1.26118 -0.0168665 0.116095 1.36746 -0.876697 -0.839503 -0.0600357 -3.382 -1.28117 0.32761 0.001668 -1.44119 -0.289951 -0.0380533 0.744002 1.01426 -0.12063 0.277664 0.450133 0.361817 0.781723 -0.704674 0.894061 1.08754 1.74513 1.60481 0.431887 0.672638 -1.93611 0.355957 -0.113638 -0.76802 4.75205 0.828361 0.481935 2.54945 -0.784702 -1.23008 3.26691 -0.492761 -1.55355 2.53116 3.83998 -1.5005 0.182164 0.52157 -1.11245 0 0 0 0 0 0.192928 0.0638854 -0.0305561 0 0 0 0 -0.0172207 0 -0.0618582 0 0 -0.00205074 0.0056483 -0.158759 0 -0.0254843 0.421774 -0.396326 0 0 1.03732 -5.61422e-06 0 0.294324 -0.502665 0 0 0.079437 0.310672 0 0.573943 0 0.776866 0 0 0.0667475 0 0 0.966407 -0.345949 -0.0193612 0 -0.618485 -0.0725266 0 0 0.556376 0 0.00156381 1.15975 0.00300775 0 0 0.00452333 0.091857 0 -0.0118654 0.207934 0.060018 2.82782 0.00603712 -0.128853 0 -0.144247 0.0761064 0.718994 -0.16085 0.495632 0 0 0 2.34512 0.404494 1.58846 0.0238086 0.105968 -0.913444 0.000771823 0.00712706 -0.0562289 0.088372 0 0 0 0 0 0 0.140093 0 -0.0092573 0 0 0 0 -0.0378174 -0.150656 0 0 -0.124929 0 -0.0133892 0 -0.00983583 0 0 0.0519793 0 0.136394 -0.00603374 0.0297121 0.00383124 0 0 -0.0715217 0 -0.510718 0 0.92174 -0.0705216 0 0.0809071 0.408272 0.0032258 0 -0.00588488 0 0 -0.0273259 0 -0.10055 0.263695 0 0 0.0230689 0 0 0.360585 -0.311191 -0.175382 0 0.650048 0 0.519988 -0.130976 0.171397 -0.374984 -0.105819 0.513453 -0.440822 0.148448 0.558008 4.54507 0.0883159 0 0 0 -0.0937556 -0.0905295 0 0 0 0 0.167362 0.402162 0.392892 0.188196 -0.0522356 0.350845 -0.721562 0.0926361 0.012995 -0.146497 0.223761 0 0 0 0 0 0 +55 0 -0.266048 -0.494283 -0.330323 -0.203293 0.263161 0.17926 -0.291098 -1.69897 -3.36917 2.04217 0.370867 -0.0610474 0.361871 1.39733 0.115835 -2.97503 -11.1181 1.14193 0.308523 -0.788517 0.66341 0.677539 -0.795244 1.04662 -0.571065 -0.9422 -0.34364 -0.0943288 -1.30281 0.100623 -1.54388 0.244723 1.31308 -0.520314 -0.119863 0.113839 -0.509595 3.02998 1.56053 -0.0730259 0.128812 -2.08482 0.542793 2.84811 -0.81224 0.00652172 -0.361395 0.998302 -1.18415 -0.0227834 -0.150754 4.83026 -1.18167 0.100115 -0.0860377 -0.487622 -0.724068 -0.0103997 -0.548022 0.171583 0.908799 0.0470032 -3.0139 1.67749 0.237731 -0.307027 -2.42972 -0.150336 3.77692 -1.09037 -0.0920214 1.04515 0.165726 -1.06265 0.255396 0.369173 -11.2014 -6.04771 4.97882 -4.83539 2.08184 -1.57506 -2.37162 0.45994 -0.81294 1.40574 2.47307 -3.21215 2.71016 -2.73799 2.33151 0 0 0 0 0 -0.330323 -0.203293 -0.0323939 0 0 0 0 -0.0159471 0 -0.0682711 0 0 -0.00026129 -0.00561982 -0.196057 0 -0.0282503 -0.0317962 -0.449117 0 0 1.1417 -0.000977121 0 0.557248 -1.65474 0 0 0.0974688 -0.379548 0 1.01727 0 0.411541 0 0 0.0337769 0 0 1.9433 -0.32004 0.0139668 0 -0.650836 -0.223372 0 0 0.759803 0 -0.00747891 0.00391156 0.0221557 0 0 0.000375206 0.0916617 0 0.00438238 0.147646 0.0478583 1.81879 -0.0794576 -0.13125 0 -0.139903 -0.0532594 0.142738 -0.0418616 0.236999 0 0 0 -8.33436 -0.344346 1.06117 -0.0313016 0.0396332 -0.785061 -0.00122672 0.00215694 -0.0324855 0.218473 0 0 0 0 0 0 0.263161 0 0.17926 0 0 0 0 -0.0185691 -0.315838 0 0 0.151333 0 0.0387428 0 0.0255115 0 0 -0.0676711 0 0.0806394 -0.0258848 -0.0208226 -0.00264655 0 0 0.178704 0 0.560156 0 0.023774 0.235219 0 -0.388678 -0.000719972 0.00682783 0 -0.000749449 0 0 -0.00941204 0 0.791129 0.399501 0 0 0.0672108 0 0 -0.161676 1.20897 -0.332819 0 0.127744 0 0.337252 -0.193087 0.294854 -0.221428 0.0620658 0.160626 0.098313 -0.0223689 -0.423191 0.456871 -0.0277303 0 0 0 0.0914024 -0.0132629 0 0 0 0 -0.0136923 2.97153 -0.516043 2.207 -0.135128 -0.257427 0.663798 -0.166853 0.128075 -0.0962832 0.274262 0 0 0 0 0 0 +56 0 -0.0404916 -0.233571 -0.343126 0.00095837 -0.315225 0.0979722 -0.690927 -1.42935 0.392377 2.83807 0.0970542 -0.503429 0.606576 0.82062 -0.0283656 -0.509139 0.953511 1.46614 -0.234111 0.857441 0.849833 0.611464 -0.667519 1.44158 -0.676973 -0.415711 -0.563233 -0.0692642 -0.349724 -0.047472 -0.34672 -0.0353392 0.718362 -0.54606 -0.274376 0.0220357 -1.28057 0.0887757 0.082403 0.216573 0.744832 -2.41761 0.0494525 1.22643 0.651218 0.0574626 -0.160967 -0.462478 -0.261692 -0.179704 1.29749 5.94749 -0.263461 -0.382708 -0.017018 -5.01233 -0.538964 0.612489 -1.52265 -0.18045 1.27747 -0.144318 -0.207023 2.66841 1.18242 -0.288094 -2.80317 -0.986705 -0.370555 -2.10529 0.491416 0.0766118 1.39355 -0.60848 0.00970543 5.81212 12.107 -2.8443 2.67789 -2.24037 0.338972 -0.707403 -4.76584 1.74606 -2.15641 0.723265 -2.00456 -0.0140469 0.268868 -0.0946527 0.289338 0 0 0 0 0 -0.343126 0.00095837 -0.00308022 0 0 0 0 0.00536703 0 -0.0333616 0 0 0.00177804 0.01204 -0.123814 0 -0.0163785 0.0515492 -0.0801113 0 0 0.463585 0.000533022 0 0.335291 1.702 0 0 0.0836648 0.331416 0 0.682497 0 0.0749347 0 0 0.0202088 0 0 0.828586 0.107245 0.0313249 0 -0.0489018 -0.067964 0 0 0.39239 0 -0.0096209 0.158116 -0.000708922 0 0 -0.00606734 0.00550451 0 0.0372108 0.10502 0.020565 -0.504676 -0.0908201 -0.0610984 0 -0.018817 0.0554574 0.106192 0.0151424 0.248486 0 0 0 -7.24919 -0.412459 -0.280383 -0.00202113 -0.00143696 -0.654819 -0.00291273 0.00375188 -0.0241212 -0.00355426 0 0 0 0 0 0 -0.315225 0 0.0979722 0 0 0 0 0.0676525 -1.20393 0 0 -0.0154725 0 -0.0146499 0 -0.0204281 0 0 0.0893982 0 -0.153227 -0.00673019 -0.0854605 0.0102206 0 0 -0.142237 0 -1.92106 0 -1.06931 -0.100879 0 0.0576028 -0.530692 -0.012937 0 0.00129196 0 0 -0.139779 0 -0.26108 0.527522 0 0 0.0665149 0 0 -0.166915 1.83341 0.000140655 0 -1.17424 0 -0.111361 -0.00872107 0.00934997 -0.410743 -0.0593211 0.554125 0.403331 0.165556 1.57814 1.81314 0.167826 0 0 0 -0.124926 -0.141398 0 0 0 0 0.2916 18.5935 3.10726 -2.19762 1.24926 -0.488443 0.0947018 0.127951 -0.0633131 -0.00623437 -0.0184301 0 0 0 0 0 0 +57 0 0.00412685 -0.0401682 0.0381537 0.0273122 0.174181 0.110082 -0.393449 -1.97904 0.126 0.623194 0.246485 0.276919 -0.0441887 0.888919 0.319279 -0.831954 -1.87342 0.425011 1.44645 0.0842351 0.142086 0.0544304 0.0578757 0.145067 -0.554304 -0.362597 0.26924 -0.0413338 0.128608 0.103406 0.0983293 0.472145 -0.0554955 0.985835 -0.104101 0.164264 1.13422 -0.904196 0.83797 0.0511318 -0.015101 3.27268 0.553357 2.51956 0.0442765 0.0199638 -0.0508072 2.13242 -0.920407 -1.23077 -0.131649 3.00292 -1.62453 0.932023 0.159771 -2.67725 -0.471475 1.24452 0.125224 -0.129142 -0.79405 0.112195 -1.19123 1.45976 1.01897 -0.471281 -0.793766 -0.694393 -0.338103 0.689262 0.355688 0.212024 -2.44676 0.406326 0.103923 -0.615743 7.4199 -2.76676 6.68889 -1.73737 0.5979 0.302028 -0.887853 0.242412 -1.41291 3.86501 -0.13629 -1.28204 -0.216254 -0.324368 -0.106401 0 0 0 0 0 0.0381537 0.0273122 0.00180091 0 0 0 0 0.000771596 0 -0.0915273 0 0 -0.00468794 -0.0215402 -0.237314 0 -0.0346999 1.16179 -0.631879 0 0 1.36467 -0.00191696 0 0.5012 5.09643 0 0 0.170103 2.49042 0 0.765576 0 0.672955 0 0 0.0855888 0 0 1.07028 0.00743368 -0.053353 0 0.0216685 -0.246357 0 0 0.747689 0 0.00267746 0.320004 0.0467852 0 0 0.0111628 -0.00504205 0 -0.0153248 0.567203 0.100315 0.588903 0.02253 -0.209801 0 -0.087098 -0.204207 1.14685 -0.419576 0.639685 0 0 0 3.45174 0.528324 2.56086 0.0289102 0.0850086 -0.664265 0.00238997 0.0061876 -0.0514132 0.33183 0 0 0 0 0 0 0.174181 0 0.110082 0 0 0 0 0.000454742 0.514101 0 0 -0.298843 0 -0.0430865 0 0.0147152 0 0 0.0257227 0 -0.0548738 -0.008892 -0.0807016 0.000780323 0 0 0.13781 0 0.316401 0 -0.614298 -0.0182133 0 -0.151829 -0.189616 -0.0108058 0 -0.000820876 0 0 0.0609264 0 0.182921 0.304877 0 0 0.0245816 0 0 0.088532 -1.30205 -0.0678495 0 0.221637 0 0.489747 0.122972 -0.0185231 -0.121603 -0.07416 0.212338 -0.428509 0.0462361 0.169299 0.576811 0.00255204 0 0 0 0.0590192 -0.00995763 0 0 0 0 -0.0846265 8.1945 1.57871 1.38614 0.202474 0.301535 -0.370431 0.231676 -0.0876092 -0.0236288 0.231769 0 0 0 0 0 0 +58 0 0.342194 0.250964 0.211896 0.187931 0.0696207 -0.0205905 0.350872 0.612722 1.15001 -1.19821 -0.0608678 0.219481 -0.296689 0.434934 -0.0186446 0.45766 2.57008 -0.564929 -0.1286 0.54134 -0.325472 -0.374637 0.386471 -0.396351 0.23115 0.0455316 0.491833 0.0240254 0.421606 0.0625004 0.533221 -0.109502 -0.695553 0.92365 0.0916367 0.0170715 2.01532 -2.63062 -0.420617 0.0647556 -0.13179 4.32187 -0.097328 0.55483 0.607176 -0.002457 0.095485 -0.637776 -0.0783077 0.146624 -0.389476 5.46639 -0.860032 -0.241458 0.258307 1.01877 -0.681342 0.700416 0.323061 0.00294156 -0.181256 -0.119933 1.68251 -0.848379 -0.784798 -0.30752 1.98313 2.25652 0.524724 0.472962 0.062463 0.0933575 -0.667927 0.572105 -0.143807 -0.767529 8.77535 4.42921 -2.61879 2.85264 -2.21933 3.04063 1.32878 -1.30146 1.64709 -1.62428 -1.86899 0.752514 -0.900054 0.247009 -0.348808 0 0 0 0 0 0.211896 0.187931 0.00272467 0 0 0 0 -0.0020248 0 -0.0460971 0 0 -0.00386745 -0.0407944 0.00633383 0 -0.0165425 0.445247 -0.116288 0 0 0.031934 -0.00211804 0 -0.0477011 2.02992 0 0 0.0480628 0.947958 0 -0.255061 0 0.0791538 0 0 0.0340325 0 0 -0.855062 -0.0411707 -0.0759086 0 0.0522796 -0.0112795 0 0 -0.0508481 0 0.00912209 0.440103 0.00436926 0 0 -0.000992076 0.00432055 0 0.00183961 0.107612 0.00404185 -0.93102 0.0955659 -0.0453208 0 -0.00386084 -0.0853433 -0.00670539 0.0587013 -0.0586805 0 0 0 5.55999 0.422542 0.479816 0.0230712 0.0200861 0.105329 0.0010797 0.000842412 0.0168558 0.043629 0 0 0 0 0 0 0.0696207 0 -0.0205905 0 0 0 0 0.071936 0.193068 0 0 -0.572433 0 -0.0618098 0 0.00230457 0 0 0.0288458 0 0.0610231 0.0396997 -0.11806 0.00213088 0 0 -0.0222857 0 1.16886 0 -0.656267 0.205759 0 0.263094 -8.96201e-06 -0.0130976 0 0.00916474 0 0 0.0454047 0 0.568381 -0.0686588 0 0 -0.0118966 0 0 -0.146987 2.5904 -0.0151944 0 0.238985 0 -0.524822 0.205956 -0.0526446 -0.260589 -0.0115676 0.198129 1.09504 -0.05893 0.0177639 2.37231 -0.000796867 0 0 0 0.205308 0.0208522 0 0 0 0 -0.144052 13.4876 4.72348 -2.24059 0.973074 -0.864139 1.0495 0.43775 -0.311586 0.335443 -0.190393 0 0 0 0 0 0 +59 0 0 0 0 0 -0.493445 0.20096 0.489476 2.93738 0 0 0.320916 0.88833 0 1.70876 -0.0104092 0 0 0 -0.192209 4.00301 0 0 0 0 0.321035 0 0 -0.943977 -5.95709 0.722022 0 -0.0299352 0 0 -0.093143 0.0338779 0 0 1.2062 1.27929 0 0 0.232788 2.50926 0 0.945546 -2.04213 -0.66241 -0.32365 2.29532 -0.410426 0 0.0180782 0.0615 -0.392286 2.64146 1.24182 0.839698 0 0 -0.590434 -3.07311 0 -0.42178 -0.245914 1.11596 0 0 0 0 -0.198236 0.793973 0 -2.84592 2.30134 0 0 0 -5.63428 0 -1.01663 5.02328 0 -0.447476 2.22598 -5.51589 0 -0.0236781 2.67816 -6.87043 20.8341 0 0 0 -0.173426 -0.0466124 0 0 0 0.117567 -0.176603 0 0.0157768 0 -0.0200175 0.0393666 0 0 0 0 0.105312 0 0.0179854 0 0.257972 0 0.847181 -0.0593338 0 0.00785893 0 0 0.278795 -0.00707849 -0.0061316 0 -0.0263626 0 -0.0125557 -0.0228887 0.0525001 -0.0996203 -0.00387135 0 -0.00141625 0 0 0 -0.00186777 0 0 0.018665 -0.0196428 -0.0218073 -0.0537302 0 0 0.00934618 0 0.0218319 0 0 -0.0879649 0.0457722 -0.0974748 -0.0136815 0 0 0.000630081 0.0451758 0.00913563 -0.0401464 0.0204589 0 -0.0622508 -0.00564341 0.346096 0 0 0 -0.329655 0 0.123612 -0.37506 0 -0.0123678 0.0362312 -0.134621 0 0.00907502 -0.0255501 0.0601021 -0.134887 0 -0.493445 -0.173426 0.20096 -0.0466124 0.67151 0.175065 -0.876306 0.486149 -0.918396 0.00346453 0.0767434 -0.398411 0.00358612 -0.050216 -0.137592 0.0135853 0.0730679 -0.0755439 -0.419266 -0.309451 0.192436 0.296223 -0.0751598 -0.103074 0.403697 -0.287741 0.174795 -0.00472383 3.00166 0.65503 -0.0840313 1.68875 -0.0208768 1.55348 0.206478 -0.0163724 0.0129972 0.0674359 0.123922 -1.94793 -0.156736 -0.0420839 2.74394 -0.380223 0.0132152 0.0585034 -0.0799499 -0.0625837 0.082632 -0.0157978 1.40713 -0.353438 -0.203676 0.50834 0.474953 0.0214481 -0.238022 0.321467 0.187538 -0.0660161 0.44524 -0.222297 -0.0292457 0.075387 -4.46363 0.225732 -0.0411984 0.103458 -0.0845482 0.130849 -0.0422631 -0.110887 -0.0224624 0.205074 0.0157623 0.235612 0.236648 0.562012 -3.52201 0.120941 -1.28987 4.37817 0.0699767 -0.502073 1.19133 -1.74583 0.0261923 -0.297927 0.76725 -1.24584 2.66802 0 +60 0 0 0 0 0 0.130973 0.179034 -0.329444 0.372428 0 0 -0.250571 0.748422 0 0.563761 -0.122145 0 0 0 -0.0788784 -3.0712 0 0 0 0 -0.0340874 0 0 -0.374401 2.25899 0.277103 0 -0.182502 0 0 -0.155041 -0.0853201 0 0 -0.662489 -0.597554 0 0 -0.253726 2.10464 0 0.150101 0.0180023 0.569745 0.571009 -0.46826 0.787682 0 -0.345994 -0.327275 0.0522337 2.16818 0.37595 1.58083 0 0 0.326317 2.45234 0 0.569349 0.500544 -0.265899 0 0 0 0 0.124433 -1.10051 0 2.91241 0.61784 0 0 0 -1.72312 0 1.42898 -6.3149 0 0.76714 -1.51617 -3.80842 0 0.934466 -1.83504 2.10944 -10.1945 0 0 0 0.0367024 0.0448656 0 0 0 0.10764 -0.0676304 0 0.0211118 0 0.0069979 0.0158298 0 0 0 0 0.0467584 0 -0.00133015 0 0.149749 0 0.571387 -0.231552 0 0.00467032 0 0 0.225919 -0.00228345 -0.0562039 0 -0.00893555 0 -0.00489502 -0.152445 0.022562 -0.0300207 -0.0322746 0 0.000457649 0 0 0 -0.000658554 0 0 0.00626417 -0.0105576 0.0283959 -0.0340914 0 0 0.0255012 0 0.00630143 0 0 0.0220956 0.0251299 -0.149457 -0.0132883 0 0 -0.119019 -0.0351999 0.0144211 -0.122884 0.0168487 0 -0.115573 0.025263 -0.110355 0 0 0 -0.31093 0 0.126691 -0.653845 0 -0.00886134 0.0495639 -0.204561 0 0.00330664 -0.0230155 0.0799665 -0.261242 0 0.130973 0.0367024 0.179034 0.0448656 -0.230739 -0.0940335 0.163334 0.198931 0.243376 -0.0835266 0.0610125 -0.244341 -0.0196057 -0.0558521 0.0827681 0.0357558 0.0130126 -0.335111 -0.158004 -1.16949 0.275995 0.131574 -0.0700062 0.0157356 0.466896 0.0329941 0.113309 -0.028743 4.65764 0.410914 1.80939 1.11989 0.0201258 0.90018 0.897112 -0.0104942 0.0133105 0.0308238 0.0627182 0.482482 0.133922 0.00323069 2.66767 -0.491538 0.00167109 0.100826 -0.0246089 -0.182392 0.13976 0.897902 -0.4564 1.16876 -0.0812905 0.153442 -0.087418 -0.631587 0.386492 -0.607302 0.376053 -0.014665 -1.33724 -0.0145359 -0.108478 0.702207 3.29149 -0.227536 0.130189 -0.0732662 0.261631 -0.0110822 0.114178 -0.266235 0.169519 0.191778 0.0119465 -0.129795 -5.0956 0.32229 -3.81382 0.158194 -0.496295 -2.58817 0.0463897 -0.271426 0.144005 -1.50037 0.116189 -0.186421 0.157335 -0.227997 -0.918376 0 +61 0 0 0 0 0 -0.368169 -0.248729 0.833881 2.53229 0 0 0.163747 -1.18257 0 -1.36077 -0.040789 0 0 0 0.0730903 -1.96876 0 0 0 0 0.318401 0 0 0.264742 4.03966 -0.408931 0 -0.116005 0 0 0.140695 0.013271 0 0 -0.238382 -0.0731341 0 0 -0.0521012 -4.82253 0 -0.094414 0.60412 0.162467 -0.103325 0.749792 -0.0142953 0 -0.271806 -0.10531 0.465994 -3.40369 -1.19137 0.239984 0 0 -1.26773 -2.22962 0 -0.147247 0.0250622 -0.405847 0 0 0 0 0.11371 0.81934 0 1.23295 -1.06373 0 0 0 -5.51489 0 -0.999497 -4.8181 0 -0.838583 -0.37177 -6.14333 0 -0.107137 -1.35793 1.86872 -13.701 0 0 0 0.0553165 0.0168712 0 0 0 -0.0236588 0.0810885 0 -0.00099506 0 0.00828783 0.0230527 0 0 0 0 0.0489507 0 0.00277123 0 0.216843 0 -0.245137 -0.137896 0 -0.000711555 0 0 -0.0645016 0.00291151 -0.0170596 0 0.0124216 0 0.00573473 0.0591158 -0.00935832 0.0412162 0.00524675 0 0.00058398 0 0 0 0.000876191 0 0 -0.00768881 0.00913161 -0.127888 0.0241116 0 0 0.0137364 0 -0.00983731 0 0 0.0048512 0.036548 -0.020345 0.0348885 0 0 -0.115455 -0.0140221 0.0114203 -0.037223 0.0292473 0 -0.000755569 -0.00666463 0.386045 0 0 0 -0.308908 0 -0.0432239 0.0640609 0 0.00467723 -0.00715345 -0.0436876 0 -0.00371334 0.00581314 -0.0146837 0.0211629 0 -0.368169 0.0553165 -0.248729 0.0168712 -0.585154 -0.0971778 0.283872 0.467022 0.428582 -0.00431097 0.0286517 -0.390063 -0.00194625 -0.0749919 0.04745 -0.0104082 0.00823189 0.0122425 -0.235398 -0.434298 -0.416844 0.342509 -0.238077 -0.0660691 -0.000723893 0.17553 0.170491 -0.000438885 -0.767366 -0.34745 -2.29224 -0.705708 0.00755911 1.60184 -1.0403 -0.0464447 -0.00111214 0.0819033 -0.023407 1.80032 0.0253443 0.0118336 -0.824992 -0.580742 0.00544592 -0.0335144 -0.102223 -0.0597318 0.0830842 -0.3015 -0.565275 0.346942 0.00690171 0.907178 -0.154156 0.0901703 -0.100018 0.187483 -0.135036 -0.183413 -0.173513 0.254994 -0.0997799 0.351123 0.87712 -0.0558335 -0.534535 0.0195396 0.1392 0.0747563 0.0911042 0.0114305 0.0133891 0.0783658 -0.0444572 -0.0974198 6.45539 0.57682 -3.1381 0.380141 -0.233686 -1.81824 0.0674735 -0.0884612 0.0590126 -1.98641 -0.00424468 0.0973559 -0.530156 0.859397 -2.91793 0 +62 0 -1.04959 -0.239685 -0.0811961 -0.254899 0.203111 -0.0748439 -0.28562 -1.65026 -0.609443 1.36543 -0.448672 -0.476161 0.0247249 -0.915226 0.0112766 -1.20342 -4.54419 0.233264 0.0278653 -0.152686 0.0333861 0.099361 -0.0335228 0.308169 -0.267143 -0.317264 -0.0300722 0.581005 1.76099 -0.332136 -0.147668 -0.167851 0.864645 -0.457219 0.019489 -0.100952 -0.467525 5.68141 -0.811539 -0.293656 0.0926986 -2.60167 -0.210571 -0.867599 0.267531 -0.366222 0.983704 -0.254728 0.503241 -1.84918 0.88768 -0.723017 0.0505514 0.078363 0.213024 -3.09953 -0.869511 -0.093296 -0.360472 -0.153895 1.29493 0.275683 0.0697533 1.19778 0.898796 -0.547703 -0.130796 -0.0845462 0.263212 -0.68203 0.695338 -0.986998 1.01504 0.639951 -0.898773 1.62769 -16.7222 -4.3124 1.85158 -2.98313 3.6171 -9.05009 -0.362838 1.16082 -2.81043 2.69513 -0.252915 0.553934 -1.28007 2.47922 -5.89364 0 0 0 0 0 -0.0811961 -0.254899 -0.00967129 0 0 0 0 -0.00112731 0 0.0176742 0 0 -0.00764652 -0.0257764 0.0340309 0 0.00204484 0.0328776 0.151886 0 0 0.140488 -0.00181147 0 0.0374474 0.0769947 0 0 0.0158184 0.0302108 0 0.0922023 0 -0.0182246 0 0 -0.00474185 0 0 0.280639 -0.0160192 -0.108011 0 -0.136599 -0.0362369 0 0 0.190049 0 -0.0169306 -0.0105538 0.0261195 0 0 0.0156745 0.0183751 0 -0.0334706 0.0204987 -0.0255855 -0.0324418 0.0173132 0.0391547 0 -0.035877 -0.0399921 0.00029687 0.0156298 -0.0362879 0 0 0 -0.633484 0.145616 -0.237855 -0.0256629 0.0347307 -0.0540832 0.0097135 -0.0126759 0.0188613 -0.0302018 0 0 0 0 0 0 0.203111 0 -0.0748439 0 0 0 0 -0.622048 -1.5913 0 0 0.944722 0 0.137864 0 -0.0923249 0 0 0.341052 0 -0.0250824 -0.173213 0.378568 0.0620661 0 0 -0.727216 0 -7.49393 0 1.3223 -1.29189 0 -1.49489 0.135479 0.0628455 0 -0.0714856 0 0 -0.204805 0 -2.94452 0.558994 0 0 0.0953283 0 0 0.181249 -1.03918 0.0727495 0 -1.59732 0 0.383877 0.0695365 -0.00683361 -0.495749 -0.257466 -0.216725 0.0184936 0.264616 1.68992 3.77845 0.174783 0 0 0 -0.444619 -0.179318 0 0 0 0 0.615594 -8.82113 -3.52972 3.85652 -0.995515 0.710639 -1.16084 -0.329731 0.386983 -0.671271 1.0419 0 0 0 0 0 0 +63 0 0.246256 -0.10212 0.0844349 0.160658 -0.241052 -0.320018 1.18152 2.68213 0.603069 -1.7125 0.391592 -0.990108 -0.0307107 -1.12682 0.0105696 -0.304511 0.436641 -0.235633 -0.0324459 -1.27371 -0.0874011 0.138137 0.038262 -0.581591 0.596991 -0.330524 -0.015453 0.338792 -0.490819 -0.329334 0.163543 0.193268 0.10743 0.413693 0.365152 0.0623105 0.039774 -0.0654541 0.897268 -0.901326 -0.143837 1.88013 0.18373 -3.88135 -0.631524 -0.705221 0.100952 0.206612 -0.483055 0.667492 -1.14896 2.29143 0.0188246 -0.145562 -0.195857 3.37826 0.435928 -0.0474241 1.09245 0.318766 -1.46439 0.350795 1.47269 -1.65089 -0.585159 0.297252 0.799447 -0.012371 -0.277785 2.07587 -1.03662 0.589933 -0.346697 0.898738 0.181931 -0.489809 1.7007 4.23584 -5.40055 1.55299 -0.995555 -1.51939 2.3037 -1.66702 2.30437 -4.36068 0.597021 -0.826207 1.28879 -1.81398 1.64266 0 0 0 0 0 0.0844349 0.160658 -0.0046367 0 0 0 0 -0.00137554 0 0.0273503 0 0 -0.00303831 0.00861642 -0.0112759 0 0.00395355 -0.100093 0.0924241 0 0 0.395627 0.000600622 0 -0.024284 0.134908 0 0 0.0702492 -0.206422 0 0.0494558 0 0.115198 0 0 0.0193934 0 0 0.424021 -0.0195638 -0.0428281 0 -0.0661174 -0.0171909 0 0 0.0198317 0 -0.0209961 -0.169867 0.0335854 0 0 0.0070111 0.0010297 0 -0.0217571 0.014776 -0.0145409 -0.322735 0.0490832 0.0396259 0 -0.00595191 -0.0612578 -0.136227 -0.0249039 -0.0666848 0 0 0 -0.991548 0.146721 -0.310958 -0.0383617 0.053339 -0.0863748 0.00440768 -0.00850566 0.0182762 -0.0410722 0 0 0 0 0 0 -0.241052 0 -0.320018 0 0 0 0 0.308534 1.78414 0 0 -0.414875 0 -0.0587426 0 0.0958266 0 0 -0.611435 0 0.311042 0.109246 -0.173476 -0.0940895 0 0 0.742524 0 1.73267 0 -0.0850505 -0.0612787 0 0.985241 -0.077371 -0.023401 0 0.0386013 0 0 0.220498 0 0.333873 -1.56055 0 0 -0.217302 0 0 -0.0741716 -0.118381 0.134687 0 1.91707 0 0.467925 0.0318256 -0.00578491 -0.0179393 0.147865 0.267862 -0.0190623 -0.128168 -1.63642 -0.380849 -0.0457459 0 0 0 0.311893 0.0710929 0 0 0 0 -0.519122 -6.3005 0.216785 -2.99664 0.325132 -0.360117 -0.271417 0.170115 -0.175017 0.253993 -0.704563 0 0 0 0 0 0 +64 0 -0.81905 -0.32515 0.00487453 -0.00286122 -0.219042 -0.157116 0.631592 1.95493 0.0170374 -0.221558 -0.0605941 0.524195 -0.00175382 0.719122 0.0100138 -1.10964 -3.29002 -0.102291 0.0252685 -0.882389 -0.0140062 0.239224 0.00225062 -0.00591127 0.572969 -0.568433 -0.0196188 0.211683 0.154436 0.162308 0.00833533 -0.0119746 0.529078 -0.218691 0.295608 -0.0115949 0.14755 3.2579 -0.171075 -0.718086 -0.00637247 0.00054209 -0.0259685 0.960335 -0.0168735 -0.53987 0.14262 0.0334053 0.0775567 -0.965191 0.267449 -4.68318 -0.105319 0.0521202 -0.148096 0.353816 0.195501 0.1406 -0.034387 0.00915948 0.025016 0.164461 -0.0466812 0.455915 0.444778 0.105406 0.250508 0.288708 -0.00946772 -0.0199043 0.00834408 -0.380712 -0.27826 -0.981336 0.506788 -1.02566 -13.4428 -3.72979 -3.01693 -2.73497 2.41696 -5.66573 -0.268762 0.216848 0.291097 -2.72413 0.0159516 0.070121 -0.0447634 0.384603 -0.516864 0 0 0 0 0 0.00487453 -0.00286122 0.00197333 0 0 0 0 0.000437673 0 0.00258683 0 0 0.00126518 0.00427093 -0.00182486 0 0.000334524 0.0264622 0.00293536 0 0 -0.139481 0.000299187 0 0.0123249 -0.242262 0 0 -0.0133045 0.0662102 0 0.0764384 0 -0.0209841 0 0 -0.00167486 0 0 0.370174 0.00624459 0.0182402 0 0.0283625 0.035918 0 0 0.00769693 0 0.00532369 0.0292384 -0.0032417 0 0 -0.00282767 -0.00267296 0 -0.00869031 0.197003 0.00592053 0.0210355 0.0474254 0.00538315 0 -0.0289199 -0.0022564 -0.03652 0.0385572 -0.067164 0 0 0 -0.746565 0.0292012 -0.0843131 -0.0336989 0.0429672 -0.0614235 -0.00166999 0.00176503 -0.00169746 -0.00239865 0 0 0 0 0 0 -0.219042 0 -0.157116 0 0 0 0 0.405717 -0.900585 0 0 -0.356642 0 -0.0344512 0 -0.0356332 0 0 0.56866 0 0.727373 0.132047 -0.139269 0.0851344 0 0 -0.416696 0 0.908742 0 3.42764 0.332703 0 1.22025 1.171 -0.00920408 0 0.0380009 0 0 -0.079895 0 0.733847 0.867972 0 0 0.150843 0 0 -0.618988 2.74782 0.0521318 0 -0.996413 0 1.42099 -0.110965 0.108291 0.686073 0.0123816 -0.787062 -0.598459 0.199613 0.960732 0.743001 -0.0379185 0 0 0 0.292197 -0.0230776 0 0 0 0 -0.000665204 -10.299 0.754642 -3.98236 -0.717565 1.01015 -2.84748 0.113598 -0.178294 0.299734 -0.941285 0 0 0 0 0 0 +65 0 0 0 -0.170338 -0.071513 0 0 0 0 -0.921231 0.932075 -0.633092 0 0.262755 0 -0.0853935 0 0 0.330139 0.126772 0 0.16813 0 -0.341807 0.321588 0 0 -0.423042 0 0 0 -0.512093 -0.529969 0 -0.762227 0 -0.138419 -1.36589 0 -1.69426 0 0.376587 -2.72763 -0.672967 0 0.192909 0 0 0.463151 1.07258 0 1.62532 0 -0.170358 -0.0546738 -0.186507 0 -0.162278 0.858511 -0.427173 -0.42329 0 0 0 0 0.398294 0 0.306694 -2.08923 0.579732 -0.0128208 0.137966 -1.3584 1.20286 0 0 -0.0994756 0 -2.3844 0 -0.149101 2.00192 0 -1.12512 2.70624 -2.10439 0 -1.37853 2.48684 -1.05603 1.8016 0 0 0 0 0.0759403 0.0438281 -0.170338 -0.071513 0 0.0916293 0 0 0.0153594 0 0 0.129665 0 0 0 0 0.34931 0 0.0440995 -0.807705 0.889485 0 0.504804 -0.221892 0 0.00504011 -0.445988 -4.75629 -0.11363 0 0.106644 -1.98732 0 -0.854645 0 -0.239317 0.00618365 0 0.0391771 0 0 -1.6875 0 0 0 0 0 0 0 -0.802655 0 0 -1.06803 0 0 0 0 0 0 0 -0.50426 0 -0.306233 0 0.319152 -0.113524 0 -0.024492 -1.08604 0 0.696902 0 0.0375237 0 3.17584 0 -0.59318 0 0 0.812352 0 0 0 -0.355414 0 0 0 0 0.0950013 0 0 0.0759403 0 0.0438281 0 0 0.254736 0 1.61029 -0.00672453 0.0674137 0.981071 -0.00157896 0.122109 0.0631671 0.0581416 0.0525054 -0.119893 0 0 0 0 0.360325 0 0.670994 0 0.418766 0 0 0.0472641 0 0 0.0127483 0 0 0.0392556 0.0020263 0 0.0153392 0 0.238719 0 0 0 0.00511516 0.00144356 0 0 0.197013 0 0 0 -0.0443474 0 -0.159392 0 0.168068 0.0856157 0.152792 0 0 0.431784 0.250285 -0.517564 0 0.443561 0 0.122374 0 0.451124 -0.215527 0.0130283 -0.0619742 0.0548071 0.0189899 -0.703054 0 -2.78035 0 0.0922058 -0.194542 0 0.0217459 0.148679 -0.48606 0 0.134731 0.00370752 -0.0204697 -0.00533268 0 0 +66 0 0 0 -0.103808 -0.334039 0 0 0 0 -1.05008 4.61556 0.00735936 0 -0.0975337 0 0.161015 0 0 0.779577 0.59202 0 0.275109 0 0.114352 1.61244 0 0 0.652767 0 0 0 -0.148374 0.715261 0 0.877652 0 0.0338331 1.84309 0 0.859827 0 0.029056 1.22175 0.582714 0 0.783618 0 0 1.13175 -0.837015 0 0.720447 0 -0.7928 0.0932187 0.103151 0 -0.253977 -0.0802919 -1.978 -0.20226 0 0 0 0 0.343698 0 1.89434 0.99093 0.579296 -4.2923 0.495387 1.51605 -0.586813 0 0 0.606607 0 -7.21605 0 -0.461623 -1.95793 0 -4.23141 1.30221 -4.40415 0 -0.128702 -1.14627 -0.777945 -0.437086 0 0 0 0 -0.0958231 -0.0540598 -0.103808 -0.334039 0 0.0378022 0 0 -0.000271206 0 0 0.0739461 0 0 0 0 -0.156679 0 -0.025567 1.25274 0.115619 0 0.524709 1.63752 0 0.0235847 0.0153121 8.15272 0.557514 0 0.0844486 3.63909 0 -0.365586 0 0.753771 0.116784 0 0.0349152 0 0 -2.22894 0 0 0 0 0 0 0 -0.0779676 0 0 -0.749201 0 0 0 0 0 0 0 0.387874 0 -2.45567 0 0.201048 -0.00333417 0 -0.208368 0.0987094 0 0.137222 0 0.400477 0 4.19482 0 0.213246 0 0 0.407153 0 0 0 -0.128883 0 0 0 0 -0.466116 0 0 -0.0958231 0 -0.0540598 0 0 -0.445221 0 -1.51738 0.0568246 -0.0223812 1.44471 0.0123293 0.339731 -0.120535 -0.00647695 -0.000143879 0.371458 0 0 0 0 0.585472 0 -0.390842 0 -0.139521 0 0 -0.0500162 0 0 -0.0231713 0 0 0.146165 0.00251678 0 -0.0122964 0 -0.211514 0 0 0 0.00451957 0.0224017 0 0 -0.199984 0 0 0 -0.0498083 0 0.332557 0 -0.622248 0.16997 -0.926814 0 0 -0.718295 0.211161 0.10242 0 -0.00926809 0 -0.0200992 0 -0.221235 -0.552496 0.0198744 -0.167565 0.0918284 -0.0112787 0.443967 0 -3.92668 0 -1.17222 0.175334 0 -0.602602 0.481136 -0.588231 0 -0.363165 0.160769 -0.026131 -0.112962 0 0 +67 0 0 0 0.108132 -0.254147 0 0 0 0 -0.615649 0.890886 0.253858 0 -0.398565 0 -0.298507 0 0 -0.159979 -0.716738 0 -0.287375 0 0.489929 -0.0579167 0 0 0.279151 0 0 0 0.280112 -0.518871 0 0.381486 0 0.0107975 0.51887 0 1.8265 0 -0.373031 -0.069991 0.636912 0 -0.328965 0 0 -2.10432 -0.850046 0 -1.27921 0 0.812995 -0.772627 0.420298 0 -0.212134 -0.7461 -0.2522 0.131572 0 0 0 0 0.981376 0 -1.09442 0.317826 0.236637 -0.970552 -1.1533 1.29243 -0.00229338 0 0 -0.833535 0 -1.26033 0 1.08425 -3.44876 0 0.00398568 -1.18535 -1.48948 0 1.12248 -1.98791 -0.133984 -1.60277 0 0 0 0 -0.148495 -0.0692679 0.108132 -0.254147 0 0.000812443 0 0 -0.0105007 0 0 -0.0724313 0 0 0 0 -0.584433 0 -0.108181 1.7067 -0.68542 0 0.060409 0.222636 0 0.0299107 0.591177 4.5934 0.448405 0 0.0237062 2.61237 0 0.687237 0 0.0259764 0.123462 0 -0.000334666 0 0 0.844312 0 0 0 0 0 0 0 0.917723 0 0 2.60071 0 0 0 0 0 0 0 0.266998 0 3.75537 0 -0.225746 -0.162324 0 -0.595315 0.704014 0 -0.786794 0 0.0890982 0 -1.58897 0 0.522984 0 0 -0.774892 0 0 0 0.22174 0 0 0 0 -0.374894 0 0 -0.148495 0 -0.0692679 0 0 -0.687576 0 -1.06205 0.0253862 -0.0312426 0.271098 0.0107164 0.0798242 -0.182687 -0.0973515 0.091677 0.139892 0 0 0 0 0.0903434 0 -0.194161 0 -0.244467 0 0 0.0455038 0 0 -0.0381344 0 0 0.0485639 0.00126272 0 0.00667199 0 -0.27037 0 0 0 0.0099528 -0.00163964 0 0 0.121759 0 0 0 -0.318778 0 0.548747 0 -0.261991 -0.160843 -0.0807882 0 0 -1.16197 -0.344668 0.924156 0 -0.0385477 0 0.0709989 0 -0.201243 -0.0989557 -0.0953602 0.0163011 0.00602665 -0.0380311 0.542659 0 -1.88571 0 -0.109134 -0.657548 0 0.0163788 -0.0102787 -0.332781 0 -0.150108 0.0166181 -0.0278042 -0.0826048 0 0 +68 0 0.16086 -0.0133036 0.292913 0.12081 -0.15182 -0.0575947 -0.0952268 0.969534 0.492025 -3.30458 -0.140299 0.0892205 -0.482001 -0.60589 -0.0892617 -2.31504 -6.49371 -1.3132 -0.0385172 0.604049 -0.823181 -0.293195 0.622264 -1.87373 0.285068 -0.758525 0.124284 0.0495629 0.981345 -0.0524455 0.726966 -0.195905 -0.796906 -0.342752 0.0178438 -0.0387266 0.387522 -1.33201 -0.664841 0.0258574 -0.562456 -0.244248 -0.205968 -0.425414 -0.37879 -0.00449878 0.221868 -0.27708 0.44278 -0.725164 -0.337158 4.48608 0.108926 -0.0996118 0.202911 1.10202 0.893331 0.485703 1.83145 0.329418 0.343582 0.037201 0.837279 -0.139193 0.718466 -0.0478041 0.69942 -0.188642 -0.360925 3.00612 0.232757 -0.267564 0.0039191 0.783915 -0.269889 2.20677 -1.03018 8.69468 -3.95364 3.94769 1.59981 -4.39092 4.75765 -1.0249 1.24564 -1.07959 1.09808 0.754437 -1.14857 1.02267 -1.4189 0 0 0 0 0 0.292913 0.12081 0 0 0 0 0 0 0 0.0102371 0 0 0 0 0.138824 0 0.0216887 0.38196 0.0296387 0 0 0.548756 0 0 0.106975 1.62203 0 0 0.0782549 0.938107 0 0.633048 0 0.327716 0 0 0.0321589 0 0 1.48026 0 0 0 0 0 0 0 0.199169 0 0 0.552225 0 0 0 0 0 0 0 0.423745 0 4.00594 0 -0.106933 0 0 -0.0224381 1.39545 0 -0.0135312 0 0 0 -2.78508 0 -0.242016 0 0 -0.61946 0 0 0 -0.0123716 0 0 0 0 0 0 -0.15182 0 -0.0575947 0 0 0 0 0.0460791 0.645264 0 0 -0.198646 0 -0.0296757 0 0.0106916 0 0 0.160481 0 0.257993 0.0500222 0.0277478 0.0225053 0 0 0.065287 0 3.58826 0 2.91199 0.0062064 0 0.348375 0.964565 0.000720263 0 0.00746375 0 0 0.0799532 0 0.473487 0.395386 0 0 0.059612 0 0 0.14599 0.218594 0.074092 0 0.898448 0 0.230122 -0.0648694 0.0137244 -0.0813603 -0.0224998 0.638715 -0.106862 0.00588611 -1.24722 -3.9983 0.063252 0 0 0 0.0577839 -0.00226841 0 0 0 0 -0.216158 -20.5221 0.748981 -4.94344 -0.108877 0.274941 -1.99164 0.0758983 -0.0392051 0.0490849 -0.203216 0 0 0 0 0 0 +69 0 -1.06735 -0.529136 -0.248663 -0.0935985 -0.0653528 0.0460054 -0.380513 -0.448041 -0.418124 1.38601 0.0887654 -0.265659 0.409228 0.145125 -0.059898 -2.39543 -10.7034 0.72488 -0.429671 0.381437 0.41476 0.262892 -0.528294 0.737424 -0.35645 -0.472906 -0.920409 -0.00478578 -0.184645 -0.114529 -0.617292 -0.0952521 1.20602 -1.58035 -0.166181 0.0173351 -2.93523 6.34051 0.351538 0.0795015 0.481749 -5.70755 0.0646993 0.992235 0.337824 0.0164225 -0.0261896 -0.656489 -0.212709 -0.57593 0.535344 10.1655 0.344736 -0.31505 0.235958 0.0916911 0.731097 0.570361 -0.755871 -0.289167 0.538693 -0.162588 -3.62653 3.50708 1.12565 0.585599 -5.44875 -2.72354 0.306721 -1.17186 -0.61082 0.28568 2.71407 0.634725 -0.00604627 5.86089 -22.2423 -6.82716 2.1078 -4.95508 3.07763 -6.65331 -1.66592 0.583223 -1.10321 1.00374 -0.97932 -0.322946 0.023408 -0.356127 0.266974 0 0 0 0 0 -0.248663 -0.0935985 0 0 0 0 0 0 0 0.0173812 0 0 0 0 -0.0832013 0 -0.00479075 -0.195913 0.042182 0 0 0.297866 0 0 0.260519 -0.115399 0 0 0.0673756 -0.346459 0 0.541463 0 0.118409 0 0 0.0422564 0 0 1.60154 0 0 0 0 0 0 0 0.192011 0 0 0.61537 0 0 0 0 0 0 0 0.473 0 5.26909 0 -0.144789 0 0 0.0694669 1.67594 0 0.0562382 0 0 0 -3.00612 0 -0.273892 0 0 -0.676792 0 0 0 -0.0174261 0 0 0 0 0 0 -0.0653528 0 0.0460054 0 0 0 0 0.0428597 -0.752005 0 0 0.180788 0 0.039086 0 -0.0131823 0 0 0.0363433 0 0.161017 -0.00863664 -0.00897637 0.0075659 0 0 -0.096208 0 -3.596 0 2.69181 -0.127557 0 -0.0146381 0.617501 0.00336832 0 0.0050902 0 0 -0.0948921 0 -0.674556 0.534911 0 0 0.0748279 0 0 0.074534 -1.4265 0.212917 0 -0.764048 0 0.282378 0.0588519 -0.106746 -0.626532 0.0123919 0.253129 -0.473546 0.04104 1.5225 4.59021 0.0251915 0 0 0 -0.157373 -0.097228 0 0 0 0 0.302999 -11.5989 -1.15284 0.216483 -0.505412 0.589871 -0.975476 -0.0957541 0.0488381 0.0187834 -0.123963 0 0 0 0 0 0 +70 0 -0.812018 0.00707306 0.059318 0.02549 -0.139926 -0.131499 0.828282 2.54576 0.0995913 -1.57568 -0.21461 -0.198872 -0.0976054 0.228613 -0.0257491 1.08501 -2.10854 -0.248157 -0.364789 0.0755588 -0.14386 -0.0332532 0.126011 -0.806758 0.42665 0.757406 0.394387 0.0572718 1.27405 0.10709 0.147201 -0.0544715 0.578454 0.671258 0.11406 -0.104479 0.0675174 3.33783 -1.19063 -0.0673466 -0.113416 -0.138414 -0.589906 -1.69224 -0.0748495 -0.0267499 0.275976 -0.743856 0.878604 0.573208 0.673067 -2.99461 0.358081 -0.328532 0.187205 -0.287838 0.454164 0.229497 0.898118 0.0656225 -0.881984 -0.12636 -0.920796 -0.624645 -0.139068 -0.0952387 1.08576 -0.00691063 -0.0730543 1.9313 -0.025737 -0.554188 0.0144471 -0.663436 -0.290407 -0.888072 -13.7915 2.1531 -7.43539 -1.30759 3.78006 -7.50783 2.22627 0.316284 0.0294049 -3.21768 0.216982 1.68441 -1.79257 1.56446 -1.84213 0 0 0 0 0 0.059318 0.02549 0 0 0 0 0 0 0 0.0970156 0 0 0 0 0.330172 0 0.0536978 -0.782916 0.587826 0 0 -1.26611 0 0 -0.348456 -5.58439 0 0 -0.141777 -2.17357 0 -0.286481 0 -0.648687 0 0 -0.0753153 0 0 0.0760141 0 0 0 0 0 0 0 -0.443067 0 0 -0.805892 0 0 0 0 0 0 0 0.0952402 0 2.44407 0 0.028164 0 0 0.435986 0.620372 0 0.479925 0 0 0 -0.141927 0 -0.564516 0 0 -0.0328141 0 0 0 -0.245704 0 0 0 0 0 0 -0.139926 0 -0.131499 0 0 0 0 0.053692 -0.216609 0 0 0.137289 0 0.0213122 0 -0.0156979 0 0 0.105509 0 0.162437 0.0386062 0.033816 0.00972859 0 0 -0.136784 0 -1.80991 0 1.47032 -0.0629785 0 0.16915 0.46144 0.006842 0 0.011672 0 0 -0.0223212 0 -0.23405 -0.523958 0 0 -0.0822002 0 0 0.178458 -2.33524 0.022465 0 0.116237 0 -0.551545 0.0518176 -0.069592 -0.272884 -0.0420372 -0.106171 -0.0833048 -0.0477 -0.05717 0.811363 0.0722676 0 0 0 -0.110097 -0.0395687 0 0 0 0 0.077787 -13.0719 -0.199639 -3.09212 -0.231754 0.291628 -1.12895 -0.0705406 0.0213226 -0.00696315 -0.199819 0 0 0 0 0 0 +71 0 0.436461 0.360401 0.131723 0.0537063 -0.0961282 0.0612742 -0.24692 -0.731246 0.255881 0.0981168 0.175595 0.54474 -0.218402 0.322441 0.132662 2.32291 11.2756 -0.150216 0.434586 0.510321 -0.114341 -0.0953254 0.28229 0.0874944 -0.096564 0.549328 0.39705 -0.0101626 -0.24753 0.0846052 0.338122 0.259322 -0.367502 0.847047 0.0216485 0.108654 1.45748 -1.07036 0.423011 0.115602 -0.247964 3.23952 0.274959 2.95488 -0.154947 0.0211717 -0.0354997 0.870113 -0.331473 -0.500096 -0.368337 5.57452 -0.406009 0.389473 0.0214773 3.49434 0.865085 0.205098 -0.190775 0.146599 0.373047 -0.132218 2.23474 -0.540164 -0.300457 -0.386496 1.2875 1.55112 -0.189218 -0.255613 0.417438 0.192567 -1.40131 1.05278 -0.141263 -0.191458 3.37071 -0.0293502 0.939266 -1.18848 0.0827983 0.345481 -0.582886 -0.284303 0.257149 0.843788 0.442527 -0.676868 0.455714 -0.395442 0.326668 0 0 0 0 0 0.131723 0.0537063 0 0 0 0 0 0 0 -0.0437753 0 0 0 0 -0.186992 0 -0.0222112 0.597196 -0.371342 0 0 1.45138 0 0 0.142714 5.94722 0 0 0.165155 2.01426 0 0.155741 0 0.705081 0 0 0.0795763 0 0 0.253771 0 0 0 0 0 0 0 0.256764 0 0 0.200035 0 0 0 0 0 0 0 0.509278 0 3.19797 0 -0.136954 0 0 -0.0447677 1.5551 0 0.102793 0 0 0 -0.477057 0 0.312589 0 0 -0.106574 0 0 0 0.15522 0 0 0 0 0 0 -0.0961282 0 0.0612742 0 0 0 0 0.00565037 0.591165 0 0 -0.247759 0 -0.0332338 0 0.0160049 0 0 0.104435 0 -0.0324757 0.0217359 -0.0284509 0.010751 0 0 0.141532 0 7.09615 0 0.811443 0.195206 0 0.18765 0.117026 -0.00534224 0 0.000463276 0 0 0.067047 0 1.31243 1.0861 0 0 0.123068 0 0 0.109842 2.3839 0.029842 0 0.827858 0 0.162053 -0.0184522 -0.00123328 -0.00835476 0.00338808 1.07046 0.192203 -0.000383038 -0.670196 -0.147692 0.0442956 0 0 0 0.0437779 0.0303254 0 0 0 0 -0.119752 -2.20208 1.42209 -1.80359 0.0349506 0.0478611 -0.496247 0.0870697 -0.0349896 0.0731389 -0.0615955 0 0 0 0 0 0 +72 0 -0.064655 0.356679 0.3128 0.0685186 -0.0712384 -0.146787 0.502012 1.32396 0.369211 -2.22143 -0.182837 0.287772 -0.521377 0.403162 0.02442 1.85117 5.05719 -1.3027 0.00186792 -0.452341 -0.816491 -0.619813 0.670715 -1.43965 0.717945 0.718318 0.388759 0.0426494 0.463078 0.128073 0.741697 0.065507 -0.689251 0.632386 0.200505 -0.0629842 0.0682979 0.371961 -0.722235 -0.134857 -0.641541 0.590691 -0.278581 0.0781552 -0.557616 -0.0423611 0.14262 0.129937 0.561897 1.34896 -0.289069 -6.52061 -0.0374644 0.0174066 -0.406069 -1.65709 -1.39536 -0.56058 1.48387 0.407763 -0.133369 0.447918 0.0770756 -1.55316 -1.38483 0.142114 0.576638 0.0256582 -0.273184 2.29028 -0.40692 -0.491632 -0.151765 -0.211398 0.289375 -3.68414 3.42217 5.75813 -3.17382 2.84696 0.642967 -1.8068 3.71772 -0.566935 1.33339 -1.6301 1.59255 0.76932 -0.293326 0.694176 -0.61113 0 0 0 0 0 0.3128 0.0685186 0 0 0 0 0 0 0 0.0693792 0 0 0 0 0.257133 0 0.0385836 -0.553041 0.461372 0 0 -0.643007 0 0 -0.406943 -3.34458 0 0 -0.0664583 -1.66428 0 -0.509312 0 -0.46449 0 0 -0.0515633 0 0 0.00681536 0 0 0 0 0 0 0 -0.294443 0 0 -0.828034 0 0 0 0 0 0 0 -0.428272 0 -5.53415 0 0.0466895 0 0 0.0229451 -1.70399 0 -0.135422 0 0 0 0.047361 0 -0.455799 0 0 -0.0581451 0 0 0 -0.192374 0 0 0 0 0 0 -0.0712384 0 -0.146787 0 0 0 0 -0.0383905 0.568347 0 0 0.133039 0 0.0144216 0 -0.00243387 0 0 0.0015199 0 0.260042 -0.0289691 0.0508944 0.00527146 0 0 -0.0331382 0 0.618926 0 1.41949 0.315775 0 -0.174869 0.674762 0.00703912 0 -0.00642347 0 0 0.071229 0 0.643149 -0.902926 0 0 -0.0779693 0 0 -0.556638 -1.16535 -0.085643 0 -0.267309 0 0.309776 -0.0216845 0.0755458 -0.357849 -0.0463995 -0.191531 -0.385223 0.00857245 -0.786217 -4.38494 -0.0223797 0 0 0 0.174101 -0.0400801 0 0 0 0 -0.173044 -7.58029 -0.739024 0.732045 -0.202104 0.390629 -0.591974 -0.084699 0.0615096 -0.00648443 -0.0378922 0 0 0 0 0 0 +73 0 -0.594926 -0.404461 -0.192683 -0.0768385 -0.0796225 -0.00534097 -0.201549 0.0927666 -0.367341 0.87755 0.036213 -0.261056 0.319556 -0.206179 0.0666694 -2.21952 -10.1007 0.650003 0.327197 0.0665016 0.364174 0.240596 -0.412941 0.517186 -0.252461 -0.567004 -0.375998 -0.0257543 0.062594 -0.117818 -0.492814 0.117497 0.845057 -0.765145 -0.158111 -0.0055909 -0.709007 2.91577 -0.0222899 0.0833904 0.364256 -2.14502 -0.0901789 -0.722337 0.23219 0.0289517 -0.0412499 0.566064 0.0468523 0.182417 0.784603 0.998752 -0.289464 0.258743 -0.20408 -2.90114 -0.292057 -0.304015 -0.516602 -0.216183 -1.06336 0.0154648 -3.48263 2.12329 0.34142 0.0965695 -2.38351 -0.728827 0.271645 -0.670631 -0.208996 0.0466877 0.784379 -0.953997 0.0938291 2.75785 -10.8538 -3.53534 1.82703 -2.78953 2.58066 -3.94253 -1.12851 0.858041 -1.08309 0.1185 -0.663133 0.140938 -0.242596 0.0441215 -0.0826062 0 0 0 0 0 -0.192683 -0.0768385 0 0 0 0 0 0 0 0.0834096 0 0 0 0 0.23703 0 0.0426507 -0.420685 0.472727 0 0 0.12252 0 0 -0.0167568 -0.787525 0 0 0.0253902 -0.44417 0 0.350792 0 0.143826 0 0 0.0233489 0 0 1.14015 0 0 0 0 0 0 0 -0.202268 0 0 -0.993238 0 0 0 0 0 0 0 -0.349769 0 -6.52684 0 -0.0643527 0 0 0.058799 -1.58559 0 -0.27143 0 0 0 -2.14663 0 -0.609141 0 0 -0.475802 0 0 0 -0.197832 0 0 0 0 0 0 -0.0796225 0 -0.00534097 0 0 0 0 -0.00950342 -0.933227 0 0 0.142146 0 0.0264298 0 -0.0141169 0 0 -0.0489418 0 0.0666471 -0.0245588 0.0180523 -0.00720335 0 0 -0.108965 0 -5.20965 0 0.870133 -0.240983 0 -0.0219768 0.164516 0.00336632 0 -0.0043043 0 0 -0.10311 0 -0.965439 -0.0830803 0 0 -0.0170428 0 0 -0.0211328 -2.75935 0.0516633 0 -1.50975 0 -0.366417 0.0107541 -0.045138 -0.426223 -0.0586244 -0.166704 -0.242752 -0.0142881 1.18839 1.02175 0.0670064 0 0 0 -0.218462 -0.0554621 0 0 0 0 0.291112 -10.2811 -1.285 -0.456177 -0.232726 0.212607 -0.552982 -0.0667148 0.0373863 -0.048458 -0.0227652 0 0 0 0 0 0 +74 0 -0.375659 -0.577656 -0.277215 -0.112787 0.155588 0.121033 -0.824386 -2.38326 -0.461904 2.42826 0.0849979 -0.773113 0.458153 -0.795445 -0.129142 -2.47726 -7.56975 1.24335 -0.927141 -0.0436472 0.757394 0.698601 -0.591473 1.45901 -0.918342 -0.839341 -0.445564 -0.038154 -0.377992 -0.268173 -0.687972 -0.208284 1.30971 -0.618264 -0.264679 -0.00764446 -1.6543 2.86924 0.496653 0.0287311 0.532901 -2.4413 0.074476 -1.54328 0.357789 0.0122393 -0.118001 -1.53703 -0.300215 -1.06574 0.361738 -3.71902 0.784297 -0.71882 0.205225 -1.68606 -0.0411971 -0.366895 -1.40913 -0.310833 -1.49356 -0.102081 -2.92883 2.07144 1.08648 0.340994 -3.31251 -1.34195 0.339146 -2.74119 -1.25631 0.534297 1.28488 -0.246481 0.0218351 1.10058 -11.7208 -7.07994 4.95221 -3.46276 1.08732 -2.25214 -3.59886 1.16018 -1.72323 2.66759 -1.03938 -0.44501 0.34394 -0.576677 0.433348 0 0 0 0 0 -0.277215 -0.112787 0 0 0 0 0 0 0 -0.0821836 0 0 0 0 -0.32379 0 -0.0535112 -0.00959837 -0.539211 0 0 -0.860282 0 0 0.200701 -1.10618 0 0 -0.17649 -0.409495 0 -0.0467664 0 -0.561755 0 0 -0.108704 0 0 -0.331461 0 0 0 0 0 0 0 0.33496 0 0 0.503412 0 0 0 0 0 0 0 -0.273156 0 -4.89306 0 -0.0527043 0 0 -0.127325 -1.34917 0 -0.579646 0 0 0 0.623802 0 0.55528 0 0 0.138561 0 0 0 0.225406 0 0 0 0 0 0 0.155588 0 0.121033 0 0 0 0 -0.0339493 -0.294161 0 0 0.123059 0 0.0156322 0 0.00468846 0 0 0.00534672 0 0.0771939 -0.00199199 0.00097254 -0.00107311 0 0 0.065356 0 1.90075 0 1.93273 0.236442 0 -0.153669 0.463806 -0.000334004 0 -0.000249577 0 0 -0.0452045 0 0.774351 0.683607 0 0 0.0616819 0 0 0.257805 0.405832 0.0709054 0 1.19943 0 0.415246 -0.103644 0.0355494 -0.293056 0.0525335 0.737507 -0.104612 -0.0546573 -0.259793 1.71698 0.0174351 0 0 0 -0.0531169 0.0357278 0 0 0 0 0.0614653 -13.5793 -0.78856 -1.25885 -0.154091 0.0632643 -0.744417 -0.00661136 0.0134036 -0.0863174 0.10681 0 0 0 0 0 0 +75 0 -1.07264 -0.488692 -0.174524 -0.0710061 0.00554488 0.0200237 -0.13857 -0.179545 -0.290796 1.56586 0.0570556 0.41071 0.288435 1.00573 -0.0299056 0.185649 0.0733804 0.703641 -0.00743942 0.481251 0.414266 0.680493 -0.372368 0.787613 -0.0932411 -0.0485734 -0.258659 -0.0186123 -0.0197517 0.145306 -0.433119 -0.0324736 2.24889 -0.455196 -0.0681623 -0.00296609 -0.449809 8.27084 0.0636215 0.123724 0.335493 -0.836171 -0.0828647 2.22628 0.22525 0.0298463 -0.0390218 0.138429 -0.00278596 1.21292 0.804784 -0.598656 -0.0476535 0.0436751 -0.123743 -0.754568 -0.556727 0.182499 -0.810231 -0.195688 1.03024 0.344092 -0.849879 1.12341 -0.738769 -0.0290241 -1.75726 -0.113695 0.213513 -0.774915 0.169221 0.120854 0.35532 0.202844 0.112014 -0.387708 -29.5079 -9.20695 0.354134 -7.77 4.238 -7.89926 -1.71677 0.842744 -1.53126 0.847716 -0.654351 0.0815863 -0.100429 -0.0517268 0.0226443 0 0 0 0 0 -0.174524 -0.0710061 0 0 0 0 0 0 0 0.0423063 0 0 0 0 0.134011 0 0.0153079 -0.450519 0.309029 0 0 -0.586735 0 0 -0.0197167 -3.76135 0 0 -0.0250521 -1.48277 0 0.185804 0 -0.377173 0 0 -0.0236004 0 0 1.15579 0 0 0 0 0 0 0 -0.0122137 0 0 0.65657 0 0 0 0 0 0 0 0.303901 0 5.89361 0 0.00832564 0 0 0.0998151 1.36452 0 0.186054 0 0 0 -2.17516 0 -0.457783 0 0 -0.483154 0 0 0 -0.129184 0 0 0 0 0 0 0.00554488 0 0.0200237 0 0 0 0 -0.0131745 -0.352856 0 0 0.32735 0 0.052222 0 0.00446049 0 0 -0.135196 0 0.312833 -0.0285353 0.0434759 -0.0112249 0 0 0.0350595 0 -2.8291 0 2.32489 0.0742532 0 -0.307674 0.868207 0.00800661 0 0.00280036 0 0 -0.0430445 0 -0.205912 -0.451949 0 0 -0.0424156 0 0 0.0875314 -2.16841 0.104381 0 0.342018 0 0.395845 -0.0242945 0.0203343 -0.897924 0.0646547 0.245534 -0.52887 -0.0407411 0.139647 -0.230572 -0.00391793 0 0 0 -0.0132612 -0.0818471 0 0 0 0 0.0688424 -15.6821 -1.8894 0.225106 -0.317149 0.497117 -1.06931 -0.109822 0.0692151 -0.0828783 0.00152377 0 0 0 0 0 0 +76 0 -0.140053 -0.0465181 -0.21156 -0.0860748 -0.0649274 0.0861069 -0.356969 -0.811378 -0.352508 3.28712 0.21578 0.752707 0.349646 1.07584 0.0694697 0.441445 5.48655 0.98172 0.335074 -0.472299 0.590396 0.314411 -0.451391 1.85982 -0.201104 -0.222685 -0.503359 -0.070408 -0.816981 0.175589 -0.525035 0.163562 1.00449 -0.757153 -0.0872948 0.0727894 -1.05006 3.46356 0.672366 0.0020614 0.40669 -1.57526 0.209662 3.56837 0.273052 0.0268129 -0.256941 0.82827 -0.448445 1.59297 1.11225 6.17184 -0.381057 0.349245 -0.368769 1.8204 0.597944 0.921621 -1.91479 -0.237216 -0.126788 -0.0251917 -3.87185 0.949615 -1.12799 -0.235813 -2.23861 -0.802531 0.258824 -3.56907 0.344007 0.560101 0.805153 0.427843 0.157004 1.9097 -15.9857 -13.4442 5.6559 -7.56276 1.92948 -0.376132 -4.78797 1.55344 -1.38396 0.895411 -0.793215 -0.76569 1.03015 -1.0165 0.936627 0 0 0 0 0 -0.21156 -0.0860748 0 0 0 0 0 0 0 0.0584713 0 0 0 0 0.172671 0 0.0223008 -0.130232 0.39423 0 0 1.45926 0 0 -0.410356 3.85036 0 0 0.229497 0.792428 0 -0.785871 0 0.673585 0 0 0.106777 0 0 -1.05665 0 0 0 0 0 0 0 -0.452522 0 0 -1.28101 0 0 0 0 0 0 0 0.135573 0 1.1884 0 0.115477 0 0 0.126442 0.639953 0 0.642975 0 0 0 1.98859 0 -0.218298 0 0 0.441713 0 0 0 -0.1648 0 0 0 0 0 0 -0.0649274 0 0.0861069 0 0 0 0 -0.079034 -0.556801 0 0 0.185439 0 0.0299904 0 -0.000123339 0 0 0.0140558 0 -0.0240401 -0.054955 -0.0125596 0.00553546 0 0 -0.0038188 0 0.074831 0 -0.855534 0.00408854 0 -0.36198 -0.238309 -0.000332862 0 -0.0101917 0 0 -0.0554541 0 0.189977 0.395109 0 0 0.0502398 0 0 0.0715403 -2.16874 -0.0142843 0 -0.65803 0 -0.469788 0.0369023 -0.0105788 -0.563834 -0.0133987 0.179662 -0.115012 -0.0650978 0.287896 -0.546445 0.0260436 0 0 0 -0.163825 -0.0127516 0 0 0 0 0.228994 -2.62539 -1.33674 1.47424 0.0345698 0.00457335 0.10766 -0.063129 0.0595344 -0.0873 0.177099 0 0 0 0 0 0 +77 0 -1.09634 0.0594959 -0.0553899 -0.241206 0.143039 0.325516 -0.355379 -1.32525 -0.642177 1.47518 0.346656 0.556588 0.00647799 1.91186 0.0800627 0.465439 0.464502 0.290032 0.25202 0.403283 0.0399717 -0.244348 -0.0153769 0.345766 -0.656298 0.458503 0.0289018 -0.766646 -1.38139 0.468402 -0.0988193 0.559264 0.421388 0.0768909 -0.431811 0.0341884 0.0109176 5.07535 0.379707 1.11725 0.0207626 0.217733 0.0380445 2.83096 0.0127107 0.91274 -1.0168 1.71014 -0.127534 1.03273 -0.185789 -1.96338 -0.573167 0.174691 -0.328893 -2.55678 0.261851 0.71228 -0.298021 -0.00907707 0.0865928 -3.12401 -2.01442 -0.0437846 -0.320246 0.266083 -0.515946 0.0563898 0.253262 -0.920663 0.0521952 0.0603079 -0.131283 -2.8614 1.13646 0.725135 -16.2383 -5.31149 1.85645 -2.41796 1.21517 -2.55036 -0.770231 0.609887 -0.966071 1.82836 -0.00637321 -0.0904863 0.332026 -0.9386 3.10687 0 0 0 0 0 -0.0553899 -0.241206 0 0 0 0 0 0 0 0.00783967 0 0 0 0 0.0233748 0 0.00340231 -0.0146067 0.0610666 0 0 -0.0678455 0 0 -0.0142867 0.0911389 0 0 -0.00978692 -0.000608037 0 -0.0221543 0 -0.0117528 0 0 -0.000904659 0 0 0.205803 0 0 0 0 0 0 0 0.0560102 0 0 -0.175063 0 0 0 0 0 0 0 -0.112351 0 -1.46287 0 -0.026955 0 0 0.00760141 -0.441281 0 -0.155824 0 0 0 -0.274283 0 -0.125048 0 0 -0.189878 0 0 0 -0.0263739 0 0 0 0 0 0 0.143039 0 0.325516 0 0 0 0 0.0799095 -0.31131 0 0 0.201394 0 0.0310175 0 0.0106499 0 0 0.279424 0 -0.452181 -0.0272653 -0.153031 0.0378134 0 0 0.0914059 0 1.36194 0 1.2108 0.899576 0 -0.237092 -0.529887 -0.00913515 0 0.0225552 0 0 -0.0253247 0 1.77062 0.643926 0 0 0.095748 0 0 -0.318161 0.206266 -0.0700518 0 -1.29601 0 -0.395822 0.0311054 -0.014788 0.0331142 -0.116232 -0.0139769 0.254294 0.0691106 0.0424392 -5.53817 0.0502449 0 0 0 0.0257306 -0.020054 0 0 0 0 -0.0147672 0.0398661 -0.558829 1.68097 -0.331596 0.38866 -0.251449 -0.108216 0.122165 -0.130878 0.19999 0 0 0 0 0 0 +78 0 1.01435 0.585496 0.0542728 0.0469795 0.0207223 -0.0180194 0.722788 1.16674 0.305528 -1.81706 0.184893 -0.172984 -0.0172396 -0.335057 0.116803 1.55622 8.30152 -0.316855 0.113119 -2.17761 -0.0802587 -0.296215 0.0207531 -0.552041 0.2666 0.336003 -0.0414196 0.165107 0.764403 -0.270929 0.0956533 0.744676 -1.2496 -0.00134254 0.156831 0.0624758 0.125884 -6.29391 0.323199 -1.16138 -0.081366 0.920604 0.0975338 0.402409 -0.338596 -0.432899 0.334954 0.946599 -0.320108 0.355748 -1.70855 -2.17091 -0.377448 0.000780852 0.137323 0.540619 -0.287894 0.173945 0.878886 0.168776 -0.286526 1.41916 0.602714 -1.12661 -0.205691 0.654753 0.911147 0.223202 -0.143428 1.32951 -0.175531 0.167774 -0.304556 0.773932 -0.199646 -1.23907 22.4624 8.47307 -2.96786 5.1135 -2.94204 3.48919 1.25768 -0.885872 1.16122 -0.903718 0.169774 -0.206427 0.189126 -0.0803507 -1.7192 0 0 0 0 0 0.0542728 0.0469795 0 0 0 0 0 0 0 -0.0272286 0 0 0 0 -0.0498249 0 -0.00757336 0.0512532 -0.16957 0 0 0.182894 0 0 0.00187528 1.15104 0 0 0.0151419 0.216041 0 -0.101052 0 0.0288313 0 0 0.000896471 0 0 -0.4795 0 0 0 0 0 0 0 0.0845732 0 0 -0.0418363 0 0 0 0 0 0 0 0.110895 0 0.479516 0 -0.0263959 0 0 0.0381984 0.333212 0 -0.0255913 0 0 0 1.02132 0 0.18951 0 0 0.091195 0 0 0 0.0690991 0 0 0 0 0 0 0.0207223 0 -0.0180194 0 0 0 0 -0.382385 1.12255 0 0 -0.140171 0 -0.038803 0 0.043295 0 0 -0.00180391 0 -0.805521 -0.096335 -0.0111084 -0.000458906 0 0 0.351858 0 4.60475 0 -4.53135 -0.278354 0 -0.8395 -1.65365 -0.00926754 0 -0.0455155 0 0 0.14204 0 0.634783 -0.0294881 0 0 -0.00831625 0 0 -0.166459 4.77272 -0.400536 0 0.6064 0 0.326145 0.0409562 0.212289 0.939204 -0.0645971 -0.797579 0.920736 0.05619 -1.08367 -2.28865 -0.0294816 0 0 0 0.285349 0.0705698 0 0 0 0 -0.411822 40.4243 3.81073 4.41833 0.82741 -0.615141 2.03496 0.0182546 -0.00190003 0.0465261 0.391925 0 0 0 0 0 0 +79 0 -0.420052 0.066936 0.00461085 0.037427 -0.23533 -0.058771 0.1248 1.48669 0.083112 -0.230441 -0.0566531 -0.140188 0.000458623 -0.664217 -0.018479 0.998843 4.32351 0.0488996 -0.0256903 0.33329 0.0172709 -0.00810115 0.00075909 0.0505359 0.185621 0.186257 0.00716823 0.111219 0.258162 -0.170348 0.00833352 -0.131984 0.172058 0.102517 0.0413964 -0.00862296 0.0936794 1.44374 -0.169353 0.0152711 0.0038621 0.694604 -0.0217449 -1.16211 0.0288208 -0.124807 0.104056 -0.207949 0.0368927 -0.533764 0.267597 1.15227 0.0665146 -0.0107587 0.00280186 1.5 -0.0563756 0.351381 -0.012168 -0.0138917 -0.632291 -1.61663 0.569661 -0.41039 -0.270443 -0.121041 -0.0316508 0.0668984 -0.0306768 0.268407 -0.0782995 -0.0786889 0.0205243 1.67215 0.149249 0.192529 -5.94284 -1.08414 -2.21133 -0.800941 0.537439 -1.78264 -0.046499 -0.260597 0.663214 -2.81845 -0.0144509 0.0531312 -0.0971322 0.286055 -0.580627 0 0 0 0 0 0.00461085 0.037427 0 0 0 0 0 0 0 0.0138324 0 0 0 0 0.0113118 0 0.00205817 0.0365791 0.0732874 0 0 0.0925004 0 0 -0.00963293 0.767076 0 0 0.00107842 0.181995 0 -0.0276774 0 0.0129872 0 0 0.000129242 0 0 0.0555803 0 0 0 0 0 0 0 -0.0702042 0 0 -0.113589 0 0 0 0 0 0 0 -0.0114186 0 -0.715038 0 0.00395813 0 0 -0.0766195 -0.139847 0 0.0193379 0 0 0 -0.12941 0 -0.0658605 0 0 -0.000440927 0 0 0 -0.0356405 0 0 0 0 0 0 -0.23533 0 -0.058771 0 0 0 0 0.330133 0.154493 0 0 -0.226235 0 -0.0265706 0 -0.000257696 0 0 0.327637 0 -0.081307 0.078569 0.00267293 0.0401987 0 0 0.00836831 0 0.862671 0 1.85214 -0.178378 0 1.03543 0.417225 -0.000926455 0 0.021296 0 0 0.021396 0 0.126695 0.357101 0 0 0.0377973 0 0 0.104443 -1.42597 0.3382 0 -0.118157 0 -0.52737 0.0511704 -0.240833 0.222992 -0.237268 -0.788008 -0.0209705 0.119574 0.269036 2.04491 0.0279671 0 0 0 -0.0207874 0.036747 0 0 0 0 -0.0136334 -18.8144 -0.649579 -5.2171 -0.344655 0.108878 -0.816963 0.0983176 -0.105029 0.156402 -0.561947 0 0 0 0 0 0 +80 0 0 0 0 0 0.253911 -0.201418 0.393323 0.671467 0 0 -0.00986451 -0.947342 0 -1.76033 -0.0199116 0 0 0 -0.150287 0.832748 0 0 0 0 0.432698 0 0 0.839197 5.01617 -0.69632 0 -0.220915 0 0 0.293201 0.00922214 0 0 -0.10022 -0.0761374 0 0 0.033718 -3.16488 0 -0.523118 1.83336 -0.84759 -0.00245293 -0.945501 0.142462 0 0.19929 -0.154989 0.328472 -0.816069 0.300028 -0.292024 0 0 0.639302 -0.445262 0 -0.0891521 0.176647 -0.495178 0 0 0 0 -0.0894753 -0.101265 0 0.908356 -2.2971 0 0 0 0.136817 0 0.215684 -4.86107 0 -0.0457143 -0.0450468 -4.40929 0 -0.0653089 -0.186959 0.645642 -12.7508 0 0 0 0.150402 0.00447497 0 0 0 0.00214322 0 0 0.000211809 0 0 0.00289171 0 0 0 0 0.0594754 0 0.00241952 0 0.0499079 0 0.0306593 -0.0658673 0 0.000194817 0 0 0.0118274 0 -0.00160976 0 0 0 0 -0.0465069 0.00258414 0 -0.00174638 0 0 0 0 0 0 0 0 0 0 0.0757775 0 0 0 0 0 0 0 0 0 0 0.0484875 0 0 0 -0.0323804 0.0138009 0 0.0440085 0.090492 0 -0.00448478 0 -0.0128268 0 0 0 -0.071049 0 0 -0.0128101 0 0 0 0.0228252 0 0 0 0 -0.00371195 0 0.253911 0.150402 -0.201418 0.00447497 -0.373078 -0.123191 0.0158838 -0.290661 0.11748 -0.000579341 -0.0639935 0.170625 -1.45807e-05 0.00527568 0.000460724 0.00193796 -0.0237149 -0.0223075 0.800539 -0.113892 -0.420366 -0.0174448 0.138755 0.131139 -0.264129 0.262427 0.0966177 -0.0190789 -4.19879 -0.0780421 0.0353009 -1.38179 1.31013e-05 -0.322108 -0.308042 0.00397509 0.00104005 -0.0384684 -0.00124505 1.40662 0.00261765 0.0535516 -2.20617 0.71392 -0.00655969 -0.00385976 0.00177955 -0.0688315 -0.00451787 -0.301556 2.56607 0.0909134 0.00677957 1.53363 -0.000206722 0.154189 -0.00360453 -0.028206 0.0578761 0.174042 0.990059 -0.174779 0.031878 -0.0164965 9.0042 -0.112664 -0.310147 -0.0267936 -0.194227 -0.111019 -0.00802309 0.0270495 0.000779648 -0.0462694 0.0238099 -0.00265341 -0.185293 -0.446216 0.727907 0.0583631 0.252889 -4.02027 -0.00188297 0.0112737 -0.0213011 -0.81715 0.000230502 0.00942152 -0.0905917 0.236039 -1.76049 0 +81 0 0 0 0 0 0.721006 0.377503 -0.720444 -2.80667 0 0 0.00656472 0.511636 0 1.1695 0.00155479 0 0 0 -0.0144164 -1.15259 0 0 0 0 -0.561307 0 0 -0.709117 -2.26245 0.515247 0 0.0222042 0 0 -0.334628 -0.000243715 0 0 0.20148 0.759198 0 0 0.0719651 0.572901 0 1.10954 -0.793728 -0.00180063 -0.113808 0.737308 0.00500267 0 0.00364766 -0.00198686 -0.0247933 -0.584684 -0.0921681 -0.11746 0 0 0.401125 -3.04409 0 -0.79164 -0.0512639 -0.240611 0 0 0 0 -0.141986 0.121743 0 -2.90243 0.365563 0 0 0 3.89439 0 6.6861e-05 1.1115 0 -0.126647 -0.291984 4.65701 0 -0.215411 -0.0551412 0.306868 3.65662 0 0 0 -0.0244916 -0.00160316 0 0 0 -0.00877495 0 0 -0.000399959 0 0 -0.00391023 0 0 0 0 -0.0666596 0 -0.0022224 0 -0.127638 0 -0.111243 -0.025292 0 -0.000162462 0 0 0.00122913 0 -0.000287594 0 0 0 0 0.0354214 -0.00227154 0 0.00128904 0 0 0 0 0 0 0 0 0 0 -0.0104487 0 0 0 0 0 0 0 0 0 0 -0.0739554 0 0 0 0.00150498 0.0173468 0 0.047882 -0.073692 0 -0.0262795 0 -0.0338305 0 0 0 0.136372 0 0 0.000225356 0 0 0 0.0223543 0 0 0 0 -0.00610621 0 0.721006 -0.0244916 0.377503 -0.00160316 0.287616 0.0721514 -0.0119946 -0.445762 -0.0556844 0.000263374 0.014477 -0.0937773 7.78233e-06 -0.00324391 -0.00037753 0.00043599 0.0103391 0.00744595 -0.777718 -1.10686 0.180976 -0.387582 -0.052363 -0.14824 0.024488 -0.21521 0.0094139 -0.0149167 3.61444 0.0817819 1.22375 1.4543 -1.10311e-05 -1.66101 0.439172 -0.00190619 0.00140015 -0.127191 0.013247 -1.14006 -0.00101796 -0.0437863 2.17231 -1.97756 0.00278683 0.00827276 -0.425172 -0.160704 -0.00349808 1.03283 -1.25202 -0.690882 -0.0274006 -0.312195 0.000519696 -1.24018 -0.00378004 -0.0410309 0.0175939 -0.0432322 -0.405405 0.128357 0.216283 -0.0494412 -8.95522 -0.110576 0.778588 0.0467398 0.0626869 -0.102936 0.00517708 -0.0297728 -0.000430843 0.149357 -0.07896 0.00185224 -6.42339 0.301053 4.35766 -0.0258642 0.124744 1.81869 0.000818766 0.0860393 -0.282158 1.96854 -7.69386e-05 -0.0491518 0.112252 -0.264821 1.50934 0 +82 0 0 0 0 0 0.272517 0.240209 -0.555567 -1.15489 0 0 -0.0450836 1.0789 0 1.92474 -0.00659332 0 0 0 -0.0360269 2.1401 0 0 0 0 -0.431738 0 0 -0.640744 -2.36862 0.761883 0 -0.0731788 0 0 -0.270571 -0.00339697 0 0 -0.0696858 0.312498 0 0 -0.0170927 3.111 0 -0.0673734 -0.977875 -0.236436 0.0266759 1.12481 -0.0552324 0 0.00714093 -0.051177 -0.139566 -1.32289 0.0556597 -0.094509 0 0 -0.191973 1.61285 0 -0.271426 -0.103674 0.0890668 0 0 0 0 -0.217563 -0.221422 0 -0.504177 1.21604 0 0 0 1.34732 0 0.0830545 3.50862 0 0.0857565 0.11991 2.64136 0 0.0444979 -0.0944068 -0.149631 7.18232 0 0 0 0.0257601 0.000861169 0 0 0 -0.000227055 0 0 3.66742e-05 0 0 0.000887376 0 0 0 0 0.015608 0 0.000608415 0 0.0224144 0 -0.00497662 -0.0312611 0 4.30397e-05 0 0 0.00122763 0 -0.00060838 0 0 0 0 -0.0168748 0.000683691 0 -0.000511957 0 0 0 0 0 0 0 0 0 0 0.0137984 0 0 0 0 0 0 0 0 0 0 0.0106364 0 0 0 -0.00934035 0.00101196 0 0.00738721 0.0218837 0 -0.00110752 0 -0.00187506 0 0 0 -0.0267237 0 0 -0.000507952 0 0 0 0.000362635 0 0 0 0 -0.00340491 0 0.272517 0.0257601 0.240209 0.000861169 0.21377 0.0752477 0.00373959 0.235544 0.0293356 -0.000117536 -0.0175022 0.0792027 -3.0831e-06 0.00187632 0.000111678 0.000490284 -0.0121998 -0.00423377 1.10306 1.09599 0.502866 0.0342062 0.0618119 0.207052 -0.0868199 -0.122179 0.0379074 0.00311213 3.21015 -0.102272 2.73104 1.27663 3.20772e-06 0.327671 1.26114 0.00144249 -0.00365992 0.0148886 -0.0196597 -0.599517 0.000134094 -0.0219163 2.21387 2.51861 -0.00247318 -0.0160911 0.497915 0.128883 0.144028 -0.140615 -1.59567 0.0352613 -0.0207915 -0.357711 -8.8054e-05 -1.88106 -0.000132684 -0.0959583 0.071217 -0.267698 0.563833 0.0649486 -0.0917432 0.17701 -5.902 -0.118205 -0.558841 -0.0337766 0.0891048 0.0914674 -0.00256653 0.00932135 0.000166451 -0.121252 -0.0288793 0.00111281 -14.3351 -0.085262 -2.14489 -0.00299841 0.224473 2.34555 -0.000599264 0.00428703 0.115877 0.337136 4.37474e-05 0.00988299 -0.0250437 0.119924 0.749272 0 +83 0 0.214545 0.313245 0.000356378 0.0360603 -0.0901193 0.195289 0.338973 1.1009 0.000874734 0.0303488 -0.00903846 1.55055 -4.29534e-08 2.44556 -0.000179209 1.85661 5.56967 0.00866942 -0.000350006 3.73195 0.00237859 -0.123235 5.54526e-08 0.0142197 0.0191366 0.648732 -0.00612016 -0.259229 0.256211 0.716849 7.12793e-06 -0.0201733 0.105407 -0.0921757 -0.116556 -9.67373e-05 -0.0586747 1.1571 -0.00334445 2.26416 -5.52127e-06 -0.610577 -5.24317e-05 5.05044 -0.000677566 1.25313 -0.0428509 -0.0382035 5.43695e-05 -0.376114 -0.0155702 -7.3573 0.000198496 -0.000181925 -0.00146706 -3.53595 -0.151985 0.0319074 3.55408e-05 3.48662e-06 -1.38403 -3.12188 -0.713581 -0.349964 0.197261 -0.0585003 0.0702072 -0.0722791 -3.80421e-06 0.17146 -0.0172832 -0.00528099 0.0844723 -3.30075 0.328955 0.2616 -1.73328 0.0380198 -2.26412 -0.263396 0.579783 -2.36584 -0.0310455 0.0650109 -0.0232073 -1.45826 6.90566e-08 1.08076e-06 0.000238035 0.000895151 -0.189893 0 0 0 0 0 0.000356378 0.0360603 0 0 0 0 0 0 0 0.000938878 0 0 0 0 2.86894e-06 0 9.24563e-06 -0.000353065 0.000288861 0 0 0.0128431 0 0 0.0005558 -0.02177 0 0 0.00153319 -0.0181123 0 0.0286357 0 0.000124971 0 0 1.49095e-05 0 0 0.0856817 0 0 0 0 0 0 0 -0.0167101 0 0 0.0215282 0 0 0 0 0 0 0 0.00109257 0 0.111107 0 -0.000530642 0 0 -0.000632805 0.0247721 0 -0.00121422 0 0 0 -0.196218 0 -0.000858654 0 0 -0.00369254 0 0 0 -1.24487e-05 0 0 0 0 0 0 -0.0901193 0 0.195289 0 0 0 0 -0.00330332 -0.275186 0 0 -0.209686 0 -0.0125167 0 -0.00449724 0 0 0.444773 0 -0.257861 0.0939455 -0.0341827 0.0208418 0 0 -0.0857847 0 9.69877 0 -0.876361 1.22951 0 0.468519 -0.339124 -0.000816123 0 0.00767235 0 0 -0.023342 0 3.46614 1.39104 0 0 0.135343 0 0 -0.473402 -2.55042 -0.16386 0 -1.68494 0 0.410126 -0.0618826 0.12931 0.0617539 -0.094609 -1.4345 -0.162532 -0.00336799 -0.101734 -2.78922 -0.0376555 0 0 0 0.0474093 0.0159725 0 0 0 0 -0.01119 5.46021 1.05005 -0.929438 0.072743 0.0173907 0.358434 0.0188744 -0.00988609 0.128624 -0.329651 0 0 0 0 0 0 +84 0 0.474696 0.416387 -0.000211 -0.0213501 0.207491 0.0874546 0.0312698 0.081544 -0.000517901 -0.018122 0.0042624 -0.643926 2.54313e-08 -1.93266 0.000111831 1.51737 3.31137 -0.0168716 0.000221439 -2.58442 -0.00307032 -0.463611 -3.28317e-08 -0.00415433 -0.167958 0.744952 0.000527293 -0.172425 0.374147 -0.454105 -4.22021e-06 0.0128368 -0.710182 0.0172957 -0.210506 5.02897e-05 0.00986041 -2.44324 0.00115425 -1.07711 3.26896e-06 0.111378 2.57454e-05 -2.67761 0.000401164 -0.233795 -0.0449555 0.0248346 -2.85327e-05 -0.218681 0.00634567 -1.79515 -0.000123947 0.000113599 0.000615176 -0.614179 -0.0246968 -0.0185158 0.0040642 -2.06431e-06 -1.52546 2.2268 -0.36101 1.02452 0.0744316 -0.0466066 -0.0552394 0.0344041 2.25235e-06 0.214333 -0.0652254 0.00458042 -0.0204736 1.69966 -0.0715141 -0.0558132 6.50264 0.497757 0.432505 0.0815022 -0.125501 2.19358 0.00205528 -0.0529872 0.252949 -0.577924 -4.08861e-08 -5.97796e-07 -0.000167729 -0.000930416 -0.277301 0 0 0 0 0 -0.000211 -0.0213501 0 0 0 0 0 0 0 -0.000537665 0 0 0 0 -1.92602e-06 0 -5.3572e-06 0.000197152 -0.000206478 0 0 -0.00636397 0 0 -0.000321279 0.0129318 0 0 -0.000751728 0.00979734 0 -0.016341 0 -6.60369e-05 0 0 -7.8266e-06 0 0 -0.0488804 0 0 0 0 0 0 0 0.00984667 0 0 -0.0108858 0 0 0 0 0 0 0 -0.000372263 0 -0.0639219 0 0.000333414 0 0 0.000374256 -0.0133095 0 0.000833969 0 0 0 0.11194 0 0.000537585 0 0 0.00210655 0 0 0 8.8984e-06 0 0 0 0 0 0 0.207491 0 0.0874546 0 0 0 0 -0.243235 0.049011 0 0 0.121814 0 0.0117561 0 0.00154093 0 0 0.0244198 0 -1.29024 -0.122308 0.010957 0.0149046 0 0 0.00281187 0 -4.88716 0 -6.06637 -1.08662 0 -0.705127 -2.63104 5.96446e-05 0 -0.0480109 0 0 0.0131006 0 -2.23802 -0.108713 0 0 0.0172341 0 0 0.475911 -0.330239 0.330973 0 2.41831 0 0.620117 0.0567441 -0.0521051 0.27139 -0.0432296 -0.869775 -0.296103 0.0674851 -0.174794 10.166 -0.0306987 0 0 0 -0.0199715 -0.0350037 0 0 0 0 -0.0336135 35.9107 0.437604 4.68744 0.372674 -0.412264 2.27161 -0.0661946 0.0522853 -0.0494198 0.284775 0 0 0 0 0 0 +85 0 0.281817 0.052221 1.9647e-05 0.00198799 0.0266527 -0.154243 0.736196 0.575997 4.82237e-05 0.0415366 0.00112777 0.416491 -2.368e-09 0.203957 -2.88449e-05 1.04814 4.24608 0.00286699 -8.15213e-05 1.49912 -0.000639083 0.267415 3.05708e-09 -0.00318771 0.526202 -0.00578478 -0.00285748 0.568463 0.788196 -0.183089 3.9296e-07 -0.00406874 0.112317 -0.0518886 0.457025 5.09732e-06 -0.0219831 -1.53553 0.000793376 0.348461 -3.04385e-07 -0.268306 3.3813e-06 1.95151 -3.73539e-05 -0.197113 0.607651 -0.0118069 -1.3329e-06 0.109472 -0.0888064 -0.480146 3.90686e-05 -3.5807e-05 -0.00176005 1.2788 -0.169168 -0.00196513 0.00596316 1.92216e-07 -0.606935 -1.98092 -0.640612 0.339823 -0.0795194 -0.230561 -0.364103 -0.0195602 -2.09725e-07 -0.173256 -0.16396 0.00108046 0.0185511 0.248792 -0.163627 -0.135374 7.10653 0.219395 2.56343 0.205405 -0.25192 1.63765 -0.0182404 0.00666831 -0.222232 0.860868 3.80706e-09 9.75615e-09 -2.63234e-05 -0.00135297 -0.584176 0 0 0 0 0 1.9647e-05 0.00198799 0 0 0 0 0 0 0 1.27005e-05 0 0 0 0 -1.64043e-06 0 2.5916e-07 -1.96286e-05 -0.000264469 0 0 0.000180716 0 0 2.96877e-05 -0.00288937 0 0 4.15078e-05 -0.00101675 0 0.00150364 0 3.50708e-06 0 0 5.46024e-07 0 0 0.00449746 0 0 0 0 0 0 0 -0.000871243 0 0 0.0007978 0 0 0 0 0 0 0 6.07243e-05 0 0.0074326 0 -7.07419e-07 0 0 -3.81077e-05 0.00121105 0 -0.000139872 0 0 0 -0.0102995 0 0.000275117 0 0 -0.000193823 0 0 0 1.13975e-05 0 0 0 0 0 0 0.0266527 0 -0.154243 0 0 0 0 -0.0467241 -0.228528 0 0 -0.0489132 0 -0.00309977 0 -0.0011866 0 0 0.261522 0 0.011877 -0.0326045 -0.0032981 0.00735447 0 0 -0.0232361 0 3.63269 0 -2.72848 -0.0803847 0 -0.361071 -0.542294 -4.69016e-05 0 0.0056031 0 0 -0.0217757 0 0.840598 0.81184 0 0 0.0549796 0 0 0.144209 -1.74571 0.321093 0 0.306292 0 0.667913 -0.0367841 -0.0308907 -0.268727 0.0441602 -0.50316 -0.471011 -0.0917319 0.0980546 2.19135 -0.0508494 0 0 0 -0.0158408 0.00155527 0 0 0 0 0.0333984 19.227 0.652721 3.49455 0.267173 -0.224427 1.35865 -0.0313275 -0.0192053 0.000160415 0.357796 0 0 0 0 0 0 +86 0 0 0 -0.192569 -0.0152789 0 0 0 0 2.86995 1.36606 -0.0473332 0 0.364996 0 -0.0184284 0 0 0.56098 0.194665 0 0.441662 0 -0.40729 1.36678 0 0 -0.640971 0 0 0 0.0817475 -0.387043 0 -1.18579 0 -0.000466802 -1.11781 0 0.0679537 0 0.242717 -2.59504 0.244199 0 -0.40905 0 0 -1.12866 -0.949244 0 0.31457 0 1.44543 0.497562 0.0474978 0 0.97845 0.139452 -0.424528 0.87066 0 0 0 0 -0.68304 0 -1.32326 -0.19231 -1.51924 -2.09986 -0.424257 -0.293264 1.64904 0 0 2.68723 0 -4.31755 0 0.277909 -0.113928 0 -3.07535 1.18051 -0.454932 0 0.863542 -0.893479 0.917488 -0.339386 0 0 0.112974 0.0154989 0.115663 -0.00167963 -0.192569 -0.0152789 0.0546519 -0.0597658 -0.179242 -0.000422436 -0.00862743 0.0235191 -0.00115401 0.0600624 0.0220051 -0.00390638 0.0159667 0.106727 -0.157373 0.237228 0.0302117 -0.832666 0.036895 0.00193955 -0.43022 -0.433489 0.0101005 0.00278156 -0.816469 -0.570397 -0.159554 0.0099321 -0.0500749 -0.541033 -0.0525138 -1.57609 -0.0167952 0.137471 -0.00841395 0.0893642 0.0536418 -0.028605 0.000268578 -2.53356 0.322715 0.192488 -0.00426762 0.613326 -0.054995 -0.024062 -0.0148555 -0.119283 0.043241 0.110482 -0.352143 -0.173511 -0.0725474 0.0507956 -0.0431041 -0.12928 -0.102504 0.0644304 -0.0625145 0.145107 0.967542 0.0180949 -0.151696 -0.0483515 0.145788 0.225501 0.249995 -0.033067 -0.165802 0.0253528 0.331467 0.0117426 10.3298 -0.891047 1.02438 0.328783 -0.640825 1.32187 -0.029451 0.0556669 -0.113507 0.0547352 0.0078553 -0.0159534 0.0308384 -0.063704 0.125525 0 0 0.115663 0 -0.00167963 0 0 0.945575 0 -0.612232 0.0336995 -0.0417773 0.356111 0.00531575 0.0593091 0.1181 -0.0970955 -0.0218397 0.196467 0 0 0 0 0.0785823 0 -0.349799 0 -0.412223 0 0 0.0683877 0 0 0.0109844 0 0 -0.0116892 0.00321629 0 0.00670042 0 -0.0981231 0 0 0 -0.0012245 0.0363979 0 0 0.0227297 0 0 0 0.205517 0 -0.550849 0 -0.118414 -0.210113 0.232838 0 0 -0.304454 0.0293787 0.338135 0 0.197211 0 0.0116421 0 0.276293 0.0168378 -0.215334 0.0846403 0.254243 0.0983974 -0.295251 0 -1.28097 0 -1.21417 -0.0304978 0 -0.62162 0.209707 -0.0443872 0 -0.453126 0.0558491 -0.0618245 -0.106021 0 0 +87 0 0 0 0.251411 0.174361 0 0 0 0 -4.27476 -2.15839 -0.596198 0 -0.329918 0 0.221958 0 0 -0.647154 0.38837 0 -0.501998 0 0.627677 -1.41536 0 0 1.19821 0 0 0 -0.0917295 1.29206 0 2.06785 0 -0.0183395 2.14921 0 -3.43307 0 0.643474 3.06262 -0.769219 0 5.12565 0 0 2.92143 3.65474 0 1.98953 0 -1.64678 0.64981 -0.526177 0 -1.60864 -1.4074 -0.789448 -3.84732 0 0 0 0 -0.110838 0 1.30969 2.03149 2.53369 3.40975 0.720608 -1.66426 -2.32919 0 0 -4.57746 0 7.051 0 -10.5231 7.57174 0 -3.67728 2.61676 2.07286 0 -19.1849 11.1288 -6.44638 5.372 0 0 -0.591599 -0.0811614 0.354078 0.0764549 0.251411 0.174361 -0.126006 -0.0272245 0.33772 0.00293127 0.000170945 -0.00284253 -0.0057327 -0.02307 -0.0819502 0.0305327 -0.0542134 -0.411183 0.260346 -0.776071 -0.0132568 1.53385 0.489802 -0.00778138 -0.154212 -0.68613 -0.0421674 -0.0114377 1.013 -0.360195 -0.279391 -0.0352511 -0.213649 1.3581 0.049832 1.47736 0.0443178 -0.523858 -0.0673307 -0.237156 -0.155672 0.290942 -0.00226149 1.59243 -0.0329275 -0.603118 0.00599849 -1.00571 -0.0876683 0.0778848 0.0258273 -0.174551 -0.0430841 -0.118918 -2.09272 0.135881 0.207523 -0.120277 0.118152 0.293038 0.0306237 -0.139418 0.25354 -0.251478 2.02851 0.58206 0.285135 0.0463269 -0.0856418 0.0850264 0.866177 0.376992 -1.26084 -0.0210909 0.0720608 -0.0499971 -6.49262 1.58123 -1.68964 -0.664769 0.685766 -0.0568367 0.101163 -0.146907 0.202678 -0.0714105 -0.0488245 0.0653 -0.0752706 0.0287075 0.219803 0 0 0.354078 0 0.0764549 0 0 -0.31282 0 0.512084 0.0833757 0.0103001 -0.167734 0.00942072 -0.00345006 0.00481241 0.0862546 -0.0289714 0.631993 0 0 0 0 0.275467 0 0.188818 0 0.287642 0 0 -0.478031 0 0 0.0071478 0 0 0.0541691 -0.00795533 0 -0.0441257 0 0.139218 0 0 0 -0.00403015 -0.0854068 0 0 0.00736771 0 0 0 -0.0426757 0 0.248509 0 -0.13873 0.110976 0.598886 0 0 -0.176405 0.440617 -0.0872785 0 0.405783 0 0.208809 0 0.124742 -0.466781 0.681716 -0.585208 -0.615303 -0.125395 -0.149021 0 0.749983 0 -2.6616 1.78378 0 -1.82343 1.06083 0.317112 0 -1.84909 1.24608 -0.504694 0.430192 0 0 +88 0 0 0 -0.292515 -0.440274 0 0 0 0 -0.0638942 4.84691 -0.170889 0 0.462514 0 0.132791 0 0 1.05998 0.564629 0 0.515979 0 -0.380276 1.74216 0 0 -0.658196 0 0 0 -0.163495 0.548155 0 -1.15971 0 -0.0671974 -1.7625 0 0.821933 0 0.751404 -3.72635 0.102141 0 1.35573 0 0 2.00969 -0.393786 0 1.00408 0 -1.5933 0.455969 0.0369679 0 -0.382111 0.123015 -2.26962 -0.648562 0 0 0 0 0.27177 0 -1.67428 -1.70325 -1.24244 -6.9566 -0.0414827 1.17637 -0.501876 0 0 1.40522 0 -14.7893 0 -1.07051 -3.41109 0 -6.46783 2.08199 -5.7257 0 -3.45909 0.0763719 -1.44825 -1.70174 0 0 -0.062405 -0.00856134 -0.130279 -0.00709993 -0.292515 -0.440274 0.000781489 0.0477191 0.0145656 0.000212298 0.00594375 0.024029 -0.00956713 0.264498 -0.0131294 0.00186289 -0.0228488 -0.0489291 0.278411 -0.144687 0.0935281 -0.546516 1.00997 -0.0011409 0.237765 0.433807 -0.00485142 0.00962204 -0.627507 1.8163 0.377934 -0.00639989 0.13466 0.0687594 -0.0143529 -1.27328 0.00314576 -0.0365946 0.0635993 -0.0619448 0.0362669 0.0116696 -0.000889329 -3.50509 0.331582 -0.299534 -0.000791119 0.0877295 -0.412268 0.0259743 -0.00929273 1.07998 -0.0375865 -0.000891084 0.899172 -0.0224566 0.0451195 -0.0229864 0.033316 0.0259012 -0.0160522 -0.0603141 -0.0816909 -0.0814498 -1.26877 -0.513805 0.03825 -0.0917248 -0.0846586 0.0792954 0.184085 -0.336328 0.712822 0.0300783 -0.0179174 -0.00682288 14.2909 -0.0656776 -0.537673 0.289487 -0.463449 0.608316 0.0296329 -0.0638921 0.168894 -0.561312 -0.00411409 0.0120204 -0.0441673 0.101007 -0.297329 0 0 -0.130279 0 -0.00709993 0 0 -0.249761 0 -1.35472 0.00224336 0.0528526 1.67833 0.00261581 0.250391 -0.0353301 -0.130258 0.121696 -0.000859574 0 0 0 0 0.586914 0 0.455076 0 -0.429411 0 0 0.378838 0 0 -0.00542134 0 0 0.0874179 0.0088583 0 0.0324174 0 -0.245751 0 0 0 0.0123708 0.0805318 0 0 0.156256 0 0 0 -0.434861 0 0.183693 0 -0.566763 0.209783 -1.21729 0 0 -1.11934 0.215578 0.373691 0 0.0123408 0 0.137507 0 -0.551089 -0.49938 -0.164526 -0.0305856 0.234486 0.00716555 0.0185185 0 -6.05918 0 0.0357117 -1.76614 0 -0.423129 0.187624 -1.308 0 0.0976948 -0.209787 -0.260877 -0.239732 0 0 +89 0 -0.44032 -0.583985 -0.0648131 0.00679226 0.0701634 -0.0377753 0.0536749 0.276751 -0.175799 -1.32207 -0.226452 -0.591594 0.135686 -0.606136 -0.177826 -3.18417 -11.8959 0.0193219 -1.05098 0.384932 0.0185278 0.598117 -0.171847 -0.549347 -0.0887603 -0.950243 -0.224201 0.0480312 0.251012 -0.102802 -0.193676 -0.451072 1.14907 -0.381099 -0.0414477 -0.116272 -1.17658 1.50616 -0.500108 0.120675 0.177436 -2.03657 -0.318369 -3.04351 0.150853 0.0300005 0.131355 -2.27665 0.437751 -0.761894 -0.392314 6.87873 -0.061921 -1.1958 0.520379 -0.792993 -0.207794 0.321566 0.603488 -0.196665 -1.43392 -0.324283 -4.72102 0.791863 0.982283 -0.0348786 -2.01405 -1.54919 0.204927 1.30108 -0.349691 -0.343332 0.0932567 0.100481 -0.309509 0.685957 -13.9166 -1.01577 0.535654 -1.80237 2.13423 -3.27795 2.3582 -0.891514 1.10181 -1.33752 -0.615671 1.19169 -0.653582 0.753426 -0.47043 0 0 0 0 0 -0.0648131 0.00679226 0.00942029 0 0 0 0 0.00390839 0 0.00950797 0 0 -0.00259676 -0.0248189 -0.0239172 0 0.00556397 0.158243 -0.0671495 0 0 -0.883621 -0.0018181 0 0.585192 -1.15029 0 0 -0.1371 -0.201862 0 0.968589 0 -0.461868 0 0 -0.0677559 0 0 1.56112 0.0543027 -0.0346271 0 0.132739 0.0678181 0 0 -0.303061 0 0.0051853 -0.932512 0.0048357 0 0 0.0118309 -0.0239929 0 -0.01096 0.13219 -0.0405442 -0.597755 -0.060293 -0.00497137 0 -0.0382994 0.00858555 -0.290872 0.0853644 0.139798 0 0 0 -6.71612 0.393764 -0.636178 -0.156846 0.299499 -0.641137 0.00496915 -0.00956908 0.0196266 0.0221088 0 0 0 0 0 0 0.0701634 0 -0.0377753 0 0 0 0 0.0709244 0.12469 0 0 0.109979 0 0.0204298 0 -0.00347533 0 0 0.00874124 0 0.107306 0.0111847 0.0526093 0.00135845 0 0 0.0132228 0 -4.20087 0 1.66679 -0.407455 0 0.1364 0.519991 0.0089757 0 0.00653695 0 0 0.00124925 0 -1.18277 -0.425001 0 0 -0.0569885 0 0 0.109913 -1.22295 0.366134 0 -0.159745 0 -0.103961 -0.00792278 -0.146695 -0.0266564 0.0676607 0.302522 -0.320024 -0.116111 -0.409496 -2.11787 0.0346595 0 0 0 -0.034222 0.0132005 0 0 0 0 -0.0921587 -10.1307 -2.12454 0.464195 -1.10171 0.972876 -1.00881 -0.154037 0.0702442 -0.0937569 -0.1691 0 0 0 0 0 0 +90 0 0.5496 0.292426 -0.0730852 -0.271186 0.532602 0.0988293 -0.481092 -2.63809 0.86406 2.12015 0.139282 -0.174428 -0.0635535 0.456088 -0.0215308 0.87741 1.70918 0.0340416 0.117926 0.0380676 -0.0763894 -0.435436 0.136423 0.64842 -0.365503 0.443048 -0.2776 -0.023341 -0.537609 -0.024276 0.406328 0.00244055 -1.02102 -0.672514 -0.0197329 0.0602837 -0.874087 -3.25169 0.926054 0.0100793 -0.291889 -2.63045 0.520118 1.13644 -0.722947 0.00951347 -0.12962 0.310387 -1.46543 -0.776608 -0.374815 -9.50915 0.0387066 0.126981 -0.064725 -3.90154 -0.538511 -0.0514637 -0.450024 1.27199 1.0743 0.0174843 2.06862 1.89976 1.37245 -0.0230442 -0.892933 -1.84753 -1.49997 -2.30642 -0.0823739 0.844016 0.710299 -1.49467 0.0779398 -0.00974152 19.3691 -2.04973 10.6976 2.36861 -1.03147 5.74651 -3.47889 1.78574 -2.00612 5.36022 2.95053 -2.70997 1.77451 -1.47773 1.00755 0 0 0 0 0 -0.0730852 -0.271186 -0.0308853 0 0 0 0 -0.0133011 0 -0.0731723 0 0 0.0277096 0.202139 -0.414005 0 -0.0418113 -0.23702 -0.759383 0 0 1.18102 0.0147475 0 -0.643943 1.75881 0 0 0.183721 0.36404 0 -1.06094 0 0.57507 0 0 0.0934547 0 0 -1.63783 -0.18421 0.378357 0 -0.42871 0.135176 0 0 0.15966 0 -0.029855 1.62116 0.00558214 0 0 -0.056476 0.0742227 0 0.0490472 0.0479806 0.142567 -0.491732 -0.431925 -0.069142 0 -0.119859 0.110269 -0.335702 0.101178 1.09809 0 0 0 6.40182 -1.02435 2.22471 0.15087 -0.287346 0.623002 -0.0358592 0.0683568 -0.147572 0.301624 0 0 0 0 0 0 0.532602 0 0.0988293 0 0 0 0 -0.176767 -0.101191 0 0 0.328891 0 0.0405907 0 0.00793079 0 0 -0.144698 0 0.0482445 -0.093008 0.0408696 -0.0178945 0 0 0.0452901 0 1.11724 0 -1.77976 0.165722 0 -0.88127 -0.0254594 0.00311986 0 -0.0183269 0 0 -0.00166768 0 0.436014 -0.0517282 0 0 -0.0126951 0 0 -0.116558 0.210207 -0.650028 0 -0.0186072 0 0.754339 -0.308823 0.493786 -0.583254 -0.0757169 0.512202 -0.227248 0.189558 -0.0120565 -2.33509 0.027653 0 0 0 0.0451662 -0.137665 0 0 0 0 0.0518058 15.4115 -1.1599 5.81367 -0.38034 0.419409 1.90671 -0.423775 0.386364 -0.244121 0.754307 0 0 0 0 0 0 +91 0 0.208526 0.506952 0.41193 0.211097 -0.23676 -0.0980079 0.311508 1.83535 0.148658 -2.38972 -0.0888715 -0.707764 -0.664902 -0.345027 -0.0400319 0.73287 3.21695 -1.24961 0.0631712 -0.461608 -0.848799 -0.952133 0.791103 -1.30138 0.269549 0.426491 0.576377 0.0311142 0.539444 -0.103911 0.661279 -0.00854314 -1.60885 1.30418 0.0633603 0.00478729 1.03553 -1.1825 -0.37384 -0.095457 -0.679115 3.58066 0.0637606 -2.11818 -0.144433 -0.0155522 0.117785 0.208805 0.449015 1.34079 -0.221017 -2.27056 -0.240328 0.263664 -0.00604641 2.1218 0.649109 0.159896 1.18336 -0.112154 -1.02611 -0.200037 1.79159 -1.39469 -1.30325 0.121898 2.57358 1.65875 0.27603 3.39774 -0.0574447 -0.321459 -1.45296 0.405357 -0.133426 -2.00129 13.772 13.416 -6.49301 5.23326 -0.414621 -2.88497 4.15864 -1.92506 2.16518 -3.32704 0.58947 0.598998 -0.965461 0.962352 -1.01099 0 0 0 0 0 0.41193 0.211097 0.00660551 0 0 0 0 -0.00485853 0 0.0143045 0 0 -0.00346036 -0.0368822 -0.0231801 0 0.00143401 0.242776 0.0590678 0 0 -0.0401293 -0.002694 0 -0.249249 1.05765 0 0 -0.0130662 0.372599 0 -0.507241 0 0.0984315 0 0 0.00290018 0 0 -0.311161 -0.0666736 -0.0469081 0 0.0917674 -0.0484578 0 0 0.0948655 0 -0.00394822 -0.0640585 0.0126973 0 0 0.00227429 -0.0204818 0 -0.00542929 0.0104364 -0.00720617 -1.46203 0.0141509 0.00408623 0 -0.000449775 -0.026639 -0.106601 -0.116551 0.021399 0 0 0 0.605037 0.0490889 -0.0019371 0.015682 -0.0291033 0.0712716 0.00313068 -0.00589259 0.0135252 -0.00610782 0 0 0 0 0 0 -0.23676 0 -0.0980079 0 0 0 0 0.0832759 0.902142 0 0 -0.486675 0 -0.0563152 0 0.0163857 0 0 -0.000608614 0 0.109087 0.0687816 -0.0191043 0.00261544 0 0 0.0993507 0 0.122998 0 1.21348 -0.138134 0 0.712402 0.395876 -0.00127055 0 0.00650867 0 0 0.136642 0 -0.423711 -0.235948 0 0 -0.0202294 0 0 0.0566748 -1.32622 0.191272 0 -0.186123 0 -0.471892 0.462819 -0.453494 0.125088 -0.057734 -0.337755 0.347599 -0.112293 -1.06905 -0.788195 0.0216023 0 0 0 -0.0460506 0.0978535 0 0 0 0 -0.241759 -8.96971 2.08575 -4.34263 0.167852 -0.131853 -0.897677 0.365235 -0.318576 0.335136 -0.564878 0 0 0 0 0 0 +92 0 1.66544 0.880776 0.41375 0.0920457 0.138791 -0.0207779 0.471031 1.40757 -0.184592 -2.74111 0.0487753 -0.285598 -0.707081 -0.382677 -0.0183111 2.56404 12.1614 -1.31842 -0.05951 -1.27524 -0.839307 -0.920001 0.80196 -1.7122 0.386107 0.787824 0.59931 0.00409618 -0.109536 -0.0928892 0.669291 0.151806 -2.07804 1.3149 0.137583 0.0418166 1.23841 -5.34871 0.179335 -0.232668 -0.888949 4.85724 0.0218094 -1.25246 -0.881749 -0.0435858 0.00750398 0.874941 -0.0841277 0.846534 -1.44177 -0.314868 -0.547684 0.070296 0.0911224 5.46377 0.966163 0.446659 1.2392 0.395277 0.0229201 -0.177243 2.92009 -3.8935 -1.62613 -0.0292915 3.67287 1.89984 0.406959 1.21177 0.367903 0.00192514 -1.19416 0.315159 -0.0189701 -2.17414 19.8252 10.8874 -4.85443 9.68749 -6.66265 10.1991 6.80372 -3.30781 3.61834 -1.87136 3.30443 -0.457008 0.386645 -0.0519213 0.0450684 0 0 0 0 0 0.41375 0.0920457 0.00767635 0 0 0 0 -0.00585653 0 -0.0014553 0 0 -0.0044507 -0.00684112 0.113528 0 0.00478859 0.284912 0.061021 0 0 0.0652504 -0.000477673 0 -0.110995 1.72872 0 0 0.0017204 0.189197 0 -0.0892521 0 -0.0797308 0 0 -0.00795032 0 0 -0.619822 -0.0807988 -0.0706833 0 0.100376 0.0791707 0 0 -0.437974 0 -0.0129533 -1.21383 0.00250867 0 0 0.00871401 -0.0312087 0 -0.00873385 0.0598855 -0.00789883 -1.18856 0.0282399 -0.0395869 0 -0.00203765 0.00101651 0.188084 -0.211842 -0.316895 0 0 0 7.07832 0.719262 0.345389 -0.00314354 0.0966015 0.163546 0.00445428 -0.0045349 0.0220741 -0.0149734 0 0 0 0 0 0 0.138791 0 -0.0207779 0 0 0 0 -0.000836857 1.21088 0 0 -0.232475 0 -0.0394245 0 0.019401 0 0 -0.0464793 0 -0.0438924 0.0228852 -0.0105273 -0.00780966 0 0 0.14296 0 6.00938 0 -1.50551 0.157137 0 0.150208 -0.221072 -0.00357381 0 0.000228836 0 0 0.161059 0 0.912927 -0.247961 0 0 -0.037791 0 0 -0.0174975 1.1445 0.182182 0 1.08156 0 -1.26002 0.278696 -0.190541 0.281784 0.0292361 0.249769 1.21438 -0.231948 -0.736415 1.79109 0.0013052 0 0 0 0.177417 0.167382 0 0 0 0 -0.326762 13.6784 2.36078 -0.18796 0.830987 -0.694658 1.92452 0.217375 -0.236702 0.299111 -0.182311 0 0 0 0 0 0 +93 0 0.0991229 0.318922 -0.0213974 -0.299714 0.223243 0.0724448 -0.208875 -1.85007 0.620071 1.61723 0.166524 0.281915 -0.095166 1.35474 0.067852 1.65198 4.43568 0.0415701 0.091961 -0.326372 -0.110553 -0.440595 0.17127 0.281383 -0.334058 0.715534 0.00208515 -0.0201368 -0.198865 0.220429 0.350629 0.181764 -0.820189 -0.0697012 0.0174223 0.0765585 0.105706 -1.60928 0.278297 -0.0305446 -0.329062 -0.0742066 0.159196 2.50774 -0.710801 0.00290322 -0.0583381 0.462738 -0.329729 -0.663141 -0.241001 -3.93349 0.511846 0.13313 -0.0280935 -2.58166 -0.331148 -0.022198 0.336444 0.959242 2.59543 -0.062426 4.42674 0.930204 1.31583 -0.494765 1.65018 -0.929086 -1.27689 -1.53459 0.793557 -0.115101 0.989633 -1.18627 0.000366942 0.347473 13.64 -1.62277 7.56708 4.44482 -0.294492 1.44234 -1.60978 1.68418 -1.64776 3.00574 2.66379 -0.618991 0.518861 -0.0845359 0.0818228 0 0 0 0 0 -0.0213974 -0.299714 0.00504284 0 0 0 0 0.00318834 0 -0.0904069 0 0 0.0293635 0.209704 -0.410021 0 -0.0446111 -0.967434 -0.824594 0 0 -0.24675 0.0152867 0 -0.69128 -4.41987 0 0 0.0148657 -2.07761 0 -1.17831 0 -0.15951 0 0 0.00769785 0 0 -1.92023 0.0436699 0.398553 0 0.0675844 0.196 0 0 -0.0697331 0 0.01836 0.272997 0.0252858 0 0 -0.0508148 -0.0066732 0 0.0379388 -0.097127 0.136992 0.668329 -0.16958 -0.0761457 0 0.0354221 -0.187113 -0.403629 0.309777 0.258369 0 0 0 10.1761 -0.759731 2.5376 0.16716 -0.24609 0.461325 -0.0362848 0.0718072 -0.15686 0.28294 0 0 0 0 0 0 0.223243 0 0.0724448 0 0 0 0 -0.00930859 -0.0323667 0 0 0.212438 0 0.0237174 0 0.00753454 0 0 0.00786381 0 0.140025 0.005939 0.0106727 -0.000188661 0 0 0.0290857 0 0.599438 0 -0.0348555 0.0112908 0 -0.0694654 0.32055 -0.000279577 0 0.00276049 0 0 0.0122543 0 0.11878 0.278034 0 0 0.0193137 0 0 0.0955227 0.394075 -0.292847 0 0.399874 0 0.644054 -0.247789 0.198091 -0.402646 -0.108885 0.666922 -0.317379 0.239404 0.0984018 2.20727 0.1027 0 0 0 -0.0317096 -0.115246 0 0 0 0 0.0885926 -0.576474 -2.51547 2.36211 -1.02913 1.00262 -0.013231 -0.441476 0.371391 -0.166522 0.0851629 0 0 0 0 0 0 +94 0 -1.00306 -0.454923 -0.0620449 -0.0298645 -0.144387 -0.00144187 0.097606 1.34697 0.183024 0.316737 0.0225691 0.884651 0.0995829 0.622483 0.111845 0.586299 3.22606 0.33776 0.588261 -0.317661 0.201397 0.948902 -0.102053 0.288252 0.302194 -0.0682321 0.246444 0.00339711 0.175968 0.180276 -0.0363292 0.184688 2.60028 0.415636 0.036603 0.0109309 1.70223 8.65029 0.00568364 -0.0285034 0.121338 2.70466 0.028465 2.74215 0.111995 0.00387376 0.0281952 1.00474 -0.052784 0.482215 0.907807 1.53872 -0.308817 0.689019 -0.0334461 -3.35799 -0.267353 0.287726 -0.319407 -0.00375363 1.57675 -0.292216 -3.23029 -0.186677 -0.847092 -0.709521 0.471162 2.03582 -0.181722 1.93891 1.88564 0.0626561 -0.71404 -1.18493 -0.0965185 0.867145 -59.1789 -14.2039 -6.01777 -14.1083 6.01747 -9.714 -0.551724 0.386241 -0.991182 -1.43672 -0.419712 0.00471526 -0.352767 0.0229726 -0.0724017 0 0 0 0 0 -0.0620449 -0.0298645 -0.00238966 0 0 0 0 0.000913304 0 0.018301 0 0 0.00236102 0.0162728 0.027892 0 0.00503302 0.255399 0.105295 0 0 -0.100038 0.00118117 0 0.616746 0.907653 0 0 -0.0585813 0.551272 0 1.3698 0 -0.0943206 0 0 -0.0347966 0 0 3.08991 0.0125608 0.0339142 0 -0.031575 0.210774 0 0 -0.751608 0 0.00584558 -0.808266 -0.0013203 0 0 -0.00688377 0.0126824 0 0.0475086 -0.00795842 0.0320698 -0.64926 0.101974 -0.104654 0 -0.0207244 0.0314208 -0.695989 0.269338 0.0581642 0 0 0 -14.0077 0.347831 -1.61435 -0.297879 0.548336 -1.2105 -0.00333709 0.00541164 -0.0128277 -0.028429 0 0 0 0 0 0 -0.144387 0 -0.00144187 0 0 0 0 0.059853 -0.186224 0 0 0.00957481 0 0.00680556 0 -0.00400776 0 0 0.202977 0 0.203157 0.0229562 0.0164415 0.0235081 0 0 -0.0162831 0 -0.900307 0 2.97787 -0.147109 0 0.313344 0.799592 0.00423676 0 0.00610286 0 0 -0.0268304 0 -0.155235 0.64584 0 0 0.0738622 0 0 0.149725 -2.96128 0.308072 0 -1.30171 0 0.279141 -0.0522922 -0.127389 -0.164942 -0.0165611 0.120754 -0.662307 0.00474877 -0.0207891 -1.05617 0.100986 0 0 0 -0.195609 -0.0182973 0 0 0 0 0.0581951 -19.5434 -2.06251 -1.28342 -1.40205 1.29369 -2.32969 -0.0358945 0.0361964 -0.180207 -0.149167 0 0 0 0 0 0 +95 0 -1.18346 -0.236743 -0.0308378 -0.207368 0.346633 -0.097813 -0.482646 -1.49511 -0.312874 0.494182 0.0633347 -1.07025 0.000866535 -0.930823 0.0215074 -0.523892 -3.4078 0.129864 0.0622488 -3.01067 -0.00542369 0.0828685 -0.00301037 0.00279588 -0.205769 0.00973898 0.0349254 0.232662 0.178555 -0.469879 -0.0312629 0.251999 0.776107 0.219423 -0.00391866 0.0107584 -0.00236047 5.39759 -0.0961168 -1.37775 0.00647915 -0.100169 -0.00754637 -1.95563 0.0315211 -0.676455 0.0303117 0.626067 -0.00628033 1.38442 0.163237 0.957896 -0.0962638 0.0292208 -0.0712396 -0.0428797 -0.29132 -0.391205 -0.00041074 0.0090148 1.91652 3.57066 -0.0306215 -0.404718 -0.734067 -0.156224 0.515409 0.302098 0.07045 -0.246396 0.606626 0.0332949 -0.0214016 0.52719 -0.00628205 -0.774002 -19.631 -3.07387 -1.54146 -2.46518 2.4608 -9.10803 0.566089 0.415512 -1.5099 1.71365 -0.00766552 0.0120973 -0.0222641 0.00400882 -0.0062639 0 0 0 0 0 -0.0308378 -0.207368 -0.00620865 0 0 0 0 -0.000542049 0 0.0170085 0 0 -0.00582264 -0.0100527 0.017711 0 0.00179915 0.00785484 0.139171 0 0 0.11891 -0.000716263 0 0.0275694 -0.194023 0 0 0.0180607 0.0169724 0 0.143148 0 0.00516128 0 0 0.000836415 0 0 0.470669 -0.00755855 -0.0816003 0 -0.0866439 -0.0170208 0 0 0.065636 0 -0.0126892 -0.128402 0.0256036 0 0 0.0118937 0.0107243 0 -0.0239333 0.0699222 -0.0219854 0.0172595 0.0549129 0.0273987 0 -0.0229386 -0.049463 -0.0343871 0.0148154 -0.112436 0 0 0 -1.42413 0.180073 -0.360763 -0.043614 0.0697819 -0.131058 0.00750935 -0.0115103 0.020747 -0.0394868 0 0 0 0 0 0 0.346633 0 -0.097813 0 0 0 0 -0.209554 0.170422 0 0 0.758305 0 0.0848559 0 0.0341454 0 0 -0.712155 0 0.258979 -0.141668 0.204562 -0.0874934 0 0 0.263798 0 -6.15463 0 3.82531 -0.618248 0 -1.15553 1.2495 0.0193988 0 -0.0275759 0 0 0.0317898 0 -1.44786 -1.50777 0 0 -0.217285 0 0 0.320122 -2.3483 0.864193 0 -0.32241 0 -0.254209 0.232478 -0.415603 0.129206 -0.142188 -1.11809 0.0970639 0.066401 -0.454127 1.76148 0.0934962 0 0 0 -0.377095 -0.0995263 0 0 0 0 0.179073 -21.1085 -3.39615 1.70919 -1.26189 1.26518 -3.24965 -0.281907 0.32089 -0.529995 0.721136 0 0 0 0 0 0 +96 0 -0.00976625 0.177611 0.00623934 -0.00485417 -0.0810729 0.0602752 -0.212493 0.553923 0.0398007 -0.0695135 -0.128604 0.650603 -0.00145511 0.415645 -0.00360413 1.59186 5.18272 -0.1114 -0.0130546 1.5118 -0.017203 -0.179688 0.001602 -0.0504246 -0.041756 0.622421 -0.0114507 -0.0366668 0.0538741 0.136867 0.0100911 -0.116755 0.105598 -0.186189 -0.201182 -0.0149835 0.0100496 2.42175 -0.0160427 0.860553 -0.01008 -0.278416 0.00307028 2.04946 -0.0610644 0.431635 0.106337 -0.158155 -0.0280519 -0.310727 -0.140669 4.67904 0.0433637 0.029609 0.00803653 2.23258 0.280021 -0.0540399 0.149554 0.0254436 -0.102026 -0.669526 0.386847 -0.104862 -0.14427 0.435976 0.44346 0.106099 -0.0171811 0.843316 -0.0735709 -0.0177204 -0.157756 1.07742 0.0408516 0.954481 -12.1697 -1.77518 -2.94362 -2.42116 1.34295 -4.94642 0.291444 -0.196675 -0.236193 -1.45296 0.0148501 0.00115629 -0.00547965 0.000982261 -0.00188996 0 0 0 0 0 0.00623934 -0.00485417 -0.00400537 0 0 0 0 -0.000511484 0 0.016333 0 0 -0.00210356 -0.00184506 0.0111058 0 0.00194533 -0.0387415 0.104378 0 0 0.233456 -0.000149341 0 0.00935054 -0.555138 0 0 0.0383706 -0.187227 0 0.0629743 0 0.0299979 0 0 0.00505473 0 0 0.313681 -0.00714287 -0.0279111 0 -0.0562937 -0.00815077 0 0 -0.151034 0 -0.0081785 -0.208337 0.0188853 0 0 0.004327 0.00691209 0 0.00647704 -0.059932 -0.01236 0.206633 0.0590577 -0.00148271 0 0.014787 -0.0496864 -0.100893 0.0349178 -0.140206 0 0 0 -1.4557 0.153902 -0.434177 -0.0305265 0.062988 -0.142709 0.00289542 -0.00762803 0.0194953 -0.0552094 0 0 0 0 0 0 -0.0810729 0 0.0602752 0 0 0 0 0.0759186 -1.03239 0 0 0.0469226 0 -0.0152346 0 -0.101875 0 0 0.497537 0 -0.608628 0.0434069 -0.0216288 0.0600439 0 0 -0.690683 0 -7.4728 0 -0.097789 -1.19653 0 0.485062 -0.75616 -0.017233 0 0.010565 0 0 -0.162263 0 -3.32908 0.886771 0 0 0.10574 0 0 0.285113 -2.30241 -0.0993614 0 0.187595 0 -0.0201418 -0.0179904 0.0217735 -0.145352 0.0929575 -0.235866 -0.0500672 -0.244632 0.980646 4.93756 -0.0195811 0 0 0 -0.324749 0.0704768 0 0 0 0 0.411815 -10.5452 -1.88987 -1.54853 -0.0269559 -0.0117817 -1.18663 -0.06688 0.0492204 -0.102342 -0.410499 0 0 0 0 0 0 +97 0 -0.152816 0.144664 0.0231756 0.154646 -0.295692 0.171486 -0.624615 -0.0799519 0.234534 0.116496 -0.19697 -0.523536 -0.000683963 -0.812555 -0.000247965 0.676509 2.01471 0.123127 -0.0167578 -0.793146 0.0384051 -0.208063 0.00228778 0.0656113 -0.507205 0.407485 0.0209236 -0.554537 -0.00194596 0.0157422 0.0235914 -0.00618158 -0.0126514 0.33945 -0.442308 -0.0203157 0.0754512 1.55269 -0.148991 0.168723 -0.00509358 1.22826 -0.0121166 -2.55306 -0.0250879 0.524999 -0.231686 -0.117877 0.00208947 0.376446 0.406699 1.22017 0.111166 0.0327689 0.0434358 1.86245 0.650615 -0.255942 -0.269513 -0.00607745 1.7017 0.923135 -0.887183 0.0785816 -0.158864 -0.217549 -0.405101 -0.165915 -0.0530203 -0.398179 0.526038 -0.00261384 -0.327322 0.136571 0.0218519 -0.0691811 -8.32464 -2.72275 -0.344524 -1.25024 0.829227 -2.26196 -0.672988 0.487265 -0.332399 -0.795364 0.00610105 0.01779 0.000676671 0.00258807 6.82664e-05 0 0 0 0 0 0.0231756 0.154646 0.00440615 0 0 0 0 0.000385631 0 -0.00607633 0 0 0.00427297 0.00745881 -0.0124003 0 -0.000787558 -0.00481436 -0.0942646 0 0 -0.0437809 0.000530736 0 -0.0109078 -0.0237383 0 0 -0.00278945 -0.000857921 0 -0.0227365 0 0.00102565 0 0 0.000475768 0 0 0.106245 0.00538593 0.0599696 0 0.061595 0.0447628 0 0 -0.0773454 0 0.0090032 -0.0768677 -0.0168008 0 0 -0.00872654 -0.00760909 0 0.0110177 0.0282311 0.0163366 0.068712 0.0127025 -0.0157721 0 0.0106544 0.0303673 0.0104819 -0.00405425 -0.025121 0 0 0 -0.292696 -0.0669394 0.113135 -0.00976218 0.0148158 -0.0264388 -0.00550067 0.00825488 -0.0145611 0.0263209 0 0 0 0 0 0 -0.295692 0 0.171486 0 0 0 0 -0.407473 0.632332 0 0 -0.0284489 0 0.010698 0 0.0284686 0 0 -0.41125 0 -0.382983 0.02493 0.226072 -0.0585027 0 0 0.150903 0 1.23508 0 2.16598 0.250815 0 0.276426 0.170668 0.036438 0 -0.0471035 0 0 0.0889155 0 -0.0164519 -0.678197 0 0 -0.0823822 0 0 0.0943322 0.642384 0.371144 0 0.383525 0 -0.219427 0.171649 -0.218068 -0.0465983 -0.0912398 -0.0392535 0.351705 0.0877842 -0.328968 5.17183 0.0638452 0 0 0 -0.031124 0.00890725 0 0 0 0 -0.0667733 -10.3808 -0.11582 -2.43913 -0.460288 0.542171 -1.90234 0.0301661 0.0375748 -0.0630841 -0.208611 0 0 0 0 0 0 +98 0 -0.467531 -0.3134 -0.110501 -0.0276116 0.209551 0.0398845 -0.10724 -0.367398 -0.715191 0.824687 0.101077 0.156687 0.200151 -0.420524 0.141227 0.642989 2.6719 0.576177 0.830189 -0.187658 0.430066 0.745443 -0.270539 0.664322 0.000337986 -0.0480273 0.180847 -0.0215299 -0.425277 -0.0615603 -0.473721 0.260615 1.66996 0.36816 -0.0189736 0.0383064 1.59539 3.67529 0.424458 -0.0112292 0.283374 3.18586 0.118084 -0.34882 0.257452 0.00641612 -0.0972454 1.54043 -0.260702 -0.386644 -0.503963 -3.91814 -0.934868 0.841248 -0.282751 -0.344979 0.605389 0.270422 -0.73127 -0.378913 0.297882 -0.0621543 -0.140109 -1.55724 -0.633339 0.0205086 2.24369 2.51595 0.64272 -0.604237 0.80697 0.3146 -2.30618 0.22562 0.0901858 -0.684251 -26.2209 -8.85803 0.434705 -8.58725 1.46621 -0.436623 -2.24016 0.0324439 0.0953729 0.399947 -1.10419 -0.671304 0.775854 -0.619114 0.449742 0 0 0 0 0 -0.110501 -0.0276116 -0.038015 0 0 0 0 -0.0232259 0 0.0314939 0 0 -0.0123608 -0.125779 0.144642 0 0.0229743 0.597522 0.148784 0 0 0.541795 -0.00913569 0 0.545473 0.74689 0 0 0.0721346 0.770068 0 0.722171 0 0.348928 0 0 0.0510403 0 0 0.989906 -0.319795 -0.169835 0 -0.522623 -0.0679946 0 0 -0.0737198 0 -0.0826354 0.451976 0.117313 0 0 0.0275008 0.0622163 0 -0.040388 0.191686 -0.083682 0.539063 0.0228712 0.0536037 0 -0.113722 -0.131773 0.514171 -0.220007 -0.127389 0 0 0 -4.20425 0.535744 -0.768962 -0.0983612 0.187672 -0.402244 0.0168027 -0.0320317 0.0686604 -0.0589912 0 0 0 0 0 0 0.209551 0 0.0398845 0 0 0 0 -0.010239 0.227832 0 0 0.320567 0 0.0431104 0 0.00561678 0 0 0.00899396 0 -0.0708401 -0.0485094 0.0300189 0.00554987 0 0 0.0632751 0 -1.1842 0 1.25958 -0.0432623 0 -0.401455 0.198095 0.00512223 0 -0.00252766 0 0 0.0198654 0 -0.242194 -0.129592 0 0 -0.00628402 0 0 -0.0608931 -0.263662 0.0405096 0 0.64284 0 -0.145064 -0.0632336 0.0593461 -0.205818 0.0807576 0.412009 -0.0721298 -0.0936245 -0.388104 -1.31109 0.0255687 0 0 0 0.121628 -0.0201083 0 0 0 0 -0.121347 -9.0089 -1.75344 1.00212 -0.562542 0.290144 -0.373063 -0.185385 0.115629 -0.211307 0.269167 0 0 0 0 0 0 +99 0 -0.365481 -0.496609 -0.381518 -0.344192 0.3127 0.108946 -0.61707 -2.88729 -1.10259 4.79747 0.0691524 0.994303 0.663367 1.4652 0.104639 -1.38036 -7.21709 1.41002 0.314704 0.12786 0.806968 0.714116 -0.834344 2.32003 -0.425076 -0.485447 -0.706219 -0.0254141 -0.327027 0.425409 -1.12413 0.164323 1.78214 -1.16553 -0.0333242 -0.000374356 -1.56286 4.31552 -0.0588784 0.00852622 1.01108 -3.44192 -0.188431 3.52104 1.28638 -0.00105859 -0.103259 0.386734 0.21395 -0.314246 1.35268 2.03282 -0.285945 0.361164 -0.167384 -3.39834 -1.16232 -0.00306017 -2.83042 -1.18903 2.92815 0.0556854 -3.11968 1.86524 0.74276 -0.60654 -2.72884 -1.98972 0.939646 -5.37353 1.1789 0.0544741 1.43595 -0.841524 0.107837 2.09114 -29.5731 -24.0149 10.1773 -14.6439 5.03228 -1.61824 -11.8196 4.76598 -3.90729 4.18493 -5.51716 1.32008 0.0211022 -0.272363 0.34584 0 0 0 0 0 -0.381518 -0.344192 0.00474627 0 0 0 0 0.00143342 0 -0.0184043 0 0 0.00455862 -0.0752654 0.152672 0 0.0126159 -0.51839 -0.134341 0 0 -0.0992895 -0.00544292 0 -0.27765 -0.761434 0 0 -0.00369315 -0.446797 0 -0.786547 0 0.0528957 0 0 0.0244583 0 0 -1.46356 0.0194606 0.0604458 0 0.0633261 -0.092508 0 0 0.312416 0 0.038285 0.101926 -0.0758005 0 0 -0.00612504 0.00864041 0 -0.012985 0.000579001 0.0146626 0.372869 -0.236092 0.0463372 0 -0.0128641 0.1581 -0.265864 0.203696 0.504507 0 0 0 6.36863 -0.361603 0.903112 0.149105 -0.284057 0.60571 -0.00466086 0.00841384 -0.0181948 0.0390788 0 0 0 0 0 0 0.3127 0 0.108946 0 0 0 0 -0.103709 -0.730414 0 0 0.552114 0 0.0799335 0 -0.00814896 0 0 -0.0239496 0 0.161222 -0.0784301 0.0750129 -0.00587924 0 0 -0.0435149 0 -3.45879 0 0.39086 -0.00443153 0 -0.643035 0.341027 0.0135162 0 -0.0142612 0 0 -0.100373 0 -0.423557 0.286074 0 0 0.0163153 0 0 0.0619559 -0.573512 -0.600108 0 0.121836 0 0.595303 -0.367672 0.429134 -0.897611 -0.0942254 0.72952 -0.547301 0.333492 0.804333 4.74997 0.104489 0 0 0 -0.0323343 -0.240778 0 0 0 0 0.19581 -0.326818 -3.47204 4.65634 -1.19599 1.23101 -0.458215 -0.526671 0.481694 -0.478888 0.540655 0 0 0 0 0 0 +100 0 -1.32565 -0.859246 -0.152719 -0.0965437 -0.130079 -0.0106337 -0.221347 0.93398 -0.696177 -0.30295 -0.117006 0.243052 0.270421 0.163481 -0.0728991 -2.89841 -10.4523 0.332973 -0.397151 0.349735 0.232995 0.739317 -0.351692 -0.0501738 0.0369306 -1.02423 -0.201655 0.0178888 0.490348 -0.0693671 -0.543404 -0.167682 2.11902 -0.583723 -0.125232 -0.0707437 -0.757591 8.0069 -0.658119 0.0606451 0.396455 -2.36012 -0.406632 1.52325 0.433412 0.00506479 0.0956603 -0.890739 0.696175 0.0554573 0.880209 5.91658 0.410873 -0.453106 0.147036 0.12811 -0.747641 -0.199825 0.188557 -0.493022 -0.199506 -0.0711992 -4.98556 1.77623 0.05292 0.304913 -3.45247 -0.788959 0.6138 2.81614 -0.264233 -0.474174 0.460934 0.140642 -0.0268376 -0.44822 -41.2527 -4.0919 -6.6075 -9.33162 7.24947 -13.7835 0.778662 0.971354 -1.84601 -1.2882 -1.85886 1.81353 -1.2807 0.803055 -0.518557 0 0 0 0 0 -0.152719 -0.0965437 -0.025177 0 0 0 0 -0.0141103 0 0.0397968 0 0 -0.00748197 -0.0946799 0.282724 0 0.0277205 0.14929 0.385458 0 0 0.253116 -0.00686967 0 0.683796 -2.09674 0 0 0.016324 -0.342201 0 1.36625 0 0.147329 0 0 0.0162124 0 0 2.91702 -0.194433 -0.103757 0 -0.348028 0.128116 0 0 -0.730094 0 -0.0412623 -0.610883 0.124634 0 0 0.0141964 0.0497284 0 0.0213609 -0.0848744 -0.0150252 1.50675 0.444451 -0.0615536 0 0.0254719 -0.334943 -0.110249 0.238112 -0.94794 0 0 0 -12.0605 0.708825 -2.05815 -0.282708 0.539247 -1.1603 0.00968793 -0.0184569 0.0399312 -0.147626 0 0 0 0 0 0 -0.130079 0 -0.0106337 0 0 0 0 0.0805991 -0.571479 0 0 0.171892 0 0.0216945 0 -0.0163343 0 0 0.115594 0 0.30003 0.0456279 0.0234575 0.0118756 0 0 -0.105872 0 -4.36392 0 4.91814 -0.262113 0 0.463052 1.14996 0.00430727 0 0.00844338 0 0 -0.0812696 0 -0.786896 0.414321 0 0 0.0448163 0 0 0.170802 -2.61635 0.199661 0 -0.458206 0 0.814147 -0.202027 -0.0102733 -0.133463 0.0291146 0.249718 -1.15728 0.0540949 0.359498 4.56706 0.0951017 0 0 0 -0.244245 -0.0492869 0 0 0 0 0.200589 -36.3338 -3.41974 -3.21413 -1.84981 1.58843 -3.92341 -0.0995319 0.084004 -0.258751 -0.292683 0 0 0 0 0 0 +101 0 0 0 -0.352155 0.115963 0 0 0 0 -4.65427 0.745299 0.388132 0 0.660747 0 0.15976 0 0 0.325674 -0.169584 0 0.123848 0 -0.780055 0.299235 0 0 -0.556581 0 0 0 -1.36313 0.0127236 0 -1.2437 0 0.0760689 -2.70194 0 0.585473 0 1.01725 -7.72675 -0.076781 0 0.75173 0 0 -1.1295 0.785454 0 1.28939 0 0.00497619 0.171672 -0.265436 0 -1.12469 -0.470906 -0.871333 -1.99534 0 0 0 0 1.33358 0 0.684136 -2.99727 1.43551 0.148628 0.508186 0.322142 3.54922 0 0 1.39125 0 -2.83613 0 -0.689282 -1.09402 0 -2.25072 0.435271 -0.8623 0 -3.01084 -1.37776 1.36737 -1.56709 0 0 -0.149782 -0.0142225 -0.0361297 -0.0334569 -0.352155 0.115963 0.00174826 0.0442378 0.180649 0.000252044 0.00808486 0.00465454 -0.000413517 -0.0166904 -0.0120415 0.00343458 0.00287214 -0.0792841 0.0449274 -0.172369 0.0238921 -1.65851 -0.130917 -0.00078167 0.170695 -0.911016 -0.00326048 0.00474827 -0.277452 -8.02615 0.0627293 0.00311858 -0.037651 -3.553 0.0253357 -0.877425 0.0160018 -0.441655 0.0192731 0.02279 -0.0410867 0.0429172 0.000346954 -2.25727 0.0803365 -0.0606913 0.00207061 0.0499676 0.0980251 -0.00721828 0.0100045 -0.868988 0.00616054 -0.0154179 2.94148 0.126619 0.034587 -0.0505653 -0.0137361 -0.0176939 0.0635781 -0.0215264 -0.508452 0.0905652 8.97952 0.129244 -0.0690747 -0.023995 0.147614 0.0937135 -0.0391248 0.380085 0.899167 0.03176 0.0660082 -0.00790208 21.1711 0.873884 1.77777 -0.0957523 0.122363 -0.106168 -0.0202704 0.00467411 -0.0178553 -0.0214389 -0.00377684 -0.00107944 -0.00644386 -0.00599507 -0.0104492 0 0 -0.0361297 0 -0.0334569 0 0 -2.21163 0 -2.70499 -0.0422204 0.00478253 -1.05475 0.00224583 -0.201066 -0.330602 -0.0435013 -0.0308779 -0.666831 0 0 0 0 -0.517596 0 -0.0688153 0 -0.341929 0 0 -0.0229561 0 0 -0.0475316 0 0 -0.0981043 -0.0116574 0 -0.0235057 0 -0.47723 0 0 0 -0.00246034 -0.0621583 0 0 -0.250688 0 0 0 -0.152447 0 0.843402 0 -0.157543 -0.0363776 -0.0555535 0 0 0.487581 0.0417144 -0.54999 0 0.025486 0 0.0318663 0 -0.410054 0.196527 0.173162 -0.114009 -0.195481 -0.0640574 0.386329 0 3.55649 0 3.78312 -0.302019 0 1.87174 -0.645298 0.466418 0 1.15287 -0.401549 0.411151 -0.0519434 0 0 +102 0 0 0 -0.400499 -0.730465 0 0 0 0 -5.45879 2.82077 -0.166031 0 0.303232 0 -0.227648 0 0 0.391477 -0.234826 0 0.0858834 0 -0.789026 0.185672 0 0 -0.529899 0 0 0 -1.8897 -0.76387 0 -1.22325 0 -0.0711983 -2.36413 0 0.255615 0 0.80753 -5.96591 0.0232166 0 3.12241 0 0 -1.66827 0.468371 0 1.13969 0 -0.11083 -0.962087 0.853479 0 -0.583308 -0.163352 -0.719662 -1.8825 0 0 0 0 1.66213 0 0.01881 -4.18982 3.48596 1.22944 0.250348 0.221718 2.53438 0 0 -0.424587 0 -5.21866 0 -4.96534 -0.326952 0 -5.93277 2.08377 -2.98562 0 -8.58359 2.07152 -2.40148 -0.100064 0 0 -0.499394 -0.0474198 0.0210796 -0.0319104 -0.400499 -0.730465 -0.0214572 -0.0999117 0.585441 0.000900033 -0.017323 -0.00817415 0.0410452 0.0338141 -0.0357104 0.0126514 0.0503782 0.119422 -0.0888643 -0.485799 -0.00981918 -0.469702 -0.0703179 -0.0023855 -0.522577 -0.0262737 0.00944462 -0.00257519 -0.0936825 -3.28673 -0.0951859 0.0155655 0.00639762 -1.17957 0.0735419 0.0197217 0.0524595 0.292031 -0.0172773 0.173604 0.0510419 0.167134 0.00340259 0.318004 -0.179716 0.568412 0.00632506 -0.348845 -0.825267 -0.0460019 0.0464462 0.447338 -0.0260306 -0.0622878 -2.26673 0.027331 0.0939888 -0.132629 -0.0934123 0.0207751 0.186873 0.162266 0.365337 -0.120171 4.53686 -0.454762 0.0124796 0.0167163 0.0517307 -0.0561747 0.473431 0.389409 -0.455903 0.0745512 -0.121568 -0.0243802 -2.98258 -3.45672 0.165798 -0.699741 -0.514526 0.419892 -0.0948602 -0.068744 0.00202018 0.0549336 -0.0128051 -0.0098093 -0.0107713 -0.0143103 0.0158556 0 0 0.0210796 0 -0.0319104 0 0 -0.878565 0 0.259265 0.145587 0.0279429 1.38979 0.0234266 0.232503 -0.0924476 0.0137634 0.0476387 0.850987 0 0 0 0 0.365007 0 0.137557 0 0.016572 0 0 -0.0673067 0 0 -0.010637 0 0 0.0696818 0.0013417 0 0.00700756 0 0.157676 0 0 0 0.00682807 -0.00889844 0 0 -0.0507626 0 0 0 -0.327818 0 0.388046 0 -0.281681 0.303192 -0.190817 0 0 0.0320153 0.0971916 -0.88134 0 -0.278694 0 -0.135371 0 -0.276186 -0.17608 0.129543 -0.259258 0.0238062 0.0424238 -0.255611 0 -5.26066 0 -3.06476 0.244137 0 -1.5911 0.547417 -0.463141 0 -1.42274 0.5913 -0.335059 0.0360748 0 0 +103 0 0 0 0.027516 -0.116923 0 0 0 0 1.20082 -0.512625 -0.131808 0 0.0450792 0 0.0128034 0 0 -0.125319 0.2207 0 -0.0134435 0 0.250294 -0.155653 0 0 0.0249599 0 0 0 0.685703 0.0728464 0 -0.000971974 0 -0.0297493 0.868714 0 -0.280474 0 0.0711985 2.27376 -0.0969495 0 0.202058 0 0 1.14501 0.10371 0 -0.605361 0 1.02858 0.612514 -0.469525 0 0.635411 -0.11592 0.444666 0.3572 0 0 0 0 -0.185103 0 -0.258552 0.768922 -2.54965 0.426588 -0.247579 -0.22645 -1.32939 0 0 -2.00821 0 2.72112 0 0.172762 0.448562 0 1.25493 -0.749524 1.11341 0 0.471308 -0.200565 0.315473 0.114217 0 0 -0.0628595 -0.00596881 -0.0236714 0.0256094 0.027516 -0.116923 0.0060869 -0.0900349 0.140321 0.000108953 -0.0140453 0.00200939 0.017419 0.095355 -0.00481727 0.00150529 0.0100691 0.0233181 0.200913 -0.0676061 0.0328738 -0.214796 0.502515 -0.000316298 -0.565466 0.00441008 0.00162746 -0.00775259 0.163555 0.407234 -0.178699 0.00511113 -0.135461 -0.174572 0.0106295 0.459326 0.0101304 0.0359027 -0.0380705 0.0813919 -0.0445334 0.0192911 0.00107691 1.49855 0.0347731 0.141968 0.000868809 0.122094 -0.194363 -0.0151176 0.0146963 1.47663 -0.0337526 0.0165735 1.77365 -0.0519787 0.0133798 -0.0184598 -0.0168217 -0.00790582 0.0354884 0.141036 0.00830338 -0.126059 7.56799 0.224639 0.0314189 0.0647129 0.031835 -0.263863 1.5029 0.0609484 -0.669145 -0.00227198 -0.151504 -0.00321162 -14.055 -1.36441 -3.1292 -0.151774 -0.425399 0.713204 -0.0145991 -0.0399712 0.0671695 0.050282 -0.00159635 -0.00418481 0.00636873 9.80739e-05 0.0297668 0 0 -0.0236714 0 0.0256094 0 0 0.294537 0 0.791771 -0.0309638 0.0736124 -0.0751752 -0.00523524 -0.0444577 0.0736096 -0.00577371 0.0946242 -0.182695 0 0 0 0 -0.0634938 0 0.542094 0 0.0848939 0 0 0.143886 0 0 0.0134087 0 0 -0.0182389 0.0043674 0 0.0175839 0 0.153853 0 0 0 0.0115608 0.0318762 0 0 0.0232988 0 0 0 0.101453 0 -0.223771 0 0.77978 -0.276667 0.869331 0 0 0.366159 -0.140299 0.403418 0 -0.082848 0 0.176442 0 0.168796 0.21509 -0.0545224 0.14786 0.0394036 -0.130019 -0.235774 0 1.32996 0 0.71162 -0.861536 0 0.379631 -0.303254 0.000533111 0 -0.0261553 -0.0499469 -0.00432608 -0.012814 0 0 +104 0 -0.167967 -0.0601262 0.34633 0.158126 -0.24275 -0.119082 0.523029 0.706444 0.693517 -1.77477 -0.0113248 -0.233525 -0.560211 -0.131214 0.176843 -0.684944 -4.9249 -0.600181 0.74917 -0.810152 -0.297742 -0.128528 0.698353 -0.635031 0.163344 -0.0795852 0.559091 0.00482274 0.233532 0.019918 0.832224 0.347174 -0.303186 0.973937 0.114057 0.0658917 2.27067 -1.74999 -0.29603 -0.237199 -0.750782 4.25625 0.141884 -1.7137 -0.597409 -0.0681217 0.0377158 1.50922 0.0367886 0.446263 -0.608946 -0.0566174 -0.751981 0.87266 -0.418082 -0.706133 1.01288 0.582268 0.707579 0.547831 -0.0344389 -0.280499 0.518103 0.121053 -0.302817 -0.444466 1.05564 1.68506 -0.479221 -1.05164 -0.00476922 -0.229184 -2.79648 -0.634773 0.174936 0.0822755 -0.639232 2.83638 -0.62388 3.80408 -0.744377 0.660841 2.53853 -1.3649 1.4485 -1.46871 2.28236 0.0577743 -0.182958 0.328858 -0.205726 0 0 0 0 0 0.34633 0.158126 0.00228569 0 0 0 0 -0.00195371 0 0.0178176 0 0 0.00470881 0.0560114 0.00694145 0 0.00323128 0.749137 0.0937746 0 0 0.315246 0.00296366 0 0.0414201 2.63782 0 0 0.0399189 1.40668 0 0.590946 0 0.261765 0 0 0.0368112 0 0 1.67028 -0.0368637 0.0891498 0 0.0435258 -0.214864 0 0 0.652132 0 0.00167563 -0.705056 -0.00713926 0 0 -0.01014 -0.00588268 0 0.0270417 0.144121 -0.00727727 -2.21057 -0.0567267 0.0475174 0 -0.011136 -0.0306885 0.127646 -0.106633 -0.0551135 0 0 0 -16.5227 -1.2252 -1.37515 -0.0800922 -0.06948 -0.143281 -0.00428119 -0.00374481 -0.00736159 -0.00927544 0 0 0 0 0 0 -0.24275 0 -0.119082 0 0 0 0 -0.0223636 0.185344 0 0 -0.576463 0 -0.0618405 0 -0.0106484 0 0 0.043026 0 -0.128308 0.027331 -0.0376881 0.00832235 0 0 -0.097213 0 -1.66137 0 -2.27568 -0.044489 0 0.217586 -0.628587 -0.00251574 0 -0.00567876 0 0 0.0201902 0 -0.286402 -0.332403 0 0 -0.0227472 0 0 -0.0914261 0.442675 0.0987957 0 -0.347348 0 0.326063 0.191405 -0.14515 0.0514836 -0.0284963 0.29742 -0.329866 0.0551254 0.247576 0.400258 -0.0424188 0 0 0 0.00097744 -0.0272054 0 0 0 0 -0.00165839 14.3192 3.07541 0.0388356 0.999907 -0.65323 0.928572 0.309437 -0.227123 0.277248 -0.106921 0 0 0 0 0 0 +105 0 -1.09458 -0.304431 -0.19365 -0.270577 0.0702304 0.0527487 -0.560306 -1.02551 0.788407 2.88118 0.17363 0.124734 0.246765 0.537765 0.240216 -0.600051 -0.802118 0.912345 0.80194 0.211466 0.411059 0.100426 -0.240636 1.03774 -0.3586 -0.297982 0.433877 -0.0417064 -0.506604 0.0509389 0.00741443 0.534206 0.286744 0.819255 -0.157149 0.047659 2.43257 2.66865 0.425372 0.0638645 0.288651 3.84269 0.0872729 1.74156 0.267751 0.0322692 -0.141454 1.71065 -0.475726 0.493138 0.780742 0.56876 -0.394452 0.712872 -0.210973 1.09849 0.833584 0.0676822 -1.20396 0.276164 0.804086 0.726265 -1.21358 1.03827 -1.32767 0.0603748 -3.19403 1.81804 -1.08152 -0.492657 0.250038 0.330912 -3.05058 0.494818 -0.0058865 -0.455613 -5.03582 -3.51025 0.859499 -4.30724 2.20587 -2.47154 -4.82921 2.25187 -1.67626 0.716527 -1.02292 -0.585004 0.849787 -0.617898 0.446283 0 0 0 0 0 -0.19365 -0.270577 -0.00159166 0 0 0 0 0.00254978 0 0.0604802 0 0 0.0123531 0.1023 0.147469 0 0.0303848 0.519433 0.299307 0 0 0.849271 0.00547662 0 0.778936 4.94123 0 0 0.0952479 1.75552 0 1.67883 0 0.269793 0 0 0.0274993 0 0 3.96584 0.0466794 0.22779 0 -0.0372515 -0.33881 0 0 1.37578 0 0.0123666 -0.633059 -0.0199407 0 0 -0.0245063 0.0141331 0 0.0725467 0.218466 -0.0400335 -4.55195 0.0062145 0.155749 0 -0.0555247 -0.064478 0.543047 -0.352412 -0.00341084 0 0 0 -40.8991 -2.97642 -3.5696 -0.199436 -0.156823 -0.484201 -0.00982612 -0.00725635 -0.0316677 0.00744659 0 0 0 0 0 0 0.0702304 0 0.0527487 0 0 0 0 -0.00130048 -0.633421 0 0 0.550483 0 0.0712896 0 -0.00116236 0 0 0.0927374 0 0.228279 -0.0184541 0.105218 0.0116695 0 0 -0.00513051 0 1.97765 0 2.91769 0.178168 0 -0.198193 0.803153 0.0154033 0 0.00292275 0 0 -0.0748293 0 0.620409 0.575671 0 0 0.0805322 0 0 0.0370738 0.137556 -0.0537871 0 -0.22848 0 0.389692 -0.276836 0.15955 0.0229988 -0.00825525 -0.375108 -0.267747 0.135168 -0.0382344 -1.36827 0.022601 0 0 0 -0.171708 -0.119336 0 0 0 0 0.211637 -16.9011 -2.84822 0.271259 -1.06067 0.78062 -1.21945 -0.380792 0.275897 -0.239447 0.0864762 0 0 0 0 0 0 +106 0 0.157581 0.0748182 0.0136391 -0.021818 -0.065533 0.0323821 -0.277848 -0.65946 0.130308 0.416296 0.063135 0.153766 -0.0288742 0.174873 -0.0107521 0.825236 4.17146 0.0222579 -0.0892307 -0.638376 0.000880078 -0.013883 0.0424144 0.113672 -0.0972791 0.219766 0.0805336 -0.0195493 -0.233552 0.0580814 0.0794162 -0.0464524 -0.127439 0.219606 -0.0263726 0.0314156 0.109431 -0.440397 0.209589 -0.102387 -0.0477498 0.243858 0.0916095 0.79304 -0.058442 -0.00293816 -0.0705269 -0.149935 -0.164976 -0.121391 -0.0371788 -8.11265 0.0339591 -0.0734699 -0.0170859 -2.83927 0.122562 -0.368668 -0.0310629 0.0880978 -0.751501 -0.0304541 -0.570561 -0.455334 0.0420139 -0.22019 0.0654368 -0.273022 -0.155151 -0.169434 0.0778061 0.091868 -0.371989 -1.39072 0.0776162 0.751601 3.99282 -0.420157 2.2523 0.452045 -0.551024 1.23144 -0.432365 0.115104 -0.062885 0.610521 0.223273 -0.450027 0.471876 -0.2908 0.205743 0 0 0 0 0 0.0136391 -0.021818 -0.000250189 0 0 0 0 4.92095e-05 0 -0.0313686 0 0 0.00149218 0.0151604 -0.0876374 0 -0.0156012 0.12434 -0.171003 0 0 0.377375 0.000809019 0 -0.0723852 0.912308 0 0 0.064599 0.359725 0 -0.121325 0 0.218614 0 0 0.0366425 0 0 -0.235634 0.000751204 0.0272803 0 -0.00615021 -0.0848092 0 0 -0.522635 0 0.00110964 -1.28174 -0.00597467 0 0 -0.00322391 0.00152144 0 -0.0375984 -0.389029 -0.0204113 -3.53212 -0.086863 0.0169772 0 0.00903687 0.0386577 -1.24245 -0.00834693 -0.119277 0 0 0 2.0998 -0.0366049 0.909823 0.00995242 0.00684469 0.0372327 -0.00127647 -0.00126081 -0.000948725 0.0116027 0 0 0 0 0 0 -0.065533 0 0.0323821 0 0 0 0 -0.0104273 0.37749 0 0 -0.0940739 0 -0.0143755 0 0.0114347 0 0 0.171405 0 -0.011445 0.0200883 -0.00336306 0.0237331 0 0 0.0881677 0 2.48599 0 0.0389009 -0.146865 0 0.151138 -0.0713019 -0.00203713 0 -0.000995748 0 0 0.0481773 0 0.096085 0.753759 0 0 0.109175 0 0 -0.089065 0.0314882 0.114015 0 -0.0445892 0 -0.250181 0.0773392 -0.0920406 -0.0206038 -0.144464 -0.269199 0.286597 0.0325598 -0.332057 -2.71511 0.110978 0 0 0 0.0596287 0.0235302 0 0 0 0 -0.113103 -1.22574 0.476542 -1.24564 0.0058667 0.0118853 0.00293655 0.0228443 -0.0125301 0.0320838 -0.0516481 0 0 0 0 0 0 +107 0 0 0 0 0 0.618044 0.400796 -1.90553 -3.85534 0 0 -0.779752 2.2837 0 3.7507 -0.140328 0 0 0 -0.159278 7.04203 0 0 0 0 -0.870912 0 0 -0.0758199 4.6649 1.25451 0 -0.575663 0 0 -0.611128 -0.107602 0 0 -2.22084 3.48988 0 0 -0.437064 7.59461 0 1.40156 1.25499 -0.37771 0.891945 -0.903494 0.911412 0 0.167954 -0.323301 -0.0523329 -0.548103 0.465027 -0.0660231 0 0 2.88724 -7.36493 0 0.18789 0.235397 -0.715174 0 0 0 0 0.346001 -2.19456 0 -5.00465 0.24271 0 0 0 7.13214 0 3.31865 -5.12332 0 1.20438 -2.69126 6.26219 0 1.25256 -2.95186 6.39827 -13.2648 0 0 0 0.246166 0.0548499 0 0 0 -0.0117159 0 0 -0.00271325 0 0 0.0260493 0 0 0 0 0.0719923 0 0.0171917 0 0.109071 0 -0.040395 0.165584 0 0.00271884 0 0 0.0715008 0 0.0247344 0 0 0 0 0.0640003 0.0134565 0 0.0108242 0 0 0 0 0 0 0 0 0 0 -0.0631832 0 0 0 0 0 0 0 0 0 0 -0.0294383 0 0 0 -0.0318411 -0.0165817 0 -0.0811395 -0.0390743 0 -0.0137964 0 -0.0362656 0 0 0 -0.12489 0 0 -0.081871 0 0 0 -0.00514104 0 0 0 0 -0.0061628 0 0.618044 0.246166 0.400796 0.0548499 -0.189195 -0.0723093 0.391676 -0.486783 0.129996 -0.0502359 -0.0263135 0.221114 -0.00732424 -0.0301813 0.0648542 -0.0392342 -0.0648164 -0.303391 1.40687 -0.973712 2.08243 -0.184495 0.431703 0.103661 -0.174117 0.0199267 -0.278681 -0.0234372 10.08 -0.103109 6.11575 3.81351 0.00945555 -1.02965 3.77079 0.0312062 0.00127547 -0.0959799 -0.00338053 0.315778 0.0028455 0.000218164 6.44568 0.713829 -0.00803811 0.0043196 -0.0312925 -0.141499 -0.0583291 0.113954 0.943157 -0.472259 0.0966199 -1.8612 -0.11173 -0.708084 0.00715865 -0.0776739 -0.499799 -0.241152 1.31599 -0.0263793 0.0454659 1.31494 3.59647 -0.0642897 0.946361 -0.187149 -0.0177591 0.212581 0.0566652 -0.00393305 0.102402 -0.167267 0.0174251 -0.00605017 -35.328 -4.81899 5.50487 -0.464564 1.42917 -1.93241 0.158901 0.21005 -0.360685 0.749992 0.133034 0.0940909 -0.209192 0.399426 -0.374824 0 +108 0 0 0 0 0 0.221426 -0.0154176 0.604975 0.935972 0 0 0.000321165 -0.0586662 0 1.07967 0.0301888 0 0 0 0.078847 6.85289 0 0 0 0 0.173085 0 0 0.143142 0.231454 0.00978403 0 0.190211 0 0 0.125265 -0.00696683 0 0 -0.441583 2.25719 0 0 -0.153807 1.91703 0 0.502067 0.155119 0.482073 0.302784 -1.18036 0.312968 0 -0.0994709 0.034659 -0.0860479 -0.103869 -0.0180668 0.0610587 0 0 -1.54089 -7.48901 0 -0.0741292 0.159236 -0.919936 0 0 0 0 0.00620309 -0.703717 0 -1.90863 0.516975 0 0 0 -1.13176 0 1.25018 -2.56185 0 0.462867 -0.576642 -0.538548 0 0.563523 -1.01162 1.88658 -1.34614 0 0 0 0.0250666 0.00558525 0 0 0 0.0276955 0 0 0.00320008 0 0 0.0177135 0 0 0 0 0.0987738 0 0.011658 0 0.150115 0 0.233008 0.035266 0 0.000882588 0 0 0.00166635 0 0.00451275 0 0 0 0 -0.0601763 0.00386147 0 -0.00612372 0 0 0 0 0 0 0 0 0 0 0.0704746 0 0 0 0 0 0 0 0 0 0 0.124367 0 0 0 -0.011969 -0.00100105 0 0.00744592 0.141462 0 0.0359189 0 0.0468651 0 0 0 -0.171887 0 0 -0.00190804 0 0 0 -0.00647963 0 0 0 0 -0.000143627 0 0.221426 0.0250666 -0.0154176 0.00558525 0.37232 0.0114313 0.0398836 0.908887 -0.184339 -0.00511541 0.00522698 -0.159401 -0.000745812 -0.0227832 0.00660397 0.00542606 -0.00898283 -0.0308937 1.19622 0.375131 0.0737736 0.243815 -0.0507544 0.143728 0.00197735 0.0969699 0.0585775 0.0045701 4.07435 -0.112073 0.368005 0.451919 0.000962839 1.45871 0.295906 -0.00708418 -0.00153559 0.154496 -0.0172119 0.427635 -0.0211167 0.017508 1.89582 2.22146 -0.000597073 -0.00997577 0.272976 0.0392801 -0.116056 -1.1518 1.28364 -0.00648382 0.0209329 -3.52041 -0.0113772 0.351772 -0.0437288 0.358276 0.303307 -0.0929801 1.55117 0.224143 0.100844 1.00021 -9.46824 -0.0143924 0.272647 -0.0707902 0.0864068 0.283397 0.0467043 0.0612069 0.0104274 -0.146051 0.0109681 0.0369576 -2.1258 0.208849 -3.28046 0.00854659 0.666508 -2.48863 0.0560648 0.163507 -0.137666 -0.796747 0.0135465 0.109287 -0.163464 0.236449 -0.525812 0 +109 0 0 0 0 0 0.138221 -0.214971 1.12623 1.2335 0 0 -0.190345 -1.56056 0 -2.77828 -0.0614734 0 0 0 -0.0224752 2.63934 0 0 0 0 0.678567 0 0 0.662939 4.048 -1.17922 0 -0.452154 0 0 0.567997 -0.0372114 0 0 -0.886421 0.593311 0 0 -0.194719 -2.95097 0 -0.362102 1.53823 -0.297229 0.365071 -1.90842 0.272154 0 0.010945 -0.0970224 0.163505 -1.26951 -0.86554 -0.224554 0 0 -0.524472 -3.41499 0 -0.272668 0.367478 -0.131763 0 0 0 0 0.19455 -0.782408 0 1.43035 -0.0182009 0 0 0 -3.56744 0 0.47701 -5.45458 0 0.345899 -1.61289 -2.09003 0 0.688014 -2.09357 3.67252 -10.9454 0 0 0 0.0916471 0.0204205 0 0 0 -0.03462 0 0 -0.00474054 0 0 0.0106805 0 0 0 0 0.0328115 0 0.00705146 0 0.0496738 0 -0.255803 -0.271238 0 0.000244866 0 0 -0.0296814 0 -0.026858 0 0 0 0 -0.0505706 -0.0015814 0 -0.00403086 0 0 0 0 0 0 0 0 0 0 -0.0185065 0 0 0 0 0 0 0 0 0 0 -0.047567 0 0 0 -0.0228429 -0.00499539 0 -0.00322454 0.108675 0 -0.0241134 0 -0.0970946 0 0 0 -0.0568784 0 0 0.0339863 0 0 0 -0.00195787 0 0 0 0 0.0025583 0 0.138221 0.0916471 -0.214971 0.0204205 -0.345432 -0.0217537 0.14582 0.00851306 -1.22387 -0.0187027 -0.0235824 -0.352847 -0.0027268 -0.058385 0.0241451 -0.0822215 -0.0462559 -0.112952 0.826716 0.599387 -1.27741 0.178912 -0.177926 0.0660313 -0.236465 0.0970381 -0.727817 0.0198037 -8.36202 -0.23239 -3.0433 -1.62933 0.00352028 -0.0953443 -1.95864 -0.0250731 -0.00165073 0.0892545 -0.0170933 0.639267 -0.136785 0.0118709 -3.69099 1.22747 -0.00511835 -0.0219456 0.131621 0.10124 -0.0971339 0.469375 -0.723205 0.0828089 0.101119 -1.56326 -0.0415967 0.599324 -0.283615 0.323708 0.131217 -0.0688787 -0.322644 -0.460152 0.0665066 0.151542 -8.53979 -0.35467 0.278369 -0.106933 0.112708 -0.271325 0.119016 0.0560927 0.038124 -0.0315627 -0.0168894 0.239699 17.5798 3.09933 -0.276257 0.993463 0.518976 -2.28461 0.154567 0.277748 -0.592839 -0.00099641 0.0495281 0.179207 -0.279717 0.393912 -1.26206 0 +110 0 1.07195 0.00864504 0.0643405 0.244612 -0.0157802 -0.219406 1.75967 3.27397 0.439353 -1.41093 0.372868 -0.919563 -0.0110692 -1.05371 -0.000363494 0.678608 5.16697 -0.124019 -0.0214165 -5.80583 -0.0173059 0.506791 0.0142903 -0.293272 0.839967 -0.210899 -0.0327662 0.150234 -0.906501 -0.523445 0.0849465 0.191867 0.730585 0.220716 0.563139 0.0565723 0.0740775 -1.1341 0.788081 -2.35163 -0.0657993 1.50121 0.132134 -3.09222 -0.340322 -0.984407 -0.189226 0.348885 -0.340033 1.05295 -0.807053 1.59263 0.0245429 -0.022494 0.084911 1.40999 1.09145 0.668445 0.478232 0.129668 -1.68433 3.53209 0.359451 -1.51079 -0.620149 0.208451 0.619891 0.224243 -0.141479 1.01346 -0.426094 0.700197 -0.239041 0.329916 -0.393167 0.30232 4.58377 2.83867 -3.69909 1.15512 -1.57532 3.3291 0.834785 -1.09937 2.039 -3.55732 0.190162 -0.359222 0.614332 -1.20649 1.92353 0 0 0 0 0 0.0643405 0.244612 0 0 0 0 0 0 0 0.00365864 0 0 0 0 0.00836177 0 0.000960463 0.0398378 0.0375799 0 0 -0.0945266 0 0 0.000995329 0.285278 0 0 -0.0140861 0.115989 0 -0.0200002 0 -0.02759 0 0 -0.00413664 0 0 -0.0634844 0 0 0 0 0 0 0 -0.0425749 0 0 -0.166681 0 0 0 0 0 0 0 -0.0180662 0 -0.45242 0 -0.00788781 0 0 -0.000566379 -0.103218 0 -0.0474324 0 0 0 0.145384 0 -0.0426392 0 0 0.00273593 0 0 0 -0.00161955 0 0 0 0 0 0 -0.0157802 0 -0.219406 0 0 0 0 0.0635911 0.963632 0 0 -0.73449 0 -0.0763657 0 0.0495962 0 0 -0.966744 0 -0.625367 0.0710143 -0.246609 -0.0787205 0 0 0.474425 0 -1.97991 0 -4.65733 -1.42376 0 0.404781 -1.62779 -0.0263717 0 0.0199758 0 0 0.0937949 0 -1.94435 -1.68797 0 0 -0.150285 0 0 -0.0810678 -1.11572 -0.0586159 0 2.27894 0 -0.792254 0.0988673 -0.0776611 0.820113 0.101019 -2.06008 0.296742 -0.169993 0.185416 5.98166 -0.247665 0 0 0 0.364657 0.140241 0 0 0 0 -0.163318 29.1572 6.37103 -3.59303 1.36996 -0.977621 1.45033 0.266403 -0.216905 0.30798 -0.214306 0 0 0 0 0 0 +111 0 -0.478703 0.684775 0.0263918 0.100337 -0.0400696 0.196312 -0.658728 0.268859 0.180219 -1.01014 0.316316 0.820241 -0.0045405 0.784569 -0.0109004 1.86655 4.7475 -0.0604862 -0.0495751 -0.362711 -0.0164985 -1.16244 0.00586176 -0.279525 -0.766115 0.916419 -0.0242334 -0.801144 -1.25603 0.686849 0.0348442 -0.00824141 -1.76117 0.0210009 -0.776842 0.0434074 -0.020167 -2.78905 0.337818 0.37389 -0.0269902 0.462594 0.0559999 -0.268528 -0.139597 0.622009 -1.15989 -0.186754 -0.144251 0.241846 -0.732229 -1.89392 0.0808817 -0.0741293 0.0507374 -0.02019 0.380958 0.567341 0.418135 0.0531885 0.892169 -0.813522 1.43758 0.202093 0.0492526 1.6136 0.268078 -0.0631254 -0.0580334 0.675544 -0.327322 0.163178 -0.0313269 -0.173491 0.699057 -0.0479694 9.77067 3.29996 -0.807838 1.12314 -1.12067 3.02293 0.789042 -0.706813 1.39855 -0.521946 0.0780025 -0.151416 0.499024 -0.871587 2.66521 0 0 0 0 0 0.0263918 0.100337 0 0 0 0 0 0 0 0.00546234 0 0 0 0 0.00305617 0 0.000883857 0.00947099 0.0123924 0 0 0.0507429 0 0 0.0323003 0.216292 0 0 0.00699329 0.0259369 0 0.144981 0 -0.000247709 0 0 -0.00011754 0 0 0.365883 0 0 0 0 0 0 0 -0.0722086 0 0 0.0262036 0 0 0 0 0 0 0 -0.000439114 0 0.267777 0 -0.00340187 0 0 -0.000698068 0.0490752 0 0.00157904 0 0 0 -0.837899 0 -0.0164441 0 0 -0.0157681 0 0 0 -0.000534065 0 0 0 0 0 0 -0.0400696 0 0.196312 0 0 0 0 0.278255 0.74634 0 0 -0.402383 0 -0.0399399 0 0.0245683 0 0 -0.438815 0 -0.481579 0.103559 -0.282134 -0.0387686 0 0 0.220292 0 0.00965071 0 1.05621 -0.198056 0 0.679641 -0.369149 -0.0299663 0 0.0336422 0 0 0.0788503 0 -0.333535 -1.17114 0 0 -0.101053 0 0 -0.0483965 1.93152 -0.0912808 0 2.01158 0 0.0857312 0.0735212 -0.000400961 0.515816 0.102196 -1.18895 0.566004 -0.0972702 -0.220896 5.99219 -0.164181 0 0 0 0.216665 0.105015 0 0 0 0 -0.161461 -7.69041 2.28109 -4.85952 0.285353 -0.0918154 -0.939478 0.130714 -0.0868928 0.0790131 -0.286011 0 0 0 0 0 0 +112 0 0.188827 -0.487886 0.0242602 0.0922333 -0.275055 -0.146701 0.20312 1.11551 0.165663 -0.90274 0.0902781 -0.330226 -0.00417377 -0.699765 -0.00693399 -1.68951 -6.42167 -0.160991 -0.0585576 -3.26939 -0.0189275 0.633035 0.00538831 -0.149879 0.254318 -0.658306 -0.025477 -0.113311 -0.986457 0.00513448 0.0320299 0.01738 0.848018 -0.111873 0.204042 0.0151093 -0.0035189 1.44739 0.0937806 -1.45135 -0.0248103 -0.244086 0.0246737 -3.25054 -0.128322 -0.466467 -0.51948 -0.276691 -0.0615215 0.124919 -0.636296 -6.33948 0.0968946 -0.0888054 -0.142819 0.299772 -0.989488 -0.777706 0.254401 0.0488925 0.916525 6.80283 0.765778 0.0375876 0.19411 1.08998 0.438448 -0.086094 -0.0533461 0.0929098 -0.502954 -0.134267 0.00539734 3.34169 0.693432 -1.82162 -11.9192 -0.800191 -4.23525 -0.261232 -0.0941306 -2.04837 0.478259 -0.663328 1.35982 -1.87461 0.0717024 -0.0786289 0.411746 -0.502532 2.09319 0 0 0 0 0 0.0242602 0.0922333 0 0 0 0 0 0 0 -0.00297685 0 0 0 0 -0.00113643 0 -0.000176547 -0.0084966 -0.0205171 0 0 -0.201015 0 0 0.00226891 -0.816506 0 0 -0.0299659 -0.108492 0 0.00154429 0 -0.0308527 0 0 -0.0046085 0 0 -0.000827154 0 0 0 0 0 0 0 -0.025488 0 0 -0.0974638 0 0 0 0 0 0 0 -0.0490889 0 0.225474 0 -0.000224176 0 0 -0.00555861 -0.111814 0 -0.00372133 0 0 0 0.00189424 0 0.023498 0 0 3.56471e-05 0 0 0 0.000884208 0 0 0 0 0 0 -0.275055 0 -0.146701 0 0 0 0 0.204229 0.298032 0 0 -0.461373 0 -0.0507006 0 0.0181012 0 0 -1.49171 0 0.745333 0.101577 -0.110007 -0.200582 0 0 0.168908 0 -4.52336 0 1.21816 0.0875626 0 0.887663 0.892409 -0.0116213 0 0.014262 0 0 0.0271516 0 -1.03348 -2.79537 0 0 -0.364765 0 0 1.57635 2.38295 0.206098 0 3.98011 0 0.843511 -0.0147763 0.00350299 0.700798 0.0286741 -1.1534 0.146545 -0.00372828 -1.07869 9.19888 -0.0717213 0 0 0 -0.333569 0.0939042 0 0 0 0 -0.0230148 -7.59135 1.65432 -4.3935 0.483489 -0.375839 -0.728938 0.246448 -0.190457 0.182927 -0.568655 0 0 0 0 0 0 +113 0 0.00411173 0.869319 -0.050394 -0.226705 0.230464 0.0457535 -0.00543854 -1.20166 0.0269255 0.847227 -0.0177621 1.67887 0.0127497 0.87884 -0.00182179 4.85972 9.11015 0.0457021 -0.00702844 0.768276 -0.0649012 -1.9679 -0.00224434 -0.0198136 -0.0545178 2.54514 -0.0806364 0.00814997 0.0546973 0.283251 -0.0078493 -0.0167792 -2.44991 -0.185898 0.091077 -0.00696089 0.0604958 -4.55901 -0.112406 0.142072 0.081328 -0.904914 -0.0533097 4.54295 0.429002 0.0246969 0.0329595 -0.00688342 0.140064 -1.19133 0.695185 -1.86377 0.172195 0.249674 -0.136604 -3.91578 0.291061 0.0277188 0.00897543 -0.194148 -1.42432 -0.439378 1.78117 -1.46955 0.289758 -1.27481 -0.823891 -0.346901 -0.128688 1.28477 0.161147 0.11532 0.227893 -1.37625 -0.135554 3.15979 20.794 0.701343 3.82231 0.732747 -0.165358 4.2152 -1.72173 1.06623 -1.26658 1.22929 -0.404172 0.0649453 -0.152356 0.0346982 -0.0322802 0 0 0 0 0 -0.050394 -0.226705 0.00143117 0 0 0 0 0.000545493 0 -0.0693268 0 0 0.00677729 0.0238806 -0.106414 0 -0.0159298 0.0569404 -0.471942 0 0 -0.102218 0.00141916 0 0.0390953 0.189996 0 0 -0.0288288 0.161867 0 0.132987 0 -0.0305657 0 0 -0.00684635 0 0 0.386792 0.00836179 0.1149 0 0.0107242 -0.0930204 0 0 0.109364 0 0.00353637 -0.0451294 0.0234307 0 0 -0.0115864 -0.00229828 0 0.0405964 -0.108227 0.0205006 1.21474 -0.118147 -0.103059 0 0.0119447 -0.182189 0.281718 -0.01649 0.283735 0 0 0 -2.75332 -0.377047 1.43536 0.0332777 -0.043662 -0.220465 -0.00748025 0.00996243 -0.0522745 0.333062 0 0 0 0 0 0 0.230464 0 0.0457535 0 0 0 0 0.0445732 -0.390707 0 0 -0.0313015 0 -0.0141357 0 -0.000958065 0 0 -0.000527866 0 -0.017409 0.0341124 -0.00892877 -0.000408389 0 0 -0.038428 0 1.25401 0 -0.343138 0.114948 0 0.188141 0.0220071 -0.00181368 0 0.0063466 0 0 -0.0192353 0 0.536796 0.0744718 0 0 0.00440672 0 0 -0.146605 -0.0927234 -0.0598297 0 -0.63513 0 -0.427841 -0.092367 0.0633928 -0.275701 0.0519632 0.417273 0.0161237 -0.000980966 0.57211 0.885484 0.00698762 0 0 0 -0.0487086 -0.028631 0 0 0 0 0.0983654 0.972798 -0.411973 0.148335 0.0344715 0.0521086 0.25728 -0.038295 0.0501437 -0.051477 -0.0982952 0 0 0 0 0 0 +114 0 1.41429 0.160819 0.0349255 0.168758 0.0478386 0.073613 -0.676353 -1.32284 0.191623 -1.4372 -0.0984496 2.34262 -0.000934046 0.282258 -0.0113617 2.42366 10.1279 -0.447134 -0.0419627 0.0337414 -0.036082 0.537004 0.00482111 -0.178277 0.0774431 0.204028 -0.12242 -0.0355991 -0.216097 0.171263 0.0310752 -0.0843503 -0.65925 -1.72221 -0.058035 -0.0149642 0.06934 -8.18411 -0.382602 0.0430747 -0.00287301 -2.50802 -0.0639742 3.92626 0.00875406 0.0195678 -0.107315 -0.334486 0.0567464 -2.04259 0.191729 -17.2025 0.0138853 -0.058444 0.0733376 -10.1871 -0.864647 -0.0409449 0.130489 -0.0674916 0.736979 0.162193 3.80536 -2.77821 0.78495 -0.220182 2.98872 0.0254725 -0.0977628 0.0164686 0.446406 -0.0868363 0.922347 -0.898323 0.151541 4.56132 34.1565 8.19845 2.97994 6.11285 -3.89711 11.1683 0.872903 -0.303188 0.53029 3.25769 -0.00824739 0.180473 0.0992119 0.106856 0.127532 0 0 0 0 0 0.0349255 0.168758 -0.00747045 0 0 0 0 -0.00102396 0 -0.0444872 0 0 -0.001324 0.00518695 -0.0465412 0 -0.00958888 0.0654261 -0.203791 0 0 0.176699 0.000353103 0 -0.0537305 1.87329 0 0 0.0246902 0.433419 0 -0.229527 0 -0.0130663 0 0 -0.00177446 0 0 -1.32411 -0.0172005 -0.0236974 0 -0.118467 -0.0695843 0 0 -0.180318 0 -0.00534083 -0.423427 0.00782818 0 0 0.000790147 0.0201426 0 0.012476 0.10085 -0.00117115 0.349418 0.0192908 -0.0428361 0 -0.0580267 -0.186653 0.26845 -0.0205023 -0.345125 0 0 0 7.10316 0.269952 1.11908 0.0564997 -0.0660079 0.684106 0.000656251 0.000301907 0.00180957 0.241095 0 0 0 0 0 0 0.0478386 0 0.073613 0 0 0 0 0.00126145 0.0289314 0 0 -0.208888 0 -0.0391861 0 -0.00770982 0 0 0.00264986 0 -0.070181 -0.0255262 -0.042515 0.00051654 0 0 -0.062216 0 1.78672 0 -1.73532 -0.105538 0 -0.0633912 -0.379699 -0.00878254 0 -0.00490752 0 0 0.0039534 0 0.0606237 0.201765 0 0 0.0261036 0 0 0.11147 1.04506 -0.0718336 0 -0.0878319 0 -0.904331 0.0504172 -0.0998125 -0.104613 -0.0526876 0.0820469 0.752184 -0.00241059 0.111339 0.183991 0.0623139 0 0 0 -0.0647355 0.0181028 0 0 0 0 0.0348475 21.2689 3.52311 -0.823752 1.70757 -0.933822 1.15896 0.219064 -0.151774 0.135262 0.257531 0 0 0 0 0 0 +115 0 1.25129 0.0887716 0.068673 0.302033 -0.0277818 0.0071051 -0.131653 -0.0632303 0.979406 -1.48273 -0.0513274 -0.192932 -0.00156606 -0.415438 -0.0072899 -0.647091 0.635614 -0.167427 -0.073742 -0.222753 -0.031358 0.280337 0.0191986 -0.404985 0.00426043 -0.500534 -0.0505133 -0.00430924 -0.095076 -0.122864 0.139524 -0.0398711 -0.619317 0.0817152 -0.0269895 -0.00638808 -0.238654 -5.82102 -0.230828 -0.0558889 0.000484727 0.658416 -0.0265089 -0.989399 0.125958 -0.0130589 -0.0182704 -0.463017 -0.113404 -0.612056 0.214133 -5.23385 0.351391 0.0945202 0.00712317 -4.22567 -0.36022 -0.370501 0.0625742 0.00137372 -0.654681 0.481722 1.01938 -1.9479 -0.750223 -0.411657 1.39243 0.704722 -0.253592 0.53356 0.445645 0.0670187 1.09933 -0.101628 -0.00940965 3.31566 19.8351 6.39818 -0.364945 3.75517 -2.04905 7.14715 1.46982 -1.0647 2.18623 -0.728204 -0.118668 0.112256 0.00761887 0.0654543 0.0561101 0 0 0 0 0 0.068673 0.302033 0.00372252 0 0 0 0 0.000302298 0 -0.00434551 0 0 0.00161575 0.00304852 0.0232376 0 0.000420489 0.0216353 0.074483 0 0 -0.0431089 0.000339035 0 -0.00379369 1.07964 0 0 0.00179634 0.181339 0 -0.00587801 0 -0.0307173 0 0 -0.00296989 0 0 -0.3279 0.00371557 0.0126586 0 0.0550829 0.0577054 0 0 -0.256228 0 0.00900749 0.251531 -0.0206532 0 0 -0.00555646 -0.00441523 0 0.0176176 -0.120213 0.00615412 -0.741397 -0.000121279 -0.0184404 0 0.0266606 0.0280085 -0.0195739 7.01975e-05 -0.00752853 0 0 0 0.359967 0.0498931 -0.436417 0.00936179 0.00455084 -0.115965 -0.00302952 0.00332741 0.0142443 -0.092114 0 0 0 0 0 0 -0.0277818 0 0.0071051 0 0 0 0 0.0473918 -0.252171 0 0 -0.69178 0 -0.0948462 0 -0.00825731 0 0 0.100181 0 -0.104866 0.0289399 -0.122751 0.00919112 0 0 -0.0621815 0 0.436747 0 -2.43468 -0.0439197 0 0.307665 -0.491875 -0.0172686 0 0.00410344 0 0 -0.0426207 0 -0.14431 0.695868 0 0 0.0603299 0 0 0.245773 0.811718 0.177673 0 -0.406639 0 -0.595199 -0.0193559 -0.162494 -0.0261453 -0.0566209 -0.340935 0.455293 -0.0225299 0.436165 0.151696 -0.041527 0 0 0 -0.0739178 0.00989828 0 0 0 0 0.0111487 22.2922 6.25883 -2.68309 1.77535 -1.05806 1.3321 0.455441 -0.328147 0.490597 -0.369178 0 0 0 0 0 0 +116 0 1.17903 -0.0496002 0.0769302 0.258664 -0.176144 -0.262419 1.47415 2.63839 0.504937 -1.60317 0.36619 -2.27121 -0.0158369 -2.14154 0.0273751 -0.833924 -0.9771 -0.144463 -0.0422307 -4.90142 -0.0386739 0.302381 0.0204453 -0.448583 0.394983 -0.375858 0.00980658 0.132554 -1.51308 -0.78239 0.109459 0.374395 -0.0592199 0.378145 0.463945 0.0673858 0.240905 -2.94338 0.810988 -2.07822 -0.0847869 2.0477 0.158551 -6.93643 -0.391122 -0.808687 -0.485832 0.324882 -0.395427 0.983287 -1.01464 4.45067 0.0492875 -0.0451728 0.0721747 4.02893 0.392181 -0.124126 0.648736 0.161965 -3.05197 4.13601 0.0511149 -0.582459 -0.603506 0.0358615 0.329316 0.379786 -0.176718 1.16609 -0.627219 0.716044 -0.466112 4.18702 -0.155828 0.0774543 14.0018 3.88482 -1.16078 1.12656 -1.16304 4.13394 1.19776 -1.1488 2.12258 -3.66561 0.258152 -0.464661 0.84865 -1.48649 2.70267 0 0 0 0 0 0.0769302 0.258664 0 0 0 0 0 0 0 0.00995951 0 0 0 0 0.0101026 0 0.00261521 -0.000557476 0.0409803 0 0 0.108434 0 0 0.0852225 0.430441 0 0 0.012906 0.0510036 0 0.214329 0 0.0202886 0 0 0.0022193 0 0 0.454334 0 0 0 0 0 0 0 -0.10593 0 0 0.0529454 0 0 0 0 0 0 0 0.0074399 0 0.152979 0 -0.0080479 0 0 -0.000417162 0.0861391 0 -0.0129463 0 0 0 -1.04046 0 -0.0497232 0 0 -0.01958 0 0 0 -0.00176609 0 0 0 0 0 0 -0.176144 0 -0.262419 0 0 0 0 0.156513 1.3911 0 0 -0.585907 0 -0.0550716 0 0.0648131 0 0 -1.71651 0 -0.844451 0.0613882 -0.187751 -0.186183 0 0 0.590511 0 -5.49696 0 -5.24801 -1.70967 0 0.536952 -2.00617 -0.0190637 0 0.0142029 0 0 0.153356 0 -3.16723 -3.22527 0 0 -0.364256 0 0 0.703201 -0.0559583 0.0751971 0 3.14632 0 -0.518338 0.175306 -0.0741177 0.405854 0.110318 -0.980214 0.44692 -0.170439 -0.806284 0.318589 -0.236708 0 0 0 0.244932 0.108452 0 0 0 0 -0.304379 33.8613 5.00337 -1.91908 1.1924 -0.912435 2.05421 0.193682 -0.161217 0.224537 -0.159573 0 0 0 0 0 0 +117 0 0.957836 -0.684777 -0.0128582 -0.0432335 0.297123 -0.204379 0.796119 0.387785 -0.084396 0.196492 -0.384296 -0.832025 0.002647 0.183389 -0.0327753 -1.6175 -2.09599 -0.0442865 -0.0347422 0.0256468 -0.013581 1.36714 -0.00341727 -0.0017305 0.92409 -0.871351 0.0121511 0.864076 1.11374 -0.59566 -0.0182952 -0.26971 2.30671 -0.116167 0.877043 -0.0552496 0.0446952 4.88459 -0.344649 -0.493479 0.0141714 -0.509341 -0.0549679 2.07031 0.0653728 -0.695104 1.12522 -0.361336 0.140616 -0.78039 0.0902719 -1.51374 0.0633993 -0.0581064 0.105115 -0.212552 -0.204729 -0.182714 0.0126333 -0.027071 -1.1089 0.787921 -2.5843 -1.79717 0.016419 -0.843373 -0.153805 -0.00553366 0.0295369 0.105551 0.18262 -0.307538 0.0316897 0.647028 -0.43426 0.237197 -11.024 -1.30914 -1.25551 -0.893074 1.47742 -4.23833 0.0433785 0.0928559 -0.425279 0.259594 -0.0431479 0.14667 -0.425936 0.868843 -1.98937 0 0 0 0 0 -0.0128582 -0.0432335 0 0 0 0 0 0 0 0.00172553 0 0 0 0 -0.00228057 0 2.44406e-05 -0.0358557 -0.011198 0 0 0.162195 0 0 0.0161246 -0.13857 0 0 0.0212035 -0.145086 0 0.0988014 0 0.0211581 0 0 0.00280945 0 0 0.263292 0 0 0 0 0 0 0 -0.0123987 0 0 0.227612 0 0 0 0 0 0 0 0.0279397 0 0.539545 0 0.00283769 0 0 -0.000597113 0.183167 0 0.0270521 0 0 0 -0.602959 0 0.0111999 0 0 -0.0113469 0 0 0 0.000482588 0 0 0 0 0 0 0.297123 0 -0.204379 0 0 0 0 -0.0900201 -0.424806 0 0 0.334261 0 0.0377185 0 -0.0297841 0 0 0.795383 0 0.91402 -0.0162798 0.279762 0.10411 0 0 -0.273467 0 5.11066 0 2.98389 0.619756 0 -0.253462 1.87776 0.0313863 0 -0.010375 0 0 -0.0458241 0 1.70594 2.11139 0 0 0.243949 0 0 -0.243238 -0.134082 0.0349892 0 -1.0492 0 0.371909 -0.137401 0.0447177 -0.426184 -0.0324803 0.252267 -0.350984 0.012783 0.209971 0.279733 0.0686611 0 0 0 -0.124442 -0.043706 0 0 0 0 0.0806475 -10.4316 -1.75725 1.84778 -0.139768 0.00980356 0.336802 0.0113763 -0.0173589 -0.00784397 0.166694 0 0 0 0 0 0 +118 0 0.626828 -0.143344 0.0318597 0.107123 -0.0920623 -0.00833135 0.81005 1.51196 0.209114 -0.640691 0.257428 0.611157 -0.00655866 1.41749 0.0208808 -0.363415 3.18585 -0.0980823 0.0267172 -1.39327 -0.0275453 0.525753 0.00846719 -0.211526 0.364748 -0.429517 -0.0196335 0.0471019 -0.642635 0.274459 0.0453313 0.225152 0.843818 -0.0621373 0.211946 0.0423076 0.0602151 1.27438 0.53042 -0.506247 -0.0351135 0.450884 0.0921499 3.32819 -0.161979 -0.210803 -0.090656 0.459253 -0.233103 0.0197869 -0.336148 -1.52092 -0.0553486 0.0507279 0.188397 2.05448 0.666163 0.971896 0.282169 0.0670757 0.0715563 -2.50741 -0.719059 -0.754403 0.0723419 -0.00642643 0.299798 0.0516622 -0.0731856 0.432526 0.0634786 0.611218 -0.139154 -1.08765 -0.697584 -0.683097 -5.86381 -0.367554 -1.98858 -0.299864 0.404994 -2.85368 0.567245 -0.567595 0.586732 -1.68942 0.106911 -0.256641 0.356742 -0.79744 1.14788 0 0 0 0 0 0.0318597 0.107123 0 0 0 0 0 0 0 -0.000736874 0 0 0 0 -0.00115422 0 0.000421198 -0.0277138 -0.0222377 0 0 -0.0971275 0 0 0.0382566 -0.602534 0 0 -0.0143047 -0.132962 0 0.10188 0 -0.0109347 0 0 -0.00175605 0 0 0.221029 0 0 0 0 0 0 0 -0.0565973 0 0 -0.00538685 0 0 0 0 0 0 0 -0.026832 0 0.641919 0 -0.000327654 0 0 -0.00618552 0.02174 0 -0.00823188 0 0 0 -0.506172 0 0.0241012 0 0 -0.00952546 0 0 0 0.000958357 0 0 0 0 0 0 -0.0920623 0 -0.00833135 0 0 0 0 0.158923 0.454071 0 0 -0.502381 0 -0.0562303 0 0.0264056 0 0 0.865593 0 0.728929 0.0150383 -0.139897 0.117476 0 0 0.258403 0 11.15 0 -0.584473 1.14876 0 0.338829 0.58395 -0.0153312 0 0.00157191 0 0 0.0408896 0 4.0469 1.77179 0 0 0.244694 0 0 -1.51984 -0.463933 0.0328818 0 -1.81883 0 0.151731 0.0480637 -0.0597633 0.56768 0.0943676 -1.28512 -0.155286 -0.0428754 0.71129 -1.75539 -0.133632 0 0 0 0.50617 0.0951048 0 0 0 0 -0.0770658 6.29172 1.81584 -0.504093 0.539505 -0.422154 0.00501854 0.189106 -0.140874 0.128893 -0.142001 0 0 0 0 0 0 +119 0 0.467132 0.585521 0.0188532 0.15931 -0.120753 0.0776699 0.200718 1.16864 0.151362 -1.18621 -0.0310046 0.419971 -0.000691632 -0.960354 -0.0142587 0.95153 1.11845 -0.280512 -0.0413223 0.0779769 -0.0292451 -0.762484 0.000897205 -0.139014 0.0379838 0.615045 -0.0680806 -0.109863 -0.0366236 -0.0591291 0.0122939 -0.300179 -1.42084 -0.479003 -0.19585 -0.00589308 -0.319987 -4.22916 0.0466162 0.211321 -0.00913021 -1.49289 -0.000961281 -0.764455 -0.113682 0.192659 -0.0659545 -0.697635 0.00790632 -1.89515 -0.503701 -3.23844 0.0791402 -0.0516262 0.0666114 -4.23681 -0.858173 -0.253044 0.303465 0.019103 -2.2534 -0.116513 0.799951 0.892912 1.04444 0.571249 -0.242599 -0.567158 -0.0228547 0.71398 -0.593533 -0.138063 0.401139 -0.232423 0.017191 0.569679 17.1828 3.83422 1.14452 1.2162 -1.16023 5.10139 0.537688 -0.603116 1.38563 -1.49765 0.0106636 0.00675094 0.0503547 -0.0170648 0.0313375 0 0 0 0 0 0.0188532 0.15931 0.000497806 0 0 0 0 1.02705e-05 0 0.00541861 0 0 -2.15101e-05 -3.88627e-06 0.00323953 0 0.000571382 0.0134058 0.0311901 0 0 0.00193992 -2.82188e-07 0 0.0104093 0.423156 0 0 0.000322671 0.0919575 0 0.0406346 0 0.000856422 0 0 8.14448e-05 0 0 0.0619259 0.000141445 -0.000296235 0 0.00685575 -0.00694187 0 0 -0.0327281 0 0.00101917 -0.0712756 -0.00196204 0 0 4.40379e-05 -0.000861354 0 -0.00115572 0.00448204 -0.000422222 -0.225364 -0.00357955 -0.00351246 0 -0.000649543 0.00500508 -0.011744 -0.00300658 -0.0182734 0 0 0 0.0194746 -0.0146616 0.00493624 0.00863648 -0.0164681 0.0289432 2.83477e-05 -5.40535e-05 0.000116527 -0.000396547 0 0 0 0 0 0 -0.120753 0 0.0776699 0 0 0 0 0.172532 -1.18829 0 0 -0.746135 0 -0.0765598 0 -0.0704058 0 0 1.00372 0 -1.1272 0.0709457 -0.319996 0.145956 0 0 -0.652812 0 -2.15196 0 -5.61895 -0.75272 0 0.424823 -2.34733 -0.0347116 0 0.0300634 0 0 -0.128505 0 -1.5006 1.96309 0 0 0.282755 0 0 0.461774 -4.29125 -0.199767 0 -0.810909 0 0.573222 -0.38351 0.260356 0.690877 0.157315 -1.98608 -1.34176 -0.212851 -0.685429 -8.86914 -0.350768 0 0 0 -0.454958 0.175883 0 0 0 0 0.188655 31.1761 7.65035 -5.13751 2.12093 -1.51941 1.52041 0.341627 -0.262372 0.284714 -0.169584 0 0 0 0 0 0 +120 0 -0.18551 -0.145021 0.00245855 0.0257744 0.0909889 -0.0442523 -0.68838 -0.164255 0.0222456 -0.523469 -0.0272411 -0.602392 -8.20104e-05 -1.85196 -0.00101649 -1.16066 -7.39711 -0.0725635 -0.0105843 -4.67548 -0.00503236 -0.153803 0.000114257 -0.0861813 -0.131439 -0.102103 0.00604281 -0.329009 -0.638955 -0.143928 0.0016431 -0.0081985 -0.254588 0.0350231 -0.172198 -0.00252797 -0.0215231 0.328356 -0.0749648 -1.83552 -0.00101092 -0.108913 -0.00547258 -4.89863 -0.011218 -0.448476 -0.53082 -0.156172 0.0156243 -0.555867 -0.0859014 8.07776 0.0203881 -0.0160682 0.0356535 5.58636 0.0614369 -0.161857 0.146061 0.00208172 2.85876 7.3207 3.08758 0.484149 0.409538 1.30734 0.590669 -0.0994253 -0.00334093 0.474641 0.0920049 0.0198618 0.033642 4.54479 0.44301 0.140722 1.63221 1.23625 0.596627 -0.161475 0.602454 0.253996 0.400965 -0.393008 1.00557 -0.653404 0.00105226 0.00439781 0.0347668 0.0823047 0.546732 0 0 0 0 0 0.00245855 0.0257744 -5.38162e-05 0 0 0 0 -1.1111e-06 0 0.00163045 0 0 0.000111621 2.00663e-05 0.000303024 0 0.000137759 -0.00160854 0.000108012 0 0 0.0460019 1.45705e-06 0 0.00595628 0.0358835 0 0 0.0056777 -0.0149159 0 0.050093 0 0.00269656 0 0 0.000340884 0 0 0.143235 -1.5302e-05 0.00153723 0 -0.000741152 0.00151633 0 0 -0.0229933 0 -0.000110179 0.0466313 0.00030672 0 0 -0.000228523 9.3118e-05 0 0.000344987 0.0048465 0.000565929 0.156835 0.00199442 -0.00124198 0 0.000196256 -0.000967112 0.0460455 0.000256384 0.00267677 0 0 0 -0.335341 -0.00244076 -0.000171476 -0.00039208 0.000747621 -0.00760799 -0.000147103 0.000280496 -0.000604687 0.0010097 0 0 0 0 0 0 0.0909889 0 -0.0442523 0 0 0 0 0.0166755 0.0426871 0 0 -0.151255 0 -0.0187806 0 -0.00455162 0 0 -1.29308 0 0.0688861 0.103994 -0.0483508 -0.164215 0 0 -0.0270752 0 -7.27577 0 2.82872 -0.477578 0 0.464873 0.683196 -0.00573091 0 0.018349 0 0 -0.00477719 0 -2.31578 -2.54592 0 0 -0.323109 0 0 1.52766 2.3589 -0.0155634 0 3.69999 0 0.640064 -0.115246 0.104535 0.263519 0.00526898 -0.798946 0.319545 -0.0698087 -0.854086 9.8924 -0.0120237 0 0 0 -0.418893 0.0701828 0 0 0 0 0.0472358 -15.9726 1.30658 -4.34599 0.225581 -0.105121 -0.886857 0.18275 -0.14574 0.147309 -0.360596 0 0 0 0 0 0 +121 0 0.0812557 0.710795 0.0104139 0.0399973 -0.139997 0.294123 -1.47436 -0.719051 0.0595366 -0.691984 -0.214374 1.02094 -0.000460595 1.28673 0.00213618 1.4905 2.71951 -0.112426 -0.0140764 2.58893 0.00033416 -1.17921 0.000521928 -0.103778 -0.816092 0.944422 -0.00344957 -0.68861 -0.271853 0.754085 0.00640771 -0.0173548 -1.89251 0.0049849 -0.916816 -0.0138815 -0.0722893 -3.18283 -0.187402 1.41521 -0.00676861 0.101956 -0.0117859 1.6645 -0.0974242 1.05748 -0.523155 -0.258306 0.0260836 0.503642 0.0890284 2.25832 0.0333352 -0.0133455 0.0791986 -1.68254 0.614166 -0.0639879 0.124798 0.0144827 1.26766 -2.00941 1.32276 1.13645 0.0122007 0.903246 0.0936609 0.0467999 -0.00916249 0.197195 -0.0110862 0.0251005 0.0151346 -2.85975 0.37624 1.25335 12.1071 2.3701 2.71381 1.16316 -0.210838 1.89353 0.472489 -0.215809 0.453435 0.385958 0.00913852 0.0164484 0.0544314 0.101549 0.232616 0 0 0 0 0 0.0104139 0.0399973 0.00141601 0 0 0 0 2.92139e-05 0 0.00113304 0 0 1.12069e-05 1.95825e-06 0.00120516 0 0.000255929 0.00360609 0.00237565 0 0 -0.0982112 1.42191e-07 0 0.00555122 -0.06658 0 0 -0.0145901 0.00832189 0 -0.0102258 0 -0.00361572 0 0 -0.000575732 0 0 -0.141824 0.000402331 0.000154341 0 0.0195011 -0.0189711 0 0 0.0226739 0 0.00289901 -0.0929535 -0.00551812 0 0 -2.29441e-05 -0.00245011 0 -0.00286409 -0.00533672 -0.000545354 0.00857314 -0.0073294 0.00429033 0 -0.00143095 0.00953107 -0.0186006 -0.00569763 0.00124064 0 0 0 0.783835 -0.0437622 0.113921 0.0245804 -0.0468701 0.0960835 -1.47694e-05 2.81623e-05 -6.07116e-05 0.0021975 0 0 0 0 0 0 -0.139997 0 0.294123 0 0 0 0 -0.132573 0.640895 0 0 0.119257 0 0.0125267 0 0.0206333 0 0 -0.161186 0 -0.250658 -0.0204008 0.162539 -0.0193469 0 0 0.187734 0 2.47503 0 0.523578 0.288383 0 -0.114983 0.0603253 0.0172825 0 -0.0124222 0 0 0.0699266 0 0.567174 -0.325892 0 0 -0.0380795 0 0 -0.217041 -0.0997213 0.0415813 0 -0.0372356 0 -0.175277 0.160933 -0.117307 -0.366227 -0.0653885 -0.0146156 0.186347 0.0475218 0.220731 -0.64206 0.0268275 0 0 0 0.164433 -0.0312561 0 0 0 0 -0.108995 -1.7474 -0.178192 0.188516 0.622459 -0.426971 -0.605308 0.0552067 -0.0398078 -0.027151 -0.00305529 0 0 0 0 0 0 +122 0 0 0 0 0 -0.197764 0.296922 -0.828178 -2.2397 0 0 0.096876 1.8143 0 3.2535 0.238228 0 0 0 0.547102 2.68625 0 0 0 0 -0.450691 0 0 -0.758597 -5.15349 1.0085 0 0.64147 0 0 -0.208135 0.040608 0 0 0.734363 0.911173 0 0 0.195805 6.53066 0 0.668398 -1.59506 0.865547 -0.264598 4.31446 -0.522467 0 -0.642363 0.575457 -0.68772 -3.74818 -1.60177 -0.947983 0 0 -0.0207543 -0.531229 0 -1.70262 -1.32736 -0.0225349 0 0 0 0 0.230304 0.861873 0 -1.89413 1.35187 0 0 0 3.23701 0 -0.723607 6.58511 0 -0.276659 1.30195 4.28436 0 -0.493794 2.20879 -4.61595 16.1079 0 0 0 -0.168991 -0.0427173 0 0 0 -0.0141584 0 0 -0.0025635 0 0 0.0140269 0 0 0 0 0.116534 0 0.0249369 0 0.0667901 0 -0.0741729 0.0580458 0 -0.00361011 0 0 -0.204343 0 0.0131938 0 0 0 0 0.0662852 -0.0284956 0 0.0157807 0 0 0 0 0 0 0 0 0 0 -0.0435461 0 0 0 0 0 0 0 0 0 0 -0.338478 0 0 0 -0.0334463 -0.0500217 0 -0.0245521 -0.279108 0 0.109841 0 -0.269732 0 0 0 -0.0878558 0 0 0.192929 0 0 0 0.0471161 0 0 0 0 0.168473 0 -0.197764 -0.168991 0.296922 -0.0427173 0.38202 0.183464 -0.912686 -0.366807 -2.06447 -0.0107679 -0.00405763 0.00383106 -0.00084192 -0.00726135 -0.135699 -0.115286 0.0271391 -0.121402 0.408345 0.568016 0.358557 -0.216457 0.106323 0.00414276 -0.0133563 -0.270651 -0.779431 0.0158199 -3.08731 0.328374 0.761788 0.700331 -0.0194196 -0.847351 0.625622 0.00822388 0.00301557 -0.061107 0.038386 -1.63359 -0.31297 -0.0467538 -0.180007 1.22508 0.00229167 0.0271661 0.0656981 0.0759295 0.155055 0.508836 -2.60644 0.413877 -0.256314 -2.10759 0.51072 -0.840132 0.0480878 -0.107042 -0.1319 0.550136 0.353015 0.19762 -0.120098 2.44021 -0.916864 -0.0188447 0.139721 -0.112569 0.339327 -0.721879 -0.0769705 0.0448602 0.00280655 -0.184076 0.041724 1.23408 -3.16075 0.286333 0.139411 0.150009 -0.854673 2.81659 -0.0474101 0.0561565 -0.185155 1.85591 0.0324615 -0.0766327 0.297114 -0.630164 2.12789 0 +123 0 0 0 0 0 -0.193914 0.315971 -0.516918 -1.94217 0 0 0.298337 0.617233 0 1.74617 -0.0242227 0 0 0 -0.432082 0.837363 0 0 0 0 -0.59954 0 0 -0.859265 -1.88103 0.555846 0 0.273996 0 0 -0.204877 0.0403518 0 0 0.390897 -0.0713643 0 0 0.0651547 2.92765 0 0.445913 -1.35907 -0.625026 -0.0990307 -0.712247 -0.264838 0 0.363766 -0.416331 0.394656 -1.3523 -0.239128 0.130909 0 0 0.478083 0.700062 0 0.426905 0.652799 0.0486411 0 0 0 0 0.132774 0.0871868 0 -0.32577 0.344626 0 0 0 3.60741 0 -0.704894 3.7059 0 0.149773 0.351155 3.37643 0 -0.0616454 1.07573 -1.18151 3.99999 0 0 0 -2.6696e-05 -0.00108479 0 0 0 0.0206668 0 0 0.000182307 0 0 -0.16543 0 0 0 0 -0.254505 0 -0.0634381 0 -0.656058 0 0.175095 -0.192106 0 -0.014127 0 0 -0.220022 0 -0.050497 0 0 0 0 -0.237771 -0.0562995 0 -0.0594329 0 0 0 0 0 0 0 0 0 0 0.063969 0 0 0 0 0 0 0 0 0 0 -0.0778229 0 0 0 -0.00674081 0.0840555 0 0.102556 -0.217975 0 -0.0775898 0 -0.111333 0 0 0 0.689959 0 0 0.208098 0 0 0 0.171892 0 0 0 0 0.180055 0 -0.193914 -2.6696e-05 0.315971 -0.00108479 -0.00958466 0.0488179 -0.00139219 0.0994255 0.897997 0.00209787 -0.0348552 -0.636268 0.000516284 -0.154508 -0.00190023 0.142607 -0.0212064 0.00796107 -0.828032 1.14158 -0.224717 -0.0346264 -0.391602 -0.104098 -0.096612 0.0474198 1.06373 0.02999 4.55541 -0.115804 -0.968703 1.86908 -0.000498233 0.237356 -0.504858 -0.0920381 -0.00667499 0.00132389 -0.0313377 0.565036 0.136264 -0.00190187 3.48472 -0.191137 -0.00679196 -0.0287972 -0.0987038 0.162499 -0.100936 -0.601681 -1.36784 -0.509091 0.0555121 1.57997 0.000862836 -0.855684 0.0566158 0.294054 0.175765 -0.0292554 -0.186616 1.14834 -0.0353048 -2.28289 -13.6668 -0.0553732 0.0373338 0.011819 0.0705052 0.442349 0.282346 0.100867 -0.00418365 -0.169184 -0.00996277 -0.368722 4.01927 0.945765 0.629816 0.112994 -0.300969 0.107886 0.0881408 -0.243972 0.284535 0.0678017 -0.0021287 0.0219431 -0.0993685 0.0945511 -0.218587 0 +124 0 0 0 0 0 0.0497142 0.193706 -1.05325 -2.56048 0 0 0.385666 0.881734 0 1.67879 0.1825 0 0 0 0.411819 2.66981 0 0 0 0 -0.349605 0 0 -0.593152 -6.83725 0.362631 0 0.62572 0 0 -0.149483 0.0739703 0 0 1.0119 0.21725 0 0 0.228845 4.86185 0 0.0804304 -2.14468 1.07515 -0.343379 1.63311 -0.974661 0 -0.65619 0.413164 -0.532676 -5.07295 -1.82412 -0.391775 0 0 0.592952 0.0537463 0 -1.80947 -0.737855 -0.0114346 0 0 0 0 0.446287 -0.0573555 0 -0.852548 1.79477 0 0 0 3.82684 0 -1.82073 9.31369 0 -0.546207 1.05563 4.76061 0 -0.580539 1.98693 -4.21105 17.4749 0 0 0 -0.0893273 -0.0227158 0 0 0 0.0290809 0 0 0.0032211 0 0 -0.0197969 0 0 0 0 -0.0330806 0 -0.00237364 0 -0.100098 0 0.234226 0.0725527 0 -0.00130232 0 0 -0.0170868 0 0.0088393 0 0 0 0 -0.0398058 -0.00511931 0 -0.00454219 0 0 0 0 0 0 0 0 0 0 -0.0930192 0 0 0 0 0 0 0 0 0 0 -0.0673187 0 0 0 0.0038274 0.065745 0 0.176519 -0.0571976 0 -0.0785725 0 -0.124064 0 0 0 0.0895333 0 0 0.0293147 0 0 0 0.0438983 0 0 0 0 -0.0343567 0 0.0497142 -0.0893273 0.193706 -0.0227158 0.268562 0.201215 -0.482596 0.333225 -0.533532 -0.0054274 0.0490842 -0.00944191 -0.00038 -0.0151733 -0.0719661 -0.0404818 0.0881165 -0.0631672 0.317649 0.404693 0.362435 -0.095318 -0.133591 -0.030247 0.598711 -0.35718 -0.258388 0.0153064 0.502188 0.58001 1.92257 0.228141 -0.0103274 -0.266119 0.888138 -0.0240848 0.011631 0.0300182 0.0985748 -2.29593 -0.0950614 -0.0550237 0.421827 1.28248 0.00693998 0.068146 0.0355376 0.0684712 0.0603645 0.0295776 -0.837035 -0.986028 -0.260733 -1.58906 0.270061 -1.88716 -0.06439 0.188871 0.214787 0.172531 -0.105142 0.809066 -0.0270827 -1.7772 -11.7774 0.037458 0.0931255 0.0864309 0.381381 -0.727658 0.00596352 -0.0403018 0.000956624 -0.179629 -0.0848295 0.307809 -7.97696 0.76228 -1.64844 -0.125992 -0.640244 3.11292 -0.0231393 0.113354 -0.369904 1.75689 0.0168902 -0.185474 0.528118 -0.983558 2.79464 0 +125 0 -0.658268 -0.192136 -0.038181 -0.265945 0.269147 -0.185166 0.316809 -0.631129 -0.306874 0.202939 0.241265 0.268979 0.00131378 0.493466 0.0178641 -1.51217 -4.4207 -0.113694 0.0432506 -0.853264 -0.0571541 0.0501212 -0.00296755 0.00160544 0.288493 -0.69066 -0.0598851 0.551443 0.0504556 -0.0777825 -0.0306348 0.203854 -0.203192 -0.570105 0.393169 0.0215889 0.160592 -1.53389 0.101708 -0.799413 0.0106272 -1.19555 0.00256637 1.58568 0.066403 -0.687065 0.226456 0.474306 0.00645881 0.266995 -0.237848 2.05871 -0.181018 -0.0444013 -0.0786567 -1.24067 -0.512566 0.0785394 0.0714475 0.0107982 0.225438 0.423429 -1.50635 0.180914 -0.0306207 0.0183898 -0.0584822 0.371284 0.0469397 -0.24933 -0.0703101 0.0175982 0.0427069 -0.213636 0.0238455 0.264775 2.74013 -0.997259 2.67065 0.106759 -0.985587 3.13011 -0.0570102 -0.0287817 -0.115408 0.595178 -0.0185398 -0.00916381 -0.0474579 -0.0580759 -0.0614167 0 0 0 0 0 -0.038181 -0.265945 0 0 0 0 0 0 0 -0.00979057 0 0 0 0 -0.0100887 0 -0.00131146 0.0162358 -0.0835608 0 0 -0.126685 0 0 0.0260618 0.0714044 0 0 -0.0194671 0.0893175 0 0.120275 0 -0.0134798 0 0 -0.00218416 0 0 0.0431055 0 0 0 0 0 0 0 -0.0405155 0 0 -0.0953378 0 0 0 0 0 0 0 -0.0782441 0 -1.39892 0 0.0146054 0 0 -0.000199973 -0.40348 0 -0.038348 0 0 0 -0.237736 0 0.125454 0 0 0.125866 0 0 0 0.0349856 0 0 0 0 0 0 0.269147 0 -0.185166 0 0 0 0 0.18599 -0.453723 0 0 0.197469 0 0.0201364 0 0.0143772 0 0 -0.0540203 0 0.508583 -0.0161894 -0.151421 0.000782421 0 0 0.107875 0 -0.549508 0 1.52921 -0.407417 0 -0.179278 0.558585 -0.018627 0 0.0292325 0 0 -0.0412065 0 -0.210088 0.388929 0 0 0.0486734 0 0 0.171955 0.959129 0.139186 0 0.62298 0 0.369801 0.0102773 -0.0480824 0.154483 0.0583325 0.202146 0.0660335 0.0614421 0.0254592 0.116793 -0.0414268 0 0 0 -0.0370295 0.000687416 0 0 0 0 0.0663151 -16.5082 -2.63807 0.450281 -1.04376 0.768049 -1.01538 -0.165058 0.102709 -0.127727 0.0635519 0 0 0 0 0 0 +126 0 0.411421 0.26488 -0.011431 -0.0177302 0.0164077 0.0801804 -0.255053 -0.0303819 -0.0927637 -0.252723 -0.13065 -0.219592 0.00186117 -0.829346 0.0157763 0.151179 -0.590944 -0.0656335 0.0288071 0.597934 -0.026665 -0.394669 -0.00234842 -0.0648449 -0.248533 0.307714 -0.0496392 0.026075 0.473517 -0.179657 -0.0164427 0.0715764 -1.21887 -0.0215336 -0.253245 -0.0140311 -0.551762 -4.46018 -0.274419 0.313999 0.013242 -1.24064 -0.037102 -0.483537 0.0789681 0.192496 0.166911 0.0931812 0.0947427 -0.379629 -0.268947 1.61666 -0.0276725 0.117372 -0.175562 -0.807846 0.135793 -0.182227 0.139615 -0.0308584 0.9205 -0.0612106 0.612933 0.860727 0.400861 0.55575 0.193939 -0.441844 0.0313568 -0.119866 -0.0152371 -0.222385 0.628891 -0.523932 0.229646 1.2437 14.6823 3.40541 0.0142845 3.60963 -2.54052 4.12101 0.145794 -0.108032 0.00374775 0.0595356 -0.022048 0.0442962 -0.114165 0.202919 -0.576386 0 0 0 0 0 -0.011431 -0.0177302 0 0 0 0 0 0 0 -0.015665 0 0 0 0 -0.00826736 0 -0.00250059 -0.0481706 -0.0425499 0 0 0.108389 0 0 -0.0540807 -0.189094 0 0 0.00935731 -0.192521 0 -0.283275 0 0.0130268 0 0 0.000898991 0 0 -1.00596 0 0 0 0 0 0 0 0.05201 0 0 -0.0949763 0 0 0 0 0 0 0 0.0215875 0 0.093622 0 0.0439233 0 0 0.0278015 0.125864 0 0.0506435 0 0 0 2.10437 0 0.11433 0 0 0.226505 0 0 0 0.0168226 0 0 0 0 0 0 0.0164077 0 0.0801804 0 0 0 0 -0.141815 -0.510227 0 0 0.0857146 0 0.0107021 0 -0.0418421 0 0 0.364898 0 -0.813315 -0.0555111 0.0399492 0.0692526 0 0 -0.362924 0 -3.43589 0 -2.55885 -1.0436 0 -0.0892354 -1.51704 0.00527297 0 -0.0377415 0 0 -0.0584012 0 -2.24325 0.823785 0 0 0.149522 0 0 0.0788857 3.10162 0.133206 0 -2.12316 0 0.496352 0.0926728 -0.107081 0.89094 0.0479278 -0.118985 -0.0427645 0.0770647 1.23319 4.40241 0.0154299 0 0 0 -0.271761 -0.00993226 0 0 0 0 0.204899 14.1992 -1.25425 3.66867 0.145839 -0.611887 2.03149 -0.0452187 0.0640101 -0.100298 0.221991 0 0 0 0 0 0 +127 0 0.525192 0.420118 -0.0129232 -0.0829229 0.23687 0.11543 0.245343 -1.51862 -0.10397 0.649795 0.00644901 0.299481 0.000612881 0.377574 0.0148351 2.08539 10.8808 0.141689 0.0439634 -0.598666 0.0201302 -0.0726752 -0.00117173 0.123069 -0.274807 0.372758 0.0562294 0.193288 0.880384 0.00614478 -0.0112022 0.167686 -0.603781 0.159227 0.0796756 0.00135834 0.316227 -3.80092 0.0520461 -0.271479 0.00474985 0.81296 0.00119208 2.09573 0.0292465 -0.209182 0.510817 0.502225 0.00880811 1.55862 0.103283 -10.3189 -0.0550928 0.0142408 -0.136137 1.06261 0.228301 0.266826 -0.130578 -0.000251667 -0.473991 -0.285699 -1.0876 1.23735 -0.583945 -0.165706 -0.529036 0.440543 0.0178706 -0.815783 -0.253754 0.186357 -0.302067 0.229224 0.015091 -1.61766 11.157 -0.708276 4.72796 0.902822 -0.90596 2.5358 -0.338122 0.337002 -0.71521 1.6658 -0.00816566 -0.00504821 -0.140702 0.0350736 -1.07164 0 0 0 0 0 -0.0129232 -0.0829229 0 0 0 0 0 0 0 0.00140672 0 0 0 0 -0.000593874 0 -0.000120139 0.000390876 0.006633 0 0 0.13146 0 0 -0.00473405 0.419936 0 0 0.0180608 0.0271784 0 -0.0371789 0 0.0106393 0 0 0.00140284 0 0 -0.162458 0 0 0 0 0 0 0 -0.0540257 0 0 -0.16825 0 0 0 0 0 0 0 -0.00488552 0 -0.0602051 0 0.0175692 0 0 0.0233449 0.0129895 0 0.0961727 0 0 0 0.286719 0 0.0266545 0 0 0.0853886 0 0 0 -0.00824206 0 0 0 0 0 0 0.23687 0 0.11543 0 0 0 0 -0.534088 -0.00636821 0 0 0.487835 0 0.0668489 0 0.00651615 0 0 0.666065 0 -0.358751 -0.201516 0.124517 0.0946015 0 0 0.0244481 0 11.0356 0 -2.76311 0.480919 0 -1.52226 -0.981572 0.0157059 0 -0.0749268 0 0 0.0185518 0 2.76495 2.15371 0 0 0.273791 0 0 -0.429113 0.109282 1.06737 0 -0.636798 0 1.24087 0.187235 -0.430965 -0.38868 0.311075 0.477921 -0.666401 -0.17639 1.84019 5.55125 -0.136005 0 0 0 0.270745 -0.0208844 0 0 0 0 0.0996247 4.61261 -3.83617 7.78204 -0.132911 -0.2478 1.46159 -0.27415 0.238446 -0.320944 0.911592 0 0 0 0 0 0 +128 0 0 0 -0.0516719 -0.263973 0 0 0 0 5.86639 3.6231 -0.27735 0 -0.141145 0 -0.782251 0 0 0.514915 -2.6941 0 0.059546 0 0.776184 0.869007 0 0 0.180943 0 0 0 1.72933 -1.6455 0 0.0255635 0 -0.217977 -0.789353 0 -0.872319 0 0.058774 -2.91305 -0.595979 0 0.794344 0 0 -6.10189 -0.106889 0 1.48863 0 3.42763 -3.22146 1.48408 0 4.0315 0.66996 -0.616424 1.30825 0 0 0 0 1.39782 0 -0.663049 -0.700237 -4.81944 -2.76876 -0.753672 -0.469424 -1.19093 0 0 2.0234 0 -8.17963 0 -1.50781 0.0898814 0 -3.36364 2.65504 -3.45917 0 0.887655 1.65445 -1.20255 1.56878 0 0 0.153141 0.0201765 0.183074 -0.041163 -0.0516719 -0.263973 0.0834195 -0.238889 -0.00200528 -0.000474055 -0.0477414 0.0356304 0.0168335 -0.0375918 0.0263346 -0.00490907 0.000477677 -0.016163 -0.0933781 0.28423 -0.0706003 1.4203 0.0701611 0.00230342 -1.06785 -2.1868 -0.000143236 0.011271 0.177257 -1.11154 -0.216193 0.00859491 -0.325872 0.969805 0.0346577 -0.196476 -0.00999916 -1.28852 -0.0106298 0.0896438 -0.165045 -0.0420136 0.00161229 -1.26996 0.522618 -0.030182 0.00118595 1.12473 -0.136827 -0.0191661 -0.00591093 -0.146675 0.0209509 0.0933489 0.139946 -0.0713807 -0.0845332 0.0372555 -0.0106767 -0.22667 0.0873223 0.032304 0.767756 0.0218064 -0.362366 -0.134725 -0.0950124 0.0242178 0.0667462 0.0821345 0.317412 -0.26969 0.0735358 0.00996948 -0.565656 0.0126437 2.03143 -0.109002 0.129962 0.15276 -0.203123 0.328585 -0.00472652 0.00748217 -0.017337 0.0230764 0.0096438 -0.0135241 0.0238916 -0.032886 0.0530025 0 0 0.183074 0 -0.041163 0 0 1.8153 0 -0.0879011 0.114215 -0.0437439 1.12183 0.0203749 0.283759 0.179207 -0.0634224 -0.0765174 0.674517 0 0 0 0 0.40276 0 -0.444473 0 -0.197816 0 0 -0.255725 0 0 0.00859844 0 0 0.133112 -0.00315934 0 -0.0125408 0 -0.118995 0 0 0 -0.00821042 -0.0640547 0 0 0.119997 0 0 0 0.218767 0 -0.768571 0 -0.433411 0.337796 -0.508906 0 0 -0.62867 0.370903 0.502697 0 -0.128936 0 -0.267021 0 0.773607 0.0133962 -0.00657262 0.259514 -0.11599 0.0847669 -1.12407 0 -5.38967 0 -3.73614 1.5601 0 -2.32931 1.26235 -0.595403 0 -1.39574 0.891237 -0.426006 0.112829 0 0 +129 0 0 0 -0.0948532 -0.157887 0 0 0 0 2.02846 1.53335 0.720761 0 0.131115 0 0.368872 0 0 0.368746 0.970648 0 0.171019 0 -0.226775 0.489036 0 0 0.000298091 0 0 0 0.141891 1.18966 0 -0.15365 0 0.156327 0.621962 0 1.78107 0 -0.394585 1.12635 0.29523 0 -3.84095 0 0 2.73725 -2.05049 0 0.25718 0 -0.558558 0.287097 -0.152258 0 -2.00182 -1.45933 0.356743 1.97508 0 0 0 0 0.317462 0 0.955634 -0.646781 -0.134364 -1.98395 1.03091 1.51917 0.878395 0 0 -0.953876 0 -4.1965 0 6.525 -3.28792 0 2.11926 -0.909929 -1.47899 0 11.1538 -6.97774 4.92944 -1.95051 0 0 0.563789 0.0742797 -0.197922 -0.0466675 -0.0948532 -0.157887 0.100212 -0.089157 -0.623686 -0.00226343 -0.0154242 0.0276059 0.0221498 -0.0951084 0.0729684 -0.0253337 0.0418252 0.137456 -0.0681961 0.710455 0.00636918 -0.172114 -0.569583 0.00676845 -0.542225 -0.787892 0.0132928 -0.0104035 -0.148529 1.51222 0.0649945 0.0175729 -0.00110396 0.318405 -0.0897188 -0.165361 -0.080056 -0.0618692 -0.0106586 0.129513 0.0553638 -0.256382 0.00314139 -0.119694 0.448005 0.459905 -0.010882 1.19207 0.0622161 -0.0268582 -0.0826462 -0.446675 0.00480804 0.0809447 -0.512133 -0.108219 -0.186995 0.187935 -0.0938468 -0.217104 -0.166771 0.168565 -0.383282 0.0859863 -0.646842 -0.203526 -0.0840272 -0.062589 0.493978 0.195821 0.106144 0.00962798 0.0358524 0.0773088 -0.0527831 0.038265 0.191463 -0.369971 0.473091 0.202389 -0.108 -0.0373103 -0.060484 0.0558983 -0.0505104 0.0602973 0.0410444 -0.034391 0.0264711 -0.00972389 -0.0159343 0 0 -0.197922 0 -0.0466675 0 0 0.528096 0 0.737865 -0.0473572 0.0284606 0.0334824 0.00104077 -0.0184092 -0.0215483 0.0623007 0.105985 -0.643134 0 0 0 0 -0.0923475 0 0.133315 0 0.435855 0 0 -0.143214 0 0 -0.0130616 0 0 -0.0335446 -0.006897 0 -0.0175052 0 0.109654 0 0 0 0.0148892 -0.055971 0 0 -0.104535 0 0 0 0.0699533 0 -0.0977288 0 0.0622991 0.0208621 -0.450766 0 0 0.774199 0.125074 0.00169185 0 -0.0394299 0 0.00415618 0 -0.0150091 0.0886595 -0.066253 0.204892 -0.0978248 -0.0424269 -0.397773 0 0.263289 0 3.00158 -0.162863 0 1.31062 -0.513579 0.160402 0 1.59828 -0.648161 0.238889 0.206634 0 0 +130 0 0 0 -0.119656 0.02371 0 0 0 0 -5.11606 0.533457 0.379818 0 -0.0260791 0 0.148104 0 0 -0.0267706 0.905335 0 -0.0491146 0 -0.47533 0.0517704 0 0 -0.59911 0 0 0 -1.57412 -0.0722749 0 -1.92384 0 0.143856 -2.38394 0 0.895011 0 -0.137269 -7.98317 0.554171 0 -0.293226 0 0 0.329666 0.209278 0 -0.672851 0 -0.873655 -0.203151 0.38667 0 -0.189539 0.788357 0.239737 -0.864839 0 0 0 0 1.18046 0 -1.20985 -1.97484 3.38795 -0.110419 0.200481 -0.742711 2.7852 0 0 0.978133 0 0.27661 0 3.38949 -1.76595 0 0.871186 -0.410939 -0.832786 0 -1.23357 -0.336789 0.14327 -0.288504 0 0 -0.124567 -0.0164118 0.153578 -0.00317149 -0.119656 0.02371 -0.0837953 -0.0368426 0.102505 0.000400768 -0.00589098 -0.0341544 0.0205813 0.0440336 -0.0207189 0.00420561 -0.022251 -0.0759826 0.113483 -0.221363 0.0284821 -0.289495 0.348712 -0.00182353 -0.202441 3.45513 -0.00613745 -0.00937278 -0.131053 -3.58658 -0.0372699 0.00265287 0.455372 -0.999151 0.0131743 -0.253899 0.0152114 2.2267 -0.0272876 0.0645274 0.296326 0.0371512 0.00109344 -1.24957 -0.498818 -0.287028 0.00193781 -1.14205 -0.173075 7.54081e-05 0.0233949 0.138916 0.0343856 -0.110914 -0.265178 0.17343 0.0651246 -0.0362153 0.0320491 0.209843 -0.0109007 -0.00298351 2.2909 -0.0201073 0.384429 0.468732 -0.00302531 -0.0233144 -0.546578 -0.227203 -1.44281 0.408445 -0.436186 -0.0225632 0.186309 -0.0100421 1.99881 0.0814629 -0.0958121 0.0766042 -0.166682 0.182982 0.0264882 -0.0231269 0.0329331 -0.0372849 -0.00800655 0.000704119 -0.000992383 -0.0124417 0.00913721 0 0 0.153578 0 -0.00317149 0 0 -0.405979 0 -1.56732 0.0376675 -0.0558144 -0.0803668 0.00516561 0.0542249 -0.0525041 -0.0458119 -0.0317203 0.17284 0 0 0 0 -0.0728297 0 -0.420672 0 -0.147344 0 0 -0.0742445 0 0 -0.0046472 0 0 -0.0166439 0.00289182 0 -0.00367139 0 -0.287309 0 0 0 -0.00344171 0.0185743 0 0 -0.169383 0 0 0 0.0218407 0 0.23379 0 -0.992893 0.364115 0.946417 0 0 -0.60697 0.254236 0.103203 0 -0.227142 0 -0.0814489 0 -0.484328 0.0804629 0.0801473 -0.218652 -0.0181491 0.020037 0.251486 0 2.32473 0 0.567963 0.78737 0 0.392779 0.124764 -0.0562621 0 -0.552235 0.201505 0.101087 -0.0901356 0 0 +131 0 -0.379586 -0.163727 0.0551615 -0.00560592 0.261271 0.0729641 -0.107721 -0.055023 0.149762 -0.977266 0.377666 0.719905 -0.0910887 -0.241831 0.282241 -1.90566 -7.15753 -0.473435 1.56057 -1.43592 -0.246057 -0.0432448 0.103388 -0.511635 0.140086 -0.553603 -0.179745 -0.0618069 -1.02394 -0.035912 0.125184 0.604417 0.777257 -0.325691 -0.0397738 0.178927 -0.412066 3.97978 1.44758 -0.218071 -0.144236 -0.0317785 0.715081 1.68539 -0.215459 -0.024028 -0.256007 3.16982 -1.30799 0.327476 -1.5486 0.0895606 -1.56422 1.62126 -0.447364 0.994147 -2.11827 0.318627 1.12213 0.176433 -0.608558 0.605875 -2.62668 0.32444 -1.42562 0.737181 0.106013 -0.429245 -0.0250864 1.46092 -0.597382 0.701518 -0.0680473 3.02351 0.36013 -0.975013 -22.5509 -2.46993 1.92923 -3.14735 1.26456 -2.60005 2.29312 -1.94502 1.51075 0.912965 0.926318 -3.25697 2.30234 -1.37023 0.962255 0 0 0 0 0 0.0551615 -0.00560592 -0.0026274 0 0 0 0 -0.00467149 0 0.0684374 0 0 -0.00320178 -0.0231434 0.00384205 0 0.033953 -0.604813 0.00236464 0 0 2.10198 -0.00161695 0 -0.0995639 -1.14678 0 0 0.301287 -0.981585 0 0.208386 0 1.11276 0 0 0.156947 0 0 1.36 -0.066616 -0.0450442 0 -0.0319701 0.0612481 0 0 0.291845 0 -0.0219385 -0.965663 0.0236199 0 0 0.0101569 -0.0059467 0 -0.0706301 0.0577488 -0.0180546 0.223561 0.195286 0.107226 0 0.0876187 -0.0199121 -0.717068 -0.0599947 -0.236632 0 0 0 -2.30048 0.153377 -0.115958 -0.106302 0.12089 -0.166799 0.00515822 -0.005796 0.0052697 5.28655e-05 0 0 0 0 0 0 0.261271 0 0.0729641 0 0 0 0 -0.0206563 1.08386 0 0 0.168741 0 0.0202673 0 0.0224269 0 0 -0.0685608 0 0.0903262 -0.0356147 -0.0217411 -0.00883627 0 0 0.220397 0 0.500873 0 0.985688 -0.0928895 0 -0.438802 0.251845 -0.00425163 0 0.00108641 0 0 0.108262 0 -0.175004 0.00292485 0 0 -0.00277855 0 0 0.220566 -1.74319 -0.14258 0 2.20464 0 0.222999 0.111098 0.0386207 0.168094 0.00911715 -0.403525 0.0486978 -0.14329 -1.07943 3.20005 -0.120408 0 0 0 0.189136 0.101788 0 0 0 0 -0.281719 -13.0166 -3.52843 4.29447 -1.28334 0.895506 -0.629146 -0.213582 0.20827 -0.160013 0.247802 0 0 0 0 0 0 +132 0 0.00310037 0.35892 0.318713 0.361563 -0.270927 -0.0728157 0.470934 1.38868 0.0696219 -3.05877 -0.131452 0.193034 -0.521692 0.732847 -0.15498 1.17233 4.12087 -1.18216 -0.63693 0.0747264 -0.670789 -0.641128 0.611047 -1.38019 0.471791 0.406133 0.528363 0.0577473 0.671235 0.155573 0.586022 -0.28274 -1.20611 1.0686 0.180627 -0.0291507 0.52385 -1.9746 -0.100309 -0.135547 -0.745187 1.57331 0.0787937 1.32862 -0.837569 -0.0650371 0.209375 -1.2446 0.0715663 1.40429 -1.14127 -8.25304 0.479348 -0.836433 0.554345 -2.24532 -0.0595609 0.146768 1.61616 0.533768 1.68401 0.329009 5.28889 -0.8592 -0.75968 -0.160975 3.20966 0.917103 0.0760863 2.11842 -0.0805558 0.0961435 -1.01005 0.163957 -0.395101 -3.75577 7.68836 8.95467 -6.14328 5.96092 -2.24276 -1.0519 6.17411 -2.60002 1.8478 -1.11877 3.60094 -0.348813 -1.04936 0.499482 -0.630797 0 0 0 0 0 0.318713 0.361563 -0.0157996 0 0 0 0 -0.0135679 0 0.0079463 0 0 -0.0117809 -0.0370178 0.0044958 0 -0.0078164 0.140172 0.139924 0 0 0.505912 -0.0025668 0 -0.140754 0.0481295 0 0 0.0284044 -0.028283 0 -0.350184 0 0.162893 0 0 -0.00590056 0 0 -0.518871 -0.193819 -0.171022 0 -0.228965 -0.135212 0 0 0.14508 0 -0.0623899 0.0618877 0.0786555 0 0 0.0213768 0.00893335 0 -0.0130198 0.360256 -0.0325704 -0.323306 0.00914634 0.0305935 0 -0.136914 -0.101655 0.0473617 -0.141389 0.044534 0 0 0 0.947075 0.0681535 8.5916e-05 0.0537801 -0.0593394 0.0603615 0.0146995 -0.017002 0.0211002 -0.0168019 0 0 0 0 0 0 -0.270927 0 -0.0728157 0 0 0 0 -0.0732992 0.856998 0 0 -0.324321 0 -0.0402063 0 0.0052994 0 0 -0.0128208 0 -0.0361873 0.000210416 -0.0175234 -0.00500815 0 0 0.0464009 0 3.54477 0 1.00048 0.397712 0 0.027153 0.125766 0.000145348 0 -0.0103169 0 0 0.104963 0 1.18799 -0.356525 0 0 -0.046821 0 0 -0.139756 1.46735 0.0326775 0 0.463832 0 0.189721 0.130603 -0.04632 0.149105 -0.0452793 -0.134306 0.385141 -0.0580507 -0.845925 -2.3579 0.0275123 0 0 0 0.174142 0.0674751 0 0 0 0 -0.217855 -5.93508 1.0597 -1.60234 -0.0129471 0.000579894 -0.676911 0.369375 -0.191684 0.10776 0.115914 0 0 0 0 0 0 +133 0 -0.16446 0.396687 0.269523 0.124298 -0.0686128 -0.0537119 0.361289 1.08891 1.11518 -1.77992 0.00790596 0.225097 -0.473531 0.501504 0.0606894 0.792289 0.652382 -0.948291 -0.15209 0.48657 -0.55264 -0.720986 0.615752 -0.840781 0.385138 0.381052 0.696433 0.0151354 0.465468 0.211988 0.905333 0.160124 -1.40797 1.08463 0.136303 0.0258528 1.87895 -3.25298 -0.139966 0.086682 -0.675114 2.83077 0.0491753 0.115089 -0.63863 0.0196791 0.0848234 -0.144779 -0.00496184 -0.0537736 -0.273928 -5.03714 0.263496 -0.0902515 0.0528175 -0.445314 0.490846 -0.5022 0.635638 0.75335 0.968589 -0.00318493 2.10302 -0.865944 0.0398993 -0.462748 1.81435 0.471737 -0.968194 0.737111 0.59207 0.0419015 -1.87626 -1.21072 -0.155806 -2.80197 16.4535 7.21379 -4.47608 4.81251 -2.40805 1.8042 2.73907 -1.00847 1.08099 -1.12484 2.74565 -0.1295 -0.700509 0.379448 -0.437426 0 0 0 0 0 0.269523 0.124298 0.033814 0 0 0 0 0.0173157 0 -0.0291049 0 0 0.0159115 0.171183 -0.198433 0 -0.0299296 0.0866674 -0.213024 0 0 -1.32838 0.012012 0 -0.140008 0.72419 0 0 -0.145507 0.225295 0 -0.234435 0 -0.822509 0 0 -0.100661 0 0 -0.0707332 0.246765 0.22648 0 0.480931 0.0997369 0 0 -0.39679 0 0.067056 0.106645 -0.0844443 0 0 -0.0348311 -0.0584805 0 0.0553094 -0.528854 0.058339 0.222581 -0.12387 -0.0761803 0 0.186497 0.0985767 0.353036 0.0136986 0.146488 0 0 0 0.0589518 -0.176696 0.146552 -0.0018451 0.000694396 0.0108792 -0.020662 0.0236357 -0.0275735 0.0254048 0 0 0 0 0 0 -0.0686128 0 -0.0537119 0 0 0 0 0.0555064 0.261285 0 0 -0.35719 0 -0.0536115 0 0.00954643 0 0 -0.0662406 0 -0.0520617 0.0320417 -0.0225057 -0.0110516 0 0 0.0491911 0 -0.595705 0 -0.350365 0.0313854 0 0.311317 -0.00932453 -0.00569346 0 0.00498473 0 0 0.0451959 0 -0.0104712 -0.38765 0 0 -0.0650259 0 0 -0.0771699 0.507309 0.222279 0 -0.660725 0 0.113215 0.0969699 -0.167958 0.161784 -0.0500811 -0.482568 0.0210295 0.0271827 -0.399455 -2.82608 0.0264443 0 0 0 0.0543933 -0.0460559 0 0 0 0 -0.11084 10.7213 3.60006 -2.16235 0.698044 -0.205384 -0.36701 0.158138 -0.141406 0.271682 -0.355638 0 0 0 0 0 0 +134 0 -0.716357 -0.448385 -0.157533 -0.0447554 0.0641812 -0.00563591 -0.17429 -0.463372 -0.699592 1.59943 -0.00480419 -0.769028 0.284489 -0.826231 -0.0667661 -0.464122 -2.47975 0.643996 -0.440209 -0.700621 0.412103 0.56356 -0.373016 0.998052 -0.356828 -0.080705 -0.261393 -0.0137253 -0.0104244 -0.178205 -0.549714 -0.0351377 1.91854 -0.34712 -0.129102 -0.0411227 -0.536977 8.26954 -0.192423 -0.131408 0.404962 0.17641 -0.248961 -3.56964 0.374437 -0.0160074 -0.0300435 -0.545652 0.349406 0.712451 0.550264 1.05856 0.151442 -0.206912 0.0533572 -1.04505 0.0265285 0.0332383 -0.763092 -0.471131 -1.41165 -0.932255 -2.4585 1.13903 -0.654035 1.01166 -1.43147 1.08587 0.64489 -0.430556 -1.37239 -0.218204 0.477642 -0.53745 -0.0654301 1.84757 -38.1993 -11.1099 1.90658 -9.87125 5.4577 -6.93211 -3.20374 1.69613 -0.984366 0.345528 -1.61948 0.826532 -0.204018 0.105004 0.012615 0 0 0 0 0 -0.157533 -0.0447554 -0.0134801 0 0 0 0 -0.00677431 0 0.069052 0 0 -0.0102426 -0.103241 0.0867741 0 0.0333598 -0.347504 0.127583 0 0 -0.357943 -0.00723872 0 -0.105724 1.39659 0 0 -0.00916173 0.134001 0 -0.0373684 0 -0.206023 0 0 -0.0086233 0 0 0.659943 -0.0966685 -0.146442 0 -0.192745 -0.0380995 0 0 0.37723 0 -0.0329701 -0.067056 0.0274901 0 0 0.0241095 0.0182588 0 -0.0709444 -0.145881 -0.0377866 -0.723921 -0.00633237 0.11245 0 -0.0694824 -0.0226334 0.150972 -0.0207563 0.00357814 0 0 0 -1.11589 0.193926 -0.218405 -0.0618212 0.069851 -0.0793311 0.0137846 -0.0156496 0.0176679 -0.0155119 0 0 0 0 0 0 0.0641812 0 -0.00563591 0 0 0 0 0.0330528 0.2335 0 0 0.319031 0 0.0507266 0 -0.00684414 0 0 0.0614979 0 0.173674 0.0133436 0.0243002 0.0125422 0 0 -0.00552464 0 -0.630949 0 2.54189 -0.0325555 0 0.00586909 0.548457 0.00575764 0 0.00544646 0 0 0.00347308 0 -0.21656 0.0182429 0 0 0.0321997 0 0 -0.00177852 -0.526881 0.105226 0 0.599735 0 0.554997 0.092578 -0.0131919 0.120043 -0.0112713 0.0172322 -0.108243 -0.0180393 -0.333089 -1.803 -0.00612397 0 0 0 0.0441427 0.0448529 0 0 0 0 -0.0639373 -19.7021 -4.30785 2.18276 -1.73992 1.22118 -1.42361 -0.24283 0.16356 -0.162058 -0.0695475 0 0 0 0 0 0 +135 0 0.281779 0.155674 0.176186 0.286616 -0.217754 -0.0948474 0.570041 1.15931 -0.737219 -2.36922 -0.0995514 -0.177143 -0.256858 0.0976272 0.02031 -0.180578 -0.877588 -0.65037 0.261562 -0.901821 -0.38297 -0.299764 0.249692 -1.12425 0.202828 0.0105114 0.244228 0.00969056 0.075917 0.0190463 0.00286687 0.0348975 -0.520796 0.467743 0.0975062 -0.0445024 0.357553 -0.486868 -0.175881 -0.209171 -0.327042 0.842723 -0.0606315 -1.33253 -0.341372 -0.0450048 0.0332301 0.365795 0.402476 0.6781 -0.408998 3.96035 -0.651568 0.522868 -0.266999 -2.19518 -0.928737 -0.628821 0.887812 -0.0929278 1.66322 -0.0649755 0.751556 0.490042 -0.537447 -0.421165 0.263247 1.37324 0.95291 1.60681 0.249675 -0.428766 -0.00879173 -2.18826 0.081977 0.938265 3.06149 7.95966 -4.51865 4.52223 -1.18889 -0.109008 5.2387 -2.09238 1.92282 -1.42935 1.47647 0.00618433 0.04238 0.18963 -0.0918703 0 0 0 0 0 0.176186 0.286616 -0.0220539 0 0 0 0 -0.0158788 0 0.0709053 0 0 -0.0204396 -0.131961 0.184751 0 0.0352073 0.147984 0.40961 0 0 -0.581852 -0.00922913 0 0.230462 0.866256 0 0 -0.130624 0.159134 0 0.623637 0 -0.198042 0 0 -0.056895 0 0 1.27435 -0.22659 -0.293737 0 -0.31564 -0.073575 0 0 0.730519 0 -0.0662699 0.159428 0.070865 0 0 0.0367635 0.025209 0 -0.129846 -0.318079 -0.0404542 0.211013 -0.0784298 0.152801 0 -0.0918131 -0.0770067 0.555463 -0.131419 0.191427 0 0 0 -2.11032 0.366791 -0.529887 -0.118818 0.135057 -0.154038 0.0250497 -0.0290755 0.0363584 -0.0512266 0 0 0 0 0 0 -0.217754 0 -0.0948474 0 0 0 0 -0.133349 0.427462 0 0 -0.199986 0 -0.0147151 0 -0.00633375 0 0 0.0323163 0 -0.112677 -0.0287215 0.0323907 0.00742894 0 0 -0.0406927 0 2.5537 0 -0.942956 0.102337 0 -0.240029 -0.265592 0.00628951 0 -0.0155774 0 0 0.0372888 0 0.688583 -0.342145 0 0 -0.0244823 0 0 -0.176091 0.6737 -0.245027 0 0.015498 0 -0.329577 0.0476707 0.0780071 -0.0763254 0.0274801 0.27528 0.268407 -0.0329071 -0.210461 2.32506 -0.00114412 0 0 0 0.0602399 0.0085328 0 0 0 0 -0.0456577 7.20283 2.2814 -0.695015 0.935518 -0.955705 1.23836 0.25189 -0.130513 0.0380026 0.300085 0 0 0 0 0 0 +136 0 -0.388896 -0.7719 -0.35046 -0.239887 0.34989 0.111224 -0.109494 -0.568066 -0.604236 3.4797 0.240877 0.631945 0.594096 0.585185 0.147247 -2.18726 -8.66318 1.34798 0.333102 -0.193738 0.854264 0.951089 -0.723857 2.14286 -0.161291 -0.715527 -0.588627 -0.0652934 -1.00894 0.109976 -0.8369 0.365234 2.5153 -1.1417 -0.0744822 0.063827 -1.03307 7.50071 0.746594 0.0525301 0.817162 -2.21802 0.122359 2.26284 0.768588 0.0326607 -0.261989 0.972561 -0.495744 -0.244181 0.320205 0.837554 -0.158197 0.435913 -0.397019 -1.28991 -1.04952 -0.714974 -2.16735 -0.648579 -0.198777 0.231512 -4.00021 0.398383 -0.684897 0.279878 -1.71005 0.293771 0.379251 -3.72828 0.0926269 0.668473 1.25344 0.278261 0.292541 2.45407 -38.4545 -19.8207 5.0629 -14.6163 4.97129 -3.82921 -8.1641 1.78717 -0.532523 0.741561 -3.32422 -0.772122 1.71682 -1.5576 1.22095 0 0 0 0 0 -0.35046 -0.239887 -0.0141484 0 0 0 0 -0.000871252 0 -0.00961862 0 0 -0.0050073 -0.0758774 0.091349 0 -0.0114973 0.0369714 0.129092 0 0 0.070673 -0.00534185 0 0.069808 -0.565828 0 0 -0.0291142 0.270201 0 -0.154113 0 -0.0671847 0 0 -0.0260635 0 0 -0.173497 -0.012111 -0.0695879 0 -0.198954 -0.035209 0 0 0.140323 0 -0.00600172 0.120529 0.00713699 0 0 0.00979565 0.03789 0 -0.00997885 -0.163778 -0.0118595 0.573655 -0.0353977 -0.00773527 0 -0.014681 -0.00025362 0.0748803 0.0373379 0.0440203 0 0 0 0.211773 0.0468355 -0.0981689 0.0101804 -0.0131721 0.0232124 0.00594535 -0.00690019 0.00861187 -0.0162871 0 0 0 0 0 0 0.34989 0 0.111224 0 0 0 0 0.0612275 -0.380351 0 0 0.397075 0 0.0556838 0 0.000609176 0 0 -0.0616842 0 0.205469 -0.0368107 0.00235311 -0.00515806 0 0 0.0319272 0 -3.42922 0 -0.0275692 -0.10005 0 -0.446383 0.173846 0.00339629 0 0.010291 0 0 -0.0578464 0 -0.48741 -0.19879 0 0 -0.0300584 0 0 -0.0613511 -0.245808 -0.0450233 0 -1.11165 0 1.25855 -0.0900319 0.0644865 0.129275 0.0724005 -0.359235 -1.0935 0.0148483 0.457011 -0.621353 -0.100037 0 0 0 -0.0698582 -0.0478224 0 0 0 0 0.137669 3.70063 -1.35607 2.78574 -0.541461 0.376247 -0.151302 -0.323547 0.16955 -0.0937267 0.136879 0 0 0 0 0 0 +137 0 -1.36104 -0.20198 -0.411044 -0.41553 0.260467 0.139995 -0.993504 -2.83427 -0.427939 3.13989 0.182249 -0.379525 0.602854 -0.57062 -0.0691182 -1.21182 -5.20354 0.779703 -0.53143 -0.252767 0.301435 -0.223402 -0.662931 1.10546 -0.72595 -0.367401 -0.482463 -0.0780323 -1.02761 -0.19803 -0.649756 -0.0176614 -0.351909 -0.998322 -0.239165 -0.0071756 -1.81337 0.419764 0.639944 -0.00480756 0.820382 -5.21077 -0.0808082 -0.128955 0.429847 0.0125512 -0.283256 -0.455042 -0.627529 -0.118586 0.623682 -3.57796 0.295664 -0.747999 0.126072 -0.724457 -0.173147 0.17989 -0.918982 0.0337089 -0.289327 -0.044687 0.954535 2.49707 0.971402 1.19845 -1.9502 -1.83386 -0.587287 -0.579583 -1.10325 0.585736 0.887833 1.26424 0.206181 0.60824 -2.30934 -6.05247 4.42911 -1.5031 0.196829 -0.152602 -6.13065 3.0871 -2.70869 3.81603 -2.21162 -1.04342 2.20023 -2.10132 2.11984 0 0 0 0 0 -0.411044 -0.41553 -0.0277912 0 0 0 0 -0.00380527 0 -0.0105922 0 0 0.00628766 -0.0424135 0.0661378 0 0.00295241 -0.67975 -0.0973564 0 0 0.269791 -0.0032761 0 0.190672 -3.08098 0 0 0.0239297 -1.35555 0 -0.142484 0 -0.084283 0 0 -0.0192494 0 0 -0.444831 -0.0506814 0.0927392 0 -0.386298 0.0617836 0 0 -0.0730942 0 -0.0290255 0.337131 0.0491965 0 0 -0.0184275 0.0605353 0 0.0395637 0.0843317 0.0343847 3.00415 0.0533922 -0.0675241 0 -0.0612925 -0.0748377 0.0787237 0.326546 -0.104891 0 0 0 0.852175 -0.168736 0.252598 0.0255337 -0.0427638 0.0949552 -0.0101892 0.0147308 -0.0236984 0.0366388 0 0 0 0 0 0 0.260467 0 0.139995 0 0 0 0 -0.0415575 -0.828305 0 0 0.559205 0 0.0695474 0 0.00146622 0 0 -0.0224416 0 -0.0667879 -0.0706724 0.0230018 0.00111786 0 0 0.0367151 0 -2.257 0 1.23304 -0.0832433 0 -0.449962 0.202438 0.00346192 0 -0.008653 0 0 -0.0968847 0 -0.302698 0.322614 0 0 0.0496761 0 0 -0.160026 -0.611289 -0.271331 0 -0.773828 0 0.524977 -0.312643 0.335384 0.0153801 0.0252812 0.0680277 -0.264508 0.125951 0.630443 -2.65362 0.0224705 0 0 0 0.0120396 -0.100607 0 0 0 0 0.173482 -8.09703 -3.06632 1.79056 -1.01365 0.95285 -1.00147 -0.549345 0.407131 -0.364564 0.278648 0 0 0 0 0 0 +138 0 -0.0362446 -0.149635 0.109832 0.0595186 -0.108745 -0.0620116 0.352973 1.77569 0.383104 -2.42162 -0.133175 0.54582 -0.263982 -0.575993 -0.0786565 -1.0261 -4.04027 -0.701751 -0.189345 0.164112 -0.389493 -0.0923688 0.32968 -1.11756 0.358327 -0.190537 -0.396873 0.0514182 0.524722 0.0213031 0.406686 -0.129708 -0.375772 -1.19026 0.0885235 -0.0346928 -1.06901 -1.73088 -0.188627 -0.0105861 -0.50811 -2.94043 0.0306515 0.200275 -0.76059 -0.00619863 0.168518 -0.306012 -0.248137 -0.421105 -0.54476 4.43828 0.155295 -0.329445 0.178718 -1.16519 0.0644272 0.178638 1.3888 0.909756 -1.82489 -0.111238 -0.0994133 -1.15873 0.253811 -0.38334 0.953231 -0.923048 -0.364834 2.0631 0.347256 -0.0116857 0.500879 0.880081 -0.136581 0.835113 11.9909 5.72627 -2.40148 1.42977 -1.07122 2.32186 5.74167 -2.90634 2.65373 -2.45498 3.91333 -0.581497 -0.565378 0.930497 -1.08244 0 0 0 0 0 0.109832 0.0595186 -0.0445646 0 0 0 0 -0.0265886 0 -0.00621858 0 0 0.00116794 0.0478107 -0.0133514 0 -0.00436013 -0.609824 0.0805728 0 0 0.350813 0.00305216 0 -0.240973 -7.03713 0 0 -0.00228667 -2.42181 0 -0.186432 0 0.250776 0 0 0.00764344 0 0 -0.40528 -0.369339 0.0287415 0 -0.618855 -0.00757151 0 0 -0.0945573 0 0.0152874 0.0909989 -0.0158281 0 0 0.0116938 0.147177 0 0.0214425 0.254313 -0.037534 7.26573 0.0491585 -0.0502543 0 -0.0958914 0.0129115 -0.232386 1.16264 -0.114496 0 0 0 -0.513097 0.133554 -0.42298 0.00537567 0.0100689 -0.0295215 0.000657414 -0.00618837 0.0184932 -0.0483845 0 0 0 0 0 0 -0.108745 0 -0.0620116 0 0 0 0 0.0317404 -0.422309 0 0 -0.194346 0 -0.0253642 0 -0.0118195 0 0 -0.0372817 0 -0.1403 0.053493 0.0142303 -0.00819752 0 0 -0.123801 0 -4.47541 0 -0.537229 -0.355543 0 0.412581 -0.38975 0.000584792 0 0.00346524 0 0 -0.0428915 0 -1.39102 -0.134411 0 0 -0.0206967 0 0 0.0164748 0.536868 0.313963 0 -0.506521 0 -0.215604 0.129213 -0.234302 0.665794 0.0110562 -0.606714 0.0625113 -0.0996018 1.18083 1.89295 -0.0779568 0 0 0 -0.0263744 0.0791055 0 0 0 0 0.183768 5.41643 2.50906 -2.50115 0.718643 -0.610085 0.476502 0.176445 -0.249895 0.31527 -0.437758 0 0 0 0 0 0 +139 0 0.167365 -0.0552431 0.0613777 0.111914 0.0580599 -0.128693 0.743421 2.355 -0.165537 -2.28461 -0.317565 -0.139204 -0.0652639 -0.537309 -0.104704 0.121703 -3.86167 -0.598363 -0.817319 0.692295 -0.288209 0.103224 0.0536192 -0.960322 0.485684 0.301486 -0.443925 0.0608964 0.918935 -0.0473908 -0.0206837 -0.276589 0.504589 -1.00964 0.116294 -0.125362 -2.46369 2.05614 -1.12569 0.118014 -0.0589529 -5.32757 -0.443832 -2.48439 0.0754282 0.0224656 0.237872 -2.07545 0.96568 0.149483 -0.559025 -5.29773 -0.193805 -1.05046 0.372101 -1.71427 0.562412 0.449201 1.169 -0.254208 0.214614 -0.263993 -0.528123 0.671982 1.42505 0.530472 -0.960434 -4.15839 0.320534 1.0793 -0.538758 -1.13153 -0.165119 -1.39487 -0.0611394 -1.56397 -6.25049 3.17973 -6.13342 1.65379 -0.206993 -2.49677 5.72298 -2.41931 2.06382 -3.11256 -0.388087 3.0017 -2.44182 2.44992 -1.89565 0 0 0 0 0 0.0613777 0.111914 0.00171903 0 0 0 0 -0.000720597 0 0.0912759 0 0 -0.0085916 -0.0453356 0.20071 0 0.041895 -0.174194 0.453197 0 0 -0.893973 -0.00318452 0 -0.417218 -2.6247 0 0 -0.0692591 -0.958617 0 -0.6135 0 -0.342531 0 0 -0.021809 0 0 -0.729726 -0.00968554 -0.121602 0 0.0251911 -0.176504 0 0 0.145928 0 -0.0166739 -0.326216 0.0493015 0 0 -0.00485151 -0.0510979 0 -0.00240724 -0.00358649 0.0610067 -0.0528924 -0.129215 -0.0264736 0 -0.00598331 -0.0817302 1.20988 -0.684665 0.258558 0 0 0 -0.498109 0.177716 -0.668194 -0.0178996 0.0186621 0.0439816 0.00563264 -0.00873159 0.0199189 -0.0726405 0 0 0 0 0 0 0.0580599 0 -0.128693 0 0 0 0 -0.0145686 -0.172269 0 0 0.0169102 0 0.00900335 0 -0.0130979 0 0 -0.152925 0 0.0683256 0.0132528 0.0685146 -0.0214909 0 0 -0.12769 0 -4.12678 0 -0.415138 -0.144384 0 0.0642752 0.116254 0.00905149 0 0.00124536 0 0 -0.0243028 0 -0.787393 -1.27477 0 0 -0.160175 0 0 -0.233793 -0.268596 -0.0298793 0 -0.261256 0 0.269946 0.0811656 -0.00281962 -0.0611451 0.142 -0.161391 -0.317971 0.0201576 -0.111228 -1.30671 -0.111899 0 0 0 0.0368548 -0.0716143 0 0 0 0 0.0416127 11.6905 2.52891 -1.28484 1.36366 -0.905276 0.688808 0.00718132 -0.043155 0.0460433 -0.0378556 0 0 0 0 0 0 +140 0 -0.391984 -0.342327 -0.170674 -0.1046 0.179969 0.00651787 -0.238126 -0.496233 -3.8978 1.38722 0.125132 -0.500627 0.0877624 -0.640694 0.123278 0.0918662 0.3022 0.610732 0.743896 -0.505235 0.481161 0.591016 -0.970388 1.09871 -0.240213 0.0324715 -0.340965 -0.0222812 -0.507201 -0.256591 -2.02998 0.216704 1.79847 -0.606018 -0.137952 0.063226 -0.783189 6.36931 0.637428 -0.0571832 -0.271991 -1.0169 0.321243 -1.46582 -0.998962 -0.00556102 -0.104618 1.35736 0.116866 -1.08698 -0.249181 1.29174 -1.1181 0.39412 -0.251557 2.74236 -0.188072 -0.0973235 -1.06016 -0.412484 -0.646945 -0.0784122 -4.53053 1.30435 1.40116 1.14164 -2.88387 -2.12995 5.06903 -2.68112 -0.620744 -0.323722 2.90802 -0.364819 0.201135 0.990461 -25.7066 -8.12759 1.27529 -4.87384 2.21015 -3.32904 -2.16505 1.26457 -1.21154 1.17233 0.71527 -0.389906 0.494708 -0.281904 0.317966 0 0 0 0 0 -0.170674 -0.1046 -0.012985 0 0 0 0 -0.012711 0 0.0297716 0 0 0.0117911 0.126392 -0.142602 0 0.00335574 -0.176176 -0.188778 0 0 0.0627337 0.00891709 0 -0.187102 3.68889 0 0 0.0249873 0.740919 0 -0.121496 0 0.189577 0 0 0.0272178 0 0 0.672071 -0.182825 0.166779 0 -0.18847 0.0639393 0 0 -0.0779531 0 -0.0446297 -0.106162 0.0548393 0 0 -0.00921447 0.00968403 0 -0.0290482 -0.612198 0.0188706 -2.85589 -0.0468021 0.0531037 0 0.00619264 -0.0644671 0.334638 -0.416163 0.119908 0 0 0 -1.02695 -0.0148771 0.00725746 -0.0756795 0.0853291 -0.0771153 -0.0110961 0.0136158 -0.0221366 0.0250439 0 0 0 0 0 0 0.179969 0 0.00651787 0 0 0 0 -0.0538696 0.46597 0 0 0.362393 0 0.0522209 0 0.00137515 0 0 -0.0367906 0 0.186083 -0.0363367 0.0220977 -0.00152138 0 0 0.0659081 0 0.699148 0 1.06562 0.033393 0 -0.353434 0.344227 0.00473516 0 -0.00470242 0 0 0.0253931 0 0.0483557 -0.254633 0 0 -0.0177932 0 0 0.0620913 -0.798169 -0.219431 0 0.763215 0 0.339083 0.0344739 0.145334 0.194862 0.085401 -0.1259 0.022936 -0.0341637 -0.868414 0.0586058 -0.0876048 0 0 0 0.0243871 0.0822009 0 0 0 0 -0.16557 -10.7759 -3.73911 2.97088 -1.02544 0.649376 -0.469178 -0.361894 0.275873 -0.247925 0.207133 0 0 0 0 0 0 +141 0 -0.430662 -0.503415 -0.115123 0.248078 -0.140586 -0.0538369 0.325194 0.958508 3.53613 0.777697 -0.0702114 0.0382125 0.597683 -0.0423096 -0.161962 -0.989301 -1.90938 0.902696 -0.796442 -0.193395 0.72312 0.882405 -0.0671927 1.23171 -0.00470646 -0.458303 -0.3108 0.00136794 0.175788 -0.0142325 0.74917 -0.359146 2.07061 -0.206194 -0.0244189 -0.037721 -0.243638 5.74937 -0.320012 -0.0126382 0.672859 1.48706 -0.0974271 -0.570609 0.924881 0.00098474 0.0180739 -1.7788 -0.251356 0.166468 -0.0636368 -6.98346 1.5355 -0.334033 0.207826 -1.92749 1.32564 -0.083913 -0.973213 -0.164666 0.542355 -0.0462387 -4.90647 1.23056 -0.410239 0.37351 -3.17848 -0.607664 -4.43319 -2.52669 0.0190906 0.157435 -2.65582 -0.9771 -0.0315807 -1.25014 -26.2778 -6.15693 0.0226382 -5.01492 2.68354 -3.04941 0.151538 -0.918348 0.975252 -1.63421 -0.662227 0.264278 -0.352839 0.128764 -0.110202 0 0 0 0 0 -0.115123 0.248078 0.0322729 0 0 0 0 0.0119691 0 -0.00425092 0 0 -0.00503611 0.0721375 -0.0561402 0 -0.0275045 -0.116527 0.166596 0 0 -1.05865 0.00522961 0 0.119493 0.0916871 0 0 -0.137206 0.0381893 0 0.122112 0 -0.344203 0 0 -0.0439307 0 0 0.215431 0.168087 -0.0738012 0 0.454678 -0.0484577 0 0 0.0406134 0 0.0320184 0.0108418 -0.0524519 0 0 0.00529365 -0.0755885 0 -0.0138456 -0.0378476 -0.001296 0.132201 -0.0981962 0.008016 0 0.0769033 0.071139 0.254852 -0.0876054 0.174981 0 0 0 -0.881765 0.111372 -0.30249 -0.0166402 0.0274965 -0.0644901 0.00582268 -0.00943173 0.0188476 -0.0397813 0 0 0 0 0 0 -0.140586 0 -0.0538369 0 0 0 0 -0.0256345 -0.135176 0 0 -0.270787 0 -0.0200375 0 -0.00903373 0 0 0.0546966 0 -0.0233558 -0.0106108 0.00386012 0.00874425 0 0 -0.0472061 0 -1.2822 0 -0.163624 -0.100131 0 -0.0743244 -0.196062 0.00276615 0 -0.00279693 0 0 -0.0437095 0 -0.325797 0.114495 0 0 0.0255347 0 0 -0.0711759 0.592096 -0.059282 0 -0.934253 0 0.317026 0.109371 -0.0720355 0.496311 0.00200225 -0.43174 -0.416239 -0.0353007 -0.0665448 -0.96368 -0.0653218 0 0 0 -0.106106 0.0816204 0 0 0 0 0.0456129 2.47564 1.9612 -0.496077 0.0361602 -0.354041 0.665955 0.352629 -0.257617 0.180291 0.0737312 0 0 0 0 0 0 +142 0 -0.158861 0.105625 0.118309 0.035901 0.118321 -0.090905 0.467038 1.02006 2.56454 -1.22794 -0.278542 -0.601532 -0.082059 -0.539328 -0.0405138 -0.719119 -5.53996 -0.38703 -0.763728 -0.438584 -0.296527 -0.387717 0.652246 -0.764629 0.126024 3.0234e-05 0.573296 0.03896 0.653105 -0.0251867 1.34955 -0.0102771 -0.675572 1.05153 0.0620512 -0.136663 1.54041 -0.517423 -1.09918 -0.135697 0.157653 2.33556 -0.561939 -4.00066 0.646291 -0.0339545 0.159663 -1.31099 -0.290246 1.22842 0.456211 1.74714 0.787628 -0.433487 0.149271 0.166369 0.501065 -0.499631 0.239188 0.29342 0.251306 0.386025 -0.21615 0.715333 -0.959546 0.278291 0.112672 1.1681 -3.3006 0.845481 -0.739963 0.577599 -3.18325 -0.441011 -0.133575 -1.81168 5.2676 3.7727 -4.30795 -0.00716946 0.710551 -0.983313 0.961115 -0.305429 0.733224 -2.05585 -0.462753 0.498129 -0.436397 0.450259 -0.409434 0 0 0 0 0 0.118309 0.035901 0.0070683 0 0 0 0 0.00788066 0 0.06857 0 0 -0.00780216 -0.0879476 0.165039 0 0.0370897 -0.00960812 0.311472 0 0 -2.17208 -0.00621188 0 0.148906 0.30281 0 0 -0.280703 0.0598729 0 0.491803 0 -1.16634 0 0 -0.15233 0 0 1.21208 0.113617 -0.109831 0 0.104477 0.0244126 0 0 0.484291 0 0.0290899 0.11462 -0.0514834 0 0 0.00562109 -0.00216712 0 -0.0843666 -0.904022 0.0173014 2.01398 -0.167838 0.0757618 0 0.123075 0.0723709 0.774445 0.195431 0.263006 0 0 0 -2.41351 0.252136 -0.552403 -0.138837 0.151741 -0.141358 0.00722274 -0.00896241 0.0144083 -0.0420631 0 0 0 0 0 0 0.118321 0 -0.090905 0 0 0 0 -0.0198577 -0.38709 0 0 0.0575654 0 0.00885166 0 -0.0180684 0 0 0.0519293 0 -0.139963 0.00618475 0.0930832 0.0065574 0 0 -0.165775 0 -2.17768 0 -0.807702 -0.116905 0 0.0407522 -0.175031 0.0105972 0 -0.00205127 0 0 -0.0437323 0 -0.322075 -0.457498 0 0 -0.0507591 0 0 -0.249335 0.146035 0.00282713 0 -0.943851 0 0.158695 -0.0641969 0.0274533 -0.0853042 0.0247563 -0.124196 -0.21091 0.0680413 0.45264 0.134719 0.00497683 0 0 0 0.00395178 -0.141772 0 0 0 0 0.156319 17.0602 3.55393 -1.6156 1.38982 -0.814424 0.486926 -0.0918459 0.000430799 0.0666196 -0.129006 0 0 0 0 0 0 +143 0 0 0 -0.367543 -0.361163 0 0 0 0 -3.64447 3.5854 0.638152 0 0.406831 0 -0.0165755 0 0 0.512582 0.150757 0 0.168873 0 -0.64805 1.12225 0 0 -0.524096 0 0 0 -1.35131 -0.538708 0 -1.69121 0 0.0610738 -2.35136 0 3.80354 0 0.560615 -7.86045 0.781434 0 0.159149 0 0 -1.25275 -0.541871 0 2.19517 0 -0.445104 0.489856 0.264628 0 -0.642192 -0.145752 -1.00749 -0.718775 0 0 0 0 2.24389 0 2.59057 -1.63423 2.26002 1.13456 0.796595 2.19094 3.45489 0 0 0.71129 0 -6.24936 0 -0.650435 -5.6421 0 -3.5521 1.86563 -5.79122 0 -1.24567 -2.74664 0.344976 -6.44814 0 0 -0.00190351 -0.000157411 -0.465021 -0.108014 -0.367543 -0.361163 -0.0351526 0.0434664 -0.106319 -1.52728e-05 0.00751731 -0.013132 -0.0125363 0.0571853 -0.00134924 -0.000308834 -0.011698 -0.0993307 -0.0541553 -0.026467 0.0164024 -1.34127 0.0331738 -6.84695e-05 0.113292 0.144088 -0.00462879 0.0219734 -0.355068 -10.6885 0.877964 -0.00351709 0.00535372 -3.90477 -0.0167531 -1.55967 -0.00492277 0.172525 0.143826 -0.0742793 0.00628962 -0.00627633 -0.000592259 -4.50424 -0.279813 -0.251457 -0.000779528 -0.748366 0.247888 0.00983598 -0.00458694 -1.09878 -0.0123182 -0.0534497 0.1576 0.241695 0.00626372 0.00467135 0.0152902 0.0642089 -0.0541597 -0.0807842 -0.742928 -0.00764532 5.8169 -0.255603 0.118669 0.06379 -0.0536056 0.00392794 -2.60335 0.794361 1.9709 0.0208372 -0.0231365 -0.000588763 34.0693 1.90737 1.78811 0.154449 -0.0670963 1.59899 0.00733423 0.00103196 0.0371804 -0.409224 2.95034e-05 0.00265403 -0.0286117 0.157046 -1.91776 0 0 -0.465021 0 -0.108014 0 0 -2.12209 0 -3.25339 0.0226593 0.032134 0.606609 0.010823 0.144384 -0.321252 -0.0693069 0.0850077 -0.232052 0 0 0 0 -0.0935537 0 0.0870737 0 -0.754067 0 0 0.864931 0 0 -0.0451528 0 0 -0.00123314 0.00768187 0 0.101646 0 -0.36092 0 0 0 0.0113542 0.0769915 0 0 0.0345793 0 0 0 -0.439812 0 1.05732 0 -0.361175 0.416313 0.205439 0 0 0.655564 0.205092 -1.0358 0 0.205756 0 0.088322 0 -0.548911 -0.293104 -0.0425118 -0.169233 0.251467 -0.00459725 0.779121 0 -2.14366 0 0.692291 -2.63151 0 -0.317828 -0.141341 -0.573143 0 0.121891 -0.440557 0.265092 -0.688293 0 0 +144 0 0 0 0.192501 0.662168 0 0 0 0 0.303339 -2.26131 0.820941 0 -0.120811 0 0.099941 0 0 -0.270784 0.226106 0 -0.155525 0 -0.185425 -0.591923 0 0 -0.23327 0 0 0 -0.569853 0.376713 0 0.102628 0 0.040687 -0.624773 0 2.0787 0 -0.513387 1.45835 0.0202315 0 -2.95963 0 0 0.021688 -0.889582 0 -1.34174 0 0.0694978 0.433725 -0.269886 0 0.157654 -0.487933 0.484894 0.430296 0 0 0 0 -2.56047 0 -0.440627 3.1318 2.70437 -0.453799 -0.377873 0.320256 1.81768 0 0 0.556042 0 3.00488 0 4.63598 -2.50369 0 6.2903 -4.47981 3.86101 0 7.57457 -4.35892 4.56331 -3.31946 0 0 0.491813 0.0406706 -0.190251 -0.0641577 0.192501 0.662168 0.036744 0.0546712 -0.503063 -0.000337363 0.00450289 0.00810522 0.0139271 0.0451212 0.0301064 -0.00633524 -0.0614421 -0.31062 0.635226 0.457521 0.0740364 -0.19931 0.885425 0.00185078 0.31819 -1.08064 -0.0221086 0.0170519 0.0657117 -2.92624 0.494367 0.0179094 -0.293582 -0.956102 -0.0644882 -0.0383854 -0.03985 -0.525828 0.0988722 0.195336 -0.107955 -0.103877 0.00178578 0.406804 0.114641 -0.793862 -0.00459606 0.45846 0.387196 -0.0464488 -0.0174494 -0.0738153 -0.0463714 0.102948 3.49311 -0.172093 -0.0875472 0.117291 0.11489 -0.0442492 -0.0747714 -0.250144 0.164299 -0.194132 2.58913 0.257839 -0.0703325 -0.105083 0.0927074 -0.484605 1.66105 -0.446872 -0.338032 0.059932 -0.145859 0.0109872 -3.077 2.21207 -3.52143 0.415611 -0.437657 -2.31395 0.0457452 -0.0660676 0.497789 -1.17706 0.00763129 -0.0130302 0.11037 -0.0754687 -1.07986 0 0 -0.190251 0 -0.0641577 0 0 0.222011 0 0.609904 -0.0573582 -0.00820134 -1.04119 -0.00661348 -0.0912528 -0.025758 -0.0578805 0.0644695 -0.495643 0 0 0 0 -0.385916 0 0.038011 0 -0.0872165 0 0 0.363186 0 0 -0.00890556 0 0 -0.0520802 0.011061 0 0.044077 0 -0.0236345 0 0 0 0.0066988 0.071705 0 0 0.023742 0 0 0 0.147446 0 -0.276929 0 1.27516 -0.973025 0.678763 0 0 0.201648 -0.386366 1.10964 0 0.0557079 0 0.0480988 0 0.0865321 0.17391 -0.485236 0.362356 0.169283 0.0207187 0.167214 0 3.54466 0 1.65635 -0.926014 0 1.46563 -0.986127 0.902967 0 0.908318 -0.748604 0.662905 -0.351495 0 0 +145 0 0 0 -0.217625 0.034788 0 0 0 0 -2.53695 -2.37949 -0.0480891 0 0.467307 0 0.00918897 0 0 -0.286302 0.788627 0 -0.10627 0 -0.9368 -0.996829 0 0 -0.724304 0 0 0 -1.50488 0.313095 0 -1.39287 0 -0.0974167 -2.24292 0 -0.831199 0 0.0973751 -4.20442 -0.434614 0 -1.70469 0 0 2.96819 0.427406 0 -0.79738 0 -1.04871 0.128295 -0.475207 0 -1.08168 -0.117263 0.8725 0.0925157 0 0 0 0 -0.0755261 0 -0.33736 -1.87409 2.56341 -1.46381 -0.931268 -1.80301 4.06043 0 0 3.25593 0 4.50314 0 2.22479 1.71125 0 2.22523 -1.0577 3.29387 0 1.68897 0.406459 1.70646 1.6798 0 0 0.0257201 0.00212693 0.163355 0.0757021 -0.217625 0.034788 -0.0136567 0.0414091 0.0284895 -2.1658e-05 0.00695142 -0.0099204 0.00195251 0.205887 0.00127592 -0.000412044 -0.00189861 -0.0113359 0.858 0.0179457 0.152726 -1.37013 1.25363 8.19422e-05 0.186836 1.56123 -0.000926025 -0.0146105 0.259099 -6.17 -0.175199 0.00133976 0.13802 -3.05335 -0.00236018 0.634497 0.000485661 0.763692 -0.0594203 0.0188127 0.0615057 -0.0070498 0.000150796 1.52083 -0.214595 -0.0134826 -0.000192886 -0.308229 0.0427467 -0.00515484 -0.00012894 0.155585 -0.00500093 -0.0316639 1.32146 0.189404 -0.0031435 9.15082e-05 0.0062418 0.0150432 0.0139353 -0.00635527 -0.473076 0.0546054 14.4114 -0.0950887 -0.023022 -0.133111 0.0403377 -1.07998 -1.64261 0.868465 0.956414 0.0132573 -0.0813126 0.000442302 -11.5033 -0.30467 -5.38721 -0.0258803 0.0472581 -0.998406 0.00186993 -0.00571733 0.0547366 -1.29474 0.000413389 -0.00115616 0.0126032 -0.0360953 0.382691 0 0 0.163355 0 0.0757021 0 0 0.262561 0 -0.0789273 -0.132963 0.0227743 -0.618979 -0.0259594 -0.131724 0.0885493 -0.0692456 0.00657781 -0.574297 0 0 0 0 -0.159462 0 0.202257 0 -0.000215507 0 0 0.0866188 0 0 0.0190059 0 0 -0.043583 0.0103787 0 0.0242 0 -0.112101 0 0 0 -2.68426e-05 0.0704593 0 0 0.124379 0 0 0 -0.0195435 0 -0.0984755 0 0.179987 -0.226575 -0.284408 0 0 -0.188893 -0.297915 -0.149148 0 -0.250949 0 -0.162472 0 0.0392322 0.260475 -0.260155 0.309386 0.131478 -0.00255224 0.100625 0 2.08106 0 2.16369 -0.485305 0 0.695857 -0.358619 0.287993 0 0.61917 -0.45635 0.442785 -0.187184 0 0 +146 0 -0.869716 -0.421222 0.191523 0.123494 -0.496665 -0.195754 0.893554 3.52152 0.692878 -2.58919 -0.137303 -0.440035 -0.298634 -0.736982 0.117701 -2.28058 -12.6774 -0.314611 0.320376 -0.390992 -0.133995 0.0403022 0.386464 -0.934239 0.300213 -0.403854 0.388447 0.0277055 0.549939 0.00313159 0.57889 0.1844 0.310328 0.6145 0.0717598 -0.0115989 1.76022 2.33023 -0.873931 -0.11308 -0.426942 3.00613 -0.195466 -3.88703 -0.411832 -0.0282109 0.0978689 0.480375 0.519118 1.72929 -1.79301 -4.46019 -0.241427 0.263434 -0.76385 -3.10711 -0.292214 -0.259494 1.21 0.430076 0.461687 -0.0372596 1.13947 1.64202 -2.60453 0.627946 -2.14786 1.72175 -0.548552 -0.785417 -0.926986 -1.82618 -1.46429 -1.37051 0.929063 0.294459 -7.89068 2.99166 -6.40804 1.9378 -0.610913 -2.5272 3.35762 -3.33434 5.07241 -6.41635 1.44126 0.922872 -0.124894 2.58668 -2.23643 0 0 0 0 0 0.191523 0.123494 0.0110458 0 0 0 0 0.00572519 0 0.0728415 0 0 0.0043308 0.0693609 0.1558 0 0.0240275 0.548734 0.532855 0 0 -0.625464 0.00325581 0 0.193675 1.22104 0 0 -0.0560456 1.00804 0 1.11126 0 -0.194493 0 0 -0.0144322 0 0 3.12352 0.122025 0.0911131 0 0.234629 -0.0308533 0 0 0.581265 0 0.0190961 2.14054 0.0320551 0 0 -0.00849907 -0.0185424 0 0.0275426 -0.0209369 0.0633302 -2.48862 0.208236 0.0610632 0 0.0337217 -0.543944 0.212647 -0.171039 0.263094 0 0 0 -24.3398 -1.11641 -3.3905 -0.107026 0.251694 -3.44487 -0.00308888 0.00695224 -0.0966655 -0.561474 0 0 0 0 0 0 -0.496665 0 -0.195754 0 0 0 0 0.198194 -0.740047 0 0 -0.466079 0 -0.0517398 0 -0.0311421 0 0 -0.0721025 0 -0.0151894 0.174075 -0.0512421 -0.00599721 0 0 -0.255586 0 -8.4227 0 0.661828 -0.31596 0 1.35772 -0.135743 -0.00615929 0 0.025756 0 0 -0.0940447 0 -1.67848 -0.91853 0 0 -0.0867384 0 0 -0.192952 2.12537 0.0262582 0 -1.63681 0 0.683027 0.0456534 -0.039996 0.0667791 0.0191887 0.241141 -0.180195 -0.0481933 1.06205 -4.49082 -0.0112484 0 0 0 -0.0967358 0.0156187 0 0 0 0 0.275298 -6.26738 1.27583 -4.86365 -0.203 0.0770584 -0.756037 0.15654 -0.21494 0.361218 -0.985642 0 0 0 0 0 0 +147 0 1.38454 0.0410383 0.278259 0.244143 -0.135536 -0.152114 1.3144 3.53427 0.66196 -2.31623 -0.116899 -0.0270886 -0.429107 -0.208833 -0.0292446 0.848373 2.59161 -0.54753 0.263796 -0.271572 -0.282028 0.244809 0.538437 -0.744633 0.710403 0.314602 0.226697 0.0943949 0.123229 0.104393 0.721678 -0.0988353 0.837789 0.661601 0.293987 -0.00208144 0.351685 0.649332 0.492215 -0.127393 -0.693588 2.03924 0.454405 -1.49809 -0.990825 -0.0548997 0.202633 0.449815 -0.631854 -0.0211676 -1.33798 -4.11613 -0.215847 0.241589 -0.0205967 -0.281326 -0.328442 -0.232264 1.1436 0.779902 -0.447893 0.0272314 -0.545372 -2.82238 0.0227736 -0.1892 3.28381 0.585769 -0.496505 -0.791189 0.0860986 0.372127 -0.413188 -0.10222 0.0137948 -2.48697 -3.84019 4.76785 -8.19919 1.89597 -1.56365 0.222313 3.27808 -2.96438 4.75887 -6.9124 3.46752 -2.32009 1.79906 -0.819411 -0.501135 0 0 0 0 0 0.278259 0.244143 -0.00615899 0 0 0 0 -0.00438994 0 0.0210648 0 0 -0.00324786 0.00174844 -0.11261 0 -0.00879505 -0.0237252 0.105264 0 0 0.716628 0.000104855 0 -0.718786 -2.49579 0 0 0.055693 -0.476199 0 -1.2968 0 0.560405 0 0 0.0499914 0 0 -3.15902 -0.0942423 -0.0743435 0 -0.138685 0.103286 0 0 -0.368408 0 -0.0226468 -1.02673 0.0534476 0 0 0.00600446 0.000758367 0 -0.0265255 -0.280963 -0.0420685 5.97463 -0.176823 0.068954 0 0.030655 -0.114841 -0.991499 0.449518 0.234903 0 0 0 22.3807 1.01381 0.898664 0.0964665 -0.20045 2.89995 0.00282063 -0.00520423 0.0768287 -0.049436 0 0 0 0 0 0 -0.135536 0 -0.152114 0 0 0 0 0.0844212 0.221761 0 0 -0.345208 0 -0.0425175 0 -0.0214492 0 0 0.108874 0 -0.117467 0.0522793 -0.0488663 0.0049576 0 0 -0.162458 0 -2.37526 0 -2.2774 -0.586644 0 0.329703 -0.616804 -0.0071096 0 0.0184744 0 0 0.0165566 0 -1.37482 -0.212852 0 0 -0.0677536 0 0 -0.040588 0.737699 0.110935 0 -0.101796 0 -0.659226 0.120529 -0.081983 -0.0931988 0.0380829 -0.00969807 0.558999 -0.323159 0.980001 6.29917 0.0091101 0 0 0 0.0857498 0.141823 0 0 0 0 -0.023164 10.3141 2.44028 -2.13745 0.891069 -0.941028 1.51029 0.225256 -0.25065 0.348895 -0.356768 0 0 0 0 0 0 +148 0 0.721722 -0.0665103 0.181344 0.105027 0.0949083 -0.0191692 0.217556 0.759539 0.597414 -1.46347 0.00469275 -0.0681242 -0.282713 -0.135004 -0.0505952 -1.00482 -2.64656 -0.34235 -0.0817994 0.156809 -0.0916787 -0.0181636 0.36469 -0.34982 0.0904988 -0.296826 0.158453 0.0326883 0.433138 -0.0251479 0.531473 -0.133292 -0.307129 0.0781643 -0.000104056 0.0476947 1.21557 -1.95476 0.291481 -0.022382 -0.41926 2.33536 0.335418 -0.339143 -0.45824 -0.0100109 0.122428 -0.252415 -0.403055 0.816863 -0.274603 -0.899802 0.0327035 -0.0740254 0.191332 -0.605768 -0.0460796 0.164625 0.242067 0.43446 -0.902828 0.00840487 0.055664 0.466919 -0.317169 -0.386881 -0.220704 1.31902 -0.471996 0.205036 0.295393 0.516723 -1.42264 0.263734 -0.153569 -1.75023 7.97186 2.29527 1.7524 0.961243 -0.062759 1.59221 0.987671 -0.817868 1.90993 -1.97758 1.60367 -1.18471 0.17385 0.0450325 -1.76144 0 0 0 0 0 0.181344 0.105027 0.00952576 0 0 0 0 0.0047294 0 -0.115374 0 0 0.00365751 0.0602593 -0.502184 0 -0.0681406 0.711831 -0.816158 0 0 -0.657246 0.00283026 0 0.127757 3.46408 0 0 -0.0506546 1.70545 0 0.400014 0 -0.234022 0 0 -0.0149685 0 0 0.565082 0.100731 0.0764285 0 0.201203 -0.102327 0 0 -0.147876 0 0.0153549 -1.98123 -0.12804 0 0 -0.00693931 -0.016875 0 0.0126681 0.234834 -0.0210081 -7.23794 -0.0892876 -0.0939486 0 -0.00913368 0.722395 0.937547 -0.459103 -0.352638 0 0 0 -4.65919 -0.442962 2.83904 -0.0208495 0.0442225 -0.62271 -0.00253082 0.00572657 -0.0796715 0.908168 0 0 0 0 0 0 0.0949083 0 -0.0191692 0 0 0 0 0.0106186 0.541598 0 0 -0.290689 0 -0.049577 0 0.00645613 0 0 0.0262885 0 0.0395812 0.00128831 -0.0689713 0.00420514 0 0 0.0372303 0 1.53954 0 -1.0146 -0.182712 0 -0.0068972 -0.103454 -0.0132232 0 0.00169914 0 0 0.0721499 0 0.0628981 -0.239606 0 0 -0.0298244 0 0 0.324634 -0.883682 0.134056 0 0.865535 0 -0.416202 0.103781 -0.110293 0.66837 -0.00201506 -0.523062 0.0742638 -0.0786489 -0.343051 -0.378964 -0.082594 0 0 0 -0.0109099 0.122128 0 0 0 0 -0.0996543 5.70085 1.54432 -0.209439 0.429723 -0.278268 0.497968 0.153367 -0.133156 0.184739 -0.123336 0 0 0 0 0 0 +149 0 0 0 0 0 0.387595 0.00570398 -1.32063 -2.99759 0 0 0.0659271 -1.26356 0 -2.1722 -0.00319169 0 0 0 -0.0858463 -3.6565 0 0 0 0 -0.343617 0 0 0.310693 0.220538 -0.796842 0 0.0465164 0 0 -0.163959 0.0144927 0 0 0.243226 -1.24876 0 0 0.112918 -3.45454 0 -0.584343 0.343129 0.0414668 -0.20146 -3.10164 -0.157543 0 0.0527188 -0.0964325 0.173723 1.02396 0.133246 0.208663 0 0 0.432892 -0.903901 0 -2.59897 0.0606164 -0.0780782 0 0 0 0 -0.348231 0.21878 0 0.473856 -1.98502 0 0 0 4.5788 0 -0.332635 1.53324 0 -0.175794 0.157479 4.28549 0 -0.275503 0.0291878 -0.449821 1.59471 0 0 0 0.0888599 0.00225306 0 0 0 -0.0153801 0 0 -0.000680121 0 0 -0.00154365 0 0 0 0 -0.0345922 0 -0.000876089 0 -0.0610679 0 -0.153911 -0.0754833 0 0.000224549 0 0 0.0763796 0 -0.00189351 0 0 0 0 -0.000872187 0.00539337 0 -1.83592e-05 0 0 0 0 0 0 0 0 0 0 -0.00345633 0 0 0 0 0 0 0 0 0 0 -0.10495 0 0 0 -0.0393612 0.0362825 0 0.0815756 -0.104717 0 -0.0458523 0 -0.0840627 0 0 0 0.0574641 0 0 -0.0718722 0 0 0 0.0144928 0 0 0 0 -0.063858 0 0.387595 0.0888599 0.00570398 0.00225306 0.00935646 0.022731 0.0107317 -0.390606 -0.272424 -0.000171369 6.87618e-05 -0.0162582 -3.34606e-06 -0.00095131 0.000221237 -0.00260672 0.0206191 -0.00831272 -0.67582 0.92652 0.239109 -0.0836078 0.0446199 -0.0869768 0.0518687 0.0354528 -0.0956888 0.022769 -8.16622 0.0415859 3.80296 -1.32441 4.31975e-06 -0.600915 1.36821 0.000767258 0.00242061 -0.0852088 0.0132609 0.208494 -0.00707546 0.00266455 -3.67256 0.0194859 0.00235199 0.0100192 -0.00727215 0.147309 0.0529845 0.903176 3.17325 0.168163 -0.0553954 0.769857 -0.000232366 0.154166 -0.00960862 -0.0662636 -0.0301379 0.0383978 1.79055 -0.055967 -0.0537264 -0.1936 3.1884 -0.117161 0.545862 0.0614665 -0.113051 -0.0925387 0.00152662 -0.0550631 0.000212967 0.0263513 -0.041582 0.00812077 -11.9938 -0.0588759 1.51183 0.00830466 0.348118 -3.11202 0.000205271 0.0326932 0.00133483 -0.0237035 2.10004e-05 -0.0919828 0.099752 -0.0351026 -0.398532 0 +150 0 0 0 0 0 -0.248286 0.28146 0.0390752 0.364115 0 0 0.0336225 1.90818 0 3.83906 0.00151065 0 0 0 0.0318419 3.20622 0 0 0 0 -0.117651 0 0 -0.297834 4.04408 1.06008 0 0.00166688 0 0 -0.0973652 0.00683604 0 0 0.0325737 2.1021 0 0 0.0404656 6.82577 0 1.10456 0.7228 -0.0747212 -0.0826857 2.74196 -0.122112 0 -0.0211469 0.0123111 -0.0197406 -6.43734 -0.268883 -0.174762 0 0 0.13365 -2.57314 0 0.20423 -0.420172 0.198998 0 0 0 0 0.0482425 0.289162 0 -6.03356 -0.839815 0 0 0 -0.126645 0 -0.409796 -3.17937 0 -0.129196 0.145821 -2.40617 0 -0.135365 0.138974 -0.470562 -7.26847 0 0 0 0.00794077 0.00020134 0 0 0 -0.00128139 0 0 -5.91865e-05 0 0 -4.68913e-05 0 0 0 0 -0.00288021 0 -7.49393e-05 0 0.000278301 0 -0.00834824 0.00227918 0 3.31886e-05 0 0 0.0120249 0 -2.59405e-05 0 0 0 0 0.00041589 0.000936528 0 6.19913e-06 0 0 0 0 0 0 0 0 0 0 -0.00459136 0 0 0 0 0 0 0 0 0 0 -0.00607089 0 0 0 -0.00316373 0.00375085 0 0.00530822 -0.0104753 0 -0.00405204 0 -0.00370641 0 0 0 -0.000261877 0 0 -0.0113152 0 0 0 -0.00185371 0 0 0 0 -0.0100535 0 -0.248286 0.00794077 0.28146 0.00020134 -0.45355 -0.124802 0.000959013 -0.571771 0.0300069 -1.5314e-05 -0.0197653 0.0171943 -2.99014e-07 0.00021102 1.97703e-05 3.56957e-05 -0.01505 -0.000742849 0.0191562 -0.377227 0.176002 -0.162051 0.0223567 -0.0764033 -0.134628 0.278734 0.00837075 -0.0140222 5.59812 -0.00625564 0.519488 1.77085 3.86025e-07 -0.751341 0.648935 0.000360184 0.000635807 -0.123038 0.0051771 1.53027 0.000230568 0.0564613 3.59482 -0.582877 -0.00221757 2.28182e-05 -0.190555 -0.0696383 -0.0890871 -1.51216 2.5103 0.171326 0.0185258 -7.58494 -2.07649e-05 2.05289 6.96467e-05 -0.158288 -0.0179688 0.483704 0.300718 0.000495473 -0.0711158 0.146698 -31.0135 0.0432691 -0.154949 -0.0168203 -0.277973 -0.117639 -0.000182064 -0.0103788 1.90313e-05 -0.0424885 0.0895158 -5.88622e-05 -1.63837 -0.0386585 1.24994 0.000515211 -0.00143831 -3.88052 -5.21064e-06 -0.0221018 0.0580728 -0.498807 1.87666e-06 -0.0368515 -0.0921145 0.207635 -1.85343 0 +151 0 0 0 0 0 -0.656633 -0.033311 0.597133 3.08081 0 0 0.0698467 0.190526 0 1.13761 0.0072751 0 0 0 -0.0219901 -3.51126 0 0 0 0 0.207007 0 0 -0.170129 4.24538 0.43633 0 0.0813507 0 0 -0.0148 0.00511389 0 0 0.0470233 0.0959381 0 0 -0.0026686 -0.566011 0 0.427497 0.35415 0.0906264 -0.00263037 2.03853 0.111047 0 0.00363721 -0.0337973 0.12257 -0.137513 -0.023054 0.0333302 0 0 -0.181356 3.29741 0 1.19563 0.128505 0.228561 0 0 0 0 0.0906341 0.129828 0 3.75038 0.616679 0 0 0 -4.50058 0 0.131836 -6.40449 0 0.106988 -0.224298 -6.98591 0 0.04375 -0.462942 0.557348 -9.34162 0 0 0 -0.00477375 -0.000121039 0 0 0 -0.000482346 0 0 1.77932e-07 0 0 8.49556e-05 0 0 0 0 0.00021727 0 2.10123e-05 0 0.00340842 0 -0.0123215 -0.0213961 0 3.80071e-06 0 0 0.00167373 0 -0.000302324 0 0 0 0 -0.00658561 0.000255753 0 -0.000104307 0 0 0 0 0 0 0 0 0 0 9.0316e-05 0 0 0 0 0 0 0 0 0 0 0.000845966 0 0 0 -8.20761e-05 -0.000564062 0 -0.000645866 0.000175211 0 -0.000298486 0 0.0015964 0 0 0 -0.00320728 0 0 -0.00157496 0 0 0 -0.00166665 0 0 0 0 -0.00139934 0 -0.656633 -0.00477375 -0.033311 -0.000121039 -0.768105 -0.150848 -0.000576529 0.664851 -0.0571854 9.20632e-06 -0.0106605 -0.0291253 1.79758e-07 -0.000425135 -1.18853e-05 -0.000294953 0.000927084 0.000446577 1.41039 0.262906 0.0848104 0.567198 -0.0160417 0.201494 -0.0530387 0.393187 -0.0222598 0.0152914 8.46375 -0.00928164 0.224543 1.15938 -2.32066e-07 2.55427 0.415714 -0.000257832 0.0015826 0.105401 0.00347269 2.24889 -0.00076007 0.0580618 3.10534 2.94877 -0.000284391 0.00429446 0.475146 0.083787 0.0696673 0.388143 -1.81012 0.406477 -0.0312907 1.8343 1.24832e-05 -0.394681 -0.000710468 -0.186609 0.0323241 -0.530583 -0.737082 -0.0191177 0.0243274 -0.0347841 -1.80375 0.112677 0.185334 0.0127232 -0.355464 -0.0279307 0.000430352 -0.044514 -1.1441e-05 0.0312701 0.0891199 0.000600455 -0.708166 0.0409378 -6.75497 -0.000987841 0.268156 -5.81552 2.68653e-05 -0.0374631 0.186035 -3.25761 -1.12819e-06 -0.0944739 -0.16979 0.467791 -3.11152 0 +152 0 0.812414 0.228142 0 0 0.0101745 0.160125 0.540976 0.418948 0 0.204869 0 1.07799 0 1.26224 0 -0.2179 -1.68948 0.0258568 0 2.15911 0.00490041 -0.109546 0 0.0581957 0.0056018 0.0298551 0.000926795 -0.247142 0.373447 0.592551 0 0 -0.441402 0.00988687 -0.00592665 0 0.0209262 -3.36196 0 1.30508 0 0.0999492 0 1.99947 0 0.788973 -0.0692111 0 0 1.41603 0.105588 4.83843 0 0 0 -0.629956 -0.0420248 0 -0.11131 0 -1.04674 -1.64061 -0.772445 1.6266 -0.0125078 -0.369616 -0.246395 -0.00397612 0 -0.345933 0.0612614 0 -0.0384469 -0.834509 0.381706 -0.195366 12.1697 -0.21255 3.77253 0.21677 -0.311475 3.59442 -0.143088 0.148048 -0.446901 0.262357 0 0 0 0 -0.748141 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0101745 0 0.160125 0 0 0 0 -0.124711 0.0319957 0 0 -0.0863773 0 -0.00453968 0 -0.000629036 0 0 0.814605 0 -0.587247 -0.0362965 -0.0164527 0.118923 0 0 -0.0441841 0 4.15987 0 -6.24951 0.692022 0 -0.295022 -2.08545 0.00072119 0 -0.00418862 0 0 0.0126068 0 1.78043 1.36988 0 0 0.203504 0 0 0.499563 0.947429 -0.00668475 0 1.94461 0 0.404909 -0.0131229 0.00726943 -0.173005 -0.0746725 -0.196014 -0.266108 0.00894397 -0.162854 5.37411 -0.00555949 0 0 0 -0.0234993 -0.0434709 0 0 0 0 -0.0420972 32.7582 0.840357 4.96712 0.505839 -0.485453 3.20288 0.0189436 -0.0378028 0.062023 0.140005 0 0 0 0 0 0 +153 0 -0.467307 0.139665 0 0 -0.1878 -0.222268 0.534456 1.54852 0 -0.0105307 0 -0.409436 0 -1.40547 0 0.742103 3.64782 -0.00508328 0 -1.23709 0.000935016 -0.140204 0 0.0132518 0.444904 0.14795 0.00106163 0.402369 -0.307163 -0.406935 0 0 -0.183744 -0.00539123 0.252257 0 0.0158141 1.13227 0 -0.926384 0 -0.0277868 0 -1.81239 0 -0.669222 0.183847 0 0 -2.29638 0.0873045 -4.15753 0 0 0 1.06974 0.015479 0 -0.0216887 0 0.462586 0.620432 0.492458 -0.654339 0.043379 -0.479099 -0.0362002 0.0122805 0 -0.075811 -0.0244109 0 -0.0266878 1.84427 -0.421516 0.0280794 -0.571424 -0.249591 -1.48534 -0.0919108 0.0448118 -0.367269 -0.0452315 0.0826797 -0.123447 -1.49988 0 0 0 0 0.615353 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.1878 0 -0.222268 0 0 0 0 0.381782 -0.165869 0 0 0.0177935 0 0.00127656 0 -0.00251217 0 0 -0.0250172 0 -0.276361 0.145642 0.000111146 0.00413876 0 0 -0.0245656 0 0.599369 0 0.844273 -0.84787 0 1.02878 -0.258307 -0.000746354 0 0.0456121 0 0 -0.0156632 0 -1.05154 0.347931 0 0 0.0474824 0 0 0.00717509 -1.4736 -0.291941 0 0.93583 0 -0.57174 -0.041284 0.0863605 -0.308237 -0.0864418 0.206541 -0.116059 -0.0502358 -0.116197 7.34368 0.0434629 0 0 0 -0.0219676 -0.00562555 0 0 0 0 0.0237057 -2.46604 -0.0999136 -2.09996 -0.226014 0.208116 -0.389822 -0.0244082 -0.0152117 0.0567459 -0.600482 0 0 0 0 0 0 +154 0 -1.29902 -0.136424 0 0 -0.383962 0.0161506 -0.516187 0.668912 0 -0.0586562 0 0.32569 0 -0.0749341 0 2.3554 4.38886 0.00670651 0 0.495418 6.40329e-05 0.0388702 0 -0.0223642 -0.0676997 0.954902 0.00220734 -0.553624 -2.01337 0.133508 0 0 0.724169 0.0298539 -0.272238 0 0.00571441 5.1106 0 0.490609 0 0.125542 0 -0.769593 0 0.35233 -0.996956 0 0 -2.24426 0.0378823 -5.98892 0 0 0 -0.508512 -0.0153994 0 0.00612253 0 0.741288 -0.966229 0.723891 -0.383686 0.0392235 0.584225 0.176881 -0.0328182 0 0.0989775 0.0225795 0 -0.0347818 -0.593269 0.151016 -0.104202 -14.6241 0.212165 -5.51873 0.00600846 0.184484 -3.5243 0.142712 -0.137902 0.0462201 0.185872 0 0 0 0 4.03347 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.383962 0 0.0161506 0 0 0 0 0.61004 0.0615238 0 0 -0.0935966 0 -0.0129077 0 0.001693 0 0 -0.47401 0 -0.392621 0.217456 -0.0157154 -0.0498141 0 0 0.0230978 0 -8.31347 0 6.06909 -0.327476 0 1.78825 0.785814 -0.00137417 0 0.0794723 0 0 0.00470281 0 -1.8231 -1.70182 0 0 -0.172227 0 0 -0.227611 0.292658 -0.45236 0 0.637026 0 -1.0735 -0.0269333 0.157043 0.219265 -0.115966 0.0557972 0.342403 0.0711766 -0.179884 11.8431 0.0611079 0 0 0 0.0548849 -0.0198276 0 0 0 0 -0.0452261 -34.851 0.482336 -9.47522 -0.45004 0.46243 -3.31977 0.0556702 -0.116262 0.153564 -1.10397 0 0 0 0 0 0 +155 0 0.800114 0.275992 0.000577443 0.0477473 -0.0623695 0.0409086 1.34206 1.86447 -0.000396984 0.318999 -0.014906 1.32549 2.62561e-07 2.79579 -0.00107475 0.813479 4.43676 0.110278 -0.00287531 4.87109 0.0135339 -0.0229138 -3.16419e-07 0.082419 0.513568 0.0538813 0.0109666 0.277981 1.21385 0.621766 -1.41593e-05 -0.0729363 0.106465 0.06594 0.337235 -0.000307641 0.00478267 -0.65031 -0.0406835 1.66777 1.21169e-05 0.160436 -0.000780065 5.7408 0.000372767 0.510025 0.599086 -0.198606 0.00262706 2.11953 0.0494643 6.27467 0.00297775 -0.000586539 -0.0106824 3.35788 0.171402 -0.0672561 -0.150553 -6.28651e-05 -2.09425 0.542125 -2.51794 0.377777 -0.113981 -1.3392 -0.499241 0.0836385 5.86563e-05 -0.328946 0.0940529 -0.0691827 -0.0191206 0.0184242 0.280446 0.0853174 2.42296 -0.206257 -2.3383 0.0758467 0.131342 -3.15403 -0.225354 0.147214 -0.269514 -5.16253 -7.73592e-07 5.64588e-05 -0.00199091 0.126206 -4.76322 0 0 0 0 0 0.000577443 0.0477473 0.000155902 0 0 0 0 3.35758e-06 0 0.00413863 0 0 4.52877e-05 1.24185e-05 0.000419205 0 5.79307e-05 -0.000464453 0.029938 0 0 -0.0598634 8.81483e-07 0 -0.000575934 -0.154828 0 0 -0.0090996 -0.0166777 0 -0.0221999 0 -0.000886077 0 0 -0.000130698 0 0 -0.0438781 4.77904e-05 0.000627766 0 0.00221267 0.00172797 0 0 -0.0270991 0 0.000346659 -0.0597838 -0.000470991 0 0 -1.07101e-05 -0.000231016 0 -0.000914172 -0.0230851 2.48954e-05 -0.224373 2.72036e-05 0.0127043 0 0.00165133 0.00315325 -0.0700998 1.49625e-05 0.0110489 0 0 0 0.0901548 0.00157274 -0.0216341 -0.00181928 0.00212422 0.0247558 -3.54165e-05 4.62416e-05 -8.43412e-05 -0.0126338 0 0 0 0 0 0 -0.0623695 0 0.0409086 0 0 0 0 -0.146732 0.464442 0 0 0.0469764 0 0.0121454 0 0.0132082 0 0 0.583301 0 -0.0534786 -0.0476049 0.0600557 0.0675339 0 0 0.117298 0 10.134 0 -4.45966 0.853225 0 -0.325727 -1.14684 0.00979824 0 -0.0208197 0 0 0.0525688 0 3.0117 1.27787 0 0 0.146672 0 0 0.387719 -5.79435 -0.236723 0 1.68233 0 -1.32791 0.195678 -0.129054 -0.10449 -0.274991 -1.41999 -0.408694 0.0405898 -0.117124 0.806715 0.034118 0 0 0 0.0773124 -0.0930722 0 0 0 0 -0.114904 25.6639 1.91364 2.09631 0.68601 -0.45489 2.07875 -0.124367 0.0583373 0.0285075 0.0757165 0 0 0 0 0 0 +156 0 -0.281009 0.0509406 0.000265455 0.0254225 -0.280664 -0.174513 0.48818 1.49004 0.00132839 -0.0421517 0.00600881 -0.988706 -2.31985e-07 -2.62877 -9.96031e-05 1.46806 2.58887 -0.00968149 8.07368e-05 -2.9757 9.00421e-05 -0.0411394 2.01075e-07 0.00904292 0.171415 0.582956 -0.0069955 0.140611 0.467151 -0.646854 1.62724e-05 0.00310424 0.143817 -0.0894779 0.0320971 1.71124e-05 -0.029848 1.59717 0.0270867 -1.21316 -2.01635e-05 -0.344679 0.000213482 -4.92202 -0.00174399 -0.518734 0.252836 0.0272622 -0.00099627 -1.24629 0.101355 -12.8225 -0.000741492 0.00117478 -0.0162822 -2.6076 -0.0479785 0.0144693 0.012606 2.74067e-05 0.838534 0.726744 0.630435 0.66518 0.0618107 0.0576096 -0.118327 -0.10294 -2.36073e-05 -0.0130266 0.00194021 0.00532228 0.0723266 1.48396 -0.304915 -0.217534 -3.70175 -0.699071 -1.38987 -0.34384 0.277926 -1.3987 0.00597289 0.0664615 -0.181298 -1.52199 3.61924e-06 -9.47475e-05 0.00293702 -0.035294 -1.83313 0 0 0 0 0 0.000265455 0.0254225 -0.00014164 0 0 0 0 -1.16543e-06 0 -0.00117142 0 0 4.48165e-05 -8.39314e-06 -3.35568e-05 0 -7.93281e-06 0.000183426 -0.00574793 0 0 0.0135901 -4.7735e-07 0 0.000121267 0.0174847 0 0 0.0014646 0.00938004 0 0.00804198 0 0.00014025 0 0 1.45639e-05 0 0 0.0331844 -1.68592e-05 0.000455678 0 -0.00204181 0.00223495 0 0 -0.00161656 0 3.93555e-05 0.00514135 -0.000311318 0 0 0.000469393 0.000271402 0 -0.00110461 0.00645017 -0.0016421 -0.0454273 1.5334e-05 0.00253615 0 -0.00203547 0.00232492 -0.00858346 -0.00392383 -0.00317426 0 0 0 -0.0306423 -3.5623e-05 0.006343 -0.000800825 0.00144108 -0.00553905 0.000102703 -7.91141e-05 -0.000108248 0.000423795 0 0 0 0 0 0 -0.280664 0 -0.174513 0 0 0 0 0.0152186 -0.13671 0 0 0.00956972 0 0.00242372 0 -0.0025722 0 0 -0.303178 0 -0.66281 0.148878 0.0241962 -0.0424973 0 0 -0.0172553 0 -6.09926 0 -0.519314 -1.1776 0 0.795718 -1.29919 0.00319253 0 0.0250522 0 0 -0.0171893 0 -2.62551 -0.634904 0 0 -0.0981686 0 0 0.406978 0.213252 -0.0633456 0 3.29681 0 -0.416531 -0.0568816 0.1364 0.0788142 -0.0402631 0.871494 0.0422893 0.0234453 -0.790799 13.095 0.0295071 0 0 0 -0.0587618 0.00666665 0 0 0 0 -0.00310564 -4.123 -0.878335 -1.7137 -0.975629 0.583691 0.284824 -0.0510728 0.0127526 0.026186 -0.480221 0 0 0 0 0 0 +157 0 -1.27742 -0.165432 0.00193992 0.100616 -0.418183 -0.305642 0.964621 2.5428 0.00941732 0.181254 0.0589487 -0.585357 -2.16531e-06 -0.504707 0.00237511 -0.857323 -3.7637 0.109447 0.00549574 -0.1173 0.0123377 -0.133636 2.64492e-06 0.0509729 0.675502 -0.321604 0.00400082 0.804298 2.49203 -0.447578 0.000160127 0.128165 0.201918 0.0654491 0.361274 0.00121794 -0.0657688 3.07987 0.164294 -0.823641 -0.000136246 -0.0636696 0.00320688 -0.691542 -0.00835493 -0.767948 1.48647 0.30201 -0.00649002 -1.75118 0.0542863 -2.90949 -0.00657249 0.00761996 -0.0999738 -0.474716 -0.1618 -0.140336 -0.0136837 0.000164577 -1.23157 -0.133375 0.0318713 -2.30765 0.0144321 -2.29119 0.11376 -0.0942399 -0.000167294 0.128488 0.0305897 0.116827 0.124023 -0.562473 -2.43982 0.0175764 -8.67858 -0.4042 -5.72715 -0.671428 0.431325 -7.48439 -0.233528 0.0711963 -0.0456884 -7.47092 1.73387e-05 -0.000489736 0.0138068 -0.227123 -9.77888 0 0 0 0 0 0.00193992 0.100616 -0.00144014 0 0 0 0 -3.03125e-05 0 -0.00297404 0 0 -0.000211628 -0.000118588 -0.000206406 0 -2.91454e-05 0.000717842 -0.0195621 0 0 0.0855077 -8.15541e-06 0 -0.000429779 -0.0127491 0 0 0.00832696 0.0224612 0 -0.00175842 0 0.00160841 0 0 0.000145198 0 0 -0.0544749 -0.000432565 -0.00329283 0 -0.0205936 -0.00702696 0 0 -0.00960708 0 -0.00273055 0.0146552 0.00305021 0 0 0.00121239 0.00237352 0 0.00274944 0.0321212 -0.00377436 -0.00722377 0.00178699 -0.00263611 0 -0.0095204 -0.00176714 -0.0080812 -0.0101784 -0.00741271 0 0 0 0.115252 -0.00816578 0.0341741 0.00891674 -0.00952507 0.000988334 0.000492422 -0.000511636 0.000330093 0.00454034 0 0 0 0 0 0 -0.418183 0 -0.305642 0 0 0 0 -0.262233 -0.196073 0 0 0.0123495 0 0.0112488 0 -0.00241557 0 0 0.00659624 0 0.558085 0.0653638 0.0722061 0.00823718 0 0 -0.0190058 0 0.708797 0 3.9445 -0.155685 0 0.619563 0.908834 0.00964533 0 -0.0353194 0 0 -0.015939 0 0.349991 0.0572815 0 0 0.0292241 0 0 -0.220198 0.828616 -0.230628 0 -1.85583 0 0.565033 -0.0645186 0.12827 -0.0337263 0.0657017 -0.0198597 -0.0465071 -0.0635698 0.185586 -4.74841 -0.0377201 0 0 0 0.0161165 0.0157729 0 0 0 0 0.00202181 -25.5736 -1.2026 -4.16741 -0.656448 0.491031 -1.97577 -0.139297 0.0234524 0.0826805 -0.457297 0 0 0 0 0 0 +158 0 0.0236418 0.353064 0.121243 0.261902 -0.252012 -0.24105 0.168475 2.59353 0.614556 -2.30464 -0.0358988 -0.0908653 -0.049003 -0.131916 0.0557178 1.91959 5.50986 -0.366412 0.143149 0.728205 -0.0328483 -0.40616 0.0632349 -0.618615 0.579739 0.747172 0.357817 0.259171 1.20484 -0.0431648 0.218817 0.118684 -0.674542 1.08153 0.0504078 0.0322422 0.851557 -0.373716 0.0866678 0.0889859 -0.170215 3.08124 0.127324 -0.534781 -0.479612 -0.165534 0.540521 0.568844 -0.207861 1.08635 -1.14969 -1.67802 -0.214938 0.196531 -0.271812 2.02477 0.0730247 0.0825571 0.951805 0.263774 0.941494 0.0695215 2.71821 -3.54796 -1.39088 0.559134 2.372 1.21165 -0.285395 2.11542 0.0435102 -0.132147 -1.15565 1.08215 0.175584 -1.96578 5.75848 7.06797 -9.20219 1.98067 -1.76243 -1.75038 1.76762 -1.82642 3.08911 -4.78624 0.56522 -0.472552 0.32907 0.871061 -5.22029 0 0 0 0 0 0.121243 0.261902 0 0 0 0 0 0 0 0.0283327 0 0 0 0 0.0869431 0 0.0123198 0.0108684 0.194698 0 0 0.00883448 0 0 -0.0681279 0.28491 0 0 -0.00828211 0.0469095 0 -0.0316768 0 -0.0247021 0 0 -0.00870181 0 0 0.286324 0 0 0 0 0 0 0 -0.0799866 0 0 -0.206075 0 0 0 0 0 0 0 0.104908 0 0.769713 0 0.0131415 0 0 0.0643731 0.353092 0 0.0921795 0 0 0 -0.523212 0 -0.230059 0 0 -0.134064 0 0 0 -0.0810579 0 0 0 0 0 0 -0.252012 0 -0.24105 0 0 0 0 -0.00750811 0.749959 0 0 -0.293515 0 -0.0353457 0 0.00263224 0 0 0.0396058 0 0.473994 0.0220463 -0.00298695 0.00642713 0 0 0.012125 0 -0.67863 0 2.64764 -0.149566 0 0.25474 1.34226 -0.00207603 0 -0.00356908 0 0 0.0831481 0 -0.341139 -0.898704 0 0 -0.0773618 0 0 -0.327115 -0.94379 0.114307 0 -0.321594 0 0.0816425 0.061497 -0.0693996 0.0269099 -0.0324685 -0.157356 0.0176721 0.0227044 -0.179305 -0.927843 0.0102126 0 0 0 0.167466 0.00522887 0 0 0 0 -0.180352 -19.2829 0.918456 -4.26404 -0.0364713 0.298263 -2.00811 0.0673564 -0.027734 0.119802 -0.200448 0 0 0 0 0 0 +159 0 -1.0425 -0.42706 -0.0680125 -0.0887788 -0.135886 0.184293 -0.136377 -0.567282 -0.412904 1.20176 0.139726 0.857253 0.0278627 1.42047 0.050058 -0.874003 -3.8379 0.270892 0.0431236 0.895786 0.0769996 0.305789 -0.0360472 0.454577 -0.214982 -0.320548 0.0165635 -0.2367 -0.687318 0.253804 -0.131206 0.322656 1.10403 -0.219001 -0.00753527 0.00738572 -0.0811394 5.26112 -0.0216101 0.298043 0.0995304 -1.68671 -0.0642186 5.05374 0.298561 0.250461 -0.495561 0.245946 0.130096 -0.83202 0.554489 5.15672 -0.0871306 0.0719109 -0.237405 2.36177 0.159639 0.0922824 -0.621076 -0.170159 0.42368 -0.0455363 1.08462 2.06759 0.912207 0.174793 -0.776117 -0.306359 0.194047 -0.664924 -0.209726 0.110099 0.401338 0.993753 0.765301 2.04473 -20.2868 -5.92165 0.034791 -4.3761 2.60261 -3.90116 -1.31964 0.927868 -1.06088 0.505848 -0.351853 0.27511 -0.241797 -0.5572 2.97798 0 0 0 0 0 -0.0680125 -0.0887788 0 0 0 0 0 0 0 -0.00652003 0 0 0 0 -0.0397283 0 -0.0048914 0.0227655 -0.0598304 0 0 0.293969 0 0 0.0644192 0.761927 0 0 0.0459696 0.132009 0 0.116465 0 0.0784766 0 0 0.0140309 0 0 0.422577 0 0 0 0 0 0 0 0.119397 0 0 0.23169 0 0 0 0 0 0 0 0.162479 0 1.83847 0 -0.057711 0 0 0.00750411 0.602863 0 -0.00532705 0 0 0 -0.757562 0 -0.0180205 0 0 -0.211303 0 0 0 0.0258952 0 0 0 0 0 0 -0.135886 0 0.184293 0 0 0 0 0.186028 -0.494064 0 0 -0.0822416 0 0.00601411 0 -6.38946e-05 0 0 -0.120706 0 -0.0476054 0.0438026 -0.0947034 -0.0125475 0 0 0.0306378 0 -0.00536623 0 2.62276 0.214313 0 0.384835 0.357678 -0.00541714 0 0.022264 0 0 -0.0635324 0 0.280269 0.809969 0 0 0.0932974 0 0 0.192382 -1.02397 0.320867 0 -0.572325 0 0.0345827 0.00902172 -0.128932 -0.186305 0.0312945 0.33028 -0.279912 0.0207689 0.983162 2.69196 0.0117583 0 0 0 -0.133029 -0.0238062 0 0 0 0 0.208841 -12.8521 0.0303149 -2.33528 -0.462936 0.447489 -1.24105 0.0285407 -0.0272588 0.130486 -0.330785 0 0 0 0 0 0 +160 0 -1.1838 -0.585628 -0.0151131 -0.0270864 -0.231741 -0.147699 0.268086 2.58805 -0.0831244 -0.00729962 -0.165829 -0.823936 0.00614407 -1.43055 -0.073122 -2.46566 -10.5703 -0.0172534 -0.175077 0.391257 -0.0746131 0.321855 -0.00793732 -0.0684073 0.303386 -0.827064 -0.27857 0.0775831 1.36583 -0.389999 -0.0280848 -0.346353 1.63025 -0.527188 -0.0601437 -0.0379269 -0.881819 8.2111 -0.460393 -0.0224471 0.0216046 -2.04267 -0.105178 -3.8403 0.0626075 -0.0367633 0.284778 -0.861827 0.238609 -3.76589 0.711066 4.82064 0.264664 -0.24588 0.14222 2.0716 0.530788 0.141111 0.0510732 -0.0350023 -1.4964 -0.429628 -0.624125 -0.794709 1.96595 0.585749 1.25855 -0.985987 0.0388221 0.964386 -0.324643 -0.569658 0.902304 -0.0118638 0.30107 1.79263 -41.9444 -3.08127 -11.3318 -3.90897 5.89525 -17.8828 0.203357 0.328254 -0.932152 -4.35864 -0.0737826 0.326305 -0.940444 2.19768 -5.91781 0 0 0 0 0 -0.0151131 -0.0270864 0 0 0 0 0 0 0 0.017906 0 0 0 0 0.0136245 0 0.00278106 -0.124656 0.0979516 0 0 -0.324402 0 0 -0.0186388 -2.01972 0 0 -0.0222861 -0.513328 0 -0.0645435 0 -0.0610187 0 0 -0.00346992 0 0 -0.0164044 0 0 0 0 0 0 0 -0.0849474 0 0 -0.155532 0 0 0 0 0 0 0 -0.0268239 0 0.189362 0 -0.00479269 0 0 0.107197 -0.01724 0 0.076974 0 0 0 0.0337864 0 -0.0907304 0 0 0.00418054 0 0 0 -0.0410539 0 0 0 0 0 0 -0.231741 0 -0.147699 0 0 0 0 0.276284 -0.397666 0 0 0.29161 0 0.0377344 0 -0.00783976 0 0 0.396206 0 0.49995 0.123438 0.0936609 0.0418773 0 0 -0.103396 0 0.31821 0 5.44454 0.0587871 0 0.827172 1.58098 0.0112165 0 0.0429821 0 0 -0.0358631 0 0.431885 0.458309 0 0 0.0243016 0 0 0.259898 -4.84205 0.231277 0 0.546455 0 -0.931905 0.0454692 -0.142819 0.0132216 -0.219124 -0.367632 -0.300723 0.0622326 -0.175872 -0.24362 0.183638 0 0 0 -0.104606 -0.079126 0 0 0 0 0.0882244 -47.913 -1.22348 -10.7492 -0.660016 0.516825 -3.60282 -0.144949 0.0540945 -0.0737943 -0.656445 0 0 0 0 0 0 +161 0 0.339586 -0.315958 0.00334335 0.109568 -0.182859 -0.113729 0.32791 0.953143 0.017526 0.249747 0.0969979 -1.05718 -9.74574e-06 -1.57009 0.000577854 -2.55712 -9.7042 0.0647212 -0.00165103 -5.00417 0.0085207 0.147495 1.24865e-05 0.0865982 -0.0289811 -0.801007 -0.00760015 -0.393726 -1.98242 -0.219845 0.00048311 0.0560741 0.250278 -0.0346601 -0.00854074 0.00275031 -0.112019 0.867342 0.18614 -2.38274 -0.000388422 -0.505886 0.00524046 -4.61538 -0.0147019 -0.93624 -0.931895 0.0128785 -0.00995073 -1.91272 0.158874 -1.06753 0.00348937 -0.00336638 0.0194019 -2.07287 -0.0485194 0.00462186 -0.0787012 0.000560246 -1.17194 2.57475 0.201508 -0.388988 0.286732 -0.717775 0.095072 -0.145903 -0.000574166 0.119912 0.0813956 0.133517 0.128877 -0.89841 -0.294997 0.635963 -1.1574 -0.502112 -1.74253 -0.278588 0.266475 -0.628696 -0.193464 0.11173 -0.247847 -1.12282 8.73753e-05 -0.00121786 0.0186818 -0.251579 3.44947 0 0 0 0 0 0.00334335 0.109568 0 0 0 0 0 0 0 0.000224801 0 0 0 0 0.000376616 0 2.59141e-06 0.00073986 0.0105359 0 0 -0.0556317 0 0 -0.00211737 -0.149011 0 0 -0.00832397 0.00299105 0 -0.0268688 0 -0.00205912 0 0 -0.000305137 0 0 -0.188126 0 0 0 0 0 0 0 -0.0406248 0 0 -0.0174256 0 0 0 0 0 0 0 -0.021773 0 -0.0590394 0 0.0221682 0 0 -0.0164296 -0.0599221 0 0.0305825 0 0 0 0.342919 0 0.0209639 0 0 0.0888677 0 0 0 -0.0042665 0 0 0 0 0 0 -0.182859 0 -0.113729 0 0 0 0 0.499429 -0.339485 0 0 -0.224415 0 -0.0106783 0 -0.00974107 0 0 -0.928852 0 0.538463 0.211076 -0.0710118 -0.133128 0 0 -0.136331 0 -2.29106 0 0.0469392 0.133854 0 1.2489 0.484725 -0.00128658 0 0.0912542 0 0 -0.0272713 0 -0.510939 -1.80069 0 0 -0.26028 0 0 -0.51138 -2.49442 -0.542472 0 -2.76176 0 -0.428975 -0.0326172 0.143516 0.0434175 -0.121443 -1.29971 0.0437152 -0.0245688 -0.155176 -11.1334 -0.0367088 0 0 0 0.041528 0.0310395 0 0 0 0 0.00786053 -0.919146 0.949979 -3.66421 0.071842 -0.0019946 0.200887 0.0041682 -0.015354 0.122865 -0.631997 0 0 0 0 0 0 +162 0 0.782258 -0.186616 0.00179167 0.044879 0.0521036 -0.309429 0.412017 0.131424 0.0106277 -0.00922022 0.0159578 -0.584648 -5.32045e-06 -0.549376 -0.00111927 -2.20316 -7.58952 0.0068515 -0.00332321 0.122836 0.000137757 0.281976 6.93908e-06 0.0166131 0.293321 -0.869749 -0.000359139 0.860357 0.58672 -0.279873 0.000277948 -0.0439956 -0.184939 -0.00508664 0.360066 0.00063182 -0.0502974 -4.19552 0.0570828 -0.734562 -0.000205735 -0.070088 0.0019071 -2.17271 -0.00738553 -0.984127 0.795253 -0.123857 -0.00388652 0.108398 -0.0182997 5.23083 0.00371764 -0.00328559 0.0308421 1.42295 -0.0087179 -0.00653795 -0.0357228 0.000300933 -0.952964 0.544082 -0.487978 0.606945 0.0788561 -0.451601 -0.331763 -0.0814834 -0.000350921 -0.0649976 -0.00311775 0.0327345 0.0206978 0.303096 -0.778499 -0.274783 11.1914 0.580807 2.32638 0.498072 -0.783489 5.0024 -0.0635492 -0.0347057 0.111468 0.0371946 4.3893e-05 -0.000503556 0.00468206 -0.0231349 -1.02091 0 0 0 0 0 0.00179167 0.044879 0 0 0 0 0 0 0 0.000492775 0 0 0 0 0.000328621 0 1.7845e-05 0.000462572 0.0112348 0 0 -0.0420518 0 0 -0.0012956 -0.0632778 0 0 -0.00661617 0.0112654 0 -0.0291891 0 -0.00122042 0 0 -0.000192827 0 0 -0.130135 0 0 0 0 0 0 0 -0.0170851 0 0 -0.0345337 0 0 0 0 0 0 0 -0.0170564 0 -0.150126 0 0.0126856 0 0 -0.0076772 -0.0630611 0 0.0131044 0 0 0 0.255358 0 0.0047614 0 0 0.0448029 0 0 0 -0.00482835 0 0 0 0 0 0 0.0521036 0 -0.309429 0 0 0 0 -0.0557099 0.213835 0 0 0.0413666 0 0.00611653 0 0.00586372 0 0 -0.20499 0 0.676848 -0.0430183 -0.00221675 -0.0254472 0 0 0.0490537 0 -4.69358 0 -4.2097 -0.792317 0 -0.362617 -0.103743 0.00138708 0 0.000275402 0 0 0.0259423 0 -1.58984 -1.18941 0 0 -0.133153 0 0 0.208709 0.57351 0.216745 0 0.773286 0 0.582565 0.0621581 -0.054907 0.23795 -0.0611183 -0.110784 -0.270647 0.0535042 -0.191936 1.74939 -0.0104665 0 0 0 0.00228443 -0.0333688 0 0 0 0 -0.0458637 25.1243 0.878547 2.86341 0.495672 -0.499006 2.47426 -0.0790872 0.0498748 -0.0331487 0.215208 0 0 0 0 0 0 +163 0 0.172391 0.111339 0.000265754 0.0101964 0.0409577 0.0207388 -0.512615 -0.696363 0.00126028 0.0862341 0.00852795 -1.00141 -7.6415e-07 -1.8001 -8.91411e-05 -0.610195 -1.79047 -0.0258525 -0.000522508 -0.799614 -0.00166717 -0.386689 9.65892e-07 0.0187863 -0.358949 0.0348573 -0.0016075 0.00890994 -0.269708 -0.487841 3.63533e-05 -0.00166969 -0.532558 -0.0145704 -0.262105 0.000244615 0.00802231 -0.0803699 0.0246535 -0.056559 -3.11342e-05 0.0757172 0.000621212 -2.9819 -0.00122161 0.34665 -0.0935264 -0.0169242 -0.00112275 -0.749107 0.0117636 7.47484 0.00075964 -0.000761978 0.0145613 6.08398 -0.0293294 -0.0443985 -0.0404966 4.4457e-05 -0.32323 1.49755 -0.122115 0.517054 -0.0014 0.278429 -0.171137 0.0322113 -4.09926e-05 -0.149486 -0.0430107 0.0240455 -0.0458155 3.95716 -0.284134 -0.12068 -0.777459 0.0543001 -0.190395 -0.0672275 0.0363954 -0.647911 -0.084925 0.0247204 -0.131008 0.810196 7.26018e-06 -0.000128494 0.00186427 -0.0336436 0.4693 0 0 0 0 0 0.000265754 0.0101964 0 0 0 0 0 0 0 0.000939639 0 0 0 0 0.000136355 0 1.82711e-05 -0.000267845 0.00605101 0 0 -0.0221672 0 0 -0.00028268 -0.0892851 0 0 -0.00307064 -0.00938074 0 -0.00373906 0 -0.000542079 0 0 -7.53187e-05 0 0 -0.0111841 0 0 0 0 0 0 0 -0.00817641 0 0 -0.00715172 0 0 0 0 0 0 0 -0.00402342 0 -0.0485341 0 0.00196513 0 0 -0.000345973 -0.0169898 0 0.00195741 0 0 0 0.0183924 0 -0.00318931 0 0 0.00711525 0 0 0 -0.00250849 0 0 0 0 0 0 0.0409577 0 0.0207388 0 0 0 0 -0.187429 -0.112047 0 0 -0.0840651 0 -0.00977632 0 -0.00687592 0 0 -0.755016 0 -0.619723 -0.0572291 -0.0565057 -0.0731523 0 0 -0.0727554 0 -3.39346 0 -0.53055 -1.14873 0 -0.289454 -0.835984 -0.00623717 0 -0.0302292 0 0 -0.0109397 0 -2.40238 -0.846644 0 0 -0.0622977 0 0 -0.143113 -0.556674 -0.000578536 0 0.42625 0 0.446701 -0.0213417 0.0303095 -0.240056 -0.0123615 -0.976683 -0.198373 -0.0719156 0.114324 6.92862 -0.0185106 0 0 0 0.0604434 -0.0127501 0 0 0 0 -0.0265868 4.56623 0.463784 1.15123 0.0208962 0.0570036 -0.649003 -0.0448734 -0.0303319 0.0949772 0.00300722 0 0 0 0 0 0 +164 0 0 0 0 0 -0.750872 -0.197359 0.115565 2.33916 0 0 0.0980112 -0.277776 0 -1.06896 0.0332715 0 0 0 0.156427 1.14926 0 0 0 0 0.424114 0 0 0.268671 -3.08676 -0.344026 0 0.0593845 0 0 0.0801988 0.00634937 0 0 1.35763 0.348676 0 0 0.27858 -1.07948 0 -0.106177 -0.282514 0.337216 -0.395921 0.518964 -0.230338 0 -0.225826 0.17771 -0.273569 1.05284 0.135955 0.333577 0 0 -1.23736 -4.49913 0 -0.340152 -0.251053 0.00386248 0 0 0 0 -0.148293 0.977116 0 -0.839085 0.733347 0 0 0 -2.81254 0 -1.889 3.16758 0 -0.66642 0.161107 -1.66264 0 -0.743505 0.614856 -3.11722 9.9711 0 0 0 -0.288218 -0.0397015 0 0 0 0.0147945 0 0 0.00333691 0 0 0.011693 0 0 0 0 -0.0841865 0 -0.00936996 0 0.041762 0 0.067279 0.0250368 0 0.00495366 0 0 0.204564 0 -0.00996513 0 0 0 0 -0.00797922 0.0311411 0 -0.00435141 0 0 0 0 0 0 0 0 0 0 -0.0102403 0 0 0 0 0 0 0 0 0 0 -0.252411 0 0 0 -0.0547076 -0.0182576 0 -0.0366782 -0.252525 0 -0.0745294 0 -0.213874 0 0 0 -0.0172208 0 0 -0.19123 0 0 0 -0.0884346 0 0 0 0 -0.175667 0 -0.750872 -0.288218 -0.197359 -0.0397015 0.0774979 0.131906 -0.205434 0.358413 0.321449 0.0191455 0.0485723 0.596808 0.00233274 0.0938165 -0.0239206 -0.00156687 0.0429206 0.140602 -0.343242 0.0694648 0.16986 0.240106 0.228021 0.0272316 0.347746 -0.180499 0.0711863 0.027618 -1.71605 0.486869 2.04134 -1.10315 -0.00279534 1.33135 0.691771 0.0329691 0.00758102 0.0545178 0.0759375 -1.19137 0.00595067 -0.0310542 -2.3009 0.18261 0.00557409 0.0545531 0.232181 0.0905094 0.231479 -0.593189 1.47689 0.140967 -0.0809371 0.575167 0.00633099 0.608797 -0.216033 0.062363 -0.854978 0.0159446 0.554574 -0.413227 -0.448702 0.0130424 7.27299 0.119484 -0.66473 0.0393636 0.0402277 0.285649 -0.0954596 -0.092937 -0.00924729 0.0589833 -0.022651 -0.175335 -20.5462 -4.43966 -5.65688 -1.04132 -1.72284 4.05778 -0.196494 -0.285066 0.402201 -0.206 -0.0459738 -0.133621 0.227122 -0.564657 1.44715 0 +165 0 0 0 0 0 0.447365 0.475967 -1.70449 -4.06838 0 0 -0.249098 0.796549 0 0.000520222 -0.1399 0 0 0 -0.214469 3.24568 0 0 0 0 -0.920558 0 0 -0.846513 -3.89726 0.433842 0 -0.798392 0 0 -0.456801 -0.063285 0 0 -0.759831 1.20821 0 0 -0.244097 1.56671 0 0.819588 -1.52765 -1.03862 0.484063 -1.06902 0.845597 0 0.337426 -0.222692 -0.287439 -0.934685 -0.0377776 -0.279682 0 0 -1.62343 -0.738393 0 -0.430543 0.100252 -0.223666 0 0 0 0 -0.857235 -0.743979 0 -0.00722231 0.665426 0 0 0 7.46741 0 1.74165 5.39334 0 0.509463 1.55041 4.68759 0 0.443759 1.54621 -1.21223 10.0779 0 0 0 0.0399023 0.0196682 0 0 0 0.0178612 0 0 -6.91498e-05 0 0 -0.0165754 0 0 0 0 0.0160683 0 0.00384548 0 -0.0868132 0 0.232888 0.353923 0 -0.00649099 0 0 -0.26125 0 0.0451408 0 0 0 0 0.0356532 -0.0415361 0 0.00710531 0 0 0 0 0 0 0 0 0 0 -0.0211822 0 0 0 0 0 0 0 0 0 0 0.17112 0 0 0 0.0313786 -0.0316787 0 -0.120972 0.0114887 0 0.0281627 0 0.175236 0 0 0 0.0937847 0 0 0.247563 0 0 0 0.0506407 0 0 0 0 0.212066 0 0.447365 0.0399023 0.475967 0.0196682 0.347749 0.100771 0.175367 0.131909 -0.266788 -0.0203878 -0.00417461 -0.565193 -0.00268199 -0.0950396 0.0267346 -0.0350224 0.0187101 -0.125516 -0.00766213 0.185356 0.258914 -0.185527 -0.183553 0.00617885 0.107512 -0.135498 -0.333323 -0.00168183 -0.776494 -0.180728 1.78707 0.696138 0.00356187 -0.537178 0.849588 -0.0323092 -0.00340763 -0.00915805 -0.0284399 -0.813067 -0.00940668 -0.0182862 -0.203762 0.563364 8.10491e-06 -0.027372 0.0190126 -0.00515355 0.297566 -0.745772 -6.07816 0.141246 -0.125295 -2.00982 -0.0530142 -0.894748 0.0818311 -0.207506 0.399385 -0.0502482 -0.630206 -0.831814 0.0209999 0.116064 -3.72902 -0.288197 -0.999919 -0.0144282 0.0818061 -0.0737248 0.22215 0.0500887 0.0468936 -0.0567958 -0.0758333 -0.0190086 -17.9869 1.58702 0.868583 0.339492 1.04251 1.54855 0.180711 0.0276004 0.585386 0.407667 0.0410409 -0.00212634 0.219735 -0.122895 0.929237 0 +166 0 0 0 0 0 -0.33427 0.0498883 0.571309 1.63144 0 0 -0.0277652 0.797054 0 1.88502 -0.0043754 0 0 0 -0.0107258 -0.352191 0 0 0 0 0.143889 0 0 0.152817 5.82146 0.518693 0 -0.00559066 0 0 -0.0108612 0.00234693 0 0 -0.488027 0.760866 0 0 -0.0396184 2.50123 0 0.664491 1.26772 0.00320115 0.130147 0.903897 0.169173 0 0.0305259 -0.120599 0.254757 0.928419 0.726677 -0.221549 0 0 0.0553402 3.01113 0 0.562932 0.128102 -0.864281 0 0 0 0 0.105169 0.166953 0 -1.07421 -1.68825 0 0 0 -3.29984 0 0.0139151 -7.33123 0 0.0527709 -1.93282 -3.10662 0 0.344363 -2.31502 4.71525 -20.3364 0 0 0 0.0425123 0.00454843 0 0 0 0.00620027 0 0 5.46011e-05 0 0 0.000795371 0 0 0 0 -0.0121909 0 -0.000887321 0 0.0122266 0 0.122009 0.26714 0 0.00103501 0 0 0.0586685 0 0.0221522 0 0 0 0 0.0898577 0.00854911 0 0.00785127 0 0 0 0 0 0 0 0 0 0 -0.00729007 0 0 0 0 0 0 0 0 0 0 -0.0446979 0 0 0 -0.0277049 -0.0276015 0 0.0761857 -0.0902695 0 -0.0315944 0 -0.00262758 0 0 0 -0.0152493 0 0 -0.05158 0 0 0 -0.00916596 0 0 0 0 -0.0623769 0 -0.33427 0.0425123 0.0498883 0.00454843 -0.661963 -0.0973685 0.0167455 -0.363621 0.659995 -0.00118744 0.00661279 -0.106068 -0.000126424 -0.00895207 0.00136719 0.0227572 0.0197151 -0.0109542 0.146567 -0.67955 0.204403 0.113293 0.0271954 0.0655509 0.0980992 0.310442 0.29135 -0.00857911 5.10873 -0.391658 -0.626702 0.794902 0.000119385 0.342811 -0.232523 0.00037544 -0.00649185 -0.0345029 -0.063421 2.07954 0.0593723 0.0426946 2.01939 -0.153166 0.00161281 -0.0411464 0.0881853 -0.0655355 -0.108916 0.50041 5.36633 0.125447 -0.070187 1.32324 0.00387665 1.57014 0.0594112 0.405395 -0.0305789 -0.00155135 1.97281 0.709811 0.184157 0.508445 6.71866 0.119635 0.576616 -0.0295597 -0.356746 -0.122072 -0.00950072 0.0938972 -0.00284453 0.0534273 0.0963824 0.00662694 6.30777 0.974712 -1.44552 0.157586 1.32872 -7.47673 0.0250479 0.298713 -1.15501 -0.576545 0.00358178 0.185613 -0.610824 0.893288 -2.52842 0 +167 0 -1.37893 -0.466003 -0.0447667 -0.255434 0.286479 -0.0680473 -0.738 -1.89357 -0.295993 1.4855 -0.309345 0.388088 0.00496551 1.69341 0.0188356 -0.248593 -0.761461 0.179257 0.0434313 0.698272 0.0369711 0.422874 -0.00636838 0.317379 0.0280556 -0.409612 0.0601632 0.353013 0.368548 0.208285 -0.0465281 0.0095741 1.13157 0.154826 0.125747 -0.0363707 0.147282 5.12727 -0.432386 0.134535 0.0374801 -0.0757516 -0.0550587 2.60652 0.251271 -0.205211 0.433692 0.122873 0.14757 0.281473 0.768446 2.33439 -0.0813201 0.0775314 0.0669163 -2.33948 -0.280907 0.240302 -0.460672 -0.0747918 1.9177 -1.84696 -0.474474 0.048496 -0.332093 -0.174493 -0.285009 0.184469 0.0754577 -0.999797 0.485563 -0.123467 -0.12397 -2.26533 -0.6934 -0.0742275 -16.3814 -5.61454 2.67937 -2.81926 2.13595 -4.77505 -0.740001 0.646382 -1.55344 2.011 -0.0931052 0.117312 -0.309485 0.469633 -0.707567 0 0 0 0 0 -0.0447667 -0.255434 0 0 0 0 0 0 0 0.0197369 0 0 0 0 0.0281216 0 0.00387563 -0.0196586 0.14426 0 0 0.00212441 0 0 -0.0208523 -0.372046 0 0 0.0126523 -0.0877432 0 -0.0461016 0 0.00100349 0 0 0.00255986 0 0 0.157827 0 0 0 0 0 0 0 -0.0630538 0 0 -0.0652096 0 0 0 0 0 0 0 -0.063274 0 -0.325726 0 0.0175122 0 0 -0.0277446 -0.188559 0 -0.00911789 0 0 0 -0.278051 0 -0.164956 0 0 -0.0834091 0 0 0 -0.0603508 0 0 0 0 0 0 0.286479 0 -0.0680473 0 0 0 0 -0.0627843 -0.654145 0 0 0.819244 0 0.0870021 0 -0.0257847 0 0 0.264897 0 1.11161 -0.122372 0.274842 0.0245182 0 0 -0.275732 0 -3.47382 0 6.06183 0.3031 0 -0.686131 2.5658 0.0270768 0 -0.0282585 0 0 -0.0599884 0 0.14879 -0.160539 0 0 -0.0279804 0 0 -0.054511 -5.68479 0.123257 0 -1.16701 0 -0.826199 0.115946 -0.243504 -0.772629 0.118349 -0.0774503 -0.589177 0.00931799 0.236455 -6.50953 -0.0551639 0 0 0 -0.158802 -0.0789879 0 0 0 0 0.175229 -52.9569 -7.54282 0.867031 -1.2259 0.855096 -2.828 -0.194526 0.151924 -0.423733 0.419407 0 0 0 0 0 0 +168 0 0.659004 -0.10701 0.0292821 0.105828 0.0797816 -0.254599 0.46905 0.659831 0.245543 -0.931013 0.105396 -0.62388 -0.00334526 0.389937 -0.0129734 -0.807181 -3.10031 -0.177084 -0.05358 1.24136 -0.0324979 0.0859821 0.00435887 -0.230974 0.261389 -0.288982 -0.029315 0.572103 0.0987465 -0.25939 0.0340876 -0.0771357 -0.249039 -0.0745013 0.278133 0.0100658 -0.0397628 -1.93841 0.266947 -0.13505 -0.0252074 0.0854946 0.0312969 -0.639339 -0.16669 -0.65377 0.390038 -0.419365 -0.0822776 0.806152 -0.396252 -1.62788 0.0845159 -0.0844657 -0.0306876 2.6657 0.209056 -0.222745 0.329385 0.0543968 -0.608672 1.49073 0.802279 1.04283 0.154109 0.120143 -0.651998 -0.277166 -0.0643667 0.876327 -0.358369 0.0983731 -0.0763598 1.6179 0.229917 0.187234 7.81231 3.9325 -2.50545 1.50474 -1.0832 1.74408 0.514304 -0.402449 0.8953 -0.940733 0.0617646 -0.074138 0.141717 -0.241631 -0.189581 0 0 0 0 0 0.0292821 0.105828 0 0 0 0 0 0 0 -0.0106708 0 0 0 0 -0.0174966 0 -0.00225668 0.00843237 -0.0827231 0 0 -0.0639805 0 0 0.0194301 0.110093 0 0 -0.0174379 0.0286526 0 0.0482337 0 -0.0115885 0 0 -0.00335443 0 0 0.104784 0 0 0 0 0 0 0 0.073924 0 0 0.0483519 0 0 0 0 0 0 0 -0.0385962 0 -0.684387 0 -0.0349714 0 0 0.00690145 -0.162925 0 -0.115878 0 0 0 -0.175359 0 0.0553369 0 0 -0.0638693 0 0 0 0.0345114 0 0 0 0 0 0 0.0797816 0 -0.254599 0 0 0 0 0.296398 0.601843 0 0 -0.324724 0 -0.0345757 0 0.0176069 0 0 0.302896 0 0.498664 0.0531564 -0.173104 0.038823 0 0 0.151144 0 2.33161 0 -0.679838 -0.0408474 0 0.186127 0.450834 -0.0124 0 0.0483017 0 0 0.0600252 0 1.18273 -0.249794 0 0 -0.0232992 0 0 -0.0117846 4.84256 0.0768037 0 1.0711 0 0.916073 -0.038863 0.0870883 0.350923 0.0481497 0.331742 0.343289 -0.0395099 -0.418115 1.9953 -0.0133595 0 0 0 0.123231 0.062902 0 0 0 0 -0.13676 10.2461 3.37388 -2.27098 0.353203 -0.258489 0.468389 0.036003 -0.0360685 0.191883 -0.148323 0 0 0 0 0 0 +169 0 -1.08753 -0.23788 7.20825e-05 0.00636075 -0.379624 -0.152321 -0.276502 1.01948 -0.00456769 -0.594547 -0.0746064 -1.11253 1.455e-06 -1.60694 0.000947603 -1.82879 -7.30796 -0.0815627 -0.00790359 -1.75093 -0.00616483 -0.181014 -8.51988e-06 -0.030752 0.0902317 -0.430353 -0.0086731 -0.159424 -0.908042 -0.456055 -0.000279936 0.00648075 -0.295957 -0.0442393 -0.0785965 -0.00710496 -0.0721482 0.430684 -0.218663 -1.20361 6.81752e-06 -0.38729 -0.0212326 -3.70082 -0.000178064 -0.715008 -0.48075 -0.0873837 0.056082 -1.09875 0.037507 5.09373 0.0079562 -0.0147252 -0.262913 2.45148 -0.903941 -0.652088 0.125491 -0.000411382 -0.923024 3.32657 0.766448 -0.382258 0.178383 0.00189376 -0.0532848 -0.232777 0.00133639 0.478021 -0.342018 -0.266117 0.0176074 3.17369 0.780368 -0.426809 -3.3401 0.452688 -2.90284 0.104709 -0.162857 0.66433 0.260469 -0.475262 1.62891 -2.36795 6.59794e-05 0.040485 0.168402 0.0754523 1.74333 0 0 0 0 0 7.20825e-05 0.00636075 0 0 0 0 0 0 0 0.00945441 0 0 0 0 0.00547028 0 0.000934463 0.0227815 0.054713 0 0 0.141278 0 0 -0.00626315 0.760701 0 0 0.0125503 0.152749 0 -0.0293304 0 0.0144033 0 0 0.0013085 0 0 0.00663491 0 0 0 0 0 0 0 -0.0441894 0 0 -0.0797589 0 0 0 0 0 0 0 0.00268009 0 -0.144509 0 0.00146818 0 0 -0.0484243 -0.0219886 0 0.0315076 0 0 0 -0.015752 0 -0.0512377 0 0 0.000226293 0 0 0 -0.0230527 0 0 0 0 0 0 -0.379624 0 -0.152321 0 0 0 0 0.542234 -0.407322 0 0 -0.354494 0 -0.0413207 0 -0.0126487 0 0 -0.534045 0 0.0152868 0.152327 -0.0762073 -0.103713 0 0 -0.205063 0 -8.21343 0 3.06047 -0.726437 0 1.53588 0.716197 -0.00753272 0 0.0544279 0 0 -0.0202309 0 -2.40408 -1.53865 0 0 -0.264 0 0 -0.042333 1.51729 -0.715738 0 -0.964443 0 -0.444008 -0.11823 0.200322 0.310933 -0.24228 -0.44389 0.349137 0.0829949 -1.46261 -6.55216 0.0855144 0 0 0 -0.187115 0.0575866 0 0 0 0 -0.116995 -28.2757 0.219314 -9.19859 -0.196693 0.00218135 -1.67707 0.24975 -0.254881 0.299455 -0.929783 0 0 0 0 0 0 +170 0 0 0 0 0 0.0517455 0.00882616 0.208379 -0.208067 0 0 -0.114978 0.605077 0 1.57026 -0.0513957 0 0 0 -0.0328071 -1.24158 0 0 0 0 0.121412 0 0 0.426998 2.24486 0.133267 0 0.290408 0 0 0.0931503 -0.0493745 0 0 -1.54859 0.399429 0 0 -0.454376 4.458 0 0.202292 0.831175 1.61 0.846716 -1.66933 0.114507 0 0.606343 -0.0136235 0.287128 -0.0773819 -0.0417352 -0.615391 0 0 0.786531 -1.62993 0 -0.651971 0.919704 -0.294002 0 0 0 0 0.400428 -0.849121 0 -0.32055 -1.21155 0 0 0 0.563945 0 1.86355 -3.22482 0 0.716445 -0.342838 -0.93837 0 1.7604 -1.48131 2.79763 -5.10653 0 0 0 0.26784 0.0788471 0 0 0 -0.0544833 0.0263629 0 -0.00704016 0 -0.00675549 -0.0858068 0 0 0 0 -0.0388431 0 -0.0305045 0 -0.208289 0 -0.400323 -0.866428 0 -0.0114814 0 0 -0.251471 -0.00145005 -0.160543 0 -0.00201919 0 0.00127556 -0.338739 -0.054242 -0.0251651 -0.0615311 0 -0.000376885 0 0 0 -0.000121812 0 0 0.00276454 -0.00202591 -0.0486601 0.0124184 0 0 -0.0173786 0 -0.00615343 0 0 0.0569624 -0.0185914 -0.0571504 -0.00666949 0 0 -0.0898613 -0.0481689 -0.0108041 -0.175148 -0.104799 0 -0.175461 -0.0147181 -0.387558 0 0 0 1.28269 0 0.0913173 0.788013 0 0.00790417 0.0643517 0.060608 0 0.000828254 0.00678319 0.00819409 0.0680646 0 0.0517455 0.26784 0.00882616 0.0788471 -0.233058 -0.137176 0.606015 0.157075 0.141006 -0.0877987 0.0297342 -0.407673 -0.018659 -0.07089 0.117106 -0.0362248 0.0188819 -0.333026 0.595831 -0.958639 0.0520581 -0.0160979 -0.213698 0.0755635 0.315812 0.0948828 -0.0309507 -0.0208204 -0.966365 -0.267351 -0.0418946 -0.618945 0.0207097 0.201354 -0.0481825 -0.0289338 -0.00168118 0.00312158 -0.0426662 0.572193 0.0184416 0.0163726 -0.628577 1.15697 -0.0009484 -0.00134107 0.135128 -0.154039 0.00228551 -0.291349 1.79224 -0.701917 0.126895 0.414458 -0.153924 -1.19618 -0.0453418 0.252413 0.112422 -0.0660349 0.267794 0.860756 -0.126592 1.53764 3.5856 -0.0460253 0.0293212 -0.14319 -0.203773 0.140208 0.143249 0.0288365 0.184112 -0.159708 0.0774532 0.533354 0.205906 1.02956 -0.19429 0.843714 0.614005 -1.47133 0.466853 -0.0347294 -0.278929 -0.0379561 0.402603 -0.00437482 -0.264625 0.357494 -0.43672 0 +171 0 0 0 0 0 -0.652281 -0.414892 1.05681 3.25227 0 0 0.1214 -0.205098 0 -0.265988 0.079307 0 0 0 0.294674 2.74187 0 0 0 0 0.842839 0 0 0.947367 0.170949 -0.483796 0 0.381199 0 0 0.432973 0.00952547 0 0 1.30622 -0.228825 0 0 0.350952 1.78189 0 -0.691223 0.769329 0.775543 -0.607616 0.843077 -0.529337 0 -0.141462 -0.0849869 -0.147265 1.32107 0.0708954 1.07557 0 0 -0.0736127 -1.97403 0 -1.09629 -0.645842 -0.460995 0 0 0 0 -0.302431 0.944321 0 1.39661 -0.0395862 0 0 0 -4.72116 0 -1.67261 -0.675027 0 -0.927566 0.190544 -4.60756 0 -1.58063 -0.0117598 -1.05545 -0.454289 0 0 0 -0.203941 -0.022613 0 0 0 0.117997 -0.0142777 0 0.0183689 0 0.00337003 -0.0334786 0 0 0 0 -0.106404 0 -0.0256774 0 -0.0463887 0 0.744784 0.539538 0 0.0033942 0 0 0.239101 0.00168969 0.0715919 0 -0.00728821 0 -0.000859258 0.151523 0.0309192 0.0298994 0.0218302 0 0.000204525 0 0 0 -0.000388364 0 0 -0.00521287 -0.0043473 -0.606264 -0.0139754 0 0 -0.0221394 0 -0.00111148 0 0 -0.0181594 -0.0547604 0.234502 -0.0475696 0 0 -0.0767861 0.0803923 -0.011242 0.188718 0.0662418 0 -0.369015 -0.00604439 0.277391 0 0 0 -0.687293 0 -0.144977 -0.223373 0 -0.0137023 0.000819253 0.0610418 0 -0.00140078 -0.000235906 -0.00237437 -0.122089 0 -0.652281 -0.203941 -0.414892 -0.022613 0.0826453 0.00762266 -0.169818 0.282013 -0.24035 -0.00764147 0.0472605 0.0363528 -0.00189861 0.0140674 -0.00183539 0.0106579 0.0225956 -0.0360172 0.801219 -0.243882 0.0339848 0.176437 0.0378228 0.151575 0.196142 -0.0454959 0.290793 -0.014245 2.30206 0.25004 0.840188 -0.80971 0.00288212 0.819629 0.231324 0.0142679 0.00377671 0.0897455 0.0553295 -0.335554 -0.0612063 -0.000682163 0.547988 1.47713 0.00554931 0.017546 0.212348 -0.0870984 0.286731 -0.695084 1.57248 -0.986646 -0.19219 -3.59161 0.0423314 -0.9105 -0.61769 0.582391 0.135852 -0.277804 -0.394431 -0.197257 -0.0804706 3.07613 -1.51967 0.0120304 -0.512521 -0.0500783 -0.0920405 0.247974 0.068216 0.0269801 0.0439104 -0.145028 0.0674021 0.374716 -4.12942 -0.645457 -3.05633 -0.419352 -0.097625 -0.614774 0.00186594 -0.0260665 -0.0479102 -0.790178 0.0435421 -0.0874248 -0.0567083 -0.0356276 -0.071858 0 +172 0 0 0 0 0 -0.00940225 -0.120923 0.188108 -0.0482217 0 0 0.728356 -1.10461 0 -2.0821 0.122314 0 0 0 0.00900897 -2.04118 0 0 0 0 -0.0301658 0 0 -0.223767 -3.58637 -0.452052 0 0.218124 0 0 0.0633708 0.112412 0 0 1.64035 -1.82689 0 0 0.332297 -5.00457 0 -0.830025 -1.13721 -0.855523 -0.906787 0.702057 -0.137956 0 0.243132 0.313393 -0.0643275 2.9656 1.08015 0.91356 0 0 0.424366 2.21166 0 1.04866 -0.918681 0.321666 0 0 0 0 0.48156 1.66809 0 2.39471 -0.789452 0 0 0 1.21501 0 -1.63866 6.39354 0 -0.631827 1.17168 2.37437 0 -1.06858 1.51402 -3.06035 9.18541 0 0 0 -0.155772 -0.072294 0 0 0 0.130954 -0.0568568 0 0.0171583 0 0.00791973 0.0932243 0 0 0 0 0.122677 0 0.0370515 0 0.340369 0 0.973544 0.484096 0 0.010994 0 0 0.25894 0.00191004 0.123765 0 -0.00320119 0 -0.00279253 0.154583 0.0519738 0.0318718 0.0387994 0 0.000456064 0 0 0 -0.00014198 0 0 -0.0064305 0.000260919 -0.431629 -0.0217307 0 0 0.0279213 0 0.00870659 0 0 -0.0552562 -0.0130884 0.499338 -0.014734 0 0 0.0994797 0.029155 -0.0709056 0.015586 -0.07366 0 0.222092 0.017346 0.409596 0 0 0 -2.00497 0 -0.152427 -0.802077 0 -0.0143564 -0.0647084 -0.0715502 0 -0.00146903 -0.00703594 -0.00845043 -0.0189968 0 -0.00940225 -0.155772 -0.120923 -0.072294 0.346757 0.127245 -0.109639 0.0321817 -1.44648 0.134661 -0.144516 0.0451235 0.0238782 0.00849687 -0.0655747 -0.0921828 -0.132615 0.718888 -0.0417071 2.32726 -0.206063 -0.0367171 -0.431937 0.0107565 -1.104 -0.0653149 -0.668539 0.0522695 -0.903189 -0.18751 0.100019 -0.219291 -0.0156709 -0.547985 -0.219598 -0.0670516 -0.00993669 0.0246015 -0.0362359 -0.453095 -0.253621 -0.0106338 -0.696295 -0.0078584 -0.0173226 -0.0611689 0.0522462 0.351115 -0.266151 -0.423725 1.19071 -0.0568686 0.28015 1.21481 -0.000198902 -0.185049 -0.290326 0.124638 -0.0066416 -0.041094 0.067993 0.626674 -0.054418 0.474287 2.01848 0.0702971 -0.0329437 0.0217409 -0.226414 0.554686 -0.00654305 0.118714 -0.311004 0.137131 0.0341953 0.10535 -0.491582 -0.177091 1.42032 -1.82708 0.588666 1.2538 -0.503108 0.0890161 0.260276 0.128971 -0.869081 0.359386 0.0209438 -0.0849598 0.193906 0 +173 0 0.368868 0.383263 0.0559777 0.335583 -0.134133 0.197698 -0.243495 0.472315 0.384739 -1.43893 -0.10167 -0.114067 -0.00534818 -0.889849 -0.0269331 -0.15147 -0.488895 -0.302569 -0.0351245 1.65243 -0.0192571 -0.490622 0.00450535 -0.264446 -0.287804 0.357499 -0.0860645 -0.547908 -0.285342 0.0407012 0.0424805 -0.40015 -0.792104 -0.449201 -0.385162 -0.0118464 -0.220217 -1.45552 0.16996 1.19326 -0.0472479 -0.050601 0.0229674 -2.1372 -0.375398 0.852935 -0.455851 -0.582428 -0.112112 -0.115918 -0.678963 3.04186 0.0921524 -0.141275 0.321327 0.878053 -0.0374652 0.350391 0.40187 0.0937999 -0.739238 -1.24897 -1.01625 -0.876235 0.178854 0.153347 1.18509 -0.000874074 -0.0937921 -0.224883 0.0962756 -0.131292 0.293001 0.693862 0.316631 0.569996 4.70629 2.30876 1.05311 1.96152 -0.58904 1.7404 1.27291 -0.42868 1.17382 -0.215134 0.246919 -0.0846281 0.369399 -0.146597 0.418904 0 0 0 0 0 0.0559777 0.335583 0.00197793 0 0 0 0 -2.73305e-05 0 -0.0308093 0 0 -0.00203662 -0.0041482 -0.0231756 0 -0.00380312 -0.0623818 -0.176049 0 0 -0.335793 -0.000243395 0 -0.0187998 -1.46822 0 0 -0.0412219 -0.369035 0 -0.0504985 0 -0.0411072 0 0 -0.00493003 0 0 -0.343671 -0.000467587 -0.0341105 0 0.0320862 0.0303364 0 0 -0.21574 0 -0.00105234 0.0522766 0.00352968 0 0 0.00354888 -0.00617317 0 -0.0207384 -0.150326 0.00472828 -0.428652 -0.0225796 -0.0515713 0 0.025207 0.0318625 -0.400475 0.0647499 -0.116313 0 0 0 6.8755 0.498551 1.02979 0.0345266 0.0355876 -0.0137787 0.00137762 0.000962524 0.00314751 0.0255857 0 0 0 0 0 0 -0.134133 0 0.197698 0 0 0 0 -0.0109704 0.320497 0 0 -0.499776 0 -0.0554291 0 -0.0294798 0 0 0.321356 0 -0.80311 0.0541746 -0.100312 0.0463253 0 0 -0.221544 0 3.08689 0 -1.25915 0.526243 0 0.31107 -1.08014 -0.00553215 0 -0.000728578 0 0 0.0131032 0 0.918051 0.40919 0 0 0.0618808 0 0 -0.114716 -0.285652 -0.0582369 0 -0.746268 0 -0.129384 -0.193023 0.13413 -0.205222 -0.0970521 0.0221285 -0.0341324 -0.0560824 0.555126 -0.983868 -0.0323427 0 0 0 0.107921 0.0857003 0 0 0 0 0.0898844 1.86239 2.45736 -2.72836 0.956152 -0.592439 -0.0714121 0.270174 -0.189476 0.157496 -0.127651 0 0 0 0 0 0 +174 0 -1.03367 -0.351389 -0.0188612 -0.146988 0.0580612 0.0870318 -0.677308 -1.06109 -0.0806603 0.525001 -0.247398 0.615503 0.000987287 1.43327 0.0227001 -0.314781 -1.26121 0.0611461 0.039558 -0.0168124 0.00860863 0.202106 -0.000857767 0.132606 -0.18741 -0.177089 0.0310601 -0.298061 -0.261017 0.457186 -0.00786783 0.181115 0.689533 0.192284 -0.125148 -0.0215986 0.147538 3.27455 -0.33803 0.179921 0.00788686 0.341345 -0.0320454 2.34118 0.0453745 0.306153 -0.288072 0.323178 0.0870716 0.18583 -0.117331 1.26629 -0.0344214 0.12834 0.130984 -0.524639 0.344766 -0.344314 -0.0924873 0.00675636 0.299846 -0.146868 -0.254386 -0.0954491 0.0490268 0.393728 0.562518 0.168713 0.0205229 -0.449628 0.405839 -0.215255 -0.00682165 -2.32893 -0.0377392 -0.0634239 -9.51636 -1.70988 0.972733 -1.20985 1.50224 -2.39704 -0.652661 0.357613 -0.302485 0.994883 -0.0298453 0.114643 0.052536 0.228149 0.383193 0 0 0 0 0 -0.0188612 -0.146988 0.000996894 0 0 0 0 0.000141802 0 0.00841476 0 0 0.000142273 -0.000855926 0.00745695 0 0.000667617 0.0105382 0.0672055 0 0 0.0283304 -3.21066e-05 0 -0.0404461 -0.0361769 0 0 0.00527732 0.0237175 0 -0.164628 0 0.0088639 0 0 0.00141001 0 0 -0.389839 0.00294968 0.0015305 0 0.0238872 -0.0422029 0 0 -0.166577 0 -0.00332933 -0.673402 -0.00158309 0 0 -0.00124008 -0.00556794 0 -0.0037828 0.00331276 0.00082134 0.329846 -0.0510973 0.0151935 0 0.0152088 0.00411683 0.0812438 0.00863062 0.062927 0 0 0 1.14658 0.00105518 -0.0860345 0.00367477 0.0014303 0.0522551 -0.000278192 -0.000196799 4.88795e-05 -0.020949 0 0 0 0 0 0 0.0580612 0 0.0870318 0 0 0 0 -0.254746 -0.0370268 0 0 0.659935 0 0.0591567 0 -0.00129744 0 0 -0.744138 0 0.52226 -0.040638 0.356747 -0.10617 0 0 -0.0980297 0 -7.54981 0 3.13816 0.0561941 0 -0.57484 1.24757 0.0349556 0 -0.0231769 0 0 0.0157642 0 -1.90484 -1.62274 0 0 -0.226401 0 0 0.535517 -3.9575 0.0992308 0 1.81118 0 -0.308657 0.268891 -0.171265 0.0259831 0.0150469 -0.644126 -0.0937114 -0.068679 -3.08253 -6.46205 -0.0286811 0 0 0 -0.313119 0.0115224 0 0 0 0 -0.351434 -20.8623 -3.50278 0.698894 -1.97983 1.6942 -1.81295 -0.342286 0.272829 -0.257819 0.155052 0 0 0 0 0 0 +175 0 0.254638 0.267786 -0.027818 -0.128227 0.153204 0.190617 0.225889 -0.646684 -0.16455 0.975718 -0.143762 1.80383 0.00489093 3.7017 0.0231408 2.15312 11.414 0.235014 0.0346305 5.23804 0.0376862 0.0161047 -0.00357781 0.137115 -0.000249373 0.365587 0.0384874 0.209646 1.33904 0.633968 -0.027568 0.23287 0.0451638 0.190892 0.0352361 -0.0110835 0.0445228 -1.09259 -0.296599 2.26602 0.0436117 0.293244 -0.035699 9.459 0.344575 0.918394 0.662393 0.367373 0.120128 0.711442 0.758183 4.39317 -0.10561 0.185373 -0.0779698 1.55334 0.0668003 -0.305922 -0.432458 -0.140498 0.464275 -2.81554 -0.254203 -0.263213 -0.562599 -1.02804 -0.887695 0.272019 0.0580626 -0.126682 0.218363 0.149339 0.062957 -1.27761 -0.456197 0.532946 7.83646 -1.19572 4.39126 -0.685009 0.435938 0.222575 -0.412322 0.344653 -1.34482 0.80329 -0.226646 0.123918 -0.69331 0.320202 -1.96581 0 0 0 0 0 -0.027818 -0.128227 0.000506517 0 0 0 0 5.07426e-05 0 0.00735299 0 0 0.000854223 0.00215744 0.0140527 0 0.00172965 0.0355571 0.0790479 0 0 0.405306 0.000136693 0 0.0133345 1.03973 0 0 0.0446383 0.174902 0 0.10917 0 0.0472142 0 0 0.00545134 0 0 0.368782 0.000763941 0.014158 0 0.00333931 -0.0222627 0 0 0.171346 0 -9.29004e-05 -0.156647 -0.00271067 0 0 -0.00405353 -0.00127918 0 0.0146945 0.0527243 -0.00716749 -0.429471 0.0011084 0.034363 0 -0.00203253 -0.0459273 0.284523 -0.101558 -0.0253983 0 0 0 -4.97647 -0.352876 -0.73454 -0.0261717 -0.0208537 -0.0753313 -0.000903428 -0.0010015 -0.000789383 -0.00013184 0 0 0 0 0 0 0.153204 0 0.190617 0 0 0 0 -0.410953 0.959365 0 0 0.649263 0 0.0902142 0 0.0962356 0 0 0.853383 0 0.00518073 -0.150866 0.394084 0.118319 0 0 0.632674 0 7.44495 0 -1.73121 0.613839 0 -0.972621 -0.322144 0.0597179 0 -0.0670139 0 0 0.147857 0 2.55896 2.07919 0 0 0.303068 0 0 0.207614 -0.558315 0.213778 0 1.16758 0 0.0281424 0.375908 -0.335533 -0.324814 -0.135336 0.0914157 -0.401637 0.323594 0.887252 7.35514 0.0811495 0 0 0 0.0684361 -0.296595 0 0 0 0 -0.040762 11.4975 -1.65722 4.64314 -0.0141393 0.0290896 0.739543 -0.477603 0.365664 -0.243935 0.402324 0 0 0 0 0 0 +176 0 0.366884 -0.361207 0.0648764 0.163693 -0.042381 -0.270399 0.470356 1.06333 0.316659 -1.6726 -0.20202 -0.342784 -0.0190058 -0.524488 -0.0569424 -0.381667 -1.2461 -0.253187 -0.179636 -0.778666 -0.0597623 0.439314 0.0138018 -0.396606 0.519361 -0.46182 0.00915316 0.341107 0.794866 -0.129734 0.0758032 -0.285722 0.585153 0.293918 0.327431 -0.0127248 0.147193 -0.565927 -0.280105 -1.12337 -0.0775328 0.756151 -0.00230986 -2.05204 -0.257693 -0.835015 0.493547 -1.04631 -0.102221 -0.102309 -0.516361 -2.78335 -0.582473 -0.363003 0.138378 -1.35091 -1.10937 -0.0981919 0.655195 0.161011 -0.533777 2.20215 0.193279 -0.87788 -0.0625575 -0.0448384 0.838573 0.0791359 0.141841 0.743652 -0.417708 -0.122713 0.239481 0.000332501 -0.311214 -1.27477 1.39556 2.07257 -1.24366 1.1002 -0.418406 0.401262 1.79959 -1.21945 1.48463 -1.16088 0.323336 -0.00274205 -0.215106 0.858726 -1.74933 0 0 0 0 0 0.0648764 0.163693 0.00266046 0 0 0 0 0.000375864 0 -0.0163823 0 0 -0.00214308 -0.0103089 -0.0231217 0 -0.00511483 -0.0983115 -0.0609972 0 0 -0.165755 -0.000567034 0 -0.0473369 -1.19838 0 0 -0.0281527 -0.346368 0 -0.142337 0 -0.0404012 0 0 -0.00630859 0 0 -0.621119 0.00731763 -0.0389445 0 0.0516266 -0.000521199 0 0 -0.183338 0 0.000165435 -0.146289 0.00712834 0 0 0.0021417 -0.00828275 0 -0.0107699 -0.0757633 0.0101831 0.0867492 0.000781987 -0.0267464 0 0.0387838 0.0171976 0.261031 -0.0724912 0.0133596 0 0 0 5.2027 0.367991 0.496942 0.0243843 0.0212292 0.0589714 0.00117298 0.000999309 0.00383144 0.00444341 0 0 0 0 0 0 -0.042381 0 -0.270399 0 0 0 0 0.0171206 0.752214 0 0 -0.308306 0 -0.0458784 0 0.0458655 0 0 -0.609572 0 0.839733 0.0377 0.0381252 -0.0934044 0 0 0.237231 0 -2.65712 0 0.571291 0.00352718 0 0.0576919 1.13928 -0.00620802 0 0.0121222 0 0 0.118739 0 -0.416501 -1.8099 0 0 -0.251465 0 0 0.394328 -2.8062 0.0377593 0 0.782581 0 -0.354338 0.20968 -0.131634 0.0679255 -0.0396195 -0.517719 0.0185441 -0.163188 -2.16822 -1.9838 -0.0178345 0 0 0 -0.179889 0.121554 0 0 0 0 -0.475828 4.22593 0.961233 0.983119 -0.759097 0.796683 -0.263665 0.19923 -0.126765 0.114225 -0.00979433 0 0 0 0 0 0 +177 0 -1.15043 -0.0691265 -0.0137083 -0.103772 0.020368 0.201019 -0.262756 -0.21097 -0.318319 0.199021 0.354224 0.526991 -0.00281202 0.0107346 -0.039542 1.09689 5.10253 -0.0604117 0.021489 -0.67639 -0.0225257 -0.00281599 -0.00229842 0.0236999 -0.216414 0.330601 -0.0496931 -0.720933 -1.59596 0.341476 -0.0253194 -0.230294 0.329786 -0.119121 -0.207076 0.0387769 -0.329516 3.1547 0.516426 0.411531 -0.0238435 -0.733602 0.0591753 0.792054 -0.216041 0.524438 -1.08426 0.194922 -0.0569386 0.305478 -0.337738 -6.06523 -0.374332 0.139197 -0.525197 -2.36944 -0.516181 0.0954723 -0.0161005 0.0168968 -0.70863 0.435063 -1.46541 -0.143278 -0.160619 0.270575 0.0288241 -0.35825 0.108138 -0.861294 -0.0739856 -0.22627 0.251011 0.0228111 1.35636 0.0673251 -8.48781 -1.59675 0.122887 -1.06861 0.489614 -1.38921 -0.366476 -0.23914 0.615565 -0.0831126 0.271073 -0.473611 1.23898 -1.67359 3.51238 0 0 0 0 0 -0.0137083 -0.103772 0.00242061 0 0 0 0 0.000315624 0 0.007928 0 0 0.000358538 -0.00272979 0.00556181 0 0.00017757 -0.0315263 0.0546696 0 0 -0.00023211 -0.000121408 0 -0.114807 -0.257703 0 0 0.00711158 -0.141832 0 -0.26531 0 0.00457039 0 0 0.00245517 0 0 -0.380565 0.00685838 0.00701787 0 0.0521992 -0.0550379 0 0 -0.29359 0 -0.00655913 -0.989394 -0.00409614 0 0 -0.000727378 -0.0114707 0 -0.012846 -0.0168798 0.00110544 0.0885733 -0.0903063 0.0172234 0 0.0203733 -0.00164084 0.00566213 0.0379177 0.0315236 0 0 0 2.06465 0.04327 0.154484 0.00851342 0.00706151 0.0443025 -0.000341127 -0.000300378 -0.000559081 -0.0293133 0 0 0 0 0 0 0.020368 0 0.201019 0 0 0 0 0.218353 0.223081 0 0 -0.170146 0 -0.0458505 0 0.0213932 0 0 -0.357821 0 -0.150983 0.0564904 -0.324258 -0.0486634 0 0 0.0907251 0 -1.15753 0 1.25617 0.670012 0 0.185814 -0.15411 -0.0461141 0 0.0364063 0 0 0.0507457 0 0.204335 -0.580531 0 0 -0.0826117 0 0 0.160745 -3.01968 0.243404 0 0.959085 0 -0.488021 0.309907 -0.275747 0.126698 -0.0883782 -0.690054 0.118847 -0.0835738 -1.44715 -1.13188 0.0152558 0 0 0 -0.0867784 0.092277 0 0 0 0 -0.359948 -11.8899 -0.732043 -0.814197 -1.01873 1.07634 -1.41438 0.161845 -0.0965368 0.0184746 -0.119693 0 0 0 0 0 0 +178 0 -0.429959 -0.311531 -0.114414 -0.216524 0.105722 0.0849655 -1.36036 -2.73122 0.299508 1.82739 -0.643653 -0.207672 0.042594 -1.10116 -0.117403 -2.2637 -10.5428 0.176471 -0.257254 3.24862 0.0409288 -0.0759082 -0.0160566 0.480243 -0.456465 -0.424213 -0.0449742 0.0972732 0.875295 -0.0820939 -0.0404128 -0.932417 -0.197121 -0.687224 -0.226031 -0.134693 -0.598524 0.591908 -1.20349 0.981791 0.200056 -3.50274 -0.26108 -1.4203 0.877799 0.288555 0.352135 -2.22242 0.639493 -1.57117 0.685316 0.973229 0.596948 -0.295825 0.170226 -1.57934 -1.12768 -0.925566 -0.796507 -0.309957 0.310667 0.296967 1.18753 1.43005 1.22945 0.155209 -1.51685 -1.19074 -0.492918 -0.822444 -0.292964 -1.13006 0.381324 0.730858 0.0493608 -0.185802 -0.73791 -2.11891 4.86137 -2.68153 2.68415 -1.50641 -2.33739 1.8521 -2.25713 3.55497 -1.1014 1.36296 -1.51506 1.93051 -1.92634 0 0 0 0 0 -0.114414 -0.216524 -0.0061419 0 0 0 0 -0.000898381 0 0.0192122 0 0 0.00317799 0.0141685 0.0487416 0 0.00815366 0.147973 0.116693 0 0 0.677436 0.000829033 0 0.0482399 0.997366 0 0 0.0843635 0.392611 0 0.23859 0 0.155184 0 0 0.0199852 0 0 0.884028 -0.0177335 0.0544022 0 -0.120796 -0.0522378 0 0 0.34186 0 -0.00438393 -0.610571 -0.0122926 0 0 -0.00735517 0.0156815 0 0.0247844 0.180172 -0.0173946 -0.435597 -0.048274 0.0523692 0 -0.0501282 -0.0581256 0.436939 -0.13165 -0.101055 0 0 0 -10.6764 -0.778805 -1.33345 -0.0527929 -0.047596 -0.143658 -0.00237266 -0.00207658 -0.00460905 0.0113285 0 0 0 0 0 0 0.105722 0 0.0849655 0 0 0 0 -0.257752 -2.02752 0 0 0.75386 0 0.0981944 0 -0.100439 0 0 -0.0302944 0 0.144799 -0.0933477 0.290232 -0.00924508 0 0 -0.775653 0 -8.3103 0 0.339693 -0.429274 0 -0.676714 0.104084 0.043653 0 -0.0407442 0 0 -0.25462 0 -2.39251 0.312427 0 0 0.0392507 0 0 -0.213125 -0.869793 -0.370781 0 -3.08167 0 0.688952 -0.649088 0.463682 -0.0831966 -0.13467 -0.0644819 -1.01786 0.324172 -0.0182463 -9.08147 0.0954056 0 0 0 -0.616169 -0.291266 0 0 0 0 0.532943 -5.27713 -3.18792 2.53682 -0.685682 0.487465 -0.322437 -0.588902 0.437048 -0.326161 0.267413 0 0 0 0 0 0 +179 0 0 0 0 0 -0.192192 0.191009 -0.793053 0.132876 0 0 0.339829 1.00737 0 0.429183 0.0672358 0 0 0 0.327138 -0.256165 0 0 0 0 -0.0721483 0 0 -0.954498 -3.71276 0.612646 0 0.193109 0 0 -0.264938 0.016653 0 0 1.19518 0.452462 0 0 0.202411 0.501313 0 0.744962 -1.78584 0.678364 -0.361607 2.47931 -0.137742 0 -0.360179 0.47777 -0.958131 -1.68136 -0.325976 0.276834 0 0 0.952429 -1.0141 0 0.263794 -0.658666 0.778321 0 0 0 0 -0.153997 1.10929 0 -0.288163 2.06305 0 0 0 -1.0006 0 -2.33404 5.5412 0 -0.777454 0.604891 2.58569 0 -1.00866 2.08599 -5.31997 15.9691 0 0 0 -0.184549 -0.0352072 0 0 0 -0.0366162 -0.00527002 0 -0.00487332 0 9.40866e-06 0.0373105 0 0 0 0 0.142382 0 0.0246642 0 0.197309 0 -0.277273 -0.169327 0 0.00298443 0 0 0.0829178 -0.000101562 -0.0211409 0 3.86881e-05 0 -0.000405611 0.0258791 0.0151744 -0.00157632 0.00518741 0 3.59734e-07 0 0 0 9.68311e-07 0 0 0.000262322 -0.000648754 -0.0066081 -0.00188482 0 0 0.00534981 0 0.000707848 0 0 0.00182013 0.00469623 -0.124299 -0.00357849 0 0 -0.0456074 -0.0055198 -2.53767e-05 -0.0716226 -0.0514184 0 0.0579419 0.00168579 -0.0824363 0 0 0 -0.258017 0 0.002442 -0.125416 0 -0.000441612 -0.00142944 0.00492276 0 0.000122745 -0.00112494 0.00325389 -0.0116597 0 -0.192192 -0.184549 0.191009 -0.0352072 0.189208 0.0780375 -0.306035 0.386695 -0.583605 0.021797 0.0991115 -0.158027 0.00288065 -0.0118812 -0.0378814 -0.0316288 0.0357591 0.150117 -0.337559 1.03552 0.154792 0.237492 -0.210197 -0.0591646 0.264422 -0.14925 -0.189166 0.014221 -2.29961 0.310952 0.799929 0.297111 -0.00434812 1.00288 0.329467 -0.0242021 0.0124107 0.0795342 0.11062 -0.713681 -0.0893086 -0.028013 -1.03338 1.20816 0.0119713 0.03102 0.267091 0.131786 0.0138839 -0.630848 0.559028 1.07267 -0.0520901 1.04665 0.0761998 0.109232 -0.199553 -0.31388 0.0880391 -0.393856 -0.220045 -0.0897163 -0.0861911 0.313952 2.97786 0.170545 -0.282479 0.142432 0.161033 0.0729698 -0.00383333 -0.0557509 -0.0395123 0.227604 -0.227443 0.154296 -0.299018 0.0671825 -3.56387 -0.115518 -1.15106 2.29137 0.0243429 -0.527309 1.20463 -1.74257 -0.0328263 -0.300632 0.612855 -0.840396 1.0843 0 +180 0 0 0 0 0 -0.18193 0.0351071 0.604504 1.88503 0 0 -0.148326 0.0760929 0 -0.272791 0.075195 0 0 0 0.27803 -3.16249 0 0 0 0 0.165868 0 0 -0.244327 5.29588 0.229969 0 0.364369 0 0 -0.0233781 0.0150669 0 0 -0.56822 0.409555 0 0 -0.024127 -2.53081 0 0.787207 0.785478 1.26774 -0.00832483 0.81302 0.466056 0 -0.211141 0.16347 0.459338 0.73626 -0.103436 -0.457392 0 0 -1.8411 -0.174461 0 1.53987 0.339467 -1.04891 0 0 0 0 0.449342 0.35963 0 -0.738555 -0.981905 0 0 0 -2.65543 0 0.638593 -7.52138 0 0.108318 -0.160795 -5.79915 0 0.0621675 -1.2229 3.19035 -15.8098 0 0 0 0.0668954 0.0128492 0 0 0 -0.00549997 0.0146395 0 0.000280312 0 -3.79432e-05 -0.0121354 0 0 0 0 -0.0290335 0 -0.00746728 0 -0.0132782 0 -0.124031 0.252733 0 -0.00141216 0 0 -0.0517047 0.000269932 0.0238414 0 0.000734258 0 0.000720952 0.127239 -0.00759361 0.00569429 0.00832973 0 -2.34092e-06 0 0 0 3.83854e-05 0 0 -0.000650722 0.00105632 0.0382305 0.00285818 0 0 -0.00803637 0 -0.00115254 0 0 0.00448903 0.0126165 -0.127069 -0.00749953 0 0 0.0222692 0.0057006 0.00461489 0.105602 -0.104698 0 -0.0259754 -7.54155e-06 -0.0390798 0 0 0 -0.00222169 0 -0.0221996 0.126025 0 -0.00147579 0.00979297 -0.0273377 0 -0.000193109 0.000764712 -0.00323188 -0.0208212 0 -0.18193 0.0668954 0.0351071 0.0128492 -0.58529 -0.151738 0.0784208 -0.17842 0.818671 -0.0121671 0.0171812 0.165406 -0.0015335 0.0134769 0.0140922 0.0270437 0.00946337 -0.0908013 -1.19724 -1.02084 -0.156727 0.130385 0.20576 -0.19658 0.203554 0.403599 0.330217 -0.0393794 1.5731 -0.3739 -0.798491 0.604587 0.00184791 0.224411 -0.316595 0.0202502 -0.00913401 0.00554127 -0.0781167 2.52336 0.0797554 0.069082 0.562163 -3.00565 0.000214528 -0.0449493 -0.48853 -0.173803 -0.141766 1.30228 -0.596318 -0.16488 -0.0293297 1.13048 -0.0243905 0.163367 0.145474 0.133132 -0.0811888 -0.255845 -0.862749 0.0164009 0.1036 -0.125331 3.05109 -0.143329 1.12128 -0.0514591 -0.527235 -0.311194 -0.0130164 -0.00119729 0.0254452 0.187846 0.153111 -0.0548113 0.29848 -0.068494 0.352382 0.104275 1.12056 -4.7014 -0.0223582 0.261032 -0.552033 -0.84687 0.0198557 0.197241 -0.557891 0.743925 -2.3632 0 +181 0 0 0 0 0 0.117203 0.00512098 0.319168 1.855 0 0 0.125956 0.282743 0 -0.566847 -0.0295401 0 0 0 -0.246787 1.19993 0 0 0 0 0.36206 0 0 -0.168383 -0.313129 0.189411 0 -0.0810812 0 0 0.0106528 -0.00344443 0 0 0.300385 0.301859 0 0 0.100387 -1.76577 0 0.604494 -0.232497 -1.48854 -0.27536 1.96365 0.0875265 0 0.18614 -0.361106 -0.00964974 0.408995 -0.0319353 -1.01671 0 0 -0.683722 1.44632 0 -0.0243032 -0.803242 -0.528707 0 0 0 0 -0.0107536 0.925674 0 -0.425477 0.0208838 0 0 0 -3.52088 0 -0.751768 0.718156 0 -0.371511 0.868523 -4.39941 0 -0.601679 0.581481 -1.69688 2.86375 0 0 0 0.0753958 -0.0123414 0 0 0 -0.00874578 -0.0220811 0 -0.00153723 0 0.000776444 0.0356327 0 0 0 0 0.143904 0 0.0195989 0 0.345587 0 -0.0333259 -0.16765 0 0.00242343 0 0 0.100253 0.00083984 -0.0127933 0 -0.00127731 0 -0.00129825 -0.0126818 0.0165587 0.016828 0.00300373 0 4.06259e-05 0 0 0 -6.87436e-05 0 0 -0.00205685 -0.00198283 -0.164584 0.00528828 0 0 0.00420626 0 0.00216345 0 0 -0.00254706 -0.00889094 0.0161705 -0.0200338 0 0 0.084177 0.0103722 -0.0131668 0.135597 -0.202336 0 0.157542 0.0131384 0.0295116 0 0 0 -1.10532 0 -0.077152 -0.443305 0 -0.0069976 -0.0377387 -0.103834 0 -0.000644063 -0.00479703 -0.0073066 -0.040699 0 0.117203 0.0753958 0.00512098 -0.0123414 0.196097 -0.0617743 -0.0692454 0.040521 0.308036 0.0203274 -0.075801 0.205647 0.0023127 0.0100748 -0.0166077 0.0456628 -0.0961963 0.166377 -1.42476 0.376387 -0.151642 0.0553694 0.0648179 -0.157115 -0.899296 0.0696394 0.651214 -0.0171472 -2.905 -0.181826 -0.899669 0.50533 -0.00235342 0.0318633 -0.356396 0.00244106 -0.000330227 0.0111182 -0.00218796 0.116764 -0.0016925 0.0218868 -0.010241 -3.40425 -0.00878875 -0.0200268 -0.46981 -0.047553 -0.334971 -1.18405 -0.749272 0.492892 0.212253 -0.845619 0.020719 -1.30972 -0.104043 -0.346547 -0.0838768 -0.21387 -0.434551 0.119395 -0.0991084 -0.609219 -1.30377 -0.19241 -0.106751 -0.156726 -0.0641835 0.0861407 0.0209113 0.0365962 -0.0512984 0.00733392 -0.00150624 0.0360781 0.336301 -0.0807768 -1.26024 0.0672696 -0.154171 1.36439 -0.0146544 -0.0844168 0.410481 -0.654637 -0.036382 0.0330041 0.0606604 0.0624886 -0.191692 0 +182 0 -0.2035 0.0742617 -0.0064487 -0.0179131 -0.0639443 -0.0720703 0.727878 0.602563 -0.106263 0.882136 -0.00687344 -0.325319 -3.19741e-05 1.10909 -0.026774 0.586201 4.62208 0.261323 -0.0282073 3.19214 0.0340099 0.0331224 -0.000562727 0.128823 -0.0427603 0.00601732 0.0383798 0.5664 1.13065 -0.137888 -0.00827894 -0.241888 0.34501 0.279317 0.122119 -0.00573434 0.20694 2.26464 0.12167 1.21378 -0.00221829 1.28242 -0.000633939 2.04847 -0.0560254 0.137525 0.852646 -0.127357 -0.0107767 1.21808 0.212229 -3.0906 0.0637065 -0.0418015 0.171541 1.27221 0.0230322 -0.113326 -0.204062 0.0107026 -2.21989 -2.06017 -0.125788 -0.567169 -0.722459 -1.60543 0.0136233 0.340597 0.0278195 -0.359815 0.189331 -0.0905025 -0.351609 -0.704045 -0.996712 -1.15236 -10.9064 -3.87882 -0.465528 -1.38703 1.50709 -5.71834 -0.886535 1.05423 -1.34865 -2.99257 0.00779486 -0.0261413 0.0385977 0.102109 -4.73254 0 0 0 0 0 -0.0064487 -0.0179131 -0.00269487 0 0 0 0 -5.68091e-05 0 0.00385028 0 0 -0.00117311 -0.000699572 0.00145933 0 0.000166289 0.00654013 0.0409049 0 0 -0.0694464 -4.48136e-05 0 0.00562854 -0.351415 0 0 -0.00466161 0.0334936 0 0.0731612 0 -0.00485137 0 0 -0.000392537 0 0 0.00991949 -0.000572568 -0.0175024 0 -0.0362895 -0.0071764 0 0 -0.00276809 0 -0.00342156 0.206839 0.00869607 0 0 0.00113555 0.00523663 0 -0.00259737 -0.0305783 -0.00583634 0.0611001 0.0387893 0.00284563 0 -0.0027566 -0.00341363 -0.0977253 -0.00278594 -0.100974 0 0 0 0.557056 -0.0136979 0.0562576 0.0230858 -0.0508537 0.149336 0.00106589 -0.00209881 0.00866491 -0.00900312 0 0 0 0 0 0 -0.0639443 0 -0.0720703 0 0 0 0 -0.297928 0.568672 0 0 0.395142 0 0.0384859 0 0.031873 0 0 0.749613 0 -0.12122 -0.0926826 0.22512 0.109705 0 0 0.226384 0 7.59519 0 0.00546115 0.0505119 0 -0.522402 -0.241755 0.0230414 0 -0.0576855 0 0 0.0711267 0 2.11808 1.19347 0 0 0.187166 0 0 0.142661 -0.623153 -0.0441404 0 -0.0535507 0 -0.399817 0.163171 -0.155933 -0.0462236 0.0567995 -0.200296 -0.274443 0.0660895 -0.469214 1.08889 -0.112999 0 0 0 -0.0210696 -0.0474051 0 0 0 0 -0.151761 -8.75256 -1.86432 1.24143 -0.641403 0.339821 -0.317684 -0.254349 0.224467 -0.228735 0.303784 0 0 0 0 0 0 +183 0 -0.493704 -0.0412582 -0.0081422 0.0152136 -0.241724 -0.0421268 -0.522597 0.617192 -0.0905936 -0.033977 -0.115002 -1.31141 0.000674187 -0.847521 -0.0164437 -1.19878 -6.56163 0.0290712 -0.0200922 -0.111207 0.00682727 -0.248722 -0.000850159 0.107263 -0.242099 0.0431725 0.0127759 -0.131584 -0.531991 -0.336765 -0.00896025 -0.227198 -0.255853 0.134998 -0.217715 -0.0144625 0.0634767 1.13715 -0.219544 -0.16216 0.00734446 0.488471 -0.0281901 -3.29655 0.0704351 -0.076135 -0.32268 -0.35269 0.0850429 -1.39522 0.118919 -0.981711 0.00955864 -0.0138581 -0.000938729 -1.57458 -0.449967 -0.118238 -0.17066 -0.0163759 1.48728 -0.0150601 0.693364 0.0526912 0.210693 0.927782 -0.0406246 0.0878662 0.0121349 0.167516 0.165638 -0.412072 -0.0387636 0.124798 0.651889 -0.451367 1.24685 0.622778 -3.19633 0.401504 -0.795926 0.995528 -0.28294 -0.139191 0.222434 0.66354 -0.00979969 0.0374965 -0.110401 0.291615 2.22674 0 0 0 0 0 -0.0081422 0.0152136 0.001721 0 0 0 0 0.000126593 0 -0.00420655 0 0 0.00101151 -0.000148939 -0.00396826 0 -0.000772239 0.0247809 -0.0253137 0 0 -0.0998861 -7.51816e-06 0 -0.0131964 0.518119 0 0 -0.00934811 0.14407 0 -0.0875527 0 -0.0056503 0 0 -0.000490861 0 0 -0.0719921 0.00252583 0.0183462 0 0.0344089 -0.0331009 0 0 0.0161111 0 0.00204122 0.079904 0.00890339 0 0 -0.00141218 -0.0031903 0 -0.00514778 -0.00917236 0.00481284 -0.367104 0.0203257 0.0101154 0 0.0056197 -0.030192 -0.145179 0.0129235 0.101354 0 0 0 -0.164857 -0.0884938 0.0945093 0.00788564 -0.00237671 -0.153217 -0.000810337 0.00138186 -0.0131587 -0.0102394 0 0 0 0 0 0 -0.241724 0 -0.0421268 0 0 0 0 0.501458 -0.585966 0 0 -0.448465 0 -0.0567948 0 -0.0297581 0 0 0.38692 0 -0.228246 0.174528 -0.127347 0.0658087 0 0 -0.356056 0 -6.73445 0 0.621102 -0.467952 0 1.42254 0.112587 -0.0158432 0 0.0670162 0 0 -0.0550095 0 -1.65359 0.320092 0 0 0.0740304 0 0 0.308238 1.58716 -0.358264 0 -0.739655 0 0.395472 -0.0515034 0.224637 0.216058 -0.163926 -0.289082 0.147394 0.139523 0.0895785 -1.97196 0.0578999 0 0 0 -0.173232 0.0151289 0 0 0 0 0.0969568 11.4075 4.45505 -6.17663 1.35129 -0.985086 -0.246774 0.21385 -0.165347 0.225984 -0.625261 0 0 0 0 0 0 +184 0 -0.7455 -0.620719 0.0256941 0.25539 -0.262152 -0.388591 1.08141 1.87757 0.103448 -0.299357 0.21736 -0.383595 -0.00143009 -0.86571 -0.000268421 -0.733941 -5.37429 -0.0504856 -0.0063256 -2.15795 -0.00803077 0.538898 0.00155183 -0.0817354 0.692582 -0.434414 -0.01924 0.461967 -0.975658 -0.267671 0.0140148 -0.135595 1.61066 -0.0871595 0.446381 0.0207538 -0.230815 5.99809 0.606831 -1.36965 -0.0164176 -0.894843 0.0529331 -2.70346 -0.182133 -1.09627 0.203417 -0.157887 -0.117999 -0.634943 -0.0565465 -0.83885 0.0267071 0.0314982 -0.18363 -1.23176 -0.452287 0.160694 0.05275 0.0337296 0.223686 1.3637 0.669563 0.268402 0.593226 0.388555 -0.391678 -0.70647 -0.0133485 0.19143 -0.545212 0.125125 0.156429 1.08921 0.0101844 -0.107658 -21.9205 -0.969485 -7.50982 -1.99038 0.87323 -5.28971 0.175948 -0.04986 -0.323749 0.00221179 0.0253403 -0.0996813 0.449046 -1.57784 4.08378 0 0 0 0 0 0.0256941 0.25539 -0.00237135 0 0 0 0 -0.000187616 0 0.0183016 0 0 0.0012772 0.00302258 0.0101143 0 0.00193821 -0.0317726 0.103521 0 0 -0.113443 0.000154245 0 0.0322084 -0.911638 0 0 -0.0134274 -0.138649 0 0.21419 0 -0.00675339 0 0 -0.00104309 0 0 0.934996 -0.00318602 0.0279783 0 -0.0342703 -0.0635669 0 0 0.387129 0 -0.0036401 0.382851 0.0104515 0 0 -0.00315191 0.00451483 0 0.0183973 -0.00993664 0.00186547 -0.447355 0.0205066 0.0175984 0 -0.00096572 -0.0184899 0.0569664 -0.0431384 0.0889073 0 0 0 -7.63573 -0.520524 -0.752339 -0.0235672 -0.0417105 -0.172214 -0.00099278 -0.00142379 -0.00877393 -0.0194259 0 0 0 0 0 0 -0.262152 0 -0.388591 0 0 0 0 0.224809 -0.97202 0 0 -0.731658 0 -0.0800919 0 -0.0477367 0 0 -0.161169 0 0.509691 0.119757 -0.259518 -0.0398155 0 0 -0.44676 0 -10.2389 0 1.20306 -0.834982 0 0.788958 0.557764 -0.0272451 0 0.0267361 0 0 -0.1245 0 -2.67408 -1.41402 0 0 -0.186289 0 0 -0.104705 -0.577666 -0.382233 0 -1.40682 0 0.526156 -0.496094 0.446054 0.312746 -0.0515927 -0.678365 -0.587093 -0.0829784 0.0383998 -7.75449 -0.0631529 0 0 0 -0.180708 0.0936165 0 0 0 0 0.223899 -2.30837 2.76123 -3.13838 0.401567 -0.330878 -0.34477 0.441509 -0.385973 0.484677 -0.508913 0 0 0 0 0 0 +185 0 -0.634329 -0.0543663 -0.033679 -0.214765 0.102203 -0.0582514 0.422066 -0.140483 -0.237302 0.826946 -0.164408 0.443724 0.00231684 0.984771 0.0338301 0.688673 2.84508 -0.0441448 0.056376 1.08494 -0.0444374 -0.000749639 -0.00297169 0.0838322 0.24512 0.171461 -0.0550293 0.51671 1.88277 -0.0389123 -0.0283392 0.296553 0.238265 -0.273488 0.187616 -0.0132685 -0.0663511 2.17008 -0.40002 -0.14957 0.0230083 -0.693633 -0.0399322 3.69002 0.211088 -0.370447 0.99532 0.494334 0.108719 -0.00287608 0.538731 -4.84538 -0.0960856 0.094735 -0.158687 -3.33378 -0.316384 -0.424073 -0.174132 -0.0482319 -1.43882 -1.0568 -0.249614 0.0311168 -0.245982 -1.45758 -0.50171 0.125443 0.0483001 0.0298883 0.0915233 0.0167331 0.0614324 -3.0409 -0.744036 -0.285774 -6.45206 -2.81635 1.6449 -1.91768 2.06653 -3.82692 -0.633522 0.866868 -1.50445 0.0875537 -0.0456907 0.0720358 -0.409152 0.645583 -3.66382 0 0 0 0 0 -0.033679 -0.214765 -0.000400227 0 0 0 0 -2.90243e-06 0 0.00716531 0 0 -7.2464e-05 -8.15611e-06 0.00408054 0 0.00109948 0.00199944 0.0279189 0 0 -0.0558732 -4.29611e-07 0 0.0372762 -0.251758 0 0 -0.00555171 -0.00793353 0 0.141672 0 -0.00748061 0 0 -0.000773543 0 0 0.300378 -3.9118e-05 -0.00140784 0 -0.00543129 -0.00345235 0 0 -0.0896464 0 -0.000821233 0.0177404 0.00121002 0 0 0.000138353 0.000694068 0 -0.00102279 -0.00184358 -0.000489644 -0.164297 0.00291107 -0.00572463 0 -8.71882e-05 -0.00040359 -0.060507 6.55787e-05 -0.0633223 0 0 0 -0.423371 0.00182821 0.0146979 0.00728316 -0.0128941 0.0257246 6.11018e-05 -8.30326e-05 0.00103491 0.000851172 0 0 0 0 0 0 0.102203 0 -0.0582514 0 0 0 0 -0.421245 -0.414421 0 0 0.665812 0 0.0704072 0 -0.00218622 0 0 0.670977 0 0.0195218 -0.120496 0.263751 0.0933552 0 0 -0.102583 0 2.32268 0 0.56155 -0.149169 0 -0.984635 0.0632425 0.0293029 0 -0.0488451 0 0 -0.0256449 0 0.753952 1.51292 0 0 0.182302 0 0 -0.111688 -0.0597157 -0.397701 0 -1.90427 0 -0.3192 0.163184 -0.0499205 -0.236596 0.10738 0.595699 -0.171955 0.119072 0.849588 2.37298 -0.0254349 0 0 0 -0.111908 -0.11421 0 0 0 0 0.0970344 -6.64182 -1.67336 1.35068 -0.488287 0.400519 -0.711515 -0.310372 0.279142 -0.393088 0.527162 0 0 0 0 0 0 +186 0 -0.71087 -0.337485 0.00596979 0.0379245 -0.198178 -0.247585 1.17216 3.23473 0.0483292 -0.468808 0.0763085 1.27938 -0.000414524 1.45127 -0.00124101 0.99433 2.73305 -0.123417 -0.00377683 2.80234 0.00883297 0.499489 0.000536386 0.00338863 1.06954 0.0343935 0.0366776 0.605793 0.856286 0.291705 0.00533575 -0.0107863 1.6501 -0.0559102 0.466491 0.00512561 0.20229 5.99801 0.146723 0.589648 -0.00413497 0.154237 0.0115369 3.98571 -0.0381738 -0.154665 0.757071 -0.0388511 -0.0274181 -1.86971 0.0510389 2.84094 -0.0033447 -0.0101741 -0.0204164 -0.0381471 0.520922 0.42572 0.0219094 0.00909997 -0.132659 -2.40423 0.162512 -1.39737 0.43012 -0.579619 0.837076 0.113102 -0.00991738 0.244105 0.0427883 0.150766 -0.210567 -2.14953 -0.856202 0.299777 -17.9496 0.59501 -11.3538 -0.988765 0.743084 -8.0554 0.144098 -0.3908 0.923414 -5.13576 0.00826284 -0.0210773 -0.0555304 -0.0261619 -1.66631 0 0 0 0 0 0.00596979 0.0379245 7.31827e-05 0 0 0 0 5.70788e-07 0 -6.15401e-07 0 0 1.52675e-05 -4.40068e-06 -0.000912159 0 -7.78904e-05 0.00959475 -0.0076617 0 0 -0.0750861 -2.57799e-07 0 0.0013071 0.111766 0 0 -0.00960037 0.0728322 0 0.0203793 0 -0.00530159 0 0 -0.000717796 0 0 0.0690789 1.24878e-05 0.000398669 0 0.00162438 0.000149776 0 0 -0.00552097 0 0.000135177 -0.0284499 0.00102442 0 0 -2.61772e-05 -0.000114245 0 -0.00101738 -0.0141517 0.00101777 -0.260174 0.000177549 0.00265849 0 -0.000204846 -0.00433649 -0.10312 0.00210555 0.0258295 0 0 0 0.00221603 0.0109309 0.02513 0.00167342 0.00273633 -0.0301127 -8.88689e-06 0.00023823 -0.00181822 -0.00470061 0 0 0 0 0 0 -0.198178 0 -0.247585 0 0 0 0 0.339051 -0.0688352 0 0 -0.530961 0 -0.0532508 0 0.00103422 0 0 0.061489 0 0.543378 0.171876 -0.202244 0.00784983 0 0 0.0284347 0 -2.6846 0 2.15806 -0.424742 0 1.27247 0.828342 -0.0168349 0 0.0582825 0 0 -0.0158859 0 -0.468874 -0.170034 0 0 -0.0373018 0 0 0.444945 0.3672 -0.094549 0 1.55291 0 0.188411 -0.17298 0.186144 0.0545368 -0.148535 -0.441979 0.162154 -0.0189774 0.114821 4.27874 0.0961478 0 0 0 0.0626945 0.0428158 0 0 0 0 -0.016454 -7.25653 2.02289 -5.68493 0.478663 -0.390077 -1.06944 0.295775 -0.275236 0.282037 -0.619566 0 0 0 0 0 0 +187 0 0.301414 0.316353 -0.0133859 -0.0237878 0.0709528 0.145084 -0.230794 -0.584562 -0.106509 0.545646 -0.115878 -0.102923 0.000963892 1.27166 0.0107586 0.818027 1.39629 0.124593 0.022789 2.40851 -0.00299576 -0.302465 -0.0012256 0.106513 -0.379735 0.581324 -0.0156145 -0.229663 0.215246 0.0889583 -0.012043 0.071204 -0.238626 0.0381415 -0.224292 -0.00810721 -0.100599 0.695541 -0.261032 1.24842 0.0103121 -0.571192 -0.0218857 2.39614 0.105802 0.501605 -0.121868 0.152702 0.0584096 -0.0126922 0.519285 1.22731 -0.0460501 0.0539015 -0.055919 1.03353 -0.183462 -0.0138666 -0.233588 -0.0238066 -0.693208 -0.977615 -0.427337 0.950544 0.0182734 0.143591 -0.73016 -0.0678739 0.0218283 0.0719283 -0.0603399 -0.107033 0.112494 -0.0150294 0.609237 -0.173426 -1.59302 -1.28609 1.47907 -0.974575 1.3889 -2.33833 -0.60333 0.698407 -1.06365 0.880591 -0.0229012 0.0426572 -0.126239 0.283289 -0.418862 0 0 0 0 0 -0.0133859 -0.0237878 -0.000590402 0 0 0 0 -4.57098e-06 0 0.00370196 0 0 0.000274185 3.60488e-05 0.000350322 0 0.000293153 0.00777093 0.0106763 0 0 0.0437729 1.83314e-06 0 0.0161947 0.107894 0 0 0.006897 0.0301303 0 0.0681574 0 0.00211326 0 0 0.000396063 0 0 0.235777 -6.95019e-05 0.00547406 0 -0.00883829 -0.0129665 0 0 0.035283 0 -0.00119219 0.0476413 0.00309344 0 0 -0.000520382 0.00100759 0 0.00216177 0.0117626 0.00138669 -0.394878 0.00122746 0.00383796 0 -0.000258955 -0.00425424 -0.0106834 -0.00527321 0.0296634 0 0 0 -1.2561 -0.0837374 -0.0971047 0.00127539 -0.012828 -0.0316552 -0.000214303 3.50695e-05 -0.00271706 -0.00781076 0 0 0 0 0 0 0.0709528 0 0.145084 0 0 0 0 0.0927619 -0.957733 0 0 0.123243 0 0.0221084 0 -0.0188918 0 0 0.983743 0 -0.494866 0.0295072 0.11541 0.126461 0 0 -0.290707 0 3.37376 0 -0.565044 0.210327 0 -0.110349 -0.252301 0.0140617 0 0.0279326 0 0 -0.0863926 0 1.14939 2.38905 0 0 0.301421 0 0 0.140071 -0.814639 0.01953 0 -1.79591 0 0.921973 -0.145461 0.0990506 0.041204 -0.0129281 -0.717282 -0.823619 0.173811 1.09062 -1.9152 -0.0863098 0 0 0 -0.0571917 -0.0773337 0 0 0 0 0.132081 6.59015 -0.187774 1.86805 -0.125397 -0.00953289 -0.00496191 -0.084658 0.0727592 -0.0653638 0.0862053 0 0 0 0 0 0 +188 0 0 0 0 0 -0.462225 -0.0651334 1.56511 4.32801 0 0 0.490494 0.0419025 0 0.236156 0.0391085 0 0 0 0.0735151 -5.01403 0 0 0 0 0.440519 0 0 -0.456062 -0.222717 0.415234 0 0.32037 0 0 0.0639319 0.0205557 0 0 1.70732 -0.729249 0 0 0.264805 -3.20651 0 0.359723 -0.301157 -0.0945996 -0.296569 1.68718 0.0515992 0 -0.129188 0.341543 0.294125 -2.05188 -0.493202 -0.139004 0 0 -0.365791 0.91916 0 2.67097 0.364837 0.7435 0 0 0 0 0.551658 0.95329 0 -0.579524 0.74449 0 0 0 -7.97851 0 -3.24968 0.766145 0 -0.557436 0.375387 -6.58391 0 -0.657717 0.749723 -3.08046 -0.08111 0 0 0 -0.226562 -0.046512 0 0 0 -0.101411 0.010694 0 -0.014431 0 -0.000258478 -0.0165984 0 0 0 0 0.0450109 0 0.00372035 0 -0.0795486 0 -0.681416 -0.372364 0 -0.00540457 0 0 -0.182036 -0.000110228 -0.0848268 0 0.00225361 0 0.000426351 -0.0535188 -0.0322772 -0.00195188 -0.0157689 0 -1.33858e-05 0 0 0 0.000112346 0 0 -0.000718488 -0.000698447 0.0698681 0.000986357 0 0 -0.00234151 0 -0.00172595 0 0 -0.0167035 -0.000103283 -0.100726 -0.00752715 0 0 0.0260529 0.0372092 0.00780877 -0.052289 -0.13967 0 0.0770378 0.00487312 0.109874 0 0 0 -0.0179591 0 -0.00489668 0.213838 0 -0.000610667 0.00286037 0.0392337 0 -7.08905e-05 0.000657769 -0.00346364 0.175735 0 -0.462225 -0.226562 -0.0651334 -0.046512 -0.0131619 -0.070281 -0.524248 0.0276916 -1.03161 0.0148108 0.0608225 -0.570455 0.00305353 -0.0430191 -0.065842 -0.0507768 0.00981626 0.0443301 -0.0542357 -0.840118 -0.587802 0.18176 -0.326703 -0.0345664 0.0645329 -0.0316739 -0.252259 -0.0264207 -1.71083 0.330376 -5.16456 0.453437 -0.0080929 0.756777 -1.95346 -0.0369937 0.0108469 0.0361664 0.0869771 -0.272233 -0.158235 0.00142382 0.433372 -1.49012 0.00525413 0.0432102 -0.210177 -0.16129 -0.0111531 0.605447 -3.93995 0.616959 -0.0543024 3.02454 0.17748 -0.313709 -0.208082 0.11046 -0.387726 -0.258835 -0.392995 -0.548349 0.111709 -1.09562 -0.895139 0.086094 0.204199 0.14895 0.163508 -0.170772 0.048592 0.0665729 0.00148262 -0.0190221 -0.105849 0.267788 27.5769 3.49852 -0.666148 0.674376 -1.65148 2.59825 0.0706045 -0.524125 0.716468 -0.773873 -0.0136088 -0.227073 0.135643 -0.133731 0.00788954 0 +189 0 0 0 0 0 0.00313921 0.308843 -1.04225 -2.0013 0 0 0.188014 1.77786 0 2.92417 0.124632 0 0 0 0.388558 2.18042 0 0 0 0 -0.351566 0 0 -0.853361 -7.99171 0.784377 0 0.613721 0 0 -0.274309 0.0392932 0 0 0.511517 0.968501 0 0 0.0696557 7.12718 0 0.885336 -2.37943 1.52328 -0.249411 2.34385 -0.708143 0 -0.450413 0.469536 -0.889956 -3.61516 -0.939354 0.510968 0 0 1.82118 -1.81003 0 -1.77928 -1.37163 -0.113575 0 0 0 0 0.750152 0.110301 0 -0.515795 1.47114 0 0 0 3.65162 0 -1.06925 13.0851 0 -0.453459 2.36804 5.73681 0 -0.331858 2.6026 -3.57725 21.5865 0 0 0 -0.0344196 -0.00651349 0 0 0 0.0110345 0.0088641 0 0.000922749 0 -0.000259126 0.0137466 0 0 0 0 0.0532262 0 0.00347724 0 0.162906 0 0.118067 -0.119431 0 0.000314059 0 0 -0.060814 -0.000292107 -0.0186164 0 0.00118099 0 0.000450598 -0.0329869 -0.00270035 -0.00313877 -0.00343631 0 -1.98926e-05 0 0 0 5.92939e-05 0 0 0.000968324 -0.000157474 0.013001 0.0122536 0 0 -0.00205714 0 -0.00144858 0 0 -0.00336866 -0.00331367 0.137335 -0.00241362 0 0 0.0827456 -0.0611221 -0.0123739 -0.0443409 0.17477 0 0.0490345 0.00296687 0.0352695 0 0 0 -0.0859958 0 0.0151342 0.316717 0 0.00212223 0.0201955 -0.0918733 0 0.000175474 0.00306352 -0.0151559 0.161073 0 0.00313921 -0.0344196 0.308843 -0.00651349 0.898425 0.101215 -0.0315484 0.195573 0.87067 0.00286528 0.0553632 0.483103 0.000377191 0.0512117 -0.00680009 0.0523447 0.0221713 0.0221111 -1.10433 -0.265292 0.323816 -0.00722781 0.286039 -0.19116 0.184039 -0.279866 0.679561 -0.049796 -1.07896 0.543423 2.99245 0.500979 -0.00102553 0.0606281 1.29719 0.0281106 0.0120005 0.0181361 0.0905673 -2.123 0.0609297 -0.0284562 0.292549 -0.898254 0.00513806 0.0721325 -0.25446 -0.190184 0.208903 1.40548 3.11384 0.667752 -0.0362607 1.44469 0.0109522 -0.891953 0.126387 -0.483271 0.383251 0.260211 1.24608 1.01244 -0.222788 -0.286381 -0.436895 0.390121 0.356886 0.0367664 0.673273 -0.185176 0.0144985 -0.0264413 0.000887273 -0.366046 -0.12759 0.148667 -15.9786 -2.43445 -4.85566 -0.518355 -2.06915 4.29225 -0.0826111 -0.403234 0.573707 0.553673 -0.00678785 -0.223064 0.542872 -0.575569 1.65616 0 +190 0 0 0 0 0 0.517993 0.14461 -0.0413824 -1.18247 0 0 0.297219 -0.329845 0 -0.945124 -0.149513 0 0 0 -0.572613 2.59907 0 0 0 0 -0.150985 0 0 -0.28974 -0.634334 -0.0523087 0 -0.508797 0 0 -0.0988683 0.0224108 0 0 0.639086 0.665709 0 0 0.276358 -2.61309 0 0.519826 -0.576013 -2.56933 -0.273084 -1.59781 -0.246532 0 0.370373 -0.497397 0.52355 0.192005 0.36492 -0.143998 0 0 -0.414762 -1.43588 0 -0.0419105 0.894569 0.575875 0 0 0 0 -0.338899 0.281009 0 -1.0365 0.408474 0 0 0 1.8212 0 -1.87284 3.59508 0 -0.0678561 -0.361374 1.65832 0 -0.431246 -0.196 -0.708454 0.418349 0 0 0 0.189112 -0.00799993 0 0 0 0.0073053 -0.070475 0 -0.00229747 0 -0.000744456 -0.041884 0 0 0 0 -0.13743 0 -0.0117423 0 -0.425474 0 0.239656 -0.226855 0 0.000136455 0 0 0.226907 -0.00130242 -0.0764773 0 -0.00929695 0 -0.0036329 -0.0621707 0.0168096 -0.0251183 -0.0160613 0 -4.08379e-05 0 0 0 -0.00046678 0 0 0.00302606 -0.00030065 -0.10302 0.0189514 0 0 0.0234722 0 0.0101254 0 0 -0.0506606 0.000301291 0.32289 0.00919932 0 0 -0.111542 0.120037 -0.0322209 0.152404 0.182387 0 0.0331517 -0.00470823 0.24441 0 0 0 1.00409 0 0.105968 -0.534001 0 0.00888397 -0.0275791 0.109603 0 0.000973697 -0.00374771 0.0172175 -0.273934 0 0.517993 0.189112 0.14461 -0.00799993 -0.347498 0.0295012 0.0729095 -0.198778 1.82425 0.0260667 -0.0198866 -0.117439 0.00459852 0.00639382 -0.015528 0.0781852 -0.00266205 0.111451 -0.943272 0.660491 -0.00671647 -0.127698 -0.103041 -0.138577 0.00633945 -0.0751948 0.931173 0.0258224 4.69041 0.112027 -0.289228 0.347929 -0.00420837 -0.869153 -0.168482 -0.0115487 0.00656566 -0.0354998 0.0343023 -0.522431 0.130416 -0.0113463 1.61717 -1.52846 -0.00372915 0.0237595 -0.217838 0.136472 -0.109957 -0.589124 1.05944 -0.126458 0.0734544 0.906324 -0.0240797 -1.31119 -0.18879 -0.220672 0.345099 -0.163602 -0.944609 0.205061 -0.110152 -1.91 -2.66847 0.0832139 0.100073 0.0307803 0.0822171 0.20662 -0.0170305 -0.00775153 -0.0688704 -0.0895211 0.0242283 -0.37371 1.54437 0.424175 2.0783 -0.253158 -1.2666 3.17393 -0.0246051 -0.343256 0.362575 0.940091 -0.034214 -0.0903145 0.112337 -0.0907077 0.582259 0 +191 0 -1.33222 -0.470107 -0.0362852 -0.250196 0.110661 -0.166675 -0.11444 -0.303708 -0.243709 0.593875 -0.0682754 -0.276942 0.00281029 -0.0599176 0.0385661 -1.84457 -10.4097 -0.0852984 0.0820088 -0.66315 -0.063414 0.0271 -0.00361767 0.0231036 0.197986 -0.367774 -0.0947494 0.309932 -0.262595 -0.176181 -0.0306905 0.32508 0.429683 -0.298892 0.0944386 -0.00560283 -0.288824 4.09548 -0.264465 -0.48783 0.0232894 -1.09508 -0.024767 -0.948965 0.172204 -0.370562 0.121964 0.660179 0.0790012 -0.908917 0.128883 3.86475 -0.13359 0.121399 -0.138648 0.0117965 -0.0735966 -0.0833046 0.079238 -0.0397688 2.44945 0.722085 4.50652 -0.132669 0.415816 0.0376388 1.48574 -0.102048 0.0457694 0.789259 0.495103 0.00751642 0.39212 0.633852 -0.169479 0.985769 -12.8514 -1.95922 -0.195173 -0.832874 1.32145 -3.61543 -0.0599967 0.0955525 -0.525994 -0.0644552 -0.0445966 0.0213769 -0.0603755 0.164566 0.287836 0 0 0 0 0 -0.0362852 -0.250196 0.000610303 0 0 0 0 2.41467e-05 0 -0.0129967 0 0 2.14263e-05 2.00722e-06 -0.00569919 0 -0.00155723 -0.0305985 -0.0560329 0 0 -0.228308 4.99902e-07 0 -0.00594835 -0.764917 0 0 -0.0300275 -0.152962 0 -0.0302709 0 -0.0260635 0 0 -0.00334229 0 0 -0.300906 0.000480744 0.000213057 0 0.0121369 0.0024708 0 0 0.0115121 0 8.38875e-05 0.0279584 7.55891e-05 0 0 -0.000178928 -0.00166709 0 0.000330313 0.0179621 -0.00137544 -0.278706 -0.000453642 0.0337028 0 0.00210042 0.0332437 -0.0364785 0.0100002 -0.00377035 0 0 0 0.477321 -0.00796486 0.0989478 -0.000557756 -0.000466337 0.132835 -3.00123e-05 -2.73433e-05 2.92469e-06 0.0222794 0 0 0 0 0 0 0.110661 0 -0.166675 0 0 0 0 0.301421 -0.560762 0 0 0.578501 0 0.0691441 0 -0.00491878 0 0 -0.0520228 0 0.471721 0.0686377 0.163473 0.00946582 0 0 -0.0877361 0 -8.66024 0 5.62116 -0.654899 0 0.575708 1.41081 0.0224019 0 0.0226591 0 0 -0.0540183 0 -2.38888 -0.265287 0 0 -0.00565272 0 0 0.109624 5.52493 -0.21303 0 -1.98572 0 0.509862 0.299564 -0.0426797 0.871621 0.143633 0.0131886 1.09369 0.092222 1.1145 -1.14114 0.0130408 0 0 0 -0.237919 0.018766 0 0 0 0 0.282346 -38.4671 -5.93999 -2.03407 -2.13538 1.07481 -2.15755 -0.239474 0.0911499 -0.199536 -0.221862 0 0 0 0 0 0 +192 0 0.296096 0.176919 -0.0122078 -0.0757353 0.274133 -0.106133 1.00763 -0.745752 -0.0738079 0.791354 0.0749249 -0.204693 0.000916796 0.183891 0.0151249 1.35063 7.88646 0.00860157 0.0337094 -0.403892 -0.00487473 0.131729 -0.00115843 0.120029 0.124254 0.163291 -0.00463117 0.592846 0.912972 -0.190742 -0.00965613 0.0870983 -0.0991592 -0.202712 0.39161 0.00431526 0.156184 -1.76717 0.173239 -0.499071 0.00792699 -0.012747 0.0128543 0.831207 0.0627498 -0.516648 0.738543 0.21575 -0.0157334 0.944043 -0.00631936 -2.46806 -0.0780754 0.0537429 -0.00803132 -0.325592 0.289655 0.149762 -0.166687 -0.0138721 -1.42944 -1.40527 -1.40613 0.128802 -0.000530199 -1.04884 0.0631834 0.190636 0.0129785 -0.770895 0.00794109 0.0782237 -0.100151 -1.70745 -0.455999 0.0939349 0.46524 -2.8409 2.13063 -0.885375 -0.146149 -0.0923987 -0.274996 0.262315 -1.15302 1.03439 -0.0162507 -0.0271214 -0.152609 -0.163168 -1.00073 0 0 0 0 0 -0.0122078 -0.0757353 0.000518319 0 0 0 0 2.07444e-05 0 0.00245318 0 0 -0.000128972 -2.41422e-05 0.00202565 0 8.50394e-05 -0.0153722 0.0246271 0 0 -0.0714465 -1.39883e-06 0 -0.00211767 -0.517122 0 0 -0.0013398 -0.100206 0 0.000101236 0 -0.00985884 0 0 -0.000583125 0 0 0.0682388 0.000414856 -0.00226037 0 0.0104405 0.00686479 0 0 0.0107464 0 -0.00013748 0.0847241 -0.000493689 0 0 0.000297435 -0.00158038 0 0.000524374 0.0193762 0.000375381 0.504365 -0.0010033 0.00574433 0 0.00246424 0.0142181 0.120586 -0.00181009 0.0138058 0 0 0 0.0286538 0.019974 -0.00996208 0.000845192 0.000836798 -0.0225933 0.000101894 8.93507e-05 0.00018815 -0.0118643 0 0 0 0 0 0 0.274133 0 -0.106133 0 0 0 0 -0.319091 -0.568122 0 0 0.252346 0 0.0478091 0 -0.00932868 0 0 0.378735 0 -0.243152 -0.161631 -0.0915192 0.041289 0 0 -0.183717 0 6.30884 0 -3.12526 -0.0101076 0 -1.29216 -1.27962 0.000251823 0 -0.0556246 0 0 -0.0394888 0 1.15715 1.40648 0 0 0.144596 0 0 -0.236731 -3.033 0.486886 0 -0.30058 0 0.219075 -0.0103079 -0.154954 -0.644498 0.180041 0.121375 -0.863048 -0.135503 1.41761 4.18356 -0.123986 0 0 0 0.256147 -0.0839755 0 0 0 0 -0.0364803 6.54373 -2.45405 7.57933 -0.543483 0.665145 0.938034 -0.198442 0.206604 -0.215764 0.569602 0 0 0 0 0 0 +193 0 0.35231 0.408142 -0.0173264 0.0302562 -0.0463109 0.190538 -0.887063 -2.07444 -0.182993 0.804115 -0.221243 0.166222 0.00197239 0.131593 0.022423 0.868712 -0.19244 0.131159 0.0679998 0.0797514 -0.00379677 -0.417754 -0.00258321 0.223816 -0.541294 0.554676 -0.041635 -0.374426 0.0848504 0.0817692 -0.0231489 0.173498 -0.687492 -0.00269798 -0.335703 -0.0127188 -0.334309 -3.16095 -0.366987 0.636303 0.0182752 -1.58079 -0.0249962 1.07721 0.148131 0.483754 -0.103506 0.579009 0.0317554 -0.255163 0.195822 -2.91571 -0.10985 0.155066 -0.0735341 -0.971472 0.284176 0.427624 -0.184652 -0.0482445 -0.509303 -2.39342 -1.81724 -0.766104 -0.159394 -0.594848 0.166637 -0.136436 0.0495777 -0.388139 0.33595 0.0864001 0.126261 -0.853948 -0.236065 0.369172 11.7511 -1.38802 8.16524 -0.0930578 1.04805 1.21355 -0.696031 0.555227 -0.958237 1.8671 -0.0383624 0.0364512 -0.0921722 0.194791 -0.0930066 0 0 0 0 0 -0.0173264 0.0302562 -0.00192527 0 0 0 0 -7.41643e-05 0 0.00542093 0 0 -0.000436633 -0.000130848 0.00290146 0 -5.34023e-06 -0.0152307 0.0541455 0 0 0.214004 -8.17647e-06 0 -0.0131961 0.101673 0 0 0.0281384 -0.0420161 0 -0.0950682 0 0.00523646 0 0 0.00108264 0 0 -0.432801 -0.00147788 -0.00763485 0 -0.0382661 -0.00624022 0 0 -0.0800134 0 -0.000480918 -0.174986 -0.00147092 0 0 0.000742482 0.00512684 0 0.000482041 0.0640196 0.00652766 0.326895 0.0038801 0.0333168 0 -0.013397 0.0205934 0.224715 -0.0356444 0.111491 0 0 0 1.37799 0.062889 -0.0293168 0.00357035 0.00294951 0.131262 0.000279303 0.000241661 0.000701178 -0.0165475 0 0 0 0 0 0 -0.0463109 0 0.190538 0 0 0 0 -0.220507 -1.21847 0 0 0.42966 0 0.0674472 0 -0.0411052 0 0 0.818298 0 -0.809133 -0.0694495 0.226663 0.113619 0 0 -0.503778 0 0.764267 0 -2.18088 0.110896 0 -0.510968 -1.0388 0.029449 0 -0.0174929 0 0 -0.108837 0 -0.0198401 2.15478 0 0 0.28475 0 0 -0.496051 -0.937639 0.0363598 0 -3.15037 0 0.0546943 0.115677 -0.104232 0.112968 0.236684 0.258031 -0.238245 -0.0936825 1.73619 -3.5256 -0.0894957 0 0 0 0.0551087 0.00694353 0 0 0 0 0.230185 2.13186 -4.97458 6.80689 -0.601342 0.268285 0.984369 -0.248827 0.0936238 -0.155815 0.280346 0 0 0 0 0 0 +194 0 -1.2055 -0.218478 -0.0303658 -0.154709 -0.0815827 -0.0883971 -0.566669 -0.755305 -0.380763 0.634626 -0.334354 0.0634369 0.00290291 0.578229 -0.0810428 0.915873 0.844922 0.168433 -0.117095 5.02211 0.0208938 0.0927427 -0.00513528 0.135796 -0.0333192 0.363939 0.0448503 0.316012 0.0494039 0.063848 -0.0431279 -0.684079 0.634787 0.109895 0.000271275 -0.0448606 0.131951 2.79274 -0.478855 1.98476 0.0149768 -0.407406 -0.0721481 0.862304 0.0140829 0.613715 0.326697 -0.956459 0.231641 -0.000491803 0.187972 -6.9331 0.294634 -0.183648 -0.129117 -1.60527 -0.0767435 0.178777 0.02217 -0.0179258 -0.0253282 -4.47252 0.784003 -1.74557 -0.747128 0.265404 0.389923 0.495954 0.117988 0.770641 -0.294048 -0.822292 0.308842 -1.75175 0.219631 0.0480387 -14.3375 -2.07502 -1.27683 -0.330235 0.730384 -2.32873 -0.292168 0.423028 -0.5242 1.0692 -0.00974452 0.171779 -0.0374125 0.712373 -0.14257 0 0 0 0 0 -0.0303658 -0.154709 -0.000487106 0 0 0 0 0.000304065 0 -0.0192214 0 0 1.86288e-05 -0.0001737 -0.00473811 0 -0.00142889 -0.0131399 -0.0561909 0 0 -0.260722 -4.14705e-06 0 0.00837048 -0.253859 0 0 -0.0274455 -0.0341628 0 0.0488129 0 -0.034408 0 0 -0.0030802 0 0 -0.158076 0.00638422 0.000772804 0 -0.000311617 -0.0304288 0 0 0.082496 0 -0.00417123 0.155411 0.00437874 0 0 -0.00134994 -0.000809425 0 0.0135214 0.074548 -0.00215657 -0.846721 -0.0129695 0.00193643 0 -0.0232458 0.0098877 -0.230901 0.0454647 -0.00217617 0 0 0 -1.1825 -0.128719 -0.00869447 0.00896943 -0.0205123 -0.00574319 -0.000190289 -8.26713e-05 -0.00363457 0.0373453 0 0 0 0 0 0 -0.0815827 0 -0.0883971 0 0 0 0 0.0809637 -0.214234 0 0 0.780067 0 0.0818658 0 0.0160797 0 0 -0.1239 0 0.512776 0.0775353 0.415264 0.0283106 0 0 0.0254096 0 -0.778635 0 6.58604 0.0849141 0 0.315864 2.09558 0.0409758 0 0.0302157 0 0 0.00265904 0 0.193989 -0.266073 0 0 0.0512535 0 0 -0.492195 3.46563 0.00992412 0 -1.81135 0 0.652051 0.381992 -0.0998859 0.770358 0.181895 0.0571619 0.838705 0.0687672 1.21141 2.55561 -0.0142302 0 0 0 0.137748 0.0719183 0 0 0 0 0.0422521 -45.3131 -8.11124 -1.14586 -2.54357 1.13007 -2.35518 -0.353329 0.109745 -0.236195 -0.142554 0 0 0 0 0 0 +195 0 0.220527 0.150908 -0.00611383 -0.0403884 0.448996 0.022816 -0.469766 -2.43553 -0.0390357 0.411374 -0.180283 -0.693541 0.0009526 -2.63022 -0.041916 0.475663 2.8988 0.124649 -0.0515567 -0.903655 -0.00350195 -0.192378 -0.00216759 -0.057317 -0.322293 0.127995 0.00689256 0.367129 2.06161 -0.493291 -0.012942 -0.330142 -0.422094 0.205807 -0.0103653 -0.0238974 -0.0229324 -1.26772 -0.131195 -0.372625 0.00494019 0.497984 -0.0218101 -3.25009 0.00282092 -0.232059 0.995403 -0.441803 0.09743 -1.25666 0.164022 1.78447 0.103779 -0.0607336 0.34671 3.00692 0.387312 0.0731396 0.00921149 -0.00212234 -0.599546 0.741839 -0.745164 1.22967 0.133196 0.354104 -0.21542 0.287277 0.0172864 -0.756833 -0.330461 0.0117114 0.0635267 2.08153 -0.408837 -0.0564468 1.62856 -2.57829 8.69591 -1.3278 2.03467 -2.4301 -0.0350041 0.548041 -1.92648 3.08766 -0.00195191 0.0466133 -0.717329 1.08369 -5.94941 0 0 0 0 0 -0.00611383 -0.0403884 0.00216367 0 0 0 0 0.000398717 0 -0.0141009 0 0 -0.000746316 -0.00151702 -0.00795085 0 -0.00109509 0.000575267 -0.107675 0 0 0.179026 -9.84644e-05 0 0.016766 -0.0215078 0 0 0.0256272 -0.0311265 0 0.103601 0 0.0090786 0 0 0.0017621 0 0 0.336155 0.00789228 -0.00883059 0 0.0416458 0.000360481 0 0 0.162916 0 -0.000897606 0.0668896 0.0035823 0 0 0.00196891 -0.00709336 0 0.00119043 0.0124573 0.0107156 0.306411 -0.015707 -0.0341896 0 0.00745072 -0.0329509 0.140494 -0.0358168 0.0571414 0 0 0 -0.159116 0.0787929 0.406568 -0.00096344 0.021525 -0.193025 0.000614055 0.00126331 -0.0112682 0.0857122 0 0 0 0 0 0 0.448996 0 0.022816 0 0 0 0 -0.469423 -0.749911 0 0 0.332313 0 0.039258 0 -0.0372405 0 0 0.975106 0 -0.329187 -0.107944 0.0640442 0.102623 0 0 -0.467631 0 3.57207 0 -0.76407 -0.243858 0 -1.42828 -0.480571 0.00458103 0 -0.0232297 0 0 -0.0507098 0 0.146676 2.37012 0 0 0.233149 0 0 -0.421198 -1.35261 0.228273 0 -1.81131 0 0.621594 0.0396365 -0.153494 -0.415875 0.193929 -0.141807 -0.501174 -0.192707 0.930346 -3.72678 -0.231464 0 0 0 0.185841 0.0177696 0 0 0 0 -0.0111686 -11.9935 -4.79986 8.21176 -1.28518 0.892347 0.0432341 -0.200842 0.142667 -0.183194 0.55058 0 0 0 0 0 0 +196 0 1.52511 -0.0786125 0.0666015 0.388583 -0.352006 -0.278916 0.851549 2.76284 0.342403 -1.54707 0.220189 0.212456 -0.0113356 0.112848 -0.00721736 -0.543839 1.84986 -0.151351 -0.0433198 -0.946821 0.0162884 0.456581 0.0110986 -0.219629 0.825458 -0.5344 -0.0358259 0.551708 0.139039 -0.0408751 0.0684705 -0.201546 0.268429 -0.131737 0.448133 0.0336081 -0.127653 -2.09724 0.667696 -1.20116 -0.0898748 0.00357085 0.092026 1.05105 -0.66902 -0.969275 0.484782 -0.367436 -0.229489 -0.0850896 -0.53593 -3.76888 0.0725171 0.105503 -0.0393857 -3.06793 0.0527401 0.218841 0.632601 0.242526 -0.488874 0.775564 1.91207 -2.66148 -0.598875 0.124778 2.07899 0.351654 -0.116136 1.66927 0.152255 -0.109289 -0.209332 -1.42859 -0.473227 -0.142682 8.12283 3.33981 -4.17334 2.96469 -2.85662 2.09194 1.35403 -1.34499 1.86432 -3.87143 0.462923 -0.521244 0.917226 -0.9031 -0.40124 0 0 0 0 0 0.0666015 0.388583 -0.00330488 0 0 0 0 -0.000813759 0 -0.0025053 0 0 -0.00270608 -0.00443291 0.00718071 0 0.000292807 0.0368387 0.0597709 0 0 0.127068 -0.000250153 0 -0.0256279 0.393113 0 0 0.01145 0.114295 0 -0.168022 0 0.0406842 0 0 0.00332669 0 0 -1.13354 -0.0160749 -0.0505443 0 -0.0596183 0.0185698 0 0 -0.16829 0 -0.00048074 0.205584 -0.00670286 0 0 0.00426208 0.00926516 0 0.00339922 0.117907 0.0184295 -0.142206 0.046076 0.00325576 0 -0.0432586 0.0215455 0.26978 -0.0957414 -0.0341109 0 0 0 6.48904 0.432589 0.0463717 0.0392872 -0.00269305 0.268697 0.00182999 0.000607301 0.013752 -0.050684 0 0 0 0 0 0 -0.352006 0 -0.278916 0 0 0 0 0.0916251 0.524925 0 0 -0.552469 0 -0.0643026 0 -0.0152782 0 0 -0.252653 0 0.629831 0.0266948 -0.104606 -0.0377508 0 0 -0.109857 0 -0.732802 0 -1.65569 -0.610442 0 0.448003 0.311659 -0.0147494 0 0.00740532 0 0 0.0326947 0 -1.47675 -0.485939 0 0 -0.0689207 0 0 0.430888 -3.00494 -0.0445727 0 0.5898 0 -0.303843 -0.0667995 0.0139367 0.066652 -0.0895887 -0.544099 -0.223444 0.0631512 -0.41774 -2.85397 0.0203292 0 0 0 -0.130123 0.0313378 0 0 0 0 -0.0813242 18.9888 3.00337 -0.603121 1.17727 -0.730199 0.980909 0.335076 -0.246595 0.27276 -0.204782 0 0 0 0 0 0 +197 0 0 0 0 0 0.198149 -0.196371 0.109115 0.314999 0 0 -0.106279 -0.432449 0 -0.223568 -0.00340693 0 0 0 0.022026 1.39 0 0 0 0 0.293101 0 0 0.537852 0.681699 -0.340191 0 -0.0492196 0 0 0.165137 -0.0105982 0 0 -0.394436 0.159502 0 0 -0.0245836 -0.019307 0 -0.295198 0.529836 0.106768 0.0235265 -0.433817 0.0839404 0 -0.0713185 -0.110561 0.354173 1.77163 0.188454 0.233592 0 0 -1.15525 -2.50785 0 -0.0249772 0.141253 -0.39901 0 0 0 0 0.0535082 -0.111293 0 0.234209 -0.231736 0 0 0 -2.08528 0 0.25204 -2.13342 0 -0.00584356 -0.763215 -0.322291 0 0.134268 -1.18874 3.01136 -6.20631 0 0 0 0.00502656 2.85033e-05 0 0 0 9.76286e-05 0.000850195 0 1.04059e-06 0 8.35376e-06 7.06485e-06 0 0 0 0 0.000259493 0 1.49226e-06 0 0.00134674 0 0.00192236 -0.00231377 0 -2.37233e-06 0 0 -0.0027762 0.000103035 -1.25142e-05 0 4.89978e-06 0 5.96555e-05 0.00136562 -0.000208094 0.00146843 7.56019e-06 0 5.86158e-07 0 0 0 3.43803e-07 0 0 -0.000271102 9.41781e-05 -0.00108306 0.000679245 0 0 0.000103703 0 -0.000102757 0 0 -0.000136189 0.000373733 -0.0010792 0.000580197 0 0 -0.00147314 -0.000702583 1.99834e-05 -0.000112888 -5.33681e-05 0 0.00113681 0.000163169 0.00725662 0 0 0 -0.00107713 0 -0.00117445 0.00222041 0 0.000145777 -0.000275606 0.000241687 0 -0.000130036 0.000245846 -0.00046279 0.000680622 0 0.198149 0.00502656 -0.196371 2.85033e-05 0.358014 0.0158745 4.37702e-05 0.566127 -0.00846677 -1.59209e-07 -0.0372613 -0.00743502 -7.15405e-10 -4.62505e-05 2.05537e-07 -2.35551e-05 -0.0260915 -3.39043e-05 1.09261 -0.131188 0.278101 0.0340758 -0.00198808 0.0975424 -0.145375 0.00436817 -0.00473787 0.0188844 4.05796 -0.241025 2.21615 -0.528698 9.23584e-10 0.400091 1.04672 -1.38918e-05 -0.00750133 0.103659 -0.066133 0.002214 -4.19181e-05 -0.00359125 0.626107 1.27479 -0.00584484 -0.0310636 0.0885851 0.0263662 -0.0475297 -0.0549317 -2.36187 -0.577957 0.0243634 -0.30542 -6.83328e-08 -1.04297 -1.70041e-05 0.260563 0.00140492 0.038416 -0.309858 -0.00240372 0.216482 0.000475318 -2.04817 -0.216651 0.228253 -0.139292 -0.0171849 0.165572 2.08956e-05 0.056491 6.26281e-08 -0.0280233 0.141911 1.43711e-05 -15.3463 0.017559 -3.29838 0.000102836 1.12819 -3.16062 1.74025e-07 0.3654 -0.786478 0.527412 4.45278e-10 0.194444 -0.368388 0.514634 -0.112465 0 +198 0 0 0 0 0 0.863646 0.214489 -0.317375 -2.92 0 0 0.0237704 -0.273535 0 -0.402519 -0.000745614 0 0 0 -0.00137105 3.54097 0 0 0 0 -0.441744 0 0 -0.110812 -4.17463 -0.197512 0 -0.0452195 0 0 -0.0500473 0.00511866 0 0 0.149885 -0.324937 0 0 0.0487898 0.507481 0 -0.44445 -0.604874 -0.19938 -0.0483775 1.0625 -0.0299765 0 0.0251385 0.0884341 -0.418036 -0.69198 -0.109591 0.0577045 0 0 0.784395 -1.3886 0 -1.17707 -0.550454 -0.699629 0 0 0 0 -0.132112 -0.0541334 0 -2.31373 0.571145 0 0 0 5.39625 0 -0.0201425 4.67321 0 -0.174614 0.534193 4.74523 0 -0.311817 0.933309 -1.49525 9.26336 0 0 0 0.0137308 7.78611e-05 0 0 0 0.000319357 0.00222469 0 3.22095e-06 0 2.26948e-05 1.70195e-05 0 0 0 0 0.000818624 0 4.48483e-06 0 0.00306634 0 0.00623001 -0.00556901 0 -6.92715e-06 0 0 -0.0074317 0.000279104 -3.13882e-05 0 1.30208e-05 0 0.000156099 0.00341103 -0.000628187 0.00397771 1.94634e-05 0 1.59243e-06 0 0 0 9.13626e-07 0 0 -0.000734367 0.000246434 -0.00309915 0.00184813 0 0 0.00020259 0 -0.000268881 0 0 -6.22996e-05 0.000918132 -0.00266063 0.00151795 0 0 -0.00398187 -0.00210267 -1.17303e-05 -0.000120269 -0.000176981 0 0.00325164 0.000507636 0.0170546 0 0 0 -0.00245246 0 -0.00318138 0.00594388 0 0.000394885 -0.000737778 0.000713027 0 -0.000352245 0.000658113 -0.0012446 0.00182198 0 0.863646 0.0137308 0.214489 7.78611e-05 0.780779 0.20458 0.000119565 -0.707899 -0.0170309 -4.34903e-07 0.00457654 -0.0246526 -1.95424e-09 -0.0001425 5.61457e-07 -5.10892e-05 -0.00133392 -9.26147e-05 0.552475 1.7117 -0.00811931 -0.349794 -0.00844826 0.100231 -0.0212153 -0.348445 -0.00938005 0.0222154 4.49758 0.100137 1.38023 0.487694 2.52291e-09 -2.04384 -0.0497065 -4.9176e-05 0.00249805 -0.0839906 0.0228475 -1.96512 -9.18166e-05 -0.0574448 1.79552 1.75427 0.000716761 0.0135046 0.234241 0.185028 -0.0605528 0.353655 1.96116 -0.06949 -0.021332 -0.347714 -1.86661e-07 -0.111487 -3.89405e-05 -0.208858 0.00998225 0.155511 -0.429936 -0.000814094 0.0867404 -0.00284402 -2.25303 -0.270664 0.378641 0.0367629 0.540667 -0.000210401 6.24275e-05 -0.0156478 1.71078e-07 0.0503042 -0.211947 3.29107e-05 -9.55776 0.0802594 5.4185 0.000311603 -0.31675 5.28424 5.03892e-07 -0.012446 0.0952319 2.51046 1.21635e-09 -0.109154 0.418388 -0.69973 2.93797 0 +199 0 0 0 0 0 0.00326268 -0.317154 0.938009 1.24101 0 0 -0.0381803 -1.63722 0 -2.30709 0.00381749 0 0 0 0.041726 -1.37531 0 0 0 0 0.244941 0 0 0.611515 -0.271868 -0.927275 0 0.101302 0 0 0.266365 -0.00997313 0 0 -0.36735 -1.56866 0 0 -0.133171 -3.6963 0 -1.22905 0.593381 0.555365 0.202835 -0.837405 0.0793742 0 -0.0651715 -0.0295648 0.0131923 2.5719 -0.0328153 -0.0325246 0 0 -2.28696 3.2767 0 0.853184 0.149267 -1.67641 0 0 0 0 0.0511664 -0.301704 0 3.12802 -0.815118 0 0 0 -2.82063 0 0.583752 -0.735062 0 0.6677 -0.709703 -2.3586 0 0.820424 -1.36775 2.4295 -4.64258 0 0 0 -0.0194044 -0.000110033 0 0 0 -0.000331452 -0.00359564 0 -3.69056e-06 0 -3.26488e-05 -2.22785e-05 0 0 0 0 -0.000988614 0 -5.71183e-06 0 -0.00385674 0 -0.00658175 0.00758173 0 1.00183e-05 0 0 0.0109481 -0.000405298 4.32847e-05 0 -2.00818e-05 0 -0.000252295 -0.00492773 0.000919332 -0.00577621 -2.79048e-05 0 -2.29086e-06 0 0 0 -1.40908e-06 0 0 0.00106641 -0.000398298 0.00448913 -0.00266933 0 0 -0.000262601 0 0.000434578 0 0 -0.000172226 -0.0012383 0.00355101 -0.00214926 0 0 0.00580606 0.0030787 1.26964e-05 0.000122594 0.000319395 0 -0.00467939 -0.000738734 -0.0234132 0 0 0 0.00308462 0 0.00461981 -0.00875628 0 -0.00057343 0.00108686 -0.00113136 0 0.000511511 -0.000969505 0.00182324 -0.00268407 0 0.00326268 -0.0194044 -0.317154 -0.000110033 0.367002 0.0530283 -0.00016897 0.151163 0.0296565 6.14605e-07 0.0240576 0.0349333 2.76173e-09 0.000201732 -7.93452e-07 8.13821e-05 0.0330182 0.000130883 -0.287836 0.0672214 -0.333648 0.0827217 0.0113149 -0.0898508 0.294541 -0.0596393 0.0157236 0.00418647 0.0031709 -0.125114 -0.522059 -1.24177 -3.56538e-09 0.880835 -0.761336 6.71728e-05 -0.00584282 0.0238701 -0.042652 -0.31833 0.000150551 -0.0116513 -1.27331 -0.0270394 0.00210703 -0.0212461 -0.118687 0.0117779 0.0235465 0.398819 -0.872434 -1.53372 -0.0357396 -2.26393 2.6379e-07 -2.17085 6.19128e-05 0.169888 -0.0134232 -0.280248 -0.516131 0.00640049 -0.0489828 0.0120473 -6.83003 -0.0160049 0.364645 0.00818787 -0.0978085 0.0363463 -8.83387e-05 0.0209083 -2.41768e-07 -0.050787 -0.0132787 -5.23259e-05 3.61512 -0.119024 -3.39425 -0.000449738 0.0765579 1.73282 -7.12721e-07 0.188115 -0.235146 0.31217 -1.71894e-09 0.179185 -0.23785 0.303197 0.360391 0 +200 0 -0.0825556 -0.232015 0.00051196 0.010388 0.185325 -0.00490765 -0.0327161 0.561817 0.00297759 -0.337823 0.0251537 -0.122713 -6.53467e-07 -0.540332 0.000928775 -0.30609 -0.582548 -0.0678349 0.00154984 -1.31282 -0.00715739 0.20538 9.07519e-07 -0.0216886 0.102111 -0.210554 0.000935705 -0.228322 -0.553384 -0.0238753 5.30654e-05 0.0490038 0.687925 0.0146274 0.0022399 0.000560675 0.0118658 2.57798 0.0505644 -0.582558 -3.4479e-05 0.17312 0.00118208 -1.29587 -0.00159017 -0.196358 -0.391681 0.0738196 -0.00189561 -1.54807 0.0506933 2.15521 -0.00174599 0.000927144 -0.0272579 0.525517 0.114232 -0.0493654 0.00689119 4.17376e-05 1.41285 2.31848 -0.239792 -0.896469 0.333275 0.9989 0.157658 -0.11393 -5.71642e-05 0.108944 -0.0495219 0.0711595 -0.0660512 1.2438 0.514622 0.399742 -13.2455 -0.331072 -4.50939 -0.226421 -0.345873 -1.79081 0.12173 -0.359317 0.769891 0.00604296 3.10367e-06 -0.000111645 0.00436278 -0.143237 2.66065 0 0 0 0 0 0.00051196 0.010388 0.00016874 0 0 0 0 1.94422e-06 0 -0.00114779 0 0 0.000452398 0.00014505 -0.000202882 0 -2.332e-05 0.000235826 -0.011501 0 0 -0.0178171 1.0548e-05 0 -3.13898e-05 -0.0119163 0 0 -0.00273782 0.00421421 0 -0.0103395 0 -0.000174037 0 0 -4.16758e-05 0 0 -0.00253854 3.06623e-05 0.00618512 0 0.00313552 0.00651876 0 0 -0.0107199 0 0.000325439 -0.0344018 -0.000109992 0 0 -0.00092732 -0.000275046 0 0.00153184 0.00137378 0.00243103 -0.101988 0.00720668 -0.00260021 0 0.00112008 0.00410524 -0.00037451 -0.00202319 -0.0128016 0 0 0 0.180162 0.00674827 0.0294694 -0.00281161 0.00450463 0.0350327 -0.000599892 0.00114163 -0.00234365 0.00667603 0 0 0 0 0 0 0.185325 0 -0.00490765 0 0 0 0 0.138178 -0.17789 0 0 -0.244052 0 -0.032166 0 -0.00940283 0 0 -0.824785 0 0.394806 0.0267479 -0.102023 -0.117606 0 0 -0.066039 0 -5.04158 0 1.03547 0.10474 0 0.216831 0.75228 -0.0115658 0 0.0114452 0 0 -0.0317341 0 -0.85008 -1.89424 0 0 -0.26999 0 0 0.323884 -0.787538 0.00656871 0 0.969263 0 0.246233 -0.170831 0.113053 0.151311 0.0499077 -0.123339 0.0599207 -0.026238 0.662148 4.47055 0.0598861 0 0 0 0.00235213 0.0406534 0 0 0 0 0.0362114 -4.91255 1.73372 -2.85123 0.409459 -0.464672 -0.0959866 0.147635 -0.151645 0.192433 -0.134743 0 0 0 0 0 0 +201 0 1.96749 0.674078 -0.000955242 -0.040232 0.39993 0.329443 -0.79411 -2.42144 -0.00428079 0.033338 -0.00870094 0.109545 1.12434e-06 0.0427305 -0.000513662 1.37348 4.08195 -0.0110545 -0.00131928 0.613105 -0.000690599 -0.310877 -1.44597e-06 0.00661085 -0.58768 0.735177 4.98521e-05 -0.495823 -1.27576 0.129687 -8.06429e-05 -0.0129592 -1.04128 -0.019991 -0.301144 -0.000391512 0.0289944 -5.08952 -0.0389447 0.999832 6.34742e-05 -0.117247 -0.0011836 0.66903 0.00337163 0.835197 -0.839999 -0.0469903 0.00208642 1.21467 0.0446719 -3.03794 0.0015078 -0.00135882 0.0455301 -1.31552 0.138995 0.0529366 -0.00917615 -7.45284e-05 -2.26421 -0.441787 -0.507302 2.26086 -0.114965 0.774635 -0.438545 0.0706773 7.82669e-05 0.0163759 -0.208408 0.0118872 -0.0207289 0.593573 1.09003 -0.139883 26.1479 1.32771 12.5265 0.83603 -0.430199 12.2172 -0.0296985 0.189363 -0.376488 7.78577 -6.5807e-06 0.0001701 -0.00686033 0.0436402 6.13383 0 0 0 0 0 -0.000955242 -0.040232 0.000107479 0 0 0 0 7.7797e-07 0 0.00132523 0 0 -0.000666166 -0.000221979 0.000248432 0 3.24616e-05 -0.000370818 0.0100234 0 0 0.00703216 -1.61147e-05 0 -0.000132391 0.0273718 0 0 0.0021883 -0.00791263 0 -0.00368013 0 0.000172981 0 0 5.35274e-05 0 0 -0.0706701 1.03111e-05 -0.00919207 0 0.00139498 -0.0124943 0 0 0.0256045 0 0.000222147 0.0296628 -0.00166091 0 0 0.00136342 -0.000187749 0 -0.00307277 0.00277712 -0.00409705 -0.0118218 -0.0123885 0.00587795 0 -0.00168407 0.00476674 0.00901106 -0.00719365 0.0194019 0 0 0 0.27371 0.00521055 0.00939827 0.00702214 -0.0133171 0.0249077 0.000876488 -0.00167217 0.0036507 -0.00429463 0 0 0 0 0 0 0.39993 0 0.329443 0 0 0 0 0.0259372 -0.0100612 0 0 0.0798451 0 0.00951435 0 0.00192736 0 0 0.16569 0 -0.92162 -0.133742 0.00133072 0.0147458 0 0 0.0114792 0 3.61313 0 -6.84124 0.137401 0 -0.983286 -1.96494 0.00109885 0 -0.00238711 0 0 0.000858544 0 0.30331 1.42947 0 0 0.165997 0 0 -0.0187832 -4.95608 -0.05208 0 -0.557228 0 -0.999299 0.0935134 -0.158579 0.0465983 0.131209 -0.993072 -0.718187 0.0130554 -0.195923 -1.92914 -0.201049 0 0 0 -0.0132725 -0.00927423 0 0 0 0 -0.0811877 45.6238 1.44796 7.04133 1.06267 -0.802234 3.19366 -0.078406 0.112038 -0.188638 0.733884 0 0 0 0 0 0 +202 0 0.154267 -0.0198765 -0.00170606 -0.0861703 0.30864 0.196888 -1.575 -2.80103 -0.00677003 -0.33502 -0.0431199 -0.323089 1.94288e-06 -1.12341 -0.00157297 -0.298116 -1.96064 -0.0945513 -0.00330145 -2.84517 -0.0112436 -0.0423609 -2.41267e-06 -0.0897113 -0.505797 0.112057 -0.00198201 -0.75837 -2.4519 0.0181422 -0.000131414 -0.0737784 -0.190701 -0.0203224 -0.345768 -0.00100733 0.0601356 -0.701768 -0.118898 -0.606505 0.000112775 0.261782 -0.00264235 -3.33006 0.00629953 0.118142 -1.45955 -0.164673 0.00433111 -1.12592 -0.163855 1.25891 0.00302514 -0.00386526 0.103983 1.3104 -0.00265112 0.0859681 0.110205 -0.000130809 1.56162 2.11272 0.455273 -1.10003 0.0363201 1.5374 0.167951 0.0919424 0.000120288 0.0546404 -0.00228488 -0.064503 -0.0747805 2.30726 1.13457 -0.205762 10.1818 2.13792 9.87895 1.50039 -0.669953 11.1342 0.52252 -0.433354 0.597481 11.184 -1.22953e-05 0.000362835 -0.0127512 0.189767 11.7887 0 0 0 0 0 -0.00170606 -0.0861703 -0.000198399 0 0 0 0 -5.4677e-06 0 0.00265566 0 0 -0.00134697 -0.000419811 0.000500729 0 6.41066e-05 -0.000555627 0.0194119 0 0 0.0066882 -3.04666e-05 0 -0.000170366 0.0566314 0 0 0.00381236 -0.012148 0 -0.0152883 0 0.000385615 0 0 0.000107081 0 0 -0.150345 -7.12946e-05 -0.0185983 0 -0.0018958 -0.0239115 0 0 0.0447334 0 -0.000426824 0.0271403 -0.00156489 0 0 0.00275649 0.000360732 0 -0.00593862 0.00858024 -0.00818407 -0.163071 -0.019575 0.0115377 0 -0.00420535 0.0123433 0.0150433 -0.0181661 0.0296071 0 0 0 0.791087 0.0332389 0.0315348 0.0111834 -0.022223 0.0948356 0.00177125 -0.0033798 0.00741042 -0.00510067 0 0 0 0 0 0 0.30864 0 0.196888 0 0 0 0 0.448281 0.553098 0 0 0.138092 0 0.0118245 0 0.00854431 0 0 -0.232214 0 0.189293 -0.0242727 -0.0680045 -0.0279455 0 0 0.0662421 0 -0.206652 0 3.56054 0.427309 0 -0.109329 1.29453 -0.00680449 0 0.0554586 0 0 0.0693556 0 -0.0989987 -0.454554 0 0 -0.0526631 0 0 0.0539675 0.457069 0.578526 0 1.06227 0 0.195199 0.17796 -0.211706 -0.255615 0.0358567 0.572773 0.396349 0.0109402 0.0548458 2.06494 0.0487921 0 0 0 0.0743921 -0.0314357 0 0 0 0 -0.105304 -27.7181 -0.602332 -3.76292 0.51283 -0.646152 -1.55363 0.0228885 -0.0112252 -0.111192 0.180558 0 0 0 0 0 0 +203 0 0.149304 -0.0521563 0.0003213 0.00886409 0.193579 0.132345 0.383092 0.589974 0.00161919 -0.573983 0.012865 0.217164 -2.01956e-07 0.210844 -7.02366e-05 -0.322549 -2.19598 -0.134497 -0.000346048 0.110452 -0.0172731 -0.0559542 2.89402e-07 -0.0703842 -0.0195311 0.0329531 -0.00717689 -0.447669 -0.197736 0.225716 2.21757e-05 -0.000272245 0.080533 -0.024682 -0.134939 0.000205829 -0.0256121 -0.240388 0.0111159 0.345825 -1.42965e-05 -0.0415282 0.000203036 0.0937766 -0.000875906 0.472724 -0.306943 -0.0183008 -0.000268368 -0.0499025 -0.142224 4.14223 0.000465918 -0.000264907 0.00488195 0.246809 0.0292106 -0.00358044 0.110497 1.45202e-05 0.398648 0.916437 0.617248 1.24459 0.558937 0.44876 0.0928038 -0.201967 -1.9654e-05 0.255653 -0.0821391 -0.00214642 0.00713456 -0.201996 0.0254977 0.10166 2.35304 0.562851 0.954547 0.132804 -0.455357 2.41463 0.321595 -0.636952 1.38112 -1.07876 6.70333e-07 -7.77254e-06 0.000344402 -0.00420491 0.121336 0 0 0 0 0 0.0003213 0.00886409 0.000304923 0 0 0 0 4.19547e-06 0 -0.00120604 0 0 0.000494184 0.000115854 -0.000119589 0 -1.98068e-05 0.000125776 -0.00916848 0 0 -0.00821485 8.03029e-06 0 -6.86073e-05 -0.0408478 0 0 -0.000733842 0.000998648 0 -0.0101255 0 4.46181e-05 0 0 5.1131e-06 0 0 -0.0185838 6.31975e-05 0.00730403 0 0.0049728 0.00117953 0 0 0.00051382 0 0.000605757 -0.00117488 -0.000549966 0 0 -0.00100065 -0.000511958 0 0.000780209 0.0131465 0.00167066 -0.0968679 0.00239043 -0.000406644 0 -0.000502557 0.00585306 -3.95377e-06 -0.00503819 0.00425751 0 0 0 0.206715 -0.000186999 0.0279718 -3.59982e-06 -0.00125809 0.0310504 -0.000603064 0.000727161 -0.00165846 0.00426365 0 0 0 0 0 0 0.193579 0 0.132345 0 0 0 0 -0.181716 -0.0675843 0 0 -0.202529 0 -0.0333577 0 -0.0148974 0 0 -0.596147 0 -0.487662 -0.0518754 -0.139969 -0.101112 0 0 -0.0959812 0 -5.29535 0 -2.65664 0.0454726 0 -0.310876 -1.31739 -0.0164543 0 -0.0266436 0 0 -0.0201814 0 -1.04952 -1.57137 0 0 -0.247998 0 0 0.630389 3.03354 0.106801 0 1.78999 0 1.1698 -0.191224 0.214903 0.421119 -0.0325777 -0.41119 -0.0190804 -0.013606 -0.0632334 2.14375 -0.00546212 0 0 0 -0.0521866 0.0536979 0 0 0 0 0.00961793 16.2326 1.44774 1.55215 0.438912 -0.438612 1.63212 0.206851 -0.201172 0.214209 0.121944 0 0 0 0 0 0 +204 0 1.28357 0.0539786 0.000535577 0.0282254 0.288698 -0.108477 -0.0202661 -0.790312 0.00204293 0.284131 0.00536271 0.248424 -2.9938e-07 0.0693618 -0.000259832 -0.232956 2.20605 0.0604042 -0.000721176 -2.36017 0.00775227 0.179012 3.871e-07 0.0718581 0.0625819 -0.413272 0.000946755 0.398232 0.8349 0.0288511 2.87622e-05 -0.0160275 -0.211571 -0.0087144 0.295528 0.000133742 -0.0123097 -2.43603 0.00519891 -1.51412 -2.24749e-05 -0.0753208 0.000126171 1.52867 -0.00157053 -0.833995 0.375161 -0.0463939 -0.000177611 0.467443 0.0838031 -1.68749 0.000603528 -0.000606119 0.00668764 -1.67911 0.02953 -0.011095 -0.0835115 2.17494e-05 -1.21178 3.43171 -0.776441 0.660846 -0.133975 0.0733144 -0.641461 0.116844 -2.27212e-05 -0.063994 -0.140065 0.000374176 0.0213414 0.597839 -0.179613 0.0462039 1.57826 -0.716779 0.341427 -0.199217 0.168249 -0.672116 -0.417204 0.45156 -0.613967 0.895239 1.20193e-06 -8.29913e-06 0.000162382 0.0017592 -0.512315 0 0 0 0 0 0.000535577 0.0282254 0.000209555 0 0 0 0 4.00806e-06 0 -0.00165123 0 0 0.000603075 0.000150319 -0.000137242 0 -2.83803e-05 0.00016964 -0.00828085 0 0 0.01097 1.05235e-05 0 5.91177e-05 -0.0254514 0 0 0.00124922 0.0037083 0 -0.000602922 0 0.000213889 0 0 2.31806e-05 0 0 0.000976224 5.82572e-05 0.00864916 0 0.00320354 0.00414709 0 0 -0.009623 0 0.000421657 0.00228079 -0.000106464 0 0 -0.00122776 -0.000356365 0 0.00134815 0.0103028 0.00203856 -0.0338851 0.00259438 -0.00213651 0 0.000108667 0.00139947 -0.00481264 -0.00231914 -0.00112795 0 0 0 0.0623007 -0.0037559 0.0121512 -0.000681556 0.000328523 0.0102622 -0.000756826 0.000877514 -0.00121895 0.00189005 0 0 0 0 0 0 0.288698 0 -0.108477 0 0 0 0 -0.408124 -0.193992 0 0 0.0405496 0 0.0109611 0 -0.00293813 0 0 -0.724514 0 0.36593 -0.148939 0.0201398 -0.114774 0 0 -0.0316196 0 -4.09097 0 -5.01769 -0.599899 0 -1.26912 -0.476937 0.00265449 0 -0.0528287 0 0 -0.0223322 0 -1.86086 -0.869575 0 0 -0.171602 0 0 0.422373 -1.19638 0.931234 0 1.73906 0 1.91751 0.00325962 -0.11887 0.12474 0.0869954 -0.813301 -0.731547 -0.0357386 0.603714 5.85974 -0.086284 0 0 0 -0.0276132 0.0213111 0 0 0 0 0.0605321 38.1002 1.20884 7.64489 0.822106 -1.01139 3.18199 -0.140136 0.120754 -0.090988 0.887003 0 0 0 0 0 0 +205 0 -0.277383 -0.127356 -0.00103065 -0.0730377 0.162087 0.120705 0.0836407 0.148594 -0.00301809 -0.351888 -0.0289721 1.10957 5.24249e-07 2.0719 0.000328714 -0.390393 -0.338909 -0.0583646 0.000978075 0.967444 -0.0120098 0.126801 -6.12263e-07 -0.104617 0.0430978 -0.173608 0.00178706 -0.109462 0.535985 0.725623 -4.39315e-05 0.0131639 0.290091 0.0767248 0.0369774 -0.000370153 0.0521831 1.4912 -0.040924 0.727983 4.13625e-05 0.570663 -0.000426454 3.18674 0.00317607 0.542379 0.0719654 0.0445587 0.000453942 1.12364 -0.14505 1.79513 -0.000664275 0.000843699 -0.00389613 -2.29545 -0.143002 1.48461e-05 0.101996 -3.84375e-05 1.04923 -0.573059 -1.07046 -1.23937 -0.00139912 0.308348 0.245505 -0.0358745 2.97485e-05 0.0578305 0.0307429 -0.00135875 -0.0576798 -2.32388 0.215636 -0.0715283 -6.7347 0.639205 -2.30029 0.633502 -0.824892 -1.28027 0.631892 -0.797396 1.12484 -0.791177 -2.43065e-06 2.84198e-05 -0.00117955 0.0147093 -0.328893 0 0 0 0 0 -0.00103065 -0.0730377 -0.000469477 0 0 0 0 -8.89966e-06 0 0.00263544 0 0 -0.00104442 -0.000258413 0.000215889 0 4.8075e-05 -0.000398703 0.00946447 0 0 -0.035553 -1.82595e-05 0 -0.000301575 8.15646e-05 0 0 -0.00349432 -0.0152529 0 -0.0194589 0 -0.000388447 0 0 -3.95063e-05 0 0 -0.051083 -0.000122425 -0.0145484 0 -0.00587803 -0.0118989 0 0 0.0368781 0 -0.000977192 -0.0169825 0.000212959 0 0 0.00213704 0.000825878 0 -0.00343492 -0.00866831 -0.00349076 -0.118708 -0.0034069 0.00666484 0 -0.00192854 0.00752765 0.0140041 -0.00517662 0.0112342 0 0 0 0.319337 0.0167612 0.0254881 0.00230932 -0.004351 0.0448915 0.00134469 -0.00150362 0.000800289 0.0035492 0 0 0 0 0 0 0.162087 0 0.120705 0 0 0 0 -0.313113 0.349556 0 0 -0.0612207 0 -0.0167589 0 0.000369607 0 0 -0.313889 0 0.190888 -0.0937285 -0.0858691 -0.0199314 0 0 0.000336967 0 -3.26729 0 0.867377 0.211871 0 -0.675192 0.0504422 -0.0118369 0 -0.0374 0 0 0.0448147 0 -0.699375 -0.90359 0 0 -0.0784267 0 0 0.027944 -1.093 0.542284 0 0.687189 0 -0.478665 0.0646497 -0.172189 -0.0238546 -0.195128 0.0952473 0.401849 -0.0125638 0.27782 -0.957463 0.108708 0 0 0 0.0398757 0.00923214 0 0 0 0 -0.0210379 -9.4967 0.0786471 0.812252 0.32796 -0.473302 -0.0248199 0.171339 -0.153955 0.0594392 0.427078 0 0 0 0 0 0 +206 0 0 0 0 0 -0.0341455 0.181505 -0.657881 -0.316647 0 0 -0.0741076 0.335491 0 1.04567 -0.0321324 0 0 0 -0.189145 2.4215 0 0 0 0 -0.13004 0 0 -0.340096 -2.00546 0.339162 0 -0.216865 0 0 -0.187733 -0.01668 0 0 -0.117392 0.48019 0 0 -0.0288265 1.79872 0 0.409702 -0.684332 -0.729611 -0.0114841 -0.661409 -0.12461 0 0.149059 -0.238716 0.135288 0.983225 0.362623 -0.00173258 0 0 -0.61498 -0.3106 0 -1.39723 0.137765 -0.593916 0 0 0 0 -0.083728 -0.160697 0 -0.627033 -0.491219 0 0 0 -0.585446 0 0.803237 -0.852655 0 0.0899283 0.244337 -1.59604 0 0.305194 0.302098 -0.457044 3.53938 0 0 0 -0.0422375 -0.00288129 0 0 0 0.012612 -0.00136925 0 0.000954282 0 -0.000579267 0.00371995 0 0 0 0 0.0203839 0 0.00101796 0 0.0723924 0 0.119877 -0.0149885 0 0.000412049 0 0 0.0367561 -0.000786762 -0.000404404 0 0.00020046 0 -0.000102442 -0.0144414 0.00524889 -0.0110921 -0.000811265 0 -4.08736e-05 0 0 0 1.39279e-05 0 0 0.00207309 -0.000163076 -0.0390679 -0.00521709 0 0 0.00421651 0 0.000177931 0 0 0.00486896 0.00704266 -0.0237898 0.0026292 0 0 -0.0016293 0.0133118 0.00213085 -0.0122176 0.00378678 0 -0.0113258 -0.0057926 0.0291631 0 0 0 -0.0840403 0 0.0131599 -0.0469275 0 -0.00134304 0.00463767 -0.0240417 0 0.00100697 -0.00335595 0.00718176 -0.0166748 0 -0.0341455 -0.0422375 0.181505 -0.00288129 0.441394 0.122743 -0.0151022 0.246777 0.118557 0.000986437 0.00537188 0.126266 5.6508e-05 0.00423177 -0.00101543 0.00738374 -0.00408234 0.0162407 -1.3843 -0.294844 0.439608 0.11776 0.0867352 -0.189405 -0.0490163 0.0169754 0.121066 -0.00826249 -4.36361 0.118655 4.01034 -0.307624 -6.43904e-05 0.787836 1.57186 0.00279696 0.00197912 0.0256805 0.0293774 0.0907331 0.00694905 0.00742469 -1.45425 -2.91531 0.00107761 0.012693 -0.385184 -0.0605905 -0.0774326 -1.54022 1.09475 0.400756 -0.0061981 -1.59236 0.00102066 -0.266744 0.016599 0.00481939 0.141354 0.0569596 0.175033 0.00740335 0.104459 -0.452621 1.85783 -0.0295492 -0.689235 0.0341353 -0.10501 -0.256835 -0.00404121 -0.0446617 -0.00166682 0.0688288 0.00472522 -0.02037 -20.6482 -0.554134 -4.61059 -0.182202 0.874847 -4.06393 -0.00534798 0.0179975 0.0457375 -1.44394 -0.00113709 -0.0968083 0.269504 -0.20909 -0.393109 0 +207 0 0 0 0 0 -0.273459 -0.37723 0.591816 2.02256 0 0 -0.011095 -1.42988 0 -2.45625 0.0161766 0 0 0 0.0773707 -4.37951 0 0 0 0 0.456671 0 0 1.07118 6.54028 -0.851769 0 0.11887 0 0 0.295026 0.0078722 0 0 -0.199147 -1.61907 0 0 -0.0553775 -4.73164 0 -0.993321 2.24394 0.536797 0.128265 -1.60508 0.454225 0 -0.122207 -0.0174421 0.497336 0.681191 -0.25899 0.624401 0 0 -0.639378 1.49836 0 0.523162 0.308058 -0.739777 0 0 0 0 0.310495 0.133786 0 3.38622 -3.27291 0 0 0 -4.46322 0 0.616628 -11.3519 0 0.278762 -1.57194 -8.31022 0 0.355714 -1.69077 2.56931 -24.8467 0 0 0 0.0285095 0.00621571 0 0 0 0.00491821 -0.0328007 0 0.000395801 0 2.35713e-05 -0.00251531 0 0 0 0 0.029722 0 -0.000606259 0 0.0473246 0 0.082539 -0.116744 0 4.54789e-05 0 0 0.0719443 -0.00115181 -0.00467822 0 -0.00215002 0 -0.00230839 0.00628975 0.00407309 -0.0157508 -0.000121188 0 2.58278e-07 0 0 0 -0.00015115 0 0 0.00304708 -0.0036457 -0.0555893 -0.011815 0 0 0.00408352 0 0.00397779 0 0 -0.0105271 0.0147678 0.00233024 -0.00386032 0 0 -0.0770276 -0.0277194 -0.0022276 -0.0371462 0.0261393 0 -0.0451678 0.0134363 0.00713106 0 0 0 -0.188775 0 0.0362227 -0.181714 0 -0.00289615 0.0141458 -0.0781492 0 0.00153095 -0.00708656 0.022503 -0.0719223 0 -0.273459 0.0285095 -0.37723 0.00621571 -0.665363 -0.129977 0.0660202 -0.229417 0.219202 -0.00281557 0.0382471 0.183047 -0.000172962 0.00629081 0.00416378 0.00326355 0.0331716 -0.0380382 1.15939 0.191065 0.00802367 0.368731 0.115277 0.26657 0.259454 0.35667 0.0804927 0.0245524 -1.1087 0.110694 -0.93355 -0.731811 0.000245243 0.563561 -0.199088 0.00576599 0.000858797 0.0636441 0.00563508 1.89615 0.0137423 0.0555679 -1.11838 2.32228 0.00429097 0.0111298 0.605341 0.11748 0.0900699 -0.176181 1.67499 0.610134 -0.023199 1.29546 -0.00820777 1.85691 0.00684443 -0.114463 -0.217032 -0.263995 0.726432 -0.363637 0.0214901 0.306986 11.1271 0.045349 -0.18943 0.000941061 -0.358689 0.393187 -0.00691539 -0.0556691 0.00629865 0.0950828 0.0387372 -0.0212497 4.8066 -0.417904 -2.76431 0.130606 -0.179486 -6.29697 -0.00423522 -0.000816479 -0.62976 -1.99476 0.00266325 -0.100293 -0.101155 0.198219 -3.16714 0 +208 0 0 0 0 0 0.555286 0.11616 -0.184861 -1.49216 0 0 0.0011525 0.972828 0 0.790083 0.00863106 0 0 0 0.00274403 1.71 0 0 0 0 0.0550816 0 0 0.0947096 1.34514 0.221433 0 -0.127728 0 0 0.0754964 0.0373973 0 0 0.170561 0.821871 0 0 0.140439 2.83305 0 0.255973 0.535181 -0.283287 -0.165786 -0.882866 -0.123147 0 0.138145 -0.073387 -0.0456464 0.692355 0.587723 0.219499 0 0 0.417161 -2.40468 0 0.151026 -0.0574885 0.605723 0 0 0 0 -0.26887 -0.200372 0 -2.78575 -0.878343 0 0 0 3.14071 0 -0.642626 -0.299836 0 -0.529634 1.44329 1.08395 0 -1.05353 2.16967 -0.828891 -3.5555 0 0 0 0.216519 0.0142201 0 0 0 0.00928052 -0.0120278 0 0.000522101 0 0.00228385 -0.0114932 0 0 0 0 -0.0911884 0 -0.00488011 0 -0.200481 0 0.128834 0.0465724 0 -0.000863525 0 0 -0.174908 0.00303958 -7.5618e-05 0 -0.00169885 0 -0.000822535 -0.0275501 -0.01298 0.0426755 -0.00143761 0 0.000161531 0 0 0 -0.000118676 0 0 -0.0080136 -0.00129399 0.0385149 0.0192204 0 0 -0.0103622 0 0.00141186 0 0 0.00744186 -0.0162992 0.000798486 -0.0019414 0 0 0.0161853 -0.0202492 -0.00569855 0.042451 0.00540472 0 0.0397661 0.0144162 -0.146534 0 0 0 0.278962 0 -0.0570213 0.253748 0 0.00552759 -0.0237856 0.102554 0 -0.00391102 0.0161451 -0.0354594 0.0926554 0 0.555286 0.216519 0.11616 0.0142201 -0.426509 -0.0878544 0.0702283 -0.400455 0.389787 -0.00477986 -0.0599747 -0.000188616 -0.000272311 0.00230492 0.00475741 0.00372554 -0.0329155 -0.0797665 0.0244786 -0.842378 0.223489 -0.318767 0.133091 -0.0492701 -0.172133 0.116776 0.113845 -0.00806897 5.91036 -0.0024618 1.22955 0.912166 0.000304095 -1.38163 0.746887 0.00894924 0.000673565 -0.0597612 -0.0140919 0.495195 0.0203262 0.0273878 2.76934 -1.15626 -0.00972497 0.0058113 -0.305937 -0.0829108 -0.0434373 0.146538 0.307614 -0.702011 0.106474 0.516889 -0.0042639 -0.144314 0.0356269 -7.11817e-05 0.0219496 0.867853 1.04742 -0.107928 -0.213296 0.68564 9.02226 0.063749 0.0437389 -0.0590742 -0.256902 0.260189 -0.012512 0.00526643 0.00787825 -0.128162 0.10783 0.00655191 -6.33065 -0.069749 3.14778 0.162304 0.0920005 -2.84936 0.00456302 -0.107139 0.211723 0.287506 0.00558487 -0.00470787 0.243127 -0.190304 -0.413905 0 +209 0 0.179351 0.292814 -0.000868534 -0.0140482 0.348679 0.186561 -0.0422905 -0.159193 -0.00239763 -0.176836 0.104025 -0.460943 1.00341e-05 -1.11358 0.0101814 0.742789 0.663419 -0.0109031 0.0162628 -2.8242 -0.0143235 -0.320816 -5.81783e-06 -0.0767728 -0.31355 0.484103 -0.0178327 -0.273314 1.16843 -0.261187 -0.00011925 0.221662 -0.0692588 -0.0371101 -0.216294 0.00502254 -0.138569 1.35094 0.125689 -0.809406 0.000195752 -0.354483 0.00630478 -1.48658 0.00363626 -0.0494971 -0.00740287 0.354728 -0.0129239 0.16346 -0.0880811 3.72452 0.004561 0.0199007 0.0651522 0.0200842 -0.113669 -0.0626333 0.0697692 -1.07499e-05 -0.0451091 1.661 0.871051 1.38422 0.443974 1.15584 0.444617 -0.341009 -0.000429045 -0.100917 -0.0392819 0.267145 0.0952228 0.659498 0.551899 0.42831 -3.45423 0.998444 -1.25164 -0.0454194 0.239455 -3.49079 0.347832 -0.121758 0.314435 -0.3889 -0.000308776 -0.00474601 -0.0542129 0.0306073 -2.95868 0 0 0 0 0 -0.000868534 -0.0140482 -0.000742559 0 0 0 0 -3.07812e-05 0 0.00261736 0 0 -0.00055337 -0.000382599 0.000350437 0 0.000111557 0.00223304 0.00570277 0 0 0.0433556 -2.73434e-05 0 0.00218514 0.0266876 0 0 0.00460406 0.0194275 0 0.0229294 0 0.00124266 0 0 0.000101063 0 0 0.098986 -0.000427239 -0.00776012 0 -0.0103435 0.00237728 0 0 0.00720718 0 -0.001518 -0.0454479 0.00181642 0 0 0.00113025 0.00128295 0 -0.00379802 0.014188 -0.0027792 0.00425206 0.0101882 0.00447414 0 -0.00190838 0.000205973 -0.015739 0.000519862 -0.0124472 0 0 0 -0.286695 0.0241461 -0.0346019 -0.00913551 0.0142589 -0.0261623 0.000713087 -0.00108281 0.00193335 -0.000839639 0 0 0 0 0 0 0.348679 0 0.186561 0 0 0 0 -0.292355 -0.095201 0 0 0.0378534 0 -0.00358148 0 -0.00314841 0 0 0.657066 0 -0.797633 -0.0723931 -0.0392369 0.102793 0 0 -0.00931835 0 0.80154 0 -2.25178 0.254804 0 -0.803002 -1.28296 -0.00662057 0 -0.0302611 0 0 -0.0199867 0 0.565072 1.35042 0 0 0.190764 0 0 0.211492 -0.221059 0.146742 0 -0.714569 0 0.492039 -0.0342857 0.0779875 0.0597777 -0.29795 -0.812748 0.230705 0.00883376 0.164009 -1.95705 0.0062818 0 0 0 0.0912535 0.000460979 0 0 0 0 0.025807 13.1558 0.906293 3.43398 0.140986 -0.134118 1.39777 -0.023901 0.0644652 0.119038 0.372799 0 0 0 0 0 0 +210 0 -0.471088 -0.11406 -0.0057705 -0.0330072 -0.115827 0.131115 0.122475 0.611127 -0.0545727 0.366787 0.0130633 0.23843 0.000206633 1.44658 -0.00832505 0.372419 -0.135832 0.033908 -0.0107521 1.92379 0.00414499 -0.00675219 -0.000280779 0.0723831 -0.0940191 0.252111 0.0288494 -0.614742 -1.98189 0.498613 -0.00409124 -0.125219 0.431399 0.0190109 -0.133377 -0.00235957 0.29148 3.9491 0.0186646 1.53139 0.00303747 0.524665 -0.00349651 0.438326 0.0372687 0.953864 -1.0198 -0.136666 0.0179482 -0.534696 0.231993 -0.0976833 0.0215229 -0.00831192 0.0147873 1.9992 0.493369 0.176054 -0.155202 -0.00663587 -0.319508 -1.95971 -1.898 -2.06277 -0.0995544 -0.686874 0.154063 0.35635 0.00759389 0.283441 0.0791389 -0.135376 -0.377369 -1.05329 0.228937 -0.305283 -23.8974 -3.35672 -6.85462 -3.1106 1.96549 -6.79756 -0.063571 -0.160388 0.0817808 -3.6197 -0.0031647 0.0052596 0.0369614 -0.34547 5.01851 0 0 0 0 0 -0.0057705 -0.0330072 -0.000510373 0 0 0 0 -4.34963e-05 0 0.00483857 0 0 -0.00101625 -0.00173313 0.00558976 0 0.000532792 0.00504864 0.0544231 0 0 -0.097084 -0.00012845 0 0.0155302 -0.312691 0 0 -0.0179633 0.0156752 0 0.0994874 0 -0.00754775 0 0 -0.00129765 0 0 0.328351 -0.00062011 -0.0133961 0 -0.00752866 0.00887829 0 0 -0.179787 0 -0.00103528 -0.242518 0.00316359 0 0 0.00209211 0.000874974 0 0.0130571 -0.0174471 -0.0061233 0.0947399 0.0326481 -0.0178864 0 0.000254308 -0.0112888 0.0457552 -0.011035 -0.10437 0 0 0 -1.78215 0.117414 -0.342493 -0.0326985 0.0743396 -0.177621 0.00140905 -0.00387993 0.0100919 -0.0296241 0 0 0 0 0 0 -0.115827 0 0.131115 0 0 0 0 0.541736 -0.0483978 0 0 0.0423547 0 0.0165556 0 0.00314822 0 0 -0.115609 0 0.138054 0.12324 -0.0816634 -0.0278074 0 0 -0.0250018 0 3.05083 0 2.48014 1.17195 0 1.13302 0.404502 -0.00300275 0 0.0715259 0 0 0.0117253 0 2.1936 -0.465878 0 0 -0.081014 0 0 -0.297443 -0.981625 -0.413721 0 0.0165564 0 -1.14482 0.058657 -0.0263126 -0.25597 0.0632632 0.422554 0.00313787 0.033789 0.366175 0.92394 0.04396 0 0 0 0.0388238 -0.0525269 0 0 0 0 -0.000286707 -22.8354 -1.63587 -5.42463 -0.410039 0.465523 -2.83278 -0.0935647 0.0500498 -0.0459367 -0.869074 0 0 0 0 0 0 +211 0 1.13967 0.0729891 0.0169317 0.243332 -0.404305 -0.15904 0.651575 1.43002 0.0662973 0.249533 0.103961 -0.0086329 -0.000266446 -0.421373 0.009042 0.419664 2.4968 0.0617003 0.0143984 -1.01335 0.0362342 0.27279 0.000235952 0.202148 0.482188 -0.0575479 0.00144822 0.210568 -0.435488 -0.15579 0.00399427 0.117288 0.169311 -0.0298676 0.232394 0.00664431 -0.0241074 -2.10237 0.246042 -0.752517 -0.00469512 -0.00475928 0.01494 -0.570927 -0.0775217 -0.46129 0.0608897 0.168877 -0.0101349 -0.229616 0.104254 -3.89282 -0.00230634 0.0409104 -0.165594 -3.3355 -0.121297 -0.0922389 -0.274513 0.00353174 0.695474 1.70633 0.675543 -0.257294 -0.219991 -0.533406 -0.610305 0.0451901 0.00307824 -0.41945 0.0838941 -0.00698708 0.173756 0.00841983 0.356961 0.851771 12.1353 0.998086 0.996311 1.63284 -1.44192 5.68685 -1.26457 0.412771 0.202351 -1.66761 0.00658281 -0.0230351 0.116639 -0.38223 1.10273 0 0 0 0 0 0.0169317 0.243332 0.00203802 0 0 0 0 0.000105702 0 -0.0151271 0 0 0.00487664 0.00452417 -0.00978162 0 -0.00105642 -0.00587002 -0.138314 0 0 0.00202269 0.000325272 0 -0.0208657 0.278273 0 0 -0.00104337 -0.0281059 0 -0.159475 0 0.00252232 0 0 0.000279009 0 0 -0.574942 0.00145239 0.068033 0 0.0281154 0.00339672 0 0 0.00564327 0 0.00417155 0.214371 -0.0137021 0 0 -0.00996724 -0.0035256 0 0.0167924 -0.0547557 0.0182435 -0.0603975 -0.0618076 -0.016348 0 0.0084149 0.0347892 0.0114792 -0.0138874 0.13914 0 0 0 1.93622 -0.192338 0.436526 0.0538428 -0.0916371 0.181577 -0.00632534 0.0103253 -0.0197454 0.0439948 0 0 0 0 0 0 -0.404305 0 -0.15904 0 0 0 0 0.349549 -0.147407 0 0 -0.386903 0 -0.0255533 0 -0.0160861 0 0 0.0304788 0 0.0706414 0.126733 -0.116111 0.00572621 0 0 -0.0662382 0 -0.275905 0 -3.35081 -0.364963 0 0.91023 -0.600062 -0.0047056 0 0.0420333 0 0 -0.036571 0 -0.424014 -0.272541 0 0 -0.0250604 0 0 -0.0300414 1.71836 -0.590593 0 -0.343188 0 -1.02467 -0.0747417 0.172873 -0.294221 -0.151179 0.914006 0.542433 -0.0586088 0.0971291 -7.18876 0.0665236 0 0 0 0.0168613 0.0319099 0 0 0 0 0.0499907 22.3818 2.41008 -1.0113 0.784492 -0.616647 2.87666 0.058395 -0.041205 0.251186 -0.560338 0 0 0 0 0 0 +212 0 -0.617945 -0.404923 -0.000309655 0.0109044 0.0448548 -0.257784 0.749949 1.1331 9.29931e-05 0.124377 0.045785 0.137932 1.21219e-06 0.918889 0.000217997 -1.5166 -5.69054 0.042848 -3.87267e-05 2.26667 0.0022795 0.359971 -3.42287e-07 -0.00687814 0.534867 -0.57162 0.000564597 0.5412 -0.00364565 0.137295 -1.25408e-05 0.0143458 0.83344 0.00936997 0.351342 0.000720882 -0.0171619 3.44188 0.0422063 0.501714 7.58666e-05 -0.118227 0.00058513 0.417442 0.00476872 -0.300349 0.344606 -0.00914424 -0.000185658 -0.128967 0.086763 -0.346417 -0.000516679 -0.000339337 -0.0273624 0.579982 -0.00412724 0.0195663 0.0150948 -8.2565e-05 0.498034 -0.221989 0.255702 -0.2442 0.149318 -0.117758 0.386759 -0.0157257 -2.25739e-05 0.164065 0.237947 0.0122015 0.0103625 0.20744 0.153554 -0.458475 -10.4426 -0.527643 -5.18222 -0.527696 0.642298 -4.8482 0.21079 -0.0209499 0.0397052 -2.21445 -8.90148e-06 -5.63991e-05 -0.00262289 -0.0232314 0.00401556 0 0 0 0 0 -0.000309655 0.0109044 0.00029079 0 0 0 0 7.38378e-06 0 0.00303031 0 0 -0.000574133 -0.000149615 0.000321515 0 4.14263e-05 -0.000306465 0.0202574 0 0 -0.0251645 -1.06753e-05 0 0.00149924 -0.126125 0 0 -0.00209608 -0.0186151 0 0.0449315 0 -0.000356706 0 0 -2.53343e-05 0 0 0.154243 0.000105193 -0.00802996 0 0.004152 0.00198949 0 0 -0.0241588 0 0.000592507 -0.0210038 0.000171875 0 0 0.00117307 -0.00050076 0 -0.00274259 0.00614974 -0.0018213 0.0494563 0.00724675 0.00577723 0 -8.12728e-05 -0.00422677 0.0072297 0.00166885 -0.0146647 0 0 0 -0.44638 0.0257372 -0.0571151 -0.00912765 0.014785 -0.0173016 0.000742324 -0.00117061 0.00216901 -0.00771453 0 0 0 0 0 0 0.0448548 0 -0.257784 0 0 0 0 0.456063 -0.336637 0 0 -0.0160539 0 0.00482045 0 -0.00269571 0 0 0.212242 0 0.791131 0.102866 -0.033228 0.0105045 0 0 -0.0783109 0 -4.45229 0 1.9719 -0.43469 0 0.608286 1.09043 9.17563e-05 0 0.0707097 0 0 -0.0215203 0 -0.657922 -0.65226 0 0 -0.111194 0 0 -0.502764 -2.31752 -0.483065 0 -2.05701 0 -0.75051 0.0314895 0.0686655 0.120552 -0.128104 -0.893622 0.190987 0.00297573 -0.158982 -10.2572 0.0456671 0 0 0 0.00695449 -0.0223191 0 0 0 0 -0.0194036 -14.3784 -0.215512 -3.68462 -0.411174 0.452126 -1.62997 -0.0591098 0.0662667 0.0459246 -0.466846 0 0 0 0 0 0 +213 0 -0.0717653 -0.0921198 -0.000104101 -0.0202483 -0.185724 0.0502073 0.0248355 0.894326 0.00199593 0.211627 -0.0349702 0.336238 -7.05939e-07 0.316169 0.000231752 -1.00761 -2.26102 0.0461848 0.000873894 -0.0462243 0.00642091 0.103248 1.08228e-06 0.0417886 0.137036 -0.422998 0.0114959 -0.35389 -0.773376 0.250142 5.14022e-05 -1.04816e-05 0.252789 0.123158 -0.0229104 -0.00065762 0.12235 1.53815 -0.0243739 0.25771 -2.72162e-05 0.709501 -0.000421266 0.0187947 -0.000627589 0.39337 -0.468184 0.0267818 0.000367223 -1.41499 0.139293 1.84084 -0.000886907 0.00145582 0.0281585 1.01934 0.332617 0.0332019 -0.107715 5.49496e-05 0.23814 -0.34611 -0.0352541 -0.888877 -0.0778772 -0.313012 0.255897 0.130925 -9.66758e-05 0.0409933 0.226339 -0.0113054 -0.164848 -0.145947 -0.154103 0.151235 -8.09958 -0.666837 -4.02199 -0.653555 0.417823 -2.45229 -0.0817701 -0.0425334 0.0489369 -2.351 1.17148e-06 2.49869e-05 0.00106744 0.0161817 0.851848 0 0 0 0 0 -0.000104101 -0.0202483 -0.000527002 0 0 0 0 -1.27364e-05 0 0.00256915 0 0 -0.000400839 -6.33668e-05 0.000335538 0 3.61885e-05 -0.000170326 0.0265934 0 0 -0.00816035 -4.84996e-06 0 -0.000298504 -0.170673 0 0 -0.00217054 -0.00385959 0 -0.0140364 0 0.000242238 0 0 8.99382e-06 0 0 -0.017293 -0.000182924 -0.00538503 0 -0.00761131 0.000918964 0 0 -0.042061 0 -0.00107214 -0.099959 0.00209393 0 0 0.000823245 0.000906126 0 0.0036512 -0.0139221 -0.00204071 -0.0909487 0.0118374 -0.00170912 0 0.00114748 -0.0064656 -0.0355922 -0.00170428 -0.0293611 0 0 0 -0.251554 0.0338745 -0.105434 -0.00842339 0.0196071 -0.0340413 0.000543997 -0.00130651 0.00320636 -0.0118171 0 0 0 0 0 0 -0.185724 0 0.0502073 0 0 0 0 0.153895 0.162016 0 0 0.220213 0 0.0258418 0 0.00275123 0 0 -0.646601 0 0.0699079 0.0311047 0.0385862 -0.101624 0 0 -0.0187511 0 -0.493436 0 1.27238 0.278678 0 0.583397 0.205169 0.00392584 0 0.00263275 0 0 0.0297062 0 -0.000965686 -1.28859 0 0 -0.192359 0 0 -0.18426 -3.10433 -0.398613 0 -0.425219 0 -1.01145 0.0901901 -0.0476822 -0.063385 -0.219343 -0.769572 -0.0442863 0.0553721 0.192642 -4.51821 0.0797538 0 0 0 -0.0358662 -0.0743546 0 0 0 0 -0.0342345 -12.3772 -0.689158 -3.86169 0.217616 0.0207229 -1.70952 -0.163166 0.0813404 -0.0650692 -0.530868 0 0 0 0 0 0 +214 0 0.710563 0.10575 0.00194307 0.0822414 -0.0749878 0.0456858 -0.266985 -0.778815 0.00530268 0.278623 -0.0348559 0.373415 -2.1622e-06 0.0937661 -0.000816467 0.220192 -1.51182 0.00288035 -0.00129532 1.90304 0.00746936 -0.0859641 1.66676e-06 0.129835 -0.176721 0.328092 -0.00724372 -0.125474 0.0840606 0.330046 9.75393e-05 -0.0631025 -0.26077 -0.135181 -0.111692 -0.000707293 -0.0292756 -2.27353 -0.035314 1.29563 -0.000126586 -0.45111 -0.00063034 -0.210892 -0.00735597 0.875668 -0.0872801 -0.100956 0.000931235 0.456552 -0.0810252 -0.0731882 -0.0015944 -0.000800974 0.0115521 -3.76387 -0.111207 0.0549771 -0.158037 0.000108091 0.306136 -1.32424 0.587674 1.11799 -0.0812511 0.448717 -0.299393 -0.0222153 1.03468e-05 -0.464514 -0.149398 -0.029931 0.120597 -1.50023 0.416842 0.674425 6.65248 -0.149665 2.84339 0.16517 -0.60692 4.24887 -0.692664 0.338489 -0.190739 1.17934 1.37309e-05 5.91936e-05 0.00397272 0.0191488 -0.09259 0 0 0 0 0 0.00194307 0.0822414 -0.00081733 0 0 0 0 -1.92593e-05 0 -0.00429596 0 0 0.00134505 0.00035535 -0.00084185 0 -7.02446e-05 -0.000314642 -0.0472936 0 0 0.0684316 2.53742e-05 0 -0.00217374 0.133927 0 0 0.00748494 0.000174529 0 -0.0603611 0 0.00130594 0 0 0.000138537 0 0 -0.227608 -0.000274043 0.0187956 0 -0.0116372 -0.00262144 0 0 0.0148227 0 -0.00166601 0.0536581 -0.00017408 0 0 -0.00274852 0.00140803 0 0.00536777 -0.0153013 0.00416034 -0.0240557 -0.0146842 -0.00583321 0 0.00068773 0.00705349 -0.0126288 -0.00379162 0.0371106 0 0 0 0.720482 -0.0579125 0.140885 0.0190119 -0.031556 0.0544311 -0.00174101 0.00277919 -0.00520855 0.0150834 0 0 0 0 0 0 -0.0749878 0 0.0456858 0 0 0 0 -0.0502508 -0.47187 0 0 0.0438437 0 0.0172173 0 -0.011185 0 0 -0.631455 0 -0.492096 -0.00866051 -0.024019 -0.0826587 0 0 -0.187552 0 -11.9193 0 -4.37272 -0.923267 0 -0.233027 -1.46065 0.00291467 0 -0.00191989 0 0 -0.0400733 0 -3.8133 -1.50055 0 0 -0.203554 0 0 0.01683 2.14665 -0.111808 0 -1.62788 0 0.549407 -0.0484133 0.0941125 -0.46505 -0.133006 1.39463 0.195682 -0.0963354 -0.28412 -10.815 0.0918782 0 0 0 -0.137652 -0.011341 0 0 0 0 0.127578 26.2808 0.684685 3.23282 0.450943 -0.512824 3.18544 -0.0741942 0.0852876 -0.0128003 0.163889 0 0 0 0 0 0 +215 0 0 0 0 0 -0.178297 0.0866722 -0.00824465 0.122011 0 0 -0.231293 0.331735 0 0.869898 -0.113092 0 0 0 -0.202892 -1.62179 0 0 0 0 -0.157199 0 0 0.3735 6.36121 0.0513144 0 -0.541937 0 0 -0.063005 -0.0151135 0 0 -0.656176 -0.108921 0 0 -0.0450916 3.12615 0 0.189874 1.67217 -0.727705 0.015349 5.56324 0.23008 0 0.27333 -0.240392 0.829921 6.75205 1.41716 1.25343 0 0 -0.368717 -2.04763 0 0.494709 -0.616498 0.306143 0 0 0 0 0.180434 0.795803 0 0.682167 -2.20997 0 0 0 -0.294089 0 0.37524 -5.0424 0 0.17756 -0.809266 -1.66604 0 -0.0658191 -2.49134 4.87975 -22.4195 0 0 0 0.115169 0.0163155 0 0 0 0.00985804 0.0155734 0 0.0010973 0 0.00419884 0.00812452 0 0 0 0 -0.0645661 0 -0.0157575 0 0.13882 0 0.0419529 0.228365 0 0.00131907 0 0 0.130067 0.00129695 0.0404812 0 0.00194882 0 0.000722223 0.0447 0.0129423 0.0270797 0.00811699 0 0.000197384 0 0 0 9.12065e-05 0 0 -0.00313595 0.0010375 -0.153695 0.0233923 0 0 -0.0156287 0 -0.00113201 0 0 0.00358364 0.00496445 -0.0218533 -0.0225992 0 0 0.0835973 -0.0284079 -0.00519928 0.448087 -0.1238 0 0.161609 0.0102835 -0.0397627 0 0 0 -0.784507 0 -0.106481 -0.449301 0 -0.0072246 -0.0278909 -0.248046 0 -0.000947015 -0.00376414 -0.0175188 -0.219945 0 -0.178297 0.115169 0.0866722 0.0163155 -0.33507 -0.15067 0.475955 -1.20605 0.761584 0.0178325 -0.0115609 0.45027 0.00289295 0.0400049 0.0639165 0.0317105 -0.0363695 0.126972 0.0194405 -0.365438 0.255629 -0.285008 0.26851 0.0446254 -0.171472 0.271469 0.273179 -0.0178278 4.69087 -0.52006 1.2093 0.381872 0.00828403 -1.75627 0.566164 0.0291797 -0.0135404 -0.18937 -0.095323 1.62679 0.0805409 0.0483548 1.17812 0.689014 -0.00394561 -0.0707956 0.172065 -0.0731202 -0.206509 0.31558 1.74208 0.107987 0.185362 1.35895 -0.26455 -1.34893 -0.070307 0.168535 0.123721 0.195146 0.296806 0.52422 -0.310501 1.35653 16.9497 0.0237429 0.541093 0.00187976 0.0933597 0.372553 0.0854689 0.0906592 -0.00853868 -0.178693 -0.0167975 -0.303014 -2.6658 -0.814726 2.791 -0.247451 0.940369 -3.04541 -0.0734612 0.206552 -0.643753 1.15541 -0.0225744 0.143565 -0.451024 0.838788 -1.96825 0 +216 0 0 0 0 0 0.105204 0.330848 -0.531671 -1.05558 0 0 0.260591 1.23622 0 2.42922 0.242495 0 0 0 0.299402 -6.24796 0 0 0 0 -0.277087 0 0 -0.953876 -1.44122 0.80592 0 1.27464 0 0 -0.235911 0.0909017 0 0 -0.0519082 -1.93299 0 0 0.0183937 4.14774 0 -0.0500307 -1.26752 2.21062 0.0534996 2.76914 -0.305839 0 -0.526507 0.136407 -0.611454 -6.44848 -2.03815 -0.0694023 0 0 -0.471359 3.45547 0 -1.1719 -0.710519 0.454873 0 0 0 0 -0.375803 0.624632 0 1.21416 1.06161 0 0 0 0.671377 0 0.399756 0.0390044 0 0.35198 -0.352896 2.00006 0 0.163915 0.454261 -1.78835 7.0708 0 0 0 0.0524037 0.0168496 0 0 0 0.0450569 -0.029709 0 0.00460744 0 0.00294367 0.00188325 0 0 0 0 -0.0371083 0 -0.00953362 0 -0.0554432 0 0.374501 0.0414446 0 0.00136285 0 0 -0.00390155 6.54982e-06 0.0225799 0 -0.00317113 0 -0.00136801 -0.0211791 0.00312184 0.000863148 0.00220141 0 0.000137387 0 0 0 -0.000148279 0 0 9.35795e-06 -0.00196081 -0.102195 0.00506478 0 0 -0.0142933 0 0.00213942 0 0 0.00927043 -0.0211726 -0.0802535 -0.009945 0 0 0.00823962 -0.031362 0.0369876 0.135355 0.512218 0 7.2962e-05 0.00121658 -0.183401 0 0 0 0.695537 0 0.00183077 0.114531 0 0.000960807 0.011377 0.207353 0 3.92011e-05 0.0013857 -0.00802078 0.0518343 0 0.105204 0.0524037 0.330848 0.0168496 -0.159 0.00447668 0.633358 -0.377632 1.3038 0.0192164 -0.0758062 0.256607 0.00389933 0.0374845 0.0791095 0.11607 -0.0635563 0.107511 -1.26974 0.563836 0.163748 -0.171707 0.131679 -0.239577 -0.431087 -0.0548718 0.993573 0.0154143 -0.83555 -0.31778 0.478676 0.844716 0.0096111 -1.13916 0.282413 0.021604 -0.00729102 -0.0705255 -0.0488302 -0.285979 0.14342 -0.0117959 0.592586 -1.50749 -0.0115059 -0.0442252 -0.342988 0.102953 -0.198093 -1.78287 -0.660425 -1.00107 0.281357 2.81474 -0.359241 0.840899 -0.251697 0.441905 -0.0498782 0.310022 -0.395531 -0.473551 -0.108983 -2.40457 -3.06296 -0.156542 -0.336864 -2.17425e-05 0.213244 1.23538 -0.0139838 0.0962919 -0.0197985 -0.217506 -0.00581622 -1.08901 -1.0552 -0.40888 1.56044 -0.161051 0.644428 -0.153263 -0.0511209 0.134115 0.0927963 0.303682 -0.0191144 0.123003 0.0322191 0.0269419 0.406793 0 +217 0 0 0 0 0 -0.293278 -0.168671 -0.260443 -0.100858 0 0 -0.125978 -0.903533 0 -1.83895 -0.0648663 0 0 0 0.0926396 6.4702 0 0 0 0 -0.111291 0 0 0.500883 -4.06121 -0.677884 0 -1.3403 0 0 -0.0260704 -0.00718487 0 0 1.0394 1.88171 0 0 0.389504 -1.57971 0 0.00722738 -0.339945 -1.65088 -0.553726 -0.919535 -0.334807 0 0.462581 0.209348 -0.488554 1.6417 1.39684 -0.408325 0 0 0.693237 -2.40582 0 -0.337084 -0.442985 0.231334 0 0 0 0 -0.0128543 -0.140163 0 -3.01304 2.17502 0 0 0 0.0431016 0 -1.50717 4.45321 0 -0.507502 0.796133 1.41888 0 -1.72944 3.10388 -4.10342 12.2962 0 0 0 -0.0444799 -0.0362201 0 0 0 -0.0156996 0.0222842 0 -0.00683071 0 0.00667669 -0.00305149 0 0 0 0 -0.0950646 0 -0.0227848 0 0.0329148 0 -0.0134777 0.0835044 0 0.000123022 0 0 -0.154608 0.00194887 -0.0485765 0 0.00284502 0 0.00103277 -0.000317756 -0.0108083 0.0408677 -0.0251512 0 0.000313683 0 0 0 0.000133163 0 0 -0.00470614 0.00148332 -0.155371 0.0107546 0 0 -0.0531557 0 -0.00161843 0 0 0.00679337 -0.0142187 0.0364081 -0.048657 0 0 0.0757657 -0.0254462 -0.0172162 0.256983 -0.030521 0 -0.220385 -0.00626367 -0.170615 0 0 0 -0.244803 0 -0.159429 0.952239 0 -0.0106141 0.0670224 0.100557 0 -0.00141236 0.00968722 -0.064439 0.659156 0 -0.293278 -0.0444799 -0.168671 -0.0362201 0.287174 0.14446 -0.55338 0.295754 -3.51723 0.0253125 0.0525459 0.0193191 0.00719625 0.019305 -0.103773 -0.253309 0.0702752 0.0658712 1.94603 0.00875935 0.0135833 0.0665975 -0.000222113 0.285455 0.459634 -0.267294 -1.79137 0.0266004 -6.69227 0.252225 -0.0266824 -1.77219 -0.0174824 0.124499 0.0023079 0.0143889 0.00571535 0.075796 0.0781072 -1.54121 -0.558123 -0.0462903 -3.73168 4.11461 0.00682645 0.00025009 0.692997 0.0760714 0.158544 0.56616 0.836799 0.161859 -0.27229 -6.77438 0.3091 -0.62256 -0.234982 0.165722 0.0799344 -0.252145 -0.162745 0.00964131 0.272797 7.50944 21.7296 0.0479503 -0.343774 -0.0141565 0.0532794 -1.51219 -0.0486812 0.0869439 -0.0630333 0.134664 -0.0300585 1.81159 0.0588192 -0.0142677 -0.44362 -0.070232 -0.444405 2.5899 -0.0190627 -0.051464 0.430642 -0.525331 -0.0117113 -0.0519011 0.309645 -0.666886 1.82643 0 +218 0 0.42245 0.252126 -0.00331518 0.0611976 -0.137951 0.0301629 0.436002 0.9689 0.391503 0.650872 0.0811735 0.318183 0.00830866 0.879455 0.128192 3.09539 12.0926 0.258013 0.0499026 1.23163 0.0910853 0.0734465 -0.00100026 0.268566 0.0102489 0.881246 0.123313 -0.196009 -0.0587091 0.323239 0.0413195 0.535042 0.259659 0.749407 0.0125506 0.022789 0.217255 0.87078 -0.236835 0.285625 0.0445106 1.55759 -0.0561728 1.40164 0.215558 0.19187 -0.280671 0.0847034 0.168339 -1.4077 0.990108 -2.73841 0.017115 0.123058 -0.3967 -0.404106 -0.228497 -0.967246 -0.312257 -0.0544829 1.38909 1.49457 1.06708 1.05 0.0861082 -0.388302 0.401005 0.0752232 -0.241279 0.0654742 0.405021 -0.422889 -0.7801 -0.39107 1.04007 -1.8065 1.91944 0.457147 -1.44891 -0.299968 0.75755 -2.07774 -0.812961 0.79664 -1.09776 -1.8198 -0.222752 0.360532 -0.482253 0.498316 0.279214 0 0 0 0 0 -0.00331518 0.0611976 8.54807e-06 0 0 0 0 -3.75821e-06 0 0.000293791 0 0 0.000495241 0.00076258 0.00280276 0 -0.000415608 0.0294343 0.0188338 0 0 0.099309 3.57602e-05 0 -0.0676667 0.869028 0 0 0.00525343 0.175754 0 -0.203959 0 0.0161387 0 0 0.000227966 0 0 -0.300363 -8.01433e-05 0.0105609 0 0.000182286 -0.0160101 0 0 0.200514 0 1.59076e-05 -0.0190458 0.0034783 0 0 -0.000921626 -1.34444e-05 0 0.000717438 -0.0190358 0.00515216 -0.443279 -0.0132663 0.014566 0 0.00101132 -0.0403443 -0.0389173 0.00779968 0.134578 0 0 0 0.266347 -0.0585269 -0.0904957 -0.00263566 0.00643134 -0.0709027 -0.000348263 0.000849806 -0.0115343 -0.0156585 0 0 0 0 0 0 -0.137951 0 0.0301629 0 0 0 0 0.467475 0.0347425 0 0 -0.286477 0 -0.0336206 0 0.00780247 0 0 0.519287 0 -0.478127 0.129341 -0.150607 0.0463146 0 0 0.00348603 0 5.9019 0 -1.80388 0.309723 0 1.00027 -1.0709 -0.019099 0 0.0690381 0 0 0.0154726 0 1.53385 1.12855 0 0 0.101138 0 0 0.858165 -0.471034 0.603779 0 1.21526 0 0.656844 0.103763 -0.258677 -0.181938 -0.0961447 -0.00875649 0.0302385 0.18891 -0.600915 2.86126 0.0448756 0 0 0 -0.386171 -0.027369 0 0 0 0 0.0676032 5.26985 0.666433 -1.82291 0.388677 -0.616883 1.23754 0.050174 -0.0869617 0.197515 -0.493371 0 0 0 0 0 0 +219 0 -0.121033 0.162239 -0.0395099 0.0172472 0.00296572 0.0518954 -0.524525 -1.12774 0.14426 0.888812 -0.276516 -2.21482 0.0283466 -3.45551 -0.251731 0.972797 2.1104 0.469183 -0.419813 2.1322 0.142344 0.0134088 -0.0285012 0.314452 -0.795252 0.433197 0.176783 0.114432 0.60905 -1.00494 -0.0499589 -1.04258 0.243818 0.896244 -0.379039 -0.0892604 0.150714 0.846075 -0.543704 0.690935 0.095194 1.19518 -0.17511 -6.38876 0.319539 0.085657 0.295309 -1.93586 0.36431 -2.15833 1.73322 1.62977 0.763046 -0.354301 0.54828 10.9095 2.8584 0.516851 -0.46582 -0.137226 -0.217198 -0.474919 -1.35435 3.94861 0.502664 -0.223237 -1.9605 -0.0397551 -0.0893351 -0.181767 -0.0155934 -0.82942 -0.538288 2.12665 -0.715093 -0.37667 -3.15999 -1.17744 0.722831 -1.67592 1.47904 -1.53458 -0.665063 1.31696 -2.59123 3.65172 -0.330203 0.633972 -1.07454 1.96582 -2.89658 0 0 0 0 0 -0.0395099 0.0172472 -0.000649353 0 0 0 0 -3.33816e-05 0 0.0137579 0 0 0.000247545 0.000584196 0.0149772 0 0.00390539 -0.092583 0.0306745 0 0 0.0614599 2.73951e-05 0 0.0963382 0.0250244 0 0 0.00353242 -0.150937 0 0.238951 0 -0.0142348 0 0 -0.00314471 0 0 0.567363 -0.000711857 0.00527887 0 -0.0138474 -0.0158915 0 0 -0.0123497 0 -0.00120842 0.148495 0.00353508 0 0 -0.000460673 0.0010213 0 -0.0012257 -0.0103298 0.00208752 1.07663 -0.0238054 0.00765453 0 0.00195906 -0.0488917 0.107358 0.0333199 -0.0185433 0 0 0 -0.55651 0.0127892 0.0245302 0.00464465 -0.0113335 0.123307 -0.000174079 0.000424774 -0.0057654 0.000340965 0 0 0 0 0 0 0.00296572 0 0.0518954 0 0 0 0 0.0304493 -1.69117 0 0 -0.365893 0 -0.0351034 0 -0.0935593 0 0 0.851565 0 -0.822831 -0.00748877 -0.129256 0.138174 0 0 -0.801843 0 -1.9627 0 -2.59868 -0.66403 0 0.104831 -1.40138 -0.0114964 0 -0.00714953 0 0 -0.195926 0 -1.13687 1.80255 0 0 0.288454 0 0 0.259137 -0.243666 0.238258 0 -2.98086 0 -0.261765 0.0528418 -0.126397 -0.648223 0.0543383 0.525961 0.032649 0.0140172 3.87501 10.4179 0.0285983 0 0 0 -0.396829 -0.00878887 0 0 0 0 0.657705 5.70558 1.59617 -1.78853 0.462003 -0.629127 1.32829 0.107354 -0.103283 0.156052 -0.00522473 0 0 0 0 0 0 +220 0 -0.294132 -0.137889 -0.157723 -0.110941 0.172035 0.43 -2.10209 -5.18987 -0.565742 3.44527 -0.0122754 0.12323 0.0953151 1.85832 -0.0166403 -0.667449 -4.52631 0.86011 -0.0600495 0.361715 0.306493 0.0051848 -0.117963 1.23523 -1.40707 0.0785214 -0.0670601 -0.699638 -0.940475 0.431785 -0.336381 0.390308 0.310718 0.0315057 -0.658609 -0.0668631 -0.759952 2.37462 -0.525416 0.530747 0.270114 -1.74853 -0.295508 2.35942 0.707652 0.809012 -0.939761 0.0163046 0.540126 0.95867 2.67118 7.75434 -0.0101524 -0.0840872 0.00120955 -0.290542 -0.241309 -0.0918794 -1.70812 -0.418512 -0.528953 -0.251978 -1.69452 3.9553 0.874357 0.857208 -2.74053 -1.2146 0.346838 -1.786 -0.354517 0.144901 0.739819 -0.725686 0.445877 1.95167 -8.67862 -6.79396 6.08916 -3.19433 2.3216 -1.78428 -3.3196 3.27619 -5.11584 9.24119 -0.731267 1.05333 -1.19683 0.210314 4.47281 0 0 0 0 0 -0.157723 -0.110941 -2.23431e-05 0 0 0 0 -9.22823e-06 0 0.00103419 0 0 0.00096803 0.00150272 0.0414246 0 0.00439778 -0.227565 0.0133545 0 0 0.0228091 7.04679e-05 0 -0.0785198 -0.534125 0 0 -0.00845552 -0.39975 0 -0.227816 0 -0.0576088 0 0 -0.012723 0 0 -0.313418 -0.000196791 0.0206431 0 -0.000476463 -0.040248 0 0 0.157856 0 -4.15797e-05 -0.255512 1.80626e-05 0 0 -0.00180147 3.51413e-05 0 0.000106941 -0.0814749 0.00550584 0.785663 -0.0453778 0.00400981 0 0.00348075 -0.063609 -0.066734 0.0143984 0.0944177 0 0 0 0.976019 -0.066682 0.147884 0.00161495 -0.00394067 0.0648827 -0.000680737 0.00166108 -0.0225457 0.0554176 0 0 0 0 0 0 0.172035 0 0.43 0 0 0 0 0.00998968 -0.321971 0 0 0.408264 0 0.0447135 0 0.0539447 0 0 -0.227958 0 -0.129782 -0.0951471 -0.0156809 -0.00139909 0 0 0.430505 0 -1.4574 0 1.13186 0.997197 0 -0.77945 0.296598 -0.0087207 0 0.0049985 0 0 -0.0216399 0 1.10424 0.588359 0 0 0.0854373 0 0 -0.375441 0.630315 -0.212983 0 -0.928243 0 -0.192273 -0.0826813 0.119796 -0.0827816 0.00313995 0.322455 0.0136273 0.0612497 -0.00225666 -1.99448 0.0127872 0 0 0 0.0937448 -0.0542764 0 0 0 0 -0.0450445 -3.61177 -1.57884 2.54977 -0.438633 0.535435 -0.749333 -0.111664 0.134682 -0.226965 0.443981 0 0 0 0 0 0 +221 0 -0.528872 -0.218296 0.0375067 0.0849779 -0.27285 -0.251508 0.149138 1.39557 0.531307 -0.583818 0.0784165 -0.611959 -0.0100109 -1.73947 0.0284045 -1.4219 -5.32569 -0.135634 -0.0180082 -3.09158 -0.0323394 0.000934555 0.0208371 -0.103255 0.292807 -0.373777 -0.0620932 0.0143887 -1.43497 -0.139929 0.114089 0.210711 0.0953352 -0.196922 0.144934 0.0262072 -0.081326 1.37887 0.0793955 -1.29107 -0.0321834 -0.019848 0.0560151 -5.19499 -0.0794006 -0.451462 -0.490793 0.0718704 -0.249688 -2.17138 -0.496813 2.98867 0.165818 0.00337657 -0.187279 -4.22696 -0.762602 -0.877378 0.18376 0.0931703 0.738531 3.08926 0.35794 -1.07901 0.294978 0.564373 0.847392 -0.0524947 -0.327795 0.0897885 -0.132103 0.000237932 0.0570731 0.134907 0.74483 0.374185 -9.36233 0.860069 -7.06141 -2.2035 0.446217 -1.06933 0.205889 -0.530166 1.15932 -1.62915 0.018622 -0.0371869 0.313017 -0.648531 5.23176 0 0 0 0 0 0.0375067 0.0849779 0.000573572 0 0 0 0 -3.48383e-05 0 0.0257374 0 0 0.000994658 0.00593186 0.0251858 0 0.00407423 -0.00120012 0.184083 0 0 -0.0815881 0.000278447 0 -0.0429966 -0.399853 0 0 -0.0116776 -0.0726189 0 -0.0222551 0 0.0143491 0 0 0.00106817 0 0 0.404636 -0.000749436 0.0207936 0 0.0117825 -0.00966147 0 0 0.215785 0 0.000463512 0.285859 0.0151568 0 0 -0.0018565 -0.00139453 0 0.00412032 -0.0270162 0.0166589 -0.000801125 0.00750347 0.0289118 0 0.000575322 -0.0904497 -0.137789 0.00630906 0.193397 0 0 0 -3.86471 -0.206344 -0.888604 -0.0182512 0.0448688 -0.599624 -0.00067153 0.00163236 -0.0222298 -0.180536 0 0 0 0 0 0 -0.27285 0 -0.251508 0 0 0 0 0.392018 0.361669 0 0 -0.364893 0 -0.0385538 0 0.016837 0 0 -0.978673 0 0.137949 0.185863 -0.0644 -0.0849188 0 0 0.143975 0 -7.4455 0 0.150864 -0.357823 0 1.41204 -0.0886059 -0.00790476 0 0.0611271 0 0 0.0409262 0 -2.21507 -2.47879 0 0 -0.253378 0 0 0.0136778 0.00562976 0.0532776 0 -1.67406 0 0.9843 0.0544077 -0.052563 0.168293 -0.0424711 -0.377824 -0.102262 0.134683 -1.33857 -18.5696 -0.0133678 0 0 0 -0.155798 0.0141225 0 0 0 0 -0.0486751 -3.42472 0.716854 -3.8245 0.0748525 -0.26851 -0.178414 0.116085 -0.165308 0.272998 -0.88166 0 0 0 0 0 0 +222 0 0.285111 -0.095318 0.0261123 0.0563966 -0.113337 -0.280664 0.690272 1.28124 0.090042 -0.716359 -0.110678 0.292703 -0.0124365 -0.324222 -0.0825072 -2.53985 -6.14767 -0.338078 -0.153485 1.20895 -0.097971 -0.0114095 0.0118457 -0.187987 0.701441 -0.945127 -0.268737 0.770917 1.14734 -0.356859 0.0490543 -0.462013 -0.156596 -1.14733 0.381494 -0.015024 -0.76911 -1.37608 0.0586268 -0.0612265 -0.0522776 -2.81763 0.0287732 1.59403 -0.21777 -0.594121 1.05125 -0.728562 -0.186762 -0.172713 -1.06852 8.63309 0.320069 -0.168427 0.369672 -0.178479 0.975257 0.139185 0.5345 0.107753 0.429253 -0.780279 -0.599002 -1.06811 0.495622 -0.248942 1.09252 -0.545999 -0.0555488 -0.496221 0.0101544 0.183392 1.59852 -0.874137 -1.0089 5.55727 1.38793 0.895302 -1.24285 0.844016 -1.48133 2.59641 0.677748 -0.960777 1.80936 -3.42007 0.0510743 -0.0833312 0.262441 0.295943 -4.18311 0 0 0 0 0 0.0261123 0.0563966 -0.00203713 0 0 0 0 -0.000585841 0 0.0229491 0 0 -0.00098322 -0.00160819 0.0157569 0 0.00297027 -0.0396472 0.139785 0 0 0.109733 -7.43078e-05 0 -0.0850337 -1.30642 0 0 0.00230437 -0.296123 0 -0.231321 0 0.0503055 0 0 0.00379325 0 0 -0.734226 -0.0125189 -0.0226161 0 -0.0452458 0.0281652 0 0 -0.0826513 0 -0.00600639 0.0751965 0.014574 0 0 0.00192029 0.00140329 0 -0.007749 -0.0779934 -0.0093041 3.32227 -0.0177635 0.0258884 0 0.0119863 -0.0720292 -0.0226756 0.145639 -0.110145 0 0 0 5.69408 0.270907 -0.0981528 0.0254818 -0.0610957 0.837193 0.000818052 -0.00202808 0.0271491 -0.0994427 0 0 0 0 0 0 -0.113337 0 -0.280664 0 0 0 0 -0.133912 -0.152096 0 0 -0.118201 0 -0.0163838 0 -0.0164819 0 0 0.582103 0 0.468358 -0.0254624 0.0565632 0.0856943 0 0 -0.166783 0 2.25837 0 -1.07328 -0.409015 0 -0.132199 0.182477 0.00323852 0 -0.0141128 0 0 -0.0172992 0 0.23553 0.775849 0 0 0.0876367 0 0 -0.0633049 -0.0835789 0.0104502 0 0.0144387 0 -0.482109 -0.0180345 0.047893 -0.0653006 0.0371875 0.0805897 0.171777 -0.245887 0.969654 7.50003 0.0290132 0 0 0 0.0193138 0.087127 0 0 0 0 0.0541804 4.31283 1.10863 -0.9329 0.531752 -0.588658 0.859996 0.106957 -0.107463 0.136289 0.00257819 0 0 0 0 0 0 +223 0 -0.190583 0.0775913 0.0528822 0.0358331 0.0194153 -0.0543225 0.20448 -0.717693 0.00810602 0.177034 0.476812 1.30122 -0.026261 1.8081 0.190841 1.04419 5.57683 0.00975924 0.289414 -5.4927 0.0394365 0.0801075 0.0239136 0.0760701 0.463038 0.0993119 0.193009 -0.0452237 -1.18042 0.503665 0.0879406 1.43568 -0.0566445 0.44176 0.378645 0.115202 0.643214 -0.937406 0.956247 -1.99049 -0.10555 1.73491 0.227337 3.82455 -0.426782 -0.575357 -0.28427 2.6736 -0.502076 1.99507 -0.477023 2.39624 -1.08304 -0.042601 0.00200064 0.147135 -1.38378 1.03391 0.023517 0.198292 -0.0317555 1.54895 0.705952 -1.87792 -0.991955 0.441015 0.915017 0.742273 -0.00490732 -0.239562 -0.487032 1.27153 -0.675465 3.78056 -0.789685 -0.954611 3.83687 -0.62252 3.71969 0.757292 -0.446156 0.849852 -0.885651 0.715231 -0.558683 1.93412 0.100094 -0.261973 0.916428 -2.15762 4.30369 0 0 0 0 0 0.0528822 0.0358331 0.00103414 0 0 0 0 -0.000101546 0 -0.0128909 0 0 0.0018694 0.0113188 -0.0271225 0 -0.00239442 0.0555922 -0.110728 0 0 0.131583 0.000531401 0 -0.132921 0.358218 0 0 0.00591703 0.12802 0 -0.272951 0 0.0722241 0 0 0.00589088 0 0 -0.407417 -0.00218071 0.0389279 0 0.0209542 -0.0682784 0 0 0.18811 0 0.000552465 -0.699797 -0.00617225 0 0 -0.00343876 -0.00273526 0 9.87556e-06 -0.104127 0.00331311 0.433063 -0.0929838 0.00917469 0 0.0116774 -0.0748694 -0.103203 0.0126001 0.171022 0 0 0 1.8488 -0.102214 0.649541 0.00594522 -0.0139006 0.20384 -0.0012443 0.00301885 -0.0411803 0.188707 0 0 0 0 0 0 0.0194153 0 -0.0543225 0 0 0 0 -0.413903 2.50551 0 0 0.418743 0 0.0534537 0 0.13019 0 0 -0.818805 0 0.638165 -0.153297 0.196842 -0.0985943 0 0 1.09577 0 7.39841 0 0.988447 1.10709 0 -1.15595 1.00809 0.0288863 0 -0.0586108 0 0 0.298045 0 2.79171 -1.75772 0 0 -0.225395 0 0 -0.511325 -1.94862 -0.172824 0 3.84516 0 1.2973 -0.0726819 0.15406 0.53266 0.0936983 -0.494423 -0.726382 0.169297 -5.21424 -15.6812 -0.0976349 0 0 0 0.665777 -0.0115102 0 0 0 0 -0.980792 -1.99501 -1.00027 2.71003 -0.0748671 0.263784 -0.67039 -0.0360139 0.0973795 -0.239202 0.593664 0 0 0 0 0 0 +224 0 0.341728 0.336282 0.0413582 0.127954 -0.150276 -0.107676 0.0247781 -0.283589 0.270933 -1.03304 -0.027499 -0.00864626 -0.0130759 -0.536555 -0.0301 1.06454 6.40653 -0.206674 -0.0910997 0.973636 -0.0604437 -0.119989 0.0179991 -0.306675 0.20971 0.188412 -0.020375 0.392919 0.567557 -0.201943 0.0729694 -0.237336 -0.960593 -0.117059 0.230155 -0.00298091 0.154998 -4.64668 -0.0262613 0.10275 -0.0432497 0.143624 0.0117813 0.00184121 -0.0994893 -0.244417 0.471039 -0.534941 0.0361468 -0.869788 -0.297462 0.935965 0.0986925 -0.0442525 0.140008 1.48384 0.167087 0.496583 0.312405 0.0594623 1.21199 -1.5717 0.337066 -0.155289 0.334814 -0.0393175 0.493067 0.205053 -0.115755 0.0392819 0.102093 -0.18518 -0.101432 0.97625 -0.386488 -0.307973 11.6135 4.41504 -0.971142 2.56316 -1.62484 3.15034 0.630945 -0.249753 0.309122 0.90524 0.0888781 -0.0435036 -0.178765 0.334823 -0.852811 0 0 0 0 0 0.0413582 0.127954 -0.000113323 0 0 0 0 -4.4008e-07 0 -0.0260213 0 0 -2.08147e-05 -2.81231e-06 -0.0434472 0 -0.00671631 -0.0258838 -0.180827 0 0 0.0673539 -1.20321e-07 0 0.0288307 -0.184126 0 0 0.0170537 -0.0882135 0 0.0541429 0 0.0268558 0 0 0.00599774 0 0 -0.0863913 -9.13166e-06 -0.0005236 0 -0.00233433 0.00186224 0 0 0.0968814 0 -0.000100906 0.132444 0.000697582 0 0 4.9188e-05 0.000248593 0 -9.71973e-05 0.128606 -0.00106331 1.45071 -0.00085422 -0.0249683 0 -0.00101487 0.0926051 0.488604 -0.000622448 0.038783 0 0 0 0.249773 0.00646009 0.215554 0.000572276 -0.00143769 0.0606844 2.164e-05 -5.4737e-05 0.000720075 0.0815301 0 0 0 0 0 0 -0.150276 0 -0.107676 0 0 0 0 0.171652 -0.642045 0 0 -0.49345 0 -0.0505822 0 -0.0428335 0 0 0.8833 0 -0.409274 0.0308381 -0.158998 0.107983 0 0 -0.475925 0 0.783174 0 -1.46888 -1.36538 0 0.25847 -0.592071 -0.0147465 0 0.0192997 0 0 -0.0576179 0 -1.48992 1.8302 0 0 0.2252 0 0 0.108175 1.48226 -0.0806089 0 0.205552 0 -0.406884 0.0222095 0.0253048 -0.412945 0.101908 1.47799 0.468638 -0.0886611 -0.125818 3.4407 0.0599976 0 0 0 -0.0463784 -0.0138049 0 0 0 0 0.0524168 13.1789 3.34883 -1.66223 0.53135 -0.400835 0.443676 0.0906431 -0.0932688 0.194971 -0.084409 0 0 0 0 0 0 +225 0 1.36682 0.232918 0.0894764 0.0734969 -0.0531474 -0.255288 0.239288 0.955119 0.497545 -2.09472 0.139774 -0.803391 -0.0352486 -0.760205 -0.00293773 -0.722535 0.640778 -0.511064 -0.0930431 -1.39609 -0.165256 -0.311013 0.0443124 -0.709944 0.489652 -0.310321 -0.018435 0.460257 -0.26077 -0.427576 0.168197 -0.0201605 -1.84714 0.12547 0.338814 0.0394105 0.336142 -7.8236 0.509064 -1.1734 -0.141117 1.91013 0.147011 -2.47313 -0.499437 -0.841466 0.249228 -0.239676 -0.336562 -0.1597 -1.14101 -1.63293 0.216095 -0.12493 0.277644 1.55538 0.361837 -0.546784 1.0561 0.264801 -0.543279 2.37219 2.50849 -2.08904 -0.143834 0.0634329 2.25335 0.334231 -0.240562 1.55958 0.0456824 0.324669 -0.550703 -0.505064 -0.73093 -1.69403 27.2562 8.84765 -3.23607 6.43294 -5.39534 8.42769 1.92701 -1.56966 1.99958 -1.21441 0.446169 -0.504659 0.491706 -0.527233 0.391833 0 0 0 0 0 0.0894764 0.0734969 -2.57035e-05 0 0 0 0 -2.29447e-08 0 -0.0265865 0 0 2.48294e-05 2.12057e-06 -0.0495513 0 -0.00946466 0.0393477 -0.118391 0 0 0.198235 1.09157e-07 0 -0.0133296 0.930814 0 0 0.0412302 0.222193 0 -0.22616 0 0.0666105 0 0 0.0133098 0 0 -0.758543 -2.62315e-07 0.000463443 0 -0.000472934 0.00102019 0 0 0.0852299 0 5.34639e-05 -0.0633204 -0.000398921 0 0 -3.5521e-05 0.000106237 0 6.95413e-05 -0.0133216 0.000121495 0.5533 0.000283313 0.0362656 0 -0.000297982 -0.00408791 0.0571084 -0.00161975 0.0440244 0 0 0 1.52555 -0.00376921 0.156692 -0.000342874 0.000795921 0.168131 -1.13662e-05 2.60044e-05 -0.000373427 0.0396129 0 0 0 0 0 0 -0.0531474 0 -0.255288 0 0 0 0 0.0608504 1.48092 0 0 -0.211394 0 -0.0436767 0 0.0527329 0 0 -0.773081 0 0.144759 -0.0184095 -0.0024875 -0.0948881 0 0 0.465453 0 1.56023 0 -2.19576 -1.16574 0 -0.0397836 -0.0588432 -0.00537232 0 0.00759634 0 0 0.173226 0 -0.973225 -1.74681 0 0 -0.199192 0 0 -0.229063 0.297314 -0.0932304 0 0.622617 0 -0.204063 -0.00546811 0.0364959 0.583424 -0.112016 -0.961174 0.253733 0.095096 -1.41548 -0.602276 -0.0592368 0 0 0 0.261175 0.047862 0 0 0 0 -0.398306 12.1838 0.997544 1.21671 0.361891 -0.361287 1.01235 0.0256452 0.00206268 0.0368534 0.0567514 0 0 0 0 0 0 +226 0 0.00630626 0.182189 0.0671491 0.187838 -0.187776 0.00571614 0.969376 2.52246 0.502764 -1.75294 0.558831 0.185017 -0.0199107 1.0353 0.204431 1.5308 4.77103 -0.252248 0.255491 -1.8817 -0.0461088 -0.101865 0.0282537 -0.462102 0.236911 0.469119 0.0500777 -0.461221 -1.5683 0.30506 0.120302 1.14209 -0.416405 0.488412 0.000236193 0.130474 0.385335 -2.46217 0.775415 -0.670582 -0.0645368 2.43955 0.19335 0.0251803 -0.149923 -0.0623097 -0.867325 1.48833 -0.367286 1.13234 -1.2538 -3.67649 -0.469884 0.294476 -0.169796 -0.0525969 -0.383434 -0.295447 0.533876 0.0800971 -1.00174 0.98311 2.09138 -2.06299 -0.683128 -0.18498 1.66496 0.288727 -0.204966 1.3645 0.383247 0.833904 -0.681986 -0.169819 0.0325574 -1.5976 9.3 4.74071 -4.97609 2.13346 -2.7967 5.22392 1.10523 -1.70188 3.00555 -4.64474 0.133933 -0.429589 0.813152 -1.45325 2.35653 0 0 0 0 0 0.0671491 0.187838 0.000222022 0 0 0 0 8.68476e-07 0 0.00284103 0 0 4.13119e-05 5.63e-06 -0.0191396 0 -0.00353072 0.0325058 0.0128795 0 0 -0.148184 2.41276e-07 0 -0.018573 -0.445791 0 0 -0.0254063 0.0150666 0 -0.0899066 0 -0.0109354 0 0 -0.000993136 0 0 -0.309879 1.80363e-05 0.00103872 0 0.00457857 -0.00359546 0 0 -0.0885137 0 0.000201707 0.20522 -0.00141908 0 0 -0.000100467 -0.000484655 0 0.000217781 0.0665882 0.00214228 1.20837 0.00173449 0.0380733 0 0.00207374 -0.0485069 0.295485 0.00131669 0.169393 0 0 0 0.284796 -0.0134749 0.0010133 -0.00122326 0.00306885 0.180186 -4.33281e-05 0.000109736 -0.001442 -0.0154235 0 0 0 0 0 0 -0.187776 0 0.00571614 0 0 0 0 0.291339 2.11796 0 0 -0.670801 0 -0.0839361 0 0.0962048 0 0 -0.563345 0 -0.643491 0.0739374 -0.3253 -0.059156 0 0 0.773202 0 -2.29485 0 -2.4067 -1.01912 0 0.582057 -1.30025 -0.0384499 0 0.0391653 0 0 0.257712 0 -1.69229 -1.82805 0 0 -0.207871 0 0 -0.30658 0.918147 -0.0510658 0 1.81067 0 -0.763835 0.168622 -0.0591345 0.691306 -0.0143827 -0.633617 0.794614 0.055027 -1.23064 9.24304 -0.0347165 0 0 0 0.442893 -0.000275416 0 0 0 0 -0.525289 15.6069 3.29207 -2.35411 0.251941 -0.257583 0.535557 0.0841649 -0.0765937 0.135788 -0.0994145 0 0 0 0 0 0 +227 0 0 0 0 0 0.232485 0.286394 -0.725371 -2.39397 0 0 -0.304515 1.34364 0 2.59718 -0.0609351 0 0 0 -0.0452085 1.11435 0 0 0 0 -0.444824 0 0 -0.127713 2.00797 0.732394 0 -0.113866 0 0 -0.199195 -0.0310999 0 0 -1.20123 0.962901 0 0 -0.252206 5.32005 0 0.644381 0.473232 -0.0591606 0.143683 0.667151 -0.260375 0 -0.0483813 -0.214156 0.525425 -0.0423319 -0.0979219 -0.0850263 0 0 -0.326377 -0.897017 0 0.00454568 -0.238528 1.25024 0 0 0 0 -0.314205 -0.474244 0 -1.97949 -1.2085 0 0 0 2.54912 0 1.61648 -2.49449 0 0.570634 -0.0641513 2.72965 0 0.580373 -0.00821687 2.00172 -5.54573 0 0 0 0.172584 0.0384259 0 0 0 0.0150808 0 0 0.00348625 0 0 -0.0166065 0 0 0 0 0.0707767 0 0.0108004 0 -0.0479278 0 0.0573945 -0.0792356 0 -0.00506874 0 0 -0.207095 0 -0.00664187 0 0 0 0 -0.024171 -0.0316838 0 -0.00308781 0 0 0 0 0 0 0 0 0 0 0.0450805 0 0 0 0 0 0 0 0 0 0 0.342113 0 0 0 0.0916219 0.0216073 0 -0.0127146 0.3755 0 0.0851616 0 0.265304 0 0 0 0.0314084 0 0 0.19177 0 0 0 0.0772181 0 0 0 0 0.184553 0 0.232485 0.172584 0.286394 0.0384259 -0.48172 -0.0627485 0.492563 -1.01467 1.46182 -0.00623004 0.0195301 0.384708 -0.00175124 0.00372432 0.0677804 0.075003 -0.0293479 0.0121001 -0.0710172 -0.353323 0.721494 -0.360997 0.316333 0.0721697 -0.0889603 -0.000894546 0.716444 -0.0145177 10.8465 -0.3854 0.930389 3.55208 0.00904721 -2.06768 0.879431 0.0178892 -0.00461889 -0.178281 -0.0413836 0.34912 0.162706 -0.00850969 6.22521 0.214721 2.66697e-06 -0.038743 0.200004 -0.0702184 -0.16711 -0.162714 0.55085 -0.082834 0.156411 -0.568896 -0.193672 2.05726 -0.202376 0.265135 0.779677 0.561397 -0.625695 -0.460011 0.0999307 -0.279586 -11.6287 -0.0652155 0.645617 -0.00205585 0.129044 0.472426 0.0526236 0.0578946 -0.0130491 -0.191266 0.0326526 -0.530193 -5.22382 -1.63964 7.09104 -0.223164 1.47674 -1.49445 -0.0855091 0.245416 -0.314448 0.526135 -0.00492115 0.0752573 -0.0730468 0.264873 -0.566857 0 +228 0 0 0 0 0 0.548625 0.231362 -0.549007 -3.47345 0 0 -0.0418479 0.138578 0 0.287647 0.02269 0 0 0 0.0134544 -3.59825 0 0 0 0 -0.694045 0 0 0.0396184 -0.43422 0.120922 0 0.612793 0 0 -0.149407 0.014009 0 0 -0.158275 -0.860236 0 0 -0.0143487 0.938217 0 0.0706341 0.247134 1.03387 -0.0121461 -0.425062 0.173498 0 -0.26716 -0.225626 0.512847 -1.66486 -0.673936 0.554393 0 0 1.46098 -1.36996 0 -0.116808 0.711078 -0.435756 0 0 0 0 0.0662386 0.829213 0 0.269333 -1.80698 0 0 0 5.12246 0 0.465673 1.45776 0 0.00743976 0.633271 4.98254 0 0.025618 0.815911 -0.255434 2.29758 0 0 0 0.0170849 0.0199463 0 0 0 -0.00412298 0 0 0.00266979 0 0 -0.121132 0 0 0 0 -0.210793 0 -0.0400236 0 -0.554009 0 -0.114706 0.165965 0 -0.0116067 0 0 -0.213372 0 0.0360839 0 0 0 0 0.160462 -0.0512703 0 0.0340579 0 0 0 0 0 0 0 0 0 0 -0.00202695 0 0 0 0 0 0 0 0 0 0 0.0653834 0 0 0 0.0500361 0.075464 0 0.142645 0.236689 0 -0.0917297 0 0.0369599 0 0 0 0.577615 0 0 0.212899 0 0 0 0.150756 0 0 0 0 0.133859 0 0.548625 0.0170849 0.231362 0.0199463 0.0932107 0.00860218 0.116667 -0.684046 0.26162 -0.0295868 0.0532414 -0.465323 -0.00620532 -0.138638 0.0358997 0.0153194 0.0266254 -0.120348 0.577659 -0.771934 0.205515 -0.248855 -0.00095072 0.147483 0.265331 -0.0400967 0.270977 -0.0121027 2.7587 -0.104521 -0.456083 1.52412 0.00748744 -1.64272 0.111754 -0.0246738 -0.00532813 -0.100324 -0.0259712 -0.388084 0.0298989 -0.00361786 2.24575 1.46667 0.00551996 -0.0262888 0.313394 -0.0960674 0.0367671 0.0808478 3.23481 -0.18322 -0.0811552 -1.06771 -0.056562 0.436875 -0.0772551 0.251335 0.70706 -0.100279 0.885211 0.345414 -0.0325413 -0.634594 -6.69998 -0.120916 -0.0344049 -0.0249571 -0.258941 -0.407022 0.359066 0.0461012 0.0629212 0.124402 -0.000234416 -0.112714 2.56075 1.58066 4.04487 0.430602 0.32146 0.970344 0.167014 -0.0258664 0.144092 0.605901 0.0489458 -0.00302025 0.0588613 -0.0635606 0.348483 0 +229 0 0 0 0 0 0.258887 0.177464 -0.989501 -1.79639 0 0 -0.435691 0.730535 0 0.61557 -0.0128036 0 0 0 0.293013 -0.212342 0 0 0 0 -0.36067 0 0 -0.170739 3.6278 0.327233 0 0.0139711 0 0 -0.206478 -0.0511469 0 0 -1.66184 1.24131 0 0 -0.337148 1.62457 0 1.02465 0.540466 1.26766 0.516879 -0.918289 1.06031 0 -0.306977 0.0903033 -0.445072 -1.05918 -0.0426451 1.23161 0 0 -0.853956 -4.66378 0 0.578779 0.549221 -0.165903 0 0 0 0 -0.502821 -0.807542 0 -0.202306 0.818088 0 0 0 2.41492 0 2.39829 -5.24658 0 1.01679 -1.97838 4.15817 0 0.904209 -1.96467 4.10625 -8.58032 0 0 0 0.184648 0.038594 0 0 0 -0.0303126 0 0 -0.00377874 0 0 -0.000289055 0 0 0 0 0.0638318 0 0.0113804 0 0.0389446 0 -0.21753 -0.362383 0 0.000671854 0 0 0.0318189 0 -0.0445056 0 0 0 0 -0.107488 0.0054392 0 -0.013065 0 0 0 0 0 0 0 0 0 0 0.208971 0 0 0 0 0 0 0 0 0 0 0.11773 0 0 0 -0.0700281 0.00921723 0 0.166703 0.150907 0 -0.0355992 0 0.0662203 0 0 0 -0.0724834 0 0 -0.0262775 0 0 0 0.0424885 0 0 0 0 -0.0400663 0 0.258887 0.184648 0.177464 0.038594 -0.297632 -0.125232 0.516401 0.0346445 0.643994 -0.0021468 -0.011124 0.251674 -0.000932796 0.0215468 0.0679652 0.0120948 -0.0190251 0.0319045 0.28738 -0.528844 0.694976 -0.00784661 0.154625 0.010198 -0.062095 0.133543 0.155123 -0.0220315 9.21194 -0.493457 3.63556 3.07674 0.00865142 -0.0753357 1.84807 0.0191099 -0.00882046 0.00995679 -0.0892674 0.830267 0.0727316 0.0213378 5.13162 0.477041 -0.0028636 -0.0487548 -0.0510584 -0.112985 0.0968087 0.501028 -2.7383 -0.339605 0.0856086 1.2517 -0.201377 -0.980463 -0.154466 0.0349093 -0.867278 -0.526646 0.572661 -0.563766 0.234266 -1.31404 -14.4514 0.245554 -0.0616332 0.0576518 0.163433 0.197327 -0.109781 0.0571774 -0.0239771 -0.0339968 -0.118011 -0.354039 -20.4124 -2.89335 1.73355 -0.82886 1.9647 -3.25838 -0.0703689 0.203702 -0.471618 0.224698 -0.0129756 0.0846011 -0.183537 0.276671 -0.353166 0 +230 0 0.522667 0.178085 0.042814 0.178627 -0.346386 -0.0893105 0.3116 0.530279 0.817923 -0.559068 0.221669 -1.03251 -0.00130798 -1.8956 0.047042 0.181911 1.96414 0.00753316 -0.00117662 -1.70142 0.00709154 -0.201273 0.0169452 -0.150952 -0.148517 -0.00480248 0.0374483 -0.0936026 -0.775181 -0.430468 0.119445 0.254729 -0.733954 0.33237 -0.0820921 0.0377099 0.205857 -3.97288 0.14664 -0.705577 0.00360785 1.61843 0.0423963 -4.57425 0.0949918 -0.155969 -0.444279 -0.0316633 0.031027 0.512832 0.295171 0.947547 0.435512 0.182604 -0.479118 1.45138 0.334239 -0.496469 0.0410606 -0.0011711 0.493475 0.960601 0.0300197 0.570439 -0.338026 -0.926786 -0.516001 0.11724 -0.422445 0.194365 0.212321 0.0717862 -0.432799 1.49736 0.900731 -0.674439 7.48267 2.39143 -1.38487 1.36482 -1.81054 5.32412 0.44986 -0.363504 0.534545 -0.625038 -0.0320519 0.0183019 -0.0109562 -0.570038 2.31327 0 0 0 0 0 0.042814 0.178627 0 0 0 0 0 0 0 -0.00764364 0 0 0 0 -0.00682904 0 -0.000342387 -0.0278941 -0.0657278 0 0 -0.041562 0 0 0.0437427 -0.325741 0 0 -0.00948515 -0.0620808 0 0.0868444 0 -0.00358551 0 0 -0.00125888 0 0 -0.0142315 0 0 0 0 0 0 0 0.0232495 0 0 0.174552 0 0 0 0 0 0 0 0.0567389 0 0.55024 0 0.00291042 0 0 0.00826048 0.187703 0 0.0793613 0 0 0 -0.0502495 0 0.0888511 0 0 0.0767219 0 0 0 0.0296141 0 0 0 0 0 0 -0.346386 0 -0.0893105 0 0 0 0 0.157397 0.334824 0 0 -0.56078 0 -0.0609833 0 0.00764593 0 0 -0.732115 0 -0.905235 0.0557306 -0.247197 -0.118348 0 0 0.127593 0 -5.75638 0 -4.31487 -2.02821 0 0.544437 -2.01649 -0.0279161 0 0.0139044 0 0 0.0194873 0 -3.62524 -1.45797 0 0 -0.225366 0 0 0.629311 2.62368 0.297541 0 1.5163 0 -0.39296 0.191427 -0.267872 -0.00805195 0.0343456 1.80702 0.263943 -0.0398051 0.3121 10.8308 0.103482 0 0 0 -0.297928 -0.00525662 0 0 0 0 0.309771 27.0476 4.02738 -2.32401 0.708654 -0.681402 1.39615 0.101075 -0.110498 0.224959 -0.279582 0 0 0 0 0 0 +231 0 0.586306 0.385518 -0.0390699 -0.0166229 0.134463 0.227885 -0.464215 -0.908273 -0.128571 0.510186 -0.263029 1.24686 0.0156502 0.672345 -0.175487 1.28035 2.95024 0.0528061 -0.221528 6.14038 0.060551 -0.220106 -0.0168161 0.298303 -0.170046 0.551853 -0.0403503 -0.331579 0.368396 0.556259 -0.0701753 -1.3324 -0.880817 -0.287914 -0.210652 -0.0821673 -0.256409 -4.83042 -0.601301 2.61767 0.0668236 -1.51088 -0.17075 2.63769 0.262868 0.971309 -0.180604 -2.07578 0.50521 -0.377449 0.607612 -2.30994 0.5707 0.0436214 -0.204601 -0.282395 0.113643 -0.66061 -0.378889 -0.135333 -1.50691 0.185315 1.09737 0.438996 0.559238 -0.0212048 0.891882 -0.243879 0.0701551 -0.195039 0.153406 -1.53003 0.430739 -0.125119 1.49722 0.0940908 11.2006 0.418686 1.37844 1.74192 -1.94859 6.2622 -0.897696 0.39341 -0.186719 1.08055 -0.0886962 0.220552 -0.454373 1.06411 -1.09936 0 0 0 0 0 -0.0390699 -0.0166229 0 0 0 0 0 0 0 -0.0231577 0 0 0 0 -0.0172024 0 -0.00538765 0.127168 -0.0853788 0 0 -0.206555 0 0 -0.16006 0.0532412 0 0 -0.0192212 0.252988 0 -0.443829 0 -0.0473953 0 0 -0.00420981 0 0 -1.32448 0 0 0 0 0 0 0 0.0636522 0 0 -0.234308 0 0 0 0 0 0 0 0.0267628 0 0.377415 0 0.0459807 0 0 -0.0281114 -0.00493165 0 0.114324 0 0 0 2.78095 0 0.179205 0 0 0.288793 0 0 0 0.0260976 0 0 0 0 0 0 0.134463 0 0.227885 0 0 0 0 0.226927 -1.37153 0 0 -0.281085 0 -0.0512585 0 -0.0784391 0 0 0.605582 0 -0.797588 0.00522572 -0.25451 0.0565315 0 0 -0.750224 0 -4.02199 0 -5.38396 -0.423873 0 -0.0476698 -1.95501 -0.0333085 0 0.0344399 0 0 -0.138087 0 -1.52555 0.83902 0 0 0.0696799 0 0 0.544908 -0.872624 0.119728 0 -0.478103 0 -0.666483 0.102382 -0.156225 0.9247 -0.153916 -0.875516 0.262307 0.139208 1.30605 8.18206 0.0106961 0 0 0 -0.335605 0.0331343 0 0 0 0 0.283849 30.0257 3.07159 -0.263919 0.823876 -0.80005 1.61897 0.0603545 -0.0402683 0.0542636 0.0603923 0 0 0 0 0 0 +232 0 0.0104287 0.0218586 0.0271898 0.0948471 -0.160595 -0.311776 1.61787 3.10251 0.440963 -1.11283 -0.288494 0.264229 -0.00266691 0.0731295 -0.135014 0.326955 1.87864 -0.262134 -0.286097 3.46082 -0.0342961 0.154879 0.0109332 -0.180867 1.05622 0.043932 -0.00695005 0.895852 2.07504 -0.119628 0.0709247 -1.0095 0.00120767 -0.385748 0.671631 -0.0386811 0.258281 -0.83589 -0.345471 0.429254 -0.00661475 -0.245357 -0.0394999 0.991113 0.0159268 -0.584068 1.40847 -2.03887 0.0350194 -0.0227519 -0.458778 1.18323 0.621911 -0.124974 0.334483 1.99045 0.468767 -0.613898 0.223628 0.0165818 -0.528263 0.817717 -1.20673 -1.02829 -0.244354 -1.34408 0.179591 0.389995 -0.228227 0.456265 0.282255 -0.637377 -0.113332 -0.338622 -0.994058 0.174366 2.09361 2.01581 -4.49247 0.220977 -0.170468 -1.31747 0.3844 -0.538174 1.00684 -4.47221 -0.00537399 0.0655004 -0.373842 1.45568 -6.19227 0 0 0 0 0 0.0271898 0.0948471 0 0 0 0 0 0 0 0.00535872 0 0 0 0 -0.00116488 0 0.000824387 -0.0536737 0.00463728 0 0 -0.0565299 0 0 0.0454475 -0.462102 0 0 -0.0111994 -0.16039 0 0.100294 0 0.0027043 0 0 -0.0002301 0 0 0.237042 0 0 0 0 0 0 0 -0.075835 0 0 0.082559 0 0 0 0 0 0 0 0.00535424 0 0.043398 0 0.00770428 0 0 -0.0249811 0.0392439 0 -0.00555475 0 0 0 -0.564746 0 0.00874537 0 0 0.0099067 0 0 0 -0.015069 0 0 0 0 0 0 -0.160595 0 -0.311776 0 0 0 0 -0.0857573 -0.764143 0 0 -0.458804 0 -0.0590237 0 -0.0438797 0 0 0.451101 0 -0.245655 0.0133571 -0.0574085 0.0521301 0 0 -0.462438 0 -0.902448 0 -2.10593 -1.52011 0 0.172718 -0.96618 -0.0135625 0 -0.00749708 0 0 -0.0783733 0 -1.60754 0.629971 0 0 0.070139 0 0 0.131214 -1.00101 0.154401 0 -0.10113 0 -0.625287 0.0780503 -0.131181 0.69171 -0.0169486 -0.90774 0.291378 -0.0199079 1.157 8.7968 -0.0324584 0 0 0 -0.0443555 0.069227 0 0 0 0 0.151322 11.0033 2.09864 -1.17984 0.36755 -0.409416 0.442176 0.0794946 -0.0731535 0.115022 -0.0524576 0 0 0 0 0 0 +233 0 0 0 0 0 0.0261543 0.238687 0.242283 1.25607 0 0 -0.0506152 1.42685 0 2.58017 0.00838158 0 0 0 -0.00879265 0.0643178 0 0 0 0 0.0176961 0 0 -0.27542 3.16277 0.827002 0 -0.0650743 0 0 -0.144026 -0.00490875 0 0 0.248627 0.961452 0 0 0.124362 4.36991 0 0.974404 0.555236 -0.465248 -0.151175 0.578509 -0.0659474 0 0.114622 -0.0188686 0.319979 -0.809213 0.0164181 -0.93582 0 0 0.401444 -0.191676 0 0.58348 0.154589 -0.395966 0 0 0 0 0.0318752 0.505459 0 -2.72592 -1.42648 0 0 0 -1.78448 0 -0.452772 -2.89444 0 -0.120162 -0.188813 -3.26875 0 -0.065514 -0.40896 0.940822 -9.20711 0 0 0 -0.0526595 -0.0147599 0 0 0 -0.0156539 -0.0203504 0 -0.00167447 0 -0.0042575 -0.00427462 0 0 0 0 -0.016073 0 -0.00221705 0 0.00252501 0 -0.133152 0.0895674 0 0.00164873 0 0 0.0434802 -0.00188334 0.0116572 0 -0.00141473 0 -0.00142766 -0.0214985 0.0112304 -0.0268375 -0.00526137 0 -0.000298738 0 0 0 -9.92661e-05 0 0 0.00501944 -0.00222259 0.0479282 -0.0132212 0 0 0.00346244 0 0.00246016 0 0 -0.0140843 -0.00703625 0.0174417 -0.00715162 0 0 0.0300174 0.0286344 0.00390813 -0.0046273 -0.0126986 0 -0.0351138 -0.00617387 -0.0841587 0 0 0 -0.000558603 0 0.0215331 -0.0349081 0 -0.0026854 0.00441359 -0.00371187 0 0.00238785 -0.00391617 0.00778185 -0.0104045 0 0.0261543 -0.0526595 0.238687 -0.0147599 -0.294016 -0.0463511 -0.106225 -0.450604 -0.578299 0.0142692 -0.0805529 0.0853128 0.00196696 0.00259333 -0.0175115 -0.0281184 -0.048244 0.0947365 -0.161866 0.37682 0.114714 0.0305884 0.034747 0.048848 -0.492926 0.255772 -0.258105 0.0143242 1.25403 -0.265211 -1.15136 1.29575 -0.00253214 -0.18073 -0.439697 -0.00136529 -0.00302979 -0.0629446 -0.0241348 1.62138 -0.0640435 0.0405123 1.42479 -0.465085 -0.0080059 -0.0334013 0.0513183 0.0837488 -0.173767 -0.167652 0.443625 0.00589366 0.0968296 -0.901361 0.030446 0.437597 -0.138045 0.255192 0.0632047 -0.225864 -0.0138183 0.125925 -0.0750793 0.933861 0.220462 0.129452 -0.056451 -0.0514594 -0.400355 -0.150853 -0.00665093 0.0780662 -0.0307517 -0.0652544 0.17484 0.117838 2.81622 -0.547395 0.268278 0.139125 0.117022 -2.64087 0.0175618 0.117055 -0.00772351 -0.792867 -0.0419619 0.238459 -0.549776 0.863865 -2.55961 0 +234 0 0 0 0 0 0.688018 -0.0849664 0.0235471 -1.89041 0 0 0.0830673 -1.02639 0 -2.18306 0.0554679 0 0 0 0.0334868 -2.79954 0 0 0 0 -0.144282 0 0 0.102578 -0.589251 -0.621473 0 0.181462 0 0 0.0970199 0.0293858 0 0 -0.322875 -1.24935 0 0 -0.0922598 -3.74581 0 -0.912785 0.203864 0.269132 0.223141 0.209904 0.0266883 0 0.0908531 -0.162148 -0.108503 3.30434 0.182189 0.442693 0 0 1.21729 -0.245384 0 -0.10557 -0.576248 0.537887 0 0 0 0 -0.0251562 -0.544345 0 4.18519 -0.0388146 0 0 0 2.46787 0 0.626344 0.12489 0 0.211775 -0.362049 2.75496 0 0.317681 -0.527718 0.603566 1.59928 0 0 0 0.12268 0.0205813 0 0 0 -0.000433396 -0.0566418 0 -0.0004697 0 0.000104119 0.0226685 0 0 0 0 0.0251905 0 0.00456004 0 0.126041 0 0.0144561 -0.0253265 0 0.00165117 0 0 0.0727396 -0.00122453 -0.00836462 0 -0.00799121 0 -0.00397047 0.0167175 0.0102883 -0.0176995 0.00614371 0 7.46313e-06 0 0 0 -0.00056068 0 0 0.0025425 -0.00741788 0.0608832 -0.000934809 0 0 0.00651169 0 0.00580186 0 0 -0.048669 0.00345679 0.0225111 0.00428527 0 0 0.0409994 0.0279025 -0.00444196 -0.000429229 0.0157098 0 -0.0234509 -0.00811446 0.0956725 0 0 0 -0.104486 0 0.0135218 -0.0529701 0 -0.00156142 0.00559897 -0.0204985 0 0.00146306 -0.00557275 0.00885226 -0.0185272 0 0.688018 0.12268 -0.0849664 0.0205813 -0.127985 -0.019069 0.173974 0.0150595 -0.10347 -0.0201829 -0.00142408 0.192452 -0.00271739 0.0310669 0.0256464 -0.0165416 0.0216008 -0.139949 0.534538 -0.755451 -0.000620234 -0.122929 -0.0100815 -0.0228216 0.216115 -0.0773227 -0.146732 -0.0108324 0.356356 0.148642 0.380939 -0.743959 0.00349918 -1.40301 -0.0351595 0.00626299 0.00303754 0.0755729 0.00622873 -0.961028 -0.0100536 -0.00192985 -0.328489 0.830144 -0.000502824 0.0298647 -0.0903317 -0.0847978 0.0209585 -0.396731 0.618134 -0.124848 -0.0340683 -0.369279 -0.0497892 0.423831 -0.0223518 0.069018 0.159818 0.47355 0.79008 -0.242608 0.0067286 -0.108721 0.776478 0.0198078 -0.293605 -0.0356325 0.0871412 -0.0112261 -0.0714358 -0.085131 0.0468544 -0.066846 0.0547272 0.0191965 -0.931773 -0.0887781 3.65785 0.0867923 -0.0691146 2.26485 -0.0964758 0.137203 -0.333262 1.80254 0.0619881 -0.120351 0.285033 -0.372983 1.37344 0 +235 0 0 0 0 0 0.0107182 0.281365 -1.44212 -3.11346 0 0 -0.0310891 0.889347 0 1.10742 -0.189806 0 0 0 -0.521875 8.20945 0 0 0 0 -0.494237 0 0 -0.801045 -8.44758 0.460467 0 -0.873761 0 0 -0.265495 -0.076039 0 0 0.604281 2.02203 0 0 0.0723567 3.73782 0 0.758181 -2.50322 -2.17922 -0.0298262 -0.311554 -0.013393 0 0.720104 -0.367605 0.350199 -0.00757393 0.270996 -0.164831 0 0 0.0421472 -3.9221 0 -0.166425 0.0636576 0.82024 0 0 0 0 -0.409578 -0.105633 0 -2.89627 1.69422 0 0 0 5.1754 0 0.624215 8.8951 0 1.07743 -1.04965 11.0406 0 0.580767 0.122748 -1.79328 22.42 0 0 0 -0.254075 -0.0528934 0 0 0 -0.0199663 -0.000454604 0 -0.00291505 0 -0.0101877 -0.0381356 0 0 0 0 -0.00682854 0 -0.00390532 0 -0.164801 0 -0.0728135 0.162515 0 -0.000725394 0 0 0.0804616 -0.0034407 0.0313981 0 0.00355097 0 -3.75807e-05 -0.0435306 0.00549308 -0.048797 -0.0141428 0 -0.000714992 0 0 0 0.000249113 0 0 0.00963769 0.00117759 -0.00269363 -0.0268982 0 0 -0.0129691 0 0.00114721 0 0 0.0603806 -0.0271752 0.0618388 -0.0278401 0 0 0.0435149 0.001988 -0.006803 0.0187848 -0.0146644 0 -0.0132162 0.000430236 -0.577693 0 0 0 0.136115 0 0.0395625 -0.0687964 0 -0.00500925 0.00934852 0.00615557 0 0.00440914 -0.00784814 0.014778 -0.0192338 0 0.0107182 -0.254075 0.281365 -0.0528934 0.955753 0.271874 -0.405115 0.522739 -2.31212 0.0503072 0.00570431 -0.460518 0.00700681 -0.0766161 -0.0638637 -0.117986 0.000253479 0.328083 0.819688 1.63295 0.139812 -0.239051 -0.425464 0.102934 -0.0509115 -0.41989 -1.10733 0.0337031 0.750329 -0.0151102 1.23729 0.917533 -0.00903175 -0.879894 0.640755 -0.0658512 -0.000341036 0.0450344 0.0266474 -2.56459 -0.252222 -0.0641973 1.15978 2.10008 0.00127585 -0.0282813 0.276139 0.228213 -0.299705 0.491647 -0.823902 -1.78661 0.0369341 -0.242081 0.116003 -1.59447 -0.534956 0.931552 -0.124876 -0.119191 -0.440816 1.00522 -0.167207 0.300719 -0.282003 0.0663593 0.814834 0.0913569 0.141212 -0.28845 0.164103 0.138181 -0.109652 0.00248479 -0.106617 0.449478 -3.02639 1.03934 1.88731 -0.675262 0.359724 4.13326 0.22824 -0.212674 0.194547 2.07437 -0.145319 0.161537 -0.0100626 -0.471304 3.69413 0 +236 0 -0.251508 0.270142 -0.0038619 -0.04333 -0.134838 -0.0403002 0.474484 1.72359 -0.0291205 0.112707 -0.0159597 -0.0693386 0.000100693 -0.692879 0.000935078 1.86319 5.33751 0.0159129 0.00207579 0.583391 -0.00122483 -0.114189 -0.000129994 0.0209163 0.288578 0.685311 -0.001014 -0.0420989 0.146446 -0.171082 -0.00202698 0.0383965 0.102784 -0.0429644 0.099921 -0.000146112 0.0416375 2.2754 -0.0526641 0.00632945 0.00157009 -0.131693 -0.00274959 -0.365675 0.0225566 -0.130422 -0.0338269 0.0667113 0.0068136 -0.119781 0.216526 -1.34744 -0.00275506 0.00252505 -0.000331967 0.863735 -0.176063 0.0934686 -0.0423781 -0.00321582 -0.0827873 0.846751 1.12256 -0.0524968 0.0073431 -0.0768474 0.345804 0.0290739 0.00350874 0.216683 0.165607 0.0208475 -0.00703945 1.87488 0.526249 -0.0526876 -6.39299 -0.235442 -4.03637 -0.292764 0.301025 -3.18772 0.133721 -0.131583 0.069076 -2.40116 -0.00176464 0.00228419 -0.0269658 0.0510396 -0.275762 0 0 0 0 0 -0.0038619 -0.04333 -0.000941939 0 0 0 0 -4.92063e-05 0 0.00338074 0 0 -0.00109552 -0.00117722 0.00107196 0 0.000179937 -0.0027376 0.014146 0 0 -0.0133785 -8.26018e-05 0 -0.00062707 0.0541914 0 0 -0.000612259 -0.0157326 0 -0.00545401 0 -0.00114748 0 0 -8.32072e-05 0 0 -0.00294419 -0.000701275 -0.015613 0 -0.0134243 -0.00771965 0 0 0.0258856 0 -0.00191976 -0.00519835 0.00136907 0 0 0.00223276 0.00162249 0 -0.00348446 -0.0185681 -0.00366761 -0.000911328 -0.00382794 0.00563561 0 -0.00221547 -0.000715419 0.00919934 0.00239667 0.00360807 0 0 0 0.00470953 0.012195 -0.0108826 0.000260722 -0.0002999 0.000360904 0.00138261 -0.00159037 0.00191387 -0.00173404 0 0 0 0 0 0 -0.134838 0 -0.0403002 0 0 0 0 0.284236 0.0358695 0 0 0.0103551 0 0.00465489 0 0.0190098 0 0 0.0273696 0 -0.604074 0.114651 0.0801517 -0.0328201 0 0 0.16657 0 1.15818 0 0.246029 -0.16296 0 0.881173 -0.44656 0.0088053 0 0.0304589 0 0 0.00828183 0 0.247984 0.177415 0 0 -0.0419063 0 0 -0.109367 1.10536 -0.40144 0 -0.221943 0 0.0645761 0.0335283 0.0944143 0.090115 -0.230628 -0.484399 0.0784556 0.114114 -0.466423 0.12992 0.106876 0 0 0 0.041963 -0.00176801 0 0 0 0 0.0188427 -5.8158 0.249971 -3.1413 0.331698 -0.423919 0.252538 0.128596 -0.101165 0.0512653 -0.693034 0 0 0 0 0 0 +237 0 1.48387 0.258084 0.00918448 0.103049 0.109263 0.26463 -0.38143 -1.19067 0.0692553 0.126673 -0.141836 0.414583 -0.000239471 0.486205 0.0103779 0.228506 -2.44252 0.0366985 0.0121157 2.08479 0.0224252 -0.209324 0.000309155 0.0687815 -0.538924 0.434064 0.0242945 -0.43503 0.199002 0.349984 0.00482062 0.160288 -0.588892 -0.000114264 -0.34669 -0.00865747 0.138999 -3.93582 -0.045642 1.61324 -0.00373404 0.200508 -0.00201991 0.315563 -0.053645 1.18368 -0.127863 0.18181 0.00476406 0.356814 -0.148792 -0.304992 -0.0207964 0.0190602 0.0843634 -0.750852 -0.1488 -0.1615 -0.0555418 0.00764796 -1.20343 -1.18817 -0.272147 0.874731 0.00170863 0.0816014 -0.122524 0.147415 -0.00834461 -0.315912 -0.0508911 -0.031988 -0.0863118 -0.468159 -0.00768525 -0.323124 6.70381 -1.80417 4.89677 -1.0337 0.610701 3.047 -0.499439 0.28153 -0.0981966 1.09783 0.00419672 0.00125213 0.0427234 0.0449506 -0.374728 0 0 0 0 0 0.00918448 0.103049 -0.0013697 0 0 0 0 -6.37771e-05 0 0.00134648 0 0 0.00104298 0.00168444 -0.00134249 0 4.2204e-05 0.00528473 -0.00954635 0 0 0.0459553 0.000118192 0 0.0018596 -0.125817 0 0 0.00333604 0.0252543 0 0.0208652 0 0.00343709 0 0 0.000292044 0 0 0.175427 -0.000908934 0.0148642 0 -0.0195206 0.0196926 0 0 0.0048552 0 -0.00279157 0.0228577 0.00410751 0 0 -0.00212568 0.00235931 0 -0.00443632 0.0816206 0.00385368 0.00119275 0.0218138 0.00398176 0 -0.018183 -0.00561973 -0.0276215 0.00382369 -0.0208998 0 0 0 -0.280613 0.00552701 -0.0180686 -0.0155349 0.0178693 -0.0215041 -0.0013163 0.00151409 -0.00182208 0.00117021 0 0 0 0 0 0 0.109263 0 0.26463 0 0 0 0 -0.563171 0.735187 0 0 0.189715 0 0.0211776 0 0.0336674 0 0 -0.211154 0 -0.706152 -0.120834 0.238127 -0.00578159 0 0 0.321283 0 1.10587 0 -5.95397 0.521623 0 -1.05329 -1.54944 0.0260438 0 -0.0663659 0 0 0.0787234 0 0.470085 -0.425674 0 0 -0.0324035 0 0 0.0382943 0.771187 0.544137 0 0.359281 0 1.02547 0.104816 -0.208099 0.197676 0.01404 -0.107997 -0.509033 0.0756935 -0.33001 -1.94735 -0.0250439 0 0 0 0.0548167 -0.0454459 0 0 0 0 -0.143757 30.269 -0.115827 5.86023 0.682928 -0.887385 3.16217 -0.0923065 0.121102 -0.24947 0.797555 0 0 0 0 0 0 +238 0 0.352038 0.12759 -0.0152213 -0.170781 0.363761 0.0344008 -0.0820148 -1.53163 -0.114776 -0.101041 0.0707886 -0.480027 0.00039687 -0.187873 0.00134276 -0.262562 0.977558 -0.0206074 0.00913709 1.08428 -0.0299251 -0.0245668 -0.000512357 -0.132696 -0.330814 -0.151145 -0.0291442 0.422083 1.18639 -0.359767 -0.00798913 0.104561 -0.406664 0.0295873 -0.0241834 0.00612015 -0.182914 -2.56382 -0.0448431 0.490012 0.00618835 -0.252021 -0.00268698 0.471078 0.0889048 0.0400923 0.668041 0.282015 0.00688827 0.474894 -0.0313576 2.74285 -0.0123914 0.0113569 -0.115492 -0.896791 0.095159 -0.120471 0.182404 -0.0126748 -0.550507 -1.15413 0.274614 0.0546877 -0.0132528 -0.503146 -0.0377347 -0.253144 0.0138294 0.565845 0.0793308 0.134763 0.209634 -1.02093 -0.594692 0.387677 10.3034 3.57235 2.38514 2.21985 -1.32803 2.65722 0.972523 -0.491949 -0.0363505 1.27768 -0.00695515 0.00263772 -0.130112 0.0540124 -2.23401 0 0 0 0 0 -0.0152213 -0.170781 -0.000880062 0 0 0 0 -5.20748e-05 0 0.00148488 0 0 -0.00309191 -0.00376479 0.00358924 0 0.000116193 -0.00795503 0.0430618 0 0 -0.0377224 -0.000264164 0 -0.00114863 0.211593 0 0 -0.00540861 -0.0337574 0 -0.012607 0 -0.00377102 0 0 -0.000477981 0 0 -0.183989 -0.000742156 -0.0440651 0 -0.0125424 -0.034349 0 0 0.0462545 0 -0.00179365 -0.0197561 0.000644798 0 0 0.00630159 0.00151591 0 -0.00220779 -0.129443 -0.0100616 -0.00130428 -0.0329375 0.00383772 0 0.0158363 0.00103691 0.0567226 -0.0117538 0.035385 0 0 0 0.294309 0.0169779 -0.00748253 0.0162931 -0.0187414 0.0225536 0.00390217 -0.00448853 0.00540157 -0.00527858 0 0 0 0 0 0 0.363761 0 0.0344008 0 0 0 0 -0.592917 1.10768 0 0 0.450782 0 0.0458521 0 0.057902 0 0 -0.0853096 0 -0.0958508 -0.222388 0.155483 -0.000798299 0 0 0.540327 0 1.42611 0 -2.98019 -0.536177 0 -1.73104 -0.851272 0.0165129 0 -0.079899 0 0 0.117651 0 -0.44789 0.34146 0 0 0.0740122 0 0 0.0139942 -1.08183 1.05079 0 0.684992 0 -0.179681 0.286783 -0.546524 0.0612203 0.0160709 -0.114815 -0.128197 0.132847 -0.343034 1.47133 0.0277941 0 0 0 0.0139337 -0.0713111 0 0 0 0 -0.177671 7.07204 -1.70113 5.68446 0.558158 -1.08611 2.88909 -0.0475635 0.131363 -0.403741 1.42314 0 0 0 0 0 0 +239 0 -0.133808 -0.116087 -0.00754952 0.00808323 -0.0650697 -0.263203 0.58374 1.77954 -0.00978332 0.0899961 0.112937 -0.0591964 0.000664105 -0.502437 0.00633432 0.420076 2.47584 -0.019797 0.0144817 1.08378 -0.0206978 0.122523 -0.000568331 0.00127011 0.505688 -0.00171192 -0.0438107 0.55673 0.868706 -0.259321 -0.00509176 0.101132 0.259674 -0.127989 0.265654 0.00905029 -0.292848 1.03956 -0.0521107 -0.216517 0.00840746 -0.980014 -0.00474498 0.387261 0.104581 -0.501099 0.534712 0.136551 0.0200219 -1.63193 0.268273 -3.49663 -0.0122771 0.034918 -0.142007 -1.69761 -0.399678 -0.157857 0.00794064 -0.018373 0.032089 -0.152892 1.23569 -0.619719 0.253636 -0.702847 -0.128138 -0.312242 0.00224054 0.2606 0.197587 0.0586968 0.394042 0.940837 -0.237272 0.26985 2.76511 1.94636 -3.78998 1.75439 -1.50101 -1.05115 0.335683 -0.225796 0.00493578 -2.15918 -0.00994962 0.0117886 -0.151081 0.132022 -1.82341 0 0 0 0 0 -0.00754952 0.00808323 0.000849355 0 0 0 0 0.000133514 0 -0.0022664 0 0 -0.00125695 -0.0017266 0.000925313 0 -0.000223128 -0.00358846 0.00566571 0 0 0.0236871 -0.000121151 0 -0.00451208 0.546473 0 0 0.00535694 0.0293823 0 -0.041131 0 -0.00124357 0 0 0.000126667 0 0 -0.284909 0.00190281 -0.0179072 0 0.0121053 -0.0187391 0 0 -0.00503228 0 0.00175836 -0.0418824 -0.00299203 0 0 0.00257319 -0.00143875 0 0.00235314 -0.0932272 -0.0046858 -0.101171 -0.0192823 0.0184574 0 0.0143643 -0.0142207 -0.016799 -4.13385e-05 0.029916 0 0 0 0.49636 4.92971e-05 0.0379271 0.0127127 -0.0146104 0.0768233 0.00158795 -0.00182597 0.0021943 0.00104635 0 0 0 0 0 0 -0.0650697 0 -0.263203 0 0 0 0 0.359998 -0.549821 0 0 -0.123174 0 -0.0106235 0 -0.00403482 0 0 0.0947855 0 0.260759 0.120655 -0.0733063 0.0044876 0 0 -0.0341526 0 -3.70166 0 1.6403 -0.909806 0 0.923133 0.654195 -0.00801834 0 0.0566415 0 0 -0.0615751 0 -1.41527 -0.142341 0 0 -0.0237004 0 0 0.0482766 0.517535 -0.166195 0 -0.0321262 0 -0.323169 -0.0634595 0.107586 -0.00190247 -0.167096 -0.157681 0.300738 0.0522622 -0.128507 -0.758147 0.0623141 0 0 0 -0.106878 0.017997 0 0 0 0 0.114239 -4.85532 0.972373 -3.38477 -0.222298 0.439867 -1.45801 0.0972076 -0.0996721 0.166184 -0.69155 0 0 0 0 0 0 +240 0 0.783754 -0.0866499 0.00635965 0.0693803 -0.0208534 -0.0955821 0.71797 -0.0737964 0.0810279 0.112111 0.0668533 1.07097 -0.000199469 2.92698 -0.0124528 -0.181259 1.52439 0.0487491 -0.0310793 4.49668 0.014355 0.320674 0.000403555 0.0342729 0.334564 -0.309542 0.00314762 0.438634 0.464347 0.511313 0.00579357 -0.2209 0.0814308 0.0197602 0.335356 0.00478006 -0.0566954 -3.23261 0.126763 1.43074 -0.00184574 -0.107685 0.0106211 5.22159 -0.0139193 0.215814 0.515468 -0.481894 -0.0225984 0.0900417 0.105374 -2.49017 0.0685625 -0.0279849 0.0639222 -3.22051 0.181737 -0.115532 -0.0628096 0.00395307 -0.334552 -2.51453 0.648797 -0.126674 0.338237 -1.14736 -0.631166 -0.205787 -0.0154766 -0.144307 -0.0803686 0.0524829 0.133312 -4.3139 -0.420377 0.442266 10.5265 -0.0611661 2.58814 0.136891 -0.729082 3.69847 -0.0707731 0.101041 -0.193077 0.212486 0.00132425 -0.00726904 -0.00748022 -0.0917012 -0.974663 0 0 0 0 0 0.00635965 0.0693803 -0.00194046 0 0 0 0 -0.00016415 0 0.0054209 0 0 -0.00099164 -0.000649392 0.00134251 0 0.00039078 0.00466892 0.0270484 0 0 -0.0248607 -4.5564e-05 0 0.00262683 0.149971 0 0 -0.00883388 0.0325273 0 0.020865 0 -0.0015875 0 0 -0.00057812 0 0 0.145375 -0.00233943 -0.0141589 0 -0.0276569 0.00331433 0 0 0.0490801 0 -0.00406191 0.0102368 0.00423274 0 0 0.00197701 0.00324458 0 -0.0101963 -0.0116688 -0.00230878 -0.0865313 -9.39643e-05 0.0146481 0 -0.0105625 -0.00764687 0.0146129 -0.00614991 0.0029257 0 0 0 -0.234266 0.0262633 -0.0443962 -0.0132437 0.0151822 -0.0171476 0.00124551 -0.00143494 0.00173867 -0.00488114 0 0 0 0 0 0 -0.0208534 0 -0.0955821 0 0 0 0 0.0674369 -0.139173 0 0 -0.326263 0 -0.0279211 0 -0.0195355 0 0 0.263621 0 0.680911 -0.021476 -0.189856 0.0611126 0 0 -0.181463 0 2.90175 0 -3.3937 0.425345 0 -0.20941 -0.155259 -0.0186471 0 0.0179367 0 0 -0.0106657 0 1.04723 0.245472 0 0 0.0824141 0 0 -0.0453131 2.35859 0.0513378 0 -1.09821 0 0.77546 -0.109325 0.067234 -0.749637 0.27897 1.31991 -0.0487238 -0.272074 0.572918 -2.81224 -0.0878032 0 0 0 -0.065954 0.0393406 0 0 0 0 0.0127193 26.0642 1.12413 4.59663 0.441333 -0.443881 2.09046 0.0363564 -0.113813 0.303735 0.0784387 0 0 0 0 0 0 +241 0 0.774903 0.190165 -0.0215843 -0.137183 0.283732 0.00951263 0.0127536 -1.23833 -0.183064 -0.169036 0.017326 -0.468779 0.00112244 -0.99348 0.0247674 0.307148 2.56526 -0.0727273 0.0588716 -3.64266 -0.0498463 -0.129036 -0.00146284 -0.091792 -0.11788 0.0450799 -0.0684416 0.242238 1.44972 -0.477173 -0.0177376 0.381753 -0.860656 -0.143555 0.0690274 0.00358991 -0.322937 -5.62617 -0.206855 -2.0114 0.0126699 -0.781807 -0.019203 0.25088 0.136937 -0.959952 0.584203 0.729935 0.0503591 1.44806 -0.0801831 -2.86716 -0.118681 0.0806265 -0.297971 -3.21825 0.153209 0.178764 0.121276 -0.0273543 -0.695835 1.34704 0.437882 1.07416 -0.0567436 -0.191313 -0.329791 -0.360291 0.0353757 0.0958837 0.0084694 0.153458 0.263517 -0.521333 -0.0266555 0.0816851 25.9581 4.36296 6.61034 3.45191 -2.47534 7.42272 0.755444 -0.435465 0.145813 1.60286 -0.0130279 0.0220299 -0.212677 0.346148 -3.04296 0 0 0 0 0 -0.0215843 -0.137183 0.00279608 0 0 0 0 0.000342707 0 -0.00779996 0 0 -0.00148054 -0.00252379 0.00171938 0 -0.000834308 -0.00926541 0.0196162 0 0 -0.00428342 -0.000177089 0 -0.0060395 0.335893 0 0 -0.000438676 0.000579471 0 -0.0566052 0 -0.00214554 0 0 2.00199e-05 0 0 -0.480762 0.00488417 -0.0210708 0 0.0398517 -0.0368946 0 0 -0.0435266 0 0.00582158 -0.0690228 -0.007455 0 0 0.00306601 -0.00470536 0 0.0122179 -0.156592 -0.00569549 -0.0929183 -0.0393583 -0.000207023 0 0.0370308 -0.00240185 -0.00869187 -0.0124314 0.0495896 0 0 0 0.799809 -0.0212826 0.0544471 0.0339262 -0.0389671 0.0884046 0.00187507 -0.00215433 0.00257954 -0.00425964 0 0 0 0 0 0 0.283732 0 0.00951263 0 0 0 0 -0.782562 0.509951 0 0 0.416893 0 0.0373359 0 0.0368988 0 0 -0.0251393 0 -0.352178 -0.223735 0.209012 -0.0182943 0 0 0.337787 0 1.21286 0 -5.11483 -0.325469 0 -1.90172 -1.34716 0.0212008 0 -0.088929 0 0 0.0545497 0 -0.133357 0.339396 0 0 0.0145696 0 0 0.131797 0.815375 0.339184 0 0.26931 0 0.636936 0.159456 -0.305471 0.309985 -0.0010622 -0.356777 -0.383466 0.149983 -0.346139 -0.508635 -0.0456638 0 0 0 -0.025346 -0.0581583 0 0 0 0 -0.0754689 22.7433 -0.708775 7.11746 0.60419 -0.850509 3.30217 -0.0545749 0.16325 -0.44977 1.58308 0 0 0 0 0 0 +242 0 0 0 0 0 0.262311 0.20631 -1.29895 -2.9213 0 0 -0.497776 0.314566 0 -0.0466449 -0.0754477 0 0 0 -0.261988 -5.99925 0 0 0 0 -0.419328 0 0 -0.363108 -0.584199 0.0454593 0 0.18068 0 0 -0.258768 -0.0888048 0 0 -1.64387 -2.47734 0 0 -0.431358 1.51828 0 -0.695152 -0.28355 0.631231 0.828144 0.00609121 -0.239681 0 -0.229134 -0.34958 0.0507824 -0.0251059 -0.544583 -0.934879 0 0 0.26062 7.9951 0 -0.443149 0.0237531 0.495396 0 0 0 0 0.105696 -1.40896 0 1.46027 -0.481828 0 0 0 2.81493 0 1.09779 2.65793 0 0.789654 -0.169316 2.85092 0 1.98891 -1.24581 1.97204 0.791505 0 0 0 0.169497 0.0543416 0 0 0 0.0498633 0.0327633 0 0.00621177 0 -0.00551281 -0.0334869 0 0 0 0 0.0215239 0 -0.00881241 0 -0.0888666 0 0.362978 0.0182618 0 -0.000204048 0 0 0.0204172 -0.00161478 -0.0209261 0 0.00122385 0 0.00176053 -0.0970166 0.000156908 -0.0275906 -0.0231696 0 -0.000309402 0 0 0 5.19386e-05 0 0 0.00205817 -0.00153677 -0.291763 0.0297683 0 0 0.0236788 0 -0.00763551 0 0 0.000996372 -0.0198602 0.337737 0.00218198 0 0 0.00806796 -0.0532253 -0.0504189 0.0364236 0.0741999 0 0.23147 0.00329866 0.0669128 0 0 0 0.398531 0 0.0905882 -0.220298 0 0.00780396 -0.0240926 -0.0146448 0 0.000901246 -0.00265332 0.00102563 0.0226095 0 0.262311 0.169497 0.20631 0.0543416 0.111538 -0.0728698 0.331967 -0.656866 2.23417 -0.0714175 0.0440212 0.827655 -0.0123621 0.0983595 0.0611294 0.125777 0.024676 -0.369014 -1.0013 -0.229833 0.144038 -0.338091 0.602815 -0.153851 0.407601 0.0247484 1.08424 -0.0315547 0.301958 0.138128 2.30108 0.0939635 0.0096802 -1.38757 1.03525 0.0781382 -0.000408473 -0.140107 -0.0497479 -0.484729 0.25169 0.0207357 -0.0369093 -0.836911 0.00274379 0.0479476 -0.216754 -0.109187 0.108583 0.701086 -0.33218 1.44229 -0.228856 -1.87718 -0.0258698 -1.21282 0.718964 -1.19151 0.42394 0.43016 -0.572431 0.249806 0.0748924 0.230922 1.25277 -0.239784 -0.179336 -0.109253 0.334419 -1.11446 -0.192733 -0.127125 0.162663 0.068482 -0.103518 0.11382 -7.85382 -1.57926 0.972184 -0.786168 0.163663 1.9151 -0.482525 0.15212 0.328219 0.451439 0.454128 -0.33673 0.586981 -0.330431 0.492042 0 +243 0 0 0 0 0 -0.411696 0.00318343 0.462923 1.84755 0 0 0.256792 -0.201655 0 -0.307815 -0.0207396 0 0 0 -0.157903 1.77491 0 0 0 0 -0.0150842 0 0 -0.500461 -2.22846 0.149397 0 -0.62066 0 0 -0.0786681 0.0254225 0 0 0.975953 0.297735 0 0 0.146571 -1.49197 0 0.11894 -0.875643 -1.5774 -0.360107 0.172004 -0.437739 0 0.288629 -0.196414 0.298992 3.1674 0.452318 1.04949 0 0 -0.402983 -1.95581 0 0.710237 -0.246405 0.842871 0 0 0 0 -0.191997 -0.0577512 0 2.56478 0.981481 0 0 0 -2.90205 0 -0.813551 1.60151 0 -0.24021 0.839083 -2.06012 0 -0.513168 0.736544 -1.85519 5.66604 0 0 0 -0.143789 -0.0293294 0 0 0 -0.0434155 -3.31157e-07 0 -0.0042972 0 0.0011858 -0.0103149 0 0 0 0 -0.00768867 0 -0.00838811 0 0.028226 0 -0.361125 -0.176117 0 0.000313891 0 0 -0.032875 0.00109597 -0.0202039 0 -0.00259921 0 -0.000130934 -0.0972016 -0.00115706 0.0183788 -0.0164857 0 9.66411e-05 0 0 0 -0.00014156 0 0 -0.00484852 -0.0042787 -0.328108 -0.0196995 0 0 -0.0124561 0 -0.003563 0 0 -0.0149465 -0.0437635 -0.0931508 -0.0222165 0 0 0.0511215 0.0509875 0.0244248 0.0251891 -0.255117 0 -0.027634 0.00802822 0.248385 0 0 0 -0.818093 0 -0.10827 -0.159976 0 -0.0107105 -0.022772 0.0065818 0 -0.00108922 -0.00238491 -0.0033638 0.0608159 0 -0.411696 -0.143789 0.00318343 -0.0293294 0.297256 0.0139357 -0.0877173 0.695287 -1.31166 0.0322792 0.0125058 -0.216164 0.00478738 -0.0235575 -0.0149005 -0.0813621 -0.0119367 0.202164 0.280029 0.424951 -0.196247 0.226757 -0.481926 0.0567421 -0.150275 -0.00493558 -0.8968 -0.00217011 0.0599686 0.241705 -1.63141 1.0463 -0.00184427 1.57594 -0.967003 -0.0638539 0.00506741 0.10591 0.0481691 -0.203799 -0.136307 0.00124595 0.861182 0.115566 0.00250074 0.022908 0.0462669 0.00489268 0.0367185 -0.479302 -0.26125 0.233527 0.119916 2.68826 -0.0266196 1.15927 -0.655833 0.551008 -0.378729 -0.0477971 0.307426 -0.204694 0.0128078 -0.01975 1.68068 -0.0176996 -0.297262 0.0400366 0.0884603 0.478343 0.0997755 -0.0349068 -0.0587898 0.0921132 -0.0194988 0.411132 5.56817 0.487171 -2.63637 0.658843 -1.09431 0.680295 0.118355 -0.149595 0.159743 -0.782469 -0.248794 -0.00915267 0.0882107 -0.303557 0.378754 0 +244 0 0 0 0 0 -0.13717 -0.288516 0.805232 1.59058 0 0 -0.568004 -0.301691 0 0.176552 -0.100099 0 0 0 0.0757324 1.55788 0 0 0 0 0.494818 0 0 1.15518 6.25341 -0.413372 0 -0.0487461 0 0 0.36106 -0.102751 0 0 -1.99267 1.04982 0 0 -0.486854 1.12255 0 -0.22972 2.36471 1.7971 0.901276 -2.1881 0.648092 0 -0.0252895 0.00449571 -0.0971391 -0.0609441 -0.693334 -0.375259 0 0 -0.856283 -0.482669 0 0.13148 0.965241 -0.892001 0 0 0 0 0.167495 -1.45705 0 -0.168528 -0.223633 0 0 0 -2.0821 0 2.39043 -7.69434 0 0.714953 -0.306771 -4.75845 0 1.27585 -1.4384 4.00775 -13.8606 0 0 0 0.210959 0.0881666 0 0 0 -0.0371793 0.0644068 0 -0.00204045 0 -0.00786112 -0.0544598 0 0 0 0 -0.000631518 0 -0.0176256 0 -0.207059 0 -0.489898 -0.237529 0 -0.0053295 0 0 -0.33889 -0.00197423 -0.0470264 0 0.00549934 0 0.00311013 -0.0448205 -0.0438622 -0.0330412 -0.0196261 0 -0.00046055 0 0 0 0.000254946 0 0 0.00707674 -0.00035538 0.0779126 0.034257 0 0 -0.00968473 0 -0.00952357 0 0 0.0393485 0.0024004 -0.0514069 0.0149247 0 0 -0.108794 -0.0999027 0.0296882 -0.125137 0.240396 0 0.0775499 -0.0144675 -0.0827075 0 0 0 1.65012 0 0.162922 0.577331 0 0.0153923 0.0304349 0.0464336 0 0.00155185 0.00350247 0.00529573 0.173835 0 -0.13717 0.210959 -0.288516 0.0881666 -0.522286 -0.157105 0.237092 0.237288 -0.167713 -0.140087 0.111841 -0.241457 -0.0219552 -0.0343712 0.0774325 -0.0333071 0.0506179 -0.850787 1.54255 -1.65368 0.00600293 0.219625 0.149298 0.270707 0.85477 0.208266 -0.336548 -0.0132907 0.475903 0.0833994 0.0665042 -0.762812 0.0145584 1.15906 0.199331 0.0288734 0.00251979 0.0650433 -0.000977509 1.4019 -0.0060604 0.0287351 -0.319649 1.88424 0.00779323 0.0298586 0.390522 -0.171557 0.14384 1.30561 -0.241288 0.202044 -0.217127 0.415008 -0.00926655 0.437399 0.178532 -0.0412085 -0.126357 -0.385084 -0.883754 -0.227543 0.221631 0.30824 -2.13312 -0.0899018 0.323195 -0.164568 -0.221785 -0.163669 0.129904 -0.0823686 0.313393 0.104248 0.0656536 -0.0592296 -0.226986 0.407239 -1.33539 1.41099 0.246845 -2.67434 0.210256 0.0578537 0.00148754 -1.07296 1.04702 -0.407965 -0.118187 0.3793 -1.35159 0 +245 0 0.636154 0.394873 0.0112907 0.108764 0.125808 0.09183 0.164964 -0.914224 0.225679 -0.449071 -0.0604012 -0.432218 -0.000193989 -0.00468364 0.00093279 0.527215 3.1077 -0.0197721 -0.00885291 3.25527 0.00431254 -0.372816 0.00105002 -0.0859486 -0.363104 0.223595 0.00782578 0.106923 0.740306 -0.127431 0.0158673 -0.0212136 -1.20013 0.090731 -0.0894485 -0.00867639 -0.0456524 -5.74035 -0.0154851 1.56401 -0.00309288 0.236809 -0.00822794 -0.0960349 -0.0383226 0.610971 0.397438 -0.145056 0.0588932 0.290926 -0.287513 -2.48472 0.0028086 -0.00544418 -0.0333917 1.45244 -0.65054 -0.00223301 0.223781 0.0141936 -1.02887 -1.92497 -0.508164 0.625819 0.160434 -0.831035 -0.422504 -0.208766 -0.0464192 -0.54084 -0.382838 -0.0780318 -0.0738057 1.03244 -0.0958367 -1.8016 16.6316 1.45202 5.29274 1.66249 -1.23529 4.87769 0.469447 -0.270649 0.210798 0.907128 0.00508232 0.00125539 -0.0205871 0.00710148 -1.1012 0 0 0 0 0 0.0112907 0.108764 -0.000338428 0 0 0 0 -5.29074e-05 0 -0.00522517 0 0 -0.000785732 -0.00117272 -0.00414483 0 -0.000590281 0.00249195 -0.0369971 0 0 0.171086 -6.74642e-05 0 0.00102493 0.290435 0 0 0.0150241 0.0278572 0 0.0142418 0 0.012528 0 0 0.000926846 0 0 -0.109116 -0.00100041 -0.0138505 0 -0.00624416 0.0056449 0 0 0.0425695 0 -0.00106886 0.073064 -0.00225538 0 0 0.00138923 -7.5834e-05 0 0.00127633 0.0103199 0.00788394 0.2247 -0.00309058 -0.0194107 0 -0.00413245 -0.0384756 0.157281 -0.0439827 -0.0413852 0 0 0 1.352 0.124668 0.0689567 0.00700619 0.00612058 0.00526704 0.000527816 0.00045799 0.00125063 0.0195032 0 0 0 0 0 0 0.125808 0 0.09183 0 0 0 0 -0.0591604 -0.962753 0 0 -0.275434 0 -0.0234362 0 -0.0793945 0 0 0.723156 0 -0.719625 -0.00941339 -0.205919 0.0629473 0 0 -0.655313 0 3.12762 0 -3.63825 -0.434151 0 -0.444271 -1.5606 -0.0214802 0 0.0141117 0 0 -0.117174 0 -0.19148 1.77734 0 0 0.159218 0 0 -0.172661 0.437899 0.121999 0 -0.103721 0 1.51525 -0.44189 0.203913 -0.649009 0.268948 1.1235 -1.26215 -0.173576 -1.10989 -6.16974 -0.188912 0 0 0 0.158191 0.108474 0 0 0 0 -0.033984 9.09966 -1.45138 4.79737 1.19126 -0.877615 1.44314 0.101004 -0.0729971 0.0213039 0.305498 0 0 0 0 0 0 +246 0 -0.558079 0.154859 -0.0225588 -0.110603 0.140259 0.139735 -0.757432 -1.86541 -0.27941 0.753924 -0.164012 -0.724701 0.000530589 -0.465626 -0.00502438 0.161133 0.241345 0.173562 0.0110052 1.67124 0.013444 -0.336408 -0.00190727 0.0958308 -0.557353 0.353988 0.0435844 -0.0276715 0.59439 -0.158362 -0.0244889 0.0750081 -0.47267 0.287493 -0.279464 -0.0164722 0.143603 0.146945 -0.255321 1.01777 0.00574283 0.582013 -0.0262355 -0.78856 0.0685352 0.605118 0.199256 0.310022 -0.0188593 0.148915 0.00157918 2.9847 -0.114974 0.0240387 0.0926268 2.12038 0.710134 -0.120622 -0.177611 0.00887146 1.22498 -0.0216562 1.2591 -0.193905 -0.152434 0.249031 0.127199 0.139575 0.0926927 -0.386424 0.311962 0.011396 -0.225736 -0.465824 0.0269427 0.32799 -2.45821 -0.660176 1.29365 0.86698 -0.174265 -0.775061 -0.0247028 0.135417 -0.912951 1.93495 -0.00908911 0.0165215 -0.0903869 0.18635 -0.884154 0 0 0 0 0 -0.0225588 -0.110603 0.00142368 0 0 0 0 0.000133909 0 -0.0203617 0 0 -2.08661e-05 -0.000478098 -0.0100165 0 -0.00213955 -0.0107516 -0.0892311 0 0 -0.221888 -1.78807e-05 0 -0.00268599 -0.471174 0 0 -0.0337804 -0.1085 0 -0.0625712 0 -0.025514 0 0 -0.00390407 0 0 -0.32542 0.00269238 -0.00122657 0 0.0292163 -0.00169243 0 0 0.140033 0 -0.00182753 0.0486584 -0.00120801 0 0 -0.000984061 -0.00554176 0 0.00370013 0.0362434 -0.00307152 -0.285279 -0.0219391 0.0089122 0 0.00103096 -0.00819136 -0.0411362 0.0284001 -0.0658328 0 0 0 0.254098 -0.0378926 0.0185407 -0.00261929 -0.00241055 0.0516589 -0.000136154 -0.000129013 0.000295899 0.034408 0 0 0 0 0 0 0.140259 0 0.139735 0 0 0 0 -0.315531 0.66586 0 0 0.745942 0 0.0869498 0 0.0599327 0 0 0.201757 0 -0.31136 -0.0284166 0.435587 0.0409655 0 0 0.545514 0 2.71992 0 2.83281 -0.113356 0 -0.534406 0.456256 0.0505747 0 -0.0283255 0 0 0.075301 0 0.437782 1.07861 0 0 0.143229 0 0 -0.0232757 2.0844 0.36558 0 -0.41593 0 0.339338 0.559651 -0.461545 0.242514 0.11039 0.279942 -0.0428035 0.133917 1.25436 6.60112 -0.00294596 0 0 0 0.349811 -0.161286 0 0 0 0 -0.423938 -10.2455 -2.55385 1.27462 -0.931379 0.543394 -0.804429 -0.369591 0.273883 -0.295996 0.27293 0 0 0 0 0 0 +247 0 -0.176802 0.160631 0.00932301 0.0956879 0.0423946 0.258876 -0.259741 0.0660077 0.166942 -0.743034 -0.322848 0.682574 -0.000676409 0.635868 0.00901045 0.461574 -0.371561 -0.216477 -0.0055415 -0.628137 -0.0395194 -0.12193 0.000432178 -0.152902 -0.157739 0.431341 -0.0714801 -0.62815 0.0520276 0.367437 0.0100683 0.211781 0.00651057 -0.468229 -0.287424 -0.0344667 -0.332714 0.266562 -0.352751 0.0397541 -0.0124073 -1.46519 -0.0437258 2.0701 -0.180784 0.589797 -0.425559 -0.0354107 0.16206 -0.709673 -0.197986 3.96116 -0.0187354 -0.0313088 -0.00760937 0.944426 0.0918235 0.107853 0.338046 0.0369836 -0.136177 -0.0527275 -0.0886863 -1.00358 0.455141 0.32104 0.795479 -0.430256 -0.0580029 0.591176 -0.129175 -0.0707698 0.547891 -0.180293 0.346847 0.466006 -0.879122 1.31444 -1.4959 0.717529 -0.428472 0.83406 0.118992 -0.127194 0.725233 -0.293392 0.0239756 0.0244691 0.131008 0.262048 -0.0773909 0 0 0 0 0 0.00932301 0.0956879 -0.000773276 0 0 0 0 -0.000134876 0 -0.0226195 0 0 -0.00127965 -0.00175392 -0.0192743 0 -0.00285698 0.00148363 -0.161892 0 0 0.00504858 -0.000109557 0 0.00538798 -0.343488 0 0 -0.0144074 -0.011271 0 0.0140762 0 0.00155249 0 0 -0.00184545 0 0 -0.398061 -0.00254043 -0.0210586 0 -0.013982 0.0213986 0 0 -0.0287966 0 -0.00108232 0.0749507 -0.00296577 0 0 0.00395953 0.00155939 0 -0.00627869 -0.019443 0.0137095 0.102119 -0.00521142 -0.0159064 0 0.0011335 -0.0369664 0.0390204 -0.0225386 -0.114431 0 0 0 4.24359 0.321843 0.57098 0.0208569 0.0188151 0.141193 0.00110131 0.000973377 0.001599 0.0578958 0 0 0 0 0 0 0.0423946 0 0.258876 0 0 0 0 -0.142781 0.117791 0 0 0.079333 0 0.0128931 0 0.0287369 0 0 -0.443732 0 -0.308379 -0.0159709 0.246688 -0.0519576 0 0 0.25224 0 0.531097 0 -0.0172324 0.868276 0 0.0697056 -0.29164 0.0350181 0 -0.0303011 0 0 0.00941056 0 1.02131 -0.213679 0 0 -0.0291918 0 0 0.0719394 -0.0375027 -0.0615039 0 0.863754 0 0.0939685 -0.175086 0.0663164 0.362138 -0.0500075 -0.341401 -0.233573 0.0389095 0.180846 5.55791 0.0419438 0 0 0 -0.0571154 -0.00720189 0 0 0 0 0.0978732 2.02181 -0.111677 0.403621 0.147759 -0.138572 0.181563 0.0147148 -0.0140286 -0.0259355 -0.0137661 0 0 0 0 0 0 +248 0 0.371147 -0.0348113 0.0345919 0.0743965 -0.00410588 -0.201113 0.800267 0.381708 0.155892 -0.400781 0.174049 -0.164083 -0.00858438 -1.20405 -0.00273901 -0.169069 1.70253 -0.114442 -0.0150619 -0.962468 -0.0319199 0.207286 0.00937802 -0.18514 0.368521 -0.28879 -0.0158281 0.423394 -0.432494 -0.275481 0.0472117 -0.0157537 0.0421726 -0.0738309 0.351208 0.0243948 0.0253715 -1.61254 0.559744 -0.712345 -0.0513206 0.319159 0.090549 -1.71764 -0.292372 -0.576385 0.26128 0.0514373 -0.292776 -0.594568 -0.110709 -2.39919 -0.118097 -0.0199307 0.114465 -0.566136 -0.0388334 0.607782 0.227704 0.114617 -0.384295 -0.781736 -0.226601 0.381823 -0.00118048 -0.555693 -0.172418 0.190193 -0.0636244 0.0335598 -0.273872 0.469296 -0.430157 1.10655 -0.65152 -0.423532 -0.823371 0.161219 1.32855 -0.17431 0.248629 0.782709 0.469632 -0.0425291 0.002691 -0.164509 0.262564 -0.383831 0.510982 -0.802468 0.937205 0 0 0 0 0 0.0345919 0.0743965 -0.000514516 0 0 0 0 -0.000293898 0 0.0094172 0 0 -5.04248e-05 -0.00073917 0.00931316 0 0.00164299 -0.0706923 0.0550725 0 0 0.130806 -4.10757e-05 0 0.0143128 -0.42642 0 0 0.0128056 -0.213657 0 0.116413 0 0.0309943 0 0 0.00310626 0 0 0.320937 -0.00551851 -0.00057297 0 -0.00931763 -0.00863177 0 0 0.213713 0 -0.0025478 0.152802 -0.0026005 0 0 -0.000421575 -0.000504861 0 0.0134462 -0.00291708 0.00600997 -0.273588 -0.00449905 0.00139024 0 -0.00353903 -0.00214435 0.215917 -0.0798916 0.0115235 0 0 0 -2.91472 -0.14401 -0.42742 -0.0135572 -0.0119944 -0.0145771 -0.000124339 -0.000116579 0.000199709 -0.00142033 0 0 0 0 0 0 -0.00410588 0 -0.201113 0 0 0 0 0.132148 -0.0979574 0 0 -0.437876 0 -0.0403256 0 0.000173456 0 0 0.269289 0 0.0305096 0.0227765 -0.301009 0.0497105 0 0 -0.0676763 0 2.90905 0 -2.1521 0.0477266 0 0.0282387 -0.802958 -0.0316289 0 0.0160392 0 0 0.00351902 0 0.509146 0.488542 0 0 0.0873681 0 0 -0.585405 -1.51269 0.166812 0 -0.33772 0 1.06792 -0.115489 -0.00489567 -0.252166 0.14532 0.356035 -1.02749 -0.0902096 -0.452353 -5.43739 -0.133261 0 0 0 0.393048 0.102062 0 0 0 0 -0.295015 -2.24675 -1.3631 2.43615 0.313067 -0.416505 0.811976 0.170139 -0.140627 0.122589 0.0358332 0 0 0 0 0 0 +249 0 -0.530754 -0.376752 -0.0196158 -0.141726 0.0215072 -0.237541 0.362656 0.887791 0.08604 0.451304 -0.0146735 0.68088 0.00422473 0.484387 0.0181065 -0.0823301 0.879231 -0.0762363 0.00856398 -1.02384 -0.00917014 0.45603 -0.000635581 0.0789324 0.714156 -0.280302 -0.025916 0.556437 0.272131 -0.0590085 0.00284526 0.193941 0.952311 -0.377402 0.408358 -0.010199 0.0434473 3.78808 -0.221847 -0.895996 0.0371987 -1.00384 -0.0316591 2.49483 0.335089 -0.677807 0.424125 0.114363 0.132321 -0.860853 0.0266443 6.23145 0.0949386 0.14594 -0.167951 0.0875932 0.0632625 -0.587655 -0.194351 -0.0949328 2.10461 1.86018 1.24953 -0.129979 0.272294 0.839554 -0.103748 -0.130753 -0.0937059 -0.0248588 -0.0831959 -0.167872 0.0348029 -0.127934 -0.00439845 1.27612 -9.88533 0.174818 -4.73361 -0.944358 1.01891 -4.05189 -0.293444 0.155428 -0.276568 -1.00527 -0.300926 0.251465 -0.48526 0.36369 -0.589704 0 0 0 0 0 -0.0196158 -0.141726 -0.00184974 0 0 0 0 -0.000279222 0 0.00156506 0 0 0.00232477 0.00579393 0.00659196 0 0.00102101 0.00968654 0.0234802 0 0 -0.128768 0.000326235 0 0.0139978 -0.12282 0 0 -0.0150855 0.00377046 0 0.041996 0 -0.0140405 0 0 -0.00150676 0 0 0.327615 -0.00546666 0.0405836 0 -0.0361741 -0.0440591 0 0 0.213984 0 -0.00230676 -0.250147 0.00198975 0 0 -0.00545085 0.00414701 0 0.0116693 0.0469105 -0.0172777 -1.03806 -0.0369462 0.0427675 0 -0.00799436 0.00806976 -0.160378 0.0373218 0.0426602 0 0 0 -6.0757 -0.516065 -0.582957 -0.0327688 -0.0291468 -0.0080004 -0.00184034 -0.00161434 -0.00336709 0.00281779 0 0 0 0 0 0 0.0215072 0 -0.237541 0 0 0 0 0.0770314 -0.0440698 0 0 0.260776 0 0.0338005 0 0.0222815 0 0 -0.382138 0 0.68272 0.0416965 0.128691 -0.0610036 0 0 0.257224 0 -2.53162 0 4.13251 -0.591545 0 0.350156 1.4922 0.0166288 0 -0.00535265 0 0 -0.0159366 0 -0.980187 -0.445438 0 0 -0.0774026 0 0 0.19899 1.96276 -0.156011 0 -0.248605 0 0.118082 0.030266 0.0190293 0.63584 -0.0649776 -0.571589 0.310298 0.204934 0.734202 5.78698 0.0340508 0 0 0 -0.298868 -0.0954391 0 0 0 0 0.263024 -12.5716 -0.839605 -1.60426 -1.46405 1.05611 -1.4993 -0.168113 0.140251 -0.129643 -0.0881734 0 0 0 0 0 0 +250 0 -0.596487 -0.263589 0.0874824 0.249556 -0.278107 -0.0908482 0.265473 2.47281 0.421479 -1.6274 0.363651 0.333679 -0.0206767 -0.210921 -0.0423608 0.24016 1.06361 -0.225681 -0.107502 -3.07423 -0.0357741 0.430051 0.0213243 -0.376117 0.582311 -0.227861 -0.0138971 -0.348464 -2.15726 0.241799 0.109809 -0.22109 1.26303 0.343056 0.148835 0.0626191 -0.0509001 5.33093 1.05501 -1.10512 -0.12787 1.43106 0.185472 -1.5516 -0.766136 -0.279584 -0.895421 -0.37298 -0.541937 0.450662 -0.372471 3.33962 0.337562 -0.399298 0.317128 1.62341 0.140564 -0.118907 0.495022 0.301609 0.96153 1.83403 -0.324027 -0.68891 -0.363467 1.08694 0.104653 -0.0864803 -0.141555 0.758911 -0.426902 0.55995 -0.0515396 1.57107 0.0728253 -0.658414 -16.7434 2.14328 -8.35952 -0.695664 0.326008 -3.01608 0.824962 -0.60332 1.31467 -1.48584 0.688026 -0.820913 1.79876 -2.1207 4.67475 0 0 0 0 0 0.0874824 0.249556 0.000754205 0 0 0 0 -0.000443355 0 -0.00439708 0 0 -0.0010461 -0.00432641 0.00130047 0 0.000421032 -0.0733665 -0.0465079 0 0 -0.046019 -0.000245844 0 -0.0271527 -0.415245 0 0 -0.00894446 -0.146905 0 0.0255395 0 0.0328835 0 0 0.00299543 0 0 0.0573813 -0.00807458 -0.016439 0 0.0179682 -0.0102491 0 0 0.0324931 0 -0.00438906 -0.193071 -0.00431855 0 0 0.00266507 -0.00555444 0 -0.00190819 0.055099 0.0140372 0.627979 -0.0475693 -0.0291876 0 0.00458101 -0.0102372 0.209834 0.00640662 -0.10541 0 0 0 2.24073 0.215255 0.294551 0.0141349 0.0128946 0.0176779 0.000676085 0.000589593 0.00143412 0.0146135 0 0 0 0 0 0 -0.278107 0 -0.0908482 0 0 0 0 0.520753 0.870905 0 0 -1.04187 0 -0.139335 0 0.0353924 0 0 -0.836614 0 0.674254 0.18625 -0.45787 -0.0984772 0 0 0.270461 0 -2.0742 0 3.1911 0.574893 0 1.40688 1.33337 -0.0623338 0 0.0704105 0 0 0.10491 0 0.260569 -2.13763 0 0 -0.246921 0 0 0.0529088 -1.52815 -0.348818 0 1.74923 0 -0.545897 -0.174955 0.210465 0.558528 0.030841 -0.512489 0.191211 -0.18873 -0.946119 2.86921 -0.191488 0 0 0 -0.124516 0.307563 0 0 0 0 0.0280393 -7.3103 3.43074 -4.87875 -0.852241 0.807549 -1.37119 0.674498 -0.489765 0.429388 -0.627709 0 0 0 0 0 0 +251 0 0 0 0 0 0.0181512 -0.264104 0.642329 2.01104 0 0 0.0306374 -0.770399 0 -0.495419 0.0151095 0 0 0 -0.0361999 -4.02414 0 0 0 0 0.510051 0 0 0.312902 2.19038 -0.364653 0 0.250457 0 0 0.217097 0.00214117 0 0 -0.415473 -1.81174 0 0 -0.0479464 -2.02005 0 -0.890332 0.573337 -0.0222368 0.0973771 -1.94927 0.223766 0 0.0641813 -0.129368 0.308992 -2.01395 -0.748046 -1.34355 0 0 -0.784841 2.92719 0 -1.08149 0.0116287 -1.45397 0 0 0 0 0.378494 -0.22768 0 -0.563604 -0.966071 0 0 0 -4.73592 0 0.545757 -5.32462 0 0.191012 -1.02227 -6.58236 0 0.385531 -1.44703 1.98757 -9.82344 0 0 0 0.101029 0.0029169 0 0 0 -0.0144844 0.00366164 0 -0.00116491 0 -0.000260364 0.00816108 0 0 0 0 0.0917139 0 0.00457878 0 0.151375 0 -0.142062 -0.0942476 0 0.000216261 0 0 -0.0090668 -0.000282574 -0.00433736 0 0.000368056 0 0.000264247 -0.00169375 0.00185425 -0.00387411 0.000236876 0 -1.89168e-05 0 0 0 2.67122e-05 0 0 0.000834347 0.000355595 -0.0739966 -0.00401917 0 0 -0.00246402 0 -0.000483491 0 0 -0.004737 0.00366811 -0.000287035 0.0037357 0 0 -0.0443034 -0.00435082 0.000231085 -0.00286954 0.0740497 0 -0.00200071 -0.000493473 -1.56647e-07 0 0 0 -0.226572 0 0.00829174 0.00314715 0 -0.000700487 0.00126192 -0.0307233 0 0.000387463 -0.00068158 0.00288775 -0.00420406 0 0.0181512 0.101029 -0.264104 0.0029169 -0.101339 -0.081748 -0.0100363 0.589572 0.36135 0.00121209 0.00455906 0.362126 8.12565e-05 0.0178487 -0.00128528 0.0104471 0.0030477 0.0141289 0.248644 -0.565695 0.102334 0.350123 0.0837701 0.0465686 -0.0140361 0.203566 0.160031 0.003978 3.8382 -0.240156 1.91148 -0.143054 -0.000100135 0.847499 0.548983 0.00422757 -0.00259846 0.143913 -0.0262213 0.949683 0.0191354 0.0323486 0.737357 0.235629 0.00240233 -0.0273714 0.150334 -0.0152371 -0.0136395 0.0281291 1.85759 0.479275 -0.02969 -0.40422 0.00610253 -0.538585 -0.0137805 -0.0438544 -0.0755975 -0.0586917 0.592123 0.078855 0.153945 -0.0711819 1.46912 -0.024398 -0.796739 -0.0221754 -0.163546 -0.362219 -0.033852 0.0687454 -0.00639704 -0.104082 0.0524664 -0.0387533 -15.4768 -1.96267 -3.56461 -0.144579 0.930193 -5.38054 -0.020225 0.238774 -0.913234 -0.798108 -0.00129176 0.146558 -0.397652 0.419207 -1.36446 0 +252 0 0 0 0 0 0.416611 -0.0322213 -0.567782 -1.84752 0 0 -0.180512 -0.319392 0 -0.247195 -0.032251 0 0 0 -0.161829 6.57552 0 0 0 0 -0.0162663 0 0 0.477918 -5.06048 -0.505001 0 -0.12537 0 0 0.0820646 -0.0328575 0 0 -0.0121371 0.268831 0 0 -0.0778889 2.05559 0 -0.988137 -0.423496 -0.261366 0.100286 -0.803455 -0.043166 0 0.205412 -0.0402105 -0.353551 1.28633 0.494713 0.386897 0 0 0.338517 -0.997495 0 -1.50493 -0.324114 -0.352668 0 0 0 0 -0.146498 -0.598212 0 -0.175324 0.968381 0 0 0 4.09603 0 0.402261 8.3374 0 0.100355 0.623161 6.77263 0 0.355367 -0.0110818 0.383057 13.8111 0 0 0 -0.100049 -0.00599664 0 0 0 0.00212959 0.0117123 0 -0.000302955 0 0.000540941 0.00708028 0 0 0 0 0.00462644 0 0.00191527 0 0.0562216 0 0.0426606 0.0524816 0 -2.25366e-05 0 0 -0.0113926 0.000801047 0.000287522 0 0.00154191 0 0.000867583 -0.00805737 0.000263458 0.0107254 -0.00113829 0 3.94935e-05 0 0 0 0.000112128 0 0 -0.00281737 0.00250733 -0.00722016 0.0150358 0 0 0.00110213 0 -0.000458589 0 0 -0.00994865 -0.0149489 0.0201284 0.00934572 0 0 0.00268462 -0.00345117 -0.00543396 0.00700018 -0.0422414 0 -0.0211947 -0.00147754 0.0517434 0 0 0 -0.136551 0 -0.0246826 0.0491567 0 0.00213743 -0.00503848 -0.0110947 0 -0.00114604 0.00230992 -0.00911578 0.0178249 0 0.416611 -0.100049 -0.0322213 -0.00599664 0.897349 0.278446 -0.0444114 0.0757659 -0.283638 0.00231586 0.00845717 0.265367 0.000143502 0.0185786 -0.00288743 -0.00335507 0.0137841 0.037893 0.795393 1.99874 0.331873 -0.204695 0.129641 0.129447 0.0946549 -0.385112 -0.123227 0.0299325 -0.197447 0.165291 3.55766 -0.617011 -0.000185433 -0.131616 1.21647 0.00814694 0.00191927 -0.060756 0.0249697 -2.16319 -0.010545 -0.0603435 -0.302927 2.05467 0.0013853 0.0178578 0.294409 0.2422 0.0913402 0.266365 -0.909763 0.136192 -0.0117285 0.139129 0.00441157 -2.32671 -0.015334 -0.247577 -0.251626 -0.424119 -0.572108 0.0923198 -0.0989143 -0.351276 -7.28937 0.0381415 -0.0326372 0.0697944 0.116771 0.086203 -0.0410426 -0.0291085 -0.00413371 -0.0457447 -0.150326 -0.0119956 -28.8056 -1.99866 -1.95842 -0.316039 -0.163525 3.44972 -0.0219762 0.0327095 0.153117 1.01623 -0.00346444 0.0185774 0.124751 -0.354078 3.11887 0 +253 0 0 0 0 0 0.915882 0.350563 -2.42735 -6.0866 0 0 -0.146479 0.774747 0 0.270097 -0.00107763 0 0 0 -0.0559847 0.12147 0 0 0 0 -0.803464 0 0 -0.41617 -2.07666 0.311444 0 -0.367282 0 0 -0.403289 0.0250936 0 0 -0.504072 0.424507 0 0 0.0265166 1.52021 0 0.604891 -0.682294 -0.984688 0.17836 -1.43621 0.142841 0 0.249961 -0.176561 -0.0627466 -1.11635 0.739678 0.394921 0 0 2.34409 -3.90332 0 0.152023 0.310711 2.08229 0 0 0 0 -0.305993 -1.03712 0 -3.19235 0.755601 0 0 0 15.6967 0 1.75576 7.33946 0 0.271269 1.15924 14.6664 0 -0.450541 1.97319 -0.216778 13.6548 0 0 0 0.194229 0.0180915 0 0 0 0.0302591 -0.0377413 0 0.00344376 0 0.00119034 -0.0331249 0 0 0 0 -0.137841 0 -0.0128348 0 -0.350419 0 0.251377 0.14921 0 -0.00121739 0 0 -0.146694 0.00108784 0.0135855 0 -0.00456913 0 -0.00275858 0.00223681 -0.0146556 0.0152792 0.00111638 0 8.6226e-05 0 0 0 -0.000331942 0 0 -0.00225847 -0.00565399 0.18087 -0.00121586 0 0 -0.0169264 0 0.0036397 0 0 0.00647149 -0.00209211 -0.0504086 -0.0215502 0 0 0.125542 0.0223752 0.00931158 0.0863008 -0.00694877 0 0.10676 0.00266033 -0.0739351 0 0 0 0.707405 0 -0.0287209 0.276194 0 0.00230594 -0.022051 0.185876 0 -0.00135902 0.012946 -0.0302713 0.107475 0 0.915882 0.194229 0.350563 0.0180915 0.142107 -0.0481362 0.145086 -0.548598 -0.271313 -0.00818704 -0.0280189 -0.352309 -0.000563134 -0.0362475 0.0106131 -0.0212677 -0.0271334 -0.111478 -0.670007 -0.725246 0.358225 -0.601648 -0.0804346 -0.118935 -0.187993 -0.133829 -0.371595 -0.0191066 -7.11441 -0.132895 2.09959 0.218014 0.000733625 -2.55809 1.27093 -0.00958593 -0.00237167 -0.164447 -0.0112147 -0.615663 -0.00781887 -0.0221785 -2.02729 -1.72688 -0.00485953 -0.0217344 -0.364761 -0.127865 -0.01277 0.319448 -1.35598 -0.253087 0.0497201 0.906178 -0.0178907 1.14427 0.0209391 0.10707 0.217044 0.375833 -0.041345 -0.0248428 0.0335698 0.236172 3.0433 -0.0608104 0.461926 -0.0959886 0.108436 0.152654 0.0920619 0.0871816 0.0162344 -0.262808 0.0205225 -0.00106692 -16.9999 0.88077 7.55032 0.355327 0.640094 0.664912 0.0450694 0.0976893 0.552252 2.39934 0.0101921 0.0669835 0.237242 0.0419831 1.26787 0 +254 0 -0.782463 -0.603832 -0.00256973 0.0719372 -0.0935438 -0.172201 0.148989 1.4144 -0.0182564 0.0919456 -0.138438 0.421756 0.00087685 -0.461435 -0.0209872 -0.839859 -3.14184 -0.0247123 -0.0286679 -0.43574 -0.0132059 0.521063 -0.000732007 0.0234985 0.582935 -0.576796 -0.0107955 0.267857 0.825346 0.087169 -0.00567921 -0.345754 1.78577 0.0172301 0.223221 -0.0132397 -0.0655828 7.86204 -0.183033 -0.350517 0.0105573 -0.130226 -0.0186398 -1.08229 0.121186 -0.341685 0.509979 -0.511792 0.135983 -1.25879 0.340263 -2.73882 0.111778 -0.0204803 0.197217 -0.396777 0.395702 0.455976 -0.0414527 -0.0360988 1.48873 -0.671207 -0.774738 -0.551591 0.658046 0.976257 0.368845 -0.224227 0.00764048 0.522532 0.218084 -0.268805 0.148847 -1.06194 -0.276427 -0.579209 -41.2475 -5.31455 -10.6594 -4.50551 4.55289 -20.5848 0.289368 -0.346845 -0.583746 -5.67389 -0.0376467 0.0726214 -0.49597 0.856432 -5.00946 0 0 0 0 0 -0.00256973 0.0719372 0.00101792 0 0 0 0 0.000153487 0 0.00153486 0 0 -0.000112071 -0.00016526 0.000553574 0 0.000176844 0.000366704 -0.00759842 0 0 -0.148893 -1.18953e-05 0 0.0175576 -0.35829 0 0 -0.0209965 -0.00869462 0 0.11842 0 -0.0119169 0 0 -0.00157434 0 0 0.397122 0.00211615 -0.00155221 0 0.014128 0.0146633 0 0 -0.105914 0 0.00246372 -0.211247 -0.00390393 0 0 0.000849612 -0.000947395 0 0.00123591 0.00338573 -0.00143694 0.143287 -0.00267877 -0.00604942 0 -0.00492099 0.00716033 -0.0548279 0.0127802 -0.00777159 0 0 0 -1.43757 0.0549909 -0.12266 -0.0264554 0.0505133 -0.11391 0.000316139 -0.000612319 0.00121857 -0.00152952 0 0 0 0 0 0 -0.0935438 0 -0.172201 0 0 0 0 -0.0598833 -0.224526 0 0 -0.272886 0 -0.0203093 0 -0.0021617 0 0 -0.441937 0 0.932015 0.0646978 -0.00179244 -0.0417996 0 0 -0.0824037 0 -7.22392 0 3.8379 -0.199613 0 0.507486 1.79455 0.000770398 0 -0.0116385 0 0 -0.00528499 0 -1.5789 -1.3641 0 0 -0.137492 0 0 -0.192287 -2.73446 -0.191371 0 -0.129766 0 1.08811 0.0366582 0.0170732 0.00274727 -0.0364602 -1.37585 -0.393759 -0.0644624 -0.544302 -1.27202 -0.0387447 0 0 0 -0.0645555 0.0260379 0 0 0 0 0.0325503 -26.2835 -0.437796 -3.17557 -0.65963 0.819616 -3.16063 0.145233 -0.12197 0.137061 -0.352741 0 0 0 0 0 0 +255 0 1.29247 0.358311 -0.00850213 -0.126841 0.489619 0.369846 -1.28305 -3.98419 -0.0857509 0.444334 0.173725 0.535096 0.000554127 1.00915 0.0135958 -0.278821 0.149682 0.0461763 0.029916 -0.666109 -0.00914148 -0.369737 -0.000504397 -0.0130623 -0.890049 0.0879842 -0.0161123 -0.725092 -1.83657 0.365442 -0.00634557 0.146223 -1.13107 -0.0167745 -0.432353 0.0127107 -0.110921 -5.32046 0.206099 0.360961 0.00748858 -0.0504562 0.0165543 2.32856 0.103149 0.591645 -1.18052 0.310874 -0.0118857 0.755661 -0.436528 -0.322279 -0.0410463 0.0758183 -0.14002 -2.48532 0.121778 -0.121319 -0.0236865 -0.0246602 -1.18989 -0.128804 -1.24163 -0.184865 -0.277125 0.565629 -0.396801 0.156863 0.0220907 -0.46068 -0.253585 0.105949 0.183913 -2.07037 0.681373 0.908753 25.3858 0.469695 15.2026 1.03108 -1.87588 16.0104 -0.0804993 -0.00189724 -0.699992 11.9173 -0.0320433 0.00560164 -0.0277664 -1.29518 11.1471 0 0 0 0 0 -0.00850213 -0.126841 -0.00114067 0 0 0 0 -5.64569e-05 0 0.00186453 0 0 0.0015957 0.00204632 -0.00273287 0 -9.81179e-05 0.00170708 -0.0229184 0 0 0.14044 0.000152603 0 -0.00603232 0.413052 0 0 0.0202642 0.0476304 0 -0.0529031 0 0.00754783 0 0 0.00119908 0 0 -0.105051 -0.000816582 0.0209098 0 -0.0163834 -0.00157854 0 0 -0.00897147 0 0.000359339 0.0480246 -0.00400307 0 0 -0.00592747 0.00404603 0 0.00612136 0.0239526 0.0192159 -0.371548 -0.0451766 -0.0102617 0 -0.0144592 0.0156149 -0.0010668 -0.0265884 0.110611 0 0 0 0.172757 -0.0625544 0.0995728 0.00645643 -0.0119351 0.0283767 -0.00262555 0.00504182 -0.0104909 0.0172531 0 0 0 0 0 0 0.489619 0 0.369846 0 0 0 0 0.0130913 0.262498 0 0 0.0576875 0 0.0132008 0 0.0092238 0 0 -0.327494 0 -0.221034 -0.126039 -0.0933398 -0.0600741 0 0 0.147594 0 2.32841 0 -3.62911 0.326821 0 -1.19712 -0.733732 -0.00374033 0 0.0151888 0 0 0.0157412 0 0.376109 0.454498 0 0 0.0229527 0 0 -0.395123 -2.48991 -0.286059 0 -1.24005 0 -0.664869 0.0598936 -0.10098 -0.163364 0.13958 -0.348559 -0.257983 -0.0860836 0.699453 -0.577949 -0.0978793 0 0 0 0.0973776 -0.0201128 0 0 0 0 0.012943 31.407 1.1339 6.92853 0.336642 -0.431672 3.41974 -0.0334631 0.0282985 -0.00710551 0.871118 0 0 0 0 0 0 +256 0 1.52726 0.178146 0.0418614 0.302628 -0.031206 -0.203226 1.8 2.1327 0.39241 -1.37799 0.220822 -0.478404 -0.00338461 -0.487512 0.0265842 -0.120721 0.493721 -0.0283699 0.0241435 -1.21577 0.0548291 0.0320267 0.00410543 -0.120916 0.43978 -0.211955 0.0919257 0.492143 1.38793 -0.21919 0.0416257 0.409525 -0.911257 0.2429 0.379034 0.02604 0.279723 -8.86098 0.497193 -0.743974 -0.034958 0.974285 0.0504934 -2.00905 -0.339693 -0.468219 0.920842 0.479143 -0.190331 0.106717 -1.00903 -1.05749 -0.039833 0.101294 -0.389779 -2.55979 0.120264 -0.47481 0.461762 0.0940625 -4.86918 0.239802 0.921423 -2.34313 -0.207651 -2.70444 1.39155 0.34771 -0.0954763 0.66979 -0.560405 0.380821 -0.216532 -1.7511 -1.45609 0.602641 50.1861 10.6947 -0.171988 5.96595 -5.52587 12.158 0.252197 -0.534312 3.04872 -8.1861 0.105526 -0.201099 0.815308 -1.00274 -8.42406 0 0 0 0 0 0.0418614 0.302628 -0.00136516 0 0 0 0 -0.000588725 0 -0.00983664 0 0 4.66424e-05 -0.000493331 -0.00802187 0 -0.000836013 0.00795479 -0.0689789 0 0 0.056413 -4.02042e-05 0 -0.0366577 0.265388 0 0 0.00545193 0.0042228 0 -0.171244 0 0.017068 0 0 0.00167081 0 0 -0.724069 -0.00805337 0.00187246 0 -0.0176158 -0.0380157 0 0 0.221783 0 -0.0104625 0.386089 0.0200592 0 0 0.00199482 -0.00250591 0 -0.0116583 -0.0367508 -0.0141681 0.129388 0.00762181 0.0262163 0 0.014809 -0.0351109 -0.0255314 0.0238172 0.0379203 0 0 0 3.05726 -0.1174 0.431945 0.0679197 -0.12977 0.27966 0.000277981 -0.000555978 0.000921834 0.0215632 0 0 0 0 0 0 -0.031206 0 -0.203226 0 0 0 0 -0.506659 0.532574 0 0 -0.512932 0 -0.0612878 0 0.0124067 0 0 -0.07908 0 -0.531159 -0.0491742 -0.0745555 -0.0324396 0 0 0.221856 0 2.64084 0 -7.86573 -0.439065 0 -0.540202 -2.37274 -0.0101238 0 -0.0606849 0 0 0.041725 0 0.184133 -0.50866 0 0 -0.111489 0 0 -0.283751 1.62021 -0.739931 0 -0.98495 0 -1.98174 -0.00527915 0.0769152 0.49411 -0.0188993 0.146038 0.829326 -0.239218 -0.302786 -8.66868 -0.0701384 0 0 0 0.0911833 0.150555 0 0 0 0 -0.0607264 61.2388 5.17144 5.9796 1.54797 -1.49729 6.52566 0.255429 -0.236369 0.469192 0.530051 0 0 0 0 0 0 +257 0 0.0310395 0.182619 0.00280282 0.0341236 0.0860848 0.213491 -0.278863 -0.543675 0.0229862 -0.228919 0.0450138 -0.431441 -8.14888e-05 -0.862471 -0.00649457 -0.282814 -3.1823 -0.0139878 -0.00736097 2.26978 0.00420968 -0.36271 0.000104936 0.00374881 -0.368488 0.33227 0.00815141 -0.681013 -1.42554 -0.0674666 0.00160368 -0.112758 -0.444605 -0.0601148 -0.364481 0.00235431 0.0903324 -0.516643 0.096937 1.60171 -0.00126606 -0.0723434 0.00510405 -2.43507 -0.0186057 0.931112 -0.825152 -0.115607 -0.0133741 0.608295 -0.33955 -1.95744 0.0127135 -0.0124771 -0.0581047 -0.639101 -0.469402 -0.0647875 0.0590755 0.00279902 0.323519 -2.43822 0.443308 -0.00540291 -0.0687925 0.459436 0.233907 -0.0124431 -0.00295932 -0.0484414 -0.0966576 -0.0825675 0.0387268 0.670975 0.661705 -0.211642 4.75944 1.11565 2.22607 0.277707 -0.635055 5.51125 0.0979066 -0.250052 0.744925 1.85981 0.00167148 -0.00489678 0.0824585 -0.137566 2.82347 0 0 0 0 0 0.00280282 0.0341236 -0.000541412 0 0 0 0 -5.50107e-05 0 -0.000870485 0 0 -6.20235e-05 1.98957e-05 -0.000934644 0 -6.62281e-05 0.00184005 -0.012823 0 0 0.0119515 1.42803e-06 0 -0.00258698 0.0843112 0 0 -0.000392691 0.0197338 0 -0.0105745 0 0.00181403 0 0 0.000132479 0 0 -0.0774439 -0.000757453 -0.000806807 0 -0.00742398 -0.00582813 0 0 0.025555 0 -0.00134837 0.0554293 0.00226506 0 0 0.000185405 0.000750359 0 -0.00195825 -0.00366954 -0.00197542 -0.00996584 -0.00287599 0.00381473 0 7.30047e-05 -0.00196143 -0.0204669 0.00769318 0.0198028 0 0 0 0.328871 -0.0119323 0.0605303 0.00768947 -0.0146781 0.0314741 8.8872e-05 -0.000170123 0.000359685 0.00477491 0 0 0 0 0 0 0.0860848 0 0.213491 0 0 0 0 0.232276 -0.0777432 0 0 -0.393277 0 -0.0468383 0 -0.000470929 0 0 0.0634485 0 -0.771516 0.0652941 -0.0899888 0.00645759 0 0 -0.00929072 0 -0.444554 0 -1.22713 0.165116 0 0.380506 -0.709103 -0.0093464 0 0.0264872 0 0 -0.0176066 0 -0.0847049 -0.0128565 0 0 0.0233751 0 0 -0.110849 1.00181 -0.00539004 0 -0.218506 0 -0.226307 -0.111616 0.131571 0.359207 -0.120833 -0.0218948 0.30667 -0.0599111 -0.925835 -9.0383 0.0329871 0 0 0 -0.0577103 0.0908168 0 0 0 0 0.0167783 15.7866 2.50533 0.0635172 0.468183 -0.272357 2.04403 0.217727 -0.18283 0.348547 -0.360151 0 0 0 0 0 0 +258 0 0.377832 0.184146 -0.00439692 -0.0613918 0.357311 0.174723 0.099429 -0.764201 -0.038949 -0.00450075 -0.0207365 0.85173 0.000127637 1.17653 0.00227767 0.964349 5.0252 -0.0103283 0.0110741 -0.439358 -0.0152067 0.194231 -0.000163912 -0.079515 -0.15002 -0.0309263 -0.00658831 0.128239 1.18255 0.444694 -0.00258375 0.0297831 0.104594 0.0388861 0.0876809 -0.00100783 -0.0759499 -0.987706 0.00155206 0.329255 0.00207805 0.081688 0.000320425 2.72981 0.0327944 0.537985 0.446022 0.180306 0.000760156 2.58008 -0.188486 3.51829 -0.0190057 0.0199727 0.0560994 -0.978717 0.276509 0.100997 0.0871708 -0.0048714 0.531182 0.422409 0.177387 1.63867 -0.223762 0.414889 -0.0986378 -0.0303529 0.00501306 -0.107428 0.0747435 0.100535 0.121949 -1.19245 0.127205 0.817513 0.967315 -0.502357 3.00068 -0.152751 -0.00450833 -0.946519 0.574504 -0.598168 -0.208392 1.84504 -0.00294614 0.000886541 -0.0855951 0.0329451 -2.3422 0 0 0 0 0 -0.00439692 -0.0613918 0.00115408 0 0 0 0 0.00010778 0 -0.000907726 0 0 0.000890415 0.000546947 -0.000460421 0 -4.08105e-05 -0.00216985 -0.014759 0 0 -0.0136801 3.97692e-05 0 0.00438975 0.0330384 0 0 -0.000523722 -0.0172999 0 0.0169741 0 -0.00285206 0 0 -0.000288355 0 0 0.119289 0.00148389 0.0121096 0 0.0158041 0.0163616 0 0 -0.0418294 0 0.00308047 -0.0422729 -0.00712292 0 0 -0.00197824 -0.00139687 0 0.00404838 0.00820787 0.00615621 -0.0994636 -0.0195206 -0.00830493 0 -0.00335769 0.0163916 -0.00675283 -0.00537479 0.0364955 0 0 0 -0.533214 -0.00249729 -0.0249572 -0.0124102 0.0237202 -0.0505332 -0.0011875 0.00226595 -0.00486752 0.00669089 0 0 0 0 0 0 0.357311 0 0.174723 0 0 0 0 -0.827717 0.17216 0 0 0.165459 0 0.0160251 0 0.00251335 0 0 -0.0506569 0 -0.0205169 -0.231136 0.0724254 0.0196657 0 0 0.0570445 0 1.89722 0 -2.70401 0.280529 0 -1.74303 -0.686051 0.00445521 0 -0.111161 0 0 0.0165281 0 0.469658 0.38251 0 0 0.08253 0 0 0.0849735 -1.72226 0.44852 0 1.0053 0 1.13847 0.0783028 -0.211513 -0.416247 0.0305589 -0.288537 -0.378436 -0.1352 0.24111 7.79842 -0.0016611 0 0 0 -0.0415243 -0.0104115 0 0 0 0 0.0260954 19.9174 -0.423032 8.23928 0.0778286 -0.256613 2.1528 0.0890957 -0.0902026 -0.173722 1.49011 0 0 0 0 0 0 +259 0 1.83649 0.497033 0.0191048 0.216804 -0.0343152 -0.00881814 1.23664 1.60936 0.150876 -0.354036 0.129272 -0.273654 -0.000555851 -0.619275 -0.00948095 0.830968 5.96745 -0.0207662 -0.0213086 -0.659886 0.0265502 -0.176937 0.00071669 0.070611 0.110269 0.150997 -0.00625819 0.115374 0.551271 -0.322967 0.0107946 -0.0908396 -0.992752 -0.158583 0.126754 0.00688858 -0.0849003 -7.30025 0.287269 -0.596106 -0.00844516 -0.470858 0.0160123 0.317044 -0.119576 -0.517665 0.213809 -0.21322 -0.0423889 0.29219 -0.473728 -0.0649023 0.0393123 -0.0386077 0.011134 -0.424455 0.321857 0.0181499 0.0659757 0.0181137 -0.710945 0.500512 2.63374 1.98544 0.402413 0.0541255 -0.179513 -0.188162 -0.019427 0.0134951 -0.42556 0.019409 0.135495 -0.811863 0.25091 1.27775 36.8433 5.7875 1.22679 4.26453 -3.92116 11.3119 -0.760978 0.435326 0.404594 -0.523356 0.0107423 -0.0163904 0.0936562 -0.268413 -1.09187 0 0 0 0 0 0.0191048 0.216804 -0.00318089 0 0 0 0 -0.000332142 0 -0.00725633 0 0 0.0011355 0.00129552 -0.00517989 0 -0.000572565 -0.0030029 -0.0607905 0 0 0.15828 9.40174e-05 0 -0.0281079 0.211783 0 0 0.0228449 -0.0152305 0 -0.18111 0 0.0157755 0 0 0.00218577 0 0 -0.726154 -0.00457379 0.0157858 0 -0.0437144 -0.0395551 0 0 0.181093 0 -0.00727033 0.36574 0.0122618 0 0 -0.00218694 0.0048948 0 -0.00592764 -0.0310739 0.00197853 0.0792062 -0.0177066 0.0169908 0 0.00412335 -0.0213624 -0.0297513 0.0153175 0.0726569 0 0 0 3.00355 -0.156891 0.442136 0.070399 -0.134289 0.288945 -0.00148618 0.00283246 -0.00612094 0.0231106 0 0 0 0 0 0 -0.0343152 0 -0.00881814 0 0 0 0 -0.0546906 -0.0118383 0 0 -0.468744 0 -0.0430618 0 -0.00549995 0 0 0.943207 0 -0.681374 0.0168652 -0.139636 0.143394 0 0 0.0762029 0 12.4091 0 -8.88087 0.647925 0 -0.172591 -2.60749 -0.00917854 0 0.00728398 0 0 -0.028507 0 3.715 2.07511 0 0 0.305877 0 0 -0.0521207 2.4687 0.154219 0 -0.370946 0 0.0992157 -0.198982 0.170122 0.50398 0.102734 -0.374922 0.0552789 -0.156735 0.443297 2.91045 -0.130418 0 0 0 -0.0340988 0.0983945 0 0 0 0 0.0549856 65.2001 4.88649 4.99808 1.47092 -1.51725 6.74204 0.113083 -0.114427 0.376865 0.221191 0 0 0 0 0 0 +260 0 0 0 0 0 0.68805 0.378693 -2.37319 -7.34661 0 0 0.149715 0.797972 0 1.12755 -0.0507609 0 0 0 -0.0241995 5.90836 0 0 0 0 -1.15251 0 0 -0.42258 -7.64237 0.0917408 0 0.0419408 0 0 -0.385093 0.0291655 0 0 -0.300313 1.62734 0 0 -0.0703341 5.64995 0 0.438381 -1.89411 0.476477 0.188897 -5.09135 -0.106305 0 0.349243 -0.0712728 -1.12134 -1.2269 0.148596 -0.257713 0 0 2.19727 -0.549211 0 -2.22872 0.492928 1.77964 0 0 0 0 -0.663672 -1.1963 0 -0.747398 2.49376 0 0 0 16.8725 0 1.54323 14.5312 0 0.759727 2.03968 22.8595 0 -0.0713188 4.62866 -2.78862 29.3541 0 0 0 0.0205373 0.0374084 0 0 0 0.0625334 0.0738784 0 0.0123222 0 0.0140567 -0.119562 0 0 0 0 -0.185146 0 -0.0512173 0 -0.604334 0 0.379498 0.906607 0 -0.0114775 0 0 -0.620623 0.00328773 0.0986804 0 0.00940062 0 0.00484707 0.155872 -0.0875597 0.0417709 -0.00822107 0 0.00104214 0 0 0 0.000640735 0 0 -0.0090214 0.00569874 0.128093 -0.00126453 0 0 -0.0350852 0 -0.00974637 0 0 0.0478128 -0.0457874 0.197593 -0.00479162 0 0 -0.0255761 -0.0372489 -0.00784559 -0.295039 0.228021 0 -0.232335 -0.0251631 -0.19419 0 0 0 1.73781 0 -0.0573345 1.82538 0 0.0112389 0.0316479 0.703292 0 -0.00471518 0.0381335 -0.0838768 0.946955 0 0.68805 0.0205373 0.378693 0.0374084 0.852319 0.186379 0.273349 0.529217 1.56336 -0.0677056 -0.0345059 -0.552324 -0.0141423 -0.0858213 0.0770678 0.140976 -0.0333847 -0.280883 -0.151084 1.49277 0.631377 -0.0745836 -0.30655 -0.0374957 0.047646 -0.0877035 0.772646 0.0354137 1.57747 -0.0500098 6.40089 0.397258 0.0175724 0.287029 2.05681 -0.0455969 0.00433487 0.0456274 0.00275793 -0.544035 0.294883 -0.01431 0.56235 1.59182 -0.0102422 0.0134775 0.152351 0.228989 -8.41797e-05 0.473107 3.81191 -1.04989 0.0263523 0.647379 -0.134493 1.48595 0.706453 -0.390356 0.134148 0.417202 0.41887 -0.0420972 -0.502082 -0.937178 -1.20818 -0.0155731 0.766459 -0.103923 -0.0624512 0.103197 0.0832044 -0.0593692 0.154588 -0.385652 0.0173532 -0.248257 -60.9388 -1.81087 -7.77665 -1.13398 1.3645 -5.62603 0.408059 -0.0415675 0.628485 0.0924715 0.216867 -0.000912153 0.281789 0.125823 0.700853 0 +261 0 0 0 0 0 0.0167241 0.144709 0.491483 2.42723 0 0 0.435369 2.37192 0 5.12821 0.416658 0 0 0 0.835921 -5.00823 0 0 0 0 0.710995 0 0 -0.71571 -1.65085 1.41175 0 1.49147 0 0 0.189011 0.115658 0 0 1.79322 -0.611905 0 0 0.484104 7.22946 0 0.389392 -1.16978 2.5487 -0.899313 3.46079 -0.456983 0 -0.735405 1.25055 -0.249908 -6.50057 -2.07582 -0.954941 0 0 0.202883 1.71051 0 -2.34304 -1.92595 1.29059 0 0 0 0 0.623051 1.55342 0 -1.90284 3.03396 0 0 0 -5.97117 0 -3.71813 6.25809 0 -1.53476 1.15608 0.560425 0 -1.86124 0.600597 -2.6839 10.7467 0 0 0 -0.0926188 -0.057447 0 0 0 -0.103414 0.0643917 0 -0.0200191 0 -0.00970971 0.119398 0 0 0 0 0.133437 0 0.0580503 0 0.303102 0 -0.58288 -0.0989186 0 0.00654294 0 0 0.090391 0.00149155 -0.00272136 0 0.0105572 0 0.0049641 0.0299087 0.0318023 0.0193429 0.0288265 0 -0.000703394 0 0 0 0.000784607 0 0 -0.00320049 0.0117082 -0.302833 0.0131177 0 0 -0.0036014 0 -0.00557721 0 0 0.00551471 -0.0145976 -0.021678 0.0339601 0 0 -0.0700044 0.04266 0.0112457 0.0672845 -0.0479855 0 0.112384 -0.00671782 -0.0354028 0 0 0 -0.802379 0 0.00797408 -0.52488 0 0.00260135 -0.036608 -0.23046 0 -0.00173311 -0.0002881 0.0119075 -0.310344 0 0.0167241 -0.0926188 0.144709 -0.057447 -0.411745 -0.0260388 -0.548577 0.41954 -0.185924 0.0801754 -0.0215083 0.661062 0.0167948 0.17738 -0.110964 -0.01664 0.0122154 0.339167 -1.698 -0.963568 0.511808 -0.0207808 0.327581 -0.193281 -0.0626929 -0.0102818 0.163766 -0.00801626 0.990234 -0.0374596 3.32102 0.80894 -0.0222881 -0.0327702 1.67206 0.0832497 -0.00250947 0.0276543 -0.00634578 -0.258868 -0.129384 0.000709613 1.20077 -3.72773 -0.000610431 -0.0190914 -0.428186 -0.0888992 -0.107334 -0.491048 0.465265 0.567132 -0.0797026 1.88877 0.180124 1.80005 -0.521432 0.42035 -0.388101 0.330878 0.390563 -0.921998 0.118288 -1.03586 -10.8453 0.254998 0.123969 0.122901 0.0992962 -0.0531797 -0.423269 0.00457619 -0.16603 0.179414 0.0170383 0.321012 -31.6173 -5.45043 -2.71204 -2.89657 0.714729 -2.29772 -0.490467 0.0697954 -0.489327 0.181289 -0.261869 0.0258208 -0.275977 -0.0121454 0.716466 0 +262 0 0 0 0 0 0.23002 0.269164 0.409209 0.222344 0 0 0.108232 0.158113 0 0.608377 0.0452219 0 0 0 -0.134294 -8.39174 0 0 0 0 -0.303584 0 0 -0.762286 4.49096 0.462871 0 0.590971 0 0 -0.103397 0.061602 0 0 -1.0884 -1.64154 0 0 -0.181431 -0.763792 0 0.298325 -0.00100921 0.766583 -0.0185213 2.19449 -0.0669431 0 0.301611 -0.369101 0.644867 -2.98019 -1.29194 -0.772079 0 0 -0.0227512 5.3674 0 0.494466 -0.487089 -0.303831 0 0 0 0 0.270047 0.458414 0 3.28222 -0.959805 0 0 0 0.0520782 0 1.44907 -8.28067 0 -0.019613 -1.11969 -2.672 0 0.458417 -2.16981 5.99031 -21.3566 0 0 0 0.303236 0.0669646 0 0 0 -0.0287686 0.111888 0 0.00385144 0 0.0217246 -0.0725109 0 0 0 0 -0.0980866 0 -0.0504439 0 -0.0198163 0 -0.450672 -0.364986 0 -0.00744911 0 0 -0.117809 0.00677733 -0.0416057 0 0.0173729 0 0.00834253 -0.255985 -0.0388178 0.0959251 -0.0552676 0 0.00156515 0 0 0 0.0012822 0 0 -0.0181503 0.0120558 0.115109 0.0796151 0 0 0.0185654 0 -0.0154618 0 0 0.0208652 -0.0549159 -0.105538 0.0288433 0 0 0.192693 0.000557827 -0.00987898 0.188747 -0.223624 0 0.211707 0.00761772 -0.0816344 0 0 0 -0.338826 0 -0.188933 -0.0951257 0 0.0132154 -0.0852845 -0.0939209 0 -0.00880951 0.0217021 -0.0738754 -0.161184 0 0.23002 0.303236 0.269164 0.0669646 -0.811681 -0.231922 0.396125 -0.390922 2.8104 -0.0543255 -0.030219 0.190166 -0.0141973 -0.063239 0.0896834 0.29399 -0.0786184 -0.151423 -2.24796 -0.875323 -0.273598 0.0378166 -0.0341821 -0.270373 -0.304097 0.403084 1.52969 -0.0299956 9.13667 -0.624458 -1.5936 2.33291 0.0196895 -0.870471 -0.743302 -0.0283951 -0.0102816 -0.0372783 -0.0957116 2.40412 0.536452 0.0624834 4.56938 -4.51972 -0.00724452 -0.0748299 -0.557606 -0.151466 -0.273233 -0.792286 -2.52058 -1.00062 0.177157 5.62734 -0.139945 0.206098 0.620547 0.639472 -0.0593439 -0.395285 -1.28014 1.19197 0.12795 -4.90813 -15.4203 -0.0285975 0.329794 0.0287554 -0.2549 0.781461 0.155684 0.181207 0.0492142 0.0699417 -0.0814762 -0.830557 15.1717 0.200189 6.12529 1.33601 1.80384 -7.09249 0.0316231 0.426404 -1.33137 -0.0378581 0.116913 0.234042 -0.535998 1.05016 -4.10277 0 +263 0 1.74655 0.569372 -0.000108155 -0.045138 0.358487 0.257954 -0.592158 -3.35157 -0.00300994 -0.132836 -0.180012 -0.43993 -0.000639879 0.0371189 -0.00412306 3.38381 11.8743 0.0562215 -0.0426093 0.180934 0.043275 0.059541 0.000828019 0.0704574 -0.701041 1.11596 0.0866008 -0.127271 0.235396 -0.0490074 0.0037276 -0.0704767 -1.01025 0.449134 -0.221868 -0.0264481 0.150204 -8.88215 -0.473145 0.0712504 -0.00282491 0.816781 -0.0684049 -0.0484292 0.00243722 0.175753 0.0468414 -0.423802 0.186056 0.539205 -0.392389 -17.0349 0.0434959 -0.015828 0.049832 0.778495 0.203378 0.0801459 -0.166513 0.0131642 -2.16436 0.282819 -1.82517 1.15618 -0.149899 -2.17172 -1.13028 0.336933 -0.0111608 -0.624372 -0.341166 -0.547598 -0.000357891 0.576307 -2.08326 -1.41512 37.7985 4.70383 13.3499 4.96695 -1.66778 12.9455 -0.978836 0.637681 1.14918 5.83035 -0.000668423 0.065177 -0.0410309 1.72754 -1.69053 0 0 0 0 0 -0.000108155 -0.045138 0.00601351 0 0 0 0 0.000704965 0 -0.0508669 0 0 0.00474853 0.00822825 -0.0471865 0 -0.00608572 0.0345628 -0.400771 0 0 0.0964969 0.000600467 0 -0.0531847 1.61469 0 0 0.0109836 0.286394 0 -0.238913 0 0.00964428 0 0 0.00157804 0 0 -1.03353 0.0110833 0.0658566 0 0.0940923 -0.0149807 0 0 -0.0590224 0 0.0121258 -0.498097 -0.0299969 0 0 -0.00942457 -0.0101228 0 0.00969839 -0.0790753 0.00516042 1.00894 -0.0808437 -0.0433265 0 0.0290527 -0.0831103 0.291664 -0.0150475 -0.269308 0 0 0 6.19147 -0.0480012 1.68984 0.0689583 -0.135823 0.818333 -0.00623928 0.0104335 -0.0181891 0.321689 0 0 0 0 0 0 0.358487 0 0.257954 0 0 0 0 -0.244459 -0.81915 0 0 -0.177607 0 -0.0359661 0 -0.0602608 0 0 0.735287 0 -0.815653 -0.0930306 -0.0358705 0.0676846 0 0 -0.464827 0 5.42484 0 -6.56467 0.0686065 0 -0.876103 -2.06586 -0.00772539 0 -0.031531 0 0 -0.110627 0 0.928714 2.16045 0 0 0.228132 0 0 0.551662 -3.53439 -0.798192 0 -0.411835 0 -2.96537 -0.0817087 -0.151978 -0.333527 -0.0186084 0.770057 -0.199144 -0.0967024 1.43811 6.6217 -0.0758721 0 0 0 -0.142579 0.0772779 0 0 0 0 0.114732 55.9748 4.37227 8.55833 2.0976 -1.27598 6.76297 0.0549409 -0.0342685 0.164866 0.832262 0 0 0 0 0 0 +264 0 -0.476125 0.0347301 -0.0187796 -0.00412598 -0.118234 -0.365115 1.82997 4.18483 -0.201514 0.802004 0.156012 0.65682 0.00177751 -1.45638 -0.0137957 1.9933 7.37675 0.125627 0.0228574 -0.715301 0.00772947 0.204106 -0.00277946 0.252156 1.42684 0.201595 -0.0240055 0.7482 2.17969 -0.179322 -0.0240059 -0.110625 1.49279 -0.312137 0.664496 0.0262949 0.381763 6.23769 0.327842 -0.629373 0.0134849 0.279756 0.0513224 -0.976713 0.0786956 -0.778814 1.39421 0.244302 -0.164612 1.49449 -0.655103 -7.6711 0.0418857 0.0393168 0.00438306 -1.82609 0.0660735 -0.0149459 -0.332168 -0.0180917 -1.03321 0.405422 -3.84595 -3.2166 -1.05787 -1.13366 -0.679212 0.790024 0.0252032 -0.171306 0.366539 -0.345495 -0.128871 0.719231 -1.44519 0.505529 -32.0241 -4.72459 -16.5097 -3.74621 0.57873 -18.759 -0.593914 -0.016329 -0.957742 -17.7081 -0.0215827 -0.0354091 -0.581479 -0.912791 -15.6538 0 0 0 0 0 -0.0187796 -0.00412598 0.000723732 0 0 0 0 -0.000177779 0 0.00549947 0 0 -0.00122815 -0.00651309 0.0156444 0 0.00153522 0.0532965 0.0883046 0 0 -0.309254 -0.000459222 0 0.0498546 0.477596 0 0 -0.0550108 0.222439 0 0.148893 0 -0.0240054 0 0 -0.0049534 0 0 0.0914429 -0.00245648 -0.0206307 0 0.00959173 0.0249348 0 0 -0.337433 0 0.00158027 -0.247422 -0.0141776 0 0 0.00211303 -0.00117475 0 0.0193545 -0.0602514 -0.0140924 -0.00534879 0.0101328 -0.0229936 0 0.0039387 0.072368 0.146619 -0.0186094 -0.155106 0 0 0 -0.731573 0.239086 -0.509363 -0.0295364 0.0754845 -0.0281754 0.00139903 -0.00581195 0.0286196 -0.0741525 0 0 0 0 0 0 -0.118234 0 -0.365115 0 0 0 0 -0.418252 -0.281034 0 0 0.0516387 0 -0.0053657 0 -0.00664908 0 0 0.318404 0 0.19577 -0.02976 -0.0904854 0.028292 0 0 -0.115572 0 -2.12406 0 0.0907881 -0.567972 0 -0.0937491 -0.182279 -0.0250744 0 -0.0467549 0 0 -0.01775 0 -1.11211 -0.284243 0 0 -0.0451116 0 0 0.059361 -2.50503 -0.203727 0 0.118912 0 -1.22681 0.0550989 -0.151411 -0.0944284 0.0680384 -0.0600848 0.0848608 -0.0670285 -0.211312 0.564396 -0.0344759 0 0 0 -0.0908081 0.0339213 0 0 0 0 -0.000781694 4.01265 -0.0156742 1.73156 0.243983 0.157518 0.390896 -0.0317719 -0.000621241 -0.0307627 0.3162 0 0 0 0 0 0 +265 0 0.305573 0.207418 0.0359562 0.311094 -0.3916 -0.139657 0.62079 2.03359 0.169691 -0.0370704 0.209397 -0.689065 -0.000826324 -0.11655 -0.010683 2.64168 6.43193 0.202098 -0.031479 2.01533 0.0509762 -0.0380887 0.00145609 0.0159705 0.0857658 0.941775 0.0468688 0.165564 0.87618 -0.0529752 0.0151288 -0.0718124 0.283132 0.489783 0.014203 0.0105215 -0.0917526 1.66779 0.217139 0.525532 -0.00521279 1.02785 0.0098798 -2.13971 -0.0119367 -0.0411693 0.271849 -0.249536 0.0522404 -0.687674 0.489558 -12.8776 -0.019183 -0.0036455 -0.481119 2.08656 0.13401 0.0577421 -0.233991 -0.0184184 0.0366647 -0.835959 -2.11093 0.879839 1.19148 -0.611526 -0.93115 -0.518929 -0.00458948 -0.403992 0.184454 0.149202 0.121007 0.0807588 0.784437 -1.87698 -7.2002 -0.525253 -7.27793 -0.0844875 0.00643988 -6.81107 -0.377939 -0.172316 -0.0926724 -7.52415 0.00327371 -0.031224 -0.077286 -0.673415 -6.29242 0 0 0 0 0 0.0359562 0.311094 0.00650442 0 0 0 0 0.000585176 0 -0.000382316 0 0 0.00565137 0.00879641 0.000814846 0 7.63845e-05 -0.0487947 0.0137231 0 0 -0.278357 0.000631333 0 -0.017566 -0.642786 0 0 -0.0343071 -0.214139 0 -0.0368002 0 -0.0205493 0 0 -0.00218214 0 0 0.0637004 0.00743668 0.0787019 0 0.0851447 0.047398 0 0 -0.0553054 0 0.0134103 0.515902 -0.0188293 0 0 -0.0117325 -0.0113494 0 0.0252755 -0.0560713 0.0316403 -0.694181 -0.0343773 -0.0207212 0 0.013645 0.0881269 -0.119688 0.000816548 0.312846 0 0 0 -2.22668 -0.272226 -0.384558 0.0160603 -0.0133171 -0.384186 -0.00732076 0.0119298 -0.0233068 -0.0997196 0 0 0 0 0 0 -0.3916 0 -0.139657 0 0 0 0 0.496257 -1.21871 0 0 -1.04628 0 -0.13629 0 -0.123714 0 0 0.929803 0 -0.444416 0.1884 -0.431269 0.10562 0 0 -0.709541 0 -5.12955 0 -1.27011 -1.22531 0 1.43845 -0.670441 -0.0614516 0 0.0708153 0 0 -0.222321 0 -2.65438 1.55376 0 0 0.171799 0 0 0.46671 1.0272 0.896729 0 -3.22644 0 -0.179772 -0.321683 -0.191425 0.657079 -0.307337 -0.377503 -0.148888 0.144991 2.66437 7.3739 -0.0181841 0 0 0 -0.354848 0.120394 0 0 0 0 0.338572 12.8886 6.06974 -5.4574 1.04107 -0.394826 1.30927 0.412972 -0.277617 0.969749 -1.39336 0 0 0 0 0 0 +266 0 1.30736 0.33236 0.081335 0.0315011 0.430181 -0.101713 0.565037 0.690138 0.430214 -1.0252 -0.0212326 0.333624 -0.0561114 -0.632333 -0.00306533 -1.00127 -0.586317 -0.459501 0.0572819 -2.89407 -0.172677 -0.459371 0.0697651 -0.34791 0.525079 -0.541861 -0.0100516 0.417551 1.43509 -0.0874061 0.194724 0.0597701 -1.55735 -0.0249613 0.360663 0.033451 0.446459 -6.27535 0.448735 -1.33759 -0.173991 1.54491 0.198445 -0.152757 -0.502483 -0.632811 0.807028 0.561884 -0.591275 2.64598 -0.402507 -0.263065 -0.0881348 -0.106094 0.767303 -1.59573 -0.511604 0.437844 0.421827 0.319953 -0.819962 2.09578 3.24133 -0.319364 -0.819468 -0.626151 1.58529 0.396916 -0.257269 0.78662 0.178046 1.14032 -0.243473 2.38995 -1.98195 -0.928212 35.6155 9.71226 1.35682 6.70233 -3.19918 6.17543 1.18417 -0.653674 0.214026 -2.51493 0.771263 -0.720682 -0.193653 0.264095 -5.18481 0 0 0 0 0 0.081335 0.0315011 0.0108548 0 0 0 0 0.00307206 0 -0.0356395 0 0 0.00437992 0.034214 -0.0937757 0 -0.0094934 -0.0397721 -0.335648 0 0 0.121461 0.00249511 0 -0.157439 2.29302 0 0 0.00422114 0.385293 0 -0.335316 0 0.0329967 0 0 0.0031266 0 0 -1.07328 0.0426068 0.0574132 0 0.155654 0.0128935 0 0 0.016929 0 0.0170556 -0.180744 -0.0592225 0 0 -0.00917658 -0.0217014 0 0.00044154 -0.0415184 0.00419599 0.341853 -0.126306 -0.0162968 0 0.0289397 0.0957749 0.195952 -0.0568461 -0.0276605 0 0 0 6.39716 -0.0376554 1.36542 0.0653584 -0.13417 0.83119 -0.006148 0.0112016 -0.0144992 0.22356 0 0 0 0 0 0 0.430181 0 -0.101713 0 0 0 0 -0.65573 0.753336 0 0 0.0905839 0 0.00145908 0 -1.75299e-05 0 0 -0.463992 0 0.134524 -0.132572 0.224515 -0.0581986 0 0 0.0886449 0 3.40319 0 -3.32555 -0.249024 0 -1.13478 -0.522106 0.0265658 0 -0.0858562 0 0 0.0846349 0 0.0103244 -0.746411 0 0 -0.0975773 0 0 -0.141852 1.19599 -0.637128 0 1.05744 0 -0.526621 -0.106258 0.587834 -0.211031 0.0520456 0.284949 1.25164 -0.214967 -1.18681 -8.39688 -0.0643769 0 0 0 0.254137 0.0823351 0 0 0 0 -0.272457 31.6813 1.85786 7.50537 1.186 -0.812356 4.15614 0.00542879 -0.0478637 -0.0641214 1.16225 0 0 0 0 0 0 +267 0 -0.27819 -0.246107 -0.148031 -0.169424 -0.0560917 0.117908 -1.59028 -3.16064 -0.938753 3.48442 -0.578621 -2.25148 0.0953694 -3.978 -0.416093 -0.0808383 -1.77638 0.973212 -0.636846 3.55947 0.365785 0.681241 -0.122119 1.16243 -1.0703 0.108259 0.0116278 0.00231981 0.384552 -1.05051 -0.360619 -1.61308 2.07311 0.0508221 -0.686676 -0.208011 -0.230626 6.83205 -1.14121 1.39416 0.291327 -0.436352 -0.395937 -8.24711 0.836707 0.446905 0.190488 -2.72998 0.943094 -3.26286 2.04222 -0.43986 0.88144 -0.643765 0.457189 6.56355 2.08382 -0.0428979 -1.83528 -0.530788 1.04717 0.276508 -6.83998 4.05368 1.76775 0.543463 -3.81494 -0.283541 0.539991 -2.31294 0.303926 -1.27046 0.582474 -0.2081 -0.202974 0.673764 -37.4299 -18.1358 10.4137 -13.4803 9.33389 -6.166 -4.70999 3.48652 -4.85228 5.5205 -1.28426 1.50241 -1.80659 2.34951 -1.38934 0 0 0 0 0 -0.148031 -0.169424 0.00352382 0 0 0 0 -6.5662e-05 0 0.00719543 0 0 0.00147888 -0.0356622 0.0704718 0 0.00904031 0.211236 0.0287289 0 0 -0.314519 -0.00259005 0 0.288542 -0.315042 0 0 -0.0668445 0.141995 0 0.469839 0 -0.0779207 0 0 -0.0195549 0 0 0.894741 -0.00101506 0.0200632 0 0.0458737 0.0527699 0 0 -0.303867 0 0.018983 -0.238751 -0.0369802 0 0 -0.00157215 0.000910072 0 0.0168827 -0.00139756 0.00323118 0.307736 0.00379395 -0.0240518 0 0.00506867 0.109032 -0.00320021 0.0709054 0.0651096 0 0 0 -4.49311 0.13073 -0.653206 -0.0798269 0.164477 -0.482283 -0.00125247 -2.9786e-05 0.00420512 -0.0608168 0 0 0 0 0 0 -0.0560917 0 0.117908 0 0 0 0 0.178715 -1.81449 0 0 0.52351 0 0.0896298 0 -0.111686 0 0 0.992978 0 -0.582228 -0.0167838 0.122627 0.103219 0 0 -0.716653 0 -7.60954 0 -0.31757 -0.940453 0 0.0595158 -0.548807 0.0262265 0 0.0127741 0 0 -0.273763 0 -2.4098 1.71005 0 0 0.181713 0 0 0.390802 -2.70472 0.088272 0 -3.52167 0 -0.579 -0.375014 -0.00120059 -1.34749 0.0606947 1.65658 -1.15966 0.177631 2.91617 12.4705 0.193303 0 0 0 -0.328131 -0.223158 0 0 0 0 0.343835 2.38332 -3.53675 2.29912 -0.990164 1.02551 0.210879 -0.394044 0.301664 -0.53201 -0.107341 0 0 0 0 0 0 +268 0 -0.621531 -0.104325 0.0850129 0.19032 -0.311716 -0.348605 -0.255323 1.27177 0.60706 -1.68672 -0.525778 -1.02316 -0.0491498 -2.20037 -0.245036 -2.05957 -8.38689 -0.485832 -0.521386 1.16135 -0.181104 -0.298812 0.0669375 -0.555708 0.511142 -0.497231 0.0179393 0.672462 1.39113 -0.719761 0.208386 -1.03348 -0.447223 -0.0736589 0.169936 -0.101189 0.390059 0.739729 -0.857067 -0.198436 -0.109007 0.778028 -0.166374 -4.45844 -0.128208 -0.633537 0.881214 -2.05655 0.435735 -2.61518 -0.330171 3.87109 0.786574 -0.560446 0.227611 4.27194 0.770864 -0.305037 0.631673 0.145255 -1.02918 0.319175 -1.50801 -2.74396 0.257092 0.71332 0.969474 0.0661158 -0.341397 0.634476 -0.963794 -0.964834 -0.178058 -0.0108381 -0.386005 -2.2794 -9.35122 1.99998 -5.43125 1.74192 0.306892 -5.02316 1.55084 -1.1007 2.33359 -5.14916 0.196787 0.561745 -0.836022 2.59003 -5.02599 0 0 0 0 0 0.0850129 0.19032 0.0172213 0 0 0 0 0.00504615 0 -0.0142506 0 0 0.00777589 0.0428383 -0.0676327 0 -0.00809688 -0.139208 -0.113468 0 0 -0.48554 0.00310639 0 -0.117427 -0.739171 0 0 -0.0633471 -0.229454 0 -0.0666042 0 -0.110029 0 0 -0.012181 0 0 0.403285 0.0694338 0.108448 0 0.236169 0.102563 0 0 -0.148634 0 0.0335961 -0.329692 -0.0501112 0 0 -0.0163312 -0.0306934 0 0.0313995 0.00299037 0.0456122 -0.359595 -0.00405914 -0.0516216 0 0.0244592 0.0740619 -0.0272621 -0.0150149 0.0485632 0 0 0 -2.38912 -0.216686 -0.0169995 -0.0280069 0.0586366 -0.297217 -0.0102779 0.0189355 -0.0419599 0.0215357 0 0 0 0 0 0 -0.311716 0 -0.348605 0 0 0 0 0.373998 -0.244946 0 0 -0.306566 0 -0.0172319 0 -0.0663733 0 0 0.470538 0 0.7289 0.154289 0.195226 0.0506599 0 0 -0.39747 0 -3.89747 0 4.79228 -0.881791 0 1.41244 2.02851 0.0406895 0 0.036336 0 0 -0.039657 0 -1.78502 0.39918 0 0 0.0279676 0 0 0.405845 -2.93057 0.578649 0 -1.03332 0 -0.638758 0.122289 -0.521198 -0.070908 -0.0439827 0.129505 -0.710389 0.0366435 0.222438 1.97268 0.133539 0 0 0 -0.324749 -0.0249761 0 0 0 0 0.10437 -39.4329 -1.37754 -8.83839 -1.15877 0.922839 -4.62809 0.170585 -0.171535 0.104506 -1.22618 0 0 0 0 0 0 +269 0 0 0 0 0 0.0116619 -0.318508 1.14057 1.53517 0 0 0.0113977 -0.985987 0 -0.543878 -0.00467029 0 0 0 0.221131 -2.09559 0 0 0 0 0.5356 0 0 0.642557 -0.411952 -0.495312 0 -0.115325 0 0 0.362481 0.0240559 0 0 -0.219543 -1.63272 0 0 0.0550139 -2.60077 0 -1.22559 0.476485 0.102489 -0.0556608 0.260539 0.138042 0 0.194688 0.38576 -0.374942 -0.855518 -0.644992 -1.27013 0 0 0.402263 1.45325 0 -0.00727314 -0.159423 -1.31429 0 0 0 0 0.913676 -0.180602 0 0.210477 0.373718 0 0 0 -2.61188 0 0.325655 -0.637302 0 -0.0507591 1.2025 -4.93061 0 0.0538004 0.998749 -1.86566 3.9333 0 0 0 0.111313 0.00493309 0 0 0 -0.0910859 -0.0185246 0 -0.0172426 0 -0.00162106 0.0148044 0 0 0 0 0.0347671 0 0.00400211 0 -0.0218981 0 -0.499093 -0.695038 0 0.00110042 0 0 -0.0324352 -0.00116944 -0.109221 0 -0.00559448 0 -0.000946258 -0.101531 -0.00207316 -0.0235013 -0.0127299 0 -7.68266e-05 0 0 0 -0.00028282 0 0 0.00100211 0.000489888 -0.0979861 -0.00419469 0 0 0.0105287 0 0.00305985 0 0 0.0259687 0.000168407 -0.0159267 0.0135484 0 0 -0.0749122 -0.0768269 -0.0135923 -0.223461 -0.0187341 0 0.0399568 -8.91952e-05 -0.217197 0 0 0 0.36265 0 0.0753528 0.0344258 0 0.00541978 0.00360947 -0.0271577 0 0.000646757 7.65531e-05 0.0137544 -0.0299198 0 0.0116619 0.111313 -0.318508 0.00493309 0.0696481 0.0107239 0.354052 0.114374 0.0771461 0.0192536 -0.024069 0.00938661 0.00570636 0.0280292 0.035733 -0.00781368 0.0240525 0.0666089 0.381368 -0.378506 -0.104938 -0.0477767 -0.0311024 0.0614553 -0.0738852 -0.135198 0.0357248 -0.00729647 2.99026 -0.00542258 -0.898322 -0.286643 0.00291863 -0.0815797 -0.376679 0.0026452 0.00641388 0.017718 0.00311165 -0.884488 0.00971448 -0.0156035 0.891849 -0.15614 0.00189376 0.0186394 -0.0871559 -0.0665348 0.178316 1.33423 -0.234761 -0.3737 0.0506747 -0.090219 -0.196404 -1.01013 0.0996004 -0.105572 -0.584626 0.0398542 0.739775 -0.100112 -0.154474 -0.241623 -2.03599 0.355398 -0.0585474 -0.00540407 0.285245 -0.275956 -0.108913 0.024975 0.00984537 -0.340539 0.0368578 -0.224828 1.45851 -0.0863018 2.78512 -0.00704615 0.238044 2.17545 0.00534273 -0.00683682 0.462097 0.380545 -0.00697389 -0.0243734 0.363395 -0.343931 1.10945 0 +270 0 0 0 0 0 -0.0488866 0.0724026 0.473947 1.08482 0 0 -0.0898117 -0.0936738 0 0.256048 0.118602 0 0 0 0.0838109 -9.00742 0 0 0 0 -0.0455563 0 0 -0.650944 0.753825 0.228659 0 0.846183 0 0 -0.0403703 -0.00361524 0 0 -0.637527 -2.29198 0 0 -0.186806 -1.47761 0 -0.283008 -0.536831 1.802 0.219635 0.272171 0.965505 0 0.11734 0.0733345 0.162251 -2.30178 -0.802643 -1.23221 0 0 0.797502 5.22092 0 1.05922 -0.0417952 -0.926228 0 0 0 0 0.783949 0.363161 0 0.272569 -0.594088 0 0 0 -1.1705 0 0.817657 -1.02892 0 0.639214 -0.164648 -1.88679 0 0.63111 -0.13745 1.13949 -3.718 0 0 0 0.0920529 0.0349667 0 0 0 -0.0200631 -0.0378282 0 0.00113517 0 0.000665172 0.0495184 0 0 0 0 0.0502485 0 0.0215357 0 0.258159 0 -0.278187 -0.363205 0 -0.00557243 0 0 -0.0549144 -0.000422981 -0.0585377 0 -0.00759252 0 -0.00189981 -0.108691 -0.0223946 -0.00384061 -0.0237772 0 1.34598e-05 0 0 0 -0.000380698 0 0 0.00157385 0.000984797 0.172624 0.0332747 0 0 -0.0088926 0 0.00648778 0 0 -0.00296572 0.0113148 -0.452279 -0.00615651 0 0 -0.0104701 -0.0578414 0.003221 0.0397048 -0.540641 0 0.266306 -0.0121093 -0.410643 0 0 0 0.0662416 0 0.0222826 -0.113128 0 0.00350729 -0.00604987 -0.264849 0 0.000243983 -0.00159466 0.000318102 -0.236746 0 -0.0488866 0.0920529 0.0724026 0.0349667 -0.505358 -0.069747 0.712375 0.0462967 1.4762 0.00604198 -0.0436726 0.34147 -0.00116369 0.0381141 0.151884 0.134296 -0.0688334 0.0702448 -1.45203 0.563729 -0.193156 0.0927795 0.191839 -0.233186 -0.116123 0.113839 0.753732 0.0169754 1.58674 -0.171863 -1.41161 0.425863 0.0281105 0.506803 -0.468647 0.0174329 -0.00385064 -0.0179292 -0.0364448 0.792408 0.298643 0.00920253 0.515051 -1.80601 -0.0123227 -0.0137067 -0.299035 0.1163 0.0397449 -0.0706166 -1.21771 0.323613 0.43202 3.78496 -0.546041 -0.521166 0.0455298 -0.165238 -0.279463 0.0446148 0.0460467 0.290178 -0.204079 -2.4375 -3.7474 -0.0306911 -0.304803 -0.0277425 -0.110663 1.0772 0.116234 -0.109894 0.0131369 0.317504 0.0176443 -1.09919 2.29188 -0.400844 -2.94913 0.0168729 -0.0689673 -1.3551 -0.0117232 -0.0921586 0.0778178 -0.723665 -0.00735456 -0.0179454 0.00977815 -0.034111 -0.281853 0 +271 0 0 0 0 0 -0.131625 0.122989 -0.14578 -0.960282 0 0 0.361323 0.508826 0 1.33793 0.249962 0 0 0 0.31309 -4.51231 0 0 0 0 -0.324326 0 0 -0.516489 -3.1815 0.411806 0 1.39709 0 0 -0.0716068 0.0142667 0 0 0.412703 -1.64102 0 0 -0.204008 1.8087 0 -0.1027 -1.23465 2.43015 0.159522 -0.23587 0.648272 0 -0.766282 0.00344873 0.109955 -0.764392 -0.298652 0.877904 0 0 0.973564 -0.475223 0 1.0574 0.435796 0.910649 0 0 0 0 -0.109561 0.613866 0 -1.23269 0.124679 0 0 0 2.91628 0 0.451789 3.64255 0 0.361243 1.57264 0.683956 0 -0.289955 2.46212 -3.90437 12.0441 0 0 0 -0.185192 0.0269538 0 0 0 -0.00159019 0.0423561 0 0.0110586 0 0.00141689 -0.0273631 0 0 0 0 0.116664 0 0.0294808 0 0.174435 0 -0.0877008 -0.299085 0 -0.0215012 0 0 -0.266854 0.00145229 -0.0983695 0 0.0154257 0 0.00213641 -0.230872 -0.0866374 0.0321079 -0.0745785 0 4.54063e-05 0 0 0 0.000774807 0 0 -0.00415628 -0.00142548 -0.109674 0.0495174 0 0 -0.00500464 0 -0.00716898 0 0 0.0478499 -0.0196994 0.0923914 -0.0667304 0 0 0.172506 0.140921 0.0345801 0.357769 0.327478 0 0.311233 -0.000162365 -0.1245 0 0 0 -1.28294 0 -0.147725 -0.121359 0 -0.0111999 -0.0356293 -0.17494 0 -0.00136976 -0.00448757 -0.0237611 0.171548 0 -0.131625 -0.185192 0.122989 0.0269538 -0.0220171 0.027068 -0.0149798 0.123113 1.57142 -0.0441207 0.0358139 -0.484056 -0.0206364 -0.143741 0.0817991 0.245563 -0.0476704 -0.0273736 -1.75614 -0.239292 -0.188411 -0.0483052 -0.405617 -0.195492 0.168226 -0.0875298 1.57174 -0.0171911 3.31894 0.227955 -1.1703 0.834616 0.0225326 -0.0419547 -0.537031 -0.107907 0.00233074 0.00361748 0.0253914 -0.843057 0.333413 -0.00892057 2.13395 -1.89736 -0.00210202 0.0339853 -0.221962 -0.0683979 -0.180559 -0.561584 0.358172 0.122284 0.0144029 1.18613 -0.0750181 -0.389213 -0.00273751 -0.0470615 0.210214 0.105535 -0.519279 0.714906 -0.0443395 -2.10272 -3.48438 -0.229311 0.0636629 -0.041777 -0.0684298 0.334231 0.222458 -0.0569513 0.0223805 0.13794 0.0135811 -0.586649 1.90009 0.290451 1.04394 0.0834863 -0.456923 2.2972 0.0229425 -0.301953 0.884885 -0.93983 0.00286598 -0.222355 0.512858 -0.722021 1.23662 0 +272 0 -0.450872 -0.498727 -0.0350717 0.0208915 0.0794917 0.032327 -0.816334 -1.44062 0.141611 -0.000700637 -0.0042566 0.430614 0.0344584 -1.13232 0.0643889 -3.00207 -13.4467 -0.0780536 0.228958 -0.9194 0.00107743 0.214166 -0.0369622 0.104702 -0.0753713 -0.799315 -0.258788 -0.22 -0.486296 -0.0344129 -0.0458285 0.302145 0.706535 -1.13816 -0.123922 -0.00975188 -0.468326 1.85913 -0.0732488 -0.114087 0.0909841 -2.36537 -0.046761 -1.36759 0.241377 0.129582 -0.296918 0.77516 0.0919658 -1.23872 -0.574816 -3.75014 -0.30936 0.239162 -0.328129 -2.73219 -0.960272 -0.0859386 -0.169994 -0.110241 -0.71835 0.335666 -1.42274 0.351576 0.962285 0.713395 -0.930134 -0.390494 -0.0984949 -0.62933 -0.589204 0.0126098 0.901052 -0.174157 0.299344 0.693752 -9.02855 -1.19757 0.899312 -1.96463 0.986891 -0.927767 -0.449277 0.403049 -0.128658 2.55163 -0.339053 0.318993 -0.0948183 -0.406604 1.75824 0 0 0 0 0 -0.0350717 0.0208915 -0.000878495 0 0 0 0 -6.64704e-05 0 -0.0108936 0 0 -0.000178384 -9.2405e-05 -0.0134706 0 0.000474292 -0.201874 -0.113133 0 0 -0.840999 -4.5666e-06 0 0.0530874 -3.41334 0 0 -0.122872 -0.875077 0 0.209333 0 -0.283347 0 0 -0.0417815 0 0 0.513298 -0.00132434 -0.00357445 0 -0.0174871 0.00232452 0 0 0.137018 0 -8.91153e-05 0.149347 0.000809441 0 0 -3.12465e-05 0.002425 0 0.000301738 -0.0594334 -0.0012207 -1.28772 -0.000819871 -0.0884248 0 -0.000269458 0.124709 -0.303366 -0.0117967 -0.259012 0 0 0 -0.820253 0.0153043 0.0548296 0.000839466 -0.000950738 -0.204241 6.23055e-05 -7.67585e-05 0.00155599 0.0468287 0 0 0 0 0 0 0.0794917 0 0.032327 0 0 0 0 -0.0897356 -0.603585 0 0 -0.0871003 0 -0.000224081 0 -0.00884595 0 0 -0.81528 0 0.444417 -0.00979342 -0.0425077 -0.138307 0 0 -0.13502 0 -7.7148 0 2.10069 -0.30075 0 -0.253568 0.947668 -0.0061133 0 -0.00313774 0 0 -0.0600988 0 -2.1931 -1.13781 0 0 -0.214377 0 0 -0.155472 -0.600839 0.0167494 0 0.639971 0 0.213097 -0.0643482 0.0800194 0.0191407 0.173364 0.379965 -0.0885848 -0.12455 0.468614 2.83551 -0.00740772 0 0 0 0.0186337 -0.0392353 0 0 0 0 0.18918 -2.29123 0.91811 -0.146216 -0.000688688 0.0021986 -0.223879 -0.0446985 0.0315626 -0.0199058 0.17206 0 0 0 0 0 0 +273 0 -0.773129 -0.191908 0.0629742 0.0655229 -0.186902 -0.154832 -0.659181 -0.282517 0.55195 -0.79657 -0.0942841 -1.24232 -0.0471834 -2.11204 -0.0653488 0.184406 0.0953816 -0.113322 -0.113846 0.628644 -0.0703719 0.0756606 0.0713764 -0.35031 -0.128841 0.0227527 0.235073 0.160807 0.187156 -0.503789 0.208308 -0.451072 0.333889 0.764348 -0.145622 -0.00453703 0.707574 1.81514 -0.200368 -0.0342942 -0.0777736 2.66632 -0.00138525 -4.83059 -0.0609338 -0.24163 0.151066 -0.650372 0.0546747 -0.569367 -0.721378 -1.03284 0.282385 -0.0139724 -0.106037 1.36004 0.718995 0.427411 0.374516 0.120639 -1.15521 -0.52079 0.160574 -1.34251 -0.551009 0.65806 0.423696 0.876928 -0.386063 0.564454 -0.69093 -0.744624 -0.987941 1.3855 0.311414 -1.08551 -3.29254 0.0176721 1.2017 -0.377703 0.140121 -0.592686 0.866308 -0.683508 1.15489 0.438832 0.0855914 0.0731838 -0.0212897 0.56967 -0.676675 0 0 0 0 0 0.0629742 0.0655229 -0.000421635 0 0 0 0 -2.81218e-05 0 0.00866329 0 0 2.05587e-05 -5.29614e-06 -0.0125788 0 -0.00211345 -0.112482 0.0521272 0 0 -0.156834 -2.16564e-06 0 0.0889838 -0.969016 0 0 -0.0227105 -0.289613 0 0.238862 0 -0.0295843 0 0 -0.00191887 0 0 0.987831 -0.000560203 0.00147446 0 -0.0083962 -0.00893283 0 0 0.151568 0 -2.06694e-05 0.179318 -0.00136383 0 0 6.56749e-05 0.00120682 0 -0.000119162 -0.235952 0.00363992 -3.82125 -0.00180892 -0.0447377 0 -9.58402e-05 -0.0889404 -1.08606 0.00734851 -0.394921 0 0 0 -2.0352 -0.0126347 -0.175871 -0.00117868 0.00385594 -0.422683 -6.19212e-05 0.000241006 -0.00283101 -0.0324926 0 0 0 0 0 0 -0.186902 0 -0.154832 0 0 0 0 0.224715 -0.44371 0 0 -0.186872 0 -0.00788011 0 -0.0855077 0 0 0.368492 0 0.197298 0.0212203 -0.101566 0.0509137 0 0 -0.62907 0 -7.27105 0 3.02834 -0.884927 0 0.493712 0.891501 -0.0013822 0 0.0145877 0 0 -0.0696224 0 -2.65311 -0.109528 0 0 0.0170213 0 0 -0.344092 -1.18966 0.0821768 0 -2.67492 0 0.153731 0.0371925 -0.0595776 -0.283266 -0.10651 -0.188632 -0.381301 0.171267 1.791 1.21185 0.00267109 0 0 0 -0.26646 -0.0998808 0 0 0 0 0.464053 -15.3428 -0.955404 -0.850151 -0.497485 0.511898 -1.02029 -0.02958 0.0166344 0.0285374 -0.176954 0 0 0 0 0 0 +274 0 0.13287 0.0752641 0.209246 0.0213784 -0.0676118 -0.3745 1.02021 2.8058 0.193437 -3.3358 0.00798858 0.187492 -0.188079 -1.62883 0.0217333 0.937141 5.70263 -1.10458 0.160925 -0.695938 -0.466234 -0.0497542 0.226364 -1.38644 1.22627 -0.0881503 0.332396 0.580291 0.385872 -0.142356 0.434825 -0.488701 -0.994405 0.690574 0.645438 0.0778296 1.46997 -4.30466 0.659853 -0.309908 -0.431739 4.01546 0.385817 -2.71536 -0.944577 -0.626082 0.680631 0.321388 -0.57701 0.641059 -1.8826 -4.02889 -0.138884 0.161466 -0.0709475 -0.381658 0.237406 -0.0346038 1.63839 0.550578 -0.990362 0.3862 3.631 -3.17966 -1.33602 0.24169 3.84737 1.9614 -0.135164 2.32482 -0.078946 0.142164 -1.6099 -0.253209 -0.210352 -2.37918 18.5301 9.66392 -5.77172 6.18173 -4.50594 4.42981 3.50558 -2.98775 3.97236 -4.07005 1.32681 -1.51043 1.43658 -0.765165 -1.39515 0 0 0 0 0 0.209246 0.0213784 0.00295498 0 0 0 0 0.000226389 0 -0.0283886 0 0 0.000126354 -6.14927e-05 -0.177705 0 -0.0286612 -0.273791 -0.1801 0 0 -0.155846 -4.46104e-06 0 0.154952 -0.673312 0 0 0.0011632 -0.4001 0 -0.0264788 0 0.0231043 0 0 0.0168909 0 0 -0.354143 0.0045148 0.00314235 0 0.0589123 -0.0295246 0 0 0.109139 0 0.000262357 0.19198 -0.00185775 0 0 -0.000421152 -0.00821904 0 0.000433522 0.00197224 0.00797847 0.740836 0.00314224 0.00104543 0 0.0181248 0.118705 0.164974 0.0305561 0.0342167 0 0 0 0.254175 -0.0347363 0.0631153 -0.0020153 0.0051096 0.054232 -0.000155966 0.0003145 -0.00438846 0.0774533 0 0 0 0 0 0 -0.0676118 0 -0.3745 0 0 0 0 -0.0906701 1.07032 0 0 -0.0416528 0 -0.00785326 0 -0.0590754 0 0 0.0948993 0 0.463719 0.012506 0.0451396 -0.00780935 0 0 -0.423322 0 -0.384181 0 0.222938 -0.482245 0 -0.0818463 0.426946 0.0254205 0 -0.000384094 0 0 0.117228 0 -1.20608 -1.41718 0 0 -0.194998 0 0 -0.0339026 -0.649803 0.0395131 0 1.29569 0 -0.146431 0.15335 -0.0903736 0.247355 -0.0156018 -0.526599 0.192228 -0.00633619 -0.750152 1.64844 -0.0200125 0 0 0 0.158459 0.00845596 0 0 0 0 -0.284787 1.90325 0.529663 -0.0144527 -0.569852 0.729414 -0.740467 -0.0592103 0.0640211 -0.0169073 -0.0273087 0 0 0 0 0 0 +275 0 0.376225 0.31034 0.0472976 0.293328 -0.121784 0.215083 -0.513709 -0.925273 0.975392 -0.162114 0.0687356 -0.508905 0.000265309 -0.87305 -0.0467753 2.159 8.04949 0.276838 -0.119415 1.68566 0.103819 0.0193687 0.0163886 0.0522217 -0.548269 0.558809 0.220239 -0.629057 -1.32886 0.0148569 0.128189 -0.40612 0.194639 1.04691 -0.301151 0.0065968 0.903856 -0.325977 0.145499 1.01378 0.00369878 3.99325 0.0192549 -2.69805 0.0631853 0.683027 -0.907878 -0.921052 -0.172222 0.870089 -0.204343 -2.96028 0.345611 -0.114677 0.216375 1.80588 0.313864 0.571763 -0.0518619 0.0199933 0.645008 -2.04648 0.0791734 -1.19582 -1.19393 0.778475 0.76482 0.916992 -0.501532 -0.0342079 -0.0518402 -0.0812157 -1.26055 0.977742 0.811563 -3.1671 1.25601 1.20529 0.201238 0.558751 -0.39309 2.35841 0.37298 -0.00635383 0.361948 2.04119 -0.0197637 -0.0306865 0.163915 0.0656848 1.84704 0 0 0 0 0 0.0472976 0.293328 -0.00181284 0 0 0 0 -0.000542323 0 -0.0207247 0 0 -0.00118774 -0.000624534 -0.0173645 0 -0.00258937 -0.0175886 -0.121927 0 0 -0.0831579 -2.19572e-05 0 0.0239598 -1.07792 0 0 -0.0138408 -0.173418 0 0.0576783 0 0.00788179 0 0 0.000371386 0 0 -0.212526 -0.0107955 -0.0245346 0 -0.0358413 0.0488697 0 0 -0.0657004 0 0.000906928 0.00766397 0.00608834 0 0 0.00168806 0.0054284 0 -0.00471317 -0.0241783 -0.0103114 -0.22135 0.0151407 -0.0397852 0 -0.00517383 0.0136474 -0.00328507 -0.0455498 -0.181733 0 0 0 3.04873 0.232352 0.409453 0.0155428 -0.00621605 0.160776 0.000856465 -0.000661227 0.01512 0.0472639 0 0 0 0 0 0 -0.121784 0 0.215083 0 0 0 0 0.0786152 0.872557 0 0 -0.431312 0 -0.0185792 0 0.0117463 0 0 -0.28537 0 -0.430542 0.00351459 -0.0552114 -0.044838 0 0 0.0774077 0 0.813234 0 -1.01851 0.303739 0 0.0481834 -0.396936 0.0109215 0 0.00257444 0 0 0.105488 0 0.0529375 -0.670723 0 0 -0.0852632 0 0 -0.336521 -0.674099 -0.127883 0 2.43098 0 -0.646476 0.0101391 0.0671103 -0.57598 0.0865361 0.624951 0.567295 -0.139713 -0.485902 4.42361 -0.0275542 0 0 0 0.517084 0.0455481 0 0 0 0 -0.252221 9.93399 2.98422 -0.939609 0.895623 -0.784678 0.949439 0.160611 -0.151956 0.209467 0.0549163 0 0 0 0 0 0 +276 0 -0.694354 0.0531061 0.0151804 0.0351826 -0.238304 -0.0335704 -0.117678 0.414647 0.257007 -0.379641 0.111065 0.116903 -6.81001e-06 0.0475759 -0.0202658 -0.505545 -0.375149 -0.109159 -0.0621598 3.52763 -0.0328468 -0.127723 0.00706546 -0.168374 0.15669 -0.193396 -0.0630441 0.352405 0.547254 -0.163842 0.0470356 -0.105882 -0.0677411 -0.169681 0.0114018 0.0115049 -0.158747 1.21464 0.119372 1.15227 6.46073e-05 0.0660836 0.0109379 1.11028 0.00944971 0.198732 0.422053 -0.332435 0.0494405 -0.381787 0.0458233 3.48959 0.1248 -0.00850898 -0.0966722 2.63811 0.853484 0.960579 0.182797 -0.0107368 -1.16774 -4.18588 1.13481 -0.269106 0.477229 -0.102301 0.134236 -0.304205 -0.139165 0.989311 -0.366015 0.119486 0.195462 0.251983 -0.194025 1.31046 -2.24658 0.553615 -0.971246 -0.257475 0.464845 -2.44525 0.40031 -0.304169 0.191169 -0.985934 -0.00295577 -0.0198552 -0.0921549 -0.151653 -0.760651 0 0 0 0 0 0.0151804 0.0351826 -0.00194618 0 0 0 0 -0.000338418 0 0.000373713 0 0 -0.000133833 0.000786466 -0.0059761 0 -0.000829579 -0.0117019 0.00310291 0 0 -0.0670386 1.88629e-05 0 0.0278784 -0.167352 0 0 -0.0132222 -0.0364966 0 0.100998 0 0.00325802 0 0 9.42179e-05 0 0 0.599973 -0.0067095 0.00212439 0 -0.0385837 -0.0162575 0 0 0.156259 0 0.000631149 0.520714 -0.00936184 0 0 0.000908673 0.00633657 0 -0.00402342 -0.0946348 0.0182787 -0.639026 -0.000650936 -0.0247617 0 -0.00118835 0.00610774 -0.306904 0.0430768 -0.0519355 0 0 0 -1.09299 0.0372275 -0.0323774 -3.63261e-05 0.0384095 -0.487342 3.57953e-05 0.00167129 -0.0152753 -0.0706706 0 0 0 0 0 0 -0.238304 0 -0.0335704 0 0 0 0 0.208864 0.0938012 0 0 -0.261152 0 -0.0355742 0 -0.00811292 0 0 1.03208 0 0.133358 0.0104459 -0.174093 0.160966 0 0 -0.00642695 0 2.81637 0 2.52274 0.183208 0 0.434701 0.686303 -0.028363 0 0.0122515 0 0 0.000658287 0 1.05723 1.91064 0 0 0.301631 0 0 -0.345047 0.962188 0.104476 0 0.0406356 0 0.35868 -0.0547002 -0.0173773 0.255878 -0.0580929 0.21079 -0.397764 0.204821 2.39789 11.1208 0.0238875 0 0 0 0.294131 -0.137917 0 0 0 0 0.255945 -10.097 -0.424984 -0.457905 -0.288144 0.203743 -0.507595 -0.0532749 0.0521335 -0.0389912 0.0278212 0 0 0 0 0 0 +277 0 0.50709 0.443876 0.00355429 -0.0984714 0.0850492 0.228492 -0.704201 -1.66622 0.190619 0.037357 -0.275342 -0.337233 0.000979464 0.349614 -0.0642615 0.763894 3.37902 0.00857322 -0.180425 5.96401 -0.0103373 -0.490982 0.00397376 -0.216562 -0.560927 0.47956 0.0803141 -0.0578882 0.859446 -0.0285573 0.0285021 -0.589317 -1.37699 0.399121 -0.354315 -0.0462501 0.140269 -4.74947 -0.503985 2.40135 0.021113 0.753951 -0.0866365 1.29624 0.208725 1.04048 0.227405 -1.50307 0.287203 -0.619708 0.218158 1.86586 0.519788 0.141589 -0.21173 -0.221597 1.07788 -0.49276 0.231485 -0.0676369 -0.85213 -2.46168 1.78464 0.574293 0.537839 -0.562466 0.504122 0.0464859 -0.0888088 0.832474 0.0931816 -0.543528 0.0125369 -2.22991 0.507965 0.928955 18.1714 3.20614 4.4827 2.30672 -1.05974 4.00442 -0.0144721 0.254426 -0.70688 2.00026 -0.065287 0.0526207 -0.279471 0.242375 -1.19458 0 0 0 0 0 0.00355429 -0.0984714 0.00208723 0 0 0 0 0.000716666 0 -0.0188318 0 0 0.000637992 -0.000920518 -0.0263184 0 -0.00562234 -0.0655843 -0.0755342 0 0 0.257193 -6.62257e-05 0 0.0192986 0.174642 0 0 0.0478781 -0.11633 0 0.0511997 0 0.0326397 0 0 0.00842031 0 0 0.110571 0.0143386 0.0153736 0 0.0417062 -0.091826 0 0 0.285618 0 -0.00172868 0.171456 -0.00872805 0 0 -0.00297987 -0.00740181 0 0.00868728 -0.110947 0.0221873 1.05149 -0.0267472 0.028229 0 0.0367417 0.0663993 0.0779338 0.0431822 0.102969 0 0 0 -3.93596 -0.27512 -0.457044 -0.0212421 0.0275519 -0.363348 -0.000961436 0.00129133 -0.0206884 0.0191076 0 0 0 0 0 0 0.0850492 0 0.228492 0 0 0 0 0.0043743 -0.793422 0 0 0.135784 0 -0.0322126 0 -0.105113 0 0 1.20342 0 -0.736597 -0.0633564 0.00674602 0.170022 0 0 -0.762731 0 0.842983 0 -2.89175 -0.179547 0 -0.481862 -1.24239 -0.0246002 0 -0.00791086 0 0 -0.12209 0 -0.322413 1.9396 0 0 0.291552 0 0 0.309912 0.570224 -0.150419 0 -2.66923 0 -0.00746072 -2.77294e-05 0.0387524 0.431208 -0.114804 -0.18677 -0.325574 0.0915654 1.1349 -2.6137 -0.0237277 0 0 0 -0.462614 -0.0147382 0 0 0 0 0.339425 13.1168 -0.324325 2.97211 -0.169773 0.19969 0.451944 -0.179969 0.187452 -0.172442 0.371447 0 0 0 0 0 0 +278 0 0 0 0 0 -0.128651 -0.0508837 1.52214 2.49219 0 0 -0.0750587 -0.267127 0 0.423899 0.0141333 0 0 0 0.0534348 -1.69915 0 0 0 0 0.204579 0 0 -0.0502596 2.75411 0.174718 0 0.0518011 0 0 0.199649 -0.0548986 0 0 -0.790708 -0.00136682 0 0 -0.342541 -1.79908 0 -0.0106414 0.451622 0.0920462 0.42556 1.21861 0.553703 0 0.270787 0.25087 0.38914 0.900002 0.434724 0.854042 0 0 2.44217 -1.33045 0 1.63085 -0.101707 -0.469547 0 0 0 0 1.29029 -0.374032 0 0.0350081 -0.156146 0 0 0 -7.40946 0 1.25981 -5.45221 0 1.13878 -2.07618 -2.77778 0 1.7909 -3.43861 3.6533 -8.08068 0 0 0 0.0755604 0.0124851 0 0 0 -0.063502 -0.0362329 0 -0.00860503 0 -0.00373898 0.0426443 0 0 0 0 0.199943 0 0.0318482 0 0.365087 0 -0.382847 -1.05747 0 -0.00501609 0 0 0.0849661 -0.00231867 -0.246909 0 -0.0124614 0 -0.00199788 -0.183306 0.00389102 -0.0224015 -0.055665 0 -0.000424917 0 0 0 -0.00091024 0 0 0.000826511 -0.00456022 0.150186 -0.0772094 0 0 -0.0712182 0 0.00100923 0 0 -0.0299598 0.0130716 -0.217136 -0.0346373 0 0 0.0624867 0.0738695 0.0816097 0.0331347 0.350398 0 -0.14868 0.0143027 0.504004 0 0 0 -1.61538 0 -0.156532 -0.0452126 0 -0.0257103 0.0225799 -0.0695032 0 0.00385007 -0.0110311 0.0155425 0.0410975 0 -0.128651 0.0755604 -0.0508837 0.0124851 -0.2756 -0.0776447 0.328638 0.187667 2.27408 0.0023342 -0.0111359 -0.0792604 -8.32093e-05 -0.00306044 0.0531159 0.146795 0.0913547 0.032211 0.318858 -1.18461 -0.65587 0.0547404 -0.0969091 -0.0263502 0.265849 0.0868983 0.631208 -0.0189553 7.67539 -0.178911 -3.70293 0.904327 0.010741 0.671767 -1.79656 -0.0175723 -0.00247101 -0.000537433 -0.0421708 0.79174 0.510735 0.00918904 3.3156 -0.819896 0.00433819 0.00518253 -0.209574 -0.137393 0.0892533 0.4141 2.50677 -0.0267084 0.0168442 2.18029 -0.180411 0.125782 -0.0437597 0.0578905 -1.59396 0.125356 1.59841 0.846078 0.00566281 -1.01679 -2.4905 0.147369 -0.021304 -0.0421666 -0.125548 0.41474 -0.366782 -0.147366 -0.0419397 0.125393 0.135694 -0.672952 51.2031 7.86803 -6.04869 3.00205 -0.549279 -2.19455 0.00534959 0.268695 -0.92222 0.218389 -0.0561028 0.201919 -0.598937 0.455867 -0.800107 0 +279 0 0 0 0 0 -0.309336 -0.207987 1.9595 4.84293 0 0 0.0112769 -0.351966 0 -0.523474 -0.0835364 0 0 0 -0.413865 1.04426 0 0 0 0 0.812938 0 0 -0.122979 -2.27583 0.16481 0 -0.148296 0 0 0.304861 -0.0302484 0 0 -0.45241 0.137105 0 0 -0.225121 -4.06722 0 -0.0159391 -0.428631 -0.459025 0.371256 3.48351 -0.374249 0 0.388936 -0.2676 -1.01122 2.84901 0.407061 0.852481 0 0 -0.4768 -0.488811 0 -2.02737 -1.8255 -1.77523 0 0 0 0 0.74235 -1.32252 0 3.3623 0.718151 0 0 0 -14.838 0 -0.618854 3.8497 0 -0.296567 1.5393 -5.77703 0 0.9579 1.11754 -1.34333 10.692 0 0 0 0.0737526 0.00549344 0 0 0 0.0896974 0.0172509 0 0.012834 0 -0.00806875 0.105451 0 0 0 0 0.300777 0 0.0412416 0 0.713268 0 0.57373 -0.643656 0 0.0100164 0 0 0.120202 -0.00445783 -0.0633079 0 0.00845627 0 0.000269098 -0.143134 0.0313977 -0.0559798 -0.0180967 0 -0.000557227 0 0 0 0.000479456 0 0 0.00733551 0.00489901 -0.541659 -0.0213919 0 0 0.0393276 0 0.0013773 0 0 0.0791412 -0.0490528 -0.123125 0.0180543 0 0 0.244858 0.0445969 0.0428564 -0.0655273 0.17184 0 0.362289 -0.0230357 -0.113839 0 0 0 -1.51562 0 0.00859391 -0.401442 0 -0.0105109 -0.014492 -0.211565 0 0.00503378 -0.0183991 0.0172298 0.0905524 0 -0.309336 0.0737526 -0.207987 0.00549344 0.452863 0.0407444 -0.133418 0.302837 -0.890586 -0.00922931 -0.0526592 0.341118 -0.000982248 0.0595007 -0.0279356 -0.0168878 -0.0941587 -0.0599706 -0.663826 0.52661 -0.360714 0.188575 0.000476311 -0.154184 -0.354789 -0.0718009 -0.109928 -0.00642296 -2.41313 0.355184 -0.911819 -0.429892 -0.0044438 0.96594 -0.88192 -0.0011518 0.00465469 0.0486991 0.0377025 -0.847796 -0.218233 -0.00408424 -1.51584 -0.728829 -0.0124079 0.0350899 -0.222296 0.0185583 0.0575566 0.180974 6.1755 0.685725 0.0555712 2.1079 0.0621515 -1.67012 0.121997 -0.528507 0.31528 -0.0222107 -0.084418 2.1633 0.303779 2.64733 10.2056 -0.361605 -0.0401225 -0.177619 0.0131675 0.583434 0.0720645 0.145473 -0.0246808 -0.204975 -0.00699423 0.209683 12.6084 -0.555936 -7.1376 1.2087 -2.48378 3.1681 -0.178516 -0.492304 0.583136 -0.692305 0.104452 -0.310229 0.378043 -0.283775 0.580475 0 +280 0 0 0 0 0 0.508505 0.589213 -1.39838 -4.06678 0 0 -0.190608 2.65716 0 4.53287 0.419584 0 0 0 0.716747 0.587641 0 0 0 0 -0.727964 0 0 -1.00205 3.26615 1.20328 0 2.24576 0 0 -0.339986 0.0861775 0 0 -3.08504 0.716745 0 0 -0.626539 11.3476 0 0.82552 -0.432414 4.46754 -0.0451985 0.516772 -0.367217 0 -0.235759 0.041712 0.262929 -1.18915 -0.175042 -3.32437 0 0 -0.319495 5.81509 0 -0.127698 -0.338884 1.58839 0 0 0 0 -0.713781 1.14678 0 -5.1212 -0.868476 0 0 0 10.176 0 5.07751 -3.53902 0 2.24824 -2.24784 5.65801 0 3.71635 -4.24341 7.79236 -11.3348 0 0 0 0.468728 0.129019 0 0 0 0.14824 0.0131959 0 0.0307939 0 -0.0154876 -0.0696257 0 0 0 0 0.0722674 0 0.0133999 0 -0.241037 0 0.599853 0.931013 0 -0.00504076 0 0 0.126231 -0.00428678 0.178488 0 -0.00877302 0 0.00046463 0.139308 0.00411795 -0.0704226 0.0320119 0 -0.000933025 0 0 0 -0.00060418 0 0 0.00257573 -0.000935799 -0.305207 0.0422093 0 0 0.0278864 0 0.00204759 0 0 0.0127546 -0.00727285 -0.236392 -0.00187037 0 0 -0.00144351 -0.0796321 0.0557854 0.0118693 -0.248374 0 0.287219 0.00241977 0.132457 0 0 0 0.783528 0 0.170029 -0.170637 0 0.0117864 -0.00198658 0.00554855 0 0.00273765 -0.00801753 0.0222752 -0.0787575 0 0.508505 0.468728 0.589213 0.129019 -0.774449 -0.0781549 1.43324 -0.652686 3.53437 0.0181423 -0.169646 1.32172 -0.00332647 0.0647018 0.216173 0.257621 -0.130167 0.461265 -1.28409 0.716119 0.318177 -0.445535 0.349892 -0.16976 -0.891323 0.228804 1.59876 0.0224604 3.86808 -1.31599 3.11419 1.45366 0.0336368 -2.40933 1.19001 0.00400797 -0.0325301 -0.121589 -0.25242 1.69897 0.526692 0.025815 2.73088 -3.17437 -0.0225587 -0.156363 -0.374349 0.146273 0.270699 0.259905 -7.6369 -2.33203 0.0332886 1.81716 -0.605487 2.75368 -1.80365 1.80251 -1.61674 0.19634 1.18687 -4.05792 -0.188992 -3.93002 -6.54585 0.631052 -0.387589 0.298378 -0.373929 0.323595 -0.523762 0.0293373 -0.237757 0.108674 0.0913937 -1.51542 -43.0621 -15.2944 18.68 -5.90116 7.78125 -8.20755 -2.06288 2.42516 -2.5493 2.33232 -0.803398 1.23204 -1.45564 1.41776 -1.58302 0 +281 0 -0.19063 -0.136701 0.155879 0.0194966 0.00524396 -0.315686 0.474946 1.47203 -0.692807 -2.78838 0.0804515 0.418779 -0.143675 -0.204337 0.166955 -1.61125 -4.83508 -0.940911 0.444539 -4.10892 -0.478906 -0.107397 0.101987 -1.39436 0.963391 -0.583699 0.0153615 0.415872 0.704614 -0.0310697 0.099926 0.815414 -0.438628 -0.178756 0.488313 0.102722 0.604755 -0.254499 0.41395 -1.99625 -0.339451 1.56504 0.255079 -0.291984 -0.755707 -0.972039 0.567483 2.12657 -0.68927 0.378177 -3.17083 5.26517 -0.459358 0.0493151 0.374585 1.91833 -0.109843 -1.93345 1.89738 0.489049 0.359446 5.12873 2.76372 -2.19991 -1.46221 0.907096 2.40066 1.72195 0.862543 2.31215 -0.098699 0.290464 0.220355 -1.24883 -0.886394 -0.871404 -2.48309 7.88459 -5.08788 4.96463 -1.66982 -3.10911 4.33637 -2.71733 2.57954 -1.30971 1.07915 -0.92245 0.474156 0.0492029 -1.82235 0 0 0 0 0 0.155879 0.0194966 0.0138866 0 0 0 0 0.00103274 0 0.011217 0 0 -0.00457939 -0.0347986 0.0348101 0 -0.00295717 -0.148828 0.0752014 0 0 -0.336488 -0.00252669 0 0.0612721 -2.27248 0 0 -0.0501805 -0.586366 0 0.0787482 0 0.0143892 0 0 0.00403903 0 0 0.691918 0.0164728 -0.0561249 0 0.204043 -0.0671418 0 0 0.134102 0 0.00222562 -0.248639 0.0040672 0 0 0.0080412 -0.0405366 0 -0.0182291 0.153375 -0.0409101 1.37326 -0.0313954 0.0507435 0 0.0338409 0.0140406 0.00306812 0.0300899 0.00233282 0 0 0 -4.66712 -0.319923 -0.133771 -0.0104731 -0.0267379 -0.0751624 0.00728373 -0.0123352 0.00992984 -0.012326 0 0 0 0 0 0 0.00524396 0 -0.315686 0 0 0 0 -0.297731 1.66325 0 0 0.37172 0 0.0466843 0 0.0667685 0 0 -0.763089 0 1.07501 0.0260845 0.471483 -0.08783 0 0 0.626667 0 -0.734828 0 4.421 -0.425739 0 -0.0207334 2.29433 0.0639485 0 -0.0156303 0 0 0.203419 0 -0.887486 -1.5679 0 0 -0.189067 0 0 0.249651 -2.3618 -0.154147 0 1.6259 0 1.26376 -0.521672 0.349163 0.8592 0.172117 -1.08288 -1.3824 -0.227141 -1.65481 4.79097 -0.248989 0 0 0 0.0187339 0.212362 0 0 0 0 -0.456119 -56.3707 -10.955 4.94224 -3.45264 1.43793 -1.27017 -0.393164 0.198209 -0.103705 -0.0615705 0 0 0 0 0 0 +282 0 -0.827283 -0.45532 -0.0245021 0.196454 0.0451741 0.112771 -0.805384 -1.38234 -0.334829 -0.0517191 0.361752 -0.954464 0.0544878 -0.681025 -0.117069 -0.782513 -8.07669 0.497623 -0.304801 -0.762427 0.196325 0.408282 -0.0846409 0.1201 -0.790465 0.166974 -0.0173364 -0.246946 -0.852613 -0.292351 -0.212043 -0.0214061 2.06964 0.656263 -0.432136 -0.00454345 -0.590143 8.22867 0.628793 -0.0207121 0.104131 0.227557 0.000740838 -1.71031 0.201177 0.222375 -0.458191 -0.428938 0.314666 -0.998363 -0.135333 0.143078 -0.194293 0.563376 -0.285785 2.24934 0.263911 0.44411 -0.124821 -0.184205 -1.75316 -0.665964 -4.34514 1.7787 0.425153 0.817629 -2.20536 0.108775 0.660551 -0.31893 -1.34519 0.215323 1.27226 1.33864 0.359308 0.646818 -41.4728 -7.10582 6.34899 -7.48669 3.63244 -5.48813 0.765663 -0.657531 0.534148 1.83963 -0.28728 -0.282073 0.348611 -1.52041 2.20513 0 0 0 0 0 -0.0245021 0.196454 0.0043474 0 0 0 0 0.0030217 0 0.0400662 0 0 -0.0104485 -0.0303706 0.0333868 0 0.0124104 -0.00826879 0.182989 0 0 0.365774 -0.0021053 0 0.106816 -1.14998 0 0 0.0505113 -0.158597 0 0.50853 0 0.0449494 0 0 0.00504868 0 0 1.44332 0.0438222 -0.146644 0 0.070737 0.0383458 0 0 0.519944 0 0.0203397 -0.123445 -0.0302936 0 0 0.0138132 -0.000537333 0 -0.0447189 0.0857126 -0.0195037 0.727069 0.0182667 0.0571878 0 0.0470933 0.0309441 -0.253524 0.169234 -0.0951815 0 0 0 -4.41001 0.0810466 -0.460513 -0.0837067 0.076491 -0.179865 0.0114082 -0.0145315 0.0222652 -0.0291199 0 0 0 0 0 0 0.0451741 0 0.112771 0 0 0 0 -0.00040159 0.330876 0 0 -0.443263 0 -0.0390377 0 0.010134 0 0 0.271702 0 -0.105146 -0.0129811 -0.254488 0.0489281 0 0 0.267262 0 -3.9423 0 2.14753 -0.0978147 0 -0.308103 0.33825 -0.0269851 0 0.00875832 0 0 -0.0174714 0 -0.797293 0.671826 0 0 0.104678 0 0 0.201319 -2.74473 -0.19923 0 0.343837 0 1.23694 0.328266 -0.0561257 0.492532 -0.0782415 -0.349014 -1.29602 -0.11603 -1.04062 0.890237 -0.120126 0 0 0 -0.0457246 0.0168294 0 0 0 0 -0.0522954 -25.0331 -0.652232 3.29418 -2.12522 1.18589 -0.89813 0.472197 -0.238972 0.163653 0.155853 0 0 0 0 0 0 +283 0 0.89497 0.547477 0.111043 0.272669 -0.106699 -0.161257 0.192011 0.703737 2.15686 -1.22341 -0.312011 -0.288052 -0.0249664 -2.43894 -0.286848 2.20912 10.058 -0.385084 -0.595135 1.88107 -0.146165 -0.281206 0.109689 -0.563981 0.484263 0.547963 0.190072 0.53764 1.58078 -0.501517 0.475431 -1.61944 -1.00832 0.458977 0.189855 -0.0622514 0.647315 -3.76284 -0.646872 0.143678 0.0698379 2.23176 -0.102011 -3.15754 0.727005 -0.311557 0.920814 -3.41193 0.265077 -1.75203 0.0613283 -1.433 -0.0320379 -0.144758 0.70405 -0.110882 0.554408 3.12704 0.460146 0.0956521 1.10747 -2.76573 2.25735 -0.784571 0.0603728 -0.547917 2.30857 1.20857 -0.70898 0.178015 0.535603 -0.714723 -0.943528 4.00131 -1.35459 -0.571832 12.5808 3.48804 -0.560597 1.89463 -0.937438 -1.1343 1.54285 -0.704048 0.262654 0.209049 -1.03816 1.06495 -2.06881 2.14783 -4.08841 0 0 0 0 0 0.111043 0.272669 -0.000419401 0 0 0 0 -0.00120253 0 -0.00168187 0 0 -0.00223128 -0.0105809 0.0230581 0 -0.003743 -0.164454 0.0836881 0 0 0.426593 -0.000694619 0 0.0463852 1.07508 0 0 0.080033 -0.132183 0 0.0247616 0 0.158899 0 0 0.0287112 0 0 -0.143344 -0.0176873 -0.0359596 0 -0.00770833 -0.00569101 0 0 0.0597023 0 -0.00244483 -0.143514 -0.0031608 0 0 -0.0014242 0.00532476 0 -0.00505624 -0.183087 0.0200355 0.35823 -0.00434195 -0.0177806 0 0.0665035 -0.00838936 -0.199632 0.165238 0.0207663 0 0 0 1.02489 0.146547 -0.0533994 -0.0066371 0.016163 0.0152841 0.000939203 -0.000340165 0.00469591 -0.0125002 0 0 0 0 0 0 -0.106699 0 -0.161257 0 0 0 0 0.025184 -1.4089 0 0 -1.1274 0 -0.145941 0 -0.118612 0 0 0.686361 0 -0.590951 0.0132332 -0.370772 0.101959 0 0 -0.89468 0 -1.47531 0 -5.15178 -0.591739 0 0.303926 -1.61891 -0.0491775 0 -0.00328179 0 0 -0.184038 0 -1.09406 1.24728 0 0 0.179087 0 0 -0.277604 2.12276 0.226128 0 -0.996013 0 -1.56899 0.994074 -0.551059 -0.274934 -0.212872 0.13613 2.06458 0.135411 1.45275 2.71966 0.0926253 0 0 0 0.0250015 -0.142022 0 0 0 0 0.450603 60.6742 14.9991 -6.04546 4.60133 -2.55561 2.22535 0.862376 -0.506225 0.506623 -0.230587 0 0 0 0 0 0 +284 0 0.0290236 -0.0348444 -0.105986 0.12333 -0.159715 0.17962 -1.06206 -1.01987 1.27031 0.76854 -0.102559 -1.24934 0.09276 -2.25688 -0.135678 0.540305 -0.649666 0.489384 -0.274551 1.11234 0.198694 -0.11402 -0.0287794 0.313803 -0.783772 0.402327 0.194375 -0.341258 -0.453103 -0.518121 0.0867172 -0.913479 0.0189818 0.672546 -0.551162 -0.0940253 0.0723785 1.12266 -0.427 0.63589 0.256672 0.094436 -0.22929 -4.11929 0.697975 0.464993 -0.444966 -2.01175 0.597041 -2.17324 0.697616 -0.601585 0.639029 -0.113085 -0.150679 -1.12348 0.520916 0.907194 -0.63173 -0.284923 2.52371 -2.63818 2.21922 1.07754 1.32798 -0.0415089 -0.776077 -0.780875 -1.02542 -1.10353 0.227286 -0.951802 -0.166237 0.975146 0.552633 0.675575 -3.44063 -1.61049 5.58541 -2.68313 2.36905 -0.128098 -0.569019 0.362794 -0.288571 1.25159 -0.908609 0.868581 -0.600162 0.164153 1.16212 0 0 0 0 0 -0.105986 0.12333 -0.0154548 0 0 0 0 -0.00318561 0 0.0157701 0 0 -0.00148895 0.0214291 0.0253868 0 0.00270493 -0.135651 0.192589 0 0 0.116541 0.00102281 0 0.114777 -1.88837 0 0 0.0196091 -0.473379 0 0.485257 0 -0.0595186 0 0 -0.00684788 0 0 1.13876 -0.0563978 -0.00530677 0 -0.272849 -0.0869222 0 0 0.284267 0 -0.0105413 -0.317539 0.0037971 0 0 -0.0053608 0.0409508 0 0.0177119 0.19655 -0.0403687 1.14447 -0.0858091 0.0660604 0 -0.0508212 0.00919529 -0.36301 0.305515 0.063195 0 0 0 -12.341 -0.908389 -1.09076 -0.0482628 -0.0649356 -0.0934856 0.00248514 -0.0108584 0.00701027 -0.0292876 0 0 0 0 0 0 -0.159715 0 0.17962 0 0 0 0 0.20097 -2.0689 0 0 -0.553033 0 -0.0709248 0 -0.10976 0 0 0.113422 0 -0.662357 0.0293423 -0.44725 0.0395015 0 0 -0.865594 0 -5.90127 0 -0.453198 -0.423115 0 0.389642 -0.908495 -0.056498 0 0.0186063 0 0 -0.261906 0 -2.06034 0.558794 0 0 0.11684 0 0 -0.333976 2.87936 -0.0165878 0 -1.61862 0 -0.709902 0.5632 -0.158029 -0.223002 -0.151173 0.59364 0.974106 0.0251586 1.20483 1.92376 0.179092 0 0 0 -0.23871 -0.141651 0 0 0 0 0.690824 8.75201 5.76906 -4.0163 0.760431 -0.505716 0.316896 0.607723 -0.308937 0.262345 -0.21243 0 0 0 0 0 0 +285 0 -1.66581 -0.720595 0.042999 -0.0280592 0.184411 -0.20633 -0.315024 -1.12095 0.150867 -0.434987 -0.29259 -0.532673 -0.0605903 -1.06336 0.147779 -3.55737 -16.7034 -0.410918 0.328272 -2.83831 -0.200488 0.205532 0.0828027 -0.246804 0.179516 -0.859793 -0.0260607 0.254396 -0.172888 -0.288101 0.163421 0.229794 1.39788 -0.694512 0.150925 0.0131979 -0.13462 8.7295 -0.118477 -1.11873 -0.115003 -1.62487 0.118589 -3.23188 -0.208026 -0.541911 0.181105 0.802769 -0.225179 -0.666644 -1.37136 7.34012 0.634676 -0.334426 0.325815 1.21786 1.01432 -1.17929 0.546443 0.104825 1.8483 1.49664 -1.04047 -0.107017 0.376822 1.57519 -0.986643 -0.157695 -0.357487 -0.94342 -1.71358 0.254617 0.204332 -2.8323 -0.496098 1.58779 -43.3339 -4.43195 5.75752 -6.28786 6.44132 -8.28325 0.310226 -0.14739 0.489004 2.0449 0.270803 -0.0989235 0.379303 0.00563027 0.443423 0 0 0 0 0 0.042999 -0.0280592 -0.00223119 0 0 0 0 -0.00129479 0 0.039215 0 0 -0.000290431 0.0019938 0.0372739 0 0.0102089 -0.100156 0.135807 0 0 0.0820558 0.000101306 0 0.131382 -1.92186 0 0 0.00644492 -0.386017 0 0.49115 0 0.10249 0 0 0.0125444 0 0 1.90648 -0.0243929 0.0096509 0 -0.0338045 0.0186494 0 0 0.654776 0 -0.00274609 0.0609727 -0.0193591 0 0 -0.000457855 0.00399434 0 0.0120474 -0.146587 -0.015376 0.306352 -0.0743669 0.0344664 0 0.0357827 0.0441105 -0.225561 0.112454 -0.0571683 0 0 0 -12.2988 -0.632477 -1.07124 -0.0830765 -0.0106345 -0.194272 0.00120225 -0.00604529 0.00397128 -0.0210304 0 0 0 0 0 0 0.184411 0 -0.20633 0 0 0 0 -0.215676 -0.518343 0 0 0.38204 0 0.0596121 0 -0.0333664 0 0 -0.362673 0 0.923321 -0.00468166 0.36395 -0.035556 0 0 -0.30282 0 -3.96591 0 5.2667 -0.247515 0 -0.456315 2.19568 0.0519577 0 -0.00513261 0 0 -0.0559544 0 -0.679954 -1.11049 0 0 -0.120132 0 0 -0.162219 -4.57392 -0.139118 0 -1.17269 0 1.048 -0.545936 0.349745 0.915352 0.141194 -1.24039 -2.59329 -0.229472 -1.28969 -6.26314 -0.319042 0 0 0 -0.360899 0.144412 0 0 0 0 0.190771 -66.2793 -11.4596 7.42773 -4.53766 2.22745 -1.86248 -0.349117 0.183826 -0.141614 0.175654 0 0 0 0 0 0 +286 0 0.460978 0.235239 0.13836 0.273221 -0.211924 -0.262349 0.654904 1.16937 1.62529 -1.46931 -0.290408 -1.08198 -0.0383111 -0.954058 -0.171421 0.71238 2.33236 -0.242629 -0.363245 2.75637 -0.0715574 -0.15566 0.0919176 -0.362779 0.239538 0.295387 0.0667096 0.528425 1.26686 -0.436983 0.362804 -1.04258 -0.791283 0.543685 0.212936 -0.0285559 0.679385 -4.07479 -0.814934 0.482189 0.0203897 3.38265 -0.0730687 -3.8187 0.622032 -0.4155 0.709744 -2.3107 0.023378 0.76013 0.299318 -4.37866 -0.759041 -0.0560298 0.0748195 0.313385 -0.953704 1.64071 0.230897 0.162305 0.454283 -2.39557 -1.39873 2.0422 -0.615624 -1.10032 -1.34865 0.910917 0.218408 -0.0516202 0.500487 -0.3744 -0.0790196 2.966 -0.192624 -1.25711 24.9352 4.35947 -4.49204 2.46485 -1.50858 1.12529 1.93149 -1.10776 1.12378 -2.21655 -0.809748 1.05682 -1.62228 2.11713 -3.24924 0 0 0 0 0 0.13836 0.273221 0.00425577 0 0 0 0 0.0006151 0 -0.0137127 0 0 -0.00305071 -0.0214409 -0.00298645 0 -0.00263905 0.292824 -0.0296545 0 0 0.0119142 -0.00118205 0 0.0234274 2.35113 0 0 0.0196165 0.774833 0 -0.0415259 0 0.05847 0 0 0.0118382 0 0 -0.371902 0.0126493 -0.0527425 0 0.0853536 0.0291179 0 0 -0.0444467 0 0.00192073 0.148169 -1.96178e-05 0 0 0.00276097 -0.00827058 0 -0.00757686 -0.00944392 0.0173975 -1.28657 0.0328599 -0.0352936 0 0.0369955 -0.0066795 -0.474065 0.137527 -0.0647281 0 0 0 4.05108 0.384223 0.396427 0.0164337 0.0219367 0.0267772 0.00182888 0.000822076 0.00559953 0.00129384 0 0 0 0 0 0 -0.211924 0 -0.262349 0 0 0 0 0.36005 -0.550669 0 0 -1.12645 0 -0.145212 0 -0.076371 0 0 0.679365 0 -0.302514 0.0947048 -0.230904 0.0932323 0 0 -0.48608 0 -4.69936 0 -3.81623 -0.572363 0 1.0088 -1.12546 -0.0320431 0 0.0300796 0 0 -0.0933639 0 -1.14449 0.472265 0 0 0.0856469 0 0 -0.0554326 5.42154 0.136121 0 -0.130356 0 -1.53864 0.983555 -0.457471 -0.8007 -0.24198 0.879373 2.78945 -0.00309938 0.81576 4.03649 0.290658 0 0 0 0.0720655 -0.0403934 0 0 0 0 0.20683 54.3597 13.664 -9.39686 3.82077 -2.02698 1.67985 0.832849 -0.501396 0.48629 -0.423249 0 0 0 0 0 0 +287 0 0 0 0 0 0.145002 -0.0340451 -0.330445 -0.865234 0 0 -0.220809 -0.304625 0 -0.544609 -0.00435757 0 0 0 0.133036 0.734876 0 0 0 0 -0.11973 0 0 0.216989 -0.0274938 -0.0420291 0 -0.19744 0 0 -0.0345498 -0.0605914 0 0 -0.0518032 0.397409 0 0 -0.0103993 -2.38446 0 0.13945 0.30575 -0.379162 -0.247455 -1.06631 -0.0146015 0 -0.00418917 0.281644 -0.131041 0.847903 0.316173 0.562883 0 0 -0.213774 -2.56483 0 -0.32662 0.418882 -0.887172 0 0 0 0 0.358429 0.465043 0 0.467546 -0.465905 0 0 0 1.35523 0 -0.561394 1.72695 0 -0.496275 0.163865 1.70864 0 -0.574956 0.920581 -1.24058 2.6407 0 0 0 -0.0653608 -0.0175982 0 0 0 -0.00256611 -0.0903771 0 -0.000241082 0 0.00148254 0.0218582 0 0 0 0 0.0365842 0 0.0242118 0 -0.175475 0 -0.0358152 -0.714482 0 -0.00419271 0 0 -0.150517 0.000210742 -0.0890195 0 -0.0139784 0 -0.00546599 -0.0810128 -0.0295792 0.0048587 -0.0115918 0 1.46025e-05 0 0 0 -0.00075756 0 0 -0.00668584 0.0007251 0.278767 0.0256387 0 0 -0.0025836 0 0.0160903 0 0 -0.0506645 0.0352481 0.0682126 0.0543282 0 0 -0.12907 -0.162715 0.0665801 -0.225125 0.644699 0 0.120505 0.0174871 0.30044 0 0 0 1.16279 0 0.0710388 0.384945 0 0.0149582 0.0143286 0.0763823 0 -0.00225532 0.00836525 -0.000116988 0.0275803 0 0.145002 -0.0653608 -0.0340451 -0.0175982 0.241167 0.0309599 -0.0358107 0.0408386 -0.406926 0.0336288 -0.0604706 0.26882 0.00342344 0.0278442 -0.00619194 -0.0539386 -0.0392889 0.290063 0.57319 0.108796 0.33586 0.101335 0.20259 0.10841 -0.393731 0.0732563 -0.596202 0.00786711 -1.3507 -0.197243 0.964814 -0.525293 -0.000721576 0.107575 0.649705 0.0312336 -0.000113912 0.0241743 0.000455248 0.52088 -0.0298731 0.00850098 -1.46907 0.226188 -0.00630603 -0.0226715 0.0864103 0.0336003 0.0863449 -0.4123 -0.849535 0.350076 0.103141 1.07693 -0.0063687 0.373366 -0.280231 -0.318388 0.0963123 -0.19806 -0.381692 -0.780781 0.284704 1.84526 11.1112 -0.176681 -0.0474741 0.0323722 0.164802 0.605767 -0.143422 0.0591451 -0.141436 0.0597208 -0.185773 0.0852329 -2.03173 -0.0797756 -0.211158 -0.382246 0.664063 -1.24491 0.0397029 0.194008 -0.4192 0.406701 -0.0461997 0.0852875 -0.392014 0.407663 -0.536032 0 +288 0 0 0 0 0 -0.370834 0.169074 -0.0715462 0.120985 0 0 0.0856658 0.419546 0 0.693388 0.0586981 0 0 0 0.269421 0.549414 0 0 0 0 -0.3277 0 0 -0.656533 -0.0588708 0.374797 0 0.194795 0 0 -0.251481 0.0422395 0 0 -0.123744 1.06525 0 0 0.0374333 0.850967 0 0.947809 -0.712122 0.698013 -0.0209663 1.01722 0.191468 0 -0.523816 0.313568 -0.458074 -3.86574 -1.35908 -0.917028 0 0 0.0221905 -1.489 0 0.73009 -0.345228 0.294801 0 0 0 0 0.150818 0.0233931 0 -1.95536 2.28721 0 0 0 0.158772 0 0.789083 -0.682197 0 0.345641 -0.0686318 0.572823 0 -0.483486 0.00912155 0.849982 -0.980018 0 0 0 0.042142 0.00752046 0 0 0 -0.0431727 -0.0217331 0 -0.00415819 0 0.00326546 -0.0213613 0 0 0 0 -0.0644267 0 -0.0124822 0 -0.115329 0 -0.371586 -0.292955 0 -0.00258853 0 0 -0.0817889 0.000756024 -0.0126827 0 -0.00112383 0 -0.00239232 0.0301262 -0.01682 0.00861104 0.00826325 0 0.000265648 0 0 0 -0.000206226 0 0 0.00622826 0.00549691 0.0356502 0.0144851 0 0 -0.00796497 0 0.0129231 0 0 0.0056342 -0.0173795 -0.165706 -0.0334648 0 0 0.0137887 0.00156408 0.0623058 0.100922 0.0844722 0 -0.0405628 -0.0131908 -0.137145 0 0 0 0.292201 0 0.0247357 0.140088 0 0.00138938 0.0137683 -0.0628519 0 0.000152244 0.000219601 -0.00508125 0.0165263 0 -0.370834 0.042142 0.169074 0.00752046 -0.373755 -0.0107912 0.110656 -0.223086 1.02949 -0.00795004 -0.0159651 0.1184 -0.000913062 0.00535372 0.0162176 0.0481418 -0.0189345 -0.0494755 -0.792375 0.292975 -0.348722 -0.0634976 0.142587 -0.0983764 -0.0820347 -0.0801814 0.724319 0.00901654 -2.19714 -0.0594712 -1.29323 0.282922 0.00232342 0.00497178 -0.722712 0.0044548 -0.00307812 -0.0666166 -0.00695498 -0.20826 0.0758975 -0.0188293 -0.0831761 -1.09644 -0.00346744 -0.0132344 -0.126323 0.0529636 0.160806 -0.0397399 -1.03846 0.745254 -0.107789 0.245486 -0.0500709 0.626477 0.160768 -0.337062 -0.343111 -0.105755 0.111536 0.114052 0.112988 -4.0507 -15.298 0.0798345 -0.517416 0.0191456 0.322507 -0.305671 0.0563919 0.0720587 0.0291388 -0.11532 -0.142798 -0.563819 2.72332 -0.397125 0.42873 0.155083 -0.049228 0.556161 -0.0198527 0.109894 0.104532 -0.246348 0.00788019 0.0420341 -0.0178262 0.023104 0.256693 0 +289 0 0 0 0 0 0.173119 -0.381163 0.378535 1.43511 0 0 -0.774766 -2.17598 0 -3.63885 -0.193114 0 0 0 -0.593668 -4.83651 0 0 0 0 0.291931 0 0 0.890887 5.92967 -0.951649 0 -1.29869 0 0 0.184537 -0.100954 0 0 -1.55389 -1.64903 0 0 -0.258575 -8.95231 0 -1.04279 2.17603 -2.58238 0.642323 -0.276232 0.668895 0 0.504038 -1.09145 0.363972 0.985769 0.589272 -0.0587216 0 0 -0.265164 2.32216 0 1.69244 0.653817 0.921276 0 0 0 0 -0.639641 -1.09315 0 1.55144 0.675381 0 0 0 -2.44616 0 1.03106 -5.95469 0 0.530183 -1.1449 -3.21489 0 1.15362 -3.17072 4.57246 -13.1168 0 0 0 0.164275 0.0235532 0 0 0 -0.0406825 -0.0196261 0 -0.00208194 0 -0.000796528 0.015835 0 0 0 0 -0.025798 0 0.000266956 0 0.0432914 0 -0.533196 -0.0909368 0 0.00221849 0 0 -0.00927826 -0.00118515 -0.00391431 0 -0.004118 0 -0.0011089 -0.0274687 0.00725787 -0.0171033 -0.00098152 0 -7.22218e-05 0 0 0 -0.000220649 0 0 0.00204258 -0.0021194 0.199386 0.00819743 0 0 -0.000625284 0 -0.00117177 0 0 -0.0344071 -0.00234879 0.00488007 0.00760947 0 0 0.0229294 -0.0220502 -0.010494 -0.0633723 -0.0601039 0 -0.0417093 -0.00765302 0.0258655 0 0 0 0.262408 0 0.037981 0.150141 0 0.00239697 0.0124657 0.00362949 0 0.00116065 -0.00260192 0.00950446 0.0070738 0 0.173119 0.164275 -0.381163 0.0235532 -0.181319 -0.17701 0.760316 -0.192153 -1.14218 0.010497 0.0113704 0.120341 0.000880929 0.010717 0.076954 -0.0805378 -0.0221624 0.124249 -1.00609 -1.66491 -0.626406 -0.0177708 0.0928776 -0.18519 -0.28424 0.183094 -1.10917 -0.0471721 -14.0084 -0.355171 -2.27882 -2.33256 0.00770162 0.16967 -1.2821 0.0093944 -0.00262613 -0.0466036 -0.0343615 1.34575 -0.0568102 0.0279661 -6.09411 -3.1206 0.00243545 -0.0303779 -0.506008 -0.287145 -0.194653 -1.25364 -1.32048 1.56503 0.185311 -5.56014 -0.372187 1.11277 0.203291 -0.592142 -0.771958 0.232359 0.145966 -0.310804 -0.163466 1.4726 -4.46944 -0.0119655 -0.508562 0.117157 0.360054 -0.412616 0.0112385 -0.00129251 0.0141204 0.100354 -0.179166 0.0563119 4.7988 -0.606814 0.696321 0.0506552 0.097606 -1.46145 0.0165935 0.0248153 -0.215629 -0.21437 -0.0197898 0.147735 -0.41775 0.490357 -1.15919 0 +290 0 0.73202 -0.306186 0.0335954 0.0829466 0.144047 -0.188438 0.939865 1.79965 0.0469795 -1.74081 0.337558 0.146227 -0.00746898 0.938388 -0.000801393 -2.23825 -6.93435 -0.326204 -0.0143895 -0.237716 -0.0609252 0.489733 0.005617 -0.437066 0.625525 -0.753403 -0.102329 0.403739 -0.11161 0.126993 0.0323422 0.195571 0.592887 -0.593923 0.402114 0.0339526 -0.354039 -0.262064 0.588048 -0.436725 -0.0582061 -1.00638 0.0682671 0.86245 -0.44502 -0.379631 0.214782 0.203705 -0.207389 0.364249 -0.505925 6.14434 -0.0886799 -0.164693 -0.00483578 -2.23606 -0.14259 -0.388616 0.588683 0.172556 -0.926781 -0.38379 -0.881973 -2.31408 -0.203471 -0.541325 1.179 -0.221754 -0.013942 0.664544 -0.208793 0.297924 0.629328 -3.1499 -0.376454 1.6036 1.57448 1.04208 -1.13325 0.879102 -1.08047 1.10033 1.65871 -1.0848 1.45143 -1.24055 0.135723 -0.159397 0.154052 -0.198561 0.068735 0 0 0 0 0 0.0335954 0.0829466 0.00233451 0 0 0 0 7.75567e-06 0 -0.0118275 0 0 -0.00257491 -0.00338863 -0.00835974 0 -0.00051534 -0.0201012 -0.0447645 0 0 -0.0735829 -0.000283335 0 0.0269341 -0.9794 0 0 -0.0135236 -0.181729 0 0.0409578 0 0.0042167 0 0 0.000233131 0 0 -0.332612 -0.0016875 -0.037557 0 0.0304016 0.0591328 0 0 -0.189266 0 -0.00224941 0.373699 0.00190154 0 0 -0.00213354 -0.0110132 0 0.00568737 -0.000550201 0.0209297 1.74344 0.0303618 -0.07087 0 0.0123261 0.00302769 0.195052 -0.00213199 -0.0895738 0 0 0 5.56295 0.407206 0.704205 0.0382733 0.0158245 0.0104758 0.000374288 0.00163079 0.00426474 0.00105701 0 0 0 0 0 0 0.144047 0 -0.188438 0 0 0 0 0.241369 1.40882 0 0 -0.187005 0 -0.0206952 0 0.0587076 0 0 -0.548073 0 1.08066 0.0443946 -0.0800646 -0.0713341 0 0 0.701615 0 4.50812 0 0.504478 0.589585 0 0.262545 1.19232 -0.00736959 0 0.0371052 0 0 0.118019 0 1.90058 -1.12328 0 0 -0.156937 0 0 0.357976 -1.50238 0.0973107 0 1.20681 0 -0.233824 0.040052 -0.101036 0.0967032 -0.032344 -0.451226 -0.429768 0.0442313 -3.61652 -13.696 -0.0624603 0 0 0 -0.026815 -0.0297159 0 0 0 0 -0.515282 3.21569 1.38409 -0.530732 0.150295 0.0642085 -0.0764121 0.121243 -0.107689 0.0907601 -0.0794203 0 0 0 0 0 0 +291 0 -0.601136 -0.183823 -0.0146429 -0.0262238 0.00455978 -0.106551 -0.553419 -0.886189 -0.0856401 0.0181564 -0.0905888 0.0930574 0.00300005 -0.26985 0.0131566 -1.86502 -6.55958 -0.186905 0.0228608 -0.402521 -0.0465844 -0.221834 -0.00390093 -0.014926 0.0963462 -0.47122 -0.0904414 0.411047 0.331972 -0.169657 -0.025175 -0.0431489 -0.681594 -0.580839 0.050067 -0.0190855 -0.405765 -0.917487 -0.12985 -0.628681 0.0179969 -1.7048 -0.0308805 0.470202 0.088531 -0.589916 0.399892 -0.0291995 0.152875 -1.257 -0.282902 1.36715 0.0861306 0.0662286 0.0220837 -2.16365 -0.143845 0.235537 0.0784113 -0.0393768 0.614317 1.13179 0.320808 -0.230454 0.829424 0.313581 -0.124874 -0.532978 0.0348803 0.131627 0.00718019 -0.267622 0.608688 0.522724 -0.478247 1.44399 2.51806 1.82376 -0.237433 1.04188 -0.78867 0.847635 0.0128503 -0.106526 0.106796 0.828569 -0.0270003 0.0336718 -0.0778835 0.091997 -0.204445 0 0 0 0 0 -0.0146429 -0.0262238 -0.000355474 0 0 0 0 0.00024894 0 -0.0136413 0 0 0.000463216 -0.00103815 -9.77484e-05 0 -0.00107338 -0.0188074 -0.0426979 0 0 -0.164488 -1.58139e-05 0 -0.0232555 -0.545748 0 0 -0.0242813 -0.0879193 0 -0.105942 0 -0.0237098 0 0 -0.00313534 0 0 -0.412498 0.00673026 0.00228256 0 0.0160495 -0.0337523 0 0 -0.0157094 0 0.000555632 -0.0908284 -0.00198034 0 0 0.00129552 0.0018634 0 -0.000460025 -0.00906187 0.00536062 0.264508 -0.0221464 -0.00933859 0 0.0072284 0.00645227 -0.181237 0.122686 -0.0239124 0 0 0 2.1474 0.112973 0.109832 0.0135765 0.00130689 0.0453533 -0.000547188 0.00155453 -0.000870078 0.00831592 0 0 0 0 0 0 0.00455978 0 -0.106551 0 0 0 0 0.164195 -1.40108 0 0 -0.0384091 0 -0.00423701 0 -0.0625764 0 0 0.827185 0 0.383092 0.0278374 -0.123163 0.107549 0 0 -0.738081 0 -2.7783 0 3.14613 -0.571373 0 0.12988 0.996895 -0.0103185 0 0.0203245 0 0 -0.120461 0 -1.36319 1.77622 0 0 0.238043 0 0 -0.181607 2.57479 -0.0743251 0 0.103722 0 0.370765 -0.0545671 0.101716 0.697821 0.20911 0.0686559 0.0521941 -0.0134502 2.80097 11.6196 -0.162665 0 0 0 0.17433 0.0620806 0 0 0 0 0.391577 -10.6495 -0.795084 -0.220301 -1.31747 1.09832 -1.40899 -0.0540408 0.0258781 -0.00459618 -0.00349161 0 0 0 0 0 0 +292 0 0.389556 -0.190941 0.0340675 0.209117 -0.158301 0.0281344 -0.0724064 0.614197 0.637648 -0.649361 0.261111 -0.545928 -0.0022492 -0.458186 -0.00757559 -1.7836 -7.9092 -0.0277547 -0.0319949 -0.998197 0.00967221 -0.0324678 0.00638414 -0.0904771 -0.123133 -0.393218 0.0027366 -0.365182 -1.07108 -0.0177793 0.0630479 0.15456 0.0340181 0.189857 -0.161762 0.025781 0.030802 0.914951 0.360654 0.158116 -0.0129742 1.14721 0.0371931 -3.27192 -0.0601433 0.348855 -0.611814 0.0230192 -0.0753587 -0.51758 -0.401962 -6.1544 0.209024 -1.71874e-05 0.0336852 -2.21976 -0.416413 -0.461261 0.25893 0.0358015 -0.485991 -0.31187 0.751058 -0.679816 0.424792 0.391503 0.383301 -0.342175 -0.242656 0.413748 -0.655747 0.0660122 -0.335453 -0.367316 0.0298341 -1.44744 -4.30332 0.161503 -2.70072 -0.721455 0.316034 -1.09396 0.239941 -0.28326 0.549252 -1.00699 0.0183426 -0.0644196 0.18185 -0.278871 0.659626 0 0 0 0 0 0.0340675 0.209117 -0.00102003 0 0 0 0 -0.000256416 0 -0.00825147 0 0 -0.000779683 0.000548067 -0.00987783 0 -0.000515569 1.02398e-05 -0.0959246 0 0 -0.206047 1.65946e-05 0 0.00616454 -0.23996 0 0 -0.0201654 -0.00841128 0 -0.00999246 0 -0.00925804 0 0 -0.00046713 0 0 -0.0528084 -0.00453586 -0.0119019 0 -0.0154044 0.0190165 0 0 -0.0171028 0 3.77333e-05 0.238309 0.00270271 0 0 0.00389729 0.00262795 0 -0.0135565 -0.00973555 0.00414194 0.0245491 -4.27804e-05 -0.0239288 0 -0.00753398 -0.00933879 -0.140727 0.0442186 -0.0588644 0 0 0 2.81691 0.239204 0.518734 0.013674 0.0159807 -0.00232393 0.00113222 0.000102608 0.000779797 0.021164 0 0 0 0 0 0 -0.158301 0 0.0281344 0 0 0 0 0.347927 1.13133 0 0 -0.57495 0 -0.0629389 0 0.0342814 0 0 0.216839 0 0.367782 0.168915 -0.161757 0.0297058 0 0 0.477143 0 3.82093 0 2.71468 0.503509 0 1.09826 0.997188 -0.0177067 0 0.0594008 0 0 0.0893501 0 1.31258 0.111661 0 0 0.0161926 0 0 0.168085 2.21588 -0.252204 0 2.12942 0 0.530011 -0.0219802 0.115943 0.569211 0.165915 0.452239 -0.249565 0.0992039 -1.74751 -1.26113 -0.143615 0 0 0 0.194601 0.0699392 0 0 0 0 -0.330481 -6.44311 1.37865 -3.21134 -0.0528202 0.109053 -0.607846 0.283874 -0.221032 0.215288 -0.399955 0 0 0 0 0 0 +293 0 -0.920105 0.0216021 -0.106438 -0.306817 0.196218 0.283997 -0.467724 -1.83009 -0.316947 2.63805 -0.314192 0.76884 0.0306315 1.31286 0.0133355 1.01374 -0.253716 0.483704 0.0808397 1.88986 0.00778161 -0.255281 -0.0228839 0.520775 -0.6522 0.502729 -0.0187098 -0.396782 0.793682 0.401595 -0.106423 0.110036 0.245793 0.162509 -0.325012 -0.0561461 0.0347503 2.60888 -1.07511 1.26811 0.177105 -0.476171 -0.199125 2.6668 0.968785 0.86334 -0.1247 0.358814 0.509643 0.736452 1.58453 -4.90602 0.0509813 0.119064 -0.400958 -0.507338 -0.154209 -0.350615 -1.12897 -0.407961 -0.534328 1.18673 0.112483 1.5031 -0.0909395 -0.33381 -0.495447 0.0324261 0.00661293 -0.535971 0.197756 -0.490774 -0.154183 -0.286799 1.07673 -0.485004 -4.45004 -4.85809 3.45144 -4.09156 2.92879 -3.36774 -3.39768 2.68245 -3.09484 2.82711 -1.31851 1.60795 -1.76826 2.0809 -2.01236 0 0 0 0 0 -0.106438 -0.306817 -0.0123915 0 0 0 0 -0.00156165 0 -0.00972578 0 0 0.00241629 -0.00110557 0.010332 0 -0.00130017 -0.110567 -0.0154219 0 0 0.0210881 -0.000153234 0 0.0355372 -1.76601 0 0 -0.00265182 -0.380106 0 0.0372854 0 -0.024899 0 0 -0.00470425 0 0 -0.0324253 -0.0220464 0.04087 0 -0.18407 0.0389451 0 0 -0.0741728 0 -0.00559307 0.328118 0.005643 0 0 -0.0109328 0.0310968 0 0.0301765 0.108458 0.0196488 1.9157 0.0260099 -0.0662773 0 -0.0418744 -0.00827905 0.110084 0.175674 -0.0730613 0 0 0 -0.207429 -0.0715096 0.150022 0.0178834 -0.0248222 0.00752545 -0.00489583 0.00509347 -0.00463509 0.000903602 0 0 0 0 0 0 0.196218 0 0.283997 0 0 0 0 -0.300279 -1.96961 0 0 0.60197 0 0.0671811 0 -0.02918 0 0 0.233965 0 -0.992941 -0.121625 0.211095 0.0223294 0 0 -0.372199 0 -6.36095 0 -0.966599 -0.0531502 0 -0.704043 -0.984494 0.021994 0 -0.0543512 0 0 -0.188278 0 -0.746891 0.499272 0 0 0.0450651 0 0 0.019512 -0.679138 0.0835541 0 -2.08992 0 0.200763 -0.29148 0.128906 -0.2729 -0.0666535 -0.188933 -0.361655 0.0163646 2.01217 -1.82593 0.0608223 0 0 0 -0.264971 -0.115728 0 0 0 0 0.580462 3.09516 -0.691908 1.35672 -0.00618784 -0.083804 0.31887 -0.30715 0.177326 -0.211093 0.267107 0 0 0 0 0 0 +294 0 -0.781933 0.293424 0.0376416 0.0419921 -0.270855 -0.106366 -0.108417 -0.037062 0.234186 -0.0161363 0.130201 -0.899624 -0.0131382 -0.673896 0.0451775 2.47259 8.07024 0.270154 0.0455739 -3.20448 0.114141 -0.105771 0.0156235 0.079555 -0.0819047 0.724459 0.311785 0.0531757 -0.649869 -0.344876 0.072357 0.196735 -0.324975 1.09715 0.055052 0.0384554 1.0042 -1.29662 0.382812 -1.61044 -0.0636324 3.03062 0.0990629 -2.14968 -0.26202 -0.892445 -0.160843 0.36788 -0.238932 1.28354 -0.125158 -10.5175 0.0881553 0.0994562 0.0710521 2.24911 0.80292 0.27782 -0.0920828 0.136972 0.496018 1.52664 1.15944 0.00157622 -1.3593 0.318586 0.242304 1.55516 -0.0943397 -0.0988655 0.0450249 0.329963 -1.75801 0.655502 -0.356525 -3.97106 5.22628 1.76502 -0.660958 0.370589 -0.91169 2.91629 -0.809917 0.15456 0.432221 -0.0545178 0.356606 -0.49752 0.774405 -1.07316 1.64773 0 0 0 0 0 0.0376416 0.0419921 -0.00655094 0 0 0 0 -0.0013314 0 -0.0122636 0 0 0.00244397 0.0135683 -0.0172205 0 -0.00286467 0.0872135 -0.0375322 0 0 -0.089902 0.000984205 0 -0.0387089 -0.343964 0 0 -0.0205921 0.1778 0 -0.0705074 0 0.0176408 0 0 0.00143182 0 0 -0.159728 -0.018541 0.0334818 0 -0.0858733 -0.0262207 0 0 0.00544525 0 0.0139661 -0.062353 -0.0168521 0 0 0.0058127 0.0329085 0 -0.00610795 0.0195727 -0.00718421 0.30447 -0.0189075 0.00809338 0 -0.01877 0.0183191 -0.159596 0.208705 0.0548415 0 0 0 0.227537 -0.0075319 -0.0245009 0.00544879 -0.00634803 0.0189535 -0.000592786 0.0012786 -0.00446159 0.00482484 0 0 0 0 0 0 -0.270855 0 -0.106366 0 0 0 0 0.101317 0.140351 0 0 -0.293788 0 -0.0348769 0 0.0104786 0 0 0.148995 0 -0.20707 0.0455986 -0.0516636 0.0399649 0 0 0.000617185 0 5.0215 0 1.3316 0.190838 0 0.392639 0.101948 -0.00697305 0 0.0118049 0 0 0.029033 0 1.11562 0.590198 0 0 0.12952 0 0 -0.605865 3.25651 0.0973995 0 -0.659459 0 0.698995 0.0556787 -0.0817707 0.754028 0.169513 0.108292 -0.40021 0.0346235 2.43185 10.1402 -0.147002 0 0 0 0.39777 0.066048 0 0 0 0 0.0284795 -3.78316 0.871879 -1.70146 -0.690957 0.41489 -0.45257 0.133205 -0.136628 0.193341 -0.207524 0 0 0 0 0 0 +295 0 -0.249778 -0.0988696 0.045751 0.227322 -0.190815 0.0284879 0.618012 1.19096 0.413828 -0.171224 0.738149 0.308052 -0.00973974 1.86018 0.179873 0.740404 0.286293 0.159548 0.310206 -3.67059 0.0724941 0.0891141 0.00936028 0.0391537 0.0982619 0.391289 0.174684 -0.588696 -2.43091 0.518955 0.0620567 1.41992 0.52579 0.850146 0.0415834 0.113522 0.450935 2.43989 1.07833 -0.781446 -0.044843 2.84969 0.178224 0.419699 -0.143912 0.0666154 -1.20831 2.4595 -0.542409 2.46326 -0.353602 0.962689 -0.582756 0.738309 -0.447199 0.106353 -0.081925 0.723078 0.0954456 0.109208 1.482 -3.08409 1.13926 -0.630068 -1.19388 -0.409102 0.850066 0.94716 -0.119256 0.260511 0.379497 1.29767 -0.416026 -1.8436 -0.0514067 -0.48613 -7.8356 -0.309639 -3.85326 -1.53957 0.16364 -0.97572 -0.174174 -0.248896 0.745708 -2.41632 0.195863 -0.863977 1.83666 -3.56599 6.1635 0 0 0 0 0 0.045751 0.227322 0.0025288 0 0 0 0 0.000437698 0 0.0253092 0 0 -0.00158304 -0.00191467 0.0076562 0 0.00356424 0.0231321 0.0650403 0 0 -0.246327 -0.000118796 0 -0.0356539 0.346141 0 0 -0.0182853 0.0692753 0 -0.0705932 0 -0.0220121 0 0 -0.000825794 0 0 0.152625 0.00578267 -0.0222846 0 0.0309629 -0.030905 0 0 0.115712 0 -0.00124667 -0.135552 0.00790552 0 0 0.00385876 -0.011077 0 -0.020393 -0.0589054 0.0052576 -0.498751 -0.0313723 0.0203089 0 0.00796751 -0.025299 0.22578 -0.127074 0.0718736 0 0 0 -0.513029 0.0468646 -0.0760572 -0.0185249 0.01649 -0.0139005 0.00232467 -0.00272572 0.00285066 -0.00923747 0 0 0 0 0 0 -0.190815 0 0.0284879 0 0 0 0 0.315738 2.24786 0 0 -0.508545 0 -0.0468145 0 0.110968 0 0 -0.549917 0 0.251364 0.104769 -0.175212 -0.0456803 0 0 1.24153 0 6.52233 0 1.80705 1.29528 0 0.722301 0.881599 -0.0129854 0 0.0463151 0 0 0.199603 0 3.22085 -1.45533 0 0 -0.136013 0 0 -0.232674 2.63343 -0.200883 0 2.65148 0 0.421864 0.160726 0.0238904 0.503962 0.281276 0.70515 -0.0641809 0.0537659 -2.76337 -3.99093 -0.204526 0 0 0 0.488962 0.0607802 0 0 0 0 -0.675709 -0.789889 1.06719 -1.04306 0.0908538 0.0955415 -0.295674 0.171153 -0.135937 0.173412 -0.218364 0 0 0 0 0 0 +296 0 0 0 0 0 0.196971 0.00618773 -0.170317 -0.779264 0 0 0.121593 -0.882093 0 -2.60416 -0.0512837 0 0 0 -0.345102 -3.70533 0 0 0 0 -0.126637 0 0 -0.240879 -4.00315 -0.521071 0 -0.251083 0 0 -0.0671356 -0.015108 0 0 0.531265 -2.09011 0 0 0.0183845 -3.99218 0 -0.729793 -0.871505 -1.23512 0.0349115 -0.858085 -0.141562 0 0.295777 -0.196389 0.21866 1.65127 0.272947 -0.414028 0 0 -0.181251 3.81202 0 -0.176517 -0.113574 0.211579 0 0 0 0 -0.297062 -0.060919 0 1.26896 -0.135368 0 0 0 3.42442 0 0.27285 4.55672 0 0.452916 0.0887401 2.08315 0 0.342476 0.802843 -2.48837 10.9201 0 0 0 -0.0730653 -0.0124474 0 0 0 0.00182269 -0.0405835 0 0.00106528 0 -0.00422685 -0.0170696 0 0 0 0 -0.0429216 0 -0.00342101 0 -0.258424 0 -0.0458017 -0.264329 0 6.97864e-05 0 0 -0.0961793 -0.00375232 -0.0112272 0 -0.00148637 0 -0.00249902 -0.161482 -0.00786621 -0.0516328 -0.0101126 0 -0.000307305 0 0 0 -9.14009e-05 0 0 0.00992275 -0.00384651 0.0495554 -0.0483681 0 0 -0.0180382 0 0.00419689 0 0 -0.0281579 -0.0349395 -0.149087 -0.0445674 0 0 0.167946 0.0709361 -0.00211162 -0.182974 -0.24212 0 -0.288487 -0.00684918 -0.0280091 0 0 0 0.775496 0 0.083149 0.721274 0 -0.00828919 0.0920551 0.254285 0 0.00493034 -0.00784374 0.0226789 0.480587 0 0.196971 -0.0730653 0.00618773 -0.0124474 0.187312 0.100248 -0.0816111 -0.147754 0.116097 0.00846553 -0.0273501 -0.119948 0.000681343 -0.0155437 -0.00859918 0.0102315 -0.0256739 0.0987124 -0.85107 0.190103 -0.159167 -0.0153045 -0.106026 -0.0329459 -0.187762 -0.199874 0.218767 0.00504613 -2.65535 0.210885 -1.262 -0.333484 -0.00078935 -0.77434 -0.563381 -0.0116288 0.00485597 0.0398699 0.0460823 -1.41363 -0.00676374 -0.0262907 -1.04943 -1.24268 -0.00371518 0.0306642 -0.102396 0.0201118 -0.285275 0.122355 0.507312 0.0321442 0.0915137 1.13303 0.0119727 0.366898 -0.0395414 0.131051 -0.126539 -0.165272 -1.34083 0.105109 -0.111644 -0.220795 -0.230563 -0.188256 0.851612 0.0173772 0.152135 0.00337209 0.0374127 -0.00611482 -0.0177425 0.0212864 -0.10566 0.0393802 7.77942 0.189394 2.24691 -0.225338 -0.486676 3.61008 0.021604 -0.0784784 0.220782 0.855418 -0.012345 -0.0604828 0.316571 -0.532523 1.55099 0 +297 0 0 0 0 0 0.194774 0.508754 -0.687788 -0.968522 0 0 0.144037 1.92367 0 2.9485 0.0157747 0 0 0 0.0809667 2.44324 0 0 0 0 -0.292667 0 0 -0.796563 -0.826677 0.950176 0 0.0436463 0 0 -0.312271 0.0132435 0 0 0.688466 1.11011 0 0 0.199332 6.85532 0 0.909046 -0.725359 0.16461 -0.376023 1.51469 -0.583111 0 -0.27136 0.42495 -0.22126 0.189716 0.403122 0.544502 0 0 -0.221777 -0.379473 0 -0.885287 -0.334805 0.081501 0 0 0 0 0.390775 0.682974 0 -1.24403 0.523085 0 0 0 1.67791 0 -1.48997 2.84455 0 -1.09321 1.13349 -0.840466 0 -0.928594 0.917217 -1.72143 2.4015 0 0 0 -0.0419757 -0.0123504 0 0 0 0.001155 0.0350618 0 0.000362938 0 -0.00184645 -0.0150871 0 0 0 0 -0.0765954 0 -0.00584633 0 -0.156623 0 -0.0174925 -0.0803971 0 0.000783337 0 0 0.0130234 0.00020496 -0.00204684 0 0.00246298 0 0.00258743 -0.0712746 0.00633147 0.00268707 -0.00634966 0 -0.000134293 0 0 0 0.000180185 0 0 -0.00055069 0.00411478 0.0115542 -0.00351088 0 0 0.0118311 0 -0.00448959 0 0 -0.00573735 -0.012017 -0.114378 -0.0125727 0 0 0.0790439 0.0334608 0.011451 -0.0706923 -0.0609115 0 -0.036593 -0.00963436 0.111534 0 0 0 0.418646 0 0.0227734 -0.0579467 0 -1.40149e-05 0.0110291 0.0748599 0 -0.000258033 -0.00245389 0.0132924 -0.0150048 0 0.194774 -0.0419757 0.508754 -0.0123504 0.161562 0.0823167 -0.133283 -0.275716 -0.233578 0.00721792 -0.0587869 -0.0716834 0.000626152 -0.010576 -0.0109316 -0.00207457 -0.0502749 0.0727104 -0.0155556 1.8213 0.346817 0.0574567 -0.0590363 -0.0230801 -0.407849 0.0323529 0.0161656 0.0329053 2.88363 0.0697137 1.16724 1.48421 -0.000877546 -0.377545 0.626063 -0.00763186 0.00160261 -0.0140185 0.0105019 0.0837226 -0.0243381 0.00786021 1.94979 1.54539 -0.00688414 0.00906481 0.176453 0.233241 0.07213 -0.34886 -1.85902 0.543828 0.0517728 0.203862 0.0184482 0.166279 -0.0584003 -0.088161 0.326869 -0.533529 -1.07416 0.352674 0.0491922 0.36666 3.71473 0.00941763 -0.159882 0.0312591 -0.129516 0.387743 0.0258282 -0.0117736 -0.0147842 0.144636 -0.0510605 0.0242662 -7.1953 0.387712 1.9581 -0.297095 -0.16165 0.90132 0.0148709 -0.129993 0.478957 -0.588228 -0.00909316 -0.0546853 0.0592964 -0.10267 -0.187871 0 +298 0 0 0 0 0 -0.185026 -0.0200537 0.2436 1.3819 0 0 0.0638382 -0.163954 0 -1.40566 -0.016345 0 0 0 -0.0569278 -3.42358 0 0 0 0 0.0911094 0 0 -0.00579696 1.5113 0.0265339 0 0.0293007 0 0 -0.0440814 -0.0341548 0 0 0.16147 -0.709906 0 0 -0.0410956 -3.55416 0 0.222316 0.173274 -0.252877 0.228741 -0.800832 0.381525 0 0.102023 0.0742138 -0.175823 0.839327 0.0825575 -0.00638767 0 0 0.2109 5.50597 0 0.982763 0.281577 -0.361148 0 0 0 0 0.146448 -0.223893 0 4.08011 0.320961 0 0 0 -1.4014 0 0.554294 -2.99484 0 0.652529 -1.83782 -1.51507 0 0.656954 -2.43695 2.0011 -6.10701 0 0 0 -0.208368 -0.0170389 0 0 0 0.00816571 0.000913998 0 0.00133196 0 -0.00359996 -0.00428782 0 0 0 0 0.0267504 0 -0.000622057 0 0.037775 0 0.0554176 0.091447 0 0.00193551 0 0 0.295249 -0.00293694 0.0023059 0 0.000281539 0 -0.000112023 -0.00978123 0.0247234 -0.0410924 -0.00452246 0 -0.000259893 0 0 0 1.36582e-05 0 0 0.00774447 -0.000225159 0.0845014 -0.0165649 0 0 0.0191472 0 0.000245669 0 0 0.0114183 -0.0101959 -0.00248603 -0.0169195 0 0 0.0140573 -0.00286886 0.0104851 0.0168627 0.05412 0 0.062545 -0.00289743 -0.112658 0 0 0 -0.228078 0 0.0723465 -0.777555 0 -0.00588957 0.000445546 -0.192898 0 0.00380581 -0.0206214 0.0536417 -0.384568 0 -0.185026 -0.208368 -0.0200537 -0.0170389 0.451383 -0.078864 -0.0839857 0.0860937 -0.821243 0.00611191 0.0676421 -0.157434 0.000552046 -0.0188914 -0.00782942 -0.0315412 0.0210495 0.0605242 0.0603476 -0.566846 -0.460343 0.0847187 -0.22174 0.0988878 0.173139 0.122818 -0.426748 -0.0310228 -5.85517 0.227893 -2.50243 0.083154 -0.000705677 0.760948 -1.31 -0.0180235 0.00239946 -0.00838804 0.0445299 0.763713 -0.065947 0.0212702 -1.55364 -0.0504978 0.0081708 0.0155164 0.16386 -0.151194 -0.272679 0.0932122 -0.440954 0.376642 -0.0097212 -0.501712 0.0103248 1.06045 -0.12665 0.0770093 -0.214389 -0.159107 -0.88893 0.472767 0.0290624 -0.062772 -4.25088 0.0683207 0.85475 0.0646266 0.10227 -0.123444 0.0366662 0.00917044 -0.00775183 -0.0226934 -0.112689 0.0651871 15.4259 0.127704 -1.24214 -0.03007 -0.914231 -1.21083 0.0184918 -0.0307064 -0.0613583 -0.43314 -0.00756916 -0.00716121 -0.204373 0.278832 -1.08092 0 +299 0 0.828475 -0.227817 0.00900215 0.0751083 0.0721073 -0.185493 0.511331 -0.272676 0.0996131 -0.325497 0.128316 0.412092 -0.000226755 2.23775 0.00504363 -0.167434 0.45174 0.0176449 0.00514388 0.979675 -0.00524064 0.561611 0.00029289 -0.152752 0.3471 -0.319137 -0.0160735 0.5218 0.339322 0.238501 0.00549606 0.133152 0.699883 0.00412082 0.443634 0.00635735 -0.258446 -1.15844 0.153045 0.138729 -0.00423477 -0.45825 0.00767437 3.09807 -0.0744308 -0.39072 0.435769 0.146237 -0.0233615 0.578326 -0.264417 -0.529602 -0.0117441 0.000385155 -0.0475529 -0.815977 -0.271002 0.0129588 0.273567 0.00902048 0.453072 -0.215505 -0.532307 -0.552418 0.171972 -0.344673 -0.148136 -0.39804 -0.00892695 0.135752 0.0992269 0.0271199 0.161195 -0.209072 -0.0858992 0.0995409 9.08677 3.10277 1.89396 2.46231 -1.04473 1.58173 0.782371 -0.298995 0.111143 0.957471 0.00324765 -0.00596296 0.0262 -0.0571314 -0.306384 0 0 0 0 0 0.00900215 0.0751083 -0.00103266 0 0 0 0 -8.18937e-05 0 -0.022937 0 0 -0.00228734 -0.00116516 -0.0128496 0 -0.00188106 -0.0295269 -0.137525 0 0 -0.0921106 -7.60456e-05 0 -0.00870465 -0.844972 0 0 -0.0107685 -0.231356 0 -0.0828865 0 -0.00628084 0 0 -0.000776626 0 0 -0.662113 -0.00175935 -0.0332824 0 -0.0215567 -0.0304422 0 0 -0.0722094 0 -0.00239784 -0.600446 0.0107994 0 0 0.00494238 0.00126979 0 -0.00794641 -0.00151797 -0.0251572 -0.985147 -0.0530811 -0.00757301 0 -0.0102072 0.0829335 -0.19624 -0.00878613 0.0600421 0 0 0 4.411 0.164534 0.916098 0.0302809 -0.0628251 0.617384 0.00305993 -0.00494697 0.0128822 0.196296 0 0 0 0 0 0 0.0721073 0 -0.185493 0 0 0 0 0.0825088 -0.0186773 0 0 -0.0624914 0 -0.00532717 0 -0.00926422 0 0 0.509347 0 1.05942 -0.0356491 -0.0450622 0.0767067 0 0 -0.0657375 0 3.58094 0 -0.137729 0.535027 0 -0.292226 1.26077 -0.00456272 0 0.0128833 0 0 -0.0100689 0 1.65879 0.312344 0 0 0.0536712 0 0 0.402576 -1.70285 0.139448 0 0.308547 0 -0.25963 -0.0240108 -0.0623415 0.0657872 0.116805 0.332299 0.0898614 -0.0686946 0.120356 2.78238 -0.0695555 0 0 0 -0.130879 0.0718254 0 0 0 0 0.0185907 -4.71606 1.10517 -0.816125 0.530104 -0.624423 0.850976 0.0812976 -0.0633518 0.0628755 0.168785 0 0 0 0 0 0 +300 0 0.777555 0.0996608 -0.000852917 0.0159573 0.0307995 -0.257735 0.537866 1.23165 0.00295034 0.131484 -0.00714218 -1.65347 1.34473e-05 -2.34001 -0.00896611 -0.0378696 0.895931 0.0435371 -0.0132548 -1.19702 0.00908184 0.0334592 -9.93678e-06 0.0555922 0.215363 -0.113808 -0.000970742 0.343077 -0.114131 -0.764254 -3.98959e-05 -0.220503 0.0172518 -0.016476 0.203955 -0.00214841 -0.0242441 -0.0497914 0.0213911 -0.760866 0.000125725 -0.234915 -0.00125297 -5.07939 -0.00122399 -0.726811 0.148861 -0.333571 0.00855344 -0.908964 0.207672 4.12151 0.0147874 -0.00196556 0.021031 1.96392 0.141679 0.0285161 -0.0314908 0.000315358 -0.0321739 0.226048 0.72275 0.746972 0.145183 -0.514705 -0.0133502 0.156346 -0.00085521 0.0942933 -0.0189673 -0.0679718 -0.11307 1.15988 -0.052632 0.516597 1.90667 -0.390966 -1.6807 -0.549145 0.659141 -1.87782 -0.236632 0.215883 -0.227746 -1.34414 5.34067e-05 -0.000509832 0.00304254 -0.013681 0.103052 0 0 0 0 0 -0.000852917 0.0159573 0.000299522 0 0 0 0 1.31779e-05 0 0.00998103 0 0 -0.00033191 -0.000343957 0.00267652 0 0.000406404 -0.00123329 0.0562199 0 0 0.0422318 -1.92214e-05 0 -0.0010642 0.00126144 0 0 0.00948347 -0.0233107 0 -0.0265286 0 0.0011091 0 0 0.000253455 0 0 -0.0497115 0.000274496 -0.00620007 0 0.00596095 0.0152758 0 0 -0.0128943 0 0.000405323 0.120033 0.00502981 0 0 0.000904872 -0.000602083 0 -0.00465295 0.0358136 -0.00528869 -0.0366178 0.0222644 0.0123083 0 -0.00584898 -0.0429574 -0.0561091 0.0164385 -0.0153863 0 0 0 0.586772 0.0426068 -0.136398 0.00364041 -0.0131928 0.077433 0.000481714 -0.0018281 0.0107005 -0.0499157 0 0 0 0 0 0 0.0307995 0 -0.257735 0 0 0 0 0.264284 -0.478919 0 0 -0.148152 0 -0.0153917 0 -0.0103791 0 0 0.069084 0 -0.221561 0.096135 -0.0712538 0.0011827 0 0 -0.132462 0 0.257769 0 -1.52599 -0.73036 0 0.664283 -0.484727 -0.00598329 0 0.043001 0 0 -0.0533882 0 -0.578984 -0.0617479 0 0 -0.0279194 0 0 -0.309218 1.22617 -0.0286423 0 -1.3329 0 0.38224 -0.0150291 0.0540259 0.000559412 -0.0530748 -0.187689 -0.201054 0.0234928 0.644104 -4.06497 -0.0105916 0 0 0 0.00303218 0.0260281 0 0 0 0 0.0437043 11.0162 0.646499 -0.789516 0.0571052 0.155808 -0.213259 0.0286265 -0.0317508 0.0679031 -0.393804 0 0 0 0 0 0 +301 0 -0.261322 0.0532551 -0.00899504 -0.188211 0.109561 0.00607325 0.35924 0.873657 -0.0494936 -0.101175 -0.0756037 -0.144853 8.87753e-05 0.251319 -0.00473977 0.436084 -0.36533 -0.0366202 -0.00448625 1.2211 -0.0175698 -0.164453 -0.000133261 -0.0969299 0.018563 0.316866 -0.00851011 -0.054626 0.118919 -0.059693 -0.00254285 -0.102261 -0.293703 -0.078919 -0.0118758 -0.00372633 -0.00214786 -0.303977 -0.0704593 0.358812 0.00147715 -0.412454 -0.00347521 0.732381 0.0234659 0.018949 0.0209228 -0.0791389 0.00518509 0.196904 -0.191833 -1.43598 0.0101109 -0.00903731 0.0658301 1.62465 -0.0226489 0.0775253 0.23342 -0.00102215 -0.647539 -0.820199 1.05602 -0.0260684 -0.0145147 0.0821805 0.148825 -0.0168065 0.00412529 0.684151 -0.182145 -0.0131954 0.120656 0.695207 0.0197923 0.263572 2.64582 2.23378 -2.33533 0.906144 -0.690559 0.799347 0.733884 -0.616607 0.789656 -1.67562 -0.00102389 0.00236447 -0.0131884 0.0360023 -0.107375 0 0 0 0 0 -0.00899504 -0.188211 0.000576114 0 0 0 0 4.63181e-05 0 0.0133876 0 0 -0.00135089 -0.000432834 0.00822831 0 0.000991534 0.0125536 0.130716 0 0 0.00570767 -3.43647e-05 0 0.0064791 0.400656 0 0 0.000701393 0.0847365 0 0.068195 0 0.00179918 0 0 0.000255052 0 0 0.268951 0.000959915 -0.0183501 0 0.0116775 -0.0131485 0 0 0.0592131 0 0.00133413 0.252394 -0.00349062 0 0 0.0026167 -0.000737558 0 7.17095e-05 -0.0339214 0.00271638 0.410744 0.010819 0.00804077 0 0.00790527 -0.0417237 0.0911221 0.00377529 -0.0376896 0 0 0 -2.36974 -0.0642525 -0.548776 -0.00504872 0.0178498 -0.353144 0.00169137 -0.00267451 0.00350851 -0.11589 0 0 0 0 0 0 0.109561 0 0.00607325 0 0 0 0 0.0788167 0.410675 0 0 0.296827 0 0.0193719 0 0.0275495 0 0 0.0392691 0 -0.142474 0.0958021 0.164169 0.0228755 0 0 0.336803 0 2.77759 0 1.08134 0.176114 0 0.466503 0.1053 0.0103864 0 0.0316262 0 0 0.0324173 0 1.0921 0.165609 0 0 0.0454205 0 0 0.327953 2.16144 -0.0902993 0 0.337099 0 -0.360214 0.167434 -0.163934 0.230138 0.0177033 0.0937939 -0.108769 -0.0123256 -0.250899 -0.728928 -0.0716424 0 0 0 -0.180941 0.0113599 0 0 0 0 0.0328455 -9.04231 -0.894213 -1.93207 0.0406849 -0.0528225 -0.0647503 0.0290375 -0.0625775 0.0577117 -0.342696 0 0 0 0 0 0 +302 0 0.245189 0.338607 -0.00953057 -0.1388 0.133191 0.259783 -0.190073 -0.890369 -0.036682 0.399448 -0.052621 0.136941 0.000142547 0.735155 0.0032191 0.584354 -0.253513 0.0533758 0.00784158 2.76202 -0.0110374 -0.353286 -0.000122377 -0.0303152 -0.471391 0.549246 -0.0158809 -0.48163 -0.144406 0.278142 -0.00214498 0.0473452 -0.579161 -0.0258951 -0.321198 -0.00273208 -0.119364 -0.800795 -0.122259 1.75265 0.00257614 -0.546611 -0.00716704 0.756478 0.0434759 1.01953 -0.381579 0.135673 0.00930111 0.900675 0.0286382 2.19695 0.0148834 0.00407451 -0.00325446 1.31675 -0.244775 -0.0157748 0.069484 -0.00181662 -0.63993 -1.53315 0.229514 0.98335 -0.0380201 -0.0209281 -0.047501 -0.0921043 -0.00197182 0.0546084 0.219214 -0.0230583 0.174796 0.0595903 0.637674 0.0444078 7.23994 1.16641 2.53579 0.776119 0.377569 0.0412438 0.379471 0.0579918 -0.743926 1.31445 -0.00359315 0.00847069 -0.0202675 0.0624207 0.17428 0 0 0 0 0 -0.00953057 -0.1388 -0.00289562 0 0 0 0 -0.000143147 0 0.00669119 0 0 -0.00341592 -0.00299558 0.00458952 0 0.000416922 -0.00502164 0.0676027 0 0 0.0399249 -0.000214726 0 0.000375404 0.068984 0 0 0.00808187 -0.0340049 0 0.00446361 0 0.00191064 0 0 0.000455101 0 0 -0.107109 -0.00200032 -0.0477908 0 -0.0405536 -0.0387372 0 0 0.0708652 0 -0.00591527 0.0306459 0.00785411 0 0 0.0069791 0.00499932 0 -0.0102784 -0.0314001 -0.0147222 -0.0874847 -0.0251692 0.0167769 0 -0.00722213 -0.0089274 0.00279426 -0.00853431 0.0382346 0 0 0 0.36869 0.0537389 -0.0694194 0.0100537 -0.0173313 0.0346992 0.00441486 -0.00693169 0.0127906 -0.0200784 0 0 0 0 0 0 0.133191 0 0.259783 0 0 0 0 -0.161373 -0.352357 0 0 0.45728 0 0.0521866 0 -0.00242335 0 0 0.217603 0 -0.853875 -0.0524438 0.161176 0.00817064 0 0 -0.0629191 0 0.344289 0 -2.20831 0.17767 0 -0.596392 -1.3446 0.0130728 0 -0.00413172 0 0 -0.0327124 0 0.22277 0.537638 0 0 0.0359335 0 0 0.13111 1.05937 0.0258116 0 -0.464988 0 -0.0514698 0.0318726 -0.0149495 -0.140719 -0.111127 -0.667187 -0.0528349 0.0376034 0.153017 0.698065 0.0127474 0 0 0 -0.122597 -0.0381061 0 0 0 0 0.103938 10.6121 -1.51834 2.80216 0.383343 -0.534134 1.00046 -0.0661805 0.0726661 -0.171521 0.286824 0 0 0 0 0 0 +303 0 0.701385 0.473382 -0.00394457 -0.0124018 0.032094 -0.0738926 0.843668 1.48861 -0.0439255 0.0869758 0.0199614 0.725826 0.000162125 -0.193175 0.0109287 2.33269 9.65178 -0.0320308 0.014366 1.15643 -0.00514527 -0.0456563 -0.000229352 0.0778684 0.59939 0.542942 -0.0076697 0.523609 0.995957 -0.109771 -0.00333338 0.221644 -0.0760476 -0.082577 0.326288 0.00159992 0.0340428 -0.753378 -0.0120273 0.0567843 0.00235258 -0.182525 -0.00236829 2.62721 0.0276998 -0.100857 0.710887 0.284729 0.00973044 -0.358326 0.128316 -4.44203 -0.00298237 0.0095654 -0.102276 -3.41503 0.0983733 -0.0198191 -0.0860415 -0.00560146 -0.371209 -0.0340378 -2.17819 0.174888 -0.241503 0.146385 -0.226721 0.291165 0.00690917 -0.321965 -0.194903 0.0918187 -0.123382 -0.879869 -0.301374 0.495314 5.75788 -0.19804 -0.0817186 -0.300038 0.623078 -2.04273 -0.462708 0.309147 -0.146263 -1.16958 -0.0022893 0.00267505 -0.0578715 0.0855701 -1.20199 0 0 0 0 0 -0.00394457 -0.0124018 0.00105162 0 0 0 0 3.98832e-05 0 0.00523212 0 0 6.18943e-05 -0.000770411 0.00304804 0 0.000447739 -0.00719191 0.0228503 0 0 0.0348468 -6.0276e-05 0 -0.00487088 -0.140863 0 0 0.011527 -0.0467168 0 -0.0461537 0 0.00257104 0 0 0.000862442 0 0 -0.135193 0.000570742 0.0018865 0 0.0147559 -0.0183476 0 0 0.0439801 0 0.00214775 0.00578039 -0.00270481 0 0 -0.000106833 -0.00181518 0 -0.00614003 0.0824055 -0.00372716 -0.160161 -0.00380978 0.0149956 0 -0.0137475 0.00602307 -0.0982959 0.0167515 0.0311465 0 0 0 0.854448 0.002785 0.006273 0.0138108 -0.0345343 0.0863216 3.87366e-05 -0.00213163 0.00757496 -0.0179519 0 0 0 0 0 0 0.032094 0 -0.0738926 0 0 0 0 -0.207844 -0.328203 0 0 0.136339 0 0.0138804 0 -0.00647804 0 0 0.0192917 0 -0.72158 -0.0692462 0.0578897 0.00860583 0 0 -0.0620408 0 -0.0563389 0 -4.45562 -0.802656 0 -0.349186 -1.77412 0.00526433 0 -0.0411078 0 0 -0.0369496 0 -1.04286 0.484942 0 0 0.0635057 0 0 -0.129876 -0.00407034 -0.049749 0 -0.703887 0 0.238497 0.0539961 -0.0227155 0.159533 -0.124655 -1.65167 -0.345168 0.0615342 0.237206 -4.51606 -0.0180442 0 0 0 0.036214 -0.0278595 0 0 0 0 0.0278935 31.2311 -0.141565 4.13712 0.485418 -0.155912 0.557922 -0.0436095 0.0425493 -0.0683143 -0.0154108 0 0 0 0 0 0 +304 0 -0.218835 -0.0718726 -0.0141834 -0.201997 0.261602 -0.107931 0.590015 0.430099 -0.0575031 -0.155846 -0.104617 0.724072 0.000222589 1.42395 0.0054871 0.301369 1.1579 -0.103107 0.0124652 1.96073 -0.0354653 0.0626949 -0.000200231 -0.166641 0.45451 -0.012414 -0.0199155 0.345847 0.920362 0.258393 -0.00344001 0.0462428 0.0691411 -0.04497 0.329695 -0.00363363 -0.10755 0.414768 -0.167289 0.453559 0.00396418 -0.195466 -0.00829825 2.851 0.0656843 -0.157079 0.623154 0.13971 0.00485274 0.169738 -0.180652 -0.0269499 -0.00132398 0.0139591 0.0194457 -1.06287 0.0282148 0.0149706 0.324026 -0.00319497 -0.482454 -3.696 0.341996 -1.28803 -0.046519 -0.245438 0.225307 -0.110921 -0.00215154 0.756632 -0.248662 0.0605727 0.14607 -2.94485 -0.599684 0.164908 4.72582 3.63297 -2.17184 2.01495 -0.634581 -1.68952 1.06767 -0.568181 0.352531 -0.666437 -0.00542861 0.0120777 -0.0776689 0.173316 -1.11076 0 0 0 0 0 -0.0141834 -0.201997 -0.00245238 0 0 0 0 -0.000141111 0 0.00799507 0 0 -0.00432676 -0.00408514 0.0072342 0 0.000576559 -0.00766202 0.105462 0 0 0.025545 -0.000293437 0 0.000244322 0.022165 0 0 0.00526423 -0.0448546 0 0.00614876 0 0.0018103 0 0 0.000473794 0 0 -0.130153 -0.00196769 -0.0603952 0 -0.0342564 -0.0497898 0 0 0.075333 0 -0.00501151 0.0277637 0.00965646 0 0 0.00884271 0.0042355 0 -0.0112967 -0.044635 -0.0176095 -0.121507 -0.0234507 0.018271 0 -0.00361223 -0.0173831 -0.0290722 0.00538297 0.040605 0 0 0 0.423415 0.0744198 -0.136144 0.0121458 -0.0202598 0.0394764 0.00560821 -0.00908695 0.0172628 -0.0338766 0 0 0 0 0 0 0.261602 0 -0.107931 0 0 0 0 -0.0212627 0.191457 0 0 0.487343 0 0.0424139 0 0.01138 0 0 0.0174306 0 0.357394 0.0108605 0.156488 -0.0495905 0 0 0.0711804 0 2.7895 0 2.34455 0.086817 0 -0.173003 0.911026 0.0104146 0 0.0122378 0 0 0.0307219 0 0.925163 -0.033382 0 0 -0.102538 0 0 0.079882 0.638828 0.0506679 0 -0.39312 0 -0.066218 0.104225 -0.0503903 0.305514 0.0460768 0.0263231 0.0208811 0.0679392 -0.189927 0.940799 -0.0503822 0 0 0 -0.103265 -0.0334134 0 0 0 0 -0.00563797 -18.8746 -1.83789 -0.986373 -0.218576 0.0602405 -0.31621 -0.0664407 0.0714538 -0.192695 0.185257 0 0 0 0 0 0 +305 0 0 0 0 0 -0.491594 0.0629505 0.197927 2.01803 0 0 -0.140343 -0.105087 0 0.163364 -0.00825546 0 0 0 -0.0768316 -5.95868 0 0 0 0 -0.0579931 0 0 -0.452441 3.95198 0.19715 0 -0.0153502 0 0 -0.135878 -0.0218406 0 0 -0.432115 -1.83087 0 0 -0.165926 -0.852087 0 -0.246896 0.415524 -0.0285672 0.241528 -0.439159 0.352733 0 0.0870988 -0.0358081 0.24833 -0.0271581 0.0894546 0.121676 0 0 0.635556 2.74962 0 0.755322 0.508101 0.835644 0 0 0 0 0.125023 -0.333525 0 0.815351 0.55253 0 0 0 -2.44572 0 0.549427 -4.79223 0 0.207128 0.0055279 -5.01001 0 0.193221 -0.198489 0.658698 -8.81119 0 0 0 -0.0714133 -0.00177383 0 0 0 0.00477551 -0.00490965 0 0.000212941 0 5.36144e-07 -0.00192596 0 0 0 0 -0.00788096 0 -0.000476045 0 -0.0627039 0 0.054854 0.0118097 0 -5.4733e-05 0 0 -0.00479592 1.01725e-05 0.000603192 0 -2.01434e-05 0 -0.000350612 -0.00958588 -0.00164009 0.000142437 -0.000325887 0 3.82992e-08 0 0 0 -1.4385e-06 0 0 2.0862e-05 -8.10041e-05 -0.0292484 -0.00122037 0 0 -0.000146473 0 0.000718167 0 0 -0.00230562 1.84569e-05 0.0258847 0.00151335 0 0 -0.0105804 0.0421407 -0.000181271 0.0551496 -0.00599688 0 -0.0177925 5.61624e-05 0.0405034 0 0 0 0.0610614 0 -6.08182e-05 0.00112039 0 -2.24305e-06 0.000103837 0.0307537 0 -3.87977e-06 0.000179605 -0.000337536 0.000421617 0 -0.491594 -0.0714133 0.0629505 -0.00177383 -0.196941 -0.124673 -0.00805062 0.299942 -0.0294037 0.000136015 0.0711117 -0.0147478 2.5162e-06 -0.000248546 -0.000165632 -0.000821129 0.040998 0.00710977 0.536502 -0.841415 0.213342 0.231682 -0.0587573 0.0816711 0.450023 0.211641 -0.0405956 -0.00885813 8.57196 0.115301 1.25914 1.55481 -3.19628e-06 1.50118 0.648132 -0.00131393 -0.00054675 0.0430049 0.0022172 1.29245 3.15075e-05 0.0345143 3.4311 1.42941 0.0069681 0.00261996 0.240579 -0.0894648 0.0480715 -1.46132 -0.674124 -0.581121 -0.10158 -5.07307 0.000167332 -0.36428 0.000596147 0.0285567 0.0305107 -0.4933 -0.500707 -0.0556984 0.155909 -0.216621 -14.9463 0.168141 -0.979761 0.0106096 -0.465013 -0.457043 0.000184143 -0.0712622 -0.000166439 0.25049 0.148723 0.000152751 -2.31963 0.0117807 -3.13296 -0.00795251 -0.500809 -1.35117 6.25386e-06 -0.147052 0.146248 -1.26583 -1.58506e-05 -0.0661734 -0.103063 0.034031 -0.962292 0 +306 0 0 0 0 0 -0.127274 0.246059 -0.867716 -2.02587 0 0 0.0379413 0.41444 0 0.931415 0.000154786 0 0 0 -0.0166043 -1.50732 0 0 0 0 -0.4937 0 0 -0.89486 -2.41635 0.418537 0 0.0360488 0 0 -0.278633 0.001698 0 0 0.260778 -0.266678 0 0 0.0197932 1.15455 0 0.261443 -1.29068 0.147088 -0.116834 -0.693055 -0.129631 0 0.0164162 0.107949 -0.0526412 -1.33927 0.277026 -0.294463 0 0 -0.612506 0.395289 0 -0.590637 0.198036 0.428285 0 0 0 0 -0.265647 0.263585 0 -2.8165 0.565459 0 0 0 3.18216 0 -0.360316 3.53484 0 -0.105505 0.32689 3.42249 0 -0.292882 1.01532 -2.01414 7.32748 0 0 0 -0.0402713 -0.00113684 0 0 0 0.00415241 -0.000257388 0 0.000159118 0 8.95827e-09 -0.00122889 0 0 0 0 -0.0186452 0 -0.000354168 0 -0.0551269 0 0.0464793 0.0113697 0 -1.61371e-05 0 0 0.00826247 -1.48514e-07 0.000377426 0 -1.05488e-06 0 -1.83906e-05 -0.0123817 -0.000292205 3.9324e-07 -0.000226077 0 1.62831e-10 0 0 0 -7.53586e-08 0 0 1.52262e-06 -4.32079e-06 -0.0102754 -7.06124e-05 0 0 2.124e-05 0 3.75484e-05 0 0 -9.32363e-05 -2.47642e-06 0.036811 8.83517e-05 0 0 -0.00178226 0.0270377 -6.20727e-06 0.0384361 0.0215728 0 -0.0173907 9.30952e-06 0.0338706 0 0 0 0.0535761 0 -1.67907e-07 -0.00792849 0 -6.19263e-09 4.80617e-06 0.0190969 0 -1.07113e-08 8.31314e-06 -1.47239e-05 -0.00708652 0 -0.127274 -0.0402713 0.246059 -0.00113684 -0.166361 0.00620779 -0.00561652 -0.2176 0.0171169 8.12645e-05 0.0364737 -0.0160083 1.58454e-06 -0.000170921 -0.000110269 -0.000357498 0.0390072 0.00392356 -0.290652 -0.57665 0.371606 -0.189002 -0.0317028 -0.0653681 0.303411 -0.220346 -0.0196979 0.00541563 3.37399 0.189562 -0.0590462 1.55418 -2.06871e-06 -1.21436 0.592334 -0.000768057 0.00543396 -0.0397886 0.0463977 -1.06186 0.000539242 -0.0430929 2.69943 -0.806674 0.00506117 0.0222812 -0.0450569 -0.00935109 -0.154174 -0.293566 0.841132 0.42686 -0.0674709 -2.2199 0.000115843 0.664871 0.000750595 -0.0643881 0.0135908 0.194913 -0.310495 -0.000825927 -0.160246 -0.149871 -10.0891 0.0452199 0.0179868 0.13561 0.199456 -0.310686 0.000149736 -0.126507 -9.81821e-05 0.190292 -0.0689764 -0.000898332 0.108777 0.0148301 3.12467 -0.00354825 -0.266214 2.39058 1.22235e-05 -0.15117 0.255074 0.735411 -8.74723e-06 -0.18267 0.41003 -0.629461 1.35573 0 +307 0 0 0 0 0 0.193737 0.23035 0.165666 -0.482814 0 0 0.118573 0.510868 0 2.11647 0.0100328 0 0 0 0.070214 3.60956 0 0 0 0 -0.291771 0 0 -0.421433 -3.14224 0.538466 0 0.0139174 0 0 -0.112357 0.0174528 0 0 0.558375 1.52657 0 0 0.12417 2.9359 0 0.85527 -0.832383 -0.0754486 -0.0870088 2.06639 -0.158911 0 -0.0235554 0.228474 -0.405341 -2.47029 0.0534736 0.570984 0 0 -0.0682578 -4.41634 0 0.323685 -0.131456 -1.16402 0 0 0 0 0.341648 0.0279274 0 -2.96154 0.368252 0 0 0 -0.545828 0 -2.20029 7.00735 0 -0.576782 1.29255 0.901259 0 -0.705375 1.66827 -2.73953 8.46165 0 0 0 0.00154034 -0.000265888 0 0 0 0.0032784 -0.00779389 0 9.45403e-05 0 6.44737e-07 -0.000317129 0 0 0 0 0.00424207 0 -8.4557e-05 0 -0.00219139 0 0.0391729 -0.000879122 0 -2.20529e-06 0 0 -0.00334317 1.07203e-05 0.000346614 0 -3.19711e-05 0 -0.000556583 0.000762774 -0.000824225 0.000149823 -4.97814e-06 0 4.61148e-08 0 0 0 -2.28315e-06 0 0 2.17757e-05 -0.000129468 -0.00202761 -0.00189832 0 0 -0.000232785 0 0.00113761 0 0 -0.00367712 -6.07255e-06 0.0170503 0.00239713 0 0 -0.00312025 0.00910049 -0.000333077 0.0096966 0.0172474 0 0.000734668 0.000117166 0.01927 0 0 0 0.00854196 0 -6.3972e-05 -0.00209486 0 -2.35937e-06 0.000160762 0.00164666 0 -4.08096e-06 0.000278067 -0.000512325 -0.00280266 0 0.193737 0.00154034 0.23035 -0.000265888 0.241524 0.072458 -0.00137717 -0.374794 -0.054887 3.13932e-05 0.00275135 -0.0201387 5.02515e-07 -0.000217907 -2.96931e-05 -0.000780052 -0.0108129 0.00194154 0.652363 0.796667 0.0294704 -0.181631 -0.0292529 0.0397815 -0.151254 -0.285048 -0.0529409 0.0214942 2.68838 0.360184 -1.80192 1.03693 -5.80108e-07 -0.816974 -0.557321 -0.000429609 0.00928874 -0.0795682 0.0703899 -1.75397 -0.000488781 -0.0481199 2.59932 0.319788 0.0020241 0.051709 0.0405985 0.127851 0.0785693 0.973985 2.18424 1.85194 0.0367234 1.32766 2.93428e-05 1.24119 0.000229774 -0.398189 -0.0131975 0.0355023 2.41974 0.00431507 0.103526 -0.0132522 -5.0376 0.40769 0.70121 0.103017 0.59753 0.175565 1.13278e-05 -0.00706109 -4.21977e-05 -0.00130532 -0.261843 0.000384321 3.31958 0.0211317 -2.73064 0.000220228 -1.71805 4.46697 1.96673e-05 -0.568018 0.660431 0.00881553 -4.32849e-06 -0.37625 0.574868 -0.769533 1.63943 0 +308 0 -0.708174 -0.370377 0 0 -0.00248781 -0.303786 1.09526 2.2947 0 -0.275569 0 -0.652688 0 -1.02641 0 -1.10018 -2.90031 -0.0535881 0 0.529983 -0.00362135 0.217637 0 -0.0288172 0.573421 -0.425869 -0.00142814 0.6085 1.36685 -0.365037 0 0 0.540563 -0.0117816 0.363115 0 -0.0212404 2.96695 0 -0.254579 0 -0.0804609 0 -2.20815 0 -0.58322 0.939459 0 0 -0.125339 -0.0470584 1.54172 0 0 0 1.90881 0.0241654 0 0.0290557 0 0.367232 -0.343256 0.863333 -0.0785649 0.0592663 -0.665688 0.202843 -0.0670886 0 0.0451737 0.13989 0 -0.0179236 0.788147 -0.727823 -0.125648 -8.65259 0.292475 -6.25286 -0.270206 0.647564 -6.29832 -0.0388398 0.0378151 0.192651 -5.16446 0 0 0 0 -3.85624 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.00248781 0 -0.303786 0 0 0 0 -0.0649966 0.29816 0 0 0.0347129 0 -0.00282881 0 0.000843637 0 0 0.232739 0 0.289806 0.0507145 -0.0128633 0.0338991 0 0 0.0270108 0 0.114288 0 1.4922 -0.268901 0 0.299558 0.212456 -0.00162573 0 0.00237588 0 0 0.0220252 0 0.177354 -0.308798 0 0 -0.0201873 0 0 -0.259034 0.930719 -0.0675551 0 -0.911596 0 -0.0890918 -0.0904434 0.126972 -0.0325081 -0.132117 0.286413 0.198956 0.0911262 -0.587026 -6.36908 0.113869 0 0 0 0.055169 -0.0497774 0 0 0 0 -0.0898594 -6.91823 -0.820652 -0.590007 -0.307719 0.296814 -0.857591 0.000517622 -0.0045108 -0.0119064 -0.175733 0 0 0 0 0 0 +309 0 -0.570576 -0.319128 0 0 -0.148403 -0.228157 -0.339015 -1.1202 0 0.213617 0 -1.71261 0 -2.22377 0 -2.56368 -10.5261 0.0132255 0 -2.12592 0.0027588 -0.100725 0 0.0363832 -0.307721 -0.567775 0.00269986 0.369709 0.454057 -0.634203 0 0 -0.620904 0.0110748 -0.0454757 0 0.0339856 -2.33774 0 -1.10034 0 0.157098 0 -5.99352 0 -0.628662 0.431639 0 0 0.744893 0.116597 9.4761 0 0 0 5.97037 -0.12556 0 -0.0738295 0 0.823708 2.9883 0.84425 0.921123 -0.169176 0.161861 -0.06547 0.109438 0 -0.121293 0.113601 0 -0.0618735 5.04532 -0.159389 -0.262523 5.63478 -0.725317 4.28646 -0.0407754 0.0215715 1.39942 -0.221204 0.271787 -0.461101 0.901852 0 0 0 0 -1.28101 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.148403 0 -0.228157 0 0 0 0 -0.29013 0.281501 0 0 0.10887 0 0.0164643 0 0.00387835 0 0 -0.399997 0 -0.0937219 -0.0991472 0.0203961 -0.0436409 0 0 0.014879 0 -9.78677 0 -0.94713 -1.30652 0 -0.424718 -0.452655 0.00407784 0 -0.0490477 0 0 0.0404207 0 -3.55177 -1.40446 0 0 -0.157437 0 0 0.239925 2.0522 -0.128927 0 1.6495 0 -0.140268 0.165109 -0.105679 -0.281308 0.0841248 1.40006 0.254969 0.0978064 -0.423457 8.14064 0.069245 0 0 0 -0.0209603 -0.0796439 0 0 0 0 -0.0845971 2.5819 -0.592379 1.5615 0.042469 0.0459978 0.237008 -0.151454 0.156127 -0.128302 0.175136 0 0 0 0 0 0 +310 0 0.329597 0.228685 0 0 -0.0347146 0.102118 -0.926779 -1.73251 0 0.303395 0 -0.709012 0 -1.4433 0 0.260707 -1.23302 0.0338843 0 -1.68366 0.00688876 -0.41599 0 0.0595974 -0.650262 0.421786 0.00183969 -0.308745 -1.05005 -0.33045 0 0 -0.866946 -0.0196236 -0.441423 0 0.00623616 -1.88489 0 -0.393764 0 -0.113485 0 -2.83692 0 0.115451 -0.600897 0 0 0.509667 0.115551 0.999989 0 0 0 5.53616 -0.0558403 0 -0.0645238 0 1.18575 3.76584 1.83731 1.57729 -0.149463 1.16261 0.0392022 0.151472 0 -0.132646 -0.0646177 0 0.0414049 5.45751 0.75423 -0.0888162 3.83135 -2.22147 8.22948 -1.19316 1.33685 4.24916 -0.571999 0.596341 -0.658528 4.4669 0 0 0 0 2.96246 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0.0347146 0 0.102118 0 0 0 0 -0.058027 -0.234744 0 0 0.0905644 0 0.0127481 0 -0.0017286 0 0 -0.409167 0 -0.689437 -0.0229438 0.048408 -0.0228412 0 0 0.0124418 0 -5.042 0 -1.06453 -0.874194 0 -0.180816 -0.861552 0.00548169 0 -0.0146855 0 0 -0.0360235 0 -2.37733 -0.27017 0 0 0.0201994 0 0 0.595425 1.66411 -0.0213231 0 3.27492 0 0.39179 0.0242463 -0.0166695 0.400609 0.22074 0.133991 -0.0262408 -0.0132575 -0.0176593 18.5018 -0.152099 0 0 0 -0.0714932 0.0470898 0 0 0 0 0.0704296 -9.66578 -2.60703 1.94138 -1.4139 1.00657 -0.470394 -0.189518 0.167297 -0.142227 0.0525536 0 0 0 0 0 0 +311 0 -1.16493 -0.199292 0.00149833 0.0360699 -0.156669 -0.071762 -0.476737 1.22069 0.00781737 -0.22048 0.0409605 -0.298629 -3.04838e-06 -0.56248 0.00133365 0.095243 -2.89715 -0.0253537 0.00193337 2.30291 0.00180676 -0.121812 3.90884e-06 -0.0801331 0.119231 0.352089 0.0100272 -0.118742 -1.23079 -0.159654 0.000181136 0.0636259 0.43373 0.0827384 -0.214368 0.00103711 -0.0397812 5.13022 0.0817096 1.08465 -0.000149138 0.26751 0.00184192 -1.57082 -0.00673078 0.531532 -0.514828 0.0945703 -0.0031799 -1.00027 0.0349675 -0.177177 -0.00204023 0.00233811 -0.0149407 -1.24059 0.00638655 -0.0419173 0.0811998 0.000205185 0.092135 -1.89102 0.558225 -1.37911 0.0748445 0.121161 0.877357 0.0619701 -0.000196603 0.548284 0.0748695 0.0305941 0.0817868 -0.966368 -0.0574876 0.302436 -15.765 -0.183474 -5.5303 -1.11195 1.51172 -4.91515 -0.18694 0.286826 -0.0819003 -1.43376 2.67193e-05 -0.000331997 0.00565689 -0.0700687 1.17541 0 0 0 0 0 0.00149833 0.0360699 -0.00211067 0 0 0 0 -6.02966e-05 0 -0.0058755 0 0 1.21474e-05 -6.69348e-06 -0.000570189 0 -0.000138068 7.02993e-05 -0.0247807 0 0 -0.0030703 -5.82672e-07 0 0.00212717 -0.194177 0 0 0.000815298 0.0023887 0 0.0355571 0 0.000104375 0 0 4.43217e-05 0 0 0.0649227 -0.000836797 0.000252365 0 -0.0288473 0.0141675 0 0 -0.0230375 0 -0.000418944 0.0522496 0.00148241 0 0 1.69956e-05 0.00432937 0 -0.00111964 0.0119019 -0.00413105 0.0862809 0.000285902 0.00367446 0 -0.00685669 0.00231733 0.00512549 -0.000908546 -0.0178078 0 0 0 0.0993541 0.00443111 0.0583268 -0.00210575 0.00555236 -0.00423453 -9.50371e-06 -8.11082e-07 -2.74755e-05 0.00361879 0 0 0 0 0 0 -0.156669 0 -0.071762 0 0 0 0 0.394331 0.437768 0 0 0.0154739 0 -0.00921645 0 0.0106044 0 0 -0.923812 0 -0.184518 0.16125 0.0376857 -0.0873935 0 0 0.121398 0 -13.0184 0 3.80527 -1.11291 0 1.22978 0.541212 0.00277703 0 0.0527287 0 0 0.0340882 0 -4.07774 -2.44869 0 0 -0.245779 0 0 0.38529 -0.197524 -0.599743 0 2.50257 0 -1.05922 0.00134915 0.169728 0.361999 -0.103821 -0.299811 0.517992 0.139387 -0.886201 10.6299 0.091723 0 0 0 -0.0355483 -0.0234676 0 0 0 0 -0.0787237 -17.1895 -1.36866 -2.73963 -1.458 1.19496 -2.01399 -0.0547388 0.0427081 -0.0213979 -0.500232 0 0 0 0 0 0 +312 0 0.0770564 0.193714 -9.90077e-05 -0.0104506 -0.0952974 -0.0197658 -0.0322284 -0.349397 -0.000576533 0.158278 -0.0174339 0.607828 1.13806e-07 0.743891 -0.000403665 1.12194 4.85842 0.0388024 -0.000608353 1.95688 0.00830366 -0.0786709 -1.85262e-07 0.0098434 0.0514298 0.255224 0.0104781 0.34319 0.242777 0.0489654 -1.06452e-05 -0.026509 -0.245157 0.0316443 0.0279045 -0.000298753 0.0347238 -2.11298 -0.0219627 0.757671 1.2617e-06 0.266684 -0.00042418 2.74703 -0.000242401 0.208365 0.331794 -0.0422757 0.000686637 0.735216 0.177067 -4.22961 0.000522617 -0.000739129 -0.00035063 -1.77943 -0.223284 0.035923 -0.107606 1.23303e-06 0.346325 -1.09771 -0.0815991 0.803397 -0.423364 0.238273 -0.479282 0.173852 1.4234e-05 -0.127374 0.0646512 -0.0226427 -0.0252834 -0.328947 0.0194752 -0.0650509 9.03557 0.132358 2.64305 0.626663 -0.635328 2.40424 -0.339219 0.462481 -0.598107 1.06292 9.62262e-07 3.74771e-05 -0.000366132 0.0166124 -0.231853 0 0 0 0 0 -9.90077e-05 -0.0104506 0.000162609 0 0 0 0 3.80574e-06 0 4.22105e-05 0 0 1.66074e-06 3.73152e-07 3.23221e-05 0 5.56419e-06 -3.72974e-05 0.0010167 0 0 -0.00682546 -1.10711e-07 0 -0.000107892 0.00631866 0 0 -0.000574889 -0.00305167 0 -0.00304199 0 -0.000104275 0 0 -8.57799e-06 0 0 -0.0175421 5.32586e-05 0.000185664 0 0.00227597 -0.000939073 0 0 0.00139473 0 3.5505e-05 -0.00629554 2.99528e-05 0 0 -1.04886e-05 -0.000367683 0 0.000221196 -0.00100819 7.8413e-06 -0.0110077 0.000977912 0.00123965 0 0.00096981 0.00106647 0.00136647 -0.000415924 0.00286597 0 0 0 -0.0159853 -0.00377599 -0.00278367 -6.19273e-05 -0.000554627 0.00730314 -1.07051e-05 -1.88675e-05 -7.32583e-06 3.81426e-05 0 0 0 0 0 0 -0.0952974 0 -0.0197658 0 0 0 0 -0.015777 0.62478 0 0 0.15377 0 0.0149507 0 0.0213703 0 0 0.331828 0 -0.258945 -0.0730592 0.124095 0.0527319 0 0 0.170002 0 1.75145 0 -1.71979 -0.775452 0 -0.212894 -0.43649 0.0131761 0 -0.0180419 0 0 0.0780003 0 -0.549869 0.682726 0 0 0.109755 0 0 -0.0398238 -1.57962 0.129742 0 0.603335 0 -0.498247 0.257295 -0.269723 -0.309391 0.0461147 0.517113 -0.240462 0.156257 -1.10475 4.58686 0.0287523 0 0 0 -0.130793 -0.138408 0 0 0 0 -0.147251 16.2642 1.41452 1.29613 0.540092 -0.196881 0.652751 -0.193828 0.252336 -0.236838 0.300169 0 0 0 0 0 0 +313 0 0.555257 -0.224565 0.00253709 0.114564 -0.0381954 -0.205541 -0.570044 -2.20359 0.0105843 0.720458 0.0413896 -0.720387 -4.44833e-06 -1.59597 0.000976977 -1.88204 -3.87033 0.153983 0.00160288 -4.5039 0.0276698 0.219094 4.82003e-06 0.149124 -0.0886097 -0.782206 0.0165286 0.48795 -0.0229557 -0.402477 0.000228762 0.0565671 0.0710785 0.0414113 0.218601 0.000969335 0.0274394 -1.04605 0.0652997 -2.28084 -0.000235529 -0.190207 0.00172098 -2.02633 -0.0122795 -1.17458 0.290836 0.0980957 -0.00341994 -0.400781 0.149191 4.39159 -0.00185939 0.00349057 0.00130382 0.990382 0.272038 -0.0457823 -0.137727 0.000327996 -0.917892 3.72454 -0.747168 -1.54402 -0.429707 0.085217 0.343409 0.264308 -0.000224729 -0.12977 -0.0969555 0.00932437 -0.0109357 1.17911 -0.102039 0.510359 -4.04232 -3.74135 8.04168 -2.31197 2.85675 -1.88807 -0.988171 1.1709 -1.43664 2.61994 4.87461e-05 -0.000439417 0.00590904 -0.0317598 0.0219228 0 0 0 0 0 0.00253709 0.114564 -0.00319568 0 0 0 0 -8.0922e-05 0 -0.00340924 0 0 -0.000152628 -4.76965e-05 -0.000461 0 -0.000128362 -0.000741983 -0.00942992 0 0 0.0408477 -3.47453e-06 0 0.00308428 -0.391244 0 0 0.00626172 -0.0368491 0 0.0654761 0 0.000608894 0 0 0.000111165 0 0 0.16763 -0.00115434 -0.00211849 0 -0.0467271 0.0216315 0 0 0.0343284 0 -0.0015972 0.119044 0.00119522 0 0 -0.00019611 0.00640071 0 0.00289537 0.0121678 -0.00338518 0.0775371 -0.00452367 0.00207989 0 -0.0102391 0.000906281 0.0424784 -0.0115766 -0.0155724 0 0 0 -0.580772 -0.0236452 -0.0476697 -0.00574959 0.00390697 -0.0185629 5.96043e-05 -9.24603e-05 0.000300666 0.00217066 0 0 0 0 0 0 -0.0381954 0 -0.205541 0 0 0 0 -0.0648904 -0.0587101 0 0 0.225449 0 0.0431119 0 0.0116714 0 0 -0.498259 0 0.887587 -0.036493 0.1703 -0.054159 0 0 0.0847486 0 2.95584 0 1.58882 -0.336247 0 -0.462691 1.33505 0.0235358 0 0.00573417 0 0 -0.00226444 0 -0.497632 0.539383 0 0 0.0678976 0 0 0.229469 -0.497907 0.139701 0 0.876248 0 -0.0728031 -0.0166352 -0.0844891 0.268403 0.0352653 -0.972748 -0.215125 0.0146065 0.301609 -0.0332794 -0.16094 0 0 0 0.125382 -0.013005 0 0 0 0 -0.0131243 -19.8913 -5.82835 5.76604 -2.26902 1.43381 -0.905975 -0.292814 0.208975 -0.169431 0.287375 0 0 0 0 0 0 +314 0 0 0 0 0 -0.431967 -0.298838 0.208346 2.27891 0 0 1.05687 -1.08944 0 -1.31312 0.196398 0 0 0 0.311347 2.53945 0 0 0 0 0.383867 0 0 -0.127144 -8.82304 -0.591804 0 0.557991 0 0 0.100097 0.193298 0 0 3.81639 -0.881028 0 0 0.94051 -2.40464 0 -1.08639 -2.32281 0.175861 -1.90935 2.84059 -1.8334 0 -0.347383 0.498794 -0.856521 -0.813539 -0.916688 -1.77321 0 0 -0.461388 2.706 0 -1.81868 -1.89065 1.27405 0 0 0 0 -0.673443 3.18787 0 -0.767415 3.2466 0 0 0 -6.01876 0 -6.68287 10.9852 0 -2.70172 3.29998 -3.37707 0 -3.94036 6.50043 -13.3195 30.5348 0 0 0 -0.228354 -0.0928584 0 0 0 0.050262 -0.032966 0 0.00477875 0 0.000273218 -0.0166959 0 0 0 0 -0.0914098 0 -0.0220098 0 -0.0637211 0 0.393577 0.231232 0 -0.000769152 0 0 -0.172611 0.00029948 0.0491929 0 0.0147331 0 -0.00222386 0.0374585 -0.00379137 0.0091973 -0.0138631 0 3.28814e-06 0 0 0 0.00108746 0 0 -0.00245169 0.00934579 0.0426113 0.0123666 0 0 -0.015983 0 0.0138427 0 0 0.00663858 -0.0313672 -0.136043 -0.0343547 0 0 0.0892956 0.0745189 0.0368431 0.0161014 -0.101487 0 -0.405068 -0.0235598 -0.102382 0 0 0 0.338181 0 -0.0575646 0.855646 0 -0.00532989 0.0983324 0.153598 0 4.84641e-05 -0.00470457 -0.0140793 0.549978 0 -0.431967 -0.228354 -0.298838 -0.0928584 0.419254 0.217412 -0.480202 0.845529 0.96376 0.152185 -0.035603 1.05346 0.0266185 0.221962 -0.141401 0.107851 -0.0641264 0.850931 -0.247811 1.44846 0.32212 0.0570716 0.1868 -0.0237847 -0.652121 -0.316786 0.974009 0.0209576 2.46871 0.0114886 2.88935 -0.44614 -0.0281785 0.536211 1.1292 0.0629102 0.00261748 0.109092 0.0621908 -1.57109 -0.0636704 -0.0562346 0.456181 -0.579781 -0.00356523 -0.042043 0.0221198 0.147297 -0.521583 -0.832536 -2.534 1.32541 0.193783 -1.51863 0.206866 -1.635 -0.185468 -0.721413 -0.438361 -0.190727 -0.376782 -0.966073 0.621086 -2.41748 -3.22037 -0.156272 0.54173 0.00089676 0.0466204 0.0502774 -0.53439 0.234441 -0.379458 0.251348 -0.0166674 -0.391429 -13.0703 -4.01191 -1.27944 -3.20918 1.43045 0.347369 -0.948147 0.679923 -0.488794 -0.842104 -0.756609 0.519603 -0.284907 -0.558665 2.01356 0 +315 0 0 0 0 0 0.385881 0.101956 0.657435 0.147254 0 0 0.809701 0.659513 0 2.12337 0.147506 0 0 0 0.262986 1.18148 0 0 0 0 0.0960762 0 0 -0.504602 -8.55469 0.398513 0 0.719021 0 0 0.130646 0.156078 0 0 1.99068 -0.103982 0 0 0.388249 3.6724 0 -0.0413236 -2.18747 1.24718 -1.02852 1.76034 -1.62449 0 -0.15999 0.129333 -0.58252 -0.382715 -0.484599 -1.42436 0 0 1.37008 1.74954 0 -1.40149 -0.847696 0.195476 0 0 0 0 0.208944 2.00101 0 -2.22575 1.55571 0 0 0 -0.811365 0 -4.08198 12.384 0 -2.14967 5.05007 -1.64857 0 -2.0478 6.61834 -10.7771 29.8586 0 0 0 -0.138465 -0.0276299 0 0 0 0.0310631 -0.0653752 0 0.00209441 0 0.00840703 -0.0220063 0 0 0 0 -0.0997976 0 -0.0157319 0 -0.181561 0 0.310783 0.440374 0 -0.00527068 0 0 -0.402153 0.00379918 0.0615481 0 -0.00516139 0 -0.00434885 0.207617 -0.0452103 0.0525167 0.0262435 0 0.000613629 0 0 0 -0.000348262 0 0 -0.0164802 0.000268551 -0.0297366 0.0506139 0 0 -0.036856 0 0.0124605 0 0 -0.0335469 0.000394246 -0.0525387 0.00818543 0 0 0.0674149 0.0407596 -0.0200843 0.0514076 -0.153941 0 -0.121227 -0.00387208 0.0267087 0 0 0 0.670878 0 -0.145744 1.14414 0 0.00960567 0.00350829 0.341329 0 -0.00582415 0.0275958 -0.0850944 0.572458 0 0.385881 -0.138465 0.101956 -0.0276299 0.960272 0.155398 0.00178911 0.683749 0.667677 0.0589948 -0.0256687 0.0813999 0.00806242 0.0168317 -0.0146555 0.0856026 -0.0081592 0.43545 0.320773 0.740321 -0.0332311 -0.0162029 -0.286349 0.0440427 -0.1593 -0.22925 0.724698 0.010118 8.75287 -0.00472798 0.507204 1.25868 -0.00437409 -0.163048 0.105276 -0.0379651 -0.00164322 0.0786709 -0.0118467 -2.02097 0.0400902 -0.0253989 4.35301 0.615642 -0.00214649 -0.00081139 0.0521494 0.0868016 -0.118685 0.919229 1.43414 0.0236277 0.0476414 -1.37079 -0.0351245 -1.03615 -0.230398 -0.0212138 0.304854 0.338599 -0.204813 0.227441 -0.519205 0.0548217 -4.41009 -0.0215209 0.417855 -0.116607 -0.304271 -0.341534 -0.0229961 0.019242 -0.167031 0.236617 0.23558 -0.272331 -2.29439 -0.4701 1.17666 -1.2104 0.357522 4.34562 -0.281719 -0.0823363 0.979707 -0.371883 -0.387183 0.234717 0.305725 -0.845812 3.06735 0 +316 0 0 0 0 0 -0.294425 0.369753 -0.633302 -0.259072 0 0 0.0419898 1.16032 0 1.95903 -0.0177538 0 0 0 0.125898 -0.777206 0 0 0 0 -0.427316 0 0 -0.880527 0.136065 0.655347 0 -0.158461 0 0 -0.357628 -0.00815825 0 0 -0.122848 0.243314 0 0 -0.119586 5.25634 0 0.609598 -1.03404 0.52272 0.11578 2.73808 0.110254 0 -0.161662 0.060867 0.127952 1.65401 0.85808 0.069699 0 0 -0.23826 0.934058 0 -0.556263 -0.237872 1.00562 0 0 0 0 -0.368541 -0.0261118 0 -1.27546 0.95723 0 0 0 -0.801456 0 0.0890807 0.641306 0 0.171807 -0.376936 3.04478 0 0.344286 -0.419241 0.975829 -0.504911 0 0 0 -0.000763814 0.0106558 0 0 0 0.0160971 -0.0160053 0 0.00326132 0 0.000661787 0.0377643 0 0 0 0 0.0752808 0 0.014929 0 0.210877 0 0.0866352 -0.10264 0 0.00020269 0 0 -0.00461827 0.000182385 -0.0144178 0 -0.0031548 0 -0.00111811 -0.0298628 -0.000166385 0.00329801 -0.0017513 0 4.45579e-05 0 0 0 -0.000226498 0 0 -0.0021821 -0.00150962 0.0623643 0.0118145 0 0 0.000353012 0 0.000933412 0 0 -0.0175623 -0.00219264 0.12567 0.0187535 0 0 -0.0897838 -0.0291511 -0.0392391 -0.0580661 -0.085317 0 -0.10672 0.00812501 0.0764398 0 0 0 -0.468925 0 -0.0193652 0.23321 0 0.000501641 0.018726 -0.0485113 0 -0.000510135 0.000769718 -0.00731724 0.150548 0 -0.294425 -0.000763814 0.369753 0.0106558 -0.176236 -0.0300921 0.236732 0.00285798 0.640864 -0.0113717 0.00465852 0.13089 -0.00227286 0.0185163 0.0302011 -0.0219249 0.0100957 -0.0474991 -0.489654 0.404806 0.417648 -0.182668 0.0124781 -0.0633965 0.0887163 0.0538766 -0.210652 0.00513243 7.3305 -0.0546494 2.26509 1.25881 0.00408189 -0.0695904 1.17142 0.00227675 -0.00321561 -0.0891821 -0.0275359 0.450088 0.0910111 0.00772859 2.39226 -0.0717052 0.000514422 -0.00246734 0.0333924 0.0590468 0.0141766 0.556319 -0.253288 0.582056 -0.0194359 0.0491153 -0.101886 -0.329784 0.157885 0.0114952 0.199691 0.146384 -0.40349 -0.0379955 0.0723217 0.959261 -1.78178 -0.210764 0.301289 -0.0113469 -0.000370481 -0.368438 -0.015965 -0.0153275 0.0419063 0.0542277 0.0434638 -0.118177 -10.2464 -1.57323 -0.835992 -0.899575 1.68948 -4.14721 -0.0314084 0.221761 -0.571766 0.352291 0.042234 0.0315006 -0.126098 0.208003 -0.622115 0 +317 0 -0.766556 -0.382749 -0.13044 -0.236826 0.19572 0.324218 -1.69466 -4.4333 -0.580475 3.70463 -0.307456 0.0929174 0.0569196 0.154023 -0.0392673 -2.19277 -10.0791 0.518106 -0.0454852 3.00665 0.131007 -0.120942 -0.0697618 0.976034 -0.926035 -0.216994 -0.0328719 -0.392589 0.378901 0.108432 -0.238501 -0.376578 0.787532 -0.517166 -0.542362 -0.0834347 -0.461253 7.13089 -0.865119 1.72854 0.231313 -2.24243 -0.259978 0.526477 0.862912 0.989165 -0.115182 -0.681277 0.629862 1.32684 1.8387 3.75921 0.13307 0.0100011 0.0539015 -2.78328 -0.617334 0.0660708 -1.57229 -0.451674 0.847588 -2.23218 -3.65563 3.18085 0.234896 0.482393 -2.8204 -0.636078 0.297633 -2.67774 0.409025 -0.668316 0.655833 -0.088763 0.135689 1.50684 -31.146 -14.7759 10.9415 -8.20949 7.07131 -11.0496 -3.86599 3.96132 -6.18879 8.21441 -1.28716 1.57499 -1.71686 1.84619 -1.25956 0 0 0 0 0 -0.13044 -0.236826 -0.00472892 0 0 0 0 0.000982074 0 0.00472933 0 0 -0.00447502 -0.0221041 0.0689384 0 0.00540861 -0.122306 0.087424 0 0 0.117679 -0.00160469 0 0.0115325 -0.713509 0 0 0.0216259 -0.204088 0 0.0417257 0 0.020985 0 0 0.00462222 0 0 0.0830471 0.0133874 -0.0600593 0 -0.0689403 -0.0614336 0 0 -0.0278867 0 0.00160233 -0.371487 0.00417795 0 0 0.00940092 0.0149259 0 -0.00989801 -0.0358295 -0.0210005 0.0526604 -0.0190537 0.0147502 0 -0.000115853 6.92673e-05 -0.191081 0.113317 0.00641931 0 0 0 0.415715 0.197189 -0.0503084 -0.0176445 0.0302187 0.106338 0.00630536 -0.0119083 0.0192324 0.027495 0 0 0 0 0 0 0.19572 0 0.324218 0 0 0 0 -0.438854 -1.9931 0 0 0.943526 0 0.117654 0 -0.0927491 0 0 0.415486 0 -0.305993 -0.181998 0.154365 0.0318039 0 0 -0.744374 0 -8.98992 0 1.82355 -0.0605843 0 -1.45775 -0.122774 0.0140393 0 -0.0381719 0 0 -0.256237 0 -1.83145 0.910083 0 0 0.0592098 0 0 0.157962 -2.65119 0.0189617 0 -0.706657 0 1.05368 -0.406147 0.299332 -0.615829 -0.00390193 0.0922914 -1.19469 0.22423 2.35128 6.96585 0.0908101 0 0 0 -0.25573 -0.209765 0 0 0 0 0.723477 -17.2957 -4.72396 3.09793 -0.792531 0.403764 -1.64022 -0.449358 0.480654 -0.816398 1.12181 0 0 0 0 0 0 +318 0 0.407273 -0.259989 -0.0748758 -0.262528 0.351908 -0.0560296 -1.3027 -3.82403 -0.410782 2.8121 -0.6982 -0.44338 0.0311135 -1.70636 -0.149035 -1.69091 -4.86973 0.495939 -0.303435 0.65715 0.129425 0.33979 -0.0360873 0.74474 -0.345733 -0.686692 0.0632326 0.653689 2.19867 -0.413916 -0.130094 -0.698814 0.741843 0.18397 0.0140392 -0.153816 -0.00772366 2.51515 -1.20289 -0.179069 0.138318 -0.459201 -0.266017 -1.65348 0.609277 -0.337787 1.18374 -1.53713 0.764596 -0.116816 1.77649 12.6845 0.363075 -0.266818 0.472143 1.35816 0.586546 -0.101301 -1.31322 -0.317232 0.893149 0.177516 -2.38124 2.29004 0.127343 0.580156 -1.90184 -0.169676 0.195262 -3.01734 -0.148296 -1.35647 0.265733 0.195295 -0.804093 1.06817 -13.9396 -10.5202 8.26548 -3.77719 3.42816 -5.12428 -3.9353 3.69719 -6.0546 9.45036 -0.908826 1.55362 -2.65251 4.36836 -7.30892 0 0 0 0 0 -0.0748758 -0.262528 -0.00016476 0 0 0 0 0.00167377 0 -0.0189892 0 0 0.00488899 0.0100729 -0.00438325 0 -0.00183205 -0.00472984 -0.138292 0 0 0.125858 0.000740845 0 -0.0702102 0.641209 0 0 0.00330064 0.178865 0 -0.182533 0 0.0153118 0 0 -0.000758362 0 0 -0.381176 0.0228492 0.0657402 0 -0.00623408 0.0188021 0 0 0.023601 0 0.018098 -0.0639836 -0.0467165 0 0 -0.0125695 0.0113135 0 0.0109056 -0.0130836 0.0319913 0.139633 -0.0329791 -0.011492 0 0.0020754 0.11847 -0.0584918 0.0553392 0.111214 0 0 0 2.25056 -0.198265 0.561393 0.038825 -0.0760883 0.24273 -0.00671427 0.012857 -0.0287174 0.0747509 0 0 0 0 0 0 0.351908 0 -0.0560296 0 0 0 0 -0.75099 -1.04462 0 0 1.04784 0 0.14344 0 -0.0836069 0 0 -0.0708494 0 0.785081 -0.220733 0.491646 -0.0418265 0 0 -0.555587 0 -6.34434 0 0.648642 -1.00345 0 -1.87823 1.0569 0.0726905 0 -0.092531 0 0 -0.148179 0 -2.97721 0.360756 0 0 -0.0195805 0 0 0.0486133 -3.25895 -0.220766 0 0.951009 0 1.41381 -0.400947 0.403835 -1.25472 -0.20022 0.290725 -1.17782 0.561267 2.28771 13.665 0.143953 0 0 0 0.0319146 -0.377794 0 0 0 0 0.383088 0.716021 -4.05002 7.23507 -1.15598 1.30166 -1.07692 -0.56449 0.663098 -0.972751 1.63408 0 0 0 0 0 0 +319 0 -0.774559 0.258309 0.00973433 0.0208922 -0.217656 -0.0375974 -0.58269 -0.0889393 0.0935252 0.275269 -0.00797254 -0.46348 -0.00408177 -1.58425 -0.0149707 2.32594 9.79185 0.0699966 -0.0101983 -0.710023 0.0276839 -0.04789 0.00558139 0.0340912 -0.0958991 0.70414 0.0573327 0.177473 -0.18504 -0.3622 0.0239122 -0.0542978 0.385055 0.0724397 -0.120179 -0.00035309 0.433632 3.58171 -0.0309344 -0.284778 -0.0123317 1.21983 0.00667835 -2.03855 -0.0162089 -0.113362 0.0150134 0.00538816 -0.00717922 -1.54894 0.489814 1.50437 -0.00451973 0.0242403 -0.0145549 -0.44201 -0.642708 0.260332 -0.170054 0.0218307 -0.0738931 0.370247 -0.147172 1.21197 -0.0483806 0.182592 -0.0877448 0.415143 -0.0488286 -0.0538251 0.137506 -0.132985 -0.20044 2.37128 -0.0042045 0.477783 -20.6192 -5.78003 2.23667 -3.67672 2.71896 -4.39708 -0.167636 0.260759 -0.292773 -0.492122 0.0241779 0.0056069 0.164948 -0.147958 0.615117 0 0 0 0 0 0.00973433 0.0208922 -0.00018275 0 0 0 0 -7.32352e-06 0 0.00160064 0 0 0.000818117 0.00340128 -0.00124436 0 4.23384e-05 0.00634859 0.00589792 0 0 0.0200699 0.000247237 0 0.0563573 -0.26797 0 0 0.00517046 -0.00822362 0 0.205897 0 -0.000776666 0 0 0.000410621 0 0 0.736012 -0.000124874 0.0113099 0 -0.00317115 0.0621202 0 0 -0.209498 0 0.00106153 -0.144576 -0.00220301 0 0 -0.00258581 0.000682763 0 0.0131326 0.0139231 0.01013 0.156292 0.0423025 -0.0314603 0 0.00319212 0.000988483 0.151667 -0.0528722 -0.154482 0 0 0 -3.05566 0.10745 -0.313446 -0.0737161 0.140421 -0.287071 -0.00128057 0.0024648 -0.00568365 0.0086587 0 0 0 0 0 0 -0.217656 0 -0.0375974 0 0 0 0 0.128496 0.0514798 0 0 -0.11764 0 -0.0113518 0 -0.000310087 0 0 0.51763 0 -0.570783 0.0507798 -0.0213414 0.0768241 0 0 0.0191456 0 -2.9891 0 1.26175 -0.878101 0 0.639841 -0.348982 0.00108541 0 0.00346602 0 0 0.00323145 0 -1.94496 1.22811 0 0 0.180474 0 0 -0.0867092 -1.3546 -0.0521727 0 0.80559 0 0.403753 -0.0190111 -0.028286 -0.169226 0.0391204 0.206936 -0.259457 0.085248 -0.684153 7.13797 0.0625933 0 0 0 0.183499 0.00438218 0 0 0 0 0.000163211 -14.8849 0.337502 -4.42816 0.0999562 -0.371541 -0.589784 0.0618383 -0.0634529 0.0245568 -0.46639 0 0 0 0 0 0 +320 0 -0.694489 -0.190806 -0.0957768 -0.321298 0.356947 0.0976251 -0.986096 -4.52963 -0.510124 4.16302 -0.43696 0.410183 0.0224197 0.958639 0.089029 0.98948 5.50583 0.742046 0.176148 -2.1649 0.141649 0.363959 -0.0231286 0.94365 -0.512419 -0.0882321 0.108442 0.0689846 0.937229 0.213728 -0.124656 0.407654 0.909319 0.501761 0.0444106 -0.050358 0.0603207 3.52384 -1.06116 -0.76041 0.141234 0.215508 -0.154098 2.20286 0.842377 -0.176957 0.380499 0.761599 0.467255 -0.470179 1.99208 -15.9183 -0.0942282 0.39844 0.378876 -2.63403 -0.480315 -0.122594 -1.64552 -0.351789 3.19147 1.24705 -2.8265 0.537878 -0.243091 -1.22105 -2.20145 0.0927543 0.176908 -2.64866 1.96134 -0.366005 -0.0467605 0.112021 -1.45256 -2.43137 -13.0125 -10.9645 6.71465 -4.14716 3.9721 -8.67032 -3.96511 3.24928 -7.04167 6.91401 -0.872175 1.01867 -2.31941 2.83276 -4.08149 0 0 0 0 0 -0.0957768 -0.321298 -0.00155088 0 0 0 0 0.000908029 0 -0.0215854 0 0 0.00171267 0.00455611 -0.000586009 0 -0.00171248 0.0133189 -0.123588 0 0 0.0576071 0.000332216 0 -0.0809993 0.479306 0 0 -0.000248613 0.131512 0 -0.212613 0 0.00595356 0 0 -0.00190095 0 0 -0.483444 0.0123375 0.0268176 0 -0.0225712 -0.0534351 0 0 0.123707 0 0.0123399 -0.468342 -0.0336849 0 0 -0.00414464 0.0128919 0 -0.00135465 -0.0171047 0.00839523 -0.233858 -0.0405854 0.00939513 0 0.00149374 0.111944 -0.127307 0.08981 0.0928466 0 0 0 2.70397 -0.156047 0.716828 0.0509129 -0.0990319 0.280961 -0.00175859 0.00360034 -0.0204494 0.125598 0 0 0 0 0 0 0.356947 0 0.0976251 0 0 0 0 -0.653609 -1.54517 0 0 1.2952 0 0.175835 0 -0.0576747 0 0 -0.148114 0 0.583359 -0.226952 0.528678 -0.0368939 0 0 -0.520444 0 0.300013 0 3.30718 0.414442 0 -1.63474 1.40922 0.0756382 0 -0.089476 0 0 -0.173776 0 0.706317 0.126301 0 0 -0.0299157 0 0 0.224388 -4.59844 -0.593952 0 -0.950944 0 1.69619 -0.311522 0.451402 -0.620456 -0.09905 -0.645644 -1.43256 0.595572 1.05512 -7.45994 0.0746253 0 0 0 -0.40158 -0.334456 0 0 0 0 0.519619 -18.5979 -6.44392 5.87698 -1.72392 1.92941 -3.24125 -0.6096 0.714493 -1.12361 1.3098 0 0 0 0 0 0 +321 0 0.641413 0.399763 -0.0192529 -0.11244 0.29254 0.247875 -1.02578 -2.96833 0.0280916 0.920679 -0.128378 -0.0630054 0.00404313 -1.18082 -0.0134876 2.011 6.81223 0.0138793 -0.00163981 0.377412 0.0201081 -0.250304 -0.000956367 0.189639 -0.455152 0.746258 -0.0201687 -0.202106 -0.0136873 -0.145469 -0.00202379 -0.193321 -0.392862 -0.226554 -0.304985 -0.00905419 0.049341 -1.22301 -0.3347 0.448415 0.0387316 -0.321563 -0.02494 -0.494065 0.366063 0.36871 -0.101682 -0.18183 0.0850938 -1.53762 0.346128 -10.8515 0.0441573 0.0895481 0.21898 -3.28077 -1.21365 0.0981728 -0.486669 -0.116138 0.0445671 -0.248237 -1.70009 -0.571183 0.479054 -0.611465 -0.55082 -0.547022 -0.0505215 -1.4862 0.418642 -0.140056 0.127672 1.52109 -0.789366 -0.913897 1.00183 -3.75811 8.69836 0.282997 0.0329922 2.81951 -1.00933 1.09823 -1.8878 5.04092 -0.379011 0.377217 -0.789989 0.721158 0.0596061 0 0 0 0 0 -0.0192529 -0.11244 -0.00353598 0 0 0 0 -0.000592359 0 -0.0284032 0 0 0.00377223 0.0070314 -0.0212783 0 -0.00263977 0.0580144 -0.221615 0 0 0.0314274 0.000518279 0 -0.00857358 0.806606 0 0 -0.00197544 0.262469 0 -0.0377298 0 0.00456407 0 0 -0.000382761 0 0 -0.149792 -0.00832689 0.0529255 0 -0.0508961 0.0269437 0 0 0.026134 0 -0.00383498 -0.244958 -0.00724954 0 0 -0.0117066 0.00933295 0 0.00824806 0.0125636 0.0190308 -0.464091 -0.00567886 -0.011976 0 -0.0106597 0.0673966 -0.0117925 -0.0373771 0.00227497 0 0 0 1.67478 -0.162933 0.764965 0.0217697 -0.0442762 0.188592 -0.00553665 0.0107434 -0.0295107 0.141697 0 0 0 0 0 0 0.29254 0 0.247875 0 0 0 0 -0.329897 -0.0518161 0 0 0.366384 0 0.0433591 0 -0.0224513 0 0 0.256675 0 -0.603162 -0.137595 0.0810669 0.0373568 0 0 -0.264776 0 0.979945 0 -1.88508 -0.118992 0 -1.24559 -0.801238 0.00814048 0 -0.0319722 0 0 0.0140105 0 -0.620352 0.906803 0 0 0.111868 0 0 0.184184 -0.437212 -0.475028 0 1.76464 0 -0.821988 -0.124603 0.191518 -0.86754 -0.115368 0.980192 0.347988 0.212112 -2.33659 -3.14091 0.150198 0 0 0 0.000564008 -0.159086 0 0 0 0 -0.0435602 10.9458 -0.503358 4.10171 0.61129 -0.989588 2.19187 -0.19876 0.238859 -0.351063 1.03803 0 0 0 0 0 0 +322 0 -0.477498 -0.340883 -0.0216658 -0.10989 0.0066691 -0.296899 0.524153 0.971026 -0.196603 0.183062 -0.195508 -0.56301 0.00445426 0.239364 0.0418535 -1.696 -5.97913 0.074809 0.036247 -0.200025 0.0174545 0.130801 -0.00473467 0.0632794 0.326663 -0.554204 0.044905 0.73196 2.15981 -0.277095 -0.0304045 0.311606 0.208105 0.170805 0.295934 -0.0199853 0.108708 1.54399 -0.449057 -0.658694 0.0262226 -0.143728 -0.0575065 -0.515548 0.135677 -0.737822 1.25036 0.216575 0.216201 1.76676 0.327879 2.29663 -0.0719847 0.0867298 0.0361743 1.52298 -0.298459 0.144157 -0.0754981 -0.0721559 1.01452 -0.0682556 -0.242868 1.41799 -0.250631 -0.473207 -0.582062 0.051892 0.0648654 -0.145992 0.339689 -0.0250412 -0.103234 0.502617 -0.934957 -0.83573 -9.84157 -1.4345 -3.65872 -0.864266 0.2792 -3.27583 -0.275407 0.0441014 -0.467663 -4.17129 -0.140476 0.308061 -1.41353 2.1811 -9.40565 0 0 0 0 0 -0.0216658 -0.10989 -0.00253627 0 0 0 0 -2.37414e-05 0 0.00403882 0 0 8.09832e-05 0.00119018 0.00417604 0 0.000139894 -0.000847863 0.0404857 0 0 0.165527 9.31662e-05 0 0.00514277 0.170855 0 0 0.0245839 0.0360703 0 0.0704676 0 0.0205502 0 0 0.00266039 0 0 0.343564 -0.00043425 -0.000118511 0 -0.0363583 0.0295765 0 0 -0.114488 0 0.00109771 0.115015 -0.00550801 0 0 -0.00293487 0.00678284 0 0.00920556 -0.0141134 0.0118785 -0.0241768 0.0129753 -0.0185389 0 -0.000163952 0.0168579 0.0208593 -0.0239164 -0.0394111 0 0 0 -1.48188 0.0406358 -0.216353 -0.0326408 0.0625291 -0.147554 -0.000736778 0.00142197 -0.00155706 -0.0144764 0 0 0 0 0 0 0.0066691 0 -0.296899 0 0 0 0 -0.291347 -0.282845 0 0 0.118371 0 0.008562 0 0.0215864 0 0 0.21185 0 0.438311 0.0269719 0.106354 0.0361935 0 0 0.150973 0 -1.15276 0 0.984953 -0.210667 0 0.0326872 0.299201 0.0111194 0 -0.0203204 0 0 -0.0284861 0 0.25167 0.183185 0 0 0.0475059 0 0 0.0965419 0.031598 -0.196307 0 0.624989 0 0.387773 -0.101558 0.117272 -0.342902 -0.0342939 0.318554 -0.0944585 0.0603246 -1.00765 -1.91002 0.0792743 0 0 0 0.0128972 -0.0574129 0 0 0 0 -0.00462024 -15.8588 -0.018598 -3.45726 0.0960277 -0.406775 -0.0259784 -0.0513232 0.0527348 -0.103107 0.125549 0 0 0 0 0 0 +323 0 0 0 0 0 0.0507744 0.229604 -0.996679 -1.45059 0 0 -0.448183 1.08054 0 1.29927 0.0580834 0 0 0 0.268382 1.53969 0 0 0 0 -0.324256 0 0 -0.132796 2.37013 0.507669 0 0.464964 0 0 -0.227899 -0.0688451 0 0 -1.48963 0.608381 0 0 -0.266367 3.49964 0 0.613085 0.21956 1.34812 0.409305 1.16401 0.252518 0 -0.404373 0.00506314 -0.0766016 1.03485 0.556862 -0.102273 0 0 -0.290507 0.899425 0 0.0795216 -0.509889 0.850554 0 0 0 0 -0.171855 -0.350361 0 -0.0170689 0.250337 0 0 0 1.3081 0 1.72017 -2.51104 0 0.333875 -0.639608 1.54177 0 0.753953 -1.57116 3.16162 -4.41452 0 0 0 0.163732 0.0409429 0 0 0 0.000893257 -0.00254393 0 0.000637003 0 0.00304789 0.0220947 0 0 0 0 0.11083 0 0.0215754 0 0.178028 0 0.012208 0.0029828 0 -0.012584 0 0 -0.223265 0.000706413 -0.0275964 0 -0.00429208 0 -8.58608e-05 0.042455 -0.0608951 0.0141351 -0.00702672 0 0.000143959 0 0 0 -0.00020044 0 0 -0.00179274 -0.000905204 -0.242727 -0.00775489 0 0 -0.0116364 0 -0.000704005 0 0 0.00876468 -0.00424256 0.171775 0.00166088 0 0 -0.206729 -0.0492116 0.014714 -0.0385378 0.554214 0 -0.136929 0.00196274 0.00509411 0 0 0 -0.787971 0 -0.0523109 0.864185 0 -0.00329297 0.053406 -0.128443 0 -0.00045542 0.00754962 -0.0326288 0.501948 0 0.0507744 0.163732 0.229604 0.0409429 -0.178195 -0.0759884 0.495295 -0.193061 0.499077 -0.0361977 -0.0227099 0.391418 -0.00748456 0.0342167 0.0814945 -0.0161758 -0.04684 -0.151683 0.188202 0.430009 0.574632 -0.0635029 0.418551 0.0388314 -0.254371 0.148816 0.128856 -0.0136062 3.10632 -0.375745 2.95546 0.615757 0.0121781 -0.317766 1.63736 0.0592757 -0.00725348 -0.051385 -0.0725481 0.892271 0.0118578 0.0240509 1.0241 0.872935 -0.00487214 -0.037784 0.191957 0.0069686 0.310492 -0.616762 1.46996 0.493003 0.127811 0.733068 -0.215448 0.166183 -0.0504195 -0.159507 -0.407429 0.00644557 1.0434 0.30921 0.131911 0.249215 5.911 0.100262 -1.18766 -0.0913052 -0.0437435 0.46131 -0.0196862 0.0279083 0.0893162 -0.0488119 0.0492286 0.023786 -14.4796 -2.29136 1.54042 -0.239973 1.1408 -2.42818 -0.0126027 0.147388 -0.444147 0.0441796 0.0627723 0.112512 -0.332282 0.532717 -0.992381 0 +324 0 0 0 0 0 0.621088 0.331841 -0.366855 -2.06885 0 0 -0.25879 1.16894 0 2.20103 0.0396228 0 0 0 0.0519854 3.75416 0 0 0 0 -0.328374 0 0 -0.0352098 0.950089 0.614758 0 0.236435 0 0 -0.170524 -0.0491155 0 0 -0.863878 2.03651 0 0 -0.179993 4.14046 0 1.16638 0.537024 0.33044 0.367605 -0.104418 -0.415064 0 -0.232716 -0.0605113 0.136582 -1.05647 0.220335 0.0303079 0 0 0.155111 -3.45907 0 0.482987 0.728768 1.43125 0 0 0 0 -0.367136 -0.573446 0 -3.8011 0.18856 0 0 0 2.4673 0 0.817098 -0.110709 0 0.0662852 -0.278578 3.06848 0 0.842421 -0.838701 1.62066 -1.66078 0 0 0 0.100367 0.0202279 0 0 0 -0.0154631 -0.0174583 0 -0.00247649 0 -0.00266315 -0.0411047 0 0 0 0 -0.0428442 0 -0.00101072 0 -0.329717 0 -0.0713984 -0.748573 0 -0.00749947 0 0 -0.165701 -0.00105132 -0.116856 0 -0.00631733 0 -0.000743161 -0.295968 -0.0383718 -0.0244566 -0.0440599 0 -0.000122169 0 0 0 -0.000294108 0 0 0.00256367 -0.00278503 -0.0144064 -0.0416864 0 0 0.0104386 0 -0.000695511 0 0 -0.0148589 -0.0117171 -0.282164 0.0348693 0 0 0.0646738 -0.0182719 0.0165035 -0.456512 -0.00587606 0 -0.225918 0.0169006 -0.0024664 0 0 0 1.10315 0 0.10141 0.518134 0 0.00658708 0.0288681 0.368974 0 0.000905745 0.00404693 0.0178996 0.296255 0 0.621088 0.100367 0.331841 0.0202279 0.181886 -0.0127733 0.0904788 -0.813088 -0.486267 -0.035148 0.0469653 0.0749501 -0.00549673 0.0173519 0.0279186 -0.0462319 0.0056037 -0.223447 0.0513699 -0.715481 0.049564 -0.244041 0.23255 -0.0333713 0.112036 0.0139327 -0.27879 -0.0356687 1.23109 -0.0427139 -0.262494 1.18719 0.00544659 -1.72214 0.039604 0.0363236 0.00344385 -0.133936 0.0174924 -0.0142225 -0.0705719 0.00763616 1.86097 -0.535163 0.00517247 0.00223238 -0.204791 -0.186505 -0.355623 -0.49161 1.10756 -0.0827963 0.0359746 -2.3707 -0.0404648 1.64007 -0.159574 0.190419 -0.436318 0.201785 0.11014 -0.324259 -0.257143 0.17318 -2.35165 -0.0942605 0.252124 -0.0133268 0.116721 -0.466626 0.0451311 0.0477814 0.0846915 -0.224403 -0.0718776 0.248967 1.28603 -0.0652501 5.32816 0.60168 0.23076 0.429889 0.0852368 0.133114 -0.194607 0.942273 0.092471 0.0924488 -0.177952 0.415887 -0.572921 0 +325 0 0 0 0 0 -0.194951 0.114448 -0.00949756 0.99826 0 0 0.412437 -0.084605 0 -1.07941 -0.0752964 0 0 0 -0.325405 -2.22846 0 0 0 0 -0.0280512 0 0 -0.803097 0.357939 0.171464 0 -0.86471 0 0 -0.22268 0.0828029 0 0 0.917737 -0.724206 0 0 0.189167 -3.67869 0 0.0858301 -0.719732 -2.68067 -0.309458 -0.53246 -0.111242 0 0.619012 -0.0567179 0.0182884 -0.39787 0.332487 -0.464147 0 0 0.196851 2.19617 0 0.89588 0.305916 0.66546 0 0 0 0 -0.0198197 0.0281733 0 0.524001 0.102014 0 0 0 -1.19538 0 -0.66221 -1.9235 0 0.0136946 -0.199154 -1.94377 0 -0.32597 -0.909907 -0.247277 -2.20149 0 0 0 -0.0788986 -0.0522331 0 0 0 0.0412092 0.000944799 0 0.00447625 0 -0.00502098 0.0325315 0 0 0 0 0.108163 0 0.00140016 0 0.231111 0 0.302111 0.245398 0 0.0248609 0 0 0.680659 -0.00118902 0.0856998 0 0.00654672 0 -1.98825e-05 0.153537 0.136738 -0.0239403 0.038987 0 -0.000237056 0 0 0 0.000305508 0 0 0.00283218 0.00131369 0.2293 0.0265421 0 0 0.0530497 0 0.00145325 0 0 0.0254054 0.0218812 -0.0100824 0.0235161 0 0 -0.0249734 -0.133281 0.0252147 0.109117 0.312497 0 0.618115 0.00993256 -0.175939 0 0 0 -0.566104 0 0.0863111 -2.48189 0 0.00530236 -0.149339 -0.408443 0 0.000745135 -0.021143 0.0756873 -1.38975 0 -0.194951 -0.0788986 0.114448 -0.0522331 -0.123809 -0.00401786 -0.197736 -0.11965 0.757072 0.0831711 -0.0445816 0.360929 0.0142302 0.0696014 -0.0760464 0.0404649 -0.0144395 0.478585 -1.21553 0.246145 -0.332008 0.0556479 -0.217152 -0.134808 -0.409314 0.0999226 -0.0273288 0.0136208 -5.78204 0.024709 -1.45659 0.228896 -0.0150599 0.0165283 -0.967596 -0.0312026 0.00153761 -0.00118853 0.0123589 0.619985 0.14931 0.0153497 -1.71502 -3.32192 -0.00128941 -9.06786e-06 -0.344428 0.0597128 -0.039618 -1.09909 0.3002 -0.227393 0.100649 0.82266 0.0855938 0.965995 0.406019 -0.0966728 -0.0114355 0.280526 -0.181763 0.912125 -0.25668 0.472534 0.168455 0.16358 -0.473926 0.131194 -0.0505507 0.759959 -0.162573 -0.00224822 -0.18235 -0.237642 0.0357087 -0.240072 7.13623 -0.227415 -0.102017 -0.870965 -0.154423 -1.1074 -0.290462 -0.0677468 0.165302 -0.684908 -0.198057 -0.0326287 -0.0432565 0.0598681 -0.583263 0 +326 0 0.504778 0.276514 0.0373431 0.213024 -0.194322 0.00838352 0.574749 1.15771 0.372474 -1.00052 0.169278 0.23082 -0.00489427 0.677664 -0.0358806 0.776522 3.50993 -0.128519 -0.0840809 2.96218 -0.0213677 -0.34667 0.00658934 -0.15525 -0.0161914 0.287683 -0.01979 -0.113106 -0.334853 0.101792 0.0503922 -0.173757 -0.59635 -0.146089 -0.0384827 0.0119807 0.145957 -1.99522 0.293317 1.30242 -0.0317805 0.398492 0.0294032 1.58897 -0.186397 0.529568 -0.187825 -0.481211 -0.0681416 -0.395612 -0.207188 -0.266643 0.289732 -0.13401 -0.00104541 -2.23694 0.427585 0.54967 0.195898 0.0764596 0.264985 -3.00478 0.336128 0.382298 0.307143 -0.348204 -0.309997 -0.065999 -0.103116 -0.00207942 -0.199791 0.00752681 -0.135692 -1.65634 0.261352 1.02911 4.50522 2.24175 -1.64969 0.742314 -0.823109 2.69684 0.553823 -0.551864 1.3102 -1.1176 0.0796853 -0.0800556 0.139803 -0.138547 0.245134 0 0 0 0 0 0.0373431 0.213024 -0.00037282 0 0 0 0 -0.000211809 0 -0.0184967 0 0 1.0079e-05 -0.000411541 -0.0318742 0 -0.0047711 -0.0407725 -0.113274 0 0 0.0335191 -1.55864e-05 0 0.0247874 -0.321833 0 0 0.00397132 -0.0966801 0 0.0713173 0 -0.000112514 0 0 8.29469e-05 0 0 0.0188412 -0.00456074 -0.001329 0 -0.00880632 0.026302 0 0 -0.148313 0 -0.00207891 -0.588813 0.00654247 0 0 -0.000172462 -0.000622799 0 0.00215951 0.00194944 -0.0122876 1.01315 -0.0184826 -0.0211074 0 6.27823e-05 -0.0122867 0.00509073 0.025811 -0.21635 0 0 0 -0.551459 -0.0131348 0.366176 -0.00291251 0.00784056 -0.0967463 7.69067e-05 -0.00020228 0.00257259 0.127042 0 0 0 0 0 0 -0.194322 0 0.00838352 0 0 0 0 0.206057 0.152859 0 0 -0.74777 0 -0.0846324 0 -0.00424303 0 0 -0.117623 0 -0.784751 0.0833815 -0.28828 -0.0623639 0 0 -0.0209683 0 1.02156 0 -2.80589 -0.453805 0 0.48501 -1.37513 -0.0342189 0 0.0419088 0 0 0.0195168 0 -0.223764 -0.140939 0 0 -0.0966696 0 0 -0.44654 0.0451371 -0.156364 0 -0.873625 0 -0.104297 -0.0304987 0.0891231 0.220826 0.0980191 0.0877543 -0.0590181 -0.0879915 0.376614 -2.32739 -0.0801694 0 0 0 0.252237 0.105149 0 0 0 0 -0.0963064 16.2083 3.9309 -1.93958 0.794835 -0.387259 0.485964 0.208691 -0.164704 0.256986 -0.197272 0 0 0 0 0 0 +327 0 0.923777 0.0341057 0.00546155 0.12372 0.000282031 -0.273574 0.692394 0.929407 -0.0340633 0.0462632 0.155092 -0.377011 -0.000558208 -0.80663 0.0214046 -0.249882 1.32169 0.126479 0.0373207 -2.19758 0.033736 0.302494 -0.000173392 0.122512 0.473516 -0.454594 0.0292953 0.604586 0.279823 -0.334311 -0.00288308 0.275923 0.103397 0.165025 0.425751 0.0150703 0.132797 -2.73881 0.314965 -1.51088 -0.00820423 0.313433 0.0310267 -0.971046 -0.114597 -0.958673 0.496929 0.520377 -0.0646341 -0.56419 0.118097 -0.0083747 -0.0461829 -0.028916 -0.0493878 -0.907911 0.224135 0.130774 -0.127037 0.0209214 0.728202 1.15097 -0.829641 0.00425582 -0.188511 -0.483402 -0.0805923 0.211213 0.0330814 -0.514872 0.141825 0.128727 -0.383102 0.310564 -0.516381 -0.013482 5.27475 1.11168 -2.60107 1.63586 -1.9819 2.59135 -0.0554456 0.054496 -0.0434298 -0.621659 0.0489908 -0.0779965 -0.0178665 -0.0892284 -0.204849 0 0 0 0 0 0.00546155 0.12372 0.000773275 0 0 0 0 6.78542e-05 0 -0.00320789 0 0 -0.0009281 -0.00275064 0.00557935 0 0.000580634 -0.0127182 4.49243e-05 0 0 0.0676825 -0.000122268 0 -0.0111158 -0.113506 0 0 0.0108209 -0.0673699 0 -0.0960421 0 0.00127854 0 0 0.00010311 0 0 -0.646272 0.00138478 -0.0224869 0 0.0155632 0.0685423 0 0 -0.107543 0 0.000410004 0.179949 0.0204284 0 0 0.00191387 -0.00225276 0 -0.00382558 0.0161879 -0.0159636 0.0195915 0.0364144 0.0176116 0 -0.0021427 -0.101561 -0.0157218 -0.0104332 0.00307561 0 0 0 3.41439 0.184818 -0.0291042 0.0125572 -0.0303794 0.480046 0.000865239 -0.00216595 0.0287515 -0.0527173 0 0 0 0 0 0 0.000282031 0 -0.273574 0 0 0 0 0.0435675 -0.100535 0 0 -0.293423 0 -0.0351251 0 0.0156514 0 0 -0.459425 0 0.3241 0.0364696 -0.0775501 -0.073158 0 0 0.16898 0 0.126252 0 -2.48346 -0.69335 0 0.201302 -0.118837 -0.0105617 0 0.000798989 0 0 -0.021057 0 -0.899619 -0.403437 0 0 -0.0905454 0 0 0.0240714 0.422446 0.0808275 0 -0.458298 0 -0.039885 0.0509083 -0.0358607 0.330991 -0.0418702 -0.402624 0.339504 -0.0598947 -0.664692 -6.66248 -0.00611219 0 0 0 -0.14611 0.115858 0 0 0 0 0.0435743 15.9535 2.28926 -0.745562 0.679279 -0.705319 1.18858 0.138601 -0.11786 0.172405 -0.182756 0 0 0 0 0 0 +328 0 -0.683721 0.062812 -0.0488438 -0.113995 -0.00486001 -0.0113138 -0.483207 -1.0343 -0.356954 1.44826 -0.201195 -0.0243541 0.00849479 -0.187708 0.0626164 -0.411534 -2.17728 0.199596 0.132901 2.29718 0.04475 -0.181675 -0.00961612 0.314269 -0.151249 -0.0992484 0.00600211 0.321174 0.939807 -0.183214 -0.0647182 0.430726 -0.10283 -0.114751 -0.0872274 -0.0186297 -0.140159 1.10263 -0.505247 0.839412 0.0648624 -0.994388 -0.055702 0.690274 0.488292 0.135092 0.542045 0.889099 0.186533 -0.25617 0.474742 0.187579 -0.239959 0.271634 -0.214008 -0.752634 -0.00544679 0.101271 -0.480023 -0.158007 1.2737 -1.38815 0.574548 -0.279533 -0.377153 0.0331216 -0.286686 0.109738 0.118222 -0.460744 0.286772 0.00533337 0.342656 -0.6129 0.0302306 0.867012 -4.06766 -1.87559 0.115431 -1.54539 1.16052 -1.98296 -1.00901 0.857003 -1.69516 1.28447 -0.208747 0.153471 -0.379617 0.272458 -0.688 0 0 0 0 0 -0.0488438 -0.113995 0.000246653 0 0 0 0 0.000320681 0 0.032125 0 0 -0.000187226 0.000437275 0.0599592 0 0.0084399 0.106025 0.234204 0 0 0.187377 1.46059e-05 0 0.00931441 1.18135 0 0 0.0239247 0.371054 0 0.190414 0 0.0241768 0 0 0.00275494 0 0 0.674443 0.00693114 -0.0014077 0 0.00744112 -0.0104518 0 0 0.191952 0 0.0031123 1.15341 -0.0103504 0 0 0.00019437 0.00182832 0 0.00300244 -0.0342194 0.0250967 1.56825 0.0544811 0.0251706 0 0.0152553 -0.128108 0.340454 0.0218221 0.050731 0 0 0 -4.66185 -0.141015 -1.24088 -0.0193326 0.046477 -0.580364 -6.8585e-05 0.000218176 -0.00236009 -0.287268 0 0 0 0 0 0 -0.00486001 0 -0.0113138 0 0 0 0 0.0153 -0.886739 0 0 0.510752 0 0.0747645 0 -0.0187953 0 0 0.581969 0 -0.087506 0.0224287 0.273172 0.0717757 0 0 -0.219145 0 -1.91834 0 1.77215 -0.491295 0 0.146383 0.473972 0.0434876 0 -0.0067259 0 0 -0.099599 0 -0.881404 1.41741 0 0 0.187992 0 0 0.138218 0.528785 -0.143763 0 -1.45187 0 -0.199021 -0.0518642 0.0282074 -0.909313 0.00489134 1.32437 -0.431259 -0.00378471 0.577267 -4.06848 0.145942 0 0 0 -0.281644 -0.19625 0 0 0 0 0.276915 -7.97034 -1.83453 -0.132442 -0.57055 0.43619 -0.557254 -0.195664 0.128962 -0.138424 0.0377159 0 0 0 0 0 0 +329 0 -0.2273 -0.300469 0.00599149 0.0150893 -0.0590706 -0.271173 0.738815 1.26109 0.0294434 -0.603131 -0.0692433 -0.500945 -0.00112476 -0.974201 -0.0283659 -1.38216 -6.04497 -0.126677 -0.0674711 0.117395 -0.020673 0.151233 0.00119584 -0.109947 0.534444 -0.376784 0.0069074 0.518597 1.2481 -0.313857 0.00838182 -0.352662 -0.0658993 0.0157947 0.368423 -0.00339278 0.0196717 -0.481848 -0.162343 -0.573517 -0.00724549 -0.196006 -0.0132893 -1.89563 -0.0464775 -0.725246 0.835693 -0.764654 -0.0340268 -0.783282 -0.202831 -1.7777 0.217141 -0.0149152 0.0235247 1.55064 -0.611809 -0.264865 0.120979 0.0159807 -0.52381 0.666328 -0.800156 -0.0958946 0.15773 -0.567104 -0.310163 -0.024755 -0.0123161 0.0348466 -0.242277 -0.256172 0.135975 1.25101 -0.670343 -1.34635 -1.20757 0.882916 -3.11765 -0.114005 0.514566 -2.47986 0.148706 -0.00238338 0.311198 -2.3498 0.00191801 0.00708482 0.031568 0.0999167 -3.07859 0 0 0 0 0 0.00599149 0.0150893 -0.000220448 0 0 0 0 -6.17647e-05 0 -0.00456191 0 0 0.000338861 0.00102284 -0.00829417 0 -0.00145571 0.00561264 -0.0125658 0 0 0.0301101 4.79894e-05 0 0.0182277 0.0481584 0 0 0.00102185 0.0516519 0 0.0784437 0 0.00490895 0 0 0.0004164 0 0 0.299246 -0.00131744 0.0070499 0 -0.00480816 0.00554024 0 0 0.00436593 0 -0.00047482 0.0583089 0.000999956 0 0 -0.000640921 0.000289448 0 0.00388194 -0.0349321 0.00230647 1.73771 0.0076424 -0.00677659 0 0.00817344 -0.0878666 0.12267 0.0454077 -0.126747 0 0 0 -2.95491 -0.128927 -0.173951 -0.0141962 0.032865 -0.449123 -0.000241322 0.00046204 -0.0068015 -0.00221521 0 0 0 0 0 0 -0.0590706 0 -0.271173 0 0 0 0 0.0146111 -0.691034 0 0 -0.42451 0 -0.0637563 0 -0.0170678 0 0 0.183807 0 0.217152 0.0627504 -0.223809 0.0254201 0 0 -0.242084 0 -2.6055 0 0.122641 -0.330329 0 0.367991 -0.194324 -0.037351 0 0.0121762 0 0 -0.0601164 0 -0.77342 0.54336 0 0 0.0619254 0 0 -0.146641 -0.163551 -0.0706587 0 -0.672377 0 0.477882 -0.0641217 0.0053959 0.706309 0.000969953 -0.305533 -0.586181 0.0487293 -0.0234833 -4.95393 -0.0806293 0 0 0 -0.147498 0.0964684 0 0 0 0 0.220097 -0.205354 0.852105 -0.589398 -0.261035 0.561969 -0.996997 0.0691225 -0.0149164 0.0303249 -0.169289 0 0 0 0 0 0 +330 0 1.11865 0.446508 0.00661211 0.0192926 0.17197 0.0672542 0.216617 -0.393853 -7.72213e-05 -0.457364 -0.059147 -0.732092 -0.00160388 -1.59079 -0.0236849 0.536697 -0.625678 -0.100127 -0.0509002 -0.330915 -0.0277205 -0.472835 0.00117015 -0.124375 -0.245201 0.574566 -0.0275039 -0.245772 0.142527 -0.297673 0.0069558 -0.258604 -1.27787 -0.344801 -0.089079 -0.00855668 -0.0399853 -5.0816 -0.0753921 -0.192136 -0.0106203 -1.0663 -0.012203 -2.74805 -0.0707262 -0.0782472 -0.131228 -0.495797 0.0474531 -0.689754 -0.121022 -2.29437 0.132721 -0.0350233 -0.0441015 -0.106772 -0.644025 -0.0706351 0.209212 0.0218133 -0.233779 0.211904 0.522181 0.677062 0.118138 -1.00745 -0.00441471 -0.0968233 0.000123436 -0.7258 0.00172546 -0.191006 0.148805 2.11431 -0.325039 0.174836 12.2203 1.08104 4.55525 1.14049 -0.554946 5.73251 0.327743 -0.114662 0.407698 0.678856 0.00291869 0.0072394 0.0842862 0.0815277 -0.351558 0 0 0 0 0 0.00661211 0.0192926 -0.001398 0 0 0 0 -0.000190638 0 -0.0151673 0 0 -0.000738039 -0.000780452 -0.0181378 0 -0.00271314 -0.0431398 -0.100646 0 0 0.0200933 -3.65732e-05 0 0.0120133 -1.01887 0 0 -0.00289688 -0.266109 0 0.0284341 0 0.00277857 0 0 -6.15063e-05 0 0 -0.254173 -0.00406571 -0.0158285 0 -0.0298853 0.0246851 0 0 -0.150673 0 -0.00295202 -0.34194 0.0147569 0 0 0.00135217 0.00190917 0 -0.00173404 -0.0112062 -0.0103371 0.608035 -0.0121764 -0.0130729 0 -0.00559473 -0.0085055 -0.12757 0.0392831 -0.0653274 0 0 0 1.98957 0.129088 0.402111 0.00894547 -0.0172466 0.262647 0.000555904 -0.00104823 0.0154756 0.0787284 0 0 0 0 0 0 0.17197 0 0.0672542 0 0 0 0 -0.0156402 -0.343077 0 0 -0.229426 0 -0.0251238 0 -0.0168045 0 0 0.01319 0 -1.13437 0.0156049 -0.0957823 -0.0349444 0 0 -0.17771 0 -3.48207 0 -6.02075 -0.724223 0 -0.222374 -2.38401 -0.0110216 0 0.0198333 0 0 -0.0320698 0 -1.64064 0.0561662 0 0 -0.0615592 0 0 0.295143 0.919205 -0.0284462 0 -0.488595 0 -0.296631 -0.0118321 -0.0341252 -0.469375 0.0805441 0.555279 -0.225978 -0.10122 -1.43329 -8.01885 -0.103953 0 0 0 -0.353575 0.0822993 0 0 0 0 0.101154 33.804 3.27591 1.17705 1.33827 -0.730976 1.47812 0.111444 -0.0864709 0.12152 0.0010988 0 0 0 0 0 0 +331 0 -0.57337 -0.251308 -0.0211497 -0.0393952 -0.153607 -0.225767 0.572044 0.620049 -0.0972012 1.24821 0.0893891 -1.14849 0.00412125 -0.654475 0.0531701 -0.674867 -3.09901 0.28751 0.103341 -1.75375 0.0562284 0.0639451 -0.00417461 0.250631 0.0689092 -0.202122 0.0185293 0.397964 0.0502746 -0.381361 -0.0290155 0.553574 0.337996 0.32076 0.154419 0.0163401 -0.130123 2.14429 0.193092 -1.02984 0.0266207 0.446914 0.0331792 -3.17987 0.171776 -0.623898 0.402849 0.901133 -0.108771 0.783885 0.369826 -3.83862 -0.268182 0.0869981 -0.00800899 1.53135 0.452671 0.365615 -0.398856 -0.057832 1.11043 0.0237508 0.914626 0.439213 -0.303995 -0.40222 0.0629078 -0.0238544 0.0407275 -0.370272 0.198822 0.687616 -0.11697 -0.103238 -0.661873 -1.35968 -7.74264 -2.06755 -3.17575 -1.03458 -0.0695479 -2.25626 -0.480713 0.312096 -1.37898 -0.695337 -0.00708876 -0.0177887 -0.21289 -0.242181 -0.124008 0 0 0 0 0 -0.0211497 -0.0393952 0.000814789 0 0 0 0 0.000219828 0 0.0471652 0 0 -0.00117055 -0.00378265 0.0569609 0 0.00836699 0.0341378 0.319629 0 0 -0.00427083 -0.000177441 0 -0.0218613 0.0449033 0 0 -0.00393657 0.10981 0 -0.0224205 0 0.000297273 0 0 -0.000441388 0 0 0.0116114 0.00468858 -0.0245674 0 0.0176248 0.0350819 0 0 0.0459087 0 0.00175617 0.997427 0.0107706 0 0 0.0022011 -0.00107563 0 -0.00394654 -0.0551258 0.00734654 -0.808747 0.0573079 0.0303522 0 0.00739269 -0.119767 -0.233083 0.00536752 0.181864 0 0 0 1.02244 0.141967 -1.02597 0.00656838 -0.013593 0.190963 0.00081873 -0.00181575 0.0254196 -0.308435 0 0 0 0 0 0 -0.153607 0 -0.225767 0 0 0 0 -0.0779612 0.592235 0 0 0.422374 0 0.0612984 0 0.0458682 0 0 -0.290327 0 0.171707 0.0218202 0.220524 -0.0482745 0 0 0.461372 0 -0.259475 0 1.11295 -0.419843 0 0.139471 0.242069 0.0315736 0 -0.0128994 0 0 0.0434738 0 -0.0241468 -0.744936 0 0 -0.100117 0 0 -0.230794 2.55867 -0.0476391 0 -0.516647 0 -0.112632 0.0119587 0.0703354 -0.855059 0.0365998 1.25986 0.279052 -0.0980328 -0.0939387 0.629357 0.0930966 0 0 0 0.103265 -0.129891 0 0 0 0 -0.167441 -6.0649 -1.5107 -0.420765 -0.338188 0.26053 -0.440444 -0.172552 0.108561 -0.118244 -0.0107703 0 0 0 0 0 0 +332 0 0 0 0 0 -0.0633584 0.279315 -0.768156 -1.2083 0 0 -0.167528 0.795295 0 0.947971 -0.0297869 0 0 0 0.00873516 3.8354 0 0 0 0 -0.431444 0 0 -0.856072 2.54935 0.542946 0 -0.237889 0 0 -0.304342 0.0037287 0 0 -0.683524 1.46389 0 0 -0.0291994 1.84129 0 0.648565 -0.404389 -0.333005 0.0715944 1.16583 -0.00326475 0 0.0680438 -0.0437402 0.251795 0.385124 0.798575 1.30334 0 0 -0.562697 -2.17831 0 0.236571 -0.208659 0.994218 0 0 0 0 -0.210289 0.154728 0 0.505414 -0.498884 0 0 0 0.0788036 0 0.665575 -3.54461 0 0.471425 -0.92239 1.11384 0 0.245209 -0.584709 1.45441 -8.63621 0 0 0 0.227797 0.0236284 0 0 0 0.0258002 -0.00903657 0 0.00311169 0 -2.88567e-05 0.00978395 0 0 0 0 -0.0191792 0 0.00752244 0 -0.0530502 0 0.249655 0.102382 0 -7.11447e-05 0 0 -0.040192 -0.000298493 0.013696 0 -0.000527048 0 -0.00029179 0.0226152 -0.00310124 -0.0038672 0.000543685 0 -2.8071e-06 0 0 0 -2.30061e-05 0 0 0.000796698 -0.00036683 0.0337841 -0.0031972 0 0 -0.00473661 0 0.000400245 0 0 0.00975081 -0.00640232 0.0185376 -0.00763057 0 0 -0.0308287 -0.00352876 0.019005 0.105834 0.20077 0 -0.087888 -0.000212823 -0.00315934 0 0 0 0.378038 0 0.00668454 0.111937 0 -0.000930406 0.0139909 0.154363 0 0.000413203 -0.00205859 0.00433986 0.0462578 0 -0.0633584 0.227797 0.279315 0.0236284 -0.887866 -0.0130277 0.0458131 -0.184246 0.146781 -0.0117409 -0.105595 -0.0818389 -0.00130199 0.00352186 0.00900184 0.0124308 -0.0403814 -0.104541 -0.858976 0.773209 -0.0661721 -0.0199498 0.066075 -0.165023 -0.258823 0.160615 0.165751 0.055011 -7.91763 -0.297926 -0.917914 0.204118 0.00133375 0.301336 -0.364918 0.00988909 -0.00450497 -0.0312735 -0.0654952 1.46116 0.0111115 0.00531672 -1.76999 -1.50684 -0.0132228 -0.023447 -0.283286 0.250021 -0.0302357 0.610891 -1.24062 0.0941082 0.0928174 2.56971 -0.00824923 2.23832 -0.0340103 0.13688 -0.124617 -0.0335692 0.429271 -0.506476 0.107052 0.0626622 -1.90277 0.113543 0.574499 -0.0285302 0.0911974 0.476769 -0.0434332 0.0263538 0.00926801 -0.0334855 0.064923 0.0135327 2.78456 0.194245 -1.59353 0.279163 0.36656 -3.799 0.0187371 0.0953037 -0.293258 -0.815651 0.0274694 0.085549 -0.246431 0.401364 -1.77996 0 +333 0 0 0 0 0 0.153432 0.304525 0.0747194 -0.362386 0 0 0.398226 1.00782 0 2.51266 0.0667317 0 0 0 0.174578 0.957202 0 0 0 0 -0.309943 0 0 -0.350373 -0.104058 0.741601 0 0.223464 0 0 -0.140576 0.0605102 0 0 1.0616 0.87671 0 0 0.271504 3.79517 0 0.901041 -0.342941 0.0570514 -0.42994 3.12492 -0.337071 0 -0.108569 0.351435 -0.0908011 1.50209 0.147049 0.122061 0 0 0.618851 -1.56631 0 -0.292782 0.0906834 -0.0562401 0 0 0 0 0.357377 0.615053 0 -1.11988 0.670389 0 0 0 0.916031 0 -0.664993 -0.630542 0 -0.653178 0.24292 0.455865 0 -0.669915 -0.00140514 -0.518725 -1.29579 0 0 0 -0.0992458 -0.0228346 0 0 0 -0.0344149 0.00505476 0 -0.00452678 0 -0.000113924 -0.030475 0 0 0 0 -0.129108 0 -0.0187197 0 -0.234204 0 -0.27861 -0.33566 0 0.000560511 0 0 0.162931 -0.000358857 -0.023129 0 6.01935e-05 0 0.000372244 -0.0659856 0.013524 -0.00595063 -0.00132352 0 -6.41215e-06 0 0 0 4.45745e-06 0 0 0.000916362 0.000591693 0.0613024 -0.00239936 0 0 0.00664765 0 -0.00064559 0 0 0.00418998 0.00267242 -0.130124 0.00321492 0 0 -0.0204561 0.012035 0.0015689 0.0277485 -0.116285 0 -0.0715505 -0.000237203 -0.12342 0 0 0 0.275391 0 0.0170947 -0.239394 0 0.000137233 0.00085051 0.0317529 0 0.000390859 -0.0029925 0.010305 -0.103456 0 0.153432 -0.0992458 0.304525 -0.0228346 0.169473 0.0354372 -0.188512 -0.176339 -0.233654 0.0173242 -0.0286214 -0.370691 0.00201322 -0.0272213 -0.0228102 0.00760668 -0.0086358 0.119164 1.20199 -0.171723 0.692705 -0.0268887 -0.255523 0.216635 -0.232856 -0.0621362 0.0195463 -0.00146938 12.4028 0.123164 2.0229 2.2909 -0.002664 -0.330712 1.1943 -0.0177201 0.00217723 -0.0173284 0.0253523 -0.386559 -0.0102693 -0.00692011 5.56941 2.20692 -0.000280583 0.00356413 0.414517 -0.0209263 -0.0714907 0.0318423 1.16632 0.429766 -0.0773762 2.89284 0.0333873 -1.19583 0.0731401 -0.226381 0.222054 -0.197466 0.840259 -0.0975919 -0.141811 -0.0247591 13.8424 -0.0560056 0.0871761 0.0605909 -0.0870757 0.0787893 0.0301174 -0.0119209 -0.0348792 0.000566473 -0.0361791 -0.0319537 -6.13664 0.407747 1.06325 -0.446516 0.112207 0.151741 0.0395995 -0.118632 0.143905 0.18498 -0.0313116 -0.0781919 0.146406 -0.116308 0.13257 0 +334 0 0 0 0 0 0.13209 -0.126219 0.00708796 -0.115533 0 0 0.101279 -1.00796 0 -1.29879 -0.0201529 0 0 0 -0.278633 -1.65953 0 0 0 0 0.0354793 0 0 -0.0465969 -6.27474 -0.375005 0 -0.151065 0 0 0.0492529 0.0276706 0 0 1.50864 -1.32956 0 0 0.426498 -3.84123 0 -0.639 -1.10259 -0.963458 -0.656365 -0.866293 -0.846097 0 0.295916 -0.206653 -0.187872 -0.767579 0.00431021 -0.613959 0 0 0.339608 2.78348 0 -0.567877 -0.246098 0.637607 0 0 0 0 -0.131646 0.576207 0 -0.953959 0.984985 0 0 0 0.142823 0 -2.12207 6.93271 0 -1.03087 3.09233 -0.689372 0 -1.47119 4.40511 -6.38898 18.0169 0 0 0 -0.0966322 -0.0213803 0 0 0 0.00225026 -0.0185671 0 -0.00166144 0 7.49385e-05 -0.0303349 0 0 0 0 -0.194736 0 -0.0205031 0 -0.288661 0 0.155602 0.208983 0 -0.000935182 0 0 -0.100712 0.000327904 0.00675069 0 -0.000637505 0 -0.000994838 0.128819 -0.0081102 0.00469539 0.0110774 0 4.85598e-06 0 0 0 -3.14957e-05 0 0 -0.000860956 -0.00148466 -0.106945 -0.00215187 0 0 -0.0152193 0 0.00161989 0 0 0.00100001 -0.00762207 -0.133819 -0.00954895 0 0 0.115175 -0.0239498 0.0156967 -0.0878138 0.0585393 0 -0.0766472 -0.000125163 -0.0921757 0 0 0 0.768973 0 -0.0104556 0.334919 0 0.000590591 0.0118836 0.192902 0 -0.000417528 0.00543433 -0.0138629 0.19751 0 0.13209 -0.0966322 -0.126219 -0.0213803 0.232609 0.107388 -0.14692 0.0187805 0.290146 0.0154861 -0.015596 0.200654 0.00168134 0.0104739 -0.0174019 0.00682301 0.0016503 0.131777 -0.92038 -0.943512 -0.127099 0.00662227 0.122732 -0.0543644 0.0543444 -0.273653 0.0869145 -0.0150305 -1.24784 0.374167 -0.145337 -0.557959 -0.00203377 -0.247423 -0.146418 0.00732282 0.00766342 0.0246045 0.0583274 -1.93637 0.0143156 -0.0404271 -0.993227 -2.93839 -0.00245878 0.0489352 -0.279505 -0.110321 -0.317884 -0.390225 0.0584688 -0.351878 0.0817464 -2.03587 0.0200233 0.658293 -0.0903812 0.0480624 -0.0180674 0.617954 0.651059 -0.20268 -0.238947 0.673136 -3.39799 -0.0168636 0.502453 0.0162169 0.0567909 -0.0240304 0.0049387 -0.0734496 -0.0274196 0.0449865 0.0469421 0.0348327 0.440893 -0.293248 0.690629 -0.180784 -0.810225 3.66973 -0.0364274 -0.229792 0.95203 -0.743848 -0.0346258 -0.13284 0.663246 -1.07658 2.46523 0 +335 0 0.441301 0.134612 0.0206984 0.293575 -0.475567 -0.140214 0.295324 1.48928 0.0887852 -0.591897 0.120108 -0.367158 -0.0003222 -0.107911 0.00103381 -0.629535 -0.455643 -0.0962271 -0.00649897 -0.942351 0.0144347 -0.0701127 0.000343226 0.131819 0.288061 -0.317601 -0.0331562 0.40887 0.256654 -0.376435 0.00540584 -0.000615166 -0.635277 -0.194885 0.148052 0.00691374 -0.16063 -3.44228 0.183064 -0.779742 -0.00473398 -0.769411 0.0108625 0.593132 -0.0619595 -0.640416 0.369829 -0.141237 0.00717855 -1.4706 -0.0432802 0.124407 -0.0269331 0.0206948 -0.131126 -0.193074 0.1469 0.0434735 -0.0526285 -0.00231853 0.60444 0.773309 -1.06277 -0.12451 0.672163 -0.304295 -0.272984 -0.262605 -0.00471763 -0.208769 -0.173458 -0.0335028 0.291398 0.166153 0.190413 1.67282 6.26967 1.09782 -0.592025 0.974106 -1.41732 3.96671 -0.30639 -0.134953 0.675694 -2.02071 0.00750122 -0.0179862 0.0311912 -0.109458 -0.387116 0 0 0 0 0 0.0206984 0.293575 -0.000594957 0 0 0 0 -8.56003e-05 0 0.00658994 0 0 1.28472e-05 -0.000317651 -0.00122817 0 0.000174356 0.00384362 0.0111239 0 0 0.152109 -1.3435e-05 0 -0.0237713 0.159705 0 0 0.0156818 0.0359152 0 -0.169454 0 0.0130405 0 0 0.0012766 0 0 -0.522276 -0.00184588 -0.00111085 0 -0.0136194 0.00137051 0 0 -0.0130962 0 -0.00181064 -0.14209 0.00559865 0 0 0.000326131 0.000371166 0 -0.0048498 -0.0314051 -0.00501404 1.30276 -0.018922 0.0260733 0 0.0102131 -0.0785407 0.0209842 0.0621247 1.49985e-05 0 0 0 3.73874 0.127738 0.188676 0.0162631 -0.0391998 0.565376 0.000137014 -0.000378689 0.00461516 -0.00578513 0 0 0 0 0 0 -0.475567 0 -0.140214 0 0 0 0 0.342198 -0.435646 0 0 -0.818593 0 -0.0779266 0 -0.0360051 0 0 1.15008 0 0.112686 0.112896 -0.298581 0.171136 0 0 -0.367543 0 7.87477 0 0.0393859 0.0463521 0 1.20808 0.0129453 -0.025858 0 0.0350324 0 0 -0.0433482 0 1.54153 2.55934 0 0 0.373333 0 0 -0.349778 3.5162 -0.349075 0 -0.781445 0 -0.238042 -0.119582 0.21478 0.279443 0.178422 0.337177 0.322598 -0.0796804 1.07652 8.76832 -0.09334 0 0 0 0.0691351 0.113834 0 0 0 0 0.00261491 -0.619797 2.37826 -4.31491 0.334175 -0.365507 0.111902 0.282166 -0.268142 0.372202 -0.623497 0 0 0 0 0 0 +336 0 0.178659 -0.0970152 -0.00706106 -0.0271158 -0.0376025 -0.191799 0.0892059 0.392892 -0.02943 0.388471 -0.0541569 -0.314251 0.000167981 -0.821673 -0.0148915 -0.22496 -0.887364 0.0558906 -0.0245702 0.0834571 0.01233 0.186989 -0.000125408 0.155827 0.213373 -0.104621 0.028856 0.264105 -0.193731 -0.139847 -0.00199501 -0.225469 0.319302 0.0522648 0.193496 -0.0029033 0.234162 0.575937 -0.0659883 -0.457695 0.00240509 0.0895 -0.00472752 -1.40953 0.0268335 -0.520144 0.144849 -0.375091 0.00226586 -1.12382 -0.0797936 -1.14226 0.0270302 0.0173564 -0.0393486 -1.28227 -0.0962532 -0.00676165 -0.163144 -0.00105846 0.299006 1.35659 0.578295 0.0618529 0.067551 -0.0557117 0.555773 0.276947 -0.00365093 -0.176614 0.278328 -0.0431466 -0.320007 0.386704 -0.216032 -0.492651 -0.00380809 -0.807406 -0.476046 -0.817826 0.394263 -0.279852 -0.50918 0.0468407 0.175563 -1.58106 -0.00324863 0.00698479 -0.00850949 0.0281763 0.292208 0 0 0 0 0 -0.00706106 -0.0271158 0.000541143 0 0 0 0 3.35347e-05 0 0.0125888 0 0 -0.000162484 -0.000311544 0.00563911 0 0.000542881 -0.00654311 0.104957 0 0 -0.162915 -1.33047e-05 0 -0.0121353 -0.686789 0 0 -0.0203764 -0.0909039 0 -0.123149 0 -0.0106775 0 0 -0.00136612 0 0 -0.410868 0.000700484 -0.00466115 0 0.0109883 0.0279534 0 0 -0.0984801 0 0.000830192 -0.0102612 0.000341735 0 0 0.000704323 -0.000971862 0 -0.00075135 -0.0307636 -0.0043816 -0.435471 0.0236596 0.0123455 0 0.0026823 -0.00529009 -0.0812556 -0.0148334 -0.0340216 0 0 0 0.893201 0.0279274 -0.179442 0.000163369 -0.000153781 0.076611 0.000254851 -0.000666562 0.00851843 -0.0514129 0 0 0 0 0 0 -0.0376025 0 -0.191799 0 0 0 0 0.00673127 -0.171026 0 0 0.167249 0 0.00986187 0 0.00915207 0 0 -1.04603 0 -0.0261046 0.0238008 0.0882829 -0.117408 0 0 0.0738279 0 -8.3889 0 -1.88706 -0.862164 0 0.150991 -0.564978 0.00652141 0 0.0214972 0 0 -0.0109548 0 -2.71917 -2.22791 0 0 -0.275075 0 0 0.216742 -2.66264 -0.107554 0 -1.18361 0 0.0955556 0.0116263 -0.00884094 -0.0277526 -0.113172 -1.0484 -0.151768 -0.0167383 -0.623402 -10.1006 0.0557638 0 0 0 -0.145882 -0.0220143 0 0 0 0 -0.109316 5.64798 0.285078 -0.88418 0.538641 -0.44788 0.492144 -0.0665803 0.0225578 0.00934638 -0.234239 0 0 0 0 0 0 +337 0 0.28665 -0.319616 0.000536598 -0.029331 0.0773652 -0.115409 -0.224565 -1.71611 0.0798096 0.665515 0.0653787 0.0892359 -0.000227382 0.669321 0.0135108 -1.37356 -1.98753 0.0635852 0.0212384 -1.6773 0.00550842 0.406444 0.00037717 0.121052 0.119228 -0.722052 -0.0216977 0.384846 0.887199 0.0954909 0.00546781 0.283947 0.495284 0.0124759 0.281856 0.00722942 -0.130082 0.543679 0.0653806 -0.907254 -0.00310854 0.306283 0.00796136 0.952062 -0.0388828 -0.562096 0.592804 0.466454 -0.0459972 1.25983 -0.184285 -1.27644 -0.00552125 -0.0030737 0.061759 0.0105306 -0.35379 -0.240214 -0.0838003 0.00928499 0.686484 1.50069 -0.985766 -0.941599 -0.322269 0.373152 -0.0874521 -0.184621 -0.00641795 -0.644193 -0.150137 0.108386 0.13012 0.558172 -0.703141 -0.442554 -0.0484892 -1.37251 3.78652 0.9795 -0.288863 -0.442443 -0.527805 0.61609 -1.11915 3.16701 0.0047074 -0.00829078 -0.0243812 0.0495618 -1.33818 0 0 0 0 0 0.000536598 -0.029331 -0.000503604 0 0 0 0 -8.0313e-05 0 -0.0071522 0 0 1.736e-05 -0.000320874 -0.00398723 0 -0.000540938 0.0041575 -0.054175 0 0 0.114444 -1.35382e-05 0 -0.0335698 0.120621 0 0 0.00811976 0.0369862 0 -0.231816 0 0.00968124 0 0 0.000608827 0 0 -0.67318 -0.00173472 -0.00107027 0 -0.0117725 -0.000716672 0 0 0.060411 0 -0.00167664 -0.206339 0.00662123 0 0 0.000372546 0.000226742 0 -0.00531309 -0.0377526 -0.00897195 1.03671 -0.0228525 -0.00357384 0 0.00784157 -0.0340842 -0.0173888 0.0504857 -0.0136025 0 0 0 4.69902 0.150277 0.428365 0.0193327 -0.0468227 0.56346 0.000145615 -0.000404069 0.00490767 0.0741087 0 0 0 0 0 0 0.0773652 0 -0.115409 0 0 0 0 -0.313135 0.34801 0 0 0.536757 0 0.0613286 0 0.00863533 0 0 0.0849337 0 1.10807 -0.114382 0.154764 -0.0340753 0 0 0.111104 0 1.31394 0 2.50139 0.317422 0 -1.07328 1.73975 0.0136369 0 -0.0187449 0 0 0.032384 0 0.607527 0.293473 0 0 -0.0735983 0 0 0.426163 -0.33343 0.264665 0 2.47482 0 0.55747 -0.0317547 -0.0522949 -0.236276 -0.0117585 0.77974 -0.384558 0.0295212 -0.65738 5.9167 0.0395785 0 0 0 -0.043818 -0.0528118 0 0 0 0 -0.0423654 -8.78257 -2.08387 3.4732 -0.555662 0.571081 -0.625762 -0.135321 0.181541 -0.294001 0.61273 0 0 0 0 0 0 +338 0 0.314193 0.164067 0.031988 0.219386 -0.457652 -0.13367 0.444843 1.78998 0.211135 -0.833207 0.0844336 -0.597163 -0.00220333 -0.474442 -0.000754484 -0.176093 -1.5537 -0.0722304 -0.0516562 -1.11384 0.0093306 -0.174109 0.00370295 -0.0712836 0.172065 0.0704665 0.0157165 0.269978 0.25986 -0.362732 0.02807 0.0895573 -0.714436 0.00106736 0.0471644 0.0141508 0.0749819 -3.66412 0.123392 -0.687831 -0.0131533 -0.0495548 0.025577 -1.14431 -0.0604998 -0.47395 0.244729 -0.153397 0.0293156 0.0115019 0.100876 2.24217 0.267325 0.0465593 -0.131965 0.549205 0.209867 -0.851373 0.0110318 5.58743e-05 1.19159 1.55591 0.113504 0.325935 -0.0197468 -0.91024 -0.304877 0.12562 -0.0443737 -0.113039 0.220626 -0.0403446 0.184054 -0.583344 0.105318 1.18201 6.23809 1.70383 -1.21846 0.84408 -1.2901 4.38175 0.190619 -0.33835 0.881508 -2.76809 0.0224392 -0.0494642 0.0461565 -0.0782527 -0.810486 0 0 0 0 0 0.031988 0.219386 -0.000167694 0 0 0 0 -1.53118e-06 0 -0.00068704 0 0 -5.8929e-07 -1.16422e-07 -0.00366139 0 0.000143526 -0.0118141 -0.0302042 0 0 0.056544 -5.45945e-09 0 0.0310581 0.143292 0 0 0.00585424 0.00867844 0 0.0577134 0 0.00623697 0 0 0.000844369 0 0 -0.00379833 -3.26522e-05 -1.25665e-05 0 -0.00357606 -0.00279373 0 0 -0.0269943 0 -0.000312073 0.066465 0.000761843 0 0 1.09665e-06 0.00026375 0 -0.000581266 0.0325512 -5.61635e-05 0.154772 -0.00398143 0.013545 0 0.000760563 -0.0265239 0.0822669 0.00947372 0.0480921 0 0 0 0.272132 0.0150603 0.0880515 0.00212891 -0.00519482 0.138662 4.144e-07 -1.01119e-06 1.37247e-05 0.00607647 0 0 0 0 0 0 -0.457652 0 -0.13367 0 0 0 0 0.0778884 0.194611 0 0 -0.527444 0 -0.0493198 0 0.00350256 0 0 0.0715093 0 -0.220017 0.0534444 -0.104816 0.0491442 0 0 0.0536266 0 3.12523 0 -1.41991 -0.229733 0 0.829959 -0.654814 -0.00757499 0 -0.0185237 0 0 0.0107549 0 0.371642 0.193799 0 0 0.087751 0 0 0.445845 4.47773 0.138634 0 0.667029 0 -0.600049 0.118313 -0.143615 0.0911277 0.0246128 1.07377 0.665193 -0.0127021 0.801985 6.82093 0.0636079 0 0 0 -0.0828221 0.038114 0 0 0 0 0.117883 7.22159 1.96945 -3.14847 0.279232 -0.320446 0.538819 0.142025 -0.123201 0.20794 -0.450642 0 0 0 0 0 0 +339 0 0.2749 0.124106 -0.0315607 -0.0593694 0.056438 -0.0466001 -0.171517 -0.169116 -0.244729 0.870699 -0.235018 -0.249965 0.00563542 -1.01922 0.0101984 0.321454 -0.218057 0.133935 0.0581231 0.0950285 0.0578289 -0.047454 -0.00723419 0.369749 -0.0183373 0.238414 0.0379076 0.210439 0.577852 -0.343611 -0.0460555 0.0876419 -0.146388 -0.109575 -0.0478156 -0.0367995 0.116396 -0.870636 -0.458983 -0.200978 0.0362545 -0.677276 -0.0789832 -0.638128 0.196484 -0.170752 0.346471 0.254834 0.209954 -0.223848 0.348852 -0.765334 -0.111976 0.0711519 -0.158753 0.167604 -0.402261 -0.095973 -0.430917 -0.0794792 0.103199 1.78049 1.44133 0.395803 -0.0905271 0.252648 0.895968 0.257602 0.0842472 -0.595029 0.123255 -0.175704 0.0257425 1.64316 0.0691262 -0.691175 4.17338 -0.994019 0.661321 -0.330817 -0.177202 1.79512 -1.02763 0.50669 -0.53338 0.318664 -0.0728755 0.171446 -0.413572 0.969655 -1.80228 0 0 0 0 0 -0.0315607 -0.0593694 1.19925e-05 0 0 0 0 1.09208e-07 0 0.00326923 0 0 -9.95686e-06 -1.25779e-06 0.00903155 0 -0.000133482 0.0286838 0.0701829 0 0 -0.2495 -5.89825e-08 0 -0.0891742 -0.777354 0 0 -0.0351721 -0.0127201 0 -0.31671 0 -0.0345661 0 0 -0.00497029 0 0 -0.8897 2.32885e-06 -0.000212328 0 0.000255737 0.000470149 0 0 -0.0014855 0 2.23175e-05 -0.214072 -4.26208e-05 0 0 1.85294e-05 -1.88618e-05 0 9.64849e-06 -0.0584551 -4.89126e-05 -0.855184 0.000710236 0.0269945 0 -2.95829e-05 -0.0245937 -0.297238 -0.00054929 0.0644836 0 0 0 1.87797 0.000386512 -0.0194337 -5.90619e-05 0.000144118 0.174328 7.00185e-06 -1.70854e-05 0.000231898 -0.0168727 0 0 0 0 0 0 0.056438 0 -0.0466001 0 0 0 0 -0.207458 -0.841469 0 0 0.414815 0 0.0352967 0 -0.0362349 0 0 -0.130968 0 -0.503893 -0.0667216 0.199733 0.00286974 0 0 -0.367028 0 -9.09721 0 -3.30668 -1.08758 0 -0.444995 -1.33259 0.017468 0 -0.0258343 0 0 -0.0785014 0 -3.29436 -0.693204 0 0 -0.068797 0 0 -0.142758 -1.87499 -0.121937 0 -2.21452 0 -0.204814 -0.0879779 0.107429 0.116678 -0.17135 -1.02018 0.0277019 0.113337 0.0416513 -6.64405 0.118426 0 0 0 -0.169009 -0.079664 0 0 0 0 0.0199563 13.6594 -0.00666913 0.577477 0.541566 -0.533977 0.949039 -0.123009 0.0814888 -0.0812987 0.0798748 0 0 0 0 0 0 +340 0 -0.241961 0.222107 -0.0304733 -0.165169 0.256633 0.331208 -1.07403 -2.77382 -0.261821 1.2277 0.16367 -0.57314 0.00197131 -0.808529 0.022357 0.0904394 -1.46176 0.246192 0.0982487 -1.56225 0.0172224 -0.460014 -0.00346115 0.245129 -1.0497 0.245084 -0.00183007 -0.747045 -1.55948 -0.200046 -0.0292433 0.241289 -0.486697 0.218002 -0.656221 0.00870417 -0.174993 0.00326719 0.109793 0.234909 0.012006 -0.199329 -0.00232101 -1.37569 0.060931 0.58093 -1.16099 0.904027 -0.0385925 -0.228912 0.222529 0.858808 -0.117684 0.0322655 -0.180906 0.73765 -0.176378 0.152159 -0.243673 0.000841763 0.782975 -0.190463 0.001794 1.3614 0.109749 0.706955 -0.520797 -0.198912 0.0381438 -0.645018 -0.0991223 0.0706825 0.174202 1.50777 1.13273 0.33202 -1.43593 -1.62632 2.50264 -0.150422 -0.00576333 1.01904 -0.630129 0.747083 -1.46249 3.75617 -0.0225992 0.00640989 0.194184 -0.856396 4.86391 0 0 0 0 0 -0.0304733 -0.165169 -0.000227183 0 0 0 0 -2.07438e-06 0 -0.00225857 0 0 -1.37384e-06 -2.30594e-07 0.000500543 0 -0.00056932 0.0419664 -0.000186393 0 0 0.0301042 -1.08134e-08 0 -0.0380116 0.592369 0 0 0.00686545 0.18214 0 -0.145603 0 -0.00495348 0 0 -0.000304095 0 0 -0.203299 -4.42358e-05 -2.92969e-05 0 -0.00484464 -0.00393929 0 0 0.098229 0 -0.000422779 -0.247891 0.00103353 0 0 2.55666e-06 0.000357314 0 -0.000811536 -0.0227529 -0.000184774 -0.477292 -0.0055868 -0.0132887 0 0.00103939 0.00949405 -0.182329 0.0128017 -0.0480876 0 0 0 1.05563 0.0213935 0.0144398 0.00301803 -0.00736437 0.00610047 9.66109e-07 -2.35743e-06 3.1997e-05 -0.00224138 0 0 0 0 0 0 0.256633 0 0.331208 0 0 0 0 0.0528167 -0.779494 0 0 0.315225 0 0.0443203 0 -0.0100249 0 0 -0.0987382 0 -0.717203 -0.114518 -0.0539172 -0.0109615 0 0 -0.103295 0 -5.0016 0 -1.27362 -0.02899 0 -0.728458 -0.891352 -0.0005667 0 -0.0109462 0 0 -0.074096 0 -0.766715 0.0950382 0 0 0.0207033 0 0 -0.0696042 0.832915 0.0771654 0 -0.67917 0 -0.163483 -0.0489169 0.0172399 -0.413536 -0.0328752 0.384032 0.0829876 -0.0251356 -0.0109164 0.167723 0.0919712 0 0 0 -0.153185 -0.0566467 0 0 0 0 0.116836 3.75097 -1.34777 2.38795 -0.0575765 -0.0323872 0.458975 -0.128938 0.129305 -0.183135 0.444907 0 0 0 0 0 0 +341 0 0 0 0 0 0.107418 -0.286917 0.722713 0.854817 0 0 0.266819 -0.639807 0 -0.495804 0.0447201 0 0 0 0.0706094 4.23644 0 0 0 0 0.44302 0 0 0.58299 -1.49734 -0.532318 0 0.032519 0 0 0.358782 0.0604417 0 0 0.921352 0.0508222 0 0 0.247599 0.603531 0 -0.940697 0.248708 0.192159 -0.549128 -0.498327 -0.196596 0 -0.10146 0.0900667 -0.419561 0.0984327 -0.0500464 -0.478419 0 0 -0.623138 -2.36597 0 -0.531223 -0.338329 -0.414202 0 0 0 0 -0.0150242 0.371963 0 -1.99261 0.40215 0 0 0 -1.69194 0 -0.976001 0.984453 0 -0.522811 0.872627 -2.2746 0 -0.813562 1.70888 -3.29053 5.78612 0 0 0 0.00490001 -0.031961 0 0 0 -0.0354341 -0.0345323 0 -0.00544892 0 -0.0053383 -0.028714 0 0 0 0 0.0238965 0 -0.00960532 0 0.00753418 0 -0.158692 0.239288 0 0.00148544 0 0 0.21462 -0.00271385 0.0361151 0 0.00147341 0 -0.00261958 0.175844 0.0201705 -0.0419432 0.0287822 0 -0.00029904 0 0 0 4.96609e-05 0 0 0.00249338 0.000201883 0.262487 0.0123518 0 0 0.0305612 0 0.0094622 0 0 -0.0048694 0.0164554 -0.345879 0.0298928 0 0 0.0597311 -0.0179535 0.0548786 0.014445 -0.0659605 0 0.139015 0.010726 -0.036841 0 0 0 0.11571 0 0.101486 -0.46262 0 0.00536115 -0.0138099 -0.0758447 0 0.00230249 -0.012181 0.0219535 -0.0883951 0 0.107418 0.00490001 -0.286917 -0.031961 0.0387225 0.162697 -0.318367 0.274053 -0.156242 0.0360997 -0.0435047 0.0509694 0.00629477 0.0482414 -0.0549938 -0.0156631 0.0292991 0.128872 0.713904 0.720777 -0.022479 0.0366679 -0.0409161 0.0388434 0.127687 -0.227838 -0.146319 0.0460842 0.482817 0.312186 -0.490129 -1.18964 -0.00866672 -0.0281631 0.101366 0.00703576 0.00930483 0.0781257 0.0579307 -1.11679 -0.0129284 -0.049714 -0.895819 1.33862 -0.00354729 0.041506 0.0662608 0.203233 0.00647048 1.79026 -1.12136 -0.345207 -0.0761343 -0.418965 0.109214 -0.464613 -0.226933 -0.0133455 -0.124881 0.278545 -0.31565 -0.681229 -0.289766 -0.742327 -1.74545 -0.203929 0.881535 -0.00250574 0.256713 -0.542 -0.110211 -0.10561 -0.0785603 -0.0311463 0.00607162 0.110335 2.77814 0.175329 0.719564 -0.197349 -1.22073 4.38252 -0.10154 -0.36214 1.10906 -0.0010782 -0.0882854 -0.229429 0.682115 -0.676175 1.19224 0 +342 0 0 0 0 0 -0.729771 -0.257218 0.740975 2.08941 0 0 -0.234201 -0.314572 0 -0.932389 -0.178741 0 0 0 -0.10177 -1.18314 0 0 0 0 0.328662 0 0 0.351016 2.025 -0.306344 0 -0.748972 0 0 0.136795 -0.0588065 0 0 0.260113 -0.23546 0 0 0.0322617 -1.05061 0 -0.309509 0.764669 -0.471481 -0.0138816 -1.17422 -0.0145156 0 0.040052 -0.35608 0.742304 0.176252 0.0304511 0.557214 0 0 0.564451 2.56451 0 0.578547 0.216046 -0.107167 0 0 0 0 0.337354 -0.388228 0 1.40852 -1.35033 0 0 0 -4.24128 0 -1.39643 -2.48734 0 -0.629863 -0.363437 -4.44451 0 -0.285757 -1.07516 1.35636 -8.13355 0 0 0 -0.0743961 -0.0138841 0 0 0 -0.0257457 0.0481625 0 -0.00300995 0 0.00187488 0.0184777 0 0 0 0 0.0441931 0 0.00234644 0 0.250831 0 -0.19979 0.182734 0 0.00134808 0 0 0.0688005 0.00180481 0.0224619 0 0.00721142 0 0.00249818 0.0827579 0.0106369 0.03145 0.00969546 0 9.99081e-05 0 0 0 0.000375671 0 0 -0.00312204 0.00284227 0.416843 -0.00697978 0 0 -0.00107054 0 -0.00507342 0 0 0.0117118 0.0440077 -0.145072 -0.0190593 0 0 0.0782022 0.0125255 -0.012289 0.0102236 -0.0597388 0 -0.0579426 0.0169475 -0.208082 0 0 0 -1.07245 0 -0.110906 -0.30944 0 -0.00987113 -0.0176964 -0.0785015 0 -0.00143071 -0.0039731 -0.000271376 -0.0327162 0 -0.729771 -0.0743961 -0.257218 -0.0138841 -0.542986 -0.0618775 -0.114142 -0.231961 -1.1851 0.0184047 -0.0312537 -0.0201299 0.00264475 -0.00500961 -0.0210489 -0.0704739 -0.0232298 0.118761 0.351026 0.425149 -0.389348 0.0428301 0.138686 0.0541993 -0.159241 0.0544749 -0.47937 0.0103832 -0.772131 -0.0808708 -3.05092 -0.37651 -0.00348488 0.427085 -1.43229 0.0158788 -0.00308157 -0.0382201 -0.0159153 0.488596 -0.172276 0.00714711 -0.627889 0.989459 -0.00494488 -0.019301 0.121945 0.0584926 0.172184 1.17495 -1.12642 -0.762166 0.00711784 0.301329 0.0431722 1.10362 -0.442628 0.839628 -0.117922 0.364695 -0.527442 -0.822073 0.110154 -0.565651 -6.44385 -0.221915 -0.0890596 -0.0247574 -0.16021 -0.228762 -0.00325659 0.0261142 -0.0448764 0.153055 0.129086 0.299133 17.2932 2.0476 -2.09781 0.708459 -0.400743 -0.382434 -0.0705892 -0.0311134 -0.409684 -0.0942266 -0.0813586 0.031174 -0.31704 0.208545 -0.434612 0 +343 0 0 0 0 0 -0.412342 -0.132184 0.0864169 0.626104 0 0 -0.0845354 0.236528 0 0.223325 -0.0643483 0 0 0 0.0479021 0.301397 0 0 0 0 0.13768 0 0 0.166748 -1.32451 0.060468 0 -0.456286 0 0 0.102973 -0.0372619 0 0 1.39006 0.491184 0 0 0.221035 0.549688 0 0.0905398 0.0280556 0.0162528 -0.207864 -0.88201 -0.0260302 0 0.225512 0.56054 -0.321732 0.829681 1.00394 0.577987 0 0 0.284965 -6.17302 0 0.106434 0.4455 -0.246546 0 0 0 0 0.274117 0.00828873 0 -3.92173 0.881897 0 0 0 -0.0977033 0 -1.79926 3.27803 0 -0.484796 1.7627 -2.27432 0 -1.01239 2.2847 -3.81563 3.82918 0 0 0 -0.445425 -0.0659927 0 0 0 -0.0206574 0.0483603 0 -0.00206343 0 -0.00739605 -0.0917692 0 0 0 0 -0.225399 0 -0.038131 0 -0.503547 0 -0.169512 0.00484805 0 -0.00274397 0 0 -0.225757 0.000548793 0.0295653 0 0.00411227 0 0.00356536 0.0153619 -0.0217605 -0.00200156 0.019211 0 -0.000370714 0 0 0 0.000253355 0 0 0.00419324 0.0011609 -0.0117006 0.0011911 0 0 -0.0246432 0 -0.0116347 0 0 0.0204789 -0.00292923 -0.0646187 0.0476951 0 0 -0.116636 -0.0186299 -0.0388008 0.0681759 -0.358614 0 -0.0392344 -0.0117473 -0.10137 0 0 0 2.12034 0 0.137187 0.482462 0 0.0182741 0.00840178 0.134518 0 -0.000335913 0.0147078 -0.024329 0.103909 0 -0.412342 -0.445425 -0.132184 -0.0659927 0.280803 0.0298444 -0.253643 0.189413 -0.282437 0.0702234 0.0439256 0.349327 0.0105731 0.0808429 -0.060953 -0.0599925 0.0622582 0.458917 0.924642 -0.761357 -0.0805095 0.0668952 0.123627 0.141946 0.180121 -0.0111971 -0.456633 -0.0146782 3.92719 0.323637 0.0177073 0.277419 -0.0122249 0.50619 0.135805 0.0390626 -0.00184458 0.0297058 0.0203353 -0.285552 -0.01758 0.00325667 1.59219 0.810202 0.0106207 0.0181667 0.184682 -0.102302 0.0606517 -0.715787 -2.20895 0.429365 -0.00452041 -0.121753 0.0471207 -0.41584 0.0330432 -0.24458 0.141736 -0.304349 -0.644215 -0.468187 0.0487291 0.280384 1.28756 0.354595 -0.125544 0.287717 0.0881825 0.489995 -0.14615 -0.00423256 -0.126111 0.121262 -0.11018 -0.0974008 -0.100368 -1.00158 -2.37233 -1.30668 -1.27805 1.34272 -0.419072 -0.367122 0.552723 -0.779955 -0.314387 -0.222092 0.325404 -0.541238 0.426575 0 +344 0 -0.364788 -0.0587506 -0.0135798 -0.124259 0.0359222 0.249924 -1.31246 -2.60162 -0.0832183 0.786786 -0.141633 -0.381493 0.00120494 -0.107552 0.0137731 -0.43557 -1.77799 0.223339 0.0292206 -0.733432 0.0523499 -0.104956 -0.00158401 0.141917 -0.810311 -0.0488808 0.108977 -0.686257 -1.36049 0.137375 -0.0122977 0.0921891 -0.0822958 0.569145 -0.46323 -0.00896322 0.396517 0.225937 -0.170997 0.379588 0.00867754 1.7684 -0.0100808 -1.89554 0.0493025 0.573494 -0.923973 0.165073 0.0160705 1.17554 0.306815 -0.709286 -0.0676223 0.042132 0.112633 2.04703 -0.529467 -0.241832 -0.314388 -0.0142609 0.779134 1.84757 0.312323 -0.0169448 -0.943418 0.970396 0.191267 0.817395 0.0193155 -0.0594984 0.0766007 -0.0814934 -0.603667 2.45365 0.786841 -2.04732 -1.83724 -1.17793 2.10532 -0.7095 1.21641 -0.669796 -0.726449 0.988876 -1.10594 3.61479 -0.015216 0.0213882 0.171163 0.272432 2.14009 0 0 0 0 0 -0.0135798 -0.124259 0.000724577 0 0 0 0 0.000100402 0 0.00534456 0 0 -0.000162018 -0.000964436 0.00306577 0 0.000545311 0.0230403 0.0232803 0 0 -0.1313 -5.10545e-05 0 0.00401697 0.178686 0 0 -0.0163617 0.0980989 0 0.0630845 0 -0.0167163 0 0 -0.00191319 0 0 0.177583 0.00189663 -0.00306057 0 0.0136875 0.0147246 0 0 0.0802936 0 0.00139581 0.429889 0.00309116 0 0 0.000312107 -0.00117967 0 0.00689193 0.0149069 0.00244297 0.16964 0.0370032 0.00107261 0 0.00277593 0.000653912 -0.0814395 0.038267 0.0605203 0 0 0 -1.19094 -0.0337997 -0.183738 -0.00493407 -0.00432641 -0.00516336 0.000137817 0.000120844 0.000254908 -0.00272162 0 0 0 0 0 0 0.0359222 0 0.249924 0 0 0 0 -0.0739151 0.368948 0 0 0.686457 0 0.0816238 0 0.00218732 0 0 -0.539183 0 0.146808 -0.061843 0.337613 -0.0637085 0 0 0.0972011 0 -1.13625 0 2.26907 0.52389 0 -0.38291 0.774152 0.035205 0 -0.00352981 0 0 0.036871 0 0.241739 -1.08373 0 0 -0.134187 0 0 0.0260565 0.461099 -0.0430887 0 1.32749 0 -0.0969263 0.166576 0.0189203 -0.585392 0.0444837 0.869393 0.311095 0.0407674 -0.323994 -0.811957 0.150731 0 0 0 0.135645 -0.137491 0 0 0 0 -0.115909 -10.6935 -3.38869 1.45373 -0.568508 0.218691 -0.538765 -0.338058 0.214245 -0.281835 0.244913 0 0 0 0 0 0 +345 0 -1.08219 -0.242361 -0.00945412 -0.0337009 -0.212494 -0.029515 -0.270174 -0.429179 -0.0726309 0.102003 -0.0312072 0.555535 0.000979423 1.48805 0.00733201 -0.666045 -1.86624 -0.0378914 0.00612209 2.02864 -0.00920649 0.0635059 -0.00125033 0.0372989 0.035286 -0.27275 -0.0240697 0.0803068 -0.226999 0.246126 -0.0101576 0.0965937 -0.0134432 -0.155398 0.0298101 -0.00274308 -0.0453718 -0.164271 -0.143835 0.788125 0.00845543 -0.370432 -0.0138784 2.609 0.0682261 0.245246 -0.0416037 0.0787043 0.0428138 -0.44589 0.112218 -0.602282 0.00825571 0.00911037 -0.10207 -0.940239 0.204906 0.161793 -0.078051 -0.0188585 -0.447642 -2.74631 -0.761368 -1.05983 0.0950542 -0.272855 -0.149814 -0.119645 0.0182235 -0.0187286 -0.169406 0.116962 0.0491352 -1.63083 0.0251865 0.315723 -0.120769 -0.709966 0.540984 -0.662857 0.899816 -0.769453 -0.174084 0.0635184 0.0549007 0.142544 -0.0210563 0.0152781 -0.0186321 0.136144 0.357076 0 0 0 0 0 -0.00945412 -0.0337009 0.00197538 0 0 0 0 0.000208145 0 0.0052724 0 0 0.000822839 0.000905122 0.00267734 0 0.000513698 0.019944 0.0302938 0 0 -0.0353015 4.79146e-05 0 0.00381293 0.421817 0 0 -0.00230223 0.0958676 0 0.0291906 0 -0.0076711 0 0 -0.000728742 0 0 0.241025 0.00393192 0.0155437 0 0.0373156 -0.0304744 0 0 0.145586 0 0.00380531 0.269473 0.00151174 0 0 -0.00158509 -0.00321608 0 0.00648346 -0.0404448 -0.0011118 -0.0190155 0.0303805 0.00882407 0 0.00640149 0.000696406 -0.115858 0.00384247 0.0350984 0 0 0 -2.77554 -0.210216 -0.277234 -0.0140712 -0.0123383 -0.0152611 -0.000699932 -0.000613732 -0.0012946 -0.0029213 0 0 0 0 0 0 -0.212494 0 -0.029515 0 0 0 0 0.198897 0.0431859 0 0 0.185402 0 0.0191709 0 0.00289215 0 0 -0.0688474 0 0.520026 0.0151901 0.074764 -0.00611035 0 0 -0.015656 0 -1.11026 0 4.18487 0.0431116 0 0.408002 1.51766 0.0103522 0 0.0101198 0 0 0.00999621 0 -0.207009 -0.309936 0 0 -0.0322338 0 0 -0.691048 4.0118 0.171012 0 0.0994107 0 0.806825 0.0699629 0.0852461 0.385208 -0.0843167 0.895563 0.778017 0.172404 0.101661 1.01517 0.191813 0 0 0 0.275083 -0.0653967 0 0 0 0 -0.0667876 -25.8465 -3.34891 -1.32515 -1.17628 0.483892 -1.27064 -0.045369 0.0167893 -0.0399633 -0.132418 0 0 0 0 0 0 +346 0 -0.262436 -0.474449 -0.0445958 -0.207221 0.116391 -0.205434 0.326456 0.424132 -0.347316 0.886364 -0.0387535 0.0941485 0.00439407 -0.646346 0.0572508 -1.12511 -2.80446 0.033226 0.141931 -3.62639 0.00384455 0.388007 -0.00567014 0.219853 0.435149 -0.612093 -0.00495708 0.39063 0.500699 -0.228436 -0.0466662 0.54232 0.605043 -0.111015 0.276283 0.00205941 -0.00102296 1.19801 -0.12481 -1.84043 0.0360428 0.00272663 -0.00589805 -0.266036 0.267741 -0.939574 0.47228 1.29317 0.0170694 -0.0214413 0.121469 6.67994 -0.247207 0.217679 0.102257 1.40289 -0.914588 -0.35038 -0.329004 -0.0767948 0.922634 6.21897 -0.407125 -0.515539 -0.332551 -0.20731 0.00322584 0.246004 0.084179 -0.215461 0.524058 0.274962 0.1213 4.51181 -0.956498 0.474491 -3.82805 -1.23665 -2.43698 0.172692 -1.08074 -1.06686 -0.387069 -0.109077 -0.546682 -0.94954 -0.0826317 -0.00788656 -0.287847 0.0473992 -0.787615 0 0 0 0 0 -0.0445958 -0.207221 0.000838999 0 0 0 0 0.000195894 0 2.37833e-05 0 0 -0.00172329 -0.00540902 0.00261331 0 0.000243111 0.0551065 0.0122634 0 0 -0.15121 -0.000286338 0 -0.0327448 0.307504 0 0 -0.0144609 0.16878 0 -0.16584 0 -0.0298529 0 0 -0.00300501 0 0 -0.601883 0.00370051 -0.0325536 0 0.015849 0.0693826 0 0 -0.0797484 0 0.00161622 0.390033 0.00495737 0 0 0.0033197 -0.00136596 0 -0.000739036 -0.0337365 0.00619138 -0.706151 0.0300996 -0.0187999 0 0.00744837 0.00761958 -0.294568 0.0359944 0.0732491 0 0 0 5.24969 0.392348 0.235824 0.0245602 0.0215355 0.0433923 0.00146589 0.00128536 0.00271132 -0.000523087 0 0 0 0 0 0 0.116391 0 -0.205434 0 0 0 0 -0.2586 0.130836 0 0 0.679639 0 0.0753273 0 0.0248264 0 0 -0.950344 0 0.705391 -0.0781751 0.23803 -0.136034 0 0 0.200946 0 -7.04993 0 1.22616 -0.512932 0 -0.390771 0.73903 0.0310058 0 -0.0525256 0 0 0.0165705 0 -2.07758 -2.09333 0 0 -0.290747 0 0 -0.0531346 0.606417 -0.143138 0 0.463377 0 -0.0131407 0.315233 -0.0262762 -0.533532 0.130697 0.859624 0.57934 0.0303651 0.582116 2.84511 0.0943098 0 0 0 0.0934282 -0.135366 0 0 0 0 0.0495561 -10.9711 -3.0419 0.402456 -0.379948 0.0341375 -0.341943 -0.284126 0.160877 -0.229282 0.0982473 0 0 0 0 0 0 +347 0 0.260285 -0.121114 -0.0873193 0.0122675 -0.000611546 0.185374 -0.667938 -1.50933 -0.756158 1.19834 0.0717804 0.593479 0.0480855 -0.72216 -0.132122 -1.1945 -5.6268 0.14824 -0.143989 -1.43434 0.0371764 0.149635 -0.0630588 0.409703 -0.315582 -0.343414 -0.203064 -0.332856 -0.881538 0.121357 -0.222898 -0.460145 0.349281 -0.918511 -0.201199 -0.0521958 -0.68446 0.965423 0.01975 -0.0781051 0.165174 -3.15375 -0.12629 -0.287642 0.4208 0.287505 -0.516463 -0.534729 0.417387 -1.74437 0.616837 0.305764 0.225944 -0.0748001 0.0515728 -1.87293 0.140943 0.701194 -0.688715 -0.356626 0.933322 -0.555577 -0.724748 1.10894 1.50864 0.769684 -1.33895 -1.32081 0.39829 -0.0489328 -0.284727 -0.205321 1.02346 -0.169965 0.000598437 0.915175 -4.27279 -2.47733 0.680849 -1.45742 0.854708 -1.99918 -1.2172 1.02961 -1.63272 2.48835 -0.736012 0.522347 -0.0244305 -1.16779 3.33246 0 0 0 0 0 -0.0873193 0.0122675 -0.00431194 0 0 0 0 0.000422437 0 0.0277504 0 0 -0.00335339 -0.00913411 0.0209618 0 0.00324799 0.183255 0.198989 0 0 -0.102037 -0.000510346 0 -0.0211807 0.931952 0 0 -0.00926981 0.460155 0 0.0496476 0 -0.0832216 0 0 -0.0082058 0 0 0.243225 0.00876346 -0.0493049 0 -0.0622442 0.051869 0 0 0.155403 0 0.00238971 0.864983 0.00284897 0 0 0.0013585 0.0172791 0 0.01636 0.0127427 0.0029927 0.103321 0.0893019 0.00192418 0 -0.0103265 0.0142563 -0.533499 0.196441 0.149303 0 0 0 -2.3243 0.0253712 -0.702468 -0.0261422 0.0235244 -0.0650734 0.0030571 -0.00398606 0.00946631 -0.0340363 0 0 0 0 0 0 -0.000611546 0 0.185374 0 0 0 0 -0.2205 -0.759085 0 0 0.0451062 0 0.0222652 0 -0.0229375 0 0 -0.636473 0 0.172202 -0.11751 -0.110888 -0.0806474 0 0 -0.113397 0 -3.3104 0 -1.26875 0.198188 0 -0.528705 -0.363241 -0.00480483 0 -0.0485206 0 0 -0.119707 0 -0.753947 -0.61218 0 0 -0.0693335 0 0 -0.0819666 0.305842 -0.219276 0 1.19013 0 0.627512 -0.0603139 0.319554 -0.0548687 0.185225 -0.482806 0.217548 -0.0798609 -0.124053 -0.476914 -0.141012 0 0 0 0.085053 -0.0391588 0 0 0 0 0.117476 10.8351 1.47154 1.14175 1.02556 -0.831572 0.970641 -0.0505574 0.0570307 -0.03184 0.21977 0 0 0 0 0 0 +348 0 -1.32842 0.01472 -0.0217859 -0.149188 -0.179282 0.120676 -0.5951 -0.813848 -0.0708621 0.828175 0.344523 -0.235988 0.0101386 -0.265697 0.243954 0.832215 3.72117 0.17859 0.323357 -1.713 0.0409869 -0.170111 -0.0110032 0.139428 -0.399918 0.272483 0.0459943 -0.469188 -1.13896 0.0495061 -0.0306264 0.935076 -0.0801027 0.200858 -0.262184 0.0823561 0.245497 1.64078 0.163102 -0.469282 0.0494146 0.757291 0.0415486 -1.11316 0.257314 0.180213 -0.822298 1.15429 -0.0345863 -1.02865 0.117409 1.47243 -0.332744 0.333359 -0.505134 1.2126 0.611196 -0.498293 -0.191498 -0.111814 -0.333626 -0.504303 0.123204 -0.0265824 0.592286 0.509337 -0.410151 -0.393208 0.0535754 -0.14764 -0.40695 0.388565 -0.24921 -0.387723 0.754717 1.32606 -9.90644 -3.40629 -0.429058 -1.90666 0.557168 -1.21883 -0.95209 0.841725 -1.20272 1.50194 -0.450063 0.187333 0.509708 -1.76885 4.3056 0 0 0 0 0 -0.0217859 -0.149188 0.00418044 0 0 0 0 0.00121295 0 0.0229032 0 0 0.00440761 0.01512 0.0152534 0 0.00344331 -0.00154039 0.0993571 0 0 -0.150374 0.000806589 0 0.0636484 0.2833 0 0 -0.0210039 0.0774236 0 0.254417 0 -0.030327 0 0 -0.00364733 0 0 1.25875 0.0228446 0.0804443 0 0.077501 -0.101107 0 0 0.306219 0 0.00972393 0.538142 0.00437576 0 0 -0.00721458 -0.00576521 0 0.0215791 -0.120863 -0.0158964 0.545864 0.0878562 0.0432951 0 0.00241455 0.000214251 -0.112932 -0.0420398 0.0793359 0 0 0 -11.9961 -0.857624 -1.07948 -0.0652831 -0.0301981 -0.136707 -0.00332825 -0.00291631 -0.00555303 -0.0177344 0 0 0 0 0 0 -0.179282 0 0.120676 0 0 0 0 0.273974 0.713482 0 0 -0.0327835 0 -0.00624847 0 0.0594834 0 0 -0.0993285 0 -0.132181 0.0437338 -0.206446 -0.00238716 0 0 0.474188 0 5.37659 0 2.86811 0.607236 0 0.471812 0.415347 -0.0236635 0 0.028671 0 0 0.084622 0 1.62648 0.355295 0 0 0.062843 0 0 -0.299282 -0.411701 0.161012 0 0.700003 0 -0.388482 0.143178 -0.259072 0.618287 -0.103865 -0.256526 0.119329 0.102874 0.58568 4.78575 0.0452703 0 0 0 0.244827 0.035528 0 0 0 0 -0.148232 -22.9514 -2.53136 -1.45533 -0.887706 0.374413 -0.962203 -0.0466106 0.02453 0.0223417 -0.175195 0 0 0 0 0 0 +349 0 -0.590091 0.314644 -0.145067 -0.499444 0.263468 0.338014 -0.64628 -1.68173 -0.37192 1.76499 0.0389891 -0.31097 0.069048 -0.0545749 -0.0661996 1.28095 3.22773 0.314119 -0.253232 1.55528 0.0853513 -0.398258 -0.0843011 0.409449 -0.745016 0.630401 -0.0805922 -0.536289 -0.202356 0.0190545 -0.215811 0.0651231 -0.513756 -0.107258 -0.453755 -0.0525369 -0.438474 -0.169179 -0.412061 0.936962 0.228251 -1.18641 -0.214397 -0.16217 0.66193 0.761654 -0.536666 -0.638796 0.217244 0.289163 0.814095 3.50025 0.270821 -0.447653 0.195705 -0.501993 0.0432433 -0.228083 -0.449487 -0.277291 -0.780513 0.216783 0.34142 0.0946651 0.214504 0.233743 0.445366 -0.318133 0.154233 0.748137 0.0771267 0.150712 0.60172 0.0345279 0.379898 1.18075 5.06386 -0.967295 2.71366 0.32673 0.645621 -1.40704 -1.70809 1.90131 -2.68525 2.7062 -1.15777 1.2092 -1.07417 0.519359 0.764964 0 0 0 0 0 -0.145067 -0.499444 0.00225635 0 0 0 0 0.000649219 0 -0.0139188 0 0 0.00118998 -0.0146737 -0.014338 0 -0.00300293 0.0505896 -0.116017 0 0 0.0228107 -0.000746782 0 -0.180272 -0.158601 0 0 0.00193824 0.00264936 0 -0.497816 0 -0.0152477 0 0 -0.000937479 0 0 -1.13176 0.0115059 0.00754836 0 0.0240399 0.0884695 0 0 -0.418574 0 0.000857431 -0.431744 0.00082939 0 0 0.00268569 -0.00834308 0 -0.0177427 -0.0644895 -0.00452419 -1.24171 -0.0395209 -0.00472556 0 0.00311144 -0.000849265 0.0467003 -0.140432 0.0120135 0 0 0 9.60657 0.528709 0.853804 0.0542469 0.0182541 0.129819 -0.000712214 0.00511254 -0.00561204 0.022796 0 0 0 0 0 0 0.263468 0 0.338014 0 0 0 0 0.00395195 -0.517877 0 0 0.765438 0 0.0862829 0 0.0197195 0 0 -0.117058 0 -0.701118 -0.00825926 -0.0877864 -0.0147318 0 0 0.0857782 0 -0.929332 0 0.633988 -0.0343553 0 -0.354387 -0.871473 -0.0135516 0 0.0218104 0 0 -0.0350227 0 -0.469009 0.494324 0 0 0.0485999 0 0 0.226909 0.0368242 -0.10069 0 -1.09225 0 -0.267616 -0.251263 0.0914505 -0.196185 -0.0277092 -0.0675596 0.123676 0.0943121 0.376214 -2.82555 0.0150409 0 0 0 -0.136166 -0.0441486 0 0 0 0 0.0624197 -7.96179 -4.48734 2.76596 -0.853771 0.69563 -0.458788 -0.614142 0.446268 -0.410407 0.245595 0 0 0 0 0 0 +350 0 0 0 0 0 0.185259 0.187587 -0.856932 -2.10849 0 0 -0.279181 -0.258453 0 -0.996732 -0.0753669 0 0 0 0.0617164 -6.07294 0 0 0 0 -0.552917 0 0 -0.328993 5.20215 0.0119084 0 -0.269297 0 0 -0.287067 -0.0493269 0 0 -2.25576 -0.935021 0 0 -0.495233 -2.41876 0 0.289457 0.56974 0.45676 1.09135 -3.27889 0.959768 0 0.199483 -0.027123 0.282739 -0.325046 -0.0612562 -0.114854 0 0 -1.44594 2.07866 0 1.13813 1.14966 0.720901 0 0 0 0 -0.792945 -1.76305 0 0.661804 -0.519547 0 0 0 6.9694 0 4.88583 -9.27762 0 2.4077 -2.95587 3.7571 0 2.80531 -3.4615 6.35969 -16.5526 0 0 0 0.205857 0.07772 0 0 0 -0.0507792 0.0590264 0 -0.00593702 0 -0.0105568 -0.0107134 0 0 0 0 0.020727 0 0.0194791 0 -0.175647 0 -0.3554 0.0393413 0 -0.00605545 0 0 -0.0740485 -0.00395975 -0.0352939 0 -0.00331546 0 0.00394829 0.0566842 -0.0184034 -0.0562358 0.00804417 0 -0.000773657 0 0 0 -0.000255683 0 0 0.0150779 0.0040312 0.00433614 -0.0777317 0 0 -0.0107362 0 -0.0131516 0 0 0.0474728 0.0424499 0.0751759 0.0041882 0 0 -0.135488 0.0467958 -0.0114785 -0.15716 0.187247 0 -0.0509994 -0.0316897 -0.0137267 0 0 0 1.07065 0 0.152397 0.188937 0 -0.00414919 0.0643582 0.000761761 0 0.00556985 -0.00652145 0.0414613 -0.052165 0 0.185259 0.205857 0.187587 0.07772 -0.52684 -0.193719 0.426073 -0.217943 -0.122447 -0.134667 -0.0680549 -1.55472 -0.0244413 -0.249099 0.0947867 0.00703039 0.0157765 -0.591781 -0.484519 -1.49964 -0.421067 -0.140166 -0.5824 -0.112359 0.0930223 0.286144 -0.107214 -0.024675 -9.20904 -0.586947 -4.41021 -0.14702 0.018471 -0.424979 -1.39982 -0.0953794 -0.00830801 -0.0442579 -0.11938 2.0494 0.080228 0.0396395 -2.18468 -2.3289 -0.00679476 -0.0194555 -0.463796 -0.16309 -0.0731578 -0.302427 -0.596376 -2.50475 0.0750011 -1.29364 -0.0830473 2.77485 -0.0197806 1.28438 0.787641 0.221848 -1.7046 -1.07566 -0.209004 4.6253 19.3516 -0.422047 0.321028 -0.124413 -0.124867 0.139758 0.519801 0.0255406 0.312284 -0.282947 0.137937 0.589112 32.8095 11.8762 -0.983876 7.03465 -2.56548 -1.89299 2.52149 -1.01319 -0.186424 1.29339 1.29713 -0.192037 -0.725252 1.47446 -2.72394 0 +351 0 0 0 0 0 0.0862447 0.308539 -0.489025 -3.31332 0 0 -0.208231 1.07866 0 1.70357 -0.164933 0 0 0 -0.235924 2.73832 0 0 0 0 -0.653217 0 0 -0.165984 -0.618686 0.412213 0 -0.492045 0 0 -0.109156 -0.0337822 0 0 -0.161063 0.82788 0 0 -0.0175605 5.68413 0 0.32241 -0.0799551 -0.533644 -0.0432061 0.866779 -0.0604171 0 -0.0994704 -1.17549 0.838521 -3.11095 -0.618299 0.705481 0 0 0.164339 0.171065 0 0.803531 0.186962 -0.254991 0 0 0 0 -0.788792 0.0498773 0 -0.169534 -1.0864 0 0 0 10.1594 0 2.44875 -1.83868 0 0.371706 0.102998 5.61977 0 0.0278256 0.182047 1.54005 2.45125 0 0 0 -0.101002 -0.000959211 0 0 0 0.0016671 0.0852517 0 -0.000466002 0 -0.00107388 -0.0925189 0 0 0 0 -0.263625 0 -0.0504349 0 -0.436354 0 -0.0706423 0.567229 0 0.00494489 0 0 -0.0350882 0.00278026 0.0921929 0 0.0168631 0 0.00573473 0.0222738 0.0157002 0.0410077 0.0105596 0 -8.3842e-05 0 0 0 0.00117434 0 0 -0.00560275 -0.00933039 0.240095 0.02551 0 0 0.00620638 0 -0.0191932 0 0 0.0843645 0.0318062 0.0544308 -0.0418266 0 0 0.0327812 -0.0366265 -0.0314148 0.0163597 -0.0983095 0 -0.129692 0.0168311 -0.367984 0 0 0 0.750236 0 -0.0519588 0.216959 0 0.00257047 -0.00175939 0.196192 0 -0.00331894 0.00769291 -0.0147085 0.0237024 0 0.0862447 -0.101002 0.308539 -0.000959211 0.143325 0.033645 0.062796 -0.419166 -0.343347 0.0048061 0.00979199 -0.167617 -0.000263723 -0.0614745 0.00436836 -0.0590185 0.00912187 0.100651 1.12394 1.05464 -0.343017 -0.254071 -0.04209 0.128547 0.0578284 -0.0125686 -0.460217 0.0137986 1.83203 -0.0967014 -2.05711 0.255217 7.06285e-07 -1.63745 -0.892014 -0.0170369 -0.00437978 -0.0706516 -0.015951 -0.204587 -0.0330569 0.00117768 0.419388 3.16396 0.00211713 -0.026056 0.378172 0.118394 0.145402 -0.059455 4.45821 -1.1133 0.0251479 -0.290399 -0.0100993 1.04544 -0.563606 1.21899 0.268393 -0.0352324 -0.374829 0.899745 -0.236977 1.58041 -1.07467 0.025717 -0.221812 -0.0143469 -0.249206 0.295371 0.15455 -0.0237333 -0.00521627 0.13256 0.121253 0.238353 15.3037 3.46554 6.49822 1.88011 -0.927033 2.42236 0.0446434 0.053723 0.31702 1.09978 -0.220619 0.104664 0.253357 -0.190648 0.543998 0 +352 0 0 0 0 0 0.63407 0.320839 -0.359884 -1.34264 0 0 -0.663771 0.705999 0 0.549707 -0.165522 0 0 0 -0.284604 1.73554 0 0 0 0 -0.338217 0 0 -0.41384 5.90954 0.362818 0 -0.518864 0 0 -0.240583 -0.0827736 0 0 -3.65791 2.39709 0 0 -0.769591 0.556132 0 1.33613 0.812303 -0.364067 1.17677 -0.97606 0.781463 0 0.65074 -1.01003 0.239971 2.51358 1.30351 0.870033 0 0 0.858268 -4.89365 0 0.718892 0.139958 0.782448 0 0 0 0 -1.17121 -2.34832 0 -0.249342 0.56394 0 0 0 2.44826 0 6.53903 -10.0151 0 3.25629 -5.06633 5.16046 0 5.10751 -7.74023 12.6728 -20.0123 0 0 0 0.559163 0.117468 0 0 0 -0.0304982 0.0117393 0 -0.00311041 0 -0.0172642 0.0117227 0 0 0 0 0.208614 0 0.0314432 0 0.245709 0 -0.271142 -0.0718515 0 0.00225817 0 0 0.43025 -0.00655014 -0.023816 0 -0.00918064 0 0.00110413 0.142508 0.0485552 -0.0855985 0.0308105 0 -0.0012937 0 0 0 -0.000625701 0 0 0.00779621 0.00238672 -0.106911 -0.0458416 0 0 0.0484633 0 -0.00241109 0 0 -0.000154767 0.0166423 0.085892 -0.0331428 0 0 0.152213 0.0489794 -0.0489359 -0.133247 -0.150206 0 0.232811 0.00455005 0.0780239 0 0 0 -1.08369 0 0.0598224 -1.03148 0 -0.0175 0.00221499 -0.161198 0 0.00680814 -0.0332877 0.0742644 -0.235757 0 0.63407 0.559163 0.320839 0.117468 -0.835404 -0.177583 0.0591556 0.279052 -0.330935 -0.165808 -0.0226289 -0.529476 -0.0296306 -0.194511 0.0587977 -0.00485123 0.0522223 -0.797732 0.902291 -1.36199 -0.123721 0.113923 -0.183545 0.0219317 0.383976 0.15153 -0.433191 -0.0235298 1.38116 -0.184436 -0.351886 0.751082 0.0161212 0.514684 -0.246959 -0.0817988 0.000360281 0.0684099 -0.061941 0.8466 0.131506 0.0257925 0.946295 1.43083 -0.00137429 0.0380758 -0.0718264 -0.154076 0.11615 0.345689 2.51411 -0.966307 -0.00962764 2.22089 0.00106916 1.68789 -0.146333 0.575442 0.421732 -0.190689 1.19972 -0.371216 0.181135 4.76011 31.3255 0.0910067 -0.226849 0.071208 -0.309729 0.415967 0.295136 0.00418388 0.222404 -0.205274 -0.000400142 0.438151 2.61783 2.45565 -1.61151 3.35298 0.377824 -2.27464 1.68241 -0.403886 -0.471526 0.29343 1.74856 -0.746305 -0.0530215 0.744188 -1.29729 0 +353 0 1.09903 0.455539 0.104756 0.203827 -0.0389028 -0.116716 1.42788 3.28727 0.380168 -2.89667 0.405549 0.81712 -0.0438861 1.14231 0.0990772 1.23893 3.10815 -0.603619 0.16341 -0.189715 -0.123533 -0.388443 0.0354247 -0.760778 0.764075 0.438076 -0.0505963 0.0699526 -0.0164448 0.303011 0.121341 0.474082 -1.55101 -0.191465 0.310431 0.0986387 0.209709 -6.84792 0.724683 -0.199644 -0.176527 0.453457 0.216525 1.55725 -0.575839 -0.23586 0.0162034 0.825465 -0.52416 0.62997 -1.09637 1.42977 0.0398909 0.16267 -0.0869587 0.586534 0.565895 0.0951706 1.14534 0.292767 1.0964 0.808926 3.34808 -1.01768 0.316215 -0.324095 1.58781 -0.0125955 0.0113036 2.00075 0.484682 0.938553 0.422405 -0.074938 0.0666363 1.52557 41.4336 15.7413 -7.9221 9.78805 -7.79352 10.7786 4.48451 -3.74858 4.19488 -5.96148 1.38577 -1.66759 1.03639 -1.3021 0.0580644 0 0 0 0 0 0.104756 0.203827 0.00802354 0 0 0 0 0.000487374 0 -0.0105751 0 0 -0.00422445 -0.0169499 0.0120701 0 -0.000194109 0.0417576 -0.0271159 0 0 -0.077135 -0.00124152 0 -0.0301721 0.73939 0 0 -0.0171893 0.0908652 0 -0.150913 0 -0.00175679 0 0 -0.00194798 0 0 -0.743921 0.00694804 -0.0603467 0 0.112847 -0.0132915 0 0 -0.0366442 0 -0.000909622 0.0108395 0.00222782 0 0 0.0109991 -0.0264113 0 -0.0271691 -0.0566929 -0.0353072 0.27688 0.0443936 0.0231568 0 0.0478877 -0.0257595 0.105822 -0.0483138 -0.155066 0 0 0 5.69133 0.28649 0.531866 0.0580348 -0.0576974 0.191071 0.00547068 -0.00850904 0.0206703 -0.0101779 0 0 0 0 0 0 -0.0389028 0 -0.116716 0 0 0 0 0.426311 1.20224 0 0 -0.925896 0 -0.13213 0 0.0530911 0 0 0.272332 0 -0.255153 0.145559 -0.326531 0.0345878 0 0 0.419941 0 9.10577 0 -2.71637 0.312758 0 1.06184 -0.745383 -0.0485879 0 0.0597848 0 0 0.150193 0 2.56172 0.0318183 0 0 0.00779598 0 0 0.289419 4.69265 0.610414 0 2.24233 0 -2.94295 0.53929 -0.466506 0.949541 -0.102211 0.544363 3.10419 -0.344078 -1.6032 -6.78376 0.141219 0 0 0 0.215459 0.352648 0 0 0 0 -0.315696 25.1074 5.84784 -3.55515 1.65399 -1.25537 2.69741 0.760867 -0.676366 0.793503 -0.870448 0 0 0 0 0 0 +354 0 1.03692 0.0949916 0.00136728 -0.155762 0.208893 -0.211788 -0.639998 -1.62432 0.322753 -0.0434673 -0.506978 -0.781122 -0.0102839 -1.54941 -0.131487 -0.157022 3.29485 -0.219353 -0.229904 0.337374 -0.0644531 -0.0394398 0.0241909 -0.0630439 0.206306 -0.38263 -0.0463402 0.806864 1.71098 -0.549444 0.086767 -0.456727 -1.19122 -0.171516 0.225054 -0.0820951 -0.142231 -6.85546 -0.640784 -0.566927 -0.0220262 -0.524267 -0.0802423 -1.30126 0.0660737 -0.642109 1.21733 -0.895017 0.1562 -2.06346 -0.281753 -5.16562 0.290248 -0.345429 0.568261 1.59492 1.32359 0.600881 0.277218 0.0887228 -0.118354 -0.876973 3.4769 -0.709769 0.8037 0.818225 1.72724 -0.244797 -0.177519 -0.0922473 -0.608318 -0.510757 -0.783225 0.671654 -1.25797 -0.740772 38.9485 7.57862 2.32865 6.20059 -3.6305 6.60544 -0.585041 0.366586 -0.841135 5.37476 -0.159008 0.862323 -2.17541 3.49524 -6.04126 0 0 0 0 0 0.00136728 -0.155762 -0.00102904 0 0 0 0 -0.0014798 0 -0.0108097 0 0 0.00592594 0.0137073 -0.0200571 0 -0.00110489 -0.045391 -0.144216 0 0 0.30938 0.0010195 0 -0.171006 0.69288 0 0 0.0500453 -0.0986033 0 -0.553929 0 0.0796396 0 0 0.01185 0 0 -1.34152 -0.0200886 0.0792483 0 -0.00993692 -0.0422302 0 0 0.0523781 0 -0.0150855 0.172894 0.0288596 0 0 -0.00945051 -0.00158055 0 -0.00295096 -0.0482354 0.0352529 -0.141414 -0.0490174 -0.00439299 0 0.0103802 -0.0676861 -0.0969867 0.0338736 0.14727 0 0 0 5.81375 -0.156214 0.845946 0.0971052 -0.154448 0.38443 -0.00714978 0.0144406 -0.0304576 0.0582005 0 0 0 0 0 0 0.208893 0 -0.211788 0 0 0 0 -0.386795 -0.31781 0 0 0.385093 0 0.0398689 0 -0.0245054 0 0 0.0387094 0 0.891154 -0.0659362 0.393961 -0.0038363 0 0 -0.155089 0 2.27117 0 -1.02059 -0.347764 0 -0.626911 1.16406 0.0469938 0 -0.0456657 0 0 -0.0390663 0 -0.238322 0.636782 0 0 0.0538666 0 0 -0.122456 -1.83832 -0.338057 0 0.125937 0 1.30647 -0.285331 0.305756 -0.276811 -0.0232385 -0.0463153 -1.16712 0.22324 1.03924 5.54664 -0.00211373 0 0 0 0.103225 -0.150793 0 0 0 0 0.0814193 13.6473 -1.11872 3.76607 -0.545104 0.783531 0.17896 -0.572682 0.511335 -0.353713 0.612677 0 0 0 0 0 0 +355 0 0.462399 0.327275 0.146472 0.449478 -0.353421 -0.243044 0.607451 2.59799 0.164097 -3.85137 0.497484 0.284538 -0.0590044 0.484466 0.153324 0.90116 1.42796 -0.851618 0.341711 -3.37774 -0.21353 -0.400031 0.0492328 -1.05655 0.668512 0.366275 -0.147313 0.0511912 -1.33121 0.209732 0.132254 0.597207 -1.44532 -0.369853 0.234198 0.123395 -0.018321 -5.51726 0.877688 -1.52485 -0.22406 0.120937 0.268815 -0.404809 -0.685737 -0.619712 -0.476765 1.30584 -0.346678 -0.599999 -2.03384 -5.32617 -0.273416 0.483782 -0.76351 -4.04028 -0.85875 -1.17747 1.40174 0.248893 -1.25194 4.25834 4.08342 -3.01592 0.1807 -0.617197 2.70526 -0.232949 0.00735025 1.50628 0.189109 0.266139 0.268768 -1.08965 0.675069 -0.365316 24.0854 15.9954 -12.6188 11.76 -10.3743 10.541 6.43038 -5.84857 7.45492 -6.48575 1.65025 -2.00354 2.81242 -3.38876 4.70033 0 0 0 0 0 0.146472 0.449478 0.00379455 0 0 0 0 -0.000558654 0 0.017397 0 0 -0.00394275 -0.0190059 0.0429554 0 0.00265568 0.0942083 0.185834 0 0 -0.151066 -0.00141362 0 -0.0514722 0.451635 0 0 -0.0133645 0.205226 0 -0.0232492 0 -0.000710187 0 0 0.000455314 0 0 0.155927 -0.00766099 -0.0488124 0 0.0531277 -0.0610511 0 0 0.289749 0 -0.00362692 0.112672 0.00953963 0 0 0.00221359 -0.0122174 0 0.00864647 -0.0048537 -0.0109126 -0.759809 0.0972482 0.0121785 0 0.00693706 -0.0127514 0.131215 -0.164887 -0.138277 0 0 0 -2.86421 -0.222613 -0.509703 0.00819473 -0.0697809 0.0770088 0.00378008 -0.00911812 0.0179908 -0.0538756 0 0 0 0 0 0 -0.353421 0 -0.243044 0 0 0 0 0.429016 1.2294 0 0 -1.48192 0 -0.170813 0 0.0669276 0 0 -0.881568 0 -0.0819458 0.140227 -0.511173 -0.0570764 0 0 0.463216 0 -1.02438 0 -1.58108 -0.317636 0 1.22308 -0.267266 -0.0566632 0 0.0415158 0 0 0.176235 0 -0.745122 -2.18703 0 0 -0.175413 0 0 -0.0761032 1.46749 0.317633 0 -0.929495 0 -1.93899 0.897076 -0.601113 0.987782 -0.165141 -1.42591 2.32028 -0.371588 -3.72957 -22.6008 -0.05391 0 0 0 -0.219863 0.320112 0 0 0 0 -0.365661 14.5645 8.27937 -6.23501 1.99671 -1.66212 1.59856 1.32987 -1.13635 1.24156 -1.03032 0 0 0 0 0 0 +356 0 0.740877 0.0237546 0.150426 0.147296 -0.152095 -0.268876 1.26299 3.22417 0.532309 -3.46326 -0.245259 -0.991694 -0.098739 -1.39431 0.13241 -0.815295 -3.22836 -0.592143 0.27584 -1.3181 -0.147744 -0.0701385 0.0882212 -0.901167 0.642358 -0.241818 0.175676 0.38237 1.57114 -0.357405 0.215483 0.162672 -0.909356 0.561368 0.338387 0.0485693 0.863941 -5.88184 -0.39659 -0.863552 -0.295131 2.63012 0.1406 -4.19256 -0.605322 -0.550704 0.753398 0.291879 -0.151125 0.402692 -1.05679 -6.77742 -0.157193 -0.137862 0.254815 -0.930677 -1.40577 -0.850347 1.14556 0.32085 -1.52655 0.664546 -1.48362 -1.04245 -0.565974 -1.68357 0.383147 0.710493 0.207627 1.40634 0.626556 -0.335302 -0.418587 0.860846 -0.790012 -3.30147 32.5014 13.6459 -10.3488 9.13746 -6.09733 5.5415 6.00773 -4.14113 4.00384 -5.17765 2.11847 -0.482405 -1.34059 3.9763 -7.31267 0 0 0 0 0 0.150426 0.147296 0.0103103 0 0 0 0 -0.00067941 0 -0.0210152 0 0 -0.00291456 -0.00789996 -0.0328979 0 -0.0100148 -0.0685739 -0.0888446 0 0 -0.399083 -0.000622961 0 0.15607 -0.356279 0 0 -0.0491458 -0.293161 0 0.131595 0 -0.0875983 0 0 -0.00722759 0 0 -0.0401713 -0.00925043 -0.0412665 0 0.149485 0.031458 0 0 -0.192347 0 0.0149699 -0.19763 -0.0227945 0 0 0.0165193 -0.0286453 0 -0.0364544 -0.0499423 -0.0521831 0.747109 0.0187098 0.0311532 0 0.042854 0.0364501 0.12359 -0.0524269 -0.168305 0 0 0 3.71592 0.365721 0.409118 0.00236408 0.0482402 -0.0350548 0.00589211 -0.00880374 0.0176347 -0.00641812 0 0 0 0 0 0 -0.152095 0 -0.268876 0 0 0 0 -0.103798 0.779611 0 0 -0.351235 0 -0.0573336 0 0.0143429 0 0 -0.285192 0 -0.112279 0.0979517 0.188896 -0.0102626 0 0 0.0514358 0 1.21136 0 -1.88988 -0.017646 0 0.723769 -0.615361 0.0152532 0 -0.00261026 0 0 0.111855 0 0.163991 -0.748482 0 0 -0.0475204 0 0 0.206286 3.06046 0.413017 0 -0.323354 0 -1.12345 0.118844 -0.205231 0.0976684 -0.0370466 0.701709 1.65972 -0.0808376 -2.21857 -10.2637 0.0971273 0 0 0 -0.150494 0.148479 0 0 0 0 -0.25882 21.7458 4.32649 -4.46248 1.88525 -1.38902 1.4489 0.105065 -0.0602547 0.144258 -0.411369 0 0 0 0 0 0 +357 0 0.543644 0.678519 -0.0120969 -0.0683798 0.0910983 0.153819 0.300461 0.441825 -0.248314 -0.0839043 0.632805 0.281269 0.0296655 -0.366786 0.168702 1.46784 6.64992 -0.0556573 0.257227 0.543324 0.0263178 -0.697599 -0.0544919 0.0214366 -0.116979 0.519253 -0.0510704 -0.509725 -1.8889 0.00885108 -0.124957 0.610907 -2.13214 0.0396477 -0.195966 0.108442 -0.0956263 -8.49714 0.746034 0.56411 0.0889443 0.272069 0.100553 -0.204608 0.230978 0.471597 -1.06956 1.00846 -0.0301764 0.546826 0.33882 3.68868 -0.2155 1.23885 -1.49584 5.94576 0.448496 -0.341748 -0.155075 -0.23997 -2.29984 -0.126896 2.95085 -0.0826481 -0.253698 -0.143808 0.534798 -0.0354032 0.263365 0.734081 -0.0784219 0.555343 0.270205 1.95839 2.00883 -0.210725 50.2344 10.8939 -6.01993 10.8409 -13.138 19.6671 -0.675865 -0.19735 1.69623 -1.74966 -0.808364 -0.85658 2.76781 -5.40707 8.79167 0 0 0 0 0 -0.0120969 -0.0683798 0.017286 0 0 0 0 0.00671997 0 0.0138384 0 0 0.00102403 -0.00980463 0.0527986 0 0.00826691 0.0545667 0.0805437 0 0 -0.329925 -0.000785048 0 -0.14513 2.10184 0 0 -0.0415888 0.401928 0 -0.356762 0 -0.0850777 0 0 -0.0120519 0 0 -0.797974 0.0939677 0.0210248 0 0.243943 -0.0778375 0 0 0.133531 0 -0.00929727 -0.10588 0.0155036 0 0 -0.000910414 -0.0494819 0 0.00127505 -0.234007 -0.000719238 -0.828913 0.114532 -0.000231297 0 0.0876682 -0.0432401 0.176407 -0.189397 -0.108944 0 0 0 1.95128 -0.0884542 0.00970792 0.0534073 -0.11311 0.259423 -0.00131959 -0.00205309 0.00912624 -0.0323052 0 0 0 0 0 0 0.0910983 0 0.153819 0 0 0 0 0.440278 1.0714 0 0 -0.70974 0 -0.103024 0 0.0981525 0 0 -0.101117 0 -1.00865 0.0726848 -0.526477 0.0243185 0 0 0.675088 0 8.94321 0 -5.64802 0.703556 0 0.479078 -2.24782 -0.0703737 0 0.0567109 0 0 0.161899 0 2.72881 -0.172965 0 0 0.049242 0 0 0.139248 3.5772 0.648742 0 0.445008 0 -2.96082 0.968838 -0.775493 0.636853 -0.0458127 0.044302 2.95428 -0.227508 -3.02625 -12.5848 -0.0250072 0 0 0 -0.118605 0.212561 0 0 0 0 -0.335476 49.0546 11.0617 -6.38196 5.30939 -4.20694 4.487 0.675505 -0.622026 0.750927 -0.51624 0 0 0 0 0 0 +358 0 0.943597 0.199175 0.193893 0.543366 -0.351411 -0.267606 1.59455 4.0304 -0.0575072 -3.71948 0.0682118 -0.496246 -0.0978896 -1.01262 0.0769923 0.582146 3.85204 -0.556823 0.264114 -2.33333 -0.153589 0.013167 0.0697013 -1.04104 0.833906 -0.0169154 0.10854 0.418726 0.914892 -0.32757 0.107781 0.0702595 -0.20977 0.529734 0.387181 0.071804 0.54323 -2.4251 0.219173 -1.14512 -0.263785 2.5095 0.206058 -2.02626 -0.401365 -0.597252 0.625166 0.637153 0.432107 -0.0302225 -0.776918 4.56496 -0.0780617 1.1755 -0.265367 2.58612 0.273733 0.523609 0.880612 -0.133685 0.434164 1.11579 0.452627 -0.730453 -0.969008 -1.44924 0.501624 1.85606 0.300095 1.30301 1.37077 -0.587526 0.271476 1.83178 -0.890474 0.73954 6.02713 10.4989 -11.1537 5.55744 -3.90633 1.08968 6.60399 -5.18293 4.757 -7.27339 1.40468 -1.16354 -0.666892 1.26795 -4.25825 0 0 0 0 0 0.193893 0.543366 0.00912797 0 0 0 0 -0.000498683 0 0.0343348 0 0 -0.0115526 -0.0406644 0.0516192 0 0.00159525 0.136533 0.32664 0 0 -0.182655 -0.00298771 0 0.202346 0.723496 0 0 -0.0180436 0.24119 0 0.387178 0 -0.0324256 0 0 -0.00132047 0 0 0.725088 -0.007918 -0.156989 0 0.122478 -0.0415235 0 0 0.250545 0 0.0202366 0.0160437 -0.0308492 0 0 0.00846403 -0.0125845 0 0.0031282 0.0435084 -0.0228773 -1.07214 0.00926199 0.00781955 0 0.00917073 0.0473084 0.0586803 -0.0980006 -0.00281775 0 0 0 -4.77024 0.0237818 -0.882701 -0.0461226 0.0376611 -0.145763 0.0111695 -0.0199046 0.0399314 -0.0844013 0 0 0 0 0 0 -0.351411 0 -0.267606 0 0 0 0 -0.152329 1.0446 0 0 -0.976484 0 -0.110224 0 0.0225979 0 0 -0.187034 0 -0.277607 0.0234126 -0.0282081 -0.014552 0 0 0.238949 0 2.51477 0 -3.83931 -0.353449 0 0.333326 -1.02394 0.00142986 0 -0.0221312 0 0 0.114764 0 0.133922 -0.633429 0 0 -0.0541181 0 0 -0.0713182 -0.287748 0.261824 0 0.221362 0 -1.54608 0.859811 -0.56441 0.0679356 -0.0132481 -0.80146 1.12505 -0.235728 -1.35035 -6.60328 -0.136045 0 0 0 0.066145 0.120953 0 0 0 0 -0.266611 35.2646 9.85977 -4.80048 4.11262 -3.29712 3.17604 0.861139 -0.668209 0.670848 -0.223166 0 0 0 0 0 0 +359 0 0 0 0 0 0.0671499 0.0125151 -0.763468 -1.9488 0 0 0.103739 -0.188774 0 -1.67965 -0.0324329 0 0 0 -0.133608 -0.975021 0 0 0 0 -0.267298 0 0 -0.125419 -6.76544 -0.226718 0 -0.0292471 0 0 -0.0588626 -0.0208116 0 0 0.439676 -1.26648 0 0 -0.00990394 -1.43305 0 -0.534363 -1.6557 -0.199578 0.00101739 -1.04779 -0.0644264 0 0.0694566 -0.0530164 -0.286895 2.38328 0.0290192 0.113863 0 0 -0.785297 2.77968 0 0.273053 0.0766399 1.47774 0 0 0 0 -0.635537 -0.0306738 0 3.58296 1.72028 0 0 0 3.29927 0 -0.397253 9.23605 0 0.00700063 0.735341 9.02849 0 -0.183838 1.39388 -2.7669 24.2008 0 0 0 -0.133667 -0.0086969 0 0 0 0.0215891 -0.00413894 0 0.00162037 0 2.02121e-05 0.00212639 0 0 0 0 0.010413 0 0.00148895 0 0.00167854 0 0.214228 0.073913 0 0.000188417 0 0 0.00496868 0.000136209 0.0039854 0 -4.44886e-05 0 -0.000305475 -0.0194945 0.00129126 0.00183263 -0.000924249 0 1.47019e-06 0 0 0 -3.23442e-06 0 0 -0.000361389 -0.000485736 0.0744457 0.000904999 0 0 -0.000580593 0 0.000529982 0 0 0.000607795 -0.000847012 0.0630594 -0.0024806 0 0 -0.0138843 -0.0053818 0.000428905 -0.0384153 0.00380377 0 -0.0229967 0.000346931 0.0624934 0 0 0 0.0355624 0 -0.00352317 0.0111831 0 0.000359014 -0.00102745 0.0201983 0 -0.000183026 0.00106845 -0.00272498 0.0128908 0 0.0671499 -0.133667 0.0125151 -0.0086969 0.732455 0.127373 -0.0616299 0.210539 0.0151127 0.00223108 -0.00717625 -0.228917 9.66867e-05 -0.0105815 -0.00286831 0.00548131 -0.00807676 0.0487521 -0.763559 0.158817 -0.171228 -0.265721 -0.129335 -0.0706555 -0.0121081 -0.372244 0.115866 -0.00739552 -5.07063 0.169102 -2.47029 -0.871346 -0.000124476 -0.879373 -0.620838 -0.00517148 0.00203335 -0.0119806 0.0287921 -2.50722 -0.00173669 -0.0497259 -2.21912 -1.2532 -0.00171112 0.0131546 -0.217171 -0.0330023 -0.0747884 -0.381849 -1.52387 0.049141 0.0268681 -2.01173 0.00448482 0.81607 -0.00630612 0.178764 -0.06151 -0.0414729 -2.04424 0.196612 -0.0202032 -0.527567 -11.0619 -0.12078 0.221239 0.00518814 0.252313 -0.0482014 0.0188026 -0.00258456 -0.00410872 -0.0254544 -0.0726179 0.00338589 13.6533 0.446158 5.42765 -0.101823 -0.645661 9.03619 0.00672902 -0.128296 0.769873 1.79328 -0.00129876 -0.0673507 0.327436 -0.455772 3.01319 0 +360 0 0 0 0 0 -0.0487263 0.334773 -0.686347 0.0223721 0 0 0.0199064 1.12421 0 1.588 -0.0131223 0 0 0 -0.10654 -0.284595 0 0 0 0 -0.239764 0 0 -0.959952 -1.77812 0.676604 0 0.00212001 0 0 -0.348644 -0.0121672 0 0 -0.0520851 0.656443 0 0 -0.0774799 2.21086 0 0.758116 -1.33992 -0.339076 0.195154 -0.757379 0.0538044 0 0.157765 -0.117955 0.0669408 -1.04085 -0.00693298 -0.61899 0 0 0.76335 0.239972 0 -0.99907 0.0447182 -0.505663 0 0 0 0 0.138496 -0.384393 0 -2.24577 0.596105 0 0 0 -0.15766 0 0.208522 2.52774 0 0.284669 -0.586303 1.32153 0 0.567601 -1.20343 1.22527 1.88317 0 0 0 -0.0479214 -0.00235579 0 0 0 -0.000244539 0.00253757 0 0.000168839 0 -8.0299e-06 0.00179003 0 0 0 0 0.033159 0 0.00113751 0 0.0577448 0 -0.0104184 0.000819621 0 9.6025e-05 0 0 0.00870059 -4.34293e-05 0.000551064 0 2.58527e-05 0 0.00018702 0.00413097 0.00150754 -0.000575072 4.97542e-05 0 -5.84439e-07 0 0 0 1.87945e-06 0 0 0.000115521 0.000297313 -0.00904447 -0.000222586 0 0 0.000188305 0 -0.000324395 0 0 -0.000273554 2.62497e-05 -0.00683163 0.00145121 0 0 -0.0141729 -0.00152669 -0.000183501 -0.00727441 -0.0295303 0 0.000283115 -0.000230426 0.012393 0 0 0 -0.0854429 0 0.00105897 -0.0174021 0 -0.000123392 0.00020701 -0.0123084 0 5.91091e-05 -0.00038725 0.000948052 -0.00663313 0 -0.0487263 -0.0479214 0.334773 -0.00235579 0.0793801 0.0305297 -0.0159179 0.319001 -0.0792143 0.000504204 0.0303479 0.00213932 2.3505e-05 -0.00124059 -0.000724724 -0.000251553 0.0197449 0.00981269 0.0293146 -0.207734 0.405493 0.272404 -0.0114639 0.0642516 0.0603025 0.00461179 -0.014963 0.00842247 1.92923 -0.0270951 2.32189 1.70564 -3.13194e-05 1.09445 0.862228 -0.000618556 0.00201458 0.0718654 0.014745 -0.0686131 -0.00321493 -0.00017602 2.0195 0.409668 0.00515926 -0.00153713 0.210678 -0.00278358 -0.0700026 -0.83598 3.01144 -0.43751 -0.0309416 -5.37254 0.0011257 0.0768201 -0.00508845 -0.0104965 0.0952793 -0.127392 0.952965 0.123378 -0.0707475 -0.160367 -13.2116 0.247501 0.143387 0.012439 -0.0915742 -0.333552 0.00383693 0.0233403 -0.000857486 -0.127887 0.0651956 0.00504434 -12.8331 0.169345 -5.66913 -0.0580451 -0.0802922 -0.865959 0.00071217 0.126671 -0.409632 0.0458077 -0.000261411 0.156525 -0.369102 0.32277 0.0958802 0 +361 0 0 0 0 0 0.678516 0.222452 -0.649247 -1.92097 0 0 0.0592348 0.30458 0 -0.558013 -0.00197843 0 0 0 -0.0364968 4.62666 0 0 0 0 -0.260902 0 0 -0.132006 -1.19591 -0.0079212 0 -0.0803179 0 0 -0.0997912 0.0129666 0 0 0.522204 -0.135052 0 0 0.166354 1.54789 0 -0.135727 -0.392546 -0.585257 -0.240684 0.697742 -0.158923 0 0.0724415 0.0438053 -0.0627994 1.77931 0.446479 0.0339518 0 0 0.0101575 -1.10716 0 -0.352717 -0.339384 -0.374308 0 0 0 0 -0.181286 0.427197 0 0.622614 -1.06417 0 0 0 3.34291 0 -1.15762 3.0886 0 -0.54564 1.0184 2.70891 0 -0.882211 1.53074 -2.18333 7.17699 0 0 0 0.0172315 -0.000889328 0 0 0 0.0106368 -0.00789939 0 0.000491454 0 3.77149e-05 -0.000350899 0 0 0 0 -0.0267687 0 -9.44127e-05 0 -0.0569358 0 0.116032 0.0619521 0 -4.48676e-05 0 0 -0.0202576 0.000277758 0.00251624 0 -7.87308e-05 0 -0.000564495 -0.0050884 -0.00146203 0.00390478 0.000105196 0 2.73383e-06 0 0 0 -5.70935e-06 0 0 -0.000731603 -0.000892808 0.0472407 0.00284142 0 0 -0.00056012 0 0.000974134 0 0 0.000305207 -0.0018684 0.0138466 -0.00442874 0 0 0.0192578 0.00312855 0.000741606 0.016177 -0.0118368 0 0.00607622 0.00115332 0.00985052 0 0 0 0.114383 0 -0.00835162 0.0245353 0 0.000570292 -0.00425407 0.0270647 0 -0.000359582 0.00150713 -0.00447051 0.00262753 0 0.678516 0.0172315 0.222452 -0.000889328 0.204599 0.0951211 -0.00901106 -0.313357 0.244712 0.000431427 -0.0324397 0.0339622 1.55956e-05 0.00219769 -0.000423013 0.00323649 -0.0257429 0.011599 -0.69607 1.47633 0.202644 -0.202668 0.0431873 -0.05135 -0.271549 -0.135998 0.10173 0.0241025 -3.5456 0.0288718 1.2135 -0.690184 -1.78912e-05 -1.37733 0.426082 0.00153837 0.00525778 -0.0146255 0.031577 -0.611289 0.00682773 -0.0235107 -2.16831 -0.359623 -0.00274981 0.0164112 -0.0166116 0.183977 -0.0736069 -0.0658815 3.93281 0.929888 0.0357325 3.69208 0.000723198 1.59852 0.00473059 -0.154356 0.179093 0.462631 1.22046 -0.0607526 0.0887272 -0.34342 6.35569 -0.184654 0.00486622 -0.0381124 0.324565 0.140068 -0.00490278 -0.0443599 -0.000957319 0.0465159 -0.0363046 -0.00786697 -6.70703 -0.00225966 3.74239 -0.0482178 -0.130742 2.43686 0.000423121 -0.108905 0.350596 0.918929 -0.000308999 -0.110691 0.253866 -0.325074 1.14239 0 +362 0 0.846573 0.229857 -0.00184261 -0.0801091 0.355117 0.1005 0.236951 -1.88062 -0.00230468 -0.00197644 -0.0271486 0.876354 2.2685e-06 2.29293 -5.87936e-05 1.23685 6.07573 0.029838 0.000810291 3.14694 -0.00226506 0.135138 -7.65251e-07 -0.0648594 -0.11143 0.192733 -0.00895367 0.28147 1.19375 0.319618 -4.26332e-05 0.00232432 -0.462655 0.00227083 0.16649 -0.000501666 -0.108967 -5.63996 -0.108222 1.28961 0.000124681 -0.0405933 -0.0024298 5.09779 0.00640153 0.363854 0.713504 0.0445043 0.0026958 1.33129 -0.21353 -1.75375 -0.00223429 0.00334616 -0.0157687 -2.35494 0.149331 -0.0286875 0.0775969 -3.08476e-05 -0.0861243 -2.34035 -0.0314338 0.200381 -0.378251 -1.20309 -0.554238 -0.0543096 -9.95469e-05 -0.0110237 -0.031483 -0.0267534 0.0601102 -3.11771 -1.21677 0.315834 22.3824 1.96627 9.48229 1.82746 -1.1559 8.71448 -0.0139304 0.114912 -0.281413 2.95077 -3.65203e-05 0.000563982 -0.0143385 0.23244 -4.07769 0 0 0 0 0 -0.00184261 -0.0801091 -0.00013239 0 0 0 0 -2.60328e-06 0 -0.00762381 0 0 0.0003851 9.74083e-05 -0.00132198 0 -0.000185773 0.000691251 -0.054282 0 0 0.0840912 8.67268e-06 0 -0.00116021 0.264659 0 0 0.0130275 0.0136282 0 -0.0273664 0 0.00192978 0 0 0.000299079 0 0 -0.231946 1.86732e-05 0.00437451 0 0.000416555 -0.00557698 0 0 -0.0249153 0 -0.000326307 -0.0216254 -0.00199919 0 0 -0.000811343 0.00027578 0 -0.000887722 -0.000392019 -0.00136114 0.123042 -0.00687715 -0.00698124 0 0.00301165 -0.0101407 0.0740762 -0.00180933 -0.0696285 0 0 0 1.2973 -0.010526 0.304718 0.0184131 -0.0367044 0.161553 -0.000583122 0.00106577 0.000112239 0.0556525 0 0 0 0 0 0 0.355117 0 0.1005 0 0 0 0 -0.578501 0.306914 0 0 0.346565 0 0.0204911 0 0.00559169 0 0 0.769887 0 0.129769 -0.197003 0.133348 0.0930379 0 0 0.115083 0 9.61008 0 -2.63751 0.974669 0 -1.77128 -0.296809 0.00915666 0 -0.0591566 0 0 0.0139526 0 3.32161 1.66083 0 0 0.199578 0 0 0.56839 1.7327 0.438071 0 2.39746 0 0.418938 0.0337891 -0.21791 0.096449 0.26554 1.14057 -0.267764 -0.0463004 0.566906 12.3093 -0.0553238 0 0 0 0.0415917 -0.00213521 0 0 0 0 0.0168257 21.0368 0.0675413 7.20261 0.538132 -0.441312 1.90058 -0.0641562 0.0560854 -0.23827 1.11683 0 0 0 0 0 0 +363 0 -0.213512 -0.206194 -0.00103029 -0.0468708 0.0455761 -0.258884 -0.0734906 0.0133459 -0.00313985 0.00742952 -0.0203737 -1.86149 4.00656e-07 -1.71143 -0.000509226 -0.95565 -4.89233 0.00681979 -0.00185216 -1.64826 -0.00374581 -0.03069 -8.07912e-07 -0.0732807 -0.0836531 -0.145381 -0.000341841 0.238409 -0.457161 -0.676422 -5.21368e-05 -0.0366291 -0.0418265 -0.0016734 0.0597883 -0.000198241 -0.0427997 1.45135 -0.0064932 -1.2038 2.26697e-05 -0.22383 0.000113207 -5.48949 0.0012019 -0.919044 0.0893441 -0.101031 -0.00128006 1.08403 -0.218558 -0.293265 0.000974009 -0.000767592 0.0182167 1.40744 -0.478449 0.0228981 0.16715 6.1821e-05 -0.350031 1.46671 0.531644 0.512869 0.0225202 0.615976 0.367761 -0.00931637 8.35704e-06 0.165297 -0.0165262 0.0309878 0.0838263 3.27482 0.204397 -0.537211 -7.692 -0.71831 -2.57745 -0.239055 -0.0595931 -2.89708 0.47517 -0.44174 -0.00205066 -0.295956 -6.85679e-06 6.64514e-05 -0.000748731 -0.00714078 1.5616 0 0 0 0 0 -0.00103029 -0.0468708 0.000367382 0 0 0 0 7.15781e-06 0 0.00438971 0 0 -0.000299604 -0.000100409 0.000708197 0 0.000100446 -0.000415162 0.0303986 0 0 -0.0175768 -7.32057e-06 0 0.00146637 -0.0839373 0 0 -0.0031004 -0.0103034 0 0.0346903 0 -0.000386835 0 0 -6.99811e-05 0 0 0.159811 7.60935e-05 -0.0042628 0 0.00400201 0.00747164 0 0 -0.028359 0 0.000778241 -0.0115894 -0.00151068 0 0 0.000610012 -0.000657733 0 0.000497949 0.0100004 -0.000385881 -0.0179102 0.00310616 -0.000528658 0 -0.00126337 0.0136687 -0.00106407 -0.000119532 0.00519098 0 0 0 -0.67476 0.0259811 -0.153065 -0.0122367 0.0236361 -0.0676728 0.000383719 -0.000738464 0.00194649 -0.0242956 0 0 0 0 0 0 0.0455761 0 -0.258884 0 0 0 0 0.232536 0.186681 0 0 -0.000826396 0 0.0053569 0 0.0144114 0 0 -0.0911865 0 0.0633126 0.0158192 0.00905368 -0.0252126 0 0 0.0950009 0 -3.34301 0 2.02022 -0.66257 0 0.302754 0.758718 0.00266425 0 0.0236782 0 0 0.0478053 0 -0.846352 -1.43052 0 0 -0.188737 0 0 -0.0802837 -2.28876 -0.112452 0 1.38668 0 -0.964781 0.106548 0.00967971 -0.110489 -0.0750597 0.0466374 0.313197 -0.0281364 -1.35066 -3.85061 0.0987664 0 0 0 -0.00160599 0.00781605 0 0 0 0 -0.103119 -12.0734 -0.619465 -2.20279 -0.253952 0.238943 -0.936766 0.122977 -0.127295 0.00269883 -0.191448 0 0 0 0 0 0 +364 0 0.873702 -0.265762 0.00276398 0.115993 -0.226416 -0.242476 0.45318 0.164047 0.00475912 0.346494 0.0609795 0.0576585 -4.20217e-06 1.43249 0.000838342 -1.31001 -1.85713 0.0618957 0.0012729 1.75698 0.0096398 0.425027 1.80562e-06 0.0870887 0.318123 -0.643851 -0.00404212 0.607246 -0.331877 0.0573716 9.43964e-05 0.0479358 0.362944 -0.0198731 0.37462 0.00144583 -0.109587 -1.21464 0.109961 0.659588 -0.000225474 -0.429015 0.00258821 2.13277 -0.011372 -0.260699 0.425589 0.0760993 -0.00334346 0.250859 0.0230645 4.6028 0.000441667 0.000873972 -0.0311272 -0.383604 -0.131814 -0.00965971 -0.0621855 0.000147235 0.275267 -1.17835 1.13437 0.10504 0.102076 -0.406532 -0.191559 -0.0371433 9.21877e-05 0.00880497 -0.0476211 0.0495255 0.146716 -0.969157 -0.167238 0.466809 2.22265 -0.184517 -0.630289 -0.00978333 -0.270921 0.847136 -0.495124 0.322511 -0.574475 0.764144 6.48765e-05 -0.000767153 0.0203692 -0.20104 1.13364 0 0 0 0 0 0.00276398 0.115993 -0.00102474 0 0 0 0 -2.47897e-05 0 0.00768993 0 0 0.00101144 0.000347299 0.0012643 0 0.0001913 -0.00500105 0.0507165 0 0 0.033008 2.28148e-05 0 -0.00269449 -0.363496 0 0 0.00782759 -0.110654 0 -0.0587279 0 0.000709547 0 0 0.000170704 0 0 -0.0630081 -0.000424307 0.0153179 0 -0.0175245 -0.00862649 0 0 0.106873 0 -0.00201379 0.289757 0.00714665 0 0 -0.00203648 0.00170196 0 0.000885951 0.00470456 0.00971767 -0.19356 -0.0103195 0.0123021 0 -0.00376461 0.015395 -0.074723 0.00401246 0.158188 0 0 0 -0.322398 -0.117917 -0.198919 0.017288 -0.0299837 -0.0913704 -0.00121997 0.00239518 -0.00876489 -0.0709608 0 0 0 0 0 0 -0.226416 0 -0.242476 0 0 0 0 0.0732141 -0.0790909 0 0 -0.0214495 0 0.0182147 0 0.00987084 0 0 0.60108 0 0.857303 0.0360241 0.045844 0.0783332 0 0 0.0509147 0 2.94092 0 -1.40652 0.455833 0 0.143692 0.774521 0.0126287 0 0.0104935 0 0 0.00450773 0 1.55186 0.696917 0 0 0.115174 0 0 -0.188497 2.12717 -0.0582792 0 -0.906818 0 0.721161 -0.0351872 0.0858066 -0.024652 0.160384 0.634171 -0.0579241 0.00409721 0.22988 -1.54723 0.0264942 0 0 0 0.0761341 -0.0451919 0 0 0 0 -0.00846142 10.5537 0.449532 -0.157295 0.0143226 -0.225156 0.324734 -0.0551627 0.0227143 -0.0806685 -0.0780888 0 0 0 0 0 0 +365 0 0.245762 0.126169 -0.00866272 -0.150141 0.398611 0.125751 -0.400474 -1.78915 -0.0595776 -0.217946 -0.0744565 -0.246892 9.05312e-05 0.237282 0.00542626 -0.0393307 -0.739916 -0.06511 0.0108386 0.346913 -0.02141 -0.177552 -0.000116875 -0.129455 -0.375304 0.117643 -0.0116834 -0.220649 0.289266 0.0091324 -0.00273156 0.0924708 -0.663072 -0.00433695 -0.141017 -0.00287576 -0.0562112 -2.76966 -0.203998 0.10539 0.00211586 -0.0387828 -0.0102735 -0.049127 0.0461486 0.0109969 0.041573 0.207852 0.0249826 1.13778 -0.153709 2.31747 -0.0174066 0.0159534 -0.0451384 0.812005 -0.213416 -0.318664 0.147637 -0.00388462 0.126963 2.19555 -0.0937397 0.581566 -0.108632 0.216911 -0.292901 -0.0524333 0.00423847 0.288779 -0.0561863 -0.115787 0.0318241 0.809315 0.283208 -0.183403 10.2798 2.22289 3.85775 1.40134 -0.640888 3.18504 0.325616 -0.15004 -0.0344532 2.80465 -0.0012586 0.00662286 -0.0422966 0.19361 -0.480793 0 0 0 0 0 -0.00866272 -0.150141 0 0 0 0 0 0 0 2.9876e-06 0 0 0 0 0.000134171 0 5.60924e-06 -0.000971412 0.00235133 0 0 0.130196 0 0 0.000536235 0.304103 0 0 0.0191549 2.55192e-05 0 0.00214966 0 0.00738848 0 0 0.00108534 0 0 0.00485707 0 0 0 0 0 0 0 -0.0336518 0 0 -0.00116877 0 0 0 0 0 0 0 0.0307589 0 0.0411079 0 -0.00303744 0 0 0.00261554 0.0956495 0 -0.0162069 0 0 0 -0.0111231 0 -0.00272228 0 0 -0.000209321 0 0 0 -0.000101333 0 0 0 0 0 0 0.398611 0 0.125751 0 0 0 0 -0.361731 -0.129197 0 0 0.381525 0 0.0258764 0 -0.00692496 0 0 0.0899576 0 -0.240579 -0.158576 0.056234 -0.0246303 0 0 -0.132517 0 -1.97509 0 -0.180136 0.0373035 0 -1.37938 -0.190984 0.000479055 0 -0.031727 0 0 0.00100503 0 -0.353446 -0.0943902 0 0 -0.0890457 0 0 -0.111945 0.596743 -0.480165 0 -0.100053 0 -1.0973 0.0498846 -0.0629856 0.126765 0.156441 0.705639 0.127407 0.0390566 0.433319 0.975646 -0.0215799 0 0 0 0.0937899 -0.0201834 0 0 0 0 0.00946089 5.30604 -0.505781 4.38095 0.146143 -0.105987 0.0454012 -0.0587133 0.0525005 -0.215295 0.735371 0 0 0 0 0 0 +366 0 0.632008 0.189533 -0.00356978 -0.0618709 0.210081 -0.0721606 1.09116 1.59165 -0.0245511 0.0917795 -0.0533139 0.488194 3.73066e-05 -0.286954 0.00258851 0.686444 4.58368 0.0420704 0.00331745 1.5978 -0.00162134 0.105772 -4.81627e-05 -0.0518104 0.570262 0.00147718 -0.0016047 0.597882 1.89057 -0.206983 -0.00112564 0.0484712 0.548739 0.0364293 0.308948 -0.00195454 -0.0647124 2.16592 -0.104174 0.00970772 0.000871916 -0.129149 -0.0049173 2.58343 0.0190172 -0.259649 1.14481 0.0518592 0.0117519 -1.14845 -0.0242619 -1.16025 -0.00557026 0.00510523 -0.0157842 -1.219 -0.243037 -0.163944 0.0722957 -0.0016008 -0.0863416 1.8596 -1.20912 -1.05519 -0.0701537 0.174444 0.106656 -0.0170605 0.00174661 0.0346689 0.00209625 -0.0102266 0.072115 0.193627 -0.4234 -0.093102 -4.59997 0.0514046 -3.18684 0.273446 0.224863 -5.13155 0.204062 -0.115248 -0.0705184 -3.08843 -0.00051865 0.00300341 -0.0415848 0.243932 -3.14234 0 0 0 0 0 -0.00356978 -0.0618709 0 0 0 0 0 0 0 0.000612021 0 0 0 0 3.94727e-05 0 2.30786e-05 -0.00029545 0.000503739 0 0 0.0395721 0 0 0.0015729 0.0925657 0 0 0.00560708 0.000995706 0 0.0217941 0 0.00256597 0 0 0.000369517 0 0 0.0624256 0 0 0 0 0 0 0 -0.0223153 0 0 0.00673858 0 0 0 0 0 0 0 0.0104804 0 -0.0562819 0 -0.00127807 0 0 0.00108786 0.0235609 0 -0.00601979 0 0 0 -0.142959 0 -0.000961413 0 0 -0.0026903 0 0 0 -2.17091e-05 0 0 0 0 0 0 0.210081 0 -0.0721606 0 0 0 0 -0.375386 -0.063764 0 0 0.158609 0 0.0111213 0 0.00433748 0 0 -0.115255 0 -0.357708 -0.112308 0.10636 -0.0346862 0 0 0.0125172 0 -0.28996 0 -2.48087 -0.8623 0 -0.850061 -1.07183 0.00754887 0 -0.0474744 0 0 0.00834234 0 -1.15494 0.216498 0 0 -0.009608 0 0 0.0982281 -3.80243 -0.365162 0 0.192755 0 -1.31559 0.0678666 -0.0150679 -0.164263 -0.066934 -1.14689 0.20063 0.0334439 -0.453967 -3.1979 0.0167248 0 0 0 -0.0374515 -0.0143676 0 0 0 0 -0.0333395 11.0617 -1.45171 4.49866 -0.12023 -0.058344 0.863478 0.0264951 -0.0108544 -0.104018 0.437539 0 0 0 0 0 0 +367 0 0.677949 0.51917 0.000188098 0.00326008 0.0128981 0.20683 0.0741336 0.605882 0.00129364 0.0970012 0.011739 0.90206 -1.96575e-06 1.7943 -0.00126837 2.04052 5.46429 0.0236279 -0.00120655 4.32726 0.0029433 -0.355833 2.53777e-06 0.0435136 -0.283071 0.814604 0.000790699 -0.40969 -0.210171 0.47633 5.93117e-05 -0.0358471 -0.379717 -0.0425604 -0.237714 0.000406606 0.0526793 -0.30419 0.00908504 2.40045 -4.59427e-05 -0.1986 0.000381363 3.80118 -0.00100205 1.25184 -0.437796 -0.0330776 -0.000879741 1.47015 0.115305 -0.46319 0.00173271 -0.00158805 -0.0347664 -2.55959 0.152424 0.15872 -0.0408926 8.43486e-05 -0.150803 -4.19515 1.07978 2.56619 0.0543962 1.25111 -0.134279 0.0408951 -9.20318e-05 0.0486448 -0.0287248 0.00130456 -0.0355245 -3.27261 1.64561 0.498365 1.05424 -0.576421 -0.913121 -0.166244 -0.176542 -0.292037 -0.146916 0.0720849 -0.29628 0.0227232 2.73285e-05 -0.00020729 0.00369872 -0.0250433 0.349327 0 0 0 0 0 0.000188098 0.00326008 0 0 0 0 0 0 0 -0.000774075 0 0 0 0 -0.000187562 0 -2.64385e-05 0.000477215 -0.00548183 0 0 0.0107583 0 0 -0.000151642 0.0876631 0 0 0.00131893 0.00830959 0 -0.00221184 0 0.000301476 0 0 3.54191e-05 0 0 -0.00636381 0 0 0 0 0 0 0 0.00227297 0 0 -0.00415849 0 0 0 0 0 0 0 0.0021625 0 -0.0271508 0 0.000647593 0 0 6.02617e-05 0.00791986 0 0.00396298 0 0 0 0.0145736 0 0.00631611 0 0 0.000274255 0 0 0 0.000236245 0 0 0 0 0 0 0.0128981 0 0.20683 0 0 0 0 0.0785449 -0.421043 0 0 -0.168809 0 -0.00798327 0 -0.0070753 0 0 0.49284 0 -0.9102 9.77314e-05 -0.0445424 0.0532527 0 0 -0.097625 0 1.37735 0 -4.06132 0.256759 0 0.0920208 -1.52922 -0.00232295 0 0.00293022 0 0 -0.0318092 0 1.01387 0.730609 0 0 0.0583515 0 0 0.0610921 -3.28202 -0.0783788 0 0.0272072 0 -0.115046 -0.0948953 0.0568554 -0.0360058 -0.0519439 -1.36029 -0.365621 -0.0346255 0.431416 5.80873 -0.0155974 0 0 0 -0.0013418 0.0129248 0 0 0 0 0.0173249 23.9654 1.12372 1.38091 0.410103 -0.692007 1.77795 0.0274487 -0.0647498 0.0216833 0.0321162 0 0 0 0 0 0 +368 0 0 0 0 0 -0.222114 -0.278755 0.760551 0.974733 0 0 -0.350472 -2.16724 0 -1.61211 -0.071299 0 0 0 -0.185391 6.90311 0 0 0 0 0.0684013 0 0 0.688325 3.68655 -1.04951 0 -0.341081 0 0 0.198901 -0.0596346 0 0 -1.24414 1.1621 0 0 -0.360332 -3.16538 0 -0.791652 1.29618 -0.49178 0.607996 -2.23453 0.521123 0 0.0437203 -0.200458 0.185967 3.36658 0.617345 -0.00572223 0 0 -2.05485 2.75903 0 1.06146 0.9572 -0.377681 0 0 0 0 -0.0235906 -1.2394 0 1.21155 -0.325135 0 0 0 -2.31917 0 1.98233 -6.85487 0 0.995322 -0.272191 -4.9655 0 1.18454 -0.497293 2.70886 -11.7436 0 0 0 0.133599 0.0385165 0 0 0 0.0929996 0.00255786 0 0.012942 0 0.000286795 -0.000966453 0 0 0 0 0.0768181 0 0.00609738 0 0.0282138 0 0.600844 0.406014 0 -0.0041633 0 0 -0.199334 0.000447999 0.0932285 0 0.000142558 0 0.000672677 0.0369997 -0.0298931 0.00756008 0.0156843 0 1.76278e-05 0 0 0 2.56822e-05 0 0 -0.000246099 0.00250092 -0.0854656 -0.00587109 0 0 -0.00943299 0 0.000586722 0 0 0.00752877 0.00122696 -0.11203 0.00335727 0 0 0.0180683 -0.0476402 0.00333753 -0.150928 -0.147825 0 0.140483 0.00621002 -0.0487874 0 0 0 -0.0455271 0 -0.00687042 0.185148 0 0.000391887 -0.000812084 -0.011769 0 -0.000420504 0.00239393 -0.00365127 0.119199 0 -0.222114 0.133599 -0.278755 0.0385165 -0.509855 -0.0200174 0.0648052 0.755734 -0.798444 -0.0417739 0.00646191 -0.305873 -0.00598992 -0.0527417 0.0350161 -0.0435139 -0.0341943 -0.292415 2.19116 1.3662 0.357038 0.452989 -0.000780114 0.297609 0.132727 0.175277 -0.477559 0.0581554 9.53793 -0.0710952 0.276927 0.645384 0.00662213 2.44636 0.385414 -0.00235682 -0.00150722 0.168618 -0.0159792 1.40234 -0.0755793 0.0156049 3.22013 4.48048 -0.00480528 -0.00765673 0.725279 0.324232 0.127995 -0.00942177 1.27143 -0.302347 0.0408534 -3.37727 -0.0118105 0.651836 0.0302821 -0.10216 0.254918 -0.486845 -1.31518 -0.860264 0.35088 1.47789 -4.17229 -0.33573 -0.86165 -0.0738622 -0.364251 -0.319875 0.0957845 -0.0559236 0.0762945 0.321694 0.0150279 0.334529 -1.42937 0.74347 -8.16578 0.70916 0.28377 -4.76708 0.0987374 -0.0197461 -0.0143148 -2.42352 0.0960815 -0.0250566 -0.012612 0.0845508 -1.32634 0 +369 0 0 0 0 0 -0.53786 0.215479 -0.962523 -0.250714 0 0 0.262915 0.922264 0 1.4397 0.0749047 0 0 0 0.177389 -1.14946 0 0 0 0 -0.446348 0 0 -0.926974 -4.25998 0.293051 0 0.589551 0 0 -0.418085 0.0425209 0 0 0.65024 -1.18239 0 0 0.156403 4.05913 0 -0.280389 -2.06278 0.961385 -0.310794 1.42527 -0.0606203 0 -0.290525 0.234979 -0.774621 -2.00339 -0.0999793 -0.0960301 0 0 -0.305804 1.47216 0 0.634942 -0.823125 0.704785 0 0 0 0 -0.255234 0.463967 0 -0.94986 1.89659 0 0 0 2.13344 0 -1.03451 7.14312 0 -0.0526578 0.0579321 5.10046 0 -0.456895 0.958974 -2.54918 13.089 0 0 0 -0.0599627 -0.0130704 0 0 0 -0.0356818 0.00444491 0 -0.00519964 0 -8.46809e-05 0.0148106 0 0 0 0 -0.0100366 0 0.000241152 0 0.0927679 0 -0.220948 -0.148482 0 0.00249809 0 0 0.129198 -0.000258267 -0.027009 0 0.000285341 0 0.000168236 -0.0224353 0.0174762 -0.0039343 -0.00439518 0 -5.42872e-06 0 0 0 1.60148e-05 0 0 0.000483681 0.000460134 -0.000836656 0.0039929 0 0 -0.00182549 0 -0.000726737 0 0 0.0128521 -0.00292711 0.0570745 -0.00960053 0 0 -0.0043542 -0.0308994 -0.000977814 -0.0204637 -0.00885048 0 -0.0181142 0.000200257 0.0353083 0 0 0 -0.0969655 0 0.00346608 -0.114216 0 -0.000287998 0.000313143 -0.0632883 0 0.00027475 -0.00093682 0.00176972 -0.0946288 0 -0.53786 -0.0599627 0.215479 -0.0130704 -0.0520506 0.131638 -0.103279 -0.0202073 1.02794 0.00979462 -0.00552861 0.257451 0.00162685 0.0393671 -0.0169041 0.0557175 0.0409742 0.0542773 -0.772894 1.26231 0.160934 -0.142342 0.161326 -0.110644 0.0847672 -0.287582 0.571861 0.0318493 2.16935 0.154612 -0.232967 0.484437 -0.00240028 0.126258 0.110461 0.0205472 0.00743352 -0.0735584 0.0482301 -1.19155 0.102975 -0.059693 0.871084 -0.546337 0.00518314 0.0275668 -0.0642765 0.201242 0.0191027 -0.996695 1.13512 0.456938 -0.0512689 2.03767 0.030242 0.405101 0.135893 -0.37654 -0.300941 0.623187 1.31259 0.479689 -0.209752 -0.352092 6.96335 0.156759 0.125294 0.0841032 0.568171 0.470226 -0.088314 -0.0945051 -0.0204291 -0.118843 -0.132135 -0.202928 1.20247 -0.625793 2.89308 -0.101803 -0.514509 4.92432 -0.0512962 -0.166091 0.375156 1.26675 -0.0178344 -0.12151 0.339416 -0.268496 1.34534 0 +370 0 0 0 0 0 0.0248246 0.323548 -1.51158 -4.53323 0 0 -0.132536 0.882743 0 0.405311 0.00573752 0 0 0 0.527249 -0.175078 0 0 0 0 -0.913521 0 0 -0.417735 -3.39078 0.174716 0 0.207212 0 0 -0.335698 -0.0156492 0 0 -0.710069 0.0754875 0 0 -0.296868 4.75235 0 0.298333 -0.99282 2.77917 0.347032 -2.74314 -0.032257 0 -0.671238 0.455935 -0.342878 -0.19555 -0.223388 0.948368 0 0 2.40476 -1.86576 0 0.125085 0.692748 1.14143 0 0 0 0 -0.117702 -1.24973 0 -1.89618 0.172072 0 0 0 11.1199 0 0.987625 8.91918 0 0.879799 -0.447868 13.2142 0 1.00867 -0.00337141 0.367027 12.1873 0 0 0 -0.009016 0.0388349 0 0 0 0.0555409 0.0522454 0 0.00703575 0 0.000138309 -0.013982 0 0 0 0 -0.0410869 0 -0.00386228 0 -0.186759 0 0.406671 0.525754 0 -0.000663633 0 0 0.0985974 0.000258971 0.113828 0 0.00168431 0 0.00323229 0.126166 0.000718391 0.00289 0.0273834 0 1.17498e-05 0 0 0 0.000104107 0 0 -0.00159495 0.00260609 -0.119001 -0.000552086 0 0 -0.00357781 0 -0.00662285 0 0 0.0490371 0.000348706 -0.0771917 -0.00652817 0 0 -0.0664121 0.0233481 0.00256213 0.0778721 -0.099069 0 -0.0232746 0.00899304 -0.133671 0 0 0 0.191935 0 -0.0013949 -0.115434 0 0.000727763 -0.0026185 0.0331346 0 -0.000559183 0.00238373 -0.00374148 -0.0837445 0 0.0248246 -0.009016 0.323548 0.0388349 0.233596 0.0593722 0.202798 -0.489025 0.859266 -0.0480528 0.0676463 -0.0906078 -0.00678386 -0.00542994 0.0494364 0.0389975 0.038885 -0.333022 -1.14363 -0.489769 0.121373 -0.245506 0.0305205 -0.127252 0.686108 -0.183164 0.224938 -0.0166024 -1.33332 0.223884 1.75313 0.109705 0.0080345 -1.20098 0.350653 0.0111455 0.00051253 -0.091473 0.0143548 -1.30057 0.12739 -0.0267945 -0.903861 -0.809803 0.00286865 0.0180857 -0.12879 -0.0929528 0.141594 -0.659838 0.806049 -0.376948 -0.159627 -0.0219586 -0.071656 -0.195698 0.208328 -0.0577125 -0.221862 0.441641 1.85815 0.297823 -0.0488261 -0.158933 5.84773 -0.10112 0.195866 -0.0607795 0.10918 -0.000278572 0.00764118 -0.0558812 0.0994969 -0.0971408 -0.0577836 -0.255804 -9.04884 -0.0568499 3.64118 0.571433 -0.200519 3.18012 0.0701047 0.0142559 0.0121237 1.84535 0.109424 -0.0522576 0.234901 -0.285284 1.65537 0 +371 0 -0.0378871 -0.0118266 0.0654118 0.220128 -0.278082 -0.00485897 0.236588 1.84495 0.426128 -1.05553 0.430095 0.83904 -0.0124556 1.23532 -0.0194702 1.8735 10.0563 -0.0917083 -0.0654713 -2.77729 0.0158011 0.164701 0.0160615 -0.304975 0.393132 0.267337 0.105888 -0.423098 -2.06586 0.589816 0.0894325 0.0440062 0.39327 0.708373 0.0794432 0.0660026 0.422829 1.84731 0.860643 -0.819537 -0.0707041 2.80605 0.15232 1.79212 -0.353046 0.120953 -0.980793 -0.00160804 -0.385421 2.56831 -0.521254 -2.29398 0.0895229 -0.100458 0.159199 4.63711 1.02489 0.679935 0.413856 0.137743 1.37203 -1.35087 0.799988 -1.69059 -1.5425 0.802552 0.819392 0.721603 -0.144056 1.09788 -0.30109 0.717823 -0.759479 1.43207 -0.224554 -1.35984 -2.94274 4.87405 -7.57297 2.50304 -1.57472 -1.66898 0.834212 -0.811147 1.38416 -2.36641 0.215263 -0.438557 1.05196 -2.06001 4.94049 0 0 0 0 0 0.0654118 0.220128 0.00021445 0 0 0 0 1.05188e-06 0 -0.00347251 0 0 3.50647e-05 2.48928e-06 0.00775142 0 8.76614e-05 0.0800549 0.00529145 0 0 0.286932 1.74665e-07 0 -0.00565372 1.3746 0 0 0.0286859 0.316474 0 0.00373982 0 0.0587876 0 0 0.0046681 0 0 0.00684581 1.49912e-05 0.000499732 0 0.00305628 -0.00176514 0 0 0.0110774 0 0.000437068 -0.0357719 -0.000481389 0 0 -7.14649e-05 -0.00036939 0 0.00138432 8.4676e-06 3.65691e-05 -0.370363 -0.00125154 0.01948 0 0.00199062 -0.0436684 -0.0335696 4.10523e-05 -0.0292479 0 0 0 -0.0208035 -0.00318408 -0.00609861 0.00248374 -0.00285695 -0.0111483 -4.42537e-05 5.09034e-05 -6.1258e-05 -0.00260443 0 0 0 0 0 0 -0.278082 0 -0.00485897 0 0 0 0 0.153001 1.44782 0 0 -0.564667 0 -0.0697843 0 0.0581077 0 0 -1.46232 0 0.352887 0.0724066 -0.254917 -0.162984 0 0 0.55954 0 -3.56912 0 3.00755 -0.107451 0 0.811033 0.8397 -0.0325578 0 0.00567203 0 0 0.150809 0 -1.22812 -2.79516 0 0 -0.2786 0 0 -1.06181 -2.74086 -0.220524 0 1.45516 0 -1.45796 0.148677 0.0756099 0.726616 -0.248079 -1.7259 0.913544 0.100893 -0.205131 6.4251 -0.0654493 0 0 0 0.591703 0.0806253 0 0 0 0 -0.329429 -20.1129 2.15371 -6.64538 -0.0729964 0.268116 -2.17272 0.0809478 -0.0360839 0.219142 -0.544963 0 0 0 0 0 0 +372 0 -0.78307 0.281484 -0.0205952 -0.0761514 0.0264565 0.0718604 -0.300781 -1.49367 -0.142393 0.983074 -0.0981888 0.0159209 0.00390962 0.15471 0.000749163 2.91089 10.5509 0.217806 0.0241549 2.58819 0.0521158 -0.231593 -0.00505381 0.25504 -0.4327 0.872814 0.0727269 0.323972 0.684788 0.0142272 -0.0286793 -0.053126 -0.283443 0.175309 -0.0231854 -0.0163351 0.367498 1.19103 -0.169574 1.41447 0.0216259 0.770346 -0.0357923 0.921525 0.102155 0.596292 0.479919 0.0400019 0.0898022 1.65056 0.509106 -4.58996 -0.0391426 0.0314903 0.00378108 1.89358 0.213567 0.21273 -0.402263 -0.0417961 0.338991 -2.45847 1.34168 2.26674 -0.56247 -0.338587 -1.10873 0.482956 0.0481348 -0.465512 0.0688555 -0.0681741 -0.348351 -0.659992 -0.173353 -0.669456 1.65724 -3.52743 5.82345 -1.97955 1.07052 -0.690748 -0.711803 0.653083 -1.35605 2.46832 -0.0622874 0.102675 -0.33092 0.54449 -1.63766 0 0 0 0 0 -0.0205952 -0.0761514 5.49153e-05 0 0 0 0 2.64726e-07 0 0.00864645 0 0 1.82867e-06 2.97137e-07 0.0032197 0 0.00100817 -0.0199241 0.0411097 0 0 -0.0319095 2.08492e-08 0 0.00856582 -0.16535 0 0 -0.00693408 -0.06377 0 0.0476487 0 -0.0111948 0 0 -0.00126307 0 0 0.348835 3.7728e-06 2.60617e-05 0 0.000782638 -0.000466203 0 0 0.0169735 0 0.000111922 0.0162786 -0.00012781 0 0 -3.72699e-06 -9.45916e-05 0 0.000307802 0.0690415 -1.0502e-05 0.283748 -0.000384766 -0.0283057 0 0.000530437 0.026079 0.176764 -4.75414e-05 -0.0199186 0 0 0 -0.658389 -0.000685518 -0.0890992 0.000592903 -0.000681995 -0.147802 -2.30789e-06 2.65468e-06 -3.19468e-06 -0.0172453 0 0 0 0 0 0 0.0264565 0 0.0718604 0 0 0 0 -0.342582 -0.478334 0 0 0.147075 0 0.0277555 0 -0.014641 0 0 0.477741 0 -0.624526 -0.13242 0.0733122 0.0830028 0 0 -0.159028 0 2.63616 0 0.0192484 0.0504608 0 -0.64888 -0.679217 0.0107242 0 -0.0697277 0 0 -0.0378104 0 0.596113 1.63005 0 0 0.245431 0 0 0.214692 1.02011 0.553173 0 -2.54038 0 1.34009 0.0215365 -0.0677667 -0.59374 0.224635 0.973817 -0.658927 -0.10154 1.14796 -3.18994 -0.0166275 0 0 0 -0.146828 -0.0738067 0 0 0 0 0.102972 15.3217 -0.363219 5.96699 -0.239663 0.25025 0.711143 -0.107953 0.0470534 0.0125462 0.315865 0 0 0 0 0 0 +373 0 0.212684 -0.217141 0.0397856 0.123816 -0.130029 -0.30778 0.457709 0.876241 0.247077 -0.620278 0.107853 0.45027 -0.00759373 0.518237 -0.0050023 0.195439 -0.136534 -0.288071 -0.0174793 -2.33906 0.011179 0.451508 0.00977391 -0.0984853 0.747021 -0.0185251 0.0503931 0.468043 -1.33642 0.0449296 0.0536287 0.0811166 0.553127 -0.12855 0.391705 0.0193601 0.402749 0.00748926 0.580848 -1.16453 -0.0439402 1.33319 0.0985335 -0.69335 -0.227987 -0.85268 0.0309113 0.186456 -0.249213 2.21231 -0.602629 1.44224 0.00883117 -0.0339326 0.172201 2.75632 0.314584 0.126478 0.183714 0.0860951 0.633756 0.560491 -0.545715 -0.223177 -1.07876 0.58451 0.403723 0.556663 -0.0835305 -0.251823 -0.0621014 0.490719 -0.529168 -0.0890748 -0.661684 -1.54726 0.709329 2.53383 -3.44702 1.14107 -1.04182 1.4514 0.322006 -0.420345 0.667992 -0.488161 0.139011 -0.29085 0.680044 -1.36145 3.19604 0 0 0 0 0 0.0397856 0.123816 0.000304793 0 0 0 0 1.49804e-06 0 0.0151036 0 0 5.45015e-05 3.75996e-06 0.0199185 0 0.00237914 0.0379132 0.118669 0 0 -0.119248 2.63825e-07 0 -0.0234844 0.0957954 0 0 -0.0303916 0.100369 0 -0.0827609 0 -0.00314342 0 0 -0.00351562 0 0 -0.119794 2.13497e-05 0.00077674 0 0.00434382 -0.00250817 0 0 -0.0993528 0 0.000621195 -0.195781 -0.000682468 0 0 -0.000111079 -0.000525005 0 0.00200175 -0.0160337 6.88174e-05 -0.378881 -0.001758 0.0303085 0 0.00283154 0.00618024 -0.0766391 2.7611e-05 0.0484428 0 0 0 0.214069 -0.00462223 -0.094549 0.00356897 -0.00410526 0.0381704 -6.87841e-05 7.91199e-05 -9.52141e-05 -0.0501789 0 0 0 0 0 0 -0.130029 0 -0.30778 0 0 0 0 0.176403 1.06984 0 0 -0.186396 0 -0.0266468 0 0.0335589 0 0 -0.570529 0 0.71256 0.0278453 -0.0744009 -0.0606012 0 0 0.322468 0 -4.32961 0 0.188134 -0.525029 0 0.192461 0.71143 -0.00515114 0 0.0149842 0 0 0.107132 0 -1.3746 -2.07004 0 0 -0.242552 0 0 -0.317525 -1.68843 -0.157387 0 1.46956 0 -0.985809 0.144327 -0.0195488 0.510129 -0.136529 -1.16258 0.634391 0.0066152 -0.957117 0.719843 0.0203616 0 0 0 0.295274 0.0263646 0 0 0 0 -0.251598 2.09313 1.19181 -0.795339 -0.272268 0.160333 0.26969 0.0152445 -0.0229327 0.0949629 -0.0573149 0 0 0 0 0 0 +374 0 -0.635925 0.0737646 -0.00690006 -0.0567039 -0.0807792 0.222575 -0.977349 -0.189553 -0.0580225 -0.553796 -0.213167 1.38878 0.000450038 2.07937 0.0106896 -0.672711 -0.576762 -0.155218 0.0145264 -0.512942 -0.0189194 -0.104909 -0.000271 -0.0829163 -0.0735403 -0.179544 -0.0351898 -0.510188 -0.180692 0.611771 -0.00417133 0.246093 -0.280452 -0.347566 -0.211836 -0.0176265 -0.101772 0.00888207 -0.564073 0.152618 0.00763932 -1.20324 -0.0430436 5.81621 0.122317 0.564795 -0.597481 0.296859 0.142752 -0.521079 -0.0804916 -0.136591 -0.045189 0.0268065 -0.141565 -2.07941 -0.0581133 0.0507545 0.103732 -0.02491 0.816298 -0.803813 0.650344 -0.281594 0.257392 0.653787 -0.0392197 -0.100909 0.0116863 0.132865 -0.370025 -0.0697637 -0.0173649 -1.07877 0.461169 0.235789 6.7285 4.07006 1.24594 1.85358 0.391215 1.80581 0.302568 -0.516046 1.078 1.26167 -0.00627777 0.0402036 -0.227142 1.03086 0.684789 0 0 0 0 0 -0.00690006 -0.0567039 0.00246289 0 0 0 0 0.000230969 0 -0.0183089 0 0 0.0012377 0.0013633 -0.00384882 0 -0.00134855 0.00567851 -0.0657484 0 0 0.265641 9.38079e-05 0 0.00094286 0.770768 0 0 0.0356497 0.077694 0 0.0148044 0 0.020125 0 0 0.00268375 0 0 -0.152478 0.00325736 0.0184192 0 0.032804 0.00519875 0 0 -0.0542363 0 0.00467998 0.0306961 -0.00455226 0 0 -0.000888742 -0.00315109 0 0.0162603 -0.00911336 -0.00441478 -0.429943 -0.00466233 -0.01034 0 0.0140648 -0.0199359 -0.104729 0.00646718 -0.0432674 0 0 0 0.279693 -0.046321 0.126635 0.0243507 -0.0267484 0.0145213 -0.00124293 0.00150313 -0.00236851 0.011287 0 0 0 0 0 0 -0.0807792 0 0.222575 0 0 0 0 -0.0016368 -0.128705 0 0 0.164659 0 0.0229783 0 0.027086 0 0 -0.546315 0 0.0395897 0.0134143 0.193425 -0.064295 0 0 0.216005 0 -3.60731 0 3.46487 0.122283 0 0.366259 0.959481 0.0252394 0 -0.015928 0 0 -0.00415699 0 -0.596359 -0.403077 0 0 -0.0272357 0 0 -0.300758 -0.00627134 -0.0747821 0 1.25175 0 -0.633619 0.0738698 -0.0308911 0.297038 -0.117973 0.19074 0.391418 0.164526 0.051722 5.67648 0.157552 0 0 0 0.14713 -0.0770199 0 0 0 0 0.00761115 -21.605 -0.552459 -4.13611 -0.507366 0.287161 -1.45306 -0.0446019 0.0340547 -0.0359708 -0.194875 0 0 0 0 0 0 +375 0 -0.659931 0.20295 -0.00426132 -0.0409871 -0.113102 -0.066126 0.295688 -0.316416 -0.0867331 0.391555 -0.0178565 -0.135951 -4.83888e-05 -0.431999 -0.0220592 0.224373 3.34247 0.0832211 -0.0273748 1.23917 -0.00341043 -0.393906 -0.000352673 0.0230964 -0.0523546 -0.183879 -0.00360666 0.42229 0.731886 -0.18042 -0.00584597 -0.454959 -0.716952 -0.0125554 0.177222 -0.000955592 -0.0404499 -0.0427044 0.0524865 0.309987 -0.00119412 0.094612 0.00193648 -0.272496 -0.027773 -0.225045 0.636134 -0.591475 -0.00464748 -0.598147 -0.316715 -0.626292 0.103277 -0.0226154 0.144633 -0.0435475 -0.169308 -0.010876 0.0106883 0.00328971 -0.742241 -0.233742 -0.589503 -0.309481 0.0212072 -0.210986 -0.134219 0.0415444 0.0228999 -0.187686 0.0320542 -0.30177 -0.0558031 0.282681 -0.74094 -0.0935071 1.2625 0.314847 -2.22865 0.426574 -0.612047 -2.52309 -0.0619439 0.157613 -0.443325 -1.61712 0.00142541 -0.00718873 0.0338456 0.0544896 -2.77371 0 0 0 0 0 -0.00426132 -0.0409871 -0.00101332 0 0 0 0 -1.63348e-05 0 0.00611368 0 0 -0.000609907 -0.000215658 0.00174547 0 0.000189027 -0.00675776 0.0431828 0 0 -0.076683 -1.41301e-05 0 -0.00583956 -0.476285 0 0 -0.00822578 -0.0560674 0 -0.0534296 0 -0.0038322 0 0 -0.000265825 0 0 -0.170165 -0.000195425 -0.00891631 0 -0.0131551 -0.0305593 0 0 -0.00285292 0 0.00263313 -0.061183 -0.00313898 0 0 0.000722771 0.00273596 0 0.00391834 -0.0290987 0.00330025 0.250432 -0.0139844 -0.0143003 0 0.00842035 0.015851 0.0604318 -0.00375133 0.0214617 0 0 0 0.17557 -0.00285879 -0.0472069 0.0134743 -0.0173093 0.00167405 0.000665533 -0.000789757 0.00112907 -0.00916998 0 0 0 0 0 0 -0.113102 0 -0.066126 0 0 0 0 -0.286664 -0.672897 0 0 -0.0243465 0 0.000448298 0 -0.042563 0 0 0.701101 0 -0.403019 -0.135939 -0.121357 0.0796198 0 0 -0.469282 0 3.05566 0 -0.648721 -0.059191 0 -0.722827 -0.759014 -0.0162481 0 -0.0600286 0 0 -0.0506938 0 0.439404 1.5211 0 0 0.174798 0 0 0.674075 -0.377091 0.227356 0 0.47844 0 0.390059 -0.0430351 -0.156573 -0.126844 0.155493 -0.317519 -0.662888 -0.0841006 -0.481551 -1.5469 -0.141354 0 0 0 -0.249907 0.00568948 0 0 0 0 0.0951535 14.487 0.348175 4.64199 0.0514873 -0.00228049 0.753381 -0.0776971 0.0715017 -0.0384363 0.439098 0 0 0 0 0 0 +376 0 0.859079 0.91195 -0.0119723 -0.168251 0.349434 0.300523 0.0382194 -1.24891 -0.135868 -0.115404 -0.34948 -0.40654 0.000518669 0.603355 -0.0106527 3.30445 14.6332 0.023365 -0.0176205 4.61484 0.00881581 -0.645606 -0.000529212 -0.0154384 -0.484449 1.06078 0.0415627 -0.0351518 2.38021 -0.0344531 -0.00882536 -0.246201 -1.91187 0.280668 -0.100819 -0.025063 0.364447 -7.64316 -0.757415 1.72279 0.00880501 1.14466 -0.0537373 2.73553 0.141245 0.67104 0.680873 -0.498109 0.205991 -0.214949 -0.0451412 -8.45897 0.0780517 0.00525324 0.0250469 -2.08306 0.21639 -0.309378 -0.0472958 -0.0309457 -3.9169 0.22311 -0.738853 -1.07368 -0.541463 -2.71298 -0.32327 0.494507 0.0310263 -0.389957 0.354252 -0.498723 -0.439688 -0.210167 -0.667665 -0.575113 33.2283 3.47773 5.78857 2.54139 -0.0969634 1.34924 0.0665886 -0.13158 0.88806 -4.10974 -0.00724921 0.0491465 -0.328726 1.93589 -9.02052 0 0 0 0 0 -0.0119723 -0.168251 0.00374596 0 0 0 0 0.000291278 0 -0.0208284 0 0 0.00131423 0.001644 -0.00372646 0 -0.0016517 0.00814916 -0.0399641 0 0 0.295304 0.000111967 0 0.00441716 0.772919 0 0 0.0299771 0.0971573 0 0.029763 0 0.0224745 0 0 0.00254848 0 0 -0.225101 0.00412502 0.0193435 0 0.0541645 0.017575 0 0 -0.116669 0 0.00486758 0.0147711 -0.00589159 0 0 -0.00275109 -0.00528274 0 0.0215468 0.000863426 -0.00466845 -0.292067 0.00610091 -0.00815249 0 0.020102 -0.0162804 -0.141428 0.0301154 -0.034421 0 0 0 0.526087 -0.05205 0.0914738 0.0258384 -0.026443 0.0315951 -0.00181805 0.00208473 -0.00235418 -9.72763e-05 0 0 0 0 0 0 0.349434 0 0.300523 0 0 0 0 -0.466375 -0.359679 0 0 0.22451 0 0.00985978 0 -0.019977 0 0 1.31793 0 -1.33855 -0.18669 0.0869092 0.166037 0 0 -0.214155 0 8.59661 0 -7.47131 0.713236 0 -1.4779 -2.79773 0.00578992 0 -0.056625 0 0 -0.024619 0 2.71695 2.97401 0 0 0.372598 0 0 0.799931 1.2309 0.281575 0 -2.03112 0 0.822797 0.00891735 -0.156744 -0.467558 0.0507121 0.156848 -0.718763 -0.06438 -0.0311188 -8.93027 -0.12599 0 0 0 -0.342939 -0.00594164 0 0 0 0 0.060992 45.9252 -0.285552 11.2727 0.528992 -0.289782 3.27779 -0.0827155 0.0976656 -0.149858 0.818985 0 0 0 0 0 0 +377 0 0 0 0 0 0.265474 0.328753 -1.83648 -4.23157 0 0 -1.01592 0.854608 0 0.145109 -0.229051 0 0 0 -0.134462 1.26692 0 0 0 0 -0.857952 0 0 -0.185128 5.9897 0.23871 0 -0.842943 0 0 -0.443692 -0.112793 0 0 -3.14543 2.32462 0 0 -0.530394 2.51546 0 1.2903 1.17583 0.502943 1.096 -4.11588 0.59151 0 -0.395844 -0.657167 0.156928 -2.17953 -0.582207 1.44108 0 0 0.324733 -5.17825 0 0.635966 1.37717 0.0415923 0 0 0 0 -0.264701 -3.12894 0 0.81452 0.612921 0 0 0 5.97981 0 4.05793 -6.01919 0 2.43327 -4.59683 9.60214 0 2.84554 -5.06615 9.49194 -16.8799 0 0 0 0.328827 0.105612 0 0 0 -0.0607973 0.115855 0 -0.00574861 0 -0.00544513 -0.181202 0 0 0 0 -0.276047 0 -0.0709482 0 -0.751824 0 -0.565408 -0.143659 0 -0.00158418 0 0 0.048218 -0.00128186 -0.0643439 0 0.0114466 0 0.00642572 -0.00136871 -0.0131964 -0.0299422 -0.0192551 0 -0.000200242 0 0 0 0.000623907 0 0 0.00504147 0.00362349 0.556242 -0.0759146 0 0 -0.0092578 0 -0.0163898 0 0 0.060498 0.0237688 0.103174 0.0524751 0 0 -0.0842218 -0.029555 0.00941292 -0.457924 0.155484 0 -0.40058 0.000837591 -0.0581899 0 0 0 2.49977 0 0.128668 0.22093 0 0.00737092 0.0242958 0.779022 0 0.00195293 -0.000140051 0.0345533 0.181538 0 0.265474 0.328827 0.328753 0.105612 -0.7731 -0.187851 0.265088 0.0736032 -1.40773 -0.155279 0.0682052 -0.844954 -0.0251413 -0.169487 0.0862547 -0.0707711 0.0633265 -0.889222 0.792643 -0.47119 -0.0665467 -0.015866 -0.0418722 0.0290001 0.80889 0.19264 -0.651913 -0.00311122 -5.40357 0.0299655 -0.662099 0.0764196 0.0165099 0.315226 -0.0339932 -0.0271958 0.00108028 0.00265635 -0.041006 1.13675 -0.104875 0.0293535 -1.24849 3.10129 0.00596596 0.0541175 0.20402 -0.0327692 0.389901 0.582567 -1.8604 -0.0804399 -0.352328 -0.82516 0.0512617 2.13373 -0.310507 0.331972 0.17884 0.000962249 -0.209532 -0.87296 0.0388224 1.34715 1.18288 -0.200407 -0.389159 -0.175433 0.142546 -0.687194 0.314329 -0.174386 0.324199 0.0987381 0.0216842 0.342548 2.69843 2.43809 -1.52986 2.23318 -0.4647 -1.7147 1.4994 -0.680773 0.0735566 0.39259 1.1312 -0.644455 0.248517 0.441543 -1.46404 0 +378 0 0 0 0 0 -0.0228417 0.288355 -0.152036 0.550008 0 0 0.0500033 0.93086 0 0.997661 0.0377831 0 0 0 0.220486 2.22593 0 0 0 0 -0.119848 0 0 -0.527646 5.21639 0.552818 0 -0.304443 0 0 -0.241728 0.0553082 0 0 -0.297008 1.97492 0 0 0.0508254 0.966794 0 1.23858 0.593873 -0.695001 -0.0334786 1.66122 0.603877 0 -0.371994 0.114724 0.319436 1.2103 1.1492 0.852942 0 0 0.0277345 -2.38863 0 1.29471 0.293037 0.129049 0 0 0 0 -0.146862 0.0185216 0 -1.46409 -0.992905 0 0 0 -0.976089 0 0.319068 -6.68213 0 -0.1596 -1.73775 -1.60484 0 -0.178057 -2.9002 4.34039 -18.3406 0 0 0 0.0853779 -0.000449365 0 0 0 0.0288106 -0.0190809 0 0.00542918 0 0.00292832 0.0848781 0 0 0 0 0.112908 0 0.025922 0 0.350893 0 0.17674 0.577627 0 0.0110209 0 0 0.337044 8.31539e-05 0.12036 0 0.00410905 0 -0.00138674 0.211105 0.0651639 -0.000148835 0.0423687 0 0.000170557 0 0 0 0.000180133 0 0 0.00270171 0.00223895 -0.0901083 -0.00617101 0 0 0.0362388 0 0.00738429 0 0 -0.0338968 0.0375457 0.373035 0.0574674 0 0 -0.220557 -0.038187 -0.0394493 -0.0174326 -0.0505409 0 0.318743 -0.00682958 0.299815 0 0 0 -0.951394 0 0.035665 -1.3289 0 0.0027708 -0.0830449 -0.406945 0 0.000470507 -0.0114131 0.041547 -0.775074 0 -0.0228417 0.0853779 0.288355 -0.000449365 -0.733522 -0.062008 0.0421672 -0.259873 0.206698 0.0150895 -0.015447 -0.0774988 0.00266535 -0.0202441 -0.0132883 0.000905736 -0.00817067 0.0977926 0.12538 -0.250184 0.0869806 -0.0452816 -0.094511 -0.0227343 -0.222765 0.25845 -0.16007 0.0184688 2.85393 -0.304569 -0.194074 1.0142 -0.00403518 -0.240599 0.0128161 -0.0239265 -0.00504629 -0.0365155 -0.0451576 2.09416 0.0428117 0.0293374 1.36872 -0.763919 0.00118987 -0.0284618 -0.119787 0.0475663 -0.112781 -0.741976 -0.227647 -0.866253 0.190307 -1.42692 0.0157451 0.179782 0.0451505 0.408312 0.307817 -0.110053 0.175183 -0.148344 -0.15835 0.653322 4.92487 0.0205134 -0.0839043 -0.0376582 -0.337895 0.332641 0.067344 0.0584768 -0.0290168 -0.149147 0.130487 -0.166283 0.790961 0.367874 -0.0386816 -0.0758379 0.409649 -3.96671 -0.056498 0.131727 -0.981799 1.14588 -0.124404 0.214767 -0.844715 1.21246 -2.98544 0 +379 0 0 0 0 0 0.245256 0.108231 0.328532 0.257944 0 0 0.198111 0.261692 0 -0.0337132 -0.0464708 0 0 0 -0.234998 -6.57714 0 0 0 0 -0.0671825 0 0 -0.361351 2.42219 0.0637079 0 0.05956 0 0 -0.0701834 0.0130899 0 0 -0.666936 -1.41437 0 0 -0.235457 0.421106 0 -0.225695 0.189493 0.2796 0.172208 0.346478 0.0192351 0 -0.438231 0.0423557 -0.132204 0.652376 -0.971186 -0.0667116 0 0 0.70033 4.06974 0 0.074223 -0.130742 -0.640591 0 0 0 0 0.503006 0.0644049 0 1.57329 -0.333513 0 0 0 -0.715115 0 0.430949 -1.65155 0 -0.206206 -0.104588 -2.4079 0 0.479575 -0.489499 0.532006 -4.54408 0 0 0 0.121684 0.0260315 0 0 0 -0.0369712 0.0165113 0 -0.00411862 0 -0.000942338 -0.031716 0 0 0 0 0.0198904 0 -0.0050958 0 -0.0835953 0 -0.343813 -0.239673 0 -0.00505018 0 0 -0.267452 1.13885e-05 -0.0449086 0 0.00240492 0 0.000770967 -0.117558 -0.0373628 -0.00260947 -0.0195438 0 -2.61207e-05 0 0 0 0.000122459 0 0 0.000484704 -2.51401e-05 0.138857 -0.0345682 0 0 -0.00706906 0 -0.00228186 0 0 -0.0529872 0.0127247 -0.231101 0.0245751 0 0 0.108363 0.0104319 -0.0284641 -0.364734 -0.750515 0 -0.246528 0.00678604 0.308025 0 0 0 0.469033 0 0.0280144 0.96274 0 0.00227203 0.0578345 0.247158 0 8.66455e-05 0.00871023 -0.0113325 0.549714 0 0.245256 0.121684 0.108231 0.0260315 -0.244397 -0.118263 0.197549 0.13682 0.331584 -0.0267475 0.0546604 -0.580945 -0.00512404 -0.0985139 0.0296 0.0221333 0.0329207 -0.104817 0.43804 -0.68827 -0.114957 0.0270742 -0.359356 0.0208354 0.320504 0.151671 0.186888 -0.00405325 5.39866 -0.280286 -1.32404 1.0248 0.00414128 0.265655 -0.550792 -0.0567885 -0.00266454 0.0167308 -0.0366004 1.15806 0.0474885 0.019589 2.50945 1.48291 0.00611637 -0.0188745 0.115823 -0.0710651 0.328186 0.385899 1.29027 0.369112 -0.072272 1.47209 -0.0210309 0.158181 0.393102 -0.299248 0.629218 -0.0604103 0.12289 0.811113 0.0249937 -0.454891 3.12977 0.048413 -0.468897 0.0307944 0.103886 0.275025 0.233834 0.0697677 0.0604296 0.0503147 -0.105002 -0.439584 5.39621 2.61618 -1.33056 1.05576 -0.311202 -0.53486 0.482906 -0.186313 -0.140544 0.351074 0.13334 0.0679342 -0.417517 0.707746 -1.58255 0 +380 0 1.16417 0.332912 0.16182 0.408542 -0.422139 -0.274573 1.47875 4.09854 0.1687 -3.44873 0.458521 -0.744203 -0.0481691 -0.180239 0.0586629 -0.182753 2.34904 -0.574031 0.00504501 -0.69793 -0.102149 -0.261527 0.0271021 -0.773714 0.802211 -0.317345 -0.0865096 0.371629 -0.166798 -0.263702 0.0975463 0.616282 -1.40424 0.328481 0.364521 0.104589 -0.0817753 -6.96033 1.03316 -0.710072 -0.212868 1.69016 0.259071 -1.39434 -0.774748 -0.451123 0.255653 0.759912 -0.282136 0.982509 -1.39724 -2.02264 -0.3716 0.264592 -0.289645 1.31035 0.181399 0.234999 0.810575 0.156048 -1.56069 -0.155004 0.87304 -2.51996 -0.396072 -0.196173 1.589 0.0625319 0.348199 0.653745 -0.325023 0.761988 -0.00827988 -0.156611 -0.350153 -1.46515 18.6336 9.42675 -7.82189 7.75778 -7.0127 10.4208 4.40011 -4.34495 5.80478 -7.55432 1.60908 -1.96824 1.73963 -2.28166 0.674479 0 0 0 0 0 0.16182 0.408542 0.00992717 0 0 0 0 0.00176903 0 0.00491752 0 0 -0.00159135 -0.0108395 -0.0219404 0 -0.0015164 -0.0754342 0.0396465 0 0 -0.414827 -0.000399417 0 -0.166643 -0.189371 0 0 -0.0439355 -0.140005 0 -0.494454 0 -0.0857837 0 0 -0.0083458 0 0 -1.56395 0.0350848 -0.0410297 0 0.194572 0.128665 0 0 -0.468198 0 0.0054471 -0.120705 0.0215158 0 0 0.00365756 -0.0264189 0 -0.00943897 -0.010553 -0.0471418 -1.13715 0.0722348 0.0256869 0 0.0389546 -0.133419 -0.00127089 -0.0431741 -0.296302 0 0 0 10.077 0.472034 0.491321 0.0470353 -0.104996 1.39454 0.00190216 -0.00450822 0.0556925 0.029419 0 0 0 0 0 0 -0.422139 0 -0.274573 0 0 0 0 0.0580865 2.98724 0 0 -0.889632 0 -0.102908 0 0.117364 0 0 -0.403077 0 -0.0262023 0.085076 -0.194735 -0.0269286 0 0 1.03345 0 8.51519 0 -2.22163 0.00772093 0 0.724267 -0.477459 -0.0255968 0 0.00689134 0 0 0.343413 0 1.61204 -1.26489 0 0 -0.112581 0 0 -0.24642 2.6256 0.438281 0 1.20213 0 -1.51849 0.74304 -0.660584 0.629566 0.195482 -0.030055 1.30198 -0.317612 -2.18283 -6.11994 -0.17413 0 0 0 0.466524 0.246049 0 0 0 0 -0.658295 10.0942 4.8357 -4.40466 1.55079 -1.5561 2.03738 0.495813 -0.506699 0.67927 -0.524674 0 0 0 0 0 0 +381 0 -0.236756 0.26014 -0.00282511 0.0462871 -0.292072 -0.0715095 0.313024 1.98074 -0.0344535 -0.451214 -0.0599382 -0.312161 0.00512252 -0.396482 0.0222454 0.708655 1.33483 -0.0798315 0.0628648 -0.561373 0.0194587 -0.355444 -0.00937265 0.0261706 0.258006 0.309987 -0.0277891 0.018507 0.114 -0.241706 -0.0255328 0.129592 -0.488269 -0.240763 -0.0461922 -0.012698 0.132098 -0.124027 -0.176789 -0.379294 0.0173423 -0.573283 -0.0156173 -0.505541 0.0539785 -0.200083 -0.0757325 0.218067 0.058533 0.414828 0.0259444 0.849833 0.0982696 -0.0531015 -0.134439 1.48309 -0.052507 -0.558447 -0.0251642 -0.0402628 -1.10002 1.61801 2.19596 -0.167196 -0.679779 0.125616 -0.353358 0.0572601 0.0802588 1.10414 -0.482014 0.025265 -0.622886 1.28553 0.582815 -0.330182 -0.565717 2.06701 -6.85438 -0.217013 -0.349199 0.479458 0.169114 -0.197335 0.860416 -2.83741 -0.112108 0.245969 -0.227519 0.489187 -0.46098 0 0 0 0 0 -0.00282511 0.0462871 -0.000661656 0 0 0 0 0.000416413 0 0.0407321 0 0 0.000483343 0.00775626 0.0677138 0 0.0107047 0.237862 0.249231 0 0 0.176452 0.00042834 0 0.0766872 2.53341 0 0 0.034363 0.821511 0 0.306351 0 0.0415648 0 0 0.00810645 0 0 0.990788 0.00860653 0.00705641 0 -0.00839089 0.108557 0 0 -0.0203845 0 0.0062879 0.60009 -0.0174545 0 0 0.00188503 0.00765298 0 -0.000167748 0.141837 0.000375328 0.265983 0.0886652 0.012845 0 -0.0269253 -0.138424 0.561998 -0.0972282 -0.312987 0 0 0 -5.60266 -0.12964 -1.16516 -0.0247223 0.0532533 -0.739498 0.000253544 -0.000899217 0.0101219 -0.29539 0 0 0 0 0 0 -0.292072 0 -0.0715095 0 0 0 0 0.285156 -0.489583 0 0 -0.189726 0 -0.00419192 0 -0.0164808 0 0 0.180109 0 -0.542505 0.104082 0.0338349 0.0378864 0 0 -0.0815993 0 -0.340921 0 0.0577134 -0.328604 0 1.19776 -0.485861 0.0125952 0 0.00818638 0 0 -0.068753 0 -0.164153 0.358854 0 0 0.0865676 0 0 -0.0420185 1.82174 0.38061 0 -0.580134 0 -0.984322 -0.0750137 -0.123661 -0.338922 -0.12563 0.523741 0.663023 0.0217371 -0.173115 -5.59886 0.106607 0 0 0 -0.116355 -0.0434795 0 0 0 0 0.285933 -0.242972 1.73328 -4.47089 0.661544 -0.638142 0.533941 0.083659 -0.106187 0.159382 -0.753324 0 0 0 0 0 0 +382 0 0.327854 -0.359101 -0.0132705 -0.0371744 0.0875353 -0.277088 0.500723 0.946955 -0.0326879 -0.675537 -0.817483 -0.479355 0.00411286 -0.482592 -0.103348 -0.134785 -0.179237 -0.0877956 -0.237289 1.28716 -0.0463602 0.579232 -0.00270361 -0.188381 0.460947 -0.260679 -0.0097919 0.813823 2.99294 -0.239944 -0.0107312 -0.693968 0.991993 -0.0974246 0.387432 -0.131177 -0.145526 0.902211 -1.10525 -0.361418 0.0164865 -1.09852 -0.181072 -1.17677 0.0471999 -0.660315 1.65498 -1.58461 0.405839 -0.412089 0.925924 -0.487953 -0.0165956 -0.746359 1.03653 1.07663 0.444764 0.52361 0.222029 -0.0136827 -0.0117679 -0.456272 -0.0113277 0.80168 0.444124 -0.653235 -0.168149 -0.12057 -0.0221096 0.615112 -0.0957254 -0.669458 -0.424045 -0.030615 -2.03805 -0.77611 -3.52127 0.250198 -0.944211 -1.23548 2.6735 -6.43346 0.828573 0.740862 -2.4874 2.32113 -0.0980296 1.20229 -3.20345 5.69348 -12.1025 0 0 0 0 0 -0.0132705 -0.0371744 -0.00140709 0 0 0 0 -0.000218231 0 -0.0227524 0 0 -7.72897e-05 0.000689175 -0.017115 0 -0.00323019 -0.0207647 -0.12665 0 0 -0.0841596 2.3296e-05 0 0.0675116 -0.32716 0 0 -0.00796291 -0.0910777 0 0.232756 0 -0.0120913 0 0 -0.00103111 0 0 0.453943 -0.00422499 -0.000615788 0 -0.0274763 0.00745056 0 0 -0.0302067 0 -0.000326931 -0.402173 0.00591358 0 0 -0.000438698 0.00364606 0 0.00489759 0.10578 -0.00444092 -2.36912 -0.0128041 -0.0368167 0 -0.0426305 0.0938781 -0.264353 -0.0865019 0.0283962 0 0 0 -2.82136 -0.0897702 0.294708 -0.0116874 0.0270377 -0.383921 -0.000103537 0.000302709 -0.00342871 0.108662 0 0 0 0 0 0 0.0875353 0 -0.277088 0 0 0 0 -0.468793 -1.18732 0 0 0.315704 0 0.043756 0 -0.0642453 0 0 0.191922 0 0.66567 0.0136314 0.437803 0.013566 0 0 -0.570232 0 -1.82394 0 1.06141 -0.440836 0 -0.0668232 0.911602 0.0555992 0 -0.0508698 0 0 -0.130301 0 -0.757262 0.125497 0 0 0.0079364 0 0 -0.0947043 0.269019 -0.443091 0 -0.878958 0 1.39358 -0.418261 0.461196 -0.299232 -0.0615681 0.247021 -0.823536 0.176886 0.794366 0.660889 0.0444912 0 0 0 -0.0810388 -0.080419 0 0 0 0 0.138067 -1.18771 -1.75404 2.07766 -0.754932 0.81575 -1.1862 -0.211982 0.193881 -0.22561 0.044295 0 0 0 0 0 0 +383 0 0.563238 0.451753 0.0913894 0.301953 -0.352286 -0.140437 1.2454 3.82515 0.285608 -2.77713 0.483494 -0.284906 -0.0196982 -0.390908 -0.0150882 1.27821 4.78564 -0.456951 -0.0635776 -2.20412 0.0062902 -0.356484 0.0152424 -0.36545 0.70795 0.398967 0.0693953 -0.127793 -1.29936 -0.203229 0.0811058 -0.0143922 -1.40467 0.0321579 0.194558 0.0681105 0.418575 -6.60688 1.12407 -1.2131 -0.130256 0.996933 0.180785 -1.15095 -0.818804 -0.673211 -0.508638 -0.187268 -0.541123 -0.0112364 -1.47797 -3.13124 0.165019 -0.4962 0.352705 0.977595 -0.0554436 -0.954111 0.667228 0.287097 -2.97667 4.01187 0.872695 -1.73912 -0.228671 0.887454 1.07038 0.272385 -0.00345327 0.999276 -1.40702 0.772968 -0.520634 0.0108536 -0.525702 -1.1234 18.4231 7.86073 -7.3577 6.10724 -6.23605 11.185 2.42708 -2.88939 5.08032 -5.74067 0.869084 -1.04829 1.67848 -2.07446 3.13859 0 0 0 0 0 0.0913894 0.301953 0.00439105 0 0 0 0 0.000255313 0 0.0123413 0 0 -0.000387102 0.000836818 0.00917482 0 0.00332418 0.0406546 0.0878241 0 0 -0.164801 0.000118994 0 -0.0772897 0.212985 0 0 -0.0214119 0.168014 0 -0.278109 0 0.00939439 0 0 0.00204705 0 0 -1.10373 0.00416482 -0.0148894 0 0.0752635 0.0941096 0 0 -0.315587 0 0.00720104 0.00646364 0.00197967 0 0 0.0027988 -0.00812465 0 -0.00632144 0.0253824 -0.0284166 0.722811 0.0390063 0.0240165 0 0.0201879 -0.0974451 0.337888 -0.0208206 -0.20901 0 0 0 7.36031 0.316738 0.219427 0.0405242 -0.0857539 1.03884 0.000995878 -0.00280109 0.0359755 -0.0388292 0 0 0 0 0 0 -0.352286 0 -0.140437 0 0 0 0 0.498032 0.925001 0 0 -1.15216 0 -0.134108 0 0.00346717 0 0 0.0312959 0 -0.517759 0.137627 -0.551529 0.014393 0 0 0.143205 0 8.52727 0 -2.67587 0.293807 0 1.20362 -1.16454 -0.0698541 0 0.0631194 0 0 0.0759329 0 1.96221 -0.123703 0 0 0.0094125 0 0 0.0407691 3.49941 0.448865 0 0.454843 0 -1.35091 0.188882 -0.374888 0.964963 0.218383 -0.417453 0.742508 -0.299827 -1.7248 -1.27955 -0.228036 0 0 0 0.115089 0.284196 0 0 0 0 -0.376222 12.0064 6.05004 -6.41656 1.83441 -1.84806 2.33999 0.674381 -0.672591 0.873325 -0.841297 0 0 0 0 0 0 +384 0 -0.38075 -0.182252 0.00379691 -0.0137118 -0.215169 -0.249282 0.589902 1.38431 0.118145 0.259652 0.0379768 0.131253 -0.00193004 0.720727 -0.00661318 0.549549 2.11357 0.152542 -0.0366435 1.88855 0.0478186 0.282045 0.00533246 0.102448 0.430181 -0.0330404 0.161936 0.705503 1.66513 -0.0433118 0.0266145 0.114994 0.623288 0.490809 0.320954 0.00617484 0.68815 2.13015 -0.126934 0.0986759 -0.000865959 1.54327 0.00045036 1.74823 0.105416 -0.381596 0.988463 0.0390846 0.0184103 -0.177164 0.567017 0.0958176 0.14338 0.0757183 -0.00917075 0.980351 0.303205 0.560797 -0.160774 -0.00880262 -0.190572 -2.66379 1.29486 0.838895 -0.0145549 -0.749393 0.146007 0.703621 -0.092746 0.604927 0.28846 0.131896 -0.170473 -0.543199 -1.12866 0.143949 -7.09211 -2.37556 -2.15004 -3.62582 2.30994 -5.21681 -1.05056 0.602085 -1.44294 -1.66723 -0.111889 0.125523 -1.01101 1.07197 -4.02211 0 0 0 0 0 0.00379691 -0.0137118 -0.00508202 0 0 0 0 -0.000730081 0 0.0129572 0 0 0.000678054 0.00510391 0.00561854 0 0.00179944 0.0558439 0.051869 0 0 0.218159 0.000243223 0 0.0550983 0.851225 0 0 0.0323151 0.244504 0 0.294046 0 0.0375707 0 0 0.00534473 0 0 1.18498 -0.0143904 0.0176671 0 -0.0973636 0.0121974 0 0 0.105137 0 0.00129533 0.138891 -0.0140601 0 0 0.00118435 0.0174647 0 0.000307747 0.0724454 0.0123133 -0.370458 0.0144103 -0.0132042 0 -0.0322136 0.0371932 0.222985 -0.070028 -0.0128521 0 0 0 -6.83601 -0.240014 -0.508507 -0.0314961 0.0672775 -0.909374 -3.51785e-05 0.000532827 -0.0144132 -0.0930225 0 0 0 0 0 0 -0.215169 0 -0.249282 0 0 0 0 -0.0381054 0.223991 0 0 -0.167977 0 -0.0235052 0 0.0329193 0 0 -0.208831 0 0.522753 0.0625019 0.0397908 -0.00911081 0 0 0.287579 0 -0.729086 0 0.552311 -0.516172 0 0.56674 0.511718 0.00143246 0 0.0115631 0 0 0.0238828 0 -0.324338 -0.341981 0 0 0.00117339 0 0 0.024459 0.0816193 -0.0447645 0 -0.319364 0 -0.521092 -0.0510745 0.0569592 0.0921434 -0.0438872 -0.0766131 0.376002 0.000900456 -0.511133 -7.74513 0.0356597 0 0 0 -0.0669367 0.0172975 0 0 0 0 0.119661 -3.77008 0.257979 -1.32388 -0.093462 0.148572 -0.299783 0.0811695 -0.0803181 0.112792 -0.373082 0 0 0 0 0 0 +385 0 -0.0453675 0.346948 0.0400996 0.176903 -0.106441 0.073112 0.384469 1.30512 0.331267 -1.03741 0.284776 0.572341 -0.00739998 1.07969 0.0120788 1.18764 4.12008 -0.1494 0.0204581 3.69817 -0.0242984 -0.459678 0.0069603 -0.283315 0.0892825 0.493085 -0.0852395 -0.182243 -1.07389 0.247445 0.0471272 0.147314 -0.701699 -0.145935 -0.119156 0.0413545 -0.374545 -1.0303 0.454806 2.15527 -0.0414575 0.152204 0.081055 1.17172 -0.183596 1.05841 -0.526263 0.269264 -0.201996 -0.15436 -0.568475 3.79899 0.367038 -0.0823277 0.110783 2.99788 1.34314 0.656021 0.339287 0.0969799 -0.542479 -5.4141 1.40761 -0.246812 0.276703 0.749818 0.197154 -0.55502 -0.058749 0.506123 -0.40829 0.326602 -0.0603846 -0.000346586 0.477699 0.382098 2.58592 2.03089 -2.97311 1.38981 -1.33103 1.92527 1.01599 -0.844803 1.66143 -2.07659 0.19487 -0.342658 0.791652 -1.14176 2.59397 0 0 0 0 0 0.0400996 0.176903 0.000414812 0 0 0 0 3.68259e-05 0 -0.00751367 0 0 2.50569e-05 0.000826252 -0.0067419 0 0.000133618 0.0239071 -0.0905992 0 0 -0.0764503 7.21465e-05 0 -0.0159322 0.297472 0 0 -4.61436e-05 0.0635682 0 -0.026266 0 -0.000242317 0 0 0.00136517 0 0 -0.150125 0.000658158 -0.00259268 0 0.0107016 0.060876 0 0 -0.0985425 0 0.000403993 -0.0277532 0.00998952 0 0 0.00131654 -0.000398356 0 -0.00618111 0.111895 -0.0197876 -1.31287 0.0228949 -0.00610913 0 -0.025996 -0.0218131 -0.0716192 -0.0313363 -0.0475549 0 0 0 2.43735 0.130773 0.490163 0.00781535 -0.026736 0.390133 0.000359427 -0.00105914 0.0134143 0.077978 0 0 0 0 0 0 -0.106441 0 0.073112 0 0 0 0 0.501986 1.00905 0 0 -0.474454 0 -0.0440946 0 0.0261991 0 0 0.232388 0 -0.612735 0.143155 -0.198687 0.0482329 0 0 0.271343 0 4.7744 0 0.287721 -0.0708238 0 1.13448 -0.502446 -0.0184913 0 0.0492984 0 0 0.10319 0 0.577421 0.397222 0 0 0.100076 0 0 -0.196378 3.43764 0.357724 0 1.20523 0 -0.380423 0.0416746 -0.0708869 0.412171 0.0548915 0.224957 0.702993 0.0856275 0.332245 3.89101 -0.0845044 0 0 0 0.225623 0.0872755 0 0 0 0 0.150732 2.88008 2.46193 -4.1529 0.642893 -0.650171 0.518472 0.280038 -0.25919 0.307875 -0.733596 0 0 0 0 0 0 +386 0 0 0 0 0 0.42378 0.0658383 -0.427247 -2.18886 0 0 -0.00360667 -0.840843 0 -2.21209 0.00566614 0 0 0 0.093656 -4.74042 0 0 0 0 -0.371617 0 0 0.051755 -1.42351 -0.493509 0 0.0430673 0 0 -0.115732 -0.000452676 0 0 0.221534 -1.87547 0 0 0.069768 -3.23214 0 -0.657082 0.0821479 0.440879 -0.0683808 -0.924773 -0.373388 0 0.0202708 0.0757625 0.0719034 1.23 0.0504637 0.00801834 0 0 0.57689 3.16951 0 -0.74767 -0.0482539 -0.523814 0 0 0 0 -0.188489 -0.0470642 0 3.60778 -1.90635 0 0 0 3.67271 0 -0.841971 4.15823 0 -0.234271 0.256415 3.45226 0 -0.198727 -0.00310376 -0.260453 1.80861 0 0 0 -0.00231077 0.0010212 0 0 0 -0.0138508 -0.00276171 0 -0.000888751 0 -0.000259814 0.000583759 0 0 0 0 -0.0231178 0 -0.000467743 0 -0.0037888 0 -0.158239 -0.0250431 0 0.000409378 0 0 0.0278181 -0.000379756 -0.000867237 0 -0.000294339 0 -0.000302479 0.0131619 0.00543768 -0.00560728 0.000596494 0 -1.79928e-05 0 0 0 -2.22045e-05 0 0 0.000391057 0.000326071 0.0706999 0.00277101 0 0 7.57924e-05 0 0.000655832 0 0 -0.00806852 0.00278158 -0.00433261 -0.00233598 0 0 0.0124146 0.00881008 -0.000914974 0.00908473 -0.00556186 0 -0.0305204 -0.00305662 -0.0260098 0 0 0 0.0457371 0 0.00598563 -0.0161556 0 -6.57197e-05 0.00023849 0.00290719 0 0.000368528 -0.00120852 0.0023982 -0.00769827 0 0.42378 -0.00231077 0.0658383 0.0010212 0.354033 0.0264273 0.016882 -0.894409 -0.25493 -0.00042895 0.0110583 0.0364754 -2.39817e-05 0.0023932 0.000691053 -0.00357829 0.019956 -0.00556908 0.967419 0.492108 -0.110456 -0.448153 0.01032 0.109601 0.0487376 -0.205761 -0.076655 -0.013689 5.13567 -0.013277 -0.257825 0.573169 2.76199e-05 -2.22035 -0.494922 0.00100414 -0.00199847 -0.146251 -0.00847832 -1.09331 -0.011285 -0.0325085 1.69552 2.19384 0.00289412 -0.00709475 0.157241 -0.0184209 -0.113461 -0.0567929 0.221705 0.390538 0.0306164 0.921596 -0.00175111 1.14287 -0.024593 0.0743846 -0.0159853 0.968444 1.08934 -0.158809 -0.278532 -0.0141516 1.59297 -0.154829 0.689818 -0.0197627 0.365578 0.121189 -0.00641481 -0.0453099 0.00133422 -0.0507026 0.00611633 0.0127512 0.626783 -0.0577646 7.25854 0.0205371 -0.212336 5.40936 -0.00223782 0.0357259 -0.0599322 2.99386 0.000594772 0.0841745 -0.115464 0.083323 1.41038 0 +387 0 0 0 0 0 -0.639353 -0.0542718 1.01793 3.12517 0 0 0.117598 -0.192853 0 0.195654 0.0288095 0 0 0 0.13529 -2.20487 0 0 0 0 0.341924 0 0 -0.454558 0.736069 -0.00725465 0 0.108909 0 0 0.120257 0.0178635 0 0 0.54647 -1.00885 0 0 0.101548 0.0421407 0 -0.338299 -0.49295 0.574549 -0.262227 0.176957 -0.232407 0 -0.172712 0.30492 -0.273457 4.47168 -0.233371 0.0921276 0 0 -2.04866 3.87535 0 0.518169 0.375185 -0.898722 0 0 0 0 -0.0758976 0.678518 0 2.55831 0.535503 0 0 0 -3.38913 0 -0.344441 -1.05257 0 -0.0857954 1.0995 -6.45733 0 -0.500336 1.91197 -3.72823 1.65395 0 0 0 -0.0355219 -0.00441864 0 0 0 -0.00374963 0.00427116 0 -0.000163841 0 -0.000220165 -0.0053271 0 0 0 0 -0.0213331 0 -0.0016602 0 -0.0722145 0 -0.0648109 0.00702237 0 3.77745e-05 0 0 0.0275555 -0.000654354 0.000924393 0 0.000993541 0 0.000306316 -0.0113238 0.00234202 -0.00909068 -0.000848089 0 -1.56735e-05 0 0 0 6.92249e-05 0 0 0.000157702 0.00266711 -0.0154844 0.00128454 0 0 -0.00220777 0 0.00120012 0 0 0.0115761 -0.00412684 -0.00561482 -0.0109598 0 0 -0.00534134 -0.00437613 0.0106133 0.00929117 0.0263601 0 -0.00985724 0.00113296 -0.0640493 0 0 0 0.0223045 0 0.00359421 -0.012889 0 -0.000624355 -0.000991169 0.0153324 0 0.000536786 -0.000580169 0.00236087 -0.00806054 0 -0.639353 -0.0355219 -0.0542718 -0.00441864 -0.317005 -0.0456836 -0.0364083 0.358159 -0.0621678 0.00186896 0.0331654 -0.133905 0.000106274 -0.00667637 -0.0024206 -0.00365312 0.0437524 0.0253152 0.117889 0.179204 -0.0303208 0.307361 -0.0630566 -0.0164861 0.223983 0.0027776 -0.0473557 0.00360773 6.08617 0.167447 -2.06018 1.01831 -0.000137215 1.56527 -0.338847 -0.00570459 0.00755574 0.073671 0.0408547 0.466668 -0.00219588 -0.0149752 2.51949 0.416098 0.00744869 0.0323808 0.0273813 0.0360901 -0.0463109 0.544508 -0.0747463 -0.279244 -0.0617583 1.44228 0.00452663 -0.130702 -0.00191249 0.121791 -0.107994 0.0657896 -0.321021 -0.263757 -0.416464 -0.149358 4.43992 -0.19677 0.106274 0.0347295 0.0760078 -0.145829 0.0159739 -0.154153 -0.00426019 0.21024 -0.0130746 -0.00101593 5.00836 0.0554652 -3.09381 0.0792412 -1.15301 1.67491 0.0084689 -0.427484 1.11642 -1.62872 -0.00270363 -0.161689 0.349034 -0.301808 -0.31835 0 +388 0 0 0 0 0 -0.507853 0.357037 -0.412276 0.323609 0 0 -0.0839683 2.05356 0 3.33305 0.0333829 0 0 0 0.377576 5.97674 0 0 0 0 -0.338681 0 0 -0.503918 -3.41143e-05 0.993259 0 0.0852634 0 0 -0.341883 -0.025724 0 0 0.428267 2.75195 0 0 0.025462 7.73829 0 1.54313 -0.37997 1.11398 -0.0979258 0.933536 -0.0601843 0 -0.583456 0.454903 -0.318143 -3.6021 -0.759015 -0.270833 0 0 0.626614 -1.84805 0 1.03338 0.397845 0.61473 0 0 0 0 0.192358 0.338507 0 -3.37662 1.18696 0 0 0 -0.24283 0 -1.0227 2.39381 0 0.00636353 -0.32361 2.20922 0 0.0161099 0.121586 -0.579027 1.70999 0 0 0 -0.314413 -0.0179613 0 0 0 -0.000261571 0.0797669 0 0.000380121 0 0.00176325 -0.00831301 0 0 0 0 -0.0221699 0 -0.00221034 0 -0.0863912 0 -0.0791108 0.17609 0 -0.00154569 0 0 -0.17514 0.00228631 0.00849033 0 0.00448355 0 0.00558549 0.0365986 -0.0198935 0.0326292 0.000955789 0 0.000123359 0 0 0 0.000316641 0 0 -4.65772e-05 0.00397601 0.00865452 -0.0161101 0 0 -0.00642854 0 -0.0135528 0 0 0.0225176 0.000861817 0.0181107 0.00732669 0 0 -0.0422611 -0.026728 -0.0304503 -0.0231219 -0.181175 0 0.0293448 0.0131145 0.040225 0 0 0 0.14578 0 -0.0175705 0.10254 0 0.0015391 -0.00475278 -0.00120445 0 -0.00185277 0.008922 -0.016406 0.0476959 0 -0.507853 -0.314413 0.357037 -0.0179613 0.1771 0.0328587 -0.160999 0.414581 -0.380316 0.00839207 0.0768755 -0.324873 0.000392878 -0.0120377 -0.0084956 -0.012541 0.0517578 0.171495 1.52902 0.141289 0.371495 -0.0395102 -0.32381 0.226804 0.548994 0.0480427 -0.361845 0.00669798 6.92624 0.0472722 0.339163 1.63019 -0.000428079 0.580838 0.776772 -0.0177348 -0.00244746 -0.0275073 0.00585175 0.210288 -0.00373776 0.0129235 3.47376 2.99431 0.00682824 0.000614927 0.469545 0.0262408 0.35143 -0.292835 0.739722 -0.593027 -0.110146 -0.940746 0.0199165 0.343079 -0.0106957 0.283272 0.0327731 -0.0824507 -0.252289 0.16975 -0.0228133 -0.0356599 -5.48196 0.151133 -0.923664 0.241433 -0.176574 0.076966 0.036115 -0.0221157 -0.0247089 0.198053 -0.0721297 0.0133705 -0.824517 0.412553 -3.26741 -0.226567 -0.470256 -0.242282 0.0262799 0.000269113 -0.365149 0.132208 -0.0183155 0.023237 -0.218446 0.00267191 0.100598 0 +389 0 1.03088 0.366746 -5.47668e-05 -0.0126231 0.372427 0.216298 -0.816297 -1.99783 0.000281659 0.0316346 -0.0193566 0.813813 -1.4952e-08 0.240896 0.000308618 1.16287 2.85986 -0.0361816 0.000257863 -0.340499 -0.00616851 -0.426488 9.94914e-08 0.00167803 -0.462129 0.603454 -0.00381362 -0.624119 -1.5512 0.33069 6.26532e-06 0.0271337 -0.921865 -0.00830223 -0.270532 -0.000235383 -0.00961131 -4.19772 -0.031958 0.316591 1.03286e-06 0.05378 -0.000411876 1.60815 0.000363094 0.636628 -1.06213 0.0260038 0.000465847 -0.542869 0.0165201 1.1761 -0.000449564 0.000471694 0.0153088 1.32777 0.15466 -0.00771936 -0.0147659 -9.93511e-07 0.802049 -0.756408 -0.198558 -0.0905092 -0.00663124 0.427709 -0.0105167 0.0319776 -8.02333e-06 -0.334551 0.204118 0.0376862 0.0342715 -0.481187 0.576125 0.0274769 14.3825 -0.597178 7.81868 -0.00986213 -0.201255 7.60256 -0.0983065 0.136962 -0.242792 5.54858 -3.63593e-07 8.88073e-06 0.000159268 0.0847597 5.27526 0 0 0 0 0 -5.47668e-05 -0.0126231 2.4304e-05 0 0 0 0 -6.91799e-07 0 0.000706915 0 0 -0.000127185 -2.27798e-05 4.54842e-05 0 7.02504e-06 0.000163379 0.00400861 0 0 -0.00989626 -1.46998e-06 0 -4.26813e-05 0.0190629 0 0 -0.00150063 0.00852917 0 -0.00445234 0 -6.03094e-05 0 0 -1.27957e-05 0 0 -0.000206548 4.13928e-07 -0.00199771 0 0.00142994 0.00201116 0 0 0.00574432 0 0.000117378 0.0340885 0.000701999 0 0 0.000193188 4.52885e-05 0 -0.00102843 -0.010154 0.000205811 -0.0556647 0.00386103 0.000508145 0 0.000475698 0.000702982 -0.0266586 0.000134354 0.00806212 0 0 0 0.150641 0.015108 -0.000799411 -0.000928532 0.00281884 -0.000703686 0.000129714 -8.41306e-05 0.000220428 -0.000460788 0 0 0 0 0 0 0.372427 0 0.216298 0 0 0 0 -0.0769858 0.624833 0 0 0.239884 0 0.0125439 0 0.0132846 0 0 -0.979579 0 -0.94131 -0.108168 0.119434 -0.111144 0 0 0.234699 0 -1.70632 0 -3.33556 -0.476793 0 -0.642609 -1.20855 0.0036622 0 -0.0175966 0 0 0.0532114 0 -1.49402 -1.12633 0 0 -0.131115 0 0 -0.376835 1.43103 0.200745 0 -0.611367 0 0.383947 0.0639895 -0.0713777 -0.326214 0.0846741 0.855074 0.0211205 0.0224639 0.0511626 0.891542 0.0820912 0 0 0 0.0824584 -0.0808828 0 0 0 0 -0.0442313 20.8547 -1.27068 6.59142 0.26671 -0.361312 1.9176 -0.0355336 0.0263981 -0.0916645 0.465838 0 0 0 0 0 0 +390 0 -1.15928 -0.398829 -0.000400097 -0.0205301 -0.303412 -0.161994 -0.229411 -0.120258 -0.00149231 0.399485 0.0176459 -0.182139 2.37261e-07 0.0908012 -0.000182284 -0.981401 -3.56976 0.0537508 -2.51475e-05 -0.37941 0.00981824 0.256932 -2.90406e-07 0.0644998 0.119347 -0.283677 0.0160197 0.235342 -0.15045 0.0130632 -2.15373e-05 -0.0102872 0.833342 0.0968693 0.033661 0.00030028 0.1504 3.46699 0.0345943 -0.423235 1.82083e-05 0.750172 0.000624499 -0.528785 0.00125875 -0.339923 0.203232 -0.000897092 -0.000843073 1.61555 0.238682 8.45324 2.28776e-05 4.31969e-05 -0.0168312 1.03359 0.0823795 0.0167088 -0.180742 -1.86602e-05 0.444727 0.287238 0.0404889 -0.143493 -0.609413 -0.121265 0.38038 0.339569 1.67707e-05 -0.380479 0.264754 -0.0203875 -0.193524 0.496988 -0.161725 -0.0811613 -9.16219 -0.785573 -3.49232 -0.197963 0.15294 -4.44204 -0.434943 0.602003 -1.09466 0.890332 -1.26048e-06 -4.20049e-05 -0.00206503 -0.0558731 0.511643 0 0 0 0 0 -0.000400097 -0.0205301 0.000420339 0 0 0 0 7.43646e-06 0 -0.000223728 0 0 7.84496e-05 2.3617e-05 -6.81324e-05 0 -5.70599e-06 -2.38573e-05 -0.00338934 0 0 -0.015295 1.59362e-06 0 -0.000194682 0.00844121 0 0 -0.00105579 -0.00202733 0 -0.00485122 0 -0.000258614 0 0 -1.74562e-05 0 0 -0.029668 0.000103522 0.00123552 0 0.00574986 -0.00340928 0 0 -0.00702958 0 0.000905472 -0.00952596 -0.00122883 0 0 -0.000184774 -0.000698927 0 0.0021147 0.00219326 -9.42818e-05 0.0157117 -0.00238734 -0.00149032 0 0.00102565 0.000908357 0.008835 0.00192685 -0.00129122 0 0 0 -0.0354065 -0.0114457 0.00315763 0.00304373 -0.00447911 0.00406874 -9.51096e-05 6.41182e-05 -0.000130354 0.000407359 0 0 0 0 0 0 -0.303412 0 -0.161994 0 0 0 0 0.0432622 0.490054 0 0 0.221419 0 0.0350844 0 0.0130373 0 0 -0.102762 0 0.47613 -0.00880227 0.0278148 0.00262971 0 0 0.0711207 0 -7.91078 0 4.08505 -0.902744 0 0.300127 1.0255 0.0083645 0 -0.00259116 0 0 0.0719706 0 -2.51565 -1.00632 0 0 -0.0902857 0 0 -0.147945 0.402926 0.272569 0 0.533295 0 -0.372307 0.127272 -0.140386 -0.624008 -0.105541 0.448515 0.583601 0.128261 -0.239191 0.380212 0.187294 0 0 0 0.0974872 -0.138 0 0 0 0 -0.126012 -21.3569 -2.67969 -0.746717 -0.889296 0.641248 -1.5957 -0.172052 0.113217 -0.114423 -0.107862 0 0 0 0 0 0 +391 0 -1.04144 0.0588943 -0.00130095 -0.0954568 -0.0927468 -0.210362 0.921716 2.3055 -0.00414757 -0.536995 0.0364294 -0.369082 6.74283e-07 -0.562341 -6.25509e-05 1.57559 5.21357 -0.122589 0.00062132 -0.293329 -0.0213836 -0.0228722 -6.58414e-07 -0.151867 0.601312 0.415396 -0.00732033 0.341381 0.108625 -0.257874 -5.26746e-05 0.00777075 0.218821 0.00211979 0.266367 0.000609071 0.0219652 2.10318 0.0738133 -0.246749 5.83188e-05 0.304686 0.00129279 -1.45516 0.00491579 -0.308741 0.412616 0.0604797 -0.00207908 0.785898 -0.270055 -6.37236 -0.00120951 0.00135285 -0.000708944 -0.614067 -0.0230308 0.0172987 0.205945 -6.29001e-05 0.314489 -0.686281 2.31137 1.09956 0.0169038 -0.283201 0.619006 0.0667652 3.74984e-05 0.14472 0.0872333 -0.00795712 -0.0383412 0.272624 -0.159568 -0.19379 -6.66954 1.13368 -5.6233 1.06105 -1.26956 -0.742458 0.806579 -0.956182 1.2372 -3.61617 -4.92255e-06 -0.000133355 -0.0084131 -0.127641 -0.369409 0 0 0 0 0 -0.00130095 -0.0954568 0.00136777 0 0 0 0 1.89067e-05 0 -0.0012075 0 0 0.000293339 5.89529e-05 -0.000164846 0 -1.46959e-05 0.000211501 -0.011639 0 0 -0.044682 4.306e-06 0 -0.000718052 0.0670073 0 0 -0.00328362 0.010935 0 -0.0256497 0 -0.000650254 0 0 -4.56208e-05 0 0 -0.108758 0.000282327 0.00392846 0 0.0207967 -0.00166865 0 0 -0.0265522 0 0.00245499 0.0352085 -0.00124763 0 0 -0.000405403 -0.00254036 0 0.00489559 -0.00659132 0.000231366 -0.114867 0.00140856 -0.00505874 0 0.00362763 0.00226771 -0.0275509 -0.000677327 0.00938483 0 0 0 0.39921 0.00505566 0.0328879 0.00870623 -0.00733075 0.0120983 -0.000346179 0.000503934 -0.000538549 0.00151309 0 0 0 0 0 0 -0.0927468 0 -0.210362 0 0 0 0 0.0208906 0.777007 0 0 0.195264 0 -0.00342013 0 0.014222 0 0 -0.715323 0 -0.396098 0.0813286 0.00727483 -0.0802375 0 0 0.277966 0 -2.40511 0 1.01938 -0.377053 0 0.402126 -0.657419 -0.00615676 0 0.017134 0 0 0.0586144 0 -0.788911 -1.83653 0 0 -0.209071 0 0 -0.834169 0.278153 -0.101761 0 -1.10364 0 -0.903375 0.244685 -0.0967762 0.0754676 -0.108367 0.62228 0.691586 0.0838483 0.44108 1.96775 0.155095 0 0 0 0.267562 -0.0260579 0 0 0 0 -0.0814612 -18.5886 -1.52901 -3.02868 -0.586681 0.516667 -1.49634 0.0559272 -0.0525975 -0.0375907 -0.288037 0 0 0 0 0 0 +392 0 0.435763 -0.194955 -0.00012328 0.00768963 -0.107424 -0.136581 0.698094 -0.0110405 -0.0013247 0.341425 0.0270961 -0.605889 1.72613e-07 0.126752 -0.000119889 -1.43968 -2.95063 0.0904482 0.000133096 1.09721 0.0136157 0.261799 -2.38551e-07 0.0993508 0.0950617 -0.719296 0.00798535 0.597012 1.30451 -0.219896 -1.79806e-05 -0.000305693 -0.240737 0.0304892 0.28704 0.000320162 0.09737 -3.54254 0.0365838 0.0151173 1.20177e-05 0.255295 0.000484682 -0.617131 0.000793207 -0.390995 0.852877 0.0231994 -0.000768397 1.59245 0.190498 2.27379 -0.000211954 -0.000511076 -0.00852543 1.89699 -0.0408436 -0.00818287 -0.149063 -1.74888e-05 -2.69093 -0.257144 0.309331 1.51217 -0.0950473 -1.19207 -0.462134 0.0935403 2.18492e-05 -0.500342 0.0487683 -0.0272093 -0.105601 0.406054 -0.00540843 -0.331159 14.8825 -1.18588 4.74487 0.440013 -1.13623 2.70223 -0.14476 0.0686466 -0.483262 -0.140308 -1.02571e-06 -3.99622e-05 -0.00139571 -0.0522924 -1.81652 0 0 0 0 0 -0.00012328 0.00768963 0.00015538 0 0 0 0 3.27956e-06 0 0.000831048 0 0 1.63548e-05 7.85103e-06 1.30499e-06 0 4.42449e-07 3.23039e-05 0.00602351 0 0 -0.00676777 5.51079e-07 0 -0.000135206 0.049719 0 0 -0.00153438 0.00688283 0 -0.00694313 0 -9.54722e-05 0 0 -8.28095e-06 0 0 -0.0186223 4.6753e-05 0.000232128 0 0.00221844 -0.000913879 0 0 -0.00782133 0 0.000340778 -0.0132698 -0.000373703 0 0 -4.23126e-05 -0.000263095 0 0.000673 -0.000874544 3.80343e-06 -0.0375021 -0.000585994 0.00215 0 0.000332147 -0.000313304 -0.00489205 0.000615318 0.00218423 0 0 0 0.0306499 -0.00146477 -0.00327789 0.00116061 -0.00134738 0.00377781 -2.25696e-05 2.54118e-05 -2.77173e-05 -0.00284493 0 0 0 0 0 0 -0.107424 0 -0.136581 0 0 0 0 -0.183859 -0.538936 0 0 -0.311403 0 -0.025905 0 -0.0119814 0 0 0.517313 0 0.434593 -0.0851843 -0.115526 0.0363967 0 0 -0.230973 0 1.00095 0 -4.4497 0.11641 0 -0.480463 -0.714818 -0.00500514 0 -0.0299802 0 0 -0.0321998 0 0.77258 0.798653 0 0 0.0536137 0 0 0.525419 2.82938 0.326653 0 -0.345692 0 1.17339 -0.0962945 0.0402637 -0.273392 0.0659227 0.426448 -0.165226 -0.0643948 0.485973 -0.668006 -0.0869426 0 0 0 -0.148584 0.0283136 0 0 0 0 0.075268 35.6522 1.09883 7.37825 0.456481 -0.441518 2.73775 0.125928 -0.101499 0.102757 0.329644 0 0 0 0 0 0 +393 0 -1.00405 -0.281106 -0.000564715 -0.0300412 -0.197126 -0.0453378 -0.836388 -0.916037 -0.00194087 0.330202 0.00359255 -0.153758 4.53953e-07 -1.61774 5.23702e-05 -0.502335 -1.82327 0.0292255 0.000555989 1.59208 0.00202816 0.0368287 -5.81218e-07 0.0179658 -0.169656 -0.0781386 0.00414384 -0.0428382 -0.688971 -0.18265 -3.5006e-05 0.00247478 0.515297 0.0412648 -0.190015 0.000183327 0.0541715 3.56099 0.011159 0.732273 2.77631e-05 0.406307 0.000417683 -2.02377 0.00156209 0.351983 -0.221959 0.0228748 -0.000605618 -0.838226 0.203501 -0.976489 -0.000474223 0.000729136 0.00262809 -1.9959 0.22383 0.0332757 -0.0757262 -2.73802e-05 0.277945 -3.00675 -1.93526 -1.93094 -0.434184 -0.15352 0.231239 0.230035 2.85592e-05 -0.120624 0.240289 -0.000504841 -0.0897395 -0.748289 -0.29155 0.0815389 -9.2909 -0.387028 -2.52419 0.0324153 0.150884 -4.24938 -0.247436 0.488483 -0.913145 1.23648 -2.01997e-06 -3.9332e-05 -0.000642136 0.00639601 0.959389 0 0 0 0 0 -0.000564715 -0.0300412 0.000407683 0 0 0 0 9.4192e-06 0 -0.000807344 0 0 5.24708e-06 1.77025e-05 -7.60075e-05 0 -1.77843e-05 -0.000246511 -0.0040291 0 0 -0.00430963 1.2428e-06 0 -0.000258463 -0.00793919 0 0 0.00109713 -0.00886826 0 -0.00656327 0 -5.38736e-05 0 0 2.03797e-05 0 0 -0.0528971 0.000134334 7.2564e-05 0 0.00583851 -0.00411663 0 0 -0.0079132 0 0.00101723 -0.00300555 -0.00120534 0 0 -0.000112141 -0.000612655 0 0.00250634 -0.00528079 0.000137679 0.0199318 -0.00238511 -0.0036094 0 0.00303728 0.00175298 0.000527344 0.00241212 0.000681545 0 0 0 0.0807495 -0.0051873 0.0104318 0.00462636 -0.0053935 0.00589391 -2.97856e-05 2.78894e-05 -3.40138e-07 0.00120913 0 0 0 0 0 0 -0.197126 0 -0.0453378 0 0 0 0 0.0850888 0.427152 0 0 0.299572 0 0.035625 0 0.0133871 0 0 -0.580136 0 0.130958 -0.00833405 0.0906287 -0.101157 0 0 0.141377 0 -2.97064 0 5.71367 -0.366113 0 0.308023 1.31999 0.00841374 0 -0.00406713 0 0 0.0548238 0 -1.07475 -1.18161 0 0 -0.200347 0 0 -0.367764 -2.69229 0.238088 0 -1.22295 0 -0.879087 0.128634 -0.172802 -0.549139 -0.0726638 0.404177 0.289057 0.0771886 0.0940755 -3.93124 0.168271 0 0 0 0.113337 -0.103081 0 0 0 0 -0.084552 -26.3733 -2.67774 -1.08037 -0.925635 0.760247 -2.35005 -0.183795 0.136342 -0.156638 -0.0421412 0 0 0 0 0 0 +394 0 -1.01838 -0.143099 -0.00150383 -0.0831842 -0.185889 -0.20231 -0.0191326 0.480255 -0.00694655 -0.277569 0.0413815 -0.639561 1.28073e-06 -1.66119 8.75392e-07 -1.19754 -4.99669 -0.0447321 0.00158312 -3.20992 -0.00652972 -0.0643242 -1.63518e-06 -0.0958898 0.328643 -0.274379 0.00277024 0.309344 -0.981453 -0.363896 -0.000108151 0.00782404 0.0567406 0.0838992 0.136766 0.000730129 0.0613068 1.33538 0.0715874 -1.4679 8.67229e-05 0.528586 0.00138207 -3.56732 0.00570475 -0.7352 0.00880269 0.102591 -0.00252627 -1.66943 -0.030614 3.28908 -0.00153359 0.00155107 -0.000479603 1.00049 -0.111515 0.0545401 0.083413 -0.000101985 0.12339 1.40279 -0.95237 -1.59429 -0.0743177 -0.256252 0.558183 0.101425 0.000105874 0.239475 0.0498572 -0.0217903 -0.170743 1.76826 -0.716484 -0.482729 -6.34402 0.909889 -2.28769 0.778435 -0.211046 -0.908477 0.650492 -0.64908 0.615094 -1.01055 -7.37694e-06 -0.000163577 -0.00333735 -0.0296636 1.36667 0 0 0 0 0 -0.00150383 -0.0831842 0.00156581 0 0 0 0 2.49999e-05 0 -0.00382757 0 0 0.000492652 0.000108509 -0.000262217 0 -5.76947e-05 -0.000498044 -0.01722 0 0 0.00322788 7.60909e-06 0 -0.000700963 0.074453 0 0 0.00349733 -0.00655173 0 -0.0146591 0 5.15452e-05 0 0 7.43331e-05 0 0 -0.119497 0.000355843 0.00704093 0 0.0221819 -0.00402318 0 0 -0.0374526 0 0.00236124 -0.00958113 -0.00209662 0 0 -0.000520343 -0.00308922 0 0.00731158 -0.00220911 -0.000744024 -0.0662815 -0.00427297 -0.00645854 0 0.00697385 0.000780381 -0.00654601 -0.00187991 8.84073e-05 0 0 0 0.206694 -0.0190356 0.0352827 0.0117167 -0.0131368 0.0145708 -0.000512781 0.000620038 -0.000903639 0.00170782 0 0 0 0 0 0 -0.185889 0 -0.20231 0 0 0 0 0.148198 0.524114 0 0 0.156561 0 -0.00481871 0 0.00908092 0 0 -0.766552 0 -0.108996 0.0982314 0.0483378 -0.0725233 0 0 0.231952 0 -8.2909 0 2.92113 -1.09727 0 0.679752 0.286899 -0.000981147 0 0.0163505 0 0 0.0258287 0 -2.88451 -1.77576 0 0 -0.169618 0 0 -0.486078 -1.34611 -0.172566 0 0.720827 0 -1.32936 0.160814 -0.0721712 0.367373 -0.229106 -0.0634592 0.520599 0.117472 -0.147835 5.49432 0.158304 0 0 0 0.193475 -0.0200997 0 0 0 0 -0.0717347 -23.6791 -0.771564 -4.82104 -0.628017 0.51852 -1.71666 0.0557702 -0.0600169 -0.0405442 -0.333515 0 0 0 0 0 0 +395 0 0 0 0 0 -0.206969 0.138937 -0.502735 -0.96387 0 0 0.190686 0.973854 0 1.22732 0.035152 0 0 0 0.109323 3.64768 0 0 0 0 -0.239459 0 0 -0.278306 -3.82105 0.336074 0 0.241847 0 0 -0.0879463 0.0127807 0 0 0.817269 0.256681 0 0 0.15628 4.77613 0 -0.0666899 -1.10358 0.414551 -0.239789 0.99416 -0.340594 0 -0.149531 0.230963 -0.34508 -0.151509 -0.147591 -0.128798 0 0 -0.164433 2.93725 0 -0.54497 -0.288299 -0.162632 0 0 0 0 0.256452 0.354416 0 -0.0956857 1.4465 0 0 0 1.04452 0 -1.29509 4.47858 0 -0.337738 -1.04067 5.31546 0 -0.41962 -0.753433 0.0662634 6.85696 0 0 0 -0.209097 -0.020967 0 0 0 0.0577037 0.00514182 0 0.00721379 0 4.5702e-05 -0.00946209 0 0 0 0 -0.08845 0 -0.00910756 0 -0.0813314 0 0.437194 0.326393 0 0.00348991 0 0 0.260547 0.000261728 0.0320971 0 7.90896e-05 0 0.000198369 0.0607033 0.0307974 0.00406784 0.00605969 0 2.89394e-06 0 0 0 3.35668e-06 0 0 -0.000397272 -0.000318108 0.0441112 0.00136026 0 0 9.11161e-05 0 -0.000853807 0 0 1.97167e-05 0.00126217 0.191154 0.00224893 0 0 -0.0248713 0.0618904 0.00187871 0.20344 0.228399 0 -0.128055 0.000198261 0.17542 0 0 0 0.0738957 0 -0.00401141 -0.247648 0 0.000205712 -0.000503671 0.00121434 0 -0.000248114 0.000210154 -0.000800353 -0.216558 0 -0.206969 -0.209097 0.138937 -0.020967 0.503763 0.135864 -0.146173 0.0985813 -0.384482 0.0101163 0.00714261 -0.188398 0.000727123 -0.0230455 -0.0121883 -0.00306476 0.000275877 0.131935 -0.262531 0.82422 0.114321 -0.0180553 -0.124809 -0.000731524 0.0201345 -0.122621 0.0151456 -0.00308796 0.241781 0.0969145 -0.443921 0.680764 -0.00092047 -0.389496 0.0740027 -0.0125023 0.000469252 0.033289 0.0165361 -0.994354 -0.0381286 -0.011012 1.04026 0.731515 0.000359872 0.00668236 0.159848 0.0569386 -0.0535241 -0.951504 -2.32351 -0.192849 -0.00351447 -4.64502 0.0199572 -0.702524 -0.0792785 -0.13045 0.22636 -0.380993 -1.63547 -0.00473846 0.0880084 0.0254772 -12.4508 0.0793314 -0.00388385 0.0858503 0.101133 -0.146678 0.0490062 0.0260955 -0.0207039 0.0335031 -0.110664 0.0628377 3.95847 0.748009 0.26607 -0.564695 -0.0928531 2.4863 0.0373242 -0.0682229 -0.454532 1.46299 -0.013992 -0.0205516 -0.119125 -0.0678504 1.29465 0 +396 0 0 0 0 0 -0.102809 -0.178262 1.11301 2.6775 0 0 -0.125795 -0.663817 0 -1.99147 0.00482634 0 0 0 -0.00366031 -4.13782 0 0 0 0 0.542363 0 0 0.347348 5.97667 -0.444224 0 0.0170485 0 0 0.205816 -0.00461531 0 0 -0.367765 -1.07223 0 0 -0.00619684 -4.16025 0 -0.414405 1.81309 -0.133844 0.0187306 0.677573 0.209665 0 -0.0427482 -0.140423 0.394616 -1.79324 -0.252459 -0.0500321 0 0 1.31058 0.265076 0 1.216 -0.206152 0.470514 0 0 0 0 0.204831 0.177559 0 0.867552 -1.55371 0 0 0 -3.94574 0 0.560626 -8.69637 0 0.0962347 -0.586537 -5.22433 0 0.12233 -1.10351 2.75284 -15.7673 0 0 0 0.0235389 0.00177376 0 0 0 -0.0100551 -0.00153992 0 -0.00100186 0 -7.62842e-07 0.00367411 0 0 0 0 0.0134219 0 0.00101631 0 0.0589449 0 -0.10317 -0.117807 0 4.39336e-05 0 0 0.0121782 -1.97808e-05 -0.0076444 0 -1.53708e-05 0 -9.59066e-05 -0.0121751 0.00114027 -0.000334159 -0.000812032 0 -3.45715e-08 0 0 0 -9.1906e-07 0 0 2.53536e-05 -0.000116392 0.0201446 0.000422988 0 0 0.000115756 0 0.000190997 0 0 -3.31164e-05 -4.97975e-05 -0.0943459 -0.000130415 0 0 -0.00876596 -0.0267689 -0.000238547 -0.0401737 -0.0714869 0 0.0161005 -2.84494e-05 -0.0795019 0 0 0 -0.0489261 0 0.00101041 -0.00853148 0 8.33496e-05 0.000379663 -0.0268263 0 6.14811e-06 -7.39987e-06 0.000116541 -0.0114045 0 -0.102809 0.0235389 -0.178262 0.00177376 -0.310145 -0.156491 0.0123466 -0.332943 0.418933 -0.000773847 -0.0325729 0.236666 -5.87127e-05 0.0148568 0.00101056 0.0161349 -0.0232022 -0.00932445 0.394567 0.28146 -0.483588 0.228799 0.176768 0.0324381 -0.23007 0.379929 0.272563 0.0108551 3.08218 -0.187081 -1.59537 0.243882 7.59627e-05 0.296346 -0.946818 0.010641 -0.00258919 0.00301936 -0.0263611 1.94627 0.0256683 0.0682269 1.1917 1.16208 -0.00339293 -0.017052 0.204159 0.0662053 -0.167405 0.494577 2.9749 1.51044 0.0284389 3.02194 -0.0016254 1.5781 0.046371 -0.375301 0.223572 -0.0916117 1.37485 -0.246849 0.1249 0.351066 12.3775 0.163292 0.427511 -0.0731699 -0.259227 0.0337798 -0.0292386 0.0786462 0.00148857 -0.160771 0.103861 -0.0413267 14.2261 -1.38571 2.35947 0.12617 0.654559 -6.54984 -0.0144814 0.223557 -0.618035 -1.44059 0.000988883 0.0940454 -0.322462 0.668691 -2.86103 0 +397 0 0 0 0 0 -0.389912 -0.555887 0.574155 2.36299 0 0 -0.289972 -1.70821 0 -3.35029 -0.0127614 0 0 0 0.112484 -6.87111 0 0 0 0 0.516601 0 0 0.805633 4.95195 -0.861207 0 0.0175532 0 0 0.348999 -0.0378089 0 0 -0.846174 -2.55868 0 0 -0.234414 -6.9519 0 -1.24703 1.56647 0.665653 0.31254 -1.36167 0.0590486 0 -0.150549 -0.106157 0.237775 4.62277 -0.102403 -0.364743 0 0 0.554175 4.87928 0 0.957958 0.646136 0.433125 0 0 0 0 -0.00586437 -0.583081 0 5.12668 -0.784562 0 0 0 -3.55488 0 0.666793 -6.08201 0 0.434854 -1.43327 -2.3147 0 0.873054 -2.50985 5.14313 -16.4262 0 0 0 -0.0322727 0.00455319 0 0 0 -0.0198791 0.0205666 0 -0.00181603 0 -1.80868e-05 0.0029076 0 0 0 0 0.00379149 0 0.00175386 0 0.0296813 0 -0.195381 0.10679 0 -0.00044953 0 0 -0.0172241 -0.000222366 0.00168017 0 0.000259234 0 0.00113917 0.0333324 -0.000109214 -0.00245641 0.00150932 0 -1.89516e-06 0 0 0 1.40882e-05 0 0 0.00118767 0.000609755 0.0191506 -0.00336839 0 0 -0.000336939 0 -0.00295449 0 0 0.00209118 -0.00171852 -0.081727 -0.000601698 0 0 -0.00803298 -0.0240762 0.00448635 -0.0248338 -0.0969364 0 -0.000801563 -0.00183973 -0.0478395 0 0 0 -0.0393776 0 0.000184189 0.0124084 0 -0.00068264 4.99299e-05 -0.00696113 0 0.000451274 -0.00057513 0.000839242 0.0224615 0 -0.389912 -0.0322727 -0.555887 0.00455319 -0.377425 -0.128632 0.0494678 0.211547 -0.0575194 -0.00290361 0.0627307 0.0910335 -0.000197016 0.00102346 0.0037132 -0.009996 0.0408001 -0.0389589 -1.15543 -2.09716 -0.308081 0.27975 0.0502259 -0.157524 0.52027 0.287137 -0.18542 -0.0363429 -6.07726 -0.230572 -1.6264 -1.97728 0.000257545 1.29925 -0.717833 0.000652292 -0.0132871 0.0984963 -0.0891604 1.62357 -0.00191676 0.0445994 -4.22162 -2.30188 0.00337439 -0.04728 -0.345905 -0.276378 0.19052 1.2949 5.20248 0.556819 -0.143222 4.55663 -0.00793624 4.00264 0.00472428 0.40763 -0.409092 0.431185 0.3266 -0.547085 0.0086532 -0.155555 21.8215 -0.131694 -0.298455 -0.101313 -0.282121 -0.370728 0.00376137 0.0139169 0.00715006 0.0886324 0.20757 0.00857172 14.5027 -0.742832 -2.83935 0.259941 0.22485 -3.67057 -0.0128986 0.322965 -0.746681 -1.04008 0.00413169 0.320072 -0.793582 1.04687 -2.47773 0 +398 0 -0.409091 0.49951 -0.0265395 -0.250865 0.326582 0.23311 0.185582 -0.530555 -0.125737 0.606038 -0.147242 0.738132 0.00104024 0.189845 0.00558225 4.00916 13.3403 0.0485994 0.0141173 1.07198 -0.00385952 -0.328618 -0.00115176 0.0786258 -0.180055 1.2399 0.0229462 -0.229152 0.638769 0.166694 -0.0125187 -0.0196419 -0.500297 0.0278959 -0.0613897 -0.0129023 0.104844 -0.469679 -0.367751 0.913703 0.0128273 0.113738 -0.0351155 1.7729 0.150595 0.75047 0.0615642 -0.00279337 0.065282 0.0187918 0.11132 -8.10712 -0.0278313 -0.00698505 -0.0134095 -0.714436 0.0941808 -0.015375 -0.0626749 -0.0186633 -0.893777 -0.439352 -0.0108704 0.849487 -0.357137 0.457533 -0.237824 0.281723 0.00798588 -0.211414 -0.264578 -0.165467 -0.211973 1.10568 0.283322 -0.106539 0.664158 -2.57218 2.84027 -1.06638 0.785045 -0.244771 -0.258142 0.0218447 -0.248106 -0.0732743 -0.0234055 0.0693416 -0.203041 0.54751 -1.30135 0 0 0 0 0 -0.0265395 -0.250865 0.000887263 0 0 0 0 5.21642e-05 0 0.023469 0 0 0.000547564 0.000197889 0.0178699 0 0.00261524 0.0244172 0.158369 0 0 0.167565 1.09243e-05 0 -0.0219613 0.838902 0 0 0.0259767 0.150798 0 -0.102101 0 0.0219854 0 0 0.00324904 0 0 -0.066394 0.00105136 0.00904396 0 0.0187372 -0.0024894 0 0 -0.1299 0 -0.000292136 -0.13827 0.000375548 0 0 -0.000677016 -0.00275091 0 0.000541008 0.043003 0.00259346 0.38708 0.00194637 0.0330712 0 0.00172648 -0.0453257 0.0877927 0.0119654 0.141945 0 0 0 -0.0221421 -0.022763 -0.152753 -0.00147973 -7.67695e-05 0.0352676 -0.000520808 0.000542585 -0.00208314 -0.0641473 0 0 0 0 0 0 0.326582 0 0.23311 0 0 0 0 -0.537918 -0.163719 0 0 0.661965 0 0.0630593 0 -0.00289978 0 0 0.0981057 0 -1.18003 -0.169539 0.159949 0.00707869 0 0 -0.121553 0 0.994662 0 -2.60959 0.0934409 0 -1.3156 -1.85372 0.0140089 0 -0.0713357 0 0 -0.00120638 0 0.0171888 0.336177 0 0 0.0119451 0 0 0.147847 1.38281 0.467273 0 1.22375 0 1.00936 0.253681 -0.237342 -0.011202 0.0218155 -0.386729 -0.271674 0.0791939 0.41763 10.0198 -0.074878 0 0 0 -0.0179644 -0.0328035 0 0 0 0 0.032233 19.5768 -4.97924 11.0672 -0.796004 0.409125 1.55945 -0.262717 0.247205 -0.396748 0.887934 0 0 0 0 0 0 +399 0 -0.3779 -0.228949 0.00616345 0.0805893 -0.0949238 -0.0145801 0.0410366 0.733263 0.03079 -0.251581 0.147248 -0.382729 -0.000215113 -0.558595 0.00290564 -0.0186543 -4.21869 0.0156476 0.0042051 0.134799 -0.00307805 -0.156802 0.000236833 -0.02904 -0.081084 0.125991 0.00356435 -0.435372 -1.52674 -0.0968954 0.00269898 0.120709 0.292396 0.145162 -0.218778 0.00775258 -0.0637178 1.90119 0.223376 0.21629 -0.00253821 0.17308 0.0137294 -2.65501 -0.0296765 0.210047 -0.804425 0.175741 -0.0158951 -2.07869 0.0818861 -3.40954 0.035384 0.0262696 -0.070711 1.47003 0.121651 -0.129506 0.0616655 0.00279477 -0.550812 0.172651 1.17414 -0.339868 0.588418 -0.687523 -0.0833199 -0.251527 -0.000863839 0.593205 0.165971 0.0430316 0.0911152 0.365262 0.136996 -0.399276 -7.51836 -0.39074 -2.54705 -0.370132 -0.266394 0.507948 0.295063 -0.4061 0.639019 -1.2678 0.00461232 -0.0253915 0.148873 -0.640804 3.11039 0 0 0 0 0 0.00616345 0.0805893 -0.000450685 0 0 0 0 -1.79555e-05 0 -0.00454638 0 0 -0.000154719 -7.5928e-05 -0.00282214 0 -0.000397917 -0.00664539 -0.0290248 0 0 -0.09757 -4.46855e-06 0 0.00607181 -0.497484 0 0 -0.0133408 -0.0637943 0 0.0306421 0 -0.00833271 0 0 -0.00115505 0 0 0.111483 -0.000358108 -0.00261107 0 -0.00852986 -0.00192413 0 0 0.0353258 0 -0.000228174 0.0754393 0.000535544 0 0 0.000137071 0.00119746 0 -0.00115518 -0.0389705 0.00224919 -0.487338 -0.000618363 -0.0176833 0 -1.13564e-05 -0.00457901 -0.139325 -0.00670281 -0.0669 0 0 0 0.278368 0.0394653 0.075385 0.00267278 0.00256565 -0.058388 3.68516e-05 0.000318436 -0.00116435 0.00925112 0 0 0 0 0 0 -0.0949238 0 -0.0145801 0 0 0 0 0.468504 -0.150166 0 0 -0.418958 0 -0.0368979 0 -0.00716088 0 0 -0.734621 0 -0.149046 0.167161 -0.149517 -0.0918444 0 0 -0.0289347 0 -6.38946 0 1.18293 -0.330842 0 1.09456 0.248372 -0.0121333 0 0.0681652 0 0 -0.0216794 0 -1.63332 -1.93134 0 0 -0.256916 0 0 0.349972 1.16397 -0.576319 0 -0.399854 0 0.123518 -0.0974966 0.198958 0.124168 0.0436275 -0.440599 0.0494041 -0.131474 -0.276494 -1.94284 -0.0772594 0 0 0 -0.250645 0.108268 0 0 0 0 0.0933742 -4.95789 2.20276 -5.72324 0.0454336 -0.0646977 -0.337682 0.136648 -0.1746 0.345259 -0.806428 0 0 0 0 0 0 +400 0 -0.794587 -0.1544 0.00440279 -0.109567 0.0972266 0.134655 0.376573 0.96787 0.0814954 -0.725169 0.0781497 0.0687158 -0.00050007 0.155675 -0.0118201 0.360522 0.537022 -0.19114 -0.0156148 1.52087 -0.0413962 0.141423 0.000741664 -0.279329 0.0746662 0.159534 -0.0171471 -0.460964 -0.766158 0.173824 0.00842552 -0.171208 0.452533 0.0253403 -0.0861767 0.00760739 -0.0150174 2.16837 0.178131 1.03861 -0.00577518 0.641255 0.0199956 -1.13494 -0.0481686 0.571949 -0.515113 -0.211397 -0.0785652 -0.112902 -0.175813 -4.04527 0.0182843 -0.0262134 0.031107 -2.13028 -0.172845 0.140646 0.268701 0.0183706 -0.160157 -1.74794 1.502 -0.0200179 0.185481 -0.253616 0.0637612 -0.148126 -0.0234733 0.489169 -0.080583 0.252771 -0.0128817 -0.428171 0.136696 0.182473 -5.4921 1.09968 -3.12084 0.548244 -0.988224 0.600134 0.916285 -1.14174 1.65476 -2.29773 0.00748636 -0.026881 0.108604 -0.388838 1.56087 0 0 0 0 0 0.00440279 -0.109567 0.00248331 0 0 0 0 0.000115874 0 -0.000419159 0 0 0.00016357 0.000312809 -0.00753716 0 -0.000796352 -0.00837291 -0.0506608 0 0 -0.290384 1.41686e-05 0 0.00950947 -0.129964 0 0 -0.0387315 -0.0472552 0 0.0353603 0 -0.0201718 0 0 -0.00287687 0 0 0.203203 0.00229425 0.00594039 0 0.048103 -0.00916299 0 0 0.0756441 0 0.000554801 0.103166 -0.0014923 0 0 0.00104397 -0.00719187 0 -0.0017833 -0.0211467 -0.000512326 -0.747375 -0.00311179 -0.0143167 0 0.00118349 0.0229864 -0.218066 0.0236307 -0.0552099 0 0 0 -0.899158 -0.0574011 0.0170238 -0.0028613 -0.00331667 -0.0433158 0.000338035 -0.000641629 -0.00283815 0.0278166 0 0 0 0 0 0 0.0972266 0 0.134655 0 0 0 0 0.294992 0.711811 0 0 -0.256872 0 -0.047328 0 0.0108355 0 0 0.314505 0 0.107918 0.0572375 -0.24558 0.0374882 0 0 0.161664 0 5.72527 0 2.80508 1.23019 0 0.524632 0.552533 -0.0276722 0 0.025113 0 0 0.0628789 0 2.84369 -0.137368 0 0 -0.021326 0 0 -0.347007 -1.76238 -0.0569088 0 -1.16056 0 -1.27315 0.0529459 -0.0776874 0.175166 -0.142071 0.312931 0.64141 0.00422104 -0.450965 -10.6617 0.149564 0 0 0 0.165635 0.0155648 0 0 0 0 -0.206906 -23.8979 0.695189 -5.27717 -0.418663 0.581531 -2.17403 0.17518 -0.167944 0.193919 -0.412428 0 0 0 0 0 0 +401 0 0.713939 -0.0394151 0.000386315 -0.0576316 0.157569 -0.136752 -0.131715 -0.440663 0.00465292 -0.268624 0.026544 -0.676195 -1.70017e-05 -0.511192 -0.00257244 -1.17482 0.11401 -0.064879 -0.00549888 -0.777487 -0.00926832 0.277755 1.36337e-05 -0.0454575 0.201107 -0.533154 -0.0139554 0.495305 0.825494 -0.371127 0.000323372 -0.106373 -0.0946399 -0.0446533 0.204967 0.000972984 -0.00428387 -2.30815 -0.0083574 -0.842063 -0.000468534 -0.0576103 0.000258634 -0.012024 -0.0108683 -0.750867 0.534108 -0.188415 -0.00181544 0.0617981 -0.189516 2.41656 0.00957295 -0.00139283 -0.0203113 -0.624478 -0.0777442 0.032154 0.0841007 0.00101207 0.397669 0.368215 -0.677641 0.0163758 0.169626 0.467252 0.0524306 0.00666503 -0.000614119 -0.161379 -0.204482 0.0250518 0.00609525 0.0697368 -0.156954 0.208939 6.13885 -0.569769 3.95168 -0.167543 -0.0845016 2.66775 0.0601523 -0.273606 0.609019 0.287988 0.000116729 -0.000155047 -5.66304e-05 0.0185507 -0.664815 0 0 0 0 0 0.000386315 -0.0576316 -0.000369281 0 0 0 0 -2.93546e-05 0 0.00724873 0 0 0.000504991 0.000273004 0.00100731 0 0.000114982 0.00149951 0.0499518 0 0 0.116205 1.88933e-05 0 -0.000661096 0.24975 0 0 0.0157863 0.0339594 0 -0.0255726 0 0.00405662 0 0 0.000502305 0 0 0.00693795 -0.000402176 0.00774367 0 -0.00315861 0.00817346 0 0 -0.0414475 0 -0.00141978 -0.0498543 0.00209985 0 0 -0.000788086 0.000194946 0 -0.00179072 0.0394709 0.00122282 0.279551 0.00711702 0.018113 0 -0.00365462 -0.00878213 0.060731 0.0018746 0.0595895 0 0 0 -0.122761 -0.0110078 -0.0564684 -0.0068428 0.00628159 0.0254032 -0.000527766 0.000513001 -0.000915445 -0.0202983 0 0 0 0 0 0 0.157569 0 -0.136752 0 0 0 0 0.058406 0.409639 0 0 0.0496839 0 -0.00572969 0 0.00412288 0 0 0.159868 0 0.736383 -0.0531342 -0.0621127 0.00322033 0 0 0.0806375 0 3.38195 0 -0.837409 -0.519037 0 -0.323359 0.656229 -0.00819985 0 0.000173841 0 0 0.0307584 0 -0.317773 0.785046 0 0 0.0602092 0 0 0.0314282 -0.524758 0.0885225 0 0.0416367 0 -0.256234 -0.0266487 0.0271564 0.0753029 0.0413925 0.581767 0.11757 0.00512909 -0.524359 -6.02713 0.0288598 0 0 0 0.0926248 -0.0217151 0 0 0 0 -0.120411 -8.02844 -0.450451 -0.565941 0.191376 -0.0316044 -0.162794 0.0791999 -0.0708374 0.012392 0.176591 0 0 0 0 0 0 +402 0 -0.423442 -0.205751 0.000134275 0.0139073 -0.195681 -0.130158 0.294874 1.37677 -0.000321506 -0.265593 -0.0180842 0.549431 -5.49354e-07 1.95023 -0.00199018 0.052994 0.475871 -0.053942 -0.00280134 2.36667 -0.000861194 0.274175 4.88116e-07 -0.0148586 0.39979 -0.0275661 0.00139938 0.229515 -0.422997 0.401522 5.93841e-06 -0.0862809 0.622813 -0.05529 0.214945 -0.000693954 -0.0240934 2.66014 -0.0243955 0.88902 -3.30432e-05 -0.363597 -0.00102573 2.80184 -0.0019028 0.138753 0.00582824 -0.124839 0.00189169 -1.95038 0.0380432 -4.33359 0.00225516 -0.00133733 -0.00936992 -0.908337 0.000249336 0.059624 0.0200519 4.57873e-05 0.411392 -1.59532 -0.728926 -2.17826 0.474554 -0.483317 0.182271 -0.175786 3.86688e-05 0.223132 -0.0802651 -0.0381251 -0.00680176 -2.00966 -0.016489 -0.059527 -7.98584 0.747939 -4.45463 -0.262337 0.379154 -2.10743 0.137273 -0.22649 0.639573 -2.51583 2.04367e-05 9.60054e-05 0.00303778 0.0020423 0.340662 0 0 0 0 0 0.000134275 0.0139073 -0.000500693 0 0 0 0 -1.24038e-05 0 0.000649376 0 0 -0.000399752 -0.000133846 0.000179758 0 2.1618e-05 -0.000355347 0.00589972 0 0 0.00746042 -9.30267e-06 0 0.000181014 -0.0203814 0 0 0.000729547 -0.0072899 0 0.00293805 0 0.000255388 0 0 2.67459e-05 0 0 0.00550603 -0.000178106 -0.00594751 0 -0.00743363 0.000700778 0 0 0.00175603 0 -0.00104986 -0.0129054 0.000653976 0 0 0.00081581 0.000827484 0 -0.00224788 -0.00479179 -0.000864029 -0.00991997 -0.00170193 0.00104157 0 -0.000646961 -0.00231061 0.0021887 -0.000795511 -0.00487185 0 0 0 0.136592 0.0186849 0.00954306 -0.000286484 0.00207058 -0.00441067 0.000480376 -0.000453045 0.000686148 -0.00135421 0 0 0 0 0 0 -0.195681 0 -0.130158 0 0 0 0 0.686197 -0.657021 0 0 -0.308119 0 -0.0239605 0 -0.0172575 0 0 0.537806 0 0.846954 0.230584 -0.113724 0.0848315 0 0 -0.28182 0 4.72398 0 4.34367 0.464092 0 1.59092 1.83578 -0.00757228 0 0.0965186 0 0 -0.0472328 0 1.4558 1.12279 0 0 0.159417 0 0 -0.216128 -2.22308 -1.09611 0 -2.38838 0 -1.26581 -0.174478 0.330045 -0.0575367 0.00735397 -0.0928408 0.178355 -0.102116 -0.291579 -11.159 -0.01418 0 0 0 -0.119496 0.0579531 0 0 0 0 0.0331591 -31.8592 2.25221 -11.3892 -0.0799396 0.365627 -2.49594 0.10465 -0.144268 0.284474 -1.11272 0 0 0 0 0 0 +403 0 -0.538312 -0.329146 -0.00548801 -0.145442 0.0625674 0.129067 0.350701 0.946747 -0.0340772 -0.654875 -0.0944315 0.512542 3.28255e-05 1.57098 -0.00376869 -0.425505 0.135873 -0.253751 -0.00178126 2.88326 -0.0378907 0.132358 -4.43297e-05 -0.180067 0.0667811 -0.275985 -0.0127386 -0.279673 0.0704116 0.261601 -0.00128944 -0.074312 0.250707 -0.157149 -0.117473 -0.00335214 0.0450088 1.56185 -0.121714 1.60574 0.000985406 0.0497799 -0.00353928 2.50912 0.0299381 0.789863 -0.0492502 -0.0206635 0.00607878 -0.0241976 -0.181665 -2.52091 0.00267692 -0.000730562 0.0296843 -3.38629 -0.291617 -0.0453205 0.166144 -0.0015354 1.11619 -2.29179 1.39809 -0.619821 0.212605 0.00864193 0.755256 -0.160043 0.00167694 0.102751 0.112582 -0.0141891 -0.0624717 -2.81678 0.0967042 -0.520025 -5.62064 1.60826 -4.72599 0.905057 -1.07378 -0.222501 0.856593 -0.98074 1.4233 -2.28173 -0.000321546 0.00120435 -0.0124335 0.0503065 -0.0567062 0 0 0 0 0 -0.00548801 -0.145442 0.00213318 0 0 0 0 7.76291e-05 0 0.00361331 0 0 -0.000911609 -0.000668416 -4.92678e-05 0 0.000133432 0.000242263 -0.00452846 0 0 -0.195541 -4.72696e-05 0 -0.00175886 0.0196065 0 0 -0.0229681 -0.00168849 0 -0.0159936 0 -0.00701081 0 0 -0.000799685 0 0 -0.0230075 0.00112761 -0.0122026 0 0.0332003 -0.0136786 0 0 0.0246943 0 0.00348766 0.0278611 -0.00479987 0 0 0.00218018 -0.0042476 0 0.00102124 -0.0320933 -0.00495543 -0.196002 -0.00960958 -0.00142652 0 0.00379566 0.00881188 -0.0380216 0.00849549 -0.0104964 0 0 0 -0.18201 -0.017487 -0.00370533 0.00702986 -0.0105379 -0.00541715 0.00130126 -0.00164466 0.00155056 0.00495987 0 0 0 0 0 0 0.0625674 0 0.129067 0 0 0 0 0.108087 0.531685 0 0 0.00981078 0 -0.024052 0 0.0162714 0 0 0.315798 0 0.366716 0.0546169 -0.0211344 0.0371925 0 0 0.218321 0 3.31034 0 3.3388 0.981556 0 0.375489 0.869998 -0.0120181 0 0.0171294 0 0 0.0464132 0 2.11124 0.188079 0 0 0.0334052 0 0 -0.359237 -0.595936 -0.156863 0 -1.3329 0 -1.18183 -0.0728397 0.0114015 0.293515 -0.202955 0.23931 0.508438 0.153099 -0.527955 -10.6934 0.170893 0 0 0 0.0949829 -0.0357319 0 0 0 0 -0.11425 -29.2532 -0.0999146 -5.70373 -0.073349 0.205957 -2.10744 0.261855 -0.215916 0.0471738 -0.270671 0 0 0 0 0 0 +404 0 0 0 0 0 0.161461 -0.422499 0.669863 1.42924 0 0 -0.366387 -1.76548 0 -3.30335 -0.0307054 0 0 0 -0.0360551 -3.03368 0 0 0 0 0.433658 0 0 0.697222 3.0286 -0.83383 0 -0.514299 0 0 0.236253 -0.0239145 0 0 -0.32934 -1.64335 0 0 0.0579399 -7.81105 0 -1.0539 1.42457 -1.13717 -0.134986 -0.512977 0.101707 0 0.0444242 -0.169771 0.489582 1.30838 0.241643 0.278342 0 0 1.88424 2.10825 0 0.811807 -0.0176973 0.310728 0 0 0 0 0.354719 -0.255719 0 3.58038 -0.903349 0 0 0 -2.36317 0 0.349444 -4.7739 0 -0.150082 -0.499452 -1.91901 0 -0.0370303 -1.00575 3.47333 -11.8493 0 0 0 -0.0277982 -0.00260959 0 0 0 -0.00618161 0.0428878 0 -0.000661155 0 0.000688597 0.000849492 0 0 0 0 -0.0252827 0 0.000850196 0 -0.0499226 0 -0.0231065 0.282015 0 -0.000967364 0 0 -0.0760152 0.00145584 0.0149014 0 0.00281254 0 0.00306485 0.0841263 -0.0107695 0.0201347 0.00323223 0 5.01217e-05 0 0 0 0.000200846 0 0 -0.00147763 0.00098233 -0.120082 -0.00436577 0 0 -0.00537073 0 -0.00658187 0 0 0.0172706 0.00597032 0.0268994 0.00727685 0 0 0.0035498 -0.000191396 -0.00202433 -0.0439923 -0.0893032 0 0.0474749 -0.000307986 0.0586469 0 0 0 0.196815 0 -0.0263138 0.0773419 0 0.00189712 -0.00746252 0.026751 0 -0.00141532 0.00712796 -0.0182851 0.0408769 0 0.161461 -0.0277982 -0.422499 -0.00260959 0.0540513 -0.1285 -0.0400966 -0.106282 -0.730454 0.00234075 -0.00111618 0.0218587 0.000106741 0.00407434 -0.00202598 -0.0124982 -0.0144351 0.0522217 -1.08167 -1.13734 -0.368445 -0.0141736 0.0723337 -0.266995 -0.262551 0.135529 -0.401585 -0.0441205 -5.43583 -0.232574 -1.36794 -1.22913 -8.98457e-05 0.0938317 -0.742741 0.00458207 -0.00287484 -0.0293348 -0.0326204 0.894157 -0.0211253 0.0204829 -2.65703 -3.39351 0.0033005 -0.0167584 -0.74095 -0.239835 -0.162663 2.21162 4.1027 -0.0135106 0.0619472 2.6196 0.00720534 1.69458 -0.00739467 0.158982 -0.0732915 -0.283459 2.02987 -0.199443 0.308124 -0.596999 -5.66389 0.365603 0.951826 0.108981 -0.169424 -0.201096 -0.0179285 0.0613698 -0.00569782 -0.0100185 -0.0307604 0.0504305 14.6308 -0.221192 1.73298 -0.267156 1.49564 -4.61221 0.00378808 0.227206 -0.521278 -1.19307 -0.000924686 0.0687834 -0.288506 0.460241 -1.61435 0 +405 0 0 0 0 0 -0.513384 -0.459992 0.657604 2.19988 0 0 -0.145677 -1.62585 0 -2.11043 -0.00998071 0 0 0 0.00321456 -5.01246 0 0 0 0 0.502182 0 0 0.337818 1.92661 -0.711038 0 -0.138673 0 0 0.256371 -0.0118543 0 0 -0.406059 -2.27394 0 0 -0.100782 -5.6697 0 -1.33936 0.427237 -0.288791 0.182447 -2.23034 0.368994 0 0.0146366 -0.09481 0.503528 3.2695 0.0917678 -0.147068 0 0 1.19261 5.42608 0 -0.211374 0.83715 -0.0058111 0 0 0 0 0.247927 -0.252887 0 3.97221 -0.761737 0 0 0 -4.63645 0 0.948275 -4.68921 0 0.303773 -0.308438 -6.06797 0 0.318907 -0.544413 1.29895 -7.26415 0 0 0 0.0279426 0.00207675 0 0 0 0.00884776 0.0115702 0 0.000351632 0 -0.000186591 0.00292995 0 0 0 0 0.0522392 0 0.00204544 0 0.0648111 0 0.056837 0.0774688 0 -7.86343e-05 0 0 0.00997073 -0.000278602 0.00730449 0 0.000939792 0 0.00081942 0.00534726 -0.00053963 -0.00345283 0.00127265 0 -1.43519e-05 0 0 0 6.69743e-05 0 0 0.000916193 -0.000752816 0.0263688 -0.00802174 0 0 0.00214663 0 -0.00221042 0 0 0.00602495 -0.00264752 -0.0446691 0.00978861 0 0 -0.0241605 -0.0197454 -0.00202835 -0.0481812 -0.0804712 0 0.00391973 0.00422852 -0.0192956 0 0 0 -0.146224 0 0.0110957 -0.0565796 0 -0.000830445 0.00417843 -0.0352717 0 0.000364875 -0.00150304 0.00571873 0.00406783 0 -0.513384 0.0279426 -0.459992 0.00207675 -0.263019 -0.147631 0.0485431 0.922882 0.233071 0.000296116 -0.00444654 0.122262 2.52508e-05 0.0044165 0.00183849 0.00368732 -0.0325247 0.0001781 -1.01413 -0.942154 0.212684 0.390663 0.0375224 -0.165796 -0.136967 0.272835 0.0477084 -0.0129567 -0.311857 -0.0267021 1.05714 -0.772671 6.94196e-05 2.31426 0.532327 0.00181646 -0.00337934 0.168927 -0.0226453 1.38964 0.0131484 0.0518653 -0.693863 -2.9962 -0.00462126 -0.0111436 -0.417712 -0.106852 0.190265 0.250697 2.06129 -1.19008 0.0224706 1.94513 -0.00799657 -1.61021 -0.00207633 0.198871 0.0746217 -0.345726 0.3219 0.0943295 0.0945079 -0.0122271 0.830257 0.096571 -0.797954 -0.0392172 -0.462212 0.062834 0.0141404 0.0415526 -0.00110183 -0.00153698 0.135548 -0.0328339 -11.3065 -0.573223 -13.4068 -0.0103117 0.0106157 -7.24453 -0.00106887 -0.0194571 -0.357088 -3.15951 -3.1536e-06 -0.00382365 -0.201429 0.149722 -1.71729 0 +406 0 0 0 0 0 -0.0204602 0.143657 -0.233124 -1.72191 0 0 0.0764633 0.899719 0 2.78033 0.0367757 0 0 0 0.228919 1.85515 0 0 0 0 -0.258942 0 0 -0.30451 -4.45935 0.443846 0 0.475551 0 0 0.018996 -0.000820358 0 0 0.309109 -0.365198 0 0 0.00745808 6.27961 0 -0.328626 -1.19761 1.63959 -0.328373 -0.550249 -0.477967 0 -0.157077 0.32932 -0.584282 -1.45918 -0.149206 -0.033631 0 0 0.594878 0.0543098 0 -0.768602 -0.377847 -0.178735 0 0 0 0 -0.298599 0.567578 0 -3.87887 -0.745706 0 0 0 3.60923 0 -1.31638 10.5262 0 -0.273899 0.382128 8.61824 0 -0.000309033 1.78828 -3.75493 17.2714 0 0 0 -0.101275 -0.00711938 0 0 0 -0.017117 0.0782877 0 -0.00141322 0 0.000706033 0.0038748 0 0 0 0 0.00671607 0 0.00360402 0 -0.0256534 0 -0.108663 0.434644 0 -0.00170457 0 0 -0.114196 0.00152144 0.0249335 0 0.00528455 0 0.0055949 0.100801 -0.017403 0.0208267 0.00396032 0 5.21771e-05 0 0 0 0.000377454 0 0 -0.00333227 0.0017701 -0.165216 -0.00606031 0 0 -0.00704428 0 -0.0111303 0 0 0.0371075 0.0122604 -0.0250511 0.0176064 0 0 -0.000161465 0.00512134 0.00543892 -0.0684014 -0.119834 0 0.0787953 -0.00152568 -0.0113485 0 0 0 0.241357 0 -0.0349406 0.112794 0 0.00287569 -0.00965843 0.0320089 0 -0.00180924 0.00957275 -0.024088 0.0556877 0 -0.0204602 -0.101275 0.143657 -0.00711938 0.297664 0.186343 -0.107526 -0.111491 0.205793 0.00343844 0.0104543 0.0926252 0.00016623 0.00627539 -0.00513212 0.00112259 0.0450499 0.0714641 -0.293956 1.28186 0.395959 -0.126627 0.125251 -0.0488161 0.359197 -0.19366 0.0500476 0.0248971 6.92621 -0.0395756 2.20883 0.554476 -0.000223697 -0.235136 0.899207 0.0068115 -0.000518708 -0.0490238 -0.00431472 -0.85283 0.00802033 -0.0403588 1.86516 1.00893 0.00330995 -5.46697e-06 0.0519731 0.170744 0.165749 -1.00137 2.86874 -0.908732 -0.0523846 -0.593703 0.0159325 0.3235 -0.00749622 0.0806758 0.575975 0.0674253 -0.0995589 -0.252296 -0.0627401 0.787533 3.63349 0.132831 -0.422472 0.120347 0.0886197 0.327031 -0.00910476 -0.0522968 -0.00905299 0.0736276 -0.108301 0.0242291 -23.6243 -0.326923 -4.14279 -0.401726 0.214572 2.69893 0.00462867 -0.250392 0.438217 0.379289 -0.00126541 -0.123225 0.227773 -0.275943 1.32841 0 +407 0 -0.1132 -0.397762 0.00714939 0.108344 -0.0853291 -0.0346355 -0.414278 0.0250028 0.0353997 -0.212607 0.10758 0.144 -9.86223e-05 1.28849 0.00829551 -2.33328 -8.97365 -0.0488615 0.0116129 0.254883 0.0038189 0.0624605 0.000108607 0.0267106 0.000488954 -0.616889 -0.00224189 -0.0513897 -0.587024 0.293368 0.00209411 0.189911 0.222374 -0.050643 -0.111079 0.00517181 -0.0387406 1.12861 0.14772 0.119143 -0.00205406 -0.260117 0.00678838 1.33269 -0.0421454 0.186653 -0.245229 0.256532 -0.0144937 -0.614988 -0.178248 4.16025 -0.0142814 0.00233019 0.014926 -1.26454 -0.228458 -0.194991 -0.0332055 0.003662 0.358596 0.841092 1.41278 -1.36702 0.258103 -0.195376 0.31551 -0.152836 -0.00178733 0.327743 0.0175956 0.0385262 0.0296468 -1.85692 -0.0982745 0.289031 -3.67046 0.394575 -1.45543 -0.135201 0.28789 -1.97774 0.163049 -0.515062 0.891603 -1.78875 0.00109164 -0.00358343 0.012959 -0.04204 0.149218 0 0 0 0 0 0.00714939 0.108344 0.00145639 0 0 0 0 3.81305e-05 0 -0.00091314 0 0 0.000279676 6.53993e-05 0.00160336 0 0.000116285 0.00889305 0.0154374 0 0 0.0788939 4.58005e-06 0 0.000571984 0.667876 0 0 0.00483693 0.0963781 0 0.0113153 0 0.00473757 0 0 0.000237711 0 0 0.106945 0.000533652 0.00398484 0 0.0203923 0.00925535 0 0 -0.00607093 0 0.000442283 -0.00924645 -7.13453e-05 0 0 0.000149859 -0.00315923 0 0.000497149 0.0225763 -0.00284585 -0.192939 -0.00136822 0.00359927 0 0.00445028 -0.0170525 0.0350038 -0.00324608 -0.0253049 0 0 0 -0.117831 -0.00486132 -0.0259801 -0.000296717 0.00143336 -0.0511551 -0.000185921 0.0002594 -0.000549611 -0.00856608 0 0 0 0 0 0 -0.0853291 0 -0.0346355 0 0 0 0 0.249189 0.199422 0 0 -0.245345 0 -0.0278473 0 0.00517473 0 0 0.0416711 0 0.802044 0.12142 -0.014028 0.0601308 0 0 0.146316 0 -5.42548 0 3.28874 0.0385391 0 0.815112 1.51441 -0.0015406 0 0.0442339 0 0 -5.14173e-05 0 -0.885113 -0.363029 0 0 0.0732723 0 0 -0.180753 -3.60603 -0.655318 0 0.673856 0 -2.01573 0.122511 0.0156689 0.714073 -0.179302 -1.06738 0.470659 0.114351 0.295145 7.86662 -0.0199243 0 0 0 0.0826646 0.0243112 0 0 0 0 0.0136105 -30.6841 1.88258 -9.72339 -0.176696 0.319735 -2.34933 0.0683115 -0.0606032 0.18719 -0.650053 0 0 0 0 0 0 +408 0 -0.702167 -0.496947 -0.00527956 -0.0474858 -0.195297 0.141885 -0.279518 -0.161516 -0.0552903 0.185691 0.00471162 0.0312999 8.1743e-05 -0.53022 -0.000762248 -1.23294 -6.06249 0.0496176 -0.000660458 0.446175 -0.0148994 0.451095 -0.000129304 -0.0247781 -0.148712 -0.226365 -0.00675736 -0.393902 -0.0995357 0.151542 -0.00277158 -0.00957762 1.45404 0.0973903 -0.226213 -0.000498136 -0.106545 5.47264 -0.0118858 0.996752 0.00152067 -0.38704 -0.00170827 -1.35513 0.0256182 0.951423 -0.189772 0.00478117 0.00323614 0.0569385 0.0822318 6.22228 -0.00287013 -0.00656461 0.0183948 0.16992 -0.0663388 0.0763833 0.0484209 -0.00260136 -0.824766 -1.54247 -1.75115 -0.713228 -0.0183193 0.283938 0.343424 -0.0320348 0.0056304 0.38827 -0.105448 0.0122551 0.116142 -0.397598 -0.05881 0.187212 -25.1166 -0.0595211 -5.61383 -0.72897 1.52631 -6.83267 -0.031399 0.209728 -0.259443 -0.480223 -0.000663555 0.00116924 -0.00196692 -0.00243419 0.0253014 0 0 0 0 0 -0.00527956 -0.0474858 -0.000190964 0 0 0 0 -5.49611e-06 0 -0.00151304 0 0 5.15475e-05 -3.84785e-06 -0.0014499 0 -0.000148174 -0.00682153 -0.0131102 0 0 -0.0750272 -3.65947e-07 0 -0.000371463 -0.406329 0 0 -0.00365704 -0.0531241 0 -0.0167119 0 -0.00498892 0 0 -0.000263765 0 0 -0.100128 -7.71513e-05 0.000816996 0 -0.00267473 -0.00128269 0 0 -0.000805912 0 7.88978e-05 0.00140372 -0.000107135 0 0 -0.000171495 0.000488943 0 0.00118853 -0.00126265 0.000415666 0.0508456 0.00122605 -0.0147847 0 -0.000762315 0.0152841 -0.00936407 0.000365448 -0.0120189 0 0 0 0.193875 -0.00221279 0.0156522 0.00167206 -0.00208394 0.0163323 -9.36285e-05 0.000101893 -9.23556e-05 0.00967924 0 0 0 0 0 0 -0.195297 0 0.141885 0 0 0 0 -0.252672 0.0902411 0 0 0.179901 0 0.015419 0 0.00400749 0 0 -0.203916 0 0.00256779 -0.00467866 0.0494287 -0.0200909 0 0 0.0734625 0 -3.52492 0 3.62018 0.00537351 0 -0.04363 0.44955 0.00215978 0 -0.0374408 0 0 -0.00372488 0 -1.03754 -0.121548 0 0 -0.013685 0 0 -0.130974 -4.74002 0.13189 0 0.330541 0 -1.06228 0.0353851 -0.0799011 -0.0612591 -0.138569 -0.00127824 -0.0317663 0.0459474 -0.574683 -2.55944 0.0899198 0 0 0 0.0951401 -0.027795 0 0 0 0 -0.0354147 -26.6819 -2.22954 -1.82762 -1.0212 0.818024 -2.37829 -0.111147 0.0983523 -0.150495 0.101239 0 0 0 0 0 0 +409 0 0.215731 -0.288194 0.00404389 0.0313149 0.0591196 -0.0788602 -0.822161 -1.445 0.000723586 0.0758606 0.0330421 -1.3589 -8.90555e-05 -2.37701 0.000755096 -2.16355 -4.82734 -0.00687458 0.00370364 -3.17948 0.0125104 0.171405 6.21103e-05 0.0523099 -0.281528 -0.822709 0.0157916 0.239552 -0.159183 -0.649862 0.000861283 0.0215191 0.0086879 0.0520369 -0.109567 0.0017654 0.205466 -1.21717 0.112581 -1.31297 -0.00204697 0.968225 0.00492762 -4.59111 -0.0476303 -0.59065 -0.0080335 0.133404 -0.0144942 1.03598 0.14038 4.75575 -0.0187563 -0.011836 0.0717241 2.02223 0.00769777 0.172161 -0.170977 0.00359652 -1.8048 0.751221 1.98338 0.547657 -0.386444 -1.16992 0.00773305 0.15933 0.000508073 -0.272132 0.284531 0.0493043 -0.263555 2.49716 -0.297696 -0.457318 7.23516 -1.11457 7.25718 0.216601 -0.176876 1.77963 0.08115 -0.0351938 -0.171421 1.38503 0.00123371 -0.00334573 0.00811524 -0.0206176 0.0404634 0 0 0 0 0 0.00404389 0.0313149 0.0032495 0 0 0 0 8.56858e-05 0 -0.00265526 0 0 0.000327065 8.98435e-05 0.00145152 0 7.4389e-05 0.00680692 0.0122515 0 0 0.0158498 6.23191e-06 0 0.00113 0.649246 0 0 -0.00474315 0.0757016 0 0.0278063 0 0.00200327 0 0 -0.000110475 0 0 0.134456 0.00119948 0.00470353 0 0.0455052 0.0213747 0 0 -0.034756 0 0.00106002 -0.0191614 -0.00105798 0 0 0.000122831 -0.00671297 0 0.000751873 0.00965118 -0.00586972 -0.21072 -0.00133689 0.00708318 0 0.0103054 -0.00555238 0.0212961 0.000493178 -0.0075444 0 0 0 -0.0880555 -0.00728476 -0.00783131 -0.00195234 0.00470516 -0.0416241 -0.000236531 0.000321169 -0.000642482 -0.0121042 0 0 0 0 0 0 0.0591196 0 -0.0788602 0 0 0 0 -0.0668143 0.303343 0 0 -0.117614 0 -0.0245087 0 -0.000499389 0 0 -0.144647 0 0.46682 -0.0364165 -0.057023 -0.012498 0 0 0.0594672 0 -4.77577 0 -0.593204 -0.732843 0 -0.288292 0.327129 -0.00830889 0 -0.00903204 0 0 0.0210121 0 -2.08847 -0.228822 0 0 -0.0207337 0 0 -0.252681 -3.02547 0.440394 0 -1.56446 0 -0.641234 0.0704284 -0.0902583 -0.076878 -0.110969 0.0878855 0.364348 0.00917987 0.604057 -1.2513 0.0234128 0 0 0 0.10895 0.0141247 0 0 0 0 -0.03592 -2.97516 0.226864 1.2781 -0.0842449 0.277898 -0.358307 0.0316653 -0.0100391 0.0162371 0.223219 0 0 0 0 0 0 +410 0 -0.429844 -0.148969 -0.0177552 -0.195569 0.0817677 0.161411 -0.152816 -0.606639 -0.157545 0.0174428 0.242405 -0.810866 0.00124396 -0.331491 0.0302227 -0.971445 -7.38923 -0.00843912 0.0474528 -2.39637 -0.0324551 -0.246618 -0.00121999 -0.0608263 -0.470636 -0.0584864 -0.0096498 -0.735417 -1.81981 -0.0637538 -0.0143376 0.482145 -0.409547 0.0674861 -0.26075 0.0111817 -0.139588 -0.924704 0.000459699 -0.255162 0.0162918 -0.785617 -0.0110203 -2.77733 0.202285 0.462416 -1.26328 0.71122 0.0581676 0.399952 0.231419 0.984203 -0.0667544 0.11763 -0.392718 3.02156 -0.0721141 -0.046624 0.0265104 -0.0541749 -1.93109 0.799186 1.77326 1.82169 0.532965 -0.668913 0.194656 -0.402235 0.0302306 0.333408 0.0381127 0.238815 0.0593386 2.39719 1.01144 0.109635 4.18259 -1.38414 4.16545 -0.140691 -1.33488 6.93241 0.389341 -0.484567 -0.0484856 2.78952 -0.090543 0.130983 0.0101704 -1.18019 7.14496 0 0 0 0 0 -0.0177552 -0.195569 0.00241518 0 0 0 0 0.000376355 0 -0.0161989 0 0 0.00324003 0.00315203 -0.00926765 0 -0.00152478 0.00254334 -0.108345 0 0 -0.0567829 0.000227282 0 -0.000717187 -0.154012 0 0 -0.00621587 0.0127262 0 -0.0573187 0 -0.00757832 0 0 -0.00102705 0 0 -0.248616 0.00527794 0.0451636 0 0.0338656 0.00660541 0 0 0.0134439 0 -0.000585126 -0.0306309 0.00670092 0 0 -0.0020044 -0.00754459 0 0.00257447 0.0356316 -0.000881255 -0.0650033 0.00129459 0.00395708 0 0.00382607 -0.0222017 0.0754009 -0.0336034 -0.0121834 0 0 0 1.18458 -0.107786 0.277836 0.0312851 -0.054422 0.104176 -0.00301664 0.00495975 -0.010389 0.0260001 0 0 0 0 0 0 0.0817677 0 0.161411 0 0 0 0 0.280019 -0.114953 0 0 -0.111881 0 -0.0148464 0 0.00997331 0 0 -0.631701 0 -0.450802 0.0763487 -0.113452 -0.0652515 0 0 0.255186 0 -5.27451 0 0.284305 -0.0629979 0 0.489705 -0.353514 -0.0129458 0 0.0351208 0 0 -0.031945 0 -0.877835 -1.08215 0 0 -0.100645 0 0 0.000277228 0.458279 -0.12661 0 0.443817 0 -0.442793 0.0817301 -0.00124347 0.476107 0.00442 -0.172858 0.351228 -0.0441966 -0.178605 1.38296 0.0192623 0 0 0 0.0476117 0.057673 0 0 0 0 -0.0202327 -6.75619 0.877269 -3.8808 -0.315641 0.301503 -0.567155 0.088805 -0.0767688 0.135453 -0.409584 0 0 0 0 0 0 +411 0 -1.00227 -0.454213 -0.000572768 -0.0122429 -0.178193 0.0224241 -0.584205 0.254935 -0.00786275 -0.374001 -0.0461359 1.12246 0.000105032 2.74699 0.00432712 -1.92748 -6.70616 -0.143876 0.0145812 5.30593 -0.00538244 0.330031 -0.000263065 -0.0517821 0.217723 -0.626255 0.0107463 0.189695 0.582621 0.635743 -0.0022223 0.106678 0.816438 -0.113128 -0.0460187 -0.00372184 0.166033 3.26077 -0.163746 2.5989 0.00113218 0.0494019 -0.013009 4.5665 0.00891497 1.13175 0.224784 0.294804 0.0455675 0.697414 -0.351187 4.0688 -0.0480845 0.0637156 -0.284146 -1.0665 -0.266773 -0.243553 0.0929385 -0.00258331 -0.058322 -5.76772 -0.469017 -1.85321 -0.198791 0.343551 0.77611 0.0958103 0.00224627 0.293184 -0.183981 -0.266589 -0.219225 -3.51177 1.01704 -0.30215 -13.6371 1.2741 -3.04637 0.250186 0.663831 -4.33984 0.137195 -0.218946 0.763102 -0.662853 -0.00399035 0.0424236 -0.147892 0.699004 -2.28749 0 0 0 0 0 -0.000572768 -0.0122429 0.0013832 0 0 0 0 0.000233102 0 -0.00563371 0 0 0.00021304 -0.000441356 -6.23395e-05 0 -0.000362274 -0.000972002 -0.0049409 0 0 0.212688 -3.76226e-05 0 0.018234 0.335564 0 0 0.0312005 0.00131485 0 0.111062 0 0.00993418 0 0 0.00140741 0 0 0.273619 0.00326104 0.00431728 0 0.0194289 0.0293252 0 0 -0.142293 0 -0.00261144 0.13325 0.00530356 0 0 0.000123613 -0.00437885 0 0.0134666 0.0199628 -0.00593936 -0.319766 0.00294566 -0.0210652 0 0.00351713 -0.0128472 -0.0609992 -0.0180322 -0.0158933 0 0 0 -1.32783 0.0613357 -0.1712 -0.0233521 0.0551125 -0.136875 -0.000210197 -0.000765136 0.00328331 -0.00805303 0 0 0 0 0 0 -0.178193 0 0.0224241 0 0 0 0 0.353177 -0.312161 0 0 9.04847e-05 0 -0.00786318 0 -0.0172724 0 0 0.741893 0 1.12597 0.145659 0.0103939 0.138376 0 0 -0.132151 0 -3.36062 0 7.32253 0.278508 0 0.922608 2.71981 0.00146308 0 0.0559815 0 0 -0.0463139 0 -0.36784 1.22434 0 0 0.24698 0 0 -0.28906 -6.04687 -0.195493 0 -0.36262 0 -1.4814 -0.0290954 0.0159716 0.319899 -0.185688 0.0556119 0.118033 0.0723306 -0.332661 0.503984 0.126622 0 0 0 0.114245 0.0108935 0 0 0 0 -0.036632 -71.6008 -1.96918 -12.3408 -1.48667 1.37673 -4.80758 -0.0544049 0.0485572 -0.00998656 -0.617428 0 0 0 0 0 0 +412 0 0.291005 0.342907 -0.0438231 -0.423026 0.373597 0.279568 -0.545173 -2.49165 -0.389314 0.875763 -0.332086 0.0174419 0.00315742 -1.79371 -0.036829 1.53325 5.65197 0.109035 -0.0480371 2.59434 -0.0336684 -0.168419 -0.00327404 0.00626055 -0.564289 0.482604 -0.00695393 -0.0301514 2.52218 -0.220515 -0.0373129 -0.498521 -0.543974 -0.000680298 -0.20516 -0.032652 0.121233 -2.33497 -1.02523 1.3936 0.0395534 -0.112475 -0.0974964 -1.07861 0.45666 0.697369 0.663182 -0.753484 0.402036 -0.501145 0.630125 2.27161 0.146961 -0.189007 0.15958 0.867122 0.439426 0.160901 -0.337625 -0.126373 -0.10969 -0.410453 0.0515461 0.6063 0.169213 -0.315652 -0.47946 -0.104739 0.0801632 -0.594204 0.268772 -0.875553 0.0472092 2.75054 0.515386 0.686058 11.11 -2.40814 9.13881 0.0960534 1.5941 -1.87567 -0.303766 0.708245 -1.68188 2.0812 -0.204401 0.525375 -1.46094 3.64707 -9.9026 0 0 0 0 0 -0.0438231 -0.423026 0.00679595 0 0 0 0 0.00110157 0 -0.0329096 0 0 0.00444932 0.00448358 -0.0187643 0 -0.0035311 0.00859693 -0.184734 0 0 -0.0491511 0.000326525 0 0.020095 0.565502 0 0 -0.0114715 0.102028 0 0.00880042 0 -0.0132026 0 0 -0.00219102 0 0 -0.208427 0.0154388 0.0615438 0 0.0952359 0.0436004 0 0 0.0103582 0 0.000223869 0.0174763 0.00311159 0 0 -0.00662045 -0.014272 0 0.00832552 0.0113912 0.000306056 -0.178804 0.0230961 0.0012777 0 0.0232945 -0.0200274 -0.0242137 0.0161534 -0.0456775 0 0 0 1.80786 -0.187351 0.501094 0.0460885 -0.080878 0.145616 -0.0050741 0.00848863 -0.0170576 0.0439508 0 0 0 0 0 0 0.373597 0 0.279568 0 0 0 0 -0.593883 -0.25711 0 0 0.701512 0 0.0745941 0 0.00773231 0 0 0.837124 0 -0.877924 -0.240617 0.160414 0.0579155 0 0 -0.132474 0 6.00294 0 -2.63383 0.105249 0 -1.64554 -1.49449 0.0168787 0 -0.0963388 0 0 0.031825 0 1.06598 2.58513 0 0 0.228951 0 0 0.183614 0.358893 0.329933 0 0.259814 0 -0.320795 0.210809 -0.215172 -1.09786 -0.101819 1.44831 0.320678 0.129911 -0.645681 -4.12462 0.188034 0 0 0 -0.101969 -0.197593 0 0 0 0 -0.0300184 24.1794 -5.94144 15.3832 -1.56742 1.19656 1.23095 -0.49062 0.421041 -0.49809 1.17336 0 0 0 0 0 0 +413 0 0 0 0 0 -0.0228797 0.321832 0.340268 0.453276 0 0 -0.0537688 1.09905 0 3.8548 0.0783371 0 0 0 -0.0725027 1.87499 0 0 0 0 -0.18939 0 0 -0.711782 -1.23299 1.12003 0 -0.0867087 0 0 -0.0497169 -0.0152489 0 0 0.186874 1.72274 0 0 -0.117985 3.82603 0 1.21993 -0.715086 -0.896884 0.307087 1.80627 0.36303 0 0.525657 0.376852 -1.21631 -5.07272 0.418572 0.26989 0 0 0.804689 -2.57192 0 -0.571518 -0.365534 -0.970028 0 0 0 0 0.503822 -0.9334 0 -4.30269 2.77701 0 0 0 -0.435738 0 -0.332929 1.22055 0 -0.428137 0.552705 -2.22993 0 -0.588482 0.34232 -2.36341 7.89383 0 0 0 -0.108952 -0.0050937 0 0 0 0.0937307 -0.0242255 0 0.0192539 0 0.0179813 0.0805791 0 0 0 0 0.108508 0 0.023331 0 0.503656 0 0.36692 -0.52143 0 0.000713473 0 0 0.104089 0.00374495 -0.0845998 0 -0.00630362 0 -0.00194675 -0.308285 0.0223779 0.0693197 -0.0705453 0 0.00107961 0 0 0 -0.000679967 0 0 -0.0113037 -0.00877344 -0.0870429 0.00707229 0 0 -0.0362801 0 -0.000666785 0 0 0.0142419 -0.00784199 -0.312064 -0.0233591 0 0 0.0820228 0.0601015 0.0613139 0.266148 0.253566 0 -0.0628475 0.0133451 -0.0721032 0 0 0 -1.90279 0 -0.246866 -0.135858 0 -0.0173549 -0.0173615 -0.0518325 0 -0.00325941 -0.00310488 -0.0268402 0.159551 0 -0.0228797 -0.108952 0.321832 -0.0050937 0.111827 -0.00381174 0.219254 0.299884 -1.01855 0.00404589 0.0392547 -0.158956 -0.0053101 -0.103699 0.0547456 -0.0202512 -0.0360083 0.101272 1.09744 -0.216484 0.0630031 0.133314 -0.300079 0.182342 -0.0564995 -0.0179922 -0.561547 -0.0132705 12.2559 0.214968 0.92504 2.74918 0.0160892 0.433103 0.202054 -0.103277 0.00288416 0.055741 0.0205024 -0.282546 -0.0549247 0.00268007 5.89325 2.57077 0.00339504 0.0273774 0.43573 -0.0640479 -0.00681753 -1.24316 2.13013 1.42385 0.0767715 -4.94284 0.0176949 -1.78826 1.13993 -1.35372 0.488431 0.138016 -0.592688 1.98115 -0.292761 3.94761 -15.1353 -0.395907 -0.571896 0.0321243 0.160008 -0.175319 0.355147 -0.0371553 -0.0387021 0.000203671 -0.0992583 0.895028 -3.37011 -0.34929 -1.33798 -0.993951 -0.101535 0.372355 0.0691576 -0.386336 0.329785 -0.535009 -0.17724 -0.118485 0.124692 -0.244826 0.168207 0 +414 0 0 0 0 0 -0.239902 -0.117149 0.496438 2.15189 0 0 -0.561413 -0.265343 0 -0.570866 -0.109954 0 0 0 -0.239901 -1.18864 0 0 0 0 0.329591 0 0 0.146479 2.39529 -0.12373 0 -0.26196 0 0 0.0606356 -0.0815739 0 0 -1.56329 -0.633944 0 0 -0.358439 -1.40969 0 -0.286766 0.791032 -0.375519 0.512984 0.0468724 0.269734 0 0.692571 -0.0348117 0.137157 -1.73225 -0.286662 -1.62206 0 0 -1.9388 4.32413 0 0.972184 -0.164826 0.815223 0 0 0 0 -0.360068 -0.779101 0 -0.416626 -0.882678 0 0 0 -3.21586 0 1.98969 -3.68276 0 1.03224 -1.01702 -1.03223 0 1.92886 -1.98512 5.08252 -6.24427 0 0 0 0.147271 0.0259512 0 0 0 0.0269495 -0.0349542 0 0.00427367 0 -0.0168369 0.00113692 0 0 0 0 0.100307 0 0.0111722 0 0.134354 0 0.180559 -0.121467 0 0.00200831 0 0 -0.0452306 -0.00640383 0.0315431 0 -0.00185701 0 -0.00322373 -0.128111 0.00365743 -0.0881823 0.00211133 0 -0.00113484 0 0 0 -0.000273025 0 0 0.0124514 -0.00867087 -0.306685 0.010661 0 0 0.000944424 0 0.00349232 0 0 -0.00879514 -0.0198461 -0.116164 -0.0277967 0 0 0.11134 -0.00954487 0.05786 0.0584066 0.0386571 0 0.0662485 -0.017669 0.312 0 0 0 0.218212 0 0.0878839 0.58769 0 -0.00241423 0.0585348 0.003291 0 0.0069124 -0.0100416 0.00443437 0.285415 0 -0.239902 0.147271 -0.117149 0.0259512 -0.210857 -0.0550663 0.0210062 -0.39355 -0.294691 -0.0154319 -0.0335396 0.416508 -0.00117479 0.0406632 -0.00736306 -0.0209771 -0.0516614 -0.106795 -0.500987 -0.37242 -0.327162 -0.0833078 0.31597 -0.068306 -0.360171 0.136839 0.0753001 -0.000381488 -7.36771 -0.549547 -2.82879 -0.542759 -0.00386098 -0.491442 -1.08283 0.0421771 -0.0139422 -0.0699207 -0.102717 0.849741 -0.120282 0.0214829 -2.10039 -2.17631 -0.00435711 -0.0680907 -0.22262 -0.0215734 -0.113254 -0.961976 -2.68408 -0.764607 0.0130113 -4.20679 -0.062529 0.588882 0.103889 0.180299 -0.266244 0.113462 -1.02226 -0.271998 0.0836104 -0.469453 -12.7359 0.104196 0.0260638 0.16518 -0.296683 -0.184322 -0.0948788 0.0259519 -0.0481363 -0.00621623 0.042388 -0.141783 10.3059 1.19489 -0.752575 2.66993 -0.217085 -0.602213 -0.290719 0.905043 -0.658686 0.174352 0.186907 0.343902 -0.423194 0.597853 -0.869065 0 +415 0 0 0 0 0 -0.35018 -0.135456 0.709431 3.06753 0 0 0.192255 -0.663658 0 -0.943283 -0.227214 0 0 0 -0.461941 -0.810147 0 0 0 0 0.489357 0 0 -0.019786 -6.18752 -0.163919 0 -0.980978 0 0 0.0567405 -0.0190665 0 0 2.61509 0.0159974 0 0 0.557101 -4.60779 0 0.121816 -0.712852 -2.06612 -0.200102 2.96594 -0.0068686 0 0.959082 -0.197624 -0.356078 -0.355042 0.832435 0.485979 0 0 -0.89543 -3.14664 0 -1.55993 -1.28203 -0.744831 0 0 0 0 -0.28243 -0.695859 0 -0.560227 0.889568 0 0 0 -7.31039 0 -3.83924 6.59988 0 -2.18882 3.21446 -3.91669 0 -3.14219 5.49396 -9.01313 22.0889 0 0 0 -0.50702 -0.123004 0 0 0 -0.145783 0.0259891 0 -0.0319592 0 0.00287089 0.084165 0 0 0 0 -0.00638783 0 -0.00381185 0 0.441103 0 -0.468889 -0.891485 0 0.0115392 0 0 -0.152226 0.00231523 -0.12879 0 0.0188383 0 0.00172459 -0.13182 0.00989369 0.0446424 -0.00730564 0 7.7798e-05 0 0 0 0.00118687 0 0 0.00129324 0.00154545 0.099679 -0.0374288 0 0 -0.0136209 0 -0.00630123 0 0 0.0184374 -0.0028912 0.101996 0.0015639 0 0 0.0884352 0.0799761 -0.0209198 -0.0486481 0.266294 0 -0.251015 -0.0203244 -0.0471724 0 0 0 -0.95391 0 -0.147087 0.431827 0 -0.0132898 0.0285089 -0.0361598 0 -0.000640848 0.00293782 -0.0188265 0.204069 0 -0.35018 -0.50702 -0.135456 -0.123004 1.31728 0.175478 -1.05265 -0.447223 -0.0634736 0.0173658 0.0962965 0.409634 0.00766302 0.104943 -0.184691 -0.0721378 0.0855437 -0.136085 0.117431 -0.687865 0.119545 0.143409 0.559871 0.0330413 0.480154 -0.374258 -0.116598 -0.0327355 3.06725 1.10143 0.988219 0.400388 -0.0330563 -0.129676 0.605167 0.0892401 0.0310203 -0.00641624 0.257932 -2.52311 -0.132202 -0.0450903 1.23922 -0.319538 0.0158311 0.109726 -0.0335777 -0.18464 -0.444192 1.22267 -1.95729 1.85292 -0.279211 -0.427502 0.516193 -0.90548 0.944476 -1.46249 0.406151 0.340545 -1.07604 -0.472247 -0.144445 -2.05487 -12.2325 -0.914499 1.24249 -0.371849 0.183991 -1.4395 0.318421 -0.227224 0.274562 0.121227 0.0284062 0.81379 -3.60028 -1.42867 -1.2249 -0.616868 -3.03715 7.41696 -0.264476 -0.873981 1.54471 -0.204328 0.238168 -1.05709 1.70807 -2.06137 3.4161 0 +416 0 -0.689269 0.123343 0.149684 -0.108142 -0.00371067 -0.28082 0.133138 0.603828 -0.0437285 -1.48313 0.096425 -0.875176 -0.180131 -1.32487 0.257908 0.65791 0.753503 -0.61234 0.618888 -3.09463 -0.348246 -0.265626 0.18736 -0.977931 0.56363 0.245805 0.550277 0.411937 0.8891 -0.330853 0.331843 0.932311 -0.520954 1.63091 0.259962 0.126883 1.95725 0.802202 0.674952 -1.4682 -0.436764 5.59606 0.440895 -3.79919 -0.984571 -0.7712 0.700519 2.43226 -1.40682 0.788026 -2.27652 -1.10403 -0.915238 0.0495304 0.476916 4.07665 -1.88844 -0.769811 1.45463 0.763672 0.00801675 3.83432 0.792063 -1.1581 -1.6002 1.23085 1.73628 1.67254 0.0249252 1.81175 -0.636795 1.91888 -1.81979 3.78904 -1.62724 -5.1989 -6.18976 3.01818 -2.56934 1.78672 -0.460965 -2.20573 2.70027 -1.89387 1.39518 0.943872 1.64493 -1.82496 1.52162 -0.413419 -4.08954 0 0 0 0 0 0.149684 -0.108142 0.00447617 0 0 0 0 -0.00184556 0 0.0107153 0 0 0.00362531 0.024688 -0.00289395 0 -0.00677227 -0.233832 -0.00719655 0 0 0.108701 0.00162657 0 0.0934144 -1.80614 0 0 0.00145833 -0.568865 0 0.181009 0 0.249151 0 0 0.031292 0 0 1.14544 -0.0233903 0.0655201 0 0.0769448 -0.00602761 0 0 0.17862 0 -0.00967872 -0.239992 0.0161216 0 0 -0.00752991 -0.0195376 0 -0.0112997 -0.12116 0.00119168 1.15888 -0.0293712 0.0263161 0 0.0550704 -0.0104162 -0.173774 0.0318851 0.0474307 0 0 0 -5.82017 -0.391814 -0.108553 -0.0565436 0.0180168 -0.118401 -0.00300134 0.000620295 -0.0149692 0.0477874 0 0 0 0 0 0 -0.00371067 0 -0.28082 0 0 0 0 -0.410269 1.56214 0 0 0.632921 0 0.0706423 0 0.0527827 0 0 -0.387947 0 0.317849 -0.00169168 0.51182 -0.0613216 0 0 0.514826 0 -2.02043 0 3.10166 -0.962946 0 -0.302864 1.24279 0.0671367 0 -0.0263464 0 0 0.191799 0 -1.61272 -1.23091 0 0 -0.176806 0 0 -0.0722091 -2.90069 -0.273007 0 1.56072 0 1.71216 -0.54438 0.407561 0.466945 0.198351 -0.343696 -2.16607 -0.18742 -1.55012 7.2659 -0.222826 0 0 0 0.271847 0.115 0 0 0 0 -0.405461 -25.721 -5.32404 2.28719 -2.1927 1.64248 -1.99372 -0.647916 0.503381 -0.368072 0.124825 0 0 0 0 0 0 +417 0 -0.30387 0.00853524 0.0208568 0.246318 -0.0919134 0.0597052 0.27 0.619722 0.163863 -0.957637 0.308256 1.23298 0.0126478 1.07844 0.066499 1.1576 1.87357 -0.101716 -0.0509908 1.18328 0.00274892 0.0839376 -0.0122037 -0.250978 0.214045 0.562507 -0.0659544 -0.0232628 0.133654 0.307458 -0.00644969 0.358119 0.410363 -0.248968 0.0627689 0.0381082 -0.432209 2.562 0.356185 0.453364 0.0380528 -1.06639 0.0224296 3.71569 0.0652506 0.213383 -0.0407268 -0.0762618 0.146301 0.09716 -0.296717 -1.98182 -0.143597 0.577749 -0.415284 2.00069 1.47796 1.13503 0.153499 -0.128947 1.24363 -2.47907 -1.39716 0.260009 -0.367675 -0.471572 0.480085 1.3365 -0.137971 -0.0961778 0.212205 0.564174 0.451074 -0.109434 0.233479 1.21227 -8.36142 0.686243 -2.01217 -1.26418 -0.203593 -0.774818 1.58426 -1.35736 0.896509 0.057563 -0.109015 -0.213961 -0.261713 -0.647964 -0.61476 0 0 0 0 0 0.0208568 0.246318 -0.0104672 0 0 0 0 -0.00304585 0 0.0236576 0 0 -0.0132927 -0.0535551 0.0585124 0 0.0088609 -0.123101 0.152248 0 0 0.610721 -0.00372344 0 0.0608946 -0.287163 0 0 0.084702 -0.276171 0 0.218733 0 0.174992 0 0 0.0246615 0 0 0.431322 -0.0428883 -0.189756 0 -0.144977 -0.0525444 0 0 0.436141 0 -0.0239461 -0.247742 0.0195368 0 0 0.020259 0.018631 0 -0.0498767 0.123315 -0.0133139 0.719225 0.0159347 0.0394114 0 -0.020452 -0.0368667 -0.272329 0.174254 -0.0320946 0 0 0 0.114325 0.259712 0.107825 -0.0275828 0.0383756 -0.031415 0.0149201 -0.0158356 0.0152312 0.0309203 0 0 0 0 0 0 -0.0919134 0 0.0597052 0 0 0 0 0.180158 0.169174 0 0 -0.67225 0 -0.0675414 0 0.00615398 0 0 0.721383 0 -0.132905 0.0274379 -0.293996 0.105805 0 0 0.0743183 0 2.96642 0 0.139718 0.612353 0 0.16495 -0.111532 -0.0323333 0 0.0244764 0 0 0.00459779 0 1.64413 1.35662 0 0 0.212829 0 0 -0.0799115 0.706221 0.211502 0 1.25764 0 -0.252016 0.572637 -0.341674 0.179341 -0.234294 0.441748 0.428904 -0.0128931 -0.0101054 5.36633 0.170419 0 0 0 0.147114 -0.0194303 0 0 0 0 0.186329 5.72687 3.95668 -1.45547 0.18736 0.0839182 -0.163754 0.613336 -0.390946 0.273699 -0.00209143 0 0 0 0 0 0 +418 0 -0.41601 -0.352066 -0.147388 -0.330406 0.60379 0.279262 -0.906291 -2.71624 -2.11363 1.85959 0.334988 -0.527456 0.0755162 0.203022 0.251675 1.64699 -2.03785 0.825953 0.443427 -3.11811 0.319838 0.672766 -0.168222 0.688988 -1.09977 0.957568 0.00146586 -0.580577 -2.11748 0.0548441 -0.592287 1.32165 2.51745 0.347685 -0.494335 0.0508708 -0.622071 7.81861 0.95338 -0.499064 0.0503287 -1.25414 0.100091 -0.438045 -0.338213 0.380018 -1.01416 2.47233 -0.278036 3.20852 -0.638516 -10.9271 -0.378058 0.080999 -0.127275 0.515245 -1.31425 -1.34314 -0.222822 -0.0966037 -3.10478 2.24095 -6.25323 0.826732 -1.73037 2.19474 -1.71955 0.716838 1.37701 0.355556 -1.81728 1.56511 1.6124 1.11868 0.531921 -0.351607 -36.9558 -11.6639 10.5575 -8.73271 6.71824 -8.25676 -2.32073 1.50822 -1.34866 3.03592 0.565054 -1.22963 2.54667 -4.90488 9.73964 0 0 0 0 0 -0.147388 -0.330406 -0.000454558 0 0 0 0 0.00174524 0 0.0207429 0 0 0.00109521 -0.00711844 0.00480921 0 0.012735 0.159027 -0.0323862 0 0 0.0680556 -0.000533282 0 -0.00990742 -1.2238 0 0 -0.0150587 -0.0250192 0 0.158244 0 -0.0819512 0 0 -0.0189888 0 0 0.925488 0.0256449 0.0203756 0 -0.00257856 0.0501773 0 0 0.1632 0 0.00494947 -0.260831 -0.00260965 0 0 0.00141269 0.00337453 0 -0.0387142 0.0633857 -0.00765132 0.600649 0.0562115 0.0421873 0 0.00649058 0.00868329 0.0173935 -0.0296469 -0.0739424 0 0 0 -2.04097 0.00457196 0.0287175 -0.0707768 0.0740213 -0.107189 -0.00034871 -1.53543e-05 -0.00497773 0.0209322 0 0 0 0 0 0 0.60379 0 0.279262 0 0 0 0 -0.204476 0.763842 0 0 0.867899 0 0.1056 0 0.0960215 0 0 -0.837211 0 -0.480507 -0.103565 0.265374 -0.115169 0 0 0.666484 0 -6.35082 0 -0.278495 -0.5285 0 -1.14424 -0.32571 0.0231711 0 -0.0142209 0 0 0.0996735 0 -1.84619 -1.31321 0 0 -0.19971 0 0 0.150466 -2.78916 -0.756304 0 1.51325 0 1.96311 -0.742399 0.766045 0.620608 0.211724 -1.23533 -2.05063 -0.0590516 -0.99801 11.4538 -0.300544 0 0 0 0.110322 0.0206351 0 0 0 0 -0.237421 -2.57965 -4.89678 7.00058 -0.923027 0.262949 0.663243 -0.792453 0.594149 -0.515179 0.713914 0 0 0 0 0 0 +419 0 0.128817 0.0024062 0.0198392 -0.063754 0.0212097 -0.164627 0.372319 0.300718 0.291982 -0.327354 0.483854 -0.967011 -0.00773403 -2.34036 -0.0571135 0.00939729 0.249166 -0.170846 -0.12644 -1.0036 -0.0566145 -0.00876429 0.0115344 -0.264547 0.110758 0.0168845 -0.0644639 0.249142 -1.01828 -0.636382 0.0614643 -0.377338 -0.0346249 -0.0616528 0.0270878 0.0481824 0.164699 0.210016 0.739031 -0.803682 -0.0406933 1.09432 0.105114 -4.32608 -0.113897 -0.604218 -0.190858 -0.736626 -0.278994 0.532928 -0.785538 -2.61392 0.202729 -0.571255 0.408322 3.35198 1.65084 0.389637 0.374871 0.121591 0.368752 -0.710576 -0.207057 -0.480136 -0.590965 0.559085 -0.105459 0.188964 -0.116229 0.382275 -0.515039 0.368508 -0.0685571 -0.524472 -0.543592 1.60941 -2.56341 -1.319 1.72826 -1.57816 1.20268 -0.317387 0.178857 -0.404354 0.840549 -0.584712 0.120047 -0.429516 0.58321 -0.66026 0.832814 0 0 0 0 0 0.0198392 -0.063754 -0.000331416 0 0 0 0 -0.000503971 0 0.01946 0 0 0.0015458 0.00529342 0.00456413 0 0.000686703 -0.023464 0.0678047 0 0 -0.0204589 0.000327905 0 0.0221534 -0.584168 0 0 -0.0104166 -0.12975 0 0.0988494 0 0.0344435 0 0 0.00313525 0 0 0.706981 -0.00592316 0.0288917 0 0.00782165 0.00855993 0 0 0.120686 0 -0.00566805 0.0366972 0.00553712 0 0 -0.00361919 -0.00221008 0 -0.00836685 -0.000336674 0.000840452 0.248878 0.0137588 0.0263538 0 -0.00533504 0.00300149 -0.232107 0.0547562 0.00503153 0 0 0 -3.87929 -0.224881 -0.343505 -0.043357 0.0174197 -0.0725325 -0.00123516 -0.000563482 -0.00260513 -0.00791996 0 0 0 0 0 0 0.0212097 0 -0.164627 0 0 0 0 0.44452 1.46459 0 0 -0.357427 0 -0.0669942 0 0.0718481 0 0 -0.602793 0 -0.161979 0.0295148 -0.476264 -0.0942168 0 0 0.632022 0 -1.33034 0 -1.45553 -1.21109 0 0.38359 -0.669 -0.0682036 0 0.0376918 0 0 0.158445 0 -2.08016 -0.985132 0 0 -0.165813 0 0 -0.0930581 -0.542292 -0.456523 0 1.66487 0 0.515372 -0.613638 0.538036 0.0852537 -0.0380503 -0.116125 -0.671671 0.0264127 -1.45357 7.58254 0.0994414 0 0 0 0.337539 -0.0756498 0 0 0 0 -0.418216 -2.98125 0.369087 -1.94373 1.26361 -1.08076 0.581871 0.315792 -0.316488 0.30834 -0.347303 0 0 0 0 0 0 +420 0 -0.497078 -0.262318 0.00516672 0.150686 -0.17412 -0.0534645 -0.000181503 0.804335 -0.0565624 -0.894024 0.0218146 -0.403033 0.000853537 -0.345119 -0.0120493 -2.79938 -9.64577 -0.236281 -0.0385278 1.0776 -0.0361675 0.0114949 -0.00240327 -0.136583 0.0999482 -0.833023 -0.0623103 0.0291527 -0.146263 -0.152264 -0.0122509 -0.253411 0.211329 -0.424518 -0.0621458 -0.00430692 -0.356882 2.10187 -0.0143833 0.356449 -0.0023808 -1.8662 -0.0209731 -0.728546 -0.116364 0.124908 -0.128536 -0.587421 0.0594604 -0.663849 -0.221681 5.54533 -0.136465 -0.0476456 0.105903 -0.11932 -0.986924 0.115203 0.0997399 -0.0112503 1.20342 -0.199242 -0.387707 -0.665033 0.883532 -0.21743 -0.323333 -0.612305 0.0248084 0.213627 0.134686 -0.199134 0.356231 0.866341 0.0378781 -0.429187 -6.25667 1.68846 -3.36597 0.0772599 -0.238137 -1.00631 0.909822 -1.0049 1.62861 -1.78449 0.122648 -0.0333359 0.124665 -0.0455471 0.119623 0 0 0 0 0 0.00516672 0.150686 -0.00325618 0 0 0 0 -0.000306822 0 0.0112092 0 0 -0.00501491 -0.00873413 0.00738317 0 0.00132416 -0.00881966 0.0655527 0 0 0.0247891 -0.000599219 0 0.00678213 -0.0042947 0 0 0.00245598 -0.0699052 0 0.0631496 0 -0.00076018 0 0 -4.93495e-05 0 0 0.103044 -0.00438106 -0.0725279 0 -0.044997 -0.014759 0 0 0.104181 0 -0.00718719 -0.15681 -0.000202189 0 0 0.0074792 0.00597835 0 -0.0180262 0.00372953 -0.0033854 0.240602 -0.0227034 0.0104102 0 -0.00165622 0.000517914 0.00751058 0.0700733 -0.0322899 0 0 0 0.237979 0.118228 0.0354104 -0.0052895 0.0106623 -0.0146205 0.00547597 -0.0058205 0.0088571 -0.00881228 0 0 0 0 0 0 -0.17412 0 -0.0534645 0 0 0 0 0.258 -0.7177 0 0 -0.639941 0 -0.0573627 0 -0.0395002 0 0 -0.28108 0 0.364431 0.0977918 -0.276097 -0.0280788 0 0 -0.350611 0 -2.65907 0 2.2731 -0.311867 0 0.732671 0.804926 -0.0247146 0 0.0355791 0 0 -0.0834229 0 -0.854651 -0.415848 0 0 -0.0236284 0 0 0.407384 1.34361 -0.410899 0 0.448944 0 -0.650894 -0.507283 0.424406 0.135668 -0.211033 0.36007 0.289233 -0.0411943 -1.41998 -4.35285 0.145205 0 0 0 -0.274258 0.0235653 0 0 0 0 -0.0780006 -10.0166 2.65635 -4.14745 -0.368789 0.562066 -1.3376 0.478829 -0.370435 0.340529 -0.461336 0 0 0 0 0 0 +421 0 -1.11997 -0.0969136 -0.0883432 -0.536777 0.605759 -0.0976424 0.595486 -2.17067 -0.232629 2.80808 0.253798 -0.22462 0.012691 0.438467 0.0677408 -1.2519 -2.67954 0.516216 0.133207 -1.97988 0.0314543 -0.0881175 -0.0116256 0.477878 -0.0546099 -0.55353 0.00666032 0.5701 0.57158 0.13188 -0.0533885 0.334481 0.102357 0.28953 0.47099 0.0168418 0.213512 3.02151 -0.194379 -1.4344 0.0817851 1.16486 -0.0643047 -0.259767 0.512703 -0.872813 0.407602 0.589583 0.108248 0.379189 0.272123 4.99416 -0.283728 0.00854007 -0.537765 0.0906361 -1.19144 0.0144347 -0.342286 -0.0507115 -1.20871 2.49132 -2.51785 1.67 0.142535 -0.213181 -2.99865 -0.614581 -0.0135194 -0.291003 -0.689524 -0.10748 -0.314803 2.19044 0.526266 -0.804546 -16.1489 -5.99756 4.12077 -4.43069 2.26973 -0.630311 -2.3306 1.49725 -1.88014 2.31678 -0.540387 0.282714 -0.510881 0.280466 -0.467472 0 0 0 0 0 -0.0883432 -0.536777 0.00454394 0 0 0 0 0.00113305 0 0.0147035 0 0 0.000975891 -0.00257412 0.000201538 0 0.00340201 0.0279686 -0.020443 0 0 -0.424941 -0.000217845 0 -0.0255778 -0.511683 0 0 -0.0591142 0.00916874 0 -0.0362373 0 -0.0983087 0 0 -0.0129263 0 0 0.396274 0.0170765 0.0203106 0 0.0736536 -0.000703977 0 0 0.0536555 0 0.0068329 -0.00788258 -0.0071039 0 0 0.00335185 -0.0111572 0 -0.00811494 -0.0016739 -0.0185729 -0.21356 -0.00422747 0.0262309 0 -0.00817268 0.0215805 0.0219431 -0.0483675 -0.0141127 0 0 0 -2.1536 -0.151592 -0.0591624 -0.0147173 -0.000637642 -0.0419224 0.000536163 -0.00183993 -0.00220866 0.00317236 0 0 0 0 0 0 0.605759 0 -0.0976424 0 0 0 0 -0.0532924 -0.787694 0 0 0.78633 0 0.107222 0 -0.0345258 0 0 0.21789 0 0.528203 -0.118063 -0.103761 0.0367552 0 0 -0.348428 0 3.42614 0 0.862972 0.0233788 0 -1.1971 0.379554 -0.00342871 0 -0.0125648 0 0 -0.0803038 0 0.275842 1.24719 0 0 0.153323 0 0 0.132298 -1.12408 0.409065 0 -0.979 0 0.185276 0.217751 -0.305566 -0.108539 0.0594972 -0.0883175 -0.286003 0.040693 0.260731 -9.72587 -0.109582 0 0 0 -0.264536 0.0177837 0 0 0 0 0.255693 -10.8103 -7.33501 8.81453 -2.35025 1.37731 -0.0142025 -0.528739 0.389762 -0.471618 0.830868 0 0 0 0 0 0 +422 0 0 0 0 0 0.0763614 -0.155057 -0.374892 -0.822279 0 0 -0.512341 -0.678678 0 -1.38957 0.0254302 0 0 0 0.144779 1.5159 0 0 0 0 -0.0874136 0 0 1.06862 2.80204 -0.442121 0 -0.0773484 0 0 0.0612464 -0.0783716 0 0 -0.535663 0.241132 0 0 -0.106372 -2.161 0 -0.29206 1.84755 -0.00501518 0.672886 -1.75433 0.586335 0 -0.0673616 0.241112 0.262678 -0.451594 -0.673629 0.134087 0 0 -0.0981543 0.486815 0 -0.011925 0.602911 0.198316 0 0 0 0 -0.144211 -1.20419 0 2.57556 -1.42864 0 0 0 2.13753 0 1.61318 -3.53762 0 1.02718 -1.88792 2.77491 0 0.515763 -2.3739 4.81383 -12.5353 0 0 0 -0.0755649 0.00287386 0 0 0 0.0242349 0.00808218 0 0.00487037 0 -0.00127343 -0.0108868 0 0 0 0 -0.100534 0 -0.0047499 0 -0.208161 0 0.100909 -0.283569 0 0.00167791 0 0 -0.0503033 -0.000761369 -0.0384134 0 0.000578581 0 0.000593712 -0.137927 0.00163321 -0.0144188 -0.0185753 0 -8.6258e-05 0 0 0 4.4192e-05 0 0 0.0057687 -0.000566541 0.135617 -0.0061637 0 0 -0.0216062 0 -0.00748432 0 0 0.000544243 -0.0219236 0.124041 0.00750766 0 0 -0.0883603 -0.0183397 -0.0505868 0.0744563 -0.0793379 0 -0.0676478 -0.00899261 -0.0177531 0 0 0 0.828494 0 0.0928236 0.244113 0 0.00548869 0.0113643 0.0401288 0 0.00131599 0.00449994 0.000231487 0.025222 0 0.0763614 -0.0755649 -0.155057 0.00287386 0.208846 -0.0187263 0.183176 -0.706468 0.717083 -0.00545614 0.0511945 0.967473 -0.00125061 0.109355 0.0182034 -0.0156545 0.0461879 0.0137553 0.355749 -0.412346 0.0860054 -0.19982 0.538548 0.135297 0.341738 0.0268654 -0.0370541 -0.0148173 -1.11969 0.181473 1.39331 -1.00559 0.0012201 -1.03673 0.341533 0.0634524 0.00105922 -0.130055 0.017819 -0.0842901 0.0672239 0.0141193 -1.8361 0.750424 0.00644524 0.0208036 0.244346 -0.0725986 0.153344 -0.648721 2.70413 1.00177 -0.138947 2.3996 -0.00393861 -1.62433 0.488192 -0.80853 -1.10799 -0.302574 0.982614 1.62093 0.103204 -1.93717 5.69872 0.578468 -0.753683 0.237793 0.260234 -0.118159 -0.250499 -0.0862344 0.0352915 0.0570822 -0.202383 -0.21611 -13.148 -6.94583 4.55835 -1.48031 0.371018 -0.687232 -1.00633 0.490535 -0.35204 0.219106 -0.027947 -0.171329 0.199902 -0.217811 -0.000177863 0 +423 0 0 0 0 0 -0.605773 -0.335299 0.5842 1.71314 0 0 -0.327661 -0.521659 0 -1.19088 -0.0900235 0 0 0 0.105476 -4.13007 0 0 0 0 0.42403 0 0 0.476509 2.11732 -0.39114 0 -0.256569 0 0 0.246693 -0.112363 0 0 -0.316022 -1.4642 0 0 -0.212899 -2.42887 0 -0.869636 0.708856 0.433551 0.318601 -2.33321 0.757932 0 -0.482301 -0.358563 0.699378 -1.6455 -1.38544 -0.0876359 0 0 1.36909 3.55185 0 1.62477 1.04125 0.617817 0 0 0 0 0.0324201 -0.351121 0 2.72034 -1.24244 0 0 0 -5.23967 0 -0.500125 -1.9707 0 0.0105366 -0.787161 -2.81275 0 0.553244 -1.41053 2.9674 -10.8595 0 0 0 -0.122453 0.00974052 0 0 0 0.0450652 0.0245811 0 0.00686021 0 0.00647577 0.0922348 0 0 0 0 0.0619344 0 0.034935 0 0.209389 0 0.299645 0.277387 0 -0.00483702 0 0 -0.299033 0.00559224 0.0419855 0 -0.000119746 0 0.00159278 0.0712804 -0.0352009 0.077979 0.00166676 0 0.000466327 0 0 0 -3.22134e-05 0 0 -0.00723174 -0.0129338 0.142416 0.0125547 0 0 0.00642593 0 -0.0145688 0 0 0.0291801 0.0404225 0.0485517 0.0639971 0 0 -0.173465 -0.139844 -0.0488102 -0.0859071 -0.202187 0 -0.00204652 0.0522579 0.0204255 0 0 0 -0.244922 0 -0.0809437 0.313878 0 0.00913202 -0.0125674 -0.0735994 0 -0.00592644 0.0178232 -0.0456775 0.116686 0 -0.605773 -0.122453 -0.335299 0.00974052 -0.162704 -0.119552 0.15735 0.261206 0.0747564 -0.0143313 0.0341436 -0.494735 -0.00532593 -0.0893799 0.0379999 -0.00771219 0.0286927 0.0906132 0.928546 -1.20625 -0.242199 0.099929 0.0333623 0.159222 0.160576 0.241105 -0.0965856 -0.0329055 1.86617 -0.468213 -2.06388 0.0753301 0.00852283 1.28862 -0.557807 -0.0075418 -0.00868629 -0.000108765 -0.0727348 1.67236 0.0535208 0.0376846 0.891595 0.284882 0.0042528 -0.0483555 0.077668 -0.194839 -0.1664 -0.603927 0.163955 -1.03282 0.105841 -0.0296884 -0.109759 -0.920652 0.091842 0.403601 0.492557 0.267911 0.204773 0.812453 0.0627882 -0.798502 -1.97462 -0.0635041 0.093922 -0.0164625 -0.179399 0.137684 0.231694 0.180653 0.022628 -0.240011 0.0947136 -0.170583 19.4759 5.86125 -7.81447 1.66908 0.506243 -5.89078 0.347735 0.356892 -1.3605 -0.416793 -0.184101 0.548779 -1.14626 1.31579 -2.46862 0 +424 0 0 0 0 0 -0.740001 -0.415155 1.43309 3.49505 0 0 1.35322 -0.699594 0 -1.50008 0.0781116 0 0 0 -0.0928247 -2.87982 0 0 0 0 0.832697 0 0 -0.0339524 -10.0419 -0.434071 0 0.614287 0 0 0.451152 0.174085 0 0 4.98325 -2.22161 0 0 0.946638 -3.17191 0 -1.18076 -2.16235 -0.0168304 -2.04432 0.926535 -2.11324 0 0.0818547 0.511049 -0.137793 0.0769771 0.169673 0.092138 0 0 0.52126 1.13084 0 -0.884579 -0.719772 -0.380937 0 0 0 0 0.819392 3.98132 0 -1.01091 -0.676883 0 0 0 -6.4417 0 -9.05496 14.9422 0 -4.89619 7.43281 -10.0261 0 -6.25434 11.1697 -21.1845 38.9006 0 0 0 -0.570548 -0.136033 0 0 0 -0.122312 -0.0120241 0 -0.0242966 0 0.0241346 -0.112639 0 0 0 0 -0.208182 0 -0.0520814 0 -0.422702 0 -0.466007 -0.617277 0 -0.0177641 0 0 -0.600656 0.00807508 -0.132101 0 0.0131076 0 -0.000925156 -0.0768659 -0.109039 0.108694 -0.0106296 0 0.00177106 0 0 0 0.000927679 0 0 -0.0104211 -0.00259853 -0.331584 0.0215958 0 0 -0.0515804 0 -0.000235996 0 0 0.0117281 0.0421351 0.184348 0.015055 0 0 -0.100638 -0.00990462 0.0182257 0.178329 0.275287 0 0.108277 0.00926402 0.142499 0 0 0 1.28533 0 -0.125669 0.885447 0 0.0149889 -0.0455461 0.280983 0 -0.00824505 0.0414734 -0.104067 0.328751 0 -0.740001 -0.570548 -0.415155 -0.136033 0.953976 0.229489 -0.416645 0.512964 0.650672 0.210234 -0.0650943 0.344638 0.037498 0.150089 -0.122695 0.121312 -0.0188159 1.02608 -0.68577 2.04295 -0.389876 0.0299722 -0.287782 -0.110778 -0.473519 -0.179043 0.882495 0.0510862 -0.421661 0.0996017 -3.0474 -0.513039 -0.0270433 0.499092 -1.25903 -0.00269992 -0.00867968 0.0606989 0.00241923 -1.31423 -0.00517973 -0.0285996 -0.189007 -0.831366 -0.00186111 -0.0635891 -0.101917 0.314326 -0.063823 -0.503371 2.09459 0.816949 0.197386 -0.0991761 0.0148674 -1.67503 0.764729 -0.78718 0.354284 0.668416 -2.26906 1.74066 -0.50255 -0.675598 6.14571 -0.329092 0.0570639 -0.0125794 -0.044812 0.615593 -0.189085 0.116068 -0.421073 0.11192 0.13788 -0.496617 28.757 3.58158 -3.13091 -1.74561 -2.08811 7.75236 -2.10357 0.647243 0.748099 0.0605564 -2.08472 1.06425 -0.168244 -0.511586 1.90546 0 +425 0 0.0631056 0.191912 0.0162115 -0.0815671 0.0384698 0.0190623 0.733991 1.04852 0.386433 0.388804 0.11273 0.951468 -0.00807286 1.23121 0.0346637 1.66748 7.24932 0.0375724 0.044161 -1.59224 0.0462088 0.191764 0.00939373 0.0864993 0.486765 0.371074 0.132956 -0.183008 -1.16412 0.453169 0.0579588 0.258625 0.136002 0.325564 0.305169 0.0353706 0.500909 0.121294 0.407132 -0.534261 -0.0396822 1.70399 0.104816 2.23861 -0.109796 0.0166912 -0.414791 0.335982 -0.453271 2.6428 -0.337764 0.532061 0.13923 0.0836354 -0.028587 -0.749541 1.078 -0.293315 0.284192 0.146361 -0.803419 0.778121 -0.295808 -1.17121 -1.77464 -0.71451 1.18056 1.80458 0.00706964 0.26371 0.226651 0.945826 -0.320243 -2.52969 -0.133706 0.837628 2.839 1.1063 -1.7595 -0.374602 0.207817 0.324491 -0.601121 0.202088 0.54809 -3.39737 0.263792 -0.679588 1.70886 -3.17093 6.58255 0 0 0 0 0 0.0162115 -0.0815671 -5.69251e-05 0 0 0 0 -0.000611396 0 0.00889751 0 0 -0.000779506 -0.00206569 0.0100891 0 0.00275906 -0.025865 0.00277766 0 0 -0.0752364 -0.000137862 0 -0.0464332 -0.693391 0 0 -0.000847747 -0.173054 0 -0.215821 0 0.00343471 0 0 0.00158899 0 0 -0.538616 -0.0084405 -0.0148943 0 0.00214358 -0.00472533 0 0 -0.16178 0 0.000517417 -0.0669208 0.00213151 0 0 0.00526052 -0.00830667 0 -0.0142634 -0.0317892 0.000899498 -0.437403 -0.0379392 -0.00510949 0 -0.00674471 0.00460984 0.143031 -0.15404 0.0274416 0 0 0 3.90986 0.336698 0.227407 0.00931058 0.0381635 0.0130427 0.00151668 -0.000687955 0.0036089 -0.00139485 0 0 0 0 0 0 0.0384698 0 0.0190623 0 0 0 0 0.0256806 0.697901 0 0 0.154163 0 0.0125983 0 0.0300854 0 0 -0.448638 0 -0.0391216 0.00796508 -0.0337981 -0.0632847 0 0 0.230345 0 3.90412 0 -1.09487 0.780376 0 -0.0286855 -0.408319 -0.00591824 0 0.00907003 0 0 0.0926192 0 1.53938 -0.922778 0 0 -0.135702 0 0 -0.428892 -0.840134 0.0316253 0 -2.97568 0 0.924824 0.0786561 -0.0860862 0.0544214 0.243467 -0.157706 -0.894157 -0.0627464 2.04183 -0.407302 -0.172821 0 0 0 0.0457149 0.0362823 0 0 0 0 0.051922 5.60736 -0.510652 0.909191 0.2216 -0.308052 0.687421 -0.0820674 0.0107008 0.0118676 -0.0340277 0 0 0 0 0 0 +426 0 -1.05348 0.346124 -0.00034626 -0.0747579 -0.198098 0.289088 -0.358202 0.404128 -0.00805361 -0.57666 0.235323 0.771128 0.00108813 -0.459961 -0.00342907 3.62825 13.1282 -0.121609 0.00850918 0.199286 0.00282577 -0.208834 -0.00423763 -0.100727 -0.284214 1.17669 0.0763568 -0.670105 -0.658736 0.170285 -0.0114145 -0.0586598 -0.184475 -0.0443732 -0.309116 0.0196283 0.629838 0.408086 -0.00429983 0.473855 0.00885296 1.17317 -0.0120006 1.58052 0.0764014 0.699766 -0.877237 -0.0955541 0.0326113 -0.725548 -0.31791 -7.16762 -0.0405043 0.0171367 -0.128496 -4.54753 -0.249028 0.0555502 0.208894 -0.0210042 -1.16323 -0.102636 0.551813 0.0362503 0.022507 0.630983 0.00398246 0.271966 0.000799894 1.18476 -0.445481 -0.0761747 -0.811374 -0.465636 0.53967 -0.0148863 -4.70818 1.84431 -2.56492 1.48117 -1.58708 0.97374 0.966713 -1.10152 2.12976 -1.77435 -0.18356 0.137729 0.575323 -1.13081 3.72484 0 0 0 0 0 -0.00034626 -0.0747579 0.00344947 0 0 0 0 0.00109541 0 -0.0101513 0 0 0.00240889 0.00109765 0.00383183 0 -0.00121461 0.041137 -0.0184905 0 0 0.37253 3.99591e-05 0 0.070355 1.45978 0 0 0.0558229 0.288166 0 0.194362 0 0.0501827 0 0 0.00765854 0 0 0.516329 0.0152326 0.0377182 0 0.0495854 0.0592417 0 0 -0.302933 0 -0.00905438 0.2414 0.0188703 0 0 -0.00120233 -0.0157901 0 0.0316076 0.0634033 -0.00780102 -1.66069 0.033738 -0.045627 0 -0.0113386 -0.0271745 -0.0840982 -0.180024 -0.0247759 0 0 0 -2.77868 0.0744869 -0.372685 -0.0454999 0.1042 -0.261947 -0.00234879 0.000954547 0.0016204 -0.019483 0 0 0 0 0 0 -0.198098 0 0.289088 0 0 0 0 0.197112 0.21414 0 0 -0.361115 0 -0.0505031 0 -0.0106584 0 0 -0.456451 0 -0.981477 0.0695486 -0.343631 -0.0650297 0 0 0.0143566 0 -0.857817 0 0.488186 0.120174 0 0.60326 -1.17208 -0.0382281 0 0.0115051 0 0 0.0208863 0 -0.56174 -0.205901 0 0 -0.0171153 0 0 -0.181578 1.10645 -0.013802 0 -0.1611 0 -1.28368 0.218717 -0.115725 0.551404 -0.0161842 -0.600024 1.37306 -0.139069 0.143232 2.29787 -0.0385682 0 0 0 0.112353 0.174794 0 0 0 0 -0.076455 -3.40926 3.64913 -5.85939 1.24254 -1.19585 0.427558 0.41851 -0.376927 0.367302 -0.46294 0 0 0 0 0 0 +427 0 -0.677206 -0.238602 -0.154325 -0.625654 0.560233 0.310684 -1.17337 -4.62966 -0.323454 3.85572 -0.735383 1.04009 0.0452356 0.84474 -0.0749955 0.447742 3.90292 0.425511 -0.151586 3.09258 0.0263411 0.249379 -0.0316568 0.775008 -0.64893 -0.158383 -0.0288386 0.103391 2.35076 0.243954 -0.1228 -0.573708 0.831639 -0.232205 -0.216255 -0.134051 -0.10849 2.87941 -1.60642 1.01352 0.238409 -1.2391 -0.363141 4.46743 1.01051 0.385353 0.86585 -1.34992 0.693524 -2.90276 1.52319 -1.42891 0.336016 -0.783884 1.54577 0.345893 -0.378138 -0.848024 -1.18795 -0.332593 1.12285 0.244788 -1.44058 0.103908 1.71765 -0.160914 -0.540166 -1.2311 -0.121346 -1.91885 0.611301 -1.16085 0.0441366 0.713795 -2.54563 -0.48884 -9.27397 -11.1249 10.4745 -5.15006 4.97143 -6.79595 -5.83016 5.78555 -8.40302 10.5461 -2.42783 3.6831 -5.68092 8.62055 -13.2924 0 0 0 0 0 -0.154325 -0.625654 -0.000729876 0 0 0 0 0.00191584 0 -0.0492273 0 0 0.011342 0.0333159 -0.085972 0 -0.0124671 -0.0337498 -0.364596 0 0 -0.0777894 0.00241633 0 -0.0329856 -0.823527 0 0 -0.0080002 -0.136112 0 -0.199106 0 -0.0675737 0 0 -0.00761571 0 0 -0.582075 0.0271852 0.155698 0 -0.00790289 0.0665014 0 0 -0.11692 0 -0.0181104 0.0069869 0.045232 0 0 -0.0106126 -0.0117844 0 0.00760249 0.0612636 0.0127979 0.234876 0.018651 -0.00340398 0 0.00237934 -0.104367 0.25185 -0.0938845 -0.0698342 0 0 0 4.05549 -0.20114 0.921805 0.0663746 -0.0947243 0.210347 -0.0115074 0.0198127 -0.0398387 0.0913896 0 0 0 0 0 0 0.560233 0 0.310684 0 0 0 0 -0.642719 -1.0529 0 0 1.75101 0 0.222855 0 -0.0407241 0 0 0.989109 0 0.421752 -0.244556 0.608066 0.112163 0 0 -0.453811 0 4.06685 0 3.48351 0.184369 0 -1.78008 1.18787 0.0837157 0 -0.0937775 0 0 -0.0849106 0 0.946873 2.61781 0 0 0.291682 0 0 0.884557 -4.0958 0.00398666 0 0.789282 0 2.43465 -0.861315 0.386816 -1.84145 -0.0117924 1.68411 -2.93176 0.481749 -0.583306 -6.59797 0.211188 0 0 0 -0.565159 -0.484191 0 0 0 0 0.355978 -24.0203 -13.288 12.766 -3.46248 2.7373 -2.04051 -1.53069 1.2377 -1.23174 1.35935 0 0 0 0 0 0 +428 0 0.850052 0.254563 0.0445495 0.0226476 0.152197 0.194058 0.304673 0.994953 0.310103 -1.17402 0.511616 0.62482 -0.0216936 2.10564 0.0426934 0.0323446 -0.275748 -0.166705 0.077688 2.15188 -0.0344356 -0.43454 0.0196065 -0.345675 -0.142357 0.160199 0.100782 -0.660073 -1.60563 0.530525 0.0772774 0.0953003 -0.984414 0.365095 -0.204136 0.114338 0.523315 -3.12316 0.869819 1.45082 -0.0970837 1.83175 0.204084 2.59886 -0.366093 0.855536 -1.05507 0.202932 -0.640952 2.91013 -1.25413 -6.88481 0.084385 0.073452 -0.617949 -3.49569 -0.601817 -0.349202 0.766739 0.24578 -2.26898 -2.39331 -1.97387 -0.540008 -1.59426 0.224289 -0.692818 0.737514 -0.0748984 1.31397 -0.813759 0.885714 0.324504 -3.60693 1.52793 -0.783459 16.1537 9.41716 -4.13838 5.59934 -5.27873 9.28745 2.22587 -2.33994 4.28308 -3.09183 0.817045 -1.36367 2.47189 -3.33987 5.96626 0 0 0 0 0 0.0445495 0.0226476 0.000777654 0 0 0 0 -0.000249253 0 0.00935664 0 0 -0.0045391 -0.0126042 0.0233457 0 0.00327414 -0.0288108 0.0553416 0 0 0.369611 -0.000879639 0 0.063668 0.649883 0 0 0.0542365 -0.00748346 0 0.0424836 0 0.0771337 0 0 0.0111123 0 0 -0.216809 -0.00379583 -0.070417 0 0.00586199 0.065123 0 0 -0.36894 0 -0.00252705 0.048602 -0.00732281 0 0 0.00790936 -0.00649915 0 -0.00977792 -0.0461502 -0.00426368 -0.825779 -0.0688842 -0.0317947 0 0.0103583 0.0130632 -0.00810484 -0.0831761 0.0349433 0 0 0 4.07523 0.657703 0.086199 -0.0298487 0.147718 -0.187415 0.00471677 -0.0048466 0.0159131 -0.0202954 0 0 0 0 0 0 0.152197 0 0.194058 0 0 0 0 0.47672 1.2432 0 0 -0.41175 0 -0.0665625 0 0.0727336 0 0 0.0598262 0 -0.293196 0.0959425 -0.402402 -0.0130848 0 0 0.442234 0 5.3473 0 -0.679072 0.774004 0 0.592781 -0.349387 -0.0584683 0 0.0727461 0 0 0.179679 0 2.25841 -0.364318 0 0 -0.0771181 0 0 0.0358443 -0.624307 0.568455 0 -1.32419 0 -0.644428 0.436687 -0.511993 0.518677 0.0726291 0.0199145 0.293855 -0.268255 -0.103125 -0.68324 -0.0392046 0 0 0 -0.171367 0.199995 0 0 0 0 -0.080212 2.37289 2.82364 -3.48811 0.450679 -0.421993 0.570122 0.45131 -0.421343 0.428605 -0.553783 0 0 0 0 0 0 +429 0 -0.237884 -0.436152 0.0166921 -0.173086 -0.00915752 -0.165517 0.574336 1.35919 0.38432 -0.716055 -0.321699 0.480999 -0.0157461 1.76155 0.00776981 -1.49006 -3.18002 -0.202084 -0.0590944 2.51637 -0.0992904 0.418012 0.0274655 -0.343724 0.605834 -0.757884 -0.0141808 0.415605 1.60841 0.291069 0.104331 0.0421762 0.492521 0.209328 0.355503 -0.0128166 0.00640128 0.505861 -0.710798 0.579833 -0.0450927 0.590511 -0.034236 2.69848 0.031113 -0.0457172 0.776642 -0.330032 0.00263465 1.42257 -0.0147745 -1.57752 0.396466 -0.287618 0.121368 1.51572 1.37778 -0.0378327 0.546458 0.126281 -1.01342 -2.2959 1.12194 -2.01583 -0.509848 -1.08816 1.01875 -0.0362051 -0.192354 1.63626 -0.0481155 -0.0315591 -0.0760859 -3.02195 -0.142064 -0.764133 -8.20624 0.490577 -4.91345 -0.370074 1.02413 -3.79571 0.716772 0.328166 -1.15928 -0.985797 -0.069438 0.826582 -1.85263 3.04741 -5.9766 0 0 0 0 0 0.0166921 -0.173086 -0.000421967 0 0 0 0 -0.00118267 0 -0.0323139 0 0 0.00819248 0.0163839 -0.0245045 0 -0.00396937 0.013588 -0.227791 0 0 -0.0536184 0.00120835 0 0.0274124 -0.295894 0 0 -0.010074 0.0050679 0 0.00483451 0 0.00725103 0 0 -0.000146423 0 0 0.0918437 -0.0159671 0.110927 0 -0.00209804 0.118611 0 0 -0.279022 0 -0.0186445 -0.124866 0.051431 0 0 -0.008395 -0.0124836 0 0.0145131 -0.019419 0.0206687 -0.261018 0.0864332 -0.0343398 0 0.0184726 -0.118939 0.0924244 -0.073857 -0.155297 0 0 0 1.51171 0.0279817 0.419502 -0.0112074 0.0594058 -0.0945374 -0.0087855 0.0168932 -0.0345931 0.0584121 0 0 0 0 0 0 -0.00915752 0 -0.165517 0 0 0 0 -0.0177347 0.535928 0 0 0.353065 0 0.0156387 0 0.0340285 0 0 -0.252359 0 1.12338 0.0952196 0.254125 -0.0519048 0 0 0.19972 0 2.56712 0 5.06065 0.115675 0 0.361259 2.25539 0.020049 0 0.0207039 0 0 0.0931449 0 0.723941 -0.550127 0 0 -0.112593 0 0 0.281223 1.10956 0.143695 0 -1.49064 0 0.828722 -0.194836 0.0378685 0.091357 -0.233935 1.63613 -0.447776 0.143373 0.620292 -3.13304 0.338085 0 0 0 -0.379861 -0.0418411 0 0 0 0 0.2087 -46.0257 -8.55852 1.63042 -4.03932 3.27548 -3.37398 -0.376974 0.286309 -0.202235 -0.237899 0 0 0 0 0 0 +430 0 -1.51258 -0.444788 -0.162687 -0.52289 0.281638 0.27503 -2.22368 -5.84016 -0.327705 4.41948 -0.601121 -0.153933 0.0615838 1.41848 -0.0646258 -2.10989 -10.1713 0.673215 -0.208276 4.07867 0.138113 -0.0222396 -0.0538793 1.10286 -1.15669 -0.378493 -0.0399023 -0.117317 0.619599 0.228433 -0.159176 -0.42115 0.563713 -0.199502 -0.465696 -0.129568 -0.606635 4.86638 -1.20745 1.71061 0.245449 -2.12383 -0.298561 1.31116 0.826173 0.754448 0.0882284 -1.23806 0.505352 0.279684 1.63579 0.645255 0.430002 -0.538796 0.621245 -0.716059 -0.0402567 -0.20038 -1.49027 -0.31511 1.07771 0.301767 -0.822274 2.05123 1.31391 1.04284 -0.893834 -1.22066 0.0478736 -2.90896 -0.0911258 -0.723996 0.785129 -0.36175 0.241706 0.858191 -16.5852 -11.9049 11.0584 -7.04142 7.65046 -9.47785 -7.16877 6.91784 -8.34278 11.4769 -1.84385 2.23437 -2.22637 2.90854 -2.30233 0 0 0 0 0 -0.162687 -0.52289 -0.00239193 0 0 0 0 0.00121417 0 -0.0300501 0 0 0.00619496 0.023046 -0.0794127 0 -0.00816894 -0.0888164 -0.270803 0 0 -0.11722 0.00170448 0 -0.145769 -1.64727 0 0 -0.0147092 -0.414889 0 -0.389814 0 -0.0811748 0 0 -0.0094989 0 0 -0.884234 0.0167862 0.0809321 0 -0.0342841 0.0137776 0 0 -0.0194884 0 0.00081236 -0.104038 0.00557533 0 0 -0.00464833 0.00442866 0 -0.0132392 0.0252867 0.00872121 1.22599 -0.0449694 0.0171501 0 0.00807191 -0.0395152 0.212136 0.0660646 -0.0317821 0 0 0 5.62264 -0.0517241 0.960742 0.0772566 -0.107097 0.276351 -0.00602518 0.0124672 -0.0256051 0.0792304 0 0 0 0 0 0 0.281638 0 0.27503 0 0 0 0 -0.341333 -1.73662 0 0 1.71192 0 0.209871 0 -0.113715 0 0 0.506558 0 0.691261 -0.15855 0.507001 0.0898021 0 0 -0.82211 0 -5.39231 0 7.10014 0.440123 0 -1.19498 2.28862 0.0618075 0 -0.0442336 0 0 -0.238556 0 -0.591318 0.817062 0 0 0.134294 0 0 0.0344586 0.0611202 -0.80093 0 0.430111 0 1.14986 -1.11071 0.96795 -1.51835 -0.192787 2.51303 -1.04185 0.498469 1.66115 3.63216 0.464671 0 0 0 -0.00208095 -0.472658 0 0 0 0 0.399947 -53.1128 -15.6183 9.44569 -5.29466 4.27158 -4.50234 -1.392 1.13571 -1.2011 0.915985 0 0 0 0 0 0 +431 0 0 0 0 0 0.166814 -0.283683 0.625375 0.147698 0 0 0.047996 -0.185539 0 -0.921146 0.000670045 0 0 0 -0.0942697 1.4766 0 0 0 0 0.469233 0 0 0.966811 0.977473 -0.577559 0 0.562897 0 0 0.410904 0.0156416 0 0 0.22076 -0.175184 0 0 0.0465382 0.921912 0 -0.810899 1.15411 1.02189 -0.0700139 -4.01066 0.358889 0 0.0791036 -0.257055 0.1922 0.095339 -0.127279 -0.390034 0 0 -0.325654 -2.58619 0 -0.472326 1.07059 -0.0351712 0 0 0 0 -0.169938 0.387186 0 0.19119 -1.01633 0 0 0 -1.29102 0 -0.163913 -2.21856 0 0.152855 -0.656688 0.74255 0 -0.169019 0.304179 0.422383 -3.6406 0 0 0 -0.0503519 0.0154628 0 0 0 -0.0405315 0.0219154 0 -0.00745101 0 0.00823418 -0.0357659 0 0 0 0 -0.210227 0 -0.0275474 0 -0.410376 0 -0.193043 0.0136417 0 -0.00407522 0 0 -0.164241 0.00205257 -0.00883729 0 0.00414893 0 0.00163545 0.0220537 -0.0261073 0.0175547 0.0053679 0 0.000668666 0 0 0 0.00026299 0 0 -0.00617019 0.00234824 -0.482416 0.0317276 0 0 0.0160604 0 -0.00293505 0 0 0.00466942 0.00600807 -0.121882 0.0600821 0 0 -0.150553 0.00991278 -0.0103771 -0.259791 -0.503055 0 -0.167088 -0.00196937 0.0727363 0 0 0 1.93108 0 0.0394277 0.411531 0 0.0199184 -0.0109189 0.477474 0 -0.00371394 0.0143319 -0.022068 0.127531 0 0.166814 -0.0503519 -0.283683 0.0154628 0.0288934 2.41004e-05 0.17858 0.272949 1.94016 -0.0311895 0.0267063 -0.201276 -0.00574627 -0.0201409 0.0381891 0.0901437 0.0331294 -0.130056 0.261142 -0.46654 -0.372397 0.0208653 0.169995 0.0315707 0.210857 0.0310216 0.833302 -0.0145415 -0.442295 -0.0393745 -0.765878 -1.63169 0.00713247 0.230339 -0.203984 0.0359235 0.000430238 0.00928547 -0.00916968 0.164406 0.273754 0.00552691 -1.88647 0.901064 0.0046187 0.00253564 0.0881651 -0.0811283 -0.0999623 -0.125738 -0.926712 -1.1361 -0.0483994 0.576755 -0.0525506 -0.42966 0.501499 0.201591 -0.14882 -0.00290521 -0.490979 0.311908 -0.123381 -1.67264 -4.75736 0.0856942 0.303216 0.0453315 -0.123785 -0.10115 0.0256022 -0.0235538 0.0824009 -0.0676798 0.0522621 -0.165843 2.09477 0.580152 -0.0378632 0.382734 0.0895636 -0.495601 0.105617 0.0443492 -0.0457515 0.171858 0.0695806 -0.00417386 0.0213807 0.0456888 -0.0639553 0 +432 0 0 0 0 0 0.520017 0.0869866 0.106645 -0.729851 0 0 0.189221 -0.857359 0 0.133091 0.0534214 0 0 0 -0.0242913 -2.43143 0 0 0 0 -0.223283 0 0 -0.141048 -1.79834 0.00848001 0 0.424993 0 0 -0.0795449 0.0150288 0 0 0.648375 -0.667171 0 0 0.113899 -2.99666 0 0.0982065 -0.41116 0.290887 -0.279589 1.88763 -0.562738 0 0.0704117 0.157485 -0.239675 -0.609718 -0.105575 -0.427167 0 0 -1.14535 1.41927 0 -0.461065 -0.475293 -1.04232 0 0 0 0 -0.26998 0.530251 0 0.231869 -0.244083 0 0 0 3.06416 0 -0.615678 3.4164 0 -0.533934 2.25362 -0.749613 0 -0.796287 2.03732 -2.99266 5.14845 0 0 0 -0.121764 -0.0195168 0 0 0 0.0283764 0.0264114 0 0.00330857 0 -0.00334808 -0.0106535 0 0 0 0 -0.0555656 0 0.00481481 0 -0.288088 0 0.277723 -0.0659351 0 0.000947603 0 0 -0.0566115 -0.000393942 0.00428076 0 0.00542973 0 0.00318036 -0.0920978 -0.00262996 -0.014632 -0.0103022 0 -0.000223688 0 0 0 0.000478865 0 0 0.00142701 0.00572722 -0.225427 0.0105566 0 0 -0.00503435 0 -0.00575117 0 0 0.01983 -0.0615365 -1.03195e-05 0.041297 0 0 -0.021918 -0.00256925 0.0162534 0.0612002 0.172246 0 0.217121 -0.0263203 -0.0232914 0 0 0 1.07669 0 0.125874 -0.0274377 0 0.0156268 -0.0313429 -0.0566143 0 -0.000133481 0.0106741 -0.00733771 -0.188232 0 0.520017 -0.121764 0.0869866 -0.0195168 0.353997 0.0765511 -0.0296721 -0.239573 -0.267552 0.0228735 0.0414676 0.272028 0.00376446 0.0384332 -0.0177967 0.00480532 0.0159098 0.140265 -0.110832 0.0769342 -0.124489 -0.0521777 -0.0829151 0.00352852 0.15753 -0.0443966 0.0334064 0.014455 -0.931275 0.260328 -0.650053 0.17513 -0.00414059 -0.703074 -0.513835 -0.0178809 0.00552115 -0.0510073 0.0524505 -0.348085 -0.0571149 -0.00724333 0.163457 -0.208281 0.00466891 0.0245731 0.0389446 0.0459058 -0.021578 -0.237763 1.03347 1.29972 0.0226205 -0.767912 0.0473516 -0.330756 -0.00385485 -0.720862 0.0468856 -0.215781 0.147309 -0.0167484 -0.10923 -0.0628949 -5.88519 0.153263 -0.230615 0.0603303 0.295458 -0.136105 -0.0414558 -0.0465301 -0.0379911 0.0734422 -0.154758 0.175691 1.77798 -0.113231 0.804219 -0.0179309 -0.885157 0.585026 -0.128607 -0.154175 0.296815 -0.589224 -0.0750423 -0.118313 0.186124 -0.246113 -0.253853 0 +433 0 0 0 0 0 -0.770223 -0.139363 0.142778 1.53614 0 0 0.563324 0.378459 0 -1.36286 0.0394823 0 0 0 0.0847357 -3.43879 0 0 0 0 0.364739 0 0 -0.105384 -5.45714 -0.139717 0 0.035988 0 0 0.0162403 0.0315002 0 0 2.04382 -1.33108 0 0 0.293798 -0.568743 0 -0.436134 -1.2418 0.172802 -0.241013 -2.61368 -0.0401736 0 -0.325036 0.327972 -0.12909 0.243069 -0.112272 0.415702 0 0 0.746127 3.49852 0 -1.19368 0.266681 0.598911 0 0 0 0 0.0337609 0.35089 0 3.85866 -0.100785 0 0 0 -2.50747 0 -1.27974 3.01734 0 -0.0183995 1.77109 -4.22823 0 -0.92452 3.88946 -8.73876 16.6301 0 0 0 -0.333988 -0.0588274 0 0 0 0.0540734 -0.0433065 0 0.00726339 0 -0.0135381 -0.0370448 0 0 0 0 -0.0219234 0 0.00181536 0 -0.29568 0 0.449391 0.47768 0 0.00203517 0 0 -0.0400099 -0.00516329 0.0694908 0 -0.00322374 0 -0.00306683 0.123552 0.00334545 -0.0782077 0.0129425 0 -0.00093824 0 0 0 -0.000255261 0 0 0.013801 -0.00461437 -0.248614 -0.0657566 0 0 -0.0253022 0 0.00537401 0 0 -0.00916906 -0.0183298 0.140856 -0.00946523 0 0 -0.150128 0.0512711 -0.0157256 -0.235269 0.0483647 0 -0.198579 -0.0280996 0.0489854 0 0 0 1.39903 0 0.204412 0.410591 0 -0.00252518 0.0695084 0.314658 0 0.00628982 -0.00736802 0.0495511 0.23831 0 -0.770223 -0.333988 -0.139363 -0.0588274 0.549819 0.118871 -0.391384 0.645316 -1.72198 0.0265812 -0.0321275 -0.500477 0.0047905 -0.0296737 -0.0583789 -0.0833405 -0.0400812 0.113515 0.179361 0.397468 -0.305008 0.235361 -0.523373 0.0361719 -0.245739 -0.0969803 -0.641294 0.0105931 -9.44435 0.660005 -2.93992 -0.70501 -0.00873645 1.94939 -1.50101 -0.0615116 0.00657775 0.0719243 0.0750908 -0.964329 -0.264415 -0.0101431 -3.20912 0.468751 -0.00579677 0.0640048 0.0896061 0.0616281 0.13839 -0.180931 -1.11036 -0.0587954 0.0215004 -0.579904 0.10397 -0.274954 -0.0533442 -0.11616 0.0147827 0.52487 0.385799 -0.0116399 -0.243812 1.93902 -1.78366 0.0302889 -0.552438 -0.113133 -0.0777669 0.18184 0.0641994 -0.15335 0.0105066 0.150975 0.257164 0.539334 8.04106 1.85481 -6.65378 0.631196 -2.91839 3.96757 0.0886883 -0.619245 1.0545 -1.26148 -0.0607312 -0.301173 0.611044 -1.04062 1.81088 0 +434 0 0.0443457 -0.0886585 -0.0382877 -0.0876078 0.0660319 0.130099 -0.315531 -0.356004 -0.359329 0.783747 -0.265396 0.0475781 0.008069 0.0704876 -0.0592166 -0.66294 -1.48435 0.00126102 -0.0601028 -1.02346 0.0158559 0.00534485 -0.0106121 0.253474 -0.0821424 -0.232687 -0.0323212 -0.338256 0.198014 0.135187 -0.0640163 -0.567472 -0.131673 -0.182767 -0.153352 -0.0495817 -0.387472 -0.380543 -0.427248 -0.179181 0.0482786 -1.36864 -0.0845374 -0.0429637 0.252271 0.153587 -0.200828 -0.736706 0.220479 1.16867 0.372621 2.39252 0.0345868 0.00656059 -0.0359827 0.494905 -0.250502 -0.217777 -0.351946 -0.105456 0.219229 1.12361 -1.05508 -0.629913 -0.125422 -0.503214 0.506013 -0.158706 0.114578 -0.163058 0.289746 -0.416416 0.391168 0.0641378 0.322681 0.0674301 -2.37849 -3.20652 1.39223 0.0879457 -0.523901 1.48066 -1.09836 0.567336 -0.709618 -0.121039 -0.115439 0.223347 -0.342601 0.602082 -0.466709 0 0 0 0 0 -0.0382877 -0.0876078 0.00530108 0 0 0 0 0.000671903 0 -0.0119931 0 0 0.00415724 0.00347407 -0.02222 0 -0.00214812 -0.00221342 -0.119546 0 0 -0.309511 0.000320753 0 -0.118499 -0.0979792 0 0 -0.0353055 -0.0146179 0 -0.366642 0 -0.0532516 0 0 -0.00511757 0 0 -0.825575 0.011926 0.0535729 0 0.0807957 0.0308971 0 0 -0.0217515 0 0.0114812 -0.559968 -0.0177771 0 0 -0.00819054 -0.00844069 0 0.0083952 0.0512303 0.0215826 -2.38228 0.0131548 -0.0162859 0 -9.90545e-05 0.125381 -0.0694336 -0.0852507 -0.0662987 0 0 0 6.81535 0.168206 0.655731 0.0296478 -0.0667956 0.965321 -0.00585313 0.0100697 -0.0077263 0.0453312 0 0 0 0 0 0 0.0660319 0 0.130099 0 0 0 0 -0.126182 -1.01136 0 0 0.0810468 0 -0.000255498 0 -0.0514507 0 0 0.189943 0 0.277218 -0.0106237 0.0145252 0.00891826 0 0 -0.476606 0 2.89627 0 -0.32686 0.960926 0 -0.0565346 0.0412992 -0.00153083 0 -0.0189583 0 0 -0.11486 0 1.77356 0.165671 0 0 -0.016214 0 0 0.10772 0.0838019 -0.140793 0 -0.238033 0 -0.71759 -0.0249138 0.0418097 -0.355949 -0.041265 0.367871 0.520575 0.00441373 0.86494 5.07425 0.0406906 0 0 0 -0.010915 -0.0116162 0 0 0 0 0.0170324 3.32488 0.0116816 0.299806 0.105804 -0.0807211 0.420446 -0.0683125 0.0736325 -0.0445012 0.0653979 0 0 0 0 0 0 +435 0 1.56771 -0.26356 0.000743796 0.0440078 0.19774 -0.194159 0.381015 -0.164756 -0.0684436 -0.130832 -0.105631 -0.334093 -0.00249782 -0.574537 -0.0744613 -1.88075 -7.38879 -0.0170422 -0.132797 0.537195 -0.0150555 0.385589 0.00167877 -0.0270371 0.3095 -0.731902 0.0213553 0.596017 0.390614 -0.183635 0.00252902 -0.558289 0.21541 0.186087 0.374506 -0.0203866 -0.094099 -2.25944 0.0157317 -0.522767 -0.0166765 -0.555542 -0.00560002 -0.924523 -0.106467 -0.695706 0.683003 -0.959239 -0.0168115 -0.428106 -0.0554415 -3.52472 0.257454 -0.0773748 0.136486 1.57982 -0.0597202 0.294113 -0.000827882 0.0534531 -0.62186 -0.558511 -1.48419 0.0307731 -0.164411 0.35026 -0.908545 -0.0930325 -0.0191653 -0.277293 -0.192023 -0.24539 -0.037937 0.442302 -0.545928 -1.03671 14.8714 3.49828 3.20855 1.64859 0.0895204 1.8391 0.114554 0.361098 -0.384517 0.942784 0.0487193 -0.0566039 0.0360969 0.175927 -0.920659 0 0 0 0 0 0.000743796 0.0440078 0.0019627 0 0 0 0 -0.000138929 0 0.0105164 0 0 -0.00152337 -0.00595616 0.0188226 0 0.00226017 0.0074989 0.110942 0 0 0.160089 -0.000361062 0 0.0290613 0.533234 0 0 0.0151063 0.0583592 0 0.0159722 0 0.0311386 0 0 0.00308308 0 0 -0.492434 -0.00325909 -0.0321641 0 0.0191546 0.0439853 0 0 -0.211082 0 0.00369498 0.0430671 -0.0188407 0 0 0.00214162 -0.00384678 0 -0.00105288 -0.0645273 -0.0142468 0.0631368 -0.0606261 0.00664156 0 0.0126944 0.0639943 -0.104148 0.0102297 0.0428929 0 0 0 2.42017 0.206645 -0.339165 0.0213408 -0.0231249 0.164608 0.00120281 -0.00386883 0.0356906 -0.121776 0 0 0 0 0 0 0.19774 0 -0.194159 0 0 0 0 -0.0127801 -0.53938 0 0 0.265233 0 0.0214385 0 -0.0254238 0 0 0.0805228 0 0.783283 -0.0490978 0.0718839 0.00485336 0 0 -0.2804 0 0.755448 0 -1.00853 -0.171557 0 -0.379634 0.761972 -0.00131379 0 0.00314728 0 0 -0.0620707 0 -0.0989348 0.450027 0 0 0.0519434 0 0 -0.125318 -0.822583 -0.0414574 0 -0.17413 0 0.0184471 -0.0577761 0.0709243 -0.25051 0.116684 -0.266031 -0.141955 -0.0872119 0.0491492 0.611588 -0.0970895 0 0 0 0.0474255 0.0206259 0 0 0 0 -0.0837805 9.82569 -0.583548 2.38854 0.1271 0.0470491 0.453198 -0.120896 0.0786611 -0.0883377 0.0582377 0 0 0 0 0 0 +436 0 -0.871533 0.217481 -0.0502506 -0.315134 0.522041 0.20576 -0.207921 -1.82207 -0.428998 1.02111 -0.238347 0.964786 0.00379034 1.79709 -0.0300308 1.60557 6.63884 0.162083 -0.0369276 6.03347 0.00894703 -0.0953532 -0.00793287 0.136318 -0.115682 0.312175 0.0268406 0.166489 1.60594 0.353545 -0.0576606 -0.140603 -0.170806 0.11239 -0.0118842 -0.0312178 0.142204 -0.814564 -0.386163 2.61913 0.0193335 0.491798 -0.0624201 4.10078 0.062846 0.999576 0.764144 -0.170578 -0.0214579 0.260948 0.00185224 -4.16055 0.12921 -0.120624 0.295865 -1.99857 0.802152 0.34666 -0.00153901 0.00336104 -0.463314 -6.23685 -0.550978 -1.21003 -0.17375 -0.655675 0.755217 0.210588 0.129508 0.437566 0.147912 0.13638 -0.0890996 -4.35085 -0.637728 0.323162 4.73921 -0.0577024 3.03853 0.824837 -0.126282 0.838884 -0.313552 0.880475 -2.14286 3.45867 -0.0287583 0.119642 -0.441501 1.2546 -3.78512 0 0 0 0 0 -0.0502506 -0.315134 -0.00278991 0 0 0 0 -3.02241e-05 0 -0.0120269 0 0 -0.00411013 -0.0065249 -0.0207366 0 -0.00239974 0.0468567 -0.10548 0 0 0.169105 -0.000424895 0 -0.0474313 1.06804 0 0 0.0212347 0.269831 0 -0.104705 0 0.00112488 0 0 0.000958196 0 0 -0.520521 0.00119677 -0.0602039 0 -0.0346319 -0.0366658 0 0 -0.0490645 0 -0.00535277 -0.883045 -0.00361544 0 0 0.00857869 0.00521321 0 -0.0182514 0.0298375 -0.0300926 0.506412 -0.0169026 0.00294433 0 -0.00638141 -0.0178796 0.199339 -0.0329749 -0.417932 0 0 0 5.17533 0.355351 0.791113 0.0058735 -0.0251337 0.771056 0.00506229 -0.00896842 0.0275106 0.155974 0 0 0 0 0 0 0.522041 0 0.20576 0 0 0 0 -0.361865 0.470378 0 0 1.18775 0 0.126294 0 0.043356 0 0 0.686282 0 0.0531001 -0.141961 0.442939 0.0974227 0 0 0.334213 0 10.0469 0 3.67566 0.996036 0 -1.16729 0.885182 0.0467823 0 -0.0480195 0 0 0.0677339 0 3.69811 1.40663 0 0 0.195974 0 0 -0.356149 0.300954 -0.404952 0 -1.01265 0 0.101779 -0.0315253 0.207721 -0.109816 0.0424067 0.523584 -0.146624 0.0759085 -1.32427 -5.50393 0.0159642 0 0 0 -0.0319799 -0.101878 0 0 0 0 -0.139648 -17.499 -5.60996 4.98491 -1.67928 1.62776 -1.93912 -0.470948 0.449995 -0.658614 0.787436 0 0 0 0 0 0 +437 0 -0.182214 0.311243 -0.000704638 -0.0389806 -0.135072 0.258218 -0.68086 -0.582077 0.0470579 0.233732 -0.0349974 1.10079 -0.00046207 1.31957 -0.0161749 2.18675 10.005 0.104257 -0.0311245 0.0432753 0.0325571 0.0508569 0.000834961 0.0875665 -0.216713 0.435204 -0.0169265 -0.559506 -0.822657 0.55794 0.00645992 -0.147548 0.147523 0.00456214 -0.233142 -0.0132839 -0.100918 -0.444023 -0.0536444 0.679076 -0.00360563 0.0481017 -0.0124278 2.5035 -0.0218291 0.700668 -0.719657 -0.285493 0.00588929 0.769613 0.15032 -1.47434 -0.00240926 -0.00628184 0.00723162 -3.60041 0.123778 0.0457652 -0.137452 0.0142046 0.559655 -0.6472 -0.936023 -1.37272 -0.135607 0.0473461 0.891003 -0.0542028 -0.00524771 -0.00888764 0.343958 -0.107983 -0.0823597 -2.73 0.640433 0.104542 -8.26815 -3.24111 -0.48163 -0.528931 -0.512724 1.09491 -0.299858 0.0464146 -0.0178903 0.443998 0.00889584 0.00503638 0.18756 -0.173144 1.50254 0 0 0 0 0 -0.000704638 -0.0389806 -0.00339872 0 0 0 0 -0.000419614 0 0.0046908 0 0 0.000220768 -0.00031942 0.00246988 0 8.40697e-05 -0.0083838 0.0470707 0 0 -0.0425328 0.000103661 0 -0.0547569 -0.668252 0 0 -0.00874473 -0.104993 0 -0.237087 0 -0.00701021 0 0 -0.00105527 0 0 -0.776515 -0.00662484 -0.0118858 0 -0.0572585 0.110553 0 0 -0.245775 0 -0.00670823 -0.444755 0.0134021 0 0 -0.000814223 0.00566949 0 0.00285529 0.0231823 0.0142515 -1.20634 0.0329743 -0.0199417 0 -0.0148294 0.0409345 -0.291837 0.0281244 -0.0401518 0 0 0 7.41067 0.48268 0.157377 0.0137616 0.00612277 0.670844 -0.00156289 0.00519874 0.0161132 -0.0724962 0 0 0 0 0 0 -0.135072 0 0.258218 0 0 0 0 0.117688 -0.440061 0 0 -0.0347384 0 -0.00897051 0 -0.0428821 0 0 0.221188 0 0.0639261 0.0261511 -0.0649611 0.0192544 0 0 -0.389994 0 4.4802 0 0.413686 0.889667 0 0.156233 0.354447 -0.00772471 0 0.0209823 0 0 -0.0504036 0 1.6306 0.444635 0 0 0.0518401 0 0 0.0449918 0.391658 0.0048022 0 -0.77096 0 -0.794588 -0.0615227 0.0452952 -0.0772063 -0.109673 0.296904 0.860783 -0.0774579 0.363924 -1.60052 0.142245 0 0 0 -0.000730069 0.0502857 0 0 0 0 -0.0331953 -0.834596 -0.556603 0.185849 -0.334524 0.17206 0.24111 0.0396899 -0.0275556 0.0506768 -0.105066 0 0 0 0 0 0 +438 0 0.149064 0.447033 -0.00529229 -0.0951111 0.10928 0.229019 -0.862245 -1.06775 0.136325 -0.00389884 -0.0245063 -0.200777 8.99658e-05 -1.02522 -0.0186019 0.114402 -1.66676 -0.0433586 -0.0308657 -0.441122 -0.023076 -0.583047 0.0013953 -0.0803222 -0.51844 0.429411 -0.0348642 -0.555517 -0.609268 -0.055688 0.0137504 -0.189219 -1.0444 -0.265062 -0.452028 -0.00330784 -0.0471325 -1.99757 -0.0555129 0.38867 0.00246935 -0.195535 -0.00689775 -2.20953 0.0418578 0.483672 -0.57587 -0.320716 0.0048534 -0.0457323 -0.342552 1.42 -0.0941669 0.0371052 -0.0666297 0.897579 -0.339065 0.210237 0.10541 0.00197185 0.461787 -0.130691 0.209468 0.460923 -0.2816 0.544359 -0.362628 0.147822 -0.014147 -0.307267 0.00569013 -0.160841 0.0270696 1.45848 0.508363 -0.334902 7.60506 1.96232 1.83215 1.27198 -0.226389 1.56328 0.0812475 0.0515364 0.0779654 1.1428 -0.017058 0.0226138 0.0859197 -0.113818 1.11279 0 0 0 0 0 -0.00529229 -0.0951111 -0.000806406 0 0 0 0 -9.83184e-05 0 -0.0103772 0 0 -0.000968431 -0.00222725 -0.00490969 0 -0.00104317 -0.0145704 -0.052016 0 0 0.189584 -0.000111809 0 0.00324666 -0.432127 0 0 0.019949 -0.101899 0 -0.0622003 0 0.0196335 0 0 0.00208552 0 0 -0.518486 -0.00366854 -0.0242316 0 -0.0356598 0.113564 0 0 -0.299067 0 -0.00106111 0.0794115 -0.00647501 0 0 0.00172774 0.000896803 0 -0.00641619 0.00616859 0.0156971 1.01106 -0.0615826 -0.0349434 0 0.00454528 -0.0495932 0.00036909 0.0829658 0.0687229 0 0 0 5.10677 0.422506 0.442536 0.038495 0.0568144 -0.507737 0.000258222 0.00576409 -0.0103387 -0.01816 0 0 0 0 0 0 0.10928 0 0.229019 0 0 0 0 -0.0246672 0.531425 0 0 0.278331 0 0.0351069 0 0.0210325 0 0 -0.464713 0 -0.79968 -0.00525749 0.0971874 -0.0639276 0 0 0.204615 0 -3.71875 0 -0.926709 -0.427683 0 -0.0113543 -0.868802 0.0179401 0 -0.00728976 0 0 0.0588012 0 -1.52717 -0.721145 0 0 -0.0847657 0 0 0.0405418 -0.427345 -0.0328417 0 0.445921 0 0.625758 -0.0266927 0.0833084 -0.0613066 0.129178 0.0781299 -0.567883 0.065931 0.042469 4.24213 -0.0916802 0 0 0 -0.0214441 -0.0738314 0 0 0 0 0.0489586 -2.0519 -1.37606 0.109279 -0.408313 0.582892 -0.716584 -0.141951 0.116975 -0.110431 -0.174207 0 0 0 0 0 0 +439 0 -0.746771 -0.108887 -0.0481256 -0.348211 0.279816 0.0547343 -0.126672 -1.11169 -0.176817 0.808727 -0.309792 0.202718 0.00139871 1.21558 0.011242 0.170847 1.86177 0.00726021 0.00326125 1.83211 -0.0174644 0.0050597 -0.00181576 0.108913 -0.0841059 -0.101136 -0.0187281 0.119575 1.21912 0.138858 -0.0175972 0.00108953 0.117951 -0.0902123 0.0301042 -0.0205866 -0.163904 1.24339 -0.533785 0.438439 0.0113954 -0.800814 -0.0435766 2.47818 0.0585261 0.076258 0.480987 -0.157634 -0.0890593 1.51468 0.231821 1.66775 -0.0578885 -0.0532406 0.0468462 2.74297 -0.342046 -0.0567096 -0.10839 0.0318946 -0.370821 0.587255 -0.842548 -0.0399441 -0.299482 -0.808291 -0.160093 -0.10247 0.0246346 0.10285 0.335142 0.165219 -0.0372386 0.833012 0.0166574 -0.755818 0.510578 1.37438 -0.197894 1.1925 0.993854 -3.8884 -0.333925 1.02809 -1.90346 1.03504 -0.0238507 0.124568 -0.301856 0.816648 -2.22664 0 0 0 0 0 -0.0481256 -0.348211 -0.0010687 0 0 0 0 2.19735e-05 0 -0.00611094 0 0 -0.00420644 -0.00878255 -0.00311681 0 -0.000155823 0.00140446 -0.0499682 0 0 0.26528 -0.000526046 0 -0.0320326 0.677572 0 0 0.0303195 0.0611912 0 -0.184096 0 0.0220567 0 0 0.00268323 0 0 -1.07946 -0.00061542 -0.0715571 0 -0.0265314 0.0355207 0 0 -0.252944 0 -0.00190566 -0.789658 -0.0209993 0 0 0.00828185 0.00161057 0 -0.0214082 0.0242375 -0.023051 -0.00977122 -0.0857833 -0.000431564 0 -0.00459104 0.0783092 0.0739872 -0.0183785 -0.214789 0 0 0 9.31631 0.624172 0.739302 0.0351507 -0.0228717 0.787453 0.00437649 -0.00601316 0.036724 0.0402438 0 0 0 0 0 0 0.279816 0 0.0547343 0 0 0 0 -0.304452 -0.266383 0 0 1.16944 0 0.12587 0 0.00880993 0 0 -0.0753613 0 0.31552 -0.096709 0.396712 -0.0330399 0 0 -0.0158937 0 0.941247 0 5.21766 -0.0347153 0 -0.774052 1.38427 0.0400693 0 -0.0390899 0 0 -0.0116798 0 0.462503 -0.0882383 0 0 -0.0566654 0 0 0.0336433 2.24331 -0.395411 0 1.39705 0 -0.063627 -0.182234 0.346523 -0.197118 -0.0310514 1.02263 0.476581 0.0996749 -0.257865 7.79205 0.148322 0 0 0 0.0372312 -0.110189 0 0 0 0 -0.082675 -26.4265 -6.13573 3.14846 -1.86395 1.60004 -2.1592 -0.480779 0.416494 -0.577536 0.473568 0 0 0 0 0 0 +440 0 0 0 0 0 -0.0836394 0.146309 -0.618506 0.512189 0 0 -0.169727 0.464348 0 -0.446408 -0.0788371 0 0 0 -0.404586 -4.13486 0 0 0 0 -0.108092 0 0 -0.856626 0.908677 0.360036 0 -0.239391 0 0 -0.236514 -0.0312952 0 0 -0.230356 -1.00097 0 0 -0.0267963 -0.39138 0 0.301113 -0.958186 -0.620555 0.137339 -0.665802 -0.198418 0 0.198177 -0.350408 0.186923 0.136787 -0.36438 -1.55363 0 0 -0.188399 8.29039 0 0.457187 0.269346 1.21581 0 0 0 0 -0.340812 -0.336516 0 0.852011 0.789106 0 0 0 -1.3656 0 -0.0775601 -0.831697 0 0.148047 0.201425 -3.05697 0 0.279829 -0.858633 0.881761 -5.70905 0 0 0 0.0143713 -0.00349588 0 0 0 0.0144089 -0.00802369 0 0.00146965 0 -0.000556491 0.0074744 0 0 0 0 -0.0102979 0 0.00160024 0 0.0223663 0 0.147251 0.347836 0 0.000748986 0 0 0.126121 -0.000236305 0.0430457 0 -0.00089559 0 -0.000397764 0.0749275 0.01061 -0.00570571 0.00950694 0 -2.28355e-05 0 0 0 -4.30512e-05 0 0 0.000198779 -0.000433863 -0.196218 0.00575645 0 0 0.0141729 0 0.000554449 0 0 -0.0037663 -0.00502178 0.102227 0.00697997 0 0 0.00736897 0.0175365 0.00105403 -0.0508673 0.130631 0 0.199618 -0.00312849 0.0705191 0 0 0 -0.0568176 0 0.0199542 -0.681439 0 0.00119602 -0.0460427 -0.109765 0 0.000170635 -0.00659809 0.0212207 -0.336298 0 -0.0836394 0.0143713 0.146309 -0.00349588 -0.304529 -0.0501717 0.0865654 -0.0942403 -0.50971 0.00645122 0.00385651 0.0824692 0.0017978 0.00807512 0.00110093 -0.0298865 -0.013099 0.00847332 -1.24189 0.273293 -0.0941789 -0.0333187 0.131145 -0.195827 -0.0877546 0.130871 -0.426221 -0.00512749 -6.53231 -0.171619 -0.29175 0.252484 -0.000890633 -0.0616565 0.059289 0.0113259 -0.0061854 -0.0230256 -0.0337354 0.91473 -0.0556036 0.0162702 -1.82136 -2.33901 -3.77215e-05 -0.0302354 -0.32986 0.0219241 0.0483348 0.84388 -1.05546 0.12182 0.0216263 0.553751 -0.0575335 1.30167 -0.0707189 0.181981 0.223676 0.0199075 -1.30493 -0.356097 0.229434 -1.18519 -1.00971 -0.210477 -0.0428758 0.000369491 -0.194187 -0.431583 -0.0213717 0.0251181 -0.0129264 0.205809 -0.0314252 -0.192811 0.618955 -0.0375952 -0.575034 -5.72867e-05 0.150014 -2.01851 -0.00397332 0.00312983 -0.298089 -0.347362 -0.000518761 0.0186074 -0.1565 0.14625 -0.71377 0 +441 0 0 0 0 0 0.31405 0.295565 -0.72258 -2.15775 0 0 0.0295886 0.691588 0 0.289495 -0.0114522 0 0 0 0.187799 -3.63297 0 0 0 0 -0.512649 0 0 -0.848566 -1.10619 0.461011 0 0.062255 0 0 -0.287387 0.0090063 0 0 -0.348427 0.172392 0 0 -0.0854219 -0.258428 0 0.712249 -0.976914 0.970405 0.159156 -1.002 0.335738 0 -0.515155 0.0606719 -0.281155 -1.63154 -0.390248 -0.0549418 0 0 1.21933 -2.67487 0 0.122322 0.656228 -0.178962 0 0 0 0 -0.0130814 -0.430651 0 -4.11343 0.849216 0 0 0 4.84222 0 1.06731 0.323745 0 -0.0695191 -0.559282 3.61238 0 0.0319645 -0.589704 0.807048 3.07588 0 0 0 0.0187016 0.0286749 0 0 0 0.0489831 -0.00829585 0 0.00751207 0 0.000402624 -0.0141102 0 0 0 0 -0.0830822 0 -0.00986223 0 -0.105408 0 0.290696 0.17082 0 0.00351692 0 0 0.182439 -2.12534e-05 0.0427184 0 0.000420287 0 -0.000483188 0.0125696 0.022981 -0.00139808 0.0040172 0 2.46474e-05 0 0 0 1.49865e-05 0 0 0.00074807 0.00160245 0.00147408 -0.00867274 0 0 0.00754759 0 0.00292179 0 0 -0.0053649 0.0119999 -0.0875548 0.0125595 0 0 -0.0894008 -0.0170492 -0.0307371 -0.0659383 -0.458121 0 -0.188047 -0.00435916 -0.11008 0 0 0 0.000417207 0 0.0156829 -0.0447844 0 0.00116235 0.011028 -0.0295637 0 0.000158227 0.00150474 0.00121152 -0.029716 0 0.31405 0.0187016 0.295565 0.0286749 -0.0588939 -0.0326326 0.535095 0.0100259 0.622965 -0.0157084 -0.0251343 -0.189843 -0.00442236 -0.0439516 0.079439 -0.0155238 -0.0317056 -0.0672517 -1.40797 -0.594884 -0.0700165 -0.0541994 -0.126505 -0.203702 -0.132004 -0.0160082 0.00101971 0.00914044 -3.8088 0.0715328 0.234266 -0.114528 0.010646 -0.454336 -0.0599645 -0.0258707 -0.00286965 0.00542196 -0.0163812 -0.316861 0.0593846 -0.00288445 -1.79518 -2.88398 -0.00457649 0.00538253 -0.406152 -0.0160437 -0.193711 1.18067 -0.0825056 -0.464194 0.254839 -0.0554587 -0.357347 -0.310496 0.0317103 -0.0366831 -0.0692439 0.0356391 0.342135 0.127124 0.0214404 -0.503664 1.96494 -0.0094272 0.381186 -0.0171471 -0.291622 -0.658234 0.0300726 0.0068552 0.00690246 0.0520967 0.0278092 -0.0228429 -0.497 0.161322 1.25176 0.0641668 -0.105375 1.36249 0.0173104 -0.0248096 0.107097 0.235342 0.00411734 -0.0272826 0.0701398 -0.101422 0.364411 0 +442 0 0 0 0 0 0.126001 -0.116272 1.1098 2.47095 0 0 0.314087 0.0518455 0 0.172086 0.0474963 0 0 0 -0.0983802 2.11291 0 0 0 0 0.655833 0 0 0.196078 -0.382362 0.0262236 0 0.307367 0 0 0.30318 0.0975532 0 0 1.23307 1.02183 0 0 0.464437 -0.351965 0 0.353531 0.123889 0.00836313 -0.500806 0.0217401 -0.880348 0 0.0484239 -0.123384 -0.116911 0.402401 0.772999 0.719001 0 0 -1.67229 -6.45975 0 -0.453223 0.30948 0.341876 0 0 0 0 -0.374894 0.278699 0 -2.34171 1.27789 0 0 0 -4.48528 0 -2.08663 -0.27106 0 -0.565415 -0.167346 -5.10373 0 -0.819189 -0.0910718 -2.48354 1.96369 0 0 0 0.100688 -0.0146257 0 0 0 -0.0173911 -0.00759374 0 -0.00295043 0 -0.00163656 -0.0164518 0 0 0 0 -0.26822 0 -0.0213205 0 -0.338308 0 -0.0807461 -0.359966 0 0.00654279 0 0 0.424805 -0.000361466 -0.0717508 0 -0.00227624 0 -0.000296695 -0.102061 0.0549986 -0.0118785 -0.018424 0 -5.98327e-05 0 0 0 -0.000103501 0 0 0.00180415 -0.00105918 -0.0256163 -0.021127 0 0 0.0117133 0 -0.000455464 0 0 0.0416544 -0.00194593 0.0877142 0.0286455 0 0 -0.161277 0.0811463 0.0301224 -0.130662 0.695967 0 -0.022217 -0.00716959 -0.306778 0 0 0 1.28426 0 0.0685257 -1.04785 0 0.00466317 -0.0532684 0.235372 0 0.000646279 -0.00774466 0.0390661 -0.576594 0 0.126001 0.100688 -0.116272 -0.0146257 -0.112091 -0.0186355 0.249773 0.154884 0.572873 0.0292813 -0.0437129 0.324017 0.00767473 0.0680509 -0.0110866 0.041118 -0.0211823 0.0733694 0.722818 0.14528 -0.0665974 0.0393771 0.102866 0.0826933 -0.411527 -0.115506 0.163672 0.00341118 4.85707 0.198231 -0.0903741 0.495994 -0.00555479 0.0594157 -0.17784 0.0149311 0.00309601 0.0390432 0.0253424 -0.734124 0.057267 -0.0170388 1.75348 0.586252 -0.00150148 0.020168 0.0797196 0.0136164 0.206023 -0.669978 0.593825 -0.0675824 0.110418 -0.0769187 -0.0973283 -0.657742 -0.0190018 -0.117016 0.0581524 0.107324 -0.264832 -0.0827923 -0.0354401 -0.242493 -1.6987 -0.0163984 -0.652305 -0.0239379 0.081935 0.431598 -0.170096 0.0131638 -0.0438484 -0.225105 0.0927248 -0.131859 0.191731 -0.328253 -1.45324 -0.0750609 -0.809248 2.2487 -0.0224637 -0.0273299 0.158276 0.300146 -0.00449188 0.0247558 0.0324692 -0.0378192 0.345996 0 +443 0 -1.20338 -0.50898 -0.0241127 -0.172855 -0.142559 -0.334631 0.825805 1.0947 -0.313938 0.462867 0.0584826 -0.58492 0.00104282 -0.644455 0.0422684 -0.147311 -2.91807 0.0446805 0.0891686 -3.74222 -0.0118553 0.421875 -0.00377981 0.00403943 0.475577 -0.258434 0.0247703 0.59037 0.330861 -0.343599 -0.0344888 0.496421 1.29808 0.208869 0.40068 0.00717677 -0.0335254 6.22292 0.0447989 -1.91267 0.00247044 0.0612818 0.00858345 -2.89664 -0.0378195 -1.11558 0.621754 0.888825 0.00822872 0.815643 0.412633 -2.13518 -0.0401397 0.0549677 0.00385932 -1.16866 -0.35237 -0.28559 0.0354614 -0.0103156 1.0075 2.30392 1.7189 1.4932 0.299645 -0.380587 0.300485 -0.0855216 0.0651384 0.178431 0.283873 0.481538 -0.232419 0.244672 -1.06017 -1.22088 -21.3299 -2.83443 -6.11766 -1.37619 0.838348 -8.93343 0.116465 0.0171458 -0.731164 -2.04843 0.00533537 0.00568932 0.0202538 -0.129054 -0.762719 0 0 0 0 0 -0.0241127 -0.172855 -0.000190291 0 0 0 0 -6.18501e-06 0 0.000446155 0 0 -9.29575e-05 -5.30894e-05 0.00119471 0 -0.000122072 -0.0154536 0.0273908 0 0 -0.12059 -3.02946e-06 0 0.0124644 -0.239278 0 0 -0.0149534 -0.0705154 0 0.0631517 0 -0.0169433 0 0 -0.00185032 0 0 0.271374 -0.0001139 -0.00170084 0 -0.0035686 0.00160306 0 0 0.0747046 0 -6.1839e-05 0.160267 -0.00266223 0 0 -0.000137236 0.000500565 0 0.00161777 0.0072764 0.00354879 -0.392173 0.00460163 -0.0131619 0 -0.00775611 0.0795612 -0.0447463 -0.0163742 -0.0138216 0 0 0 -1.44572 -0.0385226 -0.274742 -0.00559084 0.0140947 -0.27985 1.03602e-06 2.17989e-05 -8.09454e-06 -0.0381784 0 0 0 0 0 0 -0.142559 0 -0.334631 0 0 0 0 -0.0235085 0.108883 0 0 0.395953 0 0.0510784 0 0.0292789 0 0 -0.24787 0 0.440313 0.00983489 0.0210225 -0.0309792 0 0 0.333852 0 -3.08322 0 3.37513 -0.617122 0 0.105849 0.85334 0.0043675 0 -0.00159133 0 0 0.0185964 0 -0.543961 -0.721616 0 0 -0.0829698 0 0 -0.353253 -0.115421 0.0280957 0 0.206542 0 0.621971 -0.0228801 0.0509902 -0.0273234 0.0260413 -0.289165 -0.173312 0.0442032 -0.551283 -3.83325 0.017962 0 0 0 0.186922 -0.0280346 0 0 0 0 -0.0820778 -20.8565 -3.04065 -1.22543 -0.753717 0.463813 -1.60107 -0.139901 0.0794957 -0.20345 -0.0813444 0 0 0 0 0 0 +444 0 0.342418 0.455616 0.021339 0.0462997 -0.0456129 0.0860913 -0.139457 -0.429084 0.326283 -0.691601 0.0185974 -0.765265 -0.00203034 -0.691969 -0.037802 -0.29002 -1.33383 -0.168895 -0.110972 1.95609 -0.0164015 -0.483314 0.00407387 -0.125141 -0.343498 0.269403 -0.0448316 0.11113 0.568821 -0.31168 0.036911 -0.302962 -1.33847 -0.28198 -0.210169 -0.00231152 0.0223886 -4.78163 -0.0221519 0.588956 -0.0113067 0.155326 -0.0165697 -1.71137 -0.0666399 0.167742 0.240375 -0.847714 0.0539133 -0.188525 -0.174869 -3.36976 0.250413 -0.0987308 -0.262436 -2.18603 -0.581898 -0.695377 0.145712 0.0084346 -3.05081 1.55197 -0.522395 -0.65441 -0.0488062 -0.647466 -0.149501 -0.112328 -0.117398 0.476578 -0.680186 -0.0799917 -0.366807 1.65939 0.00322363 -0.772561 20.1219 3.93478 4.0469 1.92528 -0.39684 4.03248 0.0964023 0.0644682 0.551207 0.258235 0.00940119 0.0171555 0.0366879 -0.107565 -1.31128 0 0 0 0 0 0.021339 0.0462997 -0.000229516 0 0 0 0 2.18534e-05 0 0.00252193 0 0 -6.73176e-05 0.000136624 -0.00248283 0 -4.39216e-05 0.0290123 0.0125836 0 0 0.202161 9.77235e-06 0 -0.00455341 0.900249 0 0 0.0223795 0.159897 0 -0.0568623 0 0.027633 0 0 0.0027705 0 0 -0.221601 0.000529106 -0.00231541 0 -0.00339831 0.0107338 0 0 -0.14665 0 0.00160422 -0.239153 -0.00543453 0 0 0.000299344 0.00173895 0 -6.99214e-05 -0.0199722 -0.00501322 -0.877011 0.0146185 -0.0224946 0 -0.000403116 -0.0149206 -0.0203176 -0.0372248 -0.0677638 0 0 0 0.511685 0.0156144 0.0791591 0.000382714 0.0002421 0.00620977 0.000133129 -0.00034994 0.0044529 0.0385327 0 0 0 0 0 0 -0.0456129 0 0.0860913 0 0 0 0 0.142727 0.0552127 0 0 -0.146466 0 -0.0339885 0 -0.0106382 0 0 1.44449 0 -0.540883 -0.0385072 -0.139471 0.21917 0 0 -0.113516 0 6.12118 0 -2.543 0.416875 0 -0.130717 -0.892387 -0.0232481 0 0.00157196 0 0 0.00358104 0 2.0867 2.31365 0 0 0.359559 0 0 -0.646868 0.503253 -0.039673 0 -0.395572 0 -0.462174 -0.0375198 -0.0220137 0.337865 -0.13316 0.0527155 -0.0264155 0.0307307 0.283131 -1.15354 -0.00783244 0 0 0 0.427246 0.0412482 0 0 0 0 -0.0753787 10.3422 1.16261 0.651651 0.39575 -0.155789 0.474157 -0.0317699 0.0359354 0.030212 0.143202 0 0 0 0 0 0 +445 0 0.244262 -0.191645 -0.00371036 0.132579 -0.19585 -0.00860353 -0.654893 -0.609288 0.186809 1.33103 0.0284285 -0.982131 0.00308776 -0.665258 0.0171945 -1.39865 -6.24127 0.247126 0.0563009 -3.07742 0.0663677 0.091569 -0.00181629 0.427158 -0.487237 -0.167637 0.0490053 -0.375207 -1.98573 -0.109878 -0.00129608 -0.019639 0.703945 0.209372 -0.28015 0.00308025 0.0657629 4.18312 0.200803 -1.02821 0.0174913 0.655092 0.0239133 -3.38164 0.0688624 -0.128985 -0.917653 0.0703563 -0.143968 0.347697 -0.0805535 2.58525 -0.0605834 0.096282 0.363913 -0.553749 0.404361 0.355208 -0.409033 -0.0354739 4.32233 -0.137278 0.717803 0.580407 0.144932 1.5555 0.678964 0.0262496 -0.0401912 -1.25391 0.645078 0.0357535 -0.172826 -1.38819 0.191146 0.628211 -15.5815 -3.68514 -1.58509 -1.86125 0.0168347 0.145914 -0.697735 0.0401358 -0.445193 3.31322 -0.00971473 -0.0302771 0.0606948 0.233185 4.5776 0 0 0 0 0 -0.00371036 0.132579 -0.000992196 0 0 0 0 -0.000120509 0 0.0438304 0 0 -0.000471713 -0.00141321 0.0295659 0 0.00411139 -0.0468181 0.305473 0 0 -0.10886 -5.69985e-05 0 -0.0365155 -1.17418 0 0 -0.00397863 -0.269405 0 -0.254143 0 -0.0211158 0 0 -0.00125002 0 0 -0.542074 -0.0025566 -0.0132846 0 -0.021202 0.0365723 0 0 -0.0874123 0 -0.00186437 0.0198832 -0.00299086 0 0 0.00100866 0.00118701 0 -0.00517141 -0.0784042 -0.00296476 1.44387 0.00980002 0.0594109 0 0.00896201 0.0455986 -0.0141278 0.0470264 -0.126927 0 0 0 3.37509 0.158599 -0.754104 0.0140409 -0.0309233 0.380027 0.000572681 -0.00145689 0.0190706 -0.228447 0 0 0 0 0 0 -0.19585 0 -0.00860353 0 0 0 0 0.0437388 -0.0765822 0 0 0.191505 0 0.0534197 0 6.76929e-05 0 0 -0.877506 0 0.199142 -0.0267756 0.0488102 -0.0702562 0 0 -0.00219189 0 -5.11552 0 0.709454 -0.0877932 0 -0.0401689 0.492242 0.0203754 0 0.000320347 0 0 -0.0150761 0 -1.35057 -1.84237 0 0 -0.158619 0 0 -0.653147 -0.942363 -0.0105671 0 -0.595196 0 0.666024 -0.0480757 0.111004 -0.734628 0.156807 0.434925 -0.304269 -0.0492917 1.26012 2.86602 0.0252035 0 0 0 0.346897 -0.0447584 0 0 0 0 0.0200689 -5.8826 -1.69174 0.931484 0.0729132 -0.117054 0.00538293 -0.0123082 -0.0143385 -0.0480647 0.0229348 0 0 0 0 0 0 +446 0 -0.178895 0.303613 -0.00801197 0.0442045 -0.155844 0.105627 -0.0403845 0.0590773 0.127391 -0.0220968 -0.0161936 0.170737 0.005239 1.30097 -0.0230034 0.282409 2.50792 0.010597 -0.066406 6.61046 -0.00150185 -0.352309 -0.00353572 0.0252926 -0.247589 0.328514 -0.0530904 0.276433 1.15171 0.0159607 -0.00603083 -0.220489 -0.482765 -0.274888 -0.171037 -0.0139798 -0.309088 -0.176252 -0.185497 2.58536 0.0240751 -0.842263 -0.0586456 3.65483 0.110272 0.799464 0.565807 -0.57925 0.155951 0.0549753 0.309467 4.50789 0.312217 -0.0146261 -0.0495703 2.55033 0.369646 1.08232 0.0819855 -0.0364326 -0.180946 -6.69205 -0.329368 0.332526 0.0909257 -0.122011 -0.656876 -0.410401 -0.061916 0.160112 -0.195859 -0.0678501 0.300093 1.30294 0.164057 0.718411 2.29274 0.893544 1.03387 0.626013 0.11446 -0.700409 0.129716 -0.0313367 -0.0390129 -0.336787 -0.0187986 0.0367153 -0.181644 0.358748 -1.74369 0 0 0 0 0 -0.00801197 0.0442045 -0.000760558 0 0 0 0 -8.31058e-05 0 -0.00245453 0 0 -0.00028978 -0.000285218 -0.0124733 0 -0.0017496 0.0557432 -0.018552 0 0 0.211658 -9.71575e-06 0 0.0212275 1.34931 0 0 0.0131073 0.275609 0 0.0460161 0 0.0287913 0 0 0.00148616 0 0 0.0447015 -0.00165685 -0.00667242 0 -0.0149963 0.00342275 0 0 0.0628496 0 -0.000242843 0.159843 -0.00366383 0 0 0.000215404 0.00176526 0 -0.000693079 0.0409333 0.00132199 0.716259 0.00806065 -0.0219306 0 -0.00205174 -0.00525897 0.219362 -0.00289878 -0.0913361 0 0 0 0.26861 0.037394 -0.207983 0.00235274 -0.00391207 -0.0278074 0.000190769 -0.000452569 0.00629563 -0.0221714 0 0 0 0 0 0 -0.155844 0 0.105627 0 0 0 0 0.240714 0.157696 0 0 -0.198703 0 -0.0145807 0 -0.0108934 0 0 1.43134 0 -0.317878 0.0665275 -0.0755313 0.211631 0 0 -0.0271057 0 8.31145 0 0.745629 0.260988 0 0.670227 -0.147905 -0.00524701 0 0.0162152 0 0 -0.00219163 0 2.06845 2.98395 0 0 0.432012 0 0 -0.221423 1.76 0.122599 0 0.73442 0 -0.230168 0.0503245 -0.13109 0.0293089 -0.050198 1.11774 0.119609 0.118114 1.08983 5.63267 0.00695879 0 0 0 0.338875 0.0600655 0 0 0 0 0.162997 -3.82694 -0.0429724 -1.34827 -0.128541 0.100656 -0.286286 0.0463915 -0.0348261 0.0787423 -0.17736 0 0 0 0 0 0 +447 0 0.186089 -0.234412 0.033981 0.0428456 0.0615284 -0.318096 0.554503 0.592162 0.45827 -0.397874 -0.179804 -0.254976 -0.00621827 -0.168245 -0.0291536 0.235026 -0.348396 -0.0615601 -0.138567 -0.571199 -0.03277 0.335974 0.0150567 -0.190854 0.57878 -0.290798 -0.0372695 0.702182 1.11617 -0.194295 0.0911035 -0.09282 0.615975 0.27032 0.420801 -0.0201739 -0.0446504 0.566334 -0.169763 -0.970425 -0.0192993 0.94226 -0.00351332 -1.90692 -0.0410566 -0.899151 0.913599 -0.694806 -0.0912549 0.382025 0.0515014 -2.43896 0.266651 -0.108838 0.337747 -1.00042 0.696997 -0.138974 0.156396 0.045596 -1.43587 0.445175 -1.43917 -0.0405315 -0.318013 -0.392952 -0.618318 -0.217176 -0.279686 0.308664 -0.135297 0.232465 -0.372201 -2.05721 -1.32478 -0.937523 -0.134949 -0.247797 -0.457179 -0.638791 0.621693 -1.99294 0.119919 0.0566722 0.229416 -0.647894 0.0069991 0.00668713 -0.0640594 0.340102 -1.68989 0 0 0 0 0 0.033981 0.0428456 -0.00168861 0 0 0 0 -0.000149075 0 0.0127068 0 0 0.000416865 0.000914862 0.0202487 0 0.00380232 -0.0138115 0.0619735 0 0 0.27261 4.24381e-05 0 -0.00872828 0.342136 0 0 0.0454814 0.0110798 0 0.0816015 0 0.0499789 0 0 0.00840188 0 0 0.603928 -0.00293683 0.00972372 0 -0.0327908 -0.0120265 0 0 -0.0658918 0 0.000938598 -0.263216 -0.000679653 0 0 -0.000241972 0.00579059 0 0.00205192 -0.0335051 0.00353232 -0.941239 -0.00118108 -0.0308837 0 -0.0109881 0.0424534 -0.0651385 -0.0555608 0.107168 0 0 0 -2.74681 -0.098896 -0.0396562 -0.00953443 0.0225052 -0.433405 -0.000273201 0.000645675 -0.00901171 0.0103646 0 0 0 0 0 0 0.0615284 0 -0.318096 0 0 0 0 -0.143287 0.522004 0 0 0.27762 0 0.0325992 0 0.0145371 0 0 -0.00629233 0 0.572126 -0.069494 0.0669096 0.00974299 0 0 0.11257 0 -1.0987 0 0.196395 -0.319543 0 -0.596285 0.75765 0.0121116 0 -0.0127288 0 0 0.0588215 0 -0.174383 -0.816723 0 0 -0.0774656 0 0 -0.101605 -2.18232 -0.0471675 0 0.0548701 0 -0.0460559 -0.00596611 0.059534 -0.380367 -0.0119226 -0.0806836 -0.232703 -0.0463157 -1.14266 -7.91678 -0.00113563 0 0 0 0.0416569 -0.0287449 0 0 0 0 -0.07878 -0.744763 -0.795685 2.46738 0.181685 0.145496 -0.162403 -0.112386 0.102087 -0.105044 0.187695 0 0 0 0 0 0 +448 0 0.0928517 -0.333731 -0.0542801 0.0915572 0.00247686 -0.0101009 -0.479692 -0.846492 -0.0116826 1.62158 -0.315241 0.93415 0.0236647 0.216705 -0.0280524 -0.266735 -1.79274 0.200052 0.000794616 2.99895 0.0701926 0.358612 -0.0243345 0.621751 0.0908378 -0.111797 0.0525099 0.103868 1.01434 0.09943 -0.100092 -0.454791 1.33005 -0.310607 -0.0146727 -0.0827164 0.013366 4.68195 -0.610269 0.663735 0.0969057 -1.21855 -0.155203 2.42492 0.382184 -0.0334649 0.418051 -1.00542 0.339343 -1.04542 0.719332 -0.818631 0.478681 0.161606 -0.207209 0.266167 -0.625586 -1.38146 -0.70125 -0.172931 1.86379 5.32044 -1.66033 0.468775 0.417841 0.513622 -0.481363 -0.0784855 0.0276946 -1.2425 0.20701 -0.482005 0.0722202 2.38516 0.477851 0.0802279 -15.6642 -4.85241 -0.438484 -2.18112 1.26345 -4.04718 -1.28987 0.71487 -1.31236 0.68655 -0.0651526 0.124468 -0.375774 0.654261 -1.53571 0 0 0 0 0 -0.0542801 0.0915572 -0.0016877 0 0 0 0 -0.000237796 0 0.0186665 0 0 -0.000259613 -3.82666e-05 -0.00568472 0 -0.00135352 -0.0325615 0.115143 0 0 -0.106463 1.75276e-05 0 0.0109078 -0.888689 0 0 -0.0159869 -0.182154 0 -0.123571 0 -0.0554905 0 0 -0.00805413 0 0 -0.432348 -0.00482242 -0.009223 0 -0.0342727 0.0452682 0 0 -0.0959523 0 0.000131515 0.110117 -0.00228757 0 0 0.00177273 0.004915 0 -0.00717982 -0.0220051 -0.00962711 2.09242 0.0215255 0.0366906 0 0.0116474 0.0211947 0.382302 0.00201111 -0.19458 0 0 0 3.76551 0.185677 -0.237699 0.0174622 -0.040558 0.471529 0.000623228 -0.00166176 0.0208868 -0.0899333 0 0 0 0 0 0 0.00247686 0 -0.0101009 0 0 0 0 0.0145184 -1.44191 0 0 0.1776 0 0.0516509 0 -0.0859776 0 0 0.172166 0 0.309741 -0.0435688 0.040098 -0.0035993 0 0 -0.598753 0 -4.89486 0 0.652415 -0.36129 0 -0.131576 0.561196 0.0208806 0 -0.00112869 0 0 -0.205715 0 -1.37053 0.345812 0 0 -0.0110448 0 0 1.32272 -2.55386 -0.0288376 0 1.38399 0 0.275047 -0.113122 0.0726844 -0.649337 0.126241 0.0491368 -0.397709 -0.112201 0.880391 4.19192 0.0187619 0 0 0 -0.497919 -0.0236647 0 0 0 0 0.523061 -4.31505 -1.20323 1.07011 0.295662 -0.26277 0.38176 0.0337947 -0.0440312 -0.00260971 0.034446 0 0 0 0 0 0 +449 0 0 0 0 0 -0.508141 -0.279635 -0.508479 -0.0735797 0 0 -0.528127 -1.88875 0 -4.14034 -0.28967 0 0 0 -0.793291 0.75561 0 0 0 0 -0.0771212 0 0 0.794218 3.25158 -1.11841 0 -1.23818 0 0 -0.121239 -0.147894 0 0 -0.630006 0.124501 0 0 -0.212128 -7.5052 0 -0.226741 1.65248 -2.81534 0.398593 -2.15468 0.118328 0 1.06976 -0.844052 0.918812 2.13891 1.38459 -0.495765 0 0 -0.66762 1.41404 0 0.44718 0.604512 1.6082 0 0 0 0 -0.767318 -0.392897 0 0.368097 -1.86811 0 0 0 -0.268496 0 0.283529 -3.2189 0 0.15859 -0.868181 0.730721 0 0.50702 -0.990867 1.58577 -6.78566 0 0 0 -0.0171853 -0.0137756 0 0 0 -0.0116207 0.00905507 0 -0.00283888 0 0.00185273 0.0198979 0 0 0 0 0.0567242 0 0.00795702 0 0.16734 0 -0.0352457 -0.358326 0 -0.00164462 0 0 -0.0803226 0.00100248 -0.0491129 0 0.000324536 0 0.000475896 -0.165013 -0.0121982 0.0190934 -0.0227765 0 9.78819e-05 0 0 0 1.7107e-05 0 0 -0.0024877 0.000708757 0.0231693 -0.00541039 0 0 -0.00804386 0 -0.000773317 0 0 0.000255303 0.00311638 0.12127 -0.0251276 0 0 0.0165908 0.0160321 -0.0141498 0.0595818 0.237985 0 -0.0547876 1.63983e-05 -0.123076 0 0 0 -0.758441 0 -0.088298 0.110659 0 -0.00810773 0.0016793 -0.0294079 0 -0.000843292 0.000235048 -0.00351679 0.0217412 0 -0.508141 -0.0171853 -0.279635 -0.0137756 -0.133451 -0.0429206 -0.0927567 -0.888811 -1.95733 0.0164615 -0.0240949 0.0738384 0.00308881 0.0333288 -0.0234189 -0.10431 -0.0280155 0.0861645 0.0461399 0.372552 -0.273627 -0.227837 0.110487 0.00562758 -0.360252 0.0886451 -1.05341 0.00432354 -11.7129 -0.382837 -2.3167 -1.44616 -0.003666 -1.14466 -0.870896 0.0278492 -0.009278 -0.156045 -0.0645876 0.580256 -0.216414 0.0161418 -4.49819 -0.717758 -0.00108472 -0.0562274 -0.0707402 0.0406311 -0.354398 -0.391886 -2.74081 0.394795 0.0187547 -4.27462 0.0421874 1.31147 -0.127818 0.0346904 -0.89094 0.269119 -1.50677 -0.685286 0.175973 1.38789 -5.292 -0.327223 0.091923 -0.0726092 -0.0299604 -0.807721 -0.144477 0.0933843 -0.0346773 0.0552345 0.0258302 0.592719 10.5328 0.239722 4.03471 -0.107062 0.653639 0.186271 -0.0179894 0.108868 -0.372543 0.887808 -0.00660617 0.107273 -0.282933 0.290774 -0.253325 0 +450 0 0 0 0 0 0.0452273 -0.301852 0.547598 0.93661 0 0 -0.0860229 -0.89695 0 -1.94878 -0.0642786 0 0 0 -0.0409444 -3.1174 0 0 0 0 0.353246 0 0 0.653169 2.31596 -0.654368 0 -0.376706 0 0 0.233838 -0.0119411 0 0 -0.323958 -1.10066 0 0 -0.106118 -3.6496 0 -0.807328 1.11358 -0.444276 0.17366 -0.657111 0.533714 0 0.0876917 -0.0516302 0.334799 -0.404098 -0.215934 -0.47645 0 0 0.777182 2.40689 0 0.386828 -0.141491 0.150317 0 0 0 0 0.293086 -0.701726 0 0.988864 -0.412383 0 0 0 -0.681684 0 0.458491 -2.67008 0 0.350751 -1.03931 -0.872701 0 0.341248 -1.18756 1.89438 -6.60407 0 0 0 0.0131711 0.0055001 0 0 0 -0.0434183 0.0275415 0 -0.00420825 0 -0.00101648 0.00434066 0 0 0 0 0.112825 0 0.00524601 0 0.177779 0 -0.406343 0.100982 0 0.00215002 0 0 -0.0108357 0.000154669 0.00743598 0 0.0021959 0 0.00145129 0.173577 0.00858544 0.00392581 0.0194236 0 -5.51353e-05 0 0 0 0.000115994 0 0 -0.000349826 0.00216293 0.109246 0.00629596 0 0 0.00779634 0 -0.00235995 0 0 0.0123199 0.0239349 -0.0929835 0.00536974 0 0 0.0298623 -0.00326606 0.00799948 0.0730221 0.0316837 0 0.151015 0.00858021 -0.00188392 0 0 0 -0.527157 0 -0.0104277 0.106983 0 9.45423e-05 0.000492422 -0.0577449 0 -7.07693e-05 0.00114407 -0.021273 0.248226 0 0.0452273 0.0131711 -0.301852 0.0055001 -0.000759462 -0.0702237 -0.205695 0.184478 -1.31729 -0.0171683 -0.00420544 -0.323976 -0.0031621 -0.0553211 -0.00925249 -0.0440368 0.00397209 -0.0936563 0.195687 -0.454507 -0.365109 0.0411601 -0.19222 0.00187022 0.117277 -0.0118179 -0.514787 -0.00475851 -5.34517 0.134742 -1.84362 -1.53546 0.000179718 0.454146 -0.862748 -0.033683 0.00354156 0.0266004 0.00566599 -0.042638 -0.106701 -0.00502797 -2.96801 0.779984 -0.00114628 0.0331718 0.090577 -0.0310486 0.172412 0.512617 1.58192 -0.010864 -0.0458885 1.18646 0.101205 -0.534142 0.0894316 -0.114218 -0.00883025 0.259556 -0.66796 0.493707 -0.173492 2.77375 11.4292 -0.128387 -0.0972172 -0.00772412 0.18614 0.0471774 0.0605189 -0.0711022 0.0282956 -0.124137 0.00539288 0.630899 8.38195 1.06082 -1.07651 0.283577 -0.470975 0.820629 0.0288963 -0.0378515 -0.073425 0.276781 0.00718056 0.0118583 0.0257822 -0.0849274 0.263696 0 +451 0 0 0 0 0 0.0541101 0.253474 -0.460166 -1.71197 0 0 0.0652358 0.125386 0 0.820754 0.0206052 0 0 0 -0.0156056 -6.03553 0 0 0 0 -0.572588 0 0 -0.151961 3.99942 0.285019 0 0.232535 0 0 -0.276304 0.0450923 0 0 -0.565192 -0.298378 0 0 -0.136464 -0.167388 0 0.81423 0.888487 0.627361 0.275344 -1.12736 0.351629 0 -0.0424861 -0.0673944 -0.0572604 -2.29834 -0.413928 -0.037067 0 0 -0.52929 -1.92433 0 1.35293 0.906451 1.07952 0 0 0 0 -0.463601 -0.853567 0 -1.77798 0.536461 0 0 0 2.34534 0 1.16341 -4.17848 0 0.608406 -1.49187 3.00708 0 0.659225 -1.50981 2.67774 -9.27082 0 0 0 -0.00263876 0.0299535 0 0 0 -0.0242921 -0.00180662 0 -0.000138615 0 -0.00349082 -0.0521829 0 0 0 0 -0.162635 0 -0.024601 0 -0.397448 0 -0.251384 -0.220025 0 0.00287643 0 0 0.258989 -0.00194736 0.011035 0 0.0006504 0 -6.93384e-05 -0.0272121 0.0299582 -0.0379594 0.0142189 0 -0.000183319 0 0 0 3.4984e-05 0 0 0.00480227 -9.31252e-05 0.202947 0.0105227 0 0 0.0411843 0 0.000101608 0 0 0.00939611 0.0098384 -0.0235003 0.0515038 0 0 0.0814361 -0.0256114 0.016044 -0.0679641 0.13025 0 0.308839 0.00903673 0.0736952 0 0 0 1.18454 0 0.168685 -0.754543 0 0.0145552 -0.0452551 0.0295359 0 0.00158545 -0.00575707 0.0218709 -0.283015 0 0.0541101 -0.00263876 0.253474 0.0299535 -0.251344 -0.171672 0.234684 -0.874646 1.35156 -0.0381956 0.0870073 -0.458588 -0.00692634 -0.0736246 0.0543332 0.0701247 0.0502309 -0.21143 -1.25834 -2.56153 -0.143188 -0.194048 -0.182937 -0.160488 0.608947 0.0349477 0.511622 -0.0535908 2.1347 0.291464 -2.19341 1.01578 0.00832978 -1.02866 -0.865142 -0.0284384 0.00614132 -0.150689 0.029044 0.223199 0.217914 0.00643245 1.15129 -2.37336 0.00866076 0.0563432 -0.343379 -0.355385 -0.0120391 0.791531 -1.60617 0.099974 -0.179308 -0.0836832 -0.115107 0.387889 0.255077 -0.184554 -0.177974 0.0329571 -0.874892 0.579481 -0.271835 -4.70191 -21.0185 0.0131768 0.365594 0.0425024 0.0829885 -0.631028 0.142947 -0.200087 0.07777 0.117101 -0.00908402 -0.6947 9.9723 1.42836 2.40867 0.564715 -0.962076 0.607683 0.0547764 -0.154601 0.295875 0.296716 0.0162102 -0.0700342 0.176447 -0.10322 -0.319454 0 +452 0 -0.591234 -0.149704 0.00190827 -0.0303333 -0.145327 -0.0888754 0.573862 0.952195 0.00137139 -0.618903 0.00915888 0.873623 -0.000842184 0.963034 0.00653155 -1.06603 -2.41975 -0.231731 0.00965237 -2.16258 -0.068409 0.132004 0.000484171 -0.226785 0.621866 -0.494543 -0.118029 -0.00284116 -0.233306 0.273644 0.00305866 0.0714028 -0.00446371 -0.642894 0.361574 0.00590482 -0.413687 -0.48659 -0.0692312 -1.17874 -0.00590827 -1.74248 -0.00134533 2.28701 -0.0439227 -0.61178 -0.132441 0.0987907 -0.0297282 -0.12411 -0.159892 5.31387 -0.114716 -0.0120648 -0.0208616 -1.20647 -0.291239 -0.118041 0.307924 0.0082424 -0.379891 1.40012 0.218139 0.192434 0.529069 -0.24832 0.0857127 -0.538049 -0.00845816 0.286669 -0.153736 -0.0659626 0.539911 -0.36223 0.258241 2.22677 2.07804 0.679526 -1.37006 0.305633 -0.499458 1.07319 0.596887 -0.330311 0.430709 -0.7231 0.000567231 0.00180876 0.0259935 0.0458296 0.260137 0 0 0 0 0 0.00190827 -0.0303333 -0.00010235 0 0 0 0 -6.13904e-05 0 -0.00265061 0 0 0.000848474 0.00198992 -0.00493395 0 -0.000467682 -0.033595 -0.0336614 0 0 0.045996 0.00010534 0 0.017713 -0.621626 0 0 1.26179e-05 -0.190599 0 0.0993129 0 0.0110675 0 0 0.000738008 0 0 0.323338 -0.00115968 0.0160368 0 -0.00192692 -0.0343897 0 0 0.0374118 0 -0.000209901 -0.181753 -0.00288117 0 0 -0.00163447 0.000156615 0 0.000448433 -0.0245968 -0.0029967 0.470208 -0.0127139 0.013889 0 -0.00252492 -0.00311676 0.156746 -0.0391207 -0.00534575 0 0 0 -2.65713 -0.192702 -0.0794383 -0.0120364 -0.0105523 -0.00416797 -0.000722725 -0.000633747 -0.00133508 0.00308115 0 0 0 0 0 0 -0.145327 0 -0.0888754 0 0 0 0 0.217955 0.187127 0 0 -0.138408 0 -0.0159472 0 0.0229359 0 0 0.100841 0 0.491298 0.0624314 -0.0268799 0.0118754 0 0 0.21954 0 4.69639 0 1.57219 0.932037 0 0.420415 0.825191 -0.00200947 0 0.0301182 0 0 0.0223004 0 2.47503 0.0896714 0 0 0.0161977 0 0 -0.0737568 0.0271088 -0.10087 0 0.0298194 0 0.749693 -0.137212 0.0587847 0.295263 -0.00940075 0.771704 -0.604823 0.131582 -1.01228 -3.05885 0.0196474 0 0 0 -0.00669762 0.0507456 0 0 0 0 -0.184612 -1.97648 0.0616562 0.382507 0.272059 -0.0350279 -0.48487 0.152831 -0.100503 0.02643 -0.0993628 0 0 0 0 0 0 +453 0 -0.103913 0.245471 0.000264626 -0.0532952 -0.172014 0.256313 -0.34299 -0.113633 0.252374 0.338631 -0.0220635 0.300878 0.000916996 0.651027 -0.00459884 3.29778 10.6911 0.165835 -0.00722392 1.50597 0.0563865 -0.12808 0.00132332 0.122258 -0.422297 1.07691 0.0990303 -0.619636 -0.649823 0.302123 0.0186624 -0.111256 -0.00724949 0.61155 -0.371503 -0.00165752 0.444276 0.411415 -3.76547e-05 1.228 0.00566528 2.05049 0.00185907 1.05771 0.0352622 0.961492 -0.593475 -0.181894 -0.00648396 0.631001 0.132593 -7.74504 0.0324082 0.0121953 0.0309651 -0.0897136 0.175571 0.244477 -0.185095 -0.00998693 -0.677743 -1.25232 -0.526875 0.929993 -0.298489 0.516634 -0.533308 0.396 -0.117067 0.0812237 -0.239165 -0.151338 -0.863292 0.262496 0.486581 -2.44083 0.0526788 -0.0965409 -0.913599 -0.124424 -0.0259768 -0.880258 -0.323247 0.185905 -0.235546 0.302301 -0.000455387 -0.00109298 -0.0154628 0.0201672 0.724555 0 0 0 0 0 0.000264626 -0.0532952 0.00163468 0 0 0 0 0.000192842 0 0.0111069 0 0 0.000696842 0.000584229 0.00845195 0 0.00115628 0.039711 0.074532 0 0 0.0140852 3.09373e-05 0 -0.00207869 1.0126 0 0 0.00743147 0.241485 0 0.00136361 0 -0.00572624 0 0 -7.75382e-05 0 0 0.0492218 0.00364272 0.0130442 0 0.0307938 -0.0187801 0 0 0.162591 0 0.00330883 0.208333 0.000642428 0 0 -0.00134785 -0.00253502 0 0.00967456 0.0154577 -0.000109871 -0.105132 0.0349319 0.0179718 0 0.00179046 0.0136259 -0.0689327 0.00666176 0.0497104 0 0 0 -2.77507 -0.220151 -0.377403 -0.0163205 -0.0143349 0.0618544 -0.00058077 -0.000508913 -0.00109312 -0.00599226 0 0 0 0 0 0 -0.172014 0 0.256313 0 0 0 0 -0.0565483 0.152699 0 0 0.110682 0 0.016333 0 -0.00226185 0 0 0.288085 0 -0.53694 -0.00315393 0.00336901 0.0452819 0 0 -0.0303252 0 5.09475 0 0.521808 0.756549 0 0.037105 -0.436074 0.0037952 0 -0.00753263 0 0 0.0169858 0 1.74399 0.348493 0 0 0.0498033 0 0 -0.175719 0.558189 -0.00654015 0 0.804735 0 0.281718 0.0408293 -0.0101525 0.0369778 0.0512192 0.325976 0.0679488 0.0136069 0.440032 5.98983 0.0155683 0 0 0 0.210231 -0.00172829 0 0 0 0 -0.0529546 -4.24068 -0.70716 -0.256351 0.0367875 -0.21813 0.105857 -0.0016922 -0.00262581 -0.0284508 0.0319828 0 0 0 0 0 0 +454 0 -0.165301 0.122601 -0.0128443 0.000703636 -0.0075436 -0.0904831 0.0587629 0.829665 -0.218566 -0.11716 -0.144234 -0.722066 0.00175935 -2.36356 -0.0207349 -0.51198 -3.94949 -0.0784968 -0.00878749 -1.43701 0.00956759 -0.296753 -0.00308456 0.0250142 0.100926 0.10569 -0.0243574 -0.12662 -0.402356 -0.38771 -0.0279192 -0.317941 -0.889212 -0.31447 -0.0501498 -0.021664 -0.181646 -2.63258 -0.119269 -0.849095 0.0111173 -0.946526 -0.0162577 -4.46667 0.0685818 -0.493514 -0.204825 -0.266255 0.012695 -1.27226 -0.0724648 4.65264 0.0835541 0.0306515 0.104545 1.82417 0.764828 0.318597 -0.0720582 -0.0237788 0.413926 0.718969 1.95667 1.03112 0.672389 0.351562 -0.0408835 -0.155435 0.094048 0.375231 0.00303296 -0.046902 0.395594 0.0770055 0.182685 1.95659 5.74899 1.7739 -2.69298 1.30481 -1.5237 2.87387 0.0744738 -0.164699 0.235301 -0.972318 -0.000885685 -0.00135609 -0.0356364 0.0789666 0.448629 0 0 0 0 0 -0.0128443 0.000703636 0.00135135 0 0 0 0 0.000254883 0 0.0087045 0 0 -0.00114936 -0.00343641 0.0123581 0 0.00140507 0.0266985 0.0837799 0 0 -0.194396 -0.000181905 0 -0.0207055 -0.0463544 0 0 -0.0210587 0.0523214 0 -0.115711 0 -0.0331406 0 0 -0.0035567 0 0 -0.356029 0.00481471 -0.0218137 0 0.0254526 0.0616434 0 0 0.158243 0 0.00274216 0.90306 0.00664125 0 0 0.00220928 -0.00209051 0 0.00931176 0.0506014 0.00641323 0.729309 0.0751816 -0.0182991 0 0.00797865 -0.00665816 0.103762 0.0319154 0.024103 0 0 0 1.54349 0.144975 -0.220392 0.00434761 0.00379144 -0.026848 0.000987884 0.000866503 0.00181113 -0.00748555 0 0 0 0 0 0 -0.0075436 0 -0.0904831 0 0 0 0 0.398329 -1.09992 0 0 -0.0717431 0 -0.0154306 0 -0.0613585 0 0 0.251147 0 -0.752118 0.0606598 -0.107315 0.000303068 0 0 -0.62705 0 -6.42681 0 -2.66202 -0.810815 0 0.544915 -1.31564 -0.0179547 0 0.0520164 0 0 -0.118364 0 -2.18441 -0.284512 0 0 -0.0898578 0 0 -0.0606401 3.42642 -0.302304 0 -0.692965 0 -0.694275 0.0899162 0.03538 0.39529 0.0650517 0.364629 0.538904 -0.0927521 2.35698 11.0822 -0.00995015 0 0 0 -0.022052 -0.0119937 0 0 0 0 0.318113 12.4252 0.634607 -0.908053 0.570775 -0.562689 1.05968 -0.0833063 0.0266413 0.063053 -0.292152 0 0 0 0 0 0 +455 0 -0.596238 0.175492 -0.0242066 -0.0049721 -0.12181 0.25711 0.366313 -0.0969165 0.0232853 0.908958 0.401552 1.45398 0.00991346 3.52669 0.183359 2.05388 8.08953 0.218797 0.315338 -0.135463 -0.00513747 -0.021717 -0.0111192 0.152412 -0.28234 0.534729 -0.171492 -0.660806 -1.52131 0.967951 -0.0297521 1.07671 0.357225 -0.0262277 -0.0705383 0.0745534 -0.48167 2.23709 0.250259 0.446843 0.0455392 -0.260577 0.0394018 6.38156 0.207668 0.655445 -1.09124 1.78284 -0.111786 2.30864 0.579189 2.8626 -0.566057 0.401881 -0.662762 -0.850193 -1.13601 -0.131177 -0.309025 -0.0748358 1.70553 -0.0860244 -1.18067 1.27974 -0.0194358 -1.38773 -1.01271 -0.709271 -0.0111606 -0.863663 0.829194 0.857431 0.249697 -0.0129329 1.20354 0.358574 -6.95622 -2.70908 0.682676 -0.900009 0.9338 -1.69668 -0.453921 0.617927 -0.666317 -1.2045 -0.187857 0.0681619 0.323087 -1.7684 5.34776 0 0 0 0 0 -0.0242066 -0.0049721 -0.000199505 0 0 0 0 -8.39877e-06 0 -0.00636941 0 0 0.000369548 0.00023134 -0.00947719 0 -0.00134797 -0.0824972 -0.0367937 0 0 -0.0498879 1.22465e-05 0 -0.0115281 -1.08353 0 0 -0.00821112 -0.312902 0 -0.0613687 0 -0.0230667 0 0 -0.0037581 0 0 -0.107549 -0.000158656 0.00698089 0 -0.00376871 -0.0175227 0 0 0.0641101 0 -0.00038432 -0.0834721 -0.00162403 0 0 -0.000711887 0.00032481 0 -0.00147687 -0.0334941 -0.00173255 0.834003 -0.0152054 0.0100959 0 -0.00182218 -0.00752879 0.0425267 -0.010794 0.00202473 0 0 0 -0.215887 -0.0613471 0.0379925 -0.0029316 -0.00257056 0.00262825 -0.000314349 -0.000275635 -0.000581422 0.00202046 0 0 0 0 0 0 -0.12181 0 0.25711 0 0 0 0 0.339881 0.507653 0 0 -0.173861 0 -0.0330416 0 0.0613923 0 0 -0.10416 0 -0.646589 0.0825957 -0.120294 -0.0106983 0 0 0.644314 0 6.63977 0 -0.488398 0.899628 0 0.612504 -0.817477 -0.0219764 0 0.045802 0 0 0.0377875 0 2.91005 0.448443 0 0 0.0692516 0 0 -0.083765 1.48104 0.17698 0 0.883495 0 -0.0520263 -0.132252 0.00842365 0.38213 -0.0264132 0.246715 -0.179797 -0.0644236 -0.772475 3.17091 0.0512004 0 0 0 0.114091 0.0518327 0 0 0 0 -0.198054 7.29249 -0.327701 0.755135 -0.152123 0.0363816 0.612203 0.049755 -0.0400545 0.0615798 -0.219804 0 0 0 0 0 0 +456 0 -0.157547 -0.0821711 0.0452497 0.0337447 -0.101066 -0.0652373 0.790643 1.6482 0.168637 -1.0128 0.27626 1.38768 -0.0172727 1.93567 0.112135 -0.646139 -0.710164 -0.199098 0.175334 -0.605982 -0.0149172 0.195475 0.0210646 -0.29425 0.6256 -0.346253 0.0878084 -0.0209967 -0.669588 0.656878 0.0751442 0.577684 0.199971 -0.0333853 0.336153 0.0670087 0.29932 -0.201813 0.502086 -0.337308 -0.0713441 0.4528 0.129846 3.40257 -0.280428 -0.102735 -0.253019 0.959467 -0.287402 0.722356 -1.05415 6.02402 -0.304532 0.219182 -0.317441 1.14827 -0.3812 -0.228315 0.467353 0.124327 0.358559 1.26965 1.91599 -1.90082 -0.38778 -0.148363 1.31181 0.494926 -0.0800873 1.05994 0.164416 0.563724 -0.272586 0.277065 0.327708 0.0370394 2.97759 1.71626 -3.42164 -0.1229 -1.14459 1.95879 0.897672 -1.1907 1.93002 -3.43559 0.253676 -0.471989 0.795742 -1.46722 2.35376 0 0 0 0 0 0.0452497 0.0337447 0.000445143 0 0 0 0 1.35883e-05 0 0.0110454 0 0 -0.000181855 -0.000150837 0.0150195 0 0.00248823 0.0959501 0.0487009 0 0 -0.0808322 -7.98485e-06 0 0.0288953 0.2199 0 0 -0.00548687 0.245572 0 0.150429 0 0.00224527 0 0 0.00205343 0 0 0.339558 0.000256687 -0.00343529 0 0.00840891 0.0108175 0 0 -0.00742057 0 0.000857512 0.170996 0.00147121 0 0 0.00035032 -0.00072473 0 0.00267229 -0.0101477 0.00137705 -0.514339 0.0186614 -0.00257763 0 0.00210626 0.0107533 -0.206058 0.00629271 0.0416761 0 0 0 -0.873286 0.0112747 -0.10049 -0.000495455 -0.000434437 0.00116154 0.000154691 0.00013564 0.000286118 -0.00092301 0 0 0 0 0 0 -0.101066 0 -0.0652373 0 0 0 0 0.153603 1.32732 0 0 -0.0135 0 0.00221311 0 0.0546102 0 0 -0.0927143 0 0.699537 0.0266307 -0.00859999 0.0148894 0 0 0.56743 0 5.76852 0 2.23022 1.0374 0 0.326366 1.13574 -0.00137634 0 0.0138805 0 0 0.132581 0 2.6747 -0.789935 0 0 -0.0419603 0 0 -0.0332616 -0.251335 0.114974 0 1.12477 0 0.347534 -0.0275567 -0.000508235 0.235343 0.157971 0.306208 -0.142274 -0.155138 -1.36702 -2.19224 -0.0223658 0 0 0 0.231573 0.0316866 0 0 0 0 -0.435399 -10.7185 -0.603129 -0.577652 0.210843 -0.144284 -0.583532 0.0690879 -0.0526042 0.00393079 -0.0529428 0 0 0 0 0 0 +457 0 0.466328 0.464227 0.111663 0.171787 -0.22975 -0.297956 1.88234 4.19889 0.478617 -2.25649 0.295472 0.327274 -0.0415639 1.4033 0.143935 3.59726 11.0146 -0.173766 0.23217 -0.765132 0.0387966 -0.166676 0.0519595 -0.578909 1.04733 1.14769 0.5018 0.410227 -0.240011 0.380535 0.190998 0.637081 -1.05305 1.68671 0.582115 0.0906502 1.04351 -5.70262 0.744417 -0.545176 -0.164388 4.19054 0.230538 0.738515 -0.60167 -0.460696 0.228107 1.17906 -0.468197 2.36303 -1.4534 -16.8877 -0.384569 0.319019 -0.430115 -1.68186 -0.603213 -0.00208347 0.930603 0.280204 1.2753 -0.151001 4.13817 -4.06279 -2.01524 -0.956631 3.01357 1.61507 -0.228011 1.4943 0.397036 0.538904 -1.42974 -0.754169 0.286385 -5.13378 18.4353 7.64669 -7.28236 4.58351 -4.64937 7.15821 1.72437 -2.25638 3.56108 -6.63441 0.544271 -0.862132 1.16606 -1.518 0.843695 0 0 0 0 0 0.111663 0.171787 0.000461931 0 0 0 0 1.69148e-05 0 0.00470345 0 0 -0.000539799 -0.000356099 0.0280669 0 0.00198976 0.0956417 0.0734165 0 0 -0.00795111 -1.88509e-05 0 -0.0996567 0.382424 0 0 0.00656512 0.201286 0 -0.228543 0 0.0349839 0 0 0.00814271 0 0 -0.533026 0.000319526 -0.010197 0 0.00872603 0.0271558 0 0 0.0921096 0 0.000889851 0.302251 0.0027022 0 0 0.00103985 -0.000752061 0 0.00318032 0.0503482 0.00278823 0.250075 0.0294033 -0.00995032 0 0.00354147 0.00437538 0.100362 0.010894 -0.0438288 0 0 0 1.68392 0.0761614 -0.104695 0.00290418 0.00254651 0.0200088 0.00045917 0.000402621 0.000849284 -0.00441368 0 0 0 0 0 0 -0.22975 0 -0.297956 0 0 0 0 0.244187 1.80931 0 0 -0.311485 0 -0.0361483 0 0.0496923 0 0 0.0158847 0 0.0662863 0.0703429 -0.0425528 0.0114968 0 0 0.508636 0 5.23854 0 -1.73041 -0.135067 0 0.610605 -0.239447 -0.00483275 0 0.0323541 0 0 0.183047 0 1.18819 -1.09558 0 0 -0.119288 0 0 -0.00765763 1.81895 0.235787 0 1.65363 0 -0.331505 0.113856 -0.169219 0.399072 0.0595778 0.387761 0.0710193 0.0294003 -1.03843 3.58244 -0.0614331 0 0 0 0.250844 0.0249573 0 0 0 0 -0.454315 11.0323 1.26604 -0.419868 0.606341 -0.394729 0.489759 0.0633703 -0.0671886 0.1251 -0.273054 0 0 0 0 0 0 +458 0 0 0 0 0 -0.0420824 0.00200912 -0.573145 -0.426739 0 0 0.316174 0.0678952 0 -0.359524 0.0229051 0 0 0 -0.0597296 -1.37646 0 0 0 0 0.192378 0 0 -0.150198 -3.49555 -0.101178 0 -0.356431 0 0 0.031624 0.0513134 0 0 1.49526 -1.12562 0 0 0.402711 0.335633 0 -0.591908 -0.909714 -1.47721 -0.879495 -0.0861151 -0.718679 0 0.177196 -0.0393848 0.528522 -0.683273 -0.343208 -0.81281 0 0 0.0847611 0.563647 0 -2.61717 -0.525277 -0.350568 0 0 0 0 -0.0513922 1.21054 0 -1.16618 -1.14838 0 0 0 0.079893 0 -1.08149 1.8199 0 -1.11008 0.886659 0.774698 0 -1.90452 2.4795 -3.5565 9.05514 0 0 0 -0.12266 -0.0422807 0 0 0 -0.0263009 -0.0165526 0 -0.00350873 0 0.00488964 0.00748795 0 0 0 0 -0.0759867 0 -0.0045064 0 0.0373455 0 -0.181206 0.0981371 0 0.00161096 0 0 0.0990725 0.00180071 0.0159707 0 -0.00105613 0 -0.00118721 -0.0713383 0.0166267 0.026254 -0.00868395 0 0.00033318 0 0 0 -8.09572e-05 0 0 -0.00155779 0.00437792 -0.0518369 0.0140046 0 0 0.0205882 0 0.0109034 0 0 0.045641 -0.017849 -0.102875 0.00644062 0 0 0.018708 0.0407315 0.043385 0.0450712 -0.0530431 0 -0.0807357 -0.0149909 -0.431233 0 0 0 -0.0592387 0 -0.0177822 -0.0765621 0 0.00161421 -0.0022861 0.000503272 0 -0.00179602 0.000506418 -0.0033735 -0.0726868 0 -0.0420824 -0.12266 0.00200912 -0.0422807 0.33634 0.0788617 -0.117931 0.298891 -2.56134 0.0682774 -0.150505 -0.174705 0.0101589 -0.0145804 -0.0388833 -0.111728 -0.11736 0.429219 0.811389 1.93157 0.323334 -0.0553972 -0.507243 0.0778429 -1.23262 -0.136226 -0.897638 0.0215785 -0.092696 -0.104191 2.6717 0.305627 -0.00739985 -0.422736 0.951325 -0.0693723 -0.00722836 0.050822 -0.0525485 -1.06231 -0.333257 -0.017476 0.394619 2.15973 -0.0146198 -0.0199369 0.225362 0.210244 -0.531666 -0.329471 2.61179 -1.00043 0.274341 0.14258 0.00221825 -0.168255 -1.20304 0.962405 0.432681 -0.225507 0.039714 -0.646964 -0.0337401 -2.34835 -1.06981 -0.140988 0.328698 -0.172536 -0.407316 -0.332327 0.0651298 0.0688508 -0.161687 -0.0308713 0.195251 0.211821 -5.05376 0.0533676 1.69025 -2.42649 1.27887 0.978843 0.114153 -9.6336e-05 0.356129 0.0684254 -0.649215 0.287003 0.149352 -0.306587 0.947739 0 +459 0 0 0 0 0 -0.552966 -0.197443 0.265572 0.914421 0 0 -0.161659 -0.321169 0 0.0852474 0.0580344 0 0 0 0.252899 0.665506 0 0 0 0 0.193859 0 0 0.483486 3.94216 -0.255588 0 0.658886 0 0 0.120589 -0.0133245 0 0 -1.04644 -0.175819 0 0 -0.171259 0.313105 0 -0.347374 1.11992 1.29807 0.420114 1.1829 -0.0104188 0 -0.750379 0.0151461 0.0456052 -0.631325 -0.430027 0.290175 0 0 0.095833 -1.60221 0 0.16349 -0.41824 0.210256 0 0 0 0 -0.107322 -0.175871 0 -0.521194 -0.527325 0 0 0 -2.03106 0 0.709473 -3.12225 0 0.50509 -1.01667 -1.31618 0 1.05959 -1.74027 2.20289 -7.39217 0 0 0 0.144232 0.0341451 0 0 0 0.00150369 0.00115728 0 0.000627675 0 0.00368588 0.0356197 0 0 0 0 0.0832798 0 0.0142794 0 0.196353 0 -0.0123809 0.219177 0 -0.00598371 0 0 -0.111177 5.43279e-05 0.0699515 0 0.00509179 0 5.73062e-05 0.18322 -0.028158 -0.000751813 0.0350062 0 0.00028884 0 0 0 0.00036831 0 0 0.0109248 0.00976691 0.0117851 -0.0411817 0 0 -0.0119407 0 0.0087341 0 0 -0.0280845 0.00963036 -0.13489 0.0126829 0 0 0.00418204 0.0917905 0.0214831 0.00466596 -0.129351 0 0.018404 -0.0370417 0.145133 0 0 0 -0.110906 0 0.0133477 0.0153233 0 -0.00400717 0.0127465 -0.0789728 0 0.00216294 -0.00310213 -0.000456794 0.0407082 0 -0.552966 0.144232 -0.197443 0.0341451 -0.486268 -0.110654 0.152781 -0.283247 1.76138 -0.0485675 0.00190774 0.198736 -0.00753394 0.0386542 0.030862 0.128299 0.00721622 -0.276792 -0.937803 -0.682301 -0.0656619 -0.050823 0.360345 -0.152138 0.0120613 0.0818213 1.13608 -0.0296925 -0.843239 -0.326589 -1.13601 -0.838654 0.00494051 0.274087 -0.318693 0.0559469 -0.00390057 -0.0518363 -0.0441479 1.00082 0.212682 0.00539014 -0.9455 -1.49858 0.00151791 -0.0251736 -0.281913 -0.150316 0.0934952 -0.279695 -2.75991 0.589732 -0.0644275 -0.913395 -0.0194866 0.206177 1.07652 -0.386244 -0.251672 -0.150936 -0.114715 0.505484 0.25611 -1.13992 -6.26597 0.313147 -0.250708 -0.120782 -0.00618822 0.13829 -0.098012 0.115181 0.117869 -0.000326196 0.102099 -0.470377 2.14886 -0.140397 -1.66044 1.12092 0.0467377 -1.9207 -0.138709 0.220402 -0.520827 -0.173662 0.418662 0.132843 -0.65646 0.618823 -1.06316 0 +460 0 0 0 0 0 0.483647 -0.173367 -0.0610553 -1.38214 0 0 -0.380333 -0.265926 0 -0.927493 -0.0585696 0 0 0 0.169809 3.57197 0 0 0 0 0.289218 0 0 0.660767 0.544581 -0.570984 0 0.220999 0 0 0.35391 -0.0364333 0 0 -1.86443 -0.108057 0 0 -0.404916 2.13692 0 -0.913541 0.537537 2.07492 1.09577 -3.14194 0.481345 0 -0.215543 0.281928 -0.492356 1.64269 -0.664646 -1.03986 0 0 0.107017 1.91735 0 0.955491 1.29363 0.509837 0 0 0 0 -0.0548264 -2.34961 0 0.175223 0.72958 0 0 0 2.37919 0 2.27185 -0.800263 0 1.23884 -0.976005 3.79858 0 2.00572 -1.46096 3.7926 -2.59338 0 0 0 0.373305 0.100605 0 0 0 0.109328 0.120902 0 0.0173404 0 -0.00577385 0.0102699 0 0 0 0 -0.0120368 0 -0.00474162 0 0.0732153 0 0.580544 0.722149 0 0.00185582 0 0 -0.0927816 -0.00170442 0.104539 0 0.0135906 0 0.00873929 0.132608 -0.00310924 -0.027003 0.0246409 0 -0.000366656 0 0 0 0.000995207 0 0 0.0107509 -0.00150905 -0.0802065 -0.0283573 0 0 -0.0225023 0 -0.0255213 0 0 0.0499027 0.0106361 -0.00537201 -0.0184648 0 0 0.0360545 0.0496431 -0.0874676 0.0439734 -0.393631 0 -0.065297 -0.0153233 -0.0381119 0 0 0 -0.0402489 0 0.0296157 0.0441088 0 -0.00515464 0.00890213 -0.0359136 0 0.00371006 -0.00364159 0.00527419 0.0639409 0 0.483647 0.373305 -0.173367 0.100605 -0.238522 -0.0420759 0.453234 0.220413 0.732626 -0.147616 0.00282047 -0.504384 -0.0233249 -0.0686209 0.101382 0.053469 -0.0183665 -0.829484 -0.23005 -1.31287 0.184363 -0.130522 0.0169686 -0.0333363 0.243395 -0.126621 0.277771 -0.0253078 -1.51884 -0.0409608 0.144867 -0.852105 0.0173141 -0.481696 0.245186 0.0302433 -0.00271957 0.0416533 -0.0420476 -0.70825 0.172067 -0.0203674 -1.04862 -1.3208 -0.0055728 0.0145948 -0.244872 -0.18324 0.025506 -0.680957 0.630351 -0.607741 -0.0692267 -4.87017 -0.0700223 0.568766 0.668316 0.462608 0.0913003 0.355613 -0.131161 0.00461766 -0.204271 -0.534371 -8.07592 -0.252325 -0.317867 -0.351336 0.0715701 -0.314787 0.185728 -0.0084357 0.352934 -0.324237 0.176048 -0.0984443 -0.27403 0.470979 1.36311 0.674962 0.21473 1.63574 0.416185 -0.178129 0.126088 0.925922 1.25464 -0.282144 0.24348 -0.0163823 0.909923 0 +461 0 0.405613 0.221661 -0.0201743 -0.0941972 0.175253 0.196771 0.136797 -0.0526275 -0.147673 0.357901 -0.23983 1.24965 0.00318978 1.77433 0.00276344 0.35766 1.43388 -0.0549697 -0.022895 7.2546 -0.0163774 -0.230259 -0.00360433 0.0783287 -0.0409292 0.222172 -0.0336747 -0.0346442 1.66572 0.392705 -0.024756 0.0394638 -0.290365 -0.339824 -0.130868 -0.0212389 -0.234694 0.0467207 -0.425899 3.06221 0.0236124 -1.60081 -0.0462041 5.52275 0.149156 1.25327 0.586051 -0.228282 0.163207 0.760746 0.396469 8.97385 0.0835291 -0.0716984 -0.00588388 1.03633 0.0156919 -0.0858935 -0.183468 -0.0601392 -0.131454 -3.01857 -2.07371 1.31106 0.624223 0.160463 -0.531943 -0.493753 0.0461077 -0.492745 0.198881 0.100986 0.451728 0.268676 0.694908 1.49437 -0.0965214 -0.792441 1.1242 -0.593642 0.428108 0.663457 -0.132988 0.292629 -0.479449 0.367821 -0.125508 0.218732 -0.79419 0.708236 -2.08552 0 0 0 0 0 -0.0201743 -0.0941972 0.00129853 0 0 0 0 0.000318086 0 0.00868692 0 0 0.000176666 0.000561781 0.00165544 0 0.000813257 -0.0131556 0.0116006 0 0 0.0847052 3.88294e-05 0 0.0060159 0.337013 0 0 0.0204354 -0.0279781 0 0.0157465 0 -0.0014982 0 0 0.00109476 0 0 0.254355 0.00452957 0.00256537 0 0.0183449 0.0141487 0 0 0.0606773 0 0.00470442 -0.113904 -0.00601921 0 0 0.00123221 0.000445629 0 -0.015154 -0.0813675 2.24941e-06 -0.127729 0.00839519 0.0175719 0 0.0252532 0.0057325 -0.0574251 0.0200414 -0.00598574 0 0 0 -0.442561 0.0309291 -0.0625681 -0.0254596 0.0284846 -0.0301043 0.000138557 -5.96153e-05 -0.000448407 -0.00141676 0 0 0 0 0 0 0.175253 0 0.196771 0 0 0 0 -0.453098 0.39133 0 0 0.602236 0 0.0675262 0 0.0276448 0 0 0.320792 0 -0.601268 -0.145888 0.370372 0.0232941 0 0 0.249115 0 0.54909 0 -3.48908 -0.112088 0 -1.12566 -1.3635 0.0425048 0 -0.0573387 0 0 0.0407556 0 0.0279176 0.570589 0 0 0.0152819 0 0 0.270611 -4.65998 0.0257349 0 -0.498043 0 -0.913988 0.249694 -0.254129 -0.387564 -0.331209 -0.718569 -0.189723 0.0553838 0.0686015 -5.54683 0.257283 0 0 0 -0.175678 -0.217233 0 0 0 0 0.0723209 15.3112 0.966855 2.31441 1.35449 -0.670481 1.09303 -0.402723 0.235834 -0.19835 0.407352 0 0 0 0 0 0 +462 0 -0.839831 0.10896 0.0236001 0.19966 -0.283122 0.117043 -0.195848 0.661119 0.166451 -0.777854 -0.172015 -0.283716 -0.00306896 0.344793 -0.0147145 0.80243 -0.0672075 0.00535723 -0.0158038 -2.19186 -0.00327014 -0.356027 0.00214328 -0.121263 -0.322861 0.484371 -0.0282025 -0.630462 -0.498249 0.173898 0.0186162 -0.146788 -0.307846 0.103791 -0.264729 -0.0125359 -0.258857 0.391813 -0.171124 -0.171324 -0.0287337 0.144605 -0.00934008 -1.44935 -0.267864 0.356048 -0.684159 -0.190747 0.0352924 0.770759 -0.370574 -1.03348 0.0947399 -0.0950728 0.392682 0.025393 -0.147939 -0.304122 0.332677 0.0921541 0.301667 0.208186 -0.169374 0.0994308 0.45851 -0.745695 0.0628241 -0.162933 -0.0352661 -0.0440188 0.491253 -0.289643 0.201636 -2.01212 0.0940642 -0.87042 -5.6909 0.672676 -2.26201 0.717386 0.413425 -1.6005 0.861698 -0.308326 0.65218 -1.3913 0.225397 0.000980093 0.377314 -0.0249709 0.62382 0 0 0 0 0 0.0236001 0.19966 0.00313287 0 0 0 0 0.000378012 0 -0.00462915 0 0 -0.00155834 -0.00326545 -0.00116808 0 -0.000240904 0.026455 -0.0212065 0 0 0.111708 -0.000215707 0 0.0101901 0.455591 0 0 0.0136499 0.155852 0 0.0722254 0 0.0134524 0 0 0.00159114 0 0 0.265519 0.00524222 -0.0240708 0 0.043438 -0.000553425 0 0 0.0531888 0 0.00286826 -0.0284093 -0.0032518 0 0 0.007989 -0.00784477 0 -0.0190324 0.0882662 -0.017522 -0.698556 0.00505965 0.0322801 0 -0.0113001 0.00812299 -0.0833529 -0.0658453 -0.0207329 0 0 0 -0.263627 0.0283521 0.0233685 -0.0102653 0.0154215 -0.0373994 0.00338023 -0.00354756 0.00249336 0.00420198 0 0 0 0 0 0 -0.283122 0 0.117043 0 0 0 0 -0.0323597 -0.0652183 0 0 -0.20998 0 -0.0265136 0 -0.0270196 0 0 0.252827 0 -0.576991 0.0909881 0.0588558 0.0465246 0 0 -0.248515 0 1.23654 0 1.73281 0.812549 0 0.697448 -0.382888 0.00488094 0 -0.00233292 0 0 -0.00379159 0 1.32634 -0.142673 0 0 -0.00617503 0 0 -0.114332 2.8638 -0.133259 0 -0.161225 0 0.354123 -0.164583 0.18149 0.548909 0.0718392 0.0844537 -0.125368 0.0431315 -0.363706 2.59196 -0.168699 0 0 0 0.0240336 0.094009 0 0 0 0 -0.131381 -15.5056 -0.915287 -2.56619 -1.17371 0.665067 -1.13761 0.11546 -0.0952251 0.136754 -0.441407 0 0 0 0 0 0 +463 0 1.58906 -0.194222 0.0724102 0.389288 -0.181686 -0.0119537 0.173442 0.319026 0.526429 -1.46279 0.265236 -0.816072 -0.0110698 -0.509833 -0.0572604 -1.66738 -1.96919 -0.164868 -0.114346 -1.88474 0.0123246 0.394996 0.0117506 -0.221491 -0.346843 -0.80323 -0.0306285 -0.253054 -0.890851 -0.141833 0.0829368 -0.415509 0.217938 0.197453 -0.166413 0.030435 -0.0405765 -2.65541 0.697636 -0.415269 -0.0853867 1.27905 0.0909387 -2.64364 -0.588786 0.000192317 -0.412648 -0.811094 -0.307147 0.72006 -0.792189 7.52298 0.377329 -0.319493 0.365177 1.1436 1.01442 0.554735 0.640459 0.228329 0.52888 -1.48332 2.14358 -0.832875 -0.493678 0.701195 1.35234 0.167752 -0.154808 0.77838 -0.460262 0.165023 0.144059 -1.41929 -0.372889 -0.0146672 8.22849 2.85691 0.512461 1.79 -1.46502 3.2356 0.967852 -0.761616 1.38841 -0.0455208 0.495439 -0.449615 0.743394 -0.672912 1.11537 0 0 0 0 0 0.0724102 0.389288 0.00205687 0 0 0 0 -0.000490803 0 0.000485874 0 0 -0.000173027 -0.00257953 -0.00550932 0 0.000420365 0.00227114 -0.0447649 0 0 0.295403 -0.000169328 0 -0.0217798 0.50456 0 0 0.0330222 0.0318754 0 -0.0609095 0 0.0649557 0 0 0.00689748 0 0 -0.102807 -0.00717335 -0.0042624 0 0.0271464 -0.0211215 0 0 -0.0429644 0 -0.00954164 -0.112875 0.0114992 0 0 0.00277159 -0.0117387 0 0.00223704 -0.00213839 -0.0076555 -0.660832 -0.0041573 0.0118179 0 0.0052263 -0.0134125 -0.0432591 -0.119834 0.0159898 0 0 0 0.2491 -0.0156658 0.0746477 0.0160651 -0.0165803 0.010053 0.00106645 -0.00103876 0.000270166 0.00633103 0 0 0 0 0 0 -0.181686 0 -0.0119537 0 0 0 0 -0.0279182 0.220671 0 0 -0.970439 0 -0.113366 0 -0.0218992 0 0 -0.42312 0 0.365158 -0.00481689 -0.492486 -0.0846719 0 0 -0.185499 0 -2.17875 0 -3.02521 -0.20508 0 0.00651871 -0.354721 -0.0587831 0 -0.00421733 0 0 0.0173035 0 -1.02401 -1.06792 0 0 -0.200028 0 0 0.207834 0.915185 -0.118798 0 2.88583 0 -0.694853 -0.402921 0.212755 -0.404257 0.157808 0.816604 1.49435 -0.31844 0.875539 6.16063 -0.088775 0 0 0 0.097447 0.31883 0 0 0 0 0.155917 9.85778 1.0522 1.48806 1.08939 -0.611157 1.45202 0.655452 -0.270458 0.247366 0.0719841 0 0 0 0 0 0 +464 0 0.529024 -0.256926 -0.00699185 -0.0173451 0.0310663 -0.142183 0.304144 -0.266568 0.0281165 0.59453 0.19674 -0.908876 0.000951292 -1.49547 -0.00669659 -1.4326 -4.46818 0.0361374 -0.0321547 -2.95975 0.00693031 0.412357 -0.00037902 0.120838 -0.0795035 -0.544064 -0.00250833 0.132412 -0.266901 -0.283925 -0.00271508 -0.0265312 0.461816 -0.0326379 0.0811398 0.0127713 -0.0295944 0.117908 0.0909541 -1.63746 0.0139087 -0.583334 0.00577446 -4.05538 0.201919 -0.624787 -0.0393285 -0.449756 0.00666029 -0.0951708 0.582165 -3.00614 0.0645182 -0.0911002 -0.247805 -4.54278 0.0960414 0.181721 -0.253436 -0.042748 -0.54418 1.19877 -1.39901 0.369592 -0.112472 -0.365577 -0.266967 0.0561625 -0.00875478 -0.108151 -0.000376672 0.182144 0.0316293 -1.45055 -0.090473 0.413433 -1.21531 -1.36911 0.0488653 -0.428704 -0.237355 0.369863 -0.617741 0.406013 -0.597743 0.941949 -0.0427348 -0.0414238 -0.124032 -0.0265602 0.402566 0 0 0 0 0 -0.00699185 -0.0173451 0.000628643 0 0 0 0 7.15574e-05 0 0.0186465 0 0 0.000751723 0.000442128 0.00764501 0 0.00116202 -0.0154019 0.11774 0 0 -0.216917 2.63812e-05 0 -0.0107661 -0.460924 0 0 -0.0247989 -0.130814 0 -0.0931279 0 -0.0160025 0 0 -0.00185968 0 0 -0.0895223 0.0010391 0.0112816 0 0.00911819 0.00012375 0 0 -0.0706027 0 0.00237757 -0.206185 -0.00254502 0 0 -0.0021618 0.00140731 0 0.000336605 -0.0766987 0.00753432 -0.247067 -0.00360807 0.0144023 0 0.0116448 0.0296134 -0.0862229 0.0407991 0.0639686 0 0 0 0.0653699 0.00174103 -0.126876 -0.00534303 0.00401076 0.0320005 -0.00118558 0.00131285 -0.0013146 -0.0440972 0 0 0 0 0 0 0.0310663 0 -0.142183 0 0 0 0 -0.209844 -0.145224 0 0 0.0663914 0 0.0102715 0 0.000622544 0 0 -0.559743 0 0.236286 -0.108871 -0.0977396 -0.0653511 0 0 0.0133571 0 -2.71618 0 -3.05676 -0.399998 0 -0.749947 -0.569643 -0.0111871 0 -0.0284235 0 0 -0.00949827 0 -1.01947 -1.26098 0 0 -0.168555 0 0 -0.783404 -3.77146 0.0655741 0 -2.84679 0 -1.23364 0.114919 -0.276245 -0.3531 -0.216825 -0.652774 0.48214 -0.0539116 2.19342 -4.04294 0.264651 0 0 0 0.16156 -0.0511384 0 0 0 0 0.0868659 14.8179 1.77801 0.637317 1.33247 -0.750347 1.14439 -0.0350009 0.0495964 -0.0178866 0.231209 0 0 0 0 0 0 +465 0 -0.893021 -0.335015 0.0102249 0.0629173 -0.287526 -0.124689 0.410591 1.14838 0.0908475 -0.444034 0.0660991 0.787509 -0.000665192 0.504878 -0.0228893 -0.533905 1.28923 -0.117475 -0.0329829 1.67306 -0.00932623 0.452234 0.000789216 -0.0362314 0.492154 -0.425639 -0.00904851 0.234379 0.316785 0.202778 0.00951603 -0.43212 0.57588 -0.0981554 0.258309 0.00251619 0.0529791 1.09021 0.0697006 0.574027 -0.00800294 -0.133685 0.0038994 2.53954 -0.0878884 -0.0452464 0.236842 -0.566159 -0.0262806 -0.440297 -0.0401631 4.45711 0.102249 -0.0370832 0.0412983 3.46464 0.015927 0.0151264 0.0956496 0.0226478 0.731308 1.69335 0.759414 0.381552 0.204954 0.426716 -0.0878454 -0.115069 -0.0230187 -0.0254836 -0.034096 -0.218319 -0.266832 3.77902 0.260033 0.158967 -4.99346 -0.261568 -1.55327 0.0729526 0.194516 -1.77154 0.0922542 0.0378032 0.11992 -0.936534 0.018601 0.00646513 0.032758 -0.102453 -0.477806 0 0 0 0 0 0.0102249 0.0629173 -0.00301441 0 0 0 0 -0.000259805 0 -0.0129518 0 0 0.00135049 0.00250523 -0.00775006 0 -0.00135504 0.0159979 -0.0705044 0 0 0.078953 0.000183221 0 0.00917313 0.256699 0 0 0.00907753 0.0933213 0 0.0675324 0 0.00858635 0 0 0.000975803 0 0 0.261272 -0.00367124 0.0185372 0 -0.0421623 0.020682 0 0 0.014514 0 0.0047138 0.0831695 -0.00952067 0 0 0.00309439 0.0128386 0 -0.00808898 0.0247769 -0.0103648 0.224837 0.00206619 0.00749536 0 -0.0114108 0.0203131 -0.0398971 0.06522 -0.0229693 0 0 0 -0.316171 -0.00413702 0.0484689 -0.00842987 0.0123384 -0.0523293 -0.000235482 0.000654406 -0.00278726 0.014373 0 0 0 0 0 0 -0.287526 0 -0.124689 0 0 0 0 0.345331 -1.45921 0 0 -0.721185 0 -0.0833033 0 -0.0938382 0 0 0.530176 0 0.570348 0.125309 -0.444712 0.0394377 0 0 -0.845528 0 -1.77871 0 2.51382 0.00595963 0 0.898833 0.806278 -0.052195 0 0.045971 0 0 -0.159237 0 -0.504946 0.99198 0 0 0.0721229 0 0 0.468458 3.5619 -0.0213111 0 1.26449 0 0.707154 -0.877288 0.490877 0.402893 0.0278625 0.336625 0.48484 -0.029441 1.35459 6.76888 -0.0174116 0 0 0 -0.240915 0.234793 0 0 0 0 0.527508 -16.1948 0.156038 -3.80537 -1.66837 0.854367 -1.17266 0.528592 -0.258502 0.222597 -0.408885 0 0 0 0 0 0 +466 0 0.613756 0.133853 0.0301975 0.270099 -0.0499709 0.259174 -1.36795 -1.90549 0.311914 -0.996195 -0.366685 1.04204 -0.00182169 0.706158 0.0149127 0.456132 3.13318 -0.226384 0.00624083 -2.0529 -0.0127931 -0.102336 0.00184465 -0.0539566 -0.450942 0.132786 -0.0563542 -0.707202 -1.03138 0.467974 0.0253587 0.224789 -0.346802 -0.349992 -0.376122 -0.0289752 -0.258735 -2.28935 -0.413896 -0.0532236 -0.0240049 -0.886966 -0.0312816 2.50001 -0.301955 0.595396 -0.87627 0.0895549 0.12651 0.412144 -0.547999 -2.45478 0.0256233 0.00978154 0.218034 -3.34601 0.159268 0.220432 0.383632 0.0779844 1.42959 -0.0285781 1.1111 0.0305178 0.253629 0.780109 0.142422 -0.506193 -0.0716163 0.0437227 0.419215 0.0600074 0.362826 -0.784881 0.762812 1.45127 4.35717 1.85035 1.5029 1.3602 -0.606714 2.52462 0.27282 -0.101175 1.20103 1.6855 0.0639069 0.0913522 0.336861 0.474564 1.55562 0 0 0 0 0 0.0301975 0.270099 0.000104932 0 0 0 0 -9.05675e-05 0 -0.0117012 0 0 -0.000120671 0.000859728 -0.0107854 0 -0.00129765 0.0305858 -0.113489 0 0 0.358038 7.55311e-05 0 0.00650719 0.963404 0 0 0.0454145 0.19797 0 0.0443242 0 0.0303905 0 0 0.0036632 0 0 0.179227 -0.00140064 -0.00373204 0 0.000185543 -0.00782896 0 0 0.0568184 0 -0.000241034 -0.00194157 -0.00170474 0 0 0.00742636 0.00127176 0 -0.0127244 0.0355879 -0.0171724 -0.489002 0.00189336 0.0147069 0 -0.00509256 -0.00810392 -0.0737881 -0.0448955 -0.0240757 0 0 0 -0.165568 0.00559063 0.104077 -4.4376e-05 0.00310043 -0.0415708 0.00213871 -0.00196685 -0.000204734 0.0329459 0 0 0 0 0 0 -0.0499709 0 0.259174 0 0 0 0 -0.158406 0.130304 0 0 -0.039477 0 -0.000630318 0 0.0134569 0 0 -0.369122 0 -0.0517294 -0.0465821 0.239669 -0.0559778 0 0 0.119336 0 1.30993 0 0.821645 0.630883 0 -0.19905 0.556461 0.0294512 0 -0.0220163 0 0 0.0107052 0 0.949477 -0.220121 0 0 -0.0465525 0 0 -0.030815 0.230302 -0.0111713 0 0.209333 0 0.0433014 -0.21435 0.0945499 -0.106738 -0.00115763 0.331001 0.477972 -0.137866 0.808242 1.71404 0.17202 0 0 0 0.0478868 0.0521727 0 0 0 0 0.0483343 -6.40488 -0.67798 0.438142 -0.586613 0.149045 -0.0805428 0.0112908 -0.00194542 0.0067353 0.149708 0 0 0 0 0 0 +467 0 0 0 0 0 -0.440916 -0.312759 0.490896 0.999492 0 0 0.338295 -1.22098 0 -1.18216 0.0200155 0 0 0 -0.502314 -5.91897 0 0 0 0 0.232132 0 0 0.67589 -1.69362 -0.599033 0 0.456628 0 0 0.231401 0.0213434 0 0 1.54679 -2.93828 0 0 0.235658 -3.35877 0 -1.39161 0.164528 -0.85472 -0.439575 1.02253 0.0374406 0 0.285698 -0.0561876 -0.0354373 -2.04266 -0.909729 -0.406956 0 0 0.919794 4.89095 0 -0.372713 -0.308964 -0.730248 0 0 0 0 0.0988125 1.63408 0 0.534996 -0.841672 0 0 0 -0.337095 0 -1.70621 1.64758 0 -0.751557 0.666576 -3.10303 0 -1.46836 1.1479 -4.37175 5.72118 0 0 0 -0.203255 -0.0515722 0 0 0 -0.0412832 -0.000886398 0 -0.00636561 0 0.00464152 0.0202309 0 0 0 0 -0.0293624 0 -0.0131584 0 0.178515 0 -0.162874 0.0622186 0 0.00418797 0 0 0.254896 0.00216782 -0.0169343 0 0.00141612 0 0.000270989 0.0127326 0.0271413 0.0373936 -0.00936545 0 0.000217305 0 0 0 7.84894e-05 0 0 -0.00542544 0.00210202 0.29736 0.0561714 0 0 -0.00277421 0 0.00142278 0 0 0.00219217 0.00319412 -0.0179187 -0.0289679 0 0 0.121085 0.0641367 0.00278168 0.495677 -0.206896 0 0.257909 -0.000671987 0.00766528 0 0 0 -0.63356 0 -0.0792176 -0.879282 0 -0.00154099 -0.0562528 -0.294484 0 -0.00261597 -0.00325724 -0.00745625 -0.557257 0 -0.440916 -0.203255 -0.312759 -0.0515722 0.0969198 0.066346 -0.272639 -0.284047 1.53788 0.0629094 0.0657098 0.310002 0.0107949 0.0615583 -0.0507224 0.107474 0.0177748 0.293196 0.369347 0.145956 -0.0171501 0.0252221 0.190368 0.109834 0.20963 -0.153427 0.90871 0.00187726 0.261521 0.390695 -0.634279 -0.84851 -0.00867773 -0.0576079 -0.216718 0.0360033 0.00376282 -0.0555624 0.0971745 -1.02995 0.1634 -0.0256698 -0.539187 0.651265 0.00728867 -0.00695687 0.242439 0.0252788 -0.135906 0.156781 2.92015 1.23734 0.0194101 -0.0386072 0.0357872 -1.23394 0.500715 -0.80316 -0.157981 0.0126389 0.881814 1.09116 -0.0731708 -1.34396 -6.67901 -0.00585831 0.0650891 0.122164 0.137137 -0.063721 -0.0662743 0.0292241 -0.123674 0.115673 -0.170702 -0.117581 4.79429 -0.547557 0.0401343 -0.676217 -1.58943 4.25387 -0.499535 -0.0364113 0.25045 0.224103 -0.399259 0.0197673 0.203057 -0.751706 1.71775 0 +468 0 0 0 0 0 0.961667 0.263701 -0.560622 -2.92544 0 0 0.555775 1.12801 0 1.30148 0.0886227 0 0 0 -0.0341137 3.98683 0 0 0 0 -0.284605 0 0 -0.650417 -4.16018 0.507535 0 0.467462 0 0 -0.0680364 0.143437 0 0 0.497151 1.42612 0 0 0.268054 2.89225 0 0.595683 -1.6908 -0.0284454 -0.523656 0.748872 -0.162412 0 -0.111371 0.626742 -1.00704 -0.406589 -0.438369 0.213401 0 0 1.35516 -3.58987 0 -0.896159 -0.317833 -0.158339 0 0 0 0 0.62586 1.31264 0 -0.0899451 2.38615 0 0 0 4.82088 0 0.181857 4.14197 0 0.0526212 1.68977 1.64335 0 -0.56231 3.58371 -8.11013 22.8674 0 0 0 0.16404 0.00539688 0 0 0 0.00113432 -0.015205 0 -0.000670119 0 -0.00191599 -0.0636842 0 0 0 0 -0.119826 0 -0.0318205 0 -0.387257 0 0.0926267 0.190988 0 0.00125584 0 0 0.0299762 -0.000357736 0.0148926 0 0.000430189 0 -0.000882712 0.0847125 0.00309578 -0.0143445 0.00949577 0 -6.88985e-05 0 0 0 -5.92186e-06 0 0 -0.00154045 0.00365292 -0.11405 -0.00784386 0 0 0.007636 0 0.00644329 0 0 -0.014063 0.0150066 0.184896 0.00811055 0 0 0.0324716 0.0602123 -0.068033 -0.168035 -0.590635 0 0.0541233 -0.00716588 0.080986 0 0 0 1.22273 0 0.0713262 -0.385745 0 0.00591708 -0.0314072 0.303113 0 -0.000497434 -0.00200632 0.027836 -0.200577 0 0.961667 0.16404 0.263701 0.00539688 0.116979 0.0960889 -0.155408 0.593494 1.22819 0.0010191 -0.0789317 -0.341312 0.00119507 -0.0606858 -0.0249725 0.0976197 -0.0320363 -0.0481446 -0.299932 -0.42452 0.0978288 -0.107861 -0.268611 -0.0791075 -0.177055 -0.185112 0.730724 -0.00192234 3.78104 0.114527 2.81931 0.524137 -0.00447484 0.188303 0.536416 -0.0332296 0.00382077 0.0685324 0.0120455 -1.06544 0.15482 -0.0314284 1.40442 -0.996597 -0.0106818 0.0136839 -0.316413 -0.0332441 0.0180121 0.606975 -0.469731 0.342366 -0.0292344 1.99104 0.0498703 -1.84935 0.741758 -0.745452 0.66469 -0.101365 0.204257 0.484218 -0.204728 0.295707 4.84292 0.101173 0.333222 -0.00817437 0.013155 0.108966 0.0784736 0.0336742 -0.0207442 -0.116305 0.0174582 -0.172588 -21.3102 -1.48387 2.15737 -1.73764 1.835 0.682426 0.279758 -0.390174 0.89543 0.0471566 0.0655609 -0.189423 0.544346 -0.642666 1.74904 0 +469 0 0 0 0 0 -0.559918 -0.132389 -0.172958 0.591589 0 0 0.815339 0.133833 0 0.726155 0.0328479 0 0 0 -0.0194683 4.36047 0 0 0 0 0.127388 0 0 -0.0636118 -9.40597 -0.215041 0 0.0854022 0 0 0.0400644 0.111842 0 0 3.07502 0.0473351 0 0 0.535042 3.31279 0 -0.553057 -1.89243 -0.632871 -0.660921 -0.864501 -0.132504 0 0.125716 0.530418 -0.885057 0.245086 -0.162488 -0.69325 0 0 -0.253453 1.24752 0 -0.839881 0.0226817 0.557378 0 0 0 0 0.000518647 1.20765 0 -0.626761 1.45722 0 0 0 -0.998505 0 -3.79779 11.8097 0 -1.21206 3.86302 0.985759 0 -2.67549 7.25515 -12.7327 34.5307 0 0 0 -0.380453 -0.0934841 0 0 0 -0.0970071 -0.0241493 0 -0.01426 0 0.00725677 -0.00445633 0 0 0 0 -0.0447788 0 -0.0312122 0 0.0828857 0 -0.482501 -0.482008 0 -0.0048669 0 0 -0.471068 0.000269784 -0.0882606 0 0.00288238 0 -0.00136656 -0.168326 -0.0541347 0.0175306 -0.0337538 0 0.000302103 0 0 0 0.000137002 0 0 0.00200227 -0.000550067 0.164211 0.0209103 0 0 -0.0459193 0 0.00345534 0 0 -0.0487721 0.0263445 0.100235 -0.0608315 0 0 0.191726 0.0555932 -0.0231275 0.189749 -0.219115 0 -0.113509 -0.00663949 0.365846 0 0 0 0.260606 0 -0.102473 1.24852 0 -0.00849422 0.0692081 0.209306 0 0.000471879 0.00661545 -0.0488726 0.716139 0 -0.559918 -0.380453 -0.132389 -0.0934841 1.16491 0.251543 -0.346103 0.533834 0.939203 0.1245 -0.0288373 0.126581 0.0199937 0.0570198 -0.0796656 0.12587 -0.0423921 0.685035 0.159398 2.31317 0.28646 0.00801591 -0.088824 -0.0357453 -0.503017 -0.229811 0.759559 0.0400882 3.48602 -0.131096 2.15631 -0.217886 -0.0152157 0.616693 0.909944 0.0105451 -0.00328904 0.0496789 0.0255022 -1.19817 0.140235 -0.0355349 0.859086 1.40283 0.00031701 -0.071368 0.159 0.307632 -0.0312747 -0.692459 -1.06649 1.42689 0.162893 0.0425967 0.0424963 -0.202407 0.466106 -1.17645 0.499538 -0.190165 -1.21752 -0.627956 0.155295 -0.692188 -4.30086 0.088447 -0.510417 0.235376 0.299485 0.503934 -0.130554 0.203819 -0.250655 -0.147281 -0.243523 -0.365384 -16.2988 -2.59989 -0.358817 -4.05714 2.50099 1.85058 -0.760161 0.293116 0.418874 -0.32263 -0.932846 0.636054 -0.352751 -0.0639561 1.40806 0 +470 0 -0.412954 0.000337385 -0.0257947 -0.140948 -0.0293689 0.269874 -1.34426 -2.36412 -0.186363 1.07448 0.140854 0.0881887 0.00567666 0.584359 0.00592906 -0.747615 -3.09753 0.210794 0.0903236 -0.114413 0.0192948 -0.158313 -0.00612099 0.131354 -0.780858 -0.0447095 -0.00208822 -0.76691 -1.76137 0.374942 -0.0343046 -0.0336626 -0.151318 0.21866 -0.487648 0.0206546 -0.0859979 0.955226 0.262576 0.899388 0.0225562 0.604139 0.0240445 -0.195441 0.052108 0.801224 -1.07566 0.537948 -0.0823526 1.45193 0.0124222 -0.700999 -0.00741584 0.17914 -0.355888 1.39199 -0.524125 -0.162405 -0.166009 -0.0296217 -0.489558 -0.959841 0.748092 0.586755 -0.632726 1.07966 -0.278423 0.0226896 0.0271928 0.0577819 -0.238368 0.0526355 0.258125 0.0915802 1.27122 -1.06236 -0.694541 -1.88124 4.02986 -1.29527 1.15945 -0.370877 -0.861827 1.02035 -1.64496 5.2448 -0.070552 -0.139689 1.11479 -1.67796 5.24761 0 0 0 0 0 -0.0257947 -0.140948 -0.000972948 0 0 0 0 -1.90644e-05 0 0.0331089 0 0 -3.72413e-05 0.00131589 0.0357182 0 0.00495358 0.053694 0.249515 0 0 0.171056 5.31642e-05 0 0.00967609 0.854829 0 0 0.0135235 0.252245 0 0.103046 0 0.0201788 0 0 0.00184314 0 0 0.622018 -0.000255192 0.000855753 0 -0.0187817 -0.010031 0 0 0.0953078 0 0.000360561 0.79763 -0.0133915 0 0 -0.000587416 0.00361638 0 0.00480361 -0.0773781 0.0196919 0.894992 0.0176537 0.0156431 0 0.012933 -0.0629253 0.0518501 0.0509771 0.154007 0 0 0 -4.71258 -0.162284 -1.11121 -0.020416 0.0506351 -0.702261 -0.000182553 0.000513652 -0.00616496 -0.24095 0 0 0 0 0 0 -0.0293689 0 0.269874 0 0 0 0 0.107988 -0.071311 0 0 0.442198 0 0.0391966 0 -0.0147929 0 0 0.0247728 0 -0.0700542 -0.0392565 0.00982679 -0.0114119 0 0 -0.140302 0 0.503873 0 2.30984 0.541971 0 -0.215297 0.469743 -0.00708478 0 0.0133209 0 0 -0.00941793 0 0.439768 0.376041 0 0 0.0487317 0 0 -0.00179957 -1.76904 -0.065827 0 0.0406056 0 0.576504 -0.139328 0.0923945 -0.09691 -0.0299527 0.0847257 -0.870754 0.0948305 -0.156975 1.97196 0.0101293 0 0 0 -0.129927 -0.0941221 0 0 0 0 0.0281887 -13.6535 -4.00477 2.96378 -1.50491 1.39746 -1.4647 -0.264464 0.241725 -0.306484 0.161942 0 0 0 0 0 0 +471 0 1.58924 0.421558 0.00386065 0.177774 0.014214 0.170566 -0.0349134 -0.404485 -0.0659835 0.2984 0.189558 -0.173683 0.00359268 0.673263 -0.02341 0.696384 1.81555 0.0875157 -0.00433494 -0.658857 0.068661 -0.278 -0.00844642 0.243993 -0.481375 0.371163 0.0382585 -0.197341 -0.58384 -0.0610477 -0.0319605 -0.279165 -0.656102 -0.0652744 -0.303364 0.0106041 0.115398 -3.4493 0.415391 0.22688 0.0129659 -0.0651174 0.0222483 0.843307 0.0043376 0.250347 -0.271042 -0.228664 -0.0294996 1.12771 0.18208 0.462005 -0.348116 0.0902622 0.12797 0.186176 0.388653 0.759353 -0.340897 -0.0418608 0.116019 0.170172 -0.691293 -0.164019 -0.621592 0.084006 0.516909 0.681111 0.101343 -0.463211 0.05538 0.0908782 -0.346338 -1.24403 -0.344568 -0.237212 8.6266 1.30527 0.536611 1.96367 -2.24733 4.93912 -0.419048 0.517709 -0.592798 1.57482 -0.00587292 -0.278042 0.388786 -1.04532 1.73942 0 0 0 0 0 0.00386065 0.177774 0.000599657 0 0 0 0 0.000344891 0 0.00885134 0 0 -0.00159624 -0.00439399 0.0264292 0 0.00351226 0.0352112 0.0908075 0 0 0.0663969 -0.000185638 0 -0.0649257 0.5586 0 0 0.00797249 0.152361 0 -0.184049 0 -0.0066927 0 0 -0.000650523 0 0 -0.809321 0.00763204 -0.0362468 0 0.016074 0.0587661 0 0 -0.0422588 0 0.00437225 0.159523 -0.00306309 0 0 0.00175428 0.00140975 0 -0.00474682 0.00996842 -0.0144406 -2.00594 0.0445905 0.0223541 0 -0.00377287 7.31792e-05 0.0791814 -0.130096 -0.020792 0 0 0 5.17961 0.278209 -0.256174 0.0215208 -0.0507786 0.725474 0.00109817 -0.00263674 0.0362959 -0.127675 0 0 0 0 0 0 0.014214 0 0.170566 0 0 0 0 -0.15447 -0.0121918 0 0 -0.271702 0 -0.00399333 0 -0.0188051 0 0 0.408383 0 -0.525005 -0.0713813 -0.164663 0.0686474 0 0 -0.114913 0 4.256 0 -5.40697 0.062296 0 -0.512118 -1.67792 -0.00743746 0 -0.0252692 0 0 -0.0146816 0 0.899523 0.856013 0 0 0.151282 0 0 -0.0970547 1.76538 -0.0869794 0 0.0168747 0 -1.2827 0.0865805 0.047873 -0.466205 0.104938 0.273614 1.46561 -0.229091 -0.878054 -2.00302 -0.015652 0 0 0 0.211504 0.0710094 0 0 0 0 -0.247709 45.6086 5.83461 1.4307 3.00007 -3.41731 5.55856 0.150969 -0.188336 0.303843 0.36228 0 0 0 0 0 0 +472 0 -0.365445 -0.215031 -0.118176 -0.352698 0.459876 0.0969314 -0.907948 -3.4928 -0.477848 2.50324 -0.641273 0.155669 0.0325385 0.239855 0.0360341 -0.581714 -0.24693 0.322342 0.101465 -2.03326 0.0481504 0.133866 -0.0297581 0.546269 -0.38051 -0.364493 -0.00930144 0.154022 1.94478 0.0967992 -0.13167 0.0780405 0.179534 -0.115804 -0.0169354 -0.10779 -0.329296 0.843241 -1.58335 -0.843729 0.171103 -2.0661 -0.29703 1.90821 0.812611 -0.258477 0.601826 0.24387 0.781348 3.28537 0.909412 -2.72189 0.0121049 0.417254 -0.363716 -0.897715 -0.373533 0.424714 -0.612571 -0.338193 1.01773 0.400839 -1.38005 0.138144 -1.10726 -1.39224 -0.586845 0.0480537 0.0727954 -0.191343 0.812124 -1.35975 0.234997 0.948427 0.232883 -0.449454 -1.4714 -4.05336 5.16896 -2.71204 3.40725 -4.25516 -2.73731 2.97849 -5.17223 6.29502 -1.10024 1.66557 -2.52707 3.77942 -5.79403 0 0 0 0 0 -0.118176 -0.352698 -0.00174564 0 0 0 0 0.000179495 0 -0.0114891 0 0 0.00117126 0.00863318 0.00488753 0 0.00266785 -0.0361673 -0.126411 0 0 -0.208732 0.000375789 0 -0.0944185 -0.519516 0 0 -0.0182749 -0.147947 0 -0.0480877 0 -0.0781217 0 0 -0.00747097 0 0 0.186501 0.00400964 0.0296844 0 -0.0346972 -0.101167 0 0 0.434075 0 0.00190813 0.548448 -0.0105832 0 0 -0.00102678 0.00680729 0 -0.00254814 0.114603 0.0258618 -1.00933 -0.00329785 0.000566303 0 -0.0228346 0.162224 0.211953 -0.0633259 0.283922 0 0 0 -0.134385 -0.104685 0.275152 0.000553357 -0.00543147 0.0575419 -0.000980592 0.00239352 -0.032478 0.0362749 0 0 0 0 0 0 0.459876 0 0.0969314 0 0 0 0 -0.770033 -2.35294 0 0 1.18233 0 0.135839 0 -0.11322 0 0 -0.0079199 0 0.402099 -0.165211 0.552518 0.00949386 0 0 -0.834866 0 -3.80582 0 1.45078 -0.40395 0 -1.59055 0.650552 0.0646564 0 -0.0818672 0 0 -0.301525 0 -1.48303 1.02103 0 0 0.139142 0 0 -0.141494 -2.75692 -0.60194 0 -0.623345 0 0.453655 -0.514237 0.541575 -0.933423 -0.115387 0.979567 -0.976879 0.31205 1.58077 5.42213 0.185997 0 0 0 -0.19922 -0.310593 0 0 0 0 0.531989 -6.00561 -5.5878 7.48796 -1.32313 1.38522 -1.49191 -0.766588 0.817196 -1.11416 1.53458 0 0 0 0 0 0 +473 0 -0.473174 -0.362433 -0.0821574 -0.171961 0.135542 0.0943549 -0.688198 -1.98728 -0.278707 1.5702 -0.309118 0.225925 0.026397 -0.163496 -0.117537 -1.77716 -6.21259 0.250829 -0.154735 3.24075 -0.0241184 0.153973 -0.0171493 0.229914 -0.401027 -0.690459 -0.199061 0.0500167 0.2296 0.0410918 -0.0728695 -0.491955 0.29285 -0.536893 -0.111552 -0.0903504 -1.06935 0.663324 -0.628125 1.60134 0.116238 -2.94143 -0.216733 0.316573 0.377617 0.710403 0.148552 -0.552247 0.44816 -2.04519 0.706248 -0.902789 0.290427 -0.366456 0.36802 -0.186579 1.59424 0.923274 -0.33374 -0.141615 -0.339281 -3.43647 -1.04382 1.97138 1.59759 0.125975 -1.66464 -1.64727 -0.133344 -0.241094 0.0329188 -1.2239 0.477029 -0.806157 -0.056121 1.60878 2.40357 -2.77912 3.92012 -1.85161 2.31941 -3.60373 -1.79169 2.01713 -3.67999 5.30539 -0.787341 1.3421 -1.54689 2.59282 -1.59002 0 0 0 0 0 -0.0821574 -0.171961 -0.00208682 0 0 0 0 -0.000167258 0 0.00498285 0 0 0.00335214 0.00851541 -0.00472112 0 0.000230883 -0.0615412 0.0711509 0 0 -0.0191868 0.000391023 0 0.00859522 -0.0829326 0 0 0.00285159 -0.116588 0 0.0937594 0 -0.0466751 0 0 -0.00397302 0 0 0.520301 -0.0041243 0.0584111 0 -0.0489695 -0.0860766 0 0 0.18559 0 -0.000297042 0.60866 -0.0123555 0 0 -0.00692308 0.00679985 0 0.018021 0.00367432 0.0397337 0.103335 -0.0321763 -0.00812465 0 -0.00546123 0.103977 -0.0696513 0.0670696 0.368611 0 0 0 -4.63908 -0.305733 -0.559038 -0.0114611 0.0310698 -0.60192 -0.00408873 0.00568987 -0.0340609 -0.0939737 0 0 0 0 0 0 0.135542 0 0.0943549 0 0 0 0 -0.147543 -1.59085 0 0 0.705379 0 0.0653444 0 -0.0740671 0 0 -0.278306 0 0.360526 -0.0894819 0.237445 -0.0556095 0 0 -0.557437 0 -5.68655 0 1.27642 -0.262592 0 -0.5504 0.608492 0.0243713 0 -0.0264412 0 0 -0.210088 0 -1.58991 -0.147416 0 0 -0.0682133 0 0 0.107461 -3.70709 -0.215364 0 -0.345627 0 1.87282 -0.481708 0.320929 -0.137044 0.0835087 -0.550056 -2.11276 0.277886 1.23457 3.68753 -0.121767 0 0 0 -0.373411 -0.172582 0 0 0 0 0.400749 -7.01878 -4.32427 3.82793 -1.33746 1.55725 -1.77203 -0.450034 0.459669 -0.578305 0.46304 0 0 0 0 0 0 +474 0 0.78537 -0.0159593 0.0192481 0.16839 -0.0111978 -0.188651 0.0668301 0.646822 0.00216482 -0.332433 -0.489521 -0.298936 -0.00950554 -1.09469 -0.0390417 0.0979242 2.84835 0.00595646 -0.0461104 1.05899 0.0303108 0.277873 0.0129652 0.0769244 0.482086 -0.32149 0.0195709 0.747456 2.61434 -0.396078 0.0316629 -0.312136 0.232792 0.175605 0.28257 -0.0533108 0.0141845 -1.58058 -0.501809 -0.212901 -0.0397109 0.0160318 -0.0337011 -0.486351 -0.122975 -0.540968 1.48916 -0.418184 0.102607 0.986555 0.527759 6.21655 0.060177 -0.487382 0.9003 4.68319 0.730096 0.116444 -0.0579749 0.0483557 0.398215 0.0237282 1.15119 -1.13786 -0.939297 -0.069277 1.2938 0.684512 -0.0564518 0.738002 0.219021 -0.350438 -0.299521 1.11506 -1.69044 -1.14293 7.40165 1.2026 -1.12847 2.16444 -0.852563 -0.856497 0.70353 -0.408382 -0.237885 -1.29881 0.256405 0.299324 -2.29967 6.49574 -18.1048 0 0 0 0 0 0.0192481 0.16839 -0.00451267 0 0 0 0 -0.00123046 0 -0.0223104 0 0 -0.00124563 0.000891392 -0.0139144 0 -0.00323979 0.0119644 -0.0968064 0 0 0.0752395 4.1387e-05 0 -0.0809505 0.116122 0 0 0.0115512 0.0464654 0 -0.236895 0 0.0342885 0 0 0.00393683 0 0 -0.95509 -0.0240827 -0.0243392 0 -0.0851271 -0.0197431 0 0 0.0694053 0 0.00504829 0.263451 -0.00571197 0 0 0.000188138 0.0180038 0 -0.00470985 0.0864719 0.0134868 -1.14142 0.0510129 -0.0153256 0 -0.0192238 0.0735692 0.442948 -0.160317 0.0642847 0 0 0 7.87978 0.407442 0.674815 0.0400558 -0.023664 0.546634 0.000151787 0.00241286 -0.00383655 0.0294792 0 0 0 0 0 0 -0.0111978 0 -0.188651 0 0 0 0 -0.598212 -0.597376 0 0 0.305826 0 0.0496951 0 -0.0437939 0 0 0.325993 0 0.678172 -0.0915662 0.48053 0.0426674 0 0 -0.408223 0 -1.85422 0 0.0336121 -0.278356 0 -0.721766 1.00894 0.0587911 0 -0.0657561 0 0 -0.0663342 0 -0.595359 0.111147 0 0 0.0190901 0 0 0.424369 -0.159548 -0.611123 0 1.56166 0 0.85064 -0.503628 0.613529 -0.85756 -0.0937614 0.468812 -0.305659 0.204907 0.276674 7.42923 0.0990865 0 0 0 -0.0854649 -0.161933 0 0 0 0 0.20139 10.8367 0.0742912 2.80639 0.404728 -0.136782 0.246029 -0.239231 0.327961 -0.494481 0.905235 0 0 0 0 0 0 +475 0 -0.649451 0.0192183 -0.135106 -0.428859 0.67776 0.368105 -1.26523 -5.18283 -0.190185 3.57865 -0.260495 0.51203 0.0382792 -0.226948 -0.048345 0.533726 1.68598 0.634311 -0.104191 1.18424 0.108184 -0.075019 -0.0215307 0.752564 -1.12127 0.280639 0.0410311 -0.197515 1.42829 0.170204 -0.0755054 -0.253647 0.189075 -0.0951635 -0.384826 -0.078622 0.120158 2.90196 -0.842781 0.892371 0.166978 -0.535799 -0.250432 1.14856 0.567731 0.666962 0.169483 -0.655391 0.0325921 -0.295678 1.08502 2.38457 0.161955 -0.517282 0.750427 0.457957 -0.170194 -0.465495 -0.636433 -0.0874031 0.0380148 0.104834 -1.628 3.71023 0.964139 0.612354 -1.95542 -0.621866 -0.21968 -0.359795 -0.443677 0.443672 0.369584 0.220539 -0.754372 0.410203 -8.39843 -7.37883 9.86242 -5.64946 5.5102 -6.6816 -4.16078 4.62933 -8.06282 12.6544 -1.18373 1.9119 -3.45483 5.51775 -9.89118 0 0 0 0 0 -0.135106 -0.428859 -0.00406106 0 0 0 0 -0.000199942 0 -0.0298441 0 0 0.00137352 0.0125111 -0.0607035 0 -0.00502873 -0.102587 -0.313809 0 0 0.0295797 0.000507818 0 0.020987 -1.54668 0 0 -0.00120967 -0.368084 0 0.207966 0 -0.0468073 0 0 -0.00559732 0 0 0.984238 -0.00489802 0.0413562 0 -0.0831688 -0.113084 0 0 0.482581 0 -0.00507929 -0.161604 0.0219203 0 0 0.000367083 0.00762537 0 -0.0075777 0.101336 0.011337 1.02711 -0.0558254 -0.0258587 0 -0.0262867 0.00181267 0.0166607 0.0181405 0.177237 0 0 0 -3.84661 -0.290346 0.947061 -0.0222293 0.0115593 -0.218707 -0.000256687 0.00123945 -0.0454873 0.249821 0 0 0 0 0 0 0.67776 0 0.368105 0 0 0 0 -0.513257 -1.32347 0 0 0.88509 0 0.117982 0 -0.0516765 0 0 0.512011 0 -0.42173 -0.186307 0.150988 0.083727 0 0 -0.42042 0 -0.115162 0 -1.46973 0.501633 0 -1.7379 -1.03386 0.0275308 0 -0.0630427 0 0 -0.147397 0 0.384667 1.88843 0 0 0.266147 0 0 -0.0451428 -0.522985 -0.690015 0 -0.384821 0 1.09015 -0.415899 0.631221 -0.364399 0.095941 0.295588 -0.77301 0.0544965 1.22297 3.86041 -0.0502986 0 0 0 -0.139551 -0.113613 0 0 0 0 0.533391 14.1133 -3.37204 9.32017 -0.303267 -0.32515 1.92449 -0.666033 0.616318 -0.717019 1.45232 0 0 0 0 0 0 +476 0 0 0 0 0 0.220915 -0.380436 0.833272 1.46459 0 0 0.239607 -1.77863 0 -2.78012 0.0674089 0 0 0 0.00143571 1.33573 0 0 0 0 0.401323 0 0 0.576382 -4.01055 -0.883237 0 0.0122016 0 0 0.366264 0.0444982 0 0 1.7334 -1.03892 0 0 0.359857 -5.69296 0 -1.15037 -0.216236 -0.589383 -0.813686 -1.67244 -0.603729 0 0.0511774 0.459072 -0.280587 0.866386 0.188461 0.838772 0 0 -0.35597 -0.883832 0 -0.170899 0.172902 -0.802869 0 0 0 0 0.332415 0.947309 0 3.07108 0.351262 0 0 0 -1.82412 0 -2.62009 6.74325 0 -1.18192 1.64026 -0.205545 0 -1.68799 2.50946 -4.35419 13.2159 0 0 0 -0.20491 -0.0437211 0 0 0 0.000890918 0.0356482 0 0.000172399 0 -0.00737194 -0.0163336 0 0 0 0 -0.108238 0 -0.00293798 0 -0.151299 0 0.0635655 0.174724 0 0.00479906 0 0 0.0936485 -0.000159711 0.0323914 0 0.0134058 0 0.00263815 0.0744618 0.0228119 -0.00376707 0.0142906 0 -0.00051279 0 0 0 0.000968136 0 0 -0.0135252 -0.00533538 0.0777458 0.0634841 0 0 0.00105881 0 -0.0166457 0 0 -0.0156323 -0.016621 0.183631 0.0019304 0 0 0.0175357 -0.0585796 -0.107377 0.0412448 -0.28391 0 -0.0973151 0.0235562 0.103281 0 0 0 0.162251 0 -0.0480045 0.109177 0 0.0071007 -0.0167318 0.072725 0 -0.00243058 0.00384015 -0.0143651 -0.0147467 0 0.220915 -0.20491 -0.380436 -0.0437211 0.587387 0.149868 -0.520762 0.50193 0.0975664 0.0491041 0.0171982 0.530768 0.00655867 0.0792129 -0.0718132 0.0418157 0.027381 0.367012 -0.337332 0.124414 -0.402383 0.120931 0.082716 -0.0732126 0.154971 -0.271991 0.211509 0.00547712 -2.90562 0.576482 0.0717041 -1.32013 -0.00882081 0.4923 -0.438339 0.0181652 0.0128564 0.0714069 0.113978 -1.92088 0.0217693 -0.0410206 -1.95974 -0.763078 0.00355213 0.0663497 -0.178904 -0.00152103 0.205779 0.220263 1.26612 0.0758129 -0.102378 1.65382 0.188305 -1.38411 -0.142745 -0.105191 -0.29952 -0.573847 0.301712 0.458574 -0.0295815 -1.65543 1.08547 0.433206 -0.288493 0.188693 -0.200373 0.152912 -0.228935 -0.153286 -0.139695 0.180642 -0.00662404 -0.238108 -0.181651 -0.69213 0.129874 -0.477383 -1.06879 4.35011 -0.193994 -0.105471 0.41511 -0.0705616 -0.127965 -0.260318 0.564454 -0.965596 2.37885 0 +477 0 0 0 0 0 0.0908665 -0.182813 1.33228 1.81031 0 0 0.29659 -0.617595 0 -0.47715 0.0572835 0 0 0 -0.0136377 -6.07734 0 0 0 0 0.354829 0 0 0.0294614 0.43991 -0.0861962 0 0.600208 0 0 0.239225 0.0434774 0 0 -0.212155 -1.49154 0 0 -0.124938 -3.85122 0 -0.15419 0.0387874 0.750114 0.0641271 -2.69717 0.14312 0 -0.15084 0.0508201 -0.314411 0.141219 -0.388217 -0.503247 0 0 -0.681386 0.48085 0 0.845586 0.872024 -1.50752 0 0 0 0 0.510173 -0.183487 0 -0.211952 0.0910518 0 0 0 -2.35092 0 0.127119 -1.11907 0 0.278068 0.286303 -4.38282 0 0.876331 -0.678675 0.0833192 -0.615851 0 0 0 0.0993569 0.00467862 0 0 0 -0.0602007 0.0656566 0 -0.0067138 0 -0.00387103 -0.00902234 0 0 0 0 0.0140335 0 0.000118654 0 -0.102357 0 -0.500865 -0.380809 0 0.000821598 0 0 -0.0258689 -0.00206353 -0.0352593 0 0.0098549 0 0.00460364 -0.105129 0.000169504 -0.0272826 -0.0133177 0 -0.000285853 0 0 0 0.000696199 0 0 0.000564853 -0.00328868 -0.0783614 -0.0098115 0 0 0.00405416 0 -0.0185114 0 0 0.0349353 0.00449041 -0.00980525 -0.00689887 0 0 0.0123821 -0.036927 -0.0126464 -0.0387097 0.0743004 0 0.0437489 0.00988394 -0.082668 0 0 0 0.101218 0 0.0362547 0.0373699 0 -0.00214758 0.0020014 0.0317504 0 0.00156225 -0.00329284 0.0150527 0.0178092 0 0.0908665 0.0993569 -0.182813 0.00467862 0.132054 -0.122263 0.233063 0.618532 0.88634 0.0131556 0.00614319 -0.0970392 0.00191523 -0.00663314 0.0127463 0.0426248 -0.0190092 0.0751866 -0.134586 -0.985865 -0.285568 0.1532 -0.149041 -0.0122033 -0.145464 0.140227 0.456223 -0.0352485 4.52792 -0.120799 -0.528815 0.439047 0.000356948 1.01958 -0.491179 -0.0154684 -0.00275246 0.0889098 -0.0321662 0.627982 0.0759898 0.028944 1.84603 -1.394 -0.000889279 -0.0109521 -0.181439 -0.184074 -0.0730586 0.140763 0.804374 -0.11778 0.108272 -0.288383 -0.0887669 0.120748 0.120246 -0.172658 0.420111 0.00299952 -0.259614 0.372627 0.175715 0.116415 2.54679 -0.173493 0.105242 0.043704 0.0649226 -0.0772474 0.0472602 0.0511403 -0.0301196 -0.0540914 -0.112176 -0.180425 1.33967 0.269112 -1.06843 -0.00304647 0.128555 -0.496308 -0.00386878 0.0319398 -0.158116 -0.344662 -0.0262151 0.0733426 -0.193623 0.242285 -0.719514 0 +478 0 0 0 0 0 0.161089 -0.0585817 -0.92698 -2.18129 0 0 -0.253985 -0.894058 0 -0.876264 -0.101178 0 0 0 -0.163507 3.08924 0 0 0 0 -0.39548 0 0 0.0922974 -1.59545 -0.396704 0 -0.603924 0 0 -0.0803373 -0.038606 0 0 -0.670389 -0.00748496 0 0 -0.0789536 -1.58437 0 -0.534556 -0.483785 -1.11286 0.408955 0.234553 0.672322 0 0.391192 -0.37089 -0.0986525 0.44755 -0.271644 -0.804804 0 0 -0.344715 1.29799 0 0.409461 -0.072749 -0.107229 0 0 0 0 -0.262578 -1.18822 0 0.32961 1.50874 0 0 0 5.31981 0 2.25317 1.34178 0 0.832656 0.113075 4.62363 0 0.0494213 0.43956 0.832104 4.89604 0 0 0 0.0994597 0.0282454 0 0 0 0.0255242 -0.0320234 0 0.00210149 0 0.00603011 0.00463336 0 0 0 0 0.0196587 0 -0.00505997 0 0.0394849 0 0.191492 0.0101196 0 -0.00142812 0 0 -0.0256312 0.000233538 -0.0160698 0 -0.0106008 0 -0.00228784 -0.0168952 -0.00516034 0.00402319 -0.00708648 0 0.00042037 0 0 0 -0.00076509 0 0 0.0108634 0.00426725 -0.0739805 -0.0332891 0 0 -0.00121236 0 0.0144583 0 0 -0.00156828 -0.00844022 -0.00598736 -0.016773 0 0 0.0124961 0.013958 0.0794712 0.0223474 0.17831 0 0.0173827 -0.0142346 0.0859997 0 0 0 -0.0702163 0 0.0422064 -0.0754758 0 -0.00476558 0.0131591 -0.0305821 0 0.00184207 -0.00485347 0.0144195 0.0157088 0 0.161089 0.0994597 -0.0585817 0.0282454 -0.0957185 0.0818667 0.175415 0.319831 -0.773307 -0.0459736 -0.0608775 -0.497405 -0.00584306 -0.0605291 0.038583 -0.0270201 -0.059597 -0.365611 -0.0185972 1.82725 0.0725258 0.088337 -0.180051 0.0442463 -0.402546 -0.115687 -0.229958 0.0336859 -2.10572 0.141664 0.247848 -0.42552 0.00562783 0.459123 0.119486 -0.0200083 0.000972143 0.0623715 0.0131418 -0.707212 -0.0511889 -0.02134 -0.606401 0.987692 -0.00848985 0.0154728 0.156843 0.238645 0.24295 0.12245 -0.765512 0.782025 0.192044 0.961488 -0.0730879 0.262421 0.0844188 -0.132281 -0.227015 -0.13919 0.205637 0.0136705 0.0633309 -0.319128 -2.49349 0.0536568 -0.613033 -0.109662 0.0706676 0.433075 0.106414 0.033139 0.12447 -0.201807 -0.0190051 0.132523 -0.627884 0.561528 1.67295 0.4199 -0.25393 3.04732 0.18779 -0.0893865 0.29039 0.875394 0.127476 0.00158526 0.0634548 0.00994615 0.902762 0 +479 0 -0.482888 -0.072025 -0.0737154 -0.249376 0.328488 0.335194 -1.7611 -4.02042 -0.307062 2.86549 -0.00396581 1.03809 0.0194137 1.02129 -0.0101925 -0.556058 -4.8269 0.203649 0.0408607 1.82001 0.0466491 -0.205819 -0.0169225 0.61899 -0.684899 0.116307 0.0137417 -0.568349 -1.17321 0.434095 -0.0876379 -0.167785 -0.12823 -0.304844 -0.43484 -0.0205393 -0.0150026 2.99567 -0.210654 1.24993 0.117471 -1.17414 -0.0656543 2.78641 0.689989 0.839731 -0.823229 -0.153276 0.274454 -0.605697 0.619941 1.24745 0.152645 0.196043 -0.0245845 2.07322 0.559056 0.187934 -1.04218 -0.298064 2.31637 -1.45472 0.797941 0.355692 0.252649 1.92178 -0.0957707 0.21232 0.0803161 -1.66851 0.092433 -0.191874 0.0667968 -0.982703 0.695553 0.535228 -12.6068 -8.25679 8.37571 -4.10723 2.61349 -1.61622 -3.23025 2.26573 -3.21649 6.61974 -0.711762 0.558932 -0.601788 -0.397156 4.10425 0 0 0 0 0 -0.0737154 -0.249376 -0.00330053 0 0 0 0 -5.71086e-05 0 0.00519306 0 0 0.0019883 -0.00300353 0.0140372 0 0.00308033 0.0860821 -0.00172527 0 0 0.159627 -0.000177012 0 -0.0230681 0.420635 0 0 0.0256939 0.248639 0 -0.1258 0 0.0280581 0 0 0.00506473 0 0 -0.152823 -0.00110964 0.0254618 0 -0.0470786 0.00419762 0 0 -0.0690034 0 -0.00387722 -0.154586 0.00556703 0 0 -0.010792 0.0065609 0 0.0160106 0.0443288 0.0381479 -1.10203 -0.040977 -0.0284708 0 -0.0303682 -0.00305501 0.00391634 -0.126187 0.109773 0 0 0 -0.243982 -0.0583066 0.00614872 -0.00878998 0.0178547 -0.0260297 -0.00405996 0.00769448 -0.0153932 0.0136277 0 0 0 0 0 0 0.328488 0 0.335194 0 0 0 0 0.107674 -0.971262 0 0 0.639159 0 0.0902483 0 -0.0320274 0 0 0.203883 0 0.359423 -0.0936025 -0.0258072 0.0262938 0 0 -0.284941 0 -1.9031 0 3.06401 0.678616 0 -0.69681 1.20755 0.00425591 0 0.0192636 0 0 -0.10603 0 0.542035 0.717745 0 0 0.0665892 0 0 -0.183764 -1.57423 -0.41402 0 -0.743298 0 0.346423 -0.0604696 0.187356 -0.18549 -0.0368989 -0.61551 -0.450098 0.156645 2.01201 4.57533 0.00378755 0 0 0 0.0420998 -0.204607 0 0 0 0 0.361414 -11.7629 -3.20176 3.09731 -1.21724 1.26011 -2.04775 -0.412959 0.356808 -0.429668 0.501576 0 0 0 0 0 0 +480 0 -0.190135 -0.526843 -0.0158584 0.0649746 0.0743427 -0.208629 0.481022 1.54003 0.0366046 -0.523956 -0.463683 0.519533 0.00735112 0.611551 -0.0504561 -1.4183 -7.47226 -0.170502 -0.0729133 1.06307 -0.00918124 0.587741 -0.00860189 -0.0289942 0.791184 -0.465162 0.00268077 0.583009 1.89463 0.163262 -0.0335213 -0.545587 1.24495 -0.242682 0.389743 -0.0660312 -0.150844 2.80766 -0.633938 -0.13127 0.0402042 -0.89893 -0.0914676 0.632548 0.208265 -0.461218 1.10824 -1.03134 0.281424 -0.6423 0.295109 -2.06526 0.504125 -0.25976 0.60845 -0.818704 0.0730213 -0.270744 0.0868984 -0.0735445 -0.762367 -0.31483 -0.0184086 -2.3529 0.521753 -0.488347 1.07605 -0.26921 0.00486893 0.972768 -0.00491473 -0.321313 0.471738 -2.08964 -1.52453 -0.134286 -6.02255 0.259627 -3.51322 -1.41738 2.27761 -7.1641 0.575023 -0.179894 -0.0314399 -2.76839 -0.214837 0.462884 -1.3415 2.34528 -6.62803 0 0 0 0 0 -0.0158584 0.0649746 0.00907133 0 0 0 0 0.00174112 0 0.00872953 0 0 -0.00335547 -0.0116634 0.0184905 0 0.00293967 0.00200303 0.0487917 0 0 -0.282124 -0.000837877 0 0.0090066 -0.196154 0 0 -0.0307054 -0.0336429 0 -0.0107797 0 -0.0388282 0 0 -0.00369239 0 0 -0.279249 0.0243796 -0.045741 0 0.128077 -0.0268367 0 0 0.0720432 0 -0.0114021 0.030678 0.026227 0 0 -0.00231545 -0.0388048 0 0.00254655 -0.0155374 0.00208739 -0.425096 0.00748772 -0.00672205 0 0.0229156 -0.0509461 0.151983 -0.194468 -0.011852 0 0 0 0.763422 0.0119548 0.0585806 0.0191477 -0.0356774 0.0809327 0.0018968 -0.0036867 0.00976945 -0.00585162 0 0 0 0 0 0 0.0743427 0 -0.208629 0 0 0 0 -0.161973 -0.827997 0 0 0.119184 0 0.0175604 0 -0.0494001 0 0 0.199972 0 1.01901 0.012163 0.185299 0.0118781 0 0 -0.465932 0 -4.96092 0 1.95105 -0.138219 0 -0.106242 1.62499 0.0225442 0 -0.0130303 0 0 -0.0947856 0 -0.997314 -0.37461 0 0 -0.065068 0 0 -0.0106723 0.16041 -0.105049 0 -0.475018 0 0.332089 -0.0852983 0.112534 -0.0137383 0.0760828 -0.0972421 -0.518813 -0.056429 0.155325 -4.6322 -0.0666469 0 0 0 -0.114634 -0.0459758 0 0 0 0 0.286176 0.971914 -0.208616 1.68986 0.174832 0.23373 -0.634588 -0.00875493 -0.00540041 -0.00277912 -0.0065624 0 0 0 0 0 0 +481 0 1.14703 -0.00367279 0.0726373 0.227004 -0.15971 -0.0316504 0.69542 1.56148 0.246609 -1.92835 0.501572 0.189119 -0.0197276 1.06618 0.0739221 -1.14716 -2.07639 -0.183297 0.0926428 -0.562763 -0.0386587 0.103152 0.0169256 -0.485356 0.205823 -0.487242 -0.0411883 0.15657 -0.238448 0.123793 0.083915 0.892491 -0.61416 0.186308 0.16799 0.0777891 -0.221688 -4.4997 1.11055 -0.390825 -0.120221 0.425573 0.17204 2.39656 -0.714414 -0.121756 0.103051 1.54711 -0.57943 0.460329 -1.16941 3.34888 -0.19044 0.17215 -0.265108 1.22967 0.326674 0.226283 0.82081 0.299308 -1.52257 0.301746 -0.543093 -1.32527 -0.0797168 -0.178646 0.281924 -0.181302 -0.0591319 1.3262 -0.241972 1.19635 0.312392 -0.548378 -0.461915 -0.338194 22.9052 7.55976 -0.446979 2.9196 -3.107 7.19849 2.19349 -2.05613 2.90801 -2.4996 0.736958 -1.03902 1.37261 -2.09814 0.834166 0 0 0 0 0 0.0726373 0.227004 0.00379669 0 0 0 0 0.000104449 0 0.00901531 0 0 -0.00114385 0.00490573 -0.00742082 0 -0.00109563 -0.0829837 0.0472649 0 0 -0.0696558 0.000312863 0 -0.0121203 -0.460633 0 0 -0.0142006 -0.258565 0 0.0128272 0 -0.0172655 0 0 -0.00429881 0 0 0.0633261 0.00181245 -0.0136635 0 0.0542463 -0.0330245 0 0 0.0294756 0 0.00652867 -0.0894011 -0.00141322 0 0 0.0115591 -0.00258798 0 -0.0137394 0.0169388 -0.0267611 0.886729 -0.006007 0.0185266 0 0.0186343 -0.021122 0.0708274 0.162029 0.0203065 0 0 0 -0.565011 0.103463 -0.206361 -0.00882502 0.0170939 -0.0337729 0.0035888 -0.00683826 0.0131566 -0.0196552 0 0 0 0 0 0 -0.15971 0 -0.0316504 0 0 0 0 -0.246998 1.11043 0 0 -0.36715 0 -0.0487212 0 0.0459894 0 0 -0.350905 0 0.385956 -0.105415 -0.104131 -0.0639206 0 0 0.541635 0 2.58686 0 -2.08879 0.0666479 0 -0.528641 -0.131469 -0.0154318 0 -0.0479351 0 0 0.0954887 0 0.382377 -0.325535 0 0 -0.0703717 0 0 -0.415147 0.23792 -0.418669 0 -0.0101143 0 -0.713009 0.242321 -0.100657 0.677315 0.122351 -0.294443 0.331578 -0.322818 0.633989 1.78572 -0.135733 0 0 0 0.362508 0.203885 0 0 0 0 -0.231438 18.4762 1.60327 3.31621 0.473423 -0.364525 1.54014 0.238204 -0.203446 0.258407 0.23086 0 0 0 0 0 0 +482 0 0.31495 -0.124451 -0.0209937 -0.0702934 0.169363 0.155299 -0.587584 -1.59921 -0.215997 1.60061 -0.042287 -0.271631 0.00244653 -0.160062 0.0228369 -1.01461 -2.75854 0.29454 0.0560184 -1.70795 0.0444744 0.138335 -0.00294068 0.277185 -0.368188 -0.391748 0.0650417 -0.308113 -0.38796 0.101541 -0.0275193 0.23342 0.549878 0.393391 -0.165745 -0.00565096 0.202987 2.97401 -0.0788899 -0.411933 0.0225679 1.08276 -0.0105033 -1.17601 0.209348 0.15144 -0.345661 0.538997 0.032193 1.17895 0.505227 2.72684 -0.134313 0.091168 -0.106603 0.348195 0.656227 0.023382 -0.535896 -0.0500139 0.444812 -0.0211802 0.640417 -0.305748 -0.778964 0.390007 0.442782 0.720096 0.0676178 -0.543259 0.139078 0.0801957 -0.0713217 -0.942028 0.417632 1.1258 -7.55903 -3.82149 2.54593 -1.80825 1.14975 -2.34352 -0.977022 0.609035 -1.51617 2.9527 -0.0288502 -0.00886412 -0.173415 0.101923 0.74182 0 0 0 0 0 -0.0209937 -0.0702934 0.0042773 0 0 0 0 0.000809557 0 0.0178391 0 0 -0.000981709 -0.00517411 0.0146149 0 0.00238374 -0.00150764 0.111712 0 0 -0.0961617 -0.000367745 0 -0.0128222 -0.13061 0 0 -0.00827702 -0.0335532 0 -0.131141 0 -0.0162187 0 0 -0.00147577 0 0 -0.269485 0.0113171 -0.0139876 0 0.0598323 -0.0169538 0 0 -0.0187623 0 -0.00363952 -0.150414 0.00910631 0 0 -0.00595611 -0.0169404 0 0.0100059 0.0158136 0.0203038 -0.284991 -0.0136026 -0.0171296 0 0.00547826 0.00190583 0.186884 -0.127205 0.0815522 0 0 0 0.318921 -0.00898034 -0.095852 0.00425796 -0.00697192 0.00153139 -0.000716634 0.00115801 -0.000757834 -0.0288128 0 0 0 0 0 0 0.169363 0 0.155299 0 0 0 0 -0.408978 0.122478 0 0 0.792169 0 0.0916032 0 -0.00129037 0 0 -0.273085 0 0.414909 -0.1688 0.325618 -0.0361366 0 0 0.0441172 0 -0.472839 0 0.520473 0.436537 0 -1.24509 0.751423 0.0341901 0 -0.0538046 0 0 0.00197967 0 0.294959 -0.571084 0 0 -0.0747858 0 0 -0.320623 -2.31955 -0.294788 0 -0.756836 0 0.109134 0.254478 -0.0795161 -0.640684 0.0220502 -0.151366 -0.338066 0.0456276 1.30444 0.839093 0.0516751 0 0 0 0.203928 -0.211547 0 0 0 0 0.0291521 4.44273 -1.21149 3.76156 0.0136382 0.20802 -0.126862 -0.333183 0.269585 -0.342567 0.644384 0 0 0 0 0 0 +483 0 -0.682427 0.00196631 0.00483024 0.0681694 0.0979732 0.127731 -0.933003 -0.975591 0.0625138 0.0853035 -0.0621769 -0.46336 0.000142759 -1.54401 -0.0093878 0.139795 -2.04685 0.0944908 -0.00757655 1.2067 0.0231496 -0.336514 0.000294045 0.0506364 -0.509403 0.35558 0.0392007 -0.517458 -1.26492 -0.0554972 0.00429191 -0.183918 0.133492 0.26617 -0.435745 -0.00378677 0.231952 2.44736 -0.0112913 1.16309 0.000595769 1.18313 -0.000453956 -3.91839 -0.00713783 0.721101 -0.790005 -0.183045 -0.00674159 -0.808312 -0.1077 0.100633 -0.0262276 0.00652586 0.156375 -2.02385 -0.466681 0.32465 -0.0984955 -0.0049964 1.93255 -2.19015 1.29287 -0.799942 -0.284336 1.35895 0.861891 0.32408 -0.0126995 -0.194156 0.0948525 -0.262054 -0.184813 0.781533 0.835979 -0.534079 -8.48096 -2.27851 0.56907 -1.68316 1.16701 -1.23977 -0.0529688 -0.0385075 0.25889 1.46447 0.000983663 0.00126559 0.0939833 0.0971985 2.41866 0 0 0 0 0 0.00483024 0.0681694 0.000825175 0 0 0 0 6.15861e-05 0 -0.0124823 0 0 -0.000711649 -0.000306423 -0.00246869 0 -0.000553332 -0.0199092 -0.0629072 0 0 -0.174249 -2.86013e-05 0 -0.00308603 -0.776834 0 0 -0.0276278 -0.123528 0 -0.00943175 0 -0.0123127 0 0 -0.00188984 0 0 -0.212393 0.000951518 -0.00865089 0 0.0124897 -0.00283502 0 0 0.0569226 0 -0.000337142 0.0194627 0.00232115 0 0 0.00131053 -0.00278532 0 0.000158803 -0.0372631 -0.00548483 0.54854 0.0103794 -0.00840597 0 0.0113728 -0.0348509 -0.0747557 0.0622811 -0.0521927 0 0 0 0.464624 0.0166822 0.0609852 0.00310387 -0.00545531 0.033295 0.000733641 -0.00168828 0.00414501 0.0217673 0 0 0 0 0 0 0.0979732 0 0.127731 0 0 0 0 0.351865 -0.0493363 0 0 -0.237928 0 -0.0194096 0 -0.0113123 0 0 -0.330607 0 -0.413562 0.125613 -0.045433 -0.0385737 0 0 -0.160249 0 -6.60744 0 1.80011 -0.603827 0 0.796426 0.219352 -0.00110506 0 0.0576089 0 0 -0.00628411 0 -2.37023 -0.889479 0 0 -0.096961 0 0 0.150415 1.7101 0.0679523 0 0.356631 0 0.231415 0.019424 0.0424232 0.176954 0.083732 0.145641 0.0941533 0.101882 -1.33553 -3.95128 -0.0743438 0 0 0 -0.0512852 0.00797195 0 0 0 0 -0.0930752 -7.62132 -0.11332 -1.40554 -0.0767255 0.317624 -1.13108 0.130933 -0.0864819 0.0934895 -0.417164 0 0 0 0 0 0 +484 0 0.55697 0.525856 0.0266658 0.104402 -0.00671236 0.258499 -0.553515 -0.97822 0.287125 -0.802344 -0.00717127 0.365447 -0.00286947 -0.481753 -0.0398151 0.85688 4.69555 -0.125441 -0.0833172 -0.254948 -0.0145012 -0.485005 0.00364605 -0.130856 -0.409858 0.27211 -0.0465105 -0.482043 -0.687481 0.0668742 0.0348929 -0.368082 -1.40961 -0.28065 -0.288328 -0.000783215 -0.0376545 -5.3012 0.114758 0.485132 -0.0257749 -0.504082 0.0100204 0.629197 -0.231959 0.519539 -0.536326 -0.706897 -0.00478271 -0.424948 -0.686902 -1.64088 0.226321 -0.137002 -0.0399699 -1.73739 -0.0330632 -0.214296 0.358052 0.0575786 -1.2487 0.320277 -0.454285 0.104057 -0.184819 0.113583 -0.772679 -0.172906 -0.0852747 0.419978 -0.513975 -0.253304 0.17485 0.418588 0.175239 0.623544 20.4102 4.9085 1.9173 2.36766 -2.35539 8.77684 -0.105551 0.0448343 1.16391 1.72394 0.0319662 0.00793716 0.269136 -0.0627542 1.31454 0 0 0 0 0 0.0266658 0.104402 -0.00473246 0 0 0 0 -0.00093713 0 -0.0146015 0 0 0.00183509 0.00690322 -0.0155451 0 -0.00226197 0.00613502 -0.112446 0 0 0.177887 0.000490954 0 -0.00120549 0.283961 0 0 0.0180655 0.0591466 0 0.0427532 0 0.0224482 0 0 0.0019849 0 0 0.104214 -0.0130979 0.0259614 0 -0.0661732 -0.00572837 0 0 0.036411 0 0.00638229 0.0304034 -0.0093879 0 0 0.00773619 0.0238027 0 -0.0123927 -0.00529397 -0.0183949 0.33312 0.00329453 0.0180121 0 -0.00476279 -0.014298 -0.189463 0.193139 -0.0168003 0 0 0 -0.176049 0.0103303 0.0660815 -0.00139848 0.0019721 0.0143812 0.000495518 -0.000752596 -0.000731009 0.0293075 0 0 0 0 0 0 -0.00671236 0 0.258499 0 0 0 0 -0.162076 -0.24954 0 0 -0.27166 0 -0.0407186 0 -0.0172577 0 0 0.53056 0 -0.808536 -0.103663 -0.0874552 0.0431974 0 0 -0.195427 0 2.89034 0 -2.82325 0.339799 0 -0.489204 -1.34251 -0.0157342 0 -0.0378185 0 0 -0.0265379 0 0.65741 1.37751 0 0 0.158824 0 0 -0.205982 1.60872 -0.295674 0 -0.28499 0 -0.51193 -0.111961 0.0352817 0.385482 0.141509 0.239881 0.477738 -0.235944 1.01823 3.73949 -0.0633131 0 0 0 0.0644002 0.198042 0 0 0 0 0.10542 17.4734 0.778617 3.78372 0.1901 -0.259086 1.79243 0.179544 -0.10685 0.115629 0.308333 0 0 0 0 0 0 +485 0 709.17 111.767 12.7482 63.8744 413.785 70.6369 6.52241 11.3974 48.6322 -26.6786 11.3688 16.8981 -6.37298 18.0965 -2.35025 83.0316 271.202 -6.53872 -7.48527 91.1938 -3.67324 -10.8551 8.4867 -12.9345 1.22385 30.8791 7.21473 -12.4313 -65.6324 11.8311 15.9067 -13.5476 -26.5934 20.6711 -0.977078 4.27756 23.0392 -104.409 39.6257 43.2393 -11.7736 81.142 10.0208 16.0843 -32.8192 30.0283 -19.7496 -46.1745 -4.93955 27.7445 -5.04273 -3.31064 14.4285 -4.29236 6.46501 38.2143 13.7937 -5.70934 6.19506 4.08996 -23.5619 -13.2453 7.63657 -28.1616 -23.0082 -6.24714 20.2253 17.5462 -11.3545 12.3302 3.09044 4.40197 -14.2284 -15.501 -7.88688 -20.6079 442.208 103.984 48.8039 102.506 -88.8952 223.526 43.544 -39.0481 53.2266 15.9784 43.2398 -47.0789 83.204 -103.416 214.884 0 0.319656 0.0373586 30.4608 4.55467 12.7482 63.8744 0.16161 0.95578 -0.423891 -0.000833992 0.213677 0.00738969 0.0298833 -0.255376 0.0437319 -0.00913654 0.030348 0.201957 1.0095 0.511219 0.00826795 3.21463 3.16921 0.00358156 3.27069 -0.65917 0.0155587 -0.143294 -0.961281 17.9994 -3.3053 0.0145791 0.28857 6.42205 -0.243237 0.848157 -0.0399705 1.16763 -0.613214 0.185867 0.325381 -0.0879675 0.00283553 3.15696 0.0922605 0.422268 -0.0171582 2.19186 -0.0480494 -0.00451103 -0.0374248 0.626721 -0.040505 0.151259 7.38398 -0.505734 -0.137707 0.119665 -0.0678143 -0.420128 0.0900136 0.700965 3.01856 0.15816 -3.782 0.972149 0.681558 -0.236459 0.394107 1.0448 8.21965 -1.6323 1.69641 0.00838285 0.322101 0.0236123 -70.2958 -4.46334 -13.4207 0.183429 -0.58631 3.70424 -0.0300159 0.0701042 0.214242 -1.02655 0.0153098 -0.0188296 0.155585 -0.409608 4.12247 0 413.785 30.4608 70.6369 4.55467 141.599 20.4403 26.2319 -2.89452 30.4024 -3.39681 -2.44841 -14.506 -0.583517 -3.51812 4.35114 1.08104 -2.37992 -18.9262 5.96237 32.174 -8.86223 -1.06767 -3.30212 1.32088 -16.5526 -6.12666 4.60789 1.48562 97.8517 18.8341 -84.1634 21.3899 0.697538 -7.14319 -24.9844 -1.0178 0.540952 -0.102001 3.53081 -32.9594 6.20828 -1.11818 43.3645 2.43286 -0.333806 3.15899 3.83233 7.05808 -5.98203 -4.2023 0.703896 6.99834 6.50257 11.2875 -9.43054 -19.7954 11.1037 -10.2089 -3.1948 -0.852591 -12.5632 8.54066 -4.14666 1.21154 36.0001 -4.39713 10.489 -0.495246 0.8179 8.96908 2.0914 -3.53947 3.07421 3.37688 -1.11978 -10.407 607.221 104.193 25.2903 85.4265 -77.4518 137.195 27.2301 -21.8462 21.8963 6.21994 22.6875 -18.94 22.4449 -24.0696 44.0676 0 +486 0 715.139 116.03 14.1301 71.4096 409.926 72.7162 -1.50226 -8.03564 87.4014 -58.1024 18.854 19.6594 -6.99152 29.7654 -2.13919 86.7148 299.813 -12.0901 -12.6448 143.262 -4.45206 -16.0069 9.26191 -16.4308 -6.5545 31.9482 5.82121 -15.0157 -103.172 13.3594 22.4915 -8.1997 -40.52 18.0309 -4.72972 5.20621 15.2794 -164.697 65.7357 51.8154 -19.604 66.7131 15.6279 59.9654 -73.0718 32.6719 -32.3574 -63.3041 -32.0942 14.2398 -29.9689 -21.0641 17.7491 -8.94896 6.90809 20.8306 33.3216 -7.24156 21.8576 27.8646 -29.9068 11.4008 -9.8791 -36.8519 -24.1852 -11.5061 16.8608 24.6898 -25.0984 8.88094 -5.51393 25.2331 -26.0181 -23.5873 -12.2908 -9.29626 608.6 152.098 120.786 201.733 -157.455 359.132 123.209 -87.8661 111.094 32.7096 178.858 -134.183 158.71 -163.31 323.039 0 6.50373 0.729259 27.2778 3.8263 14.1301 71.4096 0.641754 1.83949 -7.78224 -0.0188735 0.30241 0.00539449 0.386718 -0.171054 0.656552 -0.221081 -0.285691 -0.744129 -0.962768 7.30205 -0.232149 0.383528 -1.34117 0.0554306 11.7691 1.94116 -0.0122376 -0.136607 -2.54074 15.3178 -4.27642 0.242019 0.951345 1.31936 -0.906773 -5.91903 -0.746282 0.891433 -0.808126 2.39542 0.204182 -2.43773 0.0351976 -17.4354 0.216606 -4.21997 -0.0880966 5.74098 3.07048 -0.486093 -0.542027 -8.5719 0.235848 0.445933 -0.0597816 -1.66479 -1.71752 1.95 0.413358 -1.49055 -2.0362 -1.52719 -1.43393 -0.406757 -4.52552 -0.992552 -0.211531 -0.122614 0.879805 0.487191 1.52466 -4.14952 -1.93472 0.162751 1.76452 0.366208 171.645 25.1022 15.6215 6.43889 -4.66722 22.5835 0.218027 0.221938 1.95338 3.03039 0.323827 -0.384018 1.11631 -1.60106 5.64464 0 409.926 27.2778 72.7162 3.8263 144.751 21.0993 33.9434 2.36914 41.9733 -2.91118 -3.87922 -24.6291 -0.442665 -3.29391 5.13058 1.4607 -3.56312 -19.7231 7.45252 54.5867 -12.867 -2.20084 -5.98347 1.98628 -24.6966 -5.40311 8.79844 1.69609 179.196 17.4056 -101.744 20.3872 0.772061 2.13568 -29.3863 -0.780362 0.356417 -0.549963 2.41574 -31.5398 6.47784 -0.989938 51.5478 30.2773 -0.525787 2.55133 7.65048 9.73868 -2.00958 -5.18026 3.37516 -3.89872 8.45916 17.9186 -13.1371 -20.3418 5.2576 -4.16594 0.364826 5.28101 -3.28411 9.87603 -9.99236 -8.18072 -12.9343 -7.51433 1.99601 -4.4103 -1.41405 17.7596 6.85585 -4.10821 4.9751 0.364522 1.84394 -18.1741 689.857 161.178 -22.1725 103.314 -82.6389 152.76 29.8681 -22.6095 28.9694 5.05039 23.0752 -19.0946 23.8697 -21.0649 40.2935 0 +487 0 713.332 115.618 12.8996 66.0678 411.631 72.6553 1.17807 9.20751 81.8211 -38.0631 12.311 21.4827 -6.12701 34.8202 -0.0426395 94.2084 333.265 -8.20863 -8.98217 123.279 -3.70773 -12.9567 9.27944 -10.803 -3.69514 33.3531 7.90305 -11.6104 -23.1069 12.3184 22.5398 -0.231498 -30.5216 23.221 -2.11057 5.36395 21.6749 -110.267 19.1471 46.5888 -10.9597 82.6745 7.92433 70.934 -26.4325 29.1248 -17.7118 -45.9062 -10.1056 28.2138 -15.0253 47.4943 17.6086 -4.12418 -2.85228 57.409 29.2333 -16.1755 11.4129 10.1433 -15.6164 25.1343 -2.99835 -41.1686 -23.6534 10.3345 23.8155 18.8561 -34.0158 9.7884 -11.1757 7.75445 -33.9477 -3.53321 12.8745 -13.4395 403.601 124.175 21.5383 110.096 -77.3892 164.339 39.3154 -23.457 44.3997 9.42305 31.7443 -24.1629 46.9433 -53.1395 116.074 0 0.126294 0.0156262 34.5156 5.27442 12.8996 66.0678 0.0698858 2.16591 -1.19846 -0.000363023 0.419868 0.0209415 -0.0333672 -0.431503 0.0191403 -0.00387001 0.0170981 0.0657825 -1.57711 0.212868 -0.0626295 2.32477 -3.24235 0.00163301 9.33956 6.70236 0.00628365 -0.114981 -1.2783 17.337 0.247015 -0.0131807 1.71281 5.4942 -0.2686 -4.69826 -0.0840462 0.960323 -0.25867 -0.221259 0.339163 -0.0356355 -0.00186825 -12.0322 0.37012 0.153803 -0.0171173 0.967971 0.445556 -0.0519916 -0.0643266 0.25171 0.275747 0.0565456 -2.03455 -0.135113 -0.0605113 0.207557 -0.0621547 -0.189176 -0.618255 -0.336378 -1.02319 -0.0836598 -7.19163 -0.288682 0.782661 -0.198899 0.224926 -1.0369 1.69868 -1.11336 -2.67477 -0.0368164 1.57475 0.00972777 67.0477 1.97782 11.9168 0.507376 -0.798147 10.3053 -0.0335086 0.0707065 0.264834 3.56151 0.00698478 -0.0037965 -0.0283137 0.0724362 2.14939 0 411.631 34.5156 72.6553 5.27442 134.768 19.7163 37.8531 -1.50673 47.9426 -3.05037 -3.56567 -22.5794 -0.580628 -4.05746 6.49723 2.20077 -4.16107 -15.1821 6.3024 46.0197 -11.6735 -0.63608 -3.24896 1.75733 -25.9676 -4.32582 12.9724 1.49815 193.045 12.444 -57.7319 21.787 1.07039 10.0989 -17.5216 -0.896942 0.450841 -1.01938 2.64452 -16.1613 8.72581 -0.930239 60.2361 19.8641 -0.547616 2.52035 7.11551 8.50964 -4.15914 -5.9482 4.49258 9.44999 8.10088 27.7991 -13.0208 -7.17368 1.62379 -6.33833 4.59169 2.78412 -2.01581 -0.169024 -6.17203 -16.2242 5.50214 -2.41269 6.30368 -1.62727 2.94917 14.9924 3.04612 -3.59238 3.27039 2.01914 -0.306263 -18.3334 394.034 121.788 -28.7487 70.6511 -56.3141 89.1634 21.448 -17.8309 27.2521 -8.94553 17.1245 -13.6148 16.927 -14.8959 24.7553 0 +488 0 -1.32533 -0.708712 0.310437 -0.0303702 -3.98658 -1.313 7.17562 25.9501 4.40527 -8.76672 -0.724497 -0.930452 -0.174603 6.0467 -0.0371201 6.06345 27.4161 -0.226891 -1.31427 -23.1375 -0.0214786 1.18806 0.348089 -2.8799 4.15731 0.0223876 0.672576 0.828128 18.5522 1.32487 1.53186 0.561083 1.90236 4.31104 1.18509 0.148592 1.54679 -0.85705 -2.61847 -3.92537 -1.0243 11.3225 0.164559 -7.5913 -2.57223 -0.112329 3.77163 -0.510778 -0.678979 5.03846 -9.60987 -41.6165 2.33708 -3.87082 2.11934 -20.3963 0.119892 -4.87453 4.84368 2.64597 -3.77198 2.36514 2.50877 -14.202 1.69252 -0.692634 5.71412 -4.42529 -4.03796 -0.00622227 -2.22691 -4.45566 -3.46285 -23.7114 1.39839 -9.62191 8.65808 22.6298 -72.4771 15.7563 -16.038 -29.6722 12.6549 -11.9831 0.940549 -36.231 10.2659 1.30719 -18.4004 25.0207 -58.418 0 0.107184 0.00377767 -0.35981 0.0278581 0.310437 -0.0303702 -0.018301 -0.379666 0.322541 0.000112625 -0.0525323 -0.0216879 -0.00685029 -0.0156252 -0.00154049 0.000513949 -0.00141878 0.25678 -0.176974 0.0605158 -0.0460085 1.83593 0.25976 -0.000611401 -2.51434 0.385943 0.0184781 0.0208291 -0.458576 6.68521 0.333414 -0.00255544 0.295683 4.29458 0.1217 -1.12339 0.032159 2.08083 0.0998354 -0.000359639 0.388189 -0.0113481 -0.00127864 -2.24813 -0.293265 0.0995555 0.00972535 -0.260388 -0.0360447 0.0167394 0.0698476 -2.87711 -0.0274904 0.119563 -3.19917 -0.254751 0.00194299 -0.036686 0.0164832 0.119342 0.187514 -0.0622205 0.935945 0.147973 6.57206 -0.427203 -0.987116 -0.211178 -0.0555496 -0.249343 1.13812 1.01818 -0.673144 -0.153193 -0.310453 0.00270878 9.73714 0.867077 0.631163 0.834691 -0.650925 -1.25277 0.00590052 0.0580047 -0.0675791 -0.0158354 -0.00447432 0.00761242 -0.000445686 0.0200541 -0.329108 0 -3.98658 -0.35981 -1.313 0.0278581 -2.51256 -0.584412 0.182506 -0.315798 3.50833 -0.0349874 0.294145 -1.31006 -0.00456437 -0.25193 0.032737 0.356263 0.169484 -0.445227 -3.47325 -5.55707 2.86826 0.224854 0.380707 -0.60479 1.89008 0.212931 1.59595 -0.0761674 26.7689 0.0439201 0.577895 2.23324 0.00537352 3.55646 1.94656 -0.074582 0.014951 0.0138449 0.0787511 2.80017 0.576271 0.0416152 9.09714 -9.04058 0.0364426 0.0511861 -1.50344 -0.661162 -0.691308 -6.42381 -3.02358 0.189364 0.272378 3.20793 -0.00854755 -2.68234 -0.256894 -0.540434 -1.05023 0.726535 6.26358 0.977457 0.00626111 1.42396 3.75979 1.84651 -2.42929 0.193627 -0.322707 1.07519 -0.418249 -0.581632 0.44318 0.864126 0.13813 -0.49341 -1.02407 6.75714 -21.2708 -0.00611611 3.00799 -19.1614 1.42585 -0.399385 -2.6345 -4.47421 0.638709 0.0415532 -1.95774 1.77379 -5.50044 0 +489 0 6.48135 1.11172 0.637761 0.675066 0.844992 1.20883 -2.48425 -10.0947 7.84818 -7.41694 -1.03638 1.33722 -0.544773 3.68794 0.260176 0.815007 9.80776 -2.0827 1.32953 -6.29959 -0.914661 -1.192 0.89498 -3.72871 -2.10434 0.730306 0.761194 -1.14002 -0.306434 0.999653 2.40305 2.87883 -5.77388 1.45285 -1.03958 0.033106 4.17061 -27.0804 -4.94245 0.523481 -1.05826 14.0775 -0.684617 5.81796 -0.689375 1.5585 -0.170617 8.55688 0.648791 -14.7614 -1.79816 6.69629 -1.18044 1.02491 -1.40824 7.41314 4.31149 9.18351 3.67926 1.64711 -2.49212 -10.1237 10.3468 -5.6308 3.70185 -6.22575 9.85305 3.68003 -5.06533 4.97463 1.46876 -2.66848 -5.38903 6.39589 0.513014 -1.96446 103.28 38.114 19.3046 18.4584 -1.45462 32.2847 4.43121 6.06069 1.32544 19.7247 2.08335 0.998187 1.04283 -0.217852 16.1095 0 -0.0731037 -0.0119432 0.87097 0.29521 0.637761 0.675066 0.0198503 0.144099 0.280025 0.000327094 0.0156015 0.0231883 -0.0364042 0.0401706 -0.0188647 0.00289707 0.00850609 0.178191 -0.412543 -0.189137 0.0431115 -0.0527586 -0.576407 -0.00175138 0.529309 0.736589 0.0080008 0.050934 1.23749 0.713713 1.39947 -0.0116691 0.294458 0.0271835 0.0485913 2.19763 0.0236449 0.254134 0.289055 -0.131043 0.0767693 0.0174293 -0.00304164 3.91509 0.348117 0.255642 0.00408404 0.430596 0.204458 0.0172813 0.0211231 0.981862 -0.158073 0.103116 -2.81203 -0.167168 0.0630573 -0.0733476 -0.0565629 0.0583924 -0.0912881 0.0752447 1.74223 0.0056339 9.26457 -0.0135204 -0.0137639 -0.14143 -0.154562 -0.652322 4.14515 -0.0153155 -0.795173 -0.0844102 1.39272 -0.00858579 -17.1922 -1.69161 2.33772 0.0461219 -0.171617 -3.59526 -0.008332 0.00275126 -0.234216 0.583808 -0.00700035 0.0148837 -0.0274091 0.0995972 -1.38493 0 0.844992 0.87097 1.20883 0.29521 -1.10863 -0.0826081 2.98352 -0.402221 5.2814 -0.358653 0.542296 2.11206 -0.0559575 0.127425 0.359256 0.285919 0.144454 -1.21263 6.09614 -3.31607 0.204589 -0.380484 0.617116 1.04404 1.53652 -0.591318 0.512349 -0.0168729 45.385 2.5364 -7.79246 5.65976 0.0407566 -5.35147 -1.51557 0.149576 0.089536 -0.123944 0.575389 -5.23618 0.941393 -0.076841 14.8924 10.5435 0.0628016 0.50068 1.96505 -0.479465 1.16831 -4.53426 5.83272 1.69673 -0.466023 -12.3368 -0.455553 -5.41649 1.69444 -1.51773 1.09847 -1.23753 1.28023 3.97355 -1.04971 0.236018 -25.9599 0.908922 -4.36393 0.0357096 0.239566 0.183314 0.431878 -1.20691 0.959995 0.932382 -0.239638 -1.50677 26.8327 -22.1142 37.845 -4.28263 -4.87658 22.8565 -1.27986 -2.5888 5.74261 -1.41072 2.43303 -4.42997 5.8916 -5.26824 6.58995 0 +490 0 -5.45705 -3.20404 -0.15165 0.121147 3.57285 -0.527747 1.72153 -12.2986 4.35711 7.26771 -1.05039 4.40357 -0.190014 7.26292 -0.711694 -1.40129 -33.2057 0.947957 -3.24541 13.697 -0.529298 2.53815 1.01059 1.24088 0.721162 -0.0333592 -0.231655 1.52409 -3.90155 2.89614 2.03005 -2.00243 9.62884 -2.03133 1.09959 -0.342412 -1.52252 27.7372 0.328641 1.92618 0.0360569 -10.1762 1.33137 3.57842 1.06234 2.2924 2.56217 -13.6417 -2.45469 8.22184 3.45487 40.6032 5.31173 -0.0451398 1.97347 15.1497 13.9031 5.22826 -2.08521 0.779626 -3.04586 5.47615 7.56217 0.204151 -0.948924 -5.77773 -1.86539 -1.23773 -5.80122 2.61595 0.759376 4.14743 0.973944 1.42816 -8.98685 21.6576 -143.077 -32.9073 9.67235 -21.153 16.7681 -21.9364 1.20047 0.0260855 -12.6697 35.8202 5.56092 -3.41968 -4.20056 2.01185 27.1485 0 0.561687 0.0555287 -0.0550541 -0.444588 -0.15165 0.121147 0.0696616 -0.152543 -0.562579 -0.000944794 -0.0190333 0.0315273 -0.0993236 0.491113 0.0433841 -0.014192 -0.0537379 -0.0814859 -0.565765 0.560164 0.115193 -0.378002 -0.142328 0.00307907 -1.18424 -3.63103 -0.012908 0.0395564 0.0213462 -3.35037 0.464771 -0.0370028 -0.390862 -0.943191 -0.059377 1.22344 -0.0640941 -0.536478 0.13823 -0.418691 0.00887406 -0.18932 -0.00799127 5.42099 0.501035 -0.600604 -0.00697162 1.23767 0.421442 0.068587 -0.0586003 0.921296 -0.169205 -0.0409049 2.20275 -0.0461771 -0.11472 0.181058 0.0457817 -0.188295 -0.0406809 0.0123562 -0.0552838 0.0509684 7.04953 0.136715 -0.655631 0.121335 0.547564 0.382223 4.95922 -0.611779 -0.315263 -0.164711 -0.214788 0.0241342 -39.2357 0.368708 -1.61364 0.300948 0.674127 -0.0261883 0.106277 -0.00519683 0.162997 1.03903 0.0162709 0.0347909 -0.0190052 0.0409546 1.73009 0 3.57285 -0.0550541 -0.527747 -0.444588 4.08631 0.1957 -1.31491 -4.30411 -7.98324 0.426792 -0.46202 6.81327 0.0850973 1.13291 -0.347492 -0.474851 -0.42294 1.55577 0.571317 4.25915 4.09073 -2.17707 3.82838 0.341378 -4.74905 -0.203726 -2.66634 -0.0775865 -48.0281 -0.310203 5.37433 1.96399 -0.0659725 -13.7711 7.40565 0.515475 -0.0249172 -0.65564 -0.0308012 -2.0487 -1.43116 -0.0158888 -6.92515 -5.95796 -0.0357136 -0.194234 -0.767528 0.0118209 0.0780052 3.91601 -19.6127 1.30233 0.671868 20.8764 -0.296887 7.78508 -1.46411 0.61173 -6.38478 1.2373 3.18546 -8.01273 1.61338 11.0295 76.3328 -0.0272367 2.79981 -0.125313 0.996112 3.05001 -2.54373 0.515527 -0.715533 -0.0253005 -0.0908025 1.54838 -96.8991 -29.6753 25.7231 -7.83316 1.05908 3.90979 -3.21038 1.51359 -2.72086 8.64121 -0.735253 -0.303906 -0.082213 -0.461399 3.78221 0 diff --git a/examples/mliap/log.03Mar24.mliap.ace.compute.g++.1 b/examples/mliap/log.03Mar24.mliap.ace.compute.g++.1 new file mode 100644 index 0000000000..9e5df53111 --- /dev/null +++ b/examples/mliap/log.03Mar24.mliap.ace.compute.g++.1 @@ -0,0 +1,83 @@ +LAMMPS (21 Nov 2023 - Development - e94d89ee3c-modified) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +#info all out log +units metal +atom_style atomic +boundary p p p +atom_modify map hash +read_data ace_compute_struct.data +Reading data file ... + orthogonal box = (0 0 0) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 161 atoms + read_data CPU = 0.010 seconds +mass 1 1.00 +mass 2 14.00 +mass 3 15.999 + +pair_style zero 5.7 +pair_coeff * * + + +compute ace all mliap descriptor ace H_N_O_ccs.yace model linear gradgradflag 1 +fix ace all ave/time 1 1 1 c_ace[*] file desc_out.dat mode vector + +thermo 1 +thermo_style custom pe pxy c_ace[1][1] c_ace[1][2] +thermo_modify norm no +run 0 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7.7 + ghost atom cutoff = 7.7 + binsize = 3.85, bins = 4 4 4 + 2 neighbor lists, perpetual/occasional/extra = 1 1 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard + (2) compute mliap, occasional + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 128.7 | 128.7 | 128.7 Mbytes + PotEng Pxy c_ace[1][1] c_ace[1][2] + 0 0 110 633.5226 +Loop time of 1.931e-06 on 1 procs for 0 steps with 161 atoms + +155.4% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +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.931e-06 | | |100.00 + +Nlocal: 161 ave 161 max 161 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1754 ave 1754 max 1754 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 14230 ave 14230 max 14230 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 28460 ave 28460 max 28460 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 28460 +Ave neighs/atom = 176.77019 +Neighbor list builds = 0 +Dangerous builds = 0 + +uncompute ace +unfix ace +Total wall time: 0:00:00 diff --git a/examples/mliap/log.03Mar24.mliap.ace.compute.g++.4 b/examples/mliap/log.03Mar24.mliap.ace.compute.g++.4 new file mode 100644 index 0000000000..27341450cd --- /dev/null +++ b/examples/mliap/log.03Mar24.mliap.ace.compute.g++.4 @@ -0,0 +1,83 @@ +LAMMPS (21 Nov 2023 - Development - e94d89ee3c-modified) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +#info all out log +units metal +atom_style atomic +boundary p p p +atom_modify map hash +read_data ace_compute_struct.data +Reading data file ... + orthogonal box = (0 0 0) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 161 atoms + read_data CPU = 0.002 seconds +mass 1 1.00 +mass 2 14.00 +mass 3 15.999 + +pair_style zero 5.7 +pair_coeff * * + + +compute ace all mliap descriptor ace H_N_O_ccs.yace model linear gradgradflag 1 +fix ace all ave/time 1 1 1 c_ace[*] file desc_out.dat mode vector + +thermo 1 +thermo_style custom pe pxy c_ace[1][1] c_ace[1][2] +thermo_modify norm no +run 0 +WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60) +Generated 0 of 3 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 7.7 + ghost atom cutoff = 7.7 + binsize = 3.85, bins = 4 4 4 + 2 neighbor lists, perpetual/occasional/extra = 1 1 0 + (1) pair zero, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard + (2) compute mliap, occasional + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 111 | 111.3 | 111.6 Mbytes + PotEng Pxy c_ace[1][1] c_ace[1][2] + 0 0 110 633.5226 +Loop time of 5.06375e-06 on 4 procs for 0 steps with 161 atoms + +64.2% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 5.064e-06 | | |100.00 + +Nlocal: 40.25 ave 44 max 35 min +Histogram: 1 0 0 0 1 0 0 0 1 1 +Nghost: 1134.5 ave 1159 max 1117 min +Histogram: 1 1 0 0 1 0 0 0 0 1 +Neighs: 3557.5 ave 4115 max 3189 min +Histogram: 2 0 0 0 0 1 0 0 0 1 +FullNghs: 7115 ave 7755 max 6158 min +Histogram: 1 0 0 0 1 0 0 0 0 2 + +Total # of neighbors = 28460 +Ave neighs/atom = 176.77019 +Neighbor list builds = 0 +Dangerous builds = 0 + +uncompute ace +unfix ace +Total wall time: 0:00:00 diff --git a/examples/mliap/log.03Mar24.mliap.pytorch.ace.NN.g++.1 b/examples/mliap/log.03Mar24.mliap.pytorch.ace.NN.g++.1 new file mode 100644 index 0000000000..1c72671b81 --- /dev/null +++ b/examples/mliap/log.03Mar24.mliap.pytorch.ace.NN.g++.1 @@ -0,0 +1,132 @@ +LAMMPS (21 Nov 2023 - Development - e94d89ee3c-modified) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Demonstrate MLIAP/PyTorch interface to linear ACE potential + +# Initialize simulation + +variable nsteps index 100 +variable nrep equal 4 +variable a equal 3.316 +units metal + +# generate the box and atom positions using a BCC lattice + +variable nx equal ${nrep} +variable nx equal 4 +variable ny equal ${nrep} +variable ny equal 4 +variable nz equal ${nrep} +variable nz equal 4 + +boundary p p p + +lattice bcc $a +lattice bcc 3.316 +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 4 0 ${ny} 0 ${nz} +region box block 0 4 0 4 0 ${nz} +region box block 0 4 0 4 0 4 +create_box 1 box +Created orthogonal box = (0 0 0) to (13.264 13.264 13.264) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 128 atoms + using lattice units in orthogonal box = (0 0 0) to (13.264 13.264 13.264) + create_atoms CPU = 0.000 seconds + +mass 1 180.88 + +# choose potential + +pair_style mliap model mliappy ACE_NN_Pytorch.pt descriptor ace ccs_single_element.yace +Loading python model complete. +pair_coeff * * Ta + + +# Setup output + +compute eatom all pe/atom +compute energy all reduce sum c_eatom + +compute satom all stress/atom NULL +compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] +variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) + +thermo_style custom step temp epair c_energy etotal press v_press +thermo 10 +thermo_modify norm yes + +# Set up NVE run + +timestep 0.5e-3 +neighbor 1.0 bin +neigh_modify once no every 1 delay 0 check yes + +# Run MD + +velocity all create 300.0 4928459 loop geom +fix 1 all nve + +# Uncomment dumps commands for visualization +#dump 0 all cfg 10 min.*.cfg mass type xs ys zs +#dump_modify 0 element Ta + +run ${nsteps} +run 100 +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 10.684 + ghost atom cutoff = 10.684 + binsize = 5.3419999, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair mliap, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3040 | 3040 | 3040 Mbytes + Step Temp E_pair c_energy TotEng Press v_press + 0 300 -10.799771 -10.799771 -10.761296 -124096.28 124096.28 + 10 297.05593 -10.799394 -10.799394 -10.761296 -124021.81 124021.81 + 20 293.90126 -10.798989 -10.798989 -10.761296 -123931.98 123931.98 + 30 290.75573 -10.798586 -10.798586 -10.761296 -123830.65 123830.65 + 40 287.87299 -10.798216 -10.798216 -10.761296 -123723.2 123723.2 + 50 285.52822 -10.797915 -10.797915 -10.761296 -123616.33 123616.33 + 60 283.89424 -10.806252 -10.806252 -10.769843 -123186.35 123186.35 + 70 283.0133 -10.814468 -10.814468 -10.778171 -122622.74 122622.74 + 80 283.82159 -10.850734 -10.850734 -10.814333 -121100.05 121100.05 + 90 285.70388 -10.87694 -10.87694 -10.840299 -119481.05 119481.05 + 100 289.39 -10.889368 -10.889368 -10.852253 -118417.49 118417.49 +Loop time of 5.22636 on 1 procs for 100 steps with 128 atoms + +Performance: 0.827 ns/day, 29.035 hours/ns, 19.134 timesteps/s, 2.449 katom-step/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 5.2238 | 5.2238 | 5.2238 | 0.0 | 99.95 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.00091245 | 0.00091245 | 0.00091245 | 0.0 | 0.02 +Output | 0.0010643 | 0.0010643 | 0.0010643 | 0.0 | 0.02 +Modify | 0.00019072 | 0.00019072 | 0.00019072 | 0.0 | 0.00 +Other | | 0.0003712 | | | 0.01 + +Nlocal: 128 ave 128 max 128 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 2203 ave 2203 max 2203 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 36096 ave 36096 max 36096 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 36096 +Ave neighs/atom = 282 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:06 diff --git a/examples/mliap/log.03Mar24.mliap.pytorch.ace.NN.g++.4 b/examples/mliap/log.03Mar24.mliap.pytorch.ace.NN.g++.4 new file mode 100644 index 0000000000..4d9f41d34a --- /dev/null +++ b/examples/mliap/log.03Mar24.mliap.pytorch.ace.NN.g++.4 @@ -0,0 +1,132 @@ +LAMMPS (21 Nov 2023 - Development - e94d89ee3c-modified) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Demonstrate MLIAP/PyTorch interface to linear ACE potential + +# Initialize simulation + +variable nsteps index 100 +variable nrep equal 4 +variable a equal 3.316 +units metal + +# generate the box and atom positions using a BCC lattice + +variable nx equal ${nrep} +variable nx equal 4 +variable ny equal ${nrep} +variable ny equal 4 +variable nz equal ${nrep} +variable nz equal 4 + +boundary p p p + +lattice bcc $a +lattice bcc 3.316 +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 4 0 ${ny} 0 ${nz} +region box block 0 4 0 4 0 ${nz} +region box block 0 4 0 4 0 4 +create_box 1 box +Created orthogonal box = (0 0 0) to (13.264 13.264 13.264) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 128 atoms + using lattice units in orthogonal box = (0 0 0) to (13.264 13.264 13.264) + create_atoms CPU = 0.000 seconds + +mass 1 180.88 + +# choose potential + +pair_style mliap model mliappy ACE_NN_Pytorch.pt descriptor ace ccs_single_element.yace +Loading python model complete. +pair_coeff * * Ta + + +# Setup output + +compute eatom all pe/atom +compute energy all reduce sum c_eatom + +compute satom all stress/atom NULL +compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] +variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) + +thermo_style custom step temp epair c_energy etotal press v_press +thermo 10 +thermo_modify norm yes + +# Set up NVE run + +timestep 0.5e-3 +neighbor 1.0 bin +neigh_modify once no every 1 delay 0 check yes + +# Run MD + +velocity all create 300.0 4928459 loop geom +fix 1 all nve + +# Uncomment dumps commands for visualization +#dump 0 all cfg 10 min.*.cfg mass type xs ys zs +#dump_modify 0 element Ta + +run ${nsteps} +run 100 +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 10.684 + ghost atom cutoff = 10.684 + binsize = 5.3419999, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair mliap, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3029 | 3029 | 3029 Mbytes + Step Temp E_pair c_energy TotEng Press v_press + 0 300 -10.799771 -10.799771 -10.761296 -124096.28 124096.28 + 10 297.05593 -10.799394 -10.799394 -10.761296 -124021.81 124021.81 + 20 293.90126 -10.798989 -10.798989 -10.761296 -123931.98 123931.98 + 30 290.75573 -10.798586 -10.798586 -10.761296 -123830.65 123830.65 + 40 287.87299 -10.798216 -10.798216 -10.761296 -123723.2 123723.2 + 50 285.52822 -10.797915 -10.797915 -10.761296 -123616.33 123616.33 + 60 283.89424 -10.806252 -10.806252 -10.769843 -123186.35 123186.35 + 70 283.0133 -10.814468 -10.814468 -10.778171 -122622.74 122622.74 + 80 283.82159 -10.850734 -10.850734 -10.814333 -121100.05 121100.05 + 90 285.70388 -10.87694 -10.87694 -10.840299 -119481.05 119481.05 + 100 289.39 -10.889368 -10.889368 -10.852253 -118417.49 118417.49 +Loop time of 1.42477 on 4 procs for 100 steps with 128 atoms + +Performance: 3.032 ns/day, 7.915 hours/ns, 70.187 timesteps/s, 8.984 katom-step/s +97.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.3575 | 1.3845 | 1.4057 | 1.7 | 97.17 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.016517 | 0.03758 | 0.064384 | 10.0 | 2.64 +Output | 0.0016464 | 0.0016915 | 0.0017802 | 0.1 | 0.12 +Modify | 0.00010363 | 0.00011648 | 0.00012936 | 0.0 | 0.01 +Other | | 0.0008911 | | | 0.06 + +Nlocal: 32 ave 32 max 32 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 1499 ave 1499 max 1499 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 9024 ave 9024 max 9024 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 36096 +Ave neighs/atom = 282 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:03 diff --git a/examples/mliap/log.03Mar24.mliap.pytorch.ace.g++.1 b/examples/mliap/log.03Mar24.mliap.pytorch.ace.g++.1 new file mode 100644 index 0000000000..83461ddad4 --- /dev/null +++ b/examples/mliap/log.03Mar24.mliap.pytorch.ace.g++.1 @@ -0,0 +1,126 @@ +LAMMPS (21 Nov 2023 - Development - e94d89ee3c-modified) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Demonstrate MLIAP/PyTorch interface to linear SNAP potential + +# Initialize simulation + +variable nsteps index 100 +variable nrep equal 4 +variable a equal 3.316 +units metal + +# generate the box and atom positions using a BCC lattice + +variable nx equal ${nrep} +variable nx equal 4 +variable ny equal ${nrep} +variable ny equal 4 +variable nz equal ${nrep} +variable nz equal 4 + +boundary p p p + +lattice bcc $a +lattice bcc 3.316 +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 4 0 ${ny} 0 ${nz} +region box block 0 4 0 4 0 ${nz} +region box block 0 4 0 4 0 4 +create_box 1 box +Created orthogonal box = (0 0 0) to (13.264 13.264 13.264) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 128 atoms + using lattice units in orthogonal box = (0 0 0) to (13.264 13.264 13.264) + create_atoms CPU = 0.000 seconds + +mass 1 180.88 + +# choose potential + +pair_style mliap model mliappy Ta_ACE.mliap.pytorch.model.pt descriptor ace linear_ACE_ccs.yace +Loading python model complete. +pair_coeff * * Ta + +# Setup output + +compute eatom all pe/atom +compute energy all reduce sum c_eatom + +compute satom all stress/atom NULL +compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] +variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) + +thermo_style custom step temp epair c_energy etotal press v_press +thermo 10 +thermo_modify norm yes + +# Set up NVE run + +timestep 0.5e-3 +neighbor 1.0 bin +neigh_modify once no every 1 delay 0 check yes + +# Run MD + +velocity all create 300.0 4928459 loop geom +fix 1 all nve +run ${nsteps} +run 100 +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 10.62 + ghost atom cutoff = 10.62 + binsize = 5.3099999, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair mliap, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 69.54 | 69.54 | 69.54 Mbytes + Step Temp E_pair c_energy TotEng Press v_press + 0 300 -10.649822 -10.649822 -10.611347 -149369.7 149369.7 + 10 301.54363 -10.65002 -10.65002 -10.611347 -149189.04 149189.04 + 20 310.2497 -10.651137 -10.651137 -10.611347 -148663.85 148663.85 + 30 325.56462 -10.653101 -10.653101 -10.611347 -147792.6 147792.6 + 40 346.54011 -10.655791 -10.655791 -10.611347 -146568.54 146568.54 + 50 371.896 -10.659043 -10.659043 -10.611348 -144972.13 144972.13 + 60 400.11547 -10.662663 -10.662663 -10.611348 -143011.4 143011.4 + 70 429.4367 -10.666423 -10.666423 -10.611348 -140773.79 140773.79 + 80 457.62121 -10.685721 -10.685721 -10.627031 -137496.07 137496.07 + 90 481.87191 -10.697719 -10.697719 -10.635919 -133888.57 133888.57 + 100 500.38073 -10.708101 -10.708101 -10.643927 -130768.99 130768.99 +Loop time of 94.0137 on 1 procs for 100 steps with 128 atoms + +Performance: 0.046 ns/day, 522.299 hours/ns, 1.064 timesteps/s, 136.150 atom-step/s +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 94.01 | 94.01 | 94.01 | 0.0 |100.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.0011604 | 0.0011604 | 0.0011604 | 0.0 | 0.00 +Output | 0.0011648 | 0.0011648 | 0.0011648 | 0.0 | 0.00 +Modify | 0.00031951 | 0.00031951 | 0.00031951 | 0.0 | 0.00 +Other | | 0.0007277 | | | 0.00 + +Nlocal: 128 ave 128 max 128 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 2203 ave 2203 max 2203 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +FullNghs: 36096 ave 36096 max 36096 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 36096 +Ave neighs/atom = 282 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:01:36 diff --git a/examples/mliap/log.03Mar24.mliap.pytorch.ace.g++.4 b/examples/mliap/log.03Mar24.mliap.pytorch.ace.g++.4 new file mode 100644 index 0000000000..b50f4e79bf --- /dev/null +++ b/examples/mliap/log.03Mar24.mliap.pytorch.ace.g++.4 @@ -0,0 +1,126 @@ +LAMMPS (21 Nov 2023 - Development - e94d89ee3c-modified) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Demonstrate MLIAP/PyTorch interface to linear SNAP potential + +# Initialize simulation + +variable nsteps index 100 +variable nrep equal 4 +variable a equal 3.316 +units metal + +# generate the box and atom positions using a BCC lattice + +variable nx equal ${nrep} +variable nx equal 4 +variable ny equal ${nrep} +variable ny equal 4 +variable nz equal ${nrep} +variable nz equal 4 + +boundary p p p + +lattice bcc $a +lattice bcc 3.316 +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 4 0 ${ny} 0 ${nz} +region box block 0 4 0 4 0 ${nz} +region box block 0 4 0 4 0 4 +create_box 1 box +Created orthogonal box = (0 0 0) to (13.264 13.264 13.264) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 128 atoms + using lattice units in orthogonal box = (0 0 0) to (13.264 13.264 13.264) + create_atoms CPU = 0.000 seconds + +mass 1 180.88 + +# choose potential + +pair_style mliap model mliappy Ta_ACE.mliap.pytorch.model.pt descriptor ace linear_ACE_ccs.yace +Loading python model complete. +pair_coeff * * Ta + +# Setup output + +compute eatom all pe/atom +compute energy all reduce sum c_eatom + +compute satom all stress/atom NULL +compute str all reduce sum c_satom[1] c_satom[2] c_satom[3] +variable press equal (c_str[1]+c_str[2]+c_str[3])/(3*vol) + +thermo_style custom step temp epair c_energy etotal press v_press +thermo 10 +thermo_modify norm yes + +# Set up NVE run + +timestep 0.5e-3 +neighbor 1.0 bin +neigh_modify once no every 1 delay 0 check yes + +# Run MD + +velocity all create 300.0 4928459 loop geom +fix 1 all nve +run ${nsteps} +run 100 +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 10.62 + ghost atom cutoff = 10.62 + binsize = 5.3099999, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair mliap, perpetual + attributes: full, newton on + pair build: full/bin/atomonly + stencil: full/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 58.24 | 58.24 | 58.24 Mbytes + Step Temp E_pair c_energy TotEng Press v_press + 0 300 -10.649822 -10.649822 -10.611347 -149369.7 149369.7 + 10 301.54363 -10.65002 -10.65002 -10.611347 -149189.04 149189.04 + 20 310.2497 -10.651137 -10.651137 -10.611347 -148663.85 148663.85 + 30 325.56462 -10.653101 -10.653101 -10.611347 -147792.6 147792.6 + 40 346.54011 -10.655791 -10.655791 -10.611347 -146568.54 146568.54 + 50 371.896 -10.659043 -10.659043 -10.611348 -144972.13 144972.13 + 60 400.11547 -10.662663 -10.662663 -10.611348 -143011.4 143011.4 + 70 429.4367 -10.666423 -10.666423 -10.611348 -140773.79 140773.79 + 80 457.62121 -10.685721 -10.685721 -10.627031 -137496.07 137496.07 + 90 481.87191 -10.697719 -10.697719 -10.635919 -133888.57 133888.57 + 100 500.38073 -10.708101 -10.708101 -10.643927 -130768.99 130768.99 +Loop time of 24.6242 on 4 procs for 100 steps with 128 atoms + +Performance: 0.175 ns/day, 136.801 hours/ns, 4.061 timesteps/s, 519.813 atom-step/s +98.1% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 23.421 | 24.105 | 24.588 | 8.7 | 97.89 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.032393 | 0.51582 | 1.1996 | 59.7 | 2.09 +Output | 0.0020103 | 0.0020589 | 0.0021633 | 0.1 | 0.01 +Modify | 0.00021557 | 0.00023585 | 0.00025912 | 0.0 | 0.00 +Other | | 0.001166 | | | 0.00 + +Nlocal: 32 ave 32 max 32 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 1499 ave 1499 max 1499 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +FullNghs: 9024 ave 9024 max 9024 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 36096 +Ave neighs/atom = 282 +Neighbor list builds = 0 +Dangerous builds = 0 + +Total wall time: 0:00:26 From c3c61a368d1471a836561523daa657ee1e4cfef2 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Mon, 11 Mar 2024 15:20:42 -0600 Subject: [PATCH 322/559] Bugfix: both pair hybrid and hybrid/overlay cannot fuse force zeroing --- src/KOKKOS/pair_kokkos.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/KOKKOS/pair_kokkos.h b/src/KOKKOS/pair_kokkos.h index 87324b49b9..54502f290c 100644 --- a/src/KOKKOS/pair_kokkos.h +++ b/src/KOKKOS/pair_kokkos.h @@ -1020,7 +1020,7 @@ template EV_FLOAT pair_compute (PairStyle* fpair, NeighListKokkos* list) { EV_FLOAT ev; if (fpair->neighflag == FULL) { - if (utils::strmatch(fpair->lmp->force->pair_style,"^hybrid/overlay")) { + if (utils::strmatch(fpair->lmp->force->pair_style,"^hybrid")) { fpair->fuse_force_clear_flag = 0; ev = pair_compute_neighlist (fpair,list); } else { From d0d4cf9ad02dcbcfbe5e7684824d6604c67f495a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 11 Mar 2024 22:40:21 -0400 Subject: [PATCH 323/559] add DOIs for recent stable releases --- doc/src/Intro_citing.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/src/Intro_citing.rst b/doc/src/Intro_citing.rst index 69ccab6162..8b906bb725 100644 --- a/doc/src/Intro_citing.rst +++ b/doc/src/Intro_citing.rst @@ -47,6 +47,8 @@ In addition there are DOIs generated for individual stable releases: - 3 March 2020 version: `DOI:10.5281/zenodo.3726417 `_ - 29 October 2020 version: `DOI:10.5281/zenodo.4157471 `_ - 29 September 2021 version: `DOI:10.5281/zenodo.6386596 `_ +- 23 June 2022 version: `DOI:10.5281/zenodo.10806836 `_ +- 2 August 2023 version: `DOI:10.5281/zenodo.10806852 `_ Home page ^^^^^^^^^ From aa7e2da33dac69fc5b65d5d88d130733ca5f5746 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Wed, 13 Mar 2024 15:04:19 -0600 Subject: [PATCH 324/559] Misc small patches --- doc/src/fix_deform_pressure.rst | 2 +- src/EXTRA-FIX/fix_deform_pressure.cpp | 4 +--- src/EXTRA-FIX/fix_deform_pressure.h | 1 - src/neighbor.cpp | 3 +++ 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/src/fix_deform_pressure.rst b/doc/src/fix_deform_pressure.rst index f85ad37238..c814aa892f 100644 --- a/doc/src/fix_deform_pressure.rst +++ b/doc/src/fix_deform_pressure.rst @@ -91,7 +91,7 @@ corresponding component of the pressure tensor. This option attempts to maintain a specified target pressure using a linear controller where the box length :math:`L` evolves according to the equation -.. parsed-literal:: +.. math:: \frac{d L(t)}{dt} = L(t) k (P_t - P) diff --git a/src/EXTRA-FIX/fix_deform_pressure.cpp b/src/EXTRA-FIX/fix_deform_pressure.cpp index ffa3f11d92..51ea75cfed 100644 --- a/src/EXTRA-FIX/fix_deform_pressure.cpp +++ b/src/EXTRA-FIX/fix_deform_pressure.cpp @@ -767,8 +767,7 @@ void FixDeformPressure::apply_box() if (fabs(v_rate) > max_h_rate) v_rate = max_h_rate * v_rate / fabs(v_rate); - set_extra[6].cumulative_strain += update->dt * v_rate; - scale = (1.0 + set_extra[6].cumulative_strain); + scale = (1.0 + update->dt * v_rate); for (i = 0; i < 3; i++) { shift = 0.5 * (set[i].hi_target - set[i].lo_target) * scale; set[i].lo_target = 0.5 * (set[i].lo_start + set[i].hi_start) - shift; @@ -843,7 +842,6 @@ void FixDeformPressure::restart(char *buf) set_extra[i].saved = set_extra_restart[i].saved; set_extra[i].prior_rate = set_extra_restart[i].prior_rate; set_extra[i].prior_pressure = set_extra_restart[i].prior_pressure; - set_extra[i].cumulative_strain = set_extra_restart[i].cumulative_strain; } } diff --git a/src/EXTRA-FIX/fix_deform_pressure.h b/src/EXTRA-FIX/fix_deform_pressure.h index 5a0d844bad..10af1e5ba3 100644 --- a/src/EXTRA-FIX/fix_deform_pressure.h +++ b/src/EXTRA-FIX/fix_deform_pressure.h @@ -51,7 +51,6 @@ class FixDeformPressure : public FixDeform { struct SetExtra { double ptarget, pgain; double prior_pressure, prior_rate; - double cumulative_strain; int saved; char *pstr; int pvar, pvar_flag; diff --git a/src/neighbor.cpp b/src/neighbor.cpp index 662494ea7b..c5cbe0e885 100644 --- a/src/neighbor.cpp +++ b/src/neighbor.cpp @@ -427,6 +427,9 @@ void Neighbor::init() } } } else { + if (!force->pair) + error->all(FLERR, "Cannot use collection/interval command without defining a pairstyle"); + if (force->pair->finitecutflag) { finite_cut_flag = 1; // If cutoffs depend on finite atom sizes, use radii of intervals to find cutoffs From 1211af65a16f06d6ba99d202b783509c362f6e9b Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Fri, 15 Mar 2024 12:10:12 -0600 Subject: [PATCH 325/559] Fix Kokkos teamsize too large issue --- src/KOKKOS/pair_kokkos.h | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/KOKKOS/pair_kokkos.h b/src/KOKKOS/pair_kokkos.h index 54502f290c..15417d7620 100644 --- a/src/KOKKOS/pair_kokkos.h +++ b/src/KOKKOS/pair_kokkos.h @@ -950,6 +950,8 @@ EV_FLOAT pair_compute_neighlist (PairStyle* fpair, std::enable_if_t<(NEIGHFLAG&P static int vectorsize = 0; static int atoms_per_team = 0; + static int teamsize_max_for = 0; + static int teamsize_max_reduce = 0; #if defined(LMP_KOKKOS_GPU) static int lastcall = -1; @@ -966,7 +968,6 @@ EV_FLOAT pair_compute_neighlist (PairStyle* fpair, std::enable_if_t<(NEIGHFLAG&P vectorsize = MIN(vectorsize,max_vectorsize); - int teamsize_max_for,teamsize_max_reduce; if (fpair->atom->ntypes > MAX_TYPES_STACKPARAMS) { PairComputeFunctor ff(fpair,list); GetMaxTeamSize(ff, inum, teamsize_max_for, teamsize_max_reduce); @@ -974,12 +975,12 @@ EV_FLOAT pair_compute_neighlist (PairStyle* fpair, std::enable_if_t<(NEIGHFLAG&P PairComputeFunctor ff(fpair,list); GetMaxTeamSize(ff, inum, teamsize_max_for, teamsize_max_reduce); } - - int teamsize_max = teamsize_max_for; - if (fpair->eflag || fpair->vflag) - teamsize_max = teamsize_max_reduce; - atoms_per_team = teamsize_max/vectorsize; } + + int teamsize_max = teamsize_max_for; + if (fpair->eflag || fpair->vflag) + teamsize_max = teamsize_max_reduce; + atoms_per_team = teamsize_max/vectorsize; #else vectorsize = 1; atoms_per_team = 1; From 2fe23b98f57c7248e1d326cfa443838609be415d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 17 Mar 2024 00:04:06 -0400 Subject: [PATCH 326/559] modernize and enable clang-format --- src/fix_print.cpp | 103 ++++++++++++++++++++++++---------------------- src/fix_print.h | 2 +- 2 files changed, 54 insertions(+), 51 deletions(-) diff --git a/src/fix_print.cpp b/src/fix_print.cpp index 023b9355cd..ccef03c3ae 100644 --- a/src/fix_print.cpp +++ b/src/fix_print.cpp @@ -1,4 +1,3 @@ -// clang-format off /* ---------------------------------------------------------------------- LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator https://www.lammps.org/, Sandia National Laboratories @@ -14,6 +13,7 @@ #include "fix_print.h" +#include "comm.h" #include "error.h" #include "input.h" #include "memory.h" @@ -29,24 +29,22 @@ using namespace FixConst; /* ---------------------------------------------------------------------- */ FixPrint::FixPrint(LAMMPS *lmp, int narg, char **arg) : - Fix(lmp, narg, arg), - fp(nullptr), text(nullptr), copy(nullptr), work(nullptr), var_print(nullptr) + Fix(lmp, narg, arg), fp(nullptr), text(nullptr), copy(nullptr), work(nullptr), + var_print(nullptr) { - if (narg < 5) error->all(FLERR,"Illegal fix print command"); - if (utils::strmatch(arg[3],"^v_")) { - var_print = utils::strdup(arg[3]+2); + if (narg < 5) utils::missing_cmd_args(FLERR, "fix print", error); + if (utils::strmatch(arg[3], "^v_")) { + var_print = utils::strdup(arg[3] + 2); nevery = 1; } else { - nevery = utils::inumeric(FLERR,arg[3],false,lmp); - if (nevery <= 0) error->all(FLERR,"Illegal fix print command"); + nevery = utils::inumeric(FLERR, arg[3], false, lmp); + if (nevery <= 0) error->all(FLERR, "Illegal fix print nevery value {}; must be > 0", nevery); } - MPI_Comm_rank(world,&me); - text = utils::strdup(arg[4]); - int n = strlen(text)+1; - copy = (char *) memory->smalloc(n*sizeof(char),"fix/print:copy"); - work = (char *) memory->smalloc(n*sizeof(char),"fix/print:work"); + int n = strlen(text) + 1; + copy = (char *) memory->smalloc(n * sizeof(char), "fix/print:copy"); + work = (char *) memory->smalloc(n * sizeof(char), "fix/print:work"); maxcopy = maxwork = n; // parse optional args @@ -57,48 +55,54 @@ FixPrint::FixPrint(LAMMPS *lmp, int narg, char **arg) : int iarg = 5; while (iarg < narg) { - if (strcmp(arg[iarg],"file") == 0 || strcmp(arg[iarg],"append") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix print command"); - if (me == 0) { - if (strcmp(arg[iarg],"file") == 0) fp = fopen(arg[iarg+1],"w"); - else fp = fopen(arg[iarg+1],"a"); + if ((strcmp(arg[iarg], "file") == 0) || (strcmp(arg[iarg], "append") == 0)) { + if (iarg + 2 > narg) + utils::missing_cmd_args(FLERR, std::string("fix print ") + arg[iarg], error); + if (comm->me == 0) { + if (strcmp(arg[iarg], "file") == 0) + fp = fopen(arg[iarg + 1], "w"); + else + fp = fopen(arg[iarg + 1], "a"); if (fp == nullptr) - error->one(FLERR,"Cannot open fix print file {}: {}", - arg[iarg+1], utils::getsyserror()); + error->one(FLERR, "Cannot open fix print file {}: {}", arg[iarg + 1], + utils::getsyserror()); } iarg += 2; - } else if (strcmp(arg[iarg],"screen") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix print command"); - screenflag = utils::logical(FLERR,arg[iarg+1],false,lmp); + } else if (strcmp(arg[iarg], "screen") == 0) { + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix print screen", error); + screenflag = utils::logical(FLERR, arg[iarg + 1], false, lmp); iarg += 2; - } else if (strcmp(arg[iarg],"title") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix print command"); - delete [] title; - title = utils::strdup(arg[iarg+1]); + } else if (strcmp(arg[iarg], "title") == 0) { + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR, "fix print title", error); + delete[] title; + title = utils::strdup(arg[iarg + 1]); iarg += 2; - } else error->all(FLERR,"Illegal fix print command"); + } else + error->all(FLERR, "Unknown fix print keyword: {}", arg[iarg]); } // print file comment line - if (fp && me == 0) { - if (title) fprintf(fp,"%s\n",title); - else fprintf(fp,"# Fix print output for fix %s\n",id); + if (fp && (comm->me == 0)) { + if (title) + fprintf(fp, "%s\n", title); + else + fprintf(fp, "# Fix print output for fix %s\n", id); } - delete [] title; + delete[] title; } /* ---------------------------------------------------------------------- */ FixPrint::~FixPrint() { - delete [] text; - delete [] var_print; + delete[] text; + delete[] var_print; memory->sfree(copy); memory->sfree(work); - if (fp && me == 0) fclose(fp); + if (fp && (comm->me == 0)) fclose(fp); } /* ---------------------------------------------------------------------- */ @@ -117,16 +121,16 @@ void FixPrint::init() if (var_print) { ivar_print = input->variable->find(var_print); if (ivar_print < 0) - error->all(FLERR,"Variable name for fix print timestep does not exist"); + error->all(FLERR, "Variable {} for fix print timestep does not exist", var_print); if (!input->variable->equalstyle(ivar_print)) - error->all(FLERR,"Variable for fix print timestep is invalid style"); - next_print = static_cast - (input->variable->compute_equal(ivar_print)); + error->all(FLERR, "Variable {} for fix print timestep is invalid style", var_print); + next_print = static_cast(input->variable->compute_equal(ivar_print)); if (next_print <= update->ntimestep) - error->all(FLERR,"Fix print timestep variable returned a bad timestep"); + error->all(FLERR, "Fix print timestep variable {} returned a bad timestep: {}", var_print, + next_print); } else { if (update->ntimestep % nevery) - next_print = (update->ntimestep/nevery)*nevery + nevery; + next_print = (update->ntimestep / nevery) * nevery + nevery; else next_print = update->ntimestep; } @@ -158,24 +162,23 @@ void FixPrint::end_of_step() modify->clearstep_compute(); - strncpy(copy,text,maxcopy); - input->substitute(copy,work,maxcopy,maxwork,0); + strncpy(copy, text, maxcopy); + input->substitute(copy, work, maxcopy, maxwork, 0); if (var_print) { - next_print = static_cast - (input->variable->compute_equal(ivar_print)); + next_print = static_cast(input->variable->compute_equal(ivar_print)); if (next_print <= update->ntimestep) - error->all(FLERR,"Fix print timestep variable returned a bad timestep"); + error->all(FLERR, "Fix print timestep variable returned a bad timestep: {}", next_print); } else { - next_print = (update->ntimestep/nevery)*nevery + nevery; + next_print = (update->ntimestep / nevery) * nevery + nevery; } modify->addstep_compute(next_print); - if (me == 0) { - if (screenflag) utils::logmesg(lmp,std::string(copy) + "\n"); + if (comm->me == 0) { + if (screenflag) utils::logmesg(lmp, std::string(copy) + "\n"); if (fp) { - fmt::print(fp,"{}\n",copy); + fmt::print(fp, "{}\n", copy); fflush(fp); } } diff --git a/src/fix_print.h b/src/fix_print.h index 48eda897b5..9e699e22ba 100644 --- a/src/fix_print.h +++ b/src/fix_print.h @@ -34,7 +34,7 @@ class FixPrint : public Fix { void end_of_step() override; private: - int me, screenflag; + int screenflag; FILE *fp; char *text, *copy, *work; int maxcopy, maxwork; From fce15bf66f52dc86c1f61dd60f3a95d716fe94d4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 17 Mar 2024 01:17:01 -0400 Subject: [PATCH 327/559] add support for appending to files to fix ave/time --- doc/src/fix_ave_time.rst | 29 ++++++++++++++++++----------- src/fix_ave_time.cpp | 8 +++++--- 2 files changed, 23 insertions(+), 14 deletions(-) diff --git a/doc/src/fix_ave_time.rst b/doc/src/fix_ave_time.rst index aa82e676ea..ea6a6dc2a9 100644 --- a/doc/src/fix_ave_time.rst +++ b/doc/src/fix_ave_time.rst @@ -28,7 +28,7 @@ Syntax v_name[I] = value calculated by a vector-style variable with name, I can include wildcard (see below) * zero or more keyword/arg pairs may be appended -* keyword = *mode* or *file* or *ave* or *start* or *off* or *overwrite* or *format* or *title1* or *title2* or *title3* +* keyword = *mode* or *file* or *append* or *ave* or *start* or *off* or *overwrite* or *format* or *title1* or *title2* or *title3* .. parsed-literal:: @@ -45,6 +45,8 @@ Syntax M = value # from 1 to Nvalues *file* arg = filename filename = name of file to output time averages to + *append* arg = filename + filename = name of file to append time averages to *overwrite* arg = none = overwrite output file with only latest output *format* arg = string string = C-style format string @@ -270,16 +272,21 @@ are effectively constant or are simply current values (e.g., they are being written to a file with other time-averaged values for purposes of creating well-formatted output). -The *file* keyword allows a filename to be specified. Every *Nfreq* -steps, one quantity or vector of quantities is written to the file for -each input value specified in the fix ave/time command. For *mode* = -scalar, this means a single line is written each time output is -performed. Thus the file ends up to be a series of lines, i.e. one -column of numbers for each input value. For *mode* = vector, an array -of numbers is written each time output is performed. The number of rows -is the length of the input vectors, and the number of columns is the -number of values. Thus the file ends up to be a series of these array -sections. +.. versionadded:: TBD + new keyword *append* + +The *file* or *append* keywords allow a filename to be specified. If +*file* is used, then the filename is overwritten if it already exists. +If *append* is used, then the filename is appended to if it already +exists, or created if it does not exist. Every *Nfreq* steps, one +quantity or vector of quantities is written to the file for each input +value specified in the fix ave/time command. For *mode* = scalar, this +means a single line is written each time output is performed. Thus the +file ends up to be a series of lines, i.e. one column of numbers for +each input value. For *mode* = vector, an array of numbers is written +each time output is performed. The number of rows is the length of the +input vectors, and the number of columns is the number of values. Thus +the file ends up to be a series of these array sections. .. versionadded:: 4May2022 diff --git a/src/fix_ave_time.cpp b/src/fix_ave_time.cpp index f6ba0ad0e6..908a21f748 100644 --- a/src/fix_ave_time.cpp +++ b/src/fix_ave_time.cpp @@ -1033,11 +1033,13 @@ void FixAveTime::options(int iarg, int narg, char **arg) // optional args while (iarg < narg) { - if (strcmp(arg[iarg],"file") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); + if ((strcmp(arg[iarg],"file") == 0) || (strcmp(arg[iarg],"append") == 0)) { + if (iarg+2 > narg) + utils::missing_cmd_args(FLERR, std::string("fix ave/time ")+arg[iarg], error); yaml_flag = utils::strmatch(arg[iarg+1],"\\.[yY][aA]?[mM][lL]$"); if (comm->me == 0) { - fp = fopen(arg[iarg+1],"w"); + if (strcmp(arg[iarg],"file") == 0) fp = fopen(arg[iarg+1],"w"); + else fp = fopen(arg[iarg+1],"a"); if (fp == nullptr) error->one(FLERR,"Cannot open fix ave/time file {}: {}", arg[iarg+1], utils::getsyserror()); From 866c059d2d8e7fd0dd39ab2a51860eab2fc9aeca Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 17 Mar 2024 01:17:11 -0400 Subject: [PATCH 328/559] improve error messages --- src/fix_ave_time.cpp | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/src/fix_ave_time.cpp b/src/fix_ave_time.cpp index 908a21f748..5219a4de3d 100644 --- a/src/fix_ave_time.cpp +++ b/src/fix_ave_time.cpp @@ -1046,30 +1046,31 @@ void FixAveTime::options(int iarg, int narg, char **arg) } iarg += 2; } else if (strcmp(arg[iarg],"ave") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/time ave", error); if (strcmp(arg[iarg+1],"one") == 0) ave = ONE; else if (strcmp(arg[iarg+1],"running") == 0) ave = RUNNING; else if (strcmp(arg[iarg+1],"window") == 0) ave = WINDOW; - else error->all(FLERR,"Illegal fix ave/time command"); + else error->all(FLERR,"Unknown fix ave/time ave keyword {}", arg[iarg+1]); if (ave == WINDOW) { - if (iarg+3 > narg) error->all(FLERR,"Illegal fix ave/time command"); + if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "fix ave/time ave window", error); nwindow = utils::inumeric(FLERR,arg[iarg+2],false,lmp); - if (nwindow <= 0) error->all(FLERR,"Illegal fix ave/time command"); + if (nwindow <= 0) + error->all(FLERR,"Illegal fix ave/time ave window argument {}; must be > 0", nwindow); } iarg += 2; if (ave == WINDOW) iarg++; } else if (strcmp(arg[iarg],"start") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/time start", error); startstep = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"mode") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/time mode", error); if (strcmp(arg[iarg+1],"scalar") == 0) mode = SCALAR; else if (strcmp(arg[iarg+1],"vector") == 0) mode = VECTOR; - else error->all(FLERR,"Illegal fix ave/time command"); + else error->all(FLERR,"Unknown fix ave/time mode {}", arg[iarg+1]); iarg += 2; } else if (strcmp(arg[iarg],"off") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/time off", error); memory->grow(offlist,noff+1,"ave/time:offlist"); offlist[noff++] = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; @@ -1077,27 +1078,27 @@ void FixAveTime::options(int iarg, int narg, char **arg) overwrite = 1; iarg += 1; } else if (strcmp(arg[iarg],"format") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/time format", error); delete[] format_user; format_user = utils::strdup(arg[iarg+1]); format = format_user; iarg += 2; } else if (strcmp(arg[iarg],"title1") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/time title1", error); delete[] title1; title1 = utils::strdup(arg[iarg+1]); iarg += 2; } else if (strcmp(arg[iarg],"title2") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/time title2", error); delete[] title2; title2 = utils::strdup(arg[iarg+1]); iarg += 2; } else if (strcmp(arg[iarg],"title3") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix ave/time command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/time title3", error); delete[] title3; title3 = utils::strdup(arg[iarg+1]); iarg += 2; - } else error->all(FLERR,"Unknown fix ave/time command option {}", arg[iarg]); + } else error->all(FLERR,"Unknown fix ave/time keyword {}", arg[iarg]); } } From 1bbe87d9d2527909bc3f9aec81ebdb4bac0a7b07 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 17 Mar 2024 15:13:04 -0400 Subject: [PATCH 329/559] add 'append' keyword for appending to output file --- doc/src/fix_ave_histo.rst | 36 ++++++++++++++++++++++-------------- src/fix_ave_histo.cpp | 8 +++++--- 2 files changed, 27 insertions(+), 17 deletions(-) diff --git a/doc/src/fix_ave_histo.rst b/doc/src/fix_ave_histo.rst index 9699e4238c..60aeb632fb 100644 --- a/doc/src/fix_ave_histo.rst +++ b/doc/src/fix_ave_histo.rst @@ -35,7 +35,7 @@ Syntax v_name[I] = value calculated by a vector-style variable with name, I can include wildcard (see below) * zero or more keyword/arg pairs may be appended -* keyword = *mode* or *kind* or *file* or *ave* or *start* or *beyond* or *overwrite* or *title1* or *title2* or *title3* +* keyword = *mode* or *kind* or *file* or *append* or *ave* or *start* or *beyond* or *overwrite* or *title1* or *title2* or *title3* .. parsed-literal:: @@ -45,6 +45,8 @@ Syntax *kind* arg = *global* or *peratom* or *local* *file* arg = filename filename = name of file to output histogram(s) to + *append* arg = filename + filename = name of file to append time averages to *ave* args = *one* or *running* or *window* one = output a new average value every Nfreq steps running = output cumulative average of all previous Nfreq steps @@ -317,19 +319,25 @@ on. The default is step 0. Often input values can be 0.0 at time 0, so setting *start* to a larger value can avoid including a 0.0 in a running or windowed histogram. -The *file* keyword allows a filename to be specified. Every *Nfreq* -steps, one histogram is written to the file. This includes a leading -line that contains the timestep, number of bins, the total count of -values contributing to the histogram, the count of values that were -not histogrammed (see the *beyond* keyword), the minimum value -encountered, and the maximum value encountered. The min/max values -include values that were not histogrammed. Following the leading -line, one line per bin is written into the file. Each line contains -the bin #, the coordinate for the center of the bin (between *lo* and -*hi*\ ), the count of values in the bin, and the normalized count. The -normalized count is the bin count divided by the total count (not -including values not histogrammed), so that the normalized values sum -to 1.0 across all bins. +.. versionadded:: TBD + new keyword *append* + +The *file* or *append* keywords allow a filename to be specified. If +*file* is used, then the filename is overwritten if it already exists. +If *append* is used, then the filename is appended to if it already +exists, or created if it does not exist. Every *Nfreq* steps, one +histogram is written to the file. This includes a leading line that +contains the timestep, number of bins, the total count of values +contributing to the histogram, the count of values that were not +histogrammed (see the *beyond* keyword), the minimum value encountered, +and the maximum value encountered. The min/max values include values +that were not histogrammed. Following the leading line, one line per +bin is written into the file. Each line contains the bin #, the +coordinate for the center of the bin (between *lo* and *hi*\ ), the +count of values in the bin, and the normalized count. The normalized +count is the bin count divided by the total count (not including values +not histogrammed), so that the normalized values sum to 1.0 across all +bins. The *overwrite* keyword will continuously overwrite the output file with the latest output, so that it only contains one timestep worth of diff --git a/src/fix_ave_histo.cpp b/src/fix_ave_histo.cpp index a92efcdacd..b3ca9e1106 100644 --- a/src/fix_ave_histo.cpp +++ b/src/fix_ave_histo.cpp @@ -839,10 +839,12 @@ void FixAveHisto::options(int iarg, int narg, char **arg) auto mycmd = fmt::format("fix {}", style); while (iarg < narg) { - if (strcmp(arg[iarg],"file") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, mycmd + " file", error); + if ((strcmp(arg[iarg],"file") == 0) || (strcmp(arg[iarg],"append") == 0)) { + if (iarg+2 > narg) + utils::missing_cmd_args(FLERR, std::string("fix ave/histo ")+arg[iarg], error); if (comm->me == 0) { - fp = fopen(arg[iarg+1],"w"); + if (strcmp(arg[iarg],"file") == 0) fp = fopen(arg[iarg+1],"w"); + else fp = fopen(arg[iarg+1],"a"); if (fp == nullptr) error->one(FLERR, "Cannot open fix ave/histo file {}: {}", arg[iarg+1], utils::getsyserror()); From d97c7fffac66f26485b8c0c2fc87df5eb05dcebe Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 17 Mar 2024 15:13:13 -0400 Subject: [PATCH 330/559] spelling --- doc/src/fix_electrode.rst | 29 +++++++++++---------- doc/src/processors.rst | 26 +++++++++--------- doc/utils/sphinx-config/false_positives.txt | 1 + 3 files changed, 29 insertions(+), 27 deletions(-) diff --git a/doc/src/fix_electrode.rst b/doc/src/fix_electrode.rst index 8a7a44454d..692b187841 100644 --- a/doc/src/fix_electrode.rst +++ b/doc/src/fix_electrode.rst @@ -255,23 +255,24 @@ and the fix will issue an error in that case. .. versionadded:: TBD -The keyword *qtotal* causes *fix electrode/conp* and *fix electrode/thermo* -to add an overall potential to all electrodes so that the total charge on -the electrodes is a specified amount (which may be an equal-style variable). -For example, if a user wanted to simulate a solution of excess cations -such that the total electrolyte charge is +2, setting *qtotal -2* would cause -the total electrode charge to be -2, so that the simulation box remains overall -electroneutral. Since *fix electrode/conq* constrains the total charges of -individual electrodes, and since *symm on* constrains the total charge of all -electrodes to be zero, either option is incompatible with the *qtotal* keyword -(even if *qtotal* is set to zero). +The keyword *qtotal* causes *fix electrode/conp* and *fix +electrode/thermo* to add an overall potential to all electrodes so that +the total charge on the electrodes is a specified amount (which may be +an equal-style variable). For example, if a user wanted to simulate a +solution of excess cations such that the total electrolyte charge is +2, +setting *qtotal -2* would cause the total electrode charge to be -2, so +that the simulation box remains overall electroneutral. Since *fix +electrode/conq* constrains the total charges of individual electrodes, +and since *symm on* constrains the total charge of all electrodes to be +zero, either option is incompatible with the *qtotal* keyword (even if +*qtotal* is set to zero). .. versionadded:: TBD -The keyword *eta* takes the name of a custom double vector defined via fix -property/atom. The values will be used instead of the standard eta value. The -property/atom fix must be for vector of double values and use the *ghost on* -option. +The keyword *eta* takes the name of a custom double vector defined via +fix property/atom. The values will be used instead of the standard eta +value. The property/atom fix must be for vector of double values and +use the *ghost on* option. Restart, fix_modify, output, run start/stop, minimize info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" diff --git a/doc/src/processors.rst b/doc/src/processors.rst index a11febb1c2..f909790304 100644 --- a/doc/src/processors.rst +++ b/doc/src/processors.rst @@ -159,17 +159,17 @@ surface-to-volume ratio of each processor's subdomain. for most MPI implementations, but some MPIs provide options for this ordering, e.g. via environment variable settings. -The *numa* style operates similar to the *twolevel* keyword except -that it auto-detects which cores are running on which nodes. -It will also subdivide the cores into numa domains. Currently, the -number of numa domains is not autodetected and must be specified using -the *numa_nodes* keyword; otherwise, the default value is used. The -*numa* style uses a different algorithm than the *twolevel* keyword for -doing the two-level factorization of the simulation box into a 3d -processor grid to minimize off-node communication and communication -across numa domains. It does its own MPI-based mapping of nodes and -cores to the regular 3d grid. Thus it may produce a different layout -of the processors than the *twolevel* options. +The *numa* style operates similar to the *twolevel* keyword except that +it auto-detects which cores are running on which nodes. It will also +subdivide the cores into numa domains. Currently, the number of numa +domains is not auto-detected and must be specified using the +*numa_nodes* keyword; otherwise, the default value is used. The *numa* +style uses a different algorithm than the *twolevel* keyword for doing +the two-level factorization of the simulation box into a 3d processor +grid to minimize off-node communication and communication across numa +domains. It does its own MPI-based mapping of nodes and cores to the +regular 3d grid. Thus it may produce a different layout of the +processors than the *twolevel* options. The *numa* style will give an error if the number of MPI processes is not divisible by the number of cores used per node, or any of the Px @@ -182,7 +182,7 @@ or Py or Pz values is greater than 1. is because it auto-detects which processes are running on which nodes. However, it assumes that the lowest ranks are in the first numa domain, and so forth. MPI rank orderings that do not preserve this - property might result in more intranode communication between CPUs. + property might result in more intra-node communication between CPUs. The *custom* style uses the file *infile* to define both the 3d factorization and the mapping of processors to the grid. @@ -213,7 +213,7 @@ any order, but no processor ID should appear more than once. ---------- -The *numa_nodes* keyword is used to specifiy the number of numa domains +The *numa_nodes* keyword is used to specify the number of numa domains per node. It is currently only used by the *numa* style for two-level factorization to reduce the amount of MPI communications between CPUs. A good setting for this will typically be equal to the number of CPU diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 030c80d30c..04ea69575a 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -947,6 +947,7 @@ elastance Electroneg electronegative electronegativity +electroneutral electroneutrality Eleftheriou ElementN From 505f7b3cb4b64c351aa1b03b0bde288e18993649 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 17 Mar 2024 15:34:32 -0400 Subject: [PATCH 331/559] add 'append' keyword for appending to output file --- doc/src/fix_ave_chunk.rst | 28 ++++++++++++++++++---------- doc/src/fix_ave_histo.rst | 2 +- src/fix_ave_chunk.cpp | 8 +++++--- 3 files changed, 24 insertions(+), 14 deletions(-) diff --git a/doc/src/fix_ave_chunk.rst b/doc/src/fix_ave_chunk.rst index adbfb43d72..57ce52f7c7 100644 --- a/doc/src/fix_ave_chunk.rst +++ b/doc/src/fix_ave_chunk.rst @@ -31,7 +31,7 @@ Syntax v_name = per-atom vector calculated by an atom-style variable with name * zero or more keyword/arg pairs may be appended -* keyword = *norm* or *ave* or *bias* or *adof* or *cdof* or *file* or *overwrite* or *format* or *title1* or *title2* or *title3* +* keyword = *norm* or *ave* or *bias* or *adof* or *cdof* or *file* or *append* or *overwrite* or *format* or *title1* or *title2* or *title3* .. parsed-literal:: @@ -51,6 +51,8 @@ Syntax dof_per_chunk = define this many degrees-of-freedom per chunk for temperature calculation *file* arg = filename filename = file to write results to + *append* arg = filename + filename = file to append results to *overwrite* arg = none = overwrite output file with only latest output *format* arg = string string = C-style format string @@ -433,15 +435,21 @@ molecule. ---------- -The *file* keyword allows a filename to be specified. Every -:math:`N_\text{freq}` timesteps, a section of chunk info will be written to a -text file in the following format. A line with the timestep and number of -chunks is written. Then one line per chunk is written, containing the chunk -ID :math:`(1-N_\text{chunk}),` an optional original ID value, optional -coordinate values for chunks that represent spatial bins, the number of atoms -in the chunk, and one or more calculated values. More explanation of the -optional values is given below. The number of values in each line -corresponds to the number of values specified in the fix ave/chunk +.. versionadded:: TBD + new keyword *append* + +The *file* or *append* keywords allow a filename to be specified. If +*file* is used, then the filename is overwritten if it already exists. +If *append* is used, then the filename is appended to if it already +exists, or created if it does not exist. Every :math:`N_\text{freq}` +timesteps, a section of chunk info will be written to a text file in the +following format. A line with the timestep and number of chunks is +written. Then one line per chunk is written, containing the chunk ID +:math:`(1-N_\text{chunk}),` an optional original ID value, optional +coordinate values for chunks that represent spatial bins, the number of +atoms in the chunk, and one or more calculated values. More explanation +of the optional values is given below. The number of values in each +line corresponds to the number of values specified in the fix ave/chunk command. The number of atoms and the value(s) are summed or average quantities, as explained above. diff --git a/doc/src/fix_ave_histo.rst b/doc/src/fix_ave_histo.rst index 60aeb632fb..b9ecc31cec 100644 --- a/doc/src/fix_ave_histo.rst +++ b/doc/src/fix_ave_histo.rst @@ -46,7 +46,7 @@ Syntax *file* arg = filename filename = name of file to output histogram(s) to *append* arg = filename - filename = name of file to append time averages to + filename = name of file to append histogram(s) to *ave* args = *one* or *running* or *window* one = output a new average value every Nfreq steps running = output cumulative average of all previous Nfreq steps diff --git a/src/fix_ave_chunk.cpp b/src/fix_ave_chunk.cpp index a0d25cf2c7..9382b6d38e 100644 --- a/src/fix_ave_chunk.cpp +++ b/src/fix_ave_chunk.cpp @@ -193,10 +193,12 @@ FixAveChunk::FixAveChunk(LAMMPS *lmp, int narg, char **arg) : cdof = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; - } else if (strcmp(arg[iarg],"file") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/chunk file", error); + } else if ((strcmp(arg[iarg],"file") == 0) || (strcmp(arg[iarg],"append") == 0)) { + if (iarg+2 > narg) + utils::missing_cmd_args(FLERR, std::string("fix ave/chunk ")+arg[iarg], error); if (comm->me == 0) { - fp = fopen(arg[iarg+1],"w"); + if (strcmp(arg[iarg],"file") == 0) fp = fopen(arg[iarg+1],"w"); + else fp = fopen(arg[iarg+1],"a"); if (fp == nullptr) error->one(FLERR, "Cannot open fix ave/chunk file {}: {}", arg[iarg+1], utils::getsyserror()); From 41ee1efa1374b693239e7c1870b3e39f5760fbfd Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 18 Mar 2024 10:27:38 -0400 Subject: [PATCH 332/559] fix bug in f2c string conversion detected by bound checking --- fortran/lammps.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fortran/lammps.f90 b/fortran/lammps.f90 index d0133f075c..c297bad2ef 100644 --- a/fortran/lammps.f90 +++ b/fortran/lammps.f90 @@ -3687,7 +3687,7 @@ CONTAINS n = LEN_TRIM(f_string) ptr = lammps_malloc(n+1) - CALL C_F_POINTER(ptr, c_string, [1]) + CALL C_F_POINTER(ptr, c_string, [n+1]) DO i=1, n c_string(i) = f_string(i:i) END DO From 03bbc562ad4da3c3ac265631260c83207ce05a99 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 18 Mar 2024 10:46:43 -0400 Subject: [PATCH 333/559] improve error messages for invalid hybrid sub-styles --- src/angle_hybrid.cpp | 2 +- src/bond_hybrid.cpp | 2 +- src/dihedral_hybrid.cpp | 3 ++- src/improper_hybrid.cpp | 3 ++- src/pair_hybrid.cpp | 6 ++++-- src/pair_hybrid_overlay.cpp | 6 ++++-- src/pair_hybrid_scaled.cpp | 2 +- 7 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/angle_hybrid.cpp b/src/angle_hybrid.cpp index e79776b0d2..0c61970a1f 100644 --- a/src/angle_hybrid.cpp +++ b/src/angle_hybrid.cpp @@ -270,7 +270,7 @@ void AngleHybrid::coeff(int narg, char **arg) else if (strcmp(arg[1], "bb") == 0) error->all(FLERR, "BondBond coeff for hybrid angle has invalid format"); else - error->all(FLERR, "Angle coeff for hybrid has invalid style"); + error->all(FLERR, "Expected hybrid sub-style instead of {} in angle_coeff command", arg[1]); } // move 1st arg to 2nd arg diff --git a/src/bond_hybrid.cpp b/src/bond_hybrid.cpp index 401358dda0..6e5ae8d5e7 100644 --- a/src/bond_hybrid.cpp +++ b/src/bond_hybrid.cpp @@ -305,7 +305,7 @@ void BondHybrid::coeff(int narg, char **arg) if (strcmp(arg[1], "none") == 0) none = 1; else - error->all(FLERR, "Bond coeff for hybrid has invalid style"); + error->all(FLERR, "Expected hybrid sub-style instead of {} in bond_coeff command", arg[1]); } // move 1st arg to 2nd arg diff --git a/src/dihedral_hybrid.cpp b/src/dihedral_hybrid.cpp index 9da4df1f68..4ee0ffdad9 100644 --- a/src/dihedral_hybrid.cpp +++ b/src/dihedral_hybrid.cpp @@ -277,7 +277,8 @@ void DihedralHybrid::coeff(int narg, char **arg) else if (strcmp(arg[1], "bb13") == 0) error->all(FLERR, "BondBond13 coeff for hybrid dihedral has invalid format"); else - error->all(FLERR, "Dihedral coeff for hybrid has invalid style"); + error->all(FLERR, "Expected hybrid sub-style instead of {} in dihedral_coeff command", + arg[1]); } // move 1st arg to 2nd arg diff --git a/src/improper_hybrid.cpp b/src/improper_hybrid.cpp index 505488cce6..a847b7bc95 100644 --- a/src/improper_hybrid.cpp +++ b/src/improper_hybrid.cpp @@ -269,7 +269,8 @@ void ImproperHybrid::coeff(int narg, char **arg) else if (strcmp(arg[1], "aa") == 0) error->all(FLERR, "AngleAngle coeff for hybrid improper has invalid format"); else - error->all(FLERR, "Improper coeff for hybrid has invalid style"); + error->all(FLERR, "Expected hybrid sub-style instead of {} in improper_coeff command", + arg[1]); } // move 1st arg to 2nd arg diff --git a/src/pair_hybrid.cpp b/src/pair_hybrid.cpp index f05a201e33..d257973617 100644 --- a/src/pair_hybrid.cpp +++ b/src/pair_hybrid.cpp @@ -521,8 +521,10 @@ void PairHybrid::coeff(int narg, char **arg) int none = 0; if (m == nstyles) { - if (strcmp(arg[2],"none") == 0) none = 1; - else error->all(FLERR,"Pair coeff for hybrid has invalid style: {}", arg[2]); + if (strcmp(arg[2],"none") == 0) + none = 1; + else + error->all(FLERR,"Expected hybrid sub-style instead of {} in pair_coeff command", arg[2]); } // move 1st/2nd args to 2nd/3rd args diff --git a/src/pair_hybrid_overlay.cpp b/src/pair_hybrid_overlay.cpp index 118403d345..4211d0e5cb 100644 --- a/src/pair_hybrid_overlay.cpp +++ b/src/pair_hybrid_overlay.cpp @@ -59,8 +59,10 @@ void PairHybridOverlay::coeff(int narg, char **arg) int none = 0; if (m == nstyles) { - if (strcmp(arg[2],"none") == 0) none = 1; - else error->all(FLERR,"Pair coeff for hybrid has invalid style: {}", arg[2]); + if (strcmp(arg[2],"none") == 0) + none = 1; + else + error->all(FLERR,"Expected hybrid sub-style instead of {} in pair_coeff command", arg[2]); } // move 1st/2nd args to 2nd/3rd args diff --git a/src/pair_hybrid_scaled.cpp b/src/pair_hybrid_scaled.cpp index 69ff037e4a..e897c784c7 100644 --- a/src/pair_hybrid_scaled.cpp +++ b/src/pair_hybrid_scaled.cpp @@ -516,7 +516,7 @@ void PairHybridScaled::coeff(int narg, char **arg) if (strcmp(arg[2], "none") == 0) none = 1; else - error->all(FLERR, "Pair coeff for hybrid has invalid style: {}", arg[2]); + error->all(FLERR, "Expected hybrid sub-style instead of {} in pair_coeff command", arg[2]); } // move 1st/2nd args to 2nd/3rd args From 8d4a384f342043b9e76ab6395e99e136ba88f205 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Mon, 18 Mar 2024 09:28:53 -0600 Subject: [PATCH 334/559] Improve cuFFT detection in CMake, similar to HIP --- cmake/Modules/Packages/KOKKOS.cmake | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/cmake/Modules/Packages/KOKKOS.cmake b/cmake/Modules/Packages/KOKKOS.cmake index 9324ea95c4..e74893d0d0 100644 --- a/cmake/Modules/Packages/KOKKOS.cmake +++ b/cmake/Modules/Packages/KOKKOS.cmake @@ -139,12 +139,9 @@ if(PKG_KSPACE) message(WARNING "Using KISS FFT with the CUDA backend of Kokkos may be sub-optimal.") target_compile_definitions(lammps PRIVATE -DFFT_KOKKOS_KISS) elseif(FFT_KOKKOS STREQUAL "CUFFT") - find_library(CUFFT_LIBRARY cufft) - if (CUFFT_LIBRARY STREQUAL "CUFFT_LIBRARY-NOTFOUND") - message(FATAL_ERROR "Required cuFFT library not found. Check your environment or set CUFFT_LIBRARY to its location") - endif() + find_package(CUDAToolkit REQUIRED) target_compile_definitions(lammps PRIVATE -DFFT_KOKKOS_CUFFT) - target_link_libraries(lammps PRIVATE ${CUFFT_LIBRARY}) + target_link_libraries(lammps PRIVATE CUDA::cufft) endif() elseif(Kokkos_ENABLE_HIP) if(NOT ((FFT_KOKKOS STREQUAL "KISS") OR (FFT_KOKKOS STREQUAL "HIPFFT"))) From 6a28e8d5f6c2357dfe9ab8e68a99def27c69dd65 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Mon, 18 Mar 2024 13:27:21 -0500 Subject: [PATCH 335/559] Fixed bugs with sph gpu pair styles --- lib/gpu/lal_sph_heatconduction.cu | 22 ++++----- lib/gpu/lal_sph_lj.cu | 45 ++++++++--------- lib/gpu/lal_sph_taitwater.cu | 64 +++++++++++-------------- src/GPU/pair_sph_heatconduction_gpu.cpp | 4 +- src/GPU/pair_sph_lj_gpu.cpp | 28 +++++------ src/GPU/pair_sph_taitwater_gpu.cpp | 48 +++++++++++++------ 6 files changed, 112 insertions(+), 99 deletions(-) diff --git a/lib/gpu/lal_sph_heatconduction.cu b/lib/gpu/lal_sph_heatconduction.cu index e2ba40db0c..8e4ec6ff19 100644 --- a/lib/gpu/lal_sph_heatconduction.cu +++ b/lib/gpu/lal_sph_heatconduction.cu @@ -29,23 +29,23 @@ _texture_2d( vel_tex,int4); #if (SHUFFLE_AVAIL == 0) -#define store_dE(dEacc, ii, inum, tid, t_per_atom, offset, dE) \ +#define store_dE(dEacc, ii, inum, tid, t_per_atom, offset, i, dE) \ if (t_per_atom>1) { \ simdsync(); \ simd_reduce_add1(t_per_atom, red_acc, offset, tid, dEacc); \ } \ if (offset==0 && ii1) { \ for (unsigned int s=t_per_atom/2; s>0; s>>=1) { \ dEacc += shfl_down(dEacc, s, t_per_atom); \ } \ } \ if (offset==0 && ii1) { \ - simdsync(); \ - simd_reduce_add2(t_per_atom, red_acc, offset, tid, \ - drhoEacc.x, drhoEacc.y); \ - } \ - if (offset==0 && ii1) { \ + simdsync(); \ + simd_reduce_add2(t_per_atom, red_acc, offset, tid, \ + drhoEacc.x, drhoEacc.y); \ + } \ + if (offset==0 && ii1) { \ for (unsigned int s=t_per_atom/2; s>0; s>>=1) { \ drhoEacc.x += shfl_down(drhoEacc.x, s, t_per_atom); \ @@ -47,7 +48,8 @@ _texture_2d( vel_tex,int4); } \ } \ if (offset==0 && ii1) { \ - simdsync(); \ - simd_reduce_add2(t_per_atom, red_acc, offset, tid, \ - drhoEacc.x, drhoEacc.y); \ - } \ - if (offset==0 && ii1) { \ + simdsync(); \ + simd_reduce_add2(t_per_atom, red_acc, offset, tid, \ + drhoEacc.x, drhoEacc.y); \ + } \ + if (offset==0 && ii1) { \ for (unsigned int s=t_per_atom/2; s>0; s>>=1) { \ drhoEacc.x += shfl_down(drhoEacc.x, s, t_per_atom); \ @@ -47,7 +48,8 @@ _texture_2d( vel_tex,int4); } \ } \ if (offset==0 && iiago, inum, nall, atom->x, atom->type, sublo, subhi, atom->tag, atom->nspecial, atom->special, eflag, vflag, eflag_atom, vflag_atom, host_start, &ilist, &numneigh, - cpu_time, success, atom->v); + cpu_time, success, atom->vest); } else { inum = list->inum; ilist = list->ilist; @@ -122,7 +122,7 @@ void PairSPHHeatConductionGPU::compute(int eflag, int vflag) sph_heatconduction_gpu_compute(neighbor->ago, inum, nall, atom->x, atom->type, ilist, numneigh, firstneigh, eflag, vflag, eflag_atom, vflag_atom, host_start, cpu_time, success, - atom->tag, atom->v); + atom->tag, atom->vest); } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); diff --git a/src/GPU/pair_sph_lj_gpu.cpp b/src/GPU/pair_sph_lj_gpu.cpp index 46d7b38073..d503a26335 100644 --- a/src/GPU/pair_sph_lj_gpu.cpp +++ b/src/GPU/pair_sph_lj_gpu.cpp @@ -114,7 +114,7 @@ void PairSPHLJGPU::compute(int eflag, int vflag) neighbor->ago, inum, nall, atom->x, atom->type, sublo, subhi, atom->tag, atom->nspecial, atom->special, eflag, vflag, eflag_atom, vflag_atom, host_start, &ilist, &numneigh, - cpu_time, success, atom->v); + cpu_time, success, atom->vest); } else { inum = list->inum; ilist = list->ilist; @@ -123,7 +123,7 @@ void PairSPHLJGPU::compute(int eflag, int vflag) sph_lj_gpu_compute(neighbor->ago, inum, nall, atom->x, atom->type, ilist, numneigh, firstneigh, eflag, vflag, eflag_atom, vflag_atom, host_start, cpu_time, success, - atom->tag, atom->v); + atom->tag, atom->vest); } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); @@ -136,21 +136,21 @@ void PairSPHLJGPU::compute(int eflag, int vflag) int nlocal = atom->nlocal; if (acc_float) { auto drhoE_ptr = (float *)drhoE_pinned; - int idx = 0; - for (int i = 0; i < nlocal; i++) { - drho[i] = drhoE_ptr[idx]; - desph[i] = drhoE_ptr[idx+1]; - idx += 2; - } + for (int i = 0; i < nlocal; i++) + drho[i] += drhoE_ptr[i]; + + drhoE_ptr += nlocal; + for (int i = 0; i < nlocal; i++) + desph[i] += drhoE_ptr[i]; } else { auto drhoE_ptr = (double *)drhoE_pinned; - int idx = 0; - for (int i = 0; i < nlocal; i++) { - drho[i] = drhoE_ptr[idx]; - desph[i] = drhoE_ptr[idx+1]; - idx += 2; - } + for (int i = 0; i < nlocal; i++) + drho[i] += drhoE_ptr[i]; + + drhoE_ptr += nlocal; + for (int i = 0; i < nlocal; i++) + desph[i] += drhoE_ptr[i]; } if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) diff --git a/src/GPU/pair_sph_taitwater_gpu.cpp b/src/GPU/pair_sph_taitwater_gpu.cpp index 6f2762c144..23252cea8a 100644 --- a/src/GPU/pair_sph_taitwater_gpu.cpp +++ b/src/GPU/pair_sph_taitwater_gpu.cpp @@ -18,6 +18,7 @@ #include "pair_sph_taitwater_gpu.h" #include "atom.h" +#include "comm.h" #include "domain.h" #include "error.h" #include "force.h" @@ -85,6 +86,25 @@ void PairSPHTaitwaterGPU::compute(int eflag, int vflag) { ev_init(eflag, vflag); + // check consistency of pair coefficients + + if (first) { + for (int i = 1; i <= atom->ntypes; i++) { + for (int j = 1; i <= atom->ntypes; i++) { + if (cutsq[i][j] > 1.e-32) { + if (!setflag[i][i] || !setflag[j][j]) { + if (comm->me == 0) { + printf( + "SPH particle types %d and %d interact with cutoff=%g, but not all of their single particle properties are set.\n", + i, j, sqrt(cutsq[i][j])); + } + } + } + } + } + first = 0; + } + int nall = atom->nlocal + atom->nghost; int inum, host_start; @@ -110,7 +130,7 @@ void PairSPHTaitwaterGPU::compute(int eflag, int vflag) firstneigh = sph_taitwater_gpu_compute_n( neighbor->ago, inum, nall, atom->x, atom->type, sublo, subhi, atom->tag, atom->nspecial, atom->special, eflag, vflag, eflag_atom, vflag_atom, host_start, &ilist, &numneigh, - cpu_time, success, atom->v); + cpu_time, success, atom->vest); } else { inum = list->inum; ilist = list->ilist; @@ -118,7 +138,7 @@ void PairSPHTaitwaterGPU::compute(int eflag, int vflag) firstneigh = list->firstneigh; sph_taitwater_gpu_compute(neighbor->ago, inum, nall, atom->x, atom->type, ilist, numneigh, firstneigh, eflag, vflag, eflag_atom, vflag_atom, host_start, cpu_time, success, - atom->tag, atom->v); + atom->tag, atom->vest); } if (!success) error->one(FLERR, "Insufficient memory on accelerator"); @@ -131,21 +151,21 @@ void PairSPHTaitwaterGPU::compute(int eflag, int vflag) int nlocal = atom->nlocal; if (acc_float) { auto drhoE_ptr = (float *)drhoE_pinned; - int idx = 0; - for (int i = 0; i < nlocal; i++) { - drho[i] = drhoE_ptr[idx]; - desph[i] = drhoE_ptr[idx+1]; - idx += 2; - } + for (int i = 0; i < nlocal; i++) + drho[i] += drhoE_ptr[i]; + + drhoE_ptr += nlocal; + for (int i = 0; i < nlocal; i++) + desph[i] += drhoE_ptr[i]; } else { auto drhoE_ptr = (double *)drhoE_pinned; - int idx = 0; - for (int i = 0; i < nlocal; i++) { - drho[i] = drhoE_ptr[idx]; - desph[i] = drhoE_ptr[idx+1]; - idx += 2; - } + for (int i = 0; i < nlocal; i++) + drho[i] += drhoE_ptr[i]; + + drhoE_ptr += nlocal; + for (int i = 0; i < nlocal; i++) + desph[i] += drhoE_ptr[i]; } if (atom->molecular != Atom::ATOMIC && neighbor->ago == 0) From 8f589ed53654efaecc2bec3d566cd19e13be4b56 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 18 Mar 2024 21:51:19 -0400 Subject: [PATCH 336/559] simplify using modern API --- src/MC/fix_sgcmc.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/MC/fix_sgcmc.cpp b/src/MC/fix_sgcmc.cpp index ae0e69d77e..e6e01610fe 100644 --- a/src/MC/fix_sgcmc.cpp +++ b/src/MC/fix_sgcmc.cpp @@ -253,11 +253,9 @@ void FixSemiGrandCanonicalMC::init() error->all(FLERR, "Can not run fix sgcmc with naive total energy calculation " "and more than one MPI process."); - // Create a compute that will provide the total energy of the system. + // Get reference to a compute that will provide the total energy of the system. // This is needed by computeTotalEnergy(). - char* id_pe = (char*)"thermo_pe"; - int ipe = modify->find_compute(id_pe); - compute_pe = modify->compute[ipe]; + compute_pe = modify->get_compute_by_id("thermo_pe"); } interactionRadius = force->pair->cutforce; if (comm->me == 0) utils::logmesg(lmp, " SGC - Interaction radius: {}\n", interactionRadius); From e7075163f1b6f171cb9f9e75e24d49cf9ffd497a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 18 Mar 2024 21:51:31 -0400 Subject: [PATCH 337/559] update coding style --- src/MC/fix_sgcmc.cpp | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/MC/fix_sgcmc.cpp b/src/MC/fix_sgcmc.cpp index e6e01610fe..77ead0479f 100644 --- a/src/MC/fix_sgcmc.cpp +++ b/src/MC/fix_sgcmc.cpp @@ -371,8 +371,7 @@ void FixSemiGrandCanonicalMC::doMC() // Use a random number to choose the new species if there are three or more atom types. newSpecies = (int)(localRandom->uniform() * (atom->ntypes-1)) + 1; if (newSpecies >= oldSpecies) newSpecies++; - } - else { + } else { // If there are only two atom types, then the decision is clear. newSpecies = (oldSpecies == 1) ? 2 : 1; } @@ -392,8 +391,7 @@ void FixSemiGrandCanonicalMC::doMC() if (serialMode && kappa != 0.0) { for (int i = 2; i <= atom->ntypes; i++) dm += (deltamu[i] + kappa / atom->natoms * (2.0 * speciesCounts[i] + deltaN[i])) * deltaN[i]; - } - else { + } else { for (int i = 2; i <= atom->ntypes; i++) dm += deltamu[i] * deltaN[i]; } @@ -434,8 +432,7 @@ void FixSemiGrandCanonicalMC::doMC() // Update global species counters. for (int i = 1; i <= atom->ntypes; i++) speciesCounts[i] += deltaNGlobal[i]; - } - else if (serialMode) { + } else if (serialMode) { // Update the local species counters. for (int i = 1; i <= atom->ntypes; i++) speciesCounts[i] += deltaN[i]; @@ -448,8 +445,7 @@ void FixSemiGrandCanonicalMC::doMC() else flipAtomGeneric(selectedAtom, oldSpecies, newSpecies); nAcceptedSwapsLocal++; - } - else { + } else { nRejectedSwapsLocal++; } From ee580038009498d9d2abd9d8230025ce1344263a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 18 Mar 2024 23:36:41 -0400 Subject: [PATCH 338/559] update electron radius velocities and radii in EFF NH fixes analog to fix nve/eff --- src/EFF/fix_nh_eff.cpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/EFF/fix_nh_eff.cpp b/src/EFF/fix_nh_eff.cpp index a569932000..6e8e2c68fa 100644 --- a/src/EFF/fix_nh_eff.cpp +++ b/src/EFF/fix_nh_eff.cpp @@ -16,7 +16,6 @@ Contributing author: Andres Jaramillo-Botero (Caltech) ------------------------------------------------------------------------- */ - #include "fix_nh_eff.h" #include "atom.h" @@ -62,7 +61,7 @@ void FixNHEff::nve_v() if (mask[i] & groupbit) { if (abs(spin[i])==1) { dtfm = dtf / mass[type[i]]; - ervel[i] = dtfm * erforce[i] / mefactor; + ervel[i] += dtfm * erforce[i] / mefactor; } } } @@ -79,15 +78,26 @@ void FixNHEff::nve_x() FixNH::nve_x(); double *eradius = atom->eradius; + double *erforce = atom->erforce; double *ervel = atom->ervel; + double *mass = atom->mass; + int *type = atom->type; int *spin = atom->spin; int *mask = atom->mask; int nlocal = atom->nlocal; if (igroup == atom->firstgroup) nlocal = atom->nfirst; + double mefactor = domain->dimension/4.0; + double dtfm; + for (int i = 0; i < nlocal; i++) - if (mask[i] & groupbit) - if (abs(spin[i])==1) eradius[i] += dtv * ervel[i]; + if (mask[i] & groupbit) { + dtfm = dtf / mass[type[i]]; + if (abs(spin[i])==1) { + ervel[i] += dtfm * erforce[i] / mefactor; + eradius[i] += dtv * ervel[i]; + } + } } /* ---------------------------------------------------------------------- From f8da51828a11eefe52f1ca8a2f09890d160aa897 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 19 Mar 2024 12:03:56 -0400 Subject: [PATCH 339/559] fix memory leaks in lammps_gather*concat() functions of the library interface --- src/library.cpp | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/library.cpp b/src/library.cpp index fcf0f6a631..1f76c783da 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -2857,10 +2857,6 @@ void lammps_gather_atoms_concat(void *handle, const char *name, int type, if ((count == 1) || imgunpack) vector = (int *) vptr; else array = (int **) vptr; - int *copy; - lmp->memory->create(copy,count*natoms,"lib/gather:copy"); - for (i = 0; i < count*natoms; i++) copy[i] = 0; - int nlocal = lmp->atom->nlocal; if (count == 1) { @@ -2872,7 +2868,10 @@ void lammps_gather_atoms_concat(void *handle, const char *name, int type, MPI_INT,lmp->world); } else if (imgunpack) { - lmp->memory->create(copy,count*nlocal,"lib/gather:copy"); + int *copy; + lmp->memory->create(copy,count*natoms,"lib/gather:copy"); + for (i = 0; i < count*natoms; i++) copy[i] = 0; + offset = 0; for (i = 0; i < nlocal; i++) { const int image = vector[i]; @@ -4328,10 +4327,6 @@ void lammps_gather_concat(void *handle, const char *name, int type, int count, if ((count == 1) || imgunpack) vector = (int *) vptr; else array = (int **) vptr; - int *copy; - lmp->memory->create(copy,count*natoms,"lib/gather:copy"); - for (i = 0; i < count*natoms; i++) copy[i] = 0; - int nlocal = lmp->atom->nlocal; if (count == 1) { @@ -4343,7 +4338,10 @@ void lammps_gather_concat(void *handle, const char *name, int type, int count, MPI_INT,lmp->world); } else if (imgunpack) { - lmp->memory->create(copy,count*nlocal,"lib/gather:copy"); + int *copy; + lmp->memory->create(copy,count*natoms,"lib/gather:copy"); + for (i = 0; i < count*natoms; i++) copy[i] = 0; + offset = 0; for (i = 0; i < nlocal; i++) { const int image = vector[i]; From d0e2a846b2ca6f172d0286c4b6cf6bf84cbbfc25 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 19 Mar 2024 12:04:06 -0400 Subject: [PATCH 340/559] cosmetic --- src/library.cpp | 44 ++++++++++---------------------------------- 1 file changed, 10 insertions(+), 34 deletions(-) diff --git a/src/library.cpp b/src/library.cpp index 1f76c783da..a2eb1473a9 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -2864,8 +2864,7 @@ void lammps_gather_atoms_concat(void *handle, const char *name, int type, displs[0] = 0; for (i = 1; i < nprocs; i++) displs[i] = displs[i-1] + recvcounts[i-1]; - MPI_Allgatherv(vector,nlocal,MPI_INT,data,recvcounts,displs, - MPI_INT,lmp->world); + MPI_Allgatherv(vector,nlocal,MPI_INT,data,recvcounts,displs,MPI_INT,lmp->world); } else if (imgunpack) { int *copy; @@ -2884,8 +2883,7 @@ void lammps_gather_atoms_concat(void *handle, const char *name, int type, displs[0] = 0; for (i = 1; i < nprocs; i++) displs[i] = displs[i-1] + recvcounts[i-1]; - MPI_Allgatherv(copy,count*nlocal,MPI_INT, - data,recvcounts,displs,MPI_INT,lmp->world); + MPI_Allgatherv(copy,count*nlocal,MPI_INT,data,recvcounts,displs,MPI_INT,lmp->world); lmp->memory->destroy(copy); } else { @@ -2894,8 +2892,7 @@ void lammps_gather_atoms_concat(void *handle, const char *name, int type, displs[0] = 0; for (i = 1; i < nprocs; i++) displs[i] = displs[i-1] + recvcounts[i-1]; - MPI_Allgatherv(&array[0][0],count*nlocal,MPI_INT, - data,recvcounts,displs,MPI_INT,lmp->world); + MPI_Allgatherv(&array[0][0],count*nlocal,MPI_INT,data,recvcounts,displs,MPI_INT,lmp->world); } } else { @@ -2911,8 +2908,7 @@ void lammps_gather_atoms_concat(void *handle, const char *name, int type, displs[0] = 0; for (i = 1; i < nprocs; i++) displs[i] = displs[i-1] + recvcounts[i-1]; - MPI_Allgatherv(vector,nlocal,MPI_DOUBLE,data,recvcounts,displs, - MPI_DOUBLE,lmp->world); + MPI_Allgatherv(vector,nlocal,MPI_DOUBLE,data,recvcounts,displs,MPI_DOUBLE,lmp->world); } else { int n = count*nlocal; @@ -3170,10 +3166,6 @@ void lammps_scatter_atoms(void *handle, const char *name, int type, int count, return; } - // copy = Natom length vector of per-atom values - // use atom ID to insert each atom's values into copy - // MPI_Allreduce with MPI_SUM to merge into data, ordered by atom ID - if (type == 0) { int *vector = nullptr; int **array = nullptr; @@ -3321,10 +3313,6 @@ void lammps_scatter_atoms_subset(void *handle, const char *name, int type, return; } - // copy = Natom length vector of per-atom values - // use atom ID to insert each atom's values into copy - // MPI_Allreduce with MPI_SUM to merge into data, ordered by atom ID - if (type == 0) { int *vector = nullptr; int **array = nullptr; @@ -4354,8 +4342,7 @@ void lammps_gather_concat(void *handle, const char *name, int type, int count, displs[0] = 0; for (i = 1; i < nprocs; i++) displs[i] = displs[i-1] + recvcounts[i-1]; - MPI_Allgatherv(copy,count*nlocal,MPI_INT, - data,recvcounts,displs,MPI_INT,lmp->world); + MPI_Allgatherv(copy,count*nlocal,MPI_INT,data,recvcounts,displs,MPI_INT,lmp->world); lmp->memory->destroy(copy); } else { @@ -4364,8 +4351,7 @@ void lammps_gather_concat(void *handle, const char *name, int type, int count, displs[0] = 0; for (i = 1; i < nprocs; i++) displs[i] = displs[i-1] + recvcounts[i-1]; - MPI_Allgatherv(&array[0][0],count*nlocal,MPI_INT, - data,recvcounts,displs,MPI_INT,lmp->world); + MPI_Allgatherv(&array[0][0],count*nlocal,MPI_INT,data,recvcounts,displs,MPI_INT,lmp->world); } } else { @@ -4874,10 +4860,6 @@ void lammps_scatter(void *handle, const char *name, int type, int count, return; } - // copy = Natom length vector of per-atom values - // use atom ID to insert each atom's values into copy - // MPI_Allreduce with MPI_SUM to merge into data, ordered by atom ID - if (type == 0) { int *vector = nullptr; int **array = nullptr; @@ -5128,10 +5110,6 @@ void lammps_scatter_subset(void *handle, const char *name,int type, int count, return; } - // copy = Natom length vector of per-atom values - // use atom ID to insert each atom's values into copy - // MPI_Allreduce with MPI_SUM to merge into data, ordered by atom ID - if (type == 0) { int *vector = nullptr; int **array = nullptr; @@ -5488,7 +5466,8 @@ int lammps_neighlist_num_elements(void *handle, int idx) { * \param[out] numneigh number of neighbors of atom iatom or 0 * \param[out] neighbors pointer to array of neighbor atom local indices or NULL */ -void lammps_neighlist_element_neighbors(void *handle, int idx, int element, int *iatom, int *numneigh, int **neighbors) { +void lammps_neighlist_element_neighbors(void *handle, int idx, int element, int *iatom, + int *numneigh, int **neighbors) { auto lmp = (LAMMPS *) handle; Neighbor * neighbor = lmp->neighbor; *iatom = -1; @@ -5775,9 +5754,7 @@ otherwise 0. * \param setting string with the name of the specific setting * \return 1 if available, 0 if not. */ -int lammps_config_accelerator(const char *package, - const char *category, - const char *setting) +int lammps_config_accelerator(const char *package, const char *category, const char *setting) { return Info::has_accelerator_feature(package,category,setting) ? 1 : 0; } @@ -5899,8 +5876,7 @@ int lammps_style_count(void *handle, const char *category) { * \param buf_size size of the provided string buffer * \return 1 if successful, otherwise 0 */ -int lammps_style_name(void *handle, const char *category, int idx, - char *buffer, int buf_size) { +int lammps_style_name(void *handle, const char *category, int idx, char *buffer, int buf_size) { auto lmp = (LAMMPS *) handle; Info info(lmp); auto styles = info.get_available_styles(category); From 2dd956043963e1632a4cc6ad5f704f40887dbcd1 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 19 Mar 2024 22:39:05 -0400 Subject: [PATCH 341/559] add notes to python versions of lammps_extract_fix() that for global data one can only retrieve scalars --- python/lammps/core.py | 26 +++++++++++++++++--------- python/lammps/numpy_wrapper.py | 7 +++++++ src/library.cpp | 3 ++- 3 files changed, 26 insertions(+), 10 deletions(-) diff --git a/python/lammps/core.py b/python/lammps/core.py index 28b384d6ba..3498041454 100644 --- a/python/lammps/core.py +++ b/python/lammps/core.py @@ -1078,15 +1078,23 @@ class lammps(object): def extract_fix(self,fid,fstyle,ftype,nrow=0,ncol=0): """Retrieve data from a LAMMPS fix - This is a wrapper around the :cpp:func:`lammps_extract_fix` - function of the C-library interface. - This function returns ``None`` if either the fix id is not - recognized, or an invalid combination of :ref:`fstyle ` - and :ref:`ftype ` constants is used. The - names and functionality of the constants are the same as for - the corresponding C-library function. For requests to return - a scalar or a size, the value is returned, also when accessing - global vectors or arrays, otherwise a pointer. + This is a wrapper around the :cpp:func:`lammps_extract_fix` function + of the C-library interface. This function returns ``None`` if + either the fix id is not recognized, or an invalid combination of + :ref:`fstyle ` and :ref:`ftype + ` constants is used. The names and functionality + of the constants are the same as for the corresponding C-library + function. For requests to return a scalar or a size, the value is + returned, also when accessing global vectors or arrays, otherwise a + pointer. + + .. note:: + + When requesting global data, the fix data can only be accessed + one item at a time without access to the whole vector or array. + Thus this function will always return a scalar. To access vector + or array elements the "nrow" and "ncol" arguments need to be set + accordingly (they default to 0). :param fid: fix ID :type fid: string diff --git a/python/lammps/numpy_wrapper.py b/python/lammps/numpy_wrapper.py index a29853d16a..91042c43c8 100644 --- a/python/lammps/numpy_wrapper.py +++ b/python/lammps/numpy_wrapper.py @@ -203,6 +203,13 @@ class numpy_wrapper: It behaves the same as the original method, but returns NumPy arrays instead of ``ctypes`` pointers. + .. note:: + + When requesting global data, the fix data can only be accessed one + item at a time without access to the whole vector or array. Thus this + function will always return a scalar. To access vector or array elements + the "nrow" and "ncol" arguments need to be set accordingly (they default to 0). + :param fid: fix ID :type fid: string :param fstyle: style of the data retrieve (global, atom, or local), see :ref:`py_style_constants` diff --git a/src/library.cpp b/src/library.cpp index a2eb1473a9..f81f52305e 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -2137,7 +2137,8 @@ available. .. code-block:: c - double *dptr = (double *) lammps_extract_fix(handle,name,0,1,0,0); + double *dptr = (double *) lammps_extract_fix(handle, name, + LMP_STYLE_GLOBAL, LMP_TYPE_VECTOR, 0, 0); double value = *dptr; lammps_free((void *)dptr); From d123cd54408c1cb19343cfa3c38b67aedfd47ea9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 20 Mar 2024 04:57:03 -0400 Subject: [PATCH 342/559] fix typo --- doc/src/Fortran.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/Fortran.rst b/doc/src/Fortran.rst index 64fca57a02..e9976b9032 100644 --- a/doc/src/Fortran.rst +++ b/doc/src/Fortran.rst @@ -1255,8 +1255,8 @@ Procedures Bound to the :f:type:`lammps` Derived Type three elements of the global vector calculated by fix recenter into the variables *dx*, *dy*, and *dz*, respectively. - If asked for per-atom or local data, :f:func:`extract_compute` returns a - pointer to actual LAMMPS data. The pointer so returned will have the + If asked for per-atom or local data, :f:func:`extract_fix` returns a + pointer to actual LAMMPS data. The pointer returned will have the appropriate size to match the internal data, and will be type/kind/rank-checked at the time of the assignment. For example, From 2eb1ce98d9e9eb069113f3a83d2ee379f05e1404 Mon Sep 17 00:00:00 2001 From: Yifan Li Date: Wed, 20 Mar 2024 14:06:44 -0400 Subject: [PATCH 343/559] add compute_t_prim for method=PIMD --- src/REPLICA/fix_pimd_langevin.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/REPLICA/fix_pimd_langevin.cpp b/src/REPLICA/fix_pimd_langevin.cpp index c6886fbed7..47a710cabf 100644 --- a/src/REPLICA/fix_pimd_langevin.cpp +++ b/src/REPLICA/fix_pimd_langevin.cpp @@ -696,6 +696,7 @@ void FixPIMDLangevin::post_force(int /*flag*/) inter_replica_comm(x); spring_force(); compute_spring_energy(); + compute_t_prim(); if (mapflag) { for (int i = 0; i < nlocal; i++) { domain->unmap_inv(x[i], image[i]); } } From a8d07744c0f28fabb9ba345c5b9450b04ae4587b Mon Sep 17 00:00:00 2001 From: Yifan Li Date: Thu, 21 Mar 2024 10:55:48 -0400 Subject: [PATCH 344/559] split compute_cvir into 2 functions --- src/REPLICA/fix_pimd_langevin.cpp | 21 +++++++++++++++++---- src/REPLICA/fix_pimd_langevin.h | 1 + 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/REPLICA/fix_pimd_langevin.cpp b/src/REPLICA/fix_pimd_langevin.cpp index 47a710cabf..996308520e 100644 --- a/src/REPLICA/fix_pimd_langevin.cpp +++ b/src/REPLICA/fix_pimd_langevin.cpp @@ -685,6 +685,7 @@ void FixPIMDLangevin::post_force(int /*flag*/) } compute_vir(); + compute_xf_vir(); compute_cvir(); compute_t_vir(); } @@ -1384,19 +1385,31 @@ void FixPIMDLangevin::remove_com_motion() /* ---------------------------------------------------------------------- */ -void FixPIMDLangevin::compute_cvir() +void FixPIMDLangevin::compute_xf_vir() { int nlocal = atom->nlocal; double xf = 0.0; - double xcf = 0.0; - vir_ = centroid_vir = 0.0; + vir_ = 0.0; for (int i = 0; i < nlocal; i++) { for (int j = 0; j < 3; j++) { xf += x_unwrap[i][j] * atom->f[i][j]; - xcf += (x_unwrap[i][j] - xc[i][j]) * atom->f[i][j]; } } MPI_Allreduce(&xf, &vir_, 1, MPI_DOUBLE, MPI_SUM, universe->uworld); +} + +/* ---------------------------------------------------------------------- */ + +void FixPIMDLangevin::compute_cvir() +{ + int nlocal = atom->nlocal; + double xcf = 0.0; + centroid_vir = 0.0; + for (int i = 0; i < nlocal; i++) { + for (int j = 0; j < 3; j++) { + xcf += (x_unwrap[i][j] - xc[i][j]) * atom->f[i][j]; + } + } MPI_Allreduce(&xcf, ¢roid_vir, 1, MPI_DOUBLE, MPI_SUM, universe->uworld); if (pstyle == ANISO) { for (int i = 0; i < 6; i++) c_vir_tensor[i] = 0.0; diff --git a/src/REPLICA/fix_pimd_langevin.h b/src/REPLICA/fix_pimd_langevin.h index 0f21b908b0..869281243f 100644 --- a/src/REPLICA/fix_pimd_langevin.h +++ b/src/REPLICA/fix_pimd_langevin.h @@ -176,6 +176,7 @@ class FixPIMDLangevin : public Fix { void compute_p_prim(); void compute_p_cv(); // centroid-virial pressure estimator void compute_vir(); + void compute_xf_vir(); void compute_cvir(); void compute_totenthalpy(); From 5f6d3ad154493cd37fead5d746bad86665d7e3d2 Mon Sep 17 00:00:00 2001 From: Yifan Li Date: Thu, 21 Mar 2024 10:58:25 -0400 Subject: [PATCH 345/559] allow t_vir and t_cv computation for method=PIMD --- src/REPLICA/fix_pimd_langevin.cpp | 40 +++++++++++++++---------------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/src/REPLICA/fix_pimd_langevin.cpp b/src/REPLICA/fix_pimd_langevin.cpp index 996308520e..13231a9e65 100644 --- a/src/REPLICA/fix_pimd_langevin.cpp +++ b/src/REPLICA/fix_pimd_langevin.cpp @@ -667,28 +667,26 @@ void FixPIMDLangevin::post_force(int /*flag*/) imageint *image = atom->image; tagint *tag = atom->tag; - if (method == NMPIMD) { - if (atom->nmax > maxunwrap) reallocate_x_unwrap(); - if (atom->nmax > maxxc) reallocate_xc(); - for (int i = 0; i < nlocal; i++) { - x_unwrap[i][0] = x[i][0]; - x_unwrap[i][1] = x[i][1]; - x_unwrap[i][2] = x[i][2]; - } - if (mapflag) { - for (int i = 0; i < nlocal; i++) { domain->unmap(x_unwrap[i], image[i]); } - } - for (int i = 0; i < nlocal; i++) { - xc[i][0] = xcall[3 * (tag[i] - 1) + 0]; - xc[i][1] = xcall[3 * (tag[i] - 1) + 1]; - xc[i][2] = xcall[3 * (tag[i] - 1) + 2]; - } - - compute_vir(); - compute_xf_vir(); - compute_cvir(); - compute_t_vir(); + if (atom->nmax > maxunwrap) reallocate_x_unwrap(); + if (atom->nmax > maxxc) reallocate_xc(); + for (int i = 0; i < nlocal; i++) { + x_unwrap[i][0] = x[i][0]; + x_unwrap[i][1] = x[i][1]; + x_unwrap[i][2] = x[i][2]; } + if (mapflag) { + for (int i = 0; i < nlocal; i++) { domain->unmap(x_unwrap[i], image[i]); } + } + for (int i = 0; i < nlocal; i++) { + xc[i][0] = xcall[3 * (tag[i] - 1) + 0]; + xc[i][1] = xcall[3 * (tag[i] - 1) + 1]; + xc[i][2] = xcall[3 * (tag[i] - 1) + 2]; + } + + compute_vir(); + compute_xf_vir(); + compute_cvir(); + compute_t_vir(); if (method == PIMD) { if (mapflag) { From 8e3aa79a9ef1dd31d5bef012b46417171a485384 Mon Sep 17 00:00:00 2001 From: Yifan Li Date: Thu, 21 Mar 2024 11:32:30 -0400 Subject: [PATCH 346/559] correct remove_com_motion for method=PIMD --- src/REPLICA/fix_pimd_langevin.cpp | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/REPLICA/fix_pimd_langevin.cpp b/src/REPLICA/fix_pimd_langevin.cpp index 13231a9e65..511dd6de41 100644 --- a/src/REPLICA/fix_pimd_langevin.cpp +++ b/src/REPLICA/fix_pimd_langevin.cpp @@ -1364,7 +1364,24 @@ void FixPIMDLangevin::inter_replica_comm(double **ptr) void FixPIMDLangevin::remove_com_motion() { - if (universe->iworld == 0) { + if (method == NMPIMD) { + if (universe->iworld == 0) { + double **v = atom->v; + int *mask = atom->mask; + int nlocal = atom->nlocal; + if (dynamic) masstotal = group->mass(igroup); + double vcm[3]; + group->vcm(igroup, masstotal, vcm); + for (int i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + v[i][0] -= vcm[0]; + v[i][1] -= vcm[1]; + v[i][2] -= vcm[2]; + } + } + } + } + else if (method == PIMD) { double **v = atom->v; int *mask = atom->mask; int nlocal = atom->nlocal; @@ -1379,6 +1396,9 @@ void FixPIMDLangevin::remove_com_motion() } } } + else { + error->all(FLERR, "Unknown method for fix pimd/langevin. Only nmpimd and pimd are supported!"); + } } /* ---------------------------------------------------------------------- */ From b7def392fb069ce4a6c58658d2f314e683703426 Mon Sep 17 00:00:00 2001 From: Yifan Li Date: Thu, 21 Mar 2024 11:55:13 -0400 Subject: [PATCH 347/559] correct p_cv computation for method=PIMD --- src/REPLICA/fix_pimd_langevin.cpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/REPLICA/fix_pimd_langevin.cpp b/src/REPLICA/fix_pimd_langevin.cpp index 511dd6de41..ac8fef8b73 100644 --- a/src/REPLICA/fix_pimd_langevin.cpp +++ b/src/REPLICA/fix_pimd_langevin.cpp @@ -1585,11 +1585,21 @@ void FixPIMDLangevin::compute_p_prim() void FixPIMDLangevin::compute_p_cv() { double inv_volume = 1.0 / (domain->xprd * domain->yprd * domain->zprd); - if (universe->iworld == 0) { - p_cv = THIRD * inv_volume * ((2.0 * ke_bead - centroid_vir) * force->nktv2p + vir) / np; - } p_md = THIRD * inv_volume * (totke + vir); - MPI_Bcast(&p_cv, 1, MPI_DOUBLE, 0, universe->uworld); + if (method == NMPIMD) { + if (universe->iworld == 0) { + p_cv = THIRD * inv_volume * ((2.0 * ke_bead - centroid_vir) * force->nktv2p + vir) / np; + } + MPI_Bcast(&p_cv, 1, MPI_DOUBLE, 0, universe->uworld); + } + else if (method == PIMD) { + p_cv = THIRD * inv_volume * ((2.0 * totke / np - centroid_vir) * force->nktv2p + vir) / np; + } + else { + error->universe_all( + FLERR, + "Unknown method parameter for fix pimd/langevin. Only nmpimd and pimd are supported!"); + } } /* ---------------------------------------------------------------------- */ From 73eb12a2042b9ad44d93d9f510950c9e2e0d78a0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 21 Mar 2024 12:17:06 -0400 Subject: [PATCH 348/559] apply clang-format --- src/REPLICA/fix_pimd_langevin.cpp | 38 +++++++++++++------------------ 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/src/REPLICA/fix_pimd_langevin.cpp b/src/REPLICA/fix_pimd_langevin.cpp index ac8fef8b73..c24984f152 100644 --- a/src/REPLICA/fix_pimd_langevin.cpp +++ b/src/REPLICA/fix_pimd_langevin.cpp @@ -47,10 +47,10 @@ using namespace LAMMPS_NS; using namespace FixConst; -using MathConst::MY_PI; using MathConst::MY_2PI; -using MathConst::THIRD; +using MathConst::MY_PI; using MathConst::MY_SQRT2; +using MathConst::THIRD; using MathSpecial::powint; enum { PIMD, NMPIMD }; @@ -475,11 +475,13 @@ void FixPIMDLangevin::init() c_pe = modify->get_compute_by_id(id_pe); if (!c_pe) - error->universe_all(FLERR, fmt::format("Could not find fix {} potential energy compute ID {}", style, id_pe)); + error->universe_all( + FLERR, fmt::format("Could not find fix {} potential energy compute ID {}", style, id_pe)); c_press = modify->get_compute_by_id(id_press); if (!c_press) - error->universe_all(FLERR, fmt::format("Could not find fix {} pressure compute ID {}", style, id_press)); + error->universe_all( + FLERR, fmt::format("Could not find fix {} pressure compute ID {}", style, id_press)); t_prim = t_vir = t_cv = p_prim = p_vir = p_cv = p_md = 0.0; } @@ -741,7 +743,7 @@ void FixPIMDLangevin::collect_xc() } } - const double sqrtnp = sqrt((double)np); + const double sqrtnp = sqrt((double) np); for (int i = 0; i < nlocal; i++) { xcall[3 * (tag[i] - 1) + 0] = x[i][0] / sqrtnp; xcall[3 * (tag[i] - 1) + 1] = x[i][1] / sqrtnp; @@ -1048,8 +1050,8 @@ void FixPIMDLangevin::langevin_init() c2_k[i] = sqrt(1.0 - c1_k[i] * c1_k[i]); } for (int i = 0; i < np; i++) { - out += fmt::format(" {:d} {:.8e} {:.8e} {:.8e} {:.8e}\n", i, - _omega_k[i], tau_k[i], c1_k[i], c2_k[i]); + out += fmt::format(" {:d} {:.8e} {:.8e} {:.8e} {:.8e}\n", i, _omega_k[i], tau_k[i], + c1_k[i], c2_k[i]); } } else if (method == PIMD) { for (int i = 0; i < np; i++) { @@ -1111,7 +1113,7 @@ void FixPIMDLangevin::nmpimd_init() } // Set up eigenvectors for degenerated modes - const double sqrtnp = sqrt((double)np); + const double sqrtnp = sqrt((double) np); for (int j = 0; j < np; j++) { for (int i = 1; i < int(np / 2) + 1; i++) { M_x2xp[i][j] = MY_SQRT2 * cos(MY_2PI * double(i) * double(j) / double(np)) / sqrtnp; @@ -1380,8 +1382,7 @@ void FixPIMDLangevin::remove_com_motion() } } } - } - else if (method == PIMD) { + } else if (method == PIMD) { double **v = atom->v; int *mask = atom->mask; int nlocal = atom->nlocal; @@ -1395,8 +1396,7 @@ void FixPIMDLangevin::remove_com_motion() v[i][2] -= vcm[2]; } } - } - else { + } else { error->all(FLERR, "Unknown method for fix pimd/langevin. Only nmpimd and pimd are supported!"); } } @@ -1409,9 +1409,7 @@ void FixPIMDLangevin::compute_xf_vir() double xf = 0.0; vir_ = 0.0; for (int i = 0; i < nlocal; i++) { - for (int j = 0; j < 3; j++) { - xf += x_unwrap[i][j] * atom->f[i][j]; - } + for (int j = 0; j < 3; j++) { xf += x_unwrap[i][j] * atom->f[i][j]; } } MPI_Allreduce(&xf, &vir_, 1, MPI_DOUBLE, MPI_SUM, universe->uworld); } @@ -1424,9 +1422,7 @@ void FixPIMDLangevin::compute_cvir() double xcf = 0.0; centroid_vir = 0.0; for (int i = 0; i < nlocal; i++) { - for (int j = 0; j < 3; j++) { - xcf += (x_unwrap[i][j] - xc[i][j]) * atom->f[i][j]; - } + for (int j = 0; j < 3; j++) { xcf += (x_unwrap[i][j] - xc[i][j]) * atom->f[i][j]; } } MPI_Allreduce(&xcf, ¢roid_vir, 1, MPI_DOUBLE, MPI_SUM, universe->uworld); if (pstyle == ANISO) { @@ -1591,11 +1587,9 @@ void FixPIMDLangevin::compute_p_cv() p_cv = THIRD * inv_volume * ((2.0 * ke_bead - centroid_vir) * force->nktv2p + vir) / np; } MPI_Bcast(&p_cv, 1, MPI_DOUBLE, 0, universe->uworld); - } - else if (method == PIMD) { + } else if (method == PIMD) { p_cv = THIRD * inv_volume * ((2.0 * totke / np - centroid_vir) * force->nktv2p + vir) / np; - } - else { + } else { error->universe_all( FLERR, "Unknown method parameter for fix pimd/langevin. Only nmpimd and pimd are supported!"); From 0b5722adc0a48d50245815fa77dc0b718055df6d Mon Sep 17 00:00:00 2001 From: Federico Williamson - WGPC5 Date: Thu, 21 Mar 2024 14:33:01 -0300 Subject: [PATCH 349/559] Allow compute spin for groups other than `all` --- src/SPIN/compute_spin.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp index 1c92d284f0..fc5e223e75 100644 --- a/src/SPIN/compute_spin.cpp +++ b/src/SPIN/compute_spin.cpp @@ -215,9 +215,8 @@ void ComputeSpin::compute_vector() tempnum += tx*tx+ty*ty+tz*tz; tempdenom += sp[i][0]*fm[i][0]+fm[i][1]*sp[i][1]+sp[i][2]*fm[i][2]; countsp++; - } + } else error->all(FLERR,"Compute compute/spin requires atom/spin style"); } - else error->all(FLERR,"Compute compute/spin requires atom/spin style"); } MPI_Allreduce(mag,magtot,4,MPI_DOUBLE,MPI_SUM,world); From 176414b8e7525a9f9a5defda657b6a79e4859d91 Mon Sep 17 00:00:00 2001 From: James Michael Goff Date: Fri, 22 Mar 2024 16:33:49 -0600 Subject: [PATCH 350/559] kokkos error and standard make --- src/ML-IAP/Install.sh | 11 +++++++++++ src/ML-IAP/compute_mliap.cpp | 2 ++ src/ML-IAP/pair_mliap.cpp | 2 ++ 3 files changed, 15 insertions(+) diff --git a/src/ML-IAP/Install.sh b/src/ML-IAP/Install.sh index 18812c6026..2f2fa50921 100755 --- a/src/ML-IAP/Install.sh +++ b/src/ML-IAP/Install.sh @@ -40,6 +40,17 @@ for file in *.cpp *.h; do test -f ${file} && action $file done +# Edit makefile for ace descriptors if ML-PACE is available +if (test $1 = 1) then + if (test -e ../Makefile.package) then + if (test -e ../compute_pace.h) then + sed -i -e 's|^PKG_INC =[ \t]*|&-DMLIAP_ACE |' ../Makefile.package + fi + else + rm -f ../mliap_descriptor_ace.cpp ../mliap_descriptor_ace.h + fi +fi + # Install cython pyx file only if also Python is available action mliap_model_python_couple.pyx python_impl.cpp action mliap_unified_couple.pyx python_impl.cpp diff --git a/src/ML-IAP/compute_mliap.cpp b/src/ML-IAP/compute_mliap.cpp index ac9d2dd1c4..0f87e2b13f 100644 --- a/src/ML-IAP/compute_mliap.cpp +++ b/src/ML-IAP/compute_mliap.cpp @@ -91,6 +91,7 @@ ComputeMLIAP::ComputeMLIAP(LAMMPS *lmp, int narg, char **arg) : if (iarg+2 > narg) error->all(FLERR,"Illegal compute mliap command"); if (strcmp(arg[iarg+1],"sna") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal compute mliap command"); + if (lmp->kokkos) error->all(FLERR,"Cannot (yet) use KOKKOS package with SNAP descriptors"); descriptor = new MLIAPDescriptorSNAP(lmp,arg[iarg+2]); iarg += 3; } else if (strcmp(arg[iarg+1],"so3") == 0) { @@ -101,6 +102,7 @@ ComputeMLIAP::ComputeMLIAP(LAMMPS *lmp, int narg, char **arg) : #ifdef MLIAP_ACE else if (strcmp(arg[iarg+1],"ace") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal pair_style mliap command"); + if (lmp->kokkos) error->all(FLERR,"Cannot (yet) use KOKKOS package with ACE descriptors"); descriptor = new MLIAPDescriptorACE(lmp,arg[iarg+2]); iarg += 3; } diff --git a/src/ML-IAP/pair_mliap.cpp b/src/ML-IAP/pair_mliap.cpp index c242f4cdcc..0686cd2f71 100644 --- a/src/ML-IAP/pair_mliap.cpp +++ b/src/ML-IAP/pair_mliap.cpp @@ -178,6 +178,7 @@ void PairMLIAP::settings(int narg, char ** arg) if (descriptor != nullptr) error->all(FLERR,"Illegal multiple pair_style mliap descriptor definition"); if (strcmp(arg[iarg+1],"sna") == 0) { if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "pair_style mliap descriptor sna", error); + if (lmp->kokkos) error->all(FLERR,"Cannot (yet) use KOKKOS package with SNAP descriptors"); descriptor = new MLIAPDescriptorSNAP(lmp,arg[iarg+2]); iarg += 3; } else if (strcmp(arg[iarg+1],"so3") == 0) { @@ -188,6 +189,7 @@ void PairMLIAP::settings(int narg, char ** arg) #ifdef MLIAP_ACE else if (strcmp(arg[iarg+1],"ace") == 0) { if (iarg+3 > narg) error->all(FLERR,"Illegal pair_style mliap command"); + if (lmp->kokkos) error->all(FLERR,"Cannot (yet) use KOKKOS package with ACE descriptors"); descriptor = new MLIAPDescriptorACE(lmp,arg[iarg+2]); iarg += 3; } From 414d9608f8c2348ab116e2e317f127cf7e860df3 Mon Sep 17 00:00:00 2001 From: James Michael Goff Date: Fri, 22 Mar 2024 16:51:27 -0600 Subject: [PATCH 351/559] fixed whitespace in docs --- doc/src/compute_mliap.rst | 2 +- doc/src/pair_mliap.rst | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/compute_mliap.rst b/doc/src/compute_mliap.rst index 0ff408d1fc..4bd5194bfd 100644 --- a/doc/src/compute_mliap.rst +++ b/doc/src/compute_mliap.rst @@ -46,7 +46,7 @@ form (*model*) and the geometric quantities that characterize the atomic positions (*descriptor*). By defining *model* and *descriptor* separately, it is possible to use many different models with a given descriptor, or many different descriptors with a given model. Currently, the compute -supports *linear* and *quadratic* SNAP descriptor computes used in +supports *linear* and *quadratic* SNAP descriptor computes used in :doc:`pair_style snap `, *linear* SO3 descriptor computes, and *linear* ACE descriptor computes used in :doc:`pair_style pace `, and it is straightforward to add new descriptor styles. diff --git a/doc/src/pair_mliap.rst b/doc/src/pair_mliap.rst index 36f1b48d18..30ae93a123 100644 --- a/doc/src/pair_mliap.rst +++ b/doc/src/pair_mliap.rst @@ -175,7 +175,7 @@ Currently three descriptor styles are available: *sna*, *so3*, and *ace*. :doc:`pair_style pace `. Note that unlike the potential file, the Clebsch-Gordan coefficients in the descriptor file supplied should *NOT* be multiplied by linear or square root embedding terms. - + The SNAP descriptor file closely follows the format of the :doc:`pair_style snap ` parameter file. The file can contain @@ -214,7 +214,7 @@ The *ace* descriptor files can also be extracted from ACE model fits in `python-ace. `_ It is important to note that order of the types listed in :doc:`pair_coeff ` must match the order of the elements/types listed in the ACE descriptor file -for all *mliap* styles when using *ace* descriptors. +for all *mliap* styles when using *ace* descriptors. See the :doc:`pair_coeff ` page for alternate ways to specify the path for these *model* and *descriptor* files. From f2cd41bb1c5d7408d94adadf1bc0f23c0edfcaea Mon Sep 17 00:00:00 2001 From: James Michael Goff Date: Fri, 22 Mar 2024 16:57:39 -0600 Subject: [PATCH 352/559] cleanup --- src/ML-IAP/mliap_descriptor_ace.cpp | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/ML-IAP/mliap_descriptor_ace.cpp b/src/ML-IAP/mliap_descriptor_ace.cpp index f87025026c..c082ca51e1 100644 --- a/src/ML-IAP/mliap_descriptor_ace.cpp +++ b/src/ML-IAP/mliap_descriptor_ace.cpp @@ -35,7 +35,6 @@ #include #include #include -//#include namespace LAMMPS_NS { struct ACE_ML_impl { @@ -53,9 +52,6 @@ struct ACE_ML_impl { using namespace LAMMPS_NS; -#define MAXLINE 1024 -#define MAXWORD 3 - /* ---------------------------------------------------------------------- */ MLIAPDescriptorACE::MLIAPDescriptorACE(LAMMPS *_lmp, char *yacefilename) : Pointers(_lmp), MLIAPDescriptor(_lmp) @@ -64,8 +60,6 @@ MLIAPDescriptorACE::MLIAPDescriptorACE(LAMMPS *_lmp, char *yacefilename) : Point acemlimpl = new ACE_ML_impl; allocated_elements = 0; //read in file with CG coefficients or c_tilde coefficients - //auto ctilde_file = utils::get_potential_file_path(yacefilename); - //acemlimpl -> basis_set = new ACECTildeBasisSet(std::string(1,ctilde_file)); ctilde_file = yacefilename; delete acemlimpl -> basis_set; acemlimpl -> basis_set = new ACECTildeBasisSet(ctilde_file); @@ -91,8 +85,6 @@ MLIAPDescriptorACE::MLIAPDescriptorACE(LAMMPS *_lmp, char *yacefilename) : Point elements = new char * [nelements]; for (int iielem = 0; iielem < nelements; iielem ++){ elements[iielem] = utils::strdup(acemlimpl->basis_set->elements_name[iielem]); - //char* elemi = const_cast(acemlimpl->basis_set->elements_name[iielem].data()); - //elements[iielem] = elemi; } allocated_elements = 1; } @@ -264,7 +256,6 @@ void MLIAPDescriptorACE::compute_forces(class MLIAPData *data) f[j][1] -= fy_dB; f[j][2] -= fz_dB; } - //xi = atom- const double delx = x[j][0] - xtmp; const double dely = x[j][1] - ytmp; const double delz = x[j][2] - ztmp; From 7d94880ecd58c5cab313e91a542936ac563083cb Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 22 Mar 2024 22:57:44 -0400 Subject: [PATCH 353/559] silence compiler warnings and apply clang-format --- src/ML-IAP/mliap_data.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/ML-IAP/mliap_data.cpp b/src/ML-IAP/mliap_data.cpp index 98bcbc5bd3..5d847ee25e 100644 --- a/src/ML-IAP/mliap_data.cpp +++ b/src/ML-IAP/mliap_data.cpp @@ -31,9 +31,9 @@ MLIAPData::MLIAPData(LAMMPS *lmp, int gradgradflag_in, int *map_in, class MLIAPM Pointers(lmp), f(nullptr), gradforce(nullptr), betas(nullptr), descriptors(nullptr), eatoms(nullptr), gamma(nullptr), gamma_row_index(nullptr), gamma_col_index(nullptr), egradient(nullptr), - numneighs(nullptr), iatoms(nullptr), ielems(nullptr), pair_i(nullptr), jatoms(nullptr), - jelems(nullptr), elems(nullptr), rij(nullptr), graddesc(nullptr), model(nullptr), - descriptor(nullptr), list(nullptr), itypes(nullptr), lmp_firstneigh(nullptr) + numneighs(nullptr), iatoms(nullptr), ielems(nullptr), itypes(nullptr), pair_i(nullptr), + jatoms(nullptr), jelems(nullptr), elems(nullptr), lmp_firstneigh(nullptr), rij(nullptr), + graddesc(nullptr), model(nullptr), descriptor(nullptr), list(nullptr) { gradgradflag = gradgradflag_in; map = map_in; @@ -301,11 +301,11 @@ double MLIAPData::memory_usage() bytes += (double) natomneigh_max * sizeof(int); // itypes bytes += (double) natomneigh_max * sizeof(int); // numneighs - bytes += (double) nneigh_max * sizeof(int); // pair_i - bytes += (double) nneigh_max * sizeof(int); // jatoms - bytes += (double) nneigh_max * sizeof(int); // jelems - bytes += (double) nneigh_max * natomneigh_max * sizeof(int);// lmp_firstneigh - bytes += (double) nneigh_max * 3 * sizeof(double); // rij" + bytes += (double) nneigh_max * sizeof(int); // pair_i + bytes += (double) nneigh_max * sizeof(int); // jatoms + bytes += (double) nneigh_max * sizeof(int); // jelems + bytes += (double) nneigh_max * natomneigh_max * sizeof(int); // lmp_firstneigh + bytes += (double) nneigh_max * 3 * sizeof(double); // rij" if (gradgradflag == 0) bytes += (double) nneigh_max * ndescriptors * 3 * sizeof(double); // graddesc From e4035dd9d5c88483439bd8971d37a1c8d61bf0ba Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 22 Mar 2024 23:19:38 -0400 Subject: [PATCH 354/559] correct CMake script logic --- cmake/Modules/Packages/ML-IAP.cmake | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/cmake/Modules/Packages/ML-IAP.cmake b/cmake/Modules/Packages/ML-IAP.cmake index a9c447d8c1..91b772efb5 100644 --- a/cmake/Modules/Packages/ML-IAP.cmake +++ b/cmake/Modules/Packages/ML-IAP.cmake @@ -10,13 +10,12 @@ endif() option(MLIAP_ENABLE_PYTHON "Build ML-IAP package with Python support" ${MLIAP_ENABLE_PYTHON_DEFAULT}) -# if ML-PACE package is included we may also include ML-PACE support in ML-IAP +# if ML-PACE package *and* MLIAP with Python is enabled is included we may also include ML-PACE support in ML-IAP set(MLIAP_ENABLE_ACE_DEFAULT OFF) if(PKG_ML-PACE) - set(MLIAP_ENABLE_PYTHON_DEFAULT ON) + set(MLIAP_ENABLE_ACE_DEFAULT ON) endif() -option(MLIAP_ENABLE_PYTHON "Build ML-IAP package with Python support" ${MLIAP_ENABLE_PYTHON_DEFAULT}) option(MLIAP_ENABLE_ACE "Build ML-IAP package with ACE support" ${MLIAP_ENABLE_ACE_DEFAULT}) if(MLIAP_ENABLE_PYTHON) @@ -28,12 +27,6 @@ if(MLIAP_ENABLE_PYTHON) if(Python_VERSION VERSION_LESS 3.6) message(FATAL_ERROR "Python support in ML-IAP requires Python 3.6 or later") endif() - if(MLIAP_ENABLE_ACE) - if(NOT PKG_ML-PACE) - message(FATAL_ERROR "Must enable PYTHON package and ML-PACE package for including ACE support in ML-IAP") - endif() - target_compile_definitions(lammps PRIVATE -DMLIAP_ACE) - endif() set(MLIAP_BINARY_DIR ${CMAKE_BINARY_DIR}/cython) file(GLOB MLIAP_CYTHON_SRC CONFIGURE_DEPENDS ${LAMMPS_SOURCE_DIR}/ML-IAP/*.pyx) @@ -51,3 +44,10 @@ if(MLIAP_ENABLE_PYTHON) target_compile_definitions(lammps PRIVATE -DMLIAP_PYTHON) target_include_directories(lammps PRIVATE ${MLIAP_BINARY_DIR}) endif() + +if(MLIAP_ENABLE_ACE) + if(NOT PKG_ML-PACE) + message(FATAL_ERROR "Must enable ML-PACE package for including ACE support in ML-IAP") + endif() + target_compile_definitions(lammps PRIVATE -DMLIAP_ACE) +endif() From 7bd7396b6a8b4a0543a67aea576dcfc46262807a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 22 Mar 2024 23:29:42 -0400 Subject: [PATCH 355/559] correct and complete conventional build package logic --- src/ML-IAP/Install.sh | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/ML-IAP/Install.sh b/src/ML-IAP/Install.sh index 2f2fa50921..38e3b574c2 100755 --- a/src/ML-IAP/Install.sh +++ b/src/ML-IAP/Install.sh @@ -41,13 +41,16 @@ for file in *.cpp *.h; do done # Edit makefile for ace descriptors if ML-PACE is available -if (test $1 = 1) then +if (test $1 = 1 || test $1 = 2) then if (test -e ../Makefile.package) then + sed -i -e 's/[^ \t]*-DMLIAP_ACE[^ \t]* //g' ../Makefile.package if (test -e ../compute_pace.h) then sed -i -e 's|^PKG_INC =[ \t]*|&-DMLIAP_ACE |' ../Makefile.package - fi else rm -f ../mliap_descriptor_ace.cpp ../mliap_descriptor_ace.h + fi + else + rm -f ../mliap_descriptor_ace.cpp ../mliap_descriptor_ace.h fi fi @@ -80,6 +83,10 @@ elif (test $1 = 0) then rm -f ../mliap_model_python_couple.cpp ../mliap_model_python_couple.h \ ../mliap_unified_couple.cpp ../mliap_unified_couple.h sed -i -e '/^[ \t]*include.*python.*mliap_python.*$/d' ../Makefile.package.settings + if (test -e ../Makefile.package) then + sed -i -e 's/[^ \t]*-DMLIAP_ACE[^ \t]* //g' ../Makefile.package + fi + rm -f ../mliap_descriptor_ace.cpp ../mliap_descriptor_ace.h elif (test $1 = 2) then if (type cythonize > /dev/null 2>&1 && test -e ../python_impl.cpp) then From 000c8f510d0f2ac718a6b6acd3a7ad7f9e170d62 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 22 Mar 2024 23:38:02 -0400 Subject: [PATCH 356/559] apply clang-format --- src/ML-IAP/mliap_data.h | 4 +- src/ML-IAP/mliap_descriptor_ace.cpp | 251 +++++++++++++--------------- src/ML-IAP/mliap_descriptor_ace.h | 6 +- 3 files changed, 119 insertions(+), 142 deletions(-) diff --git a/src/ML-IAP/mliap_data.h b/src/ML-IAP/mliap_data.h index bfc3928e6f..3c27040bb8 100644 --- a/src/ML-IAP/mliap_data.h +++ b/src/ML-IAP/mliap_data.h @@ -58,8 +58,8 @@ class MLIAPData : protected Pointers { // data structures for mliap neighbor list // only neighbors strictly inside descriptor cutoff - int ntotal; // total number of owned and ghost atoms on this proc - int nlistatoms; // current number of atoms in local atom lists + int ntotal; // total number of owned and ghost atoms on this proc + int nlistatoms; // current number of atoms in local atom lists int nlocal; int nlistatoms_max; // allocated size of descriptor array int natomneigh; // current number of atoms and ghosts in atom neighbor arrays diff --git a/src/ML-IAP/mliap_descriptor_ace.cpp b/src/ML-IAP/mliap_descriptor_ace.cpp index c082ca51e1..aa30ac3f81 100644 --- a/src/ML-IAP/mliap_descriptor_ace.cpp +++ b/src/ML-IAP/mliap_descriptor_ace.cpp @@ -18,9 +18,9 @@ #include "mliap_descriptor_ace.h" -#include "ace-evaluator/ace_evaluator.h" -#include "ace-evaluator/ace_c_basis.h" #include "ace-evaluator/ace_abstract_basis.h" +#include "ace-evaluator/ace_c_basis.h" +#include "ace-evaluator/ace_evaluator.h" #include "ace-evaluator/ace_types.h" #include "atom.h" @@ -34,7 +34,6 @@ #include #include -#include namespace LAMMPS_NS { struct ACE_ML_impl { @@ -47,33 +46,36 @@ struct ACE_ML_impl { ACECTildeBasisSet *basis_set; ACECTildeEvaluator *ace; }; -} - +} // namespace LAMMPS_NS using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -MLIAPDescriptorACE::MLIAPDescriptorACE(LAMMPS *_lmp, char *yacefilename) : Pointers(_lmp), MLIAPDescriptor(_lmp) +MLIAPDescriptorACE::MLIAPDescriptorACE(LAMMPS *_lmp, char *yacefilename) : + Pointers(_lmp), MLIAPDescriptor(_lmp) { acemlimpl = new ACE_ML_impl; allocated_elements = 0; //read in file with CG coefficients or c_tilde coefficients ctilde_file = yacefilename; - delete acemlimpl -> basis_set; - acemlimpl -> basis_set = new ACECTildeBasisSet(ctilde_file); - nelements = acemlimpl -> basis_set->nelements; + delete acemlimpl->basis_set; + acemlimpl->basis_set = new ACECTildeBasisSet(ctilde_file); + nelements = acemlimpl->basis_set->nelements; int tot_num = 0; - for (int mu = 0; mu < nelements; mu++) { - if ( max_num < acemlimpl -> basis_set->total_basis_size_rank1[mu] + acemlimpl ->basis_set->total_basis_size[mu]) { - max_num = acemlimpl -> basis_set->total_basis_size_rank1[mu] + acemlimpl ->basis_set->total_basis_size[mu]; + for (int mu = 0; mu < nelements; mu++) { + if (max_num < acemlimpl->basis_set->total_basis_size_rank1[mu] + + acemlimpl->basis_set->total_basis_size[mu]) { + max_num = acemlimpl->basis_set->total_basis_size_rank1[mu] + + acemlimpl->basis_set->total_basis_size[mu]; } - tot_num += acemlimpl -> basis_set->total_basis_size_rank1[mu] + acemlimpl ->basis_set->total_basis_size[mu]; + tot_num += acemlimpl->basis_set->total_basis_size_rank1[mu] + + acemlimpl->basis_set->total_basis_size[mu]; } ndescriptors = max_num; - nelements = acemlimpl -> basis_set ->nelements; + nelements = acemlimpl->basis_set->nelements; memory->destroy(cutsq); @@ -82,44 +84,40 @@ MLIAPDescriptorACE::MLIAPDescriptorACE(LAMMPS *_lmp, char *yacefilename) : Point delete[] elements; allocated_elements = 0; } else if (not allocated_elements) { - elements = new char * [nelements]; - for (int iielem = 0; iielem < nelements; iielem ++){ + elements = new char *[nelements]; + for (int iielem = 0; iielem < nelements; iielem++) { elements[iielem] = utils::strdup(acemlimpl->basis_set->elements_name[iielem]); } allocated_elements = 1; } - memory->create(cutsq,nelements+1,nelements+1,"mliap/descriptor/ace:cutsq"); + memory->create(cutsq, nelements + 1, nelements + 1, "mliap/descriptor/ace:cutsq"); float icmax = 0.0; float icuti, icutj; - for (int mui = 0; mui < acemlimpl -> basis_set ->nelements; mui++) { - icuti = acemlimpl -> basis_set->radial_functions->cut(mui, mui); + for (int mui = 0; mui < acemlimpl->basis_set->nelements; mui++) { + icuti = acemlimpl->basis_set->radial_functions->cut(mui, mui); if (icuti > icmax) icmax = icuti; - for (int muj = mui+1; muj < acemlimpl -> basis_set ->nelements; muj++) { - icutj = acemlimpl -> basis_set->radial_functions->cut(mui, muj); + for (int muj = mui + 1; muj < acemlimpl->basis_set->nelements; muj++) { + icutj = acemlimpl->basis_set->radial_functions->cut(mui, muj); if (icutj > icmax) icmax = icutj; } } float cutmax = 0.0; - float cuti,cutj; + float cuti, cutj; float cutfac = 1.0; - for (int mui = 0; mui < acemlimpl -> basis_set ->nelements; mui++) { - cuti = acemlimpl -> basis_set->radial_functions->cut(mui, mui); + for (int mui = 0; mui < acemlimpl->basis_set->nelements; mui++) { + cuti = acemlimpl->basis_set->radial_functions->cut(mui, mui); if (cuti > cutmax) cutmax = cuti; - cutsq[mui][mui] = ((2*cuti*cutfac)*(2*cuti*cutfac)); + cutsq[mui][mui] = ((2 * cuti * cutfac) * (2 * cuti * cutfac)); for (int muj = mui + 1; muj < nelements; muj++) { - cutj = acemlimpl -> basis_set->radial_functions->cut(mui, muj); - cutsq[mui][muj] = cutsq[muj][mui] = ((2*cuti *cutfac)*(2*cutj*cutfac)); + cutj = acemlimpl->basis_set->radial_functions->cut(mui, muj); + cutsq[mui][muj] = cutsq[muj][mui] = ((2 * cuti * cutfac) * (2 * cutj * cutfac)); } } - } - -void MLIAPDescriptorACE::allocate() -{ -} +void MLIAPDescriptorACE::allocate() {} /* ---------------------------------------------------------------------- */ @@ -136,14 +134,12 @@ void MLIAPDescriptorACE::compute_descriptors(class MLIAPData *data) { int max_jnum = -1; int nei = 0; - int jtmp =0; + int jtmp = 0; for (int iitmp = 0; iitmp < data->nlistatoms; iitmp++) { int itmp = data->iatoms[iitmp]; jtmp = data->numneighs[iitmp]; nei = nei + jtmp; - if (jtmp > max_jnum){ - max_jnum = jtmp; - } + if (jtmp > max_jnum) { max_jnum = jtmp; } } for (int ii = 0; ii < data->nlistatoms; ii++) { @@ -151,29 +147,26 @@ void MLIAPDescriptorACE::compute_descriptors(class MLIAPData *data) const int ielemx = data->ielems[ii]; const int jnum = data->numneighs[ii]; - delete acemlimpl -> ace; - acemlimpl -> ace = new ACECTildeEvaluator(*acemlimpl -> basis_set); - acemlimpl -> ace->compute_projections = 1; - acemlimpl -> ace->compute_b_grad = 1; + delete acemlimpl->ace; + acemlimpl->ace = new ACECTildeEvaluator(*acemlimpl->basis_set); + acemlimpl->ace->compute_projections = 1; + acemlimpl->ace->compute_b_grad = 1; - acemlimpl -> ace->element_type_mapping.init(nelements+1); + acemlimpl->ace->element_type_mapping.init(nelements + 1); for (int ik = 1; ik <= nelements; ik++) { - for(int mu = 0; mu < nelements; mu++){ + for (int mu = 0; mu < nelements; mu++) { if (mu != -1) { - if (mu == ik - 1) { - acemlimpl -> ace->element_type_mapping(ik) = mu; - } + if (mu == ik - 1) { acemlimpl->ace->element_type_mapping(ik) = mu; } } } } - - acemlimpl -> ace->resize_neighbours_cache(jnum); - acemlimpl -> ace->compute_atom(i, atom->x, atom->type, data->numneighs[ii], data->lmp_firstneigh[ii]); - for (int icoeff = 0; icoeff < data->ndescriptors; icoeff++){ - data->descriptors[ii][icoeff] = acemlimpl -> ace -> projections(icoeff); + acemlimpl->ace->resize_neighbours_cache(jnum); + acemlimpl->ace->compute_atom(i, atom->x, atom->type, data->numneighs[ii], + data->lmp_firstneigh[ii]); + for (int icoeff = 0; icoeff < data->ndescriptors; icoeff++) { + data->descriptors[ii][icoeff] = acemlimpl->ace->projections(icoeff); } - } } @@ -189,39 +182,35 @@ void MLIAPDescriptorACE::compute_forces(class MLIAPData *data) int max_jnum = -1; int nei = 0; - int jtmp =0; + int jtmp = 0; for (int iitmp = 0; iitmp < data->nlistatoms; iitmp++) { int itmp = data->iatoms[iitmp]; jtmp = data->numneighs[iitmp]; nei = nei + jtmp; - if (jtmp > max_jnum){ - max_jnum = jtmp; - } + if (jtmp > max_jnum) { max_jnum = jtmp; } } // BEGIN force loop for (int ii = 0; ii < data->nlistatoms; ii++) { const int i = data->iatoms[ii]; const int ielem = data->ielems[ii]; - delete acemlimpl -> ace; - acemlimpl -> ace = new ACECTildeEvaluator(*acemlimpl -> basis_set); - acemlimpl -> ace->compute_projections = 1; - acemlimpl -> ace->compute_b_grad = 1; - acemlimpl -> ace->element_type_mapping.init(nelements+1); + delete acemlimpl->ace; + acemlimpl->ace = new ACECTildeEvaluator(*acemlimpl->basis_set); + acemlimpl->ace->compute_projections = 1; + acemlimpl->ace->compute_b_grad = 1; + acemlimpl->ace->element_type_mapping.init(nelements + 1); for (int ik = 1; ik <= nelements; ik++) { - for(int mu = 0; mu < acemlimpl -> basis_set ->nelements; mu++){ + for (int mu = 0; mu < acemlimpl->basis_set->nelements; mu++) { if (mu != -1) { - if (mu == ik - 1) { - acemlimpl -> ace->element_type_mapping(ik) = mu; - } + if (mu == ik - 1) { acemlimpl->ace->element_type_mapping(ik) = mu; } } } } - const int jnum = data->numneighs[ii]; - acemlimpl -> ace->resize_neighbours_cache(jnum); - acemlimpl -> ace->compute_atom(i, atom->x, atom->type, data->numneighs[ii], data->lmp_firstneigh[ii]); + acemlimpl->ace->resize_neighbours_cache(jnum); + acemlimpl->ace->compute_atom(i, atom->x, atom->type, data->numneighs[ii], + data->lmp_firstneigh[ii]); int ij0 = ij; int ninside = 0; for (int jj = 0; jj < jnum; jj++) { @@ -230,7 +219,7 @@ void MLIAPDescriptorACE::compute_forces(class MLIAPData *data) } ij = ij0; - const int* const jlist = data->lmp_firstneigh[ii]; + const int *const jlist = data->lmp_firstneigh[ii]; double **x = atom->x; const double xtmp = x[i][0]; const double ytmp = x[i][1]; @@ -238,17 +227,18 @@ void MLIAPDescriptorACE::compute_forces(class MLIAPData *data) for (int jj = 0; jj < jnum; jj++) { const int j = jlist[jj]; - for (int idim = 0; idim < 3; idim++){ - fij[idim] = 0.0; - } + for (int idim = 0; idim < 3; idim++) { fij[idim] = 0.0; } for (int iicoeff = 0; iicoeff < ndescriptors; iicoeff++) { - DOUBLE_TYPE fx_dB = acemlimpl -> ace -> neighbours_dB(iicoeff,jj,0)*data->betas[ii][iicoeff]; - DOUBLE_TYPE fy_dB = acemlimpl -> ace -> neighbours_dB(iicoeff,jj,1)*data->betas[ii][iicoeff]; - DOUBLE_TYPE fz_dB = acemlimpl -> ace -> neighbours_dB(iicoeff,jj,2)*data->betas[ii][iicoeff]; + DOUBLE_TYPE fx_dB = + acemlimpl->ace->neighbours_dB(iicoeff, jj, 0) * data->betas[ii][iicoeff]; + DOUBLE_TYPE fy_dB = + acemlimpl->ace->neighbours_dB(iicoeff, jj, 1) * data->betas[ii][iicoeff]; + DOUBLE_TYPE fz_dB = + acemlimpl->ace->neighbours_dB(iicoeff, jj, 2) * data->betas[ii][iicoeff]; // add force contribution from each descriptor - fij[0]+=fx_dB; - fij[1]+=fy_dB; - fij[2]+=fz_dB; + fij[0] += fx_dB; + fij[1] += fy_dB; + fij[2] += fz_dB; f[i][0] += fx_dB; f[i][1] += fy_dB; f[i][2] += fz_dB; @@ -259,7 +249,7 @@ void MLIAPDescriptorACE::compute_forces(class MLIAPData *data) const double delx = x[j][0] - xtmp; const double dely = x[j][1] - ytmp; const double delz = x[j][2] - ztmp; - double rij_tmp[3] = {delx,dely,delz}; + double rij_tmp[3] = {delx, dely, delz}; if (data->vflag) data->pairmliap->v_tally(i, j, fij, rij_tmp); ij++; } @@ -276,58 +266,52 @@ void MLIAPDescriptorACE::compute_force_gradients(class MLIAPData *data) int max_jnum = -1; int nei = 0; - int jtmp =0; + int jtmp = 0; for (int iitmp = 0; iitmp < data->nlistatoms; iitmp++) { int itmp = data->iatoms[iitmp]; jtmp = data->numneighs[iitmp]; nei = nei + jtmp; - if (jtmp > max_jnum){ - max_jnum = jtmp; - } + if (jtmp > max_jnum) { max_jnum = jtmp; } } for (int ii = 0; ii < data->nlistatoms; ii++) { const int i = data->iatoms[ii]; const int ielem = data->ielems[ii]; - delete acemlimpl -> ace; - acemlimpl -> ace = new ACECTildeEvaluator(*acemlimpl -> basis_set); - acemlimpl -> ace->compute_projections = 1; - acemlimpl -> ace->compute_b_grad = 1; + delete acemlimpl->ace; + acemlimpl->ace = new ACECTildeEvaluator(*acemlimpl->basis_set); + acemlimpl->ace->compute_projections = 1; + acemlimpl->ace->compute_b_grad = 1; - acemlimpl -> ace->element_type_mapping.init(nelements+1); + acemlimpl->ace->element_type_mapping.init(nelements + 1); for (int ik = 1; ik <= nelements; ik++) { - for(int mu = 0; mu < acemlimpl -> basis_set ->nelements; mu++){ + for (int mu = 0; mu < acemlimpl->basis_set->nelements; mu++) { if (mu != -1) { - if (mu == ik - 1) { - acemlimpl -> ace->element_type_mapping(ik) = mu; - } + if (mu == ik - 1) { acemlimpl->ace->element_type_mapping(ik) = mu; } } } } - - const int jnum = data->numneighs[ii]; - const int* const jlist = data->lmp_firstneigh[ii]; - acemlimpl -> ace->resize_neighbours_cache(jnum); - acemlimpl -> ace->compute_atom(i, atom->x, atom->type, data->numneighs[ii], data->lmp_firstneigh[ii]); + const int *const jlist = data->lmp_firstneigh[ii]; + acemlimpl->ace->resize_neighbours_cache(jnum); + acemlimpl->ace->compute_atom(i, atom->x, atom->type, data->numneighs[ii], + data->lmp_firstneigh[ii]); for (int jj = 0; jj < jnum; jj++) { const int j = jlist[jj]; - for (int inz = 0; inz < data->gamma_nnz; inz++) { - const int l = data->gamma_row_index[ii][inz]; - const int k = data->gamma_col_index[ii][inz]; - DOUBLE_TYPE fx_dB = acemlimpl -> ace -> neighbours_dB(k,jj,0); - DOUBLE_TYPE fy_dB = acemlimpl -> ace -> neighbours_dB(k,jj,1); - DOUBLE_TYPE fz_dB = acemlimpl -> ace -> neighbours_dB(k,jj,2); - data->gradforce[i][l] += data->gamma[ii][inz] * fx_dB; - data->gradforce[i][l + data->yoffset] += data->gamma[ii][inz] * fy_dB; - data->gradforce[i][l + data->zoffset] += data->gamma[ii][inz] * fz_dB; - data->gradforce[j][l] -= data->gamma[ii][inz] * fx_dB; - data->gradforce[j][l + data->yoffset] -= data->gamma[ii][inz] * fy_dB; - data->gradforce[j][l + data->zoffset] -= data->gamma[ii][inz] * fz_dB; - - } - ij ++; + for (int inz = 0; inz < data->gamma_nnz; inz++) { + const int l = data->gamma_row_index[ii][inz]; + const int k = data->gamma_col_index[ii][inz]; + DOUBLE_TYPE fx_dB = acemlimpl->ace->neighbours_dB(k, jj, 0); + DOUBLE_TYPE fy_dB = acemlimpl->ace->neighbours_dB(k, jj, 1); + DOUBLE_TYPE fz_dB = acemlimpl->ace->neighbours_dB(k, jj, 2); + data->gradforce[i][l] += data->gamma[ii][inz] * fx_dB; + data->gradforce[i][l + data->yoffset] += data->gamma[ii][inz] * fy_dB; + data->gradforce[i][l + data->zoffset] += data->gamma[ii][inz] * fz_dB; + data->gradforce[j][l] -= data->gamma[ii][inz] * fx_dB; + data->gradforce[j][l + data->yoffset] -= data->gamma[ii][inz] * fy_dB; + data->gradforce[j][l + data->zoffset] -= data->gamma[ii][inz] * fz_dB; + } + ij++; } } } @@ -341,38 +325,35 @@ void MLIAPDescriptorACE::compute_descriptor_gradients(class MLIAPData *data) int ij = 0; int max_jnum = -1; int nei = 0; - int jtmp =0; + int jtmp = 0; for (int iitmp = 0; iitmp < data->nlistatoms; iitmp++) { int itmp = data->iatoms[iitmp]; jtmp = data->numneighs[iitmp]; nei = nei + jtmp; - if (jtmp > max_jnum){ - max_jnum = jtmp; - } + if (jtmp > max_jnum) { max_jnum = jtmp; } } for (int ii = 0; ii < data->nlistatoms; ii++) { const int i = data->iatoms[ii]; const int ielem = data->ielems[ii]; - delete acemlimpl -> ace; - acemlimpl -> ace = new ACECTildeEvaluator(*acemlimpl -> basis_set); - acemlimpl -> ace->compute_projections = 1; - acemlimpl -> ace->compute_b_grad = 1; + delete acemlimpl->ace; + acemlimpl->ace = new ACECTildeEvaluator(*acemlimpl->basis_set); + acemlimpl->ace->compute_projections = 1; + acemlimpl->ace->compute_b_grad = 1; - acemlimpl -> ace->element_type_mapping.init(nelements+1); + acemlimpl->ace->element_type_mapping.init(nelements + 1); for (int ik = 1; ik <= nelements; ik++) { - for(int mu = 0; mu < acemlimpl -> basis_set ->nelements; mu++){ + for (int mu = 0; mu < acemlimpl->basis_set->nelements; mu++) { if (mu != -1) { - if (mu == ik - 1) { - acemlimpl -> ace->element_type_mapping(ik) = mu; - } + if (mu == ik - 1) { acemlimpl->ace->element_type_mapping(ik) = mu; } } } } - const int* const jlist = data->lmp_firstneigh[ii]; + const int *const jlist = data->lmp_firstneigh[ii]; const int jnum = data->numneighs[ii]; - acemlimpl -> ace->resize_neighbours_cache(jnum); - acemlimpl -> ace->compute_atom(i, atom->x, atom->type, data->numneighs[ii], data->lmp_firstneigh[ii]); + acemlimpl->ace->resize_neighbours_cache(jnum); + acemlimpl->ace->compute_atom(i, atom->x, atom->type, data->numneighs[ii], + data->lmp_firstneigh[ii]); int ij0 = ij; int ninside = 0; for (int jj = 0; jj < jnum; jj++) { @@ -386,29 +367,25 @@ void MLIAPDescriptorACE::compute_descriptor_gradients(class MLIAPData *data) const int j = jlist[jj]; int yoffset = ndescriptors; - int zoffset = ndescriptors*2; + int zoffset = ndescriptors * 2; for (int iicoeff = 0; iicoeff < ndescriptors; iicoeff++) { - DOUBLE_TYPE fx_dB = acemlimpl -> ace -> neighbours_dB(iicoeff,jj,0); - DOUBLE_TYPE fy_dB = acemlimpl -> ace -> neighbours_dB(iicoeff,jj,1); - DOUBLE_TYPE fz_dB = acemlimpl -> ace -> neighbours_dB(iicoeff,jj,2); - // Accumulate dB_k^i/dRi, dB_k^i/dRj + DOUBLE_TYPE fx_dB = acemlimpl->ace->neighbours_dB(iicoeff, jj, 0); + DOUBLE_TYPE fy_dB = acemlimpl->ace->neighbours_dB(iicoeff, jj, 1); + DOUBLE_TYPE fz_dB = acemlimpl->ace->neighbours_dB(iicoeff, jj, 2); + // Accumulate dB_k^i/dRi, dB_k^i/dRj data->graddesc[ij][iicoeff][0] = fx_dB; data->graddesc[ij][iicoeff][1] = fy_dB; data->graddesc[ij][iicoeff][2] = fz_dB; - } ij++; } } } -void MLIAPDescriptorACE::init() -{ -} +void MLIAPDescriptorACE::init() {} /* ---------------------------------------------------------------------- */ - /* ---------------------------------------------------------------------- memory usage ------------------------------------------------------------------------- */ diff --git a/src/ML-IAP/mliap_descriptor_ace.h b/src/ML-IAP/mliap_descriptor_ace.h index db6e7ce7b8..116a154acb 100644 --- a/src/ML-IAP/mliap_descriptor_ace.h +++ b/src/ML-IAP/mliap_descriptor_ace.h @@ -30,9 +30,9 @@ class MLIAPDescriptorACE : public MLIAPDescriptor { double memory_usage() override; double rcutfac; - int allocated=0; - int max_num=0; - char* ctilde_file; + int allocated = 0; + int max_num = 0; + char *ctilde_file; protected: virtual void allocate(); From 3be5008aa8189114c3532eec846ee45069e79eda Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 22 Mar 2024 23:54:18 -0400 Subject: [PATCH 357/559] must skip KOKKOS tests for any ML-IAP inputs using snap descriptors --- unittest/force-styles/tests/manybody-pair-mliap_nn.yaml | 2 +- unittest/force-styles/tests/manybody-pair-mliap_snap_chem.yaml | 2 +- .../force-styles/tests/manybody-pair-mliap_snap_linear.yaml | 2 +- .../force-styles/tests/manybody-pair-mliap_snap_quadratic.yaml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/unittest/force-styles/tests/manybody-pair-mliap_nn.yaml b/unittest/force-styles/tests/manybody-pair-mliap_nn.yaml index eee142f767..7cac73f652 100644 --- a/unittest/force-styles/tests/manybody-pair-mliap_nn.yaml +++ b/unittest/force-styles/tests/manybody-pair-mliap_nn.yaml @@ -3,7 +3,7 @@ lammps_version: 17 Feb 2022 tags: slow date_generated: Fri Mar 18 22:17:47 2022 epsilon: 5e-13 -skip_tests: +skip_tests: kokkos prerequisites: ! | pair mliap pair zbl diff --git a/unittest/force-styles/tests/manybody-pair-mliap_snap_chem.yaml b/unittest/force-styles/tests/manybody-pair-mliap_snap_chem.yaml index b1a93046db..330e9d94f8 100644 --- a/unittest/force-styles/tests/manybody-pair-mliap_snap_chem.yaml +++ b/unittest/force-styles/tests/manybody-pair-mliap_snap_chem.yaml @@ -3,7 +3,7 @@ lammps_version: 17 Feb 2022 tags: slow date_generated: Fri Mar 18 22:17:47 2022 epsilon: 5e-13 -skip_tests: +skip_tests: kokkos prerequisites: ! | pair mliap pair zbl diff --git a/unittest/force-styles/tests/manybody-pair-mliap_snap_linear.yaml b/unittest/force-styles/tests/manybody-pair-mliap_snap_linear.yaml index c62c58295d..1d5a9f552b 100644 --- a/unittest/force-styles/tests/manybody-pair-mliap_snap_linear.yaml +++ b/unittest/force-styles/tests/manybody-pair-mliap_snap_linear.yaml @@ -3,7 +3,7 @@ lammps_version: 17 Feb 2022 tags: slow date_generated: Fri Mar 18 22:17:47 2022 epsilon: 5e-13 -skip_tests: +skip_tests: kokkos prerequisites: ! | pair mliap pair zbl diff --git a/unittest/force-styles/tests/manybody-pair-mliap_snap_quadratic.yaml b/unittest/force-styles/tests/manybody-pair-mliap_snap_quadratic.yaml index aeec87baeb..ba3ba0373d 100644 --- a/unittest/force-styles/tests/manybody-pair-mliap_snap_quadratic.yaml +++ b/unittest/force-styles/tests/manybody-pair-mliap_snap_quadratic.yaml @@ -3,7 +3,7 @@ lammps_version: 17 Feb 2022 tags: slow date_generated: Fri Mar 18 22:17:48 2022 epsilon: 5e-13 -skip_tests: +skip_tests: kokkos prerequisites: ! | pair mliap pair zbl From 857298b639eef892a52273f5771c167d42fc6f44 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 23 Mar 2024 03:38:38 -0400 Subject: [PATCH 358/559] fix typo --- unittest/force-styles/tests/manybody-pair-mliap_nn.yaml | 2 +- unittest/force-styles/tests/manybody-pair-mliap_snap_chem.yaml | 2 +- .../force-styles/tests/manybody-pair-mliap_snap_linear.yaml | 2 +- .../force-styles/tests/manybody-pair-mliap_snap_quadratic.yaml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/unittest/force-styles/tests/manybody-pair-mliap_nn.yaml b/unittest/force-styles/tests/manybody-pair-mliap_nn.yaml index 7cac73f652..1874a71681 100644 --- a/unittest/force-styles/tests/manybody-pair-mliap_nn.yaml +++ b/unittest/force-styles/tests/manybody-pair-mliap_nn.yaml @@ -3,7 +3,7 @@ lammps_version: 17 Feb 2022 tags: slow date_generated: Fri Mar 18 22:17:47 2022 epsilon: 5e-13 -skip_tests: kokkos +skip_tests: kokkos_omp prerequisites: ! | pair mliap pair zbl diff --git a/unittest/force-styles/tests/manybody-pair-mliap_snap_chem.yaml b/unittest/force-styles/tests/manybody-pair-mliap_snap_chem.yaml index 330e9d94f8..b213fc8221 100644 --- a/unittest/force-styles/tests/manybody-pair-mliap_snap_chem.yaml +++ b/unittest/force-styles/tests/manybody-pair-mliap_snap_chem.yaml @@ -3,7 +3,7 @@ lammps_version: 17 Feb 2022 tags: slow date_generated: Fri Mar 18 22:17:47 2022 epsilon: 5e-13 -skip_tests: kokkos +skip_tests: kokkos_omp prerequisites: ! | pair mliap pair zbl diff --git a/unittest/force-styles/tests/manybody-pair-mliap_snap_linear.yaml b/unittest/force-styles/tests/manybody-pair-mliap_snap_linear.yaml index 1d5a9f552b..1b4931b24a 100644 --- a/unittest/force-styles/tests/manybody-pair-mliap_snap_linear.yaml +++ b/unittest/force-styles/tests/manybody-pair-mliap_snap_linear.yaml @@ -3,7 +3,7 @@ lammps_version: 17 Feb 2022 tags: slow date_generated: Fri Mar 18 22:17:47 2022 epsilon: 5e-13 -skip_tests: kokkos +skip_tests: kokkos_omp prerequisites: ! | pair mliap pair zbl diff --git a/unittest/force-styles/tests/manybody-pair-mliap_snap_quadratic.yaml b/unittest/force-styles/tests/manybody-pair-mliap_snap_quadratic.yaml index ba3ba0373d..b2fc5b6fd7 100644 --- a/unittest/force-styles/tests/manybody-pair-mliap_snap_quadratic.yaml +++ b/unittest/force-styles/tests/manybody-pair-mliap_snap_quadratic.yaml @@ -3,7 +3,7 @@ lammps_version: 17 Feb 2022 tags: slow date_generated: Fri Mar 18 22:17:48 2022 epsilon: 5e-13 -skip_tests: kokkos +skip_tests: kokkos_omp prerequisites: ! | pair mliap pair zbl From f3391199e71e606f2de687ed1e842b04c226e8e0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 25 Mar 2024 14:26:39 -0400 Subject: [PATCH 359/559] correct formatting of tables --- doc/src/variable.rst | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/doc/src/variable.rst b/doc/src/variable.rst index 1cd96543f5..483e95045c 100644 --- a/doc/src/variable.rst +++ b/doc/src/variable.rst @@ -1174,12 +1174,17 @@ custom atom properties are the same; just replace the leading "i" with +--------+---------------+------------------------------------------+ | equal | i_name[I] | element of per-atom vector (I = atom ID) | ++--------+---------------+------------------------------------------+ | equal | i2_name[I][J] | element of per-atom array (I = atom ID) | +--------+---------------+------------------------------------------+ ++--------+---------------+------------------------------------------+ | vector | i_name[I] | element of per-atom vector (I = atom ID) | ++--------+---------------+------------------------------------------+ | vector | i2_name[I][J] | element of per-atom array (I = atom ID) | +--------+---------------+------------------------------------------+ ++--------+---------------+------------------------------------------+ | atom | i_name | per-atom vector | ++--------+---------------+------------------------------------------+ | atom | i2_name[I] | column of per-atom array | +--------+---------------+------------------------------------------+ @@ -1222,15 +1227,23 @@ table: +--------+------------+------------------------------------------+ | equal | c_ID | global scalar | ++--------+------------+------------------------------------------+ | equal | c_ID[I] | element of global vector | ++--------+------------+------------------------------------------+ | equal | c_ID[I][J] | element of global array | ++--------+------------+------------------------------------------+ | equal | C_ID[I] | element of per-atom vector (I = atom ID) | ++--------+------------+------------------------------------------+ | equal | C_ID[I][J] | element of per-atom array (I = atom ID) | +--------+------------+------------------------------------------+ ++--------+------------+------------------------------------------+ | vector | c_ID | global vector | ++--------+------------+------------------------------------------+ | vector | c_ID[I] | column of global array | +--------+------------+------------------------------------------+ ++--------+------------+------------------------------------------+ | atom | c_ID | per-atom vector | ++--------+------------+------------------------------------------+ | atom | c_ID[I] | column of per-atom array | +--------+------------+------------------------------------------+ @@ -1286,15 +1299,23 @@ and atom-style variables are listed in the following table: +--------+------------+------------------------------------------+ | equal | f_ID | global scalar | ++--------+------------+------------------------------------------+ | equal | f_ID[I] | element of global vector | ++--------+------------+------------------------------------------+ | equal | f_ID[I][J] | element of global array | ++--------+------------+------------------------------------------+ | equal | F_ID[I] | element of per-atom vector (I = atom ID) | ++--------+------------+------------------------------------------+ | equal | F_ID[I][J] | element of per-atom array (I = atom ID) | +--------+------------+------------------------------------------+ ++--------+------------+------------------------------------------+ | vector | f_ID | global vector | ++--------+------------+------------------------------------------+ | vector | f_ID[I] | column of global array | +--------+------------+------------------------------------------+ ++--------+------------+------------------------------------------+ | atom | f_ID | per-atom vector | ++--------+------------+------------------------------------------+ | atom | f_ID[I] | column of per-atom array | +--------+------------+------------------------------------------+ @@ -1365,17 +1386,27 @@ per-atom vector. +--------+-----------+-----------------------------------------------------------------------------------+ | equal | v_name | global scalar from an equal-style variable | ++--------+-----------+-----------------------------------------------------------------------------------+ | equal | v_name[I] | element of global vector from a vector-style variable | ++--------+-----------+-----------------------------------------------------------------------------------+ | equal | v_name[I] | element of per-atom vector (I = atom ID) from an atom- or atomfile-style variable | +--------+-----------+-----------------------------------------------------------------------------------+ ++--------+-----------+-----------------------------------------------------------------------------------+ | vector | v_name | global scalar from an equal-style variable | ++--------+-----------+-----------------------------------------------------------------------------------+ | vector | v_name | global vector from a vector-style variable | ++--------+-----------+-----------------------------------------------------------------------------------+ | vector | v_name[I] | element of global vector from a vector-style variable | ++--------+-----------+-----------------------------------------------------------------------------------+ | vector | v_name[I] | element of per-atom vector (I = atom ID) from an atom- or atomfile-style variable | +--------+-----------+-----------------------------------------------------------------------------------+ ++--------+-----------+-----------------------------------------------------------------------------------+ | atom | v_name | global scalar from an equal-style variable | ++--------+-----------+-----------------------------------------------------------------------------------+ | atom | v_name | per-atom vector from an atom-style or atomfile-style variable | ++--------+-----------+-----------------------------------------------------------------------------------+ | atom | v_name[I] | element of global vector from a vector-style variable | ++--------+-----------+-----------------------------------------------------------------------------------+ | atom | v_name[I] | element of per-atom vector (I = atom ID) from an atom- or atomfile-style variable | +--------+-----------+-----------------------------------------------------------------------------------+ From 45fbe73f2b6d2d91c52f9b0ef574a72d7fe5fc9f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 25 Mar 2024 22:48:01 -0400 Subject: [PATCH 360/559] Simplify output of windows version. If unknown build number just output "Windows Build #####" --- src/platform.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/platform.cpp b/src/platform.cpp index b324bd0b5c..7e9fa820fa 100644 --- a/src/platform.cpp +++ b/src/platform.cpp @@ -249,12 +249,7 @@ std::string platform::os_info() } else if (build == "22631") { buf = "Windows 11 23H2"; } else { - const char *entry = "ProductName"; - RegGetValue(HKEY_LOCAL_MACHINE, subkey, entry, RRF_RT_REG_SZ, nullptr, &value, - (LPDWORD) &value_length); - // enforce zero termination - value[1023] = '\0'; - buf = value; + buf = "Windows Build " + build; } DWORD fullversion, majorv, minorv, buildv = 0; fullversion = GetVersion(); From c4eadd3a5966a0103afe8236273408a5c68a1df7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 26 Mar 2024 01:52:07 -0400 Subject: [PATCH 361/559] change ordering of eigenvalues in jacobi3() function. update tests. --- examples/micelle/in.micelle | 76 +-- examples/micelle/in.micelle-rigid | 90 ++-- .../micelle/log.25Mar24.micelle-rigid.g++.1 | 272 ++++++++++ .../micelle/log.25Mar24.micelle-rigid.g++.4 | 272 ++++++++++ examples/micelle/log.25Mar24.micelle.g++.1 | 229 +++++++++ examples/micelle/log.25Mar24.micelle.g++.4 | 229 +++++++++ .../micelle/log.29Mar2019.micelle-rigid.g++.1 | 260 ---------- .../micelle/log.29Mar2019.micelle-rigid.g++.4 | 260 ---------- examples/micelle/log.29Mar2019.micelle.g++.1 | 218 -------- examples/micelle/log.29Mar2019.micelle.g++.4 | 218 -------- examples/rigid/log.20Mar22.rigid.infile.g++.1 | 312 ------------ examples/rigid/log.20Mar22.rigid.infile.g++.4 | 312 ------------ .../rigid/log.20Mar22.rigid.molecule.g++.1 | 349 ------------- .../rigid/log.20Mar22.rigid.molecule.g++.4 | 349 ------------- examples/rigid/log.20Mar22.rigid.poems.g++.1 | 328 ------------ examples/rigid/log.20Mar22.rigid.poems.g++.4 | 328 ------------ examples/rigid/log.20Mar22.rigid.poems2.g++.1 | 330 ------------ examples/rigid/log.20Mar22.rigid.poems2.g++.4 | 330 ------------ examples/rigid/log.20Mar22.rigid.poems3.g++.1 | 329 ------------ examples/rigid/log.20Mar22.rigid.poems3.g++.4 | 329 ------------ examples/rigid/log.20Mar22.rigid.poems4.g++.1 | 328 ------------ examples/rigid/log.20Mar22.rigid.poems4.g++.4 | 328 ------------ examples/rigid/log.20Mar22.rigid.poems5.g++.1 | 329 ------------ examples/rigid/log.20Mar22.rigid.poems5.g++.4 | 329 ------------ .../log.20Mar22.rigid.rigid.molecule.g++.1 | 0 .../log.20Mar22.rigid.rigid.molecule.g++.4 | 0 examples/rigid/log.20Mar22.rigid.small.g++.1 | 322 ------------ examples/rigid/log.20Mar22.rigid.small.g++.4 | 322 ------------ .../log.20Mar22.rigid.small.infile.g++.1 | 323 ------------ .../log.20Mar22.rigid.small.infile.g++.4 | 323 ------------ .../rigid/log.25Mar24.rigid.atomfile.g++.1 | 341 +++++++++++++ .../rigid/log.25Mar24.rigid.atomfile.g++.4 | 341 +++++++++++++ .../rigid/log.25Mar24.rigid.atomvar.g++.1 | 341 +++++++++++++ .../rigid/log.25Mar24.rigid.atomvar.g++.4 | 341 +++++++++++++ examples/rigid/log.25Mar24.rigid.early.g++.1 | 340 +++++++++++++ examples/rigid/log.25Mar24.rigid.early.g++.4 | 340 +++++++++++++ examples/rigid/log.25Mar24.rigid.g++.1 | 338 +++++++++++++ examples/rigid/log.25Mar24.rigid.g++.4 | 338 +++++++++++++ .../rigid/log.25Mar24.rigid.gravity.g++.1 | 228 +++++++++ .../rigid/log.25Mar24.rigid.gravity.g++.4 | 228 +++++++++ examples/rigid/log.25Mar24.rigid.infile.g++.1 | 310 ++++++++++++ examples/rigid/log.25Mar24.rigid.infile.g++.4 | 310 ++++++++++++ .../rigid/log.25Mar24.rigid.molecule.g++.1 | 319 ++++++++++++ .../rigid/log.25Mar24.rigid.molecule.g++.4 | 319 ++++++++++++ .../rigid/log.25Mar24.rigid.nve.early.g++.1 | 340 +++++++++++++ .../rigid/log.25Mar24.rigid.nve.early.g++.4 | 340 +++++++++++++ examples/rigid/log.25Mar24.rigid.nve.g++.1 | 338 +++++++++++++ examples/rigid/log.25Mar24.rigid.nve.g++.4 | 338 +++++++++++++ examples/rigid/log.25Mar24.rigid.poems.g++.1 | 328 ++++++++++++ examples/rigid/log.25Mar24.rigid.poems.g++.4 | 328 ++++++++++++ examples/rigid/log.25Mar24.rigid.poems2.g++.1 | 330 ++++++++++++ examples/rigid/log.25Mar24.rigid.poems2.g++.4 | 330 ++++++++++++ examples/rigid/log.25Mar24.rigid.poems3.g++.1 | 329 ++++++++++++ examples/rigid/log.25Mar24.rigid.poems3.g++.4 | 329 ++++++++++++ examples/rigid/log.25Mar24.rigid.poems4.g++.1 | 328 ++++++++++++ examples/rigid/log.25Mar24.rigid.poems4.g++.4 | 328 ++++++++++++ examples/rigid/log.25Mar24.rigid.poems5.g++.1 | 329 ++++++++++++ examples/rigid/log.25Mar24.rigid.poems5.g++.4 | 329 ++++++++++++ .../rigid/log.25Mar24.rigid.property.g++.1 | 343 +++++++++++++ .../rigid/log.25Mar24.rigid.property.g++.4 | 343 +++++++++++++ examples/rigid/log.25Mar24.rigid.small.g++.1 | 321 ++++++++++++ examples/rigid/log.25Mar24.rigid.small.g++.4 | 321 ++++++++++++ .../log.25Mar24.rigid.small.infile.g++.1 | 322 ++++++++++++ .../log.25Mar24.rigid.small.infile.g++.4 | 322 ++++++++++++ examples/rigid/log.25Mar24.rigid.tnr.g++.1 | 475 ++++++++++++++++++ examples/rigid/log.25Mar24.rigid.tnr.g++.4 | 475 ++++++++++++++++++ .../rigid/log.27Nov18.rigid.atomfile.g++.1 | 338 ------------- .../rigid/log.27Nov18.rigid.atomfile.g++.4 | 338 ------------- .../rigid/log.27Nov18.rigid.atomvar.g++.1 | 338 ------------- .../rigid/log.27Nov18.rigid.atomvar.g++.4 | 338 ------------- examples/rigid/log.27Nov18.rigid.early.g++.1 | 337 ------------- examples/rigid/log.27Nov18.rigid.early.g++.4 | 337 ------------- examples/rigid/log.27Nov18.rigid.g++.1 | 335 ------------ examples/rigid/log.27Nov18.rigid.g++.4 | 335 ------------ .../rigid/log.27Nov18.rigid.nve.early.g++.1 | 337 ------------- .../rigid/log.27Nov18.rigid.nve.early.g++.4 | 337 ------------- examples/rigid/log.27Nov18.rigid.nve.g++.1 | 335 ------------ examples/rigid/log.27Nov18.rigid.nve.g++.4 | 335 ------------ .../rigid/log.27Nov18.rigid.property.g++.1 | 340 ------------- .../rigid/log.27Nov18.rigid.property.g++.4 | 340 ------------- examples/rigid/log.27Nov18.rigid.tnr.g++.1 | 458 ----------------- examples/rigid/log.27Nov18.rigid.tnr.g++.4 | 458 ----------------- src/math_eigen.cpp | 4 +- .../tests/fix-timestep-rigid_group.yaml | 113 ++--- .../tests/fix-timestep-rigid_molecule.yaml | 43 +- .../fix-timestep-rigid_molecule_tri.yaml | 37 +- .../tests/fix-timestep-rigid_nph.yaml | 85 ++-- .../tests/fix-timestep-rigid_nph_small.yaml | 85 ++-- .../tests/fix-timestep-rigid_npt.yaml | 119 ++--- .../tests/fix-timestep-rigid_npt_small.yaml | 85 ++-- .../tests/fix-timestep-rigid_nve_group.yaml | 113 ++--- .../fix-timestep-rigid_nve_molecule.yaml | 45 +- .../tests/fix-timestep-rigid_nve_single.yaml | 77 +-- .../tests/fix-timestep-rigid_nve_small.yaml | 45 +- .../tests/fix-timestep-rigid_nvt.yaml | 79 +-- .../tests/fix-timestep-rigid_nvt_small.yaml | 45 +- .../tests/fix-timestep-rigid_single.yaml | 77 +-- .../tests/fix-timestep-rigid_small.yaml | 43 +- unittest/formats/test_atom_styles.cpp | 288 +++++------ 99 files changed, 13772 insertions(+), 13271 deletions(-) create mode 100644 examples/micelle/log.25Mar24.micelle-rigid.g++.1 create mode 100644 examples/micelle/log.25Mar24.micelle-rigid.g++.4 create mode 100644 examples/micelle/log.25Mar24.micelle.g++.1 create mode 100644 examples/micelle/log.25Mar24.micelle.g++.4 delete mode 100644 examples/micelle/log.29Mar2019.micelle-rigid.g++.1 delete mode 100644 examples/micelle/log.29Mar2019.micelle-rigid.g++.4 delete mode 100644 examples/micelle/log.29Mar2019.micelle.g++.1 delete mode 100644 examples/micelle/log.29Mar2019.micelle.g++.4 delete mode 100644 examples/rigid/log.20Mar22.rigid.infile.g++.1 delete mode 100644 examples/rigid/log.20Mar22.rigid.infile.g++.4 delete mode 100644 examples/rigid/log.20Mar22.rigid.molecule.g++.1 delete mode 100644 examples/rigid/log.20Mar22.rigid.molecule.g++.4 delete mode 100644 examples/rigid/log.20Mar22.rigid.poems.g++.1 delete mode 100644 examples/rigid/log.20Mar22.rigid.poems.g++.4 delete mode 100644 examples/rigid/log.20Mar22.rigid.poems2.g++.1 delete mode 100644 examples/rigid/log.20Mar22.rigid.poems2.g++.4 delete mode 100644 examples/rigid/log.20Mar22.rigid.poems3.g++.1 delete mode 100644 examples/rigid/log.20Mar22.rigid.poems3.g++.4 delete mode 100644 examples/rigid/log.20Mar22.rigid.poems4.g++.1 delete mode 100644 examples/rigid/log.20Mar22.rigid.poems4.g++.4 delete mode 100644 examples/rigid/log.20Mar22.rigid.poems5.g++.1 delete mode 100644 examples/rigid/log.20Mar22.rigid.poems5.g++.4 delete mode 100644 examples/rigid/log.20Mar22.rigid.rigid.molecule.g++.1 delete mode 100644 examples/rigid/log.20Mar22.rigid.rigid.molecule.g++.4 delete mode 100644 examples/rigid/log.20Mar22.rigid.small.g++.1 delete mode 100644 examples/rigid/log.20Mar22.rigid.small.g++.4 delete mode 100644 examples/rigid/log.20Mar22.rigid.small.infile.g++.1 delete mode 100644 examples/rigid/log.20Mar22.rigid.small.infile.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.atomfile.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.atomfile.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.atomvar.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.atomvar.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.early.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.early.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.gravity.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.gravity.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.infile.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.infile.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.molecule.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.molecule.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.nve.early.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.nve.early.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.nve.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.nve.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.poems.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.poems.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.poems2.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.poems2.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.poems3.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.poems3.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.poems4.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.poems4.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.poems5.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.poems5.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.property.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.property.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.small.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.small.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.small.infile.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.small.infile.g++.4 create mode 100644 examples/rigid/log.25Mar24.rigid.tnr.g++.1 create mode 100644 examples/rigid/log.25Mar24.rigid.tnr.g++.4 delete mode 100644 examples/rigid/log.27Nov18.rigid.atomfile.g++.1 delete mode 100644 examples/rigid/log.27Nov18.rigid.atomfile.g++.4 delete mode 100644 examples/rigid/log.27Nov18.rigid.atomvar.g++.1 delete mode 100644 examples/rigid/log.27Nov18.rigid.atomvar.g++.4 delete mode 100644 examples/rigid/log.27Nov18.rigid.early.g++.1 delete mode 100644 examples/rigid/log.27Nov18.rigid.early.g++.4 delete mode 100644 examples/rigid/log.27Nov18.rigid.g++.1 delete mode 100644 examples/rigid/log.27Nov18.rigid.g++.4 delete mode 100644 examples/rigid/log.27Nov18.rigid.nve.early.g++.1 delete mode 100644 examples/rigid/log.27Nov18.rigid.nve.early.g++.4 delete mode 100644 examples/rigid/log.27Nov18.rigid.nve.g++.1 delete mode 100644 examples/rigid/log.27Nov18.rigid.nve.g++.4 delete mode 100644 examples/rigid/log.27Nov18.rigid.property.g++.1 delete mode 100644 examples/rigid/log.27Nov18.rigid.property.g++.4 delete mode 100644 examples/rigid/log.27Nov18.rigid.tnr.g++.1 delete mode 100644 examples/rigid/log.27Nov18.rigid.tnr.g++.4 diff --git a/examples/micelle/in.micelle b/examples/micelle/in.micelle index 34bc9ad359..1626d09993 100644 --- a/examples/micelle/in.micelle +++ b/examples/micelle/in.micelle @@ -1,72 +1,72 @@ # 2d micelle simulation -dimension 2 +dimension 2 -neighbor 0.3 bin -neigh_modify delay 5 +neighbor 0.33 bin +neigh_modify delay 5 -atom_style bond +atom_style bond # Soft potential push-off -read_data data.micelle -special_bonds fene +read_data data.micelle +special_bonds fene -pair_style soft 1.12246 -pair_coeff * * 0.0 1.12246 +pair_style soft 1.12246 +pair_coeff * * 0.0 1.12246 -bond_style harmonic -bond_coeff 1 50.0 0.75 +bond_style harmonic +bond_coeff 1 50.0 0.75 -velocity all create 0.45 2349852 +velocity all create 0.45 2349852 -variable prefactor equal ramp(1.0,20.0) +variable prefactor equal ramp(1.0,20.0) -fix 1 all nve -fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 -fix 3 all adapt 1 pair soft a * * v_prefactor -fix 4 all enforce2d +fix 1 all nve +fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 +fix 3 all adapt 1 pair soft a * * v_prefactor +fix 4 all enforce2d -thermo 50 -run 1000 +thermo 50 +run 1000 -unfix 3 +unfix 3 # Main run -pair_style lj/cut 2.5 +pair_style lj/cut 2.5 # solvent/head - full-size and long-range -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 2 2 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 2.5 +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 2.5 # tail/tail - size-averaged and long-range -pair_coeff 3 3 1.0 0.75 2.5 -pair_coeff 4 4 1.0 0.50 2.5 -pair_coeff 3 4 1.0 0.67 2.5 +pair_coeff 3 3 1.0 0.75 2.5 +pair_coeff 4 4 1.0 0.50 2.5 +pair_coeff 3 4 1.0 0.67 2.5 # solvent/tail - full-size and repulsive -pair_coeff 1 3 1.0 1.0 1.12246 -pair_coeff 1 4 1.0 1.0 1.12246 +pair_coeff 1 3 1.0 1.0 1.12246 +pair_coeff 1 4 1.0 1.0 1.12246 # head/tail - size-averaged and repulsive -pair_coeff 2 3 1.0 0.88 1.12246 -pair_coeff 2 4 1.0 0.75 1.12246 +pair_coeff 2 3 1.0 0.88 1.12246 +pair_coeff 2 4 1.0 0.75 1.12246 -thermo 50 +thermo 50 -#dump 1 all atom 2000 dump.micelle +#dump 1 all atom 2000 dump.micelle -#dump 2 all image 2000 image.*.jpg type type zoom 1.6 -#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 +#dump 2 all image 2000 image.*.jpg type type zoom 1.6 +#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 -#dump 3 all movie 2000 movie.mpg type type zoom 1.6 -#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 +#dump 3 all movie 2000 movie.mpg type type zoom 1.6 +#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 -reset_timestep 0 -run 1000 +reset_timestep 0 +run 1000 diff --git a/examples/micelle/in.micelle-rigid b/examples/micelle/in.micelle-rigid index 93cb2655f8..21a9cb8a58 100644 --- a/examples/micelle/in.micelle-rigid +++ b/examples/micelle/in.micelle-rigid @@ -1,87 +1,87 @@ # 2d micelle simulation -dimension 2 +dimension 2 -neighbor 0.3 bin -neigh_modify delay 5 +neighbor 0.33 bin +neigh_modify delay 5 -atom_style bond +atom_style bond # Soft potential push-off -read_data data.micelle -special_bonds fene +read_data data.micelle +special_bonds fene -pair_style soft 1.12246 -pair_coeff * * 0.0 1.12246 +pair_style soft 1.12246 +pair_coeff * * 0.0 1.12246 -bond_style harmonic -bond_coeff 1 50.0 0.75 +bond_style harmonic +bond_coeff 1 50.0 0.75 -velocity all create 0.45 2349852 +velocity all create 0.45 2349852 -variable prefactor equal ramp(1.0,20.0) +variable prefactor equal ramp(1.0,20.0) -fix 1 all nve -fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 -fix 3 all adapt 1 pair soft a * * v_prefactor -fix 4 all enforce2d +fix 1 all nve +fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 +fix 3 all adapt 1 pair soft a * * v_prefactor +fix 4 all enforce2d -thermo 50 -run 500 +thermo 50 +run 500 -unfix 3 +unfix 3 # Main run -pair_style lj/cut 2.5 +pair_style lj/cut 2.5 # solvent/head - full-size and long-range -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 2 2 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 2.5 +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 2.5 # tail/tail - size-averaged and long-range -pair_coeff 3 3 1.0 0.75 2.5 -pair_coeff 4 4 1.0 0.50 2.5 -pair_coeff 3 4 1.0 0.67 2.5 +pair_coeff 3 3 1.0 0.75 2.5 +pair_coeff 4 4 1.0 0.50 2.5 +pair_coeff 3 4 1.0 0.67 2.5 # solvent/tail - full-size and repulsive -pair_coeff 1 3 1.0 1.0 1.12246 -pair_coeff 1 4 1.0 1.0 1.12246 +pair_coeff 1 3 1.0 1.0 1.12246 +pair_coeff 1 4 1.0 1.0 1.12246 # head/tail - size-averaged and repulsive -pair_coeff 2 3 1.0 0.88 1.12246 -pair_coeff 2 4 1.0 0.75 1.12246 +pair_coeff 2 3 1.0 0.88 1.12246 +pair_coeff 2 4 1.0 0.75 1.12246 -thermo 50 +thermo 50 -#dump 1 all atom 2000 dump.micelle +#dump 1 all atom 2000 dump.micelle -#dump 2 all image 2000 image.*.jpg type type zoom 1.6 -#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 +#dump 2 all image 2000 image.*.jpg type type zoom 1.6 +#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 -#dump 3 all movie 2000 movie.mpg type type zoom 1.6 -#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 +#dump 3 all movie 2000 movie.mpg type type zoom 1.6 +#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 -reset_timestep 0 +reset_timestep 0 group solvent molecule 0 group solute subtract all solvent unfix 1 unfix 2 unfix 4 -fix 1 solvent nve -fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 -fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 -fix 4 all enforce2d -run 500 +fix 1 solvent nve +fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 +fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 +fix 4 all enforce2d +run 500 unfix 2 unfix 4 unfix 5 -fix 5 solute rigid/small molecule -fix 4 all enforce2d -run 500 +fix 5 solute rigid/small molecule +fix 4 all enforce2d +run 500 diff --git a/examples/micelle/log.25Mar24.micelle-rigid.g++.1 b/examples/micelle/log.25Mar24.micelle-rigid.g++.1 new file mode 100644 index 0000000000..8008630d76 --- /dev/null +++ b/examples/micelle/log.25Mar24.micelle-rigid.g++.1 @@ -0,0 +1,272 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# 2d micelle simulation + +dimension 2 + +neighbor 0.33 bin +neigh_modify delay 5 + +atom_style bond + +# Soft potential push-off + +read_data data.micelle +Reading data file ... + orthogonal box = (0 0 -0.1) to (35.85686 35.85686 0.1) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 1200 atoms + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 300 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.004 seconds +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + +pair_style soft 1.12246 +pair_coeff * * 0.0 1.12246 + +bond_style harmonic +bond_coeff 1 50.0 0.75 + +velocity all create 0.45 2349852 + +variable prefactor equal ramp(1.0,20.0) + +fix 1 all nve +fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 +fix 3 all adapt 1 pair soft a * * v_prefactor +fix 4 all enforce2d + +thermo 50 +run 500 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.45246 + ghost atom cutoff = 1.45246 + binsize = 0.72623, bins = 50 50 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair soft, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) +Per MPI rank memory allocation (min/avg/max) = 4.148 | 4.148 | 4.148 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 + 50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786 + 100 0.45 0.99659327 0.079228519 1.5254468 3.2135679 + 150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925 + 200 0.45 1.01454 0.10663502 1.5708 4.7598476 + 250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899 + 300 0.45 0.86475538 0.11819875 1.4325791 5.8554758 + 350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247 + 400 0.45 0.75067331 0.14165013 1.3419484 6.3840708 + 450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009 + 500 0.45 0.66669513 0.13695201 1.2532721 6.807146 +Loop time of 0.0683956 on 1 procs for 500 steps with 1200 atoms + +Performance: 3158095.858 tau/day, 7310.407 timesteps/s, 8.772 Matom-step/s +99.1% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.042818 | 0.042818 | 0.042818 | 0.0 | 62.60 +Bond | 0.0026205 | 0.0026205 | 0.0026205 | 0.0 | 3.83 +Neigh | 0.011794 | 0.011794 | 0.011794 | 0.0 | 17.24 +Comm | 0.0014012 | 0.0014012 | 0.0014012 | 0.0 | 2.05 +Output | 0.00012752 | 0.00012752 | 0.00012752 | 0.0 | 0.19 +Modify | 0.0078924 | 0.0078924 | 0.0078924 | 0.0 | 11.54 +Other | | 0.001743 | | | 2.55 + +Nlocal: 1200 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 198 ave 198 max 198 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 3199 ave 3199 max 3199 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 3199 +Ave neighs/atom = 2.6658333 +Ave special neighs/atom = 0.5 +Neighbor list builds = 48 +Dangerous builds = 0 + +unfix 3 + +# Main run + +pair_style lj/cut 2.5 + +# solvent/head - full-size and long-range + +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 2.5 + +# tail/tail - size-averaged and long-range + +pair_coeff 3 3 1.0 0.75 2.5 +pair_coeff 4 4 1.0 0.50 2.5 +pair_coeff 3 4 1.0 0.67 2.5 + +# solvent/tail - full-size and repulsive + +pair_coeff 1 3 1.0 1.0 1.12246 +pair_coeff 1 4 1.0 1.0 1.12246 + +# head/tail - size-averaged and repulsive + +pair_coeff 2 3 1.0 0.88 1.12246 +pair_coeff 2 4 1.0 0.75 1.12246 + +thermo 50 + +#dump 1 all atom 2000 dump.micelle + +#dump 2 all image 2000 image.*.jpg type type zoom 1.6 +#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +#dump 3 all movie 2000 movie.mpg type type zoom 1.6 +#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +reset_timestep 0 +group solvent molecule 0 +750 atoms in group solvent +group solute subtract all solvent +450 atoms in group solute +unfix 1 +unfix 2 +unfix 4 +fix 1 solvent nve +fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 +fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 + 150 rigid bodies with 450 atoms +fix 4 all enforce2d +run 500 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.83 + ghost atom cutoff = 2.83 + binsize = 1.415, bins = 26 26 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.391 | 5.391 | 5.391 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423 + 50 0.77344732 -1.6944083 0.13695201 -0.92967487 0.58657109 + 100 0.53530681 -1.7006195 0.13695201 -1.1291768 0.11219772 + 150 0.60820175 -1.8071581 0.13695201 -1.176549 1.5161796 + 200 0.49410558 -1.7945459 0.13695201 -1.2565449 3.7958258 + 250 0.52460847 -1.8528672 0.13695201 -1.290108 2.9929445 + 300 0.46596803 -1.8680499 0.13695201 -1.3528872 2.7958851 + 350 0.48831812 -1.8723486 0.13695201 -1.3390451 -4.5106818 + 400 0.46798432 -1.9008529 0.13695201 -1.3840536 -4.3096566 + 450 0.46000658 -1.9081144 0.13695201 -1.3977904 3.3360611 + 500 0.45822409 -1.9077531 0.13695201 -1.3988759 0.45428738 +Loop time of 0.129419 on 1 procs for 500 steps with 1200 atoms + +Performance: 1668996.565 tau/day, 3863.418 timesteps/s, 4.636 Matom-step/s +99.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.059482 | 0.059482 | 0.059482 | 0.0 | 45.96 +Bond | 0.0027154 | 0.0027154 | 0.0027154 | 0.0 | 2.10 +Neigh | 0.017086 | 0.017086 | 0.017086 | 0.0 | 13.20 +Comm | 0.0019065 | 0.0019065 | 0.0019065 | 0.0 | 1.47 +Output | 0.00012035 | 0.00012035 | 0.00012035 | 0.0 | 0.09 +Modify | 0.046099 | 0.046099 | 0.046099 | 0.0 | 35.62 +Other | | 0.002009 | | | 1.55 + +Nlocal: 1200 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 413 ave 413 max 413 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 8944 ave 8944 max 8944 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 8944 +Ave neighs/atom = 7.4533333 +Ave special neighs/atom = 0.5 +Neighbor list builds = 41 +Dangerous builds = 1 +unfix 2 +unfix 4 +unfix 5 +fix 5 solute rigid/small molecule + create bodies CPU = 0.000 seconds + 150 rigid bodies with 450 atoms + 1.3043524 = max distance from body owner to body atom +fix 4 all enforce2d +run 500 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 9.306 | 9.306 | 9.306 Mbytes + Step Temp E_pair E_mol TotEng Press + 500 0.45822409 -1.9077531 0.13695201 -1.3988759 2.4509752 + 550 0.46736204 -1.9141964 0.13695201 -1.3979022 2.1695662 + 600 0.47872194 -1.9232781 0.13695201 -1.3977635 2.0058379 + 650 0.47491575 -1.9224109 0.13695201 -1.3999857 2.0637789 + 700 0.44714331 -1.8990682 0.13695201 -1.3991848 2.4863082 + 750 0.49089274 -1.9231004 0.13695201 -1.3877071 2.123147 + 800 0.4753839 -1.8959698 0.13695201 -1.3731645 2.3030481 + 850 0.46870816 -1.8972225 0.13695201 -1.3798357 2.2464703 + 900 0.49610454 -1.9070748 0.13695201 -1.3674513 2.2196388 + 950 0.4773035 -1.8925765 0.13695201 -1.3682132 2.3534786 + 1000 0.50413702 -1.9292393 0.13695201 -1.383096 2.1630987 +Loop time of 0.119542 on 1 procs for 500 steps with 1200 atoms + +Performance: 1806900.644 tau/day, 4182.640 timesteps/s, 5.019 Matom-step/s +99.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.058715 | 0.058715 | 0.058715 | 0.0 | 49.12 +Bond | 0.0028428 | 0.0028428 | 0.0028428 | 0.0 | 2.38 +Neigh | 0.015212 | 0.015212 | 0.015212 | 0.0 | 12.73 +Comm | 0.0019242 | 0.0019242 | 0.0019242 | 0.0 | 1.61 +Output | 0.00018977 | 0.00018977 | 0.00018977 | 0.0 | 0.16 +Modify | 0.038399 | 0.038399 | 0.038399 | 0.0 | 32.12 +Other | | 0.002259 | | | 1.89 + +Nlocal: 1200 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 425 ave 425 max 425 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 8846 ave 8846 max 8846 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 8846 +Ave neighs/atom = 7.3716667 +Ave special neighs/atom = 0.5 +Neighbor list builds = 36 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/micelle/log.25Mar24.micelle-rigid.g++.4 b/examples/micelle/log.25Mar24.micelle-rigid.g++.4 new file mode 100644 index 0000000000..b5c53e9b05 --- /dev/null +++ b/examples/micelle/log.25Mar24.micelle-rigid.g++.4 @@ -0,0 +1,272 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# 2d micelle simulation + +dimension 2 + +neighbor 0.33 bin +neigh_modify delay 5 + +atom_style bond + +# Soft potential push-off + +read_data data.micelle +Reading data file ... + orthogonal box = (0 0 -0.1) to (35.85686 35.85686 0.1) + 2 by 2 by 1 MPI processor grid + reading atoms ... + 1200 atoms + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 300 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.004 seconds +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + +pair_style soft 1.12246 +pair_coeff * * 0.0 1.12246 + +bond_style harmonic +bond_coeff 1 50.0 0.75 + +velocity all create 0.45 2349852 + +variable prefactor equal ramp(1.0,20.0) + +fix 1 all nve +fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 +fix 3 all adapt 1 pair soft a * * v_prefactor +fix 4 all enforce2d + +thermo 50 +run 500 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.45246 + ghost atom cutoff = 1.45246 + binsize = 0.72623, bins = 50 50 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair soft, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) +Per MPI rank memory allocation (min/avg/max) = 4.126 | 4.126 | 4.127 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 + 50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786 + 100 0.45 0.99659327 0.079228519 1.5254468 3.2135679 + 150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925 + 200 0.45 1.01454 0.10663502 1.5708 4.7598476 + 250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899 + 300 0.45 0.86475538 0.11819875 1.4325791 5.8554758 + 350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247 + 400 0.45 0.75067331 0.14165013 1.3419484 6.3840708 + 450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009 + 500 0.45 0.66669513 0.13695201 1.2532721 6.807146 +Loop time of 0.0217401 on 4 procs for 500 steps with 1200 atoms + +Performance: 9935551.276 tau/day, 22998.961 timesteps/s, 27.599 Matom-step/s +99.7% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0088539 | 0.0095602 | 0.010452 | 0.6 | 43.97 +Bond | 0.00058476 | 0.00062647 | 0.00070207 | 0.0 | 2.88 +Neigh | 0.0030965 | 0.0031112 | 0.0031222 | 0.0 | 14.31 +Comm | 0.0040493 | 0.0050374 | 0.0057508 | 0.9 | 23.17 +Output | 8.0051e-05 | 8.6079e-05 | 0.00010294 | 0.0 | 0.40 +Modify | 0.0024258 | 0.0025227 | 0.0026365 | 0.2 | 11.60 +Other | | 0.0007961 | | | 3.66 + +Nlocal: 300 ave 305 max 292 min +Histogram: 1 0 0 0 0 0 1 1 0 1 +Nghost: 105.25 ave 110 max 99 min +Histogram: 1 0 0 1 0 0 0 0 0 2 +Neighs: 799.75 ave 817 max 763 min +Histogram: 1 0 0 0 0 0 0 1 0 2 + +Total # of neighbors = 3199 +Ave neighs/atom = 2.6658333 +Ave special neighs/atom = 0.5 +Neighbor list builds = 48 +Dangerous builds = 0 + +unfix 3 + +# Main run + +pair_style lj/cut 2.5 + +# solvent/head - full-size and long-range + +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 2.5 + +# tail/tail - size-averaged and long-range + +pair_coeff 3 3 1.0 0.75 2.5 +pair_coeff 4 4 1.0 0.50 2.5 +pair_coeff 3 4 1.0 0.67 2.5 + +# solvent/tail - full-size and repulsive + +pair_coeff 1 3 1.0 1.0 1.12246 +pair_coeff 1 4 1.0 1.0 1.12246 + +# head/tail - size-averaged and repulsive + +pair_coeff 2 3 1.0 0.88 1.12246 +pair_coeff 2 4 1.0 0.75 1.12246 + +thermo 50 + +#dump 1 all atom 2000 dump.micelle + +#dump 2 all image 2000 image.*.jpg type type zoom 1.6 +#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +#dump 3 all movie 2000 movie.mpg type type zoom 1.6 +#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +reset_timestep 0 +group solvent molecule 0 +750 atoms in group solvent +group solute subtract all solvent +450 atoms in group solute +unfix 1 +unfix 2 +unfix 4 +fix 1 solvent nve +fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 +fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 + 150 rigid bodies with 450 atoms +fix 4 all enforce2d +run 500 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.83 + ghost atom cutoff = 2.83 + binsize = 1.415, bins = 26 26 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.375 | 5.375 | 5.375 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423 + 50 0.77344732 -1.6944083 0.13695201 -0.92967487 0.58657109 + 100 0.53530681 -1.7006195 0.13695201 -1.1291768 0.11219772 + 150 0.60820175 -1.8071581 0.13695201 -1.176549 1.5161796 + 200 0.49410558 -1.7945459 0.13695201 -1.2565449 3.7958258 + 250 0.52460847 -1.8528672 0.13695201 -1.290108 2.9929445 + 300 0.46596803 -1.8680499 0.13695201 -1.3528872 2.7958851 + 350 0.48831812 -1.8723486 0.13695201 -1.3390451 -4.5106818 + 400 0.46798432 -1.9008529 0.13695201 -1.3840536 -4.3096566 + 450 0.46000658 -1.9081144 0.13695201 -1.3977904 3.3360611 + 500 0.45822409 -1.9077531 0.13695201 -1.3988759 0.45428738 +Loop time of 0.0560481 on 4 procs for 500 steps with 1200 atoms + +Performance: 3853834.547 tau/day, 8920.913 timesteps/s, 10.705 Matom-step/s +99.4% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.013556 | 0.013707 | 0.013803 | 0.1 | 24.46 +Bond | 0.00063884 | 0.00066997 | 0.0007103 | 0.0 | 1.20 +Neigh | 0.004707 | 0.0047121 | 0.0047151 | 0.0 | 8.41 +Comm | 0.0060936 | 0.0061963 | 0.006299 | 0.1 | 11.06 +Output | 9.3791e-05 | 0.00010703 | 0.00013426 | 0.0 | 0.19 +Modify | 0.029359 | 0.029467 | 0.029627 | 0.1 | 52.57 +Other | | 0.001189 | | | 2.12 + +Nlocal: 300 ave 303 max 296 min +Histogram: 1 0 0 0 1 0 0 0 1 1 +Nghost: 217.75 ave 220 max 215 min +Histogram: 1 0 0 0 0 0 2 0 0 1 +Neighs: 2236 ave 2264 max 2213 min +Histogram: 1 0 1 0 0 1 0 0 0 1 + +Total # of neighbors = 8944 +Ave neighs/atom = 7.4533333 +Ave special neighs/atom = 0.5 +Neighbor list builds = 41 +Dangerous builds = 1 +unfix 2 +unfix 4 +unfix 5 +fix 5 solute rigid/small molecule + create bodies CPU = 0.000 seconds + 150 rigid bodies with 450 atoms + 1.3043524 = max distance from body owner to body atom +fix 4 all enforce2d +run 500 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 9.233 | 9.233 | 9.234 Mbytes + Step Temp E_pair E_mol TotEng Press + 500 0.45822409 -1.9077531 0.13695201 -1.3988759 2.4509752 + 550 0.46736204 -1.9141964 0.13695201 -1.3979022 2.1695662 + 600 0.47872194 -1.9232781 0.13695201 -1.3977635 2.0058379 + 650 0.47491575 -1.9224109 0.13695201 -1.3999857 2.0637789 + 700 0.44714331 -1.8990682 0.13695201 -1.3991848 2.4863082 + 750 0.49089274 -1.9231004 0.13695201 -1.3877071 2.123147 + 800 0.4753839 -1.8959698 0.13695201 -1.3731645 2.3030481 + 850 0.46870816 -1.8972225 0.13695201 -1.3798357 2.2464703 + 900 0.49610454 -1.9070748 0.13695201 -1.3674513 2.2196388 + 950 0.4773035 -1.8925765 0.13695201 -1.3682132 2.3534786 + 1000 0.50413702 -1.9292393 0.13695201 -1.383096 2.1630987 +Loop time of 0.0401556 on 4 procs for 500 steps with 1200 atoms + +Performance: 5379078.679 tau/day, 12451.571 timesteps/s, 14.942 Matom-step/s +98.8% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.013239 | 0.013488 | 0.013882 | 0.2 | 33.59 +Bond | 0.00064766 | 0.00068403 | 0.00074631 | 0.0 | 1.70 +Neigh | 0.0040808 | 0.0040899 | 0.0041035 | 0.0 | 10.19 +Comm | 0.0056353 | 0.0060663 | 0.0063864 | 0.3 | 15.11 +Output | 0.0001049 | 0.0001153 | 0.00014195 | 0.0 | 0.29 +Modify | 0.014414 | 0.014559 | 0.014753 | 0.1 | 36.26 +Other | | 0.001153 | | | 2.87 + +Nlocal: 300 ave 305 max 295 min +Histogram: 1 0 0 0 1 0 1 0 0 1 +Nghost: 226 ave 231 max 220 min +Histogram: 1 0 0 0 1 0 0 1 0 1 +Neighs: 2211.5 ave 2313 max 2144 min +Histogram: 1 1 0 0 1 0 0 0 0 1 + +Total # of neighbors = 8846 +Ave neighs/atom = 7.3716667 +Ave special neighs/atom = 0.5 +Neighbor list builds = 36 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/micelle/log.25Mar24.micelle.g++.1 b/examples/micelle/log.25Mar24.micelle.g++.1 new file mode 100644 index 0000000000..4b519e0ea7 --- /dev/null +++ b/examples/micelle/log.25Mar24.micelle.g++.1 @@ -0,0 +1,229 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# 2d micelle simulation + +dimension 2 + +neighbor 0.33 bin +neigh_modify delay 5 + +atom_style bond + +# Soft potential push-off + +read_data data.micelle +Reading data file ... + orthogonal box = (0 0 -0.1) to (35.85686 35.85686 0.1) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 1200 atoms + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 300 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.005 seconds +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + +pair_style soft 1.12246 +pair_coeff * * 0.0 1.12246 + +bond_style harmonic +bond_coeff 1 50.0 0.75 + +velocity all create 0.45 2349852 + +variable prefactor equal ramp(1.0,20.0) + +fix 1 all nve +fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 +fix 3 all adapt 1 pair soft a * * v_prefactor +fix 4 all enforce2d + +thermo 50 +run 1000 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.45246 + ghost atom cutoff = 1.45246 + binsize = 0.72623, bins = 50 50 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair soft, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) +Per MPI rank memory allocation (min/avg/max) = 4.148 | 4.148 | 4.148 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 + 50 0.47411013 0.67721272 0.057404514 1.2083323 1.3375852 + 100 0.45 0.73046745 0.054836584 1.234929 2.3196516 + 150 0.67521742 0.72402001 0.043490075 1.4421648 2.8744416 + 200 0.45 0.78481891 0.076931503 1.3113754 3.0412388 + 250 0.66479018 0.69790602 0.081075564 1.4432178 3.6917024 + 300 0.45 0.76820218 0.066727591 1.2845548 3.7861054 + 350 0.67619136 0.625715 0.072722727 1.3740656 4.2861621 + 400 0.45 0.68527759 0.090724527 1.2256271 4.4725214 + 450 0.56702844 0.64402767 0.080555563 1.2911391 4.7402211 + 500 0.45 0.64883009 0.078376672 1.1768318 4.7919294 + 550 0.564664 0.58260368 0.080779475 1.2275766 4.9855705 + 600 0.45 0.58193041 0.088386617 1.119942 5.131481 + 650 0.52110993 0.5415273 0.097683746 1.1598867 5.2500294 + 700 0.45 0.50856787 0.088471208 1.0466641 5.2550165 + 750 0.51510855 0.47441291 0.089429375 1.0785216 5.375763 + 800 0.45 0.49926696 0.085958476 1.0348504 5.4665914 + 850 0.50688494 0.46614429 0.088962292 1.0615691 5.556932 + 900 0.45 0.47785593 0.10150857 1.0289895 5.7765975 + 950 0.49590559 0.46050477 0.096404887 1.052402 5.8649245 + 1000 0.45 0.47691182 0.08808163 1.0146185 6.0177568 +Loop time of 0.135036 on 1 procs for 1000 steps with 1200 atoms + +Performance: 3199144.549 tau/day, 7405.427 timesteps/s, 8.887 Matom-step/s +99.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.086466 | 0.086466 | 0.086466 | 0.0 | 64.03 +Bond | 0.0052524 | 0.0052524 | 0.0052524 | 0.0 | 3.89 +Neigh | 0.020278 | 0.020278 | 0.020278 | 0.0 | 15.02 +Comm | 0.0026978 | 0.0026978 | 0.0026978 | 0.0 | 2.00 +Output | 0.00032119 | 0.00032119 | 0.00032119 | 0.0 | 0.24 +Modify | 0.016117 | 0.016117 | 0.016117 | 0.0 | 11.94 +Other | | 0.003904 | | | 2.89 + +Nlocal: 1200 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 200 ave 200 max 200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 3220 ave 3220 max 3220 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 3220 +Ave neighs/atom = 2.6833333 +Ave special neighs/atom = 0.5 +Neighbor list builds = 84 +Dangerous builds = 0 + +unfix 3 + +# Main run + +pair_style lj/cut 2.5 + +# solvent/head - full-size and long-range + +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 2.5 + +# tail/tail - size-averaged and long-range + +pair_coeff 3 3 1.0 0.75 2.5 +pair_coeff 4 4 1.0 0.50 2.5 +pair_coeff 3 4 1.0 0.67 2.5 + +# solvent/tail - full-size and repulsive + +pair_coeff 1 3 1.0 1.0 1.12246 +pair_coeff 1 4 1.0 1.0 1.12246 + +# head/tail - size-averaged and repulsive + +pair_coeff 2 3 1.0 0.88 1.12246 +pair_coeff 2 4 1.0 0.75 1.12246 + +thermo 50 + +#dump 1 all atom 2000 dump.micelle + +#dump 2 all image 2000 image.*.jpg type type zoom 1.6 +#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +#dump 3 all movie 2000 movie.mpg type type zoom 1.6 +#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +reset_timestep 0 +run 1000 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.83 + ghost atom cutoff = 2.83 + binsize = 1.415, bins = 26 26 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.141 | 4.141 | 4.141 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.45 -1.7056163 0.08808163 -1.1679097 3.9431686 + 50 0.59734982 -1.8103783 0.076066922 -1.1374593 3.2770557 + 100 0.45 -1.8347112 0.093132329 -1.2919539 3.024661 + 150 0.51924311 -1.8943977 0.076004124 -1.2995832 2.5570373 + 200 0.45 -1.8918673 0.082422107 -1.3598201 2.5629655 + 250 0.50281134 -1.920406 0.074011331 -1.3440023 2.3518682 + 300 0.45 -1.9351047 0.075337265 -1.4101424 2.3249947 + 350 0.47650026 -1.9313687 0.072115118 -1.3831504 2.1987532 + 400 0.45 -1.9554318 0.081603939 -1.4242028 2.0787066 + 450 0.47220237 -1.9468502 0.065625625 -1.4094157 2.0984288 + 500 0.46846731 -1.9444333 0.076696281 -1.3996601 2.0528682 + 550 0.47683129 -1.958676 0.070589717 -1.4116523 2.0856022 + 600 0.46851244 -1.9338267 0.070605485 -1.3950992 2.2640498 + 650 0.46874143 -1.9462493 0.069134673 -1.4087638 2.1070264 + 700 0.46437375 -1.9309952 0.071977553 -1.3950309 2.2256927 + 750 0.47326219 -1.9484255 0.075435861 -1.4001218 2.0880257 + 800 0.45 -1.9646003 0.064159585 -1.4508158 2.0612708 + 850 0.46748293 -1.9705587 0.060384889 -1.4430805 1.9472917 + 900 0.46909505 -1.9537228 0.06246996 -1.4225487 2.0222946 + 950 0.45631552 -1.9387752 0.067536414 -1.4153035 2.0638412 + 1000 0.45 -1.9727636 0.058608205 -1.4645304 1.9982412 +Loop time of 0.172925 on 1 procs for 1000 steps with 1200 atoms + +Performance: 2498198.117 tau/day, 5782.866 timesteps/s, 6.939 Matom-step/s +99.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.11308 | 0.11308 | 0.11308 | 0.0 | 65.39 +Bond | 0.0054036 | 0.0054036 | 0.0054036 | 0.0 | 3.12 +Neigh | 0.032892 | 0.032892 | 0.032892 | 0.0 | 19.02 +Comm | 0.0038268 | 0.0038268 | 0.0038268 | 0.0 | 2.21 +Output | 0.00023892 | 0.00023892 | 0.00023892 | 0.0 | 0.14 +Modify | 0.013461 | 0.013461 | 0.013461 | 0.0 | 7.78 +Other | | 0.004027 | | | 2.33 + +Nlocal: 1200 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 421 ave 421 max 421 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 8779 ave 8779 max 8779 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 8779 +Ave neighs/atom = 7.3158333 +Ave special neighs/atom = 0.5 +Neighbor list builds = 77 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/micelle/log.25Mar24.micelle.g++.4 b/examples/micelle/log.25Mar24.micelle.g++.4 new file mode 100644 index 0000000000..174cab5f5e --- /dev/null +++ b/examples/micelle/log.25Mar24.micelle.g++.4 @@ -0,0 +1,229 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# 2d micelle simulation + +dimension 2 + +neighbor 0.33 bin +neigh_modify delay 5 + +atom_style bond + +# Soft potential push-off + +read_data data.micelle +Reading data file ... + orthogonal box = (0 0 -0.1) to (35.85686 35.85686 0.1) + 2 by 2 by 1 MPI processor grid + reading atoms ... + 1200 atoms + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 300 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.004 seconds +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + +pair_style soft 1.12246 +pair_coeff * * 0.0 1.12246 + +bond_style harmonic +bond_coeff 1 50.0 0.75 + +velocity all create 0.45 2349852 + +variable prefactor equal ramp(1.0,20.0) + +fix 1 all nve +fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 +fix 3 all adapt 1 pair soft a * * v_prefactor +fix 4 all enforce2d + +thermo 50 +run 1000 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.45246 + ghost atom cutoff = 1.45246 + binsize = 0.72623, bins = 50 50 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair soft, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) +Per MPI rank memory allocation (min/avg/max) = 4.126 | 4.126 | 4.127 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 + 50 0.47411013 0.67721272 0.057404514 1.2083323 1.3375852 + 100 0.45 0.73046745 0.054836584 1.234929 2.3196516 + 150 0.67521742 0.72402001 0.043490075 1.4421648 2.8744416 + 200 0.45 0.78481891 0.076931503 1.3113754 3.0412388 + 250 0.66479018 0.69790602 0.081075564 1.4432178 3.6917024 + 300 0.45 0.76820218 0.066727591 1.2845548 3.7861054 + 350 0.67619136 0.625715 0.072722727 1.3740656 4.2861621 + 400 0.45 0.68527759 0.090724527 1.2256271 4.4725214 + 450 0.56702844 0.64402767 0.080555563 1.2911391 4.7402211 + 500 0.45 0.64883009 0.078376672 1.1768318 4.7919294 + 550 0.564664 0.58260368 0.080779475 1.2275766 4.9855705 + 600 0.45 0.58193041 0.088386617 1.119942 5.131481 + 650 0.52110993 0.5415273 0.097683746 1.1598867 5.2500294 + 700 0.45 0.50856787 0.088471208 1.0466641 5.2550165 + 750 0.51510855 0.47441291 0.089429375 1.0785216 5.375763 + 800 0.45 0.49926696 0.085958476 1.0348504 5.4665914 + 850 0.50688494 0.46614429 0.088962292 1.0615691 5.556932 + 900 0.45 0.47785593 0.10150857 1.0289895 5.7765975 + 950 0.49590559 0.46050477 0.096404887 1.052402 5.8649245 + 1000 0.45 0.47691182 0.08808163 1.0146185 6.0177568 +Loop time of 0.0430044 on 4 procs for 1000 steps with 1200 atoms + +Performance: 10045485.178 tau/day, 23253.438 timesteps/s, 27.904 Matom-step/s +98.8% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.01855 | 0.019447 | 0.019916 | 0.4 | 45.22 +Bond | 0.0011939 | 0.0012689 | 0.0013518 | 0.2 | 2.95 +Neigh | 0.0054396 | 0.0054535 | 0.0054635 | 0.0 | 12.68 +Comm | 0.0093296 | 0.0097958 | 0.010731 | 0.6 | 22.78 +Output | 0.00016417 | 0.00018578 | 0.00024995 | 0.0 | 0.43 +Modify | 0.0049758 | 0.0050749 | 0.005268 | 0.2 | 11.80 +Other | | 0.001778 | | | 4.14 + +Nlocal: 300 ave 306 max 294 min +Histogram: 1 0 0 1 0 0 1 0 0 1 +Nghost: 103 ave 110 max 98 min +Histogram: 2 0 0 0 0 0 1 0 0 1 +Neighs: 805 ave 827 max 768 min +Histogram: 1 0 0 0 0 0 1 0 1 1 + +Total # of neighbors = 3220 +Ave neighs/atom = 2.6833333 +Ave special neighs/atom = 0.5 +Neighbor list builds = 84 +Dangerous builds = 0 + +unfix 3 + +# Main run + +pair_style lj/cut 2.5 + +# solvent/head - full-size and long-range + +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 2.5 + +# tail/tail - size-averaged and long-range + +pair_coeff 3 3 1.0 0.75 2.5 +pair_coeff 4 4 1.0 0.50 2.5 +pair_coeff 3 4 1.0 0.67 2.5 + +# solvent/tail - full-size and repulsive + +pair_coeff 1 3 1.0 1.0 1.12246 +pair_coeff 1 4 1.0 1.0 1.12246 + +# head/tail - size-averaged and repulsive + +pair_coeff 2 3 1.0 0.88 1.12246 +pair_coeff 2 4 1.0 0.75 1.12246 + +thermo 50 + +#dump 1 all atom 2000 dump.micelle + +#dump 2 all image 2000 image.*.jpg type type zoom 1.6 +#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +#dump 3 all movie 2000 movie.mpg type type zoom 1.6 +#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +reset_timestep 0 +run 1000 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.83 + ghost atom cutoff = 2.83 + binsize = 1.415, bins = 26 26 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.125 | 4.125 | 4.125 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.45 -1.7056163 0.08808163 -1.1679097 3.9431686 + 50 0.59734982 -1.8103783 0.076066922 -1.1374593 3.2770557 + 100 0.45 -1.8347112 0.093132329 -1.2919539 3.024661 + 150 0.51924311 -1.8943977 0.076004124 -1.2995832 2.5570373 + 200 0.45 -1.8918673 0.082422107 -1.3598201 2.5629655 + 250 0.50281134 -1.920406 0.074011331 -1.3440023 2.3518682 + 300 0.45 -1.9351047 0.075337265 -1.4101424 2.3249947 + 350 0.47650026 -1.9313687 0.072115117 -1.3831504 2.1987532 + 400 0.45 -1.9554318 0.08160394 -1.4242028 2.0787066 + 450 0.47220237 -1.9468502 0.065625625 -1.4094157 2.0984288 + 500 0.46846732 -1.9444333 0.076696282 -1.3996601 2.0528682 + 550 0.47683129 -1.958676 0.070589715 -1.4116523 2.0856023 + 600 0.46851246 -1.9338267 0.070605474 -1.3950992 2.2640497 + 650 0.46874145 -1.9462493 0.069134673 -1.4087638 2.1070263 + 700 0.46437384 -1.9309953 0.071977538 -1.3950309 2.2256921 + 750 0.47326257 -1.9484258 0.075435782 -1.4001218 2.0880238 + 800 0.45 -1.9646002 0.064159564 -1.4508156 2.0612711 + 850 0.46748245 -1.9705585 0.060385282 -1.4430803 1.9472928 + 900 0.46909475 -1.953722 0.062469986 -1.4225482 2.0223017 + 950 0.45631666 -1.9387749 0.067535547 -1.415303 2.0638464 + 1000 0.45 -1.9727662 0.058608374 -1.4645328 1.9982544 +Loop time of 0.0580559 on 4 procs for 1000 steps with 1200 atoms + +Performance: 7441102.030 tau/day, 17224.773 timesteps/s, 20.670 Matom-step/s +99.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.025537 | 0.026849 | 0.0293 | 0.9 | 46.25 +Bond | 0.0012241 | 0.0013287 | 0.0015123 | 0.3 | 2.29 +Neigh | 0.0093194 | 0.0093648 | 0.0093978 | 0.0 | 16.13 +Comm | 0.011992 | 0.014606 | 0.015998 | 1.3 | 25.16 +Output | 0.00018318 | 0.0001963 | 0.0002352 | 0.0 | 0.34 +Modify | 0.003441 | 0.0035887 | 0.0037522 | 0.2 | 6.18 +Other | | 0.002122 | | | 3.66 + +Nlocal: 300 ave 305 max 294 min +Histogram: 1 0 0 1 0 0 0 0 1 1 +Nghost: 222.25 ave 231 max 215 min +Histogram: 1 0 0 1 0 1 0 0 0 1 +Neighs: 2195 ave 2233 max 2150 min +Histogram: 1 0 0 0 0 2 0 0 0 1 + +Total # of neighbors = 8780 +Ave neighs/atom = 7.3166667 +Ave special neighs/atom = 0.5 +Neighbor list builds = 77 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/micelle/log.29Mar2019.micelle-rigid.g++.1 b/examples/micelle/log.29Mar2019.micelle-rigid.g++.1 deleted file mode 100644 index f1001e6cea..0000000000 --- a/examples/micelle/log.29Mar2019.micelle-rigid.g++.1 +++ /dev/null @@ -1,260 +0,0 @@ -LAMMPS (29 Mar 2019) - using 1 OpenMP thread(s) per MPI task -# 2d micelle simulation - -dimension 2 - -neighbor 0.3 bin -neigh_modify delay 5 - -atom_style bond - -# Soft potential push-off - -read_data data.micelle - orthogonal box = (0 0 -0.1) to (35.8569 35.8569 0.1) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 1200 atoms - scanning bonds ... - 1 = max bonds/atom - reading bonds ... - 300 bonds - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000473022 secs - read_data CPU = 0.0024147 secs -special_bonds fene - 2 = max # of 1-2 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.00022316 secs - -pair_style soft 1.12246 -pair_coeff * * 0.0 1.12246 - -bond_style harmonic -bond_coeff 1 50.0 0.75 - -velocity all create 0.45 2349852 - -variable prefactor equal ramp(1.0,20.0) - -fix 1 all nve -fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 -fix 3 all adapt 1 pair soft a * * v_prefactor -fix 4 all enforce2d - -thermo 50 -run 500 -Neighbor list info ... - update every 1 steps, delay 5 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.42246 - ghost atom cutoff = 1.42246 - binsize = 0.71123, bins = 51 51 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair soft, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.799 | 3.799 | 3.799 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 - 50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786 - 100 0.45 0.99659327 0.079228519 1.5254468 3.2135679 - 150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925 - 200 0.45 1.01454 0.10663502 1.5708 4.7598476 - 250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899 - 300 0.45 0.86475538 0.11819875 1.4325791 5.8554758 - 350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247 - 400 0.45 0.75067331 0.14165013 1.3419484 6.3840708 - 450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009 - 500 0.45 0.66669513 0.13695201 1.2532721 6.807146 -Loop time of 0.103162 on 1 procs for 500 steps with 1200 atoms - -Performance: 2093802.885 tau/day, 4846.766 timesteps/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.068308 | 0.068308 | 0.068308 | 0.0 | 66.21 -Bond | 0.004235 | 0.004235 | 0.004235 | 0.0 | 4.11 -Neigh | 0.014069 | 0.014069 | 0.014069 | 0.0 | 13.64 -Comm | 0.0019219 | 0.0019219 | 0.0019219 | 0.0 | 1.86 -Output | 0.00017262 | 0.00017262 | 0.00017262 | 0.0 | 0.17 -Modify | 0.011728 | 0.011728 | 0.011728 | 0.0 | 11.37 -Other | | 0.002726 | | | 2.64 - -Nlocal: 1200 ave 1200 max 1200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 197 ave 197 max 197 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 3094 ave 3094 max 3094 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 3094 -Ave neighs/atom = 2.57833 -Ave special neighs/atom = 0.5 -Neighbor list builds = 52 -Dangerous builds = 0 - -unfix 3 - -# Main run - -pair_style lj/cut 2.5 - -# solvent/head - full-size and long-range - -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 2 2 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 2.5 - -# tail/tail - size-averaged and long-range - -pair_coeff 3 3 1.0 0.75 2.5 -pair_coeff 4 4 1.0 0.50 2.5 -pair_coeff 3 4 1.0 0.67 2.5 - -# solvent/tail - full-size and repulsive - -pair_coeff 1 3 1.0 1.0 1.12246 -pair_coeff 1 4 1.0 1.0 1.12246 - -# head/tail - size-averaged and repulsive - -pair_coeff 2 3 1.0 0.88 1.12246 -pair_coeff 2 4 1.0 0.75 1.12246 - -thermo 50 - -#dump 1 all atom 2000 dump.micelle - -#dump 2 all image 2000 image.*.jpg type type zoom 1.6 -#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -#dump 3 all movie 2000 movie.mpg type type zoom 1.6 -#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -reset_timestep 0 -group solvent molecule 0 -750 atoms in group solvent -group solute subtract all solvent -450 atoms in group solute -unfix 1 -unfix 2 -unfix 4 -fix 1 solvent nve -fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 -fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 -150 rigid bodies with 450 atoms -fix 4 all enforce2d -run 500 -Neighbor list info ... - update every 1 steps, delay 5 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 = 26 26 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.274 | 5.274 | 5.274 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423 - 50 0.77871641 -1.6955252 0.13695201 -0.92651507 0.64222539 - 100 0.5336062 -1.7124572 0.13695201 -1.1423948 -0.11959696 - 150 0.58789067 -1.7926109 0.13695201 -1.1784877 1.2592743 - 200 0.47864796 -1.8040298 0.13695201 -1.2785752 3.6739793 - 250 0.51124651 -1.8614797 0.13695201 -1.309566 2.5817722 - 300 0.45695639 -1.8708384 0.13695201 -1.3629901 3.0833794 - 350 0.477504 -1.8924359 0.13695201 -1.3679098 -5.1605926 - 400 0.45328205 -1.87754 0.13695201 -1.372674 -4.0355858 - 450 0.47465031 -1.9071924 0.13695201 -1.3849826 3.1949617 - 500 0.45533691 -1.9072316 0.13695201 -1.4006978 0.48079061 -Loop time of 0.178806 on 1 procs for 500 steps with 1200 atoms - -Performance: 1208012.705 tau/day, 2796.326 timesteps/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.086131 | 0.086131 | 0.086131 | 0.0 | 48.17 -Bond | 0.0042472 | 0.0042472 | 0.0042472 | 0.0 | 2.38 -Neigh | 0.021317 | 0.021317 | 0.021317 | 0.0 | 11.92 -Comm | 0.0025985 | 0.0025985 | 0.0025985 | 0.0 | 1.45 -Output | 0.000175 | 0.000175 | 0.000175 | 0.0 | 0.10 -Modify | 0.061408 | 0.061408 | 0.061408 | 0.0 | 34.34 -Other | | 0.00293 | | | 1.64 - -Nlocal: 1200 ave 1200 max 1200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 416 ave 416 max 416 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 8769 ave 8769 max 8769 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 8769 -Ave neighs/atom = 7.3075 -Ave special neighs/atom = 0.5 -Neighbor list builds = 47 -Dangerous builds = 2 -unfix 2 -unfix 4 -unfix 5 -fix 5 solute rigid/small molecule - create bodies CPU = 0.00015378 secs -150 rigid bodies with 450 atoms - 1.30435 = max distance from body owner to body atom -fix 4 all enforce2d -run 500 -Per MPI rank memory allocation (min/avg/max) = 8.64 | 8.64 | 8.64 Mbytes -Step Temp E_pair E_mol TotEng Press - 500 0.45533691 -1.9072316 0.13695201 -1.4006978 2.4545793 - 550 0.45627282 -1.912409 0.13695201 -1.4051155 2.1845065 - 600 0.44734553 -1.8890695 0.13695201 -1.389022 2.3458965 - 650 0.46444648 -1.9042462 0.13695201 -1.3903185 2.1609319 - 700 0.47113236 -1.8977576 0.13695201 -1.3784032 2.2420351 - 750 0.48554548 -1.9253545 0.13695201 -1.3943015 2.143907 - 800 0.46350091 -1.8865749 0.13695201 -1.3734146 2.294431 - 850 0.4766104 -1.9094039 0.13695201 -1.3856031 2.2077157 - 900 0.48988467 -1.9051538 0.13695201 -1.3705787 2.0107056 - 950 0.48351943 -1.9162485 0.13695201 -1.3868399 2.1891332 - 1000 0.49033701 -1.9115165 0.13695201 -1.3765742 2.1508141 -Loop time of 0.166502 on 1 procs for 500 steps with 1200 atoms - -Performance: 1297278.008 tau/day, 3002.958 timesteps/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.085767 | 0.085767 | 0.085767 | 0.0 | 51.51 -Bond | 0.0042562 | 0.0042562 | 0.0042562 | 0.0 | 2.56 -Neigh | 0.018039 | 0.018039 | 0.018039 | 0.0 | 10.83 -Comm | 0.0024002 | 0.0024002 | 0.0024002 | 0.0 | 1.44 -Output | 0.00018239 | 0.00018239 | 0.00018239 | 0.0 | 0.11 -Modify | 0.052717 | 0.052717 | 0.052717 | 0.0 | 31.66 -Other | | 0.003141 | | | 1.89 - -Nlocal: 1200 ave 1200 max 1200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 415 ave 415 max 415 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 8743 ave 8743 max 8743 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 8743 -Ave neighs/atom = 7.28583 -Ave special neighs/atom = 0.5 -Neighbor list builds = 40 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/micelle/log.29Mar2019.micelle-rigid.g++.4 b/examples/micelle/log.29Mar2019.micelle-rigid.g++.4 deleted file mode 100644 index e65f67a527..0000000000 --- a/examples/micelle/log.29Mar2019.micelle-rigid.g++.4 +++ /dev/null @@ -1,260 +0,0 @@ -LAMMPS (29 Mar 2019) - using 1 OpenMP thread(s) per MPI task -# 2d micelle simulation - -dimension 2 - -neighbor 0.3 bin -neigh_modify delay 5 - -atom_style bond - -# Soft potential push-off - -read_data data.micelle - orthogonal box = (0 0 -0.1) to (35.8569 35.8569 0.1) - 2 by 2 by 1 MPI processor grid - reading atoms ... - 1200 atoms - scanning bonds ... - 1 = max bonds/atom - reading bonds ... - 300 bonds - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000422001 secs - read_data CPU = 0.00473404 secs -special_bonds fene - 2 = max # of 1-2 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000183344 secs - -pair_style soft 1.12246 -pair_coeff * * 0.0 1.12246 - -bond_style harmonic -bond_coeff 1 50.0 0.75 - -velocity all create 0.45 2349852 - -variable prefactor equal ramp(1.0,20.0) - -fix 1 all nve -fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 -fix 3 all adapt 1 pair soft a * * v_prefactor -fix 4 all enforce2d - -thermo 50 -run 500 -Neighbor list info ... - update every 1 steps, delay 5 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.42246 - ghost atom cutoff = 1.42246 - binsize = 0.71123, bins = 51 51 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair soft, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.758 | 3.85 | 4.126 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 - 50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786 - 100 0.45 0.99659327 0.079228519 1.5254468 3.2135679 - 150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925 - 200 0.45 1.01454 0.10663502 1.5708 4.7598476 - 250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899 - 300 0.45 0.86475538 0.11819875 1.4325791 5.8554758 - 350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247 - 400 0.45 0.75067331 0.14165013 1.3419484 6.3840708 - 450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009 - 500 0.45 0.66669513 0.13695201 1.2532721 6.807146 -Loop time of 0.0426326 on 4 procs for 500 steps with 1200 atoms - -Performance: 5066547.720 tau/day, 11728.120 timesteps/s -98.7% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.016784 | 0.019254 | 0.022154 | 1.5 | 45.16 -Bond | 0.0010612 | 0.0012558 | 0.0014153 | 0.4 | 2.95 -Neigh | 0.0046048 | 0.0046697 | 0.0047245 | 0.1 | 10.95 -Comm | 0.0064592 | 0.0097114 | 0.012527 | 2.4 | 22.78 -Output | 0.00022507 | 0.00026393 | 0.00033951 | 0.0 | 0.62 -Modify | 0.0041659 | 0.0048084 | 0.0053945 | 0.8 | 11.28 -Other | | 0.002669 | | | 6.26 - -Nlocal: 300 ave 304 max 292 min -Histogram: 1 0 0 0 0 0 0 0 2 1 -Nghost: 103.5 ave 108 max 98 min -Histogram: 1 0 0 1 0 0 0 0 0 2 -Neighs: 773.5 ave 792 max 735 min -Histogram: 1 0 0 0 0 0 0 0 2 1 - -Total # of neighbors = 3094 -Ave neighs/atom = 2.57833 -Ave special neighs/atom = 0.5 -Neighbor list builds = 52 -Dangerous builds = 0 - -unfix 3 - -# Main run - -pair_style lj/cut 2.5 - -# solvent/head - full-size and long-range - -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 2 2 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 2.5 - -# tail/tail - size-averaged and long-range - -pair_coeff 3 3 1.0 0.75 2.5 -pair_coeff 4 4 1.0 0.50 2.5 -pair_coeff 3 4 1.0 0.67 2.5 - -# solvent/tail - full-size and repulsive - -pair_coeff 1 3 1.0 1.0 1.12246 -pair_coeff 1 4 1.0 1.0 1.12246 - -# head/tail - size-averaged and repulsive - -pair_coeff 2 3 1.0 0.88 1.12246 -pair_coeff 2 4 1.0 0.75 1.12246 - -thermo 50 - -#dump 1 all atom 2000 dump.micelle - -#dump 2 all image 2000 image.*.jpg type type zoom 1.6 -#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -#dump 3 all movie 2000 movie.mpg type type zoom 1.6 -#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -reset_timestep 0 -group solvent molecule 0 -750 atoms in group solvent -group solute subtract all solvent -450 atoms in group solute -unfix 1 -unfix 2 -unfix 4 -fix 1 solvent nve -fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 -fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 -150 rigid bodies with 450 atoms -fix 4 all enforce2d -run 500 -Neighbor list info ... - update every 1 steps, delay 5 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 = 26 26 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.251 | 5.282 | 5.374 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423 - 50 0.77871641 -1.6955252 0.13695201 -0.92651507 0.64222539 - 100 0.5336062 -1.7124572 0.13695201 -1.1423948 -0.11959696 - 150 0.58789067 -1.7926109 0.13695201 -1.1784877 1.2592743 - 200 0.47864796 -1.8040298 0.13695201 -1.2785752 3.6739793 - 250 0.51124651 -1.8614797 0.13695201 -1.309566 2.5817722 - 300 0.45695639 -1.8708384 0.13695201 -1.3629901 3.0833794 - 350 0.477504 -1.8924359 0.13695201 -1.3679098 -5.1605926 - 400 0.45328205 -1.87754 0.13695201 -1.372674 -4.0355858 - 450 0.47465031 -1.9071924 0.13695201 -1.3849826 3.1949617 - 500 0.45533691 -1.9072316 0.13695201 -1.4006978 0.48079061 -Loop time of 0.0887392 on 4 procs for 500 steps with 1200 atoms - -Performance: 2434100.210 tau/day, 5634.491 timesteps/s -98.9% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.022611 | 0.022839 | 0.023082 | 0.1 | 25.74 -Bond | 0.0010793 | 0.0011569 | 0.0012515 | 0.2 | 1.30 -Neigh | 0.0064609 | 0.0064996 | 0.0065265 | 0.0 | 7.32 -Comm | 0.0071712 | 0.0073687 | 0.0077734 | 0.3 | 8.30 -Output | 0.00023389 | 0.00025356 | 0.00030327 | 0.0 | 0.29 -Modify | 0.047258 | 0.047683 | 0.048503 | 0.2 | 53.73 -Other | | 0.002938 | | | 3.31 - -Nlocal: 300 ave 309 max 291 min -Histogram: 1 0 0 1 0 0 1 0 0 1 -Nghost: 218.75 ave 223 max 216 min -Histogram: 1 0 2 0 0 0 0 0 0 1 -Neighs: 2192.25 ave 2251 max 2113 min -Histogram: 1 0 0 1 0 0 0 0 0 2 - -Total # of neighbors = 8769 -Ave neighs/atom = 7.3075 -Ave special neighs/atom = 0.5 -Neighbor list builds = 47 -Dangerous builds = 2 -unfix 2 -unfix 4 -unfix 5 -fix 5 solute rigid/small molecule - create bodies CPU = 7.70092e-05 secs -150 rigid bodies with 450 atoms - 1.30435 = max distance from body owner to body atom -fix 4 all enforce2d -run 500 -Per MPI rank memory allocation (min/avg/max) = 8.565 | 8.597 | 8.69 Mbytes -Step Temp E_pair E_mol TotEng Press - 500 0.45533691 -1.9072316 0.13695201 -1.4006978 2.4545793 - 550 0.45627282 -1.912409 0.13695201 -1.4051155 2.1845065 - 600 0.44734553 -1.8890695 0.13695201 -1.389022 2.3458965 - 650 0.46444648 -1.9042462 0.13695201 -1.3903185 2.1609319 - 700 0.47113236 -1.8977576 0.13695201 -1.3784032 2.2420351 - 750 0.48554548 -1.9253545 0.13695201 -1.3943015 2.143907 - 800 0.46350091 -1.8865749 0.13695201 -1.3734146 2.294431 - 850 0.4766104 -1.9094039 0.13695201 -1.3856031 2.2077157 - 900 0.48988467 -1.9051538 0.13695201 -1.3705787 2.0107056 - 950 0.48351942 -1.9162485 0.13695201 -1.3868399 2.1891332 - 1000 0.490337 -1.9115164 0.13695201 -1.3765742 2.1508141 -Loop time of 0.0588261 on 4 procs for 500 steps with 1200 atoms - -Performance: 3671840.233 tau/day, 8499.630 timesteps/s -98.3% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.022407 | 0.022631 | 0.0229 | 0.1 | 38.47 -Bond | 0.0010669 | 0.0011355 | 0.0012124 | 0.2 | 1.93 -Neigh | 0.0052333 | 0.00528 | 0.0053182 | 0.0 | 8.98 -Comm | 0.0063677 | 0.0066406 | 0.0068488 | 0.2 | 11.29 -Output | 0.00023055 | 0.00024778 | 0.00028086 | 0.0 | 0.42 -Modify | 0.020577 | 0.020651 | 0.020834 | 0.1 | 35.11 -Other | | 0.00224 | | | 3.81 - -Nlocal: 300 ave 303 max 295 min -Histogram: 1 0 0 0 0 0 1 0 1 1 -Nghost: 219 ave 224 max 215 min -Histogram: 1 0 0 1 1 0 0 0 0 1 -Neighs: 2185.75 ave 2244 max 2143 min -Histogram: 1 1 0 0 0 1 0 0 0 1 - -Total # of neighbors = 8743 -Ave neighs/atom = 7.28583 -Ave special neighs/atom = 0.5 -Neighbor list builds = 40 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/micelle/log.29Mar2019.micelle.g++.1 b/examples/micelle/log.29Mar2019.micelle.g++.1 deleted file mode 100644 index d482d6c890..0000000000 --- a/examples/micelle/log.29Mar2019.micelle.g++.1 +++ /dev/null @@ -1,218 +0,0 @@ -LAMMPS (29 Mar 2019) - using 1 OpenMP thread(s) per MPI task -# 2d micelle simulation - -dimension 2 - -neighbor 0.3 bin -neigh_modify delay 5 - -atom_style bond - -# Soft potential push-off - -read_data data.micelle - orthogonal box = (0 0 -0.1) to (35.8569 35.8569 0.1) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 1200 atoms - scanning bonds ... - 1 = max bonds/atom - reading bonds ... - 300 bonds - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.00037837 secs - read_data CPU = 0.00206876 secs -special_bonds fene - 2 = max # of 1-2 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000177383 secs - -pair_style soft 1.12246 -pair_coeff * * 0.0 1.12246 - -bond_style harmonic -bond_coeff 1 50.0 0.75 - -velocity all create 0.45 2349852 - -variable prefactor equal ramp(1.0,20.0) - -fix 1 all nve -fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 -fix 3 all adapt 1 pair soft a * * v_prefactor -fix 4 all enforce2d - -thermo 50 -run 1000 -Neighbor list info ... - update every 1 steps, delay 5 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.42246 - ghost atom cutoff = 1.42246 - binsize = 0.71123, bins = 51 51 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair soft, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.799 | 3.799 | 3.799 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 - 50 0.47411013 0.67721272 0.057404514 1.2083323 1.3375852 - 100 0.45 0.73046745 0.054836584 1.234929 2.3196516 - 150 0.67521742 0.72402001 0.043490075 1.4421648 2.8744416 - 200 0.45 0.78481891 0.076931503 1.3113754 3.0412388 - 250 0.66479018 0.69790602 0.081075564 1.4432178 3.6917024 - 300 0.45 0.76820218 0.066727591 1.2845548 3.7861054 - 350 0.67619136 0.625715 0.072722727 1.3740656 4.2861621 - 400 0.45 0.68527759 0.090724527 1.2256271 4.4725214 - 450 0.56702844 0.64402767 0.080555563 1.2911391 4.7402211 - 500 0.45 0.64883009 0.078376672 1.1768318 4.7919294 - 550 0.564664 0.58260368 0.080779475 1.2275766 4.9855705 - 600 0.45 0.58193041 0.088386617 1.119942 5.131481 - 650 0.52110993 0.5415273 0.097683746 1.1598867 5.2500294 - 700 0.45 0.50856787 0.088471208 1.0466641 5.2550165 - 750 0.51510855 0.47441291 0.089429375 1.0785216 5.375763 - 800 0.45 0.49926696 0.085958476 1.0348504 5.4665914 - 850 0.50688494 0.46614429 0.088962292 1.0615691 5.556932 - 900 0.45 0.47785593 0.10150857 1.0289895 5.7765975 - 950 0.49590559 0.46050477 0.096404887 1.052402 5.8649245 - 1000 0.45 0.47691182 0.08808163 1.0146185 6.0177568 -Loop time of 0.208895 on 1 procs for 1000 steps with 1200 atoms - -Performance: 2068027.282 tau/day, 4787.100 timesteps/s -99.4% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.14142 | 0.14142 | 0.14142 | 0.0 | 67.70 -Bond | 0.008441 | 0.008441 | 0.008441 | 0.0 | 4.04 -Neigh | 0.025716 | 0.025716 | 0.025716 | 0.0 | 12.31 -Comm | 0.0036864 | 0.0036864 | 0.0036864 | 0.0 | 1.76 -Output | 0.0003562 | 0.0003562 | 0.0003562 | 0.0 | 0.17 -Modify | 0.023699 | 0.023699 | 0.023699 | 0.0 | 11.35 -Other | | 0.00558 | | | 2.67 - -Nlocal: 1200 ave 1200 max 1200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 195 ave 195 max 195 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 3136 ave 3136 max 3136 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 3136 -Ave neighs/atom = 2.61333 -Ave special neighs/atom = 0.5 -Neighbor list builds = 92 -Dangerous builds = 0 - -unfix 3 - -# Main run - -pair_style lj/cut 2.5 - -# solvent/head - full-size and long-range - -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 2 2 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 2.5 - -# tail/tail - size-averaged and long-range - -pair_coeff 3 3 1.0 0.75 2.5 -pair_coeff 4 4 1.0 0.50 2.5 -pair_coeff 3 4 1.0 0.67 2.5 - -# solvent/tail - full-size and repulsive - -pair_coeff 1 3 1.0 1.0 1.12246 -pair_coeff 1 4 1.0 1.0 1.12246 - -# head/tail - size-averaged and repulsive - -pair_coeff 2 3 1.0 0.88 1.12246 -pair_coeff 2 4 1.0 0.75 1.12246 - -thermo 50 - -#dump 1 all atom 2000 dump.micelle - -#dump 2 all image 2000 image.*.jpg type type zoom 1.6 -#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -#dump 3 all movie 2000 movie.mpg type type zoom 1.6 -#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -reset_timestep 0 -run 1000 -Neighbor list info ... - update every 1 steps, delay 5 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 = 26 26 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.024 | 4.024 | 4.024 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0.45 -1.7056163 0.08808163 -1.1679097 3.9431686 - 50 0.59734982 -1.8103783 0.076066922 -1.1374593 3.2770557 - 100 0.45 -1.8347112 0.093132329 -1.2919539 3.024661 - 150 0.51924311 -1.8943977 0.076004124 -1.2995832 2.5570373 - 200 0.45 -1.8918672 0.082422107 -1.3598201 2.5629655 - 250 0.50281134 -1.920406 0.074011331 -1.3440023 2.3518682 - 300 0.45 -1.9351047 0.075337265 -1.4101424 2.3249947 - 350 0.47650026 -1.9313687 0.072115117 -1.3831504 2.1987532 - 400 0.45 -1.9554318 0.081603939 -1.4242028 2.0787066 - 450 0.47220236 -1.9468502 0.065625624 -1.4094157 2.0984288 - 500 0.4684673 -1.9444333 0.076696283 -1.3996601 2.0528682 - 550 0.47683128 -1.958676 0.070589719 -1.4116523 2.0856022 - 600 0.46851243 -1.9338267 0.07060548 -1.3950992 2.26405 - 650 0.46874142 -1.9462493 0.069134685 -1.4087638 2.1070263 - 700 0.46437384 -1.9309953 0.071977522 -1.3950309 2.2256923 - 750 0.47326225 -1.9484255 0.075435845 -1.4001218 2.0880254 - 800 0.45 -1.9646005 0.064159585 -1.4508159 2.0612696 - 850 0.46748307 -1.970559 0.060384874 -1.4430806 1.9472879 - 900 0.46909484 -1.953723 0.062470295 -1.4225488 2.0222909 - 950 0.45631531 -1.9387753 0.067536568 -1.4153037 2.0638421 - 1000 0.45 -1.9727646 0.058607721 -1.4645318 1.9982315 -Loop time of 0.252254 on 1 procs for 1000 steps with 1200 atoms - -Performance: 1712557.882 tau/day, 3964.254 timesteps/s -99.0% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.17177 | 0.17177 | 0.17177 | 0.0 | 68.09 -Bond | 0.0084555 | 0.0084555 | 0.0084555 | 0.0 | 3.35 -Neigh | 0.03991 | 0.03991 | 0.03991 | 0.0 | 15.82 -Comm | 0.0049119 | 0.0049119 | 0.0049119 | 0.0 | 1.95 -Output | 0.00039077 | 0.00039077 | 0.00039077 | 0.0 | 0.15 -Modify | 0.021131 | 0.021131 | 0.021131 | 0.0 | 8.38 -Other | | 0.005685 | | | 2.25 - -Nlocal: 1200 ave 1200 max 1200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 415 ave 415 max 415 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 8586 ave 8586 max 8586 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 8586 -Ave neighs/atom = 7.155 -Ave special neighs/atom = 0.5 -Neighbor list builds = 86 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/micelle/log.29Mar2019.micelle.g++.4 b/examples/micelle/log.29Mar2019.micelle.g++.4 deleted file mode 100644 index f3a54970cf..0000000000 --- a/examples/micelle/log.29Mar2019.micelle.g++.4 +++ /dev/null @@ -1,218 +0,0 @@ -LAMMPS (29 Mar 2019) - using 1 OpenMP thread(s) per MPI task -# 2d micelle simulation - -dimension 2 - -neighbor 0.3 bin -neigh_modify delay 5 - -atom_style bond - -# Soft potential push-off - -read_data data.micelle - orthogonal box = (0 0 -0.1) to (35.8569 35.8569 0.1) - 2 by 2 by 1 MPI processor grid - reading atoms ... - 1200 atoms - scanning bonds ... - 1 = max bonds/atom - reading bonds ... - 300 bonds - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000413656 secs - read_data CPU = 0.00487924 secs -special_bonds fene - 2 = max # of 1-2 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000178576 secs - -pair_style soft 1.12246 -pair_coeff * * 0.0 1.12246 - -bond_style harmonic -bond_coeff 1 50.0 0.75 - -velocity all create 0.45 2349852 - -variable prefactor equal ramp(1.0,20.0) - -fix 1 all nve -fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 -fix 3 all adapt 1 pair soft a * * v_prefactor -fix 4 all enforce2d - -thermo 50 -run 1000 -Neighbor list info ... - update every 1 steps, delay 5 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.42246 - ghost atom cutoff = 1.42246 - binsize = 0.71123, bins = 51 51 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair soft, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.758 | 3.85 | 4.126 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 - 50 0.47411013 0.67721272 0.057404514 1.2083323 1.3375852 - 100 0.45 0.73046745 0.054836584 1.234929 2.3196516 - 150 0.67521742 0.72402001 0.043490075 1.4421648 2.8744416 - 200 0.45 0.78481891 0.076931503 1.3113754 3.0412388 - 250 0.66479018 0.69790602 0.081075564 1.4432178 3.6917024 - 300 0.45 0.76820218 0.066727591 1.2845548 3.7861054 - 350 0.67619136 0.625715 0.072722727 1.3740656 4.2861621 - 400 0.45 0.68527759 0.090724527 1.2256271 4.4725214 - 450 0.56702844 0.64402767 0.080555563 1.2911391 4.7402211 - 500 0.45 0.64883009 0.078376672 1.1768318 4.7919294 - 550 0.564664 0.58260368 0.080779475 1.2275766 4.9855705 - 600 0.45 0.58193041 0.088386617 1.119942 5.131481 - 650 0.52110993 0.5415273 0.097683746 1.1598867 5.2500294 - 700 0.45 0.50856787 0.088471208 1.0466641 5.2550165 - 750 0.51510855 0.47441291 0.089429375 1.0785216 5.375763 - 800 0.45 0.49926696 0.085958476 1.0348504 5.4665914 - 850 0.50688494 0.46614429 0.088962292 1.0615691 5.556932 - 900 0.45 0.47785593 0.10150857 1.0289895 5.7765975 - 950 0.49590559 0.46050477 0.096404887 1.052402 5.8649245 - 1000 0.45 0.47691182 0.08808163 1.0146185 6.0177568 -Loop time of 0.0906248 on 4 procs for 1000 steps with 1200 atoms - -Performance: 4766906.584 tau/day, 11034.506 timesteps/s -98.9% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.036572 | 0.039266 | 0.041216 | 1.0 | 43.33 -Bond | 0.0023205 | 0.0024512 | 0.0025697 | 0.2 | 2.70 -Neigh | 0.0088909 | 0.0089301 | 0.0089679 | 0.0 | 9.85 -Comm | 0.022308 | 0.024047 | 0.027175 | 1.3 | 26.53 -Output | 0.00057411 | 0.00061274 | 0.00071025 | 0.0 | 0.68 -Modify | 0.0083182 | 0.0092374 | 0.0098341 | 0.6 | 10.19 -Other | | 0.006081 | | | 6.71 - -Nlocal: 300 ave 305 max 292 min -Histogram: 1 0 0 0 0 0 1 0 1 1 -Nghost: 100.25 ave 108 max 93 min -Histogram: 1 0 1 0 0 0 1 0 0 1 -Neighs: 784 ave 815 max 739 min -Histogram: 1 0 0 0 0 0 1 1 0 1 - -Total # of neighbors = 3136 -Ave neighs/atom = 2.61333 -Ave special neighs/atom = 0.5 -Neighbor list builds = 92 -Dangerous builds = 0 - -unfix 3 - -# Main run - -pair_style lj/cut 2.5 - -# solvent/head - full-size and long-range - -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 2 2 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 2.5 - -# tail/tail - size-averaged and long-range - -pair_coeff 3 3 1.0 0.75 2.5 -pair_coeff 4 4 1.0 0.50 2.5 -pair_coeff 3 4 1.0 0.67 2.5 - -# solvent/tail - full-size and repulsive - -pair_coeff 1 3 1.0 1.0 1.12246 -pair_coeff 1 4 1.0 1.0 1.12246 - -# head/tail - size-averaged and repulsive - -pair_coeff 2 3 1.0 0.88 1.12246 -pair_coeff 2 4 1.0 0.75 1.12246 - -thermo 50 - -#dump 1 all atom 2000 dump.micelle - -#dump 2 all image 2000 image.*.jpg type type zoom 1.6 -#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -#dump 3 all movie 2000 movie.mpg type type zoom 1.6 -#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -reset_timestep 0 -run 1000 -Neighbor list info ... - update every 1 steps, delay 5 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 = 26 26 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.001 | 4.032 | 4.124 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0.45 -1.7056163 0.08808163 -1.1679097 3.9431686 - 50 0.59734982 -1.8103783 0.076066922 -1.1374593 3.2770557 - 100 0.45 -1.8347112 0.093132329 -1.2919539 3.024661 - 150 0.51924311 -1.8943977 0.076004124 -1.2995832 2.5570373 - 200 0.45 -1.8918672 0.082422107 -1.3598201 2.5629655 - 250 0.50281134 -1.920406 0.074011331 -1.3440023 2.3518682 - 300 0.45 -1.9351047 0.075337265 -1.4101424 2.3249947 - 350 0.47650026 -1.9313687 0.072115117 -1.3831504 2.1987532 - 400 0.45 -1.9554318 0.081603939 -1.4242028 2.0787066 - 450 0.47220236 -1.9468502 0.065625625 -1.4094157 2.0984288 - 500 0.4684673 -1.9444333 0.076696285 -1.3996601 2.0528682 - 550 0.47683128 -1.958676 0.070589721 -1.4116523 2.0856023 - 600 0.46851245 -1.9338267 0.070605469 -1.3950992 2.26405 - 650 0.46874143 -1.9462493 0.069134686 -1.4087638 2.1070262 - 700 0.4643739 -1.9309953 0.071977511 -1.3950309 2.225692 - 750 0.47326259 -1.9484258 0.075435808 -1.4001218 2.0880235 - 800 0.45 -1.9646003 0.06415956 -1.4508158 2.0612703 - 850 0.46748278 -1.9705588 0.06038513 -1.4430804 1.9472884 - 900 0.46909438 -1.9537221 0.062470305 -1.4225483 2.0223008 - 950 0.45631508 -1.9387742 0.067536066 -1.4153033 2.063854 - 1000 0.45 -1.9727651 0.058608085 -1.464532 1.9982447 -Loop time of 0.0878521 on 4 procs for 1000 steps with 1200 atoms - -Performance: 4917357.613 tau/day, 11382.772 timesteps/s -99.0% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.043517 | 0.044455 | 0.046903 | 0.7 | 50.60 -Bond | 0.0020199 | 0.0022303 | 0.0024347 | 0.4 | 2.54 -Neigh | 0.012207 | 0.012335 | 0.012512 | 0.1 | 14.04 -Comm | 0.014938 | 0.018265 | 0.020068 | 1.5 | 20.79 -Output | 0.00061369 | 0.00064814 | 0.00073504 | 0.0 | 0.74 -Modify | 0.0052264 | 0.0053691 | 0.0055039 | 0.2 | 6.11 -Other | | 0.00455 | | | 5.18 - -Nlocal: 300 ave 305 max 296 min -Histogram: 1 1 0 0 0 0 1 0 0 1 -Nghost: 219.5 ave 228 max 214 min -Histogram: 1 0 1 1 0 0 0 0 0 1 -Neighs: 2146.5 ave 2201 max 2114 min -Histogram: 1 1 0 1 0 0 0 0 0 1 - -Total # of neighbors = 8586 -Ave neighs/atom = 7.155 -Ave special neighs/atom = 0.5 -Neighbor list builds = 86 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.infile.g++.1 b/examples/rigid/log.20Mar22.rigid.infile.g++.1 deleted file mode 100644 index 7c554d2778..0000000000 --- a/examples/rigid/log.20Mar22.rigid.infile.g++.1 +++ /dev/null @@ -1,312 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.000 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 infile bodyinfo.dat - 9 rigid bodies with 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Reading rigid body data for 4 bodies from file bodyinfo.dat -Reading rigid body data for 4 bodies from file bodyinfo.dat -Neighbor list info ... - update every 1 steps, delay 10 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 = 18 18 18 - 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.353 | 4.353 | 4.353 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722793e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06941 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690666 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532812 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652435 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156167 0 5269.5203 12.011611 - 9600 16738.549 -0.02681437 0 5269.5163 12.011415 - 9650 16738.765 -0.10191524 0 5269.5092 12.011013 - 9700 16735.041 1.0589895 0 5269.4979 12.062708 - 9750 16738.013 0.13550156 0 5269.5101 11.407246 - 9800 16738.512 -0.011620325 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270436 0 5269.5237 11.395099 - 9900 16738.489 -0.0002498452 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395077 - 10000 16738.49 0 0 5269.5246 11.395076 -Loop time of 0.0882903 on 1 procs for 10000 steps with 81 atoms - -Performance: 978589.581 tau/day, 113262.683 timesteps/s -97.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0064583 | 0.0064583 | 0.0064583 | 0.0 | 7.31 -Neigh | 0.027186 | 0.027186 | 0.027186 | 0.0 | 30.79 -Comm | 0.0057041 | 0.0057041 | 0.0057041 | 0.0 | 6.46 -Output | 0.0020628 | 0.0020628 | 0.0020628 | 0.0 | 2.34 -Modify | 0.042816 | 0.042816 | 0.042816 | 0.0 | 48.49 -Other | | 0.004063 | | | 4.60 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 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 = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.infile.g++.4 b/examples/rigid/log.20Mar22.rigid.infile.g++.4 deleted file mode 100644 index 2e0535a69a..0000000000 --- a/examples/rigid/log.20Mar22.rigid.infile.g++.4 +++ /dev/null @@ -1,312 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.000 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 infile bodyinfo.dat - 9 rigid bodies with 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Reading rigid body data for 4 bodies from file bodyinfo.dat -Reading rigid body data for 4 bodies from file bodyinfo.dat -Neighbor list info ... - update every 1 steps, delay 10 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 = 18 18 18 - 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.201 | 4.233 | 4.327 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.972279e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706557 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06941 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.004530741 0 5269.5178 12.01162 - 8600 16738.474 -0.00076532813 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156168 0 5269.5203 12.011611 - 9600 16738.549 -0.026814371 0 5269.5163 12.011415 - 9650 16738.765 -0.10191524 0 5269.5092 12.011013 - 9700 16735.041 1.0589899 0 5269.4979 12.062708 - 9750 16738.013 0.13550149 0 5269.5101 11.407246 - 9800 16738.512 -0.011620325 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270428 0 5269.5237 11.395099 - 9900 16738.489 -0.0002498452 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395077 - 10000 16738.49 0 0 5269.5246 11.395076 -Loop time of 0.100422 on 4 procs for 10000 steps with 81 atoms - -Performance: 860368.209 tau/day, 99579.654 timesteps/s -99.0% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0014853 | 0.0020649 | 0.0026245 | 0.9 | 2.06 -Neigh | 0.0075956 | 0.0080256 | 0.0091971 | 0.8 | 7.99 -Comm | 0.037221 | 0.041059 | 0.043195 | 1.2 | 40.89 -Output | 0.0020995 | 0.0023594 | 0.003073 | 0.8 | 2.35 -Modify | 0.041318 | 0.042855 | 0.044215 | 0.5 | 42.67 -Other | | 0.004059 | | | 4.04 - -Nlocal: 20.25 ave 38 max 3 min -Histogram: 1 0 1 0 0 0 1 0 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 1 1 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.molecule.g++.1 b/examples/rigid/log.20Mar22.rigid.molecule.g++.1 deleted file mode 100644 index b4a4b28d92..0000000000 --- a/examples/rigid/log.20Mar22.rigid.molecule.g++.1 +++ /dev/null @@ -1,349 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style bond - -pair_style lj/cut 2.5 - -read_data data.rigid.small -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid molecule - 9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - 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 = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.233 | 5.233 | 5.233 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.97228e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706557 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06941 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532813 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156166 0 5269.5203 12.011611 - 9600 16738.549 -0.026814371 0 5269.5163 12.011415 - 9650 16738.765 -0.10191524 0 5269.5092 12.011013 - 9700 16735.041 1.0589897 0 5269.4979 12.062708 - 9750 16738.013 0.1355014 0 5269.5101 11.407246 - 9800 16738.512 -0.011620325 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270449 0 5269.5237 11.395099 - 9900 16738.489 -0.00024984529 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395077 - 10000 16738.49 0 0 5269.5246 11.395076 -Loop time of 0.0974108 on 1 procs for 10000 steps with 81 atoms - -Performance: 886965.415 tau/day, 102658.034 timesteps/s -96.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0068054 | 0.0068054 | 0.0068054 | 0.0 | 6.99 -Bond | 0.00034618 | 0.00034618 | 0.00034618 | 0.0 | 0.36 -Neigh | 0.033076 | 0.033076 | 0.033076 | 0.0 | 33.96 -Comm | 0.0067938 | 0.0067938 | 0.0067938 | 0.0 | 6.97 -Output | 0.0022905 | 0.0022905 | 0.0022905 | 0.0 | 2.35 -Modify | 0.044027 | 0.044027 | 0.044027 | 0.0 | 45.20 -Other | | 0.004071 | | | 4.18 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.molecule.g++.4 b/examples/rigid/log.20Mar22.rigid.molecule.g++.4 deleted file mode 100644 index 63835843a0..0000000000 --- a/examples/rigid/log.20Mar22.rigid.molecule.g++.4 +++ /dev/null @@ -1,349 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style bond - -pair_style lj/cut 2.5 - -read_data data.rigid.small -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid molecule - 9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - 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 = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.08 | 5.112 | 5.206 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722775e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934367 0 5269.4889 12.025288 - 3750 16737.731 0.20706556 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06941 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690662 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646802 0 5269.5182 12.011643 - 8550 16738.483 -0.004530741 0 5269.5178 12.01162 - 8600 16738.474 -0.00076532815 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652439 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156171 0 5269.5203 12.011611 - 9600 16738.549 -0.026814373 0 5269.5163 12.011415 - 9650 16738.765 -0.10191525 0 5269.5092 12.011013 - 9700 16735.041 1.0589908 0 5269.4979 12.062708 - 9750 16738.013 0.13550139 0 5269.5101 11.407247 - 9800 16738.512 -0.011620323 0 5269.5201 11.394975 - 9850 16738.489 -0.00067270407 0 5269.5237 11.395099 - 9900 16738.489 -0.00024984518 0 5269.5242 11.395086 - 9950 16738.49 0 0 5269.5245 11.395077 - 10000 16738.49 0 0 5269.5246 11.395076 -Loop time of 0.102079 on 4 procs for 10000 steps with 81 atoms - -Performance: 846406.333 tau/day, 97963.696 timesteps/s -98.7% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0015357 | 0.0020418 | 0.0024561 | 0.7 | 2.00 -Bond | 0.00030031 | 0.00031957 | 0.00034464 | 0.0 | 0.31 -Neigh | 0.0091719 | 0.0094934 | 0.010243 | 0.4 | 9.30 -Comm | 0.038015 | 0.041242 | 0.043481 | 1.1 | 40.40 -Output | 0.002223 | 0.0024412 | 0.0030738 | 0.7 | 2.39 -Modify | 0.040725 | 0.042557 | 0.043982 | 0.7 | 41.69 -Other | | 0.003983 | | | 3.90 - -Nlocal: 20.25 ave 38 max 3 min -Histogram: 1 0 1 0 0 0 1 0 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 1 1 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.poems.g++.1 b/examples/rigid/log.20Mar22.rigid.poems.g++.1 deleted file mode 100644 index 32edd0fd0c..0000000000 --- a/examples/rigid/log.20Mar22.rigid.poems.g++.1 +++ /dev/null @@ -1,328 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.000 seconds - -velocity all create 100.0 4928459 - -# 1 chain of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 36 45 -10 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -1 clusters, 9 bodies, 8 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: - -@Article{Mukherjee08, - author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, - title = {Substructured molecular dynamics using multibody dynamics algorithms}, - journal = {Intl.~J.~Non-linear Mechanics}, - year = 2008, - volume = 43, - pages = {1045--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 10 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 = 18 18 18 - 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.666 | 3.666 | 3.666 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 217.7783 3430.3907 0 3466.6871 -2.7403788 - 50 13679.637 1404.2468 0 3684.1863 12.446066 - 100 16777.225 888.87665 0 3685.0808 -31.828677 - 150 19595.365 418.45042 0 3684.3446 40.709078 - 200 18524.188 596.47273 0 3683.8375 -0.8159371 - 250 21015.789 180.96521 0 3683.5967 -10.042469 - 300 20785.513 219.25314 0 3683.5053 2.6452719 - 350 21072.46 171.2554 0 3683.3321 7.0609024 - 400 19956.414 356.36381 0 3682.4328 19.320259 - 450 20724.42 227.73284 0 3681.8028 8.1259249 - 500 20152.578 322.71466 0 3681.4777 5.4929878 - 550 20017.022 345.29701 0 3681.4673 5.4661666 - 600 17897.743 698.72196 0 3681.6791 3.2854742 - 650 17297.758 796.60256 0 3679.5623 15.191113 - 700 18581.934 584.29715 0 3681.2861 5.1588289 - 750 21774.158 52.821062 0 3681.8474 -10.775664 - 800 21604.055 81.188546 0 3681.8644 -3.2045742 - 850 17821.483 711.53827 0 3681.7854 7.438428 - 900 21033.292 175.98127 0 3681.5299 -16.345167 - 950 20968.166 186.59847 0 3681.2929 -2.330456 - 1000 20490.66 266.19374 0 3681.3037 11.787982 - 1050 20222.396 310.94072 0 3681.34 -8.3459539 - 1100 21321.687 127.61533 0 3681.2299 -1.2184716 - 1150 20849.582 206.01696 0 3680.9472 -0.86699118 - 1200 21815.003 45.317409 0 3681.1512 1.5988314 - 1250 18655.437 572.41453 0 3681.654 10.064083 - 1300 20780.781 217.36511 0 3680.8286 6.0538604 - 1350 20558.971 254.36489 0 3680.8601 -3.6773868 - 1400 21485.029 99.812844 0 3680.6511 -16.185479 - 1450 21771.107 52.159653 0 3680.6775 -2.4756655 - 1500 21520.949 93.503876 0 3680.3286 2.1023573 - 1550 21351.419 121.6813 0 3680.2511 5.5159876 - 1600 20778.804 216.92191 0 3680.0559 15.089203 - 1650 21477.636 100.21873 0 3679.8247 -1.1045277 - 1700 18501.33 596.4807 0 3680.0357 -15.6798 - 1750 18563.64 587.34824 0 3681.2882 33.532308 - 1800 19110.175 494.82517 0 3679.8543 18.024074 - 1850 21364.178 119.23765 0 3679.9339 2.5290144 - 1900 20146.588 322.15509 0 3679.9197 5.7317299 - 1950 20692.676 231.25264 0 3680.0319 4.297803 - 2000 20943.902 189.11251 0 3679.7629 -22.643824 - 2050 19667.823 401.86882 0 3679.8394 3.6241915 - 2100 20280.125 299.81485 0 3679.8357 7.4804047 - 2150 19181.201 483.6306 0 3680.4975 22.63342 - 2200 21301.144 130.54014 0 3680.7308 4.7074288 - 2250 20484.876 266.98315 0 3681.1291 -8.6578278 - 2300 18648.161 573.07329 0 3681.1001 -5.2550954 - 2350 21515.748 95.243054 0 3681.201 -9.386512 - 2400 21462.551 104.18267 0 3681.2745 -29.46442 - 2450 20107.732 330.99437 0 3682.2831 35.38497 - 2500 20771.509 220.47713 0 3682.3953 -12.324858 - 2550 20499.887 265.58494 0 3682.2327 -22.713874 - 2600 21462.182 105.24427 0 3682.2747 -10.175788 - 2650 21004.949 181.51383 0 3682.3387 4.949195 - 2700 18673.552 570.45017 0 3682.7089 21.201437 - 2750 21257.562 139.198 0 3682.1249 -7.5793039 - 2800 21559.645 88.844759 0 3682.119 -6.2360467 - 2850 20865.227 204.46262 0 3682.0004 0.39575069 - 2900 19428.614 443.93293 0 3682.0352 12.796676 - 2950 19630.1 410.18487 0 3681.8681 -0.50572623 - 3000 19663.218 404.06316 0 3681.2661 6.0827093 - 3050 19087.572 500.8452 0 3682.1073 -6.3526476 - 3100 18229.94 643.77681 0 3682.1001 11.453637 - 3150 18927.492 527.51919 0 3682.1011 -1.662863 - 3200 18320.514 628.55895 0 3681.978 21.176126 - 3250 18204.677 647.96462 0 3682.0775 11.331521 - 3300 19231.978 477.02117 0 3682.3509 3.8381593 - 3350 18153.44 656.70376 0 3682.2772 15.135615 - 3400 17476.768 770.0598 0 3682.8545 -3.394312 - 3450 21097.531 166.17241 0 3682.4276 3.74301 - 3500 17605.784 747.54808 0 3681.8454 3.3420627 - 3550 19238.34 476.00608 0 3682.3961 1.1413836 - 3600 18155.288 656.57434 0 3682.4557 3.4360446 - 3650 18735.622 559.2377 0 3681.8413 28.760363 - 3700 15310.261 1134.4215 0 3686.1317 44.207018 - 3750 15377.116 1123.4786 0 3686.3313 7.6773215 - 3800 18798.895 549.05928 0 3682.2084 -12.905825 - 3850 18322.563 628.87744 0 3682.6379 -16.067793 - 3900 19963.049 355.65441 0 3682.8292 3.4694064 - 3950 19925.48 361.2507 0 3682.1641 5.0058567 - 4000 19141.423 492.41081 0 3682.648 -12.782769 - 4050 20022.241 345.61655 0 3682.6568 -3.0149905 - 4100 21348.635 124.95646 0 3683.0624 -4.85779 - 4150 21011.812 181.1132 0 3683.0819 -3.9526196 - 4200 20222.276 312.63945 0 3683.0187 -23.63437 - 4250 20957.757 189.77152 0 3682.731 -1.3712469 - 4300 20070.215 337.5751 0 3682.611 -6.8816517 - 4350 21322.437 129.09228 0 3682.8318 -6.9442178 - 4400 19440.445 442.77531 0 3682.8495 -0.11606236 - 4450 20964.516 188.67174 0 3682.7577 4.8533525 - 4500 13530.08 1428.5497 0 3683.563 12.333187 - 4550 20461.637 272.58882 0 3682.8616 4.5111943 - 4600 17072.994 836.58228 0 3682.0812 5.7611617 - 4650 18860.748 539.82027 0 3683.2782 -2.5558958 - 4700 18373.927 621.04093 0 3683.3621 5.4020702 - 4750 20321.437 296.63662 0 3683.5428 8.9571617 - 4800 21083.122 169.84086 0 3683.6946 10.566368 - 4850 20499.669 267.7012 0 3684.3128 4.2924237 - 4900 20308.781 300.38168 0 3685.1785 -12.396923 - 4950 21043.303 178.56295 0 3685.7801 3.8923762 - 5000 20718.383 232.52208 0 3685.5859 -12.43234 - 5050 21005.749 184.4363 0 3685.3945 -7.6463487 - 5100 20714.133 233.27745 0 3685.6329 -1.6944135 - 5150 19577.452 422.73035 0 3685.639 -21.831219 - 5200 14044.647 1343.9545 0 3684.729 -6.8407194 - 5250 19089.805 504.0893 0 3685.7235 4.05641 - 5300 21094.745 169.94699 0 3685.7378 -0.66593212 - 5350 19907.559 366.77598 0 3684.7024 1.5248525 - 5400 20382.81 289.13263 0 3686.2676 -11.919321 - 5450 19593.693 420.70548 0 3686.3209 -1.1568628 - 5500 20906.08 202.09801 0 3686.4447 -2.4284971 - 5550 16315.465 965.56973 0 3684.8138 -33.178221 - 5600 19714.57 400.39687 0 3686.1586 19.950231 - 5650 20561.724 259.54797 0 3686.502 8.2074524 - 5700 19349.502 460.7789 0 3685.6959 16.252649 - 5750 21006.818 185.56805 0 3686.7044 -11.96089 - 5800 20268.2 307.97547 0 3686.0089 17.322311 - 5850 21018.322 184.16179 0 3687.2154 -14.379909 - 5900 19695.647 404.57094 0 3687.1787 -20.718904 - 5950 21021.687 183.66311 0 3687.2776 -15.206081 - 6000 18947.535 529.30554 0 3687.2281 17.863927 - 6050 15272.373 1141.012 0 3686.4075 -0.43375666 - 6100 17766.197 721.75792 0 3682.7908 11.378913 - 6150 18612.573 584.06688 0 3686.1623 17.543241 - 6200 19005.155 518.97146 0 3686.4973 -16.223107 - 6250 20997.507 187.55499 0 3687.1394 -11.613546 - 6300 19639.901 413.58048 0 3686.8974 14.407136 - 6350 19580.399 423.02818 0 3686.428 -5.5801796 - 6400 14134.119 1332.0662 0 3687.7527 84.864425 - 6450 21598.824 87.419966 0 3687.224 -5.8358352 - 6500 18208.216 649.29108 0 3683.9938 -8.1510884 - 6550 19364.586 459.59813 0 3687.0291 -12.053563 - 6600 20710.927 235.11914 0 3686.9403 -1.0470193 - 6650 21132.334 165.08091 0 3687.1366 1.0785471 - 6700 20217.285 317.589 0 3687.1365 0.055447462 - 6750 21232.279 148.57412 0 3687.2873 -2.4551657 - 6800 20292.683 304.76539 0 3686.8793 -0.42311295 - 6850 19056.291 510.49927 0 3686.5478 6.9533826 - 6900 20429.82 282.23764 0 3687.2076 -4.2360112 - 6950 21281.278 140.27361 0 3687.1533 -0.07475261 - 7000 17173.388 824.54446 0 3686.7758 10.753828 - 7050 18079.7 674.56274 0 3687.846 12.975804 - 7100 16433.233 950.73904 0 3689.6112 -10.5102 - 7150 19033.335 515.59672 0 3687.8193 0.29109447 - 7200 17286.428 809.02352 0 3690.0948 2.3015698 - 7250 16811.962 886.6645 0 3688.6582 -7.4787512 - 7300 15992.461 1023.4849 0 3688.895 -5.2354222 - 7350 19211.451 487.63129 0 3689.5398 8.4351737 - 7400 19065.682 511.95629 0 3689.57 -12.47448 - 7450 21369.265 128.10098 0 3689.6451 2.2930546 - 7500 16807.109 888.64602 0 3689.8308 14.761969 - 7550 18063.046 679.21873 0 3689.7264 3.8950434 - 7600 17794.987 724.55404 0 3690.3851 14.379016 - 7650 17904.751 706.14354 0 3690.2688 23.813776 - 7700 19670.09 411.3021 0 3689.6504 14.099245 - 7750 18082.562 675.23975 0 3689.0001 15.788521 - 7800 17776.135 726.91445 0 3689.6037 6.9780735 - 7850 17062.575 846.33412 0 3690.0966 -8.9289256 - 7900 19059.2 513.07737 0 3689.6107 16.992843 - 7950 16269.685 978.48914 0 3690.1033 11.180179 - 8000 20115.278 336.91405 0 3689.4604 -6.4882518 - 8050 21173.72 161.15229 0 3690.1056 -2.2164491 - 8100 19238.235 484.42784 0 3690.8004 23.412709 - 8150 18438.4 617.58743 0 3690.6542 0.89156316 - 8200 21438.764 117.12721 0 3690.2546 -1.7193227 - 8250 21195.806 157.66607 0 3690.3003 3.820447 - 8300 21177.549 161.13702 0 3690.7286 0.94938203 - 8350 21060.267 181.06887 0 3691.1135 2.8179025 - 8400 20087.113 343.46206 0 3691.3142 8.1484473 - 8450 19298.478 474.87133 0 3691.2843 -16.239664 - 8500 21654.353 82.083485 0 3691.1423 -8.1464138 - 8550 19920.544 371.34795 0 3691.4386 20.765144 - 8600 21692.293 75.655154 0 3691.0373 -13.316763 - 8650 21231.322 151.8989 0 3690.4526 -11.388238 - 8700 19530.647 434.89585 0 3690.0037 2.7433786 - 8750 19720.63 403.07773 0 3689.8493 -6.416414 - 8800 21321.378 136.04091 0 3689.604 1.3661635 - 8850 19811.906 387.80489 0 3689.7893 3.704143 - 8900 19734.167 400.92444 0 3689.9523 2.5685155 - 8950 21076.459 177.18119 0 3689.9244 -11.939513 - 9000 20967.246 195.42966 0 3689.9707 2.0092705 - 9050 21122.023 169.62103 0 3689.9582 2.3791301 - 9100 20169.346 328.27229 0 3689.8299 -3.5017988 - 9150 21418.641 119.84513 0 3689.6187 2.486073 - 9200 20876.042 210.26452 0 3689.6048 -5.3839897 - 9250 21572.38 93.74407 0 3689.1407 -8.3676952 - 9300 20944.78 197.98577 0 3688.7824 1.3278314 - 9350 20706.52 237.48767 0 3688.5744 4.6944204 - 9400 16412.314 953.47251 0 3688.8581 26.134976 - 9450 20461.68 277.76243 0 3688.0424 17.647445 - 9500 20893.994 205.64261 0 3687.9749 -10.642418 - 9550 20503.447 270.63504 0 3687.8761 -17.769897 - 9600 19677.799 408.05887 0 3687.692 -2.7938604 - 9650 17480.971 774.1855 0 3687.6806 0.59827043 - 9700 17799.126 721.50817 0 3688.0292 44.387928 - 9750 20443.384 280.16837 0 3687.399 3.0619324 - 9800 20545.255 263.40108 0 3687.6102 3.6229381 - 9850 20722.819 233.57142 0 3687.3745 0.86462694 - 9900 21128.462 165.09767 0 3686.508 -6.9636843 - 9950 21343.307 130.46714 0 3687.685 -9.7382705 - 10000 20623.887 250.37866 0 3687.6932 2.7529835 -Loop time of 2.27157 on 1 procs for 10000 steps with 81 atoms - -Performance: 38035.351 tau/day, 4402.240 timesteps/s -99.4% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.092926 | 0.092926 | 0.092926 | 0.0 | 4.09 -Neigh | 0.076362 | 0.076362 | 0.076362 | 0.0 | 3.36 -Comm | 0.0069691 | 0.0069691 | 0.0069691 | 0.0 | 0.31 -Output | 0.0037444 | 0.0037444 | 0.0037444 | 0.0 | 0.16 -Modify | 2.0832 | 2.0832 | 2.0832 | 0.0 | 91.71 -Other | | 0.00841 | | | 0.37 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 62 ave 62 max 62 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 905 ave 905 max 905 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 905 -Ave neighs/atom = 11.17284 -Neighbor list builds = 991 -Dangerous builds = 927 -Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems.g++.4 b/examples/rigid/log.20Mar22.rigid.poems.g++.4 deleted file mode 100644 index 7e651a7aaf..0000000000 --- a/examples/rigid/log.20Mar22.rigid.poems.g++.4 +++ /dev/null @@ -1,328 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# 1 chain of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 36 45 -10 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -1 clusters, 9 bodies, 8 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: - -@Article{Mukherjee08, - author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, - title = {Substructured molecular dynamics using multibody dynamics algorithms}, - journal = {Intl.~J.~Non-linear Mechanics}, - year = 2008, - volume = 43, - pages = {1045--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 10 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 = 18 18 18 - 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.514 | 3.545 | 3.639 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 217.7783 3430.3907 0 3466.6871 -2.7403788 - 50 13679.637 1404.2468 0 3684.1863 12.446066 - 100 16777.225 888.87665 0 3685.0808 -31.828677 - 150 19595.365 418.45042 0 3684.3446 40.709078 - 200 18524.188 596.47273 0 3683.8375 -0.8159371 - 250 21015.789 180.96521 0 3683.5967 -10.042469 - 300 20785.513 219.25314 0 3683.5053 2.6452719 - 350 21072.46 171.2554 0 3683.3321 7.0609024 - 400 19956.414 356.36381 0 3682.4328 19.320259 - 450 20724.42 227.73284 0 3681.8028 8.1259249 - 500 20152.578 322.71466 0 3681.4777 5.4929878 - 550 20017.022 345.29701 0 3681.4673 5.4661666 - 600 17897.743 698.72196 0 3681.6791 3.2854742 - 650 17297.758 796.60256 0 3679.5623 15.191113 - 700 18581.934 584.29715 0 3681.2861 5.1588289 - 750 21774.158 52.821062 0 3681.8474 -10.775664 - 800 21604.055 81.188546 0 3681.8644 -3.2045742 - 850 17821.483 711.53827 0 3681.7854 7.4384281 - 900 21033.292 175.98127 0 3681.5299 -16.345167 - 950 20968.166 186.59847 0 3681.2929 -2.330456 - 1000 20490.66 266.19374 0 3681.3037 11.787982 - 1050 20222.396 310.94072 0 3681.34 -8.3459539 - 1100 21321.687 127.61533 0 3681.2299 -1.2184716 - 1150 20849.582 206.01696 0 3680.9472 -0.86699115 - 1200 21815.003 45.317409 0 3681.1512 1.5988314 - 1250 18655.437 572.41453 0 3681.654 10.064083 - 1300 20780.781 217.36511 0 3680.8286 6.0538606 - 1350 20558.971 254.36489 0 3680.8601 -3.6773868 - 1400 21485.03 99.812843 0 3680.6511 -16.185479 - 1450 21771.107 52.159652 0 3680.6775 -2.4756656 - 1500 21520.949 93.503872 0 3680.3286 2.1023574 - 1550 21351.419 121.68131 0 3680.2511 5.5159875 - 1600 20778.804 216.92191 0 3680.0559 15.089203 - 1650 21477.636 100.21877 0 3679.8247 -1.104524 - 1700 18501.329 596.48084 0 3680.0357 -15.679806 - 1750 18563.639 587.34841 0 3681.2882 33.532316 - 1800 19110.174 494.82524 0 3679.8543 18.024079 - 1850 21364.178 119.23767 0 3679.9339 2.5290075 - 1900 20146.588 322.15506 0 3679.9197 5.7317368 - 1950 20692.674 231.25288 0 3680.0319 4.2977982 - 2000 20943.904 189.11229 0 3679.7629 -22.643749 - 2050 19667.815 401.87016 0 3679.8394 3.6240972 - 2100 20280.109 299.81759 0 3679.8357 7.4803647 - 2150 19181.146 483.63975 0 3680.4974 22.634167 - 2200 21301.194 130.53171 0 3680.7308 4.7072523 - 2250 20484.79 266.99736 0 3681.1291 -8.6583002 - 2300 18648.002 573.09962 0 3681.1 -5.2548835 - 2350 21515.851 95.225745 0 3681.2009 -9.3875216 - 2400 21462.37 104.21272 0 3681.2744 -29.459857 - 2450 20108.034 330.94394 0 3682.2829 35.37058 - 2500 20771.818 220.42545 0 3682.3951 -12.318936 - 2550 20502.815 265.09577 0 3682.2316 -22.726822 - 2600 21462.006 105.2733 0 3682.2744 -10.180394 - 2650 21009.656 180.72738 0 3682.3367 4.9580828 - 2700 18680.012 569.37179 0 3682.7071 21.114114 - 2750 21256.19 139.42201 0 3682.1203 -7.4744399 - 2800 21552.267 90.071446 0 3682.1159 -6.2906304 - 2850 20879.958 202.00905 0 3682.0021 0.57990903 - 2900 19018.645 512.35214 0 3682.1262 13.883084 - 2950 19819.365 378.55747 0 3681.785 -0.7348943 - 3000 20269.229 303.35149 0 3681.5563 6.3088075 - 3050 19236.727 475.99457 0 3682.1158 -10.703575 - 3100 18391.55 616.96976 0 3682.2281 9.850079 - 3150 20258.563 305.82076 0 3682.248 7.1951283 - 3200 20716.384 229.15502 0 3681.8856 2.9042294 - 3250 18662.237 572.0784 0 3682.4512 9.2108597 - 3300 19162.278 488.60646 0 3682.3195 3.3306562 - 3350 21235.679 142.98279 0 3682.2626 0.29397483 - 3400 17677.053 736.09247 0 3682.2679 32.75269 - 3450 20852.392 206.65618 0 3682.0548 -4.8319056 - 3500 21182.918 151.46754 0 3681.9539 -5.6330382 - 3550 20589.85 250.40724 0 3682.049 12.582133 - 3600 20973.659 186.28043 0 3681.8903 10.935266 - 3650 17838.632 707.92145 0 3681.0268 -17.200926 - 3700 21538.002 92.744409 0 3682.4114 -0.72124229 - 3750 21390.294 117.90865 0 3682.9576 -7.8431786 - 3800 17921.046 696.50311 0 3683.344 -9.4641531 - 3850 20356.471 290.22624 0 3682.9715 2.4593463 - 3900 20374.077 287.10249 0 3682.782 -1.9519082 - 3950 20563.915 255.29993 0 3682.619 -6.124649 - 4000 20991.467 184.76183 0 3683.3397 1.8954961 - 4050 17805.623 716.24698 0 3683.8509 -20.454944 - 4100 19916.389 363.86301 0 3683.2611 -0.27912557 - 4150 19221.623 480.01232 0 3683.6161 -11.562492 - 4200 20526.82 261.78571 0 3682.9224 -3.9522917 - 4250 20922.813 196.1799 0 3683.3154 0.11947446 - 4300 19956.66 357.78133 0 3683.8914 19.156093 - 4350 19735.73 394.45981 0 3683.7482 14.865775 - 4400 21702.656 67.099805 0 3684.2092 -13.502538 - 4450 18163.055 656.97231 0 3684.1482 -0.6243111 - 4500 17477.718 771.25976 0 3684.2127 -0.4664004 - 4550 20676.507 238.19814 0 3684.2827 -19.444969 - 4600 17322.922 796.77058 0 3683.9242 27.003966 - 4650 11905.158 1704.9151 0 3689.1082 15.574169 - 4700 18689.079 569.80982 0 3684.6563 -14.67311 - 4750 19821.745 381.01914 0 3684.6433 5.0436795 - 4800 20621.335 247.96269 0 3684.8518 -16.407263 - 4850 21923.814 30.965964 0 3684.935 -13.418244 - 4900 18840.555 544.41538 0 3684.5079 11.005357 - 4950 15366.601 1124.2481 0 3685.3482 17.412375 - 5000 18274.314 639.01311 0 3684.732 5.3261109 - 5050 21173.687 155.83673 0 3684.7845 5.4056809 - 5100 21738.219 61.75201 0 3684.7885 -2.631945 - 5150 16597.949 918.84841 0 3685.1732 -10.124101 - 5200 20752.758 225.95919 0 3684.7522 -5.2441372 - 5250 17652.088 741.2645 0 3683.2793 2.0080739 - 5300 19907.523 366.53115 0 3684.4516 8.4266792 - 5350 20104.189 334.14522 0 3684.8433 17.21925 - 5400 21499.848 101.71631 0 3685.0243 -6.1103541 - 5450 21203.533 151.14574 0 3685.068 -5.9468503 - 5500 21076.513 172.45652 0 3685.2088 5.1418181 - 5550 20158.398 325.56609 0 3685.2992 -1.6486034 - 5600 20787.836 221.19563 0 3685.835 -10.66805 - 5650 19687.154 404.77204 0 3685.9644 -23.49128 - 5700 20419.311 282.58328 0 3685.8017 -0.52808211 - 5750 19738.522 395.95893 0 3685.7126 1.3889817 - 5800 18300.025 635.66905 0 3685.6732 23.490447 - 5850 20585.004 255.02032 0 3685.8543 -0.20699939 - 5900 20373.839 290.15881 0 3685.7987 -7.9712187 - 5950 18163.832 659.91192 0 3687.2173 5.4494586 - 6000 21049.247 177.43029 0 3685.6382 2.9138342 - 6050 21239.803 145.77613 0 3685.7433 -1.4927769 - 6100 20686.361 237.86454 0 3685.5913 -0.95516297 - 6150 20461.754 275.31546 0 3685.6079 -3.4166412 - 6200 19264.208 474.73017 0 3685.4316 11.750757 - 6250 21180.813 155.31746 0 3685.4529 2.8188219 - 6300 21047.543 177.4394 0 3685.3632 1.8641486 - 6350 20232.576 313.17716 0 3685.2731 2.8150209 - 6400 20185.616 321.33454 0 3685.6038 -3.8697311 - 6450 18969.632 523.95865 0 3685.5639 0.6725512 - 6500 17592.574 753.49959 0 3685.5952 -1.2557393 - 6550 21279.049 138.42524 0 3684.9335 -1.208945 - 6600 21408.457 116.4143 0 3684.4904 -1.5332953 - 6650 19758.218 391.17316 0 3684.2096 1.8511312 - 6700 20766.943 223.44631 0 3684.6036 -2.3672623 - 6750 20399.631 284.09914 0 3684.0377 -5.4089876 - 6800 21296.628 135.14662 0 3684.5847 -3.8442549 - 6850 20641.481 244.4451 0 3684.692 1.4020639 - 6900 20852.81 209.23009 0 3684.6984 1.8512104 - 6950 20940.555 194.66882 0 3684.7614 -6.554676 - 7000 19496.988 435.28199 0 3684.78 -15.120269 - 7050 19796.829 385.04227 0 3684.5138 -4.1068804 - 7100 19945.264 360.42431 0 3684.635 -4.0629042 - 7150 19431.123 446.12911 0 3684.6497 -6.8321751 - 7200 16864.851 873.80043 0 3684.6089 14.309069 - 7250 20438.75 277.85982 0 3684.3181 -11.41223 - 7300 17688.684 734.01576 0 3682.1298 35.938373 - 7350 21573.419 88.63421 0 3684.204 -3.9032749 - 7400 21198.486 150.72249 0 3683.8034 -7.1477117 - 7450 20586.708 252.93928 0 3684.0572 -7.6634645 - 7500 21815.377 48.180377 0 3684.0765 0.97457507 - 7550 17791.352 718.87564 0 3684.101 28.248235 - 7600 21828.874 45.928597 0 3684.0742 -0.25814944 - 7650 20827.961 212.35674 0 3683.6835 -3.4083384 - 7700 21319.176 130.43547 0 3683.6315 -12.434856 - 7750 20127.904 328.69643 0 3683.3471 -16.975711 - 7800 21741.772 59.679206 0 3683.3078 3.6261863 - 7850 19612.334 414.37418 0 3683.0964 1.3763274 - 7900 20071.318 337.74624 0 3682.9658 -0.40982763 - 7950 17925.664 695.29582 0 3682.9065 17.104439 - 8000 19125.978 492.76383 0 3680.4268 10.807662 - 8050 20233.848 310.42681 0 3682.7347 13.386237 - 8100 20551.619 257.86699 0 3683.1368 -13.97515 - 8150 21578.323 86.88362 0 3683.2708 -9.6811587 - 8200 21154.833 157.72897 0 3683.5344 0.62312375 - 8250 21321.143 129.83967 0 3683.3636 1.9536438 - 8300 21041.696 176.04177 0 3682.9911 4.7475567 - 8350 19883.39 369.32649 0 3683.2247 -7.0959328 - 8400 21626.067 79.062992 0 3683.4075 -14.919059 - 8450 21375.201 120.86836 0 3683.4019 -5.3461514 - 8500 20281.059 303.10304 0 3683.2796 3.7975093 - 8550 21170.533 154.48432 0 3682.9065 -1.1568561 - 8600 17754.931 724.00158 0 3683.1568 14.15254 - 8650 20685.478 235.65879 0 3683.2385 -5.2694179 - 8700 21489.165 101.90509 0 3683.4326 -4.2510612 - 8750 21106.682 165.41638 0 3683.1968 -3.9186708 - 8800 19149.516 491.5843 0 3683.1702 -11.419849 - 8850 21451.865 108.1814 0 3683.4923 -7.8256219 - 8900 19567.4 421.81206 0 3683.0454 -0.71997056 - 8950 20934.097 194.48033 0 3683.4965 -7.0106879 - 9000 18531.559 595.25957 0 3683.8528 3.7449399 - 9050 18868.821 537.22549 0 3682.029 9.9926092 - 9100 19972.527 354.73119 0 3683.4858 -0.30871263 - 9150 19641.651 409.18618 0 3682.7947 -1.3036238 - 9200 20019.08 346.19657 0 3682.7099 6.7425386 - 9250 19259.286 473.04973 0 3682.9308 -24.120659 - 9300 21597.757 82.971857 0 3682.598 -13.748483 - 9350 19348.379 457.23576 0 3681.9656 3.1571402 - 9400 19129.588 493.35235 0 3681.617 8.6293783 - 9450 20337.025 291.20959 0 3680.7138 6.8590795 - 9500 20581.788 249.65891 0 3679.9569 -18.892836 - 9550 19482.069 433.0077 0 3680.0192 23.029778 - 9600 19182.794 482.96871 0 3680.101 -11.081731 - 9650 20086.771 332.5311 0 3680.3263 -18.939681 - 9700 20274.046 300.98818 0 3679.9959 6.7538762 - 9750 18743.595 555.08045 0 3679.0129 8.2757138 - 9800 19464.311 435.66288 0 3679.7148 7.0528759 - 9850 21249.848 138.27382 0 3679.9152 -10.847402 - 9900 21156.214 153.84621 0 3679.8819 -7.8359674 - 9950 21643.134 72.547515 0 3679.7365 -10.507744 - 10000 19587.948 414.64942 0 3679.3075 6.1173553 -Loop time of 2.36879 on 4 procs for 10000 steps with 81 atoms - -Performance: 36474.344 tau/day, 4221.568 timesteps/s -99.2% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.005348 | 0.024925 | 0.056071 | 12.2 | 1.05 -Neigh | 0.0075012 | 0.022046 | 0.043933 | 9.3 | 0.93 -Comm | 0.13135 | 0.16461 | 0.1917 | 5.9 | 6.95 -Output | 0.0036298 | 0.004271 | 0.0056384 | 1.2 | 0.18 -Modify | 2.1147 | 2.1322 | 2.1418 | 0.7 | 90.01 -Other | | 0.02072 | | | 0.87 - -Nlocal: 20.25 ave 81 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 1 -Nghost: 41 ave 78 max 11 min -Histogram: 2 0 0 0 0 0 0 1 0 1 -Neighs: 193.5 ave 774 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 774 -Ave neighs/atom = 9.5555556 -Neighbor list builds = 989 -Dangerous builds = 915 -Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems2.g++.1 b/examples/rigid/log.20Mar22.rigid.poems2.g++.1 deleted file mode 100644 index 57f2040a67..0000000000 --- a/examples/rigid/log.20Mar22.rigid.poems2.g++.1 +++ /dev/null @@ -1,330 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.000 seconds - -velocity all create 100.0 4928459 - -# 2 chains of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 -fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -2 clusters, 9 bodies, 7 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems2 - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: - -@Article{Mukherjee08, - author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, - title = {Substructured molecular dynamics using multibody dynamics algorithms}, - journal = {Intl.~J.~Non-linear Mechanics}, - year = 2008, - volume = 43, - pages = {1045--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 10 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 = 18 18 18 - 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.666 | 3.666 | 3.666 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 196.00047 3632.2347 0 3668.5311 -2.7403788 - 50 12774.759 1538.7382 0 3904.4344 18.086359 - 100 19803.641 237.21132 0 3904.5523 -3.1528278 - 150 20259.6 152.62072 0 3904.3985 -4.6173524 - 200 20705.978 69.977442 0 3904.4178 9.0928158 - 250 19552.211 283.50525 0 3904.285 15.670465 - 300 19266.324 333.5792 0 3901.4169 7.2119197 - 350 20738.325 63.738945 0 3904.1694 -23.03999 - 400 20616.682 86.082444 0 3903.9864 -13.783584 - 450 19831.326 230.13858 0 3902.6063 0.42074361 - 500 20365.825 131.47231 0 3902.9213 0.6921524 - 550 20794.102 52.163238 0 3902.9229 4.5895354 - 600 20853.873 40.899172 0 3902.7275 2.3593042 - 650 19255.802 336.29509 0 3902.1844 10.341742 - 700 18526.969 471.02462 0 3901.9448 -0.61898691 - 750 18960.662 391.26068 0 3902.4944 12.04731 - 800 20142.432 172.05177 0 3902.1317 4.6838621 - 850 19932.48 210.71175 0 3901.9118 3.4716043 - 900 20243.528 153.13972 0 3901.9411 3.6490762 - 950 20388.132 126.88722 0 3902.4671 -4.4518463 - 1000 20076.333 184.61915 0 3902.4586 -2.272315 - 1050 20859.506 39.696993 0 3902.5684 6.45166 - 1100 15284.661 1072.1908 0 3902.6836 21.194042 - 1150 19658.317 261.99809 0 3902.4272 -2.874422 - 1200 20767.681 56.717094 0 3902.5839 -34.817444 - 1250 20625.583 82.586399 0 3902.1388 11.697329 - 1300 20690.013 71.006478 0 3902.4903 -29.292777 - 1350 20936.019 26.022786 0 3903.0634 1.0316025 - 1400 19753.559 244.81785 0 3902.8844 6.7138514 - 1450 15690.149 998.342 0 3903.9252 48.124557 - 1500 20234.455 155.92516 0 3903.0465 13.17221 - 1550 20779.631 55.063009 0 3903.1428 -2.639045 - 1600 20642.753 80.233905 0 3902.9659 -2.4688467 - 1650 18785.696 423.90402 0 3902.7365 -5.6466663 - 1700 20965.076 20.760444 0 3903.182 -0.45364296 - 1750 18935.406 396.96067 0 3903.5173 25.913302 - 1800 20581.559 91.756972 0 3903.1567 3.8217234 - 1850 20616.946 85.184849 0 3903.1378 4.1907972 - 1900 16602.053 828.40949 0 3902.8637 -0.49505122 - 1950 20175.526 166.53362 0 3902.7421 5.603825 - 2000 20261.924 150.39322 0 3902.6014 -1.196958 - 2050 20170.339 167.40504 0 3902.6531 -0.80849882 - 2100 19820.132 231.26755 0 3901.6624 3.1476607 - 2150 20666.19 75.838461 0 3902.9106 0.53899287 - 2200 19873.51 222.53286 0 3902.8124 7.9310276 - 2250 18548.063 467.69698 0 3902.5235 16.905356 - 2300 20616.61 84.762399 0 3902.6531 -6.7872951 - 2350 18167.738 538.13635 0 3902.5322 -11.458285 - 2400 20120.227 177.01954 0 3902.9875 -1.2593018 - 2450 20436.599 118.32469 0 3902.8801 -6.5989174 - 2500 18919.923 400.26361 0 3903.9531 32.37476 - 2550 19675.809 259.77151 0 3903.4398 19.437327 - 2600 19739.842 247.86388 0 3903.3901 -7.519784 - 2650 20557.026 96.530313 0 3903.387 0.60211646 - 2700 20666.602 76.099892 0 3903.2484 0.16825503 - 2750 20924.585 28.453883 0 3903.3771 2.4227171 - 2800 20360.659 132.8596 0 3903.352 4.1440877 - 2850 20783.475 54.518625 0 3903.3102 -0.57312067 - 2900 20456.181 115.03745 0 3903.2191 -20.118887 - 2950 20779.493 55.321394 0 3903.3756 -0.26783079 - 3000 20011.867 197.30216 0 3903.2035 -1.4704201 - 3050 20741.875 62.208723 0 3903.2966 -7.5432815 - 3100 21001.754 14.148298 0 3903.362 2.9676438 - 3150 20244.086 154.44639 0 3903.3512 -1.9071213 - 3200 20639.615 81.136426 0 3903.2873 1.4826467 - 3250 20735.244 63.529571 0 3903.3895 2.1127055 - 3300 20142.891 173.22282 0 3903.3878 4.7739415 - 3350 19963.765 206.21899 0 3903.2126 5.5410771 - 3400 16628.667 824.13627 0 3903.519 36.087673 - 3450 19228.218 342.81569 0 3903.5968 3.1057274 - 3500 19759.293 244.57876 0 3903.707 2.2339557 - 3550 19853.21 227.06362 0 3903.584 -1.0882119 - 3600 19673.516 260.64854 0 3903.8923 -10.63775 - 3650 19619.238 270.5393 0 3903.7316 -6.3746003 - 3700 20756.865 59.790243 0 3903.6542 -8.3015766 - 3750 20265.025 150.47347 0 3903.2559 -5.7284695 - 3800 20944.683 24.669276 0 3903.3142 -0.070552298 - 3850 19344.831 320.59492 0 3902.971 13.040749 - 3900 19978.209 203.00247 0 3902.6708 0.15638133 - 3950 19864.118 224.19359 0 3902.734 0.453229 - 4000 17606.216 642.71493 0 3903.1252 -12.656002 - 4050 18017.895 566.54102 0 3903.1883 12.133906 - 4100 20092.963 182.17593 0 3903.095 7.7445947 - 4150 20555.337 96.395074 0 3902.939 -6.5429752 - 4200 20709.781 67.869199 0 3903.0138 -2.8653003 - 4250 18956.203 392.20748 0 3902.6155 -1.6249728 - 4300 17816.204 603.72704 0 3903.0241 23.089239 - 4350 18979.742 388.04678 0 3902.8138 3.2511108 - 4400 20272.085 148.82367 0 3902.9135 1.9518268 - 4450 18820.003 417.74789 0 3902.9337 6.3979299 - 4500 19991.936 200.50131 0 3902.7117 3.5118553 - 4550 20915.092 29.663898 0 3902.8291 -2.3174641 - 4600 20690.37 71.125087 0 3902.6752 -12.008575 - 4650 18893.76 404.50849 0 3903.3529 15.006184 - 4700 18611.123 456.1263 0 3902.6306 -5.3574892 - 4750 20497.821 106.5856 0 3902.4784 0.85039837 - 4800 20803.214 50.120522 0 3902.5675 3.8610873 - 4850 18849.598 411.72635 0 3902.3927 9.2029058 - 4900 18121.714 546.68042 0 3902.5533 9.4522272 - 4950 20377.499 128.99323 0 3902.6041 5.3825395 - 5000 20686.114 72.039749 0 3902.8016 -5.706271 - 5050 20180.449 165.51368 0 3902.634 -16.418461 - 5100 20274.947 148.36657 0 3902.9864 -5.6668309 - 5150 18042.324 560.74137 0 3901.9125 3.6791541 - 5200 20794.666 52.204446 0 3903.0685 -1.4517721 - 5250 19073.55 371.18834 0 3903.3272 -13.457439 - 5300 20821.412 47.364313 0 3903.1813 2.258098 - 5350 20583.073 91.271191 0 3902.9513 5.4323985 - 5400 20490.967 108.41184 0 3903.0353 4.122905 - 5450 18141.79 543.66874 0 3903.2594 -0.19951075 - 5500 20274.012 148.55528 0 3903.002 5.0489974 - 5550 17806.237 605.43454 0 3902.8858 43.80619 - 5600 20999.825 14.341937 0 3903.1983 1.0879933 - 5650 20930.929 27.025347 0 3903.1234 -7.0860209 - 5700 20677.725 73.853093 0 3903.0614 2.6864775 - 5750 20521.264 102.87509 0 3903.1092 2.6940548 - 5800 20792.571 52.596021 0 3903.0721 1.2910217 - 5850 20518.674 103.26595 0 3903.0204 -9.2547271 - 5900 18417.885 491.66696 0 3902.3865 -12.049357 - 5950 17243.837 709.37858 0 3902.6817 -6.2357188 - 6000 20262.525 149.56918 0 3901.8885 -0.28964823 - 6050 19883.554 219.14043 0 3901.2801 2.3071707 - 6100 16548.178 838.47869 0 3902.956 -11.715644 - 6150 19601.177 272.14674 0 3901.9944 -0.9008056 - 6200 20499.796 106.2363 0 3902.4949 0.79071424 - 6250 19601.106 272.50139 0 3902.3359 -1.9306693 - 6300 17210.685 712.70535 0 3899.8692 4.8890923 - 6350 19911.896 214.91041 0 3902.2985 12.691129 - 6400 18834.642 411.87123 0 3899.7678 -1.9447856 - 6450 20216.311 158.39781 0 3902.1591 2.6009109 - 6500 20452.025 114.97122 0 3902.3832 0.14644416 - 6550 19142.589 357.34097 0 3902.2649 2.8968485 - 6600 20412.915 122.08784 0 3902.2573 3.1343105 - 6650 17317.867 699.39994 0 3906.4123 42.25563 - 6700 20479.771 109.8036 0 3902.3537 1.3520625 - 6750 20306.902 142.12484 0 3902.6623 2.2032106 - 6800 20755.367 58.994834 0 3902.5814 -0.90518094 - 6850 20471.259 111.7197 0 3902.6936 1.5799331 - 6900 20702.025 69.15032 0 3902.8586 9.3910371 - 6950 20477.695 110.34414 0 3902.5099 1.8181164 - 7000 20560.727 95.057704 0 3902.5998 -15.686006 - 7050 20336.675 136.39386 0 3902.4448 1.3704327 - 7100 20757.399 58.950153 0 3902.913 -6.4250981 - 7150 20870.958 38.095649 0 3903.088 -4.1962169 - 7200 20706.869 68.489134 0 3903.0944 2.8322659 - 7250 20386.713 127.7432 0 3903.0604 6.0287391 - 7300 18391.773 497.21001 0 3903.0939 19.202343 - 7350 20178.898 166.4993 0 3903.3322 1.5682417 - 7400 16858.704 781.78682 0 3903.7691 21.317514 - 7450 17509.513 660.71963 0 3903.2221 -5.9456143 - 7500 19974.601 204.20412 0 3903.2043 -0.69202711 - 7550 20917.053 29.73415 0 3903.2626 -3.9962577 - 7600 20923.518 28.482703 0 3903.2083 -1.9016251 - 7650 20549.528 97.630612 0 3903.0987 3.5512257 - 7700 20861.441 39.903885 0 3903.1337 2.4426264 - 7750 18843.349 413.64461 0 3903.1537 2.677739 - 7800 20616.054 85.214364 0 3903.0021 3.9639004 - 7850 16478.851 851.93376 0 3903.5728 7.3763128 - 7900 20312.115 141.35103 0 3902.8539 4.6707271 - 7950 20389.623 127.16589 0 3903.0219 3.4414001 - 8000 20452.117 115.30715 0 3902.7362 -1.0162528 - 8050 20857.093 40.791886 0 3903.2164 -15.150068 - 8100 19817.543 233.4997 0 3903.415 0.89346046 - 8150 18649.521 449.9112 0 3903.5262 -0.40053588 - 8200 19619.276 270.37616 0 3903.5754 5.5161492 - 8250 20393.176 127.01336 0 3903.5275 2.122613 - 8300 19145.912 358.00424 0 3903.5435 3.863924 - 8350 19636.311 267.17226 0 3903.5262 -7.1496084 - 8400 19086.332 368.86693 0 3903.3729 7.0968952 - 8450 19494.416 292.89527 0 3902.9723 3.1750935 - 8500 20041.919 191.77756 0 3903.244 0.95215503 - 8550 20357.561 133.15478 0 3903.0736 -0.14020152 - 8600 16998.797 756.07003 0 3903.9954 -16.724408 - 8650 20853.26 41.386996 0 3903.1017 -3.2612965 - 8700 20767.768 57.360884 0 3903.2438 1.1157649 - 8750 20752.546 60.106518 0 3903.1705 0.39130547 - 8800 20574.407 92.99798 0 3903.0734 0.61728166 - 8850 20326.99 138.94203 0 3903.1995 -1.9434522 - 8900 17408.108 679.53222 0 3903.2559 21.935371 - 8950 20471.21 112.2721 0 3903.2368 1.8142747 - 9000 19129.591 360.35257 0 3902.8694 4.5786395 - 9050 20439.668 117.89541 0 3903.0191 2.5585685 - 9100 20780.375 54.788664 0 3903.0062 3.8312459 - 9150 19904.559 216.61504 0 3902.6445 12.150414 - 9200 20961.295 21.52065 0 3903.2419 -0.2120699 - 9250 19315.252 326.44175 0 3903.3402 -19.740867 - 9300 20653.002 78.77764 0 3903.4076 -7.8068233 - 9350 18961.572 391.20947 0 3902.6117 -12.660843 - 9400 16262.179 892.67633 0 3904.191 22.2435 - 9450 17064.394 743.33301 0 3903.406 36.139436 - 9500 18075.588 555.06436 0 3902.3954 24.598176 - 9550 20487.738 109.06287 0 3903.0884 2.6320759 - 9600 20358.609 133.36993 0 3903.4828 0.76449113 - 9650 19849.022 228.46312 0 3904.208 9.5547064 - 9700 20448.112 116.8757 0 3903.5632 -1.0845697 - 9750 20472.78 112.51661 0 3903.7722 -0.30676738 - 9800 19491.99 293.35361 0 3902.9814 -20.10857 - 9850 19895.603 218.42479 0 3902.7957 -0.18235641 - 9900 19704.336 254.55068 0 3903.5019 14.553184 - 9950 17689.462 627.9788 0 3903.805 4.9918088 - 10000 20184.205 165.29396 0 3903.1097 2.9472364 -Loop time of 2.2898 on 1 procs for 10000 steps with 81 atoms - -Performance: 37732.583 tau/day, 4367.197 timesteps/s -99.2% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.053341 | 0.053341 | 0.053341 | 0.0 | 2.33 -Neigh | 0.056174 | 0.056174 | 0.056174 | 0.0 | 2.45 -Comm | 0.0087028 | 0.0087028 | 0.0087028 | 0.0 | 0.38 -Output | 0.0036774 | 0.0036774 | 0.0036774 | 0.0 | 0.16 -Modify | 2.1598 | 2.1598 | 2.1598 | 0.0 | 94.32 -Other | | 0.008128 | | | 0.35 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 113 ave 113 max 113 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 582 ave 582 max 582 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 582 -Ave neighs/atom = 7.1851852 -Neighbor list builds = 993 -Dangerous builds = 950 -Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems2.g++.4 b/examples/rigid/log.20Mar22.rigid.poems2.g++.4 deleted file mode 100644 index 89585cd109..0000000000 --- a/examples/rigid/log.20Mar22.rigid.poems2.g++.4 +++ /dev/null @@ -1,330 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.000 seconds - -velocity all create 100.0 4928459 - -# 2 chains of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 -fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -2 clusters, 9 bodies, 7 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems2 - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: - -@Article{Mukherjee08, - author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, - title = {Substructured molecular dynamics using multibody dynamics algorithms}, - journal = {Intl.~J.~Non-linear Mechanics}, - year = 2008, - volume = 43, - pages = {1045--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 10 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 = 18 18 18 - 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.514 | 3.545 | 3.639 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 196.00047 3632.2347 0 3668.5311 -2.7403788 - 50 12774.759 1538.7382 0 3904.4344 18.086358 - 100 19803.641 237.21132 0 3904.5523 -3.1528278 - 150 20259.6 152.62072 0 3904.3985 -4.6173524 - 200 20705.978 69.977039 0 3904.4174 9.0928122 - 250 19552.211 283.50525 0 3904.285 15.670466 - 300 19266.324 333.5792 0 3901.4169 7.2119197 - 350 20738.325 63.738945 0 3904.1694 -23.03999 - 400 20616.682 86.082444 0 3903.9864 -13.783584 - 450 19831.326 230.13858 0 3902.6063 0.42074361 - 500 20365.825 131.47271 0 3902.9217 0.69215592 - 550 20794.102 52.163238 0 3902.9229 4.5895354 - 600 20853.873 40.899172 0 3902.7275 2.3593042 - 650 19255.802 336.29509 0 3902.1844 10.341742 - 700 18526.969 471.02462 0 3901.9448 -0.61898691 - 750 18960.662 391.26068 0 3902.4944 12.04731 - 800 20142.432 172.05197 0 3902.1319 4.6838632 - 850 19932.48 210.71175 0 3901.9118 3.4716031 - 900 20243.528 153.13972 0 3901.9411 3.6490762 - 950 20388.132 126.88722 0 3902.4671 -4.4518463 - 1000 20076.333 184.61915 0 3902.4586 -2.272315 - 1050 20859.506 39.696993 0 3902.5684 6.45166 - 1100 15284.661 1072.1908 0 3902.6836 21.194042 - 1150 19658.317 261.99809 0 3902.4272 -2.8744219 - 1200 20767.681 56.717095 0 3902.5839 -34.817444 - 1250 20625.583 82.586198 0 3902.1386 11.697328 - 1300 20690.013 71.006478 0 3902.4903 -29.29278 - 1350 20936.019 26.022786 0 3903.0634 1.0316025 - 1400 19753.56 244.81784 0 3902.8844 6.7138497 - 1450 15690.149 998.34213 0 3903.9252 48.124569 - 1500 20234.455 155.92516 0 3903.0465 13.172207 - 1550 20779.631 55.063019 0 3903.1428 -2.6390455 - 1600 20642.753 80.233821 0 3902.9659 -2.4688431 - 1650 18785.698 423.90364 0 3902.7365 -5.6466892 - 1700 20965.076 20.760451 0 3903.182 -0.45366172 - 1750 18935.412 396.95958 0 3903.5173 25.913174 - 1800 20581.554 91.757912 0 3903.1567 3.8218442 - 1850 20616.949 85.184789 0 3903.1382 4.1907933 - 1900 16601.896 828.43849 0 3902.8638 -0.49468175 - 1950 20175.564 166.52646 0 3902.7421 5.6035728 - 2000 20262.525 150.28224 0 3902.6017 -1.1967705 - 2050 20168.994 167.65314 0 3902.6521 -0.80723928 - 2100 19810.955 232.96524 0 3901.6605 3.1936531 - 2150 20667.232 75.645145 0 3902.9103 0.54812734 - 2200 19863.772 224.34646 0 3902.8228 7.9294465 - 2250 18808.943 419.2084 0 3902.3461 14.344526 - 2300 20573.665 92.761842 0 3902.6999 -6.7671703 - 2350 19075.104 369.95414 0 3902.3809 -9.5353568 - 2400 20273.873 148.53775 0 3902.9586 -1.93796 - 2450 20087.769 182.30216 0 3902.2593 2.131796 - 2500 20711.602 67.530554 0 3903.0124 2.6280244 - 2550 19971.224 204.75926 0 3903.134 3.1760522 - 2600 20620.084 85.027145 0 3903.5612 -0.92888063 - 2650 19737.546 248.65474 0 3903.7559 -3.3218688 - 2700 20650.724 79.522243 0 3903.7303 -7.5918025 - 2750 19863.245 225.2505 0 3903.6292 9.2140221 - 2800 18992.457 386.73547 0 3903.8572 2.6244537 - 2850 18703.899 440.48356 0 3904.1685 14.561348 - 2900 17939.805 581.74599 0 3903.932 -8.0863089 - 2950 20867.516 39.38186 0 3903.7367 3.0985423 - 3000 19767.994 242.8847 0 3903.6243 1.5943109 - 3050 20397.448 126.31591 0 3903.6212 -0.14982775 - 3100 20978.114 19.126395 0 3903.9623 -9.6797253 - 3150 18303.556 513.8514 0 3903.3989 4.5940322 - 3200 19156.505 356.46608 0 3903.9671 10.071308 - 3250 17484.205 666.52199 0 3904.3377 -4.1641768 - 3300 18069.94 557.75947 0 3904.0447 11.868707 - 3350 20855.645 41.964632 0 3904.1212 5.4186293 - 3400 18011.986 568.76255 0 3904.3155 25.262783 - 3450 18669.69 446.92755 0 3904.2776 -4.194499 - 3500 20248.799 154.22147 0 3903.9991 3.9211572 - 3550 20226.024 158.64726 0 3904.2072 1.5299114 - 3600 20267.02 151.25631 0 3904.4082 -8.9821729 - 3650 20522.946 103.65382 0 3904.1994 -14.433796 - 3700 20892.319 35.294614 0 3904.2426 -21.264596 - 3750 19942.202 211.02993 0 3904.0304 -1.6428817 - 3800 20421.678 122.08118 0 3903.8734 1.7137935 - 3850 17899.53 588.82593 0 3903.5536 -24.450276 - 3900 20721.119 66.486999 0 3903.7312 -7.1772088 - 3950 20946.484 24.799445 0 3903.778 -0.4028037 - 4000 20985.362 17.608355 0 3903.7865 4.7522266 - 4050 19969.779 205.46466 0 3903.5719 18.941639 - 4100 20479.578 110.56561 0 3903.08 2.3715952 - 4150 18110.701 549.53348 0 3903.367 1.133321 - 4200 19321.098 325.58216 0 3903.5634 -3.7574942 - 4250 20734.436 63.87616 0 3903.5865 0.48350623 - 4300 19446.823 302.1727 0 3903.4362 4.0462392 - 4350 20494.669 108.1918 0 3903.501 2.9789077 - 4400 20379.244 129.61413 0 3903.5482 4.0881089 - 4450 19710.564 253.4251 0 3903.5295 5.3334683 - 4500 20744.753 61.785082 0 3903.406 4.0015409 - 4550 19948.024 208.76984 0 3902.8484 2.705423 - 4600 18367.368 502.69569 0 3904.0602 21.476471 - 4650 20559.367 96.133242 0 3903.4234 2.2549454 - 4700 20940.135 25.547808 0 3903.3505 -8.9042666 - 4750 20128.703 175.82088 0 3903.3584 -8.1450176 - 4800 20632.27 82.543887 0 3903.3347 -0.55649542 - 4850 19864.539 224.63792 0 3903.2563 7.1553461 - 4900 19332.037 323.15561 0 3903.1625 17.020214 - 4950 19055.575 373.68069 0 3902.4908 10.149457 - 5000 20219.484 159.21383 0 3903.5627 3.1806346 - 5050 17557.761 652.32864 0 3903.7659 10.733736 - 5100 20615.337 85.795304 0 3903.4503 -3.6035636 - 5150 20759.853 59.155843 0 3903.573 2.0152286 - 5200 20082.007 184.39375 0 3903.2839 -5.3745109 - 5250 18689.521 442.59842 0 3903.6208 -9.8911164 - 5300 20038.496 192.34221 0 3903.1749 -2.1437039 - 5350 19897.455 218.70142 0 3903.4154 0.64582116 - 5400 18732.385 434.21543 0 3903.1755 12.98676 - 5450 19831.487 230.79099 0 3903.2886 11.439958 - 5500 20079.89 184.6953 0 3903.1935 4.0906279 - 5550 20453.497 115.47128 0 3903.1559 7.8844436 - 5600 16673.041 815.52661 0 3903.1267 -20.17797 - 5650 19691.378 256.6412 0 3903.1928 3.7103317 - 5700 20345.743 135.29997 0 3903.0302 5.6373816 - 5750 20769.613 56.906603 0 3903.1312 -17.564762 - 5800 20713.369 67.38314 0 3903.1922 -5.340631 - 5850 20799.947 51.348865 0 3903.1909 -2.7827653 - 5900 19581.933 273.51588 0 3899.7997 12.347375 - 5950 20444.438 116.909 0 3902.9161 -0.74896654 - 6000 18970.948 389.99664 0 3903.1352 26.642912 - 6050 19414.753 307.13217 0 3902.4568 25.86316 - 6100 20780.042 54.586474 0 3902.7424 1.5387425 - 6150 20885.872 35.091585 0 3902.8456 -8.251884 - 6200 19825.81 231.40943 0 3902.8558 6.7196589 - 6250 20578.278 92.255994 0 3903.0481 -5.9647091 - 6300 20093.43 181.8699 0 3902.8754 -9.9906069 - 6350 20605.294 87.180289 0 3902.9755 -3.5643876 - 6400 19737.257 247.84828 0 3902.8958 -4.2783347 - 6450 19884.717 220.81633 0 3903.1714 3.8758905 - 6500 18719.372 436.94802 0 3903.4984 1.7865904 - 6550 20096.883 181.63346 0 3903.2784 2.395512 - 6600 20888.673 35.003062 0 3903.2758 2.7728947 - 6650 20437.85 118.16373 0 3902.9507 8.1456757 - 6700 19241.051 339.73065 0 3902.8882 13.740454 - 6750 20407.542 123.94326 0 3903.1177 7.6285942 - 6800 20536.785 99.976706 0 3903.0851 8.3496632 - 6850 20625.328 83.579677 0 3903.0849 6.5074992 - 6900 20705.37 68.944625 0 3903.2724 3.1905177 - 6950 18872.424 408.67134 0 3903.5647 6.2638845 - 7000 20072.762 186.18051 0 3903.3586 -22.780407 - 7050 20461.879 114.07495 0 3903.3117 -11.495523 - 7100 19811.566 234.50237 0 3903.3108 1.1212695 - 7150 20742.918 61.884088 0 3903.1651 -3.7907508 - 7200 20911.192 30.599903 0 3903.0429 -7.0262304 - 7250 20879.755 36.30274 0 3902.9241 -5.8018787 - 7300 20682.32 72.703261 0 3902.7626 -3.3446789 - 7350 19401.046 309.70672 0 3902.493 3.4836528 - 7400 20220.542 157.83897 0 3902.3838 2.3400031 - 7450 17691.193 625.47764 0 3901.6244 25.239568 - 7500 19745.294 245.02566 0 3901.5615 5.3622843 - 7550 19685.719 256.70983 0 3902.2133 3.4560563 - 7600 18830.192 415.10021 0 3902.1727 -0.10282681 - 7650 19613.136 270.18979 0 3902.2521 8.2241536 - 7700 20989.015 15.636879 0 3902.4915 1.2955204 - 7750 20301.583 142.90625 0 3902.4586 0.12548373 - 7800 18360.147 502.50342 0 3902.5307 17.117272 - 7850 20796.478 51.032537 0 3902.2321 -3.0993883 - 7900 20284.267 145.64296 0 3901.9887 -1.2682383 - 7950 20280.983 146.13471 0 3901.8723 3.5999841 - 8000 20915.869 28.730821 0 3902.0399 2.4987291 - 8050 20745.162 60.19981 0 3901.8964 4.0643481 - 8100 20509.039 103.70462 0 3901.6748 1.0771863 - 8150 20212.97 158.64893 0 3901.7916 3.0000215 - 8200 20323.463 138.25912 0 3901.8634 -1.2802945 - 8250 19997.284 198.37183 0 3901.5727 -2.6431964 - 8300 20138.402 171.75824 0 3901.092 1.7669897 - 8350 20367.568 130.22531 0 3901.9972 -1.2153731 - 8400 19945.534 208.35675 0 3901.9741 1.6021151 - 8450 20112.534 177.18642 0 3901.7298 2.2413008 - 8500 20686.7 71.116816 0 3901.9873 2.2888545 - 8550 18081.94 553.83586 0 3902.3432 7.8257937 - 8600 18320.081 505.67086 0 3898.2784 16.554878 - 8650 20235.305 154.43021 0 3901.709 3.1740823 - 8700 20355.413 132.22512 0 3901.746 4.3436482 - 8750 20087.188 182.11349 0 3901.9631 10.422134 - 8800 20400.795 124.09819 0 3902.0232 2.1179177 - 8850 20678.731 72.825797 0 3902.2204 -3.4491441 - 8900 20372.643 129.5072 0 3902.2189 -8.2166415 - 8950 20851.731 40.899364 0 3902.331 -5.8382839 - 9000 20318.076 139.61775 0 3902.2243 -4.1960802 - 9050 16879.415 776.53739 0 3902.3549 -14.429475 - 9100 19135.149 358.68223 0 3902.2284 -15.50479 - 9150 20689.556 70.939656 0 3902.339 -2.9876179 - 9200 19949.801 207.54882 0 3901.9564 6.4259245 - 9250 20207.027 160.2813 0 3902.3233 1.7402195 - 9300 20030.005 192.99466 0 3902.2548 5.300728 - 9350 19795.291 236.24003 0 3902.0347 5.8677745 - 9400 18232.093 526.18752 0 3902.501 19.344893 - 9450 18789.641 422.30568 0 3901.8687 -7.5185247 - 9500 16332.599 874.10423 0 3898.6597 16.241378 - 9550 18572.572 462.19972 0 3901.5649 -10.777359 - 9600 19859.645 223.32209 0 3901.0341 0.89631957 - 9650 19092.741 365.35768 0 3901.0504 6.7830005 - 9700 18391.154 495.72792 0 3901.4972 6.0683847 - 9750 17790.092 608.60997 0 3903.0714 8.2090184 - 9800 17681.783 628.99951 0 3903.4038 14.231747 - 9850 17804.412 605.54067 0 3902.654 22.308453 - 9900 19134.472 359.37911 0 3902.7999 8.5633158 - 9950 20099.055 180.28604 0 3902.3332 4.7905855 - 10000 20035.447 192.30744 0 3902.5754 1.8299201 -Loop time of 2.31994 on 4 procs for 10000 steps with 81 atoms - -Performance: 37242.315 tau/day, 4310.453 timesteps/s -99.4% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0052789 | 0.014781 | 0.038634 | 11.4 | 0.64 -Neigh | 0.0081228 | 0.016514 | 0.033404 | 7.7 | 0.71 -Comm | 0.12269 | 0.13668 | 0.14951 | 3.1 | 5.89 -Output | 0.0034489 | 0.0039413 | 0.0050811 | 1.1 | 0.17 -Modify | 2.1036 | 2.1312 | 2.1509 | 1.2 | 91.86 -Other | | 0.01685 | | | 0.73 - -Nlocal: 20.25 ave 36 max 0 min -Histogram: 1 0 0 0 0 1 1 0 0 1 -Nghost: 35.25 ave 47 max 24 min -Histogram: 1 0 1 0 0 0 0 1 0 1 -Neighs: 137.5 ave 252 max 0 min -Histogram: 1 0 0 1 0 0 0 0 1 1 - -Total # of neighbors = 550 -Ave neighs/atom = 6.7901235 -Neighbor list builds = 994 -Dangerous builds = 956 -Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems3.g++.1 b/examples/rigid/log.20Mar22.rigid.poems3.g++.1 deleted file mode 100644 index b565d9f79d..0000000000 --- a/examples/rigid/log.20Mar22.rigid.poems3.g++.1 +++ /dev/null @@ -1,329 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.000 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all poems file unconnected-bodies.dat -WARNING: No joints between rigid bodies, use fix rigid instead (src/POEMS/fix_poems.cpp:1035) -9 clusters, 9 bodies, 0 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: - -@Article{Mukherjee08, - author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, - title = {Substructured molecular dynamics using multibody dynamics algorithms}, - journal = {Intl.~J.~Non-linear Mechanics}, - year = 2008, - volume = 43, - pages = {1045--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 10 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 = 18 18 18 - 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.666 | 3.666 | 3.666 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.686 571.71596 0 5265.8207 32.006226 - 100 16298.5 136.65142 0 5267.6607 16.443791 - 150 16682.639 17.488068 0 5269.43 14.900278 - 200 16733.955 1.3724268 0 5269.4692 14.569123 - 250 16738.877 -0.15250573 0 5269.4939 14.496287 - 300 16738.611 -0.05516662 0 5269.5077 14.495909 - 350 16738.515 -0.01744351 0 5269.5152 14.496329 - 400 16738.488 -0.0060096677 0 5269.5178 14.496497 - 450 16738.479 -0.0012712918 0 5269.5199 14.496575 - 500 16738.479 -0.00081070354 0 5269.5203 14.49658 - 550 16738.479 -0.00083205205 0 5269.5203 14.496577 - 600 16738.479 -0.0005835658 0 5269.5206 14.49658 - 650 16738.479 -0.00047227225 0 5269.5206 14.496583 - 700 16738.479 0 0 5269.521 14.496593 - 750 16738.479 0 0 5269.5211 14.496595 - 800 16738.479 0 0 5269.5211 14.496596 - 850 16738.479 0 0 5269.5211 14.496595 - 900 16738.479 0 0 5269.5212 14.496593 - 950 16738.485 -0.003532391 0 5269.5196 14.496546 - 1000 16738.609 -0.051135033 0 5269.5109 14.496098 - 1050 16737.381 0.32991002 0 5269.5055 14.525627 - 1100 16737.915 0.16210932 0 5269.5058 14.531848 - 1150 16738.726 -0.089235332 0 5269.5098 14.509768 - 1200 16738.49 -0.0075446298 0 5269.5169 14.510489 - 1250 16738.48 0 0 5269.5214 14.510585 - 1300 16738.48 0 0 5269.5214 14.510587 - 1350 16738.48 0 0 5269.5215 14.510588 - 1400 16738.48 -0.00044742303 0 5269.5211 14.510581 - 1450 16738.481 -0.0010975104 0 5269.5207 14.51057 - 1500 16738.481 -0.00057925965 0 5269.5211 14.510575 - 1550 16738.48 0 0 5269.5216 14.510582 - 1600 16738.48 0 0 5269.5216 14.510581 - 1650 16738.481 0 0 5269.5216 14.510581 - 1700 16738.481 0 0 5269.5217 14.510582 - 1750 16738.481 0 0 5269.5217 14.510583 - 1800 16738.481 0 0 5269.5217 14.510585 - 1850 16738.481 0 0 5269.5218 14.510585 - 1900 16738.481 0 0 5269.5218 14.510585 - 1950 16738.487 -0.0031700155 0 5269.5206 14.510534 - 2000 16738.514 -0.013238802 0 5269.5188 14.510401 - 2050 16738.578 -0.03654435 0 5269.5158 14.510155 - 2100 16738.656 -0.063182323 0 5269.5137 14.510082 - 2150 16738.63 -0.056004395 0 5269.5127 14.510096 - 2200 16738.579 -0.038415873 0 5269.5143 14.510273 - 2250 16738.538 -0.023709094 0 5269.516 14.510414 - 2300 16738.512 -0.013252539 0 5269.5182 14.510501 - 2350 16738.491 -0.0045593284 0 5269.5203 14.510598 - 2400 16738.482 -0.00052242487 0 5269.5217 14.510655 - 2450 16738.486 -0.0023245722 0 5269.5211 14.510627 - 2500 16738.491 -0.005189304 0 5269.5197 14.510606 - 2550 16738.604 -0.044988104 0 5269.5155 14.510185 - 2600 16738.446 0.00096754005 0 5269.5117 14.510521 - 2650 16732.887 1.753125 0 5269.5138 14.598792 - 2700 16738.784 -0.10629556 0 5269.5107 14.499176 - 2750 16734.136 1.359459 0 5269.5135 14.594678 - 2800 16738.608 -0.047184149 0 5269.5147 14.510254 - 2850 16738.509 -0.012527238 0 5269.5181 14.509344 - 2900 16738.487 -0.0026065529 0 5269.521 14.509512 - 2950 16738.498 -0.0082248532 0 5269.519 14.509457 - 3000 16738.683 -0.071294028 0 5269.514 14.509005 - 3050 16717.444 6.5874862 0 5269.4864 14.834144 - 3100 16657.654 25.431253 0 5269.5074 14.467824 - 3150 16739.322 -0.28964062 0 5269.497 13.658821 - 3200 16733.615 1.4969789 0 5269.487 11.998304 - 3250 16737.289 0.35071214 0 5269.4974 11.918931 - 3300 16732.493 1.8663821 0 5269.503 12.109003 - 3350 16738.717 -0.087719164 0 5269.5085 11.979747 - 3400 16738.586 -0.045267897 0 5269.5095 11.97972 - 3450 16738.662 -0.071274216 0 5269.5076 11.979564 - 3500 16738.853 -0.13644992 0 5269.5026 11.979658 - 3550 16729.612 2.7475277 0 5269.4774 12.195939 - 3600 16728.659 3.0596069 0 5269.4893 12.241248 - 3650 16738.923 -0.15949792 0 5269.5014 11.991857 - 3700 16738.76 -0.10695054 0 5269.5028 11.992932 - 3750 16738.751 -0.10105954 0 5269.5057 11.993137 - 3800 16738.597 -0.048627545 0 5269.5097 11.993456 - 3850 16738.507 -0.016053927 0 5269.5138 11.992973 - 3900 16738.485 -0.0060825487 0 5269.5169 11.993052 - 3950 16738.475 -0.0014953722 0 5269.5183 11.993119 - 4000 16738.472 -0.00054315391 0 5269.5184 11.99315 - 4050 16738.472 -0.00023792127 0 5269.5187 11.993172 - 4100 16738.472 0 0 5269.5189 11.993188 - 4150 16738.472 0 0 5269.5189 11.993188 - 4200 16738.472 0 0 5269.519 11.993178 - 4250 16738.472 0 0 5269.519 11.993164 - 4300 16738.472 0 0 5269.5191 11.993152 - 4350 16738.473 0 0 5269.5191 11.993147 - 4400 16738.473 0 0 5269.5192 11.993149 - 4450 16738.473 0 0 5269.5192 11.993158 - 4500 16738.473 0 0 5269.5193 11.99317 - 4550 16738.473 0 0 5269.5193 11.993176 - 4600 16738.473 0 0 5269.5194 11.993174 - 4650 16738.473 0 0 5269.5194 11.993167 - 4700 16738.474 0 0 5269.5195 11.993162 - 4750 16738.474 0 0 5269.5195 11.99316 - 4800 16738.474 0 0 5269.5196 11.99316 - 4850 16738.474 0 0 5269.5196 11.993163 - 4900 16738.474 0 0 5269.5197 11.99317 - 4950 16738.474 0 0 5269.5197 11.993176 - 5000 16738.475 0 0 5269.5198 11.993174 - 5050 16738.475 0 0 5269.5198 11.993165 - 5100 16738.475 0 0 5269.5199 11.993155 - 5150 16738.475 0 0 5269.5199 11.99315 - 5200 16738.475 0 0 5269.52 11.993153 - 5250 16738.475 0 0 5269.52 11.993161 - 5300 16738.476 0 0 5269.5201 11.993173 - 5350 16738.476 0 0 5269.5201 11.993185 - 5400 16738.476 0 0 5269.5202 11.993189 - 5450 16738.476 0 0 5269.5202 11.993181 - 5500 16738.476 0 0 5269.5203 11.993165 - 5550 16738.483 -0.0030091905 0 5269.5195 11.993097 - 5600 16738.534 -0.020777802 0 5269.5177 11.992799 - 5650 16738.649 -0.059321662 0 5269.5153 11.993266 - 5700 16409.08 103.75288 0 5269.5745 23.626238 - 5750 16738.578 -0.036776519 0 5269.5155 11.910545 - 5800 16738.484 -0.0047306177 0 5269.518 11.911008 - 5850 16738.477 -0.00022082692 0 5269.5202 11.911078 - 5900 16738.477 -0.00033136078 0 5269.5203 11.91107 - 5950 16738.478 -0.00036902212 0 5269.5203 11.911052 - 6000 16738.477 0 0 5269.5206 11.911044 - 6050 16738.477 0 0 5269.5207 11.911034 - 6100 16738.478 0 0 5269.5207 11.911032 - 6150 16738.478 0 0 5269.5208 11.911037 - 6200 16738.478 0 0 5269.5208 11.911049 - 6250 16738.478 0 0 5269.5209 11.911062 - 6300 16738.478 0 0 5269.5209 11.911068 - 6350 16738.478 0 0 5269.521 11.911065 - 6400 16738.478 0 0 5269.521 11.911058 - 6450 16738.479 0 0 5269.5211 11.911052 - 6500 16738.479 0 0 5269.5211 11.911047 - 6550 16738.479 0 0 5269.5212 11.911046 - 6600 16738.479 0 0 5269.5212 11.911049 - 6650 16738.479 0 0 5269.5213 11.911056 - 6700 16738.479 0 0 5269.5213 11.911062 - 6750 16738.48 0 0 5269.5214 11.91106 - 6800 16738.48 0 0 5269.5214 11.911051 - 6850 16738.48 0 0 5269.5215 11.911044 - 6900 16738.48 0 0 5269.5215 11.911041 - 6950 16738.48 0 0 5269.5216 11.911045 - 7000 16738.48 0 0 5269.5216 11.911053 - 7050 16738.481 0 0 5269.5217 11.911063 - 7100 16738.481 0 0 5269.5217 11.911071 - 7150 16738.481 0 0 5269.5218 11.911072 - 7200 16738.481 0 0 5269.5218 11.911063 - 7250 16738.481 0 0 5269.5219 11.911048 - 7300 16738.481 0 0 5269.5219 11.911036 - 7350 16738.482 0 0 5269.522 11.911031 - 7400 16738.482 0 0 5269.522 11.911035 - 7450 16738.482 0 0 5269.5221 11.911046 - 7500 16738.482 0 0 5269.5221 11.911062 - 7550 16738.482 0 0 5269.5222 11.911077 - 7600 16738.482 0 0 5269.5222 11.911081 - 7650 16738.483 0 0 5269.5223 11.911071 - 7700 16738.483 0 0 5269.5223 11.911054 - 7750 16738.483 0 0 5269.5224 11.911039 - 7800 16738.483 0 0 5269.5224 11.911031 - 7850 16738.483 0 0 5269.5225 11.911031 - 7900 16738.483 0 0 5269.5226 11.911039 - 7950 16738.484 0 0 5269.5226 11.911052 - 8000 16738.484 0 0 5269.5227 11.911065 - 8050 16738.484 0 0 5269.5227 11.91107 - 8100 16738.484 0 0 5269.5228 11.911065 - 8150 16738.484 0 0 5269.5228 11.911056 - 8200 16738.484 0 0 5269.5229 11.911047 - 8250 16738.485 0 0 5269.5229 11.911042 - 8300 16738.485 0 0 5269.523 11.911041 - 8350 16738.485 0 0 5269.523 11.911046 - 8400 16738.485 0 0 5269.5231 11.911055 - 8450 16738.485 0 0 5269.5231 11.911062 - 8500 16738.485 0 0 5269.5232 11.91106 - 8550 16738.486 0 0 5269.5232 11.911053 - 8600 16738.487 -0.00084974054 0 5269.5227 11.911032 - 8650 16738.486 0 0 5269.5233 11.911046 - 8700 16738.486 0 0 5269.5234 11.91105 - 8750 16738.486 0 0 5269.5235 11.911056 - 8800 16738.486 0 0 5269.5235 11.911063 - 8850 16738.487 -0.000227631 0 5269.5234 11.911065 - 8900 16738.487 0 0 5269.5236 11.911068 - 8950 16738.487 0 0 5269.5237 11.911058 - 9000 16738.487 0 0 5269.5237 11.911045 - 9050 16738.487 0 0 5269.5238 11.911036 - 9100 16738.487 0 0 5269.5238 11.911034 - 9150 16738.488 0 0 5269.5239 11.91104 - 9200 16738.488 0 0 5269.5239 11.911052 - 9250 16738.488 0 0 5269.524 11.911068 - 9300 16738.488 0 0 5269.524 11.911079 - 9350 16738.488 0 0 5269.5241 11.911078 - 9400 16738.492 -0.0016306436 0 5269.5235 11.911038 - 9450 16738.492 -0.0032567429 0 5269.522 11.911005 - 9500 16738.495 -0.0036645351 0 5269.5224 11.910982 - 9550 16738.49 -0.0010673912 0 5269.5237 11.911012 - 9600 16738.489 0 0 5269.5244 11.911032 - 9650 16738.489 0 0 5269.5244 11.911043 - 9700 16738.49 0 0 5269.5245 11.911058 - 9750 16738.49 0 0 5269.5245 11.911071 - 9800 16738.49 0 0 5269.5246 11.911073 - 9850 16738.49 0 0 5269.5246 11.911065 - 9900 16738.49 0 0 5269.5247 11.911053 - 9950 16738.491 -0.00058544643 0 5269.5243 11.911032 - 10000 16738.493 -0.0015244931 0 5269.5242 11.911015 -Loop time of 2.30195 on 1 procs for 10000 steps with 81 atoms - -Performance: 37533.440 tau/day, 4344.148 timesteps/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0076839 | 0.0076839 | 0.0076839 | 0.0 | 0.33 -Neigh | 0.029562 | 0.029562 | 0.029562 | 0.0 | 1.28 -Comm | 0.0084877 | 0.0084877 | 0.0084877 | 0.0 | 0.37 -Output | 0.0037958 | 0.0037958 | 0.0037958 | 0.0 | 0.16 -Modify | 2.2446 | 2.2446 | 2.2446 | 0.0 | 97.51 -Other | | 0.00785 | | | 0.34 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 69 ave 69 max 69 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 4 ave 4 max 4 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 4 -Ave neighs/atom = 0.049382716 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems3.g++.4 b/examples/rigid/log.20Mar22.rigid.poems3.g++.4 deleted file mode 100644 index 39fd6245e0..0000000000 --- a/examples/rigid/log.20Mar22.rigid.poems3.g++.4 +++ /dev/null @@ -1,329 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.000 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all poems file unconnected-bodies.dat -WARNING: No joints between rigid bodies, use fix rigid instead (src/POEMS/fix_poems.cpp:1035) -9 clusters, 9 bodies, 0 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: - -@Article{Mukherjee08, - author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, - title = {Substructured molecular dynamics using multibody dynamics algorithms}, - journal = {Intl.~J.~Non-linear Mechanics}, - year = 2008, - volume = 43, - pages = {1045--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 10 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 = 18 18 18 - 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.514 | 3.545 | 3.639 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.686 571.71596 0 5265.8207 32.006226 - 100 16298.5 136.65142 0 5267.6607 16.443791 - 150 16682.639 17.488068 0 5269.43 14.900278 - 200 16733.955 1.3724268 0 5269.4692 14.569123 - 250 16738.877 -0.15250573 0 5269.4939 14.496287 - 300 16738.611 -0.05516662 0 5269.5077 14.495909 - 350 16738.515 -0.01744351 0 5269.5152 14.496329 - 400 16738.488 -0.0060096677 0 5269.5178 14.496497 - 450 16738.479 -0.0012712918 0 5269.5199 14.496575 - 500 16738.479 -0.00081070354 0 5269.5203 14.49658 - 550 16738.479 -0.00083205205 0 5269.5203 14.496577 - 600 16738.479 -0.0005835658 0 5269.5206 14.49658 - 650 16738.479 -0.00047227225 0 5269.5206 14.496583 - 700 16738.479 0 0 5269.521 14.496593 - 750 16738.479 0 0 5269.5211 14.496595 - 800 16738.479 0 0 5269.5211 14.496596 - 850 16738.479 0 0 5269.5211 14.496595 - 900 16738.479 0 0 5269.5212 14.496593 - 950 16738.485 -0.003532391 0 5269.5196 14.496546 - 1000 16738.609 -0.051135033 0 5269.5109 14.496098 - 1050 16737.381 0.32991002 0 5269.5055 14.525627 - 1100 16737.915 0.16210932 0 5269.5058 14.531848 - 1150 16738.726 -0.089235332 0 5269.5098 14.509768 - 1200 16738.49 -0.0075446298 0 5269.5169 14.510489 - 1250 16738.48 0 0 5269.5214 14.510585 - 1300 16738.48 0 0 5269.5214 14.510587 - 1350 16738.48 0 0 5269.5215 14.510588 - 1400 16738.48 -0.00044742303 0 5269.5211 14.510581 - 1450 16738.481 -0.0010975104 0 5269.5207 14.51057 - 1500 16738.481 -0.00057925965 0 5269.5211 14.510575 - 1550 16738.48 0 0 5269.5216 14.510582 - 1600 16738.48 0 0 5269.5216 14.510581 - 1650 16738.481 0 0 5269.5216 14.510581 - 1700 16738.481 0 0 5269.5217 14.510582 - 1750 16738.481 0 0 5269.5217 14.510583 - 1800 16738.481 0 0 5269.5217 14.510585 - 1850 16738.481 0 0 5269.5218 14.510585 - 1900 16738.481 0 0 5269.5218 14.510585 - 1950 16738.487 -0.0031700155 0 5269.5206 14.510534 - 2000 16738.514 -0.013238802 0 5269.5188 14.510401 - 2050 16738.578 -0.03654435 0 5269.5158 14.510155 - 2100 16738.656 -0.063182323 0 5269.5137 14.510082 - 2150 16738.63 -0.056004395 0 5269.5127 14.510096 - 2200 16738.579 -0.038415873 0 5269.5143 14.510273 - 2250 16738.538 -0.023709094 0 5269.516 14.510414 - 2300 16738.512 -0.013252539 0 5269.5182 14.510501 - 2350 16738.491 -0.0045593284 0 5269.5203 14.510598 - 2400 16738.482 -0.00052242487 0 5269.5217 14.510655 - 2450 16738.486 -0.0023245722 0 5269.5211 14.510627 - 2500 16738.491 -0.005189304 0 5269.5197 14.510606 - 2550 16738.604 -0.044988104 0 5269.5155 14.510185 - 2600 16738.446 0.0009675401 0 5269.5117 14.510521 - 2650 16732.887 1.753125 0 5269.5138 14.598792 - 2700 16738.784 -0.10629556 0 5269.5107 14.499176 - 2750 16734.136 1.359459 0 5269.5135 14.594678 - 2800 16738.608 -0.047184149 0 5269.5147 14.510254 - 2850 16738.509 -0.012527238 0 5269.5181 14.509344 - 2900 16738.487 -0.0026065529 0 5269.521 14.509512 - 2950 16738.498 -0.0082248532 0 5269.519 14.509457 - 3000 16738.683 -0.071294028 0 5269.514 14.509005 - 3050 16717.444 6.5874862 0 5269.4864 14.834144 - 3100 16657.654 25.431253 0 5269.5074 14.467824 - 3150 16739.322 -0.28964062 0 5269.497 13.658821 - 3200 16733.615 1.4969789 0 5269.487 11.998304 - 3250 16737.289 0.35071214 0 5269.4974 11.918931 - 3300 16732.493 1.8663821 0 5269.503 12.109003 - 3350 16738.717 -0.087719164 0 5269.5085 11.979747 - 3400 16738.586 -0.045267897 0 5269.5095 11.97972 - 3450 16738.662 -0.071274216 0 5269.5076 11.979564 - 3500 16738.853 -0.13644992 0 5269.5026 11.979658 - 3550 16729.612 2.7475277 0 5269.4774 12.195939 - 3600 16728.659 3.059607 0 5269.4893 12.241248 - 3650 16738.923 -0.15949792 0 5269.5014 11.991857 - 3700 16738.76 -0.10695054 0 5269.5028 11.992932 - 3750 16738.751 -0.10105954 0 5269.5057 11.993137 - 3800 16738.597 -0.048627545 0 5269.5097 11.993456 - 3850 16738.507 -0.016053927 0 5269.5138 11.992973 - 3900 16738.485 -0.0060825487 0 5269.5169 11.993052 - 3950 16738.475 -0.0014953722 0 5269.5183 11.993119 - 4000 16738.472 -0.00054315391 0 5269.5184 11.99315 - 4050 16738.472 -0.00023792126 0 5269.5187 11.993172 - 4100 16738.472 0 0 5269.5189 11.993188 - 4150 16738.472 0 0 5269.5189 11.993188 - 4200 16738.472 0 0 5269.519 11.993178 - 4250 16738.472 0 0 5269.519 11.993164 - 4300 16738.472 0 0 5269.5191 11.993152 - 4350 16738.473 0 0 5269.5191 11.993147 - 4400 16738.473 0 0 5269.5192 11.993149 - 4450 16738.473 0 0 5269.5192 11.993158 - 4500 16738.473 0 0 5269.5193 11.99317 - 4550 16738.473 0 0 5269.5193 11.993176 - 4600 16738.473 0 0 5269.5194 11.993174 - 4650 16738.473 0 0 5269.5194 11.993167 - 4700 16738.474 0 0 5269.5195 11.993162 - 4750 16738.474 0 0 5269.5195 11.99316 - 4800 16738.474 0 0 5269.5196 11.99316 - 4850 16738.474 0 0 5269.5196 11.993163 - 4900 16738.474 0 0 5269.5197 11.99317 - 4950 16738.474 0 0 5269.5197 11.993176 - 5000 16738.475 0 0 5269.5198 11.993174 - 5050 16738.475 0 0 5269.5198 11.993165 - 5100 16738.475 0 0 5269.5199 11.993155 - 5150 16738.475 0 0 5269.5199 11.99315 - 5200 16738.475 0 0 5269.52 11.993153 - 5250 16738.475 0 0 5269.52 11.993161 - 5300 16738.476 0 0 5269.5201 11.993173 - 5350 16738.476 0 0 5269.5201 11.993185 - 5400 16738.476 0 0 5269.5202 11.993189 - 5450 16738.476 0 0 5269.5202 11.993181 - 5500 16738.476 0 0 5269.5203 11.993165 - 5550 16738.483 -0.0030091905 0 5269.5195 11.993097 - 5600 16738.534 -0.020777802 0 5269.5177 11.992799 - 5650 16738.649 -0.059321662 0 5269.5153 11.993266 - 5700 16409.08 103.75288 0 5269.5745 23.626238 - 5750 16738.578 -0.036776519 0 5269.5155 11.910545 - 5800 16738.484 -0.0047306177 0 5269.518 11.911008 - 5850 16738.477 -0.00022082692 0 5269.5202 11.911078 - 5900 16738.477 -0.00033136078 0 5269.5203 11.91107 - 5950 16738.478 -0.00036902212 0 5269.5203 11.911052 - 6000 16738.477 0 0 5269.5206 11.911044 - 6050 16738.477 0 0 5269.5207 11.911034 - 6100 16738.478 0 0 5269.5207 11.911032 - 6150 16738.478 0 0 5269.5208 11.911037 - 6200 16738.478 0 0 5269.5208 11.911049 - 6250 16738.478 0 0 5269.5209 11.911062 - 6300 16738.478 0 0 5269.5209 11.911068 - 6350 16738.478 0 0 5269.521 11.911065 - 6400 16738.478 0 0 5269.521 11.911058 - 6450 16738.479 0 0 5269.5211 11.911052 - 6500 16738.479 0 0 5269.5211 11.911047 - 6550 16738.479 0 0 5269.5212 11.911046 - 6600 16738.479 0 0 5269.5212 11.911049 - 6650 16738.479 0 0 5269.5213 11.911056 - 6700 16738.479 0 0 5269.5213 11.911062 - 6750 16738.48 0 0 5269.5214 11.91106 - 6800 16738.48 0 0 5269.5214 11.911051 - 6850 16738.48 0 0 5269.5215 11.911044 - 6900 16738.48 0 0 5269.5215 11.911041 - 6950 16738.48 0 0 5269.5216 11.911045 - 7000 16738.48 0 0 5269.5216 11.911053 - 7050 16738.481 0 0 5269.5217 11.911063 - 7100 16738.481 0 0 5269.5217 11.911071 - 7150 16738.481 0 0 5269.5218 11.911072 - 7200 16738.481 0 0 5269.5218 11.911063 - 7250 16738.481 0 0 5269.5219 11.911048 - 7300 16738.481 0 0 5269.5219 11.911036 - 7350 16738.482 0 0 5269.522 11.911031 - 7400 16738.482 0 0 5269.522 11.911035 - 7450 16738.482 0 0 5269.5221 11.911046 - 7500 16738.482 0 0 5269.5221 11.911062 - 7550 16738.482 0 0 5269.5222 11.911077 - 7600 16738.482 0 0 5269.5222 11.911081 - 7650 16738.483 0 0 5269.5223 11.911071 - 7700 16738.483 0 0 5269.5223 11.911054 - 7750 16738.483 0 0 5269.5224 11.911039 - 7800 16738.483 0 0 5269.5224 11.911031 - 7850 16738.483 0 0 5269.5225 11.911031 - 7900 16738.483 0 0 5269.5226 11.911039 - 7950 16738.484 0 0 5269.5226 11.911052 - 8000 16738.484 0 0 5269.5227 11.911065 - 8050 16738.484 0 0 5269.5227 11.91107 - 8100 16738.484 0 0 5269.5228 11.911065 - 8150 16738.484 0 0 5269.5228 11.911056 - 8200 16738.484 0 0 5269.5229 11.911047 - 8250 16738.485 0 0 5269.5229 11.911042 - 8300 16738.485 0 0 5269.523 11.911041 - 8350 16738.485 0 0 5269.523 11.911046 - 8400 16738.485 0 0 5269.5231 11.911055 - 8450 16738.485 0 0 5269.5231 11.911062 - 8500 16738.485 0 0 5269.5232 11.91106 - 8550 16738.486 0 0 5269.5232 11.911053 - 8600 16738.487 -0.00084974055 0 5269.5227 11.911032 - 8650 16738.486 0 0 5269.5233 11.911046 - 8700 16738.486 0 0 5269.5234 11.91105 - 8750 16738.486 0 0 5269.5235 11.911056 - 8800 16738.486 0 0 5269.5235 11.911063 - 8850 16738.487 -0.000227631 0 5269.5234 11.911065 - 8900 16738.487 0 0 5269.5236 11.911068 - 8950 16738.487 0 0 5269.5237 11.911058 - 9000 16738.487 0 0 5269.5237 11.911045 - 9050 16738.487 0 0 5269.5238 11.911036 - 9100 16738.487 0 0 5269.5238 11.911034 - 9150 16738.488 0 0 5269.5239 11.91104 - 9200 16738.488 0 0 5269.5239 11.911052 - 9250 16738.488 0 0 5269.524 11.911068 - 9300 16738.488 0 0 5269.524 11.911079 - 9350 16738.488 0 0 5269.5241 11.911078 - 9400 16738.492 -0.0016306433 0 5269.5235 11.911038 - 9450 16738.492 -0.0032567425 0 5269.522 11.911005 - 9500 16738.495 -0.0036645345 0 5269.5224 11.910982 - 9550 16738.49 -0.001067391 0 5269.5237 11.911012 - 9600 16738.489 0 0 5269.5244 11.911032 - 9650 16738.489 0 0 5269.5244 11.911043 - 9700 16738.49 0 0 5269.5245 11.911058 - 9750 16738.49 0 0 5269.5245 11.911071 - 9800 16738.49 0 0 5269.5246 11.911073 - 9850 16738.49 0 0 5269.5246 11.911065 - 9900 16738.49 0 0 5269.5247 11.911053 - 9950 16738.491 -0.00058544648 0 5269.5243 11.911032 - 10000 16738.493 -0.0015244933 0 5269.5242 11.911015 -Loop time of 2.36483 on 4 procs for 10000 steps with 81 atoms - -Performance: 36535.358 tau/day, 4228.629 timesteps/s -99.4% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0030635 | 0.0035263 | 0.0040903 | 0.7 | 0.15 -Neigh | 0.0093439 | 0.01002 | 0.010976 | 0.6 | 0.42 -Comm | 0.11912 | 0.12509 | 0.13346 | 1.5 | 5.29 -Output | 0.003411 | 0.0038449 | 0.0050123 | 1.1 | 0.16 -Modify | 2.1961 | 2.2052 | 2.2137 | 0.5 | 93.25 -Other | | 0.01717 | | | 0.73 - -Nlocal: 20.25 ave 27 max 9 min -Histogram: 1 0 0 0 0 1 0 0 0 2 -Nghost: 31.5 ave 51 max 15 min -Histogram: 1 0 0 1 0 1 0 0 0 1 -Neighs: 1 ave 4 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 4 -Ave neighs/atom = 0.049382716 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems4.g++.1 b/examples/rigid/log.20Mar22.rigid.poems4.g++.1 deleted file mode 100644 index e2febc5ed9..0000000000 --- a/examples/rigid/log.20Mar22.rigid.poems4.g++.1 +++ /dev/null @@ -1,328 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.000 seconds - -velocity all create 100.0 4928459 - -# 1 chain of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 36 45 -10 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -fix 1 all poems file connected-bodies.dat -1 clusters, 9 bodies, 8 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: - -@Article{Mukherjee08, - author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, - title = {Substructured molecular dynamics using multibody dynamics algorithms}, - journal = {Intl.~J.~Non-linear Mechanics}, - year = 2008, - volume = 43, - pages = {1045--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 10 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 = 18 18 18 - 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.666 | 3.666 | 3.666 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 217.7783 3430.3907 0 3466.6871 -2.7403788 - 50 13679.637 1404.2468 0 3684.1863 12.446066 - 100 16777.225 888.87665 0 3685.0808 -31.828677 - 150 19595.365 418.45042 0 3684.3446 40.709078 - 200 18524.188 596.47273 0 3683.8375 -0.8159371 - 250 21015.789 180.96521 0 3683.5967 -10.042469 - 300 20785.513 219.25314 0 3683.5053 2.6452719 - 350 21072.46 171.2554 0 3683.3321 7.0609024 - 400 19956.414 356.36381 0 3682.4328 19.320259 - 450 20724.42 227.73284 0 3681.8028 8.1259249 - 500 20152.578 322.71466 0 3681.4777 5.4929878 - 550 20017.022 345.29701 0 3681.4673 5.4661666 - 600 17897.743 698.72196 0 3681.6791 3.2854742 - 650 17297.758 796.60256 0 3679.5623 15.191113 - 700 18581.934 584.29715 0 3681.2861 5.1588289 - 750 21774.158 52.821062 0 3681.8474 -10.775664 - 800 21604.055 81.188546 0 3681.8644 -3.2045742 - 850 17821.483 711.53827 0 3681.7854 7.438428 - 900 21033.292 175.98127 0 3681.5299 -16.345167 - 950 20968.166 186.59847 0 3681.2929 -2.330456 - 1000 20490.66 266.19374 0 3681.3037 11.787982 - 1050 20222.396 310.94072 0 3681.34 -8.3459539 - 1100 21321.687 127.61533 0 3681.2299 -1.2184716 - 1150 20849.582 206.01696 0 3680.9472 -0.86699118 - 1200 21815.003 45.317409 0 3681.1512 1.5988314 - 1250 18655.437 572.41453 0 3681.654 10.064083 - 1300 20780.781 217.36511 0 3680.8286 6.0538604 - 1350 20558.971 254.36489 0 3680.8601 -3.6773868 - 1400 21485.029 99.812844 0 3680.6511 -16.185479 - 1450 21771.107 52.159653 0 3680.6775 -2.4756655 - 1500 21520.949 93.503876 0 3680.3286 2.1023573 - 1550 21351.419 121.6813 0 3680.2511 5.5159876 - 1600 20778.804 216.92191 0 3680.0559 15.089203 - 1650 21477.636 100.21873 0 3679.8247 -1.1045277 - 1700 18501.33 596.4807 0 3680.0357 -15.6798 - 1750 18563.64 587.34824 0 3681.2882 33.532308 - 1800 19110.175 494.82517 0 3679.8543 18.024074 - 1850 21364.178 119.23765 0 3679.9339 2.5290144 - 1900 20146.588 322.15509 0 3679.9197 5.7317299 - 1950 20692.676 231.25264 0 3680.0319 4.297803 - 2000 20943.902 189.11251 0 3679.7629 -22.643824 - 2050 19667.823 401.86882 0 3679.8394 3.6241915 - 2100 20280.125 299.81485 0 3679.8357 7.4804047 - 2150 19181.201 483.6306 0 3680.4975 22.63342 - 2200 21301.144 130.54014 0 3680.7308 4.7074288 - 2250 20484.876 266.98315 0 3681.1291 -8.6578278 - 2300 18648.161 573.07329 0 3681.1001 -5.2550954 - 2350 21515.748 95.243054 0 3681.201 -9.386512 - 2400 21462.551 104.18267 0 3681.2745 -29.46442 - 2450 20107.732 330.99437 0 3682.2831 35.38497 - 2500 20771.509 220.47713 0 3682.3953 -12.324858 - 2550 20499.887 265.58494 0 3682.2327 -22.713874 - 2600 21462.182 105.24427 0 3682.2747 -10.175788 - 2650 21004.949 181.51383 0 3682.3387 4.949195 - 2700 18673.552 570.45017 0 3682.7089 21.201437 - 2750 21257.562 139.198 0 3682.1249 -7.5793039 - 2800 21559.645 88.844759 0 3682.119 -6.2360467 - 2850 20865.227 204.46262 0 3682.0004 0.39575069 - 2900 19428.614 443.93293 0 3682.0352 12.796676 - 2950 19630.1 410.18487 0 3681.8681 -0.50572623 - 3000 19663.218 404.06316 0 3681.2661 6.0827093 - 3050 19087.572 500.8452 0 3682.1073 -6.3526476 - 3100 18229.94 643.77681 0 3682.1001 11.453637 - 3150 18927.492 527.51919 0 3682.1011 -1.662863 - 3200 18320.514 628.55895 0 3681.978 21.176126 - 3250 18204.677 647.96462 0 3682.0775 11.331521 - 3300 19231.978 477.02117 0 3682.3509 3.8381593 - 3350 18153.44 656.70376 0 3682.2772 15.135615 - 3400 17476.768 770.0598 0 3682.8545 -3.394312 - 3450 21097.531 166.17241 0 3682.4276 3.74301 - 3500 17605.784 747.54808 0 3681.8454 3.3420627 - 3550 19238.34 476.00608 0 3682.3961 1.1413836 - 3600 18155.288 656.57434 0 3682.4557 3.4360446 - 3650 18735.622 559.2377 0 3681.8413 28.760363 - 3700 15310.261 1134.4215 0 3686.1317 44.207018 - 3750 15377.116 1123.4786 0 3686.3313 7.6773215 - 3800 18798.895 549.05928 0 3682.2084 -12.905825 - 3850 18322.563 628.87744 0 3682.6379 -16.067793 - 3900 19963.049 355.65441 0 3682.8292 3.4694064 - 3950 19925.48 361.2507 0 3682.1641 5.0058567 - 4000 19141.423 492.41081 0 3682.648 -12.782769 - 4050 20022.241 345.61655 0 3682.6568 -3.0149905 - 4100 21348.635 124.95646 0 3683.0624 -4.85779 - 4150 21011.812 181.1132 0 3683.0819 -3.9526196 - 4200 20222.276 312.63945 0 3683.0187 -23.63437 - 4250 20957.757 189.77152 0 3682.731 -1.3712469 - 4300 20070.215 337.5751 0 3682.611 -6.8816517 - 4350 21322.437 129.09228 0 3682.8318 -6.9442178 - 4400 19440.445 442.77531 0 3682.8495 -0.11606236 - 4450 20964.516 188.67174 0 3682.7577 4.8533525 - 4500 13530.08 1428.5497 0 3683.563 12.333187 - 4550 20461.637 272.58882 0 3682.8616 4.5111943 - 4600 17072.994 836.58228 0 3682.0812 5.7611617 - 4650 18860.748 539.82027 0 3683.2782 -2.5558958 - 4700 18373.927 621.04093 0 3683.3621 5.4020702 - 4750 20321.437 296.63662 0 3683.5428 8.9571617 - 4800 21083.122 169.84086 0 3683.6946 10.566368 - 4850 20499.669 267.7012 0 3684.3128 4.2924237 - 4900 20308.781 300.38168 0 3685.1785 -12.396923 - 4950 21043.303 178.56295 0 3685.7801 3.8923762 - 5000 20718.383 232.52208 0 3685.5859 -12.43234 - 5050 21005.749 184.4363 0 3685.3945 -7.6463487 - 5100 20714.133 233.27745 0 3685.6329 -1.6944135 - 5150 19577.452 422.73035 0 3685.639 -21.831219 - 5200 14044.647 1343.9545 0 3684.729 -6.8407194 - 5250 19089.805 504.0893 0 3685.7235 4.05641 - 5300 21094.745 169.94699 0 3685.7378 -0.66593212 - 5350 19907.559 366.77598 0 3684.7024 1.5248525 - 5400 20382.81 289.13263 0 3686.2676 -11.919321 - 5450 19593.693 420.70548 0 3686.3209 -1.1568628 - 5500 20906.08 202.09801 0 3686.4447 -2.4284971 - 5550 16315.465 965.56973 0 3684.8138 -33.178221 - 5600 19714.57 400.39687 0 3686.1586 19.950231 - 5650 20561.724 259.54797 0 3686.502 8.2074524 - 5700 19349.502 460.7789 0 3685.6959 16.252649 - 5750 21006.818 185.56805 0 3686.7044 -11.96089 - 5800 20268.2 307.97547 0 3686.0089 17.322311 - 5850 21018.322 184.16179 0 3687.2154 -14.379909 - 5900 19695.647 404.57094 0 3687.1787 -20.718904 - 5950 21021.687 183.66311 0 3687.2776 -15.206081 - 6000 18947.535 529.30554 0 3687.2281 17.863927 - 6050 15272.373 1141.012 0 3686.4075 -0.43375666 - 6100 17766.197 721.75792 0 3682.7908 11.378913 - 6150 18612.573 584.06688 0 3686.1623 17.543241 - 6200 19005.155 518.97146 0 3686.4973 -16.223107 - 6250 20997.507 187.55499 0 3687.1394 -11.613546 - 6300 19639.901 413.58048 0 3686.8974 14.407136 - 6350 19580.399 423.02818 0 3686.428 -5.5801796 - 6400 14134.119 1332.0662 0 3687.7527 84.864425 - 6450 21598.824 87.419966 0 3687.224 -5.8358352 - 6500 18208.216 649.29108 0 3683.9938 -8.1510884 - 6550 19364.586 459.59813 0 3687.0291 -12.053563 - 6600 20710.927 235.11914 0 3686.9403 -1.0470193 - 6650 21132.334 165.08091 0 3687.1366 1.0785471 - 6700 20217.285 317.589 0 3687.1365 0.055447462 - 6750 21232.279 148.57412 0 3687.2873 -2.4551657 - 6800 20292.683 304.76539 0 3686.8793 -0.42311295 - 6850 19056.291 510.49927 0 3686.5478 6.9533826 - 6900 20429.82 282.23764 0 3687.2076 -4.2360112 - 6950 21281.278 140.27361 0 3687.1533 -0.07475261 - 7000 17173.388 824.54446 0 3686.7758 10.753828 - 7050 18079.7 674.56274 0 3687.846 12.975804 - 7100 16433.233 950.73904 0 3689.6112 -10.5102 - 7150 19033.335 515.59672 0 3687.8193 0.29109447 - 7200 17286.428 809.02352 0 3690.0948 2.3015698 - 7250 16811.962 886.6645 0 3688.6582 -7.4787512 - 7300 15992.461 1023.4849 0 3688.895 -5.2354222 - 7350 19211.451 487.63129 0 3689.5398 8.4351737 - 7400 19065.682 511.95629 0 3689.57 -12.47448 - 7450 21369.265 128.10098 0 3689.6451 2.2930546 - 7500 16807.109 888.64602 0 3689.8308 14.761969 - 7550 18063.046 679.21873 0 3689.7264 3.8950434 - 7600 17794.987 724.55404 0 3690.3851 14.379016 - 7650 17904.751 706.14354 0 3690.2688 23.813776 - 7700 19670.09 411.3021 0 3689.6504 14.099245 - 7750 18082.562 675.23975 0 3689.0001 15.788521 - 7800 17776.135 726.91445 0 3689.6037 6.9780735 - 7850 17062.575 846.33412 0 3690.0966 -8.9289256 - 7900 19059.2 513.07737 0 3689.6107 16.992843 - 7950 16269.685 978.48914 0 3690.1033 11.180179 - 8000 20115.278 336.91405 0 3689.4604 -6.4882518 - 8050 21173.72 161.15229 0 3690.1056 -2.2164491 - 8100 19238.235 484.42784 0 3690.8004 23.412709 - 8150 18438.4 617.58743 0 3690.6542 0.89156316 - 8200 21438.764 117.12721 0 3690.2546 -1.7193227 - 8250 21195.806 157.66607 0 3690.3003 3.820447 - 8300 21177.549 161.13702 0 3690.7286 0.94938203 - 8350 21060.267 181.06887 0 3691.1135 2.8179025 - 8400 20087.113 343.46206 0 3691.3142 8.1484473 - 8450 19298.478 474.87133 0 3691.2843 -16.239664 - 8500 21654.353 82.083485 0 3691.1423 -8.1464138 - 8550 19920.544 371.34795 0 3691.4386 20.765144 - 8600 21692.293 75.655154 0 3691.0373 -13.316763 - 8650 21231.322 151.8989 0 3690.4526 -11.388238 - 8700 19530.647 434.89585 0 3690.0037 2.7433786 - 8750 19720.63 403.07773 0 3689.8493 -6.416414 - 8800 21321.378 136.04091 0 3689.604 1.3661635 - 8850 19811.906 387.80489 0 3689.7893 3.704143 - 8900 19734.167 400.92444 0 3689.9523 2.5685155 - 8950 21076.459 177.18119 0 3689.9244 -11.939513 - 9000 20967.246 195.42966 0 3689.9707 2.0092705 - 9050 21122.023 169.62103 0 3689.9582 2.3791301 - 9100 20169.346 328.27229 0 3689.8299 -3.5017988 - 9150 21418.641 119.84513 0 3689.6187 2.486073 - 9200 20876.042 210.26452 0 3689.6048 -5.3839897 - 9250 21572.38 93.74407 0 3689.1407 -8.3676952 - 9300 20944.78 197.98577 0 3688.7824 1.3278314 - 9350 20706.52 237.48767 0 3688.5744 4.6944204 - 9400 16412.314 953.47251 0 3688.8581 26.134976 - 9450 20461.68 277.76243 0 3688.0424 17.647445 - 9500 20893.994 205.64261 0 3687.9749 -10.642418 - 9550 20503.447 270.63504 0 3687.8761 -17.769897 - 9600 19677.799 408.05887 0 3687.692 -2.7938604 - 9650 17480.971 774.1855 0 3687.6806 0.59827043 - 9700 17799.126 721.50817 0 3688.0292 44.387928 - 9750 20443.384 280.16837 0 3687.399 3.0619324 - 9800 20545.255 263.40108 0 3687.6102 3.6229381 - 9850 20722.819 233.57142 0 3687.3745 0.86462694 - 9900 21128.462 165.09767 0 3686.508 -6.9636843 - 9950 21343.307 130.46714 0 3687.685 -9.7382705 - 10000 20623.887 250.37866 0 3687.6932 2.7529835 -Loop time of 2.28812 on 1 procs for 10000 steps with 81 atoms - -Performance: 37760.318 tau/day, 4370.407 timesteps/s -99.5% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.094122 | 0.094122 | 0.094122 | 0.0 | 4.11 -Neigh | 0.076427 | 0.076427 | 0.076427 | 0.0 | 3.34 -Comm | 0.0066867 | 0.0066867 | 0.0066867 | 0.0 | 0.29 -Output | 0.003606 | 0.003606 | 0.003606 | 0.0 | 0.16 -Modify | 2.0986 | 2.0986 | 2.0986 | 0.0 | 91.72 -Other | | 0.008698 | | | 0.38 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 62 ave 62 max 62 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 905 ave 905 max 905 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 905 -Ave neighs/atom = 11.17284 -Neighbor list builds = 991 -Dangerous builds = 927 -Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems4.g++.4 b/examples/rigid/log.20Mar22.rigid.poems4.g++.4 deleted file mode 100644 index 6240237758..0000000000 --- a/examples/rigid/log.20Mar22.rigid.poems4.g++.4 +++ /dev/null @@ -1,328 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.000 seconds - -velocity all create 100.0 4928459 - -# 1 chain of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 36 45 -10 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -fix 1 all poems file connected-bodies.dat -1 clusters, 9 bodies, 8 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: - -@Article{Mukherjee08, - author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, - title = {Substructured molecular dynamics using multibody dynamics algorithms}, - journal = {Intl.~J.~Non-linear Mechanics}, - year = 2008, - volume = 43, - pages = {1045--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 10 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 = 18 18 18 - 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.514 | 3.545 | 3.639 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 217.7783 3430.3907 0 3466.6871 -2.7403788 - 50 13679.637 1404.2468 0 3684.1863 12.446066 - 100 16777.225 888.87665 0 3685.0808 -31.828677 - 150 19595.365 418.45042 0 3684.3446 40.709078 - 200 18524.188 596.47273 0 3683.8375 -0.8159371 - 250 21015.789 180.96521 0 3683.5967 -10.042469 - 300 20785.513 219.25314 0 3683.5053 2.6452719 - 350 21072.46 171.2554 0 3683.3321 7.0609024 - 400 19956.414 356.36381 0 3682.4328 19.320259 - 450 20724.42 227.73284 0 3681.8028 8.1259249 - 500 20152.578 322.71466 0 3681.4777 5.4929878 - 550 20017.022 345.29701 0 3681.4673 5.4661666 - 600 17897.743 698.72196 0 3681.6791 3.2854742 - 650 17297.758 796.60256 0 3679.5623 15.191113 - 700 18581.934 584.29715 0 3681.2861 5.1588289 - 750 21774.158 52.821062 0 3681.8474 -10.775664 - 800 21604.055 81.188546 0 3681.8644 -3.2045742 - 850 17821.483 711.53827 0 3681.7854 7.4384281 - 900 21033.292 175.98127 0 3681.5299 -16.345167 - 950 20968.166 186.59847 0 3681.2929 -2.330456 - 1000 20490.66 266.19374 0 3681.3037 11.787982 - 1050 20222.396 310.94072 0 3681.34 -8.3459539 - 1100 21321.687 127.61533 0 3681.2299 -1.2184716 - 1150 20849.582 206.01696 0 3680.9472 -0.86699115 - 1200 21815.003 45.317409 0 3681.1512 1.5988314 - 1250 18655.437 572.41453 0 3681.654 10.064083 - 1300 20780.781 217.36511 0 3680.8286 6.0538606 - 1350 20558.971 254.36489 0 3680.8601 -3.6773868 - 1400 21485.03 99.812843 0 3680.6511 -16.185479 - 1450 21771.107 52.159652 0 3680.6775 -2.4756656 - 1500 21520.949 93.503872 0 3680.3286 2.1023574 - 1550 21351.419 121.68131 0 3680.2511 5.5159875 - 1600 20778.804 216.92191 0 3680.0559 15.089203 - 1650 21477.636 100.21877 0 3679.8247 -1.104524 - 1700 18501.329 596.48084 0 3680.0357 -15.679806 - 1750 18563.639 587.34841 0 3681.2882 33.532316 - 1800 19110.174 494.82524 0 3679.8543 18.024079 - 1850 21364.178 119.23767 0 3679.9339 2.5290075 - 1900 20146.588 322.15506 0 3679.9197 5.7317368 - 1950 20692.674 231.25288 0 3680.0319 4.2977982 - 2000 20943.904 189.11229 0 3679.7629 -22.643749 - 2050 19667.815 401.87016 0 3679.8394 3.6240972 - 2100 20280.109 299.81759 0 3679.8357 7.4803647 - 2150 19181.146 483.63975 0 3680.4974 22.634167 - 2200 21301.194 130.53171 0 3680.7308 4.7072523 - 2250 20484.79 266.99736 0 3681.1291 -8.6583002 - 2300 18648.002 573.09962 0 3681.1 -5.2548835 - 2350 21515.851 95.225745 0 3681.2009 -9.3875216 - 2400 21462.37 104.21272 0 3681.2744 -29.459857 - 2450 20108.034 330.94394 0 3682.2829 35.37058 - 2500 20771.818 220.42545 0 3682.3951 -12.318936 - 2550 20502.815 265.09577 0 3682.2316 -22.726822 - 2600 21462.006 105.2733 0 3682.2744 -10.180394 - 2650 21009.656 180.72738 0 3682.3367 4.9580828 - 2700 18680.012 569.37179 0 3682.7071 21.114114 - 2750 21256.19 139.42201 0 3682.1203 -7.4744399 - 2800 21552.267 90.071446 0 3682.1159 -6.2906304 - 2850 20879.958 202.00905 0 3682.0021 0.57990903 - 2900 19018.645 512.35214 0 3682.1262 13.883084 - 2950 19819.365 378.55747 0 3681.785 -0.7348943 - 3000 20269.229 303.35149 0 3681.5563 6.3088075 - 3050 19236.727 475.99457 0 3682.1158 -10.703575 - 3100 18391.55 616.96976 0 3682.2281 9.850079 - 3150 20258.563 305.82076 0 3682.248 7.1951283 - 3200 20716.384 229.15502 0 3681.8856 2.9042294 - 3250 18662.237 572.0784 0 3682.4512 9.2108597 - 3300 19162.278 488.60646 0 3682.3195 3.3306562 - 3350 21235.679 142.98279 0 3682.2626 0.29397483 - 3400 17677.053 736.09247 0 3682.2679 32.75269 - 3450 20852.392 206.65618 0 3682.0548 -4.8319056 - 3500 21182.918 151.46754 0 3681.9539 -5.6330382 - 3550 20589.85 250.40724 0 3682.049 12.582133 - 3600 20973.659 186.28043 0 3681.8903 10.935266 - 3650 17838.632 707.92145 0 3681.0268 -17.200926 - 3700 21538.002 92.744409 0 3682.4114 -0.72124229 - 3750 21390.294 117.90865 0 3682.9576 -7.8431786 - 3800 17921.046 696.50311 0 3683.344 -9.4641531 - 3850 20356.471 290.22624 0 3682.9715 2.4593463 - 3900 20374.077 287.10249 0 3682.782 -1.9519082 - 3950 20563.915 255.29993 0 3682.619 -6.124649 - 4000 20991.467 184.76183 0 3683.3397 1.8954961 - 4050 17805.623 716.24698 0 3683.8509 -20.454944 - 4100 19916.389 363.86301 0 3683.2611 -0.27912557 - 4150 19221.623 480.01232 0 3683.6161 -11.562492 - 4200 20526.82 261.78571 0 3682.9224 -3.9522917 - 4250 20922.813 196.1799 0 3683.3154 0.11947446 - 4300 19956.66 357.78133 0 3683.8914 19.156093 - 4350 19735.73 394.45981 0 3683.7482 14.865775 - 4400 21702.656 67.099805 0 3684.2092 -13.502538 - 4450 18163.055 656.97231 0 3684.1482 -0.6243111 - 4500 17477.718 771.25976 0 3684.2127 -0.4664004 - 4550 20676.507 238.19814 0 3684.2827 -19.444969 - 4600 17322.922 796.77058 0 3683.9242 27.003966 - 4650 11905.158 1704.9151 0 3689.1082 15.574169 - 4700 18689.079 569.80982 0 3684.6563 -14.67311 - 4750 19821.745 381.01914 0 3684.6433 5.0436795 - 4800 20621.335 247.96269 0 3684.8518 -16.407263 - 4850 21923.814 30.965964 0 3684.935 -13.418244 - 4900 18840.555 544.41538 0 3684.5079 11.005357 - 4950 15366.601 1124.2481 0 3685.3482 17.412375 - 5000 18274.314 639.01311 0 3684.732 5.3261109 - 5050 21173.687 155.83673 0 3684.7845 5.4056809 - 5100 21738.219 61.75201 0 3684.7885 -2.631945 - 5150 16597.949 918.84841 0 3685.1732 -10.124101 - 5200 20752.758 225.95919 0 3684.7522 -5.2441372 - 5250 17652.088 741.2645 0 3683.2793 2.0080739 - 5300 19907.523 366.53115 0 3684.4516 8.4266792 - 5350 20104.189 334.14522 0 3684.8433 17.21925 - 5400 21499.848 101.71631 0 3685.0243 -6.1103541 - 5450 21203.533 151.14574 0 3685.068 -5.9468503 - 5500 21076.513 172.45652 0 3685.2088 5.1418181 - 5550 20158.398 325.56609 0 3685.2992 -1.6486034 - 5600 20787.836 221.19563 0 3685.835 -10.66805 - 5650 19687.154 404.77204 0 3685.9644 -23.49128 - 5700 20419.311 282.58328 0 3685.8017 -0.52808211 - 5750 19738.522 395.95893 0 3685.7126 1.3889817 - 5800 18300.025 635.66905 0 3685.6732 23.490447 - 5850 20585.004 255.02032 0 3685.8543 -0.20699939 - 5900 20373.839 290.15881 0 3685.7987 -7.9712187 - 5950 18163.832 659.91192 0 3687.2173 5.4494586 - 6000 21049.247 177.43029 0 3685.6382 2.9138342 - 6050 21239.803 145.77613 0 3685.7433 -1.4927769 - 6100 20686.361 237.86454 0 3685.5913 -0.95516297 - 6150 20461.754 275.31546 0 3685.6079 -3.4166412 - 6200 19264.208 474.73017 0 3685.4316 11.750757 - 6250 21180.813 155.31746 0 3685.4529 2.8188219 - 6300 21047.543 177.4394 0 3685.3632 1.8641486 - 6350 20232.576 313.17716 0 3685.2731 2.8150209 - 6400 20185.616 321.33454 0 3685.6038 -3.8697311 - 6450 18969.632 523.95865 0 3685.5639 0.6725512 - 6500 17592.574 753.49959 0 3685.5952 -1.2557393 - 6550 21279.049 138.42524 0 3684.9335 -1.208945 - 6600 21408.457 116.4143 0 3684.4904 -1.5332953 - 6650 19758.218 391.17316 0 3684.2096 1.8511312 - 6700 20766.943 223.44631 0 3684.6036 -2.3672623 - 6750 20399.631 284.09914 0 3684.0377 -5.4089876 - 6800 21296.628 135.14662 0 3684.5847 -3.8442549 - 6850 20641.481 244.4451 0 3684.692 1.4020639 - 6900 20852.81 209.23009 0 3684.6984 1.8512104 - 6950 20940.555 194.66882 0 3684.7614 -6.554676 - 7000 19496.988 435.28199 0 3684.78 -15.120269 - 7050 19796.829 385.04227 0 3684.5138 -4.1068804 - 7100 19945.264 360.42431 0 3684.635 -4.0629042 - 7150 19431.123 446.12911 0 3684.6497 -6.8321751 - 7200 16864.851 873.80043 0 3684.6089 14.309069 - 7250 20438.75 277.85982 0 3684.3181 -11.41223 - 7300 17688.684 734.01576 0 3682.1298 35.938373 - 7350 21573.419 88.63421 0 3684.204 -3.9032749 - 7400 21198.486 150.72249 0 3683.8034 -7.1477117 - 7450 20586.708 252.93928 0 3684.0572 -7.6634645 - 7500 21815.377 48.180377 0 3684.0765 0.97457507 - 7550 17791.352 718.87564 0 3684.101 28.248235 - 7600 21828.874 45.928597 0 3684.0742 -0.25814944 - 7650 20827.961 212.35674 0 3683.6835 -3.4083384 - 7700 21319.176 130.43547 0 3683.6315 -12.434856 - 7750 20127.904 328.69643 0 3683.3471 -16.975711 - 7800 21741.772 59.679206 0 3683.3078 3.6261863 - 7850 19612.334 414.37418 0 3683.0964 1.3763274 - 7900 20071.318 337.74624 0 3682.9658 -0.40982763 - 7950 17925.664 695.29582 0 3682.9065 17.104439 - 8000 19125.978 492.76383 0 3680.4268 10.807662 - 8050 20233.848 310.42681 0 3682.7347 13.386237 - 8100 20551.619 257.86699 0 3683.1368 -13.97515 - 8150 21578.323 86.88362 0 3683.2708 -9.6811587 - 8200 21154.833 157.72897 0 3683.5344 0.62312375 - 8250 21321.143 129.83967 0 3683.3636 1.9536438 - 8300 21041.696 176.04177 0 3682.9911 4.7475567 - 8350 19883.39 369.32649 0 3683.2247 -7.0959328 - 8400 21626.067 79.062992 0 3683.4075 -14.919059 - 8450 21375.201 120.86836 0 3683.4019 -5.3461514 - 8500 20281.059 303.10304 0 3683.2796 3.7975093 - 8550 21170.533 154.48432 0 3682.9065 -1.1568561 - 8600 17754.931 724.00158 0 3683.1568 14.15254 - 8650 20685.478 235.65879 0 3683.2385 -5.2694179 - 8700 21489.165 101.90509 0 3683.4326 -4.2510612 - 8750 21106.682 165.41638 0 3683.1968 -3.9186708 - 8800 19149.516 491.5843 0 3683.1702 -11.419849 - 8850 21451.865 108.1814 0 3683.4923 -7.8256219 - 8900 19567.4 421.81206 0 3683.0454 -0.71997056 - 8950 20934.097 194.48033 0 3683.4965 -7.0106879 - 9000 18531.559 595.25957 0 3683.8528 3.7449399 - 9050 18868.821 537.22549 0 3682.029 9.9926092 - 9100 19972.527 354.73119 0 3683.4858 -0.30871263 - 9150 19641.651 409.18618 0 3682.7947 -1.3036238 - 9200 20019.08 346.19657 0 3682.7099 6.7425386 - 9250 19259.286 473.04973 0 3682.9308 -24.120659 - 9300 21597.757 82.971857 0 3682.598 -13.748483 - 9350 19348.379 457.23576 0 3681.9656 3.1571402 - 9400 19129.588 493.35235 0 3681.617 8.6293783 - 9450 20337.025 291.20959 0 3680.7138 6.8590795 - 9500 20581.788 249.65891 0 3679.9569 -18.892836 - 9550 19482.069 433.0077 0 3680.0192 23.029778 - 9600 19182.794 482.96871 0 3680.101 -11.081731 - 9650 20086.771 332.5311 0 3680.3263 -18.939681 - 9700 20274.046 300.98818 0 3679.9959 6.7538762 - 9750 18743.595 555.08045 0 3679.0129 8.2757138 - 9800 19464.311 435.66288 0 3679.7148 7.0528759 - 9850 21249.848 138.27382 0 3679.9152 -10.847402 - 9900 21156.214 153.84621 0 3679.8819 -7.8359674 - 9950 21643.134 72.547515 0 3679.7365 -10.507744 - 10000 19587.948 414.64942 0 3679.3075 6.1173553 -Loop time of 2.35562 on 4 procs for 10000 steps with 81 atoms - -Performance: 36678.236 tau/day, 4245.166 timesteps/s -99.3% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0055581 | 0.024882 | 0.055326 | 12.0 | 1.06 -Neigh | 0.0073809 | 0.022107 | 0.043683 | 9.2 | 0.94 -Comm | 0.12484 | 0.14528 | 0.1833 | 6.2 | 6.17 -Output | 0.0035526 | 0.0041048 | 0.0055462 | 1.3 | 0.17 -Modify | 2.1078 | 2.1414 | 2.162 | 1.5 | 90.91 -Other | | 0.0178 | | | 0.76 - -Nlocal: 20.25 ave 81 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 1 -Nghost: 41 ave 78 max 11 min -Histogram: 2 0 0 0 0 0 0 1 0 1 -Neighs: 193.5 ave 774 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 774 -Ave neighs/atom = 9.5555556 -Neighbor list builds = 989 -Dangerous builds = 915 -Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems5.g++.1 b/examples/rigid/log.20Mar22.rigid.poems5.g++.1 deleted file mode 100644 index 5a18042516..0000000000 --- a/examples/rigid/log.20Mar22.rigid.poems5.g++.1 +++ /dev/null @@ -1,329 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.000 seconds - -velocity all create 100.0 4928459 - - -# 2 chains of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -fix 1 all poems file connected-bodies2.dat -2 clusters, 9 bodies, 7 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: - -@Article{Mukherjee08, - author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, - title = {Substructured molecular dynamics using multibody dynamics algorithms}, - journal = {Intl.~J.~Non-linear Mechanics}, - year = 2008, - volume = 43, - pages = {1045--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 10 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 = 18 18 18 - 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.666 | 3.666 | 3.666 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 196.00047 3632.2347 0 3668.5311 -2.7403788 - 50 12774.759 1538.7382 0 3904.4344 18.086359 - 100 19803.641 237.21132 0 3904.5523 -3.1528278 - 150 20259.6 152.62072 0 3904.3985 -4.6173524 - 200 20705.978 69.977442 0 3904.4178 9.0928158 - 250 19552.211 283.50525 0 3904.285 15.670465 - 300 19266.324 333.5792 0 3901.4169 7.2119197 - 350 20738.325 63.738945 0 3904.1694 -23.03999 - 400 20616.682 86.082444 0 3903.9864 -13.783584 - 450 19831.326 230.13858 0 3902.6063 0.42074361 - 500 20365.825 131.47231 0 3902.9213 0.6921524 - 550 20794.102 52.163238 0 3902.9229 4.5895354 - 600 20853.873 40.899172 0 3902.7275 2.3593042 - 650 19255.802 336.29509 0 3902.1844 10.341742 - 700 18526.969 471.02462 0 3901.9448 -0.61898691 - 750 18960.662 391.26068 0 3902.4944 12.04731 - 800 20142.432 172.05177 0 3902.1317 4.6838621 - 850 19932.48 210.71175 0 3901.9118 3.4716043 - 900 20243.528 153.13972 0 3901.9411 3.6490762 - 950 20388.132 126.88722 0 3902.4671 -4.4518463 - 1000 20076.333 184.61915 0 3902.4586 -2.272315 - 1050 20859.506 39.696993 0 3902.5684 6.45166 - 1100 15284.661 1072.1908 0 3902.6836 21.194042 - 1150 19658.317 261.99809 0 3902.4272 -2.874422 - 1200 20767.681 56.717094 0 3902.5839 -34.817444 - 1250 20625.583 82.586399 0 3902.1388 11.697329 - 1300 20690.013 71.006478 0 3902.4903 -29.292777 - 1350 20936.019 26.022786 0 3903.0634 1.0316025 - 1400 19753.559 244.81785 0 3902.8844 6.7138514 - 1450 15690.149 998.342 0 3903.9252 48.124557 - 1500 20234.455 155.92516 0 3903.0465 13.17221 - 1550 20779.631 55.063009 0 3903.1428 -2.639045 - 1600 20642.753 80.233905 0 3902.9659 -2.4688467 - 1650 18785.696 423.90402 0 3902.7365 -5.6466663 - 1700 20965.076 20.760444 0 3903.182 -0.45364296 - 1750 18935.406 396.96067 0 3903.5173 25.913302 - 1800 20581.559 91.756972 0 3903.1567 3.8217234 - 1850 20616.946 85.184849 0 3903.1378 4.1907972 - 1900 16602.053 828.40949 0 3902.8637 -0.49505122 - 1950 20175.526 166.53362 0 3902.7421 5.603825 - 2000 20261.924 150.39322 0 3902.6014 -1.196958 - 2050 20170.339 167.40504 0 3902.6531 -0.80849882 - 2100 19820.132 231.26755 0 3901.6624 3.1476607 - 2150 20666.19 75.838461 0 3902.9106 0.53899287 - 2200 19873.51 222.53286 0 3902.8124 7.9310276 - 2250 18548.063 467.69698 0 3902.5235 16.905356 - 2300 20616.61 84.762399 0 3902.6531 -6.7872951 - 2350 18167.738 538.13635 0 3902.5322 -11.458285 - 2400 20120.227 177.01954 0 3902.9875 -1.2593018 - 2450 20436.599 118.32469 0 3902.8801 -6.5989174 - 2500 18919.923 400.26361 0 3903.9531 32.37476 - 2550 19675.809 259.77151 0 3903.4398 19.437327 - 2600 19739.842 247.86388 0 3903.3901 -7.519784 - 2650 20557.026 96.530313 0 3903.387 0.60211646 - 2700 20666.602 76.099892 0 3903.2484 0.16825503 - 2750 20924.585 28.453883 0 3903.3771 2.4227171 - 2800 20360.659 132.8596 0 3903.352 4.1440877 - 2850 20783.475 54.518625 0 3903.3102 -0.57312067 - 2900 20456.181 115.03745 0 3903.2191 -20.118887 - 2950 20779.493 55.321394 0 3903.3756 -0.26783079 - 3000 20011.867 197.30216 0 3903.2035 -1.4704201 - 3050 20741.875 62.208723 0 3903.2966 -7.5432815 - 3100 21001.754 14.148298 0 3903.362 2.9676438 - 3150 20244.086 154.44639 0 3903.3512 -1.9071213 - 3200 20639.615 81.136426 0 3903.2873 1.4826467 - 3250 20735.244 63.529571 0 3903.3895 2.1127055 - 3300 20142.891 173.22282 0 3903.3878 4.7739415 - 3350 19963.765 206.21899 0 3903.2126 5.5410771 - 3400 16628.667 824.13627 0 3903.519 36.087673 - 3450 19228.218 342.81569 0 3903.5968 3.1057274 - 3500 19759.293 244.57876 0 3903.707 2.2339557 - 3550 19853.21 227.06362 0 3903.584 -1.0882119 - 3600 19673.516 260.64854 0 3903.8923 -10.63775 - 3650 19619.238 270.5393 0 3903.7316 -6.3746003 - 3700 20756.865 59.790243 0 3903.6542 -8.3015766 - 3750 20265.025 150.47347 0 3903.2559 -5.7284695 - 3800 20944.683 24.669276 0 3903.3142 -0.070552298 - 3850 19344.831 320.59492 0 3902.971 13.040749 - 3900 19978.209 203.00247 0 3902.6708 0.15638133 - 3950 19864.118 224.19359 0 3902.734 0.453229 - 4000 17606.216 642.71493 0 3903.1252 -12.656002 - 4050 18017.895 566.54102 0 3903.1883 12.133906 - 4100 20092.963 182.17593 0 3903.095 7.7445947 - 4150 20555.337 96.395074 0 3902.939 -6.5429752 - 4200 20709.781 67.869199 0 3903.0138 -2.8653003 - 4250 18956.203 392.20748 0 3902.6155 -1.6249728 - 4300 17816.204 603.72704 0 3903.0241 23.089239 - 4350 18979.742 388.04678 0 3902.8138 3.2511108 - 4400 20272.085 148.82367 0 3902.9135 1.9518268 - 4450 18820.003 417.74789 0 3902.9337 6.3979299 - 4500 19991.936 200.50131 0 3902.7117 3.5118553 - 4550 20915.092 29.663898 0 3902.8291 -2.3174641 - 4600 20690.37 71.125087 0 3902.6752 -12.008575 - 4650 18893.76 404.50849 0 3903.3529 15.006184 - 4700 18611.123 456.1263 0 3902.6306 -5.3574892 - 4750 20497.821 106.5856 0 3902.4784 0.85039837 - 4800 20803.214 50.120522 0 3902.5675 3.8610873 - 4850 18849.598 411.72635 0 3902.3927 9.2029058 - 4900 18121.714 546.68042 0 3902.5533 9.4522272 - 4950 20377.499 128.99323 0 3902.6041 5.3825395 - 5000 20686.114 72.039749 0 3902.8016 -5.706271 - 5050 20180.449 165.51368 0 3902.634 -16.418461 - 5100 20274.947 148.36657 0 3902.9864 -5.6668309 - 5150 18042.324 560.74137 0 3901.9125 3.6791541 - 5200 20794.666 52.204446 0 3903.0685 -1.4517721 - 5250 19073.55 371.18834 0 3903.3272 -13.457439 - 5300 20821.412 47.364313 0 3903.1813 2.258098 - 5350 20583.073 91.271191 0 3902.9513 5.4323985 - 5400 20490.967 108.41184 0 3903.0353 4.122905 - 5450 18141.79 543.66874 0 3903.2594 -0.19951075 - 5500 20274.012 148.55528 0 3903.002 5.0489974 - 5550 17806.237 605.43454 0 3902.8858 43.80619 - 5600 20999.825 14.341937 0 3903.1983 1.0879933 - 5650 20930.929 27.025347 0 3903.1234 -7.0860209 - 5700 20677.725 73.853093 0 3903.0614 2.6864775 - 5750 20521.264 102.87509 0 3903.1092 2.6940548 - 5800 20792.571 52.596021 0 3903.0721 1.2910217 - 5850 20518.674 103.26595 0 3903.0204 -9.2547271 - 5900 18417.885 491.66696 0 3902.3865 -12.049357 - 5950 17243.837 709.37858 0 3902.6817 -6.2357188 - 6000 20262.525 149.56918 0 3901.8885 -0.28964823 - 6050 19883.554 219.14043 0 3901.2801 2.3071707 - 6100 16548.178 838.47869 0 3902.956 -11.715644 - 6150 19601.177 272.14674 0 3901.9944 -0.9008056 - 6200 20499.796 106.2363 0 3902.4949 0.79071424 - 6250 19601.106 272.50139 0 3902.3359 -1.9306693 - 6300 17210.685 712.70535 0 3899.8692 4.8890923 - 6350 19911.896 214.91041 0 3902.2985 12.691129 - 6400 18834.642 411.87123 0 3899.7678 -1.9447856 - 6450 20216.311 158.39781 0 3902.1591 2.6009109 - 6500 20452.025 114.97122 0 3902.3832 0.14644416 - 6550 19142.589 357.34097 0 3902.2649 2.8968485 - 6600 20412.915 122.08784 0 3902.2573 3.1343105 - 6650 17317.867 699.39994 0 3906.4123 42.25563 - 6700 20479.771 109.8036 0 3902.3537 1.3520625 - 6750 20306.902 142.12484 0 3902.6623 2.2032106 - 6800 20755.367 58.994834 0 3902.5814 -0.90518094 - 6850 20471.259 111.7197 0 3902.6936 1.5799331 - 6900 20702.025 69.15032 0 3902.8586 9.3910371 - 6950 20477.695 110.34414 0 3902.5099 1.8181164 - 7000 20560.727 95.057704 0 3902.5998 -15.686006 - 7050 20336.675 136.39386 0 3902.4448 1.3704327 - 7100 20757.399 58.950153 0 3902.913 -6.4250981 - 7150 20870.958 38.095649 0 3903.088 -4.1962169 - 7200 20706.869 68.489134 0 3903.0944 2.8322659 - 7250 20386.713 127.7432 0 3903.0604 6.0287391 - 7300 18391.773 497.21001 0 3903.0939 19.202343 - 7350 20178.898 166.4993 0 3903.3322 1.5682417 - 7400 16858.704 781.78682 0 3903.7691 21.317514 - 7450 17509.513 660.71963 0 3903.2221 -5.9456143 - 7500 19974.601 204.20412 0 3903.2043 -0.69202711 - 7550 20917.053 29.73415 0 3903.2626 -3.9962577 - 7600 20923.518 28.482703 0 3903.2083 -1.9016251 - 7650 20549.528 97.630612 0 3903.0987 3.5512257 - 7700 20861.441 39.903885 0 3903.1337 2.4426264 - 7750 18843.349 413.64461 0 3903.1537 2.677739 - 7800 20616.054 85.214364 0 3903.0021 3.9639004 - 7850 16478.851 851.93376 0 3903.5728 7.3763128 - 7900 20312.115 141.35103 0 3902.8539 4.6707271 - 7950 20389.623 127.16589 0 3903.0219 3.4414001 - 8000 20452.117 115.30715 0 3902.7362 -1.0162528 - 8050 20857.093 40.791886 0 3903.2164 -15.150068 - 8100 19817.543 233.4997 0 3903.415 0.89346046 - 8150 18649.521 449.9112 0 3903.5262 -0.40053588 - 8200 19619.276 270.37616 0 3903.5754 5.5161492 - 8250 20393.176 127.01336 0 3903.5275 2.122613 - 8300 19145.912 358.00424 0 3903.5435 3.863924 - 8350 19636.311 267.17226 0 3903.5262 -7.1496084 - 8400 19086.332 368.86693 0 3903.3729 7.0968952 - 8450 19494.416 292.89527 0 3902.9723 3.1750935 - 8500 20041.919 191.77756 0 3903.244 0.95215503 - 8550 20357.561 133.15478 0 3903.0736 -0.14020152 - 8600 16998.797 756.07003 0 3903.9954 -16.724408 - 8650 20853.26 41.386996 0 3903.1017 -3.2612965 - 8700 20767.768 57.360884 0 3903.2438 1.1157649 - 8750 20752.546 60.106518 0 3903.1705 0.39130547 - 8800 20574.407 92.99798 0 3903.0734 0.61728166 - 8850 20326.99 138.94203 0 3903.1995 -1.9434522 - 8900 17408.108 679.53222 0 3903.2559 21.935371 - 8950 20471.21 112.2721 0 3903.2368 1.8142747 - 9000 19129.591 360.35257 0 3902.8694 4.5786395 - 9050 20439.668 117.89541 0 3903.0191 2.5585685 - 9100 20780.375 54.788664 0 3903.0062 3.8312459 - 9150 19904.559 216.61504 0 3902.6445 12.150414 - 9200 20961.295 21.52065 0 3903.2419 -0.2120699 - 9250 19315.252 326.44175 0 3903.3402 -19.740867 - 9300 20653.002 78.77764 0 3903.4076 -7.8068233 - 9350 18961.572 391.20947 0 3902.6117 -12.660843 - 9400 16262.179 892.67633 0 3904.191 22.2435 - 9450 17064.394 743.33301 0 3903.406 36.139436 - 9500 18075.588 555.06436 0 3902.3954 24.598176 - 9550 20487.738 109.06287 0 3903.0884 2.6320759 - 9600 20358.609 133.36993 0 3903.4828 0.76449113 - 9650 19849.022 228.46312 0 3904.208 9.5547064 - 9700 20448.112 116.8757 0 3903.5632 -1.0845697 - 9750 20472.78 112.51661 0 3903.7722 -0.30676738 - 9800 19491.99 293.35361 0 3902.9814 -20.10857 - 9850 19895.603 218.42479 0 3902.7957 -0.18235641 - 9900 19704.336 254.55068 0 3903.5019 14.553184 - 9950 17689.462 627.9788 0 3903.805 4.9918088 - 10000 20184.205 165.29396 0 3903.1097 2.9472364 -Loop time of 2.28393 on 1 procs for 10000 steps with 81 atoms - -Performance: 37829.498 tau/day, 4378.414 timesteps/s -99.3% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.052911 | 0.052911 | 0.052911 | 0.0 | 2.32 -Neigh | 0.056658 | 0.056658 | 0.056658 | 0.0 | 2.48 -Comm | 0.0087389 | 0.0087389 | 0.0087389 | 0.0 | 0.38 -Output | 0.0037996 | 0.0037996 | 0.0037996 | 0.0 | 0.17 -Modify | 2.1537 | 2.1537 | 2.1537 | 0.0 | 94.30 -Other | | 0.008147 | | | 0.36 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 113 ave 113 max 113 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 582 ave 582 max 582 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 582 -Ave neighs/atom = 7.1851852 -Neighbor list builds = 993 -Dangerous builds = 950 -Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems5.g++.4 b/examples/rigid/log.20Mar22.rigid.poems5.g++.4 deleted file mode 100644 index cbf8b05490..0000000000 --- a/examples/rigid/log.20Mar22.rigid.poems5.g++.4 +++ /dev/null @@ -1,329 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.000 seconds - -velocity all create 100.0 4928459 - - -# 2 chains of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -fix 1 all poems file connected-bodies2.dat -2 clusters, 9 bodies, 7 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: - -@Article{Mukherjee08, - author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, - title = {Substructured molecular dynamics using multibody dynamics algorithms}, - journal = {Intl.~J.~Non-linear Mechanics}, - year = 2008, - volume = 43, - pages = {1045--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update every 1 steps, delay 10 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 = 18 18 18 - 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.514 | 3.545 | 3.639 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 196.00047 3632.2347 0 3668.5311 -2.7403788 - 50 12774.759 1538.7382 0 3904.4344 18.086358 - 100 19803.641 237.21132 0 3904.5523 -3.1528278 - 150 20259.6 152.62072 0 3904.3985 -4.6173524 - 200 20705.978 69.977039 0 3904.4174 9.0928122 - 250 19552.211 283.50525 0 3904.285 15.670466 - 300 19266.324 333.5792 0 3901.4169 7.2119197 - 350 20738.325 63.738945 0 3904.1694 -23.03999 - 400 20616.682 86.082444 0 3903.9864 -13.783584 - 450 19831.326 230.13858 0 3902.6063 0.42074361 - 500 20365.825 131.47271 0 3902.9217 0.69215592 - 550 20794.102 52.163238 0 3902.9229 4.5895354 - 600 20853.873 40.899172 0 3902.7275 2.3593042 - 650 19255.802 336.29509 0 3902.1844 10.341742 - 700 18526.969 471.02462 0 3901.9448 -0.61898691 - 750 18960.662 391.26068 0 3902.4944 12.04731 - 800 20142.432 172.05197 0 3902.1319 4.6838632 - 850 19932.48 210.71175 0 3901.9118 3.4716031 - 900 20243.528 153.13972 0 3901.9411 3.6490762 - 950 20388.132 126.88722 0 3902.4671 -4.4518463 - 1000 20076.333 184.61915 0 3902.4586 -2.272315 - 1050 20859.506 39.696993 0 3902.5684 6.45166 - 1100 15284.661 1072.1908 0 3902.6836 21.194042 - 1150 19658.317 261.99809 0 3902.4272 -2.8744219 - 1200 20767.681 56.717095 0 3902.5839 -34.817444 - 1250 20625.583 82.586198 0 3902.1386 11.697328 - 1300 20690.013 71.006478 0 3902.4903 -29.29278 - 1350 20936.019 26.022786 0 3903.0634 1.0316025 - 1400 19753.56 244.81784 0 3902.8844 6.7138497 - 1450 15690.149 998.34213 0 3903.9252 48.124569 - 1500 20234.455 155.92516 0 3903.0465 13.172207 - 1550 20779.631 55.063019 0 3903.1428 -2.6390455 - 1600 20642.753 80.233821 0 3902.9659 -2.4688431 - 1650 18785.698 423.90364 0 3902.7365 -5.6466892 - 1700 20965.076 20.760451 0 3903.182 -0.45366172 - 1750 18935.412 396.95958 0 3903.5173 25.913174 - 1800 20581.554 91.757912 0 3903.1567 3.8218442 - 1850 20616.949 85.184789 0 3903.1382 4.1907933 - 1900 16601.896 828.43849 0 3902.8638 -0.49468175 - 1950 20175.564 166.52646 0 3902.7421 5.6035728 - 2000 20262.525 150.28224 0 3902.6017 -1.1967705 - 2050 20168.994 167.65314 0 3902.6521 -0.80723928 - 2100 19810.955 232.96524 0 3901.6605 3.1936531 - 2150 20667.232 75.645145 0 3902.9103 0.54812734 - 2200 19863.772 224.34646 0 3902.8228 7.9294465 - 2250 18808.943 419.2084 0 3902.3461 14.344526 - 2300 20573.665 92.761842 0 3902.6999 -6.7671703 - 2350 19075.104 369.95414 0 3902.3809 -9.5353568 - 2400 20273.873 148.53775 0 3902.9586 -1.93796 - 2450 20087.769 182.30216 0 3902.2593 2.131796 - 2500 20711.602 67.530554 0 3903.0124 2.6280244 - 2550 19971.224 204.75926 0 3903.134 3.1760522 - 2600 20620.084 85.027145 0 3903.5612 -0.92888063 - 2650 19737.546 248.65474 0 3903.7559 -3.3218688 - 2700 20650.724 79.522243 0 3903.7303 -7.5918025 - 2750 19863.245 225.2505 0 3903.6292 9.2140221 - 2800 18992.457 386.73547 0 3903.8572 2.6244537 - 2850 18703.899 440.48356 0 3904.1685 14.561348 - 2900 17939.805 581.74599 0 3903.932 -8.0863089 - 2950 20867.516 39.38186 0 3903.7367 3.0985423 - 3000 19767.994 242.8847 0 3903.6243 1.5943109 - 3050 20397.448 126.31591 0 3903.6212 -0.14982775 - 3100 20978.114 19.126395 0 3903.9623 -9.6797253 - 3150 18303.556 513.8514 0 3903.3989 4.5940322 - 3200 19156.505 356.46608 0 3903.9671 10.071308 - 3250 17484.205 666.52199 0 3904.3377 -4.1641768 - 3300 18069.94 557.75947 0 3904.0447 11.868707 - 3350 20855.645 41.964632 0 3904.1212 5.4186293 - 3400 18011.986 568.76255 0 3904.3155 25.262783 - 3450 18669.69 446.92755 0 3904.2776 -4.194499 - 3500 20248.799 154.22147 0 3903.9991 3.9211572 - 3550 20226.024 158.64726 0 3904.2072 1.5299114 - 3600 20267.02 151.25631 0 3904.4082 -8.9821729 - 3650 20522.946 103.65382 0 3904.1994 -14.433796 - 3700 20892.319 35.294614 0 3904.2426 -21.264596 - 3750 19942.202 211.02993 0 3904.0304 -1.6428817 - 3800 20421.678 122.08118 0 3903.8734 1.7137935 - 3850 17899.53 588.82593 0 3903.5536 -24.450276 - 3900 20721.119 66.486999 0 3903.7312 -7.1772088 - 3950 20946.484 24.799445 0 3903.778 -0.4028037 - 4000 20985.362 17.608355 0 3903.7865 4.7522266 - 4050 19969.779 205.46466 0 3903.5719 18.941639 - 4100 20479.578 110.56561 0 3903.08 2.3715952 - 4150 18110.701 549.53348 0 3903.367 1.133321 - 4200 19321.098 325.58216 0 3903.5634 -3.7574942 - 4250 20734.436 63.87616 0 3903.5865 0.48350623 - 4300 19446.823 302.1727 0 3903.4362 4.0462392 - 4350 20494.669 108.1918 0 3903.501 2.9789077 - 4400 20379.244 129.61413 0 3903.5482 4.0881089 - 4450 19710.564 253.4251 0 3903.5295 5.3334683 - 4500 20744.753 61.785082 0 3903.406 4.0015409 - 4550 19948.024 208.76984 0 3902.8484 2.705423 - 4600 18367.368 502.69569 0 3904.0602 21.476471 - 4650 20559.367 96.133242 0 3903.4234 2.2549454 - 4700 20940.135 25.547808 0 3903.3505 -8.9042666 - 4750 20128.703 175.82088 0 3903.3584 -8.1450176 - 4800 20632.27 82.543887 0 3903.3347 -0.55649542 - 4850 19864.539 224.63792 0 3903.2563 7.1553461 - 4900 19332.037 323.15561 0 3903.1625 17.020214 - 4950 19055.575 373.68069 0 3902.4908 10.149457 - 5000 20219.484 159.21383 0 3903.5627 3.1806346 - 5050 17557.761 652.32864 0 3903.7659 10.733736 - 5100 20615.337 85.795304 0 3903.4503 -3.6035636 - 5150 20759.853 59.155843 0 3903.573 2.0152286 - 5200 20082.007 184.39375 0 3903.2839 -5.3745109 - 5250 18689.521 442.59842 0 3903.6208 -9.8911164 - 5300 20038.496 192.34221 0 3903.1749 -2.1437039 - 5350 19897.455 218.70142 0 3903.4154 0.64582116 - 5400 18732.385 434.21543 0 3903.1755 12.98676 - 5450 19831.487 230.79099 0 3903.2886 11.439958 - 5500 20079.89 184.6953 0 3903.1935 4.0906279 - 5550 20453.497 115.47128 0 3903.1559 7.8844436 - 5600 16673.041 815.52661 0 3903.1267 -20.17797 - 5650 19691.378 256.6412 0 3903.1928 3.7103317 - 5700 20345.743 135.29997 0 3903.0302 5.6373816 - 5750 20769.613 56.906603 0 3903.1312 -17.564762 - 5800 20713.369 67.38314 0 3903.1922 -5.340631 - 5850 20799.947 51.348865 0 3903.1909 -2.7827653 - 5900 19581.933 273.51588 0 3899.7997 12.347375 - 5950 20444.438 116.909 0 3902.9161 -0.74896654 - 6000 18970.948 389.99664 0 3903.1352 26.642912 - 6050 19414.753 307.13217 0 3902.4568 25.86316 - 6100 20780.042 54.586474 0 3902.7424 1.5387425 - 6150 20885.872 35.091585 0 3902.8456 -8.251884 - 6200 19825.81 231.40943 0 3902.8558 6.7196589 - 6250 20578.278 92.255994 0 3903.0481 -5.9647091 - 6300 20093.43 181.8699 0 3902.8754 -9.9906069 - 6350 20605.294 87.180289 0 3902.9755 -3.5643876 - 6400 19737.257 247.84828 0 3902.8958 -4.2783347 - 6450 19884.717 220.81633 0 3903.1714 3.8758905 - 6500 18719.372 436.94802 0 3903.4984 1.7865904 - 6550 20096.883 181.63346 0 3903.2784 2.395512 - 6600 20888.673 35.003062 0 3903.2758 2.7728947 - 6650 20437.85 118.16373 0 3902.9507 8.1456757 - 6700 19241.051 339.73065 0 3902.8882 13.740454 - 6750 20407.542 123.94326 0 3903.1177 7.6285942 - 6800 20536.785 99.976706 0 3903.0851 8.3496632 - 6850 20625.328 83.579677 0 3903.0849 6.5074992 - 6900 20705.37 68.944625 0 3903.2724 3.1905177 - 6950 18872.424 408.67134 0 3903.5647 6.2638845 - 7000 20072.762 186.18051 0 3903.3586 -22.780407 - 7050 20461.879 114.07495 0 3903.3117 -11.495523 - 7100 19811.566 234.50237 0 3903.3108 1.1212695 - 7150 20742.918 61.884088 0 3903.1651 -3.7907508 - 7200 20911.192 30.599903 0 3903.0429 -7.0262304 - 7250 20879.755 36.30274 0 3902.9241 -5.8018787 - 7300 20682.32 72.703261 0 3902.7626 -3.3446789 - 7350 19401.046 309.70672 0 3902.493 3.4836528 - 7400 20220.542 157.83897 0 3902.3838 2.3400031 - 7450 17691.193 625.47764 0 3901.6244 25.239568 - 7500 19745.294 245.02566 0 3901.5615 5.3622843 - 7550 19685.719 256.70983 0 3902.2133 3.4560563 - 7600 18830.192 415.10021 0 3902.1727 -0.10282681 - 7650 19613.136 270.18979 0 3902.2521 8.2241536 - 7700 20989.015 15.636879 0 3902.4915 1.2955204 - 7750 20301.583 142.90625 0 3902.4586 0.12548373 - 7800 18360.147 502.50342 0 3902.5307 17.117272 - 7850 20796.478 51.032537 0 3902.2321 -3.0993883 - 7900 20284.267 145.64296 0 3901.9887 -1.2682383 - 7950 20280.983 146.13471 0 3901.8723 3.5999841 - 8000 20915.869 28.730821 0 3902.0399 2.4987291 - 8050 20745.162 60.19981 0 3901.8964 4.0643481 - 8100 20509.039 103.70462 0 3901.6748 1.0771863 - 8150 20212.97 158.64893 0 3901.7916 3.0000215 - 8200 20323.463 138.25912 0 3901.8634 -1.2802945 - 8250 19997.284 198.37183 0 3901.5727 -2.6431964 - 8300 20138.402 171.75824 0 3901.092 1.7669897 - 8350 20367.568 130.22531 0 3901.9972 -1.2153731 - 8400 19945.534 208.35675 0 3901.9741 1.6021151 - 8450 20112.534 177.18642 0 3901.7298 2.2413008 - 8500 20686.7 71.116816 0 3901.9873 2.2888545 - 8550 18081.94 553.83586 0 3902.3432 7.8257937 - 8600 18320.081 505.67086 0 3898.2784 16.554878 - 8650 20235.305 154.43021 0 3901.709 3.1740823 - 8700 20355.413 132.22512 0 3901.746 4.3436482 - 8750 20087.188 182.11349 0 3901.9631 10.422134 - 8800 20400.795 124.09819 0 3902.0232 2.1179177 - 8850 20678.731 72.825797 0 3902.2204 -3.4491441 - 8900 20372.643 129.5072 0 3902.2189 -8.2166415 - 8950 20851.731 40.899364 0 3902.331 -5.8382839 - 9000 20318.076 139.61775 0 3902.2243 -4.1960802 - 9050 16879.415 776.53739 0 3902.3549 -14.429475 - 9100 19135.149 358.68223 0 3902.2284 -15.50479 - 9150 20689.556 70.939656 0 3902.339 -2.9876179 - 9200 19949.801 207.54882 0 3901.9564 6.4259245 - 9250 20207.027 160.2813 0 3902.3233 1.7402195 - 9300 20030.005 192.99466 0 3902.2548 5.300728 - 9350 19795.291 236.24003 0 3902.0347 5.8677745 - 9400 18232.093 526.18752 0 3902.501 19.344893 - 9450 18789.641 422.30568 0 3901.8687 -7.5185247 - 9500 16332.599 874.10423 0 3898.6597 16.241378 - 9550 18572.572 462.19972 0 3901.5649 -10.777359 - 9600 19859.645 223.32209 0 3901.0341 0.89631957 - 9650 19092.741 365.35768 0 3901.0504 6.7830005 - 9700 18391.154 495.72792 0 3901.4972 6.0683847 - 9750 17790.092 608.60997 0 3903.0714 8.2090184 - 9800 17681.783 628.99951 0 3903.4038 14.231747 - 9850 17804.412 605.54067 0 3902.654 22.308453 - 9900 19134.472 359.37911 0 3902.7999 8.5633158 - 9950 20099.055 180.28604 0 3902.3332 4.7905855 - 10000 20035.447 192.30744 0 3902.5754 1.8299201 -Loop time of 2.34062 on 4 procs for 10000 steps with 81 atoms - -Performance: 36913.309 tau/day, 4272.374 timesteps/s -99.3% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0052865 | 0.014915 | 0.039366 | 11.6 | 0.64 -Neigh | 0.0080708 | 0.016504 | 0.03345 | 7.7 | 0.71 -Comm | 0.1357 | 0.14237 | 0.15111 | 1.5 | 6.08 -Output | 0.0033429 | 0.0037922 | 0.0050931 | 1.2 | 0.16 -Modify | 2.1033 | 2.1433 | 2.1609 | 1.6 | 91.57 -Other | | 0.01973 | | | 0.84 - -Nlocal: 20.25 ave 36 max 0 min -Histogram: 1 0 0 0 0 1 1 0 0 1 -Nghost: 35.25 ave 47 max 24 min -Histogram: 1 0 1 0 0 0 0 1 0 1 -Neighs: 137.5 ave 252 max 0 min -Histogram: 1 0 0 1 0 0 0 0 1 1 - -Total # of neighbors = 550 -Ave neighs/atom = 6.7901235 -Neighbor list builds = 994 -Dangerous builds = 956 -Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.rigid.molecule.g++.1 b/examples/rigid/log.20Mar22.rigid.rigid.molecule.g++.1 deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/examples/rigid/log.20Mar22.rigid.rigid.molecule.g++.4 b/examples/rigid/log.20Mar22.rigid.rigid.molecule.g++.4 deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/examples/rigid/log.20Mar22.rigid.small.g++.1 b/examples/rigid/log.20Mar22.rigid.small.g++.1 deleted file mode 100644 index e34bdad80d..0000000000 --- a/examples/rigid/log.20Mar22.rigid.small.g++.1 +++ /dev/null @@ -1,322 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style bond - -pair_style lj/cut 2.5 - -read_data data.rigid.small -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/small molecule - create bodies CPU = 0.000 seconds - 9 rigid bodies with 81 atoms - 1.2247449 = max distance from body owner to body atom - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - 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 = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 9.034 | 9.034 | 9.034 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722826e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.255443 0 5269.4841 11.963561 - 3300 16732.156 1.9585966 0 5269.4893 12.234024 - 3350 16738.655 -0.079693235 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.05932751 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.092031 - 3550 16713.405 7.8460623 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663192 0 5269.4882 12.027009 - 3700 16738.602 -0.070934371 0 5269.4889 12.025288 - 3750 16737.731 0.20706562 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253348 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690678 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646809 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307407 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532803 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.0003765242 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156153 0 5269.5203 12.011611 - 9600 16738.549 -0.026814361 0 5269.5163 12.011415 - 9650 16738.765 -0.1019152 0 5269.5092 12.011013 - 9700 16735.041 1.0589855 0 5269.4979 12.062708 - 9750 16738.013 0.13550223 0 5269.5101 11.407246 - 9800 16738.512 -0.01162033 0 5269.5201 11.394974 - 9850 16738.489 -0.000672705 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984511 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395077 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.097001 on 1 procs for 10000 steps with 81 atoms - -Performance: 890712.494 tau/day, 103091.724 timesteps/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0064264 | 0.0064264 | 0.0064264 | 0.0 | 6.63 -Bond | 0.0003385 | 0.0003385 | 0.0003385 | 0.0 | 0.35 -Neigh | 0.030894 | 0.030894 | 0.030894 | 0.0 | 31.85 -Comm | 0.0065732 | 0.0065732 | 0.0065732 | 0.0 | 6.78 -Output | 0.0021773 | 0.0021773 | 0.0021773 | 0.0 | 2.24 -Modify | 0.046477 | 0.046477 | 0.046477 | 0.0 | 47.91 -Other | | 0.004115 | | | 4.24 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.small.g++.4 b/examples/rigid/log.20Mar22.rigid.small.g++.4 deleted file mode 100644 index 03bb7a39c0..0000000000 --- a/examples/rigid/log.20Mar22.rigid.small.g++.4 +++ /dev/null @@ -1,322 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style bond - -pair_style lj/cut 2.5 - -read_data data.rigid.small -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/small molecule - create bodies CPU = 0.000 seconds - 9 rigid bodies with 81 atoms - 1.2247449 = max distance from body owner to body atom - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - 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 = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 8.892 | 8.94 | 9.049 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.972281e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690665 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532812 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652435 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156165 0 5269.5203 12.011611 - 9600 16738.549 -0.02681437 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589893 0 5269.4979 12.062708 - 9750 16738.013 0.1355014 0 5269.5101 11.407246 - 9800 16738.512 -0.011620326 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270465 0 5269.5237 11.395099 - 9900 16738.489 -0.00024984533 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395077 - 10000 16738.49 0 0 5269.5246 11.395076 -Loop time of 0.115632 on 4 procs for 10000 steps with 81 atoms - -Performance: 747196.558 tau/day, 86481.083 timesteps/s -98.7% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0014528 | 0.0020376 | 0.0024938 | 0.9 | 1.76 -Bond | 0.00030255 | 0.00030731 | 0.00031718 | 0.0 | 0.27 -Neigh | 0.0089963 | 0.0094964 | 0.010494 | 0.6 | 8.21 -Comm | 0.035947 | 0.038848 | 0.040951 | 1.0 | 33.60 -Output | 0.0022924 | 0.002542 | 0.0032643 | 0.8 | 2.20 -Modify | 0.056743 | 0.058255 | 0.059447 | 0.4 | 50.38 -Other | | 0.004146 | | | 3.59 - -Nlocal: 20.25 ave 38 max 3 min -Histogram: 1 0 1 0 0 0 1 0 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 1 1 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.small.infile.g++.1 b/examples/rigid/log.20Mar22.rigid.small.infile.g++.1 deleted file mode 100644 index 7c5f672309..0000000000 --- a/examples/rigid/log.20Mar22.rigid.small.infile.g++.1 +++ /dev/null @@ -1,323 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style bond - -pair_style lj/cut 2.5 - -read_data data.rigid.small -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/small molecule infile bodyinfo.dat - create bodies CPU = 0.000 seconds - 9 rigid bodies with 81 atoms - 1.2247449 = max distance from body owner to body atom - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - 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 = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Reading rigid body data for 4 bodies from file bodyinfo.dat -Per MPI rank memory allocation (min/avg/max) = 9.034 | 9.034 | 9.034 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722817e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.05932751 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934369 0 5269.4889 12.025288 - 3750 16737.731 0.20706559 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690668 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646805 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.0007653281 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652432 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156162 0 5269.5203 12.011611 - 9600 16738.549 -0.026814368 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589884 0 5269.4979 12.062708 - 9750 16738.013 0.13550153 0 5269.5101 11.407246 - 9800 16738.512 -0.011620327 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270481 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984532 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395077 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.0973982 on 1 procs for 10000 steps with 81 atoms - -Performance: 887079.894 tau/day, 102671.284 timesteps/s -99.5% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0065928 | 0.0065928 | 0.0065928 | 0.0 | 6.77 -Bond | 0.00033457 | 0.00033457 | 0.00033457 | 0.0 | 0.34 -Neigh | 0.031245 | 0.031245 | 0.031245 | 0.0 | 32.08 -Comm | 0.0065444 | 0.0065444 | 0.0065444 | 0.0 | 6.72 -Output | 0.0024004 | 0.0024004 | 0.0024004 | 0.0 | 2.46 -Modify | 0.045966 | 0.045966 | 0.045966 | 0.0 | 47.19 -Other | | 0.004315 | | | 4.43 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.small.infile.g++.4 b/examples/rigid/log.20Mar22.rigid.small.infile.g++.4 deleted file mode 100644 index aad4e878dc..0000000000 --- a/examples/rigid/log.20Mar22.rigid.small.infile.g++.4 +++ /dev/null @@ -1,323 +0,0 @@ -LAMMPS (17 Feb 2022) -OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style bond - -pair_style lj/cut 2.5 - -read_data data.rigid.small -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/small molecule infile bodyinfo.dat - create bodies CPU = 0.000 seconds - 9 rigid bodies with 81 atoms - 1.2247449 = max distance from body owner to body atom - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - 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 = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Reading rigid body data for 4 bodies from file bodyinfo.dat -Per MPI rank memory allocation (min/avg/max) = 8.892 | 8.94 | 9.049 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722791e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585966 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.05932751 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460622 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663193 0 5269.4882 12.027009 - 3700 16738.602 -0.070934369 0 5269.4889 12.025288 - 3750 16737.731 0.20706559 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690669 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646806 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532809 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.0003765243 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156164 0 5269.5203 12.011611 - 9600 16738.549 -0.026814368 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589884 0 5269.4979 12.062708 - 9750 16738.013 0.13550185 0 5269.5101 11.407246 - 9800 16738.512 -0.011620326 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270434 0 5269.5237 11.395099 - 9900 16738.489 -0.00024984508 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395077 - 10000 16738.49 0 0 5269.5246 11.395076 -Loop time of 0.135757 on 4 procs for 10000 steps with 81 atoms - -Performance: 636433.251 tau/day, 73661.256 timesteps/s -98.4% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0020781 | 0.0024716 | 0.0032187 | 0.9 | 1.82 -Bond | 0.00029013 | 0.000332 | 0.00037076 | 0.0 | 0.24 -Neigh | 0.0087772 | 0.011705 | 0.014134 | 2.3 | 8.62 -Comm | 0.042702 | 0.045012 | 0.048023 | 1.1 | 33.16 -Output | 0.0027373 | 0.0030292 | 0.0036178 | 0.6 | 2.23 -Modify | 0.067437 | 0.068617 | 0.069634 | 0.3 | 50.54 -Other | | 0.004589 | | | 3.38 - -Nlocal: 20.25 ave 38 max 3 min -Histogram: 1 0 1 0 0 0 1 0 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 1 1 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.atomfile.g++.1 b/examples/rigid/log.25Mar24.rigid.atomfile.g++.1 new file mode 100644 index 0000000000..4f76779be7 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.atomfile.g++.1 @@ -0,0 +1,341 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic +atom_modify map array + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +variable bodies atomfile bodies.txt +fix 1 all rigid custom v_bodies + 9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +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 = 18 18 18 + 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.483 | 4.483 | 4.483 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722875e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690665 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 + 8600 16738.474 -0.0007653281 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 + 9600 16738.549 -0.026814368 0 5269.5163 12.011415 + 9650 16738.765 -0.10191522 0 5269.5092 12.011013 + 9700 16735.041 1.0589881 0 5269.4979 12.062708 + 9750 16738.013 0.13550093 0 5269.5101 11.407245 + 9800 16738.512 -0.01162033 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270581 0 5269.5237 11.395098 + 9900 16738.489 -0.0002498458 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.119912 on 1 procs for 10000 steps with 81 atoms + +Performance: 720528.892 tau/day, 83394.548 timesteps/s, 6.755 Matom-step/s +98.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.007138 | 0.007138 | 0.007138 | 0.0 | 5.95 +Neigh | 0.04331 | 0.04331 | 0.04331 | 0.0 | 36.12 +Comm | 0.0080707 | 0.0080707 | 0.0080707 | 0.0 | 6.73 +Output | 0.001757 | 0.001757 | 0.001757 | 0.0 | 1.47 +Modify | 0.052965 | 0.052965 | 0.052965 | 0.0 | 44.17 +Other | | 0.006671 | | | 5.56 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 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 = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.atomfile.g++.4 b/examples/rigid/log.25Mar24.rigid.atomfile.g++.4 new file mode 100644 index 0000000000..071a4de5d0 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.atomfile.g++.4 @@ -0,0 +1,341 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic +atom_modify map array + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +variable bodies atomfile bodies.txt +fix 1 all rigid custom v_bodies + 9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +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 = 18 18 18 + 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.33 | 4.362 | 4.456 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722867e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652437 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156158 0 5269.5203 12.011611 + 9600 16738.549 -0.026814369 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589886 0 5269.4979 12.062708 + 9750 16738.013 0.13550089 0 5269.5101 11.407245 + 9800 16738.512 -0.011620329 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270567 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984578 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.135195 on 4 procs for 10000 steps with 81 atoms + +Performance: 639077.466 tau/day, 73967.299 timesteps/s, 5.991 Matom-step/s +97.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0016842 | 0.0023498 | 0.0027328 | 0.8 | 1.74 +Neigh | 0.012614 | 0.013371 | 0.014361 | 0.5 | 9.89 +Comm | 0.062345 | 0.06407 | 0.065902 | 0.6 | 47.39 +Output | 0.0018312 | 0.0019801 | 0.0024023 | 0.5 | 1.46 +Modify | 0.038532 | 0.039713 | 0.041474 | 0.6 | 29.37 +Other | | 0.01371 | | | 10.14 + +Nlocal: 20.25 ave 37 max 3 min +Histogram: 1 0 0 1 0 0 0 1 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 0 2 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.atomvar.g++.1 b/examples/rigid/log.25Mar24.rigid.atomvar.g++.1 new file mode 100644 index 0000000000..7510d35ec1 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.atomvar.g++.1 @@ -0,0 +1,341 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic +atom_modify map array + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +variable bodies atom 1.0*gmask(clump1)+2.0*gmask(clump2)+3.0*gmask(clump3)+4.0*gmask(clump4)+5.0*gmask(clump5)+6.0*gmask(clump6)+7.0*gmask(clump7)+8.0*gmask(clump8)+9.0*gmask(clump9) +fix 1 all rigid custom v_bodies + 9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +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 = 18 18 18 + 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.358 | 4.358 | 4.358 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722875e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690665 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 + 8600 16738.474 -0.0007653281 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 + 9600 16738.549 -0.026814368 0 5269.5163 12.011415 + 9650 16738.765 -0.10191522 0 5269.5092 12.011013 + 9700 16735.041 1.0589881 0 5269.4979 12.062708 + 9750 16738.013 0.13550093 0 5269.5101 11.407245 + 9800 16738.512 -0.01162033 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270581 0 5269.5237 11.395098 + 9900 16738.489 -0.0002498458 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.131374 on 1 procs for 10000 steps with 81 atoms + +Performance: 657662.971 tau/day, 76118.399 timesteps/s, 6.166 Matom-step/s +99.1% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0075531 | 0.0075531 | 0.0075531 | 0.0 | 5.75 +Neigh | 0.047177 | 0.047177 | 0.047177 | 0.0 | 35.91 +Comm | 0.0090961 | 0.0090961 | 0.0090961 | 0.0 | 6.92 +Output | 0.0018917 | 0.0018917 | 0.0018917 | 0.0 | 1.44 +Modify | 0.058064 | 0.058064 | 0.058064 | 0.0 | 44.20 +Other | | 0.007593 | | | 5.78 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 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 = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.atomvar.g++.4 b/examples/rigid/log.25Mar24.rigid.atomvar.g++.4 new file mode 100644 index 0000000000..b7adcacb14 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.atomvar.g++.4 @@ -0,0 +1,341 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic +atom_modify map array + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +variable bodies atom 1.0*gmask(clump1)+2.0*gmask(clump2)+3.0*gmask(clump3)+4.0*gmask(clump4)+5.0*gmask(clump5)+6.0*gmask(clump6)+7.0*gmask(clump7)+8.0*gmask(clump8)+9.0*gmask(clump9) +fix 1 all rigid custom v_bodies + 9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +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 = 18 18 18 + 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.205 | 4.237 | 4.331 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722867e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652437 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156158 0 5269.5203 12.011611 + 9600 16738.549 -0.026814369 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589886 0 5269.4979 12.062708 + 9750 16738.013 0.13550089 0 5269.5101 11.407245 + 9800 16738.512 -0.011620329 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270567 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984578 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.135534 on 4 procs for 10000 steps with 81 atoms + +Performance: 637479.927 tau/day, 73782.399 timesteps/s, 5.976 Matom-step/s +98.7% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0016589 | 0.0022805 | 0.0027973 | 0.9 | 1.68 +Neigh | 0.012838 | 0.013347 | 0.014456 | 0.6 | 9.85 +Comm | 0.062667 | 0.064428 | 0.066142 | 0.6 | 47.54 +Output | 0.0018075 | 0.001966 | 0.0024125 | 0.6 | 1.45 +Modify | 0.038219 | 0.039639 | 0.041101 | 0.6 | 29.25 +Other | | 0.01387 | | | 10.24 + +Nlocal: 20.25 ave 37 max 3 min +Histogram: 1 0 0 1 0 0 0 1 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 0 2 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.early.g++.1 b/examples/rigid/log.25Mar24.rigid.early.g++.1 new file mode 100644 index 0000000000..9f5d86312e --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.early.g++.1 @@ -0,0 +1,340 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 + 9 rigid bodies with 81 atoms + +fix_modify 1 bodyforces early + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +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 = 18 18 18 + 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.353 | 4.353 | 4.353 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722875e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690665 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 + 8600 16738.474 -0.0007653281 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 + 9600 16738.549 -0.026814368 0 5269.5163 12.011415 + 9650 16738.765 -0.10191522 0 5269.5092 12.011013 + 9700 16735.041 1.0589881 0 5269.4979 12.062708 + 9750 16738.013 0.13550093 0 5269.5101 11.407245 + 9800 16738.512 -0.01162033 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270581 0 5269.5237 11.395098 + 9900 16738.489 -0.0002498458 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.127115 on 1 procs for 10000 steps with 81 atoms + +Performance: 679698.303 tau/day, 78668.785 timesteps/s, 6.372 Matom-step/s +99.2% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0074904 | 0.0074904 | 0.0074904 | 0.0 | 5.89 +Neigh | 0.044675 | 0.044675 | 0.044675 | 0.0 | 35.15 +Comm | 0.0079194 | 0.0079194 | 0.0079194 | 0.0 | 6.23 +Output | 0.0018129 | 0.0018129 | 0.0018129 | 0.0 | 1.43 +Modify | 0.057845 | 0.057845 | 0.057845 | 0.0 | 45.51 +Other | | 0.007372 | | | 5.80 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 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 = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.early.g++.4 b/examples/rigid/log.25Mar24.rigid.early.g++.4 new file mode 100644 index 0000000000..e0b182d9fc --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.early.g++.4 @@ -0,0 +1,340 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 + 9 rigid bodies with 81 atoms + +fix_modify 1 bodyforces early + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +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 = 18 18 18 + 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.201 | 4.233 | 4.327 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722867e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652437 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156158 0 5269.5203 12.011611 + 9600 16738.549 -0.026814369 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589886 0 5269.4979 12.062708 + 9750 16738.013 0.13550089 0 5269.5101 11.407245 + 9800 16738.512 -0.011620329 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270567 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984578 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.133679 on 4 procs for 10000 steps with 81 atoms + +Performance: 646325.439 tau/day, 74806.185 timesteps/s, 6.059 Matom-step/s +98.8% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0016629 | 0.0023406 | 0.0028762 | 0.9 | 1.75 +Neigh | 0.012558 | 0.013331 | 0.015279 | 1.0 | 9.97 +Comm | 0.060677 | 0.062779 | 0.0646 | 0.7 | 46.96 +Output | 0.0017495 | 0.001914 | 0.0023526 | 0.6 | 1.43 +Modify | 0.037566 | 0.039361 | 0.040514 | 0.6 | 29.44 +Other | | 0.01395 | | | 10.44 + +Nlocal: 20.25 ave 37 max 3 min +Histogram: 1 0 0 1 0 0 0 1 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 0 2 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.g++.1 b/examples/rigid/log.25Mar24.rigid.g++.1 new file mode 100644 index 0000000000..6b27146c6b --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.g++.1 @@ -0,0 +1,338 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.002 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 + 9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +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 = 18 18 18 + 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.353 | 4.353 | 4.353 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722875e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690665 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 + 8600 16738.474 -0.0007653281 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 + 9600 16738.549 -0.026814368 0 5269.5163 12.011415 + 9650 16738.765 -0.10191522 0 5269.5092 12.011013 + 9700 16735.041 1.0589881 0 5269.4979 12.062708 + 9750 16738.013 0.13550093 0 5269.5101 11.407245 + 9800 16738.512 -0.01162033 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270581 0 5269.5237 11.395098 + 9900 16738.489 -0.0002498458 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.136528 on 1 procs for 10000 steps with 81 atoms + +Performance: 632835.120 tau/day, 73244.806 timesteps/s, 5.933 Matom-step/s +98.9% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0091674 | 0.0091674 | 0.0091674 | 0.0 | 6.71 +Neigh | 0.046854 | 0.046854 | 0.046854 | 0.0 | 34.32 +Comm | 0.0076933 | 0.0076933 | 0.0076933 | 0.0 | 5.63 +Output | 0.001779 | 0.001779 | 0.001779 | 0.0 | 1.30 +Modify | 0.063842 | 0.063842 | 0.063842 | 0.0 | 46.76 +Other | | 0.007193 | | | 5.27 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 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 = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.g++.4 b/examples/rigid/log.25Mar24.rigid.g++.4 new file mode 100644 index 0000000000..c2f691b7ec --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.g++.4 @@ -0,0 +1,338 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 + 9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +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 = 18 18 18 + 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.201 | 4.233 | 4.327 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722867e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652437 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156158 0 5269.5203 12.011611 + 9600 16738.549 -0.026814369 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589886 0 5269.4979 12.062708 + 9750 16738.013 0.13550089 0 5269.5101 11.407245 + 9800 16738.512 -0.011620329 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270567 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984578 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.134503 on 4 procs for 10000 steps with 81 atoms + +Performance: 642365.322 tau/day, 74347.838 timesteps/s, 6.022 Matom-step/s +96.6% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0016076 | 0.0023247 | 0.002836 | 0.9 | 1.73 +Neigh | 0.012491 | 0.013229 | 0.0145 | 0.7 | 9.84 +Comm | 0.062105 | 0.063666 | 0.06514 | 0.5 | 47.33 +Output | 0.0017602 | 0.0019318 | 0.0024227 | 0.6 | 1.44 +Modify | 0.038132 | 0.039518 | 0.040852 | 0.5 | 29.38 +Other | | 0.01383 | | | 10.29 + +Nlocal: 20.25 ave 37 max 3 min +Histogram: 1 0 0 1 0 0 0 1 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 0 2 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.gravity.g++.1 b/examples/rigid/log.25Mar24.rigid.gravity.g++.1 new file mode 100644 index 0000000000..87b814dfab --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.gravity.g++.1 @@ -0,0 +1,228 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +#Pour composite granular particles on flat wall + +newton on +atom_style sphere +atom_modify map array sort 0 0 + +thermo_modify flush yes +units si + +variable minrad equal 0.5 +variable maxrad equal 1.4 + +variable skin equal 0.3*${maxrad} +variable skin equal 0.3*1.4 + +boundary p p f +region reg block 0 20 0 20 0 200 units box +create_box 1 reg +Created orthogonal box = (0 0 0) to (20 20 200) + 1 by 1 by 1 MPI processor grid + +fix prop all property/atom mol ghost yes + +variable dumpfreq equal 1000 +variable logfreq equal 1000 + +pair_style gran/hooke/history 4e5 NULL 1e2 NULL 0.5 0 +pair_coeff * * + +timestep 0.0001 + +group particles type 1 +0 atoms in group particles +atom_modify first particles + +neighbor ${skin} bin +neighbor 0.42 bin +group rigid type 1 +0 atoms in group rigid +neigh_modify every 1 delay 0 check yes exclude molecule/intra all + +thermo ${logfreq} +thermo 1000 +thermo_style custom step cpu atoms ke +WARNING: New thermo_style command, previous thermo_modify settings will be lost (src/output.cpp:904) +thermo_modify flush yes lost warn + +comm_modify vel yes cutoff 3 + +molecule mymol molecule.data +Read molecule template mymol: +LAMMPS data file created for rigid body molecule template + 1 molecules + 0 fragments + 5 atoms with max type 1 + 0 bonds with max type 0 + 0 angles with max type 0 + 0 dihedrals with max type 0 + 0 impropers with max type 0 +region pourreg block 5 15 5 15 80 100 side in units box + +#Note: in versions prior to 1/2020, the 'disable' keyword to fix/gravity +# and the 'gravity' keyword to fix rigid/small were not available. +# These settings produce undesirable behavior, where gravity can induce +# torque on rigid bodies. +#fix gravfix all gravity 9.8 vector 0 0 -1 #disable +#fix rigidfix all rigid/small molecule mol mymol #gravity gravfix + +#The correct behavior is recovered with the following settings: +fix gravfix all gravity 9.8 vector 0 0 -1 disable +fix rigidfix all rigid/small molecule mol mymol gravity gravfix + create bodies CPU = 0.000 seconds + 0 rigid bodies with 0 atoms + 1.2 = max distance from body owner to body atom + +fix pourfix all pour 5 0 1234 region pourreg mol mymol rigid rigidfix +Particle insertion: 15 every 20203 steps, 5 by step 1 + +fix zwall all wall/gran hooke/history 4000.0 NULL 100.0 NULL 0.5 0 zplane 0.1 NULL + +#dump 1 all custom 1000 molecule_pour.dump id type mass radius x y z fx fy fz + +run 100000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.62 + ghost atom cutoff = 3 + binsize = 0.81, bins = 25 25 247 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair gran/hooke/history, perpetual + attributes: half, newton on, size, history + pair build: half/size/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 6.893 | 6.893 | 6.893 Mbytes + Step CPU Atoms KinEng + 0 0 0 -0 + 1000 0.005385611 25 -0 + 2000 0.01106897 25 -0 + 3000 0.01569532 25 -0 + 4000 0.020782538 25 -0 + 5000 0.02656256 25 -0 + 6000 0.03132421 25 -0 + 7000 0.035996621 25 -0 + 8000 0.040816339 25 -0 + 9000 0.045911912 25 -0 + 10000 0.051486339 25 -0 + 11000 0.058049641 25 -0 + 12000 0.063206805 25 -0 + 13000 0.068374138 25 -0 + 14000 0.073423818 25 -0 + 15000 0.078890587 25 -0 + 16000 0.086372246 25 -0 + 17000 0.091912312 25 -0 + 18000 0.097317178 25 -0 + 19000 0.10284163 25 -0 + 20000 0.10836857 25 -0 + 21000 0.11476057 25 -0 + 22000 0.12201322 25 -0 + 23000 0.127963 25 -0 + 24000 0.13386968 25 -0 + 25000 0.1397396 25 -0 + 26000 0.14672759 25 -0 + 27000 0.15447534 25 -0 + 28000 0.16103509 25 -0 + 29000 0.16703686 25 -0 + 30000 0.17306375 25 -0 + 31000 0.18150464 25 -0 + 32000 0.1874536 25 -0 + 33000 0.19372953 25 -0 + 34000 0.19997087 25 -0 + 35000 0.20643521 25 -0 + 36000 0.21499446 25 -0 + 37000 0.22129475 25 -0 + 38000 0.2278159 25 -0 + 39000 0.23262556 25 -0 + 40000 0.23679 25 -0 + 41000 0.2428383 25 -0 + 42000 0.24757287 25 -0 + 43000 0.25190701 25 -0 + 44000 0.25617771 25 -0 + 45000 0.26057242 25 -0 + 46000 0.26469065 25 -0 + 47000 0.26921214 25 -0 + 48000 0.27502337 25 -0 + 49000 0.27911905 25 -0 + 50000 0.28338379 25 -0 + 51000 0.28736617 25 -0 + 52000 0.29127304 25 -0 + 53000 0.29504445 25 -0 + 54000 0.29898933 25 -0 + 55000 0.30479176 25 -0 + 56000 0.30893347 25 -0 + 57000 0.31277358 25 -0 + 58000 0.31658797 25 -0 + 59000 0.32024112 25 -0 + 60000 0.32373109 25 -0 + 61000 0.32753442 25 -0 + 62000 0.33123815 25 -0 + 63000 0.33643285 25 -0 + 64000 0.34036569 25 -0 + 65000 0.34399532 25 -0 + 66000 0.3475875 25 -0 + 67000 0.35124833 25 -0 + 68000 0.35503825 25 -0 + 69000 0.35870471 25 -0 + 70000 0.3624294 25 -0 + 71000 0.36714884 25 -0 + 72000 0.37082887 25 -0 + 73000 0.37459885 25 -0 + 74000 0.37835449 25 -0 + 75000 0.38245549 25 -0 + 76000 0.38681838 25 -0 + 77000 0.39069919 25 -0 + 78000 0.39460729 25 -0 + 79000 0.39908672 25 -0 + 80000 0.40266481 25 -0 + 81000 0.40645032 25 -0 + 82000 0.41005038 25 -0 + 83000 0.41355864 25 -0 + 84000 0.41741638 25 -0 + 85000 0.42182475 25 -0 + 86000 0.42614449 25 -0 + 87000 0.43024819 25 -0 + 88000 0.43389722 25 -0 + 89000 0.4372946 25 -0 + 90000 0.44097963 25 -0 + 91000 0.44451596 25 -0 + 92000 0.44800886 25 -0 + 93000 0.45171482 25 -0 + 94000 0.45568312 25 -0 + 95000 0.46068385 25 -0 + 96000 0.46423783 25 -0 + 97000 0.46783791 25 -0 + 98000 0.47132532 25 -0 + 99000 0.47462675 25 -0 + 100000 0.47811781 25 -0 +Loop time of 0.478128 on 1 procs for 100000 steps with 25 atoms + +99.3% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.016638 | 0.016638 | 0.016638 | 0.0 | 3.48 +Neigh | 0.12338 | 0.12338 | 0.12338 | 0.0 | 25.81 +Comm | 0.026212 | 0.026212 | 0.026212 | 0.0 | 5.48 +Output | 0.0015672 | 0.0015672 | 0.0015672 | 0.0 | 0.33 +Modify | 0.28303 | 0.28303 | 0.28303 | 0.0 | 59.20 +Other | | 0.0273 | | | 5.71 + +Nlocal: 25 ave 25 max 25 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1 ave 1 max 1 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 = 703 +Dangerous builds = 0 + +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.gravity.g++.4 b/examples/rigid/log.25Mar24.rigid.gravity.g++.4 new file mode 100644 index 0000000000..ddf76fb4d6 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.gravity.g++.4 @@ -0,0 +1,228 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +#Pour composite granular particles on flat wall + +newton on +atom_style sphere +atom_modify map array sort 0 0 + +thermo_modify flush yes +units si + +variable minrad equal 0.5 +variable maxrad equal 1.4 + +variable skin equal 0.3*${maxrad} +variable skin equal 0.3*1.4 + +boundary p p f +region reg block 0 20 0 20 0 200 units box +create_box 1 reg +Created orthogonal box = (0 0 0) to (20 20 200) + 1 by 1 by 4 MPI processor grid + +fix prop all property/atom mol ghost yes + +variable dumpfreq equal 1000 +variable logfreq equal 1000 + +pair_style gran/hooke/history 4e5 NULL 1e2 NULL 0.5 0 +pair_coeff * * + +timestep 0.0001 + +group particles type 1 +0 atoms in group particles +atom_modify first particles + +neighbor ${skin} bin +neighbor 0.42 bin +group rigid type 1 +0 atoms in group rigid +neigh_modify every 1 delay 0 check yes exclude molecule/intra all + +thermo ${logfreq} +thermo 1000 +thermo_style custom step cpu atoms ke +WARNING: New thermo_style command, previous thermo_modify settings will be lost (src/output.cpp:904) +thermo_modify flush yes lost warn + +comm_modify vel yes cutoff 3 + +molecule mymol molecule.data +Read molecule template mymol: +LAMMPS data file created for rigid body molecule template + 1 molecules + 0 fragments + 5 atoms with max type 1 + 0 bonds with max type 0 + 0 angles with max type 0 + 0 dihedrals with max type 0 + 0 impropers with max type 0 +region pourreg block 5 15 5 15 80 100 side in units box + +#Note: in versions prior to 1/2020, the 'disable' keyword to fix/gravity +# and the 'gravity' keyword to fix rigid/small were not available. +# These settings produce undesirable behavior, where gravity can induce +# torque on rigid bodies. +#fix gravfix all gravity 9.8 vector 0 0 -1 #disable +#fix rigidfix all rigid/small molecule mol mymol #gravity gravfix + +#The correct behavior is recovered with the following settings: +fix gravfix all gravity 9.8 vector 0 0 -1 disable +fix rigidfix all rigid/small molecule mol mymol gravity gravfix + create bodies CPU = 0.000 seconds + 0 rigid bodies with 0 atoms + 1.2 = max distance from body owner to body atom + +fix pourfix all pour 5 0 1234 region pourreg mol mymol rigid rigidfix +Particle insertion: 15 every 20203 steps, 5 by step 1 + +fix zwall all wall/gran hooke/history 4000.0 NULL 100.0 NULL 0.5 0 zplane 0.1 NULL + +#dump 1 all custom 1000 molecule_pour.dump id type mass radius x y z fx fy fz + +run 100000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.62 + ghost atom cutoff = 3 + binsize = 0.81, bins = 25 25 247 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair gran/hooke/history, perpetual + attributes: half, newton on, size, history + pair build: half/size/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 6.09 | 6.09 | 6.09 Mbytes + Step CPU Atoms KinEng + 0 0 0 -0 + 1000 0.007155423 25 -0 + 2000 0.013621411 25 -0 + 3000 0.018069993 25 -0 + 4000 0.022375597 25 -0 + 5000 0.027610001 25 -0 + 6000 0.032700728 25 -0 + 7000 0.036781214 25 -0 + 8000 0.041026343 25 -0 + 9000 0.045133974 25 -0 + 10000 0.049302504 25 -0 + 11000 0.053475155 25 -0 + 12000 0.058101552 25 -0 + 13000 0.063617332 25 -0 + 14000 0.070220865 25 -0 + 15000 0.079467476 25 -0 + 16000 0.085128592 25 -0 + 17000 0.088670803 25 -0 + 18000 0.093576466 25 -0 + 19000 0.096967506 25 -0 + 20000 0.10032704 25 -0 + 21000 0.1037381 25 -0 + 22000 0.10714647 25 -0 + 23000 0.11062389 25 -0 + 24000 0.11408744 25 -0 + 25000 0.12017243 25 -0 + 26000 0.12858759 25 -0 + 27000 0.13356253 25 -0 + 28000 0.13819667 25 -0 + 29000 0.14299332 25 -0 + 30000 0.14766723 25 -0 + 31000 0.15258071 25 -0 + 32000 0.15836989 25 -0 + 33000 0.16306841 25 -0 + 34000 0.16769723 25 -0 + 35000 0.172317 25 -0 + 36000 0.17698336 25 -0 + 37000 0.18173594 25 -0 + 38000 0.1879449 25 -0 + 39000 0.19236501 25 -0 + 40000 0.1964458 25 -0 + 41000 0.20045733 25 -0 + 42000 0.20454794 25 -0 + 43000 0.20872097 25 -0 + 44000 0.21291348 25 -0 + 45000 0.21780319 25 -0 + 46000 0.22260816 25 -0 + 47000 0.22686931 25 -0 + 48000 0.23117793 25 -0 + 49000 0.23535185 25 -0 + 50000 0.24054306 25 -0 + 51000 0.24463963 25 -0 + 52000 0.24938311 25 -0 + 53000 0.25348209 25 -0 + 54000 0.25745703 25 -0 + 55000 0.26145377 25 -0 + 56000 0.26534485 25 -0 + 57000 0.26928518 25 -0 + 58000 0.27321574 25 -0 + 59000 0.27791991 25 -0 + 60000 0.28284558 25 -0 + 61000 0.28673327 25 -0 + 62000 0.29055931 25 -0 + 63000 0.2945131 25 -0 + 64000 0.29846467 25 -0 + 65000 0.30238139 25 -0 + 66000 0.3062491 25 -0 + 67000 0.31026454 25 -0 + 68000 0.31498685 25 -0 + 69000 0.31887771 25 -0 + 70000 0.32278066 25 -0 + 71000 0.32658541 25 -0 + 72000 0.33047871 25 -0 + 73000 0.33441507 25 -0 + 74000 0.33830186 25 -0 + 75000 0.34298503 25 -0 + 76000 0.3470502 25 -0 + 77000 0.35093166 25 -0 + 78000 0.35472767 25 -0 + 79000 0.35858626 25 -0 + 80000 0.36236101 25 -0 + 81000 0.36621078 25 -0 + 82000 0.36998141 25 -0 + 83000 0.37417451 25 -0 + 84000 0.37850331 25 -0 + 85000 0.38230344 25 -0 + 86000 0.38621429 25 -0 + 87000 0.38998154 25 -0 + 88000 0.39378687 25 -0 + 89000 0.397529 25 -0 + 90000 0.40133202 25 -0 + 91000 0.40575097 25 -0 + 92000 0.41012392 25 -0 + 93000 0.41397633 25 -0 + 94000 0.41791732 25 -0 + 95000 0.42174915 25 -0 + 96000 0.42570384 25 -0 + 97000 0.4295687 25 -0 + 98000 0.43339555 25 -0 + 99000 0.43810319 25 -0 + 100000 0.44205356 25 -0 +Loop time of 0.442071 on 4 procs for 100000 steps with 25 atoms + +99.1% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0043596 | 0.0077919 | 0.015026 | 4.9 | 1.76 +Neigh | 0.03639 | 0.037869 | 0.038842 | 0.5 | 8.57 +Comm | 0.029189 | 0.034805 | 0.038937 | 2.3 | 7.87 +Output | 0.00094691 | 0.0012173 | 0.0019545 | 1.2 | 0.28 +Modify | 0.031085 | 0.10076 | 0.24754 | 27.5 | 22.79 +Other | | 0.2596 | | | 58.73 + +Nlocal: 6.25 ave 25 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 +Nghost: 0.25 ave 1 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 703 +Dangerous builds = 0 + +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.infile.g++.1 b/examples/rigid/log.25Mar24.rigid.infile.g++.1 new file mode 100644 index 0000000000..a8d6f550aa --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.infile.g++.1 @@ -0,0 +1,310 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 infile bodyinfo.dat + 9 rigid bodies with 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Reading rigid body data for 4 bodies from file bodyinfo.dat +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 = 18 18 18 + 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.353 | 4.353 | 4.353 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722859e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.05932751 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663193 0 5269.4882 12.027009 + 3700 16738.602 -0.070934369 0 5269.4889 12.025288 + 3750 16737.731 0.20706559 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253348 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690669 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646805 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532807 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.0003765243 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156155 0 5269.5203 12.011611 + 9600 16738.549 -0.026814365 0 5269.5163 12.011415 + 9650 16738.765 -0.10191521 0 5269.5092 12.011013 + 9700 16735.041 1.0589871 0 5269.4979 12.062708 + 9750 16738.013 0.13550136 0 5269.5101 11.407245 + 9800 16738.512 -0.01162033 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270559 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984558 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.134486 on 1 procs for 10000 steps with 81 atoms + +Performance: 642445.705 tau/day, 74357.142 timesteps/s, 6.023 Matom-step/s +99.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0076798 | 0.0076798 | 0.0076798 | 0.0 | 5.71 +Neigh | 0.048776 | 0.048776 | 0.048776 | 0.0 | 36.27 +Comm | 0.0085249 | 0.0085249 | 0.0085249 | 0.0 | 6.34 +Output | 0.0021846 | 0.0021846 | 0.0021846 | 0.0 | 1.62 +Modify | 0.059372 | 0.059372 | 0.059372 | 0.0 | 44.15 +Other | | 0.007949 | | | 5.91 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 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 = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.infile.g++.4 b/examples/rigid/log.25Mar24.rigid.infile.g++.4 new file mode 100644 index 0000000000..0e4f37b698 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.infile.g++.4 @@ -0,0 +1,310 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 infile bodyinfo.dat + 9 rigid bodies with 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Reading rigid body data for 4 bodies from file bodyinfo.dat +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 = 18 18 18 + 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.201 | 4.233 | 4.327 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722861e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706559 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253348 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690667 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532809 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652433 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 + 9600 16738.549 -0.026814367 0 5269.5163 12.011415 + 9650 16738.765 -0.10191522 0 5269.5092 12.011013 + 9700 16735.041 1.0589878 0 5269.4979 12.062708 + 9750 16738.013 0.13550114 0 5269.5101 11.407245 + 9800 16738.512 -0.01162033 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270564 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984568 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.135118 on 4 procs for 10000 steps with 81 atoms + +Performance: 639441.862 tau/day, 74009.475 timesteps/s, 5.995 Matom-step/s +97.2% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0015919 | 0.0022753 | 0.0028384 | 0.9 | 1.68 +Neigh | 0.012494 | 0.013468 | 0.015484 | 1.0 | 9.97 +Comm | 0.061357 | 0.0636 | 0.06555 | 0.7 | 47.07 +Output | 0.0017441 | 0.0018894 | 0.0023095 | 0.6 | 1.40 +Modify | 0.037856 | 0.039816 | 0.041217 | 0.6 | 29.47 +Other | | 0.01407 | | | 10.41 + +Nlocal: 20.25 ave 37 max 3 min +Histogram: 1 0 0 1 0 0 0 1 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 0 2 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.molecule.g++.1 b/examples/rigid/log.25Mar24.rigid.molecule.g++.1 new file mode 100644 index 0000000000..75d05c3d07 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.molecule.g++.1 @@ -0,0 +1,319 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style bond + +pair_style lj/cut 2.5 + +read_data data.rigid.small +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid molecule + 9 rigid bodies with 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +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 = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.233 | 5.233 | 5.233 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722875e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690665 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 + 8600 16738.474 -0.0007653281 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 + 9600 16738.549 -0.026814368 0 5269.5163 12.011415 + 9650 16738.765 -0.10191522 0 5269.5092 12.011013 + 9700 16735.041 1.0589881 0 5269.4979 12.062708 + 9750 16738.013 0.13550093 0 5269.5101 11.407245 + 9800 16738.512 -0.01162033 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270581 0 5269.5237 11.395098 + 9900 16738.489 -0.0002498458 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.130618 on 1 procs for 10000 steps with 81 atoms + +Performance: 661470.393 tau/day, 76559.073 timesteps/s, 6.201 Matom-step/s +99.2% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0069622 | 0.0069622 | 0.0069622 | 0.0 | 5.33 +Bond | 0.00033246 | 0.00033246 | 0.00033246 | 0.0 | 0.25 +Neigh | 0.053402 | 0.053402 | 0.053402 | 0.0 | 40.88 +Comm | 0.008192 | 0.008192 | 0.008192 | 0.0 | 6.27 +Output | 0.0015884 | 0.0015884 | 0.0015884 | 0.0 | 1.22 +Modify | 0.053219 | 0.053219 | 0.053219 | 0.0 | 40.74 +Other | | 0.006922 | | | 5.30 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.molecule.g++.4 b/examples/rigid/log.25Mar24.rigid.molecule.g++.4 new file mode 100644 index 0000000000..6cbb88d471 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.molecule.g++.4 @@ -0,0 +1,319 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style bond + +pair_style lj/cut 2.5 + +read_data data.rigid.small +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid molecule + 9 rigid bodies with 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +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 = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.08 | 5.112 | 5.206 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722867e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652437 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156158 0 5269.5203 12.011611 + 9600 16738.549 -0.026814369 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589886 0 5269.4979 12.062708 + 9750 16738.013 0.13550089 0 5269.5101 11.407245 + 9800 16738.512 -0.011620329 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270567 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984578 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.139893 on 4 procs for 10000 steps with 81 atoms + +Performance: 617616.025 tau/day, 71483.336 timesteps/s, 5.790 Matom-step/s +98.9% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0015795 | 0.0022375 | 0.0027109 | 0.9 | 1.60 +Bond | 0.00031772 | 0.00032314 | 0.00032894 | 0.0 | 0.23 +Neigh | 0.015169 | 0.016101 | 0.017803 | 0.8 | 11.51 +Comm | 0.063065 | 0.06514 | 0.06737 | 0.7 | 46.56 +Output | 0.001945 | 0.0020985 | 0.0025044 | 0.5 | 1.50 +Modify | 0.03865 | 0.039853 | 0.041246 | 0.6 | 28.49 +Other | | 0.01414 | | | 10.11 + +Nlocal: 20.25 ave 37 max 3 min +Histogram: 1 0 0 1 0 0 0 1 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 0 2 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.nve.early.g++.1 b/examples/rigid/log.25Mar24.rigid.nve.early.g++.1 new file mode 100644 index 0000000000..d9fbe7ee28 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.nve.early.g++.1 @@ -0,0 +1,340 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 + 9 rigid bodies with 81 atoms + +fix_modify 1 bodyforces early + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +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 = 18 18 18 + 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.353 | 4.353 | 4.353 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.688 571.72044 0 5265.826 32.006558 + 100 16298.426 136.669 0 5267.6551 16.445373 + 150 16682.627 17.489692 0 5269.4277 14.900277 + 200 16733.935 1.3740602 0 5269.4647 14.569704 + 250 16738.854 -0.15258528 0 5269.4868 14.496759 + 300 16738.584 -0.055187603 0 5269.4992 14.496371 + 350 16738.492 -0.017449036 0 5269.5078 14.496801 + 400 16738.472 -0.006012316 0 5269.513 14.496991 + 450 16738.469 -0.0012715314 0 5269.5169 14.497085 + 500 16738.471 -0.00081065611 0 5269.5177 14.497095 + 550 16738.47 -0.00083201064 0 5269.5175 14.497091 + 600 16738.469 -0.00058353965 0 5269.5174 14.497091 + 650 16738.467 -0.0004722653 0 5269.5169 14.497088 + 700 16738.462 0 0 5269.5158 14.497085 + 750 16738.454 0 0 5269.5134 14.497066 + 800 16738.449 0 0 5269.5116 14.497052 + 850 16738.451 0 0 5269.5123 14.497057 + 900 16738.46 0 0 5269.5151 14.497079 + 950 16738.475 -0.0035324469 0 5269.5163 14.497056 + 1000 16738.603 -0.05113463 0 5269.509 14.496621 + 1050 16737.376 0.32970882 0 5269.5037 14.526144 + 1100 16737.909 0.16215423 0 5269.5038 14.53237 + 1150 16738.719 -0.089236594 0 5269.5074 14.510282 + 1200 16738.477 -0.0075446521 0 5269.513 14.51099 + 1250 16738.458 0 0 5269.5146 14.511061 + 1300 16738.448 0 0 5269.5114 14.511036 + 1350 16738.444 0 0 5269.5102 14.511026 + 1400 16738.449 -0.00044714105 0 5269.5113 14.511031 + 1450 16738.458 -0.0010956657 0 5269.5136 14.511043 + 1500 16738.464 -0.00057735083 0 5269.516 14.511066 + 1550 16738.467 0 0 5269.5173 14.511083 + 1600 16738.469 0 0 5269.5179 14.511087 + 1650 16738.47 0 0 5269.5183 14.511091 + 1700 16738.469 0 0 5269.5181 14.511089 + 1750 16738.464 0 0 5269.5164 14.511076 + 1800 16738.455 0 0 5269.5137 14.511055 + 1850 16738.45 0 0 5269.5121 14.511042 + 1900 16738.453 0 0 5269.513 14.511049 + 1950 16738.468 -0.0031854173 0 5269.5144 14.51102 + 2000 16738.501 -0.01331726 0 5269.5148 14.510906 + 2050 16738.568 -0.036719673 0 5269.5126 14.510668 + 2100 16738.646 -0.063312431 0 5269.5103 14.510597 + 2150 16738.619 -0.05606591 0 5269.5091 14.510608 + 2200 16738.566 -0.038448437 0 5269.5101 14.510779 + 2250 16738.52 -0.023712465 0 5269.5103 14.510906 + 2300 16738.485 -0.01323561 0 5269.5099 14.510971 + 2350 16738.457 -0.0045452995 0 5269.5097 14.511049 + 2400 16738.449 -0.00052013007 0 5269.5113 14.511107 + 2450 16738.461 -0.002321933 0 5269.5132 14.511099 + 2500 16738.474 -0.0051804641 0 5269.5145 14.511103 + 2550 16738.592 -0.04492566 0 5269.5117 14.510696 + 2600 16738.45 -0.0038193536 0 5269.5082 14.510939 + 2650 16733.621 1.5177478 0 5269.5097 14.586333 + 2700 16738.772 -0.1064304 0 5269.5069 14.500913 + 2750 16733.165 1.6598389 0 5269.5082 14.616957 + 2800 16738.577 -0.04523598 0 5269.5068 14.51458 + 2850 16738.475 -0.01269037 0 5269.5073 14.513396 + 2900 16738.449 -0.002688737 0 5269.5089 14.513555 + 2950 16738.465 -0.0082345477 0 5269.5084 14.513515 + 3000 16738.657 -0.071197475 0 5269.5061 14.513024 + 3050 16706.71 9.9435728 0 5269.4634 15.021496 + 3100 16643.257 29.968327 0 5269.5123 14.548247 + 3150 16739.45 -0.33134743 0 5269.4956 13.595814 + 3200 16731.445 2.1723572 0 5269.4792 12.100834 + 3250 16612.686 39.57457 0 5269.4942 13.879807 + 3300 16738.601 -0.059713795 0 5269.4997 12.666612 + 3350 16738.587 -0.044640809 0 5269.5106 12.663574 + 3400 16737.995 0.14468663 0 5269.5136 12.680161 + 3450 16738.607 -0.050706049 0 5269.5107 12.665118 + 3500 16738.819 -0.12122411 0 5269.5069 12.665394 + 3550 16738.498 -0.021940182 0 5269.5052 12.676141 + 3600 16673.205 20.482364 0 5269.4544 13.525704 + 3650 16738.648 -0.074052044 0 5269.5003 12.817014 + 3700 16738.632 -0.07184695 0 5269.4975 12.810978 + 3750 16738.621 -0.07013081 0 5269.4958 12.811663 + 3800 16738.552 -0.044378799 0 5269.4998 12.811871 + 3850 16738.492 -0.015384402 0 5269.5099 12.811397 + 3900 16738.487 -0.0058199162 0 5269.518 12.811514 + 3950 16738.482 -0.0012032457 0 5269.521 12.811589 + 4000 16738.478 -0.00020707654 0 5269.5208 12.811606 + 4050 16738.477 0 0 5269.5207 12.811608 + 4100 16738.477 0 0 5269.5206 12.811607 + 4150 16738.475 0 0 5269.5199 12.811602 + 4200 16738.464 0 0 5269.5165 12.811576 + 4250 16738.446 0 0 5269.5109 12.811532 + 4300 16738.44 0 0 5269.5089 12.811516 + 4350 16738.454 0 0 5269.5131 12.811549 + 4400 16738.468 0 0 5269.5177 12.811585 + 4450 16738.47 0 0 5269.5184 12.811591 + 4500 16738.466 0 0 5269.517 12.811579 + 4550 16738.463 0 0 5269.5162 12.811573 + 4600 16738.466 0 0 5269.517 12.81158 + 4650 16738.471 0 0 5269.5186 12.811592 + 4700 16738.47 0 0 5269.5182 12.811589 + 4750 16738.456 0 0 5269.5139 12.811556 + 4800 16738.441 0 0 5269.5091 12.811518 + 4850 16738.444 0 0 5269.5102 12.811526 + 4900 16738.462 0 0 5269.5159 12.81157 + 4950 16738.475 0 0 5269.5201 12.811603 + 5000 16738.479 0 0 5269.5212 12.811612 + 5050 16738.479 0 0 5269.5212 12.811612 + 5100 16738.479 0 0 5269.5212 12.811612 + 5150 16738.478 0 0 5269.5209 12.81161 + 5200 16738.472 0 0 5269.519 12.811595 + 5250 16738.456 0 0 5269.5138 12.811555 + 5300 16738.432 0 0 5269.5064 12.811497 + 5350 16738.422 0 0 5269.5033 12.811472 + 5400 16738.438 0 0 5269.5082 12.81151 + 5450 16738.46 0 0 5269.515 12.811564 + 5500 16738.471 -0.0002100851 0 5269.5183 12.811588 + 5550 16738.481 -0.003484166 0 5269.5185 12.811534 + 5600 16738.542 -0.024500002 0 5269.5164 12.81122 + 5650 16738.641 -0.058023282 0 5269.5142 12.812225 + 5700 16384.935 111.24508 0 5269.4653 26.09278 + 5750 16738.555 -0.030778873 0 5269.5142 13.052328 + 5800 16738.462 -0.0034050629 0 5269.5125 13.052653 + 5850 16738.441 -0.00034406845 0 5269.5089 13.052656 + 5900 16738.443 0 0 5269.5098 13.052667 + 5950 16738.459 0 0 5269.5149 13.052707 + 6000 16738.468 0 0 5269.5177 13.052729 + 6050 16738.466 0 0 5269.5172 13.052725 + 6100 16738.462 0 0 5269.516 13.052715 + 6150 16738.463 0 0 5269.5162 13.052717 + 6200 16738.468 0 0 5269.5178 13.052729 + 6250 16738.472 0 0 5269.5189 13.052738 + 6300 16738.465 0 0 5269.5169 13.052723 + 6350 16738.448 0 0 5269.5115 13.052681 + 6400 16738.439 0 0 5269.5086 13.052658 + 6450 16738.451 0 0 5269.5124 13.052687 + 6500 16738.469 0 0 5269.5181 13.052732 + 6550 16738.478 0 0 5269.5209 13.052754 + 6600 16738.48 0 0 5269.5214 13.052758 + 6650 16738.479 0 0 5269.5213 13.052757 + 6700 16738.48 -0.00057913194 0 5269.521 13.052744 + 6750 16738.483 -0.0025329373 0 5269.5198 13.0527 + 6800 16738.482 -0.0065110045 0 5269.5156 13.052612 + 6850 16738.465 -0.0072245165 0 5269.5095 13.052574 + 6900 16738.436 -0.0036561206 0 5269.5039 13.052609 + 6950 16738.433 -0.0010530752 0 5269.5056 13.052661 + 7000 16738.455 -0.00056878712 0 5269.5132 13.052723 + 7050 16738.475 -0.0011717775 0 5269.5187 13.052755 + 7100 16738.48 -0.00047531448 0 5269.5209 13.052781 + 7150 16738.479 0 0 5269.5211 13.052788 + 7200 16738.478 0 0 5269.5207 13.052785 + 7250 16738.477 0 0 5269.5207 13.052785 + 7300 16738.476 0 0 5269.5201 13.052781 + 7350 16738.466 0 0 5269.5172 13.052758 + 7400 16738.448 0 0 5269.5115 13.052714 + 7450 16738.438 0 0 5269.5083 13.052688 + 7500 16738.448 0 0 5269.5115 13.052713 + 7550 16738.464 -0.00053504438 0 5269.5158 13.052742 + 7600 16738.483 -0.010043243 0 5269.5123 13.052657 + 7650 16738.674 -0.077543712 0 5269.5051 13.052041 + 7700 16736.839 0.49724664 0 5269.502 13.085872 + 7750 16731.931 2.0427463 0 5269.5024 13.190769 + 7800 16738.762 -0.10404434 0 5269.5061 13.082626 + 7850 16738.525 -0.024994384 0 5269.5108 13.082681 + 7900 16738.479 -0.008372534 0 5269.5129 13.082885 + 7950 16738.449 -0.0038549468 0 5269.5079 13.082917 + 8000 16738.441 -0.0016367618 0 5269.5074 13.082937 + 8050 16738.455 -0.0014865651 0 5269.5123 13.082971 + 8100 16738.47 -0.00072796093 0 5269.5175 13.083021 + 8150 16738.476 0 0 5269.5202 13.08305 + 8200 16738.477 0 0 5269.5204 13.083051 + 8250 16738.476 0 0 5269.5201 13.083049 + 8300 16738.474 0 0 5269.5197 13.083046 + 8350 16738.47 0 0 5269.5185 13.083036 + 8400 16738.462 -0.0017116105 0 5269.5142 13.082984 + 8450 16738.447 -0.003289664 0 5269.5078 13.082915 + 8500 16738.429 -0.00098100125 0 5269.5043 13.082918 + 8550 16738.435 0 0 5269.5075 13.082953 + 8600 16738.458 0 0 5269.5146 13.083009 + 8650 16738.474 0 0 5269.5195 13.083048 + 8700 16738.478 0 0 5269.5208 13.083058 + 8750 16738.477 0 0 5269.5206 13.083056 + 8800 16738.476 0 0 5269.5203 13.083054 + 8850 16738.477 0 0 5269.5206 13.083056 + 8900 16738.476 0 0 5269.5203 13.083054 + 8950 16738.468 0 0 5269.5177 13.083034 + 9000 16738.451 0 0 5269.5122 13.082991 + 9050 16738.44 0 0 5269.5089 13.082965 + 9100 16738.448 0 0 5269.5113 13.082984 + 9150 16738.46 0 0 5269.5153 13.083014 + 9200 16738.464 0 0 5269.5163 13.083023 + 9250 16738.462 0 0 5269.5158 13.083019 + 9300 16738.462 0 0 5269.5159 13.08302 + 9350 16738.467 0 0 5269.5174 13.083031 + 9400 16738.472 -0.00023657901 0 5269.5188 13.083039 + 9450 16738.472 0 0 5269.519 13.083044 + 9500 16738.46 0 0 5269.5153 13.083016 + 9550 16738.443 0 0 5269.5099 13.082974 + 9600 16738.441 0 0 5269.5092 13.082967 + 9650 16738.458 -0.00038368065 0 5269.5142 13.083 + 9700 16738.475 -0.00099963025 0 5269.519 13.083029 + 9750 16738.492 -0.0049852397 0 5269.5203 13.082953 + 9800 16738.483 -0.0018715252 0 5269.5204 13.083034 + 9850 16738.477 0 0 5269.5205 13.083063 + 9900 16738.477 -0.0018402419 0 5269.5186 13.083025 + 9950 16738.482 -0.005648013 0 5269.5164 13.082936 + 10000 16738.467 -0.0045058746 0 5269.5129 13.082944 +Loop time of 0.13715 on 1 procs for 10000 steps with 81 atoms + +Performance: 629968.103 tau/day, 72912.975 timesteps/s, 5.906 Matom-step/s +99.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0074777 | 0.0074777 | 0.0074777 | 0.0 | 5.45 +Neigh | 0.043608 | 0.043608 | 0.043608 | 0.0 | 31.80 +Comm | 0.0078838 | 0.0078838 | 0.0078838 | 0.0 | 5.75 +Output | 0.002002 | 0.002002 | 0.002002 | 0.0 | 1.46 +Modify | 0.06884 | 0.06884 | 0.06884 | 0.0 | 50.19 +Other | | 0.007339 | | | 5.35 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 63 ave 63 max 63 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 19 ave 19 max 19 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 19 +Ave neighs/atom = 0.2345679 +Neighbor list builds = 1481 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.nve.early.g++.4 b/examples/rigid/log.25Mar24.rigid.nve.early.g++.4 new file mode 100644 index 0000000000..077e7976b9 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.nve.early.g++.4 @@ -0,0 +1,340 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 + 9 rigid bodies with 81 atoms + +fix_modify 1 bodyforces early + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +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 = 18 18 18 + 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.201 | 4.233 | 4.327 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.688 571.72044 0 5265.826 32.006558 + 100 16298.426 136.669 0 5267.6551 16.445373 + 150 16682.627 17.489692 0 5269.4277 14.900277 + 200 16733.935 1.3740602 0 5269.4647 14.569704 + 250 16738.854 -0.15258528 0 5269.4868 14.496759 + 300 16738.584 -0.055187603 0 5269.4992 14.496371 + 350 16738.492 -0.017449036 0 5269.5078 14.496801 + 400 16738.472 -0.006012316 0 5269.513 14.496991 + 450 16738.469 -0.0012715314 0 5269.5169 14.497085 + 500 16738.471 -0.00081065611 0 5269.5177 14.497095 + 550 16738.47 -0.00083201064 0 5269.5175 14.497091 + 600 16738.469 -0.00058353965 0 5269.5174 14.497091 + 650 16738.467 -0.0004722653 0 5269.5169 14.497088 + 700 16738.462 0 0 5269.5158 14.497085 + 750 16738.454 0 0 5269.5134 14.497066 + 800 16738.449 0 0 5269.5116 14.497052 + 850 16738.451 0 0 5269.5123 14.497057 + 900 16738.46 0 0 5269.5151 14.497079 + 950 16738.475 -0.0035324469 0 5269.5163 14.497056 + 1000 16738.603 -0.05113463 0 5269.509 14.496621 + 1050 16737.376 0.32970882 0 5269.5037 14.526144 + 1100 16737.909 0.16215423 0 5269.5038 14.53237 + 1150 16738.719 -0.089236594 0 5269.5074 14.510282 + 1200 16738.477 -0.0075446521 0 5269.513 14.51099 + 1250 16738.458 0 0 5269.5146 14.511061 + 1300 16738.448 0 0 5269.5114 14.511036 + 1350 16738.444 0 0 5269.5102 14.511026 + 1400 16738.449 -0.00044714105 0 5269.5113 14.511031 + 1450 16738.458 -0.0010956657 0 5269.5136 14.511043 + 1500 16738.464 -0.00057735083 0 5269.516 14.511066 + 1550 16738.467 0 0 5269.5173 14.511083 + 1600 16738.469 0 0 5269.5179 14.511087 + 1650 16738.47 0 0 5269.5183 14.511091 + 1700 16738.469 0 0 5269.5181 14.511089 + 1750 16738.464 0 0 5269.5164 14.511076 + 1800 16738.455 0 0 5269.5137 14.511055 + 1850 16738.45 0 0 5269.5121 14.511042 + 1900 16738.453 0 0 5269.513 14.511049 + 1950 16738.468 -0.0031854173 0 5269.5144 14.51102 + 2000 16738.501 -0.01331726 0 5269.5148 14.510906 + 2050 16738.568 -0.036719673 0 5269.5126 14.510668 + 2100 16738.646 -0.063312431 0 5269.5103 14.510597 + 2150 16738.619 -0.05606591 0 5269.5091 14.510608 + 2200 16738.566 -0.038448437 0 5269.5101 14.510779 + 2250 16738.52 -0.023712465 0 5269.5103 14.510906 + 2300 16738.485 -0.01323561 0 5269.5099 14.510971 + 2350 16738.457 -0.0045452995 0 5269.5097 14.511049 + 2400 16738.449 -0.00052013007 0 5269.5113 14.511107 + 2450 16738.461 -0.002321933 0 5269.5132 14.511099 + 2500 16738.474 -0.0051804641 0 5269.5145 14.511103 + 2550 16738.592 -0.04492566 0 5269.5117 14.510696 + 2600 16738.45 -0.0038193536 0 5269.5082 14.510939 + 2650 16733.621 1.5177478 0 5269.5097 14.586333 + 2700 16738.772 -0.1064304 0 5269.5069 14.500913 + 2750 16733.165 1.6598389 0 5269.5082 14.616957 + 2800 16738.577 -0.04523598 0 5269.5068 14.51458 + 2850 16738.475 -0.01269037 0 5269.5073 14.513396 + 2900 16738.449 -0.002688737 0 5269.5089 14.513555 + 2950 16738.465 -0.0082345477 0 5269.5084 14.513515 + 3000 16738.657 -0.071197475 0 5269.5061 14.513024 + 3050 16706.71 9.9435728 0 5269.4634 15.021496 + 3100 16643.257 29.968327 0 5269.5123 14.548247 + 3150 16739.45 -0.33134743 0 5269.4956 13.595814 + 3200 16731.445 2.1723572 0 5269.4792 12.100834 + 3250 16612.686 39.57457 0 5269.4942 13.879807 + 3300 16738.601 -0.059713795 0 5269.4997 12.666612 + 3350 16738.587 -0.044640809 0 5269.5106 12.663574 + 3400 16737.995 0.14468663 0 5269.5136 12.680161 + 3450 16738.607 -0.050706049 0 5269.5107 12.665118 + 3500 16738.819 -0.12122411 0 5269.5069 12.665394 + 3550 16738.498 -0.021940181 0 5269.5052 12.676141 + 3600 16673.205 20.482364 0 5269.4544 13.525704 + 3650 16738.648 -0.074052045 0 5269.5003 12.817014 + 3700 16738.632 -0.07184695 0 5269.4975 12.810978 + 3750 16738.621 -0.07013081 0 5269.4958 12.811663 + 3800 16738.552 -0.044378799 0 5269.4998 12.811871 + 3850 16738.492 -0.015384402 0 5269.5099 12.811397 + 3900 16738.487 -0.0058199162 0 5269.518 12.811514 + 3950 16738.482 -0.0012032457 0 5269.521 12.811589 + 4000 16738.478 -0.00020707654 0 5269.5208 12.811606 + 4050 16738.477 0 0 5269.5207 12.811608 + 4100 16738.477 0 0 5269.5206 12.811607 + 4150 16738.475 0 0 5269.5199 12.811602 + 4200 16738.464 0 0 5269.5165 12.811576 + 4250 16738.446 0 0 5269.5109 12.811532 + 4300 16738.44 0 0 5269.5089 12.811516 + 4350 16738.454 0 0 5269.5131 12.811549 + 4400 16738.468 0 0 5269.5177 12.811585 + 4450 16738.47 0 0 5269.5184 12.811591 + 4500 16738.466 0 0 5269.517 12.811579 + 4550 16738.463 0 0 5269.5162 12.811573 + 4600 16738.466 0 0 5269.517 12.81158 + 4650 16738.471 0 0 5269.5186 12.811592 + 4700 16738.47 0 0 5269.5182 12.811589 + 4750 16738.456 0 0 5269.5139 12.811556 + 4800 16738.441 0 0 5269.5091 12.811518 + 4850 16738.444 0 0 5269.5102 12.811526 + 4900 16738.462 0 0 5269.5159 12.81157 + 4950 16738.475 0 0 5269.5201 12.811603 + 5000 16738.479 0 0 5269.5212 12.811612 + 5050 16738.479 0 0 5269.5212 12.811612 + 5100 16738.479 0 0 5269.5212 12.811612 + 5150 16738.478 0 0 5269.5209 12.81161 + 5200 16738.472 0 0 5269.519 12.811595 + 5250 16738.456 0 0 5269.5138 12.811555 + 5300 16738.432 0 0 5269.5064 12.811497 + 5350 16738.422 0 0 5269.5033 12.811472 + 5400 16738.438 0 0 5269.5082 12.81151 + 5450 16738.46 0 0 5269.515 12.811564 + 5500 16738.471 -0.0002100851 0 5269.5183 12.811588 + 5550 16738.481 -0.003484166 0 5269.5185 12.811534 + 5600 16738.542 -0.024500002 0 5269.5164 12.81122 + 5650 16738.641 -0.058023282 0 5269.5142 12.812225 + 5700 16384.935 111.24508 0 5269.4653 26.09278 + 5750 16738.555 -0.030778873 0 5269.5142 13.052328 + 5800 16738.462 -0.0034050628 0 5269.5125 13.052653 + 5850 16738.441 -0.00034406845 0 5269.5089 13.052656 + 5900 16738.443 0 0 5269.5098 13.052667 + 5950 16738.459 0 0 5269.5149 13.052707 + 6000 16738.468 0 0 5269.5177 13.052729 + 6050 16738.466 0 0 5269.5172 13.052725 + 6100 16738.462 0 0 5269.516 13.052715 + 6150 16738.463 0 0 5269.5162 13.052717 + 6200 16738.468 0 0 5269.5178 13.052729 + 6250 16738.472 0 0 5269.5189 13.052738 + 6300 16738.465 0 0 5269.5169 13.052723 + 6350 16738.448 0 0 5269.5115 13.052681 + 6400 16738.439 0 0 5269.5086 13.052658 + 6450 16738.451 0 0 5269.5124 13.052687 + 6500 16738.469 0 0 5269.5181 13.052732 + 6550 16738.478 0 0 5269.5209 13.052754 + 6600 16738.48 0 0 5269.5214 13.052758 + 6650 16738.479 0 0 5269.5213 13.052757 + 6700 16738.48 -0.00057913195 0 5269.521 13.052744 + 6750 16738.483 -0.0025329373 0 5269.5198 13.0527 + 6800 16738.482 -0.0065110047 0 5269.5156 13.052612 + 6850 16738.465 -0.0072245166 0 5269.5095 13.052574 + 6900 16738.436 -0.0036561206 0 5269.5039 13.052609 + 6950 16738.433 -0.0010530752 0 5269.5056 13.052661 + 7000 16738.455 -0.00056878712 0 5269.5132 13.052723 + 7050 16738.475 -0.0011717775 0 5269.5187 13.052755 + 7100 16738.48 -0.00047531448 0 5269.5209 13.052781 + 7150 16738.479 0 0 5269.5211 13.052788 + 7200 16738.478 0 0 5269.5207 13.052785 + 7250 16738.477 0 0 5269.5207 13.052785 + 7300 16738.476 0 0 5269.5201 13.052781 + 7350 16738.466 0 0 5269.5172 13.052758 + 7400 16738.448 0 0 5269.5115 13.052714 + 7450 16738.438 0 0 5269.5083 13.052688 + 7500 16738.448 0 0 5269.5115 13.052713 + 7550 16738.464 -0.00053504439 0 5269.5158 13.052742 + 7600 16738.483 -0.010043243 0 5269.5123 13.052657 + 7650 16738.674 -0.077543714 0 5269.5051 13.052041 + 7700 16736.839 0.49724671 0 5269.502 13.085872 + 7750 16731.931 2.0427465 0 5269.5024 13.190769 + 7800 16738.762 -0.10404434 0 5269.5061 13.082626 + 7850 16738.525 -0.024994385 0 5269.5108 13.082681 + 7900 16738.479 -0.008372534 0 5269.5129 13.082885 + 7950 16738.449 -0.0038549468 0 5269.5079 13.082917 + 8000 16738.441 -0.0016367617 0 5269.5074 13.082937 + 8050 16738.455 -0.0014865651 0 5269.5123 13.082971 + 8100 16738.47 -0.00072796092 0 5269.5175 13.083021 + 8150 16738.476 0 0 5269.5202 13.08305 + 8200 16738.477 0 0 5269.5204 13.083051 + 8250 16738.476 0 0 5269.5201 13.083049 + 8300 16738.474 0 0 5269.5197 13.083046 + 8350 16738.47 0 0 5269.5185 13.083036 + 8400 16738.462 -0.0017116105 0 5269.5142 13.082984 + 8450 16738.447 -0.003289664 0 5269.5078 13.082915 + 8500 16738.429 -0.00098100125 0 5269.5043 13.082918 + 8550 16738.435 0 0 5269.5075 13.082953 + 8600 16738.458 0 0 5269.5146 13.083009 + 8650 16738.474 0 0 5269.5195 13.083048 + 8700 16738.478 0 0 5269.5208 13.083058 + 8750 16738.477 0 0 5269.5206 13.083056 + 8800 16738.476 0 0 5269.5203 13.083054 + 8850 16738.477 0 0 5269.5206 13.083056 + 8900 16738.476 0 0 5269.5203 13.083054 + 8950 16738.468 0 0 5269.5177 13.083034 + 9000 16738.451 0 0 5269.5122 13.082991 + 9050 16738.44 0 0 5269.5089 13.082965 + 9100 16738.448 0 0 5269.5113 13.082984 + 9150 16738.46 0 0 5269.5153 13.083014 + 9200 16738.464 0 0 5269.5163 13.083023 + 9250 16738.462 0 0 5269.5158 13.083019 + 9300 16738.462 0 0 5269.5159 13.08302 + 9350 16738.467 0 0 5269.5174 13.083031 + 9400 16738.472 -0.00023657902 0 5269.5188 13.083039 + 9450 16738.472 0 0 5269.519 13.083044 + 9500 16738.46 0 0 5269.5153 13.083016 + 9550 16738.443 0 0 5269.5099 13.082974 + 9600 16738.441 0 0 5269.5092 13.082967 + 9650 16738.458 -0.00038368067 0 5269.5142 13.083 + 9700 16738.475 -0.00099963027 0 5269.519 13.083029 + 9750 16738.492 -0.00498524 0 5269.5203 13.082953 + 9800 16738.483 -0.0018715253 0 5269.5204 13.083034 + 9850 16738.477 0 0 5269.5205 13.083063 + 9900 16738.477 -0.0018402419 0 5269.5186 13.083025 + 9950 16738.482 -0.0056480132 0 5269.5164 13.082936 + 10000 16738.467 -0.0045058747 0 5269.5129 13.082944 +Loop time of 0.14818 on 4 procs for 10000 steps with 81 atoms + +Performance: 583075.499 tau/day, 67485.590 timesteps/s, 5.466 Matom-step/s +99.0% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0018099 | 0.0023754 | 0.0030445 | 1.0 | 1.60 +Neigh | 0.011989 | 0.012986 | 0.01555 | 1.3 | 8.76 +Comm | 0.062426 | 0.065066 | 0.066364 | 0.6 | 43.91 +Output | 0.0017674 | 0.0019257 | 0.002368 | 0.6 | 1.30 +Modify | 0.050371 | 0.051161 | 0.052809 | 0.4 | 34.53 +Other | | 0.01467 | | | 9.90 + +Nlocal: 20.25 ave 35 max 0 min +Histogram: 1 0 0 0 0 1 0 1 0 1 +Nghost: 41 ave 52 max 30 min +Histogram: 1 0 0 0 1 1 0 0 0 1 +Neighs: 4.75 ave 19 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 19 +Ave neighs/atom = 0.2345679 +Neighbor list builds = 1481 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.nve.g++.1 b/examples/rigid/log.25Mar24.rigid.nve.g++.1 new file mode 100644 index 0000000000..45bfc9f8d4 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.nve.g++.1 @@ -0,0 +1,338 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 + 9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +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 = 18 18 18 + 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.353 | 4.353 | 4.353 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.688 571.72044 0 5265.826 32.006558 + 100 16298.426 136.669 0 5267.6551 16.445373 + 150 16682.627 17.489692 0 5269.4277 14.900277 + 200 16733.935 1.3740602 0 5269.4647 14.569704 + 250 16738.854 -0.15258528 0 5269.4868 14.496759 + 300 16738.584 -0.055187603 0 5269.4992 14.496371 + 350 16738.492 -0.017449036 0 5269.5078 14.496801 + 400 16738.472 -0.006012316 0 5269.513 14.496991 + 450 16738.469 -0.0012715314 0 5269.5169 14.497085 + 500 16738.471 -0.00081065611 0 5269.5177 14.497095 + 550 16738.47 -0.00083201064 0 5269.5175 14.497091 + 600 16738.469 -0.00058353965 0 5269.5174 14.497091 + 650 16738.467 -0.0004722653 0 5269.5169 14.497088 + 700 16738.462 0 0 5269.5158 14.497085 + 750 16738.454 0 0 5269.5134 14.497066 + 800 16738.449 0 0 5269.5116 14.497052 + 850 16738.451 0 0 5269.5123 14.497057 + 900 16738.46 0 0 5269.5151 14.497079 + 950 16738.475 -0.0035324469 0 5269.5163 14.497056 + 1000 16738.603 -0.05113463 0 5269.509 14.496621 + 1050 16737.376 0.32970882 0 5269.5037 14.526144 + 1100 16737.909 0.16215423 0 5269.5038 14.53237 + 1150 16738.719 -0.089236594 0 5269.5074 14.510282 + 1200 16738.477 -0.0075446521 0 5269.513 14.51099 + 1250 16738.458 0 0 5269.5146 14.511061 + 1300 16738.448 0 0 5269.5114 14.511036 + 1350 16738.444 0 0 5269.5102 14.511026 + 1400 16738.449 -0.00044714105 0 5269.5113 14.511031 + 1450 16738.458 -0.0010956657 0 5269.5136 14.511043 + 1500 16738.464 -0.00057735083 0 5269.516 14.511066 + 1550 16738.467 0 0 5269.5173 14.511083 + 1600 16738.469 0 0 5269.5179 14.511087 + 1650 16738.47 0 0 5269.5183 14.511091 + 1700 16738.469 0 0 5269.5181 14.511089 + 1750 16738.464 0 0 5269.5164 14.511076 + 1800 16738.455 0 0 5269.5137 14.511055 + 1850 16738.45 0 0 5269.5121 14.511042 + 1900 16738.453 0 0 5269.513 14.511049 + 1950 16738.468 -0.0031854173 0 5269.5144 14.51102 + 2000 16738.501 -0.01331726 0 5269.5148 14.510906 + 2050 16738.568 -0.036719673 0 5269.5126 14.510668 + 2100 16738.646 -0.063312431 0 5269.5103 14.510597 + 2150 16738.619 -0.05606591 0 5269.5091 14.510608 + 2200 16738.566 -0.038448437 0 5269.5101 14.510779 + 2250 16738.52 -0.023712465 0 5269.5103 14.510906 + 2300 16738.485 -0.01323561 0 5269.5099 14.510971 + 2350 16738.457 -0.0045452995 0 5269.5097 14.511049 + 2400 16738.449 -0.00052013007 0 5269.5113 14.511107 + 2450 16738.461 -0.002321933 0 5269.5132 14.511099 + 2500 16738.474 -0.0051804641 0 5269.5145 14.511103 + 2550 16738.592 -0.04492566 0 5269.5117 14.510696 + 2600 16738.45 -0.0038193536 0 5269.5082 14.510939 + 2650 16733.621 1.5177478 0 5269.5097 14.586333 + 2700 16738.772 -0.1064304 0 5269.5069 14.500913 + 2750 16733.165 1.6598389 0 5269.5082 14.616957 + 2800 16738.577 -0.04523598 0 5269.5068 14.51458 + 2850 16738.475 -0.01269037 0 5269.5073 14.513396 + 2900 16738.449 -0.002688737 0 5269.5089 14.513555 + 2950 16738.465 -0.0082345477 0 5269.5084 14.513515 + 3000 16738.657 -0.071197475 0 5269.5061 14.513024 + 3050 16706.71 9.9435728 0 5269.4634 15.021496 + 3100 16643.257 29.968327 0 5269.5123 14.548247 + 3150 16739.45 -0.33134743 0 5269.4956 13.595814 + 3200 16731.445 2.1723572 0 5269.4792 12.100834 + 3250 16612.686 39.57457 0 5269.4942 13.879807 + 3300 16738.601 -0.059713795 0 5269.4997 12.666612 + 3350 16738.587 -0.044640809 0 5269.5106 12.663574 + 3400 16737.995 0.14468663 0 5269.5136 12.680161 + 3450 16738.607 -0.050706049 0 5269.5107 12.665118 + 3500 16738.819 -0.12122411 0 5269.5069 12.665394 + 3550 16738.498 -0.021940182 0 5269.5052 12.676141 + 3600 16673.205 20.482364 0 5269.4544 13.525704 + 3650 16738.648 -0.074052044 0 5269.5003 12.817014 + 3700 16738.632 -0.07184695 0 5269.4975 12.810978 + 3750 16738.621 -0.07013081 0 5269.4958 12.811663 + 3800 16738.552 -0.044378799 0 5269.4998 12.811871 + 3850 16738.492 -0.015384402 0 5269.5099 12.811397 + 3900 16738.487 -0.0058199162 0 5269.518 12.811514 + 3950 16738.482 -0.0012032457 0 5269.521 12.811589 + 4000 16738.478 -0.00020707654 0 5269.5208 12.811606 + 4050 16738.477 0 0 5269.5207 12.811608 + 4100 16738.477 0 0 5269.5206 12.811607 + 4150 16738.475 0 0 5269.5199 12.811602 + 4200 16738.464 0 0 5269.5165 12.811576 + 4250 16738.446 0 0 5269.5109 12.811532 + 4300 16738.44 0 0 5269.5089 12.811516 + 4350 16738.454 0 0 5269.5131 12.811549 + 4400 16738.468 0 0 5269.5177 12.811585 + 4450 16738.47 0 0 5269.5184 12.811591 + 4500 16738.466 0 0 5269.517 12.811579 + 4550 16738.463 0 0 5269.5162 12.811573 + 4600 16738.466 0 0 5269.517 12.81158 + 4650 16738.471 0 0 5269.5186 12.811592 + 4700 16738.47 0 0 5269.5182 12.811589 + 4750 16738.456 0 0 5269.5139 12.811556 + 4800 16738.441 0 0 5269.5091 12.811518 + 4850 16738.444 0 0 5269.5102 12.811526 + 4900 16738.462 0 0 5269.5159 12.81157 + 4950 16738.475 0 0 5269.5201 12.811603 + 5000 16738.479 0 0 5269.5212 12.811612 + 5050 16738.479 0 0 5269.5212 12.811612 + 5100 16738.479 0 0 5269.5212 12.811612 + 5150 16738.478 0 0 5269.5209 12.81161 + 5200 16738.472 0 0 5269.519 12.811595 + 5250 16738.456 0 0 5269.5138 12.811555 + 5300 16738.432 0 0 5269.5064 12.811497 + 5350 16738.422 0 0 5269.5033 12.811472 + 5400 16738.438 0 0 5269.5082 12.81151 + 5450 16738.46 0 0 5269.515 12.811564 + 5500 16738.471 -0.0002100851 0 5269.5183 12.811588 + 5550 16738.481 -0.003484166 0 5269.5185 12.811534 + 5600 16738.542 -0.024500002 0 5269.5164 12.81122 + 5650 16738.641 -0.058023282 0 5269.5142 12.812225 + 5700 16384.935 111.24508 0 5269.4653 26.09278 + 5750 16738.555 -0.030778873 0 5269.5142 13.052328 + 5800 16738.462 -0.0034050629 0 5269.5125 13.052653 + 5850 16738.441 -0.00034406845 0 5269.5089 13.052656 + 5900 16738.443 0 0 5269.5098 13.052667 + 5950 16738.459 0 0 5269.5149 13.052707 + 6000 16738.468 0 0 5269.5177 13.052729 + 6050 16738.466 0 0 5269.5172 13.052725 + 6100 16738.462 0 0 5269.516 13.052715 + 6150 16738.463 0 0 5269.5162 13.052717 + 6200 16738.468 0 0 5269.5178 13.052729 + 6250 16738.472 0 0 5269.5189 13.052738 + 6300 16738.465 0 0 5269.5169 13.052723 + 6350 16738.448 0 0 5269.5115 13.052681 + 6400 16738.439 0 0 5269.5086 13.052658 + 6450 16738.451 0 0 5269.5124 13.052687 + 6500 16738.469 0 0 5269.5181 13.052732 + 6550 16738.478 0 0 5269.5209 13.052754 + 6600 16738.48 0 0 5269.5214 13.052758 + 6650 16738.479 0 0 5269.5213 13.052757 + 6700 16738.48 -0.00057913194 0 5269.521 13.052744 + 6750 16738.483 -0.0025329373 0 5269.5198 13.0527 + 6800 16738.482 -0.0065110045 0 5269.5156 13.052612 + 6850 16738.465 -0.0072245165 0 5269.5095 13.052574 + 6900 16738.436 -0.0036561206 0 5269.5039 13.052609 + 6950 16738.433 -0.0010530752 0 5269.5056 13.052661 + 7000 16738.455 -0.00056878712 0 5269.5132 13.052723 + 7050 16738.475 -0.0011717775 0 5269.5187 13.052755 + 7100 16738.48 -0.00047531448 0 5269.5209 13.052781 + 7150 16738.479 0 0 5269.5211 13.052788 + 7200 16738.478 0 0 5269.5207 13.052785 + 7250 16738.477 0 0 5269.5207 13.052785 + 7300 16738.476 0 0 5269.5201 13.052781 + 7350 16738.466 0 0 5269.5172 13.052758 + 7400 16738.448 0 0 5269.5115 13.052714 + 7450 16738.438 0 0 5269.5083 13.052688 + 7500 16738.448 0 0 5269.5115 13.052713 + 7550 16738.464 -0.00053504438 0 5269.5158 13.052742 + 7600 16738.483 -0.010043243 0 5269.5123 13.052657 + 7650 16738.674 -0.077543712 0 5269.5051 13.052041 + 7700 16736.839 0.49724664 0 5269.502 13.085872 + 7750 16731.931 2.0427463 0 5269.5024 13.190769 + 7800 16738.762 -0.10404434 0 5269.5061 13.082626 + 7850 16738.525 -0.024994384 0 5269.5108 13.082681 + 7900 16738.479 -0.008372534 0 5269.5129 13.082885 + 7950 16738.449 -0.0038549468 0 5269.5079 13.082917 + 8000 16738.441 -0.0016367618 0 5269.5074 13.082937 + 8050 16738.455 -0.0014865651 0 5269.5123 13.082971 + 8100 16738.47 -0.00072796093 0 5269.5175 13.083021 + 8150 16738.476 0 0 5269.5202 13.08305 + 8200 16738.477 0 0 5269.5204 13.083051 + 8250 16738.476 0 0 5269.5201 13.083049 + 8300 16738.474 0 0 5269.5197 13.083046 + 8350 16738.47 0 0 5269.5185 13.083036 + 8400 16738.462 -0.0017116105 0 5269.5142 13.082984 + 8450 16738.447 -0.003289664 0 5269.5078 13.082915 + 8500 16738.429 -0.00098100125 0 5269.5043 13.082918 + 8550 16738.435 0 0 5269.5075 13.082953 + 8600 16738.458 0 0 5269.5146 13.083009 + 8650 16738.474 0 0 5269.5195 13.083048 + 8700 16738.478 0 0 5269.5208 13.083058 + 8750 16738.477 0 0 5269.5206 13.083056 + 8800 16738.476 0 0 5269.5203 13.083054 + 8850 16738.477 0 0 5269.5206 13.083056 + 8900 16738.476 0 0 5269.5203 13.083054 + 8950 16738.468 0 0 5269.5177 13.083034 + 9000 16738.451 0 0 5269.5122 13.082991 + 9050 16738.44 0 0 5269.5089 13.082965 + 9100 16738.448 0 0 5269.5113 13.082984 + 9150 16738.46 0 0 5269.5153 13.083014 + 9200 16738.464 0 0 5269.5163 13.083023 + 9250 16738.462 0 0 5269.5158 13.083019 + 9300 16738.462 0 0 5269.5159 13.08302 + 9350 16738.467 0 0 5269.5174 13.083031 + 9400 16738.472 -0.00023657901 0 5269.5188 13.083039 + 9450 16738.472 0 0 5269.519 13.083044 + 9500 16738.46 0 0 5269.5153 13.083016 + 9550 16738.443 0 0 5269.5099 13.082974 + 9600 16738.441 0 0 5269.5092 13.082967 + 9650 16738.458 -0.00038368065 0 5269.5142 13.083 + 9700 16738.475 -0.00099963025 0 5269.519 13.083029 + 9750 16738.492 -0.0049852397 0 5269.5203 13.082953 + 9800 16738.483 -0.0018715252 0 5269.5204 13.083034 + 9850 16738.477 0 0 5269.5205 13.083063 + 9900 16738.477 -0.0018402419 0 5269.5186 13.083025 + 9950 16738.482 -0.005648013 0 5269.5164 13.082936 + 10000 16738.467 -0.0045058746 0 5269.5129 13.082944 +Loop time of 0.139287 on 1 procs for 10000 steps with 81 atoms + +Performance: 620300.751 tau/day, 71794.068 timesteps/s, 5.815 Matom-step/s +99.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0074128 | 0.0074128 | 0.0074128 | 0.0 | 5.32 +Neigh | 0.045566 | 0.045566 | 0.045566 | 0.0 | 32.71 +Comm | 0.007912 | 0.007912 | 0.007912 | 0.0 | 5.68 +Output | 0.0015912 | 0.0015912 | 0.0015912 | 0.0 | 1.14 +Modify | 0.06951 | 0.06951 | 0.06951 | 0.0 | 49.90 +Other | | 0.007295 | | | 5.24 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 63 ave 63 max 63 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 19 ave 19 max 19 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 19 +Ave neighs/atom = 0.2345679 +Neighbor list builds = 1481 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.nve.g++.4 b/examples/rigid/log.25Mar24.rigid.nve.g++.4 new file mode 100644 index 0000000000..af3c1c6489 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.nve.g++.4 @@ -0,0 +1,338 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 + 9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +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 = 18 18 18 + 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.201 | 4.233 | 4.327 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.688 571.72044 0 5265.826 32.006558 + 100 16298.426 136.669 0 5267.6551 16.445373 + 150 16682.627 17.489692 0 5269.4277 14.900277 + 200 16733.935 1.3740602 0 5269.4647 14.569704 + 250 16738.854 -0.15258528 0 5269.4868 14.496759 + 300 16738.584 -0.055187603 0 5269.4992 14.496371 + 350 16738.492 -0.017449036 0 5269.5078 14.496801 + 400 16738.472 -0.006012316 0 5269.513 14.496991 + 450 16738.469 -0.0012715314 0 5269.5169 14.497085 + 500 16738.471 -0.00081065611 0 5269.5177 14.497095 + 550 16738.47 -0.00083201064 0 5269.5175 14.497091 + 600 16738.469 -0.00058353965 0 5269.5174 14.497091 + 650 16738.467 -0.0004722653 0 5269.5169 14.497088 + 700 16738.462 0 0 5269.5158 14.497085 + 750 16738.454 0 0 5269.5134 14.497066 + 800 16738.449 0 0 5269.5116 14.497052 + 850 16738.451 0 0 5269.5123 14.497057 + 900 16738.46 0 0 5269.5151 14.497079 + 950 16738.475 -0.0035324469 0 5269.5163 14.497056 + 1000 16738.603 -0.05113463 0 5269.509 14.496621 + 1050 16737.376 0.32970882 0 5269.5037 14.526144 + 1100 16737.909 0.16215423 0 5269.5038 14.53237 + 1150 16738.719 -0.089236594 0 5269.5074 14.510282 + 1200 16738.477 -0.0075446521 0 5269.513 14.51099 + 1250 16738.458 0 0 5269.5146 14.511061 + 1300 16738.448 0 0 5269.5114 14.511036 + 1350 16738.444 0 0 5269.5102 14.511026 + 1400 16738.449 -0.00044714105 0 5269.5113 14.511031 + 1450 16738.458 -0.0010956657 0 5269.5136 14.511043 + 1500 16738.464 -0.00057735083 0 5269.516 14.511066 + 1550 16738.467 0 0 5269.5173 14.511083 + 1600 16738.469 0 0 5269.5179 14.511087 + 1650 16738.47 0 0 5269.5183 14.511091 + 1700 16738.469 0 0 5269.5181 14.511089 + 1750 16738.464 0 0 5269.5164 14.511076 + 1800 16738.455 0 0 5269.5137 14.511055 + 1850 16738.45 0 0 5269.5121 14.511042 + 1900 16738.453 0 0 5269.513 14.511049 + 1950 16738.468 -0.0031854173 0 5269.5144 14.51102 + 2000 16738.501 -0.01331726 0 5269.5148 14.510906 + 2050 16738.568 -0.036719673 0 5269.5126 14.510668 + 2100 16738.646 -0.063312431 0 5269.5103 14.510597 + 2150 16738.619 -0.05606591 0 5269.5091 14.510608 + 2200 16738.566 -0.038448437 0 5269.5101 14.510779 + 2250 16738.52 -0.023712465 0 5269.5103 14.510906 + 2300 16738.485 -0.01323561 0 5269.5099 14.510971 + 2350 16738.457 -0.0045452995 0 5269.5097 14.511049 + 2400 16738.449 -0.00052013007 0 5269.5113 14.511107 + 2450 16738.461 -0.002321933 0 5269.5132 14.511099 + 2500 16738.474 -0.0051804641 0 5269.5145 14.511103 + 2550 16738.592 -0.04492566 0 5269.5117 14.510696 + 2600 16738.45 -0.0038193536 0 5269.5082 14.510939 + 2650 16733.621 1.5177478 0 5269.5097 14.586333 + 2700 16738.772 -0.1064304 0 5269.5069 14.500913 + 2750 16733.165 1.6598389 0 5269.5082 14.616957 + 2800 16738.577 -0.04523598 0 5269.5068 14.51458 + 2850 16738.475 -0.01269037 0 5269.5073 14.513396 + 2900 16738.449 -0.002688737 0 5269.5089 14.513555 + 2950 16738.465 -0.0082345477 0 5269.5084 14.513515 + 3000 16738.657 -0.071197475 0 5269.5061 14.513024 + 3050 16706.71 9.9435728 0 5269.4634 15.021496 + 3100 16643.257 29.968327 0 5269.5123 14.548247 + 3150 16739.45 -0.33134743 0 5269.4956 13.595814 + 3200 16731.445 2.1723572 0 5269.4792 12.100834 + 3250 16612.686 39.57457 0 5269.4942 13.879807 + 3300 16738.601 -0.059713795 0 5269.4997 12.666612 + 3350 16738.587 -0.044640809 0 5269.5106 12.663574 + 3400 16737.995 0.14468663 0 5269.5136 12.680161 + 3450 16738.607 -0.050706049 0 5269.5107 12.665118 + 3500 16738.819 -0.12122411 0 5269.5069 12.665394 + 3550 16738.498 -0.021940181 0 5269.5052 12.676141 + 3600 16673.205 20.482364 0 5269.4544 13.525704 + 3650 16738.648 -0.074052045 0 5269.5003 12.817014 + 3700 16738.632 -0.07184695 0 5269.4975 12.810978 + 3750 16738.621 -0.07013081 0 5269.4958 12.811663 + 3800 16738.552 -0.044378799 0 5269.4998 12.811871 + 3850 16738.492 -0.015384402 0 5269.5099 12.811397 + 3900 16738.487 -0.0058199162 0 5269.518 12.811514 + 3950 16738.482 -0.0012032457 0 5269.521 12.811589 + 4000 16738.478 -0.00020707654 0 5269.5208 12.811606 + 4050 16738.477 0 0 5269.5207 12.811608 + 4100 16738.477 0 0 5269.5206 12.811607 + 4150 16738.475 0 0 5269.5199 12.811602 + 4200 16738.464 0 0 5269.5165 12.811576 + 4250 16738.446 0 0 5269.5109 12.811532 + 4300 16738.44 0 0 5269.5089 12.811516 + 4350 16738.454 0 0 5269.5131 12.811549 + 4400 16738.468 0 0 5269.5177 12.811585 + 4450 16738.47 0 0 5269.5184 12.811591 + 4500 16738.466 0 0 5269.517 12.811579 + 4550 16738.463 0 0 5269.5162 12.811573 + 4600 16738.466 0 0 5269.517 12.81158 + 4650 16738.471 0 0 5269.5186 12.811592 + 4700 16738.47 0 0 5269.5182 12.811589 + 4750 16738.456 0 0 5269.5139 12.811556 + 4800 16738.441 0 0 5269.5091 12.811518 + 4850 16738.444 0 0 5269.5102 12.811526 + 4900 16738.462 0 0 5269.5159 12.81157 + 4950 16738.475 0 0 5269.5201 12.811603 + 5000 16738.479 0 0 5269.5212 12.811612 + 5050 16738.479 0 0 5269.5212 12.811612 + 5100 16738.479 0 0 5269.5212 12.811612 + 5150 16738.478 0 0 5269.5209 12.81161 + 5200 16738.472 0 0 5269.519 12.811595 + 5250 16738.456 0 0 5269.5138 12.811555 + 5300 16738.432 0 0 5269.5064 12.811497 + 5350 16738.422 0 0 5269.5033 12.811472 + 5400 16738.438 0 0 5269.5082 12.81151 + 5450 16738.46 0 0 5269.515 12.811564 + 5500 16738.471 -0.0002100851 0 5269.5183 12.811588 + 5550 16738.481 -0.003484166 0 5269.5185 12.811534 + 5600 16738.542 -0.024500002 0 5269.5164 12.81122 + 5650 16738.641 -0.058023282 0 5269.5142 12.812225 + 5700 16384.935 111.24508 0 5269.4653 26.09278 + 5750 16738.555 -0.030778873 0 5269.5142 13.052328 + 5800 16738.462 -0.0034050628 0 5269.5125 13.052653 + 5850 16738.441 -0.00034406845 0 5269.5089 13.052656 + 5900 16738.443 0 0 5269.5098 13.052667 + 5950 16738.459 0 0 5269.5149 13.052707 + 6000 16738.468 0 0 5269.5177 13.052729 + 6050 16738.466 0 0 5269.5172 13.052725 + 6100 16738.462 0 0 5269.516 13.052715 + 6150 16738.463 0 0 5269.5162 13.052717 + 6200 16738.468 0 0 5269.5178 13.052729 + 6250 16738.472 0 0 5269.5189 13.052738 + 6300 16738.465 0 0 5269.5169 13.052723 + 6350 16738.448 0 0 5269.5115 13.052681 + 6400 16738.439 0 0 5269.5086 13.052658 + 6450 16738.451 0 0 5269.5124 13.052687 + 6500 16738.469 0 0 5269.5181 13.052732 + 6550 16738.478 0 0 5269.5209 13.052754 + 6600 16738.48 0 0 5269.5214 13.052758 + 6650 16738.479 0 0 5269.5213 13.052757 + 6700 16738.48 -0.00057913195 0 5269.521 13.052744 + 6750 16738.483 -0.0025329373 0 5269.5198 13.0527 + 6800 16738.482 -0.0065110047 0 5269.5156 13.052612 + 6850 16738.465 -0.0072245166 0 5269.5095 13.052574 + 6900 16738.436 -0.0036561206 0 5269.5039 13.052609 + 6950 16738.433 -0.0010530752 0 5269.5056 13.052661 + 7000 16738.455 -0.00056878712 0 5269.5132 13.052723 + 7050 16738.475 -0.0011717775 0 5269.5187 13.052755 + 7100 16738.48 -0.00047531448 0 5269.5209 13.052781 + 7150 16738.479 0 0 5269.5211 13.052788 + 7200 16738.478 0 0 5269.5207 13.052785 + 7250 16738.477 0 0 5269.5207 13.052785 + 7300 16738.476 0 0 5269.5201 13.052781 + 7350 16738.466 0 0 5269.5172 13.052758 + 7400 16738.448 0 0 5269.5115 13.052714 + 7450 16738.438 0 0 5269.5083 13.052688 + 7500 16738.448 0 0 5269.5115 13.052713 + 7550 16738.464 -0.00053504439 0 5269.5158 13.052742 + 7600 16738.483 -0.010043243 0 5269.5123 13.052657 + 7650 16738.674 -0.077543714 0 5269.5051 13.052041 + 7700 16736.839 0.49724671 0 5269.502 13.085872 + 7750 16731.931 2.0427465 0 5269.5024 13.190769 + 7800 16738.762 -0.10404434 0 5269.5061 13.082626 + 7850 16738.525 -0.024994385 0 5269.5108 13.082681 + 7900 16738.479 -0.008372534 0 5269.5129 13.082885 + 7950 16738.449 -0.0038549468 0 5269.5079 13.082917 + 8000 16738.441 -0.0016367617 0 5269.5074 13.082937 + 8050 16738.455 -0.0014865651 0 5269.5123 13.082971 + 8100 16738.47 -0.00072796092 0 5269.5175 13.083021 + 8150 16738.476 0 0 5269.5202 13.08305 + 8200 16738.477 0 0 5269.5204 13.083051 + 8250 16738.476 0 0 5269.5201 13.083049 + 8300 16738.474 0 0 5269.5197 13.083046 + 8350 16738.47 0 0 5269.5185 13.083036 + 8400 16738.462 -0.0017116105 0 5269.5142 13.082984 + 8450 16738.447 -0.003289664 0 5269.5078 13.082915 + 8500 16738.429 -0.00098100125 0 5269.5043 13.082918 + 8550 16738.435 0 0 5269.5075 13.082953 + 8600 16738.458 0 0 5269.5146 13.083009 + 8650 16738.474 0 0 5269.5195 13.083048 + 8700 16738.478 0 0 5269.5208 13.083058 + 8750 16738.477 0 0 5269.5206 13.083056 + 8800 16738.476 0 0 5269.5203 13.083054 + 8850 16738.477 0 0 5269.5206 13.083056 + 8900 16738.476 0 0 5269.5203 13.083054 + 8950 16738.468 0 0 5269.5177 13.083034 + 9000 16738.451 0 0 5269.5122 13.082991 + 9050 16738.44 0 0 5269.5089 13.082965 + 9100 16738.448 0 0 5269.5113 13.082984 + 9150 16738.46 0 0 5269.5153 13.083014 + 9200 16738.464 0 0 5269.5163 13.083023 + 9250 16738.462 0 0 5269.5158 13.083019 + 9300 16738.462 0 0 5269.5159 13.08302 + 9350 16738.467 0 0 5269.5174 13.083031 + 9400 16738.472 -0.00023657902 0 5269.5188 13.083039 + 9450 16738.472 0 0 5269.519 13.083044 + 9500 16738.46 0 0 5269.5153 13.083016 + 9550 16738.443 0 0 5269.5099 13.082974 + 9600 16738.441 0 0 5269.5092 13.082967 + 9650 16738.458 -0.00038368067 0 5269.5142 13.083 + 9700 16738.475 -0.00099963027 0 5269.519 13.083029 + 9750 16738.492 -0.00498524 0 5269.5203 13.082953 + 9800 16738.483 -0.0018715253 0 5269.5204 13.083034 + 9850 16738.477 0 0 5269.5205 13.083063 + 9900 16738.477 -0.0018402419 0 5269.5186 13.083025 + 9950 16738.482 -0.0056480132 0 5269.5164 13.082936 + 10000 16738.467 -0.0045058747 0 5269.5129 13.082944 +Loop time of 0.147071 on 4 procs for 10000 steps with 81 atoms + +Performance: 587469.667 tau/day, 67994.174 timesteps/s, 5.508 Matom-step/s +98.2% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0016588 | 0.0023518 | 0.0030017 | 1.0 | 1.60 +Neigh | 0.011581 | 0.012949 | 0.014883 | 1.1 | 8.80 +Comm | 0.063654 | 0.065097 | 0.066501 | 0.4 | 44.26 +Output | 0.0017378 | 0.0018782 | 0.0022756 | 0.5 | 1.28 +Modify | 0.049872 | 0.050432 | 0.051195 | 0.2 | 34.29 +Other | | 0.01436 | | | 9.77 + +Nlocal: 20.25 ave 35 max 0 min +Histogram: 1 0 0 0 0 1 0 1 0 1 +Nghost: 41 ave 52 max 30 min +Histogram: 1 0 0 0 1 1 0 0 0 1 +Neighs: 4.75 ave 19 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 19 +Ave neighs/atom = 0.2345679 +Neighbor list builds = 1481 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.poems.g++.1 b/examples/rigid/log.25Mar24.rigid.poems.g++.1 new file mode 100644 index 0000000000..0e69724dda --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.poems.g++.1 @@ -0,0 +1,328 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# 1 chain of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 36 45 +10 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +1 clusters, 9 bodies, 8 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 + +@Article{Mukherjee08, + author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, + title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, + journal = {Intl.\ J.\ Non-Linear Mechanics}, + year = 2008, + volume = 43, + number = 10, + pages = {1040--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +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 = 18 18 18 + 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.666 | 3.666 | 3.666 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 217.7783 3430.3907 0 3466.6871 -2.7403788 + 50 13679.637 1404.2468 0 3684.1863 12.446066 + 100 16777.225 888.87665 0 3685.0808 -31.828677 + 150 19595.365 418.45042 0 3684.3446 40.709078 + 200 18524.188 596.47273 0 3683.8375 -0.8159371 + 250 21015.789 180.96521 0 3683.5967 -10.042469 + 300 20785.513 219.25314 0 3683.5053 2.6452719 + 350 21072.46 171.2554 0 3683.3321 7.0609024 + 400 19956.414 356.36381 0 3682.4328 19.320259 + 450 20724.42 227.73284 0 3681.8028 8.1259249 + 500 20152.578 322.71466 0 3681.4777 5.4929878 + 550 20017.022 345.29701 0 3681.4673 5.4661666 + 600 17897.743 698.72196 0 3681.6791 3.2854742 + 650 17297.758 796.60256 0 3679.5623 15.191113 + 700 18581.934 584.29715 0 3681.2861 5.1588289 + 750 21774.158 52.821062 0 3681.8474 -10.775664 + 800 21604.055 81.188546 0 3681.8644 -3.2045743 + 850 17821.483 711.53827 0 3681.7854 7.4384279 + 900 21033.292 175.98127 0 3681.5299 -16.345167 + 950 20968.166 186.59847 0 3681.2929 -2.330456 + 1000 20490.66 266.19375 0 3681.3037 11.787983 + 1050 20222.396 310.94072 0 3681.34 -8.3459539 + 1100 21321.687 127.61533 0 3681.2299 -1.2184717 + 1150 20849.582 206.01695 0 3680.9472 -0.86699135 + 1200 21815.003 45.317412 0 3681.1512 1.5988314 + 1250 18655.437 572.41453 0 3681.654 10.06408 + 1300 20780.781 217.36509 0 3680.8286 6.0538614 + 1350 20558.971 254.36485 0 3680.8601 -3.6773923 + 1400 21485.029 99.812891 0 3680.6511 -16.185475 + 1450 21771.107 52.159624 0 3680.6775 -2.4756668 + 1500 21520.948 93.503905 0 3680.3286 2.1023577 + 1550 21351.418 121.68136 0 3680.2511 5.5159922 + 1600 20778.805 216.92182 0 3680.0559 15.089193 + 1650 21477.637 100.21853 0 3679.8247 -1.1045536 + 1700 18501.335 596.47986 0 3680.0357 -15.679729 + 1750 18563.64 587.34819 0 3681.2882 33.532254 + 1800 19110.181 494.82407 0 3679.8543 18.02406 + 1850 21364.186 119.23625 0 3679.9339 2.5290683 + 1900 20146.613 322.15086 0 3679.9197 5.7314718 + 1950 20692.671 231.25334 0 3680.0319 4.2977791 + 2000 20943.905 189.11211 0 3679.7629 -22.644575 + 2050 19667.965 401.84519 0 3679.8394 3.6247265 + 2100 20280.309 299.78396 0 3679.8355 7.4806221 + 2150 19181.565 483.57073 0 3680.4982 22.62593 + 2200 21300.569 130.63684 0 3680.7316 4.7090558 + 2250 20486.112 266.77753 0 3681.1296 -8.6505201 + 2300 18651.193 572.56862 0 3681.1008 -5.2604682 + 2350 21514.435 95.462414 0 3681.2016 -9.3718933 + 2400 21464.75 103.81741 0 3681.2757 -29.521964 + 2450 20103.185 331.7557 0 3682.2865 35.600257 + 2500 20767.309 221.18002 0 3682.3981 -12.41075 + 2550 20461.88 271.93545 0 3682.2488 -22.542329 + 2600 21463.807 104.97703 0 3682.2782 -10.118749 + 2650 20902.135 198.66716 0 3682.3564 5.0103958 + 2700 18582.384 585.6465 0 3682.7106 22.212808 + 2750 21079.961 168.86261 0 3682.1894 -8.8401109 + 2800 21425.876 111.18035 0 3682.1598 -6.7933883 + 2850 17414.605 780.0645 0 3682.4987 28.180022 + 2900 19978.961 352.1845 0 3682.0113 8.4280816 + 2950 21189.046 150.47808 0 3681.9858 2.8898793 + 3000 19271.367 469.54947 0 3681.4439 -7.1530396 + 3050 21470.889 103.45294 0 3681.9344 -1.4975516 + 3100 21574.513 85.87604 0 3681.6282 7.0301554 + 3150 21649.42 73.506656 0 3681.7434 1.6649326 + 3200 20857.44 205.3704 0 3681.6104 2.9318184 + 3250 18573.575 585.73328 0 3681.3292 5.9394399 + 3300 17938.353 691.67199 0 3681.3975 9.7205454 + 3350 18668.795 570.23722 0 3681.7031 3.6442733 + 3400 16834.721 876.36804 0 3682.1548 21.869594 + 3450 20148.848 323.06988 0 3681.2112 3.8120475 + 3500 21039.942 175.06064 0 3681.7177 1.4965105 + 3550 21439.472 108.66655 0 3681.9119 4.192594 + 3600 21457.784 105.54883 0 3681.8461 -2.932673 + 3650 21409.999 113.49591 0 3681.829 -15.09817 + 3700 21380.023 118.56895 0 3681.9061 -15.461367 + 3750 20422.085 277.28852 0 3680.9694 19.331799 + 3800 18275.038 635.75951 0 3681.5992 22.413362 + 3850 20906.341 197.06897 0 3681.4592 2.5691289 + 3900 20041.032 341.11847 0 3681.2905 1.8089245 + 3950 18917.084 528.44677 0 3681.2941 -10.656627 + 4000 20425.89 276.98688 0 3681.3018 7.5960674 + 4050 18289.157 633.13575 0 3681.3286 6.5695895 + 4100 19601.884 414.64621 0 3681.6269 8.6144847 + 4150 20790.308 216.9575 0 3682.0088 1.6300255 + 4200 21043.169 174.98738 0 3682.1822 3.8942459 + 4250 19073.45 503.63057 0 3682.5389 -10.975988 + 4300 21251.971 140.63454 0 3682.6298 -7.7937426 + 4350 20844.867 208.08653 0 3682.2311 -10.295096 + 4400 20869.781 203.57469 0 3681.8716 -8.7176985 + 4450 20384.41 284.19751 0 3681.5992 3.9044821 + 4500 20002.241 346.95848 0 3680.6654 12.100678 + 4550 21410.259 112.40994 0 3680.7864 -6.6653767 + 4600 18230.418 641.88921 0 3680.2922 22.502391 + 4650 21319.778 127.76737 0 3681.0638 -0.50309316 + 4700 19429.05 441.85455 0 3680.0296 20.851722 + 4750 20395.967 281.13332 0 3680.4611 12.635024 + 4800 19405.371 446.47714 0 3680.7056 -3.0340076 + 4850 19935.979 358.4478 0 3681.1109 -7.9390554 + 4900 18822.801 543.80607 0 3680.9396 -3.1086099 + 4950 20569.881 252.87963 0 3681.1932 11.807076 + 5000 20311.182 296.63458 0 3681.8315 -4.2409472 + 5050 20187.672 316.83663 0 3681.4486 1.8723981 + 5100 17439.679 775.35516 0 3681.9684 -5.7037267 + 5150 20394.4 282.56755 0 3681.6342 4.3399253 + 5200 20294.84 299.10095 0 3681.5742 -9.9868412 + 5250 20396.122 282.31614 0 3681.6698 -4.9932521 + 5300 20617.465 245.11679 0 3681.3609 0.97429493 + 5350 21651.191 72.878802 0 3681.4106 2.0913693 + 5400 19097.721 498.69617 0 3681.6496 21.808511 + 5450 21856.73 38.930299 0 3681.7186 -4.0225451 + 5500 20087.477 334.09405 0 3682.0069 5.7109498 + 5550 17734.477 726.10594 0 3681.8522 16.277738 + 5600 21183.231 151.714 0 3682.2525 -2.1080998 + 5650 20832.185 210.14251 0 3682.1733 -8.0602581 + 5700 18879.226 535.50935 0 3682.0471 -14.351666 + 5750 18931.81 529.67506 0 3684.9768 4.8675164 + 5800 21674.979 70.259619 0 3682.7561 -14.990544 + 5850 21395.905 116.47471 0 3682.4588 -0.94334402 + 5900 18532.955 593.27143 0 3682.0973 26.072477 + 5950 20767.534 220.78554 0 3682.0413 -1.6468662 + 6000 21546.127 91.167146 0 3682.1882 -5.4664857 + 6050 20085.534 334.40872 0 3681.9977 -0.34825498 + 6100 21218.156 145.88926 0 3682.2486 2.2871905 + 6150 20902.857 198.59424 0 3682.4038 6.0082154 + 6200 21726.547 61.195607 0 3682.2868 -2.2981656 + 6250 17507.589 764.20763 0 3682.1392 9.4977327 + 6300 21687.283 67.283821 0 3681.831 -8.694756 + 6350 19806.474 380.24632 0 3681.3254 -0.94067379 + 6400 21128.461 160.65399 0 3682.0641 -4.8435757 + 6450 19747.214 390.89694 0 3682.0992 1.9108969 + 6500 20460.408 272.79545 0 3682.8634 -4.1094877 + 6550 16740.095 892.11547 0 3682.1313 13.20551 + 6600 18326.164 628.80415 0 3683.1648 -19.884336 + 6650 18469.284 605.36384 0 3683.5778 10.345658 + 6700 21086.876 168.61821 0 3683.0976 -0.036118094 + 6750 19924.801 361.46485 0 3682.2649 -2.1144953 + 6800 19812.028 380.5919 0 3682.5966 11.119936 + 6850 19118.501 496.38857 0 3682.8054 0.53906703 + 6900 19221.04 478.31879 0 3681.8255 11.13851 + 6950 20482.79 269.03445 0 3682.8328 2.6705981 + 7000 16350.403 957.96283 0 3683.03 -2.9783385 + 7050 20789.906 218.36242 0 3683.3467 4.2465754 + 7100 17718.126 730.09011 0 3683.111 15.271811 + 7150 19020.414 513.34591 0 3683.4149 -8.3035633 + 7200 21165.007 156.24494 0 3683.7461 -7.3085107 + 7250 20520.422 264.35574 0 3684.4261 -6.7803072 + 7300 19078.795 505.10953 0 3684.9087 -11.147107 + 7350 20529.173 263.85389 0 3685.3827 0.59881989 + 7400 20548.068 261.27337 0 3685.9513 -5.0067382 + 7450 20849.172 211.46852 0 3686.3306 -0.80175538 + 7500 20869.894 207.95335 0 3686.2689 0.44541197 + 7550 18490.583 605.63557 0 3687.3993 -11.744631 + 7600 19185.381 488.52218 0 3686.0857 3.0881652 + 7650 20520.848 265.65037 0 3685.7917 -0.28165722 + 7700 20599.631 251.69265 0 3684.9645 0.19835423 + 7750 18428.55 614.11446 0 3685.5395 5.8092563 + 7800 19660.337 408.61674 0 3685.3396 4.9902979 + 7850 19409.663 450.30454 0 3685.2483 8.8641567 + 7900 21307.628 133.95865 0 3685.23 -1.8297128 + 7950 17828.245 713.05722 0 3684.4314 5.9673166 + 8000 15894.788 1036.4896 0 3685.621 57.567209 + 8050 18588.022 587.45738 0 3685.4611 1.5643233 + 8100 20664.194 241.59965 0 3685.632 -4.9298687 + 8150 17745.538 728.43249 0 3686.0221 6.121885 + 8200 18433.239 612.84747 0 3685.0539 17.078623 + 8250 19162.628 492.52511 0 3686.2965 12.204945 + 8300 18507.768 602.21188 0 3686.8399 -14.003487 + 8350 21010.715 184.80032 0 3686.5861 -0.93351338 + 8400 20888.233 205.24214 0 3686.6143 -5.3433619 + 8450 20920.621 199.6941 0 3686.4643 -30.437742 + 8500 17085.22 840.80474 0 3688.3414 3.9123878 + 8550 20900.377 203.87077 0 3687.267 -6.7525851 + 8600 19771.517 392.67499 0 3687.9278 13.762684 + 8650 19541.099 431.09497 0 3687.9448 2.0785077 + 8700 21056.327 178.88314 0 3688.2709 -13.663758 + 8750 20109.075 336.93228 0 3688.4447 -1.0445182 + 8800 21821.77 51.337654 0 3688.2993 -10.263971 + 8850 17653.401 740.45074 0 3682.6842 49.147758 + 8900 20311.01 302.92663 0 3688.095 -8.1910583 + 8950 19745.488 396.38557 0 3687.3003 -16.948557 + 9000 20248.989 311.52221 0 3686.3537 -2.4158415 + 9050 17850.649 710.17969 0 3685.2878 25.692377 + 9100 19370.284 456.73812 0 3685.1187 -21.201413 + 9150 20452.896 276.95741 0 3685.7735 2.0316457 + 9200 19174.266 488.9925 0 3684.7035 10.317202 + 9250 20174.171 323.4614 0 3685.8232 -2.1072552 + 9300 21442.761 111.68542 0 3685.479 -12.303658 + 9350 19697.287 402.21503 0 3685.0963 8.4697153 + 9400 21553.763 93.03581 0 3685.3297 -6.7286485 + 9450 18946.935 527.04498 0 3684.8674 -6.6174191 + 9500 21162.915 158.64321 0 3685.7957 -3.2085936 + 9550 20704.844 235.41227 0 3686.2196 10.847095 + 9600 20664.074 242.09733 0 3686.1096 3.7301969 + 9650 20829.655 214.20146 0 3685.8107 7.2197609 + 9700 17336.625 797.22781 0 3686.6654 14.775351 + 9750 19978.15 356.51126 0 3686.2029 -1.1978838 + 9800 21150.487 162.1616 0 3687.2427 -15.596643 + 9850 20849.962 213.10316 0 3688.0968 -5.5443282 + 9900 18407.158 620.93592 0 3688.7956 10.177471 + 9950 20459.637 278.24203 0 3688.1815 0.0020687238 + 10000 21667.112 78.10938 0 3689.2948 -12.660594 +Loop time of 3.06048 on 1 procs for 10000 steps with 81 atoms + +Performance: 28230.843 tau/day, 3267.459 timesteps/s, 264.664 katom-step/s +99.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.11571 | 0.11571 | 0.11571 | 0.0 | 3.78 +Neigh | 0.094982 | 0.094982 | 0.094982 | 0.0 | 3.10 +Comm | 0.0098585 | 0.0098585 | 0.0098585 | 0.0 | 0.32 +Output | 0.003355 | 0.003355 | 0.003355 | 0.0 | 0.11 +Modify | 2.8226 | 2.8226 | 2.8226 | 0.0 | 92.23 +Other | | 0.01395 | | | 0.46 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 115 ave 115 max 115 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 808 ave 808 max 808 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 808 +Ave neighs/atom = 9.9753086 +Neighbor list builds = 1162 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems.g++.4 b/examples/rigid/log.25Mar24.rigid.poems.g++.4 new file mode 100644 index 0000000000..b75701792d --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.poems.g++.4 @@ -0,0 +1,328 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# 1 chain of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 36 45 +10 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +1 clusters, 9 bodies, 8 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 + +@Article{Mukherjee08, + author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, + title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, + journal = {Intl.\ J.\ Non-Linear Mechanics}, + year = 2008, + volume = 43, + number = 10, + pages = {1040--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +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 = 18 18 18 + 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.514 | 3.545 | 3.639 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 217.7783 3430.3907 0 3466.6871 -2.7403788 + 50 13679.637 1404.2468 0 3684.1863 12.446066 + 100 16777.225 888.87665 0 3685.0808 -31.828677 + 150 19595.365 418.45042 0 3684.3446 40.709078 + 200 18524.188 596.47273 0 3683.8375 -0.8159371 + 250 21015.789 180.96521 0 3683.5967 -10.042469 + 300 20785.513 219.25314 0 3683.5053 2.6452719 + 350 21072.46 171.2554 0 3683.3321 7.0609024 + 400 19956.414 356.36381 0 3682.4328 19.320259 + 450 20724.42 227.73284 0 3681.8028 8.1259249 + 500 20152.578 322.71466 0 3681.4777 5.4929878 + 550 20017.022 345.29701 0 3681.4673 5.4661666 + 600 17897.743 698.72196 0 3681.6791 3.2854742 + 650 17297.758 796.60256 0 3679.5623 15.191113 + 700 18581.934 584.29715 0 3681.2861 5.1588289 + 750 21774.158 52.821062 0 3681.8474 -10.775664 + 800 21604.055 81.188546 0 3681.8644 -3.2045743 + 850 17821.483 711.53827 0 3681.7854 7.4384277 + 900 21033.292 175.98127 0 3681.5299 -16.345167 + 950 20968.166 186.59847 0 3681.2929 -2.330456 + 1000 20490.66 266.19375 0 3681.3037 11.787983 + 1050 20222.396 310.94072 0 3681.34 -8.3459539 + 1100 21321.687 127.61533 0 3681.2299 -1.2184718 + 1150 20849.582 206.01695 0 3680.9472 -0.86699156 + 1200 21815.003 45.317416 0 3681.1512 1.5988314 + 1250 18655.437 572.41453 0 3681.654 10.064076 + 1300 20780.781 217.36505 0 3680.8286 6.0538619 + 1350 20558.972 254.36481 0 3680.8601 -3.6773978 + 1400 21485.029 99.812941 0 3680.6511 -16.185471 + 1450 21771.108 52.159596 0 3680.6775 -2.4756679 + 1500 21520.948 93.503942 0 3680.3286 2.1023578 + 1550 21351.418 121.6814 0 3680.2511 5.5159969 + 1600 20778.805 216.92173 0 3680.0559 15.089183 + 1650 21477.639 100.21825 0 3679.8247 -1.1045878 + 1700 18501.342 596.47873 0 3680.0357 -15.679646 + 1750 18563.643 587.34777 0 3681.2882 33.532181 + 1800 19110.189 494.82286 0 3679.8543 18.024038 + 1850 21364.195 119.2348 0 3679.9339 2.5291365 + 1900 20146.638 322.1467 0 3679.9197 5.7312008 + 1950 20692.67 231.25355 0 3680.0319 4.297766 + 2000 20943.904 189.1122 0 3679.7629 -22.645478 + 2050 19668.123 401.81885 0 3679.8394 3.6254541 + 2100 20280.531 299.74669 0 3679.8352 7.4808896 + 2150 19182.034 483.49332 0 3680.4991 22.616956 + 2200 21299.885 130.75166 0 3680.7326 4.7110487 + 2250 20487.525 266.54254 0 3681.1301 -8.6422018 + 2300 18654.522 572.01515 0 3681.1021 -5.2661499 + 2350 21512.897 95.719565 0 3681.2024 -9.3553511 + 2400 21467.306 103.39279 0 3681.2771 -29.588234 + 2450 20097.914 332.63812 0 3682.2904 35.845886 + 2500 20762.362 222.00787 0 3682.4016 -12.509872 + 2550 20417.692 279.31982 0 3682.2685 -22.320693 + 2600 21468.738 104.15905 0 3682.2821 -10.050868 + 2650 20742.305 225.31121 0 3682.362 5.2887043 + 2700 18575.367 586.68141 0 3682.5759 21.990986 + 2750 20577.766 252.52411 0 3682.1518 -5.8697894 + 2800 20683.69 234.89244 0 3682.1741 -6.7464964 + 2850 16088.831 1001.1454 0 3682.6172 27.686908 + 2900 20715.565 229.46407 0 3682.0583 6.5207552 + 2950 19969.143 353.98595 0 3682.1765 5.3891903 + 3000 20429.639 277.11063 0 3682.0505 -10.302229 + 3050 19840.965 375.78339 0 3682.611 -6.1970263 + 3100 19149.859 490.69976 0 3682.3429 22.372557 + 3150 20421.772 278.3256 0 3681.9543 8.7381033 + 3200 19492.899 433.22833 0 3682.0448 4.3431162 + 3250 20231.034 310.12852 0 3681.9675 -3.2734265 + 3300 19420.155 445.8855 0 3682.578 14.157316 + 3350 21386.445 117.85565 0 3682.2631 1.9590216 + 3400 20372.28 286.91596 0 3682.296 8.2472357 + 3450 20870.351 203.91619 0 3682.308 7.9601676 + 3500 21469.401 104.14434 0 3682.3778 2.5067348 + 3550 21630.799 77.317219 0 3682.4504 -6.5148709 + 3600 21291.513 133.97558 0 3682.5611 -8.8761801 + 3650 19138.211 493.09199 0 3682.7937 25.075733 + 3700 21282.953 135.36631 0 3682.5252 -8.1163312 + 3750 20660.876 239.15863 0 3682.638 -24.806983 + 3800 20161.169 322.26065 0 3682.4555 13.204808 + 3850 19477.477 435.56421 0 3681.8105 31.065794 + 3900 21108.425 164.35492 0 3682.4258 0.37839399 + 3950 21195.124 150.68497 0 3683.2056 -10.098889 + 4000 21477.025 103.95273 0 3683.4568 -4.139886 + 4050 20603.58 249.35497 0 3683.2849 1.3114756 + 4100 19724.656 396.37166 0 3683.8144 -6.6159163 + 4150 20768.839 221.21034 0 3682.6835 -3.4649381 + 4200 19675.942 404.01538 0 3683.339 17.586922 + 4250 21022.927 179.12036 0 3682.9415 0.59436606 + 4300 20511.134 264.68208 0 3683.2044 8.8380269 + 4350 21038.204 177.05256 0 3683.42 -1.3698914 + 4400 18866.857 539.5082 0 3683.9844 10.461602 + 4450 21607.322 83.184316 0 3684.4046 -1.5071605 + 4500 20895.628 201.9445 0 3684.5492 5.7578991 + 4550 20210.744 316.5044 0 3684.9617 5.6678493 + 4600 20416.269 282.24539 0 3684.9569 -3.0067543 + 4650 18811.283 549.46791 0 3684.6817 7.5182454 + 4700 20899.462 201.92249 0 3685.1661 2.6998262 + 4750 20771.285 223.44307 0 3685.3239 12.165622 + 4800 21834.653 46.231798 0 3685.3407 2.021615 + 4850 21282.348 138.2858 0 3685.3437 4.2174481 + 4900 21892.433 36.607993 0 3685.3468 -10.208769 + 4950 21731.003 63.442124 0 3685.2759 -26.918841 + 5000 21476.967 105.69026 0 3685.1848 -10.007088 + 5050 20485.84 270.81814 0 3685.1248 0.65119013 + 5100 21485.763 104.28837 0 3685.2488 -5.3826149 + 5150 21485.096 104.44183 0 3685.2912 -1.274141 + 5200 21388.175 120.61165 0 3685.3074 -7.7953815 + 5250 20656.672 242.51472 0 3685.2934 -4.4067447 + 5300 20132.262 330.10916 0 3685.4862 -11.466755 + 5350 19080.054 505.63228 0 3685.6413 4.6356684 + 5400 21683.337 71.886529 0 3685.7761 -8.4520633 + 5450 20632.669 246.77173 0 3685.5499 5.5429152 + 5500 20896.92 202.76984 0 3685.5898 3.9762924 + 5550 21172.409 156.92085 0 3685.6557 2.6573146 + 5600 20695.91 236.255 0 3685.5733 -18.109158 + 5650 21741.679 61.956471 0 3685.5697 -3.7520994 + 5700 21164.94 157.60813 0 3685.098 2.4020734 + 5750 21075.393 172.84386 0 3685.4093 7.646915 + 5800 20638.831 245.82076 0 3685.6259 8.3009859 + 5850 20262.966 308.37489 0 3685.5359 7.5861941 + 5900 21730.418 63.97074 0 3685.7071 -6.2813552 + 5950 21820.659 48.990687 0 3685.7673 -5.6400713 + 6000 21027.051 181.2853 0 3685.7937 1.213872 + 6050 14422.66 1284.4174 0 3688.194 57.908667 + 6100 19852.685 377.0743 0 3685.8552 -5.1418207 + 6150 20678.783 239.10987 0 3685.5737 -11.982018 + 6200 19788.097 387.62127 0 3685.6375 -2.684571 + 6250 21611.523 83.575418 0 3685.496 1.7544019 + 6300 19214.109 482.45067 0 3684.8021 24.711965 + 6350 18800.074 553.07966 0 3686.4254 11.125791 + 6400 19771.53 390.40388 0 3685.659 -6.1254643 + 6450 20192.282 319.53713 0 3684.9175 13.959536 + 6500 20360.332 292.28682 0 3685.6755 4.4265274 + 6550 21778.739 56.056362 0 3685.8462 -4.6705452 + 6600 16612.689 917.96646 0 3686.748 -32.617733 + 6650 21068.368 174.38501 0 3685.7797 -0.84207954 + 6700 20749.675 227.41249 0 3685.6916 2.9235268 + 6750 20594.96 253.47665 0 3685.9699 -12.440843 + 6800 19974.133 357.05242 0 3686.0745 34.064247 + 6850 21802.523 52.05173 0 3685.8055 -1.4073818 + 6900 18644.747 577.97031 0 3685.4282 19.759245 + 6950 20463.441 274.90799 0 3685.4815 1.2230553 + 7000 20213.292 316.50714 0 3685.3892 23.9288 + 7050 21571.525 90.089593 0 3685.3437 -26.539261 + 7100 20480.036 271.77541 0 3685.1147 -0.13969301 + 7150 21064.842 174.4144 0 3685.2214 3.5451037 + 7200 21179.296 154.8514 0 3684.7341 -5.007319 + 7250 20714.182 232.84783 0 3685.2115 10.601943 + 7300 19341.561 461.91524 0 3685.5087 18.89547 + 7350 21011.016 183.55321 0 3685.3893 1.6481821 + 7400 21206.598 151.07364 0 3685.5066 1.5040526 + 7450 19999.404 352.83129 0 3686.0652 -18.58587 + 7500 21581.952 88.519362 0 3685.5114 -4.0009441 + 7550 21652.618 76.962392 0 3685.7321 -5.758242 + 7600 21207.411 150.86712 0 3685.4355 -0.023727123 + 7650 21756.168 59.804311 0 3685.8323 0.76768563 + 7700 21825.037 48.380795 0 3685.8869 -0.11098207 + 7750 21581.665 89.078228 0 3686.0223 -0.50220667 + 7800 21714.856 66.946216 0 3686.0889 4.637364 + 7850 21319.774 132.905 0 3686.2007 3.4663558 + 7900 21730.647 64.263898 0 3686.0384 1.0898763 + 7950 21597.663 86.255996 0 3685.8664 3.2847476 + 8000 21724.118 65.137632 0 3685.8239 3.7318614 + 8050 19672.702 406.56191 0 3685.3456 -0.37960768 + 8100 21696.026 69.71367 0 3685.7179 -6.2273451 + 8150 18869.648 540.09908 0 3685.0403 22.915669 + 8200 21717.002 66.01922 0 3685.5196 -4.8553801 + 8250 20292.502 303.3445 0 3685.4282 -13.203008 + 8300 21314.341 133.18215 0 3685.5724 -10.023288 + 8350 20992.272 186.87998 0 3685.592 -4.5538872 + 8400 21726.088 64.55825 0 3685.573 -5.1228188 + 8450 21188.98 153.93449 0 3685.4311 -6.8622554 + 8500 21113.87 166.54678 0 3685.5251 2.6009221 + 8550 20620.735 248.66776 0 3685.4569 -8.0047984 + 8600 19715.276 399.79648 0 3685.6758 -10.980391 + 8650 18898.94 535.95488 0 3685.7782 22.513752 + 8700 21692.841 70.067726 0 3685.5413 -3.3917479 + 8750 20242.909 311.87115 0 3685.6893 17.996012 + 8800 19253.702 476.69077 0 3685.6411 3.7170165 + 8850 17625.913 748.07802 0 3685.7302 11.095548 + 8900 21554.709 92.817998 0 3685.2696 0.30720376 + 8950 21585.337 87.685891 0 3685.2421 -0.22047593 + 9000 17454.847 776.14227 0 3685.2834 22.631913 + 9050 20023.106 347.35041 0 3684.5348 4.0008899 + 9100 21100.691 168.07199 0 3684.8539 2.9016681 + 9150 20307.206 299.45669 0 3683.991 2.1630277 + 9200 21747.579 60.245542 0 3684.8421 -15.419887 + 9250 21525.571 97.26157 0 3684.8567 -7.0449498 + 9300 15084.149 1170.5925 0 3684.6173 43.259279 + 9350 21198.648 151.70957 0 3684.8176 3.0716881 + 9400 17771.533 724.65805 0 3686.5802 -18.320033 + 9450 20029.819 346.23988 0 3684.543 -4.0976705 + 9500 19913.342 365.57743 0 3684.4677 2.4909741 + 9550 20594.619 252.35578 0 3684.7923 -4.4263632 + 9600 21013.668 182.33425 0 3684.6122 -1.9371919 + 9650 16915.052 865.78051 0 3684.9559 1.8697619 + 9700 18789.78 553.48818 0 3685.1181 15.642074 + 9750 21236.716 145.75801 0 3685.2107 -3.6730702 + 9800 20972.957 189.72849 0 3685.2214 0.85691231 + 9850 19658.721 408.29826 0 3684.7517 14.8446 + 9900 21624.401 81.484234 0 3685.5511 3.4507557 + 9950 21883.535 38.474607 0 3685.7304 0.3038348 + 10000 21355.31 126.72088 0 3685.9392 -5.5872974 +Loop time of 3.32742 on 4 procs for 10000 steps with 81 atoms + +Performance: 25966.084 tau/day, 3005.334 timesteps/s, 243.432 katom-step/s +99.4% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0073125 | 0.031081 | 0.067049 | 13.5 | 0.93 +Neigh | 0.010912 | 0.030444 | 0.058202 | 10.8 | 0.91 +Comm | 0.084952 | 0.12347 | 0.18323 | 10.9 | 3.71 +Output | 0.0033463 | 0.0038996 | 0.0047508 | 0.9 | 0.12 +Modify | 2.8501 | 2.9361 | 3.0072 | 3.5 | 88.24 +Other | | 0.2024 | | | 6.08 + +Nlocal: 20.25 ave 81 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 +Nghost: 33.5 ave 66 max 2 min +Histogram: 1 1 0 0 0 0 0 1 0 1 +Neighs: 212.5 ave 850 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 850 +Ave neighs/atom = 10.493827 +Neighbor list builds = 1246 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems2.g++.1 b/examples/rigid/log.25Mar24.rigid.poems2.g++.1 new file mode 100644 index 0000000000..4a8cb1298a --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.poems2.g++.1 @@ -0,0 +1,330 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# 2 chains of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 +fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +2 clusters, 9 bodies, 7 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems2 + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 + +@Article{Mukherjee08, + author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, + title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, + journal = {Intl.\ J.\ Non-Linear Mechanics}, + year = 2008, + volume = 43, + number = 10, + pages = {1040--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +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 = 18 18 18 + 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.666 | 3.666 | 3.666 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 196.00047 3632.2347 0 3668.5311 -2.7403788 + 50 12774.759 1538.7378 0 3904.434 18.086356 + 100 19803.641 237.21132 0 3904.5523 -3.1528278 + 150 20259.6 152.62072 0 3904.3985 -4.6173512 + 200 20705.978 69.977442 0 3904.4178 9.0928146 + 250 19552.211 283.50505 0 3904.2848 15.670464 + 300 19266.324 333.5788 0 3901.4165 7.2119173 + 350 20738.325 63.738945 0 3904.1694 -23.039989 + 400 20616.682 86.082444 0 3903.9864 -13.783584 + 450 19831.326 230.13818 0 3902.6059 0.42074126 + 500 20365.825 131.47231 0 3902.9213 0.69215475 + 550 20794.102 52.163238 0 3902.9229 4.5895354 + 600 20853.873 40.899172 0 3902.7275 2.3593042 + 650 19255.802 336.29509 0 3902.1844 10.341742 + 700 18526.969 471.02462 0 3901.9448 -0.61898691 + 750 18960.662 391.26028 0 3902.494 12.047308 + 800 20142.432 172.05197 0 3902.1319 4.6838632 + 850 19932.48 210.71155 0 3901.9116 3.471602 + 900 20243.528 153.13972 0 3901.9411 3.6490762 + 950 20388.132 126.88722 0 3902.4671 -4.4518463 + 1000 20076.333 184.61916 0 3902.4586 -2.2723139 + 1050 20859.506 39.696992 0 3902.5684 6.45166 + 1100 15284.661 1072.1908 0 3902.6836 21.194042 + 1150 19658.317 261.99809 0 3902.4272 -2.8744219 + 1200 20767.681 56.717093 0 3902.5839 -34.817443 + 1250 20625.583 82.586395 0 3902.1388 11.697328 + 1300 20690.013 71.006479 0 3902.4903 -29.292783 + 1350 20936.019 26.022787 0 3903.0634 1.0316033 + 1400 19753.56 244.81774 0 3902.8844 6.7138457 + 1450 15690.143 998.34271 0 3903.9248 48.124667 + 1500 20234.455 155.92517 0 3903.0465 13.172173 + 1550 20779.63 55.062895 0 3903.1426 -2.6390424 + 1600 20642.757 80.232879 0 3902.9657 -2.4687934 + 1650 18785.716 423.90031 0 3902.7365 -5.6468747 + 1700 20965.076 20.760295 0 3903.1818 -0.45382233 + 1750 18935.466 396.94949 0 3903.5173 25.912008 + 1800 20581.509 91.766145 0 3903.1567 3.8229018 + 1850 20616.968 85.18122 0 3903.1382 4.1907646 + 1900 16600.676 828.66496 0 3902.8643 -0.49197745 + 1950 20175.677 166.50513 0 3902.7416 5.6027746 + 2000 20268.078 149.2566 0 3902.6044 -1.1951453 + 2050 20155.388 170.16328 0 3902.6425 -0.79473147 + 2100 19715.497 250.63403 0 3901.652 3.6719022 + 2150 20677.205 73.792009 0 3902.9041 0.64246071 + 2200 20041.156 191.58407 0 3902.9093 7.4438342 + 2250 19924.453 213.0259 0 3902.7394 2.3652069 + 2300 20432.764 119.13103 0 3902.9763 -11.527566 + 2350 18265.828 520.75569 0 3903.3165 -8.9634198 + 2400 19574.981 277.7963 0 3902.7927 1.8085002 + 2450 20655.975 77.958119 0 3903.1387 3.4001031 + 2500 19783.143 239.3546 0 3902.8995 24.872182 + 2550 16660.113 818.36907 0 3903.5752 -11.766765 + 2600 19789.524 238.61817 0 3903.3448 3.3910931 + 2650 18532.96 471.8684 0 3903.898 -4.812577 + 2700 19081.457 369.81185 0 3903.4151 -0.49159968 + 2750 20370.042 131.6764 0 3903.9064 -3.3818893 + 2800 20727.087 65.499688 0 3903.8491 4.3537941 + 2850 18252.657 523.061 0 3903.1827 11.774986 + 2900 20780.391 55.586541 0 3903.8071 5.4415831 + 2950 20361.047 132.98647 0 3903.5508 -2.4847656 + 3000 19528.633 284.87405 0 3901.2876 14.23453 + 3050 20385.56 127.80448 0 3902.9081 -0.51079949 + 3100 19040.7 376.96613 0 3903.0216 -8.9425331 + 3150 20053.417 189.7312 0 3903.327 4.6695643 + 3200 20862.681 40.219985 0 3903.6795 1.2220199 + 3250 20692.32 71.660474 0 3903.5716 2.118694 + 3300 20560.104 95.905282 0 3903.332 5.9856809 + 3350 20693.236 71.35789 0 3903.4387 3.9315564 + 3400 19045.135 376.64379 0 3903.5206 3.9692419 + 3450 20354.826 134.28157 0 3903.6938 7.6208552 + 3500 20528.053 102.12643 0 3903.6178 7.2863414 + 3550 20525.13 103.01612 0 3903.9661 8.4807852 + 3600 19782.42 240.28031 0 3903.6914 1.0181878 + 3650 20519.52 104.05243 0 3903.9636 -2.36641 + 3700 20024.307 195.68587 0 3903.8908 -6.261818 + 3750 20239.643 155.72722 0 3903.8092 -20.781566 + 3800 20601.2 88.794605 0 3903.8317 -11.491217 + 3850 20973.346 19.675436 0 3903.6283 -9.0554155 + 3900 16212.846 902.10241 0 3904.4813 -19.773976 + 3950 19645.576 264.59477 0 3902.6643 16.065663 + 4000 17439.655 673.47397 0 3903.0398 -3.7357722 + 4050 19305.077 328.50056 0 3903.5148 10.43441 + 4100 18634.36 451.24343 0 3902.0508 3.4327844 + 4150 20249.11 153.64108 0 3903.4763 -2.5190604 + 4200 19177.928 351.81896 0 3903.2871 -5.5110274 + 4250 20754.898 60.189732 0 3903.6893 -3.3019026 + 4300 19693.307 256.31591 0 3903.2245 5.8795929 + 4350 18411.713 494.6957 0 3904.2722 4.2513782 + 4400 18499.707 474.35141 0 3900.2231 10.120914 + 4450 18620.543 449.98137 0 3898.2301 0.74648702 + 4500 18930.676 398.47668 0 3904.1573 -3.3953153 + 4550 18708.382 438.70363 0 3903.2188 8.478793 + 4600 19937.049 211.7655 0 3903.8117 4.8300368 + 4650 19919.169 214.98435 0 3903.7194 -1.0166319 + 4700 19345.329 321.18127 0 3903.6496 -23.032019 + 4750 18391.67 498.629 0 3904.4939 -15.40779 + 4800 18597.103 459.20983 0 3903.1179 9.3900723 + 4850 19857.892 226.27908 0 3903.6665 4.1998427 + 4900 20428.515 120.59483 0 3903.6532 -1.8636046 + 4950 18457.127 485.79992 0 3903.7864 -7.2380409 + 5000 20543.123 99.480661 0 3903.7627 -0.39555479 + 5050 18716.671 436.46735 0 3902.5175 29.395654 + 5100 20048.411 191.03727 0 3903.706 -0.91178091 + 5150 19647.675 265.24989 0 3903.7083 3.8658742 + 5200 20787.465 54.078505 0 3903.6091 -3.3582221 + 5250 20630.096 83.165593 0 3903.5538 -11.86045 + 5300 16598.926 830.02918 0 3903.9043 -1.8793568 + 5350 19114.667 363.424 0 3903.1772 11.894383 + 5400 19563.654 280.22257 0 3903.1215 8.8285523 + 5450 20012.628 197.27325 0 3903.3154 2.1981092 + 5500 17845.428 599.4114 0 3904.1202 20.091131 + 5550 20630.423 82.857857 0 3903.3065 0.93827014 + 5600 19675.125 259.89939 0 3903.4411 -2.4034875 + 5650 19932.349 212.22024 0 3903.3961 2.0064698 + 5700 20499.192 107.17918 0 3903.3259 2.5440649 + 5750 19522.335 287.94941 0 3903.1966 -0.7615272 + 5800 18010.242 568.31554 0 3903.5455 -6.3433889 + 5850 20177.497 166.64243 0 3903.2159 -0.95012013 + 5900 17919.358 584.40694 0 3902.8065 10.49282 + 5950 18390.453 498.29164 0 3903.9311 10.026285 + 6000 18040.232 562.71939 0 3903.5032 0.22172862 + 6050 19777.355 240.88597 0 3903.3592 -3.1899015 + 6100 19132.014 360.58765 0 3903.5531 1.6644736 + 6150 19780.214 240.31985 0 3903.3224 4.2403325 + 6200 18883.45 406.45503 0 3903.3902 -3.5422327 + 6250 19875.924 222.49729 0 3903.2239 3.0535292 + 6300 19882.454 221.4928 0 3903.4287 5.7371152 + 6350 19040.565 377.18193 0 3903.2124 -0.26454332 + 6400 19137.008 359.7025 0 3903.5929 9.5375531 + 6450 19655.205 263.59789 0 3903.4507 -1.8592763 + 6500 18385.045 499.5436 0 3904.1816 -7.8549266 + 6550 18823.423 417.69964 0 3903.5187 -2.8268518 + 6600 19414.118 308.11966 0 3903.3268 4.6627243 + 6650 20533.065 100.75047 0 3903.1698 3.3716972 + 6700 20206.283 161.18079 0 3903.085 5.6368472 + 6750 19517.622 288.72511 0 3903.0995 0.3337076 + 6800 18152.278 541.45525 0 3902.9883 -7.2734044 + 6850 18910.032 401.19322 0 3903.0511 6.2653128 + 6900 18580.612 462.26403 0 3903.1182 15.681586 + 6950 20459.012 114.44928 0 3903.1552 -0.82985388 + 7000 20866.868 38.822988 0 3903.0578 -6.2182429 + 7050 20460.074 114.11492 0 3903.0175 -2.1465384 + 7100 20553.533 96.636153 0 3902.846 -5.105486 + 7150 20447.915 116.30898 0 3902.9599 8.2035464 + 7200 20703.396 69.030336 0 3902.9926 9.1221166 + 7250 19652.215 263.63438 0 3902.9335 17.675447 + 7300 20691.205 71.094727 0 3902.7994 -1.7423404 + 7350 18845.785 412.74313 0 3902.7033 -2.0276584 + 7400 18462.131 483.73088 0 3902.6441 -0.22424322 + 7450 20458.641 113.96173 0 3902.599 -4.9286236 + 7500 17681.258 628.1576 0 3902.4647 -16.803813 + 7550 19149.34 356.35773 0 3902.5318 -5.3481685 + 7600 19723.907 249.45462 0 3902.03 7.2597963 + 7650 19317.18 325.01536 0 3902.271 -0.16642424 + 7700 19620.248 269.22043 0 3902.5996 -4.6771277 + 7750 17751.083 615.46827 0 3902.7058 7.3637076 + 7800 20724.904 64.633157 0 3902.5784 5.2079592 + 7850 19966.924 204.60327 0 3902.1817 6.4943932 + 7900 19730.339 248.88701 0 3902.6536 8.4392109 + 7950 19907.748 216.06587 0 3902.6859 -5.1989259 + 8000 18217.971 528.46486 0 3902.1632 -15.394144 + 8050 17868.898 592.98294 0 3902.0381 9.1139508 + 8100 19370.601 315.22753 0 3902.3759 7.9651368 + 8150 18199.01 532.43818 0 3902.6252 10.07163 + 8200 20646.337 79.222148 0 3902.6179 0.17396159 + 8250 20811.938 48.374613 0 3902.4372 -14.594973 + 8300 20906.571 30.626024 0 3902.2132 -12.34909 + 8350 19873.431 221.86861 0 3902.1335 7.1435615 + 8400 20374.979 127.96219 0 3901.1064 10.527044 + 8450 20701.502 68.073078 0 3901.6846 2.5071154 + 8500 20452.423 113.98399 0 3901.4698 4.2164058 + 8550 19695.059 253.87834 0 3901.1115 8.0656507 + 8600 19447.531 299.45597 0 3900.8505 -0.71982287 + 8650 17202.668 714.55842 0 3900.2378 -16.743518 + 8700 18579.153 459.20676 0 3899.7906 3.4494692 + 8750 20247.204 150.39086 0 3899.8731 -0.1022032 + 8800 18520.797 469.57224 0 3899.3494 5.7412252 + 8850 16011.411 934.80107 0 3899.8772 34.500452 + 8900 19045.914 372.92529 0 3899.9464 10.001612 + 8950 19798.369 233.70991 0 3900.0746 9.3270865 + 9000 17141.02 725.70858 0 3899.9716 -6.7470927 + 9050 17722.847 617.81927 0 3899.828 -10.909071 + 9100 20811.604 45.701413 0 3899.7021 -12.300065 + 9150 18066.034 554.62654 0 3900.1884 -5.7606837 + 9200 19259.884 332.49612 0 3899.1412 -40.231609 + 9250 19116.782 359.42396 0 3899.5689 0.68271469 + 9300 18785.022 421.1178 0 3899.8256 -20.433345 + 9350 19018.32 377.90289 0 3899.814 3.2963902 + 9400 17321.798 691.93839 0 3899.6788 24.552549 + 9450 18318.437 507.12661 0 3899.4297 6.1367468 + 9500 16431.681 857.32722 0 3900.2311 25.431389 + 9550 17920.939 581.45381 0 3900.1462 9.1734747 + 9600 16603.394 825.79291 0 3900.4954 -5.9643183 + 9650 17753.931 607.15019 0 3894.9151 2.2302338 + 9700 17452.305 668.30613 0 3900.2145 2.4635322 + 9750 15955.164 945.80159 0 3900.4617 20.290857 + 9800 17958.495 574.7055 0 3900.3526 12.218625 + 9850 18759.766 423.66965 0 3897.7005 -4.8999337 + 9900 19798.529 232.2507 0 3898.6449 0.10312101 + 9950 18260.87 517.50071 0 3899.1432 5.7261992 + 10000 19116.279 359.58291 0 3899.6345 3.2110764 +Loop time of 3.11933 on 1 procs for 10000 steps with 81 atoms + +Performance: 27698.233 tau/day, 3205.814 timesteps/s, 259.671 katom-step/s +99.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.063297 | 0.063297 | 0.063297 | 0.0 | 2.03 +Neigh | 0.072119 | 0.072119 | 0.072119 | 0.0 | 2.31 +Comm | 0.012058 | 0.012058 | 0.012058 | 0.0 | 0.39 +Output | 0.0036722 | 0.0036722 | 0.0036722 | 0.0 | 0.12 +Modify | 2.953 | 2.953 | 2.953 | 0.0 | 94.67 +Other | | 0.01515 | | | 0.49 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 105 ave 105 max 105 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 498 ave 498 max 498 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 498 +Ave neighs/atom = 6.1481481 +Neighbor list builds = 1202 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems2.g++.4 b/examples/rigid/log.25Mar24.rigid.poems2.g++.4 new file mode 100644 index 0000000000..bc26f32538 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.poems2.g++.4 @@ -0,0 +1,330 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# 2 chains of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 +fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +2 clusters, 9 bodies, 7 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems2 + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 + +@Article{Mukherjee08, + author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, + title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, + journal = {Intl.\ J.\ Non-Linear Mechanics}, + year = 2008, + volume = 43, + number = 10, + pages = {1040--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +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 = 18 18 18 + 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.514 | 3.545 | 3.639 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 196.00047 3632.2347 0 3668.5311 -2.7403788 + 50 12774.759 1538.7378 0 3904.434 18.086356 + 100 19803.641 237.21132 0 3904.5523 -3.1528278 + 150 20259.6 152.62032 0 3904.3981 -4.6173548 + 200 20705.978 69.977442 0 3904.4178 9.0928146 + 250 19552.211 283.50525 0 3904.285 15.670465 + 300 19266.324 333.5792 0 3901.4169 7.2119197 + 350 20738.325 63.738945 0 3904.1694 -23.03999 + 400 20616.682 86.082444 0 3903.9864 -13.783584 + 450 19831.326 230.13858 0 3902.6063 0.42074361 + 500 20365.825 131.47271 0 3902.9217 0.69215592 + 550 20794.102 52.163238 0 3902.9229 4.5895354 + 600 20853.873 40.899172 0 3902.7275 2.3593042 + 650 19255.802 336.29509 0 3902.1844 10.341742 + 700 18526.969 471.02462 0 3901.9448 -0.61898691 + 750 18960.662 391.26068 0 3902.4944 12.04731 + 800 20142.432 172.05197 0 3902.1319 4.6838632 + 850 19932.48 210.71175 0 3901.9118 3.4716031 + 900 20243.528 153.13972 0 3901.9411 3.6490762 + 950 20388.132 126.88722 0 3902.4671 -4.4518463 + 1000 20076.333 184.61916 0 3902.4586 -2.272315 + 1050 20859.506 39.696992 0 3902.5684 6.45166 + 1100 15284.661 1072.1906 0 3902.6833 21.194041 + 1150 19658.317 261.99809 0 3902.4272 -2.8744196 + 1200 20767.681 56.717093 0 3902.5839 -34.817444 + 1250 20625.583 82.586396 0 3902.1388 11.697328 + 1300 20690.013 71.006479 0 3902.4903 -29.292783 + 1350 20936.019 26.022787 0 3903.0634 1.0316031 + 1400 19753.56 244.81777 0 3902.8844 6.713847 + 1450 15690.145 998.34279 0 3903.9252 48.124638 + 1500 20234.455 155.92476 0 3903.0461 13.17218 + 1550 20779.631 55.063072 0 3903.1428 -2.6390427 + 1600 20642.756 80.233303 0 3902.9659 -2.4688077 + 1650 18785.71 423.90132 0 3902.7365 -5.6468182 + 1700 20965.076 20.760481 0 3903.182 -0.45377448 + 1750 18935.45 396.95247 0 3903.5173 25.912353 + 1800 20581.523 91.763662 0 3903.1567 3.8225817 + 1850 20616.962 85.182351 0 3903.1382 4.1907744 + 1900 16601.061 828.59343 0 3902.8639 -0.49284971 + 1950 20175.618 166.51633 0 3902.7419 5.6031735 + 2000 20266.439 149.55931 0 3902.6036 -1.1956447 + 2050 20159.308 169.44017 0 3902.6453 -0.7983344 + 2100 19743.72 245.40822 0 3901.6527 3.5301052 + 2150 20674.556 74.284034 0 3902.9055 0.61532081 + 2200 19950.784 208.30189 0 3902.8915 7.6523945 + 2250 19817.161 232.7485 0 3902.5932 3.4492756 + 2300 20459.058 114.2307 0 3902.9451 -11.066393 + 2350 18359.21 503.25787 0 3903.1115 -9.0741539 + 2400 19952.914 207.84881 0 3902.8328 -0.53972874 + 2450 19661.352 259.78979 0 3900.781 7.8669927 + 2500 20917.293 29.699201 0 3903.2719 1.1433085 + 2550 20763.955 57.990256 0 3903.1671 -1.1088372 + 2600 20640.005 80.556339 0 3902.7795 9.6127007 + 2650 20823.227 47.292746 0 3903.446 2.2923503 + 2700 20401.43 125.53141 0 3903.5739 -8.0683618 + 2750 20689.918 72.242212 0 3903.7084 0.22078527 + 2800 20783.922 54.87309 0 3903.7476 2.0668249 + 2850 19258.563 336.84835 0 3903.2488 4.2704683 + 2900 20565.694 95.184831 0 3903.6468 -0.24799068 + 2950 20915.041 30.344751 0 3903.5004 -2.9900907 + 3000 19571.964 278.74004 0 3903.1778 12.195325 + 3050 20356.693 133.43974 0 3903.1976 0.11608195 + 3100 20047.888 190.69627 0 3903.268 -4.5895546 + 3150 19834.363 230.59072 0 3903.6209 -1.4352632 + 3200 20213.412 160.25129 0 3903.4757 3.7488266 + 3250 19286.774 332.04497 0 3903.6699 -5.0835358 + 3300 20952.226 23.774103 0 3903.816 0.10019546 + 3350 20407.952 124.62932 0 3903.8798 0.4403531 + 3400 19401.716 311.03567 0 3903.9461 1.8034568 + 3450 20880.78 37.20558 0 3904.0167 6.3948533 + 3500 19529.313 287.50301 0 3904.0425 12.311168 + 3550 20943.604 25.677677 0 3904.1228 5.1786098 + 3600 20272.725 149.91697 0 3904.1254 1.196909 + 3650 19781.047 240.95421 0 3904.1111 -8.5091671 + 3700 20613.433 86.53896 0 3903.8414 -9.1622102 + 3750 20567.605 95.294456 0 3904.1101 -0.11887825 + 3800 19891.98 220.32932 0 3904.0292 6.8801146 + 3850 20669.735 76.407858 0 3904.1365 -7.4310509 + 3900 20908.711 32.197181 0 3904.1807 -4.6573356 + 3950 20822.78 48.03134 0 3904.1018 0.086779759 + 4000 20199.055 163.66262 0 3904.2283 2.0027771 + 4050 20072.638 187.07041 0 3904.2256 4.4103784 + 4100 17724.651 619.7903 0 3902.1331 11.210006 + 4150 20760.201 60.001382 0 3904.4831 -3.8510009 + 4200 19159.102 356.30472 0 3904.2865 -2.3503308 + 4250 19403.974 311.3497 0 3904.6783 -1.2458384 + 4300 20858.687 42.000734 0 3904.7206 2.1750528 + 4350 20486.989 110.94383 0 3904.8306 5.017245 + 4400 20231.073 158.28825 0 3904.7832 7.4295979 + 4450 16369.689 873.39361 0 3904.8175 14.371454 + 4500 20745.196 63.11427 0 3904.8172 -7.855609 + 4550 18688.003 443.85636 0 3904.5977 9.8067426 + 4600 17755.672 616.68475 0 3904.7721 -3.9654703 + 4650 19843.131 230.34486 0 3904.9988 -0.13553926 + 4700 18873.202 409.99341 0 3905.0308 15.912724 + 4750 20605.355 89.223116 0 3905.0295 2.0847611 + 4800 20136.483 176.1278 0 3905.1062 -1.7091113 + 4850 19808.073 236.83278 0 3904.9945 5.0982271 + 4900 19142.083 359.55764 0 3904.3878 8.2072008 + 4950 20539.687 101.08198 0 3904.7277 8.0469319 + 5000 20840.809 45.759021 0 3905.168 4.771755 + 5050 20009.696 199.45528 0 3904.9546 6.1191423 + 5100 20882.034 38.247578 0 3905.2909 -6.3068822 + 5150 20329.869 140.47458 0 3905.2651 -21.720979 + 5200 17334.411 695.67098 0 3905.7471 -9.8243617 + 5250 19602.025 275.17282 0 3905.1775 -3.2371379 + 5300 20858.74 42.630642 0 3905.3603 0.38011789 + 5350 20828.619 48.188698 0 3905.3403 5.7187945 + 5400 20978.428 20.447148 0 3905.3413 6.1168011 + 5450 20115.374 179.9294 0 3904.9987 8.6440563 + 5500 20522.744 104.7733 0 3905.2815 -2.6561664 + 5550 20625.724 85.600795 0 3905.1792 -1.327206 + 5600 19559.638 282.68742 0 3904.8426 17.893028 + 5650 20552.224 98.978098 0 3904.9455 2.4489071 + 5700 19982.142 204.09989 0 3904.4966 9.9034011 + 5750 20408.825 125.30875 0 3904.7209 1.2515548 + 5800 19773.143 243.02134 0 3904.7144 -2.6729948 + 5850 20781.934 56.310486 0 3904.8168 -1.659054 + 5900 19807.668 236.54392 0 3904.6306 0.49776361 + 5950 20741.237 63.921667 0 3904.8916 4.2800039 + 6000 20322.7 140.98125 0 3904.4442 7.4978024 + 6050 20858.439 42.383629 0 3905.0575 -4.6872323 + 6100 20212.538 162.022 0 3905.0847 -7.0796165 + 6150 18513.957 476.7087 0 3905.2193 7.107138 + 6200 20802.734 52.621638 0 3904.9797 3.7242428 + 6250 20818.044 49.717458 0 3904.9109 -0.91041774 + 6300 19987.245 203.4635 0 3904.8052 -0.86714551 + 6350 20806.906 51.449749 0 3904.5806 -4.0699629 + 6400 20530.3 103.09809 0 3905.0055 1.660177 + 6450 20667.085 77.715553 0 3904.9535 0.99217521 + 6500 20515.816 105.81762 0 3905.0428 3.0994091 + 6550 20548.348 99.627131 0 3904.8769 -0.77417688 + 6600 19827.378 232.99889 0 3904.7355 3.295082 + 6650 19237.199 342.94808 0 3905.3923 -6.2226637 + 6700 19611.621 273.139 0 3904.9206 -3.5465535 + 6750 20874.805 39.1893 0 3904.8939 -0.051336814 + 6800 19433.717 305.99952 0 3904.8361 -19.858865 + 6850 20119.223 179.19987 0 3904.9818 4.6466283 + 6900 20467.389 114.77871 0 3905.0359 10.290214 + 6950 20334.202 139.43289 0 3905.0259 7.5448433 + 7000 20504.591 107.86929 0 3905.0158 -0.10092084 + 7050 17969.214 576.83722 0 3904.4694 10.852897 + 7100 19186.398 351.80467 0 3904.8414 0.24779979 + 7150 20261.23 152.54684 0 3904.6265 -7.0175844 + 7200 20696.821 71.985154 0 3904.7298 3.9649146 + 7250 18456.212 487.1819 0 3904.9989 5.8280225 + 7300 17705.1 625.95928 0 3904.6816 6.8298215 + 7350 17032.039 750.96958 0 3905.051 11.833303 + 7400 20557.431 97.599213 0 3904.5308 0.43747863 + 7450 20466.847 114.5693 0 3904.7261 1.9786538 + 7500 20416.862 123.31643 0 3904.2168 -2.9094738 + 7550 18433.95 487.50767 0 3901.2022 4.0921479 + 7600 19950.107 209.92208 0 3904.3863 3.9114888 + 7650 16037.844 934.94785 0 3904.9189 -1.2183461 + 7700 20145.239 173.99945 0 3904.5993 3.1185554 + 7750 18672.579 446.35236 0 3904.2373 4.1086445 + 7800 19740.616 249.10395 0 3904.7737 4.6048428 + 7850 20801.917 52.742096 0 3904.9489 1.5978265 + 7900 20305.348 144.57749 0 3904.8272 2.7348725 + 7950 20221.086 159.31958 0 3903.9652 7.1592496 + 8000 20826.907 47.953835 0 3904.7884 6.2728901 + 8050 18646.418 452.02126 0 3905.0617 5.9716218 + 8100 20653.653 80.183024 0 3904.9336 -1.8274783 + 8150 20843.275 45.172279 0 3905.0379 -6.9445524 + 8200 20364.78 133.45082 0 3904.7064 -12.094533 + 8250 18163.745 541.08818 0 3904.7447 -2.6103997 + 8300 20889.664 36.793018 0 3905.2494 -9.2650749 + 8350 20307.367 144.33088 0 3904.9543 -0.65999546 + 8400 20485.202 111.41317 0 3904.9691 -0.42802224 + 8450 20864.395 41.146879 0 3904.9238 7.7084978 + 8500 20901.899 34.291267 0 3905.0132 -5.2070823 + 8550 20211.78 162.02611 0 3904.9484 -5.8363409 + 8600 19639.538 268.05291 0 3905.0044 3.8180903 + 8650 19919.356 216.24885 0 3905.0185 0.17130921 + 8700 19499.449 293.97522 0 3904.9843 -4.897872 + 8750 20270.687 151.1571 0 3904.9879 0.28558082 + 8800 18804.137 422.61651 0 3904.864 15.351015 + 8850 20654.443 80.110976 0 3905.0078 4.1368065 + 8900 19953.725 209.81046 0 3904.9447 10.71743 + 8950 18195.013 536.67764 0 3906.1245 21.497802 + 9000 20478.531 112.78923 0 3905.1098 -13.053056 + 9050 20866.484 40.901611 0 3905.0653 -3.6134066 + 9100 20322.595 141.61419 0 3905.0577 15.459697 + 9150 20855.456 42.94311 0 3905.0646 4.9123213 + 9200 20208.201 162.79363 0 3905.0531 2.5454472 + 9250 18394.203 498.63686 0 3904.9707 0.041811692 + 9300 18776.997 427.7118 0 3904.9335 -7.652483 + 9350 18330.751 510.07857 0 3904.6621 8.3424059 + 9400 17538.366 657.08623 0 3904.9319 8.5478668 + 9450 20309.605 143.77142 0 3904.8093 6.6831447 + 9500 19982.331 203.81545 0 3904.2471 -7.6711411 + 9550 19410.612 310.1139 0 3904.6717 5.3983286 + 9600 19198.225 349.06634 0 3904.2932 -4.107658 + 9650 19388.043 314.31566 0 3904.6939 6.1198194 + 9700 18849.37 414.1045 0 3904.7286 5.4468861 + 9750 18263.312 523.38716 0 3905.4819 -0.56480349 + 9800 20421.858 122.53973 0 3904.3653 -15.641399 + 9850 17678.959 631.15683 0 3905.0381 -1.805446 + 9900 19421.046 306.67446 0 3903.1644 7.0287747 + 9950 18460.64 483.18902 0 3901.8261 3.658774 + 10000 19781.151 239.38136 0 3902.5575 6.3312911 +Loop time of 3.44431 on 4 procs for 10000 steps with 81 atoms + +Performance: 25084.833 tau/day, 2903.337 timesteps/s, 235.170 katom-step/s +98.8% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.007256 | 0.017426 | 0.044845 | 12.0 | 0.51 +Neigh | 0.010951 | 0.023139 | 0.043878 | 8.2 | 0.67 +Comm | 0.070404 | 0.096764 | 0.1104 | 5.0 | 2.81 +Output | 0.0039809 | 0.0074043 | 0.010167 | 2.6 | 0.21 +Modify | 3.0537 | 3.0735 | 3.1272 | 1.8 | 89.23 +Other | | 0.226 | | | 6.56 + +Nlocal: 20.25 ave 36 max 0 min +Histogram: 1 0 0 0 0 1 0 1 0 1 +Nghost: 38.25 ave 50 max 28 min +Histogram: 1 0 1 0 0 1 0 0 0 1 +Neighs: 126.5 ave 213 max 0 min +Histogram: 1 0 0 0 1 0 0 0 0 2 + +Total # of neighbors = 506 +Ave neighs/atom = 6.2469136 +Neighbor list builds = 1207 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems3.g++.1 b/examples/rigid/log.25Mar24.rigid.poems3.g++.1 new file mode 100644 index 0000000000..2554c0f610 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.poems3.g++.1 @@ -0,0 +1,329 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.000 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all poems file unconnected-bodies.dat +WARNING: No joints between rigid bodies, use fix rigid instead (src/POEMS/fix_poems.cpp:1038) +9 clusters, 9 bodies, 0 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 + +@Article{Mukherjee08, + author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, + title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, + journal = {Intl.\ J.\ Non-Linear Mechanics}, + year = 2008, + volume = 43, + number = 10, + pages = {1040--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +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 = 18 18 18 + 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.666 | 3.666 | 3.666 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.686 571.71596 0 5265.8207 32.006226 + 100 16298.5 136.65142 0 5267.6607 16.443791 + 150 16682.639 17.488068 0 5269.43 14.900278 + 200 16733.955 1.3724268 0 5269.4692 14.569123 + 250 16738.877 -0.15250573 0 5269.4939 14.496287 + 300 16738.611 -0.05516662 0 5269.5077 14.495909 + 350 16738.515 -0.01744351 0 5269.5152 14.496329 + 400 16738.488 -0.0060096677 0 5269.5178 14.496497 + 450 16738.479 -0.0012712918 0 5269.5199 14.496575 + 500 16738.479 -0.00081070354 0 5269.5203 14.49658 + 550 16738.479 -0.00083205205 0 5269.5203 14.496577 + 600 16738.479 -0.0005835658 0 5269.5206 14.49658 + 650 16738.479 -0.00047227225 0 5269.5206 14.496583 + 700 16738.479 0 0 5269.521 14.496593 + 750 16738.479 0 0 5269.5211 14.496595 + 800 16738.479 0 0 5269.5211 14.496596 + 850 16738.479 0 0 5269.5211 14.496595 + 900 16738.479 0 0 5269.5212 14.496593 + 950 16738.485 -0.003532391 0 5269.5196 14.496546 + 1000 16738.609 -0.051135033 0 5269.5109 14.496098 + 1050 16737.381 0.32991002 0 5269.5055 14.525627 + 1100 16737.915 0.16210932 0 5269.5058 14.531848 + 1150 16738.726 -0.089235332 0 5269.5098 14.509768 + 1200 16738.49 -0.0075446298 0 5269.5169 14.510489 + 1250 16738.48 0 0 5269.5214 14.510585 + 1300 16738.48 0 0 5269.5214 14.510587 + 1350 16738.48 0 0 5269.5215 14.510588 + 1400 16738.48 -0.00044742303 0 5269.5211 14.510581 + 1450 16738.481 -0.0010975104 0 5269.5207 14.51057 + 1500 16738.481 -0.00057925965 0 5269.5211 14.510575 + 1550 16738.48 0 0 5269.5216 14.510582 + 1600 16738.48 0 0 5269.5216 14.510581 + 1650 16738.481 0 0 5269.5216 14.510581 + 1700 16738.481 0 0 5269.5217 14.510582 + 1750 16738.481 0 0 5269.5217 14.510583 + 1800 16738.481 0 0 5269.5217 14.510585 + 1850 16738.481 0 0 5269.5218 14.510585 + 1900 16738.481 0 0 5269.5218 14.510585 + 1950 16738.487 -0.0031700155 0 5269.5206 14.510534 + 2000 16738.514 -0.013238802 0 5269.5188 14.510401 + 2050 16738.578 -0.03654435 0 5269.5158 14.510155 + 2100 16738.656 -0.063182323 0 5269.5137 14.510082 + 2150 16738.63 -0.056004395 0 5269.5127 14.510096 + 2200 16738.579 -0.038415873 0 5269.5143 14.510273 + 2250 16738.538 -0.023709094 0 5269.516 14.510414 + 2300 16738.512 -0.013252539 0 5269.5182 14.510501 + 2350 16738.491 -0.0045593284 0 5269.5203 14.510598 + 2400 16738.482 -0.00052242487 0 5269.5217 14.510655 + 2450 16738.486 -0.0023245722 0 5269.5211 14.510627 + 2500 16738.491 -0.005189304 0 5269.5197 14.510606 + 2550 16738.604 -0.044988104 0 5269.5155 14.510185 + 2600 16738.446 0.00096754004 0 5269.5117 14.510521 + 2650 16732.887 1.753125 0 5269.5138 14.598792 + 2700 16738.784 -0.10629556 0 5269.5107 14.499176 + 2750 16734.136 1.359459 0 5269.5135 14.594678 + 2800 16738.608 -0.047184149 0 5269.5147 14.510254 + 2850 16738.509 -0.012527238 0 5269.5181 14.509344 + 2900 16738.487 -0.0026065529 0 5269.521 14.509512 + 2950 16738.498 -0.0082248532 0 5269.519 14.509457 + 3000 16738.683 -0.071294028 0 5269.514 14.509005 + 3050 16717.444 6.5874862 0 5269.4864 14.834144 + 3100 16657.654 25.431253 0 5269.5074 14.467824 + 3150 16739.322 -0.28964062 0 5269.497 13.658821 + 3200 16733.615 1.4969789 0 5269.487 11.998304 + 3250 16737.289 0.35071213 0 5269.4974 11.918931 + 3300 16732.493 1.8663821 0 5269.503 12.109003 + 3350 16738.717 -0.087719164 0 5269.5085 11.979747 + 3400 16738.586 -0.045267897 0 5269.5095 11.97972 + 3450 16738.662 -0.071274216 0 5269.5076 11.979564 + 3500 16738.853 -0.13644992 0 5269.5026 11.979658 + 3550 16729.612 2.7475276 0 5269.4774 12.195939 + 3600 16728.659 3.059607 0 5269.4893 12.241248 + 3650 16738.923 -0.15949792 0 5269.5014 11.991857 + 3700 16738.76 -0.10695054 0 5269.5028 11.992932 + 3750 16738.751 -0.10105954 0 5269.5057 11.993137 + 3800 16738.597 -0.048627545 0 5269.5097 11.993456 + 3850 16738.507 -0.016053927 0 5269.5138 11.992973 + 3900 16738.485 -0.0060825487 0 5269.5169 11.993052 + 3950 16738.475 -0.0014953722 0 5269.5183 11.993119 + 4000 16738.472 -0.00054315391 0 5269.5184 11.99315 + 4050 16738.472 -0.00023792127 0 5269.5187 11.993172 + 4100 16738.472 0 0 5269.5189 11.993188 + 4150 16738.472 0 0 5269.5189 11.993188 + 4200 16738.472 0 0 5269.519 11.993178 + 4250 16738.472 0 0 5269.519 11.993164 + 4300 16738.472 0 0 5269.5191 11.993152 + 4350 16738.473 0 0 5269.5191 11.993147 + 4400 16738.473 0 0 5269.5192 11.993149 + 4450 16738.473 0 0 5269.5192 11.993158 + 4500 16738.473 0 0 5269.5193 11.99317 + 4550 16738.473 0 0 5269.5193 11.993176 + 4600 16738.473 0 0 5269.5194 11.993174 + 4650 16738.473 0 0 5269.5194 11.993167 + 4700 16738.474 0 0 5269.5195 11.993162 + 4750 16738.474 0 0 5269.5195 11.99316 + 4800 16738.474 0 0 5269.5196 11.99316 + 4850 16738.474 0 0 5269.5196 11.993163 + 4900 16738.474 0 0 5269.5197 11.99317 + 4950 16738.474 0 0 5269.5197 11.993176 + 5000 16738.475 0 0 5269.5198 11.993174 + 5050 16738.475 0 0 5269.5198 11.993165 + 5100 16738.475 0 0 5269.5199 11.993155 + 5150 16738.475 0 0 5269.5199 11.99315 + 5200 16738.475 0 0 5269.52 11.993153 + 5250 16738.475 0 0 5269.52 11.993161 + 5300 16738.476 0 0 5269.5201 11.993173 + 5350 16738.476 0 0 5269.5201 11.993185 + 5400 16738.476 0 0 5269.5202 11.993189 + 5450 16738.476 0 0 5269.5202 11.993181 + 5500 16738.476 0 0 5269.5203 11.993165 + 5550 16738.483 -0.0030091905 0 5269.5195 11.993097 + 5600 16738.534 -0.020777802 0 5269.5177 11.992799 + 5650 16738.649 -0.059321662 0 5269.5153 11.993266 + 5700 16409.08 103.75288 0 5269.5745 23.626238 + 5750 16738.578 -0.036776519 0 5269.5155 11.910545 + 5800 16738.484 -0.0047306177 0 5269.518 11.911008 + 5850 16738.477 -0.00022082692 0 5269.5202 11.911078 + 5900 16738.477 -0.00033136078 0 5269.5203 11.91107 + 5950 16738.478 -0.00036902212 0 5269.5203 11.911052 + 6000 16738.477 0 0 5269.5206 11.911044 + 6050 16738.477 0 0 5269.5207 11.911034 + 6100 16738.478 0 0 5269.5207 11.911032 + 6150 16738.478 0 0 5269.5208 11.911037 + 6200 16738.478 0 0 5269.5208 11.911049 + 6250 16738.478 0 0 5269.5209 11.911062 + 6300 16738.478 0 0 5269.5209 11.911068 + 6350 16738.478 0 0 5269.521 11.911065 + 6400 16738.478 0 0 5269.521 11.911058 + 6450 16738.479 0 0 5269.5211 11.911052 + 6500 16738.479 0 0 5269.5211 11.911047 + 6550 16738.479 0 0 5269.5212 11.911046 + 6600 16738.479 0 0 5269.5212 11.911049 + 6650 16738.479 0 0 5269.5213 11.911056 + 6700 16738.479 0 0 5269.5213 11.911062 + 6750 16738.48 0 0 5269.5214 11.91106 + 6800 16738.48 0 0 5269.5214 11.911051 + 6850 16738.48 0 0 5269.5215 11.911044 + 6900 16738.48 0 0 5269.5215 11.911041 + 6950 16738.48 0 0 5269.5216 11.911045 + 7000 16738.48 0 0 5269.5216 11.911053 + 7050 16738.481 0 0 5269.5217 11.911063 + 7100 16738.481 0 0 5269.5217 11.911071 + 7150 16738.481 0 0 5269.5218 11.911072 + 7200 16738.481 0 0 5269.5218 11.911063 + 7250 16738.481 0 0 5269.5219 11.911048 + 7300 16738.481 0 0 5269.5219 11.911036 + 7350 16738.482 0 0 5269.522 11.911031 + 7400 16738.482 0 0 5269.522 11.911035 + 7450 16738.482 0 0 5269.5221 11.911046 + 7500 16738.482 0 0 5269.5221 11.911062 + 7550 16738.482 0 0 5269.5222 11.911077 + 7600 16738.482 0 0 5269.5222 11.911081 + 7650 16738.483 0 0 5269.5223 11.911071 + 7700 16738.483 0 0 5269.5223 11.911054 + 7750 16738.483 0 0 5269.5224 11.911039 + 7800 16738.483 0 0 5269.5224 11.911031 + 7850 16738.483 0 0 5269.5225 11.911031 + 7900 16738.483 0 0 5269.5226 11.911039 + 7950 16738.484 0 0 5269.5226 11.911052 + 8000 16738.484 0 0 5269.5227 11.911065 + 8050 16738.484 0 0 5269.5227 11.91107 + 8100 16738.484 0 0 5269.5228 11.911065 + 8150 16738.484 0 0 5269.5228 11.911056 + 8200 16738.484 0 0 5269.5229 11.911047 + 8250 16738.485 0 0 5269.5229 11.911042 + 8300 16738.485 0 0 5269.523 11.911041 + 8350 16738.485 0 0 5269.523 11.911046 + 8400 16738.485 0 0 5269.5231 11.911055 + 8450 16738.485 0 0 5269.5231 11.911062 + 8500 16738.485 0 0 5269.5232 11.91106 + 8550 16738.486 0 0 5269.5232 11.911053 + 8600 16738.487 -0.00084974053 0 5269.5227 11.911032 + 8650 16738.486 0 0 5269.5233 11.911046 + 8700 16738.486 0 0 5269.5234 11.91105 + 8750 16738.486 0 0 5269.5235 11.911056 + 8800 16738.486 0 0 5269.5235 11.911063 + 8850 16738.487 -0.00022763101 0 5269.5234 11.911065 + 8900 16738.487 0 0 5269.5236 11.911068 + 8950 16738.487 0 0 5269.5237 11.911058 + 9000 16738.487 0 0 5269.5237 11.911045 + 9050 16738.487 0 0 5269.5238 11.911036 + 9100 16738.487 0 0 5269.5238 11.911034 + 9150 16738.488 0 0 5269.5239 11.91104 + 9200 16738.488 0 0 5269.5239 11.911052 + 9250 16738.488 0 0 5269.524 11.911068 + 9300 16738.488 0 0 5269.524 11.911079 + 9350 16738.488 0 0 5269.5241 11.911078 + 9400 16738.492 -0.0016306436 0 5269.5235 11.911038 + 9450 16738.492 -0.0032567427 0 5269.522 11.911005 + 9500 16738.495 -0.0036645346 0 5269.5224 11.910982 + 9550 16738.49 -0.001067391 0 5269.5237 11.911012 + 9600 16738.489 0 0 5269.5244 11.911032 + 9650 16738.489 0 0 5269.5244 11.911043 + 9700 16738.49 0 0 5269.5245 11.911058 + 9750 16738.49 0 0 5269.5245 11.911071 + 9800 16738.49 0 0 5269.5246 11.911073 + 9850 16738.49 0 0 5269.5246 11.911065 + 9900 16738.49 0 0 5269.5247 11.911053 + 9950 16738.491 -0.00058544655 0 5269.5243 11.911032 + 10000 16738.493 -0.0015244935 0 5269.5242 11.911015 +Loop time of 3.15773 on 1 procs for 10000 steps with 81 atoms + +Performance: 27361.390 tau/day, 3166.828 timesteps/s, 256.513 katom-step/s +99.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0090105 | 0.0090105 | 0.0090105 | 0.0 | 0.29 +Neigh | 0.047552 | 0.047552 | 0.047552 | 0.0 | 1.51 +Comm | 0.012213 | 0.012213 | 0.012213 | 0.0 | 0.39 +Output | 0.0028666 | 0.0028666 | 0.0028666 | 0.0 | 0.09 +Modify | 3.0714 | 3.0714 | 3.0714 | 0.0 | 97.27 +Other | | 0.01471 | | | 0.47 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 66 ave 66 max 66 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 4 ave 4 max 4 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4 +Ave neighs/atom = 0.049382716 +Neighbor list builds = 1576 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems3.g++.4 b/examples/rigid/log.25Mar24.rigid.poems3.g++.4 new file mode 100644 index 0000000000..142b81ad80 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.poems3.g++.4 @@ -0,0 +1,329 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all poems file unconnected-bodies.dat +WARNING: No joints between rigid bodies, use fix rigid instead (src/POEMS/fix_poems.cpp:1038) +9 clusters, 9 bodies, 0 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 + +@Article{Mukherjee08, + author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, + title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, + journal = {Intl.\ J.\ Non-Linear Mechanics}, + year = 2008, + volume = 43, + number = 10, + pages = {1040--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +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 = 18 18 18 + 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.514 | 3.545 | 3.639 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.686 571.71596 0 5265.8207 32.006226 + 100 16298.5 136.65142 0 5267.6607 16.443791 + 150 16682.639 17.488068 0 5269.43 14.900278 + 200 16733.955 1.3724268 0 5269.4692 14.569123 + 250 16738.877 -0.15250573 0 5269.4939 14.496287 + 300 16738.611 -0.05516662 0 5269.5077 14.495909 + 350 16738.515 -0.01744351 0 5269.5152 14.496329 + 400 16738.488 -0.0060096677 0 5269.5178 14.496497 + 450 16738.479 -0.0012712918 0 5269.5199 14.496575 + 500 16738.479 -0.00081070354 0 5269.5203 14.49658 + 550 16738.479 -0.00083205205 0 5269.5203 14.496577 + 600 16738.479 -0.0005835658 0 5269.5206 14.49658 + 650 16738.479 -0.00047227225 0 5269.5206 14.496583 + 700 16738.479 0 0 5269.521 14.496593 + 750 16738.479 0 0 5269.5211 14.496595 + 800 16738.479 0 0 5269.5211 14.496596 + 850 16738.479 0 0 5269.5211 14.496595 + 900 16738.479 0 0 5269.5212 14.496593 + 950 16738.485 -0.003532391 0 5269.5196 14.496546 + 1000 16738.609 -0.051135033 0 5269.5109 14.496098 + 1050 16737.381 0.32991002 0 5269.5055 14.525627 + 1100 16737.915 0.16210932 0 5269.5058 14.531848 + 1150 16738.726 -0.089235332 0 5269.5098 14.509768 + 1200 16738.49 -0.0075446298 0 5269.5169 14.510489 + 1250 16738.48 0 0 5269.5214 14.510585 + 1300 16738.48 0 0 5269.5214 14.510587 + 1350 16738.48 0 0 5269.5215 14.510588 + 1400 16738.48 -0.00044742303 0 5269.5211 14.510581 + 1450 16738.481 -0.0010975104 0 5269.5207 14.51057 + 1500 16738.481 -0.00057925965 0 5269.5211 14.510575 + 1550 16738.48 0 0 5269.5216 14.510582 + 1600 16738.48 0 0 5269.5216 14.510581 + 1650 16738.481 0 0 5269.5216 14.510581 + 1700 16738.481 0 0 5269.5217 14.510582 + 1750 16738.481 0 0 5269.5217 14.510583 + 1800 16738.481 0 0 5269.5217 14.510585 + 1850 16738.481 0 0 5269.5218 14.510585 + 1900 16738.481 0 0 5269.5218 14.510585 + 1950 16738.487 -0.0031700155 0 5269.5206 14.510534 + 2000 16738.514 -0.013238802 0 5269.5188 14.510401 + 2050 16738.578 -0.03654435 0 5269.5158 14.510155 + 2100 16738.656 -0.063182323 0 5269.5137 14.510082 + 2150 16738.63 -0.056004395 0 5269.5127 14.510096 + 2200 16738.579 -0.038415873 0 5269.5143 14.510273 + 2250 16738.538 -0.023709094 0 5269.516 14.510414 + 2300 16738.512 -0.013252539 0 5269.5182 14.510501 + 2350 16738.491 -0.0045593284 0 5269.5203 14.510598 + 2400 16738.482 -0.00052242487 0 5269.5217 14.510655 + 2450 16738.486 -0.0023245722 0 5269.5211 14.510627 + 2500 16738.491 -0.005189304 0 5269.5197 14.510606 + 2550 16738.604 -0.044988104 0 5269.5155 14.510185 + 2600 16738.446 0.00096754006 0 5269.5117 14.510521 + 2650 16732.887 1.753125 0 5269.5138 14.598792 + 2700 16738.784 -0.10629556 0 5269.5107 14.499176 + 2750 16734.136 1.359459 0 5269.5135 14.594678 + 2800 16738.608 -0.047184149 0 5269.5147 14.510254 + 2850 16738.509 -0.012527238 0 5269.5181 14.509344 + 2900 16738.487 -0.0026065529 0 5269.521 14.509512 + 2950 16738.498 -0.0082248532 0 5269.519 14.509457 + 3000 16738.683 -0.071294028 0 5269.514 14.509005 + 3050 16717.444 6.5874862 0 5269.4864 14.834144 + 3100 16657.654 25.431253 0 5269.5074 14.467824 + 3150 16739.322 -0.28964062 0 5269.497 13.658821 + 3200 16733.615 1.4969789 0 5269.487 11.998304 + 3250 16737.289 0.35071213 0 5269.4974 11.918931 + 3300 16732.493 1.866382 0 5269.503 12.109003 + 3350 16738.717 -0.087719164 0 5269.5085 11.979747 + 3400 16738.586 -0.045267897 0 5269.5095 11.97972 + 3450 16738.662 -0.071274216 0 5269.5076 11.979564 + 3500 16738.853 -0.13644992 0 5269.5026 11.979658 + 3550 16729.612 2.7475276 0 5269.4774 12.195939 + 3600 16728.659 3.059607 0 5269.4893 12.241248 + 3650 16738.923 -0.15949792 0 5269.5014 11.991857 + 3700 16738.76 -0.10695054 0 5269.5028 11.992932 + 3750 16738.751 -0.10105954 0 5269.5057 11.993137 + 3800 16738.597 -0.048627545 0 5269.5097 11.993456 + 3850 16738.507 -0.016053927 0 5269.5138 11.992973 + 3900 16738.485 -0.0060825487 0 5269.5169 11.993052 + 3950 16738.475 -0.0014953722 0 5269.5183 11.993119 + 4000 16738.472 -0.00054315391 0 5269.5184 11.99315 + 4050 16738.472 -0.00023792127 0 5269.5187 11.993172 + 4100 16738.472 0 0 5269.5189 11.993188 + 4150 16738.472 0 0 5269.5189 11.993188 + 4200 16738.472 0 0 5269.519 11.993178 + 4250 16738.472 0 0 5269.519 11.993164 + 4300 16738.472 0 0 5269.5191 11.993152 + 4350 16738.473 0 0 5269.5191 11.993147 + 4400 16738.473 0 0 5269.5192 11.993149 + 4450 16738.473 0 0 5269.5192 11.993158 + 4500 16738.473 0 0 5269.5193 11.99317 + 4550 16738.473 0 0 5269.5193 11.993176 + 4600 16738.473 0 0 5269.5194 11.993174 + 4650 16738.473 0 0 5269.5194 11.993167 + 4700 16738.474 0 0 5269.5195 11.993162 + 4750 16738.474 0 0 5269.5195 11.99316 + 4800 16738.474 0 0 5269.5196 11.99316 + 4850 16738.474 0 0 5269.5196 11.993163 + 4900 16738.474 0 0 5269.5197 11.99317 + 4950 16738.474 0 0 5269.5197 11.993176 + 5000 16738.475 0 0 5269.5198 11.993174 + 5050 16738.475 0 0 5269.5198 11.993165 + 5100 16738.475 0 0 5269.5199 11.993155 + 5150 16738.475 0 0 5269.5199 11.99315 + 5200 16738.475 0 0 5269.52 11.993153 + 5250 16738.475 0 0 5269.52 11.993161 + 5300 16738.476 0 0 5269.5201 11.993173 + 5350 16738.476 0 0 5269.5201 11.993185 + 5400 16738.476 0 0 5269.5202 11.993189 + 5450 16738.476 0 0 5269.5202 11.993181 + 5500 16738.476 0 0 5269.5203 11.993165 + 5550 16738.483 -0.0030091905 0 5269.5195 11.993097 + 5600 16738.534 -0.020777802 0 5269.5177 11.992799 + 5650 16738.649 -0.059321662 0 5269.5153 11.993266 + 5700 16409.08 103.75288 0 5269.5745 23.626238 + 5750 16738.578 -0.036776519 0 5269.5155 11.910545 + 5800 16738.484 -0.0047306177 0 5269.518 11.911008 + 5850 16738.477 -0.00022082692 0 5269.5202 11.911078 + 5900 16738.477 -0.00033136079 0 5269.5203 11.91107 + 5950 16738.478 -0.00036902212 0 5269.5203 11.911052 + 6000 16738.477 0 0 5269.5206 11.911044 + 6050 16738.477 0 0 5269.5207 11.911034 + 6100 16738.478 0 0 5269.5207 11.911032 + 6150 16738.478 0 0 5269.5208 11.911037 + 6200 16738.478 0 0 5269.5208 11.911049 + 6250 16738.478 0 0 5269.5209 11.911062 + 6300 16738.478 0 0 5269.5209 11.911068 + 6350 16738.478 0 0 5269.521 11.911065 + 6400 16738.478 0 0 5269.521 11.911058 + 6450 16738.479 0 0 5269.5211 11.911052 + 6500 16738.479 0 0 5269.5211 11.911047 + 6550 16738.479 0 0 5269.5212 11.911046 + 6600 16738.479 0 0 5269.5212 11.911049 + 6650 16738.479 0 0 5269.5213 11.911056 + 6700 16738.479 0 0 5269.5213 11.911062 + 6750 16738.48 0 0 5269.5214 11.91106 + 6800 16738.48 0 0 5269.5214 11.911051 + 6850 16738.48 0 0 5269.5215 11.911044 + 6900 16738.48 0 0 5269.5215 11.911041 + 6950 16738.48 0 0 5269.5216 11.911045 + 7000 16738.48 0 0 5269.5216 11.911053 + 7050 16738.481 0 0 5269.5217 11.911063 + 7100 16738.481 0 0 5269.5217 11.911071 + 7150 16738.481 0 0 5269.5218 11.911072 + 7200 16738.481 0 0 5269.5218 11.911063 + 7250 16738.481 0 0 5269.5219 11.911048 + 7300 16738.481 0 0 5269.5219 11.911036 + 7350 16738.482 0 0 5269.522 11.911031 + 7400 16738.482 0 0 5269.522 11.911035 + 7450 16738.482 0 0 5269.5221 11.911046 + 7500 16738.482 0 0 5269.5221 11.911062 + 7550 16738.482 0 0 5269.5222 11.911077 + 7600 16738.482 0 0 5269.5222 11.911081 + 7650 16738.483 0 0 5269.5223 11.911071 + 7700 16738.483 0 0 5269.5223 11.911054 + 7750 16738.483 0 0 5269.5224 11.911039 + 7800 16738.483 0 0 5269.5224 11.911031 + 7850 16738.483 0 0 5269.5225 11.911031 + 7900 16738.483 0 0 5269.5226 11.911039 + 7950 16738.484 0 0 5269.5226 11.911052 + 8000 16738.484 0 0 5269.5227 11.911065 + 8050 16738.484 0 0 5269.5227 11.91107 + 8100 16738.484 0 0 5269.5228 11.911065 + 8150 16738.484 0 0 5269.5228 11.911056 + 8200 16738.484 0 0 5269.5229 11.911047 + 8250 16738.485 0 0 5269.5229 11.911042 + 8300 16738.485 0 0 5269.523 11.911041 + 8350 16738.485 0 0 5269.523 11.911046 + 8400 16738.485 0 0 5269.5231 11.911055 + 8450 16738.485 0 0 5269.5231 11.911062 + 8500 16738.485 0 0 5269.5232 11.91106 + 8550 16738.486 0 0 5269.5232 11.911053 + 8600 16738.487 -0.00084974054 0 5269.5227 11.911032 + 8650 16738.486 0 0 5269.5233 11.911046 + 8700 16738.486 0 0 5269.5234 11.91105 + 8750 16738.486 0 0 5269.5235 11.911056 + 8800 16738.486 0 0 5269.5235 11.911063 + 8850 16738.487 -0.00022763102 0 5269.5234 11.911065 + 8900 16738.487 0 0 5269.5236 11.911068 + 8950 16738.487 0 0 5269.5237 11.911058 + 9000 16738.487 0 0 5269.5237 11.911045 + 9050 16738.487 0 0 5269.5238 11.911036 + 9100 16738.487 0 0 5269.5238 11.911034 + 9150 16738.488 0 0 5269.5239 11.91104 + 9200 16738.488 0 0 5269.5239 11.911052 + 9250 16738.488 0 0 5269.524 11.911068 + 9300 16738.488 0 0 5269.524 11.911079 + 9350 16738.488 0 0 5269.5241 11.911078 + 9400 16738.492 -0.0016306434 0 5269.5235 11.911038 + 9450 16738.492 -0.0032567424 0 5269.522 11.911005 + 9500 16738.495 -0.0036645342 0 5269.5224 11.910982 + 9550 16738.49 -0.0010673909 0 5269.5237 11.911012 + 9600 16738.489 0 0 5269.5244 11.911032 + 9650 16738.489 0 0 5269.5244 11.911043 + 9700 16738.49 0 0 5269.5245 11.911058 + 9750 16738.49 0 0 5269.5245 11.911071 + 9800 16738.49 0 0 5269.5246 11.911073 + 9850 16738.49 0 0 5269.5246 11.911065 + 9900 16738.49 0 0 5269.5247 11.911053 + 9950 16738.491 -0.0005854466 0 5269.5243 11.911032 + 10000 16738.493 -0.0015244937 0 5269.5242 11.911015 +Loop time of 3.27386 on 4 procs for 10000 steps with 81 atoms + +Performance: 26390.874 tau/day, 3054.499 timesteps/s, 247.414 katom-step/s +99.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.003643 | 0.0042095 | 0.0048106 | 0.7 | 0.13 +Neigh | 0.015047 | 0.01644 | 0.018121 | 0.9 | 0.50 +Comm | 0.08923 | 0.091442 | 0.093047 | 0.5 | 2.79 +Output | 0.0033998 | 0.0040485 | 0.0051625 | 1.0 | 0.12 +Modify | 2.9783 | 2.9943 | 3.0343 | 1.3 | 91.46 +Other | | 0.1635 | | | 4.99 + +Nlocal: 20.25 ave 27 max 9 min +Histogram: 1 0 0 0 0 1 0 0 0 2 +Nghost: 30.5 ave 50 max 14 min +Histogram: 1 0 0 1 1 0 0 0 0 1 +Neighs: 1 ave 4 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 4 +Ave neighs/atom = 0.049382716 +Neighbor list builds = 1576 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems4.g++.1 b/examples/rigid/log.25Mar24.rigid.poems4.g++.1 new file mode 100644 index 0000000000..f754fba3b4 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.poems4.g++.1 @@ -0,0 +1,328 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# 1 chain of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 36 45 +10 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +fix 1 all poems file connected-bodies.dat +1 clusters, 9 bodies, 8 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 + +@Article{Mukherjee08, + author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, + title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, + journal = {Intl.\ J.\ Non-Linear Mechanics}, + year = 2008, + volume = 43, + number = 10, + pages = {1040--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +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 = 18 18 18 + 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.666 | 3.666 | 3.666 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 217.7783 3430.3907 0 3466.6871 -2.7403788 + 50 13679.637 1404.2468 0 3684.1863 12.446066 + 100 16777.225 888.87665 0 3685.0808 -31.828677 + 150 19595.365 418.45042 0 3684.3446 40.709078 + 200 18524.188 596.47273 0 3683.8375 -0.8159371 + 250 21015.789 180.96521 0 3683.5967 -10.042469 + 300 20785.513 219.25314 0 3683.5053 2.6452719 + 350 21072.46 171.2554 0 3683.3321 7.0609024 + 400 19956.414 356.36381 0 3682.4328 19.320259 + 450 20724.42 227.73284 0 3681.8028 8.1259249 + 500 20152.578 322.71466 0 3681.4777 5.4929878 + 550 20017.022 345.29701 0 3681.4673 5.4661666 + 600 17897.743 698.72196 0 3681.6791 3.2854742 + 650 17297.758 796.60256 0 3679.5623 15.191113 + 700 18581.934 584.29715 0 3681.2861 5.1588289 + 750 21774.158 52.821062 0 3681.8474 -10.775664 + 800 21604.055 81.188546 0 3681.8644 -3.2045743 + 850 17821.483 711.53827 0 3681.7854 7.4384279 + 900 21033.292 175.98127 0 3681.5299 -16.345167 + 950 20968.166 186.59847 0 3681.2929 -2.330456 + 1000 20490.66 266.19375 0 3681.3037 11.787983 + 1050 20222.396 310.94072 0 3681.34 -8.3459539 + 1100 21321.687 127.61533 0 3681.2299 -1.2184717 + 1150 20849.582 206.01695 0 3680.9472 -0.86699135 + 1200 21815.003 45.317412 0 3681.1512 1.5988314 + 1250 18655.437 572.41453 0 3681.654 10.06408 + 1300 20780.781 217.36509 0 3680.8286 6.0538614 + 1350 20558.971 254.36485 0 3680.8601 -3.6773923 + 1400 21485.029 99.812891 0 3680.6511 -16.185475 + 1450 21771.107 52.159624 0 3680.6775 -2.4756668 + 1500 21520.948 93.503905 0 3680.3286 2.1023577 + 1550 21351.418 121.68136 0 3680.2511 5.5159922 + 1600 20778.805 216.92182 0 3680.0559 15.089193 + 1650 21477.637 100.21853 0 3679.8247 -1.1045536 + 1700 18501.335 596.47986 0 3680.0357 -15.679729 + 1750 18563.64 587.34819 0 3681.2882 33.532254 + 1800 19110.181 494.82407 0 3679.8543 18.02406 + 1850 21364.186 119.23625 0 3679.9339 2.5290683 + 1900 20146.613 322.15086 0 3679.9197 5.7314718 + 1950 20692.671 231.25334 0 3680.0319 4.2977791 + 2000 20943.905 189.11211 0 3679.7629 -22.644575 + 2050 19667.965 401.84519 0 3679.8394 3.6247265 + 2100 20280.309 299.78396 0 3679.8355 7.4806221 + 2150 19181.565 483.57073 0 3680.4982 22.62593 + 2200 21300.569 130.63684 0 3680.7316 4.7090558 + 2250 20486.112 266.77753 0 3681.1296 -8.6505201 + 2300 18651.193 572.56862 0 3681.1008 -5.2604682 + 2350 21514.435 95.462414 0 3681.2016 -9.3718933 + 2400 21464.75 103.81741 0 3681.2757 -29.521964 + 2450 20103.185 331.7557 0 3682.2865 35.600257 + 2500 20767.309 221.18002 0 3682.3981 -12.41075 + 2550 20461.88 271.93545 0 3682.2488 -22.542329 + 2600 21463.807 104.97703 0 3682.2782 -10.118749 + 2650 20902.135 198.66716 0 3682.3564 5.0103958 + 2700 18582.384 585.6465 0 3682.7106 22.212808 + 2750 21079.961 168.86261 0 3682.1894 -8.8401109 + 2800 21425.876 111.18035 0 3682.1598 -6.7933883 + 2850 17414.605 780.0645 0 3682.4987 28.180022 + 2900 19978.961 352.1845 0 3682.0113 8.4280816 + 2950 21189.046 150.47808 0 3681.9858 2.8898793 + 3000 19271.367 469.54947 0 3681.4439 -7.1530396 + 3050 21470.889 103.45294 0 3681.9344 -1.4975516 + 3100 21574.513 85.87604 0 3681.6282 7.0301554 + 3150 21649.42 73.506656 0 3681.7434 1.6649326 + 3200 20857.44 205.3704 0 3681.6104 2.9318184 + 3250 18573.575 585.73328 0 3681.3292 5.9394399 + 3300 17938.353 691.67199 0 3681.3975 9.7205454 + 3350 18668.795 570.23722 0 3681.7031 3.6442733 + 3400 16834.721 876.36804 0 3682.1548 21.869594 + 3450 20148.848 323.06988 0 3681.2112 3.8120475 + 3500 21039.942 175.06064 0 3681.7177 1.4965105 + 3550 21439.472 108.66655 0 3681.9119 4.192594 + 3600 21457.784 105.54883 0 3681.8461 -2.932673 + 3650 21409.999 113.49591 0 3681.829 -15.09817 + 3700 21380.023 118.56895 0 3681.9061 -15.461367 + 3750 20422.085 277.28852 0 3680.9694 19.331799 + 3800 18275.038 635.75951 0 3681.5992 22.413362 + 3850 20906.341 197.06897 0 3681.4592 2.5691289 + 3900 20041.032 341.11847 0 3681.2905 1.8089245 + 3950 18917.084 528.44677 0 3681.2941 -10.656627 + 4000 20425.89 276.98688 0 3681.3018 7.5960674 + 4050 18289.157 633.13575 0 3681.3286 6.5695895 + 4100 19601.884 414.64621 0 3681.6269 8.6144847 + 4150 20790.308 216.9575 0 3682.0088 1.6300255 + 4200 21043.169 174.98738 0 3682.1822 3.8942459 + 4250 19073.45 503.63057 0 3682.5389 -10.975988 + 4300 21251.971 140.63454 0 3682.6298 -7.7937426 + 4350 20844.867 208.08653 0 3682.2311 -10.295096 + 4400 20869.781 203.57469 0 3681.8716 -8.7176985 + 4450 20384.41 284.19751 0 3681.5992 3.9044821 + 4500 20002.241 346.95848 0 3680.6654 12.100678 + 4550 21410.259 112.40994 0 3680.7864 -6.6653767 + 4600 18230.418 641.88921 0 3680.2922 22.502391 + 4650 21319.778 127.76737 0 3681.0638 -0.50309316 + 4700 19429.05 441.85455 0 3680.0296 20.851722 + 4750 20395.967 281.13332 0 3680.4611 12.635024 + 4800 19405.371 446.47714 0 3680.7056 -3.0340076 + 4850 19935.979 358.4478 0 3681.1109 -7.9390554 + 4900 18822.801 543.80607 0 3680.9396 -3.1086099 + 4950 20569.881 252.87963 0 3681.1932 11.807076 + 5000 20311.182 296.63458 0 3681.8315 -4.2409472 + 5050 20187.672 316.83663 0 3681.4486 1.8723981 + 5100 17439.679 775.35516 0 3681.9684 -5.7037267 + 5150 20394.4 282.56755 0 3681.6342 4.3399253 + 5200 20294.84 299.10095 0 3681.5742 -9.9868412 + 5250 20396.122 282.31614 0 3681.6698 -4.9932521 + 5300 20617.465 245.11679 0 3681.3609 0.97429493 + 5350 21651.191 72.878802 0 3681.4106 2.0913693 + 5400 19097.721 498.69617 0 3681.6496 21.808511 + 5450 21856.73 38.930299 0 3681.7186 -4.0225451 + 5500 20087.477 334.09405 0 3682.0069 5.7109498 + 5550 17734.477 726.10594 0 3681.8522 16.277738 + 5600 21183.231 151.714 0 3682.2525 -2.1080998 + 5650 20832.185 210.14251 0 3682.1733 -8.0602581 + 5700 18879.226 535.50935 0 3682.0471 -14.351666 + 5750 18931.81 529.67506 0 3684.9768 4.8675164 + 5800 21674.979 70.259619 0 3682.7561 -14.990544 + 5850 21395.905 116.47471 0 3682.4588 -0.94334402 + 5900 18532.955 593.27143 0 3682.0973 26.072477 + 5950 20767.534 220.78554 0 3682.0413 -1.6468662 + 6000 21546.127 91.167146 0 3682.1882 -5.4664857 + 6050 20085.534 334.40872 0 3681.9977 -0.34825498 + 6100 21218.156 145.88926 0 3682.2486 2.2871905 + 6150 20902.857 198.59424 0 3682.4038 6.0082154 + 6200 21726.547 61.195607 0 3682.2868 -2.2981656 + 6250 17507.589 764.20763 0 3682.1392 9.4977327 + 6300 21687.283 67.283821 0 3681.831 -8.694756 + 6350 19806.474 380.24632 0 3681.3254 -0.94067379 + 6400 21128.461 160.65399 0 3682.0641 -4.8435757 + 6450 19747.214 390.89694 0 3682.0992 1.9108969 + 6500 20460.408 272.79545 0 3682.8634 -4.1094877 + 6550 16740.095 892.11547 0 3682.1313 13.20551 + 6600 18326.164 628.80415 0 3683.1648 -19.884336 + 6650 18469.284 605.36384 0 3683.5778 10.345658 + 6700 21086.876 168.61821 0 3683.0976 -0.036118094 + 6750 19924.801 361.46485 0 3682.2649 -2.1144953 + 6800 19812.028 380.5919 0 3682.5966 11.119936 + 6850 19118.501 496.38857 0 3682.8054 0.53906703 + 6900 19221.04 478.31879 0 3681.8255 11.13851 + 6950 20482.79 269.03445 0 3682.8328 2.6705981 + 7000 16350.403 957.96283 0 3683.03 -2.9783385 + 7050 20789.906 218.36242 0 3683.3467 4.2465754 + 7100 17718.126 730.09011 0 3683.111 15.271811 + 7150 19020.414 513.34591 0 3683.4149 -8.3035633 + 7200 21165.007 156.24494 0 3683.7461 -7.3085107 + 7250 20520.422 264.35574 0 3684.4261 -6.7803072 + 7300 19078.795 505.10953 0 3684.9087 -11.147107 + 7350 20529.173 263.85389 0 3685.3827 0.59881989 + 7400 20548.068 261.27337 0 3685.9513 -5.0067382 + 7450 20849.172 211.46852 0 3686.3306 -0.80175538 + 7500 20869.894 207.95335 0 3686.2689 0.44541197 + 7550 18490.583 605.63557 0 3687.3993 -11.744631 + 7600 19185.381 488.52218 0 3686.0857 3.0881652 + 7650 20520.848 265.65037 0 3685.7917 -0.28165722 + 7700 20599.631 251.69265 0 3684.9645 0.19835423 + 7750 18428.55 614.11446 0 3685.5395 5.8092563 + 7800 19660.337 408.61674 0 3685.3396 4.9902979 + 7850 19409.663 450.30454 0 3685.2483 8.8641567 + 7900 21307.628 133.95865 0 3685.23 -1.8297128 + 7950 17828.245 713.05722 0 3684.4314 5.9673166 + 8000 15894.788 1036.4896 0 3685.621 57.567209 + 8050 18588.022 587.45738 0 3685.4611 1.5643233 + 8100 20664.194 241.59965 0 3685.632 -4.9298687 + 8150 17745.538 728.43249 0 3686.0221 6.121885 + 8200 18433.239 612.84747 0 3685.0539 17.078623 + 8250 19162.628 492.52511 0 3686.2965 12.204945 + 8300 18507.768 602.21188 0 3686.8399 -14.003487 + 8350 21010.715 184.80032 0 3686.5861 -0.93351338 + 8400 20888.233 205.24214 0 3686.6143 -5.3433619 + 8450 20920.621 199.6941 0 3686.4643 -30.437742 + 8500 17085.22 840.80474 0 3688.3414 3.9123878 + 8550 20900.377 203.87077 0 3687.267 -6.7525851 + 8600 19771.517 392.67499 0 3687.9278 13.762684 + 8650 19541.099 431.09497 0 3687.9448 2.0785077 + 8700 21056.327 178.88314 0 3688.2709 -13.663758 + 8750 20109.075 336.93228 0 3688.4447 -1.0445182 + 8800 21821.77 51.337654 0 3688.2993 -10.263971 + 8850 17653.401 740.45074 0 3682.6842 49.147758 + 8900 20311.01 302.92663 0 3688.095 -8.1910583 + 8950 19745.488 396.38557 0 3687.3003 -16.948557 + 9000 20248.989 311.52221 0 3686.3537 -2.4158415 + 9050 17850.649 710.17969 0 3685.2878 25.692377 + 9100 19370.284 456.73812 0 3685.1187 -21.201413 + 9150 20452.896 276.95741 0 3685.7735 2.0316457 + 9200 19174.266 488.9925 0 3684.7035 10.317202 + 9250 20174.171 323.4614 0 3685.8232 -2.1072552 + 9300 21442.761 111.68542 0 3685.479 -12.303658 + 9350 19697.287 402.21503 0 3685.0963 8.4697153 + 9400 21553.763 93.03581 0 3685.3297 -6.7286485 + 9450 18946.935 527.04498 0 3684.8674 -6.6174191 + 9500 21162.915 158.64321 0 3685.7957 -3.2085936 + 9550 20704.844 235.41227 0 3686.2196 10.847095 + 9600 20664.074 242.09733 0 3686.1096 3.7301969 + 9650 20829.655 214.20146 0 3685.8107 7.2197609 + 9700 17336.625 797.22781 0 3686.6654 14.775351 + 9750 19978.15 356.51126 0 3686.2029 -1.1978838 + 9800 21150.487 162.1616 0 3687.2427 -15.596643 + 9850 20849.962 213.10316 0 3688.0968 -5.5443282 + 9900 18407.158 620.93592 0 3688.7956 10.177471 + 9950 20459.637 278.24203 0 3688.1815 0.0020687238 + 10000 21667.112 78.10938 0 3689.2948 -12.660594 +Loop time of 3.40889 on 1 procs for 10000 steps with 81 atoms + +Performance: 25345.463 tau/day, 2933.503 timesteps/s, 237.614 katom-step/s +99.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.12904 | 0.12904 | 0.12904 | 0.0 | 3.79 +Neigh | 0.10613 | 0.10613 | 0.10613 | 0.0 | 3.11 +Comm | 0.011135 | 0.011135 | 0.011135 | 0.0 | 0.33 +Output | 0.0042137 | 0.0042137 | 0.0042137 | 0.0 | 0.12 +Modify | 3.142 | 3.142 | 3.142 | 0.0 | 92.17 +Other | | 0.01636 | | | 0.48 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 115 ave 115 max 115 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 808 ave 808 max 808 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 808 +Ave neighs/atom = 9.9753086 +Neighbor list builds = 1162 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems4.g++.4 b/examples/rigid/log.25Mar24.rigid.poems4.g++.4 new file mode 100644 index 0000000000..e78a2e0f05 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.poems4.g++.4 @@ -0,0 +1,328 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# 1 chain of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 36 45 +10 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +fix 1 all poems file connected-bodies.dat +1 clusters, 9 bodies, 8 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 + +@Article{Mukherjee08, + author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, + title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, + journal = {Intl.\ J.\ Non-Linear Mechanics}, + year = 2008, + volume = 43, + number = 10, + pages = {1040--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +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 = 18 18 18 + 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.514 | 3.545 | 3.639 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 217.7783 3430.3907 0 3466.6871 -2.7403788 + 50 13679.637 1404.2468 0 3684.1863 12.446066 + 100 16777.225 888.87665 0 3685.0808 -31.828677 + 150 19595.365 418.45042 0 3684.3446 40.709078 + 200 18524.188 596.47273 0 3683.8375 -0.8159371 + 250 21015.789 180.96521 0 3683.5967 -10.042469 + 300 20785.513 219.25314 0 3683.5053 2.6452719 + 350 21072.46 171.2554 0 3683.3321 7.0609024 + 400 19956.414 356.36381 0 3682.4328 19.320259 + 450 20724.42 227.73284 0 3681.8028 8.1259249 + 500 20152.578 322.71466 0 3681.4777 5.4929878 + 550 20017.022 345.29701 0 3681.4673 5.4661666 + 600 17897.743 698.72196 0 3681.6791 3.2854742 + 650 17297.758 796.60256 0 3679.5623 15.191113 + 700 18581.934 584.29715 0 3681.2861 5.1588289 + 750 21774.158 52.821062 0 3681.8474 -10.775664 + 800 21604.055 81.188546 0 3681.8644 -3.2045743 + 850 17821.483 711.53827 0 3681.7854 7.4384277 + 900 21033.292 175.98127 0 3681.5299 -16.345167 + 950 20968.166 186.59847 0 3681.2929 -2.330456 + 1000 20490.66 266.19375 0 3681.3037 11.787983 + 1050 20222.396 310.94072 0 3681.34 -8.3459539 + 1100 21321.687 127.61533 0 3681.2299 -1.2184718 + 1150 20849.582 206.01695 0 3680.9472 -0.86699156 + 1200 21815.003 45.317416 0 3681.1512 1.5988314 + 1250 18655.437 572.41453 0 3681.654 10.064076 + 1300 20780.781 217.36505 0 3680.8286 6.0538619 + 1350 20558.972 254.36481 0 3680.8601 -3.6773978 + 1400 21485.029 99.812941 0 3680.6511 -16.185471 + 1450 21771.108 52.159596 0 3680.6775 -2.4756679 + 1500 21520.948 93.503942 0 3680.3286 2.1023578 + 1550 21351.418 121.6814 0 3680.2511 5.5159969 + 1600 20778.805 216.92173 0 3680.0559 15.089183 + 1650 21477.639 100.21825 0 3679.8247 -1.1045878 + 1700 18501.342 596.47873 0 3680.0357 -15.679646 + 1750 18563.643 587.34777 0 3681.2882 33.532181 + 1800 19110.189 494.82286 0 3679.8543 18.024038 + 1850 21364.195 119.2348 0 3679.9339 2.5291365 + 1900 20146.638 322.1467 0 3679.9197 5.7312008 + 1950 20692.67 231.25355 0 3680.0319 4.297766 + 2000 20943.904 189.1122 0 3679.7629 -22.645478 + 2050 19668.123 401.81885 0 3679.8394 3.6254541 + 2100 20280.531 299.74669 0 3679.8352 7.4808896 + 2150 19182.034 483.49332 0 3680.4991 22.616956 + 2200 21299.885 130.75166 0 3680.7326 4.7110487 + 2250 20487.525 266.54254 0 3681.1301 -8.6422018 + 2300 18654.522 572.01515 0 3681.1021 -5.2661499 + 2350 21512.897 95.719565 0 3681.2024 -9.3553511 + 2400 21467.306 103.39279 0 3681.2771 -29.588234 + 2450 20097.914 332.63812 0 3682.2904 35.845886 + 2500 20762.362 222.00787 0 3682.4016 -12.509872 + 2550 20417.692 279.31982 0 3682.2685 -22.320693 + 2600 21468.738 104.15905 0 3682.2821 -10.050868 + 2650 20742.305 225.31121 0 3682.362 5.2887043 + 2700 18575.367 586.68141 0 3682.5759 21.990986 + 2750 20577.766 252.52411 0 3682.1518 -5.8697894 + 2800 20683.69 234.89244 0 3682.1741 -6.7464964 + 2850 16088.831 1001.1454 0 3682.6172 27.686908 + 2900 20715.565 229.46407 0 3682.0583 6.5207552 + 2950 19969.143 353.98595 0 3682.1765 5.3891903 + 3000 20429.639 277.11063 0 3682.0505 -10.302229 + 3050 19840.965 375.78339 0 3682.611 -6.1970263 + 3100 19149.859 490.69976 0 3682.3429 22.372557 + 3150 20421.772 278.3256 0 3681.9543 8.7381033 + 3200 19492.899 433.22833 0 3682.0448 4.3431162 + 3250 20231.034 310.12852 0 3681.9675 -3.2734265 + 3300 19420.155 445.8855 0 3682.578 14.157316 + 3350 21386.445 117.85565 0 3682.2631 1.9590216 + 3400 20372.28 286.91596 0 3682.296 8.2472357 + 3450 20870.351 203.91619 0 3682.308 7.9601676 + 3500 21469.401 104.14434 0 3682.3778 2.5067348 + 3550 21630.799 77.317219 0 3682.4504 -6.5148709 + 3600 21291.513 133.97558 0 3682.5611 -8.8761801 + 3650 19138.211 493.09199 0 3682.7937 25.075733 + 3700 21282.953 135.36631 0 3682.5252 -8.1163312 + 3750 20660.876 239.15863 0 3682.638 -24.806983 + 3800 20161.169 322.26065 0 3682.4555 13.204808 + 3850 19477.477 435.56421 0 3681.8105 31.065794 + 3900 21108.425 164.35492 0 3682.4258 0.37839399 + 3950 21195.124 150.68497 0 3683.2056 -10.098889 + 4000 21477.025 103.95273 0 3683.4568 -4.139886 + 4050 20603.58 249.35497 0 3683.2849 1.3114756 + 4100 19724.656 396.37166 0 3683.8144 -6.6159163 + 4150 20768.839 221.21034 0 3682.6835 -3.4649381 + 4200 19675.942 404.01538 0 3683.339 17.586922 + 4250 21022.927 179.12036 0 3682.9415 0.59436606 + 4300 20511.134 264.68208 0 3683.2044 8.8380269 + 4350 21038.204 177.05256 0 3683.42 -1.3698914 + 4400 18866.857 539.5082 0 3683.9844 10.461602 + 4450 21607.322 83.184316 0 3684.4046 -1.5071605 + 4500 20895.628 201.9445 0 3684.5492 5.7578991 + 4550 20210.744 316.5044 0 3684.9617 5.6678493 + 4600 20416.269 282.24539 0 3684.9569 -3.0067543 + 4650 18811.283 549.46791 0 3684.6817 7.5182454 + 4700 20899.462 201.92249 0 3685.1661 2.6998262 + 4750 20771.285 223.44307 0 3685.3239 12.165622 + 4800 21834.653 46.231798 0 3685.3407 2.021615 + 4850 21282.348 138.2858 0 3685.3437 4.2174481 + 4900 21892.433 36.607993 0 3685.3468 -10.208769 + 4950 21731.003 63.442124 0 3685.2759 -26.918841 + 5000 21476.967 105.69026 0 3685.1848 -10.007088 + 5050 20485.84 270.81814 0 3685.1248 0.65119013 + 5100 21485.763 104.28837 0 3685.2488 -5.3826149 + 5150 21485.096 104.44183 0 3685.2912 -1.274141 + 5200 21388.175 120.61165 0 3685.3074 -7.7953815 + 5250 20656.672 242.51472 0 3685.2934 -4.4067447 + 5300 20132.262 330.10916 0 3685.4862 -11.466755 + 5350 19080.054 505.63228 0 3685.6413 4.6356684 + 5400 21683.337 71.886529 0 3685.7761 -8.4520633 + 5450 20632.669 246.77173 0 3685.5499 5.5429152 + 5500 20896.92 202.76984 0 3685.5898 3.9762924 + 5550 21172.409 156.92085 0 3685.6557 2.6573146 + 5600 20695.91 236.255 0 3685.5733 -18.109158 + 5650 21741.679 61.956471 0 3685.5697 -3.7520994 + 5700 21164.94 157.60813 0 3685.098 2.4020734 + 5750 21075.393 172.84386 0 3685.4093 7.646915 + 5800 20638.831 245.82076 0 3685.6259 8.3009859 + 5850 20262.966 308.37489 0 3685.5359 7.5861941 + 5900 21730.418 63.97074 0 3685.7071 -6.2813552 + 5950 21820.659 48.990687 0 3685.7673 -5.6400713 + 6000 21027.051 181.2853 0 3685.7937 1.213872 + 6050 14422.66 1284.4174 0 3688.194 57.908667 + 6100 19852.685 377.0743 0 3685.8552 -5.1418207 + 6150 20678.783 239.10987 0 3685.5737 -11.982018 + 6200 19788.097 387.62127 0 3685.6375 -2.684571 + 6250 21611.523 83.575418 0 3685.496 1.7544019 + 6300 19214.109 482.45067 0 3684.8021 24.711965 + 6350 18800.074 553.07966 0 3686.4254 11.125791 + 6400 19771.53 390.40388 0 3685.659 -6.1254643 + 6450 20192.282 319.53713 0 3684.9175 13.959536 + 6500 20360.332 292.28682 0 3685.6755 4.4265274 + 6550 21778.739 56.056362 0 3685.8462 -4.6705452 + 6600 16612.689 917.96646 0 3686.748 -32.617733 + 6650 21068.368 174.38501 0 3685.7797 -0.84207954 + 6700 20749.675 227.41249 0 3685.6916 2.9235268 + 6750 20594.96 253.47665 0 3685.9699 -12.440843 + 6800 19974.133 357.05242 0 3686.0745 34.064247 + 6850 21802.523 52.05173 0 3685.8055 -1.4073818 + 6900 18644.747 577.97031 0 3685.4282 19.759245 + 6950 20463.441 274.90799 0 3685.4815 1.2230553 + 7000 20213.292 316.50714 0 3685.3892 23.9288 + 7050 21571.525 90.089593 0 3685.3437 -26.539261 + 7100 20480.036 271.77541 0 3685.1147 -0.13969301 + 7150 21064.842 174.4144 0 3685.2214 3.5451037 + 7200 21179.296 154.8514 0 3684.7341 -5.007319 + 7250 20714.182 232.84783 0 3685.2115 10.601943 + 7300 19341.561 461.91524 0 3685.5087 18.89547 + 7350 21011.016 183.55321 0 3685.3893 1.6481821 + 7400 21206.598 151.07364 0 3685.5066 1.5040526 + 7450 19999.404 352.83129 0 3686.0652 -18.58587 + 7500 21581.952 88.519362 0 3685.5114 -4.0009441 + 7550 21652.618 76.962392 0 3685.7321 -5.758242 + 7600 21207.411 150.86712 0 3685.4355 -0.023727123 + 7650 21756.168 59.804311 0 3685.8323 0.76768563 + 7700 21825.037 48.380795 0 3685.8869 -0.11098207 + 7750 21581.665 89.078228 0 3686.0223 -0.50220667 + 7800 21714.856 66.946216 0 3686.0889 4.637364 + 7850 21319.774 132.905 0 3686.2007 3.4663558 + 7900 21730.647 64.263898 0 3686.0384 1.0898763 + 7950 21597.663 86.255996 0 3685.8664 3.2847476 + 8000 21724.118 65.137632 0 3685.8239 3.7318614 + 8050 19672.702 406.56191 0 3685.3456 -0.37960768 + 8100 21696.026 69.71367 0 3685.7179 -6.2273451 + 8150 18869.648 540.09908 0 3685.0403 22.915669 + 8200 21717.002 66.01922 0 3685.5196 -4.8553801 + 8250 20292.502 303.3445 0 3685.4282 -13.203008 + 8300 21314.341 133.18215 0 3685.5724 -10.023288 + 8350 20992.272 186.87998 0 3685.592 -4.5538872 + 8400 21726.088 64.55825 0 3685.573 -5.1228188 + 8450 21188.98 153.93449 0 3685.4311 -6.8622554 + 8500 21113.87 166.54678 0 3685.5251 2.6009221 + 8550 20620.735 248.66776 0 3685.4569 -8.0047984 + 8600 19715.276 399.79648 0 3685.6758 -10.980391 + 8650 18898.94 535.95488 0 3685.7782 22.513752 + 8700 21692.841 70.067726 0 3685.5413 -3.3917479 + 8750 20242.909 311.87115 0 3685.6893 17.996012 + 8800 19253.702 476.69077 0 3685.6411 3.7170165 + 8850 17625.913 748.07802 0 3685.7302 11.095548 + 8900 21554.709 92.817998 0 3685.2696 0.30720376 + 8950 21585.337 87.685891 0 3685.2421 -0.22047593 + 9000 17454.847 776.14227 0 3685.2834 22.631913 + 9050 20023.106 347.35041 0 3684.5348 4.0008899 + 9100 21100.691 168.07199 0 3684.8539 2.9016681 + 9150 20307.206 299.45669 0 3683.991 2.1630277 + 9200 21747.579 60.245542 0 3684.8421 -15.419887 + 9250 21525.571 97.26157 0 3684.8567 -7.0449498 + 9300 15084.149 1170.5925 0 3684.6173 43.259279 + 9350 21198.648 151.70957 0 3684.8176 3.0716881 + 9400 17771.533 724.65805 0 3686.5802 -18.320033 + 9450 20029.819 346.23988 0 3684.543 -4.0976705 + 9500 19913.342 365.57743 0 3684.4677 2.4909741 + 9550 20594.619 252.35578 0 3684.7923 -4.4263632 + 9600 21013.668 182.33425 0 3684.6122 -1.9371919 + 9650 16915.052 865.78051 0 3684.9559 1.8697619 + 9700 18789.78 553.48818 0 3685.1181 15.642074 + 9750 21236.716 145.75801 0 3685.2107 -3.6730702 + 9800 20972.957 189.72849 0 3685.2214 0.85691231 + 9850 19658.721 408.29826 0 3684.7517 14.8446 + 9900 21624.401 81.484234 0 3685.5511 3.4507557 + 9950 21883.535 38.474607 0 3685.7304 0.3038348 + 10000 21355.31 126.72088 0 3685.9392 -5.5872974 +Loop time of 3.23589 on 4 procs for 10000 steps with 81 atoms + +Performance: 26700.576 tau/day, 3090.344 timesteps/s, 250.318 katom-step/s +99.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0072165 | 0.030554 | 0.065382 | 13.2 | 0.94 +Neigh | 0.010707 | 0.029677 | 0.056594 | 10.6 | 0.92 +Comm | 0.083225 | 0.12075 | 0.17828 | 10.6 | 3.73 +Output | 0.0034779 | 0.0040163 | 0.0050814 | 1.0 | 0.12 +Modify | 2.8247 | 2.8749 | 2.9245 | 2.6 | 88.85 +Other | | 0.176 | | | 5.44 + +Nlocal: 20.25 ave 81 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 +Nghost: 33.5 ave 66 max 2 min +Histogram: 1 1 0 0 0 0 0 1 0 1 +Neighs: 212.5 ave 850 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 850 +Ave neighs/atom = 10.493827 +Neighbor list builds = 1246 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems5.g++.1 b/examples/rigid/log.25Mar24.rigid.poems5.g++.1 new file mode 100644 index 0000000000..03ca091c13 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.poems5.g++.1 @@ -0,0 +1,329 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + + +# 2 chains of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +fix 1 all poems file connected-bodies2.dat +2 clusters, 9 bodies, 7 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 + +@Article{Mukherjee08, + author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, + title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, + journal = {Intl.\ J.\ Non-Linear Mechanics}, + year = 2008, + volume = 43, + number = 10, + pages = {1040--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +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 = 18 18 18 + 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.666 | 3.666 | 3.666 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 196.00047 3632.2347 0 3668.5311 -2.7403788 + 50 12774.759 1538.7378 0 3904.434 18.086356 + 100 19803.641 237.21132 0 3904.5523 -3.1528278 + 150 20259.6 152.62072 0 3904.3985 -4.6173512 + 200 20705.978 69.977442 0 3904.4178 9.0928146 + 250 19552.211 283.50505 0 3904.2848 15.670464 + 300 19266.324 333.5788 0 3901.4165 7.2119173 + 350 20738.325 63.738945 0 3904.1694 -23.039989 + 400 20616.682 86.082444 0 3903.9864 -13.783584 + 450 19831.326 230.13818 0 3902.6059 0.42074126 + 500 20365.825 131.47231 0 3902.9213 0.69215475 + 550 20794.102 52.163238 0 3902.9229 4.5895354 + 600 20853.873 40.899172 0 3902.7275 2.3593042 + 650 19255.802 336.29509 0 3902.1844 10.341742 + 700 18526.969 471.02462 0 3901.9448 -0.61898691 + 750 18960.662 391.26028 0 3902.494 12.047308 + 800 20142.432 172.05197 0 3902.1319 4.6838632 + 850 19932.48 210.71155 0 3901.9116 3.471602 + 900 20243.528 153.13972 0 3901.9411 3.6490762 + 950 20388.132 126.88722 0 3902.4671 -4.4518463 + 1000 20076.333 184.61916 0 3902.4586 -2.2723139 + 1050 20859.506 39.696992 0 3902.5684 6.45166 + 1100 15284.661 1072.1908 0 3902.6836 21.194042 + 1150 19658.317 261.99809 0 3902.4272 -2.8744219 + 1200 20767.681 56.717093 0 3902.5839 -34.817443 + 1250 20625.583 82.586395 0 3902.1388 11.697328 + 1300 20690.013 71.006479 0 3902.4903 -29.292783 + 1350 20936.019 26.022787 0 3903.0634 1.0316033 + 1400 19753.56 244.81774 0 3902.8844 6.7138457 + 1450 15690.143 998.34271 0 3903.9248 48.124667 + 1500 20234.455 155.92517 0 3903.0465 13.172173 + 1550 20779.63 55.062895 0 3903.1426 -2.6390424 + 1600 20642.757 80.232879 0 3902.9657 -2.4687934 + 1650 18785.716 423.90031 0 3902.7365 -5.6468747 + 1700 20965.076 20.760295 0 3903.1818 -0.45382233 + 1750 18935.466 396.94949 0 3903.5173 25.912008 + 1800 20581.509 91.766145 0 3903.1567 3.8229018 + 1850 20616.968 85.18122 0 3903.1382 4.1907646 + 1900 16600.676 828.66496 0 3902.8643 -0.49197745 + 1950 20175.677 166.50513 0 3902.7416 5.6027746 + 2000 20268.078 149.2566 0 3902.6044 -1.1951453 + 2050 20155.388 170.16328 0 3902.6425 -0.79473147 + 2100 19715.497 250.63403 0 3901.652 3.6719022 + 2150 20677.205 73.792009 0 3902.9041 0.64246071 + 2200 20041.156 191.58407 0 3902.9093 7.4438342 + 2250 19924.453 213.0259 0 3902.7394 2.3652069 + 2300 20432.764 119.13103 0 3902.9763 -11.527566 + 2350 18265.828 520.75569 0 3903.3165 -8.9634198 + 2400 19574.981 277.7963 0 3902.7927 1.8085002 + 2450 20655.975 77.958119 0 3903.1387 3.4001031 + 2500 19783.143 239.3546 0 3902.8995 24.872182 + 2550 16660.113 818.36907 0 3903.5752 -11.766765 + 2600 19789.524 238.61817 0 3903.3448 3.3910931 + 2650 18532.96 471.8684 0 3903.898 -4.812577 + 2700 19081.457 369.81185 0 3903.4151 -0.49159968 + 2750 20370.042 131.6764 0 3903.9064 -3.3818893 + 2800 20727.087 65.499688 0 3903.8491 4.3537941 + 2850 18252.657 523.061 0 3903.1827 11.774986 + 2900 20780.391 55.586541 0 3903.8071 5.4415831 + 2950 20361.047 132.98647 0 3903.5508 -2.4847656 + 3000 19528.633 284.87405 0 3901.2876 14.23453 + 3050 20385.56 127.80448 0 3902.9081 -0.51079949 + 3100 19040.7 376.96613 0 3903.0216 -8.9425331 + 3150 20053.417 189.7312 0 3903.327 4.6695643 + 3200 20862.681 40.219985 0 3903.6795 1.2220199 + 3250 20692.32 71.660474 0 3903.5716 2.118694 + 3300 20560.104 95.905282 0 3903.332 5.9856809 + 3350 20693.236 71.35789 0 3903.4387 3.9315564 + 3400 19045.135 376.64379 0 3903.5206 3.9692419 + 3450 20354.826 134.28157 0 3903.6938 7.6208552 + 3500 20528.053 102.12643 0 3903.6178 7.2863414 + 3550 20525.13 103.01612 0 3903.9661 8.4807852 + 3600 19782.42 240.28031 0 3903.6914 1.0181878 + 3650 20519.52 104.05243 0 3903.9636 -2.36641 + 3700 20024.307 195.68587 0 3903.8908 -6.261818 + 3750 20239.643 155.72722 0 3903.8092 -20.781566 + 3800 20601.2 88.794605 0 3903.8317 -11.491217 + 3850 20973.346 19.675436 0 3903.6283 -9.0554155 + 3900 16212.846 902.10241 0 3904.4813 -19.773976 + 3950 19645.576 264.59477 0 3902.6643 16.065663 + 4000 17439.655 673.47397 0 3903.0398 -3.7357722 + 4050 19305.077 328.50056 0 3903.5148 10.43441 + 4100 18634.36 451.24343 0 3902.0508 3.4327844 + 4150 20249.11 153.64108 0 3903.4763 -2.5190604 + 4200 19177.928 351.81896 0 3903.2871 -5.5110274 + 4250 20754.898 60.189732 0 3903.6893 -3.3019026 + 4300 19693.307 256.31591 0 3903.2245 5.8795929 + 4350 18411.713 494.6957 0 3904.2722 4.2513782 + 4400 18499.707 474.35141 0 3900.2231 10.120914 + 4450 18620.543 449.98137 0 3898.2301 0.74648702 + 4500 18930.676 398.47668 0 3904.1573 -3.3953153 + 4550 18708.382 438.70363 0 3903.2188 8.478793 + 4600 19937.049 211.7655 0 3903.8117 4.8300368 + 4650 19919.169 214.98435 0 3903.7194 -1.0166319 + 4700 19345.329 321.18127 0 3903.6496 -23.032019 + 4750 18391.67 498.629 0 3904.4939 -15.40779 + 4800 18597.103 459.20983 0 3903.1179 9.3900723 + 4850 19857.892 226.27908 0 3903.6665 4.1998427 + 4900 20428.515 120.59483 0 3903.6532 -1.8636046 + 4950 18457.127 485.79992 0 3903.7864 -7.2380409 + 5000 20543.123 99.480661 0 3903.7627 -0.39555479 + 5050 18716.671 436.46735 0 3902.5175 29.395654 + 5100 20048.411 191.03727 0 3903.706 -0.91178091 + 5150 19647.675 265.24989 0 3903.7083 3.8658742 + 5200 20787.465 54.078505 0 3903.6091 -3.3582221 + 5250 20630.096 83.165593 0 3903.5538 -11.86045 + 5300 16598.926 830.02918 0 3903.9043 -1.8793568 + 5350 19114.667 363.424 0 3903.1772 11.894383 + 5400 19563.654 280.22257 0 3903.1215 8.8285523 + 5450 20012.628 197.27325 0 3903.3154 2.1981092 + 5500 17845.428 599.4114 0 3904.1202 20.091131 + 5550 20630.423 82.857857 0 3903.3065 0.93827014 + 5600 19675.125 259.89939 0 3903.4411 -2.4034875 + 5650 19932.349 212.22024 0 3903.3961 2.0064698 + 5700 20499.192 107.17918 0 3903.3259 2.5440649 + 5750 19522.335 287.94941 0 3903.1966 -0.7615272 + 5800 18010.242 568.31554 0 3903.5455 -6.3433889 + 5850 20177.497 166.64243 0 3903.2159 -0.95012013 + 5900 17919.358 584.40694 0 3902.8065 10.49282 + 5950 18390.453 498.29164 0 3903.9311 10.026285 + 6000 18040.232 562.71939 0 3903.5032 0.22172862 + 6050 19777.355 240.88597 0 3903.3592 -3.1899015 + 6100 19132.014 360.58765 0 3903.5531 1.6644736 + 6150 19780.214 240.31985 0 3903.3224 4.2403325 + 6200 18883.45 406.45503 0 3903.3902 -3.5422327 + 6250 19875.924 222.49729 0 3903.2239 3.0535292 + 6300 19882.454 221.4928 0 3903.4287 5.7371152 + 6350 19040.565 377.18193 0 3903.2124 -0.26454332 + 6400 19137.008 359.7025 0 3903.5929 9.5375531 + 6450 19655.205 263.59789 0 3903.4507 -1.8592763 + 6500 18385.045 499.5436 0 3904.1816 -7.8549266 + 6550 18823.423 417.69964 0 3903.5187 -2.8268518 + 6600 19414.118 308.11966 0 3903.3268 4.6627243 + 6650 20533.065 100.75047 0 3903.1698 3.3716972 + 6700 20206.283 161.18079 0 3903.085 5.6368472 + 6750 19517.622 288.72511 0 3903.0995 0.3337076 + 6800 18152.278 541.45525 0 3902.9883 -7.2734044 + 6850 18910.032 401.19322 0 3903.0511 6.2653128 + 6900 18580.612 462.26403 0 3903.1182 15.681586 + 6950 20459.012 114.44928 0 3903.1552 -0.82985388 + 7000 20866.868 38.822988 0 3903.0578 -6.2182429 + 7050 20460.074 114.11492 0 3903.0175 -2.1465384 + 7100 20553.533 96.636153 0 3902.846 -5.105486 + 7150 20447.915 116.30898 0 3902.9599 8.2035464 + 7200 20703.396 69.030336 0 3902.9926 9.1221166 + 7250 19652.215 263.63438 0 3902.9335 17.675447 + 7300 20691.205 71.094727 0 3902.7994 -1.7423404 + 7350 18845.785 412.74313 0 3902.7033 -2.0276584 + 7400 18462.131 483.73088 0 3902.6441 -0.22424322 + 7450 20458.641 113.96173 0 3902.599 -4.9286236 + 7500 17681.258 628.1576 0 3902.4647 -16.803813 + 7550 19149.34 356.35773 0 3902.5318 -5.3481685 + 7600 19723.907 249.45462 0 3902.03 7.2597963 + 7650 19317.18 325.01536 0 3902.271 -0.16642424 + 7700 19620.248 269.22043 0 3902.5996 -4.6771277 + 7750 17751.083 615.46827 0 3902.7058 7.3637076 + 7800 20724.904 64.633157 0 3902.5784 5.2079592 + 7850 19966.924 204.60327 0 3902.1817 6.4943932 + 7900 19730.339 248.88701 0 3902.6536 8.4392109 + 7950 19907.748 216.06587 0 3902.6859 -5.1989259 + 8000 18217.971 528.46486 0 3902.1632 -15.394144 + 8050 17868.898 592.98294 0 3902.0381 9.1139508 + 8100 19370.601 315.22753 0 3902.3759 7.9651368 + 8150 18199.01 532.43818 0 3902.6252 10.07163 + 8200 20646.337 79.222148 0 3902.6179 0.17396159 + 8250 20811.938 48.374613 0 3902.4372 -14.594973 + 8300 20906.571 30.626024 0 3902.2132 -12.34909 + 8350 19873.431 221.86861 0 3902.1335 7.1435615 + 8400 20374.979 127.96219 0 3901.1064 10.527044 + 8450 20701.502 68.073078 0 3901.6846 2.5071154 + 8500 20452.423 113.98399 0 3901.4698 4.2164058 + 8550 19695.059 253.87834 0 3901.1115 8.0656507 + 8600 19447.531 299.45597 0 3900.8505 -0.71982287 + 8650 17202.668 714.55842 0 3900.2378 -16.743518 + 8700 18579.153 459.20676 0 3899.7906 3.4494692 + 8750 20247.204 150.39086 0 3899.8731 -0.1022032 + 8800 18520.797 469.57224 0 3899.3494 5.7412252 + 8850 16011.411 934.80107 0 3899.8772 34.500452 + 8900 19045.914 372.92529 0 3899.9464 10.001612 + 8950 19798.369 233.70991 0 3900.0746 9.3270865 + 9000 17141.02 725.70858 0 3899.9716 -6.7470927 + 9050 17722.847 617.81927 0 3899.828 -10.909071 + 9100 20811.604 45.701413 0 3899.7021 -12.300065 + 9150 18066.034 554.62654 0 3900.1884 -5.7606837 + 9200 19259.884 332.49612 0 3899.1412 -40.231609 + 9250 19116.782 359.42396 0 3899.5689 0.68271469 + 9300 18785.022 421.1178 0 3899.8256 -20.433345 + 9350 19018.32 377.90289 0 3899.814 3.2963902 + 9400 17321.798 691.93839 0 3899.6788 24.552549 + 9450 18318.437 507.12661 0 3899.4297 6.1367468 + 9500 16431.681 857.32722 0 3900.2311 25.431389 + 9550 17920.939 581.45381 0 3900.1462 9.1734747 + 9600 16603.394 825.79291 0 3900.4954 -5.9643183 + 9650 17753.931 607.15019 0 3894.9151 2.2302338 + 9700 17452.305 668.30613 0 3900.2145 2.4635322 + 9750 15955.164 945.80159 0 3900.4617 20.290857 + 9800 17958.495 574.7055 0 3900.3526 12.218625 + 9850 18759.766 423.66965 0 3897.7005 -4.8999337 + 9900 19798.529 232.2507 0 3898.6449 0.10312101 + 9950 18260.87 517.50071 0 3899.1432 5.7261992 + 10000 19116.279 359.58291 0 3899.6345 3.2110764 +Loop time of 3.40298 on 1 procs for 10000 steps with 81 atoms + +Performance: 25389.516 tau/day, 2938.601 timesteps/s, 238.027 katom-step/s +99.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.068835 | 0.068835 | 0.068835 | 0.0 | 2.02 +Neigh | 0.078603 | 0.078603 | 0.078603 | 0.0 | 2.31 +Comm | 0.013957 | 0.013957 | 0.013957 | 0.0 | 0.41 +Output | 0.0034786 | 0.0034786 | 0.0034786 | 0.0 | 0.10 +Modify | 3.2212 | 3.2212 | 3.2212 | 0.0 | 94.66 +Other | | 0.01692 | | | 0.50 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 105 ave 105 max 105 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 498 ave 498 max 498 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 498 +Ave neighs/atom = 6.1481481 +Neighbor list builds = 1202 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems5.g++.4 b/examples/rigid/log.25Mar24.rigid.poems5.g++.4 new file mode 100644 index 0000000000..78f4d4417b --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.poems5.g++.4 @@ -0,0 +1,329 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + + +# 2 chains of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +fix 1 all poems file connected-bodies2.dat +2 clusters, 9 bodies, 7 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 + +@Article{Mukherjee08, + author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, + title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, + journal = {Intl.\ J.\ Non-Linear Mechanics}, + year = 2008, + volume = 43, + number = 10, + pages = {1040--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +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 = 18 18 18 + 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.514 | 3.545 | 3.639 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 196.00047 3632.2347 0 3668.5311 -2.7403788 + 50 12774.759 1538.7378 0 3904.434 18.086356 + 100 19803.641 237.21132 0 3904.5523 -3.1528278 + 150 20259.6 152.62032 0 3904.3981 -4.6173548 + 200 20705.978 69.977442 0 3904.4178 9.0928146 + 250 19552.211 283.50525 0 3904.285 15.670465 + 300 19266.324 333.5792 0 3901.4169 7.2119197 + 350 20738.325 63.738945 0 3904.1694 -23.03999 + 400 20616.682 86.082444 0 3903.9864 -13.783584 + 450 19831.326 230.13858 0 3902.6063 0.42074361 + 500 20365.825 131.47271 0 3902.9217 0.69215592 + 550 20794.102 52.163238 0 3902.9229 4.5895354 + 600 20853.873 40.899172 0 3902.7275 2.3593042 + 650 19255.802 336.29509 0 3902.1844 10.341742 + 700 18526.969 471.02462 0 3901.9448 -0.61898691 + 750 18960.662 391.26068 0 3902.4944 12.04731 + 800 20142.432 172.05197 0 3902.1319 4.6838632 + 850 19932.48 210.71175 0 3901.9118 3.4716031 + 900 20243.528 153.13972 0 3901.9411 3.6490762 + 950 20388.132 126.88722 0 3902.4671 -4.4518463 + 1000 20076.333 184.61916 0 3902.4586 -2.272315 + 1050 20859.506 39.696992 0 3902.5684 6.45166 + 1100 15284.661 1072.1906 0 3902.6833 21.194041 + 1150 19658.317 261.99809 0 3902.4272 -2.8744196 + 1200 20767.681 56.717093 0 3902.5839 -34.817444 + 1250 20625.583 82.586396 0 3902.1388 11.697328 + 1300 20690.013 71.006479 0 3902.4903 -29.292783 + 1350 20936.019 26.022787 0 3903.0634 1.0316031 + 1400 19753.56 244.81777 0 3902.8844 6.713847 + 1450 15690.145 998.34279 0 3903.9252 48.124638 + 1500 20234.455 155.92476 0 3903.0461 13.17218 + 1550 20779.631 55.063072 0 3903.1428 -2.6390427 + 1600 20642.756 80.233303 0 3902.9659 -2.4688077 + 1650 18785.71 423.90132 0 3902.7365 -5.6468182 + 1700 20965.076 20.760481 0 3903.182 -0.45377448 + 1750 18935.45 396.95247 0 3903.5173 25.912353 + 1800 20581.523 91.763662 0 3903.1567 3.8225817 + 1850 20616.962 85.182351 0 3903.1382 4.1907744 + 1900 16601.061 828.59343 0 3902.8639 -0.49284971 + 1950 20175.618 166.51633 0 3902.7419 5.6031735 + 2000 20266.439 149.55931 0 3902.6036 -1.1956447 + 2050 20159.308 169.44017 0 3902.6453 -0.7983344 + 2100 19743.72 245.40822 0 3901.6527 3.5301052 + 2150 20674.556 74.284034 0 3902.9055 0.61532081 + 2200 19950.784 208.30189 0 3902.8915 7.6523945 + 2250 19817.161 232.7485 0 3902.5932 3.4492756 + 2300 20459.058 114.2307 0 3902.9451 -11.066393 + 2350 18359.21 503.25787 0 3903.1115 -9.0741539 + 2400 19952.914 207.84881 0 3902.8328 -0.53972874 + 2450 19661.352 259.78979 0 3900.781 7.8669927 + 2500 20917.293 29.699201 0 3903.2719 1.1433085 + 2550 20763.955 57.990256 0 3903.1671 -1.1088372 + 2600 20640.005 80.556339 0 3902.7795 9.6127007 + 2650 20823.227 47.292746 0 3903.446 2.2923503 + 2700 20401.43 125.53141 0 3903.5739 -8.0683618 + 2750 20689.918 72.242212 0 3903.7084 0.22078527 + 2800 20783.922 54.87309 0 3903.7476 2.0668249 + 2850 19258.563 336.84835 0 3903.2488 4.2704683 + 2900 20565.694 95.184831 0 3903.6468 -0.24799068 + 2950 20915.041 30.344751 0 3903.5004 -2.9900907 + 3000 19571.964 278.74004 0 3903.1778 12.195325 + 3050 20356.693 133.43974 0 3903.1976 0.11608195 + 3100 20047.888 190.69627 0 3903.268 -4.5895546 + 3150 19834.363 230.59072 0 3903.6209 -1.4352632 + 3200 20213.412 160.25129 0 3903.4757 3.7488266 + 3250 19286.774 332.04497 0 3903.6699 -5.0835358 + 3300 20952.226 23.774103 0 3903.816 0.10019546 + 3350 20407.952 124.62932 0 3903.8798 0.4403531 + 3400 19401.716 311.03567 0 3903.9461 1.8034568 + 3450 20880.78 37.20558 0 3904.0167 6.3948533 + 3500 19529.313 287.50301 0 3904.0425 12.311168 + 3550 20943.604 25.677677 0 3904.1228 5.1786098 + 3600 20272.725 149.91697 0 3904.1254 1.196909 + 3650 19781.047 240.95421 0 3904.1111 -8.5091671 + 3700 20613.433 86.53896 0 3903.8414 -9.1622102 + 3750 20567.605 95.294456 0 3904.1101 -0.11887825 + 3800 19891.98 220.32932 0 3904.0292 6.8801146 + 3850 20669.735 76.407858 0 3904.1365 -7.4310509 + 3900 20908.711 32.197181 0 3904.1807 -4.6573356 + 3950 20822.78 48.03134 0 3904.1018 0.086779759 + 4000 20199.055 163.66262 0 3904.2283 2.0027771 + 4050 20072.638 187.07041 0 3904.2256 4.4103784 + 4100 17724.651 619.7903 0 3902.1331 11.210006 + 4150 20760.201 60.001382 0 3904.4831 -3.8510009 + 4200 19159.102 356.30472 0 3904.2865 -2.3503308 + 4250 19403.974 311.3497 0 3904.6783 -1.2458384 + 4300 20858.687 42.000734 0 3904.7206 2.1750528 + 4350 20486.989 110.94383 0 3904.8306 5.017245 + 4400 20231.073 158.28825 0 3904.7832 7.4295979 + 4450 16369.689 873.39361 0 3904.8175 14.371454 + 4500 20745.196 63.11427 0 3904.8172 -7.855609 + 4550 18688.003 443.85636 0 3904.5977 9.8067426 + 4600 17755.672 616.68475 0 3904.7721 -3.9654703 + 4650 19843.131 230.34486 0 3904.9988 -0.13553926 + 4700 18873.202 409.99341 0 3905.0308 15.912724 + 4750 20605.355 89.223116 0 3905.0295 2.0847611 + 4800 20136.483 176.1278 0 3905.1062 -1.7091113 + 4850 19808.073 236.83278 0 3904.9945 5.0982271 + 4900 19142.083 359.55764 0 3904.3878 8.2072008 + 4950 20539.687 101.08198 0 3904.7277 8.0469319 + 5000 20840.809 45.759021 0 3905.168 4.771755 + 5050 20009.696 199.45528 0 3904.9546 6.1191423 + 5100 20882.034 38.247578 0 3905.2909 -6.3068822 + 5150 20329.869 140.47458 0 3905.2651 -21.720979 + 5200 17334.411 695.67098 0 3905.7471 -9.8243617 + 5250 19602.025 275.17282 0 3905.1775 -3.2371379 + 5300 20858.74 42.630642 0 3905.3603 0.38011789 + 5350 20828.619 48.188698 0 3905.3403 5.7187945 + 5400 20978.428 20.447148 0 3905.3413 6.1168011 + 5450 20115.374 179.9294 0 3904.9987 8.6440563 + 5500 20522.744 104.7733 0 3905.2815 -2.6561664 + 5550 20625.724 85.600795 0 3905.1792 -1.327206 + 5600 19559.638 282.68742 0 3904.8426 17.893028 + 5650 20552.224 98.978098 0 3904.9455 2.4489071 + 5700 19982.142 204.09989 0 3904.4966 9.9034011 + 5750 20408.825 125.30875 0 3904.7209 1.2515548 + 5800 19773.143 243.02134 0 3904.7144 -2.6729948 + 5850 20781.934 56.310486 0 3904.8168 -1.659054 + 5900 19807.668 236.54392 0 3904.6306 0.49776361 + 5950 20741.237 63.921667 0 3904.8916 4.2800039 + 6000 20322.7 140.98125 0 3904.4442 7.4978024 + 6050 20858.439 42.383629 0 3905.0575 -4.6872323 + 6100 20212.538 162.022 0 3905.0847 -7.0796165 + 6150 18513.957 476.7087 0 3905.2193 7.107138 + 6200 20802.734 52.621638 0 3904.9797 3.7242428 + 6250 20818.044 49.717458 0 3904.9109 -0.91041774 + 6300 19987.245 203.4635 0 3904.8052 -0.86714551 + 6350 20806.906 51.449749 0 3904.5806 -4.0699629 + 6400 20530.3 103.09809 0 3905.0055 1.660177 + 6450 20667.085 77.715553 0 3904.9535 0.99217521 + 6500 20515.816 105.81762 0 3905.0428 3.0994091 + 6550 20548.348 99.627131 0 3904.8769 -0.77417688 + 6600 19827.378 232.99889 0 3904.7355 3.295082 + 6650 19237.199 342.94808 0 3905.3923 -6.2226637 + 6700 19611.621 273.139 0 3904.9206 -3.5465535 + 6750 20874.805 39.1893 0 3904.8939 -0.051336814 + 6800 19433.717 305.99952 0 3904.8361 -19.858865 + 6850 20119.223 179.19987 0 3904.9818 4.6466283 + 6900 20467.389 114.77871 0 3905.0359 10.290214 + 6950 20334.202 139.43289 0 3905.0259 7.5448433 + 7000 20504.591 107.86929 0 3905.0158 -0.10092084 + 7050 17969.214 576.83722 0 3904.4694 10.852897 + 7100 19186.398 351.80467 0 3904.8414 0.24779979 + 7150 20261.23 152.54684 0 3904.6265 -7.0175844 + 7200 20696.821 71.985154 0 3904.7298 3.9649146 + 7250 18456.212 487.1819 0 3904.9989 5.8280225 + 7300 17705.1 625.95928 0 3904.6816 6.8298215 + 7350 17032.039 750.96958 0 3905.051 11.833303 + 7400 20557.431 97.599213 0 3904.5308 0.43747863 + 7450 20466.847 114.5693 0 3904.7261 1.9786538 + 7500 20416.862 123.31643 0 3904.2168 -2.9094738 + 7550 18433.95 487.50767 0 3901.2022 4.0921479 + 7600 19950.107 209.92208 0 3904.3863 3.9114888 + 7650 16037.844 934.94785 0 3904.9189 -1.2183461 + 7700 20145.239 173.99945 0 3904.5993 3.1185554 + 7750 18672.579 446.35236 0 3904.2373 4.1086445 + 7800 19740.616 249.10395 0 3904.7737 4.6048428 + 7850 20801.917 52.742096 0 3904.9489 1.5978265 + 7900 20305.348 144.57749 0 3904.8272 2.7348725 + 7950 20221.086 159.31958 0 3903.9652 7.1592496 + 8000 20826.907 47.953835 0 3904.7884 6.2728901 + 8050 18646.418 452.02126 0 3905.0617 5.9716218 + 8100 20653.653 80.183024 0 3904.9336 -1.8274783 + 8150 20843.275 45.172279 0 3905.0379 -6.9445524 + 8200 20364.78 133.45082 0 3904.7064 -12.094533 + 8250 18163.745 541.08818 0 3904.7447 -2.6103997 + 8300 20889.664 36.793018 0 3905.2494 -9.2650749 + 8350 20307.367 144.33088 0 3904.9543 -0.65999546 + 8400 20485.202 111.41317 0 3904.9691 -0.42802224 + 8450 20864.395 41.146879 0 3904.9238 7.7084978 + 8500 20901.899 34.291267 0 3905.0132 -5.2070823 + 8550 20211.78 162.02611 0 3904.9484 -5.8363409 + 8600 19639.538 268.05291 0 3905.0044 3.8180903 + 8650 19919.356 216.24885 0 3905.0185 0.17130921 + 8700 19499.449 293.97522 0 3904.9843 -4.897872 + 8750 20270.687 151.1571 0 3904.9879 0.28558082 + 8800 18804.137 422.61651 0 3904.864 15.351015 + 8850 20654.443 80.110976 0 3905.0078 4.1368065 + 8900 19953.725 209.81046 0 3904.9447 10.71743 + 8950 18195.013 536.67764 0 3906.1245 21.497802 + 9000 20478.531 112.78923 0 3905.1098 -13.053056 + 9050 20866.484 40.901611 0 3905.0653 -3.6134066 + 9100 20322.595 141.61419 0 3905.0577 15.459697 + 9150 20855.456 42.94311 0 3905.0646 4.9123213 + 9200 20208.201 162.79363 0 3905.0531 2.5454472 + 9250 18394.203 498.63686 0 3904.9707 0.041811692 + 9300 18776.997 427.7118 0 3904.9335 -7.652483 + 9350 18330.751 510.07857 0 3904.6621 8.3424059 + 9400 17538.366 657.08623 0 3904.9319 8.5478668 + 9450 20309.605 143.77142 0 3904.8093 6.6831447 + 9500 19982.331 203.81545 0 3904.2471 -7.6711411 + 9550 19410.612 310.1139 0 3904.6717 5.3983286 + 9600 19198.225 349.06634 0 3904.2932 -4.107658 + 9650 19388.043 314.31566 0 3904.6939 6.1198194 + 9700 18849.37 414.1045 0 3904.7286 5.4468861 + 9750 18263.312 523.38716 0 3905.4819 -0.56480349 + 9800 20421.858 122.53973 0 3904.3653 -15.641399 + 9850 17678.959 631.15683 0 3905.0381 -1.805446 + 9900 19421.046 306.67446 0 3903.1644 7.0287747 + 9950 18460.64 483.18902 0 3901.8261 3.658774 + 10000 19781.151 239.38136 0 3902.5575 6.3312911 +Loop time of 3.21586 on 4 procs for 10000 steps with 81 atoms + +Performance: 26866.868 tau/day, 3109.591 timesteps/s, 251.877 katom-step/s +99.4% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0068055 | 0.017185 | 0.043838 | 11.8 | 0.53 +Neigh | 0.010594 | 0.021601 | 0.042532 | 8.5 | 0.67 +Comm | 0.068664 | 0.091849 | 0.10748 | 4.8 | 2.86 +Output | 0.0038351 | 0.0044469 | 0.0057465 | 1.1 | 0.14 +Modify | 2.8494 | 2.9033 | 2.9663 | 2.5 | 90.28 +Other | | 0.1775 | | | 5.52 + +Nlocal: 20.25 ave 36 max 0 min +Histogram: 1 0 0 0 0 1 0 1 0 1 +Nghost: 38.25 ave 50 max 28 min +Histogram: 1 0 1 0 0 1 0 0 0 1 +Neighs: 126.5 ave 213 max 0 min +Histogram: 1 0 0 0 1 0 0 0 0 2 + +Total # of neighbors = 506 +Ave neighs/atom = 6.2469136 +Neighbor list builds = 1207 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.property.g++.1 b/examples/rigid/log.25Mar24.rigid.property.g++.1 new file mode 100644 index 0000000000..0a3d0da63a --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.property.g++.1 @@ -0,0 +1,343 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic +atom_modify map array + +pair_style lj/cut 2.5 + +fix 0 all property/atom i_bodies + +read_data data.rigid-property fix 0 NULL Clumps +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +# assemble bodies from per-atom custom integer property bodies +fix 1 all rigid custom i_bodies + 9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +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 = 18 18 18 + 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.42 | 4.42 | 4.42 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722875e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690665 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 + 8600 16738.474 -0.0007653281 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 + 9600 16738.549 -0.026814368 0 5269.5163 12.011415 + 9650 16738.765 -0.10191522 0 5269.5092 12.011013 + 9700 16735.041 1.0589881 0 5269.4979 12.062708 + 9750 16738.013 0.13550093 0 5269.5101 11.407245 + 9800 16738.512 -0.01162033 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270581 0 5269.5237 11.395098 + 9900 16738.489 -0.0002498458 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.13897 on 1 procs for 10000 steps with 81 atoms + +Performance: 621716.264 tau/day, 71957.901 timesteps/s, 5.829 Matom-step/s +98.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0095014 | 0.0095014 | 0.0095014 | 0.0 | 6.84 +Neigh | 0.050174 | 0.050174 | 0.050174 | 0.0 | 36.10 +Comm | 0.0091698 | 0.0091698 | 0.0091698 | 0.0 | 6.60 +Output | 0.0016255 | 0.0016255 | 0.0016255 | 0.0 | 1.17 +Modify | 0.060968 | 0.060968 | 0.060968 | 0.0 | 43.87 +Other | | 0.007531 | | | 5.42 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 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 = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.property.g++.4 b/examples/rigid/log.25Mar24.rigid.property.g++.4 new file mode 100644 index 0000000000..5195cd4eb6 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.property.g++.4 @@ -0,0 +1,343 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic +atom_modify map array + +pair_style lj/cut 2.5 + +fix 0 all property/atom i_bodies + +read_data data.rigid-property fix 0 NULL Clumps +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +# assemble bodies from per-atom custom integer property bodies +fix 1 all rigid custom i_bodies + 9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +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 = 18 18 18 + 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.268 | 4.3 | 4.394 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722867e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652437 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156158 0 5269.5203 12.011611 + 9600 16738.549 -0.026814369 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589886 0 5269.4979 12.062708 + 9750 16738.013 0.13550089 0 5269.5101 11.407245 + 9800 16738.512 -0.011620329 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270567 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984578 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.145717 on 4 procs for 10000 steps with 81 atoms + +Performance: 592928.932 tau/day, 68626.034 timesteps/s, 5.559 Matom-step/s +98.1% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0017512 | 0.002579 | 0.0032423 | 1.1 | 1.77 +Neigh | 0.01337 | 0.01442 | 0.016488 | 1.0 | 9.90 +Comm | 0.066749 | 0.068666 | 0.070799 | 0.7 | 47.12 +Output | 0.0018563 | 0.0020346 | 0.0025278 | 0.6 | 1.40 +Modify | 0.040991 | 0.042542 | 0.044042 | 0.6 | 29.19 +Other | | 0.01548 | | | 10.62 + +Nlocal: 20.25 ave 37 max 3 min +Histogram: 1 0 0 1 0 0 0 1 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 0 2 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.small.g++.1 b/examples/rigid/log.25Mar24.rigid.small.g++.1 new file mode 100644 index 0000000000..7c1c88364b --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.small.g++.1 @@ -0,0 +1,321 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style bond + +pair_style lj/cut 2.5 + +read_data data.rigid.small +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.002 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/small molecule + create bodies CPU = 0.000 seconds + 9 rigid bodies with 81 atoms + 1.2247449 = max distance from body owner to body atom + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +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 = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 9.034 | 9.034 | 9.034 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722853e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.05932751 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934369 0 5269.4889 12.025288 + 3750 16737.731 0.20706559 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253348 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690669 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646805 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532808 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652431 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 + 9600 16738.549 -0.026814366 0 5269.5163 12.011415 + 9650 16738.765 -0.10191522 0 5269.5092 12.011013 + 9700 16735.041 1.0589875 0 5269.4979 12.062708 + 9750 16738.013 0.13550135 0 5269.5101 11.407245 + 9800 16738.512 -0.01162033 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270544 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984555 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.159025 on 1 procs for 10000 steps with 81 atoms + +Performance: 543312.198 tau/day, 62883.356 timesteps/s, 5.094 Matom-step/s +98.3% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0094515 | 0.0094515 | 0.0094515 | 0.0 | 5.94 +Bond | 0.00045015 | 0.00045015 | 0.00045015 | 0.0 | 0.28 +Neigh | 0.066186 | 0.066186 | 0.066186 | 0.0 | 41.62 +Comm | 0.0097819 | 0.0097819 | 0.0097819 | 0.0 | 6.15 +Output | 0.0021947 | 0.0021947 | 0.0021947 | 0.0 | 1.38 +Modify | 0.062923 | 0.062923 | 0.062923 | 0.0 | 39.57 +Other | | 0.008038 | | | 5.05 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.small.g++.4 b/examples/rigid/log.25Mar24.rigid.small.g++.4 new file mode 100644 index 0000000000..1b0d54f7b3 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.small.g++.4 @@ -0,0 +1,321 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style bond + +pair_style lj/cut 2.5 + +read_data data.rigid.small +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/small molecule + create bodies CPU = 0.000 seconds + 9 rigid bodies with 81 atoms + 1.2247449 = max distance from body owner to body atom + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +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 = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 8.892 | 8.94 | 9.049 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722842e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554428 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934367 0 5269.4889 12.025288 + 3750 16737.731 0.20706557 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690662 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646802 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532814 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.0003765244 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156163 0 5269.5203 12.011611 + 9600 16738.549 -0.026814371 0 5269.5163 12.011415 + 9650 16738.765 -0.10191524 0 5269.5092 12.011013 + 9700 16735.041 1.0589896 0 5269.4979 12.062708 + 9750 16738.013 0.13550091 0 5269.5101 11.407245 + 9800 16738.512 -0.011620327 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270523 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984566 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.200426 on 4 procs for 10000 steps with 81 atoms + +Performance: 431082.236 tau/day, 49893.777 timesteps/s, 4.041 Matom-step/s +97.6% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.001863 | 0.0024669 | 0.0029246 | 0.8 | 1.23 +Bond | 0.00033475 | 0.00034422 | 0.00035273 | 0.0 | 0.17 +Neigh | 0.016097 | 0.017035 | 0.018935 | 0.9 | 8.50 +Comm | 0.066051 | 0.06822 | 0.070253 | 0.7 | 34.04 +Output | 0.0020466 | 0.0021927 | 0.0026005 | 0.5 | 1.09 +Modify | 0.094972 | 0.096687 | 0.098173 | 0.4 | 48.24 +Other | | 0.01348 | | | 6.73 + +Nlocal: 20.25 ave 37 max 3 min +Histogram: 1 0 0 1 0 0 0 1 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 0 2 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.small.infile.g++.1 b/examples/rigid/log.25Mar24.rigid.small.infile.g++.1 new file mode 100644 index 0000000000..8c441d5d00 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.small.infile.g++.1 @@ -0,0 +1,322 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style bond + +pair_style lj/cut 2.5 + +read_data data.rigid.small +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/small molecule infile bodyinfo.dat + create bodies CPU = 0.000 seconds + 9 rigid bodies with 81 atoms + 1.2247449 = max distance from body owner to body atom + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +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 = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Reading rigid body data for 4 bodies from file bodyinfo.dat +Per MPI rank memory allocation (min/avg/max) = 9.034 | 9.034 | 9.034 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722875e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706559 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253348 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690667 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532809 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652433 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156155 0 5269.5203 12.011611 + 9600 16738.549 -0.026814367 0 5269.5163 12.011415 + 9650 16738.765 -0.10191522 0 5269.5092 12.011013 + 9700 16735.041 1.0589876 0 5269.4979 12.062708 + 9750 16738.013 0.13550105 0 5269.5101 11.407245 + 9800 16738.512 -0.011620331 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270584 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984576 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395074 +Loop time of 0.154542 on 1 procs for 10000 steps with 81 atoms + +Performance: 559072.380 tau/day, 64707.451 timesteps/s, 5.241 Matom-step/s +98.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0094322 | 0.0094322 | 0.0094322 | 0.0 | 6.10 +Bond | 0.00037544 | 0.00037544 | 0.00037544 | 0.0 | 0.24 +Neigh | 0.062048 | 0.062048 | 0.062048 | 0.0 | 40.15 +Comm | 0.0095533 | 0.0095533 | 0.0095533 | 0.0 | 6.18 +Output | 0.0022247 | 0.0022247 | 0.0022247 | 0.0 | 1.44 +Modify | 0.06281 | 0.06281 | 0.06281 | 0.0 | 40.64 +Other | | 0.008098 | | | 5.24 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.small.infile.g++.4 b/examples/rigid/log.25Mar24.rigid.small.infile.g++.4 new file mode 100644 index 0000000000..e4c45a4523 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.small.infile.g++.4 @@ -0,0 +1,322 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style bond + +pair_style lj/cut 2.5 + +read_data data.rigid.small +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/small molecule infile bodyinfo.dat + create bodies CPU = 0.000 seconds + 9 rigid bodies with 81 atoms + 1.2247449 = max distance from body owner to body atom + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +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 = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Reading rigid body data for 4 bodies from file bodyinfo.dat +Per MPI rank memory allocation (min/avg/max) = 8.892 | 8.94 | 9.049 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722864e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.05932751 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934369 0 5269.4889 12.025288 + 3750 16737.731 0.20706559 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253348 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690668 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646805 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532808 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652432 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156155 0 5269.5203 12.011611 + 9600 16738.549 -0.026814366 0 5269.5163 12.011415 + 9650 16738.765 -0.10191522 0 5269.5092 12.011013 + 9700 16735.041 1.0589874 0 5269.4979 12.062708 + 9750 16738.013 0.1355012 0 5269.5101 11.407245 + 9800 16738.512 -0.011620331 0 5269.5201 11.394973 + 9850 16738.489 -0.00067270574 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984568 0 5269.5242 11.395084 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.194899 on 4 procs for 10000 steps with 81 atoms + +Performance: 443306.036 tau/day, 51308.569 timesteps/s, 4.156 Matom-step/s +98.4% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0017487 | 0.0024215 | 0.0028965 | 0.9 | 1.24 +Bond | 0.00032501 | 0.00033082 | 0.0003413 | 0.0 | 0.17 +Neigh | 0.015692 | 0.016603 | 0.018578 | 0.9 | 8.52 +Comm | 0.063465 | 0.066081 | 0.068061 | 0.8 | 33.91 +Output | 0.0019654 | 0.0021191 | 0.0025315 | 0.5 | 1.09 +Modify | 0.092199 | 0.094298 | 0.096149 | 0.5 | 48.38 +Other | | 0.01305 | | | 6.69 + +Nlocal: 20.25 ave 37 max 3 min +Histogram: 1 0 0 1 0 0 0 1 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 0 2 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 1552 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.tnr.g++.1 b/examples/rigid/log.25Mar24.rigid.tnr.g++.1 new file mode 100644 index 0000000000..be58bf94b9 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.tnr.g++.1 @@ -0,0 +1,475 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Tethered nanorods + +atom_style molecular + +read_data data.rigid.tnr +Reading data file ... + orthogonal box = (-31.122 -31.122 -31.122) to (31.122 31.122 31.122) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 5600 atoms + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 1600 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.027 seconds + +# Specify bond parameters + +bond_style fene +bond_coeff 1 30.0 1.5 1.0 1.0 + +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.001 seconds + +# Specify initial velocities + +velocity all create 1.4 109345 + +# Specify rigid components + +group rods type 2 +4000 atoms in group rods +group tethers subtract all rods +1600 atoms in group tethers + +neigh_modify exclude molecule/intra rods delay 0 every 1 + +# Specify the pair potentials + +pair_style lj/cut 2.5 +pair_modify shift yes +pair_coeff * * 1.0 1.0 1.122 +pair_coeff 2 2 1.0 1.0 2.5 + +# Specify output + +thermo 100 +thermo_style custom step temp pe etotal press enthalpy lx ly lz pxx pyy pzz +thermo_modify flush yes lost warn + +timestep 0.005 + +fix 1 rods rigid molecule + 800 rigid bodies with 4000 atoms +fix 2 tethers nve +fix 3 all langevin 1.4 1.4 1.0 437624 + +run 5000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 45 45 45 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 8.017 | 8.017 | 8.017 Mbytes + Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 0 1.3963219 5.9478449 7.0445809 0.048565317 9.13595 62.244 62.244 62.244 0.0091983659 0.11850113 0.017996458 + 100 1.3418512 5.9671777 7.0211299 0.025020362 8.0985822 62.244 62.244 62.244 0.02036076 0.038265078 0.016435248 + 200 1.3730638 5.9750802 7.0535483 0.0053287535 7.2830205 62.244 62.244 62.244 -0.00054924195 0.0092396988 0.0072958036 + 300 1.376262 5.9821642 7.0631443 0.0055536521 7.3023013 62.244 62.244 62.244 0.0033577704 0.0069111861 0.0063919998 + 400 1.3782954 5.9983628 7.08094 0.0020507385 7.169251 62.244 62.244 62.244 -0.0060862717 0.0098998072 0.0023386801 + 500 1.386863 6.0053312 7.0946377 -0.0009847031 7.0522334 62.244 62.244 62.244 -0.0038708372 0.0005697804 0.00034694745 + 600 1.4069849 6.0035719 7.1086832 0.0047883912 7.3148858 62.244 62.244 62.244 0.001069365 0.0078059505 0.0054898581 + 700 1.4423187 5.9982171 7.1310812 0.012141001 7.6539093 62.244 62.244 62.244 0.0094765272 0.011007593 0.015938883 + 800 1.4303878 5.9968168 7.1203098 -0.00081349095 7.0852784 62.244 62.244 62.244 0.0011153812 0.00041597298 -0.0039718271 + 900 1.4140538 5.9838168 7.0944803 0.00207609 7.183883 62.244 62.244 62.244 0.00043409671 0.0022778944 0.0035162788 + 1000 1.3906567 5.988119 7.0804053 0.0022005856 7.1751692 62.244 62.244 62.244 0.0077268425 -0.0022042977 0.0010792119 + 1100 1.3921992 5.9892203 7.0827181 0.0035041977 7.2336194 62.244 62.244 62.244 -0.0037576823 0.0040827951 0.01018748 + 1200 1.3968803 5.9795846 7.0767592 -0.0031072146 6.9429532 62.244 62.244 62.244 -0.0077387449 0.0033056124 -0.0048885115 + 1300 1.3755848 5.9739757 7.0544239 0.0092247106 7.4516677 62.244 62.244 62.244 0.0092788748 0.010737194 0.0076580625 + 1400 1.3847985 5.9703631 7.0580481 0.0071703598 7.3668254 62.244 62.244 62.244 0.0080485848 0.012260474 0.001202021 + 1500 1.4190051 5.956946 7.0714985 0.0035992903 7.2264948 62.244 62.244 62.244 -0.0055125437 0.01038369 0.0059267242 + 1600 1.3980036 5.9671666 7.0652236 0.0061819851 7.3314385 62.244 62.244 62.244 0.0062429141 0.0035120077 0.0087910334 + 1700 1.4276062 5.9610381 7.0823462 0.007832375 7.4196319 62.244 62.244 62.244 0.0083316819 0.0058394292 0.009326014 + 1800 1.4112769 5.9630595 7.0715419 0.0068032101 7.3645087 62.244 62.244 62.244 0.0065502252 0.0062317255 0.0076276797 + 1900 1.4276973 5.9489341 7.0703139 0.008397746 7.4319462 62.244 62.244 62.244 0.0148941 0.0032963108 0.0070028268 + 2000 1.4056158 5.9564624 7.0604983 0.0090470732 7.4500926 62.244 62.244 62.244 0.011871718 0.0086681344 0.0066013673 + 2100 1.3924778 5.9483611 7.0420778 0.0088893819 7.4248814 62.244 62.244 62.244 0.010247454 0.0097830093 0.0066376825 + 2200 1.3760401 5.9435877 7.0243935 -0.0042972782 6.8393397 62.244 62.244 62.244 -0.0050064436 -0.0046216999 -0.0032636911 + 2300 1.4191937 5.9334036 7.0481042 0.0047000032 7.2505006 62.244 62.244 62.244 0.0057709635 0.0044949165 0.0038341296 + 2400 1.4213285 5.9472214 7.0635988 0.010197674 7.5027414 62.244 62.244 62.244 0.008373826 0.0090537939 0.013165402 + 2500 1.4153808 5.9421661 7.0538718 0.00015906306 7.0607216 62.244 62.244 62.244 0.002351621 -0.0019814986 0.00010706677 + 2600 1.4014223 5.9431386 7.0438807 0.0070733749 7.3484816 62.244 62.244 62.244 0.0054143871 0.010055843 0.0057498948 + 2700 1.4138077 5.9369067 7.047377 0.0024268842 7.1518859 62.244 62.244 62.244 0.0052918436 0.0014960353 0.00049277371 + 2800 1.432192 5.9347676 7.0596777 0.0077670448 7.3941501 62.244 62.244 62.244 0.012668421 0.0059113033 0.0047214106 + 2900 1.3938659 5.921023 7.01583 0.0053751198 7.2472989 62.244 62.244 62.244 0.0020490372 0.0076566093 0.006419713 + 3000 1.390221 5.9205014 7.0124455 -0.0010750977 6.9661485 62.244 62.244 62.244 0.0019519817 -0.0041878885 -0.00098938611 + 3100 1.4205722 5.9178284 7.0336117 0.0098735475 7.4587965 62.244 62.244 62.244 0.0040973361 0.012167268 0.013356039 + 3200 1.398418 5.9150349 7.0134173 0.0061541841 7.2784351 62.244 62.244 62.244 0.0067621815 0.011952563 -0.00025219251 + 3300 1.4269859 5.9148727 7.0356937 0.0060623879 7.2967584 62.244 62.244 62.244 0.012956234 -2.4806661e-05 0.0052557362 + 3400 1.434286 5.9356705 7.0622253 0.00027315892 7.0739884 62.244 62.244 62.244 -0.00054959866 0.0052526278 -0.0038835524 + 3500 1.4416809 5.9228153 7.0551783 0.0083382977 7.4142506 62.244 62.244 62.244 0.007399393 0.0030328007 0.014582699 + 3600 1.4136063 5.9039442 7.0142562 0.0019712004 7.0991421 62.244 62.244 62.244 -0.00032316149 0.0035029874 0.0027337752 + 3700 1.4333819 5.9120101 7.0378548 0.0071287182 7.3448389 62.244 62.244 62.244 0.0064768218 0.0046765361 0.010232797 + 3800 1.3659481 5.9032873 6.9761663 -0.0054033416 6.7434821 62.244 62.244 62.244 -0.0073943479 -0.0082831992 -0.00053247772 + 3900 1.3963222 5.9042998 7.0010361 0.0053310264 7.2306062 62.244 62.244 62.244 0.0081855739 0.0048806019 0.0029269034 + 4000 1.4125482 5.9060665 7.0155474 0.0028450296 7.138063 62.244 62.244 62.244 0.0052588294 0.00072395285 0.0025523065 + 4100 1.3943951 5.9040875 6.9993102 0.0058050223 7.2492919 62.244 62.244 62.244 0.0060579697 0.0024782584 0.0088788387 + 4200 1.4249768 5.8906371 7.0098801 0.0030210669 7.1399763 62.244 62.244 62.244 0.006174431 -0.002079586 0.0049683557 + 4300 1.3899801 5.8966397 6.9883947 0.0057285402 7.2350829 62.244 62.244 62.244 0.0049048136 0.0021882328 0.010092574 + 4400 1.4414352 5.898628 7.0307981 0.0050932552 7.2501291 62.244 62.244 62.244 0.0057941393 0.0037951842 0.0056904421 + 4500 1.4092913 5.8922803 6.9992031 0.0012238869 7.0519073 62.244 62.244 62.244 0.0042907674 0.0014412643 -0.0020603711 + 4600 1.3779868 5.8928757 6.9752105 0.0020701322 7.0643566 62.244 62.244 62.244 0.0029283254 -0.0031683908 0.006450462 + 4700 1.4084635 5.9098782 7.0161508 -0.00052129502 6.9937023 62.244 62.244 62.244 -0.0018460523 -0.0018286314 0.0021107986 + 4800 1.4393258 5.9148464 7.0453597 0.015311954 7.7047386 62.244 62.244 62.244 0.014718813 0.01801777 0.013199278 + 4900 1.4500008 5.9076899 7.0465879 0.0075111779 7.3700419 62.244 62.244 62.244 0.0091865271 0.0080981174 0.0052488891 + 5000 1.4279632 5.9111567 7.0327453 -0.0014189553 6.9716408 62.244 62.244 62.244 -0.0046013754 0.0019937576 -0.001649248 +Loop time of 5.54157 on 1 procs for 5000 steps with 5600 atoms + +Performance: 389781.415 tau/day, 902.272 timesteps/s, 5.053 Matom-step/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.40156 | 0.40156 | 0.40156 | 0.0 | 7.25 +Bond | 0.172 | 0.172 | 0.172 | 0.0 | 3.10 +Neigh | 1.6573 | 1.6573 | 1.6573 | 0.0 | 29.91 +Comm | 0.10679 | 0.10679 | 0.10679 | 0.0 | 1.93 +Output | 0.0033706 | 0.0033706 | 0.0033706 | 0.0 | 0.06 +Modify | 3.0948 | 3.0948 | 3.0948 | 0.0 | 55.85 +Other | | 0.1058 | | | 1.91 + +Nlocal: 5600 ave 5600 max 5600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1351 ave 1351 max 1351 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 5254 ave 5254 max 5254 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 5254 +Ave neighs/atom = 0.93821429 +Ave special neighs/atom = 0.57142857 +Neighbor list builds = 766 +Dangerous builds = 0 + +# Replace fix rigid and fix langevin with new ones + +unfix 1 +unfix 3 + +fix 3 tethers langevin 1.4 1.4 1.0 198450 + +# Test different integrators for rods + +fix 1 rods rigid/nve molecule + 800 rigid bodies with 4000 atoms +print "rigid/nve" +rigid/nve +run 1000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 8.018 | 8.018 | 8.018 Mbytes + Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 5000 1.4279632 5.9111567 7.0327453 0.027874409 8.2331015 62.244 62.244 62.244 0.018992956 0.039655696 0.024974575 + 5100 1.439608 5.9052128 7.0359478 0.0060989876 7.2985886 62.244 62.244 62.244 0.0087364154 0.0040228411 0.0055377063 + 5200 1.4120671 5.9102569 7.01936 0.0064301456 7.2962615 62.244 62.244 62.244 0.0082738088 0.0038925707 0.0071240574 + 5300 1.4452434 5.8842166 7.0193778 0.0081724166 7.3713067 62.244 62.244 62.244 0.0077715644 0.0068924374 0.0098532479 + 5400 1.4170243 5.887522 7.0005186 0.00086566653 7.0377968 62.244 62.244 62.244 -9.179779e-05 -0.0020237494 0.0047125468 + 5500 1.4209084 5.875892 6.9919394 0.009363414 7.3951563 62.244 62.244 62.244 0.0088769611 0.0087092372 0.010504044 + 5600 1.4132978 5.8798939 6.9899636 0.0014877902 7.0540323 62.244 62.244 62.244 -0.0023427699 0.0045593956 0.0022467449 + 5700 1.4065055 5.8875412 6.9922759 0.002808316 7.1132105 62.244 62.244 62.244 0.0025187553 0.00051088905 0.0053953037 + 5800 1.4079049 5.8940749 6.9999087 0.0015946903 7.0685809 62.244 62.244 62.244 0.0037830352 0.00021762631 0.00078340928 + 5900 1.4076048 5.8941588 6.9997569 0.0051902121 7.2232631 62.244 62.244 62.244 -0.00093181434 0.0096405899 0.0068618607 + 6000 1.4322812 5.8903503 7.0153305 0.00029722379 7.0281298 62.244 62.244 62.244 0.0019139164 -0.00073870179 -0.00028354325 +Loop time of 1.21399 on 1 procs for 1000 steps with 5600 atoms + +Performance: 355850.342 tau/day, 823.728 timesteps/s, 4.613 Matom-step/s +99.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.12141 | 0.12141 | 0.12141 | 0.0 | 10.00 +Bond | 0.038739 | 0.038739 | 0.038739 | 0.0 | 3.19 +Neigh | 0.39335 | 0.39335 | 0.39335 | 0.0 | 32.40 +Comm | 0.023806 | 0.023806 | 0.023806 | 0.0 | 1.96 +Output | 0.00074295 | 0.00074295 | 0.00074295 | 0.0 | 0.06 +Modify | 0.61212 | 0.61212 | 0.61212 | 0.0 | 50.42 +Other | | 0.02383 | | | 1.96 + +Nlocal: 5600 ave 5600 max 5600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1347 ave 1347 max 1347 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 5399 ave 5399 max 5399 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 5399 +Ave neighs/atom = 0.96410714 +Ave special neighs/atom = 0.57142857 +Neighbor list builds = 153 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/nvt molecule temp 1.4 1.4 1.0 + 800 rigid bodies with 4000 atoms +print "rigid/nvt" +rigid/nvt +run 1000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 8.018 | 8.018 | 8.018 Mbytes + Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 6000 1.4322812 5.8903503 7.0153305 0.012984296 7.5744734 62.244 62.244 62.244 0.058323772 0.007366828 -0.026737713 + 6100 1.4199781 5.8764024 6.9917192 0.0054080227 7.2246049 62.244 62.244 62.244 0.0092282159 0.0019631398 0.0050327123 + 6200 1.3976803 5.8924474 6.9902504 0.00044474719 7.0094026 62.244 62.244 62.244 -0.0022979183 -0.0004943354 0.0041264952 + 6300 1.4076912 5.8847607 6.9904268 0.0066261457 7.2757686 62.244 62.244 62.244 0.0057923777 0.0091772934 0.0049087658 + 6400 1.3749242 5.8816641 6.9615934 0.0075045379 7.2847615 62.244 62.244 62.244 0.012318395 0.003979389 0.0062158299 + 6500 1.3467602 5.888001 6.945809 -6.1011018e-05 6.9431817 62.244 62.244 62.244 0.0031945051 -0.0013048764 -0.0020726618 + 6600 1.3638321 5.8744775 6.9456945 0.005780579 7.1946237 62.244 62.244 62.244 0.0060765968 0.0058486743 0.0054164658 + 6700 1.3933343 5.8833797 6.9777691 0.0026007197 7.089764 62.244 62.244 62.244 0.0029828101 0.0019631585 0.0028561905 + 6800 1.4025439 5.901019 7.0026421 0.0033759718 7.1480216 62.244 62.244 62.244 0.0059683617 0.0016890885 0.002470465 + 6900 1.4165405 5.8901618 7.0027785 0.0048537306 7.2117948 62.244 62.244 62.244 0.0031937581 0.0089194691 0.0024479647 + 7000 1.4256345 5.8979889 7.0177485 0.0076603683 7.347627 62.244 62.244 62.244 0.0064499957 0.0096400261 0.0068910831 +Loop time of 1.16587 on 1 procs for 1000 steps with 5600 atoms + +Performance: 370540.281 tau/day, 857.732 timesteps/s, 4.803 Matom-step/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.11675 | 0.11675 | 0.11675 | 0.0 | 10.01 +Bond | 0.03628 | 0.03628 | 0.03628 | 0.0 | 3.11 +Neigh | 0.36879 | 0.36879 | 0.36879 | 0.0 | 31.63 +Comm | 0.022201 | 0.022201 | 0.022201 | 0.0 | 1.90 +Output | 0.00070791 | 0.00070791 | 0.00070791 | 0.0 | 0.06 +Modify | 0.59859 | 0.59859 | 0.59859 | 0.0 | 51.34 +Other | | 0.02255 | | | 1.93 + +Nlocal: 5600 ave 5600 max 5600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1284 ave 1284 max 1284 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 5691 ave 5691 max 5691 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 5691 +Ave neighs/atom = 1.01625 +Ave special neighs/atom = 0.57142857 +Neighbor list builds = 151 +Dangerous builds = 0 +unfix 1 + +compute myTemp all temp + +fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 iso 0.05 0.05 1.0 dilate all + 800 rigid bodies with 4000 atoms +print "rigid/npt iso" +rigid/npt iso +fix_modify 1 temp myTemp + +run 1000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 8.018 | 8.018 | 8.018 Mbytes + Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 7000 1.4256345 5.8979889 7.0177485 0.030670312 8.3385046 62.244 62.244 62.244 0.019152979 0.028037341 0.044820616 + 7100 1.4830481 5.8740667 7.0389215 0.021216954 7.7436467 57.083193 57.083193 57.083193 0.015785563 0.020078182 0.027787115 + 7200 1.5225973 5.8364439 7.0323626 0.015560962 7.3866118 50.329217 50.329217 50.329217 0.017379604 0.02205435 0.0072489313 + 7300 1.5589134 5.7874972 7.0119402 0.020613279 7.3515942 45.188285 45.188285 45.188285 0.019963793 0.02165546 0.020220585 + 7400 1.5629259 5.7523794 6.9799739 0.035363756 7.4299227 41.456971 41.456971 41.456971 0.030810521 0.041559103 0.033721646 + 7500 1.5735285 5.706087 6.9420093 0.033186427 7.2889675 38.830074 38.830074 38.830074 0.030605548 0.018770943 0.050182791 + 7600 1.5546074 5.6815832 6.902644 0.027297758 7.1446412 36.752801 36.752801 36.752801 0.027154479 0.030653039 0.024085757 + 7700 1.5396727 5.6293114 6.8386418 0.030528746 7.0744265 35.101973 35.101973 35.101973 0.022542269 0.025802901 0.043241069 + 7800 1.5249769 5.5826711 6.7804588 0.067321436 7.2458344 33.82824 33.82824 33.82824 0.063820368 0.072156874 0.065987065 + 7900 1.5017937 5.5660576 6.7456361 0.04770857 7.0497596 32.926623 32.926623 32.926623 0.035259576 0.06869573 0.039170404 + 8000 1.5105319 5.5459012 6.7323431 0.053301062 7.0487429 32.153588 32.153588 32.153588 0.076450314 0.07417732 0.0092755526 +Loop time of 2.49405 on 1 procs for 1000 steps with 5600 atoms + +Performance: 173212.568 tau/day, 400.955 timesteps/s, 2.245 Matom-step/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.29712 | 0.29712 | 0.29712 | 0.0 | 11.91 +Bond | 0.044611 | 0.044611 | 0.044611 | 0.0 | 1.79 +Neigh | 1.2735 | 1.2735 | 1.2735 | 0.0 | 51.06 +Comm | 0.048469 | 0.048469 | 0.048469 | 0.0 | 1.94 +Output | 0.0007418 | 0.0007418 | 0.0007418 | 0.0 | 0.03 +Modify | 0.7991 | 0.7991 | 0.7991 | 0.0 | 32.04 +Other | | 0.03048 | | | 1.22 + +Nlocal: 5600 ave 5600 max 5600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 2993 ave 2993 max 2993 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 25312 ave 25312 max 25312 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 25312 +Ave neighs/atom = 4.52 +Ave special neighs/atom = 0.57142857 +Neighbor list builds = 335 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 x 0.05 0.05 1.0 dilate all + 800 rigid bodies with 4000 atoms +print "rigid/npt x" +rigid/npt x +run 1000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 8.033 | 8.033 | 8.033 Mbytes + Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 8000 1.5105319 5.5459012 6.7323431 -0.15611622 5.8056235 32.153588 32.153588 32.153588 -0.25823552 0.036861264 -0.24697441 + 8100 1.4816536 5.5214096 6.6851691 0.051659716 6.9889314 31.85012 32.153588 32.153588 0.042525917 0.079045459 0.033407772 + 8200 1.4364335 5.5026881 6.6309297 0.030961663 6.8100555 31.337401 32.153588 32.153588 0.062969827 0.0077436471 0.022171514 + 8300 1.4159126 5.504273 6.6163965 0.050231597 6.9027629 30.879771 32.153588 32.153588 0.047512875 0.071477224 0.031704693 + 8400 1.4479331 5.4732237 6.6104975 0.037171033 6.8195306 30.460678 32.153588 32.153588 0.016306171 0.072770628 0.022436301 + 8500 1.4126922 5.4616331 6.5712271 0.069137703 6.9521816 29.846079 32.153588 32.153588 0.075972518 0.063305384 0.068135208 + 8600 1.4129562 5.4397649 6.5495663 0.068287674 6.9190398 29.306917 32.153588 32.153588 0.077820831 0.076960087 0.050082105 + 8700 1.4199417 5.408767 6.5240551 0.046952367 6.7741118 28.847632 32.153588 32.153588 0.078496327 0.013710756 0.048650018 + 8800 1.415092 5.4082456 6.5197246 0.017068201 6.6091852 28.39051 32.153588 32.153588 0.01803734 0.0086202553 0.024547008 + 8900 1.4080943 5.3806524 6.486635 0.006282149 6.5189723 27.882074 32.153588 32.153588 0.023331732 0.01130818 -0.015793465 + 9000 1.4188356 5.3687142 6.4831335 0.078333785 6.8770321 27.237322 32.153588 32.153588 0.092873218 0.033643462 0.10848468 +Loop time of 2.35076 on 1 procs for 1000 steps with 5600 atoms + +Performance: 183770.370 tau/day, 425.394 timesteps/s, 2.382 Matom-step/s +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.45082 | 0.45082 | 0.45082 | 0.0 | 19.18 +Bond | 0.045157 | 0.045157 | 0.045157 | 0.0 | 1.92 +Neigh | 0.98655 | 0.98655 | 0.98655 | 0.0 | 41.97 +Comm | 0.039968 | 0.039968 | 0.039968 | 0.0 | 1.70 +Output | 0.00072296 | 0.00072296 | 0.00072296 | 0.0 | 0.03 +Modify | 0.80394 | 0.80394 | 0.80394 | 0.0 | 34.20 +Other | | 0.0236 | | | 1.00 + +Nlocal: 5600 ave 5600 max 5600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 3422 ave 3422 max 3422 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 31084 ave 31084 max 31084 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 31084 +Ave neighs/atom = 5.5507143 +Ave special neighs/atom = 0.57142857 +Neighbor list builds = 167 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/nph molecule iso 0.05 0.05 1.0 dilate all + 800 rigid bodies with 4000 atoms +print "rigid/nph iso" +rigid/nph iso +run 1000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 8.036 | 8.036 | 8.036 Mbytes + Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 9000 1.4188356 5.3687142 6.4831335 0.066940268 6.8197402 27.237322 32.153588 32.153588 0.020750172 0.14461869 0.035451941 + 9100 1.418441 5.3523211 6.4664305 0.016522511 6.5489637 27.17712 32.08252 32.08252 0.01137531 0.0028933886 0.035298833 + 9200 1.4433401 5.3458252 6.4794915 0.038961106 6.6708176 27.023003 31.900585 31.900585 0.012667867 0.094480325 0.0097351253 + 9300 1.4806575 5.309105 6.4720822 0.11806636 7.0379478 26.804952 31.643176 31.643176 0.063001935 0.11667303 0.17452413 + 9400 1.4835179 5.3103383 6.4755622 0.098990545 6.9362503 26.543432 31.334452 31.334452 0.13023767 0.084360197 0.08237377 + 9500 1.4855723 5.2906327 6.4574702 -0.0012789282 6.4516456 26.352845 31.109465 31.109465 0.053813822 -0.016098782 -0.041551825 + 9600 1.4959395 5.2553176 6.4302979 0.036958035 6.5952607 26.176506 30.901298 30.901298 0.077457004 -0.035314705 0.068731807 + 9700 1.4470266 5.289874 6.4264359 0.065648447 6.7177609 26.125849 30.841497 30.841497 0.064764383 0.041383889 0.090797069 + 9800 1.4525327 5.2808561 6.4217428 0.0076421133 6.4554682 26.077575 30.78451 30.78451 -0.01978363 0.013568065 0.029141905 + 9900 1.4603761 5.269343 6.4163902 0.079488558 6.7651749 26.027767 30.725712 30.725712 0.06210239 0.062690336 0.11367295 + 10000 1.4437445 5.2626116 6.3965955 0.0024175103 6.4072252 26.045744 30.746933 30.746933 0.0020903338 0.023283622 -0.018121425 +Loop time of 2.42718 on 1 procs for 1000 steps with 5600 atoms + +Performance: 177984.690 tau/day, 412.002 timesteps/s, 2.307 Matom-step/s +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.52411 | 0.52411 | 0.52411 | 0.0 | 21.59 +Bond | 0.04594 | 0.04594 | 0.04594 | 0.0 | 1.89 +Neigh | 1.0079 | 1.0079 | 1.0079 | 0.0 | 41.53 +Comm | 0.040182 | 0.040182 | 0.040182 | 0.0 | 1.66 +Output | 0.00070663 | 0.00070663 | 0.00070663 | 0.0 | 0.03 +Modify | 0.78582 | 0.78582 | 0.78582 | 0.0 | 32.38 +Other | | 0.02253 | | | 0.93 + +Nlocal: 5600 ave 5600 max 5600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 3638 ave 3638 max 3638 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 35778 ave 35778 max 35778 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 35778 +Ave neighs/atom = 6.3889286 +Ave special neighs/atom = 0.57142857 +Neighbor list builds = 161 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/nph molecule x 0.05 0.05 1.0 y 0.05 0.05 1.0 couple xy dilate all + 800 rigid bodies with 4000 atoms +print "rigid/nph xy couple" +rigid/nph xy couple +run 1000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 8.041 | 8.041 | 8.041 Mbytes + Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 10000 1.4437445 5.2626116 6.3965955 0.043852305 6.5894123 26.045744 30.746933 30.746933 -0.10594451 -0.016019605 0.25352103 + 10100 1.4544517 5.2536075 6.3960014 0.040252547 6.5723133 25.995896 30.688087 30.746933 0.036481947 0.058195014 0.026080679 + 10200 1.4465796 5.2533056 6.3895164 0.043103918 6.5797343 26.093233 30.802994 30.746933 0.047509548 0.023387048 0.058415158 + 10300 1.4703558 5.2311222 6.3860079 0.02952279 6.5179005 26.253791 30.992532 30.746933 0.067825843 -1.1742127e-05 0.020754268 + 10400 1.4264151 5.2426153 6.362988 0.043320767 6.5561801 26.230542 30.965087 30.746933 0.036437179 0.069318063 0.02420706 + 10500 1.4718495 5.213542 6.3696009 0.028876649 6.4965877 26.047535 30.749047 30.746933 0.044470994 0.03304953 0.0091094235 + 10600 1.4550996 5.2087392 6.3516419 0.049130073 6.5647387 25.868744 30.537985 30.746933 0.056613289 0.028555571 0.062221359 + 10700 1.4755834 5.1912236 6.3502153 0.0027128909 6.3617831 25.648895 30.278455 30.746933 0.035708882 0.02165412 -0.04922433 + 10800 1.4801906 5.1863989 6.3490092 0.030220134 6.4763468 25.497097 30.099256 30.746933 0.035963119 0.021549561 0.033147721 + 10900 1.4318851 5.1785312 6.3032002 0.095502071 6.7019424 25.380506 29.961622 30.746933 0.1040397 0.10708089 0.075385625 + 11000 1.4500789 5.1660716 6.3050309 0.072030914 6.6026703 25.249123 29.806525 30.746933 0.073199983 0.0091150749 0.13377768 +Loop time of 2.55647 on 1 procs for 1000 steps with 5600 atoms + +Performance: 168982.932 tau/day, 391.164 timesteps/s, 2.191 Matom-step/s +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.5683 | 0.5683 | 0.5683 | 0.0 | 22.23 +Bond | 0.044877 | 0.044877 | 0.044877 | 0.0 | 1.76 +Neigh | 1.0732 | 1.0732 | 1.0732 | 0.0 | 41.98 +Comm | 0.041328 | 0.041328 | 0.041328 | 0.0 | 1.62 +Output | 0.00078717 | 0.00078717 | 0.00078717 | 0.0 | 0.03 +Modify | 0.80433 | 0.80433 | 0.80433 | 0.0 | 31.46 +Other | | 0.02363 | | | 0.92 + +Nlocal: 5600 ave 5600 max 5600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 3699 ave 3699 max 3699 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 39523 ave 39523 max 39523 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 39523 +Ave neighs/atom = 7.0576786 +Ave special neighs/atom = 0.57142857 +Neighbor list builds = 163 +Dangerous builds = 0 + +Total wall time: 0:00:17 diff --git a/examples/rigid/log.25Mar24.rigid.tnr.g++.4 b/examples/rigid/log.25Mar24.rigid.tnr.g++.4 new file mode 100644 index 0000000000..6d98088472 --- /dev/null +++ b/examples/rigid/log.25Mar24.rigid.tnr.g++.4 @@ -0,0 +1,475 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) + using 1 OpenMP thread(s) per MPI task +# Tethered nanorods + +atom_style molecular + +read_data data.rigid.tnr +Reading data file ... + orthogonal box = (-31.122 -31.122 -31.122) to (31.122 31.122 31.122) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 5600 atoms + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 1600 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.001 seconds + read_data CPU = 0.017 seconds + +# Specify bond parameters + +bond_style fene +bond_coeff 1 30.0 1.5 1.0 1.0 + +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + +# Specify initial velocities + +velocity all create 1.4 109345 + +# Specify rigid components + +group rods type 2 +4000 atoms in group rods +group tethers subtract all rods +1600 atoms in group tethers + +neigh_modify exclude molecule/intra rods delay 0 every 1 + +# Specify the pair potentials + +pair_style lj/cut 2.5 +pair_modify shift yes +pair_coeff * * 1.0 1.0 1.122 +pair_coeff 2 2 1.0 1.0 2.5 + +# Specify output + +thermo 100 +thermo_style custom step temp pe etotal press enthalpy lx ly lz pxx pyy pzz +thermo_modify flush yes lost warn + +timestep 0.005 + +fix 1 rods rigid molecule + 800 rigid bodies with 4000 atoms +fix 2 tethers nve +fix 3 all langevin 1.4 1.4 1.0 437624 + +run 5000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 45 45 45 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 7.552 | 7.555 | 7.559 Mbytes + Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 0 1.3963219 5.9478449 7.0445809 0.048565317 9.13595 62.244 62.244 62.244 0.0091983659 0.11850113 0.017996458 + 100 1.3999025 5.9707695 7.0703179 0.027293074 8.24564 62.244 62.244 62.244 0.017246307 0.04732529 0.017307624 + 200 1.4245544 5.9878446 7.1067558 0.0072016369 7.41688 62.244 62.244 62.244 0.0071370801 0.0084066589 0.0060611719 + 300 1.4212057 5.9942604 7.1105414 0.0023296933 7.210865 62.244 62.244 62.244 -0.0059197015 0.0040269953 0.008881786 + 400 1.4030116 5.9953214 7.0973119 0.0055751834 7.3373961 62.244 62.244 62.244 -0.0026920847 0.013323321 0.0060943141 + 500 1.4201338 5.9984777 7.1139168 -0.0018229523 7.035415 62.244 62.244 62.244 -0.0082217102 -0.00047319975 0.0032260529 + 600 1.425173 5.9902537 7.1096508 0.013367744 7.6853062 62.244 62.244 62.244 0.012971415 0.016298595 0.010833222 + 700 1.4181225 5.9840752 7.0979345 0.0014999758 7.1625279 62.244 62.244 62.244 -0.0015835387 0.0045967753 0.0014866907 + 800 1.4084205 5.9778462 7.084085 0.0063728488 7.3585191 62.244 62.244 62.244 0.0036202744 0.005593586 0.0099046859 + 900 1.3958301 5.9891019 7.0854517 0.0028974454 7.2102244 62.244 62.244 62.244 0.0087724642 0.0014508428 -0.001530971 + 1000 1.3937374 5.9794855 7.0741916 0.0087158481 7.4495223 62.244 62.244 62.244 0.014424783 0.0034958881 0.0082268735 + 1100 1.3729162 5.9916252 7.0699773 0.0030451966 7.2011127 62.244 62.244 62.244 0.00084635444 -0.00064448421 0.0089337195 + 1200 1.4427374 5.9713589 7.1045519 0.0042680608 7.2883474 62.244 62.244 62.244 0.0030884628 0.0031576538 0.0065580658 + 1300 1.3971469 5.9728674 7.0702514 0.0022809251 7.168475 62.244 62.244 62.244 0.00060902513 -0.00020572386 0.006439474 + 1400 1.4194118 5.9672631 7.082135 0.012945844 7.6396221 62.244 62.244 62.244 0.0082418827 0.016256336 0.014339314 + 1500 1.3866472 5.9728382 7.0619753 0.0010642438 7.1078049 62.244 62.244 62.244 0.0020316123 0.0020439035 -0.00088278432 + 1600 1.4184955 5.9539591 7.0681113 0.0077605409 7.4023036 62.244 62.244 62.244 0.0033721722 0.0057827512 0.014126699 + 1700 1.3612202 5.9676733 7.0368389 0.00016862131 7.0441002 62.244 62.244 62.244 0.0052525345 0.0007705269 -0.0055171975 + 1800 1.3641041 5.9521837 7.0236144 0.0057884587 7.2728829 62.244 62.244 62.244 0.0038061044 0.0044032908 0.009155981 + 1900 1.3594477 5.9646024 7.0323757 0.0044261926 7.2229809 62.244 62.244 62.244 0.0019417448 0.006871542 0.004465291 + 2000 1.3776971 5.9431816 7.0252888 -0.0012460593 6.9716298 62.244 62.244 62.244 -0.0010913822 0.00098119436 -0.0036279901 + 2100 1.3986245 5.9509735 7.0495181 0.007520633 7.3733792 62.244 62.244 62.244 0.008359824 0.0075919773 0.0066100978 + 2200 1.4033594 5.9548158 7.0570794 0.0016804284 7.1294438 62.244 62.244 62.244 -0.001842641 0.0032876741 0.0035962521 + 2300 1.4048926 5.9444129 7.0478808 0.0062444034 7.3167836 62.244 62.244 62.244 0.004383569 0.0065720464 0.007777595 + 2400 1.4044043 5.9370822 7.0401666 0.0034562836 7.1890046 62.244 62.244 62.244 0.0068959298 0.0041111713 -0.00063825026 + 2500 1.4200762 5.9359254 7.0513193 0.0028319649 7.1732722 62.244 62.244 62.244 -0.00030414204 0.0039571831 0.0048428538 + 2600 1.3876469 5.9249124 7.0148347 -0.0017777225 6.9382806 62.244 62.244 62.244 -0.00047616393 -0.0025484918 -0.0023085117 + 2700 1.4099941 5.916763 7.0242378 0.0070716262 7.3287634 62.244 62.244 62.244 0.012628756 0.0053812866 0.0032048359 + 2800 1.4444643 5.9283432 7.0628925 0.0019400023 7.1464349 62.244 62.244 62.244 0.0014895078 0.0046367397 -0.00030624049 + 2900 1.3902832 5.9152516 7.0072446 -0.002166221 6.9139606 62.244 62.244 62.244 -0.0012374412 -0.00056403268 -0.0046971891 + 3000 1.3711706 5.922146 6.9991271 0.011101505 7.4771914 62.244 62.244 62.244 0.011063833 0.012093025 0.010147657 + 3100 1.3569137 5.9171753 6.9829583 -0.0028266769 6.8612331 62.244 62.244 62.244 -0.0069507251 0.0010084401 -0.0025377458 + 3200 1.4004275 5.905939 7.0058998 0.0054394667 7.2401397 62.244 62.244 62.244 0.010352184 0.0057594139 0.00020680257 + 3300 1.3641217 5.9145275 6.985972 -0.0027212813 6.8687854 62.244 62.244 62.244 -0.00065933696 -0.005771301 -0.001733206 + 3400 1.3868722 5.9059546 6.9952684 0.0092591263 7.3939943 62.244 62.244 62.244 0.010690877 0.01075252 0.0063339817 + 3500 1.3939169 5.8992292 6.9940762 0.0074340014 7.3142068 62.244 62.244 62.244 0.010137307 0.0044252538 0.0077394438 + 3600 1.3982507 5.9219461 7.0201971 0.0056794512 7.2647714 62.244 62.244 62.244 0.0023367131 0.0080592141 0.0066424266 + 3700 1.4019908 5.9059957 7.0071844 0.0065915518 7.2910365 62.244 62.244 62.244 0.0049554052 0.010827013 0.0039922376 + 3800 1.3960736 5.902079 6.9986201 0.0027763672 7.1181788 62.244 62.244 62.244 -0.0015907142 0.0025862031 0.0073336126 + 3900 1.4352825 5.8986216 7.0259591 0.003498295 7.1766062 62.244 62.244 62.244 0.0030417173 0.0027739456 0.0046792221 + 4000 1.4121845 5.9079028 7.0170981 0.0050462581 7.2344052 62.244 62.244 62.244 0.0045543085 0.0064113637 0.0041731022 + 4100 1.3989579 5.9082397 7.0070461 0.00042870391 7.0255074 62.244 62.244 62.244 0.0025733986 0.0025181076 -0.0038053944 + 4200 1.399883 5.8998147 6.9993477 0.0042777423 7.1835602 62.244 62.244 62.244 0.0013744675 0.0064699404 0.0049888191 + 4300 1.4076025 5.9044509 7.0100472 0.0066788698 7.2976595 62.244 62.244 62.244 0.007361029 0.0048139331 0.0078616474 + 4400 1.4161078 5.9064334 7.0187102 -0.0011844913 6.9677025 62.244 62.244 62.244 -0.001908963 -0.0037556847 0.0021111739 + 4500 1.429225 5.8980089 7.0205885 0.0018498822 7.10025 62.244 62.244 62.244 0.0041143046 0.0010156504 0.00041969169 + 4600 1.3958783 5.894313 6.9907006 0.0041483111 7.1693394 62.244 62.244 62.244 0.0033996217 0.0041616835 0.004883628 + 4700 1.3856609 5.8886843 6.9770467 0.0013148711 7.033669 62.244 62.244 62.244 -0.00051706505 0.0030872136 0.0013744648 + 4800 1.4016792 5.902351 7.0032949 0.0025050908 7.1111717 62.244 62.244 62.244 0.0016540384 -0.00018095286 0.0060421869 + 4900 1.4466248 5.9050606 7.0413069 -0.0026620212 6.9266722 62.244 62.244 62.244 -0.00069094879 -0.0073956145 0.00010049979 + 5000 1.4387209 5.9077482 7.0377864 0.0049404333 7.2505363 62.244 62.244 62.244 0.0042769255 0.0046681652 0.0058762093 +Loop time of 2.72962 on 4 procs for 5000 steps with 5600 atoms + +Performance: 791319.942 tau/day, 1831.759 timesteps/s, 10.258 Matom-step/s +99.3% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.06605 | 0.10369 | 0.14557 | 11.7 | 3.80 +Bond | 0.03005 | 0.045571 | 0.06035 | 6.5 | 1.67 +Neigh | 0.61326 | 0.61489 | 0.61678 | 0.2 | 22.53 +Comm | 0.14416 | 0.19908 | 0.25001 | 11.1 | 7.29 +Output | 0.0017405 | 0.0025188 | 0.0028143 | 0.9 | 0.09 +Modify | 1.522 | 1.6149 | 1.699 | 6.3 | 59.16 +Other | | 0.1489 | | | 5.46 + +Nlocal: 1400 ave 1868 max 905 min +Histogram: 1 1 0 0 0 0 0 0 0 2 +Nghost: 648.25 ave 688 max 598 min +Histogram: 1 0 0 1 0 0 0 0 1 1 +Neighs: 1202.5 ave 1821 max 698 min +Histogram: 2 0 0 0 0 0 0 1 0 1 + +Total # of neighbors = 4810 +Ave neighs/atom = 0.85892857 +Ave special neighs/atom = 0.57142857 +Neighbor list builds = 759 +Dangerous builds = 0 + +# Replace fix rigid and fix langevin with new ones + +unfix 1 +unfix 3 + +fix 3 tethers langevin 1.4 1.4 1.0 198450 + +# Test different integrators for rods + +fix 1 rods rigid/nve molecule + 800 rigid bodies with 4000 atoms +print "rigid/nve" +rigid/nve +run 1000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 7.557 | 7.566 | 7.574 Mbytes + Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 5000 1.4387209 5.9077482 7.0377864 0.0036839327 7.1964276 62.244 62.244 62.244 0.025677952 -0.016670649 0.002044495 + 5100 1.4449629 5.8876265 7.0225675 0.0023125815 7.1221542 62.244 62.244 62.244 0.0045991271 0.0036872425 -0.0013486251 + 5200 1.4271279 5.9160281 7.0369606 0.0020315691 7.1244461 62.244 62.244 62.244 -0.0022476411 0.0039290288 0.0044133197 + 5300 1.4143266 5.9052803 7.0161581 0.0064093985 7.2921661 62.244 62.244 62.244 0.0090986577 0.0026397649 0.0074897729 + 5400 1.4426551 5.9087477 7.041876 0.0020419183 7.1298072 62.244 62.244 62.244 0.0043078454 1.5623413e-05 0.001802286 + 5500 1.4280605 5.9038941 7.0255591 0.00057730336 7.0504195 62.244 62.244 62.244 0.0058938228 0.00065558729 -0.0048175 + 5600 1.4315004 5.902394 7.0267609 0.0096531882 7.4424563 62.244 62.244 62.244 0.0054225258 0.011780272 0.011756766 + 5700 1.4074659 5.9076093 7.0130984 0.0052032455 7.2371658 62.244 62.244 62.244 0.0029612305 0.003678953 0.008969553 + 5800 1.4216898 5.9047983 7.0214595 0.0015109698 7.0865264 62.244 62.244 62.244 -6.4662019e-05 0.0023994389 0.0021981326 + 5900 1.4052133 5.8920187 6.9957385 0.0065755622 7.278902 62.244 62.244 62.244 0.0062703932 0.011367786 0.002088507 + 6000 1.3958734 5.9025061 6.9988899 0.0071783223 7.3080101 62.244 62.244 62.244 0.0088905564 0.0025533521 0.010091058 +Loop time of 0.646284 on 4 procs for 1000 steps with 5600 atoms + +Performance: 668436.315 tau/day, 1547.306 timesteps/s, 8.665 Matom-step/s +99.1% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.01802 | 0.028926 | 0.041262 | 6.4 | 4.48 +Bond | 0.0066363 | 0.0098826 | 0.012811 | 2.9 | 1.53 +Neigh | 0.14233 | 0.14273 | 0.14311 | 0.1 | 22.08 +Comm | 0.029365 | 0.044453 | 0.057955 | 6.3 | 6.88 +Output | 0.00034317 | 0.00049475 | 0.00055796 | 0.0 | 0.08 +Modify | 0.35817 | 0.37856 | 0.40064 | 2.8 | 58.57 +Other | | 0.04124 | | | 6.38 + +Nlocal: 1400 ave 1850 max 932 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 642.25 ave 730 max 550 min +Histogram: 1 0 0 1 0 0 0 1 0 1 +Neighs: 1267.25 ave 1805 max 729 min +Histogram: 1 1 0 0 0 0 0 0 1 1 + +Total # of neighbors = 5069 +Ave neighs/atom = 0.90517857 +Ave special neighs/atom = 0.57142857 +Neighbor list builds = 154 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/nvt molecule temp 1.4 1.4 1.0 + 800 rigid bodies with 4000 atoms +print "rigid/nvt" +rigid/nvt +run 1000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 7.557 | 7.566 | 7.574 Mbytes + Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 6000 1.3958734 5.9025061 6.9988899 0.0021028569 7.0894453 62.244 62.244 62.244 0.013626393 0.019990521 -0.027308344 + 6100 1.403297 5.9008111 7.0030257 0.0034667159 7.152313 62.244 62.244 62.244 0.00094173119 0.0074633638 0.0019950526 + 6200 1.4025256 5.8966477 6.9982564 -0.00020483779 6.9894355 62.244 62.244 62.244 -0.0064238043 0.0010245391 0.0047847518 + 6300 1.4394011 5.9052004 7.0357728 0.0054604133 7.2709147 62.244 62.244 62.244 0.0096132747 0.002164465 0.0046035003 + 6400 1.408769 5.8824709 6.9889834 0.005608612 7.2305072 62.244 62.244 62.244 0.0042736813 0.0053311794 0.0072209755 + 6500 1.3956548 5.8831208 6.9793329 0.0085962528 7.3495135 62.244 62.244 62.244 0.0082055979 0.011231962 0.0063511989 + 6600 1.3758562 5.8829365 6.9635978 0.0065047826 7.2437134 62.244 62.244 62.244 0.005468046 0.0069917695 0.0070545323 + 6700 1.3804704 5.8923062 6.9765917 0.0057976076 7.2262542 62.244 62.244 62.244 0.0052851407 0.011935403 0.00017227886 + 6800 1.396967 5.8774293 6.974672 0.0018361999 7.0537443 62.244 62.244 62.244 1.5181397e-05 0.0031700121 0.0023234062 + 6900 1.3966118 5.8872183 6.9841821 0.0029553371 7.1114478 62.244 62.244 62.244 -0.0022750426 0.0055197498 0.005621304 + 7000 1.3992657 5.8918087 6.990857 0.0033614376 7.1356106 62.244 62.244 62.244 0.0019626838 -0.0019054573 0.010027086 +Loop time of 0.627583 on 4 procs for 1000 steps with 5600 atoms + +Performance: 688355.013 tau/day, 1593.414 timesteps/s, 8.923 Matom-step/s +99.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.017522 | 0.028358 | 0.041297 | 6.2 | 4.52 +Bond | 0.0060681 | 0.0092563 | 0.012417 | 2.9 | 1.47 +Neigh | 0.13625 | 0.13667 | 0.13709 | 0.1 | 21.78 +Comm | 0.027966 | 0.043787 | 0.057522 | 6.2 | 6.98 +Output | 0.00035478 | 0.00049121 | 0.00055892 | 0.0 | 0.08 +Modify | 0.35811 | 0.37631 | 0.39333 | 2.6 | 59.96 +Other | | 0.03272 | | | 5.21 + +Nlocal: 1400 ave 1883 max 958 min +Histogram: 2 0 0 0 0 0 0 0 1 1 +Nghost: 665 ave 803 max 565 min +Histogram: 1 1 0 0 0 1 0 0 0 1 +Neighs: 1272.25 ave 1895 max 762 min +Histogram: 2 0 0 0 0 0 0 1 0 1 + +Total # of neighbors = 5089 +Ave neighs/atom = 0.90875 +Ave special neighs/atom = 0.57142857 +Neighbor list builds = 150 +Dangerous builds = 0 +unfix 1 + +compute myTemp all temp + +fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 iso 0.05 0.05 1.0 dilate all + 800 rigid bodies with 4000 atoms +print "rigid/npt iso" +rigid/npt iso +fix_modify 1 temp myTemp + +run 1000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 7.557 | 7.566 | 7.574 Mbytes + Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 7000 1.3992657 5.8918087 6.990857 0.016459779 7.6996647 62.244 62.244 62.244 0.056781831 -0.019577361 0.012174866 + 7100 1.5086944 5.8706667 7.0556653 0.011656301 7.4412826 57.006966 57.006966 57.006966 0.015012728 0.015151838 0.0048043378 + 7200 1.5444857 5.8347072 7.047818 0.025893976 7.6357076 50.283831 50.283831 50.283831 0.021166084 0.027070838 0.029445006 + 7300 1.5460527 5.7950177 7.0093593 0.02162991 7.3688559 45.318555 45.318555 45.318555 0.014747735 0.037527921 0.012614075 + 7400 1.5613693 5.7516603 6.9780323 0.034798817 7.4279201 41.678228 41.678228 41.678228 0.041296806 0.025288632 0.037811012 + 7500 1.5582169 5.7359749 6.9598708 0.029878761 7.2757008 38.972622 38.972622 38.972622 0.031657651 0.020061922 0.037916711 + 7600 1.5578367 5.6988812 6.9224785 0.045695884 7.3351888 36.981577 36.981577 36.981577 0.040243029 0.039644927 0.057199697 + 7700 1.5148812 5.6528692 6.8427272 0.022439627 7.0209705 35.43196 35.43196 35.43196 0.010631952 0.017769669 0.03891726 + 7800 1.529109 5.6051059 6.8061392 0.054079172 7.1911354 34.161596 34.161596 34.161596 0.034939239 0.071325426 0.05597285 + 7900 1.5182819 5.5708546 6.7633838 0.066345571 7.1933547 33.108416 33.108416 33.108416 0.060359678 0.07068182 0.067995216 + 8000 1.4677372 5.5540248 6.7068537 0.033729921 6.90804 32.205032 32.205032 32.205032 0.049412183 0.016101823 0.035675755 +Loop time of 1.1282 on 4 procs for 1000 steps with 5600 atoms + +Performance: 382910.795 tau/day, 886.368 timesteps/s, 4.964 Matom-step/s +99.3% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.047245 | 0.075421 | 0.11065 | 10.1 | 6.69 +Bond | 0.0077964 | 0.011056 | 0.014794 | 2.9 | 0.98 +Neigh | 0.47306 | 0.4737 | 0.47434 | 0.1 | 41.99 +Comm | 0.047565 | 0.086613 | 0.11788 | 10.3 | 7.68 +Output | 0.00031206 | 0.00038703 | 0.00060877 | 0.0 | 0.03 +Modify | 0.43174 | 0.44726 | 0.46676 | 2.3 | 39.64 +Other | | 0.03376 | | | 2.99 + +Nlocal: 1400 ave 1845 max 1051 min +Histogram: 2 0 0 0 0 0 0 1 0 1 +Nghost: 1558.25 ave 1732 max 1431 min +Histogram: 1 0 1 0 1 0 0 0 0 1 +Neighs: 6210.75 ave 9543 max 3698 min +Histogram: 2 0 0 0 0 0 0 1 0 1 + +Total # of neighbors = 24843 +Ave neighs/atom = 4.43625 +Ave special neighs/atom = 0.57142857 +Neighbor list builds = 335 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 x 0.05 0.05 1.0 dilate all + 800 rigid bodies with 4000 atoms +print "rigid/npt x" +rigid/npt x +run 1000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 7.567 | 7.579 | 7.596 Mbytes + Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 8000 1.4677372 5.5540248 6.7068537 -0.017850632 6.6003814 32.205032 32.205032 32.205032 -0.10278017 -0.1824093 0.23163757 + 8100 1.4540331 5.5388671 6.6809322 0.022562574 6.8139144 31.823315 32.205032 32.205032 0.028408548 0.028883436 0.010395737 + 8200 1.4702497 5.4971666 6.6519689 0.031541665 6.8340274 31.164985 32.205032 32.205032 0.05198967 0.017790558 0.024844767 + 8300 1.4895576 5.4752966 6.6452643 0.049612462 6.9245663 30.396516 32.205032 32.205032 0.050583662 0.041684528 0.056569197 + 8400 1.4546023 5.4627064 6.6052185 0.014637455 6.6862795 29.901065 32.205032 32.205032 0.022874978 -0.0061332581 0.027170646 + 8500 1.4485789 5.4330137 6.5707949 0.06887386 6.9450276 29.337823 32.205032 32.205032 0.082103679 0.041682043 0.082835857 + 8600 1.4443937 5.4261726 6.5606664 0.02551672 6.6959898 28.63444 32.205032 32.205032 0.028149026 0.066325162 -0.017924027 + 8700 1.4329121 5.409813 6.5352887 0.028828984 6.6848753 28.015854 32.205032 32.205032 0.015384578 0.050827744 0.02027463 + 8800 1.4015747 5.4009279 6.5017898 0.046423411 6.7374794 27.41221 32.205032 32.205032 0.099149897 0.019633915 0.020486421 + 8900 1.411353 5.3728016 6.4813438 0.046095308 6.711069 26.908695 32.205032 32.205032 0.04716092 0.029778906 0.061346098 + 9000 1.3987178 5.3528351 6.451453 0.029891295 6.5977498 26.425959 32.205032 32.205032 0.033096258 0.039059663 0.017517965 +Loop time of 1.05732 on 4 procs for 1000 steps with 5600 atoms + +Performance: 408581.873 tau/day, 945.791 timesteps/s, 5.296 Matom-step/s +99.3% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.084017 | 0.12178 | 0.1674 | 10.7 | 11.52 +Bond | 0.0087866 | 0.011339 | 0.014172 | 2.1 | 1.07 +Neigh | 0.35177 | 0.35194 | 0.35221 | 0.0 | 33.29 +Comm | 0.046529 | 0.094466 | 0.13331 | 12.7 | 8.93 +Output | 0.00031081 | 0.00038714 | 0.00061511 | 0.0 | 0.04 +Modify | 0.43779 | 0.45007 | 0.46334 | 1.8 | 42.57 +Other | | 0.02734 | | | 2.59 + +Nlocal: 1400 ave 1718 max 1133 min +Histogram: 2 0 0 0 0 0 0 0 1 1 +Nghost: 1700.75 ave 1793 max 1533 min +Histogram: 1 0 0 0 0 0 1 0 0 2 +Neighs: 7936.75 ave 10967 max 5250 min +Histogram: 2 0 0 0 0 0 0 0 1 1 + +Total # of neighbors = 31747 +Ave neighs/atom = 5.6691071 +Ave special neighs/atom = 0.57142857 +Neighbor list builds = 169 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/nph molecule iso 0.05 0.05 1.0 dilate all + 800 rigid bodies with 4000 atoms +print "rigid/nph iso" +rigid/nph iso +run 1000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 7.568 | 7.58 | 7.597 Mbytes + Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 9000 1.3987178 5.3528351 6.451453 0.26585248 7.7526137 26.425959 32.205032 32.205032 0.02018168 0.47782722 0.29954855 + 9100 1.4351747 5.3304458 6.4576986 0.051746697 6.707501 26.305023 32.057649 32.057649 0.073064096 0.037508173 0.044667823 + 9200 1.442609 5.3185643 6.4516564 0.026933669 6.5768423 25.974904 31.655336 31.655336 0.0097800385 0.035425194 0.035595776 + 9300 1.4528107 5.2812305 6.4223354 0.074634951 6.7601945 25.747306 31.377965 31.377965 0.12937272 0.031196451 0.063335685 + 9400 1.4778194 5.2625966 6.4233445 0.0179548 6.5034822 25.626311 31.23051 31.23051 0.042627054 -0.047901197 0.059138542 + 9500 1.4406019 5.2661826 6.3976982 0.048963663 6.6143417 25.551982 31.139926 31.139926 0.097226703 -0.0051171725 0.054781458 + 9600 1.4463517 5.2420508 6.3780826 0.033338493 6.5253103 25.535743 31.120136 31.120136 0.013953126 0.066958907 0.019103444 + 9700 1.4040075 5.264089 6.3668617 0.075486855 6.6986983 25.496763 31.072631 31.072631 0.051974464 0.097239496 0.077246606 + 9800 1.4369291 5.25259 6.3812208 0.062882837 6.6532231 25.359898 30.905835 30.905835 0.088614069 0.087884794 0.012149647 + 9900 1.4426697 5.2270989 6.3602387 0.070910381 6.6603048 25.175015 30.68052 30.68052 0.081294501 0.056618911 0.07481773 + 10000 1.4714476 5.2051468 6.3608901 0.038441228 6.5234989 25.171919 30.676748 30.676748 0.021691591 0.0086967032 0.084935388 +Loop time of 1.07529 on 4 procs for 1000 steps with 5600 atoms + +Performance: 401751.573 tau/day, 929.980 timesteps/s, 5.208 Matom-step/s +99.4% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.10178 | 0.14349 | 0.18701 | 10.0 | 13.34 +Bond | 0.0094369 | 0.011359 | 0.01342 | 1.5 | 1.06 +Neigh | 0.35737 | 0.35764 | 0.35787 | 0.0 | 33.26 +Comm | 0.048562 | 0.093503 | 0.13651 | 12.7 | 8.70 +Output | 0.00029714 | 0.00035903 | 0.0005404 | 0.0 | 0.03 +Modify | 0.43477 | 0.44365 | 0.45263 | 1.3 | 41.26 +Other | | 0.0253 | | | 2.35 + +Nlocal: 1400 ave 1650 max 1148 min +Histogram: 1 0 1 0 0 0 0 1 0 1 +Nghost: 1770.5 ave 1864 max 1640 min +Histogram: 1 0 0 0 0 1 0 0 1 1 +Neighs: 9370.75 ave 12213 max 6410 min +Histogram: 1 1 0 0 0 0 0 0 0 2 + +Total # of neighbors = 37483 +Ave neighs/atom = 6.6933929 +Ave special neighs/atom = 0.57142857 +Neighbor list builds = 162 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/nph molecule x 0.05 0.05 1.0 y 0.05 0.05 1.0 couple xy dilate all + 800 rigid bodies with 4000 atoms +print "rigid/nph xy couple" +rigid/nph xy couple +run 1000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 7.569 | 7.58 | 7.597 Mbytes + Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 10000 1.4714476 5.2051468 6.3608901 -0.096738415 5.9516804 25.171919 30.676748 30.676748 -0.07465944 0.069571401 -0.28512721 + 10100 1.4336012 5.2129069 6.3389239 0.069305782 6.6336186 25.237381 30.756525 30.676748 0.1042358 0.062982076 0.040699467 + 10200 1.3850266 5.2255115 6.3133757 -0.026502584 6.1990129 25.423835 30.983755 30.676748 -0.018638813 -0.01225392 -0.048615018 + 10300 1.4059572 5.2273228 6.3316268 0.026841528 6.4477936 25.461278 31.029386 30.676748 0.0032748153 0.054971756 0.022278013 + 10400 1.4085811 5.2218002 6.3281652 0.087028058 6.7005137 25.315588 30.851835 30.676748 0.095488962 0.059423478 0.10617173 + 10500 1.4323046 5.1961285 6.321127 0.011963636 6.3715428 25.124329 30.61875 30.676748 0.047765438 -0.013073535 0.0011990069 + 10600 1.4401614 5.1744178 6.3055874 0.065577091 6.5770196 24.899891 30.345229 30.676748 0.05130409 0.11923748 0.026189709 + 10700 1.45262 5.1656069 6.3065622 0.019979844 6.3873914 24.616776 30.0002 30.676748 0.062077837 0.01564587 -0.017784176 + 10800 1.436593 5.1491998 6.2775666 0.06467682 6.5343926 24.388662 29.722201 30.676748 0.055509186 0.081686998 0.056834275 + 10900 1.4221057 5.1580272 6.2750151 0.10779715 6.6964287 24.198783 29.490797 30.676748 0.11821126 0.13388181 0.071298392 + 11000 1.4318097 5.1652839 6.2898937 0.12207839 6.7635101 24.106649 29.378514 30.676748 0.13281999 0.095712525 0.13770264 +Loop time of 1.05977 on 4 procs for 1000 steps with 5600 atoms + +Performance: 407635.235 tau/day, 943.600 timesteps/s, 5.284 Matom-step/s +99.2% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.11531 | 0.15482 | 0.18642 | 8.0 | 14.61 +Bond | 0.0095915 | 0.011316 | 0.012716 | 1.2 | 1.07 +Neigh | 0.34708 | 0.34732 | 0.34748 | 0.0 | 32.77 +Comm | 0.050629 | 0.082561 | 0.12326 | 11.1 | 7.79 +Output | 0.00029841 | 0.00036751 | 0.00057311 | 0.0 | 0.03 +Modify | 0.43421 | 0.44242 | 0.45027 | 0.9 | 41.75 +Other | | 0.02097 | | | 1.98 + +Nlocal: 1400 ave 1551 max 1205 min +Histogram: 1 0 0 1 0 0 0 0 1 1 +Nghost: 1831.5 ave 1910 max 1688 min +Histogram: 1 0 0 0 0 1 0 0 0 2 +Neighs: 10203.8 ave 12647 max 7619 min +Histogram: 1 0 1 0 0 0 0 1 0 1 + +Total # of neighbors = 40815 +Ave neighs/atom = 7.2883929 +Ave special neighs/atom = 0.57142857 +Neighbor list builds = 161 +Dangerous builds = 0 + +Total wall time: 0:00:08 diff --git a/examples/rigid/log.27Nov18.rigid.atomfile.g++.1 b/examples/rigid/log.27Nov18.rigid.atomfile.g++.1 deleted file mode 100644 index e3e539eada..0000000000 --- a/examples/rigid/log.27Nov18.rigid.atomfile.g++.1 +++ /dev/null @@ -1,338 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic -atom_modify map array - -pair_style lj/cut 2.5 - -read_data data.rigid - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - -velocity all create 100.0 4928459 - - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -variable bodies atomfile bodies.txt -fix 1 all rigid custom v_bodies -9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Neighbor list info ... - update every 1 steps, delay 10 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 = 18 18 18 - 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/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.109 | 4.109 | 4.109 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.972284e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690666 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652434 0 5269.5216 12.011692 - 9550 16738.493 -0.005315616 0 5269.5203 12.011611 - 9600 16738.549 -0.026814368 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589885 0 5269.4979 12.062708 - 9750 16738.013 0.13550123 0 5269.5101 11.407245 - 9800 16738.512 -0.011620328 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270523 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984554 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.153749 on 1 procs for 10000 steps with 81 atoms - -Performance: 561955.786 tau/day, 65041.179 timesteps/s -98.4% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0098538 | 0.0098538 | 0.0098538 | 0.0 | 6.41 -Neigh | 0.040308 | 0.040308 | 0.040308 | 0.0 | 26.22 -Comm | 0.013034 | 0.013034 | 0.013034 | 0.0 | 8.48 -Output | 0.0017202 | 0.0017202 | 0.0017202 | 0.0 | 1.12 -Modify | 0.083709 | 0.083709 | 0.083709 | 0.0 | 54.45 -Other | | 0.005123 | | | 3.33 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 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 = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.atomfile.g++.4 b/examples/rigid/log.27Nov18.rigid.atomfile.g++.4 deleted file mode 100644 index 1e28766101..0000000000 --- a/examples/rigid/log.27Nov18.rigid.atomfile.g++.4 +++ /dev/null @@ -1,338 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic -atom_modify map array - -pair_style lj/cut 2.5 - -read_data data.rigid - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - -velocity all create 100.0 4928459 - - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -variable bodies atomfile bodies.txt -fix 1 all rigid custom v_bodies -9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Neighbor list info ... - update every 1 steps, delay 10 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 = 18 18 18 - 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/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.08 | 4.174 | 4.455 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722832e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706557 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690663 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532813 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652438 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156163 0 5269.5203 12.011611 - 9600 16738.549 -0.026814371 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589894 0 5269.4979 12.062708 - 9750 16738.013 0.13550109 0 5269.5101 11.407246 - 9800 16738.512 -0.011620327 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270507 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984555 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.202963 on 4 procs for 10000 steps with 81 atoms - -Performance: 425693.239 tau/day, 49270.051 timesteps/s -89.9% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0025978 | 0.0033882 | 0.0042055 | 1.0 | 1.67 -Neigh | 0.012025 | 0.013416 | 0.01623 | 1.4 | 6.61 -Comm | 0.080375 | 0.087468 | 0.090782 | 1.4 | 43.10 -Output | 0.0031407 | 0.0039954 | 0.0065427 | 2.3 | 1.97 -Modify | 0.086613 | 0.087285 | 0.087619 | 0.1 | 43.01 -Other | | 0.00741 | | | 3.65 - -Nlocal: 20.25 ave 38 max 3 min -Histogram: 1 0 1 0 0 0 1 0 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 1 1 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.atomvar.g++.1 b/examples/rigid/log.27Nov18.rigid.atomvar.g++.1 deleted file mode 100644 index 58834ebf3d..0000000000 --- a/examples/rigid/log.27Nov18.rigid.atomvar.g++.1 +++ /dev/null @@ -1,338 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic -atom_modify map array - -pair_style lj/cut 2.5 - -read_data data.rigid - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - -velocity all create 100.0 4928459 - - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -variable bodies atom 1.0*gmask(clump1)+2.0*gmask(clump2)+3.0*gmask(clump3)+4.0*gmask(clump4)+5.0*gmask(clump5)+6.0*gmask(clump6)+7.0*gmask(clump7)+8.0*gmask(clump8)+9.0*gmask(clump9) -fix 1 all rigid custom v_bodies -9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Neighbor list info ... - update every 1 steps, delay 10 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 = 18 18 18 - 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/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.984 | 3.984 | 3.984 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.972284e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690666 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652434 0 5269.5216 12.011692 - 9550 16738.493 -0.005315616 0 5269.5203 12.011611 - 9600 16738.549 -0.026814368 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589885 0 5269.4979 12.062708 - 9750 16738.013 0.13550123 0 5269.5101 11.407245 - 9800 16738.512 -0.011620328 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270523 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984554 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.15622 on 1 procs for 10000 steps with 81 atoms - -Performance: 553065.489 tau/day, 64012.209 timesteps/s -95.7% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0098181 | 0.0098181 | 0.0098181 | 0.0 | 6.28 -Neigh | 0.040912 | 0.040912 | 0.040912 | 0.0 | 26.19 -Comm | 0.013111 | 0.013111 | 0.013111 | 0.0 | 8.39 -Output | 0.0016305 | 0.0016305 | 0.0016305 | 0.0 | 1.04 -Modify | 0.085361 | 0.085361 | 0.085361 | 0.0 | 54.64 -Other | | 0.005387 | | | 3.45 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 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 = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.atomvar.g++.4 b/examples/rigid/log.27Nov18.rigid.atomvar.g++.4 deleted file mode 100644 index 42b8a52768..0000000000 --- a/examples/rigid/log.27Nov18.rigid.atomvar.g++.4 +++ /dev/null @@ -1,338 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic -atom_modify map array - -pair_style lj/cut 2.5 - -read_data data.rigid - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - -velocity all create 100.0 4928459 - - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -variable bodies atom 1.0*gmask(clump1)+2.0*gmask(clump2)+3.0*gmask(clump3)+4.0*gmask(clump4)+5.0*gmask(clump5)+6.0*gmask(clump6)+7.0*gmask(clump7)+8.0*gmask(clump8)+9.0*gmask(clump9) -fix 1 all rigid custom v_bodies -9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Neighbor list info ... - update every 1 steps, delay 10 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 = 18 18 18 - 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/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.955 | 4.049 | 4.33 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722832e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706557 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690663 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532813 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652438 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156163 0 5269.5203 12.011611 - 9600 16738.549 -0.026814371 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589894 0 5269.4979 12.062708 - 9750 16738.013 0.13550109 0 5269.5101 11.407246 - 9800 16738.512 -0.011620327 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270507 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984555 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.199799 on 4 procs for 10000 steps with 81 atoms - -Performance: 432434.078 tau/day, 50050.241 timesteps/s -91.0% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.002665 | 0.0034567 | 0.0040557 | 0.9 | 1.73 -Neigh | 0.012185 | 0.013168 | 0.014083 | 0.8 | 6.59 -Comm | 0.079331 | 0.082804 | 0.084927 | 0.7 | 41.44 -Output | 0.0031595 | 0.0039212 | 0.0061827 | 2.1 | 1.96 -Modify | 0.088465 | 0.090202 | 0.091938 | 0.4 | 45.15 -Other | | 0.006247 | | | 3.13 - -Nlocal: 20.25 ave 38 max 3 min -Histogram: 1 0 1 0 0 0 1 0 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 1 1 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.early.g++.1 b/examples/rigid/log.27Nov18.rigid.early.g++.1 deleted file mode 100644 index 3c8022423f..0000000000 --- a/examples/rigid/log.27Nov18.rigid.early.g++.1 +++ /dev/null @@ -1,337 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -9 rigid bodies with 81 atoms - -fix_modify 1 bodyforces early - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Neighbor list info ... - update every 1 steps, delay 10 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 = 18 18 18 - 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/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.979 | 3.979 | 3.979 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.972284e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690666 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652434 0 5269.5216 12.011692 - 9550 16738.493 -0.005315616 0 5269.5203 12.011611 - 9600 16738.549 -0.026814368 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589885 0 5269.4979 12.062708 - 9750 16738.013 0.13550123 0 5269.5101 11.407245 - 9800 16738.512 -0.011620328 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270523 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984554 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.152593 on 1 procs for 10000 steps with 81 atoms - -Performance: 566210.692 tau/day, 65533.645 timesteps/s -96.1% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0098324 | 0.0098324 | 0.0098324 | 0.0 | 6.44 -Neigh | 0.040376 | 0.040376 | 0.040376 | 0.0 | 26.46 -Comm | 0.012246 | 0.012246 | 0.012246 | 0.0 | 8.03 -Output | 0.0016036 | 0.0016036 | 0.0016036 | 0.0 | 1.05 -Modify | 0.083605 | 0.083605 | 0.083605 | 0.0 | 54.79 -Other | | 0.00493 | | | 3.23 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 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 = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.early.g++.4 b/examples/rigid/log.27Nov18.rigid.early.g++.4 deleted file mode 100644 index 91f091b799..0000000000 --- a/examples/rigid/log.27Nov18.rigid.early.g++.4 +++ /dev/null @@ -1,337 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -9 rigid bodies with 81 atoms - -fix_modify 1 bodyforces early - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Neighbor list info ... - update every 1 steps, delay 10 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 = 18 18 18 - 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/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.95 | 4.044 | 4.326 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722832e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706557 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690663 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532813 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652438 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156163 0 5269.5203 12.011611 - 9600 16738.549 -0.026814371 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589894 0 5269.4979 12.062708 - 9750 16738.013 0.13550109 0 5269.5101 11.407246 - 9800 16738.512 -0.011620327 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270507 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984555 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.198859 on 4 procs for 10000 steps with 81 atoms - -Performance: 434479.274 tau/day, 50286.953 timesteps/s -91.6% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.002526 | 0.0034331 | 0.0041001 | 1.0 | 1.73 -Neigh | 0.012097 | 0.013092 | 0.013992 | 0.8 | 6.58 -Comm | 0.075266 | 0.07972 | 0.084679 | 1.2 | 40.09 -Output | 0.0030892 | 0.0043746 | 0.0081537 | 3.3 | 2.20 -Modify | 0.088037 | 0.091924 | 0.095021 | 0.9 | 46.23 -Other | | 0.006316 | | | 3.18 - -Nlocal: 20.25 ave 38 max 3 min -Histogram: 1 0 1 0 0 0 1 0 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 1 1 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.g++.1 b/examples/rigid/log.27Nov18.rigid.g++.1 deleted file mode 100644 index 9dff202069..0000000000 --- a/examples/rigid/log.27Nov18.rigid.g++.1 +++ /dev/null @@ -1,335 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Neighbor list info ... - update every 1 steps, delay 10 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 = 18 18 18 - 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/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.979 | 3.979 | 3.979 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.972284e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690666 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652434 0 5269.5216 12.011692 - 9550 16738.493 -0.005315616 0 5269.5203 12.011611 - 9600 16738.549 -0.026814368 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589885 0 5269.4979 12.062708 - 9750 16738.013 0.13550123 0 5269.5101 11.407245 - 9800 16738.512 -0.011620328 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270523 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984554 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.152143 on 1 procs for 10000 steps with 81 atoms - -Performance: 567885.005 tau/day, 65727.431 timesteps/s -98.9% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0097773 | 0.0097773 | 0.0097773 | 0.0 | 6.43 -Neigh | 0.040602 | 0.040602 | 0.040602 | 0.0 | 26.69 -Comm | 0.012049 | 0.012049 | 0.012049 | 0.0 | 7.92 -Output | 0.0016172 | 0.0016172 | 0.0016172 | 0.0 | 1.06 -Modify | 0.083104 | 0.083104 | 0.083104 | 0.0 | 54.62 -Other | | 0.004994 | | | 3.28 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 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 = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.g++.4 b/examples/rigid/log.27Nov18.rigid.g++.4 deleted file mode 100644 index 36e602f1f1..0000000000 --- a/examples/rigid/log.27Nov18.rigid.g++.4 +++ /dev/null @@ -1,335 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Neighbor list info ... - update every 1 steps, delay 10 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 = 18 18 18 - 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/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.95 | 4.044 | 4.326 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722832e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706557 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690663 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532813 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652438 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156163 0 5269.5203 12.011611 - 9600 16738.549 -0.026814371 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589894 0 5269.4979 12.062708 - 9750 16738.013 0.13550109 0 5269.5101 11.407246 - 9800 16738.512 -0.011620327 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270507 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984555 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.201762 on 4 procs for 10000 steps with 81 atoms - -Performance: 428226.262 tau/day, 49563.225 timesteps/s -89.2% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0025356 | 0.0033935 | 0.0042305 | 1.0 | 1.68 -Neigh | 0.012009 | 0.012959 | 0.015092 | 1.1 | 6.42 -Comm | 0.07666 | 0.086213 | 0.092506 | 2.0 | 42.73 -Output | 0.0032623 | 0.0052034 | 0.011 | 4.6 | 2.58 -Modify | 0.084815 | 0.087869 | 0.089999 | 0.6 | 43.55 -Other | | 0.006125 | | | 3.04 - -Nlocal: 20.25 ave 38 max 3 min -Histogram: 1 0 1 0 0 0 1 0 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 1 1 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.nve.early.g++.1 b/examples/rigid/log.27Nov18.rigid.nve.early.g++.1 deleted file mode 100644 index 1e426d397e..0000000000 --- a/examples/rigid/log.27Nov18.rigid.nve.early.g++.1 +++ /dev/null @@ -1,337 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -9 rigid bodies with 81 atoms - -fix_modify 1 bodyforces early - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Neighbor list info ... - update every 1 steps, delay 10 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 = 18 18 18 - 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/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.979 | 3.979 | 3.979 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.69 571.70921 0 5265.8153 32.005816 - 100 16298.128 136.75661 0 5267.6488 16.449029 - 150 16682.532 17.504156 0 5269.4124 14.901186 - 200 16733.906 1.3755079 0 5269.4571 14.571305 - 250 16738.861 -0.15272039 0 5269.4886 14.498342 - 300 16738.608 -0.055216883 0 5269.5066 14.498 - 350 16738.5 -0.017457072 0 5269.5104 14.498392 - 400 16738.451 -0.0060161309 0 5269.5063 14.49851 - 450 16738.435 -0.001271965 0 5269.5059 14.498571 - 500 16738.443 -0.00081074175 0 5269.509 14.498598 - 550 16738.452 -0.00083208965 0 5269.5118 14.498618 - 600 16738.45 -0.00058358431 0 5269.5116 14.498617 - 650 16738.443 -0.00047228525 0 5269.5093 14.4986 - 700 16738.444 0 0 5269.5102 14.498612 - 750 16738.461 0 0 5269.5157 14.498654 - 800 16738.479 0 0 5269.521 14.498697 - 850 16738.473 0 0 5269.5192 14.498683 - 900 16738.449 0 0 5269.5116 14.498624 - 950 16738.438 -0.0035324203 0 5269.5046 14.498537 - 1000 16738.562 -0.051134242 0 5269.4963 14.498093 - 1050 16737.343 0.32970192 0 5269.4934 14.527634 - 1100 16737.878 0.16213235 0 5269.4941 14.533864 - 1150 16738.682 -0.089236256 0 5269.4959 14.511765 - 1200 16738.444 -0.0075446558 0 5269.5025 14.512479 - 1250 16738.45 0 0 5269.5119 14.512611 - 1300 16738.475 0 0 5269.5199 14.512673 - 1350 16738.484 0 0 5269.5228 14.512696 - 1400 16738.469 -0.00044683992 0 5269.5175 14.512651 - 1450 16738.45 -0.0010933363 0 5269.511 14.512595 - 1500 16738.445 -0.00057484239 0 5269.51 14.512591 - 1550 16738.451 0 0 5269.5123 14.512615 - 1600 16738.452 0 0 5269.5127 14.512618 - 1650 16738.443 0 0 5269.5099 14.512596 - 1700 16738.433 0 0 5269.5068 14.512572 - 1750 16738.438 0 0 5269.5084 14.512584 - 1800 16738.459 0 0 5269.5149 14.512635 - 1850 16738.473 0 0 5269.5193 14.51267 - 1900 16738.462 0 0 5269.5159 14.512644 - 1950 16738.446 -0.0032069962 0 5269.5076 14.512539 - 2000 16738.463 -0.013425408 0 5269.5027 14.512382 - 2050 16738.535 -0.036964311 0 5269.5017 14.512152 - 2100 16738.621 -0.063490509 0 5269.5023 14.512108 - 2150 16738.594 -0.056143934 0 5269.5012 14.512117 - 2200 16738.536 -0.038486645 0 5269.5007 14.512277 - 2250 16738.496 -0.023712406 0 5269.503 14.51242 - 2300 16738.488 -0.013209094 0 5269.5109 14.51255 - 2350 16738.486 -0.0045244524 0 5269.519 14.512693 - 2400 16738.475 -0.00051678325 0 5269.5194 14.512743 - 2450 16738.456 -0.0023209272 0 5269.5115 14.512659 - 2500 16738.442 -0.0052101787 0 5269.5042 14.512594 - 2550 16738.552 -0.04420046 0 5269.4998 14.512177 - 2600 16738.42 -0.004347531 0 5269.4982 14.512783 - 2650 16734.241 1.3131302 0 5269.5 14.577195 - 2700 16738.737 -0.10612056 0 5269.4961 14.503874 - 2750 16732.705 1.7939719 0 5269.4974 14.629294 - 2800 16738.558 -0.042867033 0 5269.5032 14.519893 - 2850 16738.499 -0.01271227 0 5269.5146 14.518524 - 2900 16738.486 -0.0032778045 0 5269.52 14.518712 - 2950 16738.482 -0.0089544631 0 5269.5133 14.518629 - 3000 16738.647 -0.070862542 0 5269.5031 14.51803 - 3050 16678.313 18.829038 0 5269.409 15.533426 - 3100 16632.312 33.399217 0 5269.4975 14.588597 - 3150 16739.318 -0.31388148 0 5269.4715 13.520782 - 3200 16727.951 3.26736 0 5269.4741 12.288358 - 3250 16686.364 16.353793 0 5269.4682 14.152517 - 3300 16738.532 -0.031574462 0 5269.5064 13.310615 - 3350 16738.454 -0.0062292918 0 5269.5071 13.308187 - 3400 16738.445 -0.0049349125 0 5269.5055 13.308178 - 3450 16738.489 -0.021623738 0 5269.5026 13.308001 - 3500 16737.78 0.19719043 0 5269.4983 13.325999 - 3550 16658.578 25.116206 0 5269.4834 13.778249 - 3600 16738.51 -0.032864725 0 5269.4981 12.392389 - 3650 16738.899 -0.15952703 0 5269.4938 12.383503 - 3700 16738.879 -0.16025994 0 5269.487 12.382575 - 3750 16738.878 -0.16608251 0 5269.4806 12.382765 - 3800 16738.591 -0.078679341 0 5269.4776 12.383227 - 3850 16738.429 -0.024729409 0 5269.4807 12.382942 - 3900 16738.399 -0.0062729967 0 5269.4897 12.383192 - 3950 16738.428 -0.002521266 0 5269.5027 12.383324 - 4000 16738.467 -0.0002068506 0 5269.5173 12.383474 - 4050 16738.488 0 0 5269.5241 12.383531 - 4100 16738.468 0 0 5269.5178 12.383482 - 4150 16738.422 0 0 5269.5033 12.383369 - 4200 16738.387 0 0 5269.4921 12.383281 - 4250 16738.383 0 0 5269.4908 12.38327 - 4300 16738.4 0 0 5269.4964 12.383314 - 4350 16738.423 0 0 5269.5036 12.38337 - 4400 16738.441 0 0 5269.5092 12.383414 - 4450 16738.45 0 0 5269.5121 12.383437 - 4500 16738.45 0 0 5269.5122 12.383438 - 4550 16738.442 0 0 5269.5095 12.383417 - 4600 16738.425 0 0 5269.5042 12.383376 - 4650 16738.404 -0.0014438316 0 5269.4961 12.383299 - 4700 16738.444 -0.024020551 0 5269.4862 12.382975 - 4750 16738.49 -0.04852143 0 5269.4761 12.385777 - 4800 16735.057 1.0347216 0 5269.4786 12.43543 - 4850 16735.441 0.92650925 0 5269.4913 12.418653 - 4900 16723.839 4.5908974 0 5269.5033 13.410103 - 4950 16738.531 -0.02153767 0 5269.5159 13.089982 - 5000 16738.45 -0.0042589697 0 5269.5077 13.090062 - 5050 16738.409 -0.00024692476 0 5269.4987 13.090038 - 5100 16738.404 0 0 5269.4976 13.090032 - 5150 16738.421 0 0 5269.5029 13.090073 - 5200 16738.44 0 0 5269.5087 13.090119 - 5250 16738.448 -0.001279392 0 5269.5102 13.090114 - 5300 16738.456 -0.0064376391 0 5269.5075 13.090026 - 5350 16738.479 -0.020383841 0 5269.5007 13.089897 - 5400 16735.845 0.7988947 0 5269.4909 13.136244 - 5450 16735.558 0.87620022 0 5269.4778 12.324482 - 5500 16711.494 8.4724178 0 5269.4984 12.656579 - 5550 16454.525 89.074815 0 5269.2031 16.996503 - 5600 16713.084 7.9801418 0 5269.5065 13.774979 - 5650 16738.676 -0.079987748 0 5269.5033 13.168297 - 5700 16446.281 91.866085 0 5269.399 23.764663 - 5750 16738.549 -0.039869084 0 5269.5034 13.378122 - 5800 16738.487 -0.014994478 0 5269.5086 13.378399 - 5850 16738.466 -0.0051267616 0 5269.512 13.37856 - 5900 16738.462 -0.0043690142 0 5269.5113 13.378573 - 5950 16738.528 -0.032727415 0 5269.5039 13.378197 - 6000 16702.774 10.969438 0 5269.2502 13.788852 - 6050 16682.271 17.483137 0 5269.3092 13.353101 - 6100 16738.508 -0.028838222 0 5269.5016 12.521084 - 6150 16738.425 -0.0067595536 0 5269.4974 12.521223 - 6200 16738.401 -0.0011499893 0 5269.4955 12.521254 - 6250 16738.455 0 0 5269.5135 12.52141 - 6300 16738.523 0 0 5269.5352 12.52158 - 6350 16738.503 0 0 5269.5287 12.521531 - 6400 16738.427 0 0 5269.5047 12.521344 - 6450 16738.399 0 0 5269.496 12.521274 - 6500 16738.425 0 0 5269.5042 12.521337 - 6550 16738.441 0 0 5269.5093 12.521378 - 6600 16738.42 0 0 5269.5025 12.521326 - 6650 16738.398 0 0 5269.4957 12.521272 - 6700 16738.435 0 0 5269.5074 12.521362 - 6750 16738.505 0 0 5269.5293 12.521534 - 6800 16738.508 0 0 5269.5303 12.521543 - 6850 16738.446 0 0 5269.5108 12.521391 - 6900 16738.414 0 0 5269.5009 12.521312 - 6950 16738.432 0 0 5269.5063 12.521354 - 7000 16738.444 0 0 5269.5102 12.521385 - 7050 16738.421 0 0 5269.5029 12.521329 - 7100 16738.393 0 0 5269.4941 12.521259 - 7150 16738.419 0 0 5269.5022 12.521322 - 7200 16738.489 0 0 5269.5244 12.521495 - 7250 16738.505 0 0 5269.5293 12.521535 - 7300 16738.443 0 0 5269.5098 12.521383 - 7350 16738.404 0 0 5269.4976 12.521287 - 7400 16738.43 0 0 5269.5058 12.52135 - 7450 16738.461 0 0 5269.5156 12.521427 - 7500 16738.447 0 0 5269.5109 12.521392 - 7550 16738.407 0 0 5269.4986 12.521295 - 7600 16738.412 0 0 5269.5002 12.521306 - 7650 16738.478 0 0 5269.5208 12.521467 - 7700 16738.51 0 0 5269.5309 12.521547 - 7750 16738.454 0 0 5269.5135 12.521412 - 7800 16738.398 0 0 5269.4958 12.521273 - 7850 16738.407 -0.0002118108 0 5269.4982 12.521289 - 7900 16738.441 -0.00021679711 0 5269.509 12.521373 - 7950 16738.446 -0.00023848139 0 5269.5107 12.521386 - 8000 16738.423 0 0 5269.5035 12.521333 - 8050 16738.423 0 0 5269.5034 12.521332 - 8100 16738.478 -0.00069622994 0 5269.52 12.521454 - 8150 16738.523 -0.0040058408 0 5269.531 12.521501 - 8200 16738.486 -0.0092298229 0 5269.5142 12.521334 - 8250 16738.458 -0.023189671 0 5269.4914 12.521014 - 8300 16738.513 -0.045845677 0 5269.4861 12.520779 - 8350 16723.745 4.5690412 0 5269.4516 12.849325 - 8400 16738.466 -0.020158442 0 5269.497 12.835773 - 8450 16738.437 -0.012822892 0 5269.4952 12.829936 - 8500 16738.408 -0.0016837088 0 5269.4972 12.830061 - 8550 16738.464 -0.00097379467 0 5269.5155 12.830216 - 8600 16738.669 -0.050578079 0 5269.5304 12.829934 - 8650 15917.563 250.28318 0 5261.3678 24.54572 - 8700 16738.445 0.0012168759 0 5269.5117 10.589499 - 8750 16738.473 -0.010164589 0 5269.509 10.588414 - 8800 16738.468 0 0 5269.5177 10.588633 - 8850 16738.508 0 0 5269.5304 10.588733 - 8900 16738.509 0 0 5269.5307 10.588736 - 8950 16738.496 0 0 5269.5266 10.588705 - 9000 16738.477 0 0 5269.5204 10.588656 - 9050 16738.455 0 0 5269.5135 10.588602 - 9100 16738.477 0 0 5269.5206 10.588656 - 9150 16738.512 0 0 5269.5316 10.588743 - 9200 16738.502 0 0 5269.5285 10.58872 - 9250 16738.493 0 0 5269.5255 10.588696 - 9300 16738.482 0 0 5269.522 10.588669 - 9350 16738.46 0 0 5269.5151 10.588615 - 9400 16738.481 0 0 5269.5217 10.588665 - 9450 16738.509 0 0 5269.5307 10.588736 - 9500 16738.491 0 0 5269.5248 10.58869 - 9550 16738.484 0 0 5269.5227 10.588674 - 9600 16738.483 0 0 5269.5223 10.588671 - 9650 16738.464 0 0 5269.5166 10.588626 - 9700 16738.484 0 0 5269.5229 10.588674 - 9750 16738.507 0 0 5269.5301 10.588731 - 9800 16738.482 0 0 5269.5221 10.588669 - 9850 16738.478 0 0 5269.5208 10.588659 - 9900 16738.487 -0.00030979474 0 5269.5233 10.588675 - 9950 16738.476 -0.00095968581 0 5269.5193 10.588632 - 10000 16738.494 -0.00062717822 0 5269.5253 10.588684 -Loop time of 0.168577 on 1 procs for 10000 steps with 81 atoms - -Performance: 512524.843 tau/day, 59320.005 timesteps/s -99.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.010812 | 0.010812 | 0.010812 | 0.0 | 6.41 -Neigh | 0.04144 | 0.04144 | 0.04144 | 0.0 | 24.58 -Comm | 0.012082 | 0.012082 | 0.012082 | 0.0 | 7.17 -Output | 0.0016394 | 0.0016394 | 0.0016394 | 0.0 | 0.97 -Modify | 0.097466 | 0.097466 | 0.097466 | 0.0 | 57.82 -Other | | 0.005139 | | | 3.05 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 49 ave 49 max 49 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 3 ave 3 max 3 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 3 -Ave neighs/atom = 0.037037 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.nve.early.g++.4 b/examples/rigid/log.27Nov18.rigid.nve.early.g++.4 deleted file mode 100644 index 5b775d969a..0000000000 --- a/examples/rigid/log.27Nov18.rigid.nve.early.g++.4 +++ /dev/null @@ -1,337 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -9 rigid bodies with 81 atoms - -fix_modify 1 bodyforces early - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Neighbor list info ... - update every 1 steps, delay 10 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 = 18 18 18 - 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/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.95 | 4.044 | 4.326 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.69 571.70921 0 5265.8153 32.005816 - 100 16298.128 136.75661 0 5267.6488 16.449029 - 150 16682.532 17.504156 0 5269.4124 14.901186 - 200 16733.906 1.3755079 0 5269.4571 14.571305 - 250 16738.861 -0.15272039 0 5269.4886 14.498342 - 300 16738.608 -0.055216883 0 5269.5066 14.498 - 350 16738.5 -0.017457072 0 5269.5104 14.498392 - 400 16738.451 -0.0060161309 0 5269.5063 14.49851 - 450 16738.435 -0.001271965 0 5269.5059 14.498571 - 500 16738.443 -0.00081074175 0 5269.509 14.498598 - 550 16738.452 -0.00083208965 0 5269.5118 14.498618 - 600 16738.45 -0.00058358431 0 5269.5116 14.498617 - 650 16738.443 -0.00047228525 0 5269.5093 14.4986 - 700 16738.444 0 0 5269.5102 14.498612 - 750 16738.461 0 0 5269.5157 14.498654 - 800 16738.479 0 0 5269.521 14.498697 - 850 16738.473 0 0 5269.5192 14.498683 - 900 16738.449 0 0 5269.5116 14.498624 - 950 16738.438 -0.0035324203 0 5269.5046 14.498537 - 1000 16738.562 -0.051134242 0 5269.4963 14.498093 - 1050 16737.343 0.32970192 0 5269.4934 14.527634 - 1100 16737.878 0.16213235 0 5269.4941 14.533864 - 1150 16738.682 -0.089236256 0 5269.4959 14.511765 - 1200 16738.444 -0.0075446558 0 5269.5025 14.512479 - 1250 16738.45 0 0 5269.5119 14.512611 - 1300 16738.475 0 0 5269.5199 14.512673 - 1350 16738.484 0 0 5269.5228 14.512696 - 1400 16738.469 -0.00044683992 0 5269.5175 14.512651 - 1450 16738.45 -0.0010933363 0 5269.511 14.512595 - 1500 16738.445 -0.00057484239 0 5269.51 14.512591 - 1550 16738.451 0 0 5269.5123 14.512615 - 1600 16738.452 0 0 5269.5127 14.512618 - 1650 16738.443 0 0 5269.5099 14.512596 - 1700 16738.433 0 0 5269.5068 14.512572 - 1750 16738.438 0 0 5269.5084 14.512584 - 1800 16738.459 0 0 5269.5149 14.512635 - 1850 16738.473 0 0 5269.5193 14.51267 - 1900 16738.462 0 0 5269.5159 14.512644 - 1950 16738.446 -0.0032069962 0 5269.5076 14.512539 - 2000 16738.463 -0.013425408 0 5269.5027 14.512382 - 2050 16738.535 -0.036964311 0 5269.5017 14.512152 - 2100 16738.621 -0.063490509 0 5269.5023 14.512108 - 2150 16738.594 -0.056143934 0 5269.5012 14.512117 - 2200 16738.536 -0.038486645 0 5269.5007 14.512277 - 2250 16738.496 -0.023712406 0 5269.503 14.51242 - 2300 16738.488 -0.013209094 0 5269.5109 14.51255 - 2350 16738.486 -0.0045244524 0 5269.519 14.512693 - 2400 16738.475 -0.00051678325 0 5269.5194 14.512743 - 2450 16738.456 -0.0023209272 0 5269.5115 14.512659 - 2500 16738.442 -0.0052101787 0 5269.5042 14.512594 - 2550 16738.552 -0.04420046 0 5269.4998 14.512177 - 2600 16738.42 -0.004347531 0 5269.4982 14.512783 - 2650 16734.241 1.3131302 0 5269.5 14.577195 - 2700 16738.737 -0.10612056 0 5269.4961 14.503874 - 2750 16732.705 1.7939719 0 5269.4974 14.629294 - 2800 16738.558 -0.042867033 0 5269.5032 14.519893 - 2850 16738.499 -0.01271227 0 5269.5146 14.518524 - 2900 16738.486 -0.0032778045 0 5269.52 14.518712 - 2950 16738.482 -0.0089544631 0 5269.5133 14.518629 - 3000 16738.647 -0.070862542 0 5269.5031 14.51803 - 3050 16678.313 18.829038 0 5269.409 15.533426 - 3100 16632.312 33.399217 0 5269.4975 14.588597 - 3150 16739.318 -0.31388148 0 5269.4715 13.520782 - 3200 16727.951 3.26736 0 5269.4741 12.288358 - 3250 16686.364 16.353793 0 5269.4682 14.152517 - 3300 16738.532 -0.031574462 0 5269.5064 13.310615 - 3350 16738.454 -0.0062292918 0 5269.5071 13.308187 - 3400 16738.445 -0.0049349125 0 5269.5055 13.308178 - 3450 16738.489 -0.021623738 0 5269.5026 13.308001 - 3500 16737.78 0.19719043 0 5269.4983 13.325999 - 3550 16658.578 25.116206 0 5269.4834 13.778249 - 3600 16738.51 -0.032864725 0 5269.4981 12.392389 - 3650 16738.899 -0.15952703 0 5269.4938 12.383503 - 3700 16738.879 -0.16025994 0 5269.487 12.382575 - 3750 16738.878 -0.16608251 0 5269.4806 12.382765 - 3800 16738.591 -0.078679341 0 5269.4776 12.383227 - 3850 16738.429 -0.024729409 0 5269.4807 12.382942 - 3900 16738.399 -0.0062729967 0 5269.4897 12.383192 - 3950 16738.428 -0.002521266 0 5269.5027 12.383324 - 4000 16738.467 -0.0002068506 0 5269.5173 12.383474 - 4050 16738.488 0 0 5269.5241 12.383531 - 4100 16738.468 0 0 5269.5178 12.383482 - 4150 16738.422 0 0 5269.5033 12.383369 - 4200 16738.387 0 0 5269.4921 12.383281 - 4250 16738.383 0 0 5269.4908 12.38327 - 4300 16738.4 0 0 5269.4964 12.383314 - 4350 16738.423 0 0 5269.5036 12.38337 - 4400 16738.441 0 0 5269.5092 12.383414 - 4450 16738.45 0 0 5269.5121 12.383437 - 4500 16738.45 0 0 5269.5122 12.383438 - 4550 16738.442 0 0 5269.5095 12.383417 - 4600 16738.425 0 0 5269.5042 12.383376 - 4650 16738.404 -0.0014438316 0 5269.4961 12.383299 - 4700 16738.444 -0.024020551 0 5269.4862 12.382975 - 4750 16738.49 -0.048521428 0 5269.4761 12.385777 - 4800 16735.057 1.0347217 0 5269.4786 12.43543 - 4850 16735.441 0.92650925 0 5269.4913 12.418653 - 4900 16723.839 4.5908973 0 5269.5033 13.410103 - 4950 16738.531 -0.02153767 0 5269.5159 13.089982 - 5000 16738.45 -0.0042589696 0 5269.5077 13.090062 - 5050 16738.409 -0.00024692476 0 5269.4987 13.090038 - 5100 16738.404 0 0 5269.4976 13.090032 - 5150 16738.421 0 0 5269.5029 13.090073 - 5200 16738.44 0 0 5269.5087 13.090119 - 5250 16738.448 -0.001279392 0 5269.5102 13.090114 - 5300 16738.456 -0.0064376392 0 5269.5075 13.090026 - 5350 16738.479 -0.020383842 0 5269.5007 13.089897 - 5400 16735.845 0.79889474 0 5269.4909 13.136244 - 5450 16735.558 0.87619992 0 5269.4778 12.324482 - 5500 16711.494 8.4724208 0 5269.4984 12.656579 - 5550 16454.525 89.074816 0 5269.2031 16.996503 - 5600 16713.084 7.9801334 0 5269.5065 13.774977 - 5650 16738.676 -0.079987764 0 5269.5033 13.168295 - 5700 16446.281 91.866085 0 5269.399 23.764662 - 5750 16738.549 -0.039869084 0 5269.5034 13.378121 - 5800 16738.487 -0.014994475 0 5269.5086 13.378397 - 5850 16738.466 -0.0051267556 0 5269.512 13.378559 - 5900 16738.462 -0.0043690097 0 5269.5113 13.378572 - 5950 16738.528 -0.03272741 0 5269.5039 13.378195 - 6000 16702.774 10.969434 0 5269.2502 13.788851 - 6050 16682.271 17.483158 0 5269.3092 13.3531 - 6100 16738.508 -0.028838239 0 5269.5016 12.521082 - 6150 16738.425 -0.0067595542 0 5269.4974 12.521221 - 6200 16738.401 -0.0011499896 0 5269.4955 12.521252 - 6250 16738.455 0 0 5269.5135 12.521408 - 6300 16738.523 0 0 5269.5352 12.521578 - 6350 16738.503 0 0 5269.5287 12.52153 - 6400 16738.427 0 0 5269.5047 12.521342 - 6450 16738.399 0 0 5269.496 12.521273 - 6500 16738.425 0 0 5269.5042 12.521336 - 6550 16738.441 0 0 5269.5093 12.521377 - 6600 16738.42 0 0 5269.5025 12.521324 - 6650 16738.398 0 0 5269.4957 12.52127 - 6700 16738.435 0 0 5269.5074 12.52136 - 6750 16738.505 0 0 5269.5293 12.521532 - 6800 16738.508 0 0 5269.5303 12.521541 - 6850 16738.446 0 0 5269.5108 12.521389 - 6900 16738.414 0 0 5269.5009 12.521311 - 6950 16738.432 0 0 5269.5063 12.521353 - 7000 16738.444 0 0 5269.5102 12.521383 - 7050 16738.421 0 0 5269.5029 12.521327 - 7100 16738.393 0 0 5269.4941 12.521258 - 7150 16738.419 0 0 5269.5022 12.52132 - 7200 16738.489 0 0 5269.5244 12.521494 - 7250 16738.505 0 0 5269.5293 12.521533 - 7300 16738.443 0 0 5269.5098 12.521381 - 7350 16738.404 0 0 5269.4976 12.521285 - 7400 16738.43 0 0 5269.5058 12.521348 - 7450 16738.461 0 0 5269.5156 12.521425 - 7500 16738.447 0 0 5269.5109 12.52139 - 7550 16738.407 0 0 5269.4986 12.521293 - 7600 16738.412 0 0 5269.5002 12.521305 - 7650 16738.478 0 0 5269.5208 12.521465 - 7700 16738.51 0 0 5269.5309 12.521546 - 7750 16738.454 0 0 5269.5135 12.52141 - 7800 16738.398 0 0 5269.4958 12.521272 - 7850 16738.407 -0.00021180981 0 5269.4982 12.521288 - 7900 16738.441 -0.0002167964 0 5269.509 12.521371 - 7950 16738.446 -0.00023848065 0 5269.5107 12.521385 - 8000 16738.423 0 0 5269.5035 12.521331 - 8050 16738.423 0 0 5269.5034 12.52133 - 8100 16738.478 -0.00069623408 0 5269.52 12.521452 - 8150 16738.523 -0.0040058355 0 5269.531 12.521499 - 8200 16738.486 -0.0092298325 0 5269.5142 12.521332 - 8250 16738.458 -0.023189665 0 5269.4914 12.521012 - 8300 16738.513 -0.045846242 0 5269.4861 12.520778 - 8350 16723.742 4.5698786 0 5269.4516 12.849386 - 8400 16738.466 -0.02016972 0 5269.497 12.835784 - 8450 16738.437 -0.012822703 0 5269.4952 12.829948 - 8500 16738.408 -0.0016836132 0 5269.4972 12.830073 - 8550 16738.464 -0.00097380297 0 5269.5155 12.830227 - 8600 16738.669 -0.050578946 0 5269.5304 12.829946 - 8650 15917.707 250.24016 0 5261.3702 24.544744 - 8700 16738.445 0.0010615265 0 5269.5117 10.589987 - 8750 16738.473 -0.010158834 0 5269.509 10.588904 - 8800 16738.468 0 0 5269.5176 10.589124 - 8850 16738.508 0 0 5269.5304 10.589223 - 8900 16738.509 0 0 5269.5306 10.589226 - 8950 16738.496 0 0 5269.5266 10.589195 - 9000 16738.477 0 0 5269.5204 10.589147 - 9050 16738.455 0 0 5269.5135 10.589092 - 9100 16738.477 0 0 5269.5206 10.589146 - 9150 16738.512 0 0 5269.5316 10.589233 - 9200 16738.502 0 0 5269.5285 10.58921 - 9250 16738.493 0 0 5269.5255 10.589186 - 9300 16738.482 0 0 5269.522 10.589159 - 9350 16738.46 0 0 5269.5151 10.589105 - 9400 16738.481 0 0 5269.5217 10.589155 - 9450 16738.509 0 0 5269.5307 10.589226 - 9500 16738.491 0 0 5269.5248 10.589181 - 9550 16738.484 0 0 5269.5227 10.589164 - 9600 16738.483 0 0 5269.5223 10.589161 - 9650 16738.464 0 0 5269.5166 10.589116 - 9700 16738.484 0 0 5269.5228 10.589164 - 9750 16738.507 0 0 5269.5301 10.589221 - 9800 16738.482 0 0 5269.5221 10.589159 - 9850 16738.478 0 0 5269.5208 10.589149 - 9900 16738.487 -0.00030979591 0 5269.5233 10.589165 - 9950 16738.476 -0.0009596827 0 5269.5193 10.589123 - 10000 16738.494 -0.0006271698 0 5269.5253 10.589175 -Loop time of 0.213152 on 4 procs for 10000 steps with 81 atoms - -Performance: 405345.239 tau/day, 46914.958 timesteps/s -91.7% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0029514 | 0.0038354 | 0.005348 | 1.5 | 1.80 -Neigh | 0.01178 | 0.013139 | 0.0167 | 1.8 | 6.16 -Comm | 0.073879 | 0.078553 | 0.081131 | 1.0 | 36.85 -Output | 0.0031943 | 0.0037987 | 0.0055451 | 1.6 | 1.78 -Modify | 0.10553 | 0.10763 | 0.1096 | 0.4 | 50.49 -Other | | 0.0062 | | | 2.91 - -Nlocal: 20.25 ave 34 max 9 min -Histogram: 2 0 0 0 0 0 0 1 0 1 -Nghost: 38.5 ave 43 max 26 min -Histogram: 1 0 0 0 0 0 0 0 0 3 -Neighs: 0.75 ave 2 max 0 min -Histogram: 2 0 0 0 0 1 0 0 0 1 - -Total # of neighbors = 3 -Ave neighs/atom = 0.037037 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.nve.g++.1 b/examples/rigid/log.27Nov18.rigid.nve.g++.1 deleted file mode 100644 index c3805dc42e..0000000000 --- a/examples/rigid/log.27Nov18.rigid.nve.g++.1 +++ /dev/null @@ -1,335 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Neighbor list info ... - update every 1 steps, delay 10 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 = 18 18 18 - 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/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.979 | 3.979 | 3.979 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.69 571.70921 0 5265.8153 32.005816 - 100 16298.128 136.75661 0 5267.6488 16.449029 - 150 16682.532 17.504156 0 5269.4124 14.901186 - 200 16733.906 1.3755079 0 5269.4571 14.571305 - 250 16738.861 -0.15272039 0 5269.4886 14.498342 - 300 16738.608 -0.055216883 0 5269.5066 14.498 - 350 16738.5 -0.017457072 0 5269.5104 14.498392 - 400 16738.451 -0.0060161309 0 5269.5063 14.49851 - 450 16738.435 -0.001271965 0 5269.5059 14.498571 - 500 16738.443 -0.00081074175 0 5269.509 14.498598 - 550 16738.452 -0.00083208965 0 5269.5118 14.498618 - 600 16738.45 -0.00058358431 0 5269.5116 14.498617 - 650 16738.443 -0.00047228525 0 5269.5093 14.4986 - 700 16738.444 0 0 5269.5102 14.498612 - 750 16738.461 0 0 5269.5157 14.498654 - 800 16738.479 0 0 5269.521 14.498697 - 850 16738.473 0 0 5269.5192 14.498683 - 900 16738.449 0 0 5269.5116 14.498624 - 950 16738.438 -0.0035324203 0 5269.5046 14.498537 - 1000 16738.562 -0.051134242 0 5269.4963 14.498093 - 1050 16737.343 0.32970192 0 5269.4934 14.527634 - 1100 16737.878 0.16213235 0 5269.4941 14.533864 - 1150 16738.682 -0.089236256 0 5269.4959 14.511765 - 1200 16738.444 -0.0075446558 0 5269.5025 14.512479 - 1250 16738.45 0 0 5269.5119 14.512611 - 1300 16738.475 0 0 5269.5199 14.512673 - 1350 16738.484 0 0 5269.5228 14.512696 - 1400 16738.469 -0.00044683992 0 5269.5175 14.512651 - 1450 16738.45 -0.0010933363 0 5269.511 14.512595 - 1500 16738.445 -0.00057484239 0 5269.51 14.512591 - 1550 16738.451 0 0 5269.5123 14.512615 - 1600 16738.452 0 0 5269.5127 14.512618 - 1650 16738.443 0 0 5269.5099 14.512596 - 1700 16738.433 0 0 5269.5068 14.512572 - 1750 16738.438 0 0 5269.5084 14.512584 - 1800 16738.459 0 0 5269.5149 14.512635 - 1850 16738.473 0 0 5269.5193 14.51267 - 1900 16738.462 0 0 5269.5159 14.512644 - 1950 16738.446 -0.0032069962 0 5269.5076 14.512539 - 2000 16738.463 -0.013425408 0 5269.5027 14.512382 - 2050 16738.535 -0.036964311 0 5269.5017 14.512152 - 2100 16738.621 -0.063490509 0 5269.5023 14.512108 - 2150 16738.594 -0.056143934 0 5269.5012 14.512117 - 2200 16738.536 -0.038486645 0 5269.5007 14.512277 - 2250 16738.496 -0.023712406 0 5269.503 14.51242 - 2300 16738.488 -0.013209094 0 5269.5109 14.51255 - 2350 16738.486 -0.0045244524 0 5269.519 14.512693 - 2400 16738.475 -0.00051678325 0 5269.5194 14.512743 - 2450 16738.456 -0.0023209272 0 5269.5115 14.512659 - 2500 16738.442 -0.0052101787 0 5269.5042 14.512594 - 2550 16738.552 -0.04420046 0 5269.4998 14.512177 - 2600 16738.42 -0.004347531 0 5269.4982 14.512783 - 2650 16734.241 1.3131302 0 5269.5 14.577195 - 2700 16738.737 -0.10612056 0 5269.4961 14.503874 - 2750 16732.705 1.7939719 0 5269.4974 14.629294 - 2800 16738.558 -0.042867033 0 5269.5032 14.519893 - 2850 16738.499 -0.01271227 0 5269.5146 14.518524 - 2900 16738.486 -0.0032778045 0 5269.52 14.518712 - 2950 16738.482 -0.0089544631 0 5269.5133 14.518629 - 3000 16738.647 -0.070862542 0 5269.5031 14.51803 - 3050 16678.313 18.829038 0 5269.409 15.533426 - 3100 16632.312 33.399217 0 5269.4975 14.588597 - 3150 16739.318 -0.31388148 0 5269.4715 13.520782 - 3200 16727.951 3.26736 0 5269.4741 12.288358 - 3250 16686.364 16.353793 0 5269.4682 14.152517 - 3300 16738.532 -0.031574462 0 5269.5064 13.310615 - 3350 16738.454 -0.0062292918 0 5269.5071 13.308187 - 3400 16738.445 -0.0049349125 0 5269.5055 13.308178 - 3450 16738.489 -0.021623738 0 5269.5026 13.308001 - 3500 16737.78 0.19719043 0 5269.4983 13.325999 - 3550 16658.578 25.116206 0 5269.4834 13.778249 - 3600 16738.51 -0.032864725 0 5269.4981 12.392389 - 3650 16738.899 -0.15952703 0 5269.4938 12.383503 - 3700 16738.879 -0.16025994 0 5269.487 12.382575 - 3750 16738.878 -0.16608251 0 5269.4806 12.382765 - 3800 16738.591 -0.078679341 0 5269.4776 12.383227 - 3850 16738.429 -0.024729409 0 5269.4807 12.382942 - 3900 16738.399 -0.0062729967 0 5269.4897 12.383192 - 3950 16738.428 -0.002521266 0 5269.5027 12.383324 - 4000 16738.467 -0.0002068506 0 5269.5173 12.383474 - 4050 16738.488 0 0 5269.5241 12.383531 - 4100 16738.468 0 0 5269.5178 12.383482 - 4150 16738.422 0 0 5269.5033 12.383369 - 4200 16738.387 0 0 5269.4921 12.383281 - 4250 16738.383 0 0 5269.4908 12.38327 - 4300 16738.4 0 0 5269.4964 12.383314 - 4350 16738.423 0 0 5269.5036 12.38337 - 4400 16738.441 0 0 5269.5092 12.383414 - 4450 16738.45 0 0 5269.5121 12.383437 - 4500 16738.45 0 0 5269.5122 12.383438 - 4550 16738.442 0 0 5269.5095 12.383417 - 4600 16738.425 0 0 5269.5042 12.383376 - 4650 16738.404 -0.0014438316 0 5269.4961 12.383299 - 4700 16738.444 -0.024020551 0 5269.4862 12.382975 - 4750 16738.49 -0.04852143 0 5269.4761 12.385777 - 4800 16735.057 1.0347216 0 5269.4786 12.43543 - 4850 16735.441 0.92650925 0 5269.4913 12.418653 - 4900 16723.839 4.5908974 0 5269.5033 13.410103 - 4950 16738.531 -0.02153767 0 5269.5159 13.089982 - 5000 16738.45 -0.0042589697 0 5269.5077 13.090062 - 5050 16738.409 -0.00024692476 0 5269.4987 13.090038 - 5100 16738.404 0 0 5269.4976 13.090032 - 5150 16738.421 0 0 5269.5029 13.090073 - 5200 16738.44 0 0 5269.5087 13.090119 - 5250 16738.448 -0.001279392 0 5269.5102 13.090114 - 5300 16738.456 -0.0064376391 0 5269.5075 13.090026 - 5350 16738.479 -0.020383841 0 5269.5007 13.089897 - 5400 16735.845 0.7988947 0 5269.4909 13.136244 - 5450 16735.558 0.87620022 0 5269.4778 12.324482 - 5500 16711.494 8.4724178 0 5269.4984 12.656579 - 5550 16454.525 89.074815 0 5269.2031 16.996503 - 5600 16713.084 7.9801418 0 5269.5065 13.774979 - 5650 16738.676 -0.079987748 0 5269.5033 13.168297 - 5700 16446.281 91.866085 0 5269.399 23.764663 - 5750 16738.549 -0.039869084 0 5269.5034 13.378122 - 5800 16738.487 -0.014994478 0 5269.5086 13.378399 - 5850 16738.466 -0.0051267616 0 5269.512 13.37856 - 5900 16738.462 -0.0043690142 0 5269.5113 13.378573 - 5950 16738.528 -0.032727415 0 5269.5039 13.378197 - 6000 16702.774 10.969438 0 5269.2502 13.788852 - 6050 16682.271 17.483137 0 5269.3092 13.353101 - 6100 16738.508 -0.028838222 0 5269.5016 12.521084 - 6150 16738.425 -0.0067595536 0 5269.4974 12.521223 - 6200 16738.401 -0.0011499893 0 5269.4955 12.521254 - 6250 16738.455 0 0 5269.5135 12.52141 - 6300 16738.523 0 0 5269.5352 12.52158 - 6350 16738.503 0 0 5269.5287 12.521531 - 6400 16738.427 0 0 5269.5047 12.521344 - 6450 16738.399 0 0 5269.496 12.521274 - 6500 16738.425 0 0 5269.5042 12.521337 - 6550 16738.441 0 0 5269.5093 12.521378 - 6600 16738.42 0 0 5269.5025 12.521326 - 6650 16738.398 0 0 5269.4957 12.521272 - 6700 16738.435 0 0 5269.5074 12.521362 - 6750 16738.505 0 0 5269.5293 12.521534 - 6800 16738.508 0 0 5269.5303 12.521543 - 6850 16738.446 0 0 5269.5108 12.521391 - 6900 16738.414 0 0 5269.5009 12.521312 - 6950 16738.432 0 0 5269.5063 12.521354 - 7000 16738.444 0 0 5269.5102 12.521385 - 7050 16738.421 0 0 5269.5029 12.521329 - 7100 16738.393 0 0 5269.4941 12.521259 - 7150 16738.419 0 0 5269.5022 12.521322 - 7200 16738.489 0 0 5269.5244 12.521495 - 7250 16738.505 0 0 5269.5293 12.521535 - 7300 16738.443 0 0 5269.5098 12.521383 - 7350 16738.404 0 0 5269.4976 12.521287 - 7400 16738.43 0 0 5269.5058 12.52135 - 7450 16738.461 0 0 5269.5156 12.521427 - 7500 16738.447 0 0 5269.5109 12.521392 - 7550 16738.407 0 0 5269.4986 12.521295 - 7600 16738.412 0 0 5269.5002 12.521306 - 7650 16738.478 0 0 5269.5208 12.521467 - 7700 16738.51 0 0 5269.5309 12.521547 - 7750 16738.454 0 0 5269.5135 12.521412 - 7800 16738.398 0 0 5269.4958 12.521273 - 7850 16738.407 -0.0002118108 0 5269.4982 12.521289 - 7900 16738.441 -0.00021679711 0 5269.509 12.521373 - 7950 16738.446 -0.00023848139 0 5269.5107 12.521386 - 8000 16738.423 0 0 5269.5035 12.521333 - 8050 16738.423 0 0 5269.5034 12.521332 - 8100 16738.478 -0.00069622994 0 5269.52 12.521454 - 8150 16738.523 -0.0040058408 0 5269.531 12.521501 - 8200 16738.486 -0.0092298229 0 5269.5142 12.521334 - 8250 16738.458 -0.023189671 0 5269.4914 12.521014 - 8300 16738.513 -0.045845677 0 5269.4861 12.520779 - 8350 16723.745 4.5690412 0 5269.4516 12.849325 - 8400 16738.466 -0.020158442 0 5269.497 12.835773 - 8450 16738.437 -0.012822892 0 5269.4952 12.829936 - 8500 16738.408 -0.0016837088 0 5269.4972 12.830061 - 8550 16738.464 -0.00097379467 0 5269.5155 12.830216 - 8600 16738.669 -0.050578079 0 5269.5304 12.829934 - 8650 15917.563 250.28318 0 5261.3678 24.54572 - 8700 16738.445 0.0012168759 0 5269.5117 10.589499 - 8750 16738.473 -0.010164589 0 5269.509 10.588414 - 8800 16738.468 0 0 5269.5177 10.588633 - 8850 16738.508 0 0 5269.5304 10.588733 - 8900 16738.509 0 0 5269.5307 10.588736 - 8950 16738.496 0 0 5269.5266 10.588705 - 9000 16738.477 0 0 5269.5204 10.588656 - 9050 16738.455 0 0 5269.5135 10.588602 - 9100 16738.477 0 0 5269.5206 10.588656 - 9150 16738.512 0 0 5269.5316 10.588743 - 9200 16738.502 0 0 5269.5285 10.58872 - 9250 16738.493 0 0 5269.5255 10.588696 - 9300 16738.482 0 0 5269.522 10.588669 - 9350 16738.46 0 0 5269.5151 10.588615 - 9400 16738.481 0 0 5269.5217 10.588665 - 9450 16738.509 0 0 5269.5307 10.588736 - 9500 16738.491 0 0 5269.5248 10.58869 - 9550 16738.484 0 0 5269.5227 10.588674 - 9600 16738.483 0 0 5269.5223 10.588671 - 9650 16738.464 0 0 5269.5166 10.588626 - 9700 16738.484 0 0 5269.5229 10.588674 - 9750 16738.507 0 0 5269.5301 10.588731 - 9800 16738.482 0 0 5269.5221 10.588669 - 9850 16738.478 0 0 5269.5208 10.588659 - 9900 16738.487 -0.00030979474 0 5269.5233 10.588675 - 9950 16738.476 -0.00095968581 0 5269.5193 10.588632 - 10000 16738.494 -0.00062717822 0 5269.5253 10.588684 -Loop time of 0.171181 on 1 procs for 10000 steps with 81 atoms - -Performance: 504728.317 tau/day, 58417.629 timesteps/s -97.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.011004 | 0.011004 | 0.011004 | 0.0 | 6.43 -Neigh | 0.041984 | 0.041984 | 0.041984 | 0.0 | 24.53 -Comm | 0.012262 | 0.012262 | 0.012262 | 0.0 | 7.16 -Output | 0.0017002 | 0.0017002 | 0.0017002 | 0.0 | 0.99 -Modify | 0.098894 | 0.098894 | 0.098894 | 0.0 | 57.77 -Other | | 0.005337 | | | 3.12 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 49 ave 49 max 49 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 3 ave 3 max 3 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 3 -Ave neighs/atom = 0.037037 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.nve.g++.4 b/examples/rigid/log.27Nov18.rigid.nve.g++.4 deleted file mode 100644 index bc79d9730f..0000000000 --- a/examples/rigid/log.27Nov18.rigid.nve.g++.4 +++ /dev/null @@ -1,335 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Neighbor list info ... - update every 1 steps, delay 10 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 = 18 18 18 - 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/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.95 | 4.044 | 4.326 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.69 571.70921 0 5265.8153 32.005816 - 100 16298.128 136.75661 0 5267.6488 16.449029 - 150 16682.532 17.504156 0 5269.4124 14.901186 - 200 16733.906 1.3755079 0 5269.4571 14.571305 - 250 16738.861 -0.15272039 0 5269.4886 14.498342 - 300 16738.608 -0.055216883 0 5269.5066 14.498 - 350 16738.5 -0.017457072 0 5269.5104 14.498392 - 400 16738.451 -0.0060161309 0 5269.5063 14.49851 - 450 16738.435 -0.001271965 0 5269.5059 14.498571 - 500 16738.443 -0.00081074175 0 5269.509 14.498598 - 550 16738.452 -0.00083208965 0 5269.5118 14.498618 - 600 16738.45 -0.00058358431 0 5269.5116 14.498617 - 650 16738.443 -0.00047228525 0 5269.5093 14.4986 - 700 16738.444 0 0 5269.5102 14.498612 - 750 16738.461 0 0 5269.5157 14.498654 - 800 16738.479 0 0 5269.521 14.498697 - 850 16738.473 0 0 5269.5192 14.498683 - 900 16738.449 0 0 5269.5116 14.498624 - 950 16738.438 -0.0035324203 0 5269.5046 14.498537 - 1000 16738.562 -0.051134242 0 5269.4963 14.498093 - 1050 16737.343 0.32970192 0 5269.4934 14.527634 - 1100 16737.878 0.16213235 0 5269.4941 14.533864 - 1150 16738.682 -0.089236256 0 5269.4959 14.511765 - 1200 16738.444 -0.0075446558 0 5269.5025 14.512479 - 1250 16738.45 0 0 5269.5119 14.512611 - 1300 16738.475 0 0 5269.5199 14.512673 - 1350 16738.484 0 0 5269.5228 14.512696 - 1400 16738.469 -0.00044683992 0 5269.5175 14.512651 - 1450 16738.45 -0.0010933363 0 5269.511 14.512595 - 1500 16738.445 -0.00057484239 0 5269.51 14.512591 - 1550 16738.451 0 0 5269.5123 14.512615 - 1600 16738.452 0 0 5269.5127 14.512618 - 1650 16738.443 0 0 5269.5099 14.512596 - 1700 16738.433 0 0 5269.5068 14.512572 - 1750 16738.438 0 0 5269.5084 14.512584 - 1800 16738.459 0 0 5269.5149 14.512635 - 1850 16738.473 0 0 5269.5193 14.51267 - 1900 16738.462 0 0 5269.5159 14.512644 - 1950 16738.446 -0.0032069962 0 5269.5076 14.512539 - 2000 16738.463 -0.013425408 0 5269.5027 14.512382 - 2050 16738.535 -0.036964311 0 5269.5017 14.512152 - 2100 16738.621 -0.063490509 0 5269.5023 14.512108 - 2150 16738.594 -0.056143934 0 5269.5012 14.512117 - 2200 16738.536 -0.038486645 0 5269.5007 14.512277 - 2250 16738.496 -0.023712406 0 5269.503 14.51242 - 2300 16738.488 -0.013209094 0 5269.5109 14.51255 - 2350 16738.486 -0.0045244524 0 5269.519 14.512693 - 2400 16738.475 -0.00051678325 0 5269.5194 14.512743 - 2450 16738.456 -0.0023209272 0 5269.5115 14.512659 - 2500 16738.442 -0.0052101787 0 5269.5042 14.512594 - 2550 16738.552 -0.04420046 0 5269.4998 14.512177 - 2600 16738.42 -0.004347531 0 5269.4982 14.512783 - 2650 16734.241 1.3131302 0 5269.5 14.577195 - 2700 16738.737 -0.10612056 0 5269.4961 14.503874 - 2750 16732.705 1.7939719 0 5269.4974 14.629294 - 2800 16738.558 -0.042867033 0 5269.5032 14.519893 - 2850 16738.499 -0.01271227 0 5269.5146 14.518524 - 2900 16738.486 -0.0032778045 0 5269.52 14.518712 - 2950 16738.482 -0.0089544631 0 5269.5133 14.518629 - 3000 16738.647 -0.070862542 0 5269.5031 14.51803 - 3050 16678.313 18.829038 0 5269.409 15.533426 - 3100 16632.312 33.399217 0 5269.4975 14.588597 - 3150 16739.318 -0.31388148 0 5269.4715 13.520782 - 3200 16727.951 3.26736 0 5269.4741 12.288358 - 3250 16686.364 16.353793 0 5269.4682 14.152517 - 3300 16738.532 -0.031574462 0 5269.5064 13.310615 - 3350 16738.454 -0.0062292918 0 5269.5071 13.308187 - 3400 16738.445 -0.0049349125 0 5269.5055 13.308178 - 3450 16738.489 -0.021623738 0 5269.5026 13.308001 - 3500 16737.78 0.19719043 0 5269.4983 13.325999 - 3550 16658.578 25.116206 0 5269.4834 13.778249 - 3600 16738.51 -0.032864725 0 5269.4981 12.392389 - 3650 16738.899 -0.15952703 0 5269.4938 12.383503 - 3700 16738.879 -0.16025994 0 5269.487 12.382575 - 3750 16738.878 -0.16608251 0 5269.4806 12.382765 - 3800 16738.591 -0.078679341 0 5269.4776 12.383227 - 3850 16738.429 -0.024729409 0 5269.4807 12.382942 - 3900 16738.399 -0.0062729967 0 5269.4897 12.383192 - 3950 16738.428 -0.002521266 0 5269.5027 12.383324 - 4000 16738.467 -0.0002068506 0 5269.5173 12.383474 - 4050 16738.488 0 0 5269.5241 12.383531 - 4100 16738.468 0 0 5269.5178 12.383482 - 4150 16738.422 0 0 5269.5033 12.383369 - 4200 16738.387 0 0 5269.4921 12.383281 - 4250 16738.383 0 0 5269.4908 12.38327 - 4300 16738.4 0 0 5269.4964 12.383314 - 4350 16738.423 0 0 5269.5036 12.38337 - 4400 16738.441 0 0 5269.5092 12.383414 - 4450 16738.45 0 0 5269.5121 12.383437 - 4500 16738.45 0 0 5269.5122 12.383438 - 4550 16738.442 0 0 5269.5095 12.383417 - 4600 16738.425 0 0 5269.5042 12.383376 - 4650 16738.404 -0.0014438316 0 5269.4961 12.383299 - 4700 16738.444 -0.024020551 0 5269.4862 12.382975 - 4750 16738.49 -0.048521428 0 5269.4761 12.385777 - 4800 16735.057 1.0347217 0 5269.4786 12.43543 - 4850 16735.441 0.92650925 0 5269.4913 12.418653 - 4900 16723.839 4.5908973 0 5269.5033 13.410103 - 4950 16738.531 -0.02153767 0 5269.5159 13.089982 - 5000 16738.45 -0.0042589696 0 5269.5077 13.090062 - 5050 16738.409 -0.00024692476 0 5269.4987 13.090038 - 5100 16738.404 0 0 5269.4976 13.090032 - 5150 16738.421 0 0 5269.5029 13.090073 - 5200 16738.44 0 0 5269.5087 13.090119 - 5250 16738.448 -0.001279392 0 5269.5102 13.090114 - 5300 16738.456 -0.0064376392 0 5269.5075 13.090026 - 5350 16738.479 -0.020383842 0 5269.5007 13.089897 - 5400 16735.845 0.79889474 0 5269.4909 13.136244 - 5450 16735.558 0.87619992 0 5269.4778 12.324482 - 5500 16711.494 8.4724208 0 5269.4984 12.656579 - 5550 16454.525 89.074816 0 5269.2031 16.996503 - 5600 16713.084 7.9801334 0 5269.5065 13.774977 - 5650 16738.676 -0.079987764 0 5269.5033 13.168295 - 5700 16446.281 91.866085 0 5269.399 23.764662 - 5750 16738.549 -0.039869084 0 5269.5034 13.378121 - 5800 16738.487 -0.014994475 0 5269.5086 13.378397 - 5850 16738.466 -0.0051267556 0 5269.512 13.378559 - 5900 16738.462 -0.0043690097 0 5269.5113 13.378572 - 5950 16738.528 -0.03272741 0 5269.5039 13.378195 - 6000 16702.774 10.969434 0 5269.2502 13.788851 - 6050 16682.271 17.483158 0 5269.3092 13.3531 - 6100 16738.508 -0.028838239 0 5269.5016 12.521082 - 6150 16738.425 -0.0067595542 0 5269.4974 12.521221 - 6200 16738.401 -0.0011499896 0 5269.4955 12.521252 - 6250 16738.455 0 0 5269.5135 12.521408 - 6300 16738.523 0 0 5269.5352 12.521578 - 6350 16738.503 0 0 5269.5287 12.52153 - 6400 16738.427 0 0 5269.5047 12.521342 - 6450 16738.399 0 0 5269.496 12.521273 - 6500 16738.425 0 0 5269.5042 12.521336 - 6550 16738.441 0 0 5269.5093 12.521377 - 6600 16738.42 0 0 5269.5025 12.521324 - 6650 16738.398 0 0 5269.4957 12.52127 - 6700 16738.435 0 0 5269.5074 12.52136 - 6750 16738.505 0 0 5269.5293 12.521532 - 6800 16738.508 0 0 5269.5303 12.521541 - 6850 16738.446 0 0 5269.5108 12.521389 - 6900 16738.414 0 0 5269.5009 12.521311 - 6950 16738.432 0 0 5269.5063 12.521353 - 7000 16738.444 0 0 5269.5102 12.521383 - 7050 16738.421 0 0 5269.5029 12.521327 - 7100 16738.393 0 0 5269.4941 12.521258 - 7150 16738.419 0 0 5269.5022 12.52132 - 7200 16738.489 0 0 5269.5244 12.521494 - 7250 16738.505 0 0 5269.5293 12.521533 - 7300 16738.443 0 0 5269.5098 12.521381 - 7350 16738.404 0 0 5269.4976 12.521285 - 7400 16738.43 0 0 5269.5058 12.521348 - 7450 16738.461 0 0 5269.5156 12.521425 - 7500 16738.447 0 0 5269.5109 12.52139 - 7550 16738.407 0 0 5269.4986 12.521293 - 7600 16738.412 0 0 5269.5002 12.521305 - 7650 16738.478 0 0 5269.5208 12.521465 - 7700 16738.51 0 0 5269.5309 12.521546 - 7750 16738.454 0 0 5269.5135 12.52141 - 7800 16738.398 0 0 5269.4958 12.521272 - 7850 16738.407 -0.00021180981 0 5269.4982 12.521288 - 7900 16738.441 -0.0002167964 0 5269.509 12.521371 - 7950 16738.446 -0.00023848065 0 5269.5107 12.521385 - 8000 16738.423 0 0 5269.5035 12.521331 - 8050 16738.423 0 0 5269.5034 12.52133 - 8100 16738.478 -0.00069623408 0 5269.52 12.521452 - 8150 16738.523 -0.0040058355 0 5269.531 12.521499 - 8200 16738.486 -0.0092298325 0 5269.5142 12.521332 - 8250 16738.458 -0.023189665 0 5269.4914 12.521012 - 8300 16738.513 -0.045846242 0 5269.4861 12.520778 - 8350 16723.742 4.5698786 0 5269.4516 12.849386 - 8400 16738.466 -0.02016972 0 5269.497 12.835784 - 8450 16738.437 -0.012822703 0 5269.4952 12.829948 - 8500 16738.408 -0.0016836132 0 5269.4972 12.830073 - 8550 16738.464 -0.00097380297 0 5269.5155 12.830227 - 8600 16738.669 -0.050578946 0 5269.5304 12.829946 - 8650 15917.707 250.24016 0 5261.3702 24.544744 - 8700 16738.445 0.0010615265 0 5269.5117 10.589987 - 8750 16738.473 -0.010158834 0 5269.509 10.588904 - 8800 16738.468 0 0 5269.5176 10.589124 - 8850 16738.508 0 0 5269.5304 10.589223 - 8900 16738.509 0 0 5269.5306 10.589226 - 8950 16738.496 0 0 5269.5266 10.589195 - 9000 16738.477 0 0 5269.5204 10.589147 - 9050 16738.455 0 0 5269.5135 10.589092 - 9100 16738.477 0 0 5269.5206 10.589146 - 9150 16738.512 0 0 5269.5316 10.589233 - 9200 16738.502 0 0 5269.5285 10.58921 - 9250 16738.493 0 0 5269.5255 10.589186 - 9300 16738.482 0 0 5269.522 10.589159 - 9350 16738.46 0 0 5269.5151 10.589105 - 9400 16738.481 0 0 5269.5217 10.589155 - 9450 16738.509 0 0 5269.5307 10.589226 - 9500 16738.491 0 0 5269.5248 10.589181 - 9550 16738.484 0 0 5269.5227 10.589164 - 9600 16738.483 0 0 5269.5223 10.589161 - 9650 16738.464 0 0 5269.5166 10.589116 - 9700 16738.484 0 0 5269.5228 10.589164 - 9750 16738.507 0 0 5269.5301 10.589221 - 9800 16738.482 0 0 5269.5221 10.589159 - 9850 16738.478 0 0 5269.5208 10.589149 - 9900 16738.487 -0.00030979591 0 5269.5233 10.589165 - 9950 16738.476 -0.0009596827 0 5269.5193 10.589123 - 10000 16738.494 -0.0006271698 0 5269.5253 10.589175 -Loop time of 0.212511 on 4 procs for 10000 steps with 81 atoms - -Performance: 406566.385 tau/day, 47056.295 timesteps/s -91.9% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0032909 | 0.0039915 | 0.0048544 | 0.9 | 1.88 -Neigh | 0.011434 | 0.01325 | 0.016991 | 1.9 | 6.24 -Comm | 0.076038 | 0.082493 | 0.088069 | 1.5 | 38.82 -Output | 0.0031183 | 0.0045295 | 0.0086036 | 3.5 | 2.13 -Modify | 0.099662 | 0.10206 | 0.10679 | 0.9 | 48.02 -Other | | 0.00619 | | | 2.91 - -Nlocal: 20.25 ave 34 max 9 min -Histogram: 2 0 0 0 0 0 0 1 0 1 -Nghost: 38.5 ave 43 max 26 min -Histogram: 1 0 0 0 0 0 0 0 0 3 -Neighs: 0.75 ave 2 max 0 min -Histogram: 2 0 0 0 0 1 0 0 0 1 - -Total # of neighbors = 3 -Ave neighs/atom = 0.037037 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.property.g++.1 b/examples/rigid/log.27Nov18.rigid.property.g++.1 deleted file mode 100644 index e6ab4ed102..0000000000 --- a/examples/rigid/log.27Nov18.rigid.property.g++.1 +++ /dev/null @@ -1,340 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic -atom_modify map array - -pair_style lj/cut 2.5 - -fix 0 all property/atom i_bodies - -read_data data.rigid-property fix 0 NULL Bodies - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - -velocity all create 100.0 4928459 - - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -# assemble bodies from per-atom custom integer property bodies -fix 1 all rigid custom i_bodies -9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Neighbor list info ... - update every 1 steps, delay 10 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 = 18 18 18 - 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/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.046 | 4.046 | 4.046 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.972284e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690666 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652434 0 5269.5216 12.011692 - 9550 16738.493 -0.005315616 0 5269.5203 12.011611 - 9600 16738.549 -0.026814368 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589885 0 5269.4979 12.062708 - 9750 16738.013 0.13550123 0 5269.5101 11.407245 - 9800 16738.512 -0.011620328 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270523 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984554 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.156049 on 1 procs for 10000 steps with 81 atoms - -Performance: 553673.043 tau/day, 64082.528 timesteps/s -97.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.010187 | 0.010187 | 0.010187 | 0.0 | 6.53 -Neigh | 0.040601 | 0.040601 | 0.040601 | 0.0 | 26.02 -Comm | 0.013221 | 0.013221 | 0.013221 | 0.0 | 8.47 -Output | 0.0016611 | 0.0016611 | 0.0016611 | 0.0 | 1.06 -Modify | 0.085107 | 0.085107 | 0.085107 | 0.0 | 54.54 -Other | | 0.005271 | | | 3.38 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 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 = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.property.g++.4 b/examples/rigid/log.27Nov18.rigid.property.g++.4 deleted file mode 100644 index f63e34bc4b..0000000000 --- a/examples/rigid/log.27Nov18.rigid.property.g++.4 +++ /dev/null @@ -1,340 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic -atom_modify map array - -pair_style lj/cut 2.5 - -fix 0 all property/atom i_bodies - -read_data data.rigid-property fix 0 NULL Bodies - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - -velocity all create 100.0 4928459 - - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -# assemble bodies from per-atom custom integer property bodies -fix 1 all rigid custom i_bodies -9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Neighbor list info ... - update every 1 steps, delay 10 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 = 18 18 18 - 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/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.017 | 4.111 | 4.392 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722832e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706557 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690663 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532813 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652438 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156163 0 5269.5203 12.011611 - 9600 16738.549 -0.026814371 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589894 0 5269.4979 12.062708 - 9750 16738.013 0.13550109 0 5269.5101 11.407246 - 9800 16738.512 -0.011620327 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270507 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984555 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.198069 on 4 procs for 10000 steps with 81 atoms - -Performance: 436211.675 tau/day, 50487.462 timesteps/s -91.1% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0026007 | 0.0034987 | 0.0043218 | 1.0 | 1.77 -Neigh | 0.012213 | 0.013261 | 0.014237 | 0.8 | 6.70 -Comm | 0.073581 | 0.082048 | 0.087982 | 2.1 | 41.42 -Output | 0.0047908 | 0.0058783 | 0.009093 | 2.4 | 2.97 -Modify | 0.081998 | 0.086993 | 0.09176 | 1.4 | 43.92 -Other | | 0.00639 | | | 3.23 - -Nlocal: 20.25 ave 38 max 3 min -Histogram: 1 0 1 0 0 0 1 0 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 1 1 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 998 -Dangerous builds = 997 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.tnr.g++.1 b/examples/rigid/log.27Nov18.rigid.tnr.g++.1 deleted file mode 100644 index bf29e0b94b..0000000000 --- a/examples/rigid/log.27Nov18.rigid.tnr.g++.1 +++ /dev/null @@ -1,458 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Tethered nanorods - -atom_style molecular - -read_data data.rigid.tnr - orthogonal box = (-31.122 -31.122 -31.122) to (31.122 31.122 31.122) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 5600 atoms - scanning bonds ... - 1 = max bonds/atom - reading bonds ... - 1600 bonds - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - -# Specify bond parameters - -bond_style fene -bond_coeff 1 30.0 1.5 1.0 1.0 - -special_bonds fene - 2 = max # of 1-2 neighbors - 2 = max # of special neighbors - -# Specify initial velocities - -velocity all create 1.4 109345 - -# Specify rigid components - -group rods type 2 -4000 atoms in group rods -group tethers subtract all rods -1600 atoms in group tethers - -neigh_modify exclude molecule/intra rods delay 0 every 1 - -# Specify the pair potentials - -pair_style lj/cut 2.5 -pair_modify shift yes -pair_coeff * * 1.0 1.0 1.122 -pair_coeff 2 2 1.0 1.0 2.5 - -# Specify output - -thermo 100 -thermo_style custom step temp pe etotal press enthalpy lx ly lz pxx pyy pzz -thermo_modify flush yes lost warn - -timestep 0.005 - -fix 1 rods rigid molecule -800 rigid bodies with 4000 atoms -fix 2 tethers nve -fix 3 all langevin 1.4 1.4 1.0 437624 - -run 5000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 45 45 45 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 7.769 | 7.769 | 7.769 Mbytes -Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 0 1.3963219 5.9478449 7.0445809 0.048565317 9.13595 62.244 62.244 62.244 0.0091983659 0.11850113 0.017996458 - 100 1.3418512 5.9671777 7.0211299 0.025020362 8.0985822 62.244 62.244 62.244 0.02036076 0.038265078 0.016435248 - 200 1.3730638 5.9750802 7.0535483 0.0053287535 7.2830205 62.244 62.244 62.244 -0.00054924195 0.0092396988 0.0072958036 - 300 1.376262 5.9821642 7.0631443 0.0055536521 7.3023013 62.244 62.244 62.244 0.0033577704 0.0069111861 0.0063919998 - 400 1.3782954 5.9983628 7.08094 0.0020507385 7.169251 62.244 62.244 62.244 -0.0060862717 0.0098998072 0.0023386801 - 500 1.386863 6.0053312 7.0946377 -0.0009847031 7.0522334 62.244 62.244 62.244 -0.0038708372 0.0005697804 0.00034694745 - 600 1.4069849 6.0035719 7.1086832 0.0047883912 7.3148858 62.244 62.244 62.244 0.001069365 0.0078059505 0.0054898581 - 700 1.4423187 5.9982171 7.1310812 0.012141001 7.6539093 62.244 62.244 62.244 0.0094765272 0.011007593 0.015938883 - 800 1.4303878 5.9968168 7.1203098 -0.00081349095 7.0852784 62.244 62.244 62.244 0.0011153812 0.00041597298 -0.0039718271 - 900 1.4140538 5.9838168 7.0944803 0.00207609 7.183883 62.244 62.244 62.244 0.00043409671 0.0022778944 0.0035162788 - 1000 1.3906567 5.988119 7.0804053 0.0022005856 7.1751692 62.244 62.244 62.244 0.0077268425 -0.0022042977 0.0010792119 - 1100 1.3921992 5.9892203 7.0827181 0.0035041977 7.2336194 62.244 62.244 62.244 -0.0037576823 0.0040827951 0.01018748 - 1200 1.3968803 5.9795846 7.0767592 -0.0031072146 6.9429532 62.244 62.244 62.244 -0.0077387449 0.0033056124 -0.0048885115 - 1300 1.3755848 5.9739757 7.0544239 0.0092247106 7.4516677 62.244 62.244 62.244 0.0092788748 0.010737194 0.0076580625 - 1400 1.3847985 5.9703631 7.0580481 0.0071703598 7.3668254 62.244 62.244 62.244 0.0080485848 0.012260474 0.001202021 - 1500 1.4190051 5.956946 7.0714985 0.0035992903 7.2264948 62.244 62.244 62.244 -0.0055125437 0.01038369 0.0059267242 - 1600 1.3980036 5.9671666 7.0652236 0.0061819851 7.3314385 62.244 62.244 62.244 0.0062429141 0.0035120077 0.0087910334 - 1700 1.4276062 5.9610381 7.0823462 0.007832375 7.4196319 62.244 62.244 62.244 0.0083316819 0.0058394292 0.009326014 - 1800 1.4112769 5.9630595 7.0715419 0.0068032101 7.3645087 62.244 62.244 62.244 0.0065502252 0.0062317255 0.0076276797 - 1900 1.4276973 5.9489341 7.0703139 0.008397746 7.4319462 62.244 62.244 62.244 0.0148941 0.0032963108 0.0070028268 - 2000 1.4056158 5.9564624 7.0604983 0.0090470732 7.4500926 62.244 62.244 62.244 0.011871718 0.0086681344 0.0066013673 - 2100 1.3924778 5.9483611 7.0420778 0.0088893819 7.4248814 62.244 62.244 62.244 0.010247454 0.0097830093 0.0066376825 - 2200 1.3760401 5.9435877 7.0243935 -0.0042972782 6.8393397 62.244 62.244 62.244 -0.0050064436 -0.0046216999 -0.0032636911 - 2300 1.4191937 5.9334036 7.0481042 0.0047000032 7.2505006 62.244 62.244 62.244 0.0057709635 0.0044949165 0.0038341296 - 2400 1.4213285 5.9472214 7.0635988 0.010197674 7.5027414 62.244 62.244 62.244 0.008373826 0.0090537939 0.013165402 - 2500 1.4153808 5.9421661 7.0538718 0.00015906306 7.0607216 62.244 62.244 62.244 0.002351621 -0.0019814986 0.00010706677 - 2600 1.4014223 5.9431386 7.0438807 0.0070733749 7.3484816 62.244 62.244 62.244 0.0054143871 0.010055843 0.0057498948 - 2700 1.4138077 5.9369067 7.047377 0.0024268842 7.1518859 62.244 62.244 62.244 0.0052918436 0.0014960353 0.00049277371 - 2800 1.432192 5.9347676 7.0596777 0.0077670448 7.3941501 62.244 62.244 62.244 0.012668421 0.0059113033 0.0047214106 - 2900 1.3938659 5.921023 7.01583 0.0053751198 7.2472989 62.244 62.244 62.244 0.0020490372 0.0076566093 0.006419713 - 3000 1.390221 5.9205014 7.0124455 -0.0010750977 6.9661485 62.244 62.244 62.244 0.0019519817 -0.0041878885 -0.00098938611 - 3100 1.4205722 5.9178284 7.0336117 0.0098735475 7.4587965 62.244 62.244 62.244 0.0040973361 0.012167268 0.013356039 - 3200 1.398418 5.9150349 7.0134173 0.0061541841 7.2784351 62.244 62.244 62.244 0.0067621815 0.011952563 -0.00025219251 - 3300 1.4269859 5.9148727 7.0356937 0.0060623879 7.2967584 62.244 62.244 62.244 0.012956234 -2.4806661e-05 0.0052557362 - 3400 1.434286 5.9356705 7.0622253 0.00027315892 7.0739884 62.244 62.244 62.244 -0.00054959866 0.0052526278 -0.0038835524 - 3500 1.4416809 5.9228153 7.0551783 0.0083382977 7.4142506 62.244 62.244 62.244 0.007399393 0.0030328007 0.014582699 - 3600 1.4136063 5.9039442 7.0142562 0.0019712004 7.0991421 62.244 62.244 62.244 -0.00032316149 0.0035029874 0.0027337752 - 3700 1.4333819 5.9120101 7.0378548 0.0071287182 7.3448389 62.244 62.244 62.244 0.0064768218 0.0046765361 0.010232797 - 3800 1.3659481 5.9032873 6.9761663 -0.0054033416 6.7434821 62.244 62.244 62.244 -0.0073943479 -0.0082831992 -0.00053247772 - 3900 1.3963222 5.9042998 7.0010361 0.0053310264 7.2306062 62.244 62.244 62.244 0.0081855739 0.0048806019 0.0029269034 - 4000 1.4125482 5.9060665 7.0155474 0.0028450296 7.138063 62.244 62.244 62.244 0.0052588294 0.00072395285 0.0025523065 - 4100 1.3943951 5.9040875 6.9993102 0.0058050223 7.2492919 62.244 62.244 62.244 0.0060579697 0.0024782584 0.0088788387 - 4200 1.4249768 5.8906371 7.0098801 0.0030210669 7.1399763 62.244 62.244 62.244 0.006174431 -0.002079586 0.0049683557 - 4300 1.3899801 5.8966397 6.9883947 0.0057285402 7.2350829 62.244 62.244 62.244 0.0049048136 0.0021882328 0.010092574 - 4400 1.4414352 5.898628 7.0307981 0.0050932552 7.2501291 62.244 62.244 62.244 0.0057941393 0.0037951842 0.0056904421 - 4500 1.4092913 5.8922803 6.9992031 0.0012238869 7.0519073 62.244 62.244 62.244 0.0042907674 0.0014412643 -0.0020603711 - 4600 1.3779868 5.8928757 6.9752105 0.0020701322 7.0643566 62.244 62.244 62.244 0.0029283254 -0.0031683908 0.006450462 - 4700 1.4084635 5.9098782 7.0161508 -0.00052129502 6.9937023 62.244 62.244 62.244 -0.0018460523 -0.0018286314 0.0021107986 - 4800 1.4393258 5.9148464 7.0453597 0.015311954 7.7047386 62.244 62.244 62.244 0.014718813 0.01801777 0.013199278 - 4900 1.4500008 5.9076899 7.0465879 0.0075111779 7.3700419 62.244 62.244 62.244 0.0091865271 0.0080981174 0.0052488891 - 5000 1.4279632 5.9111567 7.0327453 -0.0014189553 6.9716408 62.244 62.244 62.244 -0.0046013754 0.0019937576 -0.001649248 -Loop time of 6.84203 on 1 procs for 5000 steps with 5600 atoms - -Performance: 315695.745 tau/day, 730.777 timesteps/s -99.5% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.53182 | 0.53182 | 0.53182 | 0.0 | 7.77 -Bond | 0.18231 | 0.18231 | 0.18231 | 0.0 | 2.66 -Neigh | 1.8709 | 1.8709 | 1.8709 | 0.0 | 27.34 -Comm | 0.18452 | 0.18452 | 0.18452 | 0.0 | 2.70 -Output | 0.0043087 | 0.0043087 | 0.0043087 | 0.0 | 0.06 -Modify | 3.8809 | 3.8809 | 3.8809 | 0.0 | 56.72 -Other | | 0.1873 | | | 2.74 - -Nlocal: 5600 ave 5600 max 5600 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1351 ave 1351 max 1351 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 5254 ave 5254 max 5254 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 5254 -Ave neighs/atom = 0.938214 -Ave special neighs/atom = 0.571429 -Neighbor list builds = 766 -Dangerous builds = 0 - -# Replace fix rigid and fix langevin with new ones - -unfix 1 -unfix 3 - -fix 3 tethers langevin 1.4 1.4 1.0 198450 - -# Test different integrators for rods - -fix 1 rods rigid/nve molecule -800 rigid bodies with 4000 atoms -print "rigid/nve" -rigid/nve -run 1000 -Per MPI rank memory allocation (min/avg/max) = 7.77 | 7.77 | 7.77 Mbytes -Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 5000 1.4279632 5.9111567 7.0327453 0.027874409 8.2331015 62.244 62.244 62.244 0.018992956 0.039655696 0.024974575 - 5100 1.439608 5.9052128 7.0359478 0.0060989863 7.2985885 62.244 62.244 62.244 0.0087364157 0.004022839 0.0055377041 - 5200 1.4120672 5.9102569 7.01936 0.0064301432 7.2962614 62.244 62.244 62.244 0.0082738077 0.0038925667 0.0071240551 - 5300 1.4452434 5.8842166 7.0193778 0.008172419 7.3713068 62.244 62.244 62.244 0.0077715647 0.0068924406 0.0098532518 - 5400 1.4170243 5.887522 7.0005186 0.0008656658 7.0377968 62.244 62.244 62.244 -9.1800583e-05 -0.0020237513 0.0047125493 - 5500 1.4209082 5.8758921 6.9919394 0.0093634084 7.395156 62.244 62.244 62.244 0.0088769348 0.0087092521 0.010504038 - 5600 1.4132978 5.8798939 6.9899636 0.0014877766 7.0540317 62.244 62.244 62.244 -0.0023427923 0.004559371 0.002246751 - 5700 1.4065053 5.887541 6.9922756 0.0028083452 7.1132114 62.244 62.244 62.244 0.0025188632 0.000510969 0.0053952035 - 5800 1.4079051 5.8940739 6.999908 0.0015946158 7.0685769 62.244 62.244 62.244 0.0037830287 0.00021751956 0.00078329927 - 5900 1.4076047 5.8941577 6.9997558 0.005189853 7.2232465 62.244 62.244 62.244 -0.00093244616 0.0096403542 0.0068616509 - 6000 1.4322772 5.8903539 7.0153309 0.00029752476 7.0281432 62.244 62.244 62.244 0.001913333 -0.00073790796 -0.00028285075 -Loop time of 1.40593 on 1 procs for 1000 steps with 5600 atoms - -Performance: 307270.224 tau/day, 711.274 timesteps/s -99.1% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.14844 | 0.14844 | 0.14844 | 0.0 | 10.56 -Bond | 0.036852 | 0.036852 | 0.036852 | 0.0 | 2.62 -Neigh | 0.40537 | 0.40537 | 0.40537 | 0.0 | 28.83 -Comm | 0.036592 | 0.036592 | 0.036592 | 0.0 | 2.60 -Output | 0.00085831 | 0.00085831 | 0.00085831 | 0.0 | 0.06 -Modify | 0.74053 | 0.74053 | 0.74053 | 0.0 | 52.67 -Other | | 0.03729 | | | 2.65 - -Nlocal: 5600 ave 5600 max 5600 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1347 ave 1347 max 1347 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 5399 ave 5399 max 5399 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 5399 -Ave neighs/atom = 0.964107 -Ave special neighs/atom = 0.571429 -Neighbor list builds = 153 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/nvt molecule temp 1.4 1.4 1.0 -800 rigid bodies with 4000 atoms -print "rigid/nvt" -rigid/nvt -run 1000 -Per MPI rank memory allocation (min/avg/max) = 7.77 | 7.77 | 7.77 Mbytes -Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 6000 1.4322772 5.8903539 7.0153309 0.012980585 7.574314 62.244 62.244 62.244 0.058317363 0.0073619377 -0.026737547 - 6100 1.4199699 5.8764035 6.9917138 0.0054065561 7.2245364 62.244 62.244 62.244 0.009227645 0.0019623802 0.0050296432 - 6200 1.3976825 5.8924426 6.9902474 0.00043900876 7.0091524 62.244 62.244 62.244 -0.0023073124 -0.00049925318 0.0041235918 - 6300 1.4077283 5.8847362 6.9904313 0.0066398301 7.2763625 62.244 62.244 62.244 0.0058018934 0.0091933877 0.0049242093 - 6400 1.3749203 5.8817073 6.9616336 0.0074967162 7.2844648 62.244 62.244 62.244 0.012281887 0.0039781589 0.0062301027 - 6500 1.3467096 5.8881264 6.9458946 -0.00011926349 6.9407588 62.244 62.244 62.244 0.0030721967 -0.0013265863 -0.0021034009 - 6600 1.3646558 5.8739857 6.9458497 0.0056064043 7.1872784 62.244 62.244 62.244 0.0059660337 0.0057680048 0.0050851745 - 6700 1.3927251 5.883612 6.9775229 0.0025583824 7.0876946 62.244 62.244 62.244 0.0030974706 0.0018499606 0.002727716 - 6800 1.4016999 5.9015886 7.0025488 0.0039070678 7.1707989 62.244 62.244 62.244 0.0068320586 0.0020056859 0.002883459 - 6900 1.4136745 5.8914714 7.001837 0.0051755091 7.22471 62.244 62.244 62.244 0.0028467792 0.0094052519 0.0032744962 - 7000 1.4286639 5.893567 7.0157059 0.0062957476 7.2868198 62.244 62.244 62.244 0.0047242086 0.0093408867 0.0048221474 -Loop time of 1.41045 on 1 procs for 1000 steps with 5600 atoms - -Performance: 306284.404 tau/day, 708.992 timesteps/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.1497 | 0.1497 | 0.1497 | 0.0 | 10.61 -Bond | 0.036719 | 0.036719 | 0.036719 | 0.0 | 2.60 -Neigh | 0.40272 | 0.40272 | 0.40272 | 0.0 | 28.55 -Comm | 0.036315 | 0.036315 | 0.036315 | 0.0 | 2.57 -Output | 0.00085187 | 0.00085187 | 0.00085187 | 0.0 | 0.06 -Modify | 0.747 | 0.747 | 0.747 | 0.0 | 52.96 -Other | | 0.03715 | | | 2.63 - -Nlocal: 5600 ave 5600 max 5600 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1284 ave 1284 max 1284 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 5677 ave 5677 max 5677 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 5677 -Ave neighs/atom = 1.01375 -Ave special neighs/atom = 0.571429 -Neighbor list builds = 151 -Dangerous builds = 0 -unfix 1 - -compute myTemp all temp - -fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 iso 0.05 0.05 1.0 dilate all -800 rigid bodies with 4000 atoms -print "rigid/npt iso" -rigid/npt iso -fix_modify 1 temp myTemp - -run 1000 -Per MPI rank memory allocation (min/avg/max) = 7.77 | 7.77 | 7.77 Mbytes -Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 7000 1.4286639 5.893567 7.0157059 0.032101512 8.3980939 62.244 62.244 62.244 0.0040045405 0.040447803 0.051852194 - 7100 1.4709161 5.8870949 7.0424207 0.019697134 7.6953761 57.045689 57.045689 57.045689 0.012929484 0.020492532 0.025669387 - 7200 1.5163078 5.8421187 7.0330973 0.018916867 7.46241 50.277171 50.277171 50.277171 0.017823354 0.026688031 0.012239218 - 7300 1.5675309 5.7752739 7.0064855 0.022899743 7.3829781 45.154874 45.154874 45.154874 0.019324617 0.024318577 0.025056034 - 7400 1.5432228 5.7513096 6.9634284 0.024381819 7.272744 41.416613 41.416613 41.416613 0.032026791 0.022254425 0.018864241 - 7500 1.5511419 5.7072564 6.9255953 0.030632381 7.2405167 38.613262 38.613262 38.613262 0.041572196 0.012539031 0.037785916 - 7600 1.5437461 5.6656571 6.8781869 0.031293788 7.1486082 36.440994 36.440994 36.440994 0.036220762 0.02125772 0.036402883 - 7700 1.5873874 5.6134986 6.8603063 0.04807003 7.221002 34.765744 34.765744 34.765744 0.031608235 0.053442472 0.059159381 - 7800 1.5079648 5.601961 6.7863866 0.031128515 6.9971673 33.59594 33.59594 33.59594 0.032932226 0.015950578 0.044502741 - 7900 1.4737447 5.5644198 6.7219673 0.099246661 7.3415696 32.698542 32.698542 32.698542 0.071386679 0.10758014 0.11877317 - 8000 1.4727947 5.5161158 6.6729171 0.072190554 7.0973199 32.050043 32.050043 32.050043 0.072806068 0.06277287 0.080992723 -Loop time of 3.15299 on 1 procs for 1000 steps with 5600 atoms - -Performance: 137012.841 tau/day, 317.159 timesteps/s -99.7% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.37069 | 0.37069 | 0.37069 | 0.0 | 11.76 -Bond | 0.05046 | 0.05046 | 0.05046 | 0.0 | 1.60 -Neigh | 1.4844 | 1.4844 | 1.4844 | 0.0 | 47.08 -Comm | 0.081178 | 0.081178 | 0.081178 | 0.0 | 2.57 -Output | 0.00083494 | 0.00083494 | 0.00083494 | 0.0 | 0.03 -Modify | 1.1163 | 1.1163 | 1.1163 | 0.0 | 35.41 -Other | | 0.0491 | | | 1.56 - -Nlocal: 5600 ave 5600 max 5600 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 2954 ave 2954 max 2954 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 25585 ave 25585 max 25585 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 25585 -Ave neighs/atom = 4.56875 -Ave special neighs/atom = 0.571429 -Neighbor list builds = 334 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 x 0.05 0.05 1.0 dilate all -800 rigid bodies with 4000 atoms -print "rigid/npt x" -rigid/npt x -run 1000 -Per MPI rank memory allocation (min/avg/max) = 7.785 | 7.785 | 7.785 Mbytes -Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 8000 1.4727947 5.5161158 6.6729171 0.13628586 7.4741313 32.050043 32.050043 32.050043 -0.030897367 0.27196335 0.1677916 - 8100 1.4522497 5.5136331 6.6542974 0.057107124 6.9895036 32.000184 32.050043 32.050043 0.049932793 0.056130194 0.065258384 - 8200 1.4407937 5.5014539 6.6331202 0.024119241 6.7733276 31.691157 32.050043 32.050043 0.041526366 0.022503949 0.0083274089 - 8300 1.4542258 5.496977 6.6391934 0.043395674 6.887667 31.215092 32.050043 32.050043 0.025407647 0.075227689 0.029551686 - 8400 1.4375595 5.4901345 6.6192605 0.013578023 6.6952098 30.494249 32.050043 32.050043 -0.0045150608 0.033500673 0.011748456 - 8500 1.4410736 5.4540565 6.5859426 0.017121222 6.679397 29.757445 32.050043 32.050043 0.035675932 -0.032105 0.047792733 - 8600 1.4372413 5.4150437 6.5439197 0.084045699 6.9949237 29.254706 32.050043 32.050043 0.10347392 0.073148157 0.075515024 - 8700 1.4299119 5.3982284 6.5213476 0.00045273296 6.5237411 28.822481 32.050043 32.050043 0.0093093459 0.0081538479 -0.016104995 - 8800 1.4677947 5.3637715 6.5166456 0.028621833 6.6651924 28.294159 32.050043 32.050043 0.033527613 0.036046563 0.016291323 - 8900 1.4625499 5.3483914 6.4971459 0.032843022 6.6649394 27.852402 32.050043 32.050043 0.040751528 0.055865445 0.0019120942 - 9000 1.4488382 5.3486741 6.4866589 0.087522574 6.9279711 27.488856 32.050043 32.050043 0.059432129 0.10936517 0.093770421 -Loop time of 3.09429 on 1 procs for 1000 steps with 5600 atoms - -Performance: 139611.779 tau/day, 323.175 timesteps/s -99.7% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.57714 | 0.57714 | 0.57714 | 0.0 | 18.65 -Bond | 0.051715 | 0.051715 | 0.051715 | 0.0 | 1.67 -Neigh | 1.223 | 1.223 | 1.223 | 0.0 | 39.52 -Comm | 0.066183 | 0.066183 | 0.066183 | 0.0 | 2.14 -Output | 0.00086594 | 0.00086594 | 0.00086594 | 0.0 | 0.03 -Modify | 1.1355 | 1.1355 | 1.1355 | 0.0 | 36.70 -Other | | 0.03994 | | | 1.29 - -Nlocal: 5600 ave 5600 max 5600 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 3381 ave 3381 max 3381 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 31737 ave 31737 max 31737 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 31737 -Ave neighs/atom = 5.66732 -Ave special neighs/atom = 0.571429 -Neighbor list builds = 169 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/nph molecule iso 0.05 0.05 1.0 dilate all -800 rigid bodies with 4000 atoms -print "rigid/nph iso" -rigid/nph iso -run 1000 -Per MPI rank memory allocation (min/avg/max) = 7.788 | 7.788 | 7.788 Mbytes -Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 9000 1.4488382 5.3486741 6.4866589 0.20124138 7.5013717 27.488856 32.050043 32.050043 0.22160189 0.42145658 -0.039334342 - 9100 1.4408457 5.3612674 6.4929746 0.076331412 6.8758499 27.440968 31.994208 31.994208 0.083838068 0.041724506 0.10343166 - 9200 1.4870445 5.3340546 6.5020483 0.01010773 6.5521592 27.334266 31.869802 31.869802 0.024563803 -0.0068003493 0.012559737 - 9300 1.4376808 5.3295183 6.4587396 0.10720051 6.9752889 27.076116 31.568817 31.568817 0.11844426 0.10444301 0.09871425 - 9400 1.4621325 5.3011274 6.4495541 0.071127232 6.7846388 26.873295 31.332342 31.332342 0.091608834 0.02680694 0.094965923 - 9500 1.4463444 5.3005044 6.4365304 0.0011545049 6.4418432 26.664 31.088319 31.088319 -0.030551889 0.036011952 -0.0019965484 - 9600 1.4473406 5.2912939 6.4281024 0.066132857 6.7281169 26.537276 30.940568 30.940568 0.12276096 0.013455525 0.06218208 - 9700 1.4520445 5.2707214 6.4112246 0.077219765 6.757956 26.446587 30.834832 30.834832 0.073829267 0.11047347 0.047356559 - 9800 1.4825713 5.246644 6.4111243 0.061402527 6.6831281 26.327581 30.696078 30.696078 0.091860222 0.022619578 0.06972778 - 9900 1.4795219 5.2344495 6.3965347 0.086345107 6.7729623 26.187615 30.532888 30.532888 0.077396265 0.11142542 0.07021363 - 10000 1.4527053 5.2126819 6.3537041 0.045117764 6.5474705 26.057038 30.380645 30.380645 0.011087188 0.058029185 0.066236921 -Loop time of 3.25046 on 1 procs for 1000 steps with 5600 atoms - -Performance: 132904.162 tau/day, 307.649 timesteps/s -99.7% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.68223 | 0.68223 | 0.68223 | 0.0 | 20.99 -Bond | 0.05211 | 0.05211 | 0.05211 | 0.0 | 1.60 -Neigh | 1.2617 | 1.2617 | 1.2617 | 0.0 | 38.82 -Comm | 0.069407 | 0.069407 | 0.069407 | 0.0 | 2.14 -Output | 0.00085688 | 0.00085688 | 0.00085688 | 0.0 | 0.03 -Modify | 1.1438 | 1.1438 | 1.1438 | 0.0 | 35.19 -Other | | 0.04037 | | | 1.24 - -Nlocal: 5600 ave 5600 max 5600 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 3756 ave 3756 max 3756 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 37360 ave 37360 max 37360 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 37360 -Ave neighs/atom = 6.67143 -Ave special neighs/atom = 0.571429 -Neighbor list builds = 158 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/nph molecule x 0.05 0.05 1.0 y 0.05 0.05 1.0 couple xy dilate all -800 rigid bodies with 4000 atoms -print "rigid/nph xy couple" -rigid/nph xy couple -run 1000 -Per MPI rank memory allocation (min/avg/max) = 7.795 | 7.795 | 7.795 Mbytes -Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 10000 1.4527053 5.2126819 6.3537041 0.056937886 6.5982342 26.057038 30.380645 30.380645 -0.37001102 0.18554825 0.35527643 - 10100 1.4606958 5.2220088 6.3693071 0.10308269 6.8132489 26.093341 30.422971 30.380645 0.12567436 0.057087258 0.12648646 - 10200 1.4429187 5.2134399 6.3467753 0.022637194 6.4450326 26.195743 30.542365 30.380645 0.010739012 0.071921542 -0.014748971 - 10300 1.4559104 5.2293511 6.3728908 0.0079467818 6.4073504 26.182966 30.527467 30.380645 -0.014274944 0.032205181 0.0059101087 - 10400 1.4741126 5.2072221 6.3650586 0.095611559 6.7814715 26.240156 30.594148 30.380645 0.073579289 0.092441893 0.12081349 - 10500 1.4411698 5.2173262 6.3492878 0.010458046 6.3947259 26.208633 30.557393 30.380645 0.036794882 -0.0051462954 -0.00027444949 - 10600 1.4492728 5.1940541 6.3323802 0.042602534 6.5163992 26.132032 30.468083 30.380645 0.090116773 0.0022769844 0.035413845 - 10700 1.4599974 5.1895935 6.3363432 0.05533717 6.573197 26.013045 30.329352 30.380645 0.070180878 0.08084881 0.014981824 - 10800 1.4781084 5.1724704 6.3334454 0.031843587 6.4690539 25.947295 30.252692 30.380645 0.0041524129 0.077618702 0.013759645 - 10900 1.4410507 5.1708846 6.3027527 0.020221033 6.3881531 25.839719 30.127267 30.380645 -0.0014092876 0.014833141 0.047239245 - 11000 1.4150286 5.1756927 6.2871219 0.039768792 6.45242 25.63435 29.887821 30.380645 0.034930907 0.032278926 0.052096542 -Loop time of 3.43774 on 1 procs for 1000 steps with 5600 atoms - -Performance: 125663.855 tau/day, 290.889 timesteps/s -99.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.75066 | 0.75066 | 0.75066 | 0.0 | 21.84 -Bond | 0.053177 | 0.053177 | 0.053177 | 0.0 | 1.55 -Neigh | 1.3577 | 1.3577 | 1.3577 | 0.0 | 39.49 -Comm | 0.07294 | 0.07294 | 0.07294 | 0.0 | 2.12 -Output | 0.00086403 | 0.00086403 | 0.00086403 | 0.0 | 0.03 -Modify | 1.1612 | 1.1612 | 1.1612 | 0.0 | 33.78 -Other | | 0.0412 | | | 1.20 - -Nlocal: 5600 ave 5600 max 5600 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 3904 ave 3904 max 3904 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 39666 ave 39666 max 39666 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 39666 -Ave neighs/atom = 7.08321 -Ave special neighs/atom = 0.571429 -Neighbor list builds = 159 -Dangerous builds = 0 - -Total wall time: 0:00:22 diff --git a/examples/rigid/log.27Nov18.rigid.tnr.g++.4 b/examples/rigid/log.27Nov18.rigid.tnr.g++.4 deleted file mode 100644 index 1fa53eb8d3..0000000000 --- a/examples/rigid/log.27Nov18.rigid.tnr.g++.4 +++ /dev/null @@ -1,458 +0,0 @@ -LAMMPS (27 Nov 2018) - using 1 OpenMP thread(s) per MPI task -# Tethered nanorods - -atom_style molecular - -read_data data.rigid.tnr - orthogonal box = (-31.122 -31.122 -31.122) to (31.122 31.122 31.122) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 5600 atoms - scanning bonds ... - 1 = max bonds/atom - reading bonds ... - 1600 bonds - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - -# Specify bond parameters - -bond_style fene -bond_coeff 1 30.0 1.5 1.0 1.0 - -special_bonds fene - 2 = max # of 1-2 neighbors - 2 = max # of special neighbors - -# Specify initial velocities - -velocity all create 1.4 109345 - -# Specify rigid components - -group rods type 2 -4000 atoms in group rods -group tethers subtract all rods -1600 atoms in group tethers - -neigh_modify exclude molecule/intra rods delay 0 every 1 - -# Specify the pair potentials - -pair_style lj/cut 2.5 -pair_modify shift yes -pair_coeff * * 1.0 1.0 1.122 -pair_coeff 2 2 1.0 1.0 2.5 - -# Specify output - -thermo 100 -thermo_style custom step temp pe etotal press enthalpy lx ly lz pxx pyy pzz -thermo_modify flush yes lost warn - -timestep 0.005 - -fix 1 rods rigid molecule -800 rigid bodies with 4000 atoms -fix 2 tethers nve -fix 3 all langevin 1.4 1.4 1.0 437624 - -run 5000 -Neighbor list info ... - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 45 45 45 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 7.216 | 7.384 | 7.552 Mbytes -Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 0 1.3963219 5.9478449 7.0445809 0.048565317 9.13595 62.244 62.244 62.244 0.0091983659 0.11850113 0.017996458 - 100 1.3999025 5.9707695 7.0703179 0.027293074 8.24564 62.244 62.244 62.244 0.017246307 0.04732529 0.017307624 - 200 1.4245544 5.9878446 7.1067558 0.0072016369 7.41688 62.244 62.244 62.244 0.0071370801 0.0084066589 0.0060611719 - 300 1.4212057 5.9942604 7.1105414 0.0023296933 7.210865 62.244 62.244 62.244 -0.0059197015 0.0040269953 0.008881786 - 400 1.4030116 5.9953214 7.0973119 0.0055751834 7.3373961 62.244 62.244 62.244 -0.0026920847 0.013323321 0.0060943141 - 500 1.4201338 5.9984777 7.1139168 -0.0018229523 7.035415 62.244 62.244 62.244 -0.0082217102 -0.00047319975 0.0032260529 - 600 1.425173 5.9902537 7.1096508 0.013367744 7.6853062 62.244 62.244 62.244 0.012971415 0.016298595 0.010833222 - 700 1.4181225 5.9840752 7.0979345 0.0014999758 7.1625279 62.244 62.244 62.244 -0.0015835387 0.0045967753 0.0014866907 - 800 1.4084205 5.9778462 7.084085 0.0063728488 7.3585191 62.244 62.244 62.244 0.0036202744 0.005593586 0.0099046859 - 900 1.3958301 5.9891019 7.0854517 0.0028974454 7.2102244 62.244 62.244 62.244 0.0087724642 0.0014508428 -0.001530971 - 1000 1.3937374 5.9794855 7.0741916 0.0087158481 7.4495223 62.244 62.244 62.244 0.014424783 0.0034958881 0.0082268735 - 1100 1.3729162 5.9916252 7.0699773 0.0030451966 7.2011127 62.244 62.244 62.244 0.00084635444 -0.00064448421 0.0089337195 - 1200 1.4427374 5.9713589 7.1045519 0.0042680608 7.2883474 62.244 62.244 62.244 0.0030884628 0.0031576538 0.0065580658 - 1300 1.3971469 5.9728674 7.0702514 0.0022809251 7.168475 62.244 62.244 62.244 0.00060902513 -0.00020572386 0.006439474 - 1400 1.4194118 5.9672631 7.082135 0.012945844 7.6396221 62.244 62.244 62.244 0.0082418827 0.016256336 0.014339314 - 1500 1.3866472 5.9728382 7.0619753 0.0010642438 7.1078049 62.244 62.244 62.244 0.0020316123 0.0020439035 -0.00088278432 - 1600 1.4184955 5.9539591 7.0681113 0.0077605409 7.4023036 62.244 62.244 62.244 0.0033721722 0.0057827512 0.014126699 - 1700 1.3612202 5.9676733 7.0368389 0.00016862131 7.0441002 62.244 62.244 62.244 0.0052525345 0.0007705269 -0.0055171975 - 1800 1.3641041 5.9521837 7.0236144 0.0057884587 7.2728829 62.244 62.244 62.244 0.0038061044 0.0044032908 0.009155981 - 1900 1.3594477 5.9646024 7.0323757 0.0044261926 7.2229809 62.244 62.244 62.244 0.0019417448 0.006871542 0.004465291 - 2000 1.3776971 5.9431816 7.0252888 -0.0012460593 6.9716298 62.244 62.244 62.244 -0.0010913822 0.00098119436 -0.0036279901 - 2100 1.3986245 5.9509735 7.0495181 0.007520633 7.3733792 62.244 62.244 62.244 0.008359824 0.0075919773 0.0066100978 - 2200 1.4033594 5.9548158 7.0570794 0.0016804284 7.1294438 62.244 62.244 62.244 -0.001842641 0.0032876741 0.0035962521 - 2300 1.4048926 5.9444129 7.0478808 0.0062444034 7.3167836 62.244 62.244 62.244 0.004383569 0.0065720464 0.007777595 - 2400 1.4044043 5.9370822 7.0401666 0.0034562836 7.1890046 62.244 62.244 62.244 0.0068959298 0.0041111713 -0.00063825026 - 2500 1.4200762 5.9359254 7.0513193 0.0028319649 7.1732722 62.244 62.244 62.244 -0.00030414203 0.0039571831 0.0048428538 - 2600 1.3876469 5.9249124 7.0148347 -0.0017777224 6.9382806 62.244 62.244 62.244 -0.00047616392 -0.0025484917 -0.0023085116 - 2700 1.4099941 5.916763 7.0242378 0.0070716263 7.3287634 62.244 62.244 62.244 0.012628756 0.0053812867 0.0032048359 - 2800 1.4444643 5.9283432 7.0628925 0.0019400024 7.1464349 62.244 62.244 62.244 0.0014895079 0.0046367397 -0.00030624055 - 2900 1.3902832 5.9152516 7.0072446 -0.002166221 6.9139606 62.244 62.244 62.244 -0.0012374412 -0.00056403267 -0.004697189 - 3000 1.3711706 5.922146 6.9991271 0.011101505 7.4771914 62.244 62.244 62.244 0.011063833 0.012093026 0.010147657 - 3100 1.3569137 5.9171753 6.9829583 -0.002826677 6.8612331 62.244 62.244 62.244 -0.0069507252 0.0010084399 -0.0025377458 - 3200 1.4004275 5.905939 7.0058998 0.005439467 7.2401397 62.244 62.244 62.244 0.010352184 0.0057594148 0.00020680265 - 3300 1.3641217 5.9145275 6.985972 -0.0027212811 6.8687855 62.244 62.244 62.244 -0.00065933677 -0.0057713008 -0.0017332057 - 3400 1.3868722 5.9059546 6.9952684 0.0092591256 7.3939943 62.244 62.244 62.244 0.010690877 0.010752519 0.006333981 - 3500 1.3939169 5.8992292 6.9940762 0.0074340028 7.3142068 62.244 62.244 62.244 0.010137307 0.0044252569 0.0077394447 - 3600 1.3982507 5.9219461 7.0201971 0.005679459 7.2647718 62.244 62.244 62.244 0.0023367243 0.008059221 0.0066424317 - 3700 1.4019908 5.9059957 7.0071843 0.0065915477 7.2910363 62.244 62.244 62.244 0.0049554109 0.010827005 0.0039922268 - 3800 1.3960736 5.902079 6.99862 0.0027763588 7.1181784 62.244 62.244 62.244 -0.0015907217 0.0025862003 0.0073335977 - 3900 1.4352825 5.8986215 7.025959 0.003498268 7.176605 62.244 62.244 62.244 0.0030416681 0.0027739509 0.0046791851 - 4000 1.4121845 5.907903 7.0170983 0.005046232 7.2344043 62.244 62.244 62.244 0.0045542682 0.0064113499 0.0041730779 - 4100 1.3989578 5.9082397 7.0070461 0.00042880001 7.0255115 62.244 62.244 62.244 0.0025735184 0.0025181486 -0.003805267 - 4200 1.3998829 5.8998147 6.9993477 0.0042777376 7.18356 62.244 62.244 62.244 0.0013744091 0.00646996 0.0049888436 - 4300 1.4076022 5.9044509 7.010047 0.0066789366 7.2976622 62.244 62.244 62.244 0.0073610616 0.0048139129 0.0078618353 - 4400 1.4161075 5.9064331 7.0187096 -0.0011844267 6.9677046 62.244 62.244 62.244 -0.0019088313 -0.0037556503 0.0021112015 - 4500 1.4292243 5.8980093 7.0205884 0.0018500416 7.1002567 62.244 62.244 62.244 0.0041144085 0.0010160497 0.00041966655 - 4600 1.3958775 5.8943133 6.9907003 0.0041485723 7.1693504 62.244 62.244 62.244 0.0033999287 0.0041620406 0.0048837475 - 4700 1.3856614 5.8886847 6.9770475 0.0013150314 7.0336767 62.244 62.244 62.244 -0.00051753674 0.0030875481 0.0013750828 - 4800 1.401683 5.9023505 7.0032974 0.002504877 7.1111649 62.244 62.244 62.244 0.0016543718 -0.0001813413 0.0060416007 - 4900 1.446628 5.9050553 7.0413042 -0.0026645902 6.9265589 62.244 62.244 62.244 -0.00069368076 -0.0073984763 9.8386402e-05 - 5000 1.4387091 5.9077604 7.0377893 0.0049468048 7.2508137 62.244 62.244 62.244 0.0042902506 0.0046715523 0.0058786114 -Loop time of 3.70354 on 4 procs for 5000 steps with 5600 atoms - -Performance: 583225.455 tau/day, 1350.059 timesteps/s -92.9% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.081073 | 0.13498 | 0.20108 | 14.4 | 3.64 -Bond | 0.032352 | 0.048566 | 0.066671 | 7.0 | 1.31 -Neigh | 0.71345 | 0.72477 | 0.73658 | 1.3 | 19.57 -Comm | 0.29998 | 0.37027 | 0.42722 | 8.9 | 10.00 -Output | 0.0026417 | 0.0048325 | 0.0085185 | 3.2 | 0.13 -Modify | 1.9807 | 2.1035 | 2.263 | 8.1 | 56.80 -Other | | 0.3166 | | | 8.55 - -Nlocal: 1400 ave 1868 max 905 min -Histogram: 1 1 0 0 0 0 0 0 0 2 -Nghost: 648.25 ave 688 max 598 min -Histogram: 1 0 0 1 0 0 0 0 1 1 -Neighs: 1202.5 ave 1821 max 698 min -Histogram: 2 0 0 0 0 0 0 1 0 1 - -Total # of neighbors = 4810 -Ave neighs/atom = 0.858929 -Ave special neighs/atom = 0.571429 -Neighbor list builds = 759 -Dangerous builds = 0 - -# Replace fix rigid and fix langevin with new ones - -unfix 1 -unfix 3 - -fix 3 tethers langevin 1.4 1.4 1.0 198450 - -# Test different integrators for rods - -fix 1 rods rigid/nve molecule -800 rigid bodies with 4000 atoms -print "rigid/nve" -rigid/nve -run 1000 -Per MPI rank memory allocation (min/avg/max) = 7.217 | 7.395 | 7.573 Mbytes -Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 5000 1.4387091 5.9077604 7.0377893 0.0035977871 7.1927209 62.244 62.244 62.244 0.025518192 -0.016769871 0.0020450407 - 5100 1.4449405 5.8876257 7.022549 0.0023104502 7.122044 62.244 62.244 62.244 0.0045960664 0.0036845954 -0.0013493113 - 5200 1.4271652 5.9160022 7.036964 0.0020238904 7.1241189 62.244 62.244 62.244 -0.0022546188 0.00392213 0.0044041599 - 5300 1.4143299 5.9052666 7.016147 0.0064054214 7.2919838 62.244 62.244 62.244 0.0090997079 0.0026363579 0.0074801984 - 5400 1.4426441 5.9087558 7.0418754 0.0020465683 7.1300068 62.244 62.244 62.244 0.0043188307 3.0314417e-06 0.0018178427 - 5500 1.4281065 5.9038871 7.0255883 0.00058665945 7.0508516 62.244 62.244 62.244 0.005898925 0.00066013177 -0.0047990784 - 5600 1.4315628 5.902373 7.0267888 0.0096475978 7.4422435 62.244 62.244 62.244 0.0054175405 0.011780025 0.011745228 - 5700 1.4075482 5.9075587 7.0131124 0.0052150708 7.2376891 62.244 62.244 62.244 0.0030069124 0.0036690785 0.0089692215 - 5800 1.4215681 5.9048555 7.0214211 0.0015070444 7.086319 62.244 62.244 62.244 -5.6858344e-05 0.0023644208 0.0022135708 - 5900 1.3992461 5.8949367 6.9939696 0.0062425817 7.262794 62.244 62.244 62.244 0.0056972212 0.0095293238 0.0035012003 - 6000 1.385289 5.8972105 6.9852808 0.0043255163 7.1715506 62.244 62.244 62.244 0.0040215567 0.0026330714 0.0063219208 -Loop time of 0.84847 on 4 procs for 1000 steps with 5600 atoms - -Performance: 509151.820 tau/day, 1178.592 timesteps/s -94.3% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.020741 | 0.03547 | 0.053064 | 7.5 | 4.18 -Bond | 0.0064373 | 0.0096895 | 0.013065 | 3.0 | 1.14 -Neigh | 0.14992 | 0.15174 | 0.15392 | 0.4 | 17.88 -Comm | 0.068751 | 0.081259 | 0.10084 | 4.2 | 9.58 -Output | 0.00054288 | 0.00096381 | 0.0017593 | 0.0 | 0.11 -Modify | 0.45914 | 0.48587 | 0.51316 | 2.8 | 57.26 -Other | | 0.08348 | | | 9.84 - -Nlocal: 1400 ave 1868 max 935 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 633.75 ave 695 max 541 min -Histogram: 1 0 0 0 1 0 0 0 0 2 -Neighs: 1263 ave 1799 max 710 min -Histogram: 1 1 0 0 0 0 0 0 0 2 - -Total # of neighbors = 5052 -Ave neighs/atom = 0.902143 -Ave special neighs/atom = 0.571429 -Neighbor list builds = 153 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/nvt molecule temp 1.4 1.4 1.0 -800 rigid bodies with 4000 atoms -print "rigid/nvt" -rigid/nvt -run 1000 -Per MPI rank memory allocation (min/avg/max) = 7.217 | 7.395 | 7.573 Mbytes -Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 6000 1.385289 5.8972105 6.9852808 0.0029190017 7.1109818 62.244 62.244 62.244 0.026575922 -0.075631452 0.057812535 - 6100 1.3829575 5.9055308 6.9917699 0.0022904842 7.090405 62.244 62.244 62.244 -0.00045870123 0.0040556461 0.0032745076 - 6200 1.3942692 5.90506 7.0001838 0.0046406766 7.2000253 62.244 62.244 62.244 0.0042263485 0.0051632793 0.0045324021 - 6300 1.4009885 5.902399 7.0028005 0.0077682466 7.3373246 62.244 62.244 62.244 0.0071636876 0.0098268446 0.0063142075 - 6400 1.3627532 5.9075588 6.9779284 0.0093180831 7.3791932 62.244 62.244 62.244 0.0062401458 0.01302262 0.0086914833 - 6500 1.3341203 5.9012967 6.9491767 0.01010805 7.3844599 62.244 62.244 62.244 0.0031876185 0.011099561 0.01603697 - 6600 1.3572847 5.8915298 6.9576042 -0.00034416901 6.9427833 62.244 62.244 62.244 0.0025579012 -0.0011308802 -0.0024595281 - 6700 1.366374 5.8985277 6.9717413 0.0029472772 7.0986599 62.244 62.244 62.244 0.0022469424 -0.00042869772 0.0070235868 - 6800 1.381673 5.8909304 6.9761606 -9.1063397e-05 6.9722391 62.244 62.244 62.244 -0.0048194377 -0.00080972169 0.0053559692 - 6900 1.4011472 5.8881927 6.9887188 0.0010086058 7.0321524 62.244 62.244 62.244 0.0012132619 -0.0025916747 0.0044042301 - 7000 1.3973658 5.8867938 6.9843498 0.0070015187 7.2858563 62.244 62.244 62.244 0.0058913402 0.0076802028 0.0074330131 -Loop time of 0.902266 on 4 procs for 1000 steps with 5600 atoms - -Performance: 478794.425 tau/day, 1108.320 timesteps/s -92.5% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.022644 | 0.037091 | 0.054025 | 7.4 | 4.11 -Bond | 0.0066526 | 0.0098482 | 0.012934 | 2.8 | 1.09 -Neigh | 0.15815 | 0.16028 | 0.16242 | 0.5 | 17.76 -Comm | 0.086046 | 0.10069 | 0.11568 | 3.7 | 11.16 -Output | 0.00047731 | 0.00090772 | 0.0016732 | 0.0 | 0.10 -Modify | 0.46692 | 0.49338 | 0.52973 | 3.5 | 54.68 -Other | | 0.1001 | | | 11.09 - -Nlocal: 1400 ave 1832 max 970 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 652.5 ave 749 max 561 min -Histogram: 1 0 0 1 0 0 1 0 0 1 -Neighs: 1407.5 ave 2071 max 748 min -Histogram: 1 1 0 0 0 0 0 0 1 1 - -Total # of neighbors = 5630 -Ave neighs/atom = 1.00536 -Ave special neighs/atom = 0.571429 -Neighbor list builds = 149 -Dangerous builds = 0 -unfix 1 - -compute myTemp all temp - -fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 iso 0.05 0.05 1.0 dilate all -800 rigid bodies with 4000 atoms -print "rigid/npt iso" -rigid/npt iso -fix_modify 1 temp myTemp - -run 1000 -Per MPI rank memory allocation (min/avg/max) = 7.217 | 7.395 | 7.573 Mbytes -Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 7000 1.3973658 5.8867938 6.9843498 0.0026564535 7.0987447 62.244 62.244 62.244 0.033711862 -0.0068580786 -0.018884423 - 7100 1.463906 5.861189 7.0110088 0.011521299 7.3924648 57.022165 57.022165 57.022165 0.010788399 0.0093706759 0.014404821 - 7200 1.4950346 5.817724 6.9919936 0.023104537 7.516484 50.28164 50.28164 50.28164 0.023252537 0.018108267 0.027952807 - 7300 1.5103539 5.7757334 6.9620355 0.02265972 7.3367664 45.242961 45.242961 45.242961 0.023588139 0.022279352 0.022111669 - 7400 1.5583184 5.7576833 6.9816589 0.028383162 7.3460731 41.582206 41.582206 41.582206 0.027312172 0.029876235 0.027961079 - 7500 1.5988886 5.6930714 6.9489127 0.046500933 7.4415595 39.00204 39.00204 39.00204 0.057497139 0.031007247 0.050998413 - 7600 1.5458926 5.6844397 6.8986555 0.034168406 7.2068206 36.96428 36.96428 36.96428 0.037874991 0.027247969 0.037382258 - 7700 1.5179913 5.6416448 6.8339457 0.070322183 7.3856048 35.284894 35.284894 35.284894 0.054248771 0.10402305 0.052694729 - 7800 1.4797888 5.6045532 6.7668481 0.07801402 7.3126319 33.963465 33.963465 33.963465 0.096058241 0.061172194 0.076811627 - 7900 1.4846305 5.54982 6.7159177 0.065303374 7.1325712 32.936376 32.936376 32.936376 0.089117046 0.06069295 0.046100127 - 8000 1.4352665 5.5157472 6.6430722 0.065962965 7.0326574 32.099391 32.099391 32.099391 0.032126133 0.070109418 0.095653344 -Loop time of 1.72334 on 4 procs for 1000 steps with 5600 atoms - -Performance: 250675.661 tau/day, 580.268 timesteps/s -92.5% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.060282 | 0.099801 | 0.13824 | 10.8 | 5.79 -Bond | 0.0095227 | 0.013491 | 0.017217 | 3.2 | 0.78 -Neigh | 0.58793 | 0.59546 | 0.60654 | 1.0 | 34.55 -Comm | 0.17903 | 0.21403 | 0.24615 | 6.5 | 12.42 -Output | 0.00045562 | 0.00076783 | 0.0017018 | 0.0 | 0.04 -Modify | 0.64959 | 0.68513 | 0.70671 | 2.8 | 39.76 -Other | | 0.1147 | | | 6.65 - -Nlocal: 1400 ave 1768 max 981 min -Histogram: 1 0 1 0 0 0 0 0 0 2 -Nghost: 1574 ave 1663 max 1447 min -Histogram: 1 0 0 1 0 0 0 0 0 2 -Neighs: 6338 ave 9521 max 3068 min -Histogram: 1 0 1 0 0 0 0 0 1 1 - -Total # of neighbors = 25352 -Ave neighs/atom = 4.52714 -Ave special neighs/atom = 0.571429 -Neighbor list builds = 337 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 x 0.05 0.05 1.0 dilate all -800 rigid bodies with 4000 atoms -print "rigid/npt x" -rigid/npt x -run 1000 -Per MPI rank memory allocation (min/avg/max) = 7.226 | 7.412 | 7.597 Mbytes -Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 8000 1.4352665 5.5157472 6.6430722 0.073641793 7.0780095 32.099391 32.099391 32.099391 0.13359913 0.13991003 -0.052583787 - 8100 1.4385682 5.5149882 6.6449064 0.092621097 7.1894426 31.952972 32.099391 32.099391 0.10729401 0.11619987 0.054369411 - 8200 1.42735 5.5149024 6.6360094 0.023903894 6.7756304 31.745099 32.099391 32.099391 0.051524189 0.013370811 0.006816681 - 8300 1.4335369 5.5031396 6.629106 0.024536474 6.7705237 31.324638 32.099391 32.099391 0.042356568 -0.0039258365 0.035178692 - 8400 1.4502714 5.4659017 6.6050122 0.06575457 6.9774701 30.785462 32.099391 32.099391 0.056998298 0.084852971 0.055412441 - 8500 1.4432366 5.4541505 6.5877355 0.03322226 6.7725932 30.241461 32.099391 32.099391 0.045871758 0.024443739 0.029351281 - 8600 1.436491 5.4272043 6.5554911 0.039811655 6.7732608 29.729098 32.099391 32.099391 0.037709456 0.060942551 0.020782958 - 8700 1.4099251 5.4106713 6.5180919 0.013490442 6.590596 29.209958 32.099391 32.099391 0.025833003 -0.0021161354 0.016754458 - 8800 1.3801478 5.3926425 6.4766747 0.028808964 6.6280205 28.552039 32.099391 32.099391 0.012603549 0.018713073 0.055110271 - 8900 1.4411695 5.3583474 6.4903088 0.053464468 6.7655624 27.980937 32.099391 32.099391 0.055084927 0.073292013 0.032016464 - 9000 1.4264395 5.3680298 6.4884216 0.066557314 6.8276318 27.69922 32.099391 32.099391 0.05380086 0.069450871 0.076420212 -Loop time of 1.45936 on 4 procs for 1000 steps with 5600 atoms - -Performance: 296020.704 tau/day, 685.233 timesteps/s -96.3% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.097855 | 0.1563 | 0.20542 | 12.5 | 10.71 -Bond | 0.010222 | 0.01371 | 0.016844 | 2.6 | 0.94 -Neigh | 0.43646 | 0.44419 | 0.4668 | 2.0 | 30.44 -Comm | 0.10136 | 0.14589 | 0.19563 | 11.6 | 10.00 -Output | 0.00046229 | 0.00076181 | 0.0016556 | 0.0 | 0.05 -Modify | 0.59971 | 0.62524 | 0.65776 | 2.9 | 42.84 -Other | | 0.07327 | | | 5.02 - -Nlocal: 1400 ave 1680 max 1049 min -Histogram: 1 0 1 0 0 0 0 0 0 2 -Nghost: 1627.25 ave 1775 max 1488 min -Histogram: 1 1 0 0 0 0 0 1 0 1 -Neighs: 7842 ave 10600 max 4326 min -Histogram: 1 0 1 0 0 0 0 0 0 2 - -Total # of neighbors = 31368 -Ave neighs/atom = 5.60143 -Ave special neighs/atom = 0.571429 -Neighbor list builds = 166 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/nph molecule iso 0.05 0.05 1.0 dilate all -800 rigid bodies with 4000 atoms -print "rigid/nph iso" -rigid/nph iso -run 1000 -Per MPI rank memory allocation (min/avg/max) = 7.227 | 7.412 | 7.597 Mbytes -Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 9000 1.4264395 5.3680298 6.4884216 0.0098629166 6.5386881 27.69922 32.099391 32.099391 -0.32352455 -0.020288613 0.37340191 - 9100 1.4501008 5.3468478 6.4858243 0.059250929 6.7846766 27.60347 31.988431 31.988431 0.076039445 0.051409059 0.050304282 - 9200 1.4635102 5.3406895 6.4901983 0.035210102 6.6656151 27.490192 31.857158 31.857158 0.0079484246 0.066653954 0.031027926 - 9300 1.4503713 5.3595734 6.4987624 0.020794 6.6013231 27.398334 31.750708 31.750708 0.053098983 0.0019379163 0.0073450997 - 9400 1.4701421 5.3186993 6.4734172 0.039118143 6.6618027 27.181055 31.498913 31.498913 0.076457868 -0.0028405762 0.043737137 - 9500 1.4495442 5.323167 6.4617063 0.073591495 6.8091096 27.000921 31.290164 31.290164 0.037777789 0.097624306 0.085372389 - 9600 1.4668438 5.3002222 6.4523494 0.06758294 6.7648428 26.814997 31.074705 31.074705 0.057941415 0.09775976 0.047047645 - 9700 1.4926839 5.2883964 6.4608196 0.059125916 6.7288224 26.637713 30.869258 30.869258 0.049817515 0.032285203 0.095275031 - 9800 1.4644558 5.2702597 6.4205112 0.0076221617 6.4543756 26.460515 30.663911 30.663911 -0.0060723629 0.010616271 0.018322577 - 9900 1.4669549 5.2511861 6.4034006 0.044167302 6.5961243 26.30195 30.480157 30.480157 0.026274163 0.013826125 0.092401618 - 10000 1.460983 5.2470476 6.3945715 0.10536479 6.8483021 26.186495 30.346361 30.346361 0.088951294 0.11273872 0.11440435 -Loop time of 1.61361 on 4 procs for 1000 steps with 5600 atoms - -Performance: 267722.758 tau/day, 619.729 timesteps/s -93.9% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.13322 | 0.18643 | 0.259 | 12.5 | 11.55 -Bond | 0.012367 | 0.014462 | 0.016771 | 1.6 | 0.90 -Neigh | 0.46284 | 0.46471 | 0.46675 | 0.3 | 28.80 -Comm | 0.10183 | 0.17241 | 0.22246 | 12.4 | 10.68 -Output | 0.00044584 | 0.00074542 | 0.0016396 | 0.0 | 0.05 -Modify | 0.691 | 0.7057 | 0.72761 | 1.8 | 43.73 -Other | | 0.06915 | | | 4.29 - -Nlocal: 1400 ave 1633 max 1183 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 1747.75 ave 1847 max 1624 min -Histogram: 1 0 1 0 0 0 0 0 0 2 -Neighs: 9290.75 ave 12454 max 6621 min -Histogram: 2 0 0 0 0 0 0 1 0 1 - -Total # of neighbors = 37163 -Ave neighs/atom = 6.63625 -Ave special neighs/atom = 0.571429 -Neighbor list builds = 162 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/nph molecule x 0.05 0.05 1.0 y 0.05 0.05 1.0 couple xy dilate all -800 rigid bodies with 4000 atoms -print "rigid/nph xy couple" -rigid/nph xy couple -run 1000 -Per MPI rank memory allocation (min/avg/max) = 7.229 | 7.413 | 7.597 Mbytes -Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 10000 1.460983 5.2470476 6.3945715 0.18376191 7.1859023 26.186495 30.346361 30.346361 0.015959435 0.68341409 -0.14808778 - 10100 1.4487259 5.2485513 6.3864479 0.060157728 6.6465409 26.238844 30.407026 30.346361 0.10289596 0.022823411 0.05475381 - 10200 1.4335646 5.2420513 6.3680395 0.013676852 6.4271554 26.235255 30.402867 30.346361 -0.017328522 0.040786509 0.017572569 - 10300 1.4334952 5.2377534 6.3636871 0.030978458 6.4967192 26.150168 30.304264 30.346361 0.044154015 0.036133394 0.012647966 - 10400 1.4209473 5.2242736 6.3403516 -0.00094467594 6.3363148 26.085773 30.22964 30.346361 0.030664991 0.018005544 -0.051504563 - 10500 1.4262805 5.2044624 6.3247294 0.045042501 6.5149748 25.934148 30.053928 30.346361 0.031103656 0.045410964 0.058612885 - 10600 1.4516048 5.2017459 6.3419036 0.069565209 6.6313867 25.741959 29.831208 30.346361 0.021768778 0.11302833 0.073898515 - 10700 1.4841074 5.1911212 6.356808 0.046866825 6.5493087 25.574636 29.637306 30.346361 0.073969059 0.064901506 0.0017299084 - 10800 1.4646257 5.1958815 6.3462665 0.050747116 6.5534926 25.500146 29.550982 30.346361 0.076646556 0.070734108 0.004860682 - 10900 1.461356 5.1821605 6.3299773 0.069060447 6.610166 25.417723 29.455466 30.346361 0.051399011 0.065631311 0.090151019 - 11000 1.4395386 5.1786243 6.3093047 -0.0087983274 6.2737059 25.383039 29.415273 30.346361 -0.060891892 0.037235898 -0.0027389884 -Loop time of 1.56065 on 4 procs for 1000 steps with 5600 atoms - -Performance: 276807.605 tau/day, 640.758 timesteps/s -94.5% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.15892 | 0.20364 | 0.2564 | 9.2 | 13.05 -Bond | 0.011486 | 0.014652 | 0.01918 | 2.6 | 0.94 -Neigh | 0.43915 | 0.43981 | 0.44125 | 0.1 | 28.18 -Comm | 0.093711 | 0.14431 | 0.18183 | 9.9 | 9.25 -Output | 0.00044441 | 0.00073904 | 0.0016198 | 0.0 | 0.05 -Modify | 0.66889 | 0.68497 | 0.70418 | 1.5 | 43.89 -Other | | 0.07254 | | | 4.65 - -Nlocal: 1400 ave 1610 max 1237 min -Histogram: 2 0 0 0 0 0 0 1 0 1 -Nghost: 1832 ave 1919 max 1765 min -Histogram: 1 1 0 0 0 0 1 0 0 1 -Neighs: 10008.2 ave 12428 max 7982 min -Histogram: 2 0 0 0 0 0 0 1 0 1 - -Total # of neighbors = 40033 -Ave neighs/atom = 7.14875 -Ave special neighs/atom = 0.571429 -Neighbor list builds = 157 -Dangerous builds = 0 - -Total wall time: 0:00:11 diff --git a/src/math_eigen.cpp b/src/math_eigen.cpp index 65c3fa806a..99c8d38290 100644 --- a/src/math_eigen.cpp +++ b/src/math_eigen.cpp @@ -44,7 +44,7 @@ int MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3]) // create instance of generic Jacobi class and get eigenvalues and -vectors Jacobi_v1 ecalc3(3, M, midx); - int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::SORT_DECREASING_EVALS); + int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::SORT_INCREASING_EVALS); // transpose the evec matrix @@ -67,7 +67,7 @@ int MathEigen::jacobi3(double const *const *mat, double *eval, double **evec) // create instance of generic Jacobi class and get eigenvalues and -vectors Jacobi_v2 ecalc3(3, M, midx); - int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v2::SORT_DECREASING_EVALS); + int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v2::SORT_INCREASING_EVALS); // transpose the evec matrix diff --git a/unittest/force-styles/tests/fix-timestep-rigid_group.yaml b/unittest/force-styles/tests/fix-timestep-rigid_group.yaml index e28e0abb08..b5c77af975 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_group.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_group.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Mon Mar 25 20:00:59 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,65 +15,65 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.4245356937318884e+03 -1.4496493315649691e+03 -3.6144360984224995e+03 8.4840626828644076e+02 2.0318336761611761e+02 -6.0622397707970140e+02 -global_scalar: 15.711521423178082 + -1.4245356937318909e+03 -1.4496493315649632e+03 -3.6144360984225123e+03 8.4840626828644361e+02 2.0318336761612773e+02 -6.0622397707969583e+02 +global_scalar: 15.711521423178084 run_pos: ! |2 - 1 -2.7899546863891400e-01 2.4731857340328229e+00 -1.7290667740242271e-01 - 2 3.0296221610264262e-01 2.9517129916957545e+00 -8.5798904387773245e-01 - 3 -6.9368802364134741e-01 1.2445115421754194e+00 -6.2281111198650418e-01 - 4 -1.5764879647103154e+00 1.4919714415841279e+00 -1.2492069414674623e+00 - 5 -8.9434512967429969e-01 9.3651699743511030e-01 4.0191726558261276e-01 - 6 2.9454439634451712e-01 2.2724545792544038e-01 -1.2845195053960268e+00 - 7 3.4049112903270051e-01 -9.4655678322458359e-03 -2.4634480020857055e+00 - 8 1.1644354555804874e+00 -4.8367776650961336e-01 -6.7663643940735863e-01 - 9 1.3781717822696469e+00 -2.5332509530010694e-01 2.6864954436590061e-01 - 10 2.0186368606041896e+00 -1.4285861423625796e+00 -9.6712491252780131e-01 - 11 1.7929137227577452e+00 -1.9875455388407426e+00 -1.8836565352266534e+00 - 12 3.0032775230399604e+00 -4.8983022415174027e-01 -1.6190248017343642e+00 - 13 4.0448964162125947e+00 -9.0213155122391020e-01 -1.6385398399479558e+00 - 14 2.6035151245015822e+00 -4.0874995493219213e-01 -2.6555999074786607e+00 - 15 2.9761196776172318e+00 5.6287237454108674e-01 -1.2442626196083388e+00 - 16 2.6517373021566168e+00 -2.3957035508393707e+00 3.3389262100692263e-02 - 17 2.2311114924744970e+00 -2.1018393228798513e+00 1.1496088522377543e+00 - 18 2.1390642573201784e+00 3.0164773560693781e+00 -3.5143984803853878e+00 - 19 1.5353246655146278e+00 2.6305911186316133e+00 -4.2455871034737074e+00 - 20 2.7649421538938390e+00 3.6818603528430849e+00 -3.9364115785985550e+00 - 21 4.9043112657298877e+00 -4.0774268210397882e+00 -3.6200836396129836e+00 - 22 4.3665322424283310e+00 -4.2075138112953594e+00 -4.4636587264885881e+00 - 23 5.7355405581985188e+00 -3.5789558641908918e+00 -3.8805763324089981e+00 - 24 2.0692780332810115e+00 3.1504920436416004e+00 3.1571131300668789e+00 - 25 1.3007297593169076e+00 3.2745259354179481e+00 2.5110163874103675e+00 - 26 2.5819416446099739e+00 4.0104903120756576e+00 3.2150249624526035e+00 + 1 -2.7899546863891755e-01 2.4731857340328198e+00 -1.7290667740241461e-01 + 2 3.0296221610263996e-01 2.9517129916957550e+00 -8.5798904387772190e-01 + 3 -6.9368802364134963e-01 1.2445115421754176e+00 -6.2281111198650141e-01 + 4 -1.5764879647103172e+00 1.4919714415841279e+00 -1.2492069414674598e+00 + 5 -8.9434512967430235e-01 9.3651699743510453e-01 4.0191726558261442e-01 + 6 2.9454439634451712e-01 2.2724545792544146e-01 -1.2845195053960266e+00 + 7 3.4049112903270240e-01 -9.4655678322404235e-03 -2.4634480020857055e+00 + 8 1.1644354555804877e+00 -4.8367776650961403e-01 -6.7663643940735962e-01 + 9 1.3781717822696455e+00 -2.5332509530011083e-01 2.6864954436590072e-01 + 10 2.0186368606041905e+00 -1.4285861423625785e+00 -9.6712491252780486e-01 + 11 1.7929137227577487e+00 -1.9875455388407386e+00 -1.8836565352266592e+00 + 12 3.0032775230399622e+00 -4.8983022415173583e-01 -1.6190248017343625e+00 + 13 4.0448964162125964e+00 -9.0213155122390454e-01 -1.6385398399479547e+00 + 14 2.6035151245015857e+00 -4.0874995493218413e-01 -2.6555999074786598e+00 + 15 2.9761196776172323e+00 5.6287237454109007e-01 -1.2442626196083335e+00 + 16 2.6517373021566182e+00 -2.3957035508393734e+00 3.3389262100686046e-02 + 17 2.2311114924744961e+00 -2.1018393228798584e+00 1.1496088522377494e+00 + 18 2.1390642573201792e+00 3.0164773560693803e+00 -3.5143984803853883e+00 + 19 1.5353246655146293e+00 2.6305911186316160e+00 -4.2455871034737100e+00 + 20 2.7649421538938399e+00 3.6818603528430875e+00 -3.9364115785985545e+00 + 21 4.9043112657298966e+00 -4.0774268210397882e+00 -3.6200836396129850e+00 + 22 4.3665322424283417e+00 -4.2075138112953612e+00 -4.4636587264885925e+00 + 23 5.7355405581985277e+00 -3.5789558641908901e+00 -3.8805763324089995e+00 + 24 2.0692780332810012e+00 3.1504920436415969e+00 3.1571131300668829e+00 + 25 1.3007297593168976e+00 3.2745259354179459e+00 2.5110163874103693e+00 + 26 2.5819416446099637e+00 4.0104903120756576e+00 3.2150249624526102e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 4.7093289825842508e-04 2.6351122778447809e-04 -4.4905093064114883e-04 - 2 4.9594625316470506e-04 9.4561370489630299e-05 -5.4581359894047775e-04 - 3 3.3306085115756103e-04 2.3224943880673259e-04 -2.3659455671746018e-04 - 4 3.3692327392261152e-04 2.1926810694051179e-04 -2.4716631558862516e-04 - 5 3.3642542694186002e-04 4.1797578013265738e-04 -1.8011341766657675e-04 - 6 2.0926869754934769e-04 2.6449308951578185e-05 -1.0508938983871811e-04 - 7 1.4629043007907940e-04 -1.6873376665350122e-04 -6.8354048774350921e-05 - 8 1.5844101624224881e-04 3.7728761273999780e-05 -1.9162715667090996e-05 - 9 2.1299362072601952e-04 1.6917140529157474e-04 -6.3528165037845483e-05 - 10 5.4261629412254495e-05 -9.4655528376811482e-05 1.0511362869146690e-04 - 11 -3.2194160796502724e-05 -2.2025095264758716e-04 2.0300202946212429e-04 - 12 1.2640586304750378e-04 -2.9851080445665107e-04 -7.9476371818245798e-05 - 13 8.4523575162142608e-05 -4.0583135407330561e-04 -4.7551111331700511e-05 - 14 9.9954050381270972e-05 -4.2610816481298294e-04 -7.9255633594379530e-05 - 15 2.4417481119789862e-04 -2.3521002264677992e-04 -2.4875318161048917e-04 - 16 -9.0958138549664992e-06 3.7774817121222391e-06 2.4035199548835096e-04 - 17 5.7507224523612230e-05 2.2629217444843764e-04 2.0686920072684822e-04 - 18 2.9220264989359833e-04 -6.2478376436796265e-04 8.4222594596602366e-04 - 19 2.0572616567799188e-04 -5.0334424271726639e-04 8.4953929443210648e-04 - 20 4.1224811789513022e-04 -7.4115205416011554e-04 8.3678612337507920e-04 - 21 -1.0671858777656393e-03 -1.1531171045499515e-03 7.3720674900162159e-04 - 22 -1.1066511338291710e-03 -1.0433933757600460e-03 7.4544544325708573e-04 - 23 -9.7629260480941525e-04 -1.3100872491594103e-03 7.2687284219704804e-04 - 24 4.3308126651259312e-04 -6.6527658087322801e-04 8.4451298670663606e-04 - 25 4.4565811905442889e-04 -5.1298436273584285e-04 8.5878867884521559e-04 - 26 5.9865972692022765e-04 -7.6385263287080381e-04 8.4259943226842166e-04 + 1 4.7093289825842437e-04 2.6351122778447999e-04 -4.4905093064114823e-04 + 2 4.9594625316470473e-04 9.4561370489632928e-05 -5.4581359894047732e-04 + 3 3.3306085115756054e-04 2.3224943880673362e-04 -2.3659455671746045e-04 + 4 3.3692327392261130e-04 2.1926810694051292e-04 -2.4716631558862576e-04 + 5 3.3642542694185899e-04 4.1797578013265770e-04 -1.8011341766657654e-04 + 6 2.0926869754934769e-04 2.6449308951579106e-05 -1.0508938983871929e-04 + 7 1.4629043007908003e-04 -1.6873376665349995e-04 -6.8354048774352968e-05 + 8 1.5844101624224859e-04 3.7728761274000288e-05 -1.9162715667092141e-05 + 9 2.1299362072601887e-04 1.6917140529157517e-04 -6.3528165037845917e-05 + 10 5.4261629412254576e-05 -9.4655528376811157e-05 1.0511362869146505e-04 + 11 -3.2194160796502236e-05 -2.2025095264758700e-04 2.0300202946212152e-04 + 12 1.2640586304750429e-04 -2.9851080445664956e-04 -7.9476371818247574e-05 + 13 8.4523575162143312e-05 -4.0583135407330399e-04 -4.7551111331702557e-05 + 14 9.9954050381271961e-05 -4.2610816481298121e-04 -7.9255633594381943e-05 + 15 2.4417481119789894e-04 -2.3521002264677784e-04 -2.4875318161049020e-04 + 16 -9.0958138549668516e-06 3.7774817121217089e-06 2.4035199548834928e-04 + 17 5.7507224523611227e-05 2.2629217444843685e-04 2.0686920072684740e-04 + 18 2.9220264989359860e-04 -6.2478376436796244e-04 8.4222594596602409e-04 + 19 2.0572616567799204e-04 -5.0334424271726607e-04 8.4953929443210702e-04 + 20 4.1224811789513060e-04 -7.4115205416011543e-04 8.3678612337507964e-04 + 21 -1.0671858777656406e-03 -1.1531171045499533e-03 7.3720674900162007e-04 + 22 -1.1066511338291734e-03 -1.0433933757600477e-03 7.4544544325708432e-04 + 23 -9.7629260480941644e-04 -1.3100872491594124e-03 7.2687284219704641e-04 + 24 4.3308126651259382e-04 -6.6527658087322671e-04 8.4451298670663671e-04 + 25 4.4565811905442982e-04 -5.1298436273584133e-04 8.5878867884521635e-04 + 26 5.9865972692022961e-04 -7.6385263287080262e-04 8.4259943226842242e-04 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_molecule.yaml b/unittest/force-styles/tests/fix-timestep-rigid_molecule.yaml index d667942e49..a73c8cd112 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_molecule.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_molecule.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Mon Mar 25 20:00:59 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,8 +15,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200116134789873e+01 -2.6907707565987707e+01 -6.0080860422278581e+00 -2.5620423972101300e+01 -1.3450224059983967e+01 -1.4947288487003760e+00 -global_scalar: 18.3405601674144 + -4.9200116134788615e+01 -2.6907707565987401e+01 -6.0080860422276308e+00 -2.5620423972100241e+01 -1.3450224059984270e+01 -1.4947288487006070e+00 +global_scalar: 18.340560167414402 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -34,15 +35,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1392027588271301e+00 3.0171068018412779e+00 -3.5144628518856349e+00 - 19 1.5366124997074571e+00 2.6286809834111748e+00 -4.2452547844370221e+00 - 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352554e+00 - 21 4.9036621347791245e+00 -4.0757648442838548e+00 -3.6192617654515904e+00 - 22 4.3655322291888483e+00 -4.2084949965552561e+00 -4.4622011117402334e+00 - 23 5.7380414793463101e+00 -3.5841969195032672e+00 -3.8827839830470219e+00 + 18 2.1392027588271301e+00 3.0171068018412783e+00 -3.5144628518856353e+00 + 19 1.5366124997074575e+00 2.6286809834111740e+00 -4.2452547844370221e+00 + 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352558e+00 + 21 4.9036621347791236e+00 -4.0757648442838548e+00 -3.6192617654515908e+00 + 22 4.3655322291888474e+00 -4.2084949965552561e+00 -4.4622011117402343e+00 + 23 5.7380414793463110e+00 -3.5841969195032672e+00 -3.8827839830470219e+00 24 2.0701314765323930e+00 3.1499370533342330e+00 3.1565324852522938e+00 - 25 1.3030170721374779e+00 3.2711173927682249e+00 2.5081940917429768e+00 - 26 2.5776230782480045e+00 4.0127347068243875e+00 3.2182355138709275e+00 + 25 1.3030170721374787e+00 3.2711173927682244e+00 2.5081940917429759e+00 + 26 2.5776230782480041e+00 4.0127347068243884e+00 3.2182355138709284e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -64,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625095704914e-04 -3.1032459262908286e-04 8.1043030117346052e-04 - 19 8.5103884665345452e-04 -1.4572280596788108e-03 1.0163621287634116e-03 - 20 -6.5204659278590683e-04 4.3989037444289853e-04 4.9909839028507901e-04 - 21 -1.3888125881903923e-03 -3.1978049143082385e-04 1.1455681499836646e-03 - 22 -1.6084223477729510e-03 -1.5355394240821117e-03 1.4772010826232375e-03 - 23 2.6392672378805124e-04 -3.9375414431174821e-03 -3.6991583139728095e-04 - 24 8.6062827067890247e-04 -9.4179873474469237e-04 5.5396395550012453e-04 - 25 1.5933645477487538e-03 -2.2139156625681695e-03 -5.5078029695647401e-04 - 26 -1.5679561743998840e-03 3.5146224354726100e-04 2.4446924193334478e-03 + 18 3.6149625095704849e-04 -3.1032459262908286e-04 8.1043030117346052e-04 + 19 8.5103884665345473e-04 -1.4572280596788095e-03 1.0163621287634121e-03 + 20 -6.5204659278590661e-04 4.3989037444289755e-04 4.9909839028507901e-04 + 21 -1.3888125881903906e-03 -3.1978049143082342e-04 1.1455681499836646e-03 + 22 -1.6084223477729526e-03 -1.5355394240821163e-03 1.4772010826232394e-03 + 23 2.6392672378804821e-04 -3.9375414431174795e-03 -3.6991583139728377e-04 + 24 8.6062827067890269e-04 -9.4179873474469291e-04 5.5396395550012388e-04 + 25 1.5933645477487551e-03 -2.2139156625681673e-03 -5.5078029695647250e-04 + 26 -1.5679561743998888e-03 3.5146224354726068e-04 2.4446924193334487e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_molecule_tri.yaml b/unittest/force-styles/tests/fix-timestep-rigid_molecule_tri.yaml index 304db9fd60..9e362dd3ac 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_molecule_tri.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_molecule_tri.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Mon Mar 25 20:01:00 2024 epsilon: 5e-12 skip_tests: prerequisites: ! | @@ -15,8 +16,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200116134788658e+01 -2.6907707565985344e+01 -6.0080860422268874e+00 -2.5620423972099733e+01 -1.3450224059983656e+01 -1.4947288487000705e+00 -global_scalar: 18.340560167414306 + -4.9200116134789653e+01 -2.6907707565986087e+01 -6.0080860422267843e+00 -2.5620423972100063e+01 -1.3450224059983270e+01 -1.4947288486998982e+00 +global_scalar: 18.340560167414335 run_pos: ! |2 1 -2.7993683669226854e-01 2.4726588069312836e+00 -1.7200860244148508e-01 2 3.0197083955402171e-01 2.9515239068888608e+00 -8.5689735572907555e-01 @@ -36,14 +37,14 @@ run_pos: ! |2 16 2.6517554244980301e+00 -2.3957110424978438e+00 3.2908335999177751e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 18 2.1392027588271310e+00 3.0171068018412779e+00 -3.5144628518856349e+00 - 19 1.5366124997074566e+00 2.6286809834111740e+00 -4.2452547844370239e+00 + 19 1.5366124997074584e+00 2.6286809834111722e+00 -4.2452547844370230e+00 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352558e+00 - 21 4.9036621347791245e+00 -4.0757648442838557e+00 -3.6192617654515900e+00 - 22 4.3655322291888465e+00 -4.2084949965552569e+00 -4.4622011117402334e+00 + 21 4.9036621347791245e+00 -4.0757648442838548e+00 -3.6192617654515900e+00 + 22 4.3655322291888465e+00 -4.2084949965552578e+00 -4.4622011117402343e+00 23 5.7380414793463101e+00 -3.5841969195032686e+00 -3.8827839830470232e+00 24 2.0701314765323913e+00 3.1499370533342308e+00 3.1565324852522920e+00 - 25 1.3030170721374770e+00 3.2711173927682236e+00 2.5081940917429755e+00 - 26 2.5776230782480054e+00 4.0127347068243875e+00 3.2182355138709262e+00 + 25 1.3030170721374779e+00 3.2711173927682236e+00 2.5081940917429755e+00 + 26 2.5776230782480036e+00 4.0127347068243875e+00 3.2182355138709280e+00 27 -1.9613581876744357e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678509e+00 29 -1.3108232656499084e+00 -3.5992986322410765e+00 2.2680459788743512e+00 @@ -65,15 +66,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625095704681e-04 -3.1032459262907857e-04 8.1043030117346074e-04 - 19 8.5103884665345820e-04 -1.4572280596788108e-03 1.0163621287634073e-03 - 20 -6.5204659278590271e-04 4.3989037444289630e-04 4.9909839028508215e-04 - 21 -1.3888125881903852e-03 -3.1978049143082049e-04 1.1455681499836594e-03 - 22 -1.6084223477729513e-03 -1.5355394240820970e-03 1.4772010826232351e-03 - 23 2.6392672378803975e-04 -3.9375414431174569e-03 -3.6991583139727910e-04 - 24 8.6062827067889835e-04 -9.4179873474469346e-04 5.5396395550012518e-04 - 25 1.5933645477487516e-03 -2.2139156625681669e-03 -5.5078029695647542e-04 - 26 -1.5679561743998831e-03 3.5146224354726187e-04 2.4446924193334495e-03 + 18 3.6149625095704659e-04 -3.1032459262907825e-04 8.1043030117346085e-04 + 19 8.5103884665346059e-04 -1.4572280596788099e-03 1.0163621287634082e-03 + 20 -6.5204659278590227e-04 4.3989037444289446e-04 4.9909839028508150e-04 + 21 -1.3888125881903869e-03 -3.1978049143081757e-04 1.1455681499836596e-03 + 22 -1.6084223477729556e-03 -1.5355394240821013e-03 1.4772010826232407e-03 + 23 2.6392672378803953e-04 -3.9375414431174656e-03 -3.6991583139727423e-04 + 24 8.6062827067889998e-04 -9.4179873474469411e-04 5.5396395550012377e-04 + 25 1.5933645477487516e-03 -2.2139156625681634e-03 -5.5078029695647109e-04 + 26 -1.5679561743998922e-03 3.5146224354726068e-04 2.4446924193334543e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nph.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nph.yaml index c80a70b428..420e54be25 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nph.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nph.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Mon Mar 25 20:01:00 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,38 +15,38 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |2- - 4.3578059172167876e+01 1.7275105166465000e+01 6.7372361276631054e+01 5.1985075049901745e+01 -2.0990677389800993e+01 -7.5321398101844359e+00 -global_scalar: 29.023636440847998 + 4.3578059175768836e+01 1.7275105168781163e+01 6.7372361277896715e+01 5.1985075050485008e+01 -2.0990677388216337e+01 -7.5321398110797180e+00 +global_scalar: 29.023636439584656 run_pos: ! |2 - 1 -6.3472039825517168e-01 3.0113983126282058e+00 -8.8148450172235826e-02 - 2 6.4798884173500326e-02 3.5870486860057795e+00 -9.1146271255434463e-01 - 3 -1.1328967478840362e+00 1.5344674077762583e+00 -6.2949567786977667e-01 - 4 -2.1941320441841130e+00 1.8319737599530370e+00 -1.3824693495474225e+00 - 5 -1.3741175247360697e+00 1.1637763350569887e+00 6.0220861483086097e-01 - 6 5.5368589242158706e-02 3.1209253712244411e-01 -1.4252606627467266e+00 - 7 1.1075313780270069e-01 2.8008314824797154e-02 -2.8425552056438050e+00 - 8 1.1011987966104080e+00 -5.4254536577068713e-01 -6.9472264392660854e-01 - 9 1.3580030945401020e+00 -2.6595138115345840e-01 4.4172536708297194e-01 - 10 2.1282964643831388e+00 -1.6781145595676907e+00 -1.0442216631471304e+00 - 11 1.8571593172391605e+00 -2.3497452731071471e+00 -2.1462323657665392e+00 - 12 3.3117732698469986e+00 -5.4913311816190635e-01 -1.8274356036322548e+00 - 13 4.5640183918453143e+00 -1.0445083545907554e+00 -1.8509716390298214e+00 - 14 2.8312769330518019e+00 -4.5135848464344086e-01 -3.0735173792331993e+00 - 15 3.2788434490964296e+00 7.1618295543695254e-01 -1.3765217601452289e+00 - 16 2.8895075000232158e+00 -2.8409365554010479e+00 1.5818504152554702e-01 - 17 2.3837073405559277e+00 -2.4882133308169232e+00 1.5000885103549333e+00 - 18 2.2738793194357232e+00 3.6743407122553755e+00 -4.1408965121163197e+00 - 19 1.6572750518209336e+00 3.2770314238152451e+00 -4.8886441786593569e+00 - 20 2.9120476452800226e+00 4.3568412675031851e+00 -4.5732834167769187e+00 - 21 5.6058485050774536e+00 -4.8495065176300871e+00 -4.2655497599953458e+00 - 22 5.0552709232982114e+00 -4.9851876752032496e+00 -5.1280564953560424e+00 - 23 6.4593933585948218e+00 -4.3461765105422652e+00 -4.5350231456236889e+00 - 24 2.1823354619125279e+00 3.8552931130470363e+00 3.8953804330431208e+00 - 25 1.3973696115403698e+00 3.9794119228484153e+00 3.2321313266194949e+00 - 26 2.7018361227965517e+00 4.7379517631305443e+00 3.9583193478092706e+00 - 27 -2.6559803075358257e+00 -5.1969823689078796e+00 2.6552621488555683e+00 - 28 -3.5927802460207046e+00 -4.7943885088602283e+00 2.0214142204095413e+00 - 29 -1.8739632618339108e+00 -4.2877858778713946e+00 2.8450749793919066e+00 + 1 -6.3472039825540794e-01 3.0113983126285611e+00 -8.8148450172186088e-02 + 2 6.4798884173342230e-02 3.5870486860061987e+00 -9.1146271255438371e-01 + 3 -1.1328967478843275e+00 1.5344674077764573e+00 -6.2949567786978555e-01 + 4 -2.1941320441845233e+00 1.8319737599532644e+00 -1.3824693495475202e+00 + 5 -1.3741175247363868e+00 1.1637763350571468e+00 6.0220861483099597e-01 + 6 5.5368589242003274e-02 3.1209253712249918e-01 -1.4252606627468261e+00 + 7 1.1075313780254881e-01 2.8008314824818470e-02 -2.8425552056440617e+00 + 8 1.1011987966103707e+00 -5.4254536577072621e-01 -6.9472264392662098e-01 + 9 1.3580030945400878e+00 -2.6595138115347083e-01 4.4172536708308918e-01 + 10 2.1282964643832170e+00 -1.6781145595678604e+00 -1.0442216631471855e+00 + 11 1.8571593172392049e+00 -2.3497452731073896e+00 -2.1462323657667168e+00 + 12 3.3117732698472082e+00 -5.4913311816195076e-01 -1.8274356036323969e+00 + 13 4.5640183918456607e+00 -1.0445083545908531e+00 -1.8509716390299671e+00 + 14 2.8312769330519618e+00 -4.5135848464346928e-01 -3.0735173792334827e+00 + 15 3.2788434490966321e+00 7.1618295543705379e-01 -1.3765217601453177e+00 + 16 2.8895075000233756e+00 -2.8409365554013446e+00 1.5818504152563229e-01 + 17 2.3837073405560343e+00 -2.4882133308171808e+00 1.5000885103551624e+00 + 18 2.2738793194332434e+00 3.6743407122541889e+00 -4.1408965121171795e+00 + 19 1.6572750518219337e+00 3.2770314238270633e+00 -4.8886441786700008e+00 + 20 2.9120476452894675e+00 4.3568412674987194e+00 -4.5732834167653644e+00 + 21 5.6058485051319096e+00 -4.8495065176594299e+00 -4.2655497599906971e+00 + 22 5.0552709232924169e+00 -4.9851876754509741e+00 -5.1280564952785888e+00 + 23 6.4593933583860359e+00 -4.3461765101804879e+00 -4.5350231457223327e+00 + 24 2.1823354618683570e+00 3.8552931130563355e+00 3.8953804330779889e+00 + 25 1.3973696115700545e+00 3.9794119229082359e+00 3.2321313265764022e+00 + 26 2.7018361229436465e+00 4.7379517630364116e+00 3.9583193477161114e+00 + 27 -2.6559803075362858e+00 -5.1969823689084436e+00 2.6552621488559236e+00 + 28 -3.5927802460212725e+00 -4.7943885088607452e+00 2.0214142204098309e+00 + 29 -1.8739632618342856e+00 -4.2877858778718556e+00 2.8450749793922920e+00 run_vel: ! |2 1 7.7867804888392077e-04 5.8970331623292821e-04 -2.2179517633030531e-04 2 2.7129529964126462e-03 4.6286427111164284e-03 3.5805549693846352e-03 @@ -64,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.0094600491564739e-04 -2.4312792027781263e-04 6.5542049134062323e-04 - 19 7.4731683462770076e-04 -1.2894119671278408e-03 8.4327024053533397e-04 - 20 -6.2333686369976551e-04 4.4115361641690044e-04 3.7135656431834220e-04 - 21 -1.1457423793218525e-03 -1.7337748161437940e-04 9.4510018429417686e-04 - 22 -1.3457150581639313e-03 -1.2816797357047471e-03 1.2470992250388096e-03 - 23 3.6277645415306518e-04 -3.4719859048227848e-03 -4.3796817853449118e-04 - 24 7.2410992462873655e-04 -7.6012809744767037e-04 4.3327155128124943e-04 - 25 1.3921349892629666e-03 -1.9207002802664867e-03 -5.7453335109528090e-04 - 26 -1.4901465947638008e-03 4.2012923457099966e-04 2.1578545404178418e-03 + 18 3.0094600492089644e-04 -2.4312792028464785e-04 6.5542049134054972e-04 + 19 7.4731683460624917e-04 -1.2894119671240515e-03 8.4327024053305281e-04 + 20 -6.2333686369944134e-04 4.4115361644063580e-04 3.7135656432041769e-04 + 21 -1.1457423794330429e-03 -1.7337748206069275e-04 9.4510018428907005e-04 + 22 -1.3457150585185161e-03 -1.2816797348700177e-03 1.2470992253076274e-03 + 23 3.6277645495226573e-04 -3.4719859038751704e-03 -4.3796817878355291e-04 + 24 7.2410992459670032e-04 -7.6012809759399148e-04 4.3327155120505761e-04 + 25 1.3921349891892136e-03 -1.9207002802470530e-03 -5.7453335098663809e-04 + 26 -1.4901465945625111e-03 4.2012923513626559e-04 2.1578545406129137e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nph_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nph_small.yaml index 3894815950..4d16fc12a0 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nph_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nph_small.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Mon Mar 25 20:01:00 2024 epsilon: 6.5e-13 skip_tests: prerequisites: ! | @@ -14,38 +15,38 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |2- - 2.7340318973870396e+01 4.7963870091858283e+00 6.8884396847592512e+01 2.9853310007358935e+01 -1.0857139901347722e+01 -5.1889756561454785e+00 -global_scalar: 9.77678786310451 + 2.7340318979717416e+01 4.7963870104375275e+00 6.8884396847589585e+01 2.9853310005453281e+01 -1.0857139898599751e+01 -5.1889756547311965e+00 +global_scalar: 9.776787862991728 run_pos: ! |2 - 1 -5.1121862036604515e-01 2.8134872171079977e+00 -4.8993015395518924e-02 - 2 1.4735952488047133e-01 3.3535825972277546e+00 -9.3694001270735150e-01 - 3 -9.8023793775378820e-01 1.4277788160410712e+00 -6.3283768722999234e-01 - 4 -1.9793617512974304e+00 1.7069097152779946e+00 -1.4449221382955635e+00 - 5 -1.2073406578712120e+00 1.0799834439081337e+00 6.9555923026692668e-01 - 6 1.3848116183742931e-01 2.8090381873852976e-01 -1.4910727029127884e+00 - 7 1.9062418946016990e-01 1.4366032742456625e-02 -3.0196292835199614e+00 - 8 1.1231015082845541e+00 -5.2094745136401599e-01 -7.0318517336042774e-01 - 9 1.3648756844511976e+00 -2.6143726919534771e-01 5.2247754752734465e-01 - 10 2.0900856844466578e+00 -1.5863783165912952e+00 -1.0801209545800976e+00 - 11 1.8348175253566659e+00 -2.2165258198419622e+00 -2.2686429310672072e+00 - 12 3.2042965133156098e+00 -5.2712831182449804e-01 -1.9248196297790088e+00 - 13 4.3832508188729271e+00 -9.9190674157019298e-01 -1.9502033172902991e+00 - 14 2.7519224412447691e+00 -4.3539271970391624e-01 -3.2687227073821310e+00 - 15 3.1732939937025400e+00 6.6003562890618639e-01 -1.4385076445934288e+00 - 16 2.8067449168447887e+00 -2.6773787170015133e+00 2.1667842294144180e-01 - 17 2.3305479923928516e+00 -2.3464414104884277e+00 1.6639254952584981e+00 - 18 2.2269920241232128e+00 3.4328783208254681e+00 -4.4342132514635013e+00 - 19 1.6145347679280793e+00 3.0386658278179439e+00 -5.1868156516245785e+00 - 20 2.8608613711028656e+00 4.1100452338287408e+00 -4.8694049549907970e+00 - 21 5.3613621396958795e+00 -4.5653056926475841e+00 -4.5681019697305372e+00 - 22 4.8144754754921184e+00 -4.6999404674483083e+00 -5.4362066556130868e+00 - 23 6.2091840278795729e+00 -4.0659479262420684e+00 -4.8393130641864568e+00 - 24 2.1433208912603074e+00 3.5960988832146015e+00 4.2399236066404100e+00 - 25 1.3636453973491918e+00 3.7192408266342980e+00 3.5723762826473990e+00 - 26 2.6593036729945752e+00 4.4718649490241678e+00 4.3032623333405660e+00 - 27 -2.4141791756398536e+00 -4.8879035738852403e+00 2.9097838637418292e+00 - 28 -3.2961505257539048e+00 -4.5101758871984199e+00 2.2261768979308005e+00 - 29 -1.6779316575994301e+00 -4.0348635219024889e+00 3.1144975929056571e+00 + 1 -5.1121862036689958e-01 2.8134872171089729e+00 -4.8993015395755179e-02 + 2 1.4735952487989756e-01 3.3535825972289093e+00 -9.3694001270719340e-01 + 3 -9.8023793775484513e-01 1.4277788160415970e+00 -6.3283768722997102e-01 + 4 -1.9793617512989155e+00 1.7069097152786199e+00 -1.4449221382951762e+00 + 5 -1.2073406578723613e+00 1.0799834439085494e+00 6.9555923026634758e-01 + 6 1.3848116183685821e-01 2.8090381873868608e-01 -1.4910727029123834e+00 + 7 1.9062418945961834e-01 1.4366032742524126e-02 -3.0196292835188681e+00 + 8 1.1231015082843996e+00 -5.2094745136412257e-01 -7.0318517336038155e-01 + 9 1.3648756844511478e+00 -2.6143726919537080e-01 5.2247754752684727e-01 + 10 2.0900856844469189e+00 -1.5863783165917535e+00 -1.0801209545798738e+00 + 11 1.8348175253568222e+00 -2.2165258198426265e+00 -2.2686429310664504e+00 + 12 3.2042965133163452e+00 -5.2712831182460818e-01 -1.9248196297784048e+00 + 13 4.3832508188741741e+00 -9.9190674157045855e-01 -1.9502033172896844e+00 + 14 2.7519224412453145e+00 -4.3539271970399618e-01 -3.2687227073809266e+00 + 15 3.1732939937032665e+00 6.6003562890646350e-01 -1.4385076445930487e+00 + 16 2.8067449168453553e+00 -2.6773787170023233e+00 2.1667842294107942e-01 + 17 2.3305479923932175e+00 -2.3464414104891320e+00 1.6639254952574838e+00 + 18 2.2269920241209178e+00 3.4328783208250382e+00 -4.4342132514621486e+00 + 19 1.6145347679293440e+00 3.0386658278306271e+00 -5.1868156516331227e+00 + 20 2.8608613711127191e+00 4.1100452338250122e+00 -4.8694049549767646e+00 + 21 5.3613621397513214e+00 -4.5653056926761684e+00 -4.5681019697231218e+00 + 22 4.8144754754873968e+00 -4.6999404677006380e+00 -5.4362066555318300e+00 + 23 6.2091840276731247e+00 -4.0659479258840996e+00 -4.8393130642860642e+00 + 24 2.1433208912158790e+00 3.5960988832250020e+00 4.2399236066734023e+00 + 25 1.3636453973794058e+00 3.7192408266942927e+00 3.5723762826011995e+00 + 26 2.6593036731433042e+00 4.4718649489304223e+00 4.3032623332423157e+00 + 27 -2.4141791756415234e+00 -4.8879035738867795e+00 2.9097838637402536e+00 + 28 -3.2961505257559520e+00 -4.5101758871998348e+00 2.2261768979295358e+00 + 29 -1.6779316576007828e+00 -4.0348635219037465e+00 3.1144975929039944e+00 run_vel: ! |2 1 7.7867804888392077e-04 5.8970331623292821e-04 -2.2179517633030531e-04 2 2.7129529964126462e-03 4.6286427111164284e-03 3.5805549693846352e-03 @@ -64,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.1638284997073272e-04 -2.6313163919070405e-04 6.1054395248656961e-04 - 19 7.6494647252307673e-04 -1.3190724749214326e-03 7.9947132612985723e-04 - 20 -6.1620104632513929e-04 4.2577138774295274e-04 3.2526261653548693e-04 - 21 -1.2063428871524097e-03 -2.2879409878999576e-04 8.9132836538734445e-04 - 22 -1.4151473871894464e-03 -1.3502255393198256e-03 1.1972773109437849e-03 - 23 3.1280366109607172e-04 -3.5563936893394407e-03 -4.9548546532774958e-04 - 24 7.5594375541558026e-04 -8.1321043994394464e-04 3.9340911295780739e-04 - 25 1.4373446731689036e-03 -1.9778020567486213e-03 -6.1842201918304478e-04 - 26 -1.4806168650325999e-03 3.7766934274110835e-04 2.1280924225288342e-03 + 18 3.1638284997600319e-04 -2.6313163919763335e-04 6.1054395248685519e-04 + 19 7.6494647250110288e-04 -1.3190724749175438e-03 7.9947132612783736e-04 + 20 -6.1620104632483571e-04 4.2577138776739548e-04 3.2526261653790590e-04 + 21 -1.2063428872614197e-03 -2.2879409923923591e-04 8.9132836537741717e-04 + 22 -1.4151473875545966e-03 -1.3502255384792933e-03 1.1972773112250280e-03 + 23 3.1280366189902534e-04 -3.5563936883846667e-03 -4.9548546556753227e-04 + 24 7.5594375538112746e-04 -8.1321044009394260e-04 3.9340911288157350e-04 + 25 1.4373446730968913e-03 -1.9778020567293151e-03 -6.1842201907436371e-04 + 26 -1.4806168648243687e-03 3.7766934332225264e-04 2.1280924227258073e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_npt.yaml b/unittest/force-styles/tests/fix-timestep-rigid_npt.yaml index f5965e53ff..5504ed4686 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_npt.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_npt.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Mon Mar 25 20:01:01 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -13,65 +14,65 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.6326314448663306e+03 -1.4727331978532295e+03 -3.8557370515932275e+03 5.5052891601644615e+02 4.7346742977310657e+02 -6.2035591882122355e+02 -global_scalar: 106.86683072474125 + -1.6326314448662429e+03 -1.4727331978532245e+03 -3.8557370515929042e+03 5.5052891601619581e+02 4.7346742977256520e+02 -6.2035591882208064e+02 +global_scalar: 106.86683072474244 run_pos: ! |2 - 1 -2.6314711410922875e-01 2.4664715027241684e+00 -1.7093568570875561e-01 - 2 3.1632911015968190e-01 2.9434731493852482e+00 -8.5432214735778889e-01 - 3 -6.7623447816593885e-01 1.2410822625695044e+00 -6.1935152269903870e-01 - 4 -1.5552134736906362e+00 1.4878541800991378e+00 -1.2440909745466859e+00 - 5 -8.7601967096402067e-01 9.3417436540572218e-01 4.0272031680440712e-01 - 6 3.0755837780638462e-01 2.2629147986241449e-01 -1.2791162680673960e+00 - 7 3.5322094628053069e-01 -1.0043890952307954e-02 -2.4548503163676365e+00 - 8 1.1736205127907979e+00 -4.8269091330540537e-01 -6.7273784266507608e-01 - 9 1.3865071239751696e+00 -2.5278331076620741e-01 2.6996653369766221e-01 - 10 2.0239883243193546e+00 -1.4252201368162511e+00 -9.6228264545891751e-01 - 11 1.7991233925769246e+00 -1.9828365722517098e+00 -1.8762366544355809e+00 - 12 3.0044710092992837e+00 -4.8928363303895761e-01 -1.6126944183951402e+00 - 13 4.0415308387392486e+00 -9.0061411581930262e-01 -1.6321139880363660e+00 - 14 2.6064005411338655e+00 -4.0859653026870735e-01 -2.6465043951812621e+00 - 15 2.9775904824773907e+00 5.6065407887877150e-01 -1.2391617757503752e+00 - 16 2.6542663248057963e+00 -2.3895844048756363e+00 3.5746598094128501e-02 - 17 2.2355490747046538e+00 -2.0962135127180099e+00 1.1489434027780590e+00 - 18 2.0921160979727347e+00 2.9872159674143273e+00 -3.4902339097026891e+00 - 19 1.4908686219092431e+00 2.6025398330908249e+00 -4.2194623779121834e+00 - 20 2.7154518806645740e+00 3.6506388357595867e+00 -3.9111287168645399e+00 - 21 4.8435638296030810e+00 -4.0881941921728835e+00 -3.5957796498833634e+00 - 22 4.3080557005367073e+00 -4.2177797604324549e+00 -4.4370935526124242e+00 - 23 5.6713237924930837e+00 -3.5912865024293716e+00 -3.8555915013182531e+00 - 24 2.0228224543345528e+00 3.1208125399081723e+00 3.1634860992076259e+00 - 25 1.2576132296055036e+00 3.2447174749294536e+00 2.5191319958251963e+00 - 26 2.5334951322488237e+00 3.9783477827941720e+00 3.2212409164234312e+00 - 27 -1.8488304998563332e+00 -4.2601261704683342e+00 2.0568476369354265e+00 - 28 -2.6026086128772454e+00 -3.9329047688996304e+00 1.5399898445636406e+00 - 29 -1.2195954744860957e+00 -3.5211468177700818e+00 2.2116264666073615e+00 + 1 -2.6314711410917102e-01 2.4664715027243860e+00 -1.7093568570953632e-01 + 2 3.1632911015962950e-01 2.9434731493852171e+00 -8.5432214735883338e-01 + 3 -6.7623447816593352e-01 1.2410822625695497e+00 -6.1935152269929450e-01 + 4 -1.5552134736907304e+00 1.4878541800989344e+00 -1.2440909745469027e+00 + 5 -8.7601967096385724e-01 9.3417436540614585e-01 4.0272031680429610e-01 + 6 3.0755837780630380e-01 2.2629147986222176e-01 -1.2791162680674191e+00 + 7 3.5322094628027934e-01 -1.0043890952942114e-02 -2.4548503163675806e+00 + 8 1.1736205127908210e+00 -4.8269091330536096e-01 -6.7273784266496328e-01 + 9 1.3865071239753313e+00 -2.5278331076580596e-01 2.6996653369765600e-01 + 10 2.0239883243193466e+00 -1.4252201368163044e+00 -9.6228264545858089e-01 + 11 1.7991233925767878e+00 -1.9828365722521095e+00 -1.8762366544350000e+00 + 12 3.0044710092991682e+00 -4.8928363303924272e-01 -1.6126944183953009e+00 + 13 4.0415308387391402e+00 -9.0061411581958151e-01 -1.6321139880365303e+00 + 14 2.6064005411335902e+00 -4.0859653026938592e-01 -2.6465043951813936e+00 + 15 2.9775904824773161e+00 5.6065407887862850e-01 -1.2391617757509259e+00 + 16 2.6542663248059526e+00 -2.3895844048753085e+00 3.5746598094734239e-02 + 17 2.2355490747049700e+00 -2.0962135127172692e+00 1.1489434027786212e+00 + 18 2.0921160979710356e+00 2.9872159674136229e+00 -3.4902339097027140e+00 + 19 1.4908686219074729e+00 2.6025398330897387e+00 -4.2194623779119471e+00 + 20 2.7154518806624317e+00 3.6506388357591026e+00 -3.9111287168648765e+00 + 21 4.8435638296045518e+00 -4.0881941921723524e+00 -3.5957796498832693e+00 + 22 4.3080557005379525e+00 -4.2177797604322951e+00 -4.4370935526121276e+00 + 23 5.6713237924942437e+00 -3.5912865024285043e+00 -3.8555915013185178e+00 + 24 2.0228224543350635e+00 3.1208125399084361e+00 3.1634860992076055e+00 + 25 1.2576132296057372e+00 3.2447174749292715e+00 2.5191319958254175e+00 + 26 2.5334951322489658e+00 3.9783477827946756e+00 3.2212409164231035e+00 + 27 -1.8488304998563332e+00 -4.2601261704683413e+00 2.0568476369354238e+00 + 28 -2.6026086128772454e+00 -3.9329047688996370e+00 1.5399898445636415e+00 + 29 -1.2195954744860957e+00 -3.5211468177700862e+00 2.2116264666073588e+00 run_vel: ! |2 - 1 1.2393084479630034e-03 7.0215195817155049e-04 -1.1910956210640397e-03 - 2 1.3060936199988536e-03 2.5041119719347224e-04 -1.4496302699051125e-03 - 3 8.7069732478159932e-04 6.1866591813748923e-04 -6.2317312592554579e-04 - 4 8.8100215742025064e-04 5.8380213791516000e-04 -6.5145037264846529e-04 - 5 8.7979303397991678e-04 1.1152950208762130e-03 -4.7231382224758212e-04 - 6 5.3965146863311727e-04 6.8643008418757634e-05 -2.7149223435848658e-04 - 7 3.7117679682181569e-04 -4.5322194777211656e-04 -1.7317402888851005e-04 - 8 4.0378854177636284e-04 9.9015358993666757e-05 -4.1783685861269460e-05 - 9 5.4970639315540500e-04 4.5048022318729304e-04 -1.6045108899919851e-04 - 10 1.2521448037945991e-04 -2.5472783650533836e-04 2.9052485920877619e-04 - 11 -1.0599027352488127e-04 -5.9051612835384309e-04 5.5226010155799178e-04 - 12 3.1798607399623040e-04 -7.9980833669012115e-04 -2.0274707260294341e-04 - 13 2.0597404142686670e-04 -1.0865778699535151e-03 -1.1731137935658918e-04 - 14 2.4719215573349161e-04 -1.1410575874168858e-03 -2.0209037936298231e-04 - 15 6.3286464043726845e-04 -6.3068988069288313e-04 -6.5527927471360488e-04 - 16 -4.4100406048953834e-05 8.6869240444187047e-06 6.5198761255923199e-04 - 17 1.3407421346950653e-04 6.0357565278263911e-04 5.6233596575975121e-04 - 18 7.9277804690569076e-04 -1.5618239874425175e-03 2.1367192719678593e-03 - 19 5.6167660797942776e-04 -1.2371794194922848e-03 2.1562222137424714e-03 - 20 1.1137406410123489e-03 -1.8729421751430327e-03 2.1222207985340819e-03 - 21 -2.8426953558137740e-03 -2.9730185469781381e-03 1.8564402246257748e-03 - 22 -2.9480844379790165e-03 -2.6797216173769360e-03 1.8784164631754769e-03 - 23 -2.5997293519674958e-03 -3.3926375081633348e-03 1.8288830284141459e-03 - 24 1.1689404599043950e-03 -1.6701257754515662e-03 2.1428138286394673e-03 - 25 1.2027302640333160e-03 -1.2630861421196525e-03 2.1808987508670514e-03 - 26 1.6116362268906780e-03 -1.9337182438138849e-03 2.1377249582867843e-03 + 1 1.2393084479632162e-03 7.0215195817134601e-04 -1.1910956210642444e-03 + 2 1.3060936199989690e-03 2.5041119719309234e-04 -1.4496302699052684e-03 + 3 8.7069732478170037e-04 6.1866591813752230e-04 -6.2317312592555772e-04 + 4 8.8100215742026918e-04 5.8380213791525335e-04 -6.5145037264832683e-04 + 5 8.7979303398017070e-04 1.1152950208763543e-03 -4.7231382224773813e-04 + 6 5.3965146863306555e-04 6.8643008418797912e-05 -2.7149223435837187e-04 + 7 3.7117679682156736e-04 -4.5322194777208414e-04 -1.7317402888817444e-04 + 8 4.0378854177637320e-04 9.9015358993721983e-05 -4.1783685861266425e-05 + 9 5.4970639315557207e-04 4.5048022318731326e-04 -1.6045108899939207e-04 + 10 1.2521448037938158e-04 -2.5472783650525840e-04 2.9052485920884211e-04 + 11 -1.0599027352512348e-04 -5.9051612835367331e-04 5.5226010155827335e-04 + 12 3.1798607399607243e-04 -7.9980833669034384e-04 -2.0274707260289267e-04 + 13 2.0597404142668038e-04 -1.0865778699538143e-03 -1.1731137935657286e-04 + 14 2.4719215573317579e-04 -1.1410575874171004e-03 -2.0209037936272953e-04 + 15 6.3286464043720871e-04 -6.3068988069325653e-04 -6.5527927471369335e-04 + 16 -4.4100406048914694e-05 8.6869240445997393e-06 6.5198761255915100e-04 + 17 1.3407421346973834e-04 6.0357565278286712e-04 5.6233596575947994e-04 + 18 7.9277804690533363e-04 -1.5618239874416928e-03 2.1367192719678658e-03 + 19 5.6167660797890148e-04 -1.2371794194914493e-03 2.1562222137424727e-03 + 20 1.1137406410120911e-03 -1.8729421751419769e-03 2.1222207985341088e-03 + 21 -2.8426953558134235e-03 -2.9730185469789214e-03 1.8564402246258563e-03 + 22 -2.9480844379788334e-03 -2.6797216173776307e-03 1.8784164631755556e-03 + 23 -2.5997293519669897e-03 -3.3926375081639489e-03 1.8288830284142509e-03 + 24 1.1689404599044329e-03 -1.6701257754517325e-03 2.1428138286393884e-03 + 25 1.2027302640331447e-03 -1.2630861421197028e-03 2.1808987508669616e-03 + 26 1.6116362268908176e-03 -1.9337182438138503e-03 2.1377249582867175e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_npt_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_npt_small.yaml index 3b13658e19..d04c58e083 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_npt_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_npt_small.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Mon Mar 25 20:01:01 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -13,38 +14,38 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -8.7531774769722489e+01 5.5811525017966304e+00 -5.5468297744356747e+01 -1.5316306343483370e+02 1.4641268097314367e+02 1.7263710089631324e+01 -global_scalar: 77.78983430293286 + -8.7531774640811420e+01 5.5811525750281774e+00 -5.5468297761715007e+01 -1.5316306336726905e+02 1.4641268095299071e+02 1.7263710083146290e+01 +global_scalar: 77.78983430422252 run_pos: ! |2 - 1 -4.6333219629007161e-01 2.7511450055070625e+00 -1.2865946102806269e-01 - 2 1.7937148390204793e-01 3.2800405238539234e+00 -8.8510337855738808e-01 - 3 -9.2104620265671233e-01 1.3941717929286011e+00 -6.2603796687145774e-01 - 4 -1.8960869879711328e+00 1.6675144043869761e+00 -1.3178544214440926e+00 - 5 -1.1426748052069362e+00 1.0535885915279550e+00 5.0562616550054784e-01 - 6 1.7070712623541162e-01 2.7107933832755826e-01 -1.3571701846607374e+00 - 7 2.2159329060539701e-01 1.0068698962042433e-02 -2.6593507556860114e+00 - 8 1.1315940381701060e+00 -5.1414408469809381e-01 -6.8596713849763802e-01 - 9 1.3675404538221994e+00 -2.6001531899016506e-01 3.5817751536664133e-01 - 10 2.0752698846777218e+00 -1.5574812996955254e+00 -1.0070795245589492e+00 - 11 1.8261547470632067e+00 -2.1745615463231482e+00 -2.0195839000288469e+00 - 12 3.1626236108721066e+00 -5.2019677375525752e-01 -1.7266801053747978e+00 - 13 4.3131602274134853e+00 -9.7533717592326674e-01 -1.7483045222380902e+00 - 14 2.7211536303664605e+00 -4.3036348628163701e-01 -2.8715539682060491e+00 - 15 3.1323683805788374e+00 6.4234915962457073e-01 -1.3123899007466848e+00 - 16 2.7746546569032322e+00 -2.6258578189755974e+00 9.7666596945726880e-02 - 17 2.3099360535750506e+00 -2.3017831004883886e+00 1.3305794265747686e+00 - 18 2.2091748314094701e+00 3.3564440703097080e+00 -3.8370878208998480e+00 - 19 1.5986312961639815e+00 2.9614993054417287e+00 -4.5778944294436021e+00 - 20 2.8405364052167421e+00 4.0335971973474170e+00 -4.2659151034329339e+00 - 21 5.2651527410670678e+00 -4.4761614286515128e+00 -3.9518304737634447e+00 - 22 4.7192922284117014e+00 -4.6119045765637390e+00 -4.8062296930647124e+00 - 23 6.1127575782518644e+00 -3.9811721108739997e+00 -4.2204729624242692e+00 - 24 2.1290800761933255e+00 3.5132841007593623e+00 3.5392070209389175e+00 - 25 1.3519459804490630e+00 3.6349473854278020e+00 2.8807586653452137e+00 - 26 2.6413474233716503e+00 4.3893648735951771e+00 3.6035699967293215e+00 - 27 -2.3204235087828389e+00 -4.7905434153250859e+00 2.3919287951691697e+00 - 28 -3.1811356909797261e+00 -4.4206486004501846e+00 1.8095625809312565e+00 - 29 -1.6019226098503827e+00 -3.9551927030786480e+00 2.5663248522869146e+00 + 1 -4.6333219629057343e-01 2.7511450055078264e+00 -1.2865946102794723e-01 + 2 1.7937148390171043e-01 3.2800405238548382e+00 -8.8510337855745913e-01 + 3 -9.2104620265733672e-01 1.3941717929290096e+00 -6.2603796687147195e-01 + 4 -1.8960869879720148e+00 1.6675144043874610e+00 -1.3178544214442827e+00 + 5 -1.1426748052076219e+00 1.0535885915282748e+00 5.0562616550083384e-01 + 6 1.7070712623507234e-01 2.7107933832768616e-01 -1.3571701846609390e+00 + 7 2.2159329060507194e-01 1.0068698962099276e-02 -2.6593507556865532e+00 + 8 1.1315940381700180e+00 -5.1414408469817374e-01 -6.8596713849766644e-01 + 9 1.3675404538221745e+00 -2.6001531899018637e-01 3.5817751536688647e-01 + 10 2.0752698846778816e+00 -1.5574812996958780e+00 -1.0070795245590576e+00 + 11 1.8261547470632973e+00 -2.1745615463236652e+00 -2.0195839000292208e+00 + 12 3.1626236108725436e+00 -5.2019677375534190e-01 -1.7266801053750953e+00 + 13 4.3131602274142278e+00 -9.7533717592347013e-01 -1.7483045222383922e+00 + 14 2.7211536303667962e+00 -4.3036348628169740e-01 -2.8715539682066451e+00 + 15 3.1323683805792637e+00 6.4234915962478567e-01 -1.3123899007468758e+00 + 16 2.7746546569035768e+00 -2.6258578189762343e+00 9.7666596945902739e-02 + 17 2.3099360535752709e+00 -2.3017831004889393e+00 1.3305794265752642e+00 + 18 2.2091748313982826e+00 3.3564440703034535e+00 -3.8370878209026742e+00 + 19 1.5986312961681257e+00 2.9614993054929961e+00 -4.5778944294898185e+00 + 20 2.8405364052584243e+00 4.0335971973267473e+00 -4.2659151033808254e+00 + 21 5.2651527413064194e+00 -4.4761614287784965e+00 -3.9518304737405883e+00 + 22 4.7192922283808425e+00 -4.6119045776644754e+00 -4.8062296927145907e+00 + 23 6.1127575773332410e+00 -3.9811721092729444e+00 -4.2204729628712050e+00 + 24 2.1290800759971340e+00 3.5132841007987228e+00 3.5392070210919400e+00 + 25 1.3519459805793055e+00 3.6349473856926782e+00 2.8807586651545414e+00 + 26 2.6413474240255201e+00 4.3893648731792023e+00 3.6035699963154144e+00 + 27 -2.3204235087838274e+00 -4.7905434153262867e+00 2.3919287951699459e+00 + 28 -3.1811356909809412e+00 -4.4206486004512886e+00 1.8095625809318783e+00 + 29 -1.6019226098511883e+00 -3.9551927030796277e+00 2.5663248522877335e+00 run_vel: ! |2 1 7.7867804888392077e-04 5.8970331623292821e-04 -2.2179517633030531e-04 2 2.7129529964126462e-03 4.6286427111164284e-03 3.5805549693846352e-03 @@ -63,15 +64,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 7.2384391131466940e-04 -6.0015829212802722e-04 1.5957533238990559e-03 - 19 1.7583138222551384e-03 -3.0158245948490804e-03 2.0310435058142470e-03 - 20 -1.4153552732353322e-03 9.7835305930749246e-04 9.3881222516217474e-04 - 21 -2.7591188772323472e-03 -5.1180650802276303e-04 2.2758295071994400e-03 - 22 -3.2319732401280494e-03 -3.0809796427949646e-03 2.9861065768383484e-03 - 23 6.9767443123301817e-04 -8.1543313142268207e-03 -8.9929522742256325e-04 - 24 1.7345816999787505e-03 -1.8508160062822962e-03 1.0723416147087287e-03 - 25 3.2855417755407162e-03 -4.5284294762327620e-03 -1.2529299007822618e-03 - 26 -3.4004728795728936e-03 8.5952140737749613e-04 5.0505027847540665e-03 + 18 7.2384391137821785e-04 -6.0015829219183913e-04 1.5957533239005792e-03 + 19 1.7583138220942001e-03 -3.0158245949231362e-03 2.0310435058145879e-03 + 20 -1.4153552733289841e-03 9.7835305963750062e-04 9.3881222515317965e-04 + 21 -2.7591188784018856e-03 -5.1180651254767841e-04 2.2758295071625967e-03 + 22 -3.2319732438308327e-03 -3.0809796341686479e-03 2.9861065796802132e-03 + 23 6.9767443960831559e-04 -8.1543313047864312e-03 -8.9929523012053270e-04 + 24 1.7345816996818938e-03 -1.8508160077951139e-03 1.0723416139084840e-03 + 25 3.2855417748809557e-03 -4.5284294761711655e-03 -1.2529298997977286e-03 + 26 -3.4004728777299181e-03 8.5952141335802687e-04 5.0505027869618231e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nve_group.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nve_group.yaml index b20d639fd4..fc5948cb52 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nve_group.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nve_group.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Mon Mar 25 20:01:02 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,65 +15,65 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.4245356938011610e+03 -1.4496493316650424e+03 -3.6144360982532016e+03 8.4840626794792252e+02 2.0318336802442886e+02 -6.0622397695978805e+02 -global_scalar: 15.711521423178128 + -1.4245356938011316e+03 -1.4496493316650758e+03 -3.6144360982530934e+03 8.4840626794790273e+02 2.0318336802433893e+02 -6.0622397695991208e+02 +global_scalar: 15.711521423178162 run_pos: ! |2 - 1 -2.7899546863905123e-01 2.4731857340327181e+00 -1.7290667740231969e-01 - 2 3.0296221610252227e-01 2.9517129916957194e+00 -8.5798904387756503e-01 - 3 -6.9368802364141247e-01 1.2445115421753310e+00 -6.2281111198650718e-01 - 4 -1.5764879647103560e+00 1.4919714415840475e+00 -1.2492069414674947e+00 - 5 -8.9434512967440649e-01 9.3651699743494377e-01 4.0191726558257690e-01 - 6 2.9454439634452678e-01 2.2724545792543693e-01 -1.2845195053960459e+00 - 7 3.4049112903278234e-01 -9.4655678321664549e-03 -2.4634480020857370e+00 - 8 1.1644354555804921e+00 -4.8367776650962330e-01 -6.7663643940738027e-01 - 9 1.3781717822695918e+00 -2.5332509530017322e-01 2.6864954436590494e-01 - 10 2.0186368606042460e+00 -1.4285861423625348e+00 -9.6712491252784183e-01 - 11 1.7929137227578726e+00 -1.9875455388406436e+00 -1.8836565352267429e+00 - 12 3.0032775230400142e+00 -4.8983022415161337e-01 -1.6190248017342870e+00 - 13 4.0448964162126639e+00 -9.0213155122374034e-01 -1.6385398399478515e+00 - 14 2.6035151245016883e+00 -4.0874995493201027e-01 -2.6555999074785985e+00 - 15 2.9761196776172243e+00 5.6287237454118566e-01 -1.2442626196081918e+00 - 16 2.6517373021566577e+00 -2.3957035508393689e+00 3.3389262100618433e-02 - 17 2.2311114924744668e+00 -2.1018393228799419e+00 1.1496088522376777e+00 - 18 2.1390642573199212e+00 3.0164773560692755e+00 -3.5143984803853900e+00 - 19 1.5353246655143720e+00 2.6305911186314508e+00 -4.2455871034736816e+00 - 20 2.7649421538935122e+00 3.6818603528430254e+00 -3.9364115785985936e+00 - 21 4.9043112657301942e+00 -4.0774268210396798e+00 -3.6200836396129796e+00 - 22 4.3665322424286144e+00 -4.2075138112953070e+00 -4.4636587264885614e+00 - 23 5.7355405581987764e+00 -3.5789558641907195e+00 -3.8805763324090350e+00 - 24 2.0692780332810026e+00 3.1504920436416008e+00 3.1571131300668833e+00 - 25 1.3007297593168636e+00 3.2745259354178766e+00 2.5110163874103986e+00 - 26 2.5819416446099002e+00 4.0104903120757012e+00 3.2150249624525742e+00 + 1 -2.7899546863904412e-01 2.4731857340327541e+00 -1.7290667740243348e-01 + 2 3.0296221610251317e-01 2.9517129916957181e+00 -8.5798904387771990e-01 + 3 -6.9368802364141358e-01 1.2445115421753392e+00 -6.2281111198654315e-01 + 4 -1.5764879647103740e+00 1.4919714415840188e+00 -1.2492069414675249e+00 + 5 -8.9434512967438362e-01 9.3651699743500849e-01 4.0191726558256402e-01 + 6 2.9454439634451368e-01 2.2724545792540876e-01 -1.2845195053960490e+00 + 7 3.4049112903274215e-01 -9.4655678322607961e-03 -2.4634480020857299e+00 + 8 1.1644354555804954e+00 -4.8367776650961680e-01 -6.7663643940736340e-01 + 9 1.3781717822696169e+00 -2.5332509530011327e-01 2.6864954436590560e-01 + 10 2.0186368606042455e+00 -1.4285861423625437e+00 -9.6712491252779242e-01 + 11 1.7929137227578522e+00 -1.9875455388407057e+00 -1.8836565352266585e+00 + 12 3.0032775230399977e+00 -4.8983022415165589e-01 -1.6190248017343138e+00 + 13 4.0448964162126479e+00 -9.0213155122378219e-01 -1.6385398399478794e+00 + 14 2.6035151245016470e+00 -4.0874995493211108e-01 -2.6555999074786221e+00 + 15 2.9761196776172136e+00 5.6287237454116579e-01 -1.2442626196082760e+00 + 16 2.6517373021566839e+00 -2.3957035508393223e+00 3.3389262100708361e-02 + 17 2.2311114924745179e+00 -2.1018393228798340e+00 1.1496088522377621e+00 + 18 2.1390642573196605e+00 3.0164773560691671e+00 -3.5143984803853927e+00 + 19 1.5353246655140995e+00 2.6305911186312847e+00 -4.2455871034736425e+00 + 20 2.7649421538931831e+00 3.6818603528429503e+00 -3.9364115785986438e+00 + 21 4.9043112657304171e+00 -4.0774268210395990e+00 -3.6200836396129659e+00 + 22 4.3665322424288018e+00 -4.2075138112952830e+00 -4.4636587264885161e+00 + 23 5.7355405581989505e+00 -3.5789558641905872e+00 -3.8805763324090754e+00 + 24 2.0692780332810834e+00 3.1504920436416377e+00 3.1571131300668784e+00 + 25 1.3007297593169014e+00 3.2745259354178451e+00 2.5110163874104305e+00 + 26 2.5819416446099250e+00 4.0104903120757749e+00 3.2150249624525231e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 4.7093289825841293e-04 2.6351122778450888e-04 -4.4905093064113717e-04 - 2 4.9594625316469964e-04 9.4561370489668111e-05 -5.4581359894048111e-04 - 3 3.3306085115754910e-04 2.3224943880673595e-04 -2.3659455671744723e-04 - 4 3.3692327392259764e-04 2.1926810694050300e-04 -2.4716631558861373e-04 - 5 3.3642542694184180e-04 4.1797578013266372e-04 -1.8011341766654800e-04 - 6 2.0926869754934492e-04 2.6449308951570887e-05 -1.0508938983871866e-04 - 7 1.4629043007908284e-04 -1.6873376665352296e-04 -6.8354048774366290e-05 - 8 1.5844101624224813e-04 3.7728761273997381e-05 -1.9162715667088780e-05 - 9 2.1299362072601532e-04 1.6917140529158732e-04 -6.3528165037833598e-05 - 10 5.4261629412260376e-05 -9.4655528376821362e-05 1.0511362869146115e-04 - 11 -3.2194160796493454e-05 -2.2025095264761673e-04 2.0300202946211041e-04 - 12 1.2640586304751833e-04 -2.9851080445664229e-04 -7.9476371818270762e-05 - 13 8.4523575162163329e-05 -4.0583135407329152e-04 -4.7551111331733064e-05 - 14 9.9954050381288400e-05 -4.2610816481298728e-04 -7.9255633594414740e-05 - 15 2.4417481119791087e-04 -2.3521002264675206e-04 -2.4875318161051227e-04 - 16 -9.0958138549618100e-06 3.7774817121146141e-06 2.4035199548835590e-04 - 17 5.7507224523608950e-05 2.2629217444844056e-04 2.0686920072686990e-04 - 18 2.9220264989358538e-04 -6.2478376436791018e-04 8.4222594596602778e-04 - 19 2.0572616567796829e-04 -5.0334424271721273e-04 8.4953929443210897e-04 - 20 4.1224811789512659e-04 -7.4115205416005016e-04 8.3678612337508636e-04 - 21 -1.0671858777656236e-03 -1.1531171045500116e-03 7.3720674900161585e-04 - 22 -1.1066511338291651e-03 -1.0433933757601002e-03 7.4544544325707912e-04 - 23 -9.7629260480938717e-04 -1.3100872491594619e-03 7.2687284219704522e-04 - 24 4.3308126651259090e-04 -6.6527658087322823e-04 8.4451298670663681e-04 - 25 4.4565811905441464e-04 -5.1298436273583472e-04 8.5878867884521526e-04 - 26 5.9865972692023459e-04 -7.6385263287079232e-04 8.4259943226842524e-04 + 1 4.7093289825842481e-04 2.6351122778449815e-04 -4.4905093064115029e-04 + 2 4.9594625316470614e-04 9.4561370489646928e-05 -5.4581359894049163e-04 + 3 3.3306085115755453e-04 2.3224943880673822e-04 -2.3659455671744877e-04 + 4 3.3692327392259862e-04 2.1926810694050856e-04 -2.4716631558860722e-04 + 5 3.3642542694185568e-04 4.1797578013267277e-04 -1.8011341766655748e-04 + 6 2.0926869754934175e-04 2.6449308951572771e-05 -1.0508938983871239e-04 + 7 1.4629043007906883e-04 -1.6873376665352220e-04 -6.8354048774347479e-05 + 8 1.5844101624224818e-04 3.7728761274000153e-05 -1.9162715667088122e-05 + 9 2.1299362072602399e-04 1.6917140529158875e-04 -6.3528165037844006e-05 + 10 5.4261629412255362e-05 -9.4655528376817648e-05 1.0511362869146607e-04 + 11 -3.2194160796507657e-05 -2.2025095264760857e-04 2.0300202946212778e-04 + 12 1.2640586304750909e-04 -2.9851080445665606e-04 -7.9476371818267184e-05 + 13 8.4523575162152420e-05 -4.0583135407330979e-04 -4.7551111331730963e-05 + 14 9.9954050381270538e-05 -4.2610816481300132e-04 -7.9255633594400035e-05 + 15 2.4417481119790729e-04 -2.3521002264677391e-04 -2.4875318161051720e-04 + 16 -9.0958138549606716e-06 3.7774817121242263e-06 2.4035199548835337e-04 + 17 5.7507224523620660e-05 2.2629217444845357e-04 2.0686920072685659e-04 + 18 2.9220264989356375e-04 -6.2478376436786377e-04 8.4222594596602756e-04 + 19 2.0572616567793704e-04 -5.0334424271716611e-04 8.4953929443210886e-04 + 20 4.1224811789511017e-04 -7.4115205415999053e-04 8.3678612337508690e-04 + 21 -1.0671858777656028e-03 -1.1531171045500558e-03 7.3720674900162051e-04 + 22 -1.1066511338291541e-03 -1.0433933757601397e-03 7.4544544325708389e-04 + 23 -9.7629260480935768e-04 -1.3100872491594961e-03 7.2687284219705075e-04 + 24 4.3308126651259366e-04 -6.6527658087323755e-04 8.4451298670663172e-04 + 25 4.4565811905440515e-04 -5.1298436273583775e-04 8.5878867884520984e-04 + 26 5.9865972692024294e-04 -7.6385263287079004e-04 8.4259943226842036e-04 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nve_molecule.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nve_molecule.yaml index 839ac060a5..0f36c31a95 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nve_molecule.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nve_molecule.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Mon Mar 25 20:01:02 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,8 +15,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200114774918006e+01 -2.6907707694141354e+01 -6.0080872444875970e+00 -2.5620425756344780e+01 -1.3450222538011893e+01 -1.4947348732785031e+00 -global_scalar: 18.340560167364448 + -4.9200114760030708e+01 -2.6907707699312748e+01 -6.0080872440179061e+00 -2.5620425767600064e+01 -1.3450222535184853e+01 -1.4947348700253382e+00 +global_scalar: 18.340560165889197 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -34,15 +35,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1392027588270928e+00 3.0171068018423082e+00 -3.5144628518853867e+00 - 19 1.5366124996934336e+00 2.6286809834236959e+00 -4.2452547844313493e+00 - 20 2.7628161763597592e+00 3.6842251687468450e+00 -3.9370881219419189e+00 - 21 4.9036621348471368e+00 -4.0757648444604762e+00 -3.6192617654906609e+00 - 22 4.3655322292129357e+00 -4.2084949964269480e+00 -4.4622011117992786e+00 - 23 5.7380414790507261e+00 -3.5841969189265162e+00 -3.8827839828320116e+00 - 24 2.0701314764933532e+00 3.1499370533556008e+00 3.1565324853054118e+00 - 25 1.3030170721038390e+00 3.2711173927738786e+00 2.5081940917867680e+00 - 26 2.5776230784374867e+00 4.0127347067334345e+00 3.2182355136150917e+00 + 18 2.1392027588241729e+00 3.0171068018404634e+00 -3.5144628518858858e+00 + 19 1.5366124996944652e+00 2.6286809834366300e+00 -4.2452547844429631e+00 + 20 2.7628161763703827e+00 3.6842251687412753e+00 -3.9370881219283147e+00 + 21 4.9036621349084646e+00 -4.0757648444931904e+00 -3.6192617654848509e+00 + 22 4.3655322292057255e+00 -4.2084949967079632e+00 -4.4622011117106153e+00 + 23 5.7380414788131207e+00 -3.5841969185149058e+00 -3.8827839829438688e+00 + 24 2.0701314764430685e+00 3.1499370533656190e+00 3.1565324853444698e+00 + 25 1.3030170721374645e+00 3.2711173928413317e+00 2.5081940917372791e+00 + 26 2.5776230786045939e+00 4.0127347066259897e+00 3.2182355135086644e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -64,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625094898067e-04 -3.1032459262177040e-04 8.1043030117471950e-04 - 19 8.5103884664914254e-04 -1.4572280597118469e-03 1.0163621287571445e-03 - 20 -6.5204659274939057e-04 4.3989037444674739e-04 4.9909839028631532e-04 - 21 -1.3888125888095134e-03 -3.1978049191290817e-04 1.1455681505629727e-03 - 22 -1.6084223473476296e-03 -1.5355394235202363e-03 1.4772010819351844e-03 - 23 2.6392672583440717e-04 -3.9375414417551127e-03 -3.6991583302200246e-04 - 24 8.6062827046548790e-04 -9.4179873487668705e-04 5.5396395555797203e-04 - 25 1.5933645478462865e-03 -2.2139156628290975e-03 -5.5078029723780941e-04 - 26 -1.5679561736454237e-03 3.5146224433513641e-04 2.4446924193838983e-03 + 18 3.6149625095571725e-04 -3.1032459263052550e-04 8.1043030117473349e-04 + 19 8.5103884662188244e-04 -1.4572280597071525e-03 1.0163621287543638e-03 + 20 -6.5204659274901945e-04 4.3989037447700791e-04 4.9909839028904252e-04 + 21 -1.3888125889514069e-03 -3.1978049248194420e-04 1.1455681505565557e-03 + 22 -1.6084223477996385e-03 -1.5355394224557757e-03 1.4772010822781041e-03 + 23 2.6392672685288674e-04 -3.9375414405480738e-03 -3.6991583333937880e-04 + 24 8.6062827042478370e-04 -9.4179873506334828e-04 5.5396395546095014e-04 + 25 1.5933645477524167e-03 -2.2139156628045932e-03 -5.5078029709943691e-04 + 26 -1.5679561733890424e-03 3.5146224505578228e-04 2.4446924196328459e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nve_single.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nve_single.yaml index 854e8b4d45..6a8c54f4a9 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nve_single.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nve_single.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Mon Mar 25 20:01:03 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,26 +15,26 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.3754817467882767e+03 -1.4228425246441275e+03 -3.6087196200592489e+03 8.7407043142559303e+02 2.1665316510426268e+02 -6.0480791467747542e+02 -global_scalar: 4.531423038570333 + -1.3754817467882813e+03 -1.4228425246442055e+03 -3.6087196200592184e+03 8.7407043142559792e+02 2.1665316510417179e+02 -6.0480791467761571e+02 +global_scalar: 4.531423038570381 run_pos: ! |2 - 1 -2.7899546859706881e-01 2.4731857340427750e+00 -1.7290667720866193e-01 - 2 3.0296221616781649e-01 2.9517129917211218e+00 -8.5798904365338713e-01 - 3 -6.9368802362172777e-01 1.2445115422148878e+00 -6.2281111185285920e-01 - 4 -1.5764879646739900e+00 1.4919714416721197e+00 -1.2492069413381908e+00 - 5 -8.9434512967965252e-01 9.3651699743522254e-01 4.0191726569953845e-01 - 6 2.9454439635066831e-01 2.2724545796942719e-01 -1.2845195052894431e+00 - 7 3.4049112905319934e-01 -9.4655677384814507e-03 -2.4634480019885556e+00 - 8 1.1644354555589707e+00 -4.8367776651303718e-01 -6.7663643931662931e-01 - 9 1.3781717822376129e+00 -2.5332509534954067e-01 2.6864954447021949e-01 - 10 2.0186368605646337e+00 -1.4285861423742481e+00 -9.6712491246329535e-01 - 11 1.7929137227202196e+00 -1.9875455388073511e+00 -1.8836565351901273e+00 - 12 3.0032775230343667e+00 -4.8983022415922672e-01 -1.6190248016125368e+00 - 13 4.0448964161972993e+00 -9.0213155125590028e-01 -1.6385398398261621e+00 - 14 2.6035151245156412e+00 -4.0874995488520105e-01 -2.6555999073601511e+00 - 15 2.9761196776308623e+00 5.6287237451808192e-01 -1.2442626194415292e+00 - 16 2.6517373020764632e+00 -2.3957035509096389e+00 3.3389262134244646e-02 - 17 2.2311114923824555e+00 -2.1018393229880719e+00 1.1496088522768189e+00 + 1 -2.7899546859705771e-01 2.4731857340428069e+00 -1.7290667720877784e-01 + 2 3.0296221616781072e-01 2.9517129917211151e+00 -8.5798904365354312e-01 + 3 -6.9368802362172532e-01 1.2445115422148945e+00 -6.2281111185289584e-01 + 4 -1.5764879646740031e+00 1.4919714416720897e+00 -1.2492069413382207e+00 + 5 -8.9434512967962521e-01 9.3651699743528616e-01 4.0191726569952280e-01 + 6 2.9454439635065666e-01 2.2724545796939852e-01 -1.2845195052894454e+00 + 7 3.4049112905316026e-01 -9.4655677385761805e-03 -2.4634480019885459e+00 + 8 1.1644354555589742e+00 -4.8367776651303018e-01 -6.7663643931661244e-01 + 9 1.3781717822376380e+00 -2.5332509534948033e-01 2.6864954447021760e-01 + 10 2.0186368605646310e+00 -1.4285861423742554e+00 -9.6712491246324517e-01 + 11 1.7929137227201968e+00 -1.9875455388074099e+00 -1.8836565351900401e+00 + 12 3.0032775230343471e+00 -4.8983022415926980e-01 -1.6190248016125621e+00 + 13 4.0448964161972807e+00 -9.0213155125594269e-01 -1.6385398398261892e+00 + 14 2.6035151245155976e+00 -4.0874995488530264e-01 -2.6555999073601715e+00 + 15 2.9761196776308503e+00 5.6287237451805949e-01 -1.2442626194416131e+00 + 16 2.6517373020764849e+00 -2.3957035509095892e+00 3.3389262134333686e-02 + 17 2.2311114923825035e+00 -2.1018393229879604e+00 1.1496088522769004e+00 18 2.1384791188033843e+00 3.0177261773770208e+00 -3.5160827596876225e+00 19 1.5349125211132961e+00 2.6315969880333707e+00 -4.2472859440220647e+00 20 2.7641167828863153e+00 3.6833419064000221e+00 -3.9380850623312638e+00 @@ -47,23 +48,23 @@ run_pos: ! |2 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 4.7093296226164550e-04 2.6351124312060223e-04 -4.4905063547613568e-04 - 2 4.9594635271876775e-04 9.4561409237174846e-05 -5.4581325723053790e-04 - 3 3.3306088119081919e-04 2.3224949911015709e-04 -2.3659435306899653e-04 - 4 3.3692332940285361e-04 2.1926824120528752e-04 -2.4716611858555457e-04 - 5 3.3642541894622217e-04 4.1797578053944250e-04 -1.8011323945926332e-04 - 6 2.0926870695908031e-04 2.6449376032433555e-05 -1.0508922741401509e-04 - 7 1.4629046128363305e-04 -1.6873362379725323e-04 -6.8353900724087087e-05 - 8 1.5844098346817862e-04 3.7728756087615553e-05 -1.9162577392847385e-05 - 9 2.1299357198252531e-04 1.6917133003967874e-04 -6.3528006071188683e-05 - 10 5.4261569071251603e-05 -9.4655546204709643e-05 1.0511372702289179e-04 - 11 -3.2194218121513917e-05 -2.2025090185605342e-04 2.0300208519291412e-04 - 12 1.2640585449265036e-04 -2.9851081600945991e-04 -7.9476186245599681e-05 - 13 8.4523551795123310e-05 -4.0583140303606936e-04 -4.7550925831962545e-05 - 14 9.9954071734181717e-05 -4.2610809338914382e-04 -7.9255453072696249e-05 - 15 2.4417483202631243e-04 -2.3521005781666407e-04 -2.4875292755154228e-04 - 16 -9.0959360838797421e-06 3.7773746063106756e-06 2.4035204669042973e-04 - 17 5.7507084250803101e-05 2.2629200960629499e-04 2.0686926033796699e-04 + 1 4.7093296226165618e-04 2.6351124312058857e-04 -4.4905063547614403e-04 + 2 4.9594635271877252e-04 9.4561409237151983e-05 -5.4581325723054321e-04 + 3 3.3306088119082413e-04 2.3224949911015692e-04 -2.3659435306899455e-04 + 4 3.3692332940285378e-04 2.1926824120529077e-04 -2.4716611858554389e-04 + 5 3.3642541894623611e-04 4.1797578053944765e-04 -1.8011323945926958e-04 + 6 2.0926870695907706e-04 2.6449376032434591e-05 -1.0508922741400673e-04 + 7 1.4629046128361865e-04 -1.6873362379725188e-04 -6.8353900724066446e-05 + 8 1.5844098346817927e-04 3.7728756087617390e-05 -1.9162577392845779e-05 + 9 2.1299357198253474e-04 1.6917133003967807e-04 -6.3528006071197993e-05 + 10 5.4261569071247645e-05 -9.4655546204705848e-05 1.0511372702289633e-04 + 11 -3.2194218121526927e-05 -2.2025090185604412e-04 2.0300208519293052e-04 + 12 1.2640585449264128e-04 -2.9851081600947238e-04 -7.9476186245595616e-05 + 13 8.4523551795112752e-05 -4.0583140303608579e-04 -4.7550925831960783e-05 + 14 9.9954071734163598e-05 -4.2610809338915548e-04 -7.9255453072680826e-05 + 15 2.4417483202630842e-04 -2.3521005781668527e-04 -2.4875292755154548e-04 + 16 -9.0959360838764895e-06 3.7773746063197473e-06 2.4035204669042547e-04 + 17 5.7507084250817169e-05 2.2629200960630572e-04 2.0686926033795233e-04 18 -6.0936815808025862e-04 -9.3774557532468582e-04 -3.3558072507805731e-04 19 -6.9919768291957119e-04 -3.6060777270430031e-03 4.2833405289822791e-03 20 4.7777805013736515e-03 5.1003745845520452e-03 1.8002873923729241e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nve_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nve_small.yaml index 664921b147..7b702a4f2a 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nve_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nve_small.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Mon Mar 25 20:01:03 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,8 +15,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200114774918006e+01 -2.6907707694141354e+01 -6.0080872444875970e+00 -2.5620425756344780e+01 -1.3450222538011893e+01 -1.4947348732785031e+00 -global_scalar: 0.5007318719663203 + -4.9200114760030708e+01 -2.6907707699312748e+01 -6.0080872440179061e+00 -2.5620425767600064e+01 -1.3450222535184853e+01 -1.4947348700253382e+00 +global_scalar: 0.5007318719399354 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -34,15 +35,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1392027588270928e+00 3.0171068018423082e+00 -3.5144628518853867e+00 - 19 1.5366124996934336e+00 2.6286809834236959e+00 -4.2452547844313493e+00 - 20 2.7628161763597592e+00 3.6842251687468450e+00 -3.9370881219419189e+00 - 21 4.9036621348471368e+00 -4.0757648444604762e+00 -3.6192617654906609e+00 - 22 4.3655322292129357e+00 -4.2084949964269480e+00 -4.4622011117992786e+00 - 23 5.7380414790507261e+00 -3.5841969189265162e+00 -3.8827839828320116e+00 - 24 2.0701314764933532e+00 3.1499370533556008e+00 3.1565324853054118e+00 - 25 1.3030170721038390e+00 3.2711173927738786e+00 2.5081940917867680e+00 - 26 2.5776230784374867e+00 4.0127347067334345e+00 3.2182355136150917e+00 + 18 2.1392027588241729e+00 3.0171068018404634e+00 -3.5144628518858858e+00 + 19 1.5366124996944652e+00 2.6286809834366300e+00 -4.2452547844429631e+00 + 20 2.7628161763703827e+00 3.6842251687412753e+00 -3.9370881219283147e+00 + 21 4.9036621349084646e+00 -4.0757648444931904e+00 -3.6192617654848509e+00 + 22 4.3655322292057255e+00 -4.2084949967079632e+00 -4.4622011117106153e+00 + 23 5.7380414788131207e+00 -3.5841969185149058e+00 -3.8827839829438688e+00 + 24 2.0701314764430685e+00 3.1499370533656190e+00 3.1565324853444698e+00 + 25 1.3030170721374645e+00 3.2711173928413317e+00 2.5081940917372791e+00 + 26 2.5776230786045939e+00 4.0127347066259897e+00 3.2182355135086644e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -64,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625094898067e-04 -3.1032459262177040e-04 8.1043030117471950e-04 - 19 8.5103884664914254e-04 -1.4572280597118469e-03 1.0163621287571445e-03 - 20 -6.5204659274939057e-04 4.3989037444674739e-04 4.9909839028631532e-04 - 21 -1.3888125888095134e-03 -3.1978049191290817e-04 1.1455681505629727e-03 - 22 -1.6084223473476296e-03 -1.5355394235202363e-03 1.4772010819351844e-03 - 23 2.6392672583440717e-04 -3.9375414417551127e-03 -3.6991583302200246e-04 - 24 8.6062827046548790e-04 -9.4179873487668705e-04 5.5396395555797203e-04 - 25 1.5933645478462865e-03 -2.2139156628290975e-03 -5.5078029723780941e-04 - 26 -1.5679561736454237e-03 3.5146224433513641e-04 2.4446924193838983e-03 + 18 3.6149625095571725e-04 -3.1032459263052550e-04 8.1043030117473349e-04 + 19 8.5103884662188244e-04 -1.4572280597071525e-03 1.0163621287543638e-03 + 20 -6.5204659274901945e-04 4.3989037447700791e-04 4.9909839028904252e-04 + 21 -1.3888125889514069e-03 -3.1978049248194420e-04 1.1455681505565557e-03 + 22 -1.6084223477996385e-03 -1.5355394224557757e-03 1.4772010822781041e-03 + 23 2.6392672685288674e-04 -3.9375414405480738e-03 -3.6991583333937880e-04 + 24 8.6062827042478370e-04 -9.4179873506334828e-04 5.5396395546095014e-04 + 25 1.5933645477524167e-03 -2.2139156628045932e-03 -5.5078029709943691e-04 + 26 -1.5679561733890424e-03 3.5146224505578228e-04 2.4446924196328459e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nvt.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nvt.yaml index a49508ca15..b8ec6036a3 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nvt.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nvt.yaml @@ -1,7 +1,8 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 -epsilon: 5e-13 +lammps_version: 7 Feb 2024 +tags: +date_generated: Mon Mar 25 20:01:03 2024 +epsilon: 1e-12 skip_tests: prerequisites: ! | atom full @@ -13,26 +14,26 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.3123962047757550e+03 -1.3675423591710460e+03 -3.5468492999583855e+03 7.8271738572396373e+02 2.6480486115495069e+02 -7.6950536863736306e+02 -global_scalar: 68.08659647423171 + -1.3123962047758187e+03 -1.3675423591720764e+03 -3.5468492999580299e+03 7.8271738572394452e+02 2.6480486115379637e+02 -7.6950536863892899e+02 +global_scalar: 68.08659647424867 run_pos: ! |2 - 1 -2.7802951913990959e-01 2.4737132264311215e+00 -1.7381271738602289e-01 - 2 3.0397800832473609e-01 2.9519031941431444e+00 -8.5908822750267100e-01 - 3 -6.9299720296404743e-01 1.2449766685866726e+00 -6.2329294828335358e-01 - 4 -1.5757894675975461e+00 1.4924105480974301e+00 -1.2497098747240374e+00 - 5 -8.9364750934418624e-01 9.3735293261000852e-01 4.0154813851989335e-01 - 6 2.9498813449175199e-01 2.2729986882976547e-01 -1.2847387164260673e+00 - 7 3.4080910885027837e-01 -9.8008218359699473e-03 -2.4635938021179546e+00 - 8 1.1647778042705452e+00 -4.8360070140706557e-01 -6.7668409924218165e-01 - 9 1.3786230528159027e+00 -2.5298559880150862e-01 2.6851325883861188e-01 - 10 2.0187712935465942e+00 -1.4287732348422091e+00 -9.6692440387148870e-01 - 11 1.7928755785831587e+00 -1.9879833661313322e+00 -1.8832605388690278e+00 - 12 3.0035558347419657e+00 -4.9042429038271507e-01 -1.6191927838346238e+00 - 13 4.0450911337530959e+00 -9.0293975523160919e-01 -1.6386440514135796e+00 - 14 2.6037405819194577e+00 -4.0959881564101863e-01 -2.6557674031621108e+00 - 15 2.9766330093335447e+00 5.6240461100771322e-01 -1.2447686007433758e+00 - 16 2.6517453810147344e+00 -2.3956939898026426e+00 3.3859750042781744e-02 - 17 2.2312525656149020e+00 -2.1013855689264771e+00 1.1500124166835219e+00 + 1 -2.7802951913978302e-01 2.4737132264315886e+00 -1.7381271738770820e-01 + 2 3.0397800832462774e-01 2.9519031941430738e+00 -8.5908822750493219e-01 + 3 -6.9299720296403144e-01 1.2449766685867643e+00 -6.2329294828390935e-01 + 4 -1.5757894675977402e+00 1.4924105480969891e+00 -1.2497098747245081e+00 + 5 -8.9364750934382919e-01 9.3735293261092456e-01 4.0154813851965188e-01 + 6 2.9498813449158368e-01 2.2729986882934847e-01 -1.2847387164261186e+00 + 7 3.4080910884973536e-01 -9.8008218373410172e-03 -2.4635938021178290e+00 + 8 1.1647778042705941e+00 -4.8360070140696521e-01 -6.7668409924193851e-01 + 9 1.3786230528162504e+00 -2.5298559880063631e-01 2.6851325883859889e-01 + 10 2.0187712935465760e+00 -1.4287732348423197e+00 -9.6692440387075651e-01 + 11 1.7928755785828601e+00 -1.9879833661321924e+00 -1.8832605388677695e+00 + 12 3.0035558347417104e+00 -4.9042429038332558e-01 -1.6191927838349707e+00 + 13 4.0450911337528455e+00 -9.0293975523220671e-01 -1.6386440514139291e+00 + 14 2.6037405819188639e+00 -4.0959881564248080e-01 -2.6557674031623937e+00 + 15 2.9766330093333795e+00 5.6240461100740513e-01 -1.2447686007445669e+00 + 16 2.6517453810150675e+00 -2.3956939898019254e+00 3.3859750044092363e-02 + 17 2.2312525656155877e+00 -2.1013855689248668e+00 1.1500124166847305e+00 18 2.1384791188033843e+00 3.0177261773770208e+00 -3.5160827596876225e+00 19 1.5349125211132961e+00 2.6315969880333707e+00 -4.2472859440220647e+00 20 2.7641167828863153e+00 3.6833419064000221e+00 -3.9380850623312638e+00 @@ -46,23 +47,23 @@ run_pos: ! |2 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 1.8443993556501188e-03 1.0121779580014884e-03 -1.7361326034900006e-03 - 2 1.9401022924558343e-03 3.6428754787592733e-04 -2.1069540627804634e-03 - 3 1.3158623602983108e-03 8.9265747656461540e-04 -9.2144725682164657e-04 - 4 1.3306255280096089e-03 8.4281508655990054e-04 -9.6194026572564146e-04 - 5 1.3289682243410692e-03 1.6048237018834067e-03 -7.0511232123071470e-04 - 6 8.4113718611833661e-04 1.0389683283144290e-04 -4.1697370456873913e-04 - 7 5.9950574545626287e-04 -6.4437674895215604e-04 -2.7586696717582678e-04 - 8 6.4634547270651834e-04 1.4734228826522431e-04 -8.7540766366730972e-05 - 9 8.5561404484505246e-04 6.5123532540338036e-04 -2.5782947158524498e-04 - 10 2.4688038968480818e-04 -3.5995975344065565e-04 3.8912416843275122e-04 - 11 -8.4672359473208624e-05 -8.4134349031640394e-04 7.6463157764214873e-04 - 12 5.2321633256319569e-04 -1.1418047427480882e-03 -3.1842516233562688e-04 - 13 3.6258187754908603e-04 -1.5531581259494627e-03 -1.9590476904013767e-04 - 14 4.2166181631324117e-04 -1.6310415916630540e-03 -3.1740232809360453e-04 - 15 9.7471807923383321e-04 -8.9939841790992827e-04 -9.6757308853409824e-04 - 16 4.1534888649229478e-06 1.7705740202856454e-05 9.0753010117813394e-04 - 17 2.5969943716026096e-04 8.7075266710270492e-04 7.7887058799645239e-04 + 1 1.8443993556507550e-03 1.0121779580008364e-03 -1.7361326034906117e-03 + 2 1.9401022924561704e-03 3.6428754787474148e-04 -2.1069540627809144e-03 + 3 1.3158623602986111e-03 8.9265747656469769e-04 -9.2144725682167822e-04 + 4 1.3306255280096579e-03 8.4281508656016844e-04 -9.6194026572521364e-04 + 5 1.3289682243418409e-03 1.6048237018838117e-03 -7.0511232123120064e-04 + 6 8.4113718611817723e-04 1.0389683283156166e-04 -4.1697370456838980e-04 + 7 5.9950574545550414e-04 -6.4437674895204296e-04 -2.7586696717479603e-04 + 8 6.4634547270655271e-04 1.4734228826538870e-04 -8.7540766366732192e-05 + 9 8.5561404484556399e-04 6.5123532540342654e-04 -2.5782947158584915e-04 + 10 2.4688038968457540e-04 -3.5995975344040265e-04 3.8912416843293944e-04 + 11 -8.4672359473939376e-05 -8.4134349031586390e-04 7.6463157764299549e-04 + 12 5.2321633256271539e-04 -1.1418047427487572e-03 -3.1842516233546950e-04 + 13 3.6258187754852045e-04 -1.5531581259503574e-03 -1.9590476904008422e-04 + 14 4.2166181631227780e-04 -1.6310415916636891e-03 -3.1740232809282303e-04 + 15 9.7471807923364706e-04 -8.9939841791107037e-04 -9.6757308853435780e-04 + 16 4.1534888650543531e-06 1.7705740203412426e-05 9.0753010117785768e-04 + 17 2.5969943716097897e-04 8.7075266710338634e-04 7.7887058799558893e-04 18 -6.0936815808025862e-04 -9.3774557532468582e-04 -3.3558072507805731e-04 19 -6.9919768291957119e-04 -3.6060777270430031e-03 4.2833405289822791e-03 20 4.7777805013736515e-03 5.1003745845520452e-03 1.8002873923729241e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nvt_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nvt_small.yaml index 6068993094..deeee40b52 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nvt_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nvt_small.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Mon Mar 25 20:01:04 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -13,8 +14,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.4827261116680472e+02 -1.8411194349753309e+01 -1.0752762859308649e+02 -2.1814511477016276e+02 1.7027764307147623e+02 2.1058942244057214e+01 -global_scalar: 0.9532609554739606 + -1.4827261099624999e+02 -1.8411194282828326e+01 -1.0752762861573947e+02 -2.1814511471949461e+02 1.7027764305079162e+02 2.1058942246396320e+01 +global_scalar: 0.9532609552151339 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -33,15 +34,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1395635672981443e+00 3.0168023048492310e+00 -3.5136606977867388e+00 - 19 1.5374727853253387e+00 2.6272080572819609e+00 -4.2442423140467360e+00 - 20 2.7621434607990372e+00 3.6846842324743214e+00 -3.9366036441030396e+00 - 21 4.9022821625125470e+00 -4.0760572704380627e+00 -3.6181235130909242e+00 - 22 4.3639257458824501e+00 -4.2100277325126187e+00 -4.4607219430080747e+00 - 23 5.7383384133351401e+00 -3.5881799317362106e+00 -3.8831848688588710e+00 - 24 2.0709922902331592e+00 3.1490053461169678e+00 3.1570777020268803e+00 - 25 1.3046262534530633e+00 3.2688902575528282e+00 2.5076144141701078e+00 - 26 2.5760050685080813e+00 4.0131166912605272e+00 3.2207051913215210e+00 + 18 2.1395635672857165e+00 3.0168023048413781e+00 -3.5136606977888540e+00 + 19 1.5374727853296883e+00 2.6272080573369379e+00 -4.2442423140961818e+00 + 20 2.7621434608442974e+00 3.6846842324506923e+00 -3.9366036440451500e+00 + 21 4.9022821627727593e+00 -4.0760572705753884e+00 -3.6181235130648650e+00 + 22 4.3639257458473608e+00 -4.2100277337137149e+00 -4.4607219426242057e+00 + 23 5.7383384123314833e+00 -3.5881799299869201e+00 -3.8831848693467652e+00 + 24 2.0709922900187268e+00 3.1490053461587983e+00 3.1570777021928031e+00 + 25 1.3046262535950772e+00 3.2688902578410239e+00 2.5076144139609013e+00 + 26 2.5760050692220648e+00 4.0131166908053464e+00 3.2207051908683750e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -63,15 +64,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 7.8522439440007537e-04 -6.6826115062653757e-04 1.7528441282153480e-03 - 19 1.8628941719211862e-03 -3.1840047051916367e-03 2.2062694140207390e-03 - 20 -1.4430972531298200e-03 9.7564145841628493e-04 1.0686492192569898e-03 - 21 -3.0047717246574385e-03 -6.6139343888744974e-04 2.4784169377340712e-03 - 22 -3.4980341571643784e-03 -3.3380963325931002e-03 3.2191613979274040e-03 - 23 5.9333930569297746e-04 -8.6231086219834968e-03 -8.2692040355627789e-04 - 24 1.8727912311097641e-03 -2.0349136820274911e-03 1.1951471753018509e-03 - 25 3.4887365958745920e-03 -4.8232966889391266e-03 -1.2263764490291313e-03 - 26 -3.4770258010749858e-03 7.8662050223200905e-04 5.3381090661352298e-03 + 18 7.8522439447394326e-04 -6.6826115070004464e-04 1.7528441282176825e-03 + 19 1.8628941717384645e-03 -3.1840047052822556e-03 2.2062694140226819e-03 + 20 -1.4430972532419690e-03 9.7564145880034414e-04 1.0686492192457362e-03 + 21 -3.0047717260078453e-03 -6.6139344410253201e-04 2.4784169376928207e-03 + 22 -3.4980341614361554e-03 -3.3380963226435131e-03 3.2191614012082861e-03 + 23 5.9333931535562748e-04 -8.6231086111150188e-03 -8.2692040667271425e-04 + 24 1.8727912307694413e-03 -2.0349136837727452e-03 1.1951471743788897e-03 + 25 3.4887365951187166e-03 -4.8232966888750181e-03 -1.2263764478999317e-03 + 26 -3.4770257989604671e-03 7.8662050913487318e-04 5.3381090686904524e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_single.yaml b/unittest/force-styles/tests/fix-timestep-rigid_single.yaml index 02acb437d9..a8087adef5 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_single.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_single.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Mon Mar 25 20:01:04 2024 epsilon: 7.5e-13 skip_tests: prerequisites: ! | @@ -14,26 +15,26 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.3754817466835989e+03 -1.4228425246166137e+03 -3.6087196201914348e+03 8.7407043149698916e+02 2.1665316519769885e+02 -6.0480791462033073e+02 -global_scalar: 4.531423038570297 + -1.3754817466835991e+03 -1.4228425246166084e+03 -3.6087196201914162e+03 8.7407043149699155e+02 2.1665316519769920e+02 -6.0480791462032153e+02 +global_scalar: 4.531423038570312 run_pos: ! |2 - 1 -2.7899546859693136e-01 2.4731857340428784e+00 -1.7290667720876285e-01 - 2 3.0296221616793728e-01 2.9517129917211546e+00 -8.5798904365355155e-01 - 3 -6.9368802362166204e-01 1.2445115422149751e+00 -6.2281111185285498e-01 - 4 -1.5764879646739487e+00 1.4919714416722010e+00 -1.2492069413381564e+00 - 5 -8.9434512967954416e-01 9.3651699743538730e-01 4.0191726569957442e-01 - 6 2.9454439635065910e-01 2.2724545796943096e-01 -1.2845195052894232e+00 - 7 3.4049112905311751e-01 -9.4655677385591108e-03 -2.4634480019885228e+00 - 8 1.1644354555589662e+00 -4.8367776651302724e-01 -6.7663643931660777e-01 - 9 1.3781717822376680e+00 -2.5332509534947545e-01 2.6864954447021416e-01 - 10 2.0186368605645764e+00 -1.4285861423742918e+00 -9.6712491246325605e-01 - 11 1.7929137227200918e+00 -1.9875455388074483e+00 -1.8836565351900385e+00 - 12 3.0032775230343125e+00 -4.8983022415935312e-01 -1.6190248016126132e+00 - 13 4.0448964161972283e+00 -9.0213155125606947e-01 -1.6385398398262669e+00 - 14 2.6035151245155355e+00 -4.0874995488538129e-01 -2.6555999073602123e+00 - 15 2.9761196776308694e+00 5.6287237451798222e-01 -1.2442626194416753e+00 - 16 2.6517373020764219e+00 -2.3957035509096407e+00 3.3389262134315700e-02 - 17 2.2311114923824857e+00 -2.1018393229879817e+00 1.1496088522768926e+00 + 1 -2.7899546859693225e-01 2.4731857340428771e+00 -1.7290667720876018e-01 + 2 3.0296221616793617e-01 2.9517129917211538e+00 -8.5798904365354822e-01 + 3 -6.9368802362166271e-01 1.2445115422149740e+00 -6.2281111185285387e-01 + 4 -1.5764879646739496e+00 1.4919714416722003e+00 -1.2492069413381550e+00 + 5 -8.9434512967954460e-01 9.3651699743538508e-01 4.0191726569957453e-01 + 6 2.9454439635065910e-01 2.2724545796943096e-01 -1.2845195052894227e+00 + 7 3.4049112905311785e-01 -9.4655677385578896e-03 -2.4634480019885232e+00 + 8 1.1644354555589664e+00 -4.8367776651302741e-01 -6.7663643931660822e-01 + 9 1.3781717822376678e+00 -2.5332509534947639e-01 2.6864954447021405e-01 + 10 2.0186368605645768e+00 -1.4285861423742912e+00 -9.6712491246325705e-01 + 11 1.7929137227200933e+00 -1.9875455388074468e+00 -1.8836565351900401e+00 + 12 3.0032775230343129e+00 -4.8983022415935129e-01 -1.6190248016126136e+00 + 13 4.0448964161972292e+00 -9.0213155125606781e-01 -1.6385398398262672e+00 + 14 2.6035151245155359e+00 -4.0874995488537874e-01 -2.6555999073602123e+00 + 15 2.9761196776308694e+00 5.6287237451798344e-01 -1.2442626194416739e+00 + 16 2.6517373020764223e+00 -2.3957035509096416e+00 3.3389262134313369e-02 + 17 2.2311114923824853e+00 -2.1018393229879830e+00 1.1496088522768906e+00 18 2.1384791188033843e+00 3.0177261773770208e+00 -3.5160827596876225e+00 19 1.5349125211132961e+00 2.6315969880333707e+00 -4.2472859440220647e+00 20 2.7641167828863153e+00 3.6833419064000221e+00 -3.9380850623312638e+00 @@ -47,23 +48,23 @@ run_pos: ! |2 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 4.7093296226165759e-04 2.6351124312057290e-04 -4.4905063547614669e-04 - 2 4.9594635271877263e-04 9.4561409237138512e-05 -5.4581325723053421e-04 - 3 3.3306088119083101e-04 2.3224949911015481e-04 -2.3659435306900835e-04 - 4 3.3692332940286717e-04 2.1926824120529722e-04 -2.4716611858556465e-04 - 5 3.3642541894624077e-04 4.1797578053943724e-04 -1.8011323945929064e-04 - 6 2.0926870695908283e-04 2.6449376032441855e-05 -1.0508922741401397e-04 - 7 1.4629046128362884e-04 -1.6873362379723068e-04 -6.8353900724071325e-05 - 8 1.5844098346817943e-04 3.7728756087619084e-05 -1.9162577392849316e-05 - 9 2.1299357198253002e-04 1.6917133003966749e-04 -6.3528006071200284e-05 - 10 5.4261569071245856e-05 -9.4655546204698666e-05 1.0511372702289738e-04 - 11 -3.2194218121523431e-05 -2.2025090185602293e-04 2.0300208519292805e-04 - 12 1.2640585449263546e-04 -2.9851081600946745e-04 -7.9476186245575585e-05 - 13 8.4523551795102263e-05 -4.0583140303608199e-04 -4.7550925831931374e-05 - 14 9.9954071734163435e-05 -4.2610809338913835e-04 -7.9255453072661880e-05 - 15 2.4417483202629980e-04 -2.3521005781669047e-04 -2.4875292755152005e-04 - 16 -9.0959360838836724e-06 3.7773746063194780e-06 2.4035204669042463e-04 - 17 5.7507084250807628e-05 2.2629200960629336e-04 2.0686926033794547e-04 + 1 4.7093296226165726e-04 2.6351124312057366e-04 -4.4905063547614750e-04 + 2 4.9594635271877263e-04 9.4561409237139244e-05 -5.4581325723053519e-04 + 3 3.3306088119083079e-04 2.3224949911015511e-04 -2.3659435306900900e-04 + 4 3.3692332940286722e-04 2.1926824120529738e-04 -2.4716611858556574e-04 + 5 3.3642541894624012e-04 4.1797578053943767e-04 -1.8011323945929113e-04 + 6 2.0926870695908297e-04 2.6449376032441903e-05 -1.0508922741401427e-04 + 7 1.4629046128362941e-04 -1.6873362379723111e-04 -6.8353900724071745e-05 + 8 1.5844098346817935e-04 3.7728756087619165e-05 -1.9162577392849147e-05 + 9 2.1299357198252962e-04 1.6917133003966793e-04 -6.3528006071199972e-05 + 10 5.4261569071245965e-05 -9.4655546204698774e-05 1.0511372702289789e-04 + 11 -3.2194218121522970e-05 -2.2025090185602350e-04 2.0300208519292848e-04 + 12 1.2640585449263589e-04 -2.9851081600946756e-04 -7.9476186245575178e-05 + 13 8.4523551795102697e-05 -4.0583140303608210e-04 -4.7550925831930561e-05 + 14 9.9954071734164248e-05 -4.2610809338913878e-04 -7.9255453072661758e-05 + 15 2.4417483202630007e-04 -2.3521005781669015e-04 -2.4875292755151984e-04 + 16 -9.0959360838839976e-06 3.7773746063194848e-06 2.4035204669042588e-04 + 17 5.7507084250806896e-05 2.2629200960629374e-04 2.0686926033794661e-04 18 -6.0936815808025862e-04 -9.3774557532468582e-04 -3.3558072507805731e-04 19 -6.9919768291957119e-04 -3.6060777270430031e-03 4.2833405289822791e-03 20 4.7777805013736515e-03 5.1003745845520452e-03 1.8002873923729241e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_small.yaml index 92754f85f5..0eae9f7559 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_small.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Mon Mar 25 20:01:05 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,8 +15,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200116134789873e+01 -2.6907707565987707e+01 -6.0080860422278581e+00 -2.5620423972101300e+01 -1.3450224059983967e+01 -1.4947288487003760e+00 -global_scalar: 18.3405601674144 + -4.9200116134788615e+01 -2.6907707565987401e+01 -6.0080860422276308e+00 -2.5620423972100241e+01 -1.3450224059984270e+01 -1.4947288487006070e+00 +global_scalar: 18.340560167414402 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -34,15 +35,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1392027588271301e+00 3.0171068018412779e+00 -3.5144628518856349e+00 - 19 1.5366124997074571e+00 2.6286809834111748e+00 -4.2452547844370221e+00 - 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352554e+00 - 21 4.9036621347791245e+00 -4.0757648442838548e+00 -3.6192617654515904e+00 - 22 4.3655322291888483e+00 -4.2084949965552561e+00 -4.4622011117402334e+00 - 23 5.7380414793463101e+00 -3.5841969195032672e+00 -3.8827839830470219e+00 + 18 2.1392027588271301e+00 3.0171068018412783e+00 -3.5144628518856353e+00 + 19 1.5366124997074575e+00 2.6286809834111740e+00 -4.2452547844370221e+00 + 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352558e+00 + 21 4.9036621347791236e+00 -4.0757648442838548e+00 -3.6192617654515908e+00 + 22 4.3655322291888474e+00 -4.2084949965552561e+00 -4.4622011117402343e+00 + 23 5.7380414793463110e+00 -3.5841969195032672e+00 -3.8827839830470219e+00 24 2.0701314765323930e+00 3.1499370533342330e+00 3.1565324852522938e+00 - 25 1.3030170721374779e+00 3.2711173927682249e+00 2.5081940917429768e+00 - 26 2.5776230782480045e+00 4.0127347068243875e+00 3.2182355138709275e+00 + 25 1.3030170721374787e+00 3.2711173927682244e+00 2.5081940917429759e+00 + 26 2.5776230782480041e+00 4.0127347068243884e+00 3.2182355138709284e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -64,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625095704914e-04 -3.1032459262908286e-04 8.1043030117346052e-04 - 19 8.5103884665345452e-04 -1.4572280596788108e-03 1.0163621287634116e-03 - 20 -6.5204659278590683e-04 4.3989037444289853e-04 4.9909839028507901e-04 - 21 -1.3888125881903923e-03 -3.1978049143082385e-04 1.1455681499836646e-03 - 22 -1.6084223477729510e-03 -1.5355394240821117e-03 1.4772010826232375e-03 - 23 2.6392672378805124e-04 -3.9375414431174821e-03 -3.6991583139728095e-04 - 24 8.6062827067890247e-04 -9.4179873474469237e-04 5.5396395550012453e-04 - 25 1.5933645477487538e-03 -2.2139156625681695e-03 -5.5078029695647401e-04 - 26 -1.5679561743998840e-03 3.5146224354726100e-04 2.4446924193334478e-03 + 18 3.6149625095704849e-04 -3.1032459262908286e-04 8.1043030117346052e-04 + 19 8.5103884665345473e-04 -1.4572280596788095e-03 1.0163621287634121e-03 + 20 -6.5204659278590661e-04 4.3989037444289755e-04 4.9909839028507901e-04 + 21 -1.3888125881903906e-03 -3.1978049143082342e-04 1.1455681499836646e-03 + 22 -1.6084223477729526e-03 -1.5355394240821163e-03 1.4772010826232394e-03 + 23 2.6392672378804821e-04 -3.9375414431174795e-03 -3.6991583139728377e-04 + 24 8.6062827067890269e-04 -9.4179873474469291e-04 5.5396395550012388e-04 + 25 1.5933645477487551e-03 -2.2139156625681673e-03 -5.5078029695647250e-04 + 26 -1.5679561743998888e-03 3.5146224354726068e-04 2.4446924193334487e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/formats/test_atom_styles.cpp b/unittest/formats/test_atom_styles.cpp index 1da2dfa33c..15ce3ae605 100644 --- a/unittest/formats/test_atom_styles.cpp +++ b/unittest/formats/test_atom_styles.cpp @@ -1922,70 +1922,58 @@ TEST_F(AtomStyleTest, tri) EXPECT_NEAR(radius[GETIDX(5)], 0.5, EPSILON); EXPECT_NEAR(radius[GETIDX(6)], 0.5, EPSILON); - EXPECT_NEAR(bonus[0].inertia[0], 14.017974903242481, EPSILON); + EXPECT_NEAR(bonus[0].inertia[2], 14.017974903242481, EPSILON); EXPECT_NEAR(bonus[0].inertia[1], 13.94589575227541, EPSILON); - EXPECT_NEAR(bonus[0].inertia[2], 0.072258416330334363, EPSILON); - EXPECT_NEAR(bonus[1].inertia[0], 13.982119044342252, EPSILON); + EXPECT_NEAR(bonus[0].inertia[0], 0.072258416330334363, EPSILON); + EXPECT_NEAR(bonus[1].inertia[2], 13.982119044342252, EPSILON); EXPECT_NEAR(bonus[1].inertia[1], 13.945895752275419, EPSILON); - EXPECT_NEAR(bonus[1].inertia[2], 0.10811427523057447, EPSILON); - EXPECT_NEAR(bonus[2].inertia[0], 19.15175691481879, EPSILON); + EXPECT_NEAR(bonus[1].inertia[0], 0.10811427523057447, EPSILON); + EXPECT_NEAR(bonus[2].inertia[2], 19.15175691481879, EPSILON); EXPECT_NEAR(bonus[2].inertia[1], 18.948744087979005, EPSILON); - EXPECT_NEAR(bonus[2].inertia[2], 0.23541253382609079, EPSILON); - EXPECT_NEAR(bonus[3].inertia[0], 19.018309360029388, EPSILON); + EXPECT_NEAR(bonus[2].inertia[0], 0.23541253382609079, EPSILON); + EXPECT_NEAR(bonus[3].inertia[2], 19.018309360029388, EPSILON); EXPECT_NEAR(bonus[3].inertia[1], 18.948744087979012, EPSILON); - EXPECT_NEAR(bonus[3].inertia[2], 0.36886008861549813, EPSILON); - EXPECT_NEAR(bonus[0].quat[0], 0.66466395261228639, EPSILON); - EXPECT_NEAR(bonus[0].quat[1], -0.26579965871355399, EPSILON); - EXPECT_NEAR(bonus[0].quat[2], -0.64169714094040209, EPSILON); - EXPECT_NEAR(bonus[0].quat[3], -0.27531282359251713, EPSILON); - EXPECT_NEAR(bonus[1].quat[0], 0.63718542087921404, EPSILON); - EXPECT_NEAR(bonus[1].quat[1], 0.66984067651944412, EPSILON); - EXPECT_NEAR(bonus[1].quat[2], -0.26272786480888066, EPSILON); - EXPECT_NEAR(bonus[1].quat[3], -0.27619246288035992, EPSILON); - EXPECT_NEAR(bonus[2].quat[0], 0.70865471105868871, EPSILON); - EXPECT_NEAR(bonus[2].quat[1], 0.40297854431552654, EPSILON); - EXPECT_NEAR(bonus[2].quat[2], -0.56684324752832238, EPSILON); - EXPECT_NEAR(bonus[2].quat[3], 0.11876668744732566, EPSILON); - EXPECT_NEAR(bonus[3].quat[0], 0.55997606330452898, EPSILON); - EXPECT_NEAR(bonus[3].quat[1], 0.69182747953492685, EPSILON); - EXPECT_NEAR(bonus[3].quat[2], 0.072026021657128514, EPSILON); - EXPECT_NEAR(bonus[3].quat[3], 0.45012642589672475, EPSILON); - EXPECT_NEAR(bonus[0].c1[0], -0.0052525338293288905, EPSILON); - EXPECT_NEAR(bonus[0].c1[1], -0.55767753582520529, EPSILON); - EXPECT_NEAR(bonus[0].c1[2], 0.14933690186163631, EPSILON); - EXPECT_NEAR(bonus[1].c1[0], 0.18561232929671426, EPSILON); - EXPECT_NEAR(bonus[1].c1[1], 0.51379191773154387, EPSILON); - EXPECT_NEAR(bonus[1].c1[2], 0.18681344121910506, EPSILON); - EXPECT_NEAR(bonus[2].c1[0], -0.22123552085772166, EPSILON); - EXPECT_NEAR(bonus[2].c1[1], -0.28372571379613187, EPSILON); - EXPECT_NEAR(bonus[2].c1[2], 0.78775285695558617, EPSILON); - EXPECT_NEAR(bonus[3].c1[0], -0.69845793336676587, EPSILON); - EXPECT_NEAR(bonus[3].c1[1], 0.18083523090249506, EPSILON); - EXPECT_NEAR(bonus[3].c1[2], 0.47901475403318056, EPSILON); - EXPECT_NEAR(bonus[0].c2[0], 0.019602723119529659, EPSILON); - EXPECT_NEAR(bonus[0].c2[1], 0.14942924536134222, EPSILON); - EXPECT_NEAR(bonus[0].c2[2], -0.55733290519255385, EPSILON); - EXPECT_NEAR(bonus[1].c2[0], 0.2208094914375279, EPSILON); - EXPECT_NEAR(bonus[1].c2[1], -0.4849604211463005, EPSILON); - EXPECT_NEAR(bonus[1].c2[2], 0.22223836695322477, EPSILON); - EXPECT_NEAR(bonus[2].c2[0], 0.17705460333259249, EPSILON); - EXPECT_NEAR(bonus[2].c2[1], -0.56674478453558153, EPSILON); - EXPECT_NEAR(bonus[2].c2[2], -0.6304379562181005, EPSILON); - EXPECT_NEAR(bonus[3].c2[0], 0.22007613459534958, EPSILON); - EXPECT_NEAR(bonus[3].c2[1], -0.82388470022624394, EPSILON); - EXPECT_NEAR(bonus[3].c2[2], -0.15093208974463557, EPSILON); - EXPECT_NEAR(bonus[0].c3[0], -0.014350189290200811, EPSILON); - EXPECT_NEAR(bonus[0].c3[1], 0.40824829046386302, EPSILON); - EXPECT_NEAR(bonus[0].c3[2], 0.40799600333091751, EPSILON); - EXPECT_NEAR(bonus[1].c3[0], -0.40642182073424188, EPSILON); - EXPECT_NEAR(bonus[1].c3[1], -0.028831496585242929, EPSILON); - EXPECT_NEAR(bonus[1].c3[2], -0.40905180817232945, EPSILON); - EXPECT_NEAR(bonus[2].c3[0], 0.044180917525129149, EPSILON); - EXPECT_NEAR(bonus[2].c3[1], 0.85047049833171351, EPSILON); - EXPECT_NEAR(bonus[2].c3[2], -0.15731490073748589, EPSILON); - EXPECT_NEAR(bonus[3].c3[0], 0.47838179877141634, EPSILON); - EXPECT_NEAR(bonus[3].c3[1], 0.64304946932374796, EPSILON); - EXPECT_NEAR(bonus[3].c3[2], -0.32808266428854477, EPSILON); + EXPECT_NEAR(bonus[3].inertia[0], 0.36886008861549813, EPSILON); + EXPECT_NEAR(bonus[0].quat[0], 0.92373678792937974, EPSILON); + EXPECT_NEAR(bonus[0].quat[1], 0.0067268233964605136, EPSILON); + EXPECT_NEAR(bonus[0].quat[2], 0.016239988275423622, EPSILON); + EXPECT_NEAR(bonus[0].quat[3], -0.38262430562330857, EPSILON); + EXPECT_NEAR(bonus[1].quat[0], 0.63633478678991862, EPSILON); + EXPECT_NEAR(bonus[1].quat[1], 0.66894644809679971, EPSILON); + EXPECT_NEAR(bonus[1].quat[2], 0.26478147716387457, EPSILON); + EXPECT_NEAR(bonus[1].quat[3], 0.27835132126616718, EPSILON); + EXPECT_NEAR(bonus[2].quat[0], 0.90191325590647375, EPSILON); + EXPECT_NEAR(bonus[2].quat[1], 0.2009681312851252, EPSILON); + EXPECT_NEAR(bonus[2].quat[2], 0.1002758475123109, EPSILON); + EXPECT_NEAR(bonus[2].quat[3], 0.36892959143125958, EPSILON); + EXPECT_NEAR(bonus[3].quat[0], 0.34503278332913523, EPSILON); + EXPECT_NEAR(bonus[3].quat[1], 0.17090845404750615, EPSILON); + EXPECT_NEAR(bonus[3].quat[2], 0.44689296000042461, EPSILON); + EXPECT_NEAR(bonus[3].quat[3], 0.80748335033318219, EPSILON); + EXPECT_NEAR(bonus[0].c1[0], -0.14933690186163626, EPSILON); + EXPECT_NEAR(bonus[0].c1[2], -0.0052525338293288879, EPSILON); + EXPECT_NEAR(bonus[1].c1[0], -0.18681344121910512, EPSILON); + EXPECT_NEAR(bonus[1].c1[2], 0.18561232929671317, EPSILON); + EXPECT_NEAR(bonus[2].c1[0], -0.78775285695558628, EPSILON); + EXPECT_NEAR(bonus[2].c1[2], -0.22123552085772158, EPSILON); + EXPECT_NEAR(bonus[3].c1[0], -0.47901475403318072, EPSILON); + EXPECT_NEAR(bonus[3].c1[2], -0.69845793336676587, EPSILON); + EXPECT_NEAR(bonus[0].c2[0], 0.55733290519255363, EPSILON); + EXPECT_NEAR(bonus[0].c2[2], 0.019602723119529656, EPSILON); + EXPECT_NEAR(bonus[1].c2[0], -0.22223836695322477, EPSILON); + EXPECT_NEAR(bonus[1].c2[2], 0.22080949143752887, EPSILON); + EXPECT_NEAR(bonus[2].c2[0], 0.63043795621810073, EPSILON); + EXPECT_NEAR(bonus[2].c2[2], 0.17705460333259254, EPSILON); + EXPECT_NEAR(bonus[3].c2[0], 0.15093208974463557, EPSILON); + EXPECT_NEAR(bonus[3].c2[2], 0.22007613459534847, EPSILON); + EXPECT_NEAR(bonus[0].c3[0], -0.4079960033309174, EPSILON); + EXPECT_NEAR(bonus[0].c3[2], -0.014350189290200809, EPSILON); + EXPECT_NEAR(bonus[1].c3[0], 0.40905180817232961, EPSILON); + EXPECT_NEAR(bonus[1].c3[2], -0.40642182073424171, EPSILON); + EXPECT_NEAR(bonus[2].c3[0], 0.15731490073748589, EPSILON); + EXPECT_NEAR(bonus[2].c3[2], 0.044180917525128927, EPSILON); + EXPECT_NEAR(bonus[3].c3[0], 0.32808266428854477, EPSILON); + EXPECT_NEAR(bonus[3].c3[2], 0.4783817987714174, EPSILON); BEGIN_HIDE_OUTPUT(); command("group two id 2:4:2"); @@ -2048,70 +2036,58 @@ TEST_F(AtomStyleTest, tri) EXPECT_NEAR(radius[GETIDX(11)], 0.5, EPSILON); EXPECT_NEAR(radius[GETIDX(12)], 0.5, EPSILON); - EXPECT_NEAR(bonus[0].inertia[0], 14.017974903242481, EPSILON); + EXPECT_NEAR(bonus[0].inertia[2], 14.017974903242481, EPSILON); EXPECT_NEAR(bonus[0].inertia[1], 13.94589575227541, EPSILON); - EXPECT_NEAR(bonus[0].inertia[2], 0.072258416330334363, EPSILON); - EXPECT_NEAR(bonus[1].inertia[0], 19.15175691481879, EPSILON); + EXPECT_NEAR(bonus[0].inertia[0], 0.072258416330334363, EPSILON); + EXPECT_NEAR(bonus[1].inertia[2], 19.15175691481879, EPSILON); EXPECT_NEAR(bonus[1].inertia[1], 18.948744087979005, EPSILON); - EXPECT_NEAR(bonus[1].inertia[2], 0.23541253382609079, EPSILON); - EXPECT_NEAR(bonus[2].inertia[0], 14.017974903242481, EPSILON); + EXPECT_NEAR(bonus[1].inertia[0], 0.23541253382609079, EPSILON); + EXPECT_NEAR(bonus[2].inertia[2], 14.017974903242481, EPSILON); EXPECT_NEAR(bonus[2].inertia[1], 13.94589575227541, EPSILON); - EXPECT_NEAR(bonus[2].inertia[2], 0.072258416330334363, EPSILON); - EXPECT_NEAR(bonus[3].inertia[0], 19.15175691481879, EPSILON); + EXPECT_NEAR(bonus[2].inertia[0], 0.072258416330334363, EPSILON); + EXPECT_NEAR(bonus[3].inertia[2], 19.15175691481879, EPSILON); EXPECT_NEAR(bonus[3].inertia[1], 18.948744087979005, EPSILON); - EXPECT_NEAR(bonus[3].inertia[2], 0.23541253382609079, EPSILON); - EXPECT_NEAR(bonus[0].quat[0], 0.66466395261228639, EPSILON); - EXPECT_NEAR(bonus[0].quat[1], -0.26579965871355399, EPSILON); - EXPECT_NEAR(bonus[0].quat[2], -0.64169714094040209, EPSILON); - EXPECT_NEAR(bonus[0].quat[3], -0.27531282359251713, EPSILON); - EXPECT_NEAR(bonus[1].quat[0], 0.70865471105868871, EPSILON); - EXPECT_NEAR(bonus[1].quat[1], 0.40297854431552654, EPSILON); - EXPECT_NEAR(bonus[1].quat[2], -0.56684324752832238, EPSILON); - EXPECT_NEAR(bonus[1].quat[3], 0.11876668744732566, EPSILON); - EXPECT_NEAR(bonus[2].quat[0], 0.66466395261228639, EPSILON); - EXPECT_NEAR(bonus[2].quat[1], -0.26579965871355399, EPSILON); - EXPECT_NEAR(bonus[2].quat[2], -0.64169714094040209, EPSILON); - EXPECT_NEAR(bonus[2].quat[3], -0.27531282359251713, EPSILON); - EXPECT_NEAR(bonus[3].quat[0], 0.70865471105868871, EPSILON); - EXPECT_NEAR(bonus[3].quat[1], 0.40297854431552654, EPSILON); - EXPECT_NEAR(bonus[3].quat[2], -0.56684324752832238, EPSILON); - EXPECT_NEAR(bonus[3].quat[3], 0.11876668744732566, EPSILON); - EXPECT_NEAR(bonus[0].c1[0], -0.0052525338293288879, EPSILON); - EXPECT_NEAR(bonus[0].c1[1], -0.55767753582520529, EPSILON); - EXPECT_NEAR(bonus[0].c1[2], 0.14933690186163626, EPSILON); - EXPECT_NEAR(bonus[1].c1[0], -0.22123552085772158, EPSILON); - EXPECT_NEAR(bonus[1].c1[1], -0.28372571379613187, EPSILON); - EXPECT_NEAR(bonus[1].c1[2], 0.78775285695558628, EPSILON); - EXPECT_NEAR(bonus[2].c1[0], -0.0052525338293288905, EPSILON); - EXPECT_NEAR(bonus[2].c1[1], -0.55767753582520529, EPSILON); - EXPECT_NEAR(bonus[2].c1[2], 0.14933690186163631, EPSILON); - EXPECT_NEAR(bonus[3].c1[0], -0.22123552085772166, EPSILON); - EXPECT_NEAR(bonus[3].c1[1], -0.28372571379613187, EPSILON); - EXPECT_NEAR(bonus[3].c1[2], 0.78775285695558617, EPSILON); - EXPECT_NEAR(bonus[0].c2[0], 0.019602723119529659, EPSILON); - EXPECT_NEAR(bonus[0].c2[1], 0.14942924536134222, EPSILON); - EXPECT_NEAR(bonus[0].c2[2], -0.55733290519255385, EPSILON); - EXPECT_NEAR(bonus[1].c2[0], 0.17705460333259249, EPSILON); - EXPECT_NEAR(bonus[1].c2[1], -0.56674478453558153, EPSILON); - EXPECT_NEAR(bonus[1].c2[2], -0.6304379562181005, EPSILON); - EXPECT_NEAR(bonus[2].c2[0], 0.019602723119529659, EPSILON); - EXPECT_NEAR(bonus[2].c2[1], 0.14942924536134222, EPSILON); - EXPECT_NEAR(bonus[2].c2[2], -0.55733290519255385, EPSILON); - EXPECT_NEAR(bonus[3].c2[0], 0.17705460333259249, EPSILON); - EXPECT_NEAR(bonus[3].c2[1], -0.56674478453558153, EPSILON); - EXPECT_NEAR(bonus[3].c2[2], -0.6304379562181005, EPSILON); - EXPECT_NEAR(bonus[0].c3[0], -0.014350189290200811, EPSILON); - EXPECT_NEAR(bonus[0].c3[1], 0.40824829046386302, EPSILON); - EXPECT_NEAR(bonus[0].c3[2], 0.40799600333091751, EPSILON); - EXPECT_NEAR(bonus[1].c3[0], 0.044180917525129149, EPSILON); - EXPECT_NEAR(bonus[1].c3[1], 0.85047049833171351, EPSILON); - EXPECT_NEAR(bonus[1].c3[2], -0.15731490073748589, EPSILON); - EXPECT_NEAR(bonus[2].c3[0], -0.014350189290200811, EPSILON); - EXPECT_NEAR(bonus[2].c3[1], 0.40824829046386302, EPSILON); - EXPECT_NEAR(bonus[2].c3[2], 0.40799600333091751, EPSILON); - EXPECT_NEAR(bonus[3].c3[0], 0.044180917525129149, EPSILON); - EXPECT_NEAR(bonus[3].c3[1], 0.85047049833171351, EPSILON); - EXPECT_NEAR(bonus[3].c3[2], -0.15731490073748589, EPSILON); + EXPECT_NEAR(bonus[3].inertia[0], 0.23541253382609079, EPSILON); + EXPECT_NEAR(bonus[0].quat[0], 0.92373678792937974, EPSILON); + EXPECT_NEAR(bonus[0].quat[1], 0.0067268233964605136, EPSILON); + EXPECT_NEAR(bonus[0].quat[2], 0.016239988275423622, EPSILON); + EXPECT_NEAR(bonus[0].quat[3], -0.38262430562330857, EPSILON); + EXPECT_NEAR(bonus[1].quat[0], 0.90191325590647375, EPSILON); + EXPECT_NEAR(bonus[1].quat[1], 0.2009681312851252, EPSILON); + EXPECT_NEAR(bonus[1].quat[2], 0.1002758475123109, EPSILON); + EXPECT_NEAR(bonus[1].quat[3], 0.36892959143125958, EPSILON); + EXPECT_NEAR(bonus[2].quat[0], 0.92373678792937974, EPSILON); + EXPECT_NEAR(bonus[2].quat[1], 0.0067268233964605136, EPSILON); + EXPECT_NEAR(bonus[2].quat[2], 0.016239988275423622, EPSILON); + EXPECT_NEAR(bonus[2].quat[3], -0.38262430562330857, EPSILON); + EXPECT_NEAR(bonus[3].quat[0], 0.90191325590647375, EPSILON); + EXPECT_NEAR(bonus[3].quat[1], 0.2009681312851252, EPSILON); + EXPECT_NEAR(bonus[3].quat[2], 0.1002758475123109, EPSILON); + EXPECT_NEAR(bonus[3].quat[3], 0.36892959143125958, EPSILON); + EXPECT_NEAR(bonus[0].c1[0], -0.14933690186163626, EPSILON); + EXPECT_NEAR(bonus[0].c1[2], -0.0052525338293288879, EPSILON); + EXPECT_NEAR(bonus[1].c1[0], -0.78775285695558628, EPSILON); + EXPECT_NEAR(bonus[1].c1[2], -0.22123552085772158, EPSILON); + EXPECT_NEAR(bonus[2].c1[0], -0.14933690186163626, EPSILON); + EXPECT_NEAR(bonus[2].c1[2], -0.0052525338293288879, EPSILON); + EXPECT_NEAR(bonus[3].c1[0], -0.78775285695558628, EPSILON); + EXPECT_NEAR(bonus[3].c1[2], -0.22123552085772158, EPSILON); + EXPECT_NEAR(bonus[0].c2[0], 0.55733290519255363, EPSILON); + EXPECT_NEAR(bonus[0].c2[2], 0.019602723119529656, EPSILON); + EXPECT_NEAR(bonus[1].c2[0], 0.63043795621810073, EPSILON); + EXPECT_NEAR(bonus[1].c2[2], 0.17705460333259254, EPSILON); + EXPECT_NEAR(bonus[2].c2[0], 0.55733290519255363, EPSILON); + EXPECT_NEAR(bonus[2].c2[2], 0.019602723119529656, EPSILON); + EXPECT_NEAR(bonus[3].c2[0], 0.63043795621810073, EPSILON); + EXPECT_NEAR(bonus[3].c2[2], 0.17705460333259254, EPSILON); + EXPECT_NEAR(bonus[0].c3[0], -0.4079960033309174, EPSILON); + EXPECT_NEAR(bonus[0].c3[2], -0.014350189290200809, EPSILON); + EXPECT_NEAR(bonus[1].c3[0], 0.15731490073748589, EPSILON); + EXPECT_NEAR(bonus[1].c3[2], 0.044180917525128927, EPSILON); + EXPECT_NEAR(bonus[2].c3[0], -0.4079960033309174, EPSILON); + EXPECT_NEAR(bonus[2].c3[2], -0.014350189290200809, EPSILON); + EXPECT_NEAR(bonus[3].c3[0], 0.15731490073748589, EPSILON); + EXPECT_NEAR(bonus[3].c3[2], 0.044180917525128927, EPSILON); BEGIN_HIDE_OUTPUT(); command("reset_atoms id"); @@ -2140,18 +2116,18 @@ TEST_F(AtomStyleTest, tri) ASSERT_EQ(tri[GETIDX(6)], -1); ASSERT_EQ(tri[GETIDX(7)], 3); ASSERT_EQ(tri[GETIDX(8)], -1); - EXPECT_NEAR(bonus[0].inertia[0], 14.017974903242481, EPSILON); + EXPECT_NEAR(bonus[0].inertia[2], 14.017974903242481, EPSILON); EXPECT_NEAR(bonus[0].inertia[1], 13.94589575227541, EPSILON); - EXPECT_NEAR(bonus[0].inertia[2], 0.072258416330334363, EPSILON); - EXPECT_NEAR(bonus[1].inertia[0], 19.15175691481879, EPSILON); + EXPECT_NEAR(bonus[0].inertia[0], 0.072258416330334363, EPSILON); + EXPECT_NEAR(bonus[1].inertia[2], 19.15175691481879, EPSILON); EXPECT_NEAR(bonus[1].inertia[1], 18.948744087979005, EPSILON); - EXPECT_NEAR(bonus[1].inertia[2], 0.23541253382609079, EPSILON); - EXPECT_NEAR(bonus[2].inertia[0], 14.017974903242481, EPSILON); + EXPECT_NEAR(bonus[1].inertia[0], 0.23541253382609079, EPSILON); + EXPECT_NEAR(bonus[2].inertia[2], 14.017974903242481, EPSILON); EXPECT_NEAR(bonus[2].inertia[1], 13.94589575227541, EPSILON); - EXPECT_NEAR(bonus[2].inertia[2], 0.072258416330334363, EPSILON); - EXPECT_NEAR(bonus[3].inertia[0], 19.15175691481879, EPSILON); + EXPECT_NEAR(bonus[2].inertia[0], 0.072258416330334363, EPSILON); + EXPECT_NEAR(bonus[3].inertia[2], 19.15175691481879, EPSILON); EXPECT_NEAR(bonus[3].inertia[1], 18.948744087979005, EPSILON); - EXPECT_NEAR(bonus[3].inertia[2], 0.23541253382609079, EPSILON); + EXPECT_NEAR(bonus[3].inertia[0], 0.23541253382609079, EPSILON); } TEST_F(AtomStyleTest, body_nparticle) @@ -2347,18 +2323,18 @@ TEST_F(AtomStyleTest, body_nparticle) EXPECT_NEAR(radius[GETIDX(5)], 0.5, EPSILON); EXPECT_NEAR(radius[GETIDX(6)], 0.5, EPSILON); - EXPECT_NEAR(bonus[0].inertia[0], 2.0, EPSILON); + EXPECT_NEAR(bonus[0].inertia[2], 2.0, EPSILON); EXPECT_NEAR(bonus[0].inertia[1], 2.0, EPSILON); - EXPECT_NEAR(bonus[0].inertia[2], 0.0, EPSILON); - EXPECT_NEAR(bonus[1].inertia[0], 4.5, EPSILON); + EXPECT_NEAR(bonus[0].inertia[0], 0.0, EPSILON); + EXPECT_NEAR(bonus[1].inertia[2], 4.5, EPSILON); EXPECT_NEAR(bonus[1].inertia[1], 4.0, EPSILON); - EXPECT_NEAR(bonus[1].inertia[2], 0.5, EPSILON); - EXPECT_NEAR(bonus[2].inertia[0], 1.7746273249544022, EPSILON); + EXPECT_NEAR(bonus[1].inertia[0], 0.5, EPSILON); + EXPECT_NEAR(bonus[2].inertia[2], 1.7746273249544022, EPSILON); EXPECT_NEAR(bonus[2].inertia[1], 1.67188, EPSILON); - EXPECT_NEAR(bonus[2].inertia[2], 0.49099767504559777, EPSILON); - EXPECT_NEAR(bonus[3].inertia[0], 12.0, EPSILON); + EXPECT_NEAR(bonus[2].inertia[0], 0.49099767504559777, EPSILON); + EXPECT_NEAR(bonus[3].inertia[2], 12.0, EPSILON); EXPECT_NEAR(bonus[3].inertia[1], 12.0, EPSILON); - EXPECT_NEAR(bonus[3].inertia[2], 0.0, EPSILON); + EXPECT_NEAR(bonus[3].inertia[0], 0.0, EPSILON); EXPECT_NEAR(bonus[0].quat[0], 1.0, EPSILON); EXPECT_NEAR(bonus[0].quat[1], 0.0, EPSILON); EXPECT_NEAR(bonus[0].quat[2], 0.0, EPSILON); @@ -2519,18 +2495,18 @@ TEST_F(AtomStyleTest, body_nparticle) EXPECT_NEAR(radius[GETIDX(5)], 0.5, EPSILON); EXPECT_NEAR(radius[GETIDX(6)], 0.5, EPSILON); - EXPECT_NEAR(bonus[0].inertia[0], 2.0, EPSILON); + EXPECT_NEAR(bonus[0].inertia[2], 2.0, EPSILON); EXPECT_NEAR(bonus[0].inertia[1], 2.0, EPSILON); - EXPECT_NEAR(bonus[0].inertia[2], 0.0, EPSILON); - EXPECT_NEAR(bonus[1].inertia[0], 4.5, EPSILON); + EXPECT_NEAR(bonus[0].inertia[0], 0.0, EPSILON); + EXPECT_NEAR(bonus[1].inertia[2], 4.5, EPSILON); EXPECT_NEAR(bonus[1].inertia[1], 4.0, EPSILON); - EXPECT_NEAR(bonus[1].inertia[2], 0.5, EPSILON); - EXPECT_NEAR(bonus[2].inertia[0], 1.7746273249544022, EPSILON); + EXPECT_NEAR(bonus[1].inertia[0], 0.5, EPSILON); + EXPECT_NEAR(bonus[2].inertia[2], 1.7746273249544022, EPSILON); EXPECT_NEAR(bonus[2].inertia[1], 1.67188, EPSILON); - EXPECT_NEAR(bonus[2].inertia[2], 0.49099767504559777, EPSILON); - EXPECT_NEAR(bonus[3].inertia[0], 12.0, EPSILON); + EXPECT_NEAR(bonus[2].inertia[0], 0.49099767504559777, EPSILON); + EXPECT_NEAR(bonus[3].inertia[2], 12.0, EPSILON); EXPECT_NEAR(bonus[3].inertia[1], 12.0, EPSILON); - EXPECT_NEAR(bonus[3].inertia[2], 0.0, EPSILON); + EXPECT_NEAR(bonus[3].inertia[0], 0.0, EPSILON); EXPECT_NEAR(bonus[0].quat[0], 1.0, EPSILON); EXPECT_NEAR(bonus[0].quat[1], 0.0, EPSILON); EXPECT_NEAR(bonus[0].quat[2], 0.0, EPSILON); @@ -2543,10 +2519,10 @@ TEST_F(AtomStyleTest, body_nparticle) EXPECT_NEAR(bonus[2].quat[1], 0.25056280708573159, EPSILON); EXPECT_NEAR(bonus[2].quat[2], 0.0, EPSILON); EXPECT_NEAR(bonus[2].quat[3], 0.25056280708573148, EPSILON); - EXPECT_NEAR(bonus[3].quat[0], 0.62499650256800654, EPSILON); - EXPECT_NEAR(bonus[3].quat[1], 0.47323774316465234, EPSILON); - EXPECT_NEAR(bonus[3].quat[2], 0.33072552332373728, EPSILON); - EXPECT_NEAR(bonus[3].quat[3], 0.52540083597613996, EPSILON); + EXPECT_NEAR(bonus[3].quat[0], 0.070424771223903379, EPSILON); + EXPECT_NEAR(bonus[3].quat[1], 0.81345375914352225, EPSILON); + EXPECT_NEAR(bonus[3].quat[2], 0.56848787755882768, EPSILON); + EXPECT_NEAR(bonus[3].quat[3], -0.10077135705145905, EPSILON); ASSERT_EQ(bonus[0].ilocal, 0); ASSERT_EQ(bonus[1].ilocal, 1); ASSERT_EQ(bonus[2].ilocal, 2); @@ -2634,18 +2610,18 @@ TEST_F(AtomStyleTest, body_nparticle) EXPECT_NEAR(radius[GETIDX(9)], 0.5, EPSILON); EXPECT_NEAR(radius[GETIDX(11)], 0.5, EPSILON); EXPECT_NEAR(radius[GETIDX(12)], 0.5, EPSILON); - EXPECT_NEAR(bonus[0].inertia[0], 2.0, EPSILON); + EXPECT_NEAR(bonus[0].inertia[2], 2.0, EPSILON); EXPECT_NEAR(bonus[0].inertia[1], 2.0, EPSILON); - EXPECT_NEAR(bonus[0].inertia[2], 0.0, EPSILON); - EXPECT_NEAR(bonus[1].inertia[0], 1.7746273249544022, EPSILON); + EXPECT_NEAR(bonus[0].inertia[0], 0.0, EPSILON); + EXPECT_NEAR(bonus[1].inertia[2], 1.7746273249544022, EPSILON); EXPECT_NEAR(bonus[1].inertia[1], 1.67188, EPSILON); - EXPECT_NEAR(bonus[1].inertia[2], 0.49099767504559777, EPSILON); - EXPECT_NEAR(bonus[2].inertia[0], 2.0, EPSILON); + EXPECT_NEAR(bonus[1].inertia[0], 0.49099767504559777, EPSILON); + EXPECT_NEAR(bonus[2].inertia[2], 2.0, EPSILON); EXPECT_NEAR(bonus[2].inertia[1], 2.0, EPSILON); - EXPECT_NEAR(bonus[2].inertia[2], 0.0, EPSILON); - EXPECT_NEAR(bonus[3].inertia[0], 1.7746273249544022, EPSILON); + EXPECT_NEAR(bonus[2].inertia[0], 0.0, EPSILON); + EXPECT_NEAR(bonus[3].inertia[2], 1.7746273249544022, EPSILON); EXPECT_NEAR(bonus[3].inertia[1], 1.67188, EPSILON); - EXPECT_NEAR(bonus[3].inertia[2], 0.49099767504559777, EPSILON); + EXPECT_NEAR(bonus[3].inertia[0], 0.49099767504559777, EPSILON); EXPECT_NEAR(bonus[0].quat[0], 1.0, EPSILON); EXPECT_NEAR(bonus[0].quat[1], 0.0, EPSILON); EXPECT_NEAR(bonus[0].quat[2], 0.0, EPSILON); From b01efd96a52b35ed6065a5c80817e52800337bae Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 26 Mar 2024 23:27:44 -0400 Subject: [PATCH 362/559] add missing link and expand docs for Unknown identifier in data file error --- doc/src/Errors_details.rst | 32 ++++++++++++++++++++++---------- src/read_data.cpp | 3 ++- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/doc/src/Errors_details.rst b/doc/src/Errors_details.rst index b63d80a9ae..2a08a308f4 100644 --- a/doc/src/Errors_details.rst +++ b/doc/src/Errors_details.rst @@ -13,15 +13,27 @@ discussions of such cases. Unknown identifier in data file ------------------------------- -This error happens when LAMMPS encounters a line of text in an unexpected format -while reading a data file. This is most commonly cause by inconsistent header and -section data. The header section informs LAMMPS how many entries or lines are expected in the -various sections (like Atoms, Masses, Pair Coeffs, *etc.*\ ) of the data file. -If there is a mismatch, LAMMPS will either keep reading beyond the end of a section -or stop reading before the section has ended. +This error happens when LAMMPS encounters a line of text with an +unexpected keyword while :doc:`reading a data file `. This +would be either header keywords or section header keywords. This is +most commonly due to a mistyped keyword or due to a keyword that is +inconsistent with the :doc:`atom style ` used. -Such a mismatch can happen unexpectedly when the first line of the data -is *not* a comment as required by the format. That would result in -LAMMPS expecting, for instance, 0 atoms because the "atoms" header line -is treated as a comment. +The header section informs LAMMPS how many entries or lines are expected +in the various sections (like Atoms, Masses, Pair Coeffs, *etc.*\ ) of +the data file. If there is a mismatch, LAMMPS will either keep reading +beyond the end of a section or stop reading before the section has +ended. In that case the next line will not contain a recognized keyword. +Such a mismatch can also happen when the first line of the data +is *not* a comment as required by the format, but a line with a valid +header keyword. That would result in LAMMPS expecting, for instance, +0 atoms because the "atoms" header line is the first line and thus +treated as a comment. + +Another possibility to trigger this error is to have a keyword in the +data file that corresponds to a fix (e.g. :doc:`fix cmap `) +but the :doc:`read_data ` command is missing the (optional) +arguments that identify the fix and the header keyword and section +keyword or those arguments are inconsistent with the keywords in the +data file. diff --git a/src/read_data.cpp b/src/read_data.cpp index 657369d5d0..36bbce605f 100644 --- a/src/read_data.cpp +++ b/src/read_data.cpp @@ -1360,7 +1360,8 @@ void ReadData::header(int firstpass) // check that exiting string is a valid section keyword parse_keyword(1); - if (!is_data_section(keyword)) error->all(FLERR, "Unknown identifier in data file: {}", keyword); + if (!is_data_section(keyword)) + error->all(FLERR, "Unknown identifier in data file: {}{}", keyword, utils::errorurl(1)); // error checks on header values // must be consistent with atom style and other header values From cd154abe73018b8c45a7e3b06ad7cd2ac0a537d9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 26 Mar 2024 23:56:38 -0400 Subject: [PATCH 363/559] add "Incorrect format in ... section of data file" to Error_details and url --- doc/src/Errors_details.rst | 17 +++++++++++++++++ src/MOLECULE/fix_cmap.cpp | 3 ++- src/atom.cpp | 28 ++++++++++++++++++++-------- src/fix_property_atom.cpp | 5 +++-- 4 files changed, 42 insertions(+), 11 deletions(-) diff --git a/doc/src/Errors_details.rst b/doc/src/Errors_details.rst index 2a08a308f4..c798784106 100644 --- a/doc/src/Errors_details.rst +++ b/doc/src/Errors_details.rst @@ -37,3 +37,20 @@ but the :doc:`read_data ` command is missing the (optional) arguments that identify the fix and the header keyword and section keyword or those arguments are inconsistent with the keywords in the data file. + +.. _err0002: + +Incorrect format in ... section of data file +-------------------------------------------- + +This error happens when LAMMPS reads the contents of a section of a +:doc:`data file ` and the number of parameters in the line +differs from what is expected. This most commonly happens, when the +atom style is different from what is expected for a specific data file +since changing the atom style usually changes the format of the line. + +This error can also happen when the number of entries indicated in the +header of a data file (e.g. the number of atoms) is larger than the +number of lines provided (e.g. in the corresponding Atoms section) +and then LAMMPS will continue reading into the next section and that +would have a completely different format. diff --git a/src/MOLECULE/fix_cmap.cpp b/src/MOLECULE/fix_cmap.cpp index cb4cb8cadc..bc220da30e 100644 --- a/src/MOLECULE/fix_cmap.cpp +++ b/src/MOLECULE/fix_cmap.cpp @@ -970,7 +970,8 @@ void FixCMAP::read_data_section(char * /*keyword*/, int /*n*/, char *buf, atom5 = values.next_tagint(); if (values.has_next()) throw TokenizerException("too many items",line); } catch (std::exception &e) { - error->all(FLERR,"Incorrect format of CMAP section: {}", e.what()); + error->all(FLERR,"Incorrect format of CMAP section in data file: {}{}", + e.what(), utils::errorurl(2)); } atom1 += id_offset; diff --git a/src/atom.cpp b/src/atom.cpp index 085ca88b4e..7edf4760d2 100644 --- a/src/atom.cpp +++ b/src/atom.cpp @@ -1068,7 +1068,8 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, } if ((nwords != avec->size_data_atom) && (nwords != avec->size_data_atom + 3)) - error->all(FLERR,"Incorrect format in {}: {}", location, utils::trim(buf)); + error->all(FLERR,"Incorrect format in {}: {}{}", location, + utils::trim(buf), utils::errorurl(2)); *next = '\n'; // set bounds for my proc @@ -1149,7 +1150,8 @@ void Atom::data_atoms(int n, char *buf, tagint id_offset, tagint mol_offset, // skip over empty or comment lines } else if ((nvalues < nwords) || ((nvalues > nwords) && (!utils::strmatch(values[nwords],"^#")))) { - error->all(FLERR, "Incorrect format in {}: {}", location, utils::trim(buf)); + error->all(FLERR, "Incorrect format in {}: {}{}", location, + utils::trim(buf), utils::errorurl(2)); } else { int imx = 0, imy = 0, imz = 0; if (imageflag) { @@ -1243,7 +1245,8 @@ void Atom::data_vels(int n, char *buf, tagint id_offset) if (values.size() == 0) { // skip over empty or comment lines } else if ((int)values.size() != avec->size_data_vel) { - error->all(FLERR, "Incorrect velocity format in data file: {}", utils::trim(buf)); + error->all(FLERR, "Incorrect format in Velocities section of data file: {}{}", + utils::trim(buf), utils::errorurl(2)); } else { tagint tagdata = utils::tnumeric(FLERR,values[0],false,lmp) + id_offset; if (tagdata <= 0 || tagdata > map_tag_max) @@ -1287,7 +1290,9 @@ void Atom::data_bonds(int n, char *buf, int *count, tagint id_offset, // skip over empty or comment lines // Bonds line is: number(ignored), bond type, atomID 1, atomID 2 if (nwords > 0) { - if (nwords != 4) error->all(FLERR, "Incorrect format in {}: {}", location, utils::trim(buf)); + if (nwords != 4) + error->all(FLERR, "Incorrect format in {}: {}{}", location, + utils::trim(buf), utils::errorurl(2)); typestr = utils::utf8_subst(values[1]); atom1 = utils::tnumeric(FLERR, values[2], false, lmp); atom2 = utils::tnumeric(FLERR, values[3], false, lmp); @@ -1378,7 +1383,9 @@ void Atom::data_angles(int n, char *buf, int *count, tagint id_offset, // skip over empty or comment lines // Angles line is: number(ignored), angle type, atomID 1, atomID 2, atomID 3 if (nwords > 0) { - if (nwords != 5) error->all(FLERR, "Incorrect format in {}: {}", location, utils::trim(buf)); + if (nwords != 5) + error->all(FLERR, "Incorrect format in {}: {}{}", location, + utils::trim(buf), utils::errorurl(2)); typestr = utils::utf8_subst(values[1]); atom1 = utils::tnumeric(FLERR, values[2], false, lmp); atom2 = utils::tnumeric(FLERR, values[3], false, lmp); @@ -1485,7 +1492,9 @@ void Atom::data_dihedrals(int n, char *buf, int *count, tagint id_offset, // skip over empty or comment lines // Dihedrals line is: number(ignored), bond type, atomID 1, atomID 2, atomID 3, atomID 4 if (nwords > 0) { - if (nwords != 6) error->all(FLERR, "Incorrect format in {}: {}", location, utils::trim(buf)); + if (nwords != 6) + error->all(FLERR, "Incorrect format in {}: {}{}", location, + utils::trim(buf), utils::errorurl(2)); typestr = utils::utf8_subst(values[1]); atom1 = utils::tnumeric(FLERR, values[2], false, lmp); atom2 = utils::tnumeric(FLERR, values[3], false, lmp); @@ -1611,7 +1620,9 @@ void Atom::data_impropers(int n, char *buf, int *count, tagint id_offset, // skip over empty or comment lines // Impropers line is: number(ignored), bond type, atomID 1, atomID 2, atomID 3, atomID 4 if (nwords > 0) { - if (nwords != 6) error->all(FLERR, "Incorrect format in {}: {}", location, utils::trim(buf)); + if (nwords != 6) + error->all(FLERR, "Incorrect format in {}: {}{}", location, + utils::trim(buf), utils::errorurl(2)); typestr = utils::utf8_subst(values[1]); atom1 = utils::tnumeric(FLERR, values[2], false, lmp); atom2 = utils::tnumeric(FLERR, values[3], false, lmp); @@ -1727,7 +1738,8 @@ void Atom::data_bonus(int n, char *buf, AtomVec *avec_bonus, tagint id_offset) if (values.size() == 0) { // skip over empty or comment lines } else if ((int)values.size() != avec_bonus->size_data_bonus) { - error->all(FLERR, "Incorrect bonus data format in data file: {}", utils::trim(buf)); + error->all(FLERR, "Incorrect format in Bonus section of data file: {}{}", + utils::trim(buf), utils::errorurl(2)); } else { tagint tagdata = utils::tnumeric(FLERR,values[0],false,lmp) + id_offset; if (tagdata <= 0 || tagdata > map_tag_max) diff --git a/src/fix_property_atom.cpp b/src/fix_property_atom.cpp index de96b5c39d..2cbdb44ab0 100644 --- a/src/fix_property_atom.cpp +++ b/src/fix_property_atom.cpp @@ -328,8 +328,9 @@ void FixPropertyAtom::read_data_section(char *keyword, int n, char *buf, tagint try { ValueTokenizer values(buf); if ((int) values.count() != values_peratom + 1) - error->all(FLERR, "Incorrect format in {} section of data file: {} expected {} and got {}", - keyword, buf, values_peratom + 1, values.count()); + error->all(FLERR, "Incorrect format in {} section of data file: {}\n" + "expected {} parameters and got {}{}", keyword, utils::trim(buf), + values_peratom + 1, values.count(), utils::errorurl(2)); itag = values.next_tagint() + id_offset; if (itag <= 0 || itag > map_tag_max) From e5ea8c2670227934a0cb20a565432a5ef045fa83 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 27 Mar 2024 06:04:56 -0400 Subject: [PATCH 364/559] silence compiler warnings --- src/KOKKOS/fft3d_kokkos.cpp | 3 +++ src/KOKKOS/pair_kokkos.h | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/KOKKOS/fft3d_kokkos.cpp b/src/KOKKOS/fft3d_kokkos.cpp index 5caed42f43..202d46e788 100644 --- a/src/KOKKOS/fft3d_kokkos.cpp +++ b/src/KOKKOS/fft3d_kokkos.cpp @@ -39,8 +39,11 @@ FFT3dKokkos::FFT3dKokkos(LAMMPS *lmp, MPI_Comm comm, int nfast, int Pointers(lmp) { int nthreads = lmp->kokkos->nthreads; + +#if defined(LMP_KOKKOS_GPU) int ngpus = lmp->kokkos->ngpus; ExecutionSpace execution_space = ExecutionSpaceFromDevice::space; +#endif #if defined(FFT_KOKKOS_MKL) if (ngpus > 0 && execution_space == Device) diff --git a/src/KOKKOS/pair_kokkos.h b/src/KOKKOS/pair_kokkos.h index 15417d7620..c4bd603041 100644 --- a/src/KOKKOS/pair_kokkos.h +++ b/src/KOKKOS/pair_kokkos.h @@ -950,10 +950,10 @@ EV_FLOAT pair_compute_neighlist (PairStyle* fpair, std::enable_if_t<(NEIGHFLAG&P static int vectorsize = 0; static int atoms_per_team = 0; - static int teamsize_max_for = 0; - static int teamsize_max_reduce = 0; #if defined(LMP_KOKKOS_GPU) + static int teamsize_max_for = 0; + static int teamsize_max_reduce = 0; static int lastcall = -1; if (!vectorsize || lastcall < fpair->lmp->neighbor->lastcall) { lastcall = fpair->lmp->update->ntimestep; From edcbd2e7618518e6bb1a5d843081474d7176872d Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Wed, 27 Mar 2024 13:04:23 -0600 Subject: [PATCH 365/559] Fix bug in Kokkos when shrink-wrapping with no atoms --- src/KOKKOS/domain_kokkos.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/KOKKOS/domain_kokkos.cpp b/src/KOKKOS/domain_kokkos.cpp index aecc12cd12..d0865c6afb 100644 --- a/src/KOKKOS/domain_kokkos.cpp +++ b/src/KOKKOS/domain_kokkos.cpp @@ -22,7 +22,7 @@ using namespace LAMMPS_NS; -static constexpr double BIG = 1.0e20; +static constexpr double BIG = 1.0e20; /* ---------------------------------------------------------------------- */ @@ -80,6 +80,11 @@ public: void DomainKokkos::reset_box() { // perform shrink-wrapping + + // nothing to do for empty systems + + if (atom->natoms == 0) return; + // compute extent of atoms on this proc // for triclinic, this is done in lamda space From 3c8ba3d37612025687c8069deb345bbbcca92033 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Wed, 27 Mar 2024 13:14:52 -0600 Subject: [PATCH 366/559] Update codeowners so changes to domain can be ported to KOKKOS package --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index ed37fa80b9..0e42635244 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -83,7 +83,7 @@ src/bond.* @sjplimp src/comm*.* @sjplimp src/compute.* @sjplimp src/dihedral.* @sjplimp -src/domain.* @sjplimp +src/domain.* @sjplimp @stanmoore1 src/dump*.* @sjplimp src/error.* @sjplimp src/finish.* @sjplimp From f8d8ed094659f24d3a4a96d9eae32997148d23bc Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 27 Mar 2024 17:52:13 -0400 Subject: [PATCH 367/559] use correct character class escapes --- unittest/force-styles/check_tests.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/unittest/force-styles/check_tests.py b/unittest/force-styles/check_tests.py index df71640789..4dba8f9b9e 100755 --- a/unittest/force-styles/check_tests.py +++ b/unittest/force-styles/check_tests.py @@ -54,7 +54,7 @@ improper = {} kspace = {} pair = {} -style_pattern = re.compile("(.+)Style\((.+),(.+)\)") +style_pattern = re.compile("(.+)Style\\((.+),(.+)\\)") upper = re.compile("[A-Z]+") gpu = re.compile("(.+)/gpu$") intel = re.compile("(.+)/intel$") @@ -176,19 +176,19 @@ def check_tests(name,styles,yaml,search,skip=()): counter = 0 counter += check_tests('pair',pair,'*-pair-*.yaml', - '.*pair_style:\s*((\S+).*)?',skip=('meam','lj/sf')) + '.*pair_style:\\s*((\\S+).*)?',skip=('meam','lj/sf')) counter += check_tests('bond',bond,'bond-*.yaml', - '.*bond_style:\s*((\S+).*)?') + '.*bond_style:\\s*((\\S+).*)?') counter += check_tests('angle',angle,'angle-*.yaml', - '.*angle_style:\s*((\S+).*)?') + '.*angle_style:\\s*((\\S+).*)?') counter += check_tests('dihedral',dihedral,'dihedral-*.yaml', - '.*dihedral_style:\s*((\S+).*)?') + '.*dihedral_style:\\s*((\\S+).*)?') counter += check_tests('improper',improper,'improper-*.yaml', - '.*improper_style:\s*((\S+).*)?') + '.*improper_style:\\s*((\\S+).*)?') counter += check_tests('kspace',kspace,'kspace-*.yaml', - '.*kspace_style\s*((\S+).*)?') + '.*kspace_style\\s*((\\S+).*)?') counter += check_tests('fix',fix,'fix-*.yaml', - ' fix\s+((\S+)\s*)?') + ' fix\\s+((\\S+)\\s*)?') total = len(pair)+len(bond)+len(angle)+len(dihedral)+len(improper)+len(kspace)+len(fix) print(f"\nTotal tests missing: {counter} of {total}") From 0893a2d0a0f61fd5dcce6fa0e0a67a5d6010fd59 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Thu, 28 Mar 2024 15:43:01 +0100 Subject: [PATCH 368/559] Add files via upload --- doc/src/angle_cosine_squared_restricted.rst | 71 +++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 doc/src/angle_cosine_squared_restricted.rst diff --git a/doc/src/angle_cosine_squared_restricted.rst b/doc/src/angle_cosine_squared_restricted.rst new file mode 100644 index 0000000000..ea2d403f08 --- /dev/null +++ b/doc/src/angle_cosine_squared_restricted.rst @@ -0,0 +1,71 @@ +.. index:: angle_style cosine/squared/restricted + +angle_style cosine/squared/restricted command +================================== + +Syntax +"""""" + +.. code-block:: LAMMPS + + angle_style cosine/squared/restricted + +Examples +"""""""" + +.. code-block:: LAMMPS + + angle_style cosine/squared/restricted + angle_coeff 2*4 75.0 100.0 + +Description +""""""""""" + +The *cosine/squared/restricted* angle style uses the potential + +.. math:: + + E = K [\cos(\theta) - \cos(\theta_0)]^2 / \sin^2(\theta) + +, which is commonly used in the MARTINI force field, +where :math:`\theta_0` is the equilibrium value of the angle, and :math:`K` +is a prefactor. Note that the usual 1/2 factor is included in :math:`K`. + +See :ref:`(Bulacu) ` for a description of the restricted angle for the MARTINI force field. + +The following coefficients must be defined for each angle type via the +:doc:`angle_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: + +* :math:`K` (energy) +* :math:`\theta_0` (degrees) + +:math:`\theta_0` is specified in degrees, but LAMMPS converts it to radians +internally. + +---------- + +Restrictions +"""""""""""" + +This angle style can only be used if LAMMPS was built with the +EXTRA-MOLECULE package. See the :doc:`Build package ` doc page +for more info. + +Related commands +"""""""""""""""" + +:doc:`angle_coeff ` + +Default +""""""" + +none + +---------- + +.. _restricted-Bulacu: + +**(Bulacu)** Bulacu, Goga, Zhao, Rossi, Monticelli, Periole, Tieleman, Marrink, J Chem Theory Comput, 9, 3282-3292 +(2013). From 720705b7d2d7fa592f3ad2b0526647b291882de0 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Thu, 28 Mar 2024 15:44:15 +0100 Subject: [PATCH 369/559] Add files via upload --- .../angle_cosine_squared_restricted.cpp | 298 ++++++++++++++++++ .../angle_cosine_squared_restricted.h | 49 +++ 2 files changed, 347 insertions(+) create mode 100644 src/EXTRA-MOLECULE/angle_cosine_squared_restricted.cpp create mode 100644 src/EXTRA-MOLECULE/angle_cosine_squared_restricted.h diff --git a/src/EXTRA-MOLECULE/angle_cosine_squared_restricted.cpp b/src/EXTRA-MOLECULE/angle_cosine_squared_restricted.cpp new file mode 100644 index 0000000000..f3844ec3a0 --- /dev/null +++ b/src/EXTRA-MOLECULE/angle_cosine_squared_restricted.cpp @@ -0,0 +1,298 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "angle_cosine_squared_restricted.h" + +#include "atom.h" +#include "comm.h" +#include "domain.h" +#include "error.h" +#include "force.h" +#include "math_const.h" +#include "memory.h" +#include "neighbor.h" + +#include + +using namespace LAMMPS_NS; +using MathConst::DEG2RAD; +using MathConst::RAD2DEG; + +/* ---------------------------------------------------------------------- */ + +AngleCosineSquaredRestricted::AngleCosineSquaredRestricted(LAMMPS *_lmp) : Angle(_lmp) +{ + k = nullptr; + theta0 = nullptr; + born_matrix_enable = 1; +} + +/* ---------------------------------------------------------------------- */ + +AngleCosineSquaredRestricted::~AngleCosineSquaredRestricted() +{ + if (allocated) { + memory->destroy(setflag); + memory->destroy(k); + memory->destroy(theta0); + } +} + +/* ---------------------------------------------------------------------- */ + +void AngleCosineSquaredRestricted::compute(int eflag, int vflag) +{ + int i1, i2, i3, n, type; + double delx1, dely1, delz1, delx2, dely2, delz2; + double eangle, f1[3], f3[3]; + double dcostheta, tk; + double rsq1, rsq2, r1, r2, c, a, a11, a12, a22; + + eangle = 0.0; + ev_init(eflag, vflag); + + double **x = atom->x; + double **f = atom->f; + int **anglelist = neighbor->anglelist; + int nanglelist = neighbor->nanglelist; + int nlocal = atom->nlocal; + int newton_bond = force->newton_bond; + + for (n = 0; n < nanglelist; n++) { + i1 = anglelist[n][0]; + i2 = anglelist[n][1]; + i3 = anglelist[n][2]; + type = anglelist[n][3]; + + // 1st bond + + delx1 = x[i1][0] - x[i2][0]; + dely1 = x[i1][1] - x[i2][1]; + delz1 = x[i1][2] - x[i2][2]; + + rsq1 = delx1 * delx1 + dely1 * dely1 + delz1 * delz1; + r1 = sqrt(rsq1); + + // 2nd bond + + delx2 = x[i3][0] - x[i2][0]; + dely2 = x[i3][1] - x[i2][1]; + delz2 = x[i3][2] - x[i2][2]; + + rsq2 = delx2 * delx2 + dely2 * dely2 + delz2 * delz2; + r2 = sqrt(rsq2); + + // angle (cos and sin) + + c = delx1 * delx2 + dely1 * dely2 + delz1 * delz2; + c /= r1 * r2; + + if (c > 1.0) c = 1.0; + if (c < -1.0) c = -1.0; + + // force & energy + + double sq_sin = 1.0 - c * c; + double c0 = cos(theta0[type]); + + tk = k[type] * (c - c0) * (1.0 - c * c0) / (sq_sin * sq_sin); + + if (eflag) eangle = k[type] * (c - c0) * (c - c0) / sq_sin; + + a = 2.0 * tk; + a11 = a * c / rsq1; + a12 = -a / (r1 * r2); + a22 = a * c / rsq2; + + f1[0] = a11 * delx1 + a12 * delx2; + f1[1] = a11 * dely1 + a12 * dely2; + f1[2] = a11 * delz1 + a12 * delz2; + f3[0] = a22 * delx2 + a12 * delx1; + f3[1] = a22 * dely2 + a12 * dely1; + f3[2] = a22 * delz2 + a12 * delz1; + + // apply force to each of 3 atoms + + if (newton_bond || i1 < nlocal) { + f[i1][0] += f1[0]; + f[i1][1] += f1[1]; + f[i1][2] += f1[2]; + } + + if (newton_bond || i2 < nlocal) { + f[i2][0] -= f1[0] + f3[0]; + f[i2][1] -= f1[1] + f3[1]; + f[i2][2] -= f1[2] + f3[2]; + } + + if (newton_bond || i3 < nlocal) { + f[i3][0] += f3[0]; + f[i3][1] += f3[1]; + f[i3][2] += f3[2]; + } + + if (evflag) + ev_tally(i1, i2, i3, nlocal, newton_bond, eangle, f1, f3, delx1, dely1, delz1, delx2, dely2, + delz2); + } +} + +/* ---------------------------------------------------------------------- */ + +void AngleCosineSquaredRestricted::allocate() +{ + allocated = 1; + const int np1 = atom->nangletypes + 1; + + memory->create(k, np1, "angle:k"); + memory->create(theta0, np1, "angle:theta0"); + + memory->create(setflag, np1, "angle:setflag"); + for (int i = 1; i < np1; i++) setflag[i] = 0; +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more types +------------------------------------------------------------------------- */ + +void AngleCosineSquaredRestricted::coeff(int narg, char **arg) +{ + if (narg != 3) error->all(FLERR, "Incorrect args for angle coefficients"); + if (!allocated) allocate(); + + int ilo, ihi; + utils::bounds(FLERR, arg[0], 1, atom->nangletypes, ilo, ihi, error); + + double k_one = utils::numeric(FLERR, arg[1], false, lmp); + double theta0_one = utils::numeric(FLERR, arg[2], false, lmp); + + // convert theta0 from degrees to radians + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + k[i] = k_one; + theta0[i] = DEG2RAD * theta0_one; + setflag[i] = 1; + count++; + } + + if (count == 0) error->all(FLERR, "Incorrect args for angle coefficients"); +} + +/* ---------------------------------------------------------------------- */ + +double AngleCosineSquaredRestricted::equilibrium_angle(int i) +{ + return theta0[i]; +} + +/* ---------------------------------------------------------------------- + proc 0 writes out coeffs to restart file +------------------------------------------------------------------------- */ + +void AngleCosineSquaredRestricted::write_restart(FILE *fp) +{ + fwrite(&k[1], sizeof(double), atom->nangletypes, fp); + fwrite(&theta0[1], sizeof(double), atom->nangletypes, fp); +} + +/* ---------------------------------------------------------------------- + proc 0 reads coeffs from restart file, bcasts them +------------------------------------------------------------------------- */ + +void AngleCosineSquaredRestricted::read_restart(FILE *fp) +{ + allocate(); + + if (comm->me == 0) { + utils::sfread(FLERR, &k[1], sizeof(double), atom->nangletypes, fp, nullptr, error); + utils::sfread(FLERR, &theta0[1], sizeof(double), atom->nangletypes, fp, nullptr, error); + } + MPI_Bcast(&k[1], atom->nangletypes, MPI_DOUBLE, 0, world); + MPI_Bcast(&theta0[1], atom->nangletypes, MPI_DOUBLE, 0, world); + + for (int i = 1; i <= atom->nangletypes; i++) setflag[i] = 1; +} + +/* ---------------------------------------------------------------------- + proc 0 writes to data file +------------------------------------------------------------------------- */ + +void AngleCosineSquaredRestricted::write_data(FILE *fp) +{ + for (int i = 1; i <= atom->nangletypes; i++) + fprintf(fp, "%d %g %g\n", i, k[i], RAD2DEG * theta0[i]); +} + +/* ---------------------------------------------------------------------- */ + +double AngleCosineSquaredRestricted::single(int type, int i1, int i2, int i3) +{ + double **x = atom->x; + + double delx1 = x[i1][0] - x[i2][0]; + double dely1 = x[i1][1] - x[i2][1]; + double delz1 = x[i1][2] - x[i2][2]; + domain->minimum_image(delx1, dely1, delz1); + double r1 = sqrt(delx1 * delx1 + dely1 * dely1 + delz1 * delz1); + + double delx2 = x[i3][0] - x[i2][0]; + double dely2 = x[i3][1] - x[i2][1]; + double delz2 = x[i3][2] - x[i2][2]; + domain->minimum_image(delx2, dely2, delz2); + double r2 = sqrt(delx2 * delx2 + dely2 * dely2 + delz2 * delz2); + + double c = delx1 * delx2 + dely1 * dely2 + delz1 * delz2; + c /= r1 * r2; + if (c > 1.0) c = 1.0; + if (c < -1.0) c = -1.0; + + double sq_sin = 1.0 - c * c; + double dcostheta = c - cos(theta0[type]); + double tk = k[type] * dcostheta / sq_sin; + return tk * dcostheta; +} + +/* ---------------------------------------------------------------------- */ + +void AngleCosineSquaredRestricted::born_matrix(int type, int i1, int i2, int i3, double &du, double &du2) +{ + double **x = atom->x; + + double delx1 = x[i1][0] - x[i2][0]; + double dely1 = x[i1][1] - x[i2][1]; + double delz1 = x[i1][2] - x[i2][2]; + domain->minimum_image(delx1, dely1, delz1); + double r1 = sqrt(delx1 * delx1 + dely1 * dely1 + delz1 * delz1); + + double delx2 = x[i3][0] - x[i2][0]; + double dely2 = x[i3][1] - x[i2][1]; + double delz2 = x[i3][2] - x[i2][2]; + domain->minimum_image(delx2, dely2, delz2); + double r2 = sqrt(delx2 * delx2 + dely2 * dely2 + delz2 * delz2); + + double c = delx1 * delx2 + dely1 * dely2 + delz1 * delz2; + c /= r1 * r2; + if (c > 1.0) c = 1.0; + if (c < -1.0) c = -1.0; + + double c0 = cos(theta0[type]); + double sq_sin = 1.0 - c * c; + + du = 2 * k[type] * (c - c0) * (1.0 - c * c0) / (sq_sin * sq_sin); + + double numerator = 2.0 * c0 * c * c * c - 3.0 * (c0 * c0 + 1) * c * c + 6 * c0 * c - c0 * c0 - 1 ; + double denominator = sq_sin * sq_sin * sq_sin; + + du2 = 2 * k[type] * numerator / denominator; +} diff --git a/src/EXTRA-MOLECULE/angle_cosine_squared_restricted.h b/src/EXTRA-MOLECULE/angle_cosine_squared_restricted.h new file mode 100644 index 0000000000..674252b7d0 --- /dev/null +++ b/src/EXTRA-MOLECULE/angle_cosine_squared_restricted.h @@ -0,0 +1,49 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef ANGLE_CLASS +// clang-format off +AngleStyle(cosine/squared/restricted,AngleCosineSquaredRestricted); +// clang-format on +#else + +#ifndef LMP_ANGLE_COSINE_SQUARED_RESTRICTED_H +#define LMP_ANGLE_COSINE_SQUARED_RESTRICTED_H + +#include "angle.h" + +namespace LAMMPS_NS { + +class AngleCosineSquaredRestricted : public Angle { + public: + AngleCosineSquaredRestricted(class LAMMPS *); + ~AngleCosineSquaredRestricted() override; + void compute(int, int) override; + void coeff(int, char **) override; + double equilibrium_angle(int) override; + void write_restart(FILE *) override; + void read_restart(FILE *) override; + void write_data(FILE *) override; + double single(int, int, int, int) override; + void born_matrix(int type, int i1, int i2, int i3, double &du, double &du2) override; + + protected: + double *k, *theta0; + + void allocate(); +}; + +} // namespace LAMMPS_NS + +#endif +#endif From 2a8a7f6365c582dc0ab91e21431513b37107f95b Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Thu, 28 Mar 2024 15:47:37 +0100 Subject: [PATCH 370/559] Update angle_style.rst Include link to rst file of the restricted angle potential --- doc/src/angle_style.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/src/angle_style.rst b/doc/src/angle_style.rst index 1f1ae72647..eeb174e772 100644 --- a/doc/src/angle_style.rst +++ b/doc/src/angle_style.rst @@ -10,7 +10,7 @@ Syntax angle_style style -* style = *none* or *zero* or *hybrid* or *amoeba* or *charmm* or *class2* or *class2/p6* or *cosine* or *cosine/buck6d* or *cosine/delta* or *cosine/periodic* or *cosine/shift* or *cosine/shift/exp* or *cosine/squared* or *cross* or *dipole* or *fourier* or *fourier/simple* or *gaussian* or *harmonic* or *lepton* or *mm3* or *quartic* or *spica* or *table* +* style = *none* or *zero* or *hybrid* or *amoeba* or *charmm* or *class2* or *class2/p6* or *cosine* or *cosine/buck6d* or *cosine/delta* or *cosine/periodic* or *cosine/shift* or *cosine/shift/exp* or *cosine/squared* or *cosine/squared/restricted* or *cross* or *dipole* or *fourier* or *fourier/simple* or *gaussian* or *harmonic* or *lepton* or *mm3* or *quartic* or *spica* or *table* Examples """""""" @@ -84,6 +84,7 @@ of (g,i,k,o,t) to indicate which accelerated styles exist. * :doc:`cosine/shift ` - angle cosine with a shift * :doc:`cosine/shift/exp ` - cosine with shift and exponential term in spring constant * :doc:`cosine/squared ` - angle with cosine squared term +* :doc:`cosine/squared/restricted ` - angle with restricted cosine squared term * :doc:`cross ` - cross term coupling angle and bond lengths * :doc:`dipole ` - angle that controls orientation of a point dipole * :doc:`fourier ` - angle with multiple cosine terms From a13d53dd65a435df205a727f77efe752c1f8c986 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 28 Mar 2024 16:14:44 -0400 Subject: [PATCH 371/559] disable references to cuFFT (which is not yet used) --- lib/gpu/lal_base_amoeba.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/gpu/lal_base_amoeba.h b/lib/gpu/lal_base_amoeba.h index f415b30334..7255b8770f 100644 --- a/lib/gpu/lal_base_amoeba.h +++ b/lib/gpu/lal_base_amoeba.h @@ -33,6 +33,7 @@ //#define ASYNC_DEVICE_COPY +#if 0 #if !defined(USE_OPENCL) && !defined(USE_HIP) // temporary workaround for int2 also defined in cufft #ifdef int2 @@ -40,6 +41,7 @@ #endif #include "cufft.h" #endif +#endif namespace LAMMPS_AL { @@ -313,10 +315,11 @@ class BaseAmoeba { virtual int fphi_mpole(); virtual int polar_real(const int eflag, const int vflag) = 0; - +#if 0 #if !defined(USE_OPENCL) && !defined(USE_HIP) cufftHandle plan; #endif +#endif bool fft_plan_created; }; From 996f5b9d52cf5e186d496ed0df81d33f9c510cea Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 29 Mar 2024 02:50:30 -0400 Subject: [PATCH 372/559] fix ttm doc formatting fixes --- doc/src/fix_ttm.rst | 75 +++++++++++++++++++++++---------------------- 1 file changed, 38 insertions(+), 37 deletions(-) diff --git a/doc/src/fix_ttm.rst b/doc/src/fix_ttm.rst index 5a7f864686..f3e6a08d61 100644 --- a/doc/src/fix_ttm.rst +++ b/doc/src/fix_ttm.rst @@ -136,23 +136,23 @@ transfer between the subsystems: \bigtriangledown (\kappa_e \bigtriangledown T_e) - g_p (T_e - T_a) + g_s T_a' -where C_e is the specific heat, rho_e is the density, kappa_e is the -thermal conductivity, T is temperature, the "e" and "a" subscripts -represent electronic and atomic subsystems respectively, g_p is the -coupling constant for the electron-ion interaction, and g_s is the -electron stopping coupling parameter. C_e, rho_e, and kappa_e are -specified as parameters to the fix. The other quantities are derived. -The form of the heat diffusion equation used here is almost the same -as that in equation 6 of :ref:`(Duffy) `, with the exception that the -electronic density is explicitly represented, rather than being part -of the specific heat parameter. +where :math:`C_e` is the specific heat, :math:`\rho_e` is the density, +:math:`\kappa_e` is the thermal conductivity, *T* is temperature, the +"e" and "a" subscripts represent electronic and atomic subsystems +respectively, :math:`g_p` is the coupling constant for the electron-ion +interaction, and :math:`g_s` is the electron stopping coupling +parameter. :math:`C_e`, :math:`\rho_e`, and :math:`\kappa_e` are +specified as parameters to the fix *ttm* or *ttm/grid*. The other +quantities are derived. The form of the heat diffusion equation used +here is almost the same as that in equation 6 of :ref:`(Duffy) `, +with the exception that the electronic density is explicitly +represented, rather than being part of the specific heat parameter. Currently, the TTM fixes assume that none of the user-supplied -parameters will vary with temperature. Note that :ref:`(Duffy) -` used a tanh() functional form for the temperature dependence -of the electronic specific heat, but ignored temperature dependencies -of any of the other parameters. See more discussion below for fix -ttm/mod. +parameters will vary with temperature. Note that :ref:`(Duffy) ` +used a tanh() functional form for the temperature dependence of the +electronic specific heat, but ignored temperature dependencies of any of +the other parameters. See more discussion below for fix *ttm/mod*. .. note:: @@ -265,27 +265,27 @@ heat sources (e.g. laser heating in ablation simulations): \bigtriangledown (\kappa_e \bigtriangledown T_e) - g_p (T_e - T_a) + g_s T_a' + \theta (x-x_{surface})I_0 \exp(-x/l_{skin}) -where theta is the Heaviside step function, I_0 is the (absorbed) -laser pulse intensity for ablation simulations, l_skin is the depth -of skin-layer, and all other designations have the same meaning as in -the former equation. The duration of the pulse is set by the parameter -*tau* in the *init_file*. +where :math:`\theta` is the Heaviside step function, :math:`I_0` is the +(absorbed) laser pulse intensity for ablation simulations, +:math:`l_{skin}` is the depth of the skin-layer, and all other +designations have the same meaning as in the former equation. The +duration of the pulse is set by the parameter *tau* in the *init_file*. -Fix ttm/mod also allows users to specify the dependencies of C_e and -kappa_e on the electronic temperature. The specific heat is expressed -as +Fix *ttm/mod* also allows users to specify the dependencies of +:math:`C_e` and :math:`\kappa_e` on the electronic temperature. The +specific heat is expressed as .. math:: C_e = C_0 + (a_0 + a_1 X + a_2 X^2 + a_3 X^3 + a_4 X^4) \exp (-(AX)^2) -where *X* = T_e/1000, and the thermal conductivity is defined as -kappa_e = D_e\*rho_e\*C_e, where D_e is the thermal diffusion -coefficient. +where :math:`X = \frac{T_e}{1000}`, and the thermal conductivity is +defined as :math:`\kappa_e = D_e \cdot rho_e \cdot C_e`, where +:math:`D_e` is the thermal diffusion coefficient. -Electronic pressure effects are included in the TTM model to account -for the blast force acting on ions because of electronic pressure -gradient (see :ref:`(Chen) `, :ref:`(Norman) `). The total force +Electronic pressure effects are included in the TTM model to account for +the blast force acting on ions because of electronic pressure gradient +(see :ref:`(Chen) `, :ref:`(Norman) `). The total force acting on an ion is: .. math:: @@ -293,13 +293,14 @@ acting on an ion is: {\vec F}_i = - \partial U / \partial {\vec r}_i + {\vec F}_{langevin} - \nabla P_e/n_{ion} -where F_langevin is a force from Langevin thermostat simulating -electron-phonon coupling, and nabla P_e/n_ion is the electron blast -force. +where :math:`F_{langevin}` is a force from Langevin thermostat +simulating electron-phonon coupling, and :math:`\nabla P_e/n_{ion}` is +the electron blast force. -The electronic pressure is taken to be P_e = B\*rho_e\*C_e\*T_e +The electronic pressure is taken to be :math:`P_e = B \cdot rho_e \cdot +C_e \cdot T_e` -The current fix ttm/mod implementation allows TTM simulations with a +The current fix *ttm/mod* implementation allows TTM simulations with a vacuum. The vacuum region is defined as the grid cells with zero electronic temperature. The numerical scheme does not allow energy exchange with such cells. Since the material can expand to previously @@ -319,10 +320,10 @@ electronic pressure gradient is calculated as \frac{x}{x+\lambda}\frac{(C_e{}T_e)_{x+\Delta x}-(C_e{}T_e)_{x}}{\Delta x} \right] -where lambda is the electron mean free path (see :ref:`(Norman) `, -:ref:`(Pisarev) `) +where :math:`\lambda` is the electron mean free path (see :ref:`(Norman) +`, :ref:`(Pisarev) `) -The fix ttm/mod parameter file *init_file* has the following syntax. +The fix *ttm/mod* parameter file *init_file* has the following syntax. Every line with an odd number is considered as a comment and ignored. The lines with the even numbers are treated as follows: From 42af73655c81e6afc1528391c090476977021ed8 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Fri, 29 Mar 2024 11:05:29 +0100 Subject: [PATCH 373/559] Add files via upload --- .../dihedral_cosine_squared_restricted.cpp | 398 ++++++++++++++++++ .../dihedral_cosine_squared_restricted.h | 47 +++ 2 files changed, 445 insertions(+) create mode 100644 src/EXTRA-MOLECULE/dihedral_cosine_squared_restricted.cpp create mode 100644 src/EXTRA-MOLECULE/dihedral_cosine_squared_restricted.h diff --git a/src/EXTRA-MOLECULE/dihedral_cosine_squared_restricted.cpp b/src/EXTRA-MOLECULE/dihedral_cosine_squared_restricted.cpp new file mode 100644 index 0000000000..45192cf730 --- /dev/null +++ b/src/EXTRA-MOLECULE/dihedral_cosine_squared_restricted.cpp @@ -0,0 +1,398 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "dihedral_cosine_squared_restricted.h" + +#include "atom.h" +#include "comm.h" +#include "error.h" +#include "force.h" +#include "math_const.h" +#include "memory.h" +#include "neighbor.h" + +#include + +using namespace LAMMPS_NS; +using MathConst::DEG2RAD; +using MathConst::RAD2DEG; + +static constexpr double TOLERANCE = 0.05; +static constexpr double SMALL = 0.001; + +/* ---------------------------------------------------------------------- */ + +DihedralCosineSquaredRestricted::DihedralCosineSquaredRestricted(LAMMPS *_lmp) : Dihedral(_lmp) +{ + k = nullptr; + phi0 = nullptr; + writedata = 1; + born_matrix_enable = 1; +} + +/* ---------------------------------------------------------------------- */ + +DihedralCosineSquaredRestricted::~DihedralCosineSquaredRestricted() +{ + if (allocated) { + memory->destroy(setflag); + memory->destroy(k); + memory->destroy(phi0); + } +} + +/* ---------------------------------------------------------------------- */ + +void DihedralCosineSquaredRestricted::compute(int eflag, int vflag) +{ + int i1, i2, i3, i4, n, type; + double vb1x, vb1y, vb1z, vb2x, vb2y, vb2z, vb3x, vb3y, vb3z, vb2xm, vb2ym, vb2zm; + double edihedral, f1[3], f2[3], f3[3], f4[3]; + double sb1, sb2, sb3, rb1, rb3, c0, b1mag2, b1mag, b2mag2; + double b2mag, b3mag2, b3mag, ctmp, r12c1, c1mag, r12c2; + double c2mag, sc1, sc2, s1, s12, c, p, pd, a, a11, a22; + double a33, a12, a13, a23, sx2, sy2, sz2; + double s2, sin2; + + edihedral = 0.0; + ev_init(eflag, vflag); + + double **x = atom->x; + double **f = atom->f; + int **dihedrallist = neighbor->dihedrallist; + int ndihedrallist = neighbor->ndihedrallist; + int nlocal = atom->nlocal; + int newton_bond = force->newton_bond; + + for (n = 0; n < ndihedrallist; n++) { + i1 = dihedrallist[n][0]; + i2 = dihedrallist[n][1]; + i3 = dihedrallist[n][2]; + i4 = dihedrallist[n][3]; + type = dihedrallist[n][4]; + + // 1st bond + + vb1x = x[i1][0] - x[i2][0]; + vb1y = x[i1][1] - x[i2][1]; + vb1z = x[i1][2] - x[i2][2]; + + // 2nd bond + + vb2x = x[i3][0] - x[i2][0]; + vb2y = x[i3][1] - x[i2][1]; + vb2z = x[i3][2] - x[i2][2]; + + vb2xm = -vb2x; + vb2ym = -vb2y; + vb2zm = -vb2z; + + // 3rd bond + + vb3x = x[i4][0] - x[i3][0]; + vb3y = x[i4][1] - x[i3][1]; + vb3z = x[i4][2] - x[i3][2]; + + // c0 calculation + + sb1 = 1.0 / (vb1x * vb1x + vb1y * vb1y + vb1z * vb1z); + sb2 = 1.0 / (vb2x * vb2x + vb2y * vb2y + vb2z * vb2z); + sb3 = 1.0 / (vb3x * vb3x + vb3y * vb3y + vb3z * vb3z); + + rb1 = sqrt(sb1); + rb3 = sqrt(sb3); + + c0 = (vb1x * vb3x + vb1y * vb3y + vb1z * vb3z) * rb1 * rb3; + + // 1st and 2nd angle + + b1mag2 = vb1x * vb1x + vb1y * vb1y + vb1z * vb1z; + b1mag = sqrt(b1mag2); + b2mag2 = vb2x * vb2x + vb2y * vb2y + vb2z * vb2z; + b2mag = sqrt(b2mag2); + b3mag2 = vb3x * vb3x + vb3y * vb3y + vb3z * vb3z; + b3mag = sqrt(b3mag2); + + ctmp = vb1x * vb2x + vb1y * vb2y + vb1z * vb2z; + r12c1 = 1.0 / (b1mag * b2mag); + c1mag = ctmp * r12c1; + + ctmp = vb2xm * vb3x + vb2ym * vb3y + vb2zm * vb3z; + r12c2 = 1.0 / (b2mag * b3mag); + c2mag = ctmp * r12c2; + + // cos and sin of 2 angles and final c + + sin2 = MAX(1.0 - c1mag * c1mag, 0.0); + sc1 = sqrt(sin2); + if (sc1 < SMALL) sc1 = SMALL; + sc1 = 1.0 / sc1; + + sin2 = MAX(1.0 - c2mag * c2mag, 0.0); + sc2 = sqrt(sin2); + if (sc2 < SMALL) sc2 = SMALL; + sc2 = 1.0 / sc2; + + s1 = sc1 * sc1; + s2 = sc2 * sc2; + s12 = sc1 * sc2; + c = (c0 + c1mag * c2mag) * s12; + + // error check + + if (c > 1.0 + TOLERANCE || c < (-1.0 - TOLERANCE)) problem(FLERR, i1, i2, i3, i4); + + if (c > 1.0) c = 1.0; + if (c < -1.0) c = -1.0; + + // force & energy + // p = sum (i=1,5) a_i * c**(i-1) + // pd = dp/dc + + double p0 = cos(phi0[type]); + double sq_sin = 1.0 - c * c; + + pd = 2 * k[type] * (c - p0) * (1.0 - c * p0) / (sq_sin * sq_sin); + + if (eflag) edihedral = k[type] * (c - p0) * (c - p0) / sq_sin; + + a = pd; + c = c * a; + s12 = s12 * a; + a11 = c * sb1 * s1; + a22 = -sb2 * (2.0 * c0 * s12 - c * (s1 + s2)); + a33 = c * sb3 * s2; + a12 = -r12c1 * (c1mag * c * s1 + c2mag * s12); + a13 = -rb1 * rb3 * s12; + a23 = r12c2 * (c2mag * c * s2 + c1mag * s12); + + sx2 = a12 * vb1x + a22 * vb2x + a23 * vb3x; + sy2 = a12 * vb1y + a22 * vb2y + a23 * vb3y; + sz2 = a12 * vb1z + a22 * vb2z + a23 * vb3z; + + f1[0] = a11 * vb1x + a12 * vb2x + a13 * vb3x; + f1[1] = a11 * vb1y + a12 * vb2y + a13 * vb3y; + f1[2] = a11 * vb1z + a12 * vb2z + a13 * vb3z; + + f2[0] = -sx2 - f1[0]; + f2[1] = -sy2 - f1[1]; + f2[2] = -sz2 - f1[2]; + + f4[0] = a13 * vb1x + a23 * vb2x + a33 * vb3x; + f4[1] = a13 * vb1y + a23 * vb2y + a33 * vb3y; + f4[2] = a13 * vb1z + a23 * vb2z + a33 * vb3z; + + f3[0] = sx2 - f4[0]; + f3[1] = sy2 - f4[1]; + f3[2] = sz2 - f4[2]; + + // apply force to each of 4 atoms + + if (newton_bond || i1 < nlocal) { + f[i1][0] += f1[0]; + f[i1][1] += f1[1]; + f[i1][2] += f1[2]; + } + + if (newton_bond || i2 < nlocal) { + f[i2][0] += f2[0]; + f[i2][1] += f2[1]; + f[i2][2] += f2[2]; + } + + if (newton_bond || i3 < nlocal) { + f[i3][0] += f3[0]; + f[i3][1] += f3[1]; + f[i3][2] += f3[2]; + } + + if (newton_bond || i4 < nlocal) { + f[i4][0] += f4[0]; + f[i4][1] += f4[1]; + f[i4][2] += f4[2]; + } + + if (evflag) + ev_tally(i1, i2, i3, i4, nlocal, newton_bond, edihedral, f1, f3, f4, vb1x, vb1y, vb1z, vb2x, + vb2y, vb2z, vb3x, vb3y, vb3z); + } +} + +/* ---------------------------------------------------------------------- */ + +void DihedralCosineSquaredRestricted::allocate() +{ + allocated = 1; + const int np1 = atom->ndihedraltypes + 1; + + memory->create(k, np1, "dihedral:k"); + memory->create(phi0, np1, "dihedral:phi0"); + + memory->create(setflag, np1, "dihedral:setflag"); + for (int i = 1; i < np1; i++) setflag[i] = 0; +} + +/* ---------------------------------------------------------------------- + set coeffs for one type +------------------------------------------------------------------------- */ + +void DihedralCosineSquaredRestricted::coeff(int narg, char **arg) +{ + if (narg != 3) error->all(FLERR, "Incorrect args for dihedral coefficients"); + if (!allocated) allocate(); + + int ilo, ihi; + utils::bounds(FLERR, arg[0], 1, atom->ndihedraltypes, ilo, ihi, error); + + double k_one = utils::numeric(FLERR, arg[1], false, lmp); + double phi0_one = utils::numeric(FLERR, arg[2], false, lmp); + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + k[i] = k_one; + phi0[i] = DEG2RAD * phi0_one; + setflag[i] = 1; + count++; + } + + if (count == 0) error->all(FLERR, "Incorrect args for dihedral coefficients"); +} + +/* ---------------------------------------------------------------------- + proc 0 writes out coeffs to restart file +------------------------------------------------------------------------- */ + +void DihedralCosineSquaredRestricted::write_restart(FILE *fp) +{ + fwrite(&k[1], sizeof(double), atom->ndihedraltypes, fp); + fwrite(&phi0[1], sizeof(double), atom->ndihedraltypes, fp); +} + +/* ---------------------------------------------------------------------- + proc 0 reads coeffs from restart file, bcasts them +------------------------------------------------------------------------- */ + +void DihedralCosineSquaredRestricted::read_restart(FILE *fp) +{ + allocate(); + + if (comm->me == 0) { + utils::sfread(FLERR, &k[1], sizeof(double), atom->ndihedraltypes, fp, nullptr, error); + utils::sfread(FLERR, &phi0[1], sizeof(double), atom->ndihedraltypes, fp, nullptr, error); + } + MPI_Bcast(&k[1], atom->ndihedraltypes, MPI_DOUBLE, 0, world); + MPI_Bcast(&phi0[1], atom->ndihedraltypes, MPI_DOUBLE, 0, world); + + for (int i = 1; i <= atom->ndihedraltypes; i++) setflag[i] = 1; +} + +/* ---------------------------------------------------------------------- + proc 0 writes to data file +------------------------------------------------------------------------- */ + +void DihedralCosineSquaredRestricted::write_data(FILE *fp) +{ + for (int i = 1; i <= atom->ndihedraltypes; i++) + fprintf(fp, "%d %g %g\n", i, k[i], RAD2DEG * phi0[i]); +} + +/* ---------------------------------------------------------------------- */ + +void DihedralCosineSquaredRestricted::born_matrix(int nd, int i1, int i2, int i3, int i4, + double &du, double &du2) +{ + double vb1x, vb1y, vb1z, vb2x, vb2y, vb2z, vb3x, vb3y, vb3z, vb2xm, vb2ym, vb2zm; + double sb1, sb3, rb1, rb3, c0, b1mag2, b1mag, b2mag2; + double b2mag, b3mag2, b3mag, ctmp, r12c1, c1mag, r12c2; + double c2mag, sc1, sc2, s12, c; + double sin2; + + double **x = atom->x; + int **dihedrallist = neighbor->dihedrallist; + + int type = dihedrallist[nd][4]; + + // 1st bond + vb1x = x[i1][0] - x[i2][0]; + vb1y = x[i1][1] - x[i2][1]; + vb1z = x[i1][2] - x[i2][2]; + + // 2nd bond + vb2x = x[i3][0] - x[i2][0]; + vb2y = x[i3][1] - x[i2][1]; + vb2z = x[i3][2] - x[i2][2]; + + vb2xm = -vb2x; + vb2ym = -vb2y; + vb2zm = -vb2z; + + // 3rd bond + vb3x = x[i4][0] - x[i3][0]; + vb3y = x[i4][1] - x[i3][1]; + vb3z = x[i4][2] - x[i3][2]; + + // c0 calculation + sb1 = 1.0 / (vb1x * vb1x + vb1y * vb1y + vb1z * vb1z); + sb3 = 1.0 / (vb3x * vb3x + vb3y * vb3y + vb3z * vb3z); + + rb1 = sqrt(sb1); + rb3 = sqrt(sb3); + + c0 = (vb1x * vb3x + vb1y * vb3y + vb1z * vb3z) * rb1 * rb3; + + // 1st and 2nd angle + b1mag2 = vb1x * vb1x + vb1y * vb1y + vb1z * vb1z; + b1mag = sqrt(b1mag2); + b2mag2 = vb2x * vb2x + vb2y * vb2y + vb2z * vb2z; + b2mag = sqrt(b2mag2); + b3mag2 = vb3x * vb3x + vb3y * vb3y + vb3z * vb3z; + b3mag = sqrt(b3mag2); + + ctmp = vb1x * vb2x + vb1y * vb2y + vb1z * vb2z; + r12c1 = 1.0 / (b1mag * b2mag); + c1mag = ctmp * r12c1; + + ctmp = vb2xm * vb3x + vb2ym * vb3y + vb2zm * vb3z; + r12c2 = 1.0 / (b2mag * b3mag); + c2mag = ctmp * r12c2; + + // cos and sin of 2 angles and final c + sin2 = MAX(1.0 - c1mag * c1mag, 0.0); + sc1 = sqrt(sin2); + if (sc1 < SMALL) sc1 = SMALL; + sc1 = 1.0 / sc1; + + sin2 = MAX(1.0 - c2mag * c2mag, 0.0); + sc2 = sqrt(sin2); + if (sc2 < SMALL) sc2 = SMALL; + sc2 = 1.0 / sc2; + + s12 = sc1 * sc2; + c = (c0 + c1mag * c2mag) * s12; + + // error check + if (c > 1.0 + TOLERANCE || c < (-1.0 - TOLERANCE)) problem(FLERR, i1, i2, i3, i4); + + if (c > 1.0) c = 1.0; + if (c < -1.0) c = -1.0; + + double p0 = cos(phi0[type]); + double sq_sin = 1.0 - c * c; + + du = 2 * k[type] * (c - p0) * (1.0 - c * p0) / (sq_sin * sq_sin); + + double numerator = 2.0 * p0 * c * c * c - 3.0 * (p0 * p0 + 1) * c * c + 6 * p0 * c - p0 * p0 - 1 ; + double denominator = sq_sin * sq_sin * sq_sin; + + du2 = 2 * k[type] * numerator / denominator; +} diff --git a/src/EXTRA-MOLECULE/dihedral_cosine_squared_restricted.h b/src/EXTRA-MOLECULE/dihedral_cosine_squared_restricted.h new file mode 100644 index 0000000000..b9e2e1d9d8 --- /dev/null +++ b/src/EXTRA-MOLECULE/dihedral_cosine_squared_restricted.h @@ -0,0 +1,47 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef DIHEDRAL_CLASS +// clang-format off +DihedralStyle(cosine/squared/restricted,DihedralCosineSquaredRestricted); +// clang-format on +#else + +#ifndef LMP_DIHEDRAL_COSINE_SQUARED_RESTRICTED_H +#define LMP_DIHEDRAL_COSINE_SQUARED_RESTRICTED_H + +#include "dihedral.h" + +namespace LAMMPS_NS { + +class DihedralCosineSquaredRestricted : public Dihedral { + public: + DihedralCosineSquaredRestricted(class LAMMPS *); + ~DihedralCosineSquaredRestricted() override; + void compute(int, int) override; + void coeff(int, char **) override; + void write_restart(FILE *) override; + void read_restart(FILE *) override; + void write_data(FILE *) override; + void born_matrix(int, int, int, int, int, double &, double &) override; + + protected: + double *k, *phi0; + + void allocate(); +}; + +} // namespace LAMMPS_NS + +#endif +#endif From a9deb029e3177503f340ab5427d64ffdd7d2bd3f Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Fri, 29 Mar 2024 11:15:36 +0100 Subject: [PATCH 374/559] Add files via upload --- .../dihedral_cosine_squared_restricted.rst | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 doc/src/dihedral_cosine_squared_restricted.rst diff --git a/doc/src/dihedral_cosine_squared_restricted.rst b/doc/src/dihedral_cosine_squared_restricted.rst new file mode 100644 index 0000000000..d198f53623 --- /dev/null +++ b/doc/src/dihedral_cosine_squared_restricted.rst @@ -0,0 +1,69 @@ +.. index:: dihedral_style cosine/squared/restricted + +dihedral_style cosine/squared/restricted command +===================================== + + +Syntax +"""""" + +.. code-block:: LAMMPS + + dihedral_style cosine/squared/restricted + +Examples +"""""""" + +.. code-block:: LAMMPS + + dihedral_style cosine/squared/restricted + dihedral_coeff 1 10.0 120 + +Description +""""""""""" + +The *cosine/squared/restricted* dihedral style uses the potential + +.. math:: + + E = K [\cos(\phi) - \cos(\phi_0)]^2 / \sin^2(\phi) + +, which is commonly used in the MARTINI force field. + +See :ref:`(Bulacu) ` for a description of the restricted dihedral for the MARTINI force field. + +The following coefficients must be defined for each dihedral type via the +:doc:`dihedral_coeff ` command as in the example above, or in +the data file or restart files read by the :doc:`read_data ` +or :doc:`read_restart ` commands: + +* :math:`K` (energy) +* :math:`\phi_0` (degrees) + +:math:`\phi_0` is specified in degrees, but LAMMPS converts it to radians internally. + +---------- + +Restrictions +"""""""""""" + +This dihedral style can only be used if LAMMPS was built with the +EXTRA-MOLECULE package. See the :doc:`Build package ` doc page +for more info. + +Related commands +"""""""""""""""" + +:doc:`dihedral_coeff ` + +Default +""""""" + +none + +---------- + +.. _restricted-Bul: + +**(Bulacu)** Bulacu, Goga, Zhao, Rossi, Monticelli, Periole, Tieleman, Marrink, J Chem Theory Comput, 9, 3282-3292 +(2013). From b8fc8e5e631a847fd09c7925469ea6cb8aa7ea5d Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Fri, 29 Mar 2024 11:18:11 +0100 Subject: [PATCH 375/559] Update dihedral_style.rst --- doc/src/dihedral_style.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/src/dihedral_style.rst b/doc/src/dihedral_style.rst index 45dd66e750..56b8ff5226 100644 --- a/doc/src/dihedral_style.rst +++ b/doc/src/dihedral_style.rst @@ -10,7 +10,7 @@ Syntax dihedral_style style -* style = *none* or *zero* or *hybrid* or *charmm* or *charmmfsw* or *class2* or *cosine/shift/exp* or *fourier* or *harmonic* or *helix* or *lepton* or *multi/harmonic* or *nharmonic* or *opls* or *spherical* or *table* or *table/cut* +* style = *none* or *zero* or *hybrid* or *charmm* or *charmmfsw* or *class2* or *cosine/shift/exp* or *cosine/squared/restricted* or *fourier* or *harmonic* or *helix* or *lepton* or *multi/harmonic* or *nharmonic* or *opls* or *spherical* or *table* or *table/cut* Examples """""""" @@ -105,6 +105,7 @@ exist. * :doc:`charmmfsw ` - CHARMM dihedral with force switching * :doc:`class2 ` - COMPASS (class 2) dihedral * :doc:`cosine/shift/exp ` - dihedral with exponential in spring constant +* :doc:`cosine/squared/restricted ` - squared cosine dihedral with restricted term * :doc:`fourier ` - dihedral with multiple cosine terms * :doc:`harmonic ` - harmonic dihedral * :doc:`helix ` - helix dihedral From 9c85e5a99bb7369589a5d05c1e655074dd6697c5 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 29 Mar 2024 14:27:43 -0600 Subject: [PATCH 376/559] fix bug in option arg parsing of fix ave/correlate, also update doc page for fix ave/correlate/long --- doc/src/fix_ave_correlate.rst | 1 - doc/src/fix_ave_correlate_long.rst | 13 ++++++++----- src/fix_ave_correlate.cpp | 16 ++++++++-------- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/doc/src/fix_ave_correlate.rst b/doc/src/fix_ave_correlate.rst index 1aff749048..659e15105c 100644 --- a/doc/src/fix_ave_correlate.rst +++ b/doc/src/fix_ave_correlate.rst @@ -65,7 +65,6 @@ Examples fix 1 all ave/correlate 1 50 10000 & c_thermo_press[1] c_thermo_press[2] c_thermo_press[3] & type upper ave running title1 "My correlation data" - fix 1 all ave/correlate 1 50 10000 c_thermo_press[*] Description diff --git a/doc/src/fix_ave_correlate_long.rst b/doc/src/fix_ave_correlate_long.rst index e2b23248f2..003bdf897d 100644 --- a/doc/src/fix_ave_correlate_long.rst +++ b/doc/src/fix_ave_correlate_long.rst @@ -20,11 +20,11 @@ Syntax .. parsed-literal:: c_ID = global scalar calculated by a compute with ID - c_ID[I] = Ith component of global vector calculated by a compute with ID + c_ID[I] = Ith component of global vector calculated by a compute with ID, I can include wildcard (see below) f_ID = global scalar calculated by a fix with ID - f_ID[I] = Ith component of global vector calculated by a fix with ID + f_ID[I] = Ith component of global vector calculated by a fix with ID, I can include wildcard (see below) v_name = global value calculated by an equal-style variable with name - v_name[I] = Ith component of global vector calculated by a vector-style variable with name + v_name[I] = Ith component of a vector-style variable with name, I can include wildcard (see below) * zero or more keyword/arg pairs may be appended * keyword = *type* or *start* or *file* or *overwrite* or *title1* or *title2* or *ncorr* or *nlen* or *ncount* @@ -63,6 +63,7 @@ Examples fix 1 all ave/correlate/long 1 10000 & c_thermo_press[1] c_thermo_press[2] c_thermo_press[3] & type upper title1 "My correlation data" nlen 15 ncount 3 + fix 1 all ave/correlate/long 1 10000 c_thermo_press[*] Description """"""""""" @@ -80,8 +81,10 @@ specified values may represent calculations performed by computes and fixes which store their own "group" definitions. Each listed value can be the result of a compute or fix or the -evaluation of an equal-style variable. See the -:doc:`fix ave/correlate ` page for details. +evaluation of an equal-style or vector-style variable. For +vector-style variables, the specified indices can include a wildcard +character. See the :doc:`fix ave/correlate ` page +for details. The *Nevery* and *Nfreq* arguments specify on what time steps the input values will be used to calculate correlation data and the frequency diff --git a/src/fix_ave_correlate.cpp b/src/fix_ave_correlate.cpp index d506e17761..4b9e316b9d 100644 --- a/src/fix_ave_correlate.cpp +++ b/src/fix_ave_correlate.cpp @@ -97,7 +97,7 @@ FixAveCorrelate::FixAveCorrelate(LAMMPS *lmp, int narg, char **arg) : while (iarg < nargnew) { if (strcmp(arg[iarg],"type") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate type", error); + if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate type", error); if (strcmp(arg[iarg+1],"auto") == 0) type = AUTO; else if (strcmp(arg[iarg+1],"upper") == 0) type = UPPER; else if (strcmp(arg[iarg+1],"lower") == 0) type = LOWER; @@ -107,21 +107,21 @@ FixAveCorrelate::FixAveCorrelate(LAMMPS *lmp, int narg, char **arg) : else error->all(FLERR,"Unknown fix ave/correlate type: {}"); iarg += 2; } else if (strcmp(arg[iarg],"ave") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate ave", error); + if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate ave", error); if (strcmp(arg[iarg+1],"one") == 0) ave = ONE; else if (strcmp(arg[iarg+1],"running") == 0) ave = RUNNING; else error->all(FLERR,"Unknown fix ave/correlate ave mode: {}", arg[iarg+1]); iarg += 2; } else if (strcmp(arg[iarg],"start") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate start", error); + if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate start", error); startstep = utils::inumeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"prefactor") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate prefactor", error); + if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate prefactor", error); prefactor = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"file") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate file", error); + if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate file", error); if (comm->me == 0) { fp = fopen(arg[iarg+1],"w"); if (fp == nullptr) @@ -133,17 +133,17 @@ FixAveCorrelate::FixAveCorrelate(LAMMPS *lmp, int narg, char **arg) : overwrite = 1; iarg += 1; } else if (strcmp(arg[iarg],"title1") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate title1", error); + if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate title1", error); delete[] title1; title1 = utils::strdup(arg[iarg+1]); iarg += 2; } else if (strcmp(arg[iarg],"title2") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate title2", error); + if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate title2", error); delete[] title2; title2 = utils::strdup(arg[iarg+1]); iarg += 2; } else if (strcmp(arg[iarg],"title3") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate title3", error); + if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate title3", error); delete[] title3; title3 = utils::strdup(arg[iarg+1]); iarg += 2; From 7137290682e4fc7253c4a0a1b4bfb41a3449fabd Mon Sep 17 00:00:00 2001 From: Tim Bernhard Date: Fri, 29 Mar 2024 21:52:57 +0100 Subject: [PATCH 377/559] Follow requested changes to patch --- src/variable.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/variable.cpp b/src/variable.cpp index 2bde0e5adb..c1cf978028 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -1660,14 +1660,16 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) if (!compute->is_initialized()) print_var_error(FLERR,"Variable formula compute cannot be invoked before " "initialization by a run",ivar); + if (index1 > compute->size_array_cols) + print_var_error(FLERR,"Variable formula compute array is accessed out-of-range",ivar,0); if (!(compute->invoked_flag & Compute::INVOKED_ARRAY)) { compute->compute_array(); compute->invoked_flag |= Compute::INVOKED_ARRAY; } + // wait until after compute invocation to check size_array_rows + // b/c may be zero until after initial invocation if (compute->size_array_rows == 0) print_var_error(FLERR,"Variable formula compute array is zero length",ivar); - if (index1 > compute->size_array_cols) - print_var_error(FLERR,"Variable formula compute array is accessed out-of-range",ivar,0); auto newtree = new Tree(); newtree->type = VECTORARRAY; From 30f330718af1856bc01cfd23163fe08a1961677d Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 29 Mar 2024 16:53:18 -0600 Subject: [PATCH 378/559] more consistent error checks on variable length global vecs and arrays --- src/fix_ave_correlate.cpp | 2 +- src/fix_ave_time.cpp | 2 +- src/thermo.cpp | 20 +++++++-------- src/variable.cpp | 51 ++++++++++++++++++++++----------------- 4 files changed, 41 insertions(+), 34 deletions(-) diff --git a/src/fix_ave_correlate.cpp b/src/fix_ave_correlate.cpp index d506e17761..50ea6a5614 100644 --- a/src/fix_ave_correlate.cpp +++ b/src/fix_ave_correlate.cpp @@ -121,7 +121,7 @@ FixAveCorrelate::FixAveCorrelate(LAMMPS *lmp, int narg, char **arg) : prefactor = utils::numeric(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"file") == 0) { - if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix ave/correlate file", error); + if (iarg+2 > nargnew) utils::missing_cmd_args(FLERR, "fix ave/correlate file", error); if (comm->me == 0) { fp = fopen(arg[iarg+1],"w"); if (fp == nullptr) diff --git a/src/fix_ave_time.cpp b/src/fix_ave_time.cpp index 5219a4de3d..c88d8e1659 100644 --- a/src/fix_ave_time.cpp +++ b/src/fix_ave_time.cpp @@ -178,7 +178,7 @@ FixAveTime::FixAveTime(LAMMPS *lmp, int narg, char **arg) : if (val.argindex && (val.val.f->array_flag == 0)) error->all(FLERR,"Fix ave/time fix {} does not calculate an array", val.id); if (val.argindex && (val.val.f->size_array_rows_variable)) - error->all(FLERR,"Fix ave/time fix {} array cannot be variable length", val.id); + error->all(FLERR,"Fix ave/time fix {} array cannot have variable row length", val.id); if (val.argindex && (val.argindex > val.val.f->size_array_cols)) error->all(FLERR,"Fix ave/time fix {} array is accessed out-of-range", val.id); if (nevery % val.val.f->global_freq) diff --git a/src/thermo.cpp b/src/thermo.cpp index efc5f984fc..dbb8b2530e 100644 --- a/src/thermo.cpp +++ b/src/thermo.cpp @@ -1490,9 +1490,8 @@ void Thermo::compute_compute() if (normflag && compute->extscalar) dvalue /= natoms; } else if (compute_which[m] == VECTOR) { if (compute->size_vector_variable && argindex1[ifield] > compute->size_vector) - dvalue = 0.0; - else - dvalue = compute->vector[argindex1[ifield] - 1]; + error->all(FLERR, "Thermo compute vector is accessed out-of-range"); + dvalue = compute->vector[argindex1[ifield] - 1]; if (normflag) { if (compute->extvector == 0) return; @@ -1503,9 +1502,8 @@ void Thermo::compute_compute() } } else { if (compute->size_array_rows_variable && argindex1[ifield] > compute->size_array_rows) - dvalue = 0.0; - else - dvalue = compute->array[argindex1[ifield] - 1][argindex2[ifield] - 1]; + error->all(FLERR, "Thermo compute array is accessed out-of-range"); + dvalue = compute->array[argindex1[ifield] - 1][argindex2[ifield] - 1]; if (normflag && compute->extarray) dvalue /= natoms; } } @@ -1521,6 +1519,8 @@ void Thermo::compute_fix() dvalue = fix->compute_scalar(); if (normflag && fix->extscalar) dvalue /= natoms; } else if (argindex2[ifield] == 0) { + if (fix->size_vector_variable && argindex1[ifield] > fix->size_vector) + error->all(FLERR, "Thermo fix vector is accessed out-of-range"); dvalue = fix->compute_vector(argindex1[ifield] - 1); if (normflag) { if (fix->extvector == 0) @@ -1531,6 +1531,8 @@ void Thermo::compute_fix() dvalue /= natoms; } } else { + if (fix->size_array_rows_variable && argindex1[ifield] > fix->size_array_rows) + error->all(FLERR, "Thermo fix array is accessed out-of-range"); dvalue = fix->compute_array(argindex1[ifield] - 1, argindex2[ifield] - 1); if (normflag && fix->extarray) dvalue /= natoms; } @@ -1547,10 +1549,8 @@ void Thermo::compute_variable() else { double *varvec; int nvec = input->variable->compute_vector(variables[field2index[ifield]], &varvec); - if (nvec < iarg) - dvalue = 0.0; - else - dvalue = varvec[iarg - 1]; + if (iarg > nvec) error->all(FLERR, "Thermo vector-style variable is accessed out-of-range"); + dvalue = varvec[iarg - 1]; } } diff --git a/src/variable.cpp b/src/variable.cpp index 8124d9c4a1..a6a194779c 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -1225,7 +1225,6 @@ int Variable::compute_vector(int ivar, double **result) int nlen = size_tree_vector(tree); if (nlen == 0) print_var_error(FLERR,"Vector-style variable has zero length",ivar); - if (nlen < 0) print_var_error(FLERR,"Inconsistent lengths in vector-style variable",ivar); @@ -1535,9 +1534,6 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) if (!compute->vector_flag) print_var_error(FLERR,"Mismatched compute in variable formula",ivar); - if (index1 > compute->size_vector && - compute->size_vector_variable == 0) - print_var_error(FLERR,"Variable formula compute vector is accessed out-of-range",ivar,0); if (!compute->is_initialized()) print_var_error(FLERR,"Variable formula compute cannot be invoked before " "initialization by a run",ivar); @@ -1546,10 +1542,14 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) compute->invoked_flag |= Compute::INVOKED_VECTOR; } - if (compute->size_vector_variable && - index1 > compute->size_vector) value1 = 0.0; - else value1 = compute->vector[index1-1]; - argstack[nargstack++] = value1; + // wait to check index1 until after compute invocation + // to allow for computes with size_vector_variable == 1 + + if (index1 > compute->size_vector) + print_var_error(FLERR,"Variable formula compute vector is accessed out-of-range",ivar,0); + + value1 = compute->vector[index1-1]; + argstack[nargstack++] = value1; // c_ID[i][j] = scalar from global array @@ -1557,9 +1557,6 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) if (!compute->array_flag) print_var_error(FLERR,"Mismatched compute in variable formula",ivar); - if (index1 > compute->size_array_rows && - compute->size_array_rows_variable == 0) - print_var_error(FLERR,"Variable formula compute array is accessed out-of-range",ivar,0); if (index2 > compute->size_array_cols) print_var_error(FLERR,"Variable formula compute array is accessed out-of-range",ivar,0); if (!compute->is_initialized()) @@ -1570,9 +1567,13 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) compute->invoked_flag |= Compute::INVOKED_ARRAY; } - if (compute->size_array_rows_variable && - index1 > compute->size_array_rows) value1 = 0.0; - else value1 = compute->array[index1-1][index2-1]; + // wait to check index1 until after compute invocation + // to allow for computes with size_array_rows_variable == 1 + + if (index1 > compute->size_array_rows) + print_var_error(FLERR,"Variable formula compute array is accessed out-of-range",ivar,0); + + value1 = compute->array[index1-1][index2-1]; argstack[nargstack++] = value1; // C_ID[i] = scalar element of per-atom vector, note uppercase "C" @@ -1634,8 +1635,6 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) if (!compute->vector_flag) print_var_error(FLERR,"Mismatched compute in variable formula",ivar); - if (compute->size_vector == 0) - print_var_error(FLERR,"Variable formula compute vector is zero length",ivar); if (!compute->is_initialized()) print_var_error(FLERR,"Variable formula compute cannot be invoked before " "initialization by a run",ivar); @@ -1644,6 +1643,12 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) compute->invoked_flag |= Compute::INVOKED_VECTOR; } + // wait to check vector size until after compute invocation + // to allow for computes with size_vector_variable == 1 + + if (compute->size_vector == 0) + print_var_error(FLERR,"Variable formula compute vector is zero length",ivar); + auto newtree = new Tree(); newtree->type = VECTORARRAY; newtree->array = compute->vector; @@ -1657,8 +1662,6 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) if (!compute->array_flag) print_var_error(FLERR,"Mismatched compute in variable formula",ivar); - if (compute->size_array_rows == 0) - print_var_error(FLERR,"Variable formula compute array is zero length",ivar); if (index1 > compute->size_array_cols) print_var_error(FLERR,"Variable formula compute array is accessed out-of-range",ivar,0); if (!compute->is_initialized()) @@ -1669,6 +1672,12 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) compute->invoked_flag |= Compute::INVOKED_ARRAY; } + // wait to check row count until after compute invocation + // to allow for computes with size_array_rows_variable == 1 + + if (compute->size_array_rows == 0) + print_var_error(FLERR,"Variable formula compute array has zero rows",ivar); + auto newtree = new Tree(); newtree->type = VECTORARRAY; newtree->array = &compute->array[0][index1-1]; @@ -1798,8 +1807,7 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) if (!fix->vector_flag) print_var_error(FLERR,"Mismatched fix in variable formula",ivar); - if (index1 > fix->size_vector && - fix->size_vector_variable == 0) + if (index1 > fix->size_vector) print_var_error(FLERR,"Variable formula fix vector is accessed out-of-range",ivar,0); if (update->whichflag > 0 && update->ntimestep % fix->global_freq) print_var_error(FLERR,"Fix in variable not computed at a compatible time",ivar); @@ -1813,8 +1821,7 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) if (!fix->array_flag) print_var_error(FLERR,"Mismatched fix in variable formula",ivar); - if (index1 > fix->size_array_rows && - fix->size_array_rows_variable == 0) + if (index1 > fix->size_array_rows) print_var_error(FLERR,"Variable formula fix array is accessed out-of-range",ivar,0); if (index2 > fix->size_array_cols) print_var_error(FLERR,"Variable formula fix array is accessed out-of-range",ivar,0); From b712e464979c8f5474c9f46b8d8df33eb92aadea Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 29 Mar 2024 21:00:51 -0400 Subject: [PATCH 379/559] doc fixes --- doc/src/Commands_bond.rst | 2 ++ doc/src/angle_cosine_squared_restricted.rst | 2 +- doc/src/dihedral_cosine_squared_restricted.rst | 2 +- doc/utils/sphinx-config/false_positives.txt | 6 ++++++ 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/doc/src/Commands_bond.rst b/doc/src/Commands_bond.rst index ef36b6b7c4..a295d8e2c1 100644 --- a/doc/src/Commands_bond.rst +++ b/doc/src/Commands_bond.rst @@ -89,6 +89,7 @@ OPT. * :doc:`cosine/shift (o) ` * :doc:`cosine/shift/exp (o) ` * :doc:`cosine/squared (o) ` + * :doc:`cosine/squared/restricted ` * :doc:`cross ` * :doc:`dipole (o) ` * :doc:`fourier (o) ` @@ -127,6 +128,7 @@ OPT. * :doc:`charmmfsw (k) ` * :doc:`class2 (ko) ` * :doc:`cosine/shift/exp (o) ` + * :doc:`cosine/squared/restricted ` * :doc:`fourier (io) ` * :doc:`harmonic (iko) ` * :doc:`helix (o) ` diff --git a/doc/src/angle_cosine_squared_restricted.rst b/doc/src/angle_cosine_squared_restricted.rst index ea2d403f08..63f323b806 100644 --- a/doc/src/angle_cosine_squared_restricted.rst +++ b/doc/src/angle_cosine_squared_restricted.rst @@ -1,7 +1,7 @@ .. index:: angle_style cosine/squared/restricted angle_style cosine/squared/restricted command -================================== +============================================= Syntax """""" diff --git a/doc/src/dihedral_cosine_squared_restricted.rst b/doc/src/dihedral_cosine_squared_restricted.rst index d198f53623..593ef44fc9 100644 --- a/doc/src/dihedral_cosine_squared_restricted.rst +++ b/doc/src/dihedral_cosine_squared_restricted.rst @@ -1,7 +1,7 @@ .. index:: dihedral_style cosine/squared/restricted dihedral_style cosine/squared/restricted command -===================================== +================================================ Syntax diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 04ea69575a..980fe581e8 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -380,6 +380,7 @@ btype buckPlusAttr buf builtin +Bulacu Bulatov Bureekaew burlywood @@ -1302,6 +1303,7 @@ gmres gname gneb GNEB +Goga Goldfarb Gompper Gonzalez-Melchor @@ -2259,6 +2261,7 @@ Montalenti Monterey Montero Monti +Monticelli Mora Morefoo Morfill @@ -2785,6 +2788,7 @@ peridynamic Peridynamic peridynamics Peridynamics +Periole perl permittivity perp @@ -3200,6 +3204,7 @@ Ronevich Rosati Rosato Rosenberger +Rossi Rossky rosybrown rotationally @@ -3643,6 +3648,7 @@ thrid ThunderX thylakoid THz +Tieleman Tigran Tij Tildesley From 66a1e0103f523d0b40f71e65e765799856f800c4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 29 Mar 2024 21:00:59 -0400 Subject: [PATCH 380/559] gitignore --- src/.gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/.gitignore b/src/.gitignore index 88bb80fdc5..6e9fd14b3f 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -463,6 +463,8 @@ /angle_cosine_shift_exp.h /angle_cosine_squared.cpp /angle_cosine_squared.h +/angle_cosine_squared_restricted.cpp +/angle_cosine_squared_restricted.h /angle_cross.cpp /angle_cross.h /angle_dipole.cpp @@ -681,6 +683,8 @@ /dihedral_class2.h /dihedral_cosine_shift_exp.cpp /dihedral_cosine_shift_exp.h +/dihedral_cosine_squared_restricted.cpp +/dihedral_cosine_squared_restricted.h /dihedral_fourier.cpp /dihedral_fourier.h /dihedral_harmonic.cpp From 428e22666d956052f5d63da676f4bcfed9a2606d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 29 Mar 2024 21:12:26 -0400 Subject: [PATCH 381/559] add unit test inputs for new styles --- .../angle-cosine_squared_restricted.yaml | 88 +++++++++++++++++++ .../dihedral-cosine_squared_restricted.yaml | 88 +++++++++++++++++++ 2 files changed, 176 insertions(+) create mode 100644 unittest/force-styles/tests/angle-cosine_squared_restricted.yaml create mode 100644 unittest/force-styles/tests/dihedral-cosine_squared_restricted.yaml diff --git a/unittest/force-styles/tests/angle-cosine_squared_restricted.yaml b/unittest/force-styles/tests/angle-cosine_squared_restricted.yaml new file mode 100644 index 0000000000..400babb3c0 --- /dev/null +++ b/unittest/force-styles/tests/angle-cosine_squared_restricted.yaml @@ -0,0 +1,88 @@ +--- +lammps_version: 7 Feb 2024 +tags: +date_generated: Fri Mar 29 21:14:05 2024 +epsilon: 2.5e-13 +skip_tests: +prerequisites: ! | + atom full + angle cosine/squared/restricted +pre_commands: ! "" +post_commands: ! "" +input_file: in.fourmol +angle_style: cosine/squared/restricted +angle_coeff: ! | + 1 75.0 110.1 + 2 45.0 111.0 + 3 50.0 120.0 + 4 100.0 108.5 +equilibrium: 4 1.9216075064457567 1.9373154697137058 2.0943951023931953 1.8936822384138476 +extract: ! "" +natoms: 29 +init_energy: 43.16721849625078 +init_stress: ! |2- + 9.1896481583329006e+01 -9.9073798939810871e+01 7.1773173564818959e+00 1.0147556441011812e+02 -3.1614702670042060e+01 6.3320341995277474e-01 +init_forces: ! |2 + 1 5.4616646260609812e+01 6.4912761997628223e+00 -3.3960574186374622e+01 + 2 -1.1520735029225428e+00 -9.3280585589864415e+00 -7.5009000871307308e+00 + 3 -1.3676356546913162e+01 4.9291191335900074e+01 5.1495824934074705e+01 + 4 -1.7548953236977070e+01 -2.4649435647138144e+01 1.4994156277002995e+01 + 5 -4.7191706109161828e+01 -4.7108395361010651e+01 -2.3419810899443089e+01 + 6 5.4456046768792298e+01 -1.0628221895648938e+01 -4.4205117451573471e+01 + 7 -1.5479402058953555e+01 1.3800535101019676e+01 -3.3710945974014352e+00 + 8 -4.5010195114618039e+00 -1.9041823240486167e+01 1.0790072547105123e+02 + 9 -1.5817751557854660e+01 1.6558437937477478e+01 -4.5571617839569933e-01 + 10 4.9597370008417769e+00 4.0344934206635401e+01 -7.9652184287503914e+01 + 11 -1.9904147169399383e+01 -5.8247456312686090e+00 8.4471337004560691e+00 + 12 -1.0750141644440905e+01 -1.0959289684407434e+01 -9.7375245407417310e+00 + 13 3.0110873732763217e+00 7.6125328583508187e+00 -1.8728278765280493e-02 + 14 1.4804534890961024e+01 -9.4162987076082505e+00 -6.4475703726793121e+00 + 15 1.2405121083152171e+01 -6.1967835746148943e+00 1.8294821492807777e+01 + 16 3.1352949560138343e-01 1.1035513814862394e+01 6.5673781465816949e+00 + 17 1.4548484648501341e+00 -1.9813691528391315e+00 1.0691808580347990e+00 + 18 1.5557496930974857e-01 1.6257536594477804e+00 -6.5978344782819773e+00 + 19 -1.9049016835509454e+00 -2.3731208324249899e+00 2.8255706424396045e+00 + 20 1.7493267142411968e+00 7.4736717297720956e-01 3.7722638358423728e+00 + 21 3.3279741492378183e+00 4.1660737555188891e+00 -1.2450454543863602e+01 + 22 -5.9261551336076748e+00 -4.0404494135493199e+00 4.4014087371258892e+00 + 23 2.5981809843698564e+00 -1.2562434196956951e-01 8.0490458067377126e+00 + 24 -1.2888190495929852e+00 5.0097160214605641e+00 -2.9825927599219058e+00 + 25 -1.0338174598680057e+00 -3.4636797875161851e+00 5.6646346770669309e-01 + 26 2.3226365094609909e+00 -1.5460362339443785e+00 2.4161292922152127e+00 + 27 -2.8563709770508883e-01 2.3448568102582543e+00 -7.9873605851552354e-01 + 28 -6.2456251656312733e-01 -1.4020243449848773e+00 3.2568906896433880e-02 + 29 9.1019961426821616e-01 -9.4283246527337705e-01 7.6616715161908966e-01 +run_energy: 42.9022488368839 +run_stress: ! |2- + 9.0388148558231080e+01 -9.8306784914711429e+01 7.9186363564803592e+00 9.9981546403593825e+01 -3.2129110268269365e+01 -3.6431126570529515e-01 +run_forces: ! |2 + 1 5.3981820216746733e+01 6.9247252423091306e+00 -3.3185401895138106e+01 + 2 -1.1944338217682868e+00 -9.7346413974706021e+00 -7.8615437717021557e+00 + 3 -1.2688555593426315e+01 4.8769286528132106e+01 5.0839055814558762e+01 + 4 -1.7617326624105857e+01 -2.4269207832769677e+01 1.5260301967540304e+01 + 5 -4.7323547490196731e+01 -4.6894886975434055e+01 -2.3440133100826486e+01 + 6 5.4382423772065998e+01 -1.0696866841386006e+01 -4.4201170087829055e+01 + 7 -1.5492082837122805e+01 1.3818527237625043e+01 -3.3812483934830673e+00 + 8 -4.4634623862144078e+00 -1.9093779476665727e+01 1.0771575923879119e+02 + 9 -1.5843321387394678e+01 1.6589965876806524e+01 -4.4411228983080475e-01 + 10 5.0768945646127097e+00 4.0040817044035947e+01 -7.9450255761393905e+01 + 11 -1.9901406164815324e+01 -5.7840333581333585e+00 8.4316140350776880e+00 + 12 -1.0895919045638994e+01 -1.1165043741641941e+01 -9.2828865105939240e+00 + 13 2.9272358235905029e+00 7.4354786772387680e+00 1.0142661372278194e-01 + 14 1.4792360939950459e+01 -8.9353318022993182e+00 -6.3910772582380133e+00 + 15 1.2418288954456656e+01 -6.0153396231171570e+00 1.7743757855168997e+01 + 16 4.0781740822800217e-01 1.0963878023768416e+01 6.4917802461985135e+00 + 17 1.4332136710323162e+00 -1.9535475809980913e+00 1.0541332979772831e+00 + 18 1.4023773325248556e-01 1.4086440965467837e+00 -5.6940807148906991e+00 + 19 -1.6400859684012328e+00 -2.0475288381692676e+00 2.4445067235235367e+00 + 20 1.4998482351487472e+00 6.3888474162248376e-01 3.2495739913671629e+00 + 21 3.1432629198624089e+00 3.9072243542777101e+00 -1.1745189375890282e+01 + 22 -5.5777858442915553e+00 -3.7895069817029867e+00 4.1606823590513633e+00 + 23 2.4345229244291464e+00 -1.1771737257472337e-01 7.5845070168389190e+00 + 24 -1.1529613091971900e+00 4.4757566436680412e+00 -2.6619956178204864e+00 + 25 -9.1659948782954015e-01 -3.0936731063721679e+00 5.0626909884369264e-01 + 26 2.0695607970267300e+00 -1.3820835372958733e+00 2.1557265189767940e+00 + 27 -2.6669219302298908e-01 2.1720439184593126e+00 -7.3558544897318312e-01 + 28 -5.7634641435086742e-01 -1.2987031699370619e+00 2.8222187310339070e-02 + 29 8.4303860737385650e-01 -8.7334074852225052e-01 7.0736326166284402e-01 +... diff --git a/unittest/force-styles/tests/dihedral-cosine_squared_restricted.yaml b/unittest/force-styles/tests/dihedral-cosine_squared_restricted.yaml new file mode 100644 index 0000000000..4450b91a7f --- /dev/null +++ b/unittest/force-styles/tests/dihedral-cosine_squared_restricted.yaml @@ -0,0 +1,88 @@ +--- +lammps_version: 7 Feb 2024 +tags: +date_generated: Fri Mar 29 21:14:05 2024 +epsilon: 2.5e-13 +skip_tests: +prerequisites: ! | + atom full + dihedral cosine/squared/restricted +pre_commands: ! "" +post_commands: ! "" +input_file: in.fourmol +dihedral_style: cosine/squared/restricted +dihedral_coeff: ! | + 1 75.0 10.0 + 2 45.0 20.0 + 3 56.0 -10.0 + 4 23.0 0.0 + 5 19.0 45.0 +extract: ! "" +natoms: 29 +init_energy: 36908.1610048714 +init_stress: ! |2- + 3.0101299222939801e+04 2.1677721070458752e+04 -5.1779020293403941e+04 3.8640823999452041e+04 6.0769473276751414e+03 -3.0541276950765048e+04 +init_forces: ! |2 + 1 -1.1212609332116830e+04 5.8417219112185267e+03 -5.6192452564667483e+03 + 2 8.7664785439715488e+03 -4.5269136249203239e+03 4.2831776676246027e+03 + 3 -3.1676761123164871e+05 -3.3324763139557187e+05 5.1966933831591945e+04 + 4 -1.3258131777796493e+03 -2.0415412803073025e+03 1.0619604263923513e+03 + 5 8.0416561194770056e+03 -3.7466790106956332e+03 4.4731034711226590e+02 + 6 1.6253834743179622e+05 2.0639850448880228e+05 8.9008421987725196e+03 + 7 2.1705408957524793e+04 2.3288690259695482e+04 -3.8198165733818960e+03 + 8 5.6962075388172222e+05 5.4884478640765324e+05 -1.7410488593890279e+05 + 9 2.5533848878564138e+04 2.0797945295347614e+04 -1.0831809793796205e+04 + 10 -4.5643208925098256e+05 -4.5220600890026835e+05 1.2461759811417361e+05 + 11 -5.2901972083976025e+03 -4.8878948635053903e+03 4.2805657718054845e+03 + 12 -2.5646356571523995e+02 -7.1440402004811165e+02 -1.4173235490202960e+03 + 13 3.1148719518915806e+02 7.1600086633644457e+02 1.5027689115194278e+03 + 14 1.4809443789874109e+02 -2.0607703730200043e+02 -7.3276042950575359e+01 + 15 -2.1827758512032665e+02 7.3897975275623097e+01 -2.2330682264235097e+02 + 16 -4.5254804800865022e+03 -3.8608646599494418e+03 -8.6880143170330052e+02 + 17 -6.3753361429633537e+02 -5.2353241176074425e+02 -1.0269186012798902e+02 + 18 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 19 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 21 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 22 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 23 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 24 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 25 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 26 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 27 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 28 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 29 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +run_energy: 4327.91957872511 +run_stress: ! |- + -5.3070892468897193e+02 -3.2990024770566679e+03 3.8297114017456433e+03 5.6409783421502584e+02 2.2818743476836330e+03 -1.0940810091156741e+03 +run_forces: ! |2 + 1 9.1894345132691114e+02 -5.8573176040200462e+02 2.4547749834010583e+03 + 2 1.0181826146463668e+03 -4.4295285156870364e+02 8.6156680112553761e+02 + 3 -6.0812395844290577e+03 -9.1671507580715263e+02 -6.0174500247421875e+03 + 4 -3.6418329789903126e+01 -1.9362412741445829e+02 -7.9934231729582947e+01 + 5 1.9051807035665288e+03 1.0891079663826604e+03 1.7905928860020566e+01 + 6 7.9170894129839517e+00 -6.1816892217216935e+02 1.7583307674944345e+02 + 7 8.2602147982255497e+02 1.2880291235001744e+03 7.2096838226042007e+02 + 8 1.4831568342537450e+03 4.0004165399809216e+02 2.2150881389226515e+03 + 9 3.7235052356592647e+01 3.1705993574779953e+01 -1.1046703673189224e+02 + 10 3.2047769341358514e+02 -1.9042327559422961e+03 3.8393166201836812e+03 + 11 -3.0429869852577349e+02 2.0359489212056499e+01 4.7590301671199785e+02 + 12 6.1606659483937460e+02 -7.4272077248650530e+03 1.7480991816747170e+04 + 13 7.8491729932141965e+00 2.5682494680276477e+01 -8.8701786408774041e+01 + 14 1.4235273131080635e+02 -1.5818901144321154e+02 1.5958096579399026e+01 + 15 -3.2385071321515306e+02 7.7005431686947522e+03 -1.9149569143849869e+04 + 16 -5.4231654863974131e+02 1.6951379558799342e+03 -2.8187238769902415e+03 + 17 4.7404566569654607e+00 -3.7856163076774791e+00 6.5392389111684714e+00 + 18 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 19 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 21 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 22 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 23 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 24 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 25 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 26 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 27 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 28 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 + 29 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +... From d73aec6c214e7ac649a241f5284493830ce1a0cc Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 29 Mar 2024 21:31:40 -0400 Subject: [PATCH 382/559] add OpenMP version of angle style cosine/squared/restricted --- doc/src/Commands_bond.rst | 2 +- doc/src/angle_cosine_squared_restricted.rst | 7 + .../angle_cosine_squared_restricted.cpp | 8 +- .../angle_cosine_squared_restricted_omp.cpp | 170 ++++++++++++++++++ .../angle_cosine_squared_restricted_omp.h | 46 +++++ 5 files changed, 228 insertions(+), 5 deletions(-) create mode 100644 src/OPENMP/angle_cosine_squared_restricted_omp.cpp create mode 100644 src/OPENMP/angle_cosine_squared_restricted_omp.h diff --git a/doc/src/Commands_bond.rst b/doc/src/Commands_bond.rst index a295d8e2c1..0c389df399 100644 --- a/doc/src/Commands_bond.rst +++ b/doc/src/Commands_bond.rst @@ -89,7 +89,7 @@ OPT. * :doc:`cosine/shift (o) ` * :doc:`cosine/shift/exp (o) ` * :doc:`cosine/squared (o) ` - * :doc:`cosine/squared/restricted ` + * :doc:`cosine/squared/restricted (o) ` * :doc:`cross ` * :doc:`dipole (o) ` * :doc:`fourier (o) ` diff --git a/doc/src/angle_cosine_squared_restricted.rst b/doc/src/angle_cosine_squared_restricted.rst index 63f323b806..5417a3b050 100644 --- a/doc/src/angle_cosine_squared_restricted.rst +++ b/doc/src/angle_cosine_squared_restricted.rst @@ -1,8 +1,11 @@ .. index:: angle_style cosine/squared/restricted +.. index:: angle_style cosine/squared/restricted/omp angle_style cosine/squared/restricted command ============================================= +Accelerator Variants: *cosine/squared/restricted/omp* + Syntax """""" @@ -46,6 +49,10 @@ internally. ---------- +.. include:: accel_styles.rst + +---------- + Restrictions """""""""""" diff --git a/src/EXTRA-MOLECULE/angle_cosine_squared_restricted.cpp b/src/EXTRA-MOLECULE/angle_cosine_squared_restricted.cpp index f3844ec3a0..2da31ef893 100644 --- a/src/EXTRA-MOLECULE/angle_cosine_squared_restricted.cpp +++ b/src/EXTRA-MOLECULE/angle_cosine_squared_restricted.cpp @@ -55,8 +55,7 @@ void AngleCosineSquaredRestricted::compute(int eflag, int vflag) int i1, i2, i3, n, type; double delx1, dely1, delz1, delx2, dely2, delz2; double eangle, f1[3], f3[3]; - double dcostheta, tk; - double rsq1, rsq2, r1, r2, c, a, a11, a12, a22; + double tk, rsq1, rsq2, r1, r2, c, a, a11, a12, a22; eangle = 0.0; ev_init(eflag, vflag); @@ -265,7 +264,8 @@ double AngleCosineSquaredRestricted::single(int type, int i1, int i2, int i3) /* ---------------------------------------------------------------------- */ -void AngleCosineSquaredRestricted::born_matrix(int type, int i1, int i2, int i3, double &du, double &du2) +void AngleCosineSquaredRestricted::born_matrix(int type, int i1, int i2, int i3, double &du, + double &du2) { double **x = atom->x; @@ -291,7 +291,7 @@ void AngleCosineSquaredRestricted::born_matrix(int type, int i1, int i2, int i3, du = 2 * k[type] * (c - c0) * (1.0 - c * c0) / (sq_sin * sq_sin); - double numerator = 2.0 * c0 * c * c * c - 3.0 * (c0 * c0 + 1) * c * c + 6 * c0 * c - c0 * c0 - 1 ; + double numerator = 2.0 * c0 * c * c * c - 3.0 * (c0 * c0 + 1) * c * c + 6 * c0 * c - c0 * c0 - 1; double denominator = sq_sin * sq_sin * sq_sin; du2 = 2 * k[type] * numerator / denominator; diff --git a/src/OPENMP/angle_cosine_squared_restricted_omp.cpp b/src/OPENMP/angle_cosine_squared_restricted_omp.cpp new file mode 100644 index 0000000000..80960653b4 --- /dev/null +++ b/src/OPENMP/angle_cosine_squared_restricted_omp.cpp @@ -0,0 +1,170 @@ +// clang-format off +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Axel Kohlmeyer (Temple U) +------------------------------------------------------------------------- */ + +#include "angle_cosine_squared_restricted_omp.h" + +#include "atom.h" +#include "comm.h" +#include "force.h" +#include "neighbor.h" + +#include + +#include "omp_compat.h" +#include "suffix.h" +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +AngleCosineSquaredRestrictedOMP::AngleCosineSquaredRestrictedOMP(class LAMMPS *lmp) + : AngleCosineSquaredRestricted(lmp), ThrOMP(lmp,THR_ANGLE) +{ + suffix_flag |= Suffix::OMP; +} + +/* ---------------------------------------------------------------------- */ + +void AngleCosineSquaredRestrictedOMP::compute(int eflag, int vflag) +{ + ev_init(eflag,vflag); + + const int nall = atom->nlocal + atom->nghost; + const int nthreads = comm->nthreads; + const int inum = neighbor->nanglelist; + +#if defined(_OPENMP) +#pragma omp parallel LMP_DEFAULT_NONE LMP_SHARED(eflag,vflag) +#endif + { + int ifrom, ito, tid; + + loop_setup_thr(ifrom, ito, tid, inum, nthreads); + ThrData *thr = fix->get_thr(tid); + thr->timer(Timer::START); + ev_setup_thr(eflag, vflag, nall, eatom, vatom, cvatom, thr); + + if (inum > 0) { + if (evflag) { + if (eflag) { + if (force->newton_bond) eval<1,1,1>(ifrom, ito, thr); + else eval<1,1,0>(ifrom, ito, thr); + } else { + if (force->newton_bond) eval<1,0,1>(ifrom, ito, thr); + else eval<1,0,0>(ifrom, ito, thr); + } + } else { + if (force->newton_bond) eval<0,0,1>(ifrom, ito, thr); + else eval<0,0,0>(ifrom, ito, thr); + } + } + thr->timer(Timer::BOND); + reduce_thr(this, eflag, vflag, thr); + } // end of omp parallel region +} + +template +void AngleCosineSquaredRestrictedOMP::eval(int nfrom, int nto, ThrData * const thr) +{ + int i1,i2,i3,n,type; + double delx1,dely1,delz1,delx2,dely2,delz2; + double eangle,f1[3],f3[3]; + double tk,rsq1,rsq2,r1,r2,c,a,a11,a12,a22; + + const auto * _noalias const x = (dbl3_t *) atom->x[0]; + auto * _noalias const f = (dbl3_t *) thr->get_f()[0]; + const int4_t * _noalias const anglelist = (int4_t *) neighbor->anglelist[0]; + const int nlocal = atom->nlocal; + eangle = 0.0; + + for (n = nfrom; n < nto; n++) { + i1 = anglelist[n].a; + i2 = anglelist[n].b; + i3 = anglelist[n].c; + type = anglelist[n].t; + + // 1st bond + + delx1 = x[i1].x - x[i2].x; + dely1 = x[i1].y - x[i2].y; + delz1 = x[i1].z - x[i2].z; + + rsq1 = delx1*delx1 + dely1*dely1 + delz1*delz1; + r1 = sqrt(rsq1); + + // 2nd bond + + delx2 = x[i3].x - x[i2].x; + dely2 = x[i3].y - x[i2].y; + delz2 = x[i3].z - x[i2].z; + + rsq2 = delx2*delx2 + dely2*dely2 + delz2*delz2; + r2 = sqrt(rsq2); + + // angle (cos and sin) + + c = delx1*delx2 + dely1*dely2 + delz1*delz2; + c /= r1*r2; + + if (c > 1.0) c = 1.0; + if (c < -1.0) c = -1.0; + + // force & energy + + double sq_sin = 1.0 - c * c; + double c0 = cos(theta0[type]); + + tk = k[type] * (c - c0) * (1.0 - c * c0) / (sq_sin * sq_sin); + + if (EFLAG) eangle = k[type] * (c - c0) * (c - c0) / sq_sin; + + a = 2.0 * tk; + a11 = a*c / rsq1; + a12 = -a / (r1*r2); + a22 = a*c / rsq2; + + f1[0] = a11*delx1 + a12*delx2; + f1[1] = a11*dely1 + a12*dely2; + f1[2] = a11*delz1 + a12*delz2; + f3[0] = a22*delx2 + a12*delx1; + f3[1] = a22*dely2 + a12*dely1; + f3[2] = a22*delz2 + a12*delz1; + + // apply force to each of 3 atoms + + if (NEWTON_BOND || i1 < nlocal) { + f[i1].x += f1[0]; + f[i1].y += f1[1]; + f[i1].z += f1[2]; + } + + if (NEWTON_BOND || i2 < nlocal) { + f[i2].x -= f1[0] + f3[0]; + f[i2].y -= f1[1] + f3[1]; + f[i2].z -= f1[2] + f3[2]; + } + + if (NEWTON_BOND || i3 < nlocal) { + f[i3].x += f3[0]; + f[i3].y += f3[1]; + f[i3].z += f3[2]; + } + + if (EVFLAG) ev_tally_thr(this,i1,i2,i3,nlocal,NEWTON_BOND,eangle,f1,f3, + delx1,dely1,delz1,delx2,dely2,delz2,thr); + } +} diff --git a/src/OPENMP/angle_cosine_squared_restricted_omp.h b/src/OPENMP/angle_cosine_squared_restricted_omp.h new file mode 100644 index 0000000000..b2ad545230 --- /dev/null +++ b/src/OPENMP/angle_cosine_squared_restricted_omp.h @@ -0,0 +1,46 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Axel Kohlmeyer (Temple U) +------------------------------------------------------------------------- */ + +#ifdef ANGLE_CLASS +// clang-format off +AngleStyle(cosine/squared/restricted/omp,AngleCosineSquaredRestrictedOMP); +// clang-format on +#else + +#ifndef LMP_ANGLE_COSINE_SQUARED_RESTRICTED_OMP_H +#define LMP_ANGLE_COSINE_SQUARED_RESTRICTED_OMP_H + +#include "angle_cosine_squared_restricted.h" +#include "thr_omp.h" + +namespace LAMMPS_NS { + +class AngleCosineSquaredRestrictedOMP : public AngleCosineSquaredRestricted, public ThrOMP { + + public: + AngleCosineSquaredRestrictedOMP(class LAMMPS *lmp); + void compute(int, int) override; + + private: + template + void eval(int ifrom, int ito, ThrData *const thr); +}; + +} // namespace LAMMPS_NS + +#endif +#endif From dcc791621044d0e42303e0bb5c34d5f42f434204 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 29 Mar 2024 21:32:08 -0400 Subject: [PATCH 383/559] reorder header --- src/OPENMP/angle_cosine_squared_omp.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/OPENMP/angle_cosine_squared_omp.cpp b/src/OPENMP/angle_cosine_squared_omp.cpp index 9b849c62a3..f70e167d36 100644 --- a/src/OPENMP/angle_cosine_squared_omp.cpp +++ b/src/OPENMP/angle_cosine_squared_omp.cpp @@ -16,14 +16,16 @@ Contributing author: Axel Kohlmeyer (Temple U) ------------------------------------------------------------------------- */ -#include "omp_compat.h" #include "angle_cosine_squared_omp.h" -#include + #include "atom.h" #include "comm.h" #include "force.h" #include "neighbor.h" +#include + +#include "omp_compat.h" #include "suffix.h" using namespace LAMMPS_NS; From f6bdc05c242c39adf35e6acfa08674a6e27383f3 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 30 Mar 2024 19:19:47 -0400 Subject: [PATCH 384/559] alternate fix to PR #4116 --- src/fix_ave_histo_weight.cpp | 228 +++++++++++++++++------------------ 1 file changed, 114 insertions(+), 114 deletions(-) diff --git a/src/fix_ave_histo_weight.cpp b/src/fix_ave_histo_weight.cpp index 7a5458bd3d..cccfc86d59 100644 --- a/src/fix_ave_histo_weight.cpp +++ b/src/fix_ave_histo_weight.cpp @@ -113,256 +113,256 @@ void FixAveHistoWeight::end_of_step() double weight = 0.0; double *weights = nullptr; int stride = 0; - auto &val = values[1]; - int j = val.argindex; + auto &val1 = values[1]; + int j = val1.argindex; // atom attributes - if (val.which == ArgInfo::X) { + if (val1.which == ArgInfo::X) { weights = &atom->x[0][j]; stride = 3; - } else if (val.which == ArgInfo::V) { + } else if (val1.which == ArgInfo::V) { weights = &atom->v[0][j]; stride = 3; bin_atoms(&atom->v[0][j],3); - } else if (val.which == ArgInfo::F) { + } else if (val1.which == ArgInfo::F) { weights = &atom->f[0][j]; stride = 3; } // invoke compute if not previously invoked - if (val.which == ArgInfo::COMPUTE) { + if (val1.which == ArgInfo::COMPUTE) { if (kind == GLOBAL && mode == SCALAR) { if (j == 0) { - if (!(val.val.c->invoked_flag & Compute::INVOKED_SCALAR)) { - val.val.c->compute_scalar(); - val.val.c->invoked_flag |= Compute::INVOKED_SCALAR; + if (!(val1.val.c->invoked_flag & Compute::INVOKED_SCALAR)) { + val1.val.c->compute_scalar(); + val1.val.c->invoked_flag |= Compute::INVOKED_SCALAR; } - weight = val.val.c->scalar; + weight = val1.val.c->scalar; } else { - if (!(val.val.c->invoked_flag & Compute::INVOKED_VECTOR)) { - val.val.c->compute_vector(); - val.val.c->invoked_flag |= Compute::INVOKED_VECTOR; + if (!(val1.val.c->invoked_flag & Compute::INVOKED_VECTOR)) { + val1.val.c->compute_vector(); + val1.val.c->invoked_flag |= Compute::INVOKED_VECTOR; } - weight = val.val.c->vector[j-1]; + weight = val1.val.c->vector[j-1]; } } else if (kind == GLOBAL && mode == VECTOR) { if (j == 0) { - if (!(val.val.c->invoked_flag & Compute::INVOKED_VECTOR)) { - val.val.c->compute_vector(); - val.val.c->invoked_flag |= Compute::INVOKED_VECTOR; + if (!(val1.val.c->invoked_flag & Compute::INVOKED_VECTOR)) { + val1.val.c->compute_vector(); + val1.val.c->invoked_flag |= Compute::INVOKED_VECTOR; } - weights = val.val.c->vector; + weights = val1.val.c->vector; stride = 1; } else { - if (!(val.val.c->invoked_flag & Compute::INVOKED_ARRAY)) { - val.val.c->compute_array(); - val.val.c->invoked_flag |= Compute::INVOKED_ARRAY; + if (!(val1.val.c->invoked_flag & Compute::INVOKED_ARRAY)) { + val1.val.c->compute_array(); + val1.val.c->invoked_flag |= Compute::INVOKED_ARRAY; } - if (val.val.c->array) weights = &val.val.c->array[0][j-1]; - stride = val.val.c->size_array_cols; + if (val1.val.c->array) weights = &val1.val.c->array[0][j-1]; + stride = val1.val.c->size_array_cols; } } else if (kind == PERATOM) { - if (!(val.val.c->invoked_flag & Compute::INVOKED_PERATOM)) { - val.val.c->compute_peratom(); - val.val.c->invoked_flag |= Compute::INVOKED_PERATOM; + if (!(val1.val.c->invoked_flag & Compute::INVOKED_PERATOM)) { + val1.val.c->compute_peratom(); + val1.val.c->invoked_flag |= Compute::INVOKED_PERATOM; } if (j == 0) { - weights = val.val.c->vector_atom; + weights = val1.val.c->vector_atom; stride = 1; - } else if (val.val.c->array_atom) { - weights = &val.val.c->array_atom[0][j-1]; - stride = val.val.c->size_peratom_cols; + } else if (val1.val.c->array_atom) { + weights = &val1.val.c->array_atom[0][j-1]; + stride = val1.val.c->size_peratom_cols; } } else if (kind == LOCAL) { - if (!(val.val.c->invoked_flag & Compute::INVOKED_LOCAL)) { - val.val.c->compute_local(); - val.val.c->invoked_flag |= Compute::INVOKED_LOCAL; + if (!(val1.val.c->invoked_flag & Compute::INVOKED_LOCAL)) { + val1.val.c->compute_local(); + val1.val.c->invoked_flag |= Compute::INVOKED_LOCAL; } if (j == 0) { - weights = val.val.c->vector_local; + weights = val1.val.c->vector_local; stride = 1; - } else if (val.val.c->array_local) { - weights = &val.val.c->array_local[0][j-1]; - stride = val.val.c->size_local_cols; + } else if (val1.val.c->array_local) { + weights = &val1.val.c->array_local[0][j-1]; + stride = val1.val.c->size_local_cols; } } // access fix fields, guaranteed to be ready - } else if (val.which == ArgInfo::FIX) { + } else if (val1.which == ArgInfo::FIX) { if (kind == GLOBAL && mode == SCALAR) { - if (j == 0) weight = val.val.f->compute_scalar(); - else weight = val.val.f->compute_vector(j-1); + if (j == 0) weight = val1.val.f->compute_scalar(); + else weight = val1.val.f->compute_vector(j-1); } else if (kind == GLOBAL && mode == VECTOR) { error->all(FLERR,"Fix ave/histo/weight option not yet supported"); // NOTE: need to allocate local storage if (j == 0) { - int n = val.val.f->size_vector; - for (int i = 0; i < n; i++) weights[n] = val.val.f->compute_vector(i); + int n = val1.val.f->size_vector; + for (int i = 0; i < n; i++) weights[n] = val1.val.f->compute_vector(i); } else { - int n = val.val.f->size_vector; - for (int i = 0; i < n; i++) weights[n] = val.val.f->compute_array(i,j-1); + int n = val1.val.f->size_vector; + for (int i = 0; i < n; i++) weights[n] = val1.val.f->compute_array(i,j-1); } } else if (kind == PERATOM) { if (j == 0) { - weights = val.val.f->vector_atom; + weights = val1.val.f->vector_atom; stride = 1; - } else if (val.val.f->array_atom) { - weights = &val.val.f->array_atom[0][j-1]; - stride = val.val.f->size_peratom_cols; + } else if (val1.val.f->array_atom) { + weights = &val1.val.f->array_atom[0][j-1]; + stride = val1.val.f->size_peratom_cols; } } else if (kind == LOCAL) { if (j == 0) { - weights = val.val.f->vector_local; + weights = val1.val.f->vector_local; stride = 1; - } else if (val.val.f->array_local) { - weights = &val.val.f->array_local[0][j-1]; - stride = val.val.f->size_local_cols; + } else if (val1.val.f->array_local) { + weights = &val1.val.f->array_local[0][j-1]; + stride = val1.val.f->size_local_cols; } } // evaluate equal-style variable - } else if (val.which == ArgInfo::VARIABLE && kind == GLOBAL) { - weight = input->variable->compute_equal(val.val.v); + } else if (val1.which == ArgInfo::VARIABLE && kind == GLOBAL) { + weight = input->variable->compute_equal(val1.val.v); - } else if (val.which == ArgInfo::VARIABLE && kind == PERATOM) { + } else if (val1.which == ArgInfo::VARIABLE && kind == PERATOM) { if (atom->nmax > maxatom) { memory->destroy(vector); maxatom = atom->nmax; memory->create(vector,maxatom,"ave/histo/weight:vector"); } - input->variable->compute_atom(val.val.v,igroup,vector,1,0); + input->variable->compute_atom(val1.val.v,igroup,vector,1,0); weights = vector; stride = 1; } // bin values using weights, values are 1st value (i = 0) - val = values[0]; - j = val.argindex; + auto &val0 = values[0]; + j = val0.argindex; // atom attributes - if (val.which == ArgInfo::X && weights != nullptr) + if (val0.which == ArgInfo::X && weights != nullptr) bin_atoms_weights(&atom->x[0][j],3,weights,stride); - else if (val.which == ArgInfo::V && weights != nullptr) + else if (val0.which == ArgInfo::V && weights != nullptr) bin_atoms_weights(&atom->v[0][j],3,weights,stride); - else if (val.which == ArgInfo::F && weights != nullptr) + else if (val0.which == ArgInfo::F && weights != nullptr) bin_atoms_weights(&atom->f[0][j],3,weights,stride); // invoke compute if not previously invoked - if (val.which == ArgInfo::COMPUTE) { + if (val0.which == ArgInfo::COMPUTE) { if (kind == GLOBAL && mode == SCALAR) { if (j == 0) { - if (!(val.val.c->invoked_flag & Compute::INVOKED_SCALAR)) { - val.val.c->compute_scalar(); - val.val.c->invoked_flag |= Compute::INVOKED_SCALAR; + if (!(val0.val.c->invoked_flag & Compute::INVOKED_SCALAR)) { + val0.val.c->compute_scalar(); + val0.val.c->invoked_flag |= Compute::INVOKED_SCALAR; } - bin_one_weights(val.val.c->scalar,weight); + bin_one_weights(val0.val.c->scalar,weight); } else { - if (!(val.val.c->invoked_flag & Compute::INVOKED_VECTOR)) { - val.val.c->compute_vector(); - val.val.c->invoked_flag |= Compute::INVOKED_VECTOR; + if (!(val0.val.c->invoked_flag & Compute::INVOKED_VECTOR)) { + val0.val.c->compute_vector(); + val0.val.c->invoked_flag |= Compute::INVOKED_VECTOR; } - bin_one_weights(val.val.c->vector[j-1],weight); + bin_one_weights(val0.val.c->vector[j-1],weight); } } else if (kind == GLOBAL && mode == VECTOR) { if (j == 0) { - if (!(val.val.c->invoked_flag & Compute::INVOKED_VECTOR)) { - val.val.c->compute_vector(); - val.val.c->invoked_flag |= Compute::INVOKED_VECTOR; + if (!(val0.val.c->invoked_flag & Compute::INVOKED_VECTOR)) { + val0.val.c->compute_vector(); + val0.val.c->invoked_flag |= Compute::INVOKED_VECTOR; } - bin_vector_weights(val.val.c->size_vector,val.val.c->vector,1, + bin_vector_weights(val0.val.c->size_vector,val0.val.c->vector,1, weights,stride); } else { - if (!(val.val.c->invoked_flag & Compute::INVOKED_ARRAY)) { - val.val.c->compute_array(); - val.val.c->invoked_flag |= Compute::INVOKED_ARRAY; + if (!(val0.val.c->invoked_flag & Compute::INVOKED_ARRAY)) { + val0.val.c->compute_array(); + val0.val.c->invoked_flag |= Compute::INVOKED_ARRAY; } - if (val.val.c->array) - bin_vector_weights(val.val.c->size_array_rows,&val.val.c->array[0][j-1], - val.val.c->size_array_cols,weights,stride); + if (val0.val.c->array) + bin_vector_weights(val0.val.c->size_array_rows,&val0.val.c->array[0][j-1], + val0.val.c->size_array_cols,weights,stride); } } else if (kind == PERATOM) { - if (!(val.val.c->invoked_flag & Compute::INVOKED_PERATOM)) { - val.val.c->compute_peratom(); - val.val.c->invoked_flag |= Compute::INVOKED_PERATOM; + if (!(val0.val.c->invoked_flag & Compute::INVOKED_PERATOM)) { + val0.val.c->compute_peratom(); + val0.val.c->invoked_flag |= Compute::INVOKED_PERATOM; } if (j == 0) - bin_atoms_weights(val.val.c->vector_atom,1,weights, stride); - else if (val.val.c->array_atom) - bin_atoms_weights(&val.val.c->array_atom[0][j-1], - val.val.c->size_peratom_cols,weights,stride); + bin_atoms_weights(val0.val.c->vector_atom,1,weights, stride); + else if (val0.val.c->array_atom) + bin_atoms_weights(&val0.val.c->array_atom[0][j-1], + val0.val.c->size_peratom_cols,weights,stride); } else if (kind == LOCAL) { - if (!(val.val.c->invoked_flag & Compute::INVOKED_LOCAL)) { - val.val.c->compute_local(); - val.val.c->invoked_flag |= Compute::INVOKED_LOCAL; + if (!(val0.val.c->invoked_flag & Compute::INVOKED_LOCAL)) { + val0.val.c->compute_local(); + val0.val.c->invoked_flag |= Compute::INVOKED_LOCAL; } if (j == 0) - bin_vector_weights(val.val.c->size_local_rows, - val.val.c->vector_local,1,weights,stride); - else if (val.val.c->array_local) - bin_vector_weights(val.val.c->size_local_rows, - &val.val.c->array_local[0][j-1], - val.val.c->size_local_cols,weights,stride); + bin_vector_weights(val0.val.c->size_local_rows, + val0.val.c->vector_local,1,weights,stride); + else if (val0.val.c->array_local) + bin_vector_weights(val0.val.c->size_local_rows, + &val0.val.c->array_local[0][j-1], + val0.val.c->size_local_cols,weights,stride); } // access fix fields, guaranteed to be ready - } else if (val.which == ArgInfo::FIX) { + } else if (val0.which == ArgInfo::FIX) { if (kind == GLOBAL && mode == SCALAR) { - if (j == 0) bin_one_weights(val.val.f->compute_scalar(),weight); - else bin_one_weights(val.val.f->compute_vector(j-1),weight); + if (j == 0) bin_one_weights(val0.val.f->compute_scalar(),weight); + else bin_one_weights(val0.val.f->compute_vector(j-1),weight); } else if (kind == GLOBAL && mode == VECTOR) { if (j == 0) { - int n = val.val.f->size_vector; + int n = val0.val.f->size_vector; for (int i = 0; i < n; i++) - bin_one_weights(val.val.f->compute_vector(i),weights[i*stride]); + bin_one_weights(val0.val.f->compute_vector(i),weights[i*stride]); } else { - int n = val.val.f->size_vector; + int n = val0.val.f->size_vector; for (int i = 0; i < n; i++) - bin_one_weights(val.val.f->compute_array(i,j-1),weights[i*stride]); + bin_one_weights(val0.val.f->compute_array(i,j-1),weights[i*stride]); } } else if (kind == PERATOM) { if (j == 0) - bin_atoms_weights(val.val.f->vector_atom,1,weights,stride); - else if (val.val.f->array_atom) - bin_atoms_weights(&val.val.f->array_atom[0][j-1],val.val.f->size_peratom_cols, + bin_atoms_weights(val0.val.f->vector_atom,1,weights,stride); + else if (val0.val.f->array_atom) + bin_atoms_weights(&val0.val.f->array_atom[0][j-1],val0.val.f->size_peratom_cols, weights,stride); } else if (kind == LOCAL) { - if (j == 0) bin_vector_weights(val.val.f->size_local_rows,val.val.f->vector_local,1, + if (j == 0) bin_vector_weights(val0.val.f->size_local_rows,val0.val.f->vector_local,1, weights,stride); - else if (val.val.f->array_local) - bin_vector_weights(val.val.f->size_local_rows,&val.val.f->array_local[0][j-1], - val.val.f->size_local_cols,weights,stride); + else if (val0.val.f->array_local) + bin_vector_weights(val0.val.f->size_local_rows,&val0.val.f->array_local[0][j-1], + val0.val.f->size_local_cols,weights,stride); } // evaluate equal-style variable - } else if (val.which == ArgInfo::VARIABLE && kind == GLOBAL) { - bin_one_weights(input->variable->compute_equal(val.val.v),weight); + } else if (val0.which == ArgInfo::VARIABLE && kind == GLOBAL) { + bin_one_weights(input->variable->compute_equal(val0.val.v),weight); - } else if (val.which == ArgInfo::VARIABLE && kind == PERATOM) { + } else if (val0.which == ArgInfo::VARIABLE && kind == PERATOM) { if (atom->nmax > maxatom) { memory->destroy(vector); maxatom = atom->nmax; memory->create(vector,maxatom,"ave/histo/weight:vector"); } - input->variable->compute_atom(val.val.v,igroup,vector,1,0); + input->variable->compute_atom(val0.val.v,igroup,vector,1,0); bin_atoms_weights(vector,1,weights,stride); } From ae6247d3be85e49f1243229b64ca92be108dcf74 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 31 Mar 2024 17:41:35 -0400 Subject: [PATCH 385/559] remove xdr_compat.h include and pimplify XDR struct, silence compiler warnings --- src/EXTRA-DUMP/dump_xtc.cpp | 45 ++++++++++++++++++++----------------- src/EXTRA-DUMP/dump_xtc.h | 4 ++-- 2 files changed, 27 insertions(+), 22 deletions(-) diff --git a/src/EXTRA-DUMP/dump_xtc.cpp b/src/EXTRA-DUMP/dump_xtc.cpp index 798bdcb391..9d4ec1b9bb 100644 --- a/src/EXTRA-DUMP/dump_xtc.cpp +++ b/src/EXTRA-DUMP/dump_xtc.cpp @@ -35,6 +35,8 @@ #include "output.h" #include "update.h" +#include "xdr_compat.h" + #include #include #include @@ -47,15 +49,15 @@ using namespace LAMMPS_NS; #define MYMIN(a,b) ((a) < (b) ? (a) : (b)) #define MYMAX(a,b) ((a) > (b) ? (a) : (b)) -int xdropen(XDR *, const char *, const char *); -int xdrclose(XDR *); -void xdrfreebuf(); -int xdr3dfcoord(XDR *, float *, int *, float *); +static int xdropen(XDR *, const char *, const char *); +static int xdrclose(XDR *); +static void xdrfreebuf(); +static int xdr3dfcoord(XDR *, float *, int *, float *); /* ---------------------------------------------------------------------- */ -DumpXTC::DumpXTC(LAMMPS *lmp, int narg, char **arg) : Dump(lmp, narg, arg), - coords(nullptr) +DumpXTC::DumpXTC(LAMMPS *lmp, int narg, char **arg) + : Dump(lmp, narg, arg), coords(nullptr), xd(nullptr) { if (narg != 5) error->all(FLERR,"Illegal dump xtc command"); if (binary || compressed || multifile || multiproc) @@ -68,6 +70,7 @@ DumpXTC::DumpXTC(LAMMPS *lmp, int narg, char **arg) : Dump(lmp, narg, arg), flush_flag = 0; unwrap_flag = 0; precision = 1000.0; + xd = new XDR; // allocate global array for atom coords @@ -105,9 +108,10 @@ DumpXTC::~DumpXTC() memory->destroy(coords); if (me == 0) { - xdrclose(&xd); + xdrclose(xd); xdrfreebuf(); } + delete xd; } /* ---------------------------------------------------------------------- */ @@ -150,7 +154,8 @@ void DumpXTC::openfile() fp = nullptr; if (me == 0) - if (xdropen(&xd,filename,"w") == 0) error->one(FLERR,"Cannot open dump file"); + if (xdropen(xd,filename,"w") == 0) + error->one(FLERR,"Cannot open XTC format dump file {}: {}", filename, utils::getsyserror()); } /* ---------------------------------------------------------------------- */ @@ -176,11 +181,11 @@ void DumpXTC::write_header(bigint nbig) if (me != 0) return; int tmp = XTC_MAGIC; - xdr_int(&xd,&tmp); - xdr_int(&xd,&n); - xdr_int(&xd,&ntimestep); + xdr_int(xd,&tmp); + xdr_int(xd,&n); + xdr_int(xd,&ntimestep); float time_value = ntimestep * tfactor * update->dt; - xdr_float(&xd,&time_value); + xdr_float(xd,&time_value); // cell basis vectors if (domain->triclinic) { @@ -192,18 +197,18 @@ void DumpXTC::write_header(bigint nbig) float xz = sfactor * domain->xz; float yz = sfactor * domain->yz; - xdr_float(&xd,&xdim); xdr_float(&xd,&zero); xdr_float(&xd,&zero); - xdr_float(&xd,&xy ); xdr_float(&xd,&ydim); xdr_float(&xd,&zero); - xdr_float(&xd,&xz ); xdr_float(&xd,&yz ); xdr_float(&xd,&zdim); + xdr_float(xd,&xdim); xdr_float(xd,&zero); xdr_float(xd,&zero); + xdr_float(xd,&xy ); xdr_float(xd,&ydim); xdr_float(xd,&zero); + xdr_float(xd,&xz ); xdr_float(xd,&yz ); xdr_float(xd,&zdim); } else { float zero = 0.0; float xdim = sfactor * (domain->boxhi[0] - domain->boxlo[0]); float ydim = sfactor * (domain->boxhi[1] - domain->boxlo[1]); float zdim = sfactor * (domain->boxhi[2] - domain->boxlo[2]); - xdr_float(&xd,&xdim); xdr_float(&xd,&zero); xdr_float(&xd,&zero); - xdr_float(&xd,&zero); xdr_float(&xd,&ydim); xdr_float(&xd,&zero); - xdr_float(&xd,&zero); xdr_float(&xd,&zero); xdr_float(&xd,&zdim); + xdr_float(xd,&xdim); xdr_float(xd,&zero); xdr_float(xd,&zero); + xdr_float(xd,&zero); xdr_float(xd,&ydim); xdr_float(xd,&zero); + xdr_float(xd,&zero); xdr_float(xd,&zero); xdr_float(xd,&zdim); } } @@ -328,7 +333,7 @@ double DumpXTC::memory_usage() void DumpXTC::write_frame() { - xdr3dfcoord(&xd,coords,&natoms,&precision); + xdr3dfcoord(xd,coords,&natoms,&precision); } // ---------------------------------------------------------------------- @@ -406,7 +411,7 @@ static int magicints[] = { | | xdropen - open xdr file | - | This versions differs from xdrstdio_create, because I need to know + | This version differs from xdrstdio_create, because I need to know | the state of the file (read or write) so I can use xdr3dfcoord | in eigther read or write mode, and the file descriptor | so I can close the file (something xdr_destroy doesn't do). diff --git a/src/EXTRA-DUMP/dump_xtc.h b/src/EXTRA-DUMP/dump_xtc.h index 74147be06b..0a27cc67dd 100644 --- a/src/EXTRA-DUMP/dump_xtc.h +++ b/src/EXTRA-DUMP/dump_xtc.h @@ -21,8 +21,8 @@ DumpStyle(xtc,DumpXTC); #define LMP_DUMP_XTC_H #include "dump.h" -#include "xdr_compat.h" +struct XDR; namespace LAMMPS_NS { class DumpXTC : public Dump { @@ -37,7 +37,7 @@ class DumpXTC : public Dump { float precision; // user-adjustable precision setting float *coords; double sfactor, tfactor; // scaling factors for positions and time unit - XDR xd; + XDR *xd; void init_style() override; int modify_param(int, char **) override; From 0cdbcc801ef72ef9017a5e9aeae24c68e4f1dd87 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 31 Mar 2024 17:42:41 -0400 Subject: [PATCH 386/559] switch to BSD 3-clause licensed XDR version, use c++11 portability, cleanups --- src/EXTRA-DUMP/xdr_compat.cpp | 258 +++++++++++++++++----------------- src/EXTRA-DUMP/xdr_compat.h | 106 +++++--------- 2 files changed, 164 insertions(+), 200 deletions(-) diff --git a/src/EXTRA-DUMP/xdr_compat.cpp b/src/EXTRA-DUMP/xdr_compat.cpp index e29bbe8334..0d1e38d901 100644 --- a/src/EXTRA-DUMP/xdr_compat.cpp +++ b/src/EXTRA-DUMP/xdr_compat.cpp @@ -3,52 +3,68 @@ #include #include -/* This file is needed for systems, that do not provide XDR support - * in their system libraries. It was written for windows, but will - * most probably work on other platforms too. better make sure you - * test that the xtc files produced are ok before using it. +/* + * This file contains an implementation of the Sun External Data Representation (XDR) + * routines. They have been adapted specifically for the use with the LAMMPS xtc dump + * style to produce compressed trajectory files in the Gromacs XTC format. * - * It is also needed on BG/L and Cray XT3/XT4 as we don't have - * XDR support in the lightweight kernel runtimes either. + * The XDR sources are avaiable under the BSD 3-clause license for example in + * the MIT Kerberos 5 distribution with the following copyright notice and license. * - * This file contains the definitions for Sun External Data - * Representation (XDR) headers and routines. + * @(#)xdr.h 2.2 88/07/29 4.0 RPCSRC * - * Although the rest of LAMPPS is GPL, you can copy and use the XDR - * routines in any way you want as long as you obey Sun's license: + * Copyright (c) 2010, Oracle America, Inc. * - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. + * All rights reserved. * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. + * * Neither the name of the "Oracle America, Inc." nor the names of + * its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifdef __cplusplus extern "C" { #endif +/* compatibility typedefs */ +#if defined(_WIN32) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) || \ + defined(__OpenBSD__) || defined(__NetBSD__) || (defined(__linux__) && !defined(__GLIBC_MINOR__)) +typedef char *caddr_t; +typedef unsigned int u_int; +#endif + +#ifndef FALSE +#define FALSE (0) +#endif +#ifndef TRUE +#define TRUE (1) +#endif + +#define BYTES_PER_XDR_UNIT (4) + /* * for unit alignment */ @@ -96,20 +112,18 @@ static xdr_uint32_t xdr_ntohl(xdr_uint32_t x) * Free a data structure using XDR * Not a filter, but a convenient utility nonetheless */ -void -xdr_free (xdrproc_t proc, char *objp) +void xdr_free(xdrproc_t proc, char *objp) { XDR x; x.x_op = XDR_FREE; - (*proc) (&x, objp); + (*proc)(&x, objp); } /* * XDR nothing */ -bool_t -xdr_void (void) +bool_t xdr_void(void) { return TRUE; } @@ -117,23 +131,21 @@ xdr_void (void) /* * XDR integers */ -bool_t -xdr_int (XDR *xdrs, int *ip) +bool_t xdr_int(XDR *xdrs, int *ip) { xdr_int32_t l; switch (xdrs->x_op) { case XDR_ENCODE: - l = (xdr_int32_t) (*ip); - return xdr_putint32 (xdrs, &l); + l = (xdr_int32_t)(*ip); + return xdr_putint32(xdrs, &l); case XDR_DECODE: - if (!xdr_getint32 (xdrs, &l)) - { + if (!xdr_getint32(xdrs, &l)) return FALSE; - } *ip = (int) l; + return TRUE; case XDR_FREE: return TRUE; @@ -145,23 +157,21 @@ xdr_int (XDR *xdrs, int *ip) /* * XDR unsigned integers */ -bool_t -xdr_u_int (XDR *xdrs, unsigned int *up) +bool_t xdr_u_int(XDR *xdrs, unsigned int *up) { xdr_uint32_t l; switch (xdrs->x_op) { case XDR_ENCODE: - l = (xdr_uint32_t) (*up); - return xdr_putuint32 (xdrs, &l); + l = (xdr_uint32_t)(*up); + return xdr_putuint32(xdrs, &l); case XDR_DECODE: - if (!xdr_getuint32 (xdrs, &l)) - { + if (!xdr_getuint32(xdrs, &l)) return FALSE; - } *up = (unsigned int) l; + return TRUE; case XDR_FREE: return TRUE; @@ -176,7 +186,7 @@ xdr_u_int (XDR *xdrs, unsigned int *up) * XDR short integers */ bool_t -xdr_short (XDR *xdrs, short *sp) +xdr_short(XDR *xdrs, short *sp) { xdr_int32_t l; @@ -184,10 +194,10 @@ xdr_short (XDR *xdrs, short *sp) { case XDR_ENCODE: l = (xdr_int32_t) *sp; - return xdr_putint32 (xdrs, &l); + return xdr_putint32(xdrs, &l); case XDR_DECODE: - if (!xdr_getint32 (xdrs, &l)) + if (!xdr_getint32(xdrs, &l)) { return FALSE; } @@ -205,7 +215,7 @@ xdr_short (XDR *xdrs, short *sp) * XDR unsigned short integers */ bool_t -xdr_u_short (XDR *xdrs, unsigned short *usp) +xdr_u_short(XDR *xdrs, unsigned short *usp) { xdr_uint32_t l; @@ -213,10 +223,10 @@ xdr_u_short (XDR *xdrs, unsigned short *usp) { case XDR_ENCODE: l = (xdr_uint32_t) *usp; - return xdr_putuint32 (xdrs, &l); + return xdr_putuint32(xdrs, &l); case XDR_DECODE: - if (!xdr_getuint32 (xdrs, &l)) + if (!xdr_getuint32(xdrs, &l)) { return FALSE; } @@ -234,12 +244,12 @@ xdr_u_short (XDR *xdrs, unsigned short *usp) * XDR a char */ bool_t -xdr_char (XDR *xdrs, char *cp) +xdr_char(XDR *xdrs, char *cp) { int i; i = (*cp); - if (!xdr_int (xdrs, &i)) + if (!xdr_int(xdrs, &i)) { return FALSE; } @@ -251,12 +261,12 @@ xdr_char (XDR *xdrs, char *cp) * XDR an unsigned char */ bool_t -xdr_u_char (XDR *xdrs, unsigned char *cp) +xdr_u_char(XDR *xdrs, unsigned char *cp) { unsigned int u; u = (*cp); - if (!xdr_u_int (xdrs, &u)) + if (!xdr_u_int(xdrs, &u)) { return FALSE; } @@ -268,7 +278,7 @@ xdr_u_char (XDR *xdrs, unsigned char *cp) * XDR booleans */ bool_t -xdr_bool (XDR *xdrs, int *bp) +xdr_bool(XDR *xdrs, int *bp) { #define XDR_FALSE ((xdr_int32_t) 0) #define XDR_TRUE ((xdr_int32_t) 1) @@ -279,10 +289,10 @@ xdr_bool (XDR *xdrs, int *bp) { case XDR_ENCODE: lb = *bp ? XDR_TRUE : XDR_FALSE; - return xdr_putint32 (xdrs, &lb); + return xdr_putint32(xdrs, &lb); case XDR_DECODE: - if (!xdr_getint32 (xdrs, &lb)) + if (!xdr_getint32(xdrs, &lb)) { return FALSE; } @@ -305,7 +315,7 @@ xdr_bool (XDR *xdrs, int *bp) * cp points to the opaque object and cnt gives the byte length. */ bool_t -xdr_opaque (XDR *xdrs, char *cp, unsigned int cnt) +xdr_opaque(XDR *xdrs, char *cp, unsigned int cnt) { unsigned int rndup; static char crud[BYTES_PER_XDR_UNIT]; @@ -326,22 +336,22 @@ xdr_opaque (XDR *xdrs, char *cp, unsigned int cnt) switch (xdrs->x_op) { case XDR_DECODE: - if (!xdr_getbytes (xdrs, cp, cnt)) + if (!xdr_getbytes(xdrs, cp, cnt)) { return FALSE; } if (rndup == 0) return TRUE; - return xdr_getbytes (xdrs, (char *)crud, rndup); + return xdr_getbytes(xdrs, (char *)crud, rndup); case XDR_ENCODE: - if (!xdr_putbytes (xdrs, cp, cnt)) + if (!xdr_putbytes(xdrs, cp, cnt)) { return FALSE; } if (rndup == 0) return TRUE; - return xdr_putbytes (xdrs, xdr_zero, rndup); + return xdr_putbytes(xdrs, xdr_zero, rndup); case XDR_FREE: return TRUE; @@ -359,7 +369,7 @@ xdr_opaque (XDR *xdrs, char *cp, unsigned int cnt) * of the string as specified by a protocol. */ bool_t -xdr_string (XDR *xdrs, char **cpp, unsigned int maxsize) +xdr_string(XDR *xdrs, char **cpp, unsigned int maxsize) { char *sp = *cpp; /* sp is the actual string pointer */ unsigned int size = 0; @@ -379,13 +389,13 @@ xdr_string (XDR *xdrs, char **cpp, unsigned int maxsize) case XDR_ENCODE: if (sp == nullptr) return FALSE; - size = strlen (sp); + size = strlen(sp); break; case XDR_DECODE: break; } - if (!xdr_u_int (xdrs, &size)) + if (!xdr_u_int(xdrs, &size)) { return FALSE; } @@ -406,20 +416,20 @@ xdr_string (XDR *xdrs, char **cpp, unsigned int maxsize) return TRUE; } if (sp == nullptr) - *cpp = sp = (char *) malloc (nodesize); + *cpp = sp = (char *) malloc(nodesize); if (sp == nullptr) { - (void) fputs ("xdr_string: out of memory\n", stderr); + (void) fputs("xdr_string: out of memory\n", stderr); return FALSE; } sp[size] = 0; - /* fall into ... */ + return xdr_opaque(xdrs, sp, size); case XDR_ENCODE: - return xdr_opaque (xdrs, sp, size); + return xdr_opaque(xdrs, sp, size); case XDR_FREE: - free (sp); + free(sp); *cpp = nullptr; return TRUE; } @@ -446,15 +456,15 @@ xdr_float(XDR *xdrs, float *fp) case XDR_DECODE: if (xdr_getint32(xdrs, &tmp)) { *(xdr_int32_t *)fp = tmp; - return (TRUE); + return TRUE; } break; case XDR_FREE: - return (TRUE); + return TRUE; } - return (FALSE); + return FALSE; } @@ -515,15 +525,15 @@ xdr_double(XDR *xdrs, double *dp) xdr_getint32(xdrs, tmp+LSW)) { ip[0] = tmp[0]; ip[1] = tmp[1]; - return (TRUE); + return TRUE; } break; case XDR_FREE: - return (TRUE); + return TRUE; } - return (FALSE); + return FALSE; } @@ -540,7 +550,7 @@ xdr_double(XDR *xdrs, double *dp) * > xdr_elem: routine to XDR each element */ bool_t -xdr_vector (XDR *xdrs, char *basep, unsigned int nelem, +xdr_vector(XDR *xdrs, char *basep, unsigned int nelem, unsigned int elemsize, xdrproc_t xdr_elem) { #define LASTUNSIGNED ((unsigned int)0-1) @@ -550,7 +560,7 @@ xdr_vector (XDR *xdrs, char *basep, unsigned int nelem, elptr = basep; for (i = 0; i < nelem; i++) { - if (!(*xdr_elem) (xdrs, elptr, LASTUNSIGNED)) + if (!(*xdr_elem)(xdrs, elptr, LASTUNSIGNED)) { return FALSE; } @@ -560,18 +570,16 @@ xdr_vector (XDR *xdrs, char *basep, unsigned int nelem, #undef LASTUNSIGNED } - - -static bool_t xdrstdio_getbytes (XDR *, char *, unsigned int); -static bool_t xdrstdio_putbytes (XDR *, char *, unsigned int); -static unsigned int xdrstdio_getpos (XDR *); -static bool_t xdrstdio_setpos (XDR *, unsigned int); -static xdr_int32_t *xdrstdio_inline (XDR *, int); -static void xdrstdio_destroy (XDR *); -static bool_t xdrstdio_getint32 (XDR *, xdr_int32_t *); -static bool_t xdrstdio_putint32 (XDR *, xdr_int32_t *); -static bool_t xdrstdio_getuint32 (XDR *, xdr_uint32_t *); -static bool_t xdrstdio_putuint32 (XDR *, xdr_uint32_t *); +static bool_t xdrstdio_getbytes(XDR *, char *, unsigned int); +static bool_t xdrstdio_putbytes(XDR *, char *, unsigned int); +static unsigned int xdrstdio_getpos(XDR *); +static bool_t xdrstdio_setpos(XDR *, unsigned int); +static xdr_int32_t *xdrstdio_inline(XDR *, int); +static void xdrstdio_destroy(XDR *); +static bool_t xdrstdio_getint32(XDR *, xdr_int32_t *); +static bool_t xdrstdio_putint32(XDR *, xdr_int32_t *); +static bool_t xdrstdio_getuint32(XDR *, xdr_uint32_t *); +static bool_t xdrstdio_putuint32(XDR *, xdr_uint32_t *); /* * Ops vector for stdio type XDR @@ -595,8 +603,7 @@ static const struct xdr_ops xdrstdio_ops = * Sets the xdr stream handle xdrs for use on the stream file. * Operation flag is set to op. */ -void -xdrstdio_create (XDR *xdrs, FILE *file, enum xdr_op op) +void xdrstdio_create(XDR *xdrs, FILE *file, enum xdr_op op) { xdrs->x_op = op; /* We have to add the const since the `struct xdr_ops' in `struct XDR' @@ -611,46 +618,38 @@ xdrstdio_create (XDR *xdrs, FILE *file, enum xdr_op op) * Destroy a stdio xdr stream. * Cleans up the xdr stream handle xdrs previously set up by xdrstdio_create. */ -static void -xdrstdio_destroy (XDR *xdrs) +static void xdrstdio_destroy(XDR *xdrs) { - (void) fflush ((FILE *) xdrs->x_private); + (void) fflush((FILE *) xdrs->x_private); /* xx should we close the file ?? */ } -static bool_t -xdrstdio_getbytes (XDR *xdrs, char *addr, unsigned int len) +static bool_t xdrstdio_getbytes(XDR *xdrs, char *addr, unsigned int len) { - if ((len != 0) && (fread (addr, (int) len, 1, - (FILE *) xdrs->x_private) != 1)) + if ((len != 0) && (fread(addr, (int) len, 1, (FILE *) xdrs->x_private) != 1)) return FALSE; return TRUE; } -static bool_t -xdrstdio_putbytes (XDR *xdrs, char *addr, unsigned int len) +static bool_t xdrstdio_putbytes(XDR *xdrs, char *addr, unsigned int len) { - if ((len != 0) && (fwrite (addr, (int) len, 1, - (FILE *) xdrs->x_private) != 1)) + if ((len != 0) && (fwrite(addr, (int) len, 1, (FILE *) xdrs->x_private) != 1)) return FALSE; return TRUE; } -static unsigned int -xdrstdio_getpos (XDR *xdrs) +static unsigned int xdrstdio_getpos(XDR *xdrs) { - return (unsigned int) ftell ((FILE *) xdrs->x_private); + return (unsigned int) ftell((FILE *) xdrs->x_private); } -static bool_t -xdrstdio_setpos (XDR *xdrs, unsigned int pos) +static bool_t xdrstdio_setpos(XDR *xdrs, unsigned int pos) { - return fseek ((FILE *) xdrs->x_private, (xdr_int32_t) pos, 0) < 0 ? FALSE : TRUE; + return fseek((FILE *) xdrs->x_private, (xdr_int32_t) pos, 0) < 0 ? FALSE : TRUE; } -static xdr_int32_t * -xdrstdio_inline (XDR * /*xdrs*/, int /*len*/) +static xdr_int32_t *xdrstdio_inline(XDR * /*xdrs*/, int /*len*/) { /* * Must do some work to implement this: must ensure @@ -664,46 +663,42 @@ xdrstdio_inline (XDR * /*xdrs*/, int /*len*/) return nullptr; } -static bool_t -xdrstdio_getint32 (XDR *xdrs, xdr_int32_t *ip) +static bool_t xdrstdio_getint32(XDR *xdrs, xdr_int32_t *ip) { xdr_int32_t mycopy; - if (fread ((char *) &mycopy, 4, 1, (FILE *) xdrs->x_private) != 1) + if (fread((char *) &mycopy, 4, 1, (FILE *) xdrs->x_private) != 1) return FALSE; - *ip = xdr_ntohl (mycopy); + *ip = xdr_ntohl(mycopy); return TRUE; } -static bool_t -xdrstdio_putint32 (XDR *xdrs, xdr_int32_t *ip) +static bool_t xdrstdio_putint32(XDR *xdrs, xdr_int32_t *ip) { - xdr_int32_t mycopy = xdr_htonl (*ip); + xdr_int32_t mycopy = xdr_htonl(*ip); ip = &mycopy; - if (fwrite ((char *) ip, 4, 1, (FILE *) xdrs->x_private) != 1) + if (fwrite((char *) ip, 4, 1, (FILE *) xdrs->x_private) != 1) return FALSE; return TRUE; } -static bool_t -xdrstdio_getuint32 (XDR *xdrs, xdr_uint32_t *ip) +static bool_t xdrstdio_getuint32(XDR *xdrs, xdr_uint32_t *ip) { xdr_uint32_t mycopy; - if (fread ((char *) &mycopy, 4, 1, (FILE *) xdrs->x_private) != 1) + if (fread((char *) &mycopy, 4, 1, (FILE *) xdrs->x_private) != 1) return FALSE; *ip = xdr_ntohl (mycopy); return TRUE; } -static bool_t -xdrstdio_putuint32 (XDR *xdrs, xdr_uint32_t *ip) +static bool_t xdrstdio_putuint32(XDR *xdrs, xdr_uint32_t *ip) { xdr_uint32_t mycopy = xdr_htonl (*ip); ip = &mycopy; - if (fwrite ((char *) ip, 4, 1, (FILE *) xdrs->x_private) != 1) + if (fwrite((char *) ip, 4, 1, (FILE *) xdrs->x_private) != 1) return FALSE; return TRUE; } @@ -711,4 +706,3 @@ xdrstdio_putuint32 (XDR *xdrs, xdr_uint32_t *ip) #ifdef __cplusplus } #endif - diff --git a/src/EXTRA-DUMP/xdr_compat.h b/src/EXTRA-DUMP/xdr_compat.h index 55dc22e9f9..b63e13f6d8 100644 --- a/src/EXTRA-DUMP/xdr_compat.h +++ b/src/EXTRA-DUMP/xdr_compat.h @@ -1,7 +1,7 @@ #ifndef LMP_XDR_COMPAT_H #define LMP_XDR_COMPAT_H -#include +#include #include #ifdef __cplusplus @@ -9,47 +9,53 @@ extern "C" { #endif /* - * This file is needed for systems, that do not provide XDR support - * in their system libraries. It was written for windows, but will - * most probably work on other platforms too. better make sure you - * test that the xtc files produced are ok before using it. + * This file contains the definitions for Sun External Data Representation (XDR). + * They have been adapted specifically for the use with the LAMMPS xtc dump style + * to produce compressed trajectory files in the Gromacs XTC format. * - * It is also needed on BG/L, BG/P and Cray XT3/XT4/XT5 as we don't - * have XDR support in the lightweight kernel runtimes either. + * The XDR sources are avaiable under the BSD 3-clause license for example in + * the MIT Kerberos 5 distribution with the following copyright notice and license. * - * This file contains the definitions for Sun External Data - * Representation (XDR) headers and routines. + * @(#)xdr.h 2.2 88/07/29 4.0 RPCSRC * - * Although the rest of LAMPPS is GPL, you can copy and use the XDR - * routines in any way you want as long as you obey Sun's license: - * Sun RPC is a product of Sun Microsystems, Inc. and is provided for - * unrestricted use provided that this legend is included on all tape - * media and as a part of the software program in whole or part. Users - * may copy or modify Sun RPC without charge, but are not authorized - * to license or distribute it to anyone else except as part of a product or - * program developed by the user. + * Copyright (c) 2010, Oracle America, Inc. * - * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE - * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR - * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE. + * All rights reserved. * - * Sun RPC is provided with no support and without any obligation on the - * part of Sun Microsystems, Inc. to assist in its use, correction, - * modification or enhancement. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: * - * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE - * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC - * OR ANY PART THEREOF. + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. * - * In no event will Sun Microsystems, Inc. be liable for any lost revenue - * or profits or other special, indirect and consequential damages, even if - * Sun has been advised of the possibility of such damages. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. * - * Sun Microsystems, Inc. - * 2550 Garcia Avenue - * Mountain View, California 94043 + * * Neither the name of the "Oracle America, Inc." nor the names of + * its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +/* compatibility typedefs */ +typedef int bool_t; + +typedef int32_t xdr_int32_t; +typedef uint32_t xdr_uint32_t; + /* * Xdr operations. XDR_ENCODE causes the type to be encoded into the * stream. XDR_DECODE causes the type to be extracted from the stream. @@ -57,44 +63,8 @@ extern "C" { * XDR_DECODE request. */ -typedef int bool_t; - -#if defined(_WIN32) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) || \ - defined(__OpenBSD__) || defined(__NetBSD__) || (defined(__linux__) && !defined(__GLIBC_MINOR__)) -typedef char *caddr_t; -typedef unsigned int u_int; -#endif - -/* - * Aninteger type that is 32 bits wide. Check if int, - * long or short is 32 bits and die if none of them is :-) - */ -#if (INT_MAX == 2147483647) -typedef int xdr_int32_t; -typedef unsigned int xdr_uint32_t; -#elif (LONG_MAX == 2147483647L) -typedef long xdr_int32_t; -typedef unsigned long xdr_uint32_t; -#elif (SHRT_MAX == 2147483647) -typedef short xdr_int32_t; -typedef unsigned short xdr_uint32_t; -#else -#error ERROR: No 32 bit wide integer type found! -#endif - enum xdr_op { XDR_ENCODE = 0, XDR_DECODE = 1, XDR_FREE = 2 }; -#ifndef FALSE -#define FALSE (0) -#endif -#ifndef TRUE -#define TRUE (1) -#endif - -#define BYTES_PER_XDR_UNIT (4) -/* Macro to round up to units of 4. */ -#define XDR_RNDUP(x) (((x) + BYTES_PER_XDR_UNIT - 1) & ~(BYTES_PER_XDR_UNIT - 1)) - /* * The XDR handle. * Contains operation which is being applied to the stream, From ff91728587bc995f2a0a07e76ea25aa1abc8f161 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 31 Mar 2024 18:09:40 -0400 Subject: [PATCH 387/559] reduce XDR compatibility code to only those routines that are used by dump xtc --- src/EXTRA-DUMP/xdr_compat.cpp | 400 +--------------------------------- src/EXTRA-DUMP/xdr_compat.h | 45 +--- 2 files changed, 14 insertions(+), 431 deletions(-) diff --git a/src/EXTRA-DUMP/xdr_compat.cpp b/src/EXTRA-DUMP/xdr_compat.cpp index 0d1e38d901..e69a2b72e9 100644 --- a/src/EXTRA-DUMP/xdr_compat.cpp +++ b/src/EXTRA-DUMP/xdr_compat.cpp @@ -107,27 +107,6 @@ static xdr_uint32_t xdr_ntohl(xdr_uint32_t x) } } - -/* - * Free a data structure using XDR - * Not a filter, but a convenient utility nonetheless - */ -void xdr_free(xdrproc_t proc, char *objp) -{ - XDR x; - - x.x_op = XDR_FREE; - (*proc)(&x, objp); -} - -/* - * XDR nothing - */ -bool_t xdr_void(void) -{ - return TRUE; -} - /* * XDR integers */ @@ -153,169 +132,12 @@ bool_t xdr_int(XDR *xdrs, int *ip) return FALSE; } - -/* - * XDR unsigned integers - */ -bool_t xdr_u_int(XDR *xdrs, unsigned int *up) -{ - xdr_uint32_t l; - - switch (xdrs->x_op) - { - case XDR_ENCODE: - l = (xdr_uint32_t)(*up); - return xdr_putuint32(xdrs, &l); - - case XDR_DECODE: - if (!xdr_getuint32(xdrs, &l)) - return FALSE; - *up = (unsigned int) l; - return TRUE; - - case XDR_FREE: - return TRUE; - } - return FALSE; -} - - - - -/* - * XDR short integers - */ -bool_t -xdr_short(XDR *xdrs, short *sp) -{ - xdr_int32_t l; - - switch (xdrs->x_op) - { - case XDR_ENCODE: - l = (xdr_int32_t) *sp; - return xdr_putint32(xdrs, &l); - - case XDR_DECODE: - if (!xdr_getint32(xdrs, &l)) - { - return FALSE; - } - *sp = (short) l; - return TRUE; - - case XDR_FREE: - return TRUE; - } - return FALSE; -} - - -/* - * XDR unsigned short integers - */ -bool_t -xdr_u_short(XDR *xdrs, unsigned short *usp) -{ - xdr_uint32_t l; - - switch (xdrs->x_op) - { - case XDR_ENCODE: - l = (xdr_uint32_t) *usp; - return xdr_putuint32(xdrs, &l); - - case XDR_DECODE: - if (!xdr_getuint32(xdrs, &l)) - { - return FALSE; - } - *usp = (unsigned short) l; - return TRUE; - - case XDR_FREE: - return TRUE; - } - return FALSE; -} - - -/* - * XDR a char - */ -bool_t -xdr_char(XDR *xdrs, char *cp) -{ - int i; - - i = (*cp); - if (!xdr_int(xdrs, &i)) - { - return FALSE; - } - *cp = i; - return TRUE; -} - -/* - * XDR an unsigned char - */ -bool_t -xdr_u_char(XDR *xdrs, unsigned char *cp) -{ - unsigned int u; - - u = (*cp); - if (!xdr_u_int(xdrs, &u)) - { - return FALSE; - } - *cp = u; - return TRUE; -} - -/* - * XDR booleans - */ -bool_t -xdr_bool(XDR *xdrs, int *bp) -{ -#define XDR_FALSE ((xdr_int32_t) 0) -#define XDR_TRUE ((xdr_int32_t) 1) - - xdr_int32_t lb; - - switch (xdrs->x_op) - { - case XDR_ENCODE: - lb = *bp ? XDR_TRUE : XDR_FALSE; - return xdr_putint32(xdrs, &lb); - - case XDR_DECODE: - if (!xdr_getint32(xdrs, &lb)) - { - return FALSE; - } - *bp = (lb == XDR_FALSE) ? FALSE : TRUE; - return TRUE; - - case XDR_FREE: - return TRUE; - } - return FALSE; -#undef XDR_FALSE -#undef XDR_TRUE -} - - - /* * XDR opaque data * Allows the specification of a fixed size sequence of opaque bytes. * cp points to the opaque object and cnt gives the byte length. */ -bool_t -xdr_opaque(XDR *xdrs, char *cp, unsigned int cnt) +bool_t xdr_opaque(XDR *xdrs, char *cp, unsigned int cnt) { unsigned int rndup; static char crud[BYTES_PER_XDR_UNIT]; @@ -360,88 +182,9 @@ xdr_opaque(XDR *xdrs, char *cp, unsigned int cnt) } -/* - * XDR null terminated ASCII strings - * xdr_string deals with "C strings" - arrays of bytes that are - * terminated by a nullptr character. The parameter cpp references a - * pointer to storage; If the pointer is null, then the necessary - * storage is allocated. The last parameter is the max allowed length - * of the string as specified by a protocol. - */ -bool_t -xdr_string(XDR *xdrs, char **cpp, unsigned int maxsize) -{ - char *sp = *cpp; /* sp is the actual string pointer */ - unsigned int size = 0; - unsigned int nodesize = 0; - - /* - * first deal with the length since xdr strings are counted-strings - */ - switch (xdrs->x_op) - { - case XDR_FREE: - if (sp == nullptr) - { - return TRUE; /* already free */ - } - /* fall through... */ - case XDR_ENCODE: - if (sp == nullptr) - return FALSE; - size = strlen(sp); - break; - case XDR_DECODE: - break; - } - - if (!xdr_u_int(xdrs, &size)) - { - return FALSE; - } - if (size > maxsize) - { - return FALSE; - } - nodesize = size + 1; - - /* - * now deal with the actual bytes - */ - switch (xdrs->x_op) - { - case XDR_DECODE: - if (nodesize == 0) - { - return TRUE; - } - if (sp == nullptr) - *cpp = sp = (char *) malloc(nodesize); - if (sp == nullptr) - { - (void) fputs("xdr_string: out of memory\n", stderr); - return FALSE; - } - sp[size] = 0; - return xdr_opaque(xdrs, sp, size); - - case XDR_ENCODE: - return xdr_opaque(xdrs, sp, size); - - case XDR_FREE: - free(sp); - *cpp = nullptr; - return TRUE; - } - return FALSE; -} - - - /* Floating-point stuff */ -bool_t -xdr_float(XDR *xdrs, float *fp) +bool_t xdr_float(XDR *xdrs, float *fp) { xdr_int32_t tmp; @@ -467,76 +210,6 @@ xdr_float(XDR *xdrs, float *fp) return FALSE; } - -bool_t -xdr_double(XDR *xdrs, double *dp) -{ - - /* Windows and some other systems dont define double-precision - * word order in the header files, so unfortunately we have - * to calculate it! - */ - static int LSW=-1; /* Least significant fp word */ - int *ip; - xdr_int32_t tmp[2]; - - if (LSW<0) { - double x=0.987654321; /* Just a number */ - - /* Possible representations in IEEE double precision: - * (S=small endian, B=big endian) - * - * Byte order, Word order, Hex - * S S b8 56 0e 3c dd 9a ef 3f - * B S 3c 0e 56 b8 3f ef 9a dd - * S B dd 9a ef 3f b8 56 0e 3c - * B B 3f ef 9a dd 3c 0e 56 b8 - */ - - unsigned char ix = *((char *)&x); - - if (ix==0xdd || ix==0x3f) - LSW=1; /* Big endian word order */ - else if (ix==0xb8 || ix==0x3c) - LSW=0; /* Small endian word order */ - else { /* Catch strange errors */ - printf("Error when detecting floating-point word order.\n" - "Do you have a non-IEEE system?\n" - "If possible, use the XDR libraries provided with your system,\n" - "instead of the Gromacs fallback XDR source.\n"); - exit(0); - } - } - - switch (xdrs->x_op) { - - case XDR_ENCODE: - ip = (int *)dp; - tmp[0] = ip[!LSW]; - tmp[1] = ip[LSW]; - return (xdr_putint32(xdrs, tmp) && - xdr_putint32(xdrs, tmp+1)); - - break; - - case XDR_DECODE: - ip = (int *)dp; - if (xdr_getint32(xdrs, tmp+!LSW) && - xdr_getint32(xdrs, tmp+LSW)) { - ip[0] = tmp[0]; - ip[1] = tmp[1]; - return TRUE; - } - - break; - - case XDR_FREE: - return TRUE; - } - return FALSE; -} - - /* Array routines */ /* @@ -549,8 +222,7 @@ xdr_double(XDR *xdrs, double *dp) * > elemsize: size of each element * > xdr_elem: routine to XDR each element */ -bool_t -xdr_vector(XDR *xdrs, char *basep, unsigned int nelem, +bool_t xdr_vector(XDR *xdrs, char *basep, unsigned int nelem, unsigned int elemsize, xdrproc_t xdr_elem) { #define LASTUNSIGNED ((unsigned int)0-1) @@ -572,30 +244,20 @@ xdr_vector(XDR *xdrs, char *basep, unsigned int nelem, static bool_t xdrstdio_getbytes(XDR *, char *, unsigned int); static bool_t xdrstdio_putbytes(XDR *, char *, unsigned int); -static unsigned int xdrstdio_getpos(XDR *); -static bool_t xdrstdio_setpos(XDR *, unsigned int); -static xdr_int32_t *xdrstdio_inline(XDR *, int); static void xdrstdio_destroy(XDR *); static bool_t xdrstdio_getint32(XDR *, xdr_int32_t *); static bool_t xdrstdio_putint32(XDR *, xdr_int32_t *); -static bool_t xdrstdio_getuint32(XDR *, xdr_uint32_t *); -static bool_t xdrstdio_putuint32(XDR *, xdr_uint32_t *); /* * Ops vector for stdio type XDR */ static const struct xdr_ops xdrstdio_ops = { - xdrstdio_getbytes, /* deserialize counted bytes */ - xdrstdio_putbytes, /* serialize counted bytes */ - xdrstdio_getpos, /* get offset in the stream */ - xdrstdio_setpos, /* set offset in the stream */ - xdrstdio_inline, /* prime stream for inline macros */ - xdrstdio_destroy, /* destroy stream */ - xdrstdio_getint32, /* deserialize a int */ - xdrstdio_putint32, /* serialize a int */ - xdrstdio_getuint32, /* deserialize a int */ - xdrstdio_putuint32 /* serialize a int */ + xdrstdio_getbytes, /* deserialize counted bytes */ + xdrstdio_putbytes, /* serialize counted bytes */ + xdrstdio_destroy, /* destroy stream */ + xdrstdio_getint32, /* deserialize a int */ + xdrstdio_putint32, /* serialize a int */ }; /* @@ -639,31 +301,7 @@ static bool_t xdrstdio_putbytes(XDR *xdrs, char *addr, unsigned int len) return TRUE; } -static unsigned int xdrstdio_getpos(XDR *xdrs) -{ - return (unsigned int) ftell((FILE *) xdrs->x_private); -} - -static bool_t xdrstdio_setpos(XDR *xdrs, unsigned int pos) -{ - return fseek((FILE *) xdrs->x_private, (xdr_int32_t) pos, 0) < 0 ? FALSE : TRUE; -} - -static xdr_int32_t *xdrstdio_inline(XDR * /*xdrs*/, int /*len*/) -{ - /* - * Must do some work to implement this: must ensure - * enough data in the underlying stdio buffer, - * that the buffer is aligned so that we can indirect through a - * long *, and stuff this pointer in xdrs->x_buf. Doing - * a fread or fwrite to a scratch buffer would defeat - * most of the gains to be had here and require storage - * management on this buffer, so we don't do this. - */ - return nullptr; -} - -static bool_t xdrstdio_getint32(XDR *xdrs, xdr_int32_t *ip) + static bool_t xdrstdio_getint32(XDR *xdrs, xdr_int32_t *ip) { xdr_int32_t mycopy; @@ -683,26 +321,6 @@ static bool_t xdrstdio_putint32(XDR *xdrs, xdr_int32_t *ip) return TRUE; } -static bool_t xdrstdio_getuint32(XDR *xdrs, xdr_uint32_t *ip) -{ - xdr_uint32_t mycopy; - - if (fread((char *) &mycopy, 4, 1, (FILE *) xdrs->x_private) != 1) - return FALSE; - *ip = xdr_ntohl (mycopy); - return TRUE; -} - -static bool_t xdrstdio_putuint32(XDR *xdrs, xdr_uint32_t *ip) -{ - xdr_uint32_t mycopy = xdr_htonl (*ip); - - ip = &mycopy; - if (fwrite((char *) ip, 4, 1, (FILE *) xdrs->x_private) != 1) - return FALSE; - return TRUE; -} - #ifdef __cplusplus } #endif diff --git a/src/EXTRA-DUMP/xdr_compat.h b/src/EXTRA-DUMP/xdr_compat.h index b63e13f6d8..fdac35ea9c 100644 --- a/src/EXTRA-DUMP/xdr_compat.h +++ b/src/EXTRA-DUMP/xdr_compat.h @@ -83,26 +83,16 @@ struct XDR { }; struct xdr_ops { + /* get some bytes from XDR stream */ bool_t (*x_getbytes)(XDR *__xdrs, char *__addr, unsigned int __len); - /* get some bytes from " */ + /* put some bytes to XDR stream */ bool_t (*x_putbytes)(XDR *__xdrs, char *__addr, unsigned int __len); - /* put some bytes to " */ - unsigned int (*x_getpostn)(XDR *__xdrs); - /* returns bytes off from beginning */ - bool_t (*x_setpostn)(XDR *__xdrs, unsigned int __pos); - /* lets you reposition the stream */ - xdr_int32_t *(*x_inline)(XDR *__xdrs, int __len); - /* buf quick ptr to buffered data */ - void (*x_destroy)(XDR *__xdrs); /* free privates of this xdr_stream */ + void (*x_destroy)(XDR *__xdrs); + /* get a int from XDR stream */ bool_t (*x_getint32)(XDR *__xdrs, xdr_int32_t *__ip); - /* get a int from underlying stream */ + /* put a int to XDR stream */ bool_t (*x_putint32)(XDR *__xdrs, xdr_int32_t *__ip); - /* put a int to " */ - bool_t (*x_getuint32)(XDR *__xdrs, xdr_uint32_t *__ip); - /* get a unsigned int from underlying stream */ - bool_t (*x_putuint32)(XDR *__xdrs, xdr_uint32_t *__ip); - /* put a int to " */ }; /* @@ -128,46 +118,21 @@ typedef bool_t (*xdrproc_t)(XDR *, void *, ...); */ #define xdr_getint32(xdrs, int32p) (*(xdrs)->x_ops->x_getint32)(xdrs, int32p) - #define xdr_putint32(xdrs, int32p) (*(xdrs)->x_ops->x_putint32)(xdrs, int32p) - -#define xdr_getuint32(xdrs, uint32p) (*(xdrs)->x_ops->x_getuint32)(xdrs, uint32p) - -#define xdr_putuint32(xdrs, uint32p) (*(xdrs)->x_ops->x_putuint32)(xdrs, uint32p) - #define xdr_getbytes(xdrs, addr, len) (*(xdrs)->x_ops->x_getbytes)(xdrs, addr, len) - #define xdr_putbytes(xdrs, addr, len) (*(xdrs)->x_ops->x_putbytes)(xdrs, addr, len) - -#define xdr_getpos(xdrs) (*(xdrs)->x_ops->x_getpostn)(xdrs) - -#define xdr_setpos(xdrs, pos) (*(xdrs)->x_ops->x_setpostn)(xdrs, pos) - -#define xdr_inline(xdrs, len) (*(xdrs)->x_ops->x_inline)(xdrs, len) - #define xdr_destroy(xdrs) \ do { \ if ((xdrs)->x_ops->x_destroy) (*(xdrs)->x_ops->x_destroy)(xdrs); \ } while (0) extern bool_t xdr_int(XDR *__xdrs, int *__ip); -extern bool_t xdr_u_int(XDR *__xdrs, unsigned int *__ip); -extern bool_t xdr_short(XDR *__xdrs, short *__ip); -extern bool_t xdr_u_short(XDR *__xdrs, unsigned short *__ip); -extern bool_t xdr_bool(XDR *__xdrs, int *__bp); extern bool_t xdr_opaque(XDR *__xdrs, char *__cp, unsigned int __cnt); -extern bool_t xdr_string(XDR *__xdrs, char **__cpp, unsigned int __maxsize); -extern bool_t xdr_char(XDR *__xdrs, char *__cp); -extern bool_t xdr_u_char(XDR *__xdrs, unsigned char *__cp); extern bool_t xdr_vector(XDR *__xdrs, char *__basep, unsigned int __nelem, unsigned int __elemsize, xdrproc_t __xdr_elem); extern bool_t xdr_float(XDR *__xdrs, float *__fp); -extern bool_t xdr_double(XDR *__xdrs, double *__dp); extern void xdrstdio_create(XDR *__xdrs, FILE *__file, enum xdr_op __xop); -/* free memory buffers for xdr */ -extern void xdr_free(xdrproc_t __proc, char *__objp); - #ifdef __cplusplus } #endif From 0296ca75fb2295432e300764f132c69b927193f2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 31 Mar 2024 18:20:11 -0400 Subject: [PATCH 388/559] remove tabs --- src/EXTRA-DUMP/xdr_compat.cpp | 2 +- src/EXTRA-DUMP/xdr_compat.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/EXTRA-DUMP/xdr_compat.cpp b/src/EXTRA-DUMP/xdr_compat.cpp index e69a2b72e9..f55a415b7d 100644 --- a/src/EXTRA-DUMP/xdr_compat.cpp +++ b/src/EXTRA-DUMP/xdr_compat.cpp @@ -11,7 +11,7 @@ * The XDR sources are avaiable under the BSD 3-clause license for example in * the MIT Kerberos 5 distribution with the following copyright notice and license. * - * @(#)xdr.h 2.2 88/07/29 4.0 RPCSRC + * @(#)xdr.h 2.2 88/07/29 4.0 RPCSRC * * Copyright (c) 2010, Oracle America, Inc. * diff --git a/src/EXTRA-DUMP/xdr_compat.h b/src/EXTRA-DUMP/xdr_compat.h index fdac35ea9c..4f41ade0a0 100644 --- a/src/EXTRA-DUMP/xdr_compat.h +++ b/src/EXTRA-DUMP/xdr_compat.h @@ -16,7 +16,7 @@ extern "C" { * The XDR sources are avaiable under the BSD 3-clause license for example in * the MIT Kerberos 5 distribution with the following copyright notice and license. * - * @(#)xdr.h 2.2 88/07/29 4.0 RPCSRC + * @(#)xdr.h 2.2 88/07/29 4.0 RPCSRC * * Copyright (c) 2010, Oracle America, Inc. * From 3da6a7bdb085d88334b235a6ac9c09f2eafe100f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 31 Mar 2024 19:29:09 -0400 Subject: [PATCH 389/559] eliminate compatibility typedefs --- src/EXTRA-DUMP/dump_xtc.cpp | 4 ++-- src/EXTRA-DUMP/xdr_compat.cpp | 7 ------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/src/EXTRA-DUMP/dump_xtc.cpp b/src/EXTRA-DUMP/dump_xtc.cpp index 9d4ec1b9bb..3d84ff67ef 100644 --- a/src/EXTRA-DUMP/dump_xtc.cpp +++ b/src/EXTRA-DUMP/dump_xtc.cpp @@ -1053,7 +1053,7 @@ int xdr3dfcoord(XDR *xdrs, float *fp, int *size, float *precision) } if (buf[1] != 0) buf[0]++; xdr_int(xdrs, &(buf[0])); /* buf[0] holds the length in bytes */ - return errval * (xdr_opaque(xdrs, (caddr_t)&(buf[3]), (u_int)buf[0])); + return errval * (xdr_opaque(xdrs, (char *)&(buf[3]), (unsigned int)buf[0])); } else { /* xdrs is open for reading */ @@ -1134,7 +1134,7 @@ int xdr3dfcoord(XDR *xdrs, float *fp, int *size, float *precision) if (xdr_int(xdrs, &(buf[0])) == 0) return 0; - if (xdr_opaque(xdrs, (caddr_t)&(buf[3]), (u_int)buf[0]) == 0) + if (xdr_opaque(xdrs, (char *)&(buf[3]), (unsigned int)buf[0]) == 0) return 0; buf[0] = buf[1] = buf[2] = 0; diff --git a/src/EXTRA-DUMP/xdr_compat.cpp b/src/EXTRA-DUMP/xdr_compat.cpp index f55a415b7d..0c8ba199ce 100644 --- a/src/EXTRA-DUMP/xdr_compat.cpp +++ b/src/EXTRA-DUMP/xdr_compat.cpp @@ -49,13 +49,6 @@ extern "C" { #endif -/* compatibility typedefs */ -#if defined(_WIN32) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) || \ - defined(__OpenBSD__) || defined(__NetBSD__) || (defined(__linux__) && !defined(__GLIBC_MINOR__)) -typedef char *caddr_t; -typedef unsigned int u_int; -#endif - #ifndef FALSE #define FALSE (0) #endif From 051c8185969bacd2b6ebe6dabc40f65c60179afb Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 31 Mar 2024 19:39:21 -0400 Subject: [PATCH 390/559] enable and apply clang-format --- src/EXTRA-DUMP/xdr_compat.cpp | 133 ++++++++++++++-------------------- 1 file changed, 54 insertions(+), 79 deletions(-) diff --git a/src/EXTRA-DUMP/xdr_compat.cpp b/src/EXTRA-DUMP/xdr_compat.cpp index 0c8ba199ce..c37f821a4e 100644 --- a/src/EXTRA-DUMP/xdr_compat.cpp +++ b/src/EXTRA-DUMP/xdr_compat.cpp @@ -1,5 +1,5 @@ -// clang-format off #include "xdr_compat.h" + #include #include @@ -67,19 +67,18 @@ static xdr_uint32_t xdr_swapbytes(xdr_uint32_t x) { xdr_uint32_t y; int i; - char *px=(char *)&x; - char *py=(char *)&y; + char *px = (char *) &x; + char *py = (char *) &y; - for (i=0;i<4;i++) - py[i]=px[3-i]; + for (i = 0; i < 4; i++) py[i] = px[3 - i]; return y; } static xdr_uint32_t xdr_htonl(xdr_uint32_t x) { - short s=0x0F00; - if (*((char *)&s)==(char)0x0F) { + short s = 0x0F00; + if (*((char *) &s) == (char) 0x0F) { /* bigendian, do nothing */ return x; } else { @@ -90,8 +89,8 @@ static xdr_uint32_t xdr_htonl(xdr_uint32_t x) static xdr_uint32_t xdr_ntohl(xdr_uint32_t x) { - short s=0x0F00; - if (*((char *)&s)==(char)0x0F) { + short s = 0x0F00; + if (*((char *) &s) == (char) 0x0F) { /* bigendian, do nothing */ return x; } else { @@ -107,15 +106,13 @@ bool_t xdr_int(XDR *xdrs, int *ip) { xdr_int32_t l; - switch (xdrs->x_op) - { + switch (xdrs->x_op) { case XDR_ENCODE: - l = (xdr_int32_t)(*ip); + l = (xdr_int32_t) (*ip); return xdr_putint32(xdrs, &l); case XDR_DECODE: - if (!xdr_getint32(xdrs, &l)) - return FALSE; + if (!xdr_getint32(xdrs, &l)) return FALSE; *ip = (int) l; return TRUE; @@ -138,69 +135,57 @@ bool_t xdr_opaque(XDR *xdrs, char *cp, unsigned int cnt) /* * if no data we are done */ - if (cnt == 0) - return TRUE; + if (cnt == 0) return TRUE; /* * round byte count to full xdr units */ rndup = cnt % BYTES_PER_XDR_UNIT; - if (rndup > 0) - rndup = BYTES_PER_XDR_UNIT - rndup; + if (rndup > 0) rndup = BYTES_PER_XDR_UNIT - rndup; - switch (xdrs->x_op) - { + switch (xdrs->x_op) { case XDR_DECODE: - if (!xdr_getbytes(xdrs, cp, cnt)) - { - return FALSE; - } - if (rndup == 0) - return TRUE; - return xdr_getbytes(xdrs, (char *)crud, rndup); + if (!xdr_getbytes(xdrs, cp, cnt)) { return FALSE; } + if (rndup == 0) return TRUE; + return xdr_getbytes(xdrs, (char *) crud, rndup); case XDR_ENCODE: - if (!xdr_putbytes(xdrs, cp, cnt)) - { - return FALSE; - } - if (rndup == 0) - return TRUE; + if (!xdr_putbytes(xdrs, cp, cnt)) { return FALSE; } + if (rndup == 0) return TRUE; return xdr_putbytes(xdrs, xdr_zero, rndup); case XDR_FREE: return TRUE; - } + } return FALSE; } - /* Floating-point stuff */ bool_t xdr_float(XDR *xdrs, float *fp) { - xdr_int32_t tmp; + xdr_int32_t tmp; - switch (xdrs->x_op) { + switch (xdrs->x_op) { - case XDR_ENCODE: - tmp = *(xdr_int32_t *)fp; - return (xdr_putint32(xdrs, &tmp)); + case XDR_ENCODE: + tmp = *(xdr_int32_t *) fp; + return (xdr_putint32(xdrs, &tmp)); - break; + break; - case XDR_DECODE: - if (xdr_getint32(xdrs, &tmp)) { - *(xdr_int32_t *)fp = tmp; - return TRUE; - } + case XDR_DECODE: + if (xdr_getint32(xdrs, &tmp)) { + *(xdr_int32_t *) fp = tmp; + return TRUE; + } - break; + break; - case XDR_FREE: - return TRUE; - } - return FALSE; + case XDR_FREE: + return TRUE; + } + return FALSE; } /* Array routines */ @@ -215,22 +200,18 @@ bool_t xdr_float(XDR *xdrs, float *fp) * > elemsize: size of each element * > xdr_elem: routine to XDR each element */ -bool_t xdr_vector(XDR *xdrs, char *basep, unsigned int nelem, - unsigned int elemsize, xdrproc_t xdr_elem) +bool_t xdr_vector(XDR *xdrs, char *basep, unsigned int nelem, unsigned int elemsize, + xdrproc_t xdr_elem) { -#define LASTUNSIGNED ((unsigned int)0-1) +#define LASTUNSIGNED ((unsigned int) 0 - 1) unsigned int i; char *elptr; elptr = basep; - for (i = 0; i < nelem; i++) - { - if (!(*xdr_elem)(xdrs, elptr, LASTUNSIGNED)) - { - return FALSE; - } - elptr += elemsize; - } + for (i = 0; i < nelem; i++) { + if (!(*xdr_elem)(xdrs, elptr, LASTUNSIGNED)) { return FALSE; } + elptr += elemsize; + } return TRUE; #undef LASTUNSIGNED } @@ -244,13 +225,12 @@ static bool_t xdrstdio_putint32(XDR *, xdr_int32_t *); /* * Ops vector for stdio type XDR */ -static const struct xdr_ops xdrstdio_ops = -{ - xdrstdio_getbytes, /* deserialize counted bytes */ - xdrstdio_putbytes, /* serialize counted bytes */ - xdrstdio_destroy, /* destroy stream */ - xdrstdio_getint32, /* deserialize a int */ - xdrstdio_putint32, /* serialize a int */ +static const struct xdr_ops xdrstdio_ops = { + xdrstdio_getbytes, /* deserialize counted bytes */ + xdrstdio_putbytes, /* serialize counted bytes */ + xdrstdio_destroy, /* destroy stream */ + xdrstdio_getint32, /* deserialize a int */ + xdrstdio_putint32, /* serialize a int */ }; /* @@ -279,27 +259,23 @@ static void xdrstdio_destroy(XDR *xdrs) /* xx should we close the file ?? */ } - static bool_t xdrstdio_getbytes(XDR *xdrs, char *addr, unsigned int len) { - if ((len != 0) && (fread(addr, (int) len, 1, (FILE *) xdrs->x_private) != 1)) - return FALSE; + if ((len != 0) && (fread(addr, (int) len, 1, (FILE *) xdrs->x_private) != 1)) return FALSE; return TRUE; } static bool_t xdrstdio_putbytes(XDR *xdrs, char *addr, unsigned int len) { - if ((len != 0) && (fwrite(addr, (int) len, 1, (FILE *) xdrs->x_private) != 1)) - return FALSE; + if ((len != 0) && (fwrite(addr, (int) len, 1, (FILE *) xdrs->x_private) != 1)) return FALSE; return TRUE; } - static bool_t xdrstdio_getint32(XDR *xdrs, xdr_int32_t *ip) +static bool_t xdrstdio_getint32(XDR *xdrs, xdr_int32_t *ip) { xdr_int32_t mycopy; - if (fread((char *) &mycopy, 4, 1, (FILE *) xdrs->x_private) != 1) - return FALSE; + if (fread((char *) &mycopy, 4, 1, (FILE *) xdrs->x_private) != 1) return FALSE; *ip = xdr_ntohl(mycopy); return TRUE; } @@ -309,8 +285,7 @@ static bool_t xdrstdio_putint32(XDR *xdrs, xdr_int32_t *ip) xdr_int32_t mycopy = xdr_htonl(*ip); ip = &mycopy; - if (fwrite((char *) ip, 4, 1, (FILE *) xdrs->x_private) != 1) - return FALSE; + if (fwrite((char *) ip, 4, 1, (FILE *) xdrs->x_private) != 1) return FALSE; return TRUE; } From 4eaf257e526b0e1a2cbbe0240ec0419b2beb7b1e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 31 Mar 2024 19:49:01 -0400 Subject: [PATCH 391/559] small cleanups --- src/EXTRA-DUMP/dump_xtc.cpp | 6 +++--- src/EXTRA-DUMP/xdr_compat.h | 3 --- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/EXTRA-DUMP/dump_xtc.cpp b/src/EXTRA-DUMP/dump_xtc.cpp index 3d84ff67ef..3119a470dc 100644 --- a/src/EXTRA-DUMP/dump_xtc.cpp +++ b/src/EXTRA-DUMP/dump_xtc.cpp @@ -14,7 +14,7 @@ /* ---------------------------------------------------------------------- Contributing authors: Naveen Michaud-Agrawal (Johns Hopkins U) - open-source XDR routines from + Open Source XDR based I/O routines from Frans van Hoesel (https://www.rug.nl/staff/f.h.j.van.hoesel/) are included in this file Axel Kohlmeyer (Temple U) @@ -43,8 +43,8 @@ using namespace LAMMPS_NS; -#define EPS 1e-5 -#define XTC_MAGIC 1995 +static constexpr double EPS = 1.0e-5; +static constexpr int XTC_MAGIC = 1995; #define MYMIN(a,b) ((a) < (b) ? (a) : (b)) #define MYMAX(a,b) ((a) > (b) ? (a) : (b)) diff --git a/src/EXTRA-DUMP/xdr_compat.h b/src/EXTRA-DUMP/xdr_compat.h index 4f41ade0a0..d600a4a404 100644 --- a/src/EXTRA-DUMP/xdr_compat.h +++ b/src/EXTRA-DUMP/xdr_compat.h @@ -111,10 +111,7 @@ typedef bool_t (*xdrproc_t)(XDR *, void *, ...); * * XDR *xdrs; * xdr_int32_t *int32p; - * long *longp; - * char *addr; * unsigned int len; - * unsigned int pos; */ #define xdr_getint32(xdrs, int32p) (*(xdrs)->x_ops->x_getint32)(xdrs, int32p) From 2ddd940a3e4978b2af99ac78c38a0085062cab6d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 31 Mar 2024 20:31:25 -0400 Subject: [PATCH 392/559] minor cosmetic changes --- src/EXTRA-DUMP/xdr_compat.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/EXTRA-DUMP/xdr_compat.cpp b/src/EXTRA-DUMP/xdr_compat.cpp index c37f821a4e..3caa38663c 100644 --- a/src/EXTRA-DUMP/xdr_compat.cpp +++ b/src/EXTRA-DUMP/xdr_compat.cpp @@ -107,17 +107,21 @@ bool_t xdr_int(XDR *xdrs, int *ip) xdr_int32_t l; switch (xdrs->x_op) { + case XDR_ENCODE: l = (xdr_int32_t) (*ip); return xdr_putint32(xdrs, &l); + break; case XDR_DECODE: if (!xdr_getint32(xdrs, &l)) return FALSE; *ip = (int) l; return TRUE; + break; case XDR_FREE: return TRUE; + break; } return FALSE; } @@ -144,18 +148,22 @@ bool_t xdr_opaque(XDR *xdrs, char *cp, unsigned int cnt) if (rndup > 0) rndup = BYTES_PER_XDR_UNIT - rndup; switch (xdrs->x_op) { + case XDR_DECODE: if (!xdr_getbytes(xdrs, cp, cnt)) { return FALSE; } if (rndup == 0) return TRUE; return xdr_getbytes(xdrs, (char *) crud, rndup); + break; case XDR_ENCODE: if (!xdr_putbytes(xdrs, cp, cnt)) { return FALSE; } if (rndup == 0) return TRUE; return xdr_putbytes(xdrs, xdr_zero, rndup); + break; case XDR_FREE: return TRUE; + break; } return FALSE; } @@ -171,7 +179,6 @@ bool_t xdr_float(XDR *xdrs, float *fp) case XDR_ENCODE: tmp = *(xdr_int32_t *) fp; return (xdr_putint32(xdrs, &tmp)); - break; case XDR_DECODE: @@ -179,11 +186,11 @@ bool_t xdr_float(XDR *xdrs, float *fp) *(xdr_int32_t *) fp = tmp; return TRUE; } - break; case XDR_FREE: return TRUE; + break; } return FALSE; } From 05562ad5e9f42473d2f3e6c40b67f6edf040dc80 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 1 Apr 2024 21:35:35 -0600 Subject: [PATCH 393/559] testing 2d rigid changes --- src/RIGID/fix_rigid.cpp | 82 ++++++++++++++++++++++++++++++++++++++++- src/math_eigen.cpp | 4 +- 2 files changed, 83 insertions(+), 3 deletions(-) diff --git a/src/RIGID/fix_rigid.cpp b/src/RIGID/fix_rigid.cpp index 7a63c52220..9553d0b9fc 100644 --- a/src/RIGID/fix_rigid.cpp +++ b/src/RIGID/fix_rigid.cpp @@ -38,6 +38,9 @@ #include #include +// DEBUG +#define IBODY 42 + using namespace LAMMPS_NS; using namespace FixConst; using namespace MathConst; @@ -893,9 +896,12 @@ void FixRigid::setup(int vflag) // set velocities from angmom & omega - for (ibody = 0; ibody < nbody; ibody++) + for (ibody = 0; ibody < nbody; ibody++) { MathExtra::angmom_to_omega(angmom[ibody],ex_space[ibody],ey_space[ibody], ez_space[ibody],inertia[ibody],omega[ibody]); + if (ibody == IBODY) printf("SETUP omega: %g %g %g\n", + omega[ibody][0],omega[ibody][1],omega[ibody][2]); + } set_v(); @@ -944,10 +950,68 @@ void FixRigid::initial_integrate(int vflag) MathExtra::angmom_to_omega(angmom[ibody],ex_space[ibody],ey_space[ibody], ez_space[ibody],inertia[ibody],omega[ibody]); + + if (update->ntimestep % 1 == 0 && ibody == IBODY) { + printf("BODY %d: start of step %ld\n",ibody,update->ntimestep); + printf(" interia %g %g %g\n", + inertia[ibody][0],inertia[ibody][1],inertia[ibody][2]); + printf(" angmom %g %g %g\n", + angmom[ibody][0],angmom[ibody][1],angmom[ibody][2]); + printf(" omega %g %g %g\n", + omega[ibody][0],omega[ibody][1],omega[ibody][2]); + printf(" ex %g %g %g\n", + ex_space[ibody][0],ex_space[ibody][1],ex_space[ibody][2]); + printf(" ey %g %g %g\n", + ey_space[ibody][0],ey_space[ibody][1],ey_space[ibody][2]); + printf(" ez %g %g %g\n", + ez_space[ibody][0],ez_space[ibody][1],ez_space[ibody][2]); + printf(" quat %15.12g %15.12g %15.12g %15.12g\n", + quat[ibody][0],quat[ibody][1],quat[ibody][2],quat[ibody][3]); + } + MathExtra::richardson(quat[ibody],angmom[ibody],omega[ibody], inertia[ibody],dtq); + + if (update->ntimestep % 1 == 0 && ibody == IBODY) { + printf(" richardson omega %g %g %g\n", + omega[ibody][0],omega[ibody][1],omega[ibody][2]); + printf(" richardson quat %15.12g %15.12g %15.12g %15.12g\n", + quat[ibody][0],quat[ibody][1],quat[ibody][2],quat[ibody][3]); + } + MathExtra::q_to_exyz(quat[ibody], ex_space[ibody],ey_space[ibody],ez_space[ibody]); + + if (update->ntimestep % 1 == 0 && ibody == IBODY) { + printf(" exnew %g %g %g\n", + ex_space[ibody][0],ex_space[ibody][1],ex_space[ibody][2]); + printf(" eynew %g %g %g\n", + ey_space[ibody][0],ey_space[ibody][1],ey_space[ibody][2]); + printf(" eznew %g %g %g\n", + ez_space[ibody][0],ez_space[ibody][1],ez_space[ibody][2]); + } + + /* + if (ibody == 42) { + ex_space[ibody][0] = ex_space[ibody][1] = 0.0; + ex_space[ibody][2] = 1.0; + ey_space[ibody][2] = ez_space[ibody][2] = 0.0; + MathExtra::norm3(ey_space[ibody]); + MathExtra::norm3(ez_space[ibody]); + MathExtra::exyz_to_q(ex_space[ibody],ey_space[ibody],ez_space[ibody],quat[ibody]); + } + */ + + if (update->ntimestep % 1 == 0 && ibody == IBODY) { + printf(" quatnew2 %15.12g %15.12g %15.12g %15.12g\n", + quat[ibody][0],quat[ibody][1],quat[ibody][2],quat[ibody][3]); + printf(" exnew2 %g %g %g\n", + ex_space[ibody][0],ex_space[ibody][1],ex_space[ibody][2]); + printf(" eynew2 %g %g %g\n", + ey_space[ibody][0],ey_space[ibody][1],ey_space[ibody][2]); + printf(" eznew2 %g %g %g\n", + ez_space[ibody][0],ez_space[ibody][1],ez_space[ibody][2]); + } } // virial setup before call to set_xv @@ -1025,6 +1089,22 @@ void FixRigid::final_integrate() MathExtra::angmom_to_omega(angmom[ibody],ex_space[ibody],ey_space[ibody], ez_space[ibody],inertia[ibody],omega[ibody]); + + if (update->ntimestep % 1 == 0 && ibody == IBODY) { + printf("BODY %d: end of step %ld\n",ibody,update->ntimestep); + printf(" interia %g %g %g\n", + inertia[ibody][0],inertia[ibody][1],inertia[ibody][2]); + printf(" angmom %g %g %g\n", + angmom[ibody][0],angmom[ibody][1],angmom[ibody][2]); + printf(" omega %g %g %g\n", + omega[ibody][0],omega[ibody][1],omega[ibody][2]); + printf(" ex %g %g %g\n", + ex_space[ibody][0],ex_space[ibody][1],ex_space[ibody][2]); + printf(" ey %g %g %g\n", + ey_space[ibody][0],ey_space[ibody][1],ey_space[ibody][2]); + printf(" ez %g %g %g\n", + ez_space[ibody][0],ez_space[ibody][1],ez_space[ibody][2]); + } } // set velocity/rotation of atoms in rigid bodies diff --git a/src/math_eigen.cpp b/src/math_eigen.cpp index 65c3fa806a..42d95a1288 100644 --- a/src/math_eigen.cpp +++ b/src/math_eigen.cpp @@ -44,7 +44,7 @@ int MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3]) // create instance of generic Jacobi class and get eigenvalues and -vectors Jacobi_v1 ecalc3(3, M, midx); - int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::SORT_DECREASING_EVALS); + int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::SORT_INCREASING_EVAL); // transpose the evec matrix @@ -67,7 +67,7 @@ int MathEigen::jacobi3(double const *const *mat, double *eval, double **evec) // create instance of generic Jacobi class and get eigenvalues and -vectors Jacobi_v2 ecalc3(3, M, midx); - int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v2::SORT_DECREASING_EVALS); + int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v2::SORT_INCREASING_EVALS); // transpose the evec matrix From 21745538a76b2e421c4229503bd22539c5389816 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 2 Apr 2024 23:02:04 -0400 Subject: [PATCH 394/559] Revert "change ordering of eigenvalues in jacobi3() function. update tests." This reverts commit c4eadd3a5966a0103afe8236273408a5c68a1df7. --- examples/micelle/in.micelle | 76 +-- examples/micelle/in.micelle-rigid | 90 ++-- .../micelle/log.25Mar24.micelle-rigid.g++.1 | 272 ---------- .../micelle/log.25Mar24.micelle-rigid.g++.4 | 272 ---------- examples/micelle/log.25Mar24.micelle.g++.1 | 229 --------- examples/micelle/log.25Mar24.micelle.g++.4 | 229 --------- .../micelle/log.29Mar2019.micelle-rigid.g++.1 | 260 ++++++++++ .../micelle/log.29Mar2019.micelle-rigid.g++.4 | 260 ++++++++++ examples/micelle/log.29Mar2019.micelle.g++.1 | 218 ++++++++ examples/micelle/log.29Mar2019.micelle.g++.4 | 218 ++++++++ examples/rigid/log.20Mar22.rigid.infile.g++.1 | 312 ++++++++++++ examples/rigid/log.20Mar22.rigid.infile.g++.4 | 312 ++++++++++++ .../rigid/log.20Mar22.rigid.molecule.g++.1 | 349 +++++++++++++ .../rigid/log.20Mar22.rigid.molecule.g++.4 | 349 +++++++++++++ examples/rigid/log.20Mar22.rigid.poems.g++.1 | 328 ++++++++++++ examples/rigid/log.20Mar22.rigid.poems.g++.4 | 328 ++++++++++++ examples/rigid/log.20Mar22.rigid.poems2.g++.1 | 330 ++++++++++++ examples/rigid/log.20Mar22.rigid.poems2.g++.4 | 330 ++++++++++++ examples/rigid/log.20Mar22.rigid.poems3.g++.1 | 329 ++++++++++++ examples/rigid/log.20Mar22.rigid.poems3.g++.4 | 329 ++++++++++++ examples/rigid/log.20Mar22.rigid.poems4.g++.1 | 328 ++++++++++++ examples/rigid/log.20Mar22.rigid.poems4.g++.4 | 328 ++++++++++++ examples/rigid/log.20Mar22.rigid.poems5.g++.1 | 329 ++++++++++++ examples/rigid/log.20Mar22.rigid.poems5.g++.4 | 329 ++++++++++++ .../log.20Mar22.rigid.rigid.molecule.g++.1 | 0 .../log.20Mar22.rigid.rigid.molecule.g++.4 | 0 examples/rigid/log.20Mar22.rigid.small.g++.1 | 322 ++++++++++++ examples/rigid/log.20Mar22.rigid.small.g++.4 | 322 ++++++++++++ .../log.20Mar22.rigid.small.infile.g++.1 | 323 ++++++++++++ .../log.20Mar22.rigid.small.infile.g++.4 | 323 ++++++++++++ .../rigid/log.25Mar24.rigid.atomfile.g++.1 | 341 ------------- .../rigid/log.25Mar24.rigid.atomfile.g++.4 | 341 ------------- .../rigid/log.25Mar24.rigid.atomvar.g++.1 | 341 ------------- .../rigid/log.25Mar24.rigid.atomvar.g++.4 | 341 ------------- examples/rigid/log.25Mar24.rigid.early.g++.1 | 340 ------------- examples/rigid/log.25Mar24.rigid.early.g++.4 | 340 ------------- examples/rigid/log.25Mar24.rigid.g++.1 | 338 ------------- examples/rigid/log.25Mar24.rigid.g++.4 | 338 ------------- .../rigid/log.25Mar24.rigid.gravity.g++.1 | 228 --------- .../rigid/log.25Mar24.rigid.gravity.g++.4 | 228 --------- examples/rigid/log.25Mar24.rigid.infile.g++.1 | 310 ------------ examples/rigid/log.25Mar24.rigid.infile.g++.4 | 310 ------------ .../rigid/log.25Mar24.rigid.molecule.g++.1 | 319 ------------ .../rigid/log.25Mar24.rigid.molecule.g++.4 | 319 ------------ .../rigid/log.25Mar24.rigid.nve.early.g++.1 | 340 ------------- .../rigid/log.25Mar24.rigid.nve.early.g++.4 | 340 ------------- examples/rigid/log.25Mar24.rigid.nve.g++.1 | 338 ------------- examples/rigid/log.25Mar24.rigid.nve.g++.4 | 338 ------------- examples/rigid/log.25Mar24.rigid.poems.g++.1 | 328 ------------ examples/rigid/log.25Mar24.rigid.poems.g++.4 | 328 ------------ examples/rigid/log.25Mar24.rigid.poems2.g++.1 | 330 ------------ examples/rigid/log.25Mar24.rigid.poems2.g++.4 | 330 ------------ examples/rigid/log.25Mar24.rigid.poems3.g++.1 | 329 ------------ examples/rigid/log.25Mar24.rigid.poems3.g++.4 | 329 ------------ examples/rigid/log.25Mar24.rigid.poems4.g++.1 | 328 ------------ examples/rigid/log.25Mar24.rigid.poems4.g++.4 | 328 ------------ examples/rigid/log.25Mar24.rigid.poems5.g++.1 | 329 ------------ examples/rigid/log.25Mar24.rigid.poems5.g++.4 | 329 ------------ .../rigid/log.25Mar24.rigid.property.g++.1 | 343 ------------- .../rigid/log.25Mar24.rigid.property.g++.4 | 343 ------------- examples/rigid/log.25Mar24.rigid.small.g++.1 | 321 ------------ examples/rigid/log.25Mar24.rigid.small.g++.4 | 321 ------------ .../log.25Mar24.rigid.small.infile.g++.1 | 322 ------------ .../log.25Mar24.rigid.small.infile.g++.4 | 322 ------------ examples/rigid/log.25Mar24.rigid.tnr.g++.1 | 475 ------------------ examples/rigid/log.25Mar24.rigid.tnr.g++.4 | 475 ------------------ .../rigid/log.27Nov18.rigid.atomfile.g++.1 | 338 +++++++++++++ .../rigid/log.27Nov18.rigid.atomfile.g++.4 | 338 +++++++++++++ .../rigid/log.27Nov18.rigid.atomvar.g++.1 | 338 +++++++++++++ .../rigid/log.27Nov18.rigid.atomvar.g++.4 | 338 +++++++++++++ examples/rigid/log.27Nov18.rigid.early.g++.1 | 337 +++++++++++++ examples/rigid/log.27Nov18.rigid.early.g++.4 | 337 +++++++++++++ examples/rigid/log.27Nov18.rigid.g++.1 | 335 ++++++++++++ examples/rigid/log.27Nov18.rigid.g++.4 | 335 ++++++++++++ .../rigid/log.27Nov18.rigid.nve.early.g++.1 | 337 +++++++++++++ .../rigid/log.27Nov18.rigid.nve.early.g++.4 | 337 +++++++++++++ examples/rigid/log.27Nov18.rigid.nve.g++.1 | 335 ++++++++++++ examples/rigid/log.27Nov18.rigid.nve.g++.4 | 335 ++++++++++++ .../rigid/log.27Nov18.rigid.property.g++.1 | 340 +++++++++++++ .../rigid/log.27Nov18.rigid.property.g++.4 | 340 +++++++++++++ examples/rigid/log.27Nov18.rigid.tnr.g++.1 | 458 +++++++++++++++++ examples/rigid/log.27Nov18.rigid.tnr.g++.4 | 458 +++++++++++++++++ src/math_eigen.cpp | 4 +- .../tests/fix-timestep-rigid_group.yaml | 113 +++-- .../tests/fix-timestep-rigid_molecule.yaml | 43 +- .../fix-timestep-rigid_molecule_tri.yaml | 37 +- .../tests/fix-timestep-rigid_nph.yaml | 85 ++-- .../tests/fix-timestep-rigid_nph_small.yaml | 85 ++-- .../tests/fix-timestep-rigid_npt.yaml | 119 +++-- .../tests/fix-timestep-rigid_npt_small.yaml | 85 ++-- .../tests/fix-timestep-rigid_nve_group.yaml | 113 +++-- .../fix-timestep-rigid_nve_molecule.yaml | 45 +- .../tests/fix-timestep-rigid_nve_single.yaml | 77 ++- .../tests/fix-timestep-rigid_nve_small.yaml | 45 +- .../tests/fix-timestep-rigid_nvt.yaml | 79 ++- .../tests/fix-timestep-rigid_nvt_small.yaml | 45 +- .../tests/fix-timestep-rigid_single.yaml | 77 ++- .../tests/fix-timestep-rigid_small.yaml | 43 +- unittest/formats/test_atom_styles.cpp | 288 ++++++----- 99 files changed, 13271 insertions(+), 13772 deletions(-) delete mode 100644 examples/micelle/log.25Mar24.micelle-rigid.g++.1 delete mode 100644 examples/micelle/log.25Mar24.micelle-rigid.g++.4 delete mode 100644 examples/micelle/log.25Mar24.micelle.g++.1 delete mode 100644 examples/micelle/log.25Mar24.micelle.g++.4 create mode 100644 examples/micelle/log.29Mar2019.micelle-rigid.g++.1 create mode 100644 examples/micelle/log.29Mar2019.micelle-rigid.g++.4 create mode 100644 examples/micelle/log.29Mar2019.micelle.g++.1 create mode 100644 examples/micelle/log.29Mar2019.micelle.g++.4 create mode 100644 examples/rigid/log.20Mar22.rigid.infile.g++.1 create mode 100644 examples/rigid/log.20Mar22.rigid.infile.g++.4 create mode 100644 examples/rigid/log.20Mar22.rigid.molecule.g++.1 create mode 100644 examples/rigid/log.20Mar22.rigid.molecule.g++.4 create mode 100644 examples/rigid/log.20Mar22.rigid.poems.g++.1 create mode 100644 examples/rigid/log.20Mar22.rigid.poems.g++.4 create mode 100644 examples/rigid/log.20Mar22.rigid.poems2.g++.1 create mode 100644 examples/rigid/log.20Mar22.rigid.poems2.g++.4 create mode 100644 examples/rigid/log.20Mar22.rigid.poems3.g++.1 create mode 100644 examples/rigid/log.20Mar22.rigid.poems3.g++.4 create mode 100644 examples/rigid/log.20Mar22.rigid.poems4.g++.1 create mode 100644 examples/rigid/log.20Mar22.rigid.poems4.g++.4 create mode 100644 examples/rigid/log.20Mar22.rigid.poems5.g++.1 create mode 100644 examples/rigid/log.20Mar22.rigid.poems5.g++.4 create mode 100644 examples/rigid/log.20Mar22.rigid.rigid.molecule.g++.1 create mode 100644 examples/rigid/log.20Mar22.rigid.rigid.molecule.g++.4 create mode 100644 examples/rigid/log.20Mar22.rigid.small.g++.1 create mode 100644 examples/rigid/log.20Mar22.rigid.small.g++.4 create mode 100644 examples/rigid/log.20Mar22.rigid.small.infile.g++.1 create mode 100644 examples/rigid/log.20Mar22.rigid.small.infile.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.atomfile.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.atomfile.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.atomvar.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.atomvar.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.early.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.early.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.gravity.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.gravity.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.infile.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.infile.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.molecule.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.molecule.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.nve.early.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.nve.early.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.nve.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.nve.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.poems.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.poems.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.poems2.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.poems2.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.poems3.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.poems3.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.poems4.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.poems4.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.poems5.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.poems5.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.property.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.property.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.small.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.small.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.small.infile.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.small.infile.g++.4 delete mode 100644 examples/rigid/log.25Mar24.rigid.tnr.g++.1 delete mode 100644 examples/rigid/log.25Mar24.rigid.tnr.g++.4 create mode 100644 examples/rigid/log.27Nov18.rigid.atomfile.g++.1 create mode 100644 examples/rigid/log.27Nov18.rigid.atomfile.g++.4 create mode 100644 examples/rigid/log.27Nov18.rigid.atomvar.g++.1 create mode 100644 examples/rigid/log.27Nov18.rigid.atomvar.g++.4 create mode 100644 examples/rigid/log.27Nov18.rigid.early.g++.1 create mode 100644 examples/rigid/log.27Nov18.rigid.early.g++.4 create mode 100644 examples/rigid/log.27Nov18.rigid.g++.1 create mode 100644 examples/rigid/log.27Nov18.rigid.g++.4 create mode 100644 examples/rigid/log.27Nov18.rigid.nve.early.g++.1 create mode 100644 examples/rigid/log.27Nov18.rigid.nve.early.g++.4 create mode 100644 examples/rigid/log.27Nov18.rigid.nve.g++.1 create mode 100644 examples/rigid/log.27Nov18.rigid.nve.g++.4 create mode 100644 examples/rigid/log.27Nov18.rigid.property.g++.1 create mode 100644 examples/rigid/log.27Nov18.rigid.property.g++.4 create mode 100644 examples/rigid/log.27Nov18.rigid.tnr.g++.1 create mode 100644 examples/rigid/log.27Nov18.rigid.tnr.g++.4 diff --git a/examples/micelle/in.micelle b/examples/micelle/in.micelle index 1626d09993..34bc9ad359 100644 --- a/examples/micelle/in.micelle +++ b/examples/micelle/in.micelle @@ -1,72 +1,72 @@ # 2d micelle simulation -dimension 2 +dimension 2 -neighbor 0.33 bin -neigh_modify delay 5 +neighbor 0.3 bin +neigh_modify delay 5 -atom_style bond +atom_style bond # Soft potential push-off -read_data data.micelle -special_bonds fene +read_data data.micelle +special_bonds fene -pair_style soft 1.12246 -pair_coeff * * 0.0 1.12246 +pair_style soft 1.12246 +pair_coeff * * 0.0 1.12246 -bond_style harmonic -bond_coeff 1 50.0 0.75 +bond_style harmonic +bond_coeff 1 50.0 0.75 -velocity all create 0.45 2349852 +velocity all create 0.45 2349852 -variable prefactor equal ramp(1.0,20.0) +variable prefactor equal ramp(1.0,20.0) -fix 1 all nve -fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 -fix 3 all adapt 1 pair soft a * * v_prefactor -fix 4 all enforce2d +fix 1 all nve +fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 +fix 3 all adapt 1 pair soft a * * v_prefactor +fix 4 all enforce2d -thermo 50 -run 1000 +thermo 50 +run 1000 -unfix 3 +unfix 3 # Main run -pair_style lj/cut 2.5 +pair_style lj/cut 2.5 # solvent/head - full-size and long-range -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 2 2 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 2.5 +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 2.5 # tail/tail - size-averaged and long-range -pair_coeff 3 3 1.0 0.75 2.5 -pair_coeff 4 4 1.0 0.50 2.5 -pair_coeff 3 4 1.0 0.67 2.5 +pair_coeff 3 3 1.0 0.75 2.5 +pair_coeff 4 4 1.0 0.50 2.5 +pair_coeff 3 4 1.0 0.67 2.5 # solvent/tail - full-size and repulsive -pair_coeff 1 3 1.0 1.0 1.12246 -pair_coeff 1 4 1.0 1.0 1.12246 +pair_coeff 1 3 1.0 1.0 1.12246 +pair_coeff 1 4 1.0 1.0 1.12246 # head/tail - size-averaged and repulsive -pair_coeff 2 3 1.0 0.88 1.12246 -pair_coeff 2 4 1.0 0.75 1.12246 +pair_coeff 2 3 1.0 0.88 1.12246 +pair_coeff 2 4 1.0 0.75 1.12246 -thermo 50 +thermo 50 -#dump 1 all atom 2000 dump.micelle +#dump 1 all atom 2000 dump.micelle -#dump 2 all image 2000 image.*.jpg type type zoom 1.6 -#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 +#dump 2 all image 2000 image.*.jpg type type zoom 1.6 +#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 -#dump 3 all movie 2000 movie.mpg type type zoom 1.6 -#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 +#dump 3 all movie 2000 movie.mpg type type zoom 1.6 +#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 -reset_timestep 0 -run 1000 +reset_timestep 0 +run 1000 diff --git a/examples/micelle/in.micelle-rigid b/examples/micelle/in.micelle-rigid index 21a9cb8a58..93cb2655f8 100644 --- a/examples/micelle/in.micelle-rigid +++ b/examples/micelle/in.micelle-rigid @@ -1,87 +1,87 @@ # 2d micelle simulation -dimension 2 +dimension 2 -neighbor 0.33 bin -neigh_modify delay 5 +neighbor 0.3 bin +neigh_modify delay 5 -atom_style bond +atom_style bond # Soft potential push-off -read_data data.micelle -special_bonds fene +read_data data.micelle +special_bonds fene -pair_style soft 1.12246 -pair_coeff * * 0.0 1.12246 +pair_style soft 1.12246 +pair_coeff * * 0.0 1.12246 -bond_style harmonic -bond_coeff 1 50.0 0.75 +bond_style harmonic +bond_coeff 1 50.0 0.75 -velocity all create 0.45 2349852 +velocity all create 0.45 2349852 -variable prefactor equal ramp(1.0,20.0) +variable prefactor equal ramp(1.0,20.0) -fix 1 all nve -fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 -fix 3 all adapt 1 pair soft a * * v_prefactor -fix 4 all enforce2d +fix 1 all nve +fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 +fix 3 all adapt 1 pair soft a * * v_prefactor +fix 4 all enforce2d -thermo 50 -run 500 +thermo 50 +run 500 -unfix 3 +unfix 3 # Main run -pair_style lj/cut 2.5 +pair_style lj/cut 2.5 # solvent/head - full-size and long-range -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 2 2 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 2.5 +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 2.5 # tail/tail - size-averaged and long-range -pair_coeff 3 3 1.0 0.75 2.5 -pair_coeff 4 4 1.0 0.50 2.5 -pair_coeff 3 4 1.0 0.67 2.5 +pair_coeff 3 3 1.0 0.75 2.5 +pair_coeff 4 4 1.0 0.50 2.5 +pair_coeff 3 4 1.0 0.67 2.5 # solvent/tail - full-size and repulsive -pair_coeff 1 3 1.0 1.0 1.12246 -pair_coeff 1 4 1.0 1.0 1.12246 +pair_coeff 1 3 1.0 1.0 1.12246 +pair_coeff 1 4 1.0 1.0 1.12246 # head/tail - size-averaged and repulsive -pair_coeff 2 3 1.0 0.88 1.12246 -pair_coeff 2 4 1.0 0.75 1.12246 +pair_coeff 2 3 1.0 0.88 1.12246 +pair_coeff 2 4 1.0 0.75 1.12246 -thermo 50 +thermo 50 -#dump 1 all atom 2000 dump.micelle +#dump 1 all atom 2000 dump.micelle -#dump 2 all image 2000 image.*.jpg type type zoom 1.6 -#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 +#dump 2 all image 2000 image.*.jpg type type zoom 1.6 +#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 -#dump 3 all movie 2000 movie.mpg type type zoom 1.6 -#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 +#dump 3 all movie 2000 movie.mpg type type zoom 1.6 +#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 -reset_timestep 0 +reset_timestep 0 group solvent molecule 0 group solute subtract all solvent unfix 1 unfix 2 unfix 4 -fix 1 solvent nve -fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 -fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 -fix 4 all enforce2d -run 500 +fix 1 solvent nve +fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 +fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 +fix 4 all enforce2d +run 500 unfix 2 unfix 4 unfix 5 -fix 5 solute rigid/small molecule -fix 4 all enforce2d -run 500 +fix 5 solute rigid/small molecule +fix 4 all enforce2d +run 500 diff --git a/examples/micelle/log.25Mar24.micelle-rigid.g++.1 b/examples/micelle/log.25Mar24.micelle-rigid.g++.1 deleted file mode 100644 index 8008630d76..0000000000 --- a/examples/micelle/log.25Mar24.micelle-rigid.g++.1 +++ /dev/null @@ -1,272 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# 2d micelle simulation - -dimension 2 - -neighbor 0.33 bin -neigh_modify delay 5 - -atom_style bond - -# Soft potential push-off - -read_data data.micelle -Reading data file ... - orthogonal box = (0 0 -0.1) to (35.85686 35.85686 0.1) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 1200 atoms - scanning bonds ... - 1 = max bonds/atom - reading bonds ... - 300 bonds -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.004 seconds -special_bonds fene -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 1 1 - special bond factors coul: 0 1 1 - 2 = max # of 1-2 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000 seconds - -pair_style soft 1.12246 -pair_coeff * * 0.0 1.12246 - -bond_style harmonic -bond_coeff 1 50.0 0.75 - -velocity all create 0.45 2349852 - -variable prefactor equal ramp(1.0,20.0) - -fix 1 all nve -fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 -fix 3 all adapt 1 pair soft a * * v_prefactor -fix 4 all enforce2d - -thermo 50 -run 500 -Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule -WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) -Neighbor list info ... - update: every = 1 steps, delay = 5 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.45246 - ghost atom cutoff = 1.45246 - binsize = 0.72623, bins = 50 50 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair soft, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d - bin: standard -WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) -Per MPI rank memory allocation (min/avg/max) = 4.148 | 4.148 | 4.148 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 - 50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786 - 100 0.45 0.99659327 0.079228519 1.5254468 3.2135679 - 150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925 - 200 0.45 1.01454 0.10663502 1.5708 4.7598476 - 250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899 - 300 0.45 0.86475538 0.11819875 1.4325791 5.8554758 - 350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247 - 400 0.45 0.75067331 0.14165013 1.3419484 6.3840708 - 450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009 - 500 0.45 0.66669513 0.13695201 1.2532721 6.807146 -Loop time of 0.0683956 on 1 procs for 500 steps with 1200 atoms - -Performance: 3158095.858 tau/day, 7310.407 timesteps/s, 8.772 Matom-step/s -99.1% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.042818 | 0.042818 | 0.042818 | 0.0 | 62.60 -Bond | 0.0026205 | 0.0026205 | 0.0026205 | 0.0 | 3.83 -Neigh | 0.011794 | 0.011794 | 0.011794 | 0.0 | 17.24 -Comm | 0.0014012 | 0.0014012 | 0.0014012 | 0.0 | 2.05 -Output | 0.00012752 | 0.00012752 | 0.00012752 | 0.0 | 0.19 -Modify | 0.0078924 | 0.0078924 | 0.0078924 | 0.0 | 11.54 -Other | | 0.001743 | | | 2.55 - -Nlocal: 1200 ave 1200 max 1200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 198 ave 198 max 198 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 3199 ave 3199 max 3199 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 3199 -Ave neighs/atom = 2.6658333 -Ave special neighs/atom = 0.5 -Neighbor list builds = 48 -Dangerous builds = 0 - -unfix 3 - -# Main run - -pair_style lj/cut 2.5 - -# solvent/head - full-size and long-range - -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 2 2 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 2.5 - -# tail/tail - size-averaged and long-range - -pair_coeff 3 3 1.0 0.75 2.5 -pair_coeff 4 4 1.0 0.50 2.5 -pair_coeff 3 4 1.0 0.67 2.5 - -# solvent/tail - full-size and repulsive - -pair_coeff 1 3 1.0 1.0 1.12246 -pair_coeff 1 4 1.0 1.0 1.12246 - -# head/tail - size-averaged and repulsive - -pair_coeff 2 3 1.0 0.88 1.12246 -pair_coeff 2 4 1.0 0.75 1.12246 - -thermo 50 - -#dump 1 all atom 2000 dump.micelle - -#dump 2 all image 2000 image.*.jpg type type zoom 1.6 -#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -#dump 3 all movie 2000 movie.mpg type type zoom 1.6 -#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -reset_timestep 0 -group solvent molecule 0 -750 atoms in group solvent -group solute subtract all solvent -450 atoms in group solute -unfix 1 -unfix 2 -unfix 4 -fix 1 solvent nve -fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 -fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 - 150 rigid bodies with 450 atoms -fix 4 all enforce2d -run 500 -Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 5 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.83 - ghost atom cutoff = 2.83 - binsize = 1.415, bins = 26 26 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.391 | 5.391 | 5.391 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423 - 50 0.77344732 -1.6944083 0.13695201 -0.92967487 0.58657109 - 100 0.53530681 -1.7006195 0.13695201 -1.1291768 0.11219772 - 150 0.60820175 -1.8071581 0.13695201 -1.176549 1.5161796 - 200 0.49410558 -1.7945459 0.13695201 -1.2565449 3.7958258 - 250 0.52460847 -1.8528672 0.13695201 -1.290108 2.9929445 - 300 0.46596803 -1.8680499 0.13695201 -1.3528872 2.7958851 - 350 0.48831812 -1.8723486 0.13695201 -1.3390451 -4.5106818 - 400 0.46798432 -1.9008529 0.13695201 -1.3840536 -4.3096566 - 450 0.46000658 -1.9081144 0.13695201 -1.3977904 3.3360611 - 500 0.45822409 -1.9077531 0.13695201 -1.3988759 0.45428738 -Loop time of 0.129419 on 1 procs for 500 steps with 1200 atoms - -Performance: 1668996.565 tau/day, 3863.418 timesteps/s, 4.636 Matom-step/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.059482 | 0.059482 | 0.059482 | 0.0 | 45.96 -Bond | 0.0027154 | 0.0027154 | 0.0027154 | 0.0 | 2.10 -Neigh | 0.017086 | 0.017086 | 0.017086 | 0.0 | 13.20 -Comm | 0.0019065 | 0.0019065 | 0.0019065 | 0.0 | 1.47 -Output | 0.00012035 | 0.00012035 | 0.00012035 | 0.0 | 0.09 -Modify | 0.046099 | 0.046099 | 0.046099 | 0.0 | 35.62 -Other | | 0.002009 | | | 1.55 - -Nlocal: 1200 ave 1200 max 1200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 413 ave 413 max 413 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 8944 ave 8944 max 8944 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 8944 -Ave neighs/atom = 7.4533333 -Ave special neighs/atom = 0.5 -Neighbor list builds = 41 -Dangerous builds = 1 -unfix 2 -unfix 4 -unfix 5 -fix 5 solute rigid/small molecule - create bodies CPU = 0.000 seconds - 150 rigid bodies with 450 atoms - 1.3043524 = max distance from body owner to body atom -fix 4 all enforce2d -run 500 -Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 9.306 | 9.306 | 9.306 Mbytes - Step Temp E_pair E_mol TotEng Press - 500 0.45822409 -1.9077531 0.13695201 -1.3988759 2.4509752 - 550 0.46736204 -1.9141964 0.13695201 -1.3979022 2.1695662 - 600 0.47872194 -1.9232781 0.13695201 -1.3977635 2.0058379 - 650 0.47491575 -1.9224109 0.13695201 -1.3999857 2.0637789 - 700 0.44714331 -1.8990682 0.13695201 -1.3991848 2.4863082 - 750 0.49089274 -1.9231004 0.13695201 -1.3877071 2.123147 - 800 0.4753839 -1.8959698 0.13695201 -1.3731645 2.3030481 - 850 0.46870816 -1.8972225 0.13695201 -1.3798357 2.2464703 - 900 0.49610454 -1.9070748 0.13695201 -1.3674513 2.2196388 - 950 0.4773035 -1.8925765 0.13695201 -1.3682132 2.3534786 - 1000 0.50413702 -1.9292393 0.13695201 -1.383096 2.1630987 -Loop time of 0.119542 on 1 procs for 500 steps with 1200 atoms - -Performance: 1806900.644 tau/day, 4182.640 timesteps/s, 5.019 Matom-step/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.058715 | 0.058715 | 0.058715 | 0.0 | 49.12 -Bond | 0.0028428 | 0.0028428 | 0.0028428 | 0.0 | 2.38 -Neigh | 0.015212 | 0.015212 | 0.015212 | 0.0 | 12.73 -Comm | 0.0019242 | 0.0019242 | 0.0019242 | 0.0 | 1.61 -Output | 0.00018977 | 0.00018977 | 0.00018977 | 0.0 | 0.16 -Modify | 0.038399 | 0.038399 | 0.038399 | 0.0 | 32.12 -Other | | 0.002259 | | | 1.89 - -Nlocal: 1200 ave 1200 max 1200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 425 ave 425 max 425 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 8846 ave 8846 max 8846 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 8846 -Ave neighs/atom = 7.3716667 -Ave special neighs/atom = 0.5 -Neighbor list builds = 36 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/micelle/log.25Mar24.micelle-rigid.g++.4 b/examples/micelle/log.25Mar24.micelle-rigid.g++.4 deleted file mode 100644 index b5c53e9b05..0000000000 --- a/examples/micelle/log.25Mar24.micelle-rigid.g++.4 +++ /dev/null @@ -1,272 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# 2d micelle simulation - -dimension 2 - -neighbor 0.33 bin -neigh_modify delay 5 - -atom_style bond - -# Soft potential push-off - -read_data data.micelle -Reading data file ... - orthogonal box = (0 0 -0.1) to (35.85686 35.85686 0.1) - 2 by 2 by 1 MPI processor grid - reading atoms ... - 1200 atoms - scanning bonds ... - 1 = max bonds/atom - reading bonds ... - 300 bonds -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.004 seconds -special_bonds fene -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 1 1 - special bond factors coul: 0 1 1 - 2 = max # of 1-2 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000 seconds - -pair_style soft 1.12246 -pair_coeff * * 0.0 1.12246 - -bond_style harmonic -bond_coeff 1 50.0 0.75 - -velocity all create 0.45 2349852 - -variable prefactor equal ramp(1.0,20.0) - -fix 1 all nve -fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 -fix 3 all adapt 1 pair soft a * * v_prefactor -fix 4 all enforce2d - -thermo 50 -run 500 -Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule -WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) -Neighbor list info ... - update: every = 1 steps, delay = 5 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.45246 - ghost atom cutoff = 1.45246 - binsize = 0.72623, bins = 50 50 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair soft, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d - bin: standard -WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) -Per MPI rank memory allocation (min/avg/max) = 4.126 | 4.126 | 4.127 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 - 50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786 - 100 0.45 0.99659327 0.079228519 1.5254468 3.2135679 - 150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925 - 200 0.45 1.01454 0.10663502 1.5708 4.7598476 - 250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899 - 300 0.45 0.86475538 0.11819875 1.4325791 5.8554758 - 350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247 - 400 0.45 0.75067331 0.14165013 1.3419484 6.3840708 - 450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009 - 500 0.45 0.66669513 0.13695201 1.2532721 6.807146 -Loop time of 0.0217401 on 4 procs for 500 steps with 1200 atoms - -Performance: 9935551.276 tau/day, 22998.961 timesteps/s, 27.599 Matom-step/s -99.7% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0088539 | 0.0095602 | 0.010452 | 0.6 | 43.97 -Bond | 0.00058476 | 0.00062647 | 0.00070207 | 0.0 | 2.88 -Neigh | 0.0030965 | 0.0031112 | 0.0031222 | 0.0 | 14.31 -Comm | 0.0040493 | 0.0050374 | 0.0057508 | 0.9 | 23.17 -Output | 8.0051e-05 | 8.6079e-05 | 0.00010294 | 0.0 | 0.40 -Modify | 0.0024258 | 0.0025227 | 0.0026365 | 0.2 | 11.60 -Other | | 0.0007961 | | | 3.66 - -Nlocal: 300 ave 305 max 292 min -Histogram: 1 0 0 0 0 0 1 1 0 1 -Nghost: 105.25 ave 110 max 99 min -Histogram: 1 0 0 1 0 0 0 0 0 2 -Neighs: 799.75 ave 817 max 763 min -Histogram: 1 0 0 0 0 0 0 1 0 2 - -Total # of neighbors = 3199 -Ave neighs/atom = 2.6658333 -Ave special neighs/atom = 0.5 -Neighbor list builds = 48 -Dangerous builds = 0 - -unfix 3 - -# Main run - -pair_style lj/cut 2.5 - -# solvent/head - full-size and long-range - -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 2 2 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 2.5 - -# tail/tail - size-averaged and long-range - -pair_coeff 3 3 1.0 0.75 2.5 -pair_coeff 4 4 1.0 0.50 2.5 -pair_coeff 3 4 1.0 0.67 2.5 - -# solvent/tail - full-size and repulsive - -pair_coeff 1 3 1.0 1.0 1.12246 -pair_coeff 1 4 1.0 1.0 1.12246 - -# head/tail - size-averaged and repulsive - -pair_coeff 2 3 1.0 0.88 1.12246 -pair_coeff 2 4 1.0 0.75 1.12246 - -thermo 50 - -#dump 1 all atom 2000 dump.micelle - -#dump 2 all image 2000 image.*.jpg type type zoom 1.6 -#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -#dump 3 all movie 2000 movie.mpg type type zoom 1.6 -#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -reset_timestep 0 -group solvent molecule 0 -750 atoms in group solvent -group solute subtract all solvent -450 atoms in group solute -unfix 1 -unfix 2 -unfix 4 -fix 1 solvent nve -fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 -fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 - 150 rigid bodies with 450 atoms -fix 4 all enforce2d -run 500 -Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 5 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.83 - ghost atom cutoff = 2.83 - binsize = 1.415, bins = 26 26 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.375 | 5.375 | 5.375 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423 - 50 0.77344732 -1.6944083 0.13695201 -0.92967487 0.58657109 - 100 0.53530681 -1.7006195 0.13695201 -1.1291768 0.11219772 - 150 0.60820175 -1.8071581 0.13695201 -1.176549 1.5161796 - 200 0.49410558 -1.7945459 0.13695201 -1.2565449 3.7958258 - 250 0.52460847 -1.8528672 0.13695201 -1.290108 2.9929445 - 300 0.46596803 -1.8680499 0.13695201 -1.3528872 2.7958851 - 350 0.48831812 -1.8723486 0.13695201 -1.3390451 -4.5106818 - 400 0.46798432 -1.9008529 0.13695201 -1.3840536 -4.3096566 - 450 0.46000658 -1.9081144 0.13695201 -1.3977904 3.3360611 - 500 0.45822409 -1.9077531 0.13695201 -1.3988759 0.45428738 -Loop time of 0.0560481 on 4 procs for 500 steps with 1200 atoms - -Performance: 3853834.547 tau/day, 8920.913 timesteps/s, 10.705 Matom-step/s -99.4% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.013556 | 0.013707 | 0.013803 | 0.1 | 24.46 -Bond | 0.00063884 | 0.00066997 | 0.0007103 | 0.0 | 1.20 -Neigh | 0.004707 | 0.0047121 | 0.0047151 | 0.0 | 8.41 -Comm | 0.0060936 | 0.0061963 | 0.006299 | 0.1 | 11.06 -Output | 9.3791e-05 | 0.00010703 | 0.00013426 | 0.0 | 0.19 -Modify | 0.029359 | 0.029467 | 0.029627 | 0.1 | 52.57 -Other | | 0.001189 | | | 2.12 - -Nlocal: 300 ave 303 max 296 min -Histogram: 1 0 0 0 1 0 0 0 1 1 -Nghost: 217.75 ave 220 max 215 min -Histogram: 1 0 0 0 0 0 2 0 0 1 -Neighs: 2236 ave 2264 max 2213 min -Histogram: 1 0 1 0 0 1 0 0 0 1 - -Total # of neighbors = 8944 -Ave neighs/atom = 7.4533333 -Ave special neighs/atom = 0.5 -Neighbor list builds = 41 -Dangerous builds = 1 -unfix 2 -unfix 4 -unfix 5 -fix 5 solute rigid/small molecule - create bodies CPU = 0.000 seconds - 150 rigid bodies with 450 atoms - 1.3043524 = max distance from body owner to body atom -fix 4 all enforce2d -run 500 -Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 9.233 | 9.233 | 9.234 Mbytes - Step Temp E_pair E_mol TotEng Press - 500 0.45822409 -1.9077531 0.13695201 -1.3988759 2.4509752 - 550 0.46736204 -1.9141964 0.13695201 -1.3979022 2.1695662 - 600 0.47872194 -1.9232781 0.13695201 -1.3977635 2.0058379 - 650 0.47491575 -1.9224109 0.13695201 -1.3999857 2.0637789 - 700 0.44714331 -1.8990682 0.13695201 -1.3991848 2.4863082 - 750 0.49089274 -1.9231004 0.13695201 -1.3877071 2.123147 - 800 0.4753839 -1.8959698 0.13695201 -1.3731645 2.3030481 - 850 0.46870816 -1.8972225 0.13695201 -1.3798357 2.2464703 - 900 0.49610454 -1.9070748 0.13695201 -1.3674513 2.2196388 - 950 0.4773035 -1.8925765 0.13695201 -1.3682132 2.3534786 - 1000 0.50413702 -1.9292393 0.13695201 -1.383096 2.1630987 -Loop time of 0.0401556 on 4 procs for 500 steps with 1200 atoms - -Performance: 5379078.679 tau/day, 12451.571 timesteps/s, 14.942 Matom-step/s -98.8% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.013239 | 0.013488 | 0.013882 | 0.2 | 33.59 -Bond | 0.00064766 | 0.00068403 | 0.00074631 | 0.0 | 1.70 -Neigh | 0.0040808 | 0.0040899 | 0.0041035 | 0.0 | 10.19 -Comm | 0.0056353 | 0.0060663 | 0.0063864 | 0.3 | 15.11 -Output | 0.0001049 | 0.0001153 | 0.00014195 | 0.0 | 0.29 -Modify | 0.014414 | 0.014559 | 0.014753 | 0.1 | 36.26 -Other | | 0.001153 | | | 2.87 - -Nlocal: 300 ave 305 max 295 min -Histogram: 1 0 0 0 1 0 1 0 0 1 -Nghost: 226 ave 231 max 220 min -Histogram: 1 0 0 0 1 0 0 1 0 1 -Neighs: 2211.5 ave 2313 max 2144 min -Histogram: 1 1 0 0 1 0 0 0 0 1 - -Total # of neighbors = 8846 -Ave neighs/atom = 7.3716667 -Ave special neighs/atom = 0.5 -Neighbor list builds = 36 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/micelle/log.25Mar24.micelle.g++.1 b/examples/micelle/log.25Mar24.micelle.g++.1 deleted file mode 100644 index 4b519e0ea7..0000000000 --- a/examples/micelle/log.25Mar24.micelle.g++.1 +++ /dev/null @@ -1,229 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# 2d micelle simulation - -dimension 2 - -neighbor 0.33 bin -neigh_modify delay 5 - -atom_style bond - -# Soft potential push-off - -read_data data.micelle -Reading data file ... - orthogonal box = (0 0 -0.1) to (35.85686 35.85686 0.1) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 1200 atoms - scanning bonds ... - 1 = max bonds/atom - reading bonds ... - 300 bonds -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.005 seconds -special_bonds fene -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 1 1 - special bond factors coul: 0 1 1 - 2 = max # of 1-2 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000 seconds - -pair_style soft 1.12246 -pair_coeff * * 0.0 1.12246 - -bond_style harmonic -bond_coeff 1 50.0 0.75 - -velocity all create 0.45 2349852 - -variable prefactor equal ramp(1.0,20.0) - -fix 1 all nve -fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 -fix 3 all adapt 1 pair soft a * * v_prefactor -fix 4 all enforce2d - -thermo 50 -run 1000 -Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule -WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) -Neighbor list info ... - update: every = 1 steps, delay = 5 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.45246 - ghost atom cutoff = 1.45246 - binsize = 0.72623, bins = 50 50 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair soft, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d - bin: standard -WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) -Per MPI rank memory allocation (min/avg/max) = 4.148 | 4.148 | 4.148 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 - 50 0.47411013 0.67721272 0.057404514 1.2083323 1.3375852 - 100 0.45 0.73046745 0.054836584 1.234929 2.3196516 - 150 0.67521742 0.72402001 0.043490075 1.4421648 2.8744416 - 200 0.45 0.78481891 0.076931503 1.3113754 3.0412388 - 250 0.66479018 0.69790602 0.081075564 1.4432178 3.6917024 - 300 0.45 0.76820218 0.066727591 1.2845548 3.7861054 - 350 0.67619136 0.625715 0.072722727 1.3740656 4.2861621 - 400 0.45 0.68527759 0.090724527 1.2256271 4.4725214 - 450 0.56702844 0.64402767 0.080555563 1.2911391 4.7402211 - 500 0.45 0.64883009 0.078376672 1.1768318 4.7919294 - 550 0.564664 0.58260368 0.080779475 1.2275766 4.9855705 - 600 0.45 0.58193041 0.088386617 1.119942 5.131481 - 650 0.52110993 0.5415273 0.097683746 1.1598867 5.2500294 - 700 0.45 0.50856787 0.088471208 1.0466641 5.2550165 - 750 0.51510855 0.47441291 0.089429375 1.0785216 5.375763 - 800 0.45 0.49926696 0.085958476 1.0348504 5.4665914 - 850 0.50688494 0.46614429 0.088962292 1.0615691 5.556932 - 900 0.45 0.47785593 0.10150857 1.0289895 5.7765975 - 950 0.49590559 0.46050477 0.096404887 1.052402 5.8649245 - 1000 0.45 0.47691182 0.08808163 1.0146185 6.0177568 -Loop time of 0.135036 on 1 procs for 1000 steps with 1200 atoms - -Performance: 3199144.549 tau/day, 7405.427 timesteps/s, 8.887 Matom-step/s -99.5% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.086466 | 0.086466 | 0.086466 | 0.0 | 64.03 -Bond | 0.0052524 | 0.0052524 | 0.0052524 | 0.0 | 3.89 -Neigh | 0.020278 | 0.020278 | 0.020278 | 0.0 | 15.02 -Comm | 0.0026978 | 0.0026978 | 0.0026978 | 0.0 | 2.00 -Output | 0.00032119 | 0.00032119 | 0.00032119 | 0.0 | 0.24 -Modify | 0.016117 | 0.016117 | 0.016117 | 0.0 | 11.94 -Other | | 0.003904 | | | 2.89 - -Nlocal: 1200 ave 1200 max 1200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 200 ave 200 max 200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 3220 ave 3220 max 3220 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 3220 -Ave neighs/atom = 2.6833333 -Ave special neighs/atom = 0.5 -Neighbor list builds = 84 -Dangerous builds = 0 - -unfix 3 - -# Main run - -pair_style lj/cut 2.5 - -# solvent/head - full-size and long-range - -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 2 2 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 2.5 - -# tail/tail - size-averaged and long-range - -pair_coeff 3 3 1.0 0.75 2.5 -pair_coeff 4 4 1.0 0.50 2.5 -pair_coeff 3 4 1.0 0.67 2.5 - -# solvent/tail - full-size and repulsive - -pair_coeff 1 3 1.0 1.0 1.12246 -pair_coeff 1 4 1.0 1.0 1.12246 - -# head/tail - size-averaged and repulsive - -pair_coeff 2 3 1.0 0.88 1.12246 -pair_coeff 2 4 1.0 0.75 1.12246 - -thermo 50 - -#dump 1 all atom 2000 dump.micelle - -#dump 2 all image 2000 image.*.jpg type type zoom 1.6 -#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -#dump 3 all movie 2000 movie.mpg type type zoom 1.6 -#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -reset_timestep 0 -run 1000 -Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 5 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.83 - ghost atom cutoff = 2.83 - binsize = 1.415, bins = 26 26 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.141 | 4.141 | 4.141 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 0.45 -1.7056163 0.08808163 -1.1679097 3.9431686 - 50 0.59734982 -1.8103783 0.076066922 -1.1374593 3.2770557 - 100 0.45 -1.8347112 0.093132329 -1.2919539 3.024661 - 150 0.51924311 -1.8943977 0.076004124 -1.2995832 2.5570373 - 200 0.45 -1.8918673 0.082422107 -1.3598201 2.5629655 - 250 0.50281134 -1.920406 0.074011331 -1.3440023 2.3518682 - 300 0.45 -1.9351047 0.075337265 -1.4101424 2.3249947 - 350 0.47650026 -1.9313687 0.072115118 -1.3831504 2.1987532 - 400 0.45 -1.9554318 0.081603939 -1.4242028 2.0787066 - 450 0.47220237 -1.9468502 0.065625625 -1.4094157 2.0984288 - 500 0.46846731 -1.9444333 0.076696281 -1.3996601 2.0528682 - 550 0.47683129 -1.958676 0.070589717 -1.4116523 2.0856022 - 600 0.46851244 -1.9338267 0.070605485 -1.3950992 2.2640498 - 650 0.46874143 -1.9462493 0.069134673 -1.4087638 2.1070264 - 700 0.46437375 -1.9309952 0.071977553 -1.3950309 2.2256927 - 750 0.47326219 -1.9484255 0.075435861 -1.4001218 2.0880257 - 800 0.45 -1.9646003 0.064159585 -1.4508158 2.0612708 - 850 0.46748293 -1.9705587 0.060384889 -1.4430805 1.9472917 - 900 0.46909505 -1.9537228 0.06246996 -1.4225487 2.0222946 - 950 0.45631552 -1.9387752 0.067536414 -1.4153035 2.0638412 - 1000 0.45 -1.9727636 0.058608205 -1.4645304 1.9982412 -Loop time of 0.172925 on 1 procs for 1000 steps with 1200 atoms - -Performance: 2498198.117 tau/day, 5782.866 timesteps/s, 6.939 Matom-step/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.11308 | 0.11308 | 0.11308 | 0.0 | 65.39 -Bond | 0.0054036 | 0.0054036 | 0.0054036 | 0.0 | 3.12 -Neigh | 0.032892 | 0.032892 | 0.032892 | 0.0 | 19.02 -Comm | 0.0038268 | 0.0038268 | 0.0038268 | 0.0 | 2.21 -Output | 0.00023892 | 0.00023892 | 0.00023892 | 0.0 | 0.14 -Modify | 0.013461 | 0.013461 | 0.013461 | 0.0 | 7.78 -Other | | 0.004027 | | | 2.33 - -Nlocal: 1200 ave 1200 max 1200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 421 ave 421 max 421 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 8779 ave 8779 max 8779 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 8779 -Ave neighs/atom = 7.3158333 -Ave special neighs/atom = 0.5 -Neighbor list builds = 77 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/micelle/log.25Mar24.micelle.g++.4 b/examples/micelle/log.25Mar24.micelle.g++.4 deleted file mode 100644 index 174cab5f5e..0000000000 --- a/examples/micelle/log.25Mar24.micelle.g++.4 +++ /dev/null @@ -1,229 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# 2d micelle simulation - -dimension 2 - -neighbor 0.33 bin -neigh_modify delay 5 - -atom_style bond - -# Soft potential push-off - -read_data data.micelle -Reading data file ... - orthogonal box = (0 0 -0.1) to (35.85686 35.85686 0.1) - 2 by 2 by 1 MPI processor grid - reading atoms ... - 1200 atoms - scanning bonds ... - 1 = max bonds/atom - reading bonds ... - 300 bonds -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.004 seconds -special_bonds fene -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 1 1 - special bond factors coul: 0 1 1 - 2 = max # of 1-2 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000 seconds - -pair_style soft 1.12246 -pair_coeff * * 0.0 1.12246 - -bond_style harmonic -bond_coeff 1 50.0 0.75 - -velocity all create 0.45 2349852 - -variable prefactor equal ramp(1.0,20.0) - -fix 1 all nve -fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 -fix 3 all adapt 1 pair soft a * * v_prefactor -fix 4 all enforce2d - -thermo 50 -run 1000 -Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule -WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) -Neighbor list info ... - update: every = 1 steps, delay = 5 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.45246 - ghost atom cutoff = 1.45246 - binsize = 0.72623, bins = 50 50 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair soft, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d - bin: standard -WARNING: Communication cutoff 1.45246 is shorter than a bond length based estimate of 1.455. This may lead to errors. (src/comm.cpp:730) -Per MPI rank memory allocation (min/avg/max) = 4.126 | 4.126 | 4.127 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 - 50 0.47411013 0.67721272 0.057404514 1.2083323 1.3375852 - 100 0.45 0.73046745 0.054836584 1.234929 2.3196516 - 150 0.67521742 0.72402001 0.043490075 1.4421648 2.8744416 - 200 0.45 0.78481891 0.076931503 1.3113754 3.0412388 - 250 0.66479018 0.69790602 0.081075564 1.4432178 3.6917024 - 300 0.45 0.76820218 0.066727591 1.2845548 3.7861054 - 350 0.67619136 0.625715 0.072722727 1.3740656 4.2861621 - 400 0.45 0.68527759 0.090724527 1.2256271 4.4725214 - 450 0.56702844 0.64402767 0.080555563 1.2911391 4.7402211 - 500 0.45 0.64883009 0.078376672 1.1768318 4.7919294 - 550 0.564664 0.58260368 0.080779475 1.2275766 4.9855705 - 600 0.45 0.58193041 0.088386617 1.119942 5.131481 - 650 0.52110993 0.5415273 0.097683746 1.1598867 5.2500294 - 700 0.45 0.50856787 0.088471208 1.0466641 5.2550165 - 750 0.51510855 0.47441291 0.089429375 1.0785216 5.375763 - 800 0.45 0.49926696 0.085958476 1.0348504 5.4665914 - 850 0.50688494 0.46614429 0.088962292 1.0615691 5.556932 - 900 0.45 0.47785593 0.10150857 1.0289895 5.7765975 - 950 0.49590559 0.46050477 0.096404887 1.052402 5.8649245 - 1000 0.45 0.47691182 0.08808163 1.0146185 6.0177568 -Loop time of 0.0430044 on 4 procs for 1000 steps with 1200 atoms - -Performance: 10045485.178 tau/day, 23253.438 timesteps/s, 27.904 Matom-step/s -98.8% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.01855 | 0.019447 | 0.019916 | 0.4 | 45.22 -Bond | 0.0011939 | 0.0012689 | 0.0013518 | 0.2 | 2.95 -Neigh | 0.0054396 | 0.0054535 | 0.0054635 | 0.0 | 12.68 -Comm | 0.0093296 | 0.0097958 | 0.010731 | 0.6 | 22.78 -Output | 0.00016417 | 0.00018578 | 0.00024995 | 0.0 | 0.43 -Modify | 0.0049758 | 0.0050749 | 0.005268 | 0.2 | 11.80 -Other | | 0.001778 | | | 4.14 - -Nlocal: 300 ave 306 max 294 min -Histogram: 1 0 0 1 0 0 1 0 0 1 -Nghost: 103 ave 110 max 98 min -Histogram: 2 0 0 0 0 0 1 0 0 1 -Neighs: 805 ave 827 max 768 min -Histogram: 1 0 0 0 0 0 1 0 1 1 - -Total # of neighbors = 3220 -Ave neighs/atom = 2.6833333 -Ave special neighs/atom = 0.5 -Neighbor list builds = 84 -Dangerous builds = 0 - -unfix 3 - -# Main run - -pair_style lj/cut 2.5 - -# solvent/head - full-size and long-range - -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 2 2 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 2.5 - -# tail/tail - size-averaged and long-range - -pair_coeff 3 3 1.0 0.75 2.5 -pair_coeff 4 4 1.0 0.50 2.5 -pair_coeff 3 4 1.0 0.67 2.5 - -# solvent/tail - full-size and repulsive - -pair_coeff 1 3 1.0 1.0 1.12246 -pair_coeff 1 4 1.0 1.0 1.12246 - -# head/tail - size-averaged and repulsive - -pair_coeff 2 3 1.0 0.88 1.12246 -pair_coeff 2 4 1.0 0.75 1.12246 - -thermo 50 - -#dump 1 all atom 2000 dump.micelle - -#dump 2 all image 2000 image.*.jpg type type zoom 1.6 -#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -#dump 3 all movie 2000 movie.mpg type type zoom 1.6 -#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -reset_timestep 0 -run 1000 -Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 5 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.83 - ghost atom cutoff = 2.83 - binsize = 1.415, bins = 26 26 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 4.125 | 4.125 | 4.125 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 0.45 -1.7056163 0.08808163 -1.1679097 3.9431686 - 50 0.59734982 -1.8103783 0.076066922 -1.1374593 3.2770557 - 100 0.45 -1.8347112 0.093132329 -1.2919539 3.024661 - 150 0.51924311 -1.8943977 0.076004124 -1.2995832 2.5570373 - 200 0.45 -1.8918673 0.082422107 -1.3598201 2.5629655 - 250 0.50281134 -1.920406 0.074011331 -1.3440023 2.3518682 - 300 0.45 -1.9351047 0.075337265 -1.4101424 2.3249947 - 350 0.47650026 -1.9313687 0.072115117 -1.3831504 2.1987532 - 400 0.45 -1.9554318 0.08160394 -1.4242028 2.0787066 - 450 0.47220237 -1.9468502 0.065625625 -1.4094157 2.0984288 - 500 0.46846732 -1.9444333 0.076696282 -1.3996601 2.0528682 - 550 0.47683129 -1.958676 0.070589715 -1.4116523 2.0856023 - 600 0.46851246 -1.9338267 0.070605474 -1.3950992 2.2640497 - 650 0.46874145 -1.9462493 0.069134673 -1.4087638 2.1070263 - 700 0.46437384 -1.9309953 0.071977538 -1.3950309 2.2256921 - 750 0.47326257 -1.9484258 0.075435782 -1.4001218 2.0880238 - 800 0.45 -1.9646002 0.064159564 -1.4508156 2.0612711 - 850 0.46748245 -1.9705585 0.060385282 -1.4430803 1.9472928 - 900 0.46909475 -1.953722 0.062469986 -1.4225482 2.0223017 - 950 0.45631666 -1.9387749 0.067535547 -1.415303 2.0638464 - 1000 0.45 -1.9727662 0.058608374 -1.4645328 1.9982544 -Loop time of 0.0580559 on 4 procs for 1000 steps with 1200 atoms - -Performance: 7441102.030 tau/day, 17224.773 timesteps/s, 20.670 Matom-step/s -99.5% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.025537 | 0.026849 | 0.0293 | 0.9 | 46.25 -Bond | 0.0012241 | 0.0013287 | 0.0015123 | 0.3 | 2.29 -Neigh | 0.0093194 | 0.0093648 | 0.0093978 | 0.0 | 16.13 -Comm | 0.011992 | 0.014606 | 0.015998 | 1.3 | 25.16 -Output | 0.00018318 | 0.0001963 | 0.0002352 | 0.0 | 0.34 -Modify | 0.003441 | 0.0035887 | 0.0037522 | 0.2 | 6.18 -Other | | 0.002122 | | | 3.66 - -Nlocal: 300 ave 305 max 294 min -Histogram: 1 0 0 1 0 0 0 0 1 1 -Nghost: 222.25 ave 231 max 215 min -Histogram: 1 0 0 1 0 1 0 0 0 1 -Neighs: 2195 ave 2233 max 2150 min -Histogram: 1 0 0 0 0 2 0 0 0 1 - -Total # of neighbors = 8780 -Ave neighs/atom = 7.3166667 -Ave special neighs/atom = 0.5 -Neighbor list builds = 77 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/micelle/log.29Mar2019.micelle-rigid.g++.1 b/examples/micelle/log.29Mar2019.micelle-rigid.g++.1 new file mode 100644 index 0000000000..f1001e6cea --- /dev/null +++ b/examples/micelle/log.29Mar2019.micelle-rigid.g++.1 @@ -0,0 +1,260 @@ +LAMMPS (29 Mar 2019) + using 1 OpenMP thread(s) per MPI task +# 2d micelle simulation + +dimension 2 + +neighbor 0.3 bin +neigh_modify delay 5 + +atom_style bond + +# Soft potential push-off + +read_data data.micelle + orthogonal box = (0 0 -0.1) to (35.8569 35.8569 0.1) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 1200 atoms + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 300 bonds + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000473022 secs + read_data CPU = 0.0024147 secs +special_bonds fene + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.00022316 secs + +pair_style soft 1.12246 +pair_coeff * * 0.0 1.12246 + +bond_style harmonic +bond_coeff 1 50.0 0.75 + +velocity all create 0.45 2349852 + +variable prefactor equal ramp(1.0,20.0) + +fix 1 all nve +fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 +fix 3 all adapt 1 pair soft a * * v_prefactor +fix 4 all enforce2d + +thermo 50 +run 500 +Neighbor list info ... + update every 1 steps, delay 5 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.42246 + ghost atom cutoff = 1.42246 + binsize = 0.71123, bins = 51 51 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair soft, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.799 | 3.799 | 3.799 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 + 50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786 + 100 0.45 0.99659327 0.079228519 1.5254468 3.2135679 + 150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925 + 200 0.45 1.01454 0.10663502 1.5708 4.7598476 + 250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899 + 300 0.45 0.86475538 0.11819875 1.4325791 5.8554758 + 350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247 + 400 0.45 0.75067331 0.14165013 1.3419484 6.3840708 + 450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009 + 500 0.45 0.66669513 0.13695201 1.2532721 6.807146 +Loop time of 0.103162 on 1 procs for 500 steps with 1200 atoms + +Performance: 2093802.885 tau/day, 4846.766 timesteps/s +99.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.068308 | 0.068308 | 0.068308 | 0.0 | 66.21 +Bond | 0.004235 | 0.004235 | 0.004235 | 0.0 | 4.11 +Neigh | 0.014069 | 0.014069 | 0.014069 | 0.0 | 13.64 +Comm | 0.0019219 | 0.0019219 | 0.0019219 | 0.0 | 1.86 +Output | 0.00017262 | 0.00017262 | 0.00017262 | 0.0 | 0.17 +Modify | 0.011728 | 0.011728 | 0.011728 | 0.0 | 11.37 +Other | | 0.002726 | | | 2.64 + +Nlocal: 1200 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 197 ave 197 max 197 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 3094 ave 3094 max 3094 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 3094 +Ave neighs/atom = 2.57833 +Ave special neighs/atom = 0.5 +Neighbor list builds = 52 +Dangerous builds = 0 + +unfix 3 + +# Main run + +pair_style lj/cut 2.5 + +# solvent/head - full-size and long-range + +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 2.5 + +# tail/tail - size-averaged and long-range + +pair_coeff 3 3 1.0 0.75 2.5 +pair_coeff 4 4 1.0 0.50 2.5 +pair_coeff 3 4 1.0 0.67 2.5 + +# solvent/tail - full-size and repulsive + +pair_coeff 1 3 1.0 1.0 1.12246 +pair_coeff 1 4 1.0 1.0 1.12246 + +# head/tail - size-averaged and repulsive + +pair_coeff 2 3 1.0 0.88 1.12246 +pair_coeff 2 4 1.0 0.75 1.12246 + +thermo 50 + +#dump 1 all atom 2000 dump.micelle + +#dump 2 all image 2000 image.*.jpg type type zoom 1.6 +#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +#dump 3 all movie 2000 movie.mpg type type zoom 1.6 +#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +reset_timestep 0 +group solvent molecule 0 +750 atoms in group solvent +group solute subtract all solvent +450 atoms in group solute +unfix 1 +unfix 2 +unfix 4 +fix 1 solvent nve +fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 +fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 +150 rigid bodies with 450 atoms +fix 4 all enforce2d +run 500 +Neighbor list info ... + update every 1 steps, delay 5 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 = 26 26 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.274 | 5.274 | 5.274 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423 + 50 0.77871641 -1.6955252 0.13695201 -0.92651507 0.64222539 + 100 0.5336062 -1.7124572 0.13695201 -1.1423948 -0.11959696 + 150 0.58789067 -1.7926109 0.13695201 -1.1784877 1.2592743 + 200 0.47864796 -1.8040298 0.13695201 -1.2785752 3.6739793 + 250 0.51124651 -1.8614797 0.13695201 -1.309566 2.5817722 + 300 0.45695639 -1.8708384 0.13695201 -1.3629901 3.0833794 + 350 0.477504 -1.8924359 0.13695201 -1.3679098 -5.1605926 + 400 0.45328205 -1.87754 0.13695201 -1.372674 -4.0355858 + 450 0.47465031 -1.9071924 0.13695201 -1.3849826 3.1949617 + 500 0.45533691 -1.9072316 0.13695201 -1.4006978 0.48079061 +Loop time of 0.178806 on 1 procs for 500 steps with 1200 atoms + +Performance: 1208012.705 tau/day, 2796.326 timesteps/s +99.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.086131 | 0.086131 | 0.086131 | 0.0 | 48.17 +Bond | 0.0042472 | 0.0042472 | 0.0042472 | 0.0 | 2.38 +Neigh | 0.021317 | 0.021317 | 0.021317 | 0.0 | 11.92 +Comm | 0.0025985 | 0.0025985 | 0.0025985 | 0.0 | 1.45 +Output | 0.000175 | 0.000175 | 0.000175 | 0.0 | 0.10 +Modify | 0.061408 | 0.061408 | 0.061408 | 0.0 | 34.34 +Other | | 0.00293 | | | 1.64 + +Nlocal: 1200 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 416 ave 416 max 416 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 8769 ave 8769 max 8769 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 8769 +Ave neighs/atom = 7.3075 +Ave special neighs/atom = 0.5 +Neighbor list builds = 47 +Dangerous builds = 2 +unfix 2 +unfix 4 +unfix 5 +fix 5 solute rigid/small molecule + create bodies CPU = 0.00015378 secs +150 rigid bodies with 450 atoms + 1.30435 = max distance from body owner to body atom +fix 4 all enforce2d +run 500 +Per MPI rank memory allocation (min/avg/max) = 8.64 | 8.64 | 8.64 Mbytes +Step Temp E_pair E_mol TotEng Press + 500 0.45533691 -1.9072316 0.13695201 -1.4006978 2.4545793 + 550 0.45627282 -1.912409 0.13695201 -1.4051155 2.1845065 + 600 0.44734553 -1.8890695 0.13695201 -1.389022 2.3458965 + 650 0.46444648 -1.9042462 0.13695201 -1.3903185 2.1609319 + 700 0.47113236 -1.8977576 0.13695201 -1.3784032 2.2420351 + 750 0.48554548 -1.9253545 0.13695201 -1.3943015 2.143907 + 800 0.46350091 -1.8865749 0.13695201 -1.3734146 2.294431 + 850 0.4766104 -1.9094039 0.13695201 -1.3856031 2.2077157 + 900 0.48988467 -1.9051538 0.13695201 -1.3705787 2.0107056 + 950 0.48351943 -1.9162485 0.13695201 -1.3868399 2.1891332 + 1000 0.49033701 -1.9115165 0.13695201 -1.3765742 2.1508141 +Loop time of 0.166502 on 1 procs for 500 steps with 1200 atoms + +Performance: 1297278.008 tau/day, 3002.958 timesteps/s +99.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.085767 | 0.085767 | 0.085767 | 0.0 | 51.51 +Bond | 0.0042562 | 0.0042562 | 0.0042562 | 0.0 | 2.56 +Neigh | 0.018039 | 0.018039 | 0.018039 | 0.0 | 10.83 +Comm | 0.0024002 | 0.0024002 | 0.0024002 | 0.0 | 1.44 +Output | 0.00018239 | 0.00018239 | 0.00018239 | 0.0 | 0.11 +Modify | 0.052717 | 0.052717 | 0.052717 | 0.0 | 31.66 +Other | | 0.003141 | | | 1.89 + +Nlocal: 1200 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 415 ave 415 max 415 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 8743 ave 8743 max 8743 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 8743 +Ave neighs/atom = 7.28583 +Ave special neighs/atom = 0.5 +Neighbor list builds = 40 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/micelle/log.29Mar2019.micelle-rigid.g++.4 b/examples/micelle/log.29Mar2019.micelle-rigid.g++.4 new file mode 100644 index 0000000000..e65f67a527 --- /dev/null +++ b/examples/micelle/log.29Mar2019.micelle-rigid.g++.4 @@ -0,0 +1,260 @@ +LAMMPS (29 Mar 2019) + using 1 OpenMP thread(s) per MPI task +# 2d micelle simulation + +dimension 2 + +neighbor 0.3 bin +neigh_modify delay 5 + +atom_style bond + +# Soft potential push-off + +read_data data.micelle + orthogonal box = (0 0 -0.1) to (35.8569 35.8569 0.1) + 2 by 2 by 1 MPI processor grid + reading atoms ... + 1200 atoms + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 300 bonds + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000422001 secs + read_data CPU = 0.00473404 secs +special_bonds fene + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000183344 secs + +pair_style soft 1.12246 +pair_coeff * * 0.0 1.12246 + +bond_style harmonic +bond_coeff 1 50.0 0.75 + +velocity all create 0.45 2349852 + +variable prefactor equal ramp(1.0,20.0) + +fix 1 all nve +fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 +fix 3 all adapt 1 pair soft a * * v_prefactor +fix 4 all enforce2d + +thermo 50 +run 500 +Neighbor list info ... + update every 1 steps, delay 5 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.42246 + ghost atom cutoff = 1.42246 + binsize = 0.71123, bins = 51 51 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair soft, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.758 | 3.85 | 4.126 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 + 50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786 + 100 0.45 0.99659327 0.079228519 1.5254468 3.2135679 + 150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925 + 200 0.45 1.01454 0.10663502 1.5708 4.7598476 + 250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899 + 300 0.45 0.86475538 0.11819875 1.4325791 5.8554758 + 350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247 + 400 0.45 0.75067331 0.14165013 1.3419484 6.3840708 + 450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009 + 500 0.45 0.66669513 0.13695201 1.2532721 6.807146 +Loop time of 0.0426326 on 4 procs for 500 steps with 1200 atoms + +Performance: 5066547.720 tau/day, 11728.120 timesteps/s +98.7% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.016784 | 0.019254 | 0.022154 | 1.5 | 45.16 +Bond | 0.0010612 | 0.0012558 | 0.0014153 | 0.4 | 2.95 +Neigh | 0.0046048 | 0.0046697 | 0.0047245 | 0.1 | 10.95 +Comm | 0.0064592 | 0.0097114 | 0.012527 | 2.4 | 22.78 +Output | 0.00022507 | 0.00026393 | 0.00033951 | 0.0 | 0.62 +Modify | 0.0041659 | 0.0048084 | 0.0053945 | 0.8 | 11.28 +Other | | 0.002669 | | | 6.26 + +Nlocal: 300 ave 304 max 292 min +Histogram: 1 0 0 0 0 0 0 0 2 1 +Nghost: 103.5 ave 108 max 98 min +Histogram: 1 0 0 1 0 0 0 0 0 2 +Neighs: 773.5 ave 792 max 735 min +Histogram: 1 0 0 0 0 0 0 0 2 1 + +Total # of neighbors = 3094 +Ave neighs/atom = 2.57833 +Ave special neighs/atom = 0.5 +Neighbor list builds = 52 +Dangerous builds = 0 + +unfix 3 + +# Main run + +pair_style lj/cut 2.5 + +# solvent/head - full-size and long-range + +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 2.5 + +# tail/tail - size-averaged and long-range + +pair_coeff 3 3 1.0 0.75 2.5 +pair_coeff 4 4 1.0 0.50 2.5 +pair_coeff 3 4 1.0 0.67 2.5 + +# solvent/tail - full-size and repulsive + +pair_coeff 1 3 1.0 1.0 1.12246 +pair_coeff 1 4 1.0 1.0 1.12246 + +# head/tail - size-averaged and repulsive + +pair_coeff 2 3 1.0 0.88 1.12246 +pair_coeff 2 4 1.0 0.75 1.12246 + +thermo 50 + +#dump 1 all atom 2000 dump.micelle + +#dump 2 all image 2000 image.*.jpg type type zoom 1.6 +#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +#dump 3 all movie 2000 movie.mpg type type zoom 1.6 +#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +reset_timestep 0 +group solvent molecule 0 +750 atoms in group solvent +group solute subtract all solvent +450 atoms in group solute +unfix 1 +unfix 2 +unfix 4 +fix 1 solvent nve +fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 +fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 +150 rigid bodies with 450 atoms +fix 4 all enforce2d +run 500 +Neighbor list info ... + update every 1 steps, delay 5 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 = 26 26 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.251 | 5.282 | 5.374 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423 + 50 0.77871641 -1.6955252 0.13695201 -0.92651507 0.64222539 + 100 0.5336062 -1.7124572 0.13695201 -1.1423948 -0.11959696 + 150 0.58789067 -1.7926109 0.13695201 -1.1784877 1.2592743 + 200 0.47864796 -1.8040298 0.13695201 -1.2785752 3.6739793 + 250 0.51124651 -1.8614797 0.13695201 -1.309566 2.5817722 + 300 0.45695639 -1.8708384 0.13695201 -1.3629901 3.0833794 + 350 0.477504 -1.8924359 0.13695201 -1.3679098 -5.1605926 + 400 0.45328205 -1.87754 0.13695201 -1.372674 -4.0355858 + 450 0.47465031 -1.9071924 0.13695201 -1.3849826 3.1949617 + 500 0.45533691 -1.9072316 0.13695201 -1.4006978 0.48079061 +Loop time of 0.0887392 on 4 procs for 500 steps with 1200 atoms + +Performance: 2434100.210 tau/day, 5634.491 timesteps/s +98.9% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.022611 | 0.022839 | 0.023082 | 0.1 | 25.74 +Bond | 0.0010793 | 0.0011569 | 0.0012515 | 0.2 | 1.30 +Neigh | 0.0064609 | 0.0064996 | 0.0065265 | 0.0 | 7.32 +Comm | 0.0071712 | 0.0073687 | 0.0077734 | 0.3 | 8.30 +Output | 0.00023389 | 0.00025356 | 0.00030327 | 0.0 | 0.29 +Modify | 0.047258 | 0.047683 | 0.048503 | 0.2 | 53.73 +Other | | 0.002938 | | | 3.31 + +Nlocal: 300 ave 309 max 291 min +Histogram: 1 0 0 1 0 0 1 0 0 1 +Nghost: 218.75 ave 223 max 216 min +Histogram: 1 0 2 0 0 0 0 0 0 1 +Neighs: 2192.25 ave 2251 max 2113 min +Histogram: 1 0 0 1 0 0 0 0 0 2 + +Total # of neighbors = 8769 +Ave neighs/atom = 7.3075 +Ave special neighs/atom = 0.5 +Neighbor list builds = 47 +Dangerous builds = 2 +unfix 2 +unfix 4 +unfix 5 +fix 5 solute rigid/small molecule + create bodies CPU = 7.70092e-05 secs +150 rigid bodies with 450 atoms + 1.30435 = max distance from body owner to body atom +fix 4 all enforce2d +run 500 +Per MPI rank memory allocation (min/avg/max) = 8.565 | 8.597 | 8.69 Mbytes +Step Temp E_pair E_mol TotEng Press + 500 0.45533691 -1.9072316 0.13695201 -1.4006978 2.4545793 + 550 0.45627282 -1.912409 0.13695201 -1.4051155 2.1845065 + 600 0.44734553 -1.8890695 0.13695201 -1.389022 2.3458965 + 650 0.46444648 -1.9042462 0.13695201 -1.3903185 2.1609319 + 700 0.47113236 -1.8977576 0.13695201 -1.3784032 2.2420351 + 750 0.48554548 -1.9253545 0.13695201 -1.3943015 2.143907 + 800 0.46350091 -1.8865749 0.13695201 -1.3734146 2.294431 + 850 0.4766104 -1.9094039 0.13695201 -1.3856031 2.2077157 + 900 0.48988467 -1.9051538 0.13695201 -1.3705787 2.0107056 + 950 0.48351942 -1.9162485 0.13695201 -1.3868399 2.1891332 + 1000 0.490337 -1.9115164 0.13695201 -1.3765742 2.1508141 +Loop time of 0.0588261 on 4 procs for 500 steps with 1200 atoms + +Performance: 3671840.233 tau/day, 8499.630 timesteps/s +98.3% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.022407 | 0.022631 | 0.0229 | 0.1 | 38.47 +Bond | 0.0010669 | 0.0011355 | 0.0012124 | 0.2 | 1.93 +Neigh | 0.0052333 | 0.00528 | 0.0053182 | 0.0 | 8.98 +Comm | 0.0063677 | 0.0066406 | 0.0068488 | 0.2 | 11.29 +Output | 0.00023055 | 0.00024778 | 0.00028086 | 0.0 | 0.42 +Modify | 0.020577 | 0.020651 | 0.020834 | 0.1 | 35.11 +Other | | 0.00224 | | | 3.81 + +Nlocal: 300 ave 303 max 295 min +Histogram: 1 0 0 0 0 0 1 0 1 1 +Nghost: 219 ave 224 max 215 min +Histogram: 1 0 0 1 1 0 0 0 0 1 +Neighs: 2185.75 ave 2244 max 2143 min +Histogram: 1 1 0 0 0 1 0 0 0 1 + +Total # of neighbors = 8743 +Ave neighs/atom = 7.28583 +Ave special neighs/atom = 0.5 +Neighbor list builds = 40 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/micelle/log.29Mar2019.micelle.g++.1 b/examples/micelle/log.29Mar2019.micelle.g++.1 new file mode 100644 index 0000000000..d482d6c890 --- /dev/null +++ b/examples/micelle/log.29Mar2019.micelle.g++.1 @@ -0,0 +1,218 @@ +LAMMPS (29 Mar 2019) + using 1 OpenMP thread(s) per MPI task +# 2d micelle simulation + +dimension 2 + +neighbor 0.3 bin +neigh_modify delay 5 + +atom_style bond + +# Soft potential push-off + +read_data data.micelle + orthogonal box = (0 0 -0.1) to (35.8569 35.8569 0.1) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 1200 atoms + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 300 bonds + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.00037837 secs + read_data CPU = 0.00206876 secs +special_bonds fene + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000177383 secs + +pair_style soft 1.12246 +pair_coeff * * 0.0 1.12246 + +bond_style harmonic +bond_coeff 1 50.0 0.75 + +velocity all create 0.45 2349852 + +variable prefactor equal ramp(1.0,20.0) + +fix 1 all nve +fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 +fix 3 all adapt 1 pair soft a * * v_prefactor +fix 4 all enforce2d + +thermo 50 +run 1000 +Neighbor list info ... + update every 1 steps, delay 5 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.42246 + ghost atom cutoff = 1.42246 + binsize = 0.71123, bins = 51 51 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair soft, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.799 | 3.799 | 3.799 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 + 50 0.47411013 0.67721272 0.057404514 1.2083323 1.3375852 + 100 0.45 0.73046745 0.054836584 1.234929 2.3196516 + 150 0.67521742 0.72402001 0.043490075 1.4421648 2.8744416 + 200 0.45 0.78481891 0.076931503 1.3113754 3.0412388 + 250 0.66479018 0.69790602 0.081075564 1.4432178 3.6917024 + 300 0.45 0.76820218 0.066727591 1.2845548 3.7861054 + 350 0.67619136 0.625715 0.072722727 1.3740656 4.2861621 + 400 0.45 0.68527759 0.090724527 1.2256271 4.4725214 + 450 0.56702844 0.64402767 0.080555563 1.2911391 4.7402211 + 500 0.45 0.64883009 0.078376672 1.1768318 4.7919294 + 550 0.564664 0.58260368 0.080779475 1.2275766 4.9855705 + 600 0.45 0.58193041 0.088386617 1.119942 5.131481 + 650 0.52110993 0.5415273 0.097683746 1.1598867 5.2500294 + 700 0.45 0.50856787 0.088471208 1.0466641 5.2550165 + 750 0.51510855 0.47441291 0.089429375 1.0785216 5.375763 + 800 0.45 0.49926696 0.085958476 1.0348504 5.4665914 + 850 0.50688494 0.46614429 0.088962292 1.0615691 5.556932 + 900 0.45 0.47785593 0.10150857 1.0289895 5.7765975 + 950 0.49590559 0.46050477 0.096404887 1.052402 5.8649245 + 1000 0.45 0.47691182 0.08808163 1.0146185 6.0177568 +Loop time of 0.208895 on 1 procs for 1000 steps with 1200 atoms + +Performance: 2068027.282 tau/day, 4787.100 timesteps/s +99.4% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.14142 | 0.14142 | 0.14142 | 0.0 | 67.70 +Bond | 0.008441 | 0.008441 | 0.008441 | 0.0 | 4.04 +Neigh | 0.025716 | 0.025716 | 0.025716 | 0.0 | 12.31 +Comm | 0.0036864 | 0.0036864 | 0.0036864 | 0.0 | 1.76 +Output | 0.0003562 | 0.0003562 | 0.0003562 | 0.0 | 0.17 +Modify | 0.023699 | 0.023699 | 0.023699 | 0.0 | 11.35 +Other | | 0.00558 | | | 2.67 + +Nlocal: 1200 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 195 ave 195 max 195 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 3136 ave 3136 max 3136 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 3136 +Ave neighs/atom = 2.61333 +Ave special neighs/atom = 0.5 +Neighbor list builds = 92 +Dangerous builds = 0 + +unfix 3 + +# Main run + +pair_style lj/cut 2.5 + +# solvent/head - full-size and long-range + +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 2.5 + +# tail/tail - size-averaged and long-range + +pair_coeff 3 3 1.0 0.75 2.5 +pair_coeff 4 4 1.0 0.50 2.5 +pair_coeff 3 4 1.0 0.67 2.5 + +# solvent/tail - full-size and repulsive + +pair_coeff 1 3 1.0 1.0 1.12246 +pair_coeff 1 4 1.0 1.0 1.12246 + +# head/tail - size-averaged and repulsive + +pair_coeff 2 3 1.0 0.88 1.12246 +pair_coeff 2 4 1.0 0.75 1.12246 + +thermo 50 + +#dump 1 all atom 2000 dump.micelle + +#dump 2 all image 2000 image.*.jpg type type zoom 1.6 +#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +#dump 3 all movie 2000 movie.mpg type type zoom 1.6 +#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +reset_timestep 0 +run 1000 +Neighbor list info ... + update every 1 steps, delay 5 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 = 26 26 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.024 | 4.024 | 4.024 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 0.45 -1.7056163 0.08808163 -1.1679097 3.9431686 + 50 0.59734982 -1.8103783 0.076066922 -1.1374593 3.2770557 + 100 0.45 -1.8347112 0.093132329 -1.2919539 3.024661 + 150 0.51924311 -1.8943977 0.076004124 -1.2995832 2.5570373 + 200 0.45 -1.8918672 0.082422107 -1.3598201 2.5629655 + 250 0.50281134 -1.920406 0.074011331 -1.3440023 2.3518682 + 300 0.45 -1.9351047 0.075337265 -1.4101424 2.3249947 + 350 0.47650026 -1.9313687 0.072115117 -1.3831504 2.1987532 + 400 0.45 -1.9554318 0.081603939 -1.4242028 2.0787066 + 450 0.47220236 -1.9468502 0.065625624 -1.4094157 2.0984288 + 500 0.4684673 -1.9444333 0.076696283 -1.3996601 2.0528682 + 550 0.47683128 -1.958676 0.070589719 -1.4116523 2.0856022 + 600 0.46851243 -1.9338267 0.07060548 -1.3950992 2.26405 + 650 0.46874142 -1.9462493 0.069134685 -1.4087638 2.1070263 + 700 0.46437384 -1.9309953 0.071977522 -1.3950309 2.2256923 + 750 0.47326225 -1.9484255 0.075435845 -1.4001218 2.0880254 + 800 0.45 -1.9646005 0.064159585 -1.4508159 2.0612696 + 850 0.46748307 -1.970559 0.060384874 -1.4430806 1.9472879 + 900 0.46909484 -1.953723 0.062470295 -1.4225488 2.0222909 + 950 0.45631531 -1.9387753 0.067536568 -1.4153037 2.0638421 + 1000 0.45 -1.9727646 0.058607721 -1.4645318 1.9982315 +Loop time of 0.252254 on 1 procs for 1000 steps with 1200 atoms + +Performance: 1712557.882 tau/day, 3964.254 timesteps/s +99.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.17177 | 0.17177 | 0.17177 | 0.0 | 68.09 +Bond | 0.0084555 | 0.0084555 | 0.0084555 | 0.0 | 3.35 +Neigh | 0.03991 | 0.03991 | 0.03991 | 0.0 | 15.82 +Comm | 0.0049119 | 0.0049119 | 0.0049119 | 0.0 | 1.95 +Output | 0.00039077 | 0.00039077 | 0.00039077 | 0.0 | 0.15 +Modify | 0.021131 | 0.021131 | 0.021131 | 0.0 | 8.38 +Other | | 0.005685 | | | 2.25 + +Nlocal: 1200 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 415 ave 415 max 415 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 8586 ave 8586 max 8586 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 8586 +Ave neighs/atom = 7.155 +Ave special neighs/atom = 0.5 +Neighbor list builds = 86 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/micelle/log.29Mar2019.micelle.g++.4 b/examples/micelle/log.29Mar2019.micelle.g++.4 new file mode 100644 index 0000000000..f3a54970cf --- /dev/null +++ b/examples/micelle/log.29Mar2019.micelle.g++.4 @@ -0,0 +1,218 @@ +LAMMPS (29 Mar 2019) + using 1 OpenMP thread(s) per MPI task +# 2d micelle simulation + +dimension 2 + +neighbor 0.3 bin +neigh_modify delay 5 + +atom_style bond + +# Soft potential push-off + +read_data data.micelle + orthogonal box = (0 0 -0.1) to (35.8569 35.8569 0.1) + 2 by 2 by 1 MPI processor grid + reading atoms ... + 1200 atoms + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 300 bonds + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000413656 secs + read_data CPU = 0.00487924 secs +special_bonds fene + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000178576 secs + +pair_style soft 1.12246 +pair_coeff * * 0.0 1.12246 + +bond_style harmonic +bond_coeff 1 50.0 0.75 + +velocity all create 0.45 2349852 + +variable prefactor equal ramp(1.0,20.0) + +fix 1 all nve +fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 +fix 3 all adapt 1 pair soft a * * v_prefactor +fix 4 all enforce2d + +thermo 50 +run 1000 +Neighbor list info ... + update every 1 steps, delay 5 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.42246 + ghost atom cutoff = 1.42246 + binsize = 0.71123, bins = 51 51 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair soft, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.758 | 3.85 | 4.126 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 + 50 0.47411013 0.67721272 0.057404514 1.2083323 1.3375852 + 100 0.45 0.73046745 0.054836584 1.234929 2.3196516 + 150 0.67521742 0.72402001 0.043490075 1.4421648 2.8744416 + 200 0.45 0.78481891 0.076931503 1.3113754 3.0412388 + 250 0.66479018 0.69790602 0.081075564 1.4432178 3.6917024 + 300 0.45 0.76820218 0.066727591 1.2845548 3.7861054 + 350 0.67619136 0.625715 0.072722727 1.3740656 4.2861621 + 400 0.45 0.68527759 0.090724527 1.2256271 4.4725214 + 450 0.56702844 0.64402767 0.080555563 1.2911391 4.7402211 + 500 0.45 0.64883009 0.078376672 1.1768318 4.7919294 + 550 0.564664 0.58260368 0.080779475 1.2275766 4.9855705 + 600 0.45 0.58193041 0.088386617 1.119942 5.131481 + 650 0.52110993 0.5415273 0.097683746 1.1598867 5.2500294 + 700 0.45 0.50856787 0.088471208 1.0466641 5.2550165 + 750 0.51510855 0.47441291 0.089429375 1.0785216 5.375763 + 800 0.45 0.49926696 0.085958476 1.0348504 5.4665914 + 850 0.50688494 0.46614429 0.088962292 1.0615691 5.556932 + 900 0.45 0.47785593 0.10150857 1.0289895 5.7765975 + 950 0.49590559 0.46050477 0.096404887 1.052402 5.8649245 + 1000 0.45 0.47691182 0.08808163 1.0146185 6.0177568 +Loop time of 0.0906248 on 4 procs for 1000 steps with 1200 atoms + +Performance: 4766906.584 tau/day, 11034.506 timesteps/s +98.9% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.036572 | 0.039266 | 0.041216 | 1.0 | 43.33 +Bond | 0.0023205 | 0.0024512 | 0.0025697 | 0.2 | 2.70 +Neigh | 0.0088909 | 0.0089301 | 0.0089679 | 0.0 | 9.85 +Comm | 0.022308 | 0.024047 | 0.027175 | 1.3 | 26.53 +Output | 0.00057411 | 0.00061274 | 0.00071025 | 0.0 | 0.68 +Modify | 0.0083182 | 0.0092374 | 0.0098341 | 0.6 | 10.19 +Other | | 0.006081 | | | 6.71 + +Nlocal: 300 ave 305 max 292 min +Histogram: 1 0 0 0 0 0 1 0 1 1 +Nghost: 100.25 ave 108 max 93 min +Histogram: 1 0 1 0 0 0 1 0 0 1 +Neighs: 784 ave 815 max 739 min +Histogram: 1 0 0 0 0 0 1 1 0 1 + +Total # of neighbors = 3136 +Ave neighs/atom = 2.61333 +Ave special neighs/atom = 0.5 +Neighbor list builds = 92 +Dangerous builds = 0 + +unfix 3 + +# Main run + +pair_style lj/cut 2.5 + +# solvent/head - full-size and long-range + +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 2.5 + +# tail/tail - size-averaged and long-range + +pair_coeff 3 3 1.0 0.75 2.5 +pair_coeff 4 4 1.0 0.50 2.5 +pair_coeff 3 4 1.0 0.67 2.5 + +# solvent/tail - full-size and repulsive + +pair_coeff 1 3 1.0 1.0 1.12246 +pair_coeff 1 4 1.0 1.0 1.12246 + +# head/tail - size-averaged and repulsive + +pair_coeff 2 3 1.0 0.88 1.12246 +pair_coeff 2 4 1.0 0.75 1.12246 + +thermo 50 + +#dump 1 all atom 2000 dump.micelle + +#dump 2 all image 2000 image.*.jpg type type zoom 1.6 +#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +#dump 3 all movie 2000 movie.mpg type type zoom 1.6 +#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +reset_timestep 0 +run 1000 +Neighbor list info ... + update every 1 steps, delay 5 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 = 26 26 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.001 | 4.032 | 4.124 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 0.45 -1.7056163 0.08808163 -1.1679097 3.9431686 + 50 0.59734982 -1.8103783 0.076066922 -1.1374593 3.2770557 + 100 0.45 -1.8347112 0.093132329 -1.2919539 3.024661 + 150 0.51924311 -1.8943977 0.076004124 -1.2995832 2.5570373 + 200 0.45 -1.8918672 0.082422107 -1.3598201 2.5629655 + 250 0.50281134 -1.920406 0.074011331 -1.3440023 2.3518682 + 300 0.45 -1.9351047 0.075337265 -1.4101424 2.3249947 + 350 0.47650026 -1.9313687 0.072115117 -1.3831504 2.1987532 + 400 0.45 -1.9554318 0.081603939 -1.4242028 2.0787066 + 450 0.47220236 -1.9468502 0.065625625 -1.4094157 2.0984288 + 500 0.4684673 -1.9444333 0.076696285 -1.3996601 2.0528682 + 550 0.47683128 -1.958676 0.070589721 -1.4116523 2.0856023 + 600 0.46851245 -1.9338267 0.070605469 -1.3950992 2.26405 + 650 0.46874143 -1.9462493 0.069134686 -1.4087638 2.1070262 + 700 0.4643739 -1.9309953 0.071977511 -1.3950309 2.225692 + 750 0.47326259 -1.9484258 0.075435808 -1.4001218 2.0880235 + 800 0.45 -1.9646003 0.06415956 -1.4508158 2.0612703 + 850 0.46748278 -1.9705588 0.06038513 -1.4430804 1.9472884 + 900 0.46909438 -1.9537221 0.062470305 -1.4225483 2.0223008 + 950 0.45631508 -1.9387742 0.067536066 -1.4153033 2.063854 + 1000 0.45 -1.9727651 0.058608085 -1.464532 1.9982447 +Loop time of 0.0878521 on 4 procs for 1000 steps with 1200 atoms + +Performance: 4917357.613 tau/day, 11382.772 timesteps/s +99.0% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.043517 | 0.044455 | 0.046903 | 0.7 | 50.60 +Bond | 0.0020199 | 0.0022303 | 0.0024347 | 0.4 | 2.54 +Neigh | 0.012207 | 0.012335 | 0.012512 | 0.1 | 14.04 +Comm | 0.014938 | 0.018265 | 0.020068 | 1.5 | 20.79 +Output | 0.00061369 | 0.00064814 | 0.00073504 | 0.0 | 0.74 +Modify | 0.0052264 | 0.0053691 | 0.0055039 | 0.2 | 6.11 +Other | | 0.00455 | | | 5.18 + +Nlocal: 300 ave 305 max 296 min +Histogram: 1 1 0 0 0 0 1 0 0 1 +Nghost: 219.5 ave 228 max 214 min +Histogram: 1 0 1 1 0 0 0 0 0 1 +Neighs: 2146.5 ave 2201 max 2114 min +Histogram: 1 1 0 1 0 0 0 0 0 1 + +Total # of neighbors = 8586 +Ave neighs/atom = 7.155 +Ave special neighs/atom = 0.5 +Neighbor list builds = 86 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.infile.g++.1 b/examples/rigid/log.20Mar22.rigid.infile.g++.1 new file mode 100644 index 0000000000..7c554d2778 --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.infile.g++.1 @@ -0,0 +1,312 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.000 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 infile bodyinfo.dat + 9 rigid bodies with 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Reading rigid body data for 4 bodies from file bodyinfo.dat +Reading rigid body data for 4 bodies from file bodyinfo.dat +Neighbor list info ... + update every 1 steps, delay 10 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 = 18 18 18 + 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.353 | 4.353 | 4.353 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722793e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06941 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690666 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532812 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652435 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156167 0 5269.5203 12.011611 + 9600 16738.549 -0.02681437 0 5269.5163 12.011415 + 9650 16738.765 -0.10191524 0 5269.5092 12.011013 + 9700 16735.041 1.0589895 0 5269.4979 12.062708 + 9750 16738.013 0.13550156 0 5269.5101 11.407246 + 9800 16738.512 -0.011620325 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270436 0 5269.5237 11.395099 + 9900 16738.489 -0.0002498452 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395077 + 10000 16738.49 0 0 5269.5246 11.395076 +Loop time of 0.0882903 on 1 procs for 10000 steps with 81 atoms + +Performance: 978589.581 tau/day, 113262.683 timesteps/s +97.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0064583 | 0.0064583 | 0.0064583 | 0.0 | 7.31 +Neigh | 0.027186 | 0.027186 | 0.027186 | 0.0 | 30.79 +Comm | 0.0057041 | 0.0057041 | 0.0057041 | 0.0 | 6.46 +Output | 0.0020628 | 0.0020628 | 0.0020628 | 0.0 | 2.34 +Modify | 0.042816 | 0.042816 | 0.042816 | 0.0 | 48.49 +Other | | 0.004063 | | | 4.60 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 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 = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.infile.g++.4 b/examples/rigid/log.20Mar22.rigid.infile.g++.4 new file mode 100644 index 0000000000..2e0535a69a --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.infile.g++.4 @@ -0,0 +1,312 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.000 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 infile bodyinfo.dat + 9 rigid bodies with 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Reading rigid body data for 4 bodies from file bodyinfo.dat +Reading rigid body data for 4 bodies from file bodyinfo.dat +Neighbor list info ... + update every 1 steps, delay 10 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 = 18 18 18 + 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.201 | 4.233 | 4.327 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.972279e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706557 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06941 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.004530741 0 5269.5178 12.01162 + 8600 16738.474 -0.00076532813 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156168 0 5269.5203 12.011611 + 9600 16738.549 -0.026814371 0 5269.5163 12.011415 + 9650 16738.765 -0.10191524 0 5269.5092 12.011013 + 9700 16735.041 1.0589899 0 5269.4979 12.062708 + 9750 16738.013 0.13550149 0 5269.5101 11.407246 + 9800 16738.512 -0.011620325 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270428 0 5269.5237 11.395099 + 9900 16738.489 -0.0002498452 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395077 + 10000 16738.49 0 0 5269.5246 11.395076 +Loop time of 0.100422 on 4 procs for 10000 steps with 81 atoms + +Performance: 860368.209 tau/day, 99579.654 timesteps/s +99.0% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0014853 | 0.0020649 | 0.0026245 | 0.9 | 2.06 +Neigh | 0.0075956 | 0.0080256 | 0.0091971 | 0.8 | 7.99 +Comm | 0.037221 | 0.041059 | 0.043195 | 1.2 | 40.89 +Output | 0.0020995 | 0.0023594 | 0.003073 | 0.8 | 2.35 +Modify | 0.041318 | 0.042855 | 0.044215 | 0.5 | 42.67 +Other | | 0.004059 | | | 4.04 + +Nlocal: 20.25 ave 38 max 3 min +Histogram: 1 0 1 0 0 0 1 0 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 1 1 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.molecule.g++.1 b/examples/rigid/log.20Mar22.rigid.molecule.g++.1 new file mode 100644 index 0000000000..b4a4b28d92 --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.molecule.g++.1 @@ -0,0 +1,349 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style bond + +pair_style lj/cut 2.5 + +read_data data.rigid.small +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid molecule + 9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + 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 = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.233 | 5.233 | 5.233 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.97228e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706557 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06941 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532813 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156166 0 5269.5203 12.011611 + 9600 16738.549 -0.026814371 0 5269.5163 12.011415 + 9650 16738.765 -0.10191524 0 5269.5092 12.011013 + 9700 16735.041 1.0589897 0 5269.4979 12.062708 + 9750 16738.013 0.1355014 0 5269.5101 11.407246 + 9800 16738.512 -0.011620325 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270449 0 5269.5237 11.395099 + 9900 16738.489 -0.00024984529 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395077 + 10000 16738.49 0 0 5269.5246 11.395076 +Loop time of 0.0974108 on 1 procs for 10000 steps with 81 atoms + +Performance: 886965.415 tau/day, 102658.034 timesteps/s +96.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0068054 | 0.0068054 | 0.0068054 | 0.0 | 6.99 +Bond | 0.00034618 | 0.00034618 | 0.00034618 | 0.0 | 0.36 +Neigh | 0.033076 | 0.033076 | 0.033076 | 0.0 | 33.96 +Comm | 0.0067938 | 0.0067938 | 0.0067938 | 0.0 | 6.97 +Output | 0.0022905 | 0.0022905 | 0.0022905 | 0.0 | 2.35 +Modify | 0.044027 | 0.044027 | 0.044027 | 0.0 | 45.20 +Other | | 0.004071 | | | 4.18 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.molecule.g++.4 b/examples/rigid/log.20Mar22.rigid.molecule.g++.4 new file mode 100644 index 0000000000..63835843a0 --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.molecule.g++.4 @@ -0,0 +1,349 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style bond + +pair_style lj/cut 2.5 + +read_data data.rigid.small +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid molecule + 9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + 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 = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.08 | 5.112 | 5.206 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722775e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934367 0 5269.4889 12.025288 + 3750 16737.731 0.20706556 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06941 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690662 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646802 0 5269.5182 12.011643 + 8550 16738.483 -0.004530741 0 5269.5178 12.01162 + 8600 16738.474 -0.00076532815 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652439 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156171 0 5269.5203 12.011611 + 9600 16738.549 -0.026814373 0 5269.5163 12.011415 + 9650 16738.765 -0.10191525 0 5269.5092 12.011013 + 9700 16735.041 1.0589908 0 5269.4979 12.062708 + 9750 16738.013 0.13550139 0 5269.5101 11.407247 + 9800 16738.512 -0.011620323 0 5269.5201 11.394975 + 9850 16738.489 -0.00067270407 0 5269.5237 11.395099 + 9900 16738.489 -0.00024984518 0 5269.5242 11.395086 + 9950 16738.49 0 0 5269.5245 11.395077 + 10000 16738.49 0 0 5269.5246 11.395076 +Loop time of 0.102079 on 4 procs for 10000 steps with 81 atoms + +Performance: 846406.333 tau/day, 97963.696 timesteps/s +98.7% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0015357 | 0.0020418 | 0.0024561 | 0.7 | 2.00 +Bond | 0.00030031 | 0.00031957 | 0.00034464 | 0.0 | 0.31 +Neigh | 0.0091719 | 0.0094934 | 0.010243 | 0.4 | 9.30 +Comm | 0.038015 | 0.041242 | 0.043481 | 1.1 | 40.40 +Output | 0.002223 | 0.0024412 | 0.0030738 | 0.7 | 2.39 +Modify | 0.040725 | 0.042557 | 0.043982 | 0.7 | 41.69 +Other | | 0.003983 | | | 3.90 + +Nlocal: 20.25 ave 38 max 3 min +Histogram: 1 0 1 0 0 0 1 0 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 1 1 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.poems.g++.1 b/examples/rigid/log.20Mar22.rigid.poems.g++.1 new file mode 100644 index 0000000000..32edd0fd0c --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.poems.g++.1 @@ -0,0 +1,328 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.000 seconds + +velocity all create 100.0 4928459 + +# 1 chain of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 36 45 +10 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +1 clusters, 9 bodies, 8 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: + +@Article{Mukherjee08, + author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, + title = {Substructured molecular dynamics using multibody dynamics algorithms}, + journal = {Intl.~J.~Non-linear Mechanics}, + year = 2008, + volume = 43, + pages = {1045--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 10 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 = 18 18 18 + 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.666 | 3.666 | 3.666 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 217.7783 3430.3907 0 3466.6871 -2.7403788 + 50 13679.637 1404.2468 0 3684.1863 12.446066 + 100 16777.225 888.87665 0 3685.0808 -31.828677 + 150 19595.365 418.45042 0 3684.3446 40.709078 + 200 18524.188 596.47273 0 3683.8375 -0.8159371 + 250 21015.789 180.96521 0 3683.5967 -10.042469 + 300 20785.513 219.25314 0 3683.5053 2.6452719 + 350 21072.46 171.2554 0 3683.3321 7.0609024 + 400 19956.414 356.36381 0 3682.4328 19.320259 + 450 20724.42 227.73284 0 3681.8028 8.1259249 + 500 20152.578 322.71466 0 3681.4777 5.4929878 + 550 20017.022 345.29701 0 3681.4673 5.4661666 + 600 17897.743 698.72196 0 3681.6791 3.2854742 + 650 17297.758 796.60256 0 3679.5623 15.191113 + 700 18581.934 584.29715 0 3681.2861 5.1588289 + 750 21774.158 52.821062 0 3681.8474 -10.775664 + 800 21604.055 81.188546 0 3681.8644 -3.2045742 + 850 17821.483 711.53827 0 3681.7854 7.438428 + 900 21033.292 175.98127 0 3681.5299 -16.345167 + 950 20968.166 186.59847 0 3681.2929 -2.330456 + 1000 20490.66 266.19374 0 3681.3037 11.787982 + 1050 20222.396 310.94072 0 3681.34 -8.3459539 + 1100 21321.687 127.61533 0 3681.2299 -1.2184716 + 1150 20849.582 206.01696 0 3680.9472 -0.86699118 + 1200 21815.003 45.317409 0 3681.1512 1.5988314 + 1250 18655.437 572.41453 0 3681.654 10.064083 + 1300 20780.781 217.36511 0 3680.8286 6.0538604 + 1350 20558.971 254.36489 0 3680.8601 -3.6773868 + 1400 21485.029 99.812844 0 3680.6511 -16.185479 + 1450 21771.107 52.159653 0 3680.6775 -2.4756655 + 1500 21520.949 93.503876 0 3680.3286 2.1023573 + 1550 21351.419 121.6813 0 3680.2511 5.5159876 + 1600 20778.804 216.92191 0 3680.0559 15.089203 + 1650 21477.636 100.21873 0 3679.8247 -1.1045277 + 1700 18501.33 596.4807 0 3680.0357 -15.6798 + 1750 18563.64 587.34824 0 3681.2882 33.532308 + 1800 19110.175 494.82517 0 3679.8543 18.024074 + 1850 21364.178 119.23765 0 3679.9339 2.5290144 + 1900 20146.588 322.15509 0 3679.9197 5.7317299 + 1950 20692.676 231.25264 0 3680.0319 4.297803 + 2000 20943.902 189.11251 0 3679.7629 -22.643824 + 2050 19667.823 401.86882 0 3679.8394 3.6241915 + 2100 20280.125 299.81485 0 3679.8357 7.4804047 + 2150 19181.201 483.6306 0 3680.4975 22.63342 + 2200 21301.144 130.54014 0 3680.7308 4.7074288 + 2250 20484.876 266.98315 0 3681.1291 -8.6578278 + 2300 18648.161 573.07329 0 3681.1001 -5.2550954 + 2350 21515.748 95.243054 0 3681.201 -9.386512 + 2400 21462.551 104.18267 0 3681.2745 -29.46442 + 2450 20107.732 330.99437 0 3682.2831 35.38497 + 2500 20771.509 220.47713 0 3682.3953 -12.324858 + 2550 20499.887 265.58494 0 3682.2327 -22.713874 + 2600 21462.182 105.24427 0 3682.2747 -10.175788 + 2650 21004.949 181.51383 0 3682.3387 4.949195 + 2700 18673.552 570.45017 0 3682.7089 21.201437 + 2750 21257.562 139.198 0 3682.1249 -7.5793039 + 2800 21559.645 88.844759 0 3682.119 -6.2360467 + 2850 20865.227 204.46262 0 3682.0004 0.39575069 + 2900 19428.614 443.93293 0 3682.0352 12.796676 + 2950 19630.1 410.18487 0 3681.8681 -0.50572623 + 3000 19663.218 404.06316 0 3681.2661 6.0827093 + 3050 19087.572 500.8452 0 3682.1073 -6.3526476 + 3100 18229.94 643.77681 0 3682.1001 11.453637 + 3150 18927.492 527.51919 0 3682.1011 -1.662863 + 3200 18320.514 628.55895 0 3681.978 21.176126 + 3250 18204.677 647.96462 0 3682.0775 11.331521 + 3300 19231.978 477.02117 0 3682.3509 3.8381593 + 3350 18153.44 656.70376 0 3682.2772 15.135615 + 3400 17476.768 770.0598 0 3682.8545 -3.394312 + 3450 21097.531 166.17241 0 3682.4276 3.74301 + 3500 17605.784 747.54808 0 3681.8454 3.3420627 + 3550 19238.34 476.00608 0 3682.3961 1.1413836 + 3600 18155.288 656.57434 0 3682.4557 3.4360446 + 3650 18735.622 559.2377 0 3681.8413 28.760363 + 3700 15310.261 1134.4215 0 3686.1317 44.207018 + 3750 15377.116 1123.4786 0 3686.3313 7.6773215 + 3800 18798.895 549.05928 0 3682.2084 -12.905825 + 3850 18322.563 628.87744 0 3682.6379 -16.067793 + 3900 19963.049 355.65441 0 3682.8292 3.4694064 + 3950 19925.48 361.2507 0 3682.1641 5.0058567 + 4000 19141.423 492.41081 0 3682.648 -12.782769 + 4050 20022.241 345.61655 0 3682.6568 -3.0149905 + 4100 21348.635 124.95646 0 3683.0624 -4.85779 + 4150 21011.812 181.1132 0 3683.0819 -3.9526196 + 4200 20222.276 312.63945 0 3683.0187 -23.63437 + 4250 20957.757 189.77152 0 3682.731 -1.3712469 + 4300 20070.215 337.5751 0 3682.611 -6.8816517 + 4350 21322.437 129.09228 0 3682.8318 -6.9442178 + 4400 19440.445 442.77531 0 3682.8495 -0.11606236 + 4450 20964.516 188.67174 0 3682.7577 4.8533525 + 4500 13530.08 1428.5497 0 3683.563 12.333187 + 4550 20461.637 272.58882 0 3682.8616 4.5111943 + 4600 17072.994 836.58228 0 3682.0812 5.7611617 + 4650 18860.748 539.82027 0 3683.2782 -2.5558958 + 4700 18373.927 621.04093 0 3683.3621 5.4020702 + 4750 20321.437 296.63662 0 3683.5428 8.9571617 + 4800 21083.122 169.84086 0 3683.6946 10.566368 + 4850 20499.669 267.7012 0 3684.3128 4.2924237 + 4900 20308.781 300.38168 0 3685.1785 -12.396923 + 4950 21043.303 178.56295 0 3685.7801 3.8923762 + 5000 20718.383 232.52208 0 3685.5859 -12.43234 + 5050 21005.749 184.4363 0 3685.3945 -7.6463487 + 5100 20714.133 233.27745 0 3685.6329 -1.6944135 + 5150 19577.452 422.73035 0 3685.639 -21.831219 + 5200 14044.647 1343.9545 0 3684.729 -6.8407194 + 5250 19089.805 504.0893 0 3685.7235 4.05641 + 5300 21094.745 169.94699 0 3685.7378 -0.66593212 + 5350 19907.559 366.77598 0 3684.7024 1.5248525 + 5400 20382.81 289.13263 0 3686.2676 -11.919321 + 5450 19593.693 420.70548 0 3686.3209 -1.1568628 + 5500 20906.08 202.09801 0 3686.4447 -2.4284971 + 5550 16315.465 965.56973 0 3684.8138 -33.178221 + 5600 19714.57 400.39687 0 3686.1586 19.950231 + 5650 20561.724 259.54797 0 3686.502 8.2074524 + 5700 19349.502 460.7789 0 3685.6959 16.252649 + 5750 21006.818 185.56805 0 3686.7044 -11.96089 + 5800 20268.2 307.97547 0 3686.0089 17.322311 + 5850 21018.322 184.16179 0 3687.2154 -14.379909 + 5900 19695.647 404.57094 0 3687.1787 -20.718904 + 5950 21021.687 183.66311 0 3687.2776 -15.206081 + 6000 18947.535 529.30554 0 3687.2281 17.863927 + 6050 15272.373 1141.012 0 3686.4075 -0.43375666 + 6100 17766.197 721.75792 0 3682.7908 11.378913 + 6150 18612.573 584.06688 0 3686.1623 17.543241 + 6200 19005.155 518.97146 0 3686.4973 -16.223107 + 6250 20997.507 187.55499 0 3687.1394 -11.613546 + 6300 19639.901 413.58048 0 3686.8974 14.407136 + 6350 19580.399 423.02818 0 3686.428 -5.5801796 + 6400 14134.119 1332.0662 0 3687.7527 84.864425 + 6450 21598.824 87.419966 0 3687.224 -5.8358352 + 6500 18208.216 649.29108 0 3683.9938 -8.1510884 + 6550 19364.586 459.59813 0 3687.0291 -12.053563 + 6600 20710.927 235.11914 0 3686.9403 -1.0470193 + 6650 21132.334 165.08091 0 3687.1366 1.0785471 + 6700 20217.285 317.589 0 3687.1365 0.055447462 + 6750 21232.279 148.57412 0 3687.2873 -2.4551657 + 6800 20292.683 304.76539 0 3686.8793 -0.42311295 + 6850 19056.291 510.49927 0 3686.5478 6.9533826 + 6900 20429.82 282.23764 0 3687.2076 -4.2360112 + 6950 21281.278 140.27361 0 3687.1533 -0.07475261 + 7000 17173.388 824.54446 0 3686.7758 10.753828 + 7050 18079.7 674.56274 0 3687.846 12.975804 + 7100 16433.233 950.73904 0 3689.6112 -10.5102 + 7150 19033.335 515.59672 0 3687.8193 0.29109447 + 7200 17286.428 809.02352 0 3690.0948 2.3015698 + 7250 16811.962 886.6645 0 3688.6582 -7.4787512 + 7300 15992.461 1023.4849 0 3688.895 -5.2354222 + 7350 19211.451 487.63129 0 3689.5398 8.4351737 + 7400 19065.682 511.95629 0 3689.57 -12.47448 + 7450 21369.265 128.10098 0 3689.6451 2.2930546 + 7500 16807.109 888.64602 0 3689.8308 14.761969 + 7550 18063.046 679.21873 0 3689.7264 3.8950434 + 7600 17794.987 724.55404 0 3690.3851 14.379016 + 7650 17904.751 706.14354 0 3690.2688 23.813776 + 7700 19670.09 411.3021 0 3689.6504 14.099245 + 7750 18082.562 675.23975 0 3689.0001 15.788521 + 7800 17776.135 726.91445 0 3689.6037 6.9780735 + 7850 17062.575 846.33412 0 3690.0966 -8.9289256 + 7900 19059.2 513.07737 0 3689.6107 16.992843 + 7950 16269.685 978.48914 0 3690.1033 11.180179 + 8000 20115.278 336.91405 0 3689.4604 -6.4882518 + 8050 21173.72 161.15229 0 3690.1056 -2.2164491 + 8100 19238.235 484.42784 0 3690.8004 23.412709 + 8150 18438.4 617.58743 0 3690.6542 0.89156316 + 8200 21438.764 117.12721 0 3690.2546 -1.7193227 + 8250 21195.806 157.66607 0 3690.3003 3.820447 + 8300 21177.549 161.13702 0 3690.7286 0.94938203 + 8350 21060.267 181.06887 0 3691.1135 2.8179025 + 8400 20087.113 343.46206 0 3691.3142 8.1484473 + 8450 19298.478 474.87133 0 3691.2843 -16.239664 + 8500 21654.353 82.083485 0 3691.1423 -8.1464138 + 8550 19920.544 371.34795 0 3691.4386 20.765144 + 8600 21692.293 75.655154 0 3691.0373 -13.316763 + 8650 21231.322 151.8989 0 3690.4526 -11.388238 + 8700 19530.647 434.89585 0 3690.0037 2.7433786 + 8750 19720.63 403.07773 0 3689.8493 -6.416414 + 8800 21321.378 136.04091 0 3689.604 1.3661635 + 8850 19811.906 387.80489 0 3689.7893 3.704143 + 8900 19734.167 400.92444 0 3689.9523 2.5685155 + 8950 21076.459 177.18119 0 3689.9244 -11.939513 + 9000 20967.246 195.42966 0 3689.9707 2.0092705 + 9050 21122.023 169.62103 0 3689.9582 2.3791301 + 9100 20169.346 328.27229 0 3689.8299 -3.5017988 + 9150 21418.641 119.84513 0 3689.6187 2.486073 + 9200 20876.042 210.26452 0 3689.6048 -5.3839897 + 9250 21572.38 93.74407 0 3689.1407 -8.3676952 + 9300 20944.78 197.98577 0 3688.7824 1.3278314 + 9350 20706.52 237.48767 0 3688.5744 4.6944204 + 9400 16412.314 953.47251 0 3688.8581 26.134976 + 9450 20461.68 277.76243 0 3688.0424 17.647445 + 9500 20893.994 205.64261 0 3687.9749 -10.642418 + 9550 20503.447 270.63504 0 3687.8761 -17.769897 + 9600 19677.799 408.05887 0 3687.692 -2.7938604 + 9650 17480.971 774.1855 0 3687.6806 0.59827043 + 9700 17799.126 721.50817 0 3688.0292 44.387928 + 9750 20443.384 280.16837 0 3687.399 3.0619324 + 9800 20545.255 263.40108 0 3687.6102 3.6229381 + 9850 20722.819 233.57142 0 3687.3745 0.86462694 + 9900 21128.462 165.09767 0 3686.508 -6.9636843 + 9950 21343.307 130.46714 0 3687.685 -9.7382705 + 10000 20623.887 250.37866 0 3687.6932 2.7529835 +Loop time of 2.27157 on 1 procs for 10000 steps with 81 atoms + +Performance: 38035.351 tau/day, 4402.240 timesteps/s +99.4% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.092926 | 0.092926 | 0.092926 | 0.0 | 4.09 +Neigh | 0.076362 | 0.076362 | 0.076362 | 0.0 | 3.36 +Comm | 0.0069691 | 0.0069691 | 0.0069691 | 0.0 | 0.31 +Output | 0.0037444 | 0.0037444 | 0.0037444 | 0.0 | 0.16 +Modify | 2.0832 | 2.0832 | 2.0832 | 0.0 | 91.71 +Other | | 0.00841 | | | 0.37 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 62 ave 62 max 62 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 905 ave 905 max 905 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 905 +Ave neighs/atom = 11.17284 +Neighbor list builds = 991 +Dangerous builds = 927 +Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems.g++.4 b/examples/rigid/log.20Mar22.rigid.poems.g++.4 new file mode 100644 index 0000000000..7e651a7aaf --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.poems.g++.4 @@ -0,0 +1,328 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# 1 chain of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 36 45 +10 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +1 clusters, 9 bodies, 8 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: + +@Article{Mukherjee08, + author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, + title = {Substructured molecular dynamics using multibody dynamics algorithms}, + journal = {Intl.~J.~Non-linear Mechanics}, + year = 2008, + volume = 43, + pages = {1045--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 10 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 = 18 18 18 + 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.514 | 3.545 | 3.639 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 217.7783 3430.3907 0 3466.6871 -2.7403788 + 50 13679.637 1404.2468 0 3684.1863 12.446066 + 100 16777.225 888.87665 0 3685.0808 -31.828677 + 150 19595.365 418.45042 0 3684.3446 40.709078 + 200 18524.188 596.47273 0 3683.8375 -0.8159371 + 250 21015.789 180.96521 0 3683.5967 -10.042469 + 300 20785.513 219.25314 0 3683.5053 2.6452719 + 350 21072.46 171.2554 0 3683.3321 7.0609024 + 400 19956.414 356.36381 0 3682.4328 19.320259 + 450 20724.42 227.73284 0 3681.8028 8.1259249 + 500 20152.578 322.71466 0 3681.4777 5.4929878 + 550 20017.022 345.29701 0 3681.4673 5.4661666 + 600 17897.743 698.72196 0 3681.6791 3.2854742 + 650 17297.758 796.60256 0 3679.5623 15.191113 + 700 18581.934 584.29715 0 3681.2861 5.1588289 + 750 21774.158 52.821062 0 3681.8474 -10.775664 + 800 21604.055 81.188546 0 3681.8644 -3.2045742 + 850 17821.483 711.53827 0 3681.7854 7.4384281 + 900 21033.292 175.98127 0 3681.5299 -16.345167 + 950 20968.166 186.59847 0 3681.2929 -2.330456 + 1000 20490.66 266.19374 0 3681.3037 11.787982 + 1050 20222.396 310.94072 0 3681.34 -8.3459539 + 1100 21321.687 127.61533 0 3681.2299 -1.2184716 + 1150 20849.582 206.01696 0 3680.9472 -0.86699115 + 1200 21815.003 45.317409 0 3681.1512 1.5988314 + 1250 18655.437 572.41453 0 3681.654 10.064083 + 1300 20780.781 217.36511 0 3680.8286 6.0538606 + 1350 20558.971 254.36489 0 3680.8601 -3.6773868 + 1400 21485.03 99.812843 0 3680.6511 -16.185479 + 1450 21771.107 52.159652 0 3680.6775 -2.4756656 + 1500 21520.949 93.503872 0 3680.3286 2.1023574 + 1550 21351.419 121.68131 0 3680.2511 5.5159875 + 1600 20778.804 216.92191 0 3680.0559 15.089203 + 1650 21477.636 100.21877 0 3679.8247 -1.104524 + 1700 18501.329 596.48084 0 3680.0357 -15.679806 + 1750 18563.639 587.34841 0 3681.2882 33.532316 + 1800 19110.174 494.82524 0 3679.8543 18.024079 + 1850 21364.178 119.23767 0 3679.9339 2.5290075 + 1900 20146.588 322.15506 0 3679.9197 5.7317368 + 1950 20692.674 231.25288 0 3680.0319 4.2977982 + 2000 20943.904 189.11229 0 3679.7629 -22.643749 + 2050 19667.815 401.87016 0 3679.8394 3.6240972 + 2100 20280.109 299.81759 0 3679.8357 7.4803647 + 2150 19181.146 483.63975 0 3680.4974 22.634167 + 2200 21301.194 130.53171 0 3680.7308 4.7072523 + 2250 20484.79 266.99736 0 3681.1291 -8.6583002 + 2300 18648.002 573.09962 0 3681.1 -5.2548835 + 2350 21515.851 95.225745 0 3681.2009 -9.3875216 + 2400 21462.37 104.21272 0 3681.2744 -29.459857 + 2450 20108.034 330.94394 0 3682.2829 35.37058 + 2500 20771.818 220.42545 0 3682.3951 -12.318936 + 2550 20502.815 265.09577 0 3682.2316 -22.726822 + 2600 21462.006 105.2733 0 3682.2744 -10.180394 + 2650 21009.656 180.72738 0 3682.3367 4.9580828 + 2700 18680.012 569.37179 0 3682.7071 21.114114 + 2750 21256.19 139.42201 0 3682.1203 -7.4744399 + 2800 21552.267 90.071446 0 3682.1159 -6.2906304 + 2850 20879.958 202.00905 0 3682.0021 0.57990903 + 2900 19018.645 512.35214 0 3682.1262 13.883084 + 2950 19819.365 378.55747 0 3681.785 -0.7348943 + 3000 20269.229 303.35149 0 3681.5563 6.3088075 + 3050 19236.727 475.99457 0 3682.1158 -10.703575 + 3100 18391.55 616.96976 0 3682.2281 9.850079 + 3150 20258.563 305.82076 0 3682.248 7.1951283 + 3200 20716.384 229.15502 0 3681.8856 2.9042294 + 3250 18662.237 572.0784 0 3682.4512 9.2108597 + 3300 19162.278 488.60646 0 3682.3195 3.3306562 + 3350 21235.679 142.98279 0 3682.2626 0.29397483 + 3400 17677.053 736.09247 0 3682.2679 32.75269 + 3450 20852.392 206.65618 0 3682.0548 -4.8319056 + 3500 21182.918 151.46754 0 3681.9539 -5.6330382 + 3550 20589.85 250.40724 0 3682.049 12.582133 + 3600 20973.659 186.28043 0 3681.8903 10.935266 + 3650 17838.632 707.92145 0 3681.0268 -17.200926 + 3700 21538.002 92.744409 0 3682.4114 -0.72124229 + 3750 21390.294 117.90865 0 3682.9576 -7.8431786 + 3800 17921.046 696.50311 0 3683.344 -9.4641531 + 3850 20356.471 290.22624 0 3682.9715 2.4593463 + 3900 20374.077 287.10249 0 3682.782 -1.9519082 + 3950 20563.915 255.29993 0 3682.619 -6.124649 + 4000 20991.467 184.76183 0 3683.3397 1.8954961 + 4050 17805.623 716.24698 0 3683.8509 -20.454944 + 4100 19916.389 363.86301 0 3683.2611 -0.27912557 + 4150 19221.623 480.01232 0 3683.6161 -11.562492 + 4200 20526.82 261.78571 0 3682.9224 -3.9522917 + 4250 20922.813 196.1799 0 3683.3154 0.11947446 + 4300 19956.66 357.78133 0 3683.8914 19.156093 + 4350 19735.73 394.45981 0 3683.7482 14.865775 + 4400 21702.656 67.099805 0 3684.2092 -13.502538 + 4450 18163.055 656.97231 0 3684.1482 -0.6243111 + 4500 17477.718 771.25976 0 3684.2127 -0.4664004 + 4550 20676.507 238.19814 0 3684.2827 -19.444969 + 4600 17322.922 796.77058 0 3683.9242 27.003966 + 4650 11905.158 1704.9151 0 3689.1082 15.574169 + 4700 18689.079 569.80982 0 3684.6563 -14.67311 + 4750 19821.745 381.01914 0 3684.6433 5.0436795 + 4800 20621.335 247.96269 0 3684.8518 -16.407263 + 4850 21923.814 30.965964 0 3684.935 -13.418244 + 4900 18840.555 544.41538 0 3684.5079 11.005357 + 4950 15366.601 1124.2481 0 3685.3482 17.412375 + 5000 18274.314 639.01311 0 3684.732 5.3261109 + 5050 21173.687 155.83673 0 3684.7845 5.4056809 + 5100 21738.219 61.75201 0 3684.7885 -2.631945 + 5150 16597.949 918.84841 0 3685.1732 -10.124101 + 5200 20752.758 225.95919 0 3684.7522 -5.2441372 + 5250 17652.088 741.2645 0 3683.2793 2.0080739 + 5300 19907.523 366.53115 0 3684.4516 8.4266792 + 5350 20104.189 334.14522 0 3684.8433 17.21925 + 5400 21499.848 101.71631 0 3685.0243 -6.1103541 + 5450 21203.533 151.14574 0 3685.068 -5.9468503 + 5500 21076.513 172.45652 0 3685.2088 5.1418181 + 5550 20158.398 325.56609 0 3685.2992 -1.6486034 + 5600 20787.836 221.19563 0 3685.835 -10.66805 + 5650 19687.154 404.77204 0 3685.9644 -23.49128 + 5700 20419.311 282.58328 0 3685.8017 -0.52808211 + 5750 19738.522 395.95893 0 3685.7126 1.3889817 + 5800 18300.025 635.66905 0 3685.6732 23.490447 + 5850 20585.004 255.02032 0 3685.8543 -0.20699939 + 5900 20373.839 290.15881 0 3685.7987 -7.9712187 + 5950 18163.832 659.91192 0 3687.2173 5.4494586 + 6000 21049.247 177.43029 0 3685.6382 2.9138342 + 6050 21239.803 145.77613 0 3685.7433 -1.4927769 + 6100 20686.361 237.86454 0 3685.5913 -0.95516297 + 6150 20461.754 275.31546 0 3685.6079 -3.4166412 + 6200 19264.208 474.73017 0 3685.4316 11.750757 + 6250 21180.813 155.31746 0 3685.4529 2.8188219 + 6300 21047.543 177.4394 0 3685.3632 1.8641486 + 6350 20232.576 313.17716 0 3685.2731 2.8150209 + 6400 20185.616 321.33454 0 3685.6038 -3.8697311 + 6450 18969.632 523.95865 0 3685.5639 0.6725512 + 6500 17592.574 753.49959 0 3685.5952 -1.2557393 + 6550 21279.049 138.42524 0 3684.9335 -1.208945 + 6600 21408.457 116.4143 0 3684.4904 -1.5332953 + 6650 19758.218 391.17316 0 3684.2096 1.8511312 + 6700 20766.943 223.44631 0 3684.6036 -2.3672623 + 6750 20399.631 284.09914 0 3684.0377 -5.4089876 + 6800 21296.628 135.14662 0 3684.5847 -3.8442549 + 6850 20641.481 244.4451 0 3684.692 1.4020639 + 6900 20852.81 209.23009 0 3684.6984 1.8512104 + 6950 20940.555 194.66882 0 3684.7614 -6.554676 + 7000 19496.988 435.28199 0 3684.78 -15.120269 + 7050 19796.829 385.04227 0 3684.5138 -4.1068804 + 7100 19945.264 360.42431 0 3684.635 -4.0629042 + 7150 19431.123 446.12911 0 3684.6497 -6.8321751 + 7200 16864.851 873.80043 0 3684.6089 14.309069 + 7250 20438.75 277.85982 0 3684.3181 -11.41223 + 7300 17688.684 734.01576 0 3682.1298 35.938373 + 7350 21573.419 88.63421 0 3684.204 -3.9032749 + 7400 21198.486 150.72249 0 3683.8034 -7.1477117 + 7450 20586.708 252.93928 0 3684.0572 -7.6634645 + 7500 21815.377 48.180377 0 3684.0765 0.97457507 + 7550 17791.352 718.87564 0 3684.101 28.248235 + 7600 21828.874 45.928597 0 3684.0742 -0.25814944 + 7650 20827.961 212.35674 0 3683.6835 -3.4083384 + 7700 21319.176 130.43547 0 3683.6315 -12.434856 + 7750 20127.904 328.69643 0 3683.3471 -16.975711 + 7800 21741.772 59.679206 0 3683.3078 3.6261863 + 7850 19612.334 414.37418 0 3683.0964 1.3763274 + 7900 20071.318 337.74624 0 3682.9658 -0.40982763 + 7950 17925.664 695.29582 0 3682.9065 17.104439 + 8000 19125.978 492.76383 0 3680.4268 10.807662 + 8050 20233.848 310.42681 0 3682.7347 13.386237 + 8100 20551.619 257.86699 0 3683.1368 -13.97515 + 8150 21578.323 86.88362 0 3683.2708 -9.6811587 + 8200 21154.833 157.72897 0 3683.5344 0.62312375 + 8250 21321.143 129.83967 0 3683.3636 1.9536438 + 8300 21041.696 176.04177 0 3682.9911 4.7475567 + 8350 19883.39 369.32649 0 3683.2247 -7.0959328 + 8400 21626.067 79.062992 0 3683.4075 -14.919059 + 8450 21375.201 120.86836 0 3683.4019 -5.3461514 + 8500 20281.059 303.10304 0 3683.2796 3.7975093 + 8550 21170.533 154.48432 0 3682.9065 -1.1568561 + 8600 17754.931 724.00158 0 3683.1568 14.15254 + 8650 20685.478 235.65879 0 3683.2385 -5.2694179 + 8700 21489.165 101.90509 0 3683.4326 -4.2510612 + 8750 21106.682 165.41638 0 3683.1968 -3.9186708 + 8800 19149.516 491.5843 0 3683.1702 -11.419849 + 8850 21451.865 108.1814 0 3683.4923 -7.8256219 + 8900 19567.4 421.81206 0 3683.0454 -0.71997056 + 8950 20934.097 194.48033 0 3683.4965 -7.0106879 + 9000 18531.559 595.25957 0 3683.8528 3.7449399 + 9050 18868.821 537.22549 0 3682.029 9.9926092 + 9100 19972.527 354.73119 0 3683.4858 -0.30871263 + 9150 19641.651 409.18618 0 3682.7947 -1.3036238 + 9200 20019.08 346.19657 0 3682.7099 6.7425386 + 9250 19259.286 473.04973 0 3682.9308 -24.120659 + 9300 21597.757 82.971857 0 3682.598 -13.748483 + 9350 19348.379 457.23576 0 3681.9656 3.1571402 + 9400 19129.588 493.35235 0 3681.617 8.6293783 + 9450 20337.025 291.20959 0 3680.7138 6.8590795 + 9500 20581.788 249.65891 0 3679.9569 -18.892836 + 9550 19482.069 433.0077 0 3680.0192 23.029778 + 9600 19182.794 482.96871 0 3680.101 -11.081731 + 9650 20086.771 332.5311 0 3680.3263 -18.939681 + 9700 20274.046 300.98818 0 3679.9959 6.7538762 + 9750 18743.595 555.08045 0 3679.0129 8.2757138 + 9800 19464.311 435.66288 0 3679.7148 7.0528759 + 9850 21249.848 138.27382 0 3679.9152 -10.847402 + 9900 21156.214 153.84621 0 3679.8819 -7.8359674 + 9950 21643.134 72.547515 0 3679.7365 -10.507744 + 10000 19587.948 414.64942 0 3679.3075 6.1173553 +Loop time of 2.36879 on 4 procs for 10000 steps with 81 atoms + +Performance: 36474.344 tau/day, 4221.568 timesteps/s +99.2% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.005348 | 0.024925 | 0.056071 | 12.2 | 1.05 +Neigh | 0.0075012 | 0.022046 | 0.043933 | 9.3 | 0.93 +Comm | 0.13135 | 0.16461 | 0.1917 | 5.9 | 6.95 +Output | 0.0036298 | 0.004271 | 0.0056384 | 1.2 | 0.18 +Modify | 2.1147 | 2.1322 | 2.1418 | 0.7 | 90.01 +Other | | 0.02072 | | | 0.87 + +Nlocal: 20.25 ave 81 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 +Nghost: 41 ave 78 max 11 min +Histogram: 2 0 0 0 0 0 0 1 0 1 +Neighs: 193.5 ave 774 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 774 +Ave neighs/atom = 9.5555556 +Neighbor list builds = 989 +Dangerous builds = 915 +Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems2.g++.1 b/examples/rigid/log.20Mar22.rigid.poems2.g++.1 new file mode 100644 index 0000000000..57f2040a67 --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.poems2.g++.1 @@ -0,0 +1,330 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.000 seconds + +velocity all create 100.0 4928459 + +# 2 chains of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 +fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +2 clusters, 9 bodies, 7 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems2 + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: + +@Article{Mukherjee08, + author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, + title = {Substructured molecular dynamics using multibody dynamics algorithms}, + journal = {Intl.~J.~Non-linear Mechanics}, + year = 2008, + volume = 43, + pages = {1045--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 10 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 = 18 18 18 + 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.666 | 3.666 | 3.666 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 196.00047 3632.2347 0 3668.5311 -2.7403788 + 50 12774.759 1538.7382 0 3904.4344 18.086359 + 100 19803.641 237.21132 0 3904.5523 -3.1528278 + 150 20259.6 152.62072 0 3904.3985 -4.6173524 + 200 20705.978 69.977442 0 3904.4178 9.0928158 + 250 19552.211 283.50525 0 3904.285 15.670465 + 300 19266.324 333.5792 0 3901.4169 7.2119197 + 350 20738.325 63.738945 0 3904.1694 -23.03999 + 400 20616.682 86.082444 0 3903.9864 -13.783584 + 450 19831.326 230.13858 0 3902.6063 0.42074361 + 500 20365.825 131.47231 0 3902.9213 0.6921524 + 550 20794.102 52.163238 0 3902.9229 4.5895354 + 600 20853.873 40.899172 0 3902.7275 2.3593042 + 650 19255.802 336.29509 0 3902.1844 10.341742 + 700 18526.969 471.02462 0 3901.9448 -0.61898691 + 750 18960.662 391.26068 0 3902.4944 12.04731 + 800 20142.432 172.05177 0 3902.1317 4.6838621 + 850 19932.48 210.71175 0 3901.9118 3.4716043 + 900 20243.528 153.13972 0 3901.9411 3.6490762 + 950 20388.132 126.88722 0 3902.4671 -4.4518463 + 1000 20076.333 184.61915 0 3902.4586 -2.272315 + 1050 20859.506 39.696993 0 3902.5684 6.45166 + 1100 15284.661 1072.1908 0 3902.6836 21.194042 + 1150 19658.317 261.99809 0 3902.4272 -2.874422 + 1200 20767.681 56.717094 0 3902.5839 -34.817444 + 1250 20625.583 82.586399 0 3902.1388 11.697329 + 1300 20690.013 71.006478 0 3902.4903 -29.292777 + 1350 20936.019 26.022786 0 3903.0634 1.0316025 + 1400 19753.559 244.81785 0 3902.8844 6.7138514 + 1450 15690.149 998.342 0 3903.9252 48.124557 + 1500 20234.455 155.92516 0 3903.0465 13.17221 + 1550 20779.631 55.063009 0 3903.1428 -2.639045 + 1600 20642.753 80.233905 0 3902.9659 -2.4688467 + 1650 18785.696 423.90402 0 3902.7365 -5.6466663 + 1700 20965.076 20.760444 0 3903.182 -0.45364296 + 1750 18935.406 396.96067 0 3903.5173 25.913302 + 1800 20581.559 91.756972 0 3903.1567 3.8217234 + 1850 20616.946 85.184849 0 3903.1378 4.1907972 + 1900 16602.053 828.40949 0 3902.8637 -0.49505122 + 1950 20175.526 166.53362 0 3902.7421 5.603825 + 2000 20261.924 150.39322 0 3902.6014 -1.196958 + 2050 20170.339 167.40504 0 3902.6531 -0.80849882 + 2100 19820.132 231.26755 0 3901.6624 3.1476607 + 2150 20666.19 75.838461 0 3902.9106 0.53899287 + 2200 19873.51 222.53286 0 3902.8124 7.9310276 + 2250 18548.063 467.69698 0 3902.5235 16.905356 + 2300 20616.61 84.762399 0 3902.6531 -6.7872951 + 2350 18167.738 538.13635 0 3902.5322 -11.458285 + 2400 20120.227 177.01954 0 3902.9875 -1.2593018 + 2450 20436.599 118.32469 0 3902.8801 -6.5989174 + 2500 18919.923 400.26361 0 3903.9531 32.37476 + 2550 19675.809 259.77151 0 3903.4398 19.437327 + 2600 19739.842 247.86388 0 3903.3901 -7.519784 + 2650 20557.026 96.530313 0 3903.387 0.60211646 + 2700 20666.602 76.099892 0 3903.2484 0.16825503 + 2750 20924.585 28.453883 0 3903.3771 2.4227171 + 2800 20360.659 132.8596 0 3903.352 4.1440877 + 2850 20783.475 54.518625 0 3903.3102 -0.57312067 + 2900 20456.181 115.03745 0 3903.2191 -20.118887 + 2950 20779.493 55.321394 0 3903.3756 -0.26783079 + 3000 20011.867 197.30216 0 3903.2035 -1.4704201 + 3050 20741.875 62.208723 0 3903.2966 -7.5432815 + 3100 21001.754 14.148298 0 3903.362 2.9676438 + 3150 20244.086 154.44639 0 3903.3512 -1.9071213 + 3200 20639.615 81.136426 0 3903.2873 1.4826467 + 3250 20735.244 63.529571 0 3903.3895 2.1127055 + 3300 20142.891 173.22282 0 3903.3878 4.7739415 + 3350 19963.765 206.21899 0 3903.2126 5.5410771 + 3400 16628.667 824.13627 0 3903.519 36.087673 + 3450 19228.218 342.81569 0 3903.5968 3.1057274 + 3500 19759.293 244.57876 0 3903.707 2.2339557 + 3550 19853.21 227.06362 0 3903.584 -1.0882119 + 3600 19673.516 260.64854 0 3903.8923 -10.63775 + 3650 19619.238 270.5393 0 3903.7316 -6.3746003 + 3700 20756.865 59.790243 0 3903.6542 -8.3015766 + 3750 20265.025 150.47347 0 3903.2559 -5.7284695 + 3800 20944.683 24.669276 0 3903.3142 -0.070552298 + 3850 19344.831 320.59492 0 3902.971 13.040749 + 3900 19978.209 203.00247 0 3902.6708 0.15638133 + 3950 19864.118 224.19359 0 3902.734 0.453229 + 4000 17606.216 642.71493 0 3903.1252 -12.656002 + 4050 18017.895 566.54102 0 3903.1883 12.133906 + 4100 20092.963 182.17593 0 3903.095 7.7445947 + 4150 20555.337 96.395074 0 3902.939 -6.5429752 + 4200 20709.781 67.869199 0 3903.0138 -2.8653003 + 4250 18956.203 392.20748 0 3902.6155 -1.6249728 + 4300 17816.204 603.72704 0 3903.0241 23.089239 + 4350 18979.742 388.04678 0 3902.8138 3.2511108 + 4400 20272.085 148.82367 0 3902.9135 1.9518268 + 4450 18820.003 417.74789 0 3902.9337 6.3979299 + 4500 19991.936 200.50131 0 3902.7117 3.5118553 + 4550 20915.092 29.663898 0 3902.8291 -2.3174641 + 4600 20690.37 71.125087 0 3902.6752 -12.008575 + 4650 18893.76 404.50849 0 3903.3529 15.006184 + 4700 18611.123 456.1263 0 3902.6306 -5.3574892 + 4750 20497.821 106.5856 0 3902.4784 0.85039837 + 4800 20803.214 50.120522 0 3902.5675 3.8610873 + 4850 18849.598 411.72635 0 3902.3927 9.2029058 + 4900 18121.714 546.68042 0 3902.5533 9.4522272 + 4950 20377.499 128.99323 0 3902.6041 5.3825395 + 5000 20686.114 72.039749 0 3902.8016 -5.706271 + 5050 20180.449 165.51368 0 3902.634 -16.418461 + 5100 20274.947 148.36657 0 3902.9864 -5.6668309 + 5150 18042.324 560.74137 0 3901.9125 3.6791541 + 5200 20794.666 52.204446 0 3903.0685 -1.4517721 + 5250 19073.55 371.18834 0 3903.3272 -13.457439 + 5300 20821.412 47.364313 0 3903.1813 2.258098 + 5350 20583.073 91.271191 0 3902.9513 5.4323985 + 5400 20490.967 108.41184 0 3903.0353 4.122905 + 5450 18141.79 543.66874 0 3903.2594 -0.19951075 + 5500 20274.012 148.55528 0 3903.002 5.0489974 + 5550 17806.237 605.43454 0 3902.8858 43.80619 + 5600 20999.825 14.341937 0 3903.1983 1.0879933 + 5650 20930.929 27.025347 0 3903.1234 -7.0860209 + 5700 20677.725 73.853093 0 3903.0614 2.6864775 + 5750 20521.264 102.87509 0 3903.1092 2.6940548 + 5800 20792.571 52.596021 0 3903.0721 1.2910217 + 5850 20518.674 103.26595 0 3903.0204 -9.2547271 + 5900 18417.885 491.66696 0 3902.3865 -12.049357 + 5950 17243.837 709.37858 0 3902.6817 -6.2357188 + 6000 20262.525 149.56918 0 3901.8885 -0.28964823 + 6050 19883.554 219.14043 0 3901.2801 2.3071707 + 6100 16548.178 838.47869 0 3902.956 -11.715644 + 6150 19601.177 272.14674 0 3901.9944 -0.9008056 + 6200 20499.796 106.2363 0 3902.4949 0.79071424 + 6250 19601.106 272.50139 0 3902.3359 -1.9306693 + 6300 17210.685 712.70535 0 3899.8692 4.8890923 + 6350 19911.896 214.91041 0 3902.2985 12.691129 + 6400 18834.642 411.87123 0 3899.7678 -1.9447856 + 6450 20216.311 158.39781 0 3902.1591 2.6009109 + 6500 20452.025 114.97122 0 3902.3832 0.14644416 + 6550 19142.589 357.34097 0 3902.2649 2.8968485 + 6600 20412.915 122.08784 0 3902.2573 3.1343105 + 6650 17317.867 699.39994 0 3906.4123 42.25563 + 6700 20479.771 109.8036 0 3902.3537 1.3520625 + 6750 20306.902 142.12484 0 3902.6623 2.2032106 + 6800 20755.367 58.994834 0 3902.5814 -0.90518094 + 6850 20471.259 111.7197 0 3902.6936 1.5799331 + 6900 20702.025 69.15032 0 3902.8586 9.3910371 + 6950 20477.695 110.34414 0 3902.5099 1.8181164 + 7000 20560.727 95.057704 0 3902.5998 -15.686006 + 7050 20336.675 136.39386 0 3902.4448 1.3704327 + 7100 20757.399 58.950153 0 3902.913 -6.4250981 + 7150 20870.958 38.095649 0 3903.088 -4.1962169 + 7200 20706.869 68.489134 0 3903.0944 2.8322659 + 7250 20386.713 127.7432 0 3903.0604 6.0287391 + 7300 18391.773 497.21001 0 3903.0939 19.202343 + 7350 20178.898 166.4993 0 3903.3322 1.5682417 + 7400 16858.704 781.78682 0 3903.7691 21.317514 + 7450 17509.513 660.71963 0 3903.2221 -5.9456143 + 7500 19974.601 204.20412 0 3903.2043 -0.69202711 + 7550 20917.053 29.73415 0 3903.2626 -3.9962577 + 7600 20923.518 28.482703 0 3903.2083 -1.9016251 + 7650 20549.528 97.630612 0 3903.0987 3.5512257 + 7700 20861.441 39.903885 0 3903.1337 2.4426264 + 7750 18843.349 413.64461 0 3903.1537 2.677739 + 7800 20616.054 85.214364 0 3903.0021 3.9639004 + 7850 16478.851 851.93376 0 3903.5728 7.3763128 + 7900 20312.115 141.35103 0 3902.8539 4.6707271 + 7950 20389.623 127.16589 0 3903.0219 3.4414001 + 8000 20452.117 115.30715 0 3902.7362 -1.0162528 + 8050 20857.093 40.791886 0 3903.2164 -15.150068 + 8100 19817.543 233.4997 0 3903.415 0.89346046 + 8150 18649.521 449.9112 0 3903.5262 -0.40053588 + 8200 19619.276 270.37616 0 3903.5754 5.5161492 + 8250 20393.176 127.01336 0 3903.5275 2.122613 + 8300 19145.912 358.00424 0 3903.5435 3.863924 + 8350 19636.311 267.17226 0 3903.5262 -7.1496084 + 8400 19086.332 368.86693 0 3903.3729 7.0968952 + 8450 19494.416 292.89527 0 3902.9723 3.1750935 + 8500 20041.919 191.77756 0 3903.244 0.95215503 + 8550 20357.561 133.15478 0 3903.0736 -0.14020152 + 8600 16998.797 756.07003 0 3903.9954 -16.724408 + 8650 20853.26 41.386996 0 3903.1017 -3.2612965 + 8700 20767.768 57.360884 0 3903.2438 1.1157649 + 8750 20752.546 60.106518 0 3903.1705 0.39130547 + 8800 20574.407 92.99798 0 3903.0734 0.61728166 + 8850 20326.99 138.94203 0 3903.1995 -1.9434522 + 8900 17408.108 679.53222 0 3903.2559 21.935371 + 8950 20471.21 112.2721 0 3903.2368 1.8142747 + 9000 19129.591 360.35257 0 3902.8694 4.5786395 + 9050 20439.668 117.89541 0 3903.0191 2.5585685 + 9100 20780.375 54.788664 0 3903.0062 3.8312459 + 9150 19904.559 216.61504 0 3902.6445 12.150414 + 9200 20961.295 21.52065 0 3903.2419 -0.2120699 + 9250 19315.252 326.44175 0 3903.3402 -19.740867 + 9300 20653.002 78.77764 0 3903.4076 -7.8068233 + 9350 18961.572 391.20947 0 3902.6117 -12.660843 + 9400 16262.179 892.67633 0 3904.191 22.2435 + 9450 17064.394 743.33301 0 3903.406 36.139436 + 9500 18075.588 555.06436 0 3902.3954 24.598176 + 9550 20487.738 109.06287 0 3903.0884 2.6320759 + 9600 20358.609 133.36993 0 3903.4828 0.76449113 + 9650 19849.022 228.46312 0 3904.208 9.5547064 + 9700 20448.112 116.8757 0 3903.5632 -1.0845697 + 9750 20472.78 112.51661 0 3903.7722 -0.30676738 + 9800 19491.99 293.35361 0 3902.9814 -20.10857 + 9850 19895.603 218.42479 0 3902.7957 -0.18235641 + 9900 19704.336 254.55068 0 3903.5019 14.553184 + 9950 17689.462 627.9788 0 3903.805 4.9918088 + 10000 20184.205 165.29396 0 3903.1097 2.9472364 +Loop time of 2.2898 on 1 procs for 10000 steps with 81 atoms + +Performance: 37732.583 tau/day, 4367.197 timesteps/s +99.2% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.053341 | 0.053341 | 0.053341 | 0.0 | 2.33 +Neigh | 0.056174 | 0.056174 | 0.056174 | 0.0 | 2.45 +Comm | 0.0087028 | 0.0087028 | 0.0087028 | 0.0 | 0.38 +Output | 0.0036774 | 0.0036774 | 0.0036774 | 0.0 | 0.16 +Modify | 2.1598 | 2.1598 | 2.1598 | 0.0 | 94.32 +Other | | 0.008128 | | | 0.35 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 113 ave 113 max 113 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 582 ave 582 max 582 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 582 +Ave neighs/atom = 7.1851852 +Neighbor list builds = 993 +Dangerous builds = 950 +Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems2.g++.4 b/examples/rigid/log.20Mar22.rigid.poems2.g++.4 new file mode 100644 index 0000000000..89585cd109 --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.poems2.g++.4 @@ -0,0 +1,330 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.000 seconds + +velocity all create 100.0 4928459 + +# 2 chains of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 +fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +2 clusters, 9 bodies, 7 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems2 + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: + +@Article{Mukherjee08, + author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, + title = {Substructured molecular dynamics using multibody dynamics algorithms}, + journal = {Intl.~J.~Non-linear Mechanics}, + year = 2008, + volume = 43, + pages = {1045--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 10 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 = 18 18 18 + 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.514 | 3.545 | 3.639 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 196.00047 3632.2347 0 3668.5311 -2.7403788 + 50 12774.759 1538.7382 0 3904.4344 18.086358 + 100 19803.641 237.21132 0 3904.5523 -3.1528278 + 150 20259.6 152.62072 0 3904.3985 -4.6173524 + 200 20705.978 69.977039 0 3904.4174 9.0928122 + 250 19552.211 283.50525 0 3904.285 15.670466 + 300 19266.324 333.5792 0 3901.4169 7.2119197 + 350 20738.325 63.738945 0 3904.1694 -23.03999 + 400 20616.682 86.082444 0 3903.9864 -13.783584 + 450 19831.326 230.13858 0 3902.6063 0.42074361 + 500 20365.825 131.47271 0 3902.9217 0.69215592 + 550 20794.102 52.163238 0 3902.9229 4.5895354 + 600 20853.873 40.899172 0 3902.7275 2.3593042 + 650 19255.802 336.29509 0 3902.1844 10.341742 + 700 18526.969 471.02462 0 3901.9448 -0.61898691 + 750 18960.662 391.26068 0 3902.4944 12.04731 + 800 20142.432 172.05197 0 3902.1319 4.6838632 + 850 19932.48 210.71175 0 3901.9118 3.4716031 + 900 20243.528 153.13972 0 3901.9411 3.6490762 + 950 20388.132 126.88722 0 3902.4671 -4.4518463 + 1000 20076.333 184.61915 0 3902.4586 -2.272315 + 1050 20859.506 39.696993 0 3902.5684 6.45166 + 1100 15284.661 1072.1908 0 3902.6836 21.194042 + 1150 19658.317 261.99809 0 3902.4272 -2.8744219 + 1200 20767.681 56.717095 0 3902.5839 -34.817444 + 1250 20625.583 82.586198 0 3902.1386 11.697328 + 1300 20690.013 71.006478 0 3902.4903 -29.29278 + 1350 20936.019 26.022786 0 3903.0634 1.0316025 + 1400 19753.56 244.81784 0 3902.8844 6.7138497 + 1450 15690.149 998.34213 0 3903.9252 48.124569 + 1500 20234.455 155.92516 0 3903.0465 13.172207 + 1550 20779.631 55.063019 0 3903.1428 -2.6390455 + 1600 20642.753 80.233821 0 3902.9659 -2.4688431 + 1650 18785.698 423.90364 0 3902.7365 -5.6466892 + 1700 20965.076 20.760451 0 3903.182 -0.45366172 + 1750 18935.412 396.95958 0 3903.5173 25.913174 + 1800 20581.554 91.757912 0 3903.1567 3.8218442 + 1850 20616.949 85.184789 0 3903.1382 4.1907933 + 1900 16601.896 828.43849 0 3902.8638 -0.49468175 + 1950 20175.564 166.52646 0 3902.7421 5.6035728 + 2000 20262.525 150.28224 0 3902.6017 -1.1967705 + 2050 20168.994 167.65314 0 3902.6521 -0.80723928 + 2100 19810.955 232.96524 0 3901.6605 3.1936531 + 2150 20667.232 75.645145 0 3902.9103 0.54812734 + 2200 19863.772 224.34646 0 3902.8228 7.9294465 + 2250 18808.943 419.2084 0 3902.3461 14.344526 + 2300 20573.665 92.761842 0 3902.6999 -6.7671703 + 2350 19075.104 369.95414 0 3902.3809 -9.5353568 + 2400 20273.873 148.53775 0 3902.9586 -1.93796 + 2450 20087.769 182.30216 0 3902.2593 2.131796 + 2500 20711.602 67.530554 0 3903.0124 2.6280244 + 2550 19971.224 204.75926 0 3903.134 3.1760522 + 2600 20620.084 85.027145 0 3903.5612 -0.92888063 + 2650 19737.546 248.65474 0 3903.7559 -3.3218688 + 2700 20650.724 79.522243 0 3903.7303 -7.5918025 + 2750 19863.245 225.2505 0 3903.6292 9.2140221 + 2800 18992.457 386.73547 0 3903.8572 2.6244537 + 2850 18703.899 440.48356 0 3904.1685 14.561348 + 2900 17939.805 581.74599 0 3903.932 -8.0863089 + 2950 20867.516 39.38186 0 3903.7367 3.0985423 + 3000 19767.994 242.8847 0 3903.6243 1.5943109 + 3050 20397.448 126.31591 0 3903.6212 -0.14982775 + 3100 20978.114 19.126395 0 3903.9623 -9.6797253 + 3150 18303.556 513.8514 0 3903.3989 4.5940322 + 3200 19156.505 356.46608 0 3903.9671 10.071308 + 3250 17484.205 666.52199 0 3904.3377 -4.1641768 + 3300 18069.94 557.75947 0 3904.0447 11.868707 + 3350 20855.645 41.964632 0 3904.1212 5.4186293 + 3400 18011.986 568.76255 0 3904.3155 25.262783 + 3450 18669.69 446.92755 0 3904.2776 -4.194499 + 3500 20248.799 154.22147 0 3903.9991 3.9211572 + 3550 20226.024 158.64726 0 3904.2072 1.5299114 + 3600 20267.02 151.25631 0 3904.4082 -8.9821729 + 3650 20522.946 103.65382 0 3904.1994 -14.433796 + 3700 20892.319 35.294614 0 3904.2426 -21.264596 + 3750 19942.202 211.02993 0 3904.0304 -1.6428817 + 3800 20421.678 122.08118 0 3903.8734 1.7137935 + 3850 17899.53 588.82593 0 3903.5536 -24.450276 + 3900 20721.119 66.486999 0 3903.7312 -7.1772088 + 3950 20946.484 24.799445 0 3903.778 -0.4028037 + 4000 20985.362 17.608355 0 3903.7865 4.7522266 + 4050 19969.779 205.46466 0 3903.5719 18.941639 + 4100 20479.578 110.56561 0 3903.08 2.3715952 + 4150 18110.701 549.53348 0 3903.367 1.133321 + 4200 19321.098 325.58216 0 3903.5634 -3.7574942 + 4250 20734.436 63.87616 0 3903.5865 0.48350623 + 4300 19446.823 302.1727 0 3903.4362 4.0462392 + 4350 20494.669 108.1918 0 3903.501 2.9789077 + 4400 20379.244 129.61413 0 3903.5482 4.0881089 + 4450 19710.564 253.4251 0 3903.5295 5.3334683 + 4500 20744.753 61.785082 0 3903.406 4.0015409 + 4550 19948.024 208.76984 0 3902.8484 2.705423 + 4600 18367.368 502.69569 0 3904.0602 21.476471 + 4650 20559.367 96.133242 0 3903.4234 2.2549454 + 4700 20940.135 25.547808 0 3903.3505 -8.9042666 + 4750 20128.703 175.82088 0 3903.3584 -8.1450176 + 4800 20632.27 82.543887 0 3903.3347 -0.55649542 + 4850 19864.539 224.63792 0 3903.2563 7.1553461 + 4900 19332.037 323.15561 0 3903.1625 17.020214 + 4950 19055.575 373.68069 0 3902.4908 10.149457 + 5000 20219.484 159.21383 0 3903.5627 3.1806346 + 5050 17557.761 652.32864 0 3903.7659 10.733736 + 5100 20615.337 85.795304 0 3903.4503 -3.6035636 + 5150 20759.853 59.155843 0 3903.573 2.0152286 + 5200 20082.007 184.39375 0 3903.2839 -5.3745109 + 5250 18689.521 442.59842 0 3903.6208 -9.8911164 + 5300 20038.496 192.34221 0 3903.1749 -2.1437039 + 5350 19897.455 218.70142 0 3903.4154 0.64582116 + 5400 18732.385 434.21543 0 3903.1755 12.98676 + 5450 19831.487 230.79099 0 3903.2886 11.439958 + 5500 20079.89 184.6953 0 3903.1935 4.0906279 + 5550 20453.497 115.47128 0 3903.1559 7.8844436 + 5600 16673.041 815.52661 0 3903.1267 -20.17797 + 5650 19691.378 256.6412 0 3903.1928 3.7103317 + 5700 20345.743 135.29997 0 3903.0302 5.6373816 + 5750 20769.613 56.906603 0 3903.1312 -17.564762 + 5800 20713.369 67.38314 0 3903.1922 -5.340631 + 5850 20799.947 51.348865 0 3903.1909 -2.7827653 + 5900 19581.933 273.51588 0 3899.7997 12.347375 + 5950 20444.438 116.909 0 3902.9161 -0.74896654 + 6000 18970.948 389.99664 0 3903.1352 26.642912 + 6050 19414.753 307.13217 0 3902.4568 25.86316 + 6100 20780.042 54.586474 0 3902.7424 1.5387425 + 6150 20885.872 35.091585 0 3902.8456 -8.251884 + 6200 19825.81 231.40943 0 3902.8558 6.7196589 + 6250 20578.278 92.255994 0 3903.0481 -5.9647091 + 6300 20093.43 181.8699 0 3902.8754 -9.9906069 + 6350 20605.294 87.180289 0 3902.9755 -3.5643876 + 6400 19737.257 247.84828 0 3902.8958 -4.2783347 + 6450 19884.717 220.81633 0 3903.1714 3.8758905 + 6500 18719.372 436.94802 0 3903.4984 1.7865904 + 6550 20096.883 181.63346 0 3903.2784 2.395512 + 6600 20888.673 35.003062 0 3903.2758 2.7728947 + 6650 20437.85 118.16373 0 3902.9507 8.1456757 + 6700 19241.051 339.73065 0 3902.8882 13.740454 + 6750 20407.542 123.94326 0 3903.1177 7.6285942 + 6800 20536.785 99.976706 0 3903.0851 8.3496632 + 6850 20625.328 83.579677 0 3903.0849 6.5074992 + 6900 20705.37 68.944625 0 3903.2724 3.1905177 + 6950 18872.424 408.67134 0 3903.5647 6.2638845 + 7000 20072.762 186.18051 0 3903.3586 -22.780407 + 7050 20461.879 114.07495 0 3903.3117 -11.495523 + 7100 19811.566 234.50237 0 3903.3108 1.1212695 + 7150 20742.918 61.884088 0 3903.1651 -3.7907508 + 7200 20911.192 30.599903 0 3903.0429 -7.0262304 + 7250 20879.755 36.30274 0 3902.9241 -5.8018787 + 7300 20682.32 72.703261 0 3902.7626 -3.3446789 + 7350 19401.046 309.70672 0 3902.493 3.4836528 + 7400 20220.542 157.83897 0 3902.3838 2.3400031 + 7450 17691.193 625.47764 0 3901.6244 25.239568 + 7500 19745.294 245.02566 0 3901.5615 5.3622843 + 7550 19685.719 256.70983 0 3902.2133 3.4560563 + 7600 18830.192 415.10021 0 3902.1727 -0.10282681 + 7650 19613.136 270.18979 0 3902.2521 8.2241536 + 7700 20989.015 15.636879 0 3902.4915 1.2955204 + 7750 20301.583 142.90625 0 3902.4586 0.12548373 + 7800 18360.147 502.50342 0 3902.5307 17.117272 + 7850 20796.478 51.032537 0 3902.2321 -3.0993883 + 7900 20284.267 145.64296 0 3901.9887 -1.2682383 + 7950 20280.983 146.13471 0 3901.8723 3.5999841 + 8000 20915.869 28.730821 0 3902.0399 2.4987291 + 8050 20745.162 60.19981 0 3901.8964 4.0643481 + 8100 20509.039 103.70462 0 3901.6748 1.0771863 + 8150 20212.97 158.64893 0 3901.7916 3.0000215 + 8200 20323.463 138.25912 0 3901.8634 -1.2802945 + 8250 19997.284 198.37183 0 3901.5727 -2.6431964 + 8300 20138.402 171.75824 0 3901.092 1.7669897 + 8350 20367.568 130.22531 0 3901.9972 -1.2153731 + 8400 19945.534 208.35675 0 3901.9741 1.6021151 + 8450 20112.534 177.18642 0 3901.7298 2.2413008 + 8500 20686.7 71.116816 0 3901.9873 2.2888545 + 8550 18081.94 553.83586 0 3902.3432 7.8257937 + 8600 18320.081 505.67086 0 3898.2784 16.554878 + 8650 20235.305 154.43021 0 3901.709 3.1740823 + 8700 20355.413 132.22512 0 3901.746 4.3436482 + 8750 20087.188 182.11349 0 3901.9631 10.422134 + 8800 20400.795 124.09819 0 3902.0232 2.1179177 + 8850 20678.731 72.825797 0 3902.2204 -3.4491441 + 8900 20372.643 129.5072 0 3902.2189 -8.2166415 + 8950 20851.731 40.899364 0 3902.331 -5.8382839 + 9000 20318.076 139.61775 0 3902.2243 -4.1960802 + 9050 16879.415 776.53739 0 3902.3549 -14.429475 + 9100 19135.149 358.68223 0 3902.2284 -15.50479 + 9150 20689.556 70.939656 0 3902.339 -2.9876179 + 9200 19949.801 207.54882 0 3901.9564 6.4259245 + 9250 20207.027 160.2813 0 3902.3233 1.7402195 + 9300 20030.005 192.99466 0 3902.2548 5.300728 + 9350 19795.291 236.24003 0 3902.0347 5.8677745 + 9400 18232.093 526.18752 0 3902.501 19.344893 + 9450 18789.641 422.30568 0 3901.8687 -7.5185247 + 9500 16332.599 874.10423 0 3898.6597 16.241378 + 9550 18572.572 462.19972 0 3901.5649 -10.777359 + 9600 19859.645 223.32209 0 3901.0341 0.89631957 + 9650 19092.741 365.35768 0 3901.0504 6.7830005 + 9700 18391.154 495.72792 0 3901.4972 6.0683847 + 9750 17790.092 608.60997 0 3903.0714 8.2090184 + 9800 17681.783 628.99951 0 3903.4038 14.231747 + 9850 17804.412 605.54067 0 3902.654 22.308453 + 9900 19134.472 359.37911 0 3902.7999 8.5633158 + 9950 20099.055 180.28604 0 3902.3332 4.7905855 + 10000 20035.447 192.30744 0 3902.5754 1.8299201 +Loop time of 2.31994 on 4 procs for 10000 steps with 81 atoms + +Performance: 37242.315 tau/day, 4310.453 timesteps/s +99.4% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0052789 | 0.014781 | 0.038634 | 11.4 | 0.64 +Neigh | 0.0081228 | 0.016514 | 0.033404 | 7.7 | 0.71 +Comm | 0.12269 | 0.13668 | 0.14951 | 3.1 | 5.89 +Output | 0.0034489 | 0.0039413 | 0.0050811 | 1.1 | 0.17 +Modify | 2.1036 | 2.1312 | 2.1509 | 1.2 | 91.86 +Other | | 0.01685 | | | 0.73 + +Nlocal: 20.25 ave 36 max 0 min +Histogram: 1 0 0 0 0 1 1 0 0 1 +Nghost: 35.25 ave 47 max 24 min +Histogram: 1 0 1 0 0 0 0 1 0 1 +Neighs: 137.5 ave 252 max 0 min +Histogram: 1 0 0 1 0 0 0 0 1 1 + +Total # of neighbors = 550 +Ave neighs/atom = 6.7901235 +Neighbor list builds = 994 +Dangerous builds = 956 +Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems3.g++.1 b/examples/rigid/log.20Mar22.rigid.poems3.g++.1 new file mode 100644 index 0000000000..b565d9f79d --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.poems3.g++.1 @@ -0,0 +1,329 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.000 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all poems file unconnected-bodies.dat +WARNING: No joints between rigid bodies, use fix rigid instead (src/POEMS/fix_poems.cpp:1035) +9 clusters, 9 bodies, 0 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: + +@Article{Mukherjee08, + author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, + title = {Substructured molecular dynamics using multibody dynamics algorithms}, + journal = {Intl.~J.~Non-linear Mechanics}, + year = 2008, + volume = 43, + pages = {1045--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 10 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 = 18 18 18 + 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.666 | 3.666 | 3.666 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.686 571.71596 0 5265.8207 32.006226 + 100 16298.5 136.65142 0 5267.6607 16.443791 + 150 16682.639 17.488068 0 5269.43 14.900278 + 200 16733.955 1.3724268 0 5269.4692 14.569123 + 250 16738.877 -0.15250573 0 5269.4939 14.496287 + 300 16738.611 -0.05516662 0 5269.5077 14.495909 + 350 16738.515 -0.01744351 0 5269.5152 14.496329 + 400 16738.488 -0.0060096677 0 5269.5178 14.496497 + 450 16738.479 -0.0012712918 0 5269.5199 14.496575 + 500 16738.479 -0.00081070354 0 5269.5203 14.49658 + 550 16738.479 -0.00083205205 0 5269.5203 14.496577 + 600 16738.479 -0.0005835658 0 5269.5206 14.49658 + 650 16738.479 -0.00047227225 0 5269.5206 14.496583 + 700 16738.479 0 0 5269.521 14.496593 + 750 16738.479 0 0 5269.5211 14.496595 + 800 16738.479 0 0 5269.5211 14.496596 + 850 16738.479 0 0 5269.5211 14.496595 + 900 16738.479 0 0 5269.5212 14.496593 + 950 16738.485 -0.003532391 0 5269.5196 14.496546 + 1000 16738.609 -0.051135033 0 5269.5109 14.496098 + 1050 16737.381 0.32991002 0 5269.5055 14.525627 + 1100 16737.915 0.16210932 0 5269.5058 14.531848 + 1150 16738.726 -0.089235332 0 5269.5098 14.509768 + 1200 16738.49 -0.0075446298 0 5269.5169 14.510489 + 1250 16738.48 0 0 5269.5214 14.510585 + 1300 16738.48 0 0 5269.5214 14.510587 + 1350 16738.48 0 0 5269.5215 14.510588 + 1400 16738.48 -0.00044742303 0 5269.5211 14.510581 + 1450 16738.481 -0.0010975104 0 5269.5207 14.51057 + 1500 16738.481 -0.00057925965 0 5269.5211 14.510575 + 1550 16738.48 0 0 5269.5216 14.510582 + 1600 16738.48 0 0 5269.5216 14.510581 + 1650 16738.481 0 0 5269.5216 14.510581 + 1700 16738.481 0 0 5269.5217 14.510582 + 1750 16738.481 0 0 5269.5217 14.510583 + 1800 16738.481 0 0 5269.5217 14.510585 + 1850 16738.481 0 0 5269.5218 14.510585 + 1900 16738.481 0 0 5269.5218 14.510585 + 1950 16738.487 -0.0031700155 0 5269.5206 14.510534 + 2000 16738.514 -0.013238802 0 5269.5188 14.510401 + 2050 16738.578 -0.03654435 0 5269.5158 14.510155 + 2100 16738.656 -0.063182323 0 5269.5137 14.510082 + 2150 16738.63 -0.056004395 0 5269.5127 14.510096 + 2200 16738.579 -0.038415873 0 5269.5143 14.510273 + 2250 16738.538 -0.023709094 0 5269.516 14.510414 + 2300 16738.512 -0.013252539 0 5269.5182 14.510501 + 2350 16738.491 -0.0045593284 0 5269.5203 14.510598 + 2400 16738.482 -0.00052242487 0 5269.5217 14.510655 + 2450 16738.486 -0.0023245722 0 5269.5211 14.510627 + 2500 16738.491 -0.005189304 0 5269.5197 14.510606 + 2550 16738.604 -0.044988104 0 5269.5155 14.510185 + 2600 16738.446 0.00096754005 0 5269.5117 14.510521 + 2650 16732.887 1.753125 0 5269.5138 14.598792 + 2700 16738.784 -0.10629556 0 5269.5107 14.499176 + 2750 16734.136 1.359459 0 5269.5135 14.594678 + 2800 16738.608 -0.047184149 0 5269.5147 14.510254 + 2850 16738.509 -0.012527238 0 5269.5181 14.509344 + 2900 16738.487 -0.0026065529 0 5269.521 14.509512 + 2950 16738.498 -0.0082248532 0 5269.519 14.509457 + 3000 16738.683 -0.071294028 0 5269.514 14.509005 + 3050 16717.444 6.5874862 0 5269.4864 14.834144 + 3100 16657.654 25.431253 0 5269.5074 14.467824 + 3150 16739.322 -0.28964062 0 5269.497 13.658821 + 3200 16733.615 1.4969789 0 5269.487 11.998304 + 3250 16737.289 0.35071214 0 5269.4974 11.918931 + 3300 16732.493 1.8663821 0 5269.503 12.109003 + 3350 16738.717 -0.087719164 0 5269.5085 11.979747 + 3400 16738.586 -0.045267897 0 5269.5095 11.97972 + 3450 16738.662 -0.071274216 0 5269.5076 11.979564 + 3500 16738.853 -0.13644992 0 5269.5026 11.979658 + 3550 16729.612 2.7475277 0 5269.4774 12.195939 + 3600 16728.659 3.0596069 0 5269.4893 12.241248 + 3650 16738.923 -0.15949792 0 5269.5014 11.991857 + 3700 16738.76 -0.10695054 0 5269.5028 11.992932 + 3750 16738.751 -0.10105954 0 5269.5057 11.993137 + 3800 16738.597 -0.048627545 0 5269.5097 11.993456 + 3850 16738.507 -0.016053927 0 5269.5138 11.992973 + 3900 16738.485 -0.0060825487 0 5269.5169 11.993052 + 3950 16738.475 -0.0014953722 0 5269.5183 11.993119 + 4000 16738.472 -0.00054315391 0 5269.5184 11.99315 + 4050 16738.472 -0.00023792127 0 5269.5187 11.993172 + 4100 16738.472 0 0 5269.5189 11.993188 + 4150 16738.472 0 0 5269.5189 11.993188 + 4200 16738.472 0 0 5269.519 11.993178 + 4250 16738.472 0 0 5269.519 11.993164 + 4300 16738.472 0 0 5269.5191 11.993152 + 4350 16738.473 0 0 5269.5191 11.993147 + 4400 16738.473 0 0 5269.5192 11.993149 + 4450 16738.473 0 0 5269.5192 11.993158 + 4500 16738.473 0 0 5269.5193 11.99317 + 4550 16738.473 0 0 5269.5193 11.993176 + 4600 16738.473 0 0 5269.5194 11.993174 + 4650 16738.473 0 0 5269.5194 11.993167 + 4700 16738.474 0 0 5269.5195 11.993162 + 4750 16738.474 0 0 5269.5195 11.99316 + 4800 16738.474 0 0 5269.5196 11.99316 + 4850 16738.474 0 0 5269.5196 11.993163 + 4900 16738.474 0 0 5269.5197 11.99317 + 4950 16738.474 0 0 5269.5197 11.993176 + 5000 16738.475 0 0 5269.5198 11.993174 + 5050 16738.475 0 0 5269.5198 11.993165 + 5100 16738.475 0 0 5269.5199 11.993155 + 5150 16738.475 0 0 5269.5199 11.99315 + 5200 16738.475 0 0 5269.52 11.993153 + 5250 16738.475 0 0 5269.52 11.993161 + 5300 16738.476 0 0 5269.5201 11.993173 + 5350 16738.476 0 0 5269.5201 11.993185 + 5400 16738.476 0 0 5269.5202 11.993189 + 5450 16738.476 0 0 5269.5202 11.993181 + 5500 16738.476 0 0 5269.5203 11.993165 + 5550 16738.483 -0.0030091905 0 5269.5195 11.993097 + 5600 16738.534 -0.020777802 0 5269.5177 11.992799 + 5650 16738.649 -0.059321662 0 5269.5153 11.993266 + 5700 16409.08 103.75288 0 5269.5745 23.626238 + 5750 16738.578 -0.036776519 0 5269.5155 11.910545 + 5800 16738.484 -0.0047306177 0 5269.518 11.911008 + 5850 16738.477 -0.00022082692 0 5269.5202 11.911078 + 5900 16738.477 -0.00033136078 0 5269.5203 11.91107 + 5950 16738.478 -0.00036902212 0 5269.5203 11.911052 + 6000 16738.477 0 0 5269.5206 11.911044 + 6050 16738.477 0 0 5269.5207 11.911034 + 6100 16738.478 0 0 5269.5207 11.911032 + 6150 16738.478 0 0 5269.5208 11.911037 + 6200 16738.478 0 0 5269.5208 11.911049 + 6250 16738.478 0 0 5269.5209 11.911062 + 6300 16738.478 0 0 5269.5209 11.911068 + 6350 16738.478 0 0 5269.521 11.911065 + 6400 16738.478 0 0 5269.521 11.911058 + 6450 16738.479 0 0 5269.5211 11.911052 + 6500 16738.479 0 0 5269.5211 11.911047 + 6550 16738.479 0 0 5269.5212 11.911046 + 6600 16738.479 0 0 5269.5212 11.911049 + 6650 16738.479 0 0 5269.5213 11.911056 + 6700 16738.479 0 0 5269.5213 11.911062 + 6750 16738.48 0 0 5269.5214 11.91106 + 6800 16738.48 0 0 5269.5214 11.911051 + 6850 16738.48 0 0 5269.5215 11.911044 + 6900 16738.48 0 0 5269.5215 11.911041 + 6950 16738.48 0 0 5269.5216 11.911045 + 7000 16738.48 0 0 5269.5216 11.911053 + 7050 16738.481 0 0 5269.5217 11.911063 + 7100 16738.481 0 0 5269.5217 11.911071 + 7150 16738.481 0 0 5269.5218 11.911072 + 7200 16738.481 0 0 5269.5218 11.911063 + 7250 16738.481 0 0 5269.5219 11.911048 + 7300 16738.481 0 0 5269.5219 11.911036 + 7350 16738.482 0 0 5269.522 11.911031 + 7400 16738.482 0 0 5269.522 11.911035 + 7450 16738.482 0 0 5269.5221 11.911046 + 7500 16738.482 0 0 5269.5221 11.911062 + 7550 16738.482 0 0 5269.5222 11.911077 + 7600 16738.482 0 0 5269.5222 11.911081 + 7650 16738.483 0 0 5269.5223 11.911071 + 7700 16738.483 0 0 5269.5223 11.911054 + 7750 16738.483 0 0 5269.5224 11.911039 + 7800 16738.483 0 0 5269.5224 11.911031 + 7850 16738.483 0 0 5269.5225 11.911031 + 7900 16738.483 0 0 5269.5226 11.911039 + 7950 16738.484 0 0 5269.5226 11.911052 + 8000 16738.484 0 0 5269.5227 11.911065 + 8050 16738.484 0 0 5269.5227 11.91107 + 8100 16738.484 0 0 5269.5228 11.911065 + 8150 16738.484 0 0 5269.5228 11.911056 + 8200 16738.484 0 0 5269.5229 11.911047 + 8250 16738.485 0 0 5269.5229 11.911042 + 8300 16738.485 0 0 5269.523 11.911041 + 8350 16738.485 0 0 5269.523 11.911046 + 8400 16738.485 0 0 5269.5231 11.911055 + 8450 16738.485 0 0 5269.5231 11.911062 + 8500 16738.485 0 0 5269.5232 11.91106 + 8550 16738.486 0 0 5269.5232 11.911053 + 8600 16738.487 -0.00084974054 0 5269.5227 11.911032 + 8650 16738.486 0 0 5269.5233 11.911046 + 8700 16738.486 0 0 5269.5234 11.91105 + 8750 16738.486 0 0 5269.5235 11.911056 + 8800 16738.486 0 0 5269.5235 11.911063 + 8850 16738.487 -0.000227631 0 5269.5234 11.911065 + 8900 16738.487 0 0 5269.5236 11.911068 + 8950 16738.487 0 0 5269.5237 11.911058 + 9000 16738.487 0 0 5269.5237 11.911045 + 9050 16738.487 0 0 5269.5238 11.911036 + 9100 16738.487 0 0 5269.5238 11.911034 + 9150 16738.488 0 0 5269.5239 11.91104 + 9200 16738.488 0 0 5269.5239 11.911052 + 9250 16738.488 0 0 5269.524 11.911068 + 9300 16738.488 0 0 5269.524 11.911079 + 9350 16738.488 0 0 5269.5241 11.911078 + 9400 16738.492 -0.0016306436 0 5269.5235 11.911038 + 9450 16738.492 -0.0032567429 0 5269.522 11.911005 + 9500 16738.495 -0.0036645351 0 5269.5224 11.910982 + 9550 16738.49 -0.0010673912 0 5269.5237 11.911012 + 9600 16738.489 0 0 5269.5244 11.911032 + 9650 16738.489 0 0 5269.5244 11.911043 + 9700 16738.49 0 0 5269.5245 11.911058 + 9750 16738.49 0 0 5269.5245 11.911071 + 9800 16738.49 0 0 5269.5246 11.911073 + 9850 16738.49 0 0 5269.5246 11.911065 + 9900 16738.49 0 0 5269.5247 11.911053 + 9950 16738.491 -0.00058544643 0 5269.5243 11.911032 + 10000 16738.493 -0.0015244931 0 5269.5242 11.911015 +Loop time of 2.30195 on 1 procs for 10000 steps with 81 atoms + +Performance: 37533.440 tau/day, 4344.148 timesteps/s +99.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0076839 | 0.0076839 | 0.0076839 | 0.0 | 0.33 +Neigh | 0.029562 | 0.029562 | 0.029562 | 0.0 | 1.28 +Comm | 0.0084877 | 0.0084877 | 0.0084877 | 0.0 | 0.37 +Output | 0.0037958 | 0.0037958 | 0.0037958 | 0.0 | 0.16 +Modify | 2.2446 | 2.2446 | 2.2446 | 0.0 | 97.51 +Other | | 0.00785 | | | 0.34 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 69 ave 69 max 69 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 4 ave 4 max 4 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4 +Ave neighs/atom = 0.049382716 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems3.g++.4 b/examples/rigid/log.20Mar22.rigid.poems3.g++.4 new file mode 100644 index 0000000000..39fd6245e0 --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.poems3.g++.4 @@ -0,0 +1,329 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.000 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all poems file unconnected-bodies.dat +WARNING: No joints between rigid bodies, use fix rigid instead (src/POEMS/fix_poems.cpp:1035) +9 clusters, 9 bodies, 0 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: + +@Article{Mukherjee08, + author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, + title = {Substructured molecular dynamics using multibody dynamics algorithms}, + journal = {Intl.~J.~Non-linear Mechanics}, + year = 2008, + volume = 43, + pages = {1045--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 10 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 = 18 18 18 + 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.514 | 3.545 | 3.639 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.686 571.71596 0 5265.8207 32.006226 + 100 16298.5 136.65142 0 5267.6607 16.443791 + 150 16682.639 17.488068 0 5269.43 14.900278 + 200 16733.955 1.3724268 0 5269.4692 14.569123 + 250 16738.877 -0.15250573 0 5269.4939 14.496287 + 300 16738.611 -0.05516662 0 5269.5077 14.495909 + 350 16738.515 -0.01744351 0 5269.5152 14.496329 + 400 16738.488 -0.0060096677 0 5269.5178 14.496497 + 450 16738.479 -0.0012712918 0 5269.5199 14.496575 + 500 16738.479 -0.00081070354 0 5269.5203 14.49658 + 550 16738.479 -0.00083205205 0 5269.5203 14.496577 + 600 16738.479 -0.0005835658 0 5269.5206 14.49658 + 650 16738.479 -0.00047227225 0 5269.5206 14.496583 + 700 16738.479 0 0 5269.521 14.496593 + 750 16738.479 0 0 5269.5211 14.496595 + 800 16738.479 0 0 5269.5211 14.496596 + 850 16738.479 0 0 5269.5211 14.496595 + 900 16738.479 0 0 5269.5212 14.496593 + 950 16738.485 -0.003532391 0 5269.5196 14.496546 + 1000 16738.609 -0.051135033 0 5269.5109 14.496098 + 1050 16737.381 0.32991002 0 5269.5055 14.525627 + 1100 16737.915 0.16210932 0 5269.5058 14.531848 + 1150 16738.726 -0.089235332 0 5269.5098 14.509768 + 1200 16738.49 -0.0075446298 0 5269.5169 14.510489 + 1250 16738.48 0 0 5269.5214 14.510585 + 1300 16738.48 0 0 5269.5214 14.510587 + 1350 16738.48 0 0 5269.5215 14.510588 + 1400 16738.48 -0.00044742303 0 5269.5211 14.510581 + 1450 16738.481 -0.0010975104 0 5269.5207 14.51057 + 1500 16738.481 -0.00057925965 0 5269.5211 14.510575 + 1550 16738.48 0 0 5269.5216 14.510582 + 1600 16738.48 0 0 5269.5216 14.510581 + 1650 16738.481 0 0 5269.5216 14.510581 + 1700 16738.481 0 0 5269.5217 14.510582 + 1750 16738.481 0 0 5269.5217 14.510583 + 1800 16738.481 0 0 5269.5217 14.510585 + 1850 16738.481 0 0 5269.5218 14.510585 + 1900 16738.481 0 0 5269.5218 14.510585 + 1950 16738.487 -0.0031700155 0 5269.5206 14.510534 + 2000 16738.514 -0.013238802 0 5269.5188 14.510401 + 2050 16738.578 -0.03654435 0 5269.5158 14.510155 + 2100 16738.656 -0.063182323 0 5269.5137 14.510082 + 2150 16738.63 -0.056004395 0 5269.5127 14.510096 + 2200 16738.579 -0.038415873 0 5269.5143 14.510273 + 2250 16738.538 -0.023709094 0 5269.516 14.510414 + 2300 16738.512 -0.013252539 0 5269.5182 14.510501 + 2350 16738.491 -0.0045593284 0 5269.5203 14.510598 + 2400 16738.482 -0.00052242487 0 5269.5217 14.510655 + 2450 16738.486 -0.0023245722 0 5269.5211 14.510627 + 2500 16738.491 -0.005189304 0 5269.5197 14.510606 + 2550 16738.604 -0.044988104 0 5269.5155 14.510185 + 2600 16738.446 0.0009675401 0 5269.5117 14.510521 + 2650 16732.887 1.753125 0 5269.5138 14.598792 + 2700 16738.784 -0.10629556 0 5269.5107 14.499176 + 2750 16734.136 1.359459 0 5269.5135 14.594678 + 2800 16738.608 -0.047184149 0 5269.5147 14.510254 + 2850 16738.509 -0.012527238 0 5269.5181 14.509344 + 2900 16738.487 -0.0026065529 0 5269.521 14.509512 + 2950 16738.498 -0.0082248532 0 5269.519 14.509457 + 3000 16738.683 -0.071294028 0 5269.514 14.509005 + 3050 16717.444 6.5874862 0 5269.4864 14.834144 + 3100 16657.654 25.431253 0 5269.5074 14.467824 + 3150 16739.322 -0.28964062 0 5269.497 13.658821 + 3200 16733.615 1.4969789 0 5269.487 11.998304 + 3250 16737.289 0.35071214 0 5269.4974 11.918931 + 3300 16732.493 1.8663821 0 5269.503 12.109003 + 3350 16738.717 -0.087719164 0 5269.5085 11.979747 + 3400 16738.586 -0.045267897 0 5269.5095 11.97972 + 3450 16738.662 -0.071274216 0 5269.5076 11.979564 + 3500 16738.853 -0.13644992 0 5269.5026 11.979658 + 3550 16729.612 2.7475277 0 5269.4774 12.195939 + 3600 16728.659 3.059607 0 5269.4893 12.241248 + 3650 16738.923 -0.15949792 0 5269.5014 11.991857 + 3700 16738.76 -0.10695054 0 5269.5028 11.992932 + 3750 16738.751 -0.10105954 0 5269.5057 11.993137 + 3800 16738.597 -0.048627545 0 5269.5097 11.993456 + 3850 16738.507 -0.016053927 0 5269.5138 11.992973 + 3900 16738.485 -0.0060825487 0 5269.5169 11.993052 + 3950 16738.475 -0.0014953722 0 5269.5183 11.993119 + 4000 16738.472 -0.00054315391 0 5269.5184 11.99315 + 4050 16738.472 -0.00023792126 0 5269.5187 11.993172 + 4100 16738.472 0 0 5269.5189 11.993188 + 4150 16738.472 0 0 5269.5189 11.993188 + 4200 16738.472 0 0 5269.519 11.993178 + 4250 16738.472 0 0 5269.519 11.993164 + 4300 16738.472 0 0 5269.5191 11.993152 + 4350 16738.473 0 0 5269.5191 11.993147 + 4400 16738.473 0 0 5269.5192 11.993149 + 4450 16738.473 0 0 5269.5192 11.993158 + 4500 16738.473 0 0 5269.5193 11.99317 + 4550 16738.473 0 0 5269.5193 11.993176 + 4600 16738.473 0 0 5269.5194 11.993174 + 4650 16738.473 0 0 5269.5194 11.993167 + 4700 16738.474 0 0 5269.5195 11.993162 + 4750 16738.474 0 0 5269.5195 11.99316 + 4800 16738.474 0 0 5269.5196 11.99316 + 4850 16738.474 0 0 5269.5196 11.993163 + 4900 16738.474 0 0 5269.5197 11.99317 + 4950 16738.474 0 0 5269.5197 11.993176 + 5000 16738.475 0 0 5269.5198 11.993174 + 5050 16738.475 0 0 5269.5198 11.993165 + 5100 16738.475 0 0 5269.5199 11.993155 + 5150 16738.475 0 0 5269.5199 11.99315 + 5200 16738.475 0 0 5269.52 11.993153 + 5250 16738.475 0 0 5269.52 11.993161 + 5300 16738.476 0 0 5269.5201 11.993173 + 5350 16738.476 0 0 5269.5201 11.993185 + 5400 16738.476 0 0 5269.5202 11.993189 + 5450 16738.476 0 0 5269.5202 11.993181 + 5500 16738.476 0 0 5269.5203 11.993165 + 5550 16738.483 -0.0030091905 0 5269.5195 11.993097 + 5600 16738.534 -0.020777802 0 5269.5177 11.992799 + 5650 16738.649 -0.059321662 0 5269.5153 11.993266 + 5700 16409.08 103.75288 0 5269.5745 23.626238 + 5750 16738.578 -0.036776519 0 5269.5155 11.910545 + 5800 16738.484 -0.0047306177 0 5269.518 11.911008 + 5850 16738.477 -0.00022082692 0 5269.5202 11.911078 + 5900 16738.477 -0.00033136078 0 5269.5203 11.91107 + 5950 16738.478 -0.00036902212 0 5269.5203 11.911052 + 6000 16738.477 0 0 5269.5206 11.911044 + 6050 16738.477 0 0 5269.5207 11.911034 + 6100 16738.478 0 0 5269.5207 11.911032 + 6150 16738.478 0 0 5269.5208 11.911037 + 6200 16738.478 0 0 5269.5208 11.911049 + 6250 16738.478 0 0 5269.5209 11.911062 + 6300 16738.478 0 0 5269.5209 11.911068 + 6350 16738.478 0 0 5269.521 11.911065 + 6400 16738.478 0 0 5269.521 11.911058 + 6450 16738.479 0 0 5269.5211 11.911052 + 6500 16738.479 0 0 5269.5211 11.911047 + 6550 16738.479 0 0 5269.5212 11.911046 + 6600 16738.479 0 0 5269.5212 11.911049 + 6650 16738.479 0 0 5269.5213 11.911056 + 6700 16738.479 0 0 5269.5213 11.911062 + 6750 16738.48 0 0 5269.5214 11.91106 + 6800 16738.48 0 0 5269.5214 11.911051 + 6850 16738.48 0 0 5269.5215 11.911044 + 6900 16738.48 0 0 5269.5215 11.911041 + 6950 16738.48 0 0 5269.5216 11.911045 + 7000 16738.48 0 0 5269.5216 11.911053 + 7050 16738.481 0 0 5269.5217 11.911063 + 7100 16738.481 0 0 5269.5217 11.911071 + 7150 16738.481 0 0 5269.5218 11.911072 + 7200 16738.481 0 0 5269.5218 11.911063 + 7250 16738.481 0 0 5269.5219 11.911048 + 7300 16738.481 0 0 5269.5219 11.911036 + 7350 16738.482 0 0 5269.522 11.911031 + 7400 16738.482 0 0 5269.522 11.911035 + 7450 16738.482 0 0 5269.5221 11.911046 + 7500 16738.482 0 0 5269.5221 11.911062 + 7550 16738.482 0 0 5269.5222 11.911077 + 7600 16738.482 0 0 5269.5222 11.911081 + 7650 16738.483 0 0 5269.5223 11.911071 + 7700 16738.483 0 0 5269.5223 11.911054 + 7750 16738.483 0 0 5269.5224 11.911039 + 7800 16738.483 0 0 5269.5224 11.911031 + 7850 16738.483 0 0 5269.5225 11.911031 + 7900 16738.483 0 0 5269.5226 11.911039 + 7950 16738.484 0 0 5269.5226 11.911052 + 8000 16738.484 0 0 5269.5227 11.911065 + 8050 16738.484 0 0 5269.5227 11.91107 + 8100 16738.484 0 0 5269.5228 11.911065 + 8150 16738.484 0 0 5269.5228 11.911056 + 8200 16738.484 0 0 5269.5229 11.911047 + 8250 16738.485 0 0 5269.5229 11.911042 + 8300 16738.485 0 0 5269.523 11.911041 + 8350 16738.485 0 0 5269.523 11.911046 + 8400 16738.485 0 0 5269.5231 11.911055 + 8450 16738.485 0 0 5269.5231 11.911062 + 8500 16738.485 0 0 5269.5232 11.91106 + 8550 16738.486 0 0 5269.5232 11.911053 + 8600 16738.487 -0.00084974055 0 5269.5227 11.911032 + 8650 16738.486 0 0 5269.5233 11.911046 + 8700 16738.486 0 0 5269.5234 11.91105 + 8750 16738.486 0 0 5269.5235 11.911056 + 8800 16738.486 0 0 5269.5235 11.911063 + 8850 16738.487 -0.000227631 0 5269.5234 11.911065 + 8900 16738.487 0 0 5269.5236 11.911068 + 8950 16738.487 0 0 5269.5237 11.911058 + 9000 16738.487 0 0 5269.5237 11.911045 + 9050 16738.487 0 0 5269.5238 11.911036 + 9100 16738.487 0 0 5269.5238 11.911034 + 9150 16738.488 0 0 5269.5239 11.91104 + 9200 16738.488 0 0 5269.5239 11.911052 + 9250 16738.488 0 0 5269.524 11.911068 + 9300 16738.488 0 0 5269.524 11.911079 + 9350 16738.488 0 0 5269.5241 11.911078 + 9400 16738.492 -0.0016306433 0 5269.5235 11.911038 + 9450 16738.492 -0.0032567425 0 5269.522 11.911005 + 9500 16738.495 -0.0036645345 0 5269.5224 11.910982 + 9550 16738.49 -0.001067391 0 5269.5237 11.911012 + 9600 16738.489 0 0 5269.5244 11.911032 + 9650 16738.489 0 0 5269.5244 11.911043 + 9700 16738.49 0 0 5269.5245 11.911058 + 9750 16738.49 0 0 5269.5245 11.911071 + 9800 16738.49 0 0 5269.5246 11.911073 + 9850 16738.49 0 0 5269.5246 11.911065 + 9900 16738.49 0 0 5269.5247 11.911053 + 9950 16738.491 -0.00058544648 0 5269.5243 11.911032 + 10000 16738.493 -0.0015244933 0 5269.5242 11.911015 +Loop time of 2.36483 on 4 procs for 10000 steps with 81 atoms + +Performance: 36535.358 tau/day, 4228.629 timesteps/s +99.4% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0030635 | 0.0035263 | 0.0040903 | 0.7 | 0.15 +Neigh | 0.0093439 | 0.01002 | 0.010976 | 0.6 | 0.42 +Comm | 0.11912 | 0.12509 | 0.13346 | 1.5 | 5.29 +Output | 0.003411 | 0.0038449 | 0.0050123 | 1.1 | 0.16 +Modify | 2.1961 | 2.2052 | 2.2137 | 0.5 | 93.25 +Other | | 0.01717 | | | 0.73 + +Nlocal: 20.25 ave 27 max 9 min +Histogram: 1 0 0 0 0 1 0 0 0 2 +Nghost: 31.5 ave 51 max 15 min +Histogram: 1 0 0 1 0 1 0 0 0 1 +Neighs: 1 ave 4 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 4 +Ave neighs/atom = 0.049382716 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems4.g++.1 b/examples/rigid/log.20Mar22.rigid.poems4.g++.1 new file mode 100644 index 0000000000..e2febc5ed9 --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.poems4.g++.1 @@ -0,0 +1,328 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.000 seconds + +velocity all create 100.0 4928459 + +# 1 chain of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 36 45 +10 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +fix 1 all poems file connected-bodies.dat +1 clusters, 9 bodies, 8 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: + +@Article{Mukherjee08, + author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, + title = {Substructured molecular dynamics using multibody dynamics algorithms}, + journal = {Intl.~J.~Non-linear Mechanics}, + year = 2008, + volume = 43, + pages = {1045--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 10 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 = 18 18 18 + 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.666 | 3.666 | 3.666 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 217.7783 3430.3907 0 3466.6871 -2.7403788 + 50 13679.637 1404.2468 0 3684.1863 12.446066 + 100 16777.225 888.87665 0 3685.0808 -31.828677 + 150 19595.365 418.45042 0 3684.3446 40.709078 + 200 18524.188 596.47273 0 3683.8375 -0.8159371 + 250 21015.789 180.96521 0 3683.5967 -10.042469 + 300 20785.513 219.25314 0 3683.5053 2.6452719 + 350 21072.46 171.2554 0 3683.3321 7.0609024 + 400 19956.414 356.36381 0 3682.4328 19.320259 + 450 20724.42 227.73284 0 3681.8028 8.1259249 + 500 20152.578 322.71466 0 3681.4777 5.4929878 + 550 20017.022 345.29701 0 3681.4673 5.4661666 + 600 17897.743 698.72196 0 3681.6791 3.2854742 + 650 17297.758 796.60256 0 3679.5623 15.191113 + 700 18581.934 584.29715 0 3681.2861 5.1588289 + 750 21774.158 52.821062 0 3681.8474 -10.775664 + 800 21604.055 81.188546 0 3681.8644 -3.2045742 + 850 17821.483 711.53827 0 3681.7854 7.438428 + 900 21033.292 175.98127 0 3681.5299 -16.345167 + 950 20968.166 186.59847 0 3681.2929 -2.330456 + 1000 20490.66 266.19374 0 3681.3037 11.787982 + 1050 20222.396 310.94072 0 3681.34 -8.3459539 + 1100 21321.687 127.61533 0 3681.2299 -1.2184716 + 1150 20849.582 206.01696 0 3680.9472 -0.86699118 + 1200 21815.003 45.317409 0 3681.1512 1.5988314 + 1250 18655.437 572.41453 0 3681.654 10.064083 + 1300 20780.781 217.36511 0 3680.8286 6.0538604 + 1350 20558.971 254.36489 0 3680.8601 -3.6773868 + 1400 21485.029 99.812844 0 3680.6511 -16.185479 + 1450 21771.107 52.159653 0 3680.6775 -2.4756655 + 1500 21520.949 93.503876 0 3680.3286 2.1023573 + 1550 21351.419 121.6813 0 3680.2511 5.5159876 + 1600 20778.804 216.92191 0 3680.0559 15.089203 + 1650 21477.636 100.21873 0 3679.8247 -1.1045277 + 1700 18501.33 596.4807 0 3680.0357 -15.6798 + 1750 18563.64 587.34824 0 3681.2882 33.532308 + 1800 19110.175 494.82517 0 3679.8543 18.024074 + 1850 21364.178 119.23765 0 3679.9339 2.5290144 + 1900 20146.588 322.15509 0 3679.9197 5.7317299 + 1950 20692.676 231.25264 0 3680.0319 4.297803 + 2000 20943.902 189.11251 0 3679.7629 -22.643824 + 2050 19667.823 401.86882 0 3679.8394 3.6241915 + 2100 20280.125 299.81485 0 3679.8357 7.4804047 + 2150 19181.201 483.6306 0 3680.4975 22.63342 + 2200 21301.144 130.54014 0 3680.7308 4.7074288 + 2250 20484.876 266.98315 0 3681.1291 -8.6578278 + 2300 18648.161 573.07329 0 3681.1001 -5.2550954 + 2350 21515.748 95.243054 0 3681.201 -9.386512 + 2400 21462.551 104.18267 0 3681.2745 -29.46442 + 2450 20107.732 330.99437 0 3682.2831 35.38497 + 2500 20771.509 220.47713 0 3682.3953 -12.324858 + 2550 20499.887 265.58494 0 3682.2327 -22.713874 + 2600 21462.182 105.24427 0 3682.2747 -10.175788 + 2650 21004.949 181.51383 0 3682.3387 4.949195 + 2700 18673.552 570.45017 0 3682.7089 21.201437 + 2750 21257.562 139.198 0 3682.1249 -7.5793039 + 2800 21559.645 88.844759 0 3682.119 -6.2360467 + 2850 20865.227 204.46262 0 3682.0004 0.39575069 + 2900 19428.614 443.93293 0 3682.0352 12.796676 + 2950 19630.1 410.18487 0 3681.8681 -0.50572623 + 3000 19663.218 404.06316 0 3681.2661 6.0827093 + 3050 19087.572 500.8452 0 3682.1073 -6.3526476 + 3100 18229.94 643.77681 0 3682.1001 11.453637 + 3150 18927.492 527.51919 0 3682.1011 -1.662863 + 3200 18320.514 628.55895 0 3681.978 21.176126 + 3250 18204.677 647.96462 0 3682.0775 11.331521 + 3300 19231.978 477.02117 0 3682.3509 3.8381593 + 3350 18153.44 656.70376 0 3682.2772 15.135615 + 3400 17476.768 770.0598 0 3682.8545 -3.394312 + 3450 21097.531 166.17241 0 3682.4276 3.74301 + 3500 17605.784 747.54808 0 3681.8454 3.3420627 + 3550 19238.34 476.00608 0 3682.3961 1.1413836 + 3600 18155.288 656.57434 0 3682.4557 3.4360446 + 3650 18735.622 559.2377 0 3681.8413 28.760363 + 3700 15310.261 1134.4215 0 3686.1317 44.207018 + 3750 15377.116 1123.4786 0 3686.3313 7.6773215 + 3800 18798.895 549.05928 0 3682.2084 -12.905825 + 3850 18322.563 628.87744 0 3682.6379 -16.067793 + 3900 19963.049 355.65441 0 3682.8292 3.4694064 + 3950 19925.48 361.2507 0 3682.1641 5.0058567 + 4000 19141.423 492.41081 0 3682.648 -12.782769 + 4050 20022.241 345.61655 0 3682.6568 -3.0149905 + 4100 21348.635 124.95646 0 3683.0624 -4.85779 + 4150 21011.812 181.1132 0 3683.0819 -3.9526196 + 4200 20222.276 312.63945 0 3683.0187 -23.63437 + 4250 20957.757 189.77152 0 3682.731 -1.3712469 + 4300 20070.215 337.5751 0 3682.611 -6.8816517 + 4350 21322.437 129.09228 0 3682.8318 -6.9442178 + 4400 19440.445 442.77531 0 3682.8495 -0.11606236 + 4450 20964.516 188.67174 0 3682.7577 4.8533525 + 4500 13530.08 1428.5497 0 3683.563 12.333187 + 4550 20461.637 272.58882 0 3682.8616 4.5111943 + 4600 17072.994 836.58228 0 3682.0812 5.7611617 + 4650 18860.748 539.82027 0 3683.2782 -2.5558958 + 4700 18373.927 621.04093 0 3683.3621 5.4020702 + 4750 20321.437 296.63662 0 3683.5428 8.9571617 + 4800 21083.122 169.84086 0 3683.6946 10.566368 + 4850 20499.669 267.7012 0 3684.3128 4.2924237 + 4900 20308.781 300.38168 0 3685.1785 -12.396923 + 4950 21043.303 178.56295 0 3685.7801 3.8923762 + 5000 20718.383 232.52208 0 3685.5859 -12.43234 + 5050 21005.749 184.4363 0 3685.3945 -7.6463487 + 5100 20714.133 233.27745 0 3685.6329 -1.6944135 + 5150 19577.452 422.73035 0 3685.639 -21.831219 + 5200 14044.647 1343.9545 0 3684.729 -6.8407194 + 5250 19089.805 504.0893 0 3685.7235 4.05641 + 5300 21094.745 169.94699 0 3685.7378 -0.66593212 + 5350 19907.559 366.77598 0 3684.7024 1.5248525 + 5400 20382.81 289.13263 0 3686.2676 -11.919321 + 5450 19593.693 420.70548 0 3686.3209 -1.1568628 + 5500 20906.08 202.09801 0 3686.4447 -2.4284971 + 5550 16315.465 965.56973 0 3684.8138 -33.178221 + 5600 19714.57 400.39687 0 3686.1586 19.950231 + 5650 20561.724 259.54797 0 3686.502 8.2074524 + 5700 19349.502 460.7789 0 3685.6959 16.252649 + 5750 21006.818 185.56805 0 3686.7044 -11.96089 + 5800 20268.2 307.97547 0 3686.0089 17.322311 + 5850 21018.322 184.16179 0 3687.2154 -14.379909 + 5900 19695.647 404.57094 0 3687.1787 -20.718904 + 5950 21021.687 183.66311 0 3687.2776 -15.206081 + 6000 18947.535 529.30554 0 3687.2281 17.863927 + 6050 15272.373 1141.012 0 3686.4075 -0.43375666 + 6100 17766.197 721.75792 0 3682.7908 11.378913 + 6150 18612.573 584.06688 0 3686.1623 17.543241 + 6200 19005.155 518.97146 0 3686.4973 -16.223107 + 6250 20997.507 187.55499 0 3687.1394 -11.613546 + 6300 19639.901 413.58048 0 3686.8974 14.407136 + 6350 19580.399 423.02818 0 3686.428 -5.5801796 + 6400 14134.119 1332.0662 0 3687.7527 84.864425 + 6450 21598.824 87.419966 0 3687.224 -5.8358352 + 6500 18208.216 649.29108 0 3683.9938 -8.1510884 + 6550 19364.586 459.59813 0 3687.0291 -12.053563 + 6600 20710.927 235.11914 0 3686.9403 -1.0470193 + 6650 21132.334 165.08091 0 3687.1366 1.0785471 + 6700 20217.285 317.589 0 3687.1365 0.055447462 + 6750 21232.279 148.57412 0 3687.2873 -2.4551657 + 6800 20292.683 304.76539 0 3686.8793 -0.42311295 + 6850 19056.291 510.49927 0 3686.5478 6.9533826 + 6900 20429.82 282.23764 0 3687.2076 -4.2360112 + 6950 21281.278 140.27361 0 3687.1533 -0.07475261 + 7000 17173.388 824.54446 0 3686.7758 10.753828 + 7050 18079.7 674.56274 0 3687.846 12.975804 + 7100 16433.233 950.73904 0 3689.6112 -10.5102 + 7150 19033.335 515.59672 0 3687.8193 0.29109447 + 7200 17286.428 809.02352 0 3690.0948 2.3015698 + 7250 16811.962 886.6645 0 3688.6582 -7.4787512 + 7300 15992.461 1023.4849 0 3688.895 -5.2354222 + 7350 19211.451 487.63129 0 3689.5398 8.4351737 + 7400 19065.682 511.95629 0 3689.57 -12.47448 + 7450 21369.265 128.10098 0 3689.6451 2.2930546 + 7500 16807.109 888.64602 0 3689.8308 14.761969 + 7550 18063.046 679.21873 0 3689.7264 3.8950434 + 7600 17794.987 724.55404 0 3690.3851 14.379016 + 7650 17904.751 706.14354 0 3690.2688 23.813776 + 7700 19670.09 411.3021 0 3689.6504 14.099245 + 7750 18082.562 675.23975 0 3689.0001 15.788521 + 7800 17776.135 726.91445 0 3689.6037 6.9780735 + 7850 17062.575 846.33412 0 3690.0966 -8.9289256 + 7900 19059.2 513.07737 0 3689.6107 16.992843 + 7950 16269.685 978.48914 0 3690.1033 11.180179 + 8000 20115.278 336.91405 0 3689.4604 -6.4882518 + 8050 21173.72 161.15229 0 3690.1056 -2.2164491 + 8100 19238.235 484.42784 0 3690.8004 23.412709 + 8150 18438.4 617.58743 0 3690.6542 0.89156316 + 8200 21438.764 117.12721 0 3690.2546 -1.7193227 + 8250 21195.806 157.66607 0 3690.3003 3.820447 + 8300 21177.549 161.13702 0 3690.7286 0.94938203 + 8350 21060.267 181.06887 0 3691.1135 2.8179025 + 8400 20087.113 343.46206 0 3691.3142 8.1484473 + 8450 19298.478 474.87133 0 3691.2843 -16.239664 + 8500 21654.353 82.083485 0 3691.1423 -8.1464138 + 8550 19920.544 371.34795 0 3691.4386 20.765144 + 8600 21692.293 75.655154 0 3691.0373 -13.316763 + 8650 21231.322 151.8989 0 3690.4526 -11.388238 + 8700 19530.647 434.89585 0 3690.0037 2.7433786 + 8750 19720.63 403.07773 0 3689.8493 -6.416414 + 8800 21321.378 136.04091 0 3689.604 1.3661635 + 8850 19811.906 387.80489 0 3689.7893 3.704143 + 8900 19734.167 400.92444 0 3689.9523 2.5685155 + 8950 21076.459 177.18119 0 3689.9244 -11.939513 + 9000 20967.246 195.42966 0 3689.9707 2.0092705 + 9050 21122.023 169.62103 0 3689.9582 2.3791301 + 9100 20169.346 328.27229 0 3689.8299 -3.5017988 + 9150 21418.641 119.84513 0 3689.6187 2.486073 + 9200 20876.042 210.26452 0 3689.6048 -5.3839897 + 9250 21572.38 93.74407 0 3689.1407 -8.3676952 + 9300 20944.78 197.98577 0 3688.7824 1.3278314 + 9350 20706.52 237.48767 0 3688.5744 4.6944204 + 9400 16412.314 953.47251 0 3688.8581 26.134976 + 9450 20461.68 277.76243 0 3688.0424 17.647445 + 9500 20893.994 205.64261 0 3687.9749 -10.642418 + 9550 20503.447 270.63504 0 3687.8761 -17.769897 + 9600 19677.799 408.05887 0 3687.692 -2.7938604 + 9650 17480.971 774.1855 0 3687.6806 0.59827043 + 9700 17799.126 721.50817 0 3688.0292 44.387928 + 9750 20443.384 280.16837 0 3687.399 3.0619324 + 9800 20545.255 263.40108 0 3687.6102 3.6229381 + 9850 20722.819 233.57142 0 3687.3745 0.86462694 + 9900 21128.462 165.09767 0 3686.508 -6.9636843 + 9950 21343.307 130.46714 0 3687.685 -9.7382705 + 10000 20623.887 250.37866 0 3687.6932 2.7529835 +Loop time of 2.28812 on 1 procs for 10000 steps with 81 atoms + +Performance: 37760.318 tau/day, 4370.407 timesteps/s +99.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.094122 | 0.094122 | 0.094122 | 0.0 | 4.11 +Neigh | 0.076427 | 0.076427 | 0.076427 | 0.0 | 3.34 +Comm | 0.0066867 | 0.0066867 | 0.0066867 | 0.0 | 0.29 +Output | 0.003606 | 0.003606 | 0.003606 | 0.0 | 0.16 +Modify | 2.0986 | 2.0986 | 2.0986 | 0.0 | 91.72 +Other | | 0.008698 | | | 0.38 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 62 ave 62 max 62 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 905 ave 905 max 905 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 905 +Ave neighs/atom = 11.17284 +Neighbor list builds = 991 +Dangerous builds = 927 +Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems4.g++.4 b/examples/rigid/log.20Mar22.rigid.poems4.g++.4 new file mode 100644 index 0000000000..6240237758 --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.poems4.g++.4 @@ -0,0 +1,328 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.000 seconds + +velocity all create 100.0 4928459 + +# 1 chain of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 36 45 +10 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +fix 1 all poems file connected-bodies.dat +1 clusters, 9 bodies, 8 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: + +@Article{Mukherjee08, + author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, + title = {Substructured molecular dynamics using multibody dynamics algorithms}, + journal = {Intl.~J.~Non-linear Mechanics}, + year = 2008, + volume = 43, + pages = {1045--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 10 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 = 18 18 18 + 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.514 | 3.545 | 3.639 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 217.7783 3430.3907 0 3466.6871 -2.7403788 + 50 13679.637 1404.2468 0 3684.1863 12.446066 + 100 16777.225 888.87665 0 3685.0808 -31.828677 + 150 19595.365 418.45042 0 3684.3446 40.709078 + 200 18524.188 596.47273 0 3683.8375 -0.8159371 + 250 21015.789 180.96521 0 3683.5967 -10.042469 + 300 20785.513 219.25314 0 3683.5053 2.6452719 + 350 21072.46 171.2554 0 3683.3321 7.0609024 + 400 19956.414 356.36381 0 3682.4328 19.320259 + 450 20724.42 227.73284 0 3681.8028 8.1259249 + 500 20152.578 322.71466 0 3681.4777 5.4929878 + 550 20017.022 345.29701 0 3681.4673 5.4661666 + 600 17897.743 698.72196 0 3681.6791 3.2854742 + 650 17297.758 796.60256 0 3679.5623 15.191113 + 700 18581.934 584.29715 0 3681.2861 5.1588289 + 750 21774.158 52.821062 0 3681.8474 -10.775664 + 800 21604.055 81.188546 0 3681.8644 -3.2045742 + 850 17821.483 711.53827 0 3681.7854 7.4384281 + 900 21033.292 175.98127 0 3681.5299 -16.345167 + 950 20968.166 186.59847 0 3681.2929 -2.330456 + 1000 20490.66 266.19374 0 3681.3037 11.787982 + 1050 20222.396 310.94072 0 3681.34 -8.3459539 + 1100 21321.687 127.61533 0 3681.2299 -1.2184716 + 1150 20849.582 206.01696 0 3680.9472 -0.86699115 + 1200 21815.003 45.317409 0 3681.1512 1.5988314 + 1250 18655.437 572.41453 0 3681.654 10.064083 + 1300 20780.781 217.36511 0 3680.8286 6.0538606 + 1350 20558.971 254.36489 0 3680.8601 -3.6773868 + 1400 21485.03 99.812843 0 3680.6511 -16.185479 + 1450 21771.107 52.159652 0 3680.6775 -2.4756656 + 1500 21520.949 93.503872 0 3680.3286 2.1023574 + 1550 21351.419 121.68131 0 3680.2511 5.5159875 + 1600 20778.804 216.92191 0 3680.0559 15.089203 + 1650 21477.636 100.21877 0 3679.8247 -1.104524 + 1700 18501.329 596.48084 0 3680.0357 -15.679806 + 1750 18563.639 587.34841 0 3681.2882 33.532316 + 1800 19110.174 494.82524 0 3679.8543 18.024079 + 1850 21364.178 119.23767 0 3679.9339 2.5290075 + 1900 20146.588 322.15506 0 3679.9197 5.7317368 + 1950 20692.674 231.25288 0 3680.0319 4.2977982 + 2000 20943.904 189.11229 0 3679.7629 -22.643749 + 2050 19667.815 401.87016 0 3679.8394 3.6240972 + 2100 20280.109 299.81759 0 3679.8357 7.4803647 + 2150 19181.146 483.63975 0 3680.4974 22.634167 + 2200 21301.194 130.53171 0 3680.7308 4.7072523 + 2250 20484.79 266.99736 0 3681.1291 -8.6583002 + 2300 18648.002 573.09962 0 3681.1 -5.2548835 + 2350 21515.851 95.225745 0 3681.2009 -9.3875216 + 2400 21462.37 104.21272 0 3681.2744 -29.459857 + 2450 20108.034 330.94394 0 3682.2829 35.37058 + 2500 20771.818 220.42545 0 3682.3951 -12.318936 + 2550 20502.815 265.09577 0 3682.2316 -22.726822 + 2600 21462.006 105.2733 0 3682.2744 -10.180394 + 2650 21009.656 180.72738 0 3682.3367 4.9580828 + 2700 18680.012 569.37179 0 3682.7071 21.114114 + 2750 21256.19 139.42201 0 3682.1203 -7.4744399 + 2800 21552.267 90.071446 0 3682.1159 -6.2906304 + 2850 20879.958 202.00905 0 3682.0021 0.57990903 + 2900 19018.645 512.35214 0 3682.1262 13.883084 + 2950 19819.365 378.55747 0 3681.785 -0.7348943 + 3000 20269.229 303.35149 0 3681.5563 6.3088075 + 3050 19236.727 475.99457 0 3682.1158 -10.703575 + 3100 18391.55 616.96976 0 3682.2281 9.850079 + 3150 20258.563 305.82076 0 3682.248 7.1951283 + 3200 20716.384 229.15502 0 3681.8856 2.9042294 + 3250 18662.237 572.0784 0 3682.4512 9.2108597 + 3300 19162.278 488.60646 0 3682.3195 3.3306562 + 3350 21235.679 142.98279 0 3682.2626 0.29397483 + 3400 17677.053 736.09247 0 3682.2679 32.75269 + 3450 20852.392 206.65618 0 3682.0548 -4.8319056 + 3500 21182.918 151.46754 0 3681.9539 -5.6330382 + 3550 20589.85 250.40724 0 3682.049 12.582133 + 3600 20973.659 186.28043 0 3681.8903 10.935266 + 3650 17838.632 707.92145 0 3681.0268 -17.200926 + 3700 21538.002 92.744409 0 3682.4114 -0.72124229 + 3750 21390.294 117.90865 0 3682.9576 -7.8431786 + 3800 17921.046 696.50311 0 3683.344 -9.4641531 + 3850 20356.471 290.22624 0 3682.9715 2.4593463 + 3900 20374.077 287.10249 0 3682.782 -1.9519082 + 3950 20563.915 255.29993 0 3682.619 -6.124649 + 4000 20991.467 184.76183 0 3683.3397 1.8954961 + 4050 17805.623 716.24698 0 3683.8509 -20.454944 + 4100 19916.389 363.86301 0 3683.2611 -0.27912557 + 4150 19221.623 480.01232 0 3683.6161 -11.562492 + 4200 20526.82 261.78571 0 3682.9224 -3.9522917 + 4250 20922.813 196.1799 0 3683.3154 0.11947446 + 4300 19956.66 357.78133 0 3683.8914 19.156093 + 4350 19735.73 394.45981 0 3683.7482 14.865775 + 4400 21702.656 67.099805 0 3684.2092 -13.502538 + 4450 18163.055 656.97231 0 3684.1482 -0.6243111 + 4500 17477.718 771.25976 0 3684.2127 -0.4664004 + 4550 20676.507 238.19814 0 3684.2827 -19.444969 + 4600 17322.922 796.77058 0 3683.9242 27.003966 + 4650 11905.158 1704.9151 0 3689.1082 15.574169 + 4700 18689.079 569.80982 0 3684.6563 -14.67311 + 4750 19821.745 381.01914 0 3684.6433 5.0436795 + 4800 20621.335 247.96269 0 3684.8518 -16.407263 + 4850 21923.814 30.965964 0 3684.935 -13.418244 + 4900 18840.555 544.41538 0 3684.5079 11.005357 + 4950 15366.601 1124.2481 0 3685.3482 17.412375 + 5000 18274.314 639.01311 0 3684.732 5.3261109 + 5050 21173.687 155.83673 0 3684.7845 5.4056809 + 5100 21738.219 61.75201 0 3684.7885 -2.631945 + 5150 16597.949 918.84841 0 3685.1732 -10.124101 + 5200 20752.758 225.95919 0 3684.7522 -5.2441372 + 5250 17652.088 741.2645 0 3683.2793 2.0080739 + 5300 19907.523 366.53115 0 3684.4516 8.4266792 + 5350 20104.189 334.14522 0 3684.8433 17.21925 + 5400 21499.848 101.71631 0 3685.0243 -6.1103541 + 5450 21203.533 151.14574 0 3685.068 -5.9468503 + 5500 21076.513 172.45652 0 3685.2088 5.1418181 + 5550 20158.398 325.56609 0 3685.2992 -1.6486034 + 5600 20787.836 221.19563 0 3685.835 -10.66805 + 5650 19687.154 404.77204 0 3685.9644 -23.49128 + 5700 20419.311 282.58328 0 3685.8017 -0.52808211 + 5750 19738.522 395.95893 0 3685.7126 1.3889817 + 5800 18300.025 635.66905 0 3685.6732 23.490447 + 5850 20585.004 255.02032 0 3685.8543 -0.20699939 + 5900 20373.839 290.15881 0 3685.7987 -7.9712187 + 5950 18163.832 659.91192 0 3687.2173 5.4494586 + 6000 21049.247 177.43029 0 3685.6382 2.9138342 + 6050 21239.803 145.77613 0 3685.7433 -1.4927769 + 6100 20686.361 237.86454 0 3685.5913 -0.95516297 + 6150 20461.754 275.31546 0 3685.6079 -3.4166412 + 6200 19264.208 474.73017 0 3685.4316 11.750757 + 6250 21180.813 155.31746 0 3685.4529 2.8188219 + 6300 21047.543 177.4394 0 3685.3632 1.8641486 + 6350 20232.576 313.17716 0 3685.2731 2.8150209 + 6400 20185.616 321.33454 0 3685.6038 -3.8697311 + 6450 18969.632 523.95865 0 3685.5639 0.6725512 + 6500 17592.574 753.49959 0 3685.5952 -1.2557393 + 6550 21279.049 138.42524 0 3684.9335 -1.208945 + 6600 21408.457 116.4143 0 3684.4904 -1.5332953 + 6650 19758.218 391.17316 0 3684.2096 1.8511312 + 6700 20766.943 223.44631 0 3684.6036 -2.3672623 + 6750 20399.631 284.09914 0 3684.0377 -5.4089876 + 6800 21296.628 135.14662 0 3684.5847 -3.8442549 + 6850 20641.481 244.4451 0 3684.692 1.4020639 + 6900 20852.81 209.23009 0 3684.6984 1.8512104 + 6950 20940.555 194.66882 0 3684.7614 -6.554676 + 7000 19496.988 435.28199 0 3684.78 -15.120269 + 7050 19796.829 385.04227 0 3684.5138 -4.1068804 + 7100 19945.264 360.42431 0 3684.635 -4.0629042 + 7150 19431.123 446.12911 0 3684.6497 -6.8321751 + 7200 16864.851 873.80043 0 3684.6089 14.309069 + 7250 20438.75 277.85982 0 3684.3181 -11.41223 + 7300 17688.684 734.01576 0 3682.1298 35.938373 + 7350 21573.419 88.63421 0 3684.204 -3.9032749 + 7400 21198.486 150.72249 0 3683.8034 -7.1477117 + 7450 20586.708 252.93928 0 3684.0572 -7.6634645 + 7500 21815.377 48.180377 0 3684.0765 0.97457507 + 7550 17791.352 718.87564 0 3684.101 28.248235 + 7600 21828.874 45.928597 0 3684.0742 -0.25814944 + 7650 20827.961 212.35674 0 3683.6835 -3.4083384 + 7700 21319.176 130.43547 0 3683.6315 -12.434856 + 7750 20127.904 328.69643 0 3683.3471 -16.975711 + 7800 21741.772 59.679206 0 3683.3078 3.6261863 + 7850 19612.334 414.37418 0 3683.0964 1.3763274 + 7900 20071.318 337.74624 0 3682.9658 -0.40982763 + 7950 17925.664 695.29582 0 3682.9065 17.104439 + 8000 19125.978 492.76383 0 3680.4268 10.807662 + 8050 20233.848 310.42681 0 3682.7347 13.386237 + 8100 20551.619 257.86699 0 3683.1368 -13.97515 + 8150 21578.323 86.88362 0 3683.2708 -9.6811587 + 8200 21154.833 157.72897 0 3683.5344 0.62312375 + 8250 21321.143 129.83967 0 3683.3636 1.9536438 + 8300 21041.696 176.04177 0 3682.9911 4.7475567 + 8350 19883.39 369.32649 0 3683.2247 -7.0959328 + 8400 21626.067 79.062992 0 3683.4075 -14.919059 + 8450 21375.201 120.86836 0 3683.4019 -5.3461514 + 8500 20281.059 303.10304 0 3683.2796 3.7975093 + 8550 21170.533 154.48432 0 3682.9065 -1.1568561 + 8600 17754.931 724.00158 0 3683.1568 14.15254 + 8650 20685.478 235.65879 0 3683.2385 -5.2694179 + 8700 21489.165 101.90509 0 3683.4326 -4.2510612 + 8750 21106.682 165.41638 0 3683.1968 -3.9186708 + 8800 19149.516 491.5843 0 3683.1702 -11.419849 + 8850 21451.865 108.1814 0 3683.4923 -7.8256219 + 8900 19567.4 421.81206 0 3683.0454 -0.71997056 + 8950 20934.097 194.48033 0 3683.4965 -7.0106879 + 9000 18531.559 595.25957 0 3683.8528 3.7449399 + 9050 18868.821 537.22549 0 3682.029 9.9926092 + 9100 19972.527 354.73119 0 3683.4858 -0.30871263 + 9150 19641.651 409.18618 0 3682.7947 -1.3036238 + 9200 20019.08 346.19657 0 3682.7099 6.7425386 + 9250 19259.286 473.04973 0 3682.9308 -24.120659 + 9300 21597.757 82.971857 0 3682.598 -13.748483 + 9350 19348.379 457.23576 0 3681.9656 3.1571402 + 9400 19129.588 493.35235 0 3681.617 8.6293783 + 9450 20337.025 291.20959 0 3680.7138 6.8590795 + 9500 20581.788 249.65891 0 3679.9569 -18.892836 + 9550 19482.069 433.0077 0 3680.0192 23.029778 + 9600 19182.794 482.96871 0 3680.101 -11.081731 + 9650 20086.771 332.5311 0 3680.3263 -18.939681 + 9700 20274.046 300.98818 0 3679.9959 6.7538762 + 9750 18743.595 555.08045 0 3679.0129 8.2757138 + 9800 19464.311 435.66288 0 3679.7148 7.0528759 + 9850 21249.848 138.27382 0 3679.9152 -10.847402 + 9900 21156.214 153.84621 0 3679.8819 -7.8359674 + 9950 21643.134 72.547515 0 3679.7365 -10.507744 + 10000 19587.948 414.64942 0 3679.3075 6.1173553 +Loop time of 2.35562 on 4 procs for 10000 steps with 81 atoms + +Performance: 36678.236 tau/day, 4245.166 timesteps/s +99.3% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0055581 | 0.024882 | 0.055326 | 12.0 | 1.06 +Neigh | 0.0073809 | 0.022107 | 0.043683 | 9.2 | 0.94 +Comm | 0.12484 | 0.14528 | 0.1833 | 6.2 | 6.17 +Output | 0.0035526 | 0.0041048 | 0.0055462 | 1.3 | 0.17 +Modify | 2.1078 | 2.1414 | 2.162 | 1.5 | 90.91 +Other | | 0.0178 | | | 0.76 + +Nlocal: 20.25 ave 81 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 +Nghost: 41 ave 78 max 11 min +Histogram: 2 0 0 0 0 0 0 1 0 1 +Neighs: 193.5 ave 774 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 774 +Ave neighs/atom = 9.5555556 +Neighbor list builds = 989 +Dangerous builds = 915 +Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems5.g++.1 b/examples/rigid/log.20Mar22.rigid.poems5.g++.1 new file mode 100644 index 0000000000..5a18042516 --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.poems5.g++.1 @@ -0,0 +1,329 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.000 seconds + +velocity all create 100.0 4928459 + + +# 2 chains of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +fix 1 all poems file connected-bodies2.dat +2 clusters, 9 bodies, 7 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: + +@Article{Mukherjee08, + author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, + title = {Substructured molecular dynamics using multibody dynamics algorithms}, + journal = {Intl.~J.~Non-linear Mechanics}, + year = 2008, + volume = 43, + pages = {1045--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 10 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 = 18 18 18 + 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.666 | 3.666 | 3.666 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 196.00047 3632.2347 0 3668.5311 -2.7403788 + 50 12774.759 1538.7382 0 3904.4344 18.086359 + 100 19803.641 237.21132 0 3904.5523 -3.1528278 + 150 20259.6 152.62072 0 3904.3985 -4.6173524 + 200 20705.978 69.977442 0 3904.4178 9.0928158 + 250 19552.211 283.50525 0 3904.285 15.670465 + 300 19266.324 333.5792 0 3901.4169 7.2119197 + 350 20738.325 63.738945 0 3904.1694 -23.03999 + 400 20616.682 86.082444 0 3903.9864 -13.783584 + 450 19831.326 230.13858 0 3902.6063 0.42074361 + 500 20365.825 131.47231 0 3902.9213 0.6921524 + 550 20794.102 52.163238 0 3902.9229 4.5895354 + 600 20853.873 40.899172 0 3902.7275 2.3593042 + 650 19255.802 336.29509 0 3902.1844 10.341742 + 700 18526.969 471.02462 0 3901.9448 -0.61898691 + 750 18960.662 391.26068 0 3902.4944 12.04731 + 800 20142.432 172.05177 0 3902.1317 4.6838621 + 850 19932.48 210.71175 0 3901.9118 3.4716043 + 900 20243.528 153.13972 0 3901.9411 3.6490762 + 950 20388.132 126.88722 0 3902.4671 -4.4518463 + 1000 20076.333 184.61915 0 3902.4586 -2.272315 + 1050 20859.506 39.696993 0 3902.5684 6.45166 + 1100 15284.661 1072.1908 0 3902.6836 21.194042 + 1150 19658.317 261.99809 0 3902.4272 -2.874422 + 1200 20767.681 56.717094 0 3902.5839 -34.817444 + 1250 20625.583 82.586399 0 3902.1388 11.697329 + 1300 20690.013 71.006478 0 3902.4903 -29.292777 + 1350 20936.019 26.022786 0 3903.0634 1.0316025 + 1400 19753.559 244.81785 0 3902.8844 6.7138514 + 1450 15690.149 998.342 0 3903.9252 48.124557 + 1500 20234.455 155.92516 0 3903.0465 13.17221 + 1550 20779.631 55.063009 0 3903.1428 -2.639045 + 1600 20642.753 80.233905 0 3902.9659 -2.4688467 + 1650 18785.696 423.90402 0 3902.7365 -5.6466663 + 1700 20965.076 20.760444 0 3903.182 -0.45364296 + 1750 18935.406 396.96067 0 3903.5173 25.913302 + 1800 20581.559 91.756972 0 3903.1567 3.8217234 + 1850 20616.946 85.184849 0 3903.1378 4.1907972 + 1900 16602.053 828.40949 0 3902.8637 -0.49505122 + 1950 20175.526 166.53362 0 3902.7421 5.603825 + 2000 20261.924 150.39322 0 3902.6014 -1.196958 + 2050 20170.339 167.40504 0 3902.6531 -0.80849882 + 2100 19820.132 231.26755 0 3901.6624 3.1476607 + 2150 20666.19 75.838461 0 3902.9106 0.53899287 + 2200 19873.51 222.53286 0 3902.8124 7.9310276 + 2250 18548.063 467.69698 0 3902.5235 16.905356 + 2300 20616.61 84.762399 0 3902.6531 -6.7872951 + 2350 18167.738 538.13635 0 3902.5322 -11.458285 + 2400 20120.227 177.01954 0 3902.9875 -1.2593018 + 2450 20436.599 118.32469 0 3902.8801 -6.5989174 + 2500 18919.923 400.26361 0 3903.9531 32.37476 + 2550 19675.809 259.77151 0 3903.4398 19.437327 + 2600 19739.842 247.86388 0 3903.3901 -7.519784 + 2650 20557.026 96.530313 0 3903.387 0.60211646 + 2700 20666.602 76.099892 0 3903.2484 0.16825503 + 2750 20924.585 28.453883 0 3903.3771 2.4227171 + 2800 20360.659 132.8596 0 3903.352 4.1440877 + 2850 20783.475 54.518625 0 3903.3102 -0.57312067 + 2900 20456.181 115.03745 0 3903.2191 -20.118887 + 2950 20779.493 55.321394 0 3903.3756 -0.26783079 + 3000 20011.867 197.30216 0 3903.2035 -1.4704201 + 3050 20741.875 62.208723 0 3903.2966 -7.5432815 + 3100 21001.754 14.148298 0 3903.362 2.9676438 + 3150 20244.086 154.44639 0 3903.3512 -1.9071213 + 3200 20639.615 81.136426 0 3903.2873 1.4826467 + 3250 20735.244 63.529571 0 3903.3895 2.1127055 + 3300 20142.891 173.22282 0 3903.3878 4.7739415 + 3350 19963.765 206.21899 0 3903.2126 5.5410771 + 3400 16628.667 824.13627 0 3903.519 36.087673 + 3450 19228.218 342.81569 0 3903.5968 3.1057274 + 3500 19759.293 244.57876 0 3903.707 2.2339557 + 3550 19853.21 227.06362 0 3903.584 -1.0882119 + 3600 19673.516 260.64854 0 3903.8923 -10.63775 + 3650 19619.238 270.5393 0 3903.7316 -6.3746003 + 3700 20756.865 59.790243 0 3903.6542 -8.3015766 + 3750 20265.025 150.47347 0 3903.2559 -5.7284695 + 3800 20944.683 24.669276 0 3903.3142 -0.070552298 + 3850 19344.831 320.59492 0 3902.971 13.040749 + 3900 19978.209 203.00247 0 3902.6708 0.15638133 + 3950 19864.118 224.19359 0 3902.734 0.453229 + 4000 17606.216 642.71493 0 3903.1252 -12.656002 + 4050 18017.895 566.54102 0 3903.1883 12.133906 + 4100 20092.963 182.17593 0 3903.095 7.7445947 + 4150 20555.337 96.395074 0 3902.939 -6.5429752 + 4200 20709.781 67.869199 0 3903.0138 -2.8653003 + 4250 18956.203 392.20748 0 3902.6155 -1.6249728 + 4300 17816.204 603.72704 0 3903.0241 23.089239 + 4350 18979.742 388.04678 0 3902.8138 3.2511108 + 4400 20272.085 148.82367 0 3902.9135 1.9518268 + 4450 18820.003 417.74789 0 3902.9337 6.3979299 + 4500 19991.936 200.50131 0 3902.7117 3.5118553 + 4550 20915.092 29.663898 0 3902.8291 -2.3174641 + 4600 20690.37 71.125087 0 3902.6752 -12.008575 + 4650 18893.76 404.50849 0 3903.3529 15.006184 + 4700 18611.123 456.1263 0 3902.6306 -5.3574892 + 4750 20497.821 106.5856 0 3902.4784 0.85039837 + 4800 20803.214 50.120522 0 3902.5675 3.8610873 + 4850 18849.598 411.72635 0 3902.3927 9.2029058 + 4900 18121.714 546.68042 0 3902.5533 9.4522272 + 4950 20377.499 128.99323 0 3902.6041 5.3825395 + 5000 20686.114 72.039749 0 3902.8016 -5.706271 + 5050 20180.449 165.51368 0 3902.634 -16.418461 + 5100 20274.947 148.36657 0 3902.9864 -5.6668309 + 5150 18042.324 560.74137 0 3901.9125 3.6791541 + 5200 20794.666 52.204446 0 3903.0685 -1.4517721 + 5250 19073.55 371.18834 0 3903.3272 -13.457439 + 5300 20821.412 47.364313 0 3903.1813 2.258098 + 5350 20583.073 91.271191 0 3902.9513 5.4323985 + 5400 20490.967 108.41184 0 3903.0353 4.122905 + 5450 18141.79 543.66874 0 3903.2594 -0.19951075 + 5500 20274.012 148.55528 0 3903.002 5.0489974 + 5550 17806.237 605.43454 0 3902.8858 43.80619 + 5600 20999.825 14.341937 0 3903.1983 1.0879933 + 5650 20930.929 27.025347 0 3903.1234 -7.0860209 + 5700 20677.725 73.853093 0 3903.0614 2.6864775 + 5750 20521.264 102.87509 0 3903.1092 2.6940548 + 5800 20792.571 52.596021 0 3903.0721 1.2910217 + 5850 20518.674 103.26595 0 3903.0204 -9.2547271 + 5900 18417.885 491.66696 0 3902.3865 -12.049357 + 5950 17243.837 709.37858 0 3902.6817 -6.2357188 + 6000 20262.525 149.56918 0 3901.8885 -0.28964823 + 6050 19883.554 219.14043 0 3901.2801 2.3071707 + 6100 16548.178 838.47869 0 3902.956 -11.715644 + 6150 19601.177 272.14674 0 3901.9944 -0.9008056 + 6200 20499.796 106.2363 0 3902.4949 0.79071424 + 6250 19601.106 272.50139 0 3902.3359 -1.9306693 + 6300 17210.685 712.70535 0 3899.8692 4.8890923 + 6350 19911.896 214.91041 0 3902.2985 12.691129 + 6400 18834.642 411.87123 0 3899.7678 -1.9447856 + 6450 20216.311 158.39781 0 3902.1591 2.6009109 + 6500 20452.025 114.97122 0 3902.3832 0.14644416 + 6550 19142.589 357.34097 0 3902.2649 2.8968485 + 6600 20412.915 122.08784 0 3902.2573 3.1343105 + 6650 17317.867 699.39994 0 3906.4123 42.25563 + 6700 20479.771 109.8036 0 3902.3537 1.3520625 + 6750 20306.902 142.12484 0 3902.6623 2.2032106 + 6800 20755.367 58.994834 0 3902.5814 -0.90518094 + 6850 20471.259 111.7197 0 3902.6936 1.5799331 + 6900 20702.025 69.15032 0 3902.8586 9.3910371 + 6950 20477.695 110.34414 0 3902.5099 1.8181164 + 7000 20560.727 95.057704 0 3902.5998 -15.686006 + 7050 20336.675 136.39386 0 3902.4448 1.3704327 + 7100 20757.399 58.950153 0 3902.913 -6.4250981 + 7150 20870.958 38.095649 0 3903.088 -4.1962169 + 7200 20706.869 68.489134 0 3903.0944 2.8322659 + 7250 20386.713 127.7432 0 3903.0604 6.0287391 + 7300 18391.773 497.21001 0 3903.0939 19.202343 + 7350 20178.898 166.4993 0 3903.3322 1.5682417 + 7400 16858.704 781.78682 0 3903.7691 21.317514 + 7450 17509.513 660.71963 0 3903.2221 -5.9456143 + 7500 19974.601 204.20412 0 3903.2043 -0.69202711 + 7550 20917.053 29.73415 0 3903.2626 -3.9962577 + 7600 20923.518 28.482703 0 3903.2083 -1.9016251 + 7650 20549.528 97.630612 0 3903.0987 3.5512257 + 7700 20861.441 39.903885 0 3903.1337 2.4426264 + 7750 18843.349 413.64461 0 3903.1537 2.677739 + 7800 20616.054 85.214364 0 3903.0021 3.9639004 + 7850 16478.851 851.93376 0 3903.5728 7.3763128 + 7900 20312.115 141.35103 0 3902.8539 4.6707271 + 7950 20389.623 127.16589 0 3903.0219 3.4414001 + 8000 20452.117 115.30715 0 3902.7362 -1.0162528 + 8050 20857.093 40.791886 0 3903.2164 -15.150068 + 8100 19817.543 233.4997 0 3903.415 0.89346046 + 8150 18649.521 449.9112 0 3903.5262 -0.40053588 + 8200 19619.276 270.37616 0 3903.5754 5.5161492 + 8250 20393.176 127.01336 0 3903.5275 2.122613 + 8300 19145.912 358.00424 0 3903.5435 3.863924 + 8350 19636.311 267.17226 0 3903.5262 -7.1496084 + 8400 19086.332 368.86693 0 3903.3729 7.0968952 + 8450 19494.416 292.89527 0 3902.9723 3.1750935 + 8500 20041.919 191.77756 0 3903.244 0.95215503 + 8550 20357.561 133.15478 0 3903.0736 -0.14020152 + 8600 16998.797 756.07003 0 3903.9954 -16.724408 + 8650 20853.26 41.386996 0 3903.1017 -3.2612965 + 8700 20767.768 57.360884 0 3903.2438 1.1157649 + 8750 20752.546 60.106518 0 3903.1705 0.39130547 + 8800 20574.407 92.99798 0 3903.0734 0.61728166 + 8850 20326.99 138.94203 0 3903.1995 -1.9434522 + 8900 17408.108 679.53222 0 3903.2559 21.935371 + 8950 20471.21 112.2721 0 3903.2368 1.8142747 + 9000 19129.591 360.35257 0 3902.8694 4.5786395 + 9050 20439.668 117.89541 0 3903.0191 2.5585685 + 9100 20780.375 54.788664 0 3903.0062 3.8312459 + 9150 19904.559 216.61504 0 3902.6445 12.150414 + 9200 20961.295 21.52065 0 3903.2419 -0.2120699 + 9250 19315.252 326.44175 0 3903.3402 -19.740867 + 9300 20653.002 78.77764 0 3903.4076 -7.8068233 + 9350 18961.572 391.20947 0 3902.6117 -12.660843 + 9400 16262.179 892.67633 0 3904.191 22.2435 + 9450 17064.394 743.33301 0 3903.406 36.139436 + 9500 18075.588 555.06436 0 3902.3954 24.598176 + 9550 20487.738 109.06287 0 3903.0884 2.6320759 + 9600 20358.609 133.36993 0 3903.4828 0.76449113 + 9650 19849.022 228.46312 0 3904.208 9.5547064 + 9700 20448.112 116.8757 0 3903.5632 -1.0845697 + 9750 20472.78 112.51661 0 3903.7722 -0.30676738 + 9800 19491.99 293.35361 0 3902.9814 -20.10857 + 9850 19895.603 218.42479 0 3902.7957 -0.18235641 + 9900 19704.336 254.55068 0 3903.5019 14.553184 + 9950 17689.462 627.9788 0 3903.805 4.9918088 + 10000 20184.205 165.29396 0 3903.1097 2.9472364 +Loop time of 2.28393 on 1 procs for 10000 steps with 81 atoms + +Performance: 37829.498 tau/day, 4378.414 timesteps/s +99.3% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.052911 | 0.052911 | 0.052911 | 0.0 | 2.32 +Neigh | 0.056658 | 0.056658 | 0.056658 | 0.0 | 2.48 +Comm | 0.0087389 | 0.0087389 | 0.0087389 | 0.0 | 0.38 +Output | 0.0037996 | 0.0037996 | 0.0037996 | 0.0 | 0.17 +Modify | 2.1537 | 2.1537 | 2.1537 | 0.0 | 94.30 +Other | | 0.008147 | | | 0.36 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 113 ave 113 max 113 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 582 ave 582 max 582 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 582 +Ave neighs/atom = 7.1851852 +Neighbor list builds = 993 +Dangerous builds = 950 +Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.poems5.g++.4 b/examples/rigid/log.20Mar22.rigid.poems5.g++.4 new file mode 100644 index 0000000000..cbf8b05490 --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.poems5.g++.4 @@ -0,0 +1,329 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + read_data CPU = 0.000 seconds + +velocity all create 100.0 4928459 + + +# 2 chains of connected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 9 18 +10 atoms in group clump2 +group clump3 id <> 18 27 +10 atoms in group clump3 +group clump4 id <> 27 36 +10 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 45 54 +10 atoms in group clump6 +group clump7 id <> 54 63 +10 atoms in group clump7 +group clump8 id <> 63 72 +10 atoms in group clump8 +group clump9 id <> 72 81 +10 atoms in group clump9 + +fix 1 all poems file connected-bodies2.dat +2 clusters, 9 bodies, 7 joints, 81 atoms + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid.poems + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + +Your simulation uses code contributions which should be cited: + +- fix poems command: + +@Article{Mukherjee08, + author = {R. M. Mukherjee, P. S. Crozier, S. J. Plimpton, K. S. Anderson}, + title = {Substructured molecular dynamics using multibody dynamics algorithms}, + journal = {Intl.~J.~Non-linear Mechanics}, + year = 2008, + volume = 43, + pages = {1045--1055} +} + +CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE + + generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update every 1 steps, delay 10 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 = 18 18 18 + 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.514 | 3.545 | 3.639 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 196.00047 3632.2347 0 3668.5311 -2.7403788 + 50 12774.759 1538.7382 0 3904.4344 18.086358 + 100 19803.641 237.21132 0 3904.5523 -3.1528278 + 150 20259.6 152.62072 0 3904.3985 -4.6173524 + 200 20705.978 69.977039 0 3904.4174 9.0928122 + 250 19552.211 283.50525 0 3904.285 15.670466 + 300 19266.324 333.5792 0 3901.4169 7.2119197 + 350 20738.325 63.738945 0 3904.1694 -23.03999 + 400 20616.682 86.082444 0 3903.9864 -13.783584 + 450 19831.326 230.13858 0 3902.6063 0.42074361 + 500 20365.825 131.47271 0 3902.9217 0.69215592 + 550 20794.102 52.163238 0 3902.9229 4.5895354 + 600 20853.873 40.899172 0 3902.7275 2.3593042 + 650 19255.802 336.29509 0 3902.1844 10.341742 + 700 18526.969 471.02462 0 3901.9448 -0.61898691 + 750 18960.662 391.26068 0 3902.4944 12.04731 + 800 20142.432 172.05197 0 3902.1319 4.6838632 + 850 19932.48 210.71175 0 3901.9118 3.4716031 + 900 20243.528 153.13972 0 3901.9411 3.6490762 + 950 20388.132 126.88722 0 3902.4671 -4.4518463 + 1000 20076.333 184.61915 0 3902.4586 -2.272315 + 1050 20859.506 39.696993 0 3902.5684 6.45166 + 1100 15284.661 1072.1908 0 3902.6836 21.194042 + 1150 19658.317 261.99809 0 3902.4272 -2.8744219 + 1200 20767.681 56.717095 0 3902.5839 -34.817444 + 1250 20625.583 82.586198 0 3902.1386 11.697328 + 1300 20690.013 71.006478 0 3902.4903 -29.29278 + 1350 20936.019 26.022786 0 3903.0634 1.0316025 + 1400 19753.56 244.81784 0 3902.8844 6.7138497 + 1450 15690.149 998.34213 0 3903.9252 48.124569 + 1500 20234.455 155.92516 0 3903.0465 13.172207 + 1550 20779.631 55.063019 0 3903.1428 -2.6390455 + 1600 20642.753 80.233821 0 3902.9659 -2.4688431 + 1650 18785.698 423.90364 0 3902.7365 -5.6466892 + 1700 20965.076 20.760451 0 3903.182 -0.45366172 + 1750 18935.412 396.95958 0 3903.5173 25.913174 + 1800 20581.554 91.757912 0 3903.1567 3.8218442 + 1850 20616.949 85.184789 0 3903.1382 4.1907933 + 1900 16601.896 828.43849 0 3902.8638 -0.49468175 + 1950 20175.564 166.52646 0 3902.7421 5.6035728 + 2000 20262.525 150.28224 0 3902.6017 -1.1967705 + 2050 20168.994 167.65314 0 3902.6521 -0.80723928 + 2100 19810.955 232.96524 0 3901.6605 3.1936531 + 2150 20667.232 75.645145 0 3902.9103 0.54812734 + 2200 19863.772 224.34646 0 3902.8228 7.9294465 + 2250 18808.943 419.2084 0 3902.3461 14.344526 + 2300 20573.665 92.761842 0 3902.6999 -6.7671703 + 2350 19075.104 369.95414 0 3902.3809 -9.5353568 + 2400 20273.873 148.53775 0 3902.9586 -1.93796 + 2450 20087.769 182.30216 0 3902.2593 2.131796 + 2500 20711.602 67.530554 0 3903.0124 2.6280244 + 2550 19971.224 204.75926 0 3903.134 3.1760522 + 2600 20620.084 85.027145 0 3903.5612 -0.92888063 + 2650 19737.546 248.65474 0 3903.7559 -3.3218688 + 2700 20650.724 79.522243 0 3903.7303 -7.5918025 + 2750 19863.245 225.2505 0 3903.6292 9.2140221 + 2800 18992.457 386.73547 0 3903.8572 2.6244537 + 2850 18703.899 440.48356 0 3904.1685 14.561348 + 2900 17939.805 581.74599 0 3903.932 -8.0863089 + 2950 20867.516 39.38186 0 3903.7367 3.0985423 + 3000 19767.994 242.8847 0 3903.6243 1.5943109 + 3050 20397.448 126.31591 0 3903.6212 -0.14982775 + 3100 20978.114 19.126395 0 3903.9623 -9.6797253 + 3150 18303.556 513.8514 0 3903.3989 4.5940322 + 3200 19156.505 356.46608 0 3903.9671 10.071308 + 3250 17484.205 666.52199 0 3904.3377 -4.1641768 + 3300 18069.94 557.75947 0 3904.0447 11.868707 + 3350 20855.645 41.964632 0 3904.1212 5.4186293 + 3400 18011.986 568.76255 0 3904.3155 25.262783 + 3450 18669.69 446.92755 0 3904.2776 -4.194499 + 3500 20248.799 154.22147 0 3903.9991 3.9211572 + 3550 20226.024 158.64726 0 3904.2072 1.5299114 + 3600 20267.02 151.25631 0 3904.4082 -8.9821729 + 3650 20522.946 103.65382 0 3904.1994 -14.433796 + 3700 20892.319 35.294614 0 3904.2426 -21.264596 + 3750 19942.202 211.02993 0 3904.0304 -1.6428817 + 3800 20421.678 122.08118 0 3903.8734 1.7137935 + 3850 17899.53 588.82593 0 3903.5536 -24.450276 + 3900 20721.119 66.486999 0 3903.7312 -7.1772088 + 3950 20946.484 24.799445 0 3903.778 -0.4028037 + 4000 20985.362 17.608355 0 3903.7865 4.7522266 + 4050 19969.779 205.46466 0 3903.5719 18.941639 + 4100 20479.578 110.56561 0 3903.08 2.3715952 + 4150 18110.701 549.53348 0 3903.367 1.133321 + 4200 19321.098 325.58216 0 3903.5634 -3.7574942 + 4250 20734.436 63.87616 0 3903.5865 0.48350623 + 4300 19446.823 302.1727 0 3903.4362 4.0462392 + 4350 20494.669 108.1918 0 3903.501 2.9789077 + 4400 20379.244 129.61413 0 3903.5482 4.0881089 + 4450 19710.564 253.4251 0 3903.5295 5.3334683 + 4500 20744.753 61.785082 0 3903.406 4.0015409 + 4550 19948.024 208.76984 0 3902.8484 2.705423 + 4600 18367.368 502.69569 0 3904.0602 21.476471 + 4650 20559.367 96.133242 0 3903.4234 2.2549454 + 4700 20940.135 25.547808 0 3903.3505 -8.9042666 + 4750 20128.703 175.82088 0 3903.3584 -8.1450176 + 4800 20632.27 82.543887 0 3903.3347 -0.55649542 + 4850 19864.539 224.63792 0 3903.2563 7.1553461 + 4900 19332.037 323.15561 0 3903.1625 17.020214 + 4950 19055.575 373.68069 0 3902.4908 10.149457 + 5000 20219.484 159.21383 0 3903.5627 3.1806346 + 5050 17557.761 652.32864 0 3903.7659 10.733736 + 5100 20615.337 85.795304 0 3903.4503 -3.6035636 + 5150 20759.853 59.155843 0 3903.573 2.0152286 + 5200 20082.007 184.39375 0 3903.2839 -5.3745109 + 5250 18689.521 442.59842 0 3903.6208 -9.8911164 + 5300 20038.496 192.34221 0 3903.1749 -2.1437039 + 5350 19897.455 218.70142 0 3903.4154 0.64582116 + 5400 18732.385 434.21543 0 3903.1755 12.98676 + 5450 19831.487 230.79099 0 3903.2886 11.439958 + 5500 20079.89 184.6953 0 3903.1935 4.0906279 + 5550 20453.497 115.47128 0 3903.1559 7.8844436 + 5600 16673.041 815.52661 0 3903.1267 -20.17797 + 5650 19691.378 256.6412 0 3903.1928 3.7103317 + 5700 20345.743 135.29997 0 3903.0302 5.6373816 + 5750 20769.613 56.906603 0 3903.1312 -17.564762 + 5800 20713.369 67.38314 0 3903.1922 -5.340631 + 5850 20799.947 51.348865 0 3903.1909 -2.7827653 + 5900 19581.933 273.51588 0 3899.7997 12.347375 + 5950 20444.438 116.909 0 3902.9161 -0.74896654 + 6000 18970.948 389.99664 0 3903.1352 26.642912 + 6050 19414.753 307.13217 0 3902.4568 25.86316 + 6100 20780.042 54.586474 0 3902.7424 1.5387425 + 6150 20885.872 35.091585 0 3902.8456 -8.251884 + 6200 19825.81 231.40943 0 3902.8558 6.7196589 + 6250 20578.278 92.255994 0 3903.0481 -5.9647091 + 6300 20093.43 181.8699 0 3902.8754 -9.9906069 + 6350 20605.294 87.180289 0 3902.9755 -3.5643876 + 6400 19737.257 247.84828 0 3902.8958 -4.2783347 + 6450 19884.717 220.81633 0 3903.1714 3.8758905 + 6500 18719.372 436.94802 0 3903.4984 1.7865904 + 6550 20096.883 181.63346 0 3903.2784 2.395512 + 6600 20888.673 35.003062 0 3903.2758 2.7728947 + 6650 20437.85 118.16373 0 3902.9507 8.1456757 + 6700 19241.051 339.73065 0 3902.8882 13.740454 + 6750 20407.542 123.94326 0 3903.1177 7.6285942 + 6800 20536.785 99.976706 0 3903.0851 8.3496632 + 6850 20625.328 83.579677 0 3903.0849 6.5074992 + 6900 20705.37 68.944625 0 3903.2724 3.1905177 + 6950 18872.424 408.67134 0 3903.5647 6.2638845 + 7000 20072.762 186.18051 0 3903.3586 -22.780407 + 7050 20461.879 114.07495 0 3903.3117 -11.495523 + 7100 19811.566 234.50237 0 3903.3108 1.1212695 + 7150 20742.918 61.884088 0 3903.1651 -3.7907508 + 7200 20911.192 30.599903 0 3903.0429 -7.0262304 + 7250 20879.755 36.30274 0 3902.9241 -5.8018787 + 7300 20682.32 72.703261 0 3902.7626 -3.3446789 + 7350 19401.046 309.70672 0 3902.493 3.4836528 + 7400 20220.542 157.83897 0 3902.3838 2.3400031 + 7450 17691.193 625.47764 0 3901.6244 25.239568 + 7500 19745.294 245.02566 0 3901.5615 5.3622843 + 7550 19685.719 256.70983 0 3902.2133 3.4560563 + 7600 18830.192 415.10021 0 3902.1727 -0.10282681 + 7650 19613.136 270.18979 0 3902.2521 8.2241536 + 7700 20989.015 15.636879 0 3902.4915 1.2955204 + 7750 20301.583 142.90625 0 3902.4586 0.12548373 + 7800 18360.147 502.50342 0 3902.5307 17.117272 + 7850 20796.478 51.032537 0 3902.2321 -3.0993883 + 7900 20284.267 145.64296 0 3901.9887 -1.2682383 + 7950 20280.983 146.13471 0 3901.8723 3.5999841 + 8000 20915.869 28.730821 0 3902.0399 2.4987291 + 8050 20745.162 60.19981 0 3901.8964 4.0643481 + 8100 20509.039 103.70462 0 3901.6748 1.0771863 + 8150 20212.97 158.64893 0 3901.7916 3.0000215 + 8200 20323.463 138.25912 0 3901.8634 -1.2802945 + 8250 19997.284 198.37183 0 3901.5727 -2.6431964 + 8300 20138.402 171.75824 0 3901.092 1.7669897 + 8350 20367.568 130.22531 0 3901.9972 -1.2153731 + 8400 19945.534 208.35675 0 3901.9741 1.6021151 + 8450 20112.534 177.18642 0 3901.7298 2.2413008 + 8500 20686.7 71.116816 0 3901.9873 2.2888545 + 8550 18081.94 553.83586 0 3902.3432 7.8257937 + 8600 18320.081 505.67086 0 3898.2784 16.554878 + 8650 20235.305 154.43021 0 3901.709 3.1740823 + 8700 20355.413 132.22512 0 3901.746 4.3436482 + 8750 20087.188 182.11349 0 3901.9631 10.422134 + 8800 20400.795 124.09819 0 3902.0232 2.1179177 + 8850 20678.731 72.825797 0 3902.2204 -3.4491441 + 8900 20372.643 129.5072 0 3902.2189 -8.2166415 + 8950 20851.731 40.899364 0 3902.331 -5.8382839 + 9000 20318.076 139.61775 0 3902.2243 -4.1960802 + 9050 16879.415 776.53739 0 3902.3549 -14.429475 + 9100 19135.149 358.68223 0 3902.2284 -15.50479 + 9150 20689.556 70.939656 0 3902.339 -2.9876179 + 9200 19949.801 207.54882 0 3901.9564 6.4259245 + 9250 20207.027 160.2813 0 3902.3233 1.7402195 + 9300 20030.005 192.99466 0 3902.2548 5.300728 + 9350 19795.291 236.24003 0 3902.0347 5.8677745 + 9400 18232.093 526.18752 0 3902.501 19.344893 + 9450 18789.641 422.30568 0 3901.8687 -7.5185247 + 9500 16332.599 874.10423 0 3898.6597 16.241378 + 9550 18572.572 462.19972 0 3901.5649 -10.777359 + 9600 19859.645 223.32209 0 3901.0341 0.89631957 + 9650 19092.741 365.35768 0 3901.0504 6.7830005 + 9700 18391.154 495.72792 0 3901.4972 6.0683847 + 9750 17790.092 608.60997 0 3903.0714 8.2090184 + 9800 17681.783 628.99951 0 3903.4038 14.231747 + 9850 17804.412 605.54067 0 3902.654 22.308453 + 9900 19134.472 359.37911 0 3902.7999 8.5633158 + 9950 20099.055 180.28604 0 3902.3332 4.7905855 + 10000 20035.447 192.30744 0 3902.5754 1.8299201 +Loop time of 2.34062 on 4 procs for 10000 steps with 81 atoms + +Performance: 36913.309 tau/day, 4272.374 timesteps/s +99.3% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0052865 | 0.014915 | 0.039366 | 11.6 | 0.64 +Neigh | 0.0080708 | 0.016504 | 0.03345 | 7.7 | 0.71 +Comm | 0.1357 | 0.14237 | 0.15111 | 1.5 | 6.08 +Output | 0.0033429 | 0.0037922 | 0.0050931 | 1.2 | 0.16 +Modify | 2.1033 | 2.1433 | 2.1609 | 1.6 | 91.57 +Other | | 0.01973 | | | 0.84 + +Nlocal: 20.25 ave 36 max 0 min +Histogram: 1 0 0 0 0 1 1 0 0 1 +Nghost: 35.25 ave 47 max 24 min +Histogram: 1 0 1 0 0 0 0 1 0 1 +Neighs: 137.5 ave 252 max 0 min +Histogram: 1 0 0 1 0 0 0 0 1 1 + +Total # of neighbors = 550 +Ave neighs/atom = 6.7901235 +Neighbor list builds = 994 +Dangerous builds = 956 +Total wall time: 0:00:02 diff --git a/examples/rigid/log.20Mar22.rigid.rigid.molecule.g++.1 b/examples/rigid/log.20Mar22.rigid.rigid.molecule.g++.1 new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/rigid/log.20Mar22.rigid.rigid.molecule.g++.4 b/examples/rigid/log.20Mar22.rigid.rigid.molecule.g++.4 new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/rigid/log.20Mar22.rigid.small.g++.1 b/examples/rigid/log.20Mar22.rigid.small.g++.1 new file mode 100644 index 0000000000..e34bdad80d --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.small.g++.1 @@ -0,0 +1,322 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style bond + +pair_style lj/cut 2.5 + +read_data data.rigid.small +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/small molecule + create bodies CPU = 0.000 seconds + 9 rigid bodies with 81 atoms + 1.2247449 = max distance from body owner to body atom + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + 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 = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 9.034 | 9.034 | 9.034 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722826e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.255443 0 5269.4841 11.963561 + 3300 16732.156 1.9585966 0 5269.4893 12.234024 + 3350 16738.655 -0.079693235 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.05932751 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.092031 + 3550 16713.405 7.8460623 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663192 0 5269.4882 12.027009 + 3700 16738.602 -0.070934371 0 5269.4889 12.025288 + 3750 16737.731 0.20706562 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253348 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690678 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646809 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307407 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532803 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.0003765242 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156153 0 5269.5203 12.011611 + 9600 16738.549 -0.026814361 0 5269.5163 12.011415 + 9650 16738.765 -0.1019152 0 5269.5092 12.011013 + 9700 16735.041 1.0589855 0 5269.4979 12.062708 + 9750 16738.013 0.13550223 0 5269.5101 11.407246 + 9800 16738.512 -0.01162033 0 5269.5201 11.394974 + 9850 16738.489 -0.000672705 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984511 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395077 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.097001 on 1 procs for 10000 steps with 81 atoms + +Performance: 890712.494 tau/day, 103091.724 timesteps/s +99.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0064264 | 0.0064264 | 0.0064264 | 0.0 | 6.63 +Bond | 0.0003385 | 0.0003385 | 0.0003385 | 0.0 | 0.35 +Neigh | 0.030894 | 0.030894 | 0.030894 | 0.0 | 31.85 +Comm | 0.0065732 | 0.0065732 | 0.0065732 | 0.0 | 6.78 +Output | 0.0021773 | 0.0021773 | 0.0021773 | 0.0 | 2.24 +Modify | 0.046477 | 0.046477 | 0.046477 | 0.0 | 47.91 +Other | | 0.004115 | | | 4.24 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.small.g++.4 b/examples/rigid/log.20Mar22.rigid.small.g++.4 new file mode 100644 index 0000000000..03bb7a39c0 --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.small.g++.4 @@ -0,0 +1,322 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style bond + +pair_style lj/cut 2.5 + +read_data data.rigid.small +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/small molecule + create bodies CPU = 0.000 seconds + 9 rigid bodies with 81 atoms + 1.2247449 = max distance from body owner to body atom + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + 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 = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 8.892 | 8.94 | 9.049 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.972281e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690665 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532812 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652435 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156165 0 5269.5203 12.011611 + 9600 16738.549 -0.02681437 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589893 0 5269.4979 12.062708 + 9750 16738.013 0.1355014 0 5269.5101 11.407246 + 9800 16738.512 -0.011620326 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270465 0 5269.5237 11.395099 + 9900 16738.489 -0.00024984533 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395077 + 10000 16738.49 0 0 5269.5246 11.395076 +Loop time of 0.115632 on 4 procs for 10000 steps with 81 atoms + +Performance: 747196.558 tau/day, 86481.083 timesteps/s +98.7% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0014528 | 0.0020376 | 0.0024938 | 0.9 | 1.76 +Bond | 0.00030255 | 0.00030731 | 0.00031718 | 0.0 | 0.27 +Neigh | 0.0089963 | 0.0094964 | 0.010494 | 0.6 | 8.21 +Comm | 0.035947 | 0.038848 | 0.040951 | 1.0 | 33.60 +Output | 0.0022924 | 0.002542 | 0.0032643 | 0.8 | 2.20 +Modify | 0.056743 | 0.058255 | 0.059447 | 0.4 | 50.38 +Other | | 0.004146 | | | 3.59 + +Nlocal: 20.25 ave 38 max 3 min +Histogram: 1 0 1 0 0 0 1 0 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 1 1 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.small.infile.g++.1 b/examples/rigid/log.20Mar22.rigid.small.infile.g++.1 new file mode 100644 index 0000000000..7c5f672309 --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.small.infile.g++.1 @@ -0,0 +1,323 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style bond + +pair_style lj/cut 2.5 + +read_data data.rigid.small +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/small molecule infile bodyinfo.dat + create bodies CPU = 0.000 seconds + 9 rigid bodies with 81 atoms + 1.2247449 = max distance from body owner to body atom + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + 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 = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Reading rigid body data for 4 bodies from file bodyinfo.dat +Per MPI rank memory allocation (min/avg/max) = 9.034 | 9.034 | 9.034 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722817e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.05932751 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934369 0 5269.4889 12.025288 + 3750 16737.731 0.20706559 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690668 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646805 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.0007653281 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652432 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156162 0 5269.5203 12.011611 + 9600 16738.549 -0.026814368 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589884 0 5269.4979 12.062708 + 9750 16738.013 0.13550153 0 5269.5101 11.407246 + 9800 16738.512 -0.011620327 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270481 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984532 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395077 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.0973982 on 1 procs for 10000 steps with 81 atoms + +Performance: 887079.894 tau/day, 102671.284 timesteps/s +99.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0065928 | 0.0065928 | 0.0065928 | 0.0 | 6.77 +Bond | 0.00033457 | 0.00033457 | 0.00033457 | 0.0 | 0.34 +Neigh | 0.031245 | 0.031245 | 0.031245 | 0.0 | 32.08 +Comm | 0.0065444 | 0.0065444 | 0.0065444 | 0.0 | 6.72 +Output | 0.0024004 | 0.0024004 | 0.0024004 | 0.0 | 2.46 +Modify | 0.045966 | 0.045966 | 0.045966 | 0.0 | 47.19 +Other | | 0.004315 | | | 4.43 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 0 ave 0 max 0 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.20Mar22.rigid.small.infile.g++.4 b/examples/rigid/log.20Mar22.rigid.small.infile.g++.4 new file mode 100644 index 0000000000..aad4e878dc --- /dev/null +++ b/examples/rigid/log.20Mar22.rigid.small.infile.g++.4 @@ -0,0 +1,323 @@ +LAMMPS (17 Feb 2022) +OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style bond + +pair_style lj/cut 2.5 + +read_data data.rigid.small +Reading data file ... + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 0 = max # of 1-2 neighbors + 0 = max # of 1-3 neighbors + 0 = max # of 1-4 neighbors + 1 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.001 seconds + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/small molecule infile bodyinfo.dat + create bodies CPU = 0.000 seconds + 9 rigid bodies with 81 atoms + 1.2247449 = max distance from body owner to body atom + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 + 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 = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 18 18 18 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d + bin: standard +Reading rigid body data for 4 bodies from file bodyinfo.dat +Per MPI rank memory allocation (min/avg/max) = 8.892 | 8.94 | 9.049 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722791e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585966 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.05932751 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460622 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663193 0 5269.4882 12.027009 + 3700 16738.602 -0.070934369 0 5269.4889 12.025288 + 3750 16737.731 0.20706559 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690669 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646806 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532809 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.0003765243 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156164 0 5269.5203 12.011611 + 9600 16738.549 -0.026814368 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589884 0 5269.4979 12.062708 + 9750 16738.013 0.13550185 0 5269.5101 11.407246 + 9800 16738.512 -0.011620326 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270434 0 5269.5237 11.395099 + 9900 16738.489 -0.00024984508 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395077 + 10000 16738.49 0 0 5269.5246 11.395076 +Loop time of 0.135757 on 4 procs for 10000 steps with 81 atoms + +Performance: 636433.251 tau/day, 73661.256 timesteps/s +98.4% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0020781 | 0.0024716 | 0.0032187 | 0.9 | 1.82 +Bond | 0.00029013 | 0.000332 | 0.00037076 | 0.0 | 0.24 +Neigh | 0.0087772 | 0.011705 | 0.014134 | 2.3 | 8.62 +Comm | 0.042702 | 0.045012 | 0.048023 | 1.1 | 33.16 +Output | 0.0027373 | 0.0030292 | 0.0036178 | 0.6 | 2.23 +Modify | 0.067437 | 0.068617 | 0.069634 | 0.3 | 50.54 +Other | | 0.004589 | | | 3.38 + +Nlocal: 20.25 ave 38 max 3 min +Histogram: 1 0 1 0 0 0 1 0 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 1 1 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Ave special neighs/atom = 0 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.atomfile.g++.1 b/examples/rigid/log.25Mar24.rigid.atomfile.g++.1 deleted file mode 100644 index 4f76779be7..0000000000 --- a/examples/rigid/log.25Mar24.rigid.atomfile.g++.1 +++ /dev/null @@ -1,341 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic -atom_modify map array - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -variable bodies atomfile bodies.txt -fix 1 all rigid custom v_bodies - 9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -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 = 18 18 18 - 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.483 | 4.483 | 4.483 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722875e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690665 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 - 8600 16738.474 -0.0007653281 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 - 9600 16738.549 -0.026814368 0 5269.5163 12.011415 - 9650 16738.765 -0.10191522 0 5269.5092 12.011013 - 9700 16735.041 1.0589881 0 5269.4979 12.062708 - 9750 16738.013 0.13550093 0 5269.5101 11.407245 - 9800 16738.512 -0.01162033 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270581 0 5269.5237 11.395098 - 9900 16738.489 -0.0002498458 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.119912 on 1 procs for 10000 steps with 81 atoms - -Performance: 720528.892 tau/day, 83394.548 timesteps/s, 6.755 Matom-step/s -98.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.007138 | 0.007138 | 0.007138 | 0.0 | 5.95 -Neigh | 0.04331 | 0.04331 | 0.04331 | 0.0 | 36.12 -Comm | 0.0080707 | 0.0080707 | 0.0080707 | 0.0 | 6.73 -Output | 0.001757 | 0.001757 | 0.001757 | 0.0 | 1.47 -Modify | 0.052965 | 0.052965 | 0.052965 | 0.0 | 44.17 -Other | | 0.006671 | | | 5.56 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 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 = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.atomfile.g++.4 b/examples/rigid/log.25Mar24.rigid.atomfile.g++.4 deleted file mode 100644 index 071a4de5d0..0000000000 --- a/examples/rigid/log.25Mar24.rigid.atomfile.g++.4 +++ /dev/null @@ -1,341 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic -atom_modify map array - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -variable bodies atomfile bodies.txt -fix 1 all rigid custom v_bodies - 9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -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 = 18 18 18 - 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.33 | 4.362 | 4.456 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722867e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652437 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156158 0 5269.5203 12.011611 - 9600 16738.549 -0.026814369 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589886 0 5269.4979 12.062708 - 9750 16738.013 0.13550089 0 5269.5101 11.407245 - 9800 16738.512 -0.011620329 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270567 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984578 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.135195 on 4 procs for 10000 steps with 81 atoms - -Performance: 639077.466 tau/day, 73967.299 timesteps/s, 5.991 Matom-step/s -97.5% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0016842 | 0.0023498 | 0.0027328 | 0.8 | 1.74 -Neigh | 0.012614 | 0.013371 | 0.014361 | 0.5 | 9.89 -Comm | 0.062345 | 0.06407 | 0.065902 | 0.6 | 47.39 -Output | 0.0018312 | 0.0019801 | 0.0024023 | 0.5 | 1.46 -Modify | 0.038532 | 0.039713 | 0.041474 | 0.6 | 29.37 -Other | | 0.01371 | | | 10.14 - -Nlocal: 20.25 ave 37 max 3 min -Histogram: 1 0 0 1 0 0 0 1 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 0 2 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.atomvar.g++.1 b/examples/rigid/log.25Mar24.rigid.atomvar.g++.1 deleted file mode 100644 index 7510d35ec1..0000000000 --- a/examples/rigid/log.25Mar24.rigid.atomvar.g++.1 +++ /dev/null @@ -1,341 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic -atom_modify map array - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -variable bodies atom 1.0*gmask(clump1)+2.0*gmask(clump2)+3.0*gmask(clump3)+4.0*gmask(clump4)+5.0*gmask(clump5)+6.0*gmask(clump6)+7.0*gmask(clump7)+8.0*gmask(clump8)+9.0*gmask(clump9) -fix 1 all rigid custom v_bodies - 9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -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 = 18 18 18 - 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.358 | 4.358 | 4.358 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722875e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690665 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 - 8600 16738.474 -0.0007653281 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 - 9600 16738.549 -0.026814368 0 5269.5163 12.011415 - 9650 16738.765 -0.10191522 0 5269.5092 12.011013 - 9700 16735.041 1.0589881 0 5269.4979 12.062708 - 9750 16738.013 0.13550093 0 5269.5101 11.407245 - 9800 16738.512 -0.01162033 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270581 0 5269.5237 11.395098 - 9900 16738.489 -0.0002498458 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.131374 on 1 procs for 10000 steps with 81 atoms - -Performance: 657662.971 tau/day, 76118.399 timesteps/s, 6.166 Matom-step/s -99.1% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0075531 | 0.0075531 | 0.0075531 | 0.0 | 5.75 -Neigh | 0.047177 | 0.047177 | 0.047177 | 0.0 | 35.91 -Comm | 0.0090961 | 0.0090961 | 0.0090961 | 0.0 | 6.92 -Output | 0.0018917 | 0.0018917 | 0.0018917 | 0.0 | 1.44 -Modify | 0.058064 | 0.058064 | 0.058064 | 0.0 | 44.20 -Other | | 0.007593 | | | 5.78 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 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 = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.atomvar.g++.4 b/examples/rigid/log.25Mar24.rigid.atomvar.g++.4 deleted file mode 100644 index b7adcacb14..0000000000 --- a/examples/rigid/log.25Mar24.rigid.atomvar.g++.4 +++ /dev/null @@ -1,341 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic -atom_modify map array - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -variable bodies atom 1.0*gmask(clump1)+2.0*gmask(clump2)+3.0*gmask(clump3)+4.0*gmask(clump4)+5.0*gmask(clump5)+6.0*gmask(clump6)+7.0*gmask(clump7)+8.0*gmask(clump8)+9.0*gmask(clump9) -fix 1 all rigid custom v_bodies - 9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -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 = 18 18 18 - 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.205 | 4.237 | 4.331 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722867e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652437 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156158 0 5269.5203 12.011611 - 9600 16738.549 -0.026814369 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589886 0 5269.4979 12.062708 - 9750 16738.013 0.13550089 0 5269.5101 11.407245 - 9800 16738.512 -0.011620329 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270567 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984578 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.135534 on 4 procs for 10000 steps with 81 atoms - -Performance: 637479.927 tau/day, 73782.399 timesteps/s, 5.976 Matom-step/s -98.7% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0016589 | 0.0022805 | 0.0027973 | 0.9 | 1.68 -Neigh | 0.012838 | 0.013347 | 0.014456 | 0.6 | 9.85 -Comm | 0.062667 | 0.064428 | 0.066142 | 0.6 | 47.54 -Output | 0.0018075 | 0.001966 | 0.0024125 | 0.6 | 1.45 -Modify | 0.038219 | 0.039639 | 0.041101 | 0.6 | 29.25 -Other | | 0.01387 | | | 10.24 - -Nlocal: 20.25 ave 37 max 3 min -Histogram: 1 0 0 1 0 0 0 1 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 0 2 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.early.g++.1 b/examples/rigid/log.25Mar24.rigid.early.g++.1 deleted file mode 100644 index 9f5d86312e..0000000000 --- a/examples/rigid/log.25Mar24.rigid.early.g++.1 +++ /dev/null @@ -1,340 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 - 9 rigid bodies with 81 atoms - -fix_modify 1 bodyforces early - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -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 = 18 18 18 - 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.353 | 4.353 | 4.353 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722875e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690665 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 - 8600 16738.474 -0.0007653281 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 - 9600 16738.549 -0.026814368 0 5269.5163 12.011415 - 9650 16738.765 -0.10191522 0 5269.5092 12.011013 - 9700 16735.041 1.0589881 0 5269.4979 12.062708 - 9750 16738.013 0.13550093 0 5269.5101 11.407245 - 9800 16738.512 -0.01162033 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270581 0 5269.5237 11.395098 - 9900 16738.489 -0.0002498458 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.127115 on 1 procs for 10000 steps with 81 atoms - -Performance: 679698.303 tau/day, 78668.785 timesteps/s, 6.372 Matom-step/s -99.2% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0074904 | 0.0074904 | 0.0074904 | 0.0 | 5.89 -Neigh | 0.044675 | 0.044675 | 0.044675 | 0.0 | 35.15 -Comm | 0.0079194 | 0.0079194 | 0.0079194 | 0.0 | 6.23 -Output | 0.0018129 | 0.0018129 | 0.0018129 | 0.0 | 1.43 -Modify | 0.057845 | 0.057845 | 0.057845 | 0.0 | 45.51 -Other | | 0.007372 | | | 5.80 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 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 = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.early.g++.4 b/examples/rigid/log.25Mar24.rigid.early.g++.4 deleted file mode 100644 index e0b182d9fc..0000000000 --- a/examples/rigid/log.25Mar24.rigid.early.g++.4 +++ /dev/null @@ -1,340 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 - 9 rigid bodies with 81 atoms - -fix_modify 1 bodyforces early - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -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 = 18 18 18 - 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.201 | 4.233 | 4.327 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722867e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652437 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156158 0 5269.5203 12.011611 - 9600 16738.549 -0.026814369 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589886 0 5269.4979 12.062708 - 9750 16738.013 0.13550089 0 5269.5101 11.407245 - 9800 16738.512 -0.011620329 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270567 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984578 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.133679 on 4 procs for 10000 steps with 81 atoms - -Performance: 646325.439 tau/day, 74806.185 timesteps/s, 6.059 Matom-step/s -98.8% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0016629 | 0.0023406 | 0.0028762 | 0.9 | 1.75 -Neigh | 0.012558 | 0.013331 | 0.015279 | 1.0 | 9.97 -Comm | 0.060677 | 0.062779 | 0.0646 | 0.7 | 46.96 -Output | 0.0017495 | 0.001914 | 0.0023526 | 0.6 | 1.43 -Modify | 0.037566 | 0.039361 | 0.040514 | 0.6 | 29.44 -Other | | 0.01395 | | | 10.44 - -Nlocal: 20.25 ave 37 max 3 min -Histogram: 1 0 0 1 0 0 0 1 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 0 2 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.g++.1 b/examples/rigid/log.25Mar24.rigid.g++.1 deleted file mode 100644 index 6b27146c6b..0000000000 --- a/examples/rigid/log.25Mar24.rigid.g++.1 +++ /dev/null @@ -1,338 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.002 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 - 9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -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 = 18 18 18 - 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.353 | 4.353 | 4.353 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722875e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690665 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 - 8600 16738.474 -0.0007653281 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 - 9600 16738.549 -0.026814368 0 5269.5163 12.011415 - 9650 16738.765 -0.10191522 0 5269.5092 12.011013 - 9700 16735.041 1.0589881 0 5269.4979 12.062708 - 9750 16738.013 0.13550093 0 5269.5101 11.407245 - 9800 16738.512 -0.01162033 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270581 0 5269.5237 11.395098 - 9900 16738.489 -0.0002498458 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.136528 on 1 procs for 10000 steps with 81 atoms - -Performance: 632835.120 tau/day, 73244.806 timesteps/s, 5.933 Matom-step/s -98.9% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0091674 | 0.0091674 | 0.0091674 | 0.0 | 6.71 -Neigh | 0.046854 | 0.046854 | 0.046854 | 0.0 | 34.32 -Comm | 0.0076933 | 0.0076933 | 0.0076933 | 0.0 | 5.63 -Output | 0.001779 | 0.001779 | 0.001779 | 0.0 | 1.30 -Modify | 0.063842 | 0.063842 | 0.063842 | 0.0 | 46.76 -Other | | 0.007193 | | | 5.27 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 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 = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.g++.4 b/examples/rigid/log.25Mar24.rigid.g++.4 deleted file mode 100644 index c2f691b7ec..0000000000 --- a/examples/rigid/log.25Mar24.rigid.g++.4 +++ /dev/null @@ -1,338 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 - 9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -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 = 18 18 18 - 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.201 | 4.233 | 4.327 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722867e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652437 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156158 0 5269.5203 12.011611 - 9600 16738.549 -0.026814369 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589886 0 5269.4979 12.062708 - 9750 16738.013 0.13550089 0 5269.5101 11.407245 - 9800 16738.512 -0.011620329 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270567 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984578 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.134503 on 4 procs for 10000 steps with 81 atoms - -Performance: 642365.322 tau/day, 74347.838 timesteps/s, 6.022 Matom-step/s -96.6% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0016076 | 0.0023247 | 0.002836 | 0.9 | 1.73 -Neigh | 0.012491 | 0.013229 | 0.0145 | 0.7 | 9.84 -Comm | 0.062105 | 0.063666 | 0.06514 | 0.5 | 47.33 -Output | 0.0017602 | 0.0019318 | 0.0024227 | 0.6 | 1.44 -Modify | 0.038132 | 0.039518 | 0.040852 | 0.5 | 29.38 -Other | | 0.01383 | | | 10.29 - -Nlocal: 20.25 ave 37 max 3 min -Histogram: 1 0 0 1 0 0 0 1 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 0 2 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.gravity.g++.1 b/examples/rigid/log.25Mar24.rigid.gravity.g++.1 deleted file mode 100644 index 87b814dfab..0000000000 --- a/examples/rigid/log.25Mar24.rigid.gravity.g++.1 +++ /dev/null @@ -1,228 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -#Pour composite granular particles on flat wall - -newton on -atom_style sphere -atom_modify map array sort 0 0 - -thermo_modify flush yes -units si - -variable minrad equal 0.5 -variable maxrad equal 1.4 - -variable skin equal 0.3*${maxrad} -variable skin equal 0.3*1.4 - -boundary p p f -region reg block 0 20 0 20 0 200 units box -create_box 1 reg -Created orthogonal box = (0 0 0) to (20 20 200) - 1 by 1 by 1 MPI processor grid - -fix prop all property/atom mol ghost yes - -variable dumpfreq equal 1000 -variable logfreq equal 1000 - -pair_style gran/hooke/history 4e5 NULL 1e2 NULL 0.5 0 -pair_coeff * * - -timestep 0.0001 - -group particles type 1 -0 atoms in group particles -atom_modify first particles - -neighbor ${skin} bin -neighbor 0.42 bin -group rigid type 1 -0 atoms in group rigid -neigh_modify every 1 delay 0 check yes exclude molecule/intra all - -thermo ${logfreq} -thermo 1000 -thermo_style custom step cpu atoms ke -WARNING: New thermo_style command, previous thermo_modify settings will be lost (src/output.cpp:904) -thermo_modify flush yes lost warn - -comm_modify vel yes cutoff 3 - -molecule mymol molecule.data -Read molecule template mymol: -LAMMPS data file created for rigid body molecule template - 1 molecules - 0 fragments - 5 atoms with max type 1 - 0 bonds with max type 0 - 0 angles with max type 0 - 0 dihedrals with max type 0 - 0 impropers with max type 0 -region pourreg block 5 15 5 15 80 100 side in units box - -#Note: in versions prior to 1/2020, the 'disable' keyword to fix/gravity -# and the 'gravity' keyword to fix rigid/small were not available. -# These settings produce undesirable behavior, where gravity can induce -# torque on rigid bodies. -#fix gravfix all gravity 9.8 vector 0 0 -1 #disable -#fix rigidfix all rigid/small molecule mol mymol #gravity gravfix - -#The correct behavior is recovered with the following settings: -fix gravfix all gravity 9.8 vector 0 0 -1 disable -fix rigidfix all rigid/small molecule mol mymol gravity gravfix - create bodies CPU = 0.000 seconds - 0 rigid bodies with 0 atoms - 1.2 = max distance from body owner to body atom - -fix pourfix all pour 5 0 1234 region pourreg mol mymol rigid rigidfix -Particle insertion: 15 every 20203 steps, 5 by step 1 - -fix zwall all wall/gran hooke/history 4000.0 NULL 100.0 NULL 0.5 0 zplane 0.1 NULL - -#dump 1 all custom 1000 molecule_pour.dump id type mass radius x y z fx fy fz - -run 100000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.62 - ghost atom cutoff = 3 - binsize = 0.81, bins = 25 25 247 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair gran/hooke/history, perpetual - attributes: half, newton on, size, history - pair build: half/size/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 6.893 | 6.893 | 6.893 Mbytes - Step CPU Atoms KinEng - 0 0 0 -0 - 1000 0.005385611 25 -0 - 2000 0.01106897 25 -0 - 3000 0.01569532 25 -0 - 4000 0.020782538 25 -0 - 5000 0.02656256 25 -0 - 6000 0.03132421 25 -0 - 7000 0.035996621 25 -0 - 8000 0.040816339 25 -0 - 9000 0.045911912 25 -0 - 10000 0.051486339 25 -0 - 11000 0.058049641 25 -0 - 12000 0.063206805 25 -0 - 13000 0.068374138 25 -0 - 14000 0.073423818 25 -0 - 15000 0.078890587 25 -0 - 16000 0.086372246 25 -0 - 17000 0.091912312 25 -0 - 18000 0.097317178 25 -0 - 19000 0.10284163 25 -0 - 20000 0.10836857 25 -0 - 21000 0.11476057 25 -0 - 22000 0.12201322 25 -0 - 23000 0.127963 25 -0 - 24000 0.13386968 25 -0 - 25000 0.1397396 25 -0 - 26000 0.14672759 25 -0 - 27000 0.15447534 25 -0 - 28000 0.16103509 25 -0 - 29000 0.16703686 25 -0 - 30000 0.17306375 25 -0 - 31000 0.18150464 25 -0 - 32000 0.1874536 25 -0 - 33000 0.19372953 25 -0 - 34000 0.19997087 25 -0 - 35000 0.20643521 25 -0 - 36000 0.21499446 25 -0 - 37000 0.22129475 25 -0 - 38000 0.2278159 25 -0 - 39000 0.23262556 25 -0 - 40000 0.23679 25 -0 - 41000 0.2428383 25 -0 - 42000 0.24757287 25 -0 - 43000 0.25190701 25 -0 - 44000 0.25617771 25 -0 - 45000 0.26057242 25 -0 - 46000 0.26469065 25 -0 - 47000 0.26921214 25 -0 - 48000 0.27502337 25 -0 - 49000 0.27911905 25 -0 - 50000 0.28338379 25 -0 - 51000 0.28736617 25 -0 - 52000 0.29127304 25 -0 - 53000 0.29504445 25 -0 - 54000 0.29898933 25 -0 - 55000 0.30479176 25 -0 - 56000 0.30893347 25 -0 - 57000 0.31277358 25 -0 - 58000 0.31658797 25 -0 - 59000 0.32024112 25 -0 - 60000 0.32373109 25 -0 - 61000 0.32753442 25 -0 - 62000 0.33123815 25 -0 - 63000 0.33643285 25 -0 - 64000 0.34036569 25 -0 - 65000 0.34399532 25 -0 - 66000 0.3475875 25 -0 - 67000 0.35124833 25 -0 - 68000 0.35503825 25 -0 - 69000 0.35870471 25 -0 - 70000 0.3624294 25 -0 - 71000 0.36714884 25 -0 - 72000 0.37082887 25 -0 - 73000 0.37459885 25 -0 - 74000 0.37835449 25 -0 - 75000 0.38245549 25 -0 - 76000 0.38681838 25 -0 - 77000 0.39069919 25 -0 - 78000 0.39460729 25 -0 - 79000 0.39908672 25 -0 - 80000 0.40266481 25 -0 - 81000 0.40645032 25 -0 - 82000 0.41005038 25 -0 - 83000 0.41355864 25 -0 - 84000 0.41741638 25 -0 - 85000 0.42182475 25 -0 - 86000 0.42614449 25 -0 - 87000 0.43024819 25 -0 - 88000 0.43389722 25 -0 - 89000 0.4372946 25 -0 - 90000 0.44097963 25 -0 - 91000 0.44451596 25 -0 - 92000 0.44800886 25 -0 - 93000 0.45171482 25 -0 - 94000 0.45568312 25 -0 - 95000 0.46068385 25 -0 - 96000 0.46423783 25 -0 - 97000 0.46783791 25 -0 - 98000 0.47132532 25 -0 - 99000 0.47462675 25 -0 - 100000 0.47811781 25 -0 -Loop time of 0.478128 on 1 procs for 100000 steps with 25 atoms - -99.3% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.016638 | 0.016638 | 0.016638 | 0.0 | 3.48 -Neigh | 0.12338 | 0.12338 | 0.12338 | 0.0 | 25.81 -Comm | 0.026212 | 0.026212 | 0.026212 | 0.0 | 5.48 -Output | 0.0015672 | 0.0015672 | 0.0015672 | 0.0 | 0.33 -Modify | 0.28303 | 0.28303 | 0.28303 | 0.0 | 59.20 -Other | | 0.0273 | | | 5.71 - -Nlocal: 25 ave 25 max 25 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1 ave 1 max 1 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 = 703 -Dangerous builds = 0 - -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.gravity.g++.4 b/examples/rigid/log.25Mar24.rigid.gravity.g++.4 deleted file mode 100644 index ddf76fb4d6..0000000000 --- a/examples/rigid/log.25Mar24.rigid.gravity.g++.4 +++ /dev/null @@ -1,228 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -#Pour composite granular particles on flat wall - -newton on -atom_style sphere -atom_modify map array sort 0 0 - -thermo_modify flush yes -units si - -variable minrad equal 0.5 -variable maxrad equal 1.4 - -variable skin equal 0.3*${maxrad} -variable skin equal 0.3*1.4 - -boundary p p f -region reg block 0 20 0 20 0 200 units box -create_box 1 reg -Created orthogonal box = (0 0 0) to (20 20 200) - 1 by 1 by 4 MPI processor grid - -fix prop all property/atom mol ghost yes - -variable dumpfreq equal 1000 -variable logfreq equal 1000 - -pair_style gran/hooke/history 4e5 NULL 1e2 NULL 0.5 0 -pair_coeff * * - -timestep 0.0001 - -group particles type 1 -0 atoms in group particles -atom_modify first particles - -neighbor ${skin} bin -neighbor 0.42 bin -group rigid type 1 -0 atoms in group rigid -neigh_modify every 1 delay 0 check yes exclude molecule/intra all - -thermo ${logfreq} -thermo 1000 -thermo_style custom step cpu atoms ke -WARNING: New thermo_style command, previous thermo_modify settings will be lost (src/output.cpp:904) -thermo_modify flush yes lost warn - -comm_modify vel yes cutoff 3 - -molecule mymol molecule.data -Read molecule template mymol: -LAMMPS data file created for rigid body molecule template - 1 molecules - 0 fragments - 5 atoms with max type 1 - 0 bonds with max type 0 - 0 angles with max type 0 - 0 dihedrals with max type 0 - 0 impropers with max type 0 -region pourreg block 5 15 5 15 80 100 side in units box - -#Note: in versions prior to 1/2020, the 'disable' keyword to fix/gravity -# and the 'gravity' keyword to fix rigid/small were not available. -# These settings produce undesirable behavior, where gravity can induce -# torque on rigid bodies. -#fix gravfix all gravity 9.8 vector 0 0 -1 #disable -#fix rigidfix all rigid/small molecule mol mymol #gravity gravfix - -#The correct behavior is recovered with the following settings: -fix gravfix all gravity 9.8 vector 0 0 -1 disable -fix rigidfix all rigid/small molecule mol mymol gravity gravfix - create bodies CPU = 0.000 seconds - 0 rigid bodies with 0 atoms - 1.2 = max distance from body owner to body atom - -fix pourfix all pour 5 0 1234 region pourreg mol mymol rigid rigidfix -Particle insertion: 15 every 20203 steps, 5 by step 1 - -fix zwall all wall/gran hooke/history 4000.0 NULL 100.0 NULL 0.5 0 zplane 0.1 NULL - -#dump 1 all custom 1000 molecule_pour.dump id type mass radius x y z fx fy fz - -run 100000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.62 - ghost atom cutoff = 3 - binsize = 0.81, bins = 25 25 247 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair gran/hooke/history, perpetual - attributes: half, newton on, size, history - pair build: half/size/bin/atomonly/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 6.09 | 6.09 | 6.09 Mbytes - Step CPU Atoms KinEng - 0 0 0 -0 - 1000 0.007155423 25 -0 - 2000 0.013621411 25 -0 - 3000 0.018069993 25 -0 - 4000 0.022375597 25 -0 - 5000 0.027610001 25 -0 - 6000 0.032700728 25 -0 - 7000 0.036781214 25 -0 - 8000 0.041026343 25 -0 - 9000 0.045133974 25 -0 - 10000 0.049302504 25 -0 - 11000 0.053475155 25 -0 - 12000 0.058101552 25 -0 - 13000 0.063617332 25 -0 - 14000 0.070220865 25 -0 - 15000 0.079467476 25 -0 - 16000 0.085128592 25 -0 - 17000 0.088670803 25 -0 - 18000 0.093576466 25 -0 - 19000 0.096967506 25 -0 - 20000 0.10032704 25 -0 - 21000 0.1037381 25 -0 - 22000 0.10714647 25 -0 - 23000 0.11062389 25 -0 - 24000 0.11408744 25 -0 - 25000 0.12017243 25 -0 - 26000 0.12858759 25 -0 - 27000 0.13356253 25 -0 - 28000 0.13819667 25 -0 - 29000 0.14299332 25 -0 - 30000 0.14766723 25 -0 - 31000 0.15258071 25 -0 - 32000 0.15836989 25 -0 - 33000 0.16306841 25 -0 - 34000 0.16769723 25 -0 - 35000 0.172317 25 -0 - 36000 0.17698336 25 -0 - 37000 0.18173594 25 -0 - 38000 0.1879449 25 -0 - 39000 0.19236501 25 -0 - 40000 0.1964458 25 -0 - 41000 0.20045733 25 -0 - 42000 0.20454794 25 -0 - 43000 0.20872097 25 -0 - 44000 0.21291348 25 -0 - 45000 0.21780319 25 -0 - 46000 0.22260816 25 -0 - 47000 0.22686931 25 -0 - 48000 0.23117793 25 -0 - 49000 0.23535185 25 -0 - 50000 0.24054306 25 -0 - 51000 0.24463963 25 -0 - 52000 0.24938311 25 -0 - 53000 0.25348209 25 -0 - 54000 0.25745703 25 -0 - 55000 0.26145377 25 -0 - 56000 0.26534485 25 -0 - 57000 0.26928518 25 -0 - 58000 0.27321574 25 -0 - 59000 0.27791991 25 -0 - 60000 0.28284558 25 -0 - 61000 0.28673327 25 -0 - 62000 0.29055931 25 -0 - 63000 0.2945131 25 -0 - 64000 0.29846467 25 -0 - 65000 0.30238139 25 -0 - 66000 0.3062491 25 -0 - 67000 0.31026454 25 -0 - 68000 0.31498685 25 -0 - 69000 0.31887771 25 -0 - 70000 0.32278066 25 -0 - 71000 0.32658541 25 -0 - 72000 0.33047871 25 -0 - 73000 0.33441507 25 -0 - 74000 0.33830186 25 -0 - 75000 0.34298503 25 -0 - 76000 0.3470502 25 -0 - 77000 0.35093166 25 -0 - 78000 0.35472767 25 -0 - 79000 0.35858626 25 -0 - 80000 0.36236101 25 -0 - 81000 0.36621078 25 -0 - 82000 0.36998141 25 -0 - 83000 0.37417451 25 -0 - 84000 0.37850331 25 -0 - 85000 0.38230344 25 -0 - 86000 0.38621429 25 -0 - 87000 0.38998154 25 -0 - 88000 0.39378687 25 -0 - 89000 0.397529 25 -0 - 90000 0.40133202 25 -0 - 91000 0.40575097 25 -0 - 92000 0.41012392 25 -0 - 93000 0.41397633 25 -0 - 94000 0.41791732 25 -0 - 95000 0.42174915 25 -0 - 96000 0.42570384 25 -0 - 97000 0.4295687 25 -0 - 98000 0.43339555 25 -0 - 99000 0.43810319 25 -0 - 100000 0.44205356 25 -0 -Loop time of 0.442071 on 4 procs for 100000 steps with 25 atoms - -99.1% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0043596 | 0.0077919 | 0.015026 | 4.9 | 1.76 -Neigh | 0.03639 | 0.037869 | 0.038842 | 0.5 | 8.57 -Comm | 0.029189 | 0.034805 | 0.038937 | 2.3 | 7.87 -Output | 0.00094691 | 0.0012173 | 0.0019545 | 1.2 | 0.28 -Modify | 0.031085 | 0.10076 | 0.24754 | 27.5 | 22.79 -Other | | 0.2596 | | | 58.73 - -Nlocal: 6.25 ave 25 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 1 -Nghost: 0.25 ave 1 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 703 -Dangerous builds = 0 - -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.infile.g++.1 b/examples/rigid/log.25Mar24.rigid.infile.g++.1 deleted file mode 100644 index a8d6f550aa..0000000000 --- a/examples/rigid/log.25Mar24.rigid.infile.g++.1 +++ /dev/null @@ -1,310 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 infile bodyinfo.dat - 9 rigid bodies with 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Reading rigid body data for 4 bodies from file bodyinfo.dat -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 = 18 18 18 - 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.353 | 4.353 | 4.353 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722859e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.05932751 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663193 0 5269.4882 12.027009 - 3700 16738.602 -0.070934369 0 5269.4889 12.025288 - 3750 16737.731 0.20706559 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253348 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690669 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646805 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532807 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.0003765243 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156155 0 5269.5203 12.011611 - 9600 16738.549 -0.026814365 0 5269.5163 12.011415 - 9650 16738.765 -0.10191521 0 5269.5092 12.011013 - 9700 16735.041 1.0589871 0 5269.4979 12.062708 - 9750 16738.013 0.13550136 0 5269.5101 11.407245 - 9800 16738.512 -0.01162033 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270559 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984558 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.134486 on 1 procs for 10000 steps with 81 atoms - -Performance: 642445.705 tau/day, 74357.142 timesteps/s, 6.023 Matom-step/s -99.0% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0076798 | 0.0076798 | 0.0076798 | 0.0 | 5.71 -Neigh | 0.048776 | 0.048776 | 0.048776 | 0.0 | 36.27 -Comm | 0.0085249 | 0.0085249 | 0.0085249 | 0.0 | 6.34 -Output | 0.0021846 | 0.0021846 | 0.0021846 | 0.0 | 1.62 -Modify | 0.059372 | 0.059372 | 0.059372 | 0.0 | 44.15 -Other | | 0.007949 | | | 5.91 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 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 = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.infile.g++.4 b/examples/rigid/log.25Mar24.rigid.infile.g++.4 deleted file mode 100644 index 0e4f37b698..0000000000 --- a/examples/rigid/log.25Mar24.rigid.infile.g++.4 +++ /dev/null @@ -1,310 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 infile bodyinfo.dat - 9 rigid bodies with 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -Reading rigid body data for 4 bodies from file bodyinfo.dat -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 = 18 18 18 - 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.201 | 4.233 | 4.327 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722861e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706559 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253348 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690667 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532809 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652433 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 - 9600 16738.549 -0.026814367 0 5269.5163 12.011415 - 9650 16738.765 -0.10191522 0 5269.5092 12.011013 - 9700 16735.041 1.0589878 0 5269.4979 12.062708 - 9750 16738.013 0.13550114 0 5269.5101 11.407245 - 9800 16738.512 -0.01162033 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270564 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984568 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.135118 on 4 procs for 10000 steps with 81 atoms - -Performance: 639441.862 tau/day, 74009.475 timesteps/s, 5.995 Matom-step/s -97.2% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0015919 | 0.0022753 | 0.0028384 | 0.9 | 1.68 -Neigh | 0.012494 | 0.013468 | 0.015484 | 1.0 | 9.97 -Comm | 0.061357 | 0.0636 | 0.06555 | 0.7 | 47.07 -Output | 0.0017441 | 0.0018894 | 0.0023095 | 0.6 | 1.40 -Modify | 0.037856 | 0.039816 | 0.041217 | 0.6 | 29.47 -Other | | 0.01407 | | | 10.41 - -Nlocal: 20.25 ave 37 max 3 min -Histogram: 1 0 0 1 0 0 0 1 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 0 2 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.molecule.g++.1 b/examples/rigid/log.25Mar24.rigid.molecule.g++.1 deleted file mode 100644 index 75d05c3d07..0000000000 --- a/examples/rigid/log.25Mar24.rigid.molecule.g++.1 +++ /dev/null @@ -1,319 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style bond - -pair_style lj/cut 2.5 - -read_data data.rigid.small -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid molecule - 9 rigid bodies with 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -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 = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.233 | 5.233 | 5.233 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722875e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690665 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 - 8600 16738.474 -0.0007653281 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 - 9600 16738.549 -0.026814368 0 5269.5163 12.011415 - 9650 16738.765 -0.10191522 0 5269.5092 12.011013 - 9700 16735.041 1.0589881 0 5269.4979 12.062708 - 9750 16738.013 0.13550093 0 5269.5101 11.407245 - 9800 16738.512 -0.01162033 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270581 0 5269.5237 11.395098 - 9900 16738.489 -0.0002498458 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.130618 on 1 procs for 10000 steps with 81 atoms - -Performance: 661470.393 tau/day, 76559.073 timesteps/s, 6.201 Matom-step/s -99.2% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0069622 | 0.0069622 | 0.0069622 | 0.0 | 5.33 -Bond | 0.00033246 | 0.00033246 | 0.00033246 | 0.0 | 0.25 -Neigh | 0.053402 | 0.053402 | 0.053402 | 0.0 | 40.88 -Comm | 0.008192 | 0.008192 | 0.008192 | 0.0 | 6.27 -Output | 0.0015884 | 0.0015884 | 0.0015884 | 0.0 | 1.22 -Modify | 0.053219 | 0.053219 | 0.053219 | 0.0 | 40.74 -Other | | 0.006922 | | | 5.30 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.molecule.g++.4 b/examples/rigid/log.25Mar24.rigid.molecule.g++.4 deleted file mode 100644 index 6cbb88d471..0000000000 --- a/examples/rigid/log.25Mar24.rigid.molecule.g++.4 +++ /dev/null @@ -1,319 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style bond - -pair_style lj/cut 2.5 - -read_data data.rigid.small -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid molecule - 9 rigid bodies with 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -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 = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.08 | 5.112 | 5.206 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722867e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652437 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156158 0 5269.5203 12.011611 - 9600 16738.549 -0.026814369 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589886 0 5269.4979 12.062708 - 9750 16738.013 0.13550089 0 5269.5101 11.407245 - 9800 16738.512 -0.011620329 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270567 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984578 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.139893 on 4 procs for 10000 steps with 81 atoms - -Performance: 617616.025 tau/day, 71483.336 timesteps/s, 5.790 Matom-step/s -98.9% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0015795 | 0.0022375 | 0.0027109 | 0.9 | 1.60 -Bond | 0.00031772 | 0.00032314 | 0.00032894 | 0.0 | 0.23 -Neigh | 0.015169 | 0.016101 | 0.017803 | 0.8 | 11.51 -Comm | 0.063065 | 0.06514 | 0.06737 | 0.7 | 46.56 -Output | 0.001945 | 0.0020985 | 0.0025044 | 0.5 | 1.50 -Modify | 0.03865 | 0.039853 | 0.041246 | 0.6 | 28.49 -Other | | 0.01414 | | | 10.11 - -Nlocal: 20.25 ave 37 max 3 min -Histogram: 1 0 0 1 0 0 0 1 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 0 2 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.nve.early.g++.1 b/examples/rigid/log.25Mar24.rigid.nve.early.g++.1 deleted file mode 100644 index d9fbe7ee28..0000000000 --- a/examples/rigid/log.25Mar24.rigid.nve.early.g++.1 +++ /dev/null @@ -1,340 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 - 9 rigid bodies with 81 atoms - -fix_modify 1 bodyforces early - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -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 = 18 18 18 - 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.353 | 4.353 | 4.353 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.688 571.72044 0 5265.826 32.006558 - 100 16298.426 136.669 0 5267.6551 16.445373 - 150 16682.627 17.489692 0 5269.4277 14.900277 - 200 16733.935 1.3740602 0 5269.4647 14.569704 - 250 16738.854 -0.15258528 0 5269.4868 14.496759 - 300 16738.584 -0.055187603 0 5269.4992 14.496371 - 350 16738.492 -0.017449036 0 5269.5078 14.496801 - 400 16738.472 -0.006012316 0 5269.513 14.496991 - 450 16738.469 -0.0012715314 0 5269.5169 14.497085 - 500 16738.471 -0.00081065611 0 5269.5177 14.497095 - 550 16738.47 -0.00083201064 0 5269.5175 14.497091 - 600 16738.469 -0.00058353965 0 5269.5174 14.497091 - 650 16738.467 -0.0004722653 0 5269.5169 14.497088 - 700 16738.462 0 0 5269.5158 14.497085 - 750 16738.454 0 0 5269.5134 14.497066 - 800 16738.449 0 0 5269.5116 14.497052 - 850 16738.451 0 0 5269.5123 14.497057 - 900 16738.46 0 0 5269.5151 14.497079 - 950 16738.475 -0.0035324469 0 5269.5163 14.497056 - 1000 16738.603 -0.05113463 0 5269.509 14.496621 - 1050 16737.376 0.32970882 0 5269.5037 14.526144 - 1100 16737.909 0.16215423 0 5269.5038 14.53237 - 1150 16738.719 -0.089236594 0 5269.5074 14.510282 - 1200 16738.477 -0.0075446521 0 5269.513 14.51099 - 1250 16738.458 0 0 5269.5146 14.511061 - 1300 16738.448 0 0 5269.5114 14.511036 - 1350 16738.444 0 0 5269.5102 14.511026 - 1400 16738.449 -0.00044714105 0 5269.5113 14.511031 - 1450 16738.458 -0.0010956657 0 5269.5136 14.511043 - 1500 16738.464 -0.00057735083 0 5269.516 14.511066 - 1550 16738.467 0 0 5269.5173 14.511083 - 1600 16738.469 0 0 5269.5179 14.511087 - 1650 16738.47 0 0 5269.5183 14.511091 - 1700 16738.469 0 0 5269.5181 14.511089 - 1750 16738.464 0 0 5269.5164 14.511076 - 1800 16738.455 0 0 5269.5137 14.511055 - 1850 16738.45 0 0 5269.5121 14.511042 - 1900 16738.453 0 0 5269.513 14.511049 - 1950 16738.468 -0.0031854173 0 5269.5144 14.51102 - 2000 16738.501 -0.01331726 0 5269.5148 14.510906 - 2050 16738.568 -0.036719673 0 5269.5126 14.510668 - 2100 16738.646 -0.063312431 0 5269.5103 14.510597 - 2150 16738.619 -0.05606591 0 5269.5091 14.510608 - 2200 16738.566 -0.038448437 0 5269.5101 14.510779 - 2250 16738.52 -0.023712465 0 5269.5103 14.510906 - 2300 16738.485 -0.01323561 0 5269.5099 14.510971 - 2350 16738.457 -0.0045452995 0 5269.5097 14.511049 - 2400 16738.449 -0.00052013007 0 5269.5113 14.511107 - 2450 16738.461 -0.002321933 0 5269.5132 14.511099 - 2500 16738.474 -0.0051804641 0 5269.5145 14.511103 - 2550 16738.592 -0.04492566 0 5269.5117 14.510696 - 2600 16738.45 -0.0038193536 0 5269.5082 14.510939 - 2650 16733.621 1.5177478 0 5269.5097 14.586333 - 2700 16738.772 -0.1064304 0 5269.5069 14.500913 - 2750 16733.165 1.6598389 0 5269.5082 14.616957 - 2800 16738.577 -0.04523598 0 5269.5068 14.51458 - 2850 16738.475 -0.01269037 0 5269.5073 14.513396 - 2900 16738.449 -0.002688737 0 5269.5089 14.513555 - 2950 16738.465 -0.0082345477 0 5269.5084 14.513515 - 3000 16738.657 -0.071197475 0 5269.5061 14.513024 - 3050 16706.71 9.9435728 0 5269.4634 15.021496 - 3100 16643.257 29.968327 0 5269.5123 14.548247 - 3150 16739.45 -0.33134743 0 5269.4956 13.595814 - 3200 16731.445 2.1723572 0 5269.4792 12.100834 - 3250 16612.686 39.57457 0 5269.4942 13.879807 - 3300 16738.601 -0.059713795 0 5269.4997 12.666612 - 3350 16738.587 -0.044640809 0 5269.5106 12.663574 - 3400 16737.995 0.14468663 0 5269.5136 12.680161 - 3450 16738.607 -0.050706049 0 5269.5107 12.665118 - 3500 16738.819 -0.12122411 0 5269.5069 12.665394 - 3550 16738.498 -0.021940182 0 5269.5052 12.676141 - 3600 16673.205 20.482364 0 5269.4544 13.525704 - 3650 16738.648 -0.074052044 0 5269.5003 12.817014 - 3700 16738.632 -0.07184695 0 5269.4975 12.810978 - 3750 16738.621 -0.07013081 0 5269.4958 12.811663 - 3800 16738.552 -0.044378799 0 5269.4998 12.811871 - 3850 16738.492 -0.015384402 0 5269.5099 12.811397 - 3900 16738.487 -0.0058199162 0 5269.518 12.811514 - 3950 16738.482 -0.0012032457 0 5269.521 12.811589 - 4000 16738.478 -0.00020707654 0 5269.5208 12.811606 - 4050 16738.477 0 0 5269.5207 12.811608 - 4100 16738.477 0 0 5269.5206 12.811607 - 4150 16738.475 0 0 5269.5199 12.811602 - 4200 16738.464 0 0 5269.5165 12.811576 - 4250 16738.446 0 0 5269.5109 12.811532 - 4300 16738.44 0 0 5269.5089 12.811516 - 4350 16738.454 0 0 5269.5131 12.811549 - 4400 16738.468 0 0 5269.5177 12.811585 - 4450 16738.47 0 0 5269.5184 12.811591 - 4500 16738.466 0 0 5269.517 12.811579 - 4550 16738.463 0 0 5269.5162 12.811573 - 4600 16738.466 0 0 5269.517 12.81158 - 4650 16738.471 0 0 5269.5186 12.811592 - 4700 16738.47 0 0 5269.5182 12.811589 - 4750 16738.456 0 0 5269.5139 12.811556 - 4800 16738.441 0 0 5269.5091 12.811518 - 4850 16738.444 0 0 5269.5102 12.811526 - 4900 16738.462 0 0 5269.5159 12.81157 - 4950 16738.475 0 0 5269.5201 12.811603 - 5000 16738.479 0 0 5269.5212 12.811612 - 5050 16738.479 0 0 5269.5212 12.811612 - 5100 16738.479 0 0 5269.5212 12.811612 - 5150 16738.478 0 0 5269.5209 12.81161 - 5200 16738.472 0 0 5269.519 12.811595 - 5250 16738.456 0 0 5269.5138 12.811555 - 5300 16738.432 0 0 5269.5064 12.811497 - 5350 16738.422 0 0 5269.5033 12.811472 - 5400 16738.438 0 0 5269.5082 12.81151 - 5450 16738.46 0 0 5269.515 12.811564 - 5500 16738.471 -0.0002100851 0 5269.5183 12.811588 - 5550 16738.481 -0.003484166 0 5269.5185 12.811534 - 5600 16738.542 -0.024500002 0 5269.5164 12.81122 - 5650 16738.641 -0.058023282 0 5269.5142 12.812225 - 5700 16384.935 111.24508 0 5269.4653 26.09278 - 5750 16738.555 -0.030778873 0 5269.5142 13.052328 - 5800 16738.462 -0.0034050629 0 5269.5125 13.052653 - 5850 16738.441 -0.00034406845 0 5269.5089 13.052656 - 5900 16738.443 0 0 5269.5098 13.052667 - 5950 16738.459 0 0 5269.5149 13.052707 - 6000 16738.468 0 0 5269.5177 13.052729 - 6050 16738.466 0 0 5269.5172 13.052725 - 6100 16738.462 0 0 5269.516 13.052715 - 6150 16738.463 0 0 5269.5162 13.052717 - 6200 16738.468 0 0 5269.5178 13.052729 - 6250 16738.472 0 0 5269.5189 13.052738 - 6300 16738.465 0 0 5269.5169 13.052723 - 6350 16738.448 0 0 5269.5115 13.052681 - 6400 16738.439 0 0 5269.5086 13.052658 - 6450 16738.451 0 0 5269.5124 13.052687 - 6500 16738.469 0 0 5269.5181 13.052732 - 6550 16738.478 0 0 5269.5209 13.052754 - 6600 16738.48 0 0 5269.5214 13.052758 - 6650 16738.479 0 0 5269.5213 13.052757 - 6700 16738.48 -0.00057913194 0 5269.521 13.052744 - 6750 16738.483 -0.0025329373 0 5269.5198 13.0527 - 6800 16738.482 -0.0065110045 0 5269.5156 13.052612 - 6850 16738.465 -0.0072245165 0 5269.5095 13.052574 - 6900 16738.436 -0.0036561206 0 5269.5039 13.052609 - 6950 16738.433 -0.0010530752 0 5269.5056 13.052661 - 7000 16738.455 -0.00056878712 0 5269.5132 13.052723 - 7050 16738.475 -0.0011717775 0 5269.5187 13.052755 - 7100 16738.48 -0.00047531448 0 5269.5209 13.052781 - 7150 16738.479 0 0 5269.5211 13.052788 - 7200 16738.478 0 0 5269.5207 13.052785 - 7250 16738.477 0 0 5269.5207 13.052785 - 7300 16738.476 0 0 5269.5201 13.052781 - 7350 16738.466 0 0 5269.5172 13.052758 - 7400 16738.448 0 0 5269.5115 13.052714 - 7450 16738.438 0 0 5269.5083 13.052688 - 7500 16738.448 0 0 5269.5115 13.052713 - 7550 16738.464 -0.00053504438 0 5269.5158 13.052742 - 7600 16738.483 -0.010043243 0 5269.5123 13.052657 - 7650 16738.674 -0.077543712 0 5269.5051 13.052041 - 7700 16736.839 0.49724664 0 5269.502 13.085872 - 7750 16731.931 2.0427463 0 5269.5024 13.190769 - 7800 16738.762 -0.10404434 0 5269.5061 13.082626 - 7850 16738.525 -0.024994384 0 5269.5108 13.082681 - 7900 16738.479 -0.008372534 0 5269.5129 13.082885 - 7950 16738.449 -0.0038549468 0 5269.5079 13.082917 - 8000 16738.441 -0.0016367618 0 5269.5074 13.082937 - 8050 16738.455 -0.0014865651 0 5269.5123 13.082971 - 8100 16738.47 -0.00072796093 0 5269.5175 13.083021 - 8150 16738.476 0 0 5269.5202 13.08305 - 8200 16738.477 0 0 5269.5204 13.083051 - 8250 16738.476 0 0 5269.5201 13.083049 - 8300 16738.474 0 0 5269.5197 13.083046 - 8350 16738.47 0 0 5269.5185 13.083036 - 8400 16738.462 -0.0017116105 0 5269.5142 13.082984 - 8450 16738.447 -0.003289664 0 5269.5078 13.082915 - 8500 16738.429 -0.00098100125 0 5269.5043 13.082918 - 8550 16738.435 0 0 5269.5075 13.082953 - 8600 16738.458 0 0 5269.5146 13.083009 - 8650 16738.474 0 0 5269.5195 13.083048 - 8700 16738.478 0 0 5269.5208 13.083058 - 8750 16738.477 0 0 5269.5206 13.083056 - 8800 16738.476 0 0 5269.5203 13.083054 - 8850 16738.477 0 0 5269.5206 13.083056 - 8900 16738.476 0 0 5269.5203 13.083054 - 8950 16738.468 0 0 5269.5177 13.083034 - 9000 16738.451 0 0 5269.5122 13.082991 - 9050 16738.44 0 0 5269.5089 13.082965 - 9100 16738.448 0 0 5269.5113 13.082984 - 9150 16738.46 0 0 5269.5153 13.083014 - 9200 16738.464 0 0 5269.5163 13.083023 - 9250 16738.462 0 0 5269.5158 13.083019 - 9300 16738.462 0 0 5269.5159 13.08302 - 9350 16738.467 0 0 5269.5174 13.083031 - 9400 16738.472 -0.00023657901 0 5269.5188 13.083039 - 9450 16738.472 0 0 5269.519 13.083044 - 9500 16738.46 0 0 5269.5153 13.083016 - 9550 16738.443 0 0 5269.5099 13.082974 - 9600 16738.441 0 0 5269.5092 13.082967 - 9650 16738.458 -0.00038368065 0 5269.5142 13.083 - 9700 16738.475 -0.00099963025 0 5269.519 13.083029 - 9750 16738.492 -0.0049852397 0 5269.5203 13.082953 - 9800 16738.483 -0.0018715252 0 5269.5204 13.083034 - 9850 16738.477 0 0 5269.5205 13.083063 - 9900 16738.477 -0.0018402419 0 5269.5186 13.083025 - 9950 16738.482 -0.005648013 0 5269.5164 13.082936 - 10000 16738.467 -0.0045058746 0 5269.5129 13.082944 -Loop time of 0.13715 on 1 procs for 10000 steps with 81 atoms - -Performance: 629968.103 tau/day, 72912.975 timesteps/s, 5.906 Matom-step/s -99.5% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0074777 | 0.0074777 | 0.0074777 | 0.0 | 5.45 -Neigh | 0.043608 | 0.043608 | 0.043608 | 0.0 | 31.80 -Comm | 0.0078838 | 0.0078838 | 0.0078838 | 0.0 | 5.75 -Output | 0.002002 | 0.002002 | 0.002002 | 0.0 | 1.46 -Modify | 0.06884 | 0.06884 | 0.06884 | 0.0 | 50.19 -Other | | 0.007339 | | | 5.35 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 63 ave 63 max 63 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 19 ave 19 max 19 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 19 -Ave neighs/atom = 0.2345679 -Neighbor list builds = 1481 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.nve.early.g++.4 b/examples/rigid/log.25Mar24.rigid.nve.early.g++.4 deleted file mode 100644 index 077e7976b9..0000000000 --- a/examples/rigid/log.25Mar24.rigid.nve.early.g++.4 +++ /dev/null @@ -1,340 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 - 9 rigid bodies with 81 atoms - -fix_modify 1 bodyforces early - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -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 = 18 18 18 - 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.201 | 4.233 | 4.327 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.688 571.72044 0 5265.826 32.006558 - 100 16298.426 136.669 0 5267.6551 16.445373 - 150 16682.627 17.489692 0 5269.4277 14.900277 - 200 16733.935 1.3740602 0 5269.4647 14.569704 - 250 16738.854 -0.15258528 0 5269.4868 14.496759 - 300 16738.584 -0.055187603 0 5269.4992 14.496371 - 350 16738.492 -0.017449036 0 5269.5078 14.496801 - 400 16738.472 -0.006012316 0 5269.513 14.496991 - 450 16738.469 -0.0012715314 0 5269.5169 14.497085 - 500 16738.471 -0.00081065611 0 5269.5177 14.497095 - 550 16738.47 -0.00083201064 0 5269.5175 14.497091 - 600 16738.469 -0.00058353965 0 5269.5174 14.497091 - 650 16738.467 -0.0004722653 0 5269.5169 14.497088 - 700 16738.462 0 0 5269.5158 14.497085 - 750 16738.454 0 0 5269.5134 14.497066 - 800 16738.449 0 0 5269.5116 14.497052 - 850 16738.451 0 0 5269.5123 14.497057 - 900 16738.46 0 0 5269.5151 14.497079 - 950 16738.475 -0.0035324469 0 5269.5163 14.497056 - 1000 16738.603 -0.05113463 0 5269.509 14.496621 - 1050 16737.376 0.32970882 0 5269.5037 14.526144 - 1100 16737.909 0.16215423 0 5269.5038 14.53237 - 1150 16738.719 -0.089236594 0 5269.5074 14.510282 - 1200 16738.477 -0.0075446521 0 5269.513 14.51099 - 1250 16738.458 0 0 5269.5146 14.511061 - 1300 16738.448 0 0 5269.5114 14.511036 - 1350 16738.444 0 0 5269.5102 14.511026 - 1400 16738.449 -0.00044714105 0 5269.5113 14.511031 - 1450 16738.458 -0.0010956657 0 5269.5136 14.511043 - 1500 16738.464 -0.00057735083 0 5269.516 14.511066 - 1550 16738.467 0 0 5269.5173 14.511083 - 1600 16738.469 0 0 5269.5179 14.511087 - 1650 16738.47 0 0 5269.5183 14.511091 - 1700 16738.469 0 0 5269.5181 14.511089 - 1750 16738.464 0 0 5269.5164 14.511076 - 1800 16738.455 0 0 5269.5137 14.511055 - 1850 16738.45 0 0 5269.5121 14.511042 - 1900 16738.453 0 0 5269.513 14.511049 - 1950 16738.468 -0.0031854173 0 5269.5144 14.51102 - 2000 16738.501 -0.01331726 0 5269.5148 14.510906 - 2050 16738.568 -0.036719673 0 5269.5126 14.510668 - 2100 16738.646 -0.063312431 0 5269.5103 14.510597 - 2150 16738.619 -0.05606591 0 5269.5091 14.510608 - 2200 16738.566 -0.038448437 0 5269.5101 14.510779 - 2250 16738.52 -0.023712465 0 5269.5103 14.510906 - 2300 16738.485 -0.01323561 0 5269.5099 14.510971 - 2350 16738.457 -0.0045452995 0 5269.5097 14.511049 - 2400 16738.449 -0.00052013007 0 5269.5113 14.511107 - 2450 16738.461 -0.002321933 0 5269.5132 14.511099 - 2500 16738.474 -0.0051804641 0 5269.5145 14.511103 - 2550 16738.592 -0.04492566 0 5269.5117 14.510696 - 2600 16738.45 -0.0038193536 0 5269.5082 14.510939 - 2650 16733.621 1.5177478 0 5269.5097 14.586333 - 2700 16738.772 -0.1064304 0 5269.5069 14.500913 - 2750 16733.165 1.6598389 0 5269.5082 14.616957 - 2800 16738.577 -0.04523598 0 5269.5068 14.51458 - 2850 16738.475 -0.01269037 0 5269.5073 14.513396 - 2900 16738.449 -0.002688737 0 5269.5089 14.513555 - 2950 16738.465 -0.0082345477 0 5269.5084 14.513515 - 3000 16738.657 -0.071197475 0 5269.5061 14.513024 - 3050 16706.71 9.9435728 0 5269.4634 15.021496 - 3100 16643.257 29.968327 0 5269.5123 14.548247 - 3150 16739.45 -0.33134743 0 5269.4956 13.595814 - 3200 16731.445 2.1723572 0 5269.4792 12.100834 - 3250 16612.686 39.57457 0 5269.4942 13.879807 - 3300 16738.601 -0.059713795 0 5269.4997 12.666612 - 3350 16738.587 -0.044640809 0 5269.5106 12.663574 - 3400 16737.995 0.14468663 0 5269.5136 12.680161 - 3450 16738.607 -0.050706049 0 5269.5107 12.665118 - 3500 16738.819 -0.12122411 0 5269.5069 12.665394 - 3550 16738.498 -0.021940181 0 5269.5052 12.676141 - 3600 16673.205 20.482364 0 5269.4544 13.525704 - 3650 16738.648 -0.074052045 0 5269.5003 12.817014 - 3700 16738.632 -0.07184695 0 5269.4975 12.810978 - 3750 16738.621 -0.07013081 0 5269.4958 12.811663 - 3800 16738.552 -0.044378799 0 5269.4998 12.811871 - 3850 16738.492 -0.015384402 0 5269.5099 12.811397 - 3900 16738.487 -0.0058199162 0 5269.518 12.811514 - 3950 16738.482 -0.0012032457 0 5269.521 12.811589 - 4000 16738.478 -0.00020707654 0 5269.5208 12.811606 - 4050 16738.477 0 0 5269.5207 12.811608 - 4100 16738.477 0 0 5269.5206 12.811607 - 4150 16738.475 0 0 5269.5199 12.811602 - 4200 16738.464 0 0 5269.5165 12.811576 - 4250 16738.446 0 0 5269.5109 12.811532 - 4300 16738.44 0 0 5269.5089 12.811516 - 4350 16738.454 0 0 5269.5131 12.811549 - 4400 16738.468 0 0 5269.5177 12.811585 - 4450 16738.47 0 0 5269.5184 12.811591 - 4500 16738.466 0 0 5269.517 12.811579 - 4550 16738.463 0 0 5269.5162 12.811573 - 4600 16738.466 0 0 5269.517 12.81158 - 4650 16738.471 0 0 5269.5186 12.811592 - 4700 16738.47 0 0 5269.5182 12.811589 - 4750 16738.456 0 0 5269.5139 12.811556 - 4800 16738.441 0 0 5269.5091 12.811518 - 4850 16738.444 0 0 5269.5102 12.811526 - 4900 16738.462 0 0 5269.5159 12.81157 - 4950 16738.475 0 0 5269.5201 12.811603 - 5000 16738.479 0 0 5269.5212 12.811612 - 5050 16738.479 0 0 5269.5212 12.811612 - 5100 16738.479 0 0 5269.5212 12.811612 - 5150 16738.478 0 0 5269.5209 12.81161 - 5200 16738.472 0 0 5269.519 12.811595 - 5250 16738.456 0 0 5269.5138 12.811555 - 5300 16738.432 0 0 5269.5064 12.811497 - 5350 16738.422 0 0 5269.5033 12.811472 - 5400 16738.438 0 0 5269.5082 12.81151 - 5450 16738.46 0 0 5269.515 12.811564 - 5500 16738.471 -0.0002100851 0 5269.5183 12.811588 - 5550 16738.481 -0.003484166 0 5269.5185 12.811534 - 5600 16738.542 -0.024500002 0 5269.5164 12.81122 - 5650 16738.641 -0.058023282 0 5269.5142 12.812225 - 5700 16384.935 111.24508 0 5269.4653 26.09278 - 5750 16738.555 -0.030778873 0 5269.5142 13.052328 - 5800 16738.462 -0.0034050628 0 5269.5125 13.052653 - 5850 16738.441 -0.00034406845 0 5269.5089 13.052656 - 5900 16738.443 0 0 5269.5098 13.052667 - 5950 16738.459 0 0 5269.5149 13.052707 - 6000 16738.468 0 0 5269.5177 13.052729 - 6050 16738.466 0 0 5269.5172 13.052725 - 6100 16738.462 0 0 5269.516 13.052715 - 6150 16738.463 0 0 5269.5162 13.052717 - 6200 16738.468 0 0 5269.5178 13.052729 - 6250 16738.472 0 0 5269.5189 13.052738 - 6300 16738.465 0 0 5269.5169 13.052723 - 6350 16738.448 0 0 5269.5115 13.052681 - 6400 16738.439 0 0 5269.5086 13.052658 - 6450 16738.451 0 0 5269.5124 13.052687 - 6500 16738.469 0 0 5269.5181 13.052732 - 6550 16738.478 0 0 5269.5209 13.052754 - 6600 16738.48 0 0 5269.5214 13.052758 - 6650 16738.479 0 0 5269.5213 13.052757 - 6700 16738.48 -0.00057913195 0 5269.521 13.052744 - 6750 16738.483 -0.0025329373 0 5269.5198 13.0527 - 6800 16738.482 -0.0065110047 0 5269.5156 13.052612 - 6850 16738.465 -0.0072245166 0 5269.5095 13.052574 - 6900 16738.436 -0.0036561206 0 5269.5039 13.052609 - 6950 16738.433 -0.0010530752 0 5269.5056 13.052661 - 7000 16738.455 -0.00056878712 0 5269.5132 13.052723 - 7050 16738.475 -0.0011717775 0 5269.5187 13.052755 - 7100 16738.48 -0.00047531448 0 5269.5209 13.052781 - 7150 16738.479 0 0 5269.5211 13.052788 - 7200 16738.478 0 0 5269.5207 13.052785 - 7250 16738.477 0 0 5269.5207 13.052785 - 7300 16738.476 0 0 5269.5201 13.052781 - 7350 16738.466 0 0 5269.5172 13.052758 - 7400 16738.448 0 0 5269.5115 13.052714 - 7450 16738.438 0 0 5269.5083 13.052688 - 7500 16738.448 0 0 5269.5115 13.052713 - 7550 16738.464 -0.00053504439 0 5269.5158 13.052742 - 7600 16738.483 -0.010043243 0 5269.5123 13.052657 - 7650 16738.674 -0.077543714 0 5269.5051 13.052041 - 7700 16736.839 0.49724671 0 5269.502 13.085872 - 7750 16731.931 2.0427465 0 5269.5024 13.190769 - 7800 16738.762 -0.10404434 0 5269.5061 13.082626 - 7850 16738.525 -0.024994385 0 5269.5108 13.082681 - 7900 16738.479 -0.008372534 0 5269.5129 13.082885 - 7950 16738.449 -0.0038549468 0 5269.5079 13.082917 - 8000 16738.441 -0.0016367617 0 5269.5074 13.082937 - 8050 16738.455 -0.0014865651 0 5269.5123 13.082971 - 8100 16738.47 -0.00072796092 0 5269.5175 13.083021 - 8150 16738.476 0 0 5269.5202 13.08305 - 8200 16738.477 0 0 5269.5204 13.083051 - 8250 16738.476 0 0 5269.5201 13.083049 - 8300 16738.474 0 0 5269.5197 13.083046 - 8350 16738.47 0 0 5269.5185 13.083036 - 8400 16738.462 -0.0017116105 0 5269.5142 13.082984 - 8450 16738.447 -0.003289664 0 5269.5078 13.082915 - 8500 16738.429 -0.00098100125 0 5269.5043 13.082918 - 8550 16738.435 0 0 5269.5075 13.082953 - 8600 16738.458 0 0 5269.5146 13.083009 - 8650 16738.474 0 0 5269.5195 13.083048 - 8700 16738.478 0 0 5269.5208 13.083058 - 8750 16738.477 0 0 5269.5206 13.083056 - 8800 16738.476 0 0 5269.5203 13.083054 - 8850 16738.477 0 0 5269.5206 13.083056 - 8900 16738.476 0 0 5269.5203 13.083054 - 8950 16738.468 0 0 5269.5177 13.083034 - 9000 16738.451 0 0 5269.5122 13.082991 - 9050 16738.44 0 0 5269.5089 13.082965 - 9100 16738.448 0 0 5269.5113 13.082984 - 9150 16738.46 0 0 5269.5153 13.083014 - 9200 16738.464 0 0 5269.5163 13.083023 - 9250 16738.462 0 0 5269.5158 13.083019 - 9300 16738.462 0 0 5269.5159 13.08302 - 9350 16738.467 0 0 5269.5174 13.083031 - 9400 16738.472 -0.00023657902 0 5269.5188 13.083039 - 9450 16738.472 0 0 5269.519 13.083044 - 9500 16738.46 0 0 5269.5153 13.083016 - 9550 16738.443 0 0 5269.5099 13.082974 - 9600 16738.441 0 0 5269.5092 13.082967 - 9650 16738.458 -0.00038368067 0 5269.5142 13.083 - 9700 16738.475 -0.00099963027 0 5269.519 13.083029 - 9750 16738.492 -0.00498524 0 5269.5203 13.082953 - 9800 16738.483 -0.0018715253 0 5269.5204 13.083034 - 9850 16738.477 0 0 5269.5205 13.083063 - 9900 16738.477 -0.0018402419 0 5269.5186 13.083025 - 9950 16738.482 -0.0056480132 0 5269.5164 13.082936 - 10000 16738.467 -0.0045058747 0 5269.5129 13.082944 -Loop time of 0.14818 on 4 procs for 10000 steps with 81 atoms - -Performance: 583075.499 tau/day, 67485.590 timesteps/s, 5.466 Matom-step/s -99.0% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0018099 | 0.0023754 | 0.0030445 | 1.0 | 1.60 -Neigh | 0.011989 | 0.012986 | 0.01555 | 1.3 | 8.76 -Comm | 0.062426 | 0.065066 | 0.066364 | 0.6 | 43.91 -Output | 0.0017674 | 0.0019257 | 0.002368 | 0.6 | 1.30 -Modify | 0.050371 | 0.051161 | 0.052809 | 0.4 | 34.53 -Other | | 0.01467 | | | 9.90 - -Nlocal: 20.25 ave 35 max 0 min -Histogram: 1 0 0 0 0 1 0 1 0 1 -Nghost: 41 ave 52 max 30 min -Histogram: 1 0 0 0 1 1 0 0 0 1 -Neighs: 4.75 ave 19 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 19 -Ave neighs/atom = 0.2345679 -Neighbor list builds = 1481 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.nve.g++.1 b/examples/rigid/log.25Mar24.rigid.nve.g++.1 deleted file mode 100644 index 45bfc9f8d4..0000000000 --- a/examples/rigid/log.25Mar24.rigid.nve.g++.1 +++ /dev/null @@ -1,338 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 - 9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -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 = 18 18 18 - 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.353 | 4.353 | 4.353 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.688 571.72044 0 5265.826 32.006558 - 100 16298.426 136.669 0 5267.6551 16.445373 - 150 16682.627 17.489692 0 5269.4277 14.900277 - 200 16733.935 1.3740602 0 5269.4647 14.569704 - 250 16738.854 -0.15258528 0 5269.4868 14.496759 - 300 16738.584 -0.055187603 0 5269.4992 14.496371 - 350 16738.492 -0.017449036 0 5269.5078 14.496801 - 400 16738.472 -0.006012316 0 5269.513 14.496991 - 450 16738.469 -0.0012715314 0 5269.5169 14.497085 - 500 16738.471 -0.00081065611 0 5269.5177 14.497095 - 550 16738.47 -0.00083201064 0 5269.5175 14.497091 - 600 16738.469 -0.00058353965 0 5269.5174 14.497091 - 650 16738.467 -0.0004722653 0 5269.5169 14.497088 - 700 16738.462 0 0 5269.5158 14.497085 - 750 16738.454 0 0 5269.5134 14.497066 - 800 16738.449 0 0 5269.5116 14.497052 - 850 16738.451 0 0 5269.5123 14.497057 - 900 16738.46 0 0 5269.5151 14.497079 - 950 16738.475 -0.0035324469 0 5269.5163 14.497056 - 1000 16738.603 -0.05113463 0 5269.509 14.496621 - 1050 16737.376 0.32970882 0 5269.5037 14.526144 - 1100 16737.909 0.16215423 0 5269.5038 14.53237 - 1150 16738.719 -0.089236594 0 5269.5074 14.510282 - 1200 16738.477 -0.0075446521 0 5269.513 14.51099 - 1250 16738.458 0 0 5269.5146 14.511061 - 1300 16738.448 0 0 5269.5114 14.511036 - 1350 16738.444 0 0 5269.5102 14.511026 - 1400 16738.449 -0.00044714105 0 5269.5113 14.511031 - 1450 16738.458 -0.0010956657 0 5269.5136 14.511043 - 1500 16738.464 -0.00057735083 0 5269.516 14.511066 - 1550 16738.467 0 0 5269.5173 14.511083 - 1600 16738.469 0 0 5269.5179 14.511087 - 1650 16738.47 0 0 5269.5183 14.511091 - 1700 16738.469 0 0 5269.5181 14.511089 - 1750 16738.464 0 0 5269.5164 14.511076 - 1800 16738.455 0 0 5269.5137 14.511055 - 1850 16738.45 0 0 5269.5121 14.511042 - 1900 16738.453 0 0 5269.513 14.511049 - 1950 16738.468 -0.0031854173 0 5269.5144 14.51102 - 2000 16738.501 -0.01331726 0 5269.5148 14.510906 - 2050 16738.568 -0.036719673 0 5269.5126 14.510668 - 2100 16738.646 -0.063312431 0 5269.5103 14.510597 - 2150 16738.619 -0.05606591 0 5269.5091 14.510608 - 2200 16738.566 -0.038448437 0 5269.5101 14.510779 - 2250 16738.52 -0.023712465 0 5269.5103 14.510906 - 2300 16738.485 -0.01323561 0 5269.5099 14.510971 - 2350 16738.457 -0.0045452995 0 5269.5097 14.511049 - 2400 16738.449 -0.00052013007 0 5269.5113 14.511107 - 2450 16738.461 -0.002321933 0 5269.5132 14.511099 - 2500 16738.474 -0.0051804641 0 5269.5145 14.511103 - 2550 16738.592 -0.04492566 0 5269.5117 14.510696 - 2600 16738.45 -0.0038193536 0 5269.5082 14.510939 - 2650 16733.621 1.5177478 0 5269.5097 14.586333 - 2700 16738.772 -0.1064304 0 5269.5069 14.500913 - 2750 16733.165 1.6598389 0 5269.5082 14.616957 - 2800 16738.577 -0.04523598 0 5269.5068 14.51458 - 2850 16738.475 -0.01269037 0 5269.5073 14.513396 - 2900 16738.449 -0.002688737 0 5269.5089 14.513555 - 2950 16738.465 -0.0082345477 0 5269.5084 14.513515 - 3000 16738.657 -0.071197475 0 5269.5061 14.513024 - 3050 16706.71 9.9435728 0 5269.4634 15.021496 - 3100 16643.257 29.968327 0 5269.5123 14.548247 - 3150 16739.45 -0.33134743 0 5269.4956 13.595814 - 3200 16731.445 2.1723572 0 5269.4792 12.100834 - 3250 16612.686 39.57457 0 5269.4942 13.879807 - 3300 16738.601 -0.059713795 0 5269.4997 12.666612 - 3350 16738.587 -0.044640809 0 5269.5106 12.663574 - 3400 16737.995 0.14468663 0 5269.5136 12.680161 - 3450 16738.607 -0.050706049 0 5269.5107 12.665118 - 3500 16738.819 -0.12122411 0 5269.5069 12.665394 - 3550 16738.498 -0.021940182 0 5269.5052 12.676141 - 3600 16673.205 20.482364 0 5269.4544 13.525704 - 3650 16738.648 -0.074052044 0 5269.5003 12.817014 - 3700 16738.632 -0.07184695 0 5269.4975 12.810978 - 3750 16738.621 -0.07013081 0 5269.4958 12.811663 - 3800 16738.552 -0.044378799 0 5269.4998 12.811871 - 3850 16738.492 -0.015384402 0 5269.5099 12.811397 - 3900 16738.487 -0.0058199162 0 5269.518 12.811514 - 3950 16738.482 -0.0012032457 0 5269.521 12.811589 - 4000 16738.478 -0.00020707654 0 5269.5208 12.811606 - 4050 16738.477 0 0 5269.5207 12.811608 - 4100 16738.477 0 0 5269.5206 12.811607 - 4150 16738.475 0 0 5269.5199 12.811602 - 4200 16738.464 0 0 5269.5165 12.811576 - 4250 16738.446 0 0 5269.5109 12.811532 - 4300 16738.44 0 0 5269.5089 12.811516 - 4350 16738.454 0 0 5269.5131 12.811549 - 4400 16738.468 0 0 5269.5177 12.811585 - 4450 16738.47 0 0 5269.5184 12.811591 - 4500 16738.466 0 0 5269.517 12.811579 - 4550 16738.463 0 0 5269.5162 12.811573 - 4600 16738.466 0 0 5269.517 12.81158 - 4650 16738.471 0 0 5269.5186 12.811592 - 4700 16738.47 0 0 5269.5182 12.811589 - 4750 16738.456 0 0 5269.5139 12.811556 - 4800 16738.441 0 0 5269.5091 12.811518 - 4850 16738.444 0 0 5269.5102 12.811526 - 4900 16738.462 0 0 5269.5159 12.81157 - 4950 16738.475 0 0 5269.5201 12.811603 - 5000 16738.479 0 0 5269.5212 12.811612 - 5050 16738.479 0 0 5269.5212 12.811612 - 5100 16738.479 0 0 5269.5212 12.811612 - 5150 16738.478 0 0 5269.5209 12.81161 - 5200 16738.472 0 0 5269.519 12.811595 - 5250 16738.456 0 0 5269.5138 12.811555 - 5300 16738.432 0 0 5269.5064 12.811497 - 5350 16738.422 0 0 5269.5033 12.811472 - 5400 16738.438 0 0 5269.5082 12.81151 - 5450 16738.46 0 0 5269.515 12.811564 - 5500 16738.471 -0.0002100851 0 5269.5183 12.811588 - 5550 16738.481 -0.003484166 0 5269.5185 12.811534 - 5600 16738.542 -0.024500002 0 5269.5164 12.81122 - 5650 16738.641 -0.058023282 0 5269.5142 12.812225 - 5700 16384.935 111.24508 0 5269.4653 26.09278 - 5750 16738.555 -0.030778873 0 5269.5142 13.052328 - 5800 16738.462 -0.0034050629 0 5269.5125 13.052653 - 5850 16738.441 -0.00034406845 0 5269.5089 13.052656 - 5900 16738.443 0 0 5269.5098 13.052667 - 5950 16738.459 0 0 5269.5149 13.052707 - 6000 16738.468 0 0 5269.5177 13.052729 - 6050 16738.466 0 0 5269.5172 13.052725 - 6100 16738.462 0 0 5269.516 13.052715 - 6150 16738.463 0 0 5269.5162 13.052717 - 6200 16738.468 0 0 5269.5178 13.052729 - 6250 16738.472 0 0 5269.5189 13.052738 - 6300 16738.465 0 0 5269.5169 13.052723 - 6350 16738.448 0 0 5269.5115 13.052681 - 6400 16738.439 0 0 5269.5086 13.052658 - 6450 16738.451 0 0 5269.5124 13.052687 - 6500 16738.469 0 0 5269.5181 13.052732 - 6550 16738.478 0 0 5269.5209 13.052754 - 6600 16738.48 0 0 5269.5214 13.052758 - 6650 16738.479 0 0 5269.5213 13.052757 - 6700 16738.48 -0.00057913194 0 5269.521 13.052744 - 6750 16738.483 -0.0025329373 0 5269.5198 13.0527 - 6800 16738.482 -0.0065110045 0 5269.5156 13.052612 - 6850 16738.465 -0.0072245165 0 5269.5095 13.052574 - 6900 16738.436 -0.0036561206 0 5269.5039 13.052609 - 6950 16738.433 -0.0010530752 0 5269.5056 13.052661 - 7000 16738.455 -0.00056878712 0 5269.5132 13.052723 - 7050 16738.475 -0.0011717775 0 5269.5187 13.052755 - 7100 16738.48 -0.00047531448 0 5269.5209 13.052781 - 7150 16738.479 0 0 5269.5211 13.052788 - 7200 16738.478 0 0 5269.5207 13.052785 - 7250 16738.477 0 0 5269.5207 13.052785 - 7300 16738.476 0 0 5269.5201 13.052781 - 7350 16738.466 0 0 5269.5172 13.052758 - 7400 16738.448 0 0 5269.5115 13.052714 - 7450 16738.438 0 0 5269.5083 13.052688 - 7500 16738.448 0 0 5269.5115 13.052713 - 7550 16738.464 -0.00053504438 0 5269.5158 13.052742 - 7600 16738.483 -0.010043243 0 5269.5123 13.052657 - 7650 16738.674 -0.077543712 0 5269.5051 13.052041 - 7700 16736.839 0.49724664 0 5269.502 13.085872 - 7750 16731.931 2.0427463 0 5269.5024 13.190769 - 7800 16738.762 -0.10404434 0 5269.5061 13.082626 - 7850 16738.525 -0.024994384 0 5269.5108 13.082681 - 7900 16738.479 -0.008372534 0 5269.5129 13.082885 - 7950 16738.449 -0.0038549468 0 5269.5079 13.082917 - 8000 16738.441 -0.0016367618 0 5269.5074 13.082937 - 8050 16738.455 -0.0014865651 0 5269.5123 13.082971 - 8100 16738.47 -0.00072796093 0 5269.5175 13.083021 - 8150 16738.476 0 0 5269.5202 13.08305 - 8200 16738.477 0 0 5269.5204 13.083051 - 8250 16738.476 0 0 5269.5201 13.083049 - 8300 16738.474 0 0 5269.5197 13.083046 - 8350 16738.47 0 0 5269.5185 13.083036 - 8400 16738.462 -0.0017116105 0 5269.5142 13.082984 - 8450 16738.447 -0.003289664 0 5269.5078 13.082915 - 8500 16738.429 -0.00098100125 0 5269.5043 13.082918 - 8550 16738.435 0 0 5269.5075 13.082953 - 8600 16738.458 0 0 5269.5146 13.083009 - 8650 16738.474 0 0 5269.5195 13.083048 - 8700 16738.478 0 0 5269.5208 13.083058 - 8750 16738.477 0 0 5269.5206 13.083056 - 8800 16738.476 0 0 5269.5203 13.083054 - 8850 16738.477 0 0 5269.5206 13.083056 - 8900 16738.476 0 0 5269.5203 13.083054 - 8950 16738.468 0 0 5269.5177 13.083034 - 9000 16738.451 0 0 5269.5122 13.082991 - 9050 16738.44 0 0 5269.5089 13.082965 - 9100 16738.448 0 0 5269.5113 13.082984 - 9150 16738.46 0 0 5269.5153 13.083014 - 9200 16738.464 0 0 5269.5163 13.083023 - 9250 16738.462 0 0 5269.5158 13.083019 - 9300 16738.462 0 0 5269.5159 13.08302 - 9350 16738.467 0 0 5269.5174 13.083031 - 9400 16738.472 -0.00023657901 0 5269.5188 13.083039 - 9450 16738.472 0 0 5269.519 13.083044 - 9500 16738.46 0 0 5269.5153 13.083016 - 9550 16738.443 0 0 5269.5099 13.082974 - 9600 16738.441 0 0 5269.5092 13.082967 - 9650 16738.458 -0.00038368065 0 5269.5142 13.083 - 9700 16738.475 -0.00099963025 0 5269.519 13.083029 - 9750 16738.492 -0.0049852397 0 5269.5203 13.082953 - 9800 16738.483 -0.0018715252 0 5269.5204 13.083034 - 9850 16738.477 0 0 5269.5205 13.083063 - 9900 16738.477 -0.0018402419 0 5269.5186 13.083025 - 9950 16738.482 -0.005648013 0 5269.5164 13.082936 - 10000 16738.467 -0.0045058746 0 5269.5129 13.082944 -Loop time of 0.139287 on 1 procs for 10000 steps with 81 atoms - -Performance: 620300.751 tau/day, 71794.068 timesteps/s, 5.815 Matom-step/s -99.5% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0074128 | 0.0074128 | 0.0074128 | 0.0 | 5.32 -Neigh | 0.045566 | 0.045566 | 0.045566 | 0.0 | 32.71 -Comm | 0.007912 | 0.007912 | 0.007912 | 0.0 | 5.68 -Output | 0.0015912 | 0.0015912 | 0.0015912 | 0.0 | 1.14 -Modify | 0.06951 | 0.06951 | 0.06951 | 0.0 | 49.90 -Other | | 0.007295 | | | 5.24 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 63 ave 63 max 63 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 19 ave 19 max 19 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 19 -Ave neighs/atom = 0.2345679 -Neighbor list builds = 1481 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.nve.g++.4 b/examples/rigid/log.25Mar24.rigid.nve.g++.4 deleted file mode 100644 index af3c1c6489..0000000000 --- a/examples/rigid/log.25Mar24.rigid.nve.g++.4 +++ /dev/null @@ -1,338 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 - 9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -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 = 18 18 18 - 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.201 | 4.233 | 4.327 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.688 571.72044 0 5265.826 32.006558 - 100 16298.426 136.669 0 5267.6551 16.445373 - 150 16682.627 17.489692 0 5269.4277 14.900277 - 200 16733.935 1.3740602 0 5269.4647 14.569704 - 250 16738.854 -0.15258528 0 5269.4868 14.496759 - 300 16738.584 -0.055187603 0 5269.4992 14.496371 - 350 16738.492 -0.017449036 0 5269.5078 14.496801 - 400 16738.472 -0.006012316 0 5269.513 14.496991 - 450 16738.469 -0.0012715314 0 5269.5169 14.497085 - 500 16738.471 -0.00081065611 0 5269.5177 14.497095 - 550 16738.47 -0.00083201064 0 5269.5175 14.497091 - 600 16738.469 -0.00058353965 0 5269.5174 14.497091 - 650 16738.467 -0.0004722653 0 5269.5169 14.497088 - 700 16738.462 0 0 5269.5158 14.497085 - 750 16738.454 0 0 5269.5134 14.497066 - 800 16738.449 0 0 5269.5116 14.497052 - 850 16738.451 0 0 5269.5123 14.497057 - 900 16738.46 0 0 5269.5151 14.497079 - 950 16738.475 -0.0035324469 0 5269.5163 14.497056 - 1000 16738.603 -0.05113463 0 5269.509 14.496621 - 1050 16737.376 0.32970882 0 5269.5037 14.526144 - 1100 16737.909 0.16215423 0 5269.5038 14.53237 - 1150 16738.719 -0.089236594 0 5269.5074 14.510282 - 1200 16738.477 -0.0075446521 0 5269.513 14.51099 - 1250 16738.458 0 0 5269.5146 14.511061 - 1300 16738.448 0 0 5269.5114 14.511036 - 1350 16738.444 0 0 5269.5102 14.511026 - 1400 16738.449 -0.00044714105 0 5269.5113 14.511031 - 1450 16738.458 -0.0010956657 0 5269.5136 14.511043 - 1500 16738.464 -0.00057735083 0 5269.516 14.511066 - 1550 16738.467 0 0 5269.5173 14.511083 - 1600 16738.469 0 0 5269.5179 14.511087 - 1650 16738.47 0 0 5269.5183 14.511091 - 1700 16738.469 0 0 5269.5181 14.511089 - 1750 16738.464 0 0 5269.5164 14.511076 - 1800 16738.455 0 0 5269.5137 14.511055 - 1850 16738.45 0 0 5269.5121 14.511042 - 1900 16738.453 0 0 5269.513 14.511049 - 1950 16738.468 -0.0031854173 0 5269.5144 14.51102 - 2000 16738.501 -0.01331726 0 5269.5148 14.510906 - 2050 16738.568 -0.036719673 0 5269.5126 14.510668 - 2100 16738.646 -0.063312431 0 5269.5103 14.510597 - 2150 16738.619 -0.05606591 0 5269.5091 14.510608 - 2200 16738.566 -0.038448437 0 5269.5101 14.510779 - 2250 16738.52 -0.023712465 0 5269.5103 14.510906 - 2300 16738.485 -0.01323561 0 5269.5099 14.510971 - 2350 16738.457 -0.0045452995 0 5269.5097 14.511049 - 2400 16738.449 -0.00052013007 0 5269.5113 14.511107 - 2450 16738.461 -0.002321933 0 5269.5132 14.511099 - 2500 16738.474 -0.0051804641 0 5269.5145 14.511103 - 2550 16738.592 -0.04492566 0 5269.5117 14.510696 - 2600 16738.45 -0.0038193536 0 5269.5082 14.510939 - 2650 16733.621 1.5177478 0 5269.5097 14.586333 - 2700 16738.772 -0.1064304 0 5269.5069 14.500913 - 2750 16733.165 1.6598389 0 5269.5082 14.616957 - 2800 16738.577 -0.04523598 0 5269.5068 14.51458 - 2850 16738.475 -0.01269037 0 5269.5073 14.513396 - 2900 16738.449 -0.002688737 0 5269.5089 14.513555 - 2950 16738.465 -0.0082345477 0 5269.5084 14.513515 - 3000 16738.657 -0.071197475 0 5269.5061 14.513024 - 3050 16706.71 9.9435728 0 5269.4634 15.021496 - 3100 16643.257 29.968327 0 5269.5123 14.548247 - 3150 16739.45 -0.33134743 0 5269.4956 13.595814 - 3200 16731.445 2.1723572 0 5269.4792 12.100834 - 3250 16612.686 39.57457 0 5269.4942 13.879807 - 3300 16738.601 -0.059713795 0 5269.4997 12.666612 - 3350 16738.587 -0.044640809 0 5269.5106 12.663574 - 3400 16737.995 0.14468663 0 5269.5136 12.680161 - 3450 16738.607 -0.050706049 0 5269.5107 12.665118 - 3500 16738.819 -0.12122411 0 5269.5069 12.665394 - 3550 16738.498 -0.021940181 0 5269.5052 12.676141 - 3600 16673.205 20.482364 0 5269.4544 13.525704 - 3650 16738.648 -0.074052045 0 5269.5003 12.817014 - 3700 16738.632 -0.07184695 0 5269.4975 12.810978 - 3750 16738.621 -0.07013081 0 5269.4958 12.811663 - 3800 16738.552 -0.044378799 0 5269.4998 12.811871 - 3850 16738.492 -0.015384402 0 5269.5099 12.811397 - 3900 16738.487 -0.0058199162 0 5269.518 12.811514 - 3950 16738.482 -0.0012032457 0 5269.521 12.811589 - 4000 16738.478 -0.00020707654 0 5269.5208 12.811606 - 4050 16738.477 0 0 5269.5207 12.811608 - 4100 16738.477 0 0 5269.5206 12.811607 - 4150 16738.475 0 0 5269.5199 12.811602 - 4200 16738.464 0 0 5269.5165 12.811576 - 4250 16738.446 0 0 5269.5109 12.811532 - 4300 16738.44 0 0 5269.5089 12.811516 - 4350 16738.454 0 0 5269.5131 12.811549 - 4400 16738.468 0 0 5269.5177 12.811585 - 4450 16738.47 0 0 5269.5184 12.811591 - 4500 16738.466 0 0 5269.517 12.811579 - 4550 16738.463 0 0 5269.5162 12.811573 - 4600 16738.466 0 0 5269.517 12.81158 - 4650 16738.471 0 0 5269.5186 12.811592 - 4700 16738.47 0 0 5269.5182 12.811589 - 4750 16738.456 0 0 5269.5139 12.811556 - 4800 16738.441 0 0 5269.5091 12.811518 - 4850 16738.444 0 0 5269.5102 12.811526 - 4900 16738.462 0 0 5269.5159 12.81157 - 4950 16738.475 0 0 5269.5201 12.811603 - 5000 16738.479 0 0 5269.5212 12.811612 - 5050 16738.479 0 0 5269.5212 12.811612 - 5100 16738.479 0 0 5269.5212 12.811612 - 5150 16738.478 0 0 5269.5209 12.81161 - 5200 16738.472 0 0 5269.519 12.811595 - 5250 16738.456 0 0 5269.5138 12.811555 - 5300 16738.432 0 0 5269.5064 12.811497 - 5350 16738.422 0 0 5269.5033 12.811472 - 5400 16738.438 0 0 5269.5082 12.81151 - 5450 16738.46 0 0 5269.515 12.811564 - 5500 16738.471 -0.0002100851 0 5269.5183 12.811588 - 5550 16738.481 -0.003484166 0 5269.5185 12.811534 - 5600 16738.542 -0.024500002 0 5269.5164 12.81122 - 5650 16738.641 -0.058023282 0 5269.5142 12.812225 - 5700 16384.935 111.24508 0 5269.4653 26.09278 - 5750 16738.555 -0.030778873 0 5269.5142 13.052328 - 5800 16738.462 -0.0034050628 0 5269.5125 13.052653 - 5850 16738.441 -0.00034406845 0 5269.5089 13.052656 - 5900 16738.443 0 0 5269.5098 13.052667 - 5950 16738.459 0 0 5269.5149 13.052707 - 6000 16738.468 0 0 5269.5177 13.052729 - 6050 16738.466 0 0 5269.5172 13.052725 - 6100 16738.462 0 0 5269.516 13.052715 - 6150 16738.463 0 0 5269.5162 13.052717 - 6200 16738.468 0 0 5269.5178 13.052729 - 6250 16738.472 0 0 5269.5189 13.052738 - 6300 16738.465 0 0 5269.5169 13.052723 - 6350 16738.448 0 0 5269.5115 13.052681 - 6400 16738.439 0 0 5269.5086 13.052658 - 6450 16738.451 0 0 5269.5124 13.052687 - 6500 16738.469 0 0 5269.5181 13.052732 - 6550 16738.478 0 0 5269.5209 13.052754 - 6600 16738.48 0 0 5269.5214 13.052758 - 6650 16738.479 0 0 5269.5213 13.052757 - 6700 16738.48 -0.00057913195 0 5269.521 13.052744 - 6750 16738.483 -0.0025329373 0 5269.5198 13.0527 - 6800 16738.482 -0.0065110047 0 5269.5156 13.052612 - 6850 16738.465 -0.0072245166 0 5269.5095 13.052574 - 6900 16738.436 -0.0036561206 0 5269.5039 13.052609 - 6950 16738.433 -0.0010530752 0 5269.5056 13.052661 - 7000 16738.455 -0.00056878712 0 5269.5132 13.052723 - 7050 16738.475 -0.0011717775 0 5269.5187 13.052755 - 7100 16738.48 -0.00047531448 0 5269.5209 13.052781 - 7150 16738.479 0 0 5269.5211 13.052788 - 7200 16738.478 0 0 5269.5207 13.052785 - 7250 16738.477 0 0 5269.5207 13.052785 - 7300 16738.476 0 0 5269.5201 13.052781 - 7350 16738.466 0 0 5269.5172 13.052758 - 7400 16738.448 0 0 5269.5115 13.052714 - 7450 16738.438 0 0 5269.5083 13.052688 - 7500 16738.448 0 0 5269.5115 13.052713 - 7550 16738.464 -0.00053504439 0 5269.5158 13.052742 - 7600 16738.483 -0.010043243 0 5269.5123 13.052657 - 7650 16738.674 -0.077543714 0 5269.5051 13.052041 - 7700 16736.839 0.49724671 0 5269.502 13.085872 - 7750 16731.931 2.0427465 0 5269.5024 13.190769 - 7800 16738.762 -0.10404434 0 5269.5061 13.082626 - 7850 16738.525 -0.024994385 0 5269.5108 13.082681 - 7900 16738.479 -0.008372534 0 5269.5129 13.082885 - 7950 16738.449 -0.0038549468 0 5269.5079 13.082917 - 8000 16738.441 -0.0016367617 0 5269.5074 13.082937 - 8050 16738.455 -0.0014865651 0 5269.5123 13.082971 - 8100 16738.47 -0.00072796092 0 5269.5175 13.083021 - 8150 16738.476 0 0 5269.5202 13.08305 - 8200 16738.477 0 0 5269.5204 13.083051 - 8250 16738.476 0 0 5269.5201 13.083049 - 8300 16738.474 0 0 5269.5197 13.083046 - 8350 16738.47 0 0 5269.5185 13.083036 - 8400 16738.462 -0.0017116105 0 5269.5142 13.082984 - 8450 16738.447 -0.003289664 0 5269.5078 13.082915 - 8500 16738.429 -0.00098100125 0 5269.5043 13.082918 - 8550 16738.435 0 0 5269.5075 13.082953 - 8600 16738.458 0 0 5269.5146 13.083009 - 8650 16738.474 0 0 5269.5195 13.083048 - 8700 16738.478 0 0 5269.5208 13.083058 - 8750 16738.477 0 0 5269.5206 13.083056 - 8800 16738.476 0 0 5269.5203 13.083054 - 8850 16738.477 0 0 5269.5206 13.083056 - 8900 16738.476 0 0 5269.5203 13.083054 - 8950 16738.468 0 0 5269.5177 13.083034 - 9000 16738.451 0 0 5269.5122 13.082991 - 9050 16738.44 0 0 5269.5089 13.082965 - 9100 16738.448 0 0 5269.5113 13.082984 - 9150 16738.46 0 0 5269.5153 13.083014 - 9200 16738.464 0 0 5269.5163 13.083023 - 9250 16738.462 0 0 5269.5158 13.083019 - 9300 16738.462 0 0 5269.5159 13.08302 - 9350 16738.467 0 0 5269.5174 13.083031 - 9400 16738.472 -0.00023657902 0 5269.5188 13.083039 - 9450 16738.472 0 0 5269.519 13.083044 - 9500 16738.46 0 0 5269.5153 13.083016 - 9550 16738.443 0 0 5269.5099 13.082974 - 9600 16738.441 0 0 5269.5092 13.082967 - 9650 16738.458 -0.00038368067 0 5269.5142 13.083 - 9700 16738.475 -0.00099963027 0 5269.519 13.083029 - 9750 16738.492 -0.00498524 0 5269.5203 13.082953 - 9800 16738.483 -0.0018715253 0 5269.5204 13.083034 - 9850 16738.477 0 0 5269.5205 13.083063 - 9900 16738.477 -0.0018402419 0 5269.5186 13.083025 - 9950 16738.482 -0.0056480132 0 5269.5164 13.082936 - 10000 16738.467 -0.0045058747 0 5269.5129 13.082944 -Loop time of 0.147071 on 4 procs for 10000 steps with 81 atoms - -Performance: 587469.667 tau/day, 67994.174 timesteps/s, 5.508 Matom-step/s -98.2% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0016588 | 0.0023518 | 0.0030017 | 1.0 | 1.60 -Neigh | 0.011581 | 0.012949 | 0.014883 | 1.1 | 8.80 -Comm | 0.063654 | 0.065097 | 0.066501 | 0.4 | 44.26 -Output | 0.0017378 | 0.0018782 | 0.0022756 | 0.5 | 1.28 -Modify | 0.049872 | 0.050432 | 0.051195 | 0.2 | 34.29 -Other | | 0.01436 | | | 9.77 - -Nlocal: 20.25 ave 35 max 0 min -Histogram: 1 0 0 0 0 1 0 1 0 1 -Nghost: 41 ave 52 max 30 min -Histogram: 1 0 0 0 1 1 0 0 0 1 -Neighs: 4.75 ave 19 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 19 -Ave neighs/atom = 0.2345679 -Neighbor list builds = 1481 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.poems.g++.1 b/examples/rigid/log.25Mar24.rigid.poems.g++.1 deleted file mode 100644 index 0e69724dda..0000000000 --- a/examples/rigid/log.25Mar24.rigid.poems.g++.1 +++ /dev/null @@ -1,328 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# 1 chain of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 36 45 -10 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -1 clusters, 9 bodies, 8 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 - -@Article{Mukherjee08, - author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, - title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, - journal = {Intl.\ J.\ Non-Linear Mechanics}, - year = 2008, - volume = 43, - number = 10, - pages = {1040--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -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 = 18 18 18 - 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.666 | 3.666 | 3.666 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 217.7783 3430.3907 0 3466.6871 -2.7403788 - 50 13679.637 1404.2468 0 3684.1863 12.446066 - 100 16777.225 888.87665 0 3685.0808 -31.828677 - 150 19595.365 418.45042 0 3684.3446 40.709078 - 200 18524.188 596.47273 0 3683.8375 -0.8159371 - 250 21015.789 180.96521 0 3683.5967 -10.042469 - 300 20785.513 219.25314 0 3683.5053 2.6452719 - 350 21072.46 171.2554 0 3683.3321 7.0609024 - 400 19956.414 356.36381 0 3682.4328 19.320259 - 450 20724.42 227.73284 0 3681.8028 8.1259249 - 500 20152.578 322.71466 0 3681.4777 5.4929878 - 550 20017.022 345.29701 0 3681.4673 5.4661666 - 600 17897.743 698.72196 0 3681.6791 3.2854742 - 650 17297.758 796.60256 0 3679.5623 15.191113 - 700 18581.934 584.29715 0 3681.2861 5.1588289 - 750 21774.158 52.821062 0 3681.8474 -10.775664 - 800 21604.055 81.188546 0 3681.8644 -3.2045743 - 850 17821.483 711.53827 0 3681.7854 7.4384279 - 900 21033.292 175.98127 0 3681.5299 -16.345167 - 950 20968.166 186.59847 0 3681.2929 -2.330456 - 1000 20490.66 266.19375 0 3681.3037 11.787983 - 1050 20222.396 310.94072 0 3681.34 -8.3459539 - 1100 21321.687 127.61533 0 3681.2299 -1.2184717 - 1150 20849.582 206.01695 0 3680.9472 -0.86699135 - 1200 21815.003 45.317412 0 3681.1512 1.5988314 - 1250 18655.437 572.41453 0 3681.654 10.06408 - 1300 20780.781 217.36509 0 3680.8286 6.0538614 - 1350 20558.971 254.36485 0 3680.8601 -3.6773923 - 1400 21485.029 99.812891 0 3680.6511 -16.185475 - 1450 21771.107 52.159624 0 3680.6775 -2.4756668 - 1500 21520.948 93.503905 0 3680.3286 2.1023577 - 1550 21351.418 121.68136 0 3680.2511 5.5159922 - 1600 20778.805 216.92182 0 3680.0559 15.089193 - 1650 21477.637 100.21853 0 3679.8247 -1.1045536 - 1700 18501.335 596.47986 0 3680.0357 -15.679729 - 1750 18563.64 587.34819 0 3681.2882 33.532254 - 1800 19110.181 494.82407 0 3679.8543 18.02406 - 1850 21364.186 119.23625 0 3679.9339 2.5290683 - 1900 20146.613 322.15086 0 3679.9197 5.7314718 - 1950 20692.671 231.25334 0 3680.0319 4.2977791 - 2000 20943.905 189.11211 0 3679.7629 -22.644575 - 2050 19667.965 401.84519 0 3679.8394 3.6247265 - 2100 20280.309 299.78396 0 3679.8355 7.4806221 - 2150 19181.565 483.57073 0 3680.4982 22.62593 - 2200 21300.569 130.63684 0 3680.7316 4.7090558 - 2250 20486.112 266.77753 0 3681.1296 -8.6505201 - 2300 18651.193 572.56862 0 3681.1008 -5.2604682 - 2350 21514.435 95.462414 0 3681.2016 -9.3718933 - 2400 21464.75 103.81741 0 3681.2757 -29.521964 - 2450 20103.185 331.7557 0 3682.2865 35.600257 - 2500 20767.309 221.18002 0 3682.3981 -12.41075 - 2550 20461.88 271.93545 0 3682.2488 -22.542329 - 2600 21463.807 104.97703 0 3682.2782 -10.118749 - 2650 20902.135 198.66716 0 3682.3564 5.0103958 - 2700 18582.384 585.6465 0 3682.7106 22.212808 - 2750 21079.961 168.86261 0 3682.1894 -8.8401109 - 2800 21425.876 111.18035 0 3682.1598 -6.7933883 - 2850 17414.605 780.0645 0 3682.4987 28.180022 - 2900 19978.961 352.1845 0 3682.0113 8.4280816 - 2950 21189.046 150.47808 0 3681.9858 2.8898793 - 3000 19271.367 469.54947 0 3681.4439 -7.1530396 - 3050 21470.889 103.45294 0 3681.9344 -1.4975516 - 3100 21574.513 85.87604 0 3681.6282 7.0301554 - 3150 21649.42 73.506656 0 3681.7434 1.6649326 - 3200 20857.44 205.3704 0 3681.6104 2.9318184 - 3250 18573.575 585.73328 0 3681.3292 5.9394399 - 3300 17938.353 691.67199 0 3681.3975 9.7205454 - 3350 18668.795 570.23722 0 3681.7031 3.6442733 - 3400 16834.721 876.36804 0 3682.1548 21.869594 - 3450 20148.848 323.06988 0 3681.2112 3.8120475 - 3500 21039.942 175.06064 0 3681.7177 1.4965105 - 3550 21439.472 108.66655 0 3681.9119 4.192594 - 3600 21457.784 105.54883 0 3681.8461 -2.932673 - 3650 21409.999 113.49591 0 3681.829 -15.09817 - 3700 21380.023 118.56895 0 3681.9061 -15.461367 - 3750 20422.085 277.28852 0 3680.9694 19.331799 - 3800 18275.038 635.75951 0 3681.5992 22.413362 - 3850 20906.341 197.06897 0 3681.4592 2.5691289 - 3900 20041.032 341.11847 0 3681.2905 1.8089245 - 3950 18917.084 528.44677 0 3681.2941 -10.656627 - 4000 20425.89 276.98688 0 3681.3018 7.5960674 - 4050 18289.157 633.13575 0 3681.3286 6.5695895 - 4100 19601.884 414.64621 0 3681.6269 8.6144847 - 4150 20790.308 216.9575 0 3682.0088 1.6300255 - 4200 21043.169 174.98738 0 3682.1822 3.8942459 - 4250 19073.45 503.63057 0 3682.5389 -10.975988 - 4300 21251.971 140.63454 0 3682.6298 -7.7937426 - 4350 20844.867 208.08653 0 3682.2311 -10.295096 - 4400 20869.781 203.57469 0 3681.8716 -8.7176985 - 4450 20384.41 284.19751 0 3681.5992 3.9044821 - 4500 20002.241 346.95848 0 3680.6654 12.100678 - 4550 21410.259 112.40994 0 3680.7864 -6.6653767 - 4600 18230.418 641.88921 0 3680.2922 22.502391 - 4650 21319.778 127.76737 0 3681.0638 -0.50309316 - 4700 19429.05 441.85455 0 3680.0296 20.851722 - 4750 20395.967 281.13332 0 3680.4611 12.635024 - 4800 19405.371 446.47714 0 3680.7056 -3.0340076 - 4850 19935.979 358.4478 0 3681.1109 -7.9390554 - 4900 18822.801 543.80607 0 3680.9396 -3.1086099 - 4950 20569.881 252.87963 0 3681.1932 11.807076 - 5000 20311.182 296.63458 0 3681.8315 -4.2409472 - 5050 20187.672 316.83663 0 3681.4486 1.8723981 - 5100 17439.679 775.35516 0 3681.9684 -5.7037267 - 5150 20394.4 282.56755 0 3681.6342 4.3399253 - 5200 20294.84 299.10095 0 3681.5742 -9.9868412 - 5250 20396.122 282.31614 0 3681.6698 -4.9932521 - 5300 20617.465 245.11679 0 3681.3609 0.97429493 - 5350 21651.191 72.878802 0 3681.4106 2.0913693 - 5400 19097.721 498.69617 0 3681.6496 21.808511 - 5450 21856.73 38.930299 0 3681.7186 -4.0225451 - 5500 20087.477 334.09405 0 3682.0069 5.7109498 - 5550 17734.477 726.10594 0 3681.8522 16.277738 - 5600 21183.231 151.714 0 3682.2525 -2.1080998 - 5650 20832.185 210.14251 0 3682.1733 -8.0602581 - 5700 18879.226 535.50935 0 3682.0471 -14.351666 - 5750 18931.81 529.67506 0 3684.9768 4.8675164 - 5800 21674.979 70.259619 0 3682.7561 -14.990544 - 5850 21395.905 116.47471 0 3682.4588 -0.94334402 - 5900 18532.955 593.27143 0 3682.0973 26.072477 - 5950 20767.534 220.78554 0 3682.0413 -1.6468662 - 6000 21546.127 91.167146 0 3682.1882 -5.4664857 - 6050 20085.534 334.40872 0 3681.9977 -0.34825498 - 6100 21218.156 145.88926 0 3682.2486 2.2871905 - 6150 20902.857 198.59424 0 3682.4038 6.0082154 - 6200 21726.547 61.195607 0 3682.2868 -2.2981656 - 6250 17507.589 764.20763 0 3682.1392 9.4977327 - 6300 21687.283 67.283821 0 3681.831 -8.694756 - 6350 19806.474 380.24632 0 3681.3254 -0.94067379 - 6400 21128.461 160.65399 0 3682.0641 -4.8435757 - 6450 19747.214 390.89694 0 3682.0992 1.9108969 - 6500 20460.408 272.79545 0 3682.8634 -4.1094877 - 6550 16740.095 892.11547 0 3682.1313 13.20551 - 6600 18326.164 628.80415 0 3683.1648 -19.884336 - 6650 18469.284 605.36384 0 3683.5778 10.345658 - 6700 21086.876 168.61821 0 3683.0976 -0.036118094 - 6750 19924.801 361.46485 0 3682.2649 -2.1144953 - 6800 19812.028 380.5919 0 3682.5966 11.119936 - 6850 19118.501 496.38857 0 3682.8054 0.53906703 - 6900 19221.04 478.31879 0 3681.8255 11.13851 - 6950 20482.79 269.03445 0 3682.8328 2.6705981 - 7000 16350.403 957.96283 0 3683.03 -2.9783385 - 7050 20789.906 218.36242 0 3683.3467 4.2465754 - 7100 17718.126 730.09011 0 3683.111 15.271811 - 7150 19020.414 513.34591 0 3683.4149 -8.3035633 - 7200 21165.007 156.24494 0 3683.7461 -7.3085107 - 7250 20520.422 264.35574 0 3684.4261 -6.7803072 - 7300 19078.795 505.10953 0 3684.9087 -11.147107 - 7350 20529.173 263.85389 0 3685.3827 0.59881989 - 7400 20548.068 261.27337 0 3685.9513 -5.0067382 - 7450 20849.172 211.46852 0 3686.3306 -0.80175538 - 7500 20869.894 207.95335 0 3686.2689 0.44541197 - 7550 18490.583 605.63557 0 3687.3993 -11.744631 - 7600 19185.381 488.52218 0 3686.0857 3.0881652 - 7650 20520.848 265.65037 0 3685.7917 -0.28165722 - 7700 20599.631 251.69265 0 3684.9645 0.19835423 - 7750 18428.55 614.11446 0 3685.5395 5.8092563 - 7800 19660.337 408.61674 0 3685.3396 4.9902979 - 7850 19409.663 450.30454 0 3685.2483 8.8641567 - 7900 21307.628 133.95865 0 3685.23 -1.8297128 - 7950 17828.245 713.05722 0 3684.4314 5.9673166 - 8000 15894.788 1036.4896 0 3685.621 57.567209 - 8050 18588.022 587.45738 0 3685.4611 1.5643233 - 8100 20664.194 241.59965 0 3685.632 -4.9298687 - 8150 17745.538 728.43249 0 3686.0221 6.121885 - 8200 18433.239 612.84747 0 3685.0539 17.078623 - 8250 19162.628 492.52511 0 3686.2965 12.204945 - 8300 18507.768 602.21188 0 3686.8399 -14.003487 - 8350 21010.715 184.80032 0 3686.5861 -0.93351338 - 8400 20888.233 205.24214 0 3686.6143 -5.3433619 - 8450 20920.621 199.6941 0 3686.4643 -30.437742 - 8500 17085.22 840.80474 0 3688.3414 3.9123878 - 8550 20900.377 203.87077 0 3687.267 -6.7525851 - 8600 19771.517 392.67499 0 3687.9278 13.762684 - 8650 19541.099 431.09497 0 3687.9448 2.0785077 - 8700 21056.327 178.88314 0 3688.2709 -13.663758 - 8750 20109.075 336.93228 0 3688.4447 -1.0445182 - 8800 21821.77 51.337654 0 3688.2993 -10.263971 - 8850 17653.401 740.45074 0 3682.6842 49.147758 - 8900 20311.01 302.92663 0 3688.095 -8.1910583 - 8950 19745.488 396.38557 0 3687.3003 -16.948557 - 9000 20248.989 311.52221 0 3686.3537 -2.4158415 - 9050 17850.649 710.17969 0 3685.2878 25.692377 - 9100 19370.284 456.73812 0 3685.1187 -21.201413 - 9150 20452.896 276.95741 0 3685.7735 2.0316457 - 9200 19174.266 488.9925 0 3684.7035 10.317202 - 9250 20174.171 323.4614 0 3685.8232 -2.1072552 - 9300 21442.761 111.68542 0 3685.479 -12.303658 - 9350 19697.287 402.21503 0 3685.0963 8.4697153 - 9400 21553.763 93.03581 0 3685.3297 -6.7286485 - 9450 18946.935 527.04498 0 3684.8674 -6.6174191 - 9500 21162.915 158.64321 0 3685.7957 -3.2085936 - 9550 20704.844 235.41227 0 3686.2196 10.847095 - 9600 20664.074 242.09733 0 3686.1096 3.7301969 - 9650 20829.655 214.20146 0 3685.8107 7.2197609 - 9700 17336.625 797.22781 0 3686.6654 14.775351 - 9750 19978.15 356.51126 0 3686.2029 -1.1978838 - 9800 21150.487 162.1616 0 3687.2427 -15.596643 - 9850 20849.962 213.10316 0 3688.0968 -5.5443282 - 9900 18407.158 620.93592 0 3688.7956 10.177471 - 9950 20459.637 278.24203 0 3688.1815 0.0020687238 - 10000 21667.112 78.10938 0 3689.2948 -12.660594 -Loop time of 3.06048 on 1 procs for 10000 steps with 81 atoms - -Performance: 28230.843 tau/day, 3267.459 timesteps/s, 264.664 katom-step/s -99.5% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.11571 | 0.11571 | 0.11571 | 0.0 | 3.78 -Neigh | 0.094982 | 0.094982 | 0.094982 | 0.0 | 3.10 -Comm | 0.0098585 | 0.0098585 | 0.0098585 | 0.0 | 0.32 -Output | 0.003355 | 0.003355 | 0.003355 | 0.0 | 0.11 -Modify | 2.8226 | 2.8226 | 2.8226 | 0.0 | 92.23 -Other | | 0.01395 | | | 0.46 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 115 ave 115 max 115 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 808 ave 808 max 808 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 808 -Ave neighs/atom = 9.9753086 -Neighbor list builds = 1162 -Dangerous builds = 0 -Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems.g++.4 b/examples/rigid/log.25Mar24.rigid.poems.g++.4 deleted file mode 100644 index b75701792d..0000000000 --- a/examples/rigid/log.25Mar24.rigid.poems.g++.4 +++ /dev/null @@ -1,328 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# 1 chain of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 36 45 -10 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -1 clusters, 9 bodies, 8 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 - -@Article{Mukherjee08, - author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, - title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, - journal = {Intl.\ J.\ Non-Linear Mechanics}, - year = 2008, - volume = 43, - number = 10, - pages = {1040--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -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 = 18 18 18 - 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.514 | 3.545 | 3.639 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 217.7783 3430.3907 0 3466.6871 -2.7403788 - 50 13679.637 1404.2468 0 3684.1863 12.446066 - 100 16777.225 888.87665 0 3685.0808 -31.828677 - 150 19595.365 418.45042 0 3684.3446 40.709078 - 200 18524.188 596.47273 0 3683.8375 -0.8159371 - 250 21015.789 180.96521 0 3683.5967 -10.042469 - 300 20785.513 219.25314 0 3683.5053 2.6452719 - 350 21072.46 171.2554 0 3683.3321 7.0609024 - 400 19956.414 356.36381 0 3682.4328 19.320259 - 450 20724.42 227.73284 0 3681.8028 8.1259249 - 500 20152.578 322.71466 0 3681.4777 5.4929878 - 550 20017.022 345.29701 0 3681.4673 5.4661666 - 600 17897.743 698.72196 0 3681.6791 3.2854742 - 650 17297.758 796.60256 0 3679.5623 15.191113 - 700 18581.934 584.29715 0 3681.2861 5.1588289 - 750 21774.158 52.821062 0 3681.8474 -10.775664 - 800 21604.055 81.188546 0 3681.8644 -3.2045743 - 850 17821.483 711.53827 0 3681.7854 7.4384277 - 900 21033.292 175.98127 0 3681.5299 -16.345167 - 950 20968.166 186.59847 0 3681.2929 -2.330456 - 1000 20490.66 266.19375 0 3681.3037 11.787983 - 1050 20222.396 310.94072 0 3681.34 -8.3459539 - 1100 21321.687 127.61533 0 3681.2299 -1.2184718 - 1150 20849.582 206.01695 0 3680.9472 -0.86699156 - 1200 21815.003 45.317416 0 3681.1512 1.5988314 - 1250 18655.437 572.41453 0 3681.654 10.064076 - 1300 20780.781 217.36505 0 3680.8286 6.0538619 - 1350 20558.972 254.36481 0 3680.8601 -3.6773978 - 1400 21485.029 99.812941 0 3680.6511 -16.185471 - 1450 21771.108 52.159596 0 3680.6775 -2.4756679 - 1500 21520.948 93.503942 0 3680.3286 2.1023578 - 1550 21351.418 121.6814 0 3680.2511 5.5159969 - 1600 20778.805 216.92173 0 3680.0559 15.089183 - 1650 21477.639 100.21825 0 3679.8247 -1.1045878 - 1700 18501.342 596.47873 0 3680.0357 -15.679646 - 1750 18563.643 587.34777 0 3681.2882 33.532181 - 1800 19110.189 494.82286 0 3679.8543 18.024038 - 1850 21364.195 119.2348 0 3679.9339 2.5291365 - 1900 20146.638 322.1467 0 3679.9197 5.7312008 - 1950 20692.67 231.25355 0 3680.0319 4.297766 - 2000 20943.904 189.1122 0 3679.7629 -22.645478 - 2050 19668.123 401.81885 0 3679.8394 3.6254541 - 2100 20280.531 299.74669 0 3679.8352 7.4808896 - 2150 19182.034 483.49332 0 3680.4991 22.616956 - 2200 21299.885 130.75166 0 3680.7326 4.7110487 - 2250 20487.525 266.54254 0 3681.1301 -8.6422018 - 2300 18654.522 572.01515 0 3681.1021 -5.2661499 - 2350 21512.897 95.719565 0 3681.2024 -9.3553511 - 2400 21467.306 103.39279 0 3681.2771 -29.588234 - 2450 20097.914 332.63812 0 3682.2904 35.845886 - 2500 20762.362 222.00787 0 3682.4016 -12.509872 - 2550 20417.692 279.31982 0 3682.2685 -22.320693 - 2600 21468.738 104.15905 0 3682.2821 -10.050868 - 2650 20742.305 225.31121 0 3682.362 5.2887043 - 2700 18575.367 586.68141 0 3682.5759 21.990986 - 2750 20577.766 252.52411 0 3682.1518 -5.8697894 - 2800 20683.69 234.89244 0 3682.1741 -6.7464964 - 2850 16088.831 1001.1454 0 3682.6172 27.686908 - 2900 20715.565 229.46407 0 3682.0583 6.5207552 - 2950 19969.143 353.98595 0 3682.1765 5.3891903 - 3000 20429.639 277.11063 0 3682.0505 -10.302229 - 3050 19840.965 375.78339 0 3682.611 -6.1970263 - 3100 19149.859 490.69976 0 3682.3429 22.372557 - 3150 20421.772 278.3256 0 3681.9543 8.7381033 - 3200 19492.899 433.22833 0 3682.0448 4.3431162 - 3250 20231.034 310.12852 0 3681.9675 -3.2734265 - 3300 19420.155 445.8855 0 3682.578 14.157316 - 3350 21386.445 117.85565 0 3682.2631 1.9590216 - 3400 20372.28 286.91596 0 3682.296 8.2472357 - 3450 20870.351 203.91619 0 3682.308 7.9601676 - 3500 21469.401 104.14434 0 3682.3778 2.5067348 - 3550 21630.799 77.317219 0 3682.4504 -6.5148709 - 3600 21291.513 133.97558 0 3682.5611 -8.8761801 - 3650 19138.211 493.09199 0 3682.7937 25.075733 - 3700 21282.953 135.36631 0 3682.5252 -8.1163312 - 3750 20660.876 239.15863 0 3682.638 -24.806983 - 3800 20161.169 322.26065 0 3682.4555 13.204808 - 3850 19477.477 435.56421 0 3681.8105 31.065794 - 3900 21108.425 164.35492 0 3682.4258 0.37839399 - 3950 21195.124 150.68497 0 3683.2056 -10.098889 - 4000 21477.025 103.95273 0 3683.4568 -4.139886 - 4050 20603.58 249.35497 0 3683.2849 1.3114756 - 4100 19724.656 396.37166 0 3683.8144 -6.6159163 - 4150 20768.839 221.21034 0 3682.6835 -3.4649381 - 4200 19675.942 404.01538 0 3683.339 17.586922 - 4250 21022.927 179.12036 0 3682.9415 0.59436606 - 4300 20511.134 264.68208 0 3683.2044 8.8380269 - 4350 21038.204 177.05256 0 3683.42 -1.3698914 - 4400 18866.857 539.5082 0 3683.9844 10.461602 - 4450 21607.322 83.184316 0 3684.4046 -1.5071605 - 4500 20895.628 201.9445 0 3684.5492 5.7578991 - 4550 20210.744 316.5044 0 3684.9617 5.6678493 - 4600 20416.269 282.24539 0 3684.9569 -3.0067543 - 4650 18811.283 549.46791 0 3684.6817 7.5182454 - 4700 20899.462 201.92249 0 3685.1661 2.6998262 - 4750 20771.285 223.44307 0 3685.3239 12.165622 - 4800 21834.653 46.231798 0 3685.3407 2.021615 - 4850 21282.348 138.2858 0 3685.3437 4.2174481 - 4900 21892.433 36.607993 0 3685.3468 -10.208769 - 4950 21731.003 63.442124 0 3685.2759 -26.918841 - 5000 21476.967 105.69026 0 3685.1848 -10.007088 - 5050 20485.84 270.81814 0 3685.1248 0.65119013 - 5100 21485.763 104.28837 0 3685.2488 -5.3826149 - 5150 21485.096 104.44183 0 3685.2912 -1.274141 - 5200 21388.175 120.61165 0 3685.3074 -7.7953815 - 5250 20656.672 242.51472 0 3685.2934 -4.4067447 - 5300 20132.262 330.10916 0 3685.4862 -11.466755 - 5350 19080.054 505.63228 0 3685.6413 4.6356684 - 5400 21683.337 71.886529 0 3685.7761 -8.4520633 - 5450 20632.669 246.77173 0 3685.5499 5.5429152 - 5500 20896.92 202.76984 0 3685.5898 3.9762924 - 5550 21172.409 156.92085 0 3685.6557 2.6573146 - 5600 20695.91 236.255 0 3685.5733 -18.109158 - 5650 21741.679 61.956471 0 3685.5697 -3.7520994 - 5700 21164.94 157.60813 0 3685.098 2.4020734 - 5750 21075.393 172.84386 0 3685.4093 7.646915 - 5800 20638.831 245.82076 0 3685.6259 8.3009859 - 5850 20262.966 308.37489 0 3685.5359 7.5861941 - 5900 21730.418 63.97074 0 3685.7071 -6.2813552 - 5950 21820.659 48.990687 0 3685.7673 -5.6400713 - 6000 21027.051 181.2853 0 3685.7937 1.213872 - 6050 14422.66 1284.4174 0 3688.194 57.908667 - 6100 19852.685 377.0743 0 3685.8552 -5.1418207 - 6150 20678.783 239.10987 0 3685.5737 -11.982018 - 6200 19788.097 387.62127 0 3685.6375 -2.684571 - 6250 21611.523 83.575418 0 3685.496 1.7544019 - 6300 19214.109 482.45067 0 3684.8021 24.711965 - 6350 18800.074 553.07966 0 3686.4254 11.125791 - 6400 19771.53 390.40388 0 3685.659 -6.1254643 - 6450 20192.282 319.53713 0 3684.9175 13.959536 - 6500 20360.332 292.28682 0 3685.6755 4.4265274 - 6550 21778.739 56.056362 0 3685.8462 -4.6705452 - 6600 16612.689 917.96646 0 3686.748 -32.617733 - 6650 21068.368 174.38501 0 3685.7797 -0.84207954 - 6700 20749.675 227.41249 0 3685.6916 2.9235268 - 6750 20594.96 253.47665 0 3685.9699 -12.440843 - 6800 19974.133 357.05242 0 3686.0745 34.064247 - 6850 21802.523 52.05173 0 3685.8055 -1.4073818 - 6900 18644.747 577.97031 0 3685.4282 19.759245 - 6950 20463.441 274.90799 0 3685.4815 1.2230553 - 7000 20213.292 316.50714 0 3685.3892 23.9288 - 7050 21571.525 90.089593 0 3685.3437 -26.539261 - 7100 20480.036 271.77541 0 3685.1147 -0.13969301 - 7150 21064.842 174.4144 0 3685.2214 3.5451037 - 7200 21179.296 154.8514 0 3684.7341 -5.007319 - 7250 20714.182 232.84783 0 3685.2115 10.601943 - 7300 19341.561 461.91524 0 3685.5087 18.89547 - 7350 21011.016 183.55321 0 3685.3893 1.6481821 - 7400 21206.598 151.07364 0 3685.5066 1.5040526 - 7450 19999.404 352.83129 0 3686.0652 -18.58587 - 7500 21581.952 88.519362 0 3685.5114 -4.0009441 - 7550 21652.618 76.962392 0 3685.7321 -5.758242 - 7600 21207.411 150.86712 0 3685.4355 -0.023727123 - 7650 21756.168 59.804311 0 3685.8323 0.76768563 - 7700 21825.037 48.380795 0 3685.8869 -0.11098207 - 7750 21581.665 89.078228 0 3686.0223 -0.50220667 - 7800 21714.856 66.946216 0 3686.0889 4.637364 - 7850 21319.774 132.905 0 3686.2007 3.4663558 - 7900 21730.647 64.263898 0 3686.0384 1.0898763 - 7950 21597.663 86.255996 0 3685.8664 3.2847476 - 8000 21724.118 65.137632 0 3685.8239 3.7318614 - 8050 19672.702 406.56191 0 3685.3456 -0.37960768 - 8100 21696.026 69.71367 0 3685.7179 -6.2273451 - 8150 18869.648 540.09908 0 3685.0403 22.915669 - 8200 21717.002 66.01922 0 3685.5196 -4.8553801 - 8250 20292.502 303.3445 0 3685.4282 -13.203008 - 8300 21314.341 133.18215 0 3685.5724 -10.023288 - 8350 20992.272 186.87998 0 3685.592 -4.5538872 - 8400 21726.088 64.55825 0 3685.573 -5.1228188 - 8450 21188.98 153.93449 0 3685.4311 -6.8622554 - 8500 21113.87 166.54678 0 3685.5251 2.6009221 - 8550 20620.735 248.66776 0 3685.4569 -8.0047984 - 8600 19715.276 399.79648 0 3685.6758 -10.980391 - 8650 18898.94 535.95488 0 3685.7782 22.513752 - 8700 21692.841 70.067726 0 3685.5413 -3.3917479 - 8750 20242.909 311.87115 0 3685.6893 17.996012 - 8800 19253.702 476.69077 0 3685.6411 3.7170165 - 8850 17625.913 748.07802 0 3685.7302 11.095548 - 8900 21554.709 92.817998 0 3685.2696 0.30720376 - 8950 21585.337 87.685891 0 3685.2421 -0.22047593 - 9000 17454.847 776.14227 0 3685.2834 22.631913 - 9050 20023.106 347.35041 0 3684.5348 4.0008899 - 9100 21100.691 168.07199 0 3684.8539 2.9016681 - 9150 20307.206 299.45669 0 3683.991 2.1630277 - 9200 21747.579 60.245542 0 3684.8421 -15.419887 - 9250 21525.571 97.26157 0 3684.8567 -7.0449498 - 9300 15084.149 1170.5925 0 3684.6173 43.259279 - 9350 21198.648 151.70957 0 3684.8176 3.0716881 - 9400 17771.533 724.65805 0 3686.5802 -18.320033 - 9450 20029.819 346.23988 0 3684.543 -4.0976705 - 9500 19913.342 365.57743 0 3684.4677 2.4909741 - 9550 20594.619 252.35578 0 3684.7923 -4.4263632 - 9600 21013.668 182.33425 0 3684.6122 -1.9371919 - 9650 16915.052 865.78051 0 3684.9559 1.8697619 - 9700 18789.78 553.48818 0 3685.1181 15.642074 - 9750 21236.716 145.75801 0 3685.2107 -3.6730702 - 9800 20972.957 189.72849 0 3685.2214 0.85691231 - 9850 19658.721 408.29826 0 3684.7517 14.8446 - 9900 21624.401 81.484234 0 3685.5511 3.4507557 - 9950 21883.535 38.474607 0 3685.7304 0.3038348 - 10000 21355.31 126.72088 0 3685.9392 -5.5872974 -Loop time of 3.32742 on 4 procs for 10000 steps with 81 atoms - -Performance: 25966.084 tau/day, 3005.334 timesteps/s, 243.432 katom-step/s -99.4% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0073125 | 0.031081 | 0.067049 | 13.5 | 0.93 -Neigh | 0.010912 | 0.030444 | 0.058202 | 10.8 | 0.91 -Comm | 0.084952 | 0.12347 | 0.18323 | 10.9 | 3.71 -Output | 0.0033463 | 0.0038996 | 0.0047508 | 0.9 | 0.12 -Modify | 2.8501 | 2.9361 | 3.0072 | 3.5 | 88.24 -Other | | 0.2024 | | | 6.08 - -Nlocal: 20.25 ave 81 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 1 -Nghost: 33.5 ave 66 max 2 min -Histogram: 1 1 0 0 0 0 0 1 0 1 -Neighs: 212.5 ave 850 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 850 -Ave neighs/atom = 10.493827 -Neighbor list builds = 1246 -Dangerous builds = 0 -Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems2.g++.1 b/examples/rigid/log.25Mar24.rigid.poems2.g++.1 deleted file mode 100644 index 4a8cb1298a..0000000000 --- a/examples/rigid/log.25Mar24.rigid.poems2.g++.1 +++ /dev/null @@ -1,330 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# 2 chains of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 -fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -2 clusters, 9 bodies, 7 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems2 - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 - -@Article{Mukherjee08, - author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, - title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, - journal = {Intl.\ J.\ Non-Linear Mechanics}, - year = 2008, - volume = 43, - number = 10, - pages = {1040--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -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 = 18 18 18 - 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.666 | 3.666 | 3.666 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 196.00047 3632.2347 0 3668.5311 -2.7403788 - 50 12774.759 1538.7378 0 3904.434 18.086356 - 100 19803.641 237.21132 0 3904.5523 -3.1528278 - 150 20259.6 152.62072 0 3904.3985 -4.6173512 - 200 20705.978 69.977442 0 3904.4178 9.0928146 - 250 19552.211 283.50505 0 3904.2848 15.670464 - 300 19266.324 333.5788 0 3901.4165 7.2119173 - 350 20738.325 63.738945 0 3904.1694 -23.039989 - 400 20616.682 86.082444 0 3903.9864 -13.783584 - 450 19831.326 230.13818 0 3902.6059 0.42074126 - 500 20365.825 131.47231 0 3902.9213 0.69215475 - 550 20794.102 52.163238 0 3902.9229 4.5895354 - 600 20853.873 40.899172 0 3902.7275 2.3593042 - 650 19255.802 336.29509 0 3902.1844 10.341742 - 700 18526.969 471.02462 0 3901.9448 -0.61898691 - 750 18960.662 391.26028 0 3902.494 12.047308 - 800 20142.432 172.05197 0 3902.1319 4.6838632 - 850 19932.48 210.71155 0 3901.9116 3.471602 - 900 20243.528 153.13972 0 3901.9411 3.6490762 - 950 20388.132 126.88722 0 3902.4671 -4.4518463 - 1000 20076.333 184.61916 0 3902.4586 -2.2723139 - 1050 20859.506 39.696992 0 3902.5684 6.45166 - 1100 15284.661 1072.1908 0 3902.6836 21.194042 - 1150 19658.317 261.99809 0 3902.4272 -2.8744219 - 1200 20767.681 56.717093 0 3902.5839 -34.817443 - 1250 20625.583 82.586395 0 3902.1388 11.697328 - 1300 20690.013 71.006479 0 3902.4903 -29.292783 - 1350 20936.019 26.022787 0 3903.0634 1.0316033 - 1400 19753.56 244.81774 0 3902.8844 6.7138457 - 1450 15690.143 998.34271 0 3903.9248 48.124667 - 1500 20234.455 155.92517 0 3903.0465 13.172173 - 1550 20779.63 55.062895 0 3903.1426 -2.6390424 - 1600 20642.757 80.232879 0 3902.9657 -2.4687934 - 1650 18785.716 423.90031 0 3902.7365 -5.6468747 - 1700 20965.076 20.760295 0 3903.1818 -0.45382233 - 1750 18935.466 396.94949 0 3903.5173 25.912008 - 1800 20581.509 91.766145 0 3903.1567 3.8229018 - 1850 20616.968 85.18122 0 3903.1382 4.1907646 - 1900 16600.676 828.66496 0 3902.8643 -0.49197745 - 1950 20175.677 166.50513 0 3902.7416 5.6027746 - 2000 20268.078 149.2566 0 3902.6044 -1.1951453 - 2050 20155.388 170.16328 0 3902.6425 -0.79473147 - 2100 19715.497 250.63403 0 3901.652 3.6719022 - 2150 20677.205 73.792009 0 3902.9041 0.64246071 - 2200 20041.156 191.58407 0 3902.9093 7.4438342 - 2250 19924.453 213.0259 0 3902.7394 2.3652069 - 2300 20432.764 119.13103 0 3902.9763 -11.527566 - 2350 18265.828 520.75569 0 3903.3165 -8.9634198 - 2400 19574.981 277.7963 0 3902.7927 1.8085002 - 2450 20655.975 77.958119 0 3903.1387 3.4001031 - 2500 19783.143 239.3546 0 3902.8995 24.872182 - 2550 16660.113 818.36907 0 3903.5752 -11.766765 - 2600 19789.524 238.61817 0 3903.3448 3.3910931 - 2650 18532.96 471.8684 0 3903.898 -4.812577 - 2700 19081.457 369.81185 0 3903.4151 -0.49159968 - 2750 20370.042 131.6764 0 3903.9064 -3.3818893 - 2800 20727.087 65.499688 0 3903.8491 4.3537941 - 2850 18252.657 523.061 0 3903.1827 11.774986 - 2900 20780.391 55.586541 0 3903.8071 5.4415831 - 2950 20361.047 132.98647 0 3903.5508 -2.4847656 - 3000 19528.633 284.87405 0 3901.2876 14.23453 - 3050 20385.56 127.80448 0 3902.9081 -0.51079949 - 3100 19040.7 376.96613 0 3903.0216 -8.9425331 - 3150 20053.417 189.7312 0 3903.327 4.6695643 - 3200 20862.681 40.219985 0 3903.6795 1.2220199 - 3250 20692.32 71.660474 0 3903.5716 2.118694 - 3300 20560.104 95.905282 0 3903.332 5.9856809 - 3350 20693.236 71.35789 0 3903.4387 3.9315564 - 3400 19045.135 376.64379 0 3903.5206 3.9692419 - 3450 20354.826 134.28157 0 3903.6938 7.6208552 - 3500 20528.053 102.12643 0 3903.6178 7.2863414 - 3550 20525.13 103.01612 0 3903.9661 8.4807852 - 3600 19782.42 240.28031 0 3903.6914 1.0181878 - 3650 20519.52 104.05243 0 3903.9636 -2.36641 - 3700 20024.307 195.68587 0 3903.8908 -6.261818 - 3750 20239.643 155.72722 0 3903.8092 -20.781566 - 3800 20601.2 88.794605 0 3903.8317 -11.491217 - 3850 20973.346 19.675436 0 3903.6283 -9.0554155 - 3900 16212.846 902.10241 0 3904.4813 -19.773976 - 3950 19645.576 264.59477 0 3902.6643 16.065663 - 4000 17439.655 673.47397 0 3903.0398 -3.7357722 - 4050 19305.077 328.50056 0 3903.5148 10.43441 - 4100 18634.36 451.24343 0 3902.0508 3.4327844 - 4150 20249.11 153.64108 0 3903.4763 -2.5190604 - 4200 19177.928 351.81896 0 3903.2871 -5.5110274 - 4250 20754.898 60.189732 0 3903.6893 -3.3019026 - 4300 19693.307 256.31591 0 3903.2245 5.8795929 - 4350 18411.713 494.6957 0 3904.2722 4.2513782 - 4400 18499.707 474.35141 0 3900.2231 10.120914 - 4450 18620.543 449.98137 0 3898.2301 0.74648702 - 4500 18930.676 398.47668 0 3904.1573 -3.3953153 - 4550 18708.382 438.70363 0 3903.2188 8.478793 - 4600 19937.049 211.7655 0 3903.8117 4.8300368 - 4650 19919.169 214.98435 0 3903.7194 -1.0166319 - 4700 19345.329 321.18127 0 3903.6496 -23.032019 - 4750 18391.67 498.629 0 3904.4939 -15.40779 - 4800 18597.103 459.20983 0 3903.1179 9.3900723 - 4850 19857.892 226.27908 0 3903.6665 4.1998427 - 4900 20428.515 120.59483 0 3903.6532 -1.8636046 - 4950 18457.127 485.79992 0 3903.7864 -7.2380409 - 5000 20543.123 99.480661 0 3903.7627 -0.39555479 - 5050 18716.671 436.46735 0 3902.5175 29.395654 - 5100 20048.411 191.03727 0 3903.706 -0.91178091 - 5150 19647.675 265.24989 0 3903.7083 3.8658742 - 5200 20787.465 54.078505 0 3903.6091 -3.3582221 - 5250 20630.096 83.165593 0 3903.5538 -11.86045 - 5300 16598.926 830.02918 0 3903.9043 -1.8793568 - 5350 19114.667 363.424 0 3903.1772 11.894383 - 5400 19563.654 280.22257 0 3903.1215 8.8285523 - 5450 20012.628 197.27325 0 3903.3154 2.1981092 - 5500 17845.428 599.4114 0 3904.1202 20.091131 - 5550 20630.423 82.857857 0 3903.3065 0.93827014 - 5600 19675.125 259.89939 0 3903.4411 -2.4034875 - 5650 19932.349 212.22024 0 3903.3961 2.0064698 - 5700 20499.192 107.17918 0 3903.3259 2.5440649 - 5750 19522.335 287.94941 0 3903.1966 -0.7615272 - 5800 18010.242 568.31554 0 3903.5455 -6.3433889 - 5850 20177.497 166.64243 0 3903.2159 -0.95012013 - 5900 17919.358 584.40694 0 3902.8065 10.49282 - 5950 18390.453 498.29164 0 3903.9311 10.026285 - 6000 18040.232 562.71939 0 3903.5032 0.22172862 - 6050 19777.355 240.88597 0 3903.3592 -3.1899015 - 6100 19132.014 360.58765 0 3903.5531 1.6644736 - 6150 19780.214 240.31985 0 3903.3224 4.2403325 - 6200 18883.45 406.45503 0 3903.3902 -3.5422327 - 6250 19875.924 222.49729 0 3903.2239 3.0535292 - 6300 19882.454 221.4928 0 3903.4287 5.7371152 - 6350 19040.565 377.18193 0 3903.2124 -0.26454332 - 6400 19137.008 359.7025 0 3903.5929 9.5375531 - 6450 19655.205 263.59789 0 3903.4507 -1.8592763 - 6500 18385.045 499.5436 0 3904.1816 -7.8549266 - 6550 18823.423 417.69964 0 3903.5187 -2.8268518 - 6600 19414.118 308.11966 0 3903.3268 4.6627243 - 6650 20533.065 100.75047 0 3903.1698 3.3716972 - 6700 20206.283 161.18079 0 3903.085 5.6368472 - 6750 19517.622 288.72511 0 3903.0995 0.3337076 - 6800 18152.278 541.45525 0 3902.9883 -7.2734044 - 6850 18910.032 401.19322 0 3903.0511 6.2653128 - 6900 18580.612 462.26403 0 3903.1182 15.681586 - 6950 20459.012 114.44928 0 3903.1552 -0.82985388 - 7000 20866.868 38.822988 0 3903.0578 -6.2182429 - 7050 20460.074 114.11492 0 3903.0175 -2.1465384 - 7100 20553.533 96.636153 0 3902.846 -5.105486 - 7150 20447.915 116.30898 0 3902.9599 8.2035464 - 7200 20703.396 69.030336 0 3902.9926 9.1221166 - 7250 19652.215 263.63438 0 3902.9335 17.675447 - 7300 20691.205 71.094727 0 3902.7994 -1.7423404 - 7350 18845.785 412.74313 0 3902.7033 -2.0276584 - 7400 18462.131 483.73088 0 3902.6441 -0.22424322 - 7450 20458.641 113.96173 0 3902.599 -4.9286236 - 7500 17681.258 628.1576 0 3902.4647 -16.803813 - 7550 19149.34 356.35773 0 3902.5318 -5.3481685 - 7600 19723.907 249.45462 0 3902.03 7.2597963 - 7650 19317.18 325.01536 0 3902.271 -0.16642424 - 7700 19620.248 269.22043 0 3902.5996 -4.6771277 - 7750 17751.083 615.46827 0 3902.7058 7.3637076 - 7800 20724.904 64.633157 0 3902.5784 5.2079592 - 7850 19966.924 204.60327 0 3902.1817 6.4943932 - 7900 19730.339 248.88701 0 3902.6536 8.4392109 - 7950 19907.748 216.06587 0 3902.6859 -5.1989259 - 8000 18217.971 528.46486 0 3902.1632 -15.394144 - 8050 17868.898 592.98294 0 3902.0381 9.1139508 - 8100 19370.601 315.22753 0 3902.3759 7.9651368 - 8150 18199.01 532.43818 0 3902.6252 10.07163 - 8200 20646.337 79.222148 0 3902.6179 0.17396159 - 8250 20811.938 48.374613 0 3902.4372 -14.594973 - 8300 20906.571 30.626024 0 3902.2132 -12.34909 - 8350 19873.431 221.86861 0 3902.1335 7.1435615 - 8400 20374.979 127.96219 0 3901.1064 10.527044 - 8450 20701.502 68.073078 0 3901.6846 2.5071154 - 8500 20452.423 113.98399 0 3901.4698 4.2164058 - 8550 19695.059 253.87834 0 3901.1115 8.0656507 - 8600 19447.531 299.45597 0 3900.8505 -0.71982287 - 8650 17202.668 714.55842 0 3900.2378 -16.743518 - 8700 18579.153 459.20676 0 3899.7906 3.4494692 - 8750 20247.204 150.39086 0 3899.8731 -0.1022032 - 8800 18520.797 469.57224 0 3899.3494 5.7412252 - 8850 16011.411 934.80107 0 3899.8772 34.500452 - 8900 19045.914 372.92529 0 3899.9464 10.001612 - 8950 19798.369 233.70991 0 3900.0746 9.3270865 - 9000 17141.02 725.70858 0 3899.9716 -6.7470927 - 9050 17722.847 617.81927 0 3899.828 -10.909071 - 9100 20811.604 45.701413 0 3899.7021 -12.300065 - 9150 18066.034 554.62654 0 3900.1884 -5.7606837 - 9200 19259.884 332.49612 0 3899.1412 -40.231609 - 9250 19116.782 359.42396 0 3899.5689 0.68271469 - 9300 18785.022 421.1178 0 3899.8256 -20.433345 - 9350 19018.32 377.90289 0 3899.814 3.2963902 - 9400 17321.798 691.93839 0 3899.6788 24.552549 - 9450 18318.437 507.12661 0 3899.4297 6.1367468 - 9500 16431.681 857.32722 0 3900.2311 25.431389 - 9550 17920.939 581.45381 0 3900.1462 9.1734747 - 9600 16603.394 825.79291 0 3900.4954 -5.9643183 - 9650 17753.931 607.15019 0 3894.9151 2.2302338 - 9700 17452.305 668.30613 0 3900.2145 2.4635322 - 9750 15955.164 945.80159 0 3900.4617 20.290857 - 9800 17958.495 574.7055 0 3900.3526 12.218625 - 9850 18759.766 423.66965 0 3897.7005 -4.8999337 - 9900 19798.529 232.2507 0 3898.6449 0.10312101 - 9950 18260.87 517.50071 0 3899.1432 5.7261992 - 10000 19116.279 359.58291 0 3899.6345 3.2110764 -Loop time of 3.11933 on 1 procs for 10000 steps with 81 atoms - -Performance: 27698.233 tau/day, 3205.814 timesteps/s, 259.671 katom-step/s -99.5% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.063297 | 0.063297 | 0.063297 | 0.0 | 2.03 -Neigh | 0.072119 | 0.072119 | 0.072119 | 0.0 | 2.31 -Comm | 0.012058 | 0.012058 | 0.012058 | 0.0 | 0.39 -Output | 0.0036722 | 0.0036722 | 0.0036722 | 0.0 | 0.12 -Modify | 2.953 | 2.953 | 2.953 | 0.0 | 94.67 -Other | | 0.01515 | | | 0.49 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 105 ave 105 max 105 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 498 ave 498 max 498 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 498 -Ave neighs/atom = 6.1481481 -Neighbor list builds = 1202 -Dangerous builds = 0 -Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems2.g++.4 b/examples/rigid/log.25Mar24.rigid.poems2.g++.4 deleted file mode 100644 index bc26f32538..0000000000 --- a/examples/rigid/log.25Mar24.rigid.poems2.g++.4 +++ /dev/null @@ -1,330 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# 2 chains of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 -fix 1 all poems group clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 -2 clusters, 9 bodies, 7 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems2 - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 - -@Article{Mukherjee08, - author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, - title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, - journal = {Intl.\ J.\ Non-Linear Mechanics}, - year = 2008, - volume = 43, - number = 10, - pages = {1040--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -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 = 18 18 18 - 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.514 | 3.545 | 3.639 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 196.00047 3632.2347 0 3668.5311 -2.7403788 - 50 12774.759 1538.7378 0 3904.434 18.086356 - 100 19803.641 237.21132 0 3904.5523 -3.1528278 - 150 20259.6 152.62032 0 3904.3981 -4.6173548 - 200 20705.978 69.977442 0 3904.4178 9.0928146 - 250 19552.211 283.50525 0 3904.285 15.670465 - 300 19266.324 333.5792 0 3901.4169 7.2119197 - 350 20738.325 63.738945 0 3904.1694 -23.03999 - 400 20616.682 86.082444 0 3903.9864 -13.783584 - 450 19831.326 230.13858 0 3902.6063 0.42074361 - 500 20365.825 131.47271 0 3902.9217 0.69215592 - 550 20794.102 52.163238 0 3902.9229 4.5895354 - 600 20853.873 40.899172 0 3902.7275 2.3593042 - 650 19255.802 336.29509 0 3902.1844 10.341742 - 700 18526.969 471.02462 0 3901.9448 -0.61898691 - 750 18960.662 391.26068 0 3902.4944 12.04731 - 800 20142.432 172.05197 0 3902.1319 4.6838632 - 850 19932.48 210.71175 0 3901.9118 3.4716031 - 900 20243.528 153.13972 0 3901.9411 3.6490762 - 950 20388.132 126.88722 0 3902.4671 -4.4518463 - 1000 20076.333 184.61916 0 3902.4586 -2.272315 - 1050 20859.506 39.696992 0 3902.5684 6.45166 - 1100 15284.661 1072.1906 0 3902.6833 21.194041 - 1150 19658.317 261.99809 0 3902.4272 -2.8744196 - 1200 20767.681 56.717093 0 3902.5839 -34.817444 - 1250 20625.583 82.586396 0 3902.1388 11.697328 - 1300 20690.013 71.006479 0 3902.4903 -29.292783 - 1350 20936.019 26.022787 0 3903.0634 1.0316031 - 1400 19753.56 244.81777 0 3902.8844 6.713847 - 1450 15690.145 998.34279 0 3903.9252 48.124638 - 1500 20234.455 155.92476 0 3903.0461 13.17218 - 1550 20779.631 55.063072 0 3903.1428 -2.6390427 - 1600 20642.756 80.233303 0 3902.9659 -2.4688077 - 1650 18785.71 423.90132 0 3902.7365 -5.6468182 - 1700 20965.076 20.760481 0 3903.182 -0.45377448 - 1750 18935.45 396.95247 0 3903.5173 25.912353 - 1800 20581.523 91.763662 0 3903.1567 3.8225817 - 1850 20616.962 85.182351 0 3903.1382 4.1907744 - 1900 16601.061 828.59343 0 3902.8639 -0.49284971 - 1950 20175.618 166.51633 0 3902.7419 5.6031735 - 2000 20266.439 149.55931 0 3902.6036 -1.1956447 - 2050 20159.308 169.44017 0 3902.6453 -0.7983344 - 2100 19743.72 245.40822 0 3901.6527 3.5301052 - 2150 20674.556 74.284034 0 3902.9055 0.61532081 - 2200 19950.784 208.30189 0 3902.8915 7.6523945 - 2250 19817.161 232.7485 0 3902.5932 3.4492756 - 2300 20459.058 114.2307 0 3902.9451 -11.066393 - 2350 18359.21 503.25787 0 3903.1115 -9.0741539 - 2400 19952.914 207.84881 0 3902.8328 -0.53972874 - 2450 19661.352 259.78979 0 3900.781 7.8669927 - 2500 20917.293 29.699201 0 3903.2719 1.1433085 - 2550 20763.955 57.990256 0 3903.1671 -1.1088372 - 2600 20640.005 80.556339 0 3902.7795 9.6127007 - 2650 20823.227 47.292746 0 3903.446 2.2923503 - 2700 20401.43 125.53141 0 3903.5739 -8.0683618 - 2750 20689.918 72.242212 0 3903.7084 0.22078527 - 2800 20783.922 54.87309 0 3903.7476 2.0668249 - 2850 19258.563 336.84835 0 3903.2488 4.2704683 - 2900 20565.694 95.184831 0 3903.6468 -0.24799068 - 2950 20915.041 30.344751 0 3903.5004 -2.9900907 - 3000 19571.964 278.74004 0 3903.1778 12.195325 - 3050 20356.693 133.43974 0 3903.1976 0.11608195 - 3100 20047.888 190.69627 0 3903.268 -4.5895546 - 3150 19834.363 230.59072 0 3903.6209 -1.4352632 - 3200 20213.412 160.25129 0 3903.4757 3.7488266 - 3250 19286.774 332.04497 0 3903.6699 -5.0835358 - 3300 20952.226 23.774103 0 3903.816 0.10019546 - 3350 20407.952 124.62932 0 3903.8798 0.4403531 - 3400 19401.716 311.03567 0 3903.9461 1.8034568 - 3450 20880.78 37.20558 0 3904.0167 6.3948533 - 3500 19529.313 287.50301 0 3904.0425 12.311168 - 3550 20943.604 25.677677 0 3904.1228 5.1786098 - 3600 20272.725 149.91697 0 3904.1254 1.196909 - 3650 19781.047 240.95421 0 3904.1111 -8.5091671 - 3700 20613.433 86.53896 0 3903.8414 -9.1622102 - 3750 20567.605 95.294456 0 3904.1101 -0.11887825 - 3800 19891.98 220.32932 0 3904.0292 6.8801146 - 3850 20669.735 76.407858 0 3904.1365 -7.4310509 - 3900 20908.711 32.197181 0 3904.1807 -4.6573356 - 3950 20822.78 48.03134 0 3904.1018 0.086779759 - 4000 20199.055 163.66262 0 3904.2283 2.0027771 - 4050 20072.638 187.07041 0 3904.2256 4.4103784 - 4100 17724.651 619.7903 0 3902.1331 11.210006 - 4150 20760.201 60.001382 0 3904.4831 -3.8510009 - 4200 19159.102 356.30472 0 3904.2865 -2.3503308 - 4250 19403.974 311.3497 0 3904.6783 -1.2458384 - 4300 20858.687 42.000734 0 3904.7206 2.1750528 - 4350 20486.989 110.94383 0 3904.8306 5.017245 - 4400 20231.073 158.28825 0 3904.7832 7.4295979 - 4450 16369.689 873.39361 0 3904.8175 14.371454 - 4500 20745.196 63.11427 0 3904.8172 -7.855609 - 4550 18688.003 443.85636 0 3904.5977 9.8067426 - 4600 17755.672 616.68475 0 3904.7721 -3.9654703 - 4650 19843.131 230.34486 0 3904.9988 -0.13553926 - 4700 18873.202 409.99341 0 3905.0308 15.912724 - 4750 20605.355 89.223116 0 3905.0295 2.0847611 - 4800 20136.483 176.1278 0 3905.1062 -1.7091113 - 4850 19808.073 236.83278 0 3904.9945 5.0982271 - 4900 19142.083 359.55764 0 3904.3878 8.2072008 - 4950 20539.687 101.08198 0 3904.7277 8.0469319 - 5000 20840.809 45.759021 0 3905.168 4.771755 - 5050 20009.696 199.45528 0 3904.9546 6.1191423 - 5100 20882.034 38.247578 0 3905.2909 -6.3068822 - 5150 20329.869 140.47458 0 3905.2651 -21.720979 - 5200 17334.411 695.67098 0 3905.7471 -9.8243617 - 5250 19602.025 275.17282 0 3905.1775 -3.2371379 - 5300 20858.74 42.630642 0 3905.3603 0.38011789 - 5350 20828.619 48.188698 0 3905.3403 5.7187945 - 5400 20978.428 20.447148 0 3905.3413 6.1168011 - 5450 20115.374 179.9294 0 3904.9987 8.6440563 - 5500 20522.744 104.7733 0 3905.2815 -2.6561664 - 5550 20625.724 85.600795 0 3905.1792 -1.327206 - 5600 19559.638 282.68742 0 3904.8426 17.893028 - 5650 20552.224 98.978098 0 3904.9455 2.4489071 - 5700 19982.142 204.09989 0 3904.4966 9.9034011 - 5750 20408.825 125.30875 0 3904.7209 1.2515548 - 5800 19773.143 243.02134 0 3904.7144 -2.6729948 - 5850 20781.934 56.310486 0 3904.8168 -1.659054 - 5900 19807.668 236.54392 0 3904.6306 0.49776361 - 5950 20741.237 63.921667 0 3904.8916 4.2800039 - 6000 20322.7 140.98125 0 3904.4442 7.4978024 - 6050 20858.439 42.383629 0 3905.0575 -4.6872323 - 6100 20212.538 162.022 0 3905.0847 -7.0796165 - 6150 18513.957 476.7087 0 3905.2193 7.107138 - 6200 20802.734 52.621638 0 3904.9797 3.7242428 - 6250 20818.044 49.717458 0 3904.9109 -0.91041774 - 6300 19987.245 203.4635 0 3904.8052 -0.86714551 - 6350 20806.906 51.449749 0 3904.5806 -4.0699629 - 6400 20530.3 103.09809 0 3905.0055 1.660177 - 6450 20667.085 77.715553 0 3904.9535 0.99217521 - 6500 20515.816 105.81762 0 3905.0428 3.0994091 - 6550 20548.348 99.627131 0 3904.8769 -0.77417688 - 6600 19827.378 232.99889 0 3904.7355 3.295082 - 6650 19237.199 342.94808 0 3905.3923 -6.2226637 - 6700 19611.621 273.139 0 3904.9206 -3.5465535 - 6750 20874.805 39.1893 0 3904.8939 -0.051336814 - 6800 19433.717 305.99952 0 3904.8361 -19.858865 - 6850 20119.223 179.19987 0 3904.9818 4.6466283 - 6900 20467.389 114.77871 0 3905.0359 10.290214 - 6950 20334.202 139.43289 0 3905.0259 7.5448433 - 7000 20504.591 107.86929 0 3905.0158 -0.10092084 - 7050 17969.214 576.83722 0 3904.4694 10.852897 - 7100 19186.398 351.80467 0 3904.8414 0.24779979 - 7150 20261.23 152.54684 0 3904.6265 -7.0175844 - 7200 20696.821 71.985154 0 3904.7298 3.9649146 - 7250 18456.212 487.1819 0 3904.9989 5.8280225 - 7300 17705.1 625.95928 0 3904.6816 6.8298215 - 7350 17032.039 750.96958 0 3905.051 11.833303 - 7400 20557.431 97.599213 0 3904.5308 0.43747863 - 7450 20466.847 114.5693 0 3904.7261 1.9786538 - 7500 20416.862 123.31643 0 3904.2168 -2.9094738 - 7550 18433.95 487.50767 0 3901.2022 4.0921479 - 7600 19950.107 209.92208 0 3904.3863 3.9114888 - 7650 16037.844 934.94785 0 3904.9189 -1.2183461 - 7700 20145.239 173.99945 0 3904.5993 3.1185554 - 7750 18672.579 446.35236 0 3904.2373 4.1086445 - 7800 19740.616 249.10395 0 3904.7737 4.6048428 - 7850 20801.917 52.742096 0 3904.9489 1.5978265 - 7900 20305.348 144.57749 0 3904.8272 2.7348725 - 7950 20221.086 159.31958 0 3903.9652 7.1592496 - 8000 20826.907 47.953835 0 3904.7884 6.2728901 - 8050 18646.418 452.02126 0 3905.0617 5.9716218 - 8100 20653.653 80.183024 0 3904.9336 -1.8274783 - 8150 20843.275 45.172279 0 3905.0379 -6.9445524 - 8200 20364.78 133.45082 0 3904.7064 -12.094533 - 8250 18163.745 541.08818 0 3904.7447 -2.6103997 - 8300 20889.664 36.793018 0 3905.2494 -9.2650749 - 8350 20307.367 144.33088 0 3904.9543 -0.65999546 - 8400 20485.202 111.41317 0 3904.9691 -0.42802224 - 8450 20864.395 41.146879 0 3904.9238 7.7084978 - 8500 20901.899 34.291267 0 3905.0132 -5.2070823 - 8550 20211.78 162.02611 0 3904.9484 -5.8363409 - 8600 19639.538 268.05291 0 3905.0044 3.8180903 - 8650 19919.356 216.24885 0 3905.0185 0.17130921 - 8700 19499.449 293.97522 0 3904.9843 -4.897872 - 8750 20270.687 151.1571 0 3904.9879 0.28558082 - 8800 18804.137 422.61651 0 3904.864 15.351015 - 8850 20654.443 80.110976 0 3905.0078 4.1368065 - 8900 19953.725 209.81046 0 3904.9447 10.71743 - 8950 18195.013 536.67764 0 3906.1245 21.497802 - 9000 20478.531 112.78923 0 3905.1098 -13.053056 - 9050 20866.484 40.901611 0 3905.0653 -3.6134066 - 9100 20322.595 141.61419 0 3905.0577 15.459697 - 9150 20855.456 42.94311 0 3905.0646 4.9123213 - 9200 20208.201 162.79363 0 3905.0531 2.5454472 - 9250 18394.203 498.63686 0 3904.9707 0.041811692 - 9300 18776.997 427.7118 0 3904.9335 -7.652483 - 9350 18330.751 510.07857 0 3904.6621 8.3424059 - 9400 17538.366 657.08623 0 3904.9319 8.5478668 - 9450 20309.605 143.77142 0 3904.8093 6.6831447 - 9500 19982.331 203.81545 0 3904.2471 -7.6711411 - 9550 19410.612 310.1139 0 3904.6717 5.3983286 - 9600 19198.225 349.06634 0 3904.2932 -4.107658 - 9650 19388.043 314.31566 0 3904.6939 6.1198194 - 9700 18849.37 414.1045 0 3904.7286 5.4468861 - 9750 18263.312 523.38716 0 3905.4819 -0.56480349 - 9800 20421.858 122.53973 0 3904.3653 -15.641399 - 9850 17678.959 631.15683 0 3905.0381 -1.805446 - 9900 19421.046 306.67446 0 3903.1644 7.0287747 - 9950 18460.64 483.18902 0 3901.8261 3.658774 - 10000 19781.151 239.38136 0 3902.5575 6.3312911 -Loop time of 3.44431 on 4 procs for 10000 steps with 81 atoms - -Performance: 25084.833 tau/day, 2903.337 timesteps/s, 235.170 katom-step/s -98.8% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.007256 | 0.017426 | 0.044845 | 12.0 | 0.51 -Neigh | 0.010951 | 0.023139 | 0.043878 | 8.2 | 0.67 -Comm | 0.070404 | 0.096764 | 0.1104 | 5.0 | 2.81 -Output | 0.0039809 | 0.0074043 | 0.010167 | 2.6 | 0.21 -Modify | 3.0537 | 3.0735 | 3.1272 | 1.8 | 89.23 -Other | | 0.226 | | | 6.56 - -Nlocal: 20.25 ave 36 max 0 min -Histogram: 1 0 0 0 0 1 0 1 0 1 -Nghost: 38.25 ave 50 max 28 min -Histogram: 1 0 1 0 0 1 0 0 0 1 -Neighs: 126.5 ave 213 max 0 min -Histogram: 1 0 0 0 1 0 0 0 0 2 - -Total # of neighbors = 506 -Ave neighs/atom = 6.2469136 -Neighbor list builds = 1207 -Dangerous builds = 0 -Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems3.g++.1 b/examples/rigid/log.25Mar24.rigid.poems3.g++.1 deleted file mode 100644 index 2554c0f610..0000000000 --- a/examples/rigid/log.25Mar24.rigid.poems3.g++.1 +++ /dev/null @@ -1,329 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.000 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all poems file unconnected-bodies.dat -WARNING: No joints between rigid bodies, use fix rigid instead (src/POEMS/fix_poems.cpp:1038) -9 clusters, 9 bodies, 0 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 - -@Article{Mukherjee08, - author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, - title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, - journal = {Intl.\ J.\ Non-Linear Mechanics}, - year = 2008, - volume = 43, - number = 10, - pages = {1040--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -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 = 18 18 18 - 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.666 | 3.666 | 3.666 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.686 571.71596 0 5265.8207 32.006226 - 100 16298.5 136.65142 0 5267.6607 16.443791 - 150 16682.639 17.488068 0 5269.43 14.900278 - 200 16733.955 1.3724268 0 5269.4692 14.569123 - 250 16738.877 -0.15250573 0 5269.4939 14.496287 - 300 16738.611 -0.05516662 0 5269.5077 14.495909 - 350 16738.515 -0.01744351 0 5269.5152 14.496329 - 400 16738.488 -0.0060096677 0 5269.5178 14.496497 - 450 16738.479 -0.0012712918 0 5269.5199 14.496575 - 500 16738.479 -0.00081070354 0 5269.5203 14.49658 - 550 16738.479 -0.00083205205 0 5269.5203 14.496577 - 600 16738.479 -0.0005835658 0 5269.5206 14.49658 - 650 16738.479 -0.00047227225 0 5269.5206 14.496583 - 700 16738.479 0 0 5269.521 14.496593 - 750 16738.479 0 0 5269.5211 14.496595 - 800 16738.479 0 0 5269.5211 14.496596 - 850 16738.479 0 0 5269.5211 14.496595 - 900 16738.479 0 0 5269.5212 14.496593 - 950 16738.485 -0.003532391 0 5269.5196 14.496546 - 1000 16738.609 -0.051135033 0 5269.5109 14.496098 - 1050 16737.381 0.32991002 0 5269.5055 14.525627 - 1100 16737.915 0.16210932 0 5269.5058 14.531848 - 1150 16738.726 -0.089235332 0 5269.5098 14.509768 - 1200 16738.49 -0.0075446298 0 5269.5169 14.510489 - 1250 16738.48 0 0 5269.5214 14.510585 - 1300 16738.48 0 0 5269.5214 14.510587 - 1350 16738.48 0 0 5269.5215 14.510588 - 1400 16738.48 -0.00044742303 0 5269.5211 14.510581 - 1450 16738.481 -0.0010975104 0 5269.5207 14.51057 - 1500 16738.481 -0.00057925965 0 5269.5211 14.510575 - 1550 16738.48 0 0 5269.5216 14.510582 - 1600 16738.48 0 0 5269.5216 14.510581 - 1650 16738.481 0 0 5269.5216 14.510581 - 1700 16738.481 0 0 5269.5217 14.510582 - 1750 16738.481 0 0 5269.5217 14.510583 - 1800 16738.481 0 0 5269.5217 14.510585 - 1850 16738.481 0 0 5269.5218 14.510585 - 1900 16738.481 0 0 5269.5218 14.510585 - 1950 16738.487 -0.0031700155 0 5269.5206 14.510534 - 2000 16738.514 -0.013238802 0 5269.5188 14.510401 - 2050 16738.578 -0.03654435 0 5269.5158 14.510155 - 2100 16738.656 -0.063182323 0 5269.5137 14.510082 - 2150 16738.63 -0.056004395 0 5269.5127 14.510096 - 2200 16738.579 -0.038415873 0 5269.5143 14.510273 - 2250 16738.538 -0.023709094 0 5269.516 14.510414 - 2300 16738.512 -0.013252539 0 5269.5182 14.510501 - 2350 16738.491 -0.0045593284 0 5269.5203 14.510598 - 2400 16738.482 -0.00052242487 0 5269.5217 14.510655 - 2450 16738.486 -0.0023245722 0 5269.5211 14.510627 - 2500 16738.491 -0.005189304 0 5269.5197 14.510606 - 2550 16738.604 -0.044988104 0 5269.5155 14.510185 - 2600 16738.446 0.00096754004 0 5269.5117 14.510521 - 2650 16732.887 1.753125 0 5269.5138 14.598792 - 2700 16738.784 -0.10629556 0 5269.5107 14.499176 - 2750 16734.136 1.359459 0 5269.5135 14.594678 - 2800 16738.608 -0.047184149 0 5269.5147 14.510254 - 2850 16738.509 -0.012527238 0 5269.5181 14.509344 - 2900 16738.487 -0.0026065529 0 5269.521 14.509512 - 2950 16738.498 -0.0082248532 0 5269.519 14.509457 - 3000 16738.683 -0.071294028 0 5269.514 14.509005 - 3050 16717.444 6.5874862 0 5269.4864 14.834144 - 3100 16657.654 25.431253 0 5269.5074 14.467824 - 3150 16739.322 -0.28964062 0 5269.497 13.658821 - 3200 16733.615 1.4969789 0 5269.487 11.998304 - 3250 16737.289 0.35071213 0 5269.4974 11.918931 - 3300 16732.493 1.8663821 0 5269.503 12.109003 - 3350 16738.717 -0.087719164 0 5269.5085 11.979747 - 3400 16738.586 -0.045267897 0 5269.5095 11.97972 - 3450 16738.662 -0.071274216 0 5269.5076 11.979564 - 3500 16738.853 -0.13644992 0 5269.5026 11.979658 - 3550 16729.612 2.7475276 0 5269.4774 12.195939 - 3600 16728.659 3.059607 0 5269.4893 12.241248 - 3650 16738.923 -0.15949792 0 5269.5014 11.991857 - 3700 16738.76 -0.10695054 0 5269.5028 11.992932 - 3750 16738.751 -0.10105954 0 5269.5057 11.993137 - 3800 16738.597 -0.048627545 0 5269.5097 11.993456 - 3850 16738.507 -0.016053927 0 5269.5138 11.992973 - 3900 16738.485 -0.0060825487 0 5269.5169 11.993052 - 3950 16738.475 -0.0014953722 0 5269.5183 11.993119 - 4000 16738.472 -0.00054315391 0 5269.5184 11.99315 - 4050 16738.472 -0.00023792127 0 5269.5187 11.993172 - 4100 16738.472 0 0 5269.5189 11.993188 - 4150 16738.472 0 0 5269.5189 11.993188 - 4200 16738.472 0 0 5269.519 11.993178 - 4250 16738.472 0 0 5269.519 11.993164 - 4300 16738.472 0 0 5269.5191 11.993152 - 4350 16738.473 0 0 5269.5191 11.993147 - 4400 16738.473 0 0 5269.5192 11.993149 - 4450 16738.473 0 0 5269.5192 11.993158 - 4500 16738.473 0 0 5269.5193 11.99317 - 4550 16738.473 0 0 5269.5193 11.993176 - 4600 16738.473 0 0 5269.5194 11.993174 - 4650 16738.473 0 0 5269.5194 11.993167 - 4700 16738.474 0 0 5269.5195 11.993162 - 4750 16738.474 0 0 5269.5195 11.99316 - 4800 16738.474 0 0 5269.5196 11.99316 - 4850 16738.474 0 0 5269.5196 11.993163 - 4900 16738.474 0 0 5269.5197 11.99317 - 4950 16738.474 0 0 5269.5197 11.993176 - 5000 16738.475 0 0 5269.5198 11.993174 - 5050 16738.475 0 0 5269.5198 11.993165 - 5100 16738.475 0 0 5269.5199 11.993155 - 5150 16738.475 0 0 5269.5199 11.99315 - 5200 16738.475 0 0 5269.52 11.993153 - 5250 16738.475 0 0 5269.52 11.993161 - 5300 16738.476 0 0 5269.5201 11.993173 - 5350 16738.476 0 0 5269.5201 11.993185 - 5400 16738.476 0 0 5269.5202 11.993189 - 5450 16738.476 0 0 5269.5202 11.993181 - 5500 16738.476 0 0 5269.5203 11.993165 - 5550 16738.483 -0.0030091905 0 5269.5195 11.993097 - 5600 16738.534 -0.020777802 0 5269.5177 11.992799 - 5650 16738.649 -0.059321662 0 5269.5153 11.993266 - 5700 16409.08 103.75288 0 5269.5745 23.626238 - 5750 16738.578 -0.036776519 0 5269.5155 11.910545 - 5800 16738.484 -0.0047306177 0 5269.518 11.911008 - 5850 16738.477 -0.00022082692 0 5269.5202 11.911078 - 5900 16738.477 -0.00033136078 0 5269.5203 11.91107 - 5950 16738.478 -0.00036902212 0 5269.5203 11.911052 - 6000 16738.477 0 0 5269.5206 11.911044 - 6050 16738.477 0 0 5269.5207 11.911034 - 6100 16738.478 0 0 5269.5207 11.911032 - 6150 16738.478 0 0 5269.5208 11.911037 - 6200 16738.478 0 0 5269.5208 11.911049 - 6250 16738.478 0 0 5269.5209 11.911062 - 6300 16738.478 0 0 5269.5209 11.911068 - 6350 16738.478 0 0 5269.521 11.911065 - 6400 16738.478 0 0 5269.521 11.911058 - 6450 16738.479 0 0 5269.5211 11.911052 - 6500 16738.479 0 0 5269.5211 11.911047 - 6550 16738.479 0 0 5269.5212 11.911046 - 6600 16738.479 0 0 5269.5212 11.911049 - 6650 16738.479 0 0 5269.5213 11.911056 - 6700 16738.479 0 0 5269.5213 11.911062 - 6750 16738.48 0 0 5269.5214 11.91106 - 6800 16738.48 0 0 5269.5214 11.911051 - 6850 16738.48 0 0 5269.5215 11.911044 - 6900 16738.48 0 0 5269.5215 11.911041 - 6950 16738.48 0 0 5269.5216 11.911045 - 7000 16738.48 0 0 5269.5216 11.911053 - 7050 16738.481 0 0 5269.5217 11.911063 - 7100 16738.481 0 0 5269.5217 11.911071 - 7150 16738.481 0 0 5269.5218 11.911072 - 7200 16738.481 0 0 5269.5218 11.911063 - 7250 16738.481 0 0 5269.5219 11.911048 - 7300 16738.481 0 0 5269.5219 11.911036 - 7350 16738.482 0 0 5269.522 11.911031 - 7400 16738.482 0 0 5269.522 11.911035 - 7450 16738.482 0 0 5269.5221 11.911046 - 7500 16738.482 0 0 5269.5221 11.911062 - 7550 16738.482 0 0 5269.5222 11.911077 - 7600 16738.482 0 0 5269.5222 11.911081 - 7650 16738.483 0 0 5269.5223 11.911071 - 7700 16738.483 0 0 5269.5223 11.911054 - 7750 16738.483 0 0 5269.5224 11.911039 - 7800 16738.483 0 0 5269.5224 11.911031 - 7850 16738.483 0 0 5269.5225 11.911031 - 7900 16738.483 0 0 5269.5226 11.911039 - 7950 16738.484 0 0 5269.5226 11.911052 - 8000 16738.484 0 0 5269.5227 11.911065 - 8050 16738.484 0 0 5269.5227 11.91107 - 8100 16738.484 0 0 5269.5228 11.911065 - 8150 16738.484 0 0 5269.5228 11.911056 - 8200 16738.484 0 0 5269.5229 11.911047 - 8250 16738.485 0 0 5269.5229 11.911042 - 8300 16738.485 0 0 5269.523 11.911041 - 8350 16738.485 0 0 5269.523 11.911046 - 8400 16738.485 0 0 5269.5231 11.911055 - 8450 16738.485 0 0 5269.5231 11.911062 - 8500 16738.485 0 0 5269.5232 11.91106 - 8550 16738.486 0 0 5269.5232 11.911053 - 8600 16738.487 -0.00084974053 0 5269.5227 11.911032 - 8650 16738.486 0 0 5269.5233 11.911046 - 8700 16738.486 0 0 5269.5234 11.91105 - 8750 16738.486 0 0 5269.5235 11.911056 - 8800 16738.486 0 0 5269.5235 11.911063 - 8850 16738.487 -0.00022763101 0 5269.5234 11.911065 - 8900 16738.487 0 0 5269.5236 11.911068 - 8950 16738.487 0 0 5269.5237 11.911058 - 9000 16738.487 0 0 5269.5237 11.911045 - 9050 16738.487 0 0 5269.5238 11.911036 - 9100 16738.487 0 0 5269.5238 11.911034 - 9150 16738.488 0 0 5269.5239 11.91104 - 9200 16738.488 0 0 5269.5239 11.911052 - 9250 16738.488 0 0 5269.524 11.911068 - 9300 16738.488 0 0 5269.524 11.911079 - 9350 16738.488 0 0 5269.5241 11.911078 - 9400 16738.492 -0.0016306436 0 5269.5235 11.911038 - 9450 16738.492 -0.0032567427 0 5269.522 11.911005 - 9500 16738.495 -0.0036645346 0 5269.5224 11.910982 - 9550 16738.49 -0.001067391 0 5269.5237 11.911012 - 9600 16738.489 0 0 5269.5244 11.911032 - 9650 16738.489 0 0 5269.5244 11.911043 - 9700 16738.49 0 0 5269.5245 11.911058 - 9750 16738.49 0 0 5269.5245 11.911071 - 9800 16738.49 0 0 5269.5246 11.911073 - 9850 16738.49 0 0 5269.5246 11.911065 - 9900 16738.49 0 0 5269.5247 11.911053 - 9950 16738.491 -0.00058544655 0 5269.5243 11.911032 - 10000 16738.493 -0.0015244935 0 5269.5242 11.911015 -Loop time of 3.15773 on 1 procs for 10000 steps with 81 atoms - -Performance: 27361.390 tau/day, 3166.828 timesteps/s, 256.513 katom-step/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0090105 | 0.0090105 | 0.0090105 | 0.0 | 0.29 -Neigh | 0.047552 | 0.047552 | 0.047552 | 0.0 | 1.51 -Comm | 0.012213 | 0.012213 | 0.012213 | 0.0 | 0.39 -Output | 0.0028666 | 0.0028666 | 0.0028666 | 0.0 | 0.09 -Modify | 3.0714 | 3.0714 | 3.0714 | 0.0 | 97.27 -Other | | 0.01471 | | | 0.47 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 66 ave 66 max 66 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 4 ave 4 max 4 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 4 -Ave neighs/atom = 0.049382716 -Neighbor list builds = 1576 -Dangerous builds = 0 -Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems3.g++.4 b/examples/rigid/log.25Mar24.rigid.poems3.g++.4 deleted file mode 100644 index 142b81ad80..0000000000 --- a/examples/rigid/log.25Mar24.rigid.poems3.g++.4 +++ /dev/null @@ -1,329 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all poems file unconnected-bodies.dat -WARNING: No joints between rigid bodies, use fix rigid instead (src/POEMS/fix_poems.cpp:1038) -9 clusters, 9 bodies, 0 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 - -@Article{Mukherjee08, - author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, - title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, - journal = {Intl.\ J.\ Non-Linear Mechanics}, - year = 2008, - volume = 43, - number = 10, - pages = {1040--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -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 = 18 18 18 - 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.514 | 3.545 | 3.639 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.686 571.71596 0 5265.8207 32.006226 - 100 16298.5 136.65142 0 5267.6607 16.443791 - 150 16682.639 17.488068 0 5269.43 14.900278 - 200 16733.955 1.3724268 0 5269.4692 14.569123 - 250 16738.877 -0.15250573 0 5269.4939 14.496287 - 300 16738.611 -0.05516662 0 5269.5077 14.495909 - 350 16738.515 -0.01744351 0 5269.5152 14.496329 - 400 16738.488 -0.0060096677 0 5269.5178 14.496497 - 450 16738.479 -0.0012712918 0 5269.5199 14.496575 - 500 16738.479 -0.00081070354 0 5269.5203 14.49658 - 550 16738.479 -0.00083205205 0 5269.5203 14.496577 - 600 16738.479 -0.0005835658 0 5269.5206 14.49658 - 650 16738.479 -0.00047227225 0 5269.5206 14.496583 - 700 16738.479 0 0 5269.521 14.496593 - 750 16738.479 0 0 5269.5211 14.496595 - 800 16738.479 0 0 5269.5211 14.496596 - 850 16738.479 0 0 5269.5211 14.496595 - 900 16738.479 0 0 5269.5212 14.496593 - 950 16738.485 -0.003532391 0 5269.5196 14.496546 - 1000 16738.609 -0.051135033 0 5269.5109 14.496098 - 1050 16737.381 0.32991002 0 5269.5055 14.525627 - 1100 16737.915 0.16210932 0 5269.5058 14.531848 - 1150 16738.726 -0.089235332 0 5269.5098 14.509768 - 1200 16738.49 -0.0075446298 0 5269.5169 14.510489 - 1250 16738.48 0 0 5269.5214 14.510585 - 1300 16738.48 0 0 5269.5214 14.510587 - 1350 16738.48 0 0 5269.5215 14.510588 - 1400 16738.48 -0.00044742303 0 5269.5211 14.510581 - 1450 16738.481 -0.0010975104 0 5269.5207 14.51057 - 1500 16738.481 -0.00057925965 0 5269.5211 14.510575 - 1550 16738.48 0 0 5269.5216 14.510582 - 1600 16738.48 0 0 5269.5216 14.510581 - 1650 16738.481 0 0 5269.5216 14.510581 - 1700 16738.481 0 0 5269.5217 14.510582 - 1750 16738.481 0 0 5269.5217 14.510583 - 1800 16738.481 0 0 5269.5217 14.510585 - 1850 16738.481 0 0 5269.5218 14.510585 - 1900 16738.481 0 0 5269.5218 14.510585 - 1950 16738.487 -0.0031700155 0 5269.5206 14.510534 - 2000 16738.514 -0.013238802 0 5269.5188 14.510401 - 2050 16738.578 -0.03654435 0 5269.5158 14.510155 - 2100 16738.656 -0.063182323 0 5269.5137 14.510082 - 2150 16738.63 -0.056004395 0 5269.5127 14.510096 - 2200 16738.579 -0.038415873 0 5269.5143 14.510273 - 2250 16738.538 -0.023709094 0 5269.516 14.510414 - 2300 16738.512 -0.013252539 0 5269.5182 14.510501 - 2350 16738.491 -0.0045593284 0 5269.5203 14.510598 - 2400 16738.482 -0.00052242487 0 5269.5217 14.510655 - 2450 16738.486 -0.0023245722 0 5269.5211 14.510627 - 2500 16738.491 -0.005189304 0 5269.5197 14.510606 - 2550 16738.604 -0.044988104 0 5269.5155 14.510185 - 2600 16738.446 0.00096754006 0 5269.5117 14.510521 - 2650 16732.887 1.753125 0 5269.5138 14.598792 - 2700 16738.784 -0.10629556 0 5269.5107 14.499176 - 2750 16734.136 1.359459 0 5269.5135 14.594678 - 2800 16738.608 -0.047184149 0 5269.5147 14.510254 - 2850 16738.509 -0.012527238 0 5269.5181 14.509344 - 2900 16738.487 -0.0026065529 0 5269.521 14.509512 - 2950 16738.498 -0.0082248532 0 5269.519 14.509457 - 3000 16738.683 -0.071294028 0 5269.514 14.509005 - 3050 16717.444 6.5874862 0 5269.4864 14.834144 - 3100 16657.654 25.431253 0 5269.5074 14.467824 - 3150 16739.322 -0.28964062 0 5269.497 13.658821 - 3200 16733.615 1.4969789 0 5269.487 11.998304 - 3250 16737.289 0.35071213 0 5269.4974 11.918931 - 3300 16732.493 1.866382 0 5269.503 12.109003 - 3350 16738.717 -0.087719164 0 5269.5085 11.979747 - 3400 16738.586 -0.045267897 0 5269.5095 11.97972 - 3450 16738.662 -0.071274216 0 5269.5076 11.979564 - 3500 16738.853 -0.13644992 0 5269.5026 11.979658 - 3550 16729.612 2.7475276 0 5269.4774 12.195939 - 3600 16728.659 3.059607 0 5269.4893 12.241248 - 3650 16738.923 -0.15949792 0 5269.5014 11.991857 - 3700 16738.76 -0.10695054 0 5269.5028 11.992932 - 3750 16738.751 -0.10105954 0 5269.5057 11.993137 - 3800 16738.597 -0.048627545 0 5269.5097 11.993456 - 3850 16738.507 -0.016053927 0 5269.5138 11.992973 - 3900 16738.485 -0.0060825487 0 5269.5169 11.993052 - 3950 16738.475 -0.0014953722 0 5269.5183 11.993119 - 4000 16738.472 -0.00054315391 0 5269.5184 11.99315 - 4050 16738.472 -0.00023792127 0 5269.5187 11.993172 - 4100 16738.472 0 0 5269.5189 11.993188 - 4150 16738.472 0 0 5269.5189 11.993188 - 4200 16738.472 0 0 5269.519 11.993178 - 4250 16738.472 0 0 5269.519 11.993164 - 4300 16738.472 0 0 5269.5191 11.993152 - 4350 16738.473 0 0 5269.5191 11.993147 - 4400 16738.473 0 0 5269.5192 11.993149 - 4450 16738.473 0 0 5269.5192 11.993158 - 4500 16738.473 0 0 5269.5193 11.99317 - 4550 16738.473 0 0 5269.5193 11.993176 - 4600 16738.473 0 0 5269.5194 11.993174 - 4650 16738.473 0 0 5269.5194 11.993167 - 4700 16738.474 0 0 5269.5195 11.993162 - 4750 16738.474 0 0 5269.5195 11.99316 - 4800 16738.474 0 0 5269.5196 11.99316 - 4850 16738.474 0 0 5269.5196 11.993163 - 4900 16738.474 0 0 5269.5197 11.99317 - 4950 16738.474 0 0 5269.5197 11.993176 - 5000 16738.475 0 0 5269.5198 11.993174 - 5050 16738.475 0 0 5269.5198 11.993165 - 5100 16738.475 0 0 5269.5199 11.993155 - 5150 16738.475 0 0 5269.5199 11.99315 - 5200 16738.475 0 0 5269.52 11.993153 - 5250 16738.475 0 0 5269.52 11.993161 - 5300 16738.476 0 0 5269.5201 11.993173 - 5350 16738.476 0 0 5269.5201 11.993185 - 5400 16738.476 0 0 5269.5202 11.993189 - 5450 16738.476 0 0 5269.5202 11.993181 - 5500 16738.476 0 0 5269.5203 11.993165 - 5550 16738.483 -0.0030091905 0 5269.5195 11.993097 - 5600 16738.534 -0.020777802 0 5269.5177 11.992799 - 5650 16738.649 -0.059321662 0 5269.5153 11.993266 - 5700 16409.08 103.75288 0 5269.5745 23.626238 - 5750 16738.578 -0.036776519 0 5269.5155 11.910545 - 5800 16738.484 -0.0047306177 0 5269.518 11.911008 - 5850 16738.477 -0.00022082692 0 5269.5202 11.911078 - 5900 16738.477 -0.00033136079 0 5269.5203 11.91107 - 5950 16738.478 -0.00036902212 0 5269.5203 11.911052 - 6000 16738.477 0 0 5269.5206 11.911044 - 6050 16738.477 0 0 5269.5207 11.911034 - 6100 16738.478 0 0 5269.5207 11.911032 - 6150 16738.478 0 0 5269.5208 11.911037 - 6200 16738.478 0 0 5269.5208 11.911049 - 6250 16738.478 0 0 5269.5209 11.911062 - 6300 16738.478 0 0 5269.5209 11.911068 - 6350 16738.478 0 0 5269.521 11.911065 - 6400 16738.478 0 0 5269.521 11.911058 - 6450 16738.479 0 0 5269.5211 11.911052 - 6500 16738.479 0 0 5269.5211 11.911047 - 6550 16738.479 0 0 5269.5212 11.911046 - 6600 16738.479 0 0 5269.5212 11.911049 - 6650 16738.479 0 0 5269.5213 11.911056 - 6700 16738.479 0 0 5269.5213 11.911062 - 6750 16738.48 0 0 5269.5214 11.91106 - 6800 16738.48 0 0 5269.5214 11.911051 - 6850 16738.48 0 0 5269.5215 11.911044 - 6900 16738.48 0 0 5269.5215 11.911041 - 6950 16738.48 0 0 5269.5216 11.911045 - 7000 16738.48 0 0 5269.5216 11.911053 - 7050 16738.481 0 0 5269.5217 11.911063 - 7100 16738.481 0 0 5269.5217 11.911071 - 7150 16738.481 0 0 5269.5218 11.911072 - 7200 16738.481 0 0 5269.5218 11.911063 - 7250 16738.481 0 0 5269.5219 11.911048 - 7300 16738.481 0 0 5269.5219 11.911036 - 7350 16738.482 0 0 5269.522 11.911031 - 7400 16738.482 0 0 5269.522 11.911035 - 7450 16738.482 0 0 5269.5221 11.911046 - 7500 16738.482 0 0 5269.5221 11.911062 - 7550 16738.482 0 0 5269.5222 11.911077 - 7600 16738.482 0 0 5269.5222 11.911081 - 7650 16738.483 0 0 5269.5223 11.911071 - 7700 16738.483 0 0 5269.5223 11.911054 - 7750 16738.483 0 0 5269.5224 11.911039 - 7800 16738.483 0 0 5269.5224 11.911031 - 7850 16738.483 0 0 5269.5225 11.911031 - 7900 16738.483 0 0 5269.5226 11.911039 - 7950 16738.484 0 0 5269.5226 11.911052 - 8000 16738.484 0 0 5269.5227 11.911065 - 8050 16738.484 0 0 5269.5227 11.91107 - 8100 16738.484 0 0 5269.5228 11.911065 - 8150 16738.484 0 0 5269.5228 11.911056 - 8200 16738.484 0 0 5269.5229 11.911047 - 8250 16738.485 0 0 5269.5229 11.911042 - 8300 16738.485 0 0 5269.523 11.911041 - 8350 16738.485 0 0 5269.523 11.911046 - 8400 16738.485 0 0 5269.5231 11.911055 - 8450 16738.485 0 0 5269.5231 11.911062 - 8500 16738.485 0 0 5269.5232 11.91106 - 8550 16738.486 0 0 5269.5232 11.911053 - 8600 16738.487 -0.00084974054 0 5269.5227 11.911032 - 8650 16738.486 0 0 5269.5233 11.911046 - 8700 16738.486 0 0 5269.5234 11.91105 - 8750 16738.486 0 0 5269.5235 11.911056 - 8800 16738.486 0 0 5269.5235 11.911063 - 8850 16738.487 -0.00022763102 0 5269.5234 11.911065 - 8900 16738.487 0 0 5269.5236 11.911068 - 8950 16738.487 0 0 5269.5237 11.911058 - 9000 16738.487 0 0 5269.5237 11.911045 - 9050 16738.487 0 0 5269.5238 11.911036 - 9100 16738.487 0 0 5269.5238 11.911034 - 9150 16738.488 0 0 5269.5239 11.91104 - 9200 16738.488 0 0 5269.5239 11.911052 - 9250 16738.488 0 0 5269.524 11.911068 - 9300 16738.488 0 0 5269.524 11.911079 - 9350 16738.488 0 0 5269.5241 11.911078 - 9400 16738.492 -0.0016306434 0 5269.5235 11.911038 - 9450 16738.492 -0.0032567424 0 5269.522 11.911005 - 9500 16738.495 -0.0036645342 0 5269.5224 11.910982 - 9550 16738.49 -0.0010673909 0 5269.5237 11.911012 - 9600 16738.489 0 0 5269.5244 11.911032 - 9650 16738.489 0 0 5269.5244 11.911043 - 9700 16738.49 0 0 5269.5245 11.911058 - 9750 16738.49 0 0 5269.5245 11.911071 - 9800 16738.49 0 0 5269.5246 11.911073 - 9850 16738.49 0 0 5269.5246 11.911065 - 9900 16738.49 0 0 5269.5247 11.911053 - 9950 16738.491 -0.0005854466 0 5269.5243 11.911032 - 10000 16738.493 -0.0015244937 0 5269.5242 11.911015 -Loop time of 3.27386 on 4 procs for 10000 steps with 81 atoms - -Performance: 26390.874 tau/day, 3054.499 timesteps/s, 247.414 katom-step/s -99.5% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.003643 | 0.0042095 | 0.0048106 | 0.7 | 0.13 -Neigh | 0.015047 | 0.01644 | 0.018121 | 0.9 | 0.50 -Comm | 0.08923 | 0.091442 | 0.093047 | 0.5 | 2.79 -Output | 0.0033998 | 0.0040485 | 0.0051625 | 1.0 | 0.12 -Modify | 2.9783 | 2.9943 | 3.0343 | 1.3 | 91.46 -Other | | 0.1635 | | | 4.99 - -Nlocal: 20.25 ave 27 max 9 min -Histogram: 1 0 0 0 0 1 0 0 0 2 -Nghost: 30.5 ave 50 max 14 min -Histogram: 1 0 0 1 1 0 0 0 0 1 -Neighs: 1 ave 4 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 4 -Ave neighs/atom = 0.049382716 -Neighbor list builds = 1576 -Dangerous builds = 0 -Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems4.g++.1 b/examples/rigid/log.25Mar24.rigid.poems4.g++.1 deleted file mode 100644 index f754fba3b4..0000000000 --- a/examples/rigid/log.25Mar24.rigid.poems4.g++.1 +++ /dev/null @@ -1,328 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# 1 chain of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 36 45 -10 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -fix 1 all poems file connected-bodies.dat -1 clusters, 9 bodies, 8 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 - -@Article{Mukherjee08, - author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, - title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, - journal = {Intl.\ J.\ Non-Linear Mechanics}, - year = 2008, - volume = 43, - number = 10, - pages = {1040--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -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 = 18 18 18 - 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.666 | 3.666 | 3.666 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 217.7783 3430.3907 0 3466.6871 -2.7403788 - 50 13679.637 1404.2468 0 3684.1863 12.446066 - 100 16777.225 888.87665 0 3685.0808 -31.828677 - 150 19595.365 418.45042 0 3684.3446 40.709078 - 200 18524.188 596.47273 0 3683.8375 -0.8159371 - 250 21015.789 180.96521 0 3683.5967 -10.042469 - 300 20785.513 219.25314 0 3683.5053 2.6452719 - 350 21072.46 171.2554 0 3683.3321 7.0609024 - 400 19956.414 356.36381 0 3682.4328 19.320259 - 450 20724.42 227.73284 0 3681.8028 8.1259249 - 500 20152.578 322.71466 0 3681.4777 5.4929878 - 550 20017.022 345.29701 0 3681.4673 5.4661666 - 600 17897.743 698.72196 0 3681.6791 3.2854742 - 650 17297.758 796.60256 0 3679.5623 15.191113 - 700 18581.934 584.29715 0 3681.2861 5.1588289 - 750 21774.158 52.821062 0 3681.8474 -10.775664 - 800 21604.055 81.188546 0 3681.8644 -3.2045743 - 850 17821.483 711.53827 0 3681.7854 7.4384279 - 900 21033.292 175.98127 0 3681.5299 -16.345167 - 950 20968.166 186.59847 0 3681.2929 -2.330456 - 1000 20490.66 266.19375 0 3681.3037 11.787983 - 1050 20222.396 310.94072 0 3681.34 -8.3459539 - 1100 21321.687 127.61533 0 3681.2299 -1.2184717 - 1150 20849.582 206.01695 0 3680.9472 -0.86699135 - 1200 21815.003 45.317412 0 3681.1512 1.5988314 - 1250 18655.437 572.41453 0 3681.654 10.06408 - 1300 20780.781 217.36509 0 3680.8286 6.0538614 - 1350 20558.971 254.36485 0 3680.8601 -3.6773923 - 1400 21485.029 99.812891 0 3680.6511 -16.185475 - 1450 21771.107 52.159624 0 3680.6775 -2.4756668 - 1500 21520.948 93.503905 0 3680.3286 2.1023577 - 1550 21351.418 121.68136 0 3680.2511 5.5159922 - 1600 20778.805 216.92182 0 3680.0559 15.089193 - 1650 21477.637 100.21853 0 3679.8247 -1.1045536 - 1700 18501.335 596.47986 0 3680.0357 -15.679729 - 1750 18563.64 587.34819 0 3681.2882 33.532254 - 1800 19110.181 494.82407 0 3679.8543 18.02406 - 1850 21364.186 119.23625 0 3679.9339 2.5290683 - 1900 20146.613 322.15086 0 3679.9197 5.7314718 - 1950 20692.671 231.25334 0 3680.0319 4.2977791 - 2000 20943.905 189.11211 0 3679.7629 -22.644575 - 2050 19667.965 401.84519 0 3679.8394 3.6247265 - 2100 20280.309 299.78396 0 3679.8355 7.4806221 - 2150 19181.565 483.57073 0 3680.4982 22.62593 - 2200 21300.569 130.63684 0 3680.7316 4.7090558 - 2250 20486.112 266.77753 0 3681.1296 -8.6505201 - 2300 18651.193 572.56862 0 3681.1008 -5.2604682 - 2350 21514.435 95.462414 0 3681.2016 -9.3718933 - 2400 21464.75 103.81741 0 3681.2757 -29.521964 - 2450 20103.185 331.7557 0 3682.2865 35.600257 - 2500 20767.309 221.18002 0 3682.3981 -12.41075 - 2550 20461.88 271.93545 0 3682.2488 -22.542329 - 2600 21463.807 104.97703 0 3682.2782 -10.118749 - 2650 20902.135 198.66716 0 3682.3564 5.0103958 - 2700 18582.384 585.6465 0 3682.7106 22.212808 - 2750 21079.961 168.86261 0 3682.1894 -8.8401109 - 2800 21425.876 111.18035 0 3682.1598 -6.7933883 - 2850 17414.605 780.0645 0 3682.4987 28.180022 - 2900 19978.961 352.1845 0 3682.0113 8.4280816 - 2950 21189.046 150.47808 0 3681.9858 2.8898793 - 3000 19271.367 469.54947 0 3681.4439 -7.1530396 - 3050 21470.889 103.45294 0 3681.9344 -1.4975516 - 3100 21574.513 85.87604 0 3681.6282 7.0301554 - 3150 21649.42 73.506656 0 3681.7434 1.6649326 - 3200 20857.44 205.3704 0 3681.6104 2.9318184 - 3250 18573.575 585.73328 0 3681.3292 5.9394399 - 3300 17938.353 691.67199 0 3681.3975 9.7205454 - 3350 18668.795 570.23722 0 3681.7031 3.6442733 - 3400 16834.721 876.36804 0 3682.1548 21.869594 - 3450 20148.848 323.06988 0 3681.2112 3.8120475 - 3500 21039.942 175.06064 0 3681.7177 1.4965105 - 3550 21439.472 108.66655 0 3681.9119 4.192594 - 3600 21457.784 105.54883 0 3681.8461 -2.932673 - 3650 21409.999 113.49591 0 3681.829 -15.09817 - 3700 21380.023 118.56895 0 3681.9061 -15.461367 - 3750 20422.085 277.28852 0 3680.9694 19.331799 - 3800 18275.038 635.75951 0 3681.5992 22.413362 - 3850 20906.341 197.06897 0 3681.4592 2.5691289 - 3900 20041.032 341.11847 0 3681.2905 1.8089245 - 3950 18917.084 528.44677 0 3681.2941 -10.656627 - 4000 20425.89 276.98688 0 3681.3018 7.5960674 - 4050 18289.157 633.13575 0 3681.3286 6.5695895 - 4100 19601.884 414.64621 0 3681.6269 8.6144847 - 4150 20790.308 216.9575 0 3682.0088 1.6300255 - 4200 21043.169 174.98738 0 3682.1822 3.8942459 - 4250 19073.45 503.63057 0 3682.5389 -10.975988 - 4300 21251.971 140.63454 0 3682.6298 -7.7937426 - 4350 20844.867 208.08653 0 3682.2311 -10.295096 - 4400 20869.781 203.57469 0 3681.8716 -8.7176985 - 4450 20384.41 284.19751 0 3681.5992 3.9044821 - 4500 20002.241 346.95848 0 3680.6654 12.100678 - 4550 21410.259 112.40994 0 3680.7864 -6.6653767 - 4600 18230.418 641.88921 0 3680.2922 22.502391 - 4650 21319.778 127.76737 0 3681.0638 -0.50309316 - 4700 19429.05 441.85455 0 3680.0296 20.851722 - 4750 20395.967 281.13332 0 3680.4611 12.635024 - 4800 19405.371 446.47714 0 3680.7056 -3.0340076 - 4850 19935.979 358.4478 0 3681.1109 -7.9390554 - 4900 18822.801 543.80607 0 3680.9396 -3.1086099 - 4950 20569.881 252.87963 0 3681.1932 11.807076 - 5000 20311.182 296.63458 0 3681.8315 -4.2409472 - 5050 20187.672 316.83663 0 3681.4486 1.8723981 - 5100 17439.679 775.35516 0 3681.9684 -5.7037267 - 5150 20394.4 282.56755 0 3681.6342 4.3399253 - 5200 20294.84 299.10095 0 3681.5742 -9.9868412 - 5250 20396.122 282.31614 0 3681.6698 -4.9932521 - 5300 20617.465 245.11679 0 3681.3609 0.97429493 - 5350 21651.191 72.878802 0 3681.4106 2.0913693 - 5400 19097.721 498.69617 0 3681.6496 21.808511 - 5450 21856.73 38.930299 0 3681.7186 -4.0225451 - 5500 20087.477 334.09405 0 3682.0069 5.7109498 - 5550 17734.477 726.10594 0 3681.8522 16.277738 - 5600 21183.231 151.714 0 3682.2525 -2.1080998 - 5650 20832.185 210.14251 0 3682.1733 -8.0602581 - 5700 18879.226 535.50935 0 3682.0471 -14.351666 - 5750 18931.81 529.67506 0 3684.9768 4.8675164 - 5800 21674.979 70.259619 0 3682.7561 -14.990544 - 5850 21395.905 116.47471 0 3682.4588 -0.94334402 - 5900 18532.955 593.27143 0 3682.0973 26.072477 - 5950 20767.534 220.78554 0 3682.0413 -1.6468662 - 6000 21546.127 91.167146 0 3682.1882 -5.4664857 - 6050 20085.534 334.40872 0 3681.9977 -0.34825498 - 6100 21218.156 145.88926 0 3682.2486 2.2871905 - 6150 20902.857 198.59424 0 3682.4038 6.0082154 - 6200 21726.547 61.195607 0 3682.2868 -2.2981656 - 6250 17507.589 764.20763 0 3682.1392 9.4977327 - 6300 21687.283 67.283821 0 3681.831 -8.694756 - 6350 19806.474 380.24632 0 3681.3254 -0.94067379 - 6400 21128.461 160.65399 0 3682.0641 -4.8435757 - 6450 19747.214 390.89694 0 3682.0992 1.9108969 - 6500 20460.408 272.79545 0 3682.8634 -4.1094877 - 6550 16740.095 892.11547 0 3682.1313 13.20551 - 6600 18326.164 628.80415 0 3683.1648 -19.884336 - 6650 18469.284 605.36384 0 3683.5778 10.345658 - 6700 21086.876 168.61821 0 3683.0976 -0.036118094 - 6750 19924.801 361.46485 0 3682.2649 -2.1144953 - 6800 19812.028 380.5919 0 3682.5966 11.119936 - 6850 19118.501 496.38857 0 3682.8054 0.53906703 - 6900 19221.04 478.31879 0 3681.8255 11.13851 - 6950 20482.79 269.03445 0 3682.8328 2.6705981 - 7000 16350.403 957.96283 0 3683.03 -2.9783385 - 7050 20789.906 218.36242 0 3683.3467 4.2465754 - 7100 17718.126 730.09011 0 3683.111 15.271811 - 7150 19020.414 513.34591 0 3683.4149 -8.3035633 - 7200 21165.007 156.24494 0 3683.7461 -7.3085107 - 7250 20520.422 264.35574 0 3684.4261 -6.7803072 - 7300 19078.795 505.10953 0 3684.9087 -11.147107 - 7350 20529.173 263.85389 0 3685.3827 0.59881989 - 7400 20548.068 261.27337 0 3685.9513 -5.0067382 - 7450 20849.172 211.46852 0 3686.3306 -0.80175538 - 7500 20869.894 207.95335 0 3686.2689 0.44541197 - 7550 18490.583 605.63557 0 3687.3993 -11.744631 - 7600 19185.381 488.52218 0 3686.0857 3.0881652 - 7650 20520.848 265.65037 0 3685.7917 -0.28165722 - 7700 20599.631 251.69265 0 3684.9645 0.19835423 - 7750 18428.55 614.11446 0 3685.5395 5.8092563 - 7800 19660.337 408.61674 0 3685.3396 4.9902979 - 7850 19409.663 450.30454 0 3685.2483 8.8641567 - 7900 21307.628 133.95865 0 3685.23 -1.8297128 - 7950 17828.245 713.05722 0 3684.4314 5.9673166 - 8000 15894.788 1036.4896 0 3685.621 57.567209 - 8050 18588.022 587.45738 0 3685.4611 1.5643233 - 8100 20664.194 241.59965 0 3685.632 -4.9298687 - 8150 17745.538 728.43249 0 3686.0221 6.121885 - 8200 18433.239 612.84747 0 3685.0539 17.078623 - 8250 19162.628 492.52511 0 3686.2965 12.204945 - 8300 18507.768 602.21188 0 3686.8399 -14.003487 - 8350 21010.715 184.80032 0 3686.5861 -0.93351338 - 8400 20888.233 205.24214 0 3686.6143 -5.3433619 - 8450 20920.621 199.6941 0 3686.4643 -30.437742 - 8500 17085.22 840.80474 0 3688.3414 3.9123878 - 8550 20900.377 203.87077 0 3687.267 -6.7525851 - 8600 19771.517 392.67499 0 3687.9278 13.762684 - 8650 19541.099 431.09497 0 3687.9448 2.0785077 - 8700 21056.327 178.88314 0 3688.2709 -13.663758 - 8750 20109.075 336.93228 0 3688.4447 -1.0445182 - 8800 21821.77 51.337654 0 3688.2993 -10.263971 - 8850 17653.401 740.45074 0 3682.6842 49.147758 - 8900 20311.01 302.92663 0 3688.095 -8.1910583 - 8950 19745.488 396.38557 0 3687.3003 -16.948557 - 9000 20248.989 311.52221 0 3686.3537 -2.4158415 - 9050 17850.649 710.17969 0 3685.2878 25.692377 - 9100 19370.284 456.73812 0 3685.1187 -21.201413 - 9150 20452.896 276.95741 0 3685.7735 2.0316457 - 9200 19174.266 488.9925 0 3684.7035 10.317202 - 9250 20174.171 323.4614 0 3685.8232 -2.1072552 - 9300 21442.761 111.68542 0 3685.479 -12.303658 - 9350 19697.287 402.21503 0 3685.0963 8.4697153 - 9400 21553.763 93.03581 0 3685.3297 -6.7286485 - 9450 18946.935 527.04498 0 3684.8674 -6.6174191 - 9500 21162.915 158.64321 0 3685.7957 -3.2085936 - 9550 20704.844 235.41227 0 3686.2196 10.847095 - 9600 20664.074 242.09733 0 3686.1096 3.7301969 - 9650 20829.655 214.20146 0 3685.8107 7.2197609 - 9700 17336.625 797.22781 0 3686.6654 14.775351 - 9750 19978.15 356.51126 0 3686.2029 -1.1978838 - 9800 21150.487 162.1616 0 3687.2427 -15.596643 - 9850 20849.962 213.10316 0 3688.0968 -5.5443282 - 9900 18407.158 620.93592 0 3688.7956 10.177471 - 9950 20459.637 278.24203 0 3688.1815 0.0020687238 - 10000 21667.112 78.10938 0 3689.2948 -12.660594 -Loop time of 3.40889 on 1 procs for 10000 steps with 81 atoms - -Performance: 25345.463 tau/day, 2933.503 timesteps/s, 237.614 katom-step/s -99.5% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.12904 | 0.12904 | 0.12904 | 0.0 | 3.79 -Neigh | 0.10613 | 0.10613 | 0.10613 | 0.0 | 3.11 -Comm | 0.011135 | 0.011135 | 0.011135 | 0.0 | 0.33 -Output | 0.0042137 | 0.0042137 | 0.0042137 | 0.0 | 0.12 -Modify | 3.142 | 3.142 | 3.142 | 0.0 | 92.17 -Other | | 0.01636 | | | 0.48 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 115 ave 115 max 115 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 808 ave 808 max 808 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 808 -Ave neighs/atom = 9.9753086 -Neighbor list builds = 1162 -Dangerous builds = 0 -Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems4.g++.4 b/examples/rigid/log.25Mar24.rigid.poems4.g++.4 deleted file mode 100644 index e78a2e0f05..0000000000 --- a/examples/rigid/log.25Mar24.rigid.poems4.g++.4 +++ /dev/null @@ -1,328 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# 1 chain of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 36 45 -10 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -fix 1 all poems file connected-bodies.dat -1 clusters, 9 bodies, 8 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 - -@Article{Mukherjee08, - author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, - title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, - journal = {Intl.\ J.\ Non-Linear Mechanics}, - year = 2008, - volume = 43, - number = 10, - pages = {1040--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -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 = 18 18 18 - 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.514 | 3.545 | 3.639 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 217.7783 3430.3907 0 3466.6871 -2.7403788 - 50 13679.637 1404.2468 0 3684.1863 12.446066 - 100 16777.225 888.87665 0 3685.0808 -31.828677 - 150 19595.365 418.45042 0 3684.3446 40.709078 - 200 18524.188 596.47273 0 3683.8375 -0.8159371 - 250 21015.789 180.96521 0 3683.5967 -10.042469 - 300 20785.513 219.25314 0 3683.5053 2.6452719 - 350 21072.46 171.2554 0 3683.3321 7.0609024 - 400 19956.414 356.36381 0 3682.4328 19.320259 - 450 20724.42 227.73284 0 3681.8028 8.1259249 - 500 20152.578 322.71466 0 3681.4777 5.4929878 - 550 20017.022 345.29701 0 3681.4673 5.4661666 - 600 17897.743 698.72196 0 3681.6791 3.2854742 - 650 17297.758 796.60256 0 3679.5623 15.191113 - 700 18581.934 584.29715 0 3681.2861 5.1588289 - 750 21774.158 52.821062 0 3681.8474 -10.775664 - 800 21604.055 81.188546 0 3681.8644 -3.2045743 - 850 17821.483 711.53827 0 3681.7854 7.4384277 - 900 21033.292 175.98127 0 3681.5299 -16.345167 - 950 20968.166 186.59847 0 3681.2929 -2.330456 - 1000 20490.66 266.19375 0 3681.3037 11.787983 - 1050 20222.396 310.94072 0 3681.34 -8.3459539 - 1100 21321.687 127.61533 0 3681.2299 -1.2184718 - 1150 20849.582 206.01695 0 3680.9472 -0.86699156 - 1200 21815.003 45.317416 0 3681.1512 1.5988314 - 1250 18655.437 572.41453 0 3681.654 10.064076 - 1300 20780.781 217.36505 0 3680.8286 6.0538619 - 1350 20558.972 254.36481 0 3680.8601 -3.6773978 - 1400 21485.029 99.812941 0 3680.6511 -16.185471 - 1450 21771.108 52.159596 0 3680.6775 -2.4756679 - 1500 21520.948 93.503942 0 3680.3286 2.1023578 - 1550 21351.418 121.6814 0 3680.2511 5.5159969 - 1600 20778.805 216.92173 0 3680.0559 15.089183 - 1650 21477.639 100.21825 0 3679.8247 -1.1045878 - 1700 18501.342 596.47873 0 3680.0357 -15.679646 - 1750 18563.643 587.34777 0 3681.2882 33.532181 - 1800 19110.189 494.82286 0 3679.8543 18.024038 - 1850 21364.195 119.2348 0 3679.9339 2.5291365 - 1900 20146.638 322.1467 0 3679.9197 5.7312008 - 1950 20692.67 231.25355 0 3680.0319 4.297766 - 2000 20943.904 189.1122 0 3679.7629 -22.645478 - 2050 19668.123 401.81885 0 3679.8394 3.6254541 - 2100 20280.531 299.74669 0 3679.8352 7.4808896 - 2150 19182.034 483.49332 0 3680.4991 22.616956 - 2200 21299.885 130.75166 0 3680.7326 4.7110487 - 2250 20487.525 266.54254 0 3681.1301 -8.6422018 - 2300 18654.522 572.01515 0 3681.1021 -5.2661499 - 2350 21512.897 95.719565 0 3681.2024 -9.3553511 - 2400 21467.306 103.39279 0 3681.2771 -29.588234 - 2450 20097.914 332.63812 0 3682.2904 35.845886 - 2500 20762.362 222.00787 0 3682.4016 -12.509872 - 2550 20417.692 279.31982 0 3682.2685 -22.320693 - 2600 21468.738 104.15905 0 3682.2821 -10.050868 - 2650 20742.305 225.31121 0 3682.362 5.2887043 - 2700 18575.367 586.68141 0 3682.5759 21.990986 - 2750 20577.766 252.52411 0 3682.1518 -5.8697894 - 2800 20683.69 234.89244 0 3682.1741 -6.7464964 - 2850 16088.831 1001.1454 0 3682.6172 27.686908 - 2900 20715.565 229.46407 0 3682.0583 6.5207552 - 2950 19969.143 353.98595 0 3682.1765 5.3891903 - 3000 20429.639 277.11063 0 3682.0505 -10.302229 - 3050 19840.965 375.78339 0 3682.611 -6.1970263 - 3100 19149.859 490.69976 0 3682.3429 22.372557 - 3150 20421.772 278.3256 0 3681.9543 8.7381033 - 3200 19492.899 433.22833 0 3682.0448 4.3431162 - 3250 20231.034 310.12852 0 3681.9675 -3.2734265 - 3300 19420.155 445.8855 0 3682.578 14.157316 - 3350 21386.445 117.85565 0 3682.2631 1.9590216 - 3400 20372.28 286.91596 0 3682.296 8.2472357 - 3450 20870.351 203.91619 0 3682.308 7.9601676 - 3500 21469.401 104.14434 0 3682.3778 2.5067348 - 3550 21630.799 77.317219 0 3682.4504 -6.5148709 - 3600 21291.513 133.97558 0 3682.5611 -8.8761801 - 3650 19138.211 493.09199 0 3682.7937 25.075733 - 3700 21282.953 135.36631 0 3682.5252 -8.1163312 - 3750 20660.876 239.15863 0 3682.638 -24.806983 - 3800 20161.169 322.26065 0 3682.4555 13.204808 - 3850 19477.477 435.56421 0 3681.8105 31.065794 - 3900 21108.425 164.35492 0 3682.4258 0.37839399 - 3950 21195.124 150.68497 0 3683.2056 -10.098889 - 4000 21477.025 103.95273 0 3683.4568 -4.139886 - 4050 20603.58 249.35497 0 3683.2849 1.3114756 - 4100 19724.656 396.37166 0 3683.8144 -6.6159163 - 4150 20768.839 221.21034 0 3682.6835 -3.4649381 - 4200 19675.942 404.01538 0 3683.339 17.586922 - 4250 21022.927 179.12036 0 3682.9415 0.59436606 - 4300 20511.134 264.68208 0 3683.2044 8.8380269 - 4350 21038.204 177.05256 0 3683.42 -1.3698914 - 4400 18866.857 539.5082 0 3683.9844 10.461602 - 4450 21607.322 83.184316 0 3684.4046 -1.5071605 - 4500 20895.628 201.9445 0 3684.5492 5.7578991 - 4550 20210.744 316.5044 0 3684.9617 5.6678493 - 4600 20416.269 282.24539 0 3684.9569 -3.0067543 - 4650 18811.283 549.46791 0 3684.6817 7.5182454 - 4700 20899.462 201.92249 0 3685.1661 2.6998262 - 4750 20771.285 223.44307 0 3685.3239 12.165622 - 4800 21834.653 46.231798 0 3685.3407 2.021615 - 4850 21282.348 138.2858 0 3685.3437 4.2174481 - 4900 21892.433 36.607993 0 3685.3468 -10.208769 - 4950 21731.003 63.442124 0 3685.2759 -26.918841 - 5000 21476.967 105.69026 0 3685.1848 -10.007088 - 5050 20485.84 270.81814 0 3685.1248 0.65119013 - 5100 21485.763 104.28837 0 3685.2488 -5.3826149 - 5150 21485.096 104.44183 0 3685.2912 -1.274141 - 5200 21388.175 120.61165 0 3685.3074 -7.7953815 - 5250 20656.672 242.51472 0 3685.2934 -4.4067447 - 5300 20132.262 330.10916 0 3685.4862 -11.466755 - 5350 19080.054 505.63228 0 3685.6413 4.6356684 - 5400 21683.337 71.886529 0 3685.7761 -8.4520633 - 5450 20632.669 246.77173 0 3685.5499 5.5429152 - 5500 20896.92 202.76984 0 3685.5898 3.9762924 - 5550 21172.409 156.92085 0 3685.6557 2.6573146 - 5600 20695.91 236.255 0 3685.5733 -18.109158 - 5650 21741.679 61.956471 0 3685.5697 -3.7520994 - 5700 21164.94 157.60813 0 3685.098 2.4020734 - 5750 21075.393 172.84386 0 3685.4093 7.646915 - 5800 20638.831 245.82076 0 3685.6259 8.3009859 - 5850 20262.966 308.37489 0 3685.5359 7.5861941 - 5900 21730.418 63.97074 0 3685.7071 -6.2813552 - 5950 21820.659 48.990687 0 3685.7673 -5.6400713 - 6000 21027.051 181.2853 0 3685.7937 1.213872 - 6050 14422.66 1284.4174 0 3688.194 57.908667 - 6100 19852.685 377.0743 0 3685.8552 -5.1418207 - 6150 20678.783 239.10987 0 3685.5737 -11.982018 - 6200 19788.097 387.62127 0 3685.6375 -2.684571 - 6250 21611.523 83.575418 0 3685.496 1.7544019 - 6300 19214.109 482.45067 0 3684.8021 24.711965 - 6350 18800.074 553.07966 0 3686.4254 11.125791 - 6400 19771.53 390.40388 0 3685.659 -6.1254643 - 6450 20192.282 319.53713 0 3684.9175 13.959536 - 6500 20360.332 292.28682 0 3685.6755 4.4265274 - 6550 21778.739 56.056362 0 3685.8462 -4.6705452 - 6600 16612.689 917.96646 0 3686.748 -32.617733 - 6650 21068.368 174.38501 0 3685.7797 -0.84207954 - 6700 20749.675 227.41249 0 3685.6916 2.9235268 - 6750 20594.96 253.47665 0 3685.9699 -12.440843 - 6800 19974.133 357.05242 0 3686.0745 34.064247 - 6850 21802.523 52.05173 0 3685.8055 -1.4073818 - 6900 18644.747 577.97031 0 3685.4282 19.759245 - 6950 20463.441 274.90799 0 3685.4815 1.2230553 - 7000 20213.292 316.50714 0 3685.3892 23.9288 - 7050 21571.525 90.089593 0 3685.3437 -26.539261 - 7100 20480.036 271.77541 0 3685.1147 -0.13969301 - 7150 21064.842 174.4144 0 3685.2214 3.5451037 - 7200 21179.296 154.8514 0 3684.7341 -5.007319 - 7250 20714.182 232.84783 0 3685.2115 10.601943 - 7300 19341.561 461.91524 0 3685.5087 18.89547 - 7350 21011.016 183.55321 0 3685.3893 1.6481821 - 7400 21206.598 151.07364 0 3685.5066 1.5040526 - 7450 19999.404 352.83129 0 3686.0652 -18.58587 - 7500 21581.952 88.519362 0 3685.5114 -4.0009441 - 7550 21652.618 76.962392 0 3685.7321 -5.758242 - 7600 21207.411 150.86712 0 3685.4355 -0.023727123 - 7650 21756.168 59.804311 0 3685.8323 0.76768563 - 7700 21825.037 48.380795 0 3685.8869 -0.11098207 - 7750 21581.665 89.078228 0 3686.0223 -0.50220667 - 7800 21714.856 66.946216 0 3686.0889 4.637364 - 7850 21319.774 132.905 0 3686.2007 3.4663558 - 7900 21730.647 64.263898 0 3686.0384 1.0898763 - 7950 21597.663 86.255996 0 3685.8664 3.2847476 - 8000 21724.118 65.137632 0 3685.8239 3.7318614 - 8050 19672.702 406.56191 0 3685.3456 -0.37960768 - 8100 21696.026 69.71367 0 3685.7179 -6.2273451 - 8150 18869.648 540.09908 0 3685.0403 22.915669 - 8200 21717.002 66.01922 0 3685.5196 -4.8553801 - 8250 20292.502 303.3445 0 3685.4282 -13.203008 - 8300 21314.341 133.18215 0 3685.5724 -10.023288 - 8350 20992.272 186.87998 0 3685.592 -4.5538872 - 8400 21726.088 64.55825 0 3685.573 -5.1228188 - 8450 21188.98 153.93449 0 3685.4311 -6.8622554 - 8500 21113.87 166.54678 0 3685.5251 2.6009221 - 8550 20620.735 248.66776 0 3685.4569 -8.0047984 - 8600 19715.276 399.79648 0 3685.6758 -10.980391 - 8650 18898.94 535.95488 0 3685.7782 22.513752 - 8700 21692.841 70.067726 0 3685.5413 -3.3917479 - 8750 20242.909 311.87115 0 3685.6893 17.996012 - 8800 19253.702 476.69077 0 3685.6411 3.7170165 - 8850 17625.913 748.07802 0 3685.7302 11.095548 - 8900 21554.709 92.817998 0 3685.2696 0.30720376 - 8950 21585.337 87.685891 0 3685.2421 -0.22047593 - 9000 17454.847 776.14227 0 3685.2834 22.631913 - 9050 20023.106 347.35041 0 3684.5348 4.0008899 - 9100 21100.691 168.07199 0 3684.8539 2.9016681 - 9150 20307.206 299.45669 0 3683.991 2.1630277 - 9200 21747.579 60.245542 0 3684.8421 -15.419887 - 9250 21525.571 97.26157 0 3684.8567 -7.0449498 - 9300 15084.149 1170.5925 0 3684.6173 43.259279 - 9350 21198.648 151.70957 0 3684.8176 3.0716881 - 9400 17771.533 724.65805 0 3686.5802 -18.320033 - 9450 20029.819 346.23988 0 3684.543 -4.0976705 - 9500 19913.342 365.57743 0 3684.4677 2.4909741 - 9550 20594.619 252.35578 0 3684.7923 -4.4263632 - 9600 21013.668 182.33425 0 3684.6122 -1.9371919 - 9650 16915.052 865.78051 0 3684.9559 1.8697619 - 9700 18789.78 553.48818 0 3685.1181 15.642074 - 9750 21236.716 145.75801 0 3685.2107 -3.6730702 - 9800 20972.957 189.72849 0 3685.2214 0.85691231 - 9850 19658.721 408.29826 0 3684.7517 14.8446 - 9900 21624.401 81.484234 0 3685.5511 3.4507557 - 9950 21883.535 38.474607 0 3685.7304 0.3038348 - 10000 21355.31 126.72088 0 3685.9392 -5.5872974 -Loop time of 3.23589 on 4 procs for 10000 steps with 81 atoms - -Performance: 26700.576 tau/day, 3090.344 timesteps/s, 250.318 katom-step/s -99.5% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0072165 | 0.030554 | 0.065382 | 13.2 | 0.94 -Neigh | 0.010707 | 0.029677 | 0.056594 | 10.6 | 0.92 -Comm | 0.083225 | 0.12075 | 0.17828 | 10.6 | 3.73 -Output | 0.0034779 | 0.0040163 | 0.0050814 | 1.0 | 0.12 -Modify | 2.8247 | 2.8749 | 2.9245 | 2.6 | 88.85 -Other | | 0.176 | | | 5.44 - -Nlocal: 20.25 ave 81 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 1 -Nghost: 33.5 ave 66 max 2 min -Histogram: 1 1 0 0 0 0 0 1 0 1 -Neighs: 212.5 ave 850 max 0 min -Histogram: 3 0 0 0 0 0 0 0 0 1 - -Total # of neighbors = 850 -Ave neighs/atom = 10.493827 -Neighbor list builds = 1246 -Dangerous builds = 0 -Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems5.g++.1 b/examples/rigid/log.25Mar24.rigid.poems5.g++.1 deleted file mode 100644 index 03ca091c13..0000000000 --- a/examples/rigid/log.25Mar24.rigid.poems5.g++.1 +++ /dev/null @@ -1,329 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - - -# 2 chains of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -fix 1 all poems file connected-bodies2.dat -2 clusters, 9 bodies, 7 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 - -@Article{Mukherjee08, - author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, - title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, - journal = {Intl.\ J.\ Non-Linear Mechanics}, - year = 2008, - volume = 43, - number = 10, - pages = {1040--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -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 = 18 18 18 - 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.666 | 3.666 | 3.666 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 196.00047 3632.2347 0 3668.5311 -2.7403788 - 50 12774.759 1538.7378 0 3904.434 18.086356 - 100 19803.641 237.21132 0 3904.5523 -3.1528278 - 150 20259.6 152.62072 0 3904.3985 -4.6173512 - 200 20705.978 69.977442 0 3904.4178 9.0928146 - 250 19552.211 283.50505 0 3904.2848 15.670464 - 300 19266.324 333.5788 0 3901.4165 7.2119173 - 350 20738.325 63.738945 0 3904.1694 -23.039989 - 400 20616.682 86.082444 0 3903.9864 -13.783584 - 450 19831.326 230.13818 0 3902.6059 0.42074126 - 500 20365.825 131.47231 0 3902.9213 0.69215475 - 550 20794.102 52.163238 0 3902.9229 4.5895354 - 600 20853.873 40.899172 0 3902.7275 2.3593042 - 650 19255.802 336.29509 0 3902.1844 10.341742 - 700 18526.969 471.02462 0 3901.9448 -0.61898691 - 750 18960.662 391.26028 0 3902.494 12.047308 - 800 20142.432 172.05197 0 3902.1319 4.6838632 - 850 19932.48 210.71155 0 3901.9116 3.471602 - 900 20243.528 153.13972 0 3901.9411 3.6490762 - 950 20388.132 126.88722 0 3902.4671 -4.4518463 - 1000 20076.333 184.61916 0 3902.4586 -2.2723139 - 1050 20859.506 39.696992 0 3902.5684 6.45166 - 1100 15284.661 1072.1908 0 3902.6836 21.194042 - 1150 19658.317 261.99809 0 3902.4272 -2.8744219 - 1200 20767.681 56.717093 0 3902.5839 -34.817443 - 1250 20625.583 82.586395 0 3902.1388 11.697328 - 1300 20690.013 71.006479 0 3902.4903 -29.292783 - 1350 20936.019 26.022787 0 3903.0634 1.0316033 - 1400 19753.56 244.81774 0 3902.8844 6.7138457 - 1450 15690.143 998.34271 0 3903.9248 48.124667 - 1500 20234.455 155.92517 0 3903.0465 13.172173 - 1550 20779.63 55.062895 0 3903.1426 -2.6390424 - 1600 20642.757 80.232879 0 3902.9657 -2.4687934 - 1650 18785.716 423.90031 0 3902.7365 -5.6468747 - 1700 20965.076 20.760295 0 3903.1818 -0.45382233 - 1750 18935.466 396.94949 0 3903.5173 25.912008 - 1800 20581.509 91.766145 0 3903.1567 3.8229018 - 1850 20616.968 85.18122 0 3903.1382 4.1907646 - 1900 16600.676 828.66496 0 3902.8643 -0.49197745 - 1950 20175.677 166.50513 0 3902.7416 5.6027746 - 2000 20268.078 149.2566 0 3902.6044 -1.1951453 - 2050 20155.388 170.16328 0 3902.6425 -0.79473147 - 2100 19715.497 250.63403 0 3901.652 3.6719022 - 2150 20677.205 73.792009 0 3902.9041 0.64246071 - 2200 20041.156 191.58407 0 3902.9093 7.4438342 - 2250 19924.453 213.0259 0 3902.7394 2.3652069 - 2300 20432.764 119.13103 0 3902.9763 -11.527566 - 2350 18265.828 520.75569 0 3903.3165 -8.9634198 - 2400 19574.981 277.7963 0 3902.7927 1.8085002 - 2450 20655.975 77.958119 0 3903.1387 3.4001031 - 2500 19783.143 239.3546 0 3902.8995 24.872182 - 2550 16660.113 818.36907 0 3903.5752 -11.766765 - 2600 19789.524 238.61817 0 3903.3448 3.3910931 - 2650 18532.96 471.8684 0 3903.898 -4.812577 - 2700 19081.457 369.81185 0 3903.4151 -0.49159968 - 2750 20370.042 131.6764 0 3903.9064 -3.3818893 - 2800 20727.087 65.499688 0 3903.8491 4.3537941 - 2850 18252.657 523.061 0 3903.1827 11.774986 - 2900 20780.391 55.586541 0 3903.8071 5.4415831 - 2950 20361.047 132.98647 0 3903.5508 -2.4847656 - 3000 19528.633 284.87405 0 3901.2876 14.23453 - 3050 20385.56 127.80448 0 3902.9081 -0.51079949 - 3100 19040.7 376.96613 0 3903.0216 -8.9425331 - 3150 20053.417 189.7312 0 3903.327 4.6695643 - 3200 20862.681 40.219985 0 3903.6795 1.2220199 - 3250 20692.32 71.660474 0 3903.5716 2.118694 - 3300 20560.104 95.905282 0 3903.332 5.9856809 - 3350 20693.236 71.35789 0 3903.4387 3.9315564 - 3400 19045.135 376.64379 0 3903.5206 3.9692419 - 3450 20354.826 134.28157 0 3903.6938 7.6208552 - 3500 20528.053 102.12643 0 3903.6178 7.2863414 - 3550 20525.13 103.01612 0 3903.9661 8.4807852 - 3600 19782.42 240.28031 0 3903.6914 1.0181878 - 3650 20519.52 104.05243 0 3903.9636 -2.36641 - 3700 20024.307 195.68587 0 3903.8908 -6.261818 - 3750 20239.643 155.72722 0 3903.8092 -20.781566 - 3800 20601.2 88.794605 0 3903.8317 -11.491217 - 3850 20973.346 19.675436 0 3903.6283 -9.0554155 - 3900 16212.846 902.10241 0 3904.4813 -19.773976 - 3950 19645.576 264.59477 0 3902.6643 16.065663 - 4000 17439.655 673.47397 0 3903.0398 -3.7357722 - 4050 19305.077 328.50056 0 3903.5148 10.43441 - 4100 18634.36 451.24343 0 3902.0508 3.4327844 - 4150 20249.11 153.64108 0 3903.4763 -2.5190604 - 4200 19177.928 351.81896 0 3903.2871 -5.5110274 - 4250 20754.898 60.189732 0 3903.6893 -3.3019026 - 4300 19693.307 256.31591 0 3903.2245 5.8795929 - 4350 18411.713 494.6957 0 3904.2722 4.2513782 - 4400 18499.707 474.35141 0 3900.2231 10.120914 - 4450 18620.543 449.98137 0 3898.2301 0.74648702 - 4500 18930.676 398.47668 0 3904.1573 -3.3953153 - 4550 18708.382 438.70363 0 3903.2188 8.478793 - 4600 19937.049 211.7655 0 3903.8117 4.8300368 - 4650 19919.169 214.98435 0 3903.7194 -1.0166319 - 4700 19345.329 321.18127 0 3903.6496 -23.032019 - 4750 18391.67 498.629 0 3904.4939 -15.40779 - 4800 18597.103 459.20983 0 3903.1179 9.3900723 - 4850 19857.892 226.27908 0 3903.6665 4.1998427 - 4900 20428.515 120.59483 0 3903.6532 -1.8636046 - 4950 18457.127 485.79992 0 3903.7864 -7.2380409 - 5000 20543.123 99.480661 0 3903.7627 -0.39555479 - 5050 18716.671 436.46735 0 3902.5175 29.395654 - 5100 20048.411 191.03727 0 3903.706 -0.91178091 - 5150 19647.675 265.24989 0 3903.7083 3.8658742 - 5200 20787.465 54.078505 0 3903.6091 -3.3582221 - 5250 20630.096 83.165593 0 3903.5538 -11.86045 - 5300 16598.926 830.02918 0 3903.9043 -1.8793568 - 5350 19114.667 363.424 0 3903.1772 11.894383 - 5400 19563.654 280.22257 0 3903.1215 8.8285523 - 5450 20012.628 197.27325 0 3903.3154 2.1981092 - 5500 17845.428 599.4114 0 3904.1202 20.091131 - 5550 20630.423 82.857857 0 3903.3065 0.93827014 - 5600 19675.125 259.89939 0 3903.4411 -2.4034875 - 5650 19932.349 212.22024 0 3903.3961 2.0064698 - 5700 20499.192 107.17918 0 3903.3259 2.5440649 - 5750 19522.335 287.94941 0 3903.1966 -0.7615272 - 5800 18010.242 568.31554 0 3903.5455 -6.3433889 - 5850 20177.497 166.64243 0 3903.2159 -0.95012013 - 5900 17919.358 584.40694 0 3902.8065 10.49282 - 5950 18390.453 498.29164 0 3903.9311 10.026285 - 6000 18040.232 562.71939 0 3903.5032 0.22172862 - 6050 19777.355 240.88597 0 3903.3592 -3.1899015 - 6100 19132.014 360.58765 0 3903.5531 1.6644736 - 6150 19780.214 240.31985 0 3903.3224 4.2403325 - 6200 18883.45 406.45503 0 3903.3902 -3.5422327 - 6250 19875.924 222.49729 0 3903.2239 3.0535292 - 6300 19882.454 221.4928 0 3903.4287 5.7371152 - 6350 19040.565 377.18193 0 3903.2124 -0.26454332 - 6400 19137.008 359.7025 0 3903.5929 9.5375531 - 6450 19655.205 263.59789 0 3903.4507 -1.8592763 - 6500 18385.045 499.5436 0 3904.1816 -7.8549266 - 6550 18823.423 417.69964 0 3903.5187 -2.8268518 - 6600 19414.118 308.11966 0 3903.3268 4.6627243 - 6650 20533.065 100.75047 0 3903.1698 3.3716972 - 6700 20206.283 161.18079 0 3903.085 5.6368472 - 6750 19517.622 288.72511 0 3903.0995 0.3337076 - 6800 18152.278 541.45525 0 3902.9883 -7.2734044 - 6850 18910.032 401.19322 0 3903.0511 6.2653128 - 6900 18580.612 462.26403 0 3903.1182 15.681586 - 6950 20459.012 114.44928 0 3903.1552 -0.82985388 - 7000 20866.868 38.822988 0 3903.0578 -6.2182429 - 7050 20460.074 114.11492 0 3903.0175 -2.1465384 - 7100 20553.533 96.636153 0 3902.846 -5.105486 - 7150 20447.915 116.30898 0 3902.9599 8.2035464 - 7200 20703.396 69.030336 0 3902.9926 9.1221166 - 7250 19652.215 263.63438 0 3902.9335 17.675447 - 7300 20691.205 71.094727 0 3902.7994 -1.7423404 - 7350 18845.785 412.74313 0 3902.7033 -2.0276584 - 7400 18462.131 483.73088 0 3902.6441 -0.22424322 - 7450 20458.641 113.96173 0 3902.599 -4.9286236 - 7500 17681.258 628.1576 0 3902.4647 -16.803813 - 7550 19149.34 356.35773 0 3902.5318 -5.3481685 - 7600 19723.907 249.45462 0 3902.03 7.2597963 - 7650 19317.18 325.01536 0 3902.271 -0.16642424 - 7700 19620.248 269.22043 0 3902.5996 -4.6771277 - 7750 17751.083 615.46827 0 3902.7058 7.3637076 - 7800 20724.904 64.633157 0 3902.5784 5.2079592 - 7850 19966.924 204.60327 0 3902.1817 6.4943932 - 7900 19730.339 248.88701 0 3902.6536 8.4392109 - 7950 19907.748 216.06587 0 3902.6859 -5.1989259 - 8000 18217.971 528.46486 0 3902.1632 -15.394144 - 8050 17868.898 592.98294 0 3902.0381 9.1139508 - 8100 19370.601 315.22753 0 3902.3759 7.9651368 - 8150 18199.01 532.43818 0 3902.6252 10.07163 - 8200 20646.337 79.222148 0 3902.6179 0.17396159 - 8250 20811.938 48.374613 0 3902.4372 -14.594973 - 8300 20906.571 30.626024 0 3902.2132 -12.34909 - 8350 19873.431 221.86861 0 3902.1335 7.1435615 - 8400 20374.979 127.96219 0 3901.1064 10.527044 - 8450 20701.502 68.073078 0 3901.6846 2.5071154 - 8500 20452.423 113.98399 0 3901.4698 4.2164058 - 8550 19695.059 253.87834 0 3901.1115 8.0656507 - 8600 19447.531 299.45597 0 3900.8505 -0.71982287 - 8650 17202.668 714.55842 0 3900.2378 -16.743518 - 8700 18579.153 459.20676 0 3899.7906 3.4494692 - 8750 20247.204 150.39086 0 3899.8731 -0.1022032 - 8800 18520.797 469.57224 0 3899.3494 5.7412252 - 8850 16011.411 934.80107 0 3899.8772 34.500452 - 8900 19045.914 372.92529 0 3899.9464 10.001612 - 8950 19798.369 233.70991 0 3900.0746 9.3270865 - 9000 17141.02 725.70858 0 3899.9716 -6.7470927 - 9050 17722.847 617.81927 0 3899.828 -10.909071 - 9100 20811.604 45.701413 0 3899.7021 -12.300065 - 9150 18066.034 554.62654 0 3900.1884 -5.7606837 - 9200 19259.884 332.49612 0 3899.1412 -40.231609 - 9250 19116.782 359.42396 0 3899.5689 0.68271469 - 9300 18785.022 421.1178 0 3899.8256 -20.433345 - 9350 19018.32 377.90289 0 3899.814 3.2963902 - 9400 17321.798 691.93839 0 3899.6788 24.552549 - 9450 18318.437 507.12661 0 3899.4297 6.1367468 - 9500 16431.681 857.32722 0 3900.2311 25.431389 - 9550 17920.939 581.45381 0 3900.1462 9.1734747 - 9600 16603.394 825.79291 0 3900.4954 -5.9643183 - 9650 17753.931 607.15019 0 3894.9151 2.2302338 - 9700 17452.305 668.30613 0 3900.2145 2.4635322 - 9750 15955.164 945.80159 0 3900.4617 20.290857 - 9800 17958.495 574.7055 0 3900.3526 12.218625 - 9850 18759.766 423.66965 0 3897.7005 -4.8999337 - 9900 19798.529 232.2507 0 3898.6449 0.10312101 - 9950 18260.87 517.50071 0 3899.1432 5.7261992 - 10000 19116.279 359.58291 0 3899.6345 3.2110764 -Loop time of 3.40298 on 1 procs for 10000 steps with 81 atoms - -Performance: 25389.516 tau/day, 2938.601 timesteps/s, 238.027 katom-step/s -99.5% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.068835 | 0.068835 | 0.068835 | 0.0 | 2.02 -Neigh | 0.078603 | 0.078603 | 0.078603 | 0.0 | 2.31 -Comm | 0.013957 | 0.013957 | 0.013957 | 0.0 | 0.41 -Output | 0.0034786 | 0.0034786 | 0.0034786 | 0.0 | 0.10 -Modify | 3.2212 | 3.2212 | 3.2212 | 0.0 | 94.66 -Other | | 0.01692 | | | 0.50 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 105 ave 105 max 105 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 498 ave 498 max 498 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 498 -Ave neighs/atom = 6.1481481 -Neighbor list builds = 1202 -Dangerous builds = 0 -Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.poems5.g++.4 b/examples/rigid/log.25Mar24.rigid.poems5.g++.4 deleted file mode 100644 index 78f4d4417b..0000000000 --- a/examples/rigid/log.25Mar24.rigid.poems5.g++.4 +++ /dev/null @@ -1,329 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic - -pair_style lj/cut 2.5 - -read_data data.rigid -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - - -# 2 chains of connected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 9 18 -10 atoms in group clump2 -group clump3 id <> 18 27 -10 atoms in group clump3 -group clump4 id <> 27 36 -10 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 45 54 -10 atoms in group clump6 -group clump7 id <> 54 63 -10 atoms in group clump7 -group clump8 id <> 63 72 -10 atoms in group clump8 -group clump9 id <> 72 81 -10 atoms in group clump9 - -fix 1 all poems file connected-bodies2.dat -2 clusters, 9 bodies, 7 joints, 81 atoms - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid.poems - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Your simulation uses code contributions which should be cited: - -- fix poems command: doi:10.1016/j.ijnonlinmec.2008.04.003 - -@Article{Mukherjee08, - author = {R. M. Mukherjee and P. S. Crozier and S. J. Plimpton and K. S. Anderson}, - title = {Substructured Molecular Dynamics Using Multibody Dynamics Algorithms}, - journal = {Intl.\ J.\ Non-Linear Mechanics}, - year = 2008, - volume = 43, - number = 10, - pages = {1040--1055} -} - -CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE - -Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule -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 = 18 18 18 - 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.514 | 3.545 | 3.639 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 196.00047 3632.2347 0 3668.5311 -2.7403788 - 50 12774.759 1538.7378 0 3904.434 18.086356 - 100 19803.641 237.21132 0 3904.5523 -3.1528278 - 150 20259.6 152.62032 0 3904.3981 -4.6173548 - 200 20705.978 69.977442 0 3904.4178 9.0928146 - 250 19552.211 283.50525 0 3904.285 15.670465 - 300 19266.324 333.5792 0 3901.4169 7.2119197 - 350 20738.325 63.738945 0 3904.1694 -23.03999 - 400 20616.682 86.082444 0 3903.9864 -13.783584 - 450 19831.326 230.13858 0 3902.6063 0.42074361 - 500 20365.825 131.47271 0 3902.9217 0.69215592 - 550 20794.102 52.163238 0 3902.9229 4.5895354 - 600 20853.873 40.899172 0 3902.7275 2.3593042 - 650 19255.802 336.29509 0 3902.1844 10.341742 - 700 18526.969 471.02462 0 3901.9448 -0.61898691 - 750 18960.662 391.26068 0 3902.4944 12.04731 - 800 20142.432 172.05197 0 3902.1319 4.6838632 - 850 19932.48 210.71175 0 3901.9118 3.4716031 - 900 20243.528 153.13972 0 3901.9411 3.6490762 - 950 20388.132 126.88722 0 3902.4671 -4.4518463 - 1000 20076.333 184.61916 0 3902.4586 -2.272315 - 1050 20859.506 39.696992 0 3902.5684 6.45166 - 1100 15284.661 1072.1906 0 3902.6833 21.194041 - 1150 19658.317 261.99809 0 3902.4272 -2.8744196 - 1200 20767.681 56.717093 0 3902.5839 -34.817444 - 1250 20625.583 82.586396 0 3902.1388 11.697328 - 1300 20690.013 71.006479 0 3902.4903 -29.292783 - 1350 20936.019 26.022787 0 3903.0634 1.0316031 - 1400 19753.56 244.81777 0 3902.8844 6.713847 - 1450 15690.145 998.34279 0 3903.9252 48.124638 - 1500 20234.455 155.92476 0 3903.0461 13.17218 - 1550 20779.631 55.063072 0 3903.1428 -2.6390427 - 1600 20642.756 80.233303 0 3902.9659 -2.4688077 - 1650 18785.71 423.90132 0 3902.7365 -5.6468182 - 1700 20965.076 20.760481 0 3903.182 -0.45377448 - 1750 18935.45 396.95247 0 3903.5173 25.912353 - 1800 20581.523 91.763662 0 3903.1567 3.8225817 - 1850 20616.962 85.182351 0 3903.1382 4.1907744 - 1900 16601.061 828.59343 0 3902.8639 -0.49284971 - 1950 20175.618 166.51633 0 3902.7419 5.6031735 - 2000 20266.439 149.55931 0 3902.6036 -1.1956447 - 2050 20159.308 169.44017 0 3902.6453 -0.7983344 - 2100 19743.72 245.40822 0 3901.6527 3.5301052 - 2150 20674.556 74.284034 0 3902.9055 0.61532081 - 2200 19950.784 208.30189 0 3902.8915 7.6523945 - 2250 19817.161 232.7485 0 3902.5932 3.4492756 - 2300 20459.058 114.2307 0 3902.9451 -11.066393 - 2350 18359.21 503.25787 0 3903.1115 -9.0741539 - 2400 19952.914 207.84881 0 3902.8328 -0.53972874 - 2450 19661.352 259.78979 0 3900.781 7.8669927 - 2500 20917.293 29.699201 0 3903.2719 1.1433085 - 2550 20763.955 57.990256 0 3903.1671 -1.1088372 - 2600 20640.005 80.556339 0 3902.7795 9.6127007 - 2650 20823.227 47.292746 0 3903.446 2.2923503 - 2700 20401.43 125.53141 0 3903.5739 -8.0683618 - 2750 20689.918 72.242212 0 3903.7084 0.22078527 - 2800 20783.922 54.87309 0 3903.7476 2.0668249 - 2850 19258.563 336.84835 0 3903.2488 4.2704683 - 2900 20565.694 95.184831 0 3903.6468 -0.24799068 - 2950 20915.041 30.344751 0 3903.5004 -2.9900907 - 3000 19571.964 278.74004 0 3903.1778 12.195325 - 3050 20356.693 133.43974 0 3903.1976 0.11608195 - 3100 20047.888 190.69627 0 3903.268 -4.5895546 - 3150 19834.363 230.59072 0 3903.6209 -1.4352632 - 3200 20213.412 160.25129 0 3903.4757 3.7488266 - 3250 19286.774 332.04497 0 3903.6699 -5.0835358 - 3300 20952.226 23.774103 0 3903.816 0.10019546 - 3350 20407.952 124.62932 0 3903.8798 0.4403531 - 3400 19401.716 311.03567 0 3903.9461 1.8034568 - 3450 20880.78 37.20558 0 3904.0167 6.3948533 - 3500 19529.313 287.50301 0 3904.0425 12.311168 - 3550 20943.604 25.677677 0 3904.1228 5.1786098 - 3600 20272.725 149.91697 0 3904.1254 1.196909 - 3650 19781.047 240.95421 0 3904.1111 -8.5091671 - 3700 20613.433 86.53896 0 3903.8414 -9.1622102 - 3750 20567.605 95.294456 0 3904.1101 -0.11887825 - 3800 19891.98 220.32932 0 3904.0292 6.8801146 - 3850 20669.735 76.407858 0 3904.1365 -7.4310509 - 3900 20908.711 32.197181 0 3904.1807 -4.6573356 - 3950 20822.78 48.03134 0 3904.1018 0.086779759 - 4000 20199.055 163.66262 0 3904.2283 2.0027771 - 4050 20072.638 187.07041 0 3904.2256 4.4103784 - 4100 17724.651 619.7903 0 3902.1331 11.210006 - 4150 20760.201 60.001382 0 3904.4831 -3.8510009 - 4200 19159.102 356.30472 0 3904.2865 -2.3503308 - 4250 19403.974 311.3497 0 3904.6783 -1.2458384 - 4300 20858.687 42.000734 0 3904.7206 2.1750528 - 4350 20486.989 110.94383 0 3904.8306 5.017245 - 4400 20231.073 158.28825 0 3904.7832 7.4295979 - 4450 16369.689 873.39361 0 3904.8175 14.371454 - 4500 20745.196 63.11427 0 3904.8172 -7.855609 - 4550 18688.003 443.85636 0 3904.5977 9.8067426 - 4600 17755.672 616.68475 0 3904.7721 -3.9654703 - 4650 19843.131 230.34486 0 3904.9988 -0.13553926 - 4700 18873.202 409.99341 0 3905.0308 15.912724 - 4750 20605.355 89.223116 0 3905.0295 2.0847611 - 4800 20136.483 176.1278 0 3905.1062 -1.7091113 - 4850 19808.073 236.83278 0 3904.9945 5.0982271 - 4900 19142.083 359.55764 0 3904.3878 8.2072008 - 4950 20539.687 101.08198 0 3904.7277 8.0469319 - 5000 20840.809 45.759021 0 3905.168 4.771755 - 5050 20009.696 199.45528 0 3904.9546 6.1191423 - 5100 20882.034 38.247578 0 3905.2909 -6.3068822 - 5150 20329.869 140.47458 0 3905.2651 -21.720979 - 5200 17334.411 695.67098 0 3905.7471 -9.8243617 - 5250 19602.025 275.17282 0 3905.1775 -3.2371379 - 5300 20858.74 42.630642 0 3905.3603 0.38011789 - 5350 20828.619 48.188698 0 3905.3403 5.7187945 - 5400 20978.428 20.447148 0 3905.3413 6.1168011 - 5450 20115.374 179.9294 0 3904.9987 8.6440563 - 5500 20522.744 104.7733 0 3905.2815 -2.6561664 - 5550 20625.724 85.600795 0 3905.1792 -1.327206 - 5600 19559.638 282.68742 0 3904.8426 17.893028 - 5650 20552.224 98.978098 0 3904.9455 2.4489071 - 5700 19982.142 204.09989 0 3904.4966 9.9034011 - 5750 20408.825 125.30875 0 3904.7209 1.2515548 - 5800 19773.143 243.02134 0 3904.7144 -2.6729948 - 5850 20781.934 56.310486 0 3904.8168 -1.659054 - 5900 19807.668 236.54392 0 3904.6306 0.49776361 - 5950 20741.237 63.921667 0 3904.8916 4.2800039 - 6000 20322.7 140.98125 0 3904.4442 7.4978024 - 6050 20858.439 42.383629 0 3905.0575 -4.6872323 - 6100 20212.538 162.022 0 3905.0847 -7.0796165 - 6150 18513.957 476.7087 0 3905.2193 7.107138 - 6200 20802.734 52.621638 0 3904.9797 3.7242428 - 6250 20818.044 49.717458 0 3904.9109 -0.91041774 - 6300 19987.245 203.4635 0 3904.8052 -0.86714551 - 6350 20806.906 51.449749 0 3904.5806 -4.0699629 - 6400 20530.3 103.09809 0 3905.0055 1.660177 - 6450 20667.085 77.715553 0 3904.9535 0.99217521 - 6500 20515.816 105.81762 0 3905.0428 3.0994091 - 6550 20548.348 99.627131 0 3904.8769 -0.77417688 - 6600 19827.378 232.99889 0 3904.7355 3.295082 - 6650 19237.199 342.94808 0 3905.3923 -6.2226637 - 6700 19611.621 273.139 0 3904.9206 -3.5465535 - 6750 20874.805 39.1893 0 3904.8939 -0.051336814 - 6800 19433.717 305.99952 0 3904.8361 -19.858865 - 6850 20119.223 179.19987 0 3904.9818 4.6466283 - 6900 20467.389 114.77871 0 3905.0359 10.290214 - 6950 20334.202 139.43289 0 3905.0259 7.5448433 - 7000 20504.591 107.86929 0 3905.0158 -0.10092084 - 7050 17969.214 576.83722 0 3904.4694 10.852897 - 7100 19186.398 351.80467 0 3904.8414 0.24779979 - 7150 20261.23 152.54684 0 3904.6265 -7.0175844 - 7200 20696.821 71.985154 0 3904.7298 3.9649146 - 7250 18456.212 487.1819 0 3904.9989 5.8280225 - 7300 17705.1 625.95928 0 3904.6816 6.8298215 - 7350 17032.039 750.96958 0 3905.051 11.833303 - 7400 20557.431 97.599213 0 3904.5308 0.43747863 - 7450 20466.847 114.5693 0 3904.7261 1.9786538 - 7500 20416.862 123.31643 0 3904.2168 -2.9094738 - 7550 18433.95 487.50767 0 3901.2022 4.0921479 - 7600 19950.107 209.92208 0 3904.3863 3.9114888 - 7650 16037.844 934.94785 0 3904.9189 -1.2183461 - 7700 20145.239 173.99945 0 3904.5993 3.1185554 - 7750 18672.579 446.35236 0 3904.2373 4.1086445 - 7800 19740.616 249.10395 0 3904.7737 4.6048428 - 7850 20801.917 52.742096 0 3904.9489 1.5978265 - 7900 20305.348 144.57749 0 3904.8272 2.7348725 - 7950 20221.086 159.31958 0 3903.9652 7.1592496 - 8000 20826.907 47.953835 0 3904.7884 6.2728901 - 8050 18646.418 452.02126 0 3905.0617 5.9716218 - 8100 20653.653 80.183024 0 3904.9336 -1.8274783 - 8150 20843.275 45.172279 0 3905.0379 -6.9445524 - 8200 20364.78 133.45082 0 3904.7064 -12.094533 - 8250 18163.745 541.08818 0 3904.7447 -2.6103997 - 8300 20889.664 36.793018 0 3905.2494 -9.2650749 - 8350 20307.367 144.33088 0 3904.9543 -0.65999546 - 8400 20485.202 111.41317 0 3904.9691 -0.42802224 - 8450 20864.395 41.146879 0 3904.9238 7.7084978 - 8500 20901.899 34.291267 0 3905.0132 -5.2070823 - 8550 20211.78 162.02611 0 3904.9484 -5.8363409 - 8600 19639.538 268.05291 0 3905.0044 3.8180903 - 8650 19919.356 216.24885 0 3905.0185 0.17130921 - 8700 19499.449 293.97522 0 3904.9843 -4.897872 - 8750 20270.687 151.1571 0 3904.9879 0.28558082 - 8800 18804.137 422.61651 0 3904.864 15.351015 - 8850 20654.443 80.110976 0 3905.0078 4.1368065 - 8900 19953.725 209.81046 0 3904.9447 10.71743 - 8950 18195.013 536.67764 0 3906.1245 21.497802 - 9000 20478.531 112.78923 0 3905.1098 -13.053056 - 9050 20866.484 40.901611 0 3905.0653 -3.6134066 - 9100 20322.595 141.61419 0 3905.0577 15.459697 - 9150 20855.456 42.94311 0 3905.0646 4.9123213 - 9200 20208.201 162.79363 0 3905.0531 2.5454472 - 9250 18394.203 498.63686 0 3904.9707 0.041811692 - 9300 18776.997 427.7118 0 3904.9335 -7.652483 - 9350 18330.751 510.07857 0 3904.6621 8.3424059 - 9400 17538.366 657.08623 0 3904.9319 8.5478668 - 9450 20309.605 143.77142 0 3904.8093 6.6831447 - 9500 19982.331 203.81545 0 3904.2471 -7.6711411 - 9550 19410.612 310.1139 0 3904.6717 5.3983286 - 9600 19198.225 349.06634 0 3904.2932 -4.107658 - 9650 19388.043 314.31566 0 3904.6939 6.1198194 - 9700 18849.37 414.1045 0 3904.7286 5.4468861 - 9750 18263.312 523.38716 0 3905.4819 -0.56480349 - 9800 20421.858 122.53973 0 3904.3653 -15.641399 - 9850 17678.959 631.15683 0 3905.0381 -1.805446 - 9900 19421.046 306.67446 0 3903.1644 7.0287747 - 9950 18460.64 483.18902 0 3901.8261 3.658774 - 10000 19781.151 239.38136 0 3902.5575 6.3312911 -Loop time of 3.21586 on 4 procs for 10000 steps with 81 atoms - -Performance: 26866.868 tau/day, 3109.591 timesteps/s, 251.877 katom-step/s -99.4% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0068055 | 0.017185 | 0.043838 | 11.8 | 0.53 -Neigh | 0.010594 | 0.021601 | 0.042532 | 8.5 | 0.67 -Comm | 0.068664 | 0.091849 | 0.10748 | 4.8 | 2.86 -Output | 0.0038351 | 0.0044469 | 0.0057465 | 1.1 | 0.14 -Modify | 2.8494 | 2.9033 | 2.9663 | 2.5 | 90.28 -Other | | 0.1775 | | | 5.52 - -Nlocal: 20.25 ave 36 max 0 min -Histogram: 1 0 0 0 0 1 0 1 0 1 -Nghost: 38.25 ave 50 max 28 min -Histogram: 1 0 1 0 0 1 0 0 0 1 -Neighs: 126.5 ave 213 max 0 min -Histogram: 1 0 0 0 1 0 0 0 0 2 - -Total # of neighbors = 506 -Ave neighs/atom = 6.2469136 -Neighbor list builds = 1207 -Dangerous builds = 0 -Total wall time: 0:00:03 diff --git a/examples/rigid/log.25Mar24.rigid.property.g++.1 b/examples/rigid/log.25Mar24.rigid.property.g++.1 deleted file mode 100644 index 0a3d0da63a..0000000000 --- a/examples/rigid/log.25Mar24.rigid.property.g++.1 +++ /dev/null @@ -1,343 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic -atom_modify map array - -pair_style lj/cut 2.5 - -fix 0 all property/atom i_bodies - -read_data data.rigid-property fix 0 NULL Clumps -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -# assemble bodies from per-atom custom integer property bodies -fix 1 all rigid custom i_bodies - 9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -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 = 18 18 18 - 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.42 | 4.42 | 4.42 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722875e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690665 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 - 8600 16738.474 -0.0007653281 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652436 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 - 9600 16738.549 -0.026814368 0 5269.5163 12.011415 - 9650 16738.765 -0.10191522 0 5269.5092 12.011013 - 9700 16735.041 1.0589881 0 5269.4979 12.062708 - 9750 16738.013 0.13550093 0 5269.5101 11.407245 - 9800 16738.512 -0.01162033 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270581 0 5269.5237 11.395098 - 9900 16738.489 -0.0002498458 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.13897 on 1 procs for 10000 steps with 81 atoms - -Performance: 621716.264 tau/day, 71957.901 timesteps/s, 5.829 Matom-step/s -98.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0095014 | 0.0095014 | 0.0095014 | 0.0 | 6.84 -Neigh | 0.050174 | 0.050174 | 0.050174 | 0.0 | 36.10 -Comm | 0.0091698 | 0.0091698 | 0.0091698 | 0.0 | 6.60 -Output | 0.0016255 | 0.0016255 | 0.0016255 | 0.0 | 1.17 -Modify | 0.060968 | 0.060968 | 0.060968 | 0.0 | 43.87 -Other | | 0.007531 | | | 5.42 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 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 = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.property.g++.4 b/examples/rigid/log.25Mar24.rigid.property.g++.4 deleted file mode 100644 index 5195cd4eb6..0000000000 --- a/examples/rigid/log.25Mar24.rigid.property.g++.4 +++ /dev/null @@ -1,343 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style atomic -atom_modify map array - -pair_style lj/cut 2.5 - -fix 0 all property/atom i_bodies - -read_data data.rigid-property fix 0 NULL Clumps -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -# assemble bodies from per-atom custom integer property bodies -fix 1 all rigid custom i_bodies - 9 rigid bodies with 81 atoms - -# 1 chain of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 36 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 - -# 2 chains of connected bodies - -#group clump1 id <> 1 9 -#group clump2 id <> 9 18 -#group clump3 id <> 18 27 -#group clump4 id <> 27 36 -#group clump5 id <> 37 45 -#group clump6 id <> 45 54 -#group clump7 id <> 54 63 -#group clump8 id <> 63 72 -#group clump9 id <> 72 81 - -#fix 1 all poems group clump1 clump2 clump3 clump4 -#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -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 = 18 18 18 - 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.268 | 4.3 | 4.394 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722867e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706558 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690664 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652437 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156158 0 5269.5203 12.011611 - 9600 16738.549 -0.026814369 0 5269.5163 12.011415 - 9650 16738.765 -0.10191523 0 5269.5092 12.011013 - 9700 16735.041 1.0589886 0 5269.4979 12.062708 - 9750 16738.013 0.13550089 0 5269.5101 11.407245 - 9800 16738.512 -0.011620329 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270567 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984578 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.145717 on 4 procs for 10000 steps with 81 atoms - -Performance: 592928.932 tau/day, 68626.034 timesteps/s, 5.559 Matom-step/s -98.1% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0017512 | 0.002579 | 0.0032423 | 1.1 | 1.77 -Neigh | 0.01337 | 0.01442 | 0.016488 | 1.0 | 9.90 -Comm | 0.066749 | 0.068666 | 0.070799 | 0.7 | 47.12 -Output | 0.0018563 | 0.0020346 | 0.0025278 | 0.6 | 1.40 -Modify | 0.040991 | 0.042542 | 0.044042 | 0.6 | 29.19 -Other | | 0.01548 | | | 10.62 - -Nlocal: 20.25 ave 37 max 3 min -Histogram: 1 0 0 1 0 0 0 1 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 0 2 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Neighbor list builds = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.small.g++.1 b/examples/rigid/log.25Mar24.rigid.small.g++.1 deleted file mode 100644 index 7c1c88364b..0000000000 --- a/examples/rigid/log.25Mar24.rigid.small.g++.1 +++ /dev/null @@ -1,321 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style bond - -pair_style lj/cut 2.5 - -read_data data.rigid.small -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.002 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/small molecule - create bodies CPU = 0.000 seconds - 9 rigid bodies with 81 atoms - 1.2247449 = max distance from body owner to body atom - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -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 = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 9.034 | 9.034 | 9.034 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722853e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.05932751 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934369 0 5269.4889 12.025288 - 3750 16737.731 0.20706559 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253348 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690669 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646805 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532808 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652431 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156156 0 5269.5203 12.011611 - 9600 16738.549 -0.026814366 0 5269.5163 12.011415 - 9650 16738.765 -0.10191522 0 5269.5092 12.011013 - 9700 16735.041 1.0589875 0 5269.4979 12.062708 - 9750 16738.013 0.13550135 0 5269.5101 11.407245 - 9800 16738.512 -0.01162033 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270544 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984555 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.159025 on 1 procs for 10000 steps with 81 atoms - -Performance: 543312.198 tau/day, 62883.356 timesteps/s, 5.094 Matom-step/s -98.3% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0094515 | 0.0094515 | 0.0094515 | 0.0 | 5.94 -Bond | 0.00045015 | 0.00045015 | 0.00045015 | 0.0 | 0.28 -Neigh | 0.066186 | 0.066186 | 0.066186 | 0.0 | 41.62 -Comm | 0.0097819 | 0.0097819 | 0.0097819 | 0.0 | 6.15 -Output | 0.0021947 | 0.0021947 | 0.0021947 | 0.0 | 1.38 -Modify | 0.062923 | 0.062923 | 0.062923 | 0.0 | 39.57 -Other | | 0.008038 | | | 5.05 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.small.g++.4 b/examples/rigid/log.25Mar24.rigid.small.g++.4 deleted file mode 100644 index 1b0d54f7b3..0000000000 --- a/examples/rigid/log.25Mar24.rigid.small.g++.4 +++ /dev/null @@ -1,321 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style bond - -pair_style lj/cut 2.5 - -read_data data.rigid.small -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/small molecule - create bodies CPU = 0.000 seconds - 9 rigid bodies with 81 atoms - 1.2247449 = max distance from body owner to body atom - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -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 = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 8.892 | 8.94 | 9.049 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722842e-05 0 5269.5046 14.510657 - 2650 16733.017 1.705148 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419351 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554428 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.846062 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934367 0 5269.4889 12.025288 - 3750 16737.731 0.20706557 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690662 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646802 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532814 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.0003765244 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156163 0 5269.5203 12.011611 - 9600 16738.549 -0.026814371 0 5269.5163 12.011415 - 9650 16738.765 -0.10191524 0 5269.5092 12.011013 - 9700 16735.041 1.0589896 0 5269.4979 12.062708 - 9750 16738.013 0.13550091 0 5269.5101 11.407245 - 9800 16738.512 -0.011620327 0 5269.5201 11.394974 - 9850 16738.489 -0.00067270523 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984566 0 5269.5242 11.395085 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.200426 on 4 procs for 10000 steps with 81 atoms - -Performance: 431082.236 tau/day, 49893.777 timesteps/s, 4.041 Matom-step/s -97.6% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.001863 | 0.0024669 | 0.0029246 | 0.8 | 1.23 -Bond | 0.00033475 | 0.00034422 | 0.00035273 | 0.0 | 0.17 -Neigh | 0.016097 | 0.017035 | 0.018935 | 0.9 | 8.50 -Comm | 0.066051 | 0.06822 | 0.070253 | 0.7 | 34.04 -Output | 0.0020466 | 0.0021927 | 0.0026005 | 0.5 | 1.09 -Modify | 0.094972 | 0.096687 | 0.098173 | 0.4 | 48.24 -Other | | 0.01348 | | | 6.73 - -Nlocal: 20.25 ave 37 max 3 min -Histogram: 1 0 0 1 0 0 0 1 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 0 2 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.small.infile.g++.1 b/examples/rigid/log.25Mar24.rigid.small.infile.g++.1 deleted file mode 100644 index 8c441d5d00..0000000000 --- a/examples/rigid/log.25Mar24.rigid.small.infile.g++.1 +++ /dev/null @@ -1,322 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style bond - -pair_style lj/cut 2.5 - -read_data data.rigid.small -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 81 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.003 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/small molecule infile bodyinfo.dat - create bodies CPU = 0.000 seconds - 9 rigid bodies with 81 atoms - 1.2247449 = max distance from body owner to body atom - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -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 = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Reading rigid body data for 4 bodies from file bodyinfo.dat -Per MPI rank memory allocation (min/avg/max) = 9.034 | 9.034 | 9.034 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722875e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.059327511 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934368 0 5269.4889 12.025288 - 3750 16737.731 0.20706559 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253348 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690667 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532809 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652433 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156155 0 5269.5203 12.011611 - 9600 16738.549 -0.026814367 0 5269.5163 12.011415 - 9650 16738.765 -0.10191522 0 5269.5092 12.011013 - 9700 16735.041 1.0589876 0 5269.4979 12.062708 - 9750 16738.013 0.13550105 0 5269.5101 11.407245 - 9800 16738.512 -0.011620331 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270584 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984576 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395074 -Loop time of 0.154542 on 1 procs for 10000 steps with 81 atoms - -Performance: 559072.380 tau/day, 64707.451 timesteps/s, 5.241 Matom-step/s -98.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0094322 | 0.0094322 | 0.0094322 | 0.0 | 6.10 -Bond | 0.00037544 | 0.00037544 | 0.00037544 | 0.0 | 0.24 -Neigh | 0.062048 | 0.062048 | 0.062048 | 0.0 | 40.15 -Comm | 0.0095533 | 0.0095533 | 0.0095533 | 0.0 | 6.18 -Output | 0.0022247 | 0.0022247 | 0.0022247 | 0.0 | 1.44 -Modify | 0.06281 | 0.06281 | 0.06281 | 0.0 | 40.64 -Other | | 0.008098 | | | 5.24 - -Nlocal: 81 ave 81 max 81 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 84 ave 84 max 84 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 0 ave 0 max 0 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.small.infile.g++.4 b/examples/rigid/log.25Mar24.rigid.small.infile.g++.4 deleted file mode 100644 index e4c45a4523..0000000000 --- a/examples/rigid/log.25Mar24.rigid.small.infile.g++.4 +++ /dev/null @@ -1,322 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Simple rigid body system - -units lj -atom_style bond - -pair_style lj/cut 2.5 - -read_data data.rigid.small -Reading data file ... - orthogonal box = (-12 -12 -12) to (12 12 12) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 81 atoms -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 0 = max # of 1-2 neighbors - 0 = max # of 1-3 neighbors - 0 = max # of 1-4 neighbors - 1 = max # of special neighbors - special bonds CPU = 0.000 seconds - read_data CPU = 0.001 seconds - -velocity all create 100.0 4928459 - -# unconnected bodies - -group clump1 id <> 1 9 -9 atoms in group clump1 -group clump2 id <> 10 18 -9 atoms in group clump2 -group clump3 id <> 19 27 -9 atoms in group clump3 -group clump4 id <> 28 36 -9 atoms in group clump4 -group clump5 id <> 37 45 -9 atoms in group clump5 -group clump6 id <> 46 54 -9 atoms in group clump6 -group clump7 id <> 55 63 -9 atoms in group clump7 -group clump8 id <> 64 72 -9 atoms in group clump8 -group clump9 id <> 73 81 -9 atoms in group clump9 - -fix 1 all rigid/small molecule infile bodyinfo.dat - create bodies CPU = 0.000 seconds - 9 rigid bodies with 81 atoms - 1.2247449 = max distance from body owner to body atom - -neigh_modify exclude group clump1 clump1 -neigh_modify exclude group clump2 clump2 -neigh_modify exclude group clump3 clump3 -neigh_modify exclude group clump4 clump4 -neigh_modify exclude group clump5 clump5 -neigh_modify exclude group clump6 clump6 -neigh_modify exclude group clump7 clump7 -neigh_modify exclude group clump8 clump8 -neigh_modify exclude group clump9 clump9 - -thermo 100 - -#dump 1 all atom 50 dump.rigid - -#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 5 - -#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 5 - -timestep 0.0001 -thermo 50 -run 10000 -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 = 18 18 18 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Reading rigid body data for 4 bodies from file bodyinfo.dat -Per MPI rank memory allocation (min/avg/max) = 8.892 | 8.94 | 9.049 Mbytes - Step Temp E_pair E_mol TotEng Press - 0 115.29439 5235.9179 0 5272.2142 -2.7403788 - 50 14910.685 571.71558 0 5265.82 32.006171 - 100 16298.442 136.66184 0 5267.653 16.444229 - 150 16682.606 17.490511 0 5269.4219 14.900344 - 200 16733.929 1.372872 0 5269.4617 14.569267 - 250 16738.853 -0.15252816 0 5269.4864 14.496404 - 300 16738.588 -0.055171335 0 5269.5002 14.496025 - 350 16738.492 -0.017444677 0 5269.5077 14.496446 - 400 16738.464 -0.0060102023 0 5269.5104 14.496618 - 450 16738.455 -0.0012713351 0 5269.5124 14.496701 - 500 16738.455 -0.00081068621 0 5269.5128 14.496709 - 550 16738.455 -0.00083203497 0 5269.5129 14.496707 - 600 16738.455 -0.00058355356 0 5269.5131 14.496709 - 650 16738.455 -0.00047226704 0 5269.5131 14.496708 - 700 16738.455 0 0 5269.5136 14.496713 - 750 16738.455 0 0 5269.5136 14.49671 - 800 16738.455 0 0 5269.5137 14.496709 - 850 16738.455 0 0 5269.5137 14.49671 - 900 16738.456 0 0 5269.5138 14.496713 - 950 16738.462 -0.0035323872 0 5269.5122 14.496671 - 1000 16738.586 -0.051135144 0 5269.5036 14.496229 - 1050 16737.358 0.32995057 0 5269.4981 14.525763 - 1100 16737.892 0.16210246 0 5269.4984 14.531983 - 1150 16738.703 -0.089235095 0 5269.5025 14.509899 - 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 - 1250 16738.456 0 0 5269.514 14.510704 - 1300 16738.457 0 0 5269.5141 14.510701 - 1350 16738.457 0 0 5269.5141 14.510699 - 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 - 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 - 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 - 1550 16738.457 0 0 5269.5143 14.51071 - 1600 16738.457 0 0 5269.5144 14.510712 - 1650 16738.457 0 0 5269.5144 14.510712 - 1700 16738.458 0 0 5269.5144 14.51071 - 1750 16738.458 0 0 5269.5145 14.510708 - 1800 16738.458 0 0 5269.5145 14.510706 - 1850 16738.458 0 0 5269.5146 14.510705 - 1900 16738.458 0 0 5269.5146 14.510706 - 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 - 2000 16738.491 -0.013255268 0 5269.5117 14.510532 - 2050 16738.556 -0.0365811 0 5269.5087 14.51029 - 2100 16738.633 -0.063209659 0 5269.5065 14.510219 - 2150 16738.607 -0.05601761 0 5269.5055 14.510231 - 2200 16738.557 -0.038423032 0 5269.5072 14.510404 - 2250 16738.515 -0.023709918 0 5269.5088 14.510539 - 2300 16738.489 -0.013249035 0 5269.5111 14.510621 - 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 - 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 - 2450 16738.464 -0.0023259756 0 5269.514 14.510746 - 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 - 2550 16738.581 -0.044940117 0 5269.5085 14.510315 - 2600 16738.427 -7.9722864e-05 0 5269.5046 14.510657 - 2650 16733.017 1.7051479 0 5269.5067 14.596295 - 2700 16738.761 -0.10614946 0 5269.5038 14.499584 - 2750 16733.973 1.4038179 0 5269.5064 14.598107 - 2800 16738.585 -0.046813448 0 5269.5076 14.511073 - 2850 16738.487 -0.012558719 0 5269.5111 14.510111 - 2900 16738.465 -0.0026252725 0 5269.514 14.510277 - 2950 16738.476 -0.0082220764 0 5269.512 14.510223 - 3000 16738.66 -0.071284779 0 5269.507 14.509758 - 3050 16715.332 7.2419352 0 5269.476 14.870305 - 3100 16653.226 26.818761 0 5269.5009 14.496764 - 3150 16739.351 -0.30690375 0 5269.4886 13.643904 - 3200 16733.238 1.6025328 0 5269.4737 12.016934 - 3250 16734.374 1.2554429 0 5269.4841 11.963561 - 3300 16732.156 1.9585967 0 5269.4893 12.234024 - 3350 16738.655 -0.079693236 0 5269.497 12.092757 - 3400 16738.543 -0.042215005 0 5269.4991 12.092809 - 3450 16738.591 -0.05932751 0 5269.4972 12.092536 - 3500 16738.759 -0.11761245 0 5269.4918 12.09203 - 3550 16713.405 7.8460621 0 5269.4737 12.389816 - 3600 16734.939 1.0821936 0 5269.4891 12.173591 - 3650 16738.808 -0.13663194 0 5269.4882 12.027009 - 3700 16738.602 -0.070934369 0 5269.4889 12.025288 - 3750 16737.731 0.20706559 0 5269.4927 12.061948 - 3800 16738.578 -0.05582043 0 5269.4965 12.035665 - 3850 16738.471 -0.016307928 0 5269.5024 12.035302 - 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 - 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 - 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 - 4050 16738.437 0 0 5269.5078 12.035454 - 4100 16738.437 0 0 5269.508 12.035435 - 4150 16738.438 0 0 5269.5081 12.035426 - 4200 16738.438 0 0 5269.5083 12.035432 - 4250 16738.439 0 0 5269.5085 12.035447 - 4300 16738.439 0 0 5269.5086 12.035463 - 4350 16738.44 0 0 5269.5087 12.035474 - 4400 16738.44 0 0 5269.5088 12.035478 - 4450 16738.44 0 0 5269.5089 12.035474 - 4500 16738.44 0 0 5269.509 12.035462 - 4550 16738.441 0 0 5269.5092 12.035449 - 4600 16738.441 0 0 5269.5093 12.035445 - 4650 16738.442 0 0 5269.5095 12.035451 - 4700 16738.442 0 0 5269.5096 12.03546 - 4750 16738.443 0 0 5269.5097 12.035465 - 4800 16738.443 0 0 5269.5098 12.035466 - 4850 16738.443 0 0 5269.51 12.035463 - 4900 16738.444 0 0 5269.5101 12.035456 - 4950 16738.444 0 0 5269.5102 12.035447 - 5000 16738.445 0 0 5269.5104 12.03544 - 5050 16738.445 0 0 5269.5105 12.035442 - 5100 16738.446 0 0 5269.5107 12.035455 - 5150 16738.446 0 0 5269.5108 12.03547 - 5200 16738.446 0 0 5269.5109 12.035479 - 5250 16738.447 0 0 5269.511 12.035479 - 5300 16738.447 0 0 5269.5111 12.03547 - 5350 16738.447 0 0 5269.5112 12.035454 - 5400 16738.448 0 0 5269.5113 12.035434 - 5450 16738.448 0 0 5269.5115 12.03542 - 5500 16738.449 0 0 5269.5117 12.035422 - 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 - 5600 16738.51 -0.021618357 0 5269.5092 12.035106 - 5650 16738.622 -0.059214788 0 5269.507 12.035694 - 5700 16395.28 108.06942 0 5269.5463 24.369038 - 5750 16738.544 -0.033973429 0 5269.5077 12.011261 - 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 - 5850 16738.451 0 0 5269.5123 12.011709 - 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 - 5950 16738.452 -0.00024253348 0 5269.5124 12.011678 - 6000 16738.452 0 0 5269.5128 12.011688 - 6050 16738.453 0 0 5269.513 12.011702 - 6100 16738.453 0 0 5269.5131 12.011716 - 6150 16738.454 0 0 5269.5132 12.011725 - 6200 16738.454 0 0 5269.5133 12.011728 - 6250 16738.454 0 0 5269.5134 12.011723 - 6300 16738.455 0 0 5269.5135 12.011712 - 6350 16738.455 0 0 5269.5137 12.0117 - 6400 16738.456 0 0 5269.5138 12.011697 - 6450 16738.456 0 0 5269.514 12.011704 - 6500 16738.456 0 0 5269.5141 12.011714 - 6550 16738.457 0 0 5269.5142 12.011719 - 6600 16738.457 0 0 5269.5143 12.011718 - 6650 16738.458 0 0 5269.5144 12.011713 - 6700 16738.458 0 0 5269.5146 12.011705 - 6750 16738.459 0 0 5269.5147 12.011696 - 6800 16738.459 0 0 5269.5149 12.01169 - 6850 16738.46 0 0 5269.515 12.011695 - 6900 16738.46 0 0 5269.5152 12.01171 - 6950 16738.46 0 0 5269.5153 12.011726 - 7000 16738.461 0 0 5269.5154 12.011736 - 7050 16738.461 0 0 5269.5155 12.011737 - 7100 16738.461 0 0 5269.5155 12.011728 - 7150 16738.461 0 0 5269.5156 12.011712 - 7200 16738.462 0 0 5269.5158 12.011691 - 7250 16738.463 0 0 5269.516 12.011676 - 7300 16738.463 0 0 5269.5162 12.011677 - 7350 16738.464 0 0 5269.5164 12.011693 - 7400 16738.464 0 0 5269.5165 12.011713 - 7450 16738.465 0 0 5269.5166 12.011729 - 7500 16738.465 0 0 5269.5167 12.011736 - 7550 16738.465 0 0 5269.5168 12.011734 - 7600 16738.465 0 0 5269.5168 12.011722 - 7650 16738.466 0 0 5269.517 12.011704 - 7700 16738.466 0 0 5269.5171 12.011687 - 7750 16738.467 0 0 5269.5173 12.011681 - 7800 16738.467 0 0 5269.5175 12.011687 - 7850 16738.468 0 0 5269.5176 12.0117 - 7900 16738.468 0 0 5269.5178 12.011712 - 7950 16738.469 0 0 5269.5179 12.011721 - 8000 16738.469 0 0 5269.518 12.011724 - 8050 16738.469 0 0 5269.5181 12.01172 - 8100 16738.47 0 0 5269.5182 12.011709 - 8150 16738.47 0 0 5269.5183 12.0117 - 8200 16738.47 0 0 5269.5185 12.0117 - 8250 16738.471 0 0 5269.5186 12.011709 - 8300 16738.471 0 0 5269.5187 12.011719 - 8350 16738.472 0 0 5269.5189 12.011723 - 8400 16738.472 0 0 5269.519 12.01172 - 8450 16738.473 -0.00039690668 0 5269.5189 12.011706 - 8500 16738.481 -0.0034646805 0 5269.5182 12.011643 - 8550 16738.483 -0.0045307408 0 5269.5178 12.011621 - 8600 16738.474 -0.00076532808 0 5269.5189 12.011681 - 8650 16738.474 0 0 5269.5197 12.011699 - 8700 16738.475 0 0 5269.5199 12.011715 - 8750 16738.475 0 0 5269.52 12.011732 - 8800 16738.475 0 0 5269.52 12.011743 - 8850 16738.476 0 0 5269.5201 12.011744 - 8900 16738.476 0 0 5269.5202 12.011735 - 8950 16738.476 0 0 5269.5203 12.011719 - 9000 16738.477 0 0 5269.5205 12.011698 - 9050 16738.477 0 0 5269.5206 12.011683 - 9100 16738.478 0 0 5269.5208 12.011684 - 9150 16738.479 0 0 5269.521 12.011701 - 9200 16738.479 0 0 5269.5212 12.011722 - 9250 16738.479 0 0 5269.5213 12.011738 - 9300 16738.48 0 0 5269.5214 12.011746 - 9350 16738.48 0 0 5269.5214 12.011744 - 9400 16738.48 0 0 5269.5215 12.011732 - 9450 16738.48 0 0 5269.5216 12.011715 - 9500 16738.481 -0.00037652432 0 5269.5216 12.011692 - 9550 16738.493 -0.0053156155 0 5269.5203 12.011611 - 9600 16738.549 -0.026814366 0 5269.5163 12.011415 - 9650 16738.765 -0.10191522 0 5269.5092 12.011013 - 9700 16735.041 1.0589874 0 5269.4979 12.062708 - 9750 16738.013 0.1355012 0 5269.5101 11.407245 - 9800 16738.512 -0.011620331 0 5269.5201 11.394973 - 9850 16738.489 -0.00067270574 0 5269.5237 11.395098 - 9900 16738.489 -0.00024984568 0 5269.5242 11.395084 - 9950 16738.49 0 0 5269.5245 11.395076 - 10000 16738.49 0 0 5269.5246 11.395075 -Loop time of 0.194899 on 4 procs for 10000 steps with 81 atoms - -Performance: 443306.036 tau/day, 51308.569 timesteps/s, 4.156 Matom-step/s -98.4% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.0017487 | 0.0024215 | 0.0028965 | 0.9 | 1.24 -Bond | 0.00032501 | 0.00033082 | 0.0003413 | 0.0 | 0.17 -Neigh | 0.015692 | 0.016603 | 0.018578 | 0.9 | 8.52 -Comm | 0.063465 | 0.066081 | 0.068061 | 0.8 | 33.91 -Output | 0.0019654 | 0.0021191 | 0.0025315 | 0.5 | 1.09 -Modify | 0.092199 | 0.094298 | 0.096149 | 0.5 | 48.38 -Other | | 0.01305 | | | 6.69 - -Nlocal: 20.25 ave 37 max 3 min -Histogram: 1 0 0 1 0 0 0 1 0 1 -Nghost: 27.25 ave 48 max 13 min -Histogram: 1 0 0 2 0 0 0 0 0 1 -Neighs: 0 ave 0 max 0 min -Histogram: 4 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 0 -Ave neighs/atom = 0 -Ave special neighs/atom = 0 -Neighbor list builds = 1552 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/rigid/log.25Mar24.rigid.tnr.g++.1 b/examples/rigid/log.25Mar24.rigid.tnr.g++.1 deleted file mode 100644 index be58bf94b9..0000000000 --- a/examples/rigid/log.25Mar24.rigid.tnr.g++.1 +++ /dev/null @@ -1,475 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Tethered nanorods - -atom_style molecular - -read_data data.rigid.tnr -Reading data file ... - orthogonal box = (-31.122 -31.122 -31.122) to (31.122 31.122 31.122) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 5600 atoms - scanning bonds ... - 1 = max bonds/atom - reading bonds ... - 1600 bonds -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.027 seconds - -# Specify bond parameters - -bond_style fene -bond_coeff 1 30.0 1.5 1.0 1.0 - -special_bonds fene -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 1 1 - special bond factors coul: 0 1 1 - 2 = max # of 1-2 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.001 seconds - -# Specify initial velocities - -velocity all create 1.4 109345 - -# Specify rigid components - -group rods type 2 -4000 atoms in group rods -group tethers subtract all rods -1600 atoms in group tethers - -neigh_modify exclude molecule/intra rods delay 0 every 1 - -# Specify the pair potentials - -pair_style lj/cut 2.5 -pair_modify shift yes -pair_coeff * * 1.0 1.0 1.122 -pair_coeff 2 2 1.0 1.0 2.5 - -# Specify output - -thermo 100 -thermo_style custom step temp pe etotal press enthalpy lx ly lz pxx pyy pzz -thermo_modify flush yes lost warn - -timestep 0.005 - -fix 1 rods rigid molecule - 800 rigid bodies with 4000 atoms -fix 2 tethers nve -fix 3 all langevin 1.4 1.4 1.0 437624 - -run 5000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 45 45 45 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 8.017 | 8.017 | 8.017 Mbytes - Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 0 1.3963219 5.9478449 7.0445809 0.048565317 9.13595 62.244 62.244 62.244 0.0091983659 0.11850113 0.017996458 - 100 1.3418512 5.9671777 7.0211299 0.025020362 8.0985822 62.244 62.244 62.244 0.02036076 0.038265078 0.016435248 - 200 1.3730638 5.9750802 7.0535483 0.0053287535 7.2830205 62.244 62.244 62.244 -0.00054924195 0.0092396988 0.0072958036 - 300 1.376262 5.9821642 7.0631443 0.0055536521 7.3023013 62.244 62.244 62.244 0.0033577704 0.0069111861 0.0063919998 - 400 1.3782954 5.9983628 7.08094 0.0020507385 7.169251 62.244 62.244 62.244 -0.0060862717 0.0098998072 0.0023386801 - 500 1.386863 6.0053312 7.0946377 -0.0009847031 7.0522334 62.244 62.244 62.244 -0.0038708372 0.0005697804 0.00034694745 - 600 1.4069849 6.0035719 7.1086832 0.0047883912 7.3148858 62.244 62.244 62.244 0.001069365 0.0078059505 0.0054898581 - 700 1.4423187 5.9982171 7.1310812 0.012141001 7.6539093 62.244 62.244 62.244 0.0094765272 0.011007593 0.015938883 - 800 1.4303878 5.9968168 7.1203098 -0.00081349095 7.0852784 62.244 62.244 62.244 0.0011153812 0.00041597298 -0.0039718271 - 900 1.4140538 5.9838168 7.0944803 0.00207609 7.183883 62.244 62.244 62.244 0.00043409671 0.0022778944 0.0035162788 - 1000 1.3906567 5.988119 7.0804053 0.0022005856 7.1751692 62.244 62.244 62.244 0.0077268425 -0.0022042977 0.0010792119 - 1100 1.3921992 5.9892203 7.0827181 0.0035041977 7.2336194 62.244 62.244 62.244 -0.0037576823 0.0040827951 0.01018748 - 1200 1.3968803 5.9795846 7.0767592 -0.0031072146 6.9429532 62.244 62.244 62.244 -0.0077387449 0.0033056124 -0.0048885115 - 1300 1.3755848 5.9739757 7.0544239 0.0092247106 7.4516677 62.244 62.244 62.244 0.0092788748 0.010737194 0.0076580625 - 1400 1.3847985 5.9703631 7.0580481 0.0071703598 7.3668254 62.244 62.244 62.244 0.0080485848 0.012260474 0.001202021 - 1500 1.4190051 5.956946 7.0714985 0.0035992903 7.2264948 62.244 62.244 62.244 -0.0055125437 0.01038369 0.0059267242 - 1600 1.3980036 5.9671666 7.0652236 0.0061819851 7.3314385 62.244 62.244 62.244 0.0062429141 0.0035120077 0.0087910334 - 1700 1.4276062 5.9610381 7.0823462 0.007832375 7.4196319 62.244 62.244 62.244 0.0083316819 0.0058394292 0.009326014 - 1800 1.4112769 5.9630595 7.0715419 0.0068032101 7.3645087 62.244 62.244 62.244 0.0065502252 0.0062317255 0.0076276797 - 1900 1.4276973 5.9489341 7.0703139 0.008397746 7.4319462 62.244 62.244 62.244 0.0148941 0.0032963108 0.0070028268 - 2000 1.4056158 5.9564624 7.0604983 0.0090470732 7.4500926 62.244 62.244 62.244 0.011871718 0.0086681344 0.0066013673 - 2100 1.3924778 5.9483611 7.0420778 0.0088893819 7.4248814 62.244 62.244 62.244 0.010247454 0.0097830093 0.0066376825 - 2200 1.3760401 5.9435877 7.0243935 -0.0042972782 6.8393397 62.244 62.244 62.244 -0.0050064436 -0.0046216999 -0.0032636911 - 2300 1.4191937 5.9334036 7.0481042 0.0047000032 7.2505006 62.244 62.244 62.244 0.0057709635 0.0044949165 0.0038341296 - 2400 1.4213285 5.9472214 7.0635988 0.010197674 7.5027414 62.244 62.244 62.244 0.008373826 0.0090537939 0.013165402 - 2500 1.4153808 5.9421661 7.0538718 0.00015906306 7.0607216 62.244 62.244 62.244 0.002351621 -0.0019814986 0.00010706677 - 2600 1.4014223 5.9431386 7.0438807 0.0070733749 7.3484816 62.244 62.244 62.244 0.0054143871 0.010055843 0.0057498948 - 2700 1.4138077 5.9369067 7.047377 0.0024268842 7.1518859 62.244 62.244 62.244 0.0052918436 0.0014960353 0.00049277371 - 2800 1.432192 5.9347676 7.0596777 0.0077670448 7.3941501 62.244 62.244 62.244 0.012668421 0.0059113033 0.0047214106 - 2900 1.3938659 5.921023 7.01583 0.0053751198 7.2472989 62.244 62.244 62.244 0.0020490372 0.0076566093 0.006419713 - 3000 1.390221 5.9205014 7.0124455 -0.0010750977 6.9661485 62.244 62.244 62.244 0.0019519817 -0.0041878885 -0.00098938611 - 3100 1.4205722 5.9178284 7.0336117 0.0098735475 7.4587965 62.244 62.244 62.244 0.0040973361 0.012167268 0.013356039 - 3200 1.398418 5.9150349 7.0134173 0.0061541841 7.2784351 62.244 62.244 62.244 0.0067621815 0.011952563 -0.00025219251 - 3300 1.4269859 5.9148727 7.0356937 0.0060623879 7.2967584 62.244 62.244 62.244 0.012956234 -2.4806661e-05 0.0052557362 - 3400 1.434286 5.9356705 7.0622253 0.00027315892 7.0739884 62.244 62.244 62.244 -0.00054959866 0.0052526278 -0.0038835524 - 3500 1.4416809 5.9228153 7.0551783 0.0083382977 7.4142506 62.244 62.244 62.244 0.007399393 0.0030328007 0.014582699 - 3600 1.4136063 5.9039442 7.0142562 0.0019712004 7.0991421 62.244 62.244 62.244 -0.00032316149 0.0035029874 0.0027337752 - 3700 1.4333819 5.9120101 7.0378548 0.0071287182 7.3448389 62.244 62.244 62.244 0.0064768218 0.0046765361 0.010232797 - 3800 1.3659481 5.9032873 6.9761663 -0.0054033416 6.7434821 62.244 62.244 62.244 -0.0073943479 -0.0082831992 -0.00053247772 - 3900 1.3963222 5.9042998 7.0010361 0.0053310264 7.2306062 62.244 62.244 62.244 0.0081855739 0.0048806019 0.0029269034 - 4000 1.4125482 5.9060665 7.0155474 0.0028450296 7.138063 62.244 62.244 62.244 0.0052588294 0.00072395285 0.0025523065 - 4100 1.3943951 5.9040875 6.9993102 0.0058050223 7.2492919 62.244 62.244 62.244 0.0060579697 0.0024782584 0.0088788387 - 4200 1.4249768 5.8906371 7.0098801 0.0030210669 7.1399763 62.244 62.244 62.244 0.006174431 -0.002079586 0.0049683557 - 4300 1.3899801 5.8966397 6.9883947 0.0057285402 7.2350829 62.244 62.244 62.244 0.0049048136 0.0021882328 0.010092574 - 4400 1.4414352 5.898628 7.0307981 0.0050932552 7.2501291 62.244 62.244 62.244 0.0057941393 0.0037951842 0.0056904421 - 4500 1.4092913 5.8922803 6.9992031 0.0012238869 7.0519073 62.244 62.244 62.244 0.0042907674 0.0014412643 -0.0020603711 - 4600 1.3779868 5.8928757 6.9752105 0.0020701322 7.0643566 62.244 62.244 62.244 0.0029283254 -0.0031683908 0.006450462 - 4700 1.4084635 5.9098782 7.0161508 -0.00052129502 6.9937023 62.244 62.244 62.244 -0.0018460523 -0.0018286314 0.0021107986 - 4800 1.4393258 5.9148464 7.0453597 0.015311954 7.7047386 62.244 62.244 62.244 0.014718813 0.01801777 0.013199278 - 4900 1.4500008 5.9076899 7.0465879 0.0075111779 7.3700419 62.244 62.244 62.244 0.0091865271 0.0080981174 0.0052488891 - 5000 1.4279632 5.9111567 7.0327453 -0.0014189553 6.9716408 62.244 62.244 62.244 -0.0046013754 0.0019937576 -0.001649248 -Loop time of 5.54157 on 1 procs for 5000 steps with 5600 atoms - -Performance: 389781.415 tau/day, 902.272 timesteps/s, 5.053 Matom-step/s -99.7% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.40156 | 0.40156 | 0.40156 | 0.0 | 7.25 -Bond | 0.172 | 0.172 | 0.172 | 0.0 | 3.10 -Neigh | 1.6573 | 1.6573 | 1.6573 | 0.0 | 29.91 -Comm | 0.10679 | 0.10679 | 0.10679 | 0.0 | 1.93 -Output | 0.0033706 | 0.0033706 | 0.0033706 | 0.0 | 0.06 -Modify | 3.0948 | 3.0948 | 3.0948 | 0.0 | 55.85 -Other | | 0.1058 | | | 1.91 - -Nlocal: 5600 ave 5600 max 5600 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1351 ave 1351 max 1351 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 5254 ave 5254 max 5254 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 5254 -Ave neighs/atom = 0.93821429 -Ave special neighs/atom = 0.57142857 -Neighbor list builds = 766 -Dangerous builds = 0 - -# Replace fix rigid and fix langevin with new ones - -unfix 1 -unfix 3 - -fix 3 tethers langevin 1.4 1.4 1.0 198450 - -# Test different integrators for rods - -fix 1 rods rigid/nve molecule - 800 rigid bodies with 4000 atoms -print "rigid/nve" -rigid/nve -run 1000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 8.018 | 8.018 | 8.018 Mbytes - Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 5000 1.4279632 5.9111567 7.0327453 0.027874409 8.2331015 62.244 62.244 62.244 0.018992956 0.039655696 0.024974575 - 5100 1.439608 5.9052128 7.0359478 0.0060989876 7.2985886 62.244 62.244 62.244 0.0087364154 0.0040228411 0.0055377063 - 5200 1.4120671 5.9102569 7.01936 0.0064301456 7.2962615 62.244 62.244 62.244 0.0082738088 0.0038925707 0.0071240574 - 5300 1.4452434 5.8842166 7.0193778 0.0081724166 7.3713067 62.244 62.244 62.244 0.0077715644 0.0068924374 0.0098532479 - 5400 1.4170243 5.887522 7.0005186 0.00086566653 7.0377968 62.244 62.244 62.244 -9.179779e-05 -0.0020237494 0.0047125468 - 5500 1.4209084 5.875892 6.9919394 0.009363414 7.3951563 62.244 62.244 62.244 0.0088769611 0.0087092372 0.010504044 - 5600 1.4132978 5.8798939 6.9899636 0.0014877902 7.0540323 62.244 62.244 62.244 -0.0023427699 0.0045593956 0.0022467449 - 5700 1.4065055 5.8875412 6.9922759 0.002808316 7.1132105 62.244 62.244 62.244 0.0025187553 0.00051088905 0.0053953037 - 5800 1.4079049 5.8940749 6.9999087 0.0015946903 7.0685809 62.244 62.244 62.244 0.0037830352 0.00021762631 0.00078340928 - 5900 1.4076048 5.8941588 6.9997569 0.0051902121 7.2232631 62.244 62.244 62.244 -0.00093181434 0.0096405899 0.0068618607 - 6000 1.4322812 5.8903503 7.0153305 0.00029722379 7.0281298 62.244 62.244 62.244 0.0019139164 -0.00073870179 -0.00028354325 -Loop time of 1.21399 on 1 procs for 1000 steps with 5600 atoms - -Performance: 355850.342 tau/day, 823.728 timesteps/s, 4.613 Matom-step/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.12141 | 0.12141 | 0.12141 | 0.0 | 10.00 -Bond | 0.038739 | 0.038739 | 0.038739 | 0.0 | 3.19 -Neigh | 0.39335 | 0.39335 | 0.39335 | 0.0 | 32.40 -Comm | 0.023806 | 0.023806 | 0.023806 | 0.0 | 1.96 -Output | 0.00074295 | 0.00074295 | 0.00074295 | 0.0 | 0.06 -Modify | 0.61212 | 0.61212 | 0.61212 | 0.0 | 50.42 -Other | | 0.02383 | | | 1.96 - -Nlocal: 5600 ave 5600 max 5600 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1347 ave 1347 max 1347 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 5399 ave 5399 max 5399 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 5399 -Ave neighs/atom = 0.96410714 -Ave special neighs/atom = 0.57142857 -Neighbor list builds = 153 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/nvt molecule temp 1.4 1.4 1.0 - 800 rigid bodies with 4000 atoms -print "rigid/nvt" -rigid/nvt -run 1000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 8.018 | 8.018 | 8.018 Mbytes - Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 6000 1.4322812 5.8903503 7.0153305 0.012984296 7.5744734 62.244 62.244 62.244 0.058323772 0.007366828 -0.026737713 - 6100 1.4199781 5.8764024 6.9917192 0.0054080227 7.2246049 62.244 62.244 62.244 0.0092282159 0.0019631398 0.0050327123 - 6200 1.3976803 5.8924474 6.9902504 0.00044474719 7.0094026 62.244 62.244 62.244 -0.0022979183 -0.0004943354 0.0041264952 - 6300 1.4076912 5.8847607 6.9904268 0.0066261457 7.2757686 62.244 62.244 62.244 0.0057923777 0.0091772934 0.0049087658 - 6400 1.3749242 5.8816641 6.9615934 0.0075045379 7.2847615 62.244 62.244 62.244 0.012318395 0.003979389 0.0062158299 - 6500 1.3467602 5.888001 6.945809 -6.1011018e-05 6.9431817 62.244 62.244 62.244 0.0031945051 -0.0013048764 -0.0020726618 - 6600 1.3638321 5.8744775 6.9456945 0.005780579 7.1946237 62.244 62.244 62.244 0.0060765968 0.0058486743 0.0054164658 - 6700 1.3933343 5.8833797 6.9777691 0.0026007197 7.089764 62.244 62.244 62.244 0.0029828101 0.0019631585 0.0028561905 - 6800 1.4025439 5.901019 7.0026421 0.0033759718 7.1480216 62.244 62.244 62.244 0.0059683617 0.0016890885 0.002470465 - 6900 1.4165405 5.8901618 7.0027785 0.0048537306 7.2117948 62.244 62.244 62.244 0.0031937581 0.0089194691 0.0024479647 - 7000 1.4256345 5.8979889 7.0177485 0.0076603683 7.347627 62.244 62.244 62.244 0.0064499957 0.0096400261 0.0068910831 -Loop time of 1.16587 on 1 procs for 1000 steps with 5600 atoms - -Performance: 370540.281 tau/day, 857.732 timesteps/s, 4.803 Matom-step/s -99.7% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.11675 | 0.11675 | 0.11675 | 0.0 | 10.01 -Bond | 0.03628 | 0.03628 | 0.03628 | 0.0 | 3.11 -Neigh | 0.36879 | 0.36879 | 0.36879 | 0.0 | 31.63 -Comm | 0.022201 | 0.022201 | 0.022201 | 0.0 | 1.90 -Output | 0.00070791 | 0.00070791 | 0.00070791 | 0.0 | 0.06 -Modify | 0.59859 | 0.59859 | 0.59859 | 0.0 | 51.34 -Other | | 0.02255 | | | 1.93 - -Nlocal: 5600 ave 5600 max 5600 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1284 ave 1284 max 1284 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 5691 ave 5691 max 5691 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 5691 -Ave neighs/atom = 1.01625 -Ave special neighs/atom = 0.57142857 -Neighbor list builds = 151 -Dangerous builds = 0 -unfix 1 - -compute myTemp all temp - -fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 iso 0.05 0.05 1.0 dilate all - 800 rigid bodies with 4000 atoms -print "rigid/npt iso" -rigid/npt iso -fix_modify 1 temp myTemp - -run 1000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 8.018 | 8.018 | 8.018 Mbytes - Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 7000 1.4256345 5.8979889 7.0177485 0.030670312 8.3385046 62.244 62.244 62.244 0.019152979 0.028037341 0.044820616 - 7100 1.4830481 5.8740667 7.0389215 0.021216954 7.7436467 57.083193 57.083193 57.083193 0.015785563 0.020078182 0.027787115 - 7200 1.5225973 5.8364439 7.0323626 0.015560962 7.3866118 50.329217 50.329217 50.329217 0.017379604 0.02205435 0.0072489313 - 7300 1.5589134 5.7874972 7.0119402 0.020613279 7.3515942 45.188285 45.188285 45.188285 0.019963793 0.02165546 0.020220585 - 7400 1.5629259 5.7523794 6.9799739 0.035363756 7.4299227 41.456971 41.456971 41.456971 0.030810521 0.041559103 0.033721646 - 7500 1.5735285 5.706087 6.9420093 0.033186427 7.2889675 38.830074 38.830074 38.830074 0.030605548 0.018770943 0.050182791 - 7600 1.5546074 5.6815832 6.902644 0.027297758 7.1446412 36.752801 36.752801 36.752801 0.027154479 0.030653039 0.024085757 - 7700 1.5396727 5.6293114 6.8386418 0.030528746 7.0744265 35.101973 35.101973 35.101973 0.022542269 0.025802901 0.043241069 - 7800 1.5249769 5.5826711 6.7804588 0.067321436 7.2458344 33.82824 33.82824 33.82824 0.063820368 0.072156874 0.065987065 - 7900 1.5017937 5.5660576 6.7456361 0.04770857 7.0497596 32.926623 32.926623 32.926623 0.035259576 0.06869573 0.039170404 - 8000 1.5105319 5.5459012 6.7323431 0.053301062 7.0487429 32.153588 32.153588 32.153588 0.076450314 0.07417732 0.0092755526 -Loop time of 2.49405 on 1 procs for 1000 steps with 5600 atoms - -Performance: 173212.568 tau/day, 400.955 timesteps/s, 2.245 Matom-step/s -99.7% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.29712 | 0.29712 | 0.29712 | 0.0 | 11.91 -Bond | 0.044611 | 0.044611 | 0.044611 | 0.0 | 1.79 -Neigh | 1.2735 | 1.2735 | 1.2735 | 0.0 | 51.06 -Comm | 0.048469 | 0.048469 | 0.048469 | 0.0 | 1.94 -Output | 0.0007418 | 0.0007418 | 0.0007418 | 0.0 | 0.03 -Modify | 0.7991 | 0.7991 | 0.7991 | 0.0 | 32.04 -Other | | 0.03048 | | | 1.22 - -Nlocal: 5600 ave 5600 max 5600 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 2993 ave 2993 max 2993 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 25312 ave 25312 max 25312 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 25312 -Ave neighs/atom = 4.52 -Ave special neighs/atom = 0.57142857 -Neighbor list builds = 335 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 x 0.05 0.05 1.0 dilate all - 800 rigid bodies with 4000 atoms -print "rigid/npt x" -rigid/npt x -run 1000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 8.033 | 8.033 | 8.033 Mbytes - Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 8000 1.5105319 5.5459012 6.7323431 -0.15611622 5.8056235 32.153588 32.153588 32.153588 -0.25823552 0.036861264 -0.24697441 - 8100 1.4816536 5.5214096 6.6851691 0.051659716 6.9889314 31.85012 32.153588 32.153588 0.042525917 0.079045459 0.033407772 - 8200 1.4364335 5.5026881 6.6309297 0.030961663 6.8100555 31.337401 32.153588 32.153588 0.062969827 0.0077436471 0.022171514 - 8300 1.4159126 5.504273 6.6163965 0.050231597 6.9027629 30.879771 32.153588 32.153588 0.047512875 0.071477224 0.031704693 - 8400 1.4479331 5.4732237 6.6104975 0.037171033 6.8195306 30.460678 32.153588 32.153588 0.016306171 0.072770628 0.022436301 - 8500 1.4126922 5.4616331 6.5712271 0.069137703 6.9521816 29.846079 32.153588 32.153588 0.075972518 0.063305384 0.068135208 - 8600 1.4129562 5.4397649 6.5495663 0.068287674 6.9190398 29.306917 32.153588 32.153588 0.077820831 0.076960087 0.050082105 - 8700 1.4199417 5.408767 6.5240551 0.046952367 6.7741118 28.847632 32.153588 32.153588 0.078496327 0.013710756 0.048650018 - 8800 1.415092 5.4082456 6.5197246 0.017068201 6.6091852 28.39051 32.153588 32.153588 0.01803734 0.0086202553 0.024547008 - 8900 1.4080943 5.3806524 6.486635 0.006282149 6.5189723 27.882074 32.153588 32.153588 0.023331732 0.01130818 -0.015793465 - 9000 1.4188356 5.3687142 6.4831335 0.078333785 6.8770321 27.237322 32.153588 32.153588 0.092873218 0.033643462 0.10848468 -Loop time of 2.35076 on 1 procs for 1000 steps with 5600 atoms - -Performance: 183770.370 tau/day, 425.394 timesteps/s, 2.382 Matom-step/s -99.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.45082 | 0.45082 | 0.45082 | 0.0 | 19.18 -Bond | 0.045157 | 0.045157 | 0.045157 | 0.0 | 1.92 -Neigh | 0.98655 | 0.98655 | 0.98655 | 0.0 | 41.97 -Comm | 0.039968 | 0.039968 | 0.039968 | 0.0 | 1.70 -Output | 0.00072296 | 0.00072296 | 0.00072296 | 0.0 | 0.03 -Modify | 0.80394 | 0.80394 | 0.80394 | 0.0 | 34.20 -Other | | 0.0236 | | | 1.00 - -Nlocal: 5600 ave 5600 max 5600 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 3422 ave 3422 max 3422 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 31084 ave 31084 max 31084 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 31084 -Ave neighs/atom = 5.5507143 -Ave special neighs/atom = 0.57142857 -Neighbor list builds = 167 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/nph molecule iso 0.05 0.05 1.0 dilate all - 800 rigid bodies with 4000 atoms -print "rigid/nph iso" -rigid/nph iso -run 1000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 8.036 | 8.036 | 8.036 Mbytes - Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 9000 1.4188356 5.3687142 6.4831335 0.066940268 6.8197402 27.237322 32.153588 32.153588 0.020750172 0.14461869 0.035451941 - 9100 1.418441 5.3523211 6.4664305 0.016522511 6.5489637 27.17712 32.08252 32.08252 0.01137531 0.0028933886 0.035298833 - 9200 1.4433401 5.3458252 6.4794915 0.038961106 6.6708176 27.023003 31.900585 31.900585 0.012667867 0.094480325 0.0097351253 - 9300 1.4806575 5.309105 6.4720822 0.11806636 7.0379478 26.804952 31.643176 31.643176 0.063001935 0.11667303 0.17452413 - 9400 1.4835179 5.3103383 6.4755622 0.098990545 6.9362503 26.543432 31.334452 31.334452 0.13023767 0.084360197 0.08237377 - 9500 1.4855723 5.2906327 6.4574702 -0.0012789282 6.4516456 26.352845 31.109465 31.109465 0.053813822 -0.016098782 -0.041551825 - 9600 1.4959395 5.2553176 6.4302979 0.036958035 6.5952607 26.176506 30.901298 30.901298 0.077457004 -0.035314705 0.068731807 - 9700 1.4470266 5.289874 6.4264359 0.065648447 6.7177609 26.125849 30.841497 30.841497 0.064764383 0.041383889 0.090797069 - 9800 1.4525327 5.2808561 6.4217428 0.0076421133 6.4554682 26.077575 30.78451 30.78451 -0.01978363 0.013568065 0.029141905 - 9900 1.4603761 5.269343 6.4163902 0.079488558 6.7651749 26.027767 30.725712 30.725712 0.06210239 0.062690336 0.11367295 - 10000 1.4437445 5.2626116 6.3965955 0.0024175103 6.4072252 26.045744 30.746933 30.746933 0.0020903338 0.023283622 -0.018121425 -Loop time of 2.42718 on 1 procs for 1000 steps with 5600 atoms - -Performance: 177984.690 tau/day, 412.002 timesteps/s, 2.307 Matom-step/s -99.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.52411 | 0.52411 | 0.52411 | 0.0 | 21.59 -Bond | 0.04594 | 0.04594 | 0.04594 | 0.0 | 1.89 -Neigh | 1.0079 | 1.0079 | 1.0079 | 0.0 | 41.53 -Comm | 0.040182 | 0.040182 | 0.040182 | 0.0 | 1.66 -Output | 0.00070663 | 0.00070663 | 0.00070663 | 0.0 | 0.03 -Modify | 0.78582 | 0.78582 | 0.78582 | 0.0 | 32.38 -Other | | 0.02253 | | | 0.93 - -Nlocal: 5600 ave 5600 max 5600 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 3638 ave 3638 max 3638 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 35778 ave 35778 max 35778 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 35778 -Ave neighs/atom = 6.3889286 -Ave special neighs/atom = 0.57142857 -Neighbor list builds = 161 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/nph molecule x 0.05 0.05 1.0 y 0.05 0.05 1.0 couple xy dilate all - 800 rigid bodies with 4000 atoms -print "rigid/nph xy couple" -rigid/nph xy couple -run 1000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 8.041 | 8.041 | 8.041 Mbytes - Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 10000 1.4437445 5.2626116 6.3965955 0.043852305 6.5894123 26.045744 30.746933 30.746933 -0.10594451 -0.016019605 0.25352103 - 10100 1.4544517 5.2536075 6.3960014 0.040252547 6.5723133 25.995896 30.688087 30.746933 0.036481947 0.058195014 0.026080679 - 10200 1.4465796 5.2533056 6.3895164 0.043103918 6.5797343 26.093233 30.802994 30.746933 0.047509548 0.023387048 0.058415158 - 10300 1.4703558 5.2311222 6.3860079 0.02952279 6.5179005 26.253791 30.992532 30.746933 0.067825843 -1.1742127e-05 0.020754268 - 10400 1.4264151 5.2426153 6.362988 0.043320767 6.5561801 26.230542 30.965087 30.746933 0.036437179 0.069318063 0.02420706 - 10500 1.4718495 5.213542 6.3696009 0.028876649 6.4965877 26.047535 30.749047 30.746933 0.044470994 0.03304953 0.0091094235 - 10600 1.4550996 5.2087392 6.3516419 0.049130073 6.5647387 25.868744 30.537985 30.746933 0.056613289 0.028555571 0.062221359 - 10700 1.4755834 5.1912236 6.3502153 0.0027128909 6.3617831 25.648895 30.278455 30.746933 0.035708882 0.02165412 -0.04922433 - 10800 1.4801906 5.1863989 6.3490092 0.030220134 6.4763468 25.497097 30.099256 30.746933 0.035963119 0.021549561 0.033147721 - 10900 1.4318851 5.1785312 6.3032002 0.095502071 6.7019424 25.380506 29.961622 30.746933 0.1040397 0.10708089 0.075385625 - 11000 1.4500789 5.1660716 6.3050309 0.072030914 6.6026703 25.249123 29.806525 30.746933 0.073199983 0.0091150749 0.13377768 -Loop time of 2.55647 on 1 procs for 1000 steps with 5600 atoms - -Performance: 168982.932 tau/day, 391.164 timesteps/s, 2.191 Matom-step/s -99.8% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.5683 | 0.5683 | 0.5683 | 0.0 | 22.23 -Bond | 0.044877 | 0.044877 | 0.044877 | 0.0 | 1.76 -Neigh | 1.0732 | 1.0732 | 1.0732 | 0.0 | 41.98 -Comm | 0.041328 | 0.041328 | 0.041328 | 0.0 | 1.62 -Output | 0.00078717 | 0.00078717 | 0.00078717 | 0.0 | 0.03 -Modify | 0.80433 | 0.80433 | 0.80433 | 0.0 | 31.46 -Other | | 0.02363 | | | 0.92 - -Nlocal: 5600 ave 5600 max 5600 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 3699 ave 3699 max 3699 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 39523 ave 39523 max 39523 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 39523 -Ave neighs/atom = 7.0576786 -Ave special neighs/atom = 0.57142857 -Neighbor list builds = 163 -Dangerous builds = 0 - -Total wall time: 0:00:17 diff --git a/examples/rigid/log.25Mar24.rigid.tnr.g++.4 b/examples/rigid/log.25Mar24.rigid.tnr.g++.4 deleted file mode 100644 index 6d98088472..0000000000 --- a/examples/rigid/log.25Mar24.rigid.tnr.g++.4 +++ /dev/null @@ -1,475 +0,0 @@ -LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-306-gf3391199e7-modified) - using 1 OpenMP thread(s) per MPI task -# Tethered nanorods - -atom_style molecular - -read_data data.rigid.tnr -Reading data file ... - orthogonal box = (-31.122 -31.122 -31.122) to (31.122 31.122 31.122) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 5600 atoms - scanning bonds ... - 1 = max bonds/atom - reading bonds ... - 1600 bonds -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 0 0 - special bond factors coul: 0 0 0 - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.001 seconds - read_data CPU = 0.017 seconds - -# Specify bond parameters - -bond_style fene -bond_coeff 1 30.0 1.5 1.0 1.0 - -special_bonds fene -Finding 1-2 1-3 1-4 neighbors ... - special bond factors lj: 0 1 1 - special bond factors coul: 0 1 1 - 2 = max # of 1-2 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000 seconds - -# Specify initial velocities - -velocity all create 1.4 109345 - -# Specify rigid components - -group rods type 2 -4000 atoms in group rods -group tethers subtract all rods -1600 atoms in group tethers - -neigh_modify exclude molecule/intra rods delay 0 every 1 - -# Specify the pair potentials - -pair_style lj/cut 2.5 -pair_modify shift yes -pair_coeff * * 1.0 1.0 1.122 -pair_coeff 2 2 1.0 1.0 2.5 - -# Specify output - -thermo 100 -thermo_style custom step temp pe etotal press enthalpy lx ly lz pxx pyy pzz -thermo_modify flush yes lost warn - -timestep 0.005 - -fix 1 rods rigid molecule - 800 rigid bodies with 4000 atoms -fix 2 tethers nve -fix 3 all langevin 1.4 1.4 1.0 437624 - -run 5000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Neighbor list info ... - update: every = 1 steps, delay = 0 steps, check = yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 2.8 - ghost atom cutoff = 2.8 - binsize = 1.4, bins = 45 45 45 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/3d - bin: standard -Per MPI rank memory allocation (min/avg/max) = 7.552 | 7.555 | 7.559 Mbytes - Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 0 1.3963219 5.9478449 7.0445809 0.048565317 9.13595 62.244 62.244 62.244 0.0091983659 0.11850113 0.017996458 - 100 1.3999025 5.9707695 7.0703179 0.027293074 8.24564 62.244 62.244 62.244 0.017246307 0.04732529 0.017307624 - 200 1.4245544 5.9878446 7.1067558 0.0072016369 7.41688 62.244 62.244 62.244 0.0071370801 0.0084066589 0.0060611719 - 300 1.4212057 5.9942604 7.1105414 0.0023296933 7.210865 62.244 62.244 62.244 -0.0059197015 0.0040269953 0.008881786 - 400 1.4030116 5.9953214 7.0973119 0.0055751834 7.3373961 62.244 62.244 62.244 -0.0026920847 0.013323321 0.0060943141 - 500 1.4201338 5.9984777 7.1139168 -0.0018229523 7.035415 62.244 62.244 62.244 -0.0082217102 -0.00047319975 0.0032260529 - 600 1.425173 5.9902537 7.1096508 0.013367744 7.6853062 62.244 62.244 62.244 0.012971415 0.016298595 0.010833222 - 700 1.4181225 5.9840752 7.0979345 0.0014999758 7.1625279 62.244 62.244 62.244 -0.0015835387 0.0045967753 0.0014866907 - 800 1.4084205 5.9778462 7.084085 0.0063728488 7.3585191 62.244 62.244 62.244 0.0036202744 0.005593586 0.0099046859 - 900 1.3958301 5.9891019 7.0854517 0.0028974454 7.2102244 62.244 62.244 62.244 0.0087724642 0.0014508428 -0.001530971 - 1000 1.3937374 5.9794855 7.0741916 0.0087158481 7.4495223 62.244 62.244 62.244 0.014424783 0.0034958881 0.0082268735 - 1100 1.3729162 5.9916252 7.0699773 0.0030451966 7.2011127 62.244 62.244 62.244 0.00084635444 -0.00064448421 0.0089337195 - 1200 1.4427374 5.9713589 7.1045519 0.0042680608 7.2883474 62.244 62.244 62.244 0.0030884628 0.0031576538 0.0065580658 - 1300 1.3971469 5.9728674 7.0702514 0.0022809251 7.168475 62.244 62.244 62.244 0.00060902513 -0.00020572386 0.006439474 - 1400 1.4194118 5.9672631 7.082135 0.012945844 7.6396221 62.244 62.244 62.244 0.0082418827 0.016256336 0.014339314 - 1500 1.3866472 5.9728382 7.0619753 0.0010642438 7.1078049 62.244 62.244 62.244 0.0020316123 0.0020439035 -0.00088278432 - 1600 1.4184955 5.9539591 7.0681113 0.0077605409 7.4023036 62.244 62.244 62.244 0.0033721722 0.0057827512 0.014126699 - 1700 1.3612202 5.9676733 7.0368389 0.00016862131 7.0441002 62.244 62.244 62.244 0.0052525345 0.0007705269 -0.0055171975 - 1800 1.3641041 5.9521837 7.0236144 0.0057884587 7.2728829 62.244 62.244 62.244 0.0038061044 0.0044032908 0.009155981 - 1900 1.3594477 5.9646024 7.0323757 0.0044261926 7.2229809 62.244 62.244 62.244 0.0019417448 0.006871542 0.004465291 - 2000 1.3776971 5.9431816 7.0252888 -0.0012460593 6.9716298 62.244 62.244 62.244 -0.0010913822 0.00098119436 -0.0036279901 - 2100 1.3986245 5.9509735 7.0495181 0.007520633 7.3733792 62.244 62.244 62.244 0.008359824 0.0075919773 0.0066100978 - 2200 1.4033594 5.9548158 7.0570794 0.0016804284 7.1294438 62.244 62.244 62.244 -0.001842641 0.0032876741 0.0035962521 - 2300 1.4048926 5.9444129 7.0478808 0.0062444034 7.3167836 62.244 62.244 62.244 0.004383569 0.0065720464 0.007777595 - 2400 1.4044043 5.9370822 7.0401666 0.0034562836 7.1890046 62.244 62.244 62.244 0.0068959298 0.0041111713 -0.00063825026 - 2500 1.4200762 5.9359254 7.0513193 0.0028319649 7.1732722 62.244 62.244 62.244 -0.00030414204 0.0039571831 0.0048428538 - 2600 1.3876469 5.9249124 7.0148347 -0.0017777225 6.9382806 62.244 62.244 62.244 -0.00047616393 -0.0025484918 -0.0023085117 - 2700 1.4099941 5.916763 7.0242378 0.0070716262 7.3287634 62.244 62.244 62.244 0.012628756 0.0053812866 0.0032048359 - 2800 1.4444643 5.9283432 7.0628925 0.0019400023 7.1464349 62.244 62.244 62.244 0.0014895078 0.0046367397 -0.00030624049 - 2900 1.3902832 5.9152516 7.0072446 -0.002166221 6.9139606 62.244 62.244 62.244 -0.0012374412 -0.00056403268 -0.0046971891 - 3000 1.3711706 5.922146 6.9991271 0.011101505 7.4771914 62.244 62.244 62.244 0.011063833 0.012093025 0.010147657 - 3100 1.3569137 5.9171753 6.9829583 -0.0028266769 6.8612331 62.244 62.244 62.244 -0.0069507251 0.0010084401 -0.0025377458 - 3200 1.4004275 5.905939 7.0058998 0.0054394667 7.2401397 62.244 62.244 62.244 0.010352184 0.0057594139 0.00020680257 - 3300 1.3641217 5.9145275 6.985972 -0.0027212813 6.8687854 62.244 62.244 62.244 -0.00065933696 -0.005771301 -0.001733206 - 3400 1.3868722 5.9059546 6.9952684 0.0092591263 7.3939943 62.244 62.244 62.244 0.010690877 0.01075252 0.0063339817 - 3500 1.3939169 5.8992292 6.9940762 0.0074340014 7.3142068 62.244 62.244 62.244 0.010137307 0.0044252538 0.0077394438 - 3600 1.3982507 5.9219461 7.0201971 0.0056794512 7.2647714 62.244 62.244 62.244 0.0023367131 0.0080592141 0.0066424266 - 3700 1.4019908 5.9059957 7.0071844 0.0065915518 7.2910365 62.244 62.244 62.244 0.0049554052 0.010827013 0.0039922376 - 3800 1.3960736 5.902079 6.9986201 0.0027763672 7.1181788 62.244 62.244 62.244 -0.0015907142 0.0025862031 0.0073336126 - 3900 1.4352825 5.8986216 7.0259591 0.003498295 7.1766062 62.244 62.244 62.244 0.0030417173 0.0027739456 0.0046792221 - 4000 1.4121845 5.9079028 7.0170981 0.0050462581 7.2344052 62.244 62.244 62.244 0.0045543085 0.0064113637 0.0041731022 - 4100 1.3989579 5.9082397 7.0070461 0.00042870391 7.0255074 62.244 62.244 62.244 0.0025733986 0.0025181076 -0.0038053944 - 4200 1.399883 5.8998147 6.9993477 0.0042777423 7.1835602 62.244 62.244 62.244 0.0013744675 0.0064699404 0.0049888191 - 4300 1.4076025 5.9044509 7.0100472 0.0066788698 7.2976595 62.244 62.244 62.244 0.007361029 0.0048139331 0.0078616474 - 4400 1.4161078 5.9064334 7.0187102 -0.0011844913 6.9677025 62.244 62.244 62.244 -0.001908963 -0.0037556847 0.0021111739 - 4500 1.429225 5.8980089 7.0205885 0.0018498822 7.10025 62.244 62.244 62.244 0.0041143046 0.0010156504 0.00041969169 - 4600 1.3958783 5.894313 6.9907006 0.0041483111 7.1693394 62.244 62.244 62.244 0.0033996217 0.0041616835 0.004883628 - 4700 1.3856609 5.8886843 6.9770467 0.0013148711 7.033669 62.244 62.244 62.244 -0.00051706505 0.0030872136 0.0013744648 - 4800 1.4016792 5.902351 7.0032949 0.0025050908 7.1111717 62.244 62.244 62.244 0.0016540384 -0.00018095286 0.0060421869 - 4900 1.4466248 5.9050606 7.0413069 -0.0026620212 6.9266722 62.244 62.244 62.244 -0.00069094879 -0.0073956145 0.00010049979 - 5000 1.4387209 5.9077482 7.0377864 0.0049404333 7.2505363 62.244 62.244 62.244 0.0042769255 0.0046681652 0.0058762093 -Loop time of 2.72962 on 4 procs for 5000 steps with 5600 atoms - -Performance: 791319.942 tau/day, 1831.759 timesteps/s, 10.258 Matom-step/s -99.3% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.06605 | 0.10369 | 0.14557 | 11.7 | 3.80 -Bond | 0.03005 | 0.045571 | 0.06035 | 6.5 | 1.67 -Neigh | 0.61326 | 0.61489 | 0.61678 | 0.2 | 22.53 -Comm | 0.14416 | 0.19908 | 0.25001 | 11.1 | 7.29 -Output | 0.0017405 | 0.0025188 | 0.0028143 | 0.9 | 0.09 -Modify | 1.522 | 1.6149 | 1.699 | 6.3 | 59.16 -Other | | 0.1489 | | | 5.46 - -Nlocal: 1400 ave 1868 max 905 min -Histogram: 1 1 0 0 0 0 0 0 0 2 -Nghost: 648.25 ave 688 max 598 min -Histogram: 1 0 0 1 0 0 0 0 1 1 -Neighs: 1202.5 ave 1821 max 698 min -Histogram: 2 0 0 0 0 0 0 1 0 1 - -Total # of neighbors = 4810 -Ave neighs/atom = 0.85892857 -Ave special neighs/atom = 0.57142857 -Neighbor list builds = 759 -Dangerous builds = 0 - -# Replace fix rigid and fix langevin with new ones - -unfix 1 -unfix 3 - -fix 3 tethers langevin 1.4 1.4 1.0 198450 - -# Test different integrators for rods - -fix 1 rods rigid/nve molecule - 800 rigid bodies with 4000 atoms -print "rigid/nve" -rigid/nve -run 1000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 7.557 | 7.566 | 7.574 Mbytes - Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 5000 1.4387209 5.9077482 7.0377864 0.0036839327 7.1964276 62.244 62.244 62.244 0.025677952 -0.016670649 0.002044495 - 5100 1.4449629 5.8876265 7.0225675 0.0023125815 7.1221542 62.244 62.244 62.244 0.0045991271 0.0036872425 -0.0013486251 - 5200 1.4271279 5.9160281 7.0369606 0.0020315691 7.1244461 62.244 62.244 62.244 -0.0022476411 0.0039290288 0.0044133197 - 5300 1.4143266 5.9052803 7.0161581 0.0064093985 7.2921661 62.244 62.244 62.244 0.0090986577 0.0026397649 0.0074897729 - 5400 1.4426551 5.9087477 7.041876 0.0020419183 7.1298072 62.244 62.244 62.244 0.0043078454 1.5623413e-05 0.001802286 - 5500 1.4280605 5.9038941 7.0255591 0.00057730336 7.0504195 62.244 62.244 62.244 0.0058938228 0.00065558729 -0.0048175 - 5600 1.4315004 5.902394 7.0267609 0.0096531882 7.4424563 62.244 62.244 62.244 0.0054225258 0.011780272 0.011756766 - 5700 1.4074659 5.9076093 7.0130984 0.0052032455 7.2371658 62.244 62.244 62.244 0.0029612305 0.003678953 0.008969553 - 5800 1.4216898 5.9047983 7.0214595 0.0015109698 7.0865264 62.244 62.244 62.244 -6.4662019e-05 0.0023994389 0.0021981326 - 5900 1.4052133 5.8920187 6.9957385 0.0065755622 7.278902 62.244 62.244 62.244 0.0062703932 0.011367786 0.002088507 - 6000 1.3958734 5.9025061 6.9988899 0.0071783223 7.3080101 62.244 62.244 62.244 0.0088905564 0.0025533521 0.010091058 -Loop time of 0.646284 on 4 procs for 1000 steps with 5600 atoms - -Performance: 668436.315 tau/day, 1547.306 timesteps/s, 8.665 Matom-step/s -99.1% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.01802 | 0.028926 | 0.041262 | 6.4 | 4.48 -Bond | 0.0066363 | 0.0098826 | 0.012811 | 2.9 | 1.53 -Neigh | 0.14233 | 0.14273 | 0.14311 | 0.1 | 22.08 -Comm | 0.029365 | 0.044453 | 0.057955 | 6.3 | 6.88 -Output | 0.00034317 | 0.00049475 | 0.00055796 | 0.0 | 0.08 -Modify | 0.35817 | 0.37856 | 0.40064 | 2.8 | 58.57 -Other | | 0.04124 | | | 6.38 - -Nlocal: 1400 ave 1850 max 932 min -Histogram: 2 0 0 0 0 0 0 0 0 2 -Nghost: 642.25 ave 730 max 550 min -Histogram: 1 0 0 1 0 0 0 1 0 1 -Neighs: 1267.25 ave 1805 max 729 min -Histogram: 1 1 0 0 0 0 0 0 1 1 - -Total # of neighbors = 5069 -Ave neighs/atom = 0.90517857 -Ave special neighs/atom = 0.57142857 -Neighbor list builds = 154 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/nvt molecule temp 1.4 1.4 1.0 - 800 rigid bodies with 4000 atoms -print "rigid/nvt" -rigid/nvt -run 1000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 7.557 | 7.566 | 7.574 Mbytes - Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 6000 1.3958734 5.9025061 6.9988899 0.0021028569 7.0894453 62.244 62.244 62.244 0.013626393 0.019990521 -0.027308344 - 6100 1.403297 5.9008111 7.0030257 0.0034667159 7.152313 62.244 62.244 62.244 0.00094173119 0.0074633638 0.0019950526 - 6200 1.4025256 5.8966477 6.9982564 -0.00020483779 6.9894355 62.244 62.244 62.244 -0.0064238043 0.0010245391 0.0047847518 - 6300 1.4394011 5.9052004 7.0357728 0.0054604133 7.2709147 62.244 62.244 62.244 0.0096132747 0.002164465 0.0046035003 - 6400 1.408769 5.8824709 6.9889834 0.005608612 7.2305072 62.244 62.244 62.244 0.0042736813 0.0053311794 0.0072209755 - 6500 1.3956548 5.8831208 6.9793329 0.0085962528 7.3495135 62.244 62.244 62.244 0.0082055979 0.011231962 0.0063511989 - 6600 1.3758562 5.8829365 6.9635978 0.0065047826 7.2437134 62.244 62.244 62.244 0.005468046 0.0069917695 0.0070545323 - 6700 1.3804704 5.8923062 6.9765917 0.0057976076 7.2262542 62.244 62.244 62.244 0.0052851407 0.011935403 0.00017227886 - 6800 1.396967 5.8774293 6.974672 0.0018361999 7.0537443 62.244 62.244 62.244 1.5181397e-05 0.0031700121 0.0023234062 - 6900 1.3966118 5.8872183 6.9841821 0.0029553371 7.1114478 62.244 62.244 62.244 -0.0022750426 0.0055197498 0.005621304 - 7000 1.3992657 5.8918087 6.990857 0.0033614376 7.1356106 62.244 62.244 62.244 0.0019626838 -0.0019054573 0.010027086 -Loop time of 0.627583 on 4 procs for 1000 steps with 5600 atoms - -Performance: 688355.013 tau/day, 1593.414 timesteps/s, 8.923 Matom-step/s -99.5% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.017522 | 0.028358 | 0.041297 | 6.2 | 4.52 -Bond | 0.0060681 | 0.0092563 | 0.012417 | 2.9 | 1.47 -Neigh | 0.13625 | 0.13667 | 0.13709 | 0.1 | 21.78 -Comm | 0.027966 | 0.043787 | 0.057522 | 6.2 | 6.98 -Output | 0.00035478 | 0.00049121 | 0.00055892 | 0.0 | 0.08 -Modify | 0.35811 | 0.37631 | 0.39333 | 2.6 | 59.96 -Other | | 0.03272 | | | 5.21 - -Nlocal: 1400 ave 1883 max 958 min -Histogram: 2 0 0 0 0 0 0 0 1 1 -Nghost: 665 ave 803 max 565 min -Histogram: 1 1 0 0 0 1 0 0 0 1 -Neighs: 1272.25 ave 1895 max 762 min -Histogram: 2 0 0 0 0 0 0 1 0 1 - -Total # of neighbors = 5089 -Ave neighs/atom = 0.90875 -Ave special neighs/atom = 0.57142857 -Neighbor list builds = 150 -Dangerous builds = 0 -unfix 1 - -compute myTemp all temp - -fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 iso 0.05 0.05 1.0 dilate all - 800 rigid bodies with 4000 atoms -print "rigid/npt iso" -rigid/npt iso -fix_modify 1 temp myTemp - -run 1000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 7.557 | 7.566 | 7.574 Mbytes - Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 7000 1.3992657 5.8918087 6.990857 0.016459779 7.6996647 62.244 62.244 62.244 0.056781831 -0.019577361 0.012174866 - 7100 1.5086944 5.8706667 7.0556653 0.011656301 7.4412826 57.006966 57.006966 57.006966 0.015012728 0.015151838 0.0048043378 - 7200 1.5444857 5.8347072 7.047818 0.025893976 7.6357076 50.283831 50.283831 50.283831 0.021166084 0.027070838 0.029445006 - 7300 1.5460527 5.7950177 7.0093593 0.02162991 7.3688559 45.318555 45.318555 45.318555 0.014747735 0.037527921 0.012614075 - 7400 1.5613693 5.7516603 6.9780323 0.034798817 7.4279201 41.678228 41.678228 41.678228 0.041296806 0.025288632 0.037811012 - 7500 1.5582169 5.7359749 6.9598708 0.029878761 7.2757008 38.972622 38.972622 38.972622 0.031657651 0.020061922 0.037916711 - 7600 1.5578367 5.6988812 6.9224785 0.045695884 7.3351888 36.981577 36.981577 36.981577 0.040243029 0.039644927 0.057199697 - 7700 1.5148812 5.6528692 6.8427272 0.022439627 7.0209705 35.43196 35.43196 35.43196 0.010631952 0.017769669 0.03891726 - 7800 1.529109 5.6051059 6.8061392 0.054079172 7.1911354 34.161596 34.161596 34.161596 0.034939239 0.071325426 0.05597285 - 7900 1.5182819 5.5708546 6.7633838 0.066345571 7.1933547 33.108416 33.108416 33.108416 0.060359678 0.07068182 0.067995216 - 8000 1.4677372 5.5540248 6.7068537 0.033729921 6.90804 32.205032 32.205032 32.205032 0.049412183 0.016101823 0.035675755 -Loop time of 1.1282 on 4 procs for 1000 steps with 5600 atoms - -Performance: 382910.795 tau/day, 886.368 timesteps/s, 4.964 Matom-step/s -99.3% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.047245 | 0.075421 | 0.11065 | 10.1 | 6.69 -Bond | 0.0077964 | 0.011056 | 0.014794 | 2.9 | 0.98 -Neigh | 0.47306 | 0.4737 | 0.47434 | 0.1 | 41.99 -Comm | 0.047565 | 0.086613 | 0.11788 | 10.3 | 7.68 -Output | 0.00031206 | 0.00038703 | 0.00060877 | 0.0 | 0.03 -Modify | 0.43174 | 0.44726 | 0.46676 | 2.3 | 39.64 -Other | | 0.03376 | | | 2.99 - -Nlocal: 1400 ave 1845 max 1051 min -Histogram: 2 0 0 0 0 0 0 1 0 1 -Nghost: 1558.25 ave 1732 max 1431 min -Histogram: 1 0 1 0 1 0 0 0 0 1 -Neighs: 6210.75 ave 9543 max 3698 min -Histogram: 2 0 0 0 0 0 0 1 0 1 - -Total # of neighbors = 24843 -Ave neighs/atom = 4.43625 -Ave special neighs/atom = 0.57142857 -Neighbor list builds = 335 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 x 0.05 0.05 1.0 dilate all - 800 rigid bodies with 4000 atoms -print "rigid/npt x" -rigid/npt x -run 1000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 7.567 | 7.579 | 7.596 Mbytes - Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 8000 1.4677372 5.5540248 6.7068537 -0.017850632 6.6003814 32.205032 32.205032 32.205032 -0.10278017 -0.1824093 0.23163757 - 8100 1.4540331 5.5388671 6.6809322 0.022562574 6.8139144 31.823315 32.205032 32.205032 0.028408548 0.028883436 0.010395737 - 8200 1.4702497 5.4971666 6.6519689 0.031541665 6.8340274 31.164985 32.205032 32.205032 0.05198967 0.017790558 0.024844767 - 8300 1.4895576 5.4752966 6.6452643 0.049612462 6.9245663 30.396516 32.205032 32.205032 0.050583662 0.041684528 0.056569197 - 8400 1.4546023 5.4627064 6.6052185 0.014637455 6.6862795 29.901065 32.205032 32.205032 0.022874978 -0.0061332581 0.027170646 - 8500 1.4485789 5.4330137 6.5707949 0.06887386 6.9450276 29.337823 32.205032 32.205032 0.082103679 0.041682043 0.082835857 - 8600 1.4443937 5.4261726 6.5606664 0.02551672 6.6959898 28.63444 32.205032 32.205032 0.028149026 0.066325162 -0.017924027 - 8700 1.4329121 5.409813 6.5352887 0.028828984 6.6848753 28.015854 32.205032 32.205032 0.015384578 0.050827744 0.02027463 - 8800 1.4015747 5.4009279 6.5017898 0.046423411 6.7374794 27.41221 32.205032 32.205032 0.099149897 0.019633915 0.020486421 - 8900 1.411353 5.3728016 6.4813438 0.046095308 6.711069 26.908695 32.205032 32.205032 0.04716092 0.029778906 0.061346098 - 9000 1.3987178 5.3528351 6.451453 0.029891295 6.5977498 26.425959 32.205032 32.205032 0.033096258 0.039059663 0.017517965 -Loop time of 1.05732 on 4 procs for 1000 steps with 5600 atoms - -Performance: 408581.873 tau/day, 945.791 timesteps/s, 5.296 Matom-step/s -99.3% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.084017 | 0.12178 | 0.1674 | 10.7 | 11.52 -Bond | 0.0087866 | 0.011339 | 0.014172 | 2.1 | 1.07 -Neigh | 0.35177 | 0.35194 | 0.35221 | 0.0 | 33.29 -Comm | 0.046529 | 0.094466 | 0.13331 | 12.7 | 8.93 -Output | 0.00031081 | 0.00038714 | 0.00061511 | 0.0 | 0.04 -Modify | 0.43779 | 0.45007 | 0.46334 | 1.8 | 42.57 -Other | | 0.02734 | | | 2.59 - -Nlocal: 1400 ave 1718 max 1133 min -Histogram: 2 0 0 0 0 0 0 0 1 1 -Nghost: 1700.75 ave 1793 max 1533 min -Histogram: 1 0 0 0 0 0 1 0 0 2 -Neighs: 7936.75 ave 10967 max 5250 min -Histogram: 2 0 0 0 0 0 0 0 1 1 - -Total # of neighbors = 31747 -Ave neighs/atom = 5.6691071 -Ave special neighs/atom = 0.57142857 -Neighbor list builds = 169 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/nph molecule iso 0.05 0.05 1.0 dilate all - 800 rigid bodies with 4000 atoms -print "rigid/nph iso" -rigid/nph iso -run 1000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 7.568 | 7.58 | 7.597 Mbytes - Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 9000 1.3987178 5.3528351 6.451453 0.26585248 7.7526137 26.425959 32.205032 32.205032 0.02018168 0.47782722 0.29954855 - 9100 1.4351747 5.3304458 6.4576986 0.051746697 6.707501 26.305023 32.057649 32.057649 0.073064096 0.037508173 0.044667823 - 9200 1.442609 5.3185643 6.4516564 0.026933669 6.5768423 25.974904 31.655336 31.655336 0.0097800385 0.035425194 0.035595776 - 9300 1.4528107 5.2812305 6.4223354 0.074634951 6.7601945 25.747306 31.377965 31.377965 0.12937272 0.031196451 0.063335685 - 9400 1.4778194 5.2625966 6.4233445 0.0179548 6.5034822 25.626311 31.23051 31.23051 0.042627054 -0.047901197 0.059138542 - 9500 1.4406019 5.2661826 6.3976982 0.048963663 6.6143417 25.551982 31.139926 31.139926 0.097226703 -0.0051171725 0.054781458 - 9600 1.4463517 5.2420508 6.3780826 0.033338493 6.5253103 25.535743 31.120136 31.120136 0.013953126 0.066958907 0.019103444 - 9700 1.4040075 5.264089 6.3668617 0.075486855 6.6986983 25.496763 31.072631 31.072631 0.051974464 0.097239496 0.077246606 - 9800 1.4369291 5.25259 6.3812208 0.062882837 6.6532231 25.359898 30.905835 30.905835 0.088614069 0.087884794 0.012149647 - 9900 1.4426697 5.2270989 6.3602387 0.070910381 6.6603048 25.175015 30.68052 30.68052 0.081294501 0.056618911 0.07481773 - 10000 1.4714476 5.2051468 6.3608901 0.038441228 6.5234989 25.171919 30.676748 30.676748 0.021691591 0.0086967032 0.084935388 -Loop time of 1.07529 on 4 procs for 1000 steps with 5600 atoms - -Performance: 401751.573 tau/day, 929.980 timesteps/s, 5.208 Matom-step/s -99.4% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.10178 | 0.14349 | 0.18701 | 10.0 | 13.34 -Bond | 0.0094369 | 0.011359 | 0.01342 | 1.5 | 1.06 -Neigh | 0.35737 | 0.35764 | 0.35787 | 0.0 | 33.26 -Comm | 0.048562 | 0.093503 | 0.13651 | 12.7 | 8.70 -Output | 0.00029714 | 0.00035903 | 0.0005404 | 0.0 | 0.03 -Modify | 0.43477 | 0.44365 | 0.45263 | 1.3 | 41.26 -Other | | 0.0253 | | | 2.35 - -Nlocal: 1400 ave 1650 max 1148 min -Histogram: 1 0 1 0 0 0 0 1 0 1 -Nghost: 1770.5 ave 1864 max 1640 min -Histogram: 1 0 0 0 0 1 0 0 1 1 -Neighs: 9370.75 ave 12213 max 6410 min -Histogram: 1 1 0 0 0 0 0 0 0 2 - -Total # of neighbors = 37483 -Ave neighs/atom = 6.6933929 -Ave special neighs/atom = 0.57142857 -Neighbor list builds = 162 -Dangerous builds = 0 -unfix 1 - -fix 1 rods rigid/nph molecule x 0.05 0.05 1.0 y 0.05 0.05 1.0 couple xy dilate all - 800 rigid bodies with 4000 atoms -print "rigid/nph xy couple" -rigid/nph xy couple -run 1000 -Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule -Per MPI rank memory allocation (min/avg/max) = 7.569 | 7.58 | 7.597 Mbytes - Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz - 10000 1.4714476 5.2051468 6.3608901 -0.096738415 5.9516804 25.171919 30.676748 30.676748 -0.07465944 0.069571401 -0.28512721 - 10100 1.4336012 5.2129069 6.3389239 0.069305782 6.6336186 25.237381 30.756525 30.676748 0.1042358 0.062982076 0.040699467 - 10200 1.3850266 5.2255115 6.3133757 -0.026502584 6.1990129 25.423835 30.983755 30.676748 -0.018638813 -0.01225392 -0.048615018 - 10300 1.4059572 5.2273228 6.3316268 0.026841528 6.4477936 25.461278 31.029386 30.676748 0.0032748153 0.054971756 0.022278013 - 10400 1.4085811 5.2218002 6.3281652 0.087028058 6.7005137 25.315588 30.851835 30.676748 0.095488962 0.059423478 0.10617173 - 10500 1.4323046 5.1961285 6.321127 0.011963636 6.3715428 25.124329 30.61875 30.676748 0.047765438 -0.013073535 0.0011990069 - 10600 1.4401614 5.1744178 6.3055874 0.065577091 6.5770196 24.899891 30.345229 30.676748 0.05130409 0.11923748 0.026189709 - 10700 1.45262 5.1656069 6.3065622 0.019979844 6.3873914 24.616776 30.0002 30.676748 0.062077837 0.01564587 -0.017784176 - 10800 1.436593 5.1491998 6.2775666 0.06467682 6.5343926 24.388662 29.722201 30.676748 0.055509186 0.081686998 0.056834275 - 10900 1.4221057 5.1580272 6.2750151 0.10779715 6.6964287 24.198783 29.490797 30.676748 0.11821126 0.13388181 0.071298392 - 11000 1.4318097 5.1652839 6.2898937 0.12207839 6.7635101 24.106649 29.378514 30.676748 0.13281999 0.095712525 0.13770264 -Loop time of 1.05977 on 4 procs for 1000 steps with 5600 atoms - -Performance: 407635.235 tau/day, 943.600 timesteps/s, 5.284 Matom-step/s -99.2% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.11531 | 0.15482 | 0.18642 | 8.0 | 14.61 -Bond | 0.0095915 | 0.011316 | 0.012716 | 1.2 | 1.07 -Neigh | 0.34708 | 0.34732 | 0.34748 | 0.0 | 32.77 -Comm | 0.050629 | 0.082561 | 0.12326 | 11.1 | 7.79 -Output | 0.00029841 | 0.00036751 | 0.00057311 | 0.0 | 0.03 -Modify | 0.43421 | 0.44242 | 0.45027 | 0.9 | 41.75 -Other | | 0.02097 | | | 1.98 - -Nlocal: 1400 ave 1551 max 1205 min -Histogram: 1 0 0 1 0 0 0 0 1 1 -Nghost: 1831.5 ave 1910 max 1688 min -Histogram: 1 0 0 0 0 1 0 0 0 2 -Neighs: 10203.8 ave 12647 max 7619 min -Histogram: 1 0 1 0 0 0 0 1 0 1 - -Total # of neighbors = 40815 -Ave neighs/atom = 7.2883929 -Ave special neighs/atom = 0.57142857 -Neighbor list builds = 161 -Dangerous builds = 0 - -Total wall time: 0:00:08 diff --git a/examples/rigid/log.27Nov18.rigid.atomfile.g++.1 b/examples/rigid/log.27Nov18.rigid.atomfile.g++.1 new file mode 100644 index 0000000000..e3e539eada --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.atomfile.g++.1 @@ -0,0 +1,338 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic +atom_modify map array + +pair_style lj/cut 2.5 + +read_data data.rigid + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + +velocity all create 100.0 4928459 + + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +variable bodies atomfile bodies.txt +fix 1 all rigid custom v_bodies +9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Neighbor list info ... + update every 1 steps, delay 10 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 = 18 18 18 + 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/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.109 | 4.109 | 4.109 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.972284e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690666 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652434 0 5269.5216 12.011692 + 9550 16738.493 -0.005315616 0 5269.5203 12.011611 + 9600 16738.549 -0.026814368 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589885 0 5269.4979 12.062708 + 9750 16738.013 0.13550123 0 5269.5101 11.407245 + 9800 16738.512 -0.011620328 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270523 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984554 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.153749 on 1 procs for 10000 steps with 81 atoms + +Performance: 561955.786 tau/day, 65041.179 timesteps/s +98.4% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0098538 | 0.0098538 | 0.0098538 | 0.0 | 6.41 +Neigh | 0.040308 | 0.040308 | 0.040308 | 0.0 | 26.22 +Comm | 0.013034 | 0.013034 | 0.013034 | 0.0 | 8.48 +Output | 0.0017202 | 0.0017202 | 0.0017202 | 0.0 | 1.12 +Modify | 0.083709 | 0.083709 | 0.083709 | 0.0 | 54.45 +Other | | 0.005123 | | | 3.33 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 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 = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.atomfile.g++.4 b/examples/rigid/log.27Nov18.rigid.atomfile.g++.4 new file mode 100644 index 0000000000..1e28766101 --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.atomfile.g++.4 @@ -0,0 +1,338 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic +atom_modify map array + +pair_style lj/cut 2.5 + +read_data data.rigid + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + +velocity all create 100.0 4928459 + + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +variable bodies atomfile bodies.txt +fix 1 all rigid custom v_bodies +9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Neighbor list info ... + update every 1 steps, delay 10 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 = 18 18 18 + 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/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.08 | 4.174 | 4.455 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722832e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706557 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690663 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532813 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652438 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156163 0 5269.5203 12.011611 + 9600 16738.549 -0.026814371 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589894 0 5269.4979 12.062708 + 9750 16738.013 0.13550109 0 5269.5101 11.407246 + 9800 16738.512 -0.011620327 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270507 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984555 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.202963 on 4 procs for 10000 steps with 81 atoms + +Performance: 425693.239 tau/day, 49270.051 timesteps/s +89.9% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0025978 | 0.0033882 | 0.0042055 | 1.0 | 1.67 +Neigh | 0.012025 | 0.013416 | 0.01623 | 1.4 | 6.61 +Comm | 0.080375 | 0.087468 | 0.090782 | 1.4 | 43.10 +Output | 0.0031407 | 0.0039954 | 0.0065427 | 2.3 | 1.97 +Modify | 0.086613 | 0.087285 | 0.087619 | 0.1 | 43.01 +Other | | 0.00741 | | | 3.65 + +Nlocal: 20.25 ave 38 max 3 min +Histogram: 1 0 1 0 0 0 1 0 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 1 1 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.atomvar.g++.1 b/examples/rigid/log.27Nov18.rigid.atomvar.g++.1 new file mode 100644 index 0000000000..58834ebf3d --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.atomvar.g++.1 @@ -0,0 +1,338 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic +atom_modify map array + +pair_style lj/cut 2.5 + +read_data data.rigid + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + +velocity all create 100.0 4928459 + + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +variable bodies atom 1.0*gmask(clump1)+2.0*gmask(clump2)+3.0*gmask(clump3)+4.0*gmask(clump4)+5.0*gmask(clump5)+6.0*gmask(clump6)+7.0*gmask(clump7)+8.0*gmask(clump8)+9.0*gmask(clump9) +fix 1 all rigid custom v_bodies +9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Neighbor list info ... + update every 1 steps, delay 10 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 = 18 18 18 + 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/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.984 | 3.984 | 3.984 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.972284e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690666 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652434 0 5269.5216 12.011692 + 9550 16738.493 -0.005315616 0 5269.5203 12.011611 + 9600 16738.549 -0.026814368 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589885 0 5269.4979 12.062708 + 9750 16738.013 0.13550123 0 5269.5101 11.407245 + 9800 16738.512 -0.011620328 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270523 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984554 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.15622 on 1 procs for 10000 steps with 81 atoms + +Performance: 553065.489 tau/day, 64012.209 timesteps/s +95.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0098181 | 0.0098181 | 0.0098181 | 0.0 | 6.28 +Neigh | 0.040912 | 0.040912 | 0.040912 | 0.0 | 26.19 +Comm | 0.013111 | 0.013111 | 0.013111 | 0.0 | 8.39 +Output | 0.0016305 | 0.0016305 | 0.0016305 | 0.0 | 1.04 +Modify | 0.085361 | 0.085361 | 0.085361 | 0.0 | 54.64 +Other | | 0.005387 | | | 3.45 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 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 = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.atomvar.g++.4 b/examples/rigid/log.27Nov18.rigid.atomvar.g++.4 new file mode 100644 index 0000000000..42b8a52768 --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.atomvar.g++.4 @@ -0,0 +1,338 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic +atom_modify map array + +pair_style lj/cut 2.5 + +read_data data.rigid + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + +velocity all create 100.0 4928459 + + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +variable bodies atom 1.0*gmask(clump1)+2.0*gmask(clump2)+3.0*gmask(clump3)+4.0*gmask(clump4)+5.0*gmask(clump5)+6.0*gmask(clump6)+7.0*gmask(clump7)+8.0*gmask(clump8)+9.0*gmask(clump9) +fix 1 all rigid custom v_bodies +9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Neighbor list info ... + update every 1 steps, delay 10 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 = 18 18 18 + 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/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.955 | 4.049 | 4.33 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722832e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706557 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690663 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532813 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652438 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156163 0 5269.5203 12.011611 + 9600 16738.549 -0.026814371 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589894 0 5269.4979 12.062708 + 9750 16738.013 0.13550109 0 5269.5101 11.407246 + 9800 16738.512 -0.011620327 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270507 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984555 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.199799 on 4 procs for 10000 steps with 81 atoms + +Performance: 432434.078 tau/day, 50050.241 timesteps/s +91.0% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.002665 | 0.0034567 | 0.0040557 | 0.9 | 1.73 +Neigh | 0.012185 | 0.013168 | 0.014083 | 0.8 | 6.59 +Comm | 0.079331 | 0.082804 | 0.084927 | 0.7 | 41.44 +Output | 0.0031595 | 0.0039212 | 0.0061827 | 2.1 | 1.96 +Modify | 0.088465 | 0.090202 | 0.091938 | 0.4 | 45.15 +Other | | 0.006247 | | | 3.13 + +Nlocal: 20.25 ave 38 max 3 min +Histogram: 1 0 1 0 0 0 1 0 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 1 1 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.early.g++.1 b/examples/rigid/log.27Nov18.rigid.early.g++.1 new file mode 100644 index 0000000000..3c8022423f --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.early.g++.1 @@ -0,0 +1,337 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +9 rigid bodies with 81 atoms + +fix_modify 1 bodyforces early + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Neighbor list info ... + update every 1 steps, delay 10 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 = 18 18 18 + 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/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.979 | 3.979 | 3.979 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.972284e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690666 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652434 0 5269.5216 12.011692 + 9550 16738.493 -0.005315616 0 5269.5203 12.011611 + 9600 16738.549 -0.026814368 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589885 0 5269.4979 12.062708 + 9750 16738.013 0.13550123 0 5269.5101 11.407245 + 9800 16738.512 -0.011620328 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270523 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984554 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.152593 on 1 procs for 10000 steps with 81 atoms + +Performance: 566210.692 tau/day, 65533.645 timesteps/s +96.1% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0098324 | 0.0098324 | 0.0098324 | 0.0 | 6.44 +Neigh | 0.040376 | 0.040376 | 0.040376 | 0.0 | 26.46 +Comm | 0.012246 | 0.012246 | 0.012246 | 0.0 | 8.03 +Output | 0.0016036 | 0.0016036 | 0.0016036 | 0.0 | 1.05 +Modify | 0.083605 | 0.083605 | 0.083605 | 0.0 | 54.79 +Other | | 0.00493 | | | 3.23 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 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 = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.early.g++.4 b/examples/rigid/log.27Nov18.rigid.early.g++.4 new file mode 100644 index 0000000000..91f091b799 --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.early.g++.4 @@ -0,0 +1,337 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +9 rigid bodies with 81 atoms + +fix_modify 1 bodyforces early + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Neighbor list info ... + update every 1 steps, delay 10 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 = 18 18 18 + 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/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.95 | 4.044 | 4.326 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722832e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706557 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690663 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532813 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652438 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156163 0 5269.5203 12.011611 + 9600 16738.549 -0.026814371 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589894 0 5269.4979 12.062708 + 9750 16738.013 0.13550109 0 5269.5101 11.407246 + 9800 16738.512 -0.011620327 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270507 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984555 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.198859 on 4 procs for 10000 steps with 81 atoms + +Performance: 434479.274 tau/day, 50286.953 timesteps/s +91.6% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.002526 | 0.0034331 | 0.0041001 | 1.0 | 1.73 +Neigh | 0.012097 | 0.013092 | 0.013992 | 0.8 | 6.58 +Comm | 0.075266 | 0.07972 | 0.084679 | 1.2 | 40.09 +Output | 0.0030892 | 0.0043746 | 0.0081537 | 3.3 | 2.20 +Modify | 0.088037 | 0.091924 | 0.095021 | 0.9 | 46.23 +Other | | 0.006316 | | | 3.18 + +Nlocal: 20.25 ave 38 max 3 min +Histogram: 1 0 1 0 0 0 1 0 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 1 1 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.g++.1 b/examples/rigid/log.27Nov18.rigid.g++.1 new file mode 100644 index 0000000000..9dff202069 --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.g++.1 @@ -0,0 +1,335 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Neighbor list info ... + update every 1 steps, delay 10 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 = 18 18 18 + 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/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.979 | 3.979 | 3.979 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.972284e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690666 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652434 0 5269.5216 12.011692 + 9550 16738.493 -0.005315616 0 5269.5203 12.011611 + 9600 16738.549 -0.026814368 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589885 0 5269.4979 12.062708 + 9750 16738.013 0.13550123 0 5269.5101 11.407245 + 9800 16738.512 -0.011620328 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270523 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984554 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.152143 on 1 procs for 10000 steps with 81 atoms + +Performance: 567885.005 tau/day, 65727.431 timesteps/s +98.9% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0097773 | 0.0097773 | 0.0097773 | 0.0 | 6.43 +Neigh | 0.040602 | 0.040602 | 0.040602 | 0.0 | 26.69 +Comm | 0.012049 | 0.012049 | 0.012049 | 0.0 | 7.92 +Output | 0.0016172 | 0.0016172 | 0.0016172 | 0.0 | 1.06 +Modify | 0.083104 | 0.083104 | 0.083104 | 0.0 | 54.62 +Other | | 0.004994 | | | 3.28 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 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 = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.g++.4 b/examples/rigid/log.27Nov18.rigid.g++.4 new file mode 100644 index 0000000000..36e602f1f1 --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.g++.4 @@ -0,0 +1,335 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Neighbor list info ... + update every 1 steps, delay 10 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 = 18 18 18 + 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/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.95 | 4.044 | 4.326 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722832e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706557 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690663 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532813 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652438 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156163 0 5269.5203 12.011611 + 9600 16738.549 -0.026814371 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589894 0 5269.4979 12.062708 + 9750 16738.013 0.13550109 0 5269.5101 11.407246 + 9800 16738.512 -0.011620327 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270507 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984555 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.201762 on 4 procs for 10000 steps with 81 atoms + +Performance: 428226.262 tau/day, 49563.225 timesteps/s +89.2% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0025356 | 0.0033935 | 0.0042305 | 1.0 | 1.68 +Neigh | 0.012009 | 0.012959 | 0.015092 | 1.1 | 6.42 +Comm | 0.07666 | 0.086213 | 0.092506 | 2.0 | 42.73 +Output | 0.0032623 | 0.0052034 | 0.011 | 4.6 | 2.58 +Modify | 0.084815 | 0.087869 | 0.089999 | 0.6 | 43.55 +Other | | 0.006125 | | | 3.04 + +Nlocal: 20.25 ave 38 max 3 min +Histogram: 1 0 1 0 0 0 1 0 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 1 1 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.nve.early.g++.1 b/examples/rigid/log.27Nov18.rigid.nve.early.g++.1 new file mode 100644 index 0000000000..1e426d397e --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.nve.early.g++.1 @@ -0,0 +1,337 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +9 rigid bodies with 81 atoms + +fix_modify 1 bodyforces early + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Neighbor list info ... + update every 1 steps, delay 10 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 = 18 18 18 + 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/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.979 | 3.979 | 3.979 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.69 571.70921 0 5265.8153 32.005816 + 100 16298.128 136.75661 0 5267.6488 16.449029 + 150 16682.532 17.504156 0 5269.4124 14.901186 + 200 16733.906 1.3755079 0 5269.4571 14.571305 + 250 16738.861 -0.15272039 0 5269.4886 14.498342 + 300 16738.608 -0.055216883 0 5269.5066 14.498 + 350 16738.5 -0.017457072 0 5269.5104 14.498392 + 400 16738.451 -0.0060161309 0 5269.5063 14.49851 + 450 16738.435 -0.001271965 0 5269.5059 14.498571 + 500 16738.443 -0.00081074175 0 5269.509 14.498598 + 550 16738.452 -0.00083208965 0 5269.5118 14.498618 + 600 16738.45 -0.00058358431 0 5269.5116 14.498617 + 650 16738.443 -0.00047228525 0 5269.5093 14.4986 + 700 16738.444 0 0 5269.5102 14.498612 + 750 16738.461 0 0 5269.5157 14.498654 + 800 16738.479 0 0 5269.521 14.498697 + 850 16738.473 0 0 5269.5192 14.498683 + 900 16738.449 0 0 5269.5116 14.498624 + 950 16738.438 -0.0035324203 0 5269.5046 14.498537 + 1000 16738.562 -0.051134242 0 5269.4963 14.498093 + 1050 16737.343 0.32970192 0 5269.4934 14.527634 + 1100 16737.878 0.16213235 0 5269.4941 14.533864 + 1150 16738.682 -0.089236256 0 5269.4959 14.511765 + 1200 16738.444 -0.0075446558 0 5269.5025 14.512479 + 1250 16738.45 0 0 5269.5119 14.512611 + 1300 16738.475 0 0 5269.5199 14.512673 + 1350 16738.484 0 0 5269.5228 14.512696 + 1400 16738.469 -0.00044683992 0 5269.5175 14.512651 + 1450 16738.45 -0.0010933363 0 5269.511 14.512595 + 1500 16738.445 -0.00057484239 0 5269.51 14.512591 + 1550 16738.451 0 0 5269.5123 14.512615 + 1600 16738.452 0 0 5269.5127 14.512618 + 1650 16738.443 0 0 5269.5099 14.512596 + 1700 16738.433 0 0 5269.5068 14.512572 + 1750 16738.438 0 0 5269.5084 14.512584 + 1800 16738.459 0 0 5269.5149 14.512635 + 1850 16738.473 0 0 5269.5193 14.51267 + 1900 16738.462 0 0 5269.5159 14.512644 + 1950 16738.446 -0.0032069962 0 5269.5076 14.512539 + 2000 16738.463 -0.013425408 0 5269.5027 14.512382 + 2050 16738.535 -0.036964311 0 5269.5017 14.512152 + 2100 16738.621 -0.063490509 0 5269.5023 14.512108 + 2150 16738.594 -0.056143934 0 5269.5012 14.512117 + 2200 16738.536 -0.038486645 0 5269.5007 14.512277 + 2250 16738.496 -0.023712406 0 5269.503 14.51242 + 2300 16738.488 -0.013209094 0 5269.5109 14.51255 + 2350 16738.486 -0.0045244524 0 5269.519 14.512693 + 2400 16738.475 -0.00051678325 0 5269.5194 14.512743 + 2450 16738.456 -0.0023209272 0 5269.5115 14.512659 + 2500 16738.442 -0.0052101787 0 5269.5042 14.512594 + 2550 16738.552 -0.04420046 0 5269.4998 14.512177 + 2600 16738.42 -0.004347531 0 5269.4982 14.512783 + 2650 16734.241 1.3131302 0 5269.5 14.577195 + 2700 16738.737 -0.10612056 0 5269.4961 14.503874 + 2750 16732.705 1.7939719 0 5269.4974 14.629294 + 2800 16738.558 -0.042867033 0 5269.5032 14.519893 + 2850 16738.499 -0.01271227 0 5269.5146 14.518524 + 2900 16738.486 -0.0032778045 0 5269.52 14.518712 + 2950 16738.482 -0.0089544631 0 5269.5133 14.518629 + 3000 16738.647 -0.070862542 0 5269.5031 14.51803 + 3050 16678.313 18.829038 0 5269.409 15.533426 + 3100 16632.312 33.399217 0 5269.4975 14.588597 + 3150 16739.318 -0.31388148 0 5269.4715 13.520782 + 3200 16727.951 3.26736 0 5269.4741 12.288358 + 3250 16686.364 16.353793 0 5269.4682 14.152517 + 3300 16738.532 -0.031574462 0 5269.5064 13.310615 + 3350 16738.454 -0.0062292918 0 5269.5071 13.308187 + 3400 16738.445 -0.0049349125 0 5269.5055 13.308178 + 3450 16738.489 -0.021623738 0 5269.5026 13.308001 + 3500 16737.78 0.19719043 0 5269.4983 13.325999 + 3550 16658.578 25.116206 0 5269.4834 13.778249 + 3600 16738.51 -0.032864725 0 5269.4981 12.392389 + 3650 16738.899 -0.15952703 0 5269.4938 12.383503 + 3700 16738.879 -0.16025994 0 5269.487 12.382575 + 3750 16738.878 -0.16608251 0 5269.4806 12.382765 + 3800 16738.591 -0.078679341 0 5269.4776 12.383227 + 3850 16738.429 -0.024729409 0 5269.4807 12.382942 + 3900 16738.399 -0.0062729967 0 5269.4897 12.383192 + 3950 16738.428 -0.002521266 0 5269.5027 12.383324 + 4000 16738.467 -0.0002068506 0 5269.5173 12.383474 + 4050 16738.488 0 0 5269.5241 12.383531 + 4100 16738.468 0 0 5269.5178 12.383482 + 4150 16738.422 0 0 5269.5033 12.383369 + 4200 16738.387 0 0 5269.4921 12.383281 + 4250 16738.383 0 0 5269.4908 12.38327 + 4300 16738.4 0 0 5269.4964 12.383314 + 4350 16738.423 0 0 5269.5036 12.38337 + 4400 16738.441 0 0 5269.5092 12.383414 + 4450 16738.45 0 0 5269.5121 12.383437 + 4500 16738.45 0 0 5269.5122 12.383438 + 4550 16738.442 0 0 5269.5095 12.383417 + 4600 16738.425 0 0 5269.5042 12.383376 + 4650 16738.404 -0.0014438316 0 5269.4961 12.383299 + 4700 16738.444 -0.024020551 0 5269.4862 12.382975 + 4750 16738.49 -0.04852143 0 5269.4761 12.385777 + 4800 16735.057 1.0347216 0 5269.4786 12.43543 + 4850 16735.441 0.92650925 0 5269.4913 12.418653 + 4900 16723.839 4.5908974 0 5269.5033 13.410103 + 4950 16738.531 -0.02153767 0 5269.5159 13.089982 + 5000 16738.45 -0.0042589697 0 5269.5077 13.090062 + 5050 16738.409 -0.00024692476 0 5269.4987 13.090038 + 5100 16738.404 0 0 5269.4976 13.090032 + 5150 16738.421 0 0 5269.5029 13.090073 + 5200 16738.44 0 0 5269.5087 13.090119 + 5250 16738.448 -0.001279392 0 5269.5102 13.090114 + 5300 16738.456 -0.0064376391 0 5269.5075 13.090026 + 5350 16738.479 -0.020383841 0 5269.5007 13.089897 + 5400 16735.845 0.7988947 0 5269.4909 13.136244 + 5450 16735.558 0.87620022 0 5269.4778 12.324482 + 5500 16711.494 8.4724178 0 5269.4984 12.656579 + 5550 16454.525 89.074815 0 5269.2031 16.996503 + 5600 16713.084 7.9801418 0 5269.5065 13.774979 + 5650 16738.676 -0.079987748 0 5269.5033 13.168297 + 5700 16446.281 91.866085 0 5269.399 23.764663 + 5750 16738.549 -0.039869084 0 5269.5034 13.378122 + 5800 16738.487 -0.014994478 0 5269.5086 13.378399 + 5850 16738.466 -0.0051267616 0 5269.512 13.37856 + 5900 16738.462 -0.0043690142 0 5269.5113 13.378573 + 5950 16738.528 -0.032727415 0 5269.5039 13.378197 + 6000 16702.774 10.969438 0 5269.2502 13.788852 + 6050 16682.271 17.483137 0 5269.3092 13.353101 + 6100 16738.508 -0.028838222 0 5269.5016 12.521084 + 6150 16738.425 -0.0067595536 0 5269.4974 12.521223 + 6200 16738.401 -0.0011499893 0 5269.4955 12.521254 + 6250 16738.455 0 0 5269.5135 12.52141 + 6300 16738.523 0 0 5269.5352 12.52158 + 6350 16738.503 0 0 5269.5287 12.521531 + 6400 16738.427 0 0 5269.5047 12.521344 + 6450 16738.399 0 0 5269.496 12.521274 + 6500 16738.425 0 0 5269.5042 12.521337 + 6550 16738.441 0 0 5269.5093 12.521378 + 6600 16738.42 0 0 5269.5025 12.521326 + 6650 16738.398 0 0 5269.4957 12.521272 + 6700 16738.435 0 0 5269.5074 12.521362 + 6750 16738.505 0 0 5269.5293 12.521534 + 6800 16738.508 0 0 5269.5303 12.521543 + 6850 16738.446 0 0 5269.5108 12.521391 + 6900 16738.414 0 0 5269.5009 12.521312 + 6950 16738.432 0 0 5269.5063 12.521354 + 7000 16738.444 0 0 5269.5102 12.521385 + 7050 16738.421 0 0 5269.5029 12.521329 + 7100 16738.393 0 0 5269.4941 12.521259 + 7150 16738.419 0 0 5269.5022 12.521322 + 7200 16738.489 0 0 5269.5244 12.521495 + 7250 16738.505 0 0 5269.5293 12.521535 + 7300 16738.443 0 0 5269.5098 12.521383 + 7350 16738.404 0 0 5269.4976 12.521287 + 7400 16738.43 0 0 5269.5058 12.52135 + 7450 16738.461 0 0 5269.5156 12.521427 + 7500 16738.447 0 0 5269.5109 12.521392 + 7550 16738.407 0 0 5269.4986 12.521295 + 7600 16738.412 0 0 5269.5002 12.521306 + 7650 16738.478 0 0 5269.5208 12.521467 + 7700 16738.51 0 0 5269.5309 12.521547 + 7750 16738.454 0 0 5269.5135 12.521412 + 7800 16738.398 0 0 5269.4958 12.521273 + 7850 16738.407 -0.0002118108 0 5269.4982 12.521289 + 7900 16738.441 -0.00021679711 0 5269.509 12.521373 + 7950 16738.446 -0.00023848139 0 5269.5107 12.521386 + 8000 16738.423 0 0 5269.5035 12.521333 + 8050 16738.423 0 0 5269.5034 12.521332 + 8100 16738.478 -0.00069622994 0 5269.52 12.521454 + 8150 16738.523 -0.0040058408 0 5269.531 12.521501 + 8200 16738.486 -0.0092298229 0 5269.5142 12.521334 + 8250 16738.458 -0.023189671 0 5269.4914 12.521014 + 8300 16738.513 -0.045845677 0 5269.4861 12.520779 + 8350 16723.745 4.5690412 0 5269.4516 12.849325 + 8400 16738.466 -0.020158442 0 5269.497 12.835773 + 8450 16738.437 -0.012822892 0 5269.4952 12.829936 + 8500 16738.408 -0.0016837088 0 5269.4972 12.830061 + 8550 16738.464 -0.00097379467 0 5269.5155 12.830216 + 8600 16738.669 -0.050578079 0 5269.5304 12.829934 + 8650 15917.563 250.28318 0 5261.3678 24.54572 + 8700 16738.445 0.0012168759 0 5269.5117 10.589499 + 8750 16738.473 -0.010164589 0 5269.509 10.588414 + 8800 16738.468 0 0 5269.5177 10.588633 + 8850 16738.508 0 0 5269.5304 10.588733 + 8900 16738.509 0 0 5269.5307 10.588736 + 8950 16738.496 0 0 5269.5266 10.588705 + 9000 16738.477 0 0 5269.5204 10.588656 + 9050 16738.455 0 0 5269.5135 10.588602 + 9100 16738.477 0 0 5269.5206 10.588656 + 9150 16738.512 0 0 5269.5316 10.588743 + 9200 16738.502 0 0 5269.5285 10.58872 + 9250 16738.493 0 0 5269.5255 10.588696 + 9300 16738.482 0 0 5269.522 10.588669 + 9350 16738.46 0 0 5269.5151 10.588615 + 9400 16738.481 0 0 5269.5217 10.588665 + 9450 16738.509 0 0 5269.5307 10.588736 + 9500 16738.491 0 0 5269.5248 10.58869 + 9550 16738.484 0 0 5269.5227 10.588674 + 9600 16738.483 0 0 5269.5223 10.588671 + 9650 16738.464 0 0 5269.5166 10.588626 + 9700 16738.484 0 0 5269.5229 10.588674 + 9750 16738.507 0 0 5269.5301 10.588731 + 9800 16738.482 0 0 5269.5221 10.588669 + 9850 16738.478 0 0 5269.5208 10.588659 + 9900 16738.487 -0.00030979474 0 5269.5233 10.588675 + 9950 16738.476 -0.00095968581 0 5269.5193 10.588632 + 10000 16738.494 -0.00062717822 0 5269.5253 10.588684 +Loop time of 0.168577 on 1 procs for 10000 steps with 81 atoms + +Performance: 512524.843 tau/day, 59320.005 timesteps/s +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.010812 | 0.010812 | 0.010812 | 0.0 | 6.41 +Neigh | 0.04144 | 0.04144 | 0.04144 | 0.0 | 24.58 +Comm | 0.012082 | 0.012082 | 0.012082 | 0.0 | 7.17 +Output | 0.0016394 | 0.0016394 | 0.0016394 | 0.0 | 0.97 +Modify | 0.097466 | 0.097466 | 0.097466 | 0.0 | 57.82 +Other | | 0.005139 | | | 3.05 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 49 ave 49 max 49 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 3 ave 3 max 3 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 3 +Ave neighs/atom = 0.037037 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.nve.early.g++.4 b/examples/rigid/log.27Nov18.rigid.nve.early.g++.4 new file mode 100644 index 0000000000..5b775d969a --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.nve.early.g++.4 @@ -0,0 +1,337 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +9 rigid bodies with 81 atoms + +fix_modify 1 bodyforces early + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Neighbor list info ... + update every 1 steps, delay 10 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 = 18 18 18 + 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/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.95 | 4.044 | 4.326 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.69 571.70921 0 5265.8153 32.005816 + 100 16298.128 136.75661 0 5267.6488 16.449029 + 150 16682.532 17.504156 0 5269.4124 14.901186 + 200 16733.906 1.3755079 0 5269.4571 14.571305 + 250 16738.861 -0.15272039 0 5269.4886 14.498342 + 300 16738.608 -0.055216883 0 5269.5066 14.498 + 350 16738.5 -0.017457072 0 5269.5104 14.498392 + 400 16738.451 -0.0060161309 0 5269.5063 14.49851 + 450 16738.435 -0.001271965 0 5269.5059 14.498571 + 500 16738.443 -0.00081074175 0 5269.509 14.498598 + 550 16738.452 -0.00083208965 0 5269.5118 14.498618 + 600 16738.45 -0.00058358431 0 5269.5116 14.498617 + 650 16738.443 -0.00047228525 0 5269.5093 14.4986 + 700 16738.444 0 0 5269.5102 14.498612 + 750 16738.461 0 0 5269.5157 14.498654 + 800 16738.479 0 0 5269.521 14.498697 + 850 16738.473 0 0 5269.5192 14.498683 + 900 16738.449 0 0 5269.5116 14.498624 + 950 16738.438 -0.0035324203 0 5269.5046 14.498537 + 1000 16738.562 -0.051134242 0 5269.4963 14.498093 + 1050 16737.343 0.32970192 0 5269.4934 14.527634 + 1100 16737.878 0.16213235 0 5269.4941 14.533864 + 1150 16738.682 -0.089236256 0 5269.4959 14.511765 + 1200 16738.444 -0.0075446558 0 5269.5025 14.512479 + 1250 16738.45 0 0 5269.5119 14.512611 + 1300 16738.475 0 0 5269.5199 14.512673 + 1350 16738.484 0 0 5269.5228 14.512696 + 1400 16738.469 -0.00044683992 0 5269.5175 14.512651 + 1450 16738.45 -0.0010933363 0 5269.511 14.512595 + 1500 16738.445 -0.00057484239 0 5269.51 14.512591 + 1550 16738.451 0 0 5269.5123 14.512615 + 1600 16738.452 0 0 5269.5127 14.512618 + 1650 16738.443 0 0 5269.5099 14.512596 + 1700 16738.433 0 0 5269.5068 14.512572 + 1750 16738.438 0 0 5269.5084 14.512584 + 1800 16738.459 0 0 5269.5149 14.512635 + 1850 16738.473 0 0 5269.5193 14.51267 + 1900 16738.462 0 0 5269.5159 14.512644 + 1950 16738.446 -0.0032069962 0 5269.5076 14.512539 + 2000 16738.463 -0.013425408 0 5269.5027 14.512382 + 2050 16738.535 -0.036964311 0 5269.5017 14.512152 + 2100 16738.621 -0.063490509 0 5269.5023 14.512108 + 2150 16738.594 -0.056143934 0 5269.5012 14.512117 + 2200 16738.536 -0.038486645 0 5269.5007 14.512277 + 2250 16738.496 -0.023712406 0 5269.503 14.51242 + 2300 16738.488 -0.013209094 0 5269.5109 14.51255 + 2350 16738.486 -0.0045244524 0 5269.519 14.512693 + 2400 16738.475 -0.00051678325 0 5269.5194 14.512743 + 2450 16738.456 -0.0023209272 0 5269.5115 14.512659 + 2500 16738.442 -0.0052101787 0 5269.5042 14.512594 + 2550 16738.552 -0.04420046 0 5269.4998 14.512177 + 2600 16738.42 -0.004347531 0 5269.4982 14.512783 + 2650 16734.241 1.3131302 0 5269.5 14.577195 + 2700 16738.737 -0.10612056 0 5269.4961 14.503874 + 2750 16732.705 1.7939719 0 5269.4974 14.629294 + 2800 16738.558 -0.042867033 0 5269.5032 14.519893 + 2850 16738.499 -0.01271227 0 5269.5146 14.518524 + 2900 16738.486 -0.0032778045 0 5269.52 14.518712 + 2950 16738.482 -0.0089544631 0 5269.5133 14.518629 + 3000 16738.647 -0.070862542 0 5269.5031 14.51803 + 3050 16678.313 18.829038 0 5269.409 15.533426 + 3100 16632.312 33.399217 0 5269.4975 14.588597 + 3150 16739.318 -0.31388148 0 5269.4715 13.520782 + 3200 16727.951 3.26736 0 5269.4741 12.288358 + 3250 16686.364 16.353793 0 5269.4682 14.152517 + 3300 16738.532 -0.031574462 0 5269.5064 13.310615 + 3350 16738.454 -0.0062292918 0 5269.5071 13.308187 + 3400 16738.445 -0.0049349125 0 5269.5055 13.308178 + 3450 16738.489 -0.021623738 0 5269.5026 13.308001 + 3500 16737.78 0.19719043 0 5269.4983 13.325999 + 3550 16658.578 25.116206 0 5269.4834 13.778249 + 3600 16738.51 -0.032864725 0 5269.4981 12.392389 + 3650 16738.899 -0.15952703 0 5269.4938 12.383503 + 3700 16738.879 -0.16025994 0 5269.487 12.382575 + 3750 16738.878 -0.16608251 0 5269.4806 12.382765 + 3800 16738.591 -0.078679341 0 5269.4776 12.383227 + 3850 16738.429 -0.024729409 0 5269.4807 12.382942 + 3900 16738.399 -0.0062729967 0 5269.4897 12.383192 + 3950 16738.428 -0.002521266 0 5269.5027 12.383324 + 4000 16738.467 -0.0002068506 0 5269.5173 12.383474 + 4050 16738.488 0 0 5269.5241 12.383531 + 4100 16738.468 0 0 5269.5178 12.383482 + 4150 16738.422 0 0 5269.5033 12.383369 + 4200 16738.387 0 0 5269.4921 12.383281 + 4250 16738.383 0 0 5269.4908 12.38327 + 4300 16738.4 0 0 5269.4964 12.383314 + 4350 16738.423 0 0 5269.5036 12.38337 + 4400 16738.441 0 0 5269.5092 12.383414 + 4450 16738.45 0 0 5269.5121 12.383437 + 4500 16738.45 0 0 5269.5122 12.383438 + 4550 16738.442 0 0 5269.5095 12.383417 + 4600 16738.425 0 0 5269.5042 12.383376 + 4650 16738.404 -0.0014438316 0 5269.4961 12.383299 + 4700 16738.444 -0.024020551 0 5269.4862 12.382975 + 4750 16738.49 -0.048521428 0 5269.4761 12.385777 + 4800 16735.057 1.0347217 0 5269.4786 12.43543 + 4850 16735.441 0.92650925 0 5269.4913 12.418653 + 4900 16723.839 4.5908973 0 5269.5033 13.410103 + 4950 16738.531 -0.02153767 0 5269.5159 13.089982 + 5000 16738.45 -0.0042589696 0 5269.5077 13.090062 + 5050 16738.409 -0.00024692476 0 5269.4987 13.090038 + 5100 16738.404 0 0 5269.4976 13.090032 + 5150 16738.421 0 0 5269.5029 13.090073 + 5200 16738.44 0 0 5269.5087 13.090119 + 5250 16738.448 -0.001279392 0 5269.5102 13.090114 + 5300 16738.456 -0.0064376392 0 5269.5075 13.090026 + 5350 16738.479 -0.020383842 0 5269.5007 13.089897 + 5400 16735.845 0.79889474 0 5269.4909 13.136244 + 5450 16735.558 0.87619992 0 5269.4778 12.324482 + 5500 16711.494 8.4724208 0 5269.4984 12.656579 + 5550 16454.525 89.074816 0 5269.2031 16.996503 + 5600 16713.084 7.9801334 0 5269.5065 13.774977 + 5650 16738.676 -0.079987764 0 5269.5033 13.168295 + 5700 16446.281 91.866085 0 5269.399 23.764662 + 5750 16738.549 -0.039869084 0 5269.5034 13.378121 + 5800 16738.487 -0.014994475 0 5269.5086 13.378397 + 5850 16738.466 -0.0051267556 0 5269.512 13.378559 + 5900 16738.462 -0.0043690097 0 5269.5113 13.378572 + 5950 16738.528 -0.03272741 0 5269.5039 13.378195 + 6000 16702.774 10.969434 0 5269.2502 13.788851 + 6050 16682.271 17.483158 0 5269.3092 13.3531 + 6100 16738.508 -0.028838239 0 5269.5016 12.521082 + 6150 16738.425 -0.0067595542 0 5269.4974 12.521221 + 6200 16738.401 -0.0011499896 0 5269.4955 12.521252 + 6250 16738.455 0 0 5269.5135 12.521408 + 6300 16738.523 0 0 5269.5352 12.521578 + 6350 16738.503 0 0 5269.5287 12.52153 + 6400 16738.427 0 0 5269.5047 12.521342 + 6450 16738.399 0 0 5269.496 12.521273 + 6500 16738.425 0 0 5269.5042 12.521336 + 6550 16738.441 0 0 5269.5093 12.521377 + 6600 16738.42 0 0 5269.5025 12.521324 + 6650 16738.398 0 0 5269.4957 12.52127 + 6700 16738.435 0 0 5269.5074 12.52136 + 6750 16738.505 0 0 5269.5293 12.521532 + 6800 16738.508 0 0 5269.5303 12.521541 + 6850 16738.446 0 0 5269.5108 12.521389 + 6900 16738.414 0 0 5269.5009 12.521311 + 6950 16738.432 0 0 5269.5063 12.521353 + 7000 16738.444 0 0 5269.5102 12.521383 + 7050 16738.421 0 0 5269.5029 12.521327 + 7100 16738.393 0 0 5269.4941 12.521258 + 7150 16738.419 0 0 5269.5022 12.52132 + 7200 16738.489 0 0 5269.5244 12.521494 + 7250 16738.505 0 0 5269.5293 12.521533 + 7300 16738.443 0 0 5269.5098 12.521381 + 7350 16738.404 0 0 5269.4976 12.521285 + 7400 16738.43 0 0 5269.5058 12.521348 + 7450 16738.461 0 0 5269.5156 12.521425 + 7500 16738.447 0 0 5269.5109 12.52139 + 7550 16738.407 0 0 5269.4986 12.521293 + 7600 16738.412 0 0 5269.5002 12.521305 + 7650 16738.478 0 0 5269.5208 12.521465 + 7700 16738.51 0 0 5269.5309 12.521546 + 7750 16738.454 0 0 5269.5135 12.52141 + 7800 16738.398 0 0 5269.4958 12.521272 + 7850 16738.407 -0.00021180981 0 5269.4982 12.521288 + 7900 16738.441 -0.0002167964 0 5269.509 12.521371 + 7950 16738.446 -0.00023848065 0 5269.5107 12.521385 + 8000 16738.423 0 0 5269.5035 12.521331 + 8050 16738.423 0 0 5269.5034 12.52133 + 8100 16738.478 -0.00069623408 0 5269.52 12.521452 + 8150 16738.523 -0.0040058355 0 5269.531 12.521499 + 8200 16738.486 -0.0092298325 0 5269.5142 12.521332 + 8250 16738.458 -0.023189665 0 5269.4914 12.521012 + 8300 16738.513 -0.045846242 0 5269.4861 12.520778 + 8350 16723.742 4.5698786 0 5269.4516 12.849386 + 8400 16738.466 -0.02016972 0 5269.497 12.835784 + 8450 16738.437 -0.012822703 0 5269.4952 12.829948 + 8500 16738.408 -0.0016836132 0 5269.4972 12.830073 + 8550 16738.464 -0.00097380297 0 5269.5155 12.830227 + 8600 16738.669 -0.050578946 0 5269.5304 12.829946 + 8650 15917.707 250.24016 0 5261.3702 24.544744 + 8700 16738.445 0.0010615265 0 5269.5117 10.589987 + 8750 16738.473 -0.010158834 0 5269.509 10.588904 + 8800 16738.468 0 0 5269.5176 10.589124 + 8850 16738.508 0 0 5269.5304 10.589223 + 8900 16738.509 0 0 5269.5306 10.589226 + 8950 16738.496 0 0 5269.5266 10.589195 + 9000 16738.477 0 0 5269.5204 10.589147 + 9050 16738.455 0 0 5269.5135 10.589092 + 9100 16738.477 0 0 5269.5206 10.589146 + 9150 16738.512 0 0 5269.5316 10.589233 + 9200 16738.502 0 0 5269.5285 10.58921 + 9250 16738.493 0 0 5269.5255 10.589186 + 9300 16738.482 0 0 5269.522 10.589159 + 9350 16738.46 0 0 5269.5151 10.589105 + 9400 16738.481 0 0 5269.5217 10.589155 + 9450 16738.509 0 0 5269.5307 10.589226 + 9500 16738.491 0 0 5269.5248 10.589181 + 9550 16738.484 0 0 5269.5227 10.589164 + 9600 16738.483 0 0 5269.5223 10.589161 + 9650 16738.464 0 0 5269.5166 10.589116 + 9700 16738.484 0 0 5269.5228 10.589164 + 9750 16738.507 0 0 5269.5301 10.589221 + 9800 16738.482 0 0 5269.5221 10.589159 + 9850 16738.478 0 0 5269.5208 10.589149 + 9900 16738.487 -0.00030979591 0 5269.5233 10.589165 + 9950 16738.476 -0.0009596827 0 5269.5193 10.589123 + 10000 16738.494 -0.0006271698 0 5269.5253 10.589175 +Loop time of 0.213152 on 4 procs for 10000 steps with 81 atoms + +Performance: 405345.239 tau/day, 46914.958 timesteps/s +91.7% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0029514 | 0.0038354 | 0.005348 | 1.5 | 1.80 +Neigh | 0.01178 | 0.013139 | 0.0167 | 1.8 | 6.16 +Comm | 0.073879 | 0.078553 | 0.081131 | 1.0 | 36.85 +Output | 0.0031943 | 0.0037987 | 0.0055451 | 1.6 | 1.78 +Modify | 0.10553 | 0.10763 | 0.1096 | 0.4 | 50.49 +Other | | 0.0062 | | | 2.91 + +Nlocal: 20.25 ave 34 max 9 min +Histogram: 2 0 0 0 0 0 0 1 0 1 +Nghost: 38.5 ave 43 max 26 min +Histogram: 1 0 0 0 0 0 0 0 0 3 +Neighs: 0.75 ave 2 max 0 min +Histogram: 2 0 0 0 0 1 0 0 0 1 + +Total # of neighbors = 3 +Ave neighs/atom = 0.037037 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.nve.g++.1 b/examples/rigid/log.27Nov18.rigid.nve.g++.1 new file mode 100644 index 0000000000..c3805dc42e --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.nve.g++.1 @@ -0,0 +1,335 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Neighbor list info ... + update every 1 steps, delay 10 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 = 18 18 18 + 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/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.979 | 3.979 | 3.979 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.69 571.70921 0 5265.8153 32.005816 + 100 16298.128 136.75661 0 5267.6488 16.449029 + 150 16682.532 17.504156 0 5269.4124 14.901186 + 200 16733.906 1.3755079 0 5269.4571 14.571305 + 250 16738.861 -0.15272039 0 5269.4886 14.498342 + 300 16738.608 -0.055216883 0 5269.5066 14.498 + 350 16738.5 -0.017457072 0 5269.5104 14.498392 + 400 16738.451 -0.0060161309 0 5269.5063 14.49851 + 450 16738.435 -0.001271965 0 5269.5059 14.498571 + 500 16738.443 -0.00081074175 0 5269.509 14.498598 + 550 16738.452 -0.00083208965 0 5269.5118 14.498618 + 600 16738.45 -0.00058358431 0 5269.5116 14.498617 + 650 16738.443 -0.00047228525 0 5269.5093 14.4986 + 700 16738.444 0 0 5269.5102 14.498612 + 750 16738.461 0 0 5269.5157 14.498654 + 800 16738.479 0 0 5269.521 14.498697 + 850 16738.473 0 0 5269.5192 14.498683 + 900 16738.449 0 0 5269.5116 14.498624 + 950 16738.438 -0.0035324203 0 5269.5046 14.498537 + 1000 16738.562 -0.051134242 0 5269.4963 14.498093 + 1050 16737.343 0.32970192 0 5269.4934 14.527634 + 1100 16737.878 0.16213235 0 5269.4941 14.533864 + 1150 16738.682 -0.089236256 0 5269.4959 14.511765 + 1200 16738.444 -0.0075446558 0 5269.5025 14.512479 + 1250 16738.45 0 0 5269.5119 14.512611 + 1300 16738.475 0 0 5269.5199 14.512673 + 1350 16738.484 0 0 5269.5228 14.512696 + 1400 16738.469 -0.00044683992 0 5269.5175 14.512651 + 1450 16738.45 -0.0010933363 0 5269.511 14.512595 + 1500 16738.445 -0.00057484239 0 5269.51 14.512591 + 1550 16738.451 0 0 5269.5123 14.512615 + 1600 16738.452 0 0 5269.5127 14.512618 + 1650 16738.443 0 0 5269.5099 14.512596 + 1700 16738.433 0 0 5269.5068 14.512572 + 1750 16738.438 0 0 5269.5084 14.512584 + 1800 16738.459 0 0 5269.5149 14.512635 + 1850 16738.473 0 0 5269.5193 14.51267 + 1900 16738.462 0 0 5269.5159 14.512644 + 1950 16738.446 -0.0032069962 0 5269.5076 14.512539 + 2000 16738.463 -0.013425408 0 5269.5027 14.512382 + 2050 16738.535 -0.036964311 0 5269.5017 14.512152 + 2100 16738.621 -0.063490509 0 5269.5023 14.512108 + 2150 16738.594 -0.056143934 0 5269.5012 14.512117 + 2200 16738.536 -0.038486645 0 5269.5007 14.512277 + 2250 16738.496 -0.023712406 0 5269.503 14.51242 + 2300 16738.488 -0.013209094 0 5269.5109 14.51255 + 2350 16738.486 -0.0045244524 0 5269.519 14.512693 + 2400 16738.475 -0.00051678325 0 5269.5194 14.512743 + 2450 16738.456 -0.0023209272 0 5269.5115 14.512659 + 2500 16738.442 -0.0052101787 0 5269.5042 14.512594 + 2550 16738.552 -0.04420046 0 5269.4998 14.512177 + 2600 16738.42 -0.004347531 0 5269.4982 14.512783 + 2650 16734.241 1.3131302 0 5269.5 14.577195 + 2700 16738.737 -0.10612056 0 5269.4961 14.503874 + 2750 16732.705 1.7939719 0 5269.4974 14.629294 + 2800 16738.558 -0.042867033 0 5269.5032 14.519893 + 2850 16738.499 -0.01271227 0 5269.5146 14.518524 + 2900 16738.486 -0.0032778045 0 5269.52 14.518712 + 2950 16738.482 -0.0089544631 0 5269.5133 14.518629 + 3000 16738.647 -0.070862542 0 5269.5031 14.51803 + 3050 16678.313 18.829038 0 5269.409 15.533426 + 3100 16632.312 33.399217 0 5269.4975 14.588597 + 3150 16739.318 -0.31388148 0 5269.4715 13.520782 + 3200 16727.951 3.26736 0 5269.4741 12.288358 + 3250 16686.364 16.353793 0 5269.4682 14.152517 + 3300 16738.532 -0.031574462 0 5269.5064 13.310615 + 3350 16738.454 -0.0062292918 0 5269.5071 13.308187 + 3400 16738.445 -0.0049349125 0 5269.5055 13.308178 + 3450 16738.489 -0.021623738 0 5269.5026 13.308001 + 3500 16737.78 0.19719043 0 5269.4983 13.325999 + 3550 16658.578 25.116206 0 5269.4834 13.778249 + 3600 16738.51 -0.032864725 0 5269.4981 12.392389 + 3650 16738.899 -0.15952703 0 5269.4938 12.383503 + 3700 16738.879 -0.16025994 0 5269.487 12.382575 + 3750 16738.878 -0.16608251 0 5269.4806 12.382765 + 3800 16738.591 -0.078679341 0 5269.4776 12.383227 + 3850 16738.429 -0.024729409 0 5269.4807 12.382942 + 3900 16738.399 -0.0062729967 0 5269.4897 12.383192 + 3950 16738.428 -0.002521266 0 5269.5027 12.383324 + 4000 16738.467 -0.0002068506 0 5269.5173 12.383474 + 4050 16738.488 0 0 5269.5241 12.383531 + 4100 16738.468 0 0 5269.5178 12.383482 + 4150 16738.422 0 0 5269.5033 12.383369 + 4200 16738.387 0 0 5269.4921 12.383281 + 4250 16738.383 0 0 5269.4908 12.38327 + 4300 16738.4 0 0 5269.4964 12.383314 + 4350 16738.423 0 0 5269.5036 12.38337 + 4400 16738.441 0 0 5269.5092 12.383414 + 4450 16738.45 0 0 5269.5121 12.383437 + 4500 16738.45 0 0 5269.5122 12.383438 + 4550 16738.442 0 0 5269.5095 12.383417 + 4600 16738.425 0 0 5269.5042 12.383376 + 4650 16738.404 -0.0014438316 0 5269.4961 12.383299 + 4700 16738.444 -0.024020551 0 5269.4862 12.382975 + 4750 16738.49 -0.04852143 0 5269.4761 12.385777 + 4800 16735.057 1.0347216 0 5269.4786 12.43543 + 4850 16735.441 0.92650925 0 5269.4913 12.418653 + 4900 16723.839 4.5908974 0 5269.5033 13.410103 + 4950 16738.531 -0.02153767 0 5269.5159 13.089982 + 5000 16738.45 -0.0042589697 0 5269.5077 13.090062 + 5050 16738.409 -0.00024692476 0 5269.4987 13.090038 + 5100 16738.404 0 0 5269.4976 13.090032 + 5150 16738.421 0 0 5269.5029 13.090073 + 5200 16738.44 0 0 5269.5087 13.090119 + 5250 16738.448 -0.001279392 0 5269.5102 13.090114 + 5300 16738.456 -0.0064376391 0 5269.5075 13.090026 + 5350 16738.479 -0.020383841 0 5269.5007 13.089897 + 5400 16735.845 0.7988947 0 5269.4909 13.136244 + 5450 16735.558 0.87620022 0 5269.4778 12.324482 + 5500 16711.494 8.4724178 0 5269.4984 12.656579 + 5550 16454.525 89.074815 0 5269.2031 16.996503 + 5600 16713.084 7.9801418 0 5269.5065 13.774979 + 5650 16738.676 -0.079987748 0 5269.5033 13.168297 + 5700 16446.281 91.866085 0 5269.399 23.764663 + 5750 16738.549 -0.039869084 0 5269.5034 13.378122 + 5800 16738.487 -0.014994478 0 5269.5086 13.378399 + 5850 16738.466 -0.0051267616 0 5269.512 13.37856 + 5900 16738.462 -0.0043690142 0 5269.5113 13.378573 + 5950 16738.528 -0.032727415 0 5269.5039 13.378197 + 6000 16702.774 10.969438 0 5269.2502 13.788852 + 6050 16682.271 17.483137 0 5269.3092 13.353101 + 6100 16738.508 -0.028838222 0 5269.5016 12.521084 + 6150 16738.425 -0.0067595536 0 5269.4974 12.521223 + 6200 16738.401 -0.0011499893 0 5269.4955 12.521254 + 6250 16738.455 0 0 5269.5135 12.52141 + 6300 16738.523 0 0 5269.5352 12.52158 + 6350 16738.503 0 0 5269.5287 12.521531 + 6400 16738.427 0 0 5269.5047 12.521344 + 6450 16738.399 0 0 5269.496 12.521274 + 6500 16738.425 0 0 5269.5042 12.521337 + 6550 16738.441 0 0 5269.5093 12.521378 + 6600 16738.42 0 0 5269.5025 12.521326 + 6650 16738.398 0 0 5269.4957 12.521272 + 6700 16738.435 0 0 5269.5074 12.521362 + 6750 16738.505 0 0 5269.5293 12.521534 + 6800 16738.508 0 0 5269.5303 12.521543 + 6850 16738.446 0 0 5269.5108 12.521391 + 6900 16738.414 0 0 5269.5009 12.521312 + 6950 16738.432 0 0 5269.5063 12.521354 + 7000 16738.444 0 0 5269.5102 12.521385 + 7050 16738.421 0 0 5269.5029 12.521329 + 7100 16738.393 0 0 5269.4941 12.521259 + 7150 16738.419 0 0 5269.5022 12.521322 + 7200 16738.489 0 0 5269.5244 12.521495 + 7250 16738.505 0 0 5269.5293 12.521535 + 7300 16738.443 0 0 5269.5098 12.521383 + 7350 16738.404 0 0 5269.4976 12.521287 + 7400 16738.43 0 0 5269.5058 12.52135 + 7450 16738.461 0 0 5269.5156 12.521427 + 7500 16738.447 0 0 5269.5109 12.521392 + 7550 16738.407 0 0 5269.4986 12.521295 + 7600 16738.412 0 0 5269.5002 12.521306 + 7650 16738.478 0 0 5269.5208 12.521467 + 7700 16738.51 0 0 5269.5309 12.521547 + 7750 16738.454 0 0 5269.5135 12.521412 + 7800 16738.398 0 0 5269.4958 12.521273 + 7850 16738.407 -0.0002118108 0 5269.4982 12.521289 + 7900 16738.441 -0.00021679711 0 5269.509 12.521373 + 7950 16738.446 -0.00023848139 0 5269.5107 12.521386 + 8000 16738.423 0 0 5269.5035 12.521333 + 8050 16738.423 0 0 5269.5034 12.521332 + 8100 16738.478 -0.00069622994 0 5269.52 12.521454 + 8150 16738.523 -0.0040058408 0 5269.531 12.521501 + 8200 16738.486 -0.0092298229 0 5269.5142 12.521334 + 8250 16738.458 -0.023189671 0 5269.4914 12.521014 + 8300 16738.513 -0.045845677 0 5269.4861 12.520779 + 8350 16723.745 4.5690412 0 5269.4516 12.849325 + 8400 16738.466 -0.020158442 0 5269.497 12.835773 + 8450 16738.437 -0.012822892 0 5269.4952 12.829936 + 8500 16738.408 -0.0016837088 0 5269.4972 12.830061 + 8550 16738.464 -0.00097379467 0 5269.5155 12.830216 + 8600 16738.669 -0.050578079 0 5269.5304 12.829934 + 8650 15917.563 250.28318 0 5261.3678 24.54572 + 8700 16738.445 0.0012168759 0 5269.5117 10.589499 + 8750 16738.473 -0.010164589 0 5269.509 10.588414 + 8800 16738.468 0 0 5269.5177 10.588633 + 8850 16738.508 0 0 5269.5304 10.588733 + 8900 16738.509 0 0 5269.5307 10.588736 + 8950 16738.496 0 0 5269.5266 10.588705 + 9000 16738.477 0 0 5269.5204 10.588656 + 9050 16738.455 0 0 5269.5135 10.588602 + 9100 16738.477 0 0 5269.5206 10.588656 + 9150 16738.512 0 0 5269.5316 10.588743 + 9200 16738.502 0 0 5269.5285 10.58872 + 9250 16738.493 0 0 5269.5255 10.588696 + 9300 16738.482 0 0 5269.522 10.588669 + 9350 16738.46 0 0 5269.5151 10.588615 + 9400 16738.481 0 0 5269.5217 10.588665 + 9450 16738.509 0 0 5269.5307 10.588736 + 9500 16738.491 0 0 5269.5248 10.58869 + 9550 16738.484 0 0 5269.5227 10.588674 + 9600 16738.483 0 0 5269.5223 10.588671 + 9650 16738.464 0 0 5269.5166 10.588626 + 9700 16738.484 0 0 5269.5229 10.588674 + 9750 16738.507 0 0 5269.5301 10.588731 + 9800 16738.482 0 0 5269.5221 10.588669 + 9850 16738.478 0 0 5269.5208 10.588659 + 9900 16738.487 -0.00030979474 0 5269.5233 10.588675 + 9950 16738.476 -0.00095968581 0 5269.5193 10.588632 + 10000 16738.494 -0.00062717822 0 5269.5253 10.588684 +Loop time of 0.171181 on 1 procs for 10000 steps with 81 atoms + +Performance: 504728.317 tau/day, 58417.629 timesteps/s +97.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.011004 | 0.011004 | 0.011004 | 0.0 | 6.43 +Neigh | 0.041984 | 0.041984 | 0.041984 | 0.0 | 24.53 +Comm | 0.012262 | 0.012262 | 0.012262 | 0.0 | 7.16 +Output | 0.0017002 | 0.0017002 | 0.0017002 | 0.0 | 0.99 +Modify | 0.098894 | 0.098894 | 0.098894 | 0.0 | 57.77 +Other | | 0.005337 | | | 3.12 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 49 ave 49 max 49 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 3 ave 3 max 3 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 3 +Ave neighs/atom = 0.037037 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.nve.g++.4 b/examples/rigid/log.27Nov18.rigid.nve.g++.4 new file mode 100644 index 0000000000..bc79d9730f --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.nve.g++.4 @@ -0,0 +1,335 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic + +pair_style lj/cut 2.5 + +read_data data.rigid + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + +velocity all create 100.0 4928459 + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +fix 1 all rigid/nve group 9 clump1 clump2 clump3 clump4 clump5 clump6 clump7 clump8 clump9 +9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Neighbor list info ... + update every 1 steps, delay 10 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 = 18 18 18 + 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/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.95 | 4.044 | 4.326 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.69 571.70921 0 5265.8153 32.005816 + 100 16298.128 136.75661 0 5267.6488 16.449029 + 150 16682.532 17.504156 0 5269.4124 14.901186 + 200 16733.906 1.3755079 0 5269.4571 14.571305 + 250 16738.861 -0.15272039 0 5269.4886 14.498342 + 300 16738.608 -0.055216883 0 5269.5066 14.498 + 350 16738.5 -0.017457072 0 5269.5104 14.498392 + 400 16738.451 -0.0060161309 0 5269.5063 14.49851 + 450 16738.435 -0.001271965 0 5269.5059 14.498571 + 500 16738.443 -0.00081074175 0 5269.509 14.498598 + 550 16738.452 -0.00083208965 0 5269.5118 14.498618 + 600 16738.45 -0.00058358431 0 5269.5116 14.498617 + 650 16738.443 -0.00047228525 0 5269.5093 14.4986 + 700 16738.444 0 0 5269.5102 14.498612 + 750 16738.461 0 0 5269.5157 14.498654 + 800 16738.479 0 0 5269.521 14.498697 + 850 16738.473 0 0 5269.5192 14.498683 + 900 16738.449 0 0 5269.5116 14.498624 + 950 16738.438 -0.0035324203 0 5269.5046 14.498537 + 1000 16738.562 -0.051134242 0 5269.4963 14.498093 + 1050 16737.343 0.32970192 0 5269.4934 14.527634 + 1100 16737.878 0.16213235 0 5269.4941 14.533864 + 1150 16738.682 -0.089236256 0 5269.4959 14.511765 + 1200 16738.444 -0.0075446558 0 5269.5025 14.512479 + 1250 16738.45 0 0 5269.5119 14.512611 + 1300 16738.475 0 0 5269.5199 14.512673 + 1350 16738.484 0 0 5269.5228 14.512696 + 1400 16738.469 -0.00044683992 0 5269.5175 14.512651 + 1450 16738.45 -0.0010933363 0 5269.511 14.512595 + 1500 16738.445 -0.00057484239 0 5269.51 14.512591 + 1550 16738.451 0 0 5269.5123 14.512615 + 1600 16738.452 0 0 5269.5127 14.512618 + 1650 16738.443 0 0 5269.5099 14.512596 + 1700 16738.433 0 0 5269.5068 14.512572 + 1750 16738.438 0 0 5269.5084 14.512584 + 1800 16738.459 0 0 5269.5149 14.512635 + 1850 16738.473 0 0 5269.5193 14.51267 + 1900 16738.462 0 0 5269.5159 14.512644 + 1950 16738.446 -0.0032069962 0 5269.5076 14.512539 + 2000 16738.463 -0.013425408 0 5269.5027 14.512382 + 2050 16738.535 -0.036964311 0 5269.5017 14.512152 + 2100 16738.621 -0.063490509 0 5269.5023 14.512108 + 2150 16738.594 -0.056143934 0 5269.5012 14.512117 + 2200 16738.536 -0.038486645 0 5269.5007 14.512277 + 2250 16738.496 -0.023712406 0 5269.503 14.51242 + 2300 16738.488 -0.013209094 0 5269.5109 14.51255 + 2350 16738.486 -0.0045244524 0 5269.519 14.512693 + 2400 16738.475 -0.00051678325 0 5269.5194 14.512743 + 2450 16738.456 -0.0023209272 0 5269.5115 14.512659 + 2500 16738.442 -0.0052101787 0 5269.5042 14.512594 + 2550 16738.552 -0.04420046 0 5269.4998 14.512177 + 2600 16738.42 -0.004347531 0 5269.4982 14.512783 + 2650 16734.241 1.3131302 0 5269.5 14.577195 + 2700 16738.737 -0.10612056 0 5269.4961 14.503874 + 2750 16732.705 1.7939719 0 5269.4974 14.629294 + 2800 16738.558 -0.042867033 0 5269.5032 14.519893 + 2850 16738.499 -0.01271227 0 5269.5146 14.518524 + 2900 16738.486 -0.0032778045 0 5269.52 14.518712 + 2950 16738.482 -0.0089544631 0 5269.5133 14.518629 + 3000 16738.647 -0.070862542 0 5269.5031 14.51803 + 3050 16678.313 18.829038 0 5269.409 15.533426 + 3100 16632.312 33.399217 0 5269.4975 14.588597 + 3150 16739.318 -0.31388148 0 5269.4715 13.520782 + 3200 16727.951 3.26736 0 5269.4741 12.288358 + 3250 16686.364 16.353793 0 5269.4682 14.152517 + 3300 16738.532 -0.031574462 0 5269.5064 13.310615 + 3350 16738.454 -0.0062292918 0 5269.5071 13.308187 + 3400 16738.445 -0.0049349125 0 5269.5055 13.308178 + 3450 16738.489 -0.021623738 0 5269.5026 13.308001 + 3500 16737.78 0.19719043 0 5269.4983 13.325999 + 3550 16658.578 25.116206 0 5269.4834 13.778249 + 3600 16738.51 -0.032864725 0 5269.4981 12.392389 + 3650 16738.899 -0.15952703 0 5269.4938 12.383503 + 3700 16738.879 -0.16025994 0 5269.487 12.382575 + 3750 16738.878 -0.16608251 0 5269.4806 12.382765 + 3800 16738.591 -0.078679341 0 5269.4776 12.383227 + 3850 16738.429 -0.024729409 0 5269.4807 12.382942 + 3900 16738.399 -0.0062729967 0 5269.4897 12.383192 + 3950 16738.428 -0.002521266 0 5269.5027 12.383324 + 4000 16738.467 -0.0002068506 0 5269.5173 12.383474 + 4050 16738.488 0 0 5269.5241 12.383531 + 4100 16738.468 0 0 5269.5178 12.383482 + 4150 16738.422 0 0 5269.5033 12.383369 + 4200 16738.387 0 0 5269.4921 12.383281 + 4250 16738.383 0 0 5269.4908 12.38327 + 4300 16738.4 0 0 5269.4964 12.383314 + 4350 16738.423 0 0 5269.5036 12.38337 + 4400 16738.441 0 0 5269.5092 12.383414 + 4450 16738.45 0 0 5269.5121 12.383437 + 4500 16738.45 0 0 5269.5122 12.383438 + 4550 16738.442 0 0 5269.5095 12.383417 + 4600 16738.425 0 0 5269.5042 12.383376 + 4650 16738.404 -0.0014438316 0 5269.4961 12.383299 + 4700 16738.444 -0.024020551 0 5269.4862 12.382975 + 4750 16738.49 -0.048521428 0 5269.4761 12.385777 + 4800 16735.057 1.0347217 0 5269.4786 12.43543 + 4850 16735.441 0.92650925 0 5269.4913 12.418653 + 4900 16723.839 4.5908973 0 5269.5033 13.410103 + 4950 16738.531 -0.02153767 0 5269.5159 13.089982 + 5000 16738.45 -0.0042589696 0 5269.5077 13.090062 + 5050 16738.409 -0.00024692476 0 5269.4987 13.090038 + 5100 16738.404 0 0 5269.4976 13.090032 + 5150 16738.421 0 0 5269.5029 13.090073 + 5200 16738.44 0 0 5269.5087 13.090119 + 5250 16738.448 -0.001279392 0 5269.5102 13.090114 + 5300 16738.456 -0.0064376392 0 5269.5075 13.090026 + 5350 16738.479 -0.020383842 0 5269.5007 13.089897 + 5400 16735.845 0.79889474 0 5269.4909 13.136244 + 5450 16735.558 0.87619992 0 5269.4778 12.324482 + 5500 16711.494 8.4724208 0 5269.4984 12.656579 + 5550 16454.525 89.074816 0 5269.2031 16.996503 + 5600 16713.084 7.9801334 0 5269.5065 13.774977 + 5650 16738.676 -0.079987764 0 5269.5033 13.168295 + 5700 16446.281 91.866085 0 5269.399 23.764662 + 5750 16738.549 -0.039869084 0 5269.5034 13.378121 + 5800 16738.487 -0.014994475 0 5269.5086 13.378397 + 5850 16738.466 -0.0051267556 0 5269.512 13.378559 + 5900 16738.462 -0.0043690097 0 5269.5113 13.378572 + 5950 16738.528 -0.03272741 0 5269.5039 13.378195 + 6000 16702.774 10.969434 0 5269.2502 13.788851 + 6050 16682.271 17.483158 0 5269.3092 13.3531 + 6100 16738.508 -0.028838239 0 5269.5016 12.521082 + 6150 16738.425 -0.0067595542 0 5269.4974 12.521221 + 6200 16738.401 -0.0011499896 0 5269.4955 12.521252 + 6250 16738.455 0 0 5269.5135 12.521408 + 6300 16738.523 0 0 5269.5352 12.521578 + 6350 16738.503 0 0 5269.5287 12.52153 + 6400 16738.427 0 0 5269.5047 12.521342 + 6450 16738.399 0 0 5269.496 12.521273 + 6500 16738.425 0 0 5269.5042 12.521336 + 6550 16738.441 0 0 5269.5093 12.521377 + 6600 16738.42 0 0 5269.5025 12.521324 + 6650 16738.398 0 0 5269.4957 12.52127 + 6700 16738.435 0 0 5269.5074 12.52136 + 6750 16738.505 0 0 5269.5293 12.521532 + 6800 16738.508 0 0 5269.5303 12.521541 + 6850 16738.446 0 0 5269.5108 12.521389 + 6900 16738.414 0 0 5269.5009 12.521311 + 6950 16738.432 0 0 5269.5063 12.521353 + 7000 16738.444 0 0 5269.5102 12.521383 + 7050 16738.421 0 0 5269.5029 12.521327 + 7100 16738.393 0 0 5269.4941 12.521258 + 7150 16738.419 0 0 5269.5022 12.52132 + 7200 16738.489 0 0 5269.5244 12.521494 + 7250 16738.505 0 0 5269.5293 12.521533 + 7300 16738.443 0 0 5269.5098 12.521381 + 7350 16738.404 0 0 5269.4976 12.521285 + 7400 16738.43 0 0 5269.5058 12.521348 + 7450 16738.461 0 0 5269.5156 12.521425 + 7500 16738.447 0 0 5269.5109 12.52139 + 7550 16738.407 0 0 5269.4986 12.521293 + 7600 16738.412 0 0 5269.5002 12.521305 + 7650 16738.478 0 0 5269.5208 12.521465 + 7700 16738.51 0 0 5269.5309 12.521546 + 7750 16738.454 0 0 5269.5135 12.52141 + 7800 16738.398 0 0 5269.4958 12.521272 + 7850 16738.407 -0.00021180981 0 5269.4982 12.521288 + 7900 16738.441 -0.0002167964 0 5269.509 12.521371 + 7950 16738.446 -0.00023848065 0 5269.5107 12.521385 + 8000 16738.423 0 0 5269.5035 12.521331 + 8050 16738.423 0 0 5269.5034 12.52133 + 8100 16738.478 -0.00069623408 0 5269.52 12.521452 + 8150 16738.523 -0.0040058355 0 5269.531 12.521499 + 8200 16738.486 -0.0092298325 0 5269.5142 12.521332 + 8250 16738.458 -0.023189665 0 5269.4914 12.521012 + 8300 16738.513 -0.045846242 0 5269.4861 12.520778 + 8350 16723.742 4.5698786 0 5269.4516 12.849386 + 8400 16738.466 -0.02016972 0 5269.497 12.835784 + 8450 16738.437 -0.012822703 0 5269.4952 12.829948 + 8500 16738.408 -0.0016836132 0 5269.4972 12.830073 + 8550 16738.464 -0.00097380297 0 5269.5155 12.830227 + 8600 16738.669 -0.050578946 0 5269.5304 12.829946 + 8650 15917.707 250.24016 0 5261.3702 24.544744 + 8700 16738.445 0.0010615265 0 5269.5117 10.589987 + 8750 16738.473 -0.010158834 0 5269.509 10.588904 + 8800 16738.468 0 0 5269.5176 10.589124 + 8850 16738.508 0 0 5269.5304 10.589223 + 8900 16738.509 0 0 5269.5306 10.589226 + 8950 16738.496 0 0 5269.5266 10.589195 + 9000 16738.477 0 0 5269.5204 10.589147 + 9050 16738.455 0 0 5269.5135 10.589092 + 9100 16738.477 0 0 5269.5206 10.589146 + 9150 16738.512 0 0 5269.5316 10.589233 + 9200 16738.502 0 0 5269.5285 10.58921 + 9250 16738.493 0 0 5269.5255 10.589186 + 9300 16738.482 0 0 5269.522 10.589159 + 9350 16738.46 0 0 5269.5151 10.589105 + 9400 16738.481 0 0 5269.5217 10.589155 + 9450 16738.509 0 0 5269.5307 10.589226 + 9500 16738.491 0 0 5269.5248 10.589181 + 9550 16738.484 0 0 5269.5227 10.589164 + 9600 16738.483 0 0 5269.5223 10.589161 + 9650 16738.464 0 0 5269.5166 10.589116 + 9700 16738.484 0 0 5269.5228 10.589164 + 9750 16738.507 0 0 5269.5301 10.589221 + 9800 16738.482 0 0 5269.5221 10.589159 + 9850 16738.478 0 0 5269.5208 10.589149 + 9900 16738.487 -0.00030979591 0 5269.5233 10.589165 + 9950 16738.476 -0.0009596827 0 5269.5193 10.589123 + 10000 16738.494 -0.0006271698 0 5269.5253 10.589175 +Loop time of 0.212511 on 4 procs for 10000 steps with 81 atoms + +Performance: 406566.385 tau/day, 47056.295 timesteps/s +91.9% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0032909 | 0.0039915 | 0.0048544 | 0.9 | 1.88 +Neigh | 0.011434 | 0.01325 | 0.016991 | 1.9 | 6.24 +Comm | 0.076038 | 0.082493 | 0.088069 | 1.5 | 38.82 +Output | 0.0031183 | 0.0045295 | 0.0086036 | 3.5 | 2.13 +Modify | 0.099662 | 0.10206 | 0.10679 | 0.9 | 48.02 +Other | | 0.00619 | | | 2.91 + +Nlocal: 20.25 ave 34 max 9 min +Histogram: 2 0 0 0 0 0 0 1 0 1 +Nghost: 38.5 ave 43 max 26 min +Histogram: 1 0 0 0 0 0 0 0 0 3 +Neighs: 0.75 ave 2 max 0 min +Histogram: 2 0 0 0 0 1 0 0 0 1 + +Total # of neighbors = 3 +Ave neighs/atom = 0.037037 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.property.g++.1 b/examples/rigid/log.27Nov18.rigid.property.g++.1 new file mode 100644 index 0000000000..e6ab4ed102 --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.property.g++.1 @@ -0,0 +1,340 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic +atom_modify map array + +pair_style lj/cut 2.5 + +fix 0 all property/atom i_bodies + +read_data data.rigid-property fix 0 NULL Bodies + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 81 atoms + +velocity all create 100.0 4928459 + + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +# assemble bodies from per-atom custom integer property bodies +fix 1 all rigid custom i_bodies +9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Neighbor list info ... + update every 1 steps, delay 10 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 = 18 18 18 + 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/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.046 | 4.046 | 4.046 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.972284e-05 0 5269.5046 14.510657 + 2650 16733.017 1.7051479 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419352 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.8460621 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706558 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.0002211587 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690666 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646804 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532811 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652434 0 5269.5216 12.011692 + 9550 16738.493 -0.005315616 0 5269.5203 12.011611 + 9600 16738.549 -0.026814368 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589885 0 5269.4979 12.062708 + 9750 16738.013 0.13550123 0 5269.5101 11.407245 + 9800 16738.512 -0.011620328 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270523 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984554 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.156049 on 1 procs for 10000 steps with 81 atoms + +Performance: 553673.043 tau/day, 64082.528 timesteps/s +97.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.010187 | 0.010187 | 0.010187 | 0.0 | 6.53 +Neigh | 0.040601 | 0.040601 | 0.040601 | 0.0 | 26.02 +Comm | 0.013221 | 0.013221 | 0.013221 | 0.0 | 8.47 +Output | 0.0016611 | 0.0016611 | 0.0016611 | 0.0 | 1.06 +Modify | 0.085107 | 0.085107 | 0.085107 | 0.0 | 54.54 +Other | | 0.005271 | | | 3.38 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 84 ave 84 max 84 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 = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.property.g++.4 b/examples/rigid/log.27Nov18.rigid.property.g++.4 new file mode 100644 index 0000000000..f63e34bc4b --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.property.g++.4 @@ -0,0 +1,340 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Simple rigid body system + +units lj +atom_style atomic +atom_modify map array + +pair_style lj/cut 2.5 + +fix 0 all property/atom i_bodies + +read_data data.rigid-property fix 0 NULL Bodies + orthogonal box = (-12 -12 -12) to (12 12 12) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 81 atoms + +velocity all create 100.0 4928459 + + +# unconnected bodies + +group clump1 id <> 1 9 +9 atoms in group clump1 +group clump2 id <> 10 18 +9 atoms in group clump2 +group clump3 id <> 19 27 +9 atoms in group clump3 +group clump4 id <> 28 36 +9 atoms in group clump4 +group clump5 id <> 37 45 +9 atoms in group clump5 +group clump6 id <> 46 54 +9 atoms in group clump6 +group clump7 id <> 55 63 +9 atoms in group clump7 +group clump8 id <> 64 72 +9 atoms in group clump8 +group clump9 id <> 73 81 +9 atoms in group clump9 + +# assemble bodies from per-atom custom integer property bodies +fix 1 all rigid custom i_bodies +9 rigid bodies with 81 atoms + +# 1 chain of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 36 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 clump5 # clump6 clump7 clump8 clump9 + +# 2 chains of connected bodies + +#group clump1 id <> 1 9 +#group clump2 id <> 9 18 +#group clump3 id <> 18 27 +#group clump4 id <> 27 36 +#group clump5 id <> 37 45 +#group clump6 id <> 45 54 +#group clump7 id <> 54 63 +#group clump8 id <> 63 72 +#group clump9 id <> 72 81 + +#fix 1 all poems group clump1 clump2 clump3 clump4 +#fix 2 all poems group clump5 clump6 clump7 clump8 clump9 + +neigh_modify exclude group clump1 clump1 +neigh_modify exclude group clump2 clump2 +neigh_modify exclude group clump3 clump3 +neigh_modify exclude group clump4 clump4 +neigh_modify exclude group clump5 clump5 +neigh_modify exclude group clump6 clump6 +neigh_modify exclude group clump7 clump7 +neigh_modify exclude group clump8 clump8 +neigh_modify exclude group clump9 clump9 + +thermo 100 + +#dump 1 all atom 50 dump.rigid + +#dump 2 all image 100 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 5 + +#dump 3 all movie 100 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 5 + +timestep 0.0001 +thermo 50 +run 10000 +Neighbor list info ... + update every 1 steps, delay 10 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 = 18 18 18 + 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/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.017 | 4.111 | 4.392 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 115.29439 5235.9179 0 5272.2142 -2.7403788 + 50 14910.685 571.71558 0 5265.82 32.006171 + 100 16298.442 136.66184 0 5267.653 16.444229 + 150 16682.606 17.490511 0 5269.4219 14.900344 + 200 16733.929 1.372872 0 5269.4617 14.569267 + 250 16738.853 -0.15252816 0 5269.4864 14.496404 + 300 16738.588 -0.055171335 0 5269.5002 14.496025 + 350 16738.492 -0.017444677 0 5269.5077 14.496446 + 400 16738.464 -0.0060102023 0 5269.5104 14.496618 + 450 16738.455 -0.0012713351 0 5269.5124 14.496701 + 500 16738.455 -0.00081068621 0 5269.5128 14.496709 + 550 16738.455 -0.00083203497 0 5269.5129 14.496707 + 600 16738.455 -0.00058355356 0 5269.5131 14.496709 + 650 16738.455 -0.00047226704 0 5269.5131 14.496708 + 700 16738.455 0 0 5269.5136 14.496713 + 750 16738.455 0 0 5269.5136 14.49671 + 800 16738.455 0 0 5269.5137 14.496709 + 850 16738.455 0 0 5269.5137 14.49671 + 900 16738.456 0 0 5269.5138 14.496713 + 950 16738.462 -0.0035323872 0 5269.5122 14.496671 + 1000 16738.586 -0.051135144 0 5269.5036 14.496229 + 1050 16737.358 0.32995057 0 5269.4981 14.525763 + 1100 16737.892 0.16210246 0 5269.4984 14.531983 + 1150 16738.703 -0.089235095 0 5269.5025 14.509899 + 1200 16738.466 -0.0075446243 0 5269.5096 14.510615 + 1250 16738.456 0 0 5269.514 14.510704 + 1300 16738.457 0 0 5269.5141 14.510701 + 1350 16738.457 0 0 5269.5141 14.510699 + 1400 16738.457 -0.00044736511 0 5269.5138 14.510693 + 1450 16738.458 -0.0010971179 0 5269.5134 14.510687 + 1500 16738.458 -0.00057885428 0 5269.5139 14.510698 + 1550 16738.457 0 0 5269.5143 14.51071 + 1600 16738.457 0 0 5269.5144 14.510712 + 1650 16738.457 0 0 5269.5144 14.510712 + 1700 16738.458 0 0 5269.5144 14.51071 + 1750 16738.458 0 0 5269.5145 14.510708 + 1800 16738.458 0 0 5269.5145 14.510706 + 1850 16738.458 0 0 5269.5146 14.510705 + 1900 16738.458 0 0 5269.5146 14.510706 + 1950 16738.465 -0.0031733615 0 5269.5134 14.510659 + 2000 16738.491 -0.013255268 0 5269.5117 14.510532 + 2050 16738.556 -0.0365811 0 5269.5087 14.51029 + 2100 16738.633 -0.063209659 0 5269.5065 14.510219 + 2150 16738.607 -0.05601761 0 5269.5055 14.510231 + 2200 16738.557 -0.038423032 0 5269.5072 14.510404 + 2250 16738.515 -0.023709918 0 5269.5088 14.510539 + 2300 16738.489 -0.013249035 0 5269.5111 14.510621 + 2350 16738.468 -0.0045563719 0 5269.5131 14.510714 + 2400 16738.46 -0.00052194273 0 5269.5146 14.510771 + 2450 16738.464 -0.0023259756 0 5269.514 14.510746 + 2500 16738.468 -0.0051929186 0 5269.5127 14.510731 + 2550 16738.581 -0.044940117 0 5269.5085 14.510315 + 2600 16738.427 -7.9722832e-05 0 5269.5046 14.510657 + 2650 16733.017 1.705148 0 5269.5067 14.596295 + 2700 16738.761 -0.10614946 0 5269.5038 14.499584 + 2750 16733.973 1.4038179 0 5269.5064 14.598107 + 2800 16738.585 -0.046813448 0 5269.5076 14.511073 + 2850 16738.487 -0.012558719 0 5269.5111 14.510111 + 2900 16738.465 -0.0026252725 0 5269.514 14.510277 + 2950 16738.476 -0.0082220764 0 5269.512 14.510223 + 3000 16738.66 -0.071284779 0 5269.507 14.509758 + 3050 16715.332 7.2419351 0 5269.476 14.870305 + 3100 16653.226 26.818761 0 5269.5009 14.496764 + 3150 16739.351 -0.30690375 0 5269.4886 13.643904 + 3200 16733.238 1.6025328 0 5269.4737 12.016934 + 3250 16734.374 1.2554429 0 5269.4841 11.963561 + 3300 16732.156 1.9585967 0 5269.4893 12.234024 + 3350 16738.655 -0.079693236 0 5269.497 12.092757 + 3400 16738.543 -0.042215005 0 5269.4991 12.092809 + 3450 16738.591 -0.059327511 0 5269.4972 12.092536 + 3500 16738.759 -0.11761245 0 5269.4918 12.09203 + 3550 16713.405 7.846062 0 5269.4737 12.389816 + 3600 16734.939 1.0821936 0 5269.4891 12.173591 + 3650 16738.808 -0.13663194 0 5269.4882 12.027009 + 3700 16738.602 -0.070934368 0 5269.4889 12.025288 + 3750 16737.731 0.20706557 0 5269.4927 12.061948 + 3800 16738.578 -0.05582043 0 5269.4965 12.035665 + 3850 16738.471 -0.016307928 0 5269.5024 12.035302 + 3900 16738.449 -0.0058182199 0 5269.5059 12.035401 + 3950 16738.439 -0.0012027325 0 5269.5074 12.035461 + 4000 16738.436 -0.00020698452 0 5269.5075 12.035469 + 4050 16738.437 0 0 5269.5078 12.035454 + 4100 16738.437 0 0 5269.508 12.035435 + 4150 16738.438 0 0 5269.5081 12.035426 + 4200 16738.438 0 0 5269.5083 12.035432 + 4250 16738.439 0 0 5269.5085 12.035447 + 4300 16738.439 0 0 5269.5086 12.035463 + 4350 16738.44 0 0 5269.5087 12.035474 + 4400 16738.44 0 0 5269.5088 12.035478 + 4450 16738.44 0 0 5269.5089 12.035474 + 4500 16738.44 0 0 5269.509 12.035462 + 4550 16738.441 0 0 5269.5092 12.035449 + 4600 16738.441 0 0 5269.5093 12.035445 + 4650 16738.442 0 0 5269.5095 12.035451 + 4700 16738.442 0 0 5269.5096 12.03546 + 4750 16738.443 0 0 5269.5097 12.035465 + 4800 16738.443 0 0 5269.5098 12.035466 + 4850 16738.443 0 0 5269.51 12.035463 + 4900 16738.444 0 0 5269.5101 12.035456 + 4950 16738.444 0 0 5269.5102 12.035447 + 5000 16738.445 0 0 5269.5104 12.03544 + 5050 16738.445 0 0 5269.5105 12.035442 + 5100 16738.446 0 0 5269.5107 12.035455 + 5150 16738.446 0 0 5269.5108 12.03547 + 5200 16738.446 0 0 5269.5109 12.035479 + 5250 16738.447 0 0 5269.511 12.035479 + 5300 16738.447 0 0 5269.5111 12.03547 + 5350 16738.447 0 0 5269.5112 12.035454 + 5400 16738.448 0 0 5269.5113 12.035434 + 5450 16738.448 0 0 5269.5115 12.03542 + 5500 16738.449 0 0 5269.5117 12.035422 + 5550 16738.457 -0.0030919234 0 5269.5111 12.035383 + 5600 16738.51 -0.021618357 0 5269.5092 12.035106 + 5650 16738.622 -0.059214788 0 5269.507 12.035694 + 5700 16395.28 108.06942 0 5269.5463 24.369038 + 5750 16738.544 -0.033973429 0 5269.5077 12.011261 + 5800 16738.456 -0.0037013529 0 5269.5102 12.011675 + 5850 16738.451 0 0 5269.5123 12.011709 + 5900 16738.451 -0.00022115871 0 5269.5122 12.011687 + 5950 16738.452 -0.00024253349 0 5269.5124 12.011678 + 6000 16738.452 0 0 5269.5128 12.011688 + 6050 16738.453 0 0 5269.513 12.011702 + 6100 16738.453 0 0 5269.5131 12.011716 + 6150 16738.454 0 0 5269.5132 12.011725 + 6200 16738.454 0 0 5269.5133 12.011728 + 6250 16738.454 0 0 5269.5134 12.011723 + 6300 16738.455 0 0 5269.5135 12.011712 + 6350 16738.455 0 0 5269.5137 12.0117 + 6400 16738.456 0 0 5269.5138 12.011697 + 6450 16738.456 0 0 5269.514 12.011704 + 6500 16738.456 0 0 5269.5141 12.011714 + 6550 16738.457 0 0 5269.5142 12.011719 + 6600 16738.457 0 0 5269.5143 12.011718 + 6650 16738.458 0 0 5269.5144 12.011713 + 6700 16738.458 0 0 5269.5146 12.011705 + 6750 16738.459 0 0 5269.5147 12.011696 + 6800 16738.459 0 0 5269.5149 12.01169 + 6850 16738.46 0 0 5269.515 12.011695 + 6900 16738.46 0 0 5269.5152 12.01171 + 6950 16738.46 0 0 5269.5153 12.011726 + 7000 16738.461 0 0 5269.5154 12.011736 + 7050 16738.461 0 0 5269.5155 12.011737 + 7100 16738.461 0 0 5269.5155 12.011728 + 7150 16738.461 0 0 5269.5156 12.011712 + 7200 16738.462 0 0 5269.5158 12.011691 + 7250 16738.463 0 0 5269.516 12.011676 + 7300 16738.463 0 0 5269.5162 12.011677 + 7350 16738.464 0 0 5269.5164 12.011693 + 7400 16738.464 0 0 5269.5165 12.011713 + 7450 16738.465 0 0 5269.5166 12.011729 + 7500 16738.465 0 0 5269.5167 12.011736 + 7550 16738.465 0 0 5269.5168 12.011734 + 7600 16738.465 0 0 5269.5168 12.011722 + 7650 16738.466 0 0 5269.517 12.011704 + 7700 16738.466 0 0 5269.5171 12.011687 + 7750 16738.467 0 0 5269.5173 12.011681 + 7800 16738.467 0 0 5269.5175 12.011687 + 7850 16738.468 0 0 5269.5176 12.0117 + 7900 16738.468 0 0 5269.5178 12.011712 + 7950 16738.469 0 0 5269.5179 12.011721 + 8000 16738.469 0 0 5269.518 12.011724 + 8050 16738.469 0 0 5269.5181 12.01172 + 8100 16738.47 0 0 5269.5182 12.011709 + 8150 16738.47 0 0 5269.5183 12.0117 + 8200 16738.47 0 0 5269.5185 12.0117 + 8250 16738.471 0 0 5269.5186 12.011709 + 8300 16738.471 0 0 5269.5187 12.011719 + 8350 16738.472 0 0 5269.5189 12.011723 + 8400 16738.472 0 0 5269.519 12.01172 + 8450 16738.473 -0.00039690663 0 5269.5189 12.011706 + 8500 16738.481 -0.0034646803 0 5269.5182 12.011643 + 8550 16738.483 -0.0045307409 0 5269.5178 12.011621 + 8600 16738.474 -0.00076532813 0 5269.5189 12.011681 + 8650 16738.474 0 0 5269.5197 12.011699 + 8700 16738.475 0 0 5269.5199 12.011715 + 8750 16738.475 0 0 5269.52 12.011732 + 8800 16738.475 0 0 5269.52 12.011743 + 8850 16738.476 0 0 5269.5201 12.011744 + 8900 16738.476 0 0 5269.5202 12.011735 + 8950 16738.476 0 0 5269.5203 12.011719 + 9000 16738.477 0 0 5269.5205 12.011698 + 9050 16738.477 0 0 5269.5206 12.011683 + 9100 16738.478 0 0 5269.5208 12.011684 + 9150 16738.479 0 0 5269.521 12.011701 + 9200 16738.479 0 0 5269.5212 12.011722 + 9250 16738.479 0 0 5269.5213 12.011738 + 9300 16738.48 0 0 5269.5214 12.011746 + 9350 16738.48 0 0 5269.5214 12.011744 + 9400 16738.48 0 0 5269.5215 12.011732 + 9450 16738.48 0 0 5269.5216 12.011715 + 9500 16738.481 -0.00037652438 0 5269.5216 12.011692 + 9550 16738.493 -0.0053156163 0 5269.5203 12.011611 + 9600 16738.549 -0.026814371 0 5269.5163 12.011415 + 9650 16738.765 -0.10191523 0 5269.5092 12.011013 + 9700 16735.041 1.0589894 0 5269.4979 12.062708 + 9750 16738.013 0.13550109 0 5269.5101 11.407246 + 9800 16738.512 -0.011620327 0 5269.5201 11.394974 + 9850 16738.489 -0.00067270507 0 5269.5237 11.395098 + 9900 16738.489 -0.00024984555 0 5269.5242 11.395085 + 9950 16738.49 0 0 5269.5245 11.395076 + 10000 16738.49 0 0 5269.5246 11.395075 +Loop time of 0.198069 on 4 procs for 10000 steps with 81 atoms + +Performance: 436211.675 tau/day, 50487.462 timesteps/s +91.1% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0026007 | 0.0034987 | 0.0043218 | 1.0 | 1.77 +Neigh | 0.012213 | 0.013261 | 0.014237 | 0.8 | 6.70 +Comm | 0.073581 | 0.082048 | 0.087982 | 2.1 | 41.42 +Output | 0.0047908 | 0.0058783 | 0.009093 | 2.4 | 2.97 +Modify | 0.081998 | 0.086993 | 0.09176 | 1.4 | 43.92 +Other | | 0.00639 | | | 3.23 + +Nlocal: 20.25 ave 38 max 3 min +Histogram: 1 0 1 0 0 0 1 0 0 1 +Nghost: 27.25 ave 48 max 13 min +Histogram: 1 0 1 1 0 0 0 0 0 1 +Neighs: 0 ave 0 max 0 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 0 +Ave neighs/atom = 0 +Neighbor list builds = 998 +Dangerous builds = 997 +Total wall time: 0:00:00 diff --git a/examples/rigid/log.27Nov18.rigid.tnr.g++.1 b/examples/rigid/log.27Nov18.rigid.tnr.g++.1 new file mode 100644 index 0000000000..bf29e0b94b --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.tnr.g++.1 @@ -0,0 +1,458 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Tethered nanorods + +atom_style molecular + +read_data data.rigid.tnr + orthogonal box = (-31.122 -31.122 -31.122) to (31.122 31.122 31.122) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 5600 atoms + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 1600 bonds + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + +# Specify bond parameters + +bond_style fene +bond_coeff 1 30.0 1.5 1.0 1.0 + +special_bonds fene + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + +# Specify initial velocities + +velocity all create 1.4 109345 + +# Specify rigid components + +group rods type 2 +4000 atoms in group rods +group tethers subtract all rods +1600 atoms in group tethers + +neigh_modify exclude molecule/intra rods delay 0 every 1 + +# Specify the pair potentials + +pair_style lj/cut 2.5 +pair_modify shift yes +pair_coeff * * 1.0 1.0 1.122 +pair_coeff 2 2 1.0 1.0 2.5 + +# Specify output + +thermo 100 +thermo_style custom step temp pe etotal press enthalpy lx ly lz pxx pyy pzz +thermo_modify flush yes lost warn + +timestep 0.005 + +fix 1 rods rigid molecule +800 rigid bodies with 4000 atoms +fix 2 tethers nve +fix 3 all langevin 1.4 1.4 1.0 437624 + +run 5000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 45 45 45 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 7.769 | 7.769 | 7.769 Mbytes +Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 0 1.3963219 5.9478449 7.0445809 0.048565317 9.13595 62.244 62.244 62.244 0.0091983659 0.11850113 0.017996458 + 100 1.3418512 5.9671777 7.0211299 0.025020362 8.0985822 62.244 62.244 62.244 0.02036076 0.038265078 0.016435248 + 200 1.3730638 5.9750802 7.0535483 0.0053287535 7.2830205 62.244 62.244 62.244 -0.00054924195 0.0092396988 0.0072958036 + 300 1.376262 5.9821642 7.0631443 0.0055536521 7.3023013 62.244 62.244 62.244 0.0033577704 0.0069111861 0.0063919998 + 400 1.3782954 5.9983628 7.08094 0.0020507385 7.169251 62.244 62.244 62.244 -0.0060862717 0.0098998072 0.0023386801 + 500 1.386863 6.0053312 7.0946377 -0.0009847031 7.0522334 62.244 62.244 62.244 -0.0038708372 0.0005697804 0.00034694745 + 600 1.4069849 6.0035719 7.1086832 0.0047883912 7.3148858 62.244 62.244 62.244 0.001069365 0.0078059505 0.0054898581 + 700 1.4423187 5.9982171 7.1310812 0.012141001 7.6539093 62.244 62.244 62.244 0.0094765272 0.011007593 0.015938883 + 800 1.4303878 5.9968168 7.1203098 -0.00081349095 7.0852784 62.244 62.244 62.244 0.0011153812 0.00041597298 -0.0039718271 + 900 1.4140538 5.9838168 7.0944803 0.00207609 7.183883 62.244 62.244 62.244 0.00043409671 0.0022778944 0.0035162788 + 1000 1.3906567 5.988119 7.0804053 0.0022005856 7.1751692 62.244 62.244 62.244 0.0077268425 -0.0022042977 0.0010792119 + 1100 1.3921992 5.9892203 7.0827181 0.0035041977 7.2336194 62.244 62.244 62.244 -0.0037576823 0.0040827951 0.01018748 + 1200 1.3968803 5.9795846 7.0767592 -0.0031072146 6.9429532 62.244 62.244 62.244 -0.0077387449 0.0033056124 -0.0048885115 + 1300 1.3755848 5.9739757 7.0544239 0.0092247106 7.4516677 62.244 62.244 62.244 0.0092788748 0.010737194 0.0076580625 + 1400 1.3847985 5.9703631 7.0580481 0.0071703598 7.3668254 62.244 62.244 62.244 0.0080485848 0.012260474 0.001202021 + 1500 1.4190051 5.956946 7.0714985 0.0035992903 7.2264948 62.244 62.244 62.244 -0.0055125437 0.01038369 0.0059267242 + 1600 1.3980036 5.9671666 7.0652236 0.0061819851 7.3314385 62.244 62.244 62.244 0.0062429141 0.0035120077 0.0087910334 + 1700 1.4276062 5.9610381 7.0823462 0.007832375 7.4196319 62.244 62.244 62.244 0.0083316819 0.0058394292 0.009326014 + 1800 1.4112769 5.9630595 7.0715419 0.0068032101 7.3645087 62.244 62.244 62.244 0.0065502252 0.0062317255 0.0076276797 + 1900 1.4276973 5.9489341 7.0703139 0.008397746 7.4319462 62.244 62.244 62.244 0.0148941 0.0032963108 0.0070028268 + 2000 1.4056158 5.9564624 7.0604983 0.0090470732 7.4500926 62.244 62.244 62.244 0.011871718 0.0086681344 0.0066013673 + 2100 1.3924778 5.9483611 7.0420778 0.0088893819 7.4248814 62.244 62.244 62.244 0.010247454 0.0097830093 0.0066376825 + 2200 1.3760401 5.9435877 7.0243935 -0.0042972782 6.8393397 62.244 62.244 62.244 -0.0050064436 -0.0046216999 -0.0032636911 + 2300 1.4191937 5.9334036 7.0481042 0.0047000032 7.2505006 62.244 62.244 62.244 0.0057709635 0.0044949165 0.0038341296 + 2400 1.4213285 5.9472214 7.0635988 0.010197674 7.5027414 62.244 62.244 62.244 0.008373826 0.0090537939 0.013165402 + 2500 1.4153808 5.9421661 7.0538718 0.00015906306 7.0607216 62.244 62.244 62.244 0.002351621 -0.0019814986 0.00010706677 + 2600 1.4014223 5.9431386 7.0438807 0.0070733749 7.3484816 62.244 62.244 62.244 0.0054143871 0.010055843 0.0057498948 + 2700 1.4138077 5.9369067 7.047377 0.0024268842 7.1518859 62.244 62.244 62.244 0.0052918436 0.0014960353 0.00049277371 + 2800 1.432192 5.9347676 7.0596777 0.0077670448 7.3941501 62.244 62.244 62.244 0.012668421 0.0059113033 0.0047214106 + 2900 1.3938659 5.921023 7.01583 0.0053751198 7.2472989 62.244 62.244 62.244 0.0020490372 0.0076566093 0.006419713 + 3000 1.390221 5.9205014 7.0124455 -0.0010750977 6.9661485 62.244 62.244 62.244 0.0019519817 -0.0041878885 -0.00098938611 + 3100 1.4205722 5.9178284 7.0336117 0.0098735475 7.4587965 62.244 62.244 62.244 0.0040973361 0.012167268 0.013356039 + 3200 1.398418 5.9150349 7.0134173 0.0061541841 7.2784351 62.244 62.244 62.244 0.0067621815 0.011952563 -0.00025219251 + 3300 1.4269859 5.9148727 7.0356937 0.0060623879 7.2967584 62.244 62.244 62.244 0.012956234 -2.4806661e-05 0.0052557362 + 3400 1.434286 5.9356705 7.0622253 0.00027315892 7.0739884 62.244 62.244 62.244 -0.00054959866 0.0052526278 -0.0038835524 + 3500 1.4416809 5.9228153 7.0551783 0.0083382977 7.4142506 62.244 62.244 62.244 0.007399393 0.0030328007 0.014582699 + 3600 1.4136063 5.9039442 7.0142562 0.0019712004 7.0991421 62.244 62.244 62.244 -0.00032316149 0.0035029874 0.0027337752 + 3700 1.4333819 5.9120101 7.0378548 0.0071287182 7.3448389 62.244 62.244 62.244 0.0064768218 0.0046765361 0.010232797 + 3800 1.3659481 5.9032873 6.9761663 -0.0054033416 6.7434821 62.244 62.244 62.244 -0.0073943479 -0.0082831992 -0.00053247772 + 3900 1.3963222 5.9042998 7.0010361 0.0053310264 7.2306062 62.244 62.244 62.244 0.0081855739 0.0048806019 0.0029269034 + 4000 1.4125482 5.9060665 7.0155474 0.0028450296 7.138063 62.244 62.244 62.244 0.0052588294 0.00072395285 0.0025523065 + 4100 1.3943951 5.9040875 6.9993102 0.0058050223 7.2492919 62.244 62.244 62.244 0.0060579697 0.0024782584 0.0088788387 + 4200 1.4249768 5.8906371 7.0098801 0.0030210669 7.1399763 62.244 62.244 62.244 0.006174431 -0.002079586 0.0049683557 + 4300 1.3899801 5.8966397 6.9883947 0.0057285402 7.2350829 62.244 62.244 62.244 0.0049048136 0.0021882328 0.010092574 + 4400 1.4414352 5.898628 7.0307981 0.0050932552 7.2501291 62.244 62.244 62.244 0.0057941393 0.0037951842 0.0056904421 + 4500 1.4092913 5.8922803 6.9992031 0.0012238869 7.0519073 62.244 62.244 62.244 0.0042907674 0.0014412643 -0.0020603711 + 4600 1.3779868 5.8928757 6.9752105 0.0020701322 7.0643566 62.244 62.244 62.244 0.0029283254 -0.0031683908 0.006450462 + 4700 1.4084635 5.9098782 7.0161508 -0.00052129502 6.9937023 62.244 62.244 62.244 -0.0018460523 -0.0018286314 0.0021107986 + 4800 1.4393258 5.9148464 7.0453597 0.015311954 7.7047386 62.244 62.244 62.244 0.014718813 0.01801777 0.013199278 + 4900 1.4500008 5.9076899 7.0465879 0.0075111779 7.3700419 62.244 62.244 62.244 0.0091865271 0.0080981174 0.0052488891 + 5000 1.4279632 5.9111567 7.0327453 -0.0014189553 6.9716408 62.244 62.244 62.244 -0.0046013754 0.0019937576 -0.001649248 +Loop time of 6.84203 on 1 procs for 5000 steps with 5600 atoms + +Performance: 315695.745 tau/day, 730.777 timesteps/s +99.5% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.53182 | 0.53182 | 0.53182 | 0.0 | 7.77 +Bond | 0.18231 | 0.18231 | 0.18231 | 0.0 | 2.66 +Neigh | 1.8709 | 1.8709 | 1.8709 | 0.0 | 27.34 +Comm | 0.18452 | 0.18452 | 0.18452 | 0.0 | 2.70 +Output | 0.0043087 | 0.0043087 | 0.0043087 | 0.0 | 0.06 +Modify | 3.8809 | 3.8809 | 3.8809 | 0.0 | 56.72 +Other | | 0.1873 | | | 2.74 + +Nlocal: 5600 ave 5600 max 5600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1351 ave 1351 max 1351 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 5254 ave 5254 max 5254 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 5254 +Ave neighs/atom = 0.938214 +Ave special neighs/atom = 0.571429 +Neighbor list builds = 766 +Dangerous builds = 0 + +# Replace fix rigid and fix langevin with new ones + +unfix 1 +unfix 3 + +fix 3 tethers langevin 1.4 1.4 1.0 198450 + +# Test different integrators for rods + +fix 1 rods rigid/nve molecule +800 rigid bodies with 4000 atoms +print "rigid/nve" +rigid/nve +run 1000 +Per MPI rank memory allocation (min/avg/max) = 7.77 | 7.77 | 7.77 Mbytes +Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 5000 1.4279632 5.9111567 7.0327453 0.027874409 8.2331015 62.244 62.244 62.244 0.018992956 0.039655696 0.024974575 + 5100 1.439608 5.9052128 7.0359478 0.0060989863 7.2985885 62.244 62.244 62.244 0.0087364157 0.004022839 0.0055377041 + 5200 1.4120672 5.9102569 7.01936 0.0064301432 7.2962614 62.244 62.244 62.244 0.0082738077 0.0038925667 0.0071240551 + 5300 1.4452434 5.8842166 7.0193778 0.008172419 7.3713068 62.244 62.244 62.244 0.0077715647 0.0068924406 0.0098532518 + 5400 1.4170243 5.887522 7.0005186 0.0008656658 7.0377968 62.244 62.244 62.244 -9.1800583e-05 -0.0020237513 0.0047125493 + 5500 1.4209082 5.8758921 6.9919394 0.0093634084 7.395156 62.244 62.244 62.244 0.0088769348 0.0087092521 0.010504038 + 5600 1.4132978 5.8798939 6.9899636 0.0014877766 7.0540317 62.244 62.244 62.244 -0.0023427923 0.004559371 0.002246751 + 5700 1.4065053 5.887541 6.9922756 0.0028083452 7.1132114 62.244 62.244 62.244 0.0025188632 0.000510969 0.0053952035 + 5800 1.4079051 5.8940739 6.999908 0.0015946158 7.0685769 62.244 62.244 62.244 0.0037830287 0.00021751956 0.00078329927 + 5900 1.4076047 5.8941577 6.9997558 0.005189853 7.2232465 62.244 62.244 62.244 -0.00093244616 0.0096403542 0.0068616509 + 6000 1.4322772 5.8903539 7.0153309 0.00029752476 7.0281432 62.244 62.244 62.244 0.001913333 -0.00073790796 -0.00028285075 +Loop time of 1.40593 on 1 procs for 1000 steps with 5600 atoms + +Performance: 307270.224 tau/day, 711.274 timesteps/s +99.1% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.14844 | 0.14844 | 0.14844 | 0.0 | 10.56 +Bond | 0.036852 | 0.036852 | 0.036852 | 0.0 | 2.62 +Neigh | 0.40537 | 0.40537 | 0.40537 | 0.0 | 28.83 +Comm | 0.036592 | 0.036592 | 0.036592 | 0.0 | 2.60 +Output | 0.00085831 | 0.00085831 | 0.00085831 | 0.0 | 0.06 +Modify | 0.74053 | 0.74053 | 0.74053 | 0.0 | 52.67 +Other | | 0.03729 | | | 2.65 + +Nlocal: 5600 ave 5600 max 5600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1347 ave 1347 max 1347 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 5399 ave 5399 max 5399 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 5399 +Ave neighs/atom = 0.964107 +Ave special neighs/atom = 0.571429 +Neighbor list builds = 153 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/nvt molecule temp 1.4 1.4 1.0 +800 rigid bodies with 4000 atoms +print "rigid/nvt" +rigid/nvt +run 1000 +Per MPI rank memory allocation (min/avg/max) = 7.77 | 7.77 | 7.77 Mbytes +Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 6000 1.4322772 5.8903539 7.0153309 0.012980585 7.574314 62.244 62.244 62.244 0.058317363 0.0073619377 -0.026737547 + 6100 1.4199699 5.8764035 6.9917138 0.0054065561 7.2245364 62.244 62.244 62.244 0.009227645 0.0019623802 0.0050296432 + 6200 1.3976825 5.8924426 6.9902474 0.00043900876 7.0091524 62.244 62.244 62.244 -0.0023073124 -0.00049925318 0.0041235918 + 6300 1.4077283 5.8847362 6.9904313 0.0066398301 7.2763625 62.244 62.244 62.244 0.0058018934 0.0091933877 0.0049242093 + 6400 1.3749203 5.8817073 6.9616336 0.0074967162 7.2844648 62.244 62.244 62.244 0.012281887 0.0039781589 0.0062301027 + 6500 1.3467096 5.8881264 6.9458946 -0.00011926349 6.9407588 62.244 62.244 62.244 0.0030721967 -0.0013265863 -0.0021034009 + 6600 1.3646558 5.8739857 6.9458497 0.0056064043 7.1872784 62.244 62.244 62.244 0.0059660337 0.0057680048 0.0050851745 + 6700 1.3927251 5.883612 6.9775229 0.0025583824 7.0876946 62.244 62.244 62.244 0.0030974706 0.0018499606 0.002727716 + 6800 1.4016999 5.9015886 7.0025488 0.0039070678 7.1707989 62.244 62.244 62.244 0.0068320586 0.0020056859 0.002883459 + 6900 1.4136745 5.8914714 7.001837 0.0051755091 7.22471 62.244 62.244 62.244 0.0028467792 0.0094052519 0.0032744962 + 7000 1.4286639 5.893567 7.0157059 0.0062957476 7.2868198 62.244 62.244 62.244 0.0047242086 0.0093408867 0.0048221474 +Loop time of 1.41045 on 1 procs for 1000 steps with 5600 atoms + +Performance: 306284.404 tau/day, 708.992 timesteps/s +99.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.1497 | 0.1497 | 0.1497 | 0.0 | 10.61 +Bond | 0.036719 | 0.036719 | 0.036719 | 0.0 | 2.60 +Neigh | 0.40272 | 0.40272 | 0.40272 | 0.0 | 28.55 +Comm | 0.036315 | 0.036315 | 0.036315 | 0.0 | 2.57 +Output | 0.00085187 | 0.00085187 | 0.00085187 | 0.0 | 0.06 +Modify | 0.747 | 0.747 | 0.747 | 0.0 | 52.96 +Other | | 0.03715 | | | 2.63 + +Nlocal: 5600 ave 5600 max 5600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 1284 ave 1284 max 1284 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 5677 ave 5677 max 5677 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 5677 +Ave neighs/atom = 1.01375 +Ave special neighs/atom = 0.571429 +Neighbor list builds = 151 +Dangerous builds = 0 +unfix 1 + +compute myTemp all temp + +fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 iso 0.05 0.05 1.0 dilate all +800 rigid bodies with 4000 atoms +print "rigid/npt iso" +rigid/npt iso +fix_modify 1 temp myTemp + +run 1000 +Per MPI rank memory allocation (min/avg/max) = 7.77 | 7.77 | 7.77 Mbytes +Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 7000 1.4286639 5.893567 7.0157059 0.032101512 8.3980939 62.244 62.244 62.244 0.0040045405 0.040447803 0.051852194 + 7100 1.4709161 5.8870949 7.0424207 0.019697134 7.6953761 57.045689 57.045689 57.045689 0.012929484 0.020492532 0.025669387 + 7200 1.5163078 5.8421187 7.0330973 0.018916867 7.46241 50.277171 50.277171 50.277171 0.017823354 0.026688031 0.012239218 + 7300 1.5675309 5.7752739 7.0064855 0.022899743 7.3829781 45.154874 45.154874 45.154874 0.019324617 0.024318577 0.025056034 + 7400 1.5432228 5.7513096 6.9634284 0.024381819 7.272744 41.416613 41.416613 41.416613 0.032026791 0.022254425 0.018864241 + 7500 1.5511419 5.7072564 6.9255953 0.030632381 7.2405167 38.613262 38.613262 38.613262 0.041572196 0.012539031 0.037785916 + 7600 1.5437461 5.6656571 6.8781869 0.031293788 7.1486082 36.440994 36.440994 36.440994 0.036220762 0.02125772 0.036402883 + 7700 1.5873874 5.6134986 6.8603063 0.04807003 7.221002 34.765744 34.765744 34.765744 0.031608235 0.053442472 0.059159381 + 7800 1.5079648 5.601961 6.7863866 0.031128515 6.9971673 33.59594 33.59594 33.59594 0.032932226 0.015950578 0.044502741 + 7900 1.4737447 5.5644198 6.7219673 0.099246661 7.3415696 32.698542 32.698542 32.698542 0.071386679 0.10758014 0.11877317 + 8000 1.4727947 5.5161158 6.6729171 0.072190554 7.0973199 32.050043 32.050043 32.050043 0.072806068 0.06277287 0.080992723 +Loop time of 3.15299 on 1 procs for 1000 steps with 5600 atoms + +Performance: 137012.841 tau/day, 317.159 timesteps/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.37069 | 0.37069 | 0.37069 | 0.0 | 11.76 +Bond | 0.05046 | 0.05046 | 0.05046 | 0.0 | 1.60 +Neigh | 1.4844 | 1.4844 | 1.4844 | 0.0 | 47.08 +Comm | 0.081178 | 0.081178 | 0.081178 | 0.0 | 2.57 +Output | 0.00083494 | 0.00083494 | 0.00083494 | 0.0 | 0.03 +Modify | 1.1163 | 1.1163 | 1.1163 | 0.0 | 35.41 +Other | | 0.0491 | | | 1.56 + +Nlocal: 5600 ave 5600 max 5600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 2954 ave 2954 max 2954 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 25585 ave 25585 max 25585 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 25585 +Ave neighs/atom = 4.56875 +Ave special neighs/atom = 0.571429 +Neighbor list builds = 334 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 x 0.05 0.05 1.0 dilate all +800 rigid bodies with 4000 atoms +print "rigid/npt x" +rigid/npt x +run 1000 +Per MPI rank memory allocation (min/avg/max) = 7.785 | 7.785 | 7.785 Mbytes +Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 8000 1.4727947 5.5161158 6.6729171 0.13628586 7.4741313 32.050043 32.050043 32.050043 -0.030897367 0.27196335 0.1677916 + 8100 1.4522497 5.5136331 6.6542974 0.057107124 6.9895036 32.000184 32.050043 32.050043 0.049932793 0.056130194 0.065258384 + 8200 1.4407937 5.5014539 6.6331202 0.024119241 6.7733276 31.691157 32.050043 32.050043 0.041526366 0.022503949 0.0083274089 + 8300 1.4542258 5.496977 6.6391934 0.043395674 6.887667 31.215092 32.050043 32.050043 0.025407647 0.075227689 0.029551686 + 8400 1.4375595 5.4901345 6.6192605 0.013578023 6.6952098 30.494249 32.050043 32.050043 -0.0045150608 0.033500673 0.011748456 + 8500 1.4410736 5.4540565 6.5859426 0.017121222 6.679397 29.757445 32.050043 32.050043 0.035675932 -0.032105 0.047792733 + 8600 1.4372413 5.4150437 6.5439197 0.084045699 6.9949237 29.254706 32.050043 32.050043 0.10347392 0.073148157 0.075515024 + 8700 1.4299119 5.3982284 6.5213476 0.00045273296 6.5237411 28.822481 32.050043 32.050043 0.0093093459 0.0081538479 -0.016104995 + 8800 1.4677947 5.3637715 6.5166456 0.028621833 6.6651924 28.294159 32.050043 32.050043 0.033527613 0.036046563 0.016291323 + 8900 1.4625499 5.3483914 6.4971459 0.032843022 6.6649394 27.852402 32.050043 32.050043 0.040751528 0.055865445 0.0019120942 + 9000 1.4488382 5.3486741 6.4866589 0.087522574 6.9279711 27.488856 32.050043 32.050043 0.059432129 0.10936517 0.093770421 +Loop time of 3.09429 on 1 procs for 1000 steps with 5600 atoms + +Performance: 139611.779 tau/day, 323.175 timesteps/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.57714 | 0.57714 | 0.57714 | 0.0 | 18.65 +Bond | 0.051715 | 0.051715 | 0.051715 | 0.0 | 1.67 +Neigh | 1.223 | 1.223 | 1.223 | 0.0 | 39.52 +Comm | 0.066183 | 0.066183 | 0.066183 | 0.0 | 2.14 +Output | 0.00086594 | 0.00086594 | 0.00086594 | 0.0 | 0.03 +Modify | 1.1355 | 1.1355 | 1.1355 | 0.0 | 36.70 +Other | | 0.03994 | | | 1.29 + +Nlocal: 5600 ave 5600 max 5600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 3381 ave 3381 max 3381 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 31737 ave 31737 max 31737 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 31737 +Ave neighs/atom = 5.66732 +Ave special neighs/atom = 0.571429 +Neighbor list builds = 169 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/nph molecule iso 0.05 0.05 1.0 dilate all +800 rigid bodies with 4000 atoms +print "rigid/nph iso" +rigid/nph iso +run 1000 +Per MPI rank memory allocation (min/avg/max) = 7.788 | 7.788 | 7.788 Mbytes +Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 9000 1.4488382 5.3486741 6.4866589 0.20124138 7.5013717 27.488856 32.050043 32.050043 0.22160189 0.42145658 -0.039334342 + 9100 1.4408457 5.3612674 6.4929746 0.076331412 6.8758499 27.440968 31.994208 31.994208 0.083838068 0.041724506 0.10343166 + 9200 1.4870445 5.3340546 6.5020483 0.01010773 6.5521592 27.334266 31.869802 31.869802 0.024563803 -0.0068003493 0.012559737 + 9300 1.4376808 5.3295183 6.4587396 0.10720051 6.9752889 27.076116 31.568817 31.568817 0.11844426 0.10444301 0.09871425 + 9400 1.4621325 5.3011274 6.4495541 0.071127232 6.7846388 26.873295 31.332342 31.332342 0.091608834 0.02680694 0.094965923 + 9500 1.4463444 5.3005044 6.4365304 0.0011545049 6.4418432 26.664 31.088319 31.088319 -0.030551889 0.036011952 -0.0019965484 + 9600 1.4473406 5.2912939 6.4281024 0.066132857 6.7281169 26.537276 30.940568 30.940568 0.12276096 0.013455525 0.06218208 + 9700 1.4520445 5.2707214 6.4112246 0.077219765 6.757956 26.446587 30.834832 30.834832 0.073829267 0.11047347 0.047356559 + 9800 1.4825713 5.246644 6.4111243 0.061402527 6.6831281 26.327581 30.696078 30.696078 0.091860222 0.022619578 0.06972778 + 9900 1.4795219 5.2344495 6.3965347 0.086345107 6.7729623 26.187615 30.532888 30.532888 0.077396265 0.11142542 0.07021363 + 10000 1.4527053 5.2126819 6.3537041 0.045117764 6.5474705 26.057038 30.380645 30.380645 0.011087188 0.058029185 0.066236921 +Loop time of 3.25046 on 1 procs for 1000 steps with 5600 atoms + +Performance: 132904.162 tau/day, 307.649 timesteps/s +99.7% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.68223 | 0.68223 | 0.68223 | 0.0 | 20.99 +Bond | 0.05211 | 0.05211 | 0.05211 | 0.0 | 1.60 +Neigh | 1.2617 | 1.2617 | 1.2617 | 0.0 | 38.82 +Comm | 0.069407 | 0.069407 | 0.069407 | 0.0 | 2.14 +Output | 0.00085688 | 0.00085688 | 0.00085688 | 0.0 | 0.03 +Modify | 1.1438 | 1.1438 | 1.1438 | 0.0 | 35.19 +Other | | 0.04037 | | | 1.24 + +Nlocal: 5600 ave 5600 max 5600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 3756 ave 3756 max 3756 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 37360 ave 37360 max 37360 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 37360 +Ave neighs/atom = 6.67143 +Ave special neighs/atom = 0.571429 +Neighbor list builds = 158 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/nph molecule x 0.05 0.05 1.0 y 0.05 0.05 1.0 couple xy dilate all +800 rigid bodies with 4000 atoms +print "rigid/nph xy couple" +rigid/nph xy couple +run 1000 +Per MPI rank memory allocation (min/avg/max) = 7.795 | 7.795 | 7.795 Mbytes +Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 10000 1.4527053 5.2126819 6.3537041 0.056937886 6.5982342 26.057038 30.380645 30.380645 -0.37001102 0.18554825 0.35527643 + 10100 1.4606958 5.2220088 6.3693071 0.10308269 6.8132489 26.093341 30.422971 30.380645 0.12567436 0.057087258 0.12648646 + 10200 1.4429187 5.2134399 6.3467753 0.022637194 6.4450326 26.195743 30.542365 30.380645 0.010739012 0.071921542 -0.014748971 + 10300 1.4559104 5.2293511 6.3728908 0.0079467818 6.4073504 26.182966 30.527467 30.380645 -0.014274944 0.032205181 0.0059101087 + 10400 1.4741126 5.2072221 6.3650586 0.095611559 6.7814715 26.240156 30.594148 30.380645 0.073579289 0.092441893 0.12081349 + 10500 1.4411698 5.2173262 6.3492878 0.010458046 6.3947259 26.208633 30.557393 30.380645 0.036794882 -0.0051462954 -0.00027444949 + 10600 1.4492728 5.1940541 6.3323802 0.042602534 6.5163992 26.132032 30.468083 30.380645 0.090116773 0.0022769844 0.035413845 + 10700 1.4599974 5.1895935 6.3363432 0.05533717 6.573197 26.013045 30.329352 30.380645 0.070180878 0.08084881 0.014981824 + 10800 1.4781084 5.1724704 6.3334454 0.031843587 6.4690539 25.947295 30.252692 30.380645 0.0041524129 0.077618702 0.013759645 + 10900 1.4410507 5.1708846 6.3027527 0.020221033 6.3881531 25.839719 30.127267 30.380645 -0.0014092876 0.014833141 0.047239245 + 11000 1.4150286 5.1756927 6.2871219 0.039768792 6.45242 25.63435 29.887821 30.380645 0.034930907 0.032278926 0.052096542 +Loop time of 3.43774 on 1 procs for 1000 steps with 5600 atoms + +Performance: 125663.855 tau/day, 290.889 timesteps/s +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.75066 | 0.75066 | 0.75066 | 0.0 | 21.84 +Bond | 0.053177 | 0.053177 | 0.053177 | 0.0 | 1.55 +Neigh | 1.3577 | 1.3577 | 1.3577 | 0.0 | 39.49 +Comm | 0.07294 | 0.07294 | 0.07294 | 0.0 | 2.12 +Output | 0.00086403 | 0.00086403 | 0.00086403 | 0.0 | 0.03 +Modify | 1.1612 | 1.1612 | 1.1612 | 0.0 | 33.78 +Other | | 0.0412 | | | 1.20 + +Nlocal: 5600 ave 5600 max 5600 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 3904 ave 3904 max 3904 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 39666 ave 39666 max 39666 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 39666 +Ave neighs/atom = 7.08321 +Ave special neighs/atom = 0.571429 +Neighbor list builds = 159 +Dangerous builds = 0 + +Total wall time: 0:00:22 diff --git a/examples/rigid/log.27Nov18.rigid.tnr.g++.4 b/examples/rigid/log.27Nov18.rigid.tnr.g++.4 new file mode 100644 index 0000000000..1fa53eb8d3 --- /dev/null +++ b/examples/rigid/log.27Nov18.rigid.tnr.g++.4 @@ -0,0 +1,458 @@ +LAMMPS (27 Nov 2018) + using 1 OpenMP thread(s) per MPI task +# Tethered nanorods + +atom_style molecular + +read_data data.rigid.tnr + orthogonal box = (-31.122 -31.122 -31.122) to (31.122 31.122 31.122) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 5600 atoms + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 1600 bonds + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + +# Specify bond parameters + +bond_style fene +bond_coeff 1 30.0 1.5 1.0 1.0 + +special_bonds fene + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + +# Specify initial velocities + +velocity all create 1.4 109345 + +# Specify rigid components + +group rods type 2 +4000 atoms in group rods +group tethers subtract all rods +1600 atoms in group tethers + +neigh_modify exclude molecule/intra rods delay 0 every 1 + +# Specify the pair potentials + +pair_style lj/cut 2.5 +pair_modify shift yes +pair_coeff * * 1.0 1.0 1.122 +pair_coeff 2 2 1.0 1.0 2.5 + +# Specify output + +thermo 100 +thermo_style custom step temp pe etotal press enthalpy lx ly lz pxx pyy pzz +thermo_modify flush yes lost warn + +timestep 0.005 + +fix 1 rods rigid molecule +800 rigid bodies with 4000 atoms +fix 2 tethers nve +fix 3 all langevin 1.4 1.4 1.0 437624 + +run 5000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 2.8 + ghost atom cutoff = 2.8 + binsize = 1.4, bins = 45 45 45 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 7.216 | 7.384 | 7.552 Mbytes +Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 0 1.3963219 5.9478449 7.0445809 0.048565317 9.13595 62.244 62.244 62.244 0.0091983659 0.11850113 0.017996458 + 100 1.3999025 5.9707695 7.0703179 0.027293074 8.24564 62.244 62.244 62.244 0.017246307 0.04732529 0.017307624 + 200 1.4245544 5.9878446 7.1067558 0.0072016369 7.41688 62.244 62.244 62.244 0.0071370801 0.0084066589 0.0060611719 + 300 1.4212057 5.9942604 7.1105414 0.0023296933 7.210865 62.244 62.244 62.244 -0.0059197015 0.0040269953 0.008881786 + 400 1.4030116 5.9953214 7.0973119 0.0055751834 7.3373961 62.244 62.244 62.244 -0.0026920847 0.013323321 0.0060943141 + 500 1.4201338 5.9984777 7.1139168 -0.0018229523 7.035415 62.244 62.244 62.244 -0.0082217102 -0.00047319975 0.0032260529 + 600 1.425173 5.9902537 7.1096508 0.013367744 7.6853062 62.244 62.244 62.244 0.012971415 0.016298595 0.010833222 + 700 1.4181225 5.9840752 7.0979345 0.0014999758 7.1625279 62.244 62.244 62.244 -0.0015835387 0.0045967753 0.0014866907 + 800 1.4084205 5.9778462 7.084085 0.0063728488 7.3585191 62.244 62.244 62.244 0.0036202744 0.005593586 0.0099046859 + 900 1.3958301 5.9891019 7.0854517 0.0028974454 7.2102244 62.244 62.244 62.244 0.0087724642 0.0014508428 -0.001530971 + 1000 1.3937374 5.9794855 7.0741916 0.0087158481 7.4495223 62.244 62.244 62.244 0.014424783 0.0034958881 0.0082268735 + 1100 1.3729162 5.9916252 7.0699773 0.0030451966 7.2011127 62.244 62.244 62.244 0.00084635444 -0.00064448421 0.0089337195 + 1200 1.4427374 5.9713589 7.1045519 0.0042680608 7.2883474 62.244 62.244 62.244 0.0030884628 0.0031576538 0.0065580658 + 1300 1.3971469 5.9728674 7.0702514 0.0022809251 7.168475 62.244 62.244 62.244 0.00060902513 -0.00020572386 0.006439474 + 1400 1.4194118 5.9672631 7.082135 0.012945844 7.6396221 62.244 62.244 62.244 0.0082418827 0.016256336 0.014339314 + 1500 1.3866472 5.9728382 7.0619753 0.0010642438 7.1078049 62.244 62.244 62.244 0.0020316123 0.0020439035 -0.00088278432 + 1600 1.4184955 5.9539591 7.0681113 0.0077605409 7.4023036 62.244 62.244 62.244 0.0033721722 0.0057827512 0.014126699 + 1700 1.3612202 5.9676733 7.0368389 0.00016862131 7.0441002 62.244 62.244 62.244 0.0052525345 0.0007705269 -0.0055171975 + 1800 1.3641041 5.9521837 7.0236144 0.0057884587 7.2728829 62.244 62.244 62.244 0.0038061044 0.0044032908 0.009155981 + 1900 1.3594477 5.9646024 7.0323757 0.0044261926 7.2229809 62.244 62.244 62.244 0.0019417448 0.006871542 0.004465291 + 2000 1.3776971 5.9431816 7.0252888 -0.0012460593 6.9716298 62.244 62.244 62.244 -0.0010913822 0.00098119436 -0.0036279901 + 2100 1.3986245 5.9509735 7.0495181 0.007520633 7.3733792 62.244 62.244 62.244 0.008359824 0.0075919773 0.0066100978 + 2200 1.4033594 5.9548158 7.0570794 0.0016804284 7.1294438 62.244 62.244 62.244 -0.001842641 0.0032876741 0.0035962521 + 2300 1.4048926 5.9444129 7.0478808 0.0062444034 7.3167836 62.244 62.244 62.244 0.004383569 0.0065720464 0.007777595 + 2400 1.4044043 5.9370822 7.0401666 0.0034562836 7.1890046 62.244 62.244 62.244 0.0068959298 0.0041111713 -0.00063825026 + 2500 1.4200762 5.9359254 7.0513193 0.0028319649 7.1732722 62.244 62.244 62.244 -0.00030414203 0.0039571831 0.0048428538 + 2600 1.3876469 5.9249124 7.0148347 -0.0017777224 6.9382806 62.244 62.244 62.244 -0.00047616392 -0.0025484917 -0.0023085116 + 2700 1.4099941 5.916763 7.0242378 0.0070716263 7.3287634 62.244 62.244 62.244 0.012628756 0.0053812867 0.0032048359 + 2800 1.4444643 5.9283432 7.0628925 0.0019400024 7.1464349 62.244 62.244 62.244 0.0014895079 0.0046367397 -0.00030624055 + 2900 1.3902832 5.9152516 7.0072446 -0.002166221 6.9139606 62.244 62.244 62.244 -0.0012374412 -0.00056403267 -0.004697189 + 3000 1.3711706 5.922146 6.9991271 0.011101505 7.4771914 62.244 62.244 62.244 0.011063833 0.012093026 0.010147657 + 3100 1.3569137 5.9171753 6.9829583 -0.002826677 6.8612331 62.244 62.244 62.244 -0.0069507252 0.0010084399 -0.0025377458 + 3200 1.4004275 5.905939 7.0058998 0.005439467 7.2401397 62.244 62.244 62.244 0.010352184 0.0057594148 0.00020680265 + 3300 1.3641217 5.9145275 6.985972 -0.0027212811 6.8687855 62.244 62.244 62.244 -0.00065933677 -0.0057713008 -0.0017332057 + 3400 1.3868722 5.9059546 6.9952684 0.0092591256 7.3939943 62.244 62.244 62.244 0.010690877 0.010752519 0.006333981 + 3500 1.3939169 5.8992292 6.9940762 0.0074340028 7.3142068 62.244 62.244 62.244 0.010137307 0.0044252569 0.0077394447 + 3600 1.3982507 5.9219461 7.0201971 0.005679459 7.2647718 62.244 62.244 62.244 0.0023367243 0.008059221 0.0066424317 + 3700 1.4019908 5.9059957 7.0071843 0.0065915477 7.2910363 62.244 62.244 62.244 0.0049554109 0.010827005 0.0039922268 + 3800 1.3960736 5.902079 6.99862 0.0027763588 7.1181784 62.244 62.244 62.244 -0.0015907217 0.0025862003 0.0073335977 + 3900 1.4352825 5.8986215 7.025959 0.003498268 7.176605 62.244 62.244 62.244 0.0030416681 0.0027739509 0.0046791851 + 4000 1.4121845 5.907903 7.0170983 0.005046232 7.2344043 62.244 62.244 62.244 0.0045542682 0.0064113499 0.0041730779 + 4100 1.3989578 5.9082397 7.0070461 0.00042880001 7.0255115 62.244 62.244 62.244 0.0025735184 0.0025181486 -0.003805267 + 4200 1.3998829 5.8998147 6.9993477 0.0042777376 7.18356 62.244 62.244 62.244 0.0013744091 0.00646996 0.0049888436 + 4300 1.4076022 5.9044509 7.010047 0.0066789366 7.2976622 62.244 62.244 62.244 0.0073610616 0.0048139129 0.0078618353 + 4400 1.4161075 5.9064331 7.0187096 -0.0011844267 6.9677046 62.244 62.244 62.244 -0.0019088313 -0.0037556503 0.0021112015 + 4500 1.4292243 5.8980093 7.0205884 0.0018500416 7.1002567 62.244 62.244 62.244 0.0041144085 0.0010160497 0.00041966655 + 4600 1.3958775 5.8943133 6.9907003 0.0041485723 7.1693504 62.244 62.244 62.244 0.0033999287 0.0041620406 0.0048837475 + 4700 1.3856614 5.8886847 6.9770475 0.0013150314 7.0336767 62.244 62.244 62.244 -0.00051753674 0.0030875481 0.0013750828 + 4800 1.401683 5.9023505 7.0032974 0.002504877 7.1111649 62.244 62.244 62.244 0.0016543718 -0.0001813413 0.0060416007 + 4900 1.446628 5.9050553 7.0413042 -0.0026645902 6.9265589 62.244 62.244 62.244 -0.00069368076 -0.0073984763 9.8386402e-05 + 5000 1.4387091 5.9077604 7.0377893 0.0049468048 7.2508137 62.244 62.244 62.244 0.0042902506 0.0046715523 0.0058786114 +Loop time of 3.70354 on 4 procs for 5000 steps with 5600 atoms + +Performance: 583225.455 tau/day, 1350.059 timesteps/s +92.9% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.081073 | 0.13498 | 0.20108 | 14.4 | 3.64 +Bond | 0.032352 | 0.048566 | 0.066671 | 7.0 | 1.31 +Neigh | 0.71345 | 0.72477 | 0.73658 | 1.3 | 19.57 +Comm | 0.29998 | 0.37027 | 0.42722 | 8.9 | 10.00 +Output | 0.0026417 | 0.0048325 | 0.0085185 | 3.2 | 0.13 +Modify | 1.9807 | 2.1035 | 2.263 | 8.1 | 56.80 +Other | | 0.3166 | | | 8.55 + +Nlocal: 1400 ave 1868 max 905 min +Histogram: 1 1 0 0 0 0 0 0 0 2 +Nghost: 648.25 ave 688 max 598 min +Histogram: 1 0 0 1 0 0 0 0 1 1 +Neighs: 1202.5 ave 1821 max 698 min +Histogram: 2 0 0 0 0 0 0 1 0 1 + +Total # of neighbors = 4810 +Ave neighs/atom = 0.858929 +Ave special neighs/atom = 0.571429 +Neighbor list builds = 759 +Dangerous builds = 0 + +# Replace fix rigid and fix langevin with new ones + +unfix 1 +unfix 3 + +fix 3 tethers langevin 1.4 1.4 1.0 198450 + +# Test different integrators for rods + +fix 1 rods rigid/nve molecule +800 rigid bodies with 4000 atoms +print "rigid/nve" +rigid/nve +run 1000 +Per MPI rank memory allocation (min/avg/max) = 7.217 | 7.395 | 7.573 Mbytes +Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 5000 1.4387091 5.9077604 7.0377893 0.0035977871 7.1927209 62.244 62.244 62.244 0.025518192 -0.016769871 0.0020450407 + 5100 1.4449405 5.8876257 7.022549 0.0023104502 7.122044 62.244 62.244 62.244 0.0045960664 0.0036845954 -0.0013493113 + 5200 1.4271652 5.9160022 7.036964 0.0020238904 7.1241189 62.244 62.244 62.244 -0.0022546188 0.00392213 0.0044041599 + 5300 1.4143299 5.9052666 7.016147 0.0064054214 7.2919838 62.244 62.244 62.244 0.0090997079 0.0026363579 0.0074801984 + 5400 1.4426441 5.9087558 7.0418754 0.0020465683 7.1300068 62.244 62.244 62.244 0.0043188307 3.0314417e-06 0.0018178427 + 5500 1.4281065 5.9038871 7.0255883 0.00058665945 7.0508516 62.244 62.244 62.244 0.005898925 0.00066013177 -0.0047990784 + 5600 1.4315628 5.902373 7.0267888 0.0096475978 7.4422435 62.244 62.244 62.244 0.0054175405 0.011780025 0.011745228 + 5700 1.4075482 5.9075587 7.0131124 0.0052150708 7.2376891 62.244 62.244 62.244 0.0030069124 0.0036690785 0.0089692215 + 5800 1.4215681 5.9048555 7.0214211 0.0015070444 7.086319 62.244 62.244 62.244 -5.6858344e-05 0.0023644208 0.0022135708 + 5900 1.3992461 5.8949367 6.9939696 0.0062425817 7.262794 62.244 62.244 62.244 0.0056972212 0.0095293238 0.0035012003 + 6000 1.385289 5.8972105 6.9852808 0.0043255163 7.1715506 62.244 62.244 62.244 0.0040215567 0.0026330714 0.0063219208 +Loop time of 0.84847 on 4 procs for 1000 steps with 5600 atoms + +Performance: 509151.820 tau/day, 1178.592 timesteps/s +94.3% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.020741 | 0.03547 | 0.053064 | 7.5 | 4.18 +Bond | 0.0064373 | 0.0096895 | 0.013065 | 3.0 | 1.14 +Neigh | 0.14992 | 0.15174 | 0.15392 | 0.4 | 17.88 +Comm | 0.068751 | 0.081259 | 0.10084 | 4.2 | 9.58 +Output | 0.00054288 | 0.00096381 | 0.0017593 | 0.0 | 0.11 +Modify | 0.45914 | 0.48587 | 0.51316 | 2.8 | 57.26 +Other | | 0.08348 | | | 9.84 + +Nlocal: 1400 ave 1868 max 935 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 633.75 ave 695 max 541 min +Histogram: 1 0 0 0 1 0 0 0 0 2 +Neighs: 1263 ave 1799 max 710 min +Histogram: 1 1 0 0 0 0 0 0 0 2 + +Total # of neighbors = 5052 +Ave neighs/atom = 0.902143 +Ave special neighs/atom = 0.571429 +Neighbor list builds = 153 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/nvt molecule temp 1.4 1.4 1.0 +800 rigid bodies with 4000 atoms +print "rigid/nvt" +rigid/nvt +run 1000 +Per MPI rank memory allocation (min/avg/max) = 7.217 | 7.395 | 7.573 Mbytes +Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 6000 1.385289 5.8972105 6.9852808 0.0029190017 7.1109818 62.244 62.244 62.244 0.026575922 -0.075631452 0.057812535 + 6100 1.3829575 5.9055308 6.9917699 0.0022904842 7.090405 62.244 62.244 62.244 -0.00045870123 0.0040556461 0.0032745076 + 6200 1.3942692 5.90506 7.0001838 0.0046406766 7.2000253 62.244 62.244 62.244 0.0042263485 0.0051632793 0.0045324021 + 6300 1.4009885 5.902399 7.0028005 0.0077682466 7.3373246 62.244 62.244 62.244 0.0071636876 0.0098268446 0.0063142075 + 6400 1.3627532 5.9075588 6.9779284 0.0093180831 7.3791932 62.244 62.244 62.244 0.0062401458 0.01302262 0.0086914833 + 6500 1.3341203 5.9012967 6.9491767 0.01010805 7.3844599 62.244 62.244 62.244 0.0031876185 0.011099561 0.01603697 + 6600 1.3572847 5.8915298 6.9576042 -0.00034416901 6.9427833 62.244 62.244 62.244 0.0025579012 -0.0011308802 -0.0024595281 + 6700 1.366374 5.8985277 6.9717413 0.0029472772 7.0986599 62.244 62.244 62.244 0.0022469424 -0.00042869772 0.0070235868 + 6800 1.381673 5.8909304 6.9761606 -9.1063397e-05 6.9722391 62.244 62.244 62.244 -0.0048194377 -0.00080972169 0.0053559692 + 6900 1.4011472 5.8881927 6.9887188 0.0010086058 7.0321524 62.244 62.244 62.244 0.0012132619 -0.0025916747 0.0044042301 + 7000 1.3973658 5.8867938 6.9843498 0.0070015187 7.2858563 62.244 62.244 62.244 0.0058913402 0.0076802028 0.0074330131 +Loop time of 0.902266 on 4 procs for 1000 steps with 5600 atoms + +Performance: 478794.425 tau/day, 1108.320 timesteps/s +92.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.022644 | 0.037091 | 0.054025 | 7.4 | 4.11 +Bond | 0.0066526 | 0.0098482 | 0.012934 | 2.8 | 1.09 +Neigh | 0.15815 | 0.16028 | 0.16242 | 0.5 | 17.76 +Comm | 0.086046 | 0.10069 | 0.11568 | 3.7 | 11.16 +Output | 0.00047731 | 0.00090772 | 0.0016732 | 0.0 | 0.10 +Modify | 0.46692 | 0.49338 | 0.52973 | 3.5 | 54.68 +Other | | 0.1001 | | | 11.09 + +Nlocal: 1400 ave 1832 max 970 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 652.5 ave 749 max 561 min +Histogram: 1 0 0 1 0 0 1 0 0 1 +Neighs: 1407.5 ave 2071 max 748 min +Histogram: 1 1 0 0 0 0 0 0 1 1 + +Total # of neighbors = 5630 +Ave neighs/atom = 1.00536 +Ave special neighs/atom = 0.571429 +Neighbor list builds = 149 +Dangerous builds = 0 +unfix 1 + +compute myTemp all temp + +fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 iso 0.05 0.05 1.0 dilate all +800 rigid bodies with 4000 atoms +print "rigid/npt iso" +rigid/npt iso +fix_modify 1 temp myTemp + +run 1000 +Per MPI rank memory allocation (min/avg/max) = 7.217 | 7.395 | 7.573 Mbytes +Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 7000 1.3973658 5.8867938 6.9843498 0.0026564535 7.0987447 62.244 62.244 62.244 0.033711862 -0.0068580786 -0.018884423 + 7100 1.463906 5.861189 7.0110088 0.011521299 7.3924648 57.022165 57.022165 57.022165 0.010788399 0.0093706759 0.014404821 + 7200 1.4950346 5.817724 6.9919936 0.023104537 7.516484 50.28164 50.28164 50.28164 0.023252537 0.018108267 0.027952807 + 7300 1.5103539 5.7757334 6.9620355 0.02265972 7.3367664 45.242961 45.242961 45.242961 0.023588139 0.022279352 0.022111669 + 7400 1.5583184 5.7576833 6.9816589 0.028383162 7.3460731 41.582206 41.582206 41.582206 0.027312172 0.029876235 0.027961079 + 7500 1.5988886 5.6930714 6.9489127 0.046500933 7.4415595 39.00204 39.00204 39.00204 0.057497139 0.031007247 0.050998413 + 7600 1.5458926 5.6844397 6.8986555 0.034168406 7.2068206 36.96428 36.96428 36.96428 0.037874991 0.027247969 0.037382258 + 7700 1.5179913 5.6416448 6.8339457 0.070322183 7.3856048 35.284894 35.284894 35.284894 0.054248771 0.10402305 0.052694729 + 7800 1.4797888 5.6045532 6.7668481 0.07801402 7.3126319 33.963465 33.963465 33.963465 0.096058241 0.061172194 0.076811627 + 7900 1.4846305 5.54982 6.7159177 0.065303374 7.1325712 32.936376 32.936376 32.936376 0.089117046 0.06069295 0.046100127 + 8000 1.4352665 5.5157472 6.6430722 0.065962965 7.0326574 32.099391 32.099391 32.099391 0.032126133 0.070109418 0.095653344 +Loop time of 1.72334 on 4 procs for 1000 steps with 5600 atoms + +Performance: 250675.661 tau/day, 580.268 timesteps/s +92.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.060282 | 0.099801 | 0.13824 | 10.8 | 5.79 +Bond | 0.0095227 | 0.013491 | 0.017217 | 3.2 | 0.78 +Neigh | 0.58793 | 0.59546 | 0.60654 | 1.0 | 34.55 +Comm | 0.17903 | 0.21403 | 0.24615 | 6.5 | 12.42 +Output | 0.00045562 | 0.00076783 | 0.0017018 | 0.0 | 0.04 +Modify | 0.64959 | 0.68513 | 0.70671 | 2.8 | 39.76 +Other | | 0.1147 | | | 6.65 + +Nlocal: 1400 ave 1768 max 981 min +Histogram: 1 0 1 0 0 0 0 0 0 2 +Nghost: 1574 ave 1663 max 1447 min +Histogram: 1 0 0 1 0 0 0 0 0 2 +Neighs: 6338 ave 9521 max 3068 min +Histogram: 1 0 1 0 0 0 0 0 1 1 + +Total # of neighbors = 25352 +Ave neighs/atom = 4.52714 +Ave special neighs/atom = 0.571429 +Neighbor list builds = 337 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/npt molecule temp 1.4 1.4 1.0 x 0.05 0.05 1.0 dilate all +800 rigid bodies with 4000 atoms +print "rigid/npt x" +rigid/npt x +run 1000 +Per MPI rank memory allocation (min/avg/max) = 7.226 | 7.412 | 7.597 Mbytes +Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 8000 1.4352665 5.5157472 6.6430722 0.073641793 7.0780095 32.099391 32.099391 32.099391 0.13359913 0.13991003 -0.052583787 + 8100 1.4385682 5.5149882 6.6449064 0.092621097 7.1894426 31.952972 32.099391 32.099391 0.10729401 0.11619987 0.054369411 + 8200 1.42735 5.5149024 6.6360094 0.023903894 6.7756304 31.745099 32.099391 32.099391 0.051524189 0.013370811 0.006816681 + 8300 1.4335369 5.5031396 6.629106 0.024536474 6.7705237 31.324638 32.099391 32.099391 0.042356568 -0.0039258365 0.035178692 + 8400 1.4502714 5.4659017 6.6050122 0.06575457 6.9774701 30.785462 32.099391 32.099391 0.056998298 0.084852971 0.055412441 + 8500 1.4432366 5.4541505 6.5877355 0.03322226 6.7725932 30.241461 32.099391 32.099391 0.045871758 0.024443739 0.029351281 + 8600 1.436491 5.4272043 6.5554911 0.039811655 6.7732608 29.729098 32.099391 32.099391 0.037709456 0.060942551 0.020782958 + 8700 1.4099251 5.4106713 6.5180919 0.013490442 6.590596 29.209958 32.099391 32.099391 0.025833003 -0.0021161354 0.016754458 + 8800 1.3801478 5.3926425 6.4766747 0.028808964 6.6280205 28.552039 32.099391 32.099391 0.012603549 0.018713073 0.055110271 + 8900 1.4411695 5.3583474 6.4903088 0.053464468 6.7655624 27.980937 32.099391 32.099391 0.055084927 0.073292013 0.032016464 + 9000 1.4264395 5.3680298 6.4884216 0.066557314 6.8276318 27.69922 32.099391 32.099391 0.05380086 0.069450871 0.076420212 +Loop time of 1.45936 on 4 procs for 1000 steps with 5600 atoms + +Performance: 296020.704 tau/day, 685.233 timesteps/s +96.3% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.097855 | 0.1563 | 0.20542 | 12.5 | 10.71 +Bond | 0.010222 | 0.01371 | 0.016844 | 2.6 | 0.94 +Neigh | 0.43646 | 0.44419 | 0.4668 | 2.0 | 30.44 +Comm | 0.10136 | 0.14589 | 0.19563 | 11.6 | 10.00 +Output | 0.00046229 | 0.00076181 | 0.0016556 | 0.0 | 0.05 +Modify | 0.59971 | 0.62524 | 0.65776 | 2.9 | 42.84 +Other | | 0.07327 | | | 5.02 + +Nlocal: 1400 ave 1680 max 1049 min +Histogram: 1 0 1 0 0 0 0 0 0 2 +Nghost: 1627.25 ave 1775 max 1488 min +Histogram: 1 1 0 0 0 0 0 1 0 1 +Neighs: 7842 ave 10600 max 4326 min +Histogram: 1 0 1 0 0 0 0 0 0 2 + +Total # of neighbors = 31368 +Ave neighs/atom = 5.60143 +Ave special neighs/atom = 0.571429 +Neighbor list builds = 166 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/nph molecule iso 0.05 0.05 1.0 dilate all +800 rigid bodies with 4000 atoms +print "rigid/nph iso" +rigid/nph iso +run 1000 +Per MPI rank memory allocation (min/avg/max) = 7.227 | 7.412 | 7.597 Mbytes +Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 9000 1.4264395 5.3680298 6.4884216 0.0098629166 6.5386881 27.69922 32.099391 32.099391 -0.32352455 -0.020288613 0.37340191 + 9100 1.4501008 5.3468478 6.4858243 0.059250929 6.7846766 27.60347 31.988431 31.988431 0.076039445 0.051409059 0.050304282 + 9200 1.4635102 5.3406895 6.4901983 0.035210102 6.6656151 27.490192 31.857158 31.857158 0.0079484246 0.066653954 0.031027926 + 9300 1.4503713 5.3595734 6.4987624 0.020794 6.6013231 27.398334 31.750708 31.750708 0.053098983 0.0019379163 0.0073450997 + 9400 1.4701421 5.3186993 6.4734172 0.039118143 6.6618027 27.181055 31.498913 31.498913 0.076457868 -0.0028405762 0.043737137 + 9500 1.4495442 5.323167 6.4617063 0.073591495 6.8091096 27.000921 31.290164 31.290164 0.037777789 0.097624306 0.085372389 + 9600 1.4668438 5.3002222 6.4523494 0.06758294 6.7648428 26.814997 31.074705 31.074705 0.057941415 0.09775976 0.047047645 + 9700 1.4926839 5.2883964 6.4608196 0.059125916 6.7288224 26.637713 30.869258 30.869258 0.049817515 0.032285203 0.095275031 + 9800 1.4644558 5.2702597 6.4205112 0.0076221617 6.4543756 26.460515 30.663911 30.663911 -0.0060723629 0.010616271 0.018322577 + 9900 1.4669549 5.2511861 6.4034006 0.044167302 6.5961243 26.30195 30.480157 30.480157 0.026274163 0.013826125 0.092401618 + 10000 1.460983 5.2470476 6.3945715 0.10536479 6.8483021 26.186495 30.346361 30.346361 0.088951294 0.11273872 0.11440435 +Loop time of 1.61361 on 4 procs for 1000 steps with 5600 atoms + +Performance: 267722.758 tau/day, 619.729 timesteps/s +93.9% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.13322 | 0.18643 | 0.259 | 12.5 | 11.55 +Bond | 0.012367 | 0.014462 | 0.016771 | 1.6 | 0.90 +Neigh | 0.46284 | 0.46471 | 0.46675 | 0.3 | 28.80 +Comm | 0.10183 | 0.17241 | 0.22246 | 12.4 | 10.68 +Output | 0.00044584 | 0.00074542 | 0.0016396 | 0.0 | 0.05 +Modify | 0.691 | 0.7057 | 0.72761 | 1.8 | 43.73 +Other | | 0.06915 | | | 4.29 + +Nlocal: 1400 ave 1633 max 1183 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 1747.75 ave 1847 max 1624 min +Histogram: 1 0 1 0 0 0 0 0 0 2 +Neighs: 9290.75 ave 12454 max 6621 min +Histogram: 2 0 0 0 0 0 0 1 0 1 + +Total # of neighbors = 37163 +Ave neighs/atom = 6.63625 +Ave special neighs/atom = 0.571429 +Neighbor list builds = 162 +Dangerous builds = 0 +unfix 1 + +fix 1 rods rigid/nph molecule x 0.05 0.05 1.0 y 0.05 0.05 1.0 couple xy dilate all +800 rigid bodies with 4000 atoms +print "rigid/nph xy couple" +rigid/nph xy couple +run 1000 +Per MPI rank memory allocation (min/avg/max) = 7.229 | 7.413 | 7.597 Mbytes +Step Temp PotEng TotEng Press Enthalpy Lx Ly Lz Pxx Pyy Pzz + 10000 1.460983 5.2470476 6.3945715 0.18376191 7.1859023 26.186495 30.346361 30.346361 0.015959435 0.68341409 -0.14808778 + 10100 1.4487259 5.2485513 6.3864479 0.060157728 6.6465409 26.238844 30.407026 30.346361 0.10289596 0.022823411 0.05475381 + 10200 1.4335646 5.2420513 6.3680395 0.013676852 6.4271554 26.235255 30.402867 30.346361 -0.017328522 0.040786509 0.017572569 + 10300 1.4334952 5.2377534 6.3636871 0.030978458 6.4967192 26.150168 30.304264 30.346361 0.044154015 0.036133394 0.012647966 + 10400 1.4209473 5.2242736 6.3403516 -0.00094467594 6.3363148 26.085773 30.22964 30.346361 0.030664991 0.018005544 -0.051504563 + 10500 1.4262805 5.2044624 6.3247294 0.045042501 6.5149748 25.934148 30.053928 30.346361 0.031103656 0.045410964 0.058612885 + 10600 1.4516048 5.2017459 6.3419036 0.069565209 6.6313867 25.741959 29.831208 30.346361 0.021768778 0.11302833 0.073898515 + 10700 1.4841074 5.1911212 6.356808 0.046866825 6.5493087 25.574636 29.637306 30.346361 0.073969059 0.064901506 0.0017299084 + 10800 1.4646257 5.1958815 6.3462665 0.050747116 6.5534926 25.500146 29.550982 30.346361 0.076646556 0.070734108 0.004860682 + 10900 1.461356 5.1821605 6.3299773 0.069060447 6.610166 25.417723 29.455466 30.346361 0.051399011 0.065631311 0.090151019 + 11000 1.4395386 5.1786243 6.3093047 -0.0087983274 6.2737059 25.383039 29.415273 30.346361 -0.060891892 0.037235898 -0.0027389884 +Loop time of 1.56065 on 4 procs for 1000 steps with 5600 atoms + +Performance: 276807.605 tau/day, 640.758 timesteps/s +94.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.15892 | 0.20364 | 0.2564 | 9.2 | 13.05 +Bond | 0.011486 | 0.014652 | 0.01918 | 2.6 | 0.94 +Neigh | 0.43915 | 0.43981 | 0.44125 | 0.1 | 28.18 +Comm | 0.093711 | 0.14431 | 0.18183 | 9.9 | 9.25 +Output | 0.00044441 | 0.00073904 | 0.0016198 | 0.0 | 0.05 +Modify | 0.66889 | 0.68497 | 0.70418 | 1.5 | 43.89 +Other | | 0.07254 | | | 4.65 + +Nlocal: 1400 ave 1610 max 1237 min +Histogram: 2 0 0 0 0 0 0 1 0 1 +Nghost: 1832 ave 1919 max 1765 min +Histogram: 1 1 0 0 0 0 1 0 0 1 +Neighs: 10008.2 ave 12428 max 7982 min +Histogram: 2 0 0 0 0 0 0 1 0 1 + +Total # of neighbors = 40033 +Ave neighs/atom = 7.14875 +Ave special neighs/atom = 0.571429 +Neighbor list builds = 157 +Dangerous builds = 0 + +Total wall time: 0:00:11 diff --git a/src/math_eigen.cpp b/src/math_eigen.cpp index 99c8d38290..65c3fa806a 100644 --- a/src/math_eigen.cpp +++ b/src/math_eigen.cpp @@ -44,7 +44,7 @@ int MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3]) // create instance of generic Jacobi class and get eigenvalues and -vectors Jacobi_v1 ecalc3(3, M, midx); - int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::SORT_INCREASING_EVALS); + int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::SORT_DECREASING_EVALS); // transpose the evec matrix @@ -67,7 +67,7 @@ int MathEigen::jacobi3(double const *const *mat, double *eval, double **evec) // create instance of generic Jacobi class and get eigenvalues and -vectors Jacobi_v2 ecalc3(3, M, midx); - int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v2::SORT_INCREASING_EVALS); + int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v2::SORT_DECREASING_EVALS); // transpose the evec matrix diff --git a/unittest/force-styles/tests/fix-timestep-rigid_group.yaml b/unittest/force-styles/tests/fix-timestep-rigid_group.yaml index b5c77af975..e28e0abb08 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_group.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_group.yaml @@ -1,7 +1,6 @@ --- -lammps_version: 7 Feb 2024 -tags: -date_generated: Mon Mar 25 20:00:59 2024 +lammps_version: 17 Feb 2022 +date_generated: Fri Mar 18 22:18:00 2022 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -15,65 +14,65 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.4245356937318909e+03 -1.4496493315649632e+03 -3.6144360984225123e+03 8.4840626828644361e+02 2.0318336761612773e+02 -6.0622397707969583e+02 -global_scalar: 15.711521423178084 + -1.4245356937318884e+03 -1.4496493315649691e+03 -3.6144360984224995e+03 8.4840626828644076e+02 2.0318336761611761e+02 -6.0622397707970140e+02 +global_scalar: 15.711521423178082 run_pos: ! |2 - 1 -2.7899546863891755e-01 2.4731857340328198e+00 -1.7290667740241461e-01 - 2 3.0296221610263996e-01 2.9517129916957550e+00 -8.5798904387772190e-01 - 3 -6.9368802364134963e-01 1.2445115421754176e+00 -6.2281111198650141e-01 - 4 -1.5764879647103172e+00 1.4919714415841279e+00 -1.2492069414674598e+00 - 5 -8.9434512967430235e-01 9.3651699743510453e-01 4.0191726558261442e-01 - 6 2.9454439634451712e-01 2.2724545792544146e-01 -1.2845195053960266e+00 - 7 3.4049112903270240e-01 -9.4655678322404235e-03 -2.4634480020857055e+00 - 8 1.1644354555804877e+00 -4.8367776650961403e-01 -6.7663643940735962e-01 - 9 1.3781717822696455e+00 -2.5332509530011083e-01 2.6864954436590072e-01 - 10 2.0186368606041905e+00 -1.4285861423625785e+00 -9.6712491252780486e-01 - 11 1.7929137227577487e+00 -1.9875455388407386e+00 -1.8836565352266592e+00 - 12 3.0032775230399622e+00 -4.8983022415173583e-01 -1.6190248017343625e+00 - 13 4.0448964162125964e+00 -9.0213155122390454e-01 -1.6385398399479547e+00 - 14 2.6035151245015857e+00 -4.0874995493218413e-01 -2.6555999074786598e+00 - 15 2.9761196776172323e+00 5.6287237454109007e-01 -1.2442626196083335e+00 - 16 2.6517373021566182e+00 -2.3957035508393734e+00 3.3389262100686046e-02 - 17 2.2311114924744961e+00 -2.1018393228798584e+00 1.1496088522377494e+00 - 18 2.1390642573201792e+00 3.0164773560693803e+00 -3.5143984803853883e+00 - 19 1.5353246655146293e+00 2.6305911186316160e+00 -4.2455871034737100e+00 - 20 2.7649421538938399e+00 3.6818603528430875e+00 -3.9364115785985545e+00 - 21 4.9043112657298966e+00 -4.0774268210397882e+00 -3.6200836396129850e+00 - 22 4.3665322424283417e+00 -4.2075138112953612e+00 -4.4636587264885925e+00 - 23 5.7355405581985277e+00 -3.5789558641908901e+00 -3.8805763324089995e+00 - 24 2.0692780332810012e+00 3.1504920436415969e+00 3.1571131300668829e+00 - 25 1.3007297593168976e+00 3.2745259354179459e+00 2.5110163874103693e+00 - 26 2.5819416446099637e+00 4.0104903120756576e+00 3.2150249624526102e+00 + 1 -2.7899546863891400e-01 2.4731857340328229e+00 -1.7290667740242271e-01 + 2 3.0296221610264262e-01 2.9517129916957545e+00 -8.5798904387773245e-01 + 3 -6.9368802364134741e-01 1.2445115421754194e+00 -6.2281111198650418e-01 + 4 -1.5764879647103154e+00 1.4919714415841279e+00 -1.2492069414674623e+00 + 5 -8.9434512967429969e-01 9.3651699743511030e-01 4.0191726558261276e-01 + 6 2.9454439634451712e-01 2.2724545792544038e-01 -1.2845195053960268e+00 + 7 3.4049112903270051e-01 -9.4655678322458359e-03 -2.4634480020857055e+00 + 8 1.1644354555804874e+00 -4.8367776650961336e-01 -6.7663643940735863e-01 + 9 1.3781717822696469e+00 -2.5332509530010694e-01 2.6864954436590061e-01 + 10 2.0186368606041896e+00 -1.4285861423625796e+00 -9.6712491252780131e-01 + 11 1.7929137227577452e+00 -1.9875455388407426e+00 -1.8836565352266534e+00 + 12 3.0032775230399604e+00 -4.8983022415174027e-01 -1.6190248017343642e+00 + 13 4.0448964162125947e+00 -9.0213155122391020e-01 -1.6385398399479558e+00 + 14 2.6035151245015822e+00 -4.0874995493219213e-01 -2.6555999074786607e+00 + 15 2.9761196776172318e+00 5.6287237454108674e-01 -1.2442626196083388e+00 + 16 2.6517373021566168e+00 -2.3957035508393707e+00 3.3389262100692263e-02 + 17 2.2311114924744970e+00 -2.1018393228798513e+00 1.1496088522377543e+00 + 18 2.1390642573201784e+00 3.0164773560693781e+00 -3.5143984803853878e+00 + 19 1.5353246655146278e+00 2.6305911186316133e+00 -4.2455871034737074e+00 + 20 2.7649421538938390e+00 3.6818603528430849e+00 -3.9364115785985550e+00 + 21 4.9043112657298877e+00 -4.0774268210397882e+00 -3.6200836396129836e+00 + 22 4.3665322424283310e+00 -4.2075138112953594e+00 -4.4636587264885881e+00 + 23 5.7355405581985188e+00 -3.5789558641908918e+00 -3.8805763324089981e+00 + 24 2.0692780332810115e+00 3.1504920436416004e+00 3.1571131300668789e+00 + 25 1.3007297593169076e+00 3.2745259354179481e+00 2.5110163874103675e+00 + 26 2.5819416446099739e+00 4.0104903120756576e+00 3.2150249624526035e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 4.7093289825842437e-04 2.6351122778447999e-04 -4.4905093064114823e-04 - 2 4.9594625316470473e-04 9.4561370489632928e-05 -5.4581359894047732e-04 - 3 3.3306085115756054e-04 2.3224943880673362e-04 -2.3659455671746045e-04 - 4 3.3692327392261130e-04 2.1926810694051292e-04 -2.4716631558862576e-04 - 5 3.3642542694185899e-04 4.1797578013265770e-04 -1.8011341766657654e-04 - 6 2.0926869754934769e-04 2.6449308951579106e-05 -1.0508938983871929e-04 - 7 1.4629043007908003e-04 -1.6873376665349995e-04 -6.8354048774352968e-05 - 8 1.5844101624224859e-04 3.7728761274000288e-05 -1.9162715667092141e-05 - 9 2.1299362072601887e-04 1.6917140529157517e-04 -6.3528165037845917e-05 - 10 5.4261629412254576e-05 -9.4655528376811157e-05 1.0511362869146505e-04 - 11 -3.2194160796502236e-05 -2.2025095264758700e-04 2.0300202946212152e-04 - 12 1.2640586304750429e-04 -2.9851080445664956e-04 -7.9476371818247574e-05 - 13 8.4523575162143312e-05 -4.0583135407330399e-04 -4.7551111331702557e-05 - 14 9.9954050381271961e-05 -4.2610816481298121e-04 -7.9255633594381943e-05 - 15 2.4417481119789894e-04 -2.3521002264677784e-04 -2.4875318161049020e-04 - 16 -9.0958138549668516e-06 3.7774817121217089e-06 2.4035199548834928e-04 - 17 5.7507224523611227e-05 2.2629217444843685e-04 2.0686920072684740e-04 - 18 2.9220264989359860e-04 -6.2478376436796244e-04 8.4222594596602409e-04 - 19 2.0572616567799204e-04 -5.0334424271726607e-04 8.4953929443210702e-04 - 20 4.1224811789513060e-04 -7.4115205416011543e-04 8.3678612337507964e-04 - 21 -1.0671858777656406e-03 -1.1531171045499533e-03 7.3720674900162007e-04 - 22 -1.1066511338291734e-03 -1.0433933757600477e-03 7.4544544325708432e-04 - 23 -9.7629260480941644e-04 -1.3100872491594124e-03 7.2687284219704641e-04 - 24 4.3308126651259382e-04 -6.6527658087322671e-04 8.4451298670663671e-04 - 25 4.4565811905442982e-04 -5.1298436273584133e-04 8.5878867884521635e-04 - 26 5.9865972692022961e-04 -7.6385263287080262e-04 8.4259943226842242e-04 + 1 4.7093289825842508e-04 2.6351122778447809e-04 -4.4905093064114883e-04 + 2 4.9594625316470506e-04 9.4561370489630299e-05 -5.4581359894047775e-04 + 3 3.3306085115756103e-04 2.3224943880673259e-04 -2.3659455671746018e-04 + 4 3.3692327392261152e-04 2.1926810694051179e-04 -2.4716631558862516e-04 + 5 3.3642542694186002e-04 4.1797578013265738e-04 -1.8011341766657675e-04 + 6 2.0926869754934769e-04 2.6449308951578185e-05 -1.0508938983871811e-04 + 7 1.4629043007907940e-04 -1.6873376665350122e-04 -6.8354048774350921e-05 + 8 1.5844101624224881e-04 3.7728761273999780e-05 -1.9162715667090996e-05 + 9 2.1299362072601952e-04 1.6917140529157474e-04 -6.3528165037845483e-05 + 10 5.4261629412254495e-05 -9.4655528376811482e-05 1.0511362869146690e-04 + 11 -3.2194160796502724e-05 -2.2025095264758716e-04 2.0300202946212429e-04 + 12 1.2640586304750378e-04 -2.9851080445665107e-04 -7.9476371818245798e-05 + 13 8.4523575162142608e-05 -4.0583135407330561e-04 -4.7551111331700511e-05 + 14 9.9954050381270972e-05 -4.2610816481298294e-04 -7.9255633594379530e-05 + 15 2.4417481119789862e-04 -2.3521002264677992e-04 -2.4875318161048917e-04 + 16 -9.0958138549664992e-06 3.7774817121222391e-06 2.4035199548835096e-04 + 17 5.7507224523612230e-05 2.2629217444843764e-04 2.0686920072684822e-04 + 18 2.9220264989359833e-04 -6.2478376436796265e-04 8.4222594596602366e-04 + 19 2.0572616567799188e-04 -5.0334424271726639e-04 8.4953929443210648e-04 + 20 4.1224811789513022e-04 -7.4115205416011554e-04 8.3678612337507920e-04 + 21 -1.0671858777656393e-03 -1.1531171045499515e-03 7.3720674900162159e-04 + 22 -1.1066511338291710e-03 -1.0433933757600460e-03 7.4544544325708573e-04 + 23 -9.7629260480941525e-04 -1.3100872491594103e-03 7.2687284219704804e-04 + 24 4.3308126651259312e-04 -6.6527658087322801e-04 8.4451298670663606e-04 + 25 4.4565811905442889e-04 -5.1298436273584285e-04 8.5878867884521559e-04 + 26 5.9865972692022765e-04 -7.6385263287080381e-04 8.4259943226842166e-04 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_molecule.yaml b/unittest/force-styles/tests/fix-timestep-rigid_molecule.yaml index a73c8cd112..d667942e49 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_molecule.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_molecule.yaml @@ -1,7 +1,6 @@ --- -lammps_version: 7 Feb 2024 -tags: -date_generated: Mon Mar 25 20:00:59 2024 +lammps_version: 17 Feb 2022 +date_generated: Fri Mar 18 22:18:00 2022 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -15,8 +14,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200116134788615e+01 -2.6907707565987401e+01 -6.0080860422276308e+00 -2.5620423972100241e+01 -1.3450224059984270e+01 -1.4947288487006070e+00 -global_scalar: 18.340560167414402 + -4.9200116134789873e+01 -2.6907707565987707e+01 -6.0080860422278581e+00 -2.5620423972101300e+01 -1.3450224059983967e+01 -1.4947288487003760e+00 +global_scalar: 18.3405601674144 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -35,15 +34,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1392027588271301e+00 3.0171068018412783e+00 -3.5144628518856353e+00 - 19 1.5366124997074575e+00 2.6286809834111740e+00 -4.2452547844370221e+00 - 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352558e+00 - 21 4.9036621347791236e+00 -4.0757648442838548e+00 -3.6192617654515908e+00 - 22 4.3655322291888474e+00 -4.2084949965552561e+00 -4.4622011117402343e+00 - 23 5.7380414793463110e+00 -3.5841969195032672e+00 -3.8827839830470219e+00 + 18 2.1392027588271301e+00 3.0171068018412779e+00 -3.5144628518856349e+00 + 19 1.5366124997074571e+00 2.6286809834111748e+00 -4.2452547844370221e+00 + 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352554e+00 + 21 4.9036621347791245e+00 -4.0757648442838548e+00 -3.6192617654515904e+00 + 22 4.3655322291888483e+00 -4.2084949965552561e+00 -4.4622011117402334e+00 + 23 5.7380414793463101e+00 -3.5841969195032672e+00 -3.8827839830470219e+00 24 2.0701314765323930e+00 3.1499370533342330e+00 3.1565324852522938e+00 - 25 1.3030170721374787e+00 3.2711173927682244e+00 2.5081940917429759e+00 - 26 2.5776230782480041e+00 4.0127347068243884e+00 3.2182355138709284e+00 + 25 1.3030170721374779e+00 3.2711173927682249e+00 2.5081940917429768e+00 + 26 2.5776230782480045e+00 4.0127347068243875e+00 3.2182355138709275e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -65,15 +64,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625095704849e-04 -3.1032459262908286e-04 8.1043030117346052e-04 - 19 8.5103884665345473e-04 -1.4572280596788095e-03 1.0163621287634121e-03 - 20 -6.5204659278590661e-04 4.3989037444289755e-04 4.9909839028507901e-04 - 21 -1.3888125881903906e-03 -3.1978049143082342e-04 1.1455681499836646e-03 - 22 -1.6084223477729526e-03 -1.5355394240821163e-03 1.4772010826232394e-03 - 23 2.6392672378804821e-04 -3.9375414431174795e-03 -3.6991583139728377e-04 - 24 8.6062827067890269e-04 -9.4179873474469291e-04 5.5396395550012388e-04 - 25 1.5933645477487551e-03 -2.2139156625681673e-03 -5.5078029695647250e-04 - 26 -1.5679561743998888e-03 3.5146224354726068e-04 2.4446924193334487e-03 + 18 3.6149625095704914e-04 -3.1032459262908286e-04 8.1043030117346052e-04 + 19 8.5103884665345452e-04 -1.4572280596788108e-03 1.0163621287634116e-03 + 20 -6.5204659278590683e-04 4.3989037444289853e-04 4.9909839028507901e-04 + 21 -1.3888125881903923e-03 -3.1978049143082385e-04 1.1455681499836646e-03 + 22 -1.6084223477729510e-03 -1.5355394240821117e-03 1.4772010826232375e-03 + 23 2.6392672378805124e-04 -3.9375414431174821e-03 -3.6991583139728095e-04 + 24 8.6062827067890247e-04 -9.4179873474469237e-04 5.5396395550012453e-04 + 25 1.5933645477487538e-03 -2.2139156625681695e-03 -5.5078029695647401e-04 + 26 -1.5679561743998840e-03 3.5146224354726100e-04 2.4446924193334478e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_molecule_tri.yaml b/unittest/force-styles/tests/fix-timestep-rigid_molecule_tri.yaml index 9e362dd3ac..304db9fd60 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_molecule_tri.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_molecule_tri.yaml @@ -1,7 +1,6 @@ --- -lammps_version: 7 Feb 2024 -tags: -date_generated: Mon Mar 25 20:01:00 2024 +lammps_version: 17 Feb 2022 +date_generated: Fri Mar 18 22:18:00 2022 epsilon: 5e-12 skip_tests: prerequisites: ! | @@ -16,8 +15,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200116134789653e+01 -2.6907707565986087e+01 -6.0080860422267843e+00 -2.5620423972100063e+01 -1.3450224059983270e+01 -1.4947288486998982e+00 -global_scalar: 18.340560167414335 + -4.9200116134788658e+01 -2.6907707565985344e+01 -6.0080860422268874e+00 -2.5620423972099733e+01 -1.3450224059983656e+01 -1.4947288487000705e+00 +global_scalar: 18.340560167414306 run_pos: ! |2 1 -2.7993683669226854e-01 2.4726588069312836e+00 -1.7200860244148508e-01 2 3.0197083955402171e-01 2.9515239068888608e+00 -8.5689735572907555e-01 @@ -37,14 +36,14 @@ run_pos: ! |2 16 2.6517554244980301e+00 -2.3957110424978438e+00 3.2908335999177751e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 18 2.1392027588271310e+00 3.0171068018412779e+00 -3.5144628518856349e+00 - 19 1.5366124997074584e+00 2.6286809834111722e+00 -4.2452547844370230e+00 + 19 1.5366124997074566e+00 2.6286809834111740e+00 -4.2452547844370239e+00 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352558e+00 - 21 4.9036621347791245e+00 -4.0757648442838548e+00 -3.6192617654515900e+00 - 22 4.3655322291888465e+00 -4.2084949965552578e+00 -4.4622011117402343e+00 + 21 4.9036621347791245e+00 -4.0757648442838557e+00 -3.6192617654515900e+00 + 22 4.3655322291888465e+00 -4.2084949965552569e+00 -4.4622011117402334e+00 23 5.7380414793463101e+00 -3.5841969195032686e+00 -3.8827839830470232e+00 24 2.0701314765323913e+00 3.1499370533342308e+00 3.1565324852522920e+00 - 25 1.3030170721374779e+00 3.2711173927682236e+00 2.5081940917429755e+00 - 26 2.5776230782480036e+00 4.0127347068243875e+00 3.2182355138709280e+00 + 25 1.3030170721374770e+00 3.2711173927682236e+00 2.5081940917429755e+00 + 26 2.5776230782480054e+00 4.0127347068243875e+00 3.2182355138709262e+00 27 -1.9613581876744357e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678509e+00 29 -1.3108232656499084e+00 -3.5992986322410765e+00 2.2680459788743512e+00 @@ -66,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625095704659e-04 -3.1032459262907825e-04 8.1043030117346085e-04 - 19 8.5103884665346059e-04 -1.4572280596788099e-03 1.0163621287634082e-03 - 20 -6.5204659278590227e-04 4.3989037444289446e-04 4.9909839028508150e-04 - 21 -1.3888125881903869e-03 -3.1978049143081757e-04 1.1455681499836596e-03 - 22 -1.6084223477729556e-03 -1.5355394240821013e-03 1.4772010826232407e-03 - 23 2.6392672378803953e-04 -3.9375414431174656e-03 -3.6991583139727423e-04 - 24 8.6062827067889998e-04 -9.4179873474469411e-04 5.5396395550012377e-04 - 25 1.5933645477487516e-03 -2.2139156625681634e-03 -5.5078029695647109e-04 - 26 -1.5679561743998922e-03 3.5146224354726068e-04 2.4446924193334543e-03 + 18 3.6149625095704681e-04 -3.1032459262907857e-04 8.1043030117346074e-04 + 19 8.5103884665345820e-04 -1.4572280596788108e-03 1.0163621287634073e-03 + 20 -6.5204659278590271e-04 4.3989037444289630e-04 4.9909839028508215e-04 + 21 -1.3888125881903852e-03 -3.1978049143082049e-04 1.1455681499836594e-03 + 22 -1.6084223477729513e-03 -1.5355394240820970e-03 1.4772010826232351e-03 + 23 2.6392672378803975e-04 -3.9375414431174569e-03 -3.6991583139727910e-04 + 24 8.6062827067889835e-04 -9.4179873474469346e-04 5.5396395550012518e-04 + 25 1.5933645477487516e-03 -2.2139156625681669e-03 -5.5078029695647542e-04 + 26 -1.5679561743998831e-03 3.5146224354726187e-04 2.4446924193334495e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nph.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nph.yaml index 420e54be25..c80a70b428 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nph.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nph.yaml @@ -1,7 +1,6 @@ --- -lammps_version: 7 Feb 2024 -tags: -date_generated: Mon Mar 25 20:01:00 2024 +lammps_version: 17 Feb 2022 +date_generated: Fri Mar 18 22:18:00 2022 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -15,38 +14,38 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |2- - 4.3578059175768836e+01 1.7275105168781163e+01 6.7372361277896715e+01 5.1985075050485008e+01 -2.0990677388216337e+01 -7.5321398110797180e+00 -global_scalar: 29.023636439584656 + 4.3578059172167876e+01 1.7275105166465000e+01 6.7372361276631054e+01 5.1985075049901745e+01 -2.0990677389800993e+01 -7.5321398101844359e+00 +global_scalar: 29.023636440847998 run_pos: ! |2 - 1 -6.3472039825540794e-01 3.0113983126285611e+00 -8.8148450172186088e-02 - 2 6.4798884173342230e-02 3.5870486860061987e+00 -9.1146271255438371e-01 - 3 -1.1328967478843275e+00 1.5344674077764573e+00 -6.2949567786978555e-01 - 4 -2.1941320441845233e+00 1.8319737599532644e+00 -1.3824693495475202e+00 - 5 -1.3741175247363868e+00 1.1637763350571468e+00 6.0220861483099597e-01 - 6 5.5368589242003274e-02 3.1209253712249918e-01 -1.4252606627468261e+00 - 7 1.1075313780254881e-01 2.8008314824818470e-02 -2.8425552056440617e+00 - 8 1.1011987966103707e+00 -5.4254536577072621e-01 -6.9472264392662098e-01 - 9 1.3580030945400878e+00 -2.6595138115347083e-01 4.4172536708308918e-01 - 10 2.1282964643832170e+00 -1.6781145595678604e+00 -1.0442216631471855e+00 - 11 1.8571593172392049e+00 -2.3497452731073896e+00 -2.1462323657667168e+00 - 12 3.3117732698472082e+00 -5.4913311816195076e-01 -1.8274356036323969e+00 - 13 4.5640183918456607e+00 -1.0445083545908531e+00 -1.8509716390299671e+00 - 14 2.8312769330519618e+00 -4.5135848464346928e-01 -3.0735173792334827e+00 - 15 3.2788434490966321e+00 7.1618295543705379e-01 -1.3765217601453177e+00 - 16 2.8895075000233756e+00 -2.8409365554013446e+00 1.5818504152563229e-01 - 17 2.3837073405560343e+00 -2.4882133308171808e+00 1.5000885103551624e+00 - 18 2.2738793194332434e+00 3.6743407122541889e+00 -4.1408965121171795e+00 - 19 1.6572750518219337e+00 3.2770314238270633e+00 -4.8886441786700008e+00 - 20 2.9120476452894675e+00 4.3568412674987194e+00 -4.5732834167653644e+00 - 21 5.6058485051319096e+00 -4.8495065176594299e+00 -4.2655497599906971e+00 - 22 5.0552709232924169e+00 -4.9851876754509741e+00 -5.1280564952785888e+00 - 23 6.4593933583860359e+00 -4.3461765101804879e+00 -4.5350231457223327e+00 - 24 2.1823354618683570e+00 3.8552931130563355e+00 3.8953804330779889e+00 - 25 1.3973696115700545e+00 3.9794119229082359e+00 3.2321313265764022e+00 - 26 2.7018361229436465e+00 4.7379517630364116e+00 3.9583193477161114e+00 - 27 -2.6559803075362858e+00 -5.1969823689084436e+00 2.6552621488559236e+00 - 28 -3.5927802460212725e+00 -4.7943885088607452e+00 2.0214142204098309e+00 - 29 -1.8739632618342856e+00 -4.2877858778718556e+00 2.8450749793922920e+00 + 1 -6.3472039825517168e-01 3.0113983126282058e+00 -8.8148450172235826e-02 + 2 6.4798884173500326e-02 3.5870486860057795e+00 -9.1146271255434463e-01 + 3 -1.1328967478840362e+00 1.5344674077762583e+00 -6.2949567786977667e-01 + 4 -2.1941320441841130e+00 1.8319737599530370e+00 -1.3824693495474225e+00 + 5 -1.3741175247360697e+00 1.1637763350569887e+00 6.0220861483086097e-01 + 6 5.5368589242158706e-02 3.1209253712244411e-01 -1.4252606627467266e+00 + 7 1.1075313780270069e-01 2.8008314824797154e-02 -2.8425552056438050e+00 + 8 1.1011987966104080e+00 -5.4254536577068713e-01 -6.9472264392660854e-01 + 9 1.3580030945401020e+00 -2.6595138115345840e-01 4.4172536708297194e-01 + 10 2.1282964643831388e+00 -1.6781145595676907e+00 -1.0442216631471304e+00 + 11 1.8571593172391605e+00 -2.3497452731071471e+00 -2.1462323657665392e+00 + 12 3.3117732698469986e+00 -5.4913311816190635e-01 -1.8274356036322548e+00 + 13 4.5640183918453143e+00 -1.0445083545907554e+00 -1.8509716390298214e+00 + 14 2.8312769330518019e+00 -4.5135848464344086e-01 -3.0735173792331993e+00 + 15 3.2788434490964296e+00 7.1618295543695254e-01 -1.3765217601452289e+00 + 16 2.8895075000232158e+00 -2.8409365554010479e+00 1.5818504152554702e-01 + 17 2.3837073405559277e+00 -2.4882133308169232e+00 1.5000885103549333e+00 + 18 2.2738793194357232e+00 3.6743407122553755e+00 -4.1408965121163197e+00 + 19 1.6572750518209336e+00 3.2770314238152451e+00 -4.8886441786593569e+00 + 20 2.9120476452800226e+00 4.3568412675031851e+00 -4.5732834167769187e+00 + 21 5.6058485050774536e+00 -4.8495065176300871e+00 -4.2655497599953458e+00 + 22 5.0552709232982114e+00 -4.9851876752032496e+00 -5.1280564953560424e+00 + 23 6.4593933585948218e+00 -4.3461765105422652e+00 -4.5350231456236889e+00 + 24 2.1823354619125279e+00 3.8552931130470363e+00 3.8953804330431208e+00 + 25 1.3973696115403698e+00 3.9794119228484153e+00 3.2321313266194949e+00 + 26 2.7018361227965517e+00 4.7379517631305443e+00 3.9583193478092706e+00 + 27 -2.6559803075358257e+00 -5.1969823689078796e+00 2.6552621488555683e+00 + 28 -3.5927802460207046e+00 -4.7943885088602283e+00 2.0214142204095413e+00 + 29 -1.8739632618339108e+00 -4.2877858778713946e+00 2.8450749793919066e+00 run_vel: ! |2 1 7.7867804888392077e-04 5.8970331623292821e-04 -2.2179517633030531e-04 2 2.7129529964126462e-03 4.6286427111164284e-03 3.5805549693846352e-03 @@ -65,15 +64,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.0094600492089644e-04 -2.4312792028464785e-04 6.5542049134054972e-04 - 19 7.4731683460624917e-04 -1.2894119671240515e-03 8.4327024053305281e-04 - 20 -6.2333686369944134e-04 4.4115361644063580e-04 3.7135656432041769e-04 - 21 -1.1457423794330429e-03 -1.7337748206069275e-04 9.4510018428907005e-04 - 22 -1.3457150585185161e-03 -1.2816797348700177e-03 1.2470992253076274e-03 - 23 3.6277645495226573e-04 -3.4719859038751704e-03 -4.3796817878355291e-04 - 24 7.2410992459670032e-04 -7.6012809759399148e-04 4.3327155120505761e-04 - 25 1.3921349891892136e-03 -1.9207002802470530e-03 -5.7453335098663809e-04 - 26 -1.4901465945625111e-03 4.2012923513626559e-04 2.1578545406129137e-03 + 18 3.0094600491564739e-04 -2.4312792027781263e-04 6.5542049134062323e-04 + 19 7.4731683462770076e-04 -1.2894119671278408e-03 8.4327024053533397e-04 + 20 -6.2333686369976551e-04 4.4115361641690044e-04 3.7135656431834220e-04 + 21 -1.1457423793218525e-03 -1.7337748161437940e-04 9.4510018429417686e-04 + 22 -1.3457150581639313e-03 -1.2816797357047471e-03 1.2470992250388096e-03 + 23 3.6277645415306518e-04 -3.4719859048227848e-03 -4.3796817853449118e-04 + 24 7.2410992462873655e-04 -7.6012809744767037e-04 4.3327155128124943e-04 + 25 1.3921349892629666e-03 -1.9207002802664867e-03 -5.7453335109528090e-04 + 26 -1.4901465947638008e-03 4.2012923457099966e-04 2.1578545404178418e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nph_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nph_small.yaml index 4d16fc12a0..3894815950 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nph_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nph_small.yaml @@ -1,7 +1,6 @@ --- -lammps_version: 7 Feb 2024 -tags: -date_generated: Mon Mar 25 20:01:00 2024 +lammps_version: 17 Feb 2022 +date_generated: Fri Mar 18 22:18:00 2022 epsilon: 6.5e-13 skip_tests: prerequisites: ! | @@ -15,38 +14,38 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |2- - 2.7340318979717416e+01 4.7963870104375275e+00 6.8884396847589585e+01 2.9853310005453281e+01 -1.0857139898599751e+01 -5.1889756547311965e+00 -global_scalar: 9.776787862991728 + 2.7340318973870396e+01 4.7963870091858283e+00 6.8884396847592512e+01 2.9853310007358935e+01 -1.0857139901347722e+01 -5.1889756561454785e+00 +global_scalar: 9.77678786310451 run_pos: ! |2 - 1 -5.1121862036689958e-01 2.8134872171089729e+00 -4.8993015395755179e-02 - 2 1.4735952487989756e-01 3.3535825972289093e+00 -9.3694001270719340e-01 - 3 -9.8023793775484513e-01 1.4277788160415970e+00 -6.3283768722997102e-01 - 4 -1.9793617512989155e+00 1.7069097152786199e+00 -1.4449221382951762e+00 - 5 -1.2073406578723613e+00 1.0799834439085494e+00 6.9555923026634758e-01 - 6 1.3848116183685821e-01 2.8090381873868608e-01 -1.4910727029123834e+00 - 7 1.9062418945961834e-01 1.4366032742524126e-02 -3.0196292835188681e+00 - 8 1.1231015082843996e+00 -5.2094745136412257e-01 -7.0318517336038155e-01 - 9 1.3648756844511478e+00 -2.6143726919537080e-01 5.2247754752684727e-01 - 10 2.0900856844469189e+00 -1.5863783165917535e+00 -1.0801209545798738e+00 - 11 1.8348175253568222e+00 -2.2165258198426265e+00 -2.2686429310664504e+00 - 12 3.2042965133163452e+00 -5.2712831182460818e-01 -1.9248196297784048e+00 - 13 4.3832508188741741e+00 -9.9190674157045855e-01 -1.9502033172896844e+00 - 14 2.7519224412453145e+00 -4.3539271970399618e-01 -3.2687227073809266e+00 - 15 3.1732939937032665e+00 6.6003562890646350e-01 -1.4385076445930487e+00 - 16 2.8067449168453553e+00 -2.6773787170023233e+00 2.1667842294107942e-01 - 17 2.3305479923932175e+00 -2.3464414104891320e+00 1.6639254952574838e+00 - 18 2.2269920241209178e+00 3.4328783208250382e+00 -4.4342132514621486e+00 - 19 1.6145347679293440e+00 3.0386658278306271e+00 -5.1868156516331227e+00 - 20 2.8608613711127191e+00 4.1100452338250122e+00 -4.8694049549767646e+00 - 21 5.3613621397513214e+00 -4.5653056926761684e+00 -4.5681019697231218e+00 - 22 4.8144754754873968e+00 -4.6999404677006380e+00 -5.4362066555318300e+00 - 23 6.2091840276731247e+00 -4.0659479258840996e+00 -4.8393130642860642e+00 - 24 2.1433208912158790e+00 3.5960988832250020e+00 4.2399236066734023e+00 - 25 1.3636453973794058e+00 3.7192408266942927e+00 3.5723762826011995e+00 - 26 2.6593036731433042e+00 4.4718649489304223e+00 4.3032623332423157e+00 - 27 -2.4141791756415234e+00 -4.8879035738867795e+00 2.9097838637402536e+00 - 28 -3.2961505257559520e+00 -4.5101758871998348e+00 2.2261768979295358e+00 - 29 -1.6779316576007828e+00 -4.0348635219037465e+00 3.1144975929039944e+00 + 1 -5.1121862036604515e-01 2.8134872171079977e+00 -4.8993015395518924e-02 + 2 1.4735952488047133e-01 3.3535825972277546e+00 -9.3694001270735150e-01 + 3 -9.8023793775378820e-01 1.4277788160410712e+00 -6.3283768722999234e-01 + 4 -1.9793617512974304e+00 1.7069097152779946e+00 -1.4449221382955635e+00 + 5 -1.2073406578712120e+00 1.0799834439081337e+00 6.9555923026692668e-01 + 6 1.3848116183742931e-01 2.8090381873852976e-01 -1.4910727029127884e+00 + 7 1.9062418946016990e-01 1.4366032742456625e-02 -3.0196292835199614e+00 + 8 1.1231015082845541e+00 -5.2094745136401599e-01 -7.0318517336042774e-01 + 9 1.3648756844511976e+00 -2.6143726919534771e-01 5.2247754752734465e-01 + 10 2.0900856844466578e+00 -1.5863783165912952e+00 -1.0801209545800976e+00 + 11 1.8348175253566659e+00 -2.2165258198419622e+00 -2.2686429310672072e+00 + 12 3.2042965133156098e+00 -5.2712831182449804e-01 -1.9248196297790088e+00 + 13 4.3832508188729271e+00 -9.9190674157019298e-01 -1.9502033172902991e+00 + 14 2.7519224412447691e+00 -4.3539271970391624e-01 -3.2687227073821310e+00 + 15 3.1732939937025400e+00 6.6003562890618639e-01 -1.4385076445934288e+00 + 16 2.8067449168447887e+00 -2.6773787170015133e+00 2.1667842294144180e-01 + 17 2.3305479923928516e+00 -2.3464414104884277e+00 1.6639254952584981e+00 + 18 2.2269920241232128e+00 3.4328783208254681e+00 -4.4342132514635013e+00 + 19 1.6145347679280793e+00 3.0386658278179439e+00 -5.1868156516245785e+00 + 20 2.8608613711028656e+00 4.1100452338287408e+00 -4.8694049549907970e+00 + 21 5.3613621396958795e+00 -4.5653056926475841e+00 -4.5681019697305372e+00 + 22 4.8144754754921184e+00 -4.6999404674483083e+00 -5.4362066556130868e+00 + 23 6.2091840278795729e+00 -4.0659479262420684e+00 -4.8393130641864568e+00 + 24 2.1433208912603074e+00 3.5960988832146015e+00 4.2399236066404100e+00 + 25 1.3636453973491918e+00 3.7192408266342980e+00 3.5723762826473990e+00 + 26 2.6593036729945752e+00 4.4718649490241678e+00 4.3032623333405660e+00 + 27 -2.4141791756398536e+00 -4.8879035738852403e+00 2.9097838637418292e+00 + 28 -3.2961505257539048e+00 -4.5101758871984199e+00 2.2261768979308005e+00 + 29 -1.6779316575994301e+00 -4.0348635219024889e+00 3.1144975929056571e+00 run_vel: ! |2 1 7.7867804888392077e-04 5.8970331623292821e-04 -2.2179517633030531e-04 2 2.7129529964126462e-03 4.6286427111164284e-03 3.5805549693846352e-03 @@ -65,15 +64,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.1638284997600319e-04 -2.6313163919763335e-04 6.1054395248685519e-04 - 19 7.6494647250110288e-04 -1.3190724749175438e-03 7.9947132612783736e-04 - 20 -6.1620104632483571e-04 4.2577138776739548e-04 3.2526261653790590e-04 - 21 -1.2063428872614197e-03 -2.2879409923923591e-04 8.9132836537741717e-04 - 22 -1.4151473875545966e-03 -1.3502255384792933e-03 1.1972773112250280e-03 - 23 3.1280366189902534e-04 -3.5563936883846667e-03 -4.9548546556753227e-04 - 24 7.5594375538112746e-04 -8.1321044009394260e-04 3.9340911288157350e-04 - 25 1.4373446730968913e-03 -1.9778020567293151e-03 -6.1842201907436371e-04 - 26 -1.4806168648243687e-03 3.7766934332225264e-04 2.1280924227258073e-03 + 18 3.1638284997073272e-04 -2.6313163919070405e-04 6.1054395248656961e-04 + 19 7.6494647252307673e-04 -1.3190724749214326e-03 7.9947132612985723e-04 + 20 -6.1620104632513929e-04 4.2577138774295274e-04 3.2526261653548693e-04 + 21 -1.2063428871524097e-03 -2.2879409878999576e-04 8.9132836538734445e-04 + 22 -1.4151473871894464e-03 -1.3502255393198256e-03 1.1972773109437849e-03 + 23 3.1280366109607172e-04 -3.5563936893394407e-03 -4.9548546532774958e-04 + 24 7.5594375541558026e-04 -8.1321043994394464e-04 3.9340911295780739e-04 + 25 1.4373446731689036e-03 -1.9778020567486213e-03 -6.1842201918304478e-04 + 26 -1.4806168650325999e-03 3.7766934274110835e-04 2.1280924225288342e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_npt.yaml b/unittest/force-styles/tests/fix-timestep-rigid_npt.yaml index 5504ed4686..f5965e53ff 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_npt.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_npt.yaml @@ -1,7 +1,6 @@ --- -lammps_version: 7 Feb 2024 -tags: -date_generated: Mon Mar 25 20:01:01 2024 +lammps_version: 17 Feb 2022 +date_generated: Fri Mar 18 22:18:00 2022 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,65 +13,65 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.6326314448662429e+03 -1.4727331978532245e+03 -3.8557370515929042e+03 5.5052891601619581e+02 4.7346742977256520e+02 -6.2035591882208064e+02 -global_scalar: 106.86683072474244 + -1.6326314448663306e+03 -1.4727331978532295e+03 -3.8557370515932275e+03 5.5052891601644615e+02 4.7346742977310657e+02 -6.2035591882122355e+02 +global_scalar: 106.86683072474125 run_pos: ! |2 - 1 -2.6314711410917102e-01 2.4664715027243860e+00 -1.7093568570953632e-01 - 2 3.1632911015962950e-01 2.9434731493852171e+00 -8.5432214735883338e-01 - 3 -6.7623447816593352e-01 1.2410822625695497e+00 -6.1935152269929450e-01 - 4 -1.5552134736907304e+00 1.4878541800989344e+00 -1.2440909745469027e+00 - 5 -8.7601967096385724e-01 9.3417436540614585e-01 4.0272031680429610e-01 - 6 3.0755837780630380e-01 2.2629147986222176e-01 -1.2791162680674191e+00 - 7 3.5322094628027934e-01 -1.0043890952942114e-02 -2.4548503163675806e+00 - 8 1.1736205127908210e+00 -4.8269091330536096e-01 -6.7273784266496328e-01 - 9 1.3865071239753313e+00 -2.5278331076580596e-01 2.6996653369765600e-01 - 10 2.0239883243193466e+00 -1.4252201368163044e+00 -9.6228264545858089e-01 - 11 1.7991233925767878e+00 -1.9828365722521095e+00 -1.8762366544350000e+00 - 12 3.0044710092991682e+00 -4.8928363303924272e-01 -1.6126944183953009e+00 - 13 4.0415308387391402e+00 -9.0061411581958151e-01 -1.6321139880365303e+00 - 14 2.6064005411335902e+00 -4.0859653026938592e-01 -2.6465043951813936e+00 - 15 2.9775904824773161e+00 5.6065407887862850e-01 -1.2391617757509259e+00 - 16 2.6542663248059526e+00 -2.3895844048753085e+00 3.5746598094734239e-02 - 17 2.2355490747049700e+00 -2.0962135127172692e+00 1.1489434027786212e+00 - 18 2.0921160979710356e+00 2.9872159674136229e+00 -3.4902339097027140e+00 - 19 1.4908686219074729e+00 2.6025398330897387e+00 -4.2194623779119471e+00 - 20 2.7154518806624317e+00 3.6506388357591026e+00 -3.9111287168648765e+00 - 21 4.8435638296045518e+00 -4.0881941921723524e+00 -3.5957796498832693e+00 - 22 4.3080557005379525e+00 -4.2177797604322951e+00 -4.4370935526121276e+00 - 23 5.6713237924942437e+00 -3.5912865024285043e+00 -3.8555915013185178e+00 - 24 2.0228224543350635e+00 3.1208125399084361e+00 3.1634860992076055e+00 - 25 1.2576132296057372e+00 3.2447174749292715e+00 2.5191319958254175e+00 - 26 2.5334951322489658e+00 3.9783477827946756e+00 3.2212409164231035e+00 - 27 -1.8488304998563332e+00 -4.2601261704683413e+00 2.0568476369354238e+00 - 28 -2.6026086128772454e+00 -3.9329047688996370e+00 1.5399898445636415e+00 - 29 -1.2195954744860957e+00 -3.5211468177700862e+00 2.2116264666073588e+00 + 1 -2.6314711410922875e-01 2.4664715027241684e+00 -1.7093568570875561e-01 + 2 3.1632911015968190e-01 2.9434731493852482e+00 -8.5432214735778889e-01 + 3 -6.7623447816593885e-01 1.2410822625695044e+00 -6.1935152269903870e-01 + 4 -1.5552134736906362e+00 1.4878541800991378e+00 -1.2440909745466859e+00 + 5 -8.7601967096402067e-01 9.3417436540572218e-01 4.0272031680440712e-01 + 6 3.0755837780638462e-01 2.2629147986241449e-01 -1.2791162680673960e+00 + 7 3.5322094628053069e-01 -1.0043890952307954e-02 -2.4548503163676365e+00 + 8 1.1736205127907979e+00 -4.8269091330540537e-01 -6.7273784266507608e-01 + 9 1.3865071239751696e+00 -2.5278331076620741e-01 2.6996653369766221e-01 + 10 2.0239883243193546e+00 -1.4252201368162511e+00 -9.6228264545891751e-01 + 11 1.7991233925769246e+00 -1.9828365722517098e+00 -1.8762366544355809e+00 + 12 3.0044710092992837e+00 -4.8928363303895761e-01 -1.6126944183951402e+00 + 13 4.0415308387392486e+00 -9.0061411581930262e-01 -1.6321139880363660e+00 + 14 2.6064005411338655e+00 -4.0859653026870735e-01 -2.6465043951812621e+00 + 15 2.9775904824773907e+00 5.6065407887877150e-01 -1.2391617757503752e+00 + 16 2.6542663248057963e+00 -2.3895844048756363e+00 3.5746598094128501e-02 + 17 2.2355490747046538e+00 -2.0962135127180099e+00 1.1489434027780590e+00 + 18 2.0921160979727347e+00 2.9872159674143273e+00 -3.4902339097026891e+00 + 19 1.4908686219092431e+00 2.6025398330908249e+00 -4.2194623779121834e+00 + 20 2.7154518806645740e+00 3.6506388357595867e+00 -3.9111287168645399e+00 + 21 4.8435638296030810e+00 -4.0881941921728835e+00 -3.5957796498833634e+00 + 22 4.3080557005367073e+00 -4.2177797604324549e+00 -4.4370935526124242e+00 + 23 5.6713237924930837e+00 -3.5912865024293716e+00 -3.8555915013182531e+00 + 24 2.0228224543345528e+00 3.1208125399081723e+00 3.1634860992076259e+00 + 25 1.2576132296055036e+00 3.2447174749294536e+00 2.5191319958251963e+00 + 26 2.5334951322488237e+00 3.9783477827941720e+00 3.2212409164234312e+00 + 27 -1.8488304998563332e+00 -4.2601261704683342e+00 2.0568476369354265e+00 + 28 -2.6026086128772454e+00 -3.9329047688996304e+00 1.5399898445636406e+00 + 29 -1.2195954744860957e+00 -3.5211468177700818e+00 2.2116264666073615e+00 run_vel: ! |2 - 1 1.2393084479632162e-03 7.0215195817134601e-04 -1.1910956210642444e-03 - 2 1.3060936199989690e-03 2.5041119719309234e-04 -1.4496302699052684e-03 - 3 8.7069732478170037e-04 6.1866591813752230e-04 -6.2317312592555772e-04 - 4 8.8100215742026918e-04 5.8380213791525335e-04 -6.5145037264832683e-04 - 5 8.7979303398017070e-04 1.1152950208763543e-03 -4.7231382224773813e-04 - 6 5.3965146863306555e-04 6.8643008418797912e-05 -2.7149223435837187e-04 - 7 3.7117679682156736e-04 -4.5322194777208414e-04 -1.7317402888817444e-04 - 8 4.0378854177637320e-04 9.9015358993721983e-05 -4.1783685861266425e-05 - 9 5.4970639315557207e-04 4.5048022318731326e-04 -1.6045108899939207e-04 - 10 1.2521448037938158e-04 -2.5472783650525840e-04 2.9052485920884211e-04 - 11 -1.0599027352512348e-04 -5.9051612835367331e-04 5.5226010155827335e-04 - 12 3.1798607399607243e-04 -7.9980833669034384e-04 -2.0274707260289267e-04 - 13 2.0597404142668038e-04 -1.0865778699538143e-03 -1.1731137935657286e-04 - 14 2.4719215573317579e-04 -1.1410575874171004e-03 -2.0209037936272953e-04 - 15 6.3286464043720871e-04 -6.3068988069325653e-04 -6.5527927471369335e-04 - 16 -4.4100406048914694e-05 8.6869240445997393e-06 6.5198761255915100e-04 - 17 1.3407421346973834e-04 6.0357565278286712e-04 5.6233596575947994e-04 - 18 7.9277804690533363e-04 -1.5618239874416928e-03 2.1367192719678658e-03 - 19 5.6167660797890148e-04 -1.2371794194914493e-03 2.1562222137424727e-03 - 20 1.1137406410120911e-03 -1.8729421751419769e-03 2.1222207985341088e-03 - 21 -2.8426953558134235e-03 -2.9730185469789214e-03 1.8564402246258563e-03 - 22 -2.9480844379788334e-03 -2.6797216173776307e-03 1.8784164631755556e-03 - 23 -2.5997293519669897e-03 -3.3926375081639489e-03 1.8288830284142509e-03 - 24 1.1689404599044329e-03 -1.6701257754517325e-03 2.1428138286393884e-03 - 25 1.2027302640331447e-03 -1.2630861421197028e-03 2.1808987508669616e-03 - 26 1.6116362268908176e-03 -1.9337182438138503e-03 2.1377249582867175e-03 + 1 1.2393084479630034e-03 7.0215195817155049e-04 -1.1910956210640397e-03 + 2 1.3060936199988536e-03 2.5041119719347224e-04 -1.4496302699051125e-03 + 3 8.7069732478159932e-04 6.1866591813748923e-04 -6.2317312592554579e-04 + 4 8.8100215742025064e-04 5.8380213791516000e-04 -6.5145037264846529e-04 + 5 8.7979303397991678e-04 1.1152950208762130e-03 -4.7231382224758212e-04 + 6 5.3965146863311727e-04 6.8643008418757634e-05 -2.7149223435848658e-04 + 7 3.7117679682181569e-04 -4.5322194777211656e-04 -1.7317402888851005e-04 + 8 4.0378854177636284e-04 9.9015358993666757e-05 -4.1783685861269460e-05 + 9 5.4970639315540500e-04 4.5048022318729304e-04 -1.6045108899919851e-04 + 10 1.2521448037945991e-04 -2.5472783650533836e-04 2.9052485920877619e-04 + 11 -1.0599027352488127e-04 -5.9051612835384309e-04 5.5226010155799178e-04 + 12 3.1798607399623040e-04 -7.9980833669012115e-04 -2.0274707260294341e-04 + 13 2.0597404142686670e-04 -1.0865778699535151e-03 -1.1731137935658918e-04 + 14 2.4719215573349161e-04 -1.1410575874168858e-03 -2.0209037936298231e-04 + 15 6.3286464043726845e-04 -6.3068988069288313e-04 -6.5527927471360488e-04 + 16 -4.4100406048953834e-05 8.6869240444187047e-06 6.5198761255923199e-04 + 17 1.3407421346950653e-04 6.0357565278263911e-04 5.6233596575975121e-04 + 18 7.9277804690569076e-04 -1.5618239874425175e-03 2.1367192719678593e-03 + 19 5.6167660797942776e-04 -1.2371794194922848e-03 2.1562222137424714e-03 + 20 1.1137406410123489e-03 -1.8729421751430327e-03 2.1222207985340819e-03 + 21 -2.8426953558137740e-03 -2.9730185469781381e-03 1.8564402246257748e-03 + 22 -2.9480844379790165e-03 -2.6797216173769360e-03 1.8784164631754769e-03 + 23 -2.5997293519674958e-03 -3.3926375081633348e-03 1.8288830284141459e-03 + 24 1.1689404599043950e-03 -1.6701257754515662e-03 2.1428138286394673e-03 + 25 1.2027302640333160e-03 -1.2630861421196525e-03 2.1808987508670514e-03 + 26 1.6116362268906780e-03 -1.9337182438138849e-03 2.1377249582867843e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_npt_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_npt_small.yaml index d04c58e083..3b13658e19 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_npt_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_npt_small.yaml @@ -1,7 +1,6 @@ --- -lammps_version: 7 Feb 2024 -tags: -date_generated: Mon Mar 25 20:01:01 2024 +lammps_version: 17 Feb 2022 +date_generated: Fri Mar 18 22:18:00 2022 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,38 +13,38 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -8.7531774640811420e+01 5.5811525750281774e+00 -5.5468297761715007e+01 -1.5316306336726905e+02 1.4641268095299071e+02 1.7263710083146290e+01 -global_scalar: 77.78983430422252 + -8.7531774769722489e+01 5.5811525017966304e+00 -5.5468297744356747e+01 -1.5316306343483370e+02 1.4641268097314367e+02 1.7263710089631324e+01 +global_scalar: 77.78983430293286 run_pos: ! |2 - 1 -4.6333219629057343e-01 2.7511450055078264e+00 -1.2865946102794723e-01 - 2 1.7937148390171043e-01 3.2800405238548382e+00 -8.8510337855745913e-01 - 3 -9.2104620265733672e-01 1.3941717929290096e+00 -6.2603796687147195e-01 - 4 -1.8960869879720148e+00 1.6675144043874610e+00 -1.3178544214442827e+00 - 5 -1.1426748052076219e+00 1.0535885915282748e+00 5.0562616550083384e-01 - 6 1.7070712623507234e-01 2.7107933832768616e-01 -1.3571701846609390e+00 - 7 2.2159329060507194e-01 1.0068698962099276e-02 -2.6593507556865532e+00 - 8 1.1315940381700180e+00 -5.1414408469817374e-01 -6.8596713849766644e-01 - 9 1.3675404538221745e+00 -2.6001531899018637e-01 3.5817751536688647e-01 - 10 2.0752698846778816e+00 -1.5574812996958780e+00 -1.0070795245590576e+00 - 11 1.8261547470632973e+00 -2.1745615463236652e+00 -2.0195839000292208e+00 - 12 3.1626236108725436e+00 -5.2019677375534190e-01 -1.7266801053750953e+00 - 13 4.3131602274142278e+00 -9.7533717592347013e-01 -1.7483045222383922e+00 - 14 2.7211536303667962e+00 -4.3036348628169740e-01 -2.8715539682066451e+00 - 15 3.1323683805792637e+00 6.4234915962478567e-01 -1.3123899007468758e+00 - 16 2.7746546569035768e+00 -2.6258578189762343e+00 9.7666596945902739e-02 - 17 2.3099360535752709e+00 -2.3017831004889393e+00 1.3305794265752642e+00 - 18 2.2091748313982826e+00 3.3564440703034535e+00 -3.8370878209026742e+00 - 19 1.5986312961681257e+00 2.9614993054929961e+00 -4.5778944294898185e+00 - 20 2.8405364052584243e+00 4.0335971973267473e+00 -4.2659151033808254e+00 - 21 5.2651527413064194e+00 -4.4761614287784965e+00 -3.9518304737405883e+00 - 22 4.7192922283808425e+00 -4.6119045776644754e+00 -4.8062296927145907e+00 - 23 6.1127575773332410e+00 -3.9811721092729444e+00 -4.2204729628712050e+00 - 24 2.1290800759971340e+00 3.5132841007987228e+00 3.5392070210919400e+00 - 25 1.3519459805793055e+00 3.6349473856926782e+00 2.8807586651545414e+00 - 26 2.6413474240255201e+00 4.3893648731792023e+00 3.6035699963154144e+00 - 27 -2.3204235087838274e+00 -4.7905434153262867e+00 2.3919287951699459e+00 - 28 -3.1811356909809412e+00 -4.4206486004512886e+00 1.8095625809318783e+00 - 29 -1.6019226098511883e+00 -3.9551927030796277e+00 2.5663248522877335e+00 + 1 -4.6333219629007161e-01 2.7511450055070625e+00 -1.2865946102806269e-01 + 2 1.7937148390204793e-01 3.2800405238539234e+00 -8.8510337855738808e-01 + 3 -9.2104620265671233e-01 1.3941717929286011e+00 -6.2603796687145774e-01 + 4 -1.8960869879711328e+00 1.6675144043869761e+00 -1.3178544214440926e+00 + 5 -1.1426748052069362e+00 1.0535885915279550e+00 5.0562616550054784e-01 + 6 1.7070712623541162e-01 2.7107933832755826e-01 -1.3571701846607374e+00 + 7 2.2159329060539701e-01 1.0068698962042433e-02 -2.6593507556860114e+00 + 8 1.1315940381701060e+00 -5.1414408469809381e-01 -6.8596713849763802e-01 + 9 1.3675404538221994e+00 -2.6001531899016506e-01 3.5817751536664133e-01 + 10 2.0752698846777218e+00 -1.5574812996955254e+00 -1.0070795245589492e+00 + 11 1.8261547470632067e+00 -2.1745615463231482e+00 -2.0195839000288469e+00 + 12 3.1626236108721066e+00 -5.2019677375525752e-01 -1.7266801053747978e+00 + 13 4.3131602274134853e+00 -9.7533717592326674e-01 -1.7483045222380902e+00 + 14 2.7211536303664605e+00 -4.3036348628163701e-01 -2.8715539682060491e+00 + 15 3.1323683805788374e+00 6.4234915962457073e-01 -1.3123899007466848e+00 + 16 2.7746546569032322e+00 -2.6258578189755974e+00 9.7666596945726880e-02 + 17 2.3099360535750506e+00 -2.3017831004883886e+00 1.3305794265747686e+00 + 18 2.2091748314094701e+00 3.3564440703097080e+00 -3.8370878208998480e+00 + 19 1.5986312961639815e+00 2.9614993054417287e+00 -4.5778944294436021e+00 + 20 2.8405364052167421e+00 4.0335971973474170e+00 -4.2659151034329339e+00 + 21 5.2651527410670678e+00 -4.4761614286515128e+00 -3.9518304737634447e+00 + 22 4.7192922284117014e+00 -4.6119045765637390e+00 -4.8062296930647124e+00 + 23 6.1127575782518644e+00 -3.9811721108739997e+00 -4.2204729624242692e+00 + 24 2.1290800761933255e+00 3.5132841007593623e+00 3.5392070209389175e+00 + 25 1.3519459804490630e+00 3.6349473854278020e+00 2.8807586653452137e+00 + 26 2.6413474233716503e+00 4.3893648735951771e+00 3.6035699967293215e+00 + 27 -2.3204235087828389e+00 -4.7905434153250859e+00 2.3919287951691697e+00 + 28 -3.1811356909797261e+00 -4.4206486004501846e+00 1.8095625809312565e+00 + 29 -1.6019226098503827e+00 -3.9551927030786480e+00 2.5663248522869146e+00 run_vel: ! |2 1 7.7867804888392077e-04 5.8970331623292821e-04 -2.2179517633030531e-04 2 2.7129529964126462e-03 4.6286427111164284e-03 3.5805549693846352e-03 @@ -64,15 +63,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 7.2384391137821785e-04 -6.0015829219183913e-04 1.5957533239005792e-03 - 19 1.7583138220942001e-03 -3.0158245949231362e-03 2.0310435058145879e-03 - 20 -1.4153552733289841e-03 9.7835305963750062e-04 9.3881222515317965e-04 - 21 -2.7591188784018856e-03 -5.1180651254767841e-04 2.2758295071625967e-03 - 22 -3.2319732438308327e-03 -3.0809796341686479e-03 2.9861065796802132e-03 - 23 6.9767443960831559e-04 -8.1543313047864312e-03 -8.9929523012053270e-04 - 24 1.7345816996818938e-03 -1.8508160077951139e-03 1.0723416139084840e-03 - 25 3.2855417748809557e-03 -4.5284294761711655e-03 -1.2529298997977286e-03 - 26 -3.4004728777299181e-03 8.5952141335802687e-04 5.0505027869618231e-03 + 18 7.2384391131466940e-04 -6.0015829212802722e-04 1.5957533238990559e-03 + 19 1.7583138222551384e-03 -3.0158245948490804e-03 2.0310435058142470e-03 + 20 -1.4153552732353322e-03 9.7835305930749246e-04 9.3881222516217474e-04 + 21 -2.7591188772323472e-03 -5.1180650802276303e-04 2.2758295071994400e-03 + 22 -3.2319732401280494e-03 -3.0809796427949646e-03 2.9861065768383484e-03 + 23 6.9767443123301817e-04 -8.1543313142268207e-03 -8.9929522742256325e-04 + 24 1.7345816999787505e-03 -1.8508160062822962e-03 1.0723416147087287e-03 + 25 3.2855417755407162e-03 -4.5284294762327620e-03 -1.2529299007822618e-03 + 26 -3.4004728795728936e-03 8.5952140737749613e-04 5.0505027847540665e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nve_group.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nve_group.yaml index fc5948cb52..b20d639fd4 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nve_group.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nve_group.yaml @@ -1,7 +1,6 @@ --- -lammps_version: 7 Feb 2024 -tags: -date_generated: Mon Mar 25 20:01:02 2024 +lammps_version: 17 Feb 2022 +date_generated: Fri Mar 18 22:18:00 2022 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -15,65 +14,65 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.4245356938011316e+03 -1.4496493316650758e+03 -3.6144360982530934e+03 8.4840626794790273e+02 2.0318336802433893e+02 -6.0622397695991208e+02 -global_scalar: 15.711521423178162 + -1.4245356938011610e+03 -1.4496493316650424e+03 -3.6144360982532016e+03 8.4840626794792252e+02 2.0318336802442886e+02 -6.0622397695978805e+02 +global_scalar: 15.711521423178128 run_pos: ! |2 - 1 -2.7899546863904412e-01 2.4731857340327541e+00 -1.7290667740243348e-01 - 2 3.0296221610251317e-01 2.9517129916957181e+00 -8.5798904387771990e-01 - 3 -6.9368802364141358e-01 1.2445115421753392e+00 -6.2281111198654315e-01 - 4 -1.5764879647103740e+00 1.4919714415840188e+00 -1.2492069414675249e+00 - 5 -8.9434512967438362e-01 9.3651699743500849e-01 4.0191726558256402e-01 - 6 2.9454439634451368e-01 2.2724545792540876e-01 -1.2845195053960490e+00 - 7 3.4049112903274215e-01 -9.4655678322607961e-03 -2.4634480020857299e+00 - 8 1.1644354555804954e+00 -4.8367776650961680e-01 -6.7663643940736340e-01 - 9 1.3781717822696169e+00 -2.5332509530011327e-01 2.6864954436590560e-01 - 10 2.0186368606042455e+00 -1.4285861423625437e+00 -9.6712491252779242e-01 - 11 1.7929137227578522e+00 -1.9875455388407057e+00 -1.8836565352266585e+00 - 12 3.0032775230399977e+00 -4.8983022415165589e-01 -1.6190248017343138e+00 - 13 4.0448964162126479e+00 -9.0213155122378219e-01 -1.6385398399478794e+00 - 14 2.6035151245016470e+00 -4.0874995493211108e-01 -2.6555999074786221e+00 - 15 2.9761196776172136e+00 5.6287237454116579e-01 -1.2442626196082760e+00 - 16 2.6517373021566839e+00 -2.3957035508393223e+00 3.3389262100708361e-02 - 17 2.2311114924745179e+00 -2.1018393228798340e+00 1.1496088522377621e+00 - 18 2.1390642573196605e+00 3.0164773560691671e+00 -3.5143984803853927e+00 - 19 1.5353246655140995e+00 2.6305911186312847e+00 -4.2455871034736425e+00 - 20 2.7649421538931831e+00 3.6818603528429503e+00 -3.9364115785986438e+00 - 21 4.9043112657304171e+00 -4.0774268210395990e+00 -3.6200836396129659e+00 - 22 4.3665322424288018e+00 -4.2075138112952830e+00 -4.4636587264885161e+00 - 23 5.7355405581989505e+00 -3.5789558641905872e+00 -3.8805763324090754e+00 - 24 2.0692780332810834e+00 3.1504920436416377e+00 3.1571131300668784e+00 - 25 1.3007297593169014e+00 3.2745259354178451e+00 2.5110163874104305e+00 - 26 2.5819416446099250e+00 4.0104903120757749e+00 3.2150249624525231e+00 + 1 -2.7899546863905123e-01 2.4731857340327181e+00 -1.7290667740231969e-01 + 2 3.0296221610252227e-01 2.9517129916957194e+00 -8.5798904387756503e-01 + 3 -6.9368802364141247e-01 1.2445115421753310e+00 -6.2281111198650718e-01 + 4 -1.5764879647103560e+00 1.4919714415840475e+00 -1.2492069414674947e+00 + 5 -8.9434512967440649e-01 9.3651699743494377e-01 4.0191726558257690e-01 + 6 2.9454439634452678e-01 2.2724545792543693e-01 -1.2845195053960459e+00 + 7 3.4049112903278234e-01 -9.4655678321664549e-03 -2.4634480020857370e+00 + 8 1.1644354555804921e+00 -4.8367776650962330e-01 -6.7663643940738027e-01 + 9 1.3781717822695918e+00 -2.5332509530017322e-01 2.6864954436590494e-01 + 10 2.0186368606042460e+00 -1.4285861423625348e+00 -9.6712491252784183e-01 + 11 1.7929137227578726e+00 -1.9875455388406436e+00 -1.8836565352267429e+00 + 12 3.0032775230400142e+00 -4.8983022415161337e-01 -1.6190248017342870e+00 + 13 4.0448964162126639e+00 -9.0213155122374034e-01 -1.6385398399478515e+00 + 14 2.6035151245016883e+00 -4.0874995493201027e-01 -2.6555999074785985e+00 + 15 2.9761196776172243e+00 5.6287237454118566e-01 -1.2442626196081918e+00 + 16 2.6517373021566577e+00 -2.3957035508393689e+00 3.3389262100618433e-02 + 17 2.2311114924744668e+00 -2.1018393228799419e+00 1.1496088522376777e+00 + 18 2.1390642573199212e+00 3.0164773560692755e+00 -3.5143984803853900e+00 + 19 1.5353246655143720e+00 2.6305911186314508e+00 -4.2455871034736816e+00 + 20 2.7649421538935122e+00 3.6818603528430254e+00 -3.9364115785985936e+00 + 21 4.9043112657301942e+00 -4.0774268210396798e+00 -3.6200836396129796e+00 + 22 4.3665322424286144e+00 -4.2075138112953070e+00 -4.4636587264885614e+00 + 23 5.7355405581987764e+00 -3.5789558641907195e+00 -3.8805763324090350e+00 + 24 2.0692780332810026e+00 3.1504920436416008e+00 3.1571131300668833e+00 + 25 1.3007297593168636e+00 3.2745259354178766e+00 2.5110163874103986e+00 + 26 2.5819416446099002e+00 4.0104903120757012e+00 3.2150249624525742e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 4.7093289825842481e-04 2.6351122778449815e-04 -4.4905093064115029e-04 - 2 4.9594625316470614e-04 9.4561370489646928e-05 -5.4581359894049163e-04 - 3 3.3306085115755453e-04 2.3224943880673822e-04 -2.3659455671744877e-04 - 4 3.3692327392259862e-04 2.1926810694050856e-04 -2.4716631558860722e-04 - 5 3.3642542694185568e-04 4.1797578013267277e-04 -1.8011341766655748e-04 - 6 2.0926869754934175e-04 2.6449308951572771e-05 -1.0508938983871239e-04 - 7 1.4629043007906883e-04 -1.6873376665352220e-04 -6.8354048774347479e-05 - 8 1.5844101624224818e-04 3.7728761274000153e-05 -1.9162715667088122e-05 - 9 2.1299362072602399e-04 1.6917140529158875e-04 -6.3528165037844006e-05 - 10 5.4261629412255362e-05 -9.4655528376817648e-05 1.0511362869146607e-04 - 11 -3.2194160796507657e-05 -2.2025095264760857e-04 2.0300202946212778e-04 - 12 1.2640586304750909e-04 -2.9851080445665606e-04 -7.9476371818267184e-05 - 13 8.4523575162152420e-05 -4.0583135407330979e-04 -4.7551111331730963e-05 - 14 9.9954050381270538e-05 -4.2610816481300132e-04 -7.9255633594400035e-05 - 15 2.4417481119790729e-04 -2.3521002264677391e-04 -2.4875318161051720e-04 - 16 -9.0958138549606716e-06 3.7774817121242263e-06 2.4035199548835337e-04 - 17 5.7507224523620660e-05 2.2629217444845357e-04 2.0686920072685659e-04 - 18 2.9220264989356375e-04 -6.2478376436786377e-04 8.4222594596602756e-04 - 19 2.0572616567793704e-04 -5.0334424271716611e-04 8.4953929443210886e-04 - 20 4.1224811789511017e-04 -7.4115205415999053e-04 8.3678612337508690e-04 - 21 -1.0671858777656028e-03 -1.1531171045500558e-03 7.3720674900162051e-04 - 22 -1.1066511338291541e-03 -1.0433933757601397e-03 7.4544544325708389e-04 - 23 -9.7629260480935768e-04 -1.3100872491594961e-03 7.2687284219705075e-04 - 24 4.3308126651259366e-04 -6.6527658087323755e-04 8.4451298670663172e-04 - 25 4.4565811905440515e-04 -5.1298436273583775e-04 8.5878867884520984e-04 - 26 5.9865972692024294e-04 -7.6385263287079004e-04 8.4259943226842036e-04 + 1 4.7093289825841293e-04 2.6351122778450888e-04 -4.4905093064113717e-04 + 2 4.9594625316469964e-04 9.4561370489668111e-05 -5.4581359894048111e-04 + 3 3.3306085115754910e-04 2.3224943880673595e-04 -2.3659455671744723e-04 + 4 3.3692327392259764e-04 2.1926810694050300e-04 -2.4716631558861373e-04 + 5 3.3642542694184180e-04 4.1797578013266372e-04 -1.8011341766654800e-04 + 6 2.0926869754934492e-04 2.6449308951570887e-05 -1.0508938983871866e-04 + 7 1.4629043007908284e-04 -1.6873376665352296e-04 -6.8354048774366290e-05 + 8 1.5844101624224813e-04 3.7728761273997381e-05 -1.9162715667088780e-05 + 9 2.1299362072601532e-04 1.6917140529158732e-04 -6.3528165037833598e-05 + 10 5.4261629412260376e-05 -9.4655528376821362e-05 1.0511362869146115e-04 + 11 -3.2194160796493454e-05 -2.2025095264761673e-04 2.0300202946211041e-04 + 12 1.2640586304751833e-04 -2.9851080445664229e-04 -7.9476371818270762e-05 + 13 8.4523575162163329e-05 -4.0583135407329152e-04 -4.7551111331733064e-05 + 14 9.9954050381288400e-05 -4.2610816481298728e-04 -7.9255633594414740e-05 + 15 2.4417481119791087e-04 -2.3521002264675206e-04 -2.4875318161051227e-04 + 16 -9.0958138549618100e-06 3.7774817121146141e-06 2.4035199548835590e-04 + 17 5.7507224523608950e-05 2.2629217444844056e-04 2.0686920072686990e-04 + 18 2.9220264989358538e-04 -6.2478376436791018e-04 8.4222594596602778e-04 + 19 2.0572616567796829e-04 -5.0334424271721273e-04 8.4953929443210897e-04 + 20 4.1224811789512659e-04 -7.4115205416005016e-04 8.3678612337508636e-04 + 21 -1.0671858777656236e-03 -1.1531171045500116e-03 7.3720674900161585e-04 + 22 -1.1066511338291651e-03 -1.0433933757601002e-03 7.4544544325707912e-04 + 23 -9.7629260480938717e-04 -1.3100872491594619e-03 7.2687284219704522e-04 + 24 4.3308126651259090e-04 -6.6527658087322823e-04 8.4451298670663681e-04 + 25 4.4565811905441464e-04 -5.1298436273583472e-04 8.5878867884521526e-04 + 26 5.9865972692023459e-04 -7.6385263287079232e-04 8.4259943226842524e-04 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nve_molecule.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nve_molecule.yaml index 0f36c31a95..839ac060a5 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nve_molecule.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nve_molecule.yaml @@ -1,7 +1,6 @@ --- -lammps_version: 7 Feb 2024 -tags: -date_generated: Mon Mar 25 20:01:02 2024 +lammps_version: 17 Feb 2022 +date_generated: Fri Mar 18 22:18:00 2022 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -15,8 +14,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200114760030708e+01 -2.6907707699312748e+01 -6.0080872440179061e+00 -2.5620425767600064e+01 -1.3450222535184853e+01 -1.4947348700253382e+00 -global_scalar: 18.340560165889197 + -4.9200114774918006e+01 -2.6907707694141354e+01 -6.0080872444875970e+00 -2.5620425756344780e+01 -1.3450222538011893e+01 -1.4947348732785031e+00 +global_scalar: 18.340560167364448 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -35,15 +34,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1392027588241729e+00 3.0171068018404634e+00 -3.5144628518858858e+00 - 19 1.5366124996944652e+00 2.6286809834366300e+00 -4.2452547844429631e+00 - 20 2.7628161763703827e+00 3.6842251687412753e+00 -3.9370881219283147e+00 - 21 4.9036621349084646e+00 -4.0757648444931904e+00 -3.6192617654848509e+00 - 22 4.3655322292057255e+00 -4.2084949967079632e+00 -4.4622011117106153e+00 - 23 5.7380414788131207e+00 -3.5841969185149058e+00 -3.8827839829438688e+00 - 24 2.0701314764430685e+00 3.1499370533656190e+00 3.1565324853444698e+00 - 25 1.3030170721374645e+00 3.2711173928413317e+00 2.5081940917372791e+00 - 26 2.5776230786045939e+00 4.0127347066259897e+00 3.2182355135086644e+00 + 18 2.1392027588270928e+00 3.0171068018423082e+00 -3.5144628518853867e+00 + 19 1.5366124996934336e+00 2.6286809834236959e+00 -4.2452547844313493e+00 + 20 2.7628161763597592e+00 3.6842251687468450e+00 -3.9370881219419189e+00 + 21 4.9036621348471368e+00 -4.0757648444604762e+00 -3.6192617654906609e+00 + 22 4.3655322292129357e+00 -4.2084949964269480e+00 -4.4622011117992786e+00 + 23 5.7380414790507261e+00 -3.5841969189265162e+00 -3.8827839828320116e+00 + 24 2.0701314764933532e+00 3.1499370533556008e+00 3.1565324853054118e+00 + 25 1.3030170721038390e+00 3.2711173927738786e+00 2.5081940917867680e+00 + 26 2.5776230784374867e+00 4.0127347067334345e+00 3.2182355136150917e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -65,15 +64,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625095571725e-04 -3.1032459263052550e-04 8.1043030117473349e-04 - 19 8.5103884662188244e-04 -1.4572280597071525e-03 1.0163621287543638e-03 - 20 -6.5204659274901945e-04 4.3989037447700791e-04 4.9909839028904252e-04 - 21 -1.3888125889514069e-03 -3.1978049248194420e-04 1.1455681505565557e-03 - 22 -1.6084223477996385e-03 -1.5355394224557757e-03 1.4772010822781041e-03 - 23 2.6392672685288674e-04 -3.9375414405480738e-03 -3.6991583333937880e-04 - 24 8.6062827042478370e-04 -9.4179873506334828e-04 5.5396395546095014e-04 - 25 1.5933645477524167e-03 -2.2139156628045932e-03 -5.5078029709943691e-04 - 26 -1.5679561733890424e-03 3.5146224505578228e-04 2.4446924196328459e-03 + 18 3.6149625094898067e-04 -3.1032459262177040e-04 8.1043030117471950e-04 + 19 8.5103884664914254e-04 -1.4572280597118469e-03 1.0163621287571445e-03 + 20 -6.5204659274939057e-04 4.3989037444674739e-04 4.9909839028631532e-04 + 21 -1.3888125888095134e-03 -3.1978049191290817e-04 1.1455681505629727e-03 + 22 -1.6084223473476296e-03 -1.5355394235202363e-03 1.4772010819351844e-03 + 23 2.6392672583440717e-04 -3.9375414417551127e-03 -3.6991583302200246e-04 + 24 8.6062827046548790e-04 -9.4179873487668705e-04 5.5396395555797203e-04 + 25 1.5933645478462865e-03 -2.2139156628290975e-03 -5.5078029723780941e-04 + 26 -1.5679561736454237e-03 3.5146224433513641e-04 2.4446924193838983e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nve_single.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nve_single.yaml index 6a8c54f4a9..854e8b4d45 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nve_single.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nve_single.yaml @@ -1,7 +1,6 @@ --- -lammps_version: 7 Feb 2024 -tags: -date_generated: Mon Mar 25 20:01:03 2024 +lammps_version: 17 Feb 2022 +date_generated: Fri Mar 18 22:18:00 2022 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -15,26 +14,26 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.3754817467882813e+03 -1.4228425246442055e+03 -3.6087196200592184e+03 8.7407043142559792e+02 2.1665316510417179e+02 -6.0480791467761571e+02 -global_scalar: 4.531423038570381 + -1.3754817467882767e+03 -1.4228425246441275e+03 -3.6087196200592489e+03 8.7407043142559303e+02 2.1665316510426268e+02 -6.0480791467747542e+02 +global_scalar: 4.531423038570333 run_pos: ! |2 - 1 -2.7899546859705771e-01 2.4731857340428069e+00 -1.7290667720877784e-01 - 2 3.0296221616781072e-01 2.9517129917211151e+00 -8.5798904365354312e-01 - 3 -6.9368802362172532e-01 1.2445115422148945e+00 -6.2281111185289584e-01 - 4 -1.5764879646740031e+00 1.4919714416720897e+00 -1.2492069413382207e+00 - 5 -8.9434512967962521e-01 9.3651699743528616e-01 4.0191726569952280e-01 - 6 2.9454439635065666e-01 2.2724545796939852e-01 -1.2845195052894454e+00 - 7 3.4049112905316026e-01 -9.4655677385761805e-03 -2.4634480019885459e+00 - 8 1.1644354555589742e+00 -4.8367776651303018e-01 -6.7663643931661244e-01 - 9 1.3781717822376380e+00 -2.5332509534948033e-01 2.6864954447021760e-01 - 10 2.0186368605646310e+00 -1.4285861423742554e+00 -9.6712491246324517e-01 - 11 1.7929137227201968e+00 -1.9875455388074099e+00 -1.8836565351900401e+00 - 12 3.0032775230343471e+00 -4.8983022415926980e-01 -1.6190248016125621e+00 - 13 4.0448964161972807e+00 -9.0213155125594269e-01 -1.6385398398261892e+00 - 14 2.6035151245155976e+00 -4.0874995488530264e-01 -2.6555999073601715e+00 - 15 2.9761196776308503e+00 5.6287237451805949e-01 -1.2442626194416131e+00 - 16 2.6517373020764849e+00 -2.3957035509095892e+00 3.3389262134333686e-02 - 17 2.2311114923825035e+00 -2.1018393229879604e+00 1.1496088522769004e+00 + 1 -2.7899546859706881e-01 2.4731857340427750e+00 -1.7290667720866193e-01 + 2 3.0296221616781649e-01 2.9517129917211218e+00 -8.5798904365338713e-01 + 3 -6.9368802362172777e-01 1.2445115422148878e+00 -6.2281111185285920e-01 + 4 -1.5764879646739900e+00 1.4919714416721197e+00 -1.2492069413381908e+00 + 5 -8.9434512967965252e-01 9.3651699743522254e-01 4.0191726569953845e-01 + 6 2.9454439635066831e-01 2.2724545796942719e-01 -1.2845195052894431e+00 + 7 3.4049112905319934e-01 -9.4655677384814507e-03 -2.4634480019885556e+00 + 8 1.1644354555589707e+00 -4.8367776651303718e-01 -6.7663643931662931e-01 + 9 1.3781717822376129e+00 -2.5332509534954067e-01 2.6864954447021949e-01 + 10 2.0186368605646337e+00 -1.4285861423742481e+00 -9.6712491246329535e-01 + 11 1.7929137227202196e+00 -1.9875455388073511e+00 -1.8836565351901273e+00 + 12 3.0032775230343667e+00 -4.8983022415922672e-01 -1.6190248016125368e+00 + 13 4.0448964161972993e+00 -9.0213155125590028e-01 -1.6385398398261621e+00 + 14 2.6035151245156412e+00 -4.0874995488520105e-01 -2.6555999073601511e+00 + 15 2.9761196776308623e+00 5.6287237451808192e-01 -1.2442626194415292e+00 + 16 2.6517373020764632e+00 -2.3957035509096389e+00 3.3389262134244646e-02 + 17 2.2311114923824555e+00 -2.1018393229880719e+00 1.1496088522768189e+00 18 2.1384791188033843e+00 3.0177261773770208e+00 -3.5160827596876225e+00 19 1.5349125211132961e+00 2.6315969880333707e+00 -4.2472859440220647e+00 20 2.7641167828863153e+00 3.6833419064000221e+00 -3.9380850623312638e+00 @@ -48,23 +47,23 @@ run_pos: ! |2 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 4.7093296226165618e-04 2.6351124312058857e-04 -4.4905063547614403e-04 - 2 4.9594635271877252e-04 9.4561409237151983e-05 -5.4581325723054321e-04 - 3 3.3306088119082413e-04 2.3224949911015692e-04 -2.3659435306899455e-04 - 4 3.3692332940285378e-04 2.1926824120529077e-04 -2.4716611858554389e-04 - 5 3.3642541894623611e-04 4.1797578053944765e-04 -1.8011323945926958e-04 - 6 2.0926870695907706e-04 2.6449376032434591e-05 -1.0508922741400673e-04 - 7 1.4629046128361865e-04 -1.6873362379725188e-04 -6.8353900724066446e-05 - 8 1.5844098346817927e-04 3.7728756087617390e-05 -1.9162577392845779e-05 - 9 2.1299357198253474e-04 1.6917133003967807e-04 -6.3528006071197993e-05 - 10 5.4261569071247645e-05 -9.4655546204705848e-05 1.0511372702289633e-04 - 11 -3.2194218121526927e-05 -2.2025090185604412e-04 2.0300208519293052e-04 - 12 1.2640585449264128e-04 -2.9851081600947238e-04 -7.9476186245595616e-05 - 13 8.4523551795112752e-05 -4.0583140303608579e-04 -4.7550925831960783e-05 - 14 9.9954071734163598e-05 -4.2610809338915548e-04 -7.9255453072680826e-05 - 15 2.4417483202630842e-04 -2.3521005781668527e-04 -2.4875292755154548e-04 - 16 -9.0959360838764895e-06 3.7773746063197473e-06 2.4035204669042547e-04 - 17 5.7507084250817169e-05 2.2629200960630572e-04 2.0686926033795233e-04 + 1 4.7093296226164550e-04 2.6351124312060223e-04 -4.4905063547613568e-04 + 2 4.9594635271876775e-04 9.4561409237174846e-05 -5.4581325723053790e-04 + 3 3.3306088119081919e-04 2.3224949911015709e-04 -2.3659435306899653e-04 + 4 3.3692332940285361e-04 2.1926824120528752e-04 -2.4716611858555457e-04 + 5 3.3642541894622217e-04 4.1797578053944250e-04 -1.8011323945926332e-04 + 6 2.0926870695908031e-04 2.6449376032433555e-05 -1.0508922741401509e-04 + 7 1.4629046128363305e-04 -1.6873362379725323e-04 -6.8353900724087087e-05 + 8 1.5844098346817862e-04 3.7728756087615553e-05 -1.9162577392847385e-05 + 9 2.1299357198252531e-04 1.6917133003967874e-04 -6.3528006071188683e-05 + 10 5.4261569071251603e-05 -9.4655546204709643e-05 1.0511372702289179e-04 + 11 -3.2194218121513917e-05 -2.2025090185605342e-04 2.0300208519291412e-04 + 12 1.2640585449265036e-04 -2.9851081600945991e-04 -7.9476186245599681e-05 + 13 8.4523551795123310e-05 -4.0583140303606936e-04 -4.7550925831962545e-05 + 14 9.9954071734181717e-05 -4.2610809338914382e-04 -7.9255453072696249e-05 + 15 2.4417483202631243e-04 -2.3521005781666407e-04 -2.4875292755154228e-04 + 16 -9.0959360838797421e-06 3.7773746063106756e-06 2.4035204669042973e-04 + 17 5.7507084250803101e-05 2.2629200960629499e-04 2.0686926033796699e-04 18 -6.0936815808025862e-04 -9.3774557532468582e-04 -3.3558072507805731e-04 19 -6.9919768291957119e-04 -3.6060777270430031e-03 4.2833405289822791e-03 20 4.7777805013736515e-03 5.1003745845520452e-03 1.8002873923729241e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nve_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nve_small.yaml index 7b702a4f2a..664921b147 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nve_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nve_small.yaml @@ -1,7 +1,6 @@ --- -lammps_version: 7 Feb 2024 -tags: -date_generated: Mon Mar 25 20:01:03 2024 +lammps_version: 17 Feb 2022 +date_generated: Fri Mar 18 22:18:00 2022 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -15,8 +14,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200114760030708e+01 -2.6907707699312748e+01 -6.0080872440179061e+00 -2.5620425767600064e+01 -1.3450222535184853e+01 -1.4947348700253382e+00 -global_scalar: 0.5007318719399354 + -4.9200114774918006e+01 -2.6907707694141354e+01 -6.0080872444875970e+00 -2.5620425756344780e+01 -1.3450222538011893e+01 -1.4947348732785031e+00 +global_scalar: 0.5007318719663203 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -35,15 +34,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1392027588241729e+00 3.0171068018404634e+00 -3.5144628518858858e+00 - 19 1.5366124996944652e+00 2.6286809834366300e+00 -4.2452547844429631e+00 - 20 2.7628161763703827e+00 3.6842251687412753e+00 -3.9370881219283147e+00 - 21 4.9036621349084646e+00 -4.0757648444931904e+00 -3.6192617654848509e+00 - 22 4.3655322292057255e+00 -4.2084949967079632e+00 -4.4622011117106153e+00 - 23 5.7380414788131207e+00 -3.5841969185149058e+00 -3.8827839829438688e+00 - 24 2.0701314764430685e+00 3.1499370533656190e+00 3.1565324853444698e+00 - 25 1.3030170721374645e+00 3.2711173928413317e+00 2.5081940917372791e+00 - 26 2.5776230786045939e+00 4.0127347066259897e+00 3.2182355135086644e+00 + 18 2.1392027588270928e+00 3.0171068018423082e+00 -3.5144628518853867e+00 + 19 1.5366124996934336e+00 2.6286809834236959e+00 -4.2452547844313493e+00 + 20 2.7628161763597592e+00 3.6842251687468450e+00 -3.9370881219419189e+00 + 21 4.9036621348471368e+00 -4.0757648444604762e+00 -3.6192617654906609e+00 + 22 4.3655322292129357e+00 -4.2084949964269480e+00 -4.4622011117992786e+00 + 23 5.7380414790507261e+00 -3.5841969189265162e+00 -3.8827839828320116e+00 + 24 2.0701314764933532e+00 3.1499370533556008e+00 3.1565324853054118e+00 + 25 1.3030170721038390e+00 3.2711173927738786e+00 2.5081940917867680e+00 + 26 2.5776230784374867e+00 4.0127347067334345e+00 3.2182355136150917e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -65,15 +64,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625095571725e-04 -3.1032459263052550e-04 8.1043030117473349e-04 - 19 8.5103884662188244e-04 -1.4572280597071525e-03 1.0163621287543638e-03 - 20 -6.5204659274901945e-04 4.3989037447700791e-04 4.9909839028904252e-04 - 21 -1.3888125889514069e-03 -3.1978049248194420e-04 1.1455681505565557e-03 - 22 -1.6084223477996385e-03 -1.5355394224557757e-03 1.4772010822781041e-03 - 23 2.6392672685288674e-04 -3.9375414405480738e-03 -3.6991583333937880e-04 - 24 8.6062827042478370e-04 -9.4179873506334828e-04 5.5396395546095014e-04 - 25 1.5933645477524167e-03 -2.2139156628045932e-03 -5.5078029709943691e-04 - 26 -1.5679561733890424e-03 3.5146224505578228e-04 2.4446924196328459e-03 + 18 3.6149625094898067e-04 -3.1032459262177040e-04 8.1043030117471950e-04 + 19 8.5103884664914254e-04 -1.4572280597118469e-03 1.0163621287571445e-03 + 20 -6.5204659274939057e-04 4.3989037444674739e-04 4.9909839028631532e-04 + 21 -1.3888125888095134e-03 -3.1978049191290817e-04 1.1455681505629727e-03 + 22 -1.6084223473476296e-03 -1.5355394235202363e-03 1.4772010819351844e-03 + 23 2.6392672583440717e-04 -3.9375414417551127e-03 -3.6991583302200246e-04 + 24 8.6062827046548790e-04 -9.4179873487668705e-04 5.5396395555797203e-04 + 25 1.5933645478462865e-03 -2.2139156628290975e-03 -5.5078029723780941e-04 + 26 -1.5679561736454237e-03 3.5146224433513641e-04 2.4446924193838983e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nvt.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nvt.yaml index b8ec6036a3..a49508ca15 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nvt.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nvt.yaml @@ -1,8 +1,7 @@ --- -lammps_version: 7 Feb 2024 -tags: -date_generated: Mon Mar 25 20:01:03 2024 -epsilon: 1e-12 +lammps_version: 17 Feb 2022 +date_generated: Fri Mar 18 22:18:00 2022 +epsilon: 5e-13 skip_tests: prerequisites: ! | atom full @@ -14,26 +13,26 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.3123962047758187e+03 -1.3675423591720764e+03 -3.5468492999580299e+03 7.8271738572394452e+02 2.6480486115379637e+02 -7.6950536863892899e+02 -global_scalar: 68.08659647424867 + -1.3123962047757550e+03 -1.3675423591710460e+03 -3.5468492999583855e+03 7.8271738572396373e+02 2.6480486115495069e+02 -7.6950536863736306e+02 +global_scalar: 68.08659647423171 run_pos: ! |2 - 1 -2.7802951913978302e-01 2.4737132264315886e+00 -1.7381271738770820e-01 - 2 3.0397800832462774e-01 2.9519031941430738e+00 -8.5908822750493219e-01 - 3 -6.9299720296403144e-01 1.2449766685867643e+00 -6.2329294828390935e-01 - 4 -1.5757894675977402e+00 1.4924105480969891e+00 -1.2497098747245081e+00 - 5 -8.9364750934382919e-01 9.3735293261092456e-01 4.0154813851965188e-01 - 6 2.9498813449158368e-01 2.2729986882934847e-01 -1.2847387164261186e+00 - 7 3.4080910884973536e-01 -9.8008218373410172e-03 -2.4635938021178290e+00 - 8 1.1647778042705941e+00 -4.8360070140696521e-01 -6.7668409924193851e-01 - 9 1.3786230528162504e+00 -2.5298559880063631e-01 2.6851325883859889e-01 - 10 2.0187712935465760e+00 -1.4287732348423197e+00 -9.6692440387075651e-01 - 11 1.7928755785828601e+00 -1.9879833661321924e+00 -1.8832605388677695e+00 - 12 3.0035558347417104e+00 -4.9042429038332558e-01 -1.6191927838349707e+00 - 13 4.0450911337528455e+00 -9.0293975523220671e-01 -1.6386440514139291e+00 - 14 2.6037405819188639e+00 -4.0959881564248080e-01 -2.6557674031623937e+00 - 15 2.9766330093333795e+00 5.6240461100740513e-01 -1.2447686007445669e+00 - 16 2.6517453810150675e+00 -2.3956939898019254e+00 3.3859750044092363e-02 - 17 2.2312525656155877e+00 -2.1013855689248668e+00 1.1500124166847305e+00 + 1 -2.7802951913990959e-01 2.4737132264311215e+00 -1.7381271738602289e-01 + 2 3.0397800832473609e-01 2.9519031941431444e+00 -8.5908822750267100e-01 + 3 -6.9299720296404743e-01 1.2449766685866726e+00 -6.2329294828335358e-01 + 4 -1.5757894675975461e+00 1.4924105480974301e+00 -1.2497098747240374e+00 + 5 -8.9364750934418624e-01 9.3735293261000852e-01 4.0154813851989335e-01 + 6 2.9498813449175199e-01 2.2729986882976547e-01 -1.2847387164260673e+00 + 7 3.4080910885027837e-01 -9.8008218359699473e-03 -2.4635938021179546e+00 + 8 1.1647778042705452e+00 -4.8360070140706557e-01 -6.7668409924218165e-01 + 9 1.3786230528159027e+00 -2.5298559880150862e-01 2.6851325883861188e-01 + 10 2.0187712935465942e+00 -1.4287732348422091e+00 -9.6692440387148870e-01 + 11 1.7928755785831587e+00 -1.9879833661313322e+00 -1.8832605388690278e+00 + 12 3.0035558347419657e+00 -4.9042429038271507e-01 -1.6191927838346238e+00 + 13 4.0450911337530959e+00 -9.0293975523160919e-01 -1.6386440514135796e+00 + 14 2.6037405819194577e+00 -4.0959881564101863e-01 -2.6557674031621108e+00 + 15 2.9766330093335447e+00 5.6240461100771322e-01 -1.2447686007433758e+00 + 16 2.6517453810147344e+00 -2.3956939898026426e+00 3.3859750042781744e-02 + 17 2.2312525656149020e+00 -2.1013855689264771e+00 1.1500124166835219e+00 18 2.1384791188033843e+00 3.0177261773770208e+00 -3.5160827596876225e+00 19 1.5349125211132961e+00 2.6315969880333707e+00 -4.2472859440220647e+00 20 2.7641167828863153e+00 3.6833419064000221e+00 -3.9380850623312638e+00 @@ -47,23 +46,23 @@ run_pos: ! |2 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 1.8443993556507550e-03 1.0121779580008364e-03 -1.7361326034906117e-03 - 2 1.9401022924561704e-03 3.6428754787474148e-04 -2.1069540627809144e-03 - 3 1.3158623602986111e-03 8.9265747656469769e-04 -9.2144725682167822e-04 - 4 1.3306255280096579e-03 8.4281508656016844e-04 -9.6194026572521364e-04 - 5 1.3289682243418409e-03 1.6048237018838117e-03 -7.0511232123120064e-04 - 6 8.4113718611817723e-04 1.0389683283156166e-04 -4.1697370456838980e-04 - 7 5.9950574545550414e-04 -6.4437674895204296e-04 -2.7586696717479603e-04 - 8 6.4634547270655271e-04 1.4734228826538870e-04 -8.7540766366732192e-05 - 9 8.5561404484556399e-04 6.5123532540342654e-04 -2.5782947158584915e-04 - 10 2.4688038968457540e-04 -3.5995975344040265e-04 3.8912416843293944e-04 - 11 -8.4672359473939376e-05 -8.4134349031586390e-04 7.6463157764299549e-04 - 12 5.2321633256271539e-04 -1.1418047427487572e-03 -3.1842516233546950e-04 - 13 3.6258187754852045e-04 -1.5531581259503574e-03 -1.9590476904008422e-04 - 14 4.2166181631227780e-04 -1.6310415916636891e-03 -3.1740232809282303e-04 - 15 9.7471807923364706e-04 -8.9939841791107037e-04 -9.6757308853435780e-04 - 16 4.1534888650543531e-06 1.7705740203412426e-05 9.0753010117785768e-04 - 17 2.5969943716097897e-04 8.7075266710338634e-04 7.7887058799558893e-04 + 1 1.8443993556501188e-03 1.0121779580014884e-03 -1.7361326034900006e-03 + 2 1.9401022924558343e-03 3.6428754787592733e-04 -2.1069540627804634e-03 + 3 1.3158623602983108e-03 8.9265747656461540e-04 -9.2144725682164657e-04 + 4 1.3306255280096089e-03 8.4281508655990054e-04 -9.6194026572564146e-04 + 5 1.3289682243410692e-03 1.6048237018834067e-03 -7.0511232123071470e-04 + 6 8.4113718611833661e-04 1.0389683283144290e-04 -4.1697370456873913e-04 + 7 5.9950574545626287e-04 -6.4437674895215604e-04 -2.7586696717582678e-04 + 8 6.4634547270651834e-04 1.4734228826522431e-04 -8.7540766366730972e-05 + 9 8.5561404484505246e-04 6.5123532540338036e-04 -2.5782947158524498e-04 + 10 2.4688038968480818e-04 -3.5995975344065565e-04 3.8912416843275122e-04 + 11 -8.4672359473208624e-05 -8.4134349031640394e-04 7.6463157764214873e-04 + 12 5.2321633256319569e-04 -1.1418047427480882e-03 -3.1842516233562688e-04 + 13 3.6258187754908603e-04 -1.5531581259494627e-03 -1.9590476904013767e-04 + 14 4.2166181631324117e-04 -1.6310415916630540e-03 -3.1740232809360453e-04 + 15 9.7471807923383321e-04 -8.9939841790992827e-04 -9.6757308853409824e-04 + 16 4.1534888649229478e-06 1.7705740202856454e-05 9.0753010117813394e-04 + 17 2.5969943716026096e-04 8.7075266710270492e-04 7.7887058799645239e-04 18 -6.0936815808025862e-04 -9.3774557532468582e-04 -3.3558072507805731e-04 19 -6.9919768291957119e-04 -3.6060777270430031e-03 4.2833405289822791e-03 20 4.7777805013736515e-03 5.1003745845520452e-03 1.8002873923729241e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nvt_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nvt_small.yaml index deeee40b52..6068993094 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nvt_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nvt_small.yaml @@ -1,7 +1,6 @@ --- -lammps_version: 7 Feb 2024 -tags: -date_generated: Mon Mar 25 20:01:04 2024 +lammps_version: 17 Feb 2022 +date_generated: Fri Mar 18 22:18:00 2022 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,8 +13,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.4827261099624999e+02 -1.8411194282828326e+01 -1.0752762861573947e+02 -2.1814511471949461e+02 1.7027764305079162e+02 2.1058942246396320e+01 -global_scalar: 0.9532609552151339 + -1.4827261116680472e+02 -1.8411194349753309e+01 -1.0752762859308649e+02 -2.1814511477016276e+02 1.7027764307147623e+02 2.1058942244057214e+01 +global_scalar: 0.9532609554739606 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -34,15 +33,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1395635672857165e+00 3.0168023048413781e+00 -3.5136606977888540e+00 - 19 1.5374727853296883e+00 2.6272080573369379e+00 -4.2442423140961818e+00 - 20 2.7621434608442974e+00 3.6846842324506923e+00 -3.9366036440451500e+00 - 21 4.9022821627727593e+00 -4.0760572705753884e+00 -3.6181235130648650e+00 - 22 4.3639257458473608e+00 -4.2100277337137149e+00 -4.4607219426242057e+00 - 23 5.7383384123314833e+00 -3.5881799299869201e+00 -3.8831848693467652e+00 - 24 2.0709922900187268e+00 3.1490053461587983e+00 3.1570777021928031e+00 - 25 1.3046262535950772e+00 3.2688902578410239e+00 2.5076144139609013e+00 - 26 2.5760050692220648e+00 4.0131166908053464e+00 3.2207051908683750e+00 + 18 2.1395635672981443e+00 3.0168023048492310e+00 -3.5136606977867388e+00 + 19 1.5374727853253387e+00 2.6272080572819609e+00 -4.2442423140467360e+00 + 20 2.7621434607990372e+00 3.6846842324743214e+00 -3.9366036441030396e+00 + 21 4.9022821625125470e+00 -4.0760572704380627e+00 -3.6181235130909242e+00 + 22 4.3639257458824501e+00 -4.2100277325126187e+00 -4.4607219430080747e+00 + 23 5.7383384133351401e+00 -3.5881799317362106e+00 -3.8831848688588710e+00 + 24 2.0709922902331592e+00 3.1490053461169678e+00 3.1570777020268803e+00 + 25 1.3046262534530633e+00 3.2688902575528282e+00 2.5076144141701078e+00 + 26 2.5760050685080813e+00 4.0131166912605272e+00 3.2207051913215210e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -64,15 +63,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 7.8522439447394326e-04 -6.6826115070004464e-04 1.7528441282176825e-03 - 19 1.8628941717384645e-03 -3.1840047052822556e-03 2.2062694140226819e-03 - 20 -1.4430972532419690e-03 9.7564145880034414e-04 1.0686492192457362e-03 - 21 -3.0047717260078453e-03 -6.6139344410253201e-04 2.4784169376928207e-03 - 22 -3.4980341614361554e-03 -3.3380963226435131e-03 3.2191614012082861e-03 - 23 5.9333931535562748e-04 -8.6231086111150188e-03 -8.2692040667271425e-04 - 24 1.8727912307694413e-03 -2.0349136837727452e-03 1.1951471743788897e-03 - 25 3.4887365951187166e-03 -4.8232966888750181e-03 -1.2263764478999317e-03 - 26 -3.4770257989604671e-03 7.8662050913487318e-04 5.3381090686904524e-03 + 18 7.8522439440007537e-04 -6.6826115062653757e-04 1.7528441282153480e-03 + 19 1.8628941719211862e-03 -3.1840047051916367e-03 2.2062694140207390e-03 + 20 -1.4430972531298200e-03 9.7564145841628493e-04 1.0686492192569898e-03 + 21 -3.0047717246574385e-03 -6.6139343888744974e-04 2.4784169377340712e-03 + 22 -3.4980341571643784e-03 -3.3380963325931002e-03 3.2191613979274040e-03 + 23 5.9333930569297746e-04 -8.6231086219834968e-03 -8.2692040355627789e-04 + 24 1.8727912311097641e-03 -2.0349136820274911e-03 1.1951471753018509e-03 + 25 3.4887365958745920e-03 -4.8232966889391266e-03 -1.2263764490291313e-03 + 26 -3.4770258010749858e-03 7.8662050223200905e-04 5.3381090661352298e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_single.yaml b/unittest/force-styles/tests/fix-timestep-rigid_single.yaml index a8087adef5..02acb437d9 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_single.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_single.yaml @@ -1,7 +1,6 @@ --- -lammps_version: 7 Feb 2024 -tags: -date_generated: Mon Mar 25 20:01:04 2024 +lammps_version: 17 Feb 2022 +date_generated: Fri Mar 18 22:18:00 2022 epsilon: 7.5e-13 skip_tests: prerequisites: ! | @@ -15,26 +14,26 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.3754817466835991e+03 -1.4228425246166084e+03 -3.6087196201914162e+03 8.7407043149699155e+02 2.1665316519769920e+02 -6.0480791462032153e+02 -global_scalar: 4.531423038570312 + -1.3754817466835989e+03 -1.4228425246166137e+03 -3.6087196201914348e+03 8.7407043149698916e+02 2.1665316519769885e+02 -6.0480791462033073e+02 +global_scalar: 4.531423038570297 run_pos: ! |2 - 1 -2.7899546859693225e-01 2.4731857340428771e+00 -1.7290667720876018e-01 - 2 3.0296221616793617e-01 2.9517129917211538e+00 -8.5798904365354822e-01 - 3 -6.9368802362166271e-01 1.2445115422149740e+00 -6.2281111185285387e-01 - 4 -1.5764879646739496e+00 1.4919714416722003e+00 -1.2492069413381550e+00 - 5 -8.9434512967954460e-01 9.3651699743538508e-01 4.0191726569957453e-01 - 6 2.9454439635065910e-01 2.2724545796943096e-01 -1.2845195052894227e+00 - 7 3.4049112905311785e-01 -9.4655677385578896e-03 -2.4634480019885232e+00 - 8 1.1644354555589664e+00 -4.8367776651302741e-01 -6.7663643931660822e-01 - 9 1.3781717822376678e+00 -2.5332509534947639e-01 2.6864954447021405e-01 - 10 2.0186368605645768e+00 -1.4285861423742912e+00 -9.6712491246325705e-01 - 11 1.7929137227200933e+00 -1.9875455388074468e+00 -1.8836565351900401e+00 - 12 3.0032775230343129e+00 -4.8983022415935129e-01 -1.6190248016126136e+00 - 13 4.0448964161972292e+00 -9.0213155125606781e-01 -1.6385398398262672e+00 - 14 2.6035151245155359e+00 -4.0874995488537874e-01 -2.6555999073602123e+00 - 15 2.9761196776308694e+00 5.6287237451798344e-01 -1.2442626194416739e+00 - 16 2.6517373020764223e+00 -2.3957035509096416e+00 3.3389262134313369e-02 - 17 2.2311114923824853e+00 -2.1018393229879830e+00 1.1496088522768906e+00 + 1 -2.7899546859693136e-01 2.4731857340428784e+00 -1.7290667720876285e-01 + 2 3.0296221616793728e-01 2.9517129917211546e+00 -8.5798904365355155e-01 + 3 -6.9368802362166204e-01 1.2445115422149751e+00 -6.2281111185285498e-01 + 4 -1.5764879646739487e+00 1.4919714416722010e+00 -1.2492069413381564e+00 + 5 -8.9434512967954416e-01 9.3651699743538730e-01 4.0191726569957442e-01 + 6 2.9454439635065910e-01 2.2724545796943096e-01 -1.2845195052894232e+00 + 7 3.4049112905311751e-01 -9.4655677385591108e-03 -2.4634480019885228e+00 + 8 1.1644354555589662e+00 -4.8367776651302724e-01 -6.7663643931660777e-01 + 9 1.3781717822376680e+00 -2.5332509534947545e-01 2.6864954447021416e-01 + 10 2.0186368605645764e+00 -1.4285861423742918e+00 -9.6712491246325605e-01 + 11 1.7929137227200918e+00 -1.9875455388074483e+00 -1.8836565351900385e+00 + 12 3.0032775230343125e+00 -4.8983022415935312e-01 -1.6190248016126132e+00 + 13 4.0448964161972283e+00 -9.0213155125606947e-01 -1.6385398398262669e+00 + 14 2.6035151245155355e+00 -4.0874995488538129e-01 -2.6555999073602123e+00 + 15 2.9761196776308694e+00 5.6287237451798222e-01 -1.2442626194416753e+00 + 16 2.6517373020764219e+00 -2.3957035509096407e+00 3.3389262134315700e-02 + 17 2.2311114923824857e+00 -2.1018393229879817e+00 1.1496088522768926e+00 18 2.1384791188033843e+00 3.0177261773770208e+00 -3.5160827596876225e+00 19 1.5349125211132961e+00 2.6315969880333707e+00 -4.2472859440220647e+00 20 2.7641167828863153e+00 3.6833419064000221e+00 -3.9380850623312638e+00 @@ -48,23 +47,23 @@ run_pos: ! |2 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 4.7093296226165726e-04 2.6351124312057366e-04 -4.4905063547614750e-04 - 2 4.9594635271877263e-04 9.4561409237139244e-05 -5.4581325723053519e-04 - 3 3.3306088119083079e-04 2.3224949911015511e-04 -2.3659435306900900e-04 - 4 3.3692332940286722e-04 2.1926824120529738e-04 -2.4716611858556574e-04 - 5 3.3642541894624012e-04 4.1797578053943767e-04 -1.8011323945929113e-04 - 6 2.0926870695908297e-04 2.6449376032441903e-05 -1.0508922741401427e-04 - 7 1.4629046128362941e-04 -1.6873362379723111e-04 -6.8353900724071745e-05 - 8 1.5844098346817935e-04 3.7728756087619165e-05 -1.9162577392849147e-05 - 9 2.1299357198252962e-04 1.6917133003966793e-04 -6.3528006071199972e-05 - 10 5.4261569071245965e-05 -9.4655546204698774e-05 1.0511372702289789e-04 - 11 -3.2194218121522970e-05 -2.2025090185602350e-04 2.0300208519292848e-04 - 12 1.2640585449263589e-04 -2.9851081600946756e-04 -7.9476186245575178e-05 - 13 8.4523551795102697e-05 -4.0583140303608210e-04 -4.7550925831930561e-05 - 14 9.9954071734164248e-05 -4.2610809338913878e-04 -7.9255453072661758e-05 - 15 2.4417483202630007e-04 -2.3521005781669015e-04 -2.4875292755151984e-04 - 16 -9.0959360838839976e-06 3.7773746063194848e-06 2.4035204669042588e-04 - 17 5.7507084250806896e-05 2.2629200960629374e-04 2.0686926033794661e-04 + 1 4.7093296226165759e-04 2.6351124312057290e-04 -4.4905063547614669e-04 + 2 4.9594635271877263e-04 9.4561409237138512e-05 -5.4581325723053421e-04 + 3 3.3306088119083101e-04 2.3224949911015481e-04 -2.3659435306900835e-04 + 4 3.3692332940286717e-04 2.1926824120529722e-04 -2.4716611858556465e-04 + 5 3.3642541894624077e-04 4.1797578053943724e-04 -1.8011323945929064e-04 + 6 2.0926870695908283e-04 2.6449376032441855e-05 -1.0508922741401397e-04 + 7 1.4629046128362884e-04 -1.6873362379723068e-04 -6.8353900724071325e-05 + 8 1.5844098346817943e-04 3.7728756087619084e-05 -1.9162577392849316e-05 + 9 2.1299357198253002e-04 1.6917133003966749e-04 -6.3528006071200284e-05 + 10 5.4261569071245856e-05 -9.4655546204698666e-05 1.0511372702289738e-04 + 11 -3.2194218121523431e-05 -2.2025090185602293e-04 2.0300208519292805e-04 + 12 1.2640585449263546e-04 -2.9851081600946745e-04 -7.9476186245575585e-05 + 13 8.4523551795102263e-05 -4.0583140303608199e-04 -4.7550925831931374e-05 + 14 9.9954071734163435e-05 -4.2610809338913835e-04 -7.9255453072661880e-05 + 15 2.4417483202629980e-04 -2.3521005781669047e-04 -2.4875292755152005e-04 + 16 -9.0959360838836724e-06 3.7773746063194780e-06 2.4035204669042463e-04 + 17 5.7507084250807628e-05 2.2629200960629336e-04 2.0686926033794547e-04 18 -6.0936815808025862e-04 -9.3774557532468582e-04 -3.3558072507805731e-04 19 -6.9919768291957119e-04 -3.6060777270430031e-03 4.2833405289822791e-03 20 4.7777805013736515e-03 5.1003745845520452e-03 1.8002873923729241e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_small.yaml index 0eae9f7559..92754f85f5 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_small.yaml @@ -1,7 +1,6 @@ --- -lammps_version: 7 Feb 2024 -tags: -date_generated: Mon Mar 25 20:01:05 2024 +lammps_version: 17 Feb 2022 +date_generated: Fri Mar 18 22:18:00 2022 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -15,8 +14,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200116134788615e+01 -2.6907707565987401e+01 -6.0080860422276308e+00 -2.5620423972100241e+01 -1.3450224059984270e+01 -1.4947288487006070e+00 -global_scalar: 18.340560167414402 + -4.9200116134789873e+01 -2.6907707565987707e+01 -6.0080860422278581e+00 -2.5620423972101300e+01 -1.3450224059983967e+01 -1.4947288487003760e+00 +global_scalar: 18.3405601674144 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -35,15 +34,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1392027588271301e+00 3.0171068018412783e+00 -3.5144628518856353e+00 - 19 1.5366124997074575e+00 2.6286809834111740e+00 -4.2452547844370221e+00 - 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352558e+00 - 21 4.9036621347791236e+00 -4.0757648442838548e+00 -3.6192617654515908e+00 - 22 4.3655322291888474e+00 -4.2084949965552561e+00 -4.4622011117402343e+00 - 23 5.7380414793463110e+00 -3.5841969195032672e+00 -3.8827839830470219e+00 + 18 2.1392027588271301e+00 3.0171068018412779e+00 -3.5144628518856349e+00 + 19 1.5366124997074571e+00 2.6286809834111748e+00 -4.2452547844370221e+00 + 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352554e+00 + 21 4.9036621347791245e+00 -4.0757648442838548e+00 -3.6192617654515904e+00 + 22 4.3655322291888483e+00 -4.2084949965552561e+00 -4.4622011117402334e+00 + 23 5.7380414793463101e+00 -3.5841969195032672e+00 -3.8827839830470219e+00 24 2.0701314765323930e+00 3.1499370533342330e+00 3.1565324852522938e+00 - 25 1.3030170721374787e+00 3.2711173927682244e+00 2.5081940917429759e+00 - 26 2.5776230782480041e+00 4.0127347068243884e+00 3.2182355138709284e+00 + 25 1.3030170721374779e+00 3.2711173927682249e+00 2.5081940917429768e+00 + 26 2.5776230782480045e+00 4.0127347068243875e+00 3.2182355138709275e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -65,15 +64,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625095704849e-04 -3.1032459262908286e-04 8.1043030117346052e-04 - 19 8.5103884665345473e-04 -1.4572280596788095e-03 1.0163621287634121e-03 - 20 -6.5204659278590661e-04 4.3989037444289755e-04 4.9909839028507901e-04 - 21 -1.3888125881903906e-03 -3.1978049143082342e-04 1.1455681499836646e-03 - 22 -1.6084223477729526e-03 -1.5355394240821163e-03 1.4772010826232394e-03 - 23 2.6392672378804821e-04 -3.9375414431174795e-03 -3.6991583139728377e-04 - 24 8.6062827067890269e-04 -9.4179873474469291e-04 5.5396395550012388e-04 - 25 1.5933645477487551e-03 -2.2139156625681673e-03 -5.5078029695647250e-04 - 26 -1.5679561743998888e-03 3.5146224354726068e-04 2.4446924193334487e-03 + 18 3.6149625095704914e-04 -3.1032459262908286e-04 8.1043030117346052e-04 + 19 8.5103884665345452e-04 -1.4572280596788108e-03 1.0163621287634116e-03 + 20 -6.5204659278590683e-04 4.3989037444289853e-04 4.9909839028507901e-04 + 21 -1.3888125881903923e-03 -3.1978049143082385e-04 1.1455681499836646e-03 + 22 -1.6084223477729510e-03 -1.5355394240821117e-03 1.4772010826232375e-03 + 23 2.6392672378805124e-04 -3.9375414431174821e-03 -3.6991583139728095e-04 + 24 8.6062827067890247e-04 -9.4179873474469237e-04 5.5396395550012453e-04 + 25 1.5933645477487538e-03 -2.2139156625681695e-03 -5.5078029695647401e-04 + 26 -1.5679561743998840e-03 3.5146224354726100e-04 2.4446924193334478e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/formats/test_atom_styles.cpp b/unittest/formats/test_atom_styles.cpp index 15ce3ae605..1da2dfa33c 100644 --- a/unittest/formats/test_atom_styles.cpp +++ b/unittest/formats/test_atom_styles.cpp @@ -1922,58 +1922,70 @@ TEST_F(AtomStyleTest, tri) EXPECT_NEAR(radius[GETIDX(5)], 0.5, EPSILON); EXPECT_NEAR(radius[GETIDX(6)], 0.5, EPSILON); - EXPECT_NEAR(bonus[0].inertia[2], 14.017974903242481, EPSILON); + EXPECT_NEAR(bonus[0].inertia[0], 14.017974903242481, EPSILON); EXPECT_NEAR(bonus[0].inertia[1], 13.94589575227541, EPSILON); - EXPECT_NEAR(bonus[0].inertia[0], 0.072258416330334363, EPSILON); - EXPECT_NEAR(bonus[1].inertia[2], 13.982119044342252, EPSILON); + EXPECT_NEAR(bonus[0].inertia[2], 0.072258416330334363, EPSILON); + EXPECT_NEAR(bonus[1].inertia[0], 13.982119044342252, EPSILON); EXPECT_NEAR(bonus[1].inertia[1], 13.945895752275419, EPSILON); - EXPECT_NEAR(bonus[1].inertia[0], 0.10811427523057447, EPSILON); - EXPECT_NEAR(bonus[2].inertia[2], 19.15175691481879, EPSILON); + EXPECT_NEAR(bonus[1].inertia[2], 0.10811427523057447, EPSILON); + EXPECT_NEAR(bonus[2].inertia[0], 19.15175691481879, EPSILON); EXPECT_NEAR(bonus[2].inertia[1], 18.948744087979005, EPSILON); - EXPECT_NEAR(bonus[2].inertia[0], 0.23541253382609079, EPSILON); - EXPECT_NEAR(bonus[3].inertia[2], 19.018309360029388, EPSILON); + EXPECT_NEAR(bonus[2].inertia[2], 0.23541253382609079, EPSILON); + EXPECT_NEAR(bonus[3].inertia[0], 19.018309360029388, EPSILON); EXPECT_NEAR(bonus[3].inertia[1], 18.948744087979012, EPSILON); - EXPECT_NEAR(bonus[3].inertia[0], 0.36886008861549813, EPSILON); - EXPECT_NEAR(bonus[0].quat[0], 0.92373678792937974, EPSILON); - EXPECT_NEAR(bonus[0].quat[1], 0.0067268233964605136, EPSILON); - EXPECT_NEAR(bonus[0].quat[2], 0.016239988275423622, EPSILON); - EXPECT_NEAR(bonus[0].quat[3], -0.38262430562330857, EPSILON); - EXPECT_NEAR(bonus[1].quat[0], 0.63633478678991862, EPSILON); - EXPECT_NEAR(bonus[1].quat[1], 0.66894644809679971, EPSILON); - EXPECT_NEAR(bonus[1].quat[2], 0.26478147716387457, EPSILON); - EXPECT_NEAR(bonus[1].quat[3], 0.27835132126616718, EPSILON); - EXPECT_NEAR(bonus[2].quat[0], 0.90191325590647375, EPSILON); - EXPECT_NEAR(bonus[2].quat[1], 0.2009681312851252, EPSILON); - EXPECT_NEAR(bonus[2].quat[2], 0.1002758475123109, EPSILON); - EXPECT_NEAR(bonus[2].quat[3], 0.36892959143125958, EPSILON); - EXPECT_NEAR(bonus[3].quat[0], 0.34503278332913523, EPSILON); - EXPECT_NEAR(bonus[3].quat[1], 0.17090845404750615, EPSILON); - EXPECT_NEAR(bonus[3].quat[2], 0.44689296000042461, EPSILON); - EXPECT_NEAR(bonus[3].quat[3], 0.80748335033318219, EPSILON); - EXPECT_NEAR(bonus[0].c1[0], -0.14933690186163626, EPSILON); - EXPECT_NEAR(bonus[0].c1[2], -0.0052525338293288879, EPSILON); - EXPECT_NEAR(bonus[1].c1[0], -0.18681344121910512, EPSILON); - EXPECT_NEAR(bonus[1].c1[2], 0.18561232929671317, EPSILON); - EXPECT_NEAR(bonus[2].c1[0], -0.78775285695558628, EPSILON); - EXPECT_NEAR(bonus[2].c1[2], -0.22123552085772158, EPSILON); - EXPECT_NEAR(bonus[3].c1[0], -0.47901475403318072, EPSILON); - EXPECT_NEAR(bonus[3].c1[2], -0.69845793336676587, EPSILON); - EXPECT_NEAR(bonus[0].c2[0], 0.55733290519255363, EPSILON); - EXPECT_NEAR(bonus[0].c2[2], 0.019602723119529656, EPSILON); - EXPECT_NEAR(bonus[1].c2[0], -0.22223836695322477, EPSILON); - EXPECT_NEAR(bonus[1].c2[2], 0.22080949143752887, EPSILON); - EXPECT_NEAR(bonus[2].c2[0], 0.63043795621810073, EPSILON); - EXPECT_NEAR(bonus[2].c2[2], 0.17705460333259254, EPSILON); - EXPECT_NEAR(bonus[3].c2[0], 0.15093208974463557, EPSILON); - EXPECT_NEAR(bonus[3].c2[2], 0.22007613459534847, EPSILON); - EXPECT_NEAR(bonus[0].c3[0], -0.4079960033309174, EPSILON); - EXPECT_NEAR(bonus[0].c3[2], -0.014350189290200809, EPSILON); - EXPECT_NEAR(bonus[1].c3[0], 0.40905180817232961, EPSILON); - EXPECT_NEAR(bonus[1].c3[2], -0.40642182073424171, EPSILON); - EXPECT_NEAR(bonus[2].c3[0], 0.15731490073748589, EPSILON); - EXPECT_NEAR(bonus[2].c3[2], 0.044180917525128927, EPSILON); - EXPECT_NEAR(bonus[3].c3[0], 0.32808266428854477, EPSILON); - EXPECT_NEAR(bonus[3].c3[2], 0.4783817987714174, EPSILON); + EXPECT_NEAR(bonus[3].inertia[2], 0.36886008861549813, EPSILON); + EXPECT_NEAR(bonus[0].quat[0], 0.66466395261228639, EPSILON); + EXPECT_NEAR(bonus[0].quat[1], -0.26579965871355399, EPSILON); + EXPECT_NEAR(bonus[0].quat[2], -0.64169714094040209, EPSILON); + EXPECT_NEAR(bonus[0].quat[3], -0.27531282359251713, EPSILON); + EXPECT_NEAR(bonus[1].quat[0], 0.63718542087921404, EPSILON); + EXPECT_NEAR(bonus[1].quat[1], 0.66984067651944412, EPSILON); + EXPECT_NEAR(bonus[1].quat[2], -0.26272786480888066, EPSILON); + EXPECT_NEAR(bonus[1].quat[3], -0.27619246288035992, EPSILON); + EXPECT_NEAR(bonus[2].quat[0], 0.70865471105868871, EPSILON); + EXPECT_NEAR(bonus[2].quat[1], 0.40297854431552654, EPSILON); + EXPECT_NEAR(bonus[2].quat[2], -0.56684324752832238, EPSILON); + EXPECT_NEAR(bonus[2].quat[3], 0.11876668744732566, EPSILON); + EXPECT_NEAR(bonus[3].quat[0], 0.55997606330452898, EPSILON); + EXPECT_NEAR(bonus[3].quat[1], 0.69182747953492685, EPSILON); + EXPECT_NEAR(bonus[3].quat[2], 0.072026021657128514, EPSILON); + EXPECT_NEAR(bonus[3].quat[3], 0.45012642589672475, EPSILON); + EXPECT_NEAR(bonus[0].c1[0], -0.0052525338293288905, EPSILON); + EXPECT_NEAR(bonus[0].c1[1], -0.55767753582520529, EPSILON); + EXPECT_NEAR(bonus[0].c1[2], 0.14933690186163631, EPSILON); + EXPECT_NEAR(bonus[1].c1[0], 0.18561232929671426, EPSILON); + EXPECT_NEAR(bonus[1].c1[1], 0.51379191773154387, EPSILON); + EXPECT_NEAR(bonus[1].c1[2], 0.18681344121910506, EPSILON); + EXPECT_NEAR(bonus[2].c1[0], -0.22123552085772166, EPSILON); + EXPECT_NEAR(bonus[2].c1[1], -0.28372571379613187, EPSILON); + EXPECT_NEAR(bonus[2].c1[2], 0.78775285695558617, EPSILON); + EXPECT_NEAR(bonus[3].c1[0], -0.69845793336676587, EPSILON); + EXPECT_NEAR(bonus[3].c1[1], 0.18083523090249506, EPSILON); + EXPECT_NEAR(bonus[3].c1[2], 0.47901475403318056, EPSILON); + EXPECT_NEAR(bonus[0].c2[0], 0.019602723119529659, EPSILON); + EXPECT_NEAR(bonus[0].c2[1], 0.14942924536134222, EPSILON); + EXPECT_NEAR(bonus[0].c2[2], -0.55733290519255385, EPSILON); + EXPECT_NEAR(bonus[1].c2[0], 0.2208094914375279, EPSILON); + EXPECT_NEAR(bonus[1].c2[1], -0.4849604211463005, EPSILON); + EXPECT_NEAR(bonus[1].c2[2], 0.22223836695322477, EPSILON); + EXPECT_NEAR(bonus[2].c2[0], 0.17705460333259249, EPSILON); + EXPECT_NEAR(bonus[2].c2[1], -0.56674478453558153, EPSILON); + EXPECT_NEAR(bonus[2].c2[2], -0.6304379562181005, EPSILON); + EXPECT_NEAR(bonus[3].c2[0], 0.22007613459534958, EPSILON); + EXPECT_NEAR(bonus[3].c2[1], -0.82388470022624394, EPSILON); + EXPECT_NEAR(bonus[3].c2[2], -0.15093208974463557, EPSILON); + EXPECT_NEAR(bonus[0].c3[0], -0.014350189290200811, EPSILON); + EXPECT_NEAR(bonus[0].c3[1], 0.40824829046386302, EPSILON); + EXPECT_NEAR(bonus[0].c3[2], 0.40799600333091751, EPSILON); + EXPECT_NEAR(bonus[1].c3[0], -0.40642182073424188, EPSILON); + EXPECT_NEAR(bonus[1].c3[1], -0.028831496585242929, EPSILON); + EXPECT_NEAR(bonus[1].c3[2], -0.40905180817232945, EPSILON); + EXPECT_NEAR(bonus[2].c3[0], 0.044180917525129149, EPSILON); + EXPECT_NEAR(bonus[2].c3[1], 0.85047049833171351, EPSILON); + EXPECT_NEAR(bonus[2].c3[2], -0.15731490073748589, EPSILON); + EXPECT_NEAR(bonus[3].c3[0], 0.47838179877141634, EPSILON); + EXPECT_NEAR(bonus[3].c3[1], 0.64304946932374796, EPSILON); + EXPECT_NEAR(bonus[3].c3[2], -0.32808266428854477, EPSILON); BEGIN_HIDE_OUTPUT(); command("group two id 2:4:2"); @@ -2036,58 +2048,70 @@ TEST_F(AtomStyleTest, tri) EXPECT_NEAR(radius[GETIDX(11)], 0.5, EPSILON); EXPECT_NEAR(radius[GETIDX(12)], 0.5, EPSILON); - EXPECT_NEAR(bonus[0].inertia[2], 14.017974903242481, EPSILON); + EXPECT_NEAR(bonus[0].inertia[0], 14.017974903242481, EPSILON); EXPECT_NEAR(bonus[0].inertia[1], 13.94589575227541, EPSILON); - EXPECT_NEAR(bonus[0].inertia[0], 0.072258416330334363, EPSILON); - EXPECT_NEAR(bonus[1].inertia[2], 19.15175691481879, EPSILON); + EXPECT_NEAR(bonus[0].inertia[2], 0.072258416330334363, EPSILON); + EXPECT_NEAR(bonus[1].inertia[0], 19.15175691481879, EPSILON); EXPECT_NEAR(bonus[1].inertia[1], 18.948744087979005, EPSILON); - EXPECT_NEAR(bonus[1].inertia[0], 0.23541253382609079, EPSILON); - EXPECT_NEAR(bonus[2].inertia[2], 14.017974903242481, EPSILON); + EXPECT_NEAR(bonus[1].inertia[2], 0.23541253382609079, EPSILON); + EXPECT_NEAR(bonus[2].inertia[0], 14.017974903242481, EPSILON); EXPECT_NEAR(bonus[2].inertia[1], 13.94589575227541, EPSILON); - EXPECT_NEAR(bonus[2].inertia[0], 0.072258416330334363, EPSILON); - EXPECT_NEAR(bonus[3].inertia[2], 19.15175691481879, EPSILON); + EXPECT_NEAR(bonus[2].inertia[2], 0.072258416330334363, EPSILON); + EXPECT_NEAR(bonus[3].inertia[0], 19.15175691481879, EPSILON); EXPECT_NEAR(bonus[3].inertia[1], 18.948744087979005, EPSILON); - EXPECT_NEAR(bonus[3].inertia[0], 0.23541253382609079, EPSILON); - EXPECT_NEAR(bonus[0].quat[0], 0.92373678792937974, EPSILON); - EXPECT_NEAR(bonus[0].quat[1], 0.0067268233964605136, EPSILON); - EXPECT_NEAR(bonus[0].quat[2], 0.016239988275423622, EPSILON); - EXPECT_NEAR(bonus[0].quat[3], -0.38262430562330857, EPSILON); - EXPECT_NEAR(bonus[1].quat[0], 0.90191325590647375, EPSILON); - EXPECT_NEAR(bonus[1].quat[1], 0.2009681312851252, EPSILON); - EXPECT_NEAR(bonus[1].quat[2], 0.1002758475123109, EPSILON); - EXPECT_NEAR(bonus[1].quat[3], 0.36892959143125958, EPSILON); - EXPECT_NEAR(bonus[2].quat[0], 0.92373678792937974, EPSILON); - EXPECT_NEAR(bonus[2].quat[1], 0.0067268233964605136, EPSILON); - EXPECT_NEAR(bonus[2].quat[2], 0.016239988275423622, EPSILON); - EXPECT_NEAR(bonus[2].quat[3], -0.38262430562330857, EPSILON); - EXPECT_NEAR(bonus[3].quat[0], 0.90191325590647375, EPSILON); - EXPECT_NEAR(bonus[3].quat[1], 0.2009681312851252, EPSILON); - EXPECT_NEAR(bonus[3].quat[2], 0.1002758475123109, EPSILON); - EXPECT_NEAR(bonus[3].quat[3], 0.36892959143125958, EPSILON); - EXPECT_NEAR(bonus[0].c1[0], -0.14933690186163626, EPSILON); - EXPECT_NEAR(bonus[0].c1[2], -0.0052525338293288879, EPSILON); - EXPECT_NEAR(bonus[1].c1[0], -0.78775285695558628, EPSILON); - EXPECT_NEAR(bonus[1].c1[2], -0.22123552085772158, EPSILON); - EXPECT_NEAR(bonus[2].c1[0], -0.14933690186163626, EPSILON); - EXPECT_NEAR(bonus[2].c1[2], -0.0052525338293288879, EPSILON); - EXPECT_NEAR(bonus[3].c1[0], -0.78775285695558628, EPSILON); - EXPECT_NEAR(bonus[3].c1[2], -0.22123552085772158, EPSILON); - EXPECT_NEAR(bonus[0].c2[0], 0.55733290519255363, EPSILON); - EXPECT_NEAR(bonus[0].c2[2], 0.019602723119529656, EPSILON); - EXPECT_NEAR(bonus[1].c2[0], 0.63043795621810073, EPSILON); - EXPECT_NEAR(bonus[1].c2[2], 0.17705460333259254, EPSILON); - EXPECT_NEAR(bonus[2].c2[0], 0.55733290519255363, EPSILON); - EXPECT_NEAR(bonus[2].c2[2], 0.019602723119529656, EPSILON); - EXPECT_NEAR(bonus[3].c2[0], 0.63043795621810073, EPSILON); - EXPECT_NEAR(bonus[3].c2[2], 0.17705460333259254, EPSILON); - EXPECT_NEAR(bonus[0].c3[0], -0.4079960033309174, EPSILON); - EXPECT_NEAR(bonus[0].c3[2], -0.014350189290200809, EPSILON); - EXPECT_NEAR(bonus[1].c3[0], 0.15731490073748589, EPSILON); - EXPECT_NEAR(bonus[1].c3[2], 0.044180917525128927, EPSILON); - EXPECT_NEAR(bonus[2].c3[0], -0.4079960033309174, EPSILON); - EXPECT_NEAR(bonus[2].c3[2], -0.014350189290200809, EPSILON); - EXPECT_NEAR(bonus[3].c3[0], 0.15731490073748589, EPSILON); - EXPECT_NEAR(bonus[3].c3[2], 0.044180917525128927, EPSILON); + EXPECT_NEAR(bonus[3].inertia[2], 0.23541253382609079, EPSILON); + EXPECT_NEAR(bonus[0].quat[0], 0.66466395261228639, EPSILON); + EXPECT_NEAR(bonus[0].quat[1], -0.26579965871355399, EPSILON); + EXPECT_NEAR(bonus[0].quat[2], -0.64169714094040209, EPSILON); + EXPECT_NEAR(bonus[0].quat[3], -0.27531282359251713, EPSILON); + EXPECT_NEAR(bonus[1].quat[0], 0.70865471105868871, EPSILON); + EXPECT_NEAR(bonus[1].quat[1], 0.40297854431552654, EPSILON); + EXPECT_NEAR(bonus[1].quat[2], -0.56684324752832238, EPSILON); + EXPECT_NEAR(bonus[1].quat[3], 0.11876668744732566, EPSILON); + EXPECT_NEAR(bonus[2].quat[0], 0.66466395261228639, EPSILON); + EXPECT_NEAR(bonus[2].quat[1], -0.26579965871355399, EPSILON); + EXPECT_NEAR(bonus[2].quat[2], -0.64169714094040209, EPSILON); + EXPECT_NEAR(bonus[2].quat[3], -0.27531282359251713, EPSILON); + EXPECT_NEAR(bonus[3].quat[0], 0.70865471105868871, EPSILON); + EXPECT_NEAR(bonus[3].quat[1], 0.40297854431552654, EPSILON); + EXPECT_NEAR(bonus[3].quat[2], -0.56684324752832238, EPSILON); + EXPECT_NEAR(bonus[3].quat[3], 0.11876668744732566, EPSILON); + EXPECT_NEAR(bonus[0].c1[0], -0.0052525338293288879, EPSILON); + EXPECT_NEAR(bonus[0].c1[1], -0.55767753582520529, EPSILON); + EXPECT_NEAR(bonus[0].c1[2], 0.14933690186163626, EPSILON); + EXPECT_NEAR(bonus[1].c1[0], -0.22123552085772158, EPSILON); + EXPECT_NEAR(bonus[1].c1[1], -0.28372571379613187, EPSILON); + EXPECT_NEAR(bonus[1].c1[2], 0.78775285695558628, EPSILON); + EXPECT_NEAR(bonus[2].c1[0], -0.0052525338293288905, EPSILON); + EXPECT_NEAR(bonus[2].c1[1], -0.55767753582520529, EPSILON); + EXPECT_NEAR(bonus[2].c1[2], 0.14933690186163631, EPSILON); + EXPECT_NEAR(bonus[3].c1[0], -0.22123552085772166, EPSILON); + EXPECT_NEAR(bonus[3].c1[1], -0.28372571379613187, EPSILON); + EXPECT_NEAR(bonus[3].c1[2], 0.78775285695558617, EPSILON); + EXPECT_NEAR(bonus[0].c2[0], 0.019602723119529659, EPSILON); + EXPECT_NEAR(bonus[0].c2[1], 0.14942924536134222, EPSILON); + EXPECT_NEAR(bonus[0].c2[2], -0.55733290519255385, EPSILON); + EXPECT_NEAR(bonus[1].c2[0], 0.17705460333259249, EPSILON); + EXPECT_NEAR(bonus[1].c2[1], -0.56674478453558153, EPSILON); + EXPECT_NEAR(bonus[1].c2[2], -0.6304379562181005, EPSILON); + EXPECT_NEAR(bonus[2].c2[0], 0.019602723119529659, EPSILON); + EXPECT_NEAR(bonus[2].c2[1], 0.14942924536134222, EPSILON); + EXPECT_NEAR(bonus[2].c2[2], -0.55733290519255385, EPSILON); + EXPECT_NEAR(bonus[3].c2[0], 0.17705460333259249, EPSILON); + EXPECT_NEAR(bonus[3].c2[1], -0.56674478453558153, EPSILON); + EXPECT_NEAR(bonus[3].c2[2], -0.6304379562181005, EPSILON); + EXPECT_NEAR(bonus[0].c3[0], -0.014350189290200811, EPSILON); + EXPECT_NEAR(bonus[0].c3[1], 0.40824829046386302, EPSILON); + EXPECT_NEAR(bonus[0].c3[2], 0.40799600333091751, EPSILON); + EXPECT_NEAR(bonus[1].c3[0], 0.044180917525129149, EPSILON); + EXPECT_NEAR(bonus[1].c3[1], 0.85047049833171351, EPSILON); + EXPECT_NEAR(bonus[1].c3[2], -0.15731490073748589, EPSILON); + EXPECT_NEAR(bonus[2].c3[0], -0.014350189290200811, EPSILON); + EXPECT_NEAR(bonus[2].c3[1], 0.40824829046386302, EPSILON); + EXPECT_NEAR(bonus[2].c3[2], 0.40799600333091751, EPSILON); + EXPECT_NEAR(bonus[3].c3[0], 0.044180917525129149, EPSILON); + EXPECT_NEAR(bonus[3].c3[1], 0.85047049833171351, EPSILON); + EXPECT_NEAR(bonus[3].c3[2], -0.15731490073748589, EPSILON); BEGIN_HIDE_OUTPUT(); command("reset_atoms id"); @@ -2116,18 +2140,18 @@ TEST_F(AtomStyleTest, tri) ASSERT_EQ(tri[GETIDX(6)], -1); ASSERT_EQ(tri[GETIDX(7)], 3); ASSERT_EQ(tri[GETIDX(8)], -1); - EXPECT_NEAR(bonus[0].inertia[2], 14.017974903242481, EPSILON); + EXPECT_NEAR(bonus[0].inertia[0], 14.017974903242481, EPSILON); EXPECT_NEAR(bonus[0].inertia[1], 13.94589575227541, EPSILON); - EXPECT_NEAR(bonus[0].inertia[0], 0.072258416330334363, EPSILON); - EXPECT_NEAR(bonus[1].inertia[2], 19.15175691481879, EPSILON); + EXPECT_NEAR(bonus[0].inertia[2], 0.072258416330334363, EPSILON); + EXPECT_NEAR(bonus[1].inertia[0], 19.15175691481879, EPSILON); EXPECT_NEAR(bonus[1].inertia[1], 18.948744087979005, EPSILON); - EXPECT_NEAR(bonus[1].inertia[0], 0.23541253382609079, EPSILON); - EXPECT_NEAR(bonus[2].inertia[2], 14.017974903242481, EPSILON); + EXPECT_NEAR(bonus[1].inertia[2], 0.23541253382609079, EPSILON); + EXPECT_NEAR(bonus[2].inertia[0], 14.017974903242481, EPSILON); EXPECT_NEAR(bonus[2].inertia[1], 13.94589575227541, EPSILON); - EXPECT_NEAR(bonus[2].inertia[0], 0.072258416330334363, EPSILON); - EXPECT_NEAR(bonus[3].inertia[2], 19.15175691481879, EPSILON); + EXPECT_NEAR(bonus[2].inertia[2], 0.072258416330334363, EPSILON); + EXPECT_NEAR(bonus[3].inertia[0], 19.15175691481879, EPSILON); EXPECT_NEAR(bonus[3].inertia[1], 18.948744087979005, EPSILON); - EXPECT_NEAR(bonus[3].inertia[0], 0.23541253382609079, EPSILON); + EXPECT_NEAR(bonus[3].inertia[2], 0.23541253382609079, EPSILON); } TEST_F(AtomStyleTest, body_nparticle) @@ -2323,18 +2347,18 @@ TEST_F(AtomStyleTest, body_nparticle) EXPECT_NEAR(radius[GETIDX(5)], 0.5, EPSILON); EXPECT_NEAR(radius[GETIDX(6)], 0.5, EPSILON); - EXPECT_NEAR(bonus[0].inertia[2], 2.0, EPSILON); + EXPECT_NEAR(bonus[0].inertia[0], 2.0, EPSILON); EXPECT_NEAR(bonus[0].inertia[1], 2.0, EPSILON); - EXPECT_NEAR(bonus[0].inertia[0], 0.0, EPSILON); - EXPECT_NEAR(bonus[1].inertia[2], 4.5, EPSILON); + EXPECT_NEAR(bonus[0].inertia[2], 0.0, EPSILON); + EXPECT_NEAR(bonus[1].inertia[0], 4.5, EPSILON); EXPECT_NEAR(bonus[1].inertia[1], 4.0, EPSILON); - EXPECT_NEAR(bonus[1].inertia[0], 0.5, EPSILON); - EXPECT_NEAR(bonus[2].inertia[2], 1.7746273249544022, EPSILON); + EXPECT_NEAR(bonus[1].inertia[2], 0.5, EPSILON); + EXPECT_NEAR(bonus[2].inertia[0], 1.7746273249544022, EPSILON); EXPECT_NEAR(bonus[2].inertia[1], 1.67188, EPSILON); - EXPECT_NEAR(bonus[2].inertia[0], 0.49099767504559777, EPSILON); - EXPECT_NEAR(bonus[3].inertia[2], 12.0, EPSILON); + EXPECT_NEAR(bonus[2].inertia[2], 0.49099767504559777, EPSILON); + EXPECT_NEAR(bonus[3].inertia[0], 12.0, EPSILON); EXPECT_NEAR(bonus[3].inertia[1], 12.0, EPSILON); - EXPECT_NEAR(bonus[3].inertia[0], 0.0, EPSILON); + EXPECT_NEAR(bonus[3].inertia[2], 0.0, EPSILON); EXPECT_NEAR(bonus[0].quat[0], 1.0, EPSILON); EXPECT_NEAR(bonus[0].quat[1], 0.0, EPSILON); EXPECT_NEAR(bonus[0].quat[2], 0.0, EPSILON); @@ -2495,18 +2519,18 @@ TEST_F(AtomStyleTest, body_nparticle) EXPECT_NEAR(radius[GETIDX(5)], 0.5, EPSILON); EXPECT_NEAR(radius[GETIDX(6)], 0.5, EPSILON); - EXPECT_NEAR(bonus[0].inertia[2], 2.0, EPSILON); + EXPECT_NEAR(bonus[0].inertia[0], 2.0, EPSILON); EXPECT_NEAR(bonus[0].inertia[1], 2.0, EPSILON); - EXPECT_NEAR(bonus[0].inertia[0], 0.0, EPSILON); - EXPECT_NEAR(bonus[1].inertia[2], 4.5, EPSILON); + EXPECT_NEAR(bonus[0].inertia[2], 0.0, EPSILON); + EXPECT_NEAR(bonus[1].inertia[0], 4.5, EPSILON); EXPECT_NEAR(bonus[1].inertia[1], 4.0, EPSILON); - EXPECT_NEAR(bonus[1].inertia[0], 0.5, EPSILON); - EXPECT_NEAR(bonus[2].inertia[2], 1.7746273249544022, EPSILON); + EXPECT_NEAR(bonus[1].inertia[2], 0.5, EPSILON); + EXPECT_NEAR(bonus[2].inertia[0], 1.7746273249544022, EPSILON); EXPECT_NEAR(bonus[2].inertia[1], 1.67188, EPSILON); - EXPECT_NEAR(bonus[2].inertia[0], 0.49099767504559777, EPSILON); - EXPECT_NEAR(bonus[3].inertia[2], 12.0, EPSILON); + EXPECT_NEAR(bonus[2].inertia[2], 0.49099767504559777, EPSILON); + EXPECT_NEAR(bonus[3].inertia[0], 12.0, EPSILON); EXPECT_NEAR(bonus[3].inertia[1], 12.0, EPSILON); - EXPECT_NEAR(bonus[3].inertia[0], 0.0, EPSILON); + EXPECT_NEAR(bonus[3].inertia[2], 0.0, EPSILON); EXPECT_NEAR(bonus[0].quat[0], 1.0, EPSILON); EXPECT_NEAR(bonus[0].quat[1], 0.0, EPSILON); EXPECT_NEAR(bonus[0].quat[2], 0.0, EPSILON); @@ -2519,10 +2543,10 @@ TEST_F(AtomStyleTest, body_nparticle) EXPECT_NEAR(bonus[2].quat[1], 0.25056280708573159, EPSILON); EXPECT_NEAR(bonus[2].quat[2], 0.0, EPSILON); EXPECT_NEAR(bonus[2].quat[3], 0.25056280708573148, EPSILON); - EXPECT_NEAR(bonus[3].quat[0], 0.070424771223903379, EPSILON); - EXPECT_NEAR(bonus[3].quat[1], 0.81345375914352225, EPSILON); - EXPECT_NEAR(bonus[3].quat[2], 0.56848787755882768, EPSILON); - EXPECT_NEAR(bonus[3].quat[3], -0.10077135705145905, EPSILON); + EXPECT_NEAR(bonus[3].quat[0], 0.62499650256800654, EPSILON); + EXPECT_NEAR(bonus[3].quat[1], 0.47323774316465234, EPSILON); + EXPECT_NEAR(bonus[3].quat[2], 0.33072552332373728, EPSILON); + EXPECT_NEAR(bonus[3].quat[3], 0.52540083597613996, EPSILON); ASSERT_EQ(bonus[0].ilocal, 0); ASSERT_EQ(bonus[1].ilocal, 1); ASSERT_EQ(bonus[2].ilocal, 2); @@ -2610,18 +2634,18 @@ TEST_F(AtomStyleTest, body_nparticle) EXPECT_NEAR(radius[GETIDX(9)], 0.5, EPSILON); EXPECT_NEAR(radius[GETIDX(11)], 0.5, EPSILON); EXPECT_NEAR(radius[GETIDX(12)], 0.5, EPSILON); - EXPECT_NEAR(bonus[0].inertia[2], 2.0, EPSILON); + EXPECT_NEAR(bonus[0].inertia[0], 2.0, EPSILON); EXPECT_NEAR(bonus[0].inertia[1], 2.0, EPSILON); - EXPECT_NEAR(bonus[0].inertia[0], 0.0, EPSILON); - EXPECT_NEAR(bonus[1].inertia[2], 1.7746273249544022, EPSILON); + EXPECT_NEAR(bonus[0].inertia[2], 0.0, EPSILON); + EXPECT_NEAR(bonus[1].inertia[0], 1.7746273249544022, EPSILON); EXPECT_NEAR(bonus[1].inertia[1], 1.67188, EPSILON); - EXPECT_NEAR(bonus[1].inertia[0], 0.49099767504559777, EPSILON); - EXPECT_NEAR(bonus[2].inertia[2], 2.0, EPSILON); + EXPECT_NEAR(bonus[1].inertia[2], 0.49099767504559777, EPSILON); + EXPECT_NEAR(bonus[2].inertia[0], 2.0, EPSILON); EXPECT_NEAR(bonus[2].inertia[1], 2.0, EPSILON); - EXPECT_NEAR(bonus[2].inertia[0], 0.0, EPSILON); - EXPECT_NEAR(bonus[3].inertia[2], 1.7746273249544022, EPSILON); + EXPECT_NEAR(bonus[2].inertia[2], 0.0, EPSILON); + EXPECT_NEAR(bonus[3].inertia[0], 1.7746273249544022, EPSILON); EXPECT_NEAR(bonus[3].inertia[1], 1.67188, EPSILON); - EXPECT_NEAR(bonus[3].inertia[0], 0.49099767504559777, EPSILON); + EXPECT_NEAR(bonus[3].inertia[2], 0.49099767504559777, EPSILON); EXPECT_NEAR(bonus[0].quat[0], 1.0, EPSILON); EXPECT_NEAR(bonus[0].quat[1], 0.0, EPSILON); EXPECT_NEAR(bonus[0].quat[2], 0.0, EPSILON); From 78a3a7b9c24ef099297fc038b7acff281aef7ff8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 2 Apr 2024 23:28:14 -0400 Subject: [PATCH 395/559] add optional argument to enable overriding sort order or eigenvalues/vectors --- src/math_eigen.cpp | 24 ++++++++++++++++++++---- src/math_eigen.h | 5 +++-- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/math_eigen.cpp b/src/math_eigen.cpp index 65c3fa806a..c79a61f84a 100644 --- a/src/math_eigen.cpp +++ b/src/math_eigen.cpp @@ -31,7 +31,7 @@ using namespace MathEigen; typedef Jacobi Jacobi_v1; typedef Jacobi Jacobi_v2; -int MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3]) +int MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3], int sort) { // make copy of const matrix @@ -44,7 +44,15 @@ int MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3]) // create instance of generic Jacobi class and get eigenvalues and -vectors Jacobi_v1 ecalc3(3, M, midx); - int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::SORT_DECREASING_EVALS); + int ierror = 1; + if (sort == -1) + ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::SORT_DECREASING_EVALS); + else if (sort == 0) + ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::DO_NOT_SORT); + else if (sort == 1) + ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::SORT_INCREASING_EVALS); + + if (ierror) return ierror; // transpose the evec matrix @@ -54,7 +62,7 @@ int MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3]) return ierror; } -int MathEigen::jacobi3(double const *const *mat, double *eval, double **evec) +int MathEigen::jacobi3(double const *const *mat, double *eval, double **evec, int sort) { // make copy of const matrix @@ -67,7 +75,15 @@ int MathEigen::jacobi3(double const *const *mat, double *eval, double **evec) // create instance of generic Jacobi class and get eigenvalues and -vectors Jacobi_v2 ecalc3(3, M, midx); - int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v2::SORT_DECREASING_EVALS); + int ierror = 1; + if (sort == -1) + ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v2::SORT_DECREASING_EVALS); + else if (sort == 0) + ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v2::DO_NOT_SORT); + else if (sort == 1) + ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v2::SORT_INCREASING_EVALS); + + if (ierror) return ierror; // transpose the evec matrix diff --git a/src/math_eigen.h b/src/math_eigen.h index 9f2431e14a..c7a3853767 100644 --- a/src/math_eigen.h +++ b/src/math_eigen.h @@ -22,13 +22,14 @@ namespace MathEigen { * \param mat the 3x3 matrix you wish to diagonalize * \param eval store the eigenvalues here * \param evec store the eigenvectors here... + * \param sort order eigenvalues and -vectors (-1 decreasing (default), 1 increasing, 0 unsorted) * \return 0 if eigenvalue calculation converged, 1 if it failed */ -int jacobi3(double const *const *mat, double *eval, double **evec); +int jacobi3(double const *const *mat, double *eval, double **evec, int sort = -1); /** \overload */ -int jacobi3(double const mat[3][3], double *eval, double evec[3][3]); +int jacobi3(double const mat[3][3], double *eval, double evec[3][3], int sort = -1); } // namespace MathEigen From c0abefeacbe931f5b2b359d80833369fbe85fdf4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 2 Apr 2024 23:53:25 -0400 Subject: [PATCH 396/559] update links in manual to jacobi3() docs --- doc/src/Developer_utils.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/Developer_utils.rst b/doc/src/Developer_utils.rst index 625ce15202..76e90e17ba 100644 --- a/doc/src/Developer_utils.rst +++ b/doc/src/Developer_utils.rst @@ -635,10 +635,10 @@ Tohoku University (under MIT license) ---------- -.. doxygenfunction:: MathEigen::jacobi3(double const *const *mat, double *eval, double **evec) +.. doxygenfunction:: MathEigen::jacobi3(double const *const *mat, double *eval, double **evec, int sort) :project: progguide -.. doxygenfunction:: MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3]) +.. doxygenfunction:: MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3], int sort) :project: progguide --------------------------- From d06b86916ac342ef6b1bd88adb1fd4bdddd7e844 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 3 Apr 2024 11:11:16 -0600 Subject: [PATCH 397/559] more debugging --- src/math_eigen.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/math_eigen.cpp b/src/math_eigen.cpp index 42d95a1288..99c8d38290 100644 --- a/src/math_eigen.cpp +++ b/src/math_eigen.cpp @@ -44,7 +44,7 @@ int MathEigen::jacobi3(double const mat[3][3], double *eval, double evec[3][3]) // create instance of generic Jacobi class and get eigenvalues and -vectors Jacobi_v1 ecalc3(3, M, midx); - int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::SORT_INCREASING_EVAL); + int ierror = ecalc3.Diagonalize(mat, eval, evec, Jacobi_v1::SORT_INCREASING_EVALS); // transpose the evec matrix From 4329c4c37f6a12cabaa7d2237242fd3949d4963f Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 3 Apr 2024 11:11:52 -0600 Subject: [PATCH 398/559] changes to rigid and rigid/small --- src/RIGID/fix_rigid.cpp | 57 ++++++++++++++++++++++++++++------- src/RIGID/fix_rigid_small.cpp | 46 +++++++++++++++++++++++++--- 2 files changed, 87 insertions(+), 16 deletions(-) diff --git a/src/RIGID/fix_rigid.cpp b/src/RIGID/fix_rigid.cpp index 9553d0b9fc..c728c66c4f 100644 --- a/src/RIGID/fix_rigid.cpp +++ b/src/RIGID/fix_rigid.cpp @@ -39,7 +39,7 @@ #include // DEBUG -#define IBODY 42 +#define IBODY 10 using namespace LAMMPS_NS; using namespace FixConst; @@ -901,6 +901,14 @@ void FixRigid::setup(int vflag) ez_space[ibody],inertia[ibody],omega[ibody]); if (ibody == IBODY) printf("SETUP omega: %g %g %g\n", omega[ibody][0],omega[ibody][1],omega[ibody][2]); + printf("IBODY %d quat %g %g %g %g omega %g %g %g idiag %g %g %g ex %g %g %g ey %g %g %g ez %g %g %g\n", + ibody, + quat[ibody][0],quat[ibody][1],quat[ibody][2],quat[ibody][3], + omega[ibody][0],omega[ibody][1],omega[ibody][2], + inertia[ibody][0],inertia[ibody][1],inertia[ibody][2], + ex_space[ibody][0],ex_space[ibody][1],ex_space[ibody][2], + ey_space[ibody][0],ey_space[ibody][1],ey_space[ibody][2], + ez_space[ibody][0],ez_space[ibody][1],ez_space[ibody][2]); } set_v(); @@ -951,7 +959,7 @@ void FixRigid::initial_integrate(int vflag) MathExtra::angmom_to_omega(angmom[ibody],ex_space[ibody],ey_space[ibody], ez_space[ibody],inertia[ibody],omega[ibody]); - if (update->ntimestep % 1 == 0 && ibody == IBODY) { + if (update->ntimestep % 100 == 0 && ibody == IBODY) { printf("BODY %d: start of step %ld\n",ibody,update->ntimestep); printf(" interia %g %g %g\n", inertia[ibody][0],inertia[ibody][1],inertia[ibody][2]); @@ -972,7 +980,7 @@ void FixRigid::initial_integrate(int vflag) MathExtra::richardson(quat[ibody],angmom[ibody],omega[ibody], inertia[ibody],dtq); - if (update->ntimestep % 1 == 0 && ibody == IBODY) { + if (update->ntimestep % 100 == 0 && ibody == IBODY) { printf(" richardson omega %g %g %g\n", omega[ibody][0],omega[ibody][1],omega[ibody][2]); printf(" richardson quat %15.12g %15.12g %15.12g %15.12g\n", @@ -982,7 +990,7 @@ void FixRigid::initial_integrate(int vflag) MathExtra::q_to_exyz(quat[ibody], ex_space[ibody],ey_space[ibody],ez_space[ibody]); - if (update->ntimestep % 1 == 0 && ibody == IBODY) { + if (update->ntimestep % 100 == 0 && ibody == IBODY) { printf(" exnew %g %g %g\n", ex_space[ibody][0],ex_space[ibody][1],ex_space[ibody][2]); printf(" eynew %g %g %g\n", @@ -1002,7 +1010,7 @@ void FixRigid::initial_integrate(int vflag) } */ - if (update->ntimestep % 1 == 0 && ibody == IBODY) { + if (update->ntimestep % 100 == 0 && ibody == IBODY) { printf(" quatnew2 %15.12g %15.12g %15.12g %15.12g\n", quat[ibody][0],quat[ibody][1],quat[ibody][2],quat[ibody][3]); printf(" exnew2 %g %g %g\n", @@ -1090,7 +1098,7 @@ void FixRigid::final_integrate() MathExtra::angmom_to_omega(angmom[ibody],ex_space[ibody],ey_space[ibody], ez_space[ibody],inertia[ibody],omega[ibody]); - if (update->ntimestep % 1 == 0 && ibody == IBODY) { + if (update->ntimestep % 100 == 0 && ibody == IBODY) { printf("BODY %d: end of step %ld\n",ibody,update->ntimestep); printf(" interia %g %g %g\n", inertia[ibody][0],inertia[ibody][1],inertia[ibody][2]); @@ -1111,6 +1119,20 @@ void FixRigid::final_integrate() // virial is already setup from initial_integrate set_v(); + + if (update->ntimestep == 500) { + for (ibody = 0; ibody < nbody; ibody++) { + printf("IBODY %d quat %g %g %g %g omega %g %g %g idiag %g %g %g ex %g %g %g ey %g %g %g ez %g %g %g\n", + ibody, + quat[ibody][0],quat[ibody][1],quat[ibody][2],quat[ibody][3], + omega[ibody][0],omega[ibody][1],omega[ibody][2], + inertia[ibody][0],inertia[ibody][1],inertia[ibody][2], + ex_space[ibody][0],ex_space[ibody][1],ex_space[ibody][2], + ey_space[ibody][0],ey_space[ibody][1],ey_space[ibody][2], + ez_space[ibody][0],ez_space[ibody][1],ez_space[ibody][2]); + } + } + } /* ---------------------------------------------------------------------- */ @@ -1314,11 +1336,6 @@ void FixRigid::enforce2d() angmom[ibody][1] = 0.0; omega[ibody][0] = 0.0; omega[ibody][1] = 0.0; - if (langflag && langextra) { - langextra[ibody][2] = 0.0; - langextra[ibody][3] = 0.0; - langextra[ibody][4] = 0.0; - } } } @@ -2038,6 +2055,7 @@ void FixRigid::setup_bodies_static() // diagonalize inertia tensor for each body via Jacobi rotations // inertia = 3 eigenvalues = principal moments of inertia + // jacobi3() returns them in ascending order, so that in 2d last evector is z-axis // evectors and exzy_space = 3 evectors = principal axes of rigid body int ierror; @@ -2066,6 +2084,23 @@ void FixRigid::setup_bodies_static() ez_space[ibody][1] = evectors[1][2]; ez_space[ibody][2] = evectors[2][2]; + // for 2d, ensure that evector along z axis is last + // necessary so that quaternion is a simple rotation around +z axis + // or a 180 degree rotation for a -z axis + // otherwise richardson() method for a body with a tiny evalue (near-linear) + // may not preserve the correct z-aligned quat and assocated evectors + // over time due to round-off accumulation + + if (domain->dimension == 2) { + if (fabs(ez_space[ibody][0]) > EPSILON || fabs(ez_space[ibody][1]) > EPSILON) { + printf("AAA EVEC SWAP %d\n",ibody); + std::swap(inertia[ibody][1],inertia[ibody][2]); + std::swap(ey_space[ibody][0],ez_space[ibody][0]); + std::swap(ey_space[ibody][1],ez_space[ibody][1]); + std::swap(ey_space[ibody][2],ez_space[ibody][2]); + } + } + // if any principal moment < scaled EPSILON, set to 0.0 double max; diff --git a/src/RIGID/fix_rigid_small.cpp b/src/RIGID/fix_rigid_small.cpp index 9e185a4de2..b61d264d0a 100644 --- a/src/RIGID/fix_rigid_small.cpp +++ b/src/RIGID/fix_rigid_small.cpp @@ -704,6 +704,14 @@ void FixRigidSmall::setup(int vflag) Body *b = &body[ibody]; MathExtra::angmom_to_omega(b->angmom,b->ex_space,b->ey_space, b->ez_space,b->inertia,b->omega); + printf("IBODY %d quat %g %g %g %g omega %g %g %g idiag %g %g %g ex %g %g %g ey %g %g %g ez %g %g %g\n", + ibody, + b->quat[0],b->quat[1],b->quat[2],b->quat[3], + b->omega[0],b->omega[1],b->omega[2], + b->inertia[0],b->inertia[1],b->inertia[2], + b->ex_space[0],b->ex_space[1],b->ex_space[2], + b->ey_space[0],b->ey_space[1],b->ey_space[2], + b->ez_space[0],b->ez_space[1],b->ez_space[2]); } commflag = FINAL; @@ -871,6 +879,21 @@ void FixRigidSmall::final_integrate() // virial is already setup from initial_integrate set_v(); + + if (update->ntimestep == 1000) { + for (int ibody = 0; ibody < nlocal_body; ibody++) { + Body *b = &body[ibody]; + printf("IBODY %d quat %g %g %g %g omega %g %g %g idiag %g %g %g ex %g %g %g ey %g %g %g ez %g %g %g\n", + ibody, + b->quat[0],b->quat[1],b->quat[2],b->quat[3], + b->omega[0],b->omega[1],b->omega[2], + b->inertia[0],b->inertia[1],b->inertia[2], + b->ex_space[0],b->ex_space[1],b->ex_space[2], + b->ey_space[0],b->ey_space[1],b->ey_space[2], + b->ez_space[0],b->ez_space[1],b->ez_space[2]); + } + } + } /* ---------------------------------------------------------------------- */ @@ -1110,11 +1133,6 @@ void FixRigidSmall::enforce2d() b->angmom[1] = 0.0; b->omega[0] = 0.0; b->omega[1] = 0.0; - if (langflag && langextra) { - langextra[ibody][2] = 0.0; - langextra[ibody][3] = 0.0; - langextra[ibody][4] = 0.0; - } } } @@ -2102,6 +2120,7 @@ void FixRigidSmall::setup_bodies_static() // diagonalize inertia tensor for each body via Jacobi rotations // inertia = 3 eigenvalues = principal moments of inertia + // jacobi3() returns them in ascending order, so that in 2d last evector is z-axis // evectors and exzy_space = 3 evectors = principal axes of rigid body int ierror; @@ -2134,6 +2153,22 @@ void FixRigidSmall::setup_bodies_static() ez[1] = evectors[1][2]; ez[2] = evectors[2][2]; + // for 2d, ensure that evector along z axis is last + // necessary so that quaternion is a simple rotation around +z axis + // or a 180 degree rotation for a -z axis + // otherwise richardson() method for a body with a tiny evalue (near-linear) + // may not preserve the correct z-aligned quat and assocated evectors + // over time due to round-off accumulation + + if (domain->dimension == 2) { + if (fabs(ez[0]) > EPSILON || fabs(ez[1]) > EPSILON) { + std::swap(inertia[1],inertia[2]); + std::swap(ey[0],ez[0]); + std::swap(ey[1],ez[1]); + std::swap(ey[2],ez[2]); + } + } + // if any principal moment < scaled EPSILON, set to 0.0 double max; @@ -2156,6 +2191,7 @@ void FixRigidSmall::setup_bodies_static() // convert geometric center position to principal axis coordinates // xcm is wrapped, but xgc is not initially + xcm = body[ibody].xcm; xgc = body[ibody].xgc; double delta[3]; From 39d12e48d6c81fb84500ac99f40fcd0dd7b85063 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 3 Apr 2024 15:04:39 -0400 Subject: [PATCH 399/559] must always return nfaces=0 for less than 3 vertices --- src/BODY/body_rounded_polyhedron.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/BODY/body_rounded_polyhedron.cpp b/src/BODY/body_rounded_polyhedron.cpp index 991f52cac5..6aa15b740b 100644 --- a/src/BODY/body_rounded_polyhedron.cpp +++ b/src/BODY/body_rounded_polyhedron.cpp @@ -99,10 +99,9 @@ int BodyRoundedPolyhedron::nedges(AtomVecBody::Bonus *bonus) { int nvertices = bonus->ivalue[0]; int nedges = bonus->ivalue[1]; - //int nfaces = bonus->ivalue[2]; if (nvertices == 1) return 0; else if (nvertices == 2) return 1; - return nedges; //(nvertices+nfaces-2); // Euler formula: V-E+F=2 + return nedges; } /* ---------------------------------------------------------------------- */ @@ -116,6 +115,9 @@ double *BodyRoundedPolyhedron::edges(AtomVecBody::Bonus *bonus) int BodyRoundedPolyhedron::nfaces(AtomVecBody::Bonus *bonus) { + int nvertices = bonus->ivalue[0]; + if (nvertices < 3) return 0; + return bonus->ivalue[2]; } From ecd8fe71a1890aa4fac05f3cdcefa5a190cc046e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 3 Apr 2024 15:05:09 -0400 Subject: [PATCH 400/559] cosmetic --- src/BODY/pair_body_rounded_polygon.cpp | 12 ++++-------- src/BODY/pair_body_rounded_polyhedron.cpp | 21 +++++++-------------- 2 files changed, 11 insertions(+), 22 deletions(-) diff --git a/src/BODY/pair_body_rounded_polygon.cpp b/src/BODY/pair_body_rounded_polygon.cpp index 432f1d5c9c..14f4f27582 100644 --- a/src/BODY/pair_body_rounded_polygon.cpp +++ b/src/BODY/pair_body_rounded_polygon.cpp @@ -415,17 +415,14 @@ void PairBodyRoundedPolygon::init_style() if (!avec) error->all(FLERR,"Pair body/rounded/polygon requires atom style body"); if (strcmp(avec->bptr->style,"rounded/polygon") != 0) - error->all(FLERR,"Pair body/rounded/polygon requires " - "body style rounded/polygon"); + error->all(FLERR,"Pair body/rounded/polygon requires body style rounded/polygon"); bptr = dynamic_cast(avec->bptr); if (force->newton_pair == 0) - error->all(FLERR,"Pair style body/rounded/polygon requires " - "newton pair on"); + error->all(FLERR,"Pair style body/rounded/polygon requires newton pair on"); if (comm->ghost_velocity == 0) - error->all(FLERR,"Pair body/rounded/polygon requires " - "ghost atoms store velocity"); + error->all(FLERR,"Pair body/rounded/polygon requires ghost atoms store velocity"); neighbor->add_request(this); @@ -570,8 +567,7 @@ void PairBodyRoundedPolygon::body2space(int i) } if ((body_num_edges > 0) && (edge_ends == nullptr)) - error->one(FLERR,"Inconsistent edge data for body of atom {}", - atom->tag[i]); + error->one(FLERR,"Inconsistent edge data for body of atom {}", atom->tag[i]); for (int m = 0; m < body_num_edges; m++) { edge[nedge][0] = static_cast(edge_ends[2*m+0]); diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp index 82660df1e0..e82b1bcaef 100644 --- a/src/BODY/pair_body_rounded_polyhedron.cpp +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -222,8 +222,7 @@ void PairBodyRoundedPolyhedron::compute(int eflag, int vflag) // sphere-sphere interaction if (npi == 1 && npj == 1) { - sphere_against_sphere(i, j, itype, jtype, delx, dely, delz, - rsq, v, f, evflag); + sphere_against_sphere(i, j, itype, jtype, delx, dely, delz, rsq, v, f, evflag); continue; } @@ -391,20 +390,16 @@ void PairBodyRoundedPolyhedron::coeff(int narg, char **arg) void PairBodyRoundedPolyhedron::init_style() { avec = dynamic_cast(atom->style_match("body")); - if (!avec) error->all(FLERR,"Pair body/rounded/polyhedron requires " - "atom style body"); + if (!avec) error->all(FLERR,"Pair body/rounded/polyhedron requires atom style body"); if (strcmp(avec->bptr->style,"rounded/polyhedron") != 0) - error->all(FLERR,"Pair body/rounded/polyhedron requires " - "body style rounded/polyhedron"); + error->all(FLERR,"Pair body/rounded/polyhedron requires body style rounded/polyhedron"); bptr = dynamic_cast(avec->bptr); if (force->newton_pair == 0) - error->all(FLERR,"Pair style body/rounded/polyhedron requires " - "newton pair on"); + error->all(FLERR,"Pair style body/rounded/polyhedron requires newton pair on"); if (comm->ghost_velocity == 0) - error->all(FLERR,"Pair body/rounded/polyhedron requires " - "ghost atoms store velocity"); + error->all(FLERR,"Pair body/rounded/polyhedron requires ghost atoms store velocity"); neighbor->add_request(this); @@ -558,8 +553,7 @@ void PairBodyRoundedPolyhedron::body2space(int i) } if ((body_num_edges > 0) && (edge_ends == nullptr)) - error->one(FLERR,"Inconsistent edge data for body of atom {}", - atom->tag[i]); + error->one(FLERR,"Inconsistent edge data for body of atom {}", atom->tag[i]); for (int m = 0; m < body_num_edges; m++) { edge[nedge][0] = static_cast(edge_ends[2*m+0]); @@ -585,8 +579,7 @@ void PairBodyRoundedPolyhedron::body2space(int i) } if ((body_num_faces > 0) && (face_pts == nullptr)) - error->one(FLERR,"Inconsistent face data for body of atom {}", - atom->tag[i]); + error->one(FLERR,"Inconsistent face data for body of atom {}", atom->tag[i]); for (int m = 0; m < body_num_faces; m++) { for (int k = 0; k < MAX_FACE_SIZE; k++) From 4c9924984db90d47adb49fa76a64eb79d2e8efea Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 3 Apr 2024 15:58:24 -0400 Subject: [PATCH 401/559] modify access to fixes --- src/BODY/pair_body_rounded_polygon.cpp | 25 ++++++++++------------- src/BODY/pair_body_rounded_polyhedron.cpp | 24 +++++++++------------- 2 files changed, 21 insertions(+), 28 deletions(-) diff --git a/src/BODY/pair_body_rounded_polygon.cpp b/src/BODY/pair_body_rounded_polygon.cpp index 14f4f27582..2293f56a98 100644 --- a/src/BODY/pair_body_rounded_polygon.cpp +++ b/src/BODY/pair_body_rounded_polygon.cpp @@ -460,27 +460,24 @@ void PairBodyRoundedPolygon::init_style() for (i = 1; i <= ntypes; i++) maxerad[i] = merad[i] = 0; - int ipour; - for (ipour = 0; ipour < modify->nfix; ipour++) - if (strcmp(modify->fix[ipour]->style,"pour") == 0) break; - if (ipour == modify->nfix) ipour = -1; + Fix *fixpour = nullptr; + auto pours = modify->get_fix_by_style("^pour"); + if (pours.size() > 0) fixpour = pours[0]; + + Fix *fixdep = nullptr; + auto deps = modify->get_fix_by_style("^deposit"); + if (deps.size() > 0) fixdep = deps[0]; - int idep; - for (idep = 0; idep < modify->nfix; idep++) - if (strcmp(modify->fix[idep]->style,"deposit") == 0) break; - if (idep == modify->nfix) idep = -1; for (i = 1; i <= ntypes; i++) { merad[i] = 0.0; - if (ipour >= 0) { + if (fixpour) { itype = i; - merad[i] = - *((double *) modify->fix[ipour]->extract("radius",itype)); + merad[i] = *((double *) fixpour->extract("radius",itype)); } - if (idep >= 0) { + if (fixdep) { itype = i; - merad[i] = - *((double *) modify->fix[idep]->extract("radius",itype)); + merad[i] = *((double *) fixdep->extract("radius",itype)); } } diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp index e82b1bcaef..ed83dc49e2 100644 --- a/src/BODY/pair_body_rounded_polyhedron.cpp +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -441,27 +441,23 @@ void PairBodyRoundedPolyhedron::init_style() for (i = 1; i <= ntypes; i++) maxerad[i] = merad[i] = 0; - int ipour; - for (ipour = 0; ipour < modify->nfix; ipour++) - if (strcmp(modify->fix[ipour]->style,"pour") == 0) break; - if (ipour == modify->nfix) ipour = -1; + Fix *fixpour = nullptr; + auto pours = modify->get_fix_by_style("^pour"); + if (pours.size() > 0) fixpour = pours[0]; - int idep; - for (idep = 0; idep < modify->nfix; idep++) - if (strcmp(modify->fix[idep]->style,"deposit") == 0) break; - if (idep == modify->nfix) idep = -1; + Fix *fixdep = nullptr; + auto deps = modify->get_fix_by_style("^deposit"); + if (deps.size() > 0) fixdep = deps[0]; for (i = 1; i <= ntypes; i++) { merad[i] = 0.0; - if (ipour >= 0) { + if (fixpour) { itype = i; - merad[i] = - *((double *) modify->fix[ipour]->extract("radius",itype)); + merad[i] = *((double *) fixpour->extract("radius",itype)); } - if (idep >= 0) { + if (fixdep) { itype = i; - merad[i] = - *((double *) modify->fix[idep]->extract("radius",itype)); + merad[i] = *((double *) fixdep->extract("radius",itype)); } } From 3db1e5f0f6389b0b5024fed36206bb0e8766ab23 Mon Sep 17 00:00:00 2001 From: James Michael Goff Date: Wed, 3 Apr 2024 16:58:16 -0600 Subject: [PATCH 402/559] mliap kk snap unittest back on only disable mliap kk for ACE --- src/ML-IAP/pair_mliap.cpp | 1 - unittest/force-styles/tests/manybody-pair-mliap_nn.yaml | 2 +- unittest/force-styles/tests/manybody-pair-mliap_snap_chem.yaml | 2 +- .../force-styles/tests/manybody-pair-mliap_snap_linear.yaml | 2 +- .../force-styles/tests/manybody-pair-mliap_snap_quadratic.yaml | 2 +- 5 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/ML-IAP/pair_mliap.cpp b/src/ML-IAP/pair_mliap.cpp index 0686cd2f71..8585fffadb 100644 --- a/src/ML-IAP/pair_mliap.cpp +++ b/src/ML-IAP/pair_mliap.cpp @@ -178,7 +178,6 @@ void PairMLIAP::settings(int narg, char ** arg) if (descriptor != nullptr) error->all(FLERR,"Illegal multiple pair_style mliap descriptor definition"); if (strcmp(arg[iarg+1],"sna") == 0) { if (iarg+3 > narg) utils::missing_cmd_args(FLERR, "pair_style mliap descriptor sna", error); - if (lmp->kokkos) error->all(FLERR,"Cannot (yet) use KOKKOS package with SNAP descriptors"); descriptor = new MLIAPDescriptorSNAP(lmp,arg[iarg+2]); iarg += 3; } else if (strcmp(arg[iarg+1],"so3") == 0) { diff --git a/unittest/force-styles/tests/manybody-pair-mliap_nn.yaml b/unittest/force-styles/tests/manybody-pair-mliap_nn.yaml index 1874a71681..eee142f767 100644 --- a/unittest/force-styles/tests/manybody-pair-mliap_nn.yaml +++ b/unittest/force-styles/tests/manybody-pair-mliap_nn.yaml @@ -3,7 +3,7 @@ lammps_version: 17 Feb 2022 tags: slow date_generated: Fri Mar 18 22:17:47 2022 epsilon: 5e-13 -skip_tests: kokkos_omp +skip_tests: prerequisites: ! | pair mliap pair zbl diff --git a/unittest/force-styles/tests/manybody-pair-mliap_snap_chem.yaml b/unittest/force-styles/tests/manybody-pair-mliap_snap_chem.yaml index b213fc8221..b1a93046db 100644 --- a/unittest/force-styles/tests/manybody-pair-mliap_snap_chem.yaml +++ b/unittest/force-styles/tests/manybody-pair-mliap_snap_chem.yaml @@ -3,7 +3,7 @@ lammps_version: 17 Feb 2022 tags: slow date_generated: Fri Mar 18 22:17:47 2022 epsilon: 5e-13 -skip_tests: kokkos_omp +skip_tests: prerequisites: ! | pair mliap pair zbl diff --git a/unittest/force-styles/tests/manybody-pair-mliap_snap_linear.yaml b/unittest/force-styles/tests/manybody-pair-mliap_snap_linear.yaml index 1b4931b24a..c62c58295d 100644 --- a/unittest/force-styles/tests/manybody-pair-mliap_snap_linear.yaml +++ b/unittest/force-styles/tests/manybody-pair-mliap_snap_linear.yaml @@ -3,7 +3,7 @@ lammps_version: 17 Feb 2022 tags: slow date_generated: Fri Mar 18 22:17:47 2022 epsilon: 5e-13 -skip_tests: kokkos_omp +skip_tests: prerequisites: ! | pair mliap pair zbl diff --git a/unittest/force-styles/tests/manybody-pair-mliap_snap_quadratic.yaml b/unittest/force-styles/tests/manybody-pair-mliap_snap_quadratic.yaml index b2fc5b6fd7..aeec87baeb 100644 --- a/unittest/force-styles/tests/manybody-pair-mliap_snap_quadratic.yaml +++ b/unittest/force-styles/tests/manybody-pair-mliap_snap_quadratic.yaml @@ -3,7 +3,7 @@ lammps_version: 17 Feb 2022 tags: slow date_generated: Fri Mar 18 22:17:48 2022 epsilon: 5e-13 -skip_tests: kokkos_omp +skip_tests: prerequisites: ! | pair mliap pair zbl From 972d4121867dd4ec3d665d40c6e3e95d27392aa8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 3 Apr 2024 20:53:44 -0400 Subject: [PATCH 403/559] flag false positives --- doc/utils/sphinx-config/false_positives.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 04ea69575a..e03efa2353 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -617,6 +617,7 @@ cstdlib cstring cstyle csvr +ctilde ctrl ctrn ctypes @@ -1479,6 +1480,7 @@ hydroxyl Hynninen Hyoungki hyperdynamics +hyperparameters hyperplane hyperradius hyperspherical From f637299ac5153033e3bdc320ab05e22d08823bb6 Mon Sep 17 00:00:00 2001 From: maitanemuba Date: Thu, 4 Apr 2024 18:18:10 +0200 Subject: [PATCH 404/559] Added symmetrization of cutoff in init_one() and fixed a print --- src/ASPHERE/pair_ylz.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ASPHERE/pair_ylz.cpp b/src/ASPHERE/pair_ylz.cpp index a678712619..833dc8e3e4 100644 --- a/src/ASPHERE/pair_ylz.cpp +++ b/src/ASPHERE/pair_ylz.cpp @@ -300,6 +300,7 @@ double PairYLZ::init_one(int i, int j) zeta[j][i] = zeta[i][j]; mu[j][i] = mu[i][j]; beta[j][i] = beta[i][j]; + cut[j][i] = cut[i][j]; return cut[i][j]; } @@ -409,7 +410,7 @@ void PairYLZ::write_data_all(FILE *fp) { for (int i = 1; i <= atom->ntypes; i++) for (int j = i; j <= atom->ntypes; j++) - fprintf(fp, "%d %d %g %g %g %g %g %g\n", i, j, epsilon[i][i], sigma[i][i], cut[i][j], + fprintf(fp, "%d %d %g %g %g %g %g %g\n", i, j, epsilon[i][j], sigma[i][j], cut[i][j], zeta[i][j], mu[i][j], beta[i][j]); } From 8254d20b44c0ceb0ff3433c125058f8dd162ddbb Mon Sep 17 00:00:00 2001 From: jtclemm Date: Thu, 4 Apr 2024 11:29:02 -0600 Subject: [PATCH 405/559] Removing unnecessary comm calls fix heat/flow --- src/GRANULAR/fix_heat_flow.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/GRANULAR/fix_heat_flow.cpp b/src/GRANULAR/fix_heat_flow.cpp index b7643c2c24..be8d93839f 100644 --- a/src/GRANULAR/fix_heat_flow.cpp +++ b/src/GRANULAR/fix_heat_flow.cpp @@ -16,6 +16,7 @@ #include "atom.h" #include "comm.h" #include "error.h" +#include "force.h" #include "memory.h" #include "modify.h" #include "update.h" @@ -127,7 +128,7 @@ void FixHeatFlow::final_integrate() if (igroup == atom->firstgroup) nlocal = atom->nfirst; // add ghost contributions to heatflow if first instance of fix - if (first_flag) comm->reverse_comm(this); + if (force->newton_pair && first_flag) comm->reverse_comm(this); if (rmass) { for (int i = 0; i < nlocal; i++) From 58d6f9ba2e176f2be63c4baa18c553344118dbf1 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Thu, 4 Apr 2024 11:29:28 -0600 Subject: [PATCH 406/559] Removing hrate from fix deform/pressure restart --- src/EXTRA-FIX/fix_deform_pressure.cpp | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/EXTRA-FIX/fix_deform_pressure.cpp b/src/EXTRA-FIX/fix_deform_pressure.cpp index 51ea75cfed..95788c23d6 100644 --- a/src/EXTRA-FIX/fix_deform_pressure.cpp +++ b/src/EXTRA-FIX/fix_deform_pressure.cpp @@ -788,7 +788,7 @@ void FixDeformPressure::apply_box() void FixDeformPressure::write_restart(FILE *fp) { if (comm->me == 0) { - int size = 9 * sizeof(double) + 7 * sizeof(Set) + 7 * sizeof(SetExtra); + int size = 7 * sizeof(Set) + 7 * sizeof(SetExtra); fwrite(&size, sizeof(int), 1, fp); fwrite(set, sizeof(Set), 6, fp); fwrite(&set_box, sizeof(Set), 1, fp); @@ -803,22 +803,16 @@ void FixDeformPressure::write_restart(FILE *fp) void FixDeformPressure::restart(char *buf) { int n = 0; - auto list = (double *) buf; - for (int i = 0; i < 6; i++) - h_rate[i] = list[n++]; - for (int i = 0; i < 3; i++) - h_ratelo[i] = list[n++]; - - n = n * sizeof(double); int samestyle = 1; - Set *set_restart = (Set *) &buf[n]; + Set *set_restart = (Set *) buf; for (int i = 0; i < 6; ++i) { // restore data from initial state set[i].lo_initial = set_restart[i].lo_initial; set[i].hi_initial = set_restart[i].hi_initial; set[i].vol_initial = set_restart[i].vol_initial; set[i].tilt_initial = set_restart[i].tilt_initial; - // check if style settings are consistent (should do the whole set?) + + // check if style settings are consistent if (set[i].style != set_restart[i].style) samestyle = 0; if (set[i].substyle != set_restart[i].substyle) From 65cdc76c992887c72115c558d155de986d48c897 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 4 Apr 2024 13:07:35 -0600 Subject: [PATCH 407/559] final changes for 2d rigid bodies with jacobi --- .../micelle/log.29Mar2019.micelle-rigid.g++.1 | 260 ----------------- .../micelle/log.29Mar2019.micelle-rigid.g++.4 | 260 ----------------- .../micelle/log.4Apr2024.micelle-rigid.g++.1 | 271 +++++++++++++++++ .../micelle/log.4Apr2024.micelle-rigid.g++.4 | 272 ++++++++++++++++++ src/RIGID/fix_rigid.cpp | 107 +------ src/RIGID/fix_rigid_small.cpp | 30 +- 6 files changed, 551 insertions(+), 649 deletions(-) delete mode 100644 examples/micelle/log.29Mar2019.micelle-rigid.g++.1 delete mode 100644 examples/micelle/log.29Mar2019.micelle-rigid.g++.4 create mode 100644 examples/micelle/log.4Apr2024.micelle-rigid.g++.1 create mode 100644 examples/micelle/log.4Apr2024.micelle-rigid.g++.4 diff --git a/examples/micelle/log.29Mar2019.micelle-rigid.g++.1 b/examples/micelle/log.29Mar2019.micelle-rigid.g++.1 deleted file mode 100644 index f1001e6cea..0000000000 --- a/examples/micelle/log.29Mar2019.micelle-rigid.g++.1 +++ /dev/null @@ -1,260 +0,0 @@ -LAMMPS (29 Mar 2019) - using 1 OpenMP thread(s) per MPI task -# 2d micelle simulation - -dimension 2 - -neighbor 0.3 bin -neigh_modify delay 5 - -atom_style bond - -# Soft potential push-off - -read_data data.micelle - orthogonal box = (0 0 -0.1) to (35.8569 35.8569 0.1) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 1200 atoms - scanning bonds ... - 1 = max bonds/atom - reading bonds ... - 300 bonds - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000473022 secs - read_data CPU = 0.0024147 secs -special_bonds fene - 2 = max # of 1-2 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.00022316 secs - -pair_style soft 1.12246 -pair_coeff * * 0.0 1.12246 - -bond_style harmonic -bond_coeff 1 50.0 0.75 - -velocity all create 0.45 2349852 - -variable prefactor equal ramp(1.0,20.0) - -fix 1 all nve -fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 -fix 3 all adapt 1 pair soft a * * v_prefactor -fix 4 all enforce2d - -thermo 50 -run 500 -Neighbor list info ... - update every 1 steps, delay 5 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.42246 - ghost atom cutoff = 1.42246 - binsize = 0.71123, bins = 51 51 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair soft, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.799 | 3.799 | 3.799 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 - 50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786 - 100 0.45 0.99659327 0.079228519 1.5254468 3.2135679 - 150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925 - 200 0.45 1.01454 0.10663502 1.5708 4.7598476 - 250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899 - 300 0.45 0.86475538 0.11819875 1.4325791 5.8554758 - 350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247 - 400 0.45 0.75067331 0.14165013 1.3419484 6.3840708 - 450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009 - 500 0.45 0.66669513 0.13695201 1.2532721 6.807146 -Loop time of 0.103162 on 1 procs for 500 steps with 1200 atoms - -Performance: 2093802.885 tau/day, 4846.766 timesteps/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.068308 | 0.068308 | 0.068308 | 0.0 | 66.21 -Bond | 0.004235 | 0.004235 | 0.004235 | 0.0 | 4.11 -Neigh | 0.014069 | 0.014069 | 0.014069 | 0.0 | 13.64 -Comm | 0.0019219 | 0.0019219 | 0.0019219 | 0.0 | 1.86 -Output | 0.00017262 | 0.00017262 | 0.00017262 | 0.0 | 0.17 -Modify | 0.011728 | 0.011728 | 0.011728 | 0.0 | 11.37 -Other | | 0.002726 | | | 2.64 - -Nlocal: 1200 ave 1200 max 1200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 197 ave 197 max 197 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 3094 ave 3094 max 3094 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 3094 -Ave neighs/atom = 2.57833 -Ave special neighs/atom = 0.5 -Neighbor list builds = 52 -Dangerous builds = 0 - -unfix 3 - -# Main run - -pair_style lj/cut 2.5 - -# solvent/head - full-size and long-range - -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 2 2 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 2.5 - -# tail/tail - size-averaged and long-range - -pair_coeff 3 3 1.0 0.75 2.5 -pair_coeff 4 4 1.0 0.50 2.5 -pair_coeff 3 4 1.0 0.67 2.5 - -# solvent/tail - full-size and repulsive - -pair_coeff 1 3 1.0 1.0 1.12246 -pair_coeff 1 4 1.0 1.0 1.12246 - -# head/tail - size-averaged and repulsive - -pair_coeff 2 3 1.0 0.88 1.12246 -pair_coeff 2 4 1.0 0.75 1.12246 - -thermo 50 - -#dump 1 all atom 2000 dump.micelle - -#dump 2 all image 2000 image.*.jpg type type zoom 1.6 -#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -#dump 3 all movie 2000 movie.mpg type type zoom 1.6 -#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -reset_timestep 0 -group solvent molecule 0 -750 atoms in group solvent -group solute subtract all solvent -450 atoms in group solute -unfix 1 -unfix 2 -unfix 4 -fix 1 solvent nve -fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 -fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 -150 rigid bodies with 450 atoms -fix 4 all enforce2d -run 500 -Neighbor list info ... - update every 1 steps, delay 5 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 = 26 26 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.274 | 5.274 | 5.274 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423 - 50 0.77871641 -1.6955252 0.13695201 -0.92651507 0.64222539 - 100 0.5336062 -1.7124572 0.13695201 -1.1423948 -0.11959696 - 150 0.58789067 -1.7926109 0.13695201 -1.1784877 1.2592743 - 200 0.47864796 -1.8040298 0.13695201 -1.2785752 3.6739793 - 250 0.51124651 -1.8614797 0.13695201 -1.309566 2.5817722 - 300 0.45695639 -1.8708384 0.13695201 -1.3629901 3.0833794 - 350 0.477504 -1.8924359 0.13695201 -1.3679098 -5.1605926 - 400 0.45328205 -1.87754 0.13695201 -1.372674 -4.0355858 - 450 0.47465031 -1.9071924 0.13695201 -1.3849826 3.1949617 - 500 0.45533691 -1.9072316 0.13695201 -1.4006978 0.48079061 -Loop time of 0.178806 on 1 procs for 500 steps with 1200 atoms - -Performance: 1208012.705 tau/day, 2796.326 timesteps/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.086131 | 0.086131 | 0.086131 | 0.0 | 48.17 -Bond | 0.0042472 | 0.0042472 | 0.0042472 | 0.0 | 2.38 -Neigh | 0.021317 | 0.021317 | 0.021317 | 0.0 | 11.92 -Comm | 0.0025985 | 0.0025985 | 0.0025985 | 0.0 | 1.45 -Output | 0.000175 | 0.000175 | 0.000175 | 0.0 | 0.10 -Modify | 0.061408 | 0.061408 | 0.061408 | 0.0 | 34.34 -Other | | 0.00293 | | | 1.64 - -Nlocal: 1200 ave 1200 max 1200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 416 ave 416 max 416 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 8769 ave 8769 max 8769 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 8769 -Ave neighs/atom = 7.3075 -Ave special neighs/atom = 0.5 -Neighbor list builds = 47 -Dangerous builds = 2 -unfix 2 -unfix 4 -unfix 5 -fix 5 solute rigid/small molecule - create bodies CPU = 0.00015378 secs -150 rigid bodies with 450 atoms - 1.30435 = max distance from body owner to body atom -fix 4 all enforce2d -run 500 -Per MPI rank memory allocation (min/avg/max) = 8.64 | 8.64 | 8.64 Mbytes -Step Temp E_pair E_mol TotEng Press - 500 0.45533691 -1.9072316 0.13695201 -1.4006978 2.4545793 - 550 0.45627282 -1.912409 0.13695201 -1.4051155 2.1845065 - 600 0.44734553 -1.8890695 0.13695201 -1.389022 2.3458965 - 650 0.46444648 -1.9042462 0.13695201 -1.3903185 2.1609319 - 700 0.47113236 -1.8977576 0.13695201 -1.3784032 2.2420351 - 750 0.48554548 -1.9253545 0.13695201 -1.3943015 2.143907 - 800 0.46350091 -1.8865749 0.13695201 -1.3734146 2.294431 - 850 0.4766104 -1.9094039 0.13695201 -1.3856031 2.2077157 - 900 0.48988467 -1.9051538 0.13695201 -1.3705787 2.0107056 - 950 0.48351943 -1.9162485 0.13695201 -1.3868399 2.1891332 - 1000 0.49033701 -1.9115165 0.13695201 -1.3765742 2.1508141 -Loop time of 0.166502 on 1 procs for 500 steps with 1200 atoms - -Performance: 1297278.008 tau/day, 3002.958 timesteps/s -99.6% CPU use with 1 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.085767 | 0.085767 | 0.085767 | 0.0 | 51.51 -Bond | 0.0042562 | 0.0042562 | 0.0042562 | 0.0 | 2.56 -Neigh | 0.018039 | 0.018039 | 0.018039 | 0.0 | 10.83 -Comm | 0.0024002 | 0.0024002 | 0.0024002 | 0.0 | 1.44 -Output | 0.00018239 | 0.00018239 | 0.00018239 | 0.0 | 0.11 -Modify | 0.052717 | 0.052717 | 0.052717 | 0.0 | 31.66 -Other | | 0.003141 | | | 1.89 - -Nlocal: 1200 ave 1200 max 1200 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 415 ave 415 max 415 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 8743 ave 8743 max 8743 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 8743 -Ave neighs/atom = 7.28583 -Ave special neighs/atom = 0.5 -Neighbor list builds = 40 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/micelle/log.29Mar2019.micelle-rigid.g++.4 b/examples/micelle/log.29Mar2019.micelle-rigid.g++.4 deleted file mode 100644 index e65f67a527..0000000000 --- a/examples/micelle/log.29Mar2019.micelle-rigid.g++.4 +++ /dev/null @@ -1,260 +0,0 @@ -LAMMPS (29 Mar 2019) - using 1 OpenMP thread(s) per MPI task -# 2d micelle simulation - -dimension 2 - -neighbor 0.3 bin -neigh_modify delay 5 - -atom_style bond - -# Soft potential push-off - -read_data data.micelle - orthogonal box = (0 0 -0.1) to (35.8569 35.8569 0.1) - 2 by 2 by 1 MPI processor grid - reading atoms ... - 1200 atoms - scanning bonds ... - 1 = max bonds/atom - reading bonds ... - 300 bonds - 2 = max # of 1-2 neighbors - 1 = max # of 1-3 neighbors - 1 = max # of 1-4 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000422001 secs - read_data CPU = 0.00473404 secs -special_bonds fene - 2 = max # of 1-2 neighbors - 2 = max # of special neighbors - special bonds CPU = 0.000183344 secs - -pair_style soft 1.12246 -pair_coeff * * 0.0 1.12246 - -bond_style harmonic -bond_coeff 1 50.0 0.75 - -velocity all create 0.45 2349852 - -variable prefactor equal ramp(1.0,20.0) - -fix 1 all nve -fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 -fix 3 all adapt 1 pair soft a * * v_prefactor -fix 4 all enforce2d - -thermo 50 -run 500 -Neighbor list info ... - update every 1 steps, delay 5 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 1.42246 - ghost atom cutoff = 1.42246 - binsize = 0.71123, bins = 51 51 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair soft, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 3.758 | 3.85 | 4.126 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 - 50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786 - 100 0.45 0.99659327 0.079228519 1.5254468 3.2135679 - 150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925 - 200 0.45 1.01454 0.10663502 1.5708 4.7598476 - 250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899 - 300 0.45 0.86475538 0.11819875 1.4325791 5.8554758 - 350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247 - 400 0.45 0.75067331 0.14165013 1.3419484 6.3840708 - 450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009 - 500 0.45 0.66669513 0.13695201 1.2532721 6.807146 -Loop time of 0.0426326 on 4 procs for 500 steps with 1200 atoms - -Performance: 5066547.720 tau/day, 11728.120 timesteps/s -98.7% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.016784 | 0.019254 | 0.022154 | 1.5 | 45.16 -Bond | 0.0010612 | 0.0012558 | 0.0014153 | 0.4 | 2.95 -Neigh | 0.0046048 | 0.0046697 | 0.0047245 | 0.1 | 10.95 -Comm | 0.0064592 | 0.0097114 | 0.012527 | 2.4 | 22.78 -Output | 0.00022507 | 0.00026393 | 0.00033951 | 0.0 | 0.62 -Modify | 0.0041659 | 0.0048084 | 0.0053945 | 0.8 | 11.28 -Other | | 0.002669 | | | 6.26 - -Nlocal: 300 ave 304 max 292 min -Histogram: 1 0 0 0 0 0 0 0 2 1 -Nghost: 103.5 ave 108 max 98 min -Histogram: 1 0 0 1 0 0 0 0 0 2 -Neighs: 773.5 ave 792 max 735 min -Histogram: 1 0 0 0 0 0 0 0 2 1 - -Total # of neighbors = 3094 -Ave neighs/atom = 2.57833 -Ave special neighs/atom = 0.5 -Neighbor list builds = 52 -Dangerous builds = 0 - -unfix 3 - -# Main run - -pair_style lj/cut 2.5 - -# solvent/head - full-size and long-range - -pair_coeff 1 1 1.0 1.0 2.5 -pair_coeff 2 2 1.0 1.0 2.5 -pair_coeff 1 2 1.0 1.0 2.5 - -# tail/tail - size-averaged and long-range - -pair_coeff 3 3 1.0 0.75 2.5 -pair_coeff 4 4 1.0 0.50 2.5 -pair_coeff 3 4 1.0 0.67 2.5 - -# solvent/tail - full-size and repulsive - -pair_coeff 1 3 1.0 1.0 1.12246 -pair_coeff 1 4 1.0 1.0 1.12246 - -# head/tail - size-averaged and repulsive - -pair_coeff 2 3 1.0 0.88 1.12246 -pair_coeff 2 4 1.0 0.75 1.12246 - -thermo 50 - -#dump 1 all atom 2000 dump.micelle - -#dump 2 all image 2000 image.*.jpg type type zoom 1.6 -#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -#dump 3 all movie 2000 movie.mpg type type zoom 1.6 -#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 - -reset_timestep 0 -group solvent molecule 0 -750 atoms in group solvent -group solute subtract all solvent -450 atoms in group solute -unfix 1 -unfix 2 -unfix 4 -fix 1 solvent nve -fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 -fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 -150 rigid bodies with 450 atoms -fix 4 all enforce2d -run 500 -Neighbor list info ... - update every 1 steps, delay 5 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 = 26 26 1 - 1 neighbor lists, perpetual/occasional/extra = 1 0 0 - (1) pair lj/cut, perpetual - attributes: half, newton on - pair build: half/bin/newton - stencil: half/bin/2d/newton - bin: standard -Per MPI rank memory allocation (min/avg/max) = 5.251 | 5.282 | 5.374 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423 - 50 0.77871641 -1.6955252 0.13695201 -0.92651507 0.64222539 - 100 0.5336062 -1.7124572 0.13695201 -1.1423948 -0.11959696 - 150 0.58789067 -1.7926109 0.13695201 -1.1784877 1.2592743 - 200 0.47864796 -1.8040298 0.13695201 -1.2785752 3.6739793 - 250 0.51124651 -1.8614797 0.13695201 -1.309566 2.5817722 - 300 0.45695639 -1.8708384 0.13695201 -1.3629901 3.0833794 - 350 0.477504 -1.8924359 0.13695201 -1.3679098 -5.1605926 - 400 0.45328205 -1.87754 0.13695201 -1.372674 -4.0355858 - 450 0.47465031 -1.9071924 0.13695201 -1.3849826 3.1949617 - 500 0.45533691 -1.9072316 0.13695201 -1.4006978 0.48079061 -Loop time of 0.0887392 on 4 procs for 500 steps with 1200 atoms - -Performance: 2434100.210 tau/day, 5634.491 timesteps/s -98.9% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.022611 | 0.022839 | 0.023082 | 0.1 | 25.74 -Bond | 0.0010793 | 0.0011569 | 0.0012515 | 0.2 | 1.30 -Neigh | 0.0064609 | 0.0064996 | 0.0065265 | 0.0 | 7.32 -Comm | 0.0071712 | 0.0073687 | 0.0077734 | 0.3 | 8.30 -Output | 0.00023389 | 0.00025356 | 0.00030327 | 0.0 | 0.29 -Modify | 0.047258 | 0.047683 | 0.048503 | 0.2 | 53.73 -Other | | 0.002938 | | | 3.31 - -Nlocal: 300 ave 309 max 291 min -Histogram: 1 0 0 1 0 0 1 0 0 1 -Nghost: 218.75 ave 223 max 216 min -Histogram: 1 0 2 0 0 0 0 0 0 1 -Neighs: 2192.25 ave 2251 max 2113 min -Histogram: 1 0 0 1 0 0 0 0 0 2 - -Total # of neighbors = 8769 -Ave neighs/atom = 7.3075 -Ave special neighs/atom = 0.5 -Neighbor list builds = 47 -Dangerous builds = 2 -unfix 2 -unfix 4 -unfix 5 -fix 5 solute rigid/small molecule - create bodies CPU = 7.70092e-05 secs -150 rigid bodies with 450 atoms - 1.30435 = max distance from body owner to body atom -fix 4 all enforce2d -run 500 -Per MPI rank memory allocation (min/avg/max) = 8.565 | 8.597 | 8.69 Mbytes -Step Temp E_pair E_mol TotEng Press - 500 0.45533691 -1.9072316 0.13695201 -1.4006978 2.4545793 - 550 0.45627282 -1.912409 0.13695201 -1.4051155 2.1845065 - 600 0.44734553 -1.8890695 0.13695201 -1.389022 2.3458965 - 650 0.46444648 -1.9042462 0.13695201 -1.3903185 2.1609319 - 700 0.47113236 -1.8977576 0.13695201 -1.3784032 2.2420351 - 750 0.48554548 -1.9253545 0.13695201 -1.3943015 2.143907 - 800 0.46350091 -1.8865749 0.13695201 -1.3734146 2.294431 - 850 0.4766104 -1.9094039 0.13695201 -1.3856031 2.2077157 - 900 0.48988467 -1.9051538 0.13695201 -1.3705787 2.0107056 - 950 0.48351942 -1.9162485 0.13695201 -1.3868399 2.1891332 - 1000 0.490337 -1.9115164 0.13695201 -1.3765742 2.1508141 -Loop time of 0.0588261 on 4 procs for 500 steps with 1200 atoms - -Performance: 3671840.233 tau/day, 8499.630 timesteps/s -98.3% CPU use with 4 MPI tasks x 1 OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.022407 | 0.022631 | 0.0229 | 0.1 | 38.47 -Bond | 0.0010669 | 0.0011355 | 0.0012124 | 0.2 | 1.93 -Neigh | 0.0052333 | 0.00528 | 0.0053182 | 0.0 | 8.98 -Comm | 0.0063677 | 0.0066406 | 0.0068488 | 0.2 | 11.29 -Output | 0.00023055 | 0.00024778 | 0.00028086 | 0.0 | 0.42 -Modify | 0.020577 | 0.020651 | 0.020834 | 0.1 | 35.11 -Other | | 0.00224 | | | 3.81 - -Nlocal: 300 ave 303 max 295 min -Histogram: 1 0 0 0 0 0 1 0 1 1 -Nghost: 219 ave 224 max 215 min -Histogram: 1 0 0 1 1 0 0 0 0 1 -Neighs: 2185.75 ave 2244 max 2143 min -Histogram: 1 1 0 0 0 1 0 0 0 1 - -Total # of neighbors = 8743 -Ave neighs/atom = 7.28583 -Ave special neighs/atom = 0.5 -Neighbor list builds = 40 -Dangerous builds = 0 -Total wall time: 0:00:00 diff --git a/examples/micelle/log.4Apr2024.micelle-rigid.g++.1 b/examples/micelle/log.4Apr2024.micelle-rigid.g++.1 new file mode 100644 index 0000000000..d3cb98940d --- /dev/null +++ b/examples/micelle/log.4Apr2024.micelle-rigid.g++.1 @@ -0,0 +1,271 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-345-g506bf886ee-modified) +# 2d micelle simulation + +dimension 2 + +neighbor 0.3 bin +neigh_modify delay 5 + +atom_style bond + +# Soft potential push-off + +read_data data.micelle +Reading data file ... + orthogonal box = (0 0 -0.1) to (35.85686 35.85686 0.1) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 1200 atoms + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 300 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.005 seconds +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + +pair_style soft 1.12246 +pair_coeff * * 0.0 1.12246 + +bond_style harmonic +bond_coeff 1 50.0 0.75 + +velocity all create 0.45 2349852 + +variable prefactor equal ramp(1.0,20.0) + +fix 1 all nve +fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 +fix 3 all adapt 1 pair soft a * * v_prefactor +fix 4 all enforce2d + +thermo 50 +run 500 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +WARNING: Communication cutoff 1.42246 is shorter than a bond length based estimate of 1.425. This may lead to errors. (../comm.cpp:730) +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.42246 + ghost atom cutoff = 1.42246 + binsize = 0.71123, bins = 51 51 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair soft, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +WARNING: Communication cutoff 1.42246 is shorter than a bond length based estimate of 1.425. This may lead to errors. (../comm.cpp:730) +Per MPI rank memory allocation (min/avg/max) = 4.148 | 4.148 | 4.148 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 + 50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786 + 100 0.45 0.99659327 0.079228519 1.5254468 3.2135679 + 150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925 + 200 0.45 1.01454 0.10663502 1.5708 4.7598476 + 250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899 + 300 0.45 0.86475538 0.11819875 1.4325791 5.8554758 + 350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247 + 400 0.45 0.75067331 0.14165013 1.3419484 6.3840708 + 450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009 + 500 0.45 0.66669513 0.13695201 1.2532721 6.807146 +Loop time of 0.0365221 on 1 procs for 500 steps with 1200 atoms + +Performance: 5914221.123 tau/day, 13690.327 timesteps/s, 16.428 Matom-step/s +89.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.022939 | 0.022939 | 0.022939 | 0.0 | 62.81 +Bond | 0.00073851 | 0.00073851 | 0.00073851 | 0.0 | 2.02 +Neigh | 0.0078339 | 0.0078339 | 0.0078339 | 0.0 | 21.45 +Comm | 0.00072134 | 0.00072134 | 0.00072134 | 0.0 | 1.98 +Output | 7.1419e-05 | 7.1419e-05 | 7.1419e-05 | 0.0 | 0.20 +Modify | 0.0034868 | 0.0034868 | 0.0034868 | 0.0 | 9.55 +Other | | 0.0007314 | | | 2.00 + +Nlocal: 1200 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 197 ave 197 max 197 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 3094 ave 3094 max 3094 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 3094 +Ave neighs/atom = 2.5783333 +Ave special neighs/atom = 0.5 +Neighbor list builds = 52 +Dangerous builds = 0 + +unfix 3 + +# Main run + +pair_style lj/cut 2.5 + +# solvent/head - full-size and long-range + +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 2.5 + +# tail/tail - size-averaged and long-range + +pair_coeff 3 3 1.0 0.75 2.5 +pair_coeff 4 4 1.0 0.50 2.5 +pair_coeff 3 4 1.0 0.67 2.5 + +# solvent/tail - full-size and repulsive + +pair_coeff 1 3 1.0 1.0 1.12246 +pair_coeff 1 4 1.0 1.0 1.12246 + +# head/tail - size-averaged and repulsive + +pair_coeff 2 3 1.0 0.88 1.12246 +pair_coeff 2 4 1.0 0.75 1.12246 + +thermo 50 + +#dump 1 all atom 2000 dump.micelle + +#dump 2 all image 2000 image.*.jpg type type zoom 1.6 +#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +#dump 3 all movie 2000 movie.mpg type type zoom 1.6 +#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +reset_timestep 0 +group solvent molecule 0 +750 atoms in group solvent +group solute subtract all solvent +450 atoms in group solute +unfix 1 +unfix 2 +unfix 4 +fix 1 solvent nve +fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 +fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 + 150 rigid bodies with 450 atoms +fix 4 all enforce2d +run 500 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 5 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 = 26 26 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.391 | 5.391 | 5.391 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423 + 50 0.77344732 -1.6944083 0.13695201 -0.92967487 0.58657109 + 100 0.53530681 -1.7006195 0.13695201 -1.1291768 0.11219772 + 150 0.60820175 -1.8071581 0.13695201 -1.176549 1.5161796 + 200 0.49410558 -1.7945459 0.13695201 -1.2565449 4.0469262 + 250 0.52460847 -1.8528672 0.13695201 -1.290108 2.9929445 + 300 0.46596803 -1.8680499 0.13695201 -1.3528872 2.7958851 + 350 0.48831812 -1.8723486 0.13695201 -1.3390451 -4.5106818 + 400 0.46798432 -1.9008529 0.13695201 -1.3840536 -4.3096566 + 450 0.46000658 -1.9081144 0.13695201 -1.3977904 3.3360611 + 500 0.45822409 -1.9077531 0.13695201 -1.3988759 0.45428738 +Loop time of 0.0650638 on 1 procs for 500 steps with 1200 atoms + +Performance: 3319817.322 tau/day, 7684.762 timesteps/s, 9.222 Matom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.027565 | 0.027565 | 0.027565 | 0.0 | 42.37 +Bond | 0.0007043 | 0.0007043 | 0.0007043 | 0.0 | 1.08 +Neigh | 0.012724 | 0.012724 | 0.012724 | 0.0 | 19.56 +Comm | 0.00091442 | 0.00091442 | 0.00091442 | 0.0 | 1.41 +Output | 6.004e-05 | 6.004e-05 | 6.004e-05 | 0.0 | 0.09 +Modify | 0.022329 | 0.022329 | 0.022329 | 0.0 | 34.32 +Other | | 0.0007666 | | | 1.18 + +Nlocal: 1200 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 411 ave 411 max 411 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 8759 ave 8759 max 8759 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 8759 +Ave neighs/atom = 7.2991667 +Ave special neighs/atom = 0.5 +Neighbor list builds = 46 +Dangerous builds = 2 +unfix 2 +unfix 4 +unfix 5 +fix 5 solute rigid/small molecule + create bodies CPU = 0.000 seconds + 150 rigid bodies with 450 atoms + 1.3043524 = max distance from body owner to body atom +fix 4 all enforce2d +run 500 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 9.306 | 9.306 | 9.306 Mbytes + Step Temp E_pair E_mol TotEng Press + 500 0.45822409 -1.9077531 0.13695201 -1.3988759 2.4509752 + 550 0.46736204 -1.9141964 0.13695201 -1.3979022 2.1695662 + 600 0.47872194 -1.9232781 0.13695201 -1.3977635 2.0058379 + 650 0.47491575 -1.9224109 0.13695201 -1.3999857 2.0637789 + 700 0.44714331 -1.8990682 0.13695201 -1.3991848 2.4863082 + 750 0.49089274 -1.9231004 0.13695201 -1.3877071 2.123147 + 800 0.4753839 -1.8959698 0.13695201 -1.3731645 2.3030481 + 850 0.46870816 -1.8972225 0.13695201 -1.3798357 2.2464703 + 900 0.49610454 -1.9070748 0.13695201 -1.3674513 2.2196388 + 950 0.4773035 -1.8925765 0.13695201 -1.3682132 2.3534786 + 1000 0.50413702 -1.9292393 0.13695201 -1.383096 2.1630988 +Loop time of 0.0592806 on 1 procs for 500 steps with 1200 atoms + +Performance: 3643690.276 tau/day, 8434.468 timesteps/s, 10.121 Matom-step/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.026866 | 0.026866 | 0.026866 | 0.0 | 45.32 +Bond | 0.00071863 | 0.00071863 | 0.00071863 | 0.0 | 1.21 +Neigh | 0.010927 | 0.010927 | 0.010927 | 0.0 | 18.43 +Comm | 0.00084187 | 0.00084187 | 0.00084187 | 0.0 | 1.42 +Output | 6.8106e-05 | 6.8106e-05 | 6.8106e-05 | 0.0 | 0.11 +Modify | 0.019075 | 0.019075 | 0.019075 | 0.0 | 32.18 +Other | | 0.000783 | | | 1.32 + +Nlocal: 1200 ave 1200 max 1200 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 417 ave 417 max 417 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 8654 ave 8654 max 8654 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 8654 +Ave neighs/atom = 7.2116667 +Ave special neighs/atom = 0.5 +Neighbor list builds = 39 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/micelle/log.4Apr2024.micelle-rigid.g++.4 b/examples/micelle/log.4Apr2024.micelle-rigid.g++.4 new file mode 100644 index 0000000000..ce15cfec21 --- /dev/null +++ b/examples/micelle/log.4Apr2024.micelle-rigid.g++.4 @@ -0,0 +1,272 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-345-g506bf886ee-modified) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) +# 2d micelle simulation + +dimension 2 + +neighbor 0.3 bin +neigh_modify delay 5 + +atom_style bond + +# Soft potential push-off + +read_data data.micelle +Reading data file ... + orthogonal box = (0 0 -0.1) to (35.85686 35.85686 0.1) + 2 by 2 by 1 MPI processor grid + reading atoms ... + 1200 atoms + scanning bonds ... + 1 = max bonds/atom + reading bonds ... + 300 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.004 seconds +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + +pair_style soft 1.12246 +pair_coeff * * 0.0 1.12246 + +bond_style harmonic +bond_coeff 1 50.0 0.75 + +velocity all create 0.45 2349852 + +variable prefactor equal ramp(1.0,20.0) + +fix 1 all nve +fix 2 all temp/rescale 100 0.45 0.45 0.02 1.0 +fix 3 all adapt 1 pair soft a * * v_prefactor +fix 4 all enforce2d + +thermo 50 +run 500 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +WARNING: Communication cutoff 1.42246 is shorter than a bond length based estimate of 1.425. This may lead to errors. (../comm.cpp:730) +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 1.42246 + ghost atom cutoff = 1.42246 + binsize = 0.71123, bins = 51 51 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair soft, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +WARNING: Communication cutoff 1.42246 is shorter than a bond length based estimate of 1.425. This may lead to errors. (../comm.cpp:730) +Per MPI rank memory allocation (min/avg/max) = 4.126 | 4.126 | 4.127 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.45 0.40003481 2.2200223e-06 0.84966203 0.78952518 + 50 0.54981866 0.93548899 0.068440043 1.5532895 1.9232786 + 100 0.45 0.99659327 0.079228519 1.5254468 3.2135679 + 150 0.86965411 0.90456016 0.07493355 1.8484231 4.3821925 + 200 0.45 1.01454 0.10663502 1.5708 4.7598476 + 250 0.79636561 0.82567712 0.12105337 1.7424325 5.4983899 + 300 0.45 0.86475538 0.11819875 1.4325791 5.8554758 + 350 0.72135464 0.70693069 0.10912636 1.5368106 6.0388247 + 400 0.45 0.75067331 0.14165013 1.3419484 6.3840708 + 450 0.64839221 0.62402486 0.14173679 1.4136135 6.4791009 + 500 0.45 0.66669513 0.13695201 1.2532721 6.807146 +Loop time of 0.0138659 on 4 procs for 500 steps with 1200 atoms + +Performance: 15577811.312 tau/day, 36059.748 timesteps/s, 43.272 Matom-step/s +99.9% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0053896 | 0.0057144 | 0.0060899 | 0.4 | 41.21 +Bond | 0.00020074 | 0.00021422 | 0.00022291 | 0.0 | 1.54 +Neigh | 0.0025301 | 0.0025401 | 0.0025501 | 0.0 | 18.32 +Comm | 0.0031194 | 0.0035074 | 0.0038196 | 0.4 | 25.30 +Output | 6.4137e-05 | 6.7743e-05 | 7.7909e-05 | 0.0 | 0.49 +Modify | 0.0013391 | 0.0013582 | 0.0013972 | 0.1 | 9.80 +Other | | 0.0004638 | | | 3.34 + +Nlocal: 300 ave 304 max 292 min +Histogram: 1 0 0 0 0 0 0 0 2 1 +Nghost: 103.5 ave 108 max 98 min +Histogram: 1 0 0 1 0 0 0 0 0 2 +Neighs: 773.5 ave 792 max 735 min +Histogram: 1 0 0 0 0 0 0 0 2 1 + +Total # of neighbors = 3094 +Ave neighs/atom = 2.5783333 +Ave special neighs/atom = 0.5 +Neighbor list builds = 52 +Dangerous builds = 0 + +unfix 3 + +# Main run + +pair_style lj/cut 2.5 + +# solvent/head - full-size and long-range + +pair_coeff 1 1 1.0 1.0 2.5 +pair_coeff 2 2 1.0 1.0 2.5 +pair_coeff 1 2 1.0 1.0 2.5 + +# tail/tail - size-averaged and long-range + +pair_coeff 3 3 1.0 0.75 2.5 +pair_coeff 4 4 1.0 0.50 2.5 +pair_coeff 3 4 1.0 0.67 2.5 + +# solvent/tail - full-size and repulsive + +pair_coeff 1 3 1.0 1.0 1.12246 +pair_coeff 1 4 1.0 1.0 1.12246 + +# head/tail - size-averaged and repulsive + +pair_coeff 2 3 1.0 0.88 1.12246 +pair_coeff 2 4 1.0 0.75 1.12246 + +thermo 50 + +#dump 1 all atom 2000 dump.micelle + +#dump 2 all image 2000 image.*.jpg type type zoom 1.6 +#dump_modify 2 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +#dump 3 all movie 2000 movie.mpg type type zoom 1.6 +#dump_modify 3 pad 5 adiam 1 0.5 adiam 2 1.5 adiam 3 1.0 adiam 4 0.75 + +reset_timestep 0 +group solvent molecule 0 +750 atoms in group solvent +group solute subtract all solvent +450 atoms in group solute +unfix 1 +unfix 2 +unfix 4 +fix 1 solvent nve +fix 2 solvent temp/rescale 100 0.45 0.45 0.02 1.0 +fix 5 solute rigid molecule langevin 0.45 0.45 0.5 112211 + 150 rigid bodies with 450 atoms +fix 4 all enforce2d +run 500 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 5 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 = 26 26 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 5.375 | 5.375 | 5.375 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.45318168 -1.3753652 0.13695201 -0.8705807 1.975423 + 50 0.77344732 -1.6944083 0.13695201 -0.92967487 0.58657109 + 100 0.53530681 -1.7006195 0.13695201 -1.1291768 0.11219772 + 150 0.60820175 -1.8071581 0.13695201 -1.176549 1.5161796 + 200 0.49410558 -1.7945459 0.13695201 -1.2565449 4.0469262 + 250 0.52460847 -1.8528672 0.13695201 -1.290108 2.9929445 + 300 0.46596803 -1.8680499 0.13695201 -1.3528872 2.7958851 + 350 0.48831812 -1.8723486 0.13695201 -1.3390451 -4.5106818 + 400 0.46798432 -1.9008529 0.13695201 -1.3840536 -4.3096566 + 450 0.46000658 -1.9081144 0.13695201 -1.3977904 3.3360611 + 500 0.45822409 -1.9077531 0.13695201 -1.3988759 0.45428738 +Loop time of 0.0381773 on 4 procs for 500 steps with 1200 atoms + +Performance: 5657810.772 tau/day, 13096.784 timesteps/s, 15.716 Matom-step/s +99.6% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0059651 | 0.0062314 | 0.0066404 | 0.3 | 16.32 +Bond | 0.00021057 | 0.00022477 | 0.0002333 | 0.0 | 0.59 +Neigh | 0.0041424 | 0.0041487 | 0.0041512 | 0.0 | 10.87 +Comm | 0.004264 | 0.0047244 | 0.0050297 | 0.4 | 12.37 +Output | 8.2396e-05 | 8.6559e-05 | 9.6749e-05 | 0.0 | 0.23 +Modify | 0.021833 | 0.021946 | 0.022094 | 0.1 | 57.48 +Other | | 0.0008157 | | | 2.14 + +Nlocal: 300 ave 303 max 296 min +Histogram: 1 0 0 0 1 0 0 0 1 1 +Nghost: 216.25 ave 219 max 214 min +Histogram: 1 0 1 0 0 0 1 0 0 1 +Neighs: 2189.75 ave 2205 max 2173 min +Histogram: 1 0 0 0 1 0 1 0 0 1 + +Total # of neighbors = 8759 +Ave neighs/atom = 7.2991667 +Ave special neighs/atom = 0.5 +Neighbor list builds = 46 +Dangerous builds = 2 +unfix 2 +unfix 4 +unfix 5 +fix 5 solute rigid/small molecule + create bodies CPU = 0.000 seconds + 150 rigid bodies with 450 atoms + 1.3043524 = max distance from body owner to body atom +fix 4 all enforce2d +run 500 +Generated 0 of 6 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 9.233 | 9.233 | 9.234 Mbytes + Step Temp E_pair E_mol TotEng Press + 500 0.45822409 -1.9077531 0.13695201 -1.3988759 2.4509752 + 550 0.46736204 -1.9141964 0.13695201 -1.3979022 2.1695662 + 600 0.47872194 -1.9232781 0.13695201 -1.3977635 2.0058379 + 650 0.47491575 -1.9224109 0.13695201 -1.3999857 2.0637789 + 700 0.44714331 -1.8990682 0.13695201 -1.3991848 2.4863082 + 750 0.49089274 -1.9231004 0.13695201 -1.3877071 2.123147 + 800 0.4753839 -1.8959698 0.13695201 -1.3731645 2.3030481 + 850 0.46870816 -1.8972225 0.13695201 -1.3798357 2.2464703 + 900 0.49610454 -1.9070748 0.13695201 -1.3674513 2.2196388 + 950 0.4773035 -1.8925765 0.13695201 -1.3682132 2.3534786 + 1000 0.50413702 -1.9292393 0.13695201 -1.383096 2.1630987 +Loop time of 0.0236819 on 4 procs for 500 steps with 1200 atoms + +Performance: 9120883.727 tau/day, 21113.157 timesteps/s, 25.336 Matom-step/s +99.9% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0058656 | 0.0059718 | 0.0061355 | 0.1 | 25.22 +Bond | 0.0002083 | 0.00022447 | 0.00023485 | 0.0 | 0.95 +Neigh | 0.0035477 | 0.0035644 | 0.0035824 | 0.0 | 15.05 +Comm | 0.0041037 | 0.0042227 | 0.0043024 | 0.1 | 17.83 +Output | 7.4355e-05 | 7.8273e-05 | 8.7777e-05 | 0.0 | 0.33 +Modify | 0.008976 | 0.0090549 | 0.0091663 | 0.1 | 38.24 +Other | | 0.0005654 | | | 2.39 + +Nlocal: 300 ave 306 max 295 min +Histogram: 1 0 1 0 0 1 0 0 0 1 +Nghost: 221 ave 226 max 217 min +Histogram: 1 0 0 1 1 0 0 0 0 1 +Neighs: 2163.5 ave 2271 max 2100 min +Histogram: 1 1 0 1 0 0 0 0 0 1 + +Total # of neighbors = 8654 +Ave neighs/atom = 7.2116667 +Ave special neighs/atom = 0.5 +Neighbor list builds = 39 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/src/RIGID/fix_rigid.cpp b/src/RIGID/fix_rigid.cpp index c728c66c4f..6f8a9a2b7d 100644 --- a/src/RIGID/fix_rigid.cpp +++ b/src/RIGID/fix_rigid.cpp @@ -896,20 +896,9 @@ void FixRigid::setup(int vflag) // set velocities from angmom & omega - for (ibody = 0; ibody < nbody; ibody++) { + for (ibody = 0; ibody < nbody; ibody++) MathExtra::angmom_to_omega(angmom[ibody],ex_space[ibody],ey_space[ibody], ez_space[ibody],inertia[ibody],omega[ibody]); - if (ibody == IBODY) printf("SETUP omega: %g %g %g\n", - omega[ibody][0],omega[ibody][1],omega[ibody][2]); - printf("IBODY %d quat %g %g %g %g omega %g %g %g idiag %g %g %g ex %g %g %g ey %g %g %g ez %g %g %g\n", - ibody, - quat[ibody][0],quat[ibody][1],quat[ibody][2],quat[ibody][3], - omega[ibody][0],omega[ibody][1],omega[ibody][2], - inertia[ibody][0],inertia[ibody][1],inertia[ibody][2], - ex_space[ibody][0],ex_space[ibody][1],ex_space[ibody][2], - ey_space[ibody][0],ey_space[ibody][1],ey_space[ibody][2], - ez_space[ibody][0],ez_space[ibody][1],ez_space[ibody][2]); - } set_v(); @@ -958,68 +947,10 @@ void FixRigid::initial_integrate(int vflag) MathExtra::angmom_to_omega(angmom[ibody],ex_space[ibody],ey_space[ibody], ez_space[ibody],inertia[ibody],omega[ibody]); - - if (update->ntimestep % 100 == 0 && ibody == IBODY) { - printf("BODY %d: start of step %ld\n",ibody,update->ntimestep); - printf(" interia %g %g %g\n", - inertia[ibody][0],inertia[ibody][1],inertia[ibody][2]); - printf(" angmom %g %g %g\n", - angmom[ibody][0],angmom[ibody][1],angmom[ibody][2]); - printf(" omega %g %g %g\n", - omega[ibody][0],omega[ibody][1],omega[ibody][2]); - printf(" ex %g %g %g\n", - ex_space[ibody][0],ex_space[ibody][1],ex_space[ibody][2]); - printf(" ey %g %g %g\n", - ey_space[ibody][0],ey_space[ibody][1],ey_space[ibody][2]); - printf(" ez %g %g %g\n", - ez_space[ibody][0],ez_space[ibody][1],ez_space[ibody][2]); - printf(" quat %15.12g %15.12g %15.12g %15.12g\n", - quat[ibody][0],quat[ibody][1],quat[ibody][2],quat[ibody][3]); - } - MathExtra::richardson(quat[ibody],angmom[ibody],omega[ibody], inertia[ibody],dtq); - - if (update->ntimestep % 100 == 0 && ibody == IBODY) { - printf(" richardson omega %g %g %g\n", - omega[ibody][0],omega[ibody][1],omega[ibody][2]); - printf(" richardson quat %15.12g %15.12g %15.12g %15.12g\n", - quat[ibody][0],quat[ibody][1],quat[ibody][2],quat[ibody][3]); - } - MathExtra::q_to_exyz(quat[ibody], ex_space[ibody],ey_space[ibody],ez_space[ibody]); - - if (update->ntimestep % 100 == 0 && ibody == IBODY) { - printf(" exnew %g %g %g\n", - ex_space[ibody][0],ex_space[ibody][1],ex_space[ibody][2]); - printf(" eynew %g %g %g\n", - ey_space[ibody][0],ey_space[ibody][1],ey_space[ibody][2]); - printf(" eznew %g %g %g\n", - ez_space[ibody][0],ez_space[ibody][1],ez_space[ibody][2]); - } - - /* - if (ibody == 42) { - ex_space[ibody][0] = ex_space[ibody][1] = 0.0; - ex_space[ibody][2] = 1.0; - ey_space[ibody][2] = ez_space[ibody][2] = 0.0; - MathExtra::norm3(ey_space[ibody]); - MathExtra::norm3(ez_space[ibody]); - MathExtra::exyz_to_q(ex_space[ibody],ey_space[ibody],ez_space[ibody],quat[ibody]); - } - */ - - if (update->ntimestep % 100 == 0 && ibody == IBODY) { - printf(" quatnew2 %15.12g %15.12g %15.12g %15.12g\n", - quat[ibody][0],quat[ibody][1],quat[ibody][2],quat[ibody][3]); - printf(" exnew2 %g %g %g\n", - ex_space[ibody][0],ex_space[ibody][1],ex_space[ibody][2]); - printf(" eynew2 %g %g %g\n", - ey_space[ibody][0],ey_space[ibody][1],ey_space[ibody][2]); - printf(" eznew2 %g %g %g\n", - ez_space[ibody][0],ez_space[ibody][1],ez_space[ibody][2]); - } } // virial setup before call to set_xv @@ -1097,42 +1028,12 @@ void FixRigid::final_integrate() MathExtra::angmom_to_omega(angmom[ibody],ex_space[ibody],ey_space[ibody], ez_space[ibody],inertia[ibody],omega[ibody]); - - if (update->ntimestep % 100 == 0 && ibody == IBODY) { - printf("BODY %d: end of step %ld\n",ibody,update->ntimestep); - printf(" interia %g %g %g\n", - inertia[ibody][0],inertia[ibody][1],inertia[ibody][2]); - printf(" angmom %g %g %g\n", - angmom[ibody][0],angmom[ibody][1],angmom[ibody][2]); - printf(" omega %g %g %g\n", - omega[ibody][0],omega[ibody][1],omega[ibody][2]); - printf(" ex %g %g %g\n", - ex_space[ibody][0],ex_space[ibody][1],ex_space[ibody][2]); - printf(" ey %g %g %g\n", - ey_space[ibody][0],ey_space[ibody][1],ey_space[ibody][2]); - printf(" ez %g %g %g\n", - ez_space[ibody][0],ez_space[ibody][1],ez_space[ibody][2]); - } } // set velocity/rotation of atoms in rigid bodies // virial is already setup from initial_integrate set_v(); - - if (update->ntimestep == 500) { - for (ibody = 0; ibody < nbody; ibody++) { - printf("IBODY %d quat %g %g %g %g omega %g %g %g idiag %g %g %g ex %g %g %g ey %g %g %g ez %g %g %g\n", - ibody, - quat[ibody][0],quat[ibody][1],quat[ibody][2],quat[ibody][3], - omega[ibody][0],omega[ibody][1],omega[ibody][2], - inertia[ibody][0],inertia[ibody][1],inertia[ibody][2], - ex_space[ibody][0],ex_space[ibody][1],ex_space[ibody][2], - ey_space[ibody][0],ey_space[ibody][1],ey_space[ibody][2], - ez_space[ibody][0],ez_space[ibody][1],ez_space[ibody][2]); - } - } - } /* ---------------------------------------------------------------------- */ @@ -2055,7 +1956,8 @@ void FixRigid::setup_bodies_static() // diagonalize inertia tensor for each body via Jacobi rotations // inertia = 3 eigenvalues = principal moments of inertia - // jacobi3() returns them in ascending order, so that in 2d last evector is z-axis + // request that jacobi3() return them in ascending order, + /// so that in 2d last evector is z-axis // evectors and exzy_space = 3 evectors = principal axes of rigid body int ierror; @@ -2070,7 +1972,7 @@ void FixRigid::setup_bodies_static() tensor[0][2] = tensor[2][0] = all[ibody][4]; tensor[0][1] = tensor[1][0] = all[ibody][5]; - ierror = MathEigen::jacobi3(tensor,inertia[ibody],evectors); + ierror = MathEigen::jacobi3(tensor,inertia[ibody],evectors,1); if (ierror) error->all(FLERR, "Insufficient Jacobi rotations for rigid body"); @@ -2093,7 +1995,6 @@ void FixRigid::setup_bodies_static() if (domain->dimension == 2) { if (fabs(ez_space[ibody][0]) > EPSILON || fabs(ez_space[ibody][1]) > EPSILON) { - printf("AAA EVEC SWAP %d\n",ibody); std::swap(inertia[ibody][1],inertia[ibody][2]); std::swap(ey_space[ibody][0],ez_space[ibody][0]); std::swap(ey_space[ibody][1],ez_space[ibody][1]); diff --git a/src/RIGID/fix_rigid_small.cpp b/src/RIGID/fix_rigid_small.cpp index b61d264d0a..4be8ce5571 100644 --- a/src/RIGID/fix_rigid_small.cpp +++ b/src/RIGID/fix_rigid_small.cpp @@ -704,16 +704,8 @@ void FixRigidSmall::setup(int vflag) Body *b = &body[ibody]; MathExtra::angmom_to_omega(b->angmom,b->ex_space,b->ey_space, b->ez_space,b->inertia,b->omega); - printf("IBODY %d quat %g %g %g %g omega %g %g %g idiag %g %g %g ex %g %g %g ey %g %g %g ez %g %g %g\n", - ibody, - b->quat[0],b->quat[1],b->quat[2],b->quat[3], - b->omega[0],b->omega[1],b->omega[2], - b->inertia[0],b->inertia[1],b->inertia[2], - b->ex_space[0],b->ex_space[1],b->ex_space[2], - b->ey_space[0],b->ey_space[1],b->ey_space[2], - b->ez_space[0],b->ez_space[1],b->ez_space[2]); } - + commflag = FINAL; comm->forward_comm(this,10); @@ -879,21 +871,6 @@ void FixRigidSmall::final_integrate() // virial is already setup from initial_integrate set_v(); - - if (update->ntimestep == 1000) { - for (int ibody = 0; ibody < nlocal_body; ibody++) { - Body *b = &body[ibody]; - printf("IBODY %d quat %g %g %g %g omega %g %g %g idiag %g %g %g ex %g %g %g ey %g %g %g ez %g %g %g\n", - ibody, - b->quat[0],b->quat[1],b->quat[2],b->quat[3], - b->omega[0],b->omega[1],b->omega[2], - b->inertia[0],b->inertia[1],b->inertia[2], - b->ex_space[0],b->ex_space[1],b->ex_space[2], - b->ey_space[0],b->ey_space[1],b->ey_space[2], - b->ez_space[0],b->ez_space[1],b->ez_space[2]); - } - } - } /* ---------------------------------------------------------------------- */ @@ -2120,7 +2097,8 @@ void FixRigidSmall::setup_bodies_static() // diagonalize inertia tensor for each body via Jacobi rotations // inertia = 3 eigenvalues = principal moments of inertia - // jacobi3() returns them in ascending order, so that in 2d last evector is z-axis + // request that jacobi3() returns them in ascending order, + // so that in 2d last evector is z-axis // evectors and exzy_space = 3 evectors = principal axes of rigid body int ierror; @@ -2137,7 +2115,7 @@ void FixRigidSmall::setup_bodies_static() tensor[0][1] = tensor[1][0] = itensor[ibody][5]; inertia = body[ibody].inertia; - ierror = MathEigen::jacobi3(tensor,inertia,evectors); + ierror = MathEigen::jacobi3(tensor,inertia,evectors,1); if (ierror) error->all(FLERR, "Insufficient Jacobi rotations for rigid body"); ex = body[ibody].ex_space; From 03711c13da83ca847001f1b84335d332bd948071 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 4 Apr 2024 13:11:59 -0600 Subject: [PATCH 408/559] clean up --- src/RIGID/fix_rigid.cpp | 5 +---- src/RIGID/fix_rigid_small.cpp | 4 ++-- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/RIGID/fix_rigid.cpp b/src/RIGID/fix_rigid.cpp index 6f8a9a2b7d..8703fb4d37 100644 --- a/src/RIGID/fix_rigid.cpp +++ b/src/RIGID/fix_rigid.cpp @@ -38,9 +38,6 @@ #include #include -// DEBUG -#define IBODY 10 - using namespace LAMMPS_NS; using namespace FixConst; using namespace MathConst; @@ -2001,7 +1998,7 @@ void FixRigid::setup_bodies_static() std::swap(ey_space[ibody][2],ez_space[ibody][2]); } } - + // if any principal moment < scaled EPSILON, set to 0.0 double max; diff --git a/src/RIGID/fix_rigid_small.cpp b/src/RIGID/fix_rigid_small.cpp index 4be8ce5571..2fc1553bf1 100644 --- a/src/RIGID/fix_rigid_small.cpp +++ b/src/RIGID/fix_rigid_small.cpp @@ -705,7 +705,7 @@ void FixRigidSmall::setup(int vflag) MathExtra::angmom_to_omega(b->angmom,b->ex_space,b->ey_space, b->ez_space,b->inertia,b->omega); } - + commflag = FINAL; comm->forward_comm(this,10); @@ -2169,7 +2169,7 @@ void FixRigidSmall::setup_bodies_static() // convert geometric center position to principal axis coordinates // xcm is wrapped, but xgc is not initially - + xcm = body[ibody].xcm; xgc = body[ibody].xgc; double delta[3]; From 2c26586b1af88adee7030768a705d5bfd55a0638 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 4 Apr 2024 13:50:43 -0600 Subject: [PATCH 409/559] clean up --- src/variable.cpp | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/variable.cpp b/src/variable.cpp index 8e35bd8e18..c99e4a4761 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -1544,7 +1544,7 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) // wait to check index1 until after compute invocation // to allow for computes with size_vector_variable == 1 - + if (index1 > compute->size_vector) print_var_error(FLERR,"Variable formula compute vector is accessed out-of-range",ivar,0); @@ -1572,7 +1572,7 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) if (index1 > compute->size_array_rows) print_var_error(FLERR,"Variable formula compute array is accessed out-of-range",ivar,0); - + value1 = compute->array[index1-1][index2-1]; argstack[nargstack++] = value1; @@ -1645,7 +1645,7 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) // wait to check vector size until after compute invocation // to allow for computes with size_vector_variable == 1 - + if (compute->size_vector == 0) print_var_error(FLERR,"Variable formula compute vector is zero length",ivar); @@ -1671,14 +1671,10 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) compute->compute_array(); compute->invoked_flag |= Compute::INVOKED_ARRAY; } - // wait until after compute invocation to check size_array_rows - // b/c may be zero until after initial invocation - if (compute->size_array_rows == 0) - print_var_error(FLERR,"Variable formula compute array is zero length",ivar); // wait to check row count until after compute invocation // to allow for computes with size_array_rows_variable == 1 - + if (compute->size_array_rows == 0) print_var_error(FLERR,"Variable formula compute array has zero rows",ivar); From 66d042a0ee3e78b43d933a616ccd020d42a14701 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 4 Apr 2024 14:11:13 -0600 Subject: [PATCH 410/559] make checks for exceeding length of variable-length vectors more consistent --- src/EXTRA-FIX/fix_ave_correlate_long.cpp | 4 +++- src/fix_ave_correlate.cpp | 6 ++++-- src/fix_ave_histo.cpp | 6 ++++-- src/fix_ave_time.cpp | 5 +++-- src/thermo.cpp | 10 ++++++++-- 5 files changed, 22 insertions(+), 9 deletions(-) diff --git a/src/EXTRA-FIX/fix_ave_correlate_long.cpp b/src/EXTRA-FIX/fix_ave_correlate_long.cpp index fc1760b353..7c80365c57 100644 --- a/src/EXTRA-FIX/fix_ave_correlate_long.cpp +++ b/src/EXTRA-FIX/fix_ave_correlate_long.cpp @@ -454,6 +454,8 @@ void FixAveCorrelateLong::end_of_step() scalar = val.val.f->compute_vector(val.argindex-1); // evaluate equal-style or vector-style variable + // if index exceeds vector length, use a zero value + // this can be useful if vector length is not known a priori } else if (val.which == ArgInfo::VARIABLE) { if (val.argindex == 0) @@ -462,7 +464,7 @@ void FixAveCorrelateLong::end_of_step() double *varvec; int nvec = input->variable->compute_vector(val.val.v,&varvec); int index = val.argindex; - if (nvec < index) scalar = 0.0; + if (index > nvec) scalar = 0.0; else scalar = varvec[index-1]; } } diff --git a/src/fix_ave_correlate.cpp b/src/fix_ave_correlate.cpp index 4b9e316b9d..576ddb3c94 100644 --- a/src/fix_ave_correlate.cpp +++ b/src/fix_ave_correlate.cpp @@ -414,7 +414,9 @@ void FixAveCorrelate::end_of_step() scalar = val.val.f->compute_vector(val.argindex-1); // evaluate equal-style or vector-style variable - + // if index exceeds vector length, use a zero value + // this can be useful if vector length is not known a priori + } else if (val.which == ArgInfo::VARIABLE) { if (val.argindex == 0) scalar = input->variable->compute_equal(val.val.v); @@ -422,7 +424,7 @@ void FixAveCorrelate::end_of_step() double *varvec; int nvec = input->variable->compute_vector(val.val.v,&varvec); int index = val.argindex; - if (nvec < index) scalar = 0.0; + if (index > nvec) scalar = 0.0; else scalar = varvec[index-1]; } } diff --git a/src/fix_ave_histo.cpp b/src/fix_ave_histo.cpp index b3ca9e1106..44e64c4d5a 100644 --- a/src/fix_ave_histo.cpp +++ b/src/fix_ave_histo.cpp @@ -600,6 +600,8 @@ void FixAveHisto::end_of_step() } // evaluate equal-style or vector-style or atom-style variable + // if index exceeds vector length, use a zero value + // this can be useful if vector length is not known a priori } else if (val.which == ArgInfo::VARIABLE) { if (kind == GLOBAL && mode == SCALAR) { @@ -607,7 +609,7 @@ void FixAveHisto::end_of_step() else { double *varvec; int nvec = input->variable->compute_vector(val.val.v,&varvec); - if (nvec < j) bin_one(0.0); + if (j > nvec) bin_one(0.0); else bin_one(varvec[j-1]); } @@ -637,7 +639,7 @@ void FixAveHisto::end_of_step() modify->addstep_compute(nvalid); return; } - + irepeat = 0; nvalid = ntimestep + nfreq - static_cast(nrepeat-1)*nevery; modify->addstep_compute(nvalid); diff --git a/src/fix_ave_time.cpp b/src/fix_ave_time.cpp index c88d8e1659..417e0fd97a 100644 --- a/src/fix_ave_time.cpp +++ b/src/fix_ave_time.cpp @@ -562,7 +562,8 @@ void FixAveTime::invoke_scalar(bigint ntimestep) scalar = val.val.f->compute_vector(val.argindex-1); // evaluate equal-style or vector-style variable - // ensure no out-of-range access to vector-style variable + // if index exceeds vector length, use a zero value + // this can be useful if vector length is not known a priori } else if (val.which == ArgInfo::VARIABLE) { if (val.argindex == 0) @@ -570,7 +571,7 @@ void FixAveTime::invoke_scalar(bigint ntimestep) else { double *varvec; int nvec = input->variable->compute_vector(val.val.v,&varvec); - if (nvec < val.argindex) scalar = 0.0; + if (val.argindex > nvec) scalar = 0.0; else scalar = varvec[val.argindex-1]; } } diff --git a/src/thermo.cpp b/src/thermo.cpp index dbb8b2530e..5ef5eb59b8 100644 --- a/src/thermo.cpp +++ b/src/thermo.cpp @@ -1515,6 +1515,8 @@ void Thermo::compute_fix() int m = field2index[ifield]; Fix *fix = fixes[m]; + // check for out-of-range access if vector/array is variable length + if (argindex1[ifield] == 0) { dvalue = fix->compute_scalar(); if (normflag && fix->extscalar) dvalue /= natoms; @@ -1544,13 +1546,17 @@ void Thermo::compute_variable() { int iarg = argindex1[ifield]; + // evaluate equal-style or vector-style variable + // if index exceeds vector length, use a zero value + // this can be useful if vector length is not known a priori + if (iarg == 0) dvalue = input->variable->compute_equal(variables[field2index[ifield]]); else { double *varvec; int nvec = input->variable->compute_vector(variables[field2index[ifield]], &varvec); - if (iarg > nvec) error->all(FLERR, "Thermo vector-style variable is accessed out-of-range"); - dvalue = varvec[iarg - 1]; + if (iarg > nvec) dvalue = 0.0; + else dvalue = varvec[iarg - 1]; } } From c45f2666ad0c0bc0a3f6ac44c7bc6010648e9e36 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 4 Apr 2024 14:21:55 -0600 Subject: [PATCH 411/559] clean-up whitespace --- src/fix_ave_correlate.cpp | 2 +- src/fix_ave_histo.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/fix_ave_correlate.cpp b/src/fix_ave_correlate.cpp index 576ddb3c94..08cd673122 100644 --- a/src/fix_ave_correlate.cpp +++ b/src/fix_ave_correlate.cpp @@ -416,7 +416,7 @@ void FixAveCorrelate::end_of_step() // evaluate equal-style or vector-style variable // if index exceeds vector length, use a zero value // this can be useful if vector length is not known a priori - + } else if (val.which == ArgInfo::VARIABLE) { if (val.argindex == 0) scalar = input->variable->compute_equal(val.val.v); diff --git a/src/fix_ave_histo.cpp b/src/fix_ave_histo.cpp index 44e64c4d5a..d676bca0b7 100644 --- a/src/fix_ave_histo.cpp +++ b/src/fix_ave_histo.cpp @@ -639,7 +639,7 @@ void FixAveHisto::end_of_step() modify->addstep_compute(nvalid); return; } - + irepeat = 0; nvalid = ntimestep + nfreq - static_cast(nrepeat-1)*nevery; modify->addstep_compute(nvalid); From ec7b76454a22454cad10a9af065a261ddd944460 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Thu, 4 Apr 2024 14:37:03 -0600 Subject: [PATCH 412/559] fix spelling error --- src/RIGID/fix_rigid.cpp | 2 +- src/RIGID/fix_rigid_small.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/RIGID/fix_rigid.cpp b/src/RIGID/fix_rigid.cpp index 8703fb4d37..f4b82e1fd2 100644 --- a/src/RIGID/fix_rigid.cpp +++ b/src/RIGID/fix_rigid.cpp @@ -1987,7 +1987,7 @@ void FixRigid::setup_bodies_static() // necessary so that quaternion is a simple rotation around +z axis // or a 180 degree rotation for a -z axis // otherwise richardson() method for a body with a tiny evalue (near-linear) - // may not preserve the correct z-aligned quat and assocated evectors + // may not preserve the correct z-aligned quat and associated evectors // over time due to round-off accumulation if (domain->dimension == 2) { diff --git a/src/RIGID/fix_rigid_small.cpp b/src/RIGID/fix_rigid_small.cpp index 2fc1553bf1..cb12bd96f7 100644 --- a/src/RIGID/fix_rigid_small.cpp +++ b/src/RIGID/fix_rigid_small.cpp @@ -2135,7 +2135,7 @@ void FixRigidSmall::setup_bodies_static() // necessary so that quaternion is a simple rotation around +z axis // or a 180 degree rotation for a -z axis // otherwise richardson() method for a body with a tiny evalue (near-linear) - // may not preserve the correct z-aligned quat and assocated evectors + // may not preserve the correct z-aligned quat and associated evectors // over time due to round-off accumulation if (domain->dimension == 2) { From 72d7ba85adaada362532dcee610dcfac894be7e5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 4 Apr 2024 20:34:37 -0400 Subject: [PATCH 413/559] call alternate minimum image code from @stanmoore1 from fix rigid/small --- src/RIGID/fix_rigid_small.cpp | 2 +- src/domain.cpp | 69 +++++++++++++++++++++++++++++++++++ src/domain.h | 2 + 3 files changed, 72 insertions(+), 1 deletion(-) diff --git a/src/RIGID/fix_rigid_small.cpp b/src/RIGID/fix_rigid_small.cpp index 9e185a4de2..96bd6019d7 100644 --- a/src/RIGID/fix_rigid_small.cpp +++ b/src/RIGID/fix_rigid_small.cpp @@ -2160,7 +2160,7 @@ void FixRigidSmall::setup_bodies_static() xgc = body[ibody].xgc; double delta[3]; MathExtra::sub3(xgc,xcm,delta); - domain->minimum_image(delta); + domain->minimum_image_big(delta); MathExtra::transpose_matvec(ex,ey,ez,delta,body[ibody].xgc_body); MathExtra::add3(xcm,delta,xgc); } diff --git a/src/domain.cpp b/src/domain.cpp index 7513d384e2..c825016b27 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -973,6 +973,9 @@ void Domain::subbox_too_small_check(double thresh) changed "if" to "while" to enable distance to far-away ghost atom returned by atom->map() to be wrapped back into box could be problem for looking up atom IDs when cutoff > boxsize + should be used for most cases where the difference in the image count + is small (usually 0 or 1) + use minimum_image_big() when a large difference between image counts is expected ------------------------------------------------------------------------- */ static constexpr double MAXIMGCOUNT = 16; @@ -1045,6 +1048,72 @@ void Domain::minimum_image(double &dx, double &dy, double &dz) const } } +/* ---------------------------------------------------------------------- + minimum image convention in periodic dimensions + use 1/2 of box size as test + for triclinic, also add/subtract tilt factors in other dims as needed + allow multiple box lengths to enable distance to + far-away ghost atom returned by atom->map() to be wrapped back into box + could be problem for looking up atom IDs when cutoff > boxsize + this should be used when there is a large image count difference possible + this applies for example to fix rigid/small +------------------------------------------------------------------------- */ + +void Domain::minimum_image_big(double &dx, double &dy, double &dz) const +{ + if (triclinic == 0) { + if (xperiodic) { + double dfactor = dx/xprd + 0.5; + if (dx < 0) dfactor -= 1.0; + if (dfactor > MAXSMALLINT) + error->one(FLERR, "Atoms have moved too far apart ({}) for minimum image\n", dx); + dx -= xprd * static_cast(dfactor); + } + if (yperiodic) { + double dfactor = dy/yprd + 0.5; + if (dy < 0) dfactor -= 1.0; + if (dfactor > MAXSMALLINT) + error->one(FLERR, "Atoms have moved too far apart ({}) for minimum image\n", dy); + dy -= yprd * static_cast(dfactor); + } + if (zperiodic) { + double dfactor = dz/zprd + 0.5; + if (dz < 0) dfactor -= 1.0; + if (dfactor > MAXSMALLINT) + error->one(FLERR, "Atoms have moved too far apart ({}) for minimum image\n", dz); + dz -= zprd * static_cast(dfactor); + } + + } else { + if (zperiodic) { + double dfactor = dz/zprd + 0.5; + if (dz < 0) dfactor -= 1.0; + if (dfactor > MAXSMALLINT) + error->one(FLERR, "Atoms have moved too far apart ({}) for minimum image\n", dz); + int factor = static_cast(dfactor); + dz -= zprd * factor; + dy -= yz * factor; + dx -= xz * factor; + } + if (yperiodic) { + double dfactor = dy/yprd + 0.5; + if (dy < 0) dfactor -= 1.0; + if (dfactor > MAXSMALLINT) + error->one(FLERR, "Atoms have moved too far apart ({}) for minimum image\n", dy); + int factor = static_cast(dfactor); + dy -= yprd * factor; + dx -= xy * factor; + } + if (xperiodic) { + double dfactor = dx/xprd + 0.5; + if (dx < 0) dfactor -= 1.0; + if (dfactor > MAXSMALLINT) + error->one(FLERR, "Atoms have moved too far apart ({}) for minimum image\n", dx); + dx -= xprd * static_cast(dfactor); + } + } +} + /* ---------------------------------------------------------------------- return local index of atom J or any of its images that is closest to atom I if J is not a valid index like -1, just return it diff --git a/src/domain.h b/src/domain.h index ab054f1b50..ac4dd12e61 100644 --- a/src/domain.h +++ b/src/domain.h @@ -119,6 +119,8 @@ class Domain : protected Pointers { void subbox_too_small_check(double); void minimum_image(double &, double &, double &) const; void minimum_image(double *delta) const { minimum_image(delta[0], delta[1], delta[2]); } + void minimum_image_big(double &, double &, double &) const; + void minimum_image_big(double *delta) const { minimum_image_big(delta[0], delta[1], delta[2]); } int closest_image(int, int); int closest_image(const double *const, int); void closest_image(const double *const, const double *const, double *const); From a51174f6c3dd422fe9daa91677cc6e0ddf99ba41 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 4 Apr 2024 21:30:42 -0400 Subject: [PATCH 414/559] update unit test reference data for rigid fixes --- .../tests/fix-timestep-rigid_group.yaml | 113 ++++++++--------- .../tests/fix-timestep-rigid_molecule.yaml | 43 +++---- .../fix-timestep-rigid_molecule_tri.yaml | 37 +++--- .../tests/fix-timestep-rigid_nph.yaml | 85 ++++++------- .../tests/fix-timestep-rigid_nph_small.yaml | 85 ++++++------- .../tests/fix-timestep-rigid_npt.yaml | 119 +++++++++--------- .../tests/fix-timestep-rigid_npt_small.yaml | 85 ++++++------- .../tests/fix-timestep-rigid_nve_group.yaml | 113 ++++++++--------- .../fix-timestep-rigid_nve_molecule.yaml | 45 +++---- .../tests/fix-timestep-rigid_nve_single.yaml | 77 ++++++------ .../tests/fix-timestep-rigid_nve_small.yaml | 45 +++---- .../tests/fix-timestep-rigid_nvt.yaml | 79 ++++++------ .../tests/fix-timestep-rigid_nvt_small.yaml | 45 +++---- .../tests/fix-timestep-rigid_single.yaml | 77 ++++++------ .../tests/fix-timestep-rigid_small.yaml | 43 +++---- 15 files changed, 553 insertions(+), 538 deletions(-) diff --git a/unittest/force-styles/tests/fix-timestep-rigid_group.yaml b/unittest/force-styles/tests/fix-timestep-rigid_group.yaml index e28e0abb08..e434ace375 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_group.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_group.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:10 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,65 +15,65 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.4245356937318884e+03 -1.4496493315649691e+03 -3.6144360984224995e+03 8.4840626828644076e+02 2.0318336761611761e+02 -6.0622397707970140e+02 -global_scalar: 15.711521423178082 + -1.4245356937318909e+03 -1.4496493315649632e+03 -3.6144360984225123e+03 8.4840626828644361e+02 2.0318336761612773e+02 -6.0622397707969583e+02 +global_scalar: 15.711521423178084 run_pos: ! |2 - 1 -2.7899546863891400e-01 2.4731857340328229e+00 -1.7290667740242271e-01 - 2 3.0296221610264262e-01 2.9517129916957545e+00 -8.5798904387773245e-01 - 3 -6.9368802364134741e-01 1.2445115421754194e+00 -6.2281111198650418e-01 - 4 -1.5764879647103154e+00 1.4919714415841279e+00 -1.2492069414674623e+00 - 5 -8.9434512967429969e-01 9.3651699743511030e-01 4.0191726558261276e-01 - 6 2.9454439634451712e-01 2.2724545792544038e-01 -1.2845195053960268e+00 - 7 3.4049112903270051e-01 -9.4655678322458359e-03 -2.4634480020857055e+00 - 8 1.1644354555804874e+00 -4.8367776650961336e-01 -6.7663643940735863e-01 - 9 1.3781717822696469e+00 -2.5332509530010694e-01 2.6864954436590061e-01 - 10 2.0186368606041896e+00 -1.4285861423625796e+00 -9.6712491252780131e-01 - 11 1.7929137227577452e+00 -1.9875455388407426e+00 -1.8836565352266534e+00 - 12 3.0032775230399604e+00 -4.8983022415174027e-01 -1.6190248017343642e+00 - 13 4.0448964162125947e+00 -9.0213155122391020e-01 -1.6385398399479558e+00 - 14 2.6035151245015822e+00 -4.0874995493219213e-01 -2.6555999074786607e+00 - 15 2.9761196776172318e+00 5.6287237454108674e-01 -1.2442626196083388e+00 - 16 2.6517373021566168e+00 -2.3957035508393707e+00 3.3389262100692263e-02 - 17 2.2311114924744970e+00 -2.1018393228798513e+00 1.1496088522377543e+00 - 18 2.1390642573201784e+00 3.0164773560693781e+00 -3.5143984803853878e+00 - 19 1.5353246655146278e+00 2.6305911186316133e+00 -4.2455871034737074e+00 - 20 2.7649421538938390e+00 3.6818603528430849e+00 -3.9364115785985550e+00 - 21 4.9043112657298877e+00 -4.0774268210397882e+00 -3.6200836396129836e+00 - 22 4.3665322424283310e+00 -4.2075138112953594e+00 -4.4636587264885881e+00 - 23 5.7355405581985188e+00 -3.5789558641908918e+00 -3.8805763324089981e+00 - 24 2.0692780332810115e+00 3.1504920436416004e+00 3.1571131300668789e+00 - 25 1.3007297593169076e+00 3.2745259354179481e+00 2.5110163874103675e+00 - 26 2.5819416446099739e+00 4.0104903120756576e+00 3.2150249624526035e+00 + 1 -2.7899546863891755e-01 2.4731857340328198e+00 -1.7290667740241461e-01 + 2 3.0296221610263996e-01 2.9517129916957550e+00 -8.5798904387772190e-01 + 3 -6.9368802364134963e-01 1.2445115421754176e+00 -6.2281111198650141e-01 + 4 -1.5764879647103172e+00 1.4919714415841279e+00 -1.2492069414674598e+00 + 5 -8.9434512967430235e-01 9.3651699743510453e-01 4.0191726558261442e-01 + 6 2.9454439634451712e-01 2.2724545792544146e-01 -1.2845195053960266e+00 + 7 3.4049112903270240e-01 -9.4655678322404235e-03 -2.4634480020857055e+00 + 8 1.1644354555804877e+00 -4.8367776650961403e-01 -6.7663643940735962e-01 + 9 1.3781717822696455e+00 -2.5332509530011083e-01 2.6864954436590072e-01 + 10 2.0186368606041905e+00 -1.4285861423625785e+00 -9.6712491252780486e-01 + 11 1.7929137227577487e+00 -1.9875455388407386e+00 -1.8836565352266592e+00 + 12 3.0032775230399622e+00 -4.8983022415173583e-01 -1.6190248017343625e+00 + 13 4.0448964162125964e+00 -9.0213155122390454e-01 -1.6385398399479547e+00 + 14 2.6035151245015857e+00 -4.0874995493218413e-01 -2.6555999074786598e+00 + 15 2.9761196776172323e+00 5.6287237454109007e-01 -1.2442626196083335e+00 + 16 2.6517373021566182e+00 -2.3957035508393734e+00 3.3389262100686046e-02 + 17 2.2311114924744961e+00 -2.1018393228798584e+00 1.1496088522377494e+00 + 18 2.1390642573201792e+00 3.0164773560693803e+00 -3.5143984803853883e+00 + 19 1.5353246655146293e+00 2.6305911186316160e+00 -4.2455871034737100e+00 + 20 2.7649421538938399e+00 3.6818603528430875e+00 -3.9364115785985545e+00 + 21 4.9043112657298966e+00 -4.0774268210397882e+00 -3.6200836396129850e+00 + 22 4.3665322424283417e+00 -4.2075138112953612e+00 -4.4636587264885925e+00 + 23 5.7355405581985277e+00 -3.5789558641908901e+00 -3.8805763324089995e+00 + 24 2.0692780332810012e+00 3.1504920436415969e+00 3.1571131300668829e+00 + 25 1.3007297593168976e+00 3.2745259354179459e+00 2.5110163874103693e+00 + 26 2.5819416446099637e+00 4.0104903120756576e+00 3.2150249624526102e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 4.7093289825842508e-04 2.6351122778447809e-04 -4.4905093064114883e-04 - 2 4.9594625316470506e-04 9.4561370489630299e-05 -5.4581359894047775e-04 - 3 3.3306085115756103e-04 2.3224943880673259e-04 -2.3659455671746018e-04 - 4 3.3692327392261152e-04 2.1926810694051179e-04 -2.4716631558862516e-04 - 5 3.3642542694186002e-04 4.1797578013265738e-04 -1.8011341766657675e-04 - 6 2.0926869754934769e-04 2.6449308951578185e-05 -1.0508938983871811e-04 - 7 1.4629043007907940e-04 -1.6873376665350122e-04 -6.8354048774350921e-05 - 8 1.5844101624224881e-04 3.7728761273999780e-05 -1.9162715667090996e-05 - 9 2.1299362072601952e-04 1.6917140529157474e-04 -6.3528165037845483e-05 - 10 5.4261629412254495e-05 -9.4655528376811482e-05 1.0511362869146690e-04 - 11 -3.2194160796502724e-05 -2.2025095264758716e-04 2.0300202946212429e-04 - 12 1.2640586304750378e-04 -2.9851080445665107e-04 -7.9476371818245798e-05 - 13 8.4523575162142608e-05 -4.0583135407330561e-04 -4.7551111331700511e-05 - 14 9.9954050381270972e-05 -4.2610816481298294e-04 -7.9255633594379530e-05 - 15 2.4417481119789862e-04 -2.3521002264677992e-04 -2.4875318161048917e-04 - 16 -9.0958138549664992e-06 3.7774817121222391e-06 2.4035199548835096e-04 - 17 5.7507224523612230e-05 2.2629217444843764e-04 2.0686920072684822e-04 - 18 2.9220264989359833e-04 -6.2478376436796265e-04 8.4222594596602366e-04 - 19 2.0572616567799188e-04 -5.0334424271726639e-04 8.4953929443210648e-04 - 20 4.1224811789513022e-04 -7.4115205416011554e-04 8.3678612337507920e-04 - 21 -1.0671858777656393e-03 -1.1531171045499515e-03 7.3720674900162159e-04 - 22 -1.1066511338291710e-03 -1.0433933757600460e-03 7.4544544325708573e-04 - 23 -9.7629260480941525e-04 -1.3100872491594103e-03 7.2687284219704804e-04 - 24 4.3308126651259312e-04 -6.6527658087322801e-04 8.4451298670663606e-04 - 25 4.4565811905442889e-04 -5.1298436273584285e-04 8.5878867884521559e-04 - 26 5.9865972692022765e-04 -7.6385263287080381e-04 8.4259943226842166e-04 + 1 4.7093289825842437e-04 2.6351122778447999e-04 -4.4905093064114823e-04 + 2 4.9594625316470473e-04 9.4561370489632928e-05 -5.4581359894047732e-04 + 3 3.3306085115756054e-04 2.3224943880673362e-04 -2.3659455671746045e-04 + 4 3.3692327392261130e-04 2.1926810694051292e-04 -2.4716631558862576e-04 + 5 3.3642542694185899e-04 4.1797578013265770e-04 -1.8011341766657654e-04 + 6 2.0926869754934769e-04 2.6449308951579106e-05 -1.0508938983871929e-04 + 7 1.4629043007908003e-04 -1.6873376665349995e-04 -6.8354048774352968e-05 + 8 1.5844101624224859e-04 3.7728761274000288e-05 -1.9162715667092141e-05 + 9 2.1299362072601887e-04 1.6917140529157517e-04 -6.3528165037845917e-05 + 10 5.4261629412254576e-05 -9.4655528376811157e-05 1.0511362869146505e-04 + 11 -3.2194160796502236e-05 -2.2025095264758700e-04 2.0300202946212152e-04 + 12 1.2640586304750429e-04 -2.9851080445664956e-04 -7.9476371818247574e-05 + 13 8.4523575162143312e-05 -4.0583135407330399e-04 -4.7551111331702557e-05 + 14 9.9954050381271961e-05 -4.2610816481298121e-04 -7.9255633594381943e-05 + 15 2.4417481119789894e-04 -2.3521002264677784e-04 -2.4875318161049020e-04 + 16 -9.0958138549668516e-06 3.7774817121217089e-06 2.4035199548834928e-04 + 17 5.7507224523611227e-05 2.2629217444843685e-04 2.0686920072684740e-04 + 18 2.9220264989359860e-04 -6.2478376436796244e-04 8.4222594596602409e-04 + 19 2.0572616567799204e-04 -5.0334424271726607e-04 8.4953929443210702e-04 + 20 4.1224811789513060e-04 -7.4115205416011543e-04 8.3678612337507964e-04 + 21 -1.0671858777656406e-03 -1.1531171045499533e-03 7.3720674900162007e-04 + 22 -1.1066511338291734e-03 -1.0433933757600477e-03 7.4544544325708432e-04 + 23 -9.7629260480941644e-04 -1.3100872491594124e-03 7.2687284219704641e-04 + 24 4.3308126651259382e-04 -6.6527658087322671e-04 8.4451298670663671e-04 + 25 4.4565811905442982e-04 -5.1298436273584133e-04 8.5878867884521635e-04 + 26 5.9865972692022961e-04 -7.6385263287080262e-04 8.4259943226842242e-04 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_molecule.yaml b/unittest/force-styles/tests/fix-timestep-rigid_molecule.yaml index d667942e49..e871a351f6 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_molecule.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_molecule.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:10 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,8 +15,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200116134789873e+01 -2.6907707565987707e+01 -6.0080860422278581e+00 -2.5620423972101300e+01 -1.3450224059983967e+01 -1.4947288487003760e+00 -global_scalar: 18.3405601674144 + -4.9200116134788615e+01 -2.6907707565987401e+01 -6.0080860422276308e+00 -2.5620423972100241e+01 -1.3450224059984270e+01 -1.4947288487006070e+00 +global_scalar: 18.340560167414402 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -34,15 +35,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1392027588271301e+00 3.0171068018412779e+00 -3.5144628518856349e+00 - 19 1.5366124997074571e+00 2.6286809834111748e+00 -4.2452547844370221e+00 - 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352554e+00 - 21 4.9036621347791245e+00 -4.0757648442838548e+00 -3.6192617654515904e+00 - 22 4.3655322291888483e+00 -4.2084949965552561e+00 -4.4622011117402334e+00 - 23 5.7380414793463101e+00 -3.5841969195032672e+00 -3.8827839830470219e+00 + 18 2.1392027588271301e+00 3.0171068018412783e+00 -3.5144628518856353e+00 + 19 1.5366124997074575e+00 2.6286809834111740e+00 -4.2452547844370221e+00 + 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352558e+00 + 21 4.9036621347791236e+00 -4.0757648442838548e+00 -3.6192617654515908e+00 + 22 4.3655322291888474e+00 -4.2084949965552561e+00 -4.4622011117402343e+00 + 23 5.7380414793463110e+00 -3.5841969195032672e+00 -3.8827839830470219e+00 24 2.0701314765323930e+00 3.1499370533342330e+00 3.1565324852522938e+00 - 25 1.3030170721374779e+00 3.2711173927682249e+00 2.5081940917429768e+00 - 26 2.5776230782480045e+00 4.0127347068243875e+00 3.2182355138709275e+00 + 25 1.3030170721374787e+00 3.2711173927682244e+00 2.5081940917429759e+00 + 26 2.5776230782480041e+00 4.0127347068243884e+00 3.2182355138709284e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -64,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625095704914e-04 -3.1032459262908286e-04 8.1043030117346052e-04 - 19 8.5103884665345452e-04 -1.4572280596788108e-03 1.0163621287634116e-03 - 20 -6.5204659278590683e-04 4.3989037444289853e-04 4.9909839028507901e-04 - 21 -1.3888125881903923e-03 -3.1978049143082385e-04 1.1455681499836646e-03 - 22 -1.6084223477729510e-03 -1.5355394240821117e-03 1.4772010826232375e-03 - 23 2.6392672378805124e-04 -3.9375414431174821e-03 -3.6991583139728095e-04 - 24 8.6062827067890247e-04 -9.4179873474469237e-04 5.5396395550012453e-04 - 25 1.5933645477487538e-03 -2.2139156625681695e-03 -5.5078029695647401e-04 - 26 -1.5679561743998840e-03 3.5146224354726100e-04 2.4446924193334478e-03 + 18 3.6149625095704849e-04 -3.1032459262908286e-04 8.1043030117346052e-04 + 19 8.5103884665345473e-04 -1.4572280596788095e-03 1.0163621287634121e-03 + 20 -6.5204659278590661e-04 4.3989037444289755e-04 4.9909839028507901e-04 + 21 -1.3888125881903906e-03 -3.1978049143082342e-04 1.1455681499836646e-03 + 22 -1.6084223477729526e-03 -1.5355394240821163e-03 1.4772010826232394e-03 + 23 2.6392672378804821e-04 -3.9375414431174795e-03 -3.6991583139728377e-04 + 24 8.6062827067890269e-04 -9.4179873474469291e-04 5.5396395550012388e-04 + 25 1.5933645477487551e-03 -2.2139156625681673e-03 -5.5078029695647250e-04 + 26 -1.5679561743998888e-03 3.5146224354726068e-04 2.4446924193334487e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_molecule_tri.yaml b/unittest/force-styles/tests/fix-timestep-rigid_molecule_tri.yaml index 304db9fd60..672bf8946c 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_molecule_tri.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_molecule_tri.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:11 2024 epsilon: 5e-12 skip_tests: prerequisites: ! | @@ -15,8 +16,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200116134788658e+01 -2.6907707565985344e+01 -6.0080860422268874e+00 -2.5620423972099733e+01 -1.3450224059983656e+01 -1.4947288487000705e+00 -global_scalar: 18.340560167414306 + -4.9200116134789653e+01 -2.6907707565986087e+01 -6.0080860422267843e+00 -2.5620423972100063e+01 -1.3450224059983270e+01 -1.4947288486998982e+00 +global_scalar: 18.340560167414335 run_pos: ! |2 1 -2.7993683669226854e-01 2.4726588069312836e+00 -1.7200860244148508e-01 2 3.0197083955402171e-01 2.9515239068888608e+00 -8.5689735572907555e-01 @@ -36,14 +37,14 @@ run_pos: ! |2 16 2.6517554244980301e+00 -2.3957110424978438e+00 3.2908335999177751e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 18 2.1392027588271310e+00 3.0171068018412779e+00 -3.5144628518856349e+00 - 19 1.5366124997074566e+00 2.6286809834111740e+00 -4.2452547844370239e+00 + 19 1.5366124997074584e+00 2.6286809834111722e+00 -4.2452547844370230e+00 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352558e+00 - 21 4.9036621347791245e+00 -4.0757648442838557e+00 -3.6192617654515900e+00 - 22 4.3655322291888465e+00 -4.2084949965552569e+00 -4.4622011117402334e+00 + 21 4.9036621347791245e+00 -4.0757648442838548e+00 -3.6192617654515900e+00 + 22 4.3655322291888465e+00 -4.2084949965552578e+00 -4.4622011117402343e+00 23 5.7380414793463101e+00 -3.5841969195032686e+00 -3.8827839830470232e+00 24 2.0701314765323913e+00 3.1499370533342308e+00 3.1565324852522920e+00 - 25 1.3030170721374770e+00 3.2711173927682236e+00 2.5081940917429755e+00 - 26 2.5776230782480054e+00 4.0127347068243875e+00 3.2182355138709262e+00 + 25 1.3030170721374779e+00 3.2711173927682236e+00 2.5081940917429755e+00 + 26 2.5776230782480036e+00 4.0127347068243875e+00 3.2182355138709280e+00 27 -1.9613581876744357e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678509e+00 29 -1.3108232656499084e+00 -3.5992986322410765e+00 2.2680459788743512e+00 @@ -65,15 +66,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625095704681e-04 -3.1032459262907857e-04 8.1043030117346074e-04 - 19 8.5103884665345820e-04 -1.4572280596788108e-03 1.0163621287634073e-03 - 20 -6.5204659278590271e-04 4.3989037444289630e-04 4.9909839028508215e-04 - 21 -1.3888125881903852e-03 -3.1978049143082049e-04 1.1455681499836594e-03 - 22 -1.6084223477729513e-03 -1.5355394240820970e-03 1.4772010826232351e-03 - 23 2.6392672378803975e-04 -3.9375414431174569e-03 -3.6991583139727910e-04 - 24 8.6062827067889835e-04 -9.4179873474469346e-04 5.5396395550012518e-04 - 25 1.5933645477487516e-03 -2.2139156625681669e-03 -5.5078029695647542e-04 - 26 -1.5679561743998831e-03 3.5146224354726187e-04 2.4446924193334495e-03 + 18 3.6149625095704659e-04 -3.1032459262907825e-04 8.1043030117346085e-04 + 19 8.5103884665346059e-04 -1.4572280596788099e-03 1.0163621287634082e-03 + 20 -6.5204659278590227e-04 4.3989037444289446e-04 4.9909839028508150e-04 + 21 -1.3888125881903869e-03 -3.1978049143081757e-04 1.1455681499836596e-03 + 22 -1.6084223477729556e-03 -1.5355394240821013e-03 1.4772010826232407e-03 + 23 2.6392672378803953e-04 -3.9375414431174656e-03 -3.6991583139727423e-04 + 24 8.6062827067889998e-04 -9.4179873474469411e-04 5.5396395550012377e-04 + 25 1.5933645477487516e-03 -2.2139156625681634e-03 -5.5078029695647109e-04 + 26 -1.5679561743998922e-03 3.5146224354726068e-04 2.4446924193334543e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nph.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nph.yaml index c80a70b428..16ba7c079d 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nph.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nph.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:11 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,38 +15,38 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |2- - 4.3578059172167876e+01 1.7275105166465000e+01 6.7372361276631054e+01 5.1985075049901745e+01 -2.0990677389800993e+01 -7.5321398101844359e+00 -global_scalar: 29.023636440847998 + 4.3578059175768836e+01 1.7275105168781163e+01 6.7372361277896715e+01 5.1985075050485008e+01 -2.0990677388216337e+01 -7.5321398110797180e+00 +global_scalar: 29.023636439584656 run_pos: ! |2 - 1 -6.3472039825517168e-01 3.0113983126282058e+00 -8.8148450172235826e-02 - 2 6.4798884173500326e-02 3.5870486860057795e+00 -9.1146271255434463e-01 - 3 -1.1328967478840362e+00 1.5344674077762583e+00 -6.2949567786977667e-01 - 4 -2.1941320441841130e+00 1.8319737599530370e+00 -1.3824693495474225e+00 - 5 -1.3741175247360697e+00 1.1637763350569887e+00 6.0220861483086097e-01 - 6 5.5368589242158706e-02 3.1209253712244411e-01 -1.4252606627467266e+00 - 7 1.1075313780270069e-01 2.8008314824797154e-02 -2.8425552056438050e+00 - 8 1.1011987966104080e+00 -5.4254536577068713e-01 -6.9472264392660854e-01 - 9 1.3580030945401020e+00 -2.6595138115345840e-01 4.4172536708297194e-01 - 10 2.1282964643831388e+00 -1.6781145595676907e+00 -1.0442216631471304e+00 - 11 1.8571593172391605e+00 -2.3497452731071471e+00 -2.1462323657665392e+00 - 12 3.3117732698469986e+00 -5.4913311816190635e-01 -1.8274356036322548e+00 - 13 4.5640183918453143e+00 -1.0445083545907554e+00 -1.8509716390298214e+00 - 14 2.8312769330518019e+00 -4.5135848464344086e-01 -3.0735173792331993e+00 - 15 3.2788434490964296e+00 7.1618295543695254e-01 -1.3765217601452289e+00 - 16 2.8895075000232158e+00 -2.8409365554010479e+00 1.5818504152554702e-01 - 17 2.3837073405559277e+00 -2.4882133308169232e+00 1.5000885103549333e+00 - 18 2.2738793194357232e+00 3.6743407122553755e+00 -4.1408965121163197e+00 - 19 1.6572750518209336e+00 3.2770314238152451e+00 -4.8886441786593569e+00 - 20 2.9120476452800226e+00 4.3568412675031851e+00 -4.5732834167769187e+00 - 21 5.6058485050774536e+00 -4.8495065176300871e+00 -4.2655497599953458e+00 - 22 5.0552709232982114e+00 -4.9851876752032496e+00 -5.1280564953560424e+00 - 23 6.4593933585948218e+00 -4.3461765105422652e+00 -4.5350231456236889e+00 - 24 2.1823354619125279e+00 3.8552931130470363e+00 3.8953804330431208e+00 - 25 1.3973696115403698e+00 3.9794119228484153e+00 3.2321313266194949e+00 - 26 2.7018361227965517e+00 4.7379517631305443e+00 3.9583193478092706e+00 - 27 -2.6559803075358257e+00 -5.1969823689078796e+00 2.6552621488555683e+00 - 28 -3.5927802460207046e+00 -4.7943885088602283e+00 2.0214142204095413e+00 - 29 -1.8739632618339108e+00 -4.2877858778713946e+00 2.8450749793919066e+00 + 1 -6.3472039825540794e-01 3.0113983126285611e+00 -8.8148450172186088e-02 + 2 6.4798884173342230e-02 3.5870486860061987e+00 -9.1146271255438371e-01 + 3 -1.1328967478843275e+00 1.5344674077764573e+00 -6.2949567786978555e-01 + 4 -2.1941320441845233e+00 1.8319737599532644e+00 -1.3824693495475202e+00 + 5 -1.3741175247363868e+00 1.1637763350571468e+00 6.0220861483099597e-01 + 6 5.5368589242003274e-02 3.1209253712249918e-01 -1.4252606627468261e+00 + 7 1.1075313780254881e-01 2.8008314824818470e-02 -2.8425552056440617e+00 + 8 1.1011987966103707e+00 -5.4254536577072621e-01 -6.9472264392662098e-01 + 9 1.3580030945400878e+00 -2.6595138115347083e-01 4.4172536708308918e-01 + 10 2.1282964643832170e+00 -1.6781145595678604e+00 -1.0442216631471855e+00 + 11 1.8571593172392049e+00 -2.3497452731073896e+00 -2.1462323657667168e+00 + 12 3.3117732698472082e+00 -5.4913311816195076e-01 -1.8274356036323969e+00 + 13 4.5640183918456607e+00 -1.0445083545908531e+00 -1.8509716390299671e+00 + 14 2.8312769330519618e+00 -4.5135848464346928e-01 -3.0735173792334827e+00 + 15 3.2788434490966321e+00 7.1618295543705379e-01 -1.3765217601453177e+00 + 16 2.8895075000233756e+00 -2.8409365554013446e+00 1.5818504152563229e-01 + 17 2.3837073405560343e+00 -2.4882133308171808e+00 1.5000885103551624e+00 + 18 2.2738793194332434e+00 3.6743407122541889e+00 -4.1408965121171795e+00 + 19 1.6572750518219337e+00 3.2770314238270633e+00 -4.8886441786700008e+00 + 20 2.9120476452894675e+00 4.3568412674987194e+00 -4.5732834167653644e+00 + 21 5.6058485051319096e+00 -4.8495065176594299e+00 -4.2655497599906971e+00 + 22 5.0552709232924169e+00 -4.9851876754509741e+00 -5.1280564952785888e+00 + 23 6.4593933583860359e+00 -4.3461765101804879e+00 -4.5350231457223327e+00 + 24 2.1823354618683570e+00 3.8552931130563355e+00 3.8953804330779889e+00 + 25 1.3973696115700545e+00 3.9794119229082359e+00 3.2321313265764022e+00 + 26 2.7018361229436465e+00 4.7379517630364116e+00 3.9583193477161114e+00 + 27 -2.6559803075362858e+00 -5.1969823689084436e+00 2.6552621488559236e+00 + 28 -3.5927802460212725e+00 -4.7943885088607452e+00 2.0214142204098309e+00 + 29 -1.8739632618342856e+00 -4.2877858778718556e+00 2.8450749793922920e+00 run_vel: ! |2 1 7.7867804888392077e-04 5.8970331623292821e-04 -2.2179517633030531e-04 2 2.7129529964126462e-03 4.6286427111164284e-03 3.5805549693846352e-03 @@ -64,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.0094600491564739e-04 -2.4312792027781263e-04 6.5542049134062323e-04 - 19 7.4731683462770076e-04 -1.2894119671278408e-03 8.4327024053533397e-04 - 20 -6.2333686369976551e-04 4.4115361641690044e-04 3.7135656431834220e-04 - 21 -1.1457423793218525e-03 -1.7337748161437940e-04 9.4510018429417686e-04 - 22 -1.3457150581639313e-03 -1.2816797357047471e-03 1.2470992250388096e-03 - 23 3.6277645415306518e-04 -3.4719859048227848e-03 -4.3796817853449118e-04 - 24 7.2410992462873655e-04 -7.6012809744767037e-04 4.3327155128124943e-04 - 25 1.3921349892629666e-03 -1.9207002802664867e-03 -5.7453335109528090e-04 - 26 -1.4901465947638008e-03 4.2012923457099966e-04 2.1578545404178418e-03 + 18 3.0094600492089644e-04 -2.4312792028464785e-04 6.5542049134054972e-04 + 19 7.4731683460624917e-04 -1.2894119671240515e-03 8.4327024053305281e-04 + 20 -6.2333686369944134e-04 4.4115361644063580e-04 3.7135656432041769e-04 + 21 -1.1457423794330429e-03 -1.7337748206069275e-04 9.4510018428907005e-04 + 22 -1.3457150585185161e-03 -1.2816797348700177e-03 1.2470992253076274e-03 + 23 3.6277645495226573e-04 -3.4719859038751704e-03 -4.3796817878355291e-04 + 24 7.2410992459670032e-04 -7.6012809759399148e-04 4.3327155120505761e-04 + 25 1.3921349891892136e-03 -1.9207002802470530e-03 -5.7453335098663809e-04 + 26 -1.4901465945625111e-03 4.2012923513626559e-04 2.1578545406129137e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nph_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nph_small.yaml index 3894815950..80cc4865c0 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nph_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nph_small.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:11 2024 epsilon: 6.5e-13 skip_tests: prerequisites: ! | @@ -14,38 +15,38 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |2- - 2.7340318973870396e+01 4.7963870091858283e+00 6.8884396847592512e+01 2.9853310007358935e+01 -1.0857139901347722e+01 -5.1889756561454785e+00 -global_scalar: 9.77678786310451 + 2.7340318979717416e+01 4.7963870104375275e+00 6.8884396847589585e+01 2.9853310005453281e+01 -1.0857139898599751e+01 -5.1889756547311965e+00 +global_scalar: 9.776787862991728 run_pos: ! |2 - 1 -5.1121862036604515e-01 2.8134872171079977e+00 -4.8993015395518924e-02 - 2 1.4735952488047133e-01 3.3535825972277546e+00 -9.3694001270735150e-01 - 3 -9.8023793775378820e-01 1.4277788160410712e+00 -6.3283768722999234e-01 - 4 -1.9793617512974304e+00 1.7069097152779946e+00 -1.4449221382955635e+00 - 5 -1.2073406578712120e+00 1.0799834439081337e+00 6.9555923026692668e-01 - 6 1.3848116183742931e-01 2.8090381873852976e-01 -1.4910727029127884e+00 - 7 1.9062418946016990e-01 1.4366032742456625e-02 -3.0196292835199614e+00 - 8 1.1231015082845541e+00 -5.2094745136401599e-01 -7.0318517336042774e-01 - 9 1.3648756844511976e+00 -2.6143726919534771e-01 5.2247754752734465e-01 - 10 2.0900856844466578e+00 -1.5863783165912952e+00 -1.0801209545800976e+00 - 11 1.8348175253566659e+00 -2.2165258198419622e+00 -2.2686429310672072e+00 - 12 3.2042965133156098e+00 -5.2712831182449804e-01 -1.9248196297790088e+00 - 13 4.3832508188729271e+00 -9.9190674157019298e-01 -1.9502033172902991e+00 - 14 2.7519224412447691e+00 -4.3539271970391624e-01 -3.2687227073821310e+00 - 15 3.1732939937025400e+00 6.6003562890618639e-01 -1.4385076445934288e+00 - 16 2.8067449168447887e+00 -2.6773787170015133e+00 2.1667842294144180e-01 - 17 2.3305479923928516e+00 -2.3464414104884277e+00 1.6639254952584981e+00 - 18 2.2269920241232128e+00 3.4328783208254681e+00 -4.4342132514635013e+00 - 19 1.6145347679280793e+00 3.0386658278179439e+00 -5.1868156516245785e+00 - 20 2.8608613711028656e+00 4.1100452338287408e+00 -4.8694049549907970e+00 - 21 5.3613621396958795e+00 -4.5653056926475841e+00 -4.5681019697305372e+00 - 22 4.8144754754921184e+00 -4.6999404674483083e+00 -5.4362066556130868e+00 - 23 6.2091840278795729e+00 -4.0659479262420684e+00 -4.8393130641864568e+00 - 24 2.1433208912603074e+00 3.5960988832146015e+00 4.2399236066404100e+00 - 25 1.3636453973491918e+00 3.7192408266342980e+00 3.5723762826473990e+00 - 26 2.6593036729945752e+00 4.4718649490241678e+00 4.3032623333405660e+00 - 27 -2.4141791756398536e+00 -4.8879035738852403e+00 2.9097838637418292e+00 - 28 -3.2961505257539048e+00 -4.5101758871984199e+00 2.2261768979308005e+00 - 29 -1.6779316575994301e+00 -4.0348635219024889e+00 3.1144975929056571e+00 + 1 -5.1121862036689958e-01 2.8134872171089729e+00 -4.8993015395755179e-02 + 2 1.4735952487989756e-01 3.3535825972289093e+00 -9.3694001270719340e-01 + 3 -9.8023793775484513e-01 1.4277788160415970e+00 -6.3283768722997102e-01 + 4 -1.9793617512989155e+00 1.7069097152786199e+00 -1.4449221382951762e+00 + 5 -1.2073406578723613e+00 1.0799834439085494e+00 6.9555923026634758e-01 + 6 1.3848116183685821e-01 2.8090381873868608e-01 -1.4910727029123834e+00 + 7 1.9062418945961834e-01 1.4366032742524126e-02 -3.0196292835188681e+00 + 8 1.1231015082843996e+00 -5.2094745136412257e-01 -7.0318517336038155e-01 + 9 1.3648756844511478e+00 -2.6143726919537080e-01 5.2247754752684727e-01 + 10 2.0900856844469189e+00 -1.5863783165917535e+00 -1.0801209545798738e+00 + 11 1.8348175253568222e+00 -2.2165258198426265e+00 -2.2686429310664504e+00 + 12 3.2042965133163452e+00 -5.2712831182460818e-01 -1.9248196297784048e+00 + 13 4.3832508188741741e+00 -9.9190674157045855e-01 -1.9502033172896844e+00 + 14 2.7519224412453145e+00 -4.3539271970399618e-01 -3.2687227073809266e+00 + 15 3.1732939937032665e+00 6.6003562890646350e-01 -1.4385076445930487e+00 + 16 2.8067449168453553e+00 -2.6773787170023233e+00 2.1667842294107942e-01 + 17 2.3305479923932175e+00 -2.3464414104891320e+00 1.6639254952574838e+00 + 18 2.2269920241209178e+00 3.4328783208250382e+00 -4.4342132514621486e+00 + 19 1.6145347679293440e+00 3.0386658278306271e+00 -5.1868156516331227e+00 + 20 2.8608613711127191e+00 4.1100452338250122e+00 -4.8694049549767646e+00 + 21 5.3613621397513214e+00 -4.5653056926761684e+00 -4.5681019697231218e+00 + 22 4.8144754754873968e+00 -4.6999404677006380e+00 -5.4362066555318300e+00 + 23 6.2091840276731247e+00 -4.0659479258840996e+00 -4.8393130642860642e+00 + 24 2.1433208912158790e+00 3.5960988832250020e+00 4.2399236066734023e+00 + 25 1.3636453973794058e+00 3.7192408266942927e+00 3.5723762826011995e+00 + 26 2.6593036731433042e+00 4.4718649489304223e+00 4.3032623332423157e+00 + 27 -2.4141791756415234e+00 -4.8879035738867795e+00 2.9097838637402536e+00 + 28 -3.2961505257559520e+00 -4.5101758871998348e+00 2.2261768979295358e+00 + 29 -1.6779316576007828e+00 -4.0348635219037465e+00 3.1144975929039944e+00 run_vel: ! |2 1 7.7867804888392077e-04 5.8970331623292821e-04 -2.2179517633030531e-04 2 2.7129529964126462e-03 4.6286427111164284e-03 3.5805549693846352e-03 @@ -64,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.1638284997073272e-04 -2.6313163919070405e-04 6.1054395248656961e-04 - 19 7.6494647252307673e-04 -1.3190724749214326e-03 7.9947132612985723e-04 - 20 -6.1620104632513929e-04 4.2577138774295274e-04 3.2526261653548693e-04 - 21 -1.2063428871524097e-03 -2.2879409878999576e-04 8.9132836538734445e-04 - 22 -1.4151473871894464e-03 -1.3502255393198256e-03 1.1972773109437849e-03 - 23 3.1280366109607172e-04 -3.5563936893394407e-03 -4.9548546532774958e-04 - 24 7.5594375541558026e-04 -8.1321043994394464e-04 3.9340911295780739e-04 - 25 1.4373446731689036e-03 -1.9778020567486213e-03 -6.1842201918304478e-04 - 26 -1.4806168650325999e-03 3.7766934274110835e-04 2.1280924225288342e-03 + 18 3.1638284997600319e-04 -2.6313163919763335e-04 6.1054395248685519e-04 + 19 7.6494647250110288e-04 -1.3190724749175438e-03 7.9947132612783736e-04 + 20 -6.1620104632483571e-04 4.2577138776739548e-04 3.2526261653790590e-04 + 21 -1.2063428872614197e-03 -2.2879409923923591e-04 8.9132836537741717e-04 + 22 -1.4151473875545966e-03 -1.3502255384792933e-03 1.1972773112250280e-03 + 23 3.1280366189902534e-04 -3.5563936883846667e-03 -4.9548546556753227e-04 + 24 7.5594375538112746e-04 -8.1321044009394260e-04 3.9340911288157350e-04 + 25 1.4373446730968913e-03 -1.9778020567293151e-03 -6.1842201907436371e-04 + 26 -1.4806168648243687e-03 3.7766934332225264e-04 2.1280924227258073e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_npt.yaml b/unittest/force-styles/tests/fix-timestep-rigid_npt.yaml index f5965e53ff..6757db5703 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_npt.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_npt.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:12 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -13,65 +14,65 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.6326314448663306e+03 -1.4727331978532295e+03 -3.8557370515932275e+03 5.5052891601644615e+02 4.7346742977310657e+02 -6.2035591882122355e+02 -global_scalar: 106.86683072474125 + -1.6326314448662429e+03 -1.4727331978532245e+03 -3.8557370515929042e+03 5.5052891601619581e+02 4.7346742977256520e+02 -6.2035591882208064e+02 +global_scalar: 106.86683072474244 run_pos: ! |2 - 1 -2.6314711410922875e-01 2.4664715027241684e+00 -1.7093568570875561e-01 - 2 3.1632911015968190e-01 2.9434731493852482e+00 -8.5432214735778889e-01 - 3 -6.7623447816593885e-01 1.2410822625695044e+00 -6.1935152269903870e-01 - 4 -1.5552134736906362e+00 1.4878541800991378e+00 -1.2440909745466859e+00 - 5 -8.7601967096402067e-01 9.3417436540572218e-01 4.0272031680440712e-01 - 6 3.0755837780638462e-01 2.2629147986241449e-01 -1.2791162680673960e+00 - 7 3.5322094628053069e-01 -1.0043890952307954e-02 -2.4548503163676365e+00 - 8 1.1736205127907979e+00 -4.8269091330540537e-01 -6.7273784266507608e-01 - 9 1.3865071239751696e+00 -2.5278331076620741e-01 2.6996653369766221e-01 - 10 2.0239883243193546e+00 -1.4252201368162511e+00 -9.6228264545891751e-01 - 11 1.7991233925769246e+00 -1.9828365722517098e+00 -1.8762366544355809e+00 - 12 3.0044710092992837e+00 -4.8928363303895761e-01 -1.6126944183951402e+00 - 13 4.0415308387392486e+00 -9.0061411581930262e-01 -1.6321139880363660e+00 - 14 2.6064005411338655e+00 -4.0859653026870735e-01 -2.6465043951812621e+00 - 15 2.9775904824773907e+00 5.6065407887877150e-01 -1.2391617757503752e+00 - 16 2.6542663248057963e+00 -2.3895844048756363e+00 3.5746598094128501e-02 - 17 2.2355490747046538e+00 -2.0962135127180099e+00 1.1489434027780590e+00 - 18 2.0921160979727347e+00 2.9872159674143273e+00 -3.4902339097026891e+00 - 19 1.4908686219092431e+00 2.6025398330908249e+00 -4.2194623779121834e+00 - 20 2.7154518806645740e+00 3.6506388357595867e+00 -3.9111287168645399e+00 - 21 4.8435638296030810e+00 -4.0881941921728835e+00 -3.5957796498833634e+00 - 22 4.3080557005367073e+00 -4.2177797604324549e+00 -4.4370935526124242e+00 - 23 5.6713237924930837e+00 -3.5912865024293716e+00 -3.8555915013182531e+00 - 24 2.0228224543345528e+00 3.1208125399081723e+00 3.1634860992076259e+00 - 25 1.2576132296055036e+00 3.2447174749294536e+00 2.5191319958251963e+00 - 26 2.5334951322488237e+00 3.9783477827941720e+00 3.2212409164234312e+00 - 27 -1.8488304998563332e+00 -4.2601261704683342e+00 2.0568476369354265e+00 - 28 -2.6026086128772454e+00 -3.9329047688996304e+00 1.5399898445636406e+00 - 29 -1.2195954744860957e+00 -3.5211468177700818e+00 2.2116264666073615e+00 + 1 -2.6314711410917102e-01 2.4664715027243860e+00 -1.7093568570953632e-01 + 2 3.1632911015962950e-01 2.9434731493852171e+00 -8.5432214735883338e-01 + 3 -6.7623447816593352e-01 1.2410822625695497e+00 -6.1935152269929450e-01 + 4 -1.5552134736907304e+00 1.4878541800989344e+00 -1.2440909745469027e+00 + 5 -8.7601967096385724e-01 9.3417436540614585e-01 4.0272031680429610e-01 + 6 3.0755837780630380e-01 2.2629147986222176e-01 -1.2791162680674191e+00 + 7 3.5322094628027934e-01 -1.0043890952942114e-02 -2.4548503163675806e+00 + 8 1.1736205127908210e+00 -4.8269091330536096e-01 -6.7273784266496328e-01 + 9 1.3865071239753313e+00 -2.5278331076580596e-01 2.6996653369765600e-01 + 10 2.0239883243193466e+00 -1.4252201368163044e+00 -9.6228264545858089e-01 + 11 1.7991233925767878e+00 -1.9828365722521095e+00 -1.8762366544350000e+00 + 12 3.0044710092991682e+00 -4.8928363303924272e-01 -1.6126944183953009e+00 + 13 4.0415308387391402e+00 -9.0061411581958151e-01 -1.6321139880365303e+00 + 14 2.6064005411335902e+00 -4.0859653026938592e-01 -2.6465043951813936e+00 + 15 2.9775904824773161e+00 5.6065407887862850e-01 -1.2391617757509259e+00 + 16 2.6542663248059526e+00 -2.3895844048753085e+00 3.5746598094734239e-02 + 17 2.2355490747049700e+00 -2.0962135127172692e+00 1.1489434027786212e+00 + 18 2.0921160979710356e+00 2.9872159674136229e+00 -3.4902339097027140e+00 + 19 1.4908686219074729e+00 2.6025398330897387e+00 -4.2194623779119471e+00 + 20 2.7154518806624317e+00 3.6506388357591026e+00 -3.9111287168648765e+00 + 21 4.8435638296045518e+00 -4.0881941921723524e+00 -3.5957796498832693e+00 + 22 4.3080557005379525e+00 -4.2177797604322951e+00 -4.4370935526121276e+00 + 23 5.6713237924942437e+00 -3.5912865024285043e+00 -3.8555915013185178e+00 + 24 2.0228224543350635e+00 3.1208125399084361e+00 3.1634860992076055e+00 + 25 1.2576132296057372e+00 3.2447174749292715e+00 2.5191319958254175e+00 + 26 2.5334951322489658e+00 3.9783477827946756e+00 3.2212409164231035e+00 + 27 -1.8488304998563332e+00 -4.2601261704683413e+00 2.0568476369354238e+00 + 28 -2.6026086128772454e+00 -3.9329047688996370e+00 1.5399898445636415e+00 + 29 -1.2195954744860957e+00 -3.5211468177700862e+00 2.2116264666073588e+00 run_vel: ! |2 - 1 1.2393084479630034e-03 7.0215195817155049e-04 -1.1910956210640397e-03 - 2 1.3060936199988536e-03 2.5041119719347224e-04 -1.4496302699051125e-03 - 3 8.7069732478159932e-04 6.1866591813748923e-04 -6.2317312592554579e-04 - 4 8.8100215742025064e-04 5.8380213791516000e-04 -6.5145037264846529e-04 - 5 8.7979303397991678e-04 1.1152950208762130e-03 -4.7231382224758212e-04 - 6 5.3965146863311727e-04 6.8643008418757634e-05 -2.7149223435848658e-04 - 7 3.7117679682181569e-04 -4.5322194777211656e-04 -1.7317402888851005e-04 - 8 4.0378854177636284e-04 9.9015358993666757e-05 -4.1783685861269460e-05 - 9 5.4970639315540500e-04 4.5048022318729304e-04 -1.6045108899919851e-04 - 10 1.2521448037945991e-04 -2.5472783650533836e-04 2.9052485920877619e-04 - 11 -1.0599027352488127e-04 -5.9051612835384309e-04 5.5226010155799178e-04 - 12 3.1798607399623040e-04 -7.9980833669012115e-04 -2.0274707260294341e-04 - 13 2.0597404142686670e-04 -1.0865778699535151e-03 -1.1731137935658918e-04 - 14 2.4719215573349161e-04 -1.1410575874168858e-03 -2.0209037936298231e-04 - 15 6.3286464043726845e-04 -6.3068988069288313e-04 -6.5527927471360488e-04 - 16 -4.4100406048953834e-05 8.6869240444187047e-06 6.5198761255923199e-04 - 17 1.3407421346950653e-04 6.0357565278263911e-04 5.6233596575975121e-04 - 18 7.9277804690569076e-04 -1.5618239874425175e-03 2.1367192719678593e-03 - 19 5.6167660797942776e-04 -1.2371794194922848e-03 2.1562222137424714e-03 - 20 1.1137406410123489e-03 -1.8729421751430327e-03 2.1222207985340819e-03 - 21 -2.8426953558137740e-03 -2.9730185469781381e-03 1.8564402246257748e-03 - 22 -2.9480844379790165e-03 -2.6797216173769360e-03 1.8784164631754769e-03 - 23 -2.5997293519674958e-03 -3.3926375081633348e-03 1.8288830284141459e-03 - 24 1.1689404599043950e-03 -1.6701257754515662e-03 2.1428138286394673e-03 - 25 1.2027302640333160e-03 -1.2630861421196525e-03 2.1808987508670514e-03 - 26 1.6116362268906780e-03 -1.9337182438138849e-03 2.1377249582867843e-03 + 1 1.2393084479632162e-03 7.0215195817134601e-04 -1.1910956210642444e-03 + 2 1.3060936199989690e-03 2.5041119719309234e-04 -1.4496302699052684e-03 + 3 8.7069732478170037e-04 6.1866591813752230e-04 -6.2317312592555772e-04 + 4 8.8100215742026918e-04 5.8380213791525335e-04 -6.5145037264832683e-04 + 5 8.7979303398017070e-04 1.1152950208763543e-03 -4.7231382224773813e-04 + 6 5.3965146863306555e-04 6.8643008418797912e-05 -2.7149223435837187e-04 + 7 3.7117679682156736e-04 -4.5322194777208414e-04 -1.7317402888817444e-04 + 8 4.0378854177637320e-04 9.9015358993721983e-05 -4.1783685861266425e-05 + 9 5.4970639315557207e-04 4.5048022318731326e-04 -1.6045108899939207e-04 + 10 1.2521448037938158e-04 -2.5472783650525840e-04 2.9052485920884211e-04 + 11 -1.0599027352512348e-04 -5.9051612835367331e-04 5.5226010155827335e-04 + 12 3.1798607399607243e-04 -7.9980833669034384e-04 -2.0274707260289267e-04 + 13 2.0597404142668038e-04 -1.0865778699538143e-03 -1.1731137935657286e-04 + 14 2.4719215573317579e-04 -1.1410575874171004e-03 -2.0209037936272953e-04 + 15 6.3286464043720871e-04 -6.3068988069325653e-04 -6.5527927471369335e-04 + 16 -4.4100406048914694e-05 8.6869240445997393e-06 6.5198761255915100e-04 + 17 1.3407421346973834e-04 6.0357565278286712e-04 5.6233596575947994e-04 + 18 7.9277804690533363e-04 -1.5618239874416928e-03 2.1367192719678658e-03 + 19 5.6167660797890148e-04 -1.2371794194914493e-03 2.1562222137424727e-03 + 20 1.1137406410120911e-03 -1.8729421751419769e-03 2.1222207985341088e-03 + 21 -2.8426953558134235e-03 -2.9730185469789214e-03 1.8564402246258563e-03 + 22 -2.9480844379788334e-03 -2.6797216173776307e-03 1.8784164631755556e-03 + 23 -2.5997293519669897e-03 -3.3926375081639489e-03 1.8288830284142509e-03 + 24 1.1689404599044329e-03 -1.6701257754517325e-03 2.1428138286393884e-03 + 25 1.2027302640331447e-03 -1.2630861421197028e-03 2.1808987508669616e-03 + 26 1.6116362268908176e-03 -1.9337182438138503e-03 2.1377249582867175e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_npt_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_npt_small.yaml index 3b13658e19..b7b074debd 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_npt_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_npt_small.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:12 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -13,38 +14,38 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -8.7531774769722489e+01 5.5811525017966304e+00 -5.5468297744356747e+01 -1.5316306343483370e+02 1.4641268097314367e+02 1.7263710089631324e+01 -global_scalar: 77.78983430293286 + -8.7531774640811420e+01 5.5811525750281774e+00 -5.5468297761715007e+01 -1.5316306336726905e+02 1.4641268095299071e+02 1.7263710083146290e+01 +global_scalar: 77.78983430422252 run_pos: ! |2 - 1 -4.6333219629007161e-01 2.7511450055070625e+00 -1.2865946102806269e-01 - 2 1.7937148390204793e-01 3.2800405238539234e+00 -8.8510337855738808e-01 - 3 -9.2104620265671233e-01 1.3941717929286011e+00 -6.2603796687145774e-01 - 4 -1.8960869879711328e+00 1.6675144043869761e+00 -1.3178544214440926e+00 - 5 -1.1426748052069362e+00 1.0535885915279550e+00 5.0562616550054784e-01 - 6 1.7070712623541162e-01 2.7107933832755826e-01 -1.3571701846607374e+00 - 7 2.2159329060539701e-01 1.0068698962042433e-02 -2.6593507556860114e+00 - 8 1.1315940381701060e+00 -5.1414408469809381e-01 -6.8596713849763802e-01 - 9 1.3675404538221994e+00 -2.6001531899016506e-01 3.5817751536664133e-01 - 10 2.0752698846777218e+00 -1.5574812996955254e+00 -1.0070795245589492e+00 - 11 1.8261547470632067e+00 -2.1745615463231482e+00 -2.0195839000288469e+00 - 12 3.1626236108721066e+00 -5.2019677375525752e-01 -1.7266801053747978e+00 - 13 4.3131602274134853e+00 -9.7533717592326674e-01 -1.7483045222380902e+00 - 14 2.7211536303664605e+00 -4.3036348628163701e-01 -2.8715539682060491e+00 - 15 3.1323683805788374e+00 6.4234915962457073e-01 -1.3123899007466848e+00 - 16 2.7746546569032322e+00 -2.6258578189755974e+00 9.7666596945726880e-02 - 17 2.3099360535750506e+00 -2.3017831004883886e+00 1.3305794265747686e+00 - 18 2.2091748314094701e+00 3.3564440703097080e+00 -3.8370878208998480e+00 - 19 1.5986312961639815e+00 2.9614993054417287e+00 -4.5778944294436021e+00 - 20 2.8405364052167421e+00 4.0335971973474170e+00 -4.2659151034329339e+00 - 21 5.2651527410670678e+00 -4.4761614286515128e+00 -3.9518304737634447e+00 - 22 4.7192922284117014e+00 -4.6119045765637390e+00 -4.8062296930647124e+00 - 23 6.1127575782518644e+00 -3.9811721108739997e+00 -4.2204729624242692e+00 - 24 2.1290800761933255e+00 3.5132841007593623e+00 3.5392070209389175e+00 - 25 1.3519459804490630e+00 3.6349473854278020e+00 2.8807586653452137e+00 - 26 2.6413474233716503e+00 4.3893648735951771e+00 3.6035699967293215e+00 - 27 -2.3204235087828389e+00 -4.7905434153250859e+00 2.3919287951691697e+00 - 28 -3.1811356909797261e+00 -4.4206486004501846e+00 1.8095625809312565e+00 - 29 -1.6019226098503827e+00 -3.9551927030786480e+00 2.5663248522869146e+00 + 1 -4.6333219629057343e-01 2.7511450055078264e+00 -1.2865946102794723e-01 + 2 1.7937148390171043e-01 3.2800405238548382e+00 -8.8510337855745913e-01 + 3 -9.2104620265733672e-01 1.3941717929290096e+00 -6.2603796687147195e-01 + 4 -1.8960869879720148e+00 1.6675144043874610e+00 -1.3178544214442827e+00 + 5 -1.1426748052076219e+00 1.0535885915282748e+00 5.0562616550083384e-01 + 6 1.7070712623507234e-01 2.7107933832768616e-01 -1.3571701846609390e+00 + 7 2.2159329060507194e-01 1.0068698962099276e-02 -2.6593507556865532e+00 + 8 1.1315940381700180e+00 -5.1414408469817374e-01 -6.8596713849766644e-01 + 9 1.3675404538221745e+00 -2.6001531899018637e-01 3.5817751536688647e-01 + 10 2.0752698846778816e+00 -1.5574812996958780e+00 -1.0070795245590576e+00 + 11 1.8261547470632973e+00 -2.1745615463236652e+00 -2.0195839000292208e+00 + 12 3.1626236108725436e+00 -5.2019677375534190e-01 -1.7266801053750953e+00 + 13 4.3131602274142278e+00 -9.7533717592347013e-01 -1.7483045222383922e+00 + 14 2.7211536303667962e+00 -4.3036348628169740e-01 -2.8715539682066451e+00 + 15 3.1323683805792637e+00 6.4234915962478567e-01 -1.3123899007468758e+00 + 16 2.7746546569035768e+00 -2.6258578189762343e+00 9.7666596945902739e-02 + 17 2.3099360535752709e+00 -2.3017831004889393e+00 1.3305794265752642e+00 + 18 2.2091748313982826e+00 3.3564440703034535e+00 -3.8370878209026742e+00 + 19 1.5986312961681257e+00 2.9614993054929961e+00 -4.5778944294898185e+00 + 20 2.8405364052584243e+00 4.0335971973267473e+00 -4.2659151033808254e+00 + 21 5.2651527413064194e+00 -4.4761614287784965e+00 -3.9518304737405883e+00 + 22 4.7192922283808425e+00 -4.6119045776644754e+00 -4.8062296927145907e+00 + 23 6.1127575773332410e+00 -3.9811721092729444e+00 -4.2204729628712050e+00 + 24 2.1290800759971340e+00 3.5132841007987228e+00 3.5392070210919400e+00 + 25 1.3519459805793055e+00 3.6349473856926782e+00 2.8807586651545414e+00 + 26 2.6413474240255201e+00 4.3893648731792023e+00 3.6035699963154144e+00 + 27 -2.3204235087838274e+00 -4.7905434153262867e+00 2.3919287951699459e+00 + 28 -3.1811356909809412e+00 -4.4206486004512886e+00 1.8095625809318783e+00 + 29 -1.6019226098511883e+00 -3.9551927030796277e+00 2.5663248522877335e+00 run_vel: ! |2 1 7.7867804888392077e-04 5.8970331623292821e-04 -2.2179517633030531e-04 2 2.7129529964126462e-03 4.6286427111164284e-03 3.5805549693846352e-03 @@ -63,15 +64,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 7.2384391131466940e-04 -6.0015829212802722e-04 1.5957533238990559e-03 - 19 1.7583138222551384e-03 -3.0158245948490804e-03 2.0310435058142470e-03 - 20 -1.4153552732353322e-03 9.7835305930749246e-04 9.3881222516217474e-04 - 21 -2.7591188772323472e-03 -5.1180650802276303e-04 2.2758295071994400e-03 - 22 -3.2319732401280494e-03 -3.0809796427949646e-03 2.9861065768383484e-03 - 23 6.9767443123301817e-04 -8.1543313142268207e-03 -8.9929522742256325e-04 - 24 1.7345816999787505e-03 -1.8508160062822962e-03 1.0723416147087287e-03 - 25 3.2855417755407162e-03 -4.5284294762327620e-03 -1.2529299007822618e-03 - 26 -3.4004728795728936e-03 8.5952140737749613e-04 5.0505027847540665e-03 + 18 7.2384391137821785e-04 -6.0015829219183913e-04 1.5957533239005792e-03 + 19 1.7583138220942001e-03 -3.0158245949231362e-03 2.0310435058145879e-03 + 20 -1.4153552733289841e-03 9.7835305963750062e-04 9.3881222515317965e-04 + 21 -2.7591188784018856e-03 -5.1180651254767841e-04 2.2758295071625967e-03 + 22 -3.2319732438308327e-03 -3.0809796341686479e-03 2.9861065796802132e-03 + 23 6.9767443960831559e-04 -8.1543313047864312e-03 -8.9929523012053270e-04 + 24 1.7345816996818938e-03 -1.8508160077951139e-03 1.0723416139084840e-03 + 25 3.2855417748809557e-03 -4.5284294761711655e-03 -1.2529298997977286e-03 + 26 -3.4004728777299181e-03 8.5952141335802687e-04 5.0505027869618231e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nve_group.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nve_group.yaml index b20d639fd4..0e8f18da7b 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nve_group.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nve_group.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:13 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,65 +15,65 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.4245356938011610e+03 -1.4496493316650424e+03 -3.6144360982532016e+03 8.4840626794792252e+02 2.0318336802442886e+02 -6.0622397695978805e+02 -global_scalar: 15.711521423178128 + -1.4245356938011316e+03 -1.4496493316650758e+03 -3.6144360982530934e+03 8.4840626794790273e+02 2.0318336802433893e+02 -6.0622397695991208e+02 +global_scalar: 15.711521423178162 run_pos: ! |2 - 1 -2.7899546863905123e-01 2.4731857340327181e+00 -1.7290667740231969e-01 - 2 3.0296221610252227e-01 2.9517129916957194e+00 -8.5798904387756503e-01 - 3 -6.9368802364141247e-01 1.2445115421753310e+00 -6.2281111198650718e-01 - 4 -1.5764879647103560e+00 1.4919714415840475e+00 -1.2492069414674947e+00 - 5 -8.9434512967440649e-01 9.3651699743494377e-01 4.0191726558257690e-01 - 6 2.9454439634452678e-01 2.2724545792543693e-01 -1.2845195053960459e+00 - 7 3.4049112903278234e-01 -9.4655678321664549e-03 -2.4634480020857370e+00 - 8 1.1644354555804921e+00 -4.8367776650962330e-01 -6.7663643940738027e-01 - 9 1.3781717822695918e+00 -2.5332509530017322e-01 2.6864954436590494e-01 - 10 2.0186368606042460e+00 -1.4285861423625348e+00 -9.6712491252784183e-01 - 11 1.7929137227578726e+00 -1.9875455388406436e+00 -1.8836565352267429e+00 - 12 3.0032775230400142e+00 -4.8983022415161337e-01 -1.6190248017342870e+00 - 13 4.0448964162126639e+00 -9.0213155122374034e-01 -1.6385398399478515e+00 - 14 2.6035151245016883e+00 -4.0874995493201027e-01 -2.6555999074785985e+00 - 15 2.9761196776172243e+00 5.6287237454118566e-01 -1.2442626196081918e+00 - 16 2.6517373021566577e+00 -2.3957035508393689e+00 3.3389262100618433e-02 - 17 2.2311114924744668e+00 -2.1018393228799419e+00 1.1496088522376777e+00 - 18 2.1390642573199212e+00 3.0164773560692755e+00 -3.5143984803853900e+00 - 19 1.5353246655143720e+00 2.6305911186314508e+00 -4.2455871034736816e+00 - 20 2.7649421538935122e+00 3.6818603528430254e+00 -3.9364115785985936e+00 - 21 4.9043112657301942e+00 -4.0774268210396798e+00 -3.6200836396129796e+00 - 22 4.3665322424286144e+00 -4.2075138112953070e+00 -4.4636587264885614e+00 - 23 5.7355405581987764e+00 -3.5789558641907195e+00 -3.8805763324090350e+00 - 24 2.0692780332810026e+00 3.1504920436416008e+00 3.1571131300668833e+00 - 25 1.3007297593168636e+00 3.2745259354178766e+00 2.5110163874103986e+00 - 26 2.5819416446099002e+00 4.0104903120757012e+00 3.2150249624525742e+00 + 1 -2.7899546863904412e-01 2.4731857340327541e+00 -1.7290667740243348e-01 + 2 3.0296221610251317e-01 2.9517129916957181e+00 -8.5798904387771990e-01 + 3 -6.9368802364141358e-01 1.2445115421753392e+00 -6.2281111198654315e-01 + 4 -1.5764879647103740e+00 1.4919714415840188e+00 -1.2492069414675249e+00 + 5 -8.9434512967438362e-01 9.3651699743500849e-01 4.0191726558256402e-01 + 6 2.9454439634451368e-01 2.2724545792540876e-01 -1.2845195053960490e+00 + 7 3.4049112903274215e-01 -9.4655678322607961e-03 -2.4634480020857299e+00 + 8 1.1644354555804954e+00 -4.8367776650961680e-01 -6.7663643940736340e-01 + 9 1.3781717822696169e+00 -2.5332509530011327e-01 2.6864954436590560e-01 + 10 2.0186368606042455e+00 -1.4285861423625437e+00 -9.6712491252779242e-01 + 11 1.7929137227578522e+00 -1.9875455388407057e+00 -1.8836565352266585e+00 + 12 3.0032775230399977e+00 -4.8983022415165589e-01 -1.6190248017343138e+00 + 13 4.0448964162126479e+00 -9.0213155122378219e-01 -1.6385398399478794e+00 + 14 2.6035151245016470e+00 -4.0874995493211108e-01 -2.6555999074786221e+00 + 15 2.9761196776172136e+00 5.6287237454116579e-01 -1.2442626196082760e+00 + 16 2.6517373021566839e+00 -2.3957035508393223e+00 3.3389262100708361e-02 + 17 2.2311114924745179e+00 -2.1018393228798340e+00 1.1496088522377621e+00 + 18 2.1390642573196605e+00 3.0164773560691671e+00 -3.5143984803853927e+00 + 19 1.5353246655140995e+00 2.6305911186312847e+00 -4.2455871034736425e+00 + 20 2.7649421538931831e+00 3.6818603528429503e+00 -3.9364115785986438e+00 + 21 4.9043112657304171e+00 -4.0774268210395990e+00 -3.6200836396129659e+00 + 22 4.3665322424288018e+00 -4.2075138112952830e+00 -4.4636587264885161e+00 + 23 5.7355405581989505e+00 -3.5789558641905872e+00 -3.8805763324090754e+00 + 24 2.0692780332810834e+00 3.1504920436416377e+00 3.1571131300668784e+00 + 25 1.3007297593169014e+00 3.2745259354178451e+00 2.5110163874104305e+00 + 26 2.5819416446099250e+00 4.0104903120757749e+00 3.2150249624525231e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 4.7093289825841293e-04 2.6351122778450888e-04 -4.4905093064113717e-04 - 2 4.9594625316469964e-04 9.4561370489668111e-05 -5.4581359894048111e-04 - 3 3.3306085115754910e-04 2.3224943880673595e-04 -2.3659455671744723e-04 - 4 3.3692327392259764e-04 2.1926810694050300e-04 -2.4716631558861373e-04 - 5 3.3642542694184180e-04 4.1797578013266372e-04 -1.8011341766654800e-04 - 6 2.0926869754934492e-04 2.6449308951570887e-05 -1.0508938983871866e-04 - 7 1.4629043007908284e-04 -1.6873376665352296e-04 -6.8354048774366290e-05 - 8 1.5844101624224813e-04 3.7728761273997381e-05 -1.9162715667088780e-05 - 9 2.1299362072601532e-04 1.6917140529158732e-04 -6.3528165037833598e-05 - 10 5.4261629412260376e-05 -9.4655528376821362e-05 1.0511362869146115e-04 - 11 -3.2194160796493454e-05 -2.2025095264761673e-04 2.0300202946211041e-04 - 12 1.2640586304751833e-04 -2.9851080445664229e-04 -7.9476371818270762e-05 - 13 8.4523575162163329e-05 -4.0583135407329152e-04 -4.7551111331733064e-05 - 14 9.9954050381288400e-05 -4.2610816481298728e-04 -7.9255633594414740e-05 - 15 2.4417481119791087e-04 -2.3521002264675206e-04 -2.4875318161051227e-04 - 16 -9.0958138549618100e-06 3.7774817121146141e-06 2.4035199548835590e-04 - 17 5.7507224523608950e-05 2.2629217444844056e-04 2.0686920072686990e-04 - 18 2.9220264989358538e-04 -6.2478376436791018e-04 8.4222594596602778e-04 - 19 2.0572616567796829e-04 -5.0334424271721273e-04 8.4953929443210897e-04 - 20 4.1224811789512659e-04 -7.4115205416005016e-04 8.3678612337508636e-04 - 21 -1.0671858777656236e-03 -1.1531171045500116e-03 7.3720674900161585e-04 - 22 -1.1066511338291651e-03 -1.0433933757601002e-03 7.4544544325707912e-04 - 23 -9.7629260480938717e-04 -1.3100872491594619e-03 7.2687284219704522e-04 - 24 4.3308126651259090e-04 -6.6527658087322823e-04 8.4451298670663681e-04 - 25 4.4565811905441464e-04 -5.1298436273583472e-04 8.5878867884521526e-04 - 26 5.9865972692023459e-04 -7.6385263287079232e-04 8.4259943226842524e-04 + 1 4.7093289825842481e-04 2.6351122778449815e-04 -4.4905093064115029e-04 + 2 4.9594625316470614e-04 9.4561370489646928e-05 -5.4581359894049163e-04 + 3 3.3306085115755453e-04 2.3224943880673822e-04 -2.3659455671744877e-04 + 4 3.3692327392259862e-04 2.1926810694050856e-04 -2.4716631558860722e-04 + 5 3.3642542694185568e-04 4.1797578013267277e-04 -1.8011341766655748e-04 + 6 2.0926869754934175e-04 2.6449308951572771e-05 -1.0508938983871239e-04 + 7 1.4629043007906883e-04 -1.6873376665352220e-04 -6.8354048774347479e-05 + 8 1.5844101624224818e-04 3.7728761274000153e-05 -1.9162715667088122e-05 + 9 2.1299362072602399e-04 1.6917140529158875e-04 -6.3528165037844006e-05 + 10 5.4261629412255362e-05 -9.4655528376817648e-05 1.0511362869146607e-04 + 11 -3.2194160796507657e-05 -2.2025095264760857e-04 2.0300202946212778e-04 + 12 1.2640586304750909e-04 -2.9851080445665606e-04 -7.9476371818267184e-05 + 13 8.4523575162152420e-05 -4.0583135407330979e-04 -4.7551111331730963e-05 + 14 9.9954050381270538e-05 -4.2610816481300132e-04 -7.9255633594400035e-05 + 15 2.4417481119790729e-04 -2.3521002264677391e-04 -2.4875318161051720e-04 + 16 -9.0958138549606716e-06 3.7774817121242263e-06 2.4035199548835337e-04 + 17 5.7507224523620660e-05 2.2629217444845357e-04 2.0686920072685659e-04 + 18 2.9220264989356375e-04 -6.2478376436786377e-04 8.4222594596602756e-04 + 19 2.0572616567793704e-04 -5.0334424271716611e-04 8.4953929443210886e-04 + 20 4.1224811789511017e-04 -7.4115205415999053e-04 8.3678612337508690e-04 + 21 -1.0671858777656028e-03 -1.1531171045500558e-03 7.3720674900162051e-04 + 22 -1.1066511338291541e-03 -1.0433933757601397e-03 7.4544544325708389e-04 + 23 -9.7629260480935768e-04 -1.3100872491594961e-03 7.2687284219705075e-04 + 24 4.3308126651259366e-04 -6.6527658087323755e-04 8.4451298670663172e-04 + 25 4.4565811905440515e-04 -5.1298436273583775e-04 8.5878867884520984e-04 + 26 5.9865972692024294e-04 -7.6385263287079004e-04 8.4259943226842036e-04 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nve_molecule.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nve_molecule.yaml index 839ac060a5..b0e52d3fea 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nve_molecule.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nve_molecule.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:13 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,8 +15,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200114774918006e+01 -2.6907707694141354e+01 -6.0080872444875970e+00 -2.5620425756344780e+01 -1.3450222538011893e+01 -1.4947348732785031e+00 -global_scalar: 18.340560167364448 + -4.9200114760030708e+01 -2.6907707699312748e+01 -6.0080872440179061e+00 -2.5620425767600064e+01 -1.3450222535184853e+01 -1.4947348700253382e+00 +global_scalar: 18.340560165889197 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -34,15 +35,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1392027588270928e+00 3.0171068018423082e+00 -3.5144628518853867e+00 - 19 1.5366124996934336e+00 2.6286809834236959e+00 -4.2452547844313493e+00 - 20 2.7628161763597592e+00 3.6842251687468450e+00 -3.9370881219419189e+00 - 21 4.9036621348471368e+00 -4.0757648444604762e+00 -3.6192617654906609e+00 - 22 4.3655322292129357e+00 -4.2084949964269480e+00 -4.4622011117992786e+00 - 23 5.7380414790507261e+00 -3.5841969189265162e+00 -3.8827839828320116e+00 - 24 2.0701314764933532e+00 3.1499370533556008e+00 3.1565324853054118e+00 - 25 1.3030170721038390e+00 3.2711173927738786e+00 2.5081940917867680e+00 - 26 2.5776230784374867e+00 4.0127347067334345e+00 3.2182355136150917e+00 + 18 2.1392027588241729e+00 3.0171068018404634e+00 -3.5144628518858858e+00 + 19 1.5366124996944652e+00 2.6286809834366300e+00 -4.2452547844429631e+00 + 20 2.7628161763703827e+00 3.6842251687412753e+00 -3.9370881219283147e+00 + 21 4.9036621349084646e+00 -4.0757648444931904e+00 -3.6192617654848509e+00 + 22 4.3655322292057255e+00 -4.2084949967079632e+00 -4.4622011117106153e+00 + 23 5.7380414788131207e+00 -3.5841969185149058e+00 -3.8827839829438688e+00 + 24 2.0701314764430685e+00 3.1499370533656190e+00 3.1565324853444698e+00 + 25 1.3030170721374645e+00 3.2711173928413317e+00 2.5081940917372791e+00 + 26 2.5776230786045939e+00 4.0127347066259897e+00 3.2182355135086644e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -64,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625094898067e-04 -3.1032459262177040e-04 8.1043030117471950e-04 - 19 8.5103884664914254e-04 -1.4572280597118469e-03 1.0163621287571445e-03 - 20 -6.5204659274939057e-04 4.3989037444674739e-04 4.9909839028631532e-04 - 21 -1.3888125888095134e-03 -3.1978049191290817e-04 1.1455681505629727e-03 - 22 -1.6084223473476296e-03 -1.5355394235202363e-03 1.4772010819351844e-03 - 23 2.6392672583440717e-04 -3.9375414417551127e-03 -3.6991583302200246e-04 - 24 8.6062827046548790e-04 -9.4179873487668705e-04 5.5396395555797203e-04 - 25 1.5933645478462865e-03 -2.2139156628290975e-03 -5.5078029723780941e-04 - 26 -1.5679561736454237e-03 3.5146224433513641e-04 2.4446924193838983e-03 + 18 3.6149625095571725e-04 -3.1032459263052550e-04 8.1043030117473349e-04 + 19 8.5103884662188244e-04 -1.4572280597071525e-03 1.0163621287543638e-03 + 20 -6.5204659274901945e-04 4.3989037447700791e-04 4.9909839028904252e-04 + 21 -1.3888125889514069e-03 -3.1978049248194420e-04 1.1455681505565557e-03 + 22 -1.6084223477996385e-03 -1.5355394224557757e-03 1.4772010822781041e-03 + 23 2.6392672685288674e-04 -3.9375414405480738e-03 -3.6991583333937880e-04 + 24 8.6062827042478370e-04 -9.4179873506334828e-04 5.5396395546095014e-04 + 25 1.5933645477524167e-03 -2.2139156628045932e-03 -5.5078029709943691e-04 + 26 -1.5679561733890424e-03 3.5146224505578228e-04 2.4446924196328459e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nve_single.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nve_single.yaml index 854e8b4d45..0277d7991a 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nve_single.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nve_single.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:13 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,26 +15,26 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.3754817467882767e+03 -1.4228425246441275e+03 -3.6087196200592489e+03 8.7407043142559303e+02 2.1665316510426268e+02 -6.0480791467747542e+02 -global_scalar: 4.531423038570333 + -1.3754817467882813e+03 -1.4228425246442055e+03 -3.6087196200592184e+03 8.7407043142559792e+02 2.1665316510417179e+02 -6.0480791467761571e+02 +global_scalar: 4.531423038570381 run_pos: ! |2 - 1 -2.7899546859706881e-01 2.4731857340427750e+00 -1.7290667720866193e-01 - 2 3.0296221616781649e-01 2.9517129917211218e+00 -8.5798904365338713e-01 - 3 -6.9368802362172777e-01 1.2445115422148878e+00 -6.2281111185285920e-01 - 4 -1.5764879646739900e+00 1.4919714416721197e+00 -1.2492069413381908e+00 - 5 -8.9434512967965252e-01 9.3651699743522254e-01 4.0191726569953845e-01 - 6 2.9454439635066831e-01 2.2724545796942719e-01 -1.2845195052894431e+00 - 7 3.4049112905319934e-01 -9.4655677384814507e-03 -2.4634480019885556e+00 - 8 1.1644354555589707e+00 -4.8367776651303718e-01 -6.7663643931662931e-01 - 9 1.3781717822376129e+00 -2.5332509534954067e-01 2.6864954447021949e-01 - 10 2.0186368605646337e+00 -1.4285861423742481e+00 -9.6712491246329535e-01 - 11 1.7929137227202196e+00 -1.9875455388073511e+00 -1.8836565351901273e+00 - 12 3.0032775230343667e+00 -4.8983022415922672e-01 -1.6190248016125368e+00 - 13 4.0448964161972993e+00 -9.0213155125590028e-01 -1.6385398398261621e+00 - 14 2.6035151245156412e+00 -4.0874995488520105e-01 -2.6555999073601511e+00 - 15 2.9761196776308623e+00 5.6287237451808192e-01 -1.2442626194415292e+00 - 16 2.6517373020764632e+00 -2.3957035509096389e+00 3.3389262134244646e-02 - 17 2.2311114923824555e+00 -2.1018393229880719e+00 1.1496088522768189e+00 + 1 -2.7899546859705771e-01 2.4731857340428069e+00 -1.7290667720877784e-01 + 2 3.0296221616781072e-01 2.9517129917211151e+00 -8.5798904365354312e-01 + 3 -6.9368802362172532e-01 1.2445115422148945e+00 -6.2281111185289584e-01 + 4 -1.5764879646740031e+00 1.4919714416720897e+00 -1.2492069413382207e+00 + 5 -8.9434512967962521e-01 9.3651699743528616e-01 4.0191726569952280e-01 + 6 2.9454439635065666e-01 2.2724545796939852e-01 -1.2845195052894454e+00 + 7 3.4049112905316026e-01 -9.4655677385761805e-03 -2.4634480019885459e+00 + 8 1.1644354555589742e+00 -4.8367776651303018e-01 -6.7663643931661244e-01 + 9 1.3781717822376380e+00 -2.5332509534948033e-01 2.6864954447021760e-01 + 10 2.0186368605646310e+00 -1.4285861423742554e+00 -9.6712491246324517e-01 + 11 1.7929137227201968e+00 -1.9875455388074099e+00 -1.8836565351900401e+00 + 12 3.0032775230343471e+00 -4.8983022415926980e-01 -1.6190248016125621e+00 + 13 4.0448964161972807e+00 -9.0213155125594269e-01 -1.6385398398261892e+00 + 14 2.6035151245155976e+00 -4.0874995488530264e-01 -2.6555999073601715e+00 + 15 2.9761196776308503e+00 5.6287237451805949e-01 -1.2442626194416131e+00 + 16 2.6517373020764849e+00 -2.3957035509095892e+00 3.3389262134333686e-02 + 17 2.2311114923825035e+00 -2.1018393229879604e+00 1.1496088522769004e+00 18 2.1384791188033843e+00 3.0177261773770208e+00 -3.5160827596876225e+00 19 1.5349125211132961e+00 2.6315969880333707e+00 -4.2472859440220647e+00 20 2.7641167828863153e+00 3.6833419064000221e+00 -3.9380850623312638e+00 @@ -47,23 +48,23 @@ run_pos: ! |2 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 4.7093296226164550e-04 2.6351124312060223e-04 -4.4905063547613568e-04 - 2 4.9594635271876775e-04 9.4561409237174846e-05 -5.4581325723053790e-04 - 3 3.3306088119081919e-04 2.3224949911015709e-04 -2.3659435306899653e-04 - 4 3.3692332940285361e-04 2.1926824120528752e-04 -2.4716611858555457e-04 - 5 3.3642541894622217e-04 4.1797578053944250e-04 -1.8011323945926332e-04 - 6 2.0926870695908031e-04 2.6449376032433555e-05 -1.0508922741401509e-04 - 7 1.4629046128363305e-04 -1.6873362379725323e-04 -6.8353900724087087e-05 - 8 1.5844098346817862e-04 3.7728756087615553e-05 -1.9162577392847385e-05 - 9 2.1299357198252531e-04 1.6917133003967874e-04 -6.3528006071188683e-05 - 10 5.4261569071251603e-05 -9.4655546204709643e-05 1.0511372702289179e-04 - 11 -3.2194218121513917e-05 -2.2025090185605342e-04 2.0300208519291412e-04 - 12 1.2640585449265036e-04 -2.9851081600945991e-04 -7.9476186245599681e-05 - 13 8.4523551795123310e-05 -4.0583140303606936e-04 -4.7550925831962545e-05 - 14 9.9954071734181717e-05 -4.2610809338914382e-04 -7.9255453072696249e-05 - 15 2.4417483202631243e-04 -2.3521005781666407e-04 -2.4875292755154228e-04 - 16 -9.0959360838797421e-06 3.7773746063106756e-06 2.4035204669042973e-04 - 17 5.7507084250803101e-05 2.2629200960629499e-04 2.0686926033796699e-04 + 1 4.7093296226165618e-04 2.6351124312058857e-04 -4.4905063547614403e-04 + 2 4.9594635271877252e-04 9.4561409237151983e-05 -5.4581325723054321e-04 + 3 3.3306088119082413e-04 2.3224949911015692e-04 -2.3659435306899455e-04 + 4 3.3692332940285378e-04 2.1926824120529077e-04 -2.4716611858554389e-04 + 5 3.3642541894623611e-04 4.1797578053944765e-04 -1.8011323945926958e-04 + 6 2.0926870695907706e-04 2.6449376032434591e-05 -1.0508922741400673e-04 + 7 1.4629046128361865e-04 -1.6873362379725188e-04 -6.8353900724066446e-05 + 8 1.5844098346817927e-04 3.7728756087617390e-05 -1.9162577392845779e-05 + 9 2.1299357198253474e-04 1.6917133003967807e-04 -6.3528006071197993e-05 + 10 5.4261569071247645e-05 -9.4655546204705848e-05 1.0511372702289633e-04 + 11 -3.2194218121526927e-05 -2.2025090185604412e-04 2.0300208519293052e-04 + 12 1.2640585449264128e-04 -2.9851081600947238e-04 -7.9476186245595616e-05 + 13 8.4523551795112752e-05 -4.0583140303608579e-04 -4.7550925831960783e-05 + 14 9.9954071734163598e-05 -4.2610809338915548e-04 -7.9255453072680826e-05 + 15 2.4417483202630842e-04 -2.3521005781668527e-04 -2.4875292755154548e-04 + 16 -9.0959360838764895e-06 3.7773746063197473e-06 2.4035204669042547e-04 + 17 5.7507084250817169e-05 2.2629200960630572e-04 2.0686926033795233e-04 18 -6.0936815808025862e-04 -9.3774557532468582e-04 -3.3558072507805731e-04 19 -6.9919768291957119e-04 -3.6060777270430031e-03 4.2833405289822791e-03 20 4.7777805013736515e-03 5.1003745845520452e-03 1.8002873923729241e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nve_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nve_small.yaml index 664921b147..1a017f0a6c 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nve_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nve_small.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:14 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,8 +15,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200114774918006e+01 -2.6907707694141354e+01 -6.0080872444875970e+00 -2.5620425756344780e+01 -1.3450222538011893e+01 -1.4947348732785031e+00 -global_scalar: 0.5007318719663203 + -4.9200114760030708e+01 -2.6907707699312748e+01 -6.0080872440179061e+00 -2.5620425767600064e+01 -1.3450222535184853e+01 -1.4947348700253382e+00 +global_scalar: 0.5007318719399354 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -34,15 +35,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1392027588270928e+00 3.0171068018423082e+00 -3.5144628518853867e+00 - 19 1.5366124996934336e+00 2.6286809834236959e+00 -4.2452547844313493e+00 - 20 2.7628161763597592e+00 3.6842251687468450e+00 -3.9370881219419189e+00 - 21 4.9036621348471368e+00 -4.0757648444604762e+00 -3.6192617654906609e+00 - 22 4.3655322292129357e+00 -4.2084949964269480e+00 -4.4622011117992786e+00 - 23 5.7380414790507261e+00 -3.5841969189265162e+00 -3.8827839828320116e+00 - 24 2.0701314764933532e+00 3.1499370533556008e+00 3.1565324853054118e+00 - 25 1.3030170721038390e+00 3.2711173927738786e+00 2.5081940917867680e+00 - 26 2.5776230784374867e+00 4.0127347067334345e+00 3.2182355136150917e+00 + 18 2.1392027588241729e+00 3.0171068018404634e+00 -3.5144628518858858e+00 + 19 1.5366124996944652e+00 2.6286809834366300e+00 -4.2452547844429631e+00 + 20 2.7628161763703827e+00 3.6842251687412753e+00 -3.9370881219283147e+00 + 21 4.9036621349084646e+00 -4.0757648444931904e+00 -3.6192617654848509e+00 + 22 4.3655322292057255e+00 -4.2084949967079632e+00 -4.4622011117106153e+00 + 23 5.7380414788131207e+00 -3.5841969185149058e+00 -3.8827839829438688e+00 + 24 2.0701314764430685e+00 3.1499370533656190e+00 3.1565324853444698e+00 + 25 1.3030170721374645e+00 3.2711173928413317e+00 2.5081940917372791e+00 + 26 2.5776230786045939e+00 4.0127347066259897e+00 3.2182355135086644e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -64,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625094898067e-04 -3.1032459262177040e-04 8.1043030117471950e-04 - 19 8.5103884664914254e-04 -1.4572280597118469e-03 1.0163621287571445e-03 - 20 -6.5204659274939057e-04 4.3989037444674739e-04 4.9909839028631532e-04 - 21 -1.3888125888095134e-03 -3.1978049191290817e-04 1.1455681505629727e-03 - 22 -1.6084223473476296e-03 -1.5355394235202363e-03 1.4772010819351844e-03 - 23 2.6392672583440717e-04 -3.9375414417551127e-03 -3.6991583302200246e-04 - 24 8.6062827046548790e-04 -9.4179873487668705e-04 5.5396395555797203e-04 - 25 1.5933645478462865e-03 -2.2139156628290975e-03 -5.5078029723780941e-04 - 26 -1.5679561736454237e-03 3.5146224433513641e-04 2.4446924193838983e-03 + 18 3.6149625095571725e-04 -3.1032459263052550e-04 8.1043030117473349e-04 + 19 8.5103884662188244e-04 -1.4572280597071525e-03 1.0163621287543638e-03 + 20 -6.5204659274901945e-04 4.3989037447700791e-04 4.9909839028904252e-04 + 21 -1.3888125889514069e-03 -3.1978049248194420e-04 1.1455681505565557e-03 + 22 -1.6084223477996385e-03 -1.5355394224557757e-03 1.4772010822781041e-03 + 23 2.6392672685288674e-04 -3.9375414405480738e-03 -3.6991583333937880e-04 + 24 8.6062827042478370e-04 -9.4179873506334828e-04 5.5396395546095014e-04 + 25 1.5933645477524167e-03 -2.2139156628045932e-03 -5.5078029709943691e-04 + 26 -1.5679561733890424e-03 3.5146224505578228e-04 2.4446924196328459e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nvt.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nvt.yaml index a49508ca15..f15e2a3c7f 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nvt.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nvt.yaml @@ -1,7 +1,8 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 -epsilon: 5e-13 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:14 2024 +epsilon: 1e-12 skip_tests: prerequisites: ! | atom full @@ -13,26 +14,26 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.3123962047757550e+03 -1.3675423591710460e+03 -3.5468492999583855e+03 7.8271738572396373e+02 2.6480486115495069e+02 -7.6950536863736306e+02 -global_scalar: 68.08659647423171 + -1.3123962047758187e+03 -1.3675423591720764e+03 -3.5468492999580299e+03 7.8271738572394452e+02 2.6480486115379637e+02 -7.6950536863892899e+02 +global_scalar: 68.08659647424867 run_pos: ! |2 - 1 -2.7802951913990959e-01 2.4737132264311215e+00 -1.7381271738602289e-01 - 2 3.0397800832473609e-01 2.9519031941431444e+00 -8.5908822750267100e-01 - 3 -6.9299720296404743e-01 1.2449766685866726e+00 -6.2329294828335358e-01 - 4 -1.5757894675975461e+00 1.4924105480974301e+00 -1.2497098747240374e+00 - 5 -8.9364750934418624e-01 9.3735293261000852e-01 4.0154813851989335e-01 - 6 2.9498813449175199e-01 2.2729986882976547e-01 -1.2847387164260673e+00 - 7 3.4080910885027837e-01 -9.8008218359699473e-03 -2.4635938021179546e+00 - 8 1.1647778042705452e+00 -4.8360070140706557e-01 -6.7668409924218165e-01 - 9 1.3786230528159027e+00 -2.5298559880150862e-01 2.6851325883861188e-01 - 10 2.0187712935465942e+00 -1.4287732348422091e+00 -9.6692440387148870e-01 - 11 1.7928755785831587e+00 -1.9879833661313322e+00 -1.8832605388690278e+00 - 12 3.0035558347419657e+00 -4.9042429038271507e-01 -1.6191927838346238e+00 - 13 4.0450911337530959e+00 -9.0293975523160919e-01 -1.6386440514135796e+00 - 14 2.6037405819194577e+00 -4.0959881564101863e-01 -2.6557674031621108e+00 - 15 2.9766330093335447e+00 5.6240461100771322e-01 -1.2447686007433758e+00 - 16 2.6517453810147344e+00 -2.3956939898026426e+00 3.3859750042781744e-02 - 17 2.2312525656149020e+00 -2.1013855689264771e+00 1.1500124166835219e+00 + 1 -2.7802951913978302e-01 2.4737132264315886e+00 -1.7381271738770820e-01 + 2 3.0397800832462774e-01 2.9519031941430738e+00 -8.5908822750493219e-01 + 3 -6.9299720296403144e-01 1.2449766685867643e+00 -6.2329294828390935e-01 + 4 -1.5757894675977402e+00 1.4924105480969891e+00 -1.2497098747245081e+00 + 5 -8.9364750934382919e-01 9.3735293261092456e-01 4.0154813851965188e-01 + 6 2.9498813449158368e-01 2.2729986882934847e-01 -1.2847387164261186e+00 + 7 3.4080910884973536e-01 -9.8008218373410172e-03 -2.4635938021178290e+00 + 8 1.1647778042705941e+00 -4.8360070140696521e-01 -6.7668409924193851e-01 + 9 1.3786230528162504e+00 -2.5298559880063631e-01 2.6851325883859889e-01 + 10 2.0187712935465760e+00 -1.4287732348423197e+00 -9.6692440387075651e-01 + 11 1.7928755785828601e+00 -1.9879833661321924e+00 -1.8832605388677695e+00 + 12 3.0035558347417104e+00 -4.9042429038332558e-01 -1.6191927838349707e+00 + 13 4.0450911337528455e+00 -9.0293975523220671e-01 -1.6386440514139291e+00 + 14 2.6037405819188639e+00 -4.0959881564248080e-01 -2.6557674031623937e+00 + 15 2.9766330093333795e+00 5.6240461100740513e-01 -1.2447686007445669e+00 + 16 2.6517453810150675e+00 -2.3956939898019254e+00 3.3859750044092363e-02 + 17 2.2312525656155877e+00 -2.1013855689248668e+00 1.1500124166847305e+00 18 2.1384791188033843e+00 3.0177261773770208e+00 -3.5160827596876225e+00 19 1.5349125211132961e+00 2.6315969880333707e+00 -4.2472859440220647e+00 20 2.7641167828863153e+00 3.6833419064000221e+00 -3.9380850623312638e+00 @@ -46,23 +47,23 @@ run_pos: ! |2 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 1.8443993556501188e-03 1.0121779580014884e-03 -1.7361326034900006e-03 - 2 1.9401022924558343e-03 3.6428754787592733e-04 -2.1069540627804634e-03 - 3 1.3158623602983108e-03 8.9265747656461540e-04 -9.2144725682164657e-04 - 4 1.3306255280096089e-03 8.4281508655990054e-04 -9.6194026572564146e-04 - 5 1.3289682243410692e-03 1.6048237018834067e-03 -7.0511232123071470e-04 - 6 8.4113718611833661e-04 1.0389683283144290e-04 -4.1697370456873913e-04 - 7 5.9950574545626287e-04 -6.4437674895215604e-04 -2.7586696717582678e-04 - 8 6.4634547270651834e-04 1.4734228826522431e-04 -8.7540766366730972e-05 - 9 8.5561404484505246e-04 6.5123532540338036e-04 -2.5782947158524498e-04 - 10 2.4688038968480818e-04 -3.5995975344065565e-04 3.8912416843275122e-04 - 11 -8.4672359473208624e-05 -8.4134349031640394e-04 7.6463157764214873e-04 - 12 5.2321633256319569e-04 -1.1418047427480882e-03 -3.1842516233562688e-04 - 13 3.6258187754908603e-04 -1.5531581259494627e-03 -1.9590476904013767e-04 - 14 4.2166181631324117e-04 -1.6310415916630540e-03 -3.1740232809360453e-04 - 15 9.7471807923383321e-04 -8.9939841790992827e-04 -9.6757308853409824e-04 - 16 4.1534888649229478e-06 1.7705740202856454e-05 9.0753010117813394e-04 - 17 2.5969943716026096e-04 8.7075266710270492e-04 7.7887058799645239e-04 + 1 1.8443993556507550e-03 1.0121779580008364e-03 -1.7361326034906117e-03 + 2 1.9401022924561704e-03 3.6428754787474148e-04 -2.1069540627809144e-03 + 3 1.3158623602986111e-03 8.9265747656469769e-04 -9.2144725682167822e-04 + 4 1.3306255280096579e-03 8.4281508656016844e-04 -9.6194026572521364e-04 + 5 1.3289682243418409e-03 1.6048237018838117e-03 -7.0511232123120064e-04 + 6 8.4113718611817723e-04 1.0389683283156166e-04 -4.1697370456838980e-04 + 7 5.9950574545550414e-04 -6.4437674895204296e-04 -2.7586696717479603e-04 + 8 6.4634547270655271e-04 1.4734228826538870e-04 -8.7540766366732192e-05 + 9 8.5561404484556399e-04 6.5123532540342654e-04 -2.5782947158584915e-04 + 10 2.4688038968457540e-04 -3.5995975344040265e-04 3.8912416843293944e-04 + 11 -8.4672359473939376e-05 -8.4134349031586390e-04 7.6463157764299549e-04 + 12 5.2321633256271539e-04 -1.1418047427487572e-03 -3.1842516233546950e-04 + 13 3.6258187754852045e-04 -1.5531581259503574e-03 -1.9590476904008422e-04 + 14 4.2166181631227780e-04 -1.6310415916636891e-03 -3.1740232809282303e-04 + 15 9.7471807923364706e-04 -8.9939841791107037e-04 -9.6757308853435780e-04 + 16 4.1534888650543531e-06 1.7705740203412426e-05 9.0753010117785768e-04 + 17 2.5969943716097897e-04 8.7075266710338634e-04 7.7887058799558893e-04 18 -6.0936815808025862e-04 -9.3774557532468582e-04 -3.3558072507805731e-04 19 -6.9919768291957119e-04 -3.6060777270430031e-03 4.2833405289822791e-03 20 4.7777805013736515e-03 5.1003745845520452e-03 1.8002873923729241e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_nvt_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_nvt_small.yaml index 6068993094..dab3d52a04 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_nvt_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_nvt_small.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:15 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -13,8 +14,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.4827261116680472e+02 -1.8411194349753309e+01 -1.0752762859308649e+02 -2.1814511477016276e+02 1.7027764307147623e+02 2.1058942244057214e+01 -global_scalar: 0.9532609554739606 + -1.4827261099624999e+02 -1.8411194282828326e+01 -1.0752762861573947e+02 -2.1814511471949461e+02 1.7027764305079162e+02 2.1058942246396320e+01 +global_scalar: 0.9532609552151339 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -33,15 +34,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1395635672981443e+00 3.0168023048492310e+00 -3.5136606977867388e+00 - 19 1.5374727853253387e+00 2.6272080572819609e+00 -4.2442423140467360e+00 - 20 2.7621434607990372e+00 3.6846842324743214e+00 -3.9366036441030396e+00 - 21 4.9022821625125470e+00 -4.0760572704380627e+00 -3.6181235130909242e+00 - 22 4.3639257458824501e+00 -4.2100277325126187e+00 -4.4607219430080747e+00 - 23 5.7383384133351401e+00 -3.5881799317362106e+00 -3.8831848688588710e+00 - 24 2.0709922902331592e+00 3.1490053461169678e+00 3.1570777020268803e+00 - 25 1.3046262534530633e+00 3.2688902575528282e+00 2.5076144141701078e+00 - 26 2.5760050685080813e+00 4.0131166912605272e+00 3.2207051913215210e+00 + 18 2.1395635672857165e+00 3.0168023048413781e+00 -3.5136606977888540e+00 + 19 1.5374727853296883e+00 2.6272080573369379e+00 -4.2442423140961818e+00 + 20 2.7621434608442974e+00 3.6846842324506923e+00 -3.9366036440451500e+00 + 21 4.9022821627727593e+00 -4.0760572705753884e+00 -3.6181235130648650e+00 + 22 4.3639257458473608e+00 -4.2100277337137149e+00 -4.4607219426242057e+00 + 23 5.7383384123314833e+00 -3.5881799299869201e+00 -3.8831848693467652e+00 + 24 2.0709922900187268e+00 3.1490053461587983e+00 3.1570777021928031e+00 + 25 1.3046262535950772e+00 3.2688902578410239e+00 2.5076144139609013e+00 + 26 2.5760050692220648e+00 4.0131166908053464e+00 3.2207051908683750e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -63,15 +64,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 7.8522439440007537e-04 -6.6826115062653757e-04 1.7528441282153480e-03 - 19 1.8628941719211862e-03 -3.1840047051916367e-03 2.2062694140207390e-03 - 20 -1.4430972531298200e-03 9.7564145841628493e-04 1.0686492192569898e-03 - 21 -3.0047717246574385e-03 -6.6139343888744974e-04 2.4784169377340712e-03 - 22 -3.4980341571643784e-03 -3.3380963325931002e-03 3.2191613979274040e-03 - 23 5.9333930569297746e-04 -8.6231086219834968e-03 -8.2692040355627789e-04 - 24 1.8727912311097641e-03 -2.0349136820274911e-03 1.1951471753018509e-03 - 25 3.4887365958745920e-03 -4.8232966889391266e-03 -1.2263764490291313e-03 - 26 -3.4770258010749858e-03 7.8662050223200905e-04 5.3381090661352298e-03 + 18 7.8522439447394326e-04 -6.6826115070004464e-04 1.7528441282176825e-03 + 19 1.8628941717384645e-03 -3.1840047052822556e-03 2.2062694140226819e-03 + 20 -1.4430972532419690e-03 9.7564145880034414e-04 1.0686492192457362e-03 + 21 -3.0047717260078453e-03 -6.6139344410253201e-04 2.4784169376928207e-03 + 22 -3.4980341614361554e-03 -3.3380963226435131e-03 3.2191614012082861e-03 + 23 5.9333931535562748e-04 -8.6231086111150188e-03 -8.2692040667271425e-04 + 24 1.8727912307694413e-03 -2.0349136837727452e-03 1.1951471743788897e-03 + 25 3.4887365951187166e-03 -4.8232966888750181e-03 -1.2263764478999317e-03 + 26 -3.4770257989604671e-03 7.8662050913487318e-04 5.3381090686904524e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_single.yaml b/unittest/force-styles/tests/fix-timestep-rigid_single.yaml index 02acb437d9..5af45ebc1b 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_single.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_single.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:15 2024 epsilon: 7.5e-13 skip_tests: prerequisites: ! | @@ -14,26 +15,26 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -1.3754817466835989e+03 -1.4228425246166137e+03 -3.6087196201914348e+03 8.7407043149698916e+02 2.1665316519769885e+02 -6.0480791462033073e+02 -global_scalar: 4.531423038570297 + -1.3754817466835991e+03 -1.4228425246166084e+03 -3.6087196201914162e+03 8.7407043149699155e+02 2.1665316519769920e+02 -6.0480791462032153e+02 +global_scalar: 4.531423038570312 run_pos: ! |2 - 1 -2.7899546859693136e-01 2.4731857340428784e+00 -1.7290667720876285e-01 - 2 3.0296221616793728e-01 2.9517129917211546e+00 -8.5798904365355155e-01 - 3 -6.9368802362166204e-01 1.2445115422149751e+00 -6.2281111185285498e-01 - 4 -1.5764879646739487e+00 1.4919714416722010e+00 -1.2492069413381564e+00 - 5 -8.9434512967954416e-01 9.3651699743538730e-01 4.0191726569957442e-01 - 6 2.9454439635065910e-01 2.2724545796943096e-01 -1.2845195052894232e+00 - 7 3.4049112905311751e-01 -9.4655677385591108e-03 -2.4634480019885228e+00 - 8 1.1644354555589662e+00 -4.8367776651302724e-01 -6.7663643931660777e-01 - 9 1.3781717822376680e+00 -2.5332509534947545e-01 2.6864954447021416e-01 - 10 2.0186368605645764e+00 -1.4285861423742918e+00 -9.6712491246325605e-01 - 11 1.7929137227200918e+00 -1.9875455388074483e+00 -1.8836565351900385e+00 - 12 3.0032775230343125e+00 -4.8983022415935312e-01 -1.6190248016126132e+00 - 13 4.0448964161972283e+00 -9.0213155125606947e-01 -1.6385398398262669e+00 - 14 2.6035151245155355e+00 -4.0874995488538129e-01 -2.6555999073602123e+00 - 15 2.9761196776308694e+00 5.6287237451798222e-01 -1.2442626194416753e+00 - 16 2.6517373020764219e+00 -2.3957035509096407e+00 3.3389262134315700e-02 - 17 2.2311114923824857e+00 -2.1018393229879817e+00 1.1496088522768926e+00 + 1 -2.7899546859693225e-01 2.4731857340428771e+00 -1.7290667720876018e-01 + 2 3.0296221616793617e-01 2.9517129917211538e+00 -8.5798904365354822e-01 + 3 -6.9368802362166271e-01 1.2445115422149740e+00 -6.2281111185285387e-01 + 4 -1.5764879646739496e+00 1.4919714416722003e+00 -1.2492069413381550e+00 + 5 -8.9434512967954460e-01 9.3651699743538508e-01 4.0191726569957453e-01 + 6 2.9454439635065910e-01 2.2724545796943096e-01 -1.2845195052894227e+00 + 7 3.4049112905311785e-01 -9.4655677385578896e-03 -2.4634480019885232e+00 + 8 1.1644354555589664e+00 -4.8367776651302741e-01 -6.7663643931660822e-01 + 9 1.3781717822376678e+00 -2.5332509534947639e-01 2.6864954447021405e-01 + 10 2.0186368605645768e+00 -1.4285861423742912e+00 -9.6712491246325705e-01 + 11 1.7929137227200933e+00 -1.9875455388074468e+00 -1.8836565351900401e+00 + 12 3.0032775230343129e+00 -4.8983022415935129e-01 -1.6190248016126136e+00 + 13 4.0448964161972292e+00 -9.0213155125606781e-01 -1.6385398398262672e+00 + 14 2.6035151245155359e+00 -4.0874995488537874e-01 -2.6555999073602123e+00 + 15 2.9761196776308694e+00 5.6287237451798344e-01 -1.2442626194416739e+00 + 16 2.6517373020764223e+00 -2.3957035509096416e+00 3.3389262134313369e-02 + 17 2.2311114923824853e+00 -2.1018393229879830e+00 1.1496088522768906e+00 18 2.1384791188033843e+00 3.0177261773770208e+00 -3.5160827596876225e+00 19 1.5349125211132961e+00 2.6315969880333707e+00 -4.2472859440220647e+00 20 2.7641167828863153e+00 3.6833419064000221e+00 -3.9380850623312638e+00 @@ -47,23 +48,23 @@ run_pos: ! |2 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 run_vel: ! |2 - 1 4.7093296226165759e-04 2.6351124312057290e-04 -4.4905063547614669e-04 - 2 4.9594635271877263e-04 9.4561409237138512e-05 -5.4581325723053421e-04 - 3 3.3306088119083101e-04 2.3224949911015481e-04 -2.3659435306900835e-04 - 4 3.3692332940286717e-04 2.1926824120529722e-04 -2.4716611858556465e-04 - 5 3.3642541894624077e-04 4.1797578053943724e-04 -1.8011323945929064e-04 - 6 2.0926870695908283e-04 2.6449376032441855e-05 -1.0508922741401397e-04 - 7 1.4629046128362884e-04 -1.6873362379723068e-04 -6.8353900724071325e-05 - 8 1.5844098346817943e-04 3.7728756087619084e-05 -1.9162577392849316e-05 - 9 2.1299357198253002e-04 1.6917133003966749e-04 -6.3528006071200284e-05 - 10 5.4261569071245856e-05 -9.4655546204698666e-05 1.0511372702289738e-04 - 11 -3.2194218121523431e-05 -2.2025090185602293e-04 2.0300208519292805e-04 - 12 1.2640585449263546e-04 -2.9851081600946745e-04 -7.9476186245575585e-05 - 13 8.4523551795102263e-05 -4.0583140303608199e-04 -4.7550925831931374e-05 - 14 9.9954071734163435e-05 -4.2610809338913835e-04 -7.9255453072661880e-05 - 15 2.4417483202629980e-04 -2.3521005781669047e-04 -2.4875292755152005e-04 - 16 -9.0959360838836724e-06 3.7773746063194780e-06 2.4035204669042463e-04 - 17 5.7507084250807628e-05 2.2629200960629336e-04 2.0686926033794547e-04 + 1 4.7093296226165726e-04 2.6351124312057366e-04 -4.4905063547614750e-04 + 2 4.9594635271877263e-04 9.4561409237139244e-05 -5.4581325723053519e-04 + 3 3.3306088119083079e-04 2.3224949911015511e-04 -2.3659435306900900e-04 + 4 3.3692332940286722e-04 2.1926824120529738e-04 -2.4716611858556574e-04 + 5 3.3642541894624012e-04 4.1797578053943767e-04 -1.8011323945929113e-04 + 6 2.0926870695908297e-04 2.6449376032441903e-05 -1.0508922741401427e-04 + 7 1.4629046128362941e-04 -1.6873362379723111e-04 -6.8353900724071745e-05 + 8 1.5844098346817935e-04 3.7728756087619165e-05 -1.9162577392849147e-05 + 9 2.1299357198252962e-04 1.6917133003966793e-04 -6.3528006071199972e-05 + 10 5.4261569071245965e-05 -9.4655546204698774e-05 1.0511372702289789e-04 + 11 -3.2194218121522970e-05 -2.2025090185602350e-04 2.0300208519292848e-04 + 12 1.2640585449263589e-04 -2.9851081600946756e-04 -7.9476186245575178e-05 + 13 8.4523551795102697e-05 -4.0583140303608210e-04 -4.7550925831930561e-05 + 14 9.9954071734164248e-05 -4.2610809338913878e-04 -7.9255453072661758e-05 + 15 2.4417483202630007e-04 -2.3521005781669015e-04 -2.4875292755151984e-04 + 16 -9.0959360838839976e-06 3.7773746063194848e-06 2.4035204669042588e-04 + 17 5.7507084250806896e-05 2.2629200960629374e-04 2.0686926033794661e-04 18 -6.0936815808025862e-04 -9.3774557532468582e-04 -3.3558072507805731e-04 19 -6.9919768291957119e-04 -3.6060777270430031e-03 4.2833405289822791e-03 20 4.7777805013736515e-03 5.1003745845520452e-03 1.8002873923729241e-03 diff --git a/unittest/force-styles/tests/fix-timestep-rigid_small.yaml b/unittest/force-styles/tests/fix-timestep-rigid_small.yaml index 92754f85f5..ed92a4e5a8 100644 --- a/unittest/force-styles/tests/fix-timestep-rigid_small.yaml +++ b/unittest/force-styles/tests/fix-timestep-rigid_small.yaml @@ -1,6 +1,7 @@ --- -lammps_version: 17 Feb 2022 -date_generated: Fri Mar 18 22:18:00 2022 +lammps_version: 7 Feb 2024 +tags: +date_generated: Thu Apr 4 21:27:15 2024 epsilon: 5e-13 skip_tests: prerequisites: ! | @@ -14,8 +15,8 @@ post_commands: ! | input_file: in.fourmol natoms: 29 run_stress: ! |- - -4.9200116134789873e+01 -2.6907707565987707e+01 -6.0080860422278581e+00 -2.5620423972101300e+01 -1.3450224059983967e+01 -1.4947288487003760e+00 -global_scalar: 18.3405601674144 + -4.9200116134788615e+01 -2.6907707565987401e+01 -6.0080860422276308e+00 -2.5620423972100241e+01 -1.3450224059984270e+01 -1.4947288487006070e+00 +global_scalar: 18.340560167414402 run_pos: ! |2 1 -2.7993683669226832e-01 2.4726588069312840e+00 -1.7200860244148433e-01 2 3.0197083955402204e-01 2.9515239068888608e+00 -8.5689735572907566e-01 @@ -34,15 +35,15 @@ run_pos: ! |2 15 2.9756315249791303e+00 5.6334269722969288e-01 -1.2437650754599008e+00 16 2.6517554244980306e+00 -2.3957110424978438e+00 3.2908335999178327e-02 17 2.2309964792710639e+00 -2.1022918943319384e+00 1.1491948328949437e+00 - 18 2.1392027588271301e+00 3.0171068018412779e+00 -3.5144628518856349e+00 - 19 1.5366124997074571e+00 2.6286809834111748e+00 -4.2452547844370221e+00 - 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352554e+00 - 21 4.9036621347791245e+00 -4.0757648442838548e+00 -3.6192617654515904e+00 - 22 4.3655322291888483e+00 -4.2084949965552561e+00 -4.4622011117402334e+00 - 23 5.7380414793463101e+00 -3.5841969195032672e+00 -3.8827839830470219e+00 + 18 2.1392027588271301e+00 3.0171068018412783e+00 -3.5144628518856353e+00 + 19 1.5366124997074575e+00 2.6286809834111740e+00 -4.2452547844370221e+00 + 20 2.7628161763455852e+00 3.6842251687634775e+00 -3.9370881219352558e+00 + 21 4.9036621347791236e+00 -4.0757648442838548e+00 -3.6192617654515908e+00 + 22 4.3655322291888474e+00 -4.2084949965552561e+00 -4.4622011117402343e+00 + 23 5.7380414793463110e+00 -3.5841969195032672e+00 -3.8827839830470219e+00 24 2.0701314765323930e+00 3.1499370533342330e+00 3.1565324852522938e+00 - 25 1.3030170721374779e+00 3.2711173927682249e+00 2.5081940917429768e+00 - 26 2.5776230782480045e+00 4.0127347068243875e+00 3.2182355138709275e+00 + 25 1.3030170721374787e+00 3.2711173927682244e+00 2.5081940917429759e+00 + 26 2.5776230782480041e+00 4.0127347068243884e+00 3.2182355138709284e+00 27 -1.9613581876744359e+00 -4.3556300596085160e+00 2.1101467673534788e+00 28 -2.7406520384725965e+00 -4.0207251278130975e+00 1.5828689861678511e+00 29 -1.3108232656499081e+00 -3.5992986322410760e+00 2.2680459788743503e+00 @@ -64,15 +65,15 @@ run_vel: ! |2 15 -4.3301707382721859e-03 -3.1802661664634938e-03 3.2037919043360571e-03 16 -9.6715751018414326e-05 -5.0016572678960377e-04 1.4945658875149626e-03 17 6.5692180538157174e-04 3.6635779995305095e-04 8.3495414466050911e-04 - 18 3.6149625095704914e-04 -3.1032459262908286e-04 8.1043030117346052e-04 - 19 8.5103884665345452e-04 -1.4572280596788108e-03 1.0163621287634116e-03 - 20 -6.5204659278590683e-04 4.3989037444289853e-04 4.9909839028507901e-04 - 21 -1.3888125881903923e-03 -3.1978049143082385e-04 1.1455681499836646e-03 - 22 -1.6084223477729510e-03 -1.5355394240821117e-03 1.4772010826232375e-03 - 23 2.6392672378805124e-04 -3.9375414431174821e-03 -3.6991583139728095e-04 - 24 8.6062827067890247e-04 -9.4179873474469237e-04 5.5396395550012453e-04 - 25 1.5933645477487538e-03 -2.2139156625681695e-03 -5.5078029695647401e-04 - 26 -1.5679561743998840e-03 3.5146224354726100e-04 2.4446924193334478e-03 + 18 3.6149625095704849e-04 -3.1032459262908286e-04 8.1043030117346052e-04 + 19 8.5103884665345473e-04 -1.4572280596788095e-03 1.0163621287634121e-03 + 20 -6.5204659278590661e-04 4.3989037444289755e-04 4.9909839028507901e-04 + 21 -1.3888125881903906e-03 -3.1978049143082342e-04 1.1455681499836646e-03 + 22 -1.6084223477729526e-03 -1.5355394240821163e-03 1.4772010826232394e-03 + 23 2.6392672378804821e-04 -3.9375414431174795e-03 -3.6991583139728377e-04 + 24 8.6062827067890269e-04 -9.4179873474469291e-04 5.5396395550012388e-04 + 25 1.5933645477487551e-03 -2.2139156625681673e-03 -5.5078029695647250e-04 + 26 -1.5679561743998888e-03 3.5146224354726068e-04 2.4446924193334487e-03 27 -2.6510179146429716e-04 3.6306203629019116e-04 -5.6235585400647747e-04 28 -2.3068708109787484e-04 -8.5663070212203200e-04 2.1302563179109169e-03 29 -2.5054744388303732e-03 -1.6773997805290820e-04 2.8436699761004796e-03 From f382eac5c26c1e5d6319e5269956a3d29e389671 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Fri, 5 Apr 2024 08:20:57 -0600 Subject: [PATCH 415/559] Update Kokkos library in LAMMPS to v4.3.0 --- lib/kokkos/CHANGELOG.md | 250 +++-- lib/kokkos/CMakeLists.txt | 4 +- lib/kokkos/Makefile.kokkos | 117 +-- lib/kokkos/Makefile.targets | 13 +- lib/kokkos/README.md | 8 +- lib/kokkos/SECURITY.md | 12 + lib/kokkos/Spack.md | 1 - lib/kokkos/algorithms/src/CMakeLists.txt | 4 +- lib/kokkos/algorithms/src/Kokkos_Random.hpp | 48 +- lib/kokkos/algorithms/src/Kokkos_Sort.hpp | 1 + .../algorithms/src/Kokkos_StdAlgorithms.hpp | 1 - .../src/sorting/Kokkos_SortByKeyPublicAPI.hpp | 117 +++ .../src/sorting/Kokkos_SortPublicAPI.hpp | 6 +- .../sorting/impl/Kokkos_NestedSortImpl.hpp | 3 +- .../src/sorting/impl/Kokkos_SortByKeyImpl.hpp | 401 ++++++++ .../src/sorting/impl/Kokkos_SortImpl.hpp | 42 + .../src/std_algorithms/Kokkos_Copy.hpp | 6 +- .../std_algorithms/Kokkos_CopyBackward.hpp | 6 +- .../src/std_algorithms/Kokkos_CopyIf.hpp | 8 +- .../src/std_algorithms/Kokkos_CopyN.hpp | 6 +- .../src/std_algorithms/Kokkos_Equal.hpp | 12 +- .../src/std_algorithms/Kokkos_IterSwap.hpp | 13 +- .../Kokkos_LexicographicalCompare.hpp | 15 +- .../src/std_algorithms/Kokkos_Move.hpp | 6 +- .../std_algorithms/Kokkos_MoveBackward.hpp | 6 +- .../src/std_algorithms/Kokkos_ReverseCopy.hpp | 6 +- .../src/std_algorithms/Kokkos_SwapRanges.hpp | 6 +- .../src/std_algorithms/Kokkos_Transform.hpp | 13 +- .../impl/Kokkos_FunctorsForExclusiveScan.hpp | 9 +- .../impl/Kokkos_RemoveAllVariants.hpp | 11 +- .../std_algorithms/impl/Kokkos_Reverse.hpp | 3 +- .../std_algorithms/impl/Kokkos_ShiftLeft.hpp | 5 +- .../std_algorithms/impl/Kokkos_ShiftRight.hpp | 25 +- .../std_algorithms/impl/Kokkos_SwapRanges.hpp | 3 +- .../src/std_algorithms/impl/Kokkos_Unique.hpp | 4 +- .../algorithms/unit_tests/CMakeLists.txt | 292 +++--- lib/kokkos/algorithms/unit_tests/Makefile | 14 +- .../algorithms/unit_tests/TestSortByKey.hpp | 241 +++++ .../unit_tests/TestStdAlgorithmsCommon.hpp | 8 - .../TestStdAlgorithmsExclusiveScan.cpp | 229 +++-- .../TestStdAlgorithmsInclusiveScan.cpp | 226 +++-- .../unit_tests/TestStdAlgorithmsIsSorted.cpp | 7 +- .../TestStdAlgorithmsIsSortedUntil.cpp | 19 +- .../unit_tests/TestStdAlgorithmsModOps.cpp | 48 +- .../TestStdAlgorithmsPartitionCopy.cpp | 6 +- .../TestStdAlgorithmsTeamCopyIf.cpp | 4 + .../TestStdAlgorithmsTeamExclusiveScan.cpp | 43 +- .../TestStdAlgorithmsTeamInclusiveScan.cpp | 44 +- .../TestStdAlgorithmsTeamRemoveCopy.cpp | 4 + .../TestStdAlgorithmsTeamRemoveCopyIf.cpp | 4 + ...tdAlgorithmsTeamTransformExclusiveScan.cpp | 41 +- ...tdAlgorithmsTeamTransformInclusiveScan.cpp | 41 +- .../TestStdAlgorithmsTeamUniqueCopy.cpp | 4 + ...estStdAlgorithmsTransformExclusiveScan.cpp | 92 +- ...estStdAlgorithmsTransformInclusiveScan.cpp | 106 +- .../algorithms/unit_tests/TestStdReducers.cpp | 32 +- lib/kokkos/benchmarks/CMakeLists.txt | 11 + lib/kokkos/benchmarks/atomic/CMakeLists.txt | 4 + .../benchmarks/bytes_and_flops/CMakeLists.txt | 4 + .../benchmarks/bytes_and_flops/bench.hpp | 12 +- .../bytes_and_flops/bench_double.cpp | 2 +- .../bytes_and_flops/bench_float.cpp | 2 +- .../bytes_and_flops/bench_int32_t.cpp | 2 +- .../bytes_and_flops/bench_int64_t.cpp | 2 +- .../bytes_and_flops/bench_stride.hpp | 16 +- .../bytes_and_flops/bench_unroll_stride.hpp | 2 +- .../benchmarks/bytes_and_flops/main.cpp | 4 +- lib/kokkos/benchmarks/gather/CMakeLists.txt | 4 + lib/kokkos/benchmarks/gather/gather.hpp | 16 +- .../benchmarks/gather/gather_unroll.hpp | 2 +- lib/kokkos/benchmarks/gather/main.cpp | 2 +- .../benchmarks/launch_latency/CMakeLists.txt | 4 + .../launch_latency/launch_latency.cpp | 283 ++++++ .../policy_performance/CMakeLists.txt | 4 + .../benchmarks/policy_performance/main.cpp | 5 +- .../policy_performance/policy_perf_test.hpp | 14 +- lib/kokkos/benchmarks/stream/CMakeLists.txt | 4 + lib/kokkos/bin/nvcc_wrapper | 2 +- lib/kokkos/cmake/KokkosConfig.cmake.in | 8 +- lib/kokkos/cmake/KokkosCore_config.h.in | 11 +- lib/kokkos/cmake/Modules/FindTPLCUDA.cmake | 3 +- lib/kokkos/cmake/Modules/FindTPLLIBRT.cmake | 1 - lib/kokkos/cmake/Modules/FindTPLMEMKIND.cmake | 1 - lib/kokkos/cmake/Modules/FindTPLONEDPL.cmake | 3 + .../cmake/Modules/FindTPLROCTHRUST.cmake | 15 + lib/kokkos/cmake/kokkos_arch.cmake | 155 +-- lib/kokkos/cmake/kokkos_compiler_id.cmake | 5 + lib/kokkos/cmake/kokkos_enable_options.cmake | 2 +- lib/kokkos/cmake/kokkos_pick_cxx_std.cmake | 1 + lib/kokkos/cmake/kokkos_test_cxx_std.cmake | 4 + lib/kokkos/cmake/kokkos_tpls.cmake | 25 +- lib/kokkos/cmake/kokkos_tribits.cmake | 15 +- lib/kokkos/config/test_all_sandia | 773 --------------- lib/kokkos/config/yaml/volta.yaml | 4 - lib/kokkos/containers/src/Kokkos_Bitset.hpp | 32 +- lib/kokkos/containers/src/Kokkos_DualView.hpp | 9 - .../containers/src/Kokkos_DynRankView.hpp | 15 +- .../containers/src/Kokkos_OffsetView.hpp | 11 +- .../containers/src/Kokkos_UnorderedMap.hpp | 34 +- .../src/impl/Kokkos_UnorderedMap_impl.hpp | 12 + lib/kokkos/containers/unit_tests/Makefile | 4 +- .../containers/unit_tests/TestBitset.hpp | 25 +- lib/kokkos/core/perf_test/CMakeLists.txt | 4 +- lib/kokkos/core/src/CMakeLists.txt | 17 +- lib/kokkos/core/src/Cuda/Kokkos_Cuda.hpp | 51 +- lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.cpp | 306 ++---- lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.hpp | 251 ++--- .../core/src/Cuda/Kokkos_Cuda_Error.hpp | 4 - .../src/Cuda/Kokkos_Cuda_GraphNodeKernel.hpp | 20 +- .../core/src/Cuda/Kokkos_Cuda_Instance.cpp | 528 ++++------ .../core/src/Cuda/Kokkos_Cuda_Instance.hpp | 89 +- .../src/Cuda/Kokkos_Cuda_KernelLaunch.hpp | 64 +- .../src/Cuda/Kokkos_Cuda_MDRangePolicy.hpp | 4 +- .../src/Cuda/Kokkos_Cuda_Parallel_MDRange.hpp | 18 +- .../src/Cuda/Kokkos_Cuda_Parallel_Range.hpp | 42 +- .../src/Cuda/Kokkos_Cuda_Parallel_Team.hpp | 91 +- .../core/src/Cuda/Kokkos_Cuda_ReduceScan.hpp | 9 +- lib/kokkos/core/src/Cuda/Kokkos_Cuda_Task.hpp | 61 +- .../core/src/Cuda/Kokkos_Cuda_UniqueToken.hpp | 1 - .../src/Cuda/Kokkos_Cuda_WorkGraphPolicy.hpp | 4 +- .../core/src/Cuda/Kokkos_Cuda_ZeroMemset.hpp | 13 +- lib/kokkos/core/src/HIP/Kokkos_HIP.cpp | 36 +- lib/kokkos/core/src/HIP/Kokkos_HIP.hpp | 14 +- .../src/HIP/Kokkos_HIP_GraphNodeKernel.hpp | 15 +- .../core/src/HIP/Kokkos_HIP_Instance.cpp | 119 +-- .../core/src/HIP/Kokkos_HIP_Instance.hpp | 3 +- .../HIP/Kokkos_HIP_ParallelFor_MDRange.hpp | 173 ++++ .../src/HIP/Kokkos_HIP_ParallelFor_Range.hpp | 100 ++ .../src/HIP/Kokkos_HIP_ParallelFor_Team.hpp | 177 ++++ ... => Kokkos_HIP_ParallelReduce_MDRange.hpp} | 146 +-- .../HIP/Kokkos_HIP_ParallelReduce_Range.hpp | 329 ++++++ .../HIP/Kokkos_HIP_ParallelReduce_Team.hpp | 394 ++++++++ ....hpp => Kokkos_HIP_ParallelScan_Range.hpp} | 378 +------ .../core/src/HIP/Kokkos_HIP_Parallel_Team.hpp | 936 ------------------ .../HIP/Kokkos_HIP_SharedAllocationRecord.cpp | 142 +-- .../HIP/Kokkos_HIP_SharedAllocationRecord.hpp | 119 +-- lib/kokkos/core/src/HIP/Kokkos_HIP_Space.cpp | 21 - lib/kokkos/core/src/HIP/Kokkos_HIP_Space.hpp | 40 +- .../src/HIP/Kokkos_HIP_TeamPolicyInternal.hpp | 421 ++++++++ .../core/src/HIP/Kokkos_HIP_UniqueToken.hpp | 1 - .../core/src/HIP/Kokkos_HIP_ZeroMemset.hpp | 10 +- lib/kokkos/core/src/HPX/Kokkos_HPX.cpp | 2 + lib/kokkos/core/src/HPX/Kokkos_HPX.hpp | 49 +- .../core/src/KokkosExp_MDRangePolicy.hpp | 112 ++- lib/kokkos/core/src/Kokkos_Array.hpp | 4 + lib/kokkos/core/src/Kokkos_Assert.hpp | 6 +- .../Kokkos_Atomics_Desul_Volatile_Wrapper.hpp | 2 +- .../core/src/Kokkos_Atomics_Desul_Wrapper.hpp | 2 +- lib/kokkos/core/src/Kokkos_Clamp.hpp | 41 + lib/kokkos/core/src/Kokkos_CopyViews.hpp | 57 +- lib/kokkos/core/src/Kokkos_Core.hpp | 9 +- lib/kokkos/core/src/Kokkos_Core_fwd.hpp | 13 - lib/kokkos/core/src/Kokkos_ExecPolicy.hpp | 213 +++- lib/kokkos/core/src/Kokkos_HBWSpace.hpp | 308 ------ lib/kokkos/core/src/Kokkos_HostSpace.hpp | 88 +- lib/kokkos/core/src/Kokkos_LogicalSpaces.hpp | 413 -------- lib/kokkos/core/src/Kokkos_Macros.hpp | 33 +- lib/kokkos/core/src/Kokkos_MasterLock.hpp | 56 -- .../core/src/Kokkos_MathematicalConstants.hpp | 18 - .../core/src/Kokkos_MathematicalFunctions.hpp | 45 +- ...kkos_MinMaxClamp.hpp => Kokkos_MinMax.hpp} | 34 +- lib/kokkos/core/src/Kokkos_Pair.hpp | 2 +- lib/kokkos/core/src/Kokkos_Printf.hpp | 13 +- .../src/Kokkos_Profiling_ProfileSection.hpp | 41 +- lib/kokkos/core/src/Kokkos_Swap.hpp | 68 ++ lib/kokkos/core/src/Kokkos_Tuners.hpp | 11 +- lib/kokkos/core/src/Kokkos_View.hpp | 126 ++- .../core/src/OpenACC/Kokkos_OpenACC.cpp | 4 +- .../core/src/OpenACC/Kokkos_OpenACC.hpp | 6 +- .../core/src/OpenACC/Kokkos_OpenACCSpace.cpp | 15 +- .../src/OpenACC/Kokkos_OpenACC_DeepCopy.hpp | 26 +- .../src/OpenACC/Kokkos_OpenACC_Instance.hpp | 4 +- .../Kokkos_OpenACC_ParallelReduce_MDRange.hpp | 12 +- .../Kokkos_OpenACC_ParallelReduce_Range.hpp | 4 +- .../Kokkos_OpenACC_ParallelReduce_Team.hpp | 7 +- .../Kokkos_OpenACC_SharedAllocationRecord.cpp | 89 +- .../Kokkos_OpenACC_SharedAllocationRecord.hpp | 52 +- .../core/src/OpenACC/Kokkos_OpenACC_Team.hpp | 6 +- lib/kokkos/core/src/OpenMP/Kokkos_OpenMP.cpp | 21 +- lib/kokkos/core/src/OpenMP/Kokkos_OpenMP.hpp | 44 +- .../src/OpenMP/Kokkos_OpenMP_Instance.cpp | 55 - .../src/OpenMP/Kokkos_OpenMP_Instance.hpp | 97 +- .../src/OpenMP/Kokkos_OpenMP_Parallel_For.hpp | 25 +- .../OpenMP/Kokkos_OpenMP_Parallel_Reduce.hpp | 24 - .../OpenMP/Kokkos_OpenMP_Parallel_Scan.hpp | 16 - .../src/OpenMPTarget/Kokkos_OpenMPTarget.hpp | 6 +- .../OpenMPTarget/Kokkos_OpenMPTargetSpace.cpp | 71 +- .../OpenMPTarget/Kokkos_OpenMPTargetSpace.hpp | 73 +- .../OpenMPTarget/Kokkos_OpenMPTarget_Exec.cpp | 6 + .../Kokkos_OpenMPTarget_Instance.cpp | 4 +- .../Kokkos_OpenMPTarget_Macros.hpp | 46 + .../Kokkos_OpenMPTarget_Parallel.hpp | 58 +- .../Kokkos_OpenMPTarget_ParallelFor_Team.hpp | 7 +- ...kkos_OpenMPTarget_ParallelReduce_Range.hpp | 6 +- ...okkos_OpenMPTarget_ParallelReduce_Team.hpp | 7 +- ...Kokkos_OpenMPTarget_ParallelScan_Range.hpp | 6 +- .../Kokkos_OpenMPTarget_Parallel_Common.hpp | 34 +- .../Kokkos_OpenMPTarget_Parallel_MDRange.hpp | 7 +- .../Kokkos_OpenMPTarget_Reducer.hpp | 1 - lib/kokkos/core/src/SYCL/Kokkos_SYCL.cpp | 87 +- lib/kokkos/core/src/SYCL/Kokkos_SYCL.hpp | 14 +- .../core/src/SYCL/Kokkos_SYCL_Instance.cpp | 116 ++- .../core/src/SYCL/Kokkos_SYCL_Instance.hpp | 8 +- .../SYCL/Kokkos_SYCL_ParallelFor_MDRange.hpp | 2 + .../SYCL/Kokkos_SYCL_ParallelFor_Range.hpp | 2 + .../src/SYCL/Kokkos_SYCL_ParallelFor_Team.hpp | 17 +- .../Kokkos_SYCL_ParallelReduce_MDRange.hpp | 41 +- .../SYCL/Kokkos_SYCL_ParallelReduce_Range.hpp | 35 +- .../SYCL/Kokkos_SYCL_ParallelReduce_Team.hpp | 78 +- .../SYCL/Kokkos_SYCL_ParallelScan_Range.hpp | 46 +- .../core/src/SYCL/Kokkos_SYCL_Space.cpp | 222 +---- .../core/src/SYCL/Kokkos_SYCL_Space.hpp | 201 +--- lib/kokkos/core/src/SYCL/Kokkos_SYCL_Team.hpp | 7 +- .../core/src/SYCL/Kokkos_SYCL_ZeroMemset.hpp | 9 +- lib/kokkos/core/src/Serial/Kokkos_Serial.cpp | 2 +- lib/kokkos/core/src/Serial/Kokkos_Serial.hpp | 5 +- .../Serial/Kokkos_Serial_Parallel_MDRange.hpp | 4 +- .../Serial/Kokkos_Serial_Parallel_Range.hpp | 4 +- .../Serial/Kokkos_Serial_Parallel_Team.hpp | 4 +- .../core/src/Serial/Kokkos_Serial_Task.hpp | 4 +- .../src/Serial/Kokkos_Serial_ZeroMemset.hpp | 14 +- .../core/src/Threads/Kokkos_Threads.hpp | 13 +- ...dsExec.cpp => Kokkos_Threads_Instance.cpp} | 454 +++------ ...dsExec.hpp => Kokkos_Threads_Instance.hpp} | 177 ++-- .../Kokkos_Threads_ParallelFor_MDRange.hpp | 34 +- .../Kokkos_Threads_ParallelFor_Range.hpp | 34 +- .../Kokkos_Threads_ParallelFor_Team.hpp | 14 +- .../Kokkos_Threads_ParallelReduce_MDRange.hpp | 40 +- .../Kokkos_Threads_ParallelReduce_Range.hpp | 44 +- .../Kokkos_Threads_ParallelReduce_Team.hpp | 16 +- .../Kokkos_Threads_ParallelScan_Range.hpp | 38 +- .../Kokkos_Threads_Spinwait.cpp} | 12 +- .../src/Threads/Kokkos_Threads_Spinwait.hpp} | 34 +- .../Kokkos_Threads_State.hpp} | 28 +- ...hreadsTeam.hpp => Kokkos_Threads_Team.hpp} | 64 +- .../Kokkos_Threads_WorkGraphPolicy.hpp | 11 +- .../core/src/decl/Kokkos_Declare_HBWSpace.hpp | 24 - .../core/src/decl/Kokkos_Declare_HIP.hpp | 10 +- .../core/src/decl/Kokkos_Declare_THREADS.hpp | 4 +- lib/kokkos/core/src/impl/Kokkos_Core.cpp | 256 ++--- .../core/src/impl/Kokkos_DeviceManagement.hpp | 8 +- lib/kokkos/core/src/impl/Kokkos_Error.cpp | 12 +- lib/kokkos/core/src/impl/Kokkos_Error.hpp | 5 +- lib/kokkos/core/src/impl/Kokkos_HBWSpace.cpp | 313 ------ .../impl/Kokkos_Half_FloatingPointWrapper.hpp | 114 +-- lib/kokkos/core/src/impl/Kokkos_HostSpace.cpp | 100 +- .../src/impl/Kokkos_HostSpace_ZeroMemset.hpp | 9 +- .../core/src/impl/Kokkos_HostThreadTeam.cpp | 1 - .../core/src/impl/Kokkos_HostThreadTeam.hpp | 2 +- .../impl/Kokkos_InitializationSettings.hpp | 85 +- .../core/src/impl/Kokkos_MemorySpace.cpp | 72 -- .../core/src/impl/Kokkos_MemorySpace.hpp | 71 -- .../core/src/impl/Kokkos_Memory_Fence.hpp | 54 - .../src/impl/Kokkos_Profiling_C_Interface.h | 4 +- .../src/impl/Kokkos_Profiling_Interface.hpp | 2 +- .../core/src/impl/Kokkos_SharedAlloc.cpp | 50 + .../core/src/impl/Kokkos_SharedAlloc.hpp | 164 ++- .../src/impl/Kokkos_SharedAlloc_timpl.hpp | 135 ++- lib/kokkos/core/src/impl/Kokkos_Spinwait.hpp | 109 -- lib/kokkos/core/src/impl/Kokkos_Utilities.hpp | 5 + lib/kokkos/core/src/impl/Kokkos_ViewArray.hpp | 13 +- .../core/src/impl/Kokkos_ViewDataAnalysis.hpp | 402 ++++++++ .../core/src/impl/Kokkos_ViewMapping.hpp | 688 +++---------- .../core/src/setup/Kokkos_Setup_SYCL.hpp | 11 +- .../core/src/traits/Kokkos_IndexTypeTrait.hpp | 2 +- .../traits/Kokkos_OccupancyControlTrait.hpp | 2 +- .../src/traits/Kokkos_PolicyTraitAdaptor.hpp | 4 +- .../core/src/traits/Kokkos_ScheduleTrait.hpp | 2 +- .../traits/Kokkos_WorkItemPropertyTrait.hpp | 2 +- lib/kokkos/core/unit_test/CMakeLists.txt | 78 +- lib/kokkos/core/unit_test/Makefile | 20 +- lib/kokkos/core/unit_test/TestAggregate.hpp | 30 +- lib/kokkos/core/unit_test/TestArray.cpp | 24 + .../core/unit_test/TestAtomicOperations.hpp | 74 ++ lib/kokkos/core/unit_test/TestAtomics.hpp | 4 +- .../unit_test/TestBitManipulationBuiltins.hpp | 14 +- lib/kokkos/core/unit_test/TestComplex.hpp | 20 +- lib/kokkos/core/unit_test/TestConcepts.hpp | 58 +- .../unit_test/TestDefaultDeviceTypeInit.hpp | 491 --------- .../core/unit_test/TestDeviceAndThreads.py | 39 +- .../core/unit_test/TestExecutionSpace.hpp | 8 +- .../core/unit_test/TestFunctorAnalysis.hpp | 56 +- .../core/unit_test/TestHalfOperators.hpp | 117 --- .../TestHostSharedPtrAccessOnDevice.hpp | 2 +- .../unit_test/TestInitializationSettings.cpp | 28 - .../TestJoinBackwardCompatibility.hpp | 5 +- .../core/unit_test/TestMDRangePolicyCTAD.cpp | 138 +++ .../TestMDRangePolicyConstructors.hpp | 56 +- .../unit_test/TestMathematicalFunctions.hpp | 115 +-- .../TestMathematicalSpecialFunctions.hpp | 77 +- .../unit_test/TestNonTrivialScalarTypes.hpp | 2 +- .../core/unit_test/TestNumericTraits.hpp | 180 ++-- .../unit_test/TestOccupancyControlTrait.hpp | 80 ++ .../TestParseCmdLineArgsAndEnvVars.cpp | 66 +- .../core/unit_test/TestRangePolicyCTAD.cpp | 150 +++ .../unit_test/TestRangePolicyConstructors.hpp | 126 +++ lib/kokkos/core/unit_test/TestReducers.hpp | 130 +++ lib/kokkos/core/unit_test/TestReducers_d.hpp | 14 + lib/kokkos/core/unit_test/TestSwap.hpp | 68 ++ lib/kokkos/core/unit_test/TestTeamBasic.hpp | 2 +- lib/kokkos/core/unit_test/TestTeamMDRange.hpp | 526 +++++++--- .../unit_test/TestTeamPolicyConstructors.hpp | 35 +- lib/kokkos/core/unit_test/TestTeamVector.hpp | 4 - lib/kokkos/core/unit_test/TestUtilities.hpp | 18 +- lib/kokkos/core/unit_test/TestViewAPI.hpp | 18 +- lib/kokkos/core/unit_test/TestViewAPI_d.hpp | 11 + lib/kokkos/core/unit_test/TestViewCopy_a.hpp | 34 + .../core/unit_test/TestViewCtorDimMatch.hpp | 513 +++------- .../TestViewEmptyRuntimeUnmanaged.hpp | 55 + .../core/unit_test/TestViewMapping_a.hpp | 251 +++-- .../core/unit_test/TestViewMapping_b.hpp | 14 +- .../unit_test/TestViewOutOfBoundsAccess.hpp | 175 ++++ .../unit_test/UnitTest_DeviceAndThreads.cpp | 46 +- .../test-code/test_config_arch_list.bash | 2 +- .../cuda/TestCuda_InterOp_StreamsMultiGPU.cpp | 268 +++++ .../core/unit_test/cuda/TestCuda_Spaces.cpp | 190 ++-- .../default/TestDefaultDeviceType.cpp | 9 +- .../default/TestDefaultDeviceTypeInit_1.cpp | 18 - .../default/TestDefaultDeviceTypeInit_10.cpp | 18 - .../default/TestDefaultDeviceTypeInit_11.cpp | 18 - .../default/TestDefaultDeviceTypeInit_12.cpp | 18 - .../default/TestDefaultDeviceTypeInit_13.cpp | 18 - .../default/TestDefaultDeviceTypeInit_14.cpp | 18 - .../default/TestDefaultDeviceTypeInit_15.cpp | 18 - .../default/TestDefaultDeviceTypeInit_16.cpp | 18 - .../default/TestDefaultDeviceTypeInit_17.cpp | 18 - .../default/TestDefaultDeviceTypeInit_18.cpp | 18 - .../default/TestDefaultDeviceTypeInit_2.cpp | 18 - .../default/TestDefaultDeviceTypeInit_3.cpp | 18 - .../default/TestDefaultDeviceTypeInit_4.cpp | 18 - .../default/TestDefaultDeviceTypeInit_5.cpp | 18 - .../default/TestDefaultDeviceTypeInit_6.cpp | 18 - .../default/TestDefaultDeviceTypeInit_7.cpp | 18 - .../default/TestDefaultDeviceTypeInit_8.cpp | 18 - .../default/TestDefaultDeviceTypeInit_9.cpp | 18 - .../hip/TestHIP_Memory_Requirements.cpp | 3 + .../core/unit_test/hip/TestHIP_Spaces.cpp | 176 ++-- .../incremental/Test01_execspace.hpp | 2 + .../openmp/TestOpenMP_PartitionMaster.cpp | 105 -- .../core/unit_test/sycl/TestSYCL_Spaces.cpp | 195 ++-- .../unit_test/tools/TestEventCorrectness.hpp | 24 +- .../unit_test/tools/TestLogicalSpaces.hpp | 177 ---- .../unit_test/tools/TestProfilingSection.cpp | 10 +- .../tutorial/01_hello_world/hello_world.cpp | 7 +- .../hello_world_lambda.cpp | 10 +- .../01_thread_teams/thread_teams.cpp | 10 +- .../thread_teams_lambda.cpp | 16 +- .../nested_parallel_for.cpp | 15 +- lib/kokkos/generate_makefile.bash | 21 +- lib/kokkos/gnu_generate_makefile.bash | 12 - lib/kokkos/master_history.txt | 1 + lib/kokkos/simd/src/Kokkos_SIMD_AVX2.hpp | 175 +++- lib/kokkos/simd/src/Kokkos_SIMD_AVX512.hpp | 142 ++- lib/kokkos/simd/src/Kokkos_SIMD_Common.hpp | 53 +- lib/kokkos/simd/src/Kokkos_SIMD_NEON.hpp | 118 ++- lib/kokkos/simd/src/Kokkos_SIMD_Scalar.hpp | 23 +- lib/kokkos/simd/unit_tests/TestSIMD.cpp | 1 + .../unit_tests/include/SIMDTesting_Ops.hpp | 161 +++ .../include/SIMDTesting_Utilities.hpp | 29 +- .../include/TestSIMD_GeneratorCtors.hpp | 8 +- .../unit_tests/include/TestSIMD_MathOps.hpp | 51 +- .../include/TestSIMD_Reductions.hpp | 184 ++++ .../unit_tests/include/TestSIMD_ShiftOps.hpp | 20 +- .../include/TestSIMD_WhereExpressions.hpp | 8 +- lib/kokkos/tpls/desul/Config.hpp.cmake.in | 2 + .../include/desul/atomics/Adapt_SYCL.hpp | 7 +- .../desul/atomics/Compare_Exchange.hpp | 3 + .../atomics/Compare_Exchange_OpenACC.hpp | 153 +++ .../desul/include/desul/atomics/Fetch_Op.hpp | 3 + .../desul/atomics/Fetch_Op_OpenACC.hpp | 431 ++++++++ .../desul/include/desul/atomics/Generic.hpp | 48 + .../include/desul/atomics/Lock_Array_SYCL.hpp | 80 +- .../desul/atomics/Lock_Based_Fetch_Op.hpp | 3 + .../atomics/Lock_Based_Fetch_Op_OpenACC.hpp | 81 ++ .../desul/include/desul/atomics/Macros.hpp | 28 + .../include/desul/atomics/Thread_Fence.hpp | 3 + .../desul/atomics/Thread_Fence_OpenACC.hpp | 25 + lib/kokkos/tpls/desul/src/Lock_Array_SYCL.cpp | 21 +- .../__p0009_bits/compressed_pair.hpp | 166 ++-- .../experimental/__p0009_bits/config.hpp | 9 +- .../experimental/__p0009_bits/extents.hpp | 68 +- .../experimental/__p0009_bits/layout_left.hpp | 78 +- .../__p0009_bits/layout_right.hpp | 78 +- .../__p0009_bits/layout_stride.hpp | 115 ++- .../experimental/__p0009_bits/mdspan.hpp | 65 +- .../experimental/__p1684_bits/mdarray.hpp | 70 +- .../__p2630_bits/strided_slice.hpp | 9 +- .../experimental/__p2630_bits/submdspan.hpp | 10 +- .../__p2630_bits/submdspan_extents.hpp | 2 - .../__p2630_bits/submdspan_mapping.hpp | 70 +- .../__p2642_bits/layout_padded.hpp | 793 +++++++++++++++ .../__p2642_bits/layout_padded_fwd.hpp | 117 +++ .../tpls/mdspan/include/mdspan/mdspan.hpp | 1 + 393 files changed, 13253 insertions(+), 12499 deletions(-) create mode 100644 lib/kokkos/SECURITY.md create mode 100644 lib/kokkos/algorithms/src/sorting/Kokkos_SortByKeyPublicAPI.hpp create mode 100644 lib/kokkos/algorithms/src/sorting/impl/Kokkos_SortByKeyImpl.hpp create mode 100644 lib/kokkos/algorithms/unit_tests/TestSortByKey.hpp create mode 100644 lib/kokkos/benchmarks/atomic/CMakeLists.txt create mode 100644 lib/kokkos/benchmarks/bytes_and_flops/CMakeLists.txt create mode 100644 lib/kokkos/benchmarks/gather/CMakeLists.txt create mode 100644 lib/kokkos/benchmarks/launch_latency/CMakeLists.txt create mode 100644 lib/kokkos/benchmarks/launch_latency/launch_latency.cpp create mode 100644 lib/kokkos/benchmarks/policy_performance/CMakeLists.txt create mode 100644 lib/kokkos/benchmarks/stream/CMakeLists.txt delete mode 100644 lib/kokkos/cmake/Modules/FindTPLLIBRT.cmake delete mode 100644 lib/kokkos/cmake/Modules/FindTPLMEMKIND.cmake create mode 100644 lib/kokkos/cmake/Modules/FindTPLROCTHRUST.cmake delete mode 100755 lib/kokkos/config/test_all_sandia delete mode 100644 lib/kokkos/config/yaml/volta.yaml create mode 100644 lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_MDRange.hpp create mode 100644 lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_Range.hpp create mode 100644 lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_Team.hpp rename lib/kokkos/core/src/HIP/{Kokkos_HIP_Parallel_MDRange.hpp => Kokkos_HIP_ParallelReduce_MDRange.hpp} (61%) create mode 100644 lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_Range.hpp create mode 100644 lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_Team.hpp rename lib/kokkos/core/src/HIP/{Kokkos_HIP_Parallel_Range.hpp => Kokkos_HIP_ParallelScan_Range.hpp} (50%) delete mode 100644 lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Team.hpp create mode 100644 lib/kokkos/core/src/HIP/Kokkos_HIP_TeamPolicyInternal.hpp create mode 100644 lib/kokkos/core/src/Kokkos_Clamp.hpp delete mode 100644 lib/kokkos/core/src/Kokkos_HBWSpace.hpp delete mode 100644 lib/kokkos/core/src/Kokkos_LogicalSpaces.hpp delete mode 100644 lib/kokkos/core/src/Kokkos_MasterLock.hpp rename lib/kokkos/core/src/{Kokkos_MinMaxClamp.hpp => Kokkos_MinMax.hpp} (83%) create mode 100644 lib/kokkos/core/src/Kokkos_Swap.hpp create mode 100644 lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Macros.hpp rename lib/kokkos/core/src/Threads/{Kokkos_ThreadsExec.cpp => Kokkos_Threads_Instance.cpp} (56%) rename lib/kokkos/core/src/Threads/{Kokkos_ThreadsExec.hpp => Kokkos_Threads_Instance.hpp} (76%) rename lib/kokkos/core/src/{impl/Kokkos_Spinwait.cpp => Threads/Kokkos_Threads_Spinwait.cpp} (90%) rename lib/kokkos/{algorithms/src/std_algorithms/Kokkos_Swap.hpp => core/src/Threads/Kokkos_Threads_Spinwait.hpp} (52%) rename lib/kokkos/core/src/{fwd/Kokkos_Fwd_HBWSpace.hpp => Threads/Kokkos_Threads_State.hpp} (59%) rename lib/kokkos/core/src/Threads/{Kokkos_ThreadsTeam.hpp => Kokkos_Threads_Team.hpp} (95%) delete mode 100644 lib/kokkos/core/src/decl/Kokkos_Declare_HBWSpace.hpp delete mode 100644 lib/kokkos/core/src/impl/Kokkos_HBWSpace.cpp delete mode 100644 lib/kokkos/core/src/impl/Kokkos_MemorySpace.cpp delete mode 100644 lib/kokkos/core/src/impl/Kokkos_MemorySpace.hpp delete mode 100644 lib/kokkos/core/src/impl/Kokkos_Memory_Fence.hpp delete mode 100644 lib/kokkos/core/src/impl/Kokkos_Spinwait.hpp create mode 100644 lib/kokkos/core/src/impl/Kokkos_ViewDataAnalysis.hpp delete mode 100644 lib/kokkos/core/unit_test/TestDefaultDeviceTypeInit.hpp create mode 100644 lib/kokkos/core/unit_test/TestMDRangePolicyCTAD.cpp create mode 100644 lib/kokkos/core/unit_test/TestOccupancyControlTrait.hpp create mode 100644 lib/kokkos/core/unit_test/TestRangePolicyCTAD.cpp create mode 100644 lib/kokkos/core/unit_test/TestSwap.hpp create mode 100644 lib/kokkos/core/unit_test/TestViewEmptyRuntimeUnmanaged.hpp create mode 100644 lib/kokkos/core/unit_test/TestViewOutOfBoundsAccess.hpp create mode 100644 lib/kokkos/core/unit_test/cuda/TestCuda_InterOp_StreamsMultiGPU.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_1.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_10.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_11.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_12.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_13.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_14.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_15.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_16.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_17.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_18.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_2.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_3.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_4.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_5.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_6.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_7.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_8.cpp delete mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_9.cpp delete mode 100644 lib/kokkos/core/unit_test/openmp/TestOpenMP_PartitionMaster.cpp delete mode 100644 lib/kokkos/core/unit_test/tools/TestLogicalSpaces.hpp create mode 100644 lib/kokkos/simd/unit_tests/include/TestSIMD_Reductions.hpp create mode 100644 lib/kokkos/tpls/desul/include/desul/atomics/Compare_Exchange_OpenACC.hpp create mode 100644 lib/kokkos/tpls/desul/include/desul/atomics/Fetch_Op_OpenACC.hpp create mode 100644 lib/kokkos/tpls/desul/include/desul/atomics/Lock_Based_Fetch_Op_OpenACC.hpp create mode 100644 lib/kokkos/tpls/desul/include/desul/atomics/Thread_Fence_OpenACC.hpp create mode 100644 lib/kokkos/tpls/mdspan/include/experimental/__p2642_bits/layout_padded.hpp create mode 100644 lib/kokkos/tpls/mdspan/include/experimental/__p2642_bits/layout_padded_fwd.hpp diff --git a/lib/kokkos/CHANGELOG.md b/lib/kokkos/CHANGELOG.md index 40e3c95f24..f7b8af7695 100644 --- a/lib/kokkos/CHANGELOG.md +++ b/lib/kokkos/CHANGELOG.md @@ -1,5 +1,105 @@ # CHANGELOG +## [4.3.00](https://github.com/kokkos/kokkos/tree/4.3.00) (2024-03-19) +[Full Changelog](https://github.com/kokkos/kokkos/compare/4.2.01...4.3.00) + +### Features: +* Add `Experimental::sort_by_key(exec, keys, values)` algorithm [\#6801](https://github.com/kokkos/kokkos/pull/6801) + +### Backend and Architecture Enhancements: + +#### CUDA: +* Experimental multi-GPU support (from the same process) [\#6782](https://github.com/kokkos/kokkos/pull/6782) +* Link against CUDA libraries even with KOKKOS_ENABLE_COMPILE_AS_CMAKE_LANGUAGE [\#6701](https://github.com/kokkos/kokkos/pull/6701) +* Don't use the compiler launcher script if the CMake compile language is CUDA. [\#6704](https://github.com/kokkos/kokkos/pull/6704) +* nvcc(wrapper): adding "long" and "short" versions for all flags [\#6615](https://github.com/kokkos/kokkos/pull/6615) + +#### HIP: + * Fix compilation when using amdclang (with ROCm >= 5.7) and RDC [\#6857](https://github.com/kokkos/kokkos/pull/6857) + * Use rocthrust for sorting, when available [\#6793](https://github.com/kokkos/kokkos/pull/6793) + +#### SYCL: +* We only support OneAPI SYCL implementation: add check during initialization + * Error out on initialization if the backend is different from `ext_oneapi_*` [\#6784](https://github.com/kokkos/kokkos/pull/6784) + * Filter GPU devices for `ext_onapi_*` GPU devices [\#6758](https://github.com/kokkos/kokkos/pull/6784) +* Performance Improvements + * Avoid unnecessary zero-memset of the scratch flags in SYCL [\#6739](https://github.com/kokkos/kokkos/pull/6739) + * Use host-pinned memory to copy reduction/scan result [\#6500](https://github.com/kokkos/kokkos/pull/6500) +* Address deprecations after oneAPI 2023.2.0 [\#6577](https://github.com/kokkos/kokkos/pull/6739) +* Make sure to call find_dependency for oneDPL if necessary [\#6870](https://github.com/kokkos/kokkos/pull/6870) + +#### OpenMPTarget: +* Use LLVM extensions for dynamic shared memory [\#6380](https://github.com/kokkos/kokkos/pull/6380) +* Guard scratch memory usage in ParallelReduce [\#6585 ](https://github.com/kokkos/kokkos/pull/6585) +* Update linker flags for Intel GPUs update [\#6735](https://github.com/kokkos/kokkos/pull/6735) +* Improve handling of printf on Intel GPUs [\#6652](https://github.com/kokkos/kokkos/pull/6652) + +#### OpenACC: +* Add atomics support [\#6446](https://github.com/kokkos/kokkos/pull/6446) +* Make the OpenACC backend asynchronous [\#6772](https://github.com/kokkos/kokkos/pull/6772) + +#### Threads: +* Add missing broadcast to TeamThreadRange parallel_scan [\#6601](https://github.com/kokkos/kokkos/pull/6446) + +#### OpenMP: +* Improve performance of view initializations and filling with zeros [\#6573](https://github.com/kokkos/kokkos/pull/6573) + +### General Enhancements + +* Improve performance of random number generation when using a normal distribution on GPUs [\#6556](https://github.com/kokkos/kokkos/pull/6556) +* Allocate temporary view with the user-provided execution space instance and do not initialize in `unique` algorithm [\#6598](https://github.com/kokkos/kokkos/pull/6598) +* Add deduction guide for `Kokkos::Array` [\#6373](https://github.com/kokkos/kokkos/pull/6373) +* Provide new public headers `` and `` [\#6687](https://github.com/kokkos/kokkos/pull/6687) +* Fix/improvement to `remove_if` parallel algorithm: use the provided execution space instance for temporary allocations and drop unnecessaryinitialization + avoid evaluating twice the predicate during final pass [\#6747](https://github.com/kokkos/kokkos/pull/6747) +* Add runtime function to query the number of devices and make device ID consistent with `KOKKOS_VISIBLE_DEVICES` [\#6713](https://github.com/kokkos/kokkos/pull/6713) +* simd: support `vector_aligned_tag` [\#6243](https://github.com/kokkos/kokkos/pull/6243) +* Avoid unnecessary allocation when default constructing Bitset [\#6524](https://github.com/kokkos/kokkos/pull/6524) +* Fix constness for views in std algorithms [\#6813](https://github.com/kokkos/kokkos/pull/6813) +* Improve error message on unsafe implicit conversion in MDRangePolicy [\#6855](https://github.com/kokkos/kokkos/pull/6855) +* CTAD (deduction guides) for RangePolicy [\#6850](https://github.com/kokkos/kokkos/pull/6850) +* CTAD (deduction guides) for MDRangePolicy [\#5516](https://github.com/kokkos/kokkos/pull/5516) + +### Build System Changes +* Require `Kokkos_ENABLE_ATOMICS_BYPASS` option to bypass atomic operation for Serial backend only builds [\#6692](https://github.com/kokkos/kokkos/pull/6692) +* Add support for RISCV and the Milk-V's Pioneer [\#6773](https://github.com/kokkos/kokkos/pull/6773) +* Add C++26 standard to CMake setup [\#6733](https://github.com/kokkos/kokkos/pull/6733) +* Fix Makefile when using gnu_generate_makefile.sh and make >= 4.3 [\#6606](https://github.com/kokkos/kokkos/pull/6606) +* Cuda: Fix configuring with CMake >= 3.28.4 - temporary fallback to internal CudaToolkit.cmake [\#6898](https://github.com/kokkos/kokkos/pull/6898) + +### Incompatibilities (i.e. breaking changes) +* Remove all `DEPRECATED_CODE_3` option and all code that was guarded by it [\#6523](https://github.com/kokkos/kokkos/pull/6523) +* Drop guards to accommodate external code defining `KOKKOS_ASSERT` [\#6665](https://github.com/kokkos/kokkos/pull/6665) +* `Profiling::ProfilingSection(std::string)` constructor marked explicit and nodiscard [\#6690](https://github.com/kokkos/kokkos/pull/6690) +* Add bound check preconditions for `RangePolicy` and `MDRangePolicy` [\#6617](https://github.com/kokkos/kokkos/pull/6617) [\#6726](https://github.com/kokkos/kokkos/pull/6726) +* Add checks for unsafe implicit conversions in RangePolicy [\#6754](https://github.com/kokkos/kokkos/pull/6754) +* Remove Kokkos::[b]half_t volatile overloads [\#6579](https://github.com/kokkos/kokkos/pull/6579) +* Remove KOKKOS_IMPL_DO_NOT_USE_PRINTF [\#6593](https://github.com/kokkos/kokkos/pull/6593) +* Check matching static extents in View constructor [\#5190 ](https://github.com/kokkos/kokkos/pull/5190) +* Tools(profiling): fix typo Kokkos_Tools_Optim[i]zationGoal [\#6642](https://github.com/kokkos/kokkos/pull/6642) +* Remove variadic range policy constructor (disallow passing multiple trailing chunk size arguments) [\#6845](https://github.com/kokkos/kokkos/pull/6845) +* Improve message on view out of bounds access and always abort [\#6861](https://github.com/kokkos/kokkos/pull/6861) +* Drop `KOKKOS_ENABLE_INTEL_MM_ALLOC` macro [\#6797](https://github.com/kokkos/kokkos/pull/6797) +* Remove `Kokkos::Experimental::LogicalMemorySpace` (without going through deprecation) [\#6557](https://github.com/kokkos/kokkos/pull/6557) +* Remove `Experimental::HBWSpace` and support for linking against memkind [\#6791](https://github.com/kokkos/kokkos/pull/6791) +* Drop librt TPL and associated `KOKKOS_ENABLE_LIBRT` macro [\#6798](https://github.com/kokkos/kokkos/pull/6798) +* Drop support for old CPU architectures (`ARCH_BGQ`, `ARCH_POWER7`, `ARCH_WSM` and associated `ARCH_SSE4` macro) [\#6806](https://github.com/kokkos/kokkos/pull/6806) +* Drop support for deprecated command-line arguments and environment variables [\#6744](https://github.com/kokkos/kokkos/pull/6744) + +### Deprecations +* Provide kokkos_swap as part of Core and deprecate Experimental::swap in Algorithms [\#6697](https://github.com/kokkos/kokkos/pull/6697) +* Deprecate {Cuda,HIP}::detect_device_count() and Cuda::[detect_]device_arch() [\#6710](https://github.com/kokkos/kokkos/pull/6710) +* Deprecate `ExecutionSpace::in_parallel()` [\#6582](https://github.com/kokkos/kokkos/pull/6582) + +### Bug Fixes +* Fix team-level MDRange reductions: [\#6511](https://github.com/kokkos/kokkos/pull/6511) +* Fix CUDA and SYCL small value type (16-bit) team reductions [\#5334](https://github.com/kokkos/kokkos/pull/5334) +* Enable `{transform_}exclusive_scan` in place [\#6667](https://github.com/kokkos/kokkos/pull/6667) +* `fill_random` overload that do not take an execution space instance argument should fence [\#6658](https://github.com/kokkos/kokkos/pull/6658) +* HIP,Cuda,OpenMPTarget: Fixup use provided execution space when copying host inaccessible reduction result [\#6777](https://github.com/kokkos/kokkos/pull/6777) +* Fix typo in `cuda_func_set_attribute[s]_wrapper` preventing proper setting of desired occupancy [\#6786](https://github.com/kokkos/kokkos/pull/6786) +* Avoid undefined behavior due to conversion between signed and unsigned integers in shift_{right, left}_team_impl [\#6821](https://github.com/kokkos/kokkos/pull/6821) +* Fix a bug in Makefile.kokkos when using AMD GPU architectures as `AMD_GFXYYY` [\#6892](https://github.com/kokkos/kokkos/pull/6892) + ## [4.2.01](https://github.com/kokkos/kokkos/tree/4.2.01) (2023-12-07) [Full Changelog](https://github.com/kokkos/kokkos/compare/4.2.00...4.2.01) @@ -999,95 +1099,95 @@ - Major update for OpenMPTarget: many capabilities now work. For details contact us. - Added DPC++/SYCL backend: primary capabilites are working. - Added Kokkos Graph API analogous to CUDA Graphs. -- Added parallel_scan support with TeamThreadRange [\#3536](https://github.com/kokkos/kokkos/pull/#3536) -- Added Logical Memory Spaces [\#3546](https://github.com/kokkos/kokkos/pull/#3546) -- Added initial half precision support [\#3439](https://github.com/kokkos/kokkos/pull/#3439) -- Experimental feature: control cuda occupancy [\#3379](https://github.com/kokkos/kokkos/pull/#3379) +- Added parallel_scan support with TeamThreadRange [\#3536](https://github.com/kokkos/kokkos/pull/3536) +- Added Logical Memory Spaces [\#3546](https://github.com/kokkos/kokkos/pull/3546) +- Added initial half precision support [\#3439](https://github.com/kokkos/kokkos/pull/3439) +- Experimental feature: control cuda occupancy [\#3379](https://github.com/kokkos/kokkos/pull/3379) **Implemented enhancements Backends and Archs:** -- Add a64fx and fujitsu Compiler support [\#3614](https://github.com/kokkos/kokkos/pull/#3614) -- Adding support for AMD gfx908 archictecture [\#3375](https://github.com/kokkos/kokkos/pull/#3375) -- SYCL parallel\_for MDRangePolicy [\#3583](https://github.com/kokkos/kokkos/pull/#3583) -- SYCL add parallel\_scan [\#3577](https://github.com/kokkos/kokkos/pull/#3577) -- SYCL custom reductions [\#3544](https://github.com/kokkos/kokkos/pull/#3544) -- SYCL Enable container unit tests [\#3550](https://github.com/kokkos/kokkos/pull/#3550) -- SYCL feature level 5 [\#3480](https://github.com/kokkos/kokkos/pull/#3480) -- SYCL Feature level 4 (parallel\_for) [\#3474](https://github.com/kokkos/kokkos/pull/#3474) -- SYCL feature level 3 [\#3451](https://github.com/kokkos/kokkos/pull/#3451) -- SYCL feature level 2 [\#3447](https://github.com/kokkos/kokkos/pull/#3447) -- OpenMPTarget: Hierarchial reduction for + operator on scalars [\#3504](https://github.com/kokkos/kokkos/pull/#3504) -- OpenMPTarget hierarchical [\#3411](https://github.com/kokkos/kokkos/pull/#3411) -- HIP Add Impl::atomic\_[store,load] [\#3440](https://github.com/kokkos/kokkos/pull/#3440) -- HIP enable global lock arrays [\#3418](https://github.com/kokkos/kokkos/pull/#3418) -- HIP Implement multiple occupancy paths for various HIP kernel launchers [\#3366](https://github.com/kokkos/kokkos/pull/#3366) +- Add a64fx and fujitsu Compiler support [\#3614](https://github.com/kokkos/kokkos/pull/3614) +- Adding support for AMD gfx908 archictecture [\#3375](https://github.com/kokkos/kokkos/pull/3375) +- SYCL parallel\_for MDRangePolicy [\#3583](https://github.com/kokkos/kokkos/pull/3583) +- SYCL add parallel\_scan [\#3577](https://github.com/kokkos/kokkos/pull/3577) +- SYCL custom reductions [\#3544](https://github.com/kokkos/kokkos/pull/3544) +- SYCL Enable container unit tests [\#3550](https://github.com/kokkos/kokkos/pull/3550) +- SYCL feature level 5 [\#3480](https://github.com/kokkos/kokkos/pull/3480) +- SYCL Feature level 4 (parallel\_for) [\#3474](https://github.com/kokkos/kokkos/pull/3474) +- SYCL feature level 3 [\#3451](https://github.com/kokkos/kokkos/pull/3451) +- SYCL feature level 2 [\#3447](https://github.com/kokkos/kokkos/pull/3447) +- OpenMPTarget: Hierarchial reduction for + operator on scalars [\#3504](https://github.com/kokkos/kokkos/pull/3504) +- OpenMPTarget hierarchical [\#3411](https://github.com/kokkos/kokkos/pull/3411) +- HIP Add Impl::atomic\_[store,load] [\#3440](https://github.com/kokkos/kokkos/pull/3440) +- HIP enable global lock arrays [\#3418](https://github.com/kokkos/kokkos/pull/3418) +- HIP Implement multiple occupancy paths for various HIP kernel launchers [\#3366](https://github.com/kokkos/kokkos/pull/3366) **Implemented enhancements Policies:** -- MDRangePolicy: Let it be semiregular [\#3494](https://github.com/kokkos/kokkos/pull/#3494) -- MDRangePolicy: Check narrowing conversion in construction [\#3527](https://github.com/kokkos/kokkos/pull/#3527) -- MDRangePolicy: CombinedReducers support [\#3395](https://github.com/kokkos/kokkos/pull/#3395) -- Kokkos Graph: Interface and Default Implementation [\#3362](https://github.com/kokkos/kokkos/pull/#3362) -- Kokkos Graph: add Cuda Graph implementation [\#3369](https://github.com/kokkos/kokkos/pull/#3369) -- TeamPolicy: implemented autotuning of team sizes and vector lengths [\#3206](https://github.com/kokkos/kokkos/pull/#3206) -- RangePolicy: Initialize all data members in default constructor [\#3509](https://github.com/kokkos/kokkos/pull/#3509) +- MDRangePolicy: Let it be semiregular [\#3494](https://github.com/kokkos/kokkos/pull/3494) +- MDRangePolicy: Check narrowing conversion in construction [\#3527](https://github.com/kokkos/kokkos/pull/3527) +- MDRangePolicy: CombinedReducers support [\#3395](https://github.com/kokkos/kokkos/pull/3395) +- Kokkos Graph: Interface and Default Implementation [\#3362](https://github.com/kokkos/kokkos/pull/3362) +- Kokkos Graph: add Cuda Graph implementation [\#3369](https://github.com/kokkos/kokkos/pull/3369) +- TeamPolicy: implemented autotuning of team sizes and vector lengths [\#3206](https://github.com/kokkos/kokkos/pull/3206) +- RangePolicy: Initialize all data members in default constructor [\#3509](https://github.com/kokkos/kokkos/pull/3509) **Implemented enhancements BuildSystem:** -- Auto-generate core test files for all backends [\#3488](https://github.com/kokkos/kokkos/pull/#3488) -- Avoid rewriting test files when calling cmake [\#3548](https://github.com/kokkos/kokkos/pull/#3548) -- RULE\_LAUNCH\_COMPILE and RULE\_LAUNCH\_LINK system for nvcc\_wrapper [\#3136](https://github.com/kokkos/kokkos/pull/#3136) -- Adding -include as a known argument to nvcc\_wrapper [\#3434](https://github.com/kokkos/kokkos/pull/#3434) -- Install hpcbind script [\#3402](https://github.com/kokkos/kokkos/pull/#3402) -- cmake/kokkos\_tribits.cmake: add parsing for args [\#3457](https://github.com/kokkos/kokkos/pull/#3457) +- Auto-generate core test files for all backends [\#3488](https://github.com/kokkos/kokkos/pull/3488) +- Avoid rewriting test files when calling cmake [\#3548](https://github.com/kokkos/kokkos/pull/3548) +- RULE\_LAUNCH\_COMPILE and RULE\_LAUNCH\_LINK system for nvcc\_wrapper [\#3136](https://github.com/kokkos/kokkos/pull/3136) +- Adding -include as a known argument to nvcc\_wrapper [\#3434](https://github.com/kokkos/kokkos/pull/3434) +- Install hpcbind script [\#3402](https://github.com/kokkos/kokkos/pull/3402) +- cmake/kokkos\_tribits.cmake: add parsing for args [\#3457](https://github.com/kokkos/kokkos/pull/3457) **Implemented enhancements Tools:** -- Changed namespacing of Kokkos::Tools::Impl::Impl::tune\_policy [\#3455](https://github.com/kokkos/kokkos/pull/#3455) -- Delegate to an impl allocate/deallocate method to allow specifying a SpaceHandle for MemorySpaces [\#3530](https://github.com/kokkos/kokkos/pull/#3530) -- Use the Kokkos Profiling interface rather than the Impl interface [\#3518](https://github.com/kokkos/kokkos/pull/#3518) -- Runtime option for tuning [\#3459](https://github.com/kokkos/kokkos/pull/#3459) -- Dual View Tool Events [\#3326](https://github.com/kokkos/kokkos/pull/#3326) +- Changed namespacing of Kokkos::Tools::Impl::Impl::tune\_policy [\#3455](https://github.com/kokkos/kokkos/pull/3455) +- Delegate to an impl allocate/deallocate method to allow specifying a SpaceHandle for MemorySpaces [\#3530](https://github.com/kokkos/kokkos/pull/3530) +- Use the Kokkos Profiling interface rather than the Impl interface [\#3518](https://github.com/kokkos/kokkos/pull/3518) +- Runtime option for tuning [\#3459](https://github.com/kokkos/kokkos/pull/3459) +- Dual View Tool Events [\#3326](https://github.com/kokkos/kokkos/pull/3326) **Implemented enhancements Other:** -- Abort on errors instead of just printing [\#3528](https://github.com/kokkos/kokkos/pull/#3528) -- Enable C++14 macros unconditionally [\#3449](https://github.com/kokkos/kokkos/pull/#3449) -- Make ViewMapping trivially copyable [\#3436](https://github.com/kokkos/kokkos/pull/#3436) -- Rename struct ViewMapping to class [\#3435](https://github.com/kokkos/kokkos/pull/#3435) -- Replace enums in Kokkos\_ViewMapping.hpp (removes -Wextra) [\#3422](https://github.com/kokkos/kokkos/pull/#3422) -- Use bool for enums representing bools [\#3416](https://github.com/kokkos/kokkos/pull/#3416) -- Fence active instead of default execution space instances [\#3388](https://github.com/kokkos/kokkos/pull/#3388) -- Refactor parallel\_reduce fence usage [\#3359](https://github.com/kokkos/kokkos/pull/#3359) -- Moved Space EBO helpers to Kokkos\_EBO [\#3357](https://github.com/kokkos/kokkos/pull/#3357) -- Add remove\_cvref type trait [\#3340](https://github.com/kokkos/kokkos/pull/#3340) -- Adding identity type traits and update definition of identity\_t alias [\#3339](https://github.com/kokkos/kokkos/pull/#3339) -- Add is\_specialization\_of type trait [\#3338](https://github.com/kokkos/kokkos/pull/#3338) -- Make ScratchMemorySpace semi-regular [\#3309](https://github.com/kokkos/kokkos/pull/#3309) -- Optimize min/max atomics with early exit on no-op case [\#3265](https://github.com/kokkos/kokkos/pull/#3265) -- Refactor Backend Development [\#2941](https://github.com/kokkos/kokkos/pull/#2941) +- Abort on errors instead of just printing [\#3528](https://github.com/kokkos/kokkos/pull/3528) +- Enable C++14 macros unconditionally [\#3449](https://github.com/kokkos/kokkos/pull/3449) +- Make ViewMapping trivially copyable [\#3436](https://github.com/kokkos/kokkos/pull/3436) +- Rename struct ViewMapping to class [\#3435](https://github.com/kokkos/kokkos/pull/3435) +- Replace enums in Kokkos\_ViewMapping.hpp (removes -Wextra) [\#3422](https://github.com/kokkos/kokkos/pull/3422) +- Use bool for enums representing bools [\#3416](https://github.com/kokkos/kokkos/pull/3416) +- Fence active instead of default execution space instances [\#3388](https://github.com/kokkos/kokkos/pull/3388) +- Refactor parallel\_reduce fence usage [\#3359](https://github.com/kokkos/kokkos/pull/3359) +- Moved Space EBO helpers to Kokkos\_EBO [\#3357](https://github.com/kokkos/kokkos/pull/3357) +- Add remove\_cvref type trait [\#3340](https://github.com/kokkos/kokkos/pull/3340) +- Adding identity type traits and update definition of identity\_t alias [\#3339](https://github.com/kokkos/kokkos/pull/3339) +- Add is\_specialization\_of type trait [\#3338](https://github.com/kokkos/kokkos/pull/3338) +- Make ScratchMemorySpace semi-regular [\#3309](https://github.com/kokkos/kokkos/pull/3309) +- Optimize min/max atomics with early exit on no-op case [\#3265](https://github.com/kokkos/kokkos/pull/3265) +- Refactor Backend Development [\#2941](https://github.com/kokkos/kokkos/pull/2941) **Fixed bugs:** -- Fixup MDRangePolicy construction from Kokkos arrays [\#3591](https://github.com/kokkos/kokkos/pull/#3591) -- Add atomic functions for unsigned long long using gcc built-in [\#3588](https://github.com/kokkos/kokkos/pull/#3588) -- Fixup silent pointless comparison with zero in checked\_narrow\_cast (compiler workaround) [\#3566](https://github.com/kokkos/kokkos/pull/#3566) -- Fixes for ROCm 3.9 [\#3565](https://github.com/kokkos/kokkos/pull/#3565) -- Fix windows build issues which crept in for the CUDA build [\#3532](https://github.com/kokkos/kokkos/pull/#3532) -- HIP Fix atomics of large data types and clean up lock arrays [\#3529](https://github.com/kokkos/kokkos/pull/#3529) -- Pthreads fix exception resulting from 0 grain size [\#3510](https://github.com/kokkos/kokkos/pull/#3510) -- Fixup do not require atomic operation to be default constructible [\#3503](https://github.com/kokkos/kokkos/pull/#3503) -- Fix race condition in HIP backend [\#3467](https://github.com/kokkos/kokkos/pull/#3467) -- Replace KOKKOS\_DEBUG with KOKKOS\_ENABLE\_DEBUG [\#3458](https://github.com/kokkos/kokkos/pull/#3458) -- Fix multi-stream team scratch space definition for HIP [\#3398](https://github.com/kokkos/kokkos/pull/#3398) -- HIP fix template deduction [\#3393](https://github.com/kokkos/kokkos/pull/#3393) -- Fix compiling with HIP and C++17 [\#3390](https://github.com/kokkos/kokkos/pull/#3390) -- Fix sigFPE in HIP blocksize deduction [\#3378](https://github.com/kokkos/kokkos/pull/#3378) -- Type alias change: replace CS with CTS to avoid conflicts with NVSHMEM [\#3348](https://github.com/kokkos/kokkos/pull/#3348) -- Clang compilation of CUDA backend on Windows [\#3345](https://github.com/kokkos/kokkos/pull/#3345) -- Fix HBW support [\#3343](https://github.com/kokkos/kokkos/pull/#3343) -- Added missing fences to unique token [\#3260](https://github.com/kokkos/kokkos/pull/#3260) +- Fixup MDRangePolicy construction from Kokkos arrays [\#3591](https://github.com/kokkos/kokkos/pull/3591) +- Add atomic functions for unsigned long long using gcc built-in [\#3588](https://github.com/kokkos/kokkos/pull/3588) +- Fixup silent pointless comparison with zero in checked\_narrow\_cast (compiler workaround) [\#3566](https://github.com/kokkos/kokkos/pull/3566) +- Fixes for ROCm 3.9 [\#3565](https://github.com/kokkos/kokkos/pull/3565) +- Fix windows build issues which crept in for the CUDA build [\#3532](https://github.com/kokkos/kokkos/pull/3532) +- HIP Fix atomics of large data types and clean up lock arrays [\#3529](https://github.com/kokkos/kokkos/pull/3529) +- Pthreads fix exception resulting from 0 grain size [\#3510](https://github.com/kokkos/kokkos/pull/3510) +- Fixup do not require atomic operation to be default constructible [\#3503](https://github.com/kokkos/kokkos/pull/3503) +- Fix race condition in HIP backend [\#3467](https://github.com/kokkos/kokkos/pull/3467) +- Replace KOKKOS\_DEBUG with KOKKOS\_ENABLE\_DEBUG [\#3458](https://github.com/kokkos/kokkos/pull/3458) +- Fix multi-stream team scratch space definition for HIP [\#3398](https://github.com/kokkos/kokkos/pull/3398) +- HIP fix template deduction [\#3393](https://github.com/kokkos/kokkos/pull/3393) +- Fix compiling with HIP and C++17 [\#3390](https://github.com/kokkos/kokkos/pull/3390) +- Fix sigFPE in HIP blocksize deduction [\#3378](https://github.com/kokkos/kokkos/pull/3378) +- Type alias change: replace CS with CTS to avoid conflicts with NVSHMEM [\#3348](https://github.com/kokkos/kokkos/pull/3348) +- Clang compilation of CUDA backend on Windows [\#3345](https://github.com/kokkos/kokkos/pull/3345) +- Fix HBW support [\#3343](https://github.com/kokkos/kokkos/pull/3343) +- Added missing fences to unique token [\#3260](https://github.com/kokkos/kokkos/pull/3260) **Incompatibilities:** -- Remove unused utilities (forward, move, and expand\_variadic) from Kokkos::Impl [\#3535](https://github.com/kokkos/kokkos/pull/#3535) -- Remove unused traits [\#3534](https://github.com/kokkos/kokkos/pull/#3534) -- HIP: Remove old HCC code [\#3301](https://github.com/kokkos/kokkos/pull/#3301) -- Prepare for deprecation of ViewAllocateWithoutInitializing [\#3264](https://github.com/kokkos/kokkos/pull/#3264) -- Remove ROCm backend [\#3148](https://github.com/kokkos/kokkos/pull/#3148) +- Remove unused utilities (forward, move, and expand\_variadic) from Kokkos::Impl [\#3535](https://github.com/kokkos/kokkos/pull/3535) +- Remove unused traits [\#3534](https://github.com/kokkos/kokkos/pull/3534) +- HIP: Remove old HCC code [\#3301](https://github.com/kokkos/kokkos/pull/3301) +- Prepare for deprecation of ViewAllocateWithoutInitializing [\#3264](https://github.com/kokkos/kokkos/pull/3264) +- Remove ROCm backend [\#3148](https://github.com/kokkos/kokkos/pull/3148) ## [3.2.01](https://github.com/kokkos/kokkos/tree/3.2.01) (2020-11-17) [Full Changelog](https://github.com/kokkos/kokkos/compare/3.2.00...3.2.01) diff --git a/lib/kokkos/CMakeLists.txt b/lib/kokkos/CMakeLists.txt index 4a4e7a5501..93a796f200 100644 --- a/lib/kokkos/CMakeLists.txt +++ b/lib/kokkos/CMakeLists.txt @@ -150,8 +150,8 @@ ENDIF() set(Kokkos_VERSION_MAJOR 4) -set(Kokkos_VERSION_MINOR 2) -set(Kokkos_VERSION_PATCH 1) +set(Kokkos_VERSION_MINOR 3) +set(Kokkos_VERSION_PATCH 0) set(Kokkos_VERSION "${Kokkos_VERSION_MAJOR}.${Kokkos_VERSION_MINOR}.${Kokkos_VERSION_PATCH}") message(STATUS "Kokkos version: ${Kokkos_VERSION}") 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 393422d73c..a167ce2070 100644 --- a/lib/kokkos/Makefile.kokkos +++ b/lib/kokkos/Makefile.kokkos @@ -11,8 +11,8 @@ CXXFLAGS += $(SHFLAGS) endif KOKKOS_VERSION_MAJOR = 4 -KOKKOS_VERSION_MINOR = 2 -KOKKOS_VERSION_PATCH = 1 +KOKKOS_VERSION_MINOR = 3 +KOKKOS_VERSION_PATCH = 0 KOKKOS_VERSION = $(shell echo $(KOKKOS_VERSION_MAJOR)*10000+$(KOKKOS_VERSION_MINOR)*100+$(KOKKOS_VERSION_PATCH) | bc) # Options: Cuda,HIP,SYCL,OpenMPTarget,OpenMP,Threads,Serial @@ -22,14 +22,14 @@ KOKKOS_DEVICES ?= "OpenMP" # Intel: KNC,KNL,SNB,HSW,BDW,SKL,SKX,ICL,ICX,SPR # NVIDIA: Kepler,Kepler30,Kepler32,Kepler35,Kepler37,Maxwell,Maxwell50,Maxwell52,Maxwell53,Pascal60,Pascal61,Volta70,Volta72,Turing75,Ampere80,Ampere86,Ada89,Hopper90 # ARM: ARMv80,ARMv81,ARMv8-ThunderX,ARMv8-TX2,A64FX -# IBM: BGQ,Power7,Power8,Power9 -# AMD-GPUS: GFX906,GFX908,GFX90A,GFX940,GFX942,GFX1030,GFX1100 +# IBM: Power8,Power9 +# AMD-GPUS: AMD_GFX906,AMD_GFX908,AMD_GFX90A,AMD_GFX940,AMD_GFX942,AMD_GFX1030,AMD_GFX1100 # AMD-CPUS: AMDAVX,Zen,Zen2,Zen3 # Intel-GPUs: Gen9,Gen11,Gen12LP,DG1,XeHP,PVC KOKKOS_ARCH ?= "" # Options: yes,no KOKKOS_DEBUG ?= "no" -# Options: hwloc,librt,experimental_memkind +# Options: hwloc KOKKOS_USE_TPLS ?= "" # Options: c++17,c++1z,c++20,c++2a,c++23,c++2b KOKKOS_CXX_STANDARD ?= "c++17" @@ -56,7 +56,7 @@ uppercase_internal=$(if $1,$$(subst $(firstword $1),$(call uppercase_internal,$( uppercase=$(eval uppercase_RESULT:=$(call uppercase_internal,$(uppercase_TABLE),$1))$(uppercase_RESULT) # Return a 1 if a string contains a substring and 0 if not # Note the search string should be without '"' -# Example: $(call kokkos_has_string,"hwloc,librt",hwloc) +# Example: $(call kokkos_has_string,"hwloc,libdl",hwloc) # Will return a 1 kokkos_has_string=$(if $(findstring $(call uppercase,$2),$(call uppercase,$1)),1,0) # Returns 1 if the path exists, 0 otherwise @@ -73,11 +73,11 @@ KOKKOS_INTERNAL_ENABLE_CXX20 := $(call kokkos_has_string,$(KOKKOS_CXX_STANDARD), KOKKOS_INTERNAL_ENABLE_CXX2A := $(call kokkos_has_string,$(KOKKOS_CXX_STANDARD),c++2a) KOKKOS_INTERNAL_ENABLE_CXX23 := $(call kokkos_has_string,$(KOKKOS_CXX_STANDARD),c++23) KOKKOS_INTERNAL_ENABLE_CXX2B := $(call kokkos_has_string,$(KOKKOS_CXX_STANDARD),c++2b) +KOKKOS_INTERNAL_ENABLE_CXX26 := $(call kokkos_has_string,$(KOKKOS_CXX_STANDARD),c++26) +KOKKOS_INTERNAL_ENABLE_CXX2C := $(call kokkos_has_string,$(KOKKOS_CXX_STANDARD),c++2c) # Check for external libraries. KOKKOS_INTERNAL_USE_HWLOC := $(call kokkos_has_string,$(KOKKOS_USE_TPLS),hwloc) -KOKKOS_INTERNAL_USE_LIBRT := $(call kokkos_has_string,$(KOKKOS_USE_TPLS),librt) -KOKKOS_INTERNAL_USE_MEMKIND := $(call kokkos_has_string,$(KOKKOS_USE_TPLS),experimental_memkind) # Check for advanced settings. KOKKOS_INTERNAL_ENABLE_COMPILER_WARNINGS := $(call kokkos_has_string,$(KOKKOS_OPTIONS),compiler_warnings) @@ -318,7 +318,6 @@ endif # Intel based. KOKKOS_INTERNAL_USE_ARCH_KNC := $(call kokkos_has_string,$(KOKKOS_ARCH),KNC) -KOKKOS_INTERNAL_USE_ARCH_WSM := $(call kokkos_has_string,$(KOKKOS_ARCH),WSM) KOKKOS_INTERNAL_USE_ARCH_SNB := $(call kokkos_has_string,$(KOKKOS_ARCH),SNB) KOKKOS_INTERNAL_USE_ARCH_HSW := $(call kokkos_has_string,$(KOKKOS_ARCH),HSW) KOKKOS_INTERNAL_USE_ARCH_BDW := $(call kokkos_has_string,$(KOKKOS_ARCH),BDW) @@ -398,11 +397,9 @@ KOKKOS_INTERNAL_USE_ARCH_A64FX := $(call kokkos_has_string,$(KOKKOS_ARCH),A64FX) KOKKOS_INTERNAL_USE_ARCH_ARM := $(strip $(shell echo $(KOKKOS_INTERNAL_USE_ARCH_ARMV80)+$(KOKKOS_INTERNAL_USE_ARCH_ARMV81)+$(KOKKOS_INTERNAL_USE_ARCH_ARMV8_THUNDERX)+$(KOKKOS_INTERNAL_USE_ARCH_ARMV8_THUNDERX2)+$(KOKKOS_INTERNAL_USE_ARCH_A64FX) | bc)) # IBM based. -KOKKOS_INTERNAL_USE_ARCH_BGQ := $(call kokkos_has_string,$(KOKKOS_ARCH),BGQ) -KOKKOS_INTERNAL_USE_ARCH_POWER7 := $(call kokkos_has_string,$(KOKKOS_ARCH),Power7) KOKKOS_INTERNAL_USE_ARCH_POWER8 := $(call kokkos_has_string,$(KOKKOS_ARCH),Power8) KOKKOS_INTERNAL_USE_ARCH_POWER9 := $(call kokkos_has_string,$(KOKKOS_ARCH),Power9) -KOKKOS_INTERNAL_USE_ARCH_IBM := $(strip $(shell echo $(KOKKOS_INTERNAL_USE_ARCH_BGQ)+$(KOKKOS_INTERNAL_USE_ARCH_POWER7)+$(KOKKOS_INTERNAL_USE_ARCH_POWER8)+$(KOKKOS_INTERNAL_USE_ARCH_POWER9) | bc)) +KOKKOS_INTERNAL_USE_ARCH_IBM := $(strip $(shell echo $(KOKKOS_INTERNAL_USE_ARCH_POWER8)+$(KOKKOS_INTERNAL_USE_ARCH_POWER9) | bc)) # AMD based. KOKKOS_INTERNAL_USE_ARCH_AMDAVX := $(call kokkos_has_string,$(KOKKOS_ARCH),AMDAVX) @@ -413,22 +410,37 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ZEN3), 0) KOKKOS_INTERNAL_USE_ARCH_ZEN := $(call kokkos_has_string,$(KOKKOS_ARCH),Zen) endif endif -KOKKOS_INTERNAL_USE_ARCH_AMD_GFX906 := $(or $(call kokkos_has_string,$(KOKKOS_ARCH),VEGA906),$(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX906)) -KOKKOS_INTERNAL_USE_ARCH_AMD_GFX908 := $(or $(call kokkos_has_string,$(KOKKOS_ARCH),VEGA908),$(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX908)) -KOKKOS_INTERNAL_USE_ARCH_AMD_GFX90A := $(or $(call kokkos_has_string,$(KOKKOS_ARCH),VEGA90A),$(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX90A)) + +KOKKOS_INTERNAL_USE_ARCH_AMD_GFX906 := $(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX906) +ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AMD_GFX906), 0) + KOKKOS_INTERNAL_USE_ARCH_AMD_GFX906 := $(call kokkos_has_string,$(KOKKOS_ARCH),VEGA906) +endif +KOKKOS_INTERNAL_USE_ARCH_AMD_GFX908 := $(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX908) +ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AMD_GFX908), 0) + KOKKOS_INTERNAL_USE_ARCH_AMD_GFX908 := $(call kokkos_has_string,$(KOKKOS_ARCH),VEGA908) +endif +KOKKOS_INTERNAL_USE_ARCH_AMD_GFX90A := $(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX90A) +ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AMD_GFX90A), 0) + KOKKOS_INTERNAL_USE_ARCH_AMD_GFX90A := $(call kokkos_has_string,$(KOKKOS_ARCH),VEGA90A) +endif KOKKOS_INTERNAL_USE_ARCH_AMD_GFX940 := $(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX940) KOKKOS_INTERNAL_USE_ARCH_AMD_GFX942 := $(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX942) -KOKKOS_INTERNAL_USE_ARCH_AMD_GFX1030 := $(or $(call kokkos_has_string,$(KOKKOS_ARCH),NAVI1030),$(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX1030)) -KOKKOS_INTERNAL_USE_ARCH_AMD_GFX1100 := $(or $(call kokkos_has_string,$(KOKKOS_ARCH),NAVI1100),$(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX1100)) +KOKKOS_INTERNAL_USE_ARCH_AMD_GFX1030 := $(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX1030) +ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AMD_GFX1030), 0) + KOKKOS_INTERNAL_USE_ARCH_AMD_GFX1030 := $(call kokkos_has_string,$(KOKKOS_ARCH),NAVI1030) +endif +KOKKOS_INTERNAL_USE_ARCH_AMD_GFX1100 := $(call kokkos_has_string,$(KOKKOS_ARCH),AMD_GFX1100) +ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AMD_GFX1100), 0) + KOKKOS_INTERNAL_USE_ARCH_AMD_GFX1100 := $(call kokkos_has_string,$(KOKKOS_ARCH),NAVI1100) +endif # Any AVX? -KOKKOS_INTERNAL_USE_ARCH_SSE42 := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_WSM)) KOKKOS_INTERNAL_USE_ARCH_AVX := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_SNB) + $(KOKKOS_INTERNAL_USE_ARCH_AMDAVX)) KOKKOS_INTERNAL_USE_ARCH_AVX2 := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_HSW) + $(KOKKOS_INTERNAL_USE_ARCH_BDW) + $(KOKKOS_INTERNAL_USE_ARCH_ZEN) + $(KOKKOS_INTERNAL_USE_ARCH_ZEN2) + $(KOKKOS_INTERNAL_USE_ARCH_ZEN3)) KOKKOS_INTERNAL_USE_ARCH_AVX512MIC := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_KNL)) # Incompatible flags? -KOKKOS_INTERNAL_USE_ARCH_MULTIHOST := $(strip $(shell echo "$(KOKKOS_INTERNAL_USE_ARCH_SSE42)+$(KOKKOS_INTERNAL_USE_ARCH_AVX)+$(KOKKOS_INTERNAL_USE_ARCH_AVX2)+$(KOKKOS_INTERNAL_USE_ARCH_AVX512MIC)+$(KOKKOS_INTERNAL_USE_ARCH_SKL)+$(KOKKOS_INTERNAL_USE_ARCH_SKX)+$(KOKKOS_INTERNAL_USE_ARCH_ICL)+$(KOKKOS_INTERNAL_USE_ARCH_ICX)+$(KOKKOS_INTERNAL_USE_ARCH_SPR)+$(KOKKOS_INTERNAL_USE_ARCH_KNC)+$(KOKKOS_INTERNAL_USE_ARCH_IBM)+$(KOKKOS_INTERNAL_USE_ARCH_ARM)>1") | bc) +KOKKOS_INTERNAL_USE_ARCH_MULTIHOST := $(strip $(shell echo "$(KOKKOS_INTERNAL_USE_ARCH_AVX)+$(KOKKOS_INTERNAL_USE_ARCH_AVX2)+$(KOKKOS_INTERNAL_USE_ARCH_AVX512MIC)+$(KOKKOS_INTERNAL_USE_ARCH_SKL)+$(KOKKOS_INTERNAL_USE_ARCH_SKX)+$(KOKKOS_INTERNAL_USE_ARCH_ICL)+$(KOKKOS_INTERNAL_USE_ARCH_ICX)+$(KOKKOS_INTERNAL_USE_ARCH_SPR)+$(KOKKOS_INTERNAL_USE_ARCH_KNC)+$(KOKKOS_INTERNAL_USE_ARCH_IBM)+$(KOKKOS_INTERNAL_USE_ARCH_ARM)>1") | bc) KOKKOS_INTERNAL_USE_ARCH_MULTIGPU := $(strip $(shell echo "$(KOKKOS_INTERNAL_USE_ARCH_NVIDIA)>1") | bc) ifeq ($(KOKKOS_INTERNAL_USE_ARCH_MULTIHOST), 1) @@ -573,6 +585,16 @@ ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX2B), 1) KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX2B_FLAG) tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_CXX23") endif +ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX26), 1) + #I cannot make CMake add this in a good way - so add it here + KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX26_FLAG) + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_CXX26") +endif +ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX2C), 1) + #I cannot make CMake add this in a good way - so add it here + KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX2C_FLAG) + tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_CXX26") +endif ifeq ($(KOKKOS_INTERNAL_ENABLE_DEBUG), 1) ifeq ($(KOKKOS_INTERNAL_COMPILER_NVCC), 1) @@ -612,27 +634,6 @@ ifeq ($(KOKKOS_INTERNAL_USE_HWLOC), 1) tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_HWLOC") endif -ifeq ($(KOKKOS_INTERNAL_USE_LIBRT), 1) - tmp := $(call kokkos_append_header,"$H""define KOKKOS_USE_LIBRT") - KOKKOS_LIBS += -lrt - KOKKOS_TPL_LIBRARY_NAMES += rt -endif - -ifeq ($(KOKKOS_INTERNAL_USE_MEMKIND), 1) - ifneq ($(KOKKOS_CMAKE), yes) - ifneq ($(MEMKIND_PATH),) - KOKKOS_CPPFLAGS += -I$(MEMKIND_PATH)/include - KOKKOS_LIBDIRS += -L$(MEMKIND_PATH)/lib - KOKKOS_CXXLDFLAGS += -L$(MEMKIND_PATH)/lib - KOKKOS_TPL_INCLUDE_DIRS += $(MEMKIND_PATH)/include - KOKKOS_TPL_LIBRARY_DIRS += $(MEMKIND_PATH)/lib - endif - KOKKOS_LIBS += -lmemkind -lnuma - KOKKOS_TPL_LIBRARY_NAMES += memkind numa - endif - tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_HBWSPACE") -endif - ifeq ($(KOKKOS_INTERNAL_ENABLE_LARGE_MEM_TESTS), 1) tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_LARGE_MEM_TESTS") endif @@ -699,10 +700,6 @@ ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) endif endif - ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1) - tmp := $(call kokkos_append_header,"$H""define KOKKOS_IMPL_CUDA_CLANG_WORKAROUND") - endif - ifeq ($(KOKKOS_INTERNAL_CUDA_DISABLE_MALLOC_ASYNC), 0) tmp := $(call kokkos_append_header,"$H""define KOKKOS_ENABLE_IMPL_CUDA_MALLOC_ASYNC") else @@ -827,20 +824,6 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ARMV8_THUNDERX2), 1) endif endif -ifeq ($(KOKKOS_INTERNAL_USE_ARCH_SSE42), 1) - tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_SSE42") - - ifeq ($(KOKKOS_INTERNAL_COMPILER_INTEL), 1) - KOKKOS_CXXFLAGS += -xSSE4.2 - KOKKOS_LDFLAGS += -xSSE4.2 - else ifeq ($(KOKKOS_INTERNAL_COMPILER_CRAY), 1) - else - # Assume that this is a really a GNU compiler. - KOKKOS_CXXFLAGS += -msse4.2 - KOKKOS_LDFLAGS += -msse4.2 - endif -endif - ifeq ($(KOKKOS_INTERNAL_USE_ARCH_AVX), 1) tmp := $(call kokkos_append_header,"$H""define KOKKOS_ARCH_AVX") @@ -1249,7 +1232,6 @@ ifneq ($(KOKKOS_INTERNAL_NEW_CONFIG), 0) tmp := $(call kokkos_update_config_header, KOKKOS_FWD_HPP_, "KokkosCore_Config_FwdBackend.tmp", "KokkosCore_Config_FwdBackend.hpp") tmp := $(call kokkos_update_config_header, KOKKOS_SETUP_HPP_, "KokkosCore_Config_SetupBackend.tmp", "KokkosCore_Config_SetupBackend.hpp") tmp := $(call kokkos_update_config_header, KOKKOS_DECLARE_HPP_, "KokkosCore_Config_DeclareBackend.tmp", "KokkosCore_Config_DeclareBackend.hpp") - tmp := $(call kokkos_update_config_header, KOKKOS_POST_INCLUDE_HPP_, "KokkosCore_Config_PostInclude.tmp", "KokkosCore_Config_PostInclude.hpp") ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_FwdBackend.hpp") tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_DeclareBackend.hpp") @@ -1289,10 +1271,6 @@ ifneq ($(KOKKOS_INTERNAL_NEW_CONFIG), 0) tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_FwdBackend.hpp") tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_DeclareBackend.hpp") endif - ifeq ($(KOKKOS_INTERNAL_USE_MEMKIND), 1) - tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_FwdBackend.hpp") - tmp := $(call kokkos_append_config_header,"$H""include ","KokkosCore_Config_DeclareBackend.hpp") - endif endif KOKKOS_HEADERS += $(wildcard $(KOKKOS_PATH)/core/src/*.hpp) @@ -1403,11 +1381,6 @@ ifeq ($(KOKKOS_INTERNAL_USE_HPX), 1) KOKKOS_TPL_LIBRARY_NAMES += hpx endif -# Don't include Kokkos_HBWSpace.cpp if not using MEMKIND to avoid a link warning. -ifneq ($(KOKKOS_INTERNAL_USE_MEMKIND), 1) - KOKKOS_SRC := $(filter-out $(KOKKOS_PATH)/core/src/impl/Kokkos_HBWSpace.cpp,$(KOKKOS_SRC)) -endif - # With Cygwin functions such as fdopen and fileno are not defined # when strict ansi is enabled. strict ansi gets enabled with -std=c++14 # though. So we hard undefine it here. Not sure if that has any bad side effects @@ -1461,6 +1434,12 @@ ifeq ($(KOKKOS_INTERNAL_USE_OPENMPTARGET), 1) else tmp := $(call desul_append_header,"/* $H""undef DESUL_ATOMICS_ENABLE_OPENMP */") endif + +ifeq ($(KOKKOS_INTERNAL_USE_OPENACC), 1) + tmp := $(call desul_append_header,"$H""define DESUL_ATOMICS_ENABLE_OPENACC") +else + tmp := $(call desul_append_header,"/* $H""undef DESUL_ATOMICS_ENABLE_OPENACC */") +endif tmp := $(call desul_append_header, "") tmp := $(call desul_append_header, "$H""endif") @@ -1493,7 +1472,7 @@ include $(KOKKOS_PATH)/Makefile.targets kokkos-clean: rm -f $(KOKKOS_OBJ_LINK) $(DESUL_CONFIG_HEADER) $(DESUL_INTERNAL_CONFIG_TMP) KokkosCore_config.h KokkosCore_config.tmp libkokkos.a KokkosCore_Config_SetupBackend.hpp \ KokkosCore_Config_FwdBackend.hpp KokkosCore_Config_DeclareBackend.hpp KokkosCore_Config_DeclareBackend.tmp \ - KokkosCore_Config_FwdBackend.tmp KokkosCore_Config_PostInclude.hpp KokkosCore_Config_PostInclude.tmp KokkosCore_Config_SetupBackend.tmp + KokkosCore_Config_FwdBackend.tmp KokkosCore_Config_SetupBackend.tmp libkokkos.a: $(KOKKOS_OBJ_LINK) $(KOKKOS_SRC) $(KOKKOS_HEADERS) ar cr libkokkos.a $(KOKKOS_OBJ_LINK) diff --git a/lib/kokkos/Makefile.targets b/lib/kokkos/Makefile.targets index ec8770dd7d..e6900a822a 100644 --- a/lib/kokkos/Makefile.targets +++ b/lib/kokkos/Makefile.targets @@ -20,8 +20,6 @@ Kokkos_TaskQueue.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_Ta $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_TaskQueue.cpp Kokkos_HostThreadTeam.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_HostThreadTeam.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_HostThreadTeam.cpp -Kokkos_Spinwait.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_Spinwait.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_Spinwait.cpp Kokkos_HostBarrier.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_HostBarrier.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_HostBarrier.cpp Kokkos_Profiling.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_Profiling.cpp @@ -30,8 +28,6 @@ Kokkos_SharedAlloc.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_ $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_SharedAlloc.cpp Kokkos_MemoryPool.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_MemoryPool.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_MemoryPool.cpp -Kokkos_MemorySpace.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_MemorySpace.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_MemorySpace.cpp Kokkos_HostSpace_deepcopy.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_HostSpace_deepcopy.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_HostSpace_deepcopy.cpp Kokkos_NumericTraits.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_NumericTraits.cpp @@ -82,8 +78,10 @@ Lock_Array_HIP.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/tpls/desul/src/Lock_Array endif ifeq ($(KOKKOS_INTERNAL_USE_THREADS), 1) -Kokkos_ThreadsExec.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/Threads/Kokkos_ThreadsExec.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/Threads/Kokkos_ThreadsExec.cpp +Kokkos_Threads_Instance.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/Threads/Kokkos_Threads_Instance.cpp + $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/Threads/Kokkos_Threads_Instance.cpp +Kokkos_Threads_Spinwait.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/Threads/Kokkos_Threads_Spinwait.cpp + $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/Threads/Kokkos_Spinwait.cpp endif ifeq ($(KOKKOS_INTERNAL_USE_OPENMP), 1) @@ -123,6 +121,3 @@ Kokkos_OpenACC_Instance.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/OpenACC Kokkos_OpenACC_SharedAllocationRecord.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/OpenACC/Kokkos_OpenACC_SharedAllocationRecord.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/OpenACC/Kokkos_OpenACC_SharedAllocationRecord.cpp endif - -Kokkos_HBWSpace.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_HBWSpace.cpp - $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_HBWSpace.cpp diff --git a/lib/kokkos/README.md b/lib/kokkos/README.md index 033346e956..19793bb82d 100644 --- a/lib/kokkos/README.md +++ b/lib/kokkos/README.md @@ -28,7 +28,7 @@ To start learning about Kokkos: - [Use cases and Examples](https://kokkos.github.io/kokkos-core-wiki/usecases.html): a series of examples ranging from how to use Kokkos with MPI to Fortran interoperability. -For questions find us on Slack: https://kokkosteam.slack.com or open a github issue. +For questions find us on Slack: https://kokkosteam.slack.com or open a GitHub issue. For non-public questions send an email to: *crtrott(at)sandia.gov* @@ -48,10 +48,10 @@ Please see the [following page](https://kokkos.github.io/kokkos-core-wiki/citati # License -[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) +[![License](https://img.shields.io/badge/License-Apache--2.0_WITH_LLVM--exception-blue)](https://spdx.org/licenses/LLVM-exception.html) Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software. -The full license statement used in all headers is available [here](https://kokkos.github.io/kokkos-core-wiki/license.html) or -[here](https://github.com/kokkos/kokkos/blob/master/LICENSE). +The full license statement used in all headers is available [here](https://kokkos.org/kokkos-core-wiki/license.html) or +[here](https://github.com/kokkos/kokkos/blob/develop/LICENSE). diff --git a/lib/kokkos/SECURITY.md b/lib/kokkos/SECURITY.md new file mode 100644 index 0000000000..93cf6e3663 --- /dev/null +++ b/lib/kokkos/SECURITY.md @@ -0,0 +1,12 @@ +# Reporting Security Issues + +To report a security issue, please email +[lebrungrandt@ornl.gov](mailto:lebrungrandt@ornl.gov) +and [crtrott@sandia.gov](mailto:crtrott@sandia.gov) +with a description of the issue, the steps you took to create the issue, +affected versions, and, if known, mitigations for the issue. + +Our vulnerability management team will respond within 5 working days of your +email. If the issue is confirmed as a vulnerability, we will open a +Security Advisory and acknowledge your contributions as part of it. This project +follows a 90 day disclosure timeline. diff --git a/lib/kokkos/Spack.md b/lib/kokkos/Spack.md index 79606c259d..06c763a64e 100644 --- a/lib/kokkos/Spack.md +++ b/lib/kokkos/Spack.md @@ -159,7 +159,6 @@ If you don't specify a CUDA build variant in a `packages.yaml` and you build you > spack install superscience ```` you may end up just getting the default Kokkos (i.e. Serial). -Some examples are included in the `config/yaml` folder for common platforms. Before running `spack install ` we recommend running `spack spec ` to confirm your dependency tree is correct. For example, with Kokkos Kernels: ````bash diff --git a/lib/kokkos/algorithms/src/CMakeLists.txt b/lib/kokkos/algorithms/src/CMakeLists.txt index 1695778947..b490caca62 100644 --- a/lib/kokkos/algorithms/src/CMakeLists.txt +++ b/lib/kokkos/algorithms/src/CMakeLists.txt @@ -30,5 +30,5 @@ KOKKOS_LIB_INCLUDE_DIRECTORIES(kokkosalgorithms ${CMAKE_CURRENT_SOURCE_DIR} ) - - +KOKKOS_LINK_TPL(kokkoscontainers PUBLIC ROCTHRUST) +KOKKOS_LINK_TPL(kokkoscore PUBLIC ONEDPL) diff --git a/lib/kokkos/algorithms/src/Kokkos_Random.hpp b/lib/kokkos/algorithms/src/Kokkos_Random.hpp index 2d7d236d2f..7df12b8518 100644 --- a/lib/kokkos/algorithms/src/Kokkos_Random.hpp +++ b/lib/kokkos/algorithms/src/Kokkos_Random.hpp @@ -849,18 +849,17 @@ class Random_XorShift64 { return drand(end - start) + start; } - // Marsaglia polar method for drawing a standard normal distributed random + // Box-muller method for drawing a standard normal distributed random // number KOKKOS_INLINE_FUNCTION double normal() { - double S = 2.0; - double U; - while (S >= 1.0) { - U = 2.0 * drand() - 1.0; - const double V = 2.0 * drand() - 1.0; - S = U * U + V * V; - } - return U * std::sqrt(-2.0 * std::log(S) / S); + constexpr auto two_pi = 2 * Kokkos::numbers::pi_v; + + const double u = drand(); + const double v = drand(); + const double r = Kokkos::sqrt(-2.0 * Kokkos::log(u)); + const double theta = v * two_pi; + return r * Kokkos::cos(theta); } KOKKOS_INLINE_FUNCTION @@ -1094,18 +1093,17 @@ class Random_XorShift1024 { return drand(end - start) + start; } - // Marsaglia polar method for drawing a standard normal distributed random + // Box-muller method for drawing a standard normal distributed random // number KOKKOS_INLINE_FUNCTION double normal() { - double S = 2.0; - double U; - while (S >= 1.0) { - U = 2.0 * drand() - 1.0; - const double V = 2.0 * drand() - 1.0; - S = U * U + V * V; - } - return U * std::sqrt(-2.0 * std::log(S) / S); + constexpr auto two_pi = 2 * Kokkos::numbers::pi_v; + + const double u = drand(); + const double v = drand(); + const double r = Kokkos::sqrt(-2.0 * Kokkos::log(u)); + const double theta = v * two_pi; + return r * Kokkos::cos(theta); } KOKKOS_INLINE_FUNCTION @@ -1545,13 +1543,23 @@ template void fill_random(ViewType a, RandomPool g, typename ViewType::const_value_type begin, typename ViewType::const_value_type end) { - fill_random(typename ViewType::execution_space{}, a, g, begin, end); + Kokkos::fence( + "fill_random: fence before since no execution space instance provided"); + typename ViewType::execution_space exec; + fill_random(exec, a, g, begin, end); + exec.fence( + "fill_random: fence after since no execution space instance provided"); } template void fill_random(ViewType a, RandomPool g, typename ViewType::const_value_type range) { - fill_random(typename ViewType::execution_space{}, a, g, 0, range); + Kokkos::fence( + "fill_random: fence before since no execution space instance provided"); + typename ViewType::execution_space exec; + fill_random(exec, a, g, 0, range); + exec.fence( + "fill_random: fence after since no execution space instance provided"); } } // namespace Kokkos diff --git a/lib/kokkos/algorithms/src/Kokkos_Sort.hpp b/lib/kokkos/algorithms/src/Kokkos_Sort.hpp index f77484cc55..136b4ec82d 100644 --- a/lib/kokkos/algorithms/src/Kokkos_Sort.hpp +++ b/lib/kokkos/algorithms/src/Kokkos_Sort.hpp @@ -23,6 +23,7 @@ #include "sorting/Kokkos_BinSortPublicAPI.hpp" #include "sorting/Kokkos_SortPublicAPI.hpp" +#include "sorting/Kokkos_SortByKeyPublicAPI.hpp" #include "sorting/Kokkos_NestedSortPublicAPI.hpp" #ifdef KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_SORT diff --git a/lib/kokkos/algorithms/src/Kokkos_StdAlgorithms.hpp b/lib/kokkos/algorithms/src/Kokkos_StdAlgorithms.hpp index 436ae0d10b..b532a774e1 100644 --- a/lib/kokkos/algorithms/src/Kokkos_StdAlgorithms.hpp +++ b/lib/kokkos/algorithms/src/Kokkos_StdAlgorithms.hpp @@ -35,7 +35,6 @@ // following the std classification. // modifying ops -#include "std_algorithms/Kokkos_Swap.hpp" #include "std_algorithms/Kokkos_IterSwap.hpp" // non-modifying sequence diff --git a/lib/kokkos/algorithms/src/sorting/Kokkos_SortByKeyPublicAPI.hpp b/lib/kokkos/algorithms/src/sorting/Kokkos_SortByKeyPublicAPI.hpp new file mode 100644 index 0000000000..fc73eccad6 --- /dev/null +++ b/lib/kokkos/algorithms/src/sorting/Kokkos_SortByKeyPublicAPI.hpp @@ -0,0 +1,117 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_SORT_BY_KEY_PUBLIC_API_HPP_ +#define KOKKOS_SORT_BY_KEY_PUBLIC_API_HPP_ + +#include "./impl/Kokkos_SortByKeyImpl.hpp" +#include +#include + +namespace Kokkos::Experimental { + +// --------------------------------------------------------------- +// basic overloads +// --------------------------------------------------------------- + +template +void sort_by_key( + const ExecutionSpace& exec, + const Kokkos::View& keys, + const Kokkos::View& values) { + // constraints + using KeysType = Kokkos::View; + using ValuesType = Kokkos::View; + ::Kokkos::Impl::static_assert_is_admissible_to_kokkos_sort_by_key(keys); + ::Kokkos::Impl::static_assert_is_admissible_to_kokkos_sort_by_key(values); + + static_assert(SpaceAccessibility::accessible, + "Kokkos::sort: execution space instance is not able to access " + "the memory space of the keys View argument!"); + static_assert( + SpaceAccessibility::accessible, + "Kokkos::sort: execution space instance is not able to access " + "the memory space of the values View argument!"); + + static_assert(KeysType::static_extent(0) == 0 || + ValuesType::static_extent(0) == 0 || + KeysType::static_extent(0) == ValuesType::static_extent(0)); + if (values.size() != keys.size()) + Kokkos::abort((std::string("values and keys extents must be the same. The " + "values extent is ") + + std::to_string(values.size()) + ", and the keys extent is " + + std::to_string(keys.size()) + ".") + .c_str()); + + if (keys.extent(0) <= 1) { + return; + } + + ::Kokkos::Impl::sort_by_key_device_view_without_comparator(exec, keys, + values); +} + +// --------------------------------------------------------------- +// overloads supporting a custom comparator +// --------------------------------------------------------------- + +template +void sort_by_key( + const ExecutionSpace& exec, + const Kokkos::View& keys, + const Kokkos::View& values, + const ComparatorType& comparator) { + // constraints + using KeysType = Kokkos::View; + using ValuesType = Kokkos::View; + ::Kokkos::Impl::static_assert_is_admissible_to_kokkos_sort_by_key(keys); + ::Kokkos::Impl::static_assert_is_admissible_to_kokkos_sort_by_key(values); + + static_assert(SpaceAccessibility::accessible, + "Kokkos::sort: execution space instance is not able to access " + "the memory space of the keys View argument!"); + static_assert( + SpaceAccessibility::accessible, + "Kokkos::sort: execution space instance is not able to access " + "the memory space of the values View argument!"); + + static_assert(KeysType::static_extent(0) == 0 || + ValuesType::static_extent(0) == 0 || + KeysType::static_extent(0) == ValuesType::static_extent(0)); + if (values.size() != keys.size()) + Kokkos::abort((std::string("values and keys extents must be the same. The " + "values extent is ") + + std::to_string(values.size()) + ", and the keys extent is " + + std::to_string(keys.size()) + ".") + .c_str()); + + if (keys.extent(0) <= 1) { + return; + } + + ::Kokkos::Impl::sort_by_key_device_view_with_comparator(exec, keys, values, + comparator); +} + +} // namespace Kokkos::Experimental +#endif diff --git a/lib/kokkos/algorithms/src/sorting/Kokkos_SortPublicAPI.hpp b/lib/kokkos/algorithms/src/sorting/Kokkos_SortPublicAPI.hpp index a763c41e58..308e9e3a00 100644 --- a/lib/kokkos/algorithms/src/sorting/Kokkos_SortPublicAPI.hpp +++ b/lib/kokkos/algorithms/src/sorting/Kokkos_SortPublicAPI.hpp @@ -29,7 +29,7 @@ namespace Kokkos { // --------------------------------------------------------------- template -void sort([[maybe_unused]] const ExecutionSpace& exec, +void sort(const ExecutionSpace& exec, const Kokkos::View& view) { // constraints using ViewType = Kokkos::View; @@ -52,6 +52,7 @@ void sort([[maybe_unused]] const ExecutionSpace& exec, } if constexpr (Impl::better_off_calling_std_sort_v) { + exec.fence("Kokkos::sort without comparator use std::sort"); auto first = ::Kokkos::Experimental::begin(view); auto last = ::Kokkos::Experimental::end(view); std::sort(first, last); @@ -82,7 +83,7 @@ void sort(const Kokkos::View& view) { // --------------------------------------------------------------- template -void sort([[maybe_unused]] const ExecutionSpace& exec, +void sort(const ExecutionSpace& exec, const Kokkos::View& view, const ComparatorType& comparator) { // constraints @@ -105,6 +106,7 @@ void sort([[maybe_unused]] const ExecutionSpace& exec, } if constexpr (Impl::better_off_calling_std_sort_v) { + exec.fence("Kokkos::sort with comparator use std::sort"); auto first = ::Kokkos::Experimental::begin(view); auto last = ::Kokkos::Experimental::end(view); std::sort(first, last, comparator); diff --git a/lib/kokkos/algorithms/src/sorting/impl/Kokkos_NestedSortImpl.hpp b/lib/kokkos/algorithms/src/sorting/impl/Kokkos_NestedSortImpl.hpp index 50ac823319..2fe58272d9 100644 --- a/lib/kokkos/algorithms/src/sorting/impl/Kokkos_NestedSortImpl.hpp +++ b/lib/kokkos/algorithms/src/sorting/impl/Kokkos_NestedSortImpl.hpp @@ -18,7 +18,6 @@ #define KOKKOS_NESTED_SORT_IMPL_HPP_ #include -#include namespace Kokkos { namespace Experimental { @@ -99,7 +98,7 @@ KOKKOS_INLINE_FUNCTION void sort_nested_impl( keyView(elem1) = key2; keyView(elem2) = key1; if constexpr (!std::is_same_v) { - Kokkos::Experimental::swap(valueView(elem1), valueView(elem2)); + Kokkos::kokkos_swap(valueView(elem1), valueView(elem2)); } } } diff --git a/lib/kokkos/algorithms/src/sorting/impl/Kokkos_SortByKeyImpl.hpp b/lib/kokkos/algorithms/src/sorting/impl/Kokkos_SortByKeyImpl.hpp new file mode 100644 index 0000000000..36deccdfb1 --- /dev/null +++ b/lib/kokkos/algorithms/src/sorting/impl/Kokkos_SortByKeyImpl.hpp @@ -0,0 +1,401 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_SORT_BY_KEY_FREE_FUNCS_IMPL_HPP_ +#define KOKKOS_SORT_BY_KEY_FREE_FUNCS_IMPL_HPP_ + +#include + +#if defined(KOKKOS_ENABLE_CUDA) + +// Workaround for `Instruction 'shfl' without '.sync' is not supported on +// .target sm_70 and higher from PTX ISA version 6.4`. +// Also see https://github.com/NVIDIA/cub/pull/170. +#if !defined(CUB_USE_COOPERATIVE_GROUPS) +#define CUB_USE_COOPERATIVE_GROUPS +#endif + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wshadow" + +#if defined(KOKKOS_COMPILER_CLANG) +// Some versions of Clang fail to compile Thrust, failing with errors like +// this: +// /thrust/system/cuda/detail/core/agent_launcher.h:557:11: +// error: use of undeclared identifier 'va_printf' +// The exact combination of versions for Clang and Thrust (or CUDA) for this +// failure was not investigated, however even very recent version combination +// (Clang 10.0.0 and Cuda 10.0) demonstrated failure. +// +// Defining _CubLog here locally allows us to avoid that code path, however +// disabling some debugging diagnostics +#pragma push_macro("_CubLog") +#ifdef _CubLog +#undef _CubLog +#endif +#define _CubLog +#include +#include +#pragma pop_macro("_CubLog") +#else +#include +#include +#endif + +#pragma GCC diagnostic pop + +#endif + +#if defined(KOKKOS_ENABLE_ROCTHRUST) +#include +#include +#endif + +#if defined(KOKKOS_ENABLE_ONEDPL) && \ + (ONEDPL_VERSION_MAJOR > 2022 || \ + (ONEDPL_VERSION_MAJOR == 2022 && ONEDPL_VERSION_MINOR >= 2)) +#define KOKKOS_ONEDPL_HAS_SORT_BY_KEY +#include +#include +#endif + +namespace Kokkos::Impl { + +template +constexpr inline bool is_admissible_to_kokkos_sort_by_key = + ::Kokkos::is_view::value&& T::rank() == 1 && + (std::is_same::value || + std::is_same::value || + std::is_same::value); + +template +KOKKOS_INLINE_FUNCTION constexpr void +static_assert_is_admissible_to_kokkos_sort_by_key(const ViewType& /* view */) { + static_assert(is_admissible_to_kokkos_sort_by_key, + "Kokkos::sort_by_key only accepts 1D values View with " + "LayoutRight, LayoutLeft or LayoutStride."); +} + +// For the fallback implementation for sort_by_key using Kokkos::sort, we need +// to consider if Kokkos::sort defers to the fallback implementation that copies +// the array to the host and uses std::sort, see +// copy_to_host_run_stdsort_copy_back() in impl/Kokkos_SortImpl.hpp. If +// sort_on_device_v is true, we assume that std::sort doesn't copy data. +// Otherwise, we manually copy all data to the host and provide Kokkos::sort +// with a host execution space. +template +inline constexpr bool sort_on_device_v = false; + +#if defined(KOKKOS_ENABLE_CUDA) +template +inline constexpr bool sort_on_device_v = true; + +template +void sort_by_key_cudathrust( + const Kokkos::Cuda& exec, + const Kokkos::View& keys, + const Kokkos::View& values, + MaybeComparator&&... maybeComparator) { + const auto policy = thrust::cuda::par.on(exec.cuda_stream()); + auto keys_first = ::Kokkos::Experimental::begin(keys); + auto keys_last = ::Kokkos::Experimental::end(keys); + auto values_first = ::Kokkos::Experimental::begin(values); + thrust::sort_by_key(policy, keys_first, keys_last, values_first, + std::forward(maybeComparator)...); +} +#endif + +#if defined(KOKKOS_ENABLE_ROCTHRUST) +template +inline constexpr bool sort_on_device_v = true; + +template +void sort_by_key_rocthrust( + const Kokkos::HIP& exec, + const Kokkos::View& keys, + const Kokkos::View& values, + MaybeComparator&&... maybeComparator) { + const auto policy = thrust::hip::par.on(exec.hip_stream()); + auto keys_first = ::Kokkos::Experimental::begin(keys); + auto keys_last = ::Kokkos::Experimental::end(keys); + auto values_first = ::Kokkos::Experimental::begin(values); + thrust::sort_by_key(policy, keys_first, keys_last, values_first, + std::forward(maybeComparator)...); +} +#endif + +#if defined(KOKKOS_ENABLE_ONEDPL) +template +inline constexpr bool sort_on_device_v = + std::is_same_v || + std::is_same_v; + +#ifdef KOKKOS_ONEDPL_HAS_SORT_BY_KEY +template +void sort_by_key_onedpl( + const Kokkos::Experimental::SYCL& exec, + const Kokkos::View& keys, + const Kokkos::View& values, + MaybeComparator&&... maybeComparator) { + if (keys.stride(0) != 1 && values.stride(0) != 1) { + Kokkos::abort( + "SYCL sort_by_key only supports rank-1 Views with stride(0) = 1."); + } + + // Can't use Experimental::begin/end here since the oneDPL then assumes that + // the data is on the host. + auto queue = exec.sycl_queue(); + auto policy = oneapi::dpl::execution::make_device_policy(queue); + const int n = keys.extent(0); + oneapi::dpl::sort_by_key(policy, keys.data(), keys.data() + n, values.data(), + std::forward(maybeComparator)...); +} +#endif +#endif + +template +void applyPermutation(const ExecutionSpace& space, + const PermutationView& permutation, + const ViewType& view) { + static_assert(std::is_integral::value); + + auto view_copy = Kokkos::create_mirror( + Kokkos::view_alloc(space, typename ExecutionSpace::memory_space{}, + Kokkos::WithoutInitializing), + view); + Kokkos::deep_copy(space, view_copy, view); + Kokkos::parallel_for( + "Kokkos::sort_by_key_via_sort::permute_" + view.label(), + Kokkos::RangePolicy(space, 0, view.extent(0)), + KOKKOS_LAMBDA(int i) { view(i) = view_copy(permutation(i)); }); +} + +template +void sort_by_key_via_sort( + const ExecutionSpace& exec, + const Kokkos::View& keys, + const Kokkos::View& values, + MaybeComparator&&... maybeComparator) { + static_assert(sizeof...(MaybeComparator) <= 1); + + auto const n = keys.size(); + + Kokkos::View permute( + Kokkos::view_alloc(exec, Kokkos::WithoutInitializing, + "Kokkos::sort_by_key_via_sort::permute"), + n); + + // iota + Kokkos::parallel_for( + "Kokkos::sort_by_key_via_sort::iota", + Kokkos::RangePolicy(exec, 0, n), + KOKKOS_LAMBDA(int i) { permute(i) = i; }); + + using Layout = + typename Kokkos::View::array_layout; + if constexpr (!sort_on_device_v) { + auto host_keys = Kokkos::create_mirror_view( + Kokkos::view_alloc(Kokkos::HostSpace{}, Kokkos::WithoutInitializing), + keys); + auto host_permute = Kokkos::create_mirror_view( + Kokkos::view_alloc(Kokkos::HostSpace{}, Kokkos::WithoutInitializing), + permute); + Kokkos::deep_copy(exec, host_keys, keys); + Kokkos::deep_copy(exec, host_permute, permute); + + exec.fence("Kokkos::Impl::sort_by_key_via_sort: before host sort"); + Kokkos::DefaultHostExecutionSpace host_exec; + + if constexpr (sizeof...(MaybeComparator) == 0) { + Kokkos::sort( + host_exec, host_permute, + KOKKOS_LAMBDA(int i, int j) { return host_keys(i) < host_keys(j); }); + } else { + auto keys_comparator = + std::get<0>(std::tuple(maybeComparator...)); + Kokkos::sort( + host_exec, host_permute, KOKKOS_LAMBDA(int i, int j) { + return keys_comparator(host_keys(i), host_keys(j)); + }); + } + host_exec.fence("Kokkos::Impl::sort_by_key_via_sort: after host sort"); + Kokkos::deep_copy(exec, permute, host_permute); + } else { +#ifdef KOKKOS_ENABLE_SYCL + auto* raw_keys_in_comparator = keys.data(); + auto stride = keys.stride(0); + if constexpr (sizeof...(MaybeComparator) == 0) { + Kokkos::sort( + exec, permute, KOKKOS_LAMBDA(int i, int j) { + return raw_keys_in_comparator[i * stride] < + raw_keys_in_comparator[j * stride]; + }); + } else { + auto keys_comparator = + std::get<0>(std::tuple(maybeComparator...)); + Kokkos::sort( + exec, permute, KOKKOS_LAMBDA(int i, int j) { + return keys_comparator(raw_keys_in_comparator[i * stride], + raw_keys_in_comparator[j * stride]); + }); + } +#else + if constexpr (sizeof...(MaybeComparator) == 0) { + Kokkos::sort( + exec, permute, + KOKKOS_LAMBDA(int i, int j) { return keys(i) < keys(j); }); + } else { + auto keys_comparator = + std::get<0>(std::tuple(maybeComparator...)); + Kokkos::sort( + exec, permute, KOKKOS_LAMBDA(int i, int j) { + return keys_comparator(keys(i), keys(j)); + }); + } +#endif + } + + applyPermutation(exec, permute, keys); + applyPermutation(exec, permute, values); +} + +// ------------------------------------------------------ +// +// specialize cases for sorting by key without comparator +// +// ------------------------------------------------------ + +#if defined(KOKKOS_ENABLE_CUDA) +template +void sort_by_key_device_view_without_comparator( + const Kokkos::Cuda& exec, + const Kokkos::View& keys, + const Kokkos::View& values) { + sort_by_key_cudathrust(exec, keys, values); +} +#endif + +#if defined(KOKKOS_ENABLE_ROCTHRUST) +template +void sort_by_key_device_view_without_comparator( + const Kokkos::HIP& exec, + const Kokkos::View& keys, + const Kokkos::View& values) { + sort_by_key_rocthrust(exec, keys, values); +} +#endif + +#if defined(KOKKOS_ENABLE_ONEDPL) +template +void sort_by_key_device_view_without_comparator( + const Kokkos::Experimental::SYCL& exec, + const Kokkos::View& keys, + const Kokkos::View& values) { +#ifdef KOKKOS_ONEDPL_HAS_SORT_BY_KEY + if (keys.stride(0) == 1 && values.stride(0) == 1) + sort_by_key_onedpl(exec, keys, values); + else +#endif + sort_by_key_via_sort(exec, keys, values); +} +#endif + +// fallback case +template +std::enable_if_t::value> +sort_by_key_device_view_without_comparator( + const ExecutionSpace& exec, + const Kokkos::View& keys, + const Kokkos::View& values) { + sort_by_key_via_sort(exec, keys, values); +} + +// --------------------------------------------------- +// +// specialize cases for sorting by key with comparator +// +// --------------------------------------------------- + +#if defined(KOKKOS_ENABLE_CUDA) +template +void sort_by_key_device_view_with_comparator( + const Kokkos::Cuda& exec, + const Kokkos::View& keys, + const Kokkos::View& values, + const ComparatorType& comparator) { + sort_by_key_cudathrust(exec, keys, values, comparator); +} +#endif + +#if defined(KOKKOS_ENABLE_ROCTHRUST) +template +void sort_by_key_device_view_with_comparator( + const Kokkos::HIP& exec, + const Kokkos::View& keys, + const Kokkos::View& values, + const ComparatorType& comparator) { + sort_by_key_rocthrust(exec, keys, values, comparator); +} +#endif + +#if defined(KOKKOS_ENABLE_ONEDPL) +template +void sort_by_key_device_view_with_comparator( + const Kokkos::Experimental::SYCL& exec, + const Kokkos::View& keys, + const Kokkos::View& values, + const ComparatorType& comparator) { +#ifdef KOKKOS_ONEDPL_HAS_SORT_BY_KEY + if (keys.stride(0) == 1 && values.stride(0) == 1) + sort_by_key_onedpl(exec, keys, values, comparator); + else +#endif + sort_by_key_via_sort(exec, keys, values, comparator); +} +#endif + +// fallback case +template +std::enable_if_t::value> +sort_by_key_device_view_with_comparator( + const ExecutionSpace& exec, + const Kokkos::View& keys, + const Kokkos::View& values, + const ComparatorType& comparator) { + sort_by_key_via_sort(exec, keys, values, comparator); +} + +#undef KOKKOS_ONEDPL_HAS_SORT_BY_KEY + +} // namespace Kokkos::Impl +#endif diff --git a/lib/kokkos/algorithms/src/sorting/impl/Kokkos_SortImpl.hpp b/lib/kokkos/algorithms/src/sorting/impl/Kokkos_SortImpl.hpp index d87ab09e77..4c174b5fda 100644 --- a/lib/kokkos/algorithms/src/sorting/impl/Kokkos_SortImpl.hpp +++ b/lib/kokkos/algorithms/src/sorting/impl/Kokkos_SortImpl.hpp @@ -63,6 +63,11 @@ #endif +#if defined(KOKKOS_ENABLE_ROCTHRUST) +#include +#include +#endif + #if defined(KOKKOS_ENABLE_ONEDPL) #include #include @@ -184,6 +189,26 @@ void sort_cudathrust(const Cuda& space, } #endif +#if defined(KOKKOS_ENABLE_ROCTHRUST) +template +void sort_rocthrust(const HIP& space, + const Kokkos::View& view, + MaybeComparator&&... maybeComparator) { + using ViewType = Kokkos::View; + static_assert(ViewType::rank == 1, + "Kokkos::sort: currently only supports rank-1 Views."); + + if (view.extent(0) <= 1) { + return; + } + const auto exec = thrust::hip::par.on(space.hip_stream()); + auto first = ::Kokkos::Experimental::begin(view); + auto last = ::Kokkos::Experimental::end(view); + thrust::sort(exec, first, last, + std::forward(maybeComparator)...); +} +#endif + #if defined(KOKKOS_ENABLE_ONEDPL) template void sort_onedpl(const Kokkos::Experimental::SYCL& space, @@ -274,6 +299,14 @@ void sort_device_view_without_comparator( } #endif +#if defined(KOKKOS_ENABLE_ROCTHRUST) +template +void sort_device_view_without_comparator( + const HIP& exec, const Kokkos::View& view) { + sort_rocthrust(exec, view); +} +#endif + #if defined(KOKKOS_ENABLE_ONEDPL) template void sort_device_view_without_comparator( @@ -320,6 +353,15 @@ void sort_device_view_with_comparator( } #endif +#if defined(KOKKOS_ENABLE_ROCTHRUST) +template +void sort_device_view_with_comparator( + const HIP& exec, const Kokkos::View& view, + const ComparatorType& comparator) { + sort_rocthrust(exec, view, comparator); +} +#endif + #if defined(KOKKOS_ENABLE_ONEDPL) template void sort_device_view_with_comparator( diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Copy.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Copy.hpp index b7ce1ba5ed..c5406c72b0 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Copy.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Copy.hpp @@ -50,7 +50,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy(const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -66,7 +66,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -93,7 +93,7 @@ template & source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyBackward.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyBackward.hpp index 8f9e0f19b8..82071a9362 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyBackward.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyBackward.hpp @@ -50,7 +50,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy_backward(const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -65,7 +65,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy_backward(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -92,7 +92,7 @@ template & source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyIf.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyIf.hpp index ba18bc76b9..599fde5737 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyIf.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyIf.hpp @@ -54,7 +54,8 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy_if(const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest, Predicate pred) { + const ::Kokkos::View& dest, + Predicate pred) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -69,7 +70,8 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy_if(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest, Predicate pred) { + const ::Kokkos::View& dest, + Predicate pred) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -96,7 +98,7 @@ template & source, - ::Kokkos::View& dest, Predicate pred) { + const ::Kokkos::View& dest, Predicate pred) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyN.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyN.hpp index 43c9120483..637d8d4cbc 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyN.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_CopyN.hpp @@ -51,7 +51,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy_n(const ExecutionSpace& ex, const ::Kokkos::View& source, Size count, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -66,7 +66,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto copy_n(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, Size count, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -93,7 +93,7 @@ template & source, Size count, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Equal.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Equal.hpp index a72a49cc22..593c42f87e 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Equal.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Equal.hpp @@ -80,7 +80,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool equal(const ExecutionSpace& ex, const ::Kokkos::View& view1, - ::Kokkos::View& view2) { + const ::Kokkos::View& view2) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); @@ -96,7 +96,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool equal(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view1, - ::Kokkos::View& view2) { + const ::Kokkos::View& view2) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); @@ -111,7 +111,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool equal(const ExecutionSpace& ex, const ::Kokkos::View& view1, - ::Kokkos::View& view2, + const ::Kokkos::View& view2, BinaryPredicateType predicate) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); @@ -128,7 +128,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> bool equal(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view1, - ::Kokkos::View& view2, + const ::Kokkos::View& view2, BinaryPredicateType predicate) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); @@ -227,7 +227,7 @@ template & view1, - ::Kokkos::View& view2) { + const ::Kokkos::View& view2) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); @@ -243,7 +243,7 @@ template & view1, - ::Kokkos::View& view2, + const ::Kokkos::View& view2, BinaryPredicateType predicate) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_IterSwap.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_IterSwap.hpp index a796a306dd..5bb2d1039d 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_IterSwap.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_IterSwap.hpp @@ -19,7 +19,6 @@ #include #include "impl/Kokkos_Constraints.hpp" -#include "Kokkos_Swap.hpp" namespace Kokkos { namespace Experimental { @@ -33,7 +32,7 @@ struct StdIterSwapFunctor { KOKKOS_FUNCTION void operator()(int i) const { (void)i; - ::Kokkos::Experimental::swap(*m_a, *m_b); + ::Kokkos::kokkos_swap(*m_a, *m_b); } KOKKOS_FUNCTION @@ -58,6 +57,16 @@ void iter_swap(IteratorType1 a, IteratorType2 b) { Impl::iter_swap_impl(a, b); } +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 +template +KOKKOS_DEPRECATED_WITH_COMMENT("Use Kokkos::kokkos_swap instead!") +KOKKOS_FUNCTION + void swap(T& a, T& b) noexcept(::Kokkos::kokkos_swap(std::declval(), + std::declval())) { + ::Kokkos::kokkos_swap(a, b); +} +#endif + } // namespace Experimental } // namespace Kokkos diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_LexicographicalCompare.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_LexicographicalCompare.hpp index 4b5c69df45..e13479c370 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_LexicographicalCompare.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_LexicographicalCompare.hpp @@ -54,7 +54,7 @@ template < bool lexicographical_compare( const ExecutionSpace& ex, const ::Kokkos::View& view1, - ::Kokkos::View& view2) { + const ::Kokkos::View& view2) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); @@ -71,7 +71,7 @@ template < bool lexicographical_compare( const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view1, - ::Kokkos::View& view2) { + const ::Kokkos::View& view2) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); @@ -112,7 +112,8 @@ template < bool lexicographical_compare( const ExecutionSpace& ex, const ::Kokkos::View& view1, - ::Kokkos::View& view2, ComparatorType comp) { + const ::Kokkos::View& view2, + ComparatorType comp) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); @@ -129,7 +130,8 @@ template < bool lexicographical_compare( const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& view1, - ::Kokkos::View& view2, ComparatorType comp) { + const ::Kokkos::View& view2, + ComparatorType comp) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); @@ -161,7 +163,7 @@ template & view1, - ::Kokkos::View& view2) { + const ::Kokkos::View& view2) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); @@ -187,7 +189,8 @@ template & view1, - ::Kokkos::View& view2, ComparatorType comp) { + const ::Kokkos::View& view2, + ComparatorType comp) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(view2); diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Move.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Move.hpp index f04ea12ba8..ac308ea184 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Move.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Move.hpp @@ -50,7 +50,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto move(const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -64,7 +64,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto move(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -92,7 +92,7 @@ template & source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_MoveBackward.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_MoveBackward.hpp index 375474ca57..2789ab2179 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_MoveBackward.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_MoveBackward.hpp @@ -41,7 +41,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto move_backward(const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -65,7 +65,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto move_backward(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -94,7 +94,7 @@ template & source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ReverseCopy.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ReverseCopy.hpp index 37336c983a..66f39c4eaa 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ReverseCopy.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_ReverseCopy.hpp @@ -50,7 +50,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto reverse_copy(const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -65,7 +65,7 @@ template < std::enable_if_t<::Kokkos::is_execution_space_v, int> = 0> auto reverse_copy(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -94,7 +94,7 @@ template & source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_SwapRanges.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_SwapRanges.hpp index 39f33b6487..d66763d304 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_SwapRanges.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_SwapRanges.hpp @@ -40,7 +40,7 @@ template , int> = 0> auto swap_ranges(const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -64,7 +64,7 @@ template , int> = 0> auto swap_ranges(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -94,7 +94,7 @@ template & source, - ::Kokkos::View& dest) { + const ::Kokkos::View& dest) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Transform.hpp b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Transform.hpp index 838c9169e2..84cbed524d 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Transform.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Transform.hpp @@ -58,7 +58,7 @@ template , int> = 0> auto transform(const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest, + const ::Kokkos::View& dest, UnaryOperation unary_op) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -73,7 +73,7 @@ template , int> = 0> auto transform(const std::string& label, const ExecutionSpace& ex, const ::Kokkos::View& source, - ::Kokkos::View& dest, + const ::Kokkos::View& dest, UnaryOperation unary_op) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -119,7 +119,7 @@ template & source1, const ::Kokkos::View& source2, - ::Kokkos::View& dest, + const ::Kokkos::View& dest, BinaryOperation binary_op) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source2); @@ -137,7 +137,7 @@ template & source1, const ::Kokkos::View& source2, - ::Kokkos::View& dest, + const ::Kokkos::View& dest, BinaryOperation binary_op) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source2); @@ -174,7 +174,8 @@ template & source, - ::Kokkos::View& dest, UnaryOperation unary_op) { + const ::Kokkos::View& dest, + UnaryOperation unary_op) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(dest); @@ -207,7 +208,7 @@ KOKKOS_FUNCTION auto transform( const TeamHandleType& teamHandle, const ::Kokkos::View& source1, const ::Kokkos::View& source2, - ::Kokkos::View& dest, + const ::Kokkos::View& dest, BinaryOperation binary_op) { Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source1); Impl::static_assert_is_admissible_to_kokkos_std_algorithms(source2); diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FunctorsForExclusiveScan.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FunctorsForExclusiveScan.hpp index 8151ee3495..5a7fe16984 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FunctorsForExclusiveScan.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_FunctorsForExclusiveScan.hpp @@ -47,8 +47,9 @@ struct ExclusiveScanDefaultFunctorForKnownNeutralElement { KOKKOS_FUNCTION void operator()(const IndexType i, ValueType& update, const bool final_pass) const { + const auto tmp = m_first_from[i]; if (final_pass) m_first_dest[i] = update + m_init_value; - update += m_first_from[i]; + update += tmp; } }; @@ -73,6 +74,7 @@ struct ExclusiveScanDefaultFunctorWithValueWrapper { KOKKOS_FUNCTION void operator()(const IndexType i, value_type& update, const bool final_pass) const { + const auto tmp = value_type{m_first_from[i], false}; if (final_pass) { if (i == 0) { m_first_dest[i] = m_init_value; @@ -81,7 +83,6 @@ struct ExclusiveScanDefaultFunctorWithValueWrapper { } } - const auto tmp = value_type{m_first_from[i], false}; this->join(update, tmp); } @@ -132,6 +133,7 @@ struct TransformExclusiveScanFunctorWithValueWrapper { KOKKOS_FUNCTION void operator()(const IndexType i, value_type& update, const bool final_pass) const { + const auto tmp = value_type{m_unary_op(m_first_from[i]), false}; if (final_pass) { if (i == 0) { // for both ExclusiveScan and TransformExclusiveScan, @@ -142,7 +144,6 @@ struct TransformExclusiveScanFunctorWithValueWrapper { } } - const auto tmp = value_type{m_unary_op(m_first_from[i]), false}; this->join(update, tmp); } @@ -190,6 +191,7 @@ struct TransformExclusiveScanFunctorWithoutValueWrapper { KOKKOS_FUNCTION void operator()(const IndexType i, ValueType& update, const bool final_pass) const { + const auto tmp = ValueType{m_unary_op(m_first_from[i])}; if (final_pass) { if (i == 0) { // for both ExclusiveScan and TransformExclusiveScan, @@ -200,7 +202,6 @@ struct TransformExclusiveScanFunctorWithoutValueWrapper { } } - const auto tmp = ValueType{m_unary_op(m_first_from[i])}; this->join(update, tmp); } diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_RemoveAllVariants.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_RemoveAllVariants.hpp index 50224c8874..456df43aed 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_RemoveAllVariants.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_RemoveAllVariants.hpp @@ -46,15 +46,14 @@ struct StdRemoveIfStage1Functor { void operator()(const IndexType i, IndexType& update, const bool final_pass) const { auto& myval = m_first_from[i]; - if (final_pass) { - if (!m_must_remove(myval)) { + + if (!m_must_remove(myval)) { + if (final_pass) { // calling move here is ok because we are inside final pass // we are calling move assign as specified by the std m_first_dest[update] = std::move(myval); } - } - if (!m_must_remove(myval)) { update += 1; } } @@ -108,7 +107,9 @@ IteratorType remove_if_exespace_impl(const std::string& label, // create helper tmp view using value_type = typename IteratorType::value_type; using tmp_view_type = Kokkos::View; - tmp_view_type tmp_view("std_remove_if_tmp_view", keep_count); + tmp_view_type tmp_view(Kokkos::view_alloc(Kokkos::WithoutInitializing, ex, + "std_remove_if_tmp_view"), + keep_count); using tmp_readwrite_iterator_type = decltype(begin(tmp_view)); // in stage 1, *move* all elements to keep from original range to tmp diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Reverse.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Reverse.hpp index 428dc0d744..b4046c7645 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Reverse.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Reverse.hpp @@ -21,7 +21,6 @@ #include "Kokkos_Constraints.hpp" #include "Kokkos_HelperPredicates.hpp" #include -#include #include namespace Kokkos { @@ -39,7 +38,7 @@ struct StdReverseFunctor { KOKKOS_FUNCTION void operator()(index_type i) const { - ::Kokkos::Experimental::swap(m_first[i], m_last[-i - 1]); + ::Kokkos::kokkos_swap(m_first[i], m_last[-i - 1]); } KOKKOS_FUNCTION diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ShiftLeft.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ShiftLeft.hpp index 50bc7c8d61..9414748507 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ShiftLeft.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ShiftLeft.hpp @@ -126,10 +126,11 @@ KOKKOS_FUNCTION IteratorType shift_left_team_impl( // execution space impl because for this team impl we are // within a parallel region, so for now we solve serially - const std::size_t numElementsToMove = + using difference_type = typename IteratorType::difference_type; + const difference_type numElementsToMove = ::Kokkos::Experimental::distance(first + n, last); Kokkos::single(Kokkos::PerTeam(teamHandle), [=]() { - for (std::size_t i = 0; i < numElementsToMove; ++i) { + for (difference_type i = 0; i < numElementsToMove; ++i) { first[i] = std::move(first[i + n]); } }); diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ShiftRight.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ShiftRight.hpp index cac20bfbba..0414e6f1c2 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ShiftRight.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_ShiftRight.hpp @@ -103,26 +103,6 @@ IteratorType shift_right_exespace_impl( return first + n; } -template -struct StdShiftRightTeamSingleFunctor { - Iterator m_first; - Iterator m_last; - std::size_t m_shift; - - KOKKOS_FUNCTION - void operator()() const { - // the impl function calling this functor guarantees that - // - m_shift is non-negative - // - m_first, m_last identify a valid range with m_last > m_first - // - m_shift is less than m_last - m_first - // so I can safely use std::size_t here - } - - KOKKOS_FUNCTION - StdShiftRightTeamSingleFunctor(Iterator _first, Iterator _last, std::size_t n) - : m_first(std::move(_first)), m_last(std::move(_last)), m_shift(n) {} -}; - template KOKKOS_FUNCTION IteratorType shift_right_team_impl( const TeamHandleType& teamHandle, IteratorType first, IteratorType last, @@ -145,10 +125,11 @@ KOKKOS_FUNCTION IteratorType shift_right_team_impl( // execution space impl because for this team impl we are // within a parallel region, so for now we solve serially - const std::size_t numElementsToMove = + using difference_type = typename IteratorType::difference_type; + const difference_type numElementsToMove = ::Kokkos::Experimental::distance(first, last - n); Kokkos::single(Kokkos::PerTeam(teamHandle), [=]() { - for (std::size_t i = 0; i < numElementsToMove; ++i) { + for (difference_type i = 0; i < numElementsToMove; ++i) { last[-i - 1] = std::move(last[-n - i - 1]); } }); diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_SwapRanges.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_SwapRanges.hpp index 5bc77ed7dd..930a14ac48 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_SwapRanges.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_SwapRanges.hpp @@ -21,7 +21,6 @@ #include "Kokkos_Constraints.hpp" #include "Kokkos_HelperPredicates.hpp" #include -#include #include namespace Kokkos { @@ -36,7 +35,7 @@ struct StdSwapRangesFunctor { KOKKOS_FUNCTION void operator()(index_type i) const { - ::Kokkos::Experimental::swap(m_first1[i], m_first2[i]); + ::Kokkos::kokkos_swap(m_first1[i], m_first2[i]); } KOKKOS_FUNCTION diff --git a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Unique.hpp b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Unique.hpp index 11afa8ed6e..2863582458 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Unique.hpp +++ b/lib/kokkos/algorithms/src/std_algorithms/impl/Kokkos_Unique.hpp @@ -105,7 +105,9 @@ IteratorType unique_exespace_impl(const std::string& label, // using the same algorithm used for unique_copy but we now move things using value_type = typename IteratorType::value_type; using tmp_view_type = Kokkos::View; - tmp_view_type tmp_view("std_unique_tmp_view", num_elements_to_explore); + tmp_view_type tmp_view(Kokkos::view_alloc(ex, Kokkos::WithoutInitializing, + "std_unique_tmp_view"), + num_elements_to_explore); // scan extent is: num_elements_to_explore - 1 // for same reason as the one explained in unique_copy diff --git a/lib/kokkos/algorithms/unit_tests/CMakeLists.txt b/lib/kokkos/algorithms/unit_tests/CMakeLists.txt index 419f5ec1d1..db184bc8a9 100644 --- a/lib/kokkos/algorithms/unit_tests/CMakeLists.txt +++ b/lib/kokkos/algorithms/unit_tests/CMakeLists.txt @@ -25,6 +25,7 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;HIP;SYCL;OpenMPTarget) set(ALGO_SORT_SOURCES) foreach(SOURCE_Input TestSort + TestSortByKey TestSortCustomComp TestBinSortA TestBinSortB @@ -57,35 +58,37 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;HIP;SYCL;OpenMPTarget) configure_file(${dir}/dummy.cpp ${file}) list(APPEND ALGO_RANDOM_SOURCES ${file}) endforeach() + endif() +endforeach() - # ------------------------------------------ - # std set A - # ------------------------------------------ - set(STDALGO_SOURCES_A) - foreach(Name +# ------------------------------------------ +# std set A +# ------------------------------------------ +set(STDALGO_SOURCES_A) +foreach(Name StdReducers StdAlgorithmsConstraints RandomAccessIterator - ) - list(APPEND STDALGO_SOURCES_A Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_SOURCES_A Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std set B - # ------------------------------------------ - set(STDALGO_SOURCES_B) - foreach(Name +# ------------------------------------------ +# std set B +# ------------------------------------------ +set(STDALGO_SOURCES_B) +foreach(Name StdAlgorithmsCommon StdAlgorithmsMinMaxElementOps - ) - list(APPEND STDALGO_SOURCES_B Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_SOURCES_B Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std set C - # ------------------------------------------ - set(STDALGO_SOURCES_C) - foreach(Name +# ------------------------------------------ +# std set C +# ------------------------------------------ +set(STDALGO_SOURCES_C) +foreach(Name StdAlgorithmsCommon StdAlgorithmsLexicographicalCompare StdAlgorithmsForEach @@ -100,15 +103,15 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;HIP;SYCL;OpenMPTarget) StdAlgorithmsSearch_n StdAlgorithmsMismatch StdAlgorithmsMoveBackward - ) - list(APPEND STDALGO_SOURCES_C Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_SOURCES_C Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std set D - # ------------------------------------------ - set(STDALGO_SOURCES_D) - foreach(Name +# ------------------------------------------ +# std set D +# ------------------------------------------ +set(STDALGO_SOURCES_D) +foreach(Name StdAlgorithmsCommon StdAlgorithmsModOps StdAlgorithmsModSeqOps @@ -128,15 +131,15 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;HIP;SYCL;OpenMPTarget) StdAlgorithmsReverse StdAlgorithmsShiftLeft StdAlgorithmsShiftRight - ) - list(APPEND STDALGO_SOURCES_D Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_SOURCES_D Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std set E - # ------------------------------------------ - set(STDALGO_SOURCES_E) - foreach(Name +# ------------------------------------------ +# std set E +# ------------------------------------------ +set(STDALGO_SOURCES_E) +foreach(Name StdAlgorithmsCommon StdAlgorithmsIsSorted StdAlgorithmsIsSortedUntil @@ -149,83 +152,83 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;HIP;SYCL;OpenMPTarget) StdAlgorithmsTransformUnaryOp StdAlgorithmsTransformExclusiveScan StdAlgorithmsTransformInclusiveScan - ) - list(APPEND STDALGO_SOURCES_E Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_SOURCES_E Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team Q - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_Q) - foreach(Name +# ------------------------------------------ +# std team Q +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_Q) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamInclusiveScan StdAlgorithmsTeamTransformInclusiveScan - ) - list(APPEND STDALGO_TEAM_SOURCES_Q Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_Q Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team P - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_P) - foreach(Name +# ------------------------------------------ +# std team P +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_P) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamExclusiveScan StdAlgorithmsTeamTransformExclusiveScan - ) - list(APPEND STDALGO_TEAM_SOURCES_P Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_P Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team M - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_M) - foreach(Name +# ------------------------------------------ +# std team M +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_M) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamTransformUnaryOp StdAlgorithmsTeamTransformBinaryOp StdAlgorithmsTeamGenerate StdAlgorithmsTeamGenerate_n StdAlgorithmsTeamSwapRanges - ) - list(APPEND STDALGO_TEAM_SOURCES_M Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_M Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team L - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_L) - foreach(Name +# ------------------------------------------ +# std team L +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_L) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamIsSorted StdAlgorithmsTeamIsSortedUntil StdAlgorithmsTeamIsPartitioned StdAlgorithmsTeamPartitionCopy StdAlgorithmsTeamPartitionPoint - ) - list(APPEND STDALGO_TEAM_SOURCES_L Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_L Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team I - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_I) - foreach(Name +# ------------------------------------------ +# std team I +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_I) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamUnique StdAlgorithmsTeamAdjacentDifference StdAlgorithmsTeamReduce StdAlgorithmsTeamTransformReduce - ) - list(APPEND STDALGO_TEAM_SOURCES_I Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_I Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team H - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_H) - foreach(Name +# ------------------------------------------ +# std team H +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_H) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamCopy StdAlgorithmsTeamCopy_n @@ -236,43 +239,43 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;HIP;SYCL;OpenMPTarget) StdAlgorithmsTeamRemoveIf StdAlgorithmsTeamRemoveCopy StdAlgorithmsTeamRemoveCopyIf - ) - list(APPEND STDALGO_TEAM_SOURCES_H Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_H Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team G - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_G) - foreach(Name +# ------------------------------------------ +# std team G +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_G) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamMove StdAlgorithmsTeamMoveBackward StdAlgorithmsTeamShiftLeft StdAlgorithmsTeamShiftRight - ) - list(APPEND STDALGO_TEAM_SOURCES_G Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_G Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team F - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_F) - foreach(Name +# ------------------------------------------ +# std team F +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_F) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamReverse StdAlgorithmsTeamReverseCopy StdAlgorithmsTeamRotate StdAlgorithmsTeamRotateCopy - ) - list(APPEND STDALGO_TEAM_SOURCES_F Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_F Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team E - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_E) - foreach(Name +# ------------------------------------------ +# std team E +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_E) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamFill StdAlgorithmsTeamFill_n @@ -280,28 +283,28 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;HIP;SYCL;OpenMPTarget) StdAlgorithmsTeamReplaceIf StdAlgorithmsTeamReplaceCopy StdAlgorithmsTeamReplaceCopyIf - ) - list(APPEND STDALGO_TEAM_SOURCES_E Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_E Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team D - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_D) - foreach(Name +# ------------------------------------------ +# std team D +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_D) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamMinElement StdAlgorithmsTeamMaxElement StdAlgorithmsTeamMinMaxElement - ) - list(APPEND STDALGO_TEAM_SOURCES_D Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_D Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team C - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_C) - foreach(Name +# ------------------------------------------ +# std team C +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_C) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamFind StdAlgorithmsTeamFindIf @@ -310,29 +313,29 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;HIP;SYCL;OpenMPTarget) StdAlgorithmsTeamAnyOf StdAlgorithmsTeamNoneOf StdAlgorithmsTeamSearchN - ) - list(APPEND STDALGO_TEAM_SOURCES_C Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_C Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team B - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_B) - foreach(Name +# ------------------------------------------ +# std team B +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_B) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamEqual StdAlgorithmsTeamSearch StdAlgorithmsTeamFindEnd StdAlgorithmsTeamFindFirstOf - ) - list(APPEND STDALGO_TEAM_SOURCES_B Test${Name}.cpp) - endforeach() + ) + list(APPEND STDALGO_TEAM_SOURCES_B Test${Name}.cpp) +endforeach() - # ------------------------------------------ - # std team A - # ------------------------------------------ - set(STDALGO_TEAM_SOURCES_A) - foreach(Name +# ------------------------------------------ +# std team A +# ------------------------------------------ +set(STDALGO_TEAM_SOURCES_A) +foreach(Name StdAlgorithmsCommon StdAlgorithmsTeamAdjacentFind StdAlgorithmsTeamCount @@ -341,11 +344,8 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;HIP;SYCL;OpenMPTarget) StdAlgorithmsTeamForEachN StdAlgorithmsTeamLexicographicalCompare StdAlgorithmsTeamMismatch - ) - list(APPEND STDALGO_TEAM_SOURCES_A Test${Name}.cpp) - endforeach() - - endif() + ) + list(APPEND STDALGO_TEAM_SOURCES_A Test${Name}.cpp) endforeach() # FIXME_OPENMPTARGET - remove sort test as it leads to ICE with clang/16 and above at compile time. diff --git a/lib/kokkos/algorithms/unit_tests/Makefile b/lib/kokkos/algorithms/unit_tests/Makefile index 601217799a..d3946c149b 100644 --- a/lib/kokkos/algorithms/unit_tests/Makefile +++ b/lib/kokkos/algorithms/unit_tests/Makefile @@ -27,13 +27,13 @@ TARGETS = tmp := $(foreach device, $(KOKKOS_DEVICELIST), \ $(if $(filter Test$(device).cpp, $(shell ls Test$(device).cpp 2>/dev/null)),,\ - $(shell echo "\#include " > Test$(device).cpp); \ - $(shell echo "\#include " >> Test$(device).cpp); \ - $(shell echo "\#include " >> Test$(device).cpp); \ - $(shell echo "\#include " >> Test$(device).cpp); \ - $(shell echo "\#include " >> Test$(device).cpp); \ - $(shell echo "\#include " >> Test$(device).cpp); \ - $(shell echo "\#include " >> Test$(device).cpp); \ + $(shell echo "$(H)include " > Test$(device).cpp); \ + $(shell echo "$(H)include " >> Test$(device).cpp); \ + $(shell echo "$(H)include " >> Test$(device).cpp); \ + $(shell echo "$(H)include " >> Test$(device).cpp); \ + $(shell echo "$(H)include " >> Test$(device).cpp); \ + $(shell echo "$(H)include " >> Test$(device).cpp); \ + $(shell echo "$(H)include " >> Test$(device).cpp); \ ) \ ) diff --git a/lib/kokkos/algorithms/unit_tests/TestSortByKey.hpp b/lib/kokkos/algorithms/unit_tests/TestSortByKey.hpp new file mode 100644 index 0000000000..16f68eaaf2 --- /dev/null +++ b/lib/kokkos/algorithms/unit_tests/TestSortByKey.hpp @@ -0,0 +1,241 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_ALGORITHMS_UNITTESTS_TEST_SORT_BY_KEY_HPP +#define KOKKOS_ALGORITHMS_UNITTESTS_TEST_SORT_BY_KEY_HPP + +#include +#include +#include +#include + +#include // pair + +namespace Test { +namespace SortImpl { + +struct Less { + template + KOKKOS_INLINE_FUNCTION bool operator()(const ValueType &lhs, + const ValueType &rhs) const { + return lhs < rhs; + } +}; + +struct Greater { + template + KOKKOS_INLINE_FUNCTION bool operator()(const ValueType &lhs, + const ValueType &rhs) const { + return lhs > rhs; + } +}; + +template +struct is_sorted_by_key_struct { + Keys keys; + Keys keys_orig; + Permute permute; + Comparator comparator; + + is_sorted_by_key_struct(Keys keys_, Keys keys_orig_, Permute permute_, + Comparator comparator_ = Comparator{}) + : keys(keys_), + keys_orig(keys_orig_), + permute(permute_), + comparator(comparator_) {} + KOKKOS_INLINE_FUNCTION + void operator()(int i, unsigned int &count) const { + if (i < keys.extent_int(0) - 1 && comparator(keys(i + 1), keys(i))) ++count; + if (keys(i) != keys_orig(permute(i))) ++count; + } +}; + +template +void iota(ExecutionSpace const &space, ViewType const &v, + typename ViewType::value_type value = 0) { + using ValueType = typename ViewType::value_type; + Kokkos::parallel_for( + "ArborX::Algorithms::iota", + Kokkos::RangePolicy(space, 0, v.extent(0)), + KOKKOS_LAMBDA(int i) { v(i) = value + (ValueType)i; }); +} + +} // namespace SortImpl + +TEST(TEST_CATEGORY, SortByKeyEmptyView) { + using ExecutionSpace = TEST_EXECSPACE; + + // does not matter if we use int or something else + Kokkos::View keys("keys", 0); + Kokkos::View values("values", 0); + + ASSERT_NO_THROW( + Kokkos::Experimental::sort_by_key(ExecutionSpace(), keys, values)); +} + +TEST(TEST_CATEGORY, SortByKey) { + using ExecutionSpace = TEST_EXECSPACE; + using MemorySpace = typename ExecutionSpace::memory_space; + + ExecutionSpace space{}; + + for (auto keys_vector : {std::vector{36, 19, 25, 17, 3, 7, 1, 2, 9}, + std::vector{36, 19, 25, 17, 3, 9, 1, 2, 7}, + std::vector{100, 19, 36, 17, 3, 25, 1, 2, 7}, + std::vector{15, 5, 11, 3, 4, 8}}) { + auto const n = keys_vector.size(); + + auto keys = Kokkos::create_mirror_view_and_copy( + MemorySpace{}, + Kokkos::View( + keys_vector.data(), n)); + + auto keys_orig = Kokkos::create_mirror(space, keys); + Kokkos::deep_copy(space, keys_orig, keys); + + Kokkos::View permute("permute", n); + SortImpl::iota(space, permute); + + Kokkos::Experimental::sort_by_key(space, keys, permute); + + unsigned int sort_fails = 0; + Kokkos::parallel_reduce( + Kokkos::RangePolicy(space, 0, n), + SortImpl::is_sorted_by_key_struct(keys, keys_orig, + permute), + sort_fails); + + ASSERT_EQ(sort_fails, 0u); + } +} + +TEST(TEST_CATEGORY, SortByKeyWithComparator) { + using ExecutionSpace = TEST_EXECSPACE; + using MemorySpace = typename ExecutionSpace::memory_space; + + ExecutionSpace space{}; + + SortImpl::Greater comparator; + + for (auto keys_vector : {std::vector{36, 19, 25, 17, 3, 7, 1, 2, 9}, + std::vector{36, 19, 25, 17, 3, 9, 1, 2, 7}, + std::vector{100, 19, 36, 17, 3, 25, 1, 2, 7}, + std::vector{15, 5, 11, 3, 4, 8}}) { + auto const n = keys_vector.size(); + + auto keys = Kokkos::create_mirror_view_and_copy( + MemorySpace{}, + Kokkos::View( + keys_vector.data(), n)); + + auto keys_orig = Kokkos::create_mirror(space, keys); + Kokkos::deep_copy(space, keys_orig, keys); + + Kokkos::View permute("permute", n); + SortImpl::iota(space, permute); + + Kokkos::Experimental::sort_by_key(space, keys, permute, comparator); + + unsigned int sort_fails = 0; + Kokkos::parallel_reduce( + Kokkos::RangePolicy(space, 0, n), + SortImpl::is_sorted_by_key_struct( + keys, keys_orig, permute, comparator), + sort_fails); + + ASSERT_EQ(sort_fails, 0u); + } +} + +TEST(TEST_CATEGORY, SortByKeyStaticExtents) { + using ExecutionSpace = TEST_EXECSPACE; + + ExecutionSpace space{}; + + Kokkos::View keys("keys"); + + Kokkos::View values_static("values_static"); + ASSERT_NO_THROW( + Kokkos::Experimental::sort_by_key(space, keys, values_static)); + + Kokkos::View values_dynamic("values_dynamic", 10); + ASSERT_NO_THROW( + Kokkos::Experimental::sort_by_key(space, keys, values_dynamic)); +} + +template +void buildViewsForStrided(ExecutionSpace const &space, int n, Keys &keys, + Values &values) { + Kokkos::parallel_for( + "create_data", + Kokkos::MDRangePolicy, ExecutionSpace>(space, {0, 0, 0}, + {n, n, n}), + KOKKOS_LAMBDA(int i, int j, int k) { + keys(i, j, k) = n - i; + values(i, j, k) = j; + }); +} + +TEST(TEST_CATEGORY, SortByKeyWithStrides) { + using ExecutionSpace = TEST_EXECSPACE; + + ExecutionSpace space{}; + + auto const n = 10; + + Kokkos::View keys("keys", n, n, n); + Kokkos::View values("values", n, n, n); + buildViewsForStrided(space, n, keys, values); + + auto keys_sub = Kokkos::subview(keys, Kokkos::ALL(), 1, 2); + auto values_sub = Kokkos::subview(values, 4, Kokkos::ALL(), 6); + + auto keys_orig = Kokkos::create_mirror(space, keys_sub); + Kokkos::deep_copy(space, keys_orig, keys_sub); + + Kokkos::Experimental::sort_by_key(space, keys_sub, values_sub); + + unsigned int sort_fails = 0; + Kokkos::parallel_reduce( + Kokkos::RangePolicy(space, 0, n), + SortImpl::is_sorted_by_key_struct( + keys_sub, keys_orig, values_sub), + sort_fails); + + ASSERT_EQ(sort_fails, 0u); +} + +TEST(TEST_CATEGORY, SortByKeyKeysLargerThanValues) { + using ExecutionSpace = TEST_EXECSPACE; + + // does not matter if we use int or something else + Kokkos::View keys("keys", 3); + Kokkos::View values("values", 1); + + ASSERT_DEATH( + Kokkos::Experimental::sort_by_key(ExecutionSpace(), keys, values), + "values and keys extents must be the same"); + ASSERT_DEATH(Kokkos::Experimental::sort_by_key(ExecutionSpace(), keys, values, + SortImpl::Greater{}), + "values and keys extents must be the same"); +} + +} // namespace Test +#endif diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsCommon.hpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsCommon.hpp index 3eb963faf2..67052e2f9d 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsCommon.hpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsCommon.hpp @@ -239,16 +239,8 @@ KOKKOS_FUNCTION bool team_members_have_matching_result( // set accum to 1 if a mismach is found const bool mismatch = memberValue != target; int accum = static_cast(mismatch); - // FIXME_OPENMPTARGET: team API does not meet the TeamHandle concept and - // ignores the reducer passed -#if defined KOKKOS_ENABLE_OPENMPTARGET - Kokkos::Sum dummyReducer(accum); - const auto result = teamHandle.team_reduce(accum, dummyReducer); - return (result == 0); -#else teamHandle.team_reduce(Kokkos::Sum(accum)); return (accum == 0); -#endif } template diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsExclusiveScan.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsExclusiveScan.cpp index 6ab68a1987..b364c53a88 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsExclusiveScan.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsExclusiveScan.cpp @@ -16,6 +16,7 @@ #include #include +#include namespace Test { namespace stdalgos { @@ -132,47 +133,6 @@ void my_host_exclusive_scan(it1 first, it1 last, it2 dest, ValType init, } } -template -void verify_data(ViewType1 data_view, // contains data - ViewType2 test_view, // the view to test - ValueType init_value, BinaryOp bop) { - //! always careful because views might not be deep copyable - - auto data_view_dc = create_deep_copyable_compatible_clone(data_view); - auto data_view_h = - create_mirror_view_and_copy(Kokkos::HostSpace(), data_view_dc); - - using gold_view_value_type = typename ViewType2::value_type; - Kokkos::View gold_h( - "goldh", data_view.extent(0)); - my_host_exclusive_scan(KE::cbegin(data_view_h), KE::cend(data_view_h), - KE::begin(gold_h), init_value, bop); - - auto test_view_dc = create_deep_copyable_compatible_clone(test_view); - auto test_view_h = - create_mirror_view_and_copy(Kokkos::HostSpace(), test_view_dc); - if (test_view_h.extent(0) > 0) { - for (std::size_t i = 0; i < test_view_h.extent(0); ++i) { - // std::cout << i << " " << std::setprecision(15) << data_view_h(i) << " " - // << gold_h(i) << " " << test_view_h(i) << " " - // << std::abs(gold_h(i) - test_view_h(i)) << std::endl; - if (std::is_same::value) { - ASSERT_EQ(gold_h(i), test_view_h(i)); - } else { - const auto error = - std::abs(static_cast(gold_h(i) - test_view_h(i))); - if (error > 1e-10) { - std::cout << i << " " << std::setprecision(15) << data_view_h(i) - << " " << gold_h(i) << " " << test_view_h(i) << " " - << std::abs(static_cast(gold_h(i) - test_view_h(i))) - << std::endl; - } - EXPECT_LT(error, 1e-10); - } - } - } -} - template struct MultiplyFunctor { KOKKOS_INLINE_FUNCTION @@ -189,107 +149,153 @@ struct SumFunctor { } }; +struct VerifyData { + template + void operator()(ViewType1 data_view, // contains data + ViewType2 test_view, // the view to test + ValueType init_value, BinaryOp bop) { + //! always careful because views might not be deep copyable + + auto data_view_dc = create_deep_copyable_compatible_clone(data_view); + auto data_view_h = + create_mirror_view_and_copy(Kokkos::HostSpace(), data_view_dc); + + using gold_view_value_type = typename ViewType2::value_type; + Kokkos::View gold_h( + "goldh", data_view.extent(0)); + my_host_exclusive_scan(KE::cbegin(data_view_h), KE::cend(data_view_h), + KE::begin(gold_h), init_value, bop); + + auto test_view_dc = create_deep_copyable_compatible_clone(test_view); + auto test_view_h = + create_mirror_view_and_copy(Kokkos::HostSpace(), test_view_dc); + if (test_view_h.extent(0) > 0) { + for (std::size_t i = 0; i < test_view_h.extent(0); ++i) { + if (std::is_same::value) { + ASSERT_EQ(gold_h(i), test_view_h(i)); + } else { + const auto error = + std::abs(static_cast(gold_h(i) - test_view_h(i))); + ASSERT_LT(error, 1e-10) << i << " " << std::setprecision(15) << error + << static_cast(test_view_h(i)) << " " + << static_cast(gold_h(i)); + } + } + } + } + + template + void operator()(ViewType1 data_view, // contains data + ViewType2 test_view, // the view to test + ValueType init_value) { + (*this)(data_view, test_view, init_value, SumFunctor()); + } +}; + std::string value_type_to_string(int) { return "int"; } std::string value_type_to_string(double) { return "double"; } -template -void run_single_scenario_default_op(const InfoType& scenario_info, - ValueType init_value) { - using default_op = SumFunctor; +template +void run_single_scenario(const InfoType& scenario_info, ValueType init_value, + OpOrEmpty... empty_or_op) { const auto name = std::get<0>(scenario_info); const std::size_t view_ext = std::get<1>(scenario_info); - // std::cout << "exclusive_scan default op: " << name << ", " - // << view_tag_to_string(Tag{}) << ", " - // << value_type_to_string(ValueType()) << ", " - // << "init = " << init_value << std::endl; auto view_dest = create_view(Tag{}, view_ext, "exclusive_scan"); auto view_from = create_view(Tag{}, view_ext, "exclusive_scan"); fill_view(view_from, name); + // view_dest is filled with zeros before calling the algorithm everytime to + // ensure the algorithm does something meaningful { fill_zero(view_dest); auto r = KE::exclusive_scan(exespace(), KE::cbegin(view_from), KE::cend(view_from), KE::begin(view_dest), - init_value); + init_value, empty_or_op...); ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, init_value, default_op()); + VerifyData()(view_from, view_dest, init_value, empty_or_op...); } { fill_zero(view_dest); auto r = KE::exclusive_scan("label", exespace(), KE::cbegin(view_from), KE::cend(view_from), KE::begin(view_dest), - init_value); + init_value, empty_or_op...); ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, init_value, default_op()); + VerifyData()(view_from, view_dest, init_value, empty_or_op...); } { fill_zero(view_dest); - auto r = KE::exclusive_scan(exespace(), view_from, view_dest, init_value); + auto r = KE::exclusive_scan(exespace(), view_from, view_dest, init_value, + empty_or_op...); ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, init_value, default_op()); + VerifyData()(view_from, view_dest, init_value, empty_or_op...); } { fill_zero(view_dest); auto r = KE::exclusive_scan("label", exespace(), view_from, view_dest, - init_value); + init_value, empty_or_op...); ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, init_value, default_op()); + VerifyData()(view_from, view_dest, init_value, empty_or_op...); } Kokkos::fence(); } -template -void run_single_scenario_custom_op(const InfoType& scenario_info, - ValueType init_value, BinaryOp bop) { +template +void run_single_scenario_inplace(const InfoType& scenario_info, + ValueType init_value, + OpOrEmpty... empty_or_op) { const auto name = std::get<0>(scenario_info); const std::size_t view_ext = std::get<1>(scenario_info); - // std::cout << "exclusive_scan custom op: " << name << ", " - // << view_tag_to_string(Tag{}) << ", " - // << value_type_to_string(ValueType()) << ", " - // << "init = " << init_value << std::endl; - auto view_dest = create_view(Tag{}, view_ext, "exclusive_scan"); - auto view_from = create_view(Tag{}, view_ext, "exclusive_scan"); - fill_view(view_from, name); + // since here we call the in-place operation, we need to use two views: + // view1: filled according to what the scenario asks for and is not modified + // view2: filled according to what the scenario asks for and used for the + // in-place op Therefore, after the op is done, view2 should contain the + // result of doing exclusive scan NOTE: view2 is filled below every time + // because the algorithm acts in place + auto view1 = + create_view(Tag{}, view_ext, "exclusive_scan_inplace_view1"); + fill_view(view1, name); + + auto view2 = + create_view(Tag{}, view_ext, "exclusive_scan_inplace_view2"); { - fill_zero(view_dest); - auto r = KE::exclusive_scan(exespace(), KE::cbegin(view_from), - KE::cend(view_from), KE::begin(view_dest), - init_value, bop); - ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, init_value, bop); + fill_view(view2, name); + auto r = KE::exclusive_scan(exespace(), KE::cbegin(view2), KE::cend(view2), + KE::begin(view2), init_value, empty_or_op...); + ASSERT_EQ(r, KE::end(view2)); + VerifyData()(view1, view2, init_value, empty_or_op...); } { - fill_zero(view_dest); - auto r = KE::exclusive_scan("label", exespace(), KE::cbegin(view_from), - KE::cend(view_from), KE::begin(view_dest), - init_value, bop); - ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, init_value, bop); + fill_view(view2, name); + auto r = KE::exclusive_scan("label", exespace(), KE::cbegin(view2), + KE::cend(view2), KE::begin(view2), init_value, + empty_or_op...); + ASSERT_EQ(r, KE::end(view2)); + VerifyData()(view1, view2, init_value, empty_or_op...); } { - fill_zero(view_dest); - auto r = - KE::exclusive_scan(exespace(), view_from, view_dest, init_value, bop); - ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, init_value, bop); + fill_view(view2, name); + auto r = KE::exclusive_scan(exespace(), view2, view2, init_value, + empty_or_op...); + ASSERT_EQ(r, KE::end(view2)); + VerifyData()(view1, view2, init_value, empty_or_op...); } { - fill_zero(view_dest); - auto r = KE::exclusive_scan("label", exespace(), view_from, view_dest, - init_value, bop); - ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, init_value, bop); + fill_view(view2, name); + auto r = KE::exclusive_scan("label", exespace(), view2, view2, init_value, + empty_or_op...); + ASSERT_EQ(r, KE::end(view2)); + VerifyData()(view1, view2, init_value, empty_or_op...); } Kokkos::fence(); @@ -303,34 +309,39 @@ void run_exclusive_scan_all_scenarios() { {"medium", 1103}, {"large", 10513}}; for (const auto& it : scenarios) { - run_single_scenario_default_op(it, ValueType{0}); - run_single_scenario_default_op(it, ValueType{1}); - run_single_scenario_default_op(it, ValueType{-2}); - run_single_scenario_default_op(it, ValueType{3}); + run_single_scenario(it, ValueType{0}); + run_single_scenario(it, ValueType{1}); + run_single_scenario(it, ValueType{-2}); + run_single_scenario(it, ValueType{3}); + + run_single_scenario_inplace(it, ValueType{0}); + run_single_scenario_inplace(it, ValueType{-2}); #if !defined KOKKOS_ENABLE_OPENMPTARGET // custom multiply op is only run for small views otherwise it overflows if (it.first == "small-a" || it.first == "small-b") { using custom_bop_t = MultiplyFunctor; - run_single_scenario_custom_op(it, ValueType{0}, - custom_bop_t()); - run_single_scenario_custom_op(it, ValueType{1}, - custom_bop_t()); - run_single_scenario_custom_op(it, ValueType{-2}, - custom_bop_t()); - run_single_scenario_custom_op(it, ValueType{3}, - custom_bop_t()); + run_single_scenario(it, ValueType{0}, custom_bop_t()); + run_single_scenario(it, ValueType{1}, custom_bop_t()); + run_single_scenario(it, ValueType{-2}, custom_bop_t()); + run_single_scenario(it, ValueType{3}, custom_bop_t()); + + run_single_scenario_inplace(it, ValueType{0}, + custom_bop_t()); + run_single_scenario_inplace(it, ValueType{-2}, + custom_bop_t()); } using custom_bop_t = SumFunctor; - run_single_scenario_custom_op(it, ValueType{0}, - custom_bop_t()); - run_single_scenario_custom_op(it, ValueType{1}, - custom_bop_t()); - run_single_scenario_custom_op(it, ValueType{-2}, - custom_bop_t()); - run_single_scenario_custom_op(it, ValueType{3}, - custom_bop_t()); + run_single_scenario(it, ValueType{0}, custom_bop_t()); + run_single_scenario(it, ValueType{1}, custom_bop_t()); + run_single_scenario(it, ValueType{-2}, custom_bop_t()); + run_single_scenario(it, ValueType{3}, custom_bop_t()); + + run_single_scenario_inplace(it, ValueType{0}, + custom_bop_t()); + run_single_scenario_inplace(it, ValueType{-2}, + custom_bop_t()); #endif } } diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsInclusiveScan.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsInclusiveScan.cpp index 8e60a43e5f..a08a737210 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsInclusiveScan.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsInclusiveScan.cpp @@ -16,6 +16,7 @@ #include #include +#include namespace Test { namespace stdalgos { @@ -143,51 +144,6 @@ void my_host_inclusive_scan(it1 first, it1 last, it2 dest, BinOp bop, } } -template -void verify_data(ViewType1 data_view, // contains data - ViewType2 test_view, // the view to test - BinaryOp bop, Args... args /* copy on purpose */) { - //! always careful because views might not be deep copyable - - auto data_view_dc = create_deep_copyable_compatible_clone(data_view); - auto data_view_h = - create_mirror_view_and_copy(Kokkos::HostSpace(), data_view_dc); - - using gold_view_value_type = typename ViewType2::value_type; - Kokkos::View gold_h( - "goldh", data_view.extent(0)); - my_host_inclusive_scan(KE::cbegin(data_view_h), KE::cend(data_view_h), - KE::begin(gold_h), bop, args...); - - auto test_view_dc = create_deep_copyable_compatible_clone(test_view); - auto test_view_h = - create_mirror_view_and_copy(Kokkos::HostSpace(), test_view_dc); - - const auto ext = test_view_h.extent(0); - if (ext > 0) { - for (std::size_t i = 0; i < ext; ++i) { - // std::cout << i << " " << std::setprecision(15) << data_view_h(i) << " " - // << gold_h(i) << " " << test_view_h(i) << " " - // << std::abs(gold_h(i) - test_view_h(i)) << std::endl; - - if (std::is_same::value) { - ASSERT_EQ(gold_h(i), test_view_h(i)); - } else { - const auto error = - std::abs(static_cast(gold_h(i) - test_view_h(i))); - if (error > 1e-10) { - std::cout << i << " " << std::setprecision(15) << data_view_h(i) - << " " << gold_h(i) << " " << test_view_h(i) << " " - << std::abs(static_cast(gold_h(i) - test_view_h(i))) - << std::endl; - } - EXPECT_LT(error, 1e-10); - } - } - // std::cout << " last el: " << test_view_h(ext-1) << std::endl; - } -} - template struct MultiplyFunctor { KOKKOS_INLINE_FUNCTION @@ -204,107 +160,151 @@ struct SumFunctor { } }; +struct VerifyData { + template + void operator()(ViewType1 data_view, // contains data + ViewType2 test_view, // the view to test + BinaryOp bop, Args... args /* copy on purpose */) { + //! always careful because views might not be deep copyable + + auto data_view_dc = create_deep_copyable_compatible_clone(data_view); + auto data_view_h = + create_mirror_view_and_copy(Kokkos::HostSpace(), data_view_dc); + + using gold_view_value_type = typename ViewType2::value_type; + Kokkos::View gold_h( + "goldh", data_view.extent(0)); + my_host_inclusive_scan(KE::cbegin(data_view_h), KE::cend(data_view_h), + KE::begin(gold_h), bop, args...); + + auto test_view_dc = create_deep_copyable_compatible_clone(test_view); + auto test_view_h = + create_mirror_view_and_copy(Kokkos::HostSpace(), test_view_dc); + + const auto ext = test_view_h.extent(0); + if (ext > 0) { + for (std::size_t i = 0; i < ext; ++i) { + if (std::is_same::value) { + ASSERT_EQ(gold_h(i), test_view_h(i)); + } else { + const auto error = + std::abs(static_cast(gold_h(i) - test_view_h(i))); + ASSERT_LT(error, 1e-10) << i << " " << std::setprecision(15) << error + << static_cast(test_view_h(i)) << " " + << static_cast(gold_h(i)); + } + } + } + } + + template + void operator()(ViewType1 data_view, // contains data + ViewType2 test_view) // the view to test + { + using value_type = typename ViewType1::non_const_value_type; + (*this)(data_view, test_view, SumFunctor()); + } +}; + std::string value_type_to_string(int) { return "int"; } std::string value_type_to_string(double) { return "double"; } -template -void run_single_scenario_default_op(const InfoType& scenario_info) { - using default_op = SumFunctor; +template +void run_single_scenario(const InfoType& scenario_info, + Args... args /* copy on purpose */) { const auto name = std::get<0>(scenario_info); const std::size_t view_ext = std::get<1>(scenario_info); - // std::cout << "inclusive_scan default op: " << name << ", " - // << view_tag_to_string(Tag{}) << ", " - // << value_type_to_string(ValueType()) << std::endl; auto view_dest = create_view(Tag{}, view_ext, "inclusive_scan"); auto view_from = create_view(Tag{}, view_ext, "inclusive_scan"); fill_view(view_from, name); + // view_dest is filled with zeros before calling the algorithm everytime to + // ensure the algorithm does something meaningful { fill_zero(view_dest); - auto r = KE::inclusive_scan(exespace(), KE::cbegin(view_from), - KE::cend(view_from), KE::begin(view_dest)); + auto r = + KE::inclusive_scan(exespace(), KE::cbegin(view_from), + KE::cend(view_from), KE::begin(view_dest), args...); ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, default_op()); + VerifyData()(view_from, view_dest, args...); } { fill_zero(view_dest); - auto r = KE::inclusive_scan("label", exespace(), KE::cbegin(view_from), - KE::cend(view_from), KE::begin(view_dest)); + auto r = + KE::inclusive_scan("label", exespace(), KE::cbegin(view_from), + KE::cend(view_from), KE::begin(view_dest), args...); ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, default_op()); + VerifyData()(view_from, view_dest, args...); } { fill_zero(view_dest); - auto r = KE::inclusive_scan(exespace(), view_from, view_dest); + auto r = KE::inclusive_scan(exespace(), view_from, view_dest, args...); ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, default_op()); + VerifyData()(view_from, view_dest, args...); } { fill_zero(view_dest); - auto r = KE::inclusive_scan("label", exespace(), view_from, view_dest); + auto r = + KE::inclusive_scan("label", exespace(), view_from, view_dest, args...); ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, default_op()); + VerifyData()(view_from, view_dest, args...); } Kokkos::fence(); } -template -void run_single_scenario_custom_op(const InfoType& scenario_info, BinaryOp bop, - Args... args /* copy on purpose */) { +template +void run_single_scenario_inplace(const InfoType& scenario_info, + Args... args /* copy on purpose */) { const auto name = std::get<0>(scenario_info); const std::size_t view_ext = std::get<1>(scenario_info); - // if (1 == sizeof...(Args)) { - // std::cout << "inclusive_scan custom op and init value: " << name << ", " - // << view_tag_to_string(Tag{}) << ", " - // << value_type_to_string(ValueType()) << ", " << std::endl; - // } else { - // std::cout << "inclusive_scan custom op: " << name << ", " - // << view_tag_to_string(Tag{}) << ", " - // << value_type_to_string(ValueType()) << ", " << std::endl; - // } + // since here we call the in-place operation, we need to use two views: + // view1: filled according to what the scenario asks for and is not modified + // view2: filled according to what the scenario asks for and used for the + // in-place op Therefore, after the op is done, view_2 should contain the + // result of doing exclusive scan NOTE: view2 is filled below every time + // because the algorithm acts in place - auto view_dest = create_view(Tag{}, view_ext, "inclusive_scan"); - auto view_from = create_view(Tag{}, view_ext, "inclusive_scan"); - fill_view(view_from, name); + auto view1 = + create_view(Tag{}, view_ext, "inclusive_scan_inplace_view1"); + fill_view(view1, name); + + auto view2 = + create_view(Tag{}, view_ext, "inclusive_scan_inplace_view2"); { - fill_zero(view_dest); - auto r = KE::inclusive_scan(exespace(), KE::cbegin(view_from), - KE::cend(view_from), KE::begin(view_dest), bop, - args...); - ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, bop, args...); + fill_view(view2, name); + auto r = KE::inclusive_scan(exespace(), KE::cbegin(view2), KE::cend(view2), + KE::begin(view2), args...); + ASSERT_EQ(r, KE::end(view2)); + VerifyData()(view1, view2, args...); } { - fill_zero(view_dest); - auto r = KE::inclusive_scan("label", exespace(), KE::cbegin(view_from), - KE::cend(view_from), KE::begin(view_dest), bop, - args...); - ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, bop, args...); + fill_view(view2, name); + auto r = KE::inclusive_scan("label", exespace(), KE::cbegin(view2), + KE::cend(view2), KE::begin(view2), args...); + ASSERT_EQ(r, KE::end(view2)); + VerifyData()(view1, view2, args...); } { - fill_zero(view_dest); - auto r = KE::inclusive_scan(exespace(), view_from, view_dest, bop, args...); - ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, bop, args...); + fill_view(view2, name); + auto r = KE::inclusive_scan(exespace(), view2, view2, args...); + ASSERT_EQ(r, KE::end(view2)); + VerifyData()(view1, view2, args...); } { - fill_zero(view_dest); - auto r = KE::inclusive_scan("label", exespace(), view_from, view_dest, bop, - args...); - ASSERT_EQ(r, KE::end(view_dest)); - verify_data(view_from, view_dest, bop, args...); + fill_view(view2, name); + auto r = KE::inclusive_scan("label", exespace(), view2, view2, args...); + ASSERT_EQ(r, KE::end(view2)); + VerifyData()(view1, view2, args...); } Kokkos::fence(); @@ -318,27 +318,35 @@ void run_inclusive_scan_all_scenarios() { {"medium-a", 313}, {"medium-b", 1103}, {"large", 10513}}; for (const auto& it : scenarios) { - run_single_scenario_default_op(it); + run_single_scenario(it); + run_single_scenario_inplace(it); #if !defined KOKKOS_ENABLE_OPENMPTARGET // the sum custom op is always run using sum_binary_op = SumFunctor; sum_binary_op sbop; - run_single_scenario_custom_op(it, sbop); - run_single_scenario_custom_op(it, sbop, ValueType{0}); - run_single_scenario_custom_op(it, sbop, ValueType{1}); - run_single_scenario_custom_op(it, sbop, ValueType{-2}); - run_single_scenario_custom_op(it, sbop, ValueType{3}); + run_single_scenario(it, sbop); + run_single_scenario(it, sbop, ValueType{0}); + run_single_scenario(it, sbop, ValueType{1}); + run_single_scenario(it, sbop, ValueType{-2}); + run_single_scenario(it, sbop, ValueType{3}); + + run_single_scenario_inplace(it, sbop, ValueType{0}); + run_single_scenario_inplace(it, sbop, ValueType{-2}); // custom multiply only for small views to avoid overflows if (it.first == "small-a" || it.first == "small-b") { using mult_binary_op = MultiplyFunctor; mult_binary_op mbop; - run_single_scenario_custom_op(it, mbop); - run_single_scenario_custom_op(it, mbop, ValueType{0}); - run_single_scenario_custom_op(it, mbop, ValueType{1}); - run_single_scenario_custom_op(it, mbop, ValueType{-2}); - run_single_scenario_custom_op(it, mbop, ValueType{3}); + run_single_scenario(it, mbop); + run_single_scenario(it, mbop, ValueType{0}); + run_single_scenario(it, mbop, ValueType{1}); + run_single_scenario(it, mbop, ValueType{-2}); + run_single_scenario(it, mbop, ValueType{3}); + + run_single_scenario_inplace(it, mbop); + run_single_scenario_inplace(it, mbop, ValueType{0}); + run_single_scenario_inplace(it, mbop, ValueType{-2}); } #endif } diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsIsSorted.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsIsSorted.cpp index f31d49e06b..75d4f0afeb 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsIsSorted.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsIsSorted.cpp @@ -146,7 +146,7 @@ void run_single_scenario(const InfoType& scenario_info) { resultsA[3] = KE::is_sorted("label", exespace(), view); const auto allA = std::all_of(resultsA.cbegin(), resultsA.cend(), [=](bool v) { return v == gold; }); - EXPECT_TRUE(allA); + EXPECT_TRUE(allA) << name << ", " << view_tag_to_string(Tag{}); #if !defined KOKKOS_ENABLE_OPENMPTARGET CustomLessThanComparator comp; @@ -159,7 +159,7 @@ void run_single_scenario(const InfoType& scenario_info) { resultsB[3] = KE::is_sorted("label", exespace(), view, comp); const auto allB = std::all_of(resultsB.cbegin(), resultsB.cend(), [=](bool v) { return v == gold; }); - EXPECT_TRUE(allB); + EXPECT_TRUE(allB) << name << ", " << view_tag_to_string(Tag{}); #endif Kokkos::fence(); @@ -173,9 +173,6 @@ void run_is_sorted_all_scenarios() { {"medium-a", 1003}, {"medium-b", 1003}, {"large-a", 101513}, {"large-b", 101513}}; - std::cout << "is_sorted: " << view_tag_to_string(Tag{}) - << ", all overloads \n"; - for (const auto& it : scenarios) { run_single_scenario(it); } diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsIsSortedUntil.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsIsSortedUntil.cpp index dcfe8ad67e..29ac7cc9bc 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsIsSortedUntil.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsIsSortedUntil.cpp @@ -145,10 +145,10 @@ void run_single_scenario(const InfoType& scenario_info) { KE::is_sorted_until("label", exespace(), KE::begin(view), KE::end(view)); auto r3 = KE::is_sorted_until(exespace(), view); auto r4 = KE::is_sorted_until("label", exespace(), view); - ASSERT_EQ(r1, gold); - ASSERT_EQ(r2, gold); - ASSERT_EQ(r3, gold); - ASSERT_EQ(r4, gold); + ASSERT_EQ(r1, gold) << name << ", " << view_tag_to_string(Tag{}); + ASSERT_EQ(r2, gold) << name << ", " << view_tag_to_string(Tag{}); + ASSERT_EQ(r3, gold) << name << ", " << view_tag_to_string(Tag{}); + ASSERT_EQ(r4, gold) << name << ", " << view_tag_to_string(Tag{}); #if !defined KOKKOS_ENABLE_OPENMPTARGET CustomLessThanComparator comp; @@ -160,10 +160,10 @@ void run_single_scenario(const InfoType& scenario_info) { auto r8 = KE::is_sorted_until("label", exespace(), view, comp); #endif - ASSERT_EQ(r1, gold); - ASSERT_EQ(r2, gold); - ASSERT_EQ(r3, gold); - ASSERT_EQ(r4, gold); + ASSERT_EQ(r1, gold) << name << ", " << view_tag_to_string(Tag{}); + ASSERT_EQ(r2, gold) << name << ", " << view_tag_to_string(Tag{}); + ASSERT_EQ(r3, gold) << name << ", " << view_tag_to_string(Tag{}); + ASSERT_EQ(r4, gold) << name << ", " << view_tag_to_string(Tag{}); Kokkos::fence(); } @@ -176,9 +176,6 @@ void run_is_sorted_until_all_scenarios() { {"medium-a", 1003}, {"medium-b", 1003}, {"large-a", 101513}, {"large-b", 101513}}; - std::cout << "is_sorted_until: " << view_tag_to_string(Tag{}) - << ", all overloads \n"; - for (const auto& it : scenarios) { run_single_scenario(it); } diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsModOps.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsModOps.cpp index 4604764097..1b1a02f39c 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsModOps.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsModOps.cpp @@ -48,7 +48,7 @@ struct MyMovableType { TEST(std_algorithms_mod_ops_test, move) { MyMovableType a; using move_t = decltype(std::move(a)); - static_assert(std::is_rvalue_reference::value, ""); + static_assert(std::is_rvalue_reference::value); // move constr MyMovableType b(std::move(a)); @@ -70,7 +70,7 @@ struct StdAlgoModSeqOpsTestMove { void operator()(const int index) const { typename ViewType::value_type a{11}; using move_t = decltype(std::move(a)); - static_assert(std::is_rvalue_reference::value, ""); + static_assert(std::is_rvalue_reference::value); m_view(index) = std::move(a); } @@ -89,50 +89,6 @@ TEST(std_algorithms_mod_ops_test, move_within_parfor) { } } -// ------------ -// swap -// ------------ -TEST(std_algorithms_mod_ops_test, swap) { - { - int a = 1; - int b = 2; - KE::swap(a, b); - ASSERT_EQ(a, 2); - ASSERT_EQ(b, 1); - } - - { - double a = 3.; - double b = 1.; - KE::swap(a, b); - EXPECT_DOUBLE_EQ(a, 1.); - EXPECT_DOUBLE_EQ(b, 3.); - } -} - -template -struct StdAlgoModSeqOpsTestSwap { - ViewType m_view; - - KOKKOS_INLINE_FUNCTION - void operator()(const int index) const { - typename ViewType::value_type newval{11}; - KE::swap(m_view(index), newval); - } - - StdAlgoModSeqOpsTestSwap(ViewType aIn) : m_view(aIn) {} -}; - -TEST(std_algorithms_mod_ops_test, swap_within_parfor) { - auto a = create_view(stdalgos::DynamicTag{}, 10, "a"); - StdAlgoModSeqOpsTestSwap fnc(a); - Kokkos::parallel_for(a.extent(0), fnc); - auto a_h = Kokkos::create_mirror_view_and_copy(Kokkos::HostSpace(), a); - for (std::size_t i = 0; i < a.extent(0); ++i) { - EXPECT_DOUBLE_EQ(a_h(0), 11.); - } -} - // ------------ // iter_swap // ------------ diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsPartitionCopy.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsPartitionCopy.cpp index f169fd9ce8..a36c9db2b9 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsPartitionCopy.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsPartitionCopy.cpp @@ -110,11 +110,9 @@ void verify_data(const std::string& name, ResultType my_result, ViewTypeDestFalse view_dest_false, PredType pred) { using value_type = typename ViewTypeFrom::value_type; static_assert( - std::is_same::value, - ""); + std::is_same::value); static_assert( - std::is_same::value, - ""); + std::is_same::value); const std::size_t ext = view_from.extent(0); diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamCopyIf.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamCopyIf.cpp index b5aa27c7c3..7c3c465dc8 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamCopyIf.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamCopyIf.cpp @@ -166,6 +166,10 @@ void run_all_scenarios() { } TEST(std_algorithms_copy_if_team_test, test) { +// FIXME_OPENMPTARGET +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + GTEST_SKIP() << "the test is known to fail with OpenMPTarget on Intel GPUs"; +#endif run_all_scenarios(); run_all_scenarios(); run_all_scenarios(); diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamExclusiveScan.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamExclusiveScan.cpp index c6b2566c6c..2c8fee02f4 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamExclusiveScan.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamExclusiveScan.cpp @@ -121,7 +121,9 @@ struct TestFunctorA { } }; -template +struct InPlace {}; + +template void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { /* description: use a rank-2 view randomly filled with values, @@ -147,9 +149,6 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { using space_t = Kokkos::DefaultExecutionSpace; Kokkos::TeamPolicy policy(numTeams, Kokkos::AUTO()); - // create the destination view - Kokkos::View destView("destView", numTeams, numCols); - // exclusive_scan returns an iterator so to verify that it is correct // each team stores the distance of the returned iterator from the beginning // of the interval that team operates on and then we check that these @@ -168,12 +167,19 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { rand_pool pool(lowerBound * upperBound); Kokkos::fill_random(initValuesView_h, pool, lowerBound, upperBound); - // use CTAD for functor auto initValuesView = Kokkos::create_mirror_view_and_copy(space_t(), initValuesView_h); - TestFunctorA fnc(sourceView, destView, distancesView, intraTeamSentinelView, - initValuesView, binaryOp, apiId); - Kokkos::parallel_for(policy, fnc); + + Kokkos::View destView("destView", numTeams, numCols); + if constexpr (std::is_same_v) { + TestFunctorA fnc(sourceView, sourceView, distancesView, + intraTeamSentinelView, initValuesView, binaryOp, apiId); + Kokkos::parallel_for(policy, fnc); + } else { + TestFunctorA fnc(sourceView, destView, distancesView, intraTeamSentinelView, + initValuesView, binaryOp, apiId); + Kokkos::parallel_for(policy, fnc); + } // ----------------------------------------------- // run cpp-std kernel and check @@ -223,11 +229,16 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { #undef exclusive_scan } - auto dataViewAfterOp_h = create_host_space_copy(destView); - expect_equal_host_views(stdDestView, dataViewAfterOp_h); + if constexpr (std::is_same_v) { + auto dataViewAfterOp_h = create_host_space_copy(sourceView); + expect_equal_host_views(stdDestView, dataViewAfterOp_h); + } else { + auto dataViewAfterOp_h = create_host_space_copy(destView); + expect_equal_host_views(stdDestView, dataViewAfterOp_h); + } } -template +template void run_all_scenarios() { for (int numTeams : teamSizesToTest) { for (const auto& numCols : {0, 1, 2, 13, 101, 1444, 8153}) { @@ -236,16 +247,24 @@ void run_all_scenarios() { #else for (int apiId : {0, 1}) { #endif - test_A(numTeams, numCols, apiId); + test_A(numTeams, numCols, apiId); } } } } TEST(std_algorithms_exclusive_scan_team_test, test) { +// FIXME_OPENMPTARGET +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + GTEST_SKIP() << "the test is known to fail with OpenMPTarget on Intel GPUs"; +#endif run_all_scenarios(); run_all_scenarios(); run_all_scenarios(); + + run_all_scenarios(); + run_all_scenarios(); + run_all_scenarios(); } } // namespace TeamExclusiveScan diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamInclusiveScan.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamInclusiveScan.cpp index 0daf9dbfe8..b5f4cdd612 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamInclusiveScan.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamInclusiveScan.cpp @@ -139,7 +139,9 @@ struct TestFunctorA { } }; -template +struct InPlace {}; + +template void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { /* description: use a rank-2 view randomly filled with values, @@ -165,9 +167,6 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { using space_t = Kokkos::DefaultExecutionSpace; Kokkos::TeamPolicy policy(numTeams, Kokkos::AUTO()); - // create the destination view - Kokkos::View destView("destView", numTeams, numCols); - // inclusive_scan returns an iterator so to verify that it is correct // each team stores the distance of the returned iterator from the beginning // of the interval that team operates on and then we check that these @@ -186,12 +185,20 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { rand_pool pool(lowerBound * upperBound); Kokkos::fill_random(initValuesView_h, pool, lowerBound, upperBound); - // use CTAD for functor auto initValuesView = Kokkos::create_mirror_view_and_copy(space_t(), initValuesView_h); - TestFunctorA fnc(sourceView, destView, distancesView, intraTeamSentinelView, - initValuesView, binaryOp, apiId); - Kokkos::parallel_for(policy, fnc); + + // create the destination view + Kokkos::View destView("destView", numTeams, numCols); + if constexpr (std::is_same_v) { + TestFunctorA fnc(sourceView, sourceView, distancesView, + intraTeamSentinelView, initValuesView, binaryOp, apiId); + Kokkos::parallel_for(policy, fnc); + } else { + TestFunctorA fnc(sourceView, destView, distancesView, intraTeamSentinelView, + initValuesView, binaryOp, apiId); + Kokkos::parallel_for(policy, fnc); + } // ----------------------------------------------- // run cpp-std kernel and check @@ -251,25 +258,38 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { #undef inclusive_scan } - auto dataViewAfterOp_h = create_host_space_copy(destView); - expect_equal_host_views(stdDestView, dataViewAfterOp_h); + if constexpr (std::is_same_v) { + auto dataViewAfterOp_h = create_host_space_copy(sourceView); + expect_equal_host_views(stdDestView, dataViewAfterOp_h); + } else { + auto dataViewAfterOp_h = create_host_space_copy(destView); + expect_equal_host_views(stdDestView, dataViewAfterOp_h); + } } -template +template void run_all_scenarios() { for (int numTeams : teamSizesToTest) { for (const auto& numCols : {0, 1, 2, 13, 101, 1444, 8153}) { for (int apiId : {0, 1, 2, 3, 4, 5}) { - test_A(numTeams, numCols, apiId); + test_A(numTeams, numCols, apiId); } } } } TEST(std_algorithms_inclusive_scan_team_test, test) { +// FIXME_OPENMPTARGET +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + GTEST_SKIP() << "the test is known to fail with OpenMPTarget on Intel GPUs"; +#endif run_all_scenarios(); run_all_scenarios(); run_all_scenarios(); + + run_all_scenarios(); + run_all_scenarios(); + run_all_scenarios(); } } // namespace TeamInclusiveScan diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveCopy.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveCopy.cpp index 24b840154b..6bb0d24998 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveCopy.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveCopy.cpp @@ -212,6 +212,10 @@ void run_all_scenarios() { } TEST(std_algorithms_remove_copy_team_test, test) { +// FIXME_OPENMPTARGET +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + GTEST_SKIP() << "the test is known to fail with OpenMPTarget on Intel GPUs"; +#endif run_all_scenarios(); run_all_scenarios(); run_all_scenarios(); diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveCopyIf.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveCopyIf.cpp index ce18eb4d31..cff9aa178a 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveCopyIf.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamRemoveCopyIf.cpp @@ -168,6 +168,10 @@ void run_all_scenarios() { } TEST(std_algorithms_remove_copy_if_team_test, test) { +// FIXME_OPENMPTARGET +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + GTEST_SKIP() << "the test is known to fail with OpenMPTarget on Intel GPUs"; +#endif run_all_scenarios(); run_all_scenarios(); run_all_scenarios(); diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamTransformExclusiveScan.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamTransformExclusiveScan.cpp index 9f30812d8e..60fa369af1 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamTransformExclusiveScan.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamTransformExclusiveScan.cpp @@ -108,7 +108,9 @@ struct TestFunctorA { } }; -template +struct InPlace {}; + +template void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { /* description: use a rank-2 view randomly filled with values, @@ -134,9 +136,6 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { using space_t = Kokkos::DefaultExecutionSpace; Kokkos::TeamPolicy policy(numTeams, Kokkos::AUTO()); - // create the destination view - Kokkos::View destView("destView", numTeams, numCols); - // tranform_exclusive_scan returns an iterator so to verify that it is correct // each team stores the distance of the returned iterator from the beginning // of the interval that team operates on and then we check that these @@ -156,12 +155,21 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { rand_pool pool(lowerBound * upperBound); Kokkos::fill_random(initValuesView_h, pool, lowerBound, upperBound); - // use CTAD for functor auto initValuesView = Kokkos::create_mirror_view_and_copy(space_t(), initValuesView_h); - TestFunctorA fnc(sourceView, destView, distancesView, intraTeamSentinelView, - initValuesView, binaryOp, unaryOp, apiId); - Kokkos::parallel_for(policy, fnc); + + // create the destination view + Kokkos::View destView("destView", numTeams, numCols); + if constexpr (std::is_same_v) { + TestFunctorA fnc(sourceView, sourceView, distancesView, + intraTeamSentinelView, initValuesView, binaryOp, unaryOp, + apiId); + Kokkos::parallel_for(policy, fnc); + } else { + TestFunctorA fnc(sourceView, destView, distancesView, intraTeamSentinelView, + initValuesView, binaryOp, unaryOp, apiId); + Kokkos::parallel_for(policy, fnc); + } // ----------------------------------------------- // run cpp-std kernel and check @@ -200,16 +208,21 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { #undef transform_exclusive_scan } - auto dataViewAfterOp_h = create_host_space_copy(destView); - expect_equal_host_views(stdDestView, dataViewAfterOp_h); + if constexpr (std::is_same_v) { + auto dataViewAfterOp_h = create_host_space_copy(sourceView); + expect_equal_host_views(stdDestView, dataViewAfterOp_h); + } else { + auto dataViewAfterOp_h = create_host_space_copy(destView); + expect_equal_host_views(stdDestView, dataViewAfterOp_h); + } } -template +template void run_all_scenarios() { for (int numTeams : teamSizesToTest) { for (const auto& numCols : {0, 1, 2, 13, 101, 1444, 8153}) { for (int apiId : {0, 1}) { - test_A(numTeams, numCols, apiId); + test_A(numTeams, numCols, apiId); } } } @@ -219,6 +232,10 @@ TEST(std_algorithms_transform_exclusive_scan_team_test, test) { run_all_scenarios(); run_all_scenarios(); run_all_scenarios(); + + run_all_scenarios(); + run_all_scenarios(); + run_all_scenarios(); } } // namespace TeamTransformExclusiveScan diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamTransformInclusiveScan.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamTransformInclusiveScan.cpp index 4b31660232..10454d6551 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamTransformInclusiveScan.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamTransformInclusiveScan.cpp @@ -131,7 +131,9 @@ struct TestFunctorA { } }; -template +struct InPlace {}; + +template void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { /* description: use a rank-2 view randomly filled with values, @@ -157,9 +159,6 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { using space_t = Kokkos::DefaultExecutionSpace; Kokkos::TeamPolicy policy(numTeams, Kokkos::AUTO()); - // create the destination view - Kokkos::View destView("destView", numTeams, numCols); - // tranform_inclusive_scan returns an iterator so to verify that it is correct // each team stores the distance of the returned iterator from the beginning // of the interval that team operates on and then we check that these @@ -179,12 +178,21 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { rand_pool pool(lowerBound * upperBound); Kokkos::fill_random(initValuesView_h, pool, lowerBound, upperBound); - // use CTAD for functor auto initValuesView = Kokkos::create_mirror_view_and_copy(space_t(), initValuesView_h); - TestFunctorA fnc(sourceView, destView, distancesView, intraTeamSentinelView, - initValuesView, binaryOp, unaryOp, apiId); - Kokkos::parallel_for(policy, fnc); + + // create the destination view + Kokkos::View destView("destView", numTeams, numCols); + if constexpr (std::is_same_v) { + TestFunctorA fnc(sourceView, sourceView, distancesView, + intraTeamSentinelView, initValuesView, binaryOp, unaryOp, + apiId); + Kokkos::parallel_for(policy, fnc); + } else { + TestFunctorA fnc(sourceView, destView, distancesView, intraTeamSentinelView, + initValuesView, binaryOp, unaryOp, apiId); + Kokkos::parallel_for(policy, fnc); + } // ----------------------------------------------- // run cpp-std kernel and check @@ -236,16 +244,21 @@ void test_A(std::size_t numTeams, std::size_t numCols, int apiId) { } #undef transform_inclusive_scan - auto dataViewAfterOp_h = create_host_space_copy(destView); - expect_equal_host_views(stdDestView, dataViewAfterOp_h); + if constexpr (std::is_same_v) { + auto dataViewAfterOp_h = create_host_space_copy(sourceView); + expect_equal_host_views(stdDestView, dataViewAfterOp_h); + } else { + auto dataViewAfterOp_h = create_host_space_copy(destView); + expect_equal_host_views(stdDestView, dataViewAfterOp_h); + } } -template +template void run_all_scenarios() { for (int numTeams : teamSizesToTest) { for (const auto& numCols : {0, 1, 2, 13, 101, 1444, 8153}) { for (int apiId : {0, 1, 2, 3}) { - test_A(numTeams, numCols, apiId); + test_A(numTeams, numCols, apiId); } } } @@ -255,6 +268,10 @@ TEST(std_algorithms_transform_inclusive_scan_team_test, test) { run_all_scenarios(); run_all_scenarios(); run_all_scenarios(); + + run_all_scenarios(); + run_all_scenarios(); + run_all_scenarios(); } } // namespace TeamTransformInclusiveScan diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamUniqueCopy.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamUniqueCopy.cpp index 87687b60a1..0d3289e196 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamUniqueCopy.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTeamUniqueCopy.cpp @@ -186,6 +186,10 @@ void run_all_scenarios() { } TEST(std_algorithms_unique_copy_team_test, test) { + // FIXME_OPENMPTARGET +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + GTEST_SKIP() << "the test is known to fail with OpenMPTarget on Intel GPUs"; +#endif run_all_scenarios(); run_all_scenarios(); run_all_scenarios(); diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTransformExclusiveScan.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTransformExclusiveScan.cpp index 9dac3ce75f..fa2804256a 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTransformExclusiveScan.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTransformExclusiveScan.cpp @@ -16,6 +16,7 @@ #include #include +#include namespace Test { namespace stdalgos { @@ -160,24 +161,15 @@ void verify_data(ViewType1 data_view, // contains data create_mirror_view_and_copy(Kokkos::HostSpace(), test_view_dc); if (test_view_h.extent(0) > 0) { for (std::size_t i = 0; i < test_view_h.extent(0); ++i) { - // std::cout << i << " " << std::setprecision(15) << data_view_h(i) << " " - // << gold_h(i) << " " << test_view_h(i) << " " - // << std::abs(gold_h(i) - test_view_h(i)) << std::endl; - if (std::is_same::value) { ASSERT_EQ(gold_h(i), test_view_h(i)); } else { const auto error = std::abs(gold_h(i) - test_view_h(i)); - if (error > 1e-10) { - std::cout << i << " " << std::setprecision(15) << data_view_h(i) - << " " << gold_h(i) << " " << test_view_h(i) << " " - << std::abs(gold_h(i) - test_view_h(i)) << std::endl; - } - EXPECT_LT(error, 1e-10); + ASSERT_LT(error, 1e-10) << i << " " << std::setprecision(15) << error + << static_cast(test_view_h(i)) << " " + << static_cast(gold_h(i)); } } - // std::cout << " last el: " << test_view_h(test_view_h.extent(0)-1) << - // std::endl; } } @@ -205,17 +197,13 @@ void run_single_scenario(const InfoType& scenario_info, ValueType init_value, BinaryOp bop, UnaryOp uop) { const auto name = std::get<0>(scenario_info); const std::size_t view_ext = std::get<1>(scenario_info); - // std::cout << "transform_exclusive_scan custom op: " << name << ", " - // << view_tag_to_string(Tag{}) << ", " - // << value_type_to_string(ValueType()) << ", " - // << "init = " << init_value << std::endl; - auto view_dest = - create_view(Tag{}, view_ext, "transform_exclusive_scan"); - auto view_from = - create_view(Tag{}, view_ext, "transform_exclusive_scan"); + auto view_from = create_view(Tag{}, view_ext, + "transform_exclusive_scan_view_from"); fill_view(view_from, name); + auto view_dest = create_view(Tag{}, view_ext, + "transform_exclusive_scan_view_dest"); { fill_zero(view_dest); auto r = KE::transform_exclusive_scan( @@ -253,6 +241,65 @@ void run_single_scenario(const InfoType& scenario_info, ValueType init_value, Kokkos::fence(); } +template +void run_single_scenario_inplace(const InfoType& scenario_info, + ValueType init_value, BinaryOp bop, + UnaryOp uop) { + const auto name = std::get<0>(scenario_info); + const std::size_t view_ext = std::get<1>(scenario_info); + + // since here we call the in-place operation, we need to use two views: + // view1: filled according to what the scenario asks for and is not modified + // view2: filled according to what the scenario asks for and used for the + // in-place op Therefore, after the op is done, view2 should contain the + // result of doing exclusive scan NOTE: view2 is filled below every time + // because the algorithm acts in place + + auto view1 = + create_view(Tag{}, view_ext, "transform_exclusive_scan_view1"); + fill_view(view1, name); + + auto view2 = + create_view(Tag{}, view_ext, "transform_exclusive_scan_view2"); + + { + fill_view(view2, name); + auto r = KE::transform_exclusive_scan(exespace(), KE::cbegin(view2), + KE::cend(view2), KE::begin(view2), + init_value, bop, uop); + ASSERT_EQ(r, KE::end(view2)); + verify_data(view1, view2, init_value, bop, uop); + } + + { + fill_view(view2, name); + auto r = KE::transform_exclusive_scan( + "label", exespace(), KE::cbegin(view2), KE::cend(view2), + KE::begin(view2), init_value, bop, uop); + ASSERT_EQ(r, KE::end(view2)); + verify_data(view1, view2, init_value, bop, uop); + } + + { + fill_view(view2, name); + auto r = KE::transform_exclusive_scan(exespace(), view2, view2, init_value, + bop, uop); + ASSERT_EQ(r, KE::end(view2)); + verify_data(view1, view2, init_value, bop, uop); + } + + { + fill_view(view2, name); + auto r = KE::transform_exclusive_scan("label", exespace(), view2, view2, + init_value, bop, uop); + ASSERT_EQ(r, KE::end(view2)); + verify_data(view1, view2, init_value, bop, uop); + } + + Kokkos::fence(); +} + template void run_all_scenarios() { const std::map scenarios = { @@ -267,6 +314,11 @@ void run_all_scenarios() { run_single_scenario(it, ValueType{1}, bop_t(), uop_t()); run_single_scenario(it, ValueType{-2}, bop_t(), uop_t()); run_single_scenario(it, ValueType{3}, bop_t(), uop_t()); + + run_single_scenario_inplace(it, ValueType{0}, bop_t(), + uop_t()); + run_single_scenario_inplace(it, ValueType{-2}, bop_t(), + uop_t()); } } diff --git a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTransformInclusiveScan.cpp b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTransformInclusiveScan.cpp index a90a68ca1d..fb81ae91b0 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTransformInclusiveScan.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdAlgorithmsTransformInclusiveScan.cpp @@ -16,6 +16,7 @@ #include #include +#include namespace Test { namespace stdalgos { @@ -172,24 +173,15 @@ void verify_data(ViewType1 data_view, // contains data create_mirror_view_and_copy(Kokkos::HostSpace(), test_view_dc); if (test_view_h.extent(0) > 0) { for (std::size_t i = 0; i < test_view_h.extent(0); ++i) { - // std::cout << i << " " << std::setprecision(15) << data_view_h(i) << " " - // << gold_h(i) << " " << test_view_h(i) << " " - // << std::abs(gold_h(i) - test_view_h(i)) << std::endl; - if (std::is_same::value) { ASSERT_EQ(gold_h(i), test_view_h(i)); } else { const auto error = std::abs(gold_h(i) - test_view_h(i)); - if (error > 1e-10) { - std::cout << i << " " << std::setprecision(15) << data_view_h(i) - << " " << gold_h(i) << " " << test_view_h(i) << " " - << std::abs(gold_h(i) - test_view_h(i)) << std::endl; - } - EXPECT_LT(error, 1e-10); + ASSERT_LT(error, 1e-10) << i << " " << std::setprecision(15) << error + << static_cast(test_view_h(i)) << " " + << static_cast(gold_h(i)); } } - // std::cout << " last el: " << test_view_h(test_view_h.extent(0)-1) << - // std::endl; } } @@ -210,30 +202,11 @@ struct SumBinaryFunctor { std::string value_type_to_string(int) { return "int"; } std::string value_type_to_string(double) { return "double"; } -template -void print_scenario_details(const std::string& name, BopT bop, UopT uop) { - (void)bop; - (void)uop; - std::cout << "transform_inclusive_scan: " << name << ", " - << view_tag_to_string(Tag{}) << std::endl; -} - -template -void print_scenario_details(const std::string& name, BopT bop, UopT uop, - ValueType init_value) { - (void)bop; - (void)uop; - std::cout << "transform_inclusive_scan: " << name << ", " - << view_tag_to_string(Tag{}) << ", " - << "init = " << init_value << std::endl; -} - template void run_single_scenario(const InfoType& scenario_info, Args... args /* by value on purpose*/) { const auto name = std::get<0>(scenario_info); const std::size_t view_ext = std::get<1>(scenario_info); - // print_scenario_details(name, args...); auto view_dest = create_view(Tag{}, view_ext, "transform_inclusive_scan"); @@ -278,6 +251,63 @@ void run_single_scenario(const InfoType& scenario_info, Kokkos::fence(); } +template +void run_single_scenario_inplace(const InfoType& scenario_info, + Args... args /* by value on purpose*/) { + const auto name = std::get<0>(scenario_info); + const std::size_t view_ext = std::get<1>(scenario_info); + + // since here we call the in-place operation, we need to use two views: + // view1: filled according to scenario and is not modified + // view2: filled according scenario and used for the in-place op + // Therefore, after the op is done, view_2 should contain the + // result of doing exclusive scan. + // NOTE: view2 must be filled before every call to the algorithm + // because the algorithm acts in place + + auto view_1 = create_view(Tag{}, view_ext, + "transform_inclusive_scan_view_1"); + fill_view(view_1, name); + + auto view_2 = create_view(Tag{}, view_ext, + "transform_inclusive_scan_view_2"); + + { + fill_view(view_2, name); + auto r = KE::transform_inclusive_scan(exespace(), KE::cbegin(view_2), + KE::cend(view_2), KE::begin(view_2), + args...); + ASSERT_EQ(r, KE::end(view_2)); + verify_data(view_1, view_2, args...); + } + + { + fill_view(view_2, name); + auto r = KE::transform_inclusive_scan("label", exespace(), + KE::cbegin(view_2), KE::cend(view_2), + KE::begin(view_2), args...); + ASSERT_EQ(r, KE::end(view_2)); + verify_data(view_1, view_2, args...); + } + + { + fill_view(view_2, name); + auto r = KE::transform_inclusive_scan(exespace(), view_2, view_2, args...); + ASSERT_EQ(r, KE::end(view_2)); + verify_data(view_1, view_2, args...); + } + + { + fill_view(view_2, name); + auto r = KE::transform_inclusive_scan("label", exespace(), view_2, view_2, + args...); + ASSERT_EQ(r, KE::end(view_2)); + verify_data(view_1, view_2, args...); + } + + Kokkos::fence(); +} + template void run_all_scenarios() { const std::map scenarios = { @@ -294,15 +324,23 @@ void run_all_scenarios() { run_single_scenario(it, bop_t(), uop_t(), ValueType{2}); run_single_scenario(it, bop_t(), uop_t(), ValueType{-1}); run_single_scenario(it, bop_t(), uop_t(), ValueType{-2}); + + run_single_scenario_inplace(it, bop_t(), uop_t()); + run_single_scenario_inplace(it, bop_t(), uop_t(), + ValueType{0}); + run_single_scenario_inplace(it, bop_t(), uop_t(), + ValueType{2}); + run_single_scenario_inplace(it, bop_t(), uop_t(), + ValueType{-2}); } } #if !defined KOKKOS_ENABLE_OPENMPTARGET TEST(std_algorithms_numeric_ops_test, transform_inclusive_scan) { run_all_scenarios(); - // run_all_scenarios(); - // run_all_scenarios(); - // run_all_scenarios(); + run_all_scenarios(); + run_all_scenarios(); + run_all_scenarios(); } #endif diff --git a/lib/kokkos/algorithms/unit_tests/TestStdReducers.cpp b/lib/kokkos/algorithms/unit_tests/TestStdReducers.cpp index 3847e1e6a3..c05006a161 100644 --- a/lib/kokkos/algorithms/unit_tests/TestStdReducers.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestStdReducers.cpp @@ -83,9 +83,6 @@ auto run_min_or_max_test(ViewType view, StdReducersTestEnumOrder enValue) { static_assert(std::is_same::value, "test is only enabled for HostSpace"); - std::cout << "checking reduction with order: " << order_to_string(enValue) - << "\n"; - using view_value_type = typename ViewType::value_type; using reducer_type = std::conditional_t< (flag == 0), Kokkos::MaxFirstLoc, @@ -132,18 +129,24 @@ TEST(std_algorithms_reducers, max_first_loc) { const auto pair1 = run_min_or_max_test<0, hostspace, index_type>( view_h, StdReducersTestEnumOrder::LeftToRight); - ASSERT_EQ(pair1.first, gold_value); - ASSERT_EQ(pair1.second, gold_location); + ASSERT_EQ(pair1.first, gold_value) + << order_to_string(StdReducersTestEnumOrder::LeftToRight); + ASSERT_EQ(pair1.second, gold_location) + << order_to_string(StdReducersTestEnumOrder::LeftToRight); const auto pair2 = run_min_or_max_test<0, hostspace, index_type>( view_h, StdReducersTestEnumOrder::RightToLeft); - ASSERT_EQ(pair2.first, gold_value); - ASSERT_EQ(pair2.second, gold_location); + ASSERT_EQ(pair2.first, gold_value) + << order_to_string(StdReducersTestEnumOrder::RightToLeft); + ASSERT_EQ(pair2.second, gold_location) + << order_to_string(StdReducersTestEnumOrder::RightToLeft); const auto pair3 = run_min_or_max_test<0, hostspace, index_type>( view_h, StdReducersTestEnumOrder::Random); - ASSERT_EQ(pair3.first, gold_value); - ASSERT_EQ(pair3.second, gold_location); + ASSERT_EQ(pair3.first, gold_value) + << order_to_string(StdReducersTestEnumOrder::Random); + ASSERT_EQ(pair3.second, gold_location) + << order_to_string(StdReducersTestEnumOrder::Random); } TEST(std_algorithms_reducers, min_first_loc) { @@ -191,9 +194,6 @@ void run_min_max_test(ViewType view, StdReducersTestEnumOrder enValue, static_assert(std::is_same::value, "test is only enabled for HostSpace"); - std::cout << "checking reduction with order: " << order_to_string(enValue) - << "\n"; - using view_value_type = typename ViewType::value_type; using reducer_type = Kokkos::MinMaxFirstLastLoc; @@ -212,10 +212,10 @@ void run_min_max_test(ViewType view, StdReducersTestEnumOrder enValue, reduction_value_type{view(index), view(index), index, index}); } - ASSERT_EQ(red_result.min_val, gold_values.first); - ASSERT_EQ(red_result.max_val, gold_values.second); - ASSERT_EQ(red_result.min_loc, gold_locs.first); - ASSERT_EQ(red_result.max_loc, gold_locs.second); + ASSERT_EQ(red_result.min_val, gold_values.first) << order_to_string(enValue); + ASSERT_EQ(red_result.max_val, gold_values.second) << order_to_string(enValue); + ASSERT_EQ(red_result.min_loc, gold_locs.first) << order_to_string(enValue); + ASSERT_EQ(red_result.max_loc, gold_locs.second) << order_to_string(enValue); } TEST(std_algorithms_reducers, min_max_first_last_loc) { diff --git a/lib/kokkos/benchmarks/CMakeLists.txt b/lib/kokkos/benchmarks/CMakeLists.txt index 42279bf55d..abf5028359 100644 --- a/lib/kokkos/benchmarks/CMakeLists.txt +++ b/lib/kokkos/benchmarks/CMakeLists.txt @@ -1 +1,12 @@ +#FIXME_OPENMPTARGET - compiling in debug mode causes ICE. +KOKKOS_ADD_BENCHMARK_DIRECTORIES(atomic) +KOKKOS_ADD_BENCHMARK_DIRECTORIES(gather) KOKKOS_ADD_BENCHMARK_DIRECTORIES(gups) +KOKKOS_ADD_BENCHMARK_DIRECTORIES(launch_latency) +KOKKOS_ADD_BENCHMARK_DIRECTORIES(stream) + +#FIXME_OPENMPTARGET - These two benchmarks cause ICE. Commenting them for now but a deeper analysis on the cause and a possible fix will follow. +IF(NOT Kokkos_ENABLE_OPENMPTARGET) + KOKKOS_ADD_BENCHMARK_DIRECTORIES(policy_performance) + KOKKOS_ADD_BENCHMARK_DIRECTORIES(bytes_and_flops) +ENDIF() diff --git a/lib/kokkos/benchmarks/atomic/CMakeLists.txt b/lib/kokkos/benchmarks/atomic/CMakeLists.txt new file mode 100644 index 0000000000..85f7412f49 --- /dev/null +++ b/lib/kokkos/benchmarks/atomic/CMakeLists.txt @@ -0,0 +1,4 @@ +KOKKOS_ADD_EXECUTABLE( + atomic + SOURCES main.cpp +) diff --git a/lib/kokkos/benchmarks/bytes_and_flops/CMakeLists.txt b/lib/kokkos/benchmarks/bytes_and_flops/CMakeLists.txt new file mode 100644 index 0000000000..0ce44a6f1a --- /dev/null +++ b/lib/kokkos/benchmarks/bytes_and_flops/CMakeLists.txt @@ -0,0 +1,4 @@ +KOKKOS_ADD_EXECUTABLE( + bytes_and_flops + SOURCES bench_double.cpp bench_float.cpp bench_int32_t.cpp bench_int64_t.cpp main.cpp +) diff --git a/lib/kokkos/benchmarks/bytes_and_flops/bench.hpp b/lib/kokkos/benchmarks/bytes_and_flops/bench.hpp index 2589fd7309..88830af624 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/bench.hpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/bench.hpp @@ -37,22 +37,22 @@ struct RunStride { }; #define STRIDE 1 -#include +#include "bench_stride.hpp" #undef STRIDE #define STRIDE 2 -#include +#include "bench_stride.hpp" #undef STRIDE #define STRIDE 4 -#include +#include "bench_stride.hpp" #undef STRIDE #define STRIDE 8 -#include +#include "bench_stride.hpp" #undef STRIDE #define STRIDE 16 -#include +#include "bench_stride.hpp" #undef STRIDE #define STRIDE 32 -#include +#include "bench_stride.hpp" #undef STRIDE template diff --git a/lib/kokkos/benchmarks/bytes_and_flops/bench_double.cpp b/lib/kokkos/benchmarks/bytes_and_flops/bench_double.cpp index f955c99666..2fda1ae3d4 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/bench_double.cpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/bench_double.cpp @@ -14,7 +14,7 @@ // //@HEADER -#include +#include "bench.hpp" template void run_stride_unroll(int N, int K, int R, int D, int U, int F, int T, int S, int B, int I); diff --git a/lib/kokkos/benchmarks/bytes_and_flops/bench_float.cpp b/lib/kokkos/benchmarks/bytes_and_flops/bench_float.cpp index 137ff67d40..3210116a9e 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/bench_float.cpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/bench_float.cpp @@ -14,7 +14,7 @@ // //@HEADER -#include +#include "bench.hpp" template void run_stride_unroll(int N, int K, int R, int D, int U, int F, int T, int S, int B, int I); diff --git a/lib/kokkos/benchmarks/bytes_and_flops/bench_int32_t.cpp b/lib/kokkos/benchmarks/bytes_and_flops/bench_int32_t.cpp index 29ccec0141..24a5dcd389 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/bench_int32_t.cpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/bench_int32_t.cpp @@ -14,7 +14,7 @@ // //@HEADER -#include +#include "bench.hpp" template void run_stride_unroll(int N, int K, int R, int D, int U, int F, int T, int S, int B, int I); diff --git a/lib/kokkos/benchmarks/bytes_and_flops/bench_int64_t.cpp b/lib/kokkos/benchmarks/bytes_and_flops/bench_int64_t.cpp index c153d5eff3..0634700c31 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/bench_int64_t.cpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/bench_int64_t.cpp @@ -14,7 +14,7 @@ // //@HEADER -#include +#include "bench.hpp" template void run_stride_unroll(int N, int K, int R, int D, int U, int F, int T, int S, int B, int I); diff --git a/lib/kokkos/benchmarks/bytes_and_flops/bench_stride.hpp b/lib/kokkos/benchmarks/bytes_and_flops/bench_stride.hpp index b63d486fc9..80f017fbe8 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/bench_stride.hpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/bench_stride.hpp @@ -15,28 +15,28 @@ //@HEADER #define UNROLL 1 -#include +#include "bench_unroll_stride.hpp" #undef UNROLL #define UNROLL 2 -#include +#include "bench_unroll_stride.hpp" #undef UNROLL #define UNROLL 3 -#include +#include "bench_unroll_stride.hpp" #undef UNROLL #define UNROLL 4 -#include +#include "bench_unroll_stride.hpp" #undef UNROLL #define UNROLL 5 -#include +#include "bench_unroll_stride.hpp" #undef UNROLL #define UNROLL 6 -#include +#include "bench_unroll_stride.hpp" #undef UNROLL #define UNROLL 7 -#include +#include "bench_unroll_stride.hpp" #undef UNROLL #define UNROLL 8 -#include +#include "bench_unroll_stride.hpp" #undef UNROLL template diff --git a/lib/kokkos/benchmarks/bytes_and_flops/bench_unroll_stride.hpp b/lib/kokkos/benchmarks/bytes_and_flops/bench_unroll_stride.hpp index 0f7a298c1b..78cfd48eff 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/bench_unroll_stride.hpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/bench_unroll_stride.hpp @@ -26,7 +26,7 @@ struct Run { Kokkos::deep_copy(C, Scalar(3.5)); Kokkos::Timer timer; - for (int i = 0; i < I; ++i) { + for (int iter = 0; iter < I; ++iter) { Kokkos::parallel_for( "BenchmarkKernel", Kokkos::TeamPolicy<>(N, T).set_scratch_size(0, Kokkos::PerTeam(S)), diff --git a/lib/kokkos/benchmarks/bytes_and_flops/main.cpp b/lib/kokkos/benchmarks/bytes_and_flops/main.cpp index 20077757d1..fdfcc4ea64 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/main.cpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/main.cpp @@ -16,7 +16,7 @@ #include #include -#include +#include "bench.hpp" #include extern template void run_stride_unroll(int, int, int, int, int, int, int, @@ -86,7 +86,7 @@ int main(int argc, char* argv[]) { printf("D must be one of 1,2,4,8,16,32\n"); return 0; } - if ((P < 1) && (P > 2)) { + if ((P < 1) || (P > 4)) { printf("P must be one of 1,2,3,4\n"); return 0; } diff --git a/lib/kokkos/benchmarks/gather/CMakeLists.txt b/lib/kokkos/benchmarks/gather/CMakeLists.txt new file mode 100644 index 0000000000..24c7062772 --- /dev/null +++ b/lib/kokkos/benchmarks/gather/CMakeLists.txt @@ -0,0 +1,4 @@ +KOKKOS_ADD_EXECUTABLE( + gather + SOURCES main.cpp +) diff --git a/lib/kokkos/benchmarks/gather/gather.hpp b/lib/kokkos/benchmarks/gather/gather.hpp index d83461702c..90b1101c1d 100644 --- a/lib/kokkos/benchmarks/gather/gather.hpp +++ b/lib/kokkos/benchmarks/gather/gather.hpp @@ -20,28 +20,28 @@ struct RunGather { }; #define UNROLL 1 -#include +#include "gather_unroll.hpp" #undef UNROLL #define UNROLL 2 -#include +#include "gather_unroll.hpp" #undef UNROLL #define UNROLL 3 -#include +#include "gather_unroll.hpp" #undef UNROLL #define UNROLL 4 -#include +#include "gather_unroll.hpp" #undef UNROLL #define UNROLL 5 -#include +#include "gather_unroll.hpp" #undef UNROLL #define UNROLL 6 -#include +#include "gather_unroll.hpp" #undef UNROLL #define UNROLL 7 -#include +#include "gather_unroll.hpp" #undef UNROLL #define UNROLL 8 -#include +#include "gather_unroll.hpp" #undef UNROLL template diff --git a/lib/kokkos/benchmarks/gather/gather_unroll.hpp b/lib/kokkos/benchmarks/gather/gather_unroll.hpp index 5ee5742a3f..1aa73091bc 100644 --- a/lib/kokkos/benchmarks/gather/gather_unroll.hpp +++ b/lib/kokkos/benchmarks/gather/gather_unroll.hpp @@ -138,7 +138,7 @@ struct RunGather { printf( "SNKDRUF: %i %i %i %i %i %i %i Time: %lfs Bandwidth: %lfGiB/s GFlop/s: " "%lf GGather/s: %lf\n", - sizeof(Scalar) / 4, N, K, D, R, UNROLL, F, seconds, + static_cast(sizeof(Scalar) / 4), N, K, D, R, UNROLL, F, seconds, 1.0 * bytes / seconds / 1024 / 1024 / 1024, 1.e-9 * flops / seconds, 1.e-9 * gather_ops / seconds); } diff --git a/lib/kokkos/benchmarks/gather/main.cpp b/lib/kokkos/benchmarks/gather/main.cpp index 7f4fc9ede6..07fca9fdc6 100644 --- a/lib/kokkos/benchmarks/gather/main.cpp +++ b/lib/kokkos/benchmarks/gather/main.cpp @@ -16,7 +16,7 @@ #include #include -#include +#include "gather.hpp" #include int main(int argc, char* argv[]) { diff --git a/lib/kokkos/benchmarks/launch_latency/CMakeLists.txt b/lib/kokkos/benchmarks/launch_latency/CMakeLists.txt new file mode 100644 index 0000000000..bb14da749d --- /dev/null +++ b/lib/kokkos/benchmarks/launch_latency/CMakeLists.txt @@ -0,0 +1,4 @@ +KOKKOS_ADD_EXECUTABLE( + launch_latency + SOURCES launch_latency.cpp +) diff --git a/lib/kokkos/benchmarks/launch_latency/launch_latency.cpp b/lib/kokkos/benchmarks/launch_latency/launch_latency.cpp new file mode 100644 index 0000000000..73b176ab8d --- /dev/null +++ b/lib/kokkos/benchmarks/launch_latency/launch_latency.cpp @@ -0,0 +1,283 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +/*! \file launch_latency.cpp + + Tests of parallel_for and parallel_reduce latency for different + circumstances. + + Three launch kinds are tested: parallel_for, parallel_reduce into scalar, + and parallel_reduce into view + + N controls how large the parallel loops is + V controls how large the functor is + M controls across how many launches the latency is averaged + K controls how larege the nested loop is (no larger than V) + + For each launch kind, + 1. Avg functor dispatch latency: (time to do M launches) / M + 2. Avg functor completion throughput: (M launches + sync) / M + 3. Avg functor completion latency: (M (launch + sync)) / M +*/ + +#include + +template +struct TestFunctor { + double values[V]; + Kokkos::View a; + int K; + TestFunctor(Kokkos::View a_, int K_) : a(a_), K(K_) {} + + KOKKOS_INLINE_FUNCTION + void operator()(const int i) const { + for (int j = 0; j < K; j++) a(i) += 1.0 * i * values[j]; + } +}; + +template +struct TestRFunctor { + double values[V]; + Kokkos::View a; + int K; + TestRFunctor(Kokkos::View a_, int K_) : a(a_), K(K_) {} + + KOKKOS_INLINE_FUNCTION + void operator()(const int i, double& lsum) const { + for (int j = 0; j < K; j++) a(i) += 1.0 * i * values[j]; + lsum += a(i); + } +}; + +struct Opts { + bool par_for = true; + bool par_reduce = true; + bool par_reduce_view = true; +}; + +template +void run(int N, int M, int K, const Opts& opts) { + std::string l_no_fence, l_fence, l_red_no_fence, l_red_fence, + l_red_view_no_fence, l_red_view_fence; + { + std::ostringstream ostream; + ostream << "RunNoFence_" << N << "_" << K << std::endl; + l_no_fence = ostream.str(); + } + { + std::ostringstream ostream; + ostream << "RunFence_" << N << "_" << K << std::endl; + l_fence = ostream.str(); + } + { + std::ostringstream ostream; + ostream << "RunReduceNoFence_" << N << "_" << K << std::endl; + l_red_no_fence = ostream.str(); + } + { + std::ostringstream ostream; + ostream << "RunReduceFence_" << N << "_" << K << std::endl; + l_red_fence = ostream.str(); + } + { + std::ostringstream ostream; + ostream << "RunReduceViewNoFence_" << N << "_" << K << std::endl; + l_red_view_no_fence = ostream.str(); + } + { + std::ostringstream ostream; + ostream << "RunReduceViewFence_" << N << "_" << K << std::endl; + l_red_view_fence = ostream.str(); + } + + double result; + Kokkos::View a("A", N); + Kokkos::View v_result("result"); + TestFunctor f(a, K); + TestRFunctor rf(a, K); + Kokkos::Timer timer; + + // initialize to an obviously wrong value + double time_no_fence = -1; // launch loop + double time_no_fence_fenced = -1; // launch loop then fence + double time_fence = -1; // launch&fence loop + + double time_red_no_fence = -1; + double time_red_no_fence_fenced = -1; + double time_red_fence = -1; + + double time_red_view_no_fence = -1; + double time_red_view_no_fence_fenced = -1; + double time_red_view_fence = -1; + + if (opts.par_for) { + // warmup + for (int i = 0; i < 4; ++i) { + Kokkos::parallel_for(l_no_fence, N, f); + } + Kokkos::fence(); + + timer.reset(); + for (int i = 0; i < M; i++) { + Kokkos::parallel_for(l_no_fence, N, f); + } + time_no_fence = timer.seconds(); + Kokkos::fence(); + time_no_fence_fenced = timer.seconds(); + + timer.reset(); + for (int i = 0; i < M; i++) { + Kokkos::parallel_for(l_fence, N, f); + Kokkos::fence(); + } + time_fence = timer.seconds(); + } + + if (opts.par_reduce) { + // warmup + for (int i = 0; i < 4; ++i) { + Kokkos::parallel_reduce(l_red_no_fence, N, rf, result); + } + Kokkos::fence(); + + timer.reset(); + for (int i = 0; i < M; i++) { + Kokkos::parallel_reduce(l_red_no_fence, N, rf, result); + } + time_red_no_fence = timer.seconds(); + Kokkos::fence(); + time_red_no_fence_fenced = timer.seconds(); + + timer.reset(); + for (int i = 0; i < M; i++) { + Kokkos::parallel_reduce(l_red_fence, N, rf, result); + Kokkos::fence(); + } + time_red_fence = timer.seconds(); + Kokkos::fence(); + } + + if (opts.par_reduce_view) { + // warmup + for (int i = 0; i < 4; ++i) { + Kokkos::parallel_reduce(l_red_view_no_fence, N, rf, v_result); + } + Kokkos::fence(); + + timer.reset(); + for (int i = 0; i < M; i++) { + Kokkos::parallel_reduce(l_red_view_no_fence, N, rf, v_result); + } + time_red_view_no_fence = timer.seconds(); + Kokkos::fence(); + time_red_view_no_fence_fenced = timer.seconds(); + + timer.reset(); + for (int i = 0; i < M; i++) { + Kokkos::parallel_reduce(l_red_view_fence, N, rf, v_result); + Kokkos::fence(); + } + time_red_view_fence = timer.seconds(); + Kokkos::fence(); + timer.reset(); + } + + const double x = 1.e6 / M; + printf("%i %i %i %i", N, V, K, M); + if (opts.par_for) { + printf(" parallel_for: %lf %lf ( %lf )", x * time_no_fence, x * time_fence, + x * time_no_fence_fenced); + } + if (opts.par_reduce) { + printf(" parallel_reduce: %lf %lf ( %lf )", x * time_red_no_fence, + x * time_red_fence, x * time_red_no_fence_fenced); + } + if (opts.par_reduce_view) { + printf(" parallel_reduce(view): %lf %lf ( %lf )", + x * time_red_view_no_fence, x * time_red_view_fence, + x * time_red_view_no_fence_fenced); + } + printf("\n"); +} +int main(int argc, char* argv[]) { + Kokkos::initialize(argc, argv); + { + int N = 10000; + int M = 20; + int K = 1; + + Opts opts; + + printf("==========================\n"); + printf("Kokkos Launch Latency Test\n"); + printf("==========================\n"); + printf("\n"); + printf("Usage: %s ARGUMENTS [OPTIONS...]\n\n", argv[0]); + printf("Arguments: N M K\n"); + printf(" N: loop length\n"); + printf(" M: how many kernels to dispatch\n"); + printf( + " K: nested loop length (capped by size of functor member array\n\n"); + printf("Options:\n"); + printf(" --no-parallel-for: skip parallel_for benchmark\n"); + printf(" --no-parallel-reduce: skip parallel_reduce benchmark\n"); + printf( + " --no-parallel-reduce-view: skip parallel_reduce into view " + "benchmark\n"); + printf("\n\n"); + printf(" Output V is the size of the functor member array\n"); + printf("\n\n"); + + for (int i = 1; i < argc; ++i) { + const std::string_view arg(argv[i]); + + // anything that doesn't start with -- + if (arg.size() < 2 || + (arg.size() >= 2 && arg[0] != '-' && arg[1] != '-')) { + if (i == 1) + N = atoi(arg.data()); + else if (i == 2) + M = atoi(arg.data()); + else if (i == 3) + K = atoi(arg.data()); + else { + throw std::runtime_error("unexpected argument!"); + } + } else if (arg == "--no-parallel-for") { + opts.par_for = false; + } else if (arg == "--no-parallel-reduce") { + opts.par_reduce = false; + } else if (arg == "--no-parallel-reduce-view") { + opts.par_reduce_view = false; + } else { + std::stringstream ss; + ss << "unexpected argument \"" << arg << "\" at position " << i; + throw std::runtime_error(ss.str()); + } + } + + printf("N V K M time_no_fence time_fence (time_no_fence_fenced)\n"); + + /* A backend may have different launch strategies for functors of different + * sizes: test a variety of functor sizes.*/ + run<1>(N, M, K <= 1 ? K : 1, opts); + run<16>(N, M, K <= 16 ? K : 16, opts); + run<200>(N, M, K <= 200 ? K : 200, opts); + run<3000>(N, M, K <= 3000 ? K : 3000, opts); + run<30000>(N, M, K <= 30000 ? K : 30000, opts); + } + Kokkos::finalize(); +} diff --git a/lib/kokkos/benchmarks/policy_performance/CMakeLists.txt b/lib/kokkos/benchmarks/policy_performance/CMakeLists.txt new file mode 100644 index 0000000000..929b9c9702 --- /dev/null +++ b/lib/kokkos/benchmarks/policy_performance/CMakeLists.txt @@ -0,0 +1,4 @@ +KOKKOS_ADD_EXECUTABLE( + policy_performance + SOURCES main.cpp +) diff --git a/lib/kokkos/benchmarks/policy_performance/main.cpp b/lib/kokkos/benchmarks/policy_performance/main.cpp index 28cfde552a..0983a3d535 100644 --- a/lib/kokkos/benchmarks/policy_performance/main.cpp +++ b/lib/kokkos/benchmarks/policy_performance/main.cpp @@ -106,8 +106,9 @@ int main(int argc, char* argv[]) { Kokkos::parallel_reduce( "parallel_reduce warmup", Kokkos::TeamPolicy<>(10, 1), - KOKKOS_LAMBDA(const Kokkos::TeamPolicy<>::member_type team, - double& lval) { lval += 1; }, + KOKKOS_LAMBDA(const Kokkos::TeamPolicy<>::member_type&, double& lval) { + lval += 1; + }, result); using view_type_1d = Kokkos::View; diff --git a/lib/kokkos/benchmarks/policy_performance/policy_perf_test.hpp b/lib/kokkos/benchmarks/policy_performance/policy_perf_test.hpp index cc2cc40257..0e23d221f6 100644 --- a/lib/kokkos/benchmarks/policy_performance/policy_perf_test.hpp +++ b/lib/kokkos/benchmarks/policy_performance/policy_perf_test.hpp @@ -21,13 +21,13 @@ struct ParallelScanFunctor { using value_type = double; ViewType v; - ParallelScanFunctor(const ViewType& v_) : v(v_) {} + explicit ParallelScanFunctor(const ViewType& v_) : v(v_) {} KOKKOS_INLINE_FUNCTION - void operator()(const int idx, value_type& val, const bool& final) const { + void operator()(const int idx, value_type& val, const bool& is_final) const { // inclusive scan val += v(idx); - if (final) { + if (is_final) { v(idx) = val; } } @@ -109,7 +109,7 @@ void test_policy(int team_range, int thread_range, int vector_range, vector_result = 0.0; Kokkos::parallel_reduce( Kokkos::ThreadVectorRange(team, vector_range), - [&](const int vi, double& vval) { vval += 1; }, + [&](const int, double& vval) { vval += 1; }, vector_result); } v2(idx, t) = vector_result; @@ -128,7 +128,7 @@ void test_policy(int team_range, int thread_range, int vector_range, team_result = 0.0; Kokkos::parallel_reduce( Kokkos::TeamThreadRange(team, thread_range), - [&](const int t, double& lval) { lval += 1; }, team_result); + [&](const int, double& lval) { lval += 1; }, team_result); } v1(idx) = team_result; // prevent compiler optimizing loop away @@ -170,13 +170,13 @@ void test_policy(int team_range, int thread_range, int vector_range, for (int tr = 0; tr < thread_repeat; ++tr) { Kokkos::parallel_reduce( Kokkos::TeamThreadRange(team, thread_range), - [&](const int t, double& lval) { + [&](const int, double& lval) { double vector_result = 0.0; for (int vr = 0; vr < inner_repeat; ++vr) { vector_result = 0.0; Kokkos::parallel_reduce( Kokkos::ThreadVectorRange(team, vector_range), - [&](const int vi, double& vval) { vval += 1; }, + [&](const int, double& vval) { vval += 1; }, vector_result); lval += vector_result; } diff --git a/lib/kokkos/benchmarks/stream/CMakeLists.txt b/lib/kokkos/benchmarks/stream/CMakeLists.txt new file mode 100644 index 0000000000..0dded6e3a5 --- /dev/null +++ b/lib/kokkos/benchmarks/stream/CMakeLists.txt @@ -0,0 +1,4 @@ +KOKKOS_ADD_EXECUTABLE( + stream + SOURCES stream-kokkos.cpp +) diff --git a/lib/kokkos/bin/nvcc_wrapper b/lib/kokkos/bin/nvcc_wrapper index c140087240..9b935835d5 100755 --- a/lib/kokkos/bin/nvcc_wrapper +++ b/lib/kokkos/bin/nvcc_wrapper @@ -229,7 +229,7 @@ do fi ;; #Handle known nvcc args - --dryrun|--verbose|--keep|--source-in-ptx|-src-in-ptx|--keep-dir*|-G|-lineinfo|-extended-lambda|-expt-extended-lambda|-expt-relaxed-constexpr|--resource-usage|--fmad=*|--use_fast_math|--Wext-lambda-captures-this|-Wext-lambda-captures-this) + --dryrun|-dryrun|--verbose|--keep|-keep|--source-in-ptx|-src-in-ptx|--keep-dir*|-keep-dir*|-G|-lineinfo|--generate-line-info|-extended-lambda|-expt-extended-lambda|-expt-relaxed-constexpr|--resource-usage|-res-usage|-fmad=*|--use_fast_math|-use_fast_math|--Wext-lambda-captures-this|-Wext-lambda-captures-this) cuda_args="$cuda_args $1" ;; #Handle more known nvcc args diff --git a/lib/kokkos/cmake/KokkosConfig.cmake.in b/lib/kokkos/cmake/KokkosConfig.cmake.in index e26c75b312..1b6d1b66ff 100644 --- a/lib/kokkos/cmake/KokkosConfig.cmake.in +++ b/lib/kokkos/cmake/KokkosConfig.cmake.in @@ -39,10 +39,12 @@ IF("launch_compiler" IN_LIST Kokkos_FIND_COMPONENTS) GLOBAL CHECK_CUDA_COMPILES) -ELSEIF(@Kokkos_ENABLE_CUDA@ AND NOT "separable_compilation" IN_LIST Kokkos_FIND_COMPONENTS) +ELSEIF(@Kokkos_ENABLE_CUDA@ + AND NOT @KOKKOS_COMPILE_LANGUAGE@ STREQUAL CUDA + AND NOT "separable_compilation" IN_LIST Kokkos_FIND_COMPONENTS) # - # if CUDA was enabled, separable compilation was not specified, and current compiler - # cannot compile CUDA, then set the RULE_LAUNCH_COMPILE and RULE_LAUNCH_LINK globally and + # if CUDA was enabled, the compilation language was not set to CUDA, and separable compilation was not + # specified, then set the RULE_LAUNCH_COMPILE and RULE_LAUNCH_LINK globally and # kokkos_launch_compiler will re-direct to the compiler used to compile CUDA code during installation. # kokkos_launch_compiler will re-direct if ${CMAKE_CXX_COMPILER} and -DKOKKOS_DEPENDENCE is present, # otherwise, the original command will be executed diff --git a/lib/kokkos/cmake/KokkosCore_config.h.in b/lib/kokkos/cmake/KokkosCore_config.h.in index 9930d2abf0..2df0f6c520 100644 --- a/lib/kokkos/cmake/KokkosCore_config.h.in +++ b/lib/kokkos/cmake/KokkosCore_config.h.in @@ -23,8 +23,6 @@ #cmakedefine KOKKOS_ENABLE_CUDA #cmakedefine KOKKOS_ENABLE_HIP #cmakedefine KOKKOS_ENABLE_HPX -#cmakedefine KOKKOS_ENABLE_MEMKIND -#cmakedefine KOKKOS_ENABLE_LIBRT #cmakedefine KOKKOS_ENABLE_SYCL #cmakedefine KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED @@ -32,6 +30,7 @@ #cmakedefine KOKKOS_ENABLE_CXX17 #cmakedefine KOKKOS_ENABLE_CXX20 #cmakedefine KOKKOS_ENABLE_CXX23 +#cmakedefine KOKKOS_ENABLE_CXX26 #cmakedefine KOKKOS_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE #cmakedefine KOKKOS_ENABLE_CUDA_UVM @@ -45,7 +44,6 @@ #cmakedefine KOKKOS_ENABLE_DEBUG_DUALVIEW_MODIFY_CHECK #cmakedefine KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK #cmakedefine KOKKOS_ENABLE_TUNING -#cmakedefine KOKKOS_ENABLE_DEPRECATED_CODE_3 #cmakedefine KOKKOS_ENABLE_DEPRECATED_CODE_4 #cmakedefine KOKKOS_ENABLE_DEPRECATION_WARNINGS #cmakedefine KOKKOS_ENABLE_LARGE_MEM_TESTS @@ -53,17 +51,15 @@ #cmakedefine KOKKOS_OPT_RANGE_AGGRESSIVE_VECTORIZATION // deprecated #cmakedefine KOKKOS_ENABLE_AGGRESSIVE_VECTORIZATION #cmakedefine KOKKOS_ENABLE_IMPL_MDSPAN +#cmakedefine KOKKOS_ENABLE_ATOMICS_BYPASS /* TPL Settings */ #cmakedefine KOKKOS_ENABLE_HWLOC -#cmakedefine KOKKOS_USE_LIBRT -#cmakedefine KOKKOS_ENABLE_HBWSPACE #cmakedefine KOKKOS_ENABLE_LIBDL #cmakedefine KOKKOS_ENABLE_LIBQUADMATH -#cmakedefine KOKKOS_IMPL_CUDA_CLANG_WORKAROUND #cmakedefine KOKKOS_ENABLE_ONEDPL +#cmakedefine KOKKOS_ENABLE_ROCTHRUST -#cmakedefine KOKKOS_ARCH_SSE42 #cmakedefine KOKKOS_ARCH_ARMV80 #cmakedefine KOKKOS_ARCH_ARMV8_THUNDERX #cmakedefine KOKKOS_ARCH_ARMV81 @@ -78,6 +74,7 @@ #cmakedefine KOKKOS_ARCH_POWER7 #cmakedefine KOKKOS_ARCH_POWER8 #cmakedefine KOKKOS_ARCH_POWER9 +#cmakedefine KOKKOS_ARCH_RISCV_SG2042 #cmakedefine KOKKOS_ARCH_INTEL_GEN #cmakedefine KOKKOS_ARCH_INTEL_DG1 #cmakedefine KOKKOS_ARCH_INTEL_GEN9 diff --git a/lib/kokkos/cmake/Modules/FindTPLCUDA.cmake b/lib/kokkos/cmake/Modules/FindTPLCUDA.cmake index 792c92c07e..5a62c530fc 100644 --- a/lib/kokkos/cmake/Modules/FindTPLCUDA.cmake +++ b/lib/kokkos/cmake/Modules/FindTPLCUDA.cmake @@ -7,7 +7,8 @@ IF (NOT CUDAToolkit_ROOT) ENDIF() ENDIF() -IF(CMAKE_VERSION VERSION_GREATER_EQUAL "3.17.0") +# FIXME CMake 3.28.4 creates more targets than we export +IF(CMAKE_VERSION VERSION_GREATER_EQUAL "3.17.0" AND CMAKE_VERSION VERSION_LESS "3.28.4") find_package(CUDAToolkit) ELSE() include(${CMAKE_CURRENT_LIST_DIR}/CudaToolkit.cmake) diff --git a/lib/kokkos/cmake/Modules/FindTPLLIBRT.cmake b/lib/kokkos/cmake/Modules/FindTPLLIBRT.cmake deleted file mode 100644 index e75da56b5b..0000000000 --- a/lib/kokkos/cmake/Modules/FindTPLLIBRT.cmake +++ /dev/null @@ -1 +0,0 @@ -KOKKOS_FIND_IMPORTED(LIBRT HEADER time.h LIBRARY rt) diff --git a/lib/kokkos/cmake/Modules/FindTPLMEMKIND.cmake b/lib/kokkos/cmake/Modules/FindTPLMEMKIND.cmake deleted file mode 100644 index 20aaff2295..0000000000 --- a/lib/kokkos/cmake/Modules/FindTPLMEMKIND.cmake +++ /dev/null @@ -1 +0,0 @@ -KOKKOS_FIND_IMPORTED(MEMKIND HEADER memkind.h LIBRARY memkind) diff --git a/lib/kokkos/cmake/Modules/FindTPLONEDPL.cmake b/lib/kokkos/cmake/Modules/FindTPLONEDPL.cmake index 01791cff44..603510c315 100644 --- a/lib/kokkos/cmake/Modules/FindTPLONEDPL.cmake +++ b/lib/kokkos/cmake/Modules/FindTPLONEDPL.cmake @@ -43,4 +43,7 @@ ELSE() COMPILE_DEFINITIONS PSTL_USE_PARALLEL_POLICIES=0 _GLIBCXX_USE_TBB_PAR_BACKEND=0 ) ENDIF() + + # Export oneDPL as a Kokkos dependency + KOKKOS_EXPORT_CMAKE_TPL(oneDPL) ENDIF() diff --git a/lib/kokkos/cmake/Modules/FindTPLROCTHRUST.cmake b/lib/kokkos/cmake/Modules/FindTPLROCTHRUST.cmake new file mode 100644 index 0000000000..dae7dc3c95 --- /dev/null +++ b/lib/kokkos/cmake/Modules/FindTPLROCTHRUST.cmake @@ -0,0 +1,15 @@ +# ROCm 5.6 and earlier set AMDGPU_TARGETS and GPU_TARGETS to all the supported +# architectures. Therefore, we end up compiling Kokkos for all the supported +# architecture. Starting with ROCm 5.7 AMDGPU_TARGETS and GPU_TARGETS are empty. +# It is the user's job to set the variables. Since we are injecting the +# architecture flag ourselves, we can let the variables empty. To replicate the +# behavior of ROCm 5.7 and later for earlier version of ROCm we set +# AMDGPU_TARGETS and GPU_TARGETS to empty and set the values in the cache. If +# the values are not cached, FIND_PACKAGE(rocthrust) will overwrite them. +SET(AMDGPU_TARGETS "" CACHE STRING "AMD GPU targets to compile for") +SET(GPU_TARGETS "" CACHE STRING "GPU targets to compile for") +FIND_PACKAGE(rocthrust REQUIRED) +KOKKOS_CREATE_IMPORTED_TPL(ROCTHRUST INTERFACE LINK_LIBRARIES roc::rocthrust) + +# Export ROCTHRUST as a Kokkos dependency +KOKKOS_EXPORT_CMAKE_TPL(rocthrust) diff --git a/lib/kokkos/cmake/kokkos_arch.cmake b/lib/kokkos/cmake/kokkos_arch.cmake index 30764bde86..34e9f05986 100644 --- a/lib/kokkos/cmake/kokkos_arch.cmake +++ b/lib/kokkos/cmake/kokkos_arch.cmake @@ -49,7 +49,6 @@ DECLARE_AND_CHECK_HOST_ARCH(ARMV81 "ARMv8.1 Compatible CPU") DECLARE_AND_CHECK_HOST_ARCH(ARMV8_THUNDERX "ARMv8 Cavium ThunderX CPU") DECLARE_AND_CHECK_HOST_ARCH(ARMV8_THUNDERX2 "ARMv8 Cavium ThunderX2 CPU") DECLARE_AND_CHECK_HOST_ARCH(A64FX "ARMv8.2 with SVE Support") -DECLARE_AND_CHECK_HOST_ARCH(WSM "Intel Westmere CPU") DECLARE_AND_CHECK_HOST_ARCH(SNB "Intel Sandy/Ivy Bridge CPUs") DECLARE_AND_CHECK_HOST_ARCH(HSW "Intel Haswell CPUs") DECLARE_AND_CHECK_HOST_ARCH(BDW "Intel Broadwell Xeon E-class CPUs") @@ -60,13 +59,12 @@ DECLARE_AND_CHECK_HOST_ARCH(SKX "Intel Skylake Xeon Server CPUs (A DECLARE_AND_CHECK_HOST_ARCH(KNC "Intel Knights Corner Xeon Phi") DECLARE_AND_CHECK_HOST_ARCH(KNL "Intel Knights Landing Xeon Phi") DECLARE_AND_CHECK_HOST_ARCH(SPR "Intel Sapphire Rapids Xeon Server CPUs (AVX512)") -DECLARE_AND_CHECK_HOST_ARCH(BGQ "IBM Blue Gene Q") -DECLARE_AND_CHECK_HOST_ARCH(POWER7 "IBM POWER7 CPUs") DECLARE_AND_CHECK_HOST_ARCH(POWER8 "IBM POWER8 CPUs") DECLARE_AND_CHECK_HOST_ARCH(POWER9 "IBM POWER9 CPUs") DECLARE_AND_CHECK_HOST_ARCH(ZEN "AMD Zen architecture") DECLARE_AND_CHECK_HOST_ARCH(ZEN2 "AMD Zen2 architecture") DECLARE_AND_CHECK_HOST_ARCH(ZEN3 "AMD Zen3 architecture") +DECLARE_AND_CHECK_HOST_ARCH(RISCV_SG2042 "SG2042 (RISC-V) CPUs") IF(Kokkos_ENABLE_CUDA OR Kokkos_ENABLE_OPENMPTARGET OR Kokkos_ENABLE_OPENACC OR Kokkos_ENABLE_SYCL) SET(KOKKOS_SHOW_CUDA_ARCHS ON) @@ -191,9 +189,6 @@ IF (KOKKOS_CXX_COMPILER_ID STREQUAL Clang) ELSEIF(CUDAToolkit_BIN_DIR) GLOBAL_APPEND(KOKKOS_CUDA_OPTIONS --cuda-path=${CUDAToolkit_BIN_DIR}/..) ENDIF() - IF (KOKKOS_ENABLE_CUDA) - SET(KOKKOS_IMPL_CUDA_CLANG_WORKAROUND ON CACHE BOOL "enable CUDA Clang workarounds" FORCE) - ENDIF() ELSEIF (KOKKOS_CXX_COMPILER_ID STREQUAL NVHPC) SET(CUDA_ARCH_FLAG "-gpu") GLOBAL_APPEND(KOKKOS_CUDA_OPTIONS -cuda) @@ -342,18 +337,6 @@ IF (KOKKOS_ARCH_ZEN3) SET(KOKKOS_ARCH_AVX2 ON) ENDIF() -IF (KOKKOS_ARCH_WSM) - COMPILER_SPECIFIC_FLAGS( - COMPILER_ID KOKKOS_CXX_HOST_COMPILER_ID - Cray NO-VALUE-SPECIFIED - Intel -xSSE4.2 - MSVC NO-VALUE-SPECIFIED - NVHPC -tp=px - DEFAULT -msse4.2 - ) - SET(KOKKOS_ARCH_SSE42 ON) -ENDIF() - IF (KOKKOS_ARCH_SNB OR KOKKOS_ARCH_AMDAVX) SET(KOKKOS_ARCH_AVX ON) COMPILER_SPECIFIC_FLAGS( @@ -378,6 +361,23 @@ IF (KOKKOS_ARCH_HSW) ) ENDIF() +IF (KOKKOS_ARCH_RISCV_SG2042) + IF(NOT + (KOKKOS_CXX_COMPILER_ID STREQUAL GNU + AND KOKKOS_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 12) + OR + (KOKKOS_CXX_COMPILER_ID STREQUAL Clang + AND KOKKOS_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 14) + ) + MESSAGE(SEND_ERROR "Only gcc >= 12 and clang >= 14 support RISC-V.") + ENDIF() + COMPILER_SPECIFIC_FLAGS( + COMPILER_ID KOKKOS_CXX_HOST_COMPILER_ID + DEFAULT -march=rv64imafdcv + ) +ENDIF() + + IF (KOKKOS_ARCH_BDW) SET(KOKKOS_ARCH_AVX2 ON) COMPILER_SPECIFIC_FLAGS( @@ -571,6 +571,11 @@ IF (KOKKOS_ENABLE_HIP) COMPILER_SPECIFIC_FLAGS( DEFAULT -fgpu-rdc ) + IF (NOT KOKKOS_CXX_COMPILER_ID STREQUAL HIPCC) + COMPILER_SPECIFIC_LINK_OPTIONS( + DEFAULT --hip-link + ) + ENDIF() ELSE() COMPILER_SPECIFIC_FLAGS( DEFAULT -fno-gpu-rdc @@ -588,32 +593,44 @@ IF (KOKKOS_ENABLE_SYCL) ENDIF() # Check support for device_global variables -# FIXME_SYCL Once the feature test macro SYCL_EXT_ONEAPI_DEVICE_GLOBAL is -# available, use that instead. -IF(KOKKOS_ENABLE_SYCL AND NOT BUILD_SHARED_LIBS) - INCLUDE(CheckCXXSourceCompiles) +# FIXME_SYCL If SYCL_EXT_ONEAPI_DEVICE_GLOBAL is defined, we can use device +# global variables with shared libraries using the "non-separable compilation" +# implementation. Otherwise, the feature is not supported when building shared +# libraries. Thus, we don't even check for support if shared libraries are +# requested and SYCL_EXT_ONEAPI_DEVICE_GLOBAL is not defined. +IF(KOKKOS_ENABLE_SYCL) STRING(REPLACE ";" " " CMAKE_REQUIRED_FLAGS "${KOKKOS_COMPILE_OPTIONS}") - CHECK_CXX_SOURCE_COMPILES(" - #include - using namespace sycl::ext::oneapi::experimental; - using namespace sycl; + INCLUDE(CheckCXXSymbolExists) + CHECK_CXX_SYMBOL_EXISTS(SYCL_EXT_ONEAPI_DEVICE_GLOBAL "sycl/sycl.hpp" KOKKOS_IMPL_HAVE_SYCL_EXT_ONEAPI_DEVICE_GLOBAL) + IF (KOKKOS_IMPL_HAVE_SYCL_EXT_ONEAPI_DEVICE_GLOBAL) + SET(KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED ON) + # Use the non-separable compilation implementation to support shared libraries as well. + COMPILER_SPECIFIC_FLAGS(DEFAULT -DDESUL_SYCL_DEVICE_GLOBAL_SUPPORTED) + ELSEIF(NOT BUILD_SHARED_LIBS) + INCLUDE(CheckCXXSourceCompiles) + CHECK_CXX_SOURCE_COMPILES(" + #include + using namespace sycl::ext::oneapi::experimental; + using namespace sycl; - SYCL_EXTERNAL device_global Foo; + SYCL_EXTERNAL device_global Foo; - void bar(queue q) { - q.single_task([=] { - Foo = 42; - }); - } + void bar(queue q) { + q.single_task([=] { + Foo = 42; + }); + } - int main(){ return 0; } - " - KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED) + int main(){ return 0; } + " + KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED) - IF(KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED) - COMPILER_SPECIFIC_FLAGS( - DEFAULT -fsycl-device-code-split=off -DDESUL_SYCL_DEVICE_GLOBAL_SUPPORTED - ) + IF(KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED) + # Only the separable compilation implementation is supported. + COMPILER_SPECIFIC_FLAGS( + DEFAULT -fsycl-device-code-split=off -DDESUL_SYCL_DEVICE_GLOBAL_SUPPORTED + ) + ENDIF() ENDIF() ENDIF() @@ -767,30 +784,35 @@ IF (KOKKOS_ENABLE_OPENMPTARGET) COMPILER_SPECIFIC_FLAGS( IntelLLVM -fopenmp-targets=spir64 -D__STRICT_ANSI__ ) - ELSEIF(KOKKOS_ARCH_INTEL_GEN9) - COMPILER_SPECIFIC_FLAGS( - IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device gen9" -D__STRICT_ANSI__ + ELSE() + COMPILER_SPECIFIC_OPTIONS( + IntelLLVM -fopenmp-targets=spir64_gen -D__STRICT_ANSI__ ) - ELSEIF(KOKKOS_ARCH_INTEL_GEN11) - COMPILER_SPECIFIC_FLAGS( - IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device gen11" -D__STRICT_ANSI__ - ) - ELSEIF(KOKKOS_ARCH_INTEL_GEN12LP) - COMPILER_SPECIFIC_FLAGS( - IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device gen12lp" -D__STRICT_ANSI__ - ) - ELSEIF(KOKKOS_ARCH_INTEL_DG1) - COMPILER_SPECIFIC_FLAGS( - IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device dg1" -D__STRICT_ANSI__ - ) - ELSEIF(KOKKOS_ARCH_INTEL_XEHP) - COMPILER_SPECIFIC_FLAGS( - IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device 12.50.4" -D__STRICT_ANSI__ - ) - ELSEIF(KOKKOS_ARCH_INTEL_PVC) - COMPILER_SPECIFIC_FLAGS( - IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device 12.60.7" -D__STRICT_ANSI__ + IF(KOKKOS_ARCH_INTEL_GEN9) + COMPILER_SPECIFIC_LINK_OPTIONS( + IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device gen9" + ) + ELSEIF(KOKKOS_ARCH_INTEL_GEN11) + COMPILER_SPECIFIC_LINK_OPTIONS( + IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device gen11" + ) + ELSEIF(KOKKOS_ARCH_INTEL_GEN12LP) + COMPILER_SPECIFIC_LINK_OPTIONS( + IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device gen12lp" + ) + ELSEIF(KOKKOS_ARCH_INTEL_DG1) + COMPILER_SPECIFIC_LINK_OPTIONS( + IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device dg1" + ) + ELSEIF(KOKKOS_ARCH_INTEL_XEHP) + COMPILER_SPECIFIC_LINK_OPTIONS( + IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device 12.50.4" + ) + ELSEIF(KOKKOS_ARCH_INTEL_PVC) + COMPILER_SPECIFIC_LINK_OPTIONS( + IntelLLVM -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device 12.60.7" ) + ENDIF() ENDIF() ENDIF() @@ -1130,3 +1152,14 @@ MESSAGE(STATUS "Architectures:") FOREACH(Arch ${KOKKOS_ENABLED_ARCH_LIST}) MESSAGE(STATUS " ${Arch}") ENDFOREACH() + + +IF(KOKKOS_ENABLE_ATOMICS_BYPASS) + IF(NOT _HOST_PARALLEL STREQUAL "NoTypeDefined" OR NOT _DEVICE_PARALLEL STREQUAL "NoTypeDefined") + MESSAGE(FATAL_ERROR "Not allowed to disable atomics (via -DKokkos_ENABLE_AROMICS_BYPASS=ON) if neither a host parallel nor a device backend is enabled!") + ENDIF() + IF(NOT KOKKOS_ENABLE_SERIAL) + MESSAGE(FATAL_ERROR "Implementation bug") # safeguard + ENDIF() + MESSAGE(STATUS "Atomics: **DISABLED**") +ENDIF() diff --git a/lib/kokkos/cmake/kokkos_compiler_id.cmake b/lib/kokkos/cmake/kokkos_compiler_id.cmake index 04589befc3..9135ca2b41 100644 --- a/lib/kokkos/cmake/kokkos_compiler_id.cmake +++ b/lib/kokkos/cmake/kokkos_compiler_id.cmake @@ -152,6 +152,7 @@ ENDIF() SET(KOKKOS_MESSAGE_TEXT "Compiler not supported by Kokkos. Required compiler versions:") SET(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n Clang(CPU) 8.0.0 or higher") SET(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n Clang(CUDA) 10.0.0 or higher") +SET(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n Clang(OpenMPTarget) 15.0.0 or higher") SET(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n GCC 8.2.0 or higher") SET(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n Intel 19.0.5 or higher") SET(KOKKOS_MESSAGE_TEXT "${KOKKOS_MESSAGE_TEXT}\n IntelLLVM(CPU) 2021.1.1 or higher") @@ -210,6 +211,10 @@ ELSEIF(KOKKOS_CXX_COMPILER_ID STREQUAL "MSVC") ENDIF() ELSEIF(KOKKOS_CXX_COMPILER_ID STREQUAL XL OR KOKKOS_CXX_COMPILER_ID STREQUAL XLClang) MESSAGE(FATAL_ERROR "${KOKKOS_MESSAGE_TEXT}") +ELSEIF(KOKKOS_CXX_COMPILER_ID STREQUAL Clang AND Kokkos_ENABLE_OPENMPTARGET) + IF(KOKKOS_CXX_COMPILER_VERSION VERSION_LESS 15.0.0) + MESSAGE(FATAL_ERROR "${KOKKOS_MESSAGE_TEXT}") + ENDIF() ENDIF() IF(NOT DEFINED KOKKOS_CXX_HOST_COMPILER_ID) diff --git a/lib/kokkos/cmake/kokkos_enable_options.cmake b/lib/kokkos/cmake/kokkos_enable_options.cmake index 89e23b019b..a437f6132a 100644 --- a/lib/kokkos/cmake/kokkos_enable_options.cmake +++ b/lib/kokkos/cmake/kokkos_enable_options.cmake @@ -48,7 +48,6 @@ KOKKOS_ENABLE_OPTION(CUDA_LAMBDA ${CUDA_LAMBDA_DEFAULT} "Whether to allow lambda # resolved but we keep the option around a bit longer to be safe. KOKKOS_ENABLE_OPTION(IMPL_CUDA_MALLOC_ASYNC ON "Whether to enable CudaMallocAsync (requires CUDA Toolkit 11.2)") KOKKOS_ENABLE_OPTION(IMPL_NVHPC_AS_DEVICE_COMPILER OFF "Whether to allow nvc++ as Cuda device compiler") -KOKKOS_ENABLE_OPTION(DEPRECATED_CODE_3 OFF "Whether code deprecated in major release 3 is available" ) KOKKOS_ENABLE_OPTION(DEPRECATED_CODE_4 ON "Whether code deprecated in major release 4 is available" ) KOKKOS_ENABLE_OPTION(DEPRECATION_WARNINGS ON "Whether to emit deprecation warnings" ) KOKKOS_ENABLE_OPTION(HIP_RELOCATABLE_DEVICE_CODE OFF "Whether to enable relocatable device code (RDC) for HIP") @@ -74,6 +73,7 @@ KOKKOS_ENABLE_OPTION(HIP_MULTIPLE_KERNEL_INSTANTIATIONS OFF "Whether multiple ke # This option will go away eventually, but allows fallback to old implementation when needed. KOKKOS_ENABLE_OPTION(DESUL_ATOMICS_EXTERNAL OFF "Whether to use an external desul installation") +KOKKOS_ENABLE_OPTION(ATOMICS_BYPASS OFF "**NOT RECOMMENDED** Whether to make atomics non-atomic for non-threaded MPI-only use cases") KOKKOS_ENABLE_OPTION(IMPL_MDSPAN OFF "Whether to enable experimental mdspan support") KOKKOS_ENABLE_OPTION(MDSPAN_EXTERNAL OFF BOOL "Whether to use an external version of mdspan") diff --git a/lib/kokkos/cmake/kokkos_pick_cxx_std.cmake b/lib/kokkos/cmake/kokkos_pick_cxx_std.cmake index d4eca651d4..ae14a10d53 100644 --- a/lib/kokkos/cmake/kokkos_pick_cxx_std.cmake +++ b/lib/kokkos/cmake/kokkos_pick_cxx_std.cmake @@ -7,6 +7,7 @@ KOKKOS_OPTION(CXX_STANDARD "" STRING "[[DEPRECATED - USE CMAKE_CXX_STANDARD INST SET(KOKKOS_ENABLE_CXX17 OFF) SET(KOKKOS_ENABLE_CXX20 OFF) SET(KOKKOS_ENABLE_CXX23 OFF) +SET(KOKKOS_ENABLE_CXX26 OFF) IF (KOKKOS_CXX_STANDARD) MESSAGE(FATAL_ERROR "Setting the variable Kokkos_CXX_STANDARD in configuration is deprecated - set CMAKE_CXX_STANDARD directly instead") ENDIF() diff --git a/lib/kokkos/cmake/kokkos_test_cxx_std.cmake b/lib/kokkos/cmake/kokkos_test_cxx_std.cmake index 7ad49fdd2d..b075a3e36b 100644 --- a/lib/kokkos/cmake/kokkos_test_cxx_std.cmake +++ b/lib/kokkos/cmake/kokkos_test_cxx_std.cmake @@ -74,6 +74,10 @@ ELSEIF(KOKKOS_CXX_STANDARD STREQUAL "23") kokkos_set_cxx_standard_feature(23) SET(KOKKOS_CXX_INTERMEDIATE_STANDARD "2B") SET(KOKKOS_ENABLE_CXX23 ON) +ELSEIF(KOKKOS_CXX_STANDARD STREQUAL "26") + kokkos_set_cxx_standard_feature(26) + SET(KOKKOS_CXX_INTERMEDIATE_STANDARD "2C") + SET(KOKKOS_ENABLE_CXX26 ON) ELSE() MESSAGE(FATAL_ERROR "Kokkos requires C++17 or newer but requested ${KOKKOS_CXX_STANDARD}!") ENDIF() diff --git a/lib/kokkos/cmake/kokkos_tpls.cmake b/lib/kokkos/cmake/kokkos_tpls.cmake index f124596a84..6ef3b79bde 100644 --- a/lib/kokkos/cmake/kokkos_tpls.cmake +++ b/lib/kokkos/cmake/kokkos_tpls.cmake @@ -32,19 +32,21 @@ FUNCTION(KOKKOS_TPL_OPTION PKG DEFAULT) ENDFUNCTION() KOKKOS_TPL_OPTION(HWLOC Off TRIBITS HWLOC) -KOKKOS_TPL_OPTION(MEMKIND Off) -IF(KOKKOS_ENABLE_MEMKIND) - SET(KOKKOS_ENABLE_HBWSPACE ON) -ENDIF() KOKKOS_TPL_OPTION(CUDA ${Kokkos_ENABLE_CUDA} TRIBITS CUDA) -KOKKOS_TPL_OPTION(LIBRT Off) IF(KOKKOS_ENABLE_HIP AND NOT KOKKOS_CXX_COMPILER_ID STREQUAL HIPCC AND NOT KOKKOS_HAS_TRILINOS) SET(ROCM_DEFAULT ON) ELSE() SET(ROCM_DEFAULT OFF) ENDIF() +IF(KOKKOS_ENABLE_HIP AND NOT KOKKOS_HAS_TRILINOS) + SET(ROCTHRUST_DEFAULT ON) +ELSE() + SET(ROCTHRUST_DEFAULT OFF) +ENDIF() KOKKOS_TPL_OPTION(ROCM ${ROCM_DEFAULT}) +KOKKOS_TPL_OPTION(ROCTHRUST ${ROCTHRUST_DEFAULT}) + IF(KOKKOS_ENABLE_SYCL AND NOT KOKKOS_HAS_TRILINOS) SET(ONEDPL_DEFAULT ON) ELSE() @@ -77,21 +79,18 @@ KOKKOS_TPL_OPTION(LIBQUADMATH ${LIBQUADMATH_DEFAULT} TRIBITS quadmath) #Make sure we use our local FindKokkosCuda.cmake KOKKOS_IMPORT_TPL(HPX INTERFACE) -IF (NOT KOKKOS_ENABLE_COMPILE_AS_CMAKE_LANGUAGE) - KOKKOS_IMPORT_TPL(CUDA INTERFACE) -ENDIF() +KOKKOS_IMPORT_TPL(CUDA INTERFACE) KOKKOS_IMPORT_TPL(HWLOC) -KOKKOS_IMPORT_TPL(LIBRT) KOKKOS_IMPORT_TPL(LIBDL) -KOKKOS_IMPORT_TPL(MEMKIND) IF (NOT WIN32) KOKKOS_IMPORT_TPL(THREADS INTERFACE) ENDIF() IF (NOT KOKKOS_ENABLE_COMPILE_AS_CMAKE_LANGUAGE) KOKKOS_IMPORT_TPL(ROCM INTERFACE) - KOKKOS_IMPORT_TPL(ONEDPL INTERFACE) ENDIF() +KOKKOS_IMPORT_TPL(ONEDPL INTERFACE) KOKKOS_IMPORT_TPL(LIBQUADMATH) +KOKKOS_IMPORT_TPL(ROCTHRUST) IF (Kokkos_ENABLE_DESUL_ATOMICS_EXTERNAL) find_package(desul REQUIRED COMPONENTS atomics) @@ -119,7 +118,3 @@ STRING(REPLACE ";" "\n" KOKKOS_TPL_EXPORT_TEMP "${KOKKOS_TPL_EXPORTS}") #Convert to a regular variable UNSET(KOKKOS_TPL_EXPORTS CACHE) SET(KOKKOS_TPL_EXPORTS ${KOKKOS_TPL_EXPORT_TEMP}) -IF (KOKKOS_ENABLE_MEMKIND) - SET(KOKKOS_ENABLE_HBWSPACE) - LIST(APPEND KOKKOS_MEMSPACE_LIST HBWSpace) -ENDIF() diff --git a/lib/kokkos/cmake/kokkos_tribits.cmake b/lib/kokkos/cmake/kokkos_tribits.cmake index b30ca70ab9..060a7a8472 100644 --- a/lib/kokkos/cmake/kokkos_tribits.cmake +++ b/lib/kokkos/cmake/kokkos_tribits.cmake @@ -237,18 +237,10 @@ ENDMACRO() ## KOKKOS_DECLARE is the declaration set ## KOKKOS_POST_INCLUDE is included at the end of Kokkos_Core.hpp MACRO(KOKKOS_CONFIGURE_CORE) - SET(FWD_BACKEND_LIST) - FOREACH(MEMSPACE ${KOKKOS_MEMSPACE_LIST}) - LIST(APPEND FWD_BACKEND_LIST ${MEMSPACE}) - ENDFOREACH() - FOREACH(BACKEND_ ${KOKKOS_ENABLED_DEVICES}) - LIST(APPEND FWD_BACKEND_LIST ${BACKEND_}) - ENDFOREACH() - MESSAGE(STATUS "Kokkos Devices: ${KOKKOS_ENABLED_DEVICES}, Kokkos Backends: ${FWD_BACKEND_LIST}") - KOKKOS_CONFIG_HEADER( KokkosCore_Config_HeaderSet.in KokkosCore_Config_FwdBackend.hpp "KOKKOS_FWD" "fwd/Kokkos_Fwd" "${FWD_BACKEND_LIST}") + MESSAGE(STATUS "Kokkos Backends: ${KOKKOS_ENABLED_DEVICES}") + KOKKOS_CONFIG_HEADER( KokkosCore_Config_HeaderSet.in KokkosCore_Config_FwdBackend.hpp "KOKKOS_FWD" "fwd/Kokkos_Fwd" "${KOKKOS_ENABLED_DEVICES}") KOKKOS_CONFIG_HEADER( KokkosCore_Config_HeaderSet.in KokkosCore_Config_SetupBackend.hpp "KOKKOS_SETUP" "setup/Kokkos_Setup" "${DEVICE_SETUP_LIST}") - KOKKOS_CONFIG_HEADER( KokkosCore_Config_HeaderSet.in KokkosCore_Config_DeclareBackend.hpp "KOKKOS_DECLARE" "decl/Kokkos_Declare" "${FWD_BACKEND_LIST}") - KOKKOS_CONFIG_HEADER( KokkosCore_Config_HeaderSet.in KokkosCore_Config_PostInclude.hpp "KOKKOS_POST_INCLUDE" "Kokkos_Post_Include" "${KOKKOS_BACKEND_POST_INCLUDE_LIST}") + KOKKOS_CONFIG_HEADER( KokkosCore_Config_HeaderSet.in KokkosCore_Config_DeclareBackend.hpp "KOKKOS_DECLARE" "decl/Kokkos_Declare" "${KOKKOS_ENABLED_DEVICES}") SET(_DEFAULT_HOST_MEMSPACE "::Kokkos::HostSpace") KOKKOS_OPTION(DEFAULT_DEVICE_MEMORY_SPACE "" STRING "Override default device memory space") KOKKOS_OPTION(DEFAULT_HOST_MEMORY_SPACE "" STRING "Override default host memory space") @@ -309,7 +301,6 @@ MACRO(KOKKOS_INSTALL_ADDITIONAL_FILES) "${CMAKE_CURRENT_BINARY_DIR}/KokkosCore_Config_FwdBackend.hpp" "${CMAKE_CURRENT_BINARY_DIR}/KokkosCore_Config_SetupBackend.hpp" "${CMAKE_CURRENT_BINARY_DIR}/KokkosCore_Config_DeclareBackend.hpp" - "${CMAKE_CURRENT_BINARY_DIR}/KokkosCore_Config_PostInclude.hpp" DESTINATION ${KOKKOS_HEADER_DIR}) ENDMACRO() diff --git a/lib/kokkos/config/test_all_sandia b/lib/kokkos/config/test_all_sandia deleted file mode 100755 index 193a162a4e..0000000000 --- a/lib/kokkos/config/test_all_sandia +++ /dev/null @@ -1,773 +0,0 @@ -#!/bin/bash -e - -# -# Global config -# - -set -o pipefail - -# Determine current machine. - -MACHINE="" -HOSTNAME=$(hostname) -PROCESSOR=`uname -p` - -if [[ "$HOSTNAME" =~ (white|ride).* ]]; then - MACHINE=white - module load git -fi - -if [[ "$HOSTNAME" =~ .*bowman.* ]]; then - MACHINE=bowman - module load git -fi - -if [[ "$HOSTNAME" == n* ]]; then # Warning: very generic name - if [[ "$PROCESSOR" = "aarch64" ]]; then - MACHINE=sullivan - module load git - fi -fi - -if [[ "$HOSTNAME" == node* ]]; then # Warning: very generic name - if [[ "$MACHINE" = "" ]]; then - MACHINE=shepard - module load git - fi -fi - -if [[ "$HOSTNAME" == apollo\.* ]]; then - MACHINE=apollo - module load git -fi - -if [[ "$HOSTNAME" == sullivan ]]; then - MACHINE=sullivan - module load git -fi - -if [[ "$HOSTNAME" == mayer\.* ]]; then - MACHINE=mayer -# module load git -fi -if [[ "$HOSTNAME" == cn* ]]; then # Warning: very generic name - MACHINE=mayer -fi - -if [ ! -z "$SEMS_MODULEFILES_ROOT" ]; then - if [[ "$MACHINE" = "" ]]; then - MACHINE=sems - module load sems-git - fi -fi - -if [[ "$MACHINE" = "" ]]; then - echo "Unrecognized machine" >&2 - exit 1 -fi - -echo "Running on machine: $MACHINE" - -GCC_BUILD_LIST="OpenMP,Pthread,Serial,OpenMP_Serial,Pthread_Serial" -IBM_BUILD_LIST="OpenMP,Serial,OpenMP_Serial" -ARM_GCC_BUILD_LIST="OpenMP,Serial,OpenMP_Serial" -INTEL_BUILD_LIST="OpenMP,Pthread,Serial,OpenMP_Serial,Pthread_Serial" -CLANG_BUILD_LIST="Pthread,Serial,Pthread_Serial" -CUDA_BUILD_LIST="Cuda_OpenMP,Cuda_Pthread,Cuda_Serial" -CUDA_IBM_BUILD_LIST="Cuda_OpenMP,Cuda_Serial" - -GCC_WARNING_FLAGS="-Wall,-Wunused-parameter,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits,-Wignored-qualifiers,-Wempty-body,-Wclobbered,-Wuninitialized" -IBM_WARNING_FLAGS="-Wall,-Wunused-parameter,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits,-Wuninitialized" -CLANG_WARNING_FLAGS="-Wall,-Wunused-parameter,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits,-Wuninitialized" -INTEL_WARNING_FLAGS="-Wall,-Wunused-parameter,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits,-Wuninitialized" -#CUDA_WARNING_FLAGS="-Wall,-Wunused-parameter,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits,-Wuninitialized" -CUDA_WARNING_FLAGS="-Wall,-Wunused-parameter,-Wshadow,-pedantic,-Wsign-compare,-Wtype-limits,-Wuninitialized" -PGI_WARNING_FLAGS="" - -# Default. Machine specific can override. -DEBUG=False -ARGS="" -CUSTOM_BUILD_LIST="" -DRYRUN=False -BUILD_ONLY=False -declare -i NUM_JOBS_TO_RUN_IN_PARALLEL=1 -TEST_SCRIPT=False -SKIP_HWLOC=False -SPOT_CHECK=False - -PRINT_HELP=False -OPT_FLAG="" -CXX_FLAGS_EXTRA="" -LD_FLAGS_EXTRA="" -KOKKOS_OPTIONS="" - -# -# Handle arguments. -# - -while [[ $# > 0 ]] -do - key="$1" - - case $key in - --kokkos-path*) - KOKKOS_PATH="${key#*=}" - ;; - --build-list*) - CUSTOM_BUILD_LIST="${key#*=}" - ;; - --debug*) - DEBUG=True - ;; - --build-only*) - BUILD_ONLY=True - ;; - --test-script*) - TEST_SCRIPT=True - ;; - --skip-hwloc*) - SKIP_HWLOC=True - ;; - --num*) - NUM_JOBS_TO_RUN_IN_PARALLEL="${key#*=}" - ;; - --dry-run*) - DRYRUN=True - ;; - --spot-check*) - SPOT_CHECK=True - ;; - --arch*) - ARCH_FLAG="--arch=${key#*=}" - ;; - --opt-flag*) - OPT_FLAG="${key#*=}" - ;; - --with-cuda-options*) - KOKKOS_CUDA_OPTIONS="--with-cuda-options=${key#*=}" - ;; - --with-options*) - KOKKOS_OPTIONS="--with-options=enable_large_mem_tests,${key#*=}" - ;; - --cxxflags-extra*) - CXX_FLAGS_EXTRA="${key#*=}" - ;; - --ldflags-extra*) - LD_FLAGS_EXTRA="${key#*=}" - ;; - --help*) - PRINT_HELP=True - ;; - *) - # args, just append - ARGS="$ARGS $1" - ;; - esac - - shift -done - -SCRIPT_KOKKOS_ROOT=$( cd "$( dirname "$0" )" && cd .. && pwd ) - -# Set kokkos path. -if [ -z "$KOKKOS_PATH" ]; then - KOKKOS_PATH=$SCRIPT_KOKKOS_ROOT -else - # Ensure KOKKOS_PATH is abs path. - KOKKOS_PATH=$( cd $KOKKOS_PATH && pwd ) -fi - -UNCOMMITTED=`cd ${KOKKOS_PATH}; git status --porcelain 2>/dev/null` -if ! [ -z "$UNCOMMITTED" ]; then - echo "WARNING!! THE FOLLOWING CHANGES ARE UNCOMMITTED!! :" - echo "$UNCOMMITTED" - echo "" -fi - -GITSTATUS=`cd ${KOKKOS_PATH}; git log -n 1 --format=oneline` -echo "Repository Status: " ${GITSTATUS} -echo "" -echo "" - -# -# Machine specific config. -# - -if [ "$MACHINE" = "sems" ]; then - source /projects/sems/modulefiles/utils/sems-modules-init.sh - - BASE_MODULE_LIST="sems-env,kokkos-env,kokkos-hwloc/1.10.1/base,sems-/" - CUDA_MODULE_LIST="sems-env,kokkos-env,kokkos-/,sems-gcc/4.8.4,kokkos-hwloc/1.10.1/base" - CUDA8_MODULE_LIST="sems-env,kokkos-env,kokkos-/,sems-gcc/5.3.0,kokkos-hwloc/1.10.1/base" - - if [ -z "$ARCH_FLAG" ]; then - ARCH_FLAG="" - fi - - if [ "$SPOT_CHECK" = "True" ]; then - # Format: (compiler module-list build-list exe-name warning-flag) - COMPILERS=("gcc/5.3.0 $BASE_MODULE_LIST "OpenMP" g++ $GCC_WARNING_FLAGS" - "gcc/6.1.0 $BASE_MODULE_LIST "Serial" g++ $GCC_WARNING_FLAGS" - "intel/17.0.1 $BASE_MODULE_LIST "OpenMP" icpc $INTEL_WARNING_FLAGS" - "clang/3.9.0 $BASE_MODULE_LIST "Pthread_Serial" clang++ $CLANG_WARNING_FLAGS" - "cuda/8.0.44 $CUDA8_MODULE_LIST "Cuda_OpenMP" $KOKKOS_PATH/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" - ) - else - # Format: (compiler module-list build-list exe-name warning-flag) - COMPILERS=("gcc/4.8.4 $BASE_MODULE_LIST $GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "gcc/4.9.3 $BASE_MODULE_LIST $GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "gcc/5.3.0 $BASE_MODULE_LIST $GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "gcc/6.1.0 $BASE_MODULE_LIST $GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "intel/15.0.2 $BASE_MODULE_LIST $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - "intel/16.0.1 $BASE_MODULE_LIST $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - "intel/16.0.3 $BASE_MODULE_LIST $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - "clang/3.6.1 $BASE_MODULE_LIST $CLANG_BUILD_LIST clang++ $CLANG_WARNING_FLAGS" - "clang/3.7.1 $BASE_MODULE_LIST $CLANG_BUILD_LIST clang++ $CLANG_WARNING_FLAGS" - "clang/3.8.1 $BASE_MODULE_LIST $CLANG_BUILD_LIST clang++ $CLANG_WARNING_FLAGS" - "clang/3.9.0 $BASE_MODULE_LIST $CLANG_BUILD_LIST clang++ $CLANG_WARNING_FLAGS" - "cuda/7.0.28 $CUDA_MODULE_LIST $CUDA_BUILD_LIST $KOKKOS_PATH/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" - "cuda/7.5.18 $CUDA_MODULE_LIST $CUDA_BUILD_LIST $KOKKOS_PATH/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" - "cuda/8.0.44 $CUDA8_MODULE_LIST $CUDA_BUILD_LIST $KOKKOS_PATH/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" - ) - fi -elif [ "$MACHINE" = "white" ]; then - source /etc/profile.d/modules.sh - SKIP_HWLOC=True - export SLURM_TASKS_PER_NODE=32 - - BASE_MODULE_LIST="/" - IBM_MODULE_LIST="/xl/" - CUDA_MODULE_LIST="/,gcc/6.4.0,ibm/xl/16.1.0" - - # Don't do pthread on white. - GCC_BUILD_LIST="OpenMP,Serial,OpenMP_Serial" - - # Format: (compiler module-list build-list exe-name warning-flag) - COMPILERS=("gcc/5.4.0 $BASE_MODULE_LIST $IBM_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "gcc/6.4.0 $BASE_MODULE_LIST $IBM_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "ibm/16.1.0 $IBM_MODULE_LIST $IBM_BUILD_LIST xlC $IBM_WARNING_FLAGS" - "cuda/9.0.103 $CUDA_MODULE_LIST $CUDA_IBM_BUILD_LIST ${KOKKOS_PATH}/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" - ) - - if [ -z "$ARCH_FLAG" ]; then - ARCH_FLAG="--arch=Power8,Kepler37" - fi - - NUM_JOBS_TO_RUN_IN_PARALLEL=1 - -elif [ "$MACHINE" = "bowman" ]; then - source /etc/profile.d/modules.sh - SKIP_HWLOC=True - export SLURM_TASKS_PER_NODE=32 - - BASE_MODULE_LIST="/compilers/" - - OLD_INTEL_BUILD_LIST="Pthread,Serial,Pthread_Serial" - - # Format: (compiler module-list build-list exe-name warning-flag) - COMPILERS=("intel/16.4.258 $BASE_MODULE_LIST $OLD_INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - "intel/17.2.174 $BASE_MODULE_LIST $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - "intel/18.0.128 $BASE_MODULE_LIST $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - ) - - if [ -z "$ARCH_FLAG" ]; then - ARCH_FLAG="--arch=KNL" - fi - - NUM_JOBS_TO_RUN_IN_PARALLEL=1 - -elif [ "$MACHINE" = "sullivan" ]; then - source /etc/profile.d/modules.sh - SKIP_HWLOC=True - export SLURM_TASKS_PER_NODE=96 - - BASE_MODULE_LIST="/" - - # Format: (compiler module-list build-list exe-name warning-flag) - COMPILERS=("gcc/6.1.0 $BASE_MODULE_LIST $ARM_GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS") - - if [ -z "$ARCH_FLAG" ]; then - ARCH_FLAG="--arch=ARMv8-ThunderX" - fi - - NUM_JOBS_TO_RUN_IN_PARALLEL=1 - -elif [ "$MACHINE" = "mayer" ]; then - SKIP_HWLOC=True - export SLURM_TASKS_PER_NODE=96 - - BASE_MODULE_LIST="/" - ARM_MODULE_LIST="/" - - # Format: (compiler module-list build-list exe-name warning-flag) - COMPILERS=("gcc/7.2.0 $BASE_MODULE_LIST $ARM_GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "arm/1.4.0 $ARM_MODULE_LIST $ARM_GCC_BUILD_LIST armclang++ $CLANG_WARNING_FLAGS") - - if [ -z "$ARCH_FLAG" ]; then - ARCH_FLAG="--arch=ARMv8-TX2" - fi - - NUM_JOBS_TO_RUN_IN_PARALLEL=1 - -elif [ "$MACHINE" = "shepard" ]; then - source /etc/profile.d/modules.sh - SKIP_HWLOC=True - export SLURM_TASKS_PER_NODE=32 - - BASE_MODULE_LIST="/" - BASE_MODULE_LIST_INTEL="/compilers/" - - # Format: (compiler module-list build-list exe-name warning-flag) - COMPILERS=("intel/17.4.196 $BASE_MODULE_LIST_INTEL $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - "intel/18.0.128 $BASE_MODULE_LIST_INTEL $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - "pgi/17.10.0 $BASE_MODULE_LIST $GCC_BUILD_LIST pgc++ $PGI_WARNING_FLAGS" - ) - - if [ -z "$ARCH_FLAG" ]; then - ARCH_FLAG="--arch=HSW" - fi - NUM_JOBS_TO_RUN_IN_PARALLEL=1 - -elif [ "$MACHINE" = "apollo" ]; then - source /projects/sems/modulefiles/utils/sems-modules-init.sh - module use /home/projects/modulefiles/local/x86-64 - module load kokkos-env - - module load sems-git - module load sems-tex - module load sems-cmake/3.5.2 - module load sems-gdb - - SKIP_HWLOC=True - - BASE_MODULE_LIST="sems-env,kokkos-env,sems-/,kokkos-hwloc/1.10.1/base" - CUDA_MODULE_LIST="sems-env,kokkos-env,kokkos-/,sems-gcc/4.8.4,kokkos-hwloc/1.10.1/base" - CUDA8_MODULE_LIST="sems-env,kokkos-env,kokkos-/,sems-gcc/5.3.0,kokkos-hwloc/1.10.1/base" - - CLANG_MODULE_LIST="sems-env,kokkos-env,sems-git,sems-cmake/3.5.2,/,cuda/9.0.69" - NVCC_MODULE_LIST="sems-env,kokkos-env,sems-git,sems-cmake/3.5.2,/,sems-gcc/5.3.0" - - BUILD_LIST_CUDA_NVCC="Cuda_Serial,Cuda_OpenMP" - BUILD_LIST_CUDA_CLANG="Cuda_Serial,Cuda_Pthread" - BUILD_LIST_CLANG="Serial,Pthread,OpenMP" - - if [ "$SPOT_CHECK" = "True" ]; then - # Format: (compiler module-list build-list exe-name warning-flag) - COMPILERS=("gcc/4.8.4 $BASE_MODULE_LIST "OpenMP,Pthread" g++ $GCC_WARNING_FLAGS" - "gcc/5.3.0 $BASE_MODULE_LIST "Serial" g++ $GCC_WARNING_FLAGS" - "intel/16.0.1 $BASE_MODULE_LIST "OpenMP" icpc $INTEL_WARNING_FLAGS" - "clang/3.9.0 $BASE_MODULE_LIST "Pthread_Serial" clang++ $CLANG_WARNING_FLAGS" - "clang/6.0 $CLANG_MODULE_LIST "Cuda_Pthread,OpenMP" clang++ $CUDA_WARNING_FLAGS" - "cuda/9.1 $CUDA_MODULE_LIST "Cuda_OpenMP" $KOKKOS_PATH/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" - ) - else - # Format: (compiler module-list build-list exe-name warning-flag) - COMPILERS=("cuda/9.1 $CUDA8_MODULE_LIST $BUILD_LIST_CUDA_NVCC $KOKKOS_PATH/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" - "clang/6.0 $CLANG_MODULE_LIST $BUILD_LIST_CUDA_CLANG clang++ $CUDA_WARNING_FLAGS" - "clang/3.9.0 $CLANG_MODULE_LIST $BUILD_LIST_CLANG clang++ $CLANG_WARNING_FLAGS" - "gcc/4.8.4 $BASE_MODULE_LIST $GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "gcc/4.9.3 $BASE_MODULE_LIST $GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "gcc/5.3.0 $BASE_MODULE_LIST $GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "gcc/6.1.0 $BASE_MODULE_LIST $GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "intel/15.0.2 $BASE_MODULE_LIST $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - "intel/16.0.1 $BASE_MODULE_LIST $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - "intel/17.0.1 $BASE_MODULE_LIST $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" - "clang/3.5.2 $BASE_MODULE_LIST $CLANG_BUILD_LIST clang++ $CLANG_WARNING_FLAGS" - "clang/3.6.1 $BASE_MODULE_LIST $CLANG_BUILD_LIST clang++ $CLANG_WARNING_FLAGS" - ) - fi - - if [ -z "$ARCH_FLAG" ]; then - ARCH_FLAG="--arch=SNB,Volta70" - fi - - NUM_JOBS_TO_RUN_IN_PARALLEL=1 - -else - echo "Unhandled machine $MACHINE" >&2 - exit 1 -fi - -export OMP_NUM_THREADS=4 - -declare -i NUM_RESULTS_TO_KEEP=7 - -RESULT_ROOT_PREFIX=TestAll - -if [ "$PRINT_HELP" = "True" ]; then - echo "test_all_sandia :" - echo "--kokkos-path=/Path/To/Kokkos: Path to the Kokkos root directory" - echo " Defaults to root repo containing this script" - echo "--debug: Run tests in debug. Defaults to False" - echo "--test-script: Test this script, not Kokkos" - echo "--skip-hwloc: Do not do hwloc tests" - echo "--num=N: Number of jobs to run in parallel" - echo "--spot-check: Minimal test set to issue pull request" - echo "--dry-run: Just print what would be executed" - echo "--build-only: Just do builds, don't run anything" - echo "--opt-flag=FLAG: Optimization flag (default: -O3)" - echo "--cxxflags-extra=FLAGS: Extra flags to be added to CXX_FLAGS" - echo "--ldflags-extra=FLAGS: Extra flags to be added to LD_FLAGS" - echo "--arch=ARCHITECTURE: overwrite architecture flags" - echo "--with-cuda-options=OPT: set KOKKOS_CUDA_OPTIONS" - echo "--build-list=BUILD,BUILD,BUILD..." - echo " Provide a comma-separated list of builds instead of running all builds" - echo " Valid items:" - echo " OpenMP, Pthread, Serial, OpenMP_Serial, Pthread_Serial" - echo " Cuda_OpenMP, Cuda_Pthread, Cuda_Serial" - echo "" - - echo "ARGS: list of expressions matching compilers to test" - echo " supported compilers sems" - for COMPILER_DATA in "${COMPILERS[@]}"; do - ARR=($COMPILER_DATA) - COMPILER=${ARR[0]} - echo " $COMPILER" - done - echo "" - - echo "Examples:" - echo " Run all tests" - echo " % test_all_sandia" - echo "" - echo " Run all gcc tests" - echo " % test_all_sandia gcc" - echo "" - echo " Run all gcc/4.8.4 and all intel tests" - echo " % test_all_sandia gcc/4.8.4 intel" - echo "" - echo " Run all tests in debug" - echo " % test_all_sandia --debug" - echo "" - echo " Run gcc/4.8.4 and only do OpenMP and OpenMP_Serial builds" - echo " % test_all_sandia gcc/4.8.4 --build-list=OpenMP,OpenMP_Serial" - echo "" - echo "If you want to kill the tests, do:" - echo " hit ctrl-z" - echo " % kill -9 %1" - echo - exit 0 -fi - -# Set build type. -if [ "$DEBUG" = "True" ]; then - BUILD_TYPE=debug -else - BUILD_TYPE=release -fi - -# If no args provided, do all compilers. -if [ -z "$ARGS" ]; then - ARGS='?' -fi - -# Process args to figure out which compilers to test. -COMPILERS_TO_TEST="" - -for ARG in $ARGS; do - for COMPILER_DATA in "${COMPILERS[@]}"; do - ARR=($COMPILER_DATA) - COMPILER=${ARR[0]} - - if [[ "$COMPILER" = $ARG* ]]; then - if [[ "$COMPILERS_TO_TEST" != *${COMPILER}* ]]; then - COMPILERS_TO_TEST="$COMPILERS_TO_TEST $COMPILER" - else - echo "Tried to add $COMPILER twice" - fi - fi - done -done - -# -# Functions. -# - -# get_compiler_name -get_compiler_name() { - echo $1 | cut -d/ -f1 -} - -# get_compiler_version -get_compiler_version() { - echo $1 | cut -d/ -f2 -} - -# Do not call directly. -get_compiler_data() { - local compiler=$1 - local item=$2 - local compiler_name=$(get_compiler_name $compiler) - local compiler_vers=$(get_compiler_version $compiler) - - local compiler_data - for compiler_data in "${COMPILERS[@]}" ; do - local arr=($compiler_data) - - if [ "$compiler" = "${arr[0]}" ]; then - echo "${arr[$item]}" | tr , ' ' | sed -e "s//$compiler_name/g" -e "s//$compiler_vers/g" - return 0 - fi - done - - # Not found. - echo "Unreconized compiler $compiler" >&2 - exit 1 -} - -# -# For all getters, usage: -# - -get_compiler_modules() { - get_compiler_data $1 1 -} - -get_compiler_build_list() { - get_compiler_data $1 2 -} - -get_compiler_exe_name() { - get_compiler_data $1 3 -} - -get_compiler_warning_flags() { - get_compiler_data $1 4 -} - -run_cmd() { - echo "RUNNING: $*" - if [ "$DRYRUN" != "True" ]; then - eval "$* 2>&1" - fi -} - -# report_and_log_test_results -report_and_log_test_result() { - # Use sane var names. - local success=$1; local desc=$2; local comment=$3; - - if [ "$success" = "0" ]; then - echo " PASSED $desc" - echo $comment > $PASSED_DIR/$desc - else - # For failures, comment should be the name of the phase that failed. - echo " FAILED $desc" >&2 - echo $comment > $FAILED_DIR/$desc - cat ${desc}.${comment}.log - fi -} - -setup_env() { - local compiler=$1 - local compiler_modules=$(get_compiler_modules $compiler) - - module purge - - local mod - for mod in $compiler_modules; do - echo "Loading module $mod" - module load $mod 2>&1 - # It is ridiculously hard to check for the success of a loaded - # module. Module does not return error codes and piping to grep - # causes module to run in a subshell. - module list 2>&1 | grep "$mod" >& /dev/null || return 1 - done - - return 0 -} - -# single_build_and_test -single_build_and_test() { - # Use sane var names. - local compiler=$1; local build=$2; local build_type=$3; - - # Set up env. - mkdir -p $ROOT_DIR/$compiler/"${build}-$build_type" - cd $ROOT_DIR/$compiler/"${build}-$build_type" - local desc=$(echo "${compiler}-${build}-${build_type}" | sed 's:/:-:g') - setup_env $compiler >& ${desc}.configure.log || { report_and_log_test_result 1 ${desc} configure && return 0; } - - # Set up flags. - local compiler_warning_flags=$(get_compiler_warning_flags $compiler) - local compiler_exe=$(get_compiler_exe_name $compiler) - - if [[ "$build_type" = hwloc* ]]; then - local extra_args=--with-hwloc=$(dirname $(dirname $(which hwloc-info))) - fi - - if [[ "$OPT_FLAG" = "" ]]; then - OPT_FLAG="-O3" - fi - - if [[ "$build_type" = *debug* ]]; then - local extra_args="$extra_args --debug" - local cxxflags="-g $compiler_warning_flags" - local ldflags="-g" - else - local cxxflags="$OPT_FLAG $compiler_warning_flags" - local ldflags="${OPT_FLAG}" - fi - - local cxxflags="${cxxflags} ${CXX_FLAGS_EXTRA}" - local ldflags="${ldflags} ${LD_FLAGS_EXTRA}" - - if [[ "$KOKKOS_CUDA_OPTIONS" != "" ]]; then - local extra_args="$extra_args $KOKKOS_CUDA_OPTIONS" - fi - if [[ "$KOKKOS_OPTIONS" != "" ]]; then - local extra_args="$extra_args $KOKKOS_OPTIONS" - else - local extra_args="$extra_args --with-options=enable_large_mem_tests" - fi - - echo " Starting job $desc" - - local comment="no_comment" - - if [ "$TEST_SCRIPT" = "True" ]; then - local rand=$[ 1 + $[ RANDOM % 10 ]] - sleep $rand - - if [ $rand -gt 5 ]; then - run_cmd ls fake_problem >& ${desc}.configure.log || { report_and_log_test_result 1 $desc configure && return 0; } - fi - else - run_cmd ${KOKKOS_PATH}/generate_makefile.bash --with-devices=$build $ARCH_FLAG --compiler=$(which $compiler_exe) --cxxflags=\"$cxxflags\" --ldflags=\"$ldflags\" $extra_args &>> ${desc}.configure.log || { report_and_log_test_result 1 ${desc} configure && return 0; } - local -i build_start_time=$(date +%s) - run_cmd make -j 48 build-test >& ${desc}.build.log || { report_and_log_test_result 1 ${desc} build && return 0; } - local -i build_end_time=$(date +%s) - comment="build_time=$(($build_end_time-$build_start_time))" - - if [[ "$BUILD_ONLY" == False ]]; then - run_cmd make test >& ${desc}.test.log || { report_and_log_test_result 1 ${desc} test && return 0; } - local -i run_end_time=$(date +%s) - comment="$comment run_time=$(($run_end_time-$build_end_time))" - fi - fi - - report_and_log_test_result 0 $desc "$comment" - - return 0 -} - -# wait_for_jobs -wait_for_jobs() { - local -i max_jobs=$1 - local -i num_active_jobs=$(jobs | wc -l) - while [ $num_active_jobs -ge $max_jobs ] - do - sleep 1 - num_active_jobs=$(jobs | wc -l) - jobs >& /dev/null - done -} - -# run_in_background -run_in_background() { - local compiler=$1 - - local -i num_jobs=$NUM_JOBS_TO_RUN_IN_PARALLEL - # Don't override command line input. - # if [[ "$BUILD_ONLY" == True ]]; then - # num_jobs=8 - # else - if [[ "$compiler" == cuda* ]]; then - num_jobs=1 - fi - if [[ "$compiler" == clang ]]; then - num_jobs=1 - fi - # fi - wait_for_jobs $num_jobs - - single_build_and_test $* & -} - -# build_and_test_all -build_and_test_all() { - # Get compiler data. - local compiler=$1 - if [ -z "$CUSTOM_BUILD_LIST" ]; then - local compiler_build_list=$(get_compiler_build_list $compiler) - else - local compiler_build_list=$(echo "$CUSTOM_BUILD_LIST" | tr , ' ') - fi - - # Do builds. - local build - for build in $compiler_build_list - do - run_in_background $compiler $build $BUILD_TYPE - - # If not cuda, do a hwloc test too. - if [[ "$compiler" != cuda* && "$SKIP_HWLOC" == False ]]; then - run_in_background $compiler $build "hwloc-$BUILD_TYPE" - fi - done - - return 0 -} - -get_test_root_dir() { - local existing_results=$(find . -maxdepth 1 -name "$RESULT_ROOT_PREFIX*" | sort) - local -i num_existing_results=$(echo $existing_results | tr ' ' '\n' | wc -l) - local -i num_to_delete=${num_existing_results}-${NUM_RESULTS_TO_KEEP} - - if [ $num_to_delete -gt 0 ]; then - /bin/rm -rf $(echo $existing_results | tr ' ' '\n' | head -n $num_to_delete) - fi - - echo $(pwd)/${RESULT_ROOT_PREFIX}_$(date +"%Y-%m-%d_%H.%M.%S") -} - -wait_summarize_and_exit() { - wait_for_jobs 1 - - echo "#######################################################" - echo "PASSED TESTS" - echo "#######################################################" - - local passed_test - for passed_test in $(\ls -1 $PASSED_DIR | sort) - do - echo $passed_test $(cat $PASSED_DIR/$passed_test) - done - - local -i rv=0 - if [ "$(ls -A $FAILED_DIR)" ]; then - echo "#######################################################" - echo "FAILED TESTS" - echo "#######################################################" - - local failed_test - for failed_test in $(\ls -1 $FAILED_DIR | sort) - do - echo $failed_test "("$(cat $FAILED_DIR/$failed_test)" failed)" - rv=$rv+1 - done - fi - - exit $rv -} - -# -# Main. -# - -ROOT_DIR=$(get_test_root_dir) -mkdir -p $ROOT_DIR -cd $ROOT_DIR - -PASSED_DIR=$ROOT_DIR/results/passed -FAILED_DIR=$ROOT_DIR/results/failed -mkdir -p $PASSED_DIR -mkdir -p $FAILED_DIR - -echo "Going to test compilers: " $COMPILERS_TO_TEST -for COMPILER in $COMPILERS_TO_TEST; do - echo "Testing compiler $COMPILER" - build_and_test_all $COMPILER -done - -wait_summarize_and_exit diff --git a/lib/kokkos/config/yaml/volta.yaml b/lib/kokkos/config/yaml/volta.yaml deleted file mode 100644 index f67af9c2a4..0000000000 --- a/lib/kokkos/config/yaml/volta.yaml +++ /dev/null @@ -1,4 +0,0 @@ -packages: - kokkos: - variants: +cuda +openmp +volta70 +cuda_lambda +wrapper ^cuda@10.1 - compiler: [gcc@7.2.0] diff --git a/lib/kokkos/containers/src/Kokkos_Bitset.hpp b/lib/kokkos/containers/src/Kokkos_Bitset.hpp index cd5ca4ea51..f50ab0a0f7 100644 --- a/lib/kokkos/containers/src/Kokkos_Bitset.hpp +++ b/lib/kokkos/containers/src/Kokkos_Bitset.hpp @@ -28,24 +28,6 @@ namespace Kokkos { -namespace Impl { -//! Either append to the label if the property already exists, or set it. -template -auto with_updated_label(const ViewCtorProp& view_ctor_prop, - const std::string& label) { - using vcp_t = ViewCtorProp; - //! If the label property is already set, append. Otherwise, set label. - if constexpr (vcp_t::has_label) { - vcp_t new_ctor_props(view_ctor_prop); - static_cast&>(new_ctor_props) - .value.append(label); - return new_ctor_props; - } else { - return Impl::with_properties_if_unset(view_ctor_prop, label); - } -} -} // namespace Impl - template class Bitset; @@ -92,9 +74,10 @@ class Bitset { using block_view_type = View>; public: - /// constructor + Bitset() = default; + /// arg_size := number of bit in set - Bitset(unsigned arg_size = 0u) : Bitset(Kokkos::view_alloc(), arg_size) {} + Bitset(unsigned arg_size) : Bitset(Kokkos::view_alloc(), arg_size) {} template Bitset(const Impl::ViewCtorProp& arg_prop, unsigned arg_size) @@ -108,9 +91,8 @@ class Bitset { "Allocation properties should not contain the 'pointer' property."); //! Update 'label' property and allocate. - const auto prop_copy = Kokkos::Impl::with_updated_label( - Impl::with_properties_if_unset(arg_prop, std::string("Bitset")), - " - blocks"); + const auto prop_copy = + Impl::with_properties_if_unset(arg_prop, std::string("Bitset")); m_blocks = block_view_type(prop_copy, ((m_size + block_mask) >> block_shift)); @@ -310,8 +292,8 @@ class Bitset { } private: - unsigned m_size; - unsigned m_last_block_mask; + unsigned m_size = 0; + unsigned m_last_block_mask = 0; block_view_type m_blocks; private: diff --git a/lib/kokkos/containers/src/Kokkos_DualView.hpp b/lib/kokkos/containers/src/Kokkos_DualView.hpp index 84bced2cc4..e821570a8d 100644 --- a/lib/kokkos/containers/src/Kokkos_DualView.hpp +++ b/lib/kokkos/containers/src/Kokkos_DualView.hpp @@ -292,15 +292,6 @@ class DualView : public ViewTraits { d_view(src.d_view), h_view(src.h_view) {} - //! Copy assignment operator (shallow copy assignment) - template - DualView& operator=(const DualView& src) { - modified_flags = src.modified_flags; - d_view = src.d_view; - h_view = src.h_view; - return *this; - } - //! Subview constructor template DualView(const DualView& src, const Arg0& arg0, Args... args) diff --git a/lib/kokkos/containers/src/Kokkos_DynRankView.hpp b/lib/kokkos/containers/src/Kokkos_DynRankView.hpp index 52aa86d8ee..5fa59f1b7c 100644 --- a/lib/kokkos/containers/src/Kokkos_DynRankView.hpp +++ b/lib/kokkos/containers/src/Kokkos_DynRankView.hpp @@ -1340,7 +1340,7 @@ class ViewMapping< template struct apply { - static_assert(Kokkos::is_memory_traits::value, ""); + static_assert(Kokkos::is_memory_traits::value); using traits_type = Kokkos::ViewTraits::type, Args...>( - v.data(), v.impl_map().layout()); + auto layout = v.impl_map().layout(); + + if constexpr (std::is_same_v || + std::is_same_v || + std::is_same_v || + is_layouttiled::value) { + for (int i = N; i < 7; ++i) + layout.dimension[i] = KOKKOS_IMPL_CTOR_DEFAULT_ARG; + } + + return View::type, Args...>(v.data(), layout); } template diff --git a/lib/kokkos/containers/src/Kokkos_OffsetView.hpp b/lib/kokkos/containers/src/Kokkos_OffsetView.hpp index 92aead2878..91a7e4a927 100644 --- a/lib/kokkos/containers/src/Kokkos_OffsetView.hpp +++ b/lib/kokkos/containers/src/Kokkos_OffsetView.hpp @@ -124,15 +124,8 @@ KOKKOS_INLINE_FUNCTION void offsetview_verify_operator_bounds( args...); Kokkos::Impl::throw_runtime_exception(std::string(buffer));)) - KOKKOS_IF_ON_DEVICE(( - /* Check #1: is there a SharedAllocationRecord? - (we won't use it, but if it is not there then there isn't - a corresponding SharedAllocationHeader containing a label). - This check should cover the case of Views that don't - have the Unmanaged trait but were initialized by pointer. */ - if (tracker.has_record()) { - Kokkos::Impl::operator_bounds_error_on_device(map); - } else { Kokkos::abort("OffsetView bounds error"); })) + KOKKOS_IF_ON_DEVICE( + (Kokkos::abort("OffsetView bounds error"); (void)tracker;)) } } diff --git a/lib/kokkos/containers/src/Kokkos_UnorderedMap.hpp b/lib/kokkos/containers/src/Kokkos_UnorderedMap.hpp index e001c062de..78a6a238ec 100644 --- a/lib/kokkos/containers/src/Kokkos_UnorderedMap.hpp +++ b/lib/kokkos/containers/src/Kokkos_UnorderedMap.hpp @@ -243,16 +243,16 @@ class UnorderedMap { using const_map_type = UnorderedMap; - static const bool is_set = std::is_void::value; - static const bool has_const_key = - std::is_same::value; - static const bool has_const_value = - is_set || std::is_same::value; + static constexpr bool is_set = std::is_void_v; + static constexpr bool has_const_key = + std::is_same_v; + static constexpr bool has_const_value = + is_set || std::is_same_v; - static const bool is_insertable_map = + static constexpr bool is_insertable_map = !has_const_key && (is_set || !has_const_value); - static const bool is_modifiable_map = has_const_key && !has_const_value; - static const bool is_const_map = has_const_key && has_const_value; + static constexpr bool is_modifiable_map = has_const_key && !has_const_value; + static constexpr bool is_const_map = has_const_key && has_const_value; using insert_result = UnorderedMapInsertResult; @@ -337,27 +337,27 @@ class UnorderedMap { Impl::get_property(prop_copy) + " - size")); m_available_indexes = - bitset_type(Kokkos::Impl::with_updated_label(prop_copy, " - bitset"), + bitset_type(Kokkos::Impl::append_to_label(prop_copy, " - bitset"), calculate_capacity(capacity_hint)); m_hash_lists = size_type_view( - Kokkos::Impl::with_updated_label(prop_copy_noinit, " - hash list"), + Kokkos::Impl::append_to_label(prop_copy_noinit, " - hash list"), Impl::find_hash_size(capacity())); m_next_index = size_type_view( - Kokkos::Impl::with_updated_label(prop_copy_noinit, " - next index"), + Kokkos::Impl::append_to_label(prop_copy_noinit, " - next index"), capacity() + 1); // +1 so that the *_at functions can always return a // valid reference - m_keys = key_type_view( - Kokkos::Impl::with_updated_label(prop_copy, " - keys"), capacity()); + m_keys = key_type_view(Kokkos::Impl::append_to_label(prop_copy, " - keys"), + capacity()); - m_values = value_type_view( - Kokkos::Impl::with_updated_label(prop_copy, " - values"), - is_set ? 0 : capacity()); + m_values = + value_type_view(Kokkos::Impl::append_to_label(prop_copy, " - values"), + is_set ? 0 : capacity()); m_scalars = - scalars_view(Kokkos::Impl::with_updated_label(prop_copy, " - scalars")); + scalars_view(Kokkos::Impl::append_to_label(prop_copy, " - scalars")); /** * Deep copies should also be done using the space instance if given. diff --git a/lib/kokkos/containers/src/impl/Kokkos_UnorderedMap_impl.hpp b/lib/kokkos/containers/src/impl/Kokkos_UnorderedMap_impl.hpp index 8f8cd9523b..a979ee40d8 100644 --- a/lib/kokkos/containers/src/impl/Kokkos_UnorderedMap_impl.hpp +++ b/lib/kokkos/containers/src/impl/Kokkos_UnorderedMap_impl.hpp @@ -27,6 +27,18 @@ namespace Kokkos { namespace Impl { +//! Append to the label contained in view_ctor_prop. +template +auto append_to_label(const ViewCtorProp& view_ctor_prop, + const std::string& label) { + using vcp_t = ViewCtorProp; + static_assert(vcp_t::has_label); + vcp_t new_ctor_props(view_ctor_prop); + static_cast&>(new_ctor_props) + .value.append(label); + return new_ctor_props; +} + uint32_t find_hash_size(uint32_t size); template diff --git a/lib/kokkos/containers/unit_tests/Makefile b/lib/kokkos/containers/unit_tests/Makefile index 2e35832cc8..18410882bc 100644 --- a/lib/kokkos/containers/unit_tests/Makefile +++ b/lib/kokkos/containers/unit_tests/Makefile @@ -35,8 +35,8 @@ TESTS = Bitset DualView DynamicView DynViewAPI_generic DynViewAPI_rank12345 DynV tmp := $(foreach device, $(KOKKOS_DEVICELIST), \ tmp2 := $(foreach test, $(TESTS), \ $(if $(filter Test$(device)_$(test).cpp, $(shell ls Test$(device)_$(test).cpp 2>/dev/null)),,\ - $(shell echo "\#include" > Test$(device)_$(test).cpp); \ - $(shell echo "\#include" >> Test$(device)_$(test).cpp); \ + $(shell echo "$(H)include" > Test$(device)_$(test).cpp); \ + $(shell echo "$(H)include" >> Test$(device)_$(test).cpp); \ )\ ) \ ) diff --git a/lib/kokkos/containers/unit_tests/TestBitset.hpp b/lib/kokkos/containers/unit_tests/TestBitset.hpp index 3ad0d2bf57..9923453f72 100644 --- a/lib/kokkos/containers/unit_tests/TestBitset.hpp +++ b/lib/kokkos/containers/unit_tests/TestBitset.hpp @@ -23,6 +23,8 @@ #include #include +#include <../../core/unit_test/tools/include/ToolTestingUtilities.hpp> + namespace Test { namespace Impl { @@ -155,7 +157,7 @@ void test_bitset() { { unsigned ts = 100u; - bitset_type b1; + bitset_type b1(Kokkos::view_alloc("MyBitset"), 0); ASSERT_TRUE(b1.is_allocated()); b1 = bitset_type(ts); @@ -165,6 +167,9 @@ void test_bitset() { ASSERT_TRUE(b1.is_allocated()); ASSERT_TRUE(b2.is_allocated()); ASSERT_TRUE(b3.is_allocated()); + + bitset_type b4; + ASSERT_FALSE(b4.is_allocated()); } std::array test_sizes = { @@ -237,6 +242,24 @@ void test_bitset() { } TEST(TEST_CATEGORY, bitset) { test_bitset(); } + +TEST(TEST_CATEGORY, bitset_default_constructor_no_alloc) { + using namespace Kokkos::Test::Tools; + listen_tool_events(Config::DisableAll(), Config::EnableAllocs()); + + auto success = validate_absence( + [&]() { + Kokkos::Bitset bs; + EXPECT_FALSE(bs.is_allocated()); + }, + [&](AllocateDataEvent) { + return MatchDiagnostic{true, {"Found alloc event"}}; + }); + ASSERT_TRUE(success); + + listen_tool_events(Config::DisableAll()); +} + } // namespace Test #endif // KOKKOS_TEST_BITSET_HPP diff --git a/lib/kokkos/core/perf_test/CMakeLists.txt b/lib/kokkos/core/perf_test/CMakeLists.txt index 7f3916da31..e0dba03e1e 100644 --- a/lib/kokkos/core/perf_test/CMakeLists.txt +++ b/lib/kokkos/core/perf_test/CMakeLists.txt @@ -50,8 +50,8 @@ ELSE() FetchContent_Declare( googlebenchmark DOWNLOAD_EXTRACT_TIMESTAMP FALSE - URL https://github.com/google/benchmark/archive/refs/tags/v1.6.2.tar.gz - URL_HASH MD5=14d14849e075af116143a161bc3b927b + URL https://github.com/google/benchmark/archive/refs/tags/v1.7.1.tar.gz + URL_HASH MD5=0459a6c530df9851bee6504c3e37c2e7 ) FetchContent_MakeAvailable(googlebenchmark) list(POP_BACK CMAKE_MESSAGE_INDENT) diff --git a/lib/kokkos/core/src/CMakeLists.txt b/lib/kokkos/core/src/CMakeLists.txt index 012af0a7d0..b84677e61b 100644 --- a/lib/kokkos/core/src/CMakeLists.txt +++ b/lib/kokkos/core/src/CMakeLists.txt @@ -18,10 +18,16 @@ IF (NOT desul_FOUND) ENDIF() IF(KOKKOS_ENABLE_SYCL) SET(DESUL_ATOMICS_ENABLE_SYCL ON) + IF(KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED AND NOT KOKKOS_IMPL_HAVE_SYCL_EXT_ONEAPI_DEVICE_GLOBAL) + SET(DESUL_ATOMICS_ENABLE_SYCL_SEPARABLE_COMPILATION ON) + ENDIF() ENDIF() IF(KOKKOS_ENABLE_OPENMPTARGET) SET(DESUL_ATOMICS_ENABLE_OPENMP ON) # not a typo Kokkos OpenMPTarget -> Desul OpenMP ENDIF() + IF(KOKKOS_ENABLE_OPENACC) + SET(DESUL_ATOMICS_ENABLE_OPENACC ON) + ENDIF() CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/../../tpls/desul/Config.hpp.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/desul/atomics/Config.hpp @@ -80,10 +86,6 @@ IF (KOKKOS_ENABLE_HPX) APPEND_GLOB(KOKKOS_CORE_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/HPX/*.hpp) ENDIF() -IF (NOT KOKKOS_ENABLE_MEMKIND) - LIST(REMOVE_ITEM KOKKOS_CORE_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/impl/Kokkos_HBWSpace.cpp) -ENDIF() - IF (KOKKOS_ENABLE_SERIAL) APPEND_GLOB(KOKKOS_CORE_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/Serial/*.cpp) APPEND_GLOB(KOKKOS_CORE_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/Serial/*.hpp) @@ -180,20 +182,15 @@ IF (Kokkos_ENABLE_IMPL_MDSPAN) ENDIF() KOKKOS_LINK_TPL(kokkoscore PUBLIC HWLOC) -KOKKOS_LINK_TPL(kokkoscore PUBLIC MEMKIND) -IF (NOT KOKKOS_ENABLE_COMPILE_AS_CMAKE_LANGUAGE) - KOKKOS_LINK_TPL(kokkoscore PUBLIC CUDA) -ENDIF() +KOKKOS_LINK_TPL(kokkoscore PUBLIC CUDA) KOKKOS_LINK_TPL(kokkoscore PUBLIC HPX) KOKKOS_LINK_TPL(kokkoscore PUBLIC LIBDL) -KOKKOS_LINK_TPL(kokkoscore PUBLIC LIBRT) # On *nix-like systems (Linux, macOS) we need pthread for C++ std::thread IF (NOT WIN32) KOKKOS_LINK_TPL(kokkoscore PUBLIC THREADS) ENDIF() IF (NOT KOKKOS_ENABLE_COMPILE_AS_CMAKE_LANGUAGE) KOKKOS_LINK_TPL(kokkoscore PUBLIC ROCM) - KOKKOS_LINK_TPL(kokkoscore PUBLIC ONEDPL) ENDIF() # FIXME: We need a proper solution to figure out whether to enable diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda.hpp index 8bfaf8317b..276d03da26 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda.hpp @@ -46,7 +46,6 @@ static_assert(false, namespace Kokkos { namespace Impl { -class CudaExec; class CudaInternal; } // namespace Impl } // namespace Kokkos @@ -129,33 +128,16 @@ class Cuda { /// \brief True if and only if this method is being called in a /// thread-parallel function. - KOKKOS_INLINE_FUNCTION static int in_parallel() { + +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED KOKKOS_INLINE_FUNCTION static int in_parallel() { #if defined(__CUDA_ARCH__) return true; #else return false; #endif } - - /** \brief Set the device in a "sleep" state. - * - * This function sets the device in a "sleep" state in which it is - * not ready for work. This may consume less resources than if the - * device were in an "awake" state, but it may also take time to - * bring the device from a sleep state to be ready for work. - * - * \return True if the device is in the "sleep" state, else false if - * the device is actively working and could not enter the "sleep" - * state. - */ - static bool sleep(); - - /// \brief Wake the device from the 'sleep' state so it is ready for work. - /// - /// \return True if the device is in the "ready" state, else "false" - /// if the device is actively working (which also means that it's - /// awake). - static bool wake(); +#endif /// \brief Wait until all dispatched functors complete. /// @@ -199,18 +181,37 @@ class Cuda { //! Initialize, telling the CUDA run-time library which device to use. static void impl_initialize(InitializationSettings const&); +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 /// \brief Cuda device architecture of the selected device. /// /// This matches the __CUDA_ARCH__ specification. - static size_type device_arch(); + KOKKOS_DEPRECATED static size_type device_arch() { + const cudaDeviceProp& cudaProp = Cuda().cuda_device_prop(); + return cudaProp.major * 100 + cudaProp.minor; + } //! Query device count. - static size_type detect_device_count(); + KOKKOS_DEPRECATED static size_type detect_device_count() { + int count; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetDeviceCount(&count)); + return count; + } /** \brief Detect the available devices and their architecture * as defined by the __CUDA_ARCH__ specification. */ - static std::vector detect_device_arch(); + KOKKOS_DEPRECATED static std::vector detect_device_arch() { + int count; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetDeviceCount(&count)); + std::vector out; + for (int i = 0; i < count; ++i) { + cudaDeviceProp prop; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetDeviceProperties(&prop, i)); + out.push_back(prop.major * 100 + prop.minor); + } + return out; + } +#endif cudaStream_t cuda_stream() const; int cuda_device() const; diff --git a/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.cpp b/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.cpp index c6512f44da..0944937e1b 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.cpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.cpp @@ -33,7 +33,6 @@ //#include #include -#include #include @@ -83,11 +82,11 @@ void DeepCopyAsyncCuda(void *dst, const void *src, size_t n) { KOKKOS_IMPL_CUDA_SAFE_CALL( (CudaInternal::singleton().cuda_memcpy_async_wrapper( dst, src, n, cudaMemcpyDefault, s))); - Impl::cuda_stream_synchronize( - s, + Kokkos::Tools::Experimental::Impl::profile_fence_event( + "Kokkos::Impl::DeepCopyAsyncCuda: Deep Copy Stream Sync", Kokkos::Tools::Experimental::SpecialSynchronizationCases:: DeepCopyResourceSynchronization, - "Kokkos::Impl::DeepCopyAsyncCuda: Deep Copy Stream Sync"); + [&]() { KOKKOS_IMPL_CUDA_SAFE_CALL(cudaStreamSynchronize(s)); }); } } // namespace Impl @@ -135,11 +134,23 @@ void kokkos_impl_cuda_set_pin_uvm_to_host(bool val) { namespace Kokkos { -CudaSpace::CudaSpace() : m_device(Kokkos::Cuda().cuda_device()) {} +CudaSpace::CudaSpace() + : m_device(Kokkos::Cuda().cuda_device()), + m_stream(Kokkos::Cuda().cuda_stream()) {} +CudaSpace::CudaSpace(int device_id, cudaStream_t stream) + : m_device(device_id), m_stream(stream) {} -CudaUVMSpace::CudaUVMSpace() : m_device(Kokkos::Cuda().cuda_device()) {} +CudaUVMSpace::CudaUVMSpace() + : m_device(Kokkos::Cuda().cuda_device()), + m_stream(Kokkos::Cuda().cuda_stream()) {} +CudaUVMSpace::CudaUVMSpace(int device_id, cudaStream_t stream) + : m_device(device_id), m_stream(stream) {} -CudaHostPinnedSpace::CudaHostPinnedSpace() {} +CudaHostPinnedSpace::CudaHostPinnedSpace() + : m_device(Kokkos::Cuda().cuda_device()), + m_stream(Kokkos::Cuda().cuda_stream()) {} +CudaHostPinnedSpace::CudaHostPinnedSpace(int device_id, cudaStream_t stream) + : m_device(device_id), m_stream(stream) {} size_t memory_threshold_g = 40000; // 40 kB @@ -161,52 +172,38 @@ void *CudaSpace::allocate(const char *arg_label, const size_t arg_alloc_size, } namespace { -void *impl_allocate_common(const Cuda &exec_space, const char *arg_label, - const size_t arg_alloc_size, +void *impl_allocate_common(const int device_id, + [[maybe_unused]] const cudaStream_t stream, + const char *arg_label, const size_t arg_alloc_size, const size_t arg_logical_size, const Kokkos::Tools::SpaceHandle arg_handle, - bool exec_space_provided) { + [[maybe_unused]] bool stream_sync_only) { void *ptr = nullptr; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(device_id)); + cudaError_t error_code = cudaSuccess; #ifndef CUDART_VERSION #error CUDART_VERSION undefined! #elif (defined(KOKKOS_ENABLE_IMPL_CUDA_MALLOC_ASYNC) && CUDART_VERSION >= 11020) - cudaError_t error_code; if (arg_alloc_size >= memory_threshold_g) { - if (exec_space_provided) { - error_code = - exec_space.impl_internal_space_instance()->cuda_malloc_async_wrapper( - &ptr, arg_alloc_size); - exec_space.fence("Kokkos::Cuda: backend fence after async malloc"); - } else { - error_code = Impl::CudaInternal::singleton().cuda_malloc_async_wrapper( - &ptr, arg_alloc_size); - Impl::cuda_device_synchronize( - "Kokkos::Cuda: backend fence after async malloc"); + error_code = cudaMallocAsync(&ptr, arg_alloc_size, stream); + + if (error_code == cudaSuccess) { + if (stream_sync_only) { + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaStreamSynchronize(stream)); + } else { + Impl::cuda_device_synchronize( + "Kokkos::Cuda: backend fence after async malloc"); + } } - } else { - error_code = - (exec_space_provided - ? exec_space.impl_internal_space_instance()->cuda_malloc_wrapper( - &ptr, arg_alloc_size) - : Impl::CudaInternal::singleton().cuda_malloc_wrapper( - &ptr, arg_alloc_size)); - } -#else - cudaError_t error_code; - if (exec_space_provided) { - error_code = exec_space.impl_internal_space_instance()->cuda_malloc_wrapper( - &ptr, arg_alloc_size); - } else { - error_code = Impl::CudaInternal::singleton().cuda_malloc_wrapper( - &ptr, arg_alloc_size); - } + } else #endif + { error_code = cudaMalloc(&ptr, arg_alloc_size); } if (error_code != cudaSuccess) { // TODO tag as unlikely branch // This is the only way to clear the last error, which // we should do here since we're turning it into an // exception here - exec_space.impl_internal_space_instance()->cuda_get_last_error_wrapper(); + cudaGetLastError(); throw Experimental::CudaRawMemoryAllocationFailure( arg_alloc_size, error_code, Experimental::RawMemoryAllocationFailure::AllocationMechanism:: @@ -226,7 +223,7 @@ void *CudaSpace::impl_allocate( const char *arg_label, const size_t arg_alloc_size, const size_t arg_logical_size, const Kokkos::Tools::SpaceHandle arg_handle) const { - return impl_allocate_common(Kokkos::Cuda{}, arg_label, arg_alloc_size, + return impl_allocate_common(m_device, m_stream, arg_label, arg_alloc_size, arg_logical_size, arg_handle, false); } @@ -234,8 +231,9 @@ void *CudaSpace::impl_allocate( const Cuda &exec_space, const char *arg_label, const size_t arg_alloc_size, const size_t arg_logical_size, const Kokkos::Tools::SpaceHandle arg_handle) const { - return impl_allocate_common(exec_space, arg_label, arg_alloc_size, - arg_logical_size, arg_handle, true); + return impl_allocate_common( + exec_space.cuda_device(), exec_space.cuda_stream(), arg_label, + arg_alloc_size, arg_logical_size, arg_handle, true); } void *CudaUVMSpace::allocate(const size_t arg_alloc_size) const { @@ -256,28 +254,27 @@ void *CudaUVMSpace::impl_allocate( if (arg_alloc_size > 0) { Kokkos::Impl::num_uvm_allocations++; - auto error_code = - Impl::CudaInternal::singleton().cuda_malloc_managed_wrapper( - &ptr, arg_alloc_size, cudaMemAttachGlobal); - -#ifdef KOKKOS_IMPL_DEBUG_CUDA_PIN_UVM_TO_HOST - if (Kokkos::CudaUVMSpace::cuda_pin_uvm_to_host()) - KOKKOS_IMPL_CUDA_SAFE_CALL( - (Impl::CudaInternal::singleton().cuda_mem_advise_wrapper( - ptr, arg_alloc_size, cudaMemAdviseSetPreferredLocation, - cudaCpuDeviceId))); -#endif + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(m_device)); + cudaError_t error_code = + cudaMallocManaged(&ptr, arg_alloc_size, cudaMemAttachGlobal); if (error_code != cudaSuccess) { // TODO tag as unlikely branch // This is the only way to clear the last error, which // we should do here since we're turning it into an // exception here - Impl::CudaInternal::singleton().cuda_get_last_error_wrapper(); + cudaGetLastError(); throw Experimental::CudaRawMemoryAllocationFailure( arg_alloc_size, error_code, Experimental::RawMemoryAllocationFailure::AllocationMechanism:: CudaMallocManaged); } + +#ifdef KOKKOS_IMPL_DEBUG_CUDA_PIN_UVM_TO_HOST + if (Kokkos::CudaUVMSpace::cuda_pin_uvm_to_host()) + KOKKOS_IMPL_CUDA_SAFE_CALL( + cudaMemAdvise(ptr, arg_alloc_size, cudaMemAdviseSetPreferredLocation, + cudaCpuDeviceId)); +#endif } Cuda::impl_static_fence( "Kokkos::CudaUVMSpace::impl_allocate: Post UVM Allocation"); @@ -302,13 +299,14 @@ void *CudaHostPinnedSpace::impl_allocate( const Kokkos::Tools::SpaceHandle arg_handle) const { void *ptr = nullptr; - auto error_code = Impl::CudaInternal::singleton().cuda_host_alloc_wrapper( - &ptr, arg_alloc_size, cudaHostAllocDefault); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(m_device)); + cudaError_t error_code = + cudaHostAlloc(&ptr, arg_alloc_size, cudaHostAllocDefault); if (error_code != cudaSuccess) { // TODO tag as unlikely branch // This is the only way to clear the last error, which // we should do here since we're turning it into an // exception here - Impl::CudaInternal::singleton().cuda_get_last_error_wrapper(); + cudaGetLastError(); throw Experimental::CudaRawMemoryAllocationFailure( arg_alloc_size, error_code, Experimental::RawMemoryAllocationFailure::AllocationMechanism:: @@ -350,18 +348,17 @@ void CudaSpace::impl_deallocate( if (arg_alloc_size >= memory_threshold_g) { Impl::cuda_device_synchronize( "Kokkos::Cuda: backend fence before async free"); - KOKKOS_IMPL_CUDA_SAFE_CALL( - (Impl::CudaInternal::singleton().cuda_free_async_wrapper( - arg_alloc_ptr))); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(m_device)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaFreeAsync(arg_alloc_ptr, m_stream)); Impl::cuda_device_synchronize( "Kokkos::Cuda: backend fence after async free"); } else { - KOKKOS_IMPL_CUDA_SAFE_CALL( - (Impl::CudaInternal::singleton().cuda_free_wrapper(arg_alloc_ptr))); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(m_device)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaFree(arg_alloc_ptr)); } #else - KOKKOS_IMPL_CUDA_SAFE_CALL( - (Impl::CudaInternal::singleton().cuda_free_wrapper(arg_alloc_ptr))); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(m_device)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaFree(arg_alloc_ptr)); #endif } catch (...) { } @@ -393,8 +390,8 @@ void CudaUVMSpace::impl_deallocate( try { if (arg_alloc_ptr != nullptr) { Kokkos::Impl::num_uvm_allocations--; - KOKKOS_IMPL_CUDA_SAFE_CALL( - (Impl::CudaInternal::singleton().cuda_free_wrapper(arg_alloc_ptr))); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(m_device)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaFree(arg_alloc_ptr)); } } catch (...) { } @@ -424,8 +421,8 @@ void CudaHostPinnedSpace::impl_deallocate( reported_size); } try { - KOKKOS_IMPL_CUDA_SAFE_CALL(( - Impl::CudaInternal::singleton().cuda_free_host_wrapper(arg_alloc_ptr))); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(m_device)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaFreeHost(arg_alloc_ptr)); } catch (...) { } } @@ -438,160 +435,6 @@ void CudaHostPinnedSpace::impl_deallocate( namespace Kokkos { namespace Impl { -#ifdef KOKKOS_ENABLE_DEBUG -SharedAllocationRecord - SharedAllocationRecord::s_root_record; - -SharedAllocationRecord - SharedAllocationRecord::s_root_record; - -SharedAllocationRecord - SharedAllocationRecord::s_root_record; -#endif - -//============================================================================== -// {{{1 - -SharedAllocationRecord::~SharedAllocationRecord() { - auto alloc_size = SharedAllocationRecord::m_alloc_size; - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - alloc_size, (alloc_size - sizeof(SharedAllocationHeader))); -} - -void SharedAllocationRecord::deep_copy_header_no_exec( - void *ptr, const void *header) { - Kokkos::Cuda exec; - Kokkos::Impl::DeepCopy(exec, ptr, header, - sizeof(SharedAllocationHeader)); - exec.fence( - "SharedAllocationRecord::SharedAllocationRecord(): fence after copying header from " - "HostSpace"); -} - -SharedAllocationRecord::~SharedAllocationRecord() { - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - SharedAllocationRecord::m_alloc_size, - (SharedAllocationRecord::m_alloc_size - - sizeof(SharedAllocationHeader))); -} - -SharedAllocationRecord::~SharedAllocationRecord() { - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - SharedAllocationRecord::m_alloc_size, - (SharedAllocationRecord::m_alloc_size - - sizeof(SharedAllocationHeader))); -} - -// end SharedAllocationRecord destructors }}}1 -//============================================================================== - -//============================================================================== -// {{{1 - -SharedAllocationRecord::SharedAllocationRecord( - const Kokkos::CudaSpace &arg_space, const std::string &arg_label, - const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - - SharedAllocationHeader header; - - this->base_t::_fill_host_accessible_header_info(header, arg_label); - - // Copy to device memory - Kokkos::Cuda exec; - Kokkos::Impl::DeepCopy( - exec, RecordBase::m_alloc_ptr, &header, sizeof(SharedAllocationHeader)); - exec.fence( - "SharedAllocationRecord::SharedAllocationRecord(): fence after copying header from " - "HostSpace"); -} - -SharedAllocationRecord::SharedAllocationRecord( - const Kokkos::Cuda &arg_exec_space, const Kokkos::CudaSpace &arg_space, - const std::string &arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_exec_space, arg_space, - arg_label, arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - - SharedAllocationHeader header; - - this->base_t::_fill_host_accessible_header_info(header, arg_label); - - // Copy to device memory - Kokkos::Impl::DeepCopy(arg_exec_space, - RecordBase::m_alloc_ptr, &header, - sizeof(SharedAllocationHeader)); -} - -SharedAllocationRecord::SharedAllocationRecord( - const Kokkos::CudaUVMSpace &arg_space, const std::string &arg_label, - const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - this->base_t::_fill_host_accessible_header_info(*base_t::m_alloc_ptr, - arg_label); -} - -SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::CudaHostPinnedSpace &arg_space, - const std::string &arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - this->base_t::_fill_host_accessible_header_info(*base_t::m_alloc_ptr, - arg_label); -} - -// end SharedAllocationRecord constructors }}}1 -//============================================================================== - void cuda_prefetch_pointer(const Cuda &space, const void *ptr, size_t bytes, bool to_device) { if ((ptr == nullptr) || (bytes == 0)) return; @@ -620,19 +463,12 @@ void cuda_prefetch_pointer(const Cuda &space, const void *ptr, size_t bytes, #include -namespace Kokkos { -namespace Impl { - -// To avoid additional compilation cost for something that's (mostly?) not -// performance sensitive, we explicity instantiate these CRTP base classes here, -// where we have access to the associated *_timpl.hpp header files. -template class SharedAllocationRecordCommon; -template class HostInaccessibleSharedAllocationRecordCommon; -template class SharedAllocationRecordCommon; -template class SharedAllocationRecordCommon; - -} // end namespace Impl -} // end namespace Kokkos +KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::CudaSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::CudaUVMSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::CudaHostPinnedSpace); // end Explicit instantiations of CRTP Base classes }}}1 //============================================================================== diff --git a/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.hpp b/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.hpp index b8fa335cd3..0e20193e8b 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.hpp @@ -68,6 +68,11 @@ class CudaSpace { /*--------------------------------*/ CudaSpace(); + + private: + CudaSpace(int device_id, cudaStream_t stream); + + public: CudaSpace(CudaSpace&& rhs) = default; CudaSpace(const CudaSpace& rhs) = default; CudaSpace& operator=(CudaSpace&& rhs) = default; @@ -89,9 +94,11 @@ class CudaSpace { const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; + static CudaSpace impl_create(int device_id, cudaStream_t stream) { + return CudaSpace(device_id, stream); + } + private: - template - friend class Kokkos::Experimental::LogicalMemorySpace; void* impl_allocate(const Cuda& exec_space, const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0, @@ -112,10 +119,10 @@ class CudaSpace { static constexpr const char* name() { return m_name; } private: - int m_device; ///< Which Cuda device + int m_device; + cudaStream_t m_stream; static constexpr const char* m_name = "Cuda"; - friend class Kokkos::Impl::SharedAllocationRecord; }; template <> @@ -149,6 +156,11 @@ class CudaUVMSpace { /*--------------------------------*/ CudaUVMSpace(); + + private: + CudaUVMSpace(int device_id, cudaStream_t stream); + + public: CudaUVMSpace(CudaUVMSpace&& rhs) = default; CudaUVMSpace(const CudaUVMSpace& rhs) = default; CudaUVMSpace& operator=(CudaUVMSpace&& rhs) = default; @@ -156,6 +168,16 @@ class CudaUVMSpace { ~CudaUVMSpace() = default; /**\brief Allocate untracked memory in the cuda space */ + template + void* allocate(const ExecutionSpace&, const size_t arg_alloc_size) const { + return allocate(arg_alloc_size); + } + template + void* allocate(const ExecutionSpace&, const char* arg_label, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const { + return allocate(arg_label, arg_alloc_size, arg_logical_size); + } void* allocate(const size_t arg_alloc_size) const; void* allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; @@ -167,8 +189,6 @@ class CudaUVMSpace { const size_t arg_logical_size = 0) const; private: - template - friend class Kokkos::Experimental::LogicalMemorySpace; void* impl_allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0, const Kokkos::Tools::SpaceHandle = @@ -189,8 +209,13 @@ class CudaUVMSpace { #endif /*--------------------------------*/ + static CudaUVMSpace impl_create(int device_id, cudaStream_t stream) { + return CudaUVMSpace(device_id, stream); + } + private: - int m_device; ///< Which Cuda device + int m_device; + cudaStream_t m_stream; #ifdef KOKKOS_IMPL_DEBUG_CUDA_PIN_UVM_TO_HOST static bool kokkos_impl_cuda_pin_uvm_to_host_v; @@ -223,6 +248,11 @@ class CudaHostPinnedSpace { /*--------------------------------*/ CudaHostPinnedSpace(); + + private: + CudaHostPinnedSpace(int device_id, cudaStream_t stream); + + public: CudaHostPinnedSpace(CudaHostPinnedSpace&& rhs) = default; CudaHostPinnedSpace(const CudaHostPinnedSpace& rhs) = default; CudaHostPinnedSpace& operator=(CudaHostPinnedSpace&& rhs) = default; @@ -230,6 +260,16 @@ class CudaHostPinnedSpace { ~CudaHostPinnedSpace() = default; /**\brief Allocate untracked memory in the space */ + template + void* allocate(const ExecutionSpace&, const size_t arg_alloc_size) const { + return allocate(arg_alloc_size); + } + template + void* allocate(const ExecutionSpace&, const char* arg_label, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const { + return allocate(arg_label, arg_alloc_size, arg_logical_size); + } void* allocate(const size_t arg_alloc_size) const; void* allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; @@ -240,9 +280,11 @@ class CudaHostPinnedSpace { const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; + static CudaHostPinnedSpace impl_create(int device_id, cudaStream_t stream) { + return CudaHostPinnedSpace(device_id, stream); + } + private: - template - friend class Kokkos::Experimental::LogicalMemorySpace; void* impl_allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0, const Kokkos::Tools::SpaceHandle = @@ -258,6 +300,9 @@ class CudaHostPinnedSpace { static constexpr const char* name() { return m_name; } private: + int m_device; + cudaStream_t m_stream; + static constexpr const char* m_name = "CudaHostPinned"; /*--------------------------------*/ @@ -280,15 +325,12 @@ const std::unique_ptr& cuda_get_deep_copy_space( bool initialize = true); static_assert(Kokkos::Impl::MemorySpaceAccess::assignable, - ""); -static_assert(Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::CudaSpace>::assignable); +static_assert(Kokkos::Impl::MemorySpaceAccess< + Kokkos::CudaUVMSpace, Kokkos::CudaUVMSpace>::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::CudaHostPinnedSpace>::assignable); //---------------------------------------- @@ -516,179 +558,10 @@ struct DeepCopy -class SharedAllocationRecord - : public HostInaccessibleSharedAllocationRecordCommon { - private: - friend class SharedAllocationRecord; - friend class SharedAllocationRecordCommon; - friend class HostInaccessibleSharedAllocationRecordCommon; - - using RecordBase = SharedAllocationRecord; - using base_t = - HostInaccessibleSharedAllocationRecordCommon; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - -#ifdef KOKKOS_ENABLE_DEBUG - static RecordBase s_root_record; -#endif - - const Kokkos::CudaSpace m_space; - - protected: - ~SharedAllocationRecord(); - SharedAllocationRecord() = default; - - // This constructor does not forward to the one without exec_space arg - // in order to work around https://github.com/kokkos/kokkos/issues/5258 - // This constructor is templated so I can't just put it into the cpp file - // like the other constructor. - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, const Kokkos::CudaSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate) - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - - SharedAllocationHeader header; - - this->base_t::_fill_host_accessible_header_info(header, arg_label); - - // Copy to device memory - // workaround for issue with NVCC and MSVC - // https://github.com/kokkos/kokkos/issues/5258 - deep_copy_header_no_exec(RecordBase::m_alloc_ptr, &header); - } - - SharedAllocationRecord( - const Kokkos::Cuda& exec_space, const Kokkos::CudaSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); - - SharedAllocationRecord( - const Kokkos::CudaSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); - - // helper function to work around MSVC+NVCC issue - // https://github.com/kokkos/kokkos/issues/5258 - static void deep_copy_header_no_exec(void*, const void*); -}; - -template <> -class SharedAllocationRecord - : public SharedAllocationRecordCommon { - private: - friend class SharedAllocationRecordCommon; - - using base_t = SharedAllocationRecordCommon; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - - static RecordBase s_root_record; - - const Kokkos::CudaUVMSpace m_space; - - protected: - ~SharedAllocationRecord(); - SharedAllocationRecord() = default; - - // This constructor does not forward to the one without exec_space arg - // in order to work around https://github.com/kokkos/kokkos/issues/5258 - // This constructor is templated so I can't just put it into the cpp file - // like the other constructor. - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, - const Kokkos::CudaUVMSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate) - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - this->base_t::_fill_host_accessible_header_info(*base_t::m_alloc_ptr, - arg_label); - } - - SharedAllocationRecord( - const Kokkos::CudaUVMSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); -}; - -template <> -class SharedAllocationRecord - : public SharedAllocationRecordCommon { - private: - friend class SharedAllocationRecordCommon; - - using RecordBase = SharedAllocationRecord; - using base_t = SharedAllocationRecordCommon; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - - static RecordBase s_root_record; - - const Kokkos::CudaHostPinnedSpace m_space; - - protected: - ~SharedAllocationRecord(); - SharedAllocationRecord() = default; - - // This constructor does not forward to the one without exec_space arg - // in order to work around https://github.com/kokkos/kokkos/issues/5258 - // This constructor is templated so I can't just put it into the cpp file - // like the other constructor. - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, - const Kokkos::CudaHostPinnedSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate) - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - this->base_t::_fill_host_accessible_header_info(*base_t::m_alloc_ptr, - arg_label); - } - - SharedAllocationRecord( - const Kokkos::CudaHostPinnedSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); -}; - -} // namespace Impl -} // namespace Kokkos +KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_SPECIALIZATION( + Kokkos::CudaSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_SPECIALIZATION(Kokkos::CudaUVMSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_SPECIALIZATION(Kokkos::CudaHostPinnedSpace); //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Error.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Error.hpp index f68e05f780..c4458c910c 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Error.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Error.hpp @@ -27,10 +27,6 @@ namespace Kokkos { namespace Impl { -void cuda_stream_synchronize( - const cudaStream_t stream, - Kokkos::Tools::Experimental::SpecialSynchronizationCases reason, - const std::string& name); void cuda_device_synchronize(const std::string& name); void cuda_stream_synchronize(const cudaStream_t stream, const std::string& name); diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_GraphNodeKernel.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_GraphNodeKernel.hpp index a4d064e544..5a821ab64a 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_GraphNodeKernel.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_GraphNodeKernel.hpp @@ -23,8 +23,7 @@ #include -#include // GraphAccess needs to be complete -#include // SharedAllocationRecord +#include // GraphAccess needs to be complete #include #include @@ -50,10 +49,6 @@ class GraphNodeKernelImpl m_graph_ptr = nullptr; Kokkos::ObservingRawPtr m_graph_node_ptr = nullptr; - // Note: owned pointer to CudaSpace memory (used for global memory launches), - // which we're responsible for deallocating, but not responsible for calling - // its destructor. - using Record = Kokkos::Impl::SharedAllocationRecord; // Basically, we have to make this mutable for the same reasons that the // global kernel buffers in the Cuda instance are mutable... mutable Kokkos::OwningRawPtr m_driver_storage = nullptr; @@ -82,9 +77,7 @@ class GraphNodeKernelImpl allocate_driver_memory_buffer() const { KOKKOS_EXPECTS(m_driver_storage == nullptr) - - auto* record = Record::allocate( - Kokkos::CudaSpace{}, "GraphNodeKernel global memory functor storage", - sizeof(base_t)); - - Record::increment(record); - m_driver_storage = reinterpret_cast(record->data()); + m_driver_storage = static_cast(Kokkos::CudaSpace().allocate( + "GraphNodeKernel global memory functor storage", sizeof(base_t))); KOKKOS_ENSURES(m_driver_storage != nullptr) return m_driver_storage; } diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.cpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.cpp index d7f853d991..849e8b3b30 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.cpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.cpp @@ -26,10 +26,10 @@ #include -#include -#include -#include -#include +//#include +//#include +//#include +//#include #include #include #include @@ -97,21 +97,21 @@ __global__ void query_cuda_kernel_arch(int *d_arch) { } /** Query what compute capability is actually launched to the device: */ -int cuda_kernel_arch() { +int cuda_kernel_arch(int device_id) { int arch = 0; int *d_arch = nullptr; - KOKKOS_IMPL_CUDA_SAFE_CALL((CudaInternal::singleton().cuda_malloc_wrapper( - reinterpret_cast(&d_arch), sizeof(int)))); - KOKKOS_IMPL_CUDA_SAFE_CALL((CudaInternal::singleton().cuda_memcpy_wrapper( - d_arch, &arch, sizeof(int), cudaMemcpyDefault))); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(device_id)); + KOKKOS_IMPL_CUDA_SAFE_CALL( + cudaMalloc(reinterpret_cast(&d_arch), sizeof(int))); + KOKKOS_IMPL_CUDA_SAFE_CALL( + cudaMemcpy(d_arch, &arch, sizeof(int), cudaMemcpyDefault)); query_cuda_kernel_arch<<<1, 1>>>(d_arch); - KOKKOS_IMPL_CUDA_SAFE_CALL((CudaInternal::singleton().cuda_memcpy_wrapper( - &arch, d_arch, sizeof(int), cudaMemcpyDefault))); KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_free_wrapper(d_arch))); + cudaMemcpy(&arch, d_arch, sizeof(int), cudaMemcpyDefault)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaFree(d_arch)); return arch; } @@ -135,7 +135,6 @@ Kokkos::View cuda_global_unique_token_locks( return locks; } -// FIXME_CUDA_MULTIPLE_DEVICES void cuda_device_synchronize(const std::string &name) { Kokkos::Tools::Experimental::Impl::profile_fence_event( name, @@ -144,16 +143,16 @@ void cuda_device_synchronize(const std::string &name) { #if defined(KOKKOS_COMPILER_CLANG) // annotate with __host__ silence a clang warning about using // cudaDeviceSynchronize in device code - [] __host__() { - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_device_synchronize_wrapper())); - }); + [] __host__() #else - []() { - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_device_synchronize_wrapper())); - }); + []() #endif + { + for (int cuda_device : Kokkos::Impl::CudaInternal::cuda_devices) { + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(cuda_device)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaDeviceSynchronize()); + } + }); } void cuda_stream_synchronize(const cudaStream_t stream, const CudaInternal *ptr, @@ -168,25 +167,11 @@ void cuda_stream_synchronize(const cudaStream_t stream, const CudaInternal *ptr, }); } -void cuda_stream_synchronize( - const cudaStream_t stream, - Kokkos::Tools::Experimental::SpecialSynchronizationCases reason, - const std::string &name) { - Kokkos::Tools::Experimental::Impl::profile_fence_event( - name, reason, [&]() { - KOKKOS_IMPL_CUDA_SAFE_CALL( - (Impl::CudaInternal::singleton().cuda_stream_synchronize_wrapper( - stream))); - }); -} - void cuda_internal_error_throw(cudaError e, const char *name, const char *file, const int line) { std::ostringstream out; - out << name << " error( " - << CudaInternal::singleton().cuda_get_error_name_wrapper(e) - << "): " - << CudaInternal::singleton().cuda_get_error_string_wrapper(e); + out << name << " error( " << cudaGetErrorName(e) + << "): " << cudaGetErrorString(e); if (file) { out << " " << file << ":" << line; } @@ -196,10 +181,8 @@ void cuda_internal_error_throw(cudaError e, const char *name, const char *file, void cuda_internal_error_abort(cudaError e, const char *name, const char *file, const int line) { std::ostringstream out; - out << name << " error( " - << CudaInternal::singleton().cuda_get_error_name_wrapper(e) - << "): " - << CudaInternal::singleton().cuda_get_error_string_wrapper(e); + out << name << " error( " << cudaGetErrorName(e) + << "): " << cudaGetErrorString(e); if (file) { out << " " << file << ":" << line; } @@ -208,96 +191,6 @@ void cuda_internal_error_abort(cudaError e, const char *name, const char *file, host_abort(out.str().c_str()); } -//---------------------------------------------------------------------------- -// Some significant cuda device properties: -// -// cudaDeviceProp::name : Text label for device -// cudaDeviceProp::major : Device major number -// cudaDeviceProp::minor : Device minor number -// cudaDeviceProp::warpSize : number of threads per warp -// cudaDeviceProp::multiProcessorCount : number of multiprocessors -// cudaDeviceProp::sharedMemPerBlock : capacity of shared memory per block -// cudaDeviceProp::totalConstMem : capacity of constant memory -// cudaDeviceProp::totalGlobalMem : capacity of global memory -// cudaDeviceProp::maxGridSize[3] : maximum grid size - -// -// Section 4.4.2.4 of the CUDA Toolkit Reference Manual -// -// struct cudaDeviceProp { -// char name[256]; -// size_t totalGlobalMem; -// size_t sharedMemPerBlock; -// int regsPerBlock; -// int warpSize; -// size_t memPitch; -// int maxThreadsPerBlock; -// int maxThreadsDim[3]; -// int maxGridSize[3]; -// size_t totalConstMem; -// int major; -// int minor; -// int clockRate; -// size_t textureAlignment; -// int deviceOverlap; -// int multiProcessorCount; -// int kernelExecTimeoutEnabled; -// int integrated; -// int canMapHostMemory; -// int computeMode; -// int concurrentKernels; -// int ECCEnabled; -// int pciBusID; -// int pciDeviceID; -// int tccDriver; -// int asyncEngineCount; -// int unifiedAddressing; -// int memoryClockRate; -// int memoryBusWidth; -// int l2CacheSize; -// int maxThreadsPerMultiProcessor; -// }; - -namespace { - -class CudaInternalDevices { - public: - enum { MAXIMUM_DEVICE_COUNT = 64 }; - struct cudaDeviceProp m_cudaProp[MAXIMUM_DEVICE_COUNT]; - int m_cudaDevCount; - - CudaInternalDevices(); - - static const CudaInternalDevices &singleton(); -}; - -CudaInternalDevices::CudaInternalDevices() { - // See 'cudaSetDeviceFlags' for host-device thread interaction - // Section 4.4.2.6 of the CUDA Toolkit Reference Manual - - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_get_device_count_wrapper( - &m_cudaDevCount))); - - if (m_cudaDevCount > MAXIMUM_DEVICE_COUNT) { - Kokkos::abort( - "Sorry, you have more GPUs per node than we thought anybody would ever " - "have. Please report this to github.com/kokkos/kokkos."); - } - for (int i = 0; i < m_cudaDevCount; ++i) { - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_get_device_properties_wrapper( - m_cudaProp + i, i))); - } -} - -const CudaInternalDevices &CudaInternalDevices::singleton() { - static CudaInternalDevices self; - return self; -} - -} // namespace - //---------------------------------------------------------------------------- int Impl::CudaInternal::concurrency() { @@ -307,8 +200,6 @@ int Impl::CudaInternal::concurrency() { } void CudaInternal::print_configuration(std::ostream &s) const { - const CudaInternalDevices &dev_info = CudaInternalDevices::singleton(); - #if defined(KOKKOS_ENABLE_CUDA) s << "macro KOKKOS_ENABLE_CUDA : defined\n"; #endif @@ -317,22 +208,23 @@ void CudaInternal::print_configuration(std::ostream &s) const { << CUDA_VERSION / 1000 << "." << (CUDA_VERSION % 1000) / 10 << '\n'; #endif - for (int i = 0; i < dev_info.m_cudaDevCount; ++i) { - s << "Kokkos::Cuda[ " << i << " ] " << dev_info.m_cudaProp[i].name - << " capability " << dev_info.m_cudaProp[i].major << "." - << dev_info.m_cudaProp[i].minor << ", Total Global Memory: " - << human_memory_size(dev_info.m_cudaProp[i].totalGlobalMem) + for (int i : get_visible_devices()) { + cudaDeviceProp prop; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetDeviceProperties(&prop, i)); + s << "Kokkos::Cuda[ " << i << " ] " << prop.name << " capability " + << prop.major << "." << prop.minor + << ", Total Global Memory: " << human_memory_size(prop.totalGlobalMem) << ", Shared Memory per Block: " - << human_memory_size(dev_info.m_cudaProp[i].sharedMemPerBlock); + << human_memory_size(prop.sharedMemPerBlock); if (m_cudaDev == i) s << " : Selected"; - s << std::endl; + s << '\n'; } } //---------------------------------------------------------------------------- CudaInternal::~CudaInternal() { - if (m_stream || m_scratchSpace || m_scratchFlags || m_scratchUnified) { + if (m_scratchSpace || m_scratchFlags || m_scratchUnified) { std::cerr << "Kokkos::Cuda ERROR: Failed to call Kokkos::Cuda::finalize()" << std::endl; } @@ -370,45 +262,53 @@ void CudaInternal::fence() const { fence("Kokkos::CudaInternal::fence(): Unnamed Instance Fence"); } -void CudaInternal::initialize(cudaStream_t stream, bool manage_stream) { +void CudaInternal::initialize(cudaStream_t stream) { KOKKOS_EXPECTS(!is_initialized()); if (was_finalized) Kokkos::abort("Calling Cuda::initialize after Cuda::finalize is illegal\n"); was_initialized = true; + // Check that the device associated with the stream matches cuda_device + CUcontext context; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaError_t(cuStreamGetCtx(stream, &context))); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaError_t(cuCtxPushCurrent(context))); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaError_t(cuCtxGetDevice(&m_cudaDev))); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(m_cudaDev)); + + m_stream = stream; + CudaInternal::cuda_devices.insert(m_cudaDev); + + // Allocate a staging buffer for constant mem in pinned host memory + // and an event to avoid overwriting driver for previous kernel launches + if (!constantMemHostStagingPerDevice[m_cudaDev]) + KOKKOS_IMPL_CUDA_SAFE_CALL((cuda_malloc_host_wrapper( + reinterpret_cast(&constantMemHostStagingPerDevice[m_cudaDev]), + CudaTraits::ConstantMemoryUsage))); + + if (!constantMemReusablePerDevice[m_cudaDev]) + KOKKOS_IMPL_CUDA_SAFE_CALL( + (cuda_event_create_wrapper(&constantMemReusablePerDevice[m_cudaDev]))); + //---------------------------------- // Multiblock reduction uses scratch flags for counters // and scratch space for partial reduction values. // Allocate some initial space. This will grow as needed. { - const unsigned reduce_block_count = - m_maxWarpCount * Impl::CudaTraits::WarpSize; + // Maximum number of warps, + // at most one warp per thread in a warp for reduction. + auto const maxWarpCount = std::min( + m_deviceProp.maxThreadsPerBlock / CudaTraits::WarpSize, + CudaTraits::WarpSize); + unsigned const reduce_block_count = + maxWarpCount * Impl::CudaTraits::WarpSize; (void)scratch_unified(16 * sizeof(size_type)); (void)scratch_flags(reduce_block_count * 2 * sizeof(size_type)); (void)scratch_space(reduce_block_count * 16 * sizeof(size_type)); } - // Init the array for used for arbitrarily sized atomics - if (this == &singleton()) { - desul::Impl::init_lock_arrays(); // FIXME - } - - // Allocate a staging buffer for constant mem in pinned host memory - // and an event to avoid overwriting driver for previous kernel launches - if (this == &singleton()) { - KOKKOS_IMPL_CUDA_SAFE_CALL((cuda_malloc_host_wrapper( - reinterpret_cast(&constantMemHostStaging), - CudaTraits::ConstantMemoryUsage))); - - KOKKOS_IMPL_CUDA_SAFE_CALL( - (cuda_event_create_wrapper(&constantMemReusable))); - } - - m_stream = stream; - m_manage_stream = manage_stream; for (int i = 0; i < m_n_team_scratch; ++i) { m_team_scratch_current_size[i] = 0; m_team_scratch_ptr[i] = nullptr; @@ -427,22 +327,23 @@ void CudaInternal::initialize(cudaStream_t stream, bool manage_stream) { Cuda::size_type *CudaInternal::scratch_flags(const std::size_t size) const { if (verify_is_initialized("scratch_flags") && m_scratchFlagsCount < scratch_count(size)) { + auto mem_space = Kokkos::CudaSpace::impl_create(m_cudaDev, m_stream); + + if (m_scratchFlags) { + mem_space.deallocate(m_scratchFlags, + m_scratchFlagsCount * sizeScratchGrain); + } + m_scratchFlagsCount = scratch_count(size); - using Record = - Kokkos::Impl::SharedAllocationRecord; - - if (m_scratchFlags) Record::decrement(Record::get_record(m_scratchFlags)); - std::size_t alloc_size = multiply_overflow_abort(m_scratchFlagsCount, sizeScratchGrain); - Record *const r = Record::allocate( - Kokkos::CudaSpace(), "Kokkos::InternalScratchFlags", alloc_size); - - Record::increment(r); - - m_scratchFlags = reinterpret_cast(r->data()); + m_scratchFlags = static_cast( + mem_space.allocate("Kokkos::InternalScratchFlags", alloc_size)); + // We only zero-initialize the allocation when we actually allocate. + // It's the responsibility of the features using scratch_flags, + // namely parallel_reduce and parallel_scan, to reset the used values to 0. KOKKOS_IMPL_CUDA_SAFE_CALL( (cuda_memset_wrapper(m_scratchFlags, 0, alloc_size))); } @@ -453,21 +354,19 @@ Cuda::size_type *CudaInternal::scratch_flags(const std::size_t size) const { Cuda::size_type *CudaInternal::scratch_space(const std::size_t size) const { if (verify_is_initialized("scratch_space") && m_scratchSpaceCount < scratch_count(size)) { + auto mem_space = Kokkos::CudaSpace::impl_create(m_cudaDev, m_stream); + + if (m_scratchSpace) { + mem_space.deallocate(m_scratchSpace, + m_scratchSpaceCount * sizeScratchGrain); + } + m_scratchSpaceCount = scratch_count(size); - using Record = - Kokkos::Impl::SharedAllocationRecord; - - if (m_scratchSpace) Record::decrement(Record::get_record(m_scratchSpace)); - std::size_t alloc_size = multiply_overflow_abort(m_scratchSpaceCount, sizeScratchGrain); - Record *const r = Record::allocate( - Kokkos::CudaSpace(), "Kokkos::InternalScratchSpace", alloc_size); - - Record::increment(r); - - m_scratchSpace = reinterpret_cast(r->data()); + m_scratchSpace = static_cast( + mem_space.allocate("Kokkos::InternalScratchSpace", alloc_size)); } return m_scratchSpace; @@ -476,23 +375,20 @@ Cuda::size_type *CudaInternal::scratch_space(const std::size_t size) const { Cuda::size_type *CudaInternal::scratch_unified(const std::size_t size) const { if (verify_is_initialized("scratch_unified") && m_scratchUnifiedCount < scratch_count(size)) { + auto mem_space = + Kokkos::CudaHostPinnedSpace::impl_create(m_cudaDev, m_stream); + + if (m_scratchUnified) { + mem_space.deallocate(m_scratchUnified, + m_scratchUnifiedCount * sizeScratchGrain); + } + m_scratchUnifiedCount = scratch_count(size); - using Record = - Kokkos::Impl::SharedAllocationRecord; - - if (m_scratchUnified) - Record::decrement(Record::get_record(m_scratchUnified)); - std::size_t alloc_size = multiply_overflow_abort(m_scratchUnifiedCount, sizeScratchGrain); - Record *const r = - Record::allocate(Kokkos::CudaHostPinnedSpace(), - "Kokkos::InternalScratchUnified", alloc_size); - - Record::increment(r); - - m_scratchUnified = reinterpret_cast(r->data()); + m_scratchUnified = static_cast( + mem_space.allocate("Kokkos::InternalScratchUnified", alloc_size)); } return m_scratchUnified; @@ -500,21 +396,16 @@ Cuda::size_type *CudaInternal::scratch_unified(const std::size_t size) const { Cuda::size_type *CudaInternal::scratch_functor(const std::size_t size) const { if (verify_is_initialized("scratch_functor") && m_scratchFunctorSize < size) { + auto mem_space = Kokkos::CudaSpace::impl_create(m_cudaDev, m_stream); + + if (m_scratchFunctor) { + mem_space.deallocate(m_scratchFunctor, m_scratchFunctorSize); + } + m_scratchFunctorSize = size; - using Record = - Kokkos::Impl::SharedAllocationRecord; - - if (m_scratchFunctor) - Record::decrement(Record::get_record(m_scratchFunctor)); - - Record *const r = - Record::allocate(Kokkos::CudaSpace(), "Kokkos::InternalScratchFunctor", - m_scratchFunctorSize); - - Record::increment(r); - - m_scratchFunctor = reinterpret_cast(r->data()); + m_scratchFunctor = static_cast(mem_space.allocate( + "Kokkos::InternalScratchFunctor", m_scratchFunctorSize)); } return m_scratchFunctor; @@ -537,21 +428,21 @@ void *CudaInternal::resize_team_scratch_space(int scratch_pool_id, // Multiple ParallelFor/Reduce Teams can call this function at the same time // and invalidate the m_team_scratch_ptr. We use a pool to avoid any race // condition. + auto mem_space = Kokkos::CudaSpace::impl_create(m_cudaDev, m_stream); if (m_team_scratch_current_size[scratch_pool_id] == 0) { m_team_scratch_current_size[scratch_pool_id] = bytes; m_team_scratch_ptr[scratch_pool_id] = - Kokkos::kokkos_malloc( - "Kokkos::CudaSpace::TeamScratchMemory", - m_team_scratch_current_size[scratch_pool_id]); + mem_space.allocate("Kokkos::CudaSpace::TeamScratchMemory", + m_team_scratch_current_size[scratch_pool_id]); } if ((bytes > m_team_scratch_current_size[scratch_pool_id]) || ((bytes < m_team_scratch_current_size[scratch_pool_id]) && (force_shrink))) { + mem_space.deallocate(m_team_scratch_ptr[scratch_pool_id], + m_team_scratch_current_size[scratch_pool_id]); m_team_scratch_current_size[scratch_pool_id] = bytes; m_team_scratch_ptr[scratch_pool_id] = - Kokkos::kokkos_realloc( - m_team_scratch_ptr[scratch_pool_id], - m_team_scratch_current_size[scratch_pool_id]); + mem_space.allocate("Kokkos::CudaSpace::TeamScratchMemory", bytes); } return m_team_scratch_ptr[scratch_pool_id]; } @@ -568,50 +459,33 @@ void CudaInternal::finalize() { was_finalized = true; - // Only finalize this if we're the singleton - if (this == &singleton()) { - (void)Impl::cuda_global_unique_token_locks(true); - desul::Impl::finalize_lock_arrays(); // FIXME - - KOKKOS_IMPL_CUDA_SAFE_CALL( - (cuda_free_host_wrapper(constantMemHostStaging))); - KOKKOS_IMPL_CUDA_SAFE_CALL( - (cuda_event_destroy_wrapper(constantMemReusable))); - auto &deep_copy_space = - Kokkos::Impl::cuda_get_deep_copy_space(/*initialize*/ false); - if (deep_copy_space) - deep_copy_space->impl_internal_space_instance()->finalize(); - KOKKOS_IMPL_CUDA_SAFE_CALL( - (cuda_stream_destroy_wrapper(cuda_get_deep_copy_stream()))); - } - + auto cuda_mem_space = Kokkos::CudaSpace::impl_create(m_cudaDev, m_stream); if (nullptr != m_scratchSpace || nullptr != m_scratchFlags) { - using RecordCuda = Kokkos::Impl::SharedAllocationRecord; - using RecordHost = - Kokkos::Impl::SharedAllocationRecord; - - RecordCuda::decrement(RecordCuda::get_record(m_scratchFlags)); - RecordCuda::decrement(RecordCuda::get_record(m_scratchSpace)); - RecordHost::decrement(RecordHost::get_record(m_scratchUnified)); - if (m_scratchFunctorSize > 0) - RecordCuda::decrement(RecordCuda::get_record(m_scratchFunctor)); + auto host_mem_space = + Kokkos::CudaHostPinnedSpace::impl_create(m_cudaDev, m_stream); + cuda_mem_space.deallocate(m_scratchFlags, + m_scratchFlagsCount * sizeScratchGrain); + cuda_mem_space.deallocate(m_scratchSpace, + m_scratchSpaceCount * sizeScratchGrain); + host_mem_space.deallocate(m_scratchUnified, + m_scratchUnifiedCount * sizeScratchGrain); + if (m_scratchFunctorSize > 0) { + cuda_mem_space.deallocate(m_scratchFunctor, m_scratchFunctorSize); + } } for (int i = 0; i < m_n_team_scratch; ++i) { if (m_team_scratch_current_size[i] > 0) - Kokkos::kokkos_free(m_team_scratch_ptr[i]); + cuda_mem_space.deallocate(m_team_scratch_ptr[i], + m_team_scratch_current_size[i]); } - if (m_manage_stream && get_stream() != nullptr) - KOKKOS_IMPL_CUDA_SAFE_CALL((cuda_stream_destroy_wrapper(m_stream))); - m_scratchSpaceCount = 0; m_scratchFlagsCount = 0; m_scratchUnifiedCount = 0; m_scratchSpace = nullptr; m_scratchFlags = nullptr; m_scratchUnified = nullptr; - m_stream = nullptr; for (int i = 0; i < m_n_team_scratch; ++i) { m_team_scratch_current_size[i] = 0; m_team_scratch_ptr[i] = nullptr; @@ -624,30 +498,6 @@ void CudaInternal::finalize() { //---------------------------------------------------------------------------- -Cuda::size_type cuda_internal_multiprocessor_count() { - return CudaInternal::singleton().m_multiProcCount; -} - -CudaSpace::size_type cuda_internal_maximum_concurrent_block_count() { -#if defined(KOKKOS_ARCH_KEPLER) - // Compute capability 3.0 through 3.7 - enum : int { max_resident_blocks_per_multiprocessor = 16 }; -#else - // Compute capability 5.0 through 6.2 - enum : int { max_resident_blocks_per_multiprocessor = 32 }; -#endif - return CudaInternal::singleton().m_multiProcCount * - max_resident_blocks_per_multiprocessor; -}; - -Cuda::size_type cuda_internal_maximum_warp_count() { - return CudaInternal::singleton().m_maxWarpCount; -} - -std::array cuda_internal_maximum_grid_count() { - return CudaInternal::singleton().m_maxBlock; -} - Cuda::size_type *cuda_internal_scratch_space(const Cuda &instance, const std::size_t size) { return instance.impl_internal_space_instance()->scratch_space(size); @@ -670,10 +520,6 @@ Cuda::size_type *cuda_internal_scratch_unified(const Cuda &instance, namespace Kokkos { -Cuda::size_type Cuda::detect_device_count() { - return Impl::CudaInternalDevices::singleton().m_cudaDevCount; -} - #ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 int Cuda::concurrency() { #else @@ -687,25 +533,23 @@ int Cuda::impl_is_initialized() { } void Cuda::impl_initialize(InitializationSettings const &settings) { - const int cuda_device_id = Impl::get_gpu(settings); - const auto &dev_info = Impl::CudaInternalDevices::singleton(); + const std::vector &visible_devices = Impl::get_visible_devices(); + const int cuda_device_id = + Impl::get_gpu(settings).value_or(visible_devices[0]); - const struct cudaDeviceProp &cudaProp = dev_info.m_cudaProp[cuda_device_id]; - - Impl::CudaInternal::m_cudaDev = cuda_device_id; + cudaDeviceProp cudaProp; + KOKKOS_IMPL_CUDA_SAFE_CALL( + cudaGetDeviceProperties(&cudaProp, cuda_device_id)); Impl::CudaInternal::m_deviceProp = cudaProp; - - Kokkos::Impl::cuda_device_synchronize( - "Kokkos::CudaInternal::initialize: Fence on space initialization"); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(cuda_device_id)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaDeviceSynchronize()); // Query what compute capability architecture a kernel executes: - Impl::CudaInternal::m_cudaArch = Impl::cuda_kernel_arch(); + Impl::CudaInternal::m_cudaArch = Impl::cuda_kernel_arch(cuda_device_id); if (Impl::CudaInternal::m_cudaArch == 0) { - std::stringstream ss; - ss << "Kokkos::Cuda::initialize ERROR: likely mismatch of architecture\n"; - std::string msg = ss.str(); - Kokkos::abort(msg.c_str()); + Kokkos::abort( + "Kokkos::Cuda::initialize ERROR: likely mismatch of architecture\n"); } int compiled_major = Impl::CudaInternal::m_cudaArch / 100; @@ -761,78 +605,42 @@ Kokkos::Cuda::initialize WARNING: Cuda is allocating into UVMSpace by default } #endif - //---------------------------------- - // number of multiprocessors - Impl::CudaInternal::m_multiProcCount = cudaProp.multiProcessorCount; - - //---------------------------------- - // Maximum number of warps, - // at most one warp per thread in a warp for reduction. - Impl::CudaInternal::m_maxWarpCount = - cudaProp.maxThreadsPerBlock / Impl::CudaTraits::WarpSize; - - if (Impl::CudaTraits::WarpSize < Impl::CudaInternal::m_maxWarpCount) { - Impl::CudaInternal::m_maxWarpCount = Impl::CudaTraits::WarpSize; - } - - //---------------------------------- - // Maximum number of blocks: - - Impl::CudaInternal::m_maxBlock[0] = cudaProp.maxGridSize[0]; - Impl::CudaInternal::m_maxBlock[1] = cudaProp.maxGridSize[1]; - Impl::CudaInternal::m_maxBlock[2] = cudaProp.maxGridSize[2]; - - Impl::CudaInternal::m_shmemPerSM = cudaProp.sharedMemPerMultiprocessor; - Impl::CudaInternal::m_maxShmemPerBlock = cudaProp.sharedMemPerBlock; - Impl::CudaInternal::m_maxBlocksPerSM = - Impl::CudaInternal::m_cudaArch < 500 - ? 16 - : (Impl::CudaInternal::m_cudaArch < 750 - ? 32 - : (Impl::CudaInternal::m_cudaArch == 750 ? 16 : 32)); - Impl::CudaInternal::m_maxThreadsPerSM = cudaProp.maxThreadsPerMultiProcessor; - Impl::CudaInternal::m_maxThreadsPerBlock = cudaProp.maxThreadsPerBlock; - //---------------------------------- cudaStream_t singleton_stream; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(cuda_device_id)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaStreamCreate(&singleton_stream)); + + // Init the array for used for arbitrarily sized atomics + desul::Impl::init_lock_arrays(); // FIXME + + Impl::CudaInternal::singleton().initialize(singleton_stream); +} + +void Cuda::impl_finalize() { + (void)Impl::cuda_global_unique_token_locks(true); + desul::Impl::finalize_lock_arrays(); // FIXME + + for (const auto cuda_device : Kokkos::Impl::CudaInternal::cuda_devices) { + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(cuda_device)); + KOKKOS_IMPL_CUDA_SAFE_CALL( + cudaFreeHost(Kokkos::Impl::CudaInternal::constantMemHostStagingPerDevice + [cuda_device])); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaEventDestroy( + Kokkos::Impl::CudaInternal::constantMemReusablePerDevice[cuda_device])); + } + + auto &deep_copy_space = Impl::cuda_get_deep_copy_space(/*initialize*/ false); + if (deep_copy_space) + deep_copy_space->impl_internal_space_instance()->finalize(); KOKKOS_IMPL_CUDA_SAFE_CALL( - (Impl::CudaInternal::singleton().cuda_stream_create_wrapper( - &singleton_stream))); + cudaStreamDestroy(Impl::cuda_get_deep_copy_stream())); - auto &cuda_singleton = Impl::CudaInternal::singleton(); - cuda_singleton.initialize(singleton_stream, /*manage*/ true); + Impl::CudaInternal::singleton().finalize(); + KOKKOS_IMPL_CUDA_SAFE_CALL( + cudaStreamDestroy(Impl::CudaInternal::singleton().m_stream)); } -std::vector Cuda::detect_device_arch() { - const Impl::CudaInternalDevices &s = Impl::CudaInternalDevices::singleton(); - - std::vector output(s.m_cudaDevCount); - - for (int i = 0; i < s.m_cudaDevCount; ++i) { - output[i] = s.m_cudaProp[i].major * 100 + s.m_cudaProp[i].minor; - } - - return output; -} - -Cuda::size_type Cuda::device_arch() { - const int dev_id = Impl::CudaInternal::singleton().m_cudaDev; - - int dev_arch = 0; - - if (0 <= dev_id) { - const struct cudaDeviceProp &cudaProp = - Impl::CudaInternalDevices::singleton().m_cudaProp[dev_id]; - - dev_arch = cudaProp.major * 100 + cudaProp.minor; - } - - return dev_arch; -} - -void Cuda::impl_finalize() { Impl::CudaInternal::singleton().finalize(); } - Cuda::Cuda() : m_space_instance(&Impl::CudaInternal::singleton(), [](Impl::CudaInternal *) {}) { @@ -845,13 +653,17 @@ KOKKOS_DEPRECATED Cuda::Cuda(cudaStream_t stream, bool manage_stream) manage_stream ? Impl::ManageStream::yes : Impl::ManageStream::no) {} Cuda::Cuda(cudaStream_t stream, Impl::ManageStream manage_stream) - : m_space_instance(new Impl::CudaInternal, [](Impl::CudaInternal *ptr) { - ptr->finalize(); - delete ptr; - }) { + : m_space_instance( + new Impl::CudaInternal, [manage_stream](Impl::CudaInternal *ptr) { + ptr->finalize(); + if (static_cast(manage_stream)) { + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaStreamDestroy(ptr->m_stream)); + } + delete ptr; + }) { Impl::CudaInternal::singleton().verify_is_initialized( "Cuda instance constructor"); - m_space_instance->initialize(stream, static_cast(manage_stream)); + m_space_instance->initialize(stream); } void Cuda::print_configuration(std::ostream &os, bool /*verbose*/) const { diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.hpp index a324adecfe..24f4af3101 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Instance.hpp @@ -22,6 +22,10 @@ #include #include #include +#include "Kokkos_CudaSpace.hpp" + +#include +#include //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- @@ -55,27 +59,10 @@ struct CudaTraits { unsigned long[ConstantMemoryUsage / sizeof(unsigned long)]; static constexpr int ConstantMemoryUseThreshold = 0x000200 /* 512 bytes */; - - KOKKOS_INLINE_FUNCTION static CudaSpace::size_type warp_count( - CudaSpace::size_type i) { - return (i + WarpIndexMask) >> WarpIndexShift; - } - - KOKKOS_INLINE_FUNCTION static CudaSpace::size_type warp_align( - CudaSpace::size_type i) { - constexpr CudaSpace::size_type Mask = ~WarpIndexMask; - return (i + WarpIndexMask) & Mask; - } }; //---------------------------------------------------------------------------- -CudaSpace::size_type cuda_internal_multiprocessor_count(); -CudaSpace::size_type cuda_internal_maximum_warp_count(); -std::array cuda_internal_maximum_grid_count(); - -CudaSpace::size_type cuda_internal_maximum_concurrent_block_count(); - CudaSpace::size_type* cuda_internal_scratch_flags(const Cuda&, const std::size_t size); CudaSpace::size_type* cuda_internal_scratch_space(const Cuda&, @@ -101,18 +88,10 @@ class CudaInternal { public: using size_type = Cuda::size_type; - inline static int m_cudaDev = -1; + int m_cudaDev = -1; // Device Properties - inline static int m_cudaArch = -1; - inline static unsigned m_multiProcCount = 0; - inline static unsigned m_maxWarpCount = 0; - inline static std::array m_maxBlock = {0, 0, 0}; - inline static int m_shmemPerSM = 0; - inline static int m_maxShmemPerBlock = 0; - inline static int m_maxBlocksPerSM = 0; - inline static int m_maxThreadsPerSM = 0; - inline static int m_maxThreadsPerBlock = 0; + inline static int m_cudaArch = -1; static int concurrency(); inline static cudaDeviceProp m_deviceProp; @@ -129,7 +108,6 @@ class CudaInternal { mutable size_type* m_scratchFunctor; cudaStream_t m_stream; uint32_t m_instance_id; - bool m_manage_stream; // Team Scratch Level 1 Space int m_n_team_scratch = 10; @@ -142,11 +120,11 @@ class CudaInternal { bool was_initialized = false; bool was_finalized = false; - // FIXME_CUDA: these want to be per-device, not per-stream... use of 'static' - // here will break once there are multiple devices though - inline static unsigned long* constantMemHostStaging = nullptr; - inline static cudaEvent_t constantMemReusable = nullptr; - inline static std::mutex constantMemMutex; + inline static std::set cuda_devices = {}; + inline static std::map constantMemHostStagingPerDevice = + {}; + inline static std::map constantMemReusablePerDevice = {}; + inline static std::map constantMemMutexPerDevice = {}; static CudaInternal& singleton(); @@ -156,7 +134,7 @@ class CudaInternal { return nullptr != m_scratchSpace && nullptr != m_scratchFlags; } - void initialize(cudaStream_t stream, bool manage_stream); + void initialize(cudaStream_t stream); void finalize(); void print_configuration(std::ostream&) const; @@ -247,12 +225,6 @@ class CudaInternal { return cudaDeviceSetLimit(limit, value); } - template - cudaError_t cuda_device_synchronize_wrapper() const { - if constexpr (setCudaDevice) set_cuda_device(); - return cudaDeviceSynchronize(); - } - template cudaError_t cuda_event_create_wrapper(cudaEvent_t* event) const { if constexpr (setCudaDevice) set_cuda_device(); @@ -290,37 +262,6 @@ class CudaInternal { return cudaFreeHost(ptr); } - template - cudaError_t cuda_get_device_count_wrapper(int* count) const { - if constexpr (setCudaDevice) set_cuda_device(); - return cudaGetDeviceCount(count); - } - - template - cudaError_t cuda_get_device_properties_wrapper(cudaDeviceProp* prop, - int device) const { - if constexpr (setCudaDevice) set_cuda_device(); - return cudaGetDeviceProperties(prop, device); - } - - template - const char* cuda_get_error_name_wrapper(cudaError_t error) const { - if constexpr (setCudaDevice) set_cuda_device(); - return cudaGetErrorName(error); - } - - template - const char* cuda_get_error_string_wrapper(cudaError_t error) const { - if constexpr (setCudaDevice) set_cuda_device(); - return cudaGetErrorString(error); - } - - template - cudaError_t cuda_get_last_error_wrapper() const { - if constexpr (setCudaDevice) set_cuda_device(); - return cudaGetLastError(); - } - template cudaError_t cuda_graph_add_dependencies_wrapper( cudaGraph_t graph, const cudaGraphNode_t* from, const cudaGraphNode_t* to, @@ -506,10 +447,10 @@ class CudaInternal { } template - cudaError_t cuda_func_set_attributes_wrapper(T* entry, cudaFuncAttribute attr, - int value) const { + cudaError_t cuda_func_set_attribute_wrapper(T* entry, cudaFuncAttribute attr, + int value) const { if constexpr (setCudaDevice) set_cuda_device(); - return cudaFuncSetAttributes(entry, attr, value); + return cudaFuncSetAttribute(entry, attr, value); } template diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_KernelLaunch.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_KernelLaunch.hpp index 82a72b6902..b0dadb45f7 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_KernelLaunch.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_KernelLaunch.hpp @@ -21,7 +21,6 @@ #ifdef KOKKOS_ENABLE_CUDA #include -#include #include #include #include @@ -118,42 +117,43 @@ inline bool is_empty_launch(dim3 const& grid, dim3 const& block) { } inline void check_shmem_request(CudaInternal const* cuda_instance, int shmem) { - if (cuda_instance->m_maxShmemPerBlock < shmem) { + int const maxShmemPerBlock = cuda_instance->m_deviceProp.sharedMemPerBlock; + if (maxShmemPerBlock < shmem) { Kokkos::Impl::throw_runtime_exception( - std::string("CudaParallelLaunch (or graph node creation) FAILED: shared" - " memory request is too large")); + "CudaParallelLaunch (or graph node creation) FAILED: shared memory " + "request is too large"); } } // These functions need to be templated on DriverType and LaunchBounds // so that the static bool is unique for each type combo // KernelFuncPtr does not necessarily contain that type information. -// FIXME_CUDA_MULTIPLE_DEVICES template const cudaFuncAttributes& get_cuda_kernel_func_attributes( - const KernelFuncPtr& func) { + int cuda_device, const KernelFuncPtr& func) { // Only call cudaFuncGetAttributes once for each unique kernel // by leveraging static variable initialization rules - auto wrap_get_attributes = [&]() -> cudaFuncAttributes { + static std::map func_attr; + if (func_attr.find(cuda_device) == func_attr.end()) { cudaFuncAttributes attr; - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_func_get_attributes_wrapper(&attr, - func))); - return attr; - }; - static cudaFuncAttributes func_attr = wrap_get_attributes(); - return func_attr; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(cuda_device)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaFuncGetAttributes(&attr, func)); + func_attr.emplace(cuda_device, attr); + } + return func_attr[cuda_device]; } template -inline void configure_shmem_preference(const KernelFuncPtr& func, +inline void configure_shmem_preference(const int cuda_device, + const KernelFuncPtr& func, const cudaDeviceProp& device_props, const size_t block_size, int& shmem, const size_t occupancy) { #ifndef KOKKOS_ARCH_KEPLER const auto& func_attr = - get_cuda_kernel_func_attributes(func); + get_cuda_kernel_func_attributes(cuda_device, + func); // Compute limits for number of blocks due to registers/SM const size_t regs_per_sm = device_props.regsPerMultiprocessor; @@ -222,7 +222,7 @@ inline void configure_shmem_preference(const KernelFuncPtr& func, // FIXME_CUDA_MULTIPLE_DEVICES auto set_cache_config = [&] { KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_func_set_attributes_wrapper( + (CudaInternal::singleton().cuda_func_set_attribute_wrapper( func, cudaFuncAttributePreferredSharedMemoryCarveout, carveout))); return carveout; }; @@ -387,8 +387,8 @@ struct CudaParallelLaunchKernelInvoker< driver.get_policy().impl_get_desired_occupancy().value(); size_t block_size = block.x * block.y * block.z; Impl::configure_shmem_preference( - base_t::get_kernel_func(), cuda_instance->m_deviceProp, block_size, - shmem, desired_occupancy); + cuda_instance->m_cudaDev, base_t::get_kernel_func(), + cuda_instance->m_deviceProp, block_size, shmem, desired_occupancy); } void const* args[] = {&driver}; @@ -487,8 +487,8 @@ struct CudaParallelLaunchKernelInvoker< driver.get_policy().impl_get_desired_occupancy().value(); size_t block_size = block.x * block.y * block.z; Impl::configure_shmem_preference( - base_t::get_kernel_func(), cuda_instance->m_deviceProp, block_size, - shmem, desired_occupancy); + cuda_instance->m_cudaDev, base_t::get_kernel_func(), + cuda_instance->m_deviceProp, block_size, shmem, desired_occupancy); } auto* driver_ptr = Impl::allocate_driver_storage_for_kernel(driver); @@ -576,13 +576,16 @@ struct CudaParallelLaunchKernelInvoker< static void invoke_kernel(DriverType const& driver, dim3 const& grid, dim3 const& block, int shmem, CudaInternal const* cuda_instance) { + int cuda_device = cuda_instance->m_cudaDev; // Wait until the previous kernel that uses the constant buffer is done - std::lock_guard lock(CudaInternal::constantMemMutex); + std::lock_guard lock( + CudaInternal::constantMemMutexPerDevice[cuda_device]); KOKKOS_IMPL_CUDA_SAFE_CALL((cuda_instance->cuda_event_synchronize_wrapper( - CudaInternal::constantMemReusable))); + CudaInternal::constantMemReusablePerDevice[cuda_device]))); // Copy functor (synchronously) to staging buffer in pinned host memory - unsigned long* staging = cuda_instance->constantMemHostStaging; + unsigned long* staging = + cuda_instance->constantMemHostStagingPerDevice[cuda_device]; memcpy(staging, &driver, sizeof(DriverType)); // Copy functor asynchronously from there to constant memory on the device @@ -597,7 +600,7 @@ struct CudaParallelLaunchKernelInvoker< // Record an event that says when the constant buffer can be reused KOKKOS_IMPL_CUDA_SAFE_CALL((cuda_instance->cuda_event_record_wrapper( - CudaInternal::constantMemReusable))); + CudaInternal::constantMemReusablePerDevice[cuda_device]))); } inline static void create_parallel_launch_graph_node( @@ -665,8 +668,8 @@ struct CudaParallelLaunchImpl< Impl::configure_shmem_preference< DriverType, Kokkos::LaunchBounds>( - base_t::get_kernel_func(), cuda_instance->m_deviceProp, block_size, - shmem, desired_occupancy); + cuda_instance->m_cudaDev, base_t::get_kernel_func(), + cuda_instance->m_deviceProp, block_size, shmem, desired_occupancy); } desul::ensure_cuda_lock_arrays_on_device(); @@ -675,18 +678,17 @@ struct CudaParallelLaunchImpl< base_t::invoke_kernel(driver, grid, block, shmem, cuda_instance); #if defined(KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK) - KOKKOS_IMPL_CUDA_SAFE_CALL( - (cuda_instance->cuda_get_last_error_wrapper())); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetLastError()); cuda_instance->fence( "Kokkos::Impl::launch_kernel: Debug Only Check for Execution Error"); #endif } } - static cudaFuncAttributes get_cuda_func_attributes() { + static cudaFuncAttributes get_cuda_func_attributes(int cuda_device) { return get_cuda_kernel_func_attributes< DriverType, Kokkos::LaunchBounds>( - base_t::get_kernel_func()); + cuda_device, base_t::get_kernel_func()); } }; diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_MDRangePolicy.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_MDRangePolicy.hpp index 7492ab49e5..2c7eba7a18 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_MDRangePolicy.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_MDRangePolicy.hpp @@ -40,8 +40,8 @@ template <> inline TileSizeProperties get_tile_size_properties( const Kokkos::Cuda& space) { TileSizeProperties properties; - properties.max_threads = - space.impl_internal_space_instance()->m_maxThreadsPerSM; + properties.max_threads = space.impl_internal_space_instance() + ->m_deviceProp.maxThreadsPerMultiProcessor; properties.default_largest_tile_size = 16; properties.default_tile_size = 2; properties.max_total_tile_size = 512; diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_MDRange.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_MDRange.hpp index 49d6c112e3..6303898400 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_MDRange.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_MDRange.hpp @@ -28,7 +28,6 @@ #include #include #include -#include #include #include @@ -42,8 +41,8 @@ namespace Impl { template int max_tile_size_product_helper(const Policy& pol, const LaunchBounds&) { cudaFuncAttributes attr = - CudaParallelLaunch::get_cuda_func_attributes(); + CudaParallelLaunch::get_cuda_func_attributes( + pol.space().cuda_device()); auto const& prop = pol.space().cuda_device_prop(); // Limits due to registers/SM, MDRange doesn't have @@ -96,7 +95,7 @@ class ParallelFor, Kokkos::Cuda> { inline void execute() const { if (m_rp.m_num_tiles == 0) return; - const auto maxblocks = cuda_internal_maximum_grid_count(); + const auto maxblocks = m_rp.space().cuda_device_prop().maxGridSize; if (RP::rank == 2) { const dim3 block(m_rp.m_tile[0], m_rp.m_tile[1], 1); KOKKOS_ASSERT(block.x > 0); @@ -325,19 +324,18 @@ class ParallelReduce( f, n); using closure_type = Impl::ParallelReduce, Policy, Kokkos::Cuda>; - cudaFuncAttributes attr = - CudaParallelLaunch::get_cuda_func_attributes(); + cudaFuncAttributes attr = CudaParallelLaunch:: + get_cuda_func_attributes(m_policy.space().cuda_device()); while ( - (n && - (m_policy.space().impl_internal_space_instance()->m_maxShmemPerBlock < - shmem_size)) || + (n && (maxShmemPerBlock < shmem_size)) || (n > static_cast( Kokkos::Impl::cuda_get_max_block_size( diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_Range.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_Range.hpp index 3472999281..0f052be3c3 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_Range.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_Range.hpp @@ -28,7 +28,6 @@ #include #include #include -#include #include #include @@ -86,18 +85,18 @@ class ParallelFor, Kokkos::Cuda> { const typename Policy::index_type nwork = m_policy.end() - m_policy.begin(); cudaFuncAttributes attr = - CudaParallelLaunch::get_cuda_func_attributes(); + CudaParallelLaunch::get_cuda_func_attributes( + m_policy.space().cuda_device()); const int block_size = Kokkos::Impl::cuda_get_opt_block_size( m_policy.space().impl_internal_space_instance(), attr, m_functor, 1, 0, 0); KOKKOS_ASSERT(block_size > 0); dim3 block(1, block_size, 1); + const int maxGridSizeX = m_policy.space().cuda_device_prop().maxGridSize[0]; dim3 grid( - std::min( - typename Policy::index_type((nwork + block.y - 1) / block.y), - typename Policy::index_type(cuda_internal_maximum_grid_count()[0])), + std::min(typename Policy::index_type((nwork + block.y - 1) / block.y), + typename Policy::index_type(maxGridSizeX)), 1, 1); #ifdef KOKKOS_IMPL_DEBUG_CUDA_SERIAL_EXECUTION if (Kokkos::Impl::CudaInternal::cuda_use_serial_execution()) { @@ -244,10 +243,10 @@ class ParallelReduce, if (CudaTraits::WarpSize < word_count.value) { __syncthreads(); } else if (word_count.value > 1) { - // Inside cuda_single_inter_block_reduce_scan() above, shared[i] below - // might have been updated by a single thread within a warp without - // synchronization afterwards. Synchronize threads within warp to avoid - // potential racecondition. + // Inside cuda_single_inter_block_reduce_scan() and final() above, + // shared[i] below might have been updated by a single thread within a + // warp without synchronization afterwards. Synchronize threads within + // warp to avoid potential race condition. __syncwarp(0xffffffff); } @@ -260,19 +259,18 @@ class ParallelReduce, // Determine block size constrained by shared memory: inline unsigned local_block_size(const FunctorType& f) { unsigned n = CudaTraits::WarpSize * 8; + const int maxShmemPerBlock = + m_policy.space().cuda_device_prop().sharedMemPerBlock; int shmem_size = cuda_single_inter_block_reduce_scan_shmem( f, n); using closure_type = Impl::ParallelReduce, Policy, Kokkos::Cuda>; - cudaFuncAttributes attr = - CudaParallelLaunch::get_cuda_func_attributes(); + cudaFuncAttributes attr = CudaParallelLaunch:: + get_cuda_func_attributes(m_policy.space().cuda_device()); while ( - (n && - (m_policy.space().impl_internal_space_instance()->m_maxShmemPerBlock < - shmem_size)) || + (n && (maxShmemPerBlock < shmem_size)) || (n > static_cast( Kokkos::Impl::cuda_get_max_block_size( @@ -615,11 +613,11 @@ class ParallelScan, Kokkos::Cuda> { // 4 warps was 10% faster than 8 warps and 20% faster than 16 warps in unit // testing + const int maxShmemPerBlock = + m_policy.space().cuda_device_prop().sharedMemPerBlock; unsigned n = CudaTraits::WarpSize * 4; while (n && - unsigned(m_policy.space() - .impl_internal_space_instance() - ->m_maxShmemPerBlock) < + unsigned(maxShmemPerBlock) < cuda_single_inter_block_reduce_scan_shmem(f, n)) { n >>= 1; @@ -939,11 +937,11 @@ class ParallelScanWithTotal, // 4 warps was 10% faster than 8 warps and 20% faster than 16 warps in unit // testing + const int maxShmemPerBlock = + m_policy.space().cuda_device_prop().sharedMemPerBlock; unsigned n = CudaTraits::WarpSize * 4; while (n && - unsigned(m_policy.space() - .impl_internal_space_instance() - ->m_maxShmemPerBlock) < + unsigned(maxShmemPerBlock) < cuda_single_inter_block_reduce_scan_shmem(f, n)) { n >>= 1; diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_Team.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_Team.hpp index b4679b4e0d..9f7be45c83 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_Team.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Parallel_Team.hpp @@ -32,7 +32,7 @@ #include #include #include -#include +#include #include #include @@ -98,7 +98,7 @@ class TeamPolicyInternal Impl::ParallelFor>; cudaFuncAttributes attr = CudaParallelLaunch:: - get_cuda_func_attributes(); + get_cuda_func_attributes(space().cuda_device()); int block_size = Kokkos::Impl::cuda_get_max_block_size( @@ -137,7 +137,7 @@ class TeamPolicyInternal Impl::ParallelFor>; cudaFuncAttributes attr = CudaParallelLaunch:: - get_cuda_func_attributes(); + get_cuda_func_attributes(space().cuda_device()); const int block_size = Kokkos::Impl::cuda_get_opt_block_size( @@ -262,7 +262,8 @@ class TeamPolicyInternal m_tune_team(bool(team_size_request <= 0)), m_tune_vector(bool(vector_length_request <= 0)) { // Make sure league size is permissible - if (league_size_ >= int(Impl::cuda_internal_maximum_grid_count()[0])) + const int maxGridSizeX = m_space.cuda_device_prop().maxGridSize[0]; + if (league_size_ >= maxGridSizeX) Impl::throw_runtime_exception( "Requested too large league_size for TeamPolicy on Cuda execution " "space."); @@ -369,7 +370,7 @@ class TeamPolicyInternal cudaFuncAttributes attr = CudaParallelLaunch:: - get_cuda_func_attributes(); + get_cuda_func_attributes(space().cuda_device()); const int block_size = std::forward(block_size_callable)( space().impl_internal_space_instance(), attr, f, (size_t)impl_vector_length(), @@ -539,8 +540,8 @@ class ParallelFor, auto internal_space_instance = m_policy.space().impl_internal_space_instance(); cudaFuncAttributes attr = - CudaParallelLaunch::get_cuda_func_attributes(); + CudaParallelLaunch::get_cuda_func_attributes( + internal_space_instance->m_cudaDev); m_team_size = m_team_size >= 0 ? m_team_size @@ -575,10 +576,11 @@ class ParallelFor, static_cast(m_league_size)))); } + const int maxShmemPerBlock = + m_policy.space().cuda_device_prop().sharedMemPerBlock; const int shmem_size_total = m_shmem_begin + m_shmem_size; - if (internal_space_instance->m_maxShmemPerBlock < shmem_size_total) { - printf("%i %i\n", internal_space_instance->m_maxShmemPerBlock, - shmem_size_total); + if (maxShmemPerBlock < shmem_size_total) { + printf("%i %i\n", maxShmemPerBlock, shmem_size_total); Kokkos::Impl::throw_runtime_exception(std::string( "Kokkos::Impl::ParallelFor< Cuda > insufficient shared memory")); } @@ -623,6 +625,22 @@ class ParallelReduce 4 bytes in size, indexing into shared/global memory relies + // on the block and grid dimensions to ensure that we index at the correct + // offset rather than at every 4 byte word; such that, when the join is + // performed, we have the correct data that was copied over in chunks of 4 + // bytes. + using word_size_type = std::conditional_t< + sizeof(value_type) < sizeof(Kokkos::Cuda::size_type), + std::conditional_t, + Kokkos::Cuda::size_type>; using size_type = Cuda::size_type; using reducer_type = ReducerType; @@ -646,9 +664,11 @@ class ParallelReduce + const integral_nonzero_constant word_count(m_functor_reducer.get_reducer().value_size() / - sizeof(size_type)); + sizeof(word_size_type)); reference_type value = m_functor_reducer.get_reducer().init( - kokkos_impl_cuda_shared_memory() + + kokkos_impl_cuda_shared_memory() + threadIdx.y * word_count.value); // Iterate this block through the league @@ -721,18 +742,19 @@ class ParallelReduce( m_functor_reducer.get_reducer(), blockIdx.x, gridDim.x, - kokkos_impl_cuda_shared_memory(), m_scratch_space, + kokkos_impl_cuda_shared_memory(), m_scratch_space, m_scratch_flags); if (do_final_reduction) { // This is the final block with the final result at the final threads' // location - size_type* const shared = kokkos_impl_cuda_shared_memory() + - (blockDim.y - 1) * word_count.value; + word_size_type* const shared = + kokkos_impl_cuda_shared_memory() + + (blockDim.y - 1) * word_count.value; size_type* const global = m_result_ptr_device_accessible - ? reinterpret_cast(m_result_ptr) + ? reinterpret_cast(m_result_ptr) : (m_unified_space ? m_unified_space : m_scratch_space); if (threadIdx.y == 0) { @@ -787,7 +809,8 @@ class ParallelReduce(m_scratch_space), result, + m_scratch_flags, blockDim.y)) { const unsigned id = threadIdx.y * blockDim.x + threadIdx.x; if (id == 0) { m_functor_reducer.get_reducer().final(&value); @@ -808,13 +831,15 @@ class ParallelReduce(cuda_internal_scratch_space( + m_policy.space(), + m_functor_reducer.get_reducer().value_size() * block_count)); m_scratch_flags = cuda_internal_scratch_flags(m_policy.space(), sizeof(size_type)); - m_unified_space = cuda_internal_scratch_unified( - m_policy.space(), m_functor_reducer.get_reducer().value_size()); + m_unified_space = + reinterpret_cast(cuda_internal_scratch_unified( + m_policy.space(), m_functor_reducer.get_reducer().value_size())); dim3 block(m_vector_size, m_team_size, 1); dim3 grid(block_count, 1, 1); @@ -847,7 +872,8 @@ class ParallelReduce(m_result_ptr, m_scratch_space, size); + DeepCopy(m_policy.space(), m_result_ptr, + m_scratch_space, size); } } } @@ -883,9 +909,8 @@ class ParallelReduce::get_cuda_func_attributes(); + cudaFuncAttributes attr = CudaParallelLaunch:: + get_cuda_func_attributes(internal_space_instance->m_cudaDev); m_team_size = m_team_size >= 0 ? m_team_size @@ -940,6 +965,8 @@ class ParallelReduce bad team size")); } - if (internal_space_instance->m_maxShmemPerBlock < shmem_size_total) { + if (maxShmemPerBlock < shmem_size_total) { Kokkos::Impl::throw_runtime_exception( std::string("Kokkos::Impl::ParallelReduce< Cuda > requested too much " "L0 scratch memory")); diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ReduceScan.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ReduceScan.hpp index 7ccedbfe28..3037c4ab54 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ReduceScan.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ReduceScan.hpp @@ -103,7 +103,7 @@ template __device__ bool cuda_inter_block_reduction( typename FunctorType::reference_type value, typename FunctorType::reference_type neutral, const FunctorType& reducer, - Cuda::size_type* const m_scratch_space, + typename FunctorType::pointer_type const m_scratch_space, typename FunctorType::pointer_type const /*result*/, Cuda::size_type* const m_scratch_flags, const int max_active_thread = blockDim.y) { @@ -117,7 +117,7 @@ __device__ bool cuda_inter_block_reduction( // One thread in the block writes block result to global scratch_memory if (id == 0) { - pointer_type global = ((pointer_type)m_scratch_space) + blockIdx.x; + pointer_type global = m_scratch_space + blockIdx.x; *global = value; } @@ -140,7 +140,7 @@ __device__ bool cuda_inter_block_reduction( last_block = true; value = neutral; - pointer_type const volatile global = (pointer_type)m_scratch_space; + pointer_type const volatile global = m_scratch_space; // Reduce all global values with splitting work over threads in one warp const int step_size = @@ -702,8 +702,7 @@ inline void check_reduced_view_shmem_size(const Policy& policy, unsigned reqShmemSize = cuda_single_inter_block_reduce_scan_shmem( functor, minBlockSize); - size_t maxShmemPerBlock = - policy.space().impl_internal_space_instance()->m_maxShmemPerBlock; + size_t maxShmemPerBlock = policy.space().cuda_device_prop().sharedMemPerBlock; if (reqShmemSize > maxShmemPerBlock) { Kokkos::Impl::throw_runtime_exception( diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Task.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Task.hpp index baff7ef3f5..86d6d91bbe 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Task.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_Task.hpp @@ -84,8 +84,8 @@ class TaskQueueSpecialization> { KOKKOS_INLINE_FUNCTION static void iff_single_thread_recursive_execute(scheduler_type const&) {} - static int get_max_team_count(execution_space const&) { - return Kokkos::Impl::cuda_internal_multiprocessor_count() * warps_per_block; + static int get_max_team_count(execution_space const& space) { + return space.cuda_device_prop().multiProcessorCount * warps_per_block; } __device__ static void driver(scheduler_type scheduler, @@ -225,7 +225,11 @@ class TaskQueueSpecialization> { // FIXME_CUDA_MULTIPLE_DEVICES static void execute(scheduler_type const& scheduler) { const int shared_per_warp = 2048; - const dim3 grid(Kokkos::Impl::cuda_internal_multiprocessor_count(), 1, 1); + const Kokkos::Cuda& exec = scheduler.get_execution_space(); + const auto& impl_instance = exec.impl_internal_space_instance(); + const int multi_processor_count = + exec.cuda_device_prop().multiProcessorCount; + const dim3 grid(multi_processor_count, 1, 1); const dim3 block(1, Kokkos::Impl::CudaTraits::WarpSize, warps_per_block); const int shared_total = shared_per_warp * warps_per_block; const cudaStream_t stream = nullptr; @@ -245,34 +249,30 @@ class TaskQueueSpecialization> { // Query the stack size, in bytes: size_t previous_stack_size = 0; - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_device_get_limit_wrapper( - &previous_stack_size, cudaLimitStackSize))); + KOKKOS_IMPL_CUDA_SAFE_CALL(impl_instance->cuda_device_get_limit_wrapper( + &previous_stack_size, cudaLimitStackSize)); // If not large enough then set the stack size, in bytes: const size_t larger_stack_size = 1 << 11; if (previous_stack_size < larger_stack_size) { - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_device_set_limit_wrapper( - cudaLimitStackSize, larger_stack_size))); + KOKKOS_IMPL_CUDA_SAFE_CALL(impl_instance->cuda_device_set_limit_wrapper( + cudaLimitStackSize, larger_stack_size)); } cuda_task_queue_execute<<>>( scheduler, shared_per_warp); - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_get_last_error_wrapper())); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetLastError()); Impl::cuda_device_synchronize( "Kokkos::Impl::TaskQueueSpecialization::execute: Post Task Execution"); if (previous_stack_size < larger_stack_size) { - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_device_set_limit_wrapper( - cudaLimitStackSize, previous_stack_size))); + KOKKOS_IMPL_CUDA_SAFE_CALL(impl_instance->cuda_device_set_limit_wrapper( + cudaLimitStackSize, previous_stack_size)); } } @@ -300,8 +300,8 @@ class TaskQueueSpecialization> { set_cuda_task_base_apply_function_pointer <<<1, 1>>>(ptr_ptr, dtor_ptr); - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_get_last_error_wrapper())); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetLastError()); + Impl::cuda_device_synchronize( "Kokkos::Impl::TaskQueueSpecialization::execute: Post Get Function Pointer for Tasks"); @@ -466,7 +466,13 @@ class TaskQueueSpecializationConstrained< static void execute(scheduler_type const& scheduler) { const int shared_per_warp = 2048; const int warps_per_block = 4; - const dim3 grid(Kokkos::Impl::cuda_internal_multiprocessor_count(), 1, 1); + const Kokkos::Cuda exec = Cuda(); // FIXME_CUDA_MULTIPLE_DEVICES + const auto& impl_instance = exec.impl_internal_space_instance(); + const int multi_processor_count = + // FIXME not sure why this didn't work + // exec.cuda_device_prop().multiProcessorCount; + impl_instance->m_deviceProp.multiProcessorCount; + const dim3 grid(multi_processor_count, 1, 1); // const dim3 grid( 1 , 1 , 1 ); const dim3 block(1, Kokkos::Impl::CudaTraits::WarpSize, warps_per_block); const int shared_total = shared_per_warp * warps_per_block; @@ -482,34 +488,30 @@ class TaskQueueSpecializationConstrained< // Query the stack size, in bytes: size_t previous_stack_size = 0; - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_device_get_limit_wrapper( - &previous_stack_size, cudaLimitStackSize))); + KOKKOS_IMPL_CUDA_SAFE_CALL(impl_instance->cuda_device_get_limit_wrapper( + &previous_stack_size, cudaLimitStackSize)); // If not large enough then set the stack size, in bytes: const size_t larger_stack_size = 2048; if (previous_stack_size < larger_stack_size) { - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_device_set_limit_wrapper( - cudaLimitStackSize, larger_stack_size))); + KOKKOS_IMPL_CUDA_SAFE_CALL(impl_instance->cuda_device_set_limit_wrapper( + cudaLimitStackSize, larger_stack_size)); } cuda_task_queue_execute<<>>( scheduler, shared_per_warp); - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_get_last_error_wrapper())); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetLastError()); Impl::cuda_device_synchronize( "Kokkos::Impl::TaskQueueSpecializationConstrained::execute: Post Execute Task"); if (previous_stack_size < larger_stack_size) { - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_device_set_limit_wrapper( - cudaLimitStackSize, previous_stack_size))); + KOKKOS_IMPL_CUDA_SAFE_CALL(impl_instance->cuda_device_set_limit_wrapper( + cudaLimitStackSize, previous_stack_size)); } } @@ -532,8 +534,7 @@ class TaskQueueSpecializationConstrained< set_cuda_task_base_apply_function_pointer <<<1, 1>>>(ptr_ptr, dtor_ptr); - KOKKOS_IMPL_CUDA_SAFE_CALL( - (CudaInternal::singleton().cuda_get_last_error_wrapper())); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetLastError()); Impl::cuda_device_synchronize( "Kokkos::Impl::TaskQueueSpecializationConstrained::get_function_pointer: Post Get Function Pointer"); diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_UniqueToken.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_UniqueToken.hpp index abb747e39a..94a428493f 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_UniqueToken.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_UniqueToken.hpp @@ -22,7 +22,6 @@ #include #include -#include namespace Kokkos { diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_WorkGraphPolicy.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_WorkGraphPolicy.hpp index a945a716bc..c7ea6988a5 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_WorkGraphPolicy.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_WorkGraphPolicy.hpp @@ -77,7 +77,9 @@ class ParallelFor, inline void execute() { const int warps_per_block = 4; - const dim3 grid(Kokkos::Impl::cuda_internal_multiprocessor_count(), 1, 1); + const int multi_processor_count = + m_policy.space().cuda_device_prop().multiProcessorCount; + const dim3 grid(multi_processor_count, 1, 1); const dim3 block(1, Kokkos::Impl::CudaTraits::WarpSize, warps_per_block); const int shared = 0; diff --git a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ZeroMemset.hpp b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ZeroMemset.hpp index c7f0d12d91..517c592af7 100644 --- a/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ZeroMemset.hpp +++ b/lib/kokkos/core/src/Cuda/Kokkos_Cuda_ZeroMemset.hpp @@ -25,23 +25,14 @@ namespace Impl { template struct ZeroMemset> { - ZeroMemset(const Kokkos::Cuda& exec_space_instance, const View& dst, - typename View::const_value_type&) { + ZeroMemset(const Kokkos::Cuda& exec_space_instance, + const View& dst) { KOKKOS_IMPL_CUDA_SAFE_CALL( (exec_space_instance.impl_internal_space_instance() ->cuda_memset_async_wrapper( dst.data(), 0, dst.size() * sizeof(typename View::value_type)))); } - - ZeroMemset(const View& dst, - typename View::const_value_type&) { - // FIXME_CUDA_MULTIPLE_DEVICES - KOKKOS_IMPL_CUDA_SAFE_CALL( - (Kokkos::Impl::CudaInternal::singleton().cuda_memset_wrapper( - dst.data(), 0, - dst.size() * sizeof(typename View::value_type)))); - } }; } // namespace Impl diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP.cpp b/lib/kokkos/core/src/HIP/Kokkos_HIP.cpp index f78bfd28b2..309e07fb3f 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP.cpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP.cpp @@ -18,6 +18,7 @@ #define KOKKOS_IMPL_PUBLIC_INCLUDE #endif +#include #include #include @@ -41,7 +42,9 @@ int HIP::impl_is_initialized() { } void HIP::impl_initialize(InitializationSettings const& settings) { - const int hip_device_id = Impl::get_gpu(settings); + const std::vector& visible_devices = Impl::get_visible_devices(); + const int hip_device_id = + Impl::get_gpu(settings).value_or(visible_devices[0]); Impl::HIPInternal::m_hipDev = hip_device_id; KOKKOS_IMPL_HIP_SAFE_CALL( @@ -89,10 +92,23 @@ void HIP::impl_initialize(InitializationSettings const& settings) { hipStream_t singleton_stream; KOKKOS_IMPL_HIP_SAFE_CALL(hipStreamCreate(&singleton_stream)); - Impl::HIPInternal::singleton().initialize(singleton_stream, /*manage*/ true); + Impl::HIPInternal::singleton().initialize(singleton_stream); } -void HIP::impl_finalize() { Impl::HIPInternal::singleton().finalize(); } +void HIP::impl_finalize() { + (void)Impl::hip_global_unique_token_locks(true); + + desul::Impl::finalize_lock_arrays(); // FIXME + + KOKKOS_IMPL_HIP_SAFE_CALL( + hipEventDestroy(Impl::HIPInternal::constantMemReusable)); + KOKKOS_IMPL_HIP_SAFE_CALL( + hipHostFree(Impl::HIPInternal::constantMemHostStaging)); + + Impl::HIPInternal::singleton().finalize(); + KOKKOS_IMPL_HIP_SAFE_CALL( + hipStreamDestroy(Impl::HIPInternal::singleton().m_stream)); +} HIP::HIP() : m_space_instance(&Impl::HIPInternal::singleton(), @@ -102,13 +118,17 @@ HIP::HIP() } HIP::HIP(hipStream_t const stream, Impl::ManageStream manage_stream) - : m_space_instance(new Impl::HIPInternal, [](Impl::HIPInternal* ptr) { - ptr->finalize(); - delete ptr; - }) { + : m_space_instance( + new Impl::HIPInternal, [manage_stream](Impl::HIPInternal* ptr) { + ptr->finalize(); + if (static_cast(manage_stream)) { + KOKKOS_IMPL_HIP_SAFE_CALL(hipStreamDestroy(ptr->m_stream)); + } + delete ptr; + }) { Impl::HIPInternal::singleton().verify_is_initialized( "HIP instance constructor"); - m_space_instance->initialize(stream, static_cast(manage_stream)); + m_space_instance->initialize(stream); } KOKKOS_DEPRECATED HIP::HIP(hipStream_t const stream, bool manage_stream) diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP.hpp index 61ed346b21..3a88e97ee3 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP.hpp @@ -57,13 +57,15 @@ class HIP { //! \name Functions that all Kokkos devices must implement. //@{ - KOKKOS_INLINE_FUNCTION static int in_parallel() { +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED KOKKOS_INLINE_FUNCTION static int in_parallel() { #if defined(__HIP_DEVICE_COMPILE__) return true; #else return false; #endif } +#endif /** \brief Wait until all dispatched functors complete. * @@ -94,9 +96,13 @@ class HIP { static int impl_is_initialized(); - // static size_type device_arch(); - - static size_type detect_device_count(); +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED static size_type detect_device_count() { + int count; + KOKKOS_IMPL_HIP_SAFE_CALL(hipGetDeviceCount(&count)); + return count; + } +#endif #ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 static int concurrency(); diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_GraphNodeKernel.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_GraphNodeKernel.hpp index 576c53426b..5f0df72df1 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_GraphNodeKernel.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_GraphNodeKernel.hpp @@ -20,13 +20,11 @@ #include #include -#include #include #include #include -#include #include namespace Kokkos { @@ -43,7 +41,6 @@ class GraphNodeKernelImpl using base_t = typename PatternImplSpecializationFromTag::type; - using Record = Kokkos::Impl::SharedAllocationRecord; // TODO use the name and executionspace template @@ -60,7 +57,7 @@ class GraphNodeKernelImpl ~GraphNodeKernelImpl() { if (m_driver_storage) { - Record::decrement(Record::get_record(m_driver_storage)); + Kokkos::HIPSpace().deallocate(m_driver_storage, sizeof(base_t)); } } @@ -78,15 +75,9 @@ class GraphNodeKernelImpl Kokkos::ObservingRawPtr allocate_driver_memory_buffer() const { KOKKOS_EXPECTS(m_driver_storage == nullptr); - - auto* record = Record::allocate( - Kokkos::HIPSpace{}, "GraphNodeKernel global memory functor storage", - sizeof(base_t)); - - Record::increment(record); - m_driver_storage = reinterpret_cast(record->data()); + m_driver_storage = static_cast(Kokkos::HIPSpace().allocate( + "GraphNodeKernel global memory functor storage", sizeof(base_t))); KOKKOS_ENSURES(m_driver_storage != nullptr); - return m_driver_storage; } diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.cpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.cpp index 7f04eb721c..22c0db047f 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.cpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.cpp @@ -27,6 +27,7 @@ #include #include #include +#include #include /*--------------------------------------------------------------------------*/ @@ -89,10 +90,14 @@ void HIPInternal::print_configuration(std::ostream &s) const { << '\n'; #endif - int hipDevCount; - KOKKOS_IMPL_HIP_SAFE_CALL(hipGetDeviceCount(&hipDevCount)); + s << "macro KOKKOS_ENABLE_ROCTHRUST : " +#if defined(KOKKOS_ENABLE_ROCTHRUST) + << "defined\n"; +#else + << "undefined\n"; +#endif - for (int i = 0; i < hipDevCount; ++i) { + for (int i : get_visible_devices()) { hipDeviceProp_t hipProp; KOKKOS_IMPL_HIP_SAFE_CALL(hipGetDeviceProperties(&hipProp, i)); std::string gpu_type = hipProp.integrated == 1 ? "APU" : "dGPU"; @@ -159,14 +164,13 @@ void HIPInternal::fence(const std::string &name) const { [&]() { KOKKOS_IMPL_HIP_SAFE_CALL(hipStreamSynchronize(m_stream)); }); } -void HIPInternal::initialize(hipStream_t stream, bool manage_stream) { +void HIPInternal::initialize(hipStream_t stream) { KOKKOS_EXPECTS(!is_initialized()); if (was_finalized) Kokkos::abort("Calling HIP::initialize after HIP::finalize is illegal\n"); - m_stream = stream; - m_manage_stream = manage_stream; + m_stream = stream; //---------------------------------- // Multiblock reduction uses scratch flags for counters @@ -192,20 +196,19 @@ void HIPInternal::initialize(hipStream_t stream, bool manage_stream) { Kokkos::HIP::size_type *HIPInternal::scratch_space(const std::size_t size) { if (verify_is_initialized("scratch_space") && m_scratchSpaceCount < scratch_count(size)) { + Kokkos::HIPSpace mem_space; + + if (m_scratchSpace) { + mem_space.deallocate(m_scratchSpace, + m_scratchSpaceCount * sizeScratchGrain); + } + m_scratchSpaceCount = scratch_count(size); - using Record = Kokkos::Impl::SharedAllocationRecord; - - if (m_scratchSpace) Record::decrement(Record::get_record(m_scratchSpace)); - std::size_t alloc_size = multiply_overflow_abort(m_scratchSpaceCount, sizeScratchGrain); - Record *const r = Record::allocate( - Kokkos::HIPSpace(), "Kokkos::InternalScratchSpace", alloc_size); - - Record::increment(r); - - m_scratchSpace = reinterpret_cast(r->data()); + m_scratchSpace = static_cast( + mem_space.allocate("Kokkos::InternalScratchSpace", alloc_size)); } return m_scratchSpace; @@ -214,21 +217,23 @@ Kokkos::HIP::size_type *HIPInternal::scratch_space(const std::size_t size) { Kokkos::HIP::size_type *HIPInternal::scratch_flags(const std::size_t size) { if (verify_is_initialized("scratch_flags") && m_scratchFlagsCount < scratch_count(size)) { + Kokkos::HIPSpace mem_space; + + if (m_scratchFlags) { + mem_space.deallocate(m_scratchFlags, + m_scratchFlagsCount * sizeScratchGrain); + } + m_scratchFlagsCount = scratch_count(size); - using Record = Kokkos::Impl::SharedAllocationRecord; - - if (m_scratchFlags) Record::decrement(Record::get_record(m_scratchFlags)); - std::size_t alloc_size = multiply_overflow_abort(m_scratchFlagsCount, sizeScratchGrain); - Record *const r = Record::allocate( - Kokkos::HIPSpace(), "Kokkos::InternalScratchFlags", alloc_size); - - Record::increment(r); - - m_scratchFlags = reinterpret_cast(r->data()); + m_scratchFlags = static_cast( + mem_space.allocate("Kokkos::InternalScratchFlags", alloc_size)); + // We only zero-initialize the allocation when we actually allocate. + // It's the responsibility of the features using scratch_flags, + // namely parallel_reduce and parallel_scan, to reset the used values to 0. KOKKOS_IMPL_HIP_SAFE_CALL(hipMemset(m_scratchFlags, 0, alloc_size)); } @@ -238,29 +243,20 @@ Kokkos::HIP::size_type *HIPInternal::scratch_flags(const std::size_t size) { Kokkos::HIP::size_type *HIPInternal::stage_functor_for_execution( void const *driver, std::size_t const size) const { if (verify_is_initialized("scratch_functor") && m_scratchFunctorSize < size) { - m_scratchFunctorSize = size; - - using Record = Kokkos::Impl::SharedAllocationRecord; - using RecordHost = - Kokkos::Impl::SharedAllocationRecord; + Kokkos::HIPSpace device_mem_space; + Kokkos::HIPHostPinnedSpace host_mem_space; if (m_scratchFunctor) { - Record::decrement(Record::get_record(m_scratchFunctor)); - RecordHost::decrement(RecordHost::get_record(m_scratchFunctorHost)); + device_mem_space.deallocate(m_scratchFunctor, m_scratchFunctorSize); + host_mem_space.deallocate(m_scratchFunctorHost, m_scratchFunctorSize); } - Record *const r = - Record::allocate(Kokkos::HIPSpace(), "Kokkos::InternalScratchFunctor", - m_scratchFunctorSize); - RecordHost *const r_host = RecordHost::allocate( - Kokkos::HIPHostPinnedSpace(), "Kokkos::InternalScratchFunctorHost", - m_scratchFunctorSize); + m_scratchFunctorSize = size; - Record::increment(r); - RecordHost::increment(r_host); - - m_scratchFunctor = reinterpret_cast(r->data()); - m_scratchFunctorHost = reinterpret_cast(r_host->data()); + m_scratchFunctor = static_cast(device_mem_space.allocate( + "Kokkos::InternalScratchFunctor", m_scratchFunctorSize)); + m_scratchFunctorHost = static_cast(host_mem_space.allocate( + "Kokkos::InternalScratchFunctorHost", m_scratchFunctorSize)); } // When using HSA_XNACK=1, it is necessary to copy the driver to the host to @@ -323,23 +319,18 @@ void HIPInternal::finalize() { this->fence("Kokkos::HIPInternal::finalize: fence on finalization"); was_finalized = true; - if (this == &singleton()) { - (void)Kokkos::Impl::hip_global_unique_token_locks(true); - desul::Impl::finalize_lock_arrays(); // FIXME - - KOKKOS_IMPL_HIP_SAFE_CALL(hipHostFree(constantMemHostStaging)); - KOKKOS_IMPL_HIP_SAFE_CALL(hipEventDestroy(constantMemReusable)); - } - if (nullptr != m_scratchSpace || nullptr != m_scratchFlags) { - using RecordHIP = Kokkos::Impl::SharedAllocationRecord; + Kokkos::HIPSpace device_mem_space; - RecordHIP::decrement(RecordHIP::get_record(m_scratchFlags)); - RecordHIP::decrement(RecordHIP::get_record(m_scratchSpace)); + device_mem_space.deallocate(m_scratchFlags, + m_scratchSpaceCount * sizeScratchGrain); + device_mem_space.deallocate(m_scratchSpace, + m_scratchFlagsCount * sizeScratchGrain); if (m_scratchFunctorSize > 0) { - RecordHIP::decrement(RecordHIP::get_record(m_scratchFunctor)); - RecordHIP::decrement(RecordHIP::get_record(m_scratchFunctorHost)); + device_mem_space.deallocate(m_scratchFunctor, m_scratchFunctorSize); + Kokkos::HIPHostPinnedSpace host_mem_space; + host_mem_space.deallocate(m_scratchFunctorHost, m_scratchFunctorSize); } } @@ -348,14 +339,10 @@ void HIPInternal::finalize() { Kokkos::kokkos_free(m_team_scratch_ptr[i]); } - if (m_manage_stream && m_stream != nullptr) - KOKKOS_IMPL_HIP_SAFE_CALL(hipStreamDestroy(m_stream)); - m_scratchSpaceCount = 0; m_scratchFlagsCount = 0; m_scratchSpace = nullptr; m_scratchFlags = nullptr; - m_stream = nullptr; for (int i = 0; i < m_n_team_scratch; ++i) { m_team_scratch_current_size[i] = 0; m_team_scratch_ptr[i] = nullptr; @@ -419,13 +406,3 @@ void Kokkos::Impl::create_HIP_instances(std::vector &instances) { instances[s] = HIP(stream, ManageStream::yes); } } - -//---------------------------------------------------------------------------- - -namespace Kokkos { -HIP::size_type HIP::detect_device_count() { - int hipDevCount; - KOKKOS_IMPL_HIP_SAFE_CALL(hipGetDeviceCount(&hipDevCount)); - return hipDevCount; -} -} // namespace Kokkos diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.hpp index 63ad66686b..142008124a 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Instance.hpp @@ -98,7 +98,6 @@ class HIPInternal { uint32_t m_instance_id = Kokkos::Tools::Experimental::Impl::idForInstance( reinterpret_cast(this)); - bool m_manage_stream = false; // Team Scratch Level 1 Space int m_n_team_scratch = 10; @@ -124,7 +123,7 @@ class HIPInternal { return nullptr != m_scratchSpace && nullptr != m_scratchFlags; } - void initialize(hipStream_t stream, bool manage_stream); + void initialize(hipStream_t stream); void finalize(); void print_configuration(std::ostream &) const; diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_MDRange.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_MDRange.hpp new file mode 100644 index 0000000000..db07c360b5 --- /dev/null +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_MDRange.hpp @@ -0,0 +1,173 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_HIP_PARALLEL_FOR_MDRANGE_HPP +#define KOKKOS_HIP_PARALLEL_FOR_MDRANGE_HPP + +#include + +#include +#include +#include +#include + +namespace Kokkos { +namespace Impl { + +// ParallelFor +template +class ParallelFor, HIP> { + public: + using Policy = Kokkos::MDRangePolicy; + using functor_type = FunctorType; + + private: + using array_index_type = typename Policy::array_index_type; + using index_type = typename Policy::index_type; + using LaunchBounds = typename Policy::launch_bounds; + + const FunctorType m_functor; + const Policy m_policy; + + public: + ParallelFor() = delete; + ParallelFor(ParallelFor const&) = default; + ParallelFor& operator=(ParallelFor const&) = delete; + + inline __device__ void operator()() const { + Kokkos::Impl::DeviceIterateTile(m_policy, + m_functor) + .exec_range(); + } + + inline void execute() const { + using ClosureType = ParallelFor; + if (m_policy.m_num_tiles == 0) return; + auto const maxblocks = hip_internal_maximum_grid_count(); + if (Policy::rank == 2) { + dim3 const block(m_policy.m_tile[0], m_policy.m_tile[1], 1); + dim3 const grid( + std::min( + (m_policy.m_upper[0] - m_policy.m_lower[0] + block.x - 1) / + block.x, + maxblocks[0]), + std::min( + (m_policy.m_upper[1] - m_policy.m_lower[1] + block.y - 1) / + block.y, + maxblocks[1]), + 1); + hip_parallel_launch( + *this, grid, block, 0, + m_policy.space().impl_internal_space_instance(), false); + } else if (Policy::rank == 3) { + dim3 const block(m_policy.m_tile[0], m_policy.m_tile[1], + m_policy.m_tile[2]); + dim3 const grid( + std::min( + (m_policy.m_upper[0] - m_policy.m_lower[0] + block.x - 1) / + block.x, + maxblocks[0]), + std::min( + (m_policy.m_upper[1] - m_policy.m_lower[1] + block.y - 1) / + block.y, + maxblocks[1]), + std::min( + (m_policy.m_upper[2] - m_policy.m_lower[2] + block.z - 1) / + block.z, + maxblocks[2])); + hip_parallel_launch( + *this, grid, block, 0, + m_policy.space().impl_internal_space_instance(), false); + } else if (Policy::rank == 4) { + // id0,id1 encoded within threadIdx.x; id2 to threadIdx.y; id3 to + // threadIdx.z + dim3 const block(m_policy.m_tile[0] * m_policy.m_tile[1], + m_policy.m_tile[2], m_policy.m_tile[3]); + dim3 const grid( + std::min( + m_policy.m_tile_end[0] * m_policy.m_tile_end[1], maxblocks[0]), + std::min( + (m_policy.m_upper[2] - m_policy.m_lower[2] + block.y - 1) / + block.y, + maxblocks[1]), + std::min( + (m_policy.m_upper[3] - m_policy.m_lower[3] + block.z - 1) / + block.z, + maxblocks[2])); + hip_parallel_launch( + *this, grid, block, 0, + m_policy.space().impl_internal_space_instance(), false); + } else if (Policy::rank == 5) { + // id0,id1 encoded within threadIdx.x; id2,id3 to threadIdx.y; id4 + // to threadIdx.z + dim3 const block(m_policy.m_tile[0] * m_policy.m_tile[1], + m_policy.m_tile[2] * m_policy.m_tile[3], + m_policy.m_tile[4]); + dim3 const grid( + std::min( + m_policy.m_tile_end[0] * m_policy.m_tile_end[1], maxblocks[0]), + std::min( + m_policy.m_tile_end[2] * m_policy.m_tile_end[3], maxblocks[1]), + std::min( + (m_policy.m_upper[4] - m_policy.m_lower[4] + block.z - 1) / + block.z, + maxblocks[2])); + hip_parallel_launch( + *this, grid, block, 0, + m_policy.space().impl_internal_space_instance(), false); + } else if (Policy::rank == 6) { + // id0,id1 encoded within threadIdx.x; id2,id3 to threadIdx.y; + // id4,id5 to threadIdx.z + dim3 const block(m_policy.m_tile[0] * m_policy.m_tile[1], + m_policy.m_tile[2] * m_policy.m_tile[3], + m_policy.m_tile[4] * m_policy.m_tile[5]); + dim3 const grid( + std::min( + m_policy.m_tile_end[0] * m_policy.m_tile_end[1], maxblocks[0]), + std::min( + m_policy.m_tile_end[2] * m_policy.m_tile_end[3], maxblocks[1]), + std::min( + m_policy.m_tile_end[4] * m_policy.m_tile_end[5], maxblocks[2])); + hip_parallel_launch( + *this, grid, block, 0, + m_policy.space().impl_internal_space_instance(), false); + } else { + Kokkos::abort("Kokkos::MDRange Error: Exceeded rank bounds with HIP\n"); + } + + } // end execute + + ParallelFor(FunctorType const& arg_functor, Policy const& arg_policy) + : m_functor(arg_functor), m_policy(arg_policy) {} + + template + static int max_tile_size_product(const Policy&, const Functor&) { + using closure_type = + ParallelFor, HIP>; + unsigned block_size = hip_get_max_blocksize(); + if (block_size == 0) + Kokkos::Impl::throw_runtime_exception( + std::string("Kokkos::Impl::ParallelFor< HIP > could not find a valid " + "tile size.")); + return block_size; + } +}; + +} // namespace Impl +} // namespace Kokkos + +#endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_Range.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_Range.hpp new file mode 100644 index 0000000000..9355c1c75f --- /dev/null +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_Range.hpp @@ -0,0 +1,100 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_HIP_PARALLEL_FOR_RANGE_HPP +#define KOKKOS_HIP_PARALLEL_FOR_RANGE_HPP + +#include + +#include +#include + +namespace Kokkos { +namespace Impl { + +template +class ParallelFor, Kokkos::HIP> { + public: + using Policy = Kokkos::RangePolicy; + + private: + using Member = typename Policy::member_type; + using WorkTag = typename Policy::work_tag; + using LaunchBounds = typename Policy::launch_bounds; + + const FunctorType m_functor; + const Policy m_policy; + + template + inline __device__ std::enable_if_t::value> exec_range( + const Member i) const { + m_functor(i); + } + + template + inline __device__ std::enable_if_t::value> exec_range( + const Member i) const { + m_functor(TagType(), i); + } + + public: + using functor_type = FunctorType; + + ParallelFor() = delete; + ParallelFor(ParallelFor const&) = default; + ParallelFor& operator=(ParallelFor const&) = delete; + + inline __device__ void operator()() const { + const Member work_stride = blockDim.y * gridDim.x; + const Member work_end = m_policy.end(); + + for (Member iwork = + m_policy.begin() + threadIdx.y + blockDim.y * blockIdx.x; + iwork < work_end; + iwork = iwork < work_end - work_stride ? iwork + work_stride + : work_end) { + this->template exec_range(iwork); + } + } + + inline void execute() const { + const typename Policy::index_type nwork = m_policy.end() - m_policy.begin(); + + using DriverType = ParallelFor; + const int block_size = + Kokkos::Impl::hip_get_preferred_blocksize(); + const dim3 block(1, block_size, 1); + const dim3 grid( + typename Policy::index_type((nwork + block.y - 1) / block.y), 1, 1); + + if (block_size == 0) { + Kokkos::Impl::throw_runtime_exception( + std::string("Kokkos::Impl::ParallelFor< HIP > could not find a " + "valid execution configuration.")); + } + Kokkos::Impl::hip_parallel_launch( + *this, grid, block, 0, m_policy.space().impl_internal_space_instance(), + false); + } + + ParallelFor(const FunctorType& arg_functor, const Policy& arg_policy) + : m_functor(arg_functor), m_policy(arg_policy) {} +}; + +} // namespace Impl +} // namespace Kokkos + +#endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_Team.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_Team.hpp new file mode 100644 index 0000000000..bf0c219338 --- /dev/null +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelFor_Team.hpp @@ -0,0 +1,177 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_HIP_PARALLEL_FOR_TEAM_HPP +#define KOKKOS_HIP_PARALLEL_FOR_TEAM_HPP + +#include + +#include +#include +#include +#include + +namespace Kokkos { +namespace Impl { + +template +class ParallelFor, HIP> { + public: + using Policy = TeamPolicy; + using functor_type = FunctorType; + using size_type = HIP::size_type; + + private: + using member_type = typename Policy::member_type; + using work_tag = typename Policy::work_tag; + using launch_bounds = typename Policy::launch_bounds; + + // Algorithmic constraints: blockDim.y is a power of two AND + // blockDim.y == blockDim.z == 1 shared memory utilization: + // + // [ team reduce space ] + // [ team shared space ] + + FunctorType const m_functor; + Policy const m_policy; + size_type const m_league_size; + int m_team_size; + size_type const m_vector_size; + int m_shmem_begin; + int m_shmem_size; + void* m_scratch_ptr[2]; + size_t m_scratch_size[2]; + int m_scratch_pool_id = -1; + int32_t* m_scratch_locks; + size_t m_num_scratch_locks; + + template + __device__ inline std::enable_if_t::value> exec_team( + const member_type& member) const { + m_functor(member); + } + + template + __device__ inline std::enable_if_t::value> exec_team( + const member_type& member) const { + m_functor(TagType(), member); + } + + public: + ParallelFor() = delete; + ParallelFor(ParallelFor const&) = default; + ParallelFor& operator=(ParallelFor const&) = delete; + + __device__ inline void operator()() const { + // Iterate this block through the league + int64_t threadid = 0; + if (m_scratch_size[1] > 0) { + threadid = hip_get_scratch_index(m_league_size, m_scratch_locks, + m_num_scratch_locks); + } + + int const int_league_size = static_cast(m_league_size); + for (int league_rank = blockIdx.x; league_rank < int_league_size; + league_rank += gridDim.x) { + this->template exec_team(typename Policy::member_type( + kokkos_impl_hip_shared_memory(), m_shmem_begin, m_shmem_size, + static_cast(static_cast(m_scratch_ptr[1]) + + ptrdiff_t(threadid / (blockDim.x * blockDim.y)) * + m_scratch_size[1]), + m_scratch_size[1], league_rank, m_league_size)); + } + if (m_scratch_size[1] > 0) { + hip_release_scratch_index(m_scratch_locks, threadid); + } + } + + inline void execute() const { + int64_t const shmem_size_total = m_shmem_begin + m_shmem_size; + dim3 const grid(static_cast(m_league_size), 1, 1); + dim3 const block(static_cast(m_vector_size), + static_cast(m_team_size), 1); + + using closure_type = + ParallelFor, HIP>; + Impl::hip_parallel_launch( + *this, grid, block, shmem_size_total, + m_policy.space().impl_internal_space_instance(), + true); // copy to device and execute + } + + ParallelFor(FunctorType const& arg_functor, Policy const& arg_policy) + : m_functor(arg_functor), + m_policy(arg_policy), + m_league_size(arg_policy.league_size()), + m_team_size(arg_policy.team_size()), + m_vector_size(arg_policy.impl_vector_length()) { + auto internal_space_instance = + m_policy.space().impl_internal_space_instance(); + m_team_size = m_team_size >= 0 ? m_team_size + : arg_policy.team_size_recommended( + arg_functor, ParallelForTag()); + + m_shmem_begin = (sizeof(double) * (m_team_size + 2)); + m_shmem_size = + (m_policy.scratch_size(0, m_team_size) + + FunctorTeamShmemSize::value(m_functor, m_team_size)); + m_scratch_size[0] = m_policy.scratch_size(0, m_team_size); + m_scratch_size[1] = m_policy.scratch_size(1, m_team_size); + m_scratch_locks = internal_space_instance->m_scratch_locks; + m_num_scratch_locks = internal_space_instance->m_num_scratch_locks; + + // Functor's reduce memory, team scan memory, and team shared memory depend + // upon team size. + m_scratch_ptr[0] = nullptr; + if (m_team_size <= 0) { + m_scratch_ptr[1] = nullptr; + } else { + m_scratch_pool_id = internal_space_instance->acquire_team_scratch_space(); + m_scratch_ptr[1] = internal_space_instance->resize_team_scratch_space( + m_scratch_pool_id, + static_cast(m_scratch_size[1]) * + (std::min( + static_cast(HIP().concurrency() / + (m_team_size * m_vector_size)), + static_cast(m_league_size)))); + } + + int const shmem_size_total = m_shmem_begin + m_shmem_size; + if (internal_space_instance->m_maxShmemPerBlock < shmem_size_total) { + Kokkos::Impl::throw_runtime_exception(std::string( + "Kokkos::Impl::ParallelFor< HIP > insufficient shared memory")); + } + + size_t max_size = arg_policy.team_size_max(arg_functor, ParallelForTag()); + if (static_cast(m_team_size) > static_cast(max_size)) { + Kokkos::Impl::throw_runtime_exception(std::string( + "Kokkos::Impl::ParallelFor< HIP > requested too large team size.")); + } + } + + ~ParallelFor() { + if (m_scratch_pool_id >= 0) { + m_policy.space() + .impl_internal_space_instance() + ->release_team_scratch_space(m_scratch_pool_id); + } + } +}; + +} // namespace Impl +} // namespace Kokkos + +#endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_MDRange.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_MDRange.hpp similarity index 61% rename from lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_MDRange.hpp rename to lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_MDRange.hpp index 0fa325cb12..55b6218d1c 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_MDRange.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_MDRange.hpp @@ -14,157 +14,19 @@ // //@HEADER -#ifndef KOKKOS_HIP_PARALLEL_MDRANGE_HPP -#define KOKKOS_HIP_PARALLEL_MDRANGE_HPP +#ifndef KOKKOS_HIP_PARALLEL_REDUCE_MDRANGE_HPP +#define KOKKOS_HIP_PARALLEL_REDUCE_MDRANGE_HPP + +#include #include #include #include #include #include -#include namespace Kokkos { namespace Impl { -// ParallelFor -template -class ParallelFor, HIP> { - public: - using Policy = Kokkos::MDRangePolicy; - using functor_type = FunctorType; - - private: - using array_index_type = typename Policy::array_index_type; - using index_type = typename Policy::index_type; - using LaunchBounds = typename Policy::launch_bounds; - - const FunctorType m_functor; - const Policy m_policy; - - public: - ParallelFor() = delete; - ParallelFor(ParallelFor const&) = default; - ParallelFor& operator=(ParallelFor const&) = delete; - - inline __device__ void operator()() const { - Kokkos::Impl::DeviceIterateTile(m_policy, - m_functor) - .exec_range(); - } - - inline void execute() const { - using ClosureType = ParallelFor; - if (m_policy.m_num_tiles == 0) return; - auto const maxblocks = hip_internal_maximum_grid_count(); - if (Policy::rank == 2) { - dim3 const block(m_policy.m_tile[0], m_policy.m_tile[1], 1); - dim3 const grid( - std::min( - (m_policy.m_upper[0] - m_policy.m_lower[0] + block.x - 1) / - block.x, - maxblocks[0]), - std::min( - (m_policy.m_upper[1] - m_policy.m_lower[1] + block.y - 1) / - block.y, - maxblocks[1]), - 1); - hip_parallel_launch( - *this, grid, block, 0, - m_policy.space().impl_internal_space_instance(), false); - } else if (Policy::rank == 3) { - dim3 const block(m_policy.m_tile[0], m_policy.m_tile[1], - m_policy.m_tile[2]); - dim3 const grid( - std::min( - (m_policy.m_upper[0] - m_policy.m_lower[0] + block.x - 1) / - block.x, - maxblocks[0]), - std::min( - (m_policy.m_upper[1] - m_policy.m_lower[1] + block.y - 1) / - block.y, - maxblocks[1]), - std::min( - (m_policy.m_upper[2] - m_policy.m_lower[2] + block.z - 1) / - block.z, - maxblocks[2])); - hip_parallel_launch( - *this, grid, block, 0, - m_policy.space().impl_internal_space_instance(), false); - } else if (Policy::rank == 4) { - // id0,id1 encoded within threadIdx.x; id2 to threadIdx.y; id3 to - // threadIdx.z - dim3 const block(m_policy.m_tile[0] * m_policy.m_tile[1], - m_policy.m_tile[2], m_policy.m_tile[3]); - dim3 const grid( - std::min( - m_policy.m_tile_end[0] * m_policy.m_tile_end[1], maxblocks[0]), - std::min( - (m_policy.m_upper[2] - m_policy.m_lower[2] + block.y - 1) / - block.y, - maxblocks[1]), - std::min( - (m_policy.m_upper[3] - m_policy.m_lower[3] + block.z - 1) / - block.z, - maxblocks[2])); - hip_parallel_launch( - *this, grid, block, 0, - m_policy.space().impl_internal_space_instance(), false); - } else if (Policy::rank == 5) { - // id0,id1 encoded within threadIdx.x; id2,id3 to threadIdx.y; id4 - // to threadIdx.z - dim3 const block(m_policy.m_tile[0] * m_policy.m_tile[1], - m_policy.m_tile[2] * m_policy.m_tile[3], - m_policy.m_tile[4]); - dim3 const grid( - std::min( - m_policy.m_tile_end[0] * m_policy.m_tile_end[1], maxblocks[0]), - std::min( - m_policy.m_tile_end[2] * m_policy.m_tile_end[3], maxblocks[1]), - std::min( - (m_policy.m_upper[4] - m_policy.m_lower[4] + block.z - 1) / - block.z, - maxblocks[2])); - hip_parallel_launch( - *this, grid, block, 0, - m_policy.space().impl_internal_space_instance(), false); - } else if (Policy::rank == 6) { - // id0,id1 encoded within threadIdx.x; id2,id3 to threadIdx.y; - // id4,id5 to threadIdx.z - dim3 const block(m_policy.m_tile[0] * m_policy.m_tile[1], - m_policy.m_tile[2] * m_policy.m_tile[3], - m_policy.m_tile[4] * m_policy.m_tile[5]); - dim3 const grid( - std::min( - m_policy.m_tile_end[0] * m_policy.m_tile_end[1], maxblocks[0]), - std::min( - m_policy.m_tile_end[2] * m_policy.m_tile_end[3], maxblocks[1]), - std::min( - m_policy.m_tile_end[4] * m_policy.m_tile_end[5], maxblocks[2])); - hip_parallel_launch( - *this, grid, block, 0, - m_policy.space().impl_internal_space_instance(), false); - } else { - Kokkos::abort("Kokkos::MDRange Error: Exceeded rank bounds with HIP\n"); - } - - } // end execute - - ParallelFor(FunctorType const& arg_functor, Policy const& arg_policy) - : m_functor(arg_functor), m_policy(arg_policy) {} - - template - static int max_tile_size_product(const Policy&, const Functor&) { - using closure_type = - ParallelFor, HIP>; - unsigned block_size = hip_get_max_blocksize(); - if (block_size == 0) - Kokkos::Impl::throw_runtime_exception( - std::string("Kokkos::Impl::ParallelFor< HIP > could not find a valid " - "tile size.")); - return block_size; - } -}; // ParallelReduce template diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_Range.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_Range.hpp new file mode 100644 index 0000000000..c8981866e8 --- /dev/null +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_Range.hpp @@ -0,0 +1,329 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_HIP_PARALLEL_REDUCE_RANGE_HPP +#define KOKKOS_HIP_PARALLEL_REDUCE_RANGE_HPP + +#include + +#include +#include +#include +#include + +namespace Kokkos { +namespace Impl { + +template +class ParallelReduce, + Kokkos::HIP> { + public: + using Policy = Kokkos::RangePolicy; + using FunctorType = typename CombinedFunctorReducerType::functor_type; + using ReducerType = typename CombinedFunctorReducerType::reducer_type; + + private: + using WorkRange = typename Policy::WorkRange; + using WorkTag = typename Policy::work_tag; + using Member = typename Policy::member_type; + using LaunchBounds = typename Policy::launch_bounds; + + public: + using pointer_type = typename ReducerType::pointer_type; + using value_type = typename ReducerType::value_type; + using reference_type = typename ReducerType::reference_type; + using functor_type = FunctorType; + using reducer_type = ReducerType; + using size_type = Kokkos::HIP::size_type; + using index_type = typename Policy::index_type; + // Conditionally set word_size_type to int16_t or int8_t if value_type is + // smaller than int32_t (Kokkos::HIP::size_type) + // word_size_type is used to determine the word count, shared memory buffer + // size, and global memory buffer size before the scan is performed. + // Within the scan, the word count is recomputed based on word_size_type + // and when calculating indexes into the shared/global memory buffers for + // performing the scan, word_size_type is used again. + // For scalars > 4 bytes in size, indexing into shared/global memory relies + // on the block and grid dimensions to ensure that we index at the correct + // offset rather than at every 4 byte word; such that, when the join is + // performed, we have the correct data that was copied over in chunks of 4 + // bytes. + using word_size_type = std::conditional_t< + sizeof(value_type) < sizeof(size_type), + std::conditional_t, size_type>; + + // Algorithmic constraints: blockSize is a power of two AND blockDim.y == + // blockDim.z == 1 + + const CombinedFunctorReducerType m_functor_reducer; + const Policy m_policy; + const pointer_type m_result_ptr; + const bool m_result_ptr_device_accessible; + const bool m_result_ptr_host_accessible; + word_size_type* m_scratch_space = nullptr; + size_type* m_scratch_flags = nullptr; + + static constexpr bool UseShflReduction = false; + + private: + struct ShflReductionTag {}; + struct SHMEMReductionTag {}; + + // Make the exec_range calls call to Reduce::DeviceIterateTile + template + __device__ inline std::enable_if_t::value> exec_range( + const Member& i, reference_type update) const { + m_functor_reducer.get_functor()(i, update); + } + + template + __device__ inline std::enable_if_t::value> exec_range( + const Member& i, reference_type update) const { + m_functor_reducer.get_functor()(TagType(), i, update); + } + + public: + __device__ inline void operator()() const { + using ReductionTag = std::conditional_t; + run(ReductionTag{}); + } + + __device__ inline void run(SHMEMReductionTag) const { + const ReducerType& reducer = m_functor_reducer.get_reducer(); + const integral_nonzero_constant + word_count(reducer.value_size() / sizeof(word_size_type)); + + { + reference_type value = reducer.init(reinterpret_cast( + ::Kokkos::kokkos_impl_hip_shared_memory() + + threadIdx.y * word_count.value)); + + // Number of blocks is bounded so that the reduction can be limited to two + // passes. Each thread block is given an approximately equal amount of + // work to perform. Accumulate the values for this block. The accumulation + // ordering does not match the final pass, but is arithmetically + // equivalent. + + const WorkRange range(m_policy, blockIdx.x, gridDim.x); + + for (Member iwork = range.begin() + threadIdx.y, iwork_end = range.end(); + iwork < iwork_end; iwork += blockDim.y) { + this->template exec_range(iwork, value); + } + } + + // Reduce with final value at blockDim.y - 1 location. + // Shortcut for length zero reduction + bool do_final_reduction = m_policy.begin() == m_policy.end(); + if (!do_final_reduction) + do_final_reduction = hip_single_inter_block_reduce_scan( + reducer, blockIdx.x, gridDim.x, + ::Kokkos::kokkos_impl_hip_shared_memory(), + m_scratch_space, m_scratch_flags); + if (do_final_reduction) { + // This is the final block with the final result at the final threads' + // location + + word_size_type* const shared = + ::Kokkos::kokkos_impl_hip_shared_memory() + + (blockDim.y - 1) * word_count.value; + word_size_type* const global = + m_result_ptr_device_accessible + ? reinterpret_cast(m_result_ptr) + : m_scratch_space; + + if (threadIdx.y == 0) { + reducer.final(reinterpret_cast(shared)); + } + + if (::Kokkos::Impl::HIPTraits::WarpSize < word_count.value) { + __syncthreads(); + } + + for (unsigned i = threadIdx.y; i < word_count.value; i += blockDim.y) { + global[i] = shared[i]; + } + } + } + + __device__ inline void run(ShflReductionTag) const { + const ReducerType& reducer = m_functor_reducer.get_reducer(); + + value_type value; + reducer.init(&value); + // Number of blocks is bounded so that the reduction can be limited to two + // passes. Each thread block is given an approximately equal amount of work + // to perform. Accumulate the values for this block. The accumulation + // ordering does not match the final pass, but is arithmetically equivalent. + + WorkRange const range(m_policy, blockIdx.x, gridDim.x); + + for (Member iwork = range.begin() + threadIdx.y, iwork_end = range.end(); + iwork < iwork_end; iwork += blockDim.y) { + this->template exec_range(iwork, value); + } + + pointer_type const result = reinterpret_cast(m_scratch_space); + + int max_active_thread = static_cast(range.end() - range.begin()) < + static_cast(blockDim.y) + ? range.end() - range.begin() + : blockDim.y; + + max_active_thread = + (max_active_thread == 0) ? blockDim.y : max_active_thread; + + value_type init; + reducer.init(&init); + if (m_policy.begin() == m_policy.end()) { + reducer.final(&value); + pointer_type const final_result = + m_result_ptr_device_accessible ? m_result_ptr : result; + *final_result = value; + } else if (Impl::hip_inter_block_shuffle_reduction<>( + value, init, reducer, m_scratch_space, result, + m_scratch_flags, max_active_thread)) { + unsigned int const id = threadIdx.y * blockDim.x + threadIdx.x; + if (id == 0) { + reducer.final(&value); + pointer_type const final_result = + m_result_ptr_device_accessible ? m_result_ptr : result; + *final_result = value; + } + } + } + + // Determine block size constrained by shared memory: + inline unsigned local_block_size(const FunctorType& f) { + const auto& instance = m_policy.space().impl_internal_space_instance(); + auto shmem_functor = [&f](unsigned n) { + return hip_single_inter_block_reduce_scan_shmem(f, n); + }; + return Kokkos::Impl::hip_get_preferred_blocksize( + instance, shmem_functor); + } + + inline void execute() { + const ReducerType& reducer = m_functor_reducer.get_reducer(); + + const index_type nwork = m_policy.end() - m_policy.begin(); + const bool need_device_set = ReducerType::has_init_member_function() || + ReducerType::has_final_member_function() || + !m_result_ptr_host_accessible || + !std::is_same::value; + if ((nwork > 0) || need_device_set) { + const int block_size = local_block_size(m_functor_reducer.get_functor()); + if (block_size == 0) { + Kokkos::Impl::throw_runtime_exception( + std::string("Kokkos::Impl::ParallelReduce< HIP > could not find a " + "valid execution configuration.")); + } + + // REQUIRED ( 1 , N , 1 ) + dim3 block(1, block_size, 1); + // use a slightly less constrained, but still well bounded limit for + // scratch + int nblocks = (nwork + block.y - 1) / block.y; + // Heuristic deciding the value of nblocks. + // The general idea here is we want to: + // 1. Not undersubscribe the device (i.e., we want at least + // preferred_block_min blocks) + // 2. Have each thread reduce > 1 value to minimize overheads + // 3. Limit the total # of blocks, to avoid unbounded scratch space + constexpr int block_max = 4096; + constexpr int preferred_block_min = 1024; + + if (nblocks < preferred_block_min) { + // keep blocks as is, already have low parallelism + } else if (nblocks > block_max) { + // "large dispatch" -> already have lots of parallelism + nblocks = block_max; + } else { + // in the intermediate range, try to have each thread process multiple + // items to offset the cost of the reduction (with not enough + // parallelism to hide it) + int items_per_thread = + (nwork + nblocks * block_size - 1) / (nblocks * block_size); + if (items_per_thread < 4) { + int ratio = std::min( + (nblocks + preferred_block_min - 1) / preferred_block_min, + (4 + items_per_thread - 1) / items_per_thread); + nblocks /= ratio; + } + } + + // TODO: down casting these uses more space than required? + m_scratch_space = + (word_size_type*)::Kokkos::Impl::hip_internal_scratch_space( + m_policy.space(), reducer.value_size() * nblocks); + // Intentionally do not downcast to word_size_type since we use HIP + // atomics in Kokkos_HIP_ReduceScan.hpp + m_scratch_flags = ::Kokkos::Impl::hip_internal_scratch_flags( + m_policy.space(), sizeof(size_type)); + // Required grid.x <= block.y + dim3 grid(nblocks, 1, 1); + + if (nwork == 0) { + block = dim3(1, 1, 1); + grid = dim3(1, 1, 1); + } + const int shmem = + UseShflReduction + ? 0 + : hip_single_inter_block_reduce_scan_shmem( + m_functor_reducer.get_functor(), block.y); + + Kokkos::Impl::hip_parallel_launch( + *this, grid, block, shmem, + m_policy.space().impl_internal_space_instance(), + false); // copy to device and execute + + if (!m_result_ptr_device_accessible && m_result_ptr) { + const int size = reducer.value_size(); + DeepCopy(m_policy.space(), m_result_ptr, + m_scratch_space, size); + } + } else { + if (m_result_ptr) { + reducer.init(m_result_ptr); + } + } + } + + template + ParallelReduce(const CombinedFunctorReducerType& arg_functor_reducer, + const Policy& arg_policy, const ViewType& arg_result) + : m_functor_reducer(arg_functor_reducer), + m_policy(arg_policy), + m_result_ptr(arg_result.data()), + m_result_ptr_device_accessible( + MemorySpaceAccess::accessible), + m_result_ptr_host_accessible( + MemorySpaceAccess::accessible) {} +}; + +} // namespace Impl +} // namespace Kokkos + +#endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_Team.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_Team.hpp new file mode 100644 index 0000000000..609ba28b86 --- /dev/null +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelReduce_Team.hpp @@ -0,0 +1,394 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_HIP_PARALLEL_REDUCE_TEAM_HPP +#define KOKKOS_HIP_PARALLEL_REDUCE_TEAM_HPP + +#include + +#include +#include +#include +#include + +namespace Kokkos { +namespace Impl { + +template +class ParallelReduce, HIP> { + public: + using Policy = TeamPolicyInternal; + using FunctorType = typename CombinedFunctorReducerType::functor_type; + using ReducerType = typename CombinedFunctorReducerType::reducer_type; + + private: + using member_type = typename Policy::member_type; + using work_tag = typename Policy::work_tag; + using launch_bounds = typename Policy::launch_bounds; + + using pointer_type = typename ReducerType::pointer_type; + using reference_type = typename ReducerType::reference_type; + using value_type = typename ReducerType::value_type; + + public: + using functor_type = FunctorType; + using size_type = HIP::size_type; + + // static int constexpr UseShflReduction = false; + // FIXME_HIP This should be disabled unconditionally for best performance, but + // it currently causes tests to fail. + static constexpr int UseShflReduction = + (ReducerType::static_value_size() != 0); + + private: + struct ShflReductionTag {}; + struct SHMEMReductionTag {}; + + // Algorithmic constraints: blockDim.y is a power of two AND + // blockDim.y == blockDim.z == 1 shared memory utilization: + // + // [ global reduce space ] + // [ team reduce space ] + // [ team shared space ] + // + + const CombinedFunctorReducerType m_functor_reducer; + const Policy m_policy; + const pointer_type m_result_ptr; + const bool m_result_ptr_device_accessible; + const bool m_result_ptr_host_accessible; + size_type* m_scratch_space; + size_type* m_scratch_flags; + size_type m_team_begin; + size_type m_shmem_begin; + size_type m_shmem_size; + void* m_scratch_ptr[2]; + size_t m_scratch_size[2]; + int m_scratch_pool_id = -1; + int32_t* m_scratch_locks; + size_t m_num_scratch_locks; + const size_type m_league_size; + int m_team_size; + const size_type m_vector_size; + + template + __device__ inline std::enable_if_t::value> exec_team( + member_type const& member, reference_type update) const { + m_functor_reducer.get_functor()(member, update); + } + + template + __device__ inline std::enable_if_t::value> exec_team( + member_type const& member, reference_type update) const { + m_functor_reducer.get_functor()(TagType(), member, update); + } + + __device__ inline void iterate_through_league(int const threadid, + reference_type value) const { + int const int_league_size = static_cast(m_league_size); + for (int league_rank = blockIdx.x; league_rank < int_league_size; + league_rank += gridDim.x) { + this->template exec_team( + member_type( + kokkos_impl_hip_shared_memory() + m_team_begin, + m_shmem_begin, m_shmem_size, + reinterpret_cast( + reinterpret_cast(m_scratch_ptr[1]) + + static_cast(threadid / (blockDim.x * blockDim.y)) * + m_scratch_size[1]), + m_scratch_size[1], league_rank, m_league_size), + value); + } + } + + int compute_block_count() const { + constexpr auto light_weight = + Kokkos::Experimental::WorkItemProperty::HintLightWeight; + constexpr typename Policy::work_item_property property; + // Numbers were tuned on MI210 using dot product and yAx benchmarks + constexpr int block_max = + (property & light_weight) == light_weight ? 2097152 : 65536; + constexpr int preferred_block_min = 1024; + int block_count = m_league_size; + if (block_count < preferred_block_min) { + // keep blocks as is, already low parallelism + } else if (block_count >= block_max) { + block_count = block_max; + + } else { + int nwork = m_league_size * m_team_size; + int items_per_thread = + (nwork + block_count * m_team_size - 1) / (block_count * m_team_size); + if (items_per_thread < 4) { + int ratio = std::min( + (block_count + preferred_block_min - 1) / preferred_block_min, + (4 + items_per_thread - 1) / items_per_thread); + block_count /= ratio; + } + } + + return block_count; + } + + public: + __device__ inline void operator()() const { + int64_t threadid = 0; + if (m_scratch_size[1] > 0) { + threadid = hip_get_scratch_index(m_league_size, m_scratch_locks, + m_num_scratch_locks); + } + + using ReductionTag = std::conditional_t; + run(ReductionTag{}, threadid); + + if (m_scratch_size[1] > 0) { + hip_release_scratch_index(m_scratch_locks, threadid); + } + } + + __device__ inline void run(SHMEMReductionTag, int const threadid) const { + const ReducerType& reducer = m_functor_reducer.get_reducer(); + + integral_nonzero_constant const + word_count(reducer.value_size() / sizeof(size_type)); + + reference_type value = + reducer.init(kokkos_impl_hip_shared_memory() + + threadIdx.y * word_count.value); + // Iterate this block through the league + iterate_through_league(threadid, value); + + // Reduce with final value at blockDim.y - 1 location. + bool do_final_reduce = (m_league_size == 0); + if (!do_final_reduce) + do_final_reduce = + hip_single_inter_block_reduce_scan( + reducer, blockIdx.x, gridDim.x, + kokkos_impl_hip_shared_memory(), m_scratch_space, + m_scratch_flags); + if (do_final_reduce) { + // This is the final block with the final result at the final threads' + // location + + size_type* const shared = kokkos_impl_hip_shared_memory() + + (blockDim.y - 1) * word_count.value; + size_type* const global = m_result_ptr_device_accessible + ? reinterpret_cast(m_result_ptr) + : m_scratch_space; + + if (threadIdx.y == 0) { + reducer.final(reinterpret_cast(shared)); + } + + if (HIPTraits::WarpSize < word_count.value) { + __syncthreads(); + } + + for (unsigned i = threadIdx.y; i < word_count.value; i += blockDim.y) { + global[i] = shared[i]; + } + } + } + + __device__ inline void run(ShflReductionTag, int const threadid) const { + const ReducerType& reducer = m_functor_reducer.get_reducer(); + + value_type value; + reducer.init(&value); + + // Iterate this block through the league + iterate_through_league(threadid, value); + + pointer_type const result = + m_result_ptr_device_accessible + ? m_result_ptr + : reinterpret_cast(m_scratch_space); + + value_type init; + reducer.init(&init); + if (m_league_size == 0) { + reducer.final(&value); + *result = value; + } else if (Impl::hip_inter_block_shuffle_reduction( + value, init, reducer, m_scratch_space, result, + m_scratch_flags, blockDim.y)) { + unsigned int const id = threadIdx.y * blockDim.x + threadIdx.x; + if (id == 0) { + reducer.final(&value); + *result = value; + } + } + } + + inline void execute() { + const ReducerType& reducer = m_functor_reducer.get_reducer(); + + const bool is_empty_range = m_league_size == 0 || m_team_size == 0; + const bool need_device_set = ReducerType::has_init_member_function() || + ReducerType::has_final_member_function() || + !m_result_ptr_host_accessible || + Policy::is_graph_kernel::value || + !std::is_same::value; + if (!is_empty_range || need_device_set) { + int const block_count = compute_block_count(); + + m_scratch_space = hip_internal_scratch_space( + m_policy.space(), reducer.value_size() * block_count); + m_scratch_flags = + hip_internal_scratch_flags(m_policy.space(), sizeof(size_type)); + + dim3 block(m_vector_size, m_team_size, 1); + dim3 grid(block_count, 1, 1); + if (is_empty_range) { + block = dim3(1, 1, 1); + grid = dim3(1, 1, 1); + } + const int shmem_size_total = m_team_begin + m_shmem_begin + m_shmem_size; + + Impl::hip_parallel_launch( + *this, grid, block, shmem_size_total, + m_policy.space().impl_internal_space_instance(), + true); // copy to device and execute + + if (!m_result_ptr_device_accessible) { + m_policy.space().impl_internal_space_instance()->fence(); + + if (m_result_ptr) { + const int size = reducer.value_size(); + DeepCopy(m_policy.space(), m_result_ptr, + m_scratch_space, size); + } + } + } else { + if (m_result_ptr) { + reducer.init(m_result_ptr); + } + } + } + + template + ParallelReduce(CombinedFunctorReducerType const& arg_functor_reducer, + Policy const& arg_policy, ViewType const& arg_result) + : m_functor_reducer(arg_functor_reducer), + m_policy(arg_policy), + m_result_ptr(arg_result.data()), + m_result_ptr_device_accessible( + MemorySpaceAccess::accessible), + m_result_ptr_host_accessible( + MemorySpaceAccess::accessible), + m_scratch_space(nullptr), + m_scratch_flags(nullptr), + m_team_begin(0), + m_shmem_begin(0), + m_shmem_size(0), + m_scratch_ptr{nullptr, nullptr}, + m_league_size(arg_policy.league_size()), + m_team_size(arg_policy.team_size()), + m_vector_size(arg_policy.impl_vector_length()) { + auto internal_space_instance = + m_policy.space().impl_internal_space_instance(); + m_team_size = m_team_size >= 0 ? m_team_size + : arg_policy.team_size_recommended( + arg_functor_reducer.get_functor(), + arg_functor_reducer.get_reducer(), + ParallelReduceTag()); + + m_team_begin = + UseShflReduction + ? 0 + : hip_single_inter_block_reduce_scan_shmem( + arg_functor_reducer.get_functor(), m_team_size); + m_shmem_begin = sizeof(double) * (m_team_size + 2); + m_shmem_size = m_policy.scratch_size(0, m_team_size) + + FunctorTeamShmemSize::value( + arg_functor_reducer.get_functor(), m_team_size); + m_scratch_size[0] = m_shmem_size; + m_scratch_size[1] = m_policy.scratch_size(1, m_team_size); + m_scratch_locks = internal_space_instance->m_scratch_locks; + m_num_scratch_locks = internal_space_instance->m_num_scratch_locks; + if (m_team_size <= 0) { + m_scratch_ptr[1] = nullptr; + } else { + m_scratch_pool_id = internal_space_instance->acquire_team_scratch_space(); + m_scratch_ptr[1] = internal_space_instance->resize_team_scratch_space( + m_scratch_pool_id, + static_cast(m_scratch_size[1]) * + (std::min( + static_cast(HIP().concurrency() / + (m_team_size * m_vector_size)), + static_cast(m_league_size)))); + } + + // The global parallel_reduce does not support vector_length other than 1 at + // the moment + if ((arg_policy.impl_vector_length() > 1) && !UseShflReduction) + Impl::throw_runtime_exception( + "Kokkos::parallel_reduce with a TeamPolicy using a vector length of " + "greater than 1 is not currently supported for HIP for dynamic " + "sized reduction types."); + + if ((m_team_size < HIPTraits::WarpSize) && !UseShflReduction) + Impl::throw_runtime_exception( + "Kokkos::parallel_reduce with a TeamPolicy using a team_size smaller " + "than 64 is not currently supported with HIP for dynamic sized " + "reduction types."); + + // Functor's reduce memory, team scan memory, and team shared memory depend + // upon team size. + + const int shmem_size_total = m_team_begin + m_shmem_begin + m_shmem_size; + + if (!Kokkos::Impl::is_integral_power_of_two(m_team_size) && + !UseShflReduction) { + Kokkos::Impl::throw_runtime_exception( + std::string("Kokkos::Impl::ParallelReduce< HIP > bad team size")); + } + + if (internal_space_instance->m_maxShmemPerBlock < shmem_size_total) { + Kokkos::Impl::throw_runtime_exception( + std::string("Kokkos::Impl::ParallelReduce< HIP > requested too much " + "L0 scratch memory")); + } + + size_t max_size = arg_policy.team_size_max( + arg_functor_reducer.get_functor(), arg_functor_reducer.get_reducer(), + ParallelReduceTag()); + if (static_cast(m_team_size) > static_cast(max_size)) { + Kokkos::Impl::throw_runtime_exception( + std::string("Kokkos::Impl::ParallelReduce< HIP > requested too " + "large team size.")); + } + } + + ~ParallelReduce() { + if (m_scratch_pool_id >= 0) { + m_policy.space() + .impl_internal_space_instance() + ->release_team_scratch_space(m_scratch_pool_id); + } + } +}; + +} // namespace Impl +} // namespace Kokkos + +#endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Range.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelScan_Range.hpp similarity index 50% rename from lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Range.hpp rename to lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelScan_Range.hpp index 26e8be4698..41692a3291 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Range.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_ParallelScan_Range.hpp @@ -14,390 +14,18 @@ // //@HEADER -#ifndef KOKKO_HIP_PARALLEL_RANGE_HPP -#define KOKKO_HIP_PARALLEL_RANGE_HPP +#ifndef KOKKOS_HIP_PARALLEL_SCAN_RANGE_HPP +#define KOKKOS_HIP_PARALLEL_SCAN_RANGE_HPP #include -#if defined(__HIPCC__) - #include #include #include -#include -#include namespace Kokkos { namespace Impl { -template -class ParallelFor, Kokkos::HIP> { - public: - using Policy = Kokkos::RangePolicy; - - private: - using Member = typename Policy::member_type; - using WorkTag = typename Policy::work_tag; - using LaunchBounds = typename Policy::launch_bounds; - - const FunctorType m_functor; - const Policy m_policy; - - template - inline __device__ std::enable_if_t::value> exec_range( - const Member i) const { - m_functor(i); - } - - template - inline __device__ std::enable_if_t::value> exec_range( - const Member i) const { - m_functor(TagType(), i); - } - - public: - using functor_type = FunctorType; - - ParallelFor() = delete; - ParallelFor(ParallelFor const&) = default; - ParallelFor& operator=(ParallelFor const&) = delete; - - inline __device__ void operator()() const { - const Member work_stride = blockDim.y * gridDim.x; - const Member work_end = m_policy.end(); - - for (Member iwork = - m_policy.begin() + threadIdx.y + blockDim.y * blockIdx.x; - iwork < work_end; - iwork = iwork < work_end - work_stride ? iwork + work_stride - : work_end) { - this->template exec_range(iwork); - } - } - - inline void execute() const { - const typename Policy::index_type nwork = m_policy.end() - m_policy.begin(); - - using DriverType = ParallelFor; - const int block_size = - Kokkos::Impl::hip_get_preferred_blocksize(); - const dim3 block(1, block_size, 1); - const dim3 grid( - typename Policy::index_type((nwork + block.y - 1) / block.y), 1, 1); - - if (block_size == 0) { - Kokkos::Impl::throw_runtime_exception( - std::string("Kokkos::Impl::ParallelFor< HIP > could not find a " - "valid execution configuration.")); - } - Kokkos::Impl::hip_parallel_launch( - *this, grid, block, 0, m_policy.space().impl_internal_space_instance(), - false); - } - - ParallelFor(const FunctorType& arg_functor, const Policy& arg_policy) - : m_functor(arg_functor), m_policy(arg_policy) {} -}; - -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- - -template -class ParallelReduce, - Kokkos::HIP> { - public: - using Policy = Kokkos::RangePolicy; - using FunctorType = typename CombinedFunctorReducerType::functor_type; - using ReducerType = typename CombinedFunctorReducerType::reducer_type; - - private: - using WorkRange = typename Policy::WorkRange; - using WorkTag = typename Policy::work_tag; - using Member = typename Policy::member_type; - using LaunchBounds = typename Policy::launch_bounds; - - public: - using pointer_type = typename ReducerType::pointer_type; - using value_type = typename ReducerType::value_type; - using reference_type = typename ReducerType::reference_type; - using functor_type = FunctorType; - using reducer_type = ReducerType; - using size_type = Kokkos::HIP::size_type; - using index_type = typename Policy::index_type; - // Conditionally set word_size_type to int16_t or int8_t if value_type is - // smaller than int32_t (Kokkos::HIP::size_type) - // word_size_type is used to determine the word count, shared memory buffer - // size, and global memory buffer size before the scan is performed. - // Within the scan, the word count is recomputed based on word_size_type - // and when calculating indexes into the shared/global memory buffers for - // performing the scan, word_size_type is used again. - // For scalars > 4 bytes in size, indexing into shared/global memory relies - // on the block and grid dimensions to ensure that we index at the correct - // offset rather than at every 4 byte word; such that, when the join is - // performed, we have the correct data that was copied over in chunks of 4 - // bytes. - using word_size_type = std::conditional_t< - sizeof(value_type) < sizeof(size_type), - std::conditional_t, size_type>; - - // Algorithmic constraints: blockSize is a power of two AND blockDim.y == - // blockDim.z == 1 - - const CombinedFunctorReducerType m_functor_reducer; - const Policy m_policy; - const pointer_type m_result_ptr; - const bool m_result_ptr_device_accessible; - const bool m_result_ptr_host_accessible; - word_size_type* m_scratch_space = nullptr; - size_type* m_scratch_flags = nullptr; - - static constexpr bool UseShflReduction = false; - - private: - struct ShflReductionTag {}; - struct SHMEMReductionTag {}; - - // Make the exec_range calls call to Reduce::DeviceIterateTile - template - __device__ inline std::enable_if_t::value> exec_range( - const Member& i, reference_type update) const { - m_functor_reducer.get_functor()(i, update); - } - - template - __device__ inline std::enable_if_t::value> exec_range( - const Member& i, reference_type update) const { - m_functor_reducer.get_functor()(TagType(), i, update); - } - - public: - __device__ inline void operator()() const { - using ReductionTag = std::conditional_t; - run(ReductionTag{}); - } - - __device__ inline void run(SHMEMReductionTag) const { - const ReducerType& reducer = m_functor_reducer.get_reducer(); - const integral_nonzero_constant - word_count(reducer.value_size() / sizeof(word_size_type)); - - { - reference_type value = reducer.init(reinterpret_cast( - ::Kokkos::kokkos_impl_hip_shared_memory() + - threadIdx.y * word_count.value)); - - // Number of blocks is bounded so that the reduction can be limited to two - // passes. Each thread block is given an approximately equal amount of - // work to perform. Accumulate the values for this block. The accumulation - // ordering does not match the final pass, but is arithmetically - // equivalent. - - const WorkRange range(m_policy, blockIdx.x, gridDim.x); - - for (Member iwork = range.begin() + threadIdx.y, iwork_end = range.end(); - iwork < iwork_end; iwork += blockDim.y) { - this->template exec_range(iwork, value); - } - } - - // Reduce with final value at blockDim.y - 1 location. - // Shortcut for length zero reduction - bool do_final_reduction = m_policy.begin() == m_policy.end(); - if (!do_final_reduction) - do_final_reduction = hip_single_inter_block_reduce_scan( - reducer, blockIdx.x, gridDim.x, - ::Kokkos::kokkos_impl_hip_shared_memory(), - m_scratch_space, m_scratch_flags); - if (do_final_reduction) { - // This is the final block with the final result at the final threads' - // location - - word_size_type* const shared = - ::Kokkos::kokkos_impl_hip_shared_memory() + - (blockDim.y - 1) * word_count.value; - word_size_type* const global = - m_result_ptr_device_accessible - ? reinterpret_cast(m_result_ptr) - : m_scratch_space; - - if (threadIdx.y == 0) { - reducer.final(reinterpret_cast(shared)); - } - - if (::Kokkos::Impl::HIPTraits::WarpSize < word_count.value) { - __syncthreads(); - } - - for (unsigned i = threadIdx.y; i < word_count.value; i += blockDim.y) { - global[i] = shared[i]; - } - } - } - - __device__ inline void run(ShflReductionTag) const { - const ReducerType& reducer = m_functor_reducer.get_reducer(); - - value_type value; - reducer.init(&value); - // Number of blocks is bounded so that the reduction can be limited to two - // passes. Each thread block is given an approximately equal amount of work - // to perform. Accumulate the values for this block. The accumulation - // ordering does not match the final pass, but is arithmetically equivalent. - - WorkRange const range(m_policy, blockIdx.x, gridDim.x); - - for (Member iwork = range.begin() + threadIdx.y, iwork_end = range.end(); - iwork < iwork_end; iwork += blockDim.y) { - this->template exec_range(iwork, value); - } - - pointer_type const result = reinterpret_cast(m_scratch_space); - - int max_active_thread = static_cast(range.end() - range.begin()) < - static_cast(blockDim.y) - ? range.end() - range.begin() - : blockDim.y; - - max_active_thread = - (max_active_thread == 0) ? blockDim.y : max_active_thread; - - value_type init; - reducer.init(&init); - if (m_policy.begin() == m_policy.end()) { - reducer.final(&value); - pointer_type const final_result = - m_result_ptr_device_accessible ? m_result_ptr : result; - *final_result = value; - } else if (Impl::hip_inter_block_shuffle_reduction<>( - value, init, reducer, m_scratch_space, result, - m_scratch_flags, max_active_thread)) { - unsigned int const id = threadIdx.y * blockDim.x + threadIdx.x; - if (id == 0) { - reducer.final(&value); - pointer_type const final_result = - m_result_ptr_device_accessible ? m_result_ptr : result; - *final_result = value; - } - } - } - - // Determine block size constrained by shared memory: - inline unsigned local_block_size(const FunctorType& f) { - const auto& instance = m_policy.space().impl_internal_space_instance(); - auto shmem_functor = [&f](unsigned n) { - return hip_single_inter_block_reduce_scan_shmem(f, n); - }; - return Kokkos::Impl::hip_get_preferred_blocksize( - instance, shmem_functor); - } - - inline void execute() { - const ReducerType& reducer = m_functor_reducer.get_reducer(); - - const index_type nwork = m_policy.end() - m_policy.begin(); - const bool need_device_set = ReducerType::has_init_member_function() || - ReducerType::has_final_member_function() || - !m_result_ptr_host_accessible || - !std::is_same::value; - if ((nwork > 0) || need_device_set) { - const int block_size = local_block_size(m_functor_reducer.get_functor()); - if (block_size == 0) { - Kokkos::Impl::throw_runtime_exception( - std::string("Kokkos::Impl::ParallelReduce< HIP > could not find a " - "valid execution configuration.")); - } - - // REQUIRED ( 1 , N , 1 ) - dim3 block(1, block_size, 1); - // use a slightly less constrained, but still well bounded limit for - // scratch - int nblocks = (nwork + block.y - 1) / block.y; - // Heuristic deciding the value of nblocks. - // The general idea here is we want to: - // 1. Not undersubscribe the device (i.e., we want at least - // preferred_block_min blocks) - // 2. Have each thread reduce > 1 value to minimize overheads - // 3. Limit the total # of blocks, to avoid unbounded scratch space - constexpr int block_max = 4096; - constexpr int preferred_block_min = 1024; - - if (nblocks < preferred_block_min) { - // keep blocks as is, already have low parallelism - } else if (nblocks > block_max) { - // "large dispatch" -> already have lots of parallelism - nblocks = block_max; - } else { - // in the intermediate range, try to have each thread process multiple - // items to offset the cost of the reduction (with not enough - // parallelism to hide it) - int items_per_thread = - (nwork + nblocks * block_size - 1) / (nblocks * block_size); - if (items_per_thread < 4) { - int ratio = std::min( - (nblocks + preferred_block_min - 1) / preferred_block_min, - (4 + items_per_thread - 1) / items_per_thread); - nblocks /= ratio; - } - } - - // TODO: down casting these uses more space than required? - m_scratch_space = - (word_size_type*)::Kokkos::Impl::hip_internal_scratch_space( - m_policy.space(), reducer.value_size() * nblocks); - // Intentionally do not downcast to word_size_type since we use HIP - // atomics in Kokkos_HIP_ReduceScan.hpp - m_scratch_flags = ::Kokkos::Impl::hip_internal_scratch_flags( - m_policy.space(), sizeof(size_type)); - // Required grid.x <= block.y - dim3 grid(nblocks, 1, 1); - - if (nwork == 0) { - block = dim3(1, 1, 1); - grid = dim3(1, 1, 1); - } - const int shmem = - UseShflReduction - ? 0 - : hip_single_inter_block_reduce_scan_shmem( - m_functor_reducer.get_functor(), block.y); - - Kokkos::Impl::hip_parallel_launch( - *this, grid, block, shmem, - m_policy.space().impl_internal_space_instance(), - false); // copy to device and execute - - if (!m_result_ptr_device_accessible && m_result_ptr) { - const int size = reducer.value_size(); - DeepCopy(m_policy.space(), m_result_ptr, - m_scratch_space, size); - } - } else { - if (m_result_ptr) { - reducer.init(m_result_ptr); - } - } - } - - template - ParallelReduce(const CombinedFunctorReducerType& arg_functor_reducer, - const Policy& arg_policy, const ViewType& arg_result) - : m_functor_reducer(arg_functor_reducer), - m_policy(arg_policy), - m_result_ptr(arg_result.data()), - m_result_ptr_device_accessible( - MemorySpaceAccess::accessible), - m_result_ptr_host_accessible( - MemorySpaceAccess::accessible) {} -}; - template class ParallelScanHIPBase { public: @@ -763,5 +391,3 @@ class ParallelScanWithTotal, } // namespace Kokkos #endif - -#endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Team.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Team.hpp deleted file mode 100644 index 3fe568ac36..0000000000 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Parallel_Team.hpp +++ /dev/null @@ -1,936 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#ifndef KOKKO_HIP_PARALLEL_TEAM_HPP -#define KOKKO_HIP_PARALLEL_TEAM_HPP - -#include - -#if defined(__HIPCC__) - -#include -#include -#include -#include - -namespace Kokkos { -namespace Impl { - -template -class TeamPolicyInternal - : public PolicyTraits { - public: - using execution_policy = TeamPolicyInternal; - - using traits = PolicyTraits; - - template - friend class TeamPolicyInternal; - - private: - typename traits::execution_space m_space; - int m_league_size; - int m_team_size; - int m_vector_length; - size_t m_team_scratch_size[2]; - size_t m_thread_scratch_size[2]; - int m_chunk_size; - bool m_tune_team_size; - bool m_tune_vector_length; - - public: - using execution_space = HIP; - - template - TeamPolicyInternal(TeamPolicyInternal const& p) { - m_league_size = p.m_league_size; - m_team_size = p.m_team_size; - m_vector_length = p.m_vector_length; - m_team_scratch_size[0] = p.m_team_scratch_size[0]; - m_team_scratch_size[1] = p.m_team_scratch_size[1]; - m_thread_scratch_size[0] = p.m_thread_scratch_size[0]; - m_thread_scratch_size[1] = p.m_thread_scratch_size[1]; - m_chunk_size = p.m_chunk_size; - m_space = p.m_space; - m_tune_team_size = p.m_tune_team_size; - m_tune_vector_length = p.m_tune_vector_length; - } - - template - int team_size_max(FunctorType const& f, ParallelForTag const&) const { - using closure_type = - Impl::ParallelFor>; - - return internal_team_size_common(f); - } - - template - inline int team_size_max(const FunctorType& f, - const ParallelReduceTag&) const { - using functor_analysis_type = - Impl::FunctorAnalysis; - using closure_type = Impl::ParallelReduce< - CombinedFunctorReducer, - TeamPolicy, Kokkos::HIP>; - return internal_team_size_common< - BlockType::Max, closure_type, - typename functor_analysis_type::value_type>(f); - } - - template - inline int team_size_max(const FunctorType& f, const ReducerType&, - const ParallelReduceTag&) const { - using closure_type = - Impl::ParallelReduce, - TeamPolicy, Kokkos::HIP>; - return internal_team_size_common(f); - } - - template - int team_size_recommended(FunctorType const& f, ParallelForTag const&) const { - using closure_type = - Impl::ParallelFor>; - - return internal_team_size_common( - f); - } - - template - inline int team_size_recommended(FunctorType const& f, - ParallelReduceTag const&) const { - using functor_analysis_type = - Impl::FunctorAnalysis; - using closure_type = Impl::ParallelReduce< - CombinedFunctorReducer, - TeamPolicy, Kokkos::HIP>; - return internal_team_size_common< - BlockType::Preferred, closure_type, - typename functor_analysis_type::value_type>(f); - } - - template - int team_size_recommended(FunctorType const& f, ReducerType const&, - ParallelReduceTag const&) const { - using closure_type = - Impl::ParallelReduce, - TeamPolicy, Kokkos::HIP>; - return internal_team_size_common(f); - } - - inline bool impl_auto_vector_length() const { return m_tune_vector_length; } - inline bool impl_auto_team_size() const { return m_tune_team_size; } - static int vector_length_max() { return HIPTraits::WarpSize; } - - static int verify_requested_vector_length(int requested_vector_length) { - int test_vector_length = - std::min(requested_vector_length, vector_length_max()); - - // Allow only power-of-two vector_length - if (!(is_integral_power_of_two(test_vector_length))) { - int test_pow2 = 1; - constexpr int warp_size = HIPTraits::WarpSize; - while (test_pow2 < warp_size) { - test_pow2 <<= 1; - if (test_pow2 > test_vector_length) { - break; - } - } - test_vector_length = test_pow2 >> 1; - } - - return test_vector_length; - } - - inline static int scratch_size_max(int level) { - // HIP Teams use (team_size + 2)*sizeof(double) shared memory for team - // reductions. They also use one int64_t in static shared memory for a - // shared ID. Furthermore, they use additional scratch memory in some - // reduction scenarios, which depend on the size of the value_type and is - // NOT captured here - constexpr size_t max_possible_team_size = 1024; - constexpr size_t max_reserved_shared_mem_per_team = - (max_possible_team_size + 2) * sizeof(double) + sizeof(int64_t); - // arbitrarily setting level 1 scratch limit to 20MB, for a - // MI250 that would give us about 4.4GB for 2 teams per CU - constexpr size_t max_l1_scratch_size = 20 * 1024 * 1024; - - size_t max_shmem = HIP().hip_device_prop().sharedMemPerBlock; - return (level == 0 ? max_shmem - max_reserved_shared_mem_per_team - : max_l1_scratch_size); - } - - inline void impl_set_vector_length(size_t size) { m_vector_length = size; } - inline void impl_set_team_size(size_t size) { m_team_size = size; } - int impl_vector_length() const { return m_vector_length; } - - int team_size() const { return m_team_size; } - - int league_size() const { return m_league_size; } - - size_t scratch_size(int level, int team_size_ = -1) const { - if (team_size_ < 0) team_size_ = m_team_size; - return m_team_scratch_size[level] + - team_size_ * m_thread_scratch_size[level]; - } - - size_t team_scratch_size(int level) const { - return m_team_scratch_size[level]; - } - - size_t thread_scratch_size(int level) const { - return m_thread_scratch_size[level]; - } - - typename traits::execution_space space() const { return m_space; } - - TeamPolicyInternal() - : m_space(typename traits::execution_space()), - m_league_size(0), - m_team_size(-1), - m_vector_length(0), - m_team_scratch_size{0, 0}, - m_thread_scratch_size{0, 0}, - m_chunk_size(HIPTraits::WarpSize), - m_tune_team_size(false), - m_tune_vector_length(false) {} - - /** \brief Specify league size, request team size */ - TeamPolicyInternal(const execution_space space_, int league_size_, - int team_size_request, int vector_length_request = 1) - : m_space(space_), - m_league_size(league_size_), - m_team_size(team_size_request), - m_vector_length( - (vector_length_request > 0) - ? verify_requested_vector_length(vector_length_request) - : (verify_requested_vector_length(1))), - m_team_scratch_size{0, 0}, - m_thread_scratch_size{0, 0}, - m_chunk_size(HIPTraits::WarpSize), - m_tune_team_size(bool(team_size_request <= 0)), - m_tune_vector_length(bool(vector_length_request <= 0)) { - // Make sure league size is permissible - if (league_size_ >= static_cast(hip_internal_maximum_grid_count()[0])) - Impl::throw_runtime_exception( - "Requested too large league_size for TeamPolicy on HIP execution " - "space."); - - // Make sure total block size is permissible - if (m_team_size * m_vector_length > HIPTraits::MaxThreadsPerBlock) { - Impl::throw_runtime_exception( - std::string("Kokkos::TeamPolicy< HIP > the team size is too large. " - "Team size x vector length must be smaller than 1024.")); - } - } - - /** \brief Specify league size, request team size */ - TeamPolicyInternal(const execution_space space_, int league_size_, - const Kokkos::AUTO_t& /* team_size_request */, - int vector_length_request = 1) - : TeamPolicyInternal(space_, league_size_, -1, vector_length_request) {} - // FLAG - /** \brief Specify league size and team size, request vector length*/ - TeamPolicyInternal(const execution_space space_, int league_size_, - int team_size_request, - const Kokkos::AUTO_t& /* vector_length_request */ - ) - : TeamPolicyInternal(space_, league_size_, team_size_request, -1) - - {} - - /** \brief Specify league size, request team size and vector length*/ - TeamPolicyInternal(const execution_space space_, int league_size_, - const Kokkos::AUTO_t& /* team_size_request */, - const Kokkos::AUTO_t& /* vector_length_request */ - - ) - : TeamPolicyInternal(space_, league_size_, -1, -1) - - {} - - TeamPolicyInternal(int league_size_, int team_size_request, - int vector_length_request = 1) - : TeamPolicyInternal(typename traits::execution_space(), league_size_, - team_size_request, vector_length_request) {} - - TeamPolicyInternal(int league_size_, - const Kokkos::AUTO_t& /* team_size_request */, - int vector_length_request = 1) - : TeamPolicyInternal(typename traits::execution_space(), league_size_, -1, - vector_length_request) {} - - /** \brief Specify league size and team size, request vector length*/ - TeamPolicyInternal(int league_size_, int team_size_request, - const Kokkos::AUTO_t& /* vector_length_request */ - - ) - : TeamPolicyInternal(typename traits::execution_space(), league_size_, - team_size_request, -1) - - {} - - /** \brief Specify league size, request team size and vector length*/ - TeamPolicyInternal(int league_size_, - const Kokkos::AUTO_t& /* team_size_request */, - const Kokkos::AUTO_t& /* vector_length_request */ - - ) - : TeamPolicyInternal(typename traits::execution_space(), league_size_, -1, - -1) {} - - int chunk_size() const { return m_chunk_size; } - - TeamPolicyInternal& set_chunk_size(typename traits::index_type chunk_size_) { - m_chunk_size = chunk_size_; - return *this; - } - - /** \brief set per team scratch size for a specific level of the scratch - * hierarchy */ - TeamPolicyInternal& set_scratch_size(int level, - PerTeamValue const& per_team) { - m_team_scratch_size[level] = per_team.value; - return *this; - } - - /** \brief set per thread scratch size for a specific level of the scratch - * hierarchy */ - TeamPolicyInternal& set_scratch_size(int level, - PerThreadValue const& per_thread) { - m_thread_scratch_size[level] = per_thread.value; - return *this; - } - - /** \brief set per thread and per team scratch size for a specific level of - * the scratch hierarchy */ - TeamPolicyInternal& set_scratch_size(int level, PerTeamValue const& per_team, - PerThreadValue const& per_thread) { - m_team_scratch_size[level] = per_team.value; - m_thread_scratch_size[level] = per_thread.value; - return *this; - } - - using member_type = Kokkos::Impl::HIPTeamMember; - - protected: - template - int internal_team_size_common(FunctorType const& f) const { - const unsigned shmem_block = team_scratch_size(0) + 2 * sizeof(double); - unsigned shmem_thread = thread_scratch_size(0) + sizeof(double); - using Tag = typename PatternTagFromImplSpecialization::type; - if constexpr (std::is_same_v) { - using Interface = - typename Impl::DeduceFunctorPatternInterface::type; - using Analysis = - Impl::FunctorAnalysis; - shmem_thread += - ((Analysis::StaticValueSize != 0) ? 0 : Analysis::value_size(f)); - } - const int vector_length = impl_vector_length(); - - const auto functor = [&f, shmem_block, shmem_thread, vector_length]( - const hipFuncAttributes& attr, int block_size) { - int functor_shmem = - ::Kokkos::Impl::FunctorTeamShmemSize::value( - f, block_size / vector_length); - return shmem_block + shmem_thread * (block_size / vector_length) + - functor_shmem + attr.sharedSizeBytes; - }; - int block_size; - if constexpr (BlockSize == BlockType::Max) { - block_size = hip_get_max_team_blocksize( - space().impl_internal_space_instance(), functor); - } else { - block_size = - hip_get_preferred_team_blocksize( - space().impl_internal_space_instance(), functor); - } - - if (block_size == 0) { - Kokkos::Impl::throw_runtime_exception(std::string( - "Kokkos::Impl::ParallelFor/Reduce< HIP > could not find a valid " - "team size.")); - } - if constexpr (std::is_same_v) { - return block_size / impl_vector_length(); - } else { - // Currently we require Power-of-2 team size for reductions. - int p2 = 1; - while (p2 <= block_size) p2 *= 2; - p2 /= 2; - return p2 / impl_vector_length(); - } - } -}; - -__device__ inline int64_t hip_get_scratch_index(HIP::size_type league_size, - int32_t* scratch_locks, - size_t num_scratch_locks) { - int64_t threadid = 0; - __shared__ int64_t base_thread_id; - if (threadIdx.x == 0 && threadIdx.y == 0) { - int64_t const wraparound_len = - Kokkos::min(int64_t(league_size), - int64_t(num_scratch_locks) / (blockDim.x * blockDim.y)); - threadid = (blockIdx.x * blockDim.z + threadIdx.z) % wraparound_len; - threadid *= blockDim.x * blockDim.y; - int done = 0; - while (!done) { - done = (0 == atomicCAS(&scratch_locks[threadid], 0, 1)); - if (!done) { - threadid += blockDim.x * blockDim.y; - if (int64_t(threadid + blockDim.x * blockDim.y) >= - wraparound_len * blockDim.x * blockDim.y) - threadid = 0; - } - } - base_thread_id = threadid; - } - __syncthreads(); - threadid = base_thread_id; - return threadid; -} - -__device__ inline void hip_release_scratch_index(int32_t* scratch_locks, - int64_t threadid) { - __syncthreads(); - if (threadIdx.x == 0 && threadIdx.y == 0) { - scratch_locks[threadid] = 0; - } -} - -template -class ParallelFor, HIP> { - public: - using Policy = TeamPolicy; - using functor_type = FunctorType; - using size_type = HIP::size_type; - - private: - using member_type = typename Policy::member_type; - using work_tag = typename Policy::work_tag; - using launch_bounds = typename Policy::launch_bounds; - - // Algorithmic constraints: blockDim.y is a power of two AND - // blockDim.y == blockDim.z == 1 shared memory utilization: - // - // [ team reduce space ] - // [ team shared space ] - - FunctorType const m_functor; - Policy const m_policy; - size_type const m_league_size; - int m_team_size; - size_type const m_vector_size; - int m_shmem_begin; - int m_shmem_size; - void* m_scratch_ptr[2]; - size_t m_scratch_size[2]; - int m_scratch_pool_id = -1; - int32_t* m_scratch_locks; - size_t m_num_scratch_locks; - - template - __device__ inline std::enable_if_t::value> exec_team( - const member_type& member) const { - m_functor(member); - } - - template - __device__ inline std::enable_if_t::value> exec_team( - const member_type& member) const { - m_functor(TagType(), member); - } - - public: - ParallelFor() = delete; - ParallelFor(ParallelFor const&) = default; - ParallelFor& operator=(ParallelFor const&) = delete; - - __device__ inline void operator()() const { - // Iterate this block through the league - int64_t threadid = 0; - if (m_scratch_size[1] > 0) { - threadid = hip_get_scratch_index(m_league_size, m_scratch_locks, - m_num_scratch_locks); - } - - int const int_league_size = static_cast(m_league_size); - for (int league_rank = blockIdx.x; league_rank < int_league_size; - league_rank += gridDim.x) { - this->template exec_team(typename Policy::member_type( - kokkos_impl_hip_shared_memory(), m_shmem_begin, m_shmem_size, - static_cast(static_cast(m_scratch_ptr[1]) + - ptrdiff_t(threadid / (blockDim.x * blockDim.y)) * - m_scratch_size[1]), - m_scratch_size[1], league_rank, m_league_size)); - } - if (m_scratch_size[1] > 0) { - hip_release_scratch_index(m_scratch_locks, threadid); - } - } - - inline void execute() const { - int64_t const shmem_size_total = m_shmem_begin + m_shmem_size; - dim3 const grid(static_cast(m_league_size), 1, 1); - dim3 const block(static_cast(m_vector_size), - static_cast(m_team_size), 1); - - using closure_type = - ParallelFor, HIP>; - Impl::hip_parallel_launch( - *this, grid, block, shmem_size_total, - m_policy.space().impl_internal_space_instance(), - true); // copy to device and execute - } - - ParallelFor(FunctorType const& arg_functor, Policy const& arg_policy) - : m_functor(arg_functor), - m_policy(arg_policy), - m_league_size(arg_policy.league_size()), - m_team_size(arg_policy.team_size()), - m_vector_size(arg_policy.impl_vector_length()) { - auto internal_space_instance = - m_policy.space().impl_internal_space_instance(); - m_team_size = m_team_size >= 0 ? m_team_size - : arg_policy.team_size_recommended( - arg_functor, ParallelForTag()); - - m_shmem_begin = (sizeof(double) * (m_team_size + 2)); - m_shmem_size = - (m_policy.scratch_size(0, m_team_size) + - FunctorTeamShmemSize::value(m_functor, m_team_size)); - m_scratch_size[0] = m_policy.scratch_size(0, m_team_size); - m_scratch_size[1] = m_policy.scratch_size(1, m_team_size); - m_scratch_locks = internal_space_instance->m_scratch_locks; - m_num_scratch_locks = internal_space_instance->m_num_scratch_locks; - - // Functor's reduce memory, team scan memory, and team shared memory depend - // upon team size. - m_scratch_ptr[0] = nullptr; - if (m_team_size <= 0) { - m_scratch_ptr[1] = nullptr; - } else { - m_scratch_pool_id = internal_space_instance->acquire_team_scratch_space(); - m_scratch_ptr[1] = internal_space_instance->resize_team_scratch_space( - m_scratch_pool_id, - static_cast(m_scratch_size[1]) * - (std::min( - static_cast(HIP().concurrency() / - (m_team_size * m_vector_size)), - static_cast(m_league_size)))); - } - - int const shmem_size_total = m_shmem_begin + m_shmem_size; - if (internal_space_instance->m_maxShmemPerBlock < shmem_size_total) { - Kokkos::Impl::throw_runtime_exception(std::string( - "Kokkos::Impl::ParallelFor< HIP > insufficient shared memory")); - } - - size_t max_size = arg_policy.team_size_max(arg_functor, ParallelForTag()); - if (static_cast(m_team_size) > static_cast(max_size)) { - Kokkos::Impl::throw_runtime_exception(std::string( - "Kokkos::Impl::ParallelFor< HIP > requested too large team size.")); - } - } - - ~ParallelFor() { - if (m_scratch_pool_id >= 0) { - m_policy.space() - .impl_internal_space_instance() - ->release_team_scratch_space(m_scratch_pool_id); - } - } -}; - -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- - -template -class ParallelReduce, HIP> { - public: - using Policy = TeamPolicyInternal; - using FunctorType = typename CombinedFunctorReducerType::functor_type; - using ReducerType = typename CombinedFunctorReducerType::reducer_type; - - private: - using member_type = typename Policy::member_type; - using work_tag = typename Policy::work_tag; - using launch_bounds = typename Policy::launch_bounds; - - using pointer_type = typename ReducerType::pointer_type; - using reference_type = typename ReducerType::reference_type; - using value_type = typename ReducerType::value_type; - - public: - using functor_type = FunctorType; - using size_type = HIP::size_type; - - // static int constexpr UseShflReduction = false; - // FIXME_HIP This should be disabled unconditionally for best performance, but - // it currently causes tests to fail. - static constexpr int UseShflReduction = - (ReducerType::static_value_size() != 0); - - private: - struct ShflReductionTag {}; - struct SHMEMReductionTag {}; - - // Algorithmic constraints: blockDim.y is a power of two AND - // blockDim.y == blockDim.z == 1 shared memory utilization: - // - // [ global reduce space ] - // [ team reduce space ] - // [ team shared space ] - // - - const CombinedFunctorReducerType m_functor_reducer; - const Policy m_policy; - const pointer_type m_result_ptr; - const bool m_result_ptr_device_accessible; - const bool m_result_ptr_host_accessible; - size_type* m_scratch_space; - size_type* m_scratch_flags; - size_type m_team_begin; - size_type m_shmem_begin; - size_type m_shmem_size; - void* m_scratch_ptr[2]; - size_t m_scratch_size[2]; - int m_scratch_pool_id = -1; - int32_t* m_scratch_locks; - size_t m_num_scratch_locks; - const size_type m_league_size; - int m_team_size; - const size_type m_vector_size; - - template - __device__ inline std::enable_if_t::value> exec_team( - member_type const& member, reference_type update) const { - m_functor_reducer.get_functor()(member, update); - } - - template - __device__ inline std::enable_if_t::value> exec_team( - member_type const& member, reference_type update) const { - m_functor_reducer.get_functor()(TagType(), member, update); - } - - __device__ inline void iterate_through_league(int const threadid, - reference_type value) const { - int const int_league_size = static_cast(m_league_size); - for (int league_rank = blockIdx.x; league_rank < int_league_size; - league_rank += gridDim.x) { - this->template exec_team( - member_type( - kokkos_impl_hip_shared_memory() + m_team_begin, - m_shmem_begin, m_shmem_size, - reinterpret_cast( - reinterpret_cast(m_scratch_ptr[1]) + - static_cast(threadid / (blockDim.x * blockDim.y)) * - m_scratch_size[1]), - m_scratch_size[1], league_rank, m_league_size), - value); - } - } - - int compute_block_count() const { - constexpr auto light_weight = - Kokkos::Experimental::WorkItemProperty::HintLightWeight; - constexpr typename Policy::work_item_property property; - // Numbers were tuned on MI210 using dot product and yAx benchmarks - constexpr int block_max = - (property & light_weight) == light_weight ? 2097152 : 65536; - constexpr int preferred_block_min = 1024; - int block_count = m_league_size; - if (block_count < preferred_block_min) { - // keep blocks as is, already low parallelism - } else if (block_count >= block_max) { - block_count = block_max; - - } else { - int nwork = m_league_size * m_team_size; - int items_per_thread = - (nwork + block_count * m_team_size - 1) / (block_count * m_team_size); - if (items_per_thread < 4) { - int ratio = std::min( - (block_count + preferred_block_min - 1) / preferred_block_min, - (4 + items_per_thread - 1) / items_per_thread); - block_count /= ratio; - } - } - - return block_count; - } - - public: - __device__ inline void operator()() const { - int64_t threadid = 0; - if (m_scratch_size[1] > 0) { - threadid = hip_get_scratch_index(m_league_size, m_scratch_locks, - m_num_scratch_locks); - } - - using ReductionTag = std::conditional_t; - run(ReductionTag{}, threadid); - - if (m_scratch_size[1] > 0) { - hip_release_scratch_index(m_scratch_locks, threadid); - } - } - - __device__ inline void run(SHMEMReductionTag, int const threadid) const { - const ReducerType& reducer = m_functor_reducer.get_reducer(); - - integral_nonzero_constant const - word_count(reducer.value_size() / sizeof(size_type)); - - reference_type value = - reducer.init(kokkos_impl_hip_shared_memory() + - threadIdx.y * word_count.value); - // Iterate this block through the league - iterate_through_league(threadid, value); - - // Reduce with final value at blockDim.y - 1 location. - bool do_final_reduce = (m_league_size == 0); - if (!do_final_reduce) - do_final_reduce = - hip_single_inter_block_reduce_scan( - reducer, blockIdx.x, gridDim.x, - kokkos_impl_hip_shared_memory(), m_scratch_space, - m_scratch_flags); - if (do_final_reduce) { - // This is the final block with the final result at the final threads' - // location - - size_type* const shared = kokkos_impl_hip_shared_memory() + - (blockDim.y - 1) * word_count.value; - size_type* const global = m_result_ptr_device_accessible - ? reinterpret_cast(m_result_ptr) - : m_scratch_space; - - if (threadIdx.y == 0) { - reducer.final(reinterpret_cast(shared)); - } - - if (HIPTraits::WarpSize < word_count.value) { - __syncthreads(); - } - - for (unsigned i = threadIdx.y; i < word_count.value; i += blockDim.y) { - global[i] = shared[i]; - } - } - } - - __device__ inline void run(ShflReductionTag, int const threadid) const { - const ReducerType& reducer = m_functor_reducer.get_reducer(); - - value_type value; - reducer.init(&value); - - // Iterate this block through the league - iterate_through_league(threadid, value); - - pointer_type const result = - m_result_ptr_device_accessible - ? m_result_ptr - : reinterpret_cast(m_scratch_space); - - value_type init; - reducer.init(&init); - if (m_league_size == 0) { - reducer.final(&value); - *result = value; - } else if (Impl::hip_inter_block_shuffle_reduction( - value, init, reducer, m_scratch_space, result, - m_scratch_flags, blockDim.y)) { - unsigned int const id = threadIdx.y * blockDim.x + threadIdx.x; - if (id == 0) { - reducer.final(&value); - *result = value; - } - } - } - - inline void execute() { - const ReducerType& reducer = m_functor_reducer.get_reducer(); - - const bool is_empty_range = m_league_size == 0 || m_team_size == 0; - const bool need_device_set = ReducerType::has_init_member_function() || - ReducerType::has_final_member_function() || - !m_result_ptr_host_accessible || - Policy::is_graph_kernel::value || - !std::is_same::value; - if (!is_empty_range || need_device_set) { - int const block_count = compute_block_count(); - - m_scratch_space = hip_internal_scratch_space( - m_policy.space(), reducer.value_size() * block_count); - m_scratch_flags = - hip_internal_scratch_flags(m_policy.space(), sizeof(size_type)); - - dim3 block(m_vector_size, m_team_size, 1); - dim3 grid(block_count, 1, 1); - if (is_empty_range) { - block = dim3(1, 1, 1); - grid = dim3(1, 1, 1); - } - const int shmem_size_total = m_team_begin + m_shmem_begin + m_shmem_size; - - Impl::hip_parallel_launch( - *this, grid, block, shmem_size_total, - m_policy.space().impl_internal_space_instance(), - true); // copy to device and execute - - if (!m_result_ptr_device_accessible) { - m_policy.space().impl_internal_space_instance()->fence(); - - if (m_result_ptr) { - const int size = reducer.value_size(); - DeepCopy(m_result_ptr, m_scratch_space, size); - } - } - } else { - if (m_result_ptr) { - reducer.init(m_result_ptr); - } - } - } - - template - ParallelReduce(CombinedFunctorReducerType const& arg_functor_reducer, - Policy const& arg_policy, ViewType const& arg_result) - : m_functor_reducer(arg_functor_reducer), - m_policy(arg_policy), - m_result_ptr(arg_result.data()), - m_result_ptr_device_accessible( - MemorySpaceAccess::accessible), - m_result_ptr_host_accessible( - MemorySpaceAccess::accessible), - m_scratch_space(nullptr), - m_scratch_flags(nullptr), - m_team_begin(0), - m_shmem_begin(0), - m_shmem_size(0), - m_scratch_ptr{nullptr, nullptr}, - m_league_size(arg_policy.league_size()), - m_team_size(arg_policy.team_size()), - m_vector_size(arg_policy.impl_vector_length()) { - auto internal_space_instance = - m_policy.space().impl_internal_space_instance(); - m_team_size = m_team_size >= 0 ? m_team_size - : arg_policy.team_size_recommended( - arg_functor_reducer.get_functor(), - arg_functor_reducer.get_reducer(), - ParallelReduceTag()); - - m_team_begin = - UseShflReduction - ? 0 - : hip_single_inter_block_reduce_scan_shmem( - arg_functor_reducer.get_functor(), m_team_size); - m_shmem_begin = sizeof(double) * (m_team_size + 2); - m_shmem_size = m_policy.scratch_size(0, m_team_size) + - FunctorTeamShmemSize::value( - arg_functor_reducer.get_functor(), m_team_size); - m_scratch_size[0] = m_shmem_size; - m_scratch_size[1] = m_policy.scratch_size(1, m_team_size); - m_scratch_locks = internal_space_instance->m_scratch_locks; - m_num_scratch_locks = internal_space_instance->m_num_scratch_locks; - if (m_team_size <= 0) { - m_scratch_ptr[1] = nullptr; - } else { - m_scratch_pool_id = internal_space_instance->acquire_team_scratch_space(); - m_scratch_ptr[1] = internal_space_instance->resize_team_scratch_space( - m_scratch_pool_id, - static_cast(m_scratch_size[1]) * - (std::min( - static_cast(HIP().concurrency() / - (m_team_size * m_vector_size)), - static_cast(m_league_size)))); - } - - // The global parallel_reduce does not support vector_length other than 1 at - // the moment - if ((arg_policy.impl_vector_length() > 1) && !UseShflReduction) - Impl::throw_runtime_exception( - "Kokkos::parallel_reduce with a TeamPolicy using a vector length of " - "greater than 1 is not currently supported for HIP for dynamic " - "sized reduction types."); - - if ((m_team_size < HIPTraits::WarpSize) && !UseShflReduction) - Impl::throw_runtime_exception( - "Kokkos::parallel_reduce with a TeamPolicy using a team_size smaller " - "than 64 is not currently supported with HIP for dynamic sized " - "reduction types."); - - // Functor's reduce memory, team scan memory, and team shared memory depend - // upon team size. - - const int shmem_size_total = m_team_begin + m_shmem_begin + m_shmem_size; - - if (!Kokkos::Impl::is_integral_power_of_two(m_team_size) && - !UseShflReduction) { - Kokkos::Impl::throw_runtime_exception( - std::string("Kokkos::Impl::ParallelReduce< HIP > bad team size")); - } - - if (internal_space_instance->m_maxShmemPerBlock < shmem_size_total) { - Kokkos::Impl::throw_runtime_exception( - std::string("Kokkos::Impl::ParallelReduce< HIP > requested too much " - "L0 scratch memory")); - } - - size_t max_size = arg_policy.team_size_max( - arg_functor_reducer.get_functor(), arg_functor_reducer.get_reducer(), - ParallelReduceTag()); - if (static_cast(m_team_size) > static_cast(max_size)) { - Kokkos::Impl::throw_runtime_exception( - std::string("Kokkos::Impl::ParallelReduce< HIP > requested too " - "large team size.")); - } - } - - ~ParallelReduce() { - if (m_scratch_pool_id >= 0) { - m_policy.space() - .impl_internal_space_instance() - ->release_team_scratch_space(m_scratch_pool_id); - } - } -}; -} // namespace Impl -} // namespace Kokkos - -#endif - -#endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_SharedAllocationRecord.cpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_SharedAllocationRecord.cpp index ea599989e7..ab24004f5f 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_SharedAllocationRecord.cpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_SharedAllocationRecord.cpp @@ -18,138 +18,14 @@ #define KOKKOS_IMPL_PUBLIC_INCLUDE #endif -#include -#include #include +#include +#include +#include -namespace Kokkos { -namespace Impl { - -#ifdef KOKKOS_ENABLE_DEBUG -SharedAllocationRecord - SharedAllocationRecord::s_root_record; - -SharedAllocationRecord - SharedAllocationRecord::s_root_record; - -SharedAllocationRecord - SharedAllocationRecord::s_root_record; -#endif - -SharedAllocationRecord::~SharedAllocationRecord() { - auto alloc_size = SharedAllocationRecord::m_alloc_size; - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - alloc_size, (alloc_size - sizeof(SharedAllocationHeader))); -} - -SharedAllocationRecord::~SharedAllocationRecord() { - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - SharedAllocationRecord::m_alloc_size); -} - -SharedAllocationRecord::~SharedAllocationRecord() { - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - SharedAllocationRecord::m_alloc_size); -} - -SharedAllocationRecord::SharedAllocationRecord( - const HIPSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Kokkos::Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - - SharedAllocationHeader header; - - this->base_t::_fill_host_accessible_header_info(header, arg_label); - - // Copy to device memory - HIP exec; - Kokkos::Impl::DeepCopy( - exec, RecordBase::m_alloc_ptr, &header, sizeof(SharedAllocationHeader)); - exec.fence( - "SharedAllocationRecord::SharedAllocationRecord(): fence after copying header from " - "HostSpace"); -} - -SharedAllocationRecord::SharedAllocationRecord( - const HIP& arg_exec_space, const HIPSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Kokkos::Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - - SharedAllocationHeader header; - - this->base_t::_fill_host_accessible_header_info(header, arg_label); - - // Copy to device memory - Kokkos::Impl::DeepCopy(arg_exec_space, - RecordBase::m_alloc_ptr, &header, - sizeof(SharedAllocationHeader)); -} - -SharedAllocationRecord::SharedAllocationRecord( - const HIPHostPinnedSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Kokkos::Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - // Fill in the Header information, directly accessible via host pinned memory - this->base_t::_fill_host_accessible_header_info(*RecordBase::m_alloc_ptr, - arg_label); -} - -SharedAllocationRecord::SharedAllocationRecord( - const HIPManagedSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Kokkos::Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - // Fill in the Header information, directly accessible via managed memory - this->base_t::_fill_host_accessible_header_info(*RecordBase::m_alloc_ptr, - arg_label); -} - -} // namespace Impl -} // namespace Kokkos +KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::HIPSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::HIPHostPinnedSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::HIPManagedSpace); diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_SharedAllocationRecord.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_SharedAllocationRecord.hpp index e68bad9723..fbae518834 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_SharedAllocationRecord.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_SharedAllocationRecord.hpp @@ -18,120 +18,11 @@ #define KOKKOS_HIP_SHARED_ALLOCATION_RECORD_HPP #include +#include -namespace Kokkos { -namespace Impl { - -template <> -class SharedAllocationRecord - : public HostInaccessibleSharedAllocationRecordCommon { - private: - friend class SharedAllocationRecordCommon; - friend class HostInaccessibleSharedAllocationRecordCommon; - using base_t = HostInaccessibleSharedAllocationRecordCommon; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - -#ifdef KOKKOS_ENABLE_DEBUG - static RecordBase s_root_record; -#endif - - const HIPSpace m_space; - - protected: - ~SharedAllocationRecord(); - - template - SharedAllocationRecord( - const ExecutionSpace& /*exec*/, const HIPSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate) - : SharedAllocationRecord(arg_space, arg_label, arg_alloc_size, - arg_dealloc) {} - - SharedAllocationRecord( - const HIP& exec_space, const HIPSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); - - SharedAllocationRecord( - const HIPSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); -}; - -template <> -class SharedAllocationRecord - : public SharedAllocationRecordCommon { - private: - friend class SharedAllocationRecordCommon; - using base_t = SharedAllocationRecordCommon; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - -#ifdef KOKKOS_ENABLE_DEBUG - static RecordBase s_root_record; -#endif - - const HIPHostPinnedSpace m_space; - - protected: - ~SharedAllocationRecord(); - SharedAllocationRecord() = default; - - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, const HIPHostPinnedSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate) - : SharedAllocationRecord(arg_space, arg_label, arg_alloc_size, - arg_dealloc) {} - - SharedAllocationRecord( - const HIPHostPinnedSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); -}; - -template <> -class SharedAllocationRecord - : public SharedAllocationRecordCommon { - private: - friend class SharedAllocationRecordCommon; - using base_t = SharedAllocationRecordCommon; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - -#ifdef KOKKOS_ENABLE_DEBUG - static RecordBase s_root_record; -#endif - - const HIPManagedSpace m_space; - - protected: - ~SharedAllocationRecord(); - SharedAllocationRecord() = default; - - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, const HIPManagedSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate) - : SharedAllocationRecord(arg_space, arg_label, arg_alloc_size, - arg_dealloc) {} - - SharedAllocationRecord( - const HIPManagedSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); -}; -} // namespace Impl -} // namespace Kokkos +KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_SPECIALIZATION( + Kokkos::HIPSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_SPECIALIZATION(Kokkos::HIPHostPinnedSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_SPECIALIZATION(Kokkos::HIPManagedSpace); #endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.cpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.cpp index 7f6aa0d8e8..e8bdfca66f 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.cpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.cpp @@ -24,10 +24,8 @@ #include #include -#include #include -#include #include #include @@ -287,22 +285,3 @@ void HIPManagedSpace::impl_deallocate( } } // namespace Kokkos - -/*--------------------------------------------------------------------------*/ -/*--------------------------------------------------------------------------*/ - -#include - -namespace Kokkos { -namespace Impl { - -// To avoid additional compilation cost for something that's (mostly?) not -// performance sensitive, we explicity instantiate these CRTP base classes here, -// where we have access to the associated *_timpl.hpp header files. -template class HostInaccessibleSharedAllocationRecordCommon; -template class SharedAllocationRecordCommon; -template class SharedAllocationRecordCommon; -template class SharedAllocationRecordCommon; - -} // end namespace Impl -} // end namespace Kokkos diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.hpp index f3e5adf87e..7f2004e5cb 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_Space.hpp @@ -65,6 +65,15 @@ class HIPSpace { ~HIPSpace() = default; /**\brief Allocate untracked memory in the hip space */ + // FIXME_HIP Use execution space instance + void* allocate(const HIP&, const size_t arg_alloc_size) const { + return allocate(arg_alloc_size); + } + // FIXME_HIP Use execution space instance + void* allocate(const HIP&, const char* arg_label, const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const { + return allocate(arg_label, arg_alloc_size, arg_logical_size); + } void* allocate(const size_t arg_alloc_size) const; void* allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; @@ -76,8 +85,6 @@ class HIPSpace { const size_t arg_logical_size = 0) const; private: - template - friend class LogicalMemorySpace; void* impl_allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0, const Kokkos::Tools::SpaceHandle = @@ -94,8 +101,6 @@ class HIPSpace { private: int m_device; ///< Which HIP device - - friend class Kokkos::Impl::SharedAllocationRecord; }; template <> @@ -129,6 +134,16 @@ class HIPHostPinnedSpace { ~HIPHostPinnedSpace() = default; /**\brief Allocate untracked memory in the space */ + template + void* allocate(const ExecutionSpace&, const size_t arg_alloc_size) const { + return allocate(arg_alloc_size); + } + template + void* allocate(const ExecutionSpace&, const char* arg_label, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const { + return allocate(arg_label, arg_alloc_size, arg_logical_size); + } void* allocate(const size_t arg_alloc_size) const; void* allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; @@ -140,8 +155,6 @@ class HIPHostPinnedSpace { const size_t arg_logical_size = 0) const; private: - template - friend class LogicalMemorySpace; void* impl_allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0, const Kokkos::Tools::SpaceHandle = @@ -194,6 +207,16 @@ class HIPManagedSpace { ~HIPManagedSpace() = default; /**\brief Allocate untracked memory in the space */ + template + void* allocate(const ExecutionSpace&, const size_t arg_alloc_size) const { + return allocate(arg_alloc_size); + } + template + void* allocate(const ExecutionSpace&, const char* arg_label, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const { + return allocate(arg_label, arg_alloc_size, arg_logical_size); + } void* allocate(const size_t arg_alloc_size) const; void* allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; @@ -209,8 +232,6 @@ class HIPManagedSpace { private: int m_device; ///< Which HIP device - template - friend class LogicalMemorySpace; void* impl_allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0, const Kokkos::Tools::SpaceHandle = @@ -239,8 +260,7 @@ struct Impl::is_hip_type_space : public std::true_type {}; namespace Kokkos { namespace Impl { -static_assert(Kokkos::Impl::MemorySpaceAccess::assignable, - ""); +static_assert(Kokkos::Impl::MemorySpaceAccess::assignable); //---------------------------------------- diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_TeamPolicyInternal.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_TeamPolicyInternal.hpp new file mode 100644 index 0000000000..67e1181125 --- /dev/null +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_TeamPolicyInternal.hpp @@ -0,0 +1,421 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_HIP_TEAM_POLICY_INTERNAL_HPP +#define KOKKOS_HIP_TEAM_POLICY_INTERNAL_HPP + +#include + +namespace Kokkos { +namespace Impl { + +template +class TeamPolicyInternal + : public PolicyTraits { + public: + using execution_policy = TeamPolicyInternal; + + using traits = PolicyTraits; + + template + friend class TeamPolicyInternal; + + private: + typename traits::execution_space m_space; + int m_league_size; + int m_team_size; + int m_vector_length; + size_t m_team_scratch_size[2]; + size_t m_thread_scratch_size[2]; + int m_chunk_size; + bool m_tune_team_size; + bool m_tune_vector_length; + + public: + using execution_space = HIP; + + template + TeamPolicyInternal(TeamPolicyInternal const& p) { + m_league_size = p.m_league_size; + m_team_size = p.m_team_size; + m_vector_length = p.m_vector_length; + m_team_scratch_size[0] = p.m_team_scratch_size[0]; + m_team_scratch_size[1] = p.m_team_scratch_size[1]; + m_thread_scratch_size[0] = p.m_thread_scratch_size[0]; + m_thread_scratch_size[1] = p.m_thread_scratch_size[1]; + m_chunk_size = p.m_chunk_size; + m_space = p.m_space; + m_tune_team_size = p.m_tune_team_size; + m_tune_vector_length = p.m_tune_vector_length; + } + + template + int team_size_max(FunctorType const& f, ParallelForTag const&) const { + using closure_type = + Impl::ParallelFor>; + + return internal_team_size_common(f); + } + + template + inline int team_size_max(const FunctorType& f, + const ParallelReduceTag&) const { + using functor_analysis_type = + Impl::FunctorAnalysis; + using closure_type = Impl::ParallelReduce< + CombinedFunctorReducer, + TeamPolicy, Kokkos::HIP>; + return internal_team_size_common< + BlockType::Max, closure_type, + typename functor_analysis_type::value_type>(f); + } + + template + inline int team_size_max(const FunctorType& f, const ReducerType&, + const ParallelReduceTag&) const { + using closure_type = + Impl::ParallelReduce, + TeamPolicy, Kokkos::HIP>; + return internal_team_size_common(f); + } + + template + int team_size_recommended(FunctorType const& f, ParallelForTag const&) const { + using closure_type = + Impl::ParallelFor>; + + return internal_team_size_common( + f); + } + + template + inline int team_size_recommended(FunctorType const& f, + ParallelReduceTag const&) const { + using functor_analysis_type = + Impl::FunctorAnalysis; + using closure_type = Impl::ParallelReduce< + CombinedFunctorReducer, + TeamPolicy, Kokkos::HIP>; + return internal_team_size_common< + BlockType::Preferred, closure_type, + typename functor_analysis_type::value_type>(f); + } + + template + int team_size_recommended(FunctorType const& f, ReducerType const&, + ParallelReduceTag const&) const { + using closure_type = + Impl::ParallelReduce, + TeamPolicy, Kokkos::HIP>; + return internal_team_size_common(f); + } + + inline bool impl_auto_vector_length() const { return m_tune_vector_length; } + inline bool impl_auto_team_size() const { return m_tune_team_size; } + static int vector_length_max() { return HIPTraits::WarpSize; } + + static int verify_requested_vector_length(int requested_vector_length) { + int test_vector_length = + std::min(requested_vector_length, vector_length_max()); + + // Allow only power-of-two vector_length + if (!(is_integral_power_of_two(test_vector_length))) { + int test_pow2 = 1; + constexpr int warp_size = HIPTraits::WarpSize; + while (test_pow2 < warp_size) { + test_pow2 <<= 1; + if (test_pow2 > test_vector_length) { + break; + } + } + test_vector_length = test_pow2 >> 1; + } + + return test_vector_length; + } + + inline static int scratch_size_max(int level) { + // HIP Teams use (team_size + 2)*sizeof(double) shared memory for team + // reductions. They also use one int64_t in static shared memory for a + // shared ID. Furthermore, they use additional scratch memory in some + // reduction scenarios, which depend on the size of the value_type and is + // NOT captured here + constexpr size_t max_possible_team_size = 1024; + constexpr size_t max_reserved_shared_mem_per_team = + (max_possible_team_size + 2) * sizeof(double) + sizeof(int64_t); + // arbitrarily setting level 1 scratch limit to 20MB, for a + // MI250 that would give us about 4.4GB for 2 teams per CU + constexpr size_t max_l1_scratch_size = 20 * 1024 * 1024; + + size_t max_shmem = HIP().hip_device_prop().sharedMemPerBlock; + return (level == 0 ? max_shmem - max_reserved_shared_mem_per_team + : max_l1_scratch_size); + } + + inline void impl_set_vector_length(size_t size) { m_vector_length = size; } + inline void impl_set_team_size(size_t size) { m_team_size = size; } + int impl_vector_length() const { return m_vector_length; } + + int team_size() const { return m_team_size; } + + int league_size() const { return m_league_size; } + + size_t scratch_size(int level, int team_size_ = -1) const { + if (team_size_ < 0) team_size_ = m_team_size; + return m_team_scratch_size[level] + + team_size_ * m_thread_scratch_size[level]; + } + + size_t team_scratch_size(int level) const { + return m_team_scratch_size[level]; + } + + size_t thread_scratch_size(int level) const { + return m_thread_scratch_size[level]; + } + + typename traits::execution_space space() const { return m_space; } + + TeamPolicyInternal() + : m_space(typename traits::execution_space()), + m_league_size(0), + m_team_size(-1), + m_vector_length(0), + m_team_scratch_size{0, 0}, + m_thread_scratch_size{0, 0}, + m_chunk_size(HIPTraits::WarpSize), + m_tune_team_size(false), + m_tune_vector_length(false) {} + + /** \brief Specify league size, request team size */ + TeamPolicyInternal(const execution_space space_, int league_size_, + int team_size_request, int vector_length_request = 1) + : m_space(space_), + m_league_size(league_size_), + m_team_size(team_size_request), + m_vector_length( + (vector_length_request > 0) + ? verify_requested_vector_length(vector_length_request) + : (verify_requested_vector_length(1))), + m_team_scratch_size{0, 0}, + m_thread_scratch_size{0, 0}, + m_chunk_size(HIPTraits::WarpSize), + m_tune_team_size(bool(team_size_request <= 0)), + m_tune_vector_length(bool(vector_length_request <= 0)) { + // Make sure league size is permissible + if (league_size_ >= static_cast(hip_internal_maximum_grid_count()[0])) + Impl::throw_runtime_exception( + "Requested too large league_size for TeamPolicy on HIP execution " + "space."); + + // Make sure total block size is permissible + if (m_team_size * m_vector_length > HIPTraits::MaxThreadsPerBlock) { + Impl::throw_runtime_exception( + std::string("Kokkos::TeamPolicy< HIP > the team size is too large. " + "Team size x vector length must be smaller than 1024.")); + } + } + + /** \brief Specify league size, request team size */ + TeamPolicyInternal(const execution_space space_, int league_size_, + const Kokkos::AUTO_t& /* team_size_request */, + int vector_length_request = 1) + : TeamPolicyInternal(space_, league_size_, -1, vector_length_request) {} + // FLAG + /** \brief Specify league size and team size, request vector length*/ + TeamPolicyInternal(const execution_space space_, int league_size_, + int team_size_request, + const Kokkos::AUTO_t& /* vector_length_request */ + ) + : TeamPolicyInternal(space_, league_size_, team_size_request, -1) + + {} + + /** \brief Specify league size, request team size and vector length*/ + TeamPolicyInternal(const execution_space space_, int league_size_, + const Kokkos::AUTO_t& /* team_size_request */, + const Kokkos::AUTO_t& /* vector_length_request */ + + ) + : TeamPolicyInternal(space_, league_size_, -1, -1) + + {} + + TeamPolicyInternal(int league_size_, int team_size_request, + int vector_length_request = 1) + : TeamPolicyInternal(typename traits::execution_space(), league_size_, + team_size_request, vector_length_request) {} + + TeamPolicyInternal(int league_size_, + const Kokkos::AUTO_t& /* team_size_request */, + int vector_length_request = 1) + : TeamPolicyInternal(typename traits::execution_space(), league_size_, -1, + vector_length_request) {} + + /** \brief Specify league size and team size, request vector length*/ + TeamPolicyInternal(int league_size_, int team_size_request, + const Kokkos::AUTO_t& /* vector_length_request */ + + ) + : TeamPolicyInternal(typename traits::execution_space(), league_size_, + team_size_request, -1) + + {} + + /** \brief Specify league size, request team size and vector length*/ + TeamPolicyInternal(int league_size_, + const Kokkos::AUTO_t& /* team_size_request */, + const Kokkos::AUTO_t& /* vector_length_request */ + + ) + : TeamPolicyInternal(typename traits::execution_space(), league_size_, -1, + -1) {} + + int chunk_size() const { return m_chunk_size; } + + TeamPolicyInternal& set_chunk_size(typename traits::index_type chunk_size_) { + m_chunk_size = chunk_size_; + return *this; + } + + /** \brief set per team scratch size for a specific level of the scratch + * hierarchy */ + TeamPolicyInternal& set_scratch_size(int level, + PerTeamValue const& per_team) { + m_team_scratch_size[level] = per_team.value; + return *this; + } + + /** \brief set per thread scratch size for a specific level of the scratch + * hierarchy */ + TeamPolicyInternal& set_scratch_size(int level, + PerThreadValue const& per_thread) { + m_thread_scratch_size[level] = per_thread.value; + return *this; + } + + /** \brief set per thread and per team scratch size for a specific level of + * the scratch hierarchy */ + TeamPolicyInternal& set_scratch_size(int level, PerTeamValue const& per_team, + PerThreadValue const& per_thread) { + m_team_scratch_size[level] = per_team.value; + m_thread_scratch_size[level] = per_thread.value; + return *this; + } + + using member_type = Kokkos::Impl::HIPTeamMember; + + protected: + template + int internal_team_size_common(FunctorType const& f) const { + const unsigned shmem_block = team_scratch_size(0) + 2 * sizeof(double); + unsigned shmem_thread = thread_scratch_size(0) + sizeof(double); + using Tag = typename PatternTagFromImplSpecialization::type; + if constexpr (std::is_same_v) { + using Interface = + typename Impl::DeduceFunctorPatternInterface::type; + using Analysis = + Impl::FunctorAnalysis; + shmem_thread += + ((Analysis::StaticValueSize != 0) ? 0 : Analysis::value_size(f)); + } + const int vector_length = impl_vector_length(); + + const auto functor = [&f, shmem_block, shmem_thread, vector_length]( + const hipFuncAttributes& attr, int block_size) { + int functor_shmem = + ::Kokkos::Impl::FunctorTeamShmemSize::value( + f, block_size / vector_length); + return shmem_block + shmem_thread * (block_size / vector_length) + + functor_shmem + attr.sharedSizeBytes; + }; + int block_size; + if constexpr (BlockSize == BlockType::Max) { + block_size = hip_get_max_team_blocksize( + space().impl_internal_space_instance(), functor); + } else { + block_size = + hip_get_preferred_team_blocksize( + space().impl_internal_space_instance(), functor); + } + + if (block_size == 0) { + Kokkos::Impl::throw_runtime_exception(std::string( + "Kokkos::Impl::ParallelFor/Reduce< HIP > could not find a valid " + "team size.")); + } + if constexpr (std::is_same_v) { + return block_size / impl_vector_length(); + } else { + // Currently we require Power-of-2 team size for reductions. + int p2 = 1; + while (p2 <= block_size) p2 *= 2; + p2 /= 2; + return p2 / impl_vector_length(); + } + } +}; + +__device__ inline int64_t hip_get_scratch_index(HIP::size_type league_size, + int32_t* scratch_locks, + size_t num_scratch_locks) { + int64_t threadid = 0; + __shared__ int64_t base_thread_id; + if (threadIdx.x == 0 && threadIdx.y == 0) { + int64_t const wraparound_len = + Kokkos::min(int64_t(league_size), + int64_t(num_scratch_locks) / (blockDim.x * blockDim.y)); + threadid = (blockIdx.x * blockDim.z + threadIdx.z) % wraparound_len; + threadid *= blockDim.x * blockDim.y; + int done = 0; + while (!done) { + done = (0 == atomicCAS(&scratch_locks[threadid], 0, 1)); + if (!done) { + threadid += blockDim.x * blockDim.y; + if (int64_t(threadid + blockDim.x * blockDim.y) >= + wraparound_len * blockDim.x * blockDim.y) + threadid = 0; + } + } + base_thread_id = threadid; + } + __syncthreads(); + threadid = base_thread_id; + return threadid; +} + +__device__ inline void hip_release_scratch_index(int32_t* scratch_locks, + int64_t threadid) { + __syncthreads(); + if (threadIdx.x == 0 && threadIdx.y == 0) { + scratch_locks[threadid] = 0; + } +} + +} // namespace Impl +} // namespace Kokkos + +#endif diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_UniqueToken.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_UniqueToken.hpp index 313e5f5217..3d70b59646 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_UniqueToken.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_UniqueToken.hpp @@ -19,7 +19,6 @@ #include #include -#include namespace Kokkos { diff --git a/lib/kokkos/core/src/HIP/Kokkos_HIP_ZeroMemset.hpp b/lib/kokkos/core/src/HIP/Kokkos_HIP_ZeroMemset.hpp index 5c40d0fbc8..4bca29868f 100644 --- a/lib/kokkos/core/src/HIP/Kokkos_HIP_ZeroMemset.hpp +++ b/lib/kokkos/core/src/HIP/Kokkos_HIP_ZeroMemset.hpp @@ -25,19 +25,11 @@ namespace Impl { template struct ZeroMemset> { - ZeroMemset(const HIP& exec_space, const View& dst, - typename View::const_value_type&) { + ZeroMemset(const HIP& exec_space, const View& dst) { KOKKOS_IMPL_HIP_SAFE_CALL(hipMemsetAsync( dst.data(), 0, dst.size() * sizeof(typename View::value_type), exec_space.hip_stream())); } - - ZeroMemset(const View& dst, - typename View::const_value_type&) { - KOKKOS_IMPL_HIP_SAFE_CALL( - hipMemset(dst.data(), 0, - dst.size() * sizeof(typename View::value_type))); - } }; } // namespace Impl diff --git a/lib/kokkos/core/src/HPX/Kokkos_HPX.cpp b/lib/kokkos/core/src/HPX/Kokkos_HPX.cpp index 4a40ffcaa4..6d541a6414 100644 --- a/lib/kokkos/core/src/HPX/Kokkos_HPX.cpp +++ b/lib/kokkos/core/src/HPX/Kokkos_HPX.cpp @@ -103,6 +103,7 @@ void HPX::print_configuration(std::ostream &os, const bool) const { os << hpx::configuration_string() << '\n'; } +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 bool &HPX::impl_get_in_parallel() noexcept { static thread_local bool in_parallel = false; return in_parallel; @@ -127,6 +128,7 @@ HPX::impl_not_in_parallel_scope::~impl_not_in_parallel_scope() noexcept { KOKKOS_EXPECTS(!impl_get_in_parallel()); impl_get_in_parallel() = true; } +#endif void HPX::impl_decrement_active_parallel_region_count() { std::unique_lock l(m_active_parallel_region_count_mutex); diff --git a/lib/kokkos/core/src/HPX/Kokkos_HPX.hpp b/lib/kokkos/core/src/HPX/Kokkos_HPX.hpp index 1dfc5b4064..26181a7c05 100644 --- a/lib/kokkos/core/src/HPX/Kokkos_HPX.hpp +++ b/lib/kokkos/core/src/HPX/Kokkos_HPX.hpp @@ -27,14 +27,6 @@ static_assert(false, #include -#include -#include -#include - -#ifdef KOKKOS_ENABLE_HBWSPACE -#include -#endif - #include #include #include @@ -59,6 +51,7 @@ static_assert(false, #include +#include #include #include #include @@ -201,6 +194,7 @@ class HPX { return impl_get_instance_data().m_instance_id; } +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 static bool &impl_get_in_parallel() noexcept; struct impl_in_parallel_scope { @@ -223,9 +217,10 @@ class HPX { delete; }; - static bool in_parallel(HPX const & = HPX()) noexcept { + KOKKOS_DEPRECATED static bool in_parallel(HPX const & = HPX()) noexcept { return impl_get_in_parallel(); } +#endif static void impl_decrement_active_parallel_region_count(); static void impl_increment_active_parallel_region_count(); @@ -248,18 +243,6 @@ class HPX { #endif } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - template - KOKKOS_DEPRECATED static void partition_master( - F const &, int requested_num_partitions = 0, int = 0) { - if (requested_num_partitions > 1) { - Kokkos::abort( - "Kokkos::Experimental::HPX::partition_master: can't partition an " - "HPX instance\n"); - } - } -#endif - #ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 static int concurrency(); #else @@ -355,7 +338,9 @@ class HPX { hpx::threads::thread_stacksize::default_) const { impl_bulk_plain_erased(force_synchronous, is_light_weight_policy, {[functor](Index i) { +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 impl_in_parallel_scope p; +#endif functor.execute_range(i); }}, n, stacksize); @@ -417,15 +402,21 @@ class HPX { hpx::threads::thread_stacksize::default_) const { impl_bulk_setup_finalize_erased(force_synchronous, is_light_weight_policy, {[functor](Index i) { +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 impl_in_parallel_scope p; +#endif functor.execute_range(i); }}, {[functor]() { +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 impl_in_parallel_scope p; +#endif functor.setup(); }}, {[functor]() { +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 impl_in_parallel_scope p; +#endif functor.finalize(); }}, n, stacksize); @@ -1292,6 +1283,7 @@ class ParallelScan, const WorkRange range(m_policy, t, num_worker_threads); execute_chunk(range.begin(), range.end(), update_sum, false); +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 { // Since arrive_and_wait may yield and resume on another worker thread we // set in_parallel = false on the current thread before suspending and set @@ -1299,6 +1291,9 @@ class ParallelScan, Kokkos::Experimental::HPX::impl_not_in_parallel_scope p; barrier.arrive_and_wait(); } +#else + barrier.arrive_and_wait(); +#endif if (t == 0) { final_reducer.init(reinterpret_cast( @@ -1320,6 +1315,7 @@ class ParallelScan, } } +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 { // Since arrive_and_wait may yield and resume on another worker thread we // set in_parallel = false on the current thread before suspending and set @@ -1327,6 +1323,9 @@ class ParallelScan, Kokkos::Experimental::HPX::impl_not_in_parallel_scope p; barrier.arrive_and_wait(); } +#else + barrier.arrive_and_wait(); +#endif reference_type update_base = Analysis::Reducer::reference(reinterpret_cast( @@ -1407,6 +1406,7 @@ class ParallelScanWithTotal, const WorkRange range(m_policy, t, num_worker_threads); execute_chunk(range.begin(), range.end(), update_sum, false); +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 { // Since arrive_and_wait may yield and resume on another worker thread we // set in_parallel = false on the current thread before suspending and set @@ -1414,6 +1414,9 @@ class ParallelScanWithTotal, Kokkos::Experimental::HPX::impl_not_in_parallel_scope p; barrier.arrive_and_wait(); } +#else + barrier.arrive_and_wait(); +#endif if (t == 0) { final_reducer.init(reinterpret_cast( @@ -1435,6 +1438,7 @@ class ParallelScanWithTotal, } } +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 { // Since arrive_and_wait may yield and resume on another worker thread we // set in_parallel = false on the current thread before suspending and set @@ -1442,6 +1446,9 @@ class ParallelScanWithTotal, Kokkos::Experimental::HPX::impl_not_in_parallel_scope p; barrier.arrive_and_wait(); } +#else + barrier.arrive_and_wait(); +#endif reference_type update_base = Analysis::Reducer::reference(reinterpret_cast( diff --git a/lib/kokkos/core/src/KokkosExp_MDRangePolicy.hpp b/lib/kokkos/core/src/KokkosExp_MDRangePolicy.hpp index c9080db01c..297b1fadee 100644 --- a/lib/kokkos/core/src/KokkosExp_MDRangePolicy.hpp +++ b/lib/kokkos/core/src/KokkosExp_MDRangePolicy.hpp @@ -73,7 +73,7 @@ is_less_than_value_initialized_variable(T arg) { // Checked narrowing conversion that calls abort if the cast changes the value template -constexpr To checked_narrow_cast(From arg) { +constexpr To checked_narrow_cast(From arg, std::size_t idx) { constexpr const bool is_different_signedness = (std::is_signed::value != std::is_signed::value); auto const ret = static_cast(arg); @@ -81,7 +81,12 @@ constexpr To checked_narrow_cast(From arg) { (is_different_signedness && is_less_than_value_initialized_variable(arg) != is_less_than_value_initialized_variable(ret))) { - Kokkos::abort("unsafe narrowing conversion"); + auto msg = + "Kokkos::MDRangePolicy bound type error: an unsafe implicit conversion " + "is performed on a bound (" + + std::to_string(arg) + ") in dimension (" + std::to_string(idx) + + "), which may not preserve its original value.\n"; + Kokkos::abort(msg.c_str()); } return ret; } @@ -96,15 +101,15 @@ constexpr Array to_array_potentially_narrowing(const U (&init)[M]) { using T = typename Array::value_type; Array a{}; constexpr std::size_t N = a.size(); - static_assert(M <= N, ""); + static_assert(M <= N); auto* ptr = a.data(); // NOTE equivalent to // std::transform(std::begin(init), std::end(init), a.data(), // [](U x) { return static_cast(x); }); // except that std::transform is not constexpr. - for (auto x : init) { - *ptr++ = checked_narrow_cast(x); - (void)checked_narrow_cast(x); // see note above + for (std::size_t i = 0; i < M; ++i) { + *ptr++ = checked_narrow_cast(init[i], i); + (void)checked_narrow_cast(init[i], i); // see note above } return a; } @@ -120,10 +125,10 @@ constexpr NVCC_WONT_LET_ME_CALL_YOU_Array to_array_potentially_narrowing( using T = typename NVCC_WONT_LET_ME_CALL_YOU_Array::value_type; NVCC_WONT_LET_ME_CALL_YOU_Array a{}; constexpr std::size_t N = a.size(); - static_assert(M <= N, ""); + static_assert(M <= N); for (std::size_t i = 0; i < M; ++i) { - a[i] = checked_narrow_cast(other[i]); - (void)checked_narrow_cast(other[i]); // see note above + a[i] = checked_narrow_cast(other[i], i); + (void)checked_narrow_cast(other[i], i); // see note above } return a; } @@ -150,9 +155,20 @@ TileSizeProperties get_tile_size_properties(const ExecutionSpace&) { // multi-dimensional iteration pattern template -struct MDRangePolicy : public Kokkos::Impl::PolicyTraits { - using traits = Kokkos::Impl::PolicyTraits; - using range_policy = RangePolicy; +struct MDRangePolicy; + +// Note: If MDRangePolicy has a primary template, implicit CTAD (deduction +// guides) are generated -> MDRangePolicy<> by some compilers, which is +// incorrect. By making it a template specialization instead, no implicit CTAD +// is generated. This works because there has to be at least one property +// specified (which is Rank<...>); otherwise, we'd get the static_assert +// "Kokkos::Error: MD iteration pattern not defined". This template +// specialization uses in all places for correctness. +template +struct MDRangePolicy + : public Kokkos::Impl::PolicyTraits { + using traits = Kokkos::Impl::PolicyTraits; + using range_policy = RangePolicy; typename traits::execution_space m_space; @@ -161,8 +177,8 @@ struct MDRangePolicy : public Kokkos::Impl::PolicyTraits { typename traits::schedule_type, typename traits::index_type>; using execution_policy = - MDRangePolicy; // needed for is_execution_space - // interrogation + MDRangePolicy; // needed for is_execution_policy + // interrogation template friend struct MDRangePolicy; @@ -327,6 +343,20 @@ struct MDRangePolicy : public Kokkos::Impl::PolicyTraits { } for (int i = rank_start; i != rank_end; i += increment) { const index_type length = m_upper[i] - m_lower[i]; + + if (m_upper[i] < m_lower[i]) { + std::string msg = + "Kokkos::MDRangePolicy bounds error: The lower bound (" + + std::to_string(m_lower[i]) + ") is greater than its upper bound (" + + std::to_string(m_upper[i]) + ") in dimension " + std::to_string(i) + + ".\n"; +#if !defined(KOKKOS_ENABLE_DEPRECATED_CODE_4) + Kokkos::abort(msg.c_str()); +#elif defined(KOKKOS_ENABLE_DEPRECATION_WARNINGS) + Kokkos::Impl::log_warning(msg); +#endif + } + if (m_tile[i] <= 0) { m_tune_tile_size = true; if ((inner_direction == Iterate::Right && (i < rank - 1)) || @@ -358,6 +388,60 @@ struct MDRangePolicy : public Kokkos::Impl::PolicyTraits { } }; +template +MDRangePolicy(const LT (&)[N], const UT (&)[N])->MDRangePolicy>; + +template +MDRangePolicy(const LT (&)[N], const UT (&)[N], const TT (&)[TN]) + ->MDRangePolicy>; + +template +MDRangePolicy(DefaultExecutionSpace const&, const LT (&)[N], const UT (&)[N]) + ->MDRangePolicy>; + +template +MDRangePolicy(DefaultExecutionSpace const&, const LT (&)[N], const UT (&)[N], + const TT (&)[TN]) + ->MDRangePolicy>; + +template >> +MDRangePolicy(ES const&, const LT (&)[N], const UT (&)[N]) + ->MDRangePolicy>; + +template >> +MDRangePolicy(ES const&, const LT (&)[N], const UT (&)[N], const TT (&)[TN]) + ->MDRangePolicy>; + +template +MDRangePolicy(Array const&, Array const&)->MDRangePolicy>; + +template +MDRangePolicy(Array const&, Array const&, Array const&) + ->MDRangePolicy>; + +template +MDRangePolicy(DefaultExecutionSpace const&, Array const&, + Array const&) + ->MDRangePolicy>; + +template +MDRangePolicy(DefaultExecutionSpace const&, Array const&, + Array const&, Array const&) + ->MDRangePolicy>; + +template >> +MDRangePolicy(ES const&, Array const&, Array const&) + ->MDRangePolicy>; + +template >> +MDRangePolicy(ES const&, Array const&, Array const&, + Array const&) + ->MDRangePolicy>; + } // namespace Kokkos #endif // KOKKOS_CORE_EXP_MD_RANGE_POLICY_HPP diff --git a/lib/kokkos/core/src/Kokkos_Array.hpp b/lib/kokkos/core/src/Kokkos_Array.hpp index 82ceaaec21..ba1626bb72 100644 --- a/lib/kokkos/core/src/Kokkos_Array.hpp +++ b/lib/kokkos/core/src/Kokkos_Array.hpp @@ -22,6 +22,7 @@ #endif #include +#include #include #include @@ -320,6 +321,9 @@ struct Array::strided> { : m_elem(arg_ptr), m_size(arg_size), m_stride(arg_stride) {} }; +template +Array(T, Us...)->Array; + } // namespace Kokkos // diff --git a/lib/kokkos/core/src/Kokkos_Assert.hpp b/lib/kokkos/core/src/Kokkos_Assert.hpp index c3b9004734..6fea286005 100644 --- a/lib/kokkos/core/src/Kokkos_Assert.hpp +++ b/lib/kokkos/core/src/Kokkos_Assert.hpp @@ -44,9 +44,6 @@ __LINE__) " \n"); \ } \ } -// some projects already define this for themselves, so don't mess -// them up -#ifndef KOKKOS_ASSERT #define KOKKOS_ASSERT(...) \ { \ if (!bool(__VA_ARGS__)) { \ @@ -58,8 +55,7 @@ __LINE__) " \n"); \ } \ } -#endif // ifndef KOKKOS_ASSERT -#else // not debug mode +#else // not debug mode #define KOKKOS_EXPECTS(...) #define KOKKOS_ENSURES(...) #ifndef KOKKOS_ASSERT diff --git a/lib/kokkos/core/src/Kokkos_Atomics_Desul_Volatile_Wrapper.hpp b/lib/kokkos/core/src/Kokkos_Atomics_Desul_Volatile_Wrapper.hpp index 1c43474632..9acacef901 100644 --- a/lib/kokkos/core/src/Kokkos_Atomics_Desul_Volatile_Wrapper.hpp +++ b/lib/kokkos/core/src/Kokkos_Atomics_Desul_Volatile_Wrapper.hpp @@ -25,7 +25,7 @@ static_assert(false, #include #include -#ifdef KOKKOS_INTERNAL_NOT_PARALLEL +#ifdef KOKKOS_ENABLE_ATOMICS_BYPASS #define KOKKOS_DESUL_MEM_SCOPE desul::MemoryScopeCaller() #else #define KOKKOS_DESUL_MEM_SCOPE desul::MemoryScopeDevice() diff --git a/lib/kokkos/core/src/Kokkos_Atomics_Desul_Wrapper.hpp b/lib/kokkos/core/src/Kokkos_Atomics_Desul_Wrapper.hpp index bda3783980..eebdd20f15 100644 --- a/lib/kokkos/core/src/Kokkos_Atomics_Desul_Wrapper.hpp +++ b/lib/kokkos/core/src/Kokkos_Atomics_Desul_Wrapper.hpp @@ -49,7 +49,7 @@ inline const char* atomic_query_version() { return "KOKKOS_DESUL_ATOMICS"; } #endif // ============================================================ -#ifdef KOKKOS_INTERNAL_NOT_PARALLEL +#ifdef KOKKOS_ENABLE_ATOMICS_BYPASS #define KOKKOS_DESUL_MEM_SCOPE desul::MemoryScopeCaller() #else #define KOKKOS_DESUL_MEM_SCOPE desul::MemoryScopeDevice() diff --git a/lib/kokkos/core/src/Kokkos_Clamp.hpp b/lib/kokkos/core/src/Kokkos_Clamp.hpp new file mode 100644 index 0000000000..033cde9ab8 --- /dev/null +++ b/lib/kokkos/core/src/Kokkos_Clamp.hpp @@ -0,0 +1,41 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_CLAMP_HPP +#define KOKKOS_CLAMP_HPP + +#include + +namespace Kokkos { + +template +constexpr KOKKOS_INLINE_FUNCTION const T& clamp(const T& value, const T& lo, + const T& hi) { + KOKKOS_EXPECTS(!(hi < lo)); + return (value < lo) ? lo : (hi < value) ? hi : value; +} + +template +constexpr KOKKOS_INLINE_FUNCTION const T& clamp(const T& value, const T& lo, + const T& hi, + ComparatorType comp) { + KOKKOS_EXPECTS(!comp(hi, lo)); + return comp(value, lo) ? lo : comp(hi, value) ? hi : value; +} + +} // namespace Kokkos + +#endif diff --git a/lib/kokkos/core/src/Kokkos_CopyViews.hpp b/lib/kokkos/core/src/Kokkos_CopyViews.hpp index a0ca55be70..08f6ba8d69 100644 --- a/lib/kokkos/core/src/Kokkos_CopyViews.hpp +++ b/lib/kokkos/core/src/Kokkos_CopyViews.hpp @@ -22,6 +22,7 @@ static_assert(false, #ifndef KOKKOS_COPYVIEWS_HPP_ #define KOKKOS_COPYVIEWS_HPP_ #include +#include #include #include #include @@ -612,12 +613,17 @@ void view_copy(const DstType& dst, const SrcType& src) { }; if (!DstExecCanAccessSrc && !SrcExecCanAccessDst) { - std::string message( - "Error: Kokkos::deep_copy with no available copy mechanism: "); - message += src.label(); - message += " to "; - message += dst.label(); - Kokkos::Impl::throw_runtime_exception(message); + std::ostringstream ss; + ss << "Error: Kokkos::deep_copy with no available copy mechanism: " + << "from source view (\"" << src.label() << "\") to destination view (\"" + << dst.label() << "\").\n" + << "There is no common execution space that can access both source's " + "space\n" + << "(" << src_memory_space().name() << ") and destination's space (" + << dst_memory_space().name() << "), " + << "so source and destination\n" + << "must be contiguous and have the same layout.\n"; + Kokkos::Impl::throw_runtime_exception(ss.str()); } // Figure out iteration order in case we need it @@ -1330,13 +1336,12 @@ inline void contiguous_fill( // Default implementation for execution spaces that don't provide a definition template struct ZeroMemset { - ZeroMemset(const ExecutionSpace& exec_space, const ViewType& dst, - typename ViewType::const_value_type& value) { - contiguous_fill(exec_space, dst, value); - } - - ZeroMemset(const ViewType& dst, typename ViewType::const_value_type& value) { - contiguous_fill(ExecutionSpace(), dst, value); + ZeroMemset(const ExecutionSpace& exec_space, const ViewType& dst) { + using ValueType = typename ViewType::value_type; + alignas(alignof(ValueType)) unsigned char + zero_initialized_storage[sizeof(ValueType)] = {}; + contiguous_fill(exec_space, dst, + *reinterpret_cast(zero_initialized_storage)); } }; @@ -1348,13 +1353,18 @@ inline std::enable_if_t< contiguous_fill_or_memset( const ExecutionSpace& exec_space, const View& dst, typename ViewTraits::const_value_type& value) { -// On A64FX memset seems to do the wrong thing with regards to first touch -// leading to the significant performance issues -#ifndef KOKKOS_ARCH_A64FX - if (Impl::is_zero_byte(value)) - ZeroMemset>(exec_space, dst, value); - else + // With OpenMP, using memset has significant performance issues. + if (Impl::is_zero_byte(value) +#ifdef KOKKOS_ENABLE_OPENMP + && !std::is_same_v #endif + ) + // FIXME intel/19 icpc fails to deduce template parameters here, + // resulting in compilation errors; explicitly passing the template + // parameters to ZeroMemset helps workaround the issue + // See https://github.com/kokkos/kokkos/issues/6775 + ZeroMemset>(exec_space, dst); + else contiguous_fill(exec_space, dst, value); } @@ -1379,15 +1389,20 @@ contiguous_fill_or_memset( typename ViewTraits::const_value_type& value) { using ViewType = View; using exec_space_type = typename ViewType::execution_space; + exec_space_type exec; // On A64FX memset seems to do the wrong thing with regards to first touch // leading to the significant performance issues #ifndef KOKKOS_ARCH_A64FX if (Impl::is_zero_byte(value)) - ZeroMemset>(dst, value); + // FIXME intel/19 icpc fails to deduce template parameters here, + // resulting in compilation errors; explicitly passing the template + // parameters to ZeroMemset helps workaround the issue + // See https://github.com/kokkos/kokkos/issues/6775 + ZeroMemset(exec, dst); else #endif - contiguous_fill(exec_space_type(), dst, value); + contiguous_fill(exec, dst, value); } template diff --git a/lib/kokkos/core/src/Kokkos_Core.hpp b/lib/kokkos/core/src/Kokkos_Core.hpp index 805411a699..1f146563be 100644 --- a/lib/kokkos/core/src/Kokkos_Core.hpp +++ b/lib/kokkos/core/src/Kokkos_Core.hpp @@ -46,14 +46,15 @@ #include #include -#include #include -#include +#include +#include #include #include #include #include #include +#include #include #include #include @@ -101,6 +102,7 @@ void declare_configuration_metadata(const std::string& category, [[nodiscard]] bool is_finalized() noexcept; [[nodiscard]] int device_id() noexcept; +[[nodiscard]] int num_devices() noexcept; [[nodiscard]] int num_threads() noexcept; bool show_warnings() noexcept; @@ -300,9 +302,6 @@ std::vector partition_space(ExecSpace const& space, // implementation of the RAII wrapper is using Kokkos::single. #include -// Specializations required after core definitions -#include - //---------------------------------------------------------------------------- // Redefinition of the macros min and max if we pushed them at entry of // Kokkos_Core.hpp diff --git a/lib/kokkos/core/src/Kokkos_Core_fwd.hpp b/lib/kokkos/core/src/Kokkos_Core_fwd.hpp index 44f1c5b42f..7edb35f00e 100644 --- a/lib/kokkos/core/src/Kokkos_Core_fwd.hpp +++ b/lib/kokkos/core/src/Kokkos_Core_fwd.hpp @@ -30,10 +30,6 @@ #include #include -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -#include -#endif - //---------------------------------------------------------------------------- // Have assumed a 64-bit build (8-byte pointers) throughout the code base. // 32-bit build allowed but unsupported. @@ -75,9 +71,6 @@ template struct Device; // forward declare here so that backend initializer calls can use it. -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -struct InitArguments; -#endif class InitializationSettings; } // namespace Kokkos @@ -262,12 +255,6 @@ KOKKOS_FUNCTION void runtime_check_memory_access_violation( } } // namespace Impl - -namespace Experimental { -template -class LogicalMemorySpace; -} - } // namespace Kokkos //---------------------------------------------------------------------------- diff --git a/lib/kokkos/core/src/Kokkos_ExecPolicy.hpp b/lib/kokkos/core/src/Kokkos_ExecPolicy.hpp index ae1585a498..5f251eeb26 100644 --- a/lib/kokkos/core/src/Kokkos_ExecPolicy.hpp +++ b/lib/kokkos/core/src/Kokkos_ExecPolicy.hpp @@ -28,6 +28,7 @@ static_assert(false, #include #include #include +#include //---------------------------------------------------------------------------- @@ -114,62 +115,67 @@ class RangePolicy : public Impl::PolicyTraits { m_granularity_mask(0) {} /** \brief Total range */ + template && + std::is_convertible_v), + bool> = false> + inline RangePolicy(const IndexType1 work_begin, const IndexType2 work_end) + : RangePolicy(typename traits::execution_space(), work_begin, work_end) {} + + /** \brief Total range */ + template && + std::is_convertible_v), + bool> = false> inline RangePolicy(const typename traits::execution_space& work_space, - const member_type work_begin, const member_type work_end) + const IndexType1 work_begin, const IndexType2 work_end) : m_space(work_space), - m_begin(work_begin < work_end ? work_begin : 0), - m_end(work_begin < work_end ? work_end : 0), + m_begin(work_begin), + m_end(work_end), m_granularity(0), m_granularity_mask(0) { + check_conversion_safety(work_begin); + check_conversion_safety(work_end); + check_bounds_validity(); set_auto_chunk_size(); } - /** \brief Total range */ - inline RangePolicy(const member_type work_begin, const member_type work_end) - : RangePolicy(typename traits::execution_space(), work_begin, work_end) { - set_auto_chunk_size(); - } - - /** \brief Total range */ - template - inline RangePolicy(const typename traits::execution_space& work_space, - const member_type work_begin, const member_type work_end, - Args... args) + template && + std::is_convertible_v), + bool> = false> + RangePolicy(const typename traits::execution_space& work_space, + const IndexType1 work_begin, const IndexType2 work_end, + const ChunkSize chunk_size) : m_space(work_space), - m_begin(work_begin < work_end ? work_begin : 0), - m_end(work_begin < work_end ? work_end : 0), + m_begin(work_begin), + m_end(work_end), m_granularity(0), m_granularity_mask(0) { - set_auto_chunk_size(); - set(args...); + check_conversion_safety(work_begin); + check_conversion_safety(work_end); + check_bounds_validity(); + set_chunk_size(chunk_size.value); } /** \brief Total range */ - template - inline RangePolicy(const member_type work_begin, const member_type work_end, - Args... args) - : RangePolicy(typename traits::execution_space(), work_begin, work_end) { - set_auto_chunk_size(); - set(args...); - } - - private: - inline void set() {} + template && + std::is_convertible_v), + bool> = false> + RangePolicy(const IndexType1 work_begin, const IndexType2 work_end, + const ChunkSize chunk_size) + : RangePolicy(typename traits::execution_space(), work_begin, work_end, + chunk_size) {} public: - template - inline void set(Args...) { - static_assert( - 0 == sizeof...(Args), - "Kokkos::RangePolicy: unhandled constructor arguments encountered."); - } - - template - inline void set(const ChunkSize& chunksize, Args... args) { +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED_WITH_COMMENT("Use set_chunk_size instead") + inline void set(ChunkSize chunksize) { m_granularity = chunksize.value; m_granularity_mask = m_granularity - 1; - set(args...); } +#endif public: /** \brief return chunk_size */ @@ -218,6 +224,67 @@ class RangePolicy : public Impl::PolicyTraits { m_granularity_mask = m_granularity - 1; } + void check_bounds_validity() { + if (m_end < m_begin) { + std::string msg = "Kokkos::RangePolicy bounds error: The lower bound (" + + std::to_string(m_begin) + + ") is greater than the upper bound (" + + std::to_string(m_end) + ").\n"; +#ifndef KOKKOS_ENABLE_DEPRECATED_CODE_4 + Kokkos::abort(msg.c_str()); +#endif + m_begin = 0; + m_end = 0; +#ifdef KOKKOS_ENABLE_DEPRECATION_WARNINGS + Kokkos::Impl::log_warning(msg); +#endif + } + } + + // To be replaced with std::in_range (c++20) + template + static void check_conversion_safety(const IndexType bound) { +#if !defined(KOKKOS_ENABLE_DEPRECATED_CODE_4) || \ + defined(KOKKOS_ENABLE_DEPRECATION_WARNINGS) + + std::string msg = + "Kokkos::RangePolicy bound type error: an unsafe implicit conversion " + "is performed on a bound (" + + std::to_string(bound) + + "), which may " + "not preserve its original value.\n"; + bool warn = false; + + if constexpr (std::is_signed_v != + std::is_signed_v) { + // check signed to unsigned + if constexpr (std::is_signed_v) + warn |= (bound < static_cast( + std::numeric_limits::min())); + + // check unsigned to signed + if constexpr (std::is_signed_v) + warn |= (bound > static_cast( + std::numeric_limits::max())); + } + + // check narrowing + warn |= (static_cast(static_cast(bound)) != bound); + + if (warn) { +#ifndef KOKKOS_ENABLE_DEPRECATED_CODE_4 + Kokkos::abort(msg.c_str()); +#endif + +#ifdef KOKKOS_ENABLE_DEPRECATION_WARNINGS + Kokkos::Impl::log_warning(msg); +#endif + } +#else + (void)bound; +#endif + } + public: /** \brief Subrange for a partition's rank and size. * @@ -261,6 +328,21 @@ class RangePolicy : public Impl::PolicyTraits { }; }; +RangePolicy()->RangePolicy<>; + +RangePolicy(int64_t, int64_t)->RangePolicy<>; +RangePolicy(int64_t, int64_t, ChunkSize const&)->RangePolicy<>; + +RangePolicy(DefaultExecutionSpace const&, int64_t, int64_t)->RangePolicy<>; +RangePolicy(DefaultExecutionSpace const&, int64_t, int64_t, ChunkSize const&) + ->RangePolicy<>; + +template >> +RangePolicy(ES const&, int64_t, int64_t)->RangePolicy; + +template >> +RangePolicy(ES const&, int64_t, int64_t, ChunkSize const&)->RangePolicy; + } // namespace Kokkos //---------------------------------------------------------------------------- @@ -983,7 +1065,16 @@ template const& policy, Lambda const& lambda, ReducerValueType& val) { + static_assert(/*!Kokkos::is_view_v &&*/ + !std::is_array_v && + !std::is_pointer_v && + !Kokkos::is_reducer_v, + "Only scalar return types are allowed!"); + + val = ReducerValueType{}; Impl::md_parallel_impl(policy, lambda, val); + policy.team.team_reduce( + Kokkos::Sum{val}); } template @@ -997,7 +1088,29 @@ template const& policy, Lambda const& lambda, ReducerValueType& val) { + static_assert(/*!Kokkos::is_view_v &&*/ + !std::is_array_v && + !std::is_pointer_v && + !Kokkos::is_reducer_v, + "Only a scalar return types are allowed!"); + + val = ReducerValueType{}; Impl::md_parallel_impl(policy, lambda, val); + if constexpr (false +#ifdef KOKKOS_ENABLE_CUDA + || std::is_same_v +#elif defined(KOKKOS_ENABLE_HIP) + || std::is_same_v +#elif defined(KOKKOS_ENABLE_SYCL) + || std::is_same_v +#endif + ) + policy.team.vector_reduce( + Kokkos::Sum{ + val}); } template @@ -1011,7 +1124,31 @@ template const& policy, Lambda const& lambda, ReducerValueType& val) { + static_assert(/*!Kokkos::is_view_v &&*/ + !std::is_array_v && + !std::is_pointer_v && + !Kokkos::is_reducer_v, + "Only a scalar return types are allowed!"); + + val = ReducerValueType{}; Impl::md_parallel_impl(policy, lambda, val); + if constexpr (false +#ifdef KOKKOS_ENABLE_CUDA + || std::is_same_v +#elif defined(KOKKOS_ENABLE_HIP) + || std::is_same_v +#elif defined(KOKKOS_ENABLE_SYCL) + || std::is_same_v +#endif + ) + policy.team.vector_reduce( + Kokkos::Sum{ + val}); + policy.team.team_reduce( + Kokkos::Sum{val}); } template diff --git a/lib/kokkos/core/src/Kokkos_HBWSpace.hpp b/lib/kokkos/core/src/Kokkos_HBWSpace.hpp deleted file mode 100644 index 369b7bafb7..0000000000 --- a/lib/kokkos/core/src/Kokkos_HBWSpace.hpp +++ /dev/null @@ -1,308 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#ifndef KOKKOS_IMPL_PUBLIC_INCLUDE -#include -static_assert(false, - "Including non-public Kokkos header files is not allowed."); -#endif -#ifndef KOKKOS_HBWSPACE_HPP -#define KOKKOS_HBWSPACE_HPP - -#include -#ifdef KOKKOS_ENABLE_HBWSPACE - -#include - -namespace Kokkos { - -namespace Experimental { - -/// \class HBWSpace -/// \brief Memory management for host memory. -/// -/// HBWSpace is a memory space that governs host memory. "Host" -/// memory means the usual CPU-accessible memory. -class HBWSpace { - public: - //! Tag this class as a kokkos memory space - using memory_space = HBWSpace; - using size_type = size_t; - - /// \typedef execution_space - /// \brief Default execution space for this memory space. - /// - /// Every memory space has a default execution space. This is - /// useful for things like initializing a View (which happens in - /// parallel using the View's default execution space). - using execution_space = Kokkos::DefaultHostExecutionSpace; - - //! This memory space preferred device_type - using device_type = Kokkos::Device; - - /**\brief Default memory space instance */ - HBWSpace(); - HBWSpace(const HBWSpace& rhs) = default; - HBWSpace& operator=(const HBWSpace&) = default; - ~HBWSpace() = default; - - /**\brief Non-default memory space instance to choose allocation mechansim, - * if available */ - - enum AllocationMechanism { - STD_MALLOC, - POSIX_MEMALIGN, - POSIX_MMAP, - INTEL_MM_ALLOC - }; - - explicit HBWSpace(const AllocationMechanism&); - - /**\brief Allocate untracked memory in the space */ - void* allocate(const size_t arg_alloc_size) const; - void* allocate(const char* arg_label, const size_t arg_alloc_size, - const size_t arg_logical_size = 0) const; - - /**\brief Deallocate untracked memory in the space */ - void deallocate(void* const arg_alloc_ptr, const size_t arg_alloc_size) const; - void deallocate(const char* arg_label, void* const arg_alloc_ptr, - const size_t arg_alloc_size, - const size_t arg_logical_size = 0) const; - - private: - template - friend class LogicalMemorySpace; - - void* impl_allocate(const char* arg_label, const size_t arg_alloc_size, - const size_t arg_logical_size = 0, - const Kokkos::Tools::SpaceHandle = - Kokkos::Tools::make_space_handle(name())) const; - void impl_deallocate(const char* arg_label, void* const arg_alloc_ptr, - const size_t arg_alloc_size, - const size_t arg_logical_size = 0, - const Kokkos::Tools::SpaceHandle = - Kokkos::Tools::make_space_handle(name())) const; - - public: - /**\brief Return Name of the MemorySpace */ - static constexpr const char* name() { return "HBW"; } - - private: - AllocationMechanism m_alloc_mech; - friend class Kokkos::Impl::SharedAllocationRecord< - Kokkos::Experimental::HBWSpace, void>; -}; - -} // namespace Experimental - -} // namespace Kokkos - -//---------------------------------------------------------------------------- - -namespace Kokkos { - -namespace Impl { - -template <> -class SharedAllocationRecord - : public SharedAllocationRecord { - private: - friend Kokkos::Experimental::HBWSpace; - - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - - static void deallocate(RecordBase*); - -#ifdef KOKKOS_ENABLE_DEBUG - /**\brief Root record for tracked allocations from this HBWSpace instance */ - static RecordBase s_root_record; -#endif - - const Kokkos::Experimental::HBWSpace m_space; - - protected: - ~SharedAllocationRecord(); - SharedAllocationRecord() = default; - - SharedAllocationRecord( - const Kokkos::Experimental::HBWSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate); - - public: - inline std::string get_label() const { - return std::string(RecordBase::head()->m_label); - } - - KOKKOS_INLINE_FUNCTION static SharedAllocationRecord* allocate( - const Kokkos::Experimental::HBWSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size) { - KOKKOS_IF_ON_HOST((return new SharedAllocationRecord(arg_space, arg_label, - arg_alloc_size);)) - KOKKOS_IF_ON_DEVICE(((void)arg_space; (void)arg_label; (void)arg_alloc_size; - return nullptr;)) - } - - /**\brief Allocate tracked memory in the space */ - static void* allocate_tracked(const Kokkos::Experimental::HBWSpace& arg_space, - const std::string& arg_label, - const size_t arg_alloc_size); - - /**\brief Reallocate tracked memory in the space */ - static void* reallocate_tracked(void* const arg_alloc_ptr, - const size_t arg_alloc_size); - - /**\brief Deallocate tracked memory in the space */ - static void deallocate_tracked(void* const arg_alloc_ptr); - - static SharedAllocationRecord* get_record(void* arg_alloc_ptr); - - static void print_records(std::ostream&, - const Kokkos::Experimental::HBWSpace&, - bool detail = false); -}; - -} // namespace Impl - -} // namespace Kokkos - -//---------------------------------------------------------------------------- - -namespace Kokkos { - -namespace Impl { - -static_assert( - Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - -template <> -struct MemorySpaceAccess { - enum : bool { assignable = true }; - enum : bool { accessible = true }; - enum : bool { deepcopy = true }; -}; - -template <> -struct MemorySpaceAccess { - enum : bool { assignable = false }; - enum : bool { accessible = true }; - enum : bool { deepcopy = true }; -}; - -} // namespace Impl - -} // namespace Kokkos - -//---------------------------------------------------------------------------- - -namespace Kokkos { - -namespace Impl { - -template <> -struct DeepCopy { - DeepCopy(void* dst, const void* src, size_t n) { - hostspace_parallel_deepcopy(dst, src, n); - } - - DeepCopy(const DefaultHostExecutionSpace& exec, void* dst, const void* src, - size_t n) { - hostspace_parallel_deepcopy(exec, dst, src, n); - } -}; - -template -struct DeepCopy { - DeepCopy(void* dst, const void* src, size_t n) { - hostspace_parallel_deepcopy(dst, src, n); - } - - DeepCopy(const ExecutionSpace& exec, void* dst, const void* src, size_t n) { - exec.fence( - "Kokkos::Impl::DeepCopy -struct DeepCopy { - DeepCopy(void* dst, const void* src, size_t n) { - hostspace_parallel_deepcopy(dst, src, n); - } - - DeepCopy(const DefaultHostExecutionSpace& exec, void* dst, const void* src, - size_t n) { - hostspace_parallel_deepcopy(exec, dst, src, n); - } -}; - -template -struct DeepCopy { - DeepCopy(void* dst, const void* src, size_t n) { - hostspace_parallel_deepcopy(dst, src, n); - } - - DeepCopy(const ExecutionSpace& exec, void* dst, const void* src, size_t n) { - exec.fence( - "Kokkos::Impl::DeepCopy::DeepCopy: fence before copy"); - hostspace_parallel_deepcopy_async(copy_space, dst, src, n); - } -}; - -template <> -struct DeepCopy { - DeepCopy(void* dst, const void* src, size_t n) { - hostspace_parallel_deepcopy(dst, src, n); - } - - DeepCopy(const DefaultHostExecutionSpace& exec, void* dst, const void* src, - size_t n) { - hostspace_parallel_deepcopy(exec, dst, src, n); - } -}; - -template -struct DeepCopy { - DeepCopy(void* dst, const void* src, size_t n) { - hostspace_parallel_deepcopy(dst, src, n); - } - - DeepCopy(const ExecutionSpace& exec, void* dst, const void* src, size_t n) { - exec.fence( - "Kokkos::Impl::DeepCopy::DeepCopy: fence before copy"); - hostspace_parallel_deepcopy_async(dst, src, n); - } -}; - -} // namespace Impl - -} // namespace Kokkos - -#endif -#endif // #define KOKKOS_HBWSPACE_HPP diff --git a/lib/kokkos/core/src/Kokkos_HostSpace.hpp b/lib/kokkos/core/src/Kokkos_HostSpace.hpp index 252aabd949..a1fb0f5a67 100644 --- a/lib/kokkos/core/src/Kokkos_HostSpace.hpp +++ b/lib/kokkos/core/src/Kokkos_HostSpace.hpp @@ -37,7 +37,6 @@ static_assert(false, #include #include "impl/Kokkos_HostSpace_deepcopy.hpp" -#include /*--------------------------------------------------------------------------*/ @@ -94,6 +93,16 @@ class HostSpace { #endif /**\brief Allocate untracked memory in the space */ + template + void* allocate(const ExecutionSpace&, const size_t arg_alloc_size) const { + return allocate(arg_alloc_size); + } + template + void* allocate(const ExecutionSpace&, const char* arg_label, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const { + return allocate(arg_label, arg_alloc_size, arg_logical_size); + } void* allocate(const size_t arg_alloc_size) const; void* allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; @@ -105,9 +114,6 @@ class HostSpace { const size_t arg_logical_size = 0) const; private: - template - friend class Kokkos::Experimental::LogicalMemorySpace; - void* impl_allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0, const Kokkos::Tools::SpaceHandle = @@ -124,7 +130,6 @@ class HostSpace { private: static constexpr const char* m_name = "Host"; - friend class Kokkos::Impl::SharedAllocationRecord; }; } // namespace Kokkos @@ -136,8 +141,7 @@ namespace Kokkos { namespace Impl { static_assert(Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); template struct HostMirror { @@ -173,75 +177,7 @@ struct HostMirror { //---------------------------------------------------------------------------- -namespace Kokkos { - -namespace Impl { - -template <> -class SharedAllocationRecord - : public SharedAllocationRecordCommon { - private: - friend Kokkos::HostSpace; - friend class SharedAllocationRecordCommon; - - using base_t = SharedAllocationRecordCommon; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - -#ifdef KOKKOS_ENABLE_DEBUG - /**\brief Root record for tracked allocations from this HostSpace instance */ - static RecordBase s_root_record; -#endif - - Kokkos::HostSpace m_space; - - protected: - ~SharedAllocationRecord(); - SharedAllocationRecord() = default; - - // This constructor does not forward to the one without exec_space arg - // in order to work around https://github.com/kokkos/kokkos/issues/5258 - // This constructor is templated so I can't just put it into the cpp file - // like the other constructor. - template - SharedAllocationRecord( - const ExecutionSpace& /* exec_space*/, const Kokkos::HostSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate) - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - this->base_t::_fill_host_accessible_header_info(*RecordBase::m_alloc_ptr, - arg_label); - } - - SharedAllocationRecord( - const Kokkos::HostSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate); - - public: - KOKKOS_INLINE_FUNCTION static SharedAllocationRecord* allocate( - const Kokkos::HostSpace& arg_space, const std::string& arg_label, - const size_t arg_alloc_size) { - KOKKOS_IF_ON_HOST((return new SharedAllocationRecord(arg_space, arg_label, - arg_alloc_size);)) - KOKKOS_IF_ON_DEVICE(((void)arg_space; (void)arg_label; (void)arg_alloc_size; - return nullptr;)) - } -}; - -} // namespace Impl - -} // namespace Kokkos +KOKKOS_IMPL_SHARED_ALLOCATION_SPECIALIZATION(Kokkos::HostSpace); //---------------------------------------------------------------------------- diff --git a/lib/kokkos/core/src/Kokkos_LogicalSpaces.hpp b/lib/kokkos/core/src/Kokkos_LogicalSpaces.hpp deleted file mode 100644 index 1ee1d2c81f..0000000000 --- a/lib/kokkos/core/src/Kokkos_LogicalSpaces.hpp +++ /dev/null @@ -1,413 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#ifndef KOKKOS_IMPL_PUBLIC_INCLUDE -#include -static_assert(false, - "Including non-public Kokkos header files is not allowed."); -#endif -#ifndef KOKKOS_LOGICALSPACES_HPP -#define KOKKOS_LOGICALSPACES_HPP - -#include -#include -#include -#include -#include -#include -#include -#include -namespace Kokkos { -namespace Experimental { -struct DefaultMemorySpaceNamer { - static constexpr const char* get_name() { - return "DefaultLogicalMemorySpaceName"; - } -}; - -struct LogicalSpaceSharesAccess { - struct shared_access {}; - struct no_shared_access {}; -}; - -/// \class LogicalMemorySpace -/// \brief -/// -/// LogicalMemorySpace is a space that is identical to another space, -/// but differentiable by name and template argument -template -class LogicalMemorySpace { -#ifdef KOKKOS_ENABLE_OPENMPTARGET - // [DZP] For some reason I don't yet know, using LogicalMemorySpaces - // inside an OpenMPTarget build causes errors in the - // SharedAllocationRecords of other types. This is my way of erroring - // a build if we instantiate a LogicalMemSpace in an OMPTarget build - static_assert(!std::is_same::value, - "Can't use LogicalMemorySpaces in an OpenMPTarget build, we're " - "debugging memory issues"); -#endif - public: - //! Tag this class as a kokkos memory space - using memory_space = LogicalMemorySpace; - using size_type = typename BaseSpace::size_type; - - /// \typedef execution_space - /// \brief Default execution space for this memory space. - /// - /// Every memory space has a default execution space. This is - /// useful for things like initializing a View (which happens in - /// parallel using the View's default execution space). - - using execution_space = - std::conditional_t::value, - typename BaseSpace::execution_space, - DefaultBaseExecutionSpace>; - - using device_type = Kokkos::Device; - - LogicalMemorySpace() = default; - - template - LogicalMemorySpace(Args&&... args) : underlying_space((Args &&) args...) {} - - /**\brief Allocate untracked memory in the space */ - void* allocate(const size_t arg_alloc_size) const { - return allocate("[unlabeled]", arg_alloc_size); - } - void* allocate(const char* arg_label, const size_t arg_alloc_size, - const size_t arg_logical_size = 0) const { - return impl_allocate(arg_label, arg_alloc_size, arg_logical_size); - } - - /**\brief Deallocate untracked memory in the space */ - void deallocate(void* const arg_alloc_ptr, - const size_t arg_alloc_size) const { - deallocate("[unlabeled]", arg_alloc_ptr, arg_alloc_size); - } - void deallocate(const char* arg_label, void* const arg_alloc_ptr, - const size_t arg_alloc_size, - const size_t arg_logical_size = 0) const { - impl_deallocate(arg_label, arg_alloc_ptr, arg_alloc_size, arg_logical_size); - } - - /**\brief Return Name of the MemorySpace */ - constexpr static const char* name() { return Namer::get_name(); } - - private: - BaseSpace underlying_space; - template - friend class LogicalMemorySpace; - friend class Kokkos::Impl::SharedAllocationRecord; - - void* impl_allocate(const char* arg_label, const size_t arg_alloc_size, - const size_t arg_logical_size = 0, - Kokkos::Tools::SpaceHandle arg_handle = - Kokkos::Tools::make_space_handle(name())) const { - return underlying_space.impl_allocate(arg_label, arg_alloc_size, - arg_logical_size, arg_handle); - } - void impl_deallocate(const char* arg_label, void* const arg_alloc_ptr, - const size_t arg_alloc_size, - const size_t arg_logical_size = 0, - const Kokkos::Tools::SpaceHandle arg_handle = - Kokkos::Tools::make_space_handle(name())) const { - underlying_space.impl_deallocate(arg_label, arg_alloc_ptr, arg_alloc_size, - arg_logical_size, arg_handle); - } -}; -} // namespace Experimental -} // namespace Kokkos - -//---------------------------------------------------------------------------- - -namespace Kokkos { - -namespace Impl { - -template -struct MemorySpaceAccess< - Kokkos::Experimental::LogicalMemorySpace< - BaseSpace, DefaultBaseExecutionSpace, Namer, - Kokkos::Experimental::LogicalSpaceSharesAccess::shared_access>, - OtherSpace> { - enum { assignable = MemorySpaceAccess::assignable }; - enum { accessible = MemorySpaceAccess::accessible }; - enum { deepcopy = MemorySpaceAccess::deepcopy }; -}; - -template -struct MemorySpaceAccess< - OtherSpace, - Kokkos::Experimental::LogicalMemorySpace< - BaseSpace, DefaultBaseExecutionSpace, Namer, - Kokkos::Experimental::LogicalSpaceSharesAccess::shared_access>> { - enum { assignable = MemorySpaceAccess::assignable }; - enum { accessible = MemorySpaceAccess::accessible }; - enum { deepcopy = MemorySpaceAccess::deepcopy }; -}; - -template -struct MemorySpaceAccess< - Kokkos::Experimental::LogicalMemorySpace< - BaseSpace, DefaultBaseExecutionSpace, Namer, - Kokkos::Experimental::LogicalSpaceSharesAccess::shared_access>, - Kokkos::Experimental::LogicalMemorySpace< - BaseSpace, DefaultBaseExecutionSpace, Namer, - Kokkos::Experimental::LogicalSpaceSharesAccess::shared_access>> { - enum { assignable = true }; - enum { accessible = true }; - enum { deepcopy = true }; -}; - -} // namespace Impl - -} // namespace Kokkos - -//---------------------------------------------------------------------------- - -namespace Kokkos { - -namespace Impl { -template -class SharedAllocationRecord, - void> : public SharedAllocationRecord { - private: - using SpaceType = - Kokkos::Experimental::LogicalMemorySpace; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - - static void deallocate(RecordBase* arg_rec) { - delete static_cast(arg_rec); - } - -#ifdef KOKKOS_ENABLE_DEBUG - /**\brief Root record for tracked allocations from this - * LogicalMemorySpace instance */ - static RecordBase s_root_record; -#endif - - const SpaceType m_space; - - protected: - ~SharedAllocationRecord() { - m_space.deallocate(RecordBase::m_alloc_ptr->m_label, - SharedAllocationRecord::m_alloc_ptr, - SharedAllocationRecord::m_alloc_size, - (SharedAllocationRecord::m_alloc_size - - sizeof(SharedAllocationHeader))); - } - SharedAllocationRecord() = default; - - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, const SpaceType& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate) - : SharedAllocationRecord(arg_space, arg_label, arg_alloc_size, - arg_dealloc) {} - - SharedAllocationRecord( - const SpaceType& arg_space, const std::string& arg_label, - const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate) - : SharedAllocationRecord( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - // Fill in the Header information - RecordBase::m_alloc_ptr->m_record = - static_cast*>(this); - - strncpy(RecordBase::m_alloc_ptr->m_label, arg_label.c_str(), - SharedAllocationHeader::maximum_label_length - 1); - // Set last element zero, in case c_str is too long - RecordBase::m_alloc_ptr - ->m_label[SharedAllocationHeader::maximum_label_length - 1] = '\0'; - } - - public: - inline std::string get_label() const { - return std::string(RecordBase::head()->m_label); - } - KOKKOS_INLINE_FUNCTION static SharedAllocationRecord* allocate( - const SpaceType& arg_space, const std::string& arg_label, - const size_t arg_alloc_size) { - KOKKOS_IF_ON_HOST((return new SharedAllocationRecord(arg_space, arg_label, - arg_alloc_size);)) - KOKKOS_IF_ON_DEVICE(((void)arg_space; (void)arg_label; (void)arg_alloc_size; - return nullptr;)) - } - - /**\brief Allocate tracked memory in the space */ - static void* allocate_tracked(const SpaceType& arg_space, - const std::string& arg_label, - const size_t arg_alloc_size) { - if (!arg_alloc_size) return (void*)nullptr; - - SharedAllocationRecord* const r = - allocate(arg_space, arg_label, arg_alloc_size); - - RecordBase::increment(r); - - return r->data(); - } - - /**\brief Reallocate tracked memory in the space */ - static void* reallocate_tracked(void* const arg_alloc_ptr, - const size_t arg_alloc_size) { - SharedAllocationRecord* const r_old = get_record(arg_alloc_ptr); - SharedAllocationRecord* const r_new = - allocate(r_old->m_space, r_old->get_label(), arg_alloc_size); - - Kokkos::Impl::DeepCopy( - r_new->data(), r_old->data(), std::min(r_old->size(), r_new->size())); - Kokkos::fence( - "SharedAllocationRecord::reallocate_tracked: fence after copying data"); - - RecordBase::increment(r_new); - RecordBase::decrement(r_old); - - return r_new->data(); - } - /**\brief Deallocate tracked memory in the space */ - static void deallocate_tracked(void* const arg_alloc_ptr) { - if (arg_alloc_ptr != nullptr) { - SharedAllocationRecord* const r = get_record(arg_alloc_ptr); - - RecordBase::decrement(r); - } - } - - static SharedAllocationRecord* get_record(void* alloc_ptr) { - using Header = SharedAllocationHeader; - using RecordHost = SharedAllocationRecord; - - SharedAllocationHeader const* const head = - alloc_ptr ? Header::get_header(alloc_ptr) - : (SharedAllocationHeader*)nullptr; - RecordHost* const record = - head ? static_cast(head->m_record) : (RecordHost*)nullptr; - - if (!alloc_ptr || record->m_alloc_ptr != head) { - Kokkos::Impl::throw_runtime_exception(std::string( - "Kokkos::Impl::SharedAllocationRecord< LogicalMemorySpace<> , " - "void >::get_record ERROR")); - } - - return record; - } -#ifdef KOKKOS_ENABLE_DEBUG - static void print_records(std::ostream& s, const SpaceType&, - bool detail = false) { - SharedAllocationRecord::print_host_accessible_records( - s, "HostSpace", &s_root_record, detail); - } -#else - static void print_records(std::ostream&, const SpaceType&, - bool detail = false) { - (void)detail; - throw_runtime_exception( - "SharedAllocationRecord::print_records only works " - "with KOKKOS_ENABLE_DEBUG enabled"); - } -#endif -}; -#ifdef KOKKOS_ENABLE_DEBUG -/**\brief Root record for tracked allocations from this LogicalSpace - * instance */ -template -SharedAllocationRecord - SharedAllocationRecord, - void>::s_root_record; -#endif - -} // namespace Impl - -} // namespace Kokkos - -//---------------------------------------------------------------------------- - -namespace Kokkos { - -namespace Impl { - -template -struct DeepCopy, - Kokkos::Experimental::LogicalMemorySpace< - BaseSpace, DefaultBaseExecutionSpace, Namer, SharesAccess>, - ExecutionSpace> { - DeepCopy(void* dst, void* src, size_t n) { - DeepCopy(dst, src, n); - } - DeepCopy(const ExecutionSpace& exec, void* dst, void* src, size_t n) { - DeepCopy(exec, dst, src, n); - } -}; - -template -struct DeepCopy, - ExecutionSpace> { - DeepCopy(void* dst, void* src, size_t n) { - DeepCopy(dst, src, n); - } - DeepCopy(const ExecutionSpace& exec, void* dst, void* src, size_t n) { - DeepCopy(exec, dst, src, n); - } -}; - -template -struct DeepCopy, - DestinationSpace, ExecutionSpace> { - DeepCopy(void* dst, void* src, size_t n) { - DeepCopy(dst, src, n); - } - DeepCopy(const ExecutionSpace& exec, void* dst, void* src, size_t n) { - DeepCopy(exec, dst, src, n); - } -}; -} // namespace Impl - -} // namespace Kokkos -#endif // KOKKOS_LOGICALSPACES_HPP diff --git a/lib/kokkos/core/src/Kokkos_Macros.hpp b/lib/kokkos/core/src/Kokkos_Macros.hpp index 3cf7ac4fa2..b255d2a519 100644 --- a/lib/kokkos/core/src/Kokkos_Macros.hpp +++ b/lib/kokkos/core/src/Kokkos_Macros.hpp @@ -84,11 +84,12 @@ //---------------------------------------------------------------------------- -#if !defined(KOKKOS_ENABLE_THREADS) && !defined(KOKKOS_ENABLE_CUDA) && \ - !defined(KOKKOS_ENABLE_OPENMP) && !defined(KOKKOS_ENABLE_HPX) && \ - !defined(KOKKOS_ENABLE_OPENMPTARGET) && !defined(KOKKOS_ENABLE_HIP) && \ - !defined(KOKKOS_ENABLE_SYCL) -#define KOKKOS_INTERNAL_NOT_PARALLEL +#if defined(KOKKOS_ENABLE_ATOMICS_BYPASS) && \ + (defined(KOKKOS_ENABLE_THREADS) || defined(KOKKOS_ENABLE_CUDA) || \ + defined(KOKKOS_ENABLE_OPENMP) || defined(KOKKOS_ENABLE_HPX) || \ + defined(KOKKOS_ENABLE_OPENMPTARGET) || defined(KOKKOS_ENABLE_HIP) || \ + defined(KOKKOS_ENABLE_SYCL) || defined(KOKKOS_ENABLE_OPENACC)) +#error Atomics may only be disabled if neither a host parallel nor a device backend is enabled #endif #define KOKKOS_ENABLE_CXX11_DISPATCH_LAMBDA @@ -339,12 +340,6 @@ #define KOKKOS_IMPL_DEVICE_FUNCTION #endif -// Temporary solution for SYCL not supporting printf in kernels. -// Might disappear at any point once we have found another solution. -#if !defined(KOKKOS_IMPL_DO_NOT_USE_PRINTF) -#define KOKKOS_IMPL_DO_NOT_USE_PRINTF(...) ::printf(__VA_ARGS__) -#endif - //---------------------------------------------------------------------------- // Define final version of functions. This is so that clang tidy can find these // macros more easily @@ -433,22 +428,6 @@ #define KOKKOS_ENABLE_DEFAULT_DEVICE_TYPE_SERIAL #endif -//---------------------------------------------------------------------------- -// Determine for what space the code is being compiled: -#if defined(KOKKOS_ENABLE_DEPRECATED_CODE_3) - -#if defined(__CUDACC__) && defined(__CUDA_ARCH__) && defined(KOKKOS_ENABLE_CUDA) -#define KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_CUDA -#elif defined(__SYCL_DEVICE_ONLY__) && defined(KOKKOS_ENABLE_SYCL) -#define KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_SYCL -#elif defined(__HIPCC__) && defined(__HIP_DEVICE_COMPILE__) && \ - defined(KOKKOS_ENABLE_HIP) -#define KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HIP_GPU -#else -#define KOKKOS_ACTIVE_EXECUTION_MEMORY_SPACE_HOST -#endif - -#endif //---------------------------------------------------------------------------- // Remove surrounding parentheses if present diff --git a/lib/kokkos/core/src/Kokkos_MasterLock.hpp b/lib/kokkos/core/src/Kokkos_MasterLock.hpp deleted file mode 100644 index 1d09617371..0000000000 --- a/lib/kokkos/core/src/Kokkos_MasterLock.hpp +++ /dev/null @@ -1,56 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#ifndef KOKKOS_IMPL_PUBLIC_INCLUDE -#include -static_assert(false, - "Including non-public Kokkos header files is not allowed."); -#endif -#ifndef KOKKOS_MASTER_LOCK_HPP -#define KOKKOS_MASTER_LOCK_HPP - -#include - -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - -namespace Kokkos { -namespace Experimental { - -// my be used to coordinate work between master instances -// SHOULD NOT be used within a parallel algorithm -// -// This lock should be used with with a scoped lock guard -// i.e. std::unique_lock, std::lock_guard -// -// cannot be copied or moved -// has the following functions available -// -// Lock() -// ~Lock() -// -// void lock() -// void unlock() -// bool try_lock() -// -template -class MasterLock; - -} // namespace Experimental -} // namespace Kokkos - -#endif - -#endif // KOKKOS_MASTER_LOCK_HPP diff --git a/lib/kokkos/core/src/Kokkos_MathematicalConstants.hpp b/lib/kokkos/core/src/Kokkos_MathematicalConstants.hpp index 51a50d347d..1a77f373fd 100644 --- a/lib/kokkos/core/src/Kokkos_MathematicalConstants.hpp +++ b/lib/kokkos/core/src/Kokkos_MathematicalConstants.hpp @@ -51,24 +51,6 @@ KOKKOS_IMPL_MATH_CONSTANT(phi, 1.618033988749894848204586834365638118L); } // namespace Kokkos::numbers -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -namespace Kokkos::Experimental { -using Kokkos::numbers::e_v; -using Kokkos::numbers::egamma_v; -using Kokkos::numbers::inv_pi_v; -using Kokkos::numbers::inv_sqrt3_v; -using Kokkos::numbers::inv_sqrtpi_v; -using Kokkos::numbers::ln10_v; -using Kokkos::numbers::ln2_v; -using Kokkos::numbers::log10e_v; -using Kokkos::numbers::log2e_v; -using Kokkos::numbers::phi_v; -using Kokkos::numbers::pi_v; -using Kokkos::numbers::sqrt2_v; -using Kokkos::numbers::sqrt3_v; -} // namespace Kokkos::Experimental -#endif - #ifdef KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_MATHCONSTANTS #undef KOKKOS_IMPL_PUBLIC_INCLUDE #undef KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_MATHCONSTANTS diff --git a/lib/kokkos/core/src/Kokkos_MathematicalFunctions.hpp b/lib/kokkos/core/src/Kokkos_MathematicalFunctions.hpp index ee64c67b93..3fead8dd29 100644 --- a/lib/kokkos/core/src/Kokkos_MathematicalFunctions.hpp +++ b/lib/kokkos/core/src/Kokkos_MathematicalFunctions.hpp @@ -92,16 +92,6 @@ using promote_3_t = typename promote_3::type; #endif #endif -#if defined(KOKKOS_ENABLE_DEPRECATED_CODE_3) -#define KOKKOS_IMPL_MATH_FUNCTIONS_DEFINED_IF_DEPRECATED_CODE_ENABLED( \ - USING_DECLARATIONS_IN_EXPERIMENTAL_NAMESPACE) \ - USING_DECLARATIONS_IN_EXPERIMENTAL_NAMESPACE -#else -#define KOKKOS_IMPL_MATH_FUNCTIONS_DEFINED_IF_DEPRECATED_CODE_ENABLED( \ - USING_DECLARATIONS_IN_EXPERIMENTAL_NAMESPACE) \ - /* nothing */ -#endif - #define KOKKOS_IMPL_MATH_UNARY_FUNCTION(FUNC) \ KOKKOS_INLINE_FUNCTION float FUNC(float x) { \ using KOKKOS_IMPL_MATH_FUNCTIONS_NAMESPACE::FUNC; \ @@ -128,13 +118,7 @@ using promote_3_t = typename promote_3::type; T x) { \ using KOKKOS_IMPL_MATH_FUNCTIONS_NAMESPACE::FUNC; \ return FUNC(static_cast(x)); \ - } \ - KOKKOS_IMPL_MATH_FUNCTIONS_DEFINED_IF_DEPRECATED_CODE_ENABLED( \ - namespace Experimental { \ - using ::Kokkos::FUNC; \ - using ::Kokkos::FUNC##f; \ - using ::Kokkos::FUNC##l; \ - }) + } // isinf, isnan, and isinfinite do not work on Windows with CUDA with std:: // getting warnings about calling host function in device function then @@ -151,9 +135,7 @@ using promote_3_t = typename promote_3::type; KOKKOS_INLINE_FUNCTION std::enable_if_t, bool> FUNC( \ T x) { \ return ::FUNC(static_cast(x)); \ - } \ - KOKKOS_IMPL_MATH_FUNCTIONS_DEFINED_IF_DEPRECATED_CODE_ENABLED( \ - namespace Experimental { using ::Kokkos::FUNC; }) + } #else #define KOKKOS_IMPL_MATH_UNARY_PREDICATE(FUNC) \ KOKKOS_INLINE_FUNCTION bool FUNC(float x) { \ @@ -173,9 +155,7 @@ using promote_3_t = typename promote_3::type; T x) { \ using KOKKOS_IMPL_MATH_FUNCTIONS_NAMESPACE::FUNC; \ return FUNC(static_cast(x)); \ - } \ - KOKKOS_IMPL_MATH_FUNCTIONS_DEFINED_IF_DEPRECATED_CODE_ENABLED( \ - namespace Experimental { using ::Kokkos::FUNC; }) + } #endif #define KOKKOS_IMPL_MATH_BINARY_FUNCTION(FUNC) \ @@ -218,16 +198,10 @@ using promote_3_t = typename promote_3::type; long double> \ FUNC(T1 x, T2 y) { \ using Promoted = Kokkos::Impl::promote_2_t; \ - static_assert(std::is_same_v, ""); \ + static_assert(std::is_same_v); \ using std::FUNC; \ return FUNC(static_cast(x), static_cast(y)); \ - } \ - KOKKOS_IMPL_MATH_FUNCTIONS_DEFINED_IF_DEPRECATED_CODE_ENABLED( \ - namespace Experimental { \ - using ::Kokkos::FUNC; \ - using ::Kokkos::FUNC##f; \ - using ::Kokkos::FUNC##l; \ - }) + } #define KOKKOS_IMPL_MATH_TERNARY_FUNCTION(FUNC) \ KOKKOS_INLINE_FUNCTION float FUNC(float x, float y, float z) { \ @@ -314,8 +288,6 @@ inline long double abs(long double x) { using std::abs; return abs(x); } -KOKKOS_IMPL_MATH_FUNCTIONS_DEFINED_IF_DEPRECATED_CODE_ENABLED( - namespace Experimental { using ::Kokkos::abs; }) KOKKOS_IMPL_MATH_UNARY_FUNCTION(fabs) KOKKOS_IMPL_MATH_BINARY_FUNCTION(fmod) KOKKOS_IMPL_MATH_BINARY_FUNCTION(remainder) @@ -336,12 +308,6 @@ KOKKOS_INLINE_FUNCTION float nanf(char const*) { return sycl::nan(0u); } KOKKOS_INLINE_FUNCTION double nan(char const*) { return sycl::nan(0ul); } #endif inline long double nanl(char const* arg) { return ::nanl(arg); } -KOKKOS_IMPL_MATH_FUNCTIONS_DEFINED_IF_DEPRECATED_CODE_ENABLED( - namespace Experimental { - using ::Kokkos::nan; - using ::Kokkos::nanf; - using ::Kokkos::nanl; - }) // Exponential functions KOKKOS_IMPL_MATH_UNARY_FUNCTION(exp) // FIXME_NVHPC nvc++ has issues with exp2 @@ -478,7 +444,6 @@ KOKKOS_IMPL_MATH_UNARY_PREDICATE(signbit) // islessgreater // isunordered -#undef KOKKOS_IMPL_MATH_FUNCTIONS_DEFINED_IF_DEPRECATED_CODE_ENABLED #undef KOKKOS_IMPL_MATH_FUNCTIONS_NAMESPACE #undef KOKKOS_IMPL_MATH_UNARY_FUNCTION #undef KOKKOS_IMPL_MATH_UNARY_PREDICATE diff --git a/lib/kokkos/core/src/Kokkos_MinMaxClamp.hpp b/lib/kokkos/core/src/Kokkos_MinMax.hpp similarity index 83% rename from lib/kokkos/core/src/Kokkos_MinMaxClamp.hpp rename to lib/kokkos/core/src/Kokkos_MinMax.hpp index 37a28a80b6..5c60a88bfb 100644 --- a/lib/kokkos/core/src/Kokkos_MinMaxClamp.hpp +++ b/lib/kokkos/core/src/Kokkos_MinMax.hpp @@ -14,13 +14,8 @@ // //@HEADER -#ifndef KOKKOS_IMPL_PUBLIC_INCLUDE -#include -static_assert(false, - "Including non-public Kokkos header files is not allowed."); -#endif -#ifndef KOKKOS_MIN_MAX_CLAMP_HPP -#define KOKKOS_MIN_MAX_CLAMP_HPP +#ifndef KOKKOS_MIN_MAX_HPP +#define KOKKOS_MIN_MAX_HPP #include #include @@ -29,22 +24,6 @@ static_assert(false, namespace Kokkos { -// clamp -template -constexpr KOKKOS_INLINE_FUNCTION const T& clamp(const T& value, const T& lo, - const T& hi) { - KOKKOS_EXPECTS(!(hi < lo)); - return (value < lo) ? lo : (hi < value) ? hi : value; -} - -template -constexpr KOKKOS_INLINE_FUNCTION const T& clamp(const T& value, const T& lo, - const T& hi, - ComparatorType comp) { - KOKKOS_EXPECTS(!comp(hi, lo)); - return comp(value, lo) ? lo : comp(hi, value) ? hi : value; -} - // max template constexpr KOKKOS_INLINE_FUNCTION const T& max(const T& a, const T& b) { @@ -199,15 +178,6 @@ KOKKOS_INLINE_FUNCTION constexpr Kokkos::pair minmax( return result; } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -namespace Experimental { -using ::Kokkos::clamp; -using ::Kokkos::max; -using ::Kokkos::min; -using ::Kokkos::minmax; -} // namespace Experimental -#endif - } // namespace Kokkos #endif diff --git a/lib/kokkos/core/src/Kokkos_Pair.hpp b/lib/kokkos/core/src/Kokkos_Pair.hpp index 7127c78280..9be8d8d7aa 100644 --- a/lib/kokkos/core/src/Kokkos_Pair.hpp +++ b/lib/kokkos/core/src/Kokkos_Pair.hpp @@ -28,6 +28,7 @@ #endif #include +#include #include namespace Kokkos { @@ -484,7 +485,6 @@ KOKKOS_FORCEINLINE_FUNCTION constexpr bool operator>=( } namespace Impl { - template struct is_pair_like : std::false_type {}; template diff --git a/lib/kokkos/core/src/Kokkos_Printf.hpp b/lib/kokkos/core/src/Kokkos_Printf.hpp index 39f95825c3..63a4cce2ae 100644 --- a/lib/kokkos/core/src/Kokkos_Printf.hpp +++ b/lib/kokkos/core/src/Kokkos_Printf.hpp @@ -30,8 +30,11 @@ namespace Kokkos { // In contrast to std::printf, return void to get a consistent behavior across // backends. The GPU backends always return 1 and NVHPC only compiles if we // don't ask for the return value. +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) +using ::printf; +#else template -KOKKOS_FUNCTION void printf(const char* format, Args... args) { +KOKKOS_FORCEINLINE_FUNCTION void printf(const char* format, Args... args) { #ifdef KOKKOS_ENABLE_SYCL // Some compilers warn if "args" is empty and format is not a string literal if constexpr (sizeof...(Args) == 0) @@ -39,15 +42,13 @@ KOKKOS_FUNCTION void printf(const char* format, Args... args) { else sycl::ext::oneapi::experimental::printf(format, args...); #else - if constexpr (sizeof...(Args) == 0) ::printf("%s", format); - // FIXME_OPENMPTARGET non-string-literal argument used in printf is not - // supported for spir64 -#if !(defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU)) + if constexpr (sizeof...(Args) == 0) + ::printf("%s", format); else ::printf(format, args...); #endif -#endif } +#endif } // namespace Kokkos diff --git a/lib/kokkos/core/src/Kokkos_Profiling_ProfileSection.hpp b/lib/kokkos/core/src/Kokkos_Profiling_ProfileSection.hpp index 29a04ac3b0..e7a9ba0c7e 100644 --- a/lib/kokkos/core/src/Kokkos_Profiling_ProfileSection.hpp +++ b/lib/kokkos/core/src/Kokkos_Profiling_ProfileSection.hpp @@ -22,49 +22,34 @@ #endif #include -#include #include #include -namespace Kokkos { -namespace Profiling { +namespace Kokkos::Profiling { + +class [[nodiscard]] ProfilingSection { + uint32_t sectionID; -class ProfilingSection { public: ProfilingSection(ProfilingSection const&) = delete; ProfilingSection& operator=(ProfilingSection const&) = delete; - ProfilingSection(const std::string& sectionName) { - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::createProfileSection(sectionName, &secID); - } +#if defined(__has_cpp_attribute) && __has_cpp_attribute(nodiscard) >= 201907 + [[nodiscard]] +#endif + explicit ProfilingSection(const std::string& sectionName) { + Kokkos::Profiling::createProfileSection(sectionName, §ionID); } - void start() { - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::startSection(secID); - } - } + void start() { Kokkos::Profiling::startSection(sectionID); } - void stop() { - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::stopSection(secID); - } - } + void stop() { Kokkos::Profiling::stopSection(sectionID); } - ~ProfilingSection() { - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::destroyProfileSection(secID); - } - } - - protected: - uint32_t secID; + ~ProfilingSection() { Kokkos::Profiling::destroyProfileSection(sectionID); } }; -} // namespace Profiling -} // namespace Kokkos +} // namespace Kokkos::Profiling #ifdef KOKKOS_IMPL_PUBLIC_INCLUDE_NOTDEFINED_CORE #undef KOKKOS_IMPL_PUBLIC_INCLUDE diff --git a/lib/kokkos/core/src/Kokkos_Swap.hpp b/lib/kokkos/core/src/Kokkos_Swap.hpp new file mode 100644 index 0000000000..2f849a13ab --- /dev/null +++ b/lib/kokkos/core/src/Kokkos_Swap.hpp @@ -0,0 +1,68 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_SWAP_HPP +#define KOKKOS_SWAP_HPP + +#include + +#include +#include +#include + +namespace Kokkos { + +template +KOKKOS_FUNCTION constexpr std::enable_if_t && + std::is_move_assignable_v> +kokkos_swap(T& a, T& b) noexcept(std::is_nothrow_move_constructible_v&& + std::is_nothrow_move_assignable_v) { + T t(std::move(a)); + a = std::move(b); + b = std::move(t); +} + +namespace Impl { + +template +struct is_swappable { + template + static decltype(kokkos_swap(std::declval(), std::declval())) + test_swap(int); + struct Nope; + template + static Nope test_swap(long); + static constexpr bool value = + !std::is_same_v(0)), Nope>; +}; + +template +inline constexpr bool is_nothrow_swappable_v = + noexcept(kokkos_swap(std::declval(), std::declval())); + +} // namespace Impl + +template +KOKKOS_FUNCTION constexpr std::enable_if_t::value> +kokkos_swap(T (&a)[N], T (&b)[N]) noexcept(Impl::is_nothrow_swappable_v) { + for (std::size_t i = 0; i < N; ++i) { + kokkos_swap(a[i], b[i]); + } +} + +} // namespace Kokkos + +#endif diff --git a/lib/kokkos/core/src/Kokkos_Tuners.hpp b/lib/kokkos/core/src/Kokkos_Tuners.hpp index 618401654e..f5ffc66af5 100644 --- a/lib/kokkos/core/src/Kokkos_Tuners.hpp +++ b/lib/kokkos/core/src/Kokkos_Tuners.hpp @@ -256,13 +256,14 @@ auto get_point_helper(const PointType& in, const ArrayType& indices, template struct GetPoint; -template -struct GetPoint> { +template +struct GetPoint< + PointType, + std::array> { using index_set_type = - std::array; + std::array; static auto build(const PointType& in, const index_set_type& indices) { - return get_point_helper(in, indices, std::make_index_sequence{}); + return get_point_helper(in, indices, std::make_index_sequence{}); } }; diff --git a/lib/kokkos/core/src/Kokkos_View.hpp b/lib/kokkos/core/src/Kokkos_View.hpp index bcbb28014c..484a0e6f62 100644 --- a/lib/kokkos/core/src/Kokkos_View.hpp +++ b/lib/kokkos/core/src/Kokkos_View.hpp @@ -39,7 +39,7 @@ static_assert(false, #ifdef KOKKOS_ENABLE_IMPL_MDSPAN #include #endif -#include +#include //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- @@ -75,25 +75,59 @@ constexpr KOKKOS_INLINE_FUNCTION std::size_t count_valid_integers( (i6 != KOKKOS_INVALID_INDEX) + (i7 != KOKKOS_INVALID_INDEX); } -KOKKOS_INLINE_FUNCTION -void runtime_check_rank(const size_t rank, const size_t dyn_rank, - const bool is_void_spec, const size_t i0, - const size_t i1, const size_t i2, const size_t i3, - const size_t i4, const size_t i5, const size_t i6, - const size_t i7, const std::string& label) { +// FIXME Ideally, we would not instantiate this function for every possible View +// type. We should be able to only pass "extent" when we use mdspan. +template +KOKKOS_INLINE_FUNCTION void runtime_check_rank( + const View&, const bool is_void_spec, const size_t i0, const size_t i1, + const size_t i2, const size_t i3, const size_t i4, const size_t i5, + const size_t i6, const size_t i7, const char* label) { (void)(label); if (is_void_spec) { const size_t num_passed_args = count_valid_integers(i0, i1, i2, i3, i4, i5, i6, i7); + // We either allow to pass as many extents as the dynamic rank is, or + // as many extents as the total rank is. In the latter case, the given + // extents for the static dimensions must match the + // compile-time extents. + constexpr int rank = View::rank(); + constexpr int dyn_rank = View::rank_dynamic(); + const bool n_args_is_dyn_rank = num_passed_args == dyn_rank; + const bool n_args_is_rank = num_passed_args == rank; - if (num_passed_args != dyn_rank && num_passed_args != rank) { + if constexpr (rank != dyn_rank) { + if (n_args_is_rank) { + size_t new_extents[8] = {i0, i1, i2, i3, i4, i5, i6, i7}; + for (int i = dyn_rank; i < rank; ++i) + if (new_extents[i] != View::static_extent(i)) { + KOKKOS_IF_ON_HOST( + const std::string message = + "The specified run-time extent for Kokkos::View '" + + std::string(label) + + "' does not match the compile-time extent in dimension " + + std::to_string(i) + ". The given extent is " + + std::to_string(new_extents[i]) + " but should be " + + std::to_string(View::static_extent(i)) + ".\n"; + Kokkos::abort(message.c_str());) + KOKKOS_IF_ON_DEVICE( + Kokkos::abort( + "The specified run-time extents for a Kokkos::View " + "do not match the compile-time extents.");) + } + } + } + + if (!n_args_is_dyn_rank && !n_args_is_rank) { KOKKOS_IF_ON_HOST( const std::string message = - "Constructor for Kokkos View '" + label + - "' has mismatched number of arguments. Number of arguments = " + + "Constructor for Kokkos::View '" + std::string(label) + + "' has mismatched number of arguments. The number " + "of arguments = " + std::to_string(num_passed_args) + - " but dynamic rank = " + std::to_string(dyn_rank) + " \n"; + " neither matches the dynamic rank = " + + std::to_string(dyn_rank) + + " nor the total rank = " + std::to_string(rank) + "\n"; Kokkos::abort(message.c_str());) KOKKOS_IF_ON_DEVICE(Kokkos::abort("Constructor for Kokkos View has " "mismatched number of arguments.");) @@ -814,15 +848,15 @@ class View : public ViewTraits { template static KOKKOS_FUNCTION void check_access_member_function_valid_args(Is...) { - static_assert(rank <= sizeof...(Is), ""); - static_assert(sizeof...(Is) <= 8, ""); - static_assert(Kokkos::Impl::are_integral::value, ""); + static_assert(rank <= sizeof...(Is)); + static_assert(sizeof...(Is) <= 8); + static_assert(Kokkos::Impl::are_integral::value); } template static KOKKOS_FUNCTION void check_operator_parens_valid_args(Is...) { - static_assert(rank == sizeof...(Is), ""); - static_assert(Kokkos::Impl::are_integral::value, ""); + static_assert(rank == sizeof...(Is)); + static_assert(Kokkos::Impl::are_integral::value); } public: @@ -1402,21 +1436,30 @@ class View : public ViewTraits { "execution space"); } - size_t i0 = arg_layout.dimension[0]; - size_t i1 = arg_layout.dimension[1]; - size_t i2 = arg_layout.dimension[2]; - size_t i3 = arg_layout.dimension[3]; - size_t i4 = arg_layout.dimension[4]; - size_t i5 = arg_layout.dimension[5]; - size_t i6 = arg_layout.dimension[6]; - size_t i7 = arg_layout.dimension[7]; +#ifdef KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK + if constexpr (std::is_same_v || + std::is_same_v || + std::is_same_v || + is_layouttiled::value) { + size_t i0 = arg_layout.dimension[0]; + size_t i1 = arg_layout.dimension[1]; + size_t i2 = arg_layout.dimension[2]; + size_t i3 = arg_layout.dimension[3]; + size_t i4 = arg_layout.dimension[4]; + size_t i5 = arg_layout.dimension[5]; + size_t i6 = arg_layout.dimension[6]; + size_t i7 = arg_layout.dimension[7]; - const std::string& alloc_name = - Impl::get_property(prop_copy); - Impl::runtime_check_rank( - rank, rank_dynamic, - std::is_same::value, i0, i1, i2, i3, - i4, i5, i6, i7, alloc_name); + const std::string& alloc_name = + Impl::get_property(prop_copy); + Impl::runtime_check_rank( + *this, std::is_same::value, i0, i1, + i2, i3, i4, i5, i6, i7, alloc_name.c_str()); + } +#endif Kokkos::Impl::SharedAllocationRecord<>* record = m_map.allocate_shared( prop_copy, arg_layout, Impl::ViewCtorProp::has_execution_space); @@ -1445,6 +1488,29 @@ class View : public ViewTraits { typename Impl::ViewCtorProp::pointer_type>::value, "Constructing View to wrap user memory must supply matching pointer " "type"); + +#ifdef KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK + if constexpr (std::is_same_v || + std::is_same_v || + std::is_same_v || + is_layouttiled::value) { + size_t i0 = arg_layout.dimension[0]; + size_t i1 = arg_layout.dimension[1]; + size_t i2 = arg_layout.dimension[2]; + size_t i3 = arg_layout.dimension[3]; + size_t i4 = arg_layout.dimension[4]; + size_t i5 = arg_layout.dimension[5]; + size_t i6 = arg_layout.dimension[6]; + size_t i7 = arg_layout.dimension[7]; + + Impl::runtime_check_rank( + *this, std::is_same::value, i0, i1, + i2, i3, i4, i5, i6, i7, "UNMANAGED"); + } +#endif } // Simple dimension-only layout diff --git a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC.cpp b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC.cpp index f54c44d66f..99daf379b6 100644 --- a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC.cpp +++ b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC.cpp @@ -58,8 +58,10 @@ void Kokkos::Experimental::OpenACC::impl_initialize( Impl::OpenACCInternal::m_acc_device_num = acc_get_device_num(acc_device_host); } else { + using Kokkos::Impl::get_visible_devices; + std::vector const& visible_devices = get_visible_devices(); using Kokkos::Impl::get_gpu; - int const dev_num = get_gpu(settings); + int const dev_num = get_gpu(settings).value_or(visible_devices[0]); acc_set_device_num(dev_num, Impl::OpenACC_Traits::dev_type); Impl::OpenACCInternal::m_acc_device_num = dev_num; } diff --git a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC.hpp b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC.hpp index b012f6a42a..5155bee33d 100644 --- a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC.hpp +++ b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC.hpp @@ -91,7 +91,11 @@ class OpenACC { #else int concurrency() const { return 256000; } // FIXME_OPENACC #endif - static bool in_parallel() { return acc_on_device(acc_device_not_host); } +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED static bool in_parallel() { + return acc_on_device(acc_device_not_host); + } +#endif uint32_t impl_instance_id() const noexcept; Impl::OpenACCInternal* impl_internal_space_instance() const { return m_space_instance.get(); diff --git a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACCSpace.cpp b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACCSpace.cpp index 141ec77fd1..acc0dcd3c6 100644 --- a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACCSpace.cpp +++ b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACCSpace.cpp @@ -19,8 +19,8 @@ #include #include #include -#include #include +#include #include @@ -66,6 +66,19 @@ void *Kokkos::Experimental::OpenACCSpace::impl_allocate( ptr = acc_malloc(arg_alloc_size); + if (!ptr) { + size_t alignment = 1; // OpenACC does not handle alignment + using Kokkos::Experimental::RawMemoryAllocationFailure; + auto failure_mode = + arg_alloc_size > 0 + ? RawMemoryAllocationFailure::FailureMode::OutOfMemoryError + : RawMemoryAllocationFailure::FailureMode::InvalidAllocationSize; + auto alloc_mechanism = + RawMemoryAllocationFailure::AllocationMechanism::OpenACCMalloc; + throw RawMemoryAllocationFailure(arg_alloc_size, alignment, failure_mode, + alloc_mechanism); + } + if (Kokkos::Profiling::profileLibraryLoaded()) { const size_t reported_size = (arg_logical_size > 0) ? arg_logical_size : arg_alloc_size; diff --git a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_DeepCopy.hpp b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_DeepCopy.hpp index 4aed7e00f7..ca022192b0 100644 --- a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_DeepCopy.hpp +++ b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_DeepCopy.hpp @@ -34,7 +34,7 @@ struct Kokkos::Impl::DeepCopy 0) { - acc_memcpy_device(dst, const_cast(src), n); + acc_memcpy_device_async(dst, const_cast(src), n, acc_async_noval); } } DeepCopy(const Kokkos::Experimental::OpenACC& exec, void* dst, @@ -52,7 +52,7 @@ struct Kokkos::Impl::DeepCopy { DeepCopy(void* dst, const void* src, size_t n) { if (n > 0) { - acc_memcpy_device(dst, const_cast(src), n); + acc_memcpy_device_async(dst, const_cast(src), n, acc_async_noval); } } DeepCopy(const ExecutionSpace& exec, void* dst, const void* src, size_t n) { @@ -60,7 +60,7 @@ struct Kokkos::Impl::DeepCopy::DeepCopy: fence before copy"); if (n > 0) { - acc_memcpy_device(dst, const_cast(src), n); + acc_memcpy_device_async(dst, const_cast(src), n, acc_async_noval); } } }; @@ -70,7 +70,9 @@ struct Kokkos::Impl::DeepCopy { DeepCopy(void* dst, const void* src, size_t n) { - if (n > 0) acc_memcpy_to_device(dst, const_cast(src), n); + if (n > 0) + acc_memcpy_to_device_async(dst, const_cast(src), n, + acc_async_noval); } DeepCopy(const Kokkos::Experimental::OpenACC& exec, void* dst, const void* src, size_t n) { @@ -85,7 +87,8 @@ struct Kokkos::Impl::DeepCopy { DeepCopy(void* dst, const void* src, size_t n) { if (n > 0) { - acc_memcpy_to_device(dst, const_cast(src), n); + acc_memcpy_to_device_async(dst, const_cast(src), n, + acc_async_noval); } } DeepCopy(const ExecutionSpace& exec, void* dst, const void* src, size_t n) { @@ -93,7 +96,8 @@ struct Kokkos::Impl::DeepCopy::DeepCopy: fence before copy"); if (n > 0) { - acc_memcpy_to_device(dst, const_cast(src), n); + acc_memcpy_to_device_async(dst, const_cast(src), n, + acc_async_noval); } } }; @@ -104,7 +108,8 @@ struct Kokkos::Impl::DeepCopy { DeepCopy(void* dst, const void* src, size_t n) { if (n > 0) { - acc_memcpy_from_device(dst, const_cast(src), n); + acc_memcpy_from_device_async(dst, const_cast(src), n, + acc_async_noval); } } DeepCopy(const Kokkos::Experimental::OpenACC& exec, void* dst, @@ -120,14 +125,17 @@ template struct Kokkos::Impl::DeepCopy< Kokkos::HostSpace, Kokkos::Experimental::OpenACCSpace, ExecutionSpace> { DeepCopy(void* dst, const void* src, size_t n) { - if (n > 0) acc_memcpy_from_device(dst, const_cast(src), n); + if (n > 0) + acc_memcpy_from_device_async(dst, const_cast(src), n, + acc_async_noval); } DeepCopy(const ExecutionSpace& exec, void* dst, const void* src, size_t n) { exec.fence( "Kokkos::Impl::DeepCopy::DeepCopy: fence before copy"); if (n > 0) { - acc_memcpy_from_device(dst, const_cast(src), n); + acc_memcpy_from_device_async(dst, const_cast(src), n, + acc_async_noval); } } }; diff --git a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_Instance.hpp b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_Instance.hpp index 6645616ba5..c3d7236872 100644 --- a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_Instance.hpp +++ b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_Instance.hpp @@ -35,7 +35,7 @@ class OpenACCInternal { public: static int m_acc_device_num; - int m_async_arg = acc_async_sync; + int m_async_arg = acc_async_noval; OpenACCInternal() = default; @@ -43,7 +43,7 @@ class OpenACCInternal { bool verify_is_initialized(const char* const label) const; - void initialize(int async_arg = acc_async_sync); + void initialize(int async_arg = acc_async_noval); void finalize(); bool is_initialized() const; diff --git a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_ParallelReduce_MDRange.hpp b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_ParallelReduce_MDRange.hpp index 2c7793dc11..5afb5e75d3 100644 --- a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_ParallelReduce_MDRange.hpp +++ b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_ParallelReduce_MDRange.hpp @@ -31,7 +31,7 @@ template ::value, + static_assert(Kokkos::Impl::always_false::value, "not implemented"); } }; @@ -136,6 +136,7 @@ class Kokkos::Impl::ParallelReduce> struct OpenACCParallelReduceHelper { OpenACCParallelReduceHelper(Functor const&, Reducer const&, Policy const&) { - static_assert(!Kokkos::Impl::always_true::value, + static_assert(Kokkos::Impl::always_false::value, "not implemented"); } }; @@ -140,6 +140,7 @@ class Kokkos::Impl::ParallelReduce::value, + static_assert(Kokkos::Impl::always_false::value, "not implemented"); } }; @@ -129,7 +129,7 @@ KOKKOS_INLINE_FUNCTION void parallel_reduce( const Impl::TeamThreadRangeBoundariesStruct& loop_boundaries, const Lambda& lambda, const JoinType& join, ValueType& init_result) { - static_assert(!Kokkos::Impl::always_true::value, + static_assert(Kokkos::Impl::always_false::value, "custom reduction is not implemented"); } @@ -140,7 +140,7 @@ KOKKOS_INLINE_FUNCTION void parallel_reduce( const Impl::ThreadVectorRangeBoundariesStruct< iType, Impl::OpenACCTeamMember>& loop_boundaries, const Lambda& lambda, const JoinType& join, ValueType& init_result) { - static_assert(!Kokkos::Impl::always_true::value, + static_assert(Kokkos::Impl::always_false::value, "custom reduction is not implemented"); } @@ -394,6 +394,7 @@ KOKKOS_INLINE_FUNCTION void parallel_reduce( vector_length); \ functor(team, val); \ } \ + acc_wait(async_arg); \ aval = val; \ } \ } // namespace Kokkos::Experimental::Impl diff --git a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_SharedAllocationRecord.cpp b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_SharedAllocationRecord.cpp index 91faa64f73..76e1514476 100644 --- a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_SharedAllocationRecord.cpp +++ b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_SharedAllocationRecord.cpp @@ -16,92 +16,11 @@ #define KOKKOS_IMPL_PUBLIC_INCLUDE -#include +#include #include -#include -#include - -#ifdef KOKKOS_ENABLE_DEBUG -Kokkos::Impl::SharedAllocationRecord SharedAllocationRecord< - Kokkos::Experimental::OpenACCSpace, void>::s_root_record; -#endif - -Kokkos::Impl::SharedAllocationRecord::~SharedAllocationRecord() { - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - (SharedAllocationRecord::m_alloc_size - - sizeof(SharedAllocationHeader))); -} - -Kokkos::Impl::SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::Experimental::OpenACCSpace &arg_space, - const std::string &arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - SharedAllocationHeader header; - - this->base_t::_fill_host_accessible_header_info(header, arg_label); - - Kokkos::Impl::DeepCopy( - RecordBase::m_alloc_ptr, &header, sizeof(SharedAllocationHeader)); - Kokkos::fence( - "SharedAllocationRecord::SharedAllocationRecord(): fence after copying header from " - "HostSpace"); -} - -Kokkos::Impl::SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::Experimental::OpenACC &arg_exec_space, - const Kokkos::Experimental::OpenACCSpace &arg_space, - const std::string &arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_exec_space, arg_space, - arg_label, arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - SharedAllocationHeader header; - - this->base_t::_fill_host_accessible_header_info(header, arg_label); - - Kokkos::Impl::DeepCopy( - arg_exec_space, RecordBase::m_alloc_ptr, &header, - sizeof(SharedAllocationHeader)); -} - -//============================================================================== -// {{{1 +#include #include -// To avoid additional compilation cost for something that's (mostly?) not -// performance sensitive, we explicitly instantiate these CRTP base classes -// here, where we have access to the associated *_timpl.hpp header files. -template class Kokkos::Impl::HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::OpenACCSpace>; -template class Kokkos::Impl::SharedAllocationRecordCommon< - Kokkos::Experimental::OpenACCSpace>; - -// end Explicit instantiations of CRTP Base classes }}}1 -//============================================================================== +KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::Experimental::OpenACCSpace); diff --git a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_SharedAllocationRecord.hpp b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_SharedAllocationRecord.hpp index cf83a5b27b..cde5ecdcb7 100644 --- a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_SharedAllocationRecord.hpp +++ b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_SharedAllocationRecord.hpp @@ -20,55 +20,7 @@ #include #include -#include - -template <> -class Kokkos::Impl::SharedAllocationRecord - : public HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::OpenACCSpace> { - private: - friend class HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::OpenACCSpace>; - friend class SharedAllocationRecordCommon; - friend Kokkos::Experimental::OpenACCSpace; - - using base_t = HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::OpenACCSpace>; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - - /**\brief Root record for tracked allocations from this OpenACCSpace - * instance */ - static RecordBase s_root_record; - - const Kokkos::Experimental::OpenACCSpace m_space; - - protected: - ~SharedAllocationRecord(); - SharedAllocationRecord() = default; - - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, - const Kokkos::Experimental::OpenACCSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate) - : SharedAllocationRecord(arg_space, arg_label, arg_alloc_size, - arg_dealloc) {} - - SharedAllocationRecord( - const Kokkos::Experimental::OpenACC& exec_space, - const Kokkos::Experimental::OpenACCSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate); - - SharedAllocationRecord( - const Kokkos::Experimental::OpenACCSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate); -}; +KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_SPECIALIZATION( + Kokkos::Experimental::OpenACCSpace); #endif diff --git a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_Team.hpp b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_Team.hpp index 4ec71f56ef..20ea392452 100644 --- a/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_Team.hpp +++ b/lib/kokkos/core/src/OpenACC/Kokkos_OpenACC_Team.hpp @@ -82,7 +82,7 @@ class OpenACCTeamMember { // FIXME_OPENACC: team_broadcast() is not implemented. template KOKKOS_FUNCTION void team_broadcast(ValueType& value, int thread_id) const { - static_assert(!Kokkos::Impl::always_true::value, + static_assert(Kokkos::Impl::always_false::value, "Kokkos Error: team_broadcast() is not implemented for the " "OpenACC backend"); return ValueType(); @@ -99,7 +99,7 @@ class OpenACCTeamMember { template KOKKOS_FUNCTION ValueType team_reduce(const ValueType& value, const JoinOp& op_in) const { - static_assert(!Kokkos::Impl::always_true::value, + static_assert(Kokkos::Impl::always_false::value, "Kokkos Error: team_reduce() is not implemented for the " "OpenACC backend"); return ValueType(); @@ -110,7 +110,7 @@ class OpenACCTeamMember { KOKKOS_FUNCTION ArgType team_scan(const ArgType& /*value*/, ArgType* const /*global_accum*/) const { static_assert( - !Kokkos::Impl::always_true::value, + Kokkos::Impl::always_false::value, "Kokkos Error: team_scan() is not implemented for the OpenACC backend"); return ArgType(); } diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP.cpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP.cpp index 9a169a435c..81f2c5c305 100644 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP.cpp +++ b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP.cpp @@ -81,29 +81,16 @@ bool OpenMP::impl_is_initialized() noexcept { return Impl::OpenMPInternal::singleton().is_initialized(); } -bool OpenMP::in_parallel(OpenMP const &exec_space) noexcept { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - return ( - (exec_space.impl_internal_space_instance()->m_level < omp_get_level()) && - (!Impl::t_openmp_instance || - Impl::t_openmp_instance->m_level < omp_get_level())); -#else +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 +KOKKOS_DEPRECATED bool OpenMP::in_parallel(OpenMP const &exec_space) noexcept { return exec_space.impl_internal_space_instance()->m_level < omp_get_level(); -#endif } +#endif int OpenMP::impl_thread_pool_size() const noexcept { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - return OpenMP::in_parallel(*this) - ? omp_get_num_threads() - : (Impl::t_openmp_instance - ? Impl::t_openmp_instance->m_pool_size - : impl_internal_space_instance()->m_pool_size); -#else - return OpenMP::in_parallel(*this) + return (impl_internal_space_instance()->get_level() < omp_get_level()) ? omp_get_num_threads() : impl_internal_space_instance()->m_pool_size; -#endif } int OpenMP::impl_max_hardware_threads() noexcept { diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP.hpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP.hpp index 594f40d524..11292af84a 100644 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP.hpp +++ b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP.hpp @@ -27,14 +27,7 @@ static_assert(false, #include -#include -#include #include - -#ifdef KOKKOS_ENABLE_HBWSPACE -#include -#endif - #include #include #include @@ -45,6 +38,8 @@ static_assert(false, #include +#include +#include #include /*--------------------------------------------------------------------------*/ @@ -53,11 +48,6 @@ namespace Kokkos { namespace Impl { class OpenMPInternal; - -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -// FIXME_OPENMP we can remove this after we remove partition_master -inline thread_local OpenMPInternal* t_openmp_instance = nullptr; -#endif } // namespace Impl /// \class OpenMP @@ -67,12 +57,7 @@ class OpenMP { //! Tag this class as a kokkos execution space using execution_space = OpenMP; - using memory_space = -#ifdef KOKKOS_ENABLE_HBWSPACE - Experimental::HBWSpace; -#else - HostSpace; -#endif + using memory_space = HostSpace; //! This execution space preferred device_type using device_type = Kokkos::Device; @@ -87,8 +72,10 @@ class OpenMP { /// \brief Print configuration information to the given output stream. void print_configuration(std::ostream& os, bool verbose = false) const; +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 /// \brief is the instance running a parallel algorithm - static bool in_parallel(OpenMP const& = OpenMP()) noexcept; + KOKKOS_DEPRECATED static bool in_parallel(OpenMP const& = OpenMP()) noexcept; +#endif /// \brief Wait until all dispatched functors complete on the given instance /// @@ -104,18 +91,6 @@ class OpenMP { /// This always returns false on OpenMP inline static bool is_asynchronous(OpenMP const& = OpenMP()) noexcept; -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - /// \brief Partition the default instance and call 'f' on each new 'master' - /// thread - /// - /// Func is a functor with the following signiture - /// void( int partition_id, int num_partitions ) - template - KOKKOS_DEPRECATED static void partition_master( - F const& f, int requested_num_partitions = 0, - int requested_partition_size = 0); -#endif - #ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 static int concurrency(OpenMP const& = OpenMP()); #else @@ -166,14 +141,7 @@ class OpenMP { }; inline int OpenMP::impl_thread_pool_rank() noexcept { - // FIXME_OPENMP Can we remove this when removing partition_master? It's only - // used in one partition_master test -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - KOKKOS_IF_ON_HOST( - (return Impl::t_openmp_instance ? 0 : omp_get_thread_num();)) -#else KOKKOS_IF_ON_HOST((return omp_get_thread_num();)) -#endif KOKKOS_IF_ON_DEVICE((return -1;)) } diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.cpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.cpp index 12bf3b71f7..32172fbc6c 100644 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.cpp +++ b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.cpp @@ -47,61 +47,6 @@ void OpenMPInternal::release_lock() { desul::MemoryScopeDevice()); } -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -void OpenMPInternal::validate_partition_impl(const int nthreads, - int &num_partitions, - int &partition_size) { - if (nthreads == 1) { - num_partitions = 1; - partition_size = 1; - } else if (num_partitions < 1 && partition_size < 1) { - int idle = nthreads; - for (int np = 2; np <= nthreads; ++np) { - for (int ps = 1; ps <= nthreads / np; ++ps) { - if (nthreads - np * ps < idle) { - idle = nthreads - np * ps; - num_partitions = np; - partition_size = ps; - } - if (idle == 0) { - break; - } - } - } - } else if (num_partitions < 1 && partition_size > 0) { - if (partition_size <= nthreads) { - num_partitions = nthreads / partition_size; - } else { - num_partitions = 1; - partition_size = nthreads; - } - } else if (num_partitions > 0 && partition_size < 1) { - if (num_partitions <= nthreads) { - partition_size = nthreads / num_partitions; - } else { - num_partitions = nthreads; - partition_size = 1; - } - } else if (num_partitions * partition_size > nthreads) { - int idle = nthreads; - const int NP = num_partitions; - const int PS = partition_size; - for (int np = NP; np > 0; --np) { - for (int ps = PS; ps > 0; --ps) { - if ((np * ps <= nthreads) && (nthreads - np * ps < idle)) { - idle = nthreads - np * ps; - num_partitions = np; - partition_size = ps; - } - if (idle == 0) { - break; - } - } - } - } -} -#endif - void OpenMPInternal::clear_thread_data() { const size_t member_bytes = sizeof(int64_t) * diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.hpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.hpp index 03f5fff395..35b9aa93ba 100644 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.hpp +++ b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Instance.hpp @@ -41,16 +41,6 @@ #include /*--------------------------------------------------------------------------*/ -namespace Kokkos { -namespace Impl { - -inline bool execute_in_serial(OpenMP const& space = OpenMP()) { - return (OpenMP::in_parallel(space) && - !(omp_get_nested() && (omp_get_level() == 1))); -} - -} // namespace Impl -} // namespace Kokkos namespace Kokkos { namespace Impl { @@ -99,11 +89,6 @@ class OpenMPInternal { // Release lock used to protect access to m_pool void release_lock(); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - static void validate_partition_impl(const int nthreads, int& num_partitions, - int& partition_size); -#endif - void resize_thread_data(size_t pool_reduce_bytes, size_t team_reduce_bytes, size_t team_shared_bytes, size_t thread_local_bytes); @@ -115,6 +100,8 @@ class OpenMPInternal { return m_pool[i]; } + int get_level() const { return m_level; } + bool is_initialized() const { return m_initialized; } bool verify_is_initialized(const char* const label) const; @@ -122,32 +109,20 @@ class OpenMPInternal { void print_configuration(std::ostream& s) const; }; -} // namespace Impl - -namespace Experimental { - -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -template <> -class MasterLock { - public: - void lock() { omp_set_lock(&m_lock); } - void unlock() { omp_unset_lock(&m_lock); } - bool try_lock() { return static_cast(omp_test_lock(&m_lock)); } - - KOKKOS_DEPRECATED MasterLock() { omp_init_lock(&m_lock); } - ~MasterLock() { omp_destroy_lock(&m_lock); } - - MasterLock(MasterLock const&) = delete; - MasterLock(MasterLock&&) = delete; - MasterLock& operator=(MasterLock const&) = delete; - MasterLock& operator=(MasterLock&&) = delete; - - private: - omp_lock_t m_lock; -}; +inline bool execute_in_serial(OpenMP const& space = OpenMP()) { +// The default value returned by `omp_get_max_active_levels` with gcc version +// lower than 11.1.0 is 2147483647 instead of 1. +#if (!defined(KOKKOS_COMPILER_GNU) || KOKKOS_COMPILER_GNU >= 1110) && \ + _OPENMP >= 201511 + bool is_nested = omp_get_max_active_levels() > 1; +#else + bool is_nested = static_cast(omp_get_nested()); #endif + return (space.impl_internal_space_instance()->get_level() < omp_get_level() && + !(is_nested && (omp_get_level() == 1))); +} -} // namespace Experimental +} // namespace Impl namespace Experimental { namespace Impl { @@ -202,50 +177,6 @@ std::vector partition_space(OpenMP const& main_instance, return Impl::create_OpenMP_instances(main_instance, weights); } } // namespace Experimental - -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -template -KOKKOS_DEPRECATED void OpenMP::partition_master(F const& f, int num_partitions, - int partition_size) { -#if _OPENMP >= 201511 - if (omp_get_max_active_levels() > 1) { -#else - if (omp_get_nested()) { -#endif - using Exec = Impl::OpenMPInternal; - - Exec* prev_instance = &Impl::OpenMPInternal::singleton(); - - Exec::validate_partition_impl(prev_instance->m_pool_size, num_partitions, - partition_size); - - OpenMP::memory_space space; - -#pragma omp parallel num_threads(num_partitions) - { - Exec thread_local_instance(partition_size); - Impl::t_openmp_instance = &thread_local_instance; - - size_t pool_reduce_bytes = 32 * partition_size; - size_t team_reduce_bytes = 32 * partition_size; - size_t team_shared_bytes = 1024 * partition_size; - size_t thread_local_bytes = 1024; - - thread_local_instance.resize_thread_data( - pool_reduce_bytes, team_reduce_bytes, team_shared_bytes, - thread_local_bytes); - - omp_set_num_threads(partition_size); - f(omp_get_thread_num(), omp_get_num_threads()); - Impl::t_openmp_instance = nullptr; - } - } else { - // nested openmp not enabled - f(0, 1); - } -} -#endif - } // namespace Kokkos #endif diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel_For.hpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel_For.hpp index 96dc664eb7..823a7e668e 100644 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel_For.hpp +++ b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel_For.hpp @@ -147,15 +147,7 @@ class ParallelFor, Kokkos::OpenMP> { inline ParallelFor(const FunctorType& arg_functor, Policy arg_policy) : m_instance(nullptr), m_functor(arg_functor), m_policy(arg_policy) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - if (t_openmp_instance) { - m_instance = t_openmp_instance; - } else { - m_instance = arg_policy.space().impl_internal_space_instance(); - } -#else m_instance = arg_policy.space().impl_internal_space_instance(); -#endif } }; @@ -251,16 +243,9 @@ class ParallelFor, inline ParallelFor(const FunctorType& arg_functor, MDRangePolicy arg_policy) : m_instance(nullptr), m_iter(arg_policy, arg_functor) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - if (t_openmp_instance) { - m_instance = t_openmp_instance; - } else { - m_instance = arg_policy.space().impl_internal_space_instance(); - } -#else m_instance = arg_policy.space().impl_internal_space_instance(); -#endif } + template static int max_tile_size_product(const Policy&, const Functor&) { /** @@ -409,15 +394,7 @@ class ParallelFor, m_shmem_size(arg_policy.scratch_size(0) + arg_policy.scratch_size(1) + FunctorTeamShmemSize::value( arg_functor, arg_policy.team_size())) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - if (t_openmp_instance) { - m_instance = t_openmp_instance; - } else { - m_instance = arg_policy.space().impl_internal_space_instance(); - } -#else m_instance = arg_policy.space().impl_internal_space_instance(); -#endif } }; diff --git a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel_Reduce.hpp b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel_Reduce.hpp index 52cdef18e6..05fd1c9dce 100644 --- a/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel_Reduce.hpp +++ b/lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_Parallel_Reduce.hpp @@ -170,15 +170,7 @@ class ParallelReduce, m_functor_reducer(arg_functor_reducer), m_policy(arg_policy), m_result_ptr(arg_view.data()) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - if (t_openmp_instance) { - m_instance = t_openmp_instance; - } else { - m_instance = arg_policy.space().impl_internal_space_instance(); - } -#else m_instance = arg_policy.space().impl_internal_space_instance(); -#endif static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, @@ -319,15 +311,7 @@ class ParallelReduce::accessible, @@ -543,15 +527,7 @@ class ParallelReduce::value( arg_functor_reducer.get_functor(), arg_policy.team_size())) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - if (t_openmp_instance) { - m_instance = t_openmp_instance; - } else { - m_instance = arg_policy.space().impl_internal_space_instance(); - } -#else m_instance = arg_policy.space().impl_internal_space_instance(); -#endif static_assert( Kokkos::Impl::MemorySpaceAccess, inline ParallelScan(const FunctorType& arg_functor, const Policy& arg_policy) : m_instance(nullptr), m_functor(arg_functor), m_policy(arg_policy) { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - if (t_openmp_instance) { - m_instance = t_openmp_instance; - } else { - m_instance = arg_policy.space().impl_internal_space_instance(); - } -#else m_instance = arg_policy.space().impl_internal_space_instance(); -#endif } }; @@ -292,15 +284,7 @@ class ParallelScanWithTotal, Kokkos::Impl::MemorySpaceAccess::accessible, "Kokkos::OpenMP parallel_scan result must be host-accessible!"); -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - if (t_openmp_instance) { - m_instance = t_openmp_instance; - } else { - m_instance = arg_policy.space().impl_internal_space_instance(); - } -#else m_instance = arg_policy.space().impl_internal_space_instance(); -#endif } //---------------------------------------- diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget.hpp index adf972dd08..ea4e7f6bab 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget.hpp @@ -65,7 +65,11 @@ class OpenMPTarget { using scratch_memory_space = ScratchMemorySpace; - inline static bool in_parallel() { return omp_in_parallel(); } +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED inline static bool in_parallel() { + return omp_in_parallel(); + } +#endif static void fence(const std::string& name = "Kokkos::OpenMPTarget::fence: Unnamed Instance Fence"); diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.cpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.cpp index 81fbc56de0..a414b34d7c 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.cpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.cpp @@ -37,7 +37,6 @@ #include #include #include -#include //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- @@ -110,79 +109,13 @@ void OpenMPTargetSpace::deallocate(const char* arg_label, } // namespace Experimental } // namespace Kokkos -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- - -namespace Kokkos { -namespace Impl { - -#ifdef KOKKOS_ENABLE_DEBUG -SharedAllocationRecord SharedAllocationRecord< - Kokkos::Experimental::OpenMPTargetSpace, void>::s_root_record; -#endif - -SharedAllocationRecord::~SharedAllocationRecord() { - auto alloc_size = SharedAllocationRecord::m_alloc_size; - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - alloc_size, (alloc_size - sizeof(SharedAllocationHeader))); -} - -SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::Experimental::OpenMPTargetSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Kokkos::Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - SharedAllocationHeader header; - - this->base_t::_fill_host_accessible_header_info(header, arg_label); - - // TODO DeepCopy - // DeepCopy - Kokkos::Impl::DeepCopy( - RecordBase::m_alloc_ptr, &header, sizeof(SharedAllocationHeader)); - Kokkos::fence( - "SharedAllocationRecord::SharedAllocationRecord(): fence after copying header from " - "HostSpace"); -} - -//---------------------------------------------------------------------------- - -} // namespace Impl -} // namespace Kokkos - //============================================================================== // {{{1 #include -namespace Kokkos { -namespace Impl { - -// To avoid additional compilation cost for something that's (mostly?) not -// performance sensitive, we explicity instantiate these CRTP base classes here, -// where we have access to the associated *_timpl.hpp header files. -template class HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::OpenMPTargetSpace>; -template class SharedAllocationRecordCommon< - Kokkos::Experimental::OpenMPTargetSpace>; - -} // end namespace Impl -} // end namespace Kokkos +KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::Experimental::OpenMPTargetSpace); // end Explicit instantiations of CRTP Base classes }}}1 //============================================================================== diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.hpp index e5b33d0982..ed625cfcc8 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTargetSpace.hpp @@ -98,6 +98,16 @@ class OpenMPTargetSpace { ~OpenMPTargetSpace() = default; /**\brief Allocate untracked memory in the space */ + // FIXME_OPENMPTARGET Use execution space instance + void* allocate(const OpenMPTarget&, const size_t arg_alloc_size) const { + return allocate(arg_alloc_size); + } + // FIXME_OPENMPTARGET Use execution space instance + void* allocate(const OpenMPTarget&, const char* arg_label, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const { + return allocate(arg_label, arg_alloc_size, arg_logical_size); + } void* allocate(const size_t arg_alloc_size) const; void* allocate(const char* arg_label, const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; @@ -121,9 +131,6 @@ class OpenMPTargetSpace { const size_t arg_logical_size = 0, const Kokkos::Tools::SpaceHandle = Kokkos::Tools::make_space_handle(name())) const; - - friend class Kokkos::Impl::SharedAllocationRecord< - Kokkos::Experimental::OpenMPTargetSpace, void>; }; } // namespace Experimental } // namespace Kokkos @@ -131,64 +138,8 @@ class OpenMPTargetSpace { //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- -namespace Kokkos { -namespace Impl { - -template <> -class SharedAllocationRecord - : public HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::OpenMPTargetSpace> { - private: - friend class HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::OpenMPTargetSpace>; - friend class SharedAllocationRecordCommon< - Kokkos::Experimental::OpenMPTargetSpace>; - friend Kokkos::Experimental::OpenMPTargetSpace; - - using base_t = HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::OpenMPTargetSpace>; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - - /**\brief Root record for tracked allocations from this OpenMPTargetSpace - * instance */ - static RecordBase s_root_record; - - const Kokkos::Experimental::OpenMPTargetSpace m_space; - - protected: - ~SharedAllocationRecord(); - SharedAllocationRecord() = default; - - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, - const Kokkos::Experimental::OpenMPTargetSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate) - : SharedAllocationRecord(arg_space, arg_label, arg_alloc_size, - arg_dealloc) {} - - SharedAllocationRecord( - const Kokkos::Experimental::OpenMPTargetSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &deallocate); - - public: - KOKKOS_INLINE_FUNCTION static SharedAllocationRecord* allocate( - const Kokkos::Experimental::OpenMPTargetSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc) { - KOKKOS_IF_ON_HOST( - (return new SharedAllocationRecord(arg_space, arg_label, arg_alloc);)) - KOKKOS_IF_ON_DEVICE( - ((void)arg_space; (void)arg_label; (void)arg_alloc; return nullptr;)) - } -}; - -} // namespace Impl -} // namespace Kokkos +KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_SPECIALIZATION( + Kokkos::Experimental::OpenMPTargetSpace); //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Exec.cpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Exec.cpp index 1902c38409..b39f5aca35 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Exec.cpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Exec.cpp @@ -75,6 +75,7 @@ int* OpenMPTargetExec::m_lock_array = nullptr; uint64_t OpenMPTargetExec::m_lock_size = 0; uint32_t* OpenMPTargetExec::m_uniquetoken_ptr = nullptr; int OpenMPTargetExec::MAX_ACTIVE_THREADS = 0; +std::mutex OpenMPTargetExec::m_mutex_scratch_ptr; void OpenMPTargetExec::clear_scratch() { Kokkos::Experimental::OpenMPTargetSpace space; @@ -98,6 +99,11 @@ void OpenMPTargetExec::resize_scratch(int64_t team_size, int64_t shmem_size_L0, int64_t shmem_size_L1, int64_t league_size) { Kokkos::Experimental::OpenMPTargetSpace space; + // Level-0 scratch when using clang/17 and higher comes from their OpenMP + // extension, `ompx_dyn_cgroup_mem`. +#if defined(KOKKOS_IMPL_OPENMPTARGET_LLVM_EXTENSIONS) + shmem_size_L0 = 0; +#endif const int64_t shmem_size = shmem_size_L0 + shmem_size_L1; // L0 + L1 scratch memory per team. const int64_t padding = shmem_size * 10 / 100; // Padding per team. diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Instance.cpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Instance.cpp index 9e8844a6f2..3387108da3 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Instance.cpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Instance.cpp @@ -178,8 +178,10 @@ void OpenMPTarget::impl_static_fence(const std::string& name) { } void OpenMPTarget::impl_initialize(InitializationSettings const& settings) { + using Kokkos::Impl::get_visible_devices; + std::vector const& visible_devices = get_visible_devices(); using Kokkos::Impl::get_gpu; - const int device_num = get_gpu(settings); + const int device_num = get_gpu(settings).value_or(visible_devices[0]); omp_set_default_device(device_num); Impl::OpenMPTargetInternal::impl_singleton()->impl_initialize(); diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Macros.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Macros.hpp new file mode 100644 index 0000000000..2bd672f4d0 --- /dev/null +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Macros.hpp @@ -0,0 +1,46 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_OPENMPTARGET_MACROS_HPP +#define KOKKOS_OPENMPTARGET_MACROS_HPP + +// Intel architectures prefer the classical hierarchical parallelism that relies +// on OpenMP. +#if defined(KOKKOS_ARCH_INTEL_GPU) +#define KOKKOS_IMPL_OPENMPTARGET_HIERARCHICAL_INTEL_GPU +#endif + +// Define a macro for llvm compiler greater than version 17 and on NVIDIA and +// AMD GPUs. This would be useful in cases where non-OpenMP standard llvm +// extensions can be used. +#if defined(KOKKOS_COMPILER_CLANG) && (KOKKOS_COMPILER_CLANG >= 1700) && \ + (defined(KOKKOS_ARCH_AMD_GPU) || defined(KOKKOS_IMPL_ARCH_NVIDIA_GPU)) +#define KOKKOS_IMPL_OPENMPTARGET_LLVM_EXTENSIONS +#endif + +#define KOKKOS_IMPL_OPENMPTARGET_PRAGMA_HELPER(x) _Pragma(#x) +#define KOKKOS_IMPL_OMPTARGET_PRAGMA(x) \ + KOKKOS_IMPL_OPENMPTARGET_PRAGMA_HELPER(omp target x) + +// Use scratch memory extensions to request dynamic shared memory for the +// right compiler/architecture combination. +#ifdef KOKKOS_IMPL_OPENMPTARGET_LLVM_EXTENSIONS +#define KOKKOS_IMPL_OMPX_DYN_CGROUP_MEM(N) ompx_dyn_cgroup_mem(N) +#else +#define KOKKOS_IMPL_OMPX_DYN_CGROUP_MEM(N) +#endif + +#endif // KOKKOS_OPENMPTARGET_MACROS_HPP diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel.hpp index 9767d8e53e..dcc509d2fa 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel.hpp @@ -21,16 +21,10 @@ #include #include #include -#include #include #include "Kokkos_OpenMPTarget_Abort.hpp" - -// Intel architectures prefer the classical hierarchical parallelism that relies -// on OpenMP. -#if defined(KOKKOS_ARCH_INTEL_GPU) -#define KOKKOS_IMPL_OPENMPTARGET_HIERARCHICAL_INTEL_GPU -#endif +#include //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- @@ -113,14 +107,20 @@ class OpenMPTargetExecTeamMember { team_broadcast(value, thread_id); } - // FIXME_OPENMPTARGET this function has the wrong interface and currently - // ignores the reducer passed. - template - KOKKOS_INLINE_FUNCTION ValueType team_reduce(const ValueType& value, - const JoinOp&) const { + template + KOKKOS_INLINE_FUNCTION std::enable_if_t::value> + team_reduce(ReducerType const& reducer) const noexcept { + team_reduce(reducer, reducer.reference()); + } + + // FIXME_OPENMPTARGET this function currently ignores the reducer passed. + template + KOKKOS_INLINE_FUNCTION std::enable_if_t::value> + team_reduce(ReducerType const&, typename ReducerType::value_type& value) const + noexcept { #pragma omp barrier - using value_type = ValueType; + using value_type = typename ReducerType::value_type; // const JoinLambdaAdapter op(op_in); // Make sure there is enough scratch space: @@ -149,8 +149,9 @@ class OpenMPTargetExecTeamMember { } #pragma omp barrier } - return team_scratch[0]; + value = team_scratch[0]; } + /** \brief Intra-team exclusive prefix sum with team_rank() ordering * with intra-team non-deterministic ordering accumulation. * @@ -249,15 +250,37 @@ class OpenMPTargetExecTeamMember { // and L1 shmem size. TEAM_REDUCE_SIZE = 512 bytes saved per team for // hierarchical reduction. There is an additional 10% of the requested // scratch memory allocated per team as padding. Hence the product with 0.1. + // + // Use llvm extensions for dynamic shared memory with compilers/architecture + // combinations where it is supported. + // + // Size allocated in HBM will now change based on whether we use llvm + // extensions. +#if defined(KOKKOS_IMPL_OPENMPTARGET_LLVM_EXTENSIONS) + const int total_shmem = shmem_size_L1 + shmem_size_L1 * 0.1; +#else + const int total_shmem = + shmem_size_L0 + shmem_size_L1 + (shmem_size_L0 + shmem_size_L1) * 0.1; +#endif + + // Per team offset for buffer in HBM. const int reduce_offset = - m_shmem_block_index * - (shmem_size_L0 + shmem_size_L1 + - ((shmem_size_L0 + shmem_size_L1) * 0.1) + TEAM_REDUCE_SIZE); + m_shmem_block_index * (total_shmem + TEAM_REDUCE_SIZE); + +#if defined(KOKKOS_IMPL_OPENMPTARGET_LLVM_EXTENSIONS) + const int l1_offset = reduce_offset + TEAM_REDUCE_SIZE; + char* l0_scratch = + static_cast(llvm_omp_target_dynamic_shared_alloc()); + m_team_shared = scratch_memory_space( + l0_scratch, shmem_size_L0, static_cast(glb_scratch) + l1_offset, + shmem_size_L1); +#else const int l0_offset = reduce_offset + TEAM_REDUCE_SIZE; const int l1_offset = l0_offset + shmem_size_L0; m_team_shared = scratch_memory_space( (static_cast(glb_scratch) + l0_offset), shmem_size_L0, static_cast(glb_scratch) + l1_offset, shmem_size_L1); +#endif m_reduce_scratch = static_cast(glb_scratch) + reduce_offset; m_league_rank = league_rank; m_team_rank = omp_tid; @@ -751,6 +774,7 @@ class OpenMPTargetExec { int64_t thread_local_bytes, int64_t league_size); static void* m_scratch_ptr; + static std::mutex m_mutex_scratch_ptr; static int64_t m_scratch_size; static int* m_lock_array; static uint64_t m_lock_size; diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelFor_Team.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelFor_Team.hpp index 1abc925cae..26085f1140 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelFor_Team.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelFor_Team.hpp @@ -19,6 +19,7 @@ #include #include +#include #include #include @@ -140,8 +141,10 @@ class ParallelFor, // guarantees that the number of teams specified in the `num_teams` clause is // always less than or equal to the maximum concurrently running teams. #if !defined(KOKKOS_IMPL_OPENMPTARGET_HIERARCHICAL_INTEL_GPU) -#pragma omp target teams thread_limit(team_size) firstprivate(a_functor) \ - num_teams(max_active_teams) is_device_ptr(scratch_ptr) + KOKKOS_IMPL_OMPTARGET_PRAGMA( + teams thread_limit(team_size) firstprivate(a_functor) + num_teams(max_active_teams) is_device_ptr(scratch_ptr) + KOKKOS_IMPL_OMPX_DYN_CGROUP_MEM(shmem_size_L0)) #pragma omp parallel { if (omp_get_num_teams() > max_active_teams) diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelReduce_Range.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelReduce_Range.hpp index 4452af3846..caa568a892 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelReduce_Range.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelReduce_Range.hpp @@ -55,6 +55,9 @@ class ParallelReduce, const pointer_type m_result_ptr; bool m_result_ptr_on_device; const int m_result_ptr_num_elems; + // Only let one ParallelReduce instance at a time use the scratch memory. + // The constructor acquires the mutex which is released in the destructor. + std::scoped_lock m_scratch_memory_lock; using TagType = typename Policy::work_tag; public: @@ -105,7 +108,8 @@ class ParallelReduce, m_result_ptr_on_device( MemorySpaceAccess::accessible), - m_result_ptr_num_elems(arg_result_view.size()) {} + m_result_ptr_num_elems(arg_result_view.size()), + m_scratch_memory_lock(OpenMPTargetExec::m_mutex_scratch_ptr) {} }; } // namespace Impl diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelReduce_Team.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelReduce_Team.hpp index a302fa7151..8abffa47a4 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelReduce_Team.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelReduce_Team.hpp @@ -470,6 +470,10 @@ class ParallelReduce m_scratch_memory_lock; + public: void execute() const { const FunctorType& functor = m_functor_reducer.get_functor(); @@ -517,7 +521,8 @@ class ParallelReduce::value( - arg_functor_reducer.get_functor(), arg_policy.team_size())) {} + arg_functor_reducer.get_functor(), arg_policy.team_size())), + m_scratch_memory_lock(OpenMPTargetExec::m_mutex_scratch_ptr) {} }; } // namespace Impl diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelScan_Range.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelScan_Range.hpp index 1d6677a1df..c1f7851f41 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelScan_Range.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_ParallelScan_Range.hpp @@ -238,8 +238,10 @@ class ParallelScanWithTotal, if (!base_t::m_result_ptr_device_accessible) { const int size = base_t::m_functor_reducer.get_reducer().value_size(); - DeepCopy( - base_t::m_result_ptr, chunk_values.data() + (n_chunks - 1), size); + DeepCopy( + base_t::m_policy.space(), base_t::m_result_ptr, + chunk_values.data() + (n_chunks - 1), size); } } else if (!base_t::m_result_ptr_device_accessible) { base_t::m_functor_reducer.get_reducer().init(base_t::m_result_ptr); diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel_Common.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel_Common.hpp index fb75f05f27..eb3dc3773c 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel_Common.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel_Common.hpp @@ -21,6 +21,7 @@ #include #include #include +#include namespace Kokkos { namespace Impl { @@ -394,9 +395,11 @@ struct ParallelReduceSpecialize, initializer(OpenMPTargetReducerWrapper ::init(omp_priv)) #if !defined(KOKKOS_IMPL_OPENMPTARGET_HIERARCHICAL_INTEL_GPU) -#pragma omp target teams num_teams(max_active_teams) thread_limit(team_size) \ - firstprivate(f) is_device_ptr(scratch_ptr) reduction(custom \ - : result) + KOKKOS_IMPL_OMPTARGET_PRAGMA( + teams num_teams(max_active_teams) thread_limit(team_size) + firstprivate(f) is_device_ptr(scratch_ptr) reduction(custom + : result) + KOKKOS_IMPL_OMPX_DYN_CGROUP_MEM(shmem_size_L0)) #pragma omp parallel reduction(custom : result) { if (omp_get_num_teams() > max_active_teams) @@ -482,9 +485,11 @@ struct ParallelReduceSpecialize, // Case where reduction is on a native data type. if constexpr (std::is_arithmetic::value) { -#pragma omp target teams num_teams(max_active_teams) thread_limit(team_size) map(to \ - : f) \ - is_device_ptr(scratch_ptr) reduction(+: result) + // Use scratch memory extensions to request dynamic shared memory for + // the right compiler/architecture combination. + KOKKOS_IMPL_OMPTARGET_PRAGMA(teams num_teams(max_active_teams) thread_limit(team_size) map(to: f) \ + is_device_ptr(scratch_ptr) reduction(+: result) \ + KOKKOS_IMPL_OMPX_DYN_CGROUP_MEM(shmem_size_L0)) #pragma omp parallel reduction(+ : result) { if (omp_get_num_teams() > max_active_teams) @@ -636,11 +641,13 @@ struct ParallelReduceSpecialize, return; } - -#pragma omp target teams num_teams(nteams) thread_limit(team_size) map(to \ - : f) \ - is_device_ptr(scratch_ptr) - { + // Use scratch memory extensions to request dynamic shared memory for the + // right compiler/architecture combination. + KOKKOS_IMPL_OMPTARGET_PRAGMA( + teams num_teams(nteams) thread_limit(team_size) map(to + : f) + is_device_ptr(scratch_ptr) + KOKKOS_IMPL_OMPX_DYN_CGROUP_MEM(shmem_size_L0)) { #pragma omp parallel { const int team_num = omp_get_team_num(); @@ -665,9 +672,8 @@ struct ParallelReduceSpecialize, int tree_neighbor_offset = 1; do { -#pragma omp target teams distribute parallel for simd map(to \ - : final_reducer) \ - is_device_ptr(scratch_ptr) +#pragma omp target teams distribute parallel for simd firstprivate( \ + final_reducer) is_device_ptr(scratch_ptr) for (int i = 0; i < nteams - tree_neighbor_offset; i += 2 * tree_neighbor_offset) { ValueType* team_scratch = static_cast(scratch_ptr); diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel_MDRange.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel_MDRange.hpp index 41e62ce6e6..6878531730 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel_MDRange.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Parallel_MDRange.hpp @@ -438,6 +438,10 @@ class ParallelReduce m_scratch_memory_lock; + public: inline void execute() const { execute_tile( @@ -452,7 +456,8 @@ class ParallelReduce::accessible) {} + typename ViewType::memory_space>::accessible), + m_scratch_memory_lock(OpenMPTargetExec::m_mutex_scratch_ptr) {} template inline std::enable_if_t execute_tile(const FunctorType& functor, diff --git a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Reducer.hpp b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Reducer.hpp index 672271ed6b..9b578aca11 100644 --- a/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Reducer.hpp +++ b/lib/kokkos/core/src/OpenMPTarget/Kokkos_OpenMPTarget_Reducer.hpp @@ -18,7 +18,6 @@ #define KOKKOS_OPENMPTARGETREDUCER_HPP #include -#include #include #include "Kokkos_OpenMPTarget_Abort.hpp" diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL.cpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL.cpp index 7fa935f693..9a246f7642 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL.cpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL.cpp @@ -88,26 +88,57 @@ bool SYCL::impl_is_initialized() { void SYCL::impl_finalize() { Impl::SYCLInternal::singleton().finalize(); } void SYCL::print_configuration(std::ostream& os, bool verbose) const { - os << "Devices:\n"; - os << " KOKKOS_ENABLE_SYCL: yes\n"; - os << "\nRuntime Configuration:\n"; - os << "macro KOKKOS_ENABLE_SYCL : defined\n"; +#ifdef KOKKOS_ENABLE_ONEDPL + os << "macro KOKKOS_ENABLE_ONEDPL : defined\n"; +#else + os << "macro KOKKOS_ENABLE_ONEDPL : undefined\n"; +#endif #ifdef KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED os << "macro KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED : defined\n"; #else os << "macro KOKKOS_IMPL_SYCL_DEVICE_GLOBAL_SUPPORTED : undefined\n"; #endif - +#ifdef SYCL_EXT_ONEAPI_DEVICE_GLOBAL + os << "macro SYCL_EXT_ONEAPI_DEVICE_GLOBAL : defined\n"; +#else + os << "macro SYCL_EXT_ONEAPI_DEVICE_GLOBAL : undefined\n"; +#endif #ifdef KOKKOS_IMPL_SYCL_USE_IN_ORDER_QUEUES os << "macro KOKKOS_IMPL_SYCL_USE_IN_ORDER_QUEUES : defined\n"; #else os << "macro KOKKOS_IMPL_SYCL_USE_IN_ORDER_QUEUES : undefined\n"; #endif - if (verbose) + int counter = 0; + int active_device = Kokkos::device_id(); + std::cout << "\nAvailable devices: \n"; + std::vector devices = Impl::get_sycl_devices(); + for (const auto& device : devices) { + std::string device_type; + switch (device.get_info()) { + case sycl::info::device_type::cpu: device_type = "cpu"; break; + case sycl::info::device_type::gpu: device_type = "gpu"; break; + case sycl::info::device_type::accelerator: + device_type = "accelerator"; + break; + case sycl::info::device_type::custom: device_type = "custom"; break; + case sycl::info::device_type::automatic: device_type = "automatic"; break; + case sycl::info::device_type::host: device_type = "host"; break; + case sycl::info::device_type::all: device_type = "all"; break; + } + os << "[" << device.get_backend() << "]:" << device_type << ':' << counter + << "] " << device.get_info(); + if (counter == active_device) os << " : Selected"; + os << '\n'; + ++counter; + } + + if (verbose) { + os << '\n'; SYCL::impl_sycl_info(os, m_space_instance->m_queue->get_device()); + } } void SYCL::fence(const std::string& name) const { @@ -137,20 +168,11 @@ void SYCL::impl_static_fence(const std::string& name) { } void SYCL::impl_initialize(InitializationSettings const& settings) { - std::vector gpu_devices = - sycl::device::get_devices(sycl::info::device_type::gpu); - // If the device id is not specified and there are no GPUs, sidestep Kokkos - // device selection and use whatever is available (if no GPU architecture is - // specified). -#if !defined(KOKKOS_ARCH_INTEL_GPU) && !defined(KOKKOS_IMPL_ARCH_NVIDIA_GPU) - if (!settings.has_device_id() && gpu_devices.empty()) { - Impl::SYCLInternal::singleton().initialize(sycl::device()); - Impl::SYCLInternal::m_syclDev = 0; - return; - } -#endif - const auto id = ::Kokkos::Impl::get_gpu(settings); - Impl::SYCLInternal::singleton().initialize(gpu_devices[id]); + const auto& visible_devices = ::Kokkos::Impl::get_visible_devices(); + const auto id = + ::Kokkos::Impl::get_gpu(settings).value_or(visible_devices[0]); + std::vector sycl_devices = Impl::get_sycl_devices(); + Impl::SYCLInternal::singleton().initialize(sycl_devices[id]); Impl::SYCLInternal::m_syclDev = id; } @@ -243,9 +265,32 @@ std::ostream& SYCL::impl_sycl_info(std::ostream& os, namespace Impl { +std::vector get_sycl_devices() { +#if defined(KOKKOS_ARCH_INTEL_GPU) || defined(KOKKOS_IMPL_ARCH_NVIDIA_GPU) || \ + defined(KOKKOS_ARCH_AMD_GPU) + std::vector devices = + sycl::device::get_devices(sycl::info::device_type::gpu); +#if defined(KOKKOS_ARCH_INTEL_GPU) + sycl::backend backend = sycl::backend::ext_oneapi_level_zero; +#elif defined(KOKKOS_IMPL_ARCH_NVIDIA_GPU) + sycl::backend backend = sycl::backend::ext_oneapi_cuda; +#elif defined(KOKKOS_ARCH_AMD_GPU) + sycl::backend backend = sycl::backend::ext_oneapi_hip; +#endif + devices.erase(std::remove_if(devices.begin(), devices.end(), + [backend](const sycl::device& d) { + return d.get_backend() != backend; + }), + devices.end()); +#else + std::vector devices = sycl::device::get_devices(); +#endif + return devices; +} + int g_sycl_space_factory_initialized = Kokkos::Impl::initialize_space_factory("170_SYCL"); -} +} // namespace Impl } // namespace Experimental } // namespace Kokkos diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL.hpp index be6b4b8930..0f3d1f0994 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL.hpp @@ -78,19 +78,15 @@ class SYCL { //! \name Functions that all Kokkos devices must implement. //@{ - KOKKOS_INLINE_FUNCTION static int in_parallel() { +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED KOKKOS_INLINE_FUNCTION static int in_parallel() { #if defined(__SYCL_DEVICE_ONLY__) return true; #else return false; #endif } - - /** \brief Set the device in a "sleep" state. */ - static bool sleep(); - - /** \brief Wake the device from the 'sleep' state. A noop for OpenMP. */ - static bool wake(); +#endif /** \brief Wait until all dispatched functors complete. A noop for OpenMP. */ static void impl_static_fence(const std::string& name); @@ -188,6 +184,10 @@ std::vector partition_space(const SYCL& sycl_space, sycl::queue(context, device, sycl::property::queue::in_order())); return instances; } + +namespace Impl { +std::vector get_sycl_devices(); +} // namespace Impl } // namespace Experimental } // namespace Kokkos diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Instance.cpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Instance.cpp index 080369770d..0e67adb578 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Instance.cpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Instance.cpp @@ -54,7 +54,7 @@ Kokkos::View sycl_global_unique_token_locks( } SYCLInternal::~SYCLInternal() { - if (!was_finalized || m_scratchSpace || m_scratchFlags) { + if (!was_finalized || m_scratchSpace || m_scratchHost || m_scratchFlags) { std::cerr << "Kokkos::Experimental::SYCL ERROR: Failed to call " "Kokkos::Experimental::SYCL::finalize()" << std::endl; @@ -102,6 +102,23 @@ void SYCLInternal::initialize(const sycl::device& d) { void SYCLInternal::initialize(const sycl::queue& q) { KOKKOS_EXPECTS(!is_initialized()); +#define KOKKOS_IMPL_CHECK_SYCL_BACKEND_SUPPORT(BACKEND, REQUIRED) \ + if (BACKEND != REQUIRED) \ + Kokkos::abort( \ + "The SYCL execution space instance was initialized with an " \ + "unsupported backend type! For this GPU architecture, only " #REQUIRED \ + " is supported.") +#if defined(KOKKOS_ARCH_INTEL_GPU) + KOKKOS_IMPL_CHECK_SYCL_BACKEND_SUPPORT(q.get_backend(), + sycl::backend::ext_oneapi_level_zero); +#elif defined(KOKKOS_IMPL_ARCH_NVIDIA_GPU) + KOKKOS_IMPL_CHECK_SYCL_BACKEND_SUPPORT(q.get_backend(), + sycl::backend::ext_oneapi_cuda); +#elif defined(KOKKOS_ARCH_AMD_GPU) + KOKKOS_IMPL_CHECK_SYCL_BACKEND_SUPPORT(q.get_backend(), + sycl::backend::ext_oneapi_hip); +#endif + if (was_finalized) Kokkos::abort("Calling SYCL::initialize after SYCL::finalize is illegal\n"); @@ -196,14 +213,22 @@ void SYCLInternal::finalize() { #endif } - using RecordSYCL = Kokkos::Impl::SharedAllocationRecord; + auto device_mem_space = SYCLDeviceUSMSpace(*m_queue); + auto host_mem_space = SYCLHostUSMSpace(*m_queue); if (nullptr != m_scratchSpace) - RecordSYCL::decrement(RecordSYCL::get_record(m_scratchSpace)); + device_mem_space.deallocate(m_scratchSpace, + m_scratchSpaceCount * sizeScratchGrain); + if (nullptr != m_scratchHost) + host_mem_space.deallocate(m_scratchHost, + m_scratchHostCount * sizeScratchGrain); if (nullptr != m_scratchFlags) - RecordSYCL::decrement(RecordSYCL::get_record(m_scratchFlags)); + device_mem_space.deallocate(m_scratchFlags, + m_scratchFlagsCount * sizeScratchGrain); m_syclDev = -1; m_scratchSpaceCount = 0; m_scratchSpace = nullptr; + m_scratchHostCount = 0; + m_scratchHost = nullptr; m_scratchFlagsCount = 0; m_scratchFlags = nullptr; @@ -228,54 +253,68 @@ void SYCLInternal::finalize() { sycl::device_ptr SYCLInternal::scratch_space(const std::size_t size) { if (verify_is_initialized("scratch_space") && m_scratchSpaceCount < scratch_count(size)) { - m_scratchSpaceCount = scratch_count(size); - - using Record = Kokkos::Impl::SharedAllocationRecord< - Kokkos::Experimental::SYCLDeviceUSMSpace, void>; + auto mem_space = Kokkos::Experimental::SYCLDeviceUSMSpace(*m_queue); if (nullptr != m_scratchSpace) - Record::decrement(Record::get_record(m_scratchSpace)); + mem_space.deallocate(m_scratchSpace, + m_scratchSpaceCount * sizeScratchGrain); + + m_scratchSpaceCount = scratch_count(size); std::size_t alloc_size = Kokkos::Impl::multiply_overflow_abort( m_scratchSpaceCount, sizeScratchGrain); - Record* const r = Record::allocate( - Kokkos::Experimental::SYCLDeviceUSMSpace(*m_queue), - "Kokkos::Experimental::SYCL::InternalScratchSpace", alloc_size); - - Record::increment(r); - - m_scratchSpace = reinterpret_cast(r->data()); + m_scratchSpace = static_cast(mem_space.allocate( + "Kokkos::Experimental::SYCL::InternalScratchSpace", alloc_size)); } return m_scratchSpace; } +sycl::host_ptr SYCLInternal::scratch_host(const std::size_t size) { + if (verify_is_initialized("scratch_unified") && + m_scratchHostCount < scratch_count(size)) { + auto mem_space = Kokkos::Experimental::SYCLHostUSMSpace(*m_queue); + + if (nullptr != m_scratchHost) + mem_space.deallocate(m_scratchHost, + m_scratchHostCount * sizeScratchGrain); + + m_scratchHostCount = scratch_count(size); + + std::size_t alloc_size = Kokkos::Impl::multiply_overflow_abort( + m_scratchHostCount, sizeScratchGrain); + m_scratchHost = static_cast(mem_space.allocate( + "Kokkos::Experimental::SYCL::InternalScratchHost", alloc_size)); + } + + return m_scratchHost; +} + sycl::device_ptr SYCLInternal::scratch_flags(const std::size_t size) { if (verify_is_initialized("scratch_flags") && m_scratchFlagsCount < scratch_count(size)) { - m_scratchFlagsCount = scratch_count(size); - - using Record = Kokkos::Impl::SharedAllocationRecord< - Kokkos::Experimental::SYCLDeviceUSMSpace, void>; + auto mem_space = Kokkos::Experimental::SYCLDeviceUSMSpace(*m_queue); if (nullptr != m_scratchFlags) - Record::decrement(Record::get_record(m_scratchFlags)); + mem_space.deallocate(m_scratchFlags, + m_scratchFlagsCount * sizeScratchGrain); + + m_scratchFlagsCount = scratch_count(size); std::size_t alloc_size = Kokkos::Impl::multiply_overflow_abort( m_scratchFlagsCount, sizeScratchGrain); - Record* const r = Record::allocate( - Kokkos::Experimental::SYCLDeviceUSMSpace(*m_queue), - "Kokkos::Experimental::SYCL::InternalScratchFlags", alloc_size); + m_scratchFlags = static_cast(mem_space.allocate( + "Kokkos::Experimental::SYCL::InternalScratchFlags", alloc_size)); - Record::increment(r); - - m_scratchFlags = reinterpret_cast(r->data()); - } - auto memset_event = m_queue->memset(m_scratchFlags, 0, - m_scratchFlagsCount * sizeScratchGrain); + // We only zero-initialize the allocation when we actually allocate. + // It's the responsibility of the features using scratch_flags, + // namely parallel_reduce and parallel_scan, to reset the used values to 0. + auto memset_event = m_queue->memset(m_scratchFlags, 0, + m_scratchFlagsCount * sizeScratchGrain); #ifndef KOKKOS_IMPL_SYCL_USE_IN_ORDER_QUEUES - m_queue->ext_oneapi_submit_barrier(std::vector{memset_event}); + m_queue->ext_oneapi_submit_barrier(std::vector{memset_event}); #endif + } return m_scratchFlags; } @@ -318,15 +357,12 @@ size_t SYCLInternal::USMObjectMem::reserve(size_t n) { assert(m_q); if (m_capacity < n) { - using Record = Kokkos::Impl::SharedAllocationRecord; - // First free what we have (in case malloc can reuse it) - if (m_data) Record::decrement(Record::get_record(m_data)); + AllocationSpace alloc_space(*m_q); + if (m_data) alloc_space.deallocate(m_data, m_capacity); - Record* const r = Record::allocate( - AllocationSpace(*m_q), "Kokkos::Experimental::SYCL::USMObjectMem", n); - Record::increment(r); + m_data = + alloc_space.allocate("Kokkos::Experimental::SYCL::USMObjectMem", n); - m_data = r->data(); if constexpr (sycl::usm::alloc::device == Kind) m_staging.reset(new char[n]); m_capacity = n; @@ -340,8 +376,8 @@ void SYCLInternal::USMObjectMem::reset() { if (m_data) { // This implies a fence since this class is not copyable // and deallocating implies a fence across all registered queues. - using Record = Kokkos::Impl::SharedAllocationRecord; - Record::decrement(Record::get_record(m_data)); + AllocationSpace alloc_space(*m_q); + alloc_space.deallocate(m_data, m_capacity); m_capacity = 0; m_data = nullptr; diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Instance.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Instance.hpp index 51a617054d..ab7e8ce71e 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Instance.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Instance.hpp @@ -45,6 +45,7 @@ class SYCLInternal { sycl::device_ptr scratch_space(const std::size_t size); sycl::device_ptr scratch_flags(const std::size_t size); + sycl::host_ptr scratch_host(const std::size_t size); int acquire_team_scratch_space(); sycl::device_ptr resize_team_scratch_space(int scratch_pool_id, std::int64_t bytes, @@ -60,6 +61,8 @@ class SYCLInternal { std::size_t m_scratchSpaceCount = 0; sycl::device_ptr m_scratchSpace = nullptr; + std::size_t m_scratchHostCount = 0; + sycl::host_ptr m_scratchHost = nullptr; std::size_t m_scratchFlagsCount = 0; sycl::device_ptr m_scratchFlags = nullptr; // mutex to access shared memory @@ -330,8 +333,8 @@ struct sycl::is_device_copyable< Kokkos::Experimental::Impl::SYCLFunctionWrapper> : std::true_type {}; -// FIXME_SYCL Remove when this specialization when specializations for -// sycl::device_copyable also apply to const-qualified types. +#if (defined(__INTEL_LLVM_COMPILER) && __INTEL_LLVM_COMPILER < 20240000) || \ + (defined(__LIBSYCL_MAJOR_VERSION) && __LIBSYCL_MAJOR_VERSION < 7) template struct NonTriviallyCopyableAndDeviceCopyable { NonTriviallyCopyableAndDeviceCopyable( @@ -356,3 +359,4 @@ struct sycl::is_device_copyable< : std::true_type {}; #endif #endif +#endif diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_MDRange.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_MDRange.hpp index f4fada570b..7fbf5420f8 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_MDRange.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_MDRange.hpp @@ -118,6 +118,8 @@ class Kokkos::Impl::ParallelFor, const BarePolicy bare_policy(m_policy); + desul::ensure_sycl_lock_arrays_on_device(q); + auto parallel_for_event = q.submit([&](sycl::handler& cgh) { const auto range = compute_ranges(); const sycl::range<3> global_range = range.get_global_range(); diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_Range.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_Range.hpp index 9c5767d209..b4de7eb89f 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_Range.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_Range.hpp @@ -81,6 +81,8 @@ class Kokkos::Impl::ParallelFor, const Kokkos::Experimental::SYCL& space = policy.space(); sycl::queue& q = space.sycl_queue(); + desul::ensure_sycl_lock_arrays_on_device(q); + auto parallel_for_event = q.submit([&](sycl::handler& cgh) { #ifndef KOKKOS_IMPL_SYCL_USE_IN_ORDER_QUEUES cgh.depends_on(memcpy_event); diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_Team.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_Team.hpp index 4fc5818ce9..ecb4a863da 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_Team.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelFor_Team.hpp @@ -46,9 +46,9 @@ class Kokkos::Impl::ParallelFor, int m_shmem_size; sycl::device_ptr m_global_scratch_ptr; size_t m_scratch_size[2]; - // Only let one ParallelFor/Reduce modify the team scratch memory. The - // constructor acquires the mutex which is released in the destructor. - std::scoped_lock m_scratch_lock; + // Only let one ParallelFor instance at a time use the team scratch memory. + // The constructor acquires the mutex which is released in the destructor. + std::scoped_lock m_scratch_buffers_lock; int m_scratch_pool_id = -1; template @@ -59,6 +59,8 @@ class Kokkos::Impl::ParallelFor, const Kokkos::Experimental::SYCL& space = policy.space(); sycl::queue& q = space.sycl_queue(); + desul::ensure_sycl_lock_arrays_on_device(q); + auto parallel_for_event = q.submit([&](sycl::handler& cgh) { // FIXME_SYCL accessors seem to need a size greater than zero at least for // host queues @@ -74,7 +76,8 @@ class Kokkos::Impl::ParallelFor, auto lambda = [=](sycl::nd_item<2> item) { const member_type team_member( - team_scratch_memory_L0.get_pointer(), shmem_begin, scratch_size[0], + KOKKOS_IMPL_SYCL_GET_MULTI_PTR(team_scratch_memory_L0), shmem_begin, + scratch_size[0], global_scratch_ptr + item.get_group(1) * scratch_size[1], scratch_size[1], item, item.get_group_linear_id(), item.get_group_range(1)); @@ -141,9 +144,9 @@ class Kokkos::Impl::ParallelFor, m_league_size(arg_policy.league_size()), m_team_size(arg_policy.team_size()), m_vector_size(arg_policy.impl_vector_length()), - m_scratch_lock(arg_policy.space() - .impl_internal_space_instance() - ->m_team_scratch_mutex) { + m_scratch_buffers_lock(arg_policy.space() + .impl_internal_space_instance() + ->m_team_scratch_mutex) { // FIXME_SYCL optimize if (m_team_size < 0) m_team_size = diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_MDRange.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_MDRange.hpp index 6964c2dbcf..f55280e22e 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_MDRange.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_MDRange.hpp @@ -78,7 +78,7 @@ class Kokkos::Impl::ParallelReduce::accessible), - m_shared_memory_lock( + m_scratch_buffers_lock( m_space.impl_internal_space_instance()->m_mutexScratchSpace) {} private: @@ -95,9 +95,16 @@ class Kokkos::Impl::ParallelReduce results_ptr; + auto host_result_ptr = + (m_result_ptr && !m_result_ptr_device_accessible) + ? static_cast>( + instance.scratch_host(sizeof(value_type) * value_count)) + : nullptr; sycl::event last_reduction_event; + desul::ensure_sycl_lock_arrays_on_device(q); + // If n_tiles==0 we only call init() and final() working with the global // scratch memory but don't copy back to m_result_ptr yet. if (n_tiles == 0) { @@ -109,8 +116,10 @@ class Kokkos::Impl::ParallelReduce>( instance.scratch_space(sizeof(value_type) * value_count)); - sycl::global_ptr device_accessible_result_ptr = - m_result_ptr_device_accessible ? m_result_ptr : nullptr; + auto device_accessible_result_ptr = + m_result_ptr_device_accessible + ? static_cast>(m_result_ptr) + : static_cast>(host_result_ptr); cgh.single_task([=]() { const CombinedFunctorReducerType& functor_reducer = functor_reducer_wrapper.get_functor(); @@ -148,8 +157,10 @@ class Kokkos::Impl::ParallelReduce>( instance.scratch_space(sizeof(value_type) * value_count * n_wgroups)); - sycl::global_ptr device_accessible_result_ptr = - m_result_ptr_device_accessible ? m_result_ptr : nullptr; + auto device_accessible_result_ptr = + m_result_ptr_device_accessible + ? static_cast>(m_result_ptr) + : static_cast>(host_result_ptr); auto scratch_flags = static_cast>( instance.scratch_flags(sizeof(unsigned int))); @@ -223,6 +234,7 @@ class Kokkos::Impl::ParallelReduce= static_cast(n_wgroups)) reducer.init(&local_mem[local_id * value_count]); else { @@ -268,6 +280,7 @@ class Kokkos::Impl::ParallelReduce= static_cast(n_wgroups)) reducer.init(&local_value); else { @@ -296,11 +309,13 @@ class Kokkos::Impl::ParallelReduce( - m_space, m_result_ptr, results_ptr, - sizeof(*m_result_ptr) * value_count); + // Using DeepCopy instead of fence+memcpy turned out to be up to 2x slower. + if (host_result_ptr) { + m_space.fence( + "Kokkos::Impl::ParallelReduce::execute: result " + "not device-accessible"); + std::memcpy(m_result_ptr, host_result_ptr, + sizeof(value_type) * value_count); } return last_reduction_event; @@ -335,9 +350,9 @@ class Kokkos::Impl::ParallelReduce m_shared_memory_lock; + // Only let one ParallelReduce instance at a time use the host scratch memory. + // The constructor acquires the mutex which is released in the destructor. + std::scoped_lock m_scratch_buffers_lock; }; #endif /* KOKKOS_SYCL_PARALLEL_REDUCE_MDRANGE_HPP */ diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_Range.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_Range.hpp index 8c900cfa42..5333e3c8a8 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_Range.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_Range.hpp @@ -51,7 +51,7 @@ class Kokkos::Impl::ParallelReduce::accessible), - m_shared_memory_lock( + m_scratch_buffers_lock( p.space().impl_internal_space_instance()->m_mutexScratchSpace) {} private: @@ -70,11 +70,20 @@ class Kokkos::Impl::ParallelReduce results_ptr = nullptr; - sycl::global_ptr device_accessible_result_ptr = - m_result_ptr_device_accessible ? m_result_ptr : nullptr; + auto host_result_ptr = + (m_result_ptr && !m_result_ptr_device_accessible) + ? static_cast>( + instance.scratch_host(sizeof(value_type) * value_count)) + : nullptr; + auto device_accessible_result_ptr = + m_result_ptr_device_accessible + ? static_cast>(m_result_ptr) + : static_cast>(host_result_ptr); sycl::event last_reduction_event; + desul::ensure_sycl_lock_arrays_on_device(q); + // If size<=1 we only call init(), the functor and possibly final once // working with the global scratch memory but don't copy back to // m_result_ptr yet. @@ -168,6 +177,7 @@ class Kokkos::Impl::ParallelReduce= n_wgroups) reducer.init(&local_mem[local_id * value_count]); else { @@ -210,6 +220,7 @@ class Kokkos::Impl::ParallelReduce= n_wgroups) reducer.init(&local_value); else { @@ -320,11 +331,13 @@ class Kokkos::Impl::ParallelReduce( - space, m_result_ptr, results_ptr, - sizeof(*m_result_ptr) * value_count); + // Using DeepCopy instead of fence+memcpy turned out to be up to 2x slower. + if (host_result_ptr) { + space.fence( + "Kokkos::Impl::ParallelReduce::execute: result " + "not device-accessible"); + std::memcpy(m_result_ptr, host_result_ptr, + sizeof(*m_result_ptr) * value_count); } return last_reduction_event; @@ -354,9 +367,9 @@ class Kokkos::Impl::ParallelReduce m_shared_memory_lock; + // Only let one ParallelReduce instance at a time use the host scratch memory. + // The constructor acquires the mutex which is released in the destructor. + std::scoped_lock m_scratch_buffers_lock; }; #endif /* KOKKOS_SYCL_PARALLEL_REDUCE_RANGE_HPP */ diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_Team.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_Team.hpp index 07145b0fb9..27165c59e3 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_Team.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelReduce_Team.hpp @@ -59,9 +59,10 @@ class Kokkos::Impl::ParallelReduce m_scratch_lock; + // Only let one ParallelReduce instance at a time use the team scratch memory + // and the host scratch memory. The constructor acquires the mutex which is + // released in the destructor. + std::scoped_lock m_scratch_buffers_lock; int m_scratch_pool_id = -1; template @@ -79,9 +80,16 @@ class Kokkos::Impl::ParallelReduce>( + instance.scratch_host(sizeof(value_type) * value_count)) + : nullptr; sycl::event last_reduction_event; + desul::ensure_sycl_lock_arrays_on_device(q); + // If size<=1 we only call init(), the functor and possibly final once // working with the global scratch memory but don't copy back to // m_result_ptr yet. @@ -89,8 +97,10 @@ class Kokkos::Impl::ParallelReduce>(instance.scratch_space( sizeof(value_type) * std::max(value_count, 1u))); - sycl::global_ptr device_accessible_result_ptr = - m_result_ptr_device_accessible ? m_result_ptr : nullptr; + auto device_accessible_result_ptr = + m_result_ptr_device_accessible + ? static_cast>(m_result_ptr) + : static_cast>(host_result_ptr); auto parallel_reduce_event = q.submit([&](sycl::handler& cgh) { // FIXME_SYCL accessors seem to need a size greater than zero at least @@ -121,9 +131,10 @@ class Kokkos::Impl::ParallelReduce) functor(team_member, update); else @@ -160,12 +171,16 @@ class Kokkos::Impl::ParallelReduce const global_scratch_ptr = m_global_scratch_ptr; + sycl::local_accessor num_teams_done(1, cgh); auto team_reduction_factory = [&](sycl::local_accessor local_mem, sycl::device_ptr results_ptr) { - sycl::global_ptr device_accessible_result_ptr = - m_result_ptr_device_accessible ? m_result_ptr : nullptr; + auto device_accessible_result_ptr = + m_result_ptr_device_accessible + ? static_cast>(m_result_ptr) + : static_cast>( + host_result_ptr); auto lambda = [=](sycl::nd_item<2> item) { auto n_wgroups = item.get_group_range()[1]; int wgroup_size = @@ -173,8 +188,6 @@ class Kokkos::Impl::ParallelReduce( - local_mem[wgroup_size * std::max(value_count, 1u)]); const auto local_id = item.get_local_linear_id(); const CombinedFunctorReducerType& functor_reducer = functor_reducer_wrapper.get_functor(); @@ -188,8 +201,8 @@ class Kokkos::Impl::ParallelReduce scratch_flags_ref(*scratch_flags); - num_teams_done = ++scratch_flags_ref; + num_teams_done[0] = ++scratch_flags_ref; } sycl::group_barrier(item.get_group()); - if (num_teams_done == n_wgroups) { + if (num_teams_done[0] == n_wgroups) { + if (local_id == 0) *scratch_flags = 0; if (local_id >= n_wgroups) reducer.init(&local_mem[local_id * value_count]); else { @@ -241,8 +255,8 @@ class Kokkos::Impl::ParallelReduce scratch_flags_ref(*scratch_flags); - num_teams_done = ++scratch_flags_ref; + num_teams_done[0] = ++scratch_flags_ref; } item.barrier(sycl::access::fence_space::local_space); - if (num_teams_done == n_wgroups) { + if (num_teams_done[0] == n_wgroups) { + if (local_id == 0) *scratch_flags = 0; if (local_id >= n_wgroups) reducer.init(&local_value); else { @@ -311,10 +326,7 @@ class Kokkos::Impl::ParallelReduce local_mem( - sycl::range<1>(wgroup_size) * std::max(value_count, 1u) + - (sizeof(unsigned int) + sizeof(value_type) - 1) / - sizeof(value_type), - cgh); + sycl::range<1>(wgroup_size) * std::max(value_count, 1u), cgh); const auto init_size = std::max((size + wgroup_size - 1) / wgroup_size, 1); @@ -358,11 +370,13 @@ class Kokkos::Impl::ParallelReduce( - space, m_result_ptr, results_ptr, - sizeof(*m_result_ptr) * value_count); + // Using DeepCopy instead of fence+memcpy turned out to be up to 2x slower. + if (host_result_ptr) { + space.fence( + "Kokkos::Impl::ParallelReduce::execute: result not " + "device-accessible"); + std::memcpy(m_result_ptr, host_result_ptr, + sizeof(*m_result_ptr) * value_count); } return last_reduction_event; @@ -448,9 +462,9 @@ class Kokkos::Impl::ParallelReducem_team_scratch_mutex) { + m_scratch_buffers_lock(arg_policy.space() + .impl_internal_space_instance() + ->m_team_scratch_mutex) { initialize(); } }; diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelScan_Range.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelScan_Range.hpp index 04425723e1..977b69bc9e 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelScan_Range.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ParallelScan_Range.hpp @@ -14,8 +14,8 @@ // //@HEADER -#ifndef KOKKO_SYCL_PARALLEL_SCAN_RANGE_HPP -#define KOKKO_SYCL_PARALLEL_SCAN_RANGE_HPP +#ifndef KOKKOS_SYCL_PARALLEL_SCAN_RANGE_HPP +#define KOKKOS_SYCL_PARALLEL_SCAN_RANGE_HPP #include #include @@ -111,13 +111,13 @@ class ParallelScanSYCLBase { const CombinedFunctorReducer m_functor_reducer; const Policy m_policy; - pointer_type m_scratch_space = nullptr; - const pointer_type m_result_ptr; + sycl::host_ptr m_scratch_host = nullptr; + pointer_type m_result_ptr; const bool m_result_ptr_device_accessible; - // Only let one Parallel/Scan modify the shared memory. The - // constructor acquires the mutex which is released in the destructor. - std::scoped_lock m_shared_memory_lock; + // Only let one ParallelScan instance at a time use the host scratch memory. + // The constructor acquires the mutex which is released in the destructor. + std::scoped_lock m_scratch_buffers_lock; private: template @@ -187,6 +187,7 @@ class ParallelScanSYCLBase { } item.barrier(sycl::access::fence_space::global_space); if (num_teams_done[0] == n_wgroups) { + if (local_id == 0) *scratch_flags = 0; value_type total; reducer.init(&total); @@ -220,6 +221,8 @@ class ParallelScanSYCLBase { sycl::device_ptr global_mem; sycl::device_ptr group_results; + desul::ensure_sycl_lock_arrays_on_device(q); + auto perform_work_group_scans = q.submit([&](sycl::handler& cgh) { sycl::local_accessor num_teams_done(1, cgh); @@ -253,7 +256,8 @@ class ParallelScanSYCLBase { global_mem = static_cast>(instance.scratch_space( n_wgroups * (wgroup_size + 1) * sizeof(value_type))); - m_scratch_space = global_mem; + m_scratch_host = static_cast>( + instance.scratch_host(sizeof(value_type))); group_results = global_mem + n_wgroups * wgroup_size; @@ -281,10 +285,11 @@ class ParallelScanSYCLBase { // Write results to global memory auto update_global_results = q.submit([&](sycl::handler& cgh) { - auto result_ptr_device_accessible = m_result_ptr_device_accessible; // The compiler failed with CL_INVALID_ARG_VALUE if using m_result_ptr // directly. - auto result_ptr = m_result_ptr_device_accessible ? m_result_ptr : nullptr; + pointer_type result_ptr = m_result_ptr_device_accessible + ? m_result_ptr + : static_cast(m_scratch_host); #ifndef KOKKOS_IMPL_SYCL_USE_IN_ORDER_QUEUES cgh.depends_on(perform_work_group_scans); @@ -293,7 +298,6 @@ class ParallelScanSYCLBase { cgh.parallel_for( sycl::nd_range<1>(n_wgroups * wgroup_size, wgroup_size), [=](sycl::nd_item<1> item) { - auto global_mem_copy = global_mem; const index_type global_id = item.get_global_linear_id(); const CombinedFunctorReducer< FunctorType, typename Analysis::Reducer>& functor_reducer = @@ -312,9 +316,7 @@ class ParallelScanSYCLBase { else functor(WorkTag(), global_id + begin, update, true); - global_mem_copy[global_id] = update; - if (global_id == size - 1 && result_ptr_device_accessible) - *result_ptr = update; + if (global_id == size - 1) *result_ptr = update; } }); }); @@ -351,9 +353,9 @@ class ParallelScanSYCLBase { m_policy(arg_policy), m_result_ptr(arg_result_ptr), m_result_ptr_device_accessible(arg_result_ptr_device_accessible), - m_shared_memory_lock(m_policy.space() - .impl_internal_space_instance() - ->m_mutexScratchSpace) {} + m_scratch_buffers_lock(m_policy.space() + .impl_internal_space_instance() + ->m_mutexScratchSpace) {} }; } // namespace Kokkos::Impl @@ -390,11 +392,13 @@ class Kokkos::Impl::ParallelScanWithTotal< Base::impl_execute([&]() { const long long nwork = Base::m_policy.end() - Base::m_policy.begin(); if (nwork > 0 && !Base::m_result_ptr_device_accessible) { + // Using DeepCopy instead of fence+memcpy turned out to be up to 2x + // slower. + m_exec.fence( + "Kokkos::Impl::ParallelReduce::execute: " + "result not device-accessible"); const int size = Base::m_functor_reducer.get_reducer().value_size(); - DeepCopy(m_exec, Base::m_result_ptr, - Base::m_scratch_space + nwork - 1, - size); + std::memcpy(Base::m_result_ptr, Base::m_scratch_host, size); } }); } diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Space.cpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Space.cpp index 64b7f56796..9cc8008cdf 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Space.cpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Space.cpp @@ -25,7 +25,6 @@ #include #include #include -#include #include /*--------------------------------------------------------------------------*/ @@ -243,226 +242,17 @@ void SYCLHostUSMSpace::deallocate(const char* arg_label, } // namespace Experimental } // namespace Kokkos -namespace Kokkos { -namespace Impl { - -#ifdef KOKKOS_ENABLE_DEBUG -SharedAllocationRecord SharedAllocationRecord< - Kokkos::Experimental::SYCLDeviceUSMSpace, void>::s_root_record; - -SharedAllocationRecord SharedAllocationRecord< - Kokkos::Experimental::SYCLSharedUSMSpace, void>::s_root_record; - -SharedAllocationRecord SharedAllocationRecord< - Kokkos::Experimental::SYCLHostUSMSpace, void>::s_root_record; -#endif - -SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::Experimental::SYCLDeviceUSMSpace& space, - const std::string& label, const size_t size, - const SharedAllocationRecord::function_type dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Kokkos::Impl::checked_allocation_with_header(space, label, size), - sizeof(SharedAllocationHeader) + size, dealloc, label), - m_space(space) { - SharedAllocationHeader header; - - this->base_t::_fill_host_accessible_header_info(header, label); - - // Copy to device memory - Kokkos::Experimental::SYCL exec; - Kokkos::Impl::DeepCopy( - exec, RecordBase::m_alloc_ptr, &header, sizeof(SharedAllocationHeader)); - exec.fence( - "SharedAllocationRecord::SharedAllocationRecord(): fence after copying header from " - "HostSpace"); -} - -SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::Experimental::SYCL& arg_exec_space, - const Kokkos::Experimental::SYCLDeviceUSMSpace& space, - const std::string& label, const size_t size, - const SharedAllocationRecord::function_type dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Kokkos::Impl::checked_allocation_with_header(arg_exec_space, space, - label, size), - sizeof(SharedAllocationHeader) + size, dealloc, label), - m_space(space) { - SharedAllocationHeader header; - - this->base_t::_fill_host_accessible_header_info(header, label); - - // Copy to device memory - Kokkos::Impl::DeepCopy( - arg_exec_space, RecordBase::m_alloc_ptr, &header, - sizeof(SharedAllocationHeader)); -} - -SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::Experimental::SYCL& exec_space, - const Kokkos::Experimental::SYCLSharedUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(exec_space, arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - - this->base_t::_fill_host_accessible_header_info(*base_t::m_alloc_ptr, - arg_label); -} - -SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::Experimental::SYCLSharedUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - - this->base_t::_fill_host_accessible_header_info(*base_t::m_alloc_ptr, - arg_label); -} - -SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::Experimental::SYCL& exec_space, - const Kokkos::Experimental::SYCLHostUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(exec_space, arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - - this->base_t::_fill_host_accessible_header_info(*base_t::m_alloc_ptr, - arg_label); -} - -SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::Experimental::SYCLHostUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - - this->base_t::_fill_host_accessible_header_info(*base_t::m_alloc_ptr, - arg_label); -} - -} // namespace Impl -} // namespace Kokkos - -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- - -namespace Kokkos { -namespace Impl { - -SharedAllocationRecord::~SharedAllocationRecord() { - const auto alloc_size = SharedAllocationRecord::m_alloc_size; - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - alloc_size, alloc_size - sizeof(SharedAllocationHeader)); -} - -SharedAllocationRecord::~SharedAllocationRecord() { - const auto alloc_size = SharedAllocationRecord::m_alloc_size; - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - alloc_size, alloc_size - sizeof(SharedAllocationHeader)); -} - -SharedAllocationRecord::~SharedAllocationRecord() { - const auto alloc_size = SharedAllocationRecord::m_alloc_size; - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - alloc_size, alloc_size - sizeof(SharedAllocationHeader)); -} - -//---------------------------------------------------------------------------- - -} // namespace Impl -} // namespace Kokkos - //============================================================================== // {{{1 #include -namespace Kokkos { -namespace Impl { - -// To avoid additional compilation cost for something that's (mostly?) not -// performance sensitive, we explicity instantiate these CRTP base classes here, -// where we have access to the associated *_timpl.hpp header files. -template class HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::SYCLDeviceUSMSpace>; -template class SharedAllocationRecordCommon< - Kokkos::Experimental::SYCLDeviceUSMSpace>; -template class SharedAllocationRecordCommon< - Kokkos::Experimental::SYCLSharedUSMSpace>; -template class SharedAllocationRecordCommon< - Kokkos::Experimental::SYCLHostUSMSpace>; - -} // namespace Impl -} // namespace Kokkos +KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::Experimental::SYCLDeviceUSMSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::Experimental::SYCLSharedUSMSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( + Kokkos::Experimental::SYCLHostUSMSpace); // end Explicit instantiations of CRTP Base classes }}}1 //============================================================================== diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Space.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Space.hpp index 239c6e3ce0..b86cfca413 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Space.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Space.hpp @@ -66,11 +66,6 @@ class SYCLDeviceUSMSpace { const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; - private: - template - friend class LogicalMemorySpace; - - public: static constexpr const char* name() { return "SYCLDeviceUSM"; }; private: @@ -87,6 +82,16 @@ class SYCLSharedUSMSpace { SYCLSharedUSMSpace(); explicit SYCLSharedUSMSpace(sycl::queue queue); + template + void* allocate(const ExecutionSpace&, const size_t arg_alloc_size) const { + return allocate(arg_alloc_size); + } + template + void* allocate(const ExecutionSpace&, const char* arg_label, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const { + return allocate(arg_label, arg_alloc_size, arg_logical_size); + } void* allocate(const SYCL& exec_space, const std::size_t arg_alloc_size) const; void* allocate(const SYCL& exec_space, const char* arg_label, @@ -102,11 +107,6 @@ class SYCLSharedUSMSpace { const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; - private: - template - friend class LogicalMemorySpace; - - public: static constexpr const char* name() { return "SYCLSharedUSM"; }; private: @@ -123,6 +123,16 @@ class SYCLHostUSMSpace { SYCLHostUSMSpace(); explicit SYCLHostUSMSpace(sycl::queue queue); + template + void* allocate(const ExecutionSpace&, const size_t arg_alloc_size) const { + return allocate(arg_alloc_size); + } + template + void* allocate(const ExecutionSpace&, const char* arg_label, + const size_t arg_alloc_size, + const size_t arg_logical_size = 0) const { + return allocate(arg_label, arg_alloc_size, arg_logical_size); + } void* allocate(const SYCL& exec_space, const std::size_t arg_alloc_size) const; void* allocate(const SYCL& exec_space, const char* arg_label, @@ -138,11 +148,6 @@ class SYCLHostUSMSpace { const size_t arg_alloc_size, const size_t arg_logical_size = 0) const; - private: - template - friend class LogicalMemorySpace; - - public: static constexpr const char* name() { return "SYCLHostUSM"; }; private: @@ -166,19 +171,16 @@ struct is_sycl_type_space : public std::true_type {}; static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLDeviceUSMSpace, - Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLDeviceUSMSpace, + Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable); static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLSharedUSMSpace, - Kokkos::Experimental::SYCLSharedUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLSharedUSMSpace, + Kokkos::Experimental::SYCLSharedUSMSpace>::assignable); static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLDeviceUSMSpace, - Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLDeviceUSMSpace, + Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable); template <> struct MemorySpaceAccess -class SharedAllocationRecord - : public HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::SYCLDeviceUSMSpace> { - private: - friend class SharedAllocationRecordCommon< - Kokkos::Experimental::SYCLDeviceUSMSpace>; - friend class HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::SYCLDeviceUSMSpace>; - using base_t = HostInaccessibleSharedAllocationRecordCommon< - Kokkos::Experimental::SYCLDeviceUSMSpace>; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord(SharedAllocationRecord&&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(SharedAllocationRecord&&) = delete; - -#ifdef KOKKOS_ENABLE_DEBUG - static RecordBase s_root_record; -#endif - - const Kokkos::Experimental::SYCLDeviceUSMSpace m_space; - - protected: - ~SharedAllocationRecord(); - - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, - const Kokkos::Experimental::SYCLDeviceUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate) - : SharedAllocationRecord(arg_space, arg_label, arg_alloc_size, - arg_dealloc) {} - - SharedAllocationRecord( - const Kokkos::Experimental::SYCL& exec_space, - const Kokkos::Experimental::SYCLDeviceUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); - - SharedAllocationRecord( - const Kokkos::Experimental::SYCLDeviceUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); -}; - -template <> -class SharedAllocationRecord - : public SharedAllocationRecordCommon< - Kokkos::Experimental::SYCLSharedUSMSpace> { - private: - friend class SharedAllocationRecordCommon< - Kokkos::Experimental::SYCLSharedUSMSpace>; - using base_t = - SharedAllocationRecordCommon; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord(SharedAllocationRecord&&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(SharedAllocationRecord&&) = delete; - - static RecordBase s_root_record; - - const Kokkos::Experimental::SYCLSharedUSMSpace m_space; - - protected: - ~SharedAllocationRecord(); - - SharedAllocationRecord() = default; - - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, - const Kokkos::Experimental::SYCLSharedUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate) - : SharedAllocationRecord(arg_space, arg_label, arg_alloc_size, - arg_dealloc) {} - - SharedAllocationRecord( - const Kokkos::Experimental::SYCL& exec_space, - const Kokkos::Experimental::SYCLSharedUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); - - SharedAllocationRecord( - const Kokkos::Experimental::SYCLSharedUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); -}; - -template <> -class SharedAllocationRecord - : public SharedAllocationRecordCommon< - Kokkos::Experimental::SYCLHostUSMSpace> { - private: - friend class SharedAllocationRecordCommon< - Kokkos::Experimental::SYCLHostUSMSpace>; - using base_t = - SharedAllocationRecordCommon; - using RecordBase = SharedAllocationRecord; - - SharedAllocationRecord(const SharedAllocationRecord&) = delete; - SharedAllocationRecord(SharedAllocationRecord&&) = delete; - SharedAllocationRecord& operator=(const SharedAllocationRecord&) = delete; - SharedAllocationRecord& operator=(SharedAllocationRecord&&) = delete; - - static RecordBase s_root_record; - - const Kokkos::Experimental::SYCLHostUSMSpace m_space; - - protected: - ~SharedAllocationRecord(); - - SharedAllocationRecord() = default; - - template - SharedAllocationRecord( - const ExecutionSpace& /*exec_space*/, - const Kokkos::Experimental::SYCLHostUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate) - : SharedAllocationRecord(arg_space, arg_label, arg_alloc_size, - arg_dealloc) {} - - SharedAllocationRecord( - const Kokkos::Experimental::SYCL& exec_space, - const Kokkos::Experimental::SYCLHostUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); - - SharedAllocationRecord( - const Kokkos::Experimental::SYCLHostUSMSpace& arg_space, - const std::string& arg_label, const size_t arg_alloc_size, - const RecordBase::function_type arg_dealloc = &base_t::deallocate); -}; - -} // namespace Impl - } // namespace Kokkos +KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_SPECIALIZATION( + Kokkos::Experimental::SYCLDeviceUSMSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_SPECIALIZATION( + Kokkos::Experimental::SYCLSharedUSMSpace); +KOKKOS_IMPL_SHARED_ALLOCATION_SPECIALIZATION( + Kokkos::Experimental::SYCLHostUSMSpace); + #endif #endif diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Team.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Team.hpp index 89c09c3195..dbba382758 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Team.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_Team.hpp @@ -140,9 +140,14 @@ class SYCLTeamMember { } value = sg.shuffle(value, 0); + const auto n_subgroups = sg.get_group_range()[0]; + if (n_subgroups == 1) { + reducer.reference() = value; + return; + } + // We need to chunk up the whole reduction because we might not have // allocated enough memory. - const auto n_subgroups = sg.get_group_range()[0]; const unsigned int maximum_work_range = std::min(m_team_reduce_size / sizeof(value_type), n_subgroups); diff --git a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ZeroMemset.hpp b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ZeroMemset.hpp index 9548f211d9..61db6b34aa 100644 --- a/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ZeroMemset.hpp +++ b/lib/kokkos/core/src/SYCL/Kokkos_SYCL_ZeroMemset.hpp @@ -26,8 +26,7 @@ namespace Impl { template struct ZeroMemset> { ZeroMemset(const Kokkos::Experimental::SYCL& exec_space, - const View& dst, - typename View::const_value_type&) { + const View& dst) { auto event = exec_space.impl_internal_space_instance()->m_queue->memset( dst.data(), 0, dst.size() * sizeof(typename View::value_type)); #ifndef KOKKOS_IMPL_SYCL_USE_IN_ORDER_QUEUES @@ -35,12 +34,6 @@ struct ZeroMemset> { ->m_queue->ext_oneapi_submit_barrier(std::vector{event}); #endif } - - ZeroMemset(const View& dst, - typename View::const_value_type&) { - Experimental::Impl::SYCLInternal::singleton().m_queue->memset( - dst.data(), 0, dst.size() * sizeof(typename View::value_type)); - } }; } // namespace Impl diff --git a/lib/kokkos/core/src/Serial/Kokkos_Serial.cpp b/lib/kokkos/core/src/Serial/Kokkos_Serial.cpp index 071ecdbc4f..39b201976b 100644 --- a/lib/kokkos/core/src/Serial/Kokkos_Serial.cpp +++ b/lib/kokkos/core/src/Serial/Kokkos_Serial.cpp @@ -153,7 +153,7 @@ void Serial::print_configuration(std::ostream& os, bool /*verbose*/) const { os << "Host Serial Execution Space:\n"; os << " KOKKOS_ENABLE_SERIAL: yes\n"; -#ifdef KOKKOS_INTERNAL_NOT_PARALLEL +#ifdef KOKKOS_ENABLE_ATOMICS_BYPASS os << "Kokkos atomics disabled\n"; #endif diff --git a/lib/kokkos/core/src/Serial/Kokkos_Serial.hpp b/lib/kokkos/core/src/Serial/Kokkos_Serial.hpp index 67119cac16..43eb4992ed 100644 --- a/lib/kokkos/core/src/Serial/Kokkos_Serial.hpp +++ b/lib/kokkos/core/src/Serial/Kokkos_Serial.hpp @@ -121,7 +121,10 @@ class Serial { /// For the Serial device, this method always returns false, /// because parallel_for or parallel_reduce with the Serial device /// always execute sequentially. - inline static int in_parallel() { return false; } + +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED inline static int in_parallel() { return false; } +#endif /// \brief Wait until all dispatched functors complete. /// diff --git a/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_MDRange.hpp b/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_MDRange.hpp index 69787aa500..67978aa3e9 100644 --- a/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_MDRange.hpp +++ b/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_MDRange.hpp @@ -14,8 +14,8 @@ // //@HEADER -#ifndef KOKKO_SERIAL_PARALLEL_MDRANGE_HPP -#define KOKKO_SERIAL_PARALLEL_MDRANGE_HPP +#ifndef KOKKOS_SERIAL_PARALLEL_MDRANGE_HPP +#define KOKKOS_SERIAL_PARALLEL_MDRANGE_HPP #include #include diff --git a/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_Range.hpp b/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_Range.hpp index 56894716db..91b4c56711 100644 --- a/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_Range.hpp +++ b/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_Range.hpp @@ -14,8 +14,8 @@ // //@HEADER -#ifndef KOKKO_SERIAL_PARALLEL_RANGE_HPP -#define KOKKO_SERIAL_PARALLEL_RANGE_HPP +#ifndef KOKKOS_SERIAL_PARALLEL_RANGE_HPP +#define KOKKOS_SERIAL_PARALLEL_RANGE_HPP #include diff --git a/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_Team.hpp b/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_Team.hpp index 0876f1af22..f34a7daaca 100644 --- a/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_Team.hpp +++ b/lib/kokkos/core/src/Serial/Kokkos_Serial_Parallel_Team.hpp @@ -14,8 +14,8 @@ // //@HEADER -#ifndef KOKKO_SERIAL_PARALLEL_TEAM_HPP -#define KOKKO_SERIAL_PARALLEL_TEAM_HPP +#ifndef KOKKOS_SERIAL_PARALLEL_TEAM_HPP +#define KOKKOS_SERIAL_PARALLEL_TEAM_HPP #include diff --git a/lib/kokkos/core/src/Serial/Kokkos_Serial_Task.hpp b/lib/kokkos/core/src/Serial/Kokkos_Serial_Task.hpp index f9c86f55ce..5905d6d32e 100644 --- a/lib/kokkos/core/src/Serial/Kokkos_Serial_Task.hpp +++ b/lib/kokkos/core/src/Serial/Kokkos_Serial_Task.hpp @@ -121,7 +121,7 @@ class TaskQueueSpecializationConstrained< using task_base_type = TaskBase; using queue_type = typename scheduler_type::queue_type; - task_base_type* const end = (task_base_type*)task_base_type::EndTag; + auto* const end = reinterpret_cast(task_base_type::EndTag); execution_space serial_execution_space; auto& data = serial_execution_space.impl_internal_space_instance() @@ -157,7 +157,7 @@ class TaskQueueSpecializationConstrained< using task_base_type = TaskBase; using queue_type = typename scheduler_type::queue_type; - task_base_type* const end = (task_base_type*)task_base_type::EndTag; + auto* const end = reinterpret_cast(task_base_type::EndTag); execution_space serial_execution_space; diff --git a/lib/kokkos/core/src/Serial/Kokkos_Serial_ZeroMemset.hpp b/lib/kokkos/core/src/Serial/Kokkos_Serial_ZeroMemset.hpp index 3ec2dfbcfa..6ad6aabc5a 100644 --- a/lib/kokkos/core/src/Serial/Kokkos_Serial_ZeroMemset.hpp +++ b/lib/kokkos/core/src/Serial/Kokkos_Serial_ZeroMemset.hpp @@ -22,6 +22,7 @@ #include #include +#include namespace Kokkos { namespace Impl { @@ -34,14 +35,11 @@ template struct ZeroMemset< std::conditional_t::value, Serial, DummyExecutionSpace>, - View> - : public ZeroMemset> { - using Base = ZeroMemset>; - using Base::Base; - - ZeroMemset(const Serial&, const View& dst, - typename View::const_value_type& value) - : Base(dst, value) {} + View> { + ZeroMemset(const Serial&, const View& dst) { + using ValueType = typename View::value_type; + std::memset(dst.data(), 0, sizeof(ValueType) * dst.size()); + } }; } // namespace Impl diff --git a/lib/kokkos/core/src/Threads/Kokkos_Threads.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads.hpp index c0d70c03ec..31653c46ca 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_Threads.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads.hpp @@ -38,15 +38,6 @@ static_assert(false, /*--------------------------------------------------------------------------*/ -namespace Kokkos { -namespace Impl { -class ThreadsExec; -enum class fence_is_static { yes, no }; -} // namespace Impl -} // namespace Kokkos - -/*--------------------------------------------------------------------------*/ - namespace Kokkos { /** \brief Execution space for a pool of C++11 threads on a CPU. */ @@ -73,7 +64,9 @@ class Threads { /// \brief True if and only if this method is being called in a /// thread-parallel function. - static int in_parallel(); +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED static int in_parallel(); +#endif /// \brief Print configuration information to the given output stream. void print_configuration(std::ostream& os, bool verbose = false) const; diff --git a/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.cpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_Instance.cpp similarity index 56% rename from lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.cpp rename to lib/kokkos/core/src/Threads/Kokkos_Threads_Instance.cpp index 801a1ac82e..3842966cd7 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.cpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_Instance.cpp @@ -16,17 +16,15 @@ #ifndef KOKKOS_IMPL_PUBLIC_INCLUDE #define KOKKOS_IMPL_PUBLIC_INCLUDE +#include "Threads/Kokkos_Threads_Instance.hpp" #endif #include -#include -#include #include #include #include #include -#include #include @@ -41,7 +39,6 @@ namespace Kokkos { namespace Impl { namespace { -std::mutex host_internal_cppthread_mutex; // std::thread compatible driver. // Recovery from an exception would require constant intra-thread health @@ -49,7 +46,7 @@ std::mutex host_internal_cppthread_mutex; // abort the process. void internal_cppthread_driver() { try { - ThreadsExec::driver(); + ThreadsInternal::driver(); } catch (const std::exception &x) { std::cerr << "Exception thrown from worker thread: " << x.what() << std::endl; @@ -62,32 +59,17 @@ void internal_cppthread_driver() { } } -ThreadsExec s_threads_process; -ThreadsExec *s_threads_exec[ThreadsExec::MAX_THREAD_COUNT] = {nullptr}; -std::thread::id s_threads_pid[ThreadsExec::MAX_THREAD_COUNT]; -std::pair s_threads_coord[ThreadsExec::MAX_THREAD_COUNT]; +ThreadsInternal s_threads_process; +ThreadsInternal *s_threads_exec[ThreadsInternal::MAX_THREAD_COUNT] = {nullptr}; +std::thread::id s_threads_pid[ThreadsInternal::MAX_THREAD_COUNT]; +std::pair + s_threads_coord[ThreadsInternal::MAX_THREAD_COUNT]; int s_thread_pool_size[3] = {0, 0, 0}; -unsigned s_current_reduce_size = 0; -unsigned s_current_shared_size = 0; - -void (*volatile s_current_function)(ThreadsExec &, const void *); +void (*volatile s_current_function)(ThreadsInternal &, const void *); const void *volatile s_current_function_arg = nullptr; -struct Sentinel { - ~Sentinel() { - if (s_thread_pool_size[0] || s_thread_pool_size[1] || - s_thread_pool_size[2] || s_current_reduce_size || - s_current_shared_size || s_current_function || s_current_function_arg || - s_threads_exec[0]) { - std::cerr << "ERROR : Process exiting while Kokkos::Threads is still " - "initialized" - << std::endl; - } - } -}; - inline unsigned fan_size(const unsigned rank, const unsigned size) { const unsigned rank_rev = size - (rank + 1); unsigned count = 0; @@ -97,6 +79,12 @@ inline unsigned fan_size(const unsigned rank, const unsigned size) { return count; } +void wait_yield(volatile ThreadState &flag, const ThreadState value) { + while (value == flag) { + std::this_thread::yield(); + } +} + } // namespace } // namespace Impl } // namespace Kokkos @@ -107,66 +95,44 @@ inline unsigned fan_size(const unsigned rank, const unsigned size) { namespace Kokkos { namespace Impl { -//---------------------------------------------------------------------------- -// Spawn a thread - -void ThreadsExec::spawn() { - std::thread t(internal_cppthread_driver); - t.detach(); -} - -//---------------------------------------------------------------------------- - -bool ThreadsExec::is_process() { +bool ThreadsInternal::is_process() { static const std::thread::id master_pid = std::this_thread::get_id(); return master_pid == std::this_thread::get_id(); } -void ThreadsExec::global_lock() { host_internal_cppthread_mutex.lock(); } - -void ThreadsExec::global_unlock() { host_internal_cppthread_mutex.unlock(); } - //---------------------------------------------------------------------------- -void ThreadsExec::wait_yield(volatile int &flag, const int value) { - while (value == flag) { - std::this_thread::yield(); - } -} +void execute_function_noop(ThreadsInternal &, const void *) {} -void execute_function_noop(ThreadsExec &, const void *) {} - -void ThreadsExec::driver() { +void ThreadsInternal::driver() { SharedAllocationRecord::tracking_enable(); - ThreadsExec this_thread; + ThreadsInternal this_thread; - while (ThreadsExec::Active == this_thread.m_pool_state) { + while (this_thread.m_pool_state == ThreadState::Active) { (*s_current_function)(this_thread, s_current_function_arg); // Deactivate thread and wait for reactivation - this_thread.m_pool_state = ThreadsExec::Inactive; + this_thread.m_pool_state = ThreadState::Inactive; - wait_yield(this_thread.m_pool_state, ThreadsExec::Inactive); + wait_yield(this_thread.m_pool_state, ThreadState::Inactive); } } -ThreadsExec::ThreadsExec() +ThreadsInternal::ThreadsInternal() : m_pool_base(nullptr), m_scratch(nullptr), m_scratch_reduce_end(0), m_scratch_thread_end(0), - m_numa_rank(0), - m_numa_core_rank(0), m_pool_rank(0), m_pool_size(0), m_pool_fan_size(0), - m_pool_state(ThreadsExec::Terminating) { + m_pool_state(ThreadState::Terminating) { if (&s_threads_process != this) { - // A spawned thread - - ThreadsExec *const nil = nullptr; + // The code in the if is executed by a spawned thread not by the root + // thread + ThreadsInternal *const nil = nullptr; // Which entry in 's_threads_exec', possibly determined from hwloc binding const int entry = reinterpret_cast(s_current_function_arg) < @@ -178,80 +144,66 @@ ThreadsExec::ThreadsExec() // Given a good entry set this thread in the 's_threads_exec' array if (entry < s_thread_pool_size[0] && nil == atomic_compare_exchange(s_threads_exec + entry, nil, this)) { - const std::pair coord = - Kokkos::hwloc::get_this_thread_coordinate(); - - m_numa_rank = coord.first; - m_numa_core_rank = coord.second; - m_pool_base = s_threads_exec; - m_pool_rank = s_thread_pool_size[0] - (entry + 1); - m_pool_rank_rev = s_thread_pool_size[0] - (pool_rank() + 1); - m_pool_size = s_thread_pool_size[0]; - m_pool_fan_size = fan_size(m_pool_rank, m_pool_size); - m_pool_state = ThreadsExec::Active; + m_pool_base = s_threads_exec; + m_pool_rank = s_thread_pool_size[0] - (entry + 1); + m_pool_rank_rev = s_thread_pool_size[0] - (pool_rank() + 1); + m_pool_size = s_thread_pool_size[0]; + m_pool_fan_size = fan_size(m_pool_rank, m_pool_size); + m_pool_state = ThreadState::Active; s_threads_pid[m_pool_rank] = std::this_thread::get_id(); // Inform spawning process that the threads_exec entry has been set. - s_threads_process.m_pool_state = ThreadsExec::Active; + s_threads_process.m_pool_state = ThreadState::Active; } else { // Inform spawning process that the threads_exec entry could not be set. - s_threads_process.m_pool_state = ThreadsExec::Terminating; + s_threads_process.m_pool_state = ThreadState::Terminating; } } else { // Enables 'parallel_for' to execute on unitialized Threads device m_pool_rank = 0; m_pool_size = 1; - m_pool_state = ThreadsExec::Inactive; + m_pool_state = ThreadState::Inactive; s_threads_pid[m_pool_rank] = std::this_thread::get_id(); } } -ThreadsExec::~ThreadsExec() { +ThreadsInternal::~ThreadsInternal() { const unsigned entry = m_pool_size - (m_pool_rank + 1); - using Record = Kokkos::Impl::SharedAllocationRecord; - if (m_scratch) { - Record *const r = Record::get_record(m_scratch); - + Kokkos::kokkos_free(m_scratch); m_scratch = nullptr; - - Record::decrement(r); } m_pool_base = nullptr; m_scratch_reduce_end = 0; m_scratch_thread_end = 0; - m_numa_rank = 0; - m_numa_core_rank = 0; m_pool_rank = 0; m_pool_size = 0; m_pool_fan_size = 0; - m_pool_state = ThreadsExec::Terminating; + m_pool_state = ThreadState::Terminating; if (&s_threads_process != this && entry < MAX_THREAD_COUNT) { - ThreadsExec *const nil = nullptr; + ThreadsInternal *const nil = nullptr; atomic_compare_exchange(s_threads_exec + entry, this, nil); - s_threads_process.m_pool_state = ThreadsExec::Terminating; + s_threads_process.m_pool_state = ThreadState::Terminating; } } -int ThreadsExec::get_thread_count() { return s_thread_pool_size[0]; } - -ThreadsExec *ThreadsExec::get_thread(const int init_thread_rank) { - ThreadsExec *const th = +ThreadsInternal *ThreadsInternal::get_thread(const int init_thread_rank) { + ThreadsInternal *const th = init_thread_rank < s_thread_pool_size[0] ? s_threads_exec[s_thread_pool_size[0] - (init_thread_rank + 1)] : nullptr; if (nullptr == th || th->m_pool_rank != init_thread_rank) { std::ostringstream msg; - msg << "Kokkos::Impl::ThreadsExec::get_thread ERROR : " + msg << "Kokkos::Impl::ThreadsInternal::get_thread ERROR : " << "thread " << init_thread_rank << " of " << s_thread_pool_size[0]; if (nullptr == th) { msg << " does not exist"; @@ -264,24 +216,6 @@ ThreadsExec *ThreadsExec::get_thread(const int init_thread_rank) { return th; } -//---------------------------------------------------------------------------- - -void ThreadsExec::execute_sleep(ThreadsExec &exec, const void *) { - ThreadsExec::global_lock(); - ThreadsExec::global_unlock(); - - const int n = exec.m_pool_fan_size; - const int rank_rev = exec.m_pool_size - (exec.m_pool_rank + 1); - - for (int i = 0; i < n; ++i) { - Impl::spinwait_while_equal( - exec.m_pool_base[rank_rev + (1 << i)]->m_pool_state, - ThreadsExec::Active); - } - - exec.m_pool_state = ThreadsExec::Inactive; -} - } // namespace Impl } // namespace Kokkos @@ -290,8 +224,8 @@ void ThreadsExec::execute_sleep(ThreadsExec &exec, const void *) { namespace Kokkos { namespace Impl { -void ThreadsExec::verify_is_process(const std::string &name, - const bool initialized) { +void ThreadsInternal::verify_is_process(const std::string &name, + const bool initialized) { if (!is_process()) { std::string msg(name); msg.append( @@ -307,63 +241,48 @@ void ThreadsExec::verify_is_process(const std::string &name, } } -int ThreadsExec::in_parallel() { +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 +KOKKOS_DEPRECATED int ThreadsInternal::in_parallel() { // A thread function is in execution and // the function argument is not the special threads process argument and // the master process is a worker or is not the master process. return s_current_function && (&s_threads_process != s_current_function_arg) && (s_threads_process.m_pool_base || !is_process()); } -void ThreadsExec::fence() { internal_fence(Impl::fence_is_static::yes); } -void ThreadsExec::fence(const std::string &name) { - internal_fence(name, Impl::fence_is_static::yes); +#endif +void ThreadsInternal::fence() { + fence("Kokkos::ThreadsInternal::fence: Unnamed Instance Fence"); } - -void ThreadsExec::internal_fence(Impl::fence_is_static is_static) { - internal_fence((is_static == Impl::fence_is_static::no) - ? "Kokkos::ThreadsExec::fence: Unnamed Instance Fence" - : "Kokkos::ThreadsExec::fence: Unnamed Static Fence", - is_static); +void ThreadsInternal::fence(const std::string &name) { + Kokkos::Tools::Experimental::Impl::profile_fence_event( + name, Kokkos::Tools::Experimental::Impl::DirectFenceIDHandle{1}, + internal_fence); } // Wait for root thread to become inactive -void ThreadsExec::internal_fence(const std::string &name, - Impl::fence_is_static is_static) { - const auto &fence_lam = [&]() { - if (s_thread_pool_size[0]) { - // Wait for the root thread to complete: - Impl::spinwait_while_equal(s_threads_exec[0]->m_pool_state, - ThreadsExec::Active); - } - - s_current_function = nullptr; - s_current_function_arg = nullptr; - - // Make sure function and arguments are cleared before - // potentially re-activating threads with a subsequent launch. - memory_fence(); - }; - if (is_static == Impl::fence_is_static::yes) { - Kokkos::Tools::Experimental::Impl::profile_fence_event( - name, - Kokkos::Tools::Experimental::SpecialSynchronizationCases:: - GlobalDeviceSynchronization, - fence_lam); - } else { - Kokkos::Tools::Experimental::Impl::profile_fence_event( - name, Kokkos::Tools::Experimental::Impl::DirectFenceIDHandle{1}, - fence_lam); +void ThreadsInternal::internal_fence() { + if (s_thread_pool_size[0]) { + // Wait for the root thread to complete: + Impl::spinwait_while_equal(s_threads_exec[0]->m_pool_state, + ThreadState::Active); } + + s_current_function = nullptr; + s_current_function_arg = nullptr; + + // Make sure function and arguments are cleared before + // potentially re-activating threads with a subsequent launch. + memory_fence(); } /** \brief Begin execution of the asynchronous functor */ -void ThreadsExec::start(void (*func)(ThreadsExec &, const void *), - const void *arg) { - verify_is_process("ThreadsExec::start", true); +void ThreadsInternal::start(void (*func)(ThreadsInternal &, const void *), + const void *arg) { + verify_is_process("ThreadsInternal::start", true); if (s_current_function || s_current_function_arg) { Kokkos::Impl::throw_runtime_exception( - std::string("ThreadsExec::start() FAILED : already executing")); + std::string("ThreadsInternal::start() FAILED : already executing")); } s_current_function = func; @@ -372,68 +291,29 @@ void ThreadsExec::start(void (*func)(ThreadsExec &, const void *), // Make sure function and arguments are written before activating threads. memory_fence(); - // Activate threads: + // Activate threads. The spawned threads will start working on + // s_current_function. The root thread is only set to active, we still need to + // call s_current_function. for (int i = s_thread_pool_size[0]; 0 < i--;) { - s_threads_exec[i]->m_pool_state = ThreadsExec::Active; + s_threads_exec[i]->m_pool_state = ThreadState::Active; } if (s_threads_process.m_pool_size) { // Master process is the root thread, run it: (*func)(s_threads_process, arg); - s_threads_process.m_pool_state = ThreadsExec::Inactive; + s_threads_process.m_pool_state = ThreadState::Inactive; } } //---------------------------------------------------------------------------- -bool ThreadsExec::sleep() { - verify_is_process("ThreadsExec::sleep", true); - - if (&execute_sleep == s_current_function) return false; - - fence(); - - ThreadsExec::global_lock(); - - s_current_function = &execute_sleep; - - // Activate threads: - for (unsigned i = s_thread_pool_size[0]; 0 < i;) { - s_threads_exec[--i]->m_pool_state = ThreadsExec::Active; - } - - return true; -} - -bool ThreadsExec::wake() { - verify_is_process("ThreadsExec::wake", true); - - if (&execute_sleep != s_current_function) return false; - - ThreadsExec::global_unlock(); - - if (s_threads_process.m_pool_base) { - execute_sleep(s_threads_process, nullptr); - s_threads_process.m_pool_state = ThreadsExec::Inactive; - } - - fence(); - - return true; -} - -//---------------------------------------------------------------------------- - -void ThreadsExec::execute_resize_scratch_in_serial() { +void ThreadsInternal::execute_resize_scratch_in_serial() { const unsigned begin = s_threads_process.m_pool_base ? 1 : 0; - auto deallocate_scratch_memory = [](ThreadsExec &exec) { + auto deallocate_scratch_memory = [](ThreadsInternal &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); + Kokkos::kokkos_free(exec.m_scratch); + exec.m_scratch = nullptr; } }; if (s_threads_process.m_pool_base) { @@ -449,18 +329,18 @@ void ThreadsExec::execute_resize_scratch_in_serial() { memory_fence(); for (unsigned i = s_thread_pool_size[0]; begin < i;) { - ThreadsExec &th = *s_threads_exec[--i]; + ThreadsInternal &th = *s_threads_exec[--i]; - th.m_pool_state = ThreadsExec::Active; + th.m_pool_state = ThreadState::Active; - wait_yield(th.m_pool_state, ThreadsExec::Active); + wait_yield(th.m_pool_state, ThreadState::Active); } if (s_threads_process.m_pool_base) { deallocate_scratch_memory(s_threads_process); - s_threads_process.m_pool_state = ThreadsExec::Active; + s_threads_process.m_pool_state = ThreadState::Active; first_touch_allocate_thread_private_scratch(s_threads_process, nullptr); - s_threads_process.m_pool_state = ThreadsExec::Inactive; + s_threads_process.m_pool_state = ThreadState::Inactive; } s_current_function_arg = nullptr; @@ -472,27 +352,20 @@ void ThreadsExec::execute_resize_scratch_in_serial() { //---------------------------------------------------------------------------- -void *ThreadsExec::root_reduce_scratch() { +void *ThreadsInternal::root_reduce_scratch() { return s_threads_process.reduce_memory(); } -void ThreadsExec::first_touch_allocate_thread_private_scratch(ThreadsExec &exec, - const void *) { +void ThreadsInternal::first_touch_allocate_thread_private_scratch( + ThreadsInternal &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); - - Record::increment(r); - - exec.m_scratch = r->data(); + exec.m_scratch = Kokkos::kokkos_malloc( + "Kokkos::thread_scratch", s_threads_process.m_scratch_thread_end); } unsigned *ptr = reinterpret_cast(exec.m_scratch); @@ -505,7 +378,7 @@ void ThreadsExec::first_touch_allocate_thread_private_scratch(ThreadsExec &exec, } } -void *ThreadsExec::resize_scratch(size_t reduce_size, size_t thread_size) { +void *ThreadsInternal::resize_scratch(size_t reduce_size, size_t thread_size) { enum { ALIGN_MASK = Kokkos::Impl::MEMORY_ALIGNMENT - 1 }; fence(); @@ -522,7 +395,7 @@ void *ThreadsExec::resize_scratch(size_t reduce_size, size_t thread_size) { if ((old_reduce_size < reduce_size) || (old_thread_size < thread_size) || ((reduce_size == 0 && thread_size == 0) && (old_reduce_size != 0 || old_thread_size != 0))) { - verify_is_process("ThreadsExec::resize_scratch", true); + verify_is_process("ThreadsInternal::resize_scratch", true); s_threads_process.m_scratch_reduce_end = reduce_size; s_threads_process.m_scratch_thread_end = reduce_size + thread_size; @@ -537,27 +410,22 @@ void *ThreadsExec::resize_scratch(size_t reduce_size, size_t thread_size) { //---------------------------------------------------------------------------- -void ThreadsExec::print_configuration(std::ostream &s, const bool detail) { - verify_is_process("ThreadsExec::print_configuration", false); +void ThreadsInternal::print_configuration(std::ostream &s, const bool detail) { + verify_is_process("ThreadsInternal::print_configuration", false); fence(); - const unsigned numa_count = Kokkos::hwloc::get_available_numa_count(); - const unsigned cores_per_numa = Kokkos::hwloc::get_available_cores_per_numa(); - const unsigned threads_per_core = - Kokkos::hwloc::get_available_threads_per_core(); - - // Forestall compiler warnings for unused variables. - (void)numa_count; - (void)cores_per_numa; - (void)threads_per_core; - s << "Kokkos::Threads"; #if defined(KOKKOS_ENABLE_THREADS) s << " KOKKOS_ENABLE_THREADS"; #endif #if defined(KOKKOS_ENABLE_HWLOC) + const unsigned numa_count = Kokkos::hwloc::get_available_numa_count(); + const unsigned cores_per_numa = Kokkos::hwloc::get_available_cores_per_numa(); + const unsigned threads_per_core = + Kokkos::hwloc::get_available_threads_per_core(); + s << " hwloc[" << numa_count << "x" << cores_per_numa << "x" << threads_per_core << "]"; #endif @@ -569,25 +437,21 @@ void ThreadsExec::print_configuration(std::ostream &s, const bool detail) { if (nullptr == s_threads_process.m_pool_base) { s << " Asynchronous"; } - s << " ReduceScratch[" << s_current_reduce_size << "]" - << " SharedScratch[" << s_current_shared_size << "]"; s << std::endl; if (detail) { for (int i = 0; i < s_thread_pool_size[0]; ++i) { - ThreadsExec *const th = s_threads_exec[i]; + ThreadsInternal *const th = s_threads_exec[i]; if (th) { const int rank_rev = th->m_pool_size - (th->m_pool_rank + 1); - s << " Thread[ " << th->m_pool_rank << " : " << th->m_numa_rank << "." - << th->m_numa_core_rank << " ]"; + s << " Thread[ " << th->m_pool_rank << " ]"; s << " Fan{"; for (int j = 0; j < th->m_pool_fan_size; ++j) { - ThreadsExec *const thfan = th->m_pool_base[rank_rev + (1 << j)]; - s << " [ " << thfan->m_pool_rank << " : " << thfan->m_numa_rank - << "." << thfan->m_numa_core_rank << " ]"; + ThreadsInternal *const thfan = th->m_pool_base[rank_rev + (1 << j)]; + s << " [ " << thfan->m_pool_rank << " ]"; } s << " }"; @@ -605,29 +469,21 @@ void ThreadsExec::print_configuration(std::ostream &s, const bool detail) { //---------------------------------------------------------------------------- -int ThreadsExec::is_initialized() { return nullptr != s_threads_exec[0]; } +int ThreadsInternal::is_initialized() { return nullptr != s_threads_exec[0]; } -void ThreadsExec::initialize(int thread_count_arg) { - // legacy arguments - unsigned thread_count = thread_count_arg == -1 ? 0 : thread_count_arg; - unsigned use_numa_count = 0; - unsigned use_cores_per_numa = 0; - bool allow_asynchronous_threadpool = false; - // need to provide an initializer for Intel compilers - static const Sentinel sentinel = {}; +void ThreadsInternal::initialize(int thread_count_arg) { + unsigned thread_count = thread_count_arg == -1 ? 0 : thread_count_arg; const bool is_initialized = 0 != s_thread_pool_size[0]; unsigned thread_spawn_failed = 0; - for (int i = 0; i < ThreadsExec::MAX_THREAD_COUNT; i++) + for (int i = 0; i < ThreadsInternal::MAX_THREAD_COUNT; i++) s_threads_exec[i] = nullptr; if (!is_initialized) { - // If thread_count, use_numa_count, or use_cores_per_numa are zero - // then they will be given default values based upon hwloc detection - // and allowed asynchronous execution. - + // If thread_count is zero then it will be given default values based upon + // hwloc detection. const bool hwloc_avail = Kokkos::hwloc::available(); const bool hwloc_can_bind = hwloc_avail && Kokkos::hwloc::can_bind_threads(); @@ -640,17 +496,18 @@ void ThreadsExec::initialize(int thread_count_arg) { : 1; } - const unsigned thread_spawn_begin = hwloc::thread_mapping( - "Kokkos::Threads::initialize", allow_asynchronous_threadpool, - thread_count, use_numa_count, use_cores_per_numa, s_threads_coord); + const bool allow_asynchronous_threadpool = false; + unsigned use_numa_count = 0; + unsigned use_cores_per_numa = 0; + hwloc::thread_mapping("Kokkos::Threads::initialize", + allow_asynchronous_threadpool, thread_count, + use_numa_count, use_cores_per_numa, s_threads_coord); const std::pair proc_coord = s_threads_coord[0]; - if (thread_spawn_begin) { - // Synchronous with s_threads_coord[0] as the process core - // Claim entry #0 for binding the process core. - s_threads_coord[0] = std::pair(~0u, ~0u); - } + // Synchronous with s_threads_coord[0] as the process core + // Claim entry #0 for binding the process core. + s_threads_coord[0] = std::pair(~0u, ~0u); s_thread_pool_size[0] = thread_count; s_thread_pool_size[1] = s_thread_pool_size[0] / use_numa_count; @@ -658,8 +515,8 @@ void ThreadsExec::initialize(int thread_count_arg) { s_current_function = &execute_function_noop; // Initialization work function - for (unsigned ith = thread_spawn_begin; ith < thread_count; ++ith) { - s_threads_process.m_pool_state = ThreadsExec::Inactive; + for (unsigned ith = 1; ith < thread_count; ++ith) { + s_threads_process.m_pool_state = ThreadState::Inactive; // If hwloc available then spawned thread will // choose its own entry in 's_threads_coord' @@ -675,18 +532,20 @@ void ThreadsExec::initialize(int thread_count_arg) { // Wait until spawned thread has attempted to initialize. // If spawning and initialization is successful then // an entry in 's_threads_exec' will be assigned. - ThreadsExec::spawn(); - wait_yield(s_threads_process.m_pool_state, ThreadsExec::Inactive); - if (s_threads_process.m_pool_state == ThreadsExec::Terminating) break; + std::thread t(internal_cppthread_driver); + t.detach(); + wait_yield(s_threads_process.m_pool_state, ThreadState::Inactive); + if (s_threads_process.m_pool_state == ThreadState::Terminating) break; } // Wait for all spawned threads to deactivate before zeroing the function. - for (unsigned ith = thread_spawn_begin; ith < thread_count; ++ith) { + for (unsigned ith = 1; ith < thread_count; ++ith) { // Try to protect against cache coherency failure by casting to volatile. - ThreadsExec *const th = ((ThreadsExec * volatile *)s_threads_exec)[ith]; + ThreadsInternal *const th = + ((ThreadsInternal * volatile *)s_threads_exec)[ith]; if (th) { - wait_yield(th->m_pool_state, ThreadsExec::Active); + wait_yield(th->m_pool_state, ThreadState::Active); } else { ++thread_spawn_failed; } @@ -694,7 +553,7 @@ void ThreadsExec::initialize(int thread_count_arg) { s_current_function = nullptr; s_current_function_arg = nullptr; - s_threads_process.m_pool_state = ThreadsExec::Inactive; + s_threads_process.m_pool_state = ThreadState::Inactive; memory_fence(); @@ -705,30 +564,17 @@ void ThreadsExec::initialize(int thread_count_arg) { Kokkos::hwloc::bind_this_thread(proc_coord); } - if (thread_spawn_begin) { // Include process in pool. - const std::pair coord = - Kokkos::hwloc::get_this_thread_coordinate(); - - s_threads_exec[0] = &s_threads_process; - s_threads_process.m_numa_rank = coord.first; - s_threads_process.m_numa_core_rank = coord.second; - s_threads_process.m_pool_base = s_threads_exec; - s_threads_process.m_pool_rank = - thread_count - 1; // Reversed for scan-compatible reductions - s_threads_process.m_pool_size = thread_count; - s_threads_process.m_pool_fan_size = fan_size( - s_threads_process.m_pool_rank, s_threads_process.m_pool_size); - s_threads_pid[s_threads_process.m_pool_rank] = - std::this_thread::get_id(); - } else { - s_threads_process.m_pool_base = nullptr; - s_threads_process.m_pool_rank = 0; - s_threads_process.m_pool_size = 0; - s_threads_process.m_pool_fan_size = 0; - } + s_threads_exec[0] = &s_threads_process; + s_threads_process.m_pool_base = s_threads_exec; + s_threads_process.m_pool_rank = + thread_count - 1; // Reversed for scan-compatible reductions + s_threads_process.m_pool_size = thread_count; + s_threads_process.m_pool_fan_size = fan_size( + s_threads_process.m_pool_rank, s_threads_process.m_pool_size); + s_threads_pid[s_threads_process.m_pool_rank] = std::this_thread::get_id(); // Initial allocations: - ThreadsExec::resize_scratch(1024, 1024); + ThreadsInternal::resize_scratch(1024, 1024); } else { s_thread_pool_size[0] = 0; s_thread_pool_size[1] = 0; @@ -773,8 +619,8 @@ void ThreadsExec::initialize(int thread_count_arg) { //---------------------------------------------------------------------------- -void ThreadsExec::finalize() { - verify_is_process("ThreadsExec::finalize", false); +void ThreadsInternal::finalize() { + verify_is_process("ThreadsInternal::finalize", false); fence(); @@ -784,18 +630,18 @@ void ThreadsExec::finalize() { for (unsigned i = s_thread_pool_size[0]; begin < i--;) { if (s_threads_exec[i]) { - s_threads_exec[i]->m_pool_state = ThreadsExec::Terminating; + s_threads_exec[i]->m_pool_state = ThreadState::Terminating; - wait_yield(s_threads_process.m_pool_state, ThreadsExec::Inactive); + wait_yield(s_threads_process.m_pool_state, ThreadState::Inactive); - s_threads_process.m_pool_state = ThreadsExec::Inactive; + s_threads_process.m_pool_state = ThreadState::Inactive; } s_threads_pid[i] = std::thread::id(); } if (s_threads_process.m_pool_base) { - (&s_threads_process)->~ThreadsExec(); + (&s_threads_process)->~ThreadsInternal(); s_threads_exec[0] = nullptr; } @@ -808,13 +654,11 @@ void ThreadsExec::finalize() { s_thread_pool_size[2] = 0; // Reset master thread to run solo. - s_threads_process.m_numa_rank = 0; - s_threads_process.m_numa_core_rank = 0; - s_threads_process.m_pool_base = nullptr; - s_threads_process.m_pool_rank = 0; - s_threads_process.m_pool_size = 1; - s_threads_process.m_pool_fan_size = 0; - s_threads_process.m_pool_state = ThreadsExec::Inactive; + s_threads_process.m_pool_base = nullptr; + s_threads_process.m_pool_rank = 0; + s_threads_process.m_pool_size = 1; + s_threads_process.m_pool_fan_size = 0; + s_threads_process.m_pool_state = ThreadState::Inactive; } //---------------------------------------------------------------------------- @@ -834,7 +678,7 @@ int Threads::concurrency() const { return impl_thread_pool_size(0); } #endif void Threads::fence(const std::string &name) const { - Impl::ThreadsExec::internal_fence(name, Impl::fence_is_static::no); + Impl::ThreadsInternal::fence(name); } Threads &Threads::impl_instance(int) { diff --git a/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_Instance.hpp similarity index 76% rename from lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.hpp rename to lib/kokkos/core/src/Threads/Kokkos_Threads_Instance.hpp index 377e096bfb..a5eb231cb0 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_ThreadsExec.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_Instance.hpp @@ -14,8 +14,8 @@ // //@HEADER -#ifndef KOKKOS_THREADSEXEC_HPP -#define KOKKOS_THREADSEXEC_HPP +#ifndef KOKKOS_THREADS_INSTANCE_HPP +#define KOKKOS_THREADS_INSTANCE_HPP #include @@ -23,41 +23,25 @@ #include #include -#include - #include #include #include #include +#include +#include //---------------------------------------------------------------------------- namespace Kokkos { namespace Impl { -class ThreadsExec { +class ThreadsInternal { public: // Fan array has log_2(NT) reduction threads plus 2 scan threads // Currently limited to 16k threads. - enum { MAX_FAN_COUNT = 16 }; - enum { MAX_THREAD_COUNT = 1 << (MAX_FAN_COUNT - 2) }; - enum { VECTOR_LENGTH = 8 }; - - /** \brief States of a worker thread */ - enum { - Terminating ///< Termination in progress - , - Inactive ///< Exists, waiting for work - , - Active ///< Exists, performing work - , - Rendezvous ///< Exists, waiting in a barrier or reduce - - , - ScanCompleted, - ScanAvailable, - ReductionAvailable - }; + static constexpr int MAX_FAN_COUNT = 16; + static constexpr int MAX_THREAD_COUNT = 1 << (MAX_FAN_COUNT - 2); + static constexpr int VECTOR_LENGTH = 8; private: friend class Kokkos::Threads; @@ -67,18 +51,16 @@ class ThreadsExec { // the threads that need them. // For a simple reduction the thread location is arbitrary. - ThreadsExec *const *m_pool_base; ///< Base for pool fan-in + ThreadsInternal *const *m_pool_base; ///< Base for pool fan-in void *m_scratch; int m_scratch_reduce_end; size_t m_scratch_thread_end; - int m_numa_rank; - int m_numa_core_rank; int m_pool_rank; int m_pool_rank_rev; int m_pool_size; int m_pool_fan_size; - int volatile m_pool_state; ///< State for global synchronizations + ThreadState volatile m_pool_state; ///< State for global synchronizations // Members for dynamic scheduling // Which thread am I stealing from currently @@ -93,41 +75,36 @@ class ThreadsExec { static void global_lock(); static void global_unlock(); - static void spawn(); - static void first_touch_allocate_thread_private_scratch(ThreadsExec &, + static void first_touch_allocate_thread_private_scratch(ThreadsInternal &, const void *); - static void execute_sleep(ThreadsExec &, const void *); - ThreadsExec(const ThreadsExec &); - ThreadsExec &operator=(const ThreadsExec &); + ThreadsInternal(const ThreadsInternal &); + ThreadsInternal &operator=(const ThreadsInternal &); 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; } - KOKKOS_INLINE_FUNCTION int numa_rank() const { return m_numa_rank; } - KOKKOS_INLINE_FUNCTION int numa_core_rank() const { return m_numa_core_rank; } inline long team_work_index() const { return m_team_work_index; } - static int get_thread_count(); - static ThreadsExec *get_thread(const int init_thread_rank); + static ThreadsInternal *get_thread(const int init_thread_rank); inline void *reduce_memory() const { return m_scratch; } KOKKOS_INLINE_FUNCTION void *scratch_memory() const { return reinterpret_cast(m_scratch) + m_scratch_reduce_end; } - KOKKOS_INLINE_FUNCTION int volatile &state() { return m_pool_state; } - KOKKOS_INLINE_FUNCTION ThreadsExec *const *pool_base() const { + KOKKOS_INLINE_FUNCTION ThreadState volatile &state() { return m_pool_state; } + KOKKOS_INLINE_FUNCTION ThreadsInternal *const *pool_base() const { return m_pool_base; } static void driver(void); - ~ThreadsExec(); - ThreadsExec(); + ~ThreadsInternal(); + ThreadsInternal(); static void *resize_scratch(size_t reduce_size, size_t thread_size); @@ -143,15 +120,8 @@ class ThreadsExec { static void finalize(); - /* Given a requested team size, return valid team size */ - static unsigned team_size_valid(unsigned); - static void print_configuration(std::ostream &, const bool detail = false); - //------------------------------------ - - static void wait_yield(volatile int &, const int); - //------------------------------------ // All-thread functions: @@ -166,14 +136,14 @@ class ThreadsExec { // Fan-in reduction with highest ranking thread as the root for (int i = 0; i < m_pool_fan_size; ++i) { // Wait: Active -> Rendezvous - Impl::spinwait_while_equal( - m_pool_base[rev_rank + (1 << i)]->m_pool_state, ThreadsExec::Active); + spinwait_while_equal(m_pool_base[rev_rank + (1 << i)]->m_pool_state, + ThreadState::Active); } if (rev_rank) { - m_pool_state = ThreadsExec::Rendezvous; + m_pool_state = ThreadState::Rendezvous; // Wait: Rendezvous -> Active - Impl::spinwait_while_equal(m_pool_state, ThreadsExec::Rendezvous); + spinwait_while_equal(m_pool_state, ThreadState::Rendezvous); } else { // Root thread does the reduction and broadcast @@ -191,7 +161,7 @@ class ThreadsExec { memory_fence(); for (int rank = 0; rank < m_pool_size; ++rank) { - get_thread(rank)->m_pool_state = ThreadsExec::Active; + get_thread(rank)->m_pool_state = ThreadState::Active; } } @@ -207,21 +177,21 @@ class ThreadsExec { // Fan-in reduction with highest ranking thread as the root for (int i = 0; i < m_pool_fan_size; ++i) { // Wait: Active -> Rendezvous - Impl::spinwait_while_equal( - m_pool_base[rev_rank + (1 << i)]->m_pool_state, ThreadsExec::Active); + spinwait_while_equal(m_pool_base[rev_rank + (1 << i)]->m_pool_state, + ThreadState::Active); } if (rev_rank) { - m_pool_state = ThreadsExec::Rendezvous; + m_pool_state = ThreadState::Rendezvous; // Wait: Rendezvous -> Active - Impl::spinwait_while_equal(m_pool_state, ThreadsExec::Rendezvous); + spinwait_while_equal(m_pool_state, ThreadState::Rendezvous); } else { // Root thread does the reduction and broadcast memory_fence(); for (int rank = 0; rank < m_pool_size; ++rank) { - get_thread(rank)->m_pool_state = ThreadsExec::Active; + get_thread(rank)->m_pool_state = ThreadState::Active; } } } @@ -234,9 +204,9 @@ class ThreadsExec { const int rev_rank = m_pool_size - (m_pool_rank + 1); for (int i = 0; i < m_pool_fan_size; ++i) { - ThreadsExec &fan = *m_pool_base[rev_rank + (1 << i)]; + ThreadsInternal &fan = *m_pool_base[rev_rank + (1 << i)]; - Impl::spinwait_while_equal(fan.m_pool_state, ThreadsExec::Active); + spinwait_while_equal(fan.m_pool_state, ThreadState::Active); f.join( reinterpret_cast(reduce_memory()), @@ -265,8 +235,8 @@ class ThreadsExec { const int rev_rank = m_pool_size - (m_pool_rank + 1); for (int i = 0; i < m_pool_fan_size; ++i) { - Impl::spinwait_while_equal( - m_pool_base[rev_rank + (1 << i)]->m_pool_state, ThreadsExec::Active); + spinwait_while_equal(m_pool_base[rev_rank + (1 << i)]->m_pool_state, + ThreadState::Active); } } @@ -289,10 +259,10 @@ class ThreadsExec { //-------------------------------- // Fan-in reduction with highest ranking thread as the root for (int i = 0; i < m_pool_fan_size; ++i) { - ThreadsExec &fan = *m_pool_base[rev_rank + (1 << i)]; + ThreadsInternal &fan = *m_pool_base[rev_rank + (1 << i)]; // Wait: Active -> ReductionAvailable (or ScanAvailable) - Impl::spinwait_while_equal(fan.m_pool_state, ThreadsExec::Active); + spinwait_while_equal(fan.m_pool_state, ThreadState::Active); f.join(work_value, fan.reduce_memory()); } @@ -303,39 +273,37 @@ class ThreadsExec { if (rev_rank) { // Set: Active -> ReductionAvailable - m_pool_state = ThreadsExec::ReductionAvailable; + m_pool_state = ThreadState::ReductionAvailable; // Wait for contributing threads' scan value to be available. if ((1 << m_pool_fan_size) < (m_pool_rank + 1)) { - ThreadsExec &th = *m_pool_base[rev_rank + (1 << m_pool_fan_size)]; + ThreadsInternal &th = *m_pool_base[rev_rank + (1 << m_pool_fan_size)]; // Wait: Active -> ReductionAvailable // Wait: ReductionAvailable -> ScanAvailable - Impl::spinwait_while_equal(th.m_pool_state, ThreadsExec::Active); - Impl::spinwait_while_equal(th.m_pool_state, - ThreadsExec::ReductionAvailable); + spinwait_while_equal(th.m_pool_state, ThreadState::Active); + spinwait_while_equal(th.m_pool_state, ThreadState::ReductionAvailable); f.join(work_value + count, ((scalar_type *)th.reduce_memory()) + count); } // This thread has completed inclusive scan // Set: ReductionAvailable -> ScanAvailable - m_pool_state = ThreadsExec::ScanAvailable; + m_pool_state = ThreadState::ScanAvailable; // Wait for all threads to complete inclusive scan // Wait: ScanAvailable -> Rendezvous - Impl::spinwait_while_equal(m_pool_state, ThreadsExec::ScanAvailable); + spinwait_while_equal(m_pool_state, ThreadState::ScanAvailable); } //-------------------------------- for (int i = 0; i < m_pool_fan_size; ++i) { - ThreadsExec &fan = *m_pool_base[rev_rank + (1 << i)]; + ThreadsInternal &fan = *m_pool_base[rev_rank + (1 << i)]; // Wait: ReductionAvailable -> ScanAvailable - Impl::spinwait_while_equal(fan.m_pool_state, - ThreadsExec::ReductionAvailable); + spinwait_while_equal(fan.m_pool_state, ThreadState::ReductionAvailable); // Set: ScanAvailable -> Rendezvous - fan.m_pool_state = ThreadsExec::Rendezvous; + fan.m_pool_state = ThreadState::Rendezvous; } // All threads have completed the inclusive scan. @@ -346,7 +314,7 @@ class ThreadsExec { if ((rev_rank + 1) < m_pool_size) { // Exclusive scan: copy the previous thread's inclusive scan value - ThreadsExec &th = *m_pool_base[rev_rank + 1]; // Not the root thread + ThreadsInternal &th = *m_pool_base[rev_rank + 1]; // Not the root thread const scalar_type *const src_value = ((scalar_type *)th.reduce_memory()) + count; @@ -362,19 +330,18 @@ class ThreadsExec { // Wait for all threads to copy previous thread's inclusive scan value // Wait for all threads: Rendezvous -> ScanCompleted for (int i = 0; i < m_pool_fan_size; ++i) { - Impl::spinwait_while_equal( - m_pool_base[rev_rank + (1 << i)]->m_pool_state, - ThreadsExec::Rendezvous); + spinwait_while_equal(m_pool_base[rev_rank + (1 << i)]->m_pool_state, + ThreadState::Rendezvous); } if (rev_rank) { // Set: ScanAvailable -> ScanCompleted - m_pool_state = ThreadsExec::ScanCompleted; + m_pool_state = ThreadState::ScanCompleted; // Wait: ScanCompleted -> Active - Impl::spinwait_while_equal(m_pool_state, ThreadsExec::ScanCompleted); + spinwait_while_equal(m_pool_state, ThreadState::ScanCompleted); } // Set: ScanCompleted -> Active for (int i = 0; i < m_pool_fan_size; ++i) { - m_pool_base[rev_rank + (1 << i)]->m_pool_state = ThreadsExec::Active; + m_pool_base[rev_rank + (1 << i)]->m_pool_state = ThreadState::Active; } } @@ -391,8 +358,8 @@ class ThreadsExec { // Fan-in reduction with highest ranking thread as the root for (int i = 0; i < m_pool_fan_size; ++i) { // Wait: Active -> Rendezvous - Impl::spinwait_while_equal( - m_pool_base[rev_rank + (1 << i)]->m_pool_state, ThreadsExec::Active); + spinwait_while_equal(m_pool_base[rev_rank + (1 << i)]->m_pool_state, + ThreadState::Active); } for (unsigned i = 0; i < count; ++i) { @@ -400,9 +367,9 @@ class ThreadsExec { } if (rev_rank) { - m_pool_state = ThreadsExec::Rendezvous; + m_pool_state = ThreadState::Rendezvous; // Wait: Rendezvous -> Active - Impl::spinwait_while_equal(m_pool_state, ThreadsExec::Rendezvous); + spinwait_while_equal(m_pool_state, ThreadState::Rendezvous); } else { // Root thread does the thread-scan before releasing threads @@ -424,7 +391,7 @@ class ThreadsExec { } for (int i = 0; i < m_pool_fan_size; ++i) { - m_pool_base[rev_rank + (1 << i)]->m_pool_state = ThreadsExec::Active; + m_pool_base[rev_rank + (1 << i)]->m_pool_state = ThreadState::Active; } } @@ -433,18 +400,14 @@ class ThreadsExec { * complete and release the Threads device. * Acquire the Threads device and start this functor. */ - static void start(void (*)(ThreadsExec &, const void *), const void *); + static void start(void (*)(ThreadsInternal &, const void *), const void *); - static int in_parallel(); +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 + KOKKOS_DEPRECATED static int in_parallel(); +#endif static void fence(); static void fence(const std::string &); - static void internal_fence( - Impl::fence_is_static is_static = Impl::fence_is_static::yes); - static void internal_fence( - const std::string &, - Impl::fence_is_static is_static = Impl::fence_is_static::yes); - static bool sleep(); - static bool wake(); + static void internal_fence(); /* Dynamic Scheduling related functionality */ // Initialize the work range for this thread @@ -583,30 +546,38 @@ class ThreadsExec { namespace Kokkos { -inline int Threads::in_parallel() { return Impl::ThreadsExec::in_parallel(); } +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 +KOKKOS_DEPRECATED inline int Threads::in_parallel() { + return Impl::ThreadsInternal::in_parallel(); +} +#endif inline int Threads::impl_is_initialized() { - return Impl::ThreadsExec::is_initialized(); + return Impl::ThreadsInternal::is_initialized(); } inline void Threads::impl_initialize(InitializationSettings const &settings) { - Impl::ThreadsExec::initialize( + Impl::ThreadsInternal::initialize( settings.has_num_threads() ? settings.get_num_threads() : -1); } -inline void Threads::impl_finalize() { Impl::ThreadsExec::finalize(); } +inline void Threads::impl_finalize() { Impl::ThreadsInternal::finalize(); } inline void Threads::print_configuration(std::ostream &os, bool verbose) const { os << "Host Parallel Execution Space:\n"; os << " KOKKOS_ENABLE_THREADS: yes\n"; os << "\nThreads Runtime Configuration:\n"; - Impl::ThreadsExec::print_configuration(os, verbose); + Impl::ThreadsInternal::print_configuration(os, verbose); } inline void Threads::impl_static_fence(const std::string &name) { - Impl::ThreadsExec::internal_fence(name, Impl::fence_is_static::yes); + Kokkos::Tools::Experimental::Impl::profile_fence_event( + name, + Kokkos::Tools::Experimental::SpecialSynchronizationCases:: + GlobalDeviceSynchronization, + Impl::ThreadsInternal::internal_fence); } } /* namespace Kokkos */ -#endif /* #define KOKKOS_THREADSEXEC_HPP */ +#endif diff --git a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_MDRange.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_MDRange.hpp index 0828f26299..59577609ab 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_MDRange.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_MDRange.hpp @@ -46,54 +46,54 @@ class ParallelFor, } } - static void exec(ThreadsExec &exec, const void *arg) { - exec_schedule(exec, arg); + static void exec(ThreadsInternal &instance, const void *arg) { + exec_schedule(instance, arg); } template static std::enable_if_t::value> - exec_schedule(ThreadsExec &exec, const void *arg) { + exec_schedule(ThreadsInternal &instance, const void *arg) { const ParallelFor &self = *((const ParallelFor *)arg); auto const num_tiles = self.m_iter.m_rp.m_num_tiles; - WorkRange range(Policy(0, num_tiles).set_chunk_size(1), exec.pool_rank(), - exec.pool_size()); + WorkRange range(Policy(0, num_tiles).set_chunk_size(1), + instance.pool_rank(), instance.pool_size()); self.exec_range(range.begin(), range.end()); - exec.fan_in(); + instance.fan_in(); } template static std::enable_if_t::value> - exec_schedule(ThreadsExec &exec, const void *arg) { + exec_schedule(ThreadsInternal &instance, const void *arg) { const ParallelFor &self = *((const ParallelFor *)arg); auto const num_tiles = self.m_iter.m_rp.m_num_tiles; - WorkRange range(Policy(0, num_tiles).set_chunk_size(1), exec.pool_rank(), - exec.pool_size()); + WorkRange range(Policy(0, num_tiles).set_chunk_size(1), + instance.pool_rank(), instance.pool_size()); - exec.set_work_range(range.begin(), range.end(), 1); - exec.reset_steal_target(); - exec.barrier(); + instance.set_work_range(range.begin(), range.end(), 1); + instance.reset_steal_target(); + instance.barrier(); - long work_index = exec.get_work_index(); + long work_index = instance.get_work_index(); while (work_index != -1) { const Member begin = static_cast(work_index); const Member end = begin + 1 < num_tiles ? begin + 1 : num_tiles; self.exec_range(begin, end); - work_index = exec.get_work_index(); + work_index = instance.get_work_index(); } - exec.fan_in(); + instance.fan_in(); } public: inline void execute() const { - ThreadsExec::start(&ParallelFor::exec, this); - ThreadsExec::fence(); + ThreadsInternal::start(&ParallelFor::exec, this); + ThreadsInternal::fence(); } ParallelFor(const FunctorType &arg_functor, const MDRangePolicy &arg_policy) diff --git a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_Range.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_Range.hpp index 3698416ef1..4a89c4fad8 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_Range.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_Range.hpp @@ -59,37 +59,37 @@ class ParallelFor, } } - static void exec(ThreadsExec &exec, const void *arg) { - exec_schedule(exec, arg); + static void exec(ThreadsInternal &instance, const void *arg) { + exec_schedule(instance, arg); } template static std::enable_if_t::value> - exec_schedule(ThreadsExec &exec, const void *arg) { + exec_schedule(ThreadsInternal &instance, const void *arg) { const ParallelFor &self = *((const ParallelFor *)arg); - WorkRange range(self.m_policy, exec.pool_rank(), exec.pool_size()); + WorkRange range(self.m_policy, instance.pool_rank(), instance.pool_size()); ParallelFor::template exec_range(self.m_functor, range.begin(), range.end()); - exec.fan_in(); + instance.fan_in(); } template static std::enable_if_t::value> - exec_schedule(ThreadsExec &exec, const void *arg) { + exec_schedule(ThreadsInternal &instance, const void *arg) { const ParallelFor &self = *((const ParallelFor *)arg); - WorkRange range(self.m_policy, exec.pool_rank(), exec.pool_size()); + WorkRange range(self.m_policy, instance.pool_rank(), instance.pool_size()); - exec.set_work_range(range.begin() - self.m_policy.begin(), - range.end() - self.m_policy.begin(), - self.m_policy.chunk_size()); - exec.reset_steal_target(); - exec.barrier(); + instance.set_work_range(range.begin() - self.m_policy.begin(), + range.end() - self.m_policy.begin(), + self.m_policy.chunk_size()); + instance.reset_steal_target(); + instance.barrier(); - long work_index = exec.get_work_index(); + long work_index = instance.get_work_index(); while (work_index != -1) { const Member begin = @@ -100,16 +100,16 @@ class ParallelFor, ? begin + self.m_policy.chunk_size() : self.m_policy.end(); ParallelFor::template exec_range(self.m_functor, begin, end); - work_index = exec.get_work_index(); + work_index = instance.get_work_index(); } - exec.fan_in(); + instance.fan_in(); } public: inline void execute() const { - ThreadsExec::start(&ParallelFor::exec, this); - ThreadsExec::fence(); + ThreadsInternal::start(&ParallelFor::exec, this); + ThreadsInternal::fence(); } ParallelFor(const FunctorType &arg_functor, const Policy &arg_policy) diff --git a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_Team.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_Team.hpp index 36404857a2..f927d7c6a6 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_Team.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelFor_Team.hpp @@ -73,14 +73,14 @@ class ParallelFor, } } - static void exec(ThreadsExec &exec, const void *arg) { + static void exec(ThreadsInternal &instance, const void *arg) { const ParallelFor &self = *((const ParallelFor *)arg); ParallelFor::exec_team( - self.m_functor, Member(&exec, self.m_policy, self.m_shared)); + self.m_functor, Member(&instance, self.m_policy, self.m_shared)); - exec.barrier(); - exec.fan_in(); + instance.barrier(); + instance.fan_in(); } template Policy fix_policy(Policy policy) { @@ -96,12 +96,12 @@ class ParallelFor, public: inline void execute() const { - ThreadsExec::resize_scratch( + ThreadsInternal::resize_scratch( 0, Policy::member_type::team_reduce_size() + m_shared); - ThreadsExec::start(&ParallelFor::exec, this); + ThreadsInternal::start(&ParallelFor::exec, this); - ThreadsExec::fence(); + ThreadsInternal::fence(); } ParallelFor(const FunctorType &arg_functor, const Policy &arg_policy) diff --git a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_MDRange.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_MDRange.hpp index 3d06379480..fa63215a9e 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_MDRange.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_MDRange.hpp @@ -54,67 +54,67 @@ class ParallelReduce(exec, arg); + static void exec(ThreadsInternal &instance, const void *arg) { + exec_schedule(instance, arg); } template static std::enable_if_t::value> - exec_schedule(ThreadsExec &exec, const void *arg) { + exec_schedule(ThreadsInternal &instance, const void *arg) { const ParallelReduce &self = *((const ParallelReduce *)arg); const auto num_tiles = self.m_iter.m_rp.m_num_tiles; const WorkRange range(Policy(0, num_tiles).set_chunk_size(1), - exec.pool_rank(), exec.pool_size()); + instance.pool_rank(), instance.pool_size()); const ReducerType &reducer = self.m_iter.m_func.get_reducer(); self.exec_range( range.begin(), range.end(), - reducer.init(static_cast(exec.reduce_memory()))); + reducer.init(static_cast(instance.reduce_memory()))); - exec.fan_in_reduce(reducer); + instance.fan_in_reduce(reducer); } template static std::enable_if_t::value> - exec_schedule(ThreadsExec &exec, const void *arg) { + exec_schedule(ThreadsInternal &instance, const void *arg) { const ParallelReduce &self = *((const ParallelReduce *)arg); const auto num_tiles = self.m_iter.m_rp.m_num_tiles; const WorkRange range(Policy(0, num_tiles).set_chunk_size(1), - exec.pool_rank(), exec.pool_size()); + instance.pool_rank(), instance.pool_size()); - exec.set_work_range(range.begin(), range.end(), 1); - exec.reset_steal_target(); - exec.barrier(); + instance.set_work_range(range.begin(), range.end(), 1); + instance.reset_steal_target(); + instance.barrier(); - long work_index = exec.get_work_index(); + long work_index = instance.get_work_index(); const ReducerType &reducer = self.m_iter.m_func.get_reducer(); - reference_type update = - self.m_reducer.init(static_cast(exec.reduce_memory())); + reference_type update = self.m_reducer.init( + static_cast(instance.reduce_memory())); while (work_index != -1) { const Member begin = static_cast(work_index); const Member end = begin + 1 < num_tiles ? begin + 1 : num_tiles; self.exec_range(begin, end, update); - work_index = exec.get_work_index(); + work_index = instance.get_work_index(); } - exec.fan_in_reduce(self.m_reducer); + instance.fan_in_reduce(self.m_reducer); } public: inline void execute() const { const ReducerType &reducer = m_iter.m_func.get_reducer(); - ThreadsExec::resize_scratch(reducer.value_size(), 0); + ThreadsInternal::resize_scratch(reducer.value_size(), 0); - ThreadsExec::start(&ParallelReduce::exec, this); + ThreadsInternal::start(&ParallelReduce::exec, this); - ThreadsExec::fence(); + ThreadsInternal::fence(); if (m_result_ptr) { const pointer_type data = - (pointer_type)ThreadsExec::root_reduce_scratch(); + (pointer_type)ThreadsInternal::root_reduce_scratch(); const unsigned n = reducer.value_count(); for (unsigned i = 0; i < n; ++i) { diff --git a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_Range.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_Range.hpp index 5fa97b403c..bf4c2a532a 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_Range.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_Range.hpp @@ -68,42 +68,44 @@ class ParallelReduce, } } - static void exec(ThreadsExec &exec, const void *arg) { - exec_schedule(exec, arg); + static void exec(ThreadsInternal &instance, const void *arg) { + exec_schedule(instance, arg); } template static std::enable_if_t::value> - exec_schedule(ThreadsExec &exec, const void *arg) { + exec_schedule(ThreadsInternal &instance, const void *arg) { const ParallelReduce &self = *((const ParallelReduce *)arg); - const WorkRange range(self.m_policy, exec.pool_rank(), exec.pool_size()); + const WorkRange range(self.m_policy, instance.pool_rank(), + instance.pool_size()); const ReducerType &reducer = self.m_functor_reducer.get_reducer(); ParallelReduce::template exec_range( self.m_functor_reducer.get_functor(), range.begin(), range.end(), - reducer.init(static_cast(exec.reduce_memory()))); + reducer.init(static_cast(instance.reduce_memory()))); - exec.fan_in_reduce(reducer); + instance.fan_in_reduce(reducer); } template static std::enable_if_t::value> - exec_schedule(ThreadsExec &exec, const void *arg) { + exec_schedule(ThreadsInternal &instance, const void *arg) { const ParallelReduce &self = *((const ParallelReduce *)arg); - const WorkRange range(self.m_policy, exec.pool_rank(), exec.pool_size()); + const WorkRange range(self.m_policy, instance.pool_rank(), + instance.pool_size()); - exec.set_work_range(range.begin() - self.m_policy.begin(), - range.end() - self.m_policy.begin(), - self.m_policy.chunk_size()); - exec.reset_steal_target(); - exec.barrier(); + instance.set_work_range(range.begin() - self.m_policy.begin(), + range.end() - self.m_policy.begin(), + self.m_policy.chunk_size()); + instance.reset_steal_target(); + instance.barrier(); - long work_index = exec.get_work_index(); + long work_index = instance.get_work_index(); const ReducerType &reducer = self.m_functor_reducer.get_reducer(); reference_type update = - reducer.init(static_cast(exec.reduce_memory())); + reducer.init(static_cast(instance.reduce_memory())); while (work_index != -1) { const Member begin = static_cast(work_index) * self.m_policy.chunk_size() + @@ -114,10 +116,10 @@ class ParallelReduce, : self.m_policy.end(); ParallelReduce::template exec_range( self.m_functor_reducer.get_functor(), begin, end, update); - work_index = exec.get_work_index(); + work_index = instance.get_work_index(); } - exec.fan_in_reduce(reducer); + instance.fan_in_reduce(reducer); } public: @@ -130,15 +132,15 @@ class ParallelReduce, reducer.final(m_result_ptr); } } else { - ThreadsExec::resize_scratch(reducer.value_size(), 0); + ThreadsInternal::resize_scratch(reducer.value_size(), 0); - ThreadsExec::start(&ParallelReduce::exec, this); + ThreadsInternal::start(&ParallelReduce::exec, this); - ThreadsExec::fence(); + ThreadsInternal::fence(); if (m_result_ptr) { const pointer_type data = - (pointer_type)ThreadsExec::root_reduce_scratch(); + (pointer_type)ThreadsInternal::root_reduce_scratch(); const unsigned n = reducer.value_count(); for (unsigned i = 0; i < n; ++i) { diff --git a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_Team.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_Team.hpp index c4b6100a9d..4db310701f 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_Team.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_ParallelReduce_Team.hpp @@ -58,16 +58,16 @@ class ParallelReduce( self.m_functor_reducer.get_functor(), - Member(&exec, self.m_policy, self.m_shared), + Member(&instance, self.m_policy, self.m_shared), self.m_functor_reducer.get_reducer().init( - static_cast(exec.reduce_memory()))); + static_cast(instance.reduce_memory()))); - exec.fan_in_reduce(self.m_functor_reducer.get_reducer()); + instance.fan_in_reduce(self.m_functor_reducer.get_reducer()); } public: @@ -80,17 +80,17 @@ class ParallelReduce, } } - static void exec(ThreadsExec &exec, const void *arg) { + static void exec(ThreadsInternal &instance, const void *arg) { const ParallelScan &self = *((const ParallelScan *)arg); - const WorkRange range(self.m_policy, exec.pool_rank(), exec.pool_size()); + const WorkRange range(self.m_policy, instance.pool_rank(), + instance.pool_size()); typename Analysis::Reducer final_reducer(self.m_functor); reference_type update = - final_reducer.init(static_cast(exec.reduce_memory())); + final_reducer.init(static_cast(instance.reduce_memory())); ParallelScan::template exec_range(self.m_functor, range.begin(), range.end(), update, false); - // exec.template scan_large( final_reducer ); - exec.scan_small(final_reducer); + instance.scan_small(final_reducer); ParallelScan::template exec_range(self.m_functor, range.begin(), range.end(), update, true); - exec.fan_in(); + instance.fan_in(); } public: inline void execute() const { - ThreadsExec::resize_scratch(2 * Analysis::value_size(m_functor), 0); - ThreadsExec::start(&ParallelScan::exec, this); - ThreadsExec::fence(); + ThreadsInternal::resize_scratch(2 * Analysis::value_size(m_functor), 0); + ThreadsInternal::start(&ParallelScan::exec, this); + ThreadsInternal::fence(); } ParallelScan(const FunctorType &arg_functor, const Policy &arg_policy) @@ -145,37 +145,37 @@ class ParallelScanWithTotal, } } - static void exec(ThreadsExec &exec, const void *arg) { + static void exec(ThreadsInternal &instance, const void *arg) { const ParallelScanWithTotal &self = *((const ParallelScanWithTotal *)arg); - const WorkRange range(self.m_policy, exec.pool_rank(), exec.pool_size()); + const WorkRange range(self.m_policy, instance.pool_rank(), + instance.pool_size()); typename Analysis::Reducer final_reducer(self.m_functor); reference_type update = - final_reducer.init(static_cast(exec.reduce_memory())); + final_reducer.init(static_cast(instance.reduce_memory())); ParallelScanWithTotal::template exec_range( self.m_functor, range.begin(), range.end(), update, false); - // exec.template scan_large(final_reducer); - exec.scan_small(final_reducer); + instance.scan_small(final_reducer); ParallelScanWithTotal::template exec_range( self.m_functor, range.begin(), range.end(), update, true); - exec.fan_in(); + instance.fan_in(); - if (exec.pool_rank() == exec.pool_size() - 1) { + if (instance.pool_rank() == instance.pool_size() - 1) { *self.m_result_ptr = update; } } public: inline void execute() const { - ThreadsExec::resize_scratch(2 * Analysis::value_size(m_functor), 0); - ThreadsExec::start(&ParallelScanWithTotal::exec, this); - ThreadsExec::fence(); + ThreadsInternal::resize_scratch(2 * Analysis::value_size(m_functor), 0); + ThreadsInternal::start(&ParallelScanWithTotal::exec, this); + ThreadsInternal::fence(); } template diff --git a/lib/kokkos/core/src/impl/Kokkos_Spinwait.cpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_Spinwait.cpp similarity index 90% rename from lib/kokkos/core/src/impl/Kokkos_Spinwait.cpp rename to lib/kokkos/core/src/Threads/Kokkos_Threads_Spinwait.cpp index 0a7eda29bc..3df9dc07bf 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Spinwait.cpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_Spinwait.cpp @@ -21,7 +21,7 @@ #include #include -#include +#include #include #include @@ -108,5 +108,15 @@ void host_thread_yield(const uint32_t i, const WaitMode mode) { #endif /* defined( KOKKOS_ENABLE_ASM ) */ } +void spinwait_while_equal(ThreadState const volatile& flag, + ThreadState const value) { + Kokkos::store_fence(); + uint32_t i = 0; + while (value == flag) { + host_thread_yield(++i, WaitMode::ACTIVE); + } + Kokkos::load_fence(); +} + } // namespace Impl } // namespace Kokkos diff --git a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Swap.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_Spinwait.hpp similarity index 52% rename from lib/kokkos/algorithms/src/std_algorithms/Kokkos_Swap.hpp rename to lib/kokkos/core/src/Threads/Kokkos_Threads_Spinwait.hpp index acd2a572c8..b98b6dbb73 100644 --- a/lib/kokkos/algorithms/src/std_algorithms/Kokkos_Swap.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_Spinwait.hpp @@ -14,28 +14,30 @@ // //@HEADER -#ifndef KOKKOS_STD_ALGORITHMS_SWAP_HPP -#define KOKKOS_STD_ALGORITHMS_SWAP_HPP +#ifndef KOKKOS_THREADS_SPINWAIT_HPP +#define KOKKOS_THREADS_SPINWAIT_HPP -#include +#include + +#include namespace Kokkos { -namespace Experimental { +namespace Impl { -// swap -template -KOKKOS_INLINE_FUNCTION void swap(T& a, T& b) noexcept { - static_assert( - std::is_move_assignable::value && std::is_move_constructible::value, - "Kokkos::Experimental::swap arguments must be move assignable " - "and move constructible"); +enum class WaitMode : int { + ACTIVE // Used for tight loops to keep threads active longest + , + PASSIVE // Used to quickly yield the thread to quite down the system + , + ROOT // Never sleep or yield the root thread +}; - T tmp = std::move(a); - a = std::move(b); - b = std::move(tmp); -} +void host_thread_yield(const uint32_t i, const WaitMode mode); -} // namespace Experimental +void spinwait_while_equal(ThreadState const volatile& flag, + ThreadState const value); + +} // namespace Impl } // namespace Kokkos #endif diff --git a/lib/kokkos/core/src/fwd/Kokkos_Fwd_HBWSpace.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_State.hpp similarity index 59% rename from lib/kokkos/core/src/fwd/Kokkos_Fwd_HBWSpace.hpp rename to lib/kokkos/core/src/Threads/Kokkos_Threads_State.hpp index 21ba7fad01..148e9aa4e0 100644 --- a/lib/kokkos/core/src/fwd/Kokkos_Fwd_HBWSpace.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_State.hpp @@ -14,16 +14,26 @@ // //@HEADER -#ifndef KOKKOS_HBWSPACE_FWD_HPP_ -#define KOKKOS_HBWSPACE_FWD_HPP_ +#ifndef KOKKOS_THREADS_STATE_HPP +#define KOKKOS_THREADS_STATE_HPP -#ifdef KOKKOS_ENABLE_HBWSPACE namespace Kokkos { - -namespace Experimental { -class HBWSpace; /// Memory space for hbw_malloc from memkind (e.g. for KNL - /// processor) -} // namespace Experimental +namespace Impl { +/** \brief States of a worker thread */ +enum class ThreadState { + Terminating ///< Termination in progress + , + Inactive ///< Exists, waiting for work + , + Active ///< Exists, performing work + , + Rendezvous ///< Exists, waiting in a barrier or reduce + , + ScanCompleted, + ScanAvailable, + ReductionAvailable +}; +} // namespace Impl } // namespace Kokkos -#endif + #endif diff --git a/lib/kokkos/core/src/Threads/Kokkos_ThreadsTeam.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_Team.hpp similarity index 95% rename from lib/kokkos/core/src/Threads/Kokkos_ThreadsTeam.hpp rename to lib/kokkos/core/src/Threads/Kokkos_Threads_Team.hpp index b1cadc7c48..fd0f221365 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_ThreadsTeam.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_Team.hpp @@ -22,10 +22,11 @@ #include #include -#include #include #include +#include +#include //---------------------------------------------------------------------------- @@ -50,8 +51,8 @@ class ThreadsExecTeamMember { private: using space = execution_space::scratch_memory_space; - ThreadsExec* const m_exec; - ThreadsExec* const* m_team_base; ///< Base for team fan-in + ThreadsInternal* const m_instance; + ThreadsInternal* const* m_team_base; ///< Base for team fan-in space m_team_shared; size_t m_team_shared_size; int m_team_size; @@ -84,14 +85,13 @@ class ThreadsExecTeamMember { for (n = 1; (!(m_team_rank_rev & n)) && ((j = m_team_rank_rev + n) < m_team_size); n <<= 1) { - Impl::spinwait_while_equal(m_team_base[j]->state(), - ThreadsExec::Active); + spinwait_while_equal(m_team_base[j]->state(), ThreadState::Active); } // If not root then wait for release if (m_team_rank_rev) { - m_exec->state() = ThreadsExec::Rendezvous; - Impl::spinwait_while_equal(m_exec->state(), ThreadsExec::Rendezvous); + m_instance->state() = ThreadState::Rendezvous; + spinwait_while_equal(m_instance->state(), ThreadState::Rendezvous); } return !m_team_rank_rev; @@ -102,7 +102,7 @@ class ThreadsExecTeamMember { for (n = 1; (!(m_team_rank_rev & n)) && ((j = m_team_rank_rev + n) < m_team_size); n <<= 1) { - m_team_base[j]->state() = ThreadsExec::Active; + m_team_base[j]->state() = ThreadState::Active; } } @@ -188,10 +188,10 @@ class ThreadsExecTeamMember { using type = typename if_c::type; - if (nullptr == m_exec) return value; + if (m_instance == nullptr) return value; if (team_rank() != team_size() - 1) * - ((volatile type*)m_exec->scratch_memory()) = value; + ((volatile type*)m_instance->scratch_memory()) = value; memory_fence(); @@ -229,9 +229,9 @@ class ThreadsExecTeamMember { using type = typename if_c::type; - if (nullptr == m_exec) return; + if (m_instance == nullptr) return; - type* const local_value = ((type*)m_exec->scratch_memory()); + type* const local_value = ((type*)m_instance->scratch_memory()); // Set this thread's contribution if (team_rank() != team_size() - 1) { *local_value = contribution; } @@ -285,9 +285,9 @@ class ThreadsExecTeamMember { using type = typename if_c::type; - if (nullptr == m_exec) return type(0); + if (m_instance == nullptr) return type(0); - volatile type* const work_value = ((type*)m_exec->scratch_memory()); + volatile type* const work_value = ((type*)m_instance->scratch_memory()); *work_value = value; @@ -342,10 +342,10 @@ class ThreadsExecTeamMember { template ThreadsExecTeamMember( - Impl::ThreadsExec* exec, + Impl::ThreadsInternal* instance, const TeamPolicyInternal& team, const size_t shared_size) - : m_exec(exec), + : m_instance(instance), m_team_base(nullptr), m_team_shared(nullptr, 0), m_team_shared_size(shared_size), @@ -361,9 +361,11 @@ class ThreadsExecTeamMember { if (team.league_size()) { // Execution is using device-team interface: - const int pool_rank_rev = m_exec->pool_size() - (m_exec->pool_rank() + 1); + const int pool_rank_rev = + m_instance->pool_size() - (m_instance->pool_rank() + 1); const int team_rank_rev = pool_rank_rev % team.team_alloc(); - const size_t pool_league_size = m_exec->pool_size() / team.team_alloc(); + const size_t pool_league_size = + m_instance->pool_size() / team.team_alloc(); const size_t pool_league_rank_rev = pool_rank_rev / team.team_alloc(); if (pool_league_rank_rev >= pool_league_size) { m_invalid_thread = 1; @@ -372,7 +374,7 @@ class ThreadsExecTeamMember { const size_t pool_league_rank = pool_league_size - (pool_league_rank_rev + 1); - const int pool_num_teams = m_exec->pool_size() / team.team_alloc(); + const int pool_num_teams = m_instance->pool_size() / team.team_alloc(); const int chunk_size = team.chunk_size() > 0 ? team.chunk_size() : team.team_iter(); const int chunks_per_team = @@ -387,8 +389,8 @@ class ThreadsExecTeamMember { if ((team.team_alloc() > size_t(m_team_size)) ? (team_rank_rev >= m_team_size) - : (m_exec->pool_size() - pool_num_teams * m_team_size > - m_exec->pool_rank())) + : (m_instance->pool_size() - pool_num_teams * m_team_size > + m_instance->pool_rank())) m_invalid_thread = 1; else m_invalid_thread = 0; @@ -398,7 +400,7 @@ class ThreadsExecTeamMember { if (team_rank_rev < team.team_size() && !m_invalid_thread) { m_team_base = - m_exec->pool_base() + team.team_alloc() * pool_league_rank_rev; + m_instance->pool_base() + team.team_alloc() * pool_league_rank_rev; m_team_size = team.team_size(); m_team_rank = team.team_size() - (team_rank_rev + 1); m_team_rank_rev = team_rank_rev; @@ -413,13 +415,13 @@ class ThreadsExecTeamMember { } if ((m_team_rank_rev == 0) && (m_invalid_thread == 0)) { - m_exec->set_work_range(m_league_rank, m_league_end, m_chunk_size); - m_exec->reset_steal_target(m_team_size); + m_instance->set_work_range(m_league_rank, m_league_end, m_chunk_size); + m_instance->reset_steal_target(m_team_size); } if (std::is_same::schedule_type::type, Kokkos::Dynamic>::value) { - m_exec->barrier(); + m_instance->barrier(); } } else { m_invalid_thread = 1; @@ -427,7 +429,7 @@ class ThreadsExecTeamMember { } ThreadsExecTeamMember() - : m_exec(nullptr), + : m_instance(nullptr), m_team_base(nullptr), m_team_shared(nullptr, 0), m_team_shared_size(0), @@ -442,8 +444,8 @@ class ThreadsExecTeamMember { m_invalid_thread(0), m_team_alloc(0) {} - inline ThreadsExec& threads_exec_team_base() const { - return m_team_base ? **m_team_base : *m_exec; + inline ThreadsInternal& threads_exec_team_base() const { + return m_team_base ? **m_team_base : *m_instance; } bool valid_static() const { return m_league_rank < m_league_end; } @@ -999,8 +1001,10 @@ KOKKOS_INLINE_FUNCTION void parallel_scan( lambda(i, scan_val, false); } + auto& team_member = loop_bounds.thread; + // 'scan_val' output is the exclusive prefix sum - scan_val = loop_bounds.thread.team_scan(scan_val); + scan_val = team_member.team_scan(scan_val); #ifdef KOKKOS_ENABLE_PRAGMA_IVDEP #pragma ivdep @@ -1010,6 +1014,8 @@ KOKKOS_INLINE_FUNCTION void parallel_scan( lambda(i, scan_val, true); } + team_member.team_broadcast(scan_val, team_member.team_size() - 1); + return_val = scan_val; } diff --git a/lib/kokkos/core/src/Threads/Kokkos_Threads_WorkGraphPolicy.hpp b/lib/kokkos/core/src/Threads/Kokkos_Threads_WorkGraphPolicy.hpp index d4ce697548..c88d66db5f 100644 --- a/lib/kokkos/core/src/Threads/Kokkos_Threads_WorkGraphPolicy.hpp +++ b/lib/kokkos/core/src/Threads/Kokkos_Threads_WorkGraphPolicy.hpp @@ -18,7 +18,7 @@ #define KOKKOS_THREADS_WORKGRAPHPOLICY_HPP #include -#include +#include namespace Kokkos { namespace Impl { @@ -61,16 +61,17 @@ class ParallelFor, } } - static inline void thread_main(ThreadsExec& exec, const void* arg) noexcept { + static inline void thread_main(ThreadsInternal& instance, + const void* arg) noexcept { const Self& self = *(static_cast(arg)); self.exec_one_thread(); - exec.fan_in(); + instance.fan_in(); } public: inline void execute() { - ThreadsExec::start(&Self::thread_main, this); - ThreadsExec::fence(); + ThreadsInternal::start(&Self::thread_main, this); + ThreadsInternal::fence(); } inline ParallelFor(const FunctorType& arg_functor, const Policy& arg_policy) diff --git a/lib/kokkos/core/src/decl/Kokkos_Declare_HBWSpace.hpp b/lib/kokkos/core/src/decl/Kokkos_Declare_HBWSpace.hpp deleted file mode 100644 index 1328c93135..0000000000 --- a/lib/kokkos/core/src/decl/Kokkos_Declare_HBWSpace.hpp +++ /dev/null @@ -1,24 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#ifndef KOKKOS_DECLARE_HBWSPACE_HPP -#define KOKKOS_DECLARE_HBWSPACE_HPP - -#ifdef KOKKOS_ENABLE_HBWSPACE -#include -#endif - -#endif diff --git a/lib/kokkos/core/src/decl/Kokkos_Declare_HIP.hpp b/lib/kokkos/core/src/decl/Kokkos_Declare_HIP.hpp index e115f7051f..cf405e57b8 100644 --- a/lib/kokkos/core/src/decl/Kokkos_Declare_HIP.hpp +++ b/lib/kokkos/core/src/decl/Kokkos_Declare_HIP.hpp @@ -25,9 +25,13 @@ #include #include #include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include #include #include #include diff --git a/lib/kokkos/core/src/decl/Kokkos_Declare_THREADS.hpp b/lib/kokkos/core/src/decl/Kokkos_Declare_THREADS.hpp index f5cbc0c1d1..4d7caec6f5 100644 --- a/lib/kokkos/core/src/decl/Kokkos_Declare_THREADS.hpp +++ b/lib/kokkos/core/src/decl/Kokkos_Declare_THREADS.hpp @@ -19,7 +19,7 @@ #if defined(KOKKOS_ENABLE_THREADS) #include -#include +#include #include #include #include @@ -28,7 +28,7 @@ #include #include #include -#include +#include #include #endif diff --git a/lib/kokkos/core/src/impl/Kokkos_Core.cpp b/lib/kokkos/core/src/impl/Kokkos_Core.cpp index 5c182db566..4a69652616 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Core.cpp +++ b/lib/kokkos/core/src/impl/Kokkos_Core.cpp @@ -90,8 +90,6 @@ void combine(Kokkos::InitializationSettings& out, KOKKOS_IMPL_COMBINE_SETTING(num_threads); KOKKOS_IMPL_COMBINE_SETTING(map_device_id_by); KOKKOS_IMPL_COMBINE_SETTING(device_id); - KOKKOS_IMPL_COMBINE_SETTING(num_devices); - KOKKOS_IMPL_COMBINE_SETTING(skip_device); KOKKOS_IMPL_COMBINE_SETTING(disable_warnings); KOKKOS_IMPL_COMBINE_SETTING(tune_internals); KOKKOS_IMPL_COMBINE_SETTING(tools_help); @@ -131,11 +129,15 @@ void combine(Kokkos::Tools::InitArguments& out, int get_device_count() { #if defined(KOKKOS_ENABLE_CUDA) - return Kokkos::Cuda::detect_device_count(); + int count; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetDeviceCount(&count)); + return count; #elif defined(KOKKOS_ENABLE_HIP) - return Kokkos::HIP::detect_device_count(); + int count; + KOKKOS_IMPL_HIP_SAFE_CALL(hipGetDeviceCount(&count)); + return count; #elif defined(KOKKOS_ENABLE_SYCL) - return sycl::device::get_devices(sycl::info::device_type::gpu).size(); + return Kokkos::Experimental::Impl::get_sycl_devices().size(); #elif defined(KOKKOS_ENABLE_OPENACC) return acc_get_num_devices( Kokkos::Experimental::Impl::OpenACC_Traits::dev_type); @@ -165,20 +167,43 @@ bool is_valid_map_device_id_by(std::string const& x) { } // namespace +std::vector const& Kokkos::Impl::get_visible_devices() { + static auto devices = get_visible_devices(get_device_count()); + return devices; +} + [[nodiscard]] int Kokkos::device_id() noexcept { #if defined(KOKKOS_ENABLE_CUDA) - return Cuda().cuda_device(); + int device = Cuda().cuda_device(); #elif defined(KOKKOS_ENABLE_HIP) - return HIP().hip_device(); + int device = HIP().hip_device(); #elif defined(KOKKOS_ENABLE_OPENACC) - return Experimental::OpenACC().acc_device_number(); + int device = Experimental::OpenACC().acc_device_number(); #elif defined(KOKKOS_ENABLE_OPENMPTARGET) - return omp_get_default_device(); // FIXME_OPENMPTARGET + int device = omp_get_default_device(); // FIXME_OPENMPTARGET #elif defined(KOKKOS_ENABLE_SYCL) - return Experimental::Impl::SYCLInternal::m_syclDev; + int device = Experimental::Impl::SYCLInternal::m_syclDev; #else - return -1; + int device = -1; + return device; #endif + auto const& visible_devices = Impl::get_visible_devices(); + for (std::size_t i = 0; i < visible_devices.size(); ++i) { + if (visible_devices[i] == device) { + return i; + } + } + Kokkos::abort("Unexpected error: cannot determine device id"); + return -1; +} + +[[nodiscard]] int Kokkos::num_devices() noexcept { + if constexpr (std::is_same_v) { + return -1; // no GPU backend enabled + } else { + return Impl::get_visible_devices().size(); + } } [[nodiscard]] int Kokkos::num_threads() noexcept { @@ -313,8 +338,7 @@ int Kokkos::Impl::get_ctest_gpu(int local_rank) { return std::stoi(id.c_str()); } -std::vector Kokkos::Impl::get_visible_devices( - Kokkos::InitializationSettings const& settings, int device_count) { +std::vector Kokkos::Impl::get_visible_devices(int device_count) { std::vector visible_devices; char* env_visible_devices = std::getenv("KOKKOS_VISIBLE_DEVICES"); if (env_visible_devices) { @@ -341,30 +365,9 @@ std::vector Kokkos::Impl::get_visible_devices( } } } else { - int num_devices = - settings.has_num_devices() ? settings.get_num_devices() : device_count; - if (num_devices > device_count) { - std::stringstream ss; - ss << "Error: Specified number of devices '" << num_devices - << "' exceeds the actual number of GPUs available for execution '" - << device_count << "'." - << " Raised by Kokkos::initialize().\n"; - Kokkos::abort(ss.str().c_str()); - } - for (int i = 0; i < num_devices; ++i) { + for (int i = 0; i < device_count; ++i) { visible_devices.push_back(i); } - if (settings.has_skip_device()) { - if (visible_devices.size() == 1 && settings.get_skip_device() == 0) { - Kokkos::abort( - "Error: skipping the only GPU available for execution.\n" - " Raised by Kokkos::initialize().\n"); - } - visible_devices.erase( - std::remove(visible_devices.begin(), visible_devices.end(), - settings.get_skip_device()), - visible_devices.end()); - } } if (visible_devices.empty()) { Kokkos::abort( @@ -374,10 +377,10 @@ std::vector Kokkos::Impl::get_visible_devices( return visible_devices; } -int Kokkos::Impl::get_gpu(const InitializationSettings& settings) { - std::vector visible_devices = - get_visible_devices(settings, get_device_count()); - int const num_devices = visible_devices.size(); +std::optional Kokkos::Impl::get_gpu( + const InitializationSettings& settings) { + std::vector visible_devices = get_visible_devices(get_device_count()); + int const num_devices = visible_devices.size(); // device_id is provided if (settings.has_device_id()) { int const id = settings.get_device_id(); @@ -423,14 +426,15 @@ int Kokkos::Impl::get_gpu(const InitializationSettings& settings) { int const mpi_local_rank = mpi_local_rank_on_node(); - // use first GPU available for execution if unable to detect local MPI rank + // if unable to detect local MPI rank return nullopt to delegate device + // selection to the backend if (mpi_local_rank < 0) { if (settings.has_map_device_id_by()) { std::cerr << "Warning: unable to detect local MPI rank." << " Falling back to the first GPU available for execution." << " Raised by Kokkos::initialize()." << std::endl; } - return visible_devices[0]; + return std::nullopt; } // use device assigned by CTest when resource allocation is activated @@ -445,13 +449,6 @@ int Kokkos::Impl::get_gpu(const InitializationSettings& settings) { namespace { void initialize_backends(const Kokkos::InitializationSettings& settings) { -// This is an experimental setting -// For KNL in Flat mode this variable should be set, so that -// memkind allocates high bandwidth memory correctly. -#ifdef KOKKOS_ENABLE_HBWSPACE - setenv("MEMKIND_HBW_NODES", "1", 0); -#endif - Kokkos::Impl::ExecSpaceManager::get_instance().initialize_spaces(settings); } @@ -571,19 +568,6 @@ void pre_initialize_internal(const Kokkos::InitializationSettings& settings) { "no"); #endif -#ifdef KOKKOS_ENABLE_HBWSPACE - declare_configuration_metadata("memory", "KOKKOS_ENABLE_HBWSPACE", "yes"); -#else - declare_configuration_metadata("memory", "KOKKOS_ENABLE_HBWSPACE", "no"); -#endif -#ifdef KOKKOS_ENABLE_INTEL_MM_ALLOC - declare_configuration_metadata("memory", "KOKKOS_ENABLE_INTEL_MM_ALLOC", - "yes"); -#else - declare_configuration_metadata("memory", "KOKKOS_ENABLE_INTEL_MM_ALLOC", - "no"); -#endif - #ifdef KOKKOS_ENABLE_ASM declare_configuration_metadata("options", "KOKKOS_ENABLE_ASM", "yes"); #else @@ -604,6 +588,11 @@ void pre_initialize_internal(const Kokkos::InitializationSettings& settings) { #else declare_configuration_metadata("options", "KOKKOS_ENABLE_CXX23", "no"); #endif +#ifdef KOKKOS_ENABLE_CXX26 + declare_configuration_metadata("options", "KOKKOS_ENABLE_CXX26", "yes"); +#else + declare_configuration_metadata("options", "KOKKOS_ENABLE_CXX26", "no"); +#endif #ifdef KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK declare_configuration_metadata("options", "KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK", "yes"); @@ -616,11 +605,6 @@ void pre_initialize_internal(const Kokkos::InitializationSettings& settings) { #else declare_configuration_metadata("options", "KOKKOS_ENABLE_HWLOC", "no"); #endif -#ifdef KOKKOS_ENABLE_LIBRT - declare_configuration_metadata("options", "KOKKOS_ENABLE_LIBRT", "yes"); -#else - declare_configuration_metadata("options", "KOKKOS_ENABLE_LIBRT", "no"); -#endif #ifdef KOKKOS_ENABLE_LIBDL declare_configuration_metadata("options", "KOKKOS_ENABLE_LIBDL", "yes"); #else @@ -645,8 +629,6 @@ void pre_initialize_internal(const Kokkos::InitializationSettings& settings) { "ARMV8_THUNDERX2"); #elif defined(KOKKOS_ARCH_BDW) declare_configuration_metadata("architecture", "CPU architecture", "BDW"); -#elif defined(KOKKOS_ARCH_BGQ) - declare_configuration_metadata("architecture", "CPU architecture", "BGQ"); #elif defined(KOKKOS_ARCH_HSW) declare_configuration_metadata("architecture", "CPU architecture", "HSW"); #elif defined(KOKKOS_ARCH_ICL) @@ -659,8 +641,6 @@ void pre_initialize_internal(const Kokkos::InitializationSettings& settings) { declare_configuration_metadata("architecture", "CPU architecture", "KNL"); #elif defined(KOKKOS_ARCH_NATIVE) declare_configuration_metadata("architecture", "CPU architecture", "NATIVE"); -#elif defined(KOKKOS_ARCH_POWER7) - declare_configuration_metadata("architecture", "CPU architecture", "POWER7"); #elif defined(KOKKOS_ARCH_POWER8) declare_configuration_metadata("architecture", "CPU architecture", "POWER8"); #elif defined(KOKKOS_ARCH_POWER9) @@ -673,8 +653,6 @@ void pre_initialize_internal(const Kokkos::InitializationSettings& settings) { declare_configuration_metadata("architecture", "CPU architecture", "SNB"); #elif defined(KOKKOS_ARCH_SPR) declare_configuration_metadata("architecture", "CPU architecture", "SPR"); -#elif defined(KOKKOS_ARCH_WSM) - declare_configuration_metadata("architecture", "CPU architecture", "WSM"); #elif defined(KOKKOS_ARCH_AMD_ZEN) declare_configuration_metadata("architecture", "CPU architecture", "AMD_ZEN"); #elif defined(KOKKOS_ARCH_AMD_ZEN2) @@ -683,6 +661,9 @@ void pre_initialize_internal(const Kokkos::InitializationSettings& settings) { #elif defined(KOKKOS_ARCH_AMD_ZEN3) declare_configuration_metadata("architecture", "CPU architecture", "AMD_ZEN3"); +#elif defined(KOKKOS_ARCH_RISCV_SG2042) + declare_configuration_metadata("architecture", "CPU architecture", + "SG2042 (RISC-V)") #else declare_configuration_metadata("architecture", "CPU architecture", "none"); #endif @@ -752,8 +733,8 @@ void pre_initialize_internal(const Kokkos::InitializationSettings& settings) { #elif defined(KOKKOS_ARCH_ADA89) declare_configuration_metadata("architecture", "GPU architecture", "ADA89"); #elif defined(KOKKOS_ARCH_HOPPER90) - declare_configuration_metadata("architecture", "GPU architecture", - "HOPPER90"); + declare_configuration_metadata("architecture", "GPU architecture", + "HOPPER90"); #elif defined(KOKKOS_ARCH_AMD_GFX906) declare_configuration_metadata("architecture", "GPU architecture", "AMD_GFX906"); @@ -911,36 +892,18 @@ void Kokkos::Impl::parse_command_line_arguments( int num_threads; int device_id; - int num_devices; // deprecated - int skip_device; // deprecated std::string map_device_id_by; bool disable_warnings; bool print_configuration; bool tune_internals; - auto get_flag = [](std::string s) -> std::string { - return s.erase(s.find('=')); - }; - bool help_flag = false; int iarg = 0; while (iarg < argc) { bool remove_flag = false; - if (check_arg(argv[iarg], "--kokkos-numa") || - check_arg(argv[iarg], "--numa")) { - warn_deprecated_command_line_argument(get_flag(argv[iarg])); - // remove flag if prefixed with '--kokkos-' - remove_flag = std::string(argv[iarg]).find("--kokkos-") == 0; - } else if (check_arg_int(argv[iarg], "--kokkos-num-threads", num_threads) || - check_arg_int(argv[iarg], "--num-threads", num_threads) || - check_arg_int(argv[iarg], "--kokkos-threads", num_threads) || - check_arg_int(argv[iarg], "--threads", num_threads)) { - if (get_flag(argv[iarg]) != "--kokkos-num-threads") { - warn_deprecated_command_line_argument(get_flag(argv[iarg]), - "--kokkos-num-threads"); - } + if (check_arg_int(argv[iarg], "--kokkos-num-threads", num_threads)) { if (!is_valid_num_threads(num_threads)) { std::stringstream ss; ss << "Error: command line argument '" << argv[iarg] << "' is invalid." @@ -949,15 +912,8 @@ void Kokkos::Impl::parse_command_line_arguments( Kokkos::abort(ss.str().c_str()); } settings.set_num_threads(num_threads); - remove_flag = std::string(argv[iarg]).find("--kokkos-") == 0; - } else if (check_arg_int(argv[iarg], "--kokkos-device-id", device_id) || - check_arg_int(argv[iarg], "--device-id", device_id) || - check_arg_int(argv[iarg], "--kokkos-device", device_id) || - check_arg_int(argv[iarg], "--device", device_id)) { - if (get_flag(argv[iarg]) != "--kokkos-device-id") { - warn_deprecated_command_line_argument(get_flag(argv[iarg]), - "--kokkos-device-id"); - } + remove_flag = true; + } else if (check_arg_int(argv[iarg], "--kokkos-device-id", device_id)) { if (!is_valid_device_id(device_id)) { std::stringstream ss; ss << "Error: command line argument '" << argv[iarg] << "' is invalid." @@ -966,70 +922,7 @@ void Kokkos::Impl::parse_command_line_arguments( Kokkos::abort(ss.str().c_str()); } settings.set_device_id(device_id); - remove_flag = std::string(argv[iarg]).find("--kokkos-") == 0; - } else if (check_arg(argv[iarg], "--kokkos-num-devices") || - check_arg(argv[iarg], "--num-devices") || - check_arg(argv[iarg], "--kokkos-ndevices") || - check_arg(argv[iarg], "--ndevices")) { - if (check_arg(argv[iarg], "--num-devices")) { - warn_deprecated_command_line_argument("--num-devices", - "--kokkos-num-devices"); - } - if (check_arg(argv[iarg], "--ndevices")) { - warn_deprecated_command_line_argument("--ndevices", - "--kokkos-num-devices"); - } - if (check_arg(argv[iarg], "--kokkos-ndevices")) { - warn_deprecated_command_line_argument("--kokkos-ndevices", - "--kokkos-num-devices"); - } - warn_deprecated_command_line_argument( - "--kokkos-num-devices", "--kokkos-map-device-id-by=mpi_rank"); - // Find the number of device (expecting --device=XX) - if (!((strncmp(argv[iarg], "--kokkos-num-devices=", 21) == 0) || - (strncmp(argv[iarg], "--num-devices=", 14) == 0) || - (strncmp(argv[iarg], "--kokkos-ndevices=", 18) == 0) || - (strncmp(argv[iarg], "--ndevices=", 11) == 0))) - throw_runtime_exception( - "Error: expecting an '=INT[,INT]' after command line argument " - "'--kokkos-num-devices'." - " Raised by Kokkos::initialize()."); - - char* num1 = strchr(argv[iarg], '=') + 1; - char* num2 = strpbrk(num1, ","); - int num1_len = num2 == nullptr ? strlen(num1) : num2 - num1; - char* num1_only = new char[num1_len + 1]; - strncpy(num1_only, num1, num1_len); - num1_only[num1_len] = '\0'; - - if (!is_unsigned_int(num1_only) || (strlen(num1_only) == 0)) { - throw_runtime_exception( - "Error: expecting an integer number after command line argument " - "'--kokkos-num-devices'." - " Raised by Kokkos::initialize()."); - } - if (check_arg(argv[iarg], "--kokkos-num-devices") || - check_arg(argv[iarg], "--kokkos-ndevices")) { - num_devices = std::stoi(num1_only); - settings.set_num_devices(num_devices); - settings.set_map_device_id_by("mpi_rank"); - } - delete[] num1_only; - - if (num2 != nullptr) { - if ((!is_unsigned_int(num2 + 1)) || (strlen(num2) == 1)) - throw_runtime_exception( - "Error: expecting an integer number after command line argument " - "'--kokkos-num-devices=XX,'." - " Raised by Kokkos::initialize()."); - - if (check_arg(argv[iarg], "--kokkos-num-devices") || - check_arg(argv[iarg], "--kokkos-ndevices")) { - skip_device = std::stoi(num2 + 1); - settings.set_skip_device(skip_device); - } - } - remove_flag = std::string(argv[iarg]).find("--kokkos-") == 0; + remove_flag = true; } else if (check_arg_bool(argv[iarg], "--kokkos-disable-warnings", disable_warnings)) { settings.set_disable_warnings(disable_warnings); @@ -1098,9 +991,6 @@ void Kokkos::Impl::parse_environment_variables( } combine(settings, tools_init_arguments); - if (std::getenv("KOKKOS_NUMA")) { - warn_deprecated_environment_variable("KOKKOS_NUMA"); - } int num_threads; if (check_env_int("KOKKOS_NUM_THREADS", num_threads)) { if (!is_valid_num_threads(num_threads)) { @@ -1125,34 +1015,6 @@ void Kokkos::Impl::parse_environment_variables( } settings.set_device_id(device_id); } - int num_devices; - int rand_devices; - bool has_num_devices = check_env_int("KOKKOS_NUM_DEVICES", num_devices); - bool has_rand_devices = check_env_int("KOKKOS_RAND_DEVICES", rand_devices); - if (has_rand_devices && has_num_devices) { - Impl::throw_runtime_exception( - "Error: cannot specify both KOKKOS_NUM_DEVICES and " - "KOKKOS_RAND_DEVICES." - " Raised by Kokkos::initialize()."); - } - if (has_num_devices) { - warn_deprecated_environment_variable("KOKKOS_NUM_DEVICES", - "KOKKOS_MAP_DEVICE_ID_BY=mpi_rank"); - settings.set_map_device_id_by("mpi_rank"); - settings.set_num_devices(num_devices); - } - if (has_rand_devices) { - warn_deprecated_environment_variable("KOKKOS_RAND_DEVICES", - "KOKKOS_MAP_DEVICE_ID_BY=random"); - settings.set_map_device_id_by("random"); - settings.set_num_devices(rand_devices); - } - if (has_num_devices || has_rand_devices) { - int skip_device; - if (check_env_int("KOKKOS_SKIP_DEVICE", skip_device)) { - settings.set_skip_device(skip_device); - } - } bool disable_warnings; if (check_env_bool("KOKKOS_DISABLE_WARNINGS", disable_warnings)) { settings.set_disable_warnings(disable_warnings); diff --git a/lib/kokkos/core/src/impl/Kokkos_DeviceManagement.hpp b/lib/kokkos/core/src/impl/Kokkos_DeviceManagement.hpp index bd89c8b19c..70dca5d8fa 100644 --- a/lib/kokkos/core/src/impl/Kokkos_DeviceManagement.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_DeviceManagement.hpp @@ -17,17 +17,17 @@ #ifndef KOKKOS_DEVICE_MANAGEMENT_HPP #define KOKKOS_DEVICE_MANAGEMENT_HPP +#include #include namespace Kokkos { class InitializationSettings; namespace Impl { -int get_gpu(const Kokkos::InitializationSettings& settings); +std::optional get_gpu(const Kokkos::InitializationSettings& settings); // This declaration is provided for testing purposes only int get_ctest_gpu(int local_rank); -// ditto -std::vector get_visible_devices( - Kokkos::InitializationSettings const& settings, int device_count); +std::vector get_visible_devices(int device_count); // test-only +std::vector const& get_visible_devices(); // use this instead } // namespace Impl } // namespace Kokkos diff --git a/lib/kokkos/core/src/impl/Kokkos_Error.cpp b/lib/kokkos/core/src/impl/Kokkos_Error.cpp index 4babe2d72b..de6e83ed1f 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Error.cpp +++ b/lib/kokkos/core/src/impl/Kokkos_Error.cpp @@ -21,10 +21,11 @@ #include #include -#include +#include #include #include #include +#include // show_warnings #include #include @@ -38,6 +39,12 @@ void throw_runtime_exception(const std::string &msg) { throw std::runtime_error(msg); } +void log_warning(const std::string &msg) { + if (show_warnings()) { + std::cerr << msg << std::flush; + } +} + std::string human_memory_size(size_t arg_bytes) { double bytes = arg_bytes; const double K = 1024; @@ -64,7 +71,8 @@ std::string human_memory_size(size_t arg_bytes) { void Experimental::RawMemoryAllocationFailure::print_error_message( std::ostream &o) const { - o << "Allocation of size " << Impl::human_memory_size(m_attempted_size); + o << "Allocation of size " + << ::Kokkos::Impl::human_memory_size(m_attempted_size); o << " failed"; switch (m_failure_mode) { case FailureMode::OutOfMemoryError: diff --git a/lib/kokkos/core/src/impl/Kokkos_Error.hpp b/lib/kokkos/core/src/impl/Kokkos_Error.hpp index 3d0b1d3274..1058fd98db 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Error.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Error.hpp @@ -28,6 +28,8 @@ namespace Impl { [[noreturn]] void throw_runtime_exception(const std::string &msg); +void log_warning(const std::string &msg); + std::string human_memory_size(size_t arg_bytes); } // namespace Impl @@ -58,7 +60,8 @@ class RawMemoryAllocationFailure : public std::bad_alloc { HIPMallocManaged, SYCLMallocDevice, SYCLMallocShared, - SYCLMallocHost + SYCLMallocHost, + OpenACCMalloc, }; private: diff --git a/lib/kokkos/core/src/impl/Kokkos_HBWSpace.cpp b/lib/kokkos/core/src/impl/Kokkos_HBWSpace.cpp deleted file mode 100644 index cd640b88cb..0000000000 --- a/lib/kokkos/core/src/impl/Kokkos_HBWSpace.cpp +++ /dev/null @@ -1,313 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#ifndef KOKKOS_IMPL_PUBLIC_INCLUDE -#define KOKKOS_IMPL_PUBLIC_INCLUDE -#endif - -#include - -#include -#include -#include -#include - -#include -#include -#include -#include - -#include -#include -#include -#include -#ifdef KOKKOS_ENABLE_HBWSPACE -#include -#endif - -#include - -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- -#ifdef KOKKOS_ENABLE_HBWSPACE -#define MEMKIND_TYPE MEMKIND_HBW // hbw_get_kind(HBW_PAGESIZE_4KB) - -/*--------------------------------------------------------------------------*/ - -namespace Kokkos { -namespace Experimental { - -/* Default allocation mechanism */ -HBWSpace::HBWSpace() : m_alloc_mech(HBWSpace::STD_MALLOC) { - printf("Init\n"); - setenv("MEMKIND_HBW_NODES", "1", 0); -} - -/* Default allocation mechanism */ -HBWSpace::HBWSpace(const HBWSpace::AllocationMechanism &arg_alloc_mech) - : m_alloc_mech(HBWSpace::STD_MALLOC) { - printf("Init2\n"); - setenv("MEMKIND_HBW_NODES", "1", 0); - if (arg_alloc_mech == STD_MALLOC) { - m_alloc_mech = HBWSpace::STD_MALLOC; - } -} - -void *HBWSpace::allocate(const size_t arg_alloc_size) const { - return allocate("[unlabeled]", arg_alloc_size); -} -void *HBWSpace::allocate(const char *arg_label, const size_t arg_alloc_size, - const size_t arg_logical_size) const { - return impl_allocate(arg_label, arg_alloc_size, arg_logical_size); -} -void *HBWSpace::impl_allocate( - const char *arg_label, const size_t arg_alloc_size, - const size_t arg_logical_size, - const Kokkos::Tools::SpaceHandle arg_handle) const { - static_assert(sizeof(void *) == sizeof(uintptr_t), - "Error sizeof(void*) != sizeof(uintptr_t)"); - - static_assert( - Kokkos::Impl::power_of_two::value, - "Memory alignment must be power of two"); - - constexpr uintptr_t alignment = Kokkos::Impl::MEMORY_ALIGNMENT; - constexpr uintptr_t alignment_mask = alignment - 1; - - void *ptr = nullptr; - - if (arg_alloc_size) { - if (m_alloc_mech == STD_MALLOC) { - // Over-allocate to and round up to guarantee proper alignment. - size_t size_padded = arg_alloc_size + sizeof(void *) + alignment; - - void *alloc_ptr = memkind_malloc(MEMKIND_TYPE, size_padded); - - if (alloc_ptr) { - uintptr_t address = reinterpret_cast(alloc_ptr); - - // offset enough to record the alloc_ptr - address += sizeof(void *); - uintptr_t rem = address % alignment; - uintptr_t offset = rem ? (alignment - rem) : 0u; - address += offset; - ptr = reinterpret_cast(address); - // record the alloc'd pointer - address -= sizeof(void *); - *reinterpret_cast(address) = alloc_ptr; - } - } - } - - if ((ptr == nullptr) || (reinterpret_cast(ptr) == ~uintptr_t(0)) || - (reinterpret_cast(ptr) & alignment_mask)) { - std::ostringstream msg; - msg << "Kokkos::Experimental::HBWSpace::allocate[ "; - switch (m_alloc_mech) { - case STD_MALLOC: msg << "STD_MALLOC"; break; - case POSIX_MEMALIGN: msg << "POSIX_MEMALIGN"; break; - case POSIX_MMAP: msg << "POSIX_MMAP"; break; - case INTEL_MM_ALLOC: msg << "INTEL_MM_ALLOC"; break; - } - msg << " ]( " << arg_alloc_size << " ) FAILED"; - if (ptr == nullptr) { - msg << " nullptr"; - } else { - msg << " NOT ALIGNED " << ptr; - } - - std::cerr << msg.str() << std::endl; - std::cerr.flush(); - - Kokkos::Impl::throw_runtime_exception(msg.str()); - } - if (Kokkos::Profiling::profileLibraryLoaded()) { - const size_t reported_size = - (arg_logical_size > 0) ? arg_logical_size : arg_alloc_size; - Kokkos::Profiling::allocateData(arg_handle, arg_label, ptr, reported_size); - } - - return ptr; -} - -void HBWSpace::deallocate(void *const arg_alloc_ptr, - const size_t arg_alloc_size) const { - deallocate("[unlabeled]", arg_alloc_ptr, arg_alloc_size); -} -void HBWSpace::deallocate(const char *arg_label, void *const arg_alloc_ptr, - const size_t arg_alloc_size, - const size_t arg_logical_size) const { - impl_deallocate(arg_label, arg_alloc_ptr, arg_alloc_size, arg_logical_size); -} -void HBWSpace::impl_deallocate( - const char *arg_label, void *const arg_alloc_ptr, - const size_t arg_alloc_size, const size_t arg_logical_size, - const Kokkos::Tools::SpaceHandle arg_handle) const { - if (arg_alloc_ptr) { - if (Kokkos::Profiling::profileLibraryLoaded()) { - const size_t reported_size = - (arg_logical_size > 0) ? arg_logical_size : arg_alloc_size; - Kokkos::Profiling::deallocateData(arg_handle, arg_label, arg_alloc_ptr, - reported_size); - } - - if (m_alloc_mech == STD_MALLOC) { - void *alloc_ptr = *(reinterpret_cast(arg_alloc_ptr) - 1); - memkind_free(MEMKIND_TYPE, alloc_ptr); - } - } -} - -} // namespace Experimental -} // namespace Kokkos - -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- - -namespace Kokkos { -namespace Impl { - -#ifdef KOKKOS_ENABLE_DEBUG -SharedAllocationRecord - SharedAllocationRecord::s_root_record; -#endif - -void SharedAllocationRecord::deallocate( - SharedAllocationRecord *arg_rec) { - delete static_cast(arg_rec); -} - -SharedAllocationRecord::~SharedAllocationRecord() { - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - SharedAllocationRecord::m_alloc_size, - (SharedAllocationRecord::m_alloc_size - - sizeof(SharedAllocationHeader))); -} - -SharedAllocationRecord:: - SharedAllocationRecord( - const Kokkos::Experimental::HBWSpace &arg_space, - const std::string &arg_label, const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : SharedAllocationRecord( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - // Fill in the Header information - RecordBase::m_alloc_ptr->m_record = - static_cast *>(this); - - strncpy(RecordBase::m_alloc_ptr->m_label, arg_label.c_str(), - SharedAllocationHeader::maximum_label_length - 1); - // Set last element zero, in case c_str is too long - RecordBase::m_alloc_ptr - ->m_label[SharedAllocationHeader::maximum_label_length - 1] = '\0'; -} - -//---------------------------------------------------------------------------- - -void * -SharedAllocationRecord::allocate_tracked( - const Kokkos::Experimental::HBWSpace &arg_space, - const std::string &arg_alloc_label, const size_t arg_alloc_size) { - if (!arg_alloc_size) return nullptr; - - SharedAllocationRecord *const r = - allocate(arg_space, arg_alloc_label, arg_alloc_size); - - RecordBase::increment(r); - - return r->data(); -} - -void SharedAllocationRecord::deallocate_tracked(void *const - arg_alloc_ptr) { - if (arg_alloc_ptr != nullptr) { - SharedAllocationRecord *const r = get_record(arg_alloc_ptr); - - RecordBase::decrement(r); - } -} - -void *SharedAllocationRecord:: - reallocate_tracked(void *const arg_alloc_ptr, const size_t arg_alloc_size) { - SharedAllocationRecord *const r_old = get_record(arg_alloc_ptr); - SharedAllocationRecord *const r_new = - allocate(r_old->m_space, r_old->get_label(), arg_alloc_size); - - Kokkos::Impl::DeepCopy( - r_new->data(), r_old->data(), std::min(r_old->size(), r_new->size())); - Kokkos::fence( - "SharedAllocationRecord::reallocate_tracked(): fence after copying data"); - - RecordBase::increment(r_new); - RecordBase::decrement(r_old); - - return r_new->data(); -} - -SharedAllocationRecord - *SharedAllocationRecord::get_record( - void *alloc_ptr) { - using Header = SharedAllocationHeader; - using RecordHost = - SharedAllocationRecord; - - SharedAllocationHeader const *const head = - alloc_ptr ? Header::get_header(alloc_ptr) : nullptr; - RecordHost *const record = - head ? static_cast(head->m_record) : nullptr; - - if (!alloc_ptr || record->m_alloc_ptr != head) { - Kokkos::Impl::throw_runtime_exception(std::string( - "Kokkos::Impl::SharedAllocationRecord< Kokkos::Experimental::HBWSpace " - ", void >::get_record ERROR")); - } - - return record; -} - -// Iterate records to print orphaned memory ... -void SharedAllocationRecord:: - print_records(std::ostream &s, const Kokkos::Experimental::HBWSpace &space, - bool detail) { -#ifdef KOKKOS_ENABLE_DEBUG - SharedAllocationRecord::print_host_accessible_records( - s, "HBWSpace", &s_root_record, detail); -#else - throw_runtime_exception( - "SharedAllocationRecord::print_records" - " only works with KOKKOS_ENABLE_DEBUG enabled"); -#endif -} - -} // namespace Impl -} // namespace Kokkos - -#endif diff --git a/lib/kokkos/core/src/impl/Kokkos_Half_FloatingPointWrapper.hpp b/lib/kokkos/core/src/impl/Kokkos_Half_FloatingPointWrapper.hpp index 4a22898d16..bcce013b00 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Half_FloatingPointWrapper.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Half_FloatingPointWrapper.hpp @@ -196,12 +196,12 @@ KOKKOS_INLINE_FUNCTION template static KOKKOS_INLINE_FUNCTION Kokkos::Experimental::half_t cast_to_wrapper( - T x, const volatile Kokkos::Impl::half_impl_t::type&); + T x, const Kokkos::Impl::half_impl_t::type&); #ifdef KOKKOS_IMPL_BHALF_TYPE_DEFINED template static KOKKOS_INLINE_FUNCTION Kokkos::Experimental::bhalf_t cast_to_wrapper( - T x, const volatile Kokkos::Impl::bhalf_impl_t::type&); + T x, const Kokkos::Impl::bhalf_impl_t::type&); #endif // KOKKOS_IMPL_BHALF_TYPE_DEFINED template @@ -283,13 +283,6 @@ class alignas(FloatType) floating_point_wrapper { private: impl_type val; - using fixed_width_integer_type = std::conditional_t< - sizeof(impl_type) == 2, uint16_t, - std::conditional_t< - sizeof(impl_type) == 4, uint32_t, - std::conditional_t>>; - static_assert(!std::is_void::value, - "Invalid impl_type"); public: // In-class initialization and defaulted default constructors not used @@ -318,18 +311,6 @@ class alignas(FloatType) floating_point_wrapper { default; #endif - KOKKOS_INLINE_FUNCTION - floating_point_wrapper(const volatile floating_point_wrapper& rhs) { -#if defined(KOKKOS_HALF_IS_FULL_TYPE_ON_ARCH) && !defined(KOKKOS_ENABLE_SYCL) - val = rhs.val; -#else - const volatile fixed_width_integer_type* rv_ptr = - reinterpret_cast(&rhs.val); - const fixed_width_integer_type rv_val = *rv_ptr; - val = reinterpret_cast(rv_val); -#endif // KOKKOS_HALF_IS_FULL_TYPE_ON_ARCH - } - KOKKOS_FUNCTION floating_point_wrapper(bit_comparison_type rhs) { val = Kokkos::bit_cast(rhs); @@ -492,15 +473,6 @@ class alignas(FloatType) floating_point_wrapper { return *this; } - template - KOKKOS_FUNCTION void operator=(T rhs) volatile { - impl_type new_val = cast_to_wrapper(rhs, val).val; - volatile fixed_width_integer_type* val_ptr = - reinterpret_cast( - const_cast(&val)); - *val_ptr = reinterpret_cast(new_val); - } - // Compound operators KOKKOS_FUNCTION floating_point_wrapper& operator+=(floating_point_wrapper rhs) { @@ -515,15 +487,6 @@ class alignas(FloatType) floating_point_wrapper { return *this; } - KOKKOS_FUNCTION - void operator+=(const volatile floating_point_wrapper& rhs) volatile { - floating_point_wrapper tmp_rhs = rhs; - floating_point_wrapper tmp_lhs = *this; - - tmp_lhs += tmp_rhs; - *this = tmp_lhs; - } - // Compound operators: upcast overloads for += template KOKKOS_FUNCTION friend std::enable_if_t< @@ -560,15 +523,6 @@ class alignas(FloatType) floating_point_wrapper { return *this; } - KOKKOS_FUNCTION - void operator-=(const volatile floating_point_wrapper& rhs) volatile { - floating_point_wrapper tmp_rhs = rhs; - floating_point_wrapper tmp_lhs = *this; - - tmp_lhs -= tmp_rhs; - *this = tmp_lhs; - } - // Compund operators: upcast overloads for -= template KOKKOS_FUNCTION friend std::enable_if_t< @@ -605,15 +559,6 @@ class alignas(FloatType) floating_point_wrapper { return *this; } - KOKKOS_FUNCTION - void operator*=(const volatile floating_point_wrapper& rhs) volatile { - floating_point_wrapper tmp_rhs = rhs; - floating_point_wrapper tmp_lhs = *this; - - tmp_lhs *= tmp_rhs; - *this = tmp_lhs; - } - // Compund operators: upcast overloads for *= template KOKKOS_FUNCTION friend std::enable_if_t< @@ -650,15 +595,6 @@ class alignas(FloatType) floating_point_wrapper { return *this; } - KOKKOS_FUNCTION - void operator/=(const volatile floating_point_wrapper& rhs) volatile { - floating_point_wrapper tmp_rhs = rhs; - floating_point_wrapper tmp_lhs = *this; - - tmp_lhs /= tmp_rhs; - *this = tmp_lhs; - } - // Compund operators: upcast overloads for /= template KOKKOS_FUNCTION friend std::enable_if_t< @@ -884,27 +820,6 @@ class alignas(FloatType) floating_point_wrapper { #endif } - KOKKOS_FUNCTION - friend bool operator==(const volatile floating_point_wrapper& lhs, - const volatile floating_point_wrapper& rhs) { - floating_point_wrapper tmp_lhs = lhs, tmp_rhs = rhs; - return tmp_lhs == tmp_rhs; - } - - KOKKOS_FUNCTION - friend bool operator!=(const volatile floating_point_wrapper& lhs, - const volatile floating_point_wrapper& rhs) { - floating_point_wrapper tmp_lhs = lhs, tmp_rhs = rhs; - return tmp_lhs != tmp_rhs; - } - - KOKKOS_FUNCTION - friend bool operator<(const volatile floating_point_wrapper& lhs, - const volatile floating_point_wrapper& rhs) { - floating_point_wrapper tmp_lhs = lhs, tmp_rhs = rhs; - return tmp_lhs < tmp_rhs; - } - template KOKKOS_FUNCTION friend std::enable_if_t && (std::is_same_v || @@ -923,13 +838,6 @@ class alignas(FloatType) floating_point_wrapper { return lhs < static_cast(rhs); } - KOKKOS_FUNCTION - friend bool operator>(const volatile floating_point_wrapper& lhs, - const volatile floating_point_wrapper& rhs) { - floating_point_wrapper tmp_lhs = lhs, tmp_rhs = rhs; - return tmp_lhs > tmp_rhs; - } - template KOKKOS_FUNCTION friend std::enable_if_t && (std::is_same_v || @@ -948,13 +856,6 @@ class alignas(FloatType) floating_point_wrapper { return lhs > static_cast(rhs); } - KOKKOS_FUNCTION - friend bool operator<=(const volatile floating_point_wrapper& lhs, - const volatile floating_point_wrapper& rhs) { - floating_point_wrapper tmp_lhs = lhs, tmp_rhs = rhs; - return tmp_lhs <= tmp_rhs; - } - template KOKKOS_FUNCTION friend std::enable_if_t && (std::is_same_v || @@ -973,13 +874,6 @@ class alignas(FloatType) floating_point_wrapper { return lhs <= static_cast(rhs); } - KOKKOS_FUNCTION - friend bool operator>=(const volatile floating_point_wrapper& lhs, - const volatile floating_point_wrapper& rhs) { - floating_point_wrapper tmp_lhs = lhs, tmp_rhs = rhs; - return tmp_lhs >= tmp_rhs; - } - template KOKKOS_FUNCTION friend std::enable_if_t && (std::is_same_v || @@ -1018,14 +912,14 @@ class alignas(FloatType) floating_point_wrapper { // Declare wrapper overloads now that floating_point_wrapper is declared template static KOKKOS_INLINE_FUNCTION Kokkos::Experimental::half_t cast_to_wrapper( - T x, const volatile Kokkos::Impl::half_impl_t::type&) { + T x, const Kokkos::Impl::half_impl_t::type&) { return Kokkos::Experimental::cast_to_half(x); } #ifdef KOKKOS_IMPL_BHALF_TYPE_DEFINED template static KOKKOS_INLINE_FUNCTION Kokkos::Experimental::bhalf_t cast_to_wrapper( - T x, const volatile Kokkos::Impl::bhalf_impl_t::type&) { + T x, const Kokkos::Impl::bhalf_impl_t::type&) { return Kokkos::Experimental::cast_to_bhalf(x); } #endif // KOKKOS_IMPL_BHALF_TYPE_DEFINED diff --git a/lib/kokkos/core/src/impl/Kokkos_HostSpace.cpp b/lib/kokkos/core/src/impl/Kokkos_HostSpace.cpp index a9d7216059..1047b773d7 100644 --- a/lib/kokkos/core/src/impl/Kokkos_HostSpace.cpp +++ b/lib/kokkos/core/src/impl/Kokkos_HostSpace.cpp @@ -20,23 +20,11 @@ #include +#include +#include #include -#include #include -/*--------------------------------------------------------------------------*/ - -#if (defined(KOKKOS_COMPILER_INTEL) || defined(KOKKOS_COMPILER_INTEL_LLVM)) && \ - !defined(KOKKOS_ENABLE_CUDA) - -// Intel specialized allocator does not interoperate with CUDA memory allocation - -#define KOKKOS_ENABLE_INTEL_MM_ALLOC - -#endif - -/*--------------------------------------------------------------------------*/ - #include #include #include @@ -50,10 +38,6 @@ #include #endif -#include -#include -#include - //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- @@ -150,84 +134,6 @@ void HostSpace::impl_deallocate( } // namespace Kokkos -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- - -namespace Kokkos { -namespace Impl { - -#ifdef KOKKOS_ENABLE_DEBUG -SharedAllocationRecord - SharedAllocationRecord::s_root_record; -#endif - -SharedAllocationRecord::~SharedAllocationRecord() { - m_space.deallocate(m_label.c_str(), - SharedAllocationRecord::m_alloc_ptr, - SharedAllocationRecord::m_alloc_size, - (SharedAllocationRecord::m_alloc_size - - sizeof(SharedAllocationHeader))); -} - -SharedAllocationHeader *_do_allocation(Kokkos::HostSpace const &space, - std::string const &label, - size_t alloc_size) { - try { - return reinterpret_cast( - space.allocate(alloc_size)); - } catch (Experimental::RawMemoryAllocationFailure const &failure) { - if (failure.failure_mode() == Experimental::RawMemoryAllocationFailure:: - FailureMode::AllocationNotAligned) { - // TODO: delete the misaligned memory - } - - std::cerr << "Kokkos failed to allocate memory for label \"" << label - << "\". Allocation using MemorySpace named \"" << space.name() - << " failed with the following error: "; - failure.print_error_message(std::cerr); - std::cerr.flush(); - Kokkos::Impl::throw_runtime_exception("Memory allocation failure"); - } - return nullptr; // unreachable -} - -SharedAllocationRecord::SharedAllocationRecord( - const Kokkos::HostSpace &arg_space, const std::string &arg_label, - const size_t arg_alloc_size, - const SharedAllocationRecord::function_type arg_dealloc) - // Pass through allocated [ SharedAllocationHeader , user_memory ] - // Pass through deallocation function - : base_t( -#ifdef KOKKOS_ENABLE_DEBUG - &SharedAllocationRecord::s_root_record, -#endif - Impl::checked_allocation_with_header(arg_space, arg_label, - arg_alloc_size), - sizeof(SharedAllocationHeader) + arg_alloc_size, arg_dealloc, - arg_label), - m_space(arg_space) { - this->base_t::_fill_host_accessible_header_info(*RecordBase::m_alloc_ptr, - arg_label); -} - -} // namespace Impl -} // namespace Kokkos - -//============================================================================== -// {{{1 - #include -namespace Kokkos { -namespace Impl { - -// To avoid additional compilation cost for something that's (mostly?) not -// performance sensitive, we explicity instantiate these CRTP base classes here, -// where we have access to the associated *_timpl.hpp header files. -template class SharedAllocationRecordCommon; - -} // end namespace Impl -} // end namespace Kokkos - -// end Explicit instantiations of CRTP Base classes }}}1 -//============================================================================== +KOKKOS_IMPL_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION(Kokkos::HostSpace); diff --git a/lib/kokkos/core/src/impl/Kokkos_HostSpace_ZeroMemset.hpp b/lib/kokkos/core/src/impl/Kokkos_HostSpace_ZeroMemset.hpp index f740c408fb..3072e2ce82 100644 --- a/lib/kokkos/core/src/impl/Kokkos_HostSpace_ZeroMemset.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_HostSpace_ZeroMemset.hpp @@ -26,8 +26,7 @@ namespace Impl { template struct ZeroMemset> { - ZeroMemset(const HostSpace::execution_space& exec, const View& dst, - typename View::const_value_type&) { + ZeroMemset(const HostSpace::execution_space& exec, const View& dst) { // Host spaces, except for HPX, are synchronous and we need to fence for HPX // since we can't properly enqueue a std::memset otherwise. // We can't use exec.fence() directly since we don't have a full definition @@ -36,12 +35,6 @@ struct ZeroMemset> { using ValueType = typename View::value_type; std::memset(dst.data(), 0, sizeof(ValueType) * dst.size()); } - - ZeroMemset(const View& dst, - typename View::const_value_type&) { - using ValueType = typename View::value_type; - std::memset(dst.data(), 0, sizeof(ValueType) * dst.size()); - } }; } // end namespace Impl diff --git a/lib/kokkos/core/src/impl/Kokkos_HostThreadTeam.cpp b/lib/kokkos/core/src/impl/Kokkos_HostThreadTeam.cpp index bfe5902bf7..11bf701b57 100644 --- a/lib/kokkos/core/src/impl/Kokkos_HostThreadTeam.cpp +++ b/lib/kokkos/core/src/impl/Kokkos_HostThreadTeam.cpp @@ -22,7 +22,6 @@ #include #include #include -#include //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- diff --git a/lib/kokkos/core/src/impl/Kokkos_HostThreadTeam.hpp b/lib/kokkos/core/src/impl/Kokkos_HostThreadTeam.hpp index 51f25a8b60..25f09b8286 100644 --- a/lib/kokkos/core/src/impl/Kokkos_HostThreadTeam.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_HostThreadTeam.hpp @@ -885,7 +885,7 @@ KOKKOS_INLINE_FUNCTION closure(i, accum, false); } - auto team_member = loop_boundaries.thread; + auto& team_member = loop_boundaries.thread; // 'accum' output is the exclusive prefix sum accum = team_member.team_scan(accum); diff --git a/lib/kokkos/core/src/impl/Kokkos_InitializationSettings.hpp b/lib/kokkos/core/src/impl/Kokkos_InitializationSettings.hpp index ab4350f3a7..11a93c6bb5 100644 --- a/lib/kokkos/core/src/impl/Kokkos_InitializationSettings.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_InitializationSettings.hpp @@ -24,32 +24,6 @@ namespace Kokkos { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -struct InitArguments { - int num_threads; - int num_numa; - int device_id; - int ndevices; - int skip_device; - bool disable_warnings; - bool tune_internals; - bool tool_help = false; - std::string tool_lib = {}; - std::string tool_args = {}; - - KOKKOS_DEPRECATED_WITH_COMMENT("Use InitializationSettings instead!") - InitArguments(int nt = -1, int nn = -1, int dv = -1, bool dw = false, - bool ti = false) - : num_threads{nt}, - num_numa{nn}, - device_id{dv}, - ndevices{-1}, - skip_device{9999}, - disable_warnings{dw}, - tune_internals{ti} {} -}; -#endif - class InitializationSettings { #define KOKKOS_IMPL_DECLARE(TYPE, NAME) \ private: \ @@ -64,12 +38,32 @@ class InitializationSettings { TYPE get_##NAME() const noexcept { return *m_##NAME; } \ static_assert(true, "no-op to require trailing semicolon") +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 +#define KOKKOS_IMPL_DECLARE_DEPRECATED(TYPE, NAME) \ + private: \ + std::optional m_##NAME; \ + \ + public: \ + KOKKOS_DEPRECATED InitializationSettings& set_##NAME(TYPE NAME) { \ + m_##NAME = NAME; \ + return *this; \ + } \ + KOKKOS_DEPRECATED bool has_##NAME() const noexcept { \ + return static_cast(m_##NAME); \ + } \ + KOKKOS_DEPRECATED TYPE get_##NAME() const noexcept { return *m_##NAME; } \ + static_assert(true, "no-op to require trailing semicolon") +#else +#define KOKKOS_IMPL_DECLARE_DEPRECATED(TYPE, NAME) \ + static_assert(true, "no-op to require trailing semicolon") +#endif + public: KOKKOS_IMPL_DECLARE(int, num_threads); KOKKOS_IMPL_DECLARE(int, device_id); KOKKOS_IMPL_DECLARE(std::string, map_device_id_by); - KOKKOS_IMPL_DECLARE(int, num_devices); // deprecated - KOKKOS_IMPL_DECLARE(int, skip_device); // deprecated + KOKKOS_IMPL_DECLARE_DEPRECATED(int, num_devices); + KOKKOS_IMPL_DECLARE_DEPRECATED(int, skip_device); KOKKOS_IMPL_DECLARE(bool, disable_warnings); KOKKOS_IMPL_DECLARE(bool, print_configuration); KOKKOS_IMPL_DECLARE(bool, tune_internals); @@ -80,41 +74,6 @@ class InitializationSettings { #undef KOKKOS_IMPL_INIT_ARGS_DATA_MEMBER_TYPE #undef KOKKOS_IMPL_INIT_ARGS_DATA_MEMBER #undef KOKKOS_IMPL_DECLARE - -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 - public: - InitializationSettings() = default; - - InitializationSettings(InitArguments const& old) { - if (old.num_threads != -1) { - set_num_threads(old.num_threads); - } - if (old.device_id != -1) { - set_device_id(old.device_id); - } - if (old.ndevices != -1) { - set_num_devices(old.ndevices); - } - if (old.skip_device != 9999) { - set_skip_device(old.skip_device); - } - if (old.disable_warnings) { - set_disable_warnings(true); - } - if (old.tune_internals) { - set_tune_internals(true); - } - if (old.tool_help) { - set_tools_help(true); - } - if (!old.tool_lib.empty()) { - set_tools_libs(old.tool_lib); - } - if (!old.tool_args.empty()) { - set_tools_args(old.tool_args); - } - } -#endif }; } // namespace Kokkos diff --git a/lib/kokkos/core/src/impl/Kokkos_MemorySpace.cpp b/lib/kokkos/core/src/impl/Kokkos_MemorySpace.cpp deleted file mode 100644 index 2f0e01c5b2..0000000000 --- a/lib/kokkos/core/src/impl/Kokkos_MemorySpace.cpp +++ /dev/null @@ -1,72 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -/** @file Kokkos_MemorySpace.cpp - * - * Operations common to memory space instances, or at least default - * implementations thereof. - */ - -#ifndef KOKKOS_IMPL_PUBLIC_INCLUDE -#define KOKKOS_IMPL_PUBLIC_INCLUDE -#endif - -#include - -#include -#include -#include - -namespace Kokkos { -namespace Impl { - -void safe_throw_allocation_with_header_failure( - std::string const& space_name, std::string const& label, - Kokkos::Experimental::RawMemoryAllocationFailure const& failure) { - auto generate_failure_message = [&](std::ostream& o) { - o << "Kokkos failed to allocate memory for label \"" << label - << "\". Allocation using MemorySpace named \"" << space_name - << "\" failed with the following error: "; - failure.print_error_message(o); - if (failure.failure_mode() == - Kokkos::Experimental::RawMemoryAllocationFailure::FailureMode:: - AllocationNotAligned) { - // TODO: delete the misaligned memory? - o << "Warning: Allocation failed due to misalignment; memory may " - "be leaked.\n"; - } - o.flush(); - }; - try { - std::ostringstream sstr; - generate_failure_message(sstr); - Kokkos::Impl::throw_runtime_exception(sstr.str()); - } catch (std::bad_alloc const&) { - // Probably failed to allocate the string because we're so close to out - // of memory. Try printing to std::cerr instead - try { - generate_failure_message(std::cerr); - } catch (std::bad_alloc const&) { - // oh well, we tried... - } - Kokkos::Impl::throw_runtime_exception( - "Kokkos encountered an allocation failure, then another allocation " - "failure while trying to create the error message."); - } -} - -} // end namespace Impl -} // end namespace Kokkos diff --git a/lib/kokkos/core/src/impl/Kokkos_MemorySpace.hpp b/lib/kokkos/core/src/impl/Kokkos_MemorySpace.hpp deleted file mode 100644 index 44956dd7c5..0000000000 --- a/lib/kokkos/core/src/impl/Kokkos_MemorySpace.hpp +++ /dev/null @@ -1,71 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -/** @file Kokkos_MemorySpace.hpp - * - * Operations common to memory space instances, or at least default - * implementations thereof. - */ - -#ifndef KOKKOS_IMPL_MEMORYSPACE_HPP -#define KOKKOS_IMPL_MEMORYSPACE_HPP - -#include -#include -#include - -#include - -namespace Kokkos { -namespace Impl { - -// Defined in implementation file to avoid having to include iostream -void safe_throw_allocation_with_header_failure( - std::string const &space_name, std::string const &label, - Kokkos::Experimental::RawMemoryAllocationFailure const &failure); - -template -SharedAllocationHeader *checked_allocation_with_header(MemorySpace const &space, - std::string const &label, - size_t alloc_size) { - try { - return reinterpret_cast(space.allocate( - label.c_str(), alloc_size + sizeof(SharedAllocationHeader), - alloc_size)); - } catch (Kokkos::Experimental::RawMemoryAllocationFailure const &failure) { - safe_throw_allocation_with_header_failure(space.name(), label, failure); - } - return nullptr; // unreachable -} - -template -SharedAllocationHeader *checked_allocation_with_header( - ExecutionSpace const &exec_space, MemorySpace const &space, - std::string const &label, size_t alloc_size) { - try { - return reinterpret_cast(space.allocate( - exec_space, label.c_str(), alloc_size + sizeof(SharedAllocationHeader), - alloc_size)); - } catch (Kokkos::Experimental::RawMemoryAllocationFailure const &failure) { - safe_throw_allocation_with_header_failure(space.name(), label, failure); - } - return nullptr; // unreachable -} - -} // end namespace Impl -} // end namespace Kokkos - -#endif // KOKKOS_IMPL_MEMORYSPACE_HPP diff --git a/lib/kokkos/core/src/impl/Kokkos_Memory_Fence.hpp b/lib/kokkos/core/src/impl/Kokkos_Memory_Fence.hpp deleted file mode 100644 index 42a53b04fb..0000000000 --- a/lib/kokkos/core/src/impl/Kokkos_Memory_Fence.hpp +++ /dev/null @@ -1,54 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#include -#if defined(KOKKOS_ATOMIC_HPP) && !defined(KOKKOS_MEMORY_FENCE_HPP) -#define KOKKOS_MEMORY_FENCE_HPP -namespace Kokkos { - -////////////////////////////////////////////////////// -// store_fence() -// -// If possible use a store fence on the architecture, if not run a full memory -// fence - -KOKKOS_FORCEINLINE_FUNCTION -void store_fence() { -#if defined(KOKKOS_ENABLE_ASM) && defined(KOKKOS_ENABLE_ISA_X86_64) - asm volatile("sfence" ::: "memory"); -#else - memory_fence(); -#endif -} - -////////////////////////////////////////////////////// -// load_fence() -// -// If possible use a load fence on the architecture, if not run a full memory -// fence - -KOKKOS_FORCEINLINE_FUNCTION -void load_fence() { -#if defined(KOKKOS_ENABLE_ASM) && defined(KOKKOS_ENABLE_ISA_X86_64) - asm volatile("lfence" ::: "memory"); -#else - memory_fence(); -#endif -} - -} // namespace Kokkos - -#endif diff --git a/lib/kokkos/core/src/impl/Kokkos_Profiling_C_Interface.h b/lib/kokkos/core/src/impl/Kokkos_Profiling_C_Interface.h index 731a11e917..15c466b27e 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Profiling_C_Interface.h +++ b/lib/kokkos/core/src/impl/Kokkos_Profiling_C_Interface.h @@ -154,7 +154,7 @@ enum Kokkos_Tools_OptimizationType { Kokkos_Tools_Maximize }; -struct Kokkos_Tools_OptimzationGoal { +struct Kokkos_Tools_OptimizationGoal { size_t type_id; enum Kokkos_Tools_OptimizationType goal; }; @@ -220,7 +220,7 @@ typedef void (*Kokkos_Tools_contextBeginFunction)(const size_t); typedef void (*Kokkos_Tools_contextEndFunction)( const size_t, struct Kokkos_Tools_VariableValue); typedef void (*Kokkos_Tools_optimizationGoalDeclarationFunction)( - const size_t, const struct Kokkos_Tools_OptimzationGoal goal); + const size_t, const struct Kokkos_Tools_OptimizationGoal goal); struct Kokkos_Profiling_EventSet { Kokkos_Profiling_initFunction init; diff --git a/lib/kokkos/core/src/impl/Kokkos_Profiling_Interface.hpp b/lib/kokkos/core/src/impl/Kokkos_Profiling_Interface.hpp index af71932e47..b66886d9f7 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Profiling_Interface.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Profiling_Interface.hpp @@ -226,7 +226,7 @@ using ValueType = Kokkos_Tools_VariableInfo_ValueType; using CandidateValueType = Kokkos_Tools_VariableInfo_CandidateValueType; using SetOrRange = Kokkos_Tools_VariableInfo_SetOrRange; using VariableInfo = Kokkos_Tools_VariableInfo; -using OptimizationGoal = Kokkos_Tools_OptimzationGoal; +using OptimizationGoal = Kokkos_Tools_OptimizationGoal; using TuningString = Kokkos_Tools_Tuning_String; using VariableValue = Kokkos_Tools_VariableValue; diff --git a/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.cpp b/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.cpp index 255f5125f4..0bc3814b3a 100644 --- a/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.cpp +++ b/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.cpp @@ -20,6 +20,8 @@ #include #include +#include +#include namespace Kokkos { namespace Impl { @@ -321,5 +323,53 @@ void SharedAllocationRecord::print_host_accessible_records( } #endif +void safe_throw_allocation_with_header_failure( + std::string const& space_name, std::string const& label, + Kokkos::Experimental::RawMemoryAllocationFailure const& failure) { + auto generate_failure_message = [&](std::ostream& o) { + o << "Kokkos failed to allocate memory for label \"" << label + << "\". Allocation using MemorySpace named \"" << space_name + << "\" failed with the following error: "; + failure.print_error_message(o); + if (failure.failure_mode() == + Kokkos::Experimental::RawMemoryAllocationFailure::FailureMode:: + AllocationNotAligned) { + // TODO: delete the misaligned memory? + o << "Warning: Allocation failed due to misalignment; memory may " + "be leaked.\n"; + } + o.flush(); + }; + try { + std::ostringstream sstr; + generate_failure_message(sstr); + Kokkos::Impl::throw_runtime_exception(sstr.str()); + } catch (std::bad_alloc const&) { + // Probably failed to allocate the string because we're so close to out + // of memory. Try printing to std::cerr instead + try { + generate_failure_message(std::cerr); + } catch (std::bad_alloc const&) { + // oh well, we tried... + } + Kokkos::Impl::throw_runtime_exception( + "Kokkos encountered an allocation failure, then another allocation " + "failure while trying to create the error message."); + } +} + +void fill_host_accessible_header_info( + SharedAllocationRecord* arg_record, + SharedAllocationHeader& arg_header, std::string const& arg_label) { + // Fill in the Header information, directly accessible on the host + + arg_header.m_record = arg_record; + + strncpy(arg_header.m_label, arg_label.c_str(), + SharedAllocationHeader::maximum_label_length); + // Set last element zero, in case c_str is too long + arg_header.m_label[SharedAllocationHeader::maximum_label_length - 1] = '\0'; +} + } /* namespace Impl */ } /* namespace Kokkos */ diff --git a/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.hpp b/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.hpp index 043505a158..99ab660213 100644 --- a/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_SharedAlloc.hpp @@ -51,6 +51,9 @@ class SharedAllocationHeader { friend class SharedAllocationRecordCommon; template friend class HostInaccessibleSharedAllocationRecordCommon; + friend void fill_host_accessible_header_info( + SharedAllocationRecord*, SharedAllocationHeader&, + std::string const&); Record* m_record; char m_label[maximum_label_length]; @@ -145,25 +148,23 @@ class SharedAllocationRecord { SharedAllocationRecord() : m_alloc_ptr(nullptr), m_alloc_size(0), - m_dealloc(nullptr) + m_dealloc(nullptr), #ifdef KOKKOS_ENABLE_DEBUG - , m_root(this), m_prev(this), - m_next(this) + m_next(this), #endif - , m_count(0) { } static constexpr unsigned maximum_label_length = SharedAllocationHeader::maximum_label_length; - KOKKOS_INLINE_FUNCTION + KOKKOS_FUNCTION const SharedAllocationHeader* head() const { return m_alloc_ptr; } /* User's memory begins at the end of the header */ - KOKKOS_INLINE_FUNCTION + KOKKOS_FUNCTION void* data() const { return static_cast(m_alloc_ptr + 1); } /* User's memory begins at the end of the header */ @@ -195,23 +196,79 @@ class SharedAllocationRecord { const SharedAllocationRecord* const root, const bool detail); }; +void safe_throw_allocation_with_header_failure( + std::string const& space_name, std::string const& label, + Kokkos::Experimental::RawMemoryAllocationFailure const& failure); + +template +SharedAllocationHeader* checked_allocation_with_header(MemorySpace const& space, + std::string const& label, + size_t alloc_size) { + try { + return reinterpret_cast(space.allocate( + label.c_str(), alloc_size + sizeof(SharedAllocationHeader), + alloc_size)); + } catch (Kokkos::Experimental::RawMemoryAllocationFailure const& failure) { + safe_throw_allocation_with_header_failure(space.name(), label, failure); + } + return nullptr; // unreachable +} + +template +SharedAllocationHeader* checked_allocation_with_header( + ExecutionSpace const& exec_space, MemorySpace const& space, + std::string const& label, size_t alloc_size) { + try { + return reinterpret_cast(space.allocate( + exec_space, label.c_str(), alloc_size + sizeof(SharedAllocationHeader), + alloc_size)); + } catch (Kokkos::Experimental::RawMemoryAllocationFailure const& failure) { + safe_throw_allocation_with_header_failure(space.name(), label, failure); + } + return nullptr; // unreachable +} + +void fill_host_accessible_header_info(SharedAllocationHeader& arg_header, + std::string const& arg_label); + template class SharedAllocationRecordCommon : public SharedAllocationRecord { private: using derived_t = SharedAllocationRecord; using record_base_t = SharedAllocationRecord; - derived_t& self() { return *static_cast(this); } - derived_t const& self() const { return *static_cast(this); } protected: using record_base_t::record_base_t; - void _fill_host_accessible_header_info(SharedAllocationHeader& arg_header, - std::string const& arg_label); + MemorySpace m_space; + +#ifdef KOKKOS_ENABLE_DEBUG + static record_base_t s_root_record; +#endif static void deallocate(record_base_t* arg_rec); public: + ~SharedAllocationRecordCommon(); + template + SharedAllocationRecordCommon( + ExecutionSpace const& exec, MemorySpace const& space, + std::string const& label, std::size_t alloc_size, + record_base_t::function_type dealloc = &deallocate) + : SharedAllocationRecord( +#ifdef KOKKOS_ENABLE_DEBUG + &s_root_record, +#endif + checked_allocation_with_header(exec, space, label, alloc_size), + sizeof(SharedAllocationHeader) + alloc_size, dealloc, label), + m_space(space) { + auto& header = *SharedAllocationRecord::m_alloc_ptr; + fill_host_accessible_header_info(this, header, label); + } + SharedAllocationRecordCommon( + MemorySpace const& space, std::string const& label, std::size_t size, + record_base_t::function_type dealloc = &deallocate); + static auto allocate(MemorySpace const& arg_space, std::string const& arg_label, size_t arg_alloc_size) -> derived_t*; @@ -231,22 +288,103 @@ class SharedAllocationRecordCommon : public SharedAllocationRecord { template class HostInaccessibleSharedAllocationRecordCommon - : public SharedAllocationRecordCommon { + : public SharedAllocationRecord { private: - using base_t = SharedAllocationRecordCommon; using derived_t = SharedAllocationRecord; using record_base_t = SharedAllocationRecord; protected: - using base_t::base_t; + using record_base_t::record_base_t; + + MemorySpace m_space; + +#ifdef KOKKOS_ENABLE_DEBUG + static record_base_t s_root_record; +#endif + + static void deallocate(record_base_t* arg_rec); public: + ~HostInaccessibleSharedAllocationRecordCommon(); + template + HostInaccessibleSharedAllocationRecordCommon( + ExecutionSpace const& exec, MemorySpace const& space, + std::string const& label, std::size_t alloc_size, + record_base_t::function_type dealloc = &deallocate) + : SharedAllocationRecord( +#ifdef KOKKOS_ENABLE_DEBUG + &s_root_record, +#endif + checked_allocation_with_header(exec, space, label, alloc_size), + sizeof(SharedAllocationHeader) + alloc_size, dealloc, label), + m_space(space) { + SharedAllocationHeader header; + + fill_host_accessible_header_info(this, header, label); + + Kokkos::Impl::DeepCopy( + exec, SharedAllocationRecord::m_alloc_ptr, &header, + sizeof(SharedAllocationHeader)); + } + HostInaccessibleSharedAllocationRecordCommon( + MemorySpace const& space, std::string const& label, std::size_t size, + record_base_t::function_type dealloc = &deallocate); + + static auto allocate(MemorySpace const& arg_space, + std::string const& arg_label, size_t arg_alloc_size) + -> derived_t*; + /**\brief Allocate tracked memory in the space */ + static void* allocate_tracked(MemorySpace const& arg_space, + std::string const& arg_alloc_label, + size_t arg_alloc_size); + /**\brief Reallocate tracked memory in the space */ + static void deallocate_tracked(void* arg_alloc_ptr); + /**\brief Deallocate tracked memory in the space */ + static void* reallocate_tracked(void* arg_alloc_ptr, size_t arg_alloc_size); + static void print_records(std::ostream& s, MemorySpace const&, bool detail = false); static auto get_record(void* alloc_ptr) -> derived_t*; std::string get_label() const; }; +#ifdef KOKKOS_ENABLE_DEBUG +template +SharedAllocationRecord + SharedAllocationRecordCommon::s_root_record; + +template +SharedAllocationRecord + HostInaccessibleSharedAllocationRecordCommon::s_root_record; +#endif + +#define KOKKOS_IMPL_SHARED_ALLOCATION_SPECIALIZATION(MEMORY_SPACE) \ + template <> \ + class Kokkos::Impl::SharedAllocationRecord \ + : public Kokkos::Impl::SharedAllocationRecordCommon { \ + using SharedAllocationRecordCommon< \ + MEMORY_SPACE>::SharedAllocationRecordCommon; \ + } + +#define KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_SPECIALIZATION( \ + MEMORY_SPACE) \ + template <> \ + class Kokkos::Impl::SharedAllocationRecord \ + : public Kokkos::Impl::HostInaccessibleSharedAllocationRecordCommon< \ + MEMORY_SPACE> { \ + using HostInaccessibleSharedAllocationRecordCommon< \ + MEMORY_SPACE>::HostInaccessibleSharedAllocationRecordCommon; \ + } + +#define KOKKOS_IMPL_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( \ + MEMORY_SPACE) \ + template class Kokkos::Impl::SharedAllocationRecordCommon + +#define KOKKOS_IMPL_HOST_INACCESSIBLE_SHARED_ALLOCATION_RECORD_EXPLICIT_INSTANTIATION( \ + MEMORY_SPACE) \ + template class Kokkos::Impl::HostInaccessibleSharedAllocationRecordCommon< \ + MEMORY_SPACE> + namespace { /* Taking the address of this function so make sure it is unique */ diff --git a/lib/kokkos/core/src/impl/Kokkos_SharedAlloc_timpl.hpp b/lib/kokkos/core/src/impl/Kokkos_SharedAlloc_timpl.hpp index d403ef9db0..41036ab067 100644 --- a/lib/kokkos/core/src/impl/Kokkos_SharedAlloc_timpl.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_SharedAlloc_timpl.hpp @@ -31,6 +31,66 @@ namespace Kokkos { namespace Impl { +template +SharedAllocationRecordCommon::~SharedAllocationRecordCommon() { + auto alloc_ptr = SharedAllocationRecord::m_alloc_ptr; + auto alloc_size = SharedAllocationRecord::m_alloc_size; + auto label = SharedAllocationRecord::m_label; + m_space.deallocate(label.c_str(), alloc_ptr, alloc_size, + alloc_size - sizeof(SharedAllocationHeader)); +} +template +HostInaccessibleSharedAllocationRecordCommon< + MemorySpace>::~HostInaccessibleSharedAllocationRecordCommon() { + auto alloc_ptr = SharedAllocationRecord::m_alloc_ptr; + auto alloc_size = SharedAllocationRecord::m_alloc_size; + auto label = SharedAllocationRecord::m_label; + m_space.deallocate(label.c_str(), alloc_ptr, alloc_size, + alloc_size - sizeof(SharedAllocationHeader)); +} + +template +SharedAllocationRecordCommon::SharedAllocationRecordCommon( + MemorySpace const& space, std::string const& label, std::size_t alloc_size, + SharedAllocationRecord::function_type dealloc) + : SharedAllocationRecord( +#ifdef KOKKOS_ENABLE_DEBUG + &s_root_record, +#endif + checked_allocation_with_header(space, label, alloc_size), + sizeof(SharedAllocationHeader) + alloc_size, dealloc, label), + m_space(space) { + auto& header = *SharedAllocationRecord::m_alloc_ptr; + fill_host_accessible_header_info(this, header, label); +} + +template +HostInaccessibleSharedAllocationRecordCommon:: + HostInaccessibleSharedAllocationRecordCommon( + MemorySpace const& space, std::string const& label, + std::size_t alloc_size, + SharedAllocationRecord::function_type dealloc) + : SharedAllocationRecord( +#ifdef KOKKOS_ENABLE_DEBUG + &s_root_record, +#endif + checked_allocation_with_header(space, label, alloc_size), + sizeof(SharedAllocationHeader) + alloc_size, dealloc, label), + m_space(space) { + SharedAllocationHeader header; + + fill_host_accessible_header_info(this, header, label); + + typename MemorySpace::execution_space exec; + Kokkos::Impl::DeepCopy( + exec, SharedAllocationRecord::m_alloc_ptr, &header, + sizeof(SharedAllocationHeader)); + exec.fence(std::string("SharedAllocationRecord::SharedAllocationRecord(): " + "fence after copying header from HostSpace"); +} + template auto SharedAllocationRecordCommon::allocate( MemorySpace const& arg_space, std::string const& arg_label, @@ -76,9 +136,64 @@ void* SharedAllocationRecordCommon::reallocate_tracked( Kokkos::Impl::DeepCopy( r_new->data(), r_old->data(), std::min(r_old->size(), r_new->size())); - Kokkos::fence( - "SharedAllocationRecord::reallocate_tracked(): fence after copying data"); + Kokkos::fence(std::string("SharedAllocationRecord<") + MemorySpace::name() + + ", void>::reallocate_tracked(): fence after copying data"); + + record_base_t::increment(r_new); + record_base_t::decrement(r_old); + + return r_new->data(); +} + +template +auto HostInaccessibleSharedAllocationRecordCommon::allocate( + MemorySpace const& arg_space, std::string const& arg_label, + size_t arg_alloc_size) -> derived_t* { + return new derived_t(arg_space, arg_label, arg_alloc_size); +} + +template +void* HostInaccessibleSharedAllocationRecordCommon< + MemorySpace>::allocate_tracked(const MemorySpace& arg_space, + const std::string& arg_alloc_label, + size_t arg_alloc_size) { + if (!arg_alloc_size) return nullptr; + + SharedAllocationRecord* const r = + allocate(arg_space, arg_alloc_label, arg_alloc_size); + + record_base_t::increment(r); + + return r->data(); +} + +template +void HostInaccessibleSharedAllocationRecordCommon::deallocate( + HostInaccessibleSharedAllocationRecordCommon::record_base_t* arg_rec) { + delete static_cast(arg_rec); +} + +template +void HostInaccessibleSharedAllocationRecordCommon< + MemorySpace>::deallocate_tracked(void* arg_alloc_ptr) { + if (arg_alloc_ptr != nullptr) { + SharedAllocationRecord* const r = derived_t::get_record(arg_alloc_ptr); + record_base_t::decrement(r); + } +} + +template +void* HostInaccessibleSharedAllocationRecordCommon< + MemorySpace>::reallocate_tracked(void* arg_alloc_ptr, + size_t arg_alloc_size) { + derived_t* const r_old = derived_t::get_record(arg_alloc_ptr); + derived_t* const r_new = + allocate(r_old->m_space, r_old->get_label(), arg_alloc_size); + + Kokkos::Impl::DeepCopy( + r_new->data(), r_old->data(), std::min(r_old->size(), r_new->size())); + Kokkos::fence(std::string("SharedAllocationRecord<") + MemorySpace::name() + + ", void>::reallocate_tracked(): fence after copying data"); record_base_t::increment(r_new); record_base_t::decrement(r_old); @@ -108,20 +223,6 @@ std::string SharedAllocationRecordCommon::get_label() const { return record_base_t::m_label; } -template -void SharedAllocationRecordCommon:: - _fill_host_accessible_header_info(SharedAllocationHeader& arg_header, - std::string const& arg_label) { - // Fill in the Header information, directly accessible on the host - - arg_header.m_record = &self(); - - strncpy(arg_header.m_label, arg_label.c_str(), - SharedAllocationHeader::maximum_label_length); - // Set last element zero, in case c_str is too long - arg_header.m_label[SharedAllocationHeader::maximum_label_length - 1] = '\0'; -} - template void SharedAllocationRecordCommon::print_records( std::ostream& s, const MemorySpace&, bool detail) { diff --git a/lib/kokkos/core/src/impl/Kokkos_Spinwait.hpp b/lib/kokkos/core/src/impl/Kokkos_Spinwait.hpp deleted file mode 100644 index c57b17d646..0000000000 --- a/lib/kokkos/core/src/impl/Kokkos_Spinwait.hpp +++ /dev/null @@ -1,109 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#ifndef KOKKOS_SPINWAIT_HPP -#define KOKKOS_SPINWAIT_HPP - -#include -#include - -#include - -#include - -namespace Kokkos { -namespace Impl { - -enum class WaitMode : int { - ACTIVE // Used for tight loops to keep threads active longest - , - PASSIVE // Used to quickly yield the thread to quite down the system - , - ROOT // Never sleep or yield the root thread -}; - -void host_thread_yield(const uint32_t i, const WaitMode mode); - -template -std::enable_if_t::value, void> root_spinwait_while_equal( - T const volatile& flag, const T value) { - Kokkos::store_fence(); - uint32_t i = 0; - while (value == flag) { - host_thread_yield(++i, WaitMode::ROOT); - } - Kokkos::load_fence(); -} - -template -std::enable_if_t::value, void> root_spinwait_until_equal( - T const volatile& flag, const T value) { - Kokkos::store_fence(); - uint32_t i = 0; - while (value != flag) { - host_thread_yield(++i, WaitMode::ROOT); - } - Kokkos::load_fence(); -} - -template -std::enable_if_t::value, void> spinwait_while_equal( - T const volatile& flag, const T value) { - Kokkos::store_fence(); - uint32_t i = 0; - while (value == flag) { - host_thread_yield(++i, WaitMode::ACTIVE); - } - Kokkos::load_fence(); -} - -template -std::enable_if_t::value, void> yield_while_equal( - T const volatile& flag, const T value) { - Kokkos::store_fence(); - uint32_t i = 0; - while (value == flag) { - host_thread_yield(++i, WaitMode::PASSIVE); - } - Kokkos::load_fence(); -} - -template -std::enable_if_t::value, void> spinwait_until_equal( - T const volatile& flag, const T value) { - Kokkos::store_fence(); - uint32_t i = 0; - while (value != flag) { - host_thread_yield(++i, WaitMode::ACTIVE); - } - Kokkos::load_fence(); -} - -template -std::enable_if_t::value, void> yield_until_equal( - T const volatile& flag, const T value) { - Kokkos::store_fence(); - uint32_t i = 0; - while (value != flag) { - host_thread_yield(++i, WaitMode::PASSIVE); - } - Kokkos::load_fence(); -} - -} /* namespace Impl */ -} /* namespace Kokkos */ - -#endif /* #ifndef KOKKOS_SPINWAIT_HPP */ diff --git a/lib/kokkos/core/src/impl/Kokkos_Utilities.hpp b/lib/kokkos/core/src/impl/Kokkos_Utilities.hpp index 7e2f130564..cadeed1a6d 100644 --- a/lib/kokkos/core/src/impl/Kokkos_Utilities.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_Utilities.hpp @@ -49,6 +49,11 @@ struct integral_constant { template struct always_true : std::true_type {}; +// type-dependent expression that is always false intended for use in +// static_assert to check "we should never get there" +template +struct always_false : std::false_type {}; + //============================================================================== #if defined(__cpp_lib_type_identity) diff --git a/lib/kokkos/core/src/impl/Kokkos_ViewArray.hpp b/lib/kokkos/core/src/impl/Kokkos_ViewArray.hpp index 725ba5de09..fe43b63018 100644 --- a/lib/kokkos/core/src/impl/Kokkos_ViewArray.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_ViewArray.hpp @@ -27,10 +27,9 @@ struct ViewDataAnalysis> { private: using array_analysis = ViewArrayAnalysis; - static_assert(std::is_void

::value, ""); + static_assert(std::is_void

::value); static_assert(std::is_same>::value, - ""); + Kokkos::Array>::value); static_assert(std::is_scalar::value, "View of Array type must be of a scalar type"); @@ -130,6 +129,12 @@ class ViewMapping> { return m_impl_offset.m_dim.extent(r); } + static KOKKOS_INLINE_FUNCTION constexpr size_t static_extent( + const unsigned r) noexcept { + using dim_type = typename offset_type::dimension_type; + return dim_type::static_extent(r); + } + KOKKOS_INLINE_FUNCTION constexpr typename Traits::array_layout layout() const { return m_impl_offset.layout(); @@ -507,7 +512,7 @@ class ViewMapping< Kokkos::LayoutStride>::value))>, SrcTraits, Args...> { private: - static_assert(SrcTraits::rank == sizeof...(Args), ""); + static_assert(SrcTraits::rank == sizeof...(Args)); enum : bool { R0 = is_integral_extent<0, Args...>::value, diff --git a/lib/kokkos/core/src/impl/Kokkos_ViewDataAnalysis.hpp b/lib/kokkos/core/src/impl/Kokkos_ViewDataAnalysis.hpp new file mode 100644 index 0000000000..04c0c9aeed --- /dev/null +++ b/lib/kokkos/core/src/impl/Kokkos_ViewDataAnalysis.hpp @@ -0,0 +1,402 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_IMPL_PUBLIC_INCLUDE +static_assert(false, + "Including non-public Kokkos header files is not allowed."); +#endif + +#ifndef KOKKOS_VIEW_DATA_ANALYSIS_HPP +#define KOKKOS_VIEW_DATA_ANALYSIS_HPP + +#include + +namespace Kokkos::Impl { + +template +struct variadic_size_t { + enum : size_t { value = KOKKOS_INVALID_INDEX }; +}; + +template +struct variadic_size_t<0, Val, Args...> { + enum : size_t { value = Val }; +}; + +template +struct variadic_size_t { + enum : size_t { value = variadic_size_t::value }; +}; + +template +struct rank_dynamic; + +template <> +struct rank_dynamic<> { + enum : unsigned { value = 0 }; +}; + +template +struct rank_dynamic { + enum : unsigned { value = (Val == 0 ? 1 : 0) + rank_dynamic::value }; +}; + +#define KOKKOS_IMPL_VIEW_DIMENSION(R) \ + template \ + struct ViewDimension##R { \ + static constexpr size_t ArgN##R = (V != KOKKOS_INVALID_INDEX ? V : 1); \ + static constexpr size_t N##R = (V != KOKKOS_INVALID_INDEX ? V : 1); \ + KOKKOS_INLINE_FUNCTION explicit ViewDimension##R(size_t) {} \ + ViewDimension##R() = default; \ + ViewDimension##R(const ViewDimension##R&) = default; \ + ViewDimension##R& operator=(const ViewDimension##R&) = default; \ + }; \ + template \ + constexpr size_t ViewDimension##R::ArgN##R; \ + template \ + constexpr size_t ViewDimension##R::N##R; \ + template \ + struct ViewDimension##R<0u, RD> { \ + static constexpr size_t ArgN##R = 0; \ + std::conditional_t<(RD < 3), size_t, unsigned> N##R; \ + ViewDimension##R() = default; \ + ViewDimension##R(const ViewDimension##R&) = default; \ + ViewDimension##R& operator=(const ViewDimension##R&) = default; \ + KOKKOS_INLINE_FUNCTION explicit ViewDimension##R(size_t V) : N##R(V) {} \ + }; \ + template \ + constexpr size_t ViewDimension##R<0u, RD>::ArgN##R; + +KOKKOS_IMPL_VIEW_DIMENSION(0) +KOKKOS_IMPL_VIEW_DIMENSION(1) +KOKKOS_IMPL_VIEW_DIMENSION(2) +KOKKOS_IMPL_VIEW_DIMENSION(3) +KOKKOS_IMPL_VIEW_DIMENSION(4) +KOKKOS_IMPL_VIEW_DIMENSION(5) +KOKKOS_IMPL_VIEW_DIMENSION(6) +KOKKOS_IMPL_VIEW_DIMENSION(7) + +#undef KOKKOS_IMPL_VIEW_DIMENSION + +// MSVC does not do empty base class optimization by default. +// Per standard it is required for standard layout types +template +struct KOKKOS_IMPL_ENFORCE_EMPTY_BASE_OPTIMIZATION ViewDimension + : public ViewDimension0::value, + rank_dynamic::value>, + public ViewDimension1::value, + rank_dynamic::value>, + public ViewDimension2::value, + rank_dynamic::value>, + public ViewDimension3::value, + rank_dynamic::value>, + public ViewDimension4::value, + rank_dynamic::value>, + public ViewDimension5::value, + rank_dynamic::value>, + public ViewDimension6::value, + rank_dynamic::value>, + public ViewDimension7::value, + rank_dynamic::value> { + using D0 = ViewDimension0::value, + rank_dynamic::value>; + using D1 = ViewDimension1::value, + rank_dynamic::value>; + using D2 = ViewDimension2::value, + rank_dynamic::value>; + using D3 = ViewDimension3::value, + rank_dynamic::value>; + using D4 = ViewDimension4::value, + rank_dynamic::value>; + using D5 = ViewDimension5::value, + rank_dynamic::value>; + using D6 = ViewDimension6::value, + rank_dynamic::value>; + using D7 = ViewDimension7::value, + rank_dynamic::value>; + + using D0::ArgN0; + using D1::ArgN1; + using D2::ArgN2; + using D3::ArgN3; + using D4::ArgN4; + using D5::ArgN5; + using D6::ArgN6; + using D7::ArgN7; + + using D0::N0; + using D1::N1; + using D2::N2; + using D3::N3; + using D4::N4; + using D5::N5; + using D6::N6; + using D7::N7; + + static constexpr unsigned rank = sizeof...(Vals); + static constexpr unsigned rank_dynamic = Impl::rank_dynamic::value; + + ViewDimension() = default; + ViewDimension(const ViewDimension&) = default; + ViewDimension& operator=(const ViewDimension&) = default; + + KOKKOS_INLINE_FUNCTION + constexpr ViewDimension(size_t n0, size_t n1, size_t n2, size_t n3, size_t n4, + size_t n5, size_t n6, size_t n7) + : D0(n0 == KOKKOS_INVALID_INDEX ? 1 : n0), + D1(n1 == KOKKOS_INVALID_INDEX ? 1 : n1), + D2(n2 == KOKKOS_INVALID_INDEX ? 1 : n2), + D3(n3 == KOKKOS_INVALID_INDEX ? 1 : n3), + D4(n4 == KOKKOS_INVALID_INDEX ? 1 : n4), + D5(n5 == KOKKOS_INVALID_INDEX ? 1 : n5), + D6(n6 == KOKKOS_INVALID_INDEX ? 1 : n6), + D7(n7 == KOKKOS_INVALID_INDEX ? 1 : n7) {} + + KOKKOS_INLINE_FUNCTION + constexpr size_t extent(const unsigned r) const noexcept { + return r == 0 + ? N0 + : (r == 1 + ? N1 + : (r == 2 + ? N2 + : (r == 3 + ? N3 + : (r == 4 + ? N4 + : (r == 5 + ? N5 + : (r == 6 + ? N6 + : (r == 7 ? N7 + : 0))))))); + } + + static KOKKOS_INLINE_FUNCTION constexpr size_t static_extent( + const unsigned r) noexcept { + return r == 0 + ? ArgN0 + : (r == 1 + ? ArgN1 + : (r == 2 + ? ArgN2 + : (r == 3 + ? ArgN3 + : (r == 4 + ? ArgN4 + : (r == 5 + ? ArgN5 + : (r == 6 + ? ArgN6 + : (r == 7 ? ArgN7 + : 0))))))); + } + + template + struct prepend { + using type = ViewDimension; + }; + + template + struct append { + using type = ViewDimension; + }; +}; + +template +struct ViewDimensionJoin; + +template +struct ViewDimensionJoin, ViewDimension> { + using type = ViewDimension; +}; + +//---------------------------------------------------------------------------- + +template +struct ViewDimensionAssignable; + +template +struct ViewDimensionAssignable, + ViewDimension> { + using dst = ViewDimension; + using src = ViewDimension; + + enum { + value = unsigned(dst::rank) == unsigned(src::rank) && + ( + // Compile time check that potential static dimensions match + ((1 > dst::rank_dynamic && 1 > src::rank_dynamic) + ? (size_t(dst::ArgN0) == size_t(src::ArgN0)) + : true) && + ((2 > dst::rank_dynamic && 2 > src::rank_dynamic) + ? (size_t(dst::ArgN1) == size_t(src::ArgN1)) + : true) && + ((3 > dst::rank_dynamic && 3 > src::rank_dynamic) + ? (size_t(dst::ArgN2) == size_t(src::ArgN2)) + : true) && + ((4 > dst::rank_dynamic && 4 > src::rank_dynamic) + ? (size_t(dst::ArgN3) == size_t(src::ArgN3)) + : true) && + ((5 > dst::rank_dynamic && 5 > src::rank_dynamic) + ? (size_t(dst::ArgN4) == size_t(src::ArgN4)) + : true) && + ((6 > dst::rank_dynamic && 6 > src::rank_dynamic) + ? (size_t(dst::ArgN5) == size_t(src::ArgN5)) + : true) && + ((7 > dst::rank_dynamic && 7 > src::rank_dynamic) + ? (size_t(dst::ArgN6) == size_t(src::ArgN6)) + : true) && + ((8 > dst::rank_dynamic && 8 > src::rank_dynamic) + ? (size_t(dst::ArgN7) == size_t(src::ArgN7)) + : true)) + }; +}; + +/** \brief Given a value type and dimension generate the View data type */ +template +struct ViewDataType; + +template +struct ViewDataType> { + using type = T; +}; + +template +struct ViewDataType> { + using type = typename ViewDataType>::type; +}; + +template +struct ViewDataType> { + using type = typename ViewDataType>::type[N]; +}; + +/**\brief Analysis of View data type. + * + * Data type conforms to one of the following patterns : + * {const} value_type [][#][#][#] + * {const} value_type ***[#][#][#] + * Where the sum of counts of '*' and '[#]' is at most ten. + * + * Provide alias for ViewDimension<...> and value_type. + */ +template +struct ViewArrayAnalysis { + using value_type = T; + using const_value_type = std::add_const_t; + using non_const_value_type = std::remove_const_t; + using static_dimension = ViewDimension<>; + using dynamic_dimension = ViewDimension<>; + using dimension = ViewDimension<>; +}; + +template +struct ViewArrayAnalysis { + private: + using nested = ViewArrayAnalysis; + + public: + using value_type = typename nested::value_type; + using const_value_type = typename nested::const_value_type; + using non_const_value_type = typename nested::non_const_value_type; + + using static_dimension = + typename nested::static_dimension::template prepend::type; + + using dynamic_dimension = typename nested::dynamic_dimension; + + using dimension = + typename ViewDimensionJoin::type; +}; + +template +struct ViewArrayAnalysis { + private: + using nested = ViewArrayAnalysis; + using nested_dimension = typename nested::dimension; + + public: + using value_type = typename nested::value_type; + using const_value_type = typename nested::const_value_type; + using non_const_value_type = typename nested::non_const_value_type; + + using dynamic_dimension = + typename nested::dynamic_dimension::template prepend<0>::type; + + using static_dimension = typename nested::static_dimension; + + using dimension = + typename ViewDimensionJoin::type; +}; + +template +struct ViewArrayAnalysis { + private: + using nested = ViewArrayAnalysis; + + public: + using value_type = typename nested::value_type; + using const_value_type = typename nested::const_value_type; + using non_const_value_type = typename nested::non_const_value_type; + + using dynamic_dimension = + typename nested::dynamic_dimension::template prepend<0>::type; + + using static_dimension = typename nested::static_dimension; + + using dimension = + typename ViewDimensionJoin::type; +}; + +template +struct ViewDataAnalysis { + private: + using array_analysis = ViewArrayAnalysis; + + // ValueType is opportunity for partial specialization. + // Must match array analysis when this default template is used. + static_assert( + std::is_same::value); + + public: + using specialize = void; // No specialization + + using dimension = typename array_analysis::dimension; + using value_type = typename array_analysis::value_type; + using const_value_type = typename array_analysis::const_value_type; + using non_const_value_type = typename array_analysis::non_const_value_type; + + // Generate analogous multidimensional array specification type. + using type = typename ViewDataType::type; + using const_type = typename ViewDataType::type; + using non_const_type = + typename ViewDataType::type; + + // Generate "flattened" multidimensional array specification type. + using scalar_array_type = type; + using const_scalar_array_type = const_type; + using non_const_scalar_array_type = non_const_type; +}; + +template +struct ViewOffset { + using is_mapping_plugin = std::false_type; +}; +} // namespace Kokkos::Impl + +#endif // KOKKOS_VIEW_DATA_ANALYSIS_HPP diff --git a/lib/kokkos/core/src/impl/Kokkos_ViewMapping.hpp b/lib/kokkos/core/src/impl/Kokkos_ViewMapping.hpp index 01d0dc4f68..3217c76e38 100644 --- a/lib/kokkos/core/src/impl/Kokkos_ViewMapping.hpp +++ b/lib/kokkos/core/src/impl/Kokkos_ViewMapping.hpp @@ -33,255 +33,7 @@ #include #include #include - -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- - -namespace Kokkos { -namespace Impl { - -template -struct variadic_size_t { - enum : size_t { value = KOKKOS_INVALID_INDEX }; -}; - -template -struct variadic_size_t<0, Val, Args...> { - enum : size_t { value = Val }; -}; - -template -struct variadic_size_t { - enum : size_t { value = variadic_size_t::value }; -}; - -template -struct rank_dynamic; - -template <> -struct rank_dynamic<> { - enum : unsigned { value = 0 }; -}; - -template -struct rank_dynamic { - enum : unsigned { value = (Val == 0 ? 1 : 0) + rank_dynamic::value }; -}; - -#define KOKKOS_IMPL_VIEW_DIMENSION(R) \ - template \ - struct ViewDimension##R { \ - static constexpr size_t ArgN##R = (V != KOKKOS_INVALID_INDEX ? V : 1); \ - static constexpr size_t N##R = (V != KOKKOS_INVALID_INDEX ? V : 1); \ - KOKKOS_INLINE_FUNCTION explicit ViewDimension##R(size_t) {} \ - ViewDimension##R() = default; \ - ViewDimension##R(const ViewDimension##R&) = default; \ - ViewDimension##R& operator=(const ViewDimension##R&) = default; \ - }; \ - template \ - constexpr size_t ViewDimension##R::ArgN##R; \ - template \ - constexpr size_t ViewDimension##R::N##R; \ - template \ - struct ViewDimension##R<0u, RD> { \ - static constexpr size_t ArgN##R = 0; \ - std::conditional_t<(RD < 3), size_t, unsigned> N##R; \ - ViewDimension##R() = default; \ - ViewDimension##R(const ViewDimension##R&) = default; \ - ViewDimension##R& operator=(const ViewDimension##R&) = default; \ - KOKKOS_INLINE_FUNCTION explicit ViewDimension##R(size_t V) : N##R(V) {} \ - }; \ - template \ - constexpr size_t ViewDimension##R<0u, RD>::ArgN##R; - -KOKKOS_IMPL_VIEW_DIMENSION(0) -KOKKOS_IMPL_VIEW_DIMENSION(1) -KOKKOS_IMPL_VIEW_DIMENSION(2) -KOKKOS_IMPL_VIEW_DIMENSION(3) -KOKKOS_IMPL_VIEW_DIMENSION(4) -KOKKOS_IMPL_VIEW_DIMENSION(5) -KOKKOS_IMPL_VIEW_DIMENSION(6) -KOKKOS_IMPL_VIEW_DIMENSION(7) - -#undef KOKKOS_IMPL_VIEW_DIMENSION - -// MSVC does not do empty base class optimization by default. -// Per standard it is required for standard layout types -template -struct KOKKOS_IMPL_ENFORCE_EMPTY_BASE_OPTIMIZATION ViewDimension - : public ViewDimension0::value, - rank_dynamic::value>, - public ViewDimension1::value, - rank_dynamic::value>, - public ViewDimension2::value, - rank_dynamic::value>, - public ViewDimension3::value, - rank_dynamic::value>, - public ViewDimension4::value, - rank_dynamic::value>, - public ViewDimension5::value, - rank_dynamic::value>, - public ViewDimension6::value, - rank_dynamic::value>, - public ViewDimension7::value, - rank_dynamic::value> { - using D0 = ViewDimension0::value, - rank_dynamic::value>; - using D1 = ViewDimension1::value, - rank_dynamic::value>; - using D2 = ViewDimension2::value, - rank_dynamic::value>; - using D3 = ViewDimension3::value, - rank_dynamic::value>; - using D4 = ViewDimension4::value, - rank_dynamic::value>; - using D5 = ViewDimension5::value, - rank_dynamic::value>; - using D6 = ViewDimension6::value, - rank_dynamic::value>; - using D7 = ViewDimension7::value, - rank_dynamic::value>; - - using D0::ArgN0; - using D1::ArgN1; - using D2::ArgN2; - using D3::ArgN3; - using D4::ArgN4; - using D5::ArgN5; - using D6::ArgN6; - using D7::ArgN7; - - using D0::N0; - using D1::N1; - using D2::N2; - using D3::N3; - using D4::N4; - using D5::N5; - using D6::N6; - using D7::N7; - - static constexpr unsigned rank = sizeof...(Vals); - static constexpr unsigned rank_dynamic = Impl::rank_dynamic::value; - - ViewDimension() = default; - ViewDimension(const ViewDimension&) = default; - ViewDimension& operator=(const ViewDimension&) = default; - - KOKKOS_INLINE_FUNCTION - constexpr ViewDimension(size_t n0, size_t n1, size_t n2, size_t n3, size_t n4, - size_t n5, size_t n6, size_t n7) - : D0(n0 == KOKKOS_INVALID_INDEX ? 1 : n0), - D1(n1 == KOKKOS_INVALID_INDEX ? 1 : n1), - D2(n2 == KOKKOS_INVALID_INDEX ? 1 : n2), - D3(n3 == KOKKOS_INVALID_INDEX ? 1 : n3), - D4(n4 == KOKKOS_INVALID_INDEX ? 1 : n4), - D5(n5 == KOKKOS_INVALID_INDEX ? 1 : n5), - D6(n6 == KOKKOS_INVALID_INDEX ? 1 : n6), - D7(n7 == KOKKOS_INVALID_INDEX ? 1 : n7) {} - - KOKKOS_INLINE_FUNCTION - constexpr size_t extent(const unsigned r) const noexcept { - return r == 0 - ? N0 - : (r == 1 - ? N1 - : (r == 2 - ? N2 - : (r == 3 - ? N3 - : (r == 4 - ? N4 - : (r == 5 - ? N5 - : (r == 6 - ? N6 - : (r == 7 ? N7 - : 0))))))); - } - - static KOKKOS_INLINE_FUNCTION constexpr size_t static_extent( - const unsigned r) noexcept { - return r == 0 - ? ArgN0 - : (r == 1 - ? ArgN1 - : (r == 2 - ? ArgN2 - : (r == 3 - ? ArgN3 - : (r == 4 - ? ArgN4 - : (r == 5 - ? ArgN5 - : (r == 6 - ? ArgN6 - : (r == 7 ? ArgN7 - : 0))))))); - } - - template - struct prepend { - using type = ViewDimension; - }; - - template - struct append { - using type = ViewDimension; - }; -}; - -template -struct ViewDimensionJoin; - -template -struct ViewDimensionJoin, ViewDimension> { - using type = ViewDimension; -}; - -//---------------------------------------------------------------------------- - -template -struct ViewDimensionAssignable; - -template -struct ViewDimensionAssignable, - ViewDimension> { - using dst = ViewDimension; - using src = ViewDimension; - - enum { - value = unsigned(dst::rank) == unsigned(src::rank) && - ( - // Compile time check that potential static dimensions match - ((1 > dst::rank_dynamic && 1 > src::rank_dynamic) - ? (size_t(dst::ArgN0) == size_t(src::ArgN0)) - : true) && - ((2 > dst::rank_dynamic && 2 > src::rank_dynamic) - ? (size_t(dst::ArgN1) == size_t(src::ArgN1)) - : true) && - ((3 > dst::rank_dynamic && 3 > src::rank_dynamic) - ? (size_t(dst::ArgN2) == size_t(src::ArgN2)) - : true) && - ((4 > dst::rank_dynamic && 4 > src::rank_dynamic) - ? (size_t(dst::ArgN3) == size_t(src::ArgN3)) - : true) && - ((5 > dst::rank_dynamic && 5 > src::rank_dynamic) - ? (size_t(dst::ArgN4) == size_t(src::ArgN4)) - : true) && - ((6 > dst::rank_dynamic && 6 > src::rank_dynamic) - ? (size_t(dst::ArgN5) == size_t(src::ArgN5)) - : true) && - ((7 > dst::rank_dynamic && 7 > src::rank_dynamic) - ? (size_t(dst::ArgN6) == size_t(src::ArgN6)) - : true) && - ((8 > dst::rank_dynamic && 8 > src::rank_dynamic) - ? (size_t(dst::ArgN7) == size_t(src::ArgN7)) - : true)) - }; -}; - -} // namespace Impl -} // namespace Kokkos +#include //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- @@ -657,21 +409,20 @@ struct SubviewExtents { template KOKKOS_INLINE_FUNCTION SubviewExtents(const ViewDimension& dim, Args... args) { - static_assert(DomainRank == sizeof...(DimArgs), ""); - static_assert(DomainRank == sizeof...(Args), ""); + static_assert(DomainRank == sizeof...(DimArgs)); + static_assert(DomainRank == sizeof...(Args)); // Verifies that all arguments, up to 8, are integral types, // integral extents, or don't exist. - static_assert( - RangeRank == unsigned(is_integral_extent<0, Args...>::value) + - unsigned(is_integral_extent<1, Args...>::value) + - unsigned(is_integral_extent<2, Args...>::value) + - unsigned(is_integral_extent<3, Args...>::value) + - unsigned(is_integral_extent<4, Args...>::value) + - unsigned(is_integral_extent<5, Args...>::value) + - unsigned(is_integral_extent<6, Args...>::value) + - unsigned(is_integral_extent<7, Args...>::value), - ""); + static_assert(RangeRank == + unsigned(is_integral_extent<0, Args...>::value) + + unsigned(is_integral_extent<1, Args...>::value) + + unsigned(is_integral_extent<2, Args...>::value) + + unsigned(is_integral_extent<3, Args...>::value) + + unsigned(is_integral_extent<4, Args...>::value) + + unsigned(is_integral_extent<5, Args...>::value) + + unsigned(is_integral_extent<6, Args...>::value) + + unsigned(is_integral_extent<7, Args...>::value)); if (RangeRank == 0) { m_length[0] = 0; @@ -708,149 +459,6 @@ struct SubviewExtents { namespace Kokkos { namespace Impl { - -/** \brief Given a value type and dimension generate the View data type */ -template -struct ViewDataType; - -template -struct ViewDataType> { - using type = T; -}; - -template -struct ViewDataType> { - using type = typename ViewDataType>::type; -}; - -template -struct ViewDataType> { - using type = typename ViewDataType>::type[N]; -}; - -/**\brief Analysis of View data type. - * - * Data type conforms to one of the following patterns : - * {const} value_type [][#][#][#] - * {const} value_type ***[#][#][#] - * Where the sum of counts of '*' and '[#]' is at most ten. - * - * Provide alias for ViewDimension<...> and value_type. - */ -template -struct ViewArrayAnalysis { - using value_type = T; - using const_value_type = std::add_const_t; - using non_const_value_type = std::remove_const_t; - using static_dimension = ViewDimension<>; - using dynamic_dimension = ViewDimension<>; - using dimension = ViewDimension<>; -}; - -template -struct ViewArrayAnalysis { - private: - using nested = ViewArrayAnalysis; - - public: - using value_type = typename nested::value_type; - using const_value_type = typename nested::const_value_type; - using non_const_value_type = typename nested::non_const_value_type; - - using static_dimension = - typename nested::static_dimension::template prepend::type; - - using dynamic_dimension = typename nested::dynamic_dimension; - - using dimension = - typename ViewDimensionJoin::type; -}; - -template -struct ViewArrayAnalysis { - private: - using nested = ViewArrayAnalysis; - using nested_dimension = typename nested::dimension; - - public: - using value_type = typename nested::value_type; - using const_value_type = typename nested::const_value_type; - using non_const_value_type = typename nested::non_const_value_type; - - using dynamic_dimension = - typename nested::dynamic_dimension::template prepend<0>::type; - - using static_dimension = typename nested::static_dimension; - - using dimension = - typename ViewDimensionJoin::type; -}; - -template -struct ViewArrayAnalysis { - private: - using nested = ViewArrayAnalysis; - - public: - using value_type = typename nested::value_type; - using const_value_type = typename nested::const_value_type; - using non_const_value_type = typename nested::non_const_value_type; - - using dynamic_dimension = - typename nested::dynamic_dimension::template prepend<0>::type; - - using static_dimension = typename nested::static_dimension; - - using dimension = - typename ViewDimensionJoin::type; -}; - -template -struct ViewDataAnalysis { - private: - using array_analysis = ViewArrayAnalysis; - - // ValueType is opportunity for partial specialization. - // Must match array analysis when this default template is used. - static_assert( - std::is_same::value, - ""); - - public: - using specialize = void; // No specialization - - using dimension = typename array_analysis::dimension; - using value_type = typename array_analysis::value_type; - using const_value_type = typename array_analysis::const_value_type; - using non_const_value_type = typename array_analysis::non_const_value_type; - - // Generate analogous multidimensional array specification type. - using type = typename ViewDataType::type; - using const_type = typename ViewDataType::type; - using non_const_type = - typename ViewDataType::type; - - // Generate "flattened" multidimensional array specification type. - using scalar_array_type = type; - using const_scalar_array_type = const_type; - using non_const_scalar_array_type = non_const_type; -}; - -} // namespace Impl -} // namespace Kokkos - -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- - -namespace Kokkos { -namespace Impl { - -template -struct ViewOffset { - using is_mapping_plugin = std::false_type; -}; - //---------------------------------------------------------------------------- // LayoutLeft AND ( 1 >= rank OR 0 == rank_dynamic ) : no padding / striding template @@ -2919,13 +2527,9 @@ struct ViewValueFunctor { "Kokkos::View::initialization [" + name + "] via memset", Kokkos::Profiling::Experimental::device_id(space), &kpID); } - (void)ZeroMemset< - ExecSpace, Kokkos::View>>( - space, - Kokkos::View>(ptr, n), - value); + (void)ZeroMemset( + space, Kokkos::View>(ptr, n)); if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endParallelFor(kpID); @@ -2949,37 +2553,33 @@ struct ViewValueFunctor { template void parallel_for_implementation() { - if (!space.in_parallel()) { - using PolicyType = - Kokkos::RangePolicy, Tag>; - PolicyType policy(space, 0, n); - uint64_t kpID = 0; - if (Kokkos::Profiling::profileLibraryLoaded()) { - const std::string functor_name = - (std::is_same_v - ? "Kokkos::View::destruction [" + name + "]" - : "Kokkos::View::initialization [" + name + "]"); - Kokkos::Profiling::beginParallelFor( - functor_name, Kokkos::Profiling::Experimental::device_id(space), - &kpID); - } + using PolicyType = + Kokkos::RangePolicy, Tag>; + PolicyType policy(space, 0, n); + uint64_t kpID = 0; + if (Kokkos::Profiling::profileLibraryLoaded()) { + const std::string functor_name = + (std::is_same_v + ? "Kokkos::View::destruction [" + name + "]" + : "Kokkos::View::initialization [" + name + "]"); + Kokkos::Profiling::beginParallelFor( + functor_name, Kokkos::Profiling::Experimental::device_id(space), + &kpID); + } #ifdef KOKKOS_ENABLE_CUDA - if (std::is_same::value) { - Kokkos::Impl::cuda_prefetch_pointer(space, ptr, sizeof(ValueType) * n, - true); - } + if (std::is_same::value) { + Kokkos::Impl::cuda_prefetch_pointer(space, ptr, sizeof(ValueType) * n, + true); + } #endif - const Kokkos::Impl::ParallelFor closure( - *this, policy); - closure.execute(); - if (default_exec_space || std::is_same_v) - space.fence("Kokkos::Impl::ViewValueFunctor: View init/destroy fence"); - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::endParallelFor(kpID); - } - } else { - for (size_t i = 0; i < n; ++i) operator()(Tag{}, i); + const Kokkos::Impl::ParallelFor closure( + *this, policy); + closure.execute(); + if (default_exec_space || std::is_same_v) + space.fence("Kokkos::Impl::ViewValueFunctor: View init/destroy fence"); + if (Kokkos::Profiling::profileLibraryLoaded()) { + Kokkos::Profiling::endParallelFor(kpID); } } @@ -3057,13 +2657,9 @@ struct ViewValueFunctor { Kokkos::Profiling::Experimental::device_id(space), &kpID); } - (void)ZeroMemset< - ExecSpace, Kokkos::View>>( - space, - Kokkos::View>(ptr, n), - value); + (void)ZeroMemset( + space, Kokkos::View>(ptr, n)); if (Kokkos::Profiling::profileLibraryLoaded()) { Kokkos::Profiling::endParallelFor(kpID); @@ -3086,32 +2682,28 @@ struct ViewValueFunctor { } void parallel_for_implementation() { - if (!space.in_parallel()) { - PolicyType policy(0, n); - uint64_t kpID = 0; - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::beginParallelFor( - "Kokkos::View::initialization [" + name + "]", - Kokkos::Profiling::Experimental::device_id(space), &kpID); - } + PolicyType policy(0, n); + uint64_t kpID = 0; + if (Kokkos::Profiling::profileLibraryLoaded()) { + Kokkos::Profiling::beginParallelFor( + "Kokkos::View::initialization [" + name + "]", + Kokkos::Profiling::Experimental::device_id(space), &kpID); + } #ifdef KOKKOS_ENABLE_CUDA - if (std::is_same::value) { - Kokkos::Impl::cuda_prefetch_pointer(space, ptr, sizeof(ValueType) * n, - true); - } + if (std::is_same::value) { + Kokkos::Impl::cuda_prefetch_pointer(space, ptr, sizeof(ValueType) * n, + true); + } #endif - const Kokkos::Impl::ParallelFor closure( - *this, PolicyType(0, n)); - closure.execute(); - if (default_exec_space) - space.fence( - "Kokkos::Impl::ViewValueFunctor: Fence after setting values in " - "view"); - if (Kokkos::Profiling::profileLibraryLoaded()) { - Kokkos::Profiling::endParallelFor(kpID); - } - } else { - for (size_t i = 0; i < n; ++i) operator()(i); + const Kokkos::Impl::ParallelFor closure( + *this, PolicyType(0, n)); + closure.execute(); + if (default_exec_space) + space.fence( + "Kokkos::Impl::ViewValueFunctor: Fence after setting values in " + "view"); + if (Kokkos::Profiling::profileLibraryLoaded()) { + Kokkos::Profiling::endParallelFor(kpID); } } @@ -3896,7 +3488,7 @@ class ViewMapping< template struct apply { - static_assert(Kokkos::is_memory_traits::value, ""); + static_assert(Kokkos::is_memory_traits::value); using traits_type = Kokkos::ViewTraits -KOKKOS_INLINE_FUNCTION bool view_verify_operator_bounds(const MapType&) { - return true; +template +KOKKOS_FUNCTION bool within_range(Map const& map, + std::index_sequence, + Indices... indices) { + return (((std::size_t)indices < map.extent(Enumerate)) && ...); } -template -KOKKOS_INLINE_FUNCTION bool view_verify_operator_bounds(const MapType& map, - const iType& i, - Args... args) { - return (size_t(i) < map.extent(R)) && - view_verify_operator_bounds(map, args...); +template +KOKKOS_FUNCTION constexpr char* append_formatted_multidimensional_index( + char* dest, Indices... indices) { + char* d = dest; + strcat(d, "["); + ( + [&] { + d += strlen(d); + to_chars_i(d, + d + 20, // 20 digits ought to be enough + indices); + strcat(d, ","); + }(), + ...); + d[strlen(d) - 1] = ']'; // overwrite trailing comma + return dest; } -template -inline void view_error_operator_bounds(char*, int, const MapType&) {} - -template -inline void view_error_operator_bounds(char* buf, int len, const MapType& map, - const iType& i, Args... args) { - const int n = snprintf( - buf, len, " %ld < %ld %c", static_cast(i), - static_cast(map.extent(R)), (sizeof...(Args) ? ',' : ')')); - view_error_operator_bounds(buf + n, len - n, map, args...); +template +KOKKOS_FUNCTION void print_extents(char* dest, Map const& map, + std::index_sequence) { + append_formatted_multidimensional_index(dest, map.extent(Enumerate)...); } -/* Check #3: is the View managed as determined by the MemoryTraits? */ -template -struct OperatorBoundsErrorOnDevice; - -template -struct OperatorBoundsErrorOnDevice { - KOKKOS_INLINE_FUNCTION - static void run(MapType const&) { Kokkos::abort("View bounds error"); } -}; - -template -struct OperatorBoundsErrorOnDevice { - KOKKOS_INLINE_FUNCTION - static void run(MapType const& map) { - SharedAllocationHeader const* const header = - SharedAllocationHeader::get_header( - static_cast(map.data())); - char const* const label = header->label(); - enum { LEN = 128 }; - char msg[LEN]; - char const* const first_part = "View bounds error of view "; - char* p = msg; - char* const end = msg + LEN - 1; - for (char const* p2 = first_part; (*p2 != '\0') && (p < end); ++p, ++p2) { - *p = *p2; - } - for (char const* p2 = label; (*p2 != '\0') && (p < end); ++p, ++p2) { - *p = *p2; - } - *p = '\0'; - Kokkos::abort(msg); - } -}; - -/* Check #2: does the ViewMapping have the printable_label_typedef defined? - See above that only the non-specialized standard-layout ViewMapping has - this defined by default. - The existence of this alias indicates the existence of MapType::is_managed - */ template using printable_label_typedef_t = typename T::printable_label_typedef; -template -KOKKOS_FUNCTION - std::enable_if_t::value> - operator_bounds_error_on_device(Map const&) { - Kokkos::abort("View bounds error"); -} - -template -KOKKOS_FUNCTION - std::enable_if_t::value> - operator_bounds_error_on_device(Map const& map) { - OperatorBoundsErrorOnDevice::run(map); -} - template KOKKOS_INLINE_FUNCTION void view_verify_operator_bounds( Kokkos::Impl::ViewTracker const& tracker, const MapType& map, Args... args) { - if (!view_verify_operator_bounds<0>(map, args...)) { + if (!within_range(map, std::make_index_sequence(), + args...)) { + char err[256] = ""; + strcat(err, "Kokkos::View ERROR: out of bounds access"); + strcat(err, " label=(\""); KOKKOS_IF_ON_HOST( - (enum {LEN = 1024}; char buffer[LEN]; - const std::string label = - tracker.m_tracker.template get_label(); - int n = snprintf(buffer, LEN, "View bounds error of view %s (", - label.c_str()); - view_error_operator_bounds<0>(buffer + n, LEN - n, map, args...); - Kokkos::Impl::throw_runtime_exception(std::string(buffer));)) - - KOKKOS_IF_ON_DEVICE(( - /* Check #1: is there a SharedAllocationRecord? - (we won't use it, but if its not there then there isn't - a corresponding SharedAllocationHeader containing a label). - This check should cover the case of Views that don't - have the Unmanaged trait but were initialized by pointer. */ if (tracker.m_tracker.has_record()) { - operator_bounds_error_on_device(map); - } else { Kokkos::abort("View bounds error"); })) + strncat(err, tracker.m_tracker.template get_label().c_str(), + 128); + } else { strcat(err, "**UNMANAGED**"); }) + KOKKOS_IF_ON_DEVICE([&] { + // Check #1: is there a SharedAllocationRecord? (we won't use it, but + // if its not there then there isn't a corresponding + // SharedAllocationHeader containing a label). This check should cover + // the case of Views that don't have the Unmanaged trait but were + // initialized by pointer. + if (!tracker.m_tracker.has_record()) { + strcat(err, "**UNMANAGED**"); + return; + } + // Check #2: does the ViewMapping have the printable_label_typedef + // defined? See above that only the non-specialized standard-layout + // ViewMapping has this defined by default. The existence of this + // alias indicates the existence of MapType::is_managed + if constexpr (is_detected_v) { + // Check #3: is the View managed as determined by the MemoryTraits? + if constexpr (MapType::is_managed != 0) { + SharedAllocationHeader const* const header = + SharedAllocationHeader::get_header( + static_cast(map.data())); + char const* const label = header->label(); + strcat(err, label); + return; + } + strcat(err, "**UNAVAILABLE**"); + } + }();) + strcat(err, "\") with indices "); + append_formatted_multidimensional_index(err, args...); + strcat(err, " but extents "); + print_extents(err, map, std::make_index_sequence()); + Kokkos::abort(err); } } diff --git a/lib/kokkos/core/src/setup/Kokkos_Setup_SYCL.hpp b/lib/kokkos/core/src/setup/Kokkos_Setup_SYCL.hpp index 7f7957bc61..30f6fa2ad2 100644 --- a/lib/kokkos/core/src/setup/Kokkos_Setup_SYCL.hpp +++ b/lib/kokkos/core/src/setup/Kokkos_Setup_SYCL.hpp @@ -38,12 +38,11 @@ #include #endif -#ifdef __SYCL_DEVICE_ONLY__ -#define KOKKOS_IMPL_DO_NOT_USE_PRINTF(format, ...) \ - do { \ - const __attribute__((opencl_constant)) char fmt[] = (format); \ - sycl::ext::oneapi::experimental::printf(fmt, ##__VA_ARGS__); \ - } while (0) +#if defined(__INTEL_LLVM_COMPILER) && __INTEL_LLVM_COMPILER >= 20230200 +#define KOKKOS_IMPL_SYCL_GET_MULTI_PTR(accessor) \ + accessor.get_multi_ptr() +#else +#define KOKKOS_IMPL_SYCL_GET_MULTI_PTR(accessor) accessor.get_pointer() #endif #endif diff --git a/lib/kokkos/core/src/traits/Kokkos_IndexTypeTrait.hpp b/lib/kokkos/core/src/traits/Kokkos_IndexTypeTrait.hpp index 91820fbcca..e43535451c 100644 --- a/lib/kokkos/core/src/traits/Kokkos_IndexTypeTrait.hpp +++ b/lib/kokkos/core/src/traits/Kokkos_IndexTypeTrait.hpp @@ -83,7 +83,7 @@ struct IndexTypePolicyMixin : AnalyzeNextTrait { "Kokkos Error: More than one index type given. Search " "compiler output for 'show_extra_index_type' to see the " "type of the errant tag."); - static_assert(std::is_integral::value, ""); + static_assert(std::is_integral::value); static constexpr bool index_type_is_defaulted = false; using index_type = Kokkos::IndexType; }; diff --git a/lib/kokkos/core/src/traits/Kokkos_OccupancyControlTrait.hpp b/lib/kokkos/core/src/traits/Kokkos_OccupancyControlTrait.hpp index dadf582c37..c2ca5a341f 100644 --- a/lib/kokkos/core/src/traits/Kokkos_OccupancyControlTrait.hpp +++ b/lib/kokkos/core/src/traits/Kokkos_OccupancyControlTrait.hpp @@ -163,7 +163,7 @@ auto prefer(Policy const& p, DesiredOccupancy occ) { template constexpr auto prefer(Policy const& p, MaximizeOccupancy) { - static_assert(Kokkos::is_execution_policy::value, ""); + static_assert(Kokkos::is_execution_policy::value); using new_policy_t = Kokkos::Impl::OccupancyControlTrait::policy_with_trait; diff --git a/lib/kokkos/core/src/traits/Kokkos_PolicyTraitAdaptor.hpp b/lib/kokkos/core/src/traits/Kokkos_PolicyTraitAdaptor.hpp index 578e9e762a..98ad1d7ebb 100644 --- a/lib/kokkos/core/src/traits/Kokkos_PolicyTraitAdaptor.hpp +++ b/lib/kokkos/core/src/traits/Kokkos_PolicyTraitAdaptor.hpp @@ -68,7 +68,7 @@ struct PolicyTraitAdaptorImpl< TraitSpec, PolicyTemplate, type_list, type_list, NewTrait, std::enable_if_t::value>> { - static_assert(PolicyTraitMatcher::value, ""); + static_assert(PolicyTraitMatcher::value); using type = PolicyTemplate; }; @@ -92,7 +92,7 @@ template class PolicyTemplate, struct PolicyTraitAdaptorImpl, type_list<>, NewTrait> { - static_assert(PolicyTraitMatcher::value, ""); + static_assert(PolicyTraitMatcher::value); using type = PolicyTemplate; }; diff --git a/lib/kokkos/core/src/traits/Kokkos_ScheduleTrait.hpp b/lib/kokkos/core/src/traits/Kokkos_ScheduleTrait.hpp index 8613002553..4e91d89f0f 100644 --- a/lib/kokkos/core/src/traits/Kokkos_ScheduleTrait.hpp +++ b/lib/kokkos/core/src/traits/Kokkos_ScheduleTrait.hpp @@ -78,7 +78,7 @@ namespace Experimental { template constexpr auto require(Policy const& p, Kokkos::Schedule) { - static_assert(Kokkos::is_execution_policy::value, ""); + static_assert(Kokkos::is_execution_policy::value); using new_policy_t = Kokkos::Impl::ScheduleTrait::policy_with_trait< Policy, Kokkos::Schedule>; return new_policy_t{p}; diff --git a/lib/kokkos/core/src/traits/Kokkos_WorkItemPropertyTrait.hpp b/lib/kokkos/core/src/traits/Kokkos_WorkItemPropertyTrait.hpp index 8f95385c85..ae7aa6e534 100644 --- a/lib/kokkos/core/src/traits/Kokkos_WorkItemPropertyTrait.hpp +++ b/lib/kokkos/core/src/traits/Kokkos_WorkItemPropertyTrait.hpp @@ -57,7 +57,7 @@ namespace Experimental { template constexpr auto require(const Policy p, WorkItemProperty::ImplWorkItemProperty) { - static_assert(Kokkos::is_execution_policy::value, ""); + static_assert(Kokkos::is_execution_policy::value); using new_policy_t = Kokkos::Impl::WorkItemPropertyTrait::policy_with_trait< Policy, WorkItemProperty::ImplWorkItemProperty>; return new_policy_t{p}; diff --git a/lib/kokkos/core/unit_test/CMakeLists.txt b/lib/kokkos/core/unit_test/CMakeLists.txt index b71c72c3c9..6dfb7505c5 100644 --- a/lib/kokkos/core/unit_test/CMakeLists.txt +++ b/lib/kokkos/core/unit_test/CMakeLists.txt @@ -65,7 +65,7 @@ SET(KOKKOS_THREADS_NAME Threads) IF(KOKKOS_CXX_COMPILER_ID STREQUAL Clang) SET(KOKKOS_OPENACC_FEATURE_LEVEL 9) ELSE() - SET(KOKKOS_OPENACC_FEATURE_LEVEL 16) + SET(KOKKOS_OPENACC_FEATURE_LEVEL 17) ENDIF() SET(KOKKOS_OPENACC_NAME Experimental::OpenACC) @@ -86,11 +86,13 @@ SET(COMPILE_ONLY_SOURCES TestDetectionIdiom.cpp TestBitManipulation.cpp TestInterOp.cpp + TestRangePolicyCTAD.cpp TestStringManipulation.cpp TestVersionMacros.cpp TestViewRank.cpp TestViewTypeTraits.cpp TestTypeList.cpp + TestMDRangePolicyCTAD.cpp view/TestExtentsDatatypeConversion.cpp ) @@ -184,6 +186,7 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;OpenMPTarget;OpenACC;HIP;SYCL) MDSpan MinMaxClamp NumericTraits + OccupancyControlTrait Other ParallelScanRangePolicy Printf @@ -200,6 +203,7 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;OpenMPTarget;OpenACC;HIP;SYCL) Reductions Reductions_DeviceView SharedAlloc + Swap ) set(file ${dir}/Test${Tag}_${Name}.cpp) # Write to a temporary intermediate file and call configure_file to avoid @@ -233,6 +237,7 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;OpenMPTarget;OpenACC;HIP;SYCL) ViewCopy_a ViewCopy_b ViewCtorDimMatch + ViewEmptyRuntimeUnmanaged ViewHooks ViewLayoutStrideAssignment ViewMapping_a @@ -240,6 +245,7 @@ foreach(Tag Threads;Serial;OpenMP;Cuda;HPX;OpenMPTarget;OpenACC;HIP;SYCL) ViewMapping_subview ViewMemoryAccessViolation ViewOfClass + ViewOutOfBoundsAccess ViewResize WorkGraph WithoutInitializing @@ -372,20 +378,21 @@ if(Kokkos_ENABLE_OPENMPTARGET) ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_TeamCombinedReducers.cpp ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_TeamReductionScan.cpp ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_WorkGraph.cpp - IF (KOKKOS_CXX_COMPILER_ID STREQUAL "Clang" AND KOKKOS_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 16.0.0) - ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_SubView_c01.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_SubView_c02.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_SubView_c03.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_Reducers_d.cpp - endif() IF (KOKKOS_CXX_COMPILER_ID STREQUAL "Clang" AND KOKKOS_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 16.0.0) ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_AtomicOperations_shared.cpp ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_MinMaxClamp.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_TeamVectorRange.cpp ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_LocalDeepCopy.cpp + ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_Reducers_d.cpp + ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_TeamVectorRange.cpp + ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_ViewAPI_e.cpp ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_TeamScan.cpp ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_TeamBasic.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_ViewAPI_e.cpp + IF (KOKKOS_CXX_COMPILER_VERSION VERSION_LESS 17.0.3) + ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_SubView_c01.cpp + ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_SubView_c02.cpp + ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_SubView_c03.cpp + ${CMAKE_CURRENT_BINARY_DIR}/openmptarget/TestOpenMPTarget_Reducers_d.cpp + endif() endif() # FIXME_OPENMPTARGET_CRAY: The following tests fail at compile time when the OpenMPTarget backend is enabled with the Cray compiler. # Atomic compare/exchange is used in these tests which can be one of the reasons for the compilation failures. @@ -522,17 +529,7 @@ IF(KOKKOS_ENABLE_OPENACC AND KOKKOS_CXX_COMPILER_ID STREQUAL NVHPC) list(REMOVE_ITEM OpenACC_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/default/TestDefaultDeviceType_a1.cpp ${CMAKE_CURRENT_SOURCE_DIR}/default/TestDefaultDeviceType_b1.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_AtomicOperations.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_AtomicOperations_double.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_AtomicOperations_float.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_AtomicOperations_int.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_AtomicOperations_longint.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_AtomicOperations_longlongint.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_AtomicOperations_shared.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_AtomicOperations_unsignedint.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_AtomicOperations_unsignedlongint.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_Atomics.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_AtomicViews.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_BlockSizeDeduction.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_DeepCopyAlignment.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_HostSharedPtr.cpp @@ -549,17 +546,10 @@ IF(KOKKOS_ENABLE_OPENACC AND KOKKOS_CXX_COMPILER_ID STREQUAL NVHPC) ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_Reducers_d.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_Reductions.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_Reductions_DeviceView.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_SubView_b.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_SubView_c02.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_SubView_c03.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_SubView_c05.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_SubView_c08.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_SubView_c11.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_TeamBasic.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_TeamScratch.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_TeamTeamSize.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_UniqueToken.cpp - ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_ViewMapping_b.cpp ${CMAKE_CURRENT_BINARY_DIR}/openacc/TestOpenACC_ViewResize.cpp ) endif() @@ -677,7 +667,6 @@ endif() if (Kokkos_ENABLE_OPENMP) set(OpenMP_EXTRA_SOURCES openmp/TestOpenMP_Task.cpp - openmp/TestOpenMP_PartitionMaster.cpp ) KOKKOS_ADD_EXECUTABLE_AND_TEST( CoreUnitTest_OpenMP @@ -724,12 +713,14 @@ if(Kokkos_ENABLE_HPX) hpx/TestHPX_IndependentInstancesRefCounting.cpp hpx/TestHPX_IndependentInstancesSynchronization.cpp ) +if(Kokkos_ENABLE_DEPRECATED_CODE_4) KOKKOS_ADD_EXECUTABLE_AND_TEST( CoreUnitTest_HPX_InParallel SOURCES UnitTestMainInit.cpp hpx/TestHPX_InParallel.cpp ) + endif() endif() if(Kokkos_ENABLE_OPENMPTARGET) @@ -797,6 +788,12 @@ if(Kokkos_ENABLE_CUDA) UnitTestMain.cpp cuda/TestCuda_InterOp_Streams.cpp ) + KOKKOS_ADD_EXECUTABLE_AND_TEST( + CoreUnitTest_CudaInterOpStreamsMultiGPU + SOURCES + UnitTestMainInit.cpp + cuda/TestCuda_InterOp_StreamsMultiGPU.cpp + ) KOKKOS_ADD_EXECUTABLE_AND_TEST( CoreUnitTest_CudaGraph SOURCES @@ -1039,13 +1036,7 @@ KOKKOS_ADD_ADVANCED_TEST( CoreUnitTest_PushFinalizeHook_terminate tools/TestCategoricalTuner.cpp ) endif() - if((NOT Kokkos_ENABLE_OPENMPTARGET) AND (NOT Kokkos_ENABLE_OPENACC)) - KOKKOS_ADD_EXECUTABLE_AND_TEST( - CoreUnitTest_LogicalSpaces - SOURCES - tools/TestLogicalSpaces.cpp - ) - endif() + SET(KOKKOSP_SOURCES UnitTestMainInit.cpp tools/TestEventCorrectness.cpp @@ -1167,15 +1158,6 @@ KOKKOS_ADD_TEST( NAME CoreUnitTest_StackTraceTest ) endif() -if(Kokkos_ENABLE_DEPRECATED_CODE_3) - foreach(INITTESTS_NUM RANGE 1 18) - KOKKOS_ADD_EXECUTABLE_AND_TEST( - CoreUnitTest_DefaultInit_${INITTESTS_NUM} - SOURCES UnitTestMain.cpp default/TestDefaultDeviceTypeInit_${INITTESTS_NUM}.cpp - ) - endforeach(INITTESTS_NUM) -endif() - if (KOKKOS_ENABLE_HWLOC) KOKKOS_ADD_EXECUTABLE_AND_TEST( CoreUnitTest_HWLOC @@ -1259,12 +1241,10 @@ if (NOT KOKKOS_HAS_TRILINOS) INPUT TestDeviceAndThreads.py ${USE_SOURCE_PERMISSIONS_WHEN_SUPPORTED} ) - if(NOT Kokkos_ENABLE_OPENMPTARGET) # FIXME_OPENMPTARGET does not select the right device - add_test( - NAME Kokkos_CoreUnitTest_DeviceAndThreads - COMMAND ${Python3_EXECUTABLE} -m unittest -v $/TestDeviceAndThreads.py - ) - endif() + add_test( + NAME Kokkos_CoreUnitTest_DeviceAndThreads + COMMAND ${Python3_EXECUTABLE} -m unittest -v $/TestDeviceAndThreads.py + ) endif() endif() diff --git a/lib/kokkos/core/unit_test/Makefile b/lib/kokkos/core/unit_test/Makefile index 33a84b61f9..202809d3fc 100644 --- a/lib/kokkos/core/unit_test/Makefile +++ b/lib/kokkos/core/unit_test/Makefile @@ -67,8 +67,8 @@ TESTS = AtomicOperations_int AtomicOperations_unsignedint AtomicOperations_longi tmp := $(foreach device, $(KOKKOS_DEVICELIST), \ tmp2 := $(foreach test, $(TESTS), \ $(if $(filter Test$(device)_$(test).cpp, $(shell ls Test$(device)_$(test).cpp 2>/dev/null)),,\ - $(shell echo "\#include " > Test$(device)_$(test).cpp); \ - $(shell echo "\#include " >> Test$(device)_$(test).cpp); \ + $(shell echo "$(H)include " > Test$(device)_$(test).cpp); \ + $(shell echo "$(H)include " >> Test$(device)_$(test).cpp); \ ) \ ) \ ) @@ -82,8 +82,8 @@ KOKKOS_SUBVIEW_DEVICELIST := $(filter-out Cuda, $(KOKKOS_DEVICELIST)) tmp := $(foreach device, $(KOKKOS_SUBVIEW_DEVICELIST), \ tmp2 := $(foreach test, $(SUBVIEW_TESTS), \ $(if $(filter Test$(device)_$(test).cpp, $(shell ls Test$(device)_$(test).cpp 2>/dev/null)),, \ - $(shell echo "\#include " > Test$(device)_$(test).cpp); \ - $(shell echo "\#include " >> Test$(device)_$(test).cpp); \ + $(shell echo "$(H)include " > Test$(device)_$(test).cpp); \ + $(shell echo "$(H)include " >> Test$(device)_$(test).cpp); \ ) \ )\ ) @@ -91,8 +91,8 @@ tmp := $(foreach device, $(KOKKOS_SUBVIEW_DEVICELIST), \ ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) tmp2 := $(foreach test, $(SUBVIEW_TESTS), \ $(if $(filter TestCuda_$(test).cpp, $(shell ls TestCuda_$(test).cpp 2>/dev/null)),,\ - $(shell echo "\#include " > TestCuda_$(test).cpp); \ - $(shell echo "\#include " >> TestCuda_$(test).cpp); \ + $(shell echo "$(H)include " > TestCuda_$(test).cpp); \ + $(shell echo "$(H)include " >> TestCuda_$(test).cpp); \ )\ ) @@ -100,8 +100,8 @@ ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) tmp := $(foreach space, $(GPU_SPACES), \ tmp2 := $(foreach test, $(GPU_SPACE_TESTS), \ $(if $(filter Test$(space)_$(test).cpp, $(shell ls Test$(space)_$(test).cpp 2>/dev/null)),,\ - $(shell echo "\#include " > Test$(space)_$(test).cpp); \ - $(shell echo "\#include " >> Test$(space)_$(test).cpp); \ + $(shell echo "$(H)include " > Test$(space)_$(test).cpp); \ + $(shell echo "$(H)include " >> Test$(space)_$(test).cpp); \ )\ )\ ) @@ -277,8 +277,8 @@ ifeq ($(KOKKOS_INTERNAL_USE_HIP), 1) tmp := $(foreach space, $(GPU_SPACES), \ tmp2 := $(foreach test, $(GPU_SPACE_TESTS), \ $(if $(filter Test$(space)_$(test).cpp, $(shell ls Test$(space)_$(test).cpp 2>/dev/null)),,\ - $(shell echo "\#include " > Test$(space)_$(test).cpp); \ - $(shell echo "\#include " >> Test$(space)_$(test).cpp); \ + $(shell echo "$(H)include " > Test$(space)_$(test).cpp); \ + $(shell echo "$(H)include " >> Test$(space)_$(test).cpp); \ )\ )\ ) diff --git a/lib/kokkos/core/unit_test/TestAggregate.hpp b/lib/kokkos/core/unit_test/TestAggregate.hpp index 4f67b2eddc..f1316a7426 100644 --- a/lib/kokkos/core/unit_test/TestAggregate.hpp +++ b/lib/kokkos/core/unit_test/TestAggregate.hpp @@ -29,35 +29,31 @@ void TestViewAggregate() { value_type>; static_assert( - std::is_same >::value, - ""); + std::is_same >::value); using a32_traits = Kokkos::ViewTraits; using flat_traits = Kokkos::ViewTraits; static_assert( - std::is_same >::value, - ""); + std::is_same >::value); static_assert( - std::is_same::value, ""); - static_assert(a32_traits::rank == 2, ""); - static_assert(a32_traits::rank_dynamic == 2, ""); + std::is_same::value); + static_assert(a32_traits::rank == 2); + static_assert(a32_traits::rank_dynamic == 2); - static_assert(std::is_void::value, ""); - static_assert(flat_traits::rank == 3, ""); - static_assert(flat_traits::rank_dynamic == 2, ""); - static_assert(flat_traits::dimension::N2 == 32, ""); + static_assert(std::is_void::value); + static_assert(flat_traits::rank == 3); + static_assert(flat_traits::rank_dynamic == 2); + static_assert(flat_traits::dimension::N2 == 32); using a32_type = Kokkos::View **, DeviceType>; using a32_flat_type = typename a32_type::array_type; - static_assert(std::is_same::value, - ""); - static_assert(std::is_same::value, - ""); - static_assert(a32_type::rank == 2, ""); - static_assert(a32_flat_type::rank == 3, ""); + static_assert(std::is_same::value); + static_assert(std::is_same::value); + static_assert(a32_type::rank == 2); + static_assert(a32_flat_type::rank == 3); a32_type x("test", 4, 5); a32_flat_type y(x); diff --git a/lib/kokkos/core/unit_test/TestArray.cpp b/lib/kokkos/core/unit_test/TestArray.cpp index d3bdc4f93f..673d0036b7 100644 --- a/lib/kokkos/core/unit_test/TestArray.cpp +++ b/lib/kokkos/core/unit_test/TestArray.cpp @@ -49,4 +49,28 @@ KOKKOS_FUNCTION constexpr bool test_array_structured_binding_support() { static_assert(test_array_structured_binding_support()); +template +KOKKOS_FUNCTION constexpr bool is_equal(L const& l, R const& r) { + if (std::size(l) != std::size(r)) return false; + + for (size_t i = 0; i != std::size(l); ++i) { + if (l[i] != r[i]) return false; + } + + return true; +} + +// Disable ctad test for intel versions < 2021, see issue #6702 +#if !defined(KOKKOS_COMPILER_INTEL) || KOKKOS_COMPILER_INTEL >= 2021 +KOKKOS_FUNCTION constexpr bool test_array_ctad() { + constexpr int x = 10; + constexpr Kokkos::Array a{1, 2, 3, 5, x}; + constexpr Kokkos::Array b{1, 2, 3, 5, x}; + + return std::is_same_v && is_equal(a, b); +} + +static_assert(test_array_ctad()); +#endif + } // namespace diff --git a/lib/kokkos/core/unit_test/TestAtomicOperations.hpp b/lib/kokkos/core/unit_test/TestAtomicOperations.hpp index a5aebed413..cd7ba47aa1 100644 --- a/lib/kokkos/core/unit_test/TestAtomicOperations.hpp +++ b/lib/kokkos/core/unit_test/TestAtomicOperations.hpp @@ -368,6 +368,63 @@ bool atomic_op_test(T old_val, T update) { return result == 0; } +template +constexpr T relative_error_threshold = T(1.0e-15); + +template +bool atomic_op_test_rel(T old_val, T update) { + Kokkos::View op_data("op_data"); + Kokkos::deep_copy(op_data, old_val); + int result = 0; + Kokkos::parallel_reduce( + Kokkos::RangePolicy(0, 1), + KOKKOS_LAMBDA(int, int& local_result) { + auto fetch_result = + Op::atomic_op(&op_data(0), &op_data(1), &op_data(2), update); + T expected_val = Op::op(old_val, update); + Kokkos::memory_fence(); + if (expected_val == T(0)) { + if (fabs(op_data(0)) > relative_error_threshold) local_result += 1; + if (fabs(op_data(1)) > relative_error_threshold) local_result += 2; + if (fabs(op_data(2)) > relative_error_threshold) local_result += 4; + if (fetch_result.first != old_val) local_result += 8; + if (fabs(fetch_result.second) > relative_error_threshold) + local_result += 16; + } else { + if (fabs((op_data(0) - expected_val) / expected_val) > + relative_error_threshold) + local_result += 1; + if (fabs((op_data(1) - expected_val) / expected_val) > + relative_error_threshold) + local_result += 2; + if (fabs((op_data(2) - expected_val) / expected_val) > + relative_error_threshold) + local_result += 4; + if (fetch_result.first != old_val) local_result += 8; + if (fabs((fetch_result.second - expected_val) / expected_val) > + relative_error_threshold) + local_result += 16; + } + }, + result); + if ((result & 1) != 0) + printf("atomic_%s failed with type %s\n", Op::name(), typeid(T).name()); + if ((result & 2) != 0) + printf("atomic_fetch_%s failed with type %s\n", Op::name(), + typeid(T).name()); + if ((result & 4) != 0) + printf("atomic_%s_fetch failed with type %s\n", Op::name(), + typeid(T).name()); + if ((result & 8) != 0) + printf("atomic_fetch_%s did not return old value with type %s\n", + Op::name(), typeid(T).name()); + if ((result & 16) != 0) + printf("atomic_%s_fetch did not return updated value with type %s\n", + Op::name(), typeid(T).name()); + + return result == 0; +} + //--------------------------------------------------- //--------------atomic_test_control------------------ //--------------------------------------------------- @@ -395,6 +452,12 @@ bool AtomicOperationsTestIntegralType(int old_val_in, int update_in, int test) { case 9: return atomic_op_test(old_val, update); case 10: return atomic_op_test(old_val, update); +#if defined(KOKKOS_ENABLE_OPENACC) && defined(KOKKOS_COMPILER_NVHPC) + // FIXME_NVHPC: atomic-fetch-shift operation fails due to NVHPC OpenACC + // compiler bugs, which are reported to NVIDIA. + case 11: return true; + case 12: return true; +#else case 11: return update_in >= 0 ? atomic_op_test( old_val, update) @@ -403,6 +466,7 @@ bool AtomicOperationsTestIntegralType(int old_val_in, int update_in, int test) { return update_in >= 0 ? atomic_op_test( old_val, update) : true; +#endif case 13: return atomic_op_test(old_val, update); case 14: @@ -440,10 +504,20 @@ bool AtomicOperationsTestNonIntegralType(int old_val_in, int update_in, case 2: return atomic_op_test(old_val, update); case 3: return atomic_op_test(old_val, update); case 4: return atomic_op_test(old_val, update); +#if defined(KOKKOS_ENABLE_OPENACC) && defined(KOKKOS_COMPILER_NVHPC) + // NVHPC may use different internal precisions for the device and host + // atomic operations. Therefore, relative errors are used to compare the + // host results and device results. + case 5: + return update != 0 ? atomic_op_test_rel( + old_val, update) + : true; +#else case 5: return update != 0 ? atomic_op_test(old_val, update) : true; +#endif case 6: return atomic_op_test(old_val, update); } diff --git a/lib/kokkos/core/unit_test/TestAtomics.hpp b/lib/kokkos/core/unit_test/TestAtomics.hpp index 2b40f12d0a..5f48e8c974 100644 --- a/lib/kokkos/core/unit_test/TestAtomics.hpp +++ b/lib/kokkos/core/unit_test/TestAtomics.hpp @@ -498,7 +498,9 @@ TEST(TEST_CATEGORY, atomics) { ASSERT_TRUE((TestAtomic::Loop(100, 2))); ASSERT_TRUE((TestAtomic::Loop(100, 3))); -#ifndef KOKKOS_ENABLE_OPENMPTARGET + // FIXME_OPENMPTARGET + // FIXME_OPENACC: atomic operations on composite types are not supported. +#if !defined(KOKKOS_ENABLE_OPENMPTARGET) && !defined(KOKKOS_ENABLE_OPENACC) ASSERT_TRUE((TestAtomic::Loop, TEST_EXECSPACE>(1, 1))); ASSERT_TRUE((TestAtomic::Loop, TEST_EXECSPACE>(1, 2))); ASSERT_TRUE((TestAtomic::Loop, TEST_EXECSPACE>(1, 3))); diff --git a/lib/kokkos/core/unit_test/TestBitManipulationBuiltins.hpp b/lib/kokkos/core/unit_test/TestBitManipulationBuiltins.hpp index 092e7cff61..2f3bcfe817 100644 --- a/lib/kokkos/core/unit_test/TestBitManipulationBuiltins.hpp +++ b/lib/kokkos/core/unit_test/TestBitManipulationBuiltins.hpp @@ -804,26 +804,26 @@ struct TestBitCastFunction { using Kokkos::bit_cast; if (bit_cast(123) != 123) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed check #1\n"); + Kokkos::printf("failed check #1\n"); } if (bit_cast(123u) != 123) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed check #2\n"); + Kokkos::printf("failed check #2\n"); } if (bit_cast(~0u) != ~0) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed check #3\n"); + Kokkos::printf("failed check #3\n"); } if constexpr (sizeof(int) == sizeof(float)) { if (!check(12.34f)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed check #4\n"); + Kokkos::printf("failed check #4\n"); } } if constexpr (sizeof(unsigned long long) == sizeof(double)) { if (!check(123.456)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed check #5\n"); + Kokkos::printf("failed check #5\n"); } } @@ -848,11 +848,11 @@ struct TestBitCastFunction { } if (!(bit_cast(arr) == arr)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed check #6\n"); + Kokkos::printf("failed check #6\n"); } if (!(bit_cast(arr2) == arr2)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed check #7\n"); + Kokkos::printf("failed check #7\n"); } } }; diff --git a/lib/kokkos/core/unit_test/TestComplex.hpp b/lib/kokkos/core/unit_test/TestComplex.hpp index bcae2e1d81..5501a35b7f 100644 --- a/lib/kokkos/core/unit_test/TestComplex.hpp +++ b/lib/kokkos/core/unit_test/TestComplex.hpp @@ -451,17 +451,15 @@ TEST(TEST_CATEGORY, complex_issue_3867) { ASSERT_FLOAT_EQ(x.real(), y.real()); ASSERT_FLOAT_EQ(x.imag(), y.imag()); -#define CHECK_POW_COMPLEX_PROMOTION(ARGTYPE1, ARGTYPE2, RETURNTYPE) \ - static_assert( \ - std::is_same(), \ - std::declval()))>::value, \ - ""); \ - static_assert( \ - std::is_same(), \ - std::declval()))>::value, \ - ""); +#define CHECK_POW_COMPLEX_PROMOTION(ARGTYPE1, ARGTYPE2, RETURNTYPE) \ + static_assert( \ + std::is_same(), \ + std::declval()))>::value); \ + static_assert( \ + std::is_same(), \ + std::declval()))>::value); CHECK_POW_COMPLEX_PROMOTION(Kokkos::complex, long double, Kokkos::complex); diff --git a/lib/kokkos/core/unit_test/TestConcepts.hpp b/lib/kokkos/core/unit_test/TestConcepts.hpp index 476a884832..b85867bf63 100644 --- a/lib/kokkos/core/unit_test/TestConcepts.hpp +++ b/lib/kokkos/core/unit_test/TestConcepts.hpp @@ -22,42 +22,42 @@ using ExecutionSpace = TEST_EXECSPACE; using MemorySpace = typename ExecutionSpace::memory_space; using DeviceType = typename ExecutionSpace::device_type; -static_assert(Kokkos::is_execution_space{}, ""); -static_assert(Kokkos::is_execution_space{}, ""); -static_assert(!Kokkos::is_execution_space{}, ""); -static_assert(!Kokkos::is_execution_space{}, ""); +static_assert(Kokkos::is_execution_space{}); +static_assert(Kokkos::is_execution_space{}); +static_assert(!Kokkos::is_execution_space{}); +static_assert(!Kokkos::is_execution_space{}); -static_assert(Kokkos::is_memory_space{}, ""); -static_assert(Kokkos::is_memory_space{}, ""); -static_assert(!Kokkos::is_memory_space{}, ""); -static_assert(!Kokkos::is_memory_space{}, ""); +static_assert(Kokkos::is_memory_space{}); +static_assert(Kokkos::is_memory_space{}); +static_assert(!Kokkos::is_memory_space{}); +static_assert(!Kokkos::is_memory_space{}); -static_assert(Kokkos::is_device{}, ""); -static_assert(Kokkos::is_device{}, ""); -static_assert(!Kokkos::is_device{}, ""); -static_assert(!Kokkos::is_device{}, ""); +static_assert(Kokkos::is_device{}); +static_assert(Kokkos::is_device{}); +static_assert(!Kokkos::is_device{}); +static_assert(!Kokkos::is_device{}); -static_assert(!Kokkos::is_device{}, ""); -static_assert(!Kokkos::is_device{}, ""); +static_assert(!Kokkos::is_device{}); +static_assert(!Kokkos::is_device{}); -static_assert(Kokkos::is_space{}, ""); -static_assert(Kokkos::is_space{}, ""); -static_assert(Kokkos::is_space{}, ""); -static_assert(Kokkos::is_space{}, ""); -static_assert(Kokkos::is_space{}, ""); -static_assert(Kokkos::is_space{}, ""); -static_assert(!Kokkos::is_space{}, ""); -static_assert(!Kokkos::is_space{}, ""); -static_assert(!Kokkos::is_space{}, ""); +static_assert(Kokkos::is_space{}); +static_assert(Kokkos::is_space{}); +static_assert(Kokkos::is_space{}); +static_assert(Kokkos::is_space{}); +static_assert(Kokkos::is_space{}); +static_assert(Kokkos::is_space{}); +static_assert(!Kokkos::is_space{}); +static_assert(!Kokkos::is_space{}); +static_assert(!Kokkos::is_space{}); -static_assert(Kokkos::is_execution_space_v, ""); -static_assert(!Kokkos::is_execution_space_v, ""); +static_assert(Kokkos::is_execution_space_v); +static_assert(!Kokkos::is_execution_space_v); static_assert( - std::is_same>{}, ""); -static_assert(std::is_same>{}, ""); -static_assert(std::is_same>{}, ""); -static_assert(std::is_same>{}, ""); + std::is_same>{}); +static_assert(std::is_same>{}); +static_assert(std::is_same>{}); +static_assert(std::is_same>{}); /*------------------------------------------------- begin test for team_handle concept diff --git a/lib/kokkos/core/unit_test/TestDefaultDeviceTypeInit.hpp b/lib/kokkos/core/unit_test/TestDefaultDeviceTypeInit.hpp deleted file mode 100644 index 929c91db4e..0000000000 --- a/lib/kokkos/core/unit_test/TestDefaultDeviceTypeInit.hpp +++ /dev/null @@ -1,491 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#include - -#include - -#ifdef KOKKOS_ENABLE_OPENMP -#include -#endif -#include -#if !defined(KOKKOS_ENABLE_CUDA) || defined(__CUDACC__) - -namespace Test { - -namespace Impl { - -std::set delete_these; -void cleanup_memory() { - for (auto x : delete_these) { - delete[] x; - } -} - -char** init_kokkos_args(bool do_threads, bool do_numa, bool do_device, - bool do_other, bool do_tune, int& nargs, - Kokkos::InitArguments& init_args) { - nargs = (do_threads ? 1 : 0) + (do_numa ? 1 : 0) + (do_device ? 1 : 0) + - (do_other ? 4 : 0) + (do_tune ? 1 : 0); - - char** args_kokkos = new char*[nargs]; - const int max_args_size = 45; - for (int i = 0; i < nargs; i++) { - args_kokkos[i] = new char[max_args_size]; - delete_these.insert(args_kokkos[i]); - } - - int threads_idx = do_other ? 1 : 0; - int numa_idx = (do_other ? 3 : 0) + (do_threads ? 1 : 0); - int device_idx = - (do_other ? 3 : 0) + (do_threads ? 1 : 0) + (do_numa ? 1 : 0); - int tune_idx = (do_other ? 4 : 0) + (do_threads ? 1 : 0) + (do_numa ? 1 : 0) + - (do_device ? 1 : 0); - - if (do_threads) { - int nthreads = 3; - -#ifdef KOKKOS_ENABLE_OPENMP - if (omp_get_max_threads() < nthreads) { - nthreads = omp_get_max_threads(); - } -#elif defined(KOKKOS_ENABLE_HPX) - const int concurrency = std::thread::hardware_concurrency(); - if (concurrency < nthreads) { - nthreads = concurrency; - } -#endif - - if (Kokkos::hwloc::available()) { - if (Kokkos::hwloc::get_available_threads_per_core() < - static_cast(nthreads)) - nthreads = Kokkos::hwloc::get_available_threads_per_core() * - Kokkos::hwloc::get_available_numa_count(); - } - -#ifdef KOKKOS_ENABLE_SERIAL - if (std::is_same::value || - std::is_same::value) { - nthreads = 1; - } -#endif - - init_args.num_threads = nthreads; - snprintf(args_kokkos[threads_idx], max_args_size, "--threads=%i", nthreads); - } - - if (do_numa) { - int numa = 1; - if (Kokkos::hwloc::available()) { - numa = Kokkos::hwloc::get_available_numa_count(); - } - -#ifdef KOKKOS_ENABLE_SERIAL - if (std::is_same::value || - std::is_same::value) { - numa = 1; - } -#endif - - init_args.num_numa = numa; - snprintf(args_kokkos[numa_idx], max_args_size, "--numa=%i", numa); - } - - if (do_device) { - init_args.device_id = 0; - snprintf(args_kokkos[device_idx], max_args_size, "--device-id=%i", 0); - } - - if (do_other) { - snprintf(args_kokkos[0], max_args_size, "--dummyarg=1"); - snprintf(args_kokkos[threads_idx + (do_threads ? 1 : 0)], max_args_size, - "--dummy2arg"); - snprintf(args_kokkos[threads_idx + (do_threads ? 1 : 0) + 1], max_args_size, - "dummy3arg"); - snprintf(args_kokkos[device_idx + (do_device ? 1 : 0)], max_args_size, - "dummy4arg=1"); - } - - if (do_tune) { - init_args.tune_internals = true; - snprintf(args_kokkos[tune_idx], max_args_size, "--kokkos-tune-internals"); - } - - return args_kokkos; -} - -Kokkos::InitArguments init_initstruct(bool do_threads, bool do_numa, - bool do_device, bool do_tune) { - Kokkos::InitArguments args; - - if (do_threads) { - int nthreads = 3; - -#ifdef KOKKOS_ENABLE_OPENMP - if (omp_get_max_threads() < nthreads) { - nthreads = omp_get_max_threads(); - } -#elif defined(KOKKOS_ENABLE_HPX) - const int concurrency = std::thread::hardware_concurrency(); - if (concurrency < nthreads) { - nthreads = concurrency; - } -#endif - - if (Kokkos::hwloc::available()) { - if (Kokkos::hwloc::get_available_threads_per_core() < - static_cast(nthreads)) { - nthreads = Kokkos::hwloc::get_available_threads_per_core() * - Kokkos::hwloc::get_available_numa_count(); - } - } - -#ifdef KOKKOS_ENABLE_SERIAL - if (std::is_same::value || - std::is_same::value) { - nthreads = 1; - } -#endif - - args.num_threads = nthreads; - } - - if (do_numa) { - int numa = 1; - if (Kokkos::hwloc::available()) { - numa = Kokkos::hwloc::get_available_numa_count(); - } - -#ifdef KOKKOS_ENABLE_SERIAL - if (std::is_same::value || - std::is_same::value) { - numa = 1; - } -#endif - - args.num_numa = numa; - } - - if (do_device) { - args.device_id = 0; - } - - if (do_tune) { - args.tune_internals = true; - } - - return args; -} - -void check_correct_initialization(const Kokkos::InitArguments& argstruct) { - ASSERT_EQ(Kokkos::DefaultExecutionSpace::impl_is_initialized(), 1); - ASSERT_EQ(Kokkos::HostSpace::execution_space::impl_is_initialized(), 1); - - // Figure out the number of threads the HostSpace ExecutionSpace should have - // initialized to. - int expected_nthreads = argstruct.num_threads; - -#ifdef KOKKOS_ENABLE_OPENMP - if (std::is_same::value) { - // use openmp default num threads - if (expected_nthreads < 0 || - (expected_nthreads == 0 && !Kokkos::hwloc::available())) { - expected_nthreads = omp_get_max_threads(); - } - // use hwloc if available - else if (expected_nthreads == 0 && Kokkos::hwloc::available()) { - expected_nthreads = Kokkos::hwloc::get_available_numa_count() * - Kokkos::hwloc::get_available_cores_per_numa() * - Kokkos::hwloc::get_available_threads_per_core(); - } - } -#endif - - if (expected_nthreads < 1) { - if (Kokkos::hwloc::available()) { - expected_nthreads = Kokkos::hwloc::get_available_numa_count() * - Kokkos::hwloc::get_available_cores_per_numa() * - Kokkos::hwloc::get_available_threads_per_core(); - } else { - expected_nthreads = 1; - } - -#ifdef KOKKOS_ENABLE_SERIAL - if (std::is_same::value || - std::is_same::value) { - expected_nthreads = 1; - } -#endif - -#ifdef KOKKOS_ENABLE_HPX - // HPX uses all cores on machine by default. Skip this test. - if (std::is_same::value || - std::is_same::value) { - return; - } -#endif - } - - int expected_numa = argstruct.num_numa; - - if (expected_numa < 1) { - if (Kokkos::hwloc::available()) { - expected_numa = Kokkos::hwloc::get_available_numa_count(); - } else { - expected_numa = 1; - } - -#ifdef KOKKOS_ENABLE_SERIAL - if (std::is_same::value || - std::is_same::value) - expected_numa = 1; -#endif - } - - ASSERT_EQ(Kokkos::HostSpace::execution_space().impl_thread_pool_size(), - expected_nthreads); - -#ifdef KOKKOS_ENABLE_CUDA - if (std::is_same::value) { - int device; - cudaGetDevice(&device); - - int expected_device = argstruct.device_id; - if (argstruct.device_id < 0) { - expected_device = Kokkos::Cuda().cuda_device(); - } - - ASSERT_EQ(expected_device, device); - } -#endif - ASSERT_EQ(argstruct.tune_internals, Kokkos::tune_internals()); -} - -// TODO: Add check whether correct number of threads are actually started. -void test_no_arguments() { - Kokkos::initialize(); - check_correct_initialization(Kokkos::InitArguments()); - Kokkos::finalize(); -} - -void test_commandline_args(int nargs, char** args, - const Kokkos::InitArguments& argstruct) { - Kokkos::initialize(nargs, args); - check_correct_initialization(argstruct); - Kokkos::finalize(); -} - -void test_initstruct_args(const Kokkos::InitArguments& args) { - Kokkos::initialize(args); - check_correct_initialization(args); - Kokkos::finalize(); -} - -} // namespace Impl - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_01 -TEST(defaultdevicetypeinit, no_args) { Impl::test_no_arguments(); } -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_02 -TEST(defaultdevicetypeinit, commandline_args_empty) { - Kokkos::InitArguments argstruct; - int nargs = 0; - char** args = Impl::init_kokkos_args(false, false, false, false, false, nargs, - argstruct); - Impl::test_commandline_args(nargs, args, argstruct); - - Impl::cleanup_memory(); - delete[] args; -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_03 -TEST(defaultdevicetypeinit, commandline_args_other) { - Kokkos::InitArguments argstruct; - int nargs = 0; - char** args = Impl::init_kokkos_args(false, false, false, true, false, nargs, - argstruct); - Impl::test_commandline_args(nargs, args, argstruct); - - Impl::cleanup_memory(); - delete[] args; -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_04 -TEST(defaultdevicetypeinit, commandline_args_nthreads) { - Kokkos::InitArguments argstruct; - int nargs = 0; - char** args = Impl::init_kokkos_args(true, false, false, false, false, nargs, - argstruct); - Impl::test_commandline_args(nargs, args, argstruct); - - Impl::cleanup_memory(); - delete[] args; -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_05 -TEST(defaultdevicetypeinit, commandline_args_nthreads_numa) { - Kokkos::InitArguments argstruct; - int nargs = 0; - char** args = - Impl::init_kokkos_args(true, true, false, false, false, nargs, argstruct); - Impl::test_commandline_args(nargs, args, argstruct); - - Impl::cleanup_memory(); - - delete[] args; -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_06 -TEST(defaultdevicetypeinit, commandline_args_nthreads_numa_device) { - Kokkos::InitArguments argstruct; - int nargs = 0; - char** args = - Impl::init_kokkos_args(true, true, true, false, false, nargs, argstruct); - Impl::test_commandline_args(nargs, args, argstruct); - - Impl::cleanup_memory(); - - delete[] args; -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_07 -TEST(defaultdevicetypeinit, commandline_args_nthreads_device) { - Kokkos::InitArguments argstruct; - int nargs = 0; - char** args = - Impl::init_kokkos_args(true, false, true, false, false, nargs, argstruct); - Impl::test_commandline_args(nargs, args, argstruct); - - Impl::cleanup_memory(); - delete[] args; -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_08 -TEST(defaultdevicetypeinit, commandline_args_numa_device) { - Kokkos::InitArguments argstruct; - int nargs = 0; - char** args = - Impl::init_kokkos_args(false, true, true, false, false, nargs, argstruct); - Impl::test_commandline_args(nargs, args, argstruct); - - Impl::cleanup_memory(); - delete[] args; -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_09 -TEST(defaultdevicetypeinit, commandline_args_device) { - Kokkos::InitArguments argstruct; - int nargs = 0; - char** args = Impl::init_kokkos_args(false, false, true, false, false, nargs, - argstruct); - Impl::test_commandline_args(nargs, args, argstruct); - - Impl::cleanup_memory(); - delete[] args; -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_10 -TEST(defaultdevicetypeinit, commandline_args_nthreads_numa_device_other) { - Kokkos::InitArguments argstruct; - int nargs = 0; - char** args = - Impl::init_kokkos_args(true, true, true, true, false, nargs, argstruct); - Impl::test_commandline_args(nargs, args, argstruct); - Impl::cleanup_memory(); - delete[] args; -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_11 -TEST(defaultdevicetypeinit, commandline_args_nthreads_numa_device_other_tune) { - Kokkos::InitArguments argstruct; - int nargs = 0; - char** args = - Impl::init_kokkos_args(true, true, true, true, true, nargs, argstruct); - Impl::test_commandline_args(nargs, args, argstruct); - Impl::cleanup_memory(); - delete[] args; -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_12 -TEST(defaultdevicetypeinit, initstruct_default) { - Kokkos::InitArguments args; - Impl::test_initstruct_args(args); -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_13 -TEST(defaultdevicetypeinit, initstruct_nthreads) { - Kokkos::InitArguments args = Impl::init_initstruct(true, false, false, false); - Impl::test_initstruct_args(args); -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_14 -TEST(defaultdevicetypeinit, initstruct_nthreads_numa) { - Kokkos::InitArguments args = Impl::init_initstruct(true, true, false, false); - Impl::test_initstruct_args(args); -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_15 -TEST(defaultdevicetypeinit, initstruct_device) { - Kokkos::InitArguments args = Impl::init_initstruct(false, false, true, false); - Impl::test_initstruct_args(args); -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_16 -TEST(defaultdevicetypeinit, initstruct_nthreads_device) { - Kokkos::InitArguments args = Impl::init_initstruct(true, false, true, false); - Impl::test_initstruct_args(args); -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_17 -TEST(defaultdevicetypeinit, initstruct_nthreads_numa_device) { - Kokkos::InitArguments args = Impl::init_initstruct(true, true, true, false); - Impl::test_initstruct_args(args); -} -#endif - -#ifdef KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_18 -TEST(defaultdevicetypeinit, initstruct_nthreads_numa_device_tune) { - Kokkos::InitArguments args = Impl::init_initstruct(true, true, true, true); - Impl::test_initstruct_args(args); -} -#endif - -} // namespace Test - -#endif diff --git a/lib/kokkos/core/unit_test/TestDeviceAndThreads.py b/lib/kokkos/core/unit_test/TestDeviceAndThreads.py index 1d3ff8eea7..63d26ad41a 100644 --- a/lib/kokkos/core/unit_test/TestDeviceAndThreads.py +++ b/lib/kokkos/core/unit_test/TestDeviceAndThreads.py @@ -17,6 +17,8 @@ import unittest import subprocess +import platform +import os PREFIX = "$" EXECUTABLE = "$" @@ -30,7 +32,22 @@ def GetFlag(flag, *extra_args): return int(p.stdout) def GetNumThreads(max_threads): - for x in [1, 2, 3, 5, 7]: + args = [] + name = platform.system() + if name == 'Darwin': + args = ['sysctl', '-n', 'hw.physicalcpu_max'] + elif name == 'Linux': + args = ['nproc', '--all'] + else: + args = ['wmic', 'cpu', 'get', 'NumberOfCores'] + + result = subprocess.run(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + output = result.stdout.decode('utf-8') + phys_cores_count = int(output) + looplist = [1] + [i*phys_cores_count for i in [1,2,3,4,5,6,7]] \ + if GetFlag("hwloc_enabled") else [1,2,3,4,5] + + for x in looplist: if x >= max_threads: break yield x @@ -48,13 +65,25 @@ class KokkosInitializationTestCase(unittest.TestCase): "num_threads", "--kokkos-num-threads={}".format(num_threads))) + def test_num_devices(self): + if "KOKKOS_VISIBLE_DEVICES" in os.environ: + self.skipTest("KOKKOS_VISIBLE_DEVICES environment variable is set") + num_devices = GetFlag("num_devices") + self.assertNotEqual(num_devices, 0) + if num_devices == -1: + self.skipTest("no device backend enabled") + self.assertGreaterEqual(num_devices, 1) + def test_device_id(self): - device_count = GetFlag("device_count") - if device_count == 0: - self.skipTest("no device detected") + if "KOKKOS_VISIBLE_DEVICES" in os.environ: + self.skipTest("KOKKOS_VISIBLE_DEVICES environment variable is set") + num_devices = GetFlag("num_devices") + if num_devices == -1: + self.assertEqual(-1, GetFlag("device_id")) + self.skipTest("no device backend enabled") # by default use the first GPU available for execution self.assertEqual(0, GetFlag("device_id")) - for device_id in range(device_count): + for device_id in range(num_devices): self.assertEqual( device_id, GetFlag( diff --git a/lib/kokkos/core/unit_test/TestExecutionSpace.hpp b/lib/kokkos/core/unit_test/TestExecutionSpace.hpp index 6f0f159c17..983a5975af 100644 --- a/lib/kokkos/core/unit_test/TestExecutionSpace.hpp +++ b/lib/kokkos/core/unit_test/TestExecutionSpace.hpp @@ -25,13 +25,7 @@ struct CheckClassWithExecutionSpaceAsDataMemberIsCopyable { Kokkos::DefaultExecutionSpace device; Kokkos::DefaultHostExecutionSpace host; - KOKKOS_FUNCTION void operator()(int, int& e) const { - // not actually doing anything useful, mostly checking that - // ExecutionSpace::in_parallel() is callable - if (static_cast(device.in_parallel()) < 0) { - ++e; - } - } + KOKKOS_FUNCTION void operator()(int i, int& e) const { e += i; } CheckClassWithExecutionSpaceAsDataMemberIsCopyable() { int errors; diff --git a/lib/kokkos/core/unit_test/TestFunctorAnalysis.hpp b/lib/kokkos/core/unit_test/TestFunctorAnalysis.hpp index c024526111..e58324144e 100644 --- a/lib/kokkos/core/unit_test/TestFunctorAnalysis.hpp +++ b/lib/kokkos/core/unit_test/TestFunctorAnalysis.hpp @@ -59,16 +59,15 @@ void test_functor_analysis() { using R01 = typename A01::Reducer; - static_assert(std::is_void::value, ""); - static_assert(std::is_void::value, ""); - static_assert(std::is_void::value, ""); - static_assert(std::is_same::value, - ""); + static_assert(std::is_void::value); + static_assert(std::is_void::value); + static_assert(std::is_void::value); + static_assert(std::is_same::value); - static_assert(!A01::has_join_member_function, ""); - static_assert(!A01::has_init_member_function, ""); - static_assert(!A01::has_final_member_function, ""); - static_assert(A01::StaticValueSize == 0, ""); + static_assert(!A01::has_join_member_function); + static_assert(!A01::has_init_member_function); + static_assert(!A01::has_final_member_function); + static_assert(A01::StaticValueSize == 0); ASSERT_EQ(R01(c01).length(), 0); //------------------------------ @@ -78,16 +77,15 @@ void test_functor_analysis() { Kokkos::RangePolicy, decltype(c02), void>; using R02 = typename A02::Reducer; - static_assert(std::is_same::value, ""); - static_assert(std::is_same::value, ""); - static_assert(std::is_same::value, ""); - static_assert(std::is_same::value, - ""); + static_assert(std::is_same::value); + static_assert(std::is_same::value); + static_assert(std::is_same::value); + static_assert(std::is_same::value); - static_assert(!A02::has_join_member_function, ""); - static_assert(!A02::has_init_member_function, ""); - static_assert(!A02::has_final_member_function, ""); - static_assert(A02::StaticValueSize == sizeof(double), ""); + static_assert(!A02::has_join_member_function); + static_assert(!A02::has_init_member_function); + static_assert(!A02::has_final_member_function); + static_assert(A02::StaticValueSize == sizeof(double)); ASSERT_EQ(R02(c02).length(), 1); //------------------------------ @@ -99,23 +97,19 @@ void test_functor_analysis() { using R03 = typename A03::Reducer; static_assert(std::is_same::value, - ""); + TestFunctorAnalysis_03::value_type>::value); static_assert(std::is_same::value, - ""); + TestFunctorAnalysis_03::value_type*>::value); static_assert(std::is_same::value, - ""); + TestFunctorAnalysis_03::value_type&>::value); static_assert( - std::is_same::value, - ""); + std::is_same::value); - static_assert(A03::has_join_member_function, ""); - static_assert(A03::has_init_member_function, ""); - static_assert(!A03::has_final_member_function, ""); - static_assert( - A03::StaticValueSize == sizeof(TestFunctorAnalysis_03::value_type), ""); + static_assert(A03::has_join_member_function); + static_assert(A03::has_init_member_function); + static_assert(!A03::has_final_member_function); + static_assert(A03::StaticValueSize == + sizeof(TestFunctorAnalysis_03::value_type)); ASSERT_EQ(R03(c03).length(), 1); //------------------------------ diff --git a/lib/kokkos/core/unit_test/TestHalfOperators.hpp b/lib/kokkos/core/unit_test/TestHalfOperators.hpp index 752e3b5081..c69cdd5703 100644 --- a/lib/kokkos/core/unit_test/TestHalfOperators.hpp +++ b/lib/kokkos/core/unit_test/TestHalfOperators.hpp @@ -268,96 +268,6 @@ enum OP_TESTS { N_OP_TESTS }; -// volatile-qualified parameter type 'volatile half_type' is deprecated -#if !defined(KOKKOS_ENABLE_CXX20) && !defined(KOKKOS_ENABLE_CXX23) -template -struct Functor_TestHalfVolatileOperators { - volatile half_type h_lhs, h_rhs; - view_type actual_lhs, expected_lhs; - double d_lhs, d_rhs; - Functor_TestHalfVolatileOperators(volatile half_type lhs = half_type(0), - volatile half_type rhs = half_type(0)) - : h_lhs(lhs), h_rhs(rhs) { - actual_lhs = view_type("actual_lhs", N_OP_TESTS); - expected_lhs = view_type("expected_lhs", N_OP_TESTS); - half_type nv_tmp; - nv_tmp = h_lhs; - d_lhs = static_cast(nv_tmp); - nv_tmp = h_rhs; - d_rhs = static_cast(nv_tmp); - if (std::is_same::value) { - auto run_on_host = *this; - run_on_host(0); - } else { - Kokkos::parallel_for("Test::Functor_TestHalfVolatileOperators", - Kokkos::RangePolicy(0, 1), *this); - } - } - - KOKKOS_FUNCTION - void operator()(int) const { - volatile half_type tmp_lhs; - half_type nv_tmp; - - // Initialze output views to catch missing test invocations - for (int i = 0; i < N_OP_TESTS; ++i) { - actual_lhs(i) = 1; - expected_lhs(i) = -1; - } - - nv_tmp = h_lhs; - actual_lhs(ASSIGN) = static_cast(nv_tmp); - expected_lhs(ASSIGN) = d_lhs; - - actual_lhs(LT_H_H) = h_lhs < h_rhs; - expected_lhs(LT_H_H) = d_lhs < d_rhs; - - actual_lhs(LE_H_H) = h_lhs <= h_rhs; - expected_lhs(LE_H_H) = d_lhs <= d_rhs; - - actual_lhs(NEQ) = h_lhs != h_rhs; - expected_lhs(NEQ) = d_lhs != d_rhs; - - actual_lhs(GT_H_H) = h_lhs > h_rhs; - expected_lhs(GT_H_H) = d_lhs > d_rhs; - - actual_lhs(GE_H_H) = h_lhs >= h_rhs; - expected_lhs(GE_H_H) = d_lhs >= d_rhs; - - actual_lhs(EQ) = h_lhs == h_rhs; - expected_lhs(EQ) = d_lhs == d_rhs; - - tmp_lhs = h_lhs; - tmp_lhs += h_rhs; - nv_tmp = tmp_lhs; - actual_lhs(CADD_H_H) = static_cast(nv_tmp); - expected_lhs(CADD_H_H) = d_lhs; - expected_lhs(CADD_H_H) += d_rhs; - - tmp_lhs = h_lhs; - tmp_lhs -= h_rhs; - nv_tmp = tmp_lhs; - actual_lhs(CSUB_H_H) = static_cast(nv_tmp); - expected_lhs(CSUB_H_H) = d_lhs; - expected_lhs(CSUB_H_H) -= d_rhs; - - tmp_lhs = h_lhs; - tmp_lhs *= h_rhs; - nv_tmp = tmp_lhs; - actual_lhs(CMUL_H_H) = static_cast(nv_tmp); - expected_lhs(CMUL_H_H) = d_lhs; - expected_lhs(CMUL_H_H) *= d_rhs; - - tmp_lhs = h_lhs; - tmp_lhs /= h_rhs; - nv_tmp = tmp_lhs; - actual_lhs(CDIV_H_H) = static_cast(nv_tmp); - expected_lhs(CDIV_H_H) = d_lhs; - expected_lhs(CDIV_H_H) /= d_rhs; - } -}; -#endif - template struct Functor_TestHalfOperators { half_type h_lhs, h_rhs; @@ -995,33 +905,6 @@ void __test_half_operators(half_type h_lhs, half_type h_rhs) { static_cast(epsilon)); } -// volatile-qualified parameter type 'volatile half_type' is deprecated -#if !defined(KOKKOS_ENABLE_CXX20) && !defined(KOKKOS_ENABLE_CXX23) - // Test partial volatile support - volatile half_type _h_lhs = h_lhs; - volatile half_type _h_rhs = h_rhs; - Functor_TestHalfVolatileOperators f_volatile_device( - _h_lhs, _h_rhs); - Functor_TestHalfVolatileOperators f_volatile_host( - _h_lhs, _h_rhs); - - ExecutionSpace().fence(); - Kokkos::deep_copy(f_device_actual_lhs, f_device.actual_lhs); - Kokkos::deep_copy(f_device_expected_lhs, f_device.expected_lhs); - for (int op_test = 0; op_test < N_OP_TESTS; op_test++) { - // printf("op_test = %d\n", op_test); - if (op_test == ASSIGN || op_test == LT_H_H || op_test == LE_H_H || - op_test == NEQ || op_test == EQ || op_test == GT_H_H || - op_test == GE_H_H || op_test == CADD_H_H || op_test == CSUB_H_H || - op_test == CMUL_H_H || op_test == CDIV_H_H) { - ASSERT_NEAR(f_device_actual_lhs(op_test), f_device_expected_lhs(op_test), - static_cast(epsilon)); - ASSERT_NEAR(f_host.actual_lhs(op_test), f_host.expected_lhs(op_test), - static_cast(epsilon)); - } - } -#endif - // is_trivially_copyable is false with the addition of explicit // copy constructors that are required for supporting reductions // ASSERT_TRUE(std::is_trivially_copyable::value); diff --git a/lib/kokkos/core/unit_test/TestHostSharedPtrAccessOnDevice.hpp b/lib/kokkos/core/unit_test/TestHostSharedPtrAccessOnDevice.hpp index 3ee2ff5205..467b9ad157 100644 --- a/lib/kokkos/core/unit_test/TestHostSharedPtrAccessOnDevice.hpp +++ b/lib/kokkos/core/unit_test/TestHostSharedPtrAccessOnDevice.hpp @@ -37,7 +37,7 @@ template struct CheckAccessStoredPointerAndDereferenceOnDevice { SmartPtr m_device_ptr; using ElementType = typename SmartPtr::element_type; - static_assert(std::is_same::value, ""); + static_assert(std::is_same::value); CheckAccessStoredPointerAndDereferenceOnDevice(SmartPtr device_ptr) : m_device_ptr(device_ptr) { diff --git a/lib/kokkos/core/unit_test/TestInitializationSettings.cpp b/lib/kokkos/core/unit_test/TestInitializationSettings.cpp index f5be0e47aa..40dc3f11df 100644 --- a/lib/kokkos/core/unit_test/TestInitializationSettings.cpp +++ b/lib/kokkos/core/unit_test/TestInitializationSettings.cpp @@ -20,30 +20,6 @@ namespace { -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -void take_initialization_settings(Kokkos::InitializationSettings const&) {} - -TEST(defaultdevicetype, - init_arguments_implicit_conversion_to_initialization_settings) { - Kokkos::InitArguments arguments; - take_initialization_settings(arguments); // check that conversion is implicit - arguments.device_id = 1; - arguments.tune_internals = true; - Kokkos::InitializationSettings settings{arguments}; - EXPECT_FALSE(settings.has_num_threads()); - EXPECT_TRUE(settings.has_device_id()); - EXPECT_EQ(settings.get_device_id(), 1); - EXPECT_FALSE(settings.has_num_devices()); - EXPECT_FALSE(settings.has_skip_device()); - EXPECT_FALSE(settings.has_disable_warnings()); - EXPECT_TRUE(settings.has_tune_internals()); - EXPECT_TRUE(settings.get_tune_internals()); - EXPECT_FALSE(settings.has_tools_help()); - EXPECT_FALSE(settings.has_tools_libs()); - EXPECT_FALSE(settings.has_tools_args()); -} -#endif - TEST(defaultdevicetype, initialization_settings) { auto const settings = Kokkos::InitializationSettings() .set_num_threads(255) @@ -52,8 +28,6 @@ TEST(defaultdevicetype, initialization_settings) { EXPECT_TRUE(settings.has_num_threads()); EXPECT_EQ(settings.get_num_threads(), 255); EXPECT_FALSE(settings.has_device_id()); - EXPECT_FALSE(settings.has_num_devices()); - EXPECT_FALSE(settings.has_skip_device()); EXPECT_TRUE(settings.has_disable_warnings()); EXPECT_FALSE(settings.get_disable_warnings()); EXPECT_FALSE(settings.has_tune_internals()); @@ -75,8 +49,6 @@ constexpr bool test_initialization_settings_getter() { TYPE>::value); CHECK_INITIALIZATION_SETTINGS_GETTER_RETURN_TYPE(num_threads, int); CHECK_INITIALIZATION_SETTINGS_GETTER_RETURN_TYPE(device_id, int); - CHECK_INITIALIZATION_SETTINGS_GETTER_RETURN_TYPE(num_devices, int); - CHECK_INITIALIZATION_SETTINGS_GETTER_RETURN_TYPE(skip_device, int); CHECK_INITIALIZATION_SETTINGS_GETTER_RETURN_TYPE(disable_warnings, bool); CHECK_INITIALIZATION_SETTINGS_GETTER_RETURN_TYPE(tune_internals, bool); CHECK_INITIALIZATION_SETTINGS_GETTER_RETURN_TYPE(tools_help, bool); diff --git a/lib/kokkos/core/unit_test/TestJoinBackwardCompatibility.hpp b/lib/kokkos/core/unit_test/TestJoinBackwardCompatibility.hpp index 24cf52aa70..efe4a2307a 100644 --- a/lib/kokkos/core/unit_test/TestJoinBackwardCompatibility.hpp +++ b/lib/kokkos/core/unit_test/TestJoinBackwardCompatibility.hpp @@ -36,9 +36,8 @@ KOKKOS_FUNCTION constexpr MyErrorCode operator|(MyErrorCode lhs, } static_assert((no_error | error_operator_plus_equal_volatile) == - error_operator_plus_equal_volatile, - ""); -static_assert((error_join_volatile | error_operator_plus_equal) == 0b101, ""); + error_operator_plus_equal_volatile); +static_assert((error_join_volatile | error_operator_plus_equal) == 0b101); struct MyJoinBackCompatValueType { MyErrorCode err = no_error; diff --git a/lib/kokkos/core/unit_test/TestMDRangePolicyCTAD.cpp b/lib/kokkos/core/unit_test/TestMDRangePolicyCTAD.cpp new file mode 100644 index 0000000000..b2c3d021c3 --- /dev/null +++ b/lib/kokkos/core/unit_test/TestMDRangePolicyCTAD.cpp @@ -0,0 +1,138 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#include + +namespace { + +struct TestMDRangePolicyCTAD { + template + static void maybe_unused(Ts&&...) {} + + struct SomeExecutionSpace { + using execution_space = SomeExecutionSpace; + using size_type = size_t; + }; + static_assert(Kokkos::is_execution_space_v); + + struct ImplicitlyConvertibleToDefaultExecutionSpace { + [[maybe_unused]] operator Kokkos::DefaultExecutionSpace() const { + return Kokkos::DefaultExecutionSpace(); + } + }; + static_assert(!Kokkos::is_execution_space_v< + ImplicitlyConvertibleToDefaultExecutionSpace>); + + [[maybe_unused]] static inline Kokkos::DefaultExecutionSpace des; + [[maybe_unused]] static inline ImplicitlyConvertibleToDefaultExecutionSpace + notEs; + [[maybe_unused]] static inline SomeExecutionSpace ses; + + [[maybe_unused]] static inline int t[5]; + [[maybe_unused]] static inline int64_t tt[5]; + [[maybe_unused]] static inline Kokkos::Array a; + [[maybe_unused]] static inline Kokkos::Array aa; + [[maybe_unused]] static inline int64_t i64; + + // Workaround for nvc++ (CUDA-11.7-NVHPC) ignoring [[maybe_unused]] on + // ImplicitlyConvertibleToDefaultExecutionSpace::operator + // Kokkos::DefaultExecutionSpace() const + [[maybe_unused]] static inline Kokkos::DefaultExecutionSpace notEsToDes = + notEs; + + // Workaround for HIP-ROCm-5.2 "declared but never referenced" + TestMDRangePolicyCTAD() { + maybe_unused(des, notEs, ses, t, tt, a, aa, notEsToDes, i64); + } + + // MDRangePolicy with C array parameters + + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(t, t))>); + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(t, t, tt))>); + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(des, t, tt))>); + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(notEs, t, t))>); + + static_assert( + std::is_same_v< + Kokkos::MDRangePolicy>, + decltype(Kokkos::MDRangePolicy(ses, t, t))>); + + // MDRangePolicy with Kokkos::initializer_list parameters + + static_assert(std::is_same_v>, + decltype(Kokkos::MDRangePolicy( + {1, 2, 3, 4, 5, 6}, {1, 2, 3, 4, 5, 6}))>); + + static_assert(std::is_same_v>, + decltype(Kokkos::MDRangePolicy( + {1, 2, 3, 4, 5, 6}, {1, 2, 3, 4, 5, 6}, + {i64, i64, i64, i64, i64, i64}))>); + + static_assert(std::is_same_v>, + decltype(Kokkos::MDRangePolicy( + des, {1, 2, 3, 4, 5, 6}, + {i64, i64, i64, i64, i64, i64}))>); + + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(notEs, {1, 2, 3, 4, 5, 6}, + {1, 2, 3, 4, 5, 6}))>); + + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(ses, {1, 2, 3, 4, 5, 6}, + {1, 2, 3, 4, 5, 6}))>); + + // MDRangePolicy with Kokkos::Array parameters + + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(a, a))>); + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(a, a, aa))>); + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(des, a, a))>); + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(notEs, a, a))>); + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(des, a, a, aa))>); + static_assert( + std::is_same_v>, + decltype(Kokkos::MDRangePolicy(notEs, a, a, aa))>); + + static_assert( + std::is_same_v< + Kokkos::MDRangePolicy>, + decltype(Kokkos::MDRangePolicy(ses, a, a))>); + static_assert( + std::is_same_v< + Kokkos::MDRangePolicy>, + decltype(Kokkos::MDRangePolicy(ses, a, a, aa))>); +}; + +} // namespace diff --git a/lib/kokkos/core/unit_test/TestMDRangePolicyConstructors.hpp b/lib/kokkos/core/unit_test/TestMDRangePolicyConstructors.hpp index f577f415e7..6f241b45d4 100644 --- a/lib/kokkos/core/unit_test/TestMDRangePolicyConstructors.hpp +++ b/lib/kokkos/core/unit_test/TestMDRangePolicyConstructors.hpp @@ -18,6 +18,8 @@ #include +#include + namespace { template @@ -86,12 +88,56 @@ TEST(TEST_CATEGORY_DEATH, policy_bounds_unsafe_narrowing_conversions) { using Policy = Kokkos::MDRangePolicy, Kokkos::IndexType>; + std::string msg = + "Kokkos::MDRangePolicy bound type error: an unsafe implicit conversion " + "is " + "performed on a bound (-1) in dimension (0), which may not preserve its " + "original value.\n"; + std::string expected = std::regex_replace(msg, std::regex("\\(|\\)"), "\\$&"); + ::testing::FLAGS_gtest_death_test_style = "threadsafe"; - ASSERT_DEATH( - { - (void)Policy({-1, 0}, {2, 3}); - }, - "unsafe narrowing conversion"); + ASSERT_DEATH({ (void)Policy({-1, 0}, {2, 3}); }, expected); +} + +TEST(TEST_CATEGORY_DEATH, policy_invalid_bounds) { + using Policy = Kokkos::MDRangePolicy>; + + ::testing::FLAGS_gtest_death_test_style = "threadsafe"; + + auto [dim0, dim1] = (Policy::inner_direction == Kokkos::Iterate::Right) + ? std::make_pair(1, 0) + : std::make_pair(0, 1); + std::string msg1 = + "Kokkos::MDRangePolicy bounds error: The lower bound (100) is greater " + "than its upper bound (90) in dimension " + + std::to_string(dim0) + ".\n"; + + std::string msg2 = + "Kokkos::MDRangePolicy bounds error: The lower bound (100) is greater " + "than its upper bound (90) in dimension " + + std::to_string(dim1) + ".\n"; + +#if !defined(KOKKOS_ENABLE_DEPRECATED_CODE_4) + // escape the parentheses in the regex to match the error message + msg1 = std::regex_replace(msg1, std::regex("\\(|\\)"), "\\$&"); + (void)msg2; + ASSERT_DEATH({ (void)Policy({100, 100}, {90, 90}); }, msg1); +#else + if (!Kokkos::show_warnings()) { + GTEST_SKIP() << "Kokkos warning messages are disabled"; + } + + ::testing::internal::CaptureStderr(); + (void)Policy({100, 100}, {90, 90}); +#ifdef KOKKOS_ENABLE_DEPRECATION_WARNINGS + ASSERT_EQ(::testing::internal::GetCapturedStderr(), msg1 + msg2); +#else + ASSERT_TRUE(::testing::internal::GetCapturedStderr().empty()); + (void)msg1; + (void)msg2; +#endif + +#endif } #endif diff --git a/lib/kokkos/core/unit_test/TestMathematicalFunctions.hpp b/lib/kokkos/core/unit_test/TestMathematicalFunctions.hpp index 424ba05a90..ad035d4e4b 100644 --- a/lib/kokkos/core/unit_test/TestMathematicalFunctions.hpp +++ b/lib/kokkos/core/unit_test/TestMathematicalFunctions.hpp @@ -287,21 +287,20 @@ struct FloatingPointComparison { public: template - KOKKOS_FUNCTION bool compare_near_zero(FPT const& fpv, double ulp) const { + KOKKOS_FUNCTION bool compare_near_zero(FPT const& fpv, int ulp) const { auto abs_tol = eps(fpv) * ulp; bool ar = absolute(fpv) < abs_tol; if (!ar) { Kokkos::printf("absolute value exceeds tolerance [|%e| > %e]\n", - (double)fpv, abs_tol); + (double)fpv, (double)abs_tol); } return ar; } template - KOKKOS_FUNCTION bool compare(Lhs const& lhs, Rhs const& rhs, - double ulp) const { + KOKKOS_FUNCTION bool compare(Lhs const& lhs, Rhs const& rhs, int ulp) const { if (lhs == 0) { return compare_near_zero(rhs, ulp); } else if (rhs == 0) { @@ -315,7 +314,7 @@ struct FloatingPointComparison { bool ar = abs_diff == 0 || rel_diff < rel_tol; if (!ar) { Kokkos::printf("relative difference exceeds tolerance [%e > %e]\n", - (double)rel_diff, rel_tol); + (double)rel_diff, (double)rel_tol); } return ar; @@ -348,7 +347,7 @@ struct math_function_name; } \ MATHEMATICAL_FUNCTIONS_TEST_UNREACHABLE \ } \ - static KOKKOS_FUNCTION double ulp_factor() { return ULP_FACTOR; } \ + static KOKKOS_FUNCTION int ulp_factor() { return ULP_FACTOR; } \ }; \ using kk_##FUNC = MathUnaryFunction_##FUNC; \ template <> \ @@ -373,7 +372,7 @@ struct math_function_name; math_unary_function_return_type_t>::value); \ return REF_FUNC; \ } \ - static KOKKOS_FUNCTION double ulp_factor() { return ULP_FACTOR; } \ + static KOKKOS_FUNCTION int ulp_factor() { return ULP_FACTOR; } \ }; \ using kk_##FUNC = MathUnaryFunction_##FUNC; \ template <> \ @@ -477,7 +476,7 @@ DEFINE_UNARY_FUNCTION_EVAL(logb, 2); } \ MATHEMATICAL_FUNCTIONS_TEST_UNREACHABLE \ } \ - static KOKKOS_FUNCTION double ulp_factor() { return ULP_FACTOR; } \ + static KOKKOS_FUNCTION int ulp_factor() { return ULP_FACTOR; } \ }; \ using kk_##FUNC = MathBinaryFunction_##FUNC; \ template <> \ @@ -511,7 +510,7 @@ DEFINE_BINARY_FUNCTION_EVAL(copysign, 1); math_ternary_function_return_type_t>::value); \ return std::FUNC(x, y, z); \ } \ - static KOKKOS_FUNCTION double ulp_factor() { return ULP_FACTOR; } \ + static KOKKOS_FUNCTION int ulp_factor() { return ULP_FACTOR; } \ }; \ using kk3_##FUNC = MathTernaryFunction_##FUNC; \ template <> \ @@ -1307,12 +1306,12 @@ struct TestAbsoluteValueFunction { if (abs(static_cast(4.f)) != static_cast(4.f) || abs(static_cast(-4.f)) != static_cast(4.f)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed abs(KE::half_t)\n"); + Kokkos::printf("failed abs(KE::half_t)\n"); } if (abs(static_cast(4.f)) != static_cast(4.f) || abs(static_cast(-4.f)) != static_cast(4.f)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed abs(KE::bhalf_t)\n"); + Kokkos::printf("failed abs(KE::bhalf_t)\n"); } if (abs(5.) != 5. || abs(-5.) != 5.) { ++e; @@ -1332,19 +1331,17 @@ struct TestAbsoluteValueFunction { Kokkos::printf("failed abs(floating_point) special values\n"); } - static_assert(std::is_same::value, ""); - static_assert(std::is_same::value, ""); - static_assert(std::is_same::value, ""); + static_assert(std::is_same::value); + static_assert(std::is_same::value); + static_assert(std::is_same::value); static_assert(std::is_same(4.f))), - KE::half_t>::value, - ""); + KE::half_t>::value); static_assert(std::is_same(4.f))), - KE::bhalf_t>::value, - ""); - static_assert(std::is_same::value, ""); - static_assert(std::is_same::value, ""); + KE::bhalf_t>::value); + static_assert(std::is_same::value); + static_assert(std::is_same::value); #ifdef MATHEMATICAL_FUNCTIONS_HAVE_LONG_DOUBLE_OVERLOADS - static_assert(std::is_same::value, ""); + static_assert(std::is_same::value); #endif } }; @@ -1365,26 +1362,26 @@ struct TestFloatingPointAbsoluteValueFunction { using Kokkos::fabs; if (fabs(4.f) != 4.f || fabs(-4.f) != 4.f) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed fabs(float)\n"); + Kokkos::printf("failed fabs(float)\n"); } if (fabs(static_cast(4.f)) != static_cast(4.f) || fabs(static_cast(-4.f)) != static_cast(4.f)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed fabs(KE::half_t)\n"); + Kokkos::printf("failed fabs(KE::half_t)\n"); } if (fabs(static_cast(4.f)) != static_cast(4.f) || fabs(static_cast(-4.f)) != static_cast(4.f)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed fabs(KE::bhalf_t)\n"); + Kokkos::printf("failed fabs(KE::bhalf_t)\n"); } if (fabs(5.) != 5. || fabs(-5.) != 5.) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed fabs(double)\n"); + Kokkos::printf("failed fabs(double)\n"); } #ifdef MATHEMATICAL_FUNCTIONS_HAVE_LONG_DOUBLE_OVERLOADS if (fabs(6.l) != 6.l || fabs(-6.l) != 6.l) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed fabs(long double)\n"); + Kokkos::printf("failed fabs(long double)\n"); } #endif // special values @@ -1392,8 +1389,7 @@ struct TestFloatingPointAbsoluteValueFunction { using Kokkos::isnan; if (fabs(-0.) != 0. || !isinf(fabs(-INFINITY)) || !isnan(fabs(-NAN))) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF( - "failed fabs(floating_point) special values\n"); + Kokkos::printf("failed fabs(floating_point) special values\n"); } static_assert(std::is_same(4.f))), @@ -1425,7 +1421,7 @@ struct TestFloatingPointRemainderFunction : FloatingPointComparison { if (!compare(fmod(6.2f, 4.f), 2.2f, 1) && !compare(fmod(-6.2f, 4.f), -2.2f, 1)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed fmod(float)\n"); + Kokkos::printf("failed fmod(float)\n"); } if (!compare( fmod(static_cast(6.2f), static_cast(4.f)), @@ -1434,7 +1430,7 @@ struct TestFloatingPointRemainderFunction : FloatingPointComparison { fmod(static_cast(-6.2f), static_cast(4.f)), -static_cast(2.2f), 1)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed fmod(KE::half_t)\n"); + Kokkos::printf("failed fmod(KE::half_t)\n"); } if (!compare( fmod(static_cast(6.2f), static_cast(4.f)), @@ -1443,17 +1439,17 @@ struct TestFloatingPointRemainderFunction : FloatingPointComparison { static_cast(4.f)), -static_cast(2.2f), 1)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed fmod(KE::bhalf_t)\n"); + Kokkos::printf("failed fmod(KE::bhalf_t)\n"); } if (!compare(fmod(6.2, 4.), 2.2, 1) && !compare(fmod(-6.2, 4.), -2.2, 1)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed fmod(double)\n"); + Kokkos::printf("failed fmod(double)\n"); } #ifdef MATHEMATICAL_FUNCTIONS_HAVE_LONG_DOUBLE_OVERLOADS if (!compare(fmod(6.2l, 4.l), 2.2l, 1) && !compare(fmod(-6.2l, 4.l), -2.2l, 1)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed fmod(long double)\n"); + Kokkos::printf("failed fmod(long double)\n"); } #endif // special values @@ -1462,23 +1458,19 @@ struct TestFloatingPointRemainderFunction : FloatingPointComparison { if (!isinf(fmod(-KE::infinity::value, 1.f)) && !isnan(fmod(-KE::quiet_NaN::value, 1.f))) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF( - "failed fmod(floating_point) special values\n"); + Kokkos::printf("failed fmod(floating_point) special values\n"); } static_assert(std::is_same(4.f), static_cast(4.f))), - KE::half_t>::value, - ""); + KE::half_t>::value); static_assert(std::is_same(4.f), static_cast(4.f))), - KE::bhalf_t>::value, - ""); - static_assert(std::is_same::value, ""); - static_assert(std::is_same::value, ""); + KE::bhalf_t>::value); + static_assert(std::is_same::value); + static_assert(std::is_same::value); #ifdef MATHEMATICAL_FUNCTIONS_HAVE_LONG_DOUBLE_OVERLOADS - static_assert(std::is_same::value, - ""); + static_assert(std::is_same::value); #endif } }; @@ -1502,7 +1494,7 @@ struct TestIEEEFloatingPointRemainderFunction : FloatingPointComparison { if (!compare(remainder(6.2f, 4.f), 2.2f, 2) && !compare(remainder(-6.2f, 4.f), 2.2f, 1)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed remainder(float)\n"); + Kokkos::printf("failed remainder(float)\n"); } if (!compare(remainder(static_cast(6.2f), static_cast(4.f)), @@ -1511,7 +1503,7 @@ struct TestIEEEFloatingPointRemainderFunction : FloatingPointComparison { static_cast(4.f)), -static_cast(2.2f), 1)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed remainder(KE::half_t)\n"); + Kokkos::printf("failed remainder(KE::half_t)\n"); } if (!compare(remainder(static_cast(6.2f), static_cast(4.f)), @@ -1520,18 +1512,18 @@ struct TestIEEEFloatingPointRemainderFunction : FloatingPointComparison { static_cast(4.f)), -static_cast(2.2f), 1)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed remainder(KE::bhalf_t)\n"); + Kokkos::printf("failed remainder(KE::bhalf_t)\n"); } if (!compare(remainder(6.2, 4.), 2.2, 2) && !compare(remainder(-6.2, 4.), 2.2, 1)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed remainder(double)\n"); + Kokkos::printf("failed remainder(double)\n"); } #ifdef MATHEMATICAL_FUNCTIONS_HAVE_LONG_DOUBLE_OVERLOADS if (!compare(remainder(6.2l, 4.l), 2.2l, 1) && !compare(remainder(-6.2l, 4.l), -2.2l, 1)) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed remainder(long double)\n"); + Kokkos::printf("failed remainder(long double)\n"); } #endif // special values @@ -1540,26 +1532,23 @@ struct TestIEEEFloatingPointRemainderFunction : FloatingPointComparison { if (!isinf(remainder(-KE::infinity::value, 1.f)) && !isnan(remainder(-KE::quiet_NaN::value, 1.f))) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF( + Kokkos::printf( "failed remainder(floating_point) special values\n"); } static_assert( std::is_same(4.f), static_cast(4.f))), - KE::half_t>::value, - ""); + KE::half_t>::value); static_assert( std::is_same(4.f), static_cast(4.f))), - KE::bhalf_t>::value, - ""); - static_assert(std::is_same::value, - ""); - static_assert(std::is_same::value, ""); + KE::bhalf_t>::value); + static_assert(std::is_same::value); + static_assert(std::is_same::value); #ifdef MATHEMATICAL_FUNCTIONS_HAVE_LONG_DOUBLE_OVERLOADS static_assert( - std::is_same::value, ""); + std::is_same::value); #endif } }; @@ -1765,7 +1754,7 @@ struct TestIsNaN { #endif ) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed isnan(KE::half_t)\n"); + Kokkos::printf("failed isnan(KE::half_t)\n"); } if (isnan(static_cast(2.f)) #ifndef KOKKOS_COMPILER_NVHPC // FIXME_NVHPC 23.7 @@ -1775,7 +1764,7 @@ struct TestIsNaN { #endif ) { ++e; - KOKKOS_IMPL_DO_NOT_USE_PRINTF("failed isnan(KE::bhalf_t)\n"); + Kokkos::printf("failed isnan(KE::bhalf_t)\n"); } if (isnan(3.) #ifndef KOKKOS_COMPILER_NVHPC // FIXME_NVHPC 23.7 @@ -1801,11 +1790,11 @@ struct TestIsNaN { Kokkos::printf("failed isnan(floating_point) special values\n"); } - static_assert(std::is_same::value, ""); - static_assert(std::is_same::value, ""); - static_assert(std::is_same::value, ""); + static_assert(std::is_same::value); + static_assert(std::is_same::value); + static_assert(std::is_same::value); #ifdef MATHEMATICAL_FUNCTIONS_HAVE_LONG_DOUBLE_OVERLOADS - static_assert(std::is_same::value, ""); + static_assert(std::is_same::value); #endif } }; diff --git a/lib/kokkos/core/unit_test/TestMathematicalSpecialFunctions.hpp b/lib/kokkos/core/unit_test/TestMathematicalSpecialFunctions.hpp index 06c84c7513..7969dc8686 100644 --- a/lib/kokkos/core/unit_test/TestMathematicalSpecialFunctions.hpp +++ b/lib/kokkos/core/unit_test/TestMathematicalSpecialFunctions.hpp @@ -1213,13 +1213,13 @@ struct TestComplexBesselI0K0Function { } EXPECT_EQ(h_ref_cbk0(0), h_cbk0(0)); - int upper_limit = N; + int upper_limit_0 = N; // FIXME_SYCL Failing for Intel GPUs, 19 is the first failing test case #if defined(KOKKOS_ENABLE_SYCL) && defined(KOKKOS_ARCH_INTEL_GPU) if (std::is_same_v) - upper_limit = 19; + upper_limit_0 = 19; #endif - for (int i = 1; i < upper_limit; i++) { + for (int i = 1; i < upper_limit_0; i++) { EXPECT_LE(Kokkos::abs(h_cbk0(i) - h_ref_cbk0(i)), Kokkos::abs(h_ref_cbk0(i)) * 1e-13) << "at index " << i; @@ -1462,13 +1462,13 @@ struct TestComplexBesselI1K1Function { } EXPECT_EQ(h_ref_cbk1(0), h_cbk1(0)); - int upper_limit = N; + int upper_limit_1 = N; // FIXME_SYCL Failing for Intel GPUs, 8 is the first failing test case #if defined(KOKKOS_ENABLE_SYCL) && defined(KOKKOS_ARCH_INTEL_GPU) if (std::is_same_v) - upper_limit = 8; + upper_limit_1 = 8; #endif - for (int i = 1; i < upper_limit; i++) { + for (int i = 1; i < upper_limit_1; i++) { EXPECT_LE(Kokkos::abs(h_cbk1(i) - h_ref_cbk1(i)), Kokkos::abs(h_ref_cbk1(i)) * 1e-13) << "at index " << i; @@ -1718,20 +1718,26 @@ struct TestComplexBesselH1Function { ((HIP_VERSION_MAJOR == 5) && \ !((HIP_VERSION_MINOR == 5) || (HIP_VERSION_MINOR == 6))) EXPECT_EQ(h_ref_ch10(0), h_ch10(0)); - for (int i = 1; i < N; i++) { + int upper_limit_10 = N; +// FIXME_SYCL Failing for Intel GPUs, 17 is the first failing test case +#if defined(KOKKOS_ENABLE_SYCL) && defined(KOKKOS_ARCH_INTEL_GPU) + if (std::is_same_v) + upper_limit_10 = 17; +#endif + for (int i = 1; i < upper_limit_10; i++) { EXPECT_LE(Kokkos::abs(h_ch10(i) - h_ref_ch10(i)), Kokkos::abs(h_ref_ch10(i)) * 1e-13) << "at index " << i; } EXPECT_EQ(h_ref_ch11(0), h_ch11(0)); - int upper_limit = N; - // FIXME_SYCL Failing for Intel GPUs, 16 is the first failing test case + int upper_limit_11 = N; + // FIXME_SYCL Failing for Intel GPUs, 2 is the first failing test case #if defined(KOKKOS_ENABLE_SYCL) && defined(KOKKOS_ARCH_INTEL_GPU) if (std::is_same_v) - upper_limit = 16; + upper_limit_11 = 2; #endif - for (int i = 1; i < upper_limit; i++) { + for (int i = 1; i < upper_limit_11; i++) { EXPECT_LE(Kokkos::abs(h_ch11(i) - h_ref_ch11(i)), Kokkos::abs(h_ref_ch11(i)) * 1e-13) << "at index " << i; @@ -1912,19 +1918,26 @@ struct TestComplexBesselH2Function { ((HIP_VERSION_MAJOR == 5) && \ !((HIP_VERSION_MINOR == 5) || (HIP_VERSION_MINOR == 6))) EXPECT_EQ(h_ref_ch20(0), h_ch20(0)); - for (int i = 1; i < N; i++) { + int upper_limit_20 = N; +// FIXME_SYCL Failing for Intel GPUs, 16 is the first failing test case +#if defined(KOKKOS_ENABLE_SYCL) && defined(KOKKOS_ARCH_INTEL_GPU) + if (std::is_same_v) + upper_limit_20 = 16; +#endif + for (int i = 1; i < upper_limit_20; i++) { EXPECT_LE(Kokkos::abs(h_ch20(i) - h_ref_ch20(i)), - Kokkos::abs(h_ref_ch20(i)) * 1e-13); + Kokkos::abs(h_ref_ch20(i)) * 1e-13) + << "at index " << i; } EXPECT_EQ(h_ref_ch21(0), h_ch21(0)); - int upper_limit = N; - // FIXME_SYCL Failing for Intel GPUs, 17 is the first failing test case + int upper_limit_21 = N; + // FIXME_SYCL Failing for Intel GPUs, 1 is the first failing test case #if defined(KOKKOS_ENABLE_SYCL) && defined(KOKKOS_ARCH_INTEL_GPU) if (std::is_same_v) - upper_limit = 17; + upper_limit_21 = 1; #endif - for (int i = 1; i < upper_limit; i++) { + for (int i = 1; i < upper_limit_21; i++) { EXPECT_LE(Kokkos::abs(h_ch21(i) - h_ref_ch21(i)), Kokkos::abs(h_ref_ch21(i)) * 1e-13) << "at index " << i; @@ -1954,31 +1967,61 @@ TEST(TEST_CATEGORY, mathspecialfunc_errorfunc) { #endif TEST(TEST_CATEGORY, mathspecialfunc_cbesselj0y0) { +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + if (std::is_same_v) + GTEST_SKIP() << "skipping since test is known to fail with OpenMPTarget on " + "Intel GPUs"; // FIXME_OPENMPTARGET +#endif TestComplexBesselJ0Y0Function test; test.testit(); } TEST(TEST_CATEGORY, mathspecialfunc_cbesselj1y1) { +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + if (std::is_same_v) + GTEST_SKIP() << "skipping since test is known to fail with OpenMPTarget on " + "Intel GPUs"; // FIXME_OPENMPTARGET +#endif TestComplexBesselJ1Y1Function test; test.testit(); } TEST(TEST_CATEGORY, mathspecialfunc_cbesseli0k0) { +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + if (std::is_same_v) + GTEST_SKIP() << "skipping since test is known to fail with OpenMPTarget on " + "Intel GPUs"; // FIXME_OPENMPTARGET +#endif TestComplexBesselI0K0Function test; test.testit(); } TEST(TEST_CATEGORY, mathspecialfunc_cbesseli1k1) { +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + if (std::is_same_v) + GTEST_SKIP() << "skipping since test is known to fail with OpenMPTarget on " + "Intel GPUs"; // FIXME_OPENMPTARGET +#endif TestComplexBesselI1K1Function test; test.testit(); } TEST(TEST_CATEGORY, mathspecialfunc_cbesselh1stkind) { +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + if (std::is_same_v) + GTEST_SKIP() << "skipping since test is known to fail with OpenMPTarget on " + "Intel GPUs"; // FIXME_OPENMPTARGET +#endif TestComplexBesselH1Function test; test.testit(); } TEST(TEST_CATEGORY, mathspecialfunc_cbesselh2ndkind) { +#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_ARCH_INTEL_GPU) + if (std::is_same_v) + GTEST_SKIP() << "skipping since test is known to fail with OpenMPTarget on " + "Intel GPUs"; // FIXME_OPENMPTARGET +#endif TestComplexBesselH2Function test; test.testit(); } diff --git a/lib/kokkos/core/unit_test/TestNonTrivialScalarTypes.hpp b/lib/kokkos/core/unit_test/TestNonTrivialScalarTypes.hpp index eaf7a4125c..116ac58c39 100644 --- a/lib/kokkos/core/unit_test/TestNonTrivialScalarTypes.hpp +++ b/lib/kokkos/core/unit_test/TestNonTrivialScalarTypes.hpp @@ -214,7 +214,7 @@ struct point_t { uint8_t x, y, z; KOKKOS_FUNCTION - point_t() : x(1), y(1), z(1){}; + point_t() : x(0), y(0), z(0){}; KOKKOS_FUNCTION point_t(const point_t &val) : x(val.x), y(val.y), z(val.z){}; diff --git a/lib/kokkos/core/unit_test/TestNumericTraits.hpp b/lib/kokkos/core/unit_test/TestNumericTraits.hpp index ec1c1e0ca0..81a9d0a5e0 100644 --- a/lib/kokkos/core/unit_test/TestNumericTraits.hpp +++ b/lib/kokkos/core/unit_test/TestNumericTraits.hpp @@ -210,9 +210,10 @@ TEST(TEST_CATEGORY, numeric_traits_infinity) { #endif TestNumericTraits(); TestNumericTraits(); - // FIXME_NVHPC long double not supported -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double + // FIXME_NVHPC 23.7 long double + // FIXME_OPENMPTARGET long double on Intel GPUs +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); #endif } @@ -224,9 +225,9 @@ TEST(TEST_CATEGORY, numeric_traits_epsilon) { #endif TestNumericTraits(); TestNumericTraits(); - // FIXME_NVHPC long double not supported -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); #endif } @@ -239,9 +240,9 @@ TEST(TEST_CATEGORY, numeric_traits_round_error) { #endif TestNumericTraits(); TestNumericTraits(); - // FIXME_NVHPC long double not supported -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); #endif } @@ -253,9 +254,9 @@ TEST(TEST_CATEGORY, numeric_traits_norm_min) { #endif TestNumericTraits(); TestNumericTraits(); - // FIXME_NVHPC long double not supported -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); #endif } @@ -263,9 +264,9 @@ TEST(TEST_CATEGORY, numeric_traits_norm_min) { TEST(TEST_CATEGORY, numeric_traits_denorm_min) { TestNumericTraits(); TestNumericTraits(); - // FIXME_NVHPC long double not supported -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); #endif } @@ -302,8 +303,10 @@ TEST(TEST_CATEGORY, numeric_traits_finite_min_max) { TestNumericTraits(); TestNumericTraits(); TestNumericTraits(); -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double + // FIXME_OPENMPTARGET long double on Intel GPUs +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); TestNumericTraits(); #endif @@ -326,8 +329,10 @@ TEST(TEST_CATEGORY, numeric_traits_digits) { TestNumericTraits(); TestNumericTraits(); TestNumericTraits(); -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double + // FIXME_OPENMPTARGET long double on Intel GPUs +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); #endif } @@ -349,8 +354,10 @@ TEST(TEST_CATEGORY, numeric_traits_digits10) { TestNumericTraits(); TestNumericTraits(); TestNumericTraits(); -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double + // FIXME_OPENMPTARGET long double on Intel GPUs +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); #endif } @@ -358,8 +365,10 @@ TEST(TEST_CATEGORY, numeric_traits_digits10) { TEST(TEST_CATEGORY, numeric_traits_max_digits10) { TestNumericTraits(); TestNumericTraits(); -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double + // FIXME_OPENMPTARGET long double on Intel GPUs +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); #endif } @@ -380,8 +389,10 @@ TEST(TEST_CATEGORY, numeric_traits_radix) { TestNumericTraits(); TestNumericTraits(); TestNumericTraits(); -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double + // FIXME_OPENMPTARGET long double on Intel GPUs +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); #endif } @@ -395,8 +406,10 @@ TEST(TEST_CATEGORY, numeric_traits_min_max_exponent) { TestNumericTraits(); TestNumericTraits(); TestNumericTraits(); -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double + // FIXME_OPENMPTARGET long double on Intel GPUs +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); TestNumericTraits(); #endif @@ -407,8 +420,10 @@ TEST(TEST_CATEGORY, numeric_traits_min_max_exponent10) { TestNumericTraits(); TestNumericTraits(); TestNumericTraits(); -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double + // FIXME_OPENMPTARGET long double on Intel GPUs +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); TestNumericTraits(); #endif @@ -426,8 +441,10 @@ TEST(TEST_CATEGORY, numeric_traits_quiet_and_signaling_nan) { TestNumericTraits(); TestNumericTraits(); TestNumericTraits(); -#if !defined(KOKKOS_ENABLE_CUDA) || \ - !defined(KOKKOS_COMPILER_NVHPC) // 23.7 long double: + // FIXME_NVHPC 23.7 long double + // FIXME_OPENMPTARGET long double on Intel GPUs +#if (!defined(KOKKOS_ENABLE_CUDA) || !defined(KOKKOS_COMPILER_NVHPC)) && \ + (!defined(KOKKOS_ENABLE_OPENMPTARGET) || !defined(KOKKOS_ARCH_INTEL_GPU)) TestNumericTraits(); TestNumericTraits(); #endif @@ -442,7 +459,7 @@ struct HasNoSpecialization {}; using TRAIT##_value_t = decltype(Kokkos::Experimental::TRAIT::value); \ template \ using has_##TRAIT = Kokkos::is_detected; \ - static_assert(!has_##TRAIT::value, ""); + static_assert(!has_##TRAIT::value); CHECK_TRAIT_IS_SFINAE_FRIENDLY(infinity) CHECK_TRAIT_IS_SFINAE_FRIENDLY(finite_min) @@ -524,39 +541,39 @@ CHECK_SAME_AS_NUMERIC_LIMITS_MEMBER_FUNCTION(long double, denorm_min); #endif // clang-format off -static_assert(Kokkos::Experimental::norm_min::value == std::numeric_limits< float>::min(), ""); -static_assert(Kokkos::Experimental::norm_min::value == std::numeric_limits< double>::min(), ""); -static_assert(Kokkos::Experimental::norm_min::value == std::numeric_limits::min(), ""); +static_assert(Kokkos::Experimental::norm_min::value == std::numeric_limits< float>::min()); +static_assert(Kokkos::Experimental::norm_min::value == std::numeric_limits< double>::min()); +static_assert(Kokkos::Experimental::norm_min::value == std::numeric_limits::min()); // integer types -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< char>::min(), ""); -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< signed char>::min(), ""); -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< unsigned char>::min(), ""); -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< short>::min(), ""); -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< unsigned short>::min(), ""); -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< int>::min(), ""); -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< unsigned int>::min(), ""); -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< long int>::min(), ""); -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< unsigned long int>::min(), ""); -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< long long int>::min(), ""); -static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits::min(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< char>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< signed char>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< unsigned char>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< short>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< unsigned short>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< int>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< unsigned int>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< long int>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< unsigned long int>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< long long int>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits::max(), ""); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< char>::min()); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< signed char>::min()); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< unsigned char>::min()); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< short>::min()); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< unsigned short>::min()); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< int>::min()); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< unsigned int>::min()); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< long int>::min()); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< unsigned long int>::min()); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits< long long int>::min()); +static_assert(Kokkos::Experimental::finite_min::value == std::numeric_limits::min()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< char>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< signed char>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< unsigned char>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< short>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< unsigned short>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< int>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< unsigned int>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< long int>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< unsigned long int>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< long long int>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits::max()); // floating point types -static_assert(Kokkos::Experimental::finite_min::value == -std::numeric_limits< float>::max(), ""); -static_assert(Kokkos::Experimental::finite_min::value == -std::numeric_limits< double>::max(), ""); -static_assert(Kokkos::Experimental::finite_min::value == -std::numeric_limits::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< float>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< double>::max(), ""); -static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits::max(), ""); +static_assert(Kokkos::Experimental::finite_min::value == -std::numeric_limits< float>::max()); +static_assert(Kokkos::Experimental::finite_min::value == -std::numeric_limits< double>::max()); +static_assert(Kokkos::Experimental::finite_min::value == -std::numeric_limits::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< float>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits< double>::max()); +static_assert(Kokkos::Experimental::finite_max::value == std::numeric_limits::max()); // clang-format on CHECK_SAME_AS_NUMERIC_LIMITS_MEMBER_CONSTANT(bool, digits); @@ -623,15 +640,13 @@ CHECK_SAME_AS_NUMERIC_LIMITS_MEMBER_CONSTANT(long double, max_exponent10); #undef CHECK_SAME_AS_NUMERIC_LIMITS_MEMBER_FUNCTION #undef CHECK_SAME_AS_NUMERIC_LIMITS_MEMBER_CONSTANT -#define CHECK_NAN_SAME_AS_NUMERIC_LIMITS_MEMBER_FUNCTION(T, TRAIT) \ - static_assert(Kokkos::Experimental::TRAIT::value != \ - Kokkos::Experimental::TRAIT::value, \ - ""); \ - static_assert( \ - std::numeric_limits::TRAIT() != std::numeric_limits::TRAIT(), ""); \ - static_assert(Kokkos::Experimental::TRAIT::value != \ - std::numeric_limits::TRAIT(), \ - "") +#define CHECK_NAN_SAME_AS_NUMERIC_LIMITS_MEMBER_FUNCTION(T, TRAIT) \ + static_assert(Kokkos::Experimental::TRAIT::value != \ + Kokkos::Experimental::TRAIT::value); \ + static_assert(std::numeric_limits::TRAIT() != \ + std::numeric_limits::TRAIT()); \ + static_assert(Kokkos::Experimental::TRAIT::value != \ + std::numeric_limits::TRAIT()) // Workaround compiler issue error: expression must have a constant value // See kokkos/kokkos#4574 @@ -651,14 +666,11 @@ CHECK_NAN_SAME_AS_NUMERIC_LIMITS_MEMBER_FUNCTION(long double, signaling_NaN); #define CHECK_INSTANTIATED_ON_CV_QUALIFIED_TYPES(T, TRAIT) \ static_assert(Kokkos::Experimental::TRAIT::value == \ - Kokkos::Experimental::TRAIT::value, \ - ""); \ + Kokkos::Experimental::TRAIT::value); \ static_assert(Kokkos::Experimental::TRAIT::value == \ - Kokkos::Experimental::TRAIT::value, \ - ""); \ + Kokkos::Experimental::TRAIT::value); \ static_assert(Kokkos::Experimental::TRAIT::value == \ - Kokkos::Experimental::TRAIT::value, \ - "") + Kokkos::Experimental::TRAIT::value) #define CHECK_INSTANTIATED_ON_CV_QUALIFIED_TYPES_FLOATING_POINT(TRAIT) \ CHECK_INSTANTIATED_ON_CV_QUALIFIED_TYPES(float, TRAIT); \ @@ -706,17 +718,13 @@ CHECK_INSTANTIATED_ON_CV_QUALIFIED_TYPES_FLOATING_POINT(max_exponent10); #define CHECK_NAN_INSTANTIATED_ON_CV_QUALIFIED_TYPES(T, TRAIT) \ static_assert(Kokkos::Experimental::TRAIT::value != \ - Kokkos::Experimental::TRAIT::value, \ - ""); \ + Kokkos::Experimental::TRAIT::value); \ static_assert(Kokkos::Experimental::TRAIT::value != \ - Kokkos::Experimental::TRAIT::value, \ - ""); \ + Kokkos::Experimental::TRAIT::value); \ static_assert(Kokkos::Experimental::TRAIT::value != \ - Kokkos::Experimental::TRAIT::value, \ - ""); \ + Kokkos::Experimental::TRAIT::value); \ static_assert(Kokkos::Experimental::TRAIT::value != \ - Kokkos::Experimental::TRAIT::value, \ - "") + Kokkos::Experimental::TRAIT::value) #define CHECK_NAN_INSTANTIATED_ON_CV_QUALIFIED_TYPES_FLOATING_POINT(TRAIT) \ CHECK_NAN_INSTANTIATED_ON_CV_QUALIFIED_TYPES(float, TRAIT); \ diff --git a/lib/kokkos/core/unit_test/TestOccupancyControlTrait.hpp b/lib/kokkos/core/unit_test/TestOccupancyControlTrait.hpp new file mode 100644 index 0000000000..345a906d66 --- /dev/null +++ b/lib/kokkos/core/unit_test/TestOccupancyControlTrait.hpp @@ -0,0 +1,80 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#include + +namespace { + +template +void test_policy_execution(const Kokkos::RangePolicy& policy) { + Kokkos::parallel_for(policy, KOKKOS_LAMBDA(int){}); +} +template +void test_policy_execution(const Kokkos::TeamPolicy& policy) { + Kokkos::parallel_for( + policy, + KOKKOS_LAMBDA( + const typename Kokkos::TeamPolicy::member_type&){}); +} +template +void test_policy_execution(const Kokkos::MDRangePolicy& policy) { + Kokkos::parallel_for(policy, KOKKOS_LAMBDA(int, int){}); +} + +template +void test_prefer_desired_occupancy(Policy policy) { + using Kokkos::Experimental::DesiredOccupancy; + using Kokkos::Experimental::MaximizeOccupancy; + using Kokkos::Experimental::prefer; + using Kokkos::Experimental::WorkItemProperty; + + // MaximizeOccupancy -> MaximizeOccupancy + auto const policy_still_no_occ = prefer(policy, MaximizeOccupancy{}); + test_policy_execution(policy_still_no_occ); + + // MaximizeOccupancy -> DesiredOccupancy + auto const policy_with_occ = + prefer(policy_still_no_occ, DesiredOccupancy{33}); + test_policy_execution(policy_with_occ); + + // DesiredOccupancy -> DesiredOccupancy + auto const policy_change_occ = prefer(policy_with_occ, DesiredOccupancy{24}); + test_policy_execution(policy_change_occ); + + // DesiredOccupancy -> DesiredOccupancy w/ hint + auto policy_with_occ_and_hint = Kokkos::Experimental::require( + policy_change_occ, + Kokkos::Experimental::WorkItemProperty::HintLightWeight); + test_policy_execution(policy_with_occ_and_hint); + + // DesiredOccupancy -> MaximizeOccupancy + auto const policy_drop_occ = + prefer(policy_with_occ_and_hint, MaximizeOccupancy{}); + test_policy_execution(policy_drop_occ); +} + +// FIXME_MSVC_WITH_CUDA +// This test doesn't compile with CUDA on Windows +#if !(defined(_WIN32) && defined(KOKKOS_ENABLE_CUDA)) +TEST(TEST_CATEGORY, occupancy_control) { + test_prefer_desired_occupancy(Kokkos::RangePolicy(0, 1)); + test_prefer_desired_occupancy( + Kokkos::TeamPolicy{1, Kokkos::AUTO}); + test_prefer_desired_occupancy( + Kokkos::MDRangePolicy>{{0, 0}, {1, 1}}); +} +#endif +} // namespace diff --git a/lib/kokkos/core/unit_test/TestParseCmdLineArgsAndEnvVars.cpp b/lib/kokkos/core/unit_test/TestParseCmdLineArgsAndEnvVars.cpp index 176ce9b5fe..a56dfd9efc 100644 --- a/lib/kokkos/core/unit_test/TestParseCmdLineArgsAndEnvVars.cpp +++ b/lib/kokkos/core/unit_test/TestParseCmdLineArgsAndEnvVars.cpp @@ -166,22 +166,6 @@ TEST(defaultdevicetype, cmd_line_args_device_id) { EXPECT_REMAINING_COMMAND_LINE_ARGUMENTS(cla, {"--dummy"}); } -TEST(defaultdevicetype, cmd_line_args_num_devices) { - CmdLineArgsHelper cla = {{ - "--kokkos-num-devices=5,6", - "--kokkos-num-devices=7", - "-v", - }}; - Kokkos::InitializationSettings settings; - Kokkos::Impl::parse_command_line_arguments(cla.argc(), cla.argv(), settings); - EXPECT_TRUE(settings.has_num_devices()); - EXPECT_EQ(settings.get_num_devices(), 7); - // this is the current behavior, not suggesting this cannot be revisited - EXPECT_TRUE(settings.has_skip_device()) << "behavior changed see comment"; - EXPECT_EQ(settings.get_skip_device(), 6) << "behavior changed see comment"; - EXPECT_REMAINING_COMMAND_LINE_ARGUMENTS(cla, {"-v"}); -} - TEST(defaultdevicetype, cmd_line_args_disable_warning) { CmdLineArgsHelper cla = {{ "--kokkos-disable-warnings=1", @@ -351,20 +335,6 @@ TEST(defaultdevicetype, env_vars_device_id) { EXPECT_EQ(settings.get_device_id(), 33); } -TEST(defaultdevicetype, env_vars_num_devices) { - EnvVarsHelper ev = {{ - {"KOKKOS_NUM_DEVICES", "4"}, - {"KOKKOS_SKIP_DEVICE", "1"}, - }}; - SKIP_IF_ENVIRONMENT_VARIABLE_ALREADY_SET(ev); - Kokkos::InitializationSettings settings; - Kokkos::Impl::parse_environment_variables(settings); - EXPECT_TRUE(settings.has_num_devices()); - EXPECT_EQ(settings.get_num_devices(), 4); - EXPECT_TRUE(settings.has_skip_device()); - EXPECT_EQ(settings.get_skip_device(), 1); -} - TEST(defaultdevicetype, env_vars_disable_warnings) { for (auto const& value_true : {"1", "true", "TRUE", "yEs"}) { EnvVarsHelper ev = {{ @@ -420,22 +390,20 @@ TEST(defaultdevicetype, env_vars_tune_internals) { } TEST(defaultdevicetype, visible_devices) { -#define KOKKOS_TEST_VISIBLE_DEVICES(ENV, CNT, DEV) \ - do { \ - EnvVarsHelper ev{ENV}; \ - SKIP_IF_ENVIRONMENT_VARIABLE_ALREADY_SET(ev); \ - Kokkos::InitializationSettings settings; \ - Kokkos::Impl::parse_environment_variables(settings); \ - auto computed = Kokkos::Impl::get_visible_devices(settings, CNT); \ - std::vector expected = DEV; \ - EXPECT_EQ(expected.size(), computed.size()) \ - << ev << "device count: " << CNT; \ - auto n = std::min(expected.size(), computed.size()); \ - for (int i = 0; i < n; ++i) { \ - EXPECT_EQ(expected[i], computed[i]) \ - << "devices differ at index " << i << '\n' \ - << ev << "device count: " << CNT; \ - } \ +#define KOKKOS_TEST_VISIBLE_DEVICES(ENV, CNT, DEV) \ + do { \ + EnvVarsHelper ev{ENV}; \ + SKIP_IF_ENVIRONMENT_VARIABLE_ALREADY_SET(ev); \ + auto computed = Kokkos::Impl::get_visible_devices(CNT); \ + std::vector expected = DEV; \ + EXPECT_EQ(expected.size(), computed.size()) \ + << ev << "device count: " << CNT; \ + auto n = std::min(expected.size(), computed.size()); \ + for (int i = 0; i < n; ++i) { \ + EXPECT_EQ(expected[i], computed[i]) \ + << "devices differ at index " << i << '\n' \ + << ev << "device count: " << CNT; \ + } \ } while (false) #define DEV(...) \ @@ -444,6 +412,8 @@ TEST(defaultdevicetype, visible_devices) { // first test with all environment variables that are involved in determining // the visible devices so user set var do not mess up the logic below. + // KOKKOS_NUM_DEVICES and KOKKOS_SKIP_DEVICE are deprecated since 3.7 and are + // not taken into account anymore. KOKKOS_TEST_VISIBLE_DEVICES( ENV({"KOKKOS_VISIBLE_DEVICES", "2,1"}, {"KOKKOS_NUM_DEVICES", "8"}, {"KOKKOS_SKIP_DEVICE", "1"}), @@ -452,10 +422,10 @@ TEST(defaultdevicetype, visible_devices) { ENV({"KOKKOS_VISIBLE_DEVICES", "2,1"}, {"KOKKOS_NUM_DEVICES", "8"}, ), 6, DEV(2, 1)); KOKKOS_TEST_VISIBLE_DEVICES(ENV({"KOKKOS_NUM_DEVICES", "3"}), 6, - DEV(0, 1, 2)); + DEV(0, 1, 2, 3, 4, 5)); KOKKOS_TEST_VISIBLE_DEVICES( ENV({"KOKKOS_NUM_DEVICES", "4"}, {"KOKKOS_SKIP_DEVICE", "1"}, ), 6, - DEV(0, 2, 3)); + DEV(0, 1, 2, 3, 4, 5)); KOKKOS_TEST_VISIBLE_DEVICES(ENV({"KOKKOS_VISIBLE_DEVICES", "1,3,4"}), 6, DEV(1, 3, 4)); KOKKOS_TEST_VISIBLE_DEVICES( diff --git a/lib/kokkos/core/unit_test/TestRangePolicyCTAD.cpp b/lib/kokkos/core/unit_test/TestRangePolicyCTAD.cpp new file mode 100644 index 0000000000..20288e2b40 --- /dev/null +++ b/lib/kokkos/core/unit_test/TestRangePolicyCTAD.cpp @@ -0,0 +1,150 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#include +#include "Kokkos_Core_fwd.hpp" + +namespace { + +struct TestRangePolicyCTAD { + struct SomeExecutionSpace { + using execution_space = SomeExecutionSpace; + using size_type = size_t; + + [[maybe_unused]] static int concurrency() { return 0; } + }; + static_assert(Kokkos::is_execution_space_v); + + struct ImplicitlyConvertibleToDefaultExecutionSpace { + [[maybe_unused]] operator Kokkos::DefaultExecutionSpace() const { + return Kokkos::DefaultExecutionSpace(); + } + }; + static_assert(!Kokkos::is_execution_space_v< + ImplicitlyConvertibleToDefaultExecutionSpace>); + + [[maybe_unused]] static inline auto i64 = int64_t(); + [[maybe_unused]] static inline auto i32 = int32_t(); + [[maybe_unused]] static inline auto cs = Kokkos::ChunkSize(0); + [[maybe_unused]] static inline auto des = Kokkos::DefaultExecutionSpace(); + [[maybe_unused]] static inline auto nes = + ImplicitlyConvertibleToDefaultExecutionSpace(); + [[maybe_unused]] static inline auto ses = SomeExecutionSpace(); + + // RangePolicy() + + [[maybe_unused]] static inline auto rp = Kokkos::RangePolicy{}; + static_assert(std::is_same_v, decltype(rp)>); + + // RangePolicy(index_type, index_type) + + [[maybe_unused]] static inline auto rpi64i64 = Kokkos::RangePolicy(i64, i64); + static_assert(std::is_same_v, decltype(rpi64i64)>); + + [[maybe_unused]] static inline auto rpi64i32 = Kokkos::RangePolicy(i64, i32); + static_assert(std::is_same_v, decltype(rpi64i32)>); + + [[maybe_unused]] static inline auto rpi32i64 = Kokkos::RangePolicy(i32, i64); + static_assert(std::is_same_v, decltype(rpi32i64)>); + + [[maybe_unused]] static inline auto rpi32i32 = Kokkos::RangePolicy(i32, i32); + static_assert(std::is_same_v, decltype(rpi32i32)>); + + // RangePolicy(index_type, index_type, ChunkSize) + + [[maybe_unused]] static inline auto rpi64i64cs = + Kokkos::RangePolicy(i64, i64, cs); + static_assert(std::is_same_v, decltype(rpi64i64cs)>); + + [[maybe_unused]] static inline auto rpi64i32cs = + Kokkos::RangePolicy(i64, i32, cs); + static_assert(std::is_same_v, decltype(rpi64i32cs)>); + + [[maybe_unused]] static inline auto rpi32i64cs = + Kokkos::RangePolicy(i32, i64, cs); + static_assert(std::is_same_v, decltype(rpi32i64cs)>); + + [[maybe_unused]] static inline auto rpi32i32cs = + Kokkos::RangePolicy(i32, i32, cs); + static_assert(std::is_same_v, decltype(rpi32i32cs)>); + + // RangePolicy(execution_space, index_type, index_type) + + [[maybe_unused]] static inline auto rpdesi64i64 = + Kokkos::RangePolicy(des, i64, i64); + static_assert(std::is_same_v, decltype(rpdesi64i64)>); + + [[maybe_unused]] static inline auto rpdesi32i32 = + Kokkos::RangePolicy(des, i32, i32); + static_assert(std::is_same_v, decltype(rpdesi32i32)>); + + [[maybe_unused]] static inline auto rpnesi64i64 = + Kokkos::RangePolicy(nes, i64, i64); + static_assert(std::is_same_v, decltype(rpnesi64i64)>); + + [[maybe_unused]] static inline auto rpnesi32i32 = + Kokkos::RangePolicy(nes, i32, i32); + static_assert(std::is_same_v, decltype(rpnesi32i32)>); + + [[maybe_unused]] static inline auto rpsesi64i64 = + Kokkos::RangePolicy(ses, i64, i64); + static_assert(std::is_same_v, + decltype(rpsesi64i64)>); + + [[maybe_unused]] static inline auto rpsesi32i32 = + Kokkos::RangePolicy(ses, i32, i32); + static_assert(std::is_same_v, + decltype(rpsesi32i32)>); + + // RangePolicy(execution_space, index_type, index_type, ChunkSize) + + [[maybe_unused]] static inline auto rpdesi64i64cs = + Kokkos::RangePolicy(des, i64, i64, cs); + static_assert(std::is_same_v, decltype(rpdesi64i64cs)>); + + [[maybe_unused]] static inline auto rpdesi32i32cs = + Kokkos::RangePolicy(des, i32, i32, cs); + static_assert(std::is_same_v, decltype(rpdesi32i32cs)>); + + [[maybe_unused]] static inline auto rpnesi64i64cs = + Kokkos::RangePolicy(nes, i64, i64, cs); + static_assert(std::is_same_v, decltype(rpnesi64i64cs)>); + + [[maybe_unused]] static inline auto rpnesi32i32cs = + Kokkos::RangePolicy(nes, i32, i32, cs); + static_assert(std::is_same_v, decltype(rpnesi32i32cs)>); + + [[maybe_unused]] static inline auto rpsesi64i64cs = + Kokkos::RangePolicy(ses, i64, i64, cs); + static_assert(std::is_same_v, + decltype(rpsesi64i64cs)>); + + [[maybe_unused]] static inline auto rpsesi32i32cs = + Kokkos::RangePolicy(ses, i32, i32, cs); + static_assert(std::is_same_v, + decltype(rpsesi32i32cs)>); + +}; // TestRangePolicyCTAD struct + +// To eliminate maybe_unused warning on some compilers + +[[maybe_unused]] const Kokkos::DefaultExecutionSpace nestodes = + TestRangePolicyCTAD::ImplicitlyConvertibleToDefaultExecutionSpace(); + +[[maybe_unused]] const auto sesconcurrency = + TestRangePolicyCTAD::ses.concurrency(); + +} // namespace diff --git a/lib/kokkos/core/unit_test/TestRangePolicyConstructors.hpp b/lib/kokkos/core/unit_test/TestRangePolicyConstructors.hpp index 0a7e59ed98..c8c1542af1 100644 --- a/lib/kokkos/core/unit_test/TestRangePolicyConstructors.hpp +++ b/lib/kokkos/core/unit_test/TestRangePolicyConstructors.hpp @@ -18,6 +18,9 @@ #include +#include +#include + namespace { TEST(TEST_CATEGORY, range_policy_runtime_parameters) { @@ -70,4 +73,127 @@ TEST(TEST_CATEGORY, range_policy_runtime_parameters) { } } +TEST(TEST_CATEGORY_DEATH, range_policy_invalid_bounds) { + using Policy = Kokkos::RangePolicy; + using ChunkSize = Kokkos::ChunkSize; + + std::string msg = + "Kokkos::RangePolicy bounds error: The lower bound (100) is greater than " + "the upper bound (90).\n"; +#ifndef KOKKOS_ENABLE_DEPRECATED_CODE_4 + // escape the parentheses in the regex to match the error message + msg = std::regex_replace(msg, std::regex("\\(|\\)"), "\\$&"); + ASSERT_DEATH({ (void)Policy(100, 90); }, msg); + + ASSERT_DEATH({ (void)Policy(TEST_EXECSPACE(), 100, 90, ChunkSize(10)); }, + msg); +#else + + if (!Kokkos::show_warnings()) { + GTEST_SKIP() << "Kokkos warning messages are disabled"; + } + + { + ::testing::internal::CaptureStderr(); + Policy policy(100, 90); + ASSERT_EQ((int)policy.begin(), 0); + ASSERT_EQ((int)policy.end(), 0); +#ifdef KOKKOS_ENABLE_DEPRECATION_WARNINGS + ASSERT_EQ(::testing::internal::GetCapturedStderr(), msg); +#else + ASSERT_TRUE(::testing::internal::GetCapturedStderr().empty()); + (void)msg; +#endif + } + + { + ::testing::internal::CaptureStderr(); + Policy policy(TEST_EXECSPACE(), 100, 90, ChunkSize(10)); + ASSERT_EQ((int)policy.begin(), 0); + ASSERT_EQ((int)policy.end(), 0); +#ifdef KOKKOS_ENABLE_DEPRECATION_WARNINGS + ASSERT_EQ(::testing::internal::GetCapturedStderr(), msg); +#else + ASSERT_TRUE(::testing::internal::GetCapturedStderr().empty()); + (void)msg; +#endif + } + +#endif +} + +TEST(TEST_CATEGORY_DEATH, range_policy_implicitly_converted_bounds) { + using UIntIndexType = Kokkos::IndexType; + using IntIndexType = Kokkos::IndexType; + using UIntPolicy = Kokkos::RangePolicy; + using IntPolicy = Kokkos::RangePolicy; + + std::string msg = + "Kokkos::RangePolicy bound type error: an unsafe implicit conversion is " + "performed on a bound (), which may not preserve its original value.\n"; + + auto get_error_msg = [](auto str, auto val) { + return str.insert(str.find("(") + 1, std::to_string(val).c_str()); + }; +#ifndef KOKKOS_ENABLE_DEPRECATED_CODE_4 + std::string expected = std::regex_replace(msg, std::regex("\\(|\\)"), "\\$&"); + { + int test_val = -1; + ASSERT_DEATH({ (void)UIntPolicy(test_val, 10); }, + get_error_msg(expected, test_val)); + } + { + unsigned test_val = std::numeric_limits::max(); + ASSERT_DEATH({ (void)IntPolicy(0u, test_val); }, + get_error_msg(expected, test_val)); + } + { + long long test_val = std::numeric_limits::max(); + ASSERT_DEATH({ (void)IntPolicy(0LL, test_val); }, + get_error_msg(expected, test_val)); + } + { + int test_val = -1; + ASSERT_DEATH({ (void)UIntPolicy(test_val, 10, Kokkos::ChunkSize(2)); }, + get_error_msg(expected, test_val)); + } + +#else + { + ::testing::internal::CaptureStderr(); + int test_val = -1; + UIntPolicy policy(test_val, 10); + ASSERT_EQ(policy.begin(), 0u); + ASSERT_EQ(policy.end(), 0u); +#ifdef KOKKOS_ENABLE_DEPRECATION_WARNINGS + if (Kokkos::show_warnings()) { + auto s = std::string(::testing::internal::GetCapturedStderr()); + ASSERT_EQ(s.substr(0, s.find("\n") + 1), get_error_msg(msg, test_val)); + } +#else + ASSERT_TRUE(::testing::internal::GetCapturedStderr().empty()); + (void)msg; + (void)get_error_msg; +#endif + } + { + ::testing::internal::CaptureStderr(); + unsigned test_val = std::numeric_limits::max(); + IntPolicy policy(0u, test_val); + ASSERT_EQ(policy.begin(), 0); + ASSERT_EQ(policy.end(), 0); +#ifdef KOKKOS_ENABLE_DEPRECATION_WARNINGS + if (Kokkos::show_warnings()) { + auto s = std::string(::testing::internal::GetCapturedStderr()); + ASSERT_EQ(s.substr(0, s.find("\n") + 1), get_error_msg(msg, test_val)); + } +#else + ASSERT_TRUE(::testing::internal::GetCapturedStderr().empty()); + (void)msg; + (void)get_error_msg; +#endif + } +#endif +} + } // namespace diff --git a/lib/kokkos/core/unit_test/TestReducers.hpp b/lib/kokkos/core/unit_test/TestReducers.hpp index 957b9a0ca1..fbcb9629af 100644 --- a/lib/kokkos/core/unit_test/TestReducers.hpp +++ b/lib/kokkos/core/unit_test/TestReducers.hpp @@ -19,6 +19,7 @@ #include #include +#include //-------------------------------------------------------------------------- @@ -46,6 +47,37 @@ struct TestReducers { void operator()(const int& i, Scalar& value) const { value += values(i); } }; + struct TeamSumFunctor { + using member_type = typename Kokkos::TeamPolicy::member_type; + + KOKKOS_INLINE_FUNCTION + void operator()(const member_type& m, Scalar& value) const { + if (m.team_rank() == m.team_size() - 1) value += Scalar(1); + } + }; + + struct TeamSumNestedFunctor { + using member_type = typename Kokkos::TeamPolicy::member_type; + + SumFunctor f; + int M, N; + Kokkos::View result; + + TeamSumNestedFunctor(SumFunctor& f_, const int M_, const int N_, + Kokkos::View result_) + : f(f_), M(M_), N(N_), result(result_) {} + + KOKKOS_INLINE_FUNCTION + void operator()(const member_type& m) const { + const int i = m.league_rank(); + Scalar local_scalar; + Kokkos::Sum reducer_scalar( + local_scalar); + Kokkos::parallel_reduce(Kokkos::TeamThreadRange(m, N), f, reducer_scalar); + result(i) = local_scalar; + } + }; + struct ProdFunctor { Kokkos::View values; @@ -319,6 +351,102 @@ struct TestReducers { value = value || values(i); } }; + + // get number of teams for TeamPolicy depending on the tested type + constexpr static int get_num_teams() { + if constexpr (sizeof(Scalar) == 1) { + return 126; + } else if constexpr (std::is_same_v) { + return 256; + } + + return 1024; + } + + static void test_sum_team_policy(int N, SumFunctor f, Scalar reference_sum) { +#ifdef KOKKOS_ENABLE_OPENACC + if constexpr (std::is_same_v && + (std::is_same_v || + std::is_same_v)) { + return; // FIXME_OPENACC + } +#endif + + Scalar sum_scalar; + Kokkos::View sum_view("result"); + Kokkos::deep_copy(sum_view, Scalar(1)); + + // Test team policy reduction + { + constexpr int num_teams = get_num_teams(); + TeamSumFunctor tf; + // FIXME_OPENMPTARGET temporary restriction for team size to be at least + // 32 +#ifdef KOKKOS_ENABLE_OPENMPTARGET + int team_size = + std::is_same::value + ? 32 + : 1; +#else + int team_size = 1; +#endif + auto team_pol = Kokkos::TeamPolicy(num_teams, team_size); + Kokkos::parallel_reduce(team_pol, tf, sum_view); + Kokkos::deep_copy(sum_scalar, sum_view); + ASSERT_EQ(sum_scalar, Scalar{num_teams}) << "num_teams: " << num_teams; + } + + // Test TeamThreadRange level reduction with 0 work produces 0 result + { + const int league_size = 1; + Kokkos::View result("result", league_size); + TeamSumNestedFunctor tnf(f, league_size, 0, result); + // FIXME_OPENMPTARGET temporary restriction for team size to be at least + // 32 +#ifdef KOKKOS_ENABLE_OPENMPTARGET + int team_size = + std::is_same::value + ? 32 + : 1; +#else + int team_size = 1; +#endif + auto team_pol = Kokkos::TeamPolicy(1, team_size); + Kokkos::parallel_for(team_pol, tnf); + auto result_h = + Kokkos::create_mirror_view_and_copy(Kokkos::HostSpace(), result); + ASSERT_EQ(result_h(0), Scalar{0}) << "N: " << N; + } + + // Same test as above, but with inner reduction over N, and league_size=10 + { + const int league_size = 10; + Kokkos::View result("result", league_size); + TeamSumNestedFunctor tnf(f, league_size, N, result); + // FIXME_OPENMPTARGET temporary restriction for team size to be at least + // 32 +#ifdef KOKKOS_ENABLE_OPENMPTARGET + int initial_team_size = + std::is_same_v ? 32 + : 1; +#else + int initial_team_size = 1; +#endif + auto team_size_max = + Kokkos::TeamPolicy(league_size, initial_team_size) + .team_size_max(tnf, Kokkos::ParallelForTag()); + auto team_size = std::min(team_size_max, TEST_EXECSPACE().concurrency()); + auto team_pol = Kokkos::TeamPolicy(league_size, team_size); + Kokkos::parallel_for(team_pol, tnf); + auto result_h = + Kokkos::create_mirror_view_and_copy(Kokkos::HostSpace(), result); + for (int i = 0; i < result_h.extent_int(0); ++i) { + ASSERT_EQ(result_h(i), reference_sum) << "N: " << N; + } + } + } + static void test_sum(int N) { Kokkos::View values("Values", N); auto h_values = Kokkos::create_mirror_view(values); @@ -374,6 +502,8 @@ struct TestReducers { ASSERT_EQ(sum_scalar_view, reference_sum) << "N: " << N; } + test_sum_team_policy(N, f, reference_sum); + { Kokkos::View sum_view("View"); sum_view() = Scalar(1); diff --git a/lib/kokkos/core/unit_test/TestReducers_d.hpp b/lib/kokkos/core/unit_test/TestReducers_d.hpp index 19eaa6d700..ecf851aa10 100644 --- a/lib/kokkos/core/unit_test/TestReducers_d.hpp +++ b/lib/kokkos/core/unit_test/TestReducers_d.hpp @@ -80,6 +80,20 @@ TEST(TEST_CATEGORY, reducers_int8_t) { TestReducers::test_prod(4); } +TEST(TEST_CATEGORY, reducers_int16_t) { + using ThisTestType = int16_t; + + TestReducers::test_sum(1); + TestReducers::test_sum(2); + TestReducers::test_sum(3); + TestReducers::test_sum(4); + + TestReducers::test_prod(1); + TestReducers::test_prod(2); + TestReducers::test_prod(3); + TestReducers::test_prod(4); +} + #if !defined(KOKKOS_ENABLE_HIP) && !defined(KOKKOS_ENABLE_OPENMPTARGET) // TODO - resolve: "Kokkos_HIP_Vectorization.hpp:80:15: error: call to // implicitly-deleted default constructor of 'conv_type' diff --git a/lib/kokkos/core/unit_test/TestSwap.hpp b/lib/kokkos/core/unit_test/TestSwap.hpp new file mode 100644 index 0000000000..4e98351cf1 --- /dev/null +++ b/lib/kokkos/core/unit_test/TestSwap.hpp @@ -0,0 +1,68 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#include + +#include +#include +#include + +namespace { + +template +struct TestSwap { + KOKKOS_FUNCTION void operator()(int, int& err) const { + { + int a = 1; + int b = 2; + Kokkos::kokkos_swap(a, b); + if (!(a == 2 && b == 1)) { + Kokkos::printf("Failed Kokkos::kokkos_swap(int, int)\n"); + ++err; + } + } + { + float a = 1; + float b = 2; + Kokkos::kokkos_swap(a, b); + if (!(a == 2 && b == 1)) { + Kokkos::printf("Failed Kokkos::kokkos_swap(float, float)\n"); + ++err; + } + } + { + int a[3] = {1, 2, 3}; + int b[3] = {4, 5, 6}; + Kokkos::kokkos_swap(a, b); + if (!(a[0] == 4 && a[1] == 5 && a[2] == 6 && b[0] == 1 && b[1] == 2 && + b[2] == 3)) { + Kokkos::printf("Failed Kokkos::kokkos_swap(int[3], int[3])\n"); + ++err; + } + } + } + + TestSwap() { + int errors; + Kokkos::parallel_reduce( + "TestSwap", Kokkos::RangePolicy(0, 1), *this, errors); + EXPECT_EQ(errors, 0); + } +}; + +TEST(TEST_CATEGORY, kokkos_swap) { TestSwap(); } + +} // namespace diff --git a/lib/kokkos/core/unit_test/TestTeamBasic.hpp b/lib/kokkos/core/unit_test/TestTeamBasic.hpp index c395bc0837..a3d84c5e16 100644 --- a/lib/kokkos/core/unit_test/TestTeamBasic.hpp +++ b/lib/kokkos/core/unit_test/TestTeamBasic.hpp @@ -280,7 +280,7 @@ namespace Test { // Test for non-arithmetic type TEST(TEST_CATEGORY, team_broadcast_long_wrapper) { - static_assert(!std::is_arithmetic::value, ""); + static_assert(!std::is_arithmetic::value); TestTeamBroadcast, long_wrapper>::test_teambroadcast(0, 1); diff --git a/lib/kokkos/core/unit_test/TestTeamMDRange.hpp b/lib/kokkos/core/unit_test/TestTeamMDRange.hpp index 6e65cde0cf..81931467c5 100644 --- a/lib/kokkos/core/unit_test/TestTeamMDRange.hpp +++ b/lib/kokkos/core/unit_test/TestTeamMDRange.hpp @@ -169,7 +169,14 @@ struct TestTeamThreadMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -202,7 +209,14 @@ struct TestTeamThreadMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -236,7 +250,14 @@ struct TestTeamThreadMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2, n3); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -272,7 +293,14 @@ struct TestTeamThreadMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2, n3, n4); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -310,7 +338,14 @@ struct TestTeamThreadMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2, n3, n4, n5); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -350,7 +385,14 @@ struct TestTeamThreadMDRangeParallelFor : public TestTeamMDParallelFor { n6); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -420,7 +462,14 @@ struct TestThreadVectorMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -457,7 +506,14 @@ struct TestThreadVectorMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2, n3); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -496,7 +552,14 @@ struct TestThreadVectorMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2, n3, n4); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -536,7 +599,14 @@ struct TestThreadVectorMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2, n3, n4, n5); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -579,7 +649,14 @@ struct TestThreadVectorMDRangeParallelFor : public TestTeamMDParallelFor { n6); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -620,7 +697,14 @@ struct TestTeamVectorMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -653,7 +737,14 @@ struct TestTeamVectorMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -687,7 +778,14 @@ struct TestTeamVectorMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2, n3); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -723,7 +821,14 @@ struct TestTeamVectorMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2, n3, n4); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -761,7 +866,14 @@ struct TestTeamVectorMDRangeParallelFor : public TestTeamMDParallelFor { FillFlattenedIndex fillFlattenedIndex(leagueSize, n0, n1, n2, n3, n4, n5); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -801,7 +913,14 @@ struct TestTeamVectorMDRangeParallelFor : public TestTeamMDParallelFor { n6); Kokkos::parallel_for( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(const TeamType& team) { int leagueRank = team.league_rank(); @@ -908,13 +1027,20 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { v(i, j, k) = fillFlattenedIndex(i, j, k); }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; Kokkos::parallel_reduce( Kokkos::TeamThreadMDRange, TeamType>( @@ -923,7 +1049,13 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { threadSum += v(leagueRank, i, j); }, teamSum); - leagueSum += teamSum; + // FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -952,13 +1084,20 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { v(i, j, k, l) = fillFlattenedIndex(i, j, k, l); }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; Kokkos::parallel_reduce( Kokkos::TeamThreadMDRange, TeamType>( @@ -966,7 +1105,13 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { [=](const int& i, const int& j, const int& k, DataType& threadSum) { threadSum += v(leagueRank, i, j, k); }, teamSum); - leagueSum += teamSum; +// FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -997,13 +1142,20 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { v(i, j, k, l, m) = fillFlattenedIndex(i, j, k, l, m); }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; Kokkos::parallel_reduce( Kokkos::TeamThreadMDRange, TeamType>( @@ -1013,7 +1165,13 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { threadSum += v(leagueRank, i, j, k, l); }, teamSum); - leagueSum += teamSum; +// FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -1045,13 +1203,20 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { v(i, j, k, l, m, n) = fillFlattenedIndex(i, j, k, l, m, n); }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; Kokkos::parallel_reduce( Kokkos::TeamThreadMDRange, TeamType>( @@ -1061,7 +1226,13 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { threadSum += v(leagueRank, i, j, k, l, m); }, teamSum); - leagueSum += teamSum; + // FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -1100,13 +1271,20 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { } }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; Kokkos::parallel_reduce( Kokkos::TeamThreadMDRange, TeamType>( @@ -1116,7 +1294,13 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { threadSum += v(leagueRank, i, j, k, l, m, n); }, teamSum); - leagueSum += teamSum; +// FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -1157,13 +1341,20 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { } }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; Kokkos::parallel_reduce( Kokkos::TeamThreadMDRange, TeamType>( @@ -1174,7 +1365,13 @@ struct TestTeamThreadMDRangeParallelReduce : public TestTeamMDParallelReduce { threadSum += v(leagueRank, i, j, k, l, m, n, o); }, teamSum); - leagueSum += teamSum; +// FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -1207,20 +1404,26 @@ struct TestThreadVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { v(i, j, k, l) = fillFlattenedIndex(i, j, k, l); }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); auto teamThreadRange = Kokkos::TeamThreadRange(team, n0); auto threadVectorRange = Kokkos::ThreadVectorMDRange, TeamType>( team, n1, n2); - Kokkos::parallel_for(teamThreadRange, [=, &teamSum](const int& i) { + Kokkos::parallel_for(teamThreadRange, [=, &leagueSum](const int& i) { DataType threadSum = 0; Kokkos::parallel_reduce( threadVectorRange, @@ -1228,11 +1431,9 @@ struct TestThreadVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { vectorSum += v(leagueRank, i, j, k); }, threadSum); - - teamSum += threadSum; + Kokkos::single(Kokkos::PerThread(team), + [&]() { leagueSum += threadSum; }); }); - - leagueSum += teamSum; }, finalSum); @@ -1263,20 +1464,26 @@ struct TestThreadVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { v(i, j, k, l, m) = fillFlattenedIndex(i, j, k, l, m); }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); auto teamThreadRange = Kokkos::TeamThreadRange(team, n0); auto threadVectorRange = Kokkos::ThreadVectorMDRange, TeamType>( team, n1, n2, n3); - Kokkos::parallel_for(teamThreadRange, [=, &teamSum](const int& i) { + Kokkos::parallel_for(teamThreadRange, [=, &leagueSum](const int& i) { DataType threadSum = 0; Kokkos::parallel_reduce( threadVectorRange, @@ -1286,10 +1493,9 @@ struct TestThreadVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { }, threadSum); - teamSum += threadSum; + Kokkos::single(Kokkos::PerThread(team), + [&]() { leagueSum += threadSum; }); }); - - leagueSum += teamSum; }, finalSum); @@ -1321,20 +1527,26 @@ struct TestThreadVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { v(i, j, k, l, m, n) = fillFlattenedIndex(i, j, k, l, m, n); }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); auto teamThreadRange = Kokkos::TeamThreadRange(team, n0); auto threadVectorRange = Kokkos::ThreadVectorMDRange, TeamType>( team, n1, n2, n3, n4); - Kokkos::parallel_for(teamThreadRange, [=, &teamSum](const int& i) { + Kokkos::parallel_for(teamThreadRange, [=, &leagueSum](const int& i) { DataType threadSum = 0; Kokkos::parallel_reduce( threadVectorRange, @@ -1344,10 +1556,9 @@ struct TestThreadVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { }, threadSum); - teamSum += threadSum; + Kokkos::single(Kokkos::PerThread(team), + [&]() { leagueSum += threadSum; }); }); - - leagueSum += teamSum; }, finalSum); @@ -1384,20 +1595,26 @@ struct TestThreadVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { } }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); auto teamThreadRange = Kokkos::TeamThreadRange(team, n0); auto threadVectorRange = Kokkos::ThreadVectorMDRange, TeamType>( team, n1, n2, n3, n4, n5); - Kokkos::parallel_for(teamThreadRange, [=, &teamSum](const int& i) { + Kokkos::parallel_for(teamThreadRange, [=, &leagueSum](const int& i) { DataType threadSum = 0; Kokkos::parallel_reduce( threadVectorRange, @@ -1407,10 +1624,9 @@ struct TestThreadVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { }, threadSum); - teamSum += threadSum; + Kokkos::single(Kokkos::PerThread(team), + [&]() { leagueSum += threadSum; }); }); - - leagueSum += teamSum; }, finalSum); @@ -1451,20 +1667,26 @@ struct TestThreadVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { } }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); auto teamThreadRange = Kokkos::TeamThreadRange(team, n0); auto threadVectorRange = Kokkos::ThreadVectorMDRange, TeamType>( team, n1, n2, n3, n4, n5, n6); - Kokkos::parallel_for(teamThreadRange, [=, &teamSum](const int& i) { + Kokkos::parallel_for(teamThreadRange, [=, &leagueSum](const int& i) { DataType threadSum = 0; Kokkos::parallel_reduce( threadVectorRange, @@ -1474,10 +1696,9 @@ struct TestThreadVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { }, threadSum); - teamSum += threadSum; + Kokkos::single(Kokkos::PerThread(team), + [&]() { leagueSum += threadSum; }); }); - - leagueSum += teamSum; }, finalSum); @@ -1510,13 +1731,20 @@ struct TestTeamVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { v(i, j, k, l) = fillFlattenedIndex(i, j, k, l); }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; auto teamVectorRange = Kokkos::TeamVectorMDRange, TeamType>( @@ -1527,7 +1755,13 @@ struct TestTeamVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { [=](const int& i, const int& j, const int& k, DataType& vectorSum) { vectorSum += v(leagueRank, i, j, k); }, teamSum); - leagueSum += teamSum; +// FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -1558,13 +1792,20 @@ struct TestTeamVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { v(i, j, k, l, m) = fillFlattenedIndex(i, j, k, l, m); }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; auto teamVectorRange = Kokkos::TeamVectorMDRange, TeamType>( @@ -1577,7 +1818,13 @@ struct TestTeamVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { vectorSum += v(leagueRank, i, j, k, l); }, teamSum); - leagueSum += teamSum; +// FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -1609,13 +1856,20 @@ struct TestTeamVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { v(i, j, k, l, m, n) = fillFlattenedIndex(i, j, k, l, m, n); }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; auto teamVectorRange = Kokkos::TeamVectorMDRange, TeamType>( @@ -1628,7 +1882,13 @@ struct TestTeamVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { vectorSum += v(leagueRank, i, j, k, l, m); }, teamSum); - leagueSum += teamSum; +// FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -1665,13 +1925,20 @@ struct TestTeamVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { } }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; auto teamVectorRange = Kokkos::TeamVectorMDRange, TeamType>( @@ -1684,7 +1951,13 @@ struct TestTeamVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { vectorSum += v(leagueRank, i, j, k, l, m, n); }, teamSum); - leagueSum += teamSum; +// FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -1725,13 +1998,20 @@ struct TestTeamVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { } }); - DataType finalSum = 0; + DataType finalSum; Kokkos::parallel_reduce( - Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO), + Kokkos::TeamPolicy(leagueSize, Kokkos::AUTO, +#ifdef KOKKOS_ENABLE_OPENMPTARGET + 2 +#else + Kokkos::TeamPolicy< + ExecSpace>::vector_length_max() +#endif + ), KOKKOS_LAMBDA(TeamType const& team, DataType& leagueSum) { - auto leagueRank = team.league_rank(); - DataType teamSum = 0; + auto leagueRank = team.league_rank(); + DataType teamSum; auto teamVectorRange = Kokkos::TeamVectorMDRange, TeamType>( @@ -1745,7 +2025,13 @@ struct TestTeamVectorMDRangeParallelReduce : public TestTeamMDParallelReduce { vectorSum += v(leagueRank, i, j, k, l, m, n, o); }, teamSum); - leagueSum += teamSum; +// FIXME_OPENMPTARGET +#ifdef KOKKOS_ENABLE_OPENMPTARGET + if (team.team_rank() == 0) leagueSum += teamSum; +#else + Kokkos::single(Kokkos::PerTeam(team), + [&]() { leagueSum += teamSum; }); +#endif }, finalSum); @@ -1904,13 +2190,6 @@ TEST(TEST_CATEGORY, ThreadVectorMDRangeParallelReduce) { GTEST_SKIP() << "skipping because of bug in group_barrier implementation"; #endif -// FIXME_OPENMPTARGET_CRAY: The unit tests fails correctness. -#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_COMPILER_CRAYCLANG) - if (std::is_same_v) - GTEST_SKIP() << "Cray compiler fails correctness at runtime with the " - "OpenMPTarget backend."; -#endif - TestThreadVectorMDRangeParallelReduce:: test_parallel_reduce_for_4D_ThreadVectorMDRange(dims); TestThreadVectorMDRangeParallelReduce:: @@ -1944,13 +2223,6 @@ TEST(TEST_CATEGORY, TeamVectorMDRangeParallelReduce) { GTEST_SKIP() << "skipping because of bug in group_barrier implementation"; #endif -// FIXME_OPENMPTARGET_CRAY: The unit tests fails correctness. -#if defined(KOKKOS_ENABLE_OPENMPTARGET) && defined(KOKKOS_COMPILER_CRAYCLANG) - if (std::is_same_v) - GTEST_SKIP() << "Cray compiler fails correctness at runtime with the " - "OpenMPTarget backend."; -#endif - TestTeamVectorMDRangeParallelReduce:: test_parallel_reduce_for_4D_TeamVectorMDRange(dims); TestTeamVectorMDRangeParallelReduce:: diff --git a/lib/kokkos/core/unit_test/TestTeamPolicyConstructors.hpp b/lib/kokkos/core/unit_test/TestTeamPolicyConstructors.hpp index 5b0bfdb175..9d89f75708 100644 --- a/lib/kokkos/core/unit_test/TestTeamPolicyConstructors.hpp +++ b/lib/kokkos/core/unit_test/TestTeamPolicyConstructors.hpp @@ -20,11 +20,24 @@ namespace { +struct SomeTag {}; + +struct FunctorFor { + KOKKOS_FUNCTION + void operator()( + Kokkos::TeamPolicy::member_type const&) const {} + + KOKKOS_FUNCTION + void operator()( + SomeTag, Kokkos::TeamPolicy::member_type const&) const {} +}; + template void test_run_time_parameters() { int league_size = 131; using ExecutionSpace = typename Policy::execution_space; + using ParallelTag = Kokkos::ParallelForTag; int team_size = 4 < ExecutionSpace().concurrency() ? 4 : ExecutionSpace().concurrency(); #ifdef KOKKOS_ENABLE_HPX @@ -44,6 +57,8 @@ void test_run_time_parameters() { ASSERT_EQ(p1.team_size(), team_size); ASSERT_GT(p1.chunk_size(), 0); ASSERT_EQ(p1.scratch_size(0), 0u); + ASSERT_GT(p1.team_size_max(FunctorFor(), ParallelTag()), 0); + ASSERT_GT(p1.team_size_recommended(FunctorFor(), ParallelTag()), 0); Policy p2 = p1.set_chunk_size(chunk_size); ASSERT_EQ(p1.league_size(), league_size); @@ -112,6 +127,8 @@ void test_run_time_parameters() { Policy p8; // default constructed ASSERT_EQ(p8.league_size(), 0); ASSERT_EQ(p8.scratch_size(0), 0u); + ASSERT_GT(p8.team_size_max(FunctorFor(), ParallelTag()), 0); + ASSERT_GT(p8.team_size_recommended(FunctorFor(), ParallelTag()), 0); p8 = p3; // call assignment operator ASSERT_EQ(p3.league_size(), league_size); ASSERT_EQ(p3.team_size(), team_size); @@ -121,11 +138,25 @@ void test_run_time_parameters() { ASSERT_EQ(p8.team_size(), team_size); ASSERT_EQ(p8.chunk_size(), chunk_size); ASSERT_EQ(p8.scratch_size(0), size_t(scratch_size)); + + Policy p9(league_size, Kokkos::AUTO); + ASSERT_EQ(p9.league_size(), league_size); + ASSERT_GT(p9.team_size_max(FunctorFor(), ParallelTag()), 0); + ASSERT_GT(p9.team_size_recommended(FunctorFor(), ParallelTag()), 0); + + Policy p10(league_size, team_size, Kokkos::AUTO); + ASSERT_EQ(p10.league_size(), league_size); + ASSERT_EQ(p10.team_size(), team_size); + ASSERT_GT(p10.team_size_max(FunctorFor(), ParallelTag()), 0); + ASSERT_GT(p10.team_size_recommended(FunctorFor(), ParallelTag()), 0); + + Policy p11(league_size, Kokkos::AUTO, Kokkos::AUTO); + ASSERT_EQ(p11.league_size(), league_size); + ASSERT_GT(p11.team_size_max(FunctorFor(), ParallelTag()), 0); + ASSERT_GT(p11.team_size_recommended(FunctorFor(), ParallelTag()), 0); } TEST(TEST_CATEGORY, team_policy_runtime_parameters) { - struct SomeTag {}; - using TestExecSpace = TEST_EXECSPACE; using DynamicSchedule = Kokkos::Schedule; using LongIndex = Kokkos::IndexType; diff --git a/lib/kokkos/core/unit_test/TestTeamVector.hpp b/lib/kokkos/core/unit_test/TestTeamVector.hpp index 39122736ed..5e16539d65 100644 --- a/lib/kokkos/core/unit_test/TestTeamVector.hpp +++ b/lib/kokkos/core/unit_test/TestTeamVector.hpp @@ -1012,7 +1012,6 @@ struct checkScan { }; } // namespace VectorScanReducer -#if !defined(KOKKOS_IMPL_CUDA_CLANG_WORKAROUND) TEST(TEST_CATEGORY, team_vector) { ASSERT_TRUE((TestTeamVector::Test(0))); ASSERT_TRUE((TestTeamVector::Test(1))); @@ -1028,9 +1027,7 @@ TEST(TEST_CATEGORY, team_vector) { ASSERT_TRUE((TestTeamVector::Test(11))); ASSERT_TRUE((TestTeamVector::Test(12))); } -#endif -#if !defined(KOKKOS_IMPL_CUDA_CLANG_WORKAROUND) TEST(TEST_CATEGORY, triple_nested_parallelism) { // With KOKKOS_ENABLE_DEBUG enabled, the functor uses too many registers to run // with a team size of 32 on GPUs, 16 is the max possible (at least on a K80 @@ -1055,7 +1052,6 @@ TEST(TEST_CATEGORY, triple_nested_parallelism) { TestTripleNestedReduce(8192, 2048, 16, 16); TestTripleNestedReduce(8192, 2048, 7, 16); } -#endif TEST(TEST_CATEGORY, parallel_scan_with_reducers) { using T = double; diff --git a/lib/kokkos/core/unit_test/TestUtilities.hpp b/lib/kokkos/core/unit_test/TestUtilities.hpp index b1f9d30c1f..ad5a0df92d 100644 --- a/lib/kokkos/core/unit_test/TestUtilities.hpp +++ b/lib/kokkos/core/unit_test/TestUtilities.hpp @@ -25,20 +25,18 @@ namespace Test { void test_is_specialization_of() { using Kokkos::Impl::is_specialization_of; - static_assert(is_specialization_of, Kokkos::pair>{}, - ""); - static_assert(!is_specialization_of, Kokkos::pair>{}, ""); - static_assert(is_specialization_of, Kokkos::View>{}, ""); + static_assert(is_specialization_of, Kokkos::pair>{}); + static_assert(!is_specialization_of, Kokkos::pair>{}); + static_assert(is_specialization_of, Kokkos::View>{}); // NOTE Not removing cv-qualifiers - static_assert(!is_specialization_of const, Kokkos::View>{}, - ""); + static_assert( + !is_specialization_of const, Kokkos::View>{}); // NOTE Would not compile because Kokkos::Array takes a non-type template // parameter - // static_assert(is_specialization_of, Kokkos::Array>{}, - // ""); + // static_assert(is_specialization_of, + // Kokkos::Array>{}); // But this is fine of course - static_assert(!is_specialization_of, Kokkos::pair>{}, - ""); + static_assert(!is_specialization_of, Kokkos::pair>{}); } namespace { diff --git a/lib/kokkos/core/unit_test/TestViewAPI.hpp b/lib/kokkos/core/unit_test/TestViewAPI.hpp index ffc500e4a9..ca098dbc24 100644 --- a/lib/kokkos/core/unit_test/TestViewAPI.hpp +++ b/lib/kokkos/core/unit_test/TestViewAPI.hpp @@ -958,8 +958,7 @@ class TestViewAPI { using mirror_type = typename view_type::HostMirror; static_assert(std::is_same::value, - ""); + typename mirror_type::memory_space>::value); view_type a("a"); mirror_type am = Kokkos::create_mirror_view(a); @@ -1005,25 +1004,25 @@ class TestViewAPI { hView3 hv_3("dView3::HostMirror", N0); hView4 hv_4("dView4::HostMirror", N0); - dView0 dv_0_1(nullptr, 0); + dView0 dv_0_1(nullptr); dView0 dv_0_2(hv_0.label(), hv_0.layout()); - dView1 dv_1_1(nullptr, 0); + dView1 dv_1_1(nullptr, N0); dView1 dv_1_2(hv_1.label(), hv_1.layout()); - dView2 dv_2_1(nullptr, 0); + dView2 dv_2_1(nullptr, N0); dView2 dv_2_2(hv_2.label(), hv_2.layout()); - dView3 dv_3_1(nullptr, 0); + dView3 dv_3_1(nullptr, N0); dView3 dv_3_2(hv_3.label(), hv_3.layout()); - dView4 dv_4_1(nullptr, 0); + dView4 dv_4_1(nullptr, N0); dView4 dv_4_2(hv_4.label(), hv_4.layout()); } static void run_test_contruction_from_layout_2() { using dView3_0 = Kokkos::View; - using dView3_1 = Kokkos::View; + using dView3_1 = Kokkos::View; using dView3_2 = Kokkos::View; using dView3_3 = Kokkos::View; @@ -1554,6 +1553,7 @@ class TestViewAPI { Kokkos::CudaUVMSpace>::value) return; #endif + bool did_throw = false; auto alloc_size = std::numeric_limits::max() - 42; try { auto should_always_fail = dView1("hello_world_failure", alloc_size); @@ -1585,7 +1585,9 @@ class TestViewAPI { "because of an unknown error.", msg); } #endif + did_throw = true; } + ASSERT_TRUE(did_throw); } }; diff --git a/lib/kokkos/core/unit_test/TestViewAPI_d.hpp b/lib/kokkos/core/unit_test/TestViewAPI_d.hpp index 08d21f5449..b0d759ffcc 100644 --- a/lib/kokkos/core/unit_test/TestViewAPI_d.hpp +++ b/lib/kokkos/core/unit_test/TestViewAPI_d.hpp @@ -27,8 +27,19 @@ TEST(TEST_CATEGORY, view_api_d) { } TEST(TEST_CATEGORY, view_allocation_error) { +#if defined(__has_feature) +#if __has_feature(address_sanitizer) + GTEST_SKIP() << "AddressSanitzer detects allocating too much memory " + "preventing our checks to run"; +#endif +#endif #if ((HIP_VERSION_MAJOR == 5) && (HIP_VERSION_MINOR == 3)) GTEST_SKIP() << "ROCm 5.3 segfaults when trying to allocate too much memory"; +#endif +#if defined(KOKKOS_ENABLE_OPENACC) // FIXME_OPENACC + if (std::is_same_v) { + GTEST_SKIP() << "acc_malloc() not properly returning nullptr"; + } #endif TestViewAPI::run_test_error(); } diff --git a/lib/kokkos/core/unit_test/TestViewCopy_a.hpp b/lib/kokkos/core/unit_test/TestViewCopy_a.hpp index 3bfc93aada..a4735b2998 100644 --- a/lib/kokkos/core/unit_test/TestViewCopy_a.hpp +++ b/lib/kokkos/core/unit_test/TestViewCopy_a.hpp @@ -147,6 +147,40 @@ TEST(TEST_CATEGORY, view_copy_tests) { Kokkos::deep_copy(s_a, hs_a); ASSERT_TRUE(run_check(s_a, 6)); } + } else { + // These copies won't succeed, but they should each throw + // an exception whose message contains the view labels, + // and the names of the views' memory spaces. + // + // Note: original a,b both have the same device type, + // and their mirrors have the same device type. + using memory_space = typename decltype(a)::memory_space; + using mirror_memory_space = typename decltype(h_a)::memory_space; + bool threw = false; + std::string msg; + try { + Kokkos::deep_copy(hs_b, s_b); + } catch (std::exception& e) { + threw = true; + msg = e.what(); + } + ASSERT_TRUE(threw); + ASSERT_NE(msg.find(hs_b.label()), std::string::npos); + ASSERT_NE(msg.find(s_b.label()), std::string::npos); + ASSERT_NE(msg.find(memory_space().name()), std::string::npos); + ASSERT_NE(msg.find(mirror_memory_space().name()), std::string::npos); + threw = false; + try { + Kokkos::deep_copy(s_a, hs_a); + } catch (std::exception& e) { + threw = true; + msg = e.what(); + } + ASSERT_TRUE(threw); + ASSERT_NE(msg.find(s_a.label()), std::string::npos); + ASSERT_NE(msg.find(hs_a.label()), std::string::npos); + ASSERT_NE(msg.find(memory_space().name()), std::string::npos); + ASSERT_NE(msg.find(mirror_memory_space().name()), std::string::npos); } // Contiguous copies diff --git a/lib/kokkos/core/unit_test/TestViewCtorDimMatch.hpp b/lib/kokkos/core/unit_test/TestViewCtorDimMatch.hpp index d71841eef8..40b7737f2e 100644 --- a/lib/kokkos/core/unit_test/TestViewCtorDimMatch.hpp +++ b/lib/kokkos/core/unit_test/TestViewCtorDimMatch.hpp @@ -19,33 +19,72 @@ namespace Test { -#define LIVE(EXPR, ARGS, DYNRANK) EXPECT_NO_THROW(EXPR) -#define DIE(EXPR, ARGS, DYNRANK) \ - ASSERT_DEATH( \ - EXPR, \ - "Constructor for Kokkos View 'v_" #ARGS \ - "' has mismatched number of arguments. Number of arguments = " #ARGS \ - " but dynamic rank = " #DYNRANK) +template +void test_matching_arguments_rank_helper(std::index_sequence) { + constexpr int nargs = sizeof...(Is); + using view_type = Kokkos::View; + if (nargs == rank || nargs == dynrank) { + EXPECT_NO_THROW({ view_type v("v", ((Is * 0) + 1)...); }); + EXPECT_NO_THROW({ view_type v(nullptr, ((Is * 0) + 1)...); }); + } else { + ASSERT_DEATH( + { view_type v("v", ((Is * 0) + 1)...); }, + "Constructor for Kokkos::View 'v' has mismatched number of arguments. " + "The number of arguments = " + + std::to_string(nargs) + + " neither matches the dynamic rank = " + std::to_string(dynrank) + + " nor the total rank = " + std::to_string(rank)); + ASSERT_DEATH( + { view_type v(nullptr, ((Is * 0) + 1)...); }, + "Constructor for Kokkos::View 'UNMANAGED' has mismatched number of " + "arguments. " + "The number of arguments = " + + std::to_string(nargs) + + " neither matches the dynamic rank = " + std::to_string(dynrank) + + " nor the total rank = " + std::to_string(rank)); + } +} -#define PARAM_0 -#define PARAM_1 1 -#define PARAM_2 1, 1 -#define PARAM_3 1, 1, 1 -#define PARAM_4 1, 1, 1, 1 -#define PARAM_5 1, 1, 1, 1, 1 -#define PARAM_6 1, 1, 1, 1, 1, 1 -#define PARAM_7 1, 1, 1, 1, 1, 1, 1 +template class RankType> +void test_matching_arguments_rank() { + test_matching_arguments_rank_helper::type>( + std::make_index_sequence<0>()); + test_matching_arguments_rank_helper::type>( + std::make_index_sequence<1>()); + test_matching_arguments_rank_helper::type>( + std::make_index_sequence<2>()); + test_matching_arguments_rank_helper::type>( + std::make_index_sequence<3>()); + test_matching_arguments_rank_helper::type>( + std::make_index_sequence<4>()); + test_matching_arguments_rank_helper::type>( + std::make_index_sequence<5>()); + test_matching_arguments_rank_helper::type>( + std::make_index_sequence<6>()); + test_matching_arguments_rank_helper::type>( + std::make_index_sequence<7>()); + test_matching_arguments_rank_helper::type>( + std::make_index_sequence<8>()); +} -#define PARAM_0_RANK 0 -#define PARAM_1_RANK 1 -#define PARAM_2_RANK 2 -#define PARAM_3_RANK 3 -#define PARAM_4_RANK 4 -#define PARAM_5_RANK 5 -#define PARAM_6_RANK 6 -#define PARAM_7_RANK 7 +template +struct DynamicRank { + using type = typename DynamicRank::type*; +}; -using DType = int; +template <> +struct DynamicRank<0> { + using type = int; +}; // Skip test execution when KOKKOS_ENABLE_OPENMPTARGET is enabled until // Kokkos::abort() aborts properly on that backend @@ -53,348 +92,110 @@ using DType = int; TEST(TEST_CATEGORY_DEATH, view_construction_with_wrong_params_dyn) { ::testing::FLAGS_gtest_death_test_style = "threadsafe"; - using DType_0 = DType; - using DType_1 = DType *; - using DType_2 = DType **; - using DType_3 = DType ***; - using DType_4 = DType ****; - using DType_5 = DType *****; - using DType_6 = DType ******; - using DType_7 = DType *******; - { - // test View parameters for View dim = 0, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } - - { - // test View parameters for View dim = 1, dynamic = 1 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 1); - LIVE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 1); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 1); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 1); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 1); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 1); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 1); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 1); - } - - { - // test View parameters for View dim = 2, dynamic = 2 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 2); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 2); - LIVE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 2); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 2); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 2); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 2); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 2); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 2); - } - - { - // test View parameters for View dim = 3, dynamic = 3 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 3); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 3); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 3); - LIVE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 3); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 3); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 3); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 3); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 3); - } - - { - // test View parameters for View dim = 4, dynamic = 4 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 4); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 4); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 4); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 4); - LIVE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 4); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 4); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 4); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 4); - } - - { - // test View parameters for View dim = 5, dynamic = 5 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 5); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 5); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 5); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 5); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 5); - LIVE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 5); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 5); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 5); - } - - { - // test View parameters for View dim = 6, dynamic = 6 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 6); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 6); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 6); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 6); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 6); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 6); - LIVE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 6); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 6); - } - - { - // test View parameters for View dim = 7, dynamic = 7 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 7); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 7); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 7); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 7); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 7); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 7); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 7); - LIVE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 7); - } +#ifdef KOKKOS_ENABLE_DEBUG_BOUNDS_CHECKS + test_matching_arguments_rank<0, 0, DynamicRank>(); // dim = 0, dynamic = 0 + test_matching_arguments_rank<1, 1, DynamicRank>(); // dim = 1, dynamic = 1 + test_matching_arguments_rank<2, 2, DynamicRank>(); // dim = 2, dynamic = 2 + test_matching_arguments_rank<3, 3, DynamicRank>(); // dim = 3, dynamic = 3 + test_matching_arguments_rank<4, 4, DynamicRank>(); // dim = 4, dynamic = 4 + test_matching_arguments_rank<5, 5, DynamicRank>(); // dim = 5, dynamic = 5 + test_matching_arguments_rank<6, 6, DynamicRank>(); // dim = 6, dynamic = 6 + test_matching_arguments_rank<7, 7, DynamicRank>(); // dim = 7, dynamic = 7 + test_matching_arguments_rank<8, 8, DynamicRank>(); // dim = 8, dynamic = 8 +#endif } +template +struct StaticRank { + using type = typename StaticRank::type[1]; +}; + +template <> +struct StaticRank<0> { + using type = int; +}; + TEST(TEST_CATEGORY_DEATH, view_construction_with_wrong_params_stat) { ::testing::FLAGS_gtest_death_test_style = "threadsafe"; - using DType_0 = DType; - using DType_1 = DType[1]; - using DType_2 = DType[1][1]; - using DType_3 = DType[1][1][1]; - using DType_4 = DType[1][1][1][1]; - using DType_5 = DType[1][1][1][1][1]; - using DType_6 = DType[1][1][1][1][1][1]; - using DType_7 = DType[1][1][1][1][1][1][1]; - { - // test View parameters for View dim = 0, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } - - { - // test View parameters for View dim = 1, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - LIVE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } - - { - // test View parameters for View dim = 2, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - LIVE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } - - { - // test View parameters for View dim = 3, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - LIVE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } - - { - // test View parameters for View dim = 4, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - LIVE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } - - { - // test View parameters for View dim = 5, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - LIVE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } - - { - // test View parameters for View dim = 6, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - LIVE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } - - { - // test View parameters for View dim = 7, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - LIVE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } +#ifdef KOKKOS_ENABLE_DEBUG_BOUNDS_CHECKS + test_matching_arguments_rank<0, 0, StaticRank>(); // dim = 0, dynamic = 0 + test_matching_arguments_rank<1, 0, StaticRank>(); // dim = 1, dynamic = 0 + test_matching_arguments_rank<2, 0, StaticRank>(); // dim = 2, dynamic = 0 + test_matching_arguments_rank<3, 0, StaticRank>(); // dim = 3, dynamic = 0 + test_matching_arguments_rank<4, 0, StaticRank>(); // dim = 4, dynamic = 0 + test_matching_arguments_rank<5, 0, StaticRank>(); // dim = 5, dynamic = 0 + test_matching_arguments_rank<6, 0, StaticRank>(); // dim = 6, dynamic = 0 + test_matching_arguments_rank<7, 0, StaticRank>(); // dim = 7, dynamic = 0 + test_matching_arguments_rank<8, 0, StaticRank>(); // dim = 8, dynamic = 0 +#endif } +template +struct MixedRank { + using type = typename DynamicRank::type[1]; +}; + +template <> +struct MixedRank<0> { + using type = int; +}; + TEST(TEST_CATEGORY_DEATH, view_construction_with_wrong_params_mix) { ::testing::FLAGS_gtest_death_test_style = "threadsafe"; - using DType_0 = DType; - using DType_1 = DType[1]; - using DType_2 = DType * [1]; - using DType_3 = DType * * [1]; - using DType_4 = DType ** * [1]; - using DType_5 = DType *** * [1]; - using DType_6 = DType **** * [1]; - using DType_7 = DType ***** * [1]; - { - // test View parameters for View dim = 0, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } - - { - // test View parameters for View dim = 1, dynamic = 0 - LIVE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 0); - LIVE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 0); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 0); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 0); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 0); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 0); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 0); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 0); - } - - { - // test View parameters for View dim = 2, dynamic = 1 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 1); - LIVE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 1); - LIVE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 1); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 1); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 1); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 1); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 1); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 1); - } - - { - // test View parameters for View dim = 3, dynamic = 2 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 2); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 2); - LIVE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 2); - LIVE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 2); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 2); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 2); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 2); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 2); - } - - { - // test View parameters for View dim = 4, dynamic = 3 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 3); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 3); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 3); - LIVE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 3); - LIVE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 3); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 3); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 3); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 3); - } - - { - // test View parameters for View dim = 5, dynamic = 4 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 4); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 4); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 4); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 4); - LIVE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 4); - LIVE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 4); - DIE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 4); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 4); - } - - { - // test View parameters for View dim = 6, dynamic = 5 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 5); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 5); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 5); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 5); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 5); - LIVE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 5); - LIVE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 5); - DIE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 5); - } - - { - // test View parameters for View dim = 7, dynamic = 6 - DIE({ Kokkos::View v_0("v_0" PARAM_0); }, 0, 6); - DIE({ Kokkos::View v_1("v_1", PARAM_1); }, 1, 6); - DIE({ Kokkos::View v_2("v_2", PARAM_2); }, 2, 6); - DIE({ Kokkos::View v_3("v_3", PARAM_3); }, 3, 6); - DIE({ Kokkos::View v_4("v_4", PARAM_4); }, 4, 6); - DIE({ Kokkos::View v_5("v_5", PARAM_5); }, 5, 6); - LIVE({ Kokkos::View v_6("v_6", PARAM_6); }, 6, 6); - LIVE({ Kokkos::View v_7("v_7", PARAM_7); }, 7, 6); - } +#ifdef KOKKOS_ENABLE_DEBUG_BOUNDS_CHECKS + test_matching_arguments_rank<0, 0, MixedRank>(); // dim = 0, dynamic = 0 + test_matching_arguments_rank<1, 0, MixedRank>(); // dim = 1, dynamic = 0 + test_matching_arguments_rank<2, 1, MixedRank>(); // dim = 2, dynamic = 1 + test_matching_arguments_rank<3, 2, MixedRank>(); // dim = 3, dynamic = 2 + test_matching_arguments_rank<4, 3, MixedRank>(); // dim = 4, dynamic = 3 + test_matching_arguments_rank<5, 4, MixedRank>(); // dim = 5, dynamic = 4 + test_matching_arguments_rank<6, 5, MixedRank>(); // dim = 6, dynamic = 5 + test_matching_arguments_rank<7, 6, MixedRank>(); // dim = 7, dynamic = 6 + test_matching_arguments_rank<8, 7, MixedRank>(); // dim = 8, dynamic = 7 +#endif } + +#define CHECK_DEATH(EXPR) \ + ASSERT_DEATH(EXPR, \ + "The specified run-time extent for Kokkos::View 'v' does not " \ + "match the compile-time extent in dimension 0. The given " \ + "extent is 2 but should be 1.") + +#define CHECK_DEATH_UNMANAGED(EXPR) \ + ASSERT_DEATH( \ + EXPR, \ + "The specified run-time extent for Kokkos::View 'UNMANAGED' does not " \ + "match the compile-time extent in dimension 0. The given " \ + "extent is 2 but should be 1.") + +TEST(TEST_CATEGORY_DEATH, view_construction_with_wrong_static_extents) { + ::testing::FLAGS_gtest_death_test_style = "threadsafe"; + +#ifdef KOKKOS_ENABLE_DEBUG_BOUNDS_CHECKS + // clang-format off + CHECK_DEATH({ Kokkos::View v("v", 2); }); + CHECK_DEATH({ Kokkos::View v("v", 2, 1); }); + CHECK_DEATH({ Kokkos::View v("v", 2, 1, 1); }); + CHECK_DEATH({ Kokkos::View v("v", 2, 1, 1, 1); }); + CHECK_DEATH({ Kokkos::View v("v", 2, 1, 1, 1, 1); }); + CHECK_DEATH({ Kokkos::View v("v", 2, 1, 1, 1, 1, 1); }); + CHECK_DEATH({ Kokkos::View v("v", 2, 1, 1, 1, 1, 1, 1); }); + CHECK_DEATH({ Kokkos::View v("v", 2, 1, 1, 1, 1, 1, 1, 1); }); + + CHECK_DEATH_UNMANAGED({ Kokkos::View v(nullptr, 2); }); + CHECK_DEATH_UNMANAGED({ Kokkos::View v(nullptr, 2, 1); }); + CHECK_DEATH_UNMANAGED({ Kokkos::View v(nullptr, 2, 1, 1); }); + CHECK_DEATH_UNMANAGED({ Kokkos::View v(nullptr, 2, 1, 1, 1); }); + CHECK_DEATH_UNMANAGED({ Kokkos::View v(nullptr, 2, 1, 1, 1, 1); }); + CHECK_DEATH_UNMANAGED({ Kokkos::View v(nullptr, 2, 1, 1, 1, 1, 1); }); + CHECK_DEATH_UNMANAGED({ Kokkos::View v(nullptr, 2, 1, 1, 1, 1, 1, 1); }); + CHECK_DEATH_UNMANAGED({ Kokkos::View v(nullptr, 2, 1, 1, 1, 1, 1, 1, 1); }); + // clang-format on +#endif +} + +#undef CHECK_DEATH #endif // KOKKOS_ENABLE_OPENMPTARGET - -#undef PARAM_0 -#undef PARAM_1 -#undef PARAM_2 -#undef PARAM_3 -#undef PARAM_4 -#undef PARAM_5 -#undef PARAM_6 -#undef PARAM_7 - -#undef PARAM_0_RANK -#undef PARAM_1_RANK -#undef PARAM_2_RANK -#undef PARAM_3_RANK -#undef PARAM_4_RANK -#undef PARAM_5_RANK -#undef PARAM_6_RANK -#undef PARAM_7_RANK - -#undef DType - -#undef LIVE -#undef DIE } // namespace Test diff --git a/lib/kokkos/core/unit_test/TestViewEmptyRuntimeUnmanaged.hpp b/lib/kokkos/core/unit_test/TestViewEmptyRuntimeUnmanaged.hpp new file mode 100644 index 0000000000..b156b72860 --- /dev/null +++ b/lib/kokkos/core/unit_test/TestViewEmptyRuntimeUnmanaged.hpp @@ -0,0 +1,55 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#include + +#include + +namespace { + +template +void test_empty_view_runtime_unmanaged() { + T d{}; + auto* p = reinterpret_cast(0xABADBABE); + + (void)Kokkos::View(p); + (void)Kokkos::View(&d); + (void)Kokkos::View(nullptr); + (void)Kokkos::View(NULL); // NOLINT(modernize-use-nullptr) + (void)Kokkos::View(0); // NOLINT(modernize-use-nullptr) + + (void)Kokkos::View(p, 0); + (void)Kokkos::View(&d, 0); + (void)Kokkos::View(nullptr, 0); + (void)Kokkos::View(NULL, 0); // NOLINT(modernize-use-nullptr) + (void)Kokkos::View(0, 0); // NOLINT(modernize-use-nullptr) + + (void)Kokkos::View(p, 0, 0); + (void)Kokkos::View(&d, 0, 0); + (void)Kokkos::View(nullptr, 0, 0); + (void)Kokkos::View(NULL, 0, 0); // NOLINT(modernize-use-nullptr) + (void)Kokkos::View(0, 0, 0); // NOLINT(modernize-use-nullptr) +} + +TEST(TEST_CATEGORY, view_empty_runtime_unmanaged) { + test_empty_view_runtime_unmanaged(); + test_empty_view_runtime_unmanaged(); + test_empty_view_runtime_unmanaged(); + test_empty_view_runtime_unmanaged(); + test_empty_view_runtime_unmanaged(); +} + +} // namespace diff --git a/lib/kokkos/core/unit_test/TestViewMapping_a.hpp b/lib/kokkos/core/unit_test/TestViewMapping_a.hpp index 9173f0d431..a4dfdb26e3 100644 --- a/lib/kokkos/core/unit_test/TestViewMapping_a.hpp +++ b/lib/kokkos/core/unit_test/TestViewMapping_a.hpp @@ -73,67 +73,67 @@ void test_view_mapping() { ASSERT_LE(sizeof(dim_s0_s0_s0_s0_s0_s0_s0), 8 * sizeof(unsigned)); ASSERT_EQ(sizeof(dim_s0_s0_s0_s0_s0_s0_s0_s0), 8 * sizeof(unsigned)); #endif - static_assert(int(dim_0::rank) == int(0), ""); - static_assert(int(dim_0::rank_dynamic) == int(0), ""); - static_assert(int(dim_0::ArgN0) == 1, ""); - static_assert(int(dim_0::ArgN1) == 1, ""); - static_assert(int(dim_0::ArgN2) == 1, ""); + static_assert(int(dim_0::rank) == int(0)); + static_assert(int(dim_0::rank_dynamic) == int(0)); + static_assert(int(dim_0::ArgN0) == 1); + static_assert(int(dim_0::ArgN1) == 1); + static_assert(int(dim_0::ArgN2) == 1); - static_assert(int(dim_s2::rank) == int(1), ""); - static_assert(int(dim_s2::rank_dynamic) == int(0), ""); - static_assert(int(dim_s2::ArgN0) == 2, ""); - static_assert(int(dim_s2::ArgN1) == 1, ""); + static_assert(int(dim_s2::rank) == int(1)); + static_assert(int(dim_s2::rank_dynamic) == int(0)); + static_assert(int(dim_s2::ArgN0) == 2); + static_assert(int(dim_s2::ArgN1) == 1); - static_assert(int(dim_s2_s3::rank) == int(2), ""); - static_assert(int(dim_s2_s3::rank_dynamic) == int(0), ""); - static_assert(int(dim_s2_s3::ArgN0) == 2, ""); - static_assert(int(dim_s2_s3::ArgN1) == 3, ""); - static_assert(int(dim_s2_s3::ArgN2) == 1, ""); + static_assert(int(dim_s2_s3::rank) == int(2)); + static_assert(int(dim_s2_s3::rank_dynamic) == int(0)); + static_assert(int(dim_s2_s3::ArgN0) == 2); + static_assert(int(dim_s2_s3::ArgN1) == 3); + static_assert(int(dim_s2_s3::ArgN2) == 1); - static_assert(int(dim_s2_s3_s4::rank) == int(3), ""); - static_assert(int(dim_s2_s3_s4::rank_dynamic) == int(0), ""); - static_assert(int(dim_s2_s3_s4::ArgN0) == 2, ""); - static_assert(int(dim_s2_s3_s4::ArgN1) == 3, ""); - static_assert(int(dim_s2_s3_s4::ArgN2) == 4, ""); - static_assert(int(dim_s2_s3_s4::ArgN3) == 1, ""); + static_assert(int(dim_s2_s3_s4::rank) == int(3)); + static_assert(int(dim_s2_s3_s4::rank_dynamic) == int(0)); + static_assert(int(dim_s2_s3_s4::ArgN0) == 2); + static_assert(int(dim_s2_s3_s4::ArgN1) == 3); + static_assert(int(dim_s2_s3_s4::ArgN2) == 4); + static_assert(int(dim_s2_s3_s4::ArgN3) == 1); - static_assert(int(dim_s0::rank) == int(1), ""); - static_assert(int(dim_s0::rank_dynamic) == int(1), ""); + static_assert(int(dim_s0::rank) == int(1)); + static_assert(int(dim_s0::rank_dynamic) == int(1)); - static_assert(int(dim_s0_s3::rank) == int(2), ""); - static_assert(int(dim_s0_s3::rank_dynamic) == int(1), ""); - static_assert(int(dim_s0_s3::ArgN0) == 0, ""); - static_assert(int(dim_s0_s3::ArgN1) == 3, ""); + static_assert(int(dim_s0_s3::rank) == int(2)); + static_assert(int(dim_s0_s3::rank_dynamic) == int(1)); + static_assert(int(dim_s0_s3::ArgN0) == 0); + static_assert(int(dim_s0_s3::ArgN1) == 3); - static_assert(int(dim_s0_s3_s4::rank) == int(3), ""); - static_assert(int(dim_s0_s3_s4::rank_dynamic) == int(1), ""); - static_assert(int(dim_s0_s3_s4::ArgN0) == 0, ""); - static_assert(int(dim_s0_s3_s4::ArgN1) == 3, ""); - static_assert(int(dim_s0_s3_s4::ArgN2) == 4, ""); + static_assert(int(dim_s0_s3_s4::rank) == int(3)); + static_assert(int(dim_s0_s3_s4::rank_dynamic) == int(1)); + static_assert(int(dim_s0_s3_s4::ArgN0) == 0); + static_assert(int(dim_s0_s3_s4::ArgN1) == 3); + static_assert(int(dim_s0_s3_s4::ArgN2) == 4); - static_assert(int(dim_s0_s0_s4::rank) == int(3), ""); - static_assert(int(dim_s0_s0_s4::rank_dynamic) == int(2), ""); - static_assert(int(dim_s0_s0_s4::ArgN0) == 0, ""); - static_assert(int(dim_s0_s0_s4::ArgN1) == 0, ""); - static_assert(int(dim_s0_s0_s4::ArgN2) == 4, ""); + static_assert(int(dim_s0_s0_s4::rank) == int(3)); + static_assert(int(dim_s0_s0_s4::rank_dynamic) == int(2)); + static_assert(int(dim_s0_s0_s4::ArgN0) == 0); + static_assert(int(dim_s0_s0_s4::ArgN1) == 0); + static_assert(int(dim_s0_s0_s4::ArgN2) == 4); - static_assert(int(dim_s0_s0_s0::rank) == int(3), ""); - static_assert(int(dim_s0_s0_s0::rank_dynamic) == int(3), ""); + static_assert(int(dim_s0_s0_s0::rank) == int(3)); + static_assert(int(dim_s0_s0_s0::rank_dynamic) == int(3)); - static_assert(int(dim_s0_s0_s0_s0::rank) == int(4), ""); - static_assert(int(dim_s0_s0_s0_s0::rank_dynamic) == int(4), ""); + static_assert(int(dim_s0_s0_s0_s0::rank) == int(4)); + static_assert(int(dim_s0_s0_s0_s0::rank_dynamic) == int(4)); - static_assert(int(dim_s0_s0_s0_s0_s0::rank) == int(5), ""); - static_assert(int(dim_s0_s0_s0_s0_s0::rank_dynamic) == int(5), ""); + static_assert(int(dim_s0_s0_s0_s0_s0::rank) == int(5)); + static_assert(int(dim_s0_s0_s0_s0_s0::rank_dynamic) == int(5)); - static_assert(int(dim_s0_s0_s0_s0_s0_s0::rank) == int(6), ""); - static_assert(int(dim_s0_s0_s0_s0_s0_s0::rank_dynamic) == int(6), ""); + static_assert(int(dim_s0_s0_s0_s0_s0_s0::rank) == int(6)); + static_assert(int(dim_s0_s0_s0_s0_s0_s0::rank_dynamic) == int(6)); - static_assert(int(dim_s0_s0_s0_s0_s0_s0_s0::rank) == int(7), ""); - static_assert(int(dim_s0_s0_s0_s0_s0_s0_s0::rank_dynamic) == int(7), ""); + static_assert(int(dim_s0_s0_s0_s0_s0_s0_s0::rank) == int(7)); + static_assert(int(dim_s0_s0_s0_s0_s0_s0_s0::rank_dynamic) == int(7)); - static_assert(int(dim_s0_s0_s0_s0_s0_s0_s0_s0::rank) == int(8), ""); - static_assert(int(dim_s0_s0_s0_s0_s0_s0_s0_s0::rank_dynamic) == int(8), ""); + static_assert(int(dim_s0_s0_s0_s0_s0_s0_s0_s0::rank) == int(8)); + static_assert(int(dim_s0_s0_s0_s0_s0_s0_s0_s0::rank_dynamic) == int(8)); dim_s0 d1(2, 3, 4, 5, 6, 7, 8, 9); dim_s0_s0 d2(2, 3, 4, 5, 6, 7, 8, 9); @@ -514,11 +514,11 @@ void test_view_mapping() { { using namespace Kokkos::Impl; - static_assert(rank_dynamic<>::value == 0, ""); - static_assert(rank_dynamic<1>::value == 0, ""); - static_assert(rank_dynamic<0>::value == 1, ""); - static_assert(rank_dynamic<0, 1>::value == 1, ""); - static_assert(rank_dynamic<0, 0, 1>::value == 2, ""); + static_assert(rank_dynamic<>::value == 0); + static_assert(rank_dynamic<1>::value == 0); + static_assert(rank_dynamic<0>::value == 1); + static_assert(rank_dynamic<0, 1>::value == 1); + static_assert(rank_dynamic<0, 0, 1>::value == 2); } { @@ -529,54 +529,48 @@ void test_view_mapping() { using a_const_int_r1 = ViewArrayAnalysis; using a_const_int_r5 = ViewArrayAnalysis; - static_assert(a_int_r1::dimension::rank == 1, ""); - static_assert(a_int_r1::dimension::rank_dynamic == 1, ""); - static_assert(a_int_r5::dimension::ArgN0 == 0, ""); - static_assert(a_int_r5::dimension::ArgN1 == 0, ""); - static_assert(a_int_r5::dimension::ArgN2 == 4, ""); - static_assert(a_int_r5::dimension::ArgN3 == 5, ""); - static_assert(a_int_r5::dimension::ArgN4 == 6, ""); - static_assert(a_int_r5::dimension::ArgN5 == 1, ""); + static_assert(a_int_r1::dimension::rank == 1); + static_assert(a_int_r1::dimension::rank_dynamic == 1); + static_assert(a_int_r5::dimension::ArgN0 == 0); + static_assert(a_int_r5::dimension::ArgN1 == 0); + static_assert(a_int_r5::dimension::ArgN2 == 4); + static_assert(a_int_r5::dimension::ArgN3 == 5); + static_assert(a_int_r5::dimension::ArgN4 == 6); + static_assert(a_int_r5::dimension::ArgN5 == 1); static_assert( - std::is_same >::value, - ""); + std::is_same >::value); static_assert( - std::is_same::value, ""); + std::is_same::value); - static_assert(a_const_int_r1::dimension::rank == 1, ""); - static_assert(a_const_int_r1::dimension::rank_dynamic == 1, ""); + static_assert(a_const_int_r1::dimension::rank == 1); + static_assert(a_const_int_r1::dimension::rank_dynamic == 1); static_assert(std::is_same >::value, - ""); - static_assert( - std::is_same::value, - ""); + ViewDimension<0> >::value); + static_assert(std::is_same::value); - static_assert(a_const_int_r5::dimension::rank == 5, ""); - static_assert(a_const_int_r5::dimension::rank_dynamic == 2, ""); + static_assert(a_const_int_r5::dimension::rank == 5); + static_assert(a_const_int_r5::dimension::rank_dynamic == 2); - static_assert(a_const_int_r5::dimension::ArgN0 == 0, ""); - static_assert(a_const_int_r5::dimension::ArgN1 == 0, ""); - static_assert(a_const_int_r5::dimension::ArgN2 == 4, ""); - static_assert(a_const_int_r5::dimension::ArgN3 == 5, ""); - static_assert(a_const_int_r5::dimension::ArgN4 == 6, ""); - static_assert(a_const_int_r5::dimension::ArgN5 == 1, ""); + static_assert(a_const_int_r5::dimension::ArgN0 == 0); + static_assert(a_const_int_r5::dimension::ArgN1 == 0); + static_assert(a_const_int_r5::dimension::ArgN2 == 4); + static_assert(a_const_int_r5::dimension::ArgN3 == 5); + static_assert(a_const_int_r5::dimension::ArgN4 == 6); + static_assert(a_const_int_r5::dimension::ArgN5 == 1); static_assert(std::is_same >::value, - ""); - static_assert( - std::is_same::value, - ""); + ViewDimension<0, 0, 4, 5, 6> >::value); + static_assert(std::is_same::value); - static_assert(a_int_r5::dimension::rank == 5, ""); - static_assert(a_int_r5::dimension::rank_dynamic == 2, ""); + static_assert(a_int_r5::dimension::rank == 5); + static_assert(a_int_r5::dimension::rank_dynamic == 2); static_assert(std::is_same >::value, - ""); + ViewDimension<0, 0, 4, 5, 6> >::value); static_assert( - std::is_same::value, ""); + std::is_same::value); } { @@ -587,15 +581,15 @@ void test_view_mapping() { // Dimensions of t_i4 are appended to the multdimensional array. using a_int_r5 = ViewArrayAnalysis; - static_assert(a_int_r5::dimension::rank == 5, ""); - static_assert(a_int_r5::dimension::rank_dynamic == 3, ""); - static_assert(a_int_r5::dimension::ArgN0 == 0, ""); - static_assert(a_int_r5::dimension::ArgN1 == 0, ""); - static_assert(a_int_r5::dimension::ArgN2 == 0, ""); - static_assert(a_int_r5::dimension::ArgN3 == 3, ""); - static_assert(a_int_r5::dimension::ArgN4 == 4, ""); + static_assert(a_int_r5::dimension::rank == 5); + static_assert(a_int_r5::dimension::rank_dynamic == 3); + static_assert(a_int_r5::dimension::ArgN0 == 0); + static_assert(a_int_r5::dimension::ArgN1 == 0); + static_assert(a_int_r5::dimension::ArgN2 == 0); + static_assert(a_int_r5::dimension::ArgN3 == 3); + static_assert(a_int_r5::dimension::ArgN4 == 4); static_assert( - std::is_same::value, ""); + std::is_same::value); } { @@ -603,71 +597,54 @@ void test_view_mapping() { using a_const_int_r1 = ViewDataAnalysis; - static_assert(std::is_void::value, ""); + static_assert(std::is_void::value); static_assert(std::is_same >::value, - ""); + Kokkos::Impl::ViewDimension<0> >::value); static_assert( - std::is_same::value, ""); + std::is_same::value); static_assert( - std::is_same::value, - ""); + std::is_same::value); static_assert(std::is_same::value, - ""); + const int*>::value); static_assert( - std::is_same::value, - ""); + std::is_same::value); static_assert(std::is_same::value, - ""); + const int>::value); static_assert(std::is_same::value, - ""); + const int*>::value); static_assert( - std::is_same::value, ""); - static_assert( - std::is_same::value, - ""); + std::is_same::value); + static_assert(std::is_same::value); using a_const_int_r3 = ViewDataAnalysis; - static_assert(std::is_void::value, ""); + static_assert(std::is_void::value); static_assert(std::is_same >::value, - ""); + Kokkos::Impl::ViewDimension<0, 0, 4> >::value); static_assert( - std::is_same::value, - ""); + std::is_same::value); static_assert( - std::is_same::value, - ""); + std::is_same::value); static_assert(std::is_same::value, - ""); + const int* * [4]>::value); static_assert(std::is_same::value, - ""); + const int* * [4]>::value); static_assert(std::is_same::value, - ""); + const int>::value); static_assert(std::is_same::value, - ""); + const int* * [4]>::value); static_assert(std::is_same::value, - ""); - static_assert( - std::is_same::value, - ""); + int* * [4]>::value); + static_assert(std::is_same::value); static_assert( std::is_same::value, - ""); + int* * [4]>::value); // std::cout << "typeid( const int**[4] ).name() = " << typeid( const // int**[4] ).name() << std::endl; diff --git a/lib/kokkos/core/unit_test/TestViewMapping_b.hpp b/lib/kokkos/core/unit_test/TestViewMapping_b.hpp index 9ac4e7da84..4aee035d17 100644 --- a/lib/kokkos/core/unit_test/TestViewMapping_b.hpp +++ b/lib/kokkos/core/unit_test/TestViewMapping_b.hpp @@ -156,7 +156,7 @@ TEST(TEST_CATEGORY, view_mapping_assignable) { using dst_traits = Kokkos::ViewTraits; using src_traits = Kokkos::ViewTraits; using mapping = Kokkos::Impl::ViewMapping; - static_assert(mapping::is_assignable, ""); + static_assert(mapping::is_assignable); Kokkos::View src; Kokkos::View dst(src); @@ -167,7 +167,7 @@ TEST(TEST_CATEGORY, view_mapping_assignable) { using dst_traits = Kokkos::ViewTraits; using src_traits = Kokkos::ViewTraits; using mapping = Kokkos::Impl::ViewMapping; - static_assert(mapping::is_assignable, ""); + static_assert(mapping::is_assignable); Kokkos::View src; Kokkos::View dst(src); @@ -180,7 +180,7 @@ TEST(TEST_CATEGORY, view_mapping_assignable) { using src_traits = Kokkos::ViewTraits; using mapping = Kokkos::Impl::ViewMapping; - static_assert(mapping::is_assignable, ""); + static_assert(mapping::is_assignable); Kokkos::View src; Kokkos::View dst(src); @@ -193,7 +193,7 @@ TEST(TEST_CATEGORY, view_mapping_assignable) { using src_traits = Kokkos::ViewTraits; using mapping = Kokkos::Impl::ViewMapping; - static_assert(mapping::is_assignable, ""); + static_assert(mapping::is_assignable); Kokkos::View src; Kokkos::View dst(src); @@ -206,7 +206,7 @@ TEST(TEST_CATEGORY, view_mapping_assignable) { using src_traits = Kokkos::ViewTraits; using mapping = Kokkos::Impl::ViewMapping; - static_assert(!mapping::is_assignable, ""); + static_assert(!mapping::is_assignable); } { // Assignment of rank-2 Right = Left @@ -215,7 +215,7 @@ TEST(TEST_CATEGORY, view_mapping_assignable) { using src_traits = Kokkos::ViewTraits; using mapping = Kokkos::Impl::ViewMapping; - static_assert(!mapping::is_assignable, ""); + static_assert(!mapping::is_assignable); } } @@ -226,7 +226,7 @@ TEST(TEST_CATEGORY, view_mapping_trivially_copyable) { using src_traits = dst_traits; using mapping = Kokkos::Impl::ViewMapping; - static_assert(std::is_trivially_copyable{}, ""); + static_assert(std::is_trivially_copyable{}); } } // namespace Test diff --git a/lib/kokkos/core/unit_test/TestViewOutOfBoundsAccess.hpp b/lib/kokkos/core/unit_test/TestViewOutOfBoundsAccess.hpp new file mode 100644 index 0000000000..2716856c1f --- /dev/null +++ b/lib/kokkos/core/unit_test/TestViewOutOfBoundsAccess.hpp @@ -0,0 +1,175 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#include +#include + +#include + +namespace { + +TEST(TEST_CATEGORY, append_formatted_multidimensional_index) { + using Kokkos::Impl::append_formatted_multidimensional_index; + { + char buffer[64] = "my prefix "; + append_formatted_multidimensional_index(buffer, 1); + EXPECT_STREQ(buffer, "my prefix [1]"); + } + { + char buffer[64] = "I was here"; + append_formatted_multidimensional_index(buffer, 1, 2, 3); + EXPECT_STREQ(buffer, "I was here[1,2,3]"); + } + { + char buffer[64] = "with mixed integer types "; + append_formatted_multidimensional_index(buffer, 1u, -2); + EXPECT_STREQ(buffer, "with mixed integer types [1,-2]"); + } +} + +#ifdef KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK + +template +struct TestViewOutOfBoundAccess { + View v; + static constexpr auto rank = View::rank; + + template + KOKKOS_FUNCTION decltype(auto) bad_access(std::index_sequence) const { + return v((Is * 1 + Is == 0 ? v.extent(Is) + 3 : 0)...); + } + + KOKKOS_FUNCTION void operator()(int) const { + ++bad_access(std::make_index_sequence{}); + } + + template + std::string get_details(std::index_sequence) { + std::stringstream ss; + ss << "with indices \\["; + ((ss << (Is == 0 ? v.extent(Is) + 3 : 0) + << (Is == View::rank() - 1 ? "\\]" : ",")), + ...); + ss << " but extents \\["; + ((ss << v.extent(Is) << (Is == View::rank() - 1 ? "\\]" : ",")), ...); + return ss.str(); + } + + auto get_details() { + return get_details(std::make_index_sequence()); + } + + TestViewOutOfBoundAccess(View w, ExecutionSpace const& s, std::string matcher) + : v(std::move(w)) { + constexpr bool view_accessible_from_execution_space = + Kokkos::SpaceAccessibility< + /*AccessSpace=*/ExecutionSpace, + /*MemorySpace=*/typename View::memory_space>::accessible; + EXPECT_TRUE(view_accessible_from_execution_space); + + matcher += ".*" + get_details(); + + EXPECT_DEATH( + { + Kokkos::parallel_for(Kokkos::RangePolicy(s, 0, 1), + *this); + Kokkos::fence(); + }, + matcher); + } +}; + +template +auto make_view_impl(LblOrPtr x, std::index_sequence) { + return View(x, (Is + 1)...); +} + +template +auto make_view(LblOrPtr x) { + return make_view_impl(std::move(x), + std::make_index_sequence()); +} + +template +void test_view_out_of_bounds_access() { + ExecutionSpace const exec_space{}; + // clang-format off + using V1 = Kokkos::View; + using V2 = Kokkos::View; + using V3 = Kokkos::View; + using V4 = Kokkos::View; + using V5 = Kokkos::View; + using V6 = Kokkos::View; + using V7 = Kokkos::View; + using V8 = Kokkos::View; + std::string const prefix = "Kokkos::View ERROR: out of bounds access"; + std::string const lbl = "my_label"; + TestViewOutOfBoundAccess(make_view(lbl), exec_space, prefix + ".*" + lbl); + TestViewOutOfBoundAccess(make_view(lbl), exec_space, prefix + ".*" + lbl); + TestViewOutOfBoundAccess(make_view(lbl), exec_space, prefix + ".*" + lbl); + TestViewOutOfBoundAccess(make_view(lbl), exec_space, prefix + ".*" + lbl); + TestViewOutOfBoundAccess(make_view(lbl), exec_space, prefix + ".*" + lbl); + TestViewOutOfBoundAccess(make_view(lbl), exec_space, prefix + ".*" + lbl); + TestViewOutOfBoundAccess(make_view(lbl), exec_space, prefix + ".*" + lbl); + TestViewOutOfBoundAccess(make_view(lbl), exec_space, prefix + ".*" + lbl); + int* const ptr = nullptr; + TestViewOutOfBoundAccess(make_view(ptr), exec_space, prefix + ".*UNMANAGED"); + TestViewOutOfBoundAccess(make_view(ptr), exec_space, prefix + ".*UNMANAGED"); + TestViewOutOfBoundAccess(make_view(ptr), exec_space, prefix + ".*UNMANAGED"); + TestViewOutOfBoundAccess(make_view(ptr), exec_space, prefix + ".*UNMANAGED"); + TestViewOutOfBoundAccess(make_view(ptr), exec_space, prefix + ".*UNMANAGED"); + TestViewOutOfBoundAccess(make_view(ptr), exec_space, prefix + ".*UNMANAGED"); + TestViewOutOfBoundAccess(make_view(ptr), exec_space, prefix + ".*UNMANAGED"); + TestViewOutOfBoundAccess(make_view(ptr), exec_space, prefix + ".*UNMANAGED"); + // clang-format on +} + +TEST(TEST_CATEGORY_DEATH, view_out_of_bounds_access) { + ::testing::FLAGS_gtest_death_test_style = "threadsafe"; + + using ExecutionSpace = TEST_EXECSPACE; + + if (false && Kokkos::SpaceAccessibility< + /*AccessSpace=*/ExecutionSpace, + /*MemorySpace=*/Kokkos::HostSpace>::accessible) { + GTEST_SKIP() << "skipping since no memory access violation would occur"; + } + +#if defined(KOKKOS_ENABLE_SYCL) && defined(NDEBUG) // FIXME_SYCL + if (std::is_same_v) { + GTEST_SKIP() << "skipping SYCL device-side abort does not work when NDEBUG " + "is defined"; + } +#endif +#if defined(KOKKOS_ENABLE_OPENMPTARGET) // FIXME_OPENMPTARGET + if (std::is_same_v) { + GTEST_SKIP() << "skipping because OpenMPTarget backend is currently not " + "able to abort from the device"; + } +#endif +#if defined(KOKKOS_ENABLE_OPENACC) // FIXME_OPENACC + if (std::is_same::value) { + GTEST_SKIP() << "skipping because OpenACC backend is currently not " + "able to abort from the device"; + } +#endif + + test_view_out_of_bounds_access(); +} + +#endif + +} // namespace diff --git a/lib/kokkos/core/unit_test/UnitTest_DeviceAndThreads.cpp b/lib/kokkos/core/unit_test/UnitTest_DeviceAndThreads.cpp index b522ac3e69..25442146fb 100644 --- a/lib/kokkos/core/unit_test/UnitTest_DeviceAndThreads.cpp +++ b/lib/kokkos/core/unit_test/UnitTest_DeviceAndThreads.cpp @@ -19,22 +19,23 @@ #include #include -int get_device_count() { +int get_num_devices() { + int num_devices; #if defined(KOKKOS_ENABLE_CUDA) - int count; - KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetDeviceCount(&count)); - return count; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetDeviceCount(&num_devices)); #elif defined(KOKKOS_ENABLE_HIP) - int count; - KOKKOS_IMPL_HIP_SAFE_CALL(hipGetDevice(&count)); - return count; + KOKKOS_IMPL_HIP_SAFE_CALL(hipGetDeviceCount(&num_devices)); #elif defined(KOKKOS_ENABLE_OPENMPTARGET) - return omp_get_num_devices(); + num_devices = omp_get_num_devices(); #elif defined(KOKKOS_ENABLE_OPENACC) - return acc_get_num_devices(acc_get_device_type()); + num_devices = acc_get_num_devices(acc_get_device_type()); +#elif defined(KOKKOS_ENABLE_SYCL) + num_devices = sycl::device::get_devices(sycl::info::device_type::gpu).size(); #else - return 0; + num_devices = -1; #endif + assert(num_devices == Kokkos::num_devices()); + return num_devices; } int get_device_id() { @@ -44,15 +45,17 @@ int get_device_id() { #elif defined(KOKKOS_ENABLE_HIP) KOKKOS_IMPL_HIP_SAFE_CALL(hipGetDevice(&device_id)); #elif defined(KOKKOS_ENABLE_OPENMPTARGET) - device_id = omp_get_device_num(); + device_id = omp_get_default_device(); #elif defined(KOKKOS_ENABLE_OPENACC) - device_id = acc_get_device_num(acc_get_device_type()); + device_id = acc_get_device_num(acc_get_device_type()); #elif defined(KOKKOS_ENABLE_SYCL) - // FIXME_SYCL ? - assert(false); - return -2; + // Not able to query the underlying runtime because there is no such thing as + // device currently being used with SYCL. We go through the Kokkos runtime + // which makes the assert below pointless but it still let us check that + // Kokkos selected the device we asked for from the Python tests. + device_id = Kokkos::device_id(); #else - device_id = -1; + device_id = -1; #endif assert(device_id == Kokkos::device_id()); return device_id; @@ -68,6 +71,14 @@ int get_max_threads() { #endif } +int get_hwloc_enabled() { +#ifdef KOKKOS_ENABLE_HWLOC + return 1; +#else + return 0; +#endif +} + int get_num_threads() { int const num_threads = Kokkos::DefaultHostExecutionSpace().concurrency(); assert(num_threads == Kokkos::num_threads()); @@ -90,9 +101,10 @@ int print_flag(std::string const& flag) { KOKKOS_TEST_PRINT_FLAG(num_threads); KOKKOS_TEST_PRINT_FLAG(max_threads); KOKKOS_TEST_PRINT_FLAG(device_id); - KOKKOS_TEST_PRINT_FLAG(device_count); + KOKKOS_TEST_PRINT_FLAG(num_devices); KOKKOS_TEST_PRINT_FLAG(disable_warnings); KOKKOS_TEST_PRINT_FLAG(tune_internals); + KOKKOS_TEST_PRINT_FLAG(hwloc_enabled); #undef KOKKOS_TEST_PRINT_FLAG diff --git a/lib/kokkos/core/unit_test/configuration/test-code/test_config_arch_list.bash b/lib/kokkos/core/unit_test/configuration/test-code/test_config_arch_list.bash index 8fe8e2b5ec..8bc8ef21cd 100755 --- a/lib/kokkos/core/unit_test/configuration/test-code/test_config_arch_list.bash +++ b/lib/kokkos/core/unit_test/configuration/test-code/test_config_arch_list.bash @@ -4,7 +4,7 @@ HostArch=(SNB HSW SKX KNL) DeviceArch=(Kepler35 Kepler37 Pascal60 Pascal61 Volta70) if [ ! -z "$KOKKOS_HOST_ARCH_TEST" ]; then export KOKKOS_ARCH_TEST=1 - HostArch=(WSM SNB HSW SKX WSM AMDAVX ARMv80 ARMv81 BDW KNC KNL BGQ Power7 Power8 Power9 Zen Zen2 Zen3 ARMv8_ThunderX ARMv8_ThunderX2) + HostArch=(SNB HSW SKX AMDAVX ARMv80 ARMv81 BDW KNC KNL Power8 Power9 Zen Zen2 Zen3 ARMv8_ThunderX ARMv8_ThunderX2) DeviceArch=() fi diff --git a/lib/kokkos/core/unit_test/cuda/TestCuda_InterOp_StreamsMultiGPU.cpp b/lib/kokkos/core/unit_test/cuda/TestCuda_InterOp_StreamsMultiGPU.cpp new file mode 100644 index 0000000000..d94735ceb2 --- /dev/null +++ b/lib/kokkos/core/unit_test/cuda/TestCuda_InterOp_StreamsMultiGPU.cpp @@ -0,0 +1,268 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#include +#include + +namespace { + +struct StreamsAndDevices { + std::array streams; + std::array devices; + + StreamsAndDevices() { + int n_devices; + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaGetDeviceCount(&n_devices)); + + devices = {0, n_devices - 1}; + for (int i = 0; i < 2; ++i) { + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(devices[i])); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaStreamCreate(&streams[i])); + } + } + StreamsAndDevices(const StreamsAndDevices &) = delete; + StreamsAndDevices &operator=(const StreamsAndDevices &) = delete; + ~StreamsAndDevices() { + for (int i = 0; i < 2; ++i) { + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(devices[i])); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaStreamDestroy(streams[i])); + } + } +}; + +std::array get_execution_spaces( + const StreamsAndDevices &streams_and_devices) { + TEST_EXECSPACE exec0(streams_and_devices.streams[0]); + TEST_EXECSPACE exec1(streams_and_devices.streams[1]); + + // Must return void to use ASSERT_EQ + [&]() { + ASSERT_EQ(exec0.cuda_device(), streams_and_devices.devices[0]); + ASSERT_EQ(exec1.cuda_device(), streams_and_devices.devices[1]); + }(); + + return {exec0, exec1}; +} + +// Test Interoperability with Cuda Streams +void test_policies(TEST_EXECSPACE exec0, Kokkos::View v0, + TEST_EXECSPACE exec, Kokkos::View v) { + using MemorySpace = typename TEST_EXECSPACE::memory_space; + + Kokkos::deep_copy(exec, v, 5); + Kokkos::deep_copy(exec0, v0, 5); + + Kokkos::deep_copy(v, v0); + + int sum; + int sum0; + + Kokkos::parallel_for("Test::cuda::raw_cuda_stream::Range_0", + Kokkos::RangePolicy(exec0, 0, 100), + Test::FunctorRange(v0)); + Kokkos::parallel_for("Test::cuda::raw_cuda_stream::Range", + Kokkos::RangePolicy(exec, 0, 100), + Test::FunctorRange(v)); + Kokkos::parallel_reduce( + "Test::cuda::raw_cuda_stream::RangeReduce_0", + Kokkos::RangePolicy>(exec0, + 0, 100), + Test::FunctorRangeReduce(v0), sum0); + Kokkos::parallel_reduce( + "Test::cuda::raw_cuda_stream::RangeReduce", + Kokkos::RangePolicy>(exec, 0, + 100), + Test::FunctorRangeReduce(v), sum); + ASSERT_EQ(600, sum0); + ASSERT_EQ(600, sum); + + Kokkos::parallel_for("Test::cuda::raw_cuda_stream::MDRange_0", + Kokkos::MDRangePolicy>( + exec0, {0, 0}, {10, 10}), + Test::FunctorMDRange(v0)); + Kokkos::parallel_for("Test::cuda::raw_cuda_stream::MDRange", + Kokkos::MDRangePolicy>( + exec, {0, 0}, {10, 10}), + Test::FunctorMDRange(v)); + Kokkos::parallel_reduce("Test::cuda::raw_cuda_stream::MDRangeReduce_0", + Kokkos::MDRangePolicy, + Kokkos::LaunchBounds<128, 2>>( + exec0, {0, 0}, {10, 10}), + Test::FunctorMDRangeReduce(v0), sum0); + Kokkos::parallel_reduce("Test::cuda::raw_cuda_stream::MDRangeReduce", + Kokkos::MDRangePolicy, + Kokkos::LaunchBounds<128, 2>>( + exec, {0, 0}, {10, 10}), + Test::FunctorMDRangeReduce(v), sum); + ASSERT_EQ(700, sum0); + ASSERT_EQ(700, sum); + + Kokkos::parallel_for("Test::cuda::raw_cuda_stream::Team_0", + Kokkos::TeamPolicy(exec0, 10, 10), + Test::FunctorTeam(v0)); + Kokkos::parallel_for("Test::cuda::raw_cuda_stream::Team", + Kokkos::TeamPolicy(exec, 10, 10), + Test::FunctorTeam(v)); + Kokkos::parallel_reduce( + "Test::cuda::raw_cuda_stream::Team_0", + Kokkos::TeamPolicy>(exec0, + 10, 10), + Test::FunctorTeamReduce(v0), sum0); + Kokkos::parallel_reduce( + "Test::cuda::raw_cuda_stream::Team", + Kokkos::TeamPolicy>(exec, 10, + 10), + Test::FunctorTeamReduce(v), sum); + ASSERT_EQ(800, sum0); + ASSERT_EQ(800, sum); +} + +TEST(cuda_multi_gpu, managed_views) { + StreamsAndDevices streams_and_devices; + { + std::array execs = + get_execution_spaces(streams_and_devices); + + Kokkos::View view0( + Kokkos::view_alloc("v0", execs[0]), 100); + Kokkos::View view(Kokkos::view_alloc("v", execs[1]), + 100); + + test_policies(execs[0], view0, execs[1], view); + } +} + +TEST(cuda_multi_gpu, unmanaged_views) { + StreamsAndDevices streams_and_devices; + { + std::array execs = + get_execution_spaces(streams_and_devices); + + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(execs[0].cuda_device())); + int *p0; + KOKKOS_IMPL_CUDA_SAFE_CALL( + cudaMalloc(reinterpret_cast(&p0), sizeof(int) * 100)); + Kokkos::View view0(p0, 100); + + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaSetDevice(execs[1].cuda_device())); + int *p; + KOKKOS_IMPL_CUDA_SAFE_CALL( + cudaMalloc(reinterpret_cast(&p), sizeof(int) * 100)); + Kokkos::View view(p, 100); + + test_policies(execs[0], view0, execs[1], view); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaFree(p0)); + KOKKOS_IMPL_CUDA_SAFE_CALL(cudaFree(p)); + } +} + +struct ScratchFunctor { + int scratch_size; + int R; + + ScratchFunctor(int scratch_size_, int R_) + : scratch_size(scratch_size_), R(R_) {} + + KOKKOS_FUNCTION + void operator()(const Kokkos::TeamPolicy::member_type &team, + int &error_accum) const { + Kokkos::View scratch_mem( + team.team_scratch(1), scratch_size); + + // Initialize scratch memory + Kokkos::parallel_for(Kokkos::TeamVectorRange(team, 0, scratch_size), + [&](int i) { scratch_mem(i) = 0; }); + team.team_barrier(); + + // Increment each entry in scratch memory R times + for (int r = 0; r < R; ++r) { + Kokkos::parallel_for(Kokkos::TeamVectorRange(team, 0, scratch_size), + [&](int i) { scratch_mem(i) += 1; }); + } + team.team_barrier(); + + // Check that each scratch entry has been incremented exactly R times + int team_error_accum; + auto R_loc = R; // avoid implicit capture of this + Kokkos::parallel_reduce( + Kokkos::TeamVectorRange(team, 0, scratch_size), + [&](int i, int &tsum) { + if (scratch_mem(i) != R_loc) { + tsum += 1; + } + }, + team_error_accum); + Kokkos::single(Kokkos::PerTeam(team), + [&]() { error_accum += team_error_accum; }); + } +}; + +void test_scratch(TEST_EXECSPACE exec0, TEST_EXECSPACE exec1) { + constexpr int N = 10; + constexpr int R = 1000; + constexpr int scratch_size = 100; + using ScratchType = Kokkos::View; + + // Test allocating and using scratch space + ScratchFunctor f(scratch_size, R); + + auto policy0 = + Kokkos::TeamPolicy(exec0, N, 10) + .set_scratch_size( + 1, Kokkos::PerTeam(ScratchType::shmem_size(scratch_size))); + auto policy1 = + Kokkos::TeamPolicy(exec1, N, 10) + .set_scratch_size( + 1, Kokkos::PerTeam(ScratchType::shmem_size(scratch_size))); + + int error0, error1; + + Kokkos::parallel_reduce("test_scratch_device_0", policy0, f, error0); + Kokkos::parallel_reduce("test_scratch_device_1", policy1, f, error1); + ASSERT_EQ(error0, 0); + ASSERT_EQ(error1, 0); + + // Request larger scratch size to trigger a realloc and test + const auto new_scratch_size = scratch_size + 10; + ScratchFunctor f_more_scratch(new_scratch_size, R); + + auto policy0_more_scratch = + Kokkos::TeamPolicy(exec0, N, 10) + .set_scratch_size( + 1, Kokkos::PerTeam(ScratchType::shmem_size(new_scratch_size))); + auto policy1_more_scratch = + Kokkos::TeamPolicy(exec1, N, 10) + .set_scratch_size( + 1, Kokkos::PerTeam(ScratchType::shmem_size(new_scratch_size))); + + Kokkos::parallel_reduce("test_realloc_scratch_device_0", policy0_more_scratch, + f_more_scratch, error0); + Kokkos::parallel_reduce("test_realloc_scratch_device_1", policy1_more_scratch, + f_more_scratch, error1); + ASSERT_EQ(error0, 0); + ASSERT_EQ(error1, 0); +} + +TEST(cuda_multi_gpu, scratch_space) { + StreamsAndDevices streams_and_devices; + { + std::array execs = + get_execution_spaces(streams_and_devices); + + test_scratch(execs[0], execs[1]); + } +} +} // namespace diff --git a/lib/kokkos/core/unit_test/cuda/TestCuda_Spaces.cpp b/lib/kokkos/core/unit_test/cuda/TestCuda_Spaces.cpp index ae603101ab..11fe6b8555 100644 --- a/lib/kokkos/core/unit_test/cuda/TestCuda_Spaces.cpp +++ b/lib/kokkos/core/unit_test/cuda/TestCuda_Spaces.cpp @@ -29,200 +29,166 @@ __global__ void test_cuda_spaces_int_value(int *ptr) { TEST(cuda, space_access) { static_assert(Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::CudaHostPinnedSpace>::assignable); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::CudaSpace>::assignable); + + static_assert( + !Kokkos::Impl::MemorySpaceAccess::accessible); + + static_assert( + !Kokkos::Impl::MemorySpaceAccess::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::CudaUVMSpace>::accessible); //-------------------------------------- static_assert(Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::CudaSpace>::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::CudaUVMSpace>::assignable); + + static_assert(!Kokkos::Impl::MemorySpaceAccess< + Kokkos::CudaSpace, Kokkos::CudaHostPinnedSpace>::assignable); + + static_assert( + Kokkos::Impl::MemorySpaceAccess::accessible); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); static_assert( - Kokkos::Impl::MemorySpaceAccess::accessible, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + !Kokkos::Impl::MemorySpaceAccess::accessible); //-------------------------------------- static_assert( Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(Kokkos::Impl::MemorySpaceAccess::accessible, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::CudaUVMSpace>::assignable); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::CudaSpace>::assignable); + + static_assert(Kokkos::Impl::MemorySpaceAccess::accessible); + + static_assert( + !Kokkos::Impl::MemorySpaceAccess::assignable); + + static_assert( + !Kokkos::Impl::MemorySpaceAccess::accessible); + + static_assert(!Kokkos::Impl::MemorySpaceAccess< + Kokkos::CudaUVMSpace, Kokkos::CudaHostPinnedSpace>::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::CudaHostPinnedSpace>::accessible); //-------------------------------------- static_assert( Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(Kokkos::Impl::MemorySpaceAccess::accessible, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::CudaHostPinnedSpace>::assignable); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); + + static_assert(Kokkos::Impl::MemorySpaceAccess::accessible); + + static_assert( + !Kokkos::Impl::MemorySpaceAccess::assignable); + + static_assert( + !Kokkos::Impl::MemorySpaceAccess::accessible); + + static_assert( + !Kokkos::Impl::MemorySpaceAccess::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::CudaUVMSpace>::accessible); //-------------------------------------- static_assert( - !Kokkos::SpaceAccessibility::accessible, - ""); + !Kokkos::SpaceAccessibility::accessible); static_assert( - Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::SpaceAccessibility::accessible); static_assert(Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::CudaUVMSpace>::accessible); static_assert( Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::CudaHostPinnedSpace>::accessible); static_assert(!Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::CudaSpace>::accessible); static_assert(Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::CudaUVMSpace>::accessible); static_assert( Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::CudaHostPinnedSpace>::accessible); static_assert(std::is_same::Space, - Kokkos::HostSpace>::value, - ""); + Kokkos::HostSpace>::value); static_assert( std::is_same::Space, Kokkos::Device>::value, - ""); + Kokkos::CudaUVMSpace>>::value); static_assert( std::is_same::Space, - Kokkos::CudaHostPinnedSpace>::value, - ""); + Kokkos::CudaHostPinnedSpace>::value); static_assert(std::is_same, Kokkos::Device>::value, - ""); + Kokkos::CudaUVMSpace>>::value); static_assert( Kokkos::SpaceAccessibility::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::HostSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Impl::HostMirror::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::Impl::HostMirror::Space, + Kokkos::HostSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Impl::HostMirror::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::Impl::HostMirror::Space, + Kokkos::HostSpace>::accessible); - static_assert( - Kokkos::SpaceAccessibility< - Kokkos::Impl::HostMirror::Space, - Kokkos::HostSpace>::accessible, - ""); + static_assert(Kokkos::SpaceAccessibility< + Kokkos::Impl::HostMirror::Space, + Kokkos::HostSpace>::accessible); #ifdef KOKKOS_ENABLE_CUDA_UVM using uvm_view = Kokkos::View; static_assert(std::is_same::Space; static_assert(Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::HostSpace>::accessible); static_assert( - Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::SpaceAccessibility::accessible); static_assert( - Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::SpaceAccessibility::accessible); } } // namespace Test diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_1.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_1.cpp deleted file mode 100644 index 348b9feeab..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_1.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_01 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_10.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_10.cpp deleted file mode 100644 index a77a55ea65..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_10.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_10 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_11.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_11.cpp deleted file mode 100644 index 1b6a140920..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_11.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_11 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_12.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_12.cpp deleted file mode 100644 index 316bc85526..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_12.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_12 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_13.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_13.cpp deleted file mode 100644 index 6344960a1c..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_13.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_13 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_14.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_14.cpp deleted file mode 100644 index 4515174b82..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_14.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_14 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_15.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_15.cpp deleted file mode 100644 index 7ead50f094..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_15.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_15 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_16.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_16.cpp deleted file mode 100644 index e12b9b3894..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_16.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_16 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_17.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_17.cpp deleted file mode 100644 index 959d0ab750..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_17.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_17 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_18.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_18.cpp deleted file mode 100644 index 07d841519d..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_18.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_18 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_2.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_2.cpp deleted file mode 100644 index 042a515b16..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_2.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_02 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_3.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_3.cpp deleted file mode 100644 index dba401e5bc..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_3.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_03 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_4.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_4.cpp deleted file mode 100644 index a44c58bdb5..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_4.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_04 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_5.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_5.cpp deleted file mode 100644 index cac0841dd8..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_5.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_05 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_6.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_6.cpp deleted file mode 100644 index bafe3b3fd2..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_6.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_06 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_7.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_7.cpp deleted file mode 100644 index 3a4dd9d253..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_7.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_07 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_8.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_8.cpp deleted file mode 100644 index 4e92aae565..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_8.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_08 -#include diff --git a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_9.cpp b/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_9.cpp deleted file mode 100644 index 44b8f3428d..0000000000 --- a/lib/kokkos/core/unit_test/default/TestDefaultDeviceTypeInit_9.cpp +++ /dev/null @@ -1,18 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#define KOKKOS_DEFAULTDEVICETYPE_INIT_TEST_09 -#include diff --git a/lib/kokkos/core/unit_test/hip/TestHIP_Memory_Requirements.cpp b/lib/kokkos/core/unit_test/hip/TestHIP_Memory_Requirements.cpp index 8c72e9f297..a213453ea1 100644 --- a/lib/kokkos/core/unit_test/hip/TestHIP_Memory_Requirements.cpp +++ b/lib/kokkos/core/unit_test/hip/TestHIP_Memory_Requirements.cpp @@ -48,6 +48,9 @@ TEST(hip, memory_requirements) { // we want all user-facing memory in hip to be coarse grained. As of // today(07.01.22) the documentation is not reliable/correct, we test the // memory on the device and host + // FIXME_HIP + GTEST_SKIP() << "skipping the test because the CI on MI100 returns: error( " + "hipErrorInvalidValue)"; KOKKOS_TEST_MEMORY_COARSEGRAINEDNESS(Kokkos::HIPSpace, int, 10); KOKKOS_TEST_MEMORY_COARSEGRAINEDNESS(Kokkos::HIPHostPinnedSpace, int, 10); KOKKOS_TEST_MEMORY_COARSEGRAINEDNESS(Kokkos::HIPManagedSpace, int, 10); diff --git a/lib/kokkos/core/unit_test/hip/TestHIP_Spaces.cpp b/lib/kokkos/core/unit_test/hip/TestHIP_Spaces.cpp index 14fd4e2883..8f7499c244 100644 --- a/lib/kokkos/core/unit_test/hip/TestHIP_Spaces.cpp +++ b/lib/kokkos/core/unit_test/hip/TestHIP_Spaces.cpp @@ -29,198 +29,164 @@ __global__ void test_hip_spaces_int_value(int *ptr) { TEST(hip, space_access) { static_assert(Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HIPHostPinnedSpace>::assignable); static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HIPSpace>::assignable); static_assert(!Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HIPSpace>::accessible); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HIPManagedSpace>::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HIPManagedSpace>::accessible); //-------------------------------------- static_assert(Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HIPSpace>::assignable); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HIPHostPinnedSpace>::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HIPHostPinnedSpace>::accessible); - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + static_assert( + !Kokkos::Impl::MemorySpaceAccess::assignable); - static_assert(!Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + static_assert( + !Kokkos::Impl::MemorySpaceAccess::accessible); static_assert( Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HIPManagedSpace>::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HIPManagedSpace>::accessible); //-------------------------------------- static_assert( Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(Kokkos::Impl::MemorySpaceAccess::accessible, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HIPHostPinnedSpace>::assignable); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); + + static_assert(Kokkos::Impl::MemorySpaceAccess::accessible); + + static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable); + + static_assert(!Kokkos::Impl::MemorySpaceAccess::accessible); + + static_assert( + !Kokkos::Impl::MemorySpaceAccess::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HIPManagedSpace>::accessible); //-------------------------------------- static_assert( Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::accessible, - ""); - - static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable, - ""); - - static_assert(Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HIPManagedSpace>::assignable); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); + + static_assert( + !Kokkos::Impl::MemorySpaceAccess::accessible); + + static_assert(!Kokkos::Impl::MemorySpaceAccess::assignable); + + static_assert(Kokkos::Impl::MemorySpaceAccess::accessible); + + static_assert( + !Kokkos::Impl::MemorySpaceAccess::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HIPHostPinnedSpace>::accessible); //-------------------------------------- static_assert( - !Kokkos::SpaceAccessibility::accessible, - ""); + !Kokkos::SpaceAccessibility::accessible); static_assert( - Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::SpaceAccessibility::accessible); static_assert( Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::HIPHostPinnedSpace>::accessible); - static_assert(Kokkos::SpaceAccessibility::accessible, - ""); + static_assert( + Kokkos::SpaceAccessibility::accessible); static_assert(!Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::HIPSpace>::accessible); static_assert( Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::HIPHostPinnedSpace>::accessible); - static_assert(Kokkos::SpaceAccessibility::accessible, - ""); + static_assert( + Kokkos::SpaceAccessibility::accessible); static_assert(std::is_same::Space, - Kokkos::HostSpace>::value, - ""); + Kokkos::HostSpace>::value); static_assert( std::is_same::Space, - Kokkos::HIPHostPinnedSpace>::value, - ""); + Kokkos::HIPHostPinnedSpace>::value); static_assert( std::is_same::Space, Kokkos::Device>::value, - ""); + Kokkos::HIPManagedSpace>>::value); static_assert( Kokkos::SpaceAccessibility::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::HostSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Impl::HostMirror::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::Impl::HostMirror::Space, + Kokkos::HostSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Impl::HostMirror::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::Impl::HostMirror::Space, + Kokkos::HostSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Impl::HostMirror::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::Impl::HostMirror::Space, + Kokkos::HostSpace>::accessible); } template diff --git a/lib/kokkos/core/unit_test/incremental/Test01_execspace.hpp b/lib/kokkos/core/unit_test/incremental/Test01_execspace.hpp index 25c7138ed3..d7b2a57b44 100644 --- a/lib/kokkos/core/unit_test/incremental/Test01_execspace.hpp +++ b/lib/kokkos/core/unit_test/incremental/Test01_execspace.hpp @@ -62,8 +62,10 @@ struct TestIncrExecSpace { auto concurrency = ExecSpace().concurrency(); ASSERT_GT(concurrency, 0); +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4 int in_parallel = ExecSpace::in_parallel(); ASSERT_FALSE(in_parallel); +#endif const char* name = ExecSpace::name(); std::cout << name << std::endl; diff --git a/lib/kokkos/core/unit_test/openmp/TestOpenMP_PartitionMaster.cpp b/lib/kokkos/core/unit_test/openmp/TestOpenMP_PartitionMaster.cpp deleted file mode 100644 index 92b8032bf0..0000000000 --- a/lib/kokkos/core/unit_test/openmp/TestOpenMP_PartitionMaster.cpp +++ /dev/null @@ -1,105 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER - -#include -#include - -#include - -namespace Test { - -#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_3 -TEST(openmp, partition_master) { - using Mutex = Kokkos::Experimental::MasterLock; - - Mutex mtx; - int errors = 0; - - auto master = [&errors, &mtx](int /*partition_id*/, int /*num_partitions*/) { - const int pool_size = Kokkos::OpenMP().impl_thread_pool_size(); - - { - std::unique_lock lock(mtx); - if (Kokkos::OpenMP::in_parallel()) { - ++errors; - } - if (Kokkos::OpenMP::impl_thread_pool_rank() != 0) { - ++errors; - } - } - - { - int local_errors = 0; - Kokkos::parallel_reduce( - Kokkos::RangePolicy(0, 1000), - [pool_size](const int, int& errs) { - if (Kokkos::OpenMP().impl_thread_pool_size() != pool_size) { - ++errs; - } - }, - local_errors); - Kokkos::atomic_add(&errors, local_errors); - } - - Kokkos::Experimental::UniqueToken token; - - Kokkos::View count("", token.size()); - - Kokkos::parallel_for(Kokkos::RangePolicy(0, 1000), - [=](const int) { - int i = token.acquire(); - ++count[i]; - token.release(i); - }); - - Kokkos::View sum(""); - Kokkos::parallel_for( - Kokkos::RangePolicy(0, token.size()), - [=](const int i) { Kokkos::atomic_add(sum.data(), count[i]); }); - - if (sum() != 1000) { - Kokkos::atomic_add(&errors, 1); - } - }; - - master(0, 1); - - ASSERT_EQ(errors, 0); - - Kokkos::OpenMP::partition_master(master); - ASSERT_EQ(errors, 0); - - Kokkos::OpenMP::partition_master(master, 4, 0); - ASSERT_EQ(errors, 0); - - Kokkos::OpenMP::partition_master(master, 0, 4); - ASSERT_EQ(errors, 0); - - Kokkos::OpenMP::partition_master(master, 2, 2); - ASSERT_EQ(errors, 0); - - Kokkos::OpenMP::partition_master(master, 8, 0); - ASSERT_EQ(errors, 0); - - Kokkos::OpenMP::partition_master(master, 0, 8); - ASSERT_EQ(errors, 0); - - Kokkos::OpenMP::partition_master(master, 8, 8); - ASSERT_EQ(errors, 0); -} -#endif - -} // namespace Test diff --git a/lib/kokkos/core/unit_test/sycl/TestSYCL_Spaces.cpp b/lib/kokkos/core/unit_test/sycl/TestSYCL_Spaces.cpp index 914f843248..a4fd053e83 100644 --- a/lib/kokkos/core/unit_test/sycl/TestSYCL_Spaces.cpp +++ b/lib/kokkos/core/unit_test/sycl/TestSYCL_Spaces.cpp @@ -21,235 +21,192 @@ namespace Test { TEST(sycl, space_access) { static_assert(Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::HostSpace, - Kokkos::Experimental::SYCLHostUSMSpace>::assignable, - ""); + Kokkos::HostSpace, + Kokkos::Experimental::SYCLHostUSMSpace>::assignable); static_assert(!Kokkos::Impl::MemorySpaceAccess< - Kokkos::HostSpace, - Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable, - ""); + Kokkos::HostSpace, + Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable); static_assert(!Kokkos::Impl::MemorySpaceAccess< - Kokkos::HostSpace, - Kokkos::Experimental::SYCLDeviceUSMSpace>::accessible, - ""); + Kokkos::HostSpace, + Kokkos::Experimental::SYCLDeviceUSMSpace>::accessible); static_assert(!Kokkos::Impl::MemorySpaceAccess< - Kokkos::HostSpace, - Kokkos::Experimental::SYCLSharedUSMSpace>::assignable, - ""); + Kokkos::HostSpace, + Kokkos::Experimental::SYCLSharedUSMSpace>::assignable); static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::HostSpace, - Kokkos::Experimental::SYCLSharedUSMSpace>::accessible, - ""); + Kokkos::HostSpace, + Kokkos::Experimental::SYCLSharedUSMSpace>::accessible); //-------------------------------------- static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLDeviceUSMSpace, - Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLDeviceUSMSpace, + Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable); static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLDeviceUSMSpace, - Kokkos::Experimental::SYCLSharedUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLDeviceUSMSpace, + Kokkos::Experimental::SYCLSharedUSMSpace>::assignable); static_assert(!Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLDeviceUSMSpace, - Kokkos::Experimental::SYCLHostUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLDeviceUSMSpace, + Kokkos::Experimental::SYCLHostUSMSpace>::assignable); static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLDeviceUSMSpace, - Kokkos::Experimental::SYCLHostUSMSpace>::accessible, - ""); + Kokkos::Experimental::SYCLDeviceUSMSpace, + Kokkos::Experimental::SYCLHostUSMSpace>::accessible); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); static_assert( !Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HostSpace>::accessible); //-------------------------------------- static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLSharedUSMSpace, - Kokkos::Experimental::SYCLSharedUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLSharedUSMSpace, + Kokkos::Experimental::SYCLSharedUSMSpace>::assignable); static_assert(!Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLSharedUSMSpace, - Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLSharedUSMSpace, + Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable); static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLSharedUSMSpace, - Kokkos::Experimental::SYCLDeviceUSMSpace>::accessible, - ""); + Kokkos::Experimental::SYCLSharedUSMSpace, + Kokkos::Experimental::SYCLDeviceUSMSpace>::accessible); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); static_assert( !Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HostSpace>::accessible); static_assert(!Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLSharedUSMSpace, - Kokkos::Experimental::SYCLHostUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLSharedUSMSpace, + Kokkos::Experimental::SYCLHostUSMSpace>::assignable); static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLSharedUSMSpace, - Kokkos::Experimental::SYCLHostUSMSpace>::accessible, - ""); + Kokkos::Experimental::SYCLSharedUSMSpace, + Kokkos::Experimental::SYCLHostUSMSpace>::accessible); //-------------------------------------- static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLHostUSMSpace, - Kokkos::Experimental::SYCLHostUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLHostUSMSpace, + Kokkos::Experimental::SYCLHostUSMSpace>::assignable); static_assert( !Kokkos::Impl::MemorySpaceAccess::assignable, - ""); + Kokkos::HostSpace>::assignable); static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HostSpace>::accessible); static_assert(!Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLHostUSMSpace, - Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLHostUSMSpace, + Kokkos::Experimental::SYCLDeviceUSMSpace>::assignable); static_assert(!Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLHostUSMSpace, - Kokkos::Experimental::SYCLDeviceUSMSpace>::accessible, - ""); + Kokkos::Experimental::SYCLHostUSMSpace, + Kokkos::Experimental::SYCLDeviceUSMSpace>::accessible); static_assert(!Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLHostUSMSpace, - Kokkos::Experimental::SYCLSharedUSMSpace>::assignable, - ""); + Kokkos::Experimental::SYCLHostUSMSpace, + Kokkos::Experimental::SYCLSharedUSMSpace>::assignable); static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::Experimental::SYCLHostUSMSpace, - Kokkos::Experimental::SYCLSharedUSMSpace>::accessible, - ""); + Kokkos::Experimental::SYCLHostUSMSpace, + Kokkos::Experimental::SYCLSharedUSMSpace>::accessible); //-------------------------------------- static_assert(!Kokkos::SpaceAccessibility::accessible, - ""); + Kokkos::HostSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Experimental::SYCL, - Kokkos::Experimental::SYCLDeviceUSMSpace>::accessible, - ""); + Kokkos::Experimental::SYCL, + Kokkos::Experimental::SYCLDeviceUSMSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Experimental::SYCL, - Kokkos::Experimental::SYCLSharedUSMSpace>::accessible, - ""); + Kokkos::Experimental::SYCL, + Kokkos::Experimental::SYCLSharedUSMSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Experimental::SYCL, - Kokkos::Experimental::SYCLHostUSMSpace>::accessible, - ""); + Kokkos::Experimental::SYCL, + Kokkos::Experimental::SYCLHostUSMSpace>::accessible); static_assert(!Kokkos::SpaceAccessibility< - Kokkos::HostSpace, - Kokkos::Experimental::SYCLDeviceUSMSpace>::accessible, - ""); + Kokkos::HostSpace, + Kokkos::Experimental::SYCLDeviceUSMSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::HostSpace, - Kokkos::Experimental::SYCLSharedUSMSpace>::accessible, - ""); + Kokkos::HostSpace, + Kokkos::Experimental::SYCLSharedUSMSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::HostSpace, - Kokkos::Experimental::SYCLHostUSMSpace>::accessible, - ""); + Kokkos::HostSpace, + Kokkos::Experimental::SYCLHostUSMSpace>::accessible); static_assert( std::is_same::Space, - Kokkos::HostSpace>::value, - ""); + Kokkos::HostSpace>::value); static_assert( std::is_same< Kokkos::Impl::HostMirror< Kokkos::Experimental::SYCLSharedUSMSpace>::Space, Kokkos::Device>::value, - ""); + Kokkos::Experimental::SYCLSharedUSMSpace>>::value); static_assert( Kokkos::Impl::MemorySpaceAccess::accessible, - ""); + Kokkos::HostSpace>::accessible); static_assert(Kokkos::Impl::MemorySpaceAccess< - Kokkos::HostSpace, - Kokkos::Experimental::SYCLHostUSMSpace>::accessible, - ""); + Kokkos::HostSpace, + Kokkos::Experimental::SYCLHostUSMSpace>::accessible); static_assert(std::is_same::Space, - Kokkos::Experimental::SYCLHostUSMSpace>::value, - ""); + Kokkos::Experimental::SYCLHostUSMSpace>::value); static_assert( std::is_same< Kokkos::Device, Kokkos::Device>::value, - ""); + Kokkos::Experimental::SYCLSharedUSMSpace>>::value); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Impl::HostMirror::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::Impl::HostMirror::Space, + Kokkos::HostSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Impl::HostMirror< - Kokkos::Experimental::SYCLDeviceUSMSpace>::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::Impl::HostMirror< + Kokkos::Experimental::SYCLDeviceUSMSpace>::Space, + Kokkos::HostSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Impl::HostMirror< - Kokkos::Experimental::SYCLSharedUSMSpace>::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::Impl::HostMirror< + Kokkos::Experimental::SYCLSharedUSMSpace>::Space, + Kokkos::HostSpace>::accessible); static_assert(Kokkos::SpaceAccessibility< - Kokkos::Impl::HostMirror< - Kokkos::Experimental::SYCLHostUSMSpace>::Space, - Kokkos::HostSpace>::accessible, - ""); + Kokkos::Impl::HostMirror< + Kokkos::Experimental::SYCLHostUSMSpace>::Space, + Kokkos::HostSpace>::accessible); } TEST(sycl, uvm) { diff --git a/lib/kokkos/core/unit_test/tools/TestEventCorrectness.hpp b/lib/kokkos/core/unit_test/tools/TestEventCorrectness.hpp index 3c85f661aa..946169a786 100644 --- a/lib/kokkos/core/unit_test/tools/TestEventCorrectness.hpp +++ b/lib/kokkos/core/unit_test/tools/TestEventCorrectness.hpp @@ -409,14 +409,19 @@ TEST(kokkosp, parallel_scan_no_fence) { << "skipping since the OpenMPTarget backend has unexpected fences"; #endif + // Execute the parallel_scan first without looking for fence events. + // Depending on the backend implementation and the order of tests, + // it might be that the first call to parallel_scan is reallocating scratch + // memory which implies a fence when deallocating. We are not interested in + // detecting this event. + TestScanFunctor tf; + Kokkos::parallel_scan("dogs", Kokkos::RangePolicy<>(0, 1), tf); + using namespace Kokkos::Test::Tools; listen_tool_events(Config::DisableAll(), Config::EnableKernels(), Config::EnableFences()); auto success = validate_absence( - [=]() { - TestScanFunctor tf; - Kokkos::parallel_scan("dogs", Kokkos::RangePolicy<>(0, 1), tf); - }, + [=]() { Kokkos::parallel_scan("dogs", Kokkos::RangePolicy<>(0, 1), tf); }, [=](BeginFenceEvent begin_event) { if (begin_event.name.find("Debug Only Check for Execution Error") != std::string::npos || @@ -450,13 +455,20 @@ TEST(kokkosp, parallel_scan_no_fence_view) { << "skipping since the OpenMPTarget backend has unexpected fences"; #endif + // Execute the parallel_scan first without looking for fence events. + // Depending on the backend implementation and the order of tests, + // it might be that the first call to parallel_scan is reallocating scratch + // memory which implies a fence when deallocating. We are not interested in + // detecting this event. + TestScanFunctor tf; + Kokkos::View v("scan_result"); + Kokkos::parallel_scan("dogs", Kokkos::RangePolicy<>(0, 1), tf, v); + using namespace Kokkos::Test::Tools; listen_tool_events(Config::DisableAll(), Config::EnableKernels(), Config::EnableFences()); - Kokkos::View v("scan_result"); auto success = validate_absence( [=]() { - TestScanFunctor tf; Kokkos::parallel_scan("dogs", Kokkos::RangePolicy<>(0, 1), tf, v); }, [=](BeginFenceEvent begin_event) { diff --git a/lib/kokkos/core/unit_test/tools/TestLogicalSpaces.hpp b/lib/kokkos/core/unit_test/tools/TestLogicalSpaces.hpp deleted file mode 100644 index 4e56f8996a..0000000000 --- a/lib/kokkos/core/unit_test/tools/TestLogicalSpaces.hpp +++ /dev/null @@ -1,177 +0,0 @@ -//@HEADER -// ************************************************************************ -// -// Kokkos v. 4.0 -// Copyright (2022) National Technology & Engineering -// Solutions of Sandia, LLC (NTESS). -// -// Under the terms of Contract DE-NA0003525 with NTESS, -// the U.S. Government retains certain rights in this software. -// -// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. -// See https://kokkos.org/LICENSE for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//@HEADER -#include -#include -#include "Kokkos_Core.hpp" - -#include - -namespace Test { - -void debug_print(const Kokkos_Profiling_SpaceHandle hand, const char* name, - const void* ptr, const size_t size) { - std::cout << "Alloc: " << hand.name << ", [" << name << "," << ptr << "] " - << size << std::endl; -} -void debug_dealloc(const Kokkos_Profiling_SpaceHandle hand, const char* name, - const void* ptr, const size_t size) { - std::cout << "Dealloc: " << hand.name << ", [" << name << "," << ptr << "] " - << size << std::endl; -} - -void fail_on_event(const Kokkos::Profiling::SpaceHandle, const char*, - const void*, const uint64_t) { - ASSERT_TRUE(false) << "Unexpected memory event"; -} - -void expect_no_events() { - Kokkos::Tools::Experimental::set_allocate_data_callback(&fail_on_event); - Kokkos::Tools::Experimental::set_deallocate_data_callback(&fail_on_event); -} - -std::string expected_view_name; -std::string expected_space_name; -std::string error_message; -void expect_allocation_event(const std::string evn, const std::string esn, - const std::string em) { - expected_view_name = evn; - expected_space_name = esn; - error_message = em; - Kokkos::Tools::Experimental::set_allocate_data_callback( - [](const Kokkos_Profiling_SpaceHandle hand, const char* name, const void*, - const uint64_t) { - ASSERT_EQ(std::string(hand.name), expected_space_name) - << error_message << " (bad handle)"; - ASSERT_EQ(std::string(name), expected_view_name) - << error_message << " (bad view name)"; - expect_no_events(); - }); -} -void expect_deallocation_event(const std::string& evn, const std::string& esn, - const std::string em) { - expected_view_name = evn; - expected_space_name = esn; - error_message = em; - Kokkos::Tools::Experimental::set_deallocate_data_callback( - [](const Kokkos_Profiling_SpaceHandle hand, const char* name, const void*, - const uint64_t) { - ASSERT_EQ(std::string(hand.name), expected_space_name) - << error_message << " (bad handle)"; - ASSERT_EQ(std::string(name), expected_view_name) - << error_message << " (bad view name)"; - expect_no_events(); - }); -} - -struct TestSpaceNamer { - static constexpr const char* get_name() { return "TestSpace"; } -}; -struct TestSpaceNamerTwo { - static constexpr const char* get_name() { return "YoDawg"; } -}; -struct TestSpaceNamerThree { - static constexpr const char* get_name() { return "CustomAccessSpace"; } -}; -using fake_memory_space = Kokkos::Experimental::LogicalMemorySpace< - Kokkos::HostSpace, Kokkos::DefaultHostExecutionSpace, TestSpaceNamer, - Kokkos::Experimental::LogicalSpaceSharesAccess::shared_access>; - -void test_view_construct() { - { - expect_allocation_event("puppy_view", "TestSpace", "View allocation"); - Kokkos::View pup_view("puppy_view", 1000); - expect_deallocation_event("puppy_view", "TestSpace", "View free"); - } - Kokkos::Tools::Experimental::pause_tools(); -} -void test_malloc_free() { - expect_allocation_event("does_malloc_work", "TestSpace", - "Error in malloc event"); - auto* temp = - Kokkos::kokkos_malloc("does_malloc_work", 1000); - expect_deallocation_event("does_malloc_work", "TestSpace", "Error in free"); - Kokkos::kokkos_free(temp); - Kokkos::Tools::Experimental::pause_tools(); -} -void test_chained_spaces() { - using doubly_fake_memory_space = Kokkos::Experimental::LogicalMemorySpace< - fake_memory_space, Kokkos::DefaultHostExecutionSpace, TestSpaceNamerTwo, - Kokkos::Experimental::LogicalSpaceSharesAccess::shared_access>; - { - expect_allocation_event("xzibit_dot_jpeg", "YoDawg", - "Chained space view allocation"); - Kokkos::View pup_view("xzibit_dot_jpeg", - 1000); - expect_deallocation_event("xzibit_dot_jpeg", "YoDawg", - "Chained space free"); - } - Kokkos::Tools::Experimental::pause_tools(); -} -void test_space_allocations() { - fake_memory_space debug_space; - expect_allocation_event("allocation_from_space", "TestSpace", - "Space allocation"); - auto* temp = debug_space.allocate("allocation_from_space", 1000); - expect_deallocation_event("allocation_from_space", "TestSpace", - "Space deallocation"); - debug_space.deallocate("allocation_from_space", temp, 1000); - Kokkos::Tools::Experimental::pause_tools(); -} -template -struct AccessCheckKernel { - Kokkos::View data; - KOKKOS_FUNCTION void operator()(const int i) const { data[i] = i; } -}; - -template -void test_allowed_access() { - constexpr const int data_size = 1000; - // We use an unmananged View here since we want to detect a memory access - // violation in the parallel_for and not in the initialization of the View. - std::vector test_data(data_size); - Kokkos::View test_view(test_data.data(), data_size); - AccessCheckKernel functor{test_view}; - Kokkos::parallel_for( - "access_allowed", - Kokkos::RangePolicy(0, data_size), - functor); - Kokkos::fence(); -} - -using semantically_independent_logical_space = - Kokkos::Experimental::LogicalMemorySpace< - Kokkos::HostSpace, Kokkos::DefaultHostExecutionSpace, - TestSpaceNamerThree, - Kokkos::Experimental::LogicalSpaceSharesAccess::no_shared_access>; - -TEST(defaultdevicetype, logical_space_views) { test_view_construct(); } -TEST(defaultdevicetype, logical_space_malloc) { test_malloc_free(); } -TEST(defaultdevicetype, logical_space_alloc) { test_space_allocations(); } -TEST(defaultdevicetype, chained_logical_spaces) { test_chained_spaces(); } -TEST(defaultdevicetype, access_allowed) { - test_allowed_access(); -} -// FIXME_SYCL -#if !(defined(KOKKOS_COMPILER_INTEL_LLVM) && defined(KOKKOS_ENABLE_SYCL)) -TEST(defaultdevicetype_DeathTest, access_forbidden) { - ::testing::FLAGS_gtest_death_test_style = "threadsafe"; - ASSERT_DEATH( - { test_allowed_access(); }, - "Kokkos::View ERROR: attempt to access inaccessible memory space"); -} -#endif - -} // namespace Test diff --git a/lib/kokkos/core/unit_test/tools/TestProfilingSection.cpp b/lib/kokkos/core/unit_test/tools/TestProfilingSection.cpp index 318766ac45..9d35d67feb 100644 --- a/lib/kokkos/core/unit_test/tools/TestProfilingSection.cpp +++ b/lib/kokkos/core/unit_test/tools/TestProfilingSection.cpp @@ -108,8 +108,8 @@ TEST(defaultdevicetype, profiling_section) { } using Kokkos::Profiling::ProfilingSection; -static_assert(!std::is_default_constructible::value, ""); -static_assert(!std::is_copy_constructible::value, ""); -static_assert(!std::is_move_constructible::value, ""); -static_assert(!std::is_copy_assignable::value, ""); -static_assert(!std::is_move_assignable::value, ""); +static_assert(!std::is_default_constructible::value); +static_assert(!std::is_copy_constructible::value); +static_assert(!std::is_move_constructible::value); +static_assert(!std::is_copy_assignable::value); +static_assert(!std::is_move_assignable::value); diff --git a/lib/kokkos/example/tutorial/01_hello_world/hello_world.cpp b/lib/kokkos/example/tutorial/01_hello_world/hello_world.cpp index 5b8a21af83..22b8b6d63c 100644 --- a/lib/kokkos/example/tutorial/01_hello_world/hello_world.cpp +++ b/lib/kokkos/example/tutorial/01_hello_world/hello_world.cpp @@ -58,12 +58,7 @@ struct hello_world { // is unnecessary but harmless. KOKKOS_INLINE_FUNCTION void operator()(const int i) const { - // FIXME_SYCL needs workaround for printf -#ifndef __SYCL_DEVICE_ONLY__ - printf("Hello from i = %i\n", i); -#else - (void)i; -#endif + Kokkos::printf("Hello from i = %i\n", i); } }; diff --git a/lib/kokkos/example/tutorial/01_hello_world_lambda/hello_world_lambda.cpp b/lib/kokkos/example/tutorial/01_hello_world_lambda/hello_world_lambda.cpp index c78f307636..909765e1fc 100644 --- a/lib/kokkos/example/tutorial/01_hello_world_lambda/hello_world_lambda.cpp +++ b/lib/kokkos/example/tutorial/01_hello_world_lambda/hello_world_lambda.cpp @@ -76,13 +76,9 @@ int main(int argc, char* argv[]) { #if defined(KOKKOS_ENABLE_CXX11_DISPATCH_LAMBDA) Kokkos::parallel_for( 15, KOKKOS_LAMBDA(const int i) { - // FIXME_SYCL needs workaround for printf -#ifndef __SYCL_DEVICE_ONLY__ - // printf works in a CUDA parallel kernel; std::ostream does not. - printf("Hello from i = %i\n", i); -#else - (void)i; -#endif + // Kokko::printf works for all backends in a parallel kernel; + // std::ostream does not. + Kokkos::printf("Hello from i = %i\n", i); }); #endif // You must call finalize() after you are done using Kokkos. diff --git a/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams/thread_teams.cpp b/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams/thread_teams.cpp index b041f8d435..ee3f4721d9 100644 --- a/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams/thread_teams.cpp +++ b/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams/thread_teams.cpp @@ -47,13 +47,9 @@ struct hello_world { // The TeamPolicy<>::member_type provides functions to query the multi // dimensional index of a thread as well as the number of thread-teams and // the size of each team. -#ifndef __SYCL_DEVICE_ONLY__ - // FIXME_SYCL needs printf workaround - printf("Hello World: %i %i // %i %i\n", thread.league_rank(), - thread.team_rank(), thread.league_size(), thread.team_size()); -#else - (void)thread; -#endif + Kokkos::printf("Hello World: %i %i // %i %i\n", thread.league_rank(), + thread.team_rank(), thread.league_size(), + thread.team_size()); } }; diff --git a/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams_lambda/thread_teams_lambda.cpp b/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams_lambda/thread_teams_lambda.cpp index 933b254f7c..1e6812adea 100644 --- a/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams_lambda/thread_teams_lambda.cpp +++ b/lib/kokkos/example/tutorial/Hierarchical_Parallelism/01_thread_teams_lambda/thread_teams_lambda.cpp @@ -57,16 +57,12 @@ int main(int narg, char* args[]) { policy, KOKKOS_LAMBDA(const team_member& thread, int& lsum) { lsum += 1; - // TeamPolicy<>::member_type provides functions to query the - // multidimensional index of a thread, as well as the number of - // thread teams and the size of each team. -#ifndef __SYCL_DEVICE_ONLY__ - // FIXME_SYCL needs workaround for printf - printf("Hello World: %i %i // %i %i\n", thread.league_rank(), - thread.team_rank(), thread.league_size(), thread.team_size()); -#else - (void)thread; -#endif + // TeamPolicy<>::member_type provides functions to query the + // multidimensional index of a thread, as well as the number of + // thread teams and the size of each team. + Kokkos::printf("Hello World: %i %i // %i %i\n", thread.league_rank(), + thread.team_rank(), thread.league_size(), + thread.team_size()); }, sum); #endif diff --git a/lib/kokkos/example/tutorial/Hierarchical_Parallelism/02_nested_parallel_for/nested_parallel_for.cpp b/lib/kokkos/example/tutorial/Hierarchical_Parallelism/02_nested_parallel_for/nested_parallel_for.cpp index 398810d133..75d6089e9a 100644 --- a/lib/kokkos/example/tutorial/Hierarchical_Parallelism/02_nested_parallel_for/nested_parallel_for.cpp +++ b/lib/kokkos/example/tutorial/Hierarchical_Parallelism/02_nested_parallel_for/nested_parallel_for.cpp @@ -43,16 +43,11 @@ struct hello_world { // the operator using a team_policy acts like a parallel region for the // team. That means that everything outside of the nested parallel_for is // also executed by all threads of the team. - Kokkos::parallel_for(Kokkos::TeamThreadRange(thread, 31), - [&](const int& i) { -#ifndef __SYCL_DEVICE_ONLY__ - // FIXME_SYCL needs printf workaround - printf("Hello World: (%i , %i) executed loop %i \n", - thread.league_rank(), thread.team_rank(), i); -#else - (void) i; -#endif - }); + Kokkos::parallel_for( + Kokkos::TeamThreadRange(thread, 31), [&](const int& i) { + Kokkos::printf("Hello World: (%i , %i) executed loop %i \n", + thread.league_rank(), thread.team_rank(), i); + }); } }; diff --git a/lib/kokkos/generate_makefile.bash b/lib/kokkos/generate_makefile.bash index 301a1fceb5..25370daa3f 100755 --- a/lib/kokkos/generate_makefile.bash +++ b/lib/kokkos/generate_makefile.bash @@ -170,12 +170,9 @@ display_help_text() { echo " ARMV8_THUNDERX = ARMv8 Cavium ThunderX CPU" echo " ARMV8_THUNDERX2 = ARMv8 Cavium ThunderX2 CPU" echo " [IBM]" - echo " BGQ = IBM Blue Gene Q" - echo " Power7 = IBM POWER7 and POWER7+ CPUs" echo " Power8 = IBM POWER8 CPUs" echo " Power9 = IBM POWER9 CPUs" echo " [Intel]" - echo " WSM = Intel Westmere CPUs" echo " SNB = Intel Sandy/Ivy Bridge CPUs" echo " HSW = Intel Haswell CPUs" echo " BDW = Intel Broadwell Xeon E-class CPUs" @@ -226,7 +223,6 @@ display_help_text() { echo "--with-gtest=/Path/To/Gtest: Set path to gtest. (Used in unit and performance" echo " tests.)" echo "--with-hwloc=/Path/To/Hwloc: Set path to hwloc library." - echo "--with-memkind=/Path/To/MemKind: Set path to memkind library." echo "--with-options=[OPT]: Additional options to Kokkos:" echo " compiler_warnings" echo " aggressive_vectorization = add ivdep on loops" @@ -342,10 +338,6 @@ do KOKKOS_HWLOC=ON HWLOC_PATH="${key#*=}" ;; - --with-memkind*) - KOKKOS_MEMKIND=ON - MEMKIND_PATH="${key#*=}" - ;; --arch*) KOKKOS_ARCH="${key#*=}" ;; @@ -452,15 +444,6 @@ else KOKKOS_HWLOC_CMD= fi -if [ "$KOKKOS_MEMKIND" == "ON" ]; then - KOKKOS_MEMKIND_CMD=-DKokkos_ENABLE_MEMKIND=ON - if [ "$MEMKIND_PATH" != "" ]; then - KOKKOS_MEMKIND_PATH_CMD=-DMEMKIND_ROOT=$MEMKIND_PATH - fi -else - KOKKOS_MEMKIND_CMD= -fi - if [ ! -e ${KOKKOS_PATH}/CMakeLists.txt ]; then if [ "${KOKKOS_PATH}" == "" ]; then CM_SCRIPT=$0 @@ -506,5 +489,5 @@ if [[ ${COMPILER} == *clang* ]]; then fi fi -echo cmake $COMPILER_CMD -DCMAKE_CXX_FLAGS="${KOKKOS_CXXFLAGS}" -DCMAKE_EXE_LINKER_FLAGS="${KOKKOS_LDFLAGS}" -DCMAKE_INSTALL_PREFIX=${PREFIX} ${KOKKOS_DEVICE_CMD} ${KOKKOS_ARCH_CMD} -DKokkos_ENABLE_TESTS=${KOKKOS_DO_TESTS} -DKokkos_ENABLE_EXAMPLES=${KOKKOS_DO_EXAMPLES} ${KOKKOS_OPTION_CMD} ${KOKKOS_CUDA_OPTION_CMD} ${KOKKOS_HIP_OPTION_CMD} -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_CXX_EXTENSIONS=OFF ${STANDARD_CMD} ${KOKKOS_DEBUG_CMD} ${KOKKOS_BC_CMD} ${KOKKOS_HWLOC_CMD} ${KOKKOS_HWLOC_PATH_CMD} ${KOKKOS_MEMKIND_CMD} ${KOKKOS_MEMKIND_PATH_CMD} -DKokkos_ENABLE_DEPRECATION_WARNINGS=${KOKKOS_DEPRECATED_CODE_WARNINGS} -DKokkos_ENABLE_DEPRECATED_CODE_4=${KOKKOS_DEPRECATED_CODE} ${KOKKOS_PATH} -cmake $COMPILER_CMD -DCMAKE_CXX_FLAGS="${KOKKOS_CXXFLAGS//\"}" -DCMAKE_EXE_LINKER_FLAGS="${KOKKOS_LDFLAGS//\"}" -DCMAKE_INSTALL_PREFIX=${PREFIX} ${KOKKOS_DEVICE_CMD} ${KOKKOS_ARCH_CMD} -DKokkos_ENABLE_TESTS=${KOKKOS_DO_TESTS} -DKokkos_ENABLE_EXAMPLES=${KOKKOS_DO_EXAMPLES} ${KOKKOS_OPTION_CMD} ${KOKKOS_CUDA_OPTION_CMD} ${KOKKOS_HIP_OPTION_CMD} -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_CXX_EXTENSIONS=OFF ${STANDARD_CMD} ${KOKKOS_DEBUG_CMD} ${KOKKOS_BC_CMD} ${KOKKOS_HWLOC_CMD} ${KOKKOS_HWLOC_PATH_CMD} ${KOKKOS_MEMKIND_CMD} ${KOKKOS_MEMKIND_PATH_CMD} ${PASSTHRU_CMAKE_FLAGS} -DKokkos_ENABLE_DEPRECATION_WARNINGS=${KOKKOS_DEPRECATED_CODE_WARNINGS} -DKokkos_ENABLE_DEPRECATED_CODE_4=${KOKKOS_DEPRECATED_CODE} ${KOKKOS_PATH} +echo cmake $COMPILER_CMD -DCMAKE_CXX_FLAGS="${KOKKOS_CXXFLAGS}" -DCMAKE_EXE_LINKER_FLAGS="${KOKKOS_LDFLAGS}" -DCMAKE_INSTALL_PREFIX=${PREFIX} ${KOKKOS_DEVICE_CMD} ${KOKKOS_ARCH_CMD} -DKokkos_ENABLE_TESTS=${KOKKOS_DO_TESTS} -DKokkos_ENABLE_EXAMPLES=${KOKKOS_DO_EXAMPLES} ${KOKKOS_OPTION_CMD} ${KOKKOS_CUDA_OPTION_CMD} ${KOKKOS_HIP_OPTION_CMD} -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_CXX_EXTENSIONS=OFF ${STANDARD_CMD} ${KOKKOS_DEBUG_CMD} ${KOKKOS_BC_CMD} ${KOKKOS_HWLOC_CMD} ${KOKKOS_HWLOC_PATH_CMD} -DKokkos_ENABLE_DEPRECATION_WARNINGS=${KOKKOS_DEPRECATED_CODE_WARNINGS} -DKokkos_ENABLE_DEPRECATED_CODE_4=${KOKKOS_DEPRECATED_CODE} ${KOKKOS_PATH} +cmake $COMPILER_CMD -DCMAKE_CXX_FLAGS="${KOKKOS_CXXFLAGS//\"}" -DCMAKE_EXE_LINKER_FLAGS="${KOKKOS_LDFLAGS//\"}" -DCMAKE_INSTALL_PREFIX=${PREFIX} ${KOKKOS_DEVICE_CMD} ${KOKKOS_ARCH_CMD} -DKokkos_ENABLE_TESTS=${KOKKOS_DO_TESTS} -DKokkos_ENABLE_EXAMPLES=${KOKKOS_DO_EXAMPLES} ${KOKKOS_OPTION_CMD} ${KOKKOS_CUDA_OPTION_CMD} ${KOKKOS_HIP_OPTION_CMD} -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_CXX_EXTENSIONS=OFF ${STANDARD_CMD} ${KOKKOS_DEBUG_CMD} ${KOKKOS_BC_CMD} ${KOKKOS_HWLOC_CMD} ${KOKKOS_HWLOC_PATH_CMD} ${PASSTHRU_CMAKE_FLAGS} -DKokkos_ENABLE_DEPRECATION_WARNINGS=${KOKKOS_DEPRECATED_CODE_WARNINGS} -DKokkos_ENABLE_DEPRECATED_CODE_4=${KOKKOS_DEPRECATED_CODE} ${KOKKOS_PATH} diff --git a/lib/kokkos/gnu_generate_makefile.bash b/lib/kokkos/gnu_generate_makefile.bash index 5ea159cdd4..7a197bb71d 100755 --- a/lib/kokkos/gnu_generate_makefile.bash +++ b/lib/kokkos/gnu_generate_makefile.bash @@ -74,9 +74,6 @@ do --with-hwloc*) HWLOC_PATH="${key#*=}" ;; - --with-memkind*) - MEMKIND_PATH="${key#*=}" - ;; --arch*) KOKKOS_ARCH="${key#*=}" ;; @@ -148,12 +145,9 @@ do echo " ARMv8-ThunderX = ARMv8 Cavium ThunderX CPU" echo " ARMv8-TX2 = ARMv8 Cavium ThunderX2 CPU" echo " [IBM]" - echo " BGQ = IBM Blue Gene Q" - echo " Power7 = IBM POWER7 and POWER7+ CPUs" echo " Power8 = IBM POWER8 CPUs" echo " Power9 = IBM POWER9 CPUs" echo " [Intel]" - echo " WSM = Intel Westmere CPUs" echo " SNB = Intel Sandy/Ivy Bridge CPUs" echo " HSW = Intel Haswell CPUs" echo " BDW = Intel Broadwell Xeon E-class CPUs" @@ -198,7 +192,6 @@ do echo "--with-gtest=/Path/To/Gtest: Set path to gtest. (Used in unit and performance" echo " tests.)" echo "--with-hwloc=/Path/To/Hwloc: Set path to hwloc library." - echo "--with-memkind=/Path/To/MemKind: Set path to memkind library." echo "--with-options=[OPT]: Additional options to Kokkos:" echo " compiler_warnings" echo " aggressive_vectorization = add ivdep on loops" @@ -298,11 +291,6 @@ if [ ${#HWLOC_PATH} -gt 0 ]; then KOKKOS_USE_TPLS="${KOKKOS_USE_TPLS},hwloc" fi -if [ ${#MEMKIND_PATH} -gt 0 ]; then - KOKKOS_SETTINGS="${KOKKOS_SETTINGS} MEMKIND_PATH=${MEMKIND_PATH}" - KOKKOS_USE_TPLS="${KOKKOS_USE_TPLS},experimental_memkind" -fi - if [ ${#KOKKOS_USE_TPLS} -gt 0 ]; then KOKKOS_SETTINGS="${KOKKOS_SETTINGS} KOKKOS_USE_TPLS=${KOKKOS_USE_TPLS}" fi diff --git a/lib/kokkos/master_history.txt b/lib/kokkos/master_history.txt index a43b5276a8..bd122a456b 100644 --- a/lib/kokkos/master_history.txt +++ b/lib/kokkos/master_history.txt @@ -35,3 +35,4 @@ tag: 4.0.01 date: 04:26:2023 master: aa1f48f3 release: 5893754f tag: 4.1.00 date: 06:20:2023 master: 62d2b6c8 release: adde1e6a tag: 4.2.00 date: 11:09:2023 master: 1a3ea28f release: abe01c88 tag: 4.2.01 date: 01:30:2024 master: 71a9bcae release: 221e5f7a +tag: 4.3.00 date: 04:03:2024 master: e0dc0128 release: f08217a4 diff --git a/lib/kokkos/simd/src/Kokkos_SIMD_AVX2.hpp b/lib/kokkos/simd/src/Kokkos_SIMD_AVX2.hpp index 521160b76f..6d0956f383 100644 --- a/lib/kokkos/simd/src/Kokkos_SIMD_AVX2.hpp +++ b/lib/kokkos/simd/src/Kokkos_SIMD_AVX2.hpp @@ -30,9 +30,11 @@ "Kokkos_SIMD_AVX2.hpp must be included before Kokkos_SIMD_Common_Math.hpp!" #endif -// FIXME_HIP ROCm 5.6 and 5.7 can't compile with the intrinsic used here. -#if defined(__HIPCC__) && (HIP_VERSION_MAJOR == 5) && \ - ((HIP_VERSION_MINOR == 6) || (HIP_VERSION_MINOR == 7)) +// FIXME_HIP ROCm 5.6, 5.7, and 6.0 can't compile with the intrinsic used here. +#if defined(__HIPCC__) && \ + (((HIP_VERSION_MAJOR == 5) && \ + ((HIP_VERSION_MINOR == 6) || (HIP_VERSION_MINOR == 7))) || \ + ((HIP_VERSION_MAJOR == 6) && ((HIP_VERSION_MINOR == 0)))) #define KOKKOS_IMPL_WORKAROUND_ROCM_AVX2_ISSUE #endif @@ -563,10 +565,18 @@ class simd> { element_aligned_tag) { m_value = _mm256_loadu_pd(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = _mm256_load_pd(ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { _mm256_storeu_pd(ptr, m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + _mm256_store_pd(ptr, m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m256d() const { return m_value; @@ -818,10 +828,18 @@ class simd> { element_aligned_tag) { m_value = _mm_loadu_ps(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = _mm_load_ps(ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { _mm_storeu_ps(ptr, m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + _mm_store_ps(ptr, m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m128() const { return m_value; @@ -1059,17 +1077,31 @@ class simd> { } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, element_aligned_tag) { - // FIXME_HIP ROCm 5.6 can't compile with the intrinsic used here. + // FIXME_HIP ROCm 5.6, 5.7, and 6.0 can't compile with the intrinsic used + // here. #ifdef KOKKOS_IMPL_WORKAROUND_ROCM_AVX2_ISSUE m_value = _mm_loadu_si128(reinterpret_cast<__m128i const*>(ptr)); #else m_value = _mm_maskload_epi32(ptr, static_cast<__m128i>(mask_type(true))); +#endif + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + // FIXME_HIP ROCm 5.6 can't compile with the intrinsic used here. +#ifdef KOKKOS_IMPL_WORKAROUND_ROCM_AVX2_ISSUE + m_value = _mm_load_si128(reinterpret_cast<__m128i const*>(ptr)); +#else + m_value = _mm_maskload_epi32(ptr, static_cast<__m128i>(mask_type(true))); #endif } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { _mm_maskstore_epi32(ptr, static_cast<__m128i>(mask_type(true)), m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + _mm_maskstore_epi32(ptr, static_cast<__m128i>(mask_type(true)), m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m128i() const { return m_value; @@ -1111,6 +1143,11 @@ class simd> { return simd( _mm_add_epi32(static_cast<__m128i>(lhs), static_cast<__m128i>(rhs))); } + [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator*( + simd const& lhs, simd const& rhs) noexcept { + return simd( + _mm_mullo_epi32(static_cast<__m128i>(lhs), static_cast<__m128i>(rhs))); + } [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator>>( simd const& lhs, int rhs) noexcept { @@ -1249,6 +1286,15 @@ class simd> { #else m_value = _mm256_maskload_epi64(reinterpret_cast(ptr), static_cast<__m256i>(mask_type(true))); +#endif + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { +#ifdef KOKKOS_IMPL_WORKAROUND_ROCM_AVX2_ISSUE + m_value = _mm256_load_si256(reinterpret_cast<__m256i const*>(ptr)); +#else + m_value = _mm256_maskload_epi64(reinterpret_cast(ptr), + static_cast<__m256i>(mask_type(true))); #endif } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( @@ -1256,6 +1302,11 @@ class simd> { _mm256_maskstore_epi64(reinterpret_cast(ptr), static_cast<__m256i>(mask_type(true)), m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + _mm256_maskstore_epi64(reinterpret_cast(ptr), + static_cast<__m256i>(mask_type(true)), m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m256i() const { return m_value; @@ -1278,6 +1329,13 @@ class simd> { _mm256_add_epi64(static_cast<__m256i>(lhs), static_cast<__m256i>(rhs))); } + // fallback simd multiplication using generator constructor + // multiplying vectors of 64-bit signed integers is not available in AVX2 + [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator*( + simd const& lhs, simd const& rhs) noexcept { + return simd([&](std::size_t i) { return lhs[i] * rhs[i]; }); + } + // AVX2 only has eq and gt comparisons for int64 [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend mask_type operator==(simd const& lhs, simd const& rhs) noexcept { @@ -1306,17 +1364,19 @@ class simd> { return !(lhs == rhs); } + // fallback simd shift right arithmetic using generator constructor // Shift right arithmetic for 64bit packed ints is not availalbe in AVX2 - // [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd( - // simd const& lhs, int rhs) noexcept { - // return simd(_mm256_srai_epi64(static_cast<__m256i>(lhs), rhs)); - // } + [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator>>( + simd const& lhs, int rhs) noexcept { + return simd([&](std::size_t i) { return lhs[i] >> rhs; }); + } - // [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd( - // simd const& lhs, simd const& rhs) noexcept { - // return simd(_mm256_srav_epi64(static_cast<__m256i>(lhs), - // static_cast<__m256i>(rhs)))); - // } + // fallback simd shift right arithmetic using generator constructor + // Shift right arithmetic for 64bit packed ints is not availalbe in AVX2 + [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator>>( + simd const& lhs, simd const& rhs) noexcept { + return simd([&](std::size_t i) { return lhs[i] >> rhs[i]; }); + } [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator<<( simd const& lhs, int rhs) noexcept { @@ -1444,6 +1504,15 @@ class simd> { #else m_value = _mm256_maskload_epi64(reinterpret_cast(ptr), static_cast<__m256i>(mask_type(true))); +#endif + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { +#ifdef KOKKOS_IMPL_WORKAROUND_ROCM_AVX2_ISSUE + m_value = _mm256_load_si256(reinterpret_cast<__m256i const*>(ptr)); +#else + m_value = _mm256_maskload_epi64(reinterpret_cast(ptr), + static_cast<__m256i>(mask_type(true))); #endif } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m256i() @@ -1460,6 +1529,14 @@ class simd> { return simd( _mm256_sub_epi64(static_cast<__m256i>(lhs), static_cast<__m256i>(rhs))); } + + // fallback simd multiplication using generator constructor + // multiplying vectors of 64-bit unsigned integers is not available in AVX2 + [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator*( + simd const& lhs, simd const& rhs) noexcept { + return simd([&](std::size_t i) { return lhs[i] * rhs[i]; }); + } + [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator>>( simd const& lhs, int rhs) noexcept { return _mm256_srli_epi64(static_cast<__m256i>(lhs), rhs); @@ -1588,6 +1665,11 @@ class const_where_expression>, static_cast<__m256d>(m_value)); } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(double* mem, vector_aligned_tag) const { + _mm256_maskstore_pd(mem, _mm256_castpd_si256(static_cast<__m256d>(m_mask)), + static_cast<__m256d>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( double* mem, simd> const& index) const { @@ -1624,6 +1706,11 @@ class where_expression>, mem, _mm256_castpd_si256(static_cast<__m256d>(m_mask)))); } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(double const* mem, vector_aligned_tag) { + m_value = value_type(_mm256_maskload_pd( + mem, _mm256_castpd_si256(static_cast<__m256d>(m_mask)))); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( double const* mem, simd> const& index) { @@ -1667,6 +1754,11 @@ class const_where_expression>, static_cast<__m128>(m_value)); } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(float* mem, vector_aligned_tag) const { + _mm_maskstore_ps(mem, _mm_castps_si128(static_cast<__m128>(m_mask)), + static_cast<__m128>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( float* mem, simd> const& index) const { @@ -1703,6 +1795,11 @@ class where_expression>, _mm_maskload_ps(mem, _mm_castps_si128(static_cast<__m128>(m_mask)))); } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(float const* mem, vector_aligned_tag) { + m_value = value_type( + _mm_maskload_ps(mem, _mm_castps_si128(static_cast<__m128>(m_mask)))); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( float const* mem, simd> const& index) { @@ -1746,6 +1843,12 @@ class const_where_expression< _mm_maskstore_epi32(mem, static_cast<__m128i>(m_mask), static_cast<__m128i>(m_value)); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(std::int32_t* mem, vector_aligned_tag) const { + _mm_maskstore_epi32(mem, static_cast<__m128i>(m_mask), + static_cast<__m128i>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( std::int32_t* mem, @@ -1786,6 +1889,16 @@ class where_expression>, m_value = value_type(_mm_maskload_epi32(mem, static_cast<__m128i>(m_mask))); #endif } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(std::int32_t const* mem, vector_aligned_tag) { +#ifdef KOKKOS_IMPL_WORKAROUND_ROCM_AVX2_ISSUE + __m128i tmp = _mm_load_si128(reinterpret_cast<__m128i const*>(mem)); + m_value = value_type(_mm_and_si128(tmp, static_cast<__m128i>(m_mask))); +#else + m_value = value_type(_mm_maskload_epi32(mem, static_cast<__m128i>(m_mask))); +#endif + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( std::int32_t const* mem, @@ -1833,6 +1946,13 @@ class const_where_expression< static_cast<__m256i>(m_mask), static_cast<__m256i>(m_value)); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(std::int64_t* mem, + vector_aligned_tag) const { + _mm256_maskstore_epi64(reinterpret_cast(mem), + static_cast<__m256i>(m_mask), + static_cast<__m256i>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( std::int64_t* mem, @@ -1874,6 +1994,17 @@ class where_expression>, reinterpret_cast(mem), static_cast<__m256i>(m_mask))); #endif } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(std::int64_t const* mem, + vector_aligned_tag) { +#ifdef KOKKOS_IMPL_WORKAROUND_ROCM_AVX2_ISSUE + __m256i tmp = _mm256_load_si256(reinterpret_cast<__m256i const*>(mem)); + m_value = value_type(_mm256_and_si256(tmp, static_cast<__m256i>(m_mask))); +#else + m_value = value_type(_mm256_maskload_epi64( + reinterpret_cast(mem), static_cast<__m256i>(m_mask))); +#endif + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( std::int64_t const* mem, @@ -1922,6 +2053,13 @@ class const_where_expression< static_cast<__m256i>(m_mask), static_cast<__m256i>(m_value)); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(std::uint64_t* mem, + vector_aligned_tag) const { + _mm256_maskstore_epi64(reinterpret_cast(mem), + static_cast<__m256i>(m_mask), + static_cast<__m256i>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( std::uint64_t* mem, @@ -1963,6 +2101,17 @@ class where_expression>, reinterpret_cast(mem), static_cast<__m256i>(m_mask))); #endif } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(std::uint64_t const* mem, + vector_aligned_tag) { +#ifdef KOKKOS_IMPL_WORKAROUND_ROCM_AVX2_ISSUE + __m256i tmp = _mm256_load_si256(reinterpret_cast<__m256i const*>(mem)); + m_value = value_type(_mm256_and_si256(tmp, static_cast<__m256i>(m_mask))); +#else + m_value = value_type(_mm256_maskload_epi64( + reinterpret_cast(mem), static_cast<__m256i>(m_mask))); +#endif + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( std::uint64_t const* mem, diff --git a/lib/kokkos/simd/src/Kokkos_SIMD_AVX512.hpp b/lib/kokkos/simd/src/Kokkos_SIMD_AVX512.hpp index c5d1717ad4..7fa35c204a 100644 --- a/lib/kokkos/simd/src/Kokkos_SIMD_AVX512.hpp +++ b/lib/kokkos/simd/src/Kokkos_SIMD_AVX512.hpp @@ -193,10 +193,18 @@ class simd> { element_aligned_tag) { m_value = _mm512_loadu_pd(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = _mm512_load_pd(ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { _mm512_storeu_pd(ptr, m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + _mm512_store_pd(ptr, m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m512d() const { return m_value; @@ -475,10 +483,18 @@ class simd> { element_aligned_tag) { m_value = _mm256_loadu_ps(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = _mm256_load_ps(ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { _mm256_storeu_ps(ptr, m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + _mm256_store_ps(ptr, m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m256() const { return m_value; @@ -735,15 +751,25 @@ class simd> { operator[](std::size_t i) const { return reinterpret_cast(&m_value)[i]; } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + element_aligned_tag) { + m_value = _mm256_mask_loadu_epi32( + _mm256_set1_epi32(0), static_cast<__mmask8>(mask_type(true)), ptr); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = _mm256_mask_load_epi32( + _mm256_set1_epi32(0), static_cast<__mmask8>(mask_type(true)), ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { _mm256_mask_storeu_epi32(ptr, static_cast<__mmask8>(mask_type(true)), m_value); } - KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, - element_aligned_tag) { - m_value = _mm256_mask_loadu_epi32( - _mm256_set1_epi32(0), static_cast<__mmask8>(mask_type(true)), ptr); + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + _mm256_mask_store_epi32(ptr, static_cast<__mmask8>(mask_type(true)), + m_value); } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m256i() const { @@ -934,21 +960,30 @@ class simd> { operator[](std::size_t i) const { return reinterpret_cast(&m_value)[i]; } - KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( - value_type* ptr, element_aligned_tag) const { - _mm256_mask_storeu_epi32(ptr, static_cast<__mmask8>(mask_type(true)), - m_value); - } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, element_aligned_tag) { m_value = _mm256_mask_loadu_epi32( _mm256_set1_epi32(0), static_cast<__mmask8>(mask_type(true)), ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = _mm256_mask_load_epi32( + _mm256_set1_epi32(0), static_cast<__mmask8>(mask_type(true)), ptr); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( + value_type* ptr, element_aligned_tag) const { + _mm256_mask_storeu_epi32(ptr, static_cast<__mmask8>(mask_type(true)), + m_value); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + _mm256_mask_store_epi32(ptr, static_cast<__mmask8>(mask_type(true)), + m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m256i() const { return m_value; } - [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator*( simd const& lhs, simd const& rhs) noexcept { return simd(_mm256_mullo_epi32(static_cast<__m256i>(lhs), @@ -1130,10 +1165,19 @@ class simd> { element_aligned_tag) { m_value = _mm512_loadu_si512(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = _mm512_load_si512(ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { _mm512_storeu_si512(ptr, m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + _mm512_store_si512(ptr, m_value); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m512i() const { return m_value; @@ -1331,10 +1375,19 @@ class simd> { element_aligned_tag) { m_value = _mm512_loadu_si512(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = _mm512_load_si512(ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { _mm512_storeu_si512(ptr, m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + _mm512_store_si512(ptr, m_value); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator __m512i() const { return m_value; @@ -1505,6 +1558,11 @@ class const_where_expression>, static_cast<__m512d>(m_value)); } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(double* mem, vector_aligned_tag) const { + _mm512_mask_store_pd(mem, static_cast<__mmask8>(m_mask), + static_cast<__m512d>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( double* mem, simd> const& index) const { @@ -1541,6 +1599,11 @@ class where_expression>, _mm512_set1_pd(0.0), static_cast<__mmask8>(m_mask), mem)); } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(double const* mem, vector_aligned_tag) { + m_value = value_type(_mm512_mask_load_pd( + _mm512_set1_pd(0.0), static_cast<__mmask8>(m_mask), mem)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( double const* mem, simd> const& index) { @@ -1584,6 +1647,11 @@ class const_where_expression>, static_cast<__m256>(m_value)); } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(float* mem, vector_aligned_tag) const { + _mm256_mask_store_ps(mem, static_cast<__mmask8>(m_mask), + static_cast<__m256>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( float* mem, simd> const& index) const { @@ -1619,6 +1687,10 @@ class where_expression>, m_value = value_type(_mm256_mask_loadu_ps( _mm256_set1_ps(0.0), static_cast<__mmask8>(m_mask), mem)); } + void copy_from(float const* mem, vector_aligned_tag) { + m_value = value_type(_mm256_mask_load_ps( + _mm256_set1_ps(0.0), static_cast<__mmask8>(m_mask), mem)); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( float const* mem, @@ -1666,6 +1738,12 @@ class const_where_expression< _mm256_mask_storeu_epi32(mem, static_cast<__mmask8>(m_mask), static_cast<__m256i>(m_value)); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(std::int32_t* mem, vector_aligned_tag) const { + _mm256_mask_store_epi32(mem, static_cast<__mmask8>(m_mask), + static_cast<__m256i>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( std::int32_t* mem, @@ -1702,6 +1780,11 @@ class where_expression>, m_value = value_type(_mm256_mask_loadu_epi32( _mm256_set1_epi32(0), static_cast<__mmask8>(m_mask), mem)); } + void copy_from(std::int32_t const* mem, vector_aligned_tag) { + m_value = value_type(_mm256_mask_load_epi32( + _mm256_set1_epi32(0), static_cast<__mmask8>(m_mask), mem)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( std::int32_t const* mem, @@ -1710,6 +1793,7 @@ class where_expression>, static_cast<__m256i>(m_value), static_cast<__mmask8>(m_mask), static_cast<__m256i>(index), mem, 4)); } + template (m_mask), static_cast<__m256i>(m_value)); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(std::uint32_t* mem, vector_aligned_tag) const { + _mm256_mask_store_epi32(mem, static_cast<__mmask8>(m_mask), + static_cast<__m256i>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( std::uint32_t* mem, @@ -1784,6 +1874,12 @@ class where_expression>, m_value = value_type(_mm256_mask_loadu_epi32( _mm256_set1_epi32(0), static_cast<__mmask8>(m_mask), mem)); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(std::uint32_t const* mem, vector_aligned_tag) { + m_value = value_type(_mm256_mask_load_epi32( + _mm256_set1_epi32(0), static_cast<__mmask8>(m_mask), mem)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( std::uint32_t const* mem, @@ -1792,6 +1888,7 @@ class where_expression>, static_cast<__m256i>(m_value), static_cast<__mmask8>(m_mask), static_cast<__m256i>(index), mem, 4)); } + template (m_mask), static_cast<__m512i>(m_value)); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(std::int64_t* mem, vector_aligned_tag) const { + _mm512_mask_store_epi64(mem, static_cast<__mmask8>(m_mask), + static_cast<__m512i>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( std::int64_t* mem, @@ -1866,6 +1969,12 @@ class where_expression>, m_value = value_type(_mm512_mask_loadu_epi64( _mm512_set1_epi64(0.0), static_cast<__mmask8>(m_mask), mem)); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(std::int64_t const* mem, vector_aligned_tag) { + m_value = value_type(_mm512_mask_load_epi64( + _mm512_set1_epi64(0.0), static_cast<__mmask8>(m_mask), mem)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( std::int64_t const* mem, @@ -1874,6 +1983,7 @@ class where_expression>, static_cast<__m512i>(m_value), static_cast<__mmask8>(m_mask), static_cast<__m256i>(index), mem, 8)); } + template (m_mask), static_cast<__m512i>(m_value)); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(std::uint64_t* mem, vector_aligned_tag) const { + _mm512_mask_store_epi64(mem, static_cast<__mmask8>(m_mask), + static_cast<__m512i>(m_value)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( std::uint64_t* mem, @@ -1949,6 +2065,11 @@ class where_expression>, _mm512_set1_epi64(0.0), static_cast<__mmask8>(m_mask), mem)); } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(std::uint64_t const* mem, vector_aligned_tag) { + m_value = value_type(_mm512_mask_load_epi64( + _mm512_set1_epi64(0.0), static_cast<__mmask8>(m_mask), mem)); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( std::uint64_t const* mem, simd> const& index) { @@ -1956,6 +2077,7 @@ class where_expression>, static_cast<__m512i>(m_value), static_cast<__mmask8>(m_mask), static_cast<__m256i>(index), mem, 8)); } + template class simd_mask; -struct element_aligned_tag {}; +class simd_alignment_vector_aligned {}; + +template +struct simd_flags {}; + +inline constexpr simd_flags<> simd_flag_default{}; +inline constexpr simd_flags simd_flag_aligned{}; + +using element_aligned_tag = simd_flags<>; +using vector_aligned_tag = simd_flags; // class template declarations for const_where_expression and where_expression @@ -117,48 +126,6 @@ template return const_where_expression(mask, value); } -// fallback simd multiplication using generator constructor -// At the time of this writing, this fallback is only used -// to multiply vectors of 64-bit signed integers for the AVX2 backend - -template -[[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION simd operator*( - simd const& lhs, simd const& rhs) { - return simd([&](std::size_t i) { return lhs[i] * rhs[i]; }); -} - -// fallback simd shift using generator constructor -// At the time of this edit, only the fallback for shift vectors of -// 64-bit signed integers for the AVX2 backend is used - -template >> -[[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION simd operator>>( - simd const& lhs, int rhs) { - return simd([&](std::size_t i) { return lhs[i] >> rhs; }); -} - -template >> -[[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION simd operator<<( - simd const& lhs, int rhs) { - return simd([&](std::size_t i) { return lhs[i] << rhs; }); -} - -template >> -[[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION simd operator>>( - simd const& lhs, simd const& rhs) { - return simd([&](std::size_t i) { return lhs[i] >> rhs[i]; }); -} - -template >> -[[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION simd operator<<( - simd const& lhs, simd const& rhs) { - return simd([&](std::size_t i) { return lhs[i] << rhs[i]; }); -} - // The code below provides: // operator@(simd, Arithmetic) // operator@(Arithmetic, simd) diff --git a/lib/kokkos/simd/src/Kokkos_SIMD_NEON.hpp b/lib/kokkos/simd/src/Kokkos_SIMD_NEON.hpp index 43ece20389..efc81135d1 100644 --- a/lib/kokkos/simd/src/Kokkos_SIMD_NEON.hpp +++ b/lib/kokkos/simd/src/Kokkos_SIMD_NEON.hpp @@ -363,10 +363,18 @@ class simd> { element_aligned_tag) { m_value = vld1q_f64(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = vld1q_f64(ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { vst1q_f64(ptr, m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + vst1q_f64(ptr, m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator float64x2_t() const { return m_value; @@ -607,10 +615,18 @@ class simd> { element_aligned_tag) { m_value = vld1_f32(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = vld1_f32(ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { vst1_f32(ptr, m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + vst1_f32(ptr, m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator float32x2_t() const { return m_value; @@ -844,10 +860,18 @@ class simd> { element_aligned_tag) { m_value = vld1_s32(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = vld1_s32(ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { vst1_s32(ptr, m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + vst1_s32(ptr, m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator int32x2_t() const { return m_value; @@ -868,7 +892,11 @@ class simd> { return simd( vadd_s32(static_cast(lhs), static_cast(rhs))); } - + [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator*( + simd const& lhs, simd const& rhs) noexcept { + return simd( + vmul_s32(static_cast(lhs), static_cast(rhs))); + } [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend mask_type operator==(simd const& lhs, simd const& rhs) noexcept { return mask_type( @@ -1044,10 +1072,18 @@ class simd> { element_aligned_tag) { m_value = vld1q_s64(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = vld1q_s64(ptr); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( value_type* ptr, element_aligned_tag) const { vst1q_s64(ptr, m_value); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + vst1q_s64(ptr, m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator int64x2_t() const { return m_value; @@ -1068,7 +1104,10 @@ class simd> { return simd( vaddq_s64(static_cast(lhs), static_cast(rhs))); } - + [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator*( + simd const& lhs, simd const& rhs) noexcept { + return simd([&](std::size_t i) { return lhs[i] * rhs[i]; }); + } [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend mask_type operator==(simd const& lhs, simd const& rhs) noexcept { return mask_type( @@ -1246,6 +1285,18 @@ class simd> { element_aligned_tag) { m_value = vld1q_u64(ptr); } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_from(value_type const* ptr, + vector_aligned_tag) { + m_value = vld1q_u64(ptr); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to( + value_type* ptr, element_aligned_tag) const { + vst1q_u64(ptr, m_value); + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void copy_to(value_type* ptr, + vector_aligned_tag) const { + vst1q_u64(ptr, m_value); + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION constexpr explicit operator uint64x2_t() const { return m_value; @@ -1261,7 +1312,10 @@ class simd> { return simd( vaddq_u64(static_cast(lhs), static_cast(rhs))); } - + [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator*( + simd const& lhs, simd const& rhs) noexcept { + return simd([&](std::size_t i) { return lhs[i] * rhs[i]; }); + } [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION friend simd operator&( simd const& lhs, simd const& rhs) noexcept { return simd( @@ -1386,6 +1440,11 @@ class const_where_expression>, if (m_mask[1]) mem[1] = m_value[1]; } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(double* mem, vector_aligned_tag) const { + if (m_mask[0]) mem[0] = m_value[0]; + if (m_mask[1]) mem[1] = m_value[1]; + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( double* mem, simd> const& index) const { @@ -1421,6 +1480,11 @@ class where_expression>, if (m_mask[1]) m_value[1] = mem[1]; } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(double const* mem, vector_aligned_tag) { + if (m_mask[0]) m_value[0] = mem[0]; + if (m_mask[1]) m_value[1] = mem[1]; + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( double const* mem, simd> const& index) { @@ -1464,6 +1528,11 @@ class const_where_expression>, if (m_mask[1]) mem[1] = m_value[1]; } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(float* mem, vector_aligned_tag) const { + if (m_mask[0]) mem[0] = m_value[0]; + if (m_mask[1]) mem[1] = m_value[1]; + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( float* mem, simd> const& index) const { @@ -1498,6 +1567,10 @@ class where_expression>, if (m_mask[0]) m_value[0] = mem[0]; if (m_mask[1]) m_value[1] = mem[1]; } + void copy_from(float const* mem, vector_aligned_tag) { + if (m_mask[0]) m_value[0] = mem[0]; + if (m_mask[1]) m_value[1] = mem[1]; + } KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( float const* mem, @@ -1542,6 +1615,12 @@ class const_where_expression< if (m_mask[0]) mem[0] = m_value[0]; if (m_mask[1]) mem[1] = m_value[1]; } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(std::int32_t* mem, vector_aligned_tag) const { + if (m_mask[0]) mem[0] = m_value[0]; + if (m_mask[1]) mem[1] = m_value[1]; + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( std::int32_t* mem, @@ -1577,6 +1656,12 @@ class where_expression>, if (m_mask[0]) m_value[0] = mem[0]; if (m_mask[1]) m_value[1] = mem[1]; } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(std::int32_t const* mem, vector_aligned_tag) { + if (m_mask[0]) m_value[0] = mem[0]; + if (m_mask[1]) m_value[1] = mem[1]; + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( std::int32_t const* mem, @@ -1584,6 +1669,7 @@ class where_expression>, if (m_mask[0]) m_value[0] = mem[index[0]]; if (m_mask[1]) m_value[1] = mem[index[1]]; } + template < class U, std::enable_if_t< @@ -1622,6 +1708,12 @@ class const_where_expression< if (m_mask[0]) mem[0] = m_value[0]; if (m_mask[1]) mem[1] = m_value[1]; } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_to(std::int64_t* mem, vector_aligned_tag) const { + if (m_mask[0]) mem[0] = m_value[0]; + if (m_mask[1]) mem[1] = m_value[1]; + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void scatter_to( std::int64_t* mem, @@ -1657,6 +1749,12 @@ class where_expression>, if (m_mask[0]) m_value[0] = mem[0]; if (m_mask[1]) m_value[1] = mem[1]; } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(std::int64_t const* mem, vector_aligned_tag) { + if (m_mask[0]) m_value[0] = mem[0]; + if (m_mask[1]) m_value[1] = mem[1]; + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( std::int64_t const* mem, @@ -1664,6 +1762,7 @@ class where_expression>, if (m_mask[0]) m_value[0] = mem[index[0]]; if (m_mask[1]) m_value[1] = mem[index[1]]; } + template < class U, std::enable_if_t>, if (m_mask[0]) m_value[0] = mem[0]; if (m_mask[1]) m_value[1] = mem[1]; } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION + void copy_from(std::uint64_t const* mem, vector_aligned_tag) { + if (m_mask[0]) m_value[0] = mem[0]; + if (m_mask[1]) m_value[1] = mem[1]; + } + KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION void gather_from( std::uint64_t const* mem, @@ -1744,6 +1855,7 @@ class where_expression>, if (m_mask[0]) m_value[0] = mem[index[0]]; if (m_mask[1]) m_value[1] = mem[index[1]]; } + template { element_aligned_tag) { m_value = *ptr; } + KOKKOS_FORCEINLINE_FUNCTION void copy_from(T const* ptr, vector_aligned_tag) { + m_value = *ptr; + } KOKKOS_FORCEINLINE_FUNCTION void copy_to(T* ptr, element_aligned_tag) const { *ptr = m_value; } + KOKKOS_FORCEINLINE_FUNCTION void copy_to(T* ptr, vector_aligned_tag) const { + *ptr = m_value; + } + KOKKOS_FORCEINLINE_FUNCTION reference operator[](std::size_t) { return m_value; } @@ -308,6 +315,10 @@ class const_where_expression, void copy_to(T* mem, element_aligned_tag) const { if (static_cast(m_mask)) *mem = static_cast(m_value); } + KOKKOS_FORCEINLINE_FUNCTION + void copy_to(T* mem, vector_aligned_tag) const { + if (static_cast(m_mask)) *mem = static_cast(m_value); + } template KOKKOS_FORCEINLINE_FUNCTION std::enable_if_t> scatter_to(T* mem, simd const& index) const { @@ -315,13 +326,13 @@ class const_where_expression, mem[static_cast(index)] = static_cast(m_value); } - [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION value_type const& - impl_get_value() const { + [[nodiscard]] KOKKOS_FORCEINLINE_FUNCTION value_type const& impl_get_value() + const { return m_value; } - [[nodiscard]] KOKKOS_IMPL_HOST_FORCEINLINE_FUNCTION mask_type const& - impl_get_mask() const { + [[nodiscard]] KOKKOS_FORCEINLINE_FUNCTION mask_type const& impl_get_mask() + const { return m_mask; } }; @@ -344,6 +355,10 @@ class where_expression, void copy_from(T const* mem, element_aligned_tag) { if (static_cast(this->m_mask)) this->m_value = *mem; } + KOKKOS_FORCEINLINE_FUNCTION + void copy_from(T const* mem, vector_aligned_tag) { + if (static_cast(this->m_mask)) this->m_value = *mem; + } template KOKKOS_FORCEINLINE_FUNCTION std::enable_if_t> gather_from(T const* mem, simd const& index) { diff --git a/lib/kokkos/simd/unit_tests/TestSIMD.cpp b/lib/kokkos/simd/unit_tests/TestSIMD.cpp index 61c076e824..7a1f9be2a0 100644 --- a/lib/kokkos/simd/unit_tests/TestSIMD.cpp +++ b/lib/kokkos/simd/unit_tests/TestSIMD.cpp @@ -21,3 +21,4 @@ #include #include #include +#include diff --git a/lib/kokkos/simd/unit_tests/include/SIMDTesting_Ops.hpp b/lib/kokkos/simd/unit_tests/include/SIMDTesting_Ops.hpp index 6529f20e66..c587ccf304 100644 --- a/lib/kokkos/simd/unit_tests/include/SIMDTesting_Ops.hpp +++ b/lib/kokkos/simd/unit_tests/include/SIMDTesting_Ops.hpp @@ -209,4 +209,165 @@ class shift_left { } }; +class cbrt_op { + public: + template + auto on_host(T const& a) const { +#if defined(KOKKOS_ENABLE_DEPRECATED_CODE_4) + return Kokkos::Experimental::cbrt(a); +#else + return Kokkos::cbrt(a); +#endif + } + template + auto on_host_serial(T const& a) const { + return Kokkos::cbrt(a); + } +}; + +class exp_op { + public: + template + auto on_host(T const& a) const { +#if defined(KOKKOS_ENABLE_DEPRECATED_CODE_4) + return Kokkos::Experimental::exp(a); +#else + return Kokkos::exp(a); +#endif + } + template + auto on_host_serial(T const& a) const { + return Kokkos::exp(a); + } +}; + +class log_op { + public: + template + auto on_host(T const& a) const { +#if defined(KOKKOS_ENABLE_DEPRECATED_CODE_4) + return Kokkos::Experimental::log(a); +#else + return Kokkos::log(a); +#endif + } + template + auto on_host_serial(T const& a) const { + return Kokkos::log(a); + } +}; + +class hmin { + public: + template + auto on_host(T const& a) const { + return Kokkos::Experimental::hmin(a); + } + template + auto on_host_serial(T const& a) const { + using DataType = typename T::value_type::value_type; + + auto const& v = a.impl_get_value(); + auto const& m = a.impl_get_mask(); + auto result = Kokkos::reduction_identity::min(); + for (std::size_t i = 0; i < v.size(); ++i) { + if (m[i]) result = Kokkos::min(result, v[i]); + } + return result; + } + + template + KOKKOS_INLINE_FUNCTION auto on_device(T const& a) const { + return Kokkos::Experimental::hmin(a); + } + template + KOKKOS_INLINE_FUNCTION auto on_device_serial(T const& a) const { + using DataType = typename T::value_type::value_type; + + auto const& v = a.impl_get_value(); + auto const& m = a.impl_get_mask(); + auto result = Kokkos::reduction_identity::min(); + for (std::size_t i = 0; i < v.size(); ++i) { + if (m[i]) result = Kokkos::min(result, v[i]); + } + return result; + } +}; + +class hmax { + public: + template + auto on_host(T const& a) const { + return Kokkos::Experimental::hmax(a); + } + template + auto on_host_serial(T const& a) const { + using DataType = typename T::value_type::value_type; + + auto const& v = a.impl_get_value(); + auto const& m = a.impl_get_mask(); + auto result = Kokkos::reduction_identity::max(); + for (std::size_t i = 0; i < v.size(); ++i) { + if (m[i]) result = Kokkos::max(result, v[i]); + } + return result; + } + + template + KOKKOS_INLINE_FUNCTION auto on_device(T const& a) const { + return Kokkos::Experimental::hmax(a); + } + template + KOKKOS_INLINE_FUNCTION auto on_device_serial(T const& a) const { + using DataType = typename T::value_type::value_type; + + auto const& v = a.impl_get_value(); + auto const& m = a.impl_get_mask(); + auto result = Kokkos::reduction_identity::max(); + for (std::size_t i = 0; i < v.size(); ++i) { + if (m[i]) result = Kokkos::max(result, v[i]); + } + return result; + } +}; + +class reduce { + public: + template + auto on_host(T const& a) const { + using DataType = typename T::value_type::value_type; + return Kokkos::Experimental::reduce(a, DataType(0), std::plus<>()); + } + template + auto on_host_serial(T const& a) const { + using DataType = typename T::value_type::value_type; + + auto const& v = a.impl_get_value(); + auto const& m = a.impl_get_mask(); + auto result = Kokkos::reduction_identity::sum(); + for (std::size_t i = 0; i < v.size(); ++i) { + if (m[i]) result += v[i]; + } + return result; + } + + template + KOKKOS_INLINE_FUNCTION auto on_device(T const& a) const { + using DataType = typename T::value_type::value_type; + return Kokkos::Experimental::reduce(a, DataType(0), std::plus<>()); + } + template + KOKKOS_INLINE_FUNCTION auto on_device_serial(T const& a) const { + using DataType = typename T::value_type::value_type; + + auto const& v = a.impl_get_value(); + auto const& m = a.impl_get_mask(); + auto result = Kokkos::reduction_identity::sum(); + for (std::size_t i = 0; i < v.size(); ++i) { + if (m[i]) result += v[i]; + } + return result; + } +}; + #endif diff --git a/lib/kokkos/simd/unit_tests/include/SIMDTesting_Utilities.hpp b/lib/kokkos/simd/unit_tests/include/SIMDTesting_Utilities.hpp index ae2ab2c697..d36e1e5afc 100644 --- a/lib/kokkos/simd/unit_tests/include/SIMDTesting_Utilities.hpp +++ b/lib/kokkos/simd/unit_tests/include/SIMDTesting_Utilities.hpp @@ -93,7 +93,7 @@ class load_element_aligned { bool host_load(T const* mem, std::size_t n, Kokkos::Experimental::simd& result) const { if (n < result.size()) return false; - result.copy_from(mem, Kokkos::Experimental::element_aligned_tag()); + result.copy_from(mem, Kokkos::Experimental::simd_flag_default); return true; } template @@ -101,7 +101,26 @@ class load_element_aligned { T const* mem, std::size_t n, Kokkos::Experimental::simd& result) const { if (n < result.size()) return false; - result.copy_from(mem, Kokkos::Experimental::element_aligned_tag()); + result.copy_from(mem, Kokkos::Experimental::simd_flag_default); + return true; + } +}; + +class load_vector_aligned { + public: + template + bool host_load(T const* mem, std::size_t n, + Kokkos::Experimental::simd& result) const { + if (n < result.size()) return false; + result.copy_from(mem, Kokkos::Experimental::simd_flag_aligned); + return true; + } + template + KOKKOS_INLINE_FUNCTION bool device_load( + T const* mem, std::size_t n, + Kokkos::Experimental::simd& result) const { + if (n < result.size()) return false; + result.copy_from(mem, Kokkos::Experimental::simd_flag_aligned); return true; } }; @@ -116,8 +135,7 @@ class load_masked { for (std::size_t i = 0; i < n; ++i) { mask[i] = true; } - where(mask, result) - .copy_from(mem, Kokkos::Experimental::element_aligned_tag()); + where(mask, result).copy_from(mem, Kokkos::Experimental::simd_flag_default); where(!mask, result) = 0; return true; } @@ -130,8 +148,7 @@ class load_masked { for (std::size_t i = 0; i < n; ++i) { mask[i] = true; } - where(mask, result) - .copy_from(mem, Kokkos::Experimental::element_aligned_tag()); + where(mask, result).copy_from(mem, Kokkos::Experimental::simd_flag_default); where(!mask, result) = T(0); return true; } diff --git a/lib/kokkos/simd/unit_tests/include/TestSIMD_GeneratorCtors.hpp b/lib/kokkos/simd/unit_tests/include/TestSIMD_GeneratorCtors.hpp index 4af08c266b..23e3826c75 100644 --- a/lib/kokkos/simd/unit_tests/include/TestSIMD_GeneratorCtors.hpp +++ b/lib/kokkos/simd/unit_tests/include/TestSIMD_GeneratorCtors.hpp @@ -37,10 +37,10 @@ inline void host_check_gen_ctor() { } simd_type rhs; - rhs.copy_from(init, Kokkos::Experimental::element_aligned_tag()); + rhs.copy_from(init, Kokkos::Experimental::simd_flag_default); simd_type blend; - blend.copy_from(expected, Kokkos::Experimental::element_aligned_tag()); + blend.copy_from(expected, Kokkos::Experimental::simd_flag_default); #if !(defined(KOKKOS_ENABLE_CUDA) && defined(KOKKOS_COMPILER_MSVC)) if constexpr (std::is_same_v) { @@ -98,7 +98,7 @@ KOKKOS_INLINE_FUNCTION void device_check_gen_ctor() { simd_type basic(KOKKOS_LAMBDA(std::size_t i) { return init[i]; }); simd_type rhs; - rhs.copy_from(init, Kokkos::Experimental::element_aligned_tag()); + rhs.copy_from(init, Kokkos::Experimental::simd_flag_default); device_check_equality(basic, rhs, lanes); simd_type lhs(KOKKOS_LAMBDA(std::size_t i) { return init[i] * 9; }); @@ -106,7 +106,7 @@ KOKKOS_INLINE_FUNCTION void device_check_gen_ctor() { KOKKOS_LAMBDA(std::size_t i) { return (mask[i]) ? lhs[i] : rhs[i]; }); simd_type blend; - blend.copy_from(expected, Kokkos::Experimental::element_aligned_tag()); + blend.copy_from(expected, Kokkos::Experimental::simd_flag_default); device_check_equality(result, blend, lanes); } diff --git a/lib/kokkos/simd/unit_tests/include/TestSIMD_MathOps.hpp b/lib/kokkos/simd/unit_tests/include/TestSIMD_MathOps.hpp index 802e41efe5..59f2f6c18f 100644 --- a/lib/kokkos/simd/unit_tests/include/TestSIMD_MathOps.hpp +++ b/lib/kokkos/simd/unit_tests/include/TestSIMD_MathOps.hpp @@ -61,13 +61,18 @@ void host_check_math_op_one_loader(UnaryOp unary_op, std::size_t n, simd_type arg; bool const loaded_arg = loader.host_load(args + i, nlanes, arg); if (!loaded_arg) continue; - auto computed_result = unary_op.on_host(arg); - decltype(computed_result) expected_result; + decltype(unary_op.on_host(arg)) expected_result; for (std::size_t lane = 0; lane < simd_type::size(); ++lane) { - if (lane < nlanes) + if (lane < nlanes) { + if constexpr (std::is_same_v || + std::is_same_v || + std::is_same_v) + arg[lane] = Kokkos::abs(arg[lane]); expected_result[lane] = unary_op.on_host_serial(T(arg[lane])); + } } + auto computed_result = unary_op.on_host(arg); host_check_equality(expected_result, computed_result, nlanes); } } @@ -78,6 +83,7 @@ inline void host_check_math_op_all_loaders(Op op, std::size_t n, host_check_math_op_one_loader(op, n, args...); host_check_math_op_one_loader(op, n, args...); host_check_math_op_one_loader(op, n, args...); + host_check_math_op_one_loader(op, n, args...); } template @@ -96,6 +102,13 @@ inline void host_check_all_math_ops(const DataType (&first_args)[n], // TODO: Place fallback implementations for all simd integer types if constexpr (std::is_floating_point_v) { host_check_math_op_all_loaders(divides(), n, first_args, second_args); + +#if defined(__INTEL_COMPILER) && \ + (defined(KOKKOS_ARCH_AVX2) || defined(KOKKOS_ARCH_AVX512XEON)) + host_check_math_op_all_loaders(cbrt_op(), n, first_args); + host_check_math_op_all_loaders(exp_op(), n, first_args); + host_check_math_op_all_loaders(log_op(), n, first_args); +#endif } } @@ -109,23 +122,29 @@ inline void host_check_abi_size() { template inline void host_check_math_ops() { constexpr size_t n = 11; + constexpr size_t alignment = + Kokkos::Experimental::simd::size() * sizeof(DataType); host_check_abi_size(); if constexpr (!std::is_integral_v) { - DataType const first_args[n] = {0.1, 0.4, 0.5, 0.7, 1.0, 1.5, - -2.0, 10.0, 0.0, 1.2, -2.8}; - DataType const second_args[n] = {1.0, 0.2, 1.1, 1.8, -0.1, -3.0, - -2.4, 1.0, 13.0, -3.2, -2.1}; + alignas(alignment) DataType const first_args[n] = { + 0.1, 0.4, 0.5, 0.7, 1.0, 1.5, -2.0, 10.0, 0.0, 1.2, -2.8}; + alignas(alignment) DataType const second_args[n] = { + 1.0, 0.2, 1.1, 1.8, -0.1, -3.0, -2.4, 1.0, 13.0, -3.2, -2.1}; host_check_all_math_ops(first_args, second_args); } else { if constexpr (std::is_signed_v) { - DataType const first_args[n] = {1, 2, -1, 10, 0, 1, -2, 10, 0, 1, -2}; - DataType const second_args[n] = {1, 2, 1, 1, 1, -3, -2, 1, 13, -3, -2}; + alignas(alignment) + DataType const first_args[n] = {1, 2, -1, 10, 0, 1, -2, 10, 0, 1, -2}; + alignas(alignment) DataType const second_args[n] = {1, 2, 1, 1, 1, -3, + -2, 1, 13, -3, -2}; host_check_all_math_ops(first_args, second_args); } else { - DataType const first_args[n] = {1, 2, 1, 10, 0, 1, 2, 10, 0, 1, 2}; - DataType const second_args[n] = {1, 2, 1, 1, 1, 3, 2, 1, 13, 3, 2}; + alignas(alignment) + DataType const first_args[n] = {1, 2, 1, 10, 0, 1, 2, 10, 0, 1, 2}; + alignas(alignment) + DataType const second_args[n] = {1, 2, 1, 1, 1, 3, 2, 1, 13, 3, 2}; host_check_all_math_ops(first_args, second_args); } } @@ -202,6 +221,7 @@ KOKKOS_INLINE_FUNCTION void device_check_math_op_all_loaders(Op op, device_check_math_op_one_loader(op, n, args...); device_check_math_op_one_loader(op, n, args...); device_check_math_op_one_loader(op, n, args...); + device_check_math_op_one_loader(op, n, args...); } template @@ -282,8 +302,13 @@ TEST(simd, host_math_ops) { } TEST(simd, device_math_ops) { - Kokkos::parallel_for(Kokkos::RangePolicy>(0, 1), - simd_device_math_ops_functor()); +#ifdef KOKKOS_ENABLE_OPENMPTARGET // FIXME_OPENMPTARGET + GTEST_SKIP() + << "skipping because of a non-deterministic failure reporting: " + "Failure to synchronize stream (nil): Error in " + "cuStreamSynchronize: an illegal memory access was encountered"; +#endif + Kokkos::parallel_for(1, simd_device_math_ops_functor()); } #endif diff --git a/lib/kokkos/simd/unit_tests/include/TestSIMD_Reductions.hpp b/lib/kokkos/simd/unit_tests/include/TestSIMD_Reductions.hpp new file mode 100644 index 0000000000..b3c7ac9a01 --- /dev/null +++ b/lib/kokkos/simd/unit_tests/include/TestSIMD_Reductions.hpp @@ -0,0 +1,184 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// See https://kokkos.org/LICENSE for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER + +#ifndef KOKKOS_TEST_SIMD_REDUCTIONS_HPP +#define KOKKOS_TEST_SIMD_REDUCTIONS_HPP + +#include +#include + +template +inline void host_check_reduction_one_loader(ReductionOp reduce_op, + std::size_t n, T const* args) { + Loader loader; + using simd_type = Kokkos::Experimental::simd; + using mask_type = typename Kokkos::Experimental::simd::mask_type; + constexpr std::size_t width = simd_type::size(); + + for (std::size_t i = 0; i < n; i += width) { + std::size_t const nremaining = n - i; + std::size_t const nlanes = Kokkos::min(nremaining, width); + simd_type arg; + bool const loaded_arg = loader.host_load(args + i, nlanes, arg); + if (!loaded_arg) continue; + + mask_type mask(false); + for (std::size_t j = 0; j < n; ++j) { + mask[j] = true; + } + auto value = where(mask, arg); + auto expected = reduce_op.on_host_serial(value); + auto computed = reduce_op.on_host(value); + + gtest_checker().equality(expected, computed); + } +} + +template +inline void host_check_reduction_all_loaders(ReductionOp reduce_op, + std::size_t n, T const* args) { + host_check_reduction_one_loader(reduce_op, n, + args); + host_check_reduction_one_loader(reduce_op, n, args); + host_check_reduction_one_loader(reduce_op, n, args); +} + +template +inline void host_check_all_reductions(const DataType (&args)[n]) { + host_check_reduction_all_loaders(hmin(), n, args); + host_check_reduction_all_loaders(hmax(), n, args); + host_check_reduction_all_loaders(reduce(), n, args); +} + +template +inline void host_check_reductions() { + constexpr size_t n = 11; + + if constexpr (std::is_signed_v) { + DataType const args[n] = {1, 2, -1, 10, 0, 1, -2, 10, 0, 1, -2}; + host_check_all_reductions(args); + } else { + DataType const args[n] = {1, 2, 1, 10, 0, 1, 2, 10, 0, 1, 2}; + host_check_all_reductions(args); + } +} + +template +inline void host_check_reductions_all_types( + Kokkos::Experimental::Impl::data_types) { + (host_check_reductions(), ...); +} + +template +inline void host_check_reductions_all_abis( + Kokkos::Experimental::Impl::abi_set) { + using DataTypes = Kokkos::Experimental::Impl::data_type_set; + (host_check_reductions_all_types(DataTypes()), ...); +} + +template +KOKKOS_INLINE_FUNCTION void device_check_reduction_one_loader( + ReductionOp reduce_op, std::size_t n, T const* args) { + Loader loader; + using simd_type = Kokkos::Experimental::simd; + using mask_type = typename Kokkos::Experimental::simd::mask_type; + constexpr std::size_t width = simd_type::size(); + + for (std::size_t i = 0; i < n; i += width) { + std::size_t const nremaining = n - i; + std::size_t const nlanes = Kokkos::min(nremaining, width); + simd_type arg; + bool const loaded_arg = loader.device_load(args + i, nlanes, arg); + if (!loaded_arg) continue; + + mask_type mask(false); + for (std::size_t j = 0; j < n; ++j) { + mask[j] = true; + } + auto value = where(mask, arg); + auto expected = reduce_op.on_device_serial(value); + auto computed = reduce_op.on_device(value); + + kokkos_checker().equality(expected, computed); + } +} + +template +KOKKOS_INLINE_FUNCTION void device_check_reduction_all_loaders( + ReductionOp reduce_op, std::size_t n, T const* args) { + device_check_reduction_one_loader(reduce_op, n, + args); + device_check_reduction_one_loader(reduce_op, n, args); + device_check_reduction_one_loader(reduce_op, n, args); +} + +template +KOKKOS_INLINE_FUNCTION void device_check_all_reductions( + const DataType (&args)[n]) { + device_check_reduction_all_loaders(hmin(), n, args); + device_check_reduction_all_loaders(hmax(), n, args); + device_check_reduction_all_loaders(reduce(), n, args); +} + +template +KOKKOS_INLINE_FUNCTION void device_check_reductions() { + constexpr size_t n = 11; + + if constexpr (std::is_signed_v) { + DataType const args[n] = {1, 2, -1, 10, 0, 1, -2, 10, 0, 1, -2}; + device_check_all_reductions(args); + } else { + DataType const args[n] = {1, 2, 1, 10, 0, 1, 2, 10, 0, 1, 2}; + device_check_all_reductions(args); + } +} + +template +KOKKOS_INLINE_FUNCTION void device_check_reductions_all_types( + Kokkos::Experimental::Impl::data_types) { + (device_check_reductions(), ...); +} + +template +KOKKOS_INLINE_FUNCTION void device_check_reductions_all_abis( + Kokkos::Experimental::Impl::abi_set) { + using DataTypes = Kokkos::Experimental::Impl::data_type_set; + (device_check_reductions_all_types(DataTypes()), ...); +} + +class simd_device_reduction_functor { + public: + KOKKOS_INLINE_FUNCTION void operator()(int) const { + device_check_reductions_all_abis( + Kokkos::Experimental::Impl::device_abi_set()); + } +}; + +TEST(simd, host_reductions) { + host_check_reductions_all_abis(Kokkos::Experimental::Impl::host_abi_set()); +} + +TEST(simd, device_reductions) { +#ifdef KOKKOS_ENABLE_OPENMPTARGET // FIXME_OPENMPTARGET + GTEST_SKIP() + << "skipping because of a non-deterministic failure reporting: " + "Failure to synchronize stream (nil): Error in " + "cuStreamSynchronize: an illegal memory access was encountered"; +#endif + Kokkos::parallel_for(1, simd_device_reduction_functor()); +} + +#endif diff --git a/lib/kokkos/simd/unit_tests/include/TestSIMD_ShiftOps.hpp b/lib/kokkos/simd/unit_tests/include/TestSIMD_ShiftOps.hpp index f6fdcb920e..ffdd2cba4a 100644 --- a/lib/kokkos/simd/unit_tests/include/TestSIMD_ShiftOps.hpp +++ b/lib/kokkos/simd/unit_tests/include/TestSIMD_ShiftOps.hpp @@ -85,10 +85,11 @@ inline void host_check_shift_op_all_loaders(ShiftOp shift_op, shift_by, n); host_check_shift_on_one_loader(shift_op, test_vals, shift_by, n); + host_check_shift_on_one_loader(shift_op, test_vals, + shift_by, n); Kokkos::Experimental::simd shift_by_lanes; - shift_by_lanes.copy_from(shift_by, - Kokkos::Experimental::element_aligned_tag()); + shift_by_lanes.copy_from(shift_by, Kokkos::Experimental::simd_flag_default); host_check_shift_by_lanes_on_one_loader( shift_op, test_vals, shift_by_lanes); @@ -96,6 +97,8 @@ inline void host_check_shift_op_all_loaders(ShiftOp shift_op, shift_by_lanes); host_check_shift_by_lanes_on_one_loader( shift_op, test_vals, shift_by_lanes); + host_check_shift_by_lanes_on_one_loader( + shift_op, test_vals, shift_by_lanes); } template @@ -104,12 +107,14 @@ inline void host_check_shift_ops() { using simd_type = Kokkos::Experimental::simd; constexpr std::size_t width = simd_type::size(); constexpr std::size_t num_cases = 8; + constexpr size_t alignment = + Kokkos::Experimental::simd::size() * sizeof(DataType); DataType max = std::numeric_limits::max(); - DataType shift_by[num_cases] = { + alignas(alignment) DataType shift_by[num_cases] = { 0, 1, 3, width / 2, width / 2 + 1, width - 1, width, width + 1}; - DataType test_vals[width]; + alignas(alignment) DataType test_vals[width]; for (std::size_t i = 0; i < width; ++i) { DataType inc = max / width; test_vals[i] = i * inc + 1; @@ -201,10 +206,11 @@ KOKKOS_INLINE_FUNCTION void device_check_shift_op_all_loaders( shift_by, n); device_check_shift_on_one_loader(shift_op, test_vals, shift_by, n); + device_check_shift_on_one_loader( + shift_op, test_vals, shift_by, n); Kokkos::Experimental::simd shift_by_lanes; - shift_by_lanes.copy_from(shift_by, - Kokkos::Experimental::element_aligned_tag()); + shift_by_lanes.copy_from(shift_by, Kokkos::Experimental::simd_flag_default); device_check_shift_by_lanes_on_one_loader( shift_op, test_vals, shift_by_lanes); @@ -212,6 +218,8 @@ KOKKOS_INLINE_FUNCTION void device_check_shift_op_all_loaders( shift_op, test_vals, shift_by_lanes); device_check_shift_by_lanes_on_one_loader( shift_op, test_vals, shift_by_lanes); + device_check_shift_by_lanes_on_one_loader( + shift_op, test_vals, shift_by_lanes); } template diff --git a/lib/kokkos/simd/unit_tests/include/TestSIMD_WhereExpressions.hpp b/lib/kokkos/simd/unit_tests/include/TestSIMD_WhereExpressions.hpp index 129f2b0d5c..152fd9e984 100644 --- a/lib/kokkos/simd/unit_tests/include/TestSIMD_WhereExpressions.hpp +++ b/lib/kokkos/simd/unit_tests/include/TestSIMD_WhereExpressions.hpp @@ -29,7 +29,7 @@ inline void host_check_where_expr_scatter_to() { std::size_t nlanes = simd_type::size(); DataType init[] = {11, 13, 17, 19, 23, 29, 31, 37}; simd_type src; - src.copy_from(init, Kokkos::Experimental::element_aligned_tag()); + src.copy_from(init, Kokkos::Experimental::simd_flag_default); for (std::size_t idx = 0; idx < nlanes; ++idx) { mask_type mask(true); @@ -46,7 +46,7 @@ inline void host_check_where_expr_scatter_to() { where(mask, src).scatter_to(dst, index); simd_type dst_simd; - dst_simd.copy_from(dst, Kokkos::Experimental::element_aligned_tag()); + dst_simd.copy_from(dst, Kokkos::Experimental::simd_flag_default); host_check_equality(expected_result, dst_simd, nlanes); } @@ -107,7 +107,7 @@ KOKKOS_INLINE_FUNCTION void device_check_where_expr_scatter_to() { std::size_t nlanes = simd_type::size(); DataType init[] = {11, 13, 17, 19, 23, 29, 31, 37}; simd_type src; - src.copy_from(init, Kokkos::Experimental::element_aligned_tag()); + src.copy_from(init, Kokkos::Experimental::simd_flag_default); for (std::size_t idx = 0; idx < nlanes; ++idx) { mask_type mask(true); @@ -124,7 +124,7 @@ KOKKOS_INLINE_FUNCTION void device_check_where_expr_scatter_to() { where(mask, src).scatter_to(dst, index); simd_type dst_simd; - dst_simd.copy_from(dst, Kokkos::Experimental::element_aligned_tag()); + dst_simd.copy_from(dst, Kokkos::Experimental::simd_flag_default); device_check_equality(expected_result, dst_simd, nlanes); } diff --git a/lib/kokkos/tpls/desul/Config.hpp.cmake.in b/lib/kokkos/tpls/desul/Config.hpp.cmake.in index a7bc738191..aed7ecfabc 100644 --- a/lib/kokkos/tpls/desul/Config.hpp.cmake.in +++ b/lib/kokkos/tpls/desul/Config.hpp.cmake.in @@ -14,6 +14,8 @@ SPDX-License-Identifier: (BSD-3-Clause) #cmakedefine DESUL_ATOMICS_ENABLE_HIP #cmakedefine DESUL_ATOMICS_ENABLE_HIP_SEPARABLE_COMPILATION #cmakedefine DESUL_ATOMICS_ENABLE_SYCL +#cmakedefine DESUL_ATOMICS_ENABLE_SYCL_SEPARABLE_COMPILATION #cmakedefine DESUL_ATOMICS_ENABLE_OPENMP +#cmakedefine DESUL_ATOMICS_ENABLE_OPENACC #endif diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Adapt_SYCL.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Adapt_SYCL.hpp index 082fc132de..15c6d78d94 100644 --- a/lib/kokkos/tpls/desul/include/desul/atomics/Adapt_SYCL.hpp +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Adapt_SYCL.hpp @@ -88,15 +88,18 @@ using sycl_atomic_ref = sycl::atomic_ref; #endif -// FIXME_SYCL Use SYCL_EXT_ONEAPI_DEVICE_GLOBAL when available instead #ifdef DESUL_SYCL_DEVICE_GLOBAL_SUPPORTED -// FIXME_SYCL The compiler forces us to use device_image_scope. Drop this when possible. +#ifdef SYCL_EXT_ONEAPI_DEVICE_GLOBAL +template +using sycl_device_global = sycl::ext::oneapi::experimental::device_global; +#else template using sycl_device_global = sycl::ext::oneapi::experimental::device_global< T, decltype(sycl::ext::oneapi::experimental::properties( sycl::ext::oneapi::experimental::device_image_scope))>; #endif +#endif } // namespace Impl } // namespace desul diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Compare_Exchange.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Compare_Exchange.hpp index e91569e1de..72639fc493 100644 --- a/lib/kokkos/tpls/desul/include/desul/atomics/Compare_Exchange.hpp +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Compare_Exchange.hpp @@ -26,6 +26,9 @@ SPDX-License-Identifier: (BSD-3-Clause) #ifdef DESUL_HAVE_OPENMP_ATOMICS #include #endif +#ifdef DESUL_HAVE_OPENACC_ATOMICS +#include +#endif #ifdef DESUL_HAVE_SYCL_ATOMICS #include #endif diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Compare_Exchange_OpenACC.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Compare_Exchange_OpenACC.hpp new file mode 100644 index 0000000000..77149bd474 --- /dev/null +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Compare_Exchange_OpenACC.hpp @@ -0,0 +1,153 @@ +/* +Copyright (c) 2019, Lawrence Livermore National Security, LLC +and DESUL project contributors. See the COPYRIGHT file for details. +Source: https://github.com/desul/desul + +SPDX-License-Identifier: (BSD-3-Clause) +*/ + +#ifndef DESUL_ATOMICS_COMPARE_EXCHANGE_OPENACC_HPP_ +#define DESUL_ATOMICS_COMPARE_EXCHANGE_OPENACC_HPP_ + +#include + +#include +#include +#include + +namespace desul { +namespace Impl { + +#ifdef __NVCOMPILER + +#pragma acc routine seq +template +T device_atomic_exchange(T* dest, T value, MemoryOrder, MemoryScope /*scope*/) { + if constexpr (std::is_arithmetic_v && ((sizeof(T) == 4) || (sizeof(T) == 8))) { + T return_val; +#pragma acc atomic capture + { + return_val = *dest; + *dest = value; + } + return return_val; + } else { + // FIXME_OPENACC + if (acc_on_device(acc_device_not_host)) { + printf( + "DESUL error in device_atomic_exchange(): Not supported atomic operation in " + "the OpenACC backend\n"); + } + // Acquire a lock for the address + // while (!lock_address_openacc((void*)dest, scope)) { + // } + // device_atomic_thread_fence(MemoryOrderAcquire(), scope); + T return_val = *dest; + *dest = value; + // device_atomic_thread_fence(MemoryOrderRelease(), scope); + // unlock_address_openacc((void*)dest, scope); + return return_val; + } +} + +#pragma acc routine seq +template +T device_atomic_compare_exchange( + T* dest, T compare, T value, MemoryOrder, MemoryScope scope) { + // Floating point types treated separetely to work around compiler errors + // "parse invalid cast opcode for cast from 'i32' to 'float'". + // Also not just "forwarding" arguments to atomicCAS because it does not have an + // overload that takes int64_t + if constexpr (std::is_integral_v && ((sizeof(T) == 4) || (sizeof(T) == 8))) { + static_assert(sizeof(unsigned int) == 4); + static_assert(sizeof(unsigned long long int) == 8); + using cas_t = + std::conditional_t<(sizeof(T) == 4), unsigned int, unsigned long long int>; + cas_t return_val = atomicCAS(reinterpret_cast(dest), + reinterpret_cast(compare), + reinterpret_cast(value)); + return reinterpret_cast(return_val); +#ifdef DESUL_CUDA_ARCH_IS_PRE_PASCAL + } else if constexpr (std::is_same_v) { +#else + } else if constexpr (std::is_same_v || std::is_same_v) { +#endif + return atomicCAS(dest, compare, value); + } else { + // FIXME_OPENACC + if (acc_on_device(acc_device_not_host)) { + printf( + "DESUL error in device_atomic_compare_exchange(): Not supported atomic " + "operation in the OpenACC backend\n"); + } + T current_val = *dest; + // Acquire a lock for the address + // while (!lock_address_openacc((void*)dest, scope)) { + //} + // device_atomic_thread_fence(MemoryOrderAcquire(), scope); + if (current_val == compare) { + *dest = value; + // device_atomic_thread_fence(MemoryOrderRelease(), scope); + } + // unlock_address_openacc((void*)dest, scope); + return current_val; + } +} + +#else // not NVHPC + +#pragma acc routine seq +template +T device_atomic_exchange(T* dest, T value, MemoryOrder, MemoryScope) { + if constexpr (std::is_arithmetic_v) { + T return_val; +#pragma acc atomic capture + { + return_val = *dest; + *dest = value; + } + return return_val; + } else { + // FIXME_OPENACC + printf( + "DESUL error in device_atomic_exchange(): Not supported atomic operation in " + "the OpenACC backend\n"); + // Acquire a lock for the address + // while (!lock_address_openacc((void*)dest, scope)) { + // } + // device_atomic_thread_fence(MemoryOrderAcquire(), scope); + T return_val = *dest; + *dest = value; + // device_atomic_thread_fence(MemoryOrderRelease(), scope); + // unlock_address_openacc((void*)dest, scope); + return return_val; + } +} + +#pragma acc routine seq +template +T device_atomic_compare_exchange( + T* dest, T compare, T value, MemoryOrder, MemoryScope scope) { + // FIXME_OPENACC + printf( + "DESUL error in device_atomic_compare_exchange(): Not supported atomic operation " + "in the OpenACC backend\n"); + T current_val = *dest; + // Acquire a lock for the address + // while (!lock_address_openacc((void*)dest, scope)) { + //} + // device_atomic_thread_fence(MemoryOrderAcquire(), scope); + if (current_val == compare) { + *dest = value; + // device_atomic_thread_fence(MemoryOrderRelease(), scope); + } + // unlock_address_openacc((void*)dest, scope); + return current_val; +} + +#endif + +} // namespace Impl +} // namespace desul + +#endif diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Fetch_Op.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Fetch_Op.hpp index adf75c5743..1b161397c7 100644 --- a/lib/kokkos/tpls/desul/include/desul/atomics/Fetch_Op.hpp +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Fetch_Op.hpp @@ -23,6 +23,9 @@ SPDX-License-Identifier: (BSD-3-Clause) #ifdef DESUL_HAVE_OPENMP_ATOMICS #include #endif +#ifdef DESUL_HAVE_OPENACC_ATOMICS +#include +#endif #ifdef DESUL_HAVE_SYCL_ATOMICS #include #endif diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Fetch_Op_OpenACC.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Fetch_Op_OpenACC.hpp new file mode 100644 index 0000000000..ab570ac578 --- /dev/null +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Fetch_Op_OpenACC.hpp @@ -0,0 +1,431 @@ +/* +Copyright (c) 2019, Lawrence Livermore National Security, LLC +and DESUL project contributors. See the COPYRIGHT file for details. +Source: https://github.com/desul/desul + +SPDX-License-Identifier: (BSD-3-Clause) +*/ +#ifndef DESUL_ATOMICS_FETCH_OP_OPENACC_HPP_ +#define DESUL_ATOMICS_FETCH_OP_OPENACC_HPP_ + +#include // min, max +#include +#include + +namespace desul { +namespace Impl { + +#ifdef __NVCOMPILER + +template +inline constexpr bool is_openacc_integral_type_v = + std::is_same_v || std::is_same_v || + std::is_same_v; + +template +inline constexpr bool is_openacc_arithmetic_type_v = std::is_same_v || +#ifndef DESUL_CUDA_ARCH_IS_PRE_PASCAL + std::is_same_v || +#endif + is_openacc_integral_type_v; + +#else + +template +inline constexpr bool is_openacc_integral_type_v = std::is_integral_v; + +template +inline constexpr bool is_openacc_arithmetic_type_v = std::is_arithmetic_v; + +#endif + +// +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_add( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr += val; + } + return old; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_inc( + T* ptr, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr += T(1); + } + return old; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_sub( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr -= val; + } + return old; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_dec( + T* ptr, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr -= T(1); + } + return old; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_mul( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr *= val; + } + return old; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_div( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr /= val; + } + return old; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_lshift( + T* ptr, const unsigned int val, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr = *ptr << val; + } + return old; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_rshift( + T* ptr, const unsigned int val, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr = *ptr >> val; + } + return old; +} + +#ifdef __NVCOMPILER +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_max( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; + old = atomicMax(ptr, val); + return old; +} +#endif + +#ifdef __NVCOMPILER +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_min( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + int old; + old = atomicMin(ptr, val); + return old; +} +#endif + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_and( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr &= val; + } + return old; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_or( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr |= val; + } + return old; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_fetch_xor( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T old; +#pragma acc atomic capture + { + old = *ptr; + *ptr ^= val; + } + return old; +} +// + +// +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_add_fetch( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr += val; + tmp = *ptr; + } + return tmp; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_inc_fetch( + T* ptr, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr += T(1); + tmp = *ptr; + } + return tmp; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_sub_fetch( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr -= val; + tmp = *ptr; + } + return tmp; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_dec_fetch( + T* ptr, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr -= T(1); + tmp = *ptr; + } + return tmp; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_mul_fetch( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr *= val; + tmp = *ptr; + } + return tmp; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_div_fetch( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr /= val; + tmp = *ptr; + } + return tmp; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_lshift_fetch( + T* ptr, const unsigned int val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr = *ptr << val; + tmp = *ptr; + } + return tmp; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_rshift_fetch( + T* ptr, const unsigned int val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr = *ptr >> val; + tmp = *ptr; + } + return tmp; +} + +#ifdef __NVCOMPILER +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_max_fetch( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; + tmp = atomicMax(ptr, val); + tmp = std::max(tmp, val); + return tmp; +} +#endif + +#ifdef __NVCOMPILER +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_min_fetch( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; + tmp = atomicMin(ptr, val); + tmp = std::min(tmp, val); + return tmp; +} +#endif + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_and_fetch( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr &= val; + tmp = *ptr; + } + return tmp; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_or_fetch( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr |= val; + tmp = *ptr; + } + return tmp; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_xor_fetch( + T* ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { + T tmp; +#pragma acc atomic capture + { + *ptr ^= val; + tmp = *ptr; + } + return tmp; +} +// + +// +#pragma acc routine seq +template +std::enable_if_t, void> device_atomic_store( + T* const ptr, const T val, MemoryOrderRelaxed, MemoryScopeDevice) { +#pragma acc atomic write + *ptr = val; +} + +#pragma acc routine seq +template +std::enable_if_t, void> device_atomic_store( + T* const ptr, const T val, MemoryOrderRelease, MemoryScopeDevice) { + if (acc_on_device(acc_device_not_host)) { + printf( + "DESUL error in device_atomic_store(MemoryOrderRelease): Not supported atomic " + "operation in the OpenACC backend\n"); + } +#pragma acc atomic write + *ptr = val; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_load( + const T* const ptr, MemoryOrderRelaxed, MemoryScopeDevice) { + T retval; +#pragma acc atomic read + retval = *ptr; + return retval; +} + +#pragma acc routine seq +template +std::enable_if_t, T> device_atomic_load( + const T* const ptr, MemoryOrderAcquire, MemoryScopeDevice) { + if (acc_on_device(acc_device_not_host)) { + printf( + "DESUL error in device_atomic_load(MemoryOrderAcquire): Not supported atomic " + "operation in the OpenACC backend\n"); + } + T retval; +#pragma acc atomic read + retval = *ptr; + return retval; +} +// + +} // namespace Impl +} // namespace desul + +#endif diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Generic.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Generic.hpp index fef10222e3..fa71477c29 100644 --- a/lib/kokkos/tpls/desul/include/desul/atomics/Generic.hpp +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Generic.hpp @@ -18,11 +18,14 @@ SPDX-License-Identifier: (BSD-3-Clause) namespace desul { +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION void atomic_thread_fence(MemoryOrder order, MemoryScope scope) { DESUL_IF_ON_DEVICE(return Impl::device_atomic_thread_fence(order, scope);) DESUL_IF_ON_HOST(return Impl::host_atomic_thread_fence(order, scope);) } + +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_exchange(T* dest, T val, MemoryOrder order, MemoryScope scope) { @@ -30,6 +33,7 @@ atomic_exchange(T* dest, T val, MemoryOrder order, MemoryScope scope) { DESUL_IF_ON_HOST(return Impl::host_atomic_exchange(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_compare_exchange(T* dest, T cmp, T val, MemoryOrder order, MemoryScope scope) { @@ -40,6 +44,7 @@ atomic_compare_exchange(T* dest, T cmp, T val, MemoryOrder order, MemoryScope sc } // Fetch_Oper atomics: return value before operation +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_add(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -47,6 +52,7 @@ atomic_fetch_add(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_add(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_sub(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -54,6 +60,7 @@ atomic_fetch_sub(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_sub(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_max(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -61,6 +68,7 @@ atomic_fetch_max(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_max(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_min(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -68,6 +76,7 @@ atomic_fetch_min(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_min(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_mul(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -75,6 +84,7 @@ atomic_fetch_mul(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_mul(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_div(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -82,6 +92,7 @@ atomic_fetch_div(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_div(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_mod(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -89,6 +100,7 @@ atomic_fetch_mod(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_mod(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_and(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -96,6 +108,7 @@ atomic_fetch_and(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_and(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_or(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -103,6 +116,7 @@ atomic_fetch_or(T* const dest, const T val, MemoryOrder order, MemoryScope scope DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_or(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_xor(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -110,6 +124,7 @@ atomic_fetch_xor(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_xor(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_nand(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -117,6 +132,7 @@ atomic_fetch_nand(T* const dest, const T val, MemoryOrder order, MemoryScope sco DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_nand(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_lshift(T* const dest, const unsigned int val, @@ -126,6 +142,7 @@ DESUL_INLINE_FUNCTION T atomic_fetch_lshift(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_lshift(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_rshift(T* const dest, const unsigned int val, @@ -136,6 +153,7 @@ DESUL_INLINE_FUNCTION T atomic_fetch_rshift(T* const dest, } // Oper Fetch atomics: return value after operation +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_add_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -143,6 +161,7 @@ atomic_add_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_add_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_sub_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -150,6 +169,7 @@ atomic_sub_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_sub_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_max_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -157,6 +177,7 @@ atomic_max_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_max_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_min_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -164,6 +185,7 @@ atomic_min_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_min_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_mul_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -171,6 +193,7 @@ atomic_mul_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_mul_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_div_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -178,6 +201,7 @@ atomic_div_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_div_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_mod_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -185,6 +209,7 @@ atomic_mod_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_mod_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_and_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -192,6 +217,7 @@ atomic_and_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_and_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_or_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -199,6 +225,7 @@ atomic_or_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope DESUL_IF_ON_HOST(return Impl::host_atomic_or_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_xor_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -206,6 +233,7 @@ atomic_xor_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scop DESUL_IF_ON_HOST(return Impl::host_atomic_xor_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_nand_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope scope) { @@ -213,6 +241,7 @@ atomic_nand_fetch(T* const dest, const T val, MemoryOrder order, MemoryScope sco DESUL_IF_ON_HOST(return Impl::host_atomic_nand_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_lshift_fetch(T* const dest, const unsigned int val, @@ -222,6 +251,7 @@ DESUL_INLINE_FUNCTION T atomic_lshift_fetch(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_lshift_fetch(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_rshift_fetch(T* const dest, const unsigned int val, @@ -233,6 +263,7 @@ DESUL_INLINE_FUNCTION T atomic_rshift_fetch(T* const dest, // Other atomics +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_load(const T* const dest, MemoryOrder order, @@ -241,6 +272,7 @@ DESUL_INLINE_FUNCTION T atomic_load(const T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_load(dest, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION void atomic_store(T* const dest, const T val, @@ -250,6 +282,7 @@ DESUL_INLINE_FUNCTION void atomic_store(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_store(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION void atomic_add(T* const dest, const T val, @@ -259,6 +292,7 @@ DESUL_INLINE_FUNCTION void atomic_add(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_add(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION void atomic_sub(T* const dest, const T val, @@ -268,6 +302,7 @@ DESUL_INLINE_FUNCTION void atomic_sub(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_sub(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION void atomic_mul(T* const dest, const T val, @@ -277,6 +312,7 @@ DESUL_INLINE_FUNCTION void atomic_mul(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_mul(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION void atomic_div(T* const dest, const T val, @@ -286,6 +322,7 @@ DESUL_INLINE_FUNCTION void atomic_div(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_div(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION void atomic_min(T* const dest, const T val, @@ -295,6 +332,7 @@ DESUL_INLINE_FUNCTION void atomic_min(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_min(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION void atomic_max(T* const dest, const T val, @@ -304,6 +342,7 @@ DESUL_INLINE_FUNCTION void atomic_max(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_max(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_inc_fetch(T* const dest, MemoryOrder order, @@ -312,6 +351,7 @@ DESUL_INLINE_FUNCTION T atomic_inc_fetch(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_inc_fetch(dest, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_dec_fetch(T* const dest, MemoryOrder order, @@ -320,6 +360,7 @@ DESUL_INLINE_FUNCTION T atomic_dec_fetch(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_dec_fetch(dest, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_inc(T* const dest, MemoryOrder order, @@ -328,6 +369,7 @@ DESUL_INLINE_FUNCTION T atomic_fetch_inc(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_inc(dest, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_inc_mod(T* const dest, T val, MemoryOrder order, MemoryScope scope) { @@ -335,6 +377,7 @@ atomic_fetch_inc_mod(T* const dest, T val, MemoryOrder order, MemoryScope scope) DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_inc_mod(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_dec(T* const dest, MemoryOrder order, @@ -343,6 +386,7 @@ DESUL_INLINE_FUNCTION T atomic_fetch_dec(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_dec(dest, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION T atomic_fetch_dec_mod(T* const dest, T val, MemoryOrder order, MemoryScope scope) { @@ -350,6 +394,7 @@ atomic_fetch_dec_mod(T* const dest, T val, MemoryOrder order, MemoryScope scope) DESUL_IF_ON_HOST(return Impl::host_atomic_fetch_dec_mod(dest, val, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION void atomic_inc(T* const dest, MemoryOrder order, @@ -358,6 +403,7 @@ DESUL_INLINE_FUNCTION void atomic_inc(T* const dest, DESUL_IF_ON_HOST(return Impl::host_atomic_inc(dest, order, scope);) } +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template DESUL_INLINE_FUNCTION void atomic_dec(T* const dest, MemoryOrder order, @@ -367,6 +413,7 @@ DESUL_INLINE_FUNCTION void atomic_dec(T* const dest, } // FIXME +DESUL_IMPL_ACC_ROUTINE_DIRECTIVE template SYCL_SPACE_ATOMIC_LOCKS_DEVICE; +#ifdef DESUL_ATOMICS_ENABLE_SYCL_SEPARABLE_COMPILATION +SYCL_EXTERNAL extern +#else +static +#endif + sycl_device_global + SYCL_SPACE_ATOMIC_LOCKS_DEVICE; -SYCL_EXTERNAL extern sycl_device_global SYCL_SPACE_ATOMIC_LOCKS_NODE; +#ifdef DESUL_ATOMICS_ENABLE_SYCL_SEPARABLE_COMPILATION +SYCL_EXTERNAL extern +#else +static +#endif + sycl_device_global + SYCL_SPACE_ATOMIC_LOCKS_NODE; #define SYCL_SPACE_ATOMIC_MASK 0x1FFFF @@ -128,6 +149,34 @@ inline void unlock_address_sycl(void* ptr, MemoryScopeNode) { lock_node_ref.exchange(0); } +#ifdef DESUL_ATOMICS_ENABLE_SYCL_SEPARABLE_COMPILATION +inline +#else +inline static +#endif + void + copy_sycl_lock_arrays_to_device(sycl::queue q) { + static bool once = [&q]() { +#ifdef SYCL_EXT_ONEAPI_DEVICE_GLOBAL + q.memcpy(SYCL_SPACE_ATOMIC_LOCKS_DEVICE, + &SYCL_SPACE_ATOMIC_LOCKS_DEVICE_h, + sizeof(int32_t*)); + q.memcpy(SYCL_SPACE_ATOMIC_LOCKS_NODE, + &SYCL_SPACE_ATOMIC_LOCKS_NODE_h, + sizeof(int32_t*)); +#else + auto device_ptr = SYCL_SPACE_ATOMIC_LOCKS_DEVICE_h; + auto node_ptr = SYCL_SPACE_ATOMIC_LOCKS_NODE_h; + q.single_task([=] { + SYCL_SPACE_ATOMIC_LOCKS_DEVICE.get() = device_ptr; + SYCL_SPACE_ATOMIC_LOCKS_NODE.get() = node_ptr; + }); +#endif + return true; + }(); + (void)once; +} + #else // not supported template @@ -155,7 +204,26 @@ inline bool lock_address_sycl(void*, MemoryScopeNode) { inline void unlock_address_sycl(void*, MemoryScopeDevice) { assert(false); } inline void unlock_address_sycl(void*, MemoryScopeNode) { assert(false); } + +#ifdef DESUL_ATOMICS_ENABLE_SYCL_SEPARABLE_COMPILATION +inline +#else +inline static +#endif + void + copy_sycl_lock_arrays_to_device(sycl::queue) { +} + #endif } // namespace Impl + +#ifdef DESUL_ATOMICS_ENABLE_SYCL_SEPARABLE_COMPILATION +inline void ensure_sycl_lock_arrays_on_device(sycl::queue) {} +#else +static inline void ensure_sycl_lock_arrays_on_device(sycl::queue q) { + Impl::copy_sycl_lock_arrays_to_device(q); +} +#endif + } // namespace desul #endif diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Lock_Based_Fetch_Op.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Lock_Based_Fetch_Op.hpp index cb97f4a906..b6a399100b 100644 --- a/lib/kokkos/tpls/desul/include/desul/atomics/Lock_Based_Fetch_Op.hpp +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Lock_Based_Fetch_Op.hpp @@ -17,6 +17,9 @@ SPDX-License-Identifier: (BSD-3-Clause) #ifdef DESUL_HAVE_HIP_ATOMICS #include #endif +#ifdef DESUL_HAVE_OPENACC_ATOMICS +#include +#endif #ifdef DESUL_HAVE_SYCL_ATOMICS #include #endif diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Lock_Based_Fetch_Op_OpenACC.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Lock_Based_Fetch_Op_OpenACC.hpp new file mode 100644 index 0000000000..d4dd74588b --- /dev/null +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Lock_Based_Fetch_Op_OpenACC.hpp @@ -0,0 +1,81 @@ +/* +Copyright (c) 2019, Lawrence Livermore National Security, LLC +and DESUL project contributors. See the COPYRIGHT file for details. +Source: https://github.com/desul/desul + +SPDX-License-Identifier: (BSD-3-Clause) +*/ + +#ifndef DESUL_ATOMICS_LOCK_BASED_FETCH_OP_OPENACC_HPP_ +#define DESUL_ATOMICS_LOCK_BASED_FETCH_OP_OPENACC_HPP_ + +#include +#include +#include +#include + +namespace desul { +namespace Impl { + +template = 0> +inline T device_atomic_fetch_oper(const Oper& op, + T* const dest, + dont_deduce_this_parameter_t val, + MemoryOrder /*order*/, + MemoryScope scope) { + if (acc_on_device(acc_device_not_host)) { + printf( + "DESUL error in device_atomic_fetch_oper(): Not supported atomic operation in " + "the OpenACC backend\n"); + } + // Acquire a lock for the address + while (!lock_address((void*)dest, scope)) { + } + + device_atomic_thread_fence(MemoryOrderAcquire(), scope); + T return_val = *dest; + *dest = op.apply(return_val, val); + device_atomic_thread_fence(MemoryOrderRelease(), scope); + unlock_address((void*)dest, scope); + return return_val; +} + +template = 0> +inline T device_atomic_oper_fetch(const Oper& op, + T* const dest, + dont_deduce_this_parameter_t val, + MemoryOrder /*order*/, + MemoryScope scope) { + if (acc_on_device(acc_device_not_host)) { + printf( + "DESUL error in device_atomic_oper_fetch(): Not supported atomic operation in " + "the OpenACC backend\n"); + } + // Acquire a lock for the address + while (!lock_address((void*)dest, scope)) { + } + + device_atomic_thread_fence(MemoryOrderAcquire(), scope); + T return_val = op.apply(*dest, val); + *dest = return_val; + device_atomic_thread_fence(MemoryOrderRelease(), scope); + unlock_address((void*)dest, scope); + return return_val; +} + +} // namespace Impl +} // namespace desul + +#endif diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Macros.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Macros.hpp index 3a14b93d32..d11beb0c80 100644 --- a/lib/kokkos/tpls/desul/include/desul/atomics/Macros.hpp +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Macros.hpp @@ -57,6 +57,10 @@ SPDX-License-Identifier: (BSD-3-Clause) #define DESUL_HAVE_OPENMP_ATOMICS #endif +#if defined(DESUL_ATOMICS_ENABLE_OPENACC) +#define DESUL_HAVE_OPENACC_ATOMICS +#endif + // ONLY use GNUC atomics if not explicitly say to use OpenMP atomics #if !defined(DESUL_HAVE_OPENMP_ATOMICS) && defined(__GNUC__) #define DESUL_HAVE_GCC_ATOMICS @@ -123,6 +127,30 @@ static constexpr bool desul_impl_omp_on_host() { return false; } #endif #endif +#if defined(DESUL_HAVE_OPENACC_ATOMICS) +#include +#ifdef __NVCOMPILER +// FIXME_OPENACC We cannot determine in a constant expresion whether we are on host or +// on device with NVHPC. We use the device implementation on both sides. +#define DESUL_IF_ON_DEVICE(CODE) \ + { DESUL_IMPL_STRIP_PARENS(CODE) } +#define DESUL_IF_ON_HOST(CODE) \ + {} +#else +#define DESUL_IF_ON_DEVICE(CODE) \ + if constexpr (acc_on_device(acc_device_not_host)) { \ + DESUL_IMPL_STRIP_PARENS(CODE) \ + } +#define DESUL_IF_ON_HOST(CODE) \ + if constexpr (acc_on_device(acc_device_host)) { \ + DESUL_IMPL_STRIP_PARENS(CODE) \ + } +#endif +#define DESUL_IMPL_ACC_ROUTINE_DIRECTIVE _Pragma("acc routine seq") +#else +#define DESUL_IMPL_ACC_ROUTINE_DIRECTIVE +#endif + #if !defined(DESUL_IF_ON_HOST) && !defined(DESUL_IF_ON_DEVICE) #if (defined(DESUL_ATOMICS_ENABLE_CUDA) && defined(__CUDA_ARCH__)) || \ (defined(DESUL_ATOMICS_ENABLE_HIP) && defined(__HIP_DEVICE_COMPILE__)) || \ diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Thread_Fence.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Thread_Fence.hpp index 24078aae07..6a741f6d47 100644 --- a/lib/kokkos/tpls/desul/include/desul/atomics/Thread_Fence.hpp +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Thread_Fence.hpp @@ -26,6 +26,9 @@ SPDX-License-Identifier: (BSD-3-Clause) #ifdef DESUL_HAVE_OPENMP_ATOMICS #include #endif +#ifdef DESUL_HAVE_OPENACC_ATOMICS +#include +#endif #ifdef DESUL_HAVE_SYCL_ATOMICS #include #endif diff --git a/lib/kokkos/tpls/desul/include/desul/atomics/Thread_Fence_OpenACC.hpp b/lib/kokkos/tpls/desul/include/desul/atomics/Thread_Fence_OpenACC.hpp new file mode 100644 index 0000000000..a5c8aa1c8a --- /dev/null +++ b/lib/kokkos/tpls/desul/include/desul/atomics/Thread_Fence_OpenACC.hpp @@ -0,0 +1,25 @@ +/* +Copyright (c) 2019, Lawrence Livermore National Security, LLC +and DESUL project contributors. See the COPYRIGHT file for details. +Source: https://github.com/desul/desul + +SPDX-License-Identifier: (BSD-3-Clause) +*/ + +#ifndef DESUL_ATOMICS_THREAD_FENCE_OPENACC_HPP_ +#define DESUL_ATOMICS_THREAD_FENCE_OPENACC_HPP_ + +namespace desul { +namespace Impl { + +#pragma acc routine seq +template +void device_atomic_thread_fence(MemoryOrder, MemoryScope) { + // FIXME_OPENACC: The current OpenACC standard does not support explicit thread fence + // operations. +} + +} // namespace Impl +} // namespace desul + +#endif diff --git a/lib/kokkos/tpls/desul/src/Lock_Array_SYCL.cpp b/lib/kokkos/tpls/desul/src/Lock_Array_SYCL.cpp index 9e84c60e41..6660c76e11 100644 --- a/lib/kokkos/tpls/desul/src/Lock_Array_SYCL.cpp +++ b/lib/kokkos/tpls/desul/src/Lock_Array_SYCL.cpp @@ -14,10 +14,12 @@ SPDX-License-Identifier: (BSD-3-Clause) namespace desul::Impl { +#ifdef DESUL_ATOMICS_ENABLE_SYCL_SEPARABLE_COMPILATION SYCL_EXTERNAL sycl_device_global SYCL_SPACE_ATOMIC_LOCKS_DEVICE; SYCL_EXTERNAL sycl_device_global SYCL_SPACE_ATOMIC_LOCKS_NODE; +#endif int32_t* SYCL_SPACE_ATOMIC_LOCKS_DEVICE_h = nullptr; int32_t* SYCL_SPACE_ATOMIC_LOCKS_NODE_h = nullptr; @@ -31,19 +33,7 @@ void init_lock_arrays_sycl(sycl::queue q) { SYCL_SPACE_ATOMIC_LOCKS_NODE_h = sycl::malloc_host(SYCL_SPACE_ATOMIC_MASK + 1, q); - // FIXME_SYCL Once supported, the following should be replaced by - // q.memcpy(SYCL_SPACE_ATOMIC_LOCKS_DEVICE, - // &SYCL_SPACE_ATOMIC_LOCKS_DEVICE_h, - // sizeof(int32_t*)); - // q.memcpy(SYCL_SPACE_ATOMIC_LOCKS_NODE, - // &SYCL_SPACE_ATOMIC_LOCKS_NODE_h, - // sizeof(int32_t*)); - auto device_ptr = SYCL_SPACE_ATOMIC_LOCKS_DEVICE_h; - auto node_ptr = SYCL_SPACE_ATOMIC_LOCKS_NODE_h; - q.single_task([=] { - SYCL_SPACE_ATOMIC_LOCKS_DEVICE.get() = device_ptr; - SYCL_SPACE_ATOMIC_LOCKS_NODE.get() = node_ptr; - }); + copy_sycl_lock_arrays_to_device(q); q.memset(SYCL_SPACE_ATOMIC_LOCKS_DEVICE_h, 0, @@ -63,7 +53,10 @@ void finalize_lock_arrays_sycl(sycl::queue q) { sycl::free(SYCL_SPACE_ATOMIC_LOCKS_NODE_h, q); SYCL_SPACE_ATOMIC_LOCKS_DEVICE_h = nullptr; SYCL_SPACE_ATOMIC_LOCKS_NODE_h = nullptr; +#ifdef DESUL_ATOMICS_ENABLE_SYCL_SEPARABLE_COMPILATION + copy_sycl_lock_arrays_to_device(q); +#endif } -} // namespace desul::Impl +} // namespace desul::Impl #endif diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/compressed_pair.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/compressed_pair.hpp index ab1561bd47..25389a2fa5 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/compressed_pair.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/compressed_pair.hpp @@ -27,165 +27,165 @@ namespace detail { // For no unique address emulation, this is the case taken when neither are empty. // For real `[[no_unique_address]]`, this case is always taken. -template struct __compressed_pair { - _MDSPAN_NO_UNIQUE_ADDRESS _T __t_val; - _MDSPAN_NO_UNIQUE_ADDRESS _U __u_val; - MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T &__first() noexcept { return __t_val; } - MDSPAN_FORCE_INLINE_FUNCTION constexpr _T const &__first() const noexcept { - return __t_val; +template struct __compressed_pair { + _MDSPAN_NO_UNIQUE_ADDRESS _T1 __t1_val{}; + _MDSPAN_NO_UNIQUE_ADDRESS _T2 __t2_val{}; + MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T1 &__first() noexcept { return __t1_val; } + MDSPAN_FORCE_INLINE_FUNCTION constexpr _T1 const &__first() const noexcept { + return __t1_val; } - MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _U &__second() noexcept { return __u_val; } - MDSPAN_FORCE_INLINE_FUNCTION constexpr _U const &__second() const noexcept { - return __u_val; + MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T2 &__second() noexcept { return __t2_val; } + MDSPAN_FORCE_INLINE_FUNCTION constexpr _T2 const &__second() const noexcept { + return __t2_val; } MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair() noexcept = default; + constexpr __compressed_pair() = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair(__compressed_pair const &) noexcept = default; + constexpr __compressed_pair(__compressed_pair const &) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair(__compressed_pair &&) noexcept = default; + constexpr __compressed_pair(__compressed_pair &&) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED _MDSPAN_CONSTEXPR_14_DEFAULTED __compressed_pair & - operator=(__compressed_pair const &) noexcept = default; + operator=(__compressed_pair const &) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED _MDSPAN_CONSTEXPR_14_DEFAULTED __compressed_pair & - operator=(__compressed_pair &&) noexcept = default; + operator=(__compressed_pair &&) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - ~__compressed_pair() noexcept = default; - template - MDSPAN_INLINE_FUNCTION constexpr __compressed_pair(_TLike &&__t, _ULike &&__u) - : __t_val((_TLike &&) __t), __u_val((_ULike &&) __u) {} + ~__compressed_pair() = default; + template + MDSPAN_INLINE_FUNCTION constexpr __compressed_pair(_T1Like &&__t1, _T2Like &&__t2) + : __t1_val((_T1Like &&) __t1), __t2_val((_T2Like &&) __t2) {} }; #if !defined(_MDSPAN_USE_ATTRIBUTE_NO_UNIQUE_ADDRESS) // First empty. -template +template struct __compressed_pair< - _T, _U, - std::enable_if_t<_MDSPAN_TRAIT(std::is_empty, _T) && !_MDSPAN_TRAIT(std::is_empty, _U)>> - : private _T { - _U __u_val; - MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T &__first() noexcept { - return *static_cast<_T *>(this); + _T1, _T2, + std::enable_if_t<_MDSPAN_TRAIT(std::is_empty, _T1) && !_MDSPAN_TRAIT(std::is_empty, _T2)>> + : private _T1 { + _T2 __t2_val{}; + MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T1 &__first() noexcept { + return *static_cast<_T1 *>(this); } - MDSPAN_FORCE_INLINE_FUNCTION constexpr _T const &__first() const noexcept { - return *static_cast<_T const *>(this); + MDSPAN_FORCE_INLINE_FUNCTION constexpr _T1 const &__first() const noexcept { + return *static_cast<_T1 const *>(this); } - MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _U &__second() noexcept { return __u_val; } - MDSPAN_FORCE_INLINE_FUNCTION constexpr _U const &__second() const noexcept { - return __u_val; + MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T2 &__second() noexcept { return __t2_val; } + MDSPAN_FORCE_INLINE_FUNCTION constexpr _T2 const &__second() const noexcept { + return __t2_val; } MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair() noexcept = default; + constexpr __compressed_pair() = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair(__compressed_pair const &) noexcept = default; + constexpr __compressed_pair(__compressed_pair const &) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair(__compressed_pair &&) noexcept = default; + constexpr __compressed_pair(__compressed_pair &&) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED _MDSPAN_CONSTEXPR_14_DEFAULTED __compressed_pair & - operator=(__compressed_pair const &) noexcept = default; + operator=(__compressed_pair const &) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED _MDSPAN_CONSTEXPR_14_DEFAULTED __compressed_pair & - operator=(__compressed_pair &&) noexcept = default; + operator=(__compressed_pair &&) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - ~__compressed_pair() noexcept = default; - template - MDSPAN_INLINE_FUNCTION constexpr __compressed_pair(_TLike &&__t, _ULike &&__u) - : _T((_TLike &&) __t), __u_val((_ULike &&) __u) {} + ~__compressed_pair() = default; + template + MDSPAN_INLINE_FUNCTION constexpr __compressed_pair(_T1Like &&__t1, _T2Like &&__t2) + : _T1((_T1Like &&) __t1), __t2_val((_T2Like &&) __t2) {} }; // Second empty. -template +template struct __compressed_pair< - _T, _U, - std::enable_if_t> - : private _U { - _T __t_val; - MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T &__first() noexcept { return __t_val; } - MDSPAN_FORCE_INLINE_FUNCTION constexpr _T const &__first() const noexcept { - return __t_val; + _T1, _T2, + std::enable_if_t> + : private _T2 { + _T1 __t1_val{}; + MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T1 &__first() noexcept { return __t1_val; } + MDSPAN_FORCE_INLINE_FUNCTION constexpr _T1 const &__first() const noexcept { + return __t1_val; } - MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _U &__second() noexcept { - return *static_cast<_U *>(this); + MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T2 &__second() noexcept { + return *static_cast<_T2 *>(this); } - MDSPAN_FORCE_INLINE_FUNCTION constexpr _U const &__second() const noexcept { - return *static_cast<_U const *>(this); + MDSPAN_FORCE_INLINE_FUNCTION constexpr _T2 const &__second() const noexcept { + return *static_cast<_T2 const *>(this); } MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair() noexcept = default; + constexpr __compressed_pair() = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair(__compressed_pair const &) noexcept = default; + constexpr __compressed_pair(__compressed_pair const &) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair(__compressed_pair &&) noexcept = default; + constexpr __compressed_pair(__compressed_pair &&) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED _MDSPAN_CONSTEXPR_14_DEFAULTED __compressed_pair & - operator=(__compressed_pair const &) noexcept = default; + operator=(__compressed_pair const &) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED _MDSPAN_CONSTEXPR_14_DEFAULTED __compressed_pair & - operator=(__compressed_pair &&) noexcept = default; + operator=(__compressed_pair &&) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - ~__compressed_pair() noexcept = default; + ~__compressed_pair() = default; - template - MDSPAN_INLINE_FUNCTION constexpr __compressed_pair(_TLike &&__t, _ULike &&__u) - : _U((_ULike &&) __u), __t_val((_TLike &&) __t) {} + template + MDSPAN_INLINE_FUNCTION constexpr __compressed_pair(_T1Like &&__t1, _T2Like &&__t2) + : _T2((_T2Like &&) __t2), __t1_val((_T1Like &&) __t1) {} }; // Both empty. -template +template struct __compressed_pair< - _T, _U, - std::enable_if_t<_MDSPAN_TRAIT(std::is_empty, _T) && _MDSPAN_TRAIT(std::is_empty, _U)>> + _T1, _T2, + std::enable_if_t<_MDSPAN_TRAIT(std::is_empty, _T1) && _MDSPAN_TRAIT(std::is_empty, _T2)>> // We need to use the __no_unique_address_emulation wrapper here to avoid // base class ambiguities. #ifdef _MDSPAN_COMPILER_MSVC // MSVC doesn't allow you to access public static member functions of a type // when you *happen* to privately inherit from that type. - : protected __no_unique_address_emulation<_T, 0>, - protected __no_unique_address_emulation<_U, 1> + : protected __no_unique_address_emulation<_T1, 0>, + protected __no_unique_address_emulation<_T2, 1> #else - : private __no_unique_address_emulation<_T, 0>, - private __no_unique_address_emulation<_U, 1> + : private __no_unique_address_emulation<_T1, 0>, + private __no_unique_address_emulation<_T2, 1> #endif { - using __first_base_t = __no_unique_address_emulation<_T, 0>; - using __second_base_t = __no_unique_address_emulation<_U, 1>; + using __first_base_t = __no_unique_address_emulation<_T1, 0>; + using __second_base_t = __no_unique_address_emulation<_T2, 1>; - MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T &__first() noexcept { + MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T1 &__first() noexcept { return this->__first_base_t::__ref(); } - MDSPAN_FORCE_INLINE_FUNCTION constexpr _T const &__first() const noexcept { + MDSPAN_FORCE_INLINE_FUNCTION constexpr _T1 const &__first() const noexcept { return this->__first_base_t::__ref(); } - MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _U &__second() noexcept { + MDSPAN_FORCE_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 _T2 &__second() noexcept { return this->__second_base_t::__ref(); } - MDSPAN_FORCE_INLINE_FUNCTION constexpr _U const &__second() const noexcept { + MDSPAN_FORCE_INLINE_FUNCTION constexpr _T2 const &__second() const noexcept { return this->__second_base_t::__ref(); } MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair() noexcept = default; + constexpr __compressed_pair() = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair(__compressed_pair const &) noexcept = default; + constexpr __compressed_pair(__compressed_pair const &) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - constexpr __compressed_pair(__compressed_pair &&) noexcept = default; + constexpr __compressed_pair(__compressed_pair &&) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED _MDSPAN_CONSTEXPR_14_DEFAULTED __compressed_pair & - operator=(__compressed_pair const &) noexcept = default; + operator=(__compressed_pair const &) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED _MDSPAN_CONSTEXPR_14_DEFAULTED __compressed_pair & - operator=(__compressed_pair &&) noexcept = default; + operator=(__compressed_pair &&) = default; MDSPAN_INLINE_FUNCTION_DEFAULTED - ~__compressed_pair() noexcept = default; - template - MDSPAN_INLINE_FUNCTION constexpr __compressed_pair(_TLike &&__t, _ULike &&__u) noexcept - : __first_base_t(_T((_TLike &&) __t)), - __second_base_t(_U((_ULike &&) __u)) + ~__compressed_pair() = default; + template + MDSPAN_INLINE_FUNCTION constexpr __compressed_pair(_T1Like &&__t1, _T2Like &&__t2) noexcept + : __first_base_t(_T1((_T1Like &&) __t1)), + __second_base_t(_T2((_T2Like &&) __t2)) { } }; diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/config.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/config.hpp index d35e201ceb..8e42a37ba7 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/config.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/config.hpp @@ -35,10 +35,17 @@ #define MDSPAN_CXX_STD_14 201402L #define MDSPAN_CXX_STD_17 201703L #define MDSPAN_CXX_STD_20 202002L +// Note GCC has not updated this in version 13 +#ifdef __clang__ +#define MDSPAN_CXX_STD_23 202302L +#else +#define MDSPAN_CXX_STD_23 202100L +#endif #define MDSPAN_HAS_CXX_14 (_MDSPAN_CPLUSPLUS >= MDSPAN_CXX_STD_14) #define MDSPAN_HAS_CXX_17 (_MDSPAN_CPLUSPLUS >= MDSPAN_CXX_STD_17) #define MDSPAN_HAS_CXX_20 (_MDSPAN_CPLUSPLUS >= MDSPAN_CXX_STD_20) +#define MDSPAN_HAS_CXX_23 (_MDSPAN_CPLUSPLUS >= MDSPAN_CXX_STD_23) static_assert(_MDSPAN_CPLUSPLUS >= MDSPAN_CXX_STD_14, "mdspan requires C++14 or later."); @@ -224,7 +231,7 @@ static_assert(_MDSPAN_CPLUSPLUS >= MDSPAN_CXX_STD_14, "mdspan requires C++14 or #endif #ifndef MDSPAN_CONDITIONAL_EXPLICIT -# if MDSPAN_HAS_CXX_20 && !defined(_MDSPAN_COMPILER_MSVC) +# if MDSPAN_HAS_CXX_20 # define MDSPAN_CONDITIONAL_EXPLICIT(COND) explicit(COND) # else # define MDSPAN_CONDITIONAL_EXPLICIT(COND) diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/extents.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/extents.hpp index 0dd31c4cd0..9a28c3ed5c 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/extents.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/extents.hpp @@ -55,6 +55,14 @@ __check_compatible_extents( return {}; } +template +MDSPAN_INLINE_FUNCTION +static constexpr bool are_valid_indices() { + return + (std::is_convertible::value && ... && true) && + (std::is_nothrow_constructible::value && ... && true); +} + // ------------------------------------------------------------------ // ------------ static_array ---------------------------------------- // ------------------------------------------------------------------ @@ -140,7 +148,8 @@ struct index_sequence_scan_impl { template struct index_sequence_scan_impl { -#if defined(__NVCC__) || defined(__NVCOMPILER) +#if defined(__NVCC__) || defined(__NVCOMPILER) || \ + defined(_MDSPAN_COMPILER_INTEL) // NVCC warns about pointless comparison with 0 for R==0 and r being const // evaluatable and also 0. MDSPAN_INLINE_FUNCTION @@ -167,7 +176,7 @@ template <> struct index_sequence_scan_impl<0> { // all static values. template struct possibly_empty_array { - T vals[N]; + T vals[N]{}; MDSPAN_INLINE_FUNCTION constexpr T &operator[](size_t r) { return vals[r]; } MDSPAN_INLINE_FUNCTION @@ -251,12 +260,17 @@ public: #ifdef __cpp_lib_span MDSPAN_TEMPLATE_REQUIRES(class T, size_t N, - /* requires */ (N == m_size_dynamic)) + /* requires */ (N == m_size_dynamic && N > 0)) MDSPAN_INLINE_FUNCTION constexpr maybe_static_array(const std::span &vals) { for (size_t r = 0; r < N; r++) m_dyn_vals[r] = static_cast(vals[r]); } + + MDSPAN_TEMPLATE_REQUIRES(class T, size_t N, + /* requires */ (N == m_size_dynamic && N == 0)) + MDSPAN_INLINE_FUNCTION + constexpr maybe_static_array(const std::span &) : m_dyn_vals{} {} #endif // constructors from all values @@ -423,9 +437,9 @@ public: class OtherIndexType, size_t N, /* requires */ ( - _MDSPAN_TRAIT(std::is_convertible, OtherIndexType, index_type) && + _MDSPAN_TRAIT(std::is_convertible, const OtherIndexType&, index_type) && _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, - OtherIndexType) && + const OtherIndexType&) && (N == m_rank || N == m_rank_dynamic))) MDSPAN_INLINE_FUNCTION MDSPAN_CONDITIONAL_EXPLICIT(N != m_rank_dynamic) @@ -436,8 +450,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class OtherIndexType, size_t N, /* requires */ - (_MDSPAN_TRAIT(std::is_convertible, OtherIndexType, index_type) && - _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, OtherIndexType) && + (_MDSPAN_TRAIT(std::is_convertible, const OtherIndexType&, index_type) && + _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, const OtherIndexType&) && (N == m_rank || N == m_rank_dynamic))) MDSPAN_INLINE_FUNCTION MDSPAN_CONDITIONAL_EXPLICIT(N != m_rank_dynamic) @@ -454,6 +468,7 @@ private: size_t DynCount, size_t R, class OtherExtents, class... DynamicValues, /* requires */ ((R < m_rank) && (static_extent(R) == dynamic_extent))) MDSPAN_INLINE_FUNCTION + constexpr vals_t __construct_vals_from_extents(std::integral_constant, std::integral_constant, const OtherExtents &exts, @@ -468,6 +483,7 @@ private: size_t DynCount, size_t R, class OtherExtents, class... DynamicValues, /* requires */ ((R < m_rank) && (static_extent(R) != dynamic_extent))) MDSPAN_INLINE_FUNCTION + constexpr vals_t __construct_vals_from_extents(std::integral_constant, std::integral_constant, const OtherExtents &exts, @@ -481,6 +497,7 @@ private: size_t DynCount, size_t R, class OtherExtents, class... DynamicValues, /* requires */ ((R == m_rank) && (DynCount == m_rank_dynamic))) MDSPAN_INLINE_FUNCTION + constexpr vals_t __construct_vals_from_extents(std::integral_constant, std::integral_constant, const OtherExtents &, @@ -491,17 +508,20 @@ private: public: // Converting constructor from other extents specializations - MDSPAN_TEMPLATE_REQUIRES( - class OtherIndexType, size_t... OtherExtents, - /* requires */ - ( - /* multi-stage check to protect from invalid pack expansion when sizes - don't match? */ - decltype(detail::__check_compatible_extents( - std::integral_constant{}, + MDSPAN_TEMPLATE_REQUIRES( + class OtherIndexType, size_t... OtherExtents, + /* requires */ + ( + /* multi-stage check to protect from invalid pack expansion when sizes + don't match? */ + decltype(detail::__check_compatible_extents( + // using: sizeof...(Extents) == sizeof...(OtherExtents) as the second argument fails with MSVC+NVCC with some obscure expansion error + // MSVC: 19.38.33133 NVCC: 12.0 + std::integral_constant::rank() == extents::rank()>{}, std::integer_sequence{}, - std::integer_sequence{}))::value)) + std::integer_sequence{}))::value + ) + ) MDSPAN_INLINE_FUNCTION MDSPAN_CONDITIONAL_EXPLICIT((((Extents != dynamic_extent) && (OtherExtents == dynamic_extent)) || @@ -518,10 +538,14 @@ public: MDSPAN_INLINE_FUNCTION friend constexpr bool operator==(const extents &lhs, const extents &rhs) noexcept { - bool value = true; - for (size_type r = 0; r < m_rank; r++) - value &= rhs.extent(r) == lhs.extent(r); - return value; + if constexpr (rank() != extents::rank()) { + return false; + } else { + using common_t = std::common_type_t; + for (size_type r = 0; r < m_rank; r++) + if(static_cast(rhs.extent(r)) != static_cast(lhs.extent(r))) return false; + } + return true; } #if !(MDSPAN_HAS_CXX_20) @@ -570,7 +594,7 @@ using dextents = typename detail::__make_dextents::type; template extents(IndexTypes...) -> extents; + ((void) sizeof(IndexTypes), ::MDSPAN_IMPL_STANDARD_NAMESPACE::dynamic_extent)...>; #endif // Helper type traits for identifying a class as extents. diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_left.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_left.hpp index af44494a98..83ed9ef7fe 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_left.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_left.hpp @@ -18,6 +18,9 @@ #include "macros.hpp" #include "trait_backports.hpp" #include "extents.hpp" +#include "../__p2642_bits/layout_padded_fwd.hpp" +#include +#include namespace MDSPAN_IMPL_STANDARD_NAMESPACE { @@ -108,6 +111,36 @@ class layout_left::mapping { */ } +#if MDSPAN_HAS_CXX_17 + /** + * Converting constructor from `layout_left_padded::mapping`. + * + * This overload participates in overload resolution only if _Mapping is a layout_left_padded mapping and + * extents_type is constructible from _Mapping::extents_type. + * + * \note There is currently a difference from p2642r2, where this function is specified as taking + * `layout_left_padded< padding_value >::mapping< Extents>`. However, this makes `padding_value` non-deducible. + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Mapping, + /* requires */ ( + MDSPAN_IMPL_PROPOSED_NAMESPACE::detail::is_layout_left_padded_mapping<_Mapping>::value + && std::is_constructible_v + ) + ) + MDSPAN_CONDITIONAL_EXPLICIT((!std::is_convertible_v)) + mapping(const _Mapping& __other) noexcept + : __extents(__other.extents()) + { + MDSPAN_IMPL_PROPOSED_NAMESPACE::detail:: + check_padded_layout_converting_constructor_mandates(); + MDSPAN_IMPL_PROPOSED_NAMESPACE::detail:: + check_padded_layout_converting_constructor_preconditions< + extents_type>(__other); + } +#endif + MDSPAN_TEMPLATE_REQUIRES( class OtherExtents, /* requires */ ( @@ -124,13 +157,14 @@ class layout_left::mapping { * other.required_span_size() is a representable value of type index_type */ #if !defined(_MDSPAN_HAS_CUDA) && !defined(_MDSPAN_HAS_HIP) && !defined(NDEBUG) - index_type stride = 1; - for(rank_type r=0; r<__extents.rank(); r++) { - if(stride != static_cast(other.stride(r))) { - // Note this throw will lead to a terminate if triggered since this function is marked noexcept - throw std::runtime_error("Assigning layout_stride to layout_left with invalid strides."); + if constexpr (extents_type::rank() > 0) { + index_type stride = 1; + using common_t = std::common_type_t; + for(rank_type r=0; r<__extents.rank(); r++) { + if(static_cast(stride) != static_cast(other.stride(r))) + std::abort(); // ("Assigning layout_stride to layout_left with invalid strides."); + stride *= __extents.extent(r); } - stride *= __extents.extent(r); } #endif } @@ -155,10 +189,7 @@ class layout_left::mapping { class... Indices, /* requires */ ( (sizeof...(Indices) == extents_type::rank()) && - _MDSPAN_FOLD_AND( - (_MDSPAN_TRAIT(std::is_convertible, Indices, index_type) && - _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, Indices)) - ) + (detail::are_valid_indices()) ) ) _MDSPAN_HOST_DEVICE @@ -172,9 +203,9 @@ class layout_left::mapping { MDSPAN_INLINE_FUNCTION static constexpr bool is_always_exhaustive() noexcept { return true; } MDSPAN_INLINE_FUNCTION static constexpr bool is_always_strided() noexcept { return true; } - MDSPAN_INLINE_FUNCTION constexpr bool is_unique() const noexcept { return true; } - MDSPAN_INLINE_FUNCTION constexpr bool is_exhaustive() const noexcept { return true; } - MDSPAN_INLINE_FUNCTION constexpr bool is_strided() const noexcept { return true; } + MDSPAN_INLINE_FUNCTION static constexpr bool is_unique() noexcept { return true; } + MDSPAN_INLINE_FUNCTION static constexpr bool is_exhaustive() noexcept { return true; } + MDSPAN_INLINE_FUNCTION static constexpr bool is_strided() noexcept { return true; } MDSPAN_INLINE_FUNCTION constexpr index_type stride(rank_type i) const noexcept @@ -187,7 +218,10 @@ class layout_left::mapping { return value; } - template + MDSPAN_TEMPLATE_REQUIRES( + class OtherExtents, + /* requires */ ( Extents::rank() == OtherExtents::rank()) + ) MDSPAN_INLINE_FUNCTION friend constexpr bool operator==(mapping const& lhs, mapping const& rhs) noexcept { return lhs.extents() == rhs.extents(); @@ -195,7 +229,10 @@ class layout_left::mapping { // In C++ 20 the not equal exists if equal is found #if !(MDSPAN_HAS_CXX_20) - template + MDSPAN_TEMPLATE_REQUIRES( + class OtherExtents, + /* requires */ ( Extents::rank() == OtherExtents::rank()) + ) MDSPAN_INLINE_FUNCTION friend constexpr bool operator!=(mapping const& lhs, mapping const& rhs) noexcept { return lhs.extents() != rhs.extents(); @@ -215,6 +252,17 @@ class layout_left::mapping { private: _MDSPAN_NO_UNIQUE_ADDRESS extents_type __extents{}; + // [mdspan.submdspan.mapping], submdspan mapping specialization + template + MDSPAN_INLINE_FUNCTION + constexpr auto submdspan_mapping_impl( + SliceSpecifiers... slices) const; + + template + friend constexpr auto submdspan_mapping( + const mapping& src, SliceSpecifiers... slices) { + return src.submdspan_mapping_impl(slices...); + } }; diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_right.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_right.hpp index a058648420..3d3927df7b 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_right.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_right.hpp @@ -20,6 +20,7 @@ #include "extents.hpp" #include #include "layout_stride.hpp" +#include "../__p2642_bits/layout_padded_fwd.hpp" namespace MDSPAN_IMPL_STANDARD_NAMESPACE { @@ -113,6 +114,34 @@ class layout_right::mapping { */ } + /** + * Converting constructor from `layout_right_padded::mapping`. + * + * This overload participates in overload resolution only if _Mapping is a layout_right_padded mapping and + * extents_type is constructible from _Mapping::extents_type. + * + * \note There is currently a difference from p2642r2, where this function is specified as taking + * `layout_right_padded< padding_value >::mapping< Extents>`. However, this makes `padding_value` non-deducible. + */ +#if MDSPAN_HAS_CXX_17 + MDSPAN_TEMPLATE_REQUIRES( + class _Mapping, + /* requires */ ( + MDSPAN_IMPL_PROPOSED_NAMESPACE::detail::is_layout_right_padded_mapping<_Mapping>::value + && std::is_constructible_v)) + MDSPAN_CONDITIONAL_EXPLICIT((!std::is_convertible_v)) + mapping(const _Mapping &__other) noexcept + : __extents(__other.extents()) + { + MDSPAN_IMPL_PROPOSED_NAMESPACE::detail:: + check_padded_layout_converting_constructor_mandates(); + MDSPAN_IMPL_PROPOSED_NAMESPACE::detail:: + check_padded_layout_converting_constructor_preconditions< + extents_type>(__other); + } +#endif + MDSPAN_TEMPLATE_REQUIRES( class OtherExtents, /* requires */ ( @@ -129,13 +158,14 @@ class layout_right::mapping { * other.required_span_size() is a representable value of type index_type */ #if !defined(_MDSPAN_HAS_CUDA) && !defined(_MDSPAN_HAS_HIP) && !defined(NDEBUG) - index_type stride = 1; - for(rank_type r=__extents.rank(); r>0; r--) { - if(stride != static_cast(other.stride(r-1))) { - // Note this throw will lead to a terminate if triggered since this function is marked noexcept - throw std::runtime_error("Assigning layout_stride to layout_right with invalid strides."); + if constexpr (extents_type::rank() > 0) { + index_type stride = 1; + using common_t = std::common_type_t; + for(rank_type r=__extents.rank(); r>0; r--) { + if(static_cast(stride) != static_cast(other.stride(r-1))) + std::abort(); // ("Assigning layout_stride to layout_right with invalid strides."); + stride *= __extents.extent(r-1); } - stride *= __extents.extent(r-1); } #endif } @@ -157,13 +187,10 @@ class layout_right::mapping { //-------------------------------------------------------------------------------- MDSPAN_TEMPLATE_REQUIRES( - class... Indices, + class ... Indices, /* requires */ ( - (sizeof...(Indices) == extents_type::rank()) && - _MDSPAN_FOLD_AND( - (_MDSPAN_TRAIT(std::is_convertible, Indices, index_type) && - _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, Indices)) - ) + (sizeof...(Indices) == extents_type::rank()) && + (detail::are_valid_indices()) ) ) _MDSPAN_HOST_DEVICE @@ -174,9 +201,9 @@ class layout_right::mapping { MDSPAN_INLINE_FUNCTION static constexpr bool is_always_unique() noexcept { return true; } MDSPAN_INLINE_FUNCTION static constexpr bool is_always_exhaustive() noexcept { return true; } MDSPAN_INLINE_FUNCTION static constexpr bool is_always_strided() noexcept { return true; } - MDSPAN_INLINE_FUNCTION constexpr bool is_unique() const noexcept { return true; } - MDSPAN_INLINE_FUNCTION constexpr bool is_exhaustive() const noexcept { return true; } - MDSPAN_INLINE_FUNCTION constexpr bool is_strided() const noexcept { return true; } + MDSPAN_INLINE_FUNCTION static constexpr bool is_unique() noexcept { return true; } + MDSPAN_INLINE_FUNCTION static constexpr bool is_exhaustive() noexcept { return true; } + MDSPAN_INLINE_FUNCTION static constexpr bool is_strided() noexcept { return true; } MDSPAN_INLINE_FUNCTION constexpr index_type stride(rank_type i) const noexcept @@ -189,7 +216,10 @@ class layout_right::mapping { return value; } - template + MDSPAN_TEMPLATE_REQUIRES( + class OtherExtents, + /* requires */ ( Extents::rank() == OtherExtents::rank()) + ) MDSPAN_INLINE_FUNCTION friend constexpr bool operator==(mapping const& lhs, mapping const& rhs) noexcept { return lhs.extents() == rhs.extents(); @@ -197,7 +227,10 @@ class layout_right::mapping { // In C++ 20 the not equal exists if equal is found #if !(MDSPAN_HAS_CXX_20) - template + MDSPAN_TEMPLATE_REQUIRES( + class OtherExtents, + /* requires */ (Extents::rank() == OtherExtents::rank()) + ) MDSPAN_INLINE_FUNCTION friend constexpr bool operator!=(mapping const& lhs, mapping const& rhs) noexcept { return lhs.extents() != rhs.extents(); @@ -217,6 +250,17 @@ class layout_right::mapping { private: _MDSPAN_NO_UNIQUE_ADDRESS extents_type __extents{}; + // [mdspan.submdspan.mapping], submdspan mapping specialization + template + MDSPAN_INLINE_FUNCTION + constexpr auto submdspan_mapping_impl( + SliceSpecifiers... slices) const; + + template + friend constexpr auto submdspan_mapping( + const mapping& src, SliceSpecifiers... slices) { + return src.submdspan_mapping_impl(slices...); + } }; } // end namespace MDSPAN_IMPL_STANDARD_NAMESPACE diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_stride.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_stride.hpp index 030a494529..15ad577d14 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_stride.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/layout_stride.hpp @@ -88,7 +88,7 @@ struct layout_stride { : private detail::__no_unique_address_emulation< detail::__compressed_pair< Extents, - std::array + detail::possibly_empty_array > > #endif @@ -109,7 +109,7 @@ struct layout_stride { //---------------------------------------------------------------------------- - using __strides_storage_t = std::array; + using __strides_storage_t = detail::possibly_empty_array; using __member_pair_t = detail::__compressed_pair; #if defined(_MDSPAN_USE_ATTRIBUTE_NO_UNIQUE_ADDRESS) @@ -158,14 +158,16 @@ struct layout_stride { template MDSPAN_INLINE_FUNCTION static constexpr bool _eq_impl(mapping const& self, mapping const& other) noexcept { - return _MDSPAN_FOLD_AND((self.stride(Idxs) == other.stride(Idxs)) /* && ... */) - && _MDSPAN_FOLD_AND((self.extents().extent(Idxs) == other.extents().extent(Idxs)) /* || ... */); + using common_t = std::common_type_t; + return _MDSPAN_FOLD_AND((static_cast(self.stride(Idxs)) == static_cast(other.stride(Idxs))) /* && ... */) + && _MDSPAN_FOLD_AND((static_cast(self.extents().extent(Idxs)) == static_cast(other.extents().extent(Idxs))) /* || ... */); } template MDSPAN_INLINE_FUNCTION static constexpr bool _not_eq_impl(mapping const& self, mapping const& other) noexcept { - return _MDSPAN_FOLD_OR((self.stride(Idxs) != other.stride(Idxs)) /* || ... */) - || _MDSPAN_FOLD_OR((self.extents().extent(Idxs) != other.extents().extent(Idxs)) /* || ... */); + using common_t = std::common_type_t; + return _MDSPAN_FOLD_OR((static_cast(self.stride(Idxs)) != static_cast(other.stride(Idxs))) /* || ... */) + || _MDSPAN_FOLD_OR((static_cast(self.extents().extent(Idxs)) != static_cast(other.extents().extent(Idxs))) /* || ... */); } template @@ -205,6 +207,11 @@ struct layout_stride { } #endif + MDSPAN_INLINE_FUNCTION + static constexpr std::array return_strides(const __strides_storage_t& s) { + return std::array{s[Idxs]...}; + } + template MDSPAN_INLINE_FUNCTION static constexpr size_t __return_zero() { return 0; } @@ -218,6 +225,21 @@ struct layout_stride { // Can't use defaulted parameter in the __deduction_workaround template because of a bug in MSVC warning C4348. using __impl = __deduction_workaround>; + static constexpr __strides_storage_t strides_storage(std::true_type) { + __strides_storage_t s{}; + + extents_type e; + index_type stride = 1; + for(int r = static_cast(extents_type::rank() - 1); r >= 0; r--) { + s[r] = stride; + stride *= e.extent(r); + } + + return s; + } + static constexpr __strides_storage_t strides_storage(std::false_type) { + return {}; + } //---------------------------------------------------------------------------- @@ -233,7 +255,21 @@ struct layout_stride { //-------------------------------------------------------------------------------- - MDSPAN_INLINE_FUNCTION_DEFAULTED constexpr mapping() noexcept = default; + MDSPAN_INLINE_FUNCTION_DEFAULTED constexpr mapping() noexcept +#if defined(_MDSPAN_USE_ATTRIBUTE_NO_UNIQUE_ADDRESS) + : __members{ +#else + : __base_t(__base_t{__member_pair_t( +#endif + extents_type(), + __strides_storage_t(strides_storage(std::integral_constant 0)>{})) +#if defined(_MDSPAN_USE_ATTRIBUTE_NO_UNIQUE_ADDRESS) + } +#else + )}) +#endif + {} + MDSPAN_INLINE_FUNCTION_DEFAULTED constexpr mapping(mapping const&) noexcept = default; MDSPAN_TEMPLATE_REQUIRES( @@ -332,10 +368,10 @@ struct layout_stride { ) #endif MDSPAN_CONDITIONAL_EXPLICIT( - (!std::is_convertible::value) && - (detail::__is_mapping_of || - detail::__is_mapping_of || - detail::__is_mapping_of) + !(std::is_convertible::value && + (detail::__is_mapping_of || + detail::__is_mapping_of || + detail::__is_mapping_of)) ) // needs two () due to comma MDSPAN_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 mapping(StridedLayoutMapping const& other) noexcept // NOLINT(google-explicit-constructor) @@ -374,7 +410,7 @@ struct layout_stride { MDSPAN_INLINE_FUNCTION constexpr std::array< index_type, extents_type::rank() > strides() const noexcept { - return __strides_storage(); + return __impl::return_strides(__strides_storage()); } MDSPAN_INLINE_FUNCTION @@ -393,8 +429,7 @@ struct layout_stride { class... Indices, /* requires */ ( sizeof...(Indices) == Extents::rank() && - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT(std::is_convertible, Indices, index_type) /*&& ...*/ ) && - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, Indices) /*&& ...*/) + (detail::are_valid_indices()) ) ) MDSPAN_FORCE_INLINE_FUNCTION @@ -410,17 +445,37 @@ struct layout_stride { MDSPAN_INLINE_FUNCTION static constexpr bool is_unique() noexcept { return true; } MDSPAN_INLINE_FUNCTION _MDSPAN_CONSTEXPR_14 bool is_exhaustive() const noexcept { - return required_span_size() == __get_size(extents(), std::make_index_sequence()); + if constexpr (extents_type::rank() == 0) + return true; + else { + index_type span_size = required_span_size(); + if (span_size == static_cast(0)) { + if constexpr (extents_type::rank() == 1) { + return stride(0) == 1; + } else { + rank_type r_largest = 0; + for (rank_type r = 1; r < extents_type::rank(); r++) { + if (stride(r) > stride(r_largest)) { + r_largest = r; + } + } + for (rank_type r = 0; r < extents_type::rank(); r++) { + if (extents().extent(r) == 0 && r != r_largest) { + return false; + } + } + return true; + } + } else { + return required_span_size() == __get_size(extents(), std::make_index_sequence()); + } + } } MDSPAN_INLINE_FUNCTION static constexpr bool is_strided() noexcept { return true; } MDSPAN_INLINE_FUNCTION - constexpr index_type stride(rank_type r) const noexcept -#if MDSPAN_HAS_CXX_20 - requires ( Extents::rank() > 0 ) -#endif - { + constexpr index_type stride(rank_type r) const noexcept { return __strides_storage()[r]; } @@ -444,10 +499,13 @@ struct layout_stride { MDSPAN_INLINE_FUNCTION friend constexpr bool operator==(const mapping& x, const StridedLayoutMapping& y) noexcept { bool strides_match = true; - for(rank_type r = 0; r < extents_type::rank(); r++) - strides_match = strides_match && (x.stride(r) == y.stride(r)); + if constexpr (extents_type::rank() > 0) { + using common_t = std::common_type_t; + for(rank_type r = 0; r < extents_type::rank(); r++) + strides_match = strides_match && (static_cast(x.stride(r)) == static_cast(y.stride(r))); + } return (x.extents() == y.extents()) && - (__impl::__OFFSET(y)== static_cast(0)) && + (__impl::__OFFSET(y) == static_cast(0)) && strides_match; } @@ -489,6 +547,17 @@ struct layout_stride { } #endif + // [mdspan.submdspan.mapping], submdspan mapping specialization + template + MDSPAN_INLINE_FUNCTION + constexpr auto submdspan_mapping_impl( + SliceSpecifiers... slices) const; + + template + friend constexpr auto submdspan_mapping( + const mapping& src, SliceSpecifiers... slices) { + return src.submdspan_mapping_impl(slices...); + } }; }; diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/mdspan.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/mdspan.hpp index 6febe30021..d6ec49e65b 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/mdspan.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p0009_bits/mdspan.hpp @@ -55,6 +55,13 @@ private: ReferenceType __callop(mdspan const& __self, const std::array& indices) noexcept { return __self.__accessor_ref().access(__self.__ptr_ref(), __self.__mapping_ref()(indices[Idxs]...)); } +#ifdef __cpp_lib_span + template + MDSPAN_FORCE_INLINE_FUNCTION static constexpr + ReferenceType __callop(mdspan const& __self, const std::span& indices) noexcept { + return __self.__accessor_ref().access(__self.__ptr_ref(), __self.__mapping_ref()(indices[Idxs]...)); + } +#endif }; public: @@ -109,9 +116,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class... SizeTypes, /* requires */ ( - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT(std::is_convertible, SizeTypes, index_type) /* && ... */) && - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, SizeTypes) /* && ... */) && ((sizeof...(SizeTypes) == rank()) || (sizeof...(SizeTypes) == rank_dynamic())) && + (detail::are_valid_indices()) && _MDSPAN_TRAIT(std::is_constructible, mapping_type, extents_type) && _MDSPAN_TRAIT(std::is_default_constructible, accessor_type) ) @@ -125,8 +131,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class SizeType, size_t N, /* requires */ ( - _MDSPAN_TRAIT(std::is_convertible, SizeType, index_type) && - _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, SizeType) && + _MDSPAN_TRAIT(std::is_convertible, const SizeType&, index_type) && + _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, const SizeType&) && ((N == rank()) || (N == rank_dynamic())) && _MDSPAN_TRAIT(std::is_constructible, mapping_type, extents_type) && _MDSPAN_TRAIT(std::is_default_constructible, accessor_type) @@ -142,8 +148,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class SizeType, size_t N, /* requires */ ( - _MDSPAN_TRAIT(std::is_convertible, SizeType, index_type) && - _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, SizeType) && + _MDSPAN_TRAIT(std::is_convertible, const SizeType&, index_type) && + _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, const SizeType&) && ((N == rank()) || (N == rank_dynamic())) && _MDSPAN_TRAIT(std::is_constructible, mapping_type, extents_type) && _MDSPAN_TRAIT(std::is_default_constructible, accessor_type) @@ -160,7 +166,7 @@ public: (MDSPAN_INLINE_FUNCTION constexpr), mdspan, (data_handle_type p, const extents_type& exts), , /* requires */ (_MDSPAN_TRAIT(std::is_default_constructible, accessor_type) && - _MDSPAN_TRAIT(std::is_constructible, mapping_type, extents_type)) + _MDSPAN_TRAIT(std::is_constructible, mapping_type, const extents_type&)) ) : __members(std::move(p), __map_acc_pair_t(mapping_type(exts), accessor_type())) { } @@ -179,10 +185,14 @@ public: MDSPAN_TEMPLATE_REQUIRES( class OtherElementType, class OtherExtents, class OtherLayoutPolicy, class OtherAccessor, /* requires */ ( - _MDSPAN_TRAIT(std::is_constructible, mapping_type, typename OtherLayoutPolicy::template mapping) && - _MDSPAN_TRAIT(std::is_constructible, accessor_type, OtherAccessor) + _MDSPAN_TRAIT(std::is_constructible, mapping_type, const typename OtherLayoutPolicy::template mapping&) && + _MDSPAN_TRAIT(std::is_constructible, accessor_type, const OtherAccessor&) ) ) + MDSPAN_CONDITIONAL_EXPLICIT( + !_MDSPAN_TRAIT(std::is_convertible, const typename OtherLayoutPolicy::template mapping&, mapping_type) || + !_MDSPAN_TRAIT(std::is_convertible, const OtherAccessor&, accessor_type) + ) MDSPAN_INLINE_FUNCTION constexpr mdspan(const mdspan& other) : __members(other.__ptr_ref(), __map_acc_pair_t(other.__mapping_ref(), other.__accessor_ref())) @@ -226,8 +236,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class SizeType, /* requires */ ( - _MDSPAN_TRAIT(std::is_convertible, SizeType, index_type) && - _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, SizeType) + _MDSPAN_TRAIT(std::is_convertible, const SizeType&, index_type) && + _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, const SizeType&) ) ) MDSPAN_FORCE_INLINE_FUNCTION @@ -240,8 +250,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class SizeType, /* requires */ ( - _MDSPAN_TRAIT(std::is_convertible, SizeType, index_type) && - _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, SizeType) + _MDSPAN_TRAIT(std::is_convertible, const SizeType&, index_type) && + _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, const SizeType&) ) ) MDSPAN_FORCE_INLINE_FUNCTION @@ -271,9 +281,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class... SizeTypes, /* requires */ ( - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT(std::is_convertible, SizeTypes, index_type) /* && ... */) && - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, SizeTypes) /* && ... */) && - extents_type::rank() == sizeof...(SizeTypes) + extents_type::rank() == sizeof...(SizeTypes) && + (detail::are_valid_indices()) ) ) MDSPAN_FORCE_INLINE_FUNCTION @@ -285,8 +294,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class SizeType, /* requires */ ( - _MDSPAN_TRAIT(std::is_convertible, SizeType, index_type) && - _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, SizeType) + _MDSPAN_TRAIT(std::is_convertible, const SizeType&, index_type) && + _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, const SizeType&) ) ) MDSPAN_FORCE_INLINE_FUNCTION @@ -299,8 +308,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class SizeType, /* requires */ ( - _MDSPAN_TRAIT(std::is_convertible, SizeType, index_type) && - _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, SizeType) + _MDSPAN_TRAIT(std::is_convertible, const SizeType&, index_type) && + _MDSPAN_TRAIT(std::is_nothrow_constructible, index_type, const SizeType&) ) ) MDSPAN_FORCE_INLINE_FUNCTION @@ -311,7 +320,7 @@ public: #endif // __cpp_lib_span #endif // MDSPAN_USE_PAREN_OPERATOR - MDSPAN_INLINE_FUNCTION constexpr size_t size() const noexcept { + MDSPAN_INLINE_FUNCTION constexpr size_type size() const noexcept { return __impl::__size(*this); }; @@ -346,13 +355,13 @@ public: //-------------------------------------------------------------------------------- // [mdspan.basic.obs], mdspan observers of the mapping - MDSPAN_INLINE_FUNCTION static constexpr bool is_always_unique() noexcept { return mapping_type::is_always_unique(); }; - MDSPAN_INLINE_FUNCTION static constexpr bool is_always_exhaustive() noexcept { return mapping_type::is_always_exhaustive(); }; - MDSPAN_INLINE_FUNCTION static constexpr bool is_always_strided() noexcept { return mapping_type::is_always_strided(); }; + MDSPAN_INLINE_FUNCTION static constexpr bool is_always_unique() { return mapping_type::is_always_unique(); }; + MDSPAN_INLINE_FUNCTION static constexpr bool is_always_exhaustive() { return mapping_type::is_always_exhaustive(); }; + MDSPAN_INLINE_FUNCTION static constexpr bool is_always_strided() { return mapping_type::is_always_strided(); }; - MDSPAN_INLINE_FUNCTION constexpr bool is_unique() const noexcept { return __mapping_ref().is_unique(); }; - MDSPAN_INLINE_FUNCTION constexpr bool is_exhaustive() const noexcept { return __mapping_ref().is_exhaustive(); }; - MDSPAN_INLINE_FUNCTION constexpr bool is_strided() const noexcept { return __mapping_ref().is_strided(); }; + MDSPAN_INLINE_FUNCTION constexpr bool is_unique() const { return __mapping_ref().is_unique(); }; + MDSPAN_INLINE_FUNCTION constexpr bool is_exhaustive() const { return __mapping_ref().is_exhaustive(); }; + MDSPAN_INLINE_FUNCTION constexpr bool is_strided() const { return __mapping_ref().is_strided(); }; MDSPAN_INLINE_FUNCTION constexpr index_type stride(size_t r) const { return __mapping_ref().stride(r); }; private: @@ -374,7 +383,7 @@ private: #if defined(_MDSPAN_USE_CLASS_TEMPLATE_ARGUMENT_DEDUCTION) MDSPAN_TEMPLATE_REQUIRES( class ElementType, class... SizeTypes, - /* requires */ _MDSPAN_FOLD_AND(_MDSPAN_TRAIT(std::is_integral, SizeTypes) /* && ... */) && + /* requires */ _MDSPAN_FOLD_AND(_MDSPAN_TRAIT(std::is_convertible, SizeTypes, size_t) /* && ... */) && (sizeof...(SizeTypes) > 0) ) MDSPAN_DEDUCTION_GUIDE explicit mdspan(ElementType*, SizeTypes...) diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p1684_bits/mdarray.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p1684_bits/mdarray.hpp index 3950273a83..bdc5925f71 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p1684_bits/mdarray.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p1684_bits/mdarray.hpp @@ -103,8 +103,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class... SizeTypes, /* requires */ ( - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT( std::is_convertible, SizeTypes, index_type) /* && ... */) && - _MDSPAN_TRAIT( std::is_constructible, extents_type, SizeTypes...) && + (::MDSPAN_IMPL_STANDARD_NAMESPACE::detail::are_valid_indices()) && + _MDSPAN_TRAIT( std::is_constructible, extents_type, SizeTypes...) && _MDSPAN_TRAIT( std::is_constructible, mapping_type, extents_type) && (_MDSPAN_TRAIT( std::is_constructible, container_type, size_t) || container_is_array::value) && @@ -133,61 +133,29 @@ public: ) : map_(m), ctr_(container_is_array::construct(map_)) { } - // Constructors from container - MDSPAN_TEMPLATE_REQUIRES( - class... SizeTypes, - /* requires */ ( - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT( std::is_convertible, SizeTypes, index_type) /* && ... */) && - _MDSPAN_TRAIT( std::is_constructible, extents_type, SizeTypes...) && - _MDSPAN_TRAIT( std::is_constructible, mapping_type, extents_type) - ) - ) - MDSPAN_INLINE_FUNCTION - explicit constexpr mdarray(const container_type& ctr, SizeTypes... dynamic_extents) - : map_(extents_type(dynamic_extents...)), ctr_(ctr) - { assert(ctr.size() >= static_cast(map_.required_span_size())); } - - MDSPAN_FUNCTION_REQUIRES( (MDSPAN_INLINE_FUNCTION constexpr), - mdarray, (const container_type& ctr, const extents_type& exts), , + mdarray, (const extents_type& exts, const container_type& ctr), , /* requires */ (_MDSPAN_TRAIT( std::is_constructible, mapping_type, extents_type)) ) : map_(exts), ctr_(ctr) { assert(ctr.size() >= static_cast(map_.required_span_size())); } - constexpr mdarray(const container_type& ctr, const mapping_type& m) + constexpr mdarray(const mapping_type& m, const container_type& ctr) : map_(m), ctr_(ctr) { assert(ctr.size() >= static_cast(map_.required_span_size())); } - - // Constructors from container - MDSPAN_TEMPLATE_REQUIRES( - class... SizeTypes, - /* requires */ ( - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT( std::is_convertible, SizeTypes, index_type) /* && ... */) && - _MDSPAN_TRAIT( std::is_constructible, extents_type, SizeTypes...) && - _MDSPAN_TRAIT( std::is_constructible, mapping_type, extents_type) - ) - ) - MDSPAN_INLINE_FUNCTION - explicit constexpr mdarray(container_type&& ctr, SizeTypes... dynamic_extents) - : map_(extents_type(dynamic_extents...)), ctr_(std::move(ctr)) - { assert(ctr_.size() >= static_cast(map_.required_span_size())); } - - MDSPAN_FUNCTION_REQUIRES( (MDSPAN_INLINE_FUNCTION constexpr), - mdarray, (container_type&& ctr, const extents_type& exts), , + mdarray, (const extents_type& exts, container_type&& ctr), , /* requires */ (_MDSPAN_TRAIT( std::is_constructible, mapping_type, extents_type)) ) : map_(exts), ctr_(std::move(ctr)) { assert(ctr_.size() >= static_cast(map_.required_span_size())); } - constexpr mdarray(container_type&& ctr, const mapping_type& m) + constexpr mdarray(const mapping_type& m, container_type&& ctr) : map_(m), ctr_(std::move(ctr)) { assert(ctr_.size() >= static_cast(map_.required_span_size())); } - MDSPAN_TEMPLATE_REQUIRES( class OtherElementType, class OtherExtents, class OtherLayoutPolicy, class OtherContainer, /* requires */ ( @@ -229,7 +197,7 @@ public: _MDSPAN_TRAIT( std::is_constructible, mapping_type, extents_type)) ) MDSPAN_INLINE_FUNCTION - constexpr mdarray(const container_type& ctr, const extents_type& exts, const Alloc& a) + constexpr mdarray(const extents_type& exts, const container_type& ctr, const Alloc& a) : map_(exts), ctr_(ctr, a) { assert(ctr_.size() >= static_cast(map_.required_span_size())); } @@ -238,7 +206,7 @@ public: /* requires */ (_MDSPAN_TRAIT( std::is_constructible, container_type, size_t, Alloc)) ) MDSPAN_INLINE_FUNCTION - constexpr mdarray(const container_type& ctr, const mapping_type& map, const Alloc& a) + constexpr mdarray(const mapping_type& map, const container_type& ctr, const Alloc& a) : map_(map), ctr_(ctr, a) { assert(ctr_.size() >= static_cast(map_.required_span_size())); } @@ -248,7 +216,7 @@ public: _MDSPAN_TRAIT( std::is_constructible, mapping_type, extents_type)) ) MDSPAN_INLINE_FUNCTION - constexpr mdarray(container_type&& ctr, const extents_type& exts, const Alloc& a) + constexpr mdarray(const extents_type& exts, container_type&& ctr, const Alloc& a) : map_(exts), ctr_(std::move(ctr), a) { assert(ctr_.size() >= static_cast(map_.required_span_size())); } @@ -257,7 +225,7 @@ public: /* requires */ (_MDSPAN_TRAIT( std::is_constructible, container_type, size_t, Alloc)) ) MDSPAN_INLINE_FUNCTION - constexpr mdarray(container_type&& ctr, const mapping_type& map, const Alloc& a) + constexpr mdarray(const mapping_type& map, container_type&& ctr, const Alloc& a) : map_(map), ctr_(std::move(ctr), a) { assert(ctr_.size() >= map_.required_span_size()); } @@ -344,8 +312,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class... SizeTypes, /* requires */ ( - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT( std::is_convertible, SizeTypes, index_type) /* && ... */) && - extents_type::rank() == sizeof...(SizeTypes) + (::MDSPAN_IMPL_STANDARD_NAMESPACE::detail::are_valid_indices()) && + extents_type::rank() == sizeof...(SizeTypes) ) ) MDSPAN_FORCE_INLINE_FUNCTION @@ -356,8 +324,8 @@ public: MDSPAN_TEMPLATE_REQUIRES( class... SizeTypes, /* requires */ ( - _MDSPAN_FOLD_AND(_MDSPAN_TRAIT( std::is_convertible, SizeTypes, index_type) /* && ... */) && - extents_type::rank() == sizeof...(SizeTypes) + (::MDSPAN_IMPL_STANDARD_NAMESPACE::detail::are_valid_indices()) && + extents_type::rank() == sizeof...(SizeTypes) ) ) MDSPAN_FORCE_INLINE_FUNCTION @@ -433,8 +401,9 @@ public: class OtherElementType, class OtherExtents, class OtherLayoutType, class OtherAccessorType, /* requires */ ( - _MDSPAN_TRAIT(std::is_assignable, mdspan_type, - mdspan) + _MDSPAN_TRAIT(std::is_assignable, + mdspan, + mdspan_type) ) ) constexpr operator mdspan () { @@ -445,8 +414,9 @@ public: class OtherElementType, class OtherExtents, class OtherLayoutType, class OtherAccessorType, /* requires */ ( - _MDSPAN_TRAIT(std::is_assignable, const_mdspan_type, - mdspan) + _MDSPAN_TRAIT(std::is_assignable, + mdspan, + const_mdspan_type) ) ) constexpr operator mdspan () const { diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/strided_slice.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/strided_slice.hpp index 58f38620ba..89ba8202fb 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/strided_slice.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/strided_slice.hpp @@ -20,7 +20,6 @@ #include namespace MDSPAN_IMPL_STANDARD_NAMESPACE { -namespace MDSPAN_IMPL_PROPOSED_NAMESPACE { namespace { template @@ -29,6 +28,7 @@ namespace { template struct __mdspan_is_integral_constant>: std::true_type {}; } + // Slice Specifier allowing for strides and compile time extent template struct strided_slice { @@ -36,14 +36,13 @@ struct strided_slice { using extent_type = ExtentType; using stride_type = StrideType; - OffsetType offset; - ExtentType extent; - StrideType stride; + _MDSPAN_NO_UNIQUE_ADDRESS OffsetType offset{}; + _MDSPAN_NO_UNIQUE_ADDRESS ExtentType extent{}; + _MDSPAN_NO_UNIQUE_ADDRESS StrideType stride{}; static_assert(std::is_integral_v || __mdspan_is_integral_constant::value); static_assert(std::is_integral_v || __mdspan_is_integral_constant::value); static_assert(std::is_integral_v || __mdspan_is_integral_constant::value); }; -} // MDSPAN_IMPL_PROPOSED_NAMESPACE } // MDSPAN_IMPL_STANDARD_NAMESPACE diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan.hpp index b9672b7f9a..abddd0b59d 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan.hpp @@ -20,23 +20,21 @@ #include "submdspan_mapping.hpp" namespace MDSPAN_IMPL_STANDARD_NAMESPACE { -namespace MDSPAN_IMPL_PROPOSED_NAMESPACE { template MDSPAN_INLINE_FUNCTION constexpr auto submdspan(const mdspan &src, SliceSpecifiers... slices) { - const auto sub_mapping_offset = submdspan_mapping(src.mapping(), slices...); + const auto sub_submdspan_mapping_result = submdspan_mapping(src.mapping(), slices...); // NVCC has a problem with the deduction so lets figure out the type - using sub_mapping_t = std::remove_cv_t; + using sub_mapping_t = std::remove_cv_t; using sub_extents_t = typename sub_mapping_t::extents_type; using sub_layout_t = typename sub_mapping_t::layout_type; using sub_accessor_t = typename AccessorPolicy::offset_policy; return mdspan( - src.accessor().offset(src.data_handle(), sub_mapping_offset.offset), - sub_mapping_offset.mapping, + src.accessor().offset(src.data_handle(), sub_submdspan_mapping_result.offset), + sub_submdspan_mapping_result.mapping, sub_accessor_t(src.accessor())); } -} // namespace MDSPAN_IMPL_PROPOSED_NAMESPACE } // namespace MDSPAN_IMPL_STANDARD_NAMESPACE diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan_extents.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan_extents.hpp index f56ce023f1..c3b2f78fb9 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan_extents.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan_extents.hpp @@ -20,7 +20,6 @@ #include "strided_slice.hpp" namespace MDSPAN_IMPL_STANDARD_NAMESPACE { -namespace MDSPAN_IMPL_PROPOSED_NAMESPACE { namespace detail { // Mapping from submapping ranks to srcmapping ranks @@ -319,5 +318,4 @@ constexpr auto submdspan_extents(const extents &src_exts, return detail::extents_constructor::next_extent( src_exts, slices...); } -} // namespace MDSPAN_IMPL_PROPOSED_NAMESPACE } // namespace MDSPAN_IMPL_STANDARD_NAMESPACE diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan_mapping.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan_mapping.hpp index 48778d57e7..ca6948c9a9 100644 --- a/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan_mapping.hpp +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p2630_bits/submdspan_mapping.hpp @@ -22,21 +22,15 @@ #include // index_sequence namespace MDSPAN_IMPL_STANDARD_NAMESPACE { -namespace MDSPAN_IMPL_PROPOSED_NAMESPACE { //****************************************** // Return type of submdspan_mapping overloads //****************************************** -template struct mapping_offset { - Mapping mapping; +template struct submdspan_mapping_result { + _MDSPAN_NO_UNIQUE_ADDRESS LayoutMapping mapping{}; size_t offset; }; -} // namespace MDSPAN_IMPL_PROPOSED_NAMESPACE namespace detail { -using MDSPAN_IMPL_PROPOSED_NAMESPACE::detail::first_of; -using MDSPAN_IMPL_PROPOSED_NAMESPACE::detail::stride_of; -using MDSPAN_IMPL_PROPOSED_NAMESPACE::detail::inv_map_rank; - // constructs sub strides template MDSPAN_INLINE_FUNCTION @@ -98,17 +92,15 @@ struct preserve_layout_left_mapping, SubRank, #pragma diag_suppress = implicit_return_from_non_void_function #endif // Actual submdspan mapping call -template +template +template MDSPAN_INLINE_FUNCTION constexpr auto -submdspan_mapping(const layout_left::mapping &src_mapping, - SliceSpecifiers... slices) { - using MDSPAN_IMPL_PROPOSED_NAMESPACE::submdspan_extents; - using MDSPAN_IMPL_PROPOSED_NAMESPACE::mapping_offset; +layout_left::mapping::submdspan_mapping_impl(SliceSpecifiers... slices) const { // compute sub extents using src_ext_t = Extents; - auto dst_ext = submdspan_extents(src_mapping.extents(), slices...); + auto dst_ext = submdspan_extents(extents(), slices...); using dst_ext_t = decltype(dst_ext); // figure out sub layout type @@ -121,18 +113,18 @@ submdspan_mapping(const layout_left::mapping &src_mapping, if constexpr (std::is_same_v) { // layout_left case - return mapping_offset{ + return submdspan_mapping_result{ dst_mapping_t(dst_ext), - static_cast(src_mapping(detail::first_of(slices)...))}; + static_cast(this->operator()(detail::first_of(slices)...))}; } else { // layout_stride case auto inv_map = detail::inv_map_rank( std::integral_constant(), std::index_sequence<>(), slices...); - return mapping_offset{ + return submdspan_mapping_result{ dst_mapping_t(dst_ext, detail::construct_sub_strides( - src_mapping, inv_map, + *this, inv_map, // HIP needs deduction guides to have markups so we need to be explicit // NVCC 11.0 has a bug with deduction guide here, tested that 11.2 does not have the issue #if defined(_MDSPAN_HAS_HIP) || (defined(__NVCC__) && (__CUDACC_VER_MAJOR__ * 100 + __CUDACC_VER_MINOR__ * 10) < 1120) @@ -140,7 +132,7 @@ submdspan_mapping(const layout_left::mapping &src_mapping, #else std::tuple{detail::stride_of(slices)...})), #endif - static_cast(src_mapping(detail::first_of(slices)...))}; + static_cast(this->operator()(detail::first_of(slices)...))}; } #if defined(__NVCC__) && !defined(__CUDA_ARCH__) && defined(__GNUC__) __builtin_unreachable(); @@ -207,17 +199,15 @@ struct preserve_layout_right_mapping, SubRank, #pragma diagnostic push #pragma diag_suppress = implicit_return_from_non_void_function #endif -template +template +template MDSPAN_INLINE_FUNCTION constexpr auto -submdspan_mapping(const layout_right::mapping &src_mapping, - SliceSpecifiers... slices) { - using MDSPAN_IMPL_PROPOSED_NAMESPACE::submdspan_extents; - using MDSPAN_IMPL_PROPOSED_NAMESPACE::mapping_offset; - +layout_right::mapping::submdspan_mapping_impl( + SliceSpecifiers... slices) const { // get sub extents using src_ext_t = Extents; - auto dst_ext = submdspan_extents(src_mapping.extents(), slices...); + auto dst_ext = submdspan_extents(extents(), slices...); using dst_ext_t = decltype(dst_ext); // determine new layout type @@ -230,18 +220,18 @@ submdspan_mapping(const layout_right::mapping &src_mapping, if constexpr (std::is_same_v) { // layout_right case - return mapping_offset{ + return submdspan_mapping_result{ dst_mapping_t(dst_ext), - static_cast(src_mapping(detail::first_of(slices)...))}; + static_cast(this->operator()(detail::first_of(slices)...))}; } else { // layout_stride case auto inv_map = detail::inv_map_rank( std::integral_constant(), std::index_sequence<>(), slices...); - return mapping_offset{ + return submdspan_mapping_result{ dst_mapping_t(dst_ext, detail::construct_sub_strides( - src_mapping, inv_map, + *this, inv_map, // HIP needs deduction guides to have markups so we need to be explicit // NVCC 11.0 has a bug with deduction guide here, tested that 11.2 does not have the issue #if defined(_MDSPAN_HAS_HIP) || (defined(__NVCC__) && (__CUDACC_VER_MAJOR__ * 100 + __CUDACC_VER_MINOR__ * 10) < 1120) @@ -249,7 +239,7 @@ submdspan_mapping(const layout_right::mapping &src_mapping, #else std::tuple{detail::stride_of(slices)...})), #endif - static_cast(src_mapping(detail::first_of(slices)...))}; + static_cast(this->operator()(detail::first_of(slices)...))}; } #if defined(__NVCC__) && !defined(__CUDA_ARCH__) && defined(__GNUC__) __builtin_unreachable(); @@ -270,23 +260,22 @@ submdspan_mapping(const layout_right::mapping &src_mapping, //********************************** // layout_stride submdspan_mapping //********************************* -template +template +template MDSPAN_INLINE_FUNCTION constexpr auto -submdspan_mapping(const layout_stride::mapping &src_mapping, - SliceSpecifiers... slices) { - using MDSPAN_IMPL_PROPOSED_NAMESPACE::submdspan_extents; - using MDSPAN_IMPL_PROPOSED_NAMESPACE::mapping_offset; - auto dst_ext = submdspan_extents(src_mapping.extents(), slices...); +layout_stride::mapping::submdspan_mapping_impl( + SliceSpecifiers... slices) const { + auto dst_ext = submdspan_extents(extents(), slices...); using dst_ext_t = decltype(dst_ext); auto inv_map = detail::inv_map_rank( std::integral_constant(), std::index_sequence<>(), slices...); using dst_mapping_t = typename layout_stride::template mapping; - return mapping_offset{ + return submdspan_mapping_result{ dst_mapping_t(dst_ext, detail::construct_sub_strides( - src_mapping, inv_map, + *this, inv_map, // HIP needs deduction guides to have markups so we need to be explicit // NVCC 11.0 has a bug with deduction guide here, tested that 11.2 does not have the issue #if defined(_MDSPAN_HAS_HIP) || (defined(__NVCC__) && (__CUDACC_VER_MAJOR__ * 100 + __CUDACC_VER_MINOR__ * 10) < 1120) @@ -294,6 +283,7 @@ submdspan_mapping(const layout_stride::mapping &src_mapping, #else std::tuple(detail::stride_of(slices)...))), #endif - static_cast(src_mapping(detail::first_of(slices)...))}; + static_cast(this->operator()(detail::first_of(slices)...))}; } + } // namespace MDSPAN_IMPL_STANDARD_NAMESPACE diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p2642_bits/layout_padded.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p2642_bits/layout_padded.hpp new file mode 100644 index 0000000000..a801486792 --- /dev/null +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p2642_bits/layout_padded.hpp @@ -0,0 +1,793 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER +#pragma once + +#include +#include "layout_padded_fwd.hpp" +#include "../__p0009_bits/dynamic_extent.hpp" +#include "../__p0009_bits/extents.hpp" +#include "../__p0009_bits/mdspan.hpp" +#include "../__p0009_bits/layout_left.hpp" +#include "../__p0009_bits/layout_right.hpp" +#include "../__p0009_bits/layout_stride.hpp" + +namespace MDSPAN_IMPL_STANDARD_NAMESPACE { +namespace MDSPAN_IMPL_PROPOSED_NAMESPACE { + +namespace detail { +template +MDSPAN_INLINE_FUNCTION +constexpr _T +find_next_multiple(_T alignment, _T offset) +{ + if ( alignment == 0 ) { + return _T(0); + } else { + return ( ( offset + alignment - 1 ) / alignment) * alignment; + } +} + +template +MDSPAN_INLINE_FUNCTION constexpr size_t get_actual_static_padding_value() { + constexpr auto rank = _ExtentsType::rank(); + + if constexpr (rank <= typename _ExtentsType::rank_type(1)) { + return 0; + } else if constexpr (_PaddingValue != dynamic_extent && + _ExtentsType::static_extent(_ExtentToPadIdx) != + dynamic_extent) { + static_assert( + (_PaddingValue != 0) || + (_ExtentsType::static_extent(_ExtentToPadIdx) == 0), + "padding stride can be 0 only if " + "extents_type::static_extent(extent-to-pad) is 0 or dynamic_extent"); + return find_next_multiple(_PaddingValue, + _ExtentsType::static_extent(_ExtentToPadIdx)); + } else { + return dynamic_extent; + } +} + +template +struct static_array_type_for_padded_extent +{ + static constexpr size_t padding_value = _PaddingValue; + using index_type = typename _Extents::index_type; + using extents_type = _Extents; + using type = ::MDSPAN_IMPL_STANDARD_NAMESPACE::detail::maybe_static_array< + index_type, size_t, dynamic_extent, + detail::get_actual_static_padding_value()>; +}; + +template +struct static_array_type_for_padded_extent<_PaddingValue, _Extents, + _ExtentToPadIdx, Rank, std::enable_if_t> { + using index_type = typename _Extents::index_type; + using extents_type = _Extents; + using type = + ::MDSPAN_IMPL_STANDARD_NAMESPACE::detail::maybe_static_array< + index_type, size_t, dynamic_extent, 0>; +}; + +template +struct padded_extent { + static constexpr size_t padding_value = _PaddingValue; + using index_type = typename _Extents::index_type; + using extents_type = _Extents; + using static_array_type = typename static_array_type_for_padded_extent< + padding_value, _Extents, _ExtentToPadIdx, _Extents::rank()>::type; + + static constexpr auto static_value() { return static_array_type::static_value(0); } + + MDSPAN_INLINE_FUNCTION + static constexpr static_array_type + init_padding(const _Extents &exts) { + if constexpr ((_Extents::rank() > 1) && (padding_value == dynamic_extent)) { + return {exts.extent(_ExtentToPadIdx)}; + } else { + return init_padding(exts, padding_value); + } + } + + MDSPAN_INLINE_FUNCTION static constexpr static_array_type + init_padding([[maybe_unused]] const _Extents &exts, + [[maybe_unused]] index_type pv) { + if constexpr (_Extents::rank() > 1) { + return {find_next_multiple(pv, + exts.extent(_ExtentToPadIdx))}; + } else { + return {}; + } + } + + template + MDSPAN_INLINE_FUNCTION static constexpr static_array_type + init_padding([[maybe_unused]] const _Mapping &other_mapping, + std::integral_constant) { + if constexpr (_Extents::rank() > 1) { + return {other_mapping.stride(_PaddingStrideIdx)}; + } else { + return {}; + } + } +}; +} // namespace detail + +template +template +class layout_left_padded::mapping { +public: + static constexpr size_t padding_value = PaddingValue; + + using extents_type = Extents; + using index_type = typename extents_type::index_type; + using size_type = typename extents_type::size_type; + using rank_type = typename extents_type::rank_type; + using layout_type = layout_left_padded; + +#ifndef MDSPAN_INTERNAL_TEST +private: +#endif // MDSPAN_INTERNAL_TEST + + static constexpr rank_type padded_stride_idx = detail::layout_padded_constants::padded_stride_idx; + static constexpr rank_type extent_to_pad_idx = detail::layout_padded_constants::extent_to_pad_idx; + + static_assert((padding_value != 0) + || (extents_type::static_extent(extent_to_pad_idx) == 0) + || (extents_type::static_extent(extent_to_pad_idx) == dynamic_extent), + "out of bounds access for rank 0"); + + using padded_stride_type = detail::padded_extent< padding_value, extents_type, extent_to_pad_idx >; + + static constexpr size_t static_padding_stride = padded_stride_type::static_value(); + + typename padded_stride_type::static_array_type padded_stride = {}; + extents_type exts = {}; + + constexpr index_type compute_offset(std::index_sequence<>) const { + return 0; + } + + template + constexpr index_type compute_offset(std::index_sequence, + IndexOffset index_offset) const { + return index_offset; + } + + template + constexpr index_type compute_offset(std::index_sequence, + IndexOffsets... index_offsets) const { + index_type indices[] = {static_cast(index_offsets)...}; + // self-recursive fold trick from + // https://github.com/llvm/llvm-project/blob/96e1914aa2e6d8966acbfbe2f4d184201f1aa318/libcxx/include/mdspan/layout_left.h#L144 + index_type res = 0; + ((res = indices[extents_type::rank() - 1 - Ranks] + + ((extents_type::rank() - 1 - Ranks) == extent_to_pad_idx + ? padded_stride.value(0) + : exts.extent(extents_type::rank() - 1 - Ranks)) * + res), + ...); + return res; + } + +public: +#if !MDSPAN_HAS_CXX_20 + MDSPAN_INLINE_FUNCTION_DEFAULTED + constexpr mapping() + : mapping(extents_type{}) + {} +#else + MDSPAN_INLINE_FUNCTION_DEFAULTED + constexpr mapping() + requires(static_padding_stride != dynamic_extent) = default; + + MDSPAN_INLINE_FUNCTION + constexpr mapping() + requires(static_padding_stride == dynamic_extent) + : mapping(extents_type{}) + {} +#endif + + MDSPAN_INLINE_FUNCTION_DEFAULTED constexpr mapping(const mapping&) noexcept = default; + MDSPAN_INLINE_FUNCTION_DEFAULTED mapping& operator=(const mapping&) noexcept = default; + + /** + * Initializes the mapping with the given extents. + * + * \param ext the given extents + */ + MDSPAN_INLINE_FUNCTION + constexpr mapping(const extents_type& ext) + : padded_stride(padded_stride_type::init_padding(ext)), exts(ext) + {} + + /** + * Initializes the mapping with the given extents and the specified padding value. + * + * This overload participates in overload resolution only if `is_convertible_v` + * is `true` and `is_nothrow_constructible_v` is `true` + * + * \param ext the given extents + * \param padding_value the padding value + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Size, + /* requires */ ( + std::is_convertible_v<_Size, index_type> + && std::is_nothrow_constructible_v + ) + ) + MDSPAN_INLINE_FUNCTION + constexpr mapping(const extents_type &ext, _Size dynamic_padding_value) + : padded_stride(padded_stride_type::init_padding(ext, dynamic_padding_value)), exts(ext) + { + assert((padding_value == dynamic_extent) || (static_cast(padding_value) == static_cast(dynamic_padding_value))); + } + + /** + * Converting constructor from `layout_left::mapping`. + * + * This overload participates in overload resolution only if `is_constructible_v` is true. + * If `OtherExtents::rank() > 1` then one of `padding_value`, `static_extent(0)`, or `OtherExtents::static_extent(0)` must be `dynamic_extent`; + * otherwise, `OtherExtents::static_extent(0)` must be equal to the least multiple of `padding_value` greater than or equal to `extents_type::static_extent(0)` + */ + MDSPAN_TEMPLATE_REQUIRES( + class _OtherExtents, + /* requires */ ( + std::is_constructible_v + ) + ) + MDSPAN_CONDITIONAL_EXPLICIT((!std::is_convertible_v<_OtherExtents, extents_type>)) + constexpr mapping(const layout_left::mapping<_OtherExtents> &other_mapping) + : padded_stride(padded_stride_type::init_padding(other_mapping, std::integral_constant{})), + exts(other_mapping.extents()) + { + static_assert((_OtherExtents::rank() > 1) || (static_padding_stride != dynamic_extent) || (_OtherExtents::static_extent(extent_to_pad_idx) != dynamic_extent) + || (static_padding_stride == _OtherExtents::static_extent(extent_to_pad_idx))); + } + + /** + * Converting constructor from `layout_stride::mapping`. + * + * This overload participates in overload resolution only if `is_constructible_v` is true + */ + MDSPAN_TEMPLATE_REQUIRES( + class _OtherExtents, + /* requires */ ( + std::is_constructible_v + ) + ) + MDSPAN_CONDITIONAL_EXPLICIT((extents_type::rank() > 0)) + constexpr mapping(const layout_stride::mapping<_OtherExtents> &other_mapping) + : padded_stride(padded_stride_type::init_padding(other_mapping, std::integral_constant{})), + exts(other_mapping.extents()) + { + } + + /** + * Converting constructor from `layout_left_padded::mapping`. + * + * This overload participates in overload resolution only if `is_constructible_v` is true. + * Either `padding_value` or `OtherPaddingStride` must be `std::dynamic_extent`, or `padding_value == OtherPaddingStride`. + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Mapping, + /* requires */ ( + detail::is_layout_left_padded_mapping<_Mapping>::value + && std::is_constructible_v + ) + ) + MDSPAN_CONDITIONAL_EXPLICIT((extents_type::rank() > 1 && (padding_value == dynamic_extent || _Mapping::padding_value == dynamic_extent))) + constexpr + mapping(const _Mapping &other_mapping) + : padded_stride(padded_stride_type::init_padding(other_mapping, std::integral_constant{})), + exts(other_mapping.extents()) + { + static_assert(padding_value == dynamic_extent || + _Mapping::padding_value == dynamic_extent || + padding_value == _Mapping::padding_value); + } + + /** + * Converting constructor from `layout_right_padded::mapping`. + * + * This overload participates in overload resolution only if `extents_type::rank()` is 0 or 1 and `is_constructible_v` is `true`. + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Mapping, + /* requires */ ( + detail::is_layout_right_padded_mapping<_Mapping>::value + && extents_type::rank() <= 1 + && std::is_constructible_v + ) + ) + MDSPAN_CONDITIONAL_EXPLICIT((!std::is_convertible_v)) + constexpr + mapping(const _Mapping &other_mapping) noexcept + : padded_stride(padded_stride_type::init_padding(other_mapping.extents(), other_mapping.extents().extent(extent_to_pad_idx))), + exts(other_mapping.extents()) + {} + + constexpr const extents_type &extents() const noexcept + { + return exts; + } + + constexpr std::array + strides() const noexcept + { + if constexpr ( extents_type::rank() == 0 ) { + return {}; + } else if constexpr ( extents_type::rank() == 1 ) { + return {1}; + } else { + index_type value = 1; + std::array s{}; + s[extent_to_pad_idx] = value; + value *= padded_stride.value(0); + for (rank_type r = extent_to_pad_idx + 1; r < extents_type::rank() - 1; ++r) + { + s[r] = value; + value *= exts.extent(r); + } + s[extents_type::rank() - 1] = value; + return s; + } + } + + constexpr index_type + required_span_size() const noexcept + { + if constexpr ( extents_type::rank() == 0 ) { + return 1; + } else if constexpr ( extents_type::rank() == 1 ) { + return exts.extent(0); + } else { + index_type value = padded_stride.value(0); + for (rank_type r = 1; r < extents_type::rank(); ++r) { + value *= exts.extent(r); + } + return value; + } + } + + /** + * Return the mapping given the provided indices per rank. + * + * This overload participates in overload resolution only if: + * - `sizeof...(Indices) == extents_type::rank()`, + * - `(is_convertible_v && ...) is true`, and + * - (is_nothrow_constructible_v && ...) is true. + */ + MDSPAN_TEMPLATE_REQUIRES( + class... _Indices, + /* requires */ ( + sizeof...(_Indices) == extents_type::rank() && + (::MDSPAN_IMPL_STANDARD_NAMESPACE::detail::are_valid_indices()) + ) + ) + constexpr size_t operator()(_Indices... idxs) const noexcept + { + return compute_offset(std::index_sequence_for<_Indices...>{}, idxs...); + } + + static constexpr bool is_always_unique() noexcept { return true; } + static constexpr bool is_always_exhaustive() noexcept + { + return (extents_type::rank() <= rank_type(1)) + || (extents_type::static_extent(extent_to_pad_idx) != dynamic_extent + && extents_type::static_extent(extent_to_pad_idx) == padded_stride_type::static_value()); + } + static constexpr bool is_always_strided() noexcept { return true; } + + static constexpr bool is_unique() noexcept { return true; } + constexpr bool is_exhaustive() const noexcept + { + return (extents_type::rank() < 2) + || (exts.extent(extent_to_pad_idx) == padded_stride.value(0)); + } + static constexpr bool is_strided() noexcept { return true; } + + constexpr index_type stride(rank_type r) const noexcept + { + assert(r < extents_type::rank()); + if(r == 0) return index_type(1); + + index_type value = padded_stride.value(0); + for (rank_type k = 1; k < r; k++) value *= exts.extent(k); + + return value; + } + + /** + * Equality operator between `layout_left_padded`s + * + * This overload only participates in overload resolution if `OtherExtents::rank() == extents_type::rank()`. + * + * \note There is currently a difference from p2642r2, where this function is specified as taking + * `layout_left_padded< padding_value >::mapping< Extents>`. However, this makes `padding_value` non-deducible. + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Mapping, + /* requires */ ( + detail::is_layout_left_padded_mapping<_Mapping>::value + && (_Mapping::extents_type::rank() == extents_type::rank()) + ) + ) + friend constexpr bool operator==(const mapping &left, const _Mapping &right) noexcept + { + // Workaround for some compilers not short-circuiting properly with compile-time checks + // i.e. we can't access stride(_padding_stride_idx) of a rank 0 mapping + bool strides_equal = true; + if constexpr (extents_type::rank() > rank_type(1)) + { + strides_equal = left.stride(padded_stride_idx) == right.stride(padded_stride_idx); + } + return (left.extents() == right.extents()) && strides_equal; + } + +#if !MDSPAN_HAS_CXX_20 + /** + * Inequality operator between `layout_left_padded`s + * + * This overload only participates in overload resolution if `OtherExtents::rank() == extents_type::rank()`. + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Mapping, + /* requires */ ( + detail::is_layout_left_padded_mapping<_Mapping>::value + && (_Mapping::extents_type::rank() == extents_type::rank()) + ) + ) + friend constexpr bool operator!=(const mapping &left, const _Mapping &right) noexcept + { + return !(left == right); + } +#endif +}; + +template +template +class layout_right_padded::mapping { +public: + static constexpr size_t padding_value = PaddingValue; + + using extents_type = Extents; + using index_type = typename extents_type::index_type; + using size_type = typename extents_type::size_type; + using rank_type = typename extents_type::rank_type; + using layout_type = layout_right_padded; + +#ifndef MDSPAN_INTERNAL_TEST + private: +#endif // MDSPAN_INTERNAL_TEST + + static constexpr rank_type padded_stride_idx = detail::layout_padded_constants::padded_stride_idx; + static constexpr rank_type extent_to_pad_idx = detail::layout_padded_constants::extent_to_pad_idx; + + static_assert((padding_value != 0) + || (extents_type::static_extent(extent_to_pad_idx) == 0) + || (extents_type::static_extent(extent_to_pad_idx) == dynamic_extent), + "if padding stride is 0, static_extent(extent-to-pad-rank) must also be 0 or dynamic_extent"); + + using padded_stride_type = detail::padded_extent< padding_value, extents_type, extent_to_pad_idx >; + static constexpr size_t static_padding_stride = padded_stride_type::static_value(); + + typename padded_stride_type::static_array_type padded_stride = {}; + extents_type exts = {}; + + constexpr index_type compute_offset(std::index_sequence<>) const { + return 0; + } + + template + constexpr index_type compute_offset(std::index_sequence, + IndexOffset index_offset) const { + return index_offset; + } + + template + constexpr index_type compute_offset(std::index_sequence, + IndexOffsets... index_offsets) const { + // self-recursive fold trick from + // https://github.com/llvm/llvm-project/blob/4d9771741d40cc9cfcccb6b033f43689d36b705a/libcxx/include/mdspan/layout_right.h#L141 + index_type res = 0; + ((res = static_cast(index_offsets) + + (Ranks == extent_to_pad_idx ? padded_stride.value(0) + : exts.extent(Ranks)) * + res), + ...); + return res; + } + +public: +#if !MDSPAN_HAS_CXX_20 + MDSPAN_INLINE_FUNCTION_DEFAULTED + constexpr mapping() + : mapping(extents_type{}) + {} +#else + MDSPAN_INLINE_FUNCTION_DEFAULTED + constexpr mapping() + requires(static_padding_stride != dynamic_extent) = default; + + MDSPAN_INLINE_FUNCTION + constexpr mapping() + requires(static_padding_stride == dynamic_extent) + : mapping(extents_type{}) + {} +#endif + + MDSPAN_INLINE_FUNCTION_DEFAULTED constexpr mapping(const mapping&) noexcept = default; + MDSPAN_INLINE_FUNCTION_DEFAULTED mapping& operator=(const mapping&) noexcept = default; + + /** + * Initializes the mapping with the given extents. + * + * \param ext the given extents + */ + MDSPAN_INLINE_FUNCTION + constexpr mapping(const extents_type &ext) + : padded_stride(padded_stride_type::init_padding(ext)), exts(ext) {} + + /** + * Initializes the mapping with the given extents and the specified padding value. + * + * This overload participates in overload resolution only if `is_convertible_v` + * is `true` and `is_nothrow_constructible_v` is `true` + * + * \param ext the given extents + * \param padding_value the padding value + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Size, + /* requires */ ( + std::is_convertible_v<_Size, index_type> + && std::is_nothrow_constructible_v + ) + ) + MDSPAN_INLINE_FUNCTION + constexpr mapping(const extents_type &ext, _Size dynamic_padding_value) + : padded_stride(padded_stride_type::init_padding(ext, static_cast(dynamic_padding_value))), + exts(ext) { + assert((padding_value == dynamic_extent) || + (static_cast(padding_value) == static_cast(dynamic_padding_value))); + } + + /** + * Converting constructor from `layout_right::mapping`. + * + * This overload participates in overload resolution only if `is_constructible_v` is true. + * If `OtherExtents::rank() > 1` then one of `padding_value`, `static_extent(0)`, or `OtherExtents::static_extent(0)` must be `dynamic_extent`; + * otherwise, `OtherExtents::static_extent(0)` must be equal to the least multiple of `padding_value` greater than or equal to `extents_type::static_extent(0)` + */ + MDSPAN_TEMPLATE_REQUIRES( + class _OtherExtents, + /* requires */ ( + std::is_constructible_v + ) + ) + MDSPAN_CONDITIONAL_EXPLICIT((!std::is_convertible_v<_OtherExtents, extents_type>)) + constexpr mapping(const layout_right::mapping<_OtherExtents> &other_mapping) + : padded_stride(padded_stride_type::init_padding(other_mapping, std::integral_constant{})), + exts(other_mapping.extents()) + { + static_assert((_OtherExtents::rank() > 1) || (padded_stride_type::static_value() != dynamic_extent) || (_OtherExtents::static_extent(extent_to_pad_idx) != dynamic_extent) + || (padded_stride_type::static_value() == _OtherExtents::static_extent(extent_to_pad_idx))); + } + + /** + * Converting constructor from `layout_stride::mapping`. + * + * This overload participates in overload resolution only if `is_constructible_v` is true + */ + MDSPAN_TEMPLATE_REQUIRES( + class _OtherExtents, + /* requires */ ( + std::is_constructible_v + ) + ) + MDSPAN_CONDITIONAL_EXPLICIT((extents_type::rank() > 0)) + constexpr mapping(const layout_stride::mapping<_OtherExtents> &other_mapping) + : padded_stride(padded_stride_type::init_padding(other_mapping, std::integral_constant{})), + exts(other_mapping.extents()) + {} + + /** + * Converting constructor from `layout_right_padded::mapping`. + * + * This overload participates in overload resolution only if `is_constructible_v` is true. + * Either `padding_value` or `OtherPaddingStride` must be `std::dynamic_extent`, or `padding_value == OtherPaddingStride`. + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Mapping, + /* requires */ ( + detail::is_layout_right_padded_mapping<_Mapping>::value + && std::is_constructible_v + ) + ) + MDSPAN_CONDITIONAL_EXPLICIT((extents_type::rank() > 1 && + (padding_value == dynamic_extent || + _Mapping::padding_value == dynamic_extent))) + constexpr mapping(const _Mapping &other_mapping) + : padded_stride(padded_stride_type::init_padding(other_mapping, std::integral_constant{})), + exts(other_mapping.extents()) + { + static_assert(padding_value == dynamic_extent || + _Mapping::padding_value == dynamic_extent || + padding_value == _Mapping::padding_value); + } + + /** + * Converting constructor from `layout_left_padded::mapping`. + * + * This overload participates in overload resolution only if `extents_type::rank()` is 0 or 1 and `is_constructible_v` is `true`. + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Mapping, + /* requires */ ( + detail::is_layout_left_padded_mapping<_Mapping>::value + && extents_type::rank() <= 1 + && std::is_constructible_v + ) + ) + MDSPAN_CONDITIONAL_EXPLICIT((!std::is_convertible_v)) + constexpr mapping(const _Mapping &other_mapping) noexcept + : padded_stride(padded_stride_type::init_padding(other_mapping.extents(), other_mapping.extents().extent(extent_to_pad_idx))), + exts(other_mapping.extents()) + {} + + constexpr const extents_type &extents() const noexcept + { + return exts; + } + + constexpr std::array + strides() const noexcept + { + if constexpr ( extents_type::rank() == 0 ) { + return {}; + } else if constexpr ( extents_type::rank() == 1 ) { + return {1}; + } else { + index_type value = 1; + std::array s{}; + s[extent_to_pad_idx] = value; + value *= padded_stride.value(0); + for (rank_type r = extent_to_pad_idx - 1; r > 0; --r) + { + s[r] = value; + value *= exts.extent(r); + } + s[0] = value; + return s; + } + } + + constexpr index_type + required_span_size() const noexcept + { + if constexpr ( extents_type::rank() == 0 ) { + return 1; + } else if constexpr ( extents_type::rank() == 1 ) { + return exts.extent(0); + } else { + index_type value = 1; + for (rank_type r = 0; r < extent_to_pad_idx; ++r) + { + value *= exts.extent(r); + } + return value * padded_stride.value(0); + } + } + + /** + * Return the mapping given the provided indices per rank. + * + * This overload participates in overload resolution only if: + * - `sizeof...(Indices) == extents_type::rank()`, + * - `(is_convertible_v && ...) is true`, and + * - (is_nothrow_constructible_v && ...) is true. + */ + MDSPAN_TEMPLATE_REQUIRES( + class... _Indices, + /* requires */ ( + sizeof...(_Indices) == extents_type::rank() && + (::MDSPAN_IMPL_STANDARD_NAMESPACE::detail::are_valid_indices()) + ) + ) + constexpr size_t operator()(_Indices... idxs) const noexcept + { + return compute_offset(std::index_sequence_for<_Indices...>{}, idxs...); + } + + static constexpr bool is_always_unique() noexcept { return true; } + static constexpr bool is_always_exhaustive() noexcept + { + return (extents_type::rank() <= rank_type(1)) + || (extents_type::static_extent(extent_to_pad_idx) != dynamic_extent + && extents_type::static_extent(extent_to_pad_idx) == padded_stride_type::static_value()); + } + static constexpr bool is_always_strided() noexcept { return true; } + + static constexpr bool is_unique() noexcept { return true; } + constexpr bool is_exhaustive() const noexcept + { + return (extents_type::rank() < 2) + || (exts.extent(extent_to_pad_idx) == padded_stride.value(0)); + } + static constexpr bool is_strided() noexcept { return true; } + + constexpr index_type stride(rank_type r) const noexcept + { + assert(r < extents_type::rank()); + if(r == extents_type::rank() - 1) return index_type(1); + + index_type value = padded_stride.value(0); + for (rank_type k = extents_type::rank() - 2; k > r; k--) value *= exts.extent(k); + + return value; + } + + /** + * Equality operator between `layout_right_padded`s + * + * This overload only participates in overload resolution if `OtherExtents::rank() == extents_type::rank()`. + * + * \note There is currently a difference from p2642r2, where this function is specified as taking + * `layout_right_padded< padding_value >::mapping< Extents>`. However, this makes `padding_value` non-deducible. + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Mapping, + /* requires */ ( + detail::is_layout_right_padded_mapping<_Mapping>::value + && (_Mapping::extents_type::rank() == extents_type::rank()) + ) + ) + friend constexpr bool operator==(const mapping &left, const _Mapping &right) noexcept + { + // Workaround for some compilers not short-circuiting properly with compile-time checks + // i.e. we can't access stride(_padding_stride_idx) of a rank 0 mapping + bool strides_equal = true; + if constexpr (extents_type::rank() > rank_type(1)) + { + strides_equal = left.stride(padded_stride_idx) == right.stride(padded_stride_idx); + } + return (left.extents() == right.extents()) && strides_equal; + } + +#if !MDSPAN_HAS_CXX_20 + /** + * Inequality operator between `layout_right_padded`s + * + * This overload only participates in overload resolution if `OtherExtents::rank() == extents_type::rank()`. + */ + MDSPAN_TEMPLATE_REQUIRES( + class _Mapping, + /* requires */ ( + detail::is_layout_right_padded_mapping<_Mapping>::value + && (_Mapping::extents_type::rank() == extents_type::rank()) + ) + ) + friend constexpr bool operator!=(const mapping &left, const _Mapping &right) noexcept + { + return !(left == right); + } +#endif +}; +} +} diff --git a/lib/kokkos/tpls/mdspan/include/experimental/__p2642_bits/layout_padded_fwd.hpp b/lib/kokkos/tpls/mdspan/include/experimental/__p2642_bits/layout_padded_fwd.hpp new file mode 100644 index 0000000000..945f091a2d --- /dev/null +++ b/lib/kokkos/tpls/mdspan/include/experimental/__p2642_bits/layout_padded_fwd.hpp @@ -0,0 +1,117 @@ +//@HEADER +// ************************************************************************ +// +// Kokkos v. 4.0 +// Copyright (2022) National Technology & Engineering +// Solutions of Sandia, LLC (NTESS). +// +// Under the terms of Contract DE-NA0003525 with NTESS, +// the U.S. Government retains certain rights in this software. +// +// Part of Kokkos, under the Apache License v2.0 with LLVM Exceptions. +// +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//@HEADER +#pragma once + +#include +#include "../__p0009_bits/dynamic_extent.hpp" + +namespace MDSPAN_IMPL_STANDARD_NAMESPACE { +namespace MDSPAN_IMPL_PROPOSED_NAMESPACE { + +template +struct layout_left_padded { + template + class mapping; +}; + +template +struct layout_right_padded { + template + class mapping; +}; + +namespace detail { +// The layout_padded_constants structs are only useful if rank > 1, otherwise they may wrap +template +struct layout_padded_constants; + +template +struct layout_padded_constants, _ExtentsType> +{ + using rank_type = typename _ExtentsType::rank_type; + static constexpr rank_type padded_stride_idx = 1; + static constexpr rank_type extent_to_pad_idx = 0; +}; + +template +struct layout_padded_constants, _ExtentsType> +{ + using rank_type = typename _ExtentsType::rank_type; + static constexpr rank_type padded_stride_idx = _ExtentsType::rank() - 2; + static constexpr rank_type extent_to_pad_idx = _ExtentsType::rank() - 1; +}; + +template +struct is_layout_left_padded : std::false_type {}; + +template +struct is_layout_left_padded> : std::true_type {}; + +template +struct is_layout_left_padded_mapping : std::false_type {}; + +template +struct is_layout_left_padded_mapping<_Mapping, + std::enable_if_t::template mapping>::value>> + : std::true_type {}; + +template +struct is_layout_right_padded : std::false_type {}; + +template +struct is_layout_right_padded> : std::true_type {}; + +template +struct is_layout_right_padded_mapping : std::false_type {}; + +template +struct is_layout_right_padded_mapping<_Mapping, + std::enable_if_t::template mapping>::value>> + : std::true_type {}; + +template +constexpr void check_padded_layout_converting_constructor_mandates() +{ + if constexpr (_LayoutExtentsType::rank() > 1) { + using extents_type = typename _PaddedLayoutMappingType::extents_type; + constexpr auto padding_value = _PaddedLayoutMappingType::padding_value; + constexpr auto idx = layout_padded_constants::extent_to_pad_idx; + if constexpr ((_LayoutExtentsType::static_extent(idx) != dynamic_extent) && + (extents_type::static_extent(idx) != dynamic_extent) && + (padding_value != dynamic_extent)) { + if constexpr (padding_value == 0) { + static_assert(_LayoutExtentsType::static_extent(idx) == 0); + } else { + static_assert( + _LayoutExtentsType::static_extent(idx) % padding_value == 0); + } + } + } +} + +template +constexpr void check_padded_layout_converting_constructor_preconditions([[maybe_unused]] const _OtherMapping &other_mapping) { + if constexpr (_ExtentsType::rank() > 1) { + constexpr auto padded_stride_idx = + layout_padded_constants::padded_stride_idx; + constexpr auto extent_to_pad_idx = layout_padded_constants::extent_to_pad_idx; + assert(other_mapping.stride(padded_stride_idx) == other_mapping.extents().extent(extent_to_pad_idx)); + } +} +} +} +} diff --git a/lib/kokkos/tpls/mdspan/include/mdspan/mdspan.hpp b/lib/kokkos/tpls/mdspan/include/mdspan/mdspan.hpp index b440873526..ac72a1a4e6 100644 --- a/lib/kokkos/tpls/mdspan/include/mdspan/mdspan.hpp +++ b/lib/kokkos/tpls/mdspan/include/mdspan/mdspan.hpp @@ -35,6 +35,7 @@ #include "../experimental/__p0009_bits/layout_right.hpp" #include "../experimental/__p0009_bits/macros.hpp" #if MDSPAN_HAS_CXX_17 +#include "../experimental/__p2642_bits/layout_padded.hpp" #include "../experimental/__p2630_bits/submdspan.hpp" #endif From 84b6c6a088a2f36b80a7ebf6eb876c28120e1100 Mon Sep 17 00:00:00 2001 From: Dhairya Date: Fri, 5 Apr 2024 09:58:33 -0500 Subject: [PATCH 416/559] Added prefactors and errors for incorrect combinations. --- doc/src/pair_granular.rst | 10 +++++----- src/GRANULAR/gran_sub_mod_damping.cpp | 16 ++++++++-------- src/GRANULAR/gran_sub_mod_damping.h | 12 ++++++------ src/GRANULAR/granular_model.cpp | 4 ++++ 4 files changed, 23 insertions(+), 19 deletions(-) diff --git a/doc/src/pair_granular.rst b/doc/src/pair_granular.rst index f0eb139cb7..9eb34c9de8 100644 --- a/doc/src/pair_granular.rst +++ b/doc/src/pair_granular.rst @@ -187,8 +187,8 @@ for the damping model currently supported are: 2. *mass_velocity* 3. *viscoelastic* 4. *tsuji* -5. *enhooke* -6. *enhertz* +5. *hooke/en* +6. *hertz/en* If the *damping* keyword is not specified, the *viscoelastic* model is used by default. @@ -250,20 +250,20 @@ The dimensionless coefficient of restitution :math:`e` specified as part of the normal contact model parameters should be between 0 and 1, but no error check is performed on this. -*enhooke* and *enhertz* models are useful for cases where a specific normal coefficient of restitution :math:`e` is required. In these models, the normal coefficient of restitution :math:`e` is specified as an input. Following the approach of :ref:`(Brilliantov et al) `, *enhooke* calculates the damping coefficient for the *hooke* model as: +*hooke/en* and *hertz/en* models are useful for cases where a specific normal coefficient of restitution :math:`e` is required. In these models, the normal coefficient of restitution :math:`e` is specified as an input. Following the approach of :ref:`(Brilliantov et al) `, *hooke/en* calculates the damping coefficient for the *hooke* model as: .. math:: \eta_n = \sqrt{\frac{4m_{eff}k_n}{1+\left( \frac{\pi}{\log(e)}\right)^2}}, -*enhertz* calculates the damping coefficient for the *hertz* and *hertz/material* models using: +*hertz/en* calculates the damping coefficient for the *hertz* and *hertz/material* models using: .. math:: \eta_n = -2\sqrt{\frac{5}{6}}\frac{\log(e)}{\sqrt{\pi^2+(\log(e))^2}}(R_{eff} \delta_{ij})^{\frac{1}{4}}\sqrt{\frac{3}{2}k_n m_{eff}} , -where :math:`k_n = \frac{4}{3} E_{eff}` for the *hertz/material* model. Since these models calculate the damping coefficients by accounting for the effective mass, effective radius and pairwise overlaps (for *enhertz*), they accurately reproduce the specified coefficient of restitution for both monodisperse and polydisperse particle pairs. +where :math:`k_n = \frac{4}{3} E_{eff}` for the *hertz/material* model. Since these models calculate the damping coefficients by accounting for the effective mass, effective radius and pairwise overlaps (for *hertz/en*), they accurately reproduce the specified coefficient of restitution for both monodisperse and polydisperse particle pairs. The total normal force is computed as the sum of the elastic and damping components: diff --git a/src/GRANULAR/gran_sub_mod_damping.cpp b/src/GRANULAR/gran_sub_mod_damping.cpp index e57972db76..12102575c3 100644 --- a/src/GRANULAR/gran_sub_mod_damping.cpp +++ b/src/GRANULAR/gran_sub_mod_damping.cpp @@ -141,44 +141,44 @@ double GranSubModDampingTsuji::calculate_forces() } /* ---------------------------------------------------------------------- - enhooke damping + hookeen damping ------------------------------------------------------------------------- */ -GranSubModDampingEnHooke::GranSubModDampingEnHooke(GranularModel *gm, LAMMPS *lmp) : +GranSubModDampingHookeEn::GranSubModDampingHookeEn(GranularModel *gm, LAMMPS *lmp) : GranSubModDamping(gm, lmp) { } -void GranSubModDampingEnHooke::init() +void GranSubModDampingHookeEn::init() { double cor = gm->normal_model->get_damp(); double logcor = log(cor); damp = -2*logcor/sqrt(PISQ + logcor*logcor); } -double GranSubModDampingEnHooke::calculate_forces() +double GranSubModDampingHookeEn::calculate_forces() { damp_prefactor = damp * sqrt(gm->meff * gm->Fnormal / gm->delta); return -damp_prefactor * gm->vnnr; } /* ---------------------------------------------------------------------- - enhertz damping + hertzen damping ------------------------------------------------------------------------- */ -GranSubModDampingEnHertz::GranSubModDampingEnHertz(GranularModel *gm, LAMMPS *lmp) : +GranSubModDampingHertzEn::GranSubModDampingHertzEn(GranularModel *gm, LAMMPS *lmp) : GranSubModDamping(gm, lmp) { } -void GranSubModDampingEnHertz::init() +void GranSubModDampingHertzEn::init() { double cor = gm->normal_model->get_damp(); double logcor = log(cor); damp = -ROOTTHREEBYTWO*TWOROOTFIVEBYSIX*logcor/sqrt(PISQ + logcor*logcor); } -double GranSubModDampingEnHertz::calculate_forces() +double GranSubModDampingHertzEn::calculate_forces() { damp_prefactor = damp * sqrt(gm->meff * gm->Fnormal / gm->delta); return -damp_prefactor * gm->vnnr; diff --git a/src/GRANULAR/gran_sub_mod_damping.h b/src/GRANULAR/gran_sub_mod_damping.h index 33e88718fd..9f37e14450 100644 --- a/src/GRANULAR/gran_sub_mod_damping.h +++ b/src/GRANULAR/gran_sub_mod_damping.h @@ -18,8 +18,8 @@ GranSubModStyle(velocity,GranSubModDampingVelocity,DAMPING); GranSubModStyle(mass_velocity,GranSubModDampingMassVelocity,DAMPING); GranSubModStyle(viscoelastic,GranSubModDampingViscoelastic,DAMPING); GranSubModStyle(tsuji,GranSubModDampingTsuji,DAMPING); -GranSubModStyle(enhooke,GranSubModDampingEnHooke,DAMPING); -GranSubModStyle(enhertz,GranSubModDampingEnHertz,DAMPING); +GranSubModStyle(hooke/en,GranSubModDampingHookeEn,DAMPING); +GranSubModStyle(hertz/en,GranSubModDampingHertzEn,DAMPING); // clang-format on #else @@ -88,18 +88,18 @@ namespace Granular_NS { /* ---------------------------------------------------------------------- */ - class GranSubModDampingEnHooke : public GranSubModDamping { + class GranSubModDampingHookeEn : public GranSubModDamping { public: - GranSubModDampingEnHooke(class GranularModel *, class LAMMPS *); + GranSubModDampingHookeEn(class GranularModel *, class LAMMPS *); void init() override; double calculate_forces() override; }; /* ---------------------------------------------------------------------- */ - class GranSubModDampingEnHertz : public GranSubModDamping { + class GranSubModDampingHertzEn : public GranSubModDamping { public: - GranSubModDampingEnHertz(class GranularModel *, class LAMMPS *); + GranSubModDampingHertzEn(class GranularModel *, class LAMMPS *); void init() override; double calculate_forces() override; }; diff --git a/src/GRANULAR/granular_model.cpp b/src/GRANULAR/granular_model.cpp index c1ad692fb3..ed3c00866e 100644 --- a/src/GRANULAR/granular_model.cpp +++ b/src/GRANULAR/granular_model.cpp @@ -238,6 +238,10 @@ void GranularModel::init() if (damping_model->name == "none") error->all(FLERR, "Must specify damping granular model"); if (tangential_model->name == "none") error->all(FLERR, "Must specify tangential granular model"); + //Check if correct damping model is being used with the normal model + if(normal_model->name =="hooke" && damping_model->name == "hertz/en") error->all(FLERR, "hooke should not be used with hertz/en damping model, please use hooke/en"); + if((normal_model->name =="hertz" || normal_model->name =="hertz/material") && damping_model->name == "hooke/en") error->all(FLERR, "hertz/material or hertz should not be used with hooke/en damping model, please use hertz/en"); + // Twisting, rolling, and heat are optional twisting_defined = rolling_defined = heat_defined = 1; if (twisting_model->name == "none") twisting_defined = 0; From 1b71576b6fc41f5f46a78ee0e0e1f3cf642579cf Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Fri, 5 Apr 2024 09:09:44 -0600 Subject: [PATCH 417/559] Update CMake and docs --- cmake/Modules/Packages/KOKKOS.cmake | 6 +++--- doc/src/Build_extras.rst | 14 ++++---------- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/cmake/Modules/Packages/KOKKOS.cmake b/cmake/Modules/Packages/KOKKOS.cmake index e74893d0d0..a2f462905a 100644 --- a/cmake/Modules/Packages/KOKKOS.cmake +++ b/cmake/Modules/Packages/KOKKOS.cmake @@ -45,8 +45,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/4.2.01.tar.gz" CACHE STRING "URL for KOKKOS tarball") - set(KOKKOS_MD5 "16b9b09ae947d434dfb58fc5c87c2b76" CACHE STRING "MD5 checksum of KOKKOS tarball") + set(KOKKOS_URL "https://github.com/kokkos/kokkos/archive/4.3.00.tar.gz" CACHE STRING "URL for KOKKOS tarball") + set(KOKKOS_MD5 "889dcea2b5ced3debdc5b0820044bdc4" CACHE STRING "MD5 checksum of KOKKOS tarball") mark_as_advanced(KOKKOS_URL) mark_as_advanced(KOKKOS_MD5) GetFallbackURL(KOKKOS_URL KOKKOS_FALLBACK) @@ -71,7 +71,7 @@ if(DOWNLOAD_KOKKOS) add_dependencies(LAMMPS::KOKKOSCORE kokkos_build) add_dependencies(LAMMPS::KOKKOSCONTAINERS kokkos_build) elseif(EXTERNAL_KOKKOS) - find_package(Kokkos 4.2.01 REQUIRED CONFIG) + find_package(Kokkos 4.3.00 REQUIRED CONFIG) target_link_libraries(lammps PRIVATE Kokkos::kokkos) else() set(LAMMPS_LIB_KOKKOS_SRC_DIR ${LAMMPS_LIB_SOURCE_DIR}/kokkos) diff --git a/doc/src/Build_extras.rst b/doc/src/Build_extras.rst index 1f643a9d14..f66238c3c9 100644 --- a/doc/src/Build_extras.rst +++ b/doc/src/Build_extras.rst @@ -533,9 +533,6 @@ They must be specified in uppercase. * - A64FX - HOST - ARMv8.2 with SVE Support - * - WSM - - HOST - - Intel Westmere CPU (SSE 4.2) * - SNB - HOST - Intel Sandy/Ivy Bridge CPU (AVX 1) @@ -566,18 +563,15 @@ They must be specified in uppercase. * - KNL - HOST - Intel Knights Landing Xeon Phi - * - BGQ - - HOST - - IBM Blue Gene/Q CPU - * - POWER7 - - HOST - - IBM POWER7 CPU * - POWER8 - HOST - IBM POWER8 CPU * - POWER9 - HOST - IBM POWER9 CPU + * - RISCV_SG2042 + - HOST + - SG2042 (RISC-V) CPU * - KEPLER30 - GPU - NVIDIA Kepler generation CC 3.0 GPU @@ -666,7 +660,7 @@ They must be specified in uppercase. - GPU - Intel GPU Ponte Vecchio -This list was last updated for version 4.2 of the Kokkos library. +This list was last updated for version 4.3.0 of the Kokkos library. .. tabs:: From 0344b6af707c7d36c199c3bfbb4546915c36627f Mon Sep 17 00:00:00 2001 From: Dhairya Date: Fri, 5 Apr 2024 10:14:07 -0500 Subject: [PATCH 418/559] updated the associated example file --- examples/granular/en_example/start.lammps | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/examples/granular/en_example/start.lammps b/examples/granular/en_example/start.lammps index 2bf0f54ddc..7a2a56a0e9 100644 --- a/examples/granular/en_example/start.lammps +++ b/examples/granular/en_example/start.lammps @@ -9,9 +9,10 @@ read_data particles.dat add append group mb type 1 pair_style granular -pair_coeff * * hertz/material 1e6 0.8 0.4 tangential mindlin NULL 0.0 0.5 damping enhertz -# pair_coeff * * hertz 1e6 0.3 tangential mindlin 1e4 1.0 0.5 damping enhertz -# pair_coeff * * hooke 1e6 0.5 tangential mindlin 1 1.0 0.0 damping enhooke +pair_coeff * * hertz/material 1e6 0.8 0.4 tangential mindlin NULL 0.0 0.5 damping hertz/en +# pair_coeff * * hertz/material 1e6 0.8 0.4 tangential mindlin NULL 0.0 0.5 damping hooke/en #Should throw and error +# pair_coeff * * hertz 1e6 0.3 tangential mindlin 1e4 1.0 0.5 damping hertz/en +# pair_coeff * * hooke 1e6 0.5 tangential mindlin 1 1.0 0.0 damping hooke/en comm_modify vel yes timestep 1e-9 From 6a8354f80c2c2d4e97ebfe91fca3e1213b7bc833 Mon Sep 17 00:00:00 2001 From: Taylor Barnes Date: Fri, 5 Apr 2024 17:36:46 +0000 Subject: [PATCH 419/559] Fix bug in MDI time integration logic --- src/MDI/mdi_engine.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/MDI/mdi_engine.cpp b/src/MDI/mdi_engine.cpp index 6d7c604fa6..4f69e814f5 100644 --- a/src/MDI/mdi_engine.cpp +++ b/src/MDI/mdi_engine.cpp @@ -695,7 +695,7 @@ void MDIEngine::mdi_md() if (strcmp(mdicmd, "EXIT") == 0) return; // run one step at a time forever - // driver triggers exit with @ command other than @COORDS,@FORCES,@ENDSTEP + // driver triggers exit with @ command other than @COORDS,@FORCES,@ENDSTEP,@ update->integrate->setup(1); @@ -711,7 +711,7 @@ void MDIEngine::mdi_md() update->integrate->run(1); if (strcmp(mdicmd, "@COORDS") != 0 && strcmp(mdicmd, "@FORCES") != 0 && - strcmp(mdicmd, "@ENDSTEP") != 0) + strcmp(mdicmd, "@ENDSTEP") != 0 && strcmp(mdicmd, "@") != 0) break; } From d615d8053b5e4362b383aa66d26b050281f593af Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 5 Apr 2024 14:31:53 -0600 Subject: [PATCH 420/559] support for general tri edge vectors in thermo output --- doc/src/Howto_triclinic.rst | 21 +- doc/src/thermo_style.rst | 71 ++++-- examples/README | 1 + src/domain.cpp | 5 +- src/thermo.cpp | 427 ++++++++++++++++++++++-------------- src/thermo.h | 34 ++- 6 files changed, 355 insertions(+), 204 deletions(-) diff --git a/doc/src/Howto_triclinic.rst b/doc/src/Howto_triclinic.rst index 2f2ffe85cf..9af941e4a6 100644 --- a/doc/src/Howto_triclinic.rst +++ b/doc/src/Howto_triclinic.rst @@ -94,19 +94,20 @@ restricted triclinic parallelepiped. simulation boxes in LAMMPS. Note that the :doc:`thermo_style custom ` command has -keywords for outputting the various parameters that define both -restricted and general triclinic simulation boxes. Thus you can check -the restricted triclinic box parameters LAMMPS generates to rotate a -general triclinic box to restricted triclinic form. +keywords for outputting the various parameters that define the size +and shape of orthogonal, restricted triclinic, and general triclinic +simulation boxes. + +For orthogonal boxes there these are the 6 thermo keywords +(xlo,ylo,zlo) and (xhi,yhi,zhi). For restricted triclinic boxes these are the 9 thermo keywords for -(xlo,ylo,zlo), (xhi,yhi,zhi), and the (xy,xz,yz) tilt factors. For -general triclinic boxes these are the 12 thermo keywords for +(xlo,ylo,zlo), (xhi,yhi,zhi), and the (xy,xz,yz) tilt factors. + +For general triclinic boxes these are the 12 thermo keywords for (xlo,ylo,zhi) and the components of the **A**, **B**, **C** edge -vectors. For both orthogonal and restricted triclinic boxes, the -thermo keywords lx/ly/lz refer to the box sizes, namely lx = xhi - -xlo, etc. Lx,ly,lz are the box edge vector lengths for orthogonal and -restricted/general triclinic simulation boxes. +vectors, namely (avecx,avecy,avecz), (bvecx,bvecy,bvecz), and +(cvecx,cvecy,cvecz), The remainder of this doc page explains (a) how LAMMPS operates with general triclinic simulation boxes, (b) mathematical transformations diff --git a/doc/src/thermo_style.rst b/doc/src/thermo_style.rst index f73c4baa3d..cdb39fe8a5 100644 --- a/doc/src/thermo_style.rst +++ b/doc/src/thermo_style.rst @@ -25,12 +25,18 @@ Syntax evdwl, ecoul, epair, ebond, eangle, edihed, eimp, emol, elong, etail, enthalpy, ecouple, econserve, - vol, density, lx, ly, lz, xlo, xhi, ylo, yhi, zlo, zhi, - xy, xz, yz, xlat, ylat, zlat, - bonds, angles, dihedrals, impropers, - pxx, pyy, pzz, pxy, pxz, pyz, - fmax, fnorm, nbuild, ndanger, + vol, density, + xlo, xhi, ylo, yhi, zlo, zhi, + xy, xz, yz, + avecx, avecy, avecz, + bvecx, bvecy, bvecz, + cvecx, cvecy, cvecz, + lx, ly, lz, + xlat, ylat, zlat, cella, cellb, cellc, cellalpha, cellbeta, cellgamma, + pxx, pyy, pzz, pxy, pxz, pyz, + bonds, angles, dihedrals, impropers, + fmax, fnorm, nbuild, ndanger, c_ID, c_ID[I], c_ID[I][J], f_ID, f_ID[I], f_ID[I][J], v_name, v_name[I] @@ -66,18 +72,21 @@ Syntax econserve = pe + ke + ecouple = etotal + ecouple vol = volume density = mass density of system - lx,ly,lz = box lengths in x,y,z xlo,xhi,ylo,yhi,zlo,zhi = box boundaries xy,xz,yz = box tilt for restricted triclinic (non-orthogonal) simulation boxes + avecx,avecy,avecz = components of edge vector A for general triclinic simulation boxes + bvecx,bvecy,bvecz = components of edge vector B for general triclinic simulation boxes + cvecx,cvecy,cvecz = components of edge vector C for general triclinic simulation boxes + lx,ly,lz = box lengths in x,y,z xlat,ylat,zlat = lattice spacings as calculated by :doc:`lattice ` command - bonds,angles,dihedrals,impropers = # of these interactions defined + cella,cellb,cellc = periodic cell lattice constants a,b,c + cellalpha, cellbeta, cellgamma = periodic cell angles alpha,beta,gamma pxx,pyy,pzz,pxy,pxz,pyz = 6 components of pressure tensor + bonds,angles,dihedrals,impropers = # of these interactions defined fmax = max component of force on any atom in any dimension fnorm = length of force vector for all atoms nbuild = # of neighbor list builds ndanger = # of dangerous neighbor list builds - cella,cellb,cellc = periodic cell lattice constants a,b,c - cellalpha, cellbeta, cellgamma = periodic cell angles alpha,beta,gamma c_ID = global scalar value calculated by a compute with ID c_ID[I] = Ith component of global vector calculated by a compute with ID, I can include wildcard (see below) c_ID[I][J] = I,J component of global array calculated by a compute with ID @@ -248,7 +257,7 @@ and *pxx*, *pyy*, etc. ---------- Here is more information on other keywords whose meaning may not be -clear: +clear. The *step*, *elapsed*, and *elaplong* keywords refer to timestep count. *Step* is the current timestep, or iteration count when a @@ -322,6 +331,38 @@ thermostatting or barostatting to their coupling reservoirs -- that is, the NVT, NPH, or NPT ensembles, the *econserve* quantity should remain constant over time even though *etotal* may change. +In LAMMPS, the simulation box can be defined as orthogonal or +triclinic (non-orthogonal). See the :doc:`Howto_triclinic +` doc page for a detailed explanation of orthogonal, +restricted triclinic, and general triclinic simulation boxes and how +LAMMPS rotates a general triclinic box to be restricted triclinic +internally. + +The *lx*, *ly*, *lz* keywords are the extent of the simulation box in +each dimension. The *xlo*, *xhi*, *ylo*, *yhi*, *zlo*, *zhi* keywords +are the lower and upper bounds of the simulation box in each +dimension. I.e. *lx* = *xhi* - *xlo). These 9 values are the same +for all 3 kinds of boxes. I.e. for a restricted triclinic box, they +are the values as if the box were not tilted. For a general triclinic +box, they are the values after it is internally rotated to be a +restricted triclinic box. + +THe *xy*, *xz*, *yz* are the current tilt factors for a triclinic box. +They are the same for restricted and general triclinic boxes. + +The *avecx*, *avecy*, *avecz*, *bvecx*, *bvecy*, *bvecz*, *cvecx*, +*cvecy*, *cvecz* are the components of the 3 edge vectors of the +current general triclinic box. They are only non-zero if a general +triclinic box was defined when the simultion box was created. + +The *cella*, *cellb*, *cellc*, *cellalpha*, *cellbeta*, *cellgamma* +keywords correspond to the usual crystallographic quantities that +define the periodic simulation box of a crystalline system. See the +:doc:`Howto triclinic ` page for a precise definition +of these quantities in terms of the LAMMPS representation of a +restricted triclinic simulation box via *lx*, *ly*, *lz*, *yz*, *xz*, +*xy*\ . + The *pxx,pyy,pzz,pxy,pxz,pyz* keywords are the 6 components of the symmetric pressure tensor for the system. See the :doc:`compute pressure ` command doc page for details of how it is @@ -329,7 +370,7 @@ calculated. If the :doc:`thermo_modify triclinic/general ` option is set and the simulation box was created as a general triclinic box, -then the components will be output as values consistent with the +then the 6 components will be output as values consistent with the orientation of the general triclinic box relative to the standard xyz coordinate axes. If this keyword is not used, the values will be consistent with the orientation of the restricted triclinic box (which @@ -362,14 +403,6 @@ to reduce the delay factor to ensure no force interactions are missed by atoms moving beyond the neighbor skin distance before a rebuild takes place. -The keywords *cella*, *cellb*, *cellc*, *cellalpha*, *cellbeta*, -*cellgamma*, correspond to the usual crystallographic quantities that -define the periodic unit cell of a crystal. See the :doc:`Howto -triclinic ` page for a geometric description of -restricted triclinic periodic cells, including a precise definition of -these quantities in terms of the internal LAMMPS cell dimensions *lx*, -*ly*, *lz*, *yz*, *xz*, *xy*\ . - ---------- For output values from a compute or fix or variable, the bracketed diff --git a/examples/README b/examples/README index 62a09f654d..f76dced3e4 100644 --- a/examples/README +++ b/examples/README @@ -115,6 +115,7 @@ tad: temperature-accelerated dynamics of vacancy diffusion in bulk Si template: examples for using atom_style template and comparing to atom style molecular tersoff: regression test input for Tersoff variants threebody: regression test input for a variety of threebody potentials +triclinic: general and restricted triclinic examples ttm: two-temeperature model examples vashishta: models using the Vashishta potential voronoi: Voronoi tesselation via compute voronoi/atom command diff --git a/src/domain.cpp b/src/domain.cpp index 1a553061fb..adc85b68b9 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -87,7 +87,10 @@ Domain::Domain(LAMMPS *lmp) : Pointers(lmp) boxlo[0] = boxlo[1] = boxlo[2] = -0.5; boxhi[0] = boxhi[1] = boxhi[2] = 0.5; xy = xz = yz = 0.0; - + avec[0] = avec[1] = avec[2] = 0.0; + bvec[0] = bvec[1] = bvec[2] = 0.0; + cvec[0] = cvec[1] = cvec[2] = 0.0; + h[3] = h[4] = h[5] = 0.0; h_inv[3] = h_inv[4] = h_inv[5] = 0.0; h_rate[0] = h_rate[1] = h_rate[2] = diff --git a/src/thermo.cpp b/src/thermo.cpp index 999932c407..4ba29bbc73 100644 --- a/src/thermo.cpp +++ b/src/thermo.cpp @@ -56,17 +56,18 @@ using namespace MathExtra; // CUSTOMIZATION: add a new keyword by adding it to this list: -// step, elapsed, elaplong, dt, time, cpu, tpcpu, spcpu, cpuremain, -// part, timeremain +// step, elapsed, elaplong, dt, time, cpu, tpcpu, spcpu, cpuremain, part, timeremain // atoms, temp, press, pe, ke, etotal // evdwl, ecoul, epair, ebond, eangle, edihed, eimp, emol, elong, etail // enthalpy, ecouple, econserve -// vol, density, lx, ly, lz, xlo, xhi, ylo, yhi, zlo, zhi, xy, xz, yz +// vol, density, lx, ly, lz, +// xlo, xhi, ylo, yhi, zlo, zhi, xy, xz, yz +// avecx, avecy, avecz, bvecx, bvecy, bvecz, cvecx, cvecy, cvecz, // xlat, ylat, zlat -// bonds, angles, dihedrals, impropers -// pxx, pyy, pzz, pxy, pxz, pyz -// fmax, fnorm, nbuild, ndanger // cella, cellb, cellc, cellalpha, cellbeta, cellgamma +// pxx, pyy, pzz, pxy, pxz, pyz +// bonds, angles, dihedrals, impropers +// fmax, fnorm, nbuild, ndanger // CUSTOMIZATION: add a new thermo style by adding a constant to the enumerator, // define a new string constant with the keywords and provide default formats. @@ -916,6 +917,7 @@ void Thermo::parse_fields(const std::string &str) addfield("Volume", &Thermo::compute_vol, FLOAT); } else if (word == "density") { addfield("Density", &Thermo::compute_density, FLOAT); + } else if (word == "lx") { addfield("Lx", &Thermo::compute_lx, FLOAT); } else if (word == "ly") { @@ -943,6 +945,25 @@ void Thermo::parse_fields(const std::string &str) } else if (word == "yz") { addfield("Yz", &Thermo::compute_yz, FLOAT); + } else if (word == "avecx") { + addfield("Avecx", &Thermo::compute_avecx, FLOAT); + } else if (word == "avecy") { + addfield("Avecy", &Thermo::compute_avecy, FLOAT); + } else if (word == "avecz") { + addfield("Avecz", &Thermo::compute_avecz, FLOAT); + } else if (word == "bvecx") { + addfield("Bvecx", &Thermo::compute_bvecx, FLOAT); + } else if (word == "bvecy") { + addfield("Bvecy", &Thermo::compute_bvecy, FLOAT); + } else if (word == "bvecz") { + addfield("Bvecz", &Thermo::compute_bvecz, FLOAT); + } else if (word == "cvecx") { + addfield("Cvecx", &Thermo::compute_cvecx, FLOAT); + } else if (word == "cvecy") { + addfield("Cvecy", &Thermo::compute_cvecy, FLOAT); + } else if (word == "cvecz") { + addfield("Cvecz", &Thermo::compute_cvecz, FLOAT); + } else if (word == "xlat") { addfield("Xlat", &Thermo::compute_xlat, FLOAT); } else if (word == "ylat") { @@ -950,14 +971,18 @@ void Thermo::parse_fields(const std::string &str) } else if (word == "zlat") { addfield("Zlat", &Thermo::compute_zlat, FLOAT); - } else if (word == "bonds") { - addfield("Bonds", &Thermo::compute_bonds, BIGINT); - } else if (word == "angles") { - addfield("Angles", &Thermo::compute_angles, BIGINT); - } else if (word == "dihedrals") { - addfield("Diheds", &Thermo::compute_dihedrals, BIGINT); - } else if (word == "impropers") { - addfield("Impros", &Thermo::compute_impropers, BIGINT); + } else if (word == "cella") { + addfield("Cella", &Thermo::compute_cella, FLOAT); + } else if (word == "cellb") { + addfield("Cellb", &Thermo::compute_cellb, FLOAT); + } else if (word == "cellc") { + addfield("Cellc", &Thermo::compute_cellc, FLOAT); + } else if (word == "cellalpha") { + addfield("CellAlpha", &Thermo::compute_cellalpha, FLOAT); + } else if (word == "cellbeta") { + addfield("CellBeta", &Thermo::compute_cellbeta, FLOAT); + } else if (word == "cellgamma") { + addfield("CellGamma", &Thermo::compute_cellgamma, FLOAT); } else if (word == "pxx") { if (triclinic_general) @@ -990,6 +1015,15 @@ void Thermo::parse_fields(const std::string &str) addfield("Pyz", &Thermo::compute_pyz, FLOAT); index_press_vector = add_compute(id_press, VECTOR); + } else if (word == "bonds") { + addfield("Bonds", &Thermo::compute_bonds, BIGINT); + } else if (word == "angles") { + addfield("Angles", &Thermo::compute_angles, BIGINT); + } else if (word == "dihedrals") { + addfield("Diheds", &Thermo::compute_dihedrals, BIGINT); + } else if (word == "impropers") { + addfield("Impros", &Thermo::compute_impropers, BIGINT); + } else if (word == "fmax") { addfield("Fmax", &Thermo::compute_fmax, FLOAT); } else if (word == "fnorm") { @@ -1000,19 +1034,6 @@ void Thermo::parse_fields(const std::string &str) } else if (word == "ndanger") { addfield("Ndanger", &Thermo::compute_ndanger, BIGINT); - } else if (word == "cella") { - addfield("Cella", &Thermo::compute_cella, FLOAT); - } else if (word == "cellb") { - addfield("Cellb", &Thermo::compute_cellb, FLOAT); - } else if (word == "cellc") { - addfield("Cellc", &Thermo::compute_cellc, FLOAT); - } else if (word == "cellalpha") { - addfield("CellAlpha", &Thermo::compute_cellalpha, FLOAT); - } else if (word == "cellbeta") { - addfield("CellBeta", &Thermo::compute_cellbeta, FLOAT); - } else if (word == "cellgamma") { - addfield("CellGamma", &Thermo::compute_cellgamma, FLOAT); - // compute value = c_ID, fix value = f_ID, variable value = v_ID // count trailing [] and store int arguments @@ -1316,22 +1337,6 @@ int Thermo::evaluate_keyword(const std::string &word, double *answer) compute_atoms(); dvalue = bivalue; - } else if (word == "bonds") { - compute_bonds(); - dvalue = bivalue; - - } else if (word == "angles") { - compute_angles(); - dvalue = bivalue; - - } else if (word == "dihedrals") { - compute_dihedrals(); - dvalue = bivalue; - - } else if (word == "impropers") { - compute_impropers(); - dvalue = bivalue; - } else if (word == "temp") { check_temp(word); compute_temp(); @@ -1412,6 +1417,7 @@ int Thermo::evaluate_keyword(const std::string &word, double *answer) compute_vol(); else if (word == "density") compute_density(); + else if (word == "lx") compute_lx(); else if (word == "ly") @@ -1439,6 +1445,25 @@ int Thermo::evaluate_keyword(const std::string &word, double *answer) else if (word == "yz") compute_yz(); + else if (word == "avecx") + compute_avecx(); + else if (word == "avecy") + compute_avecy(); + else if (word == "avecz") + compute_avecz(); + else if (word == "bvecx") + compute_bvecx(); + else if (word == "bvecy") + compute_bvecy(); + else if (word == "bvecz") + compute_bvecz(); + else if (word == "cvecx") + compute_cvecx(); + else if (word == "cvecy") + compute_cvecy(); + else if (word == "cvecz") + compute_cvecz(); + else if (word == "xlat") compute_xlat(); else if (word == "ylat") @@ -1446,6 +1471,19 @@ int Thermo::evaluate_keyword(const std::string &word, double *answer) else if (word == "zlat") compute_zlat(); + else if (word == "cella") + compute_cella(); + else if (word == "cellb") + compute_cellb(); + else if (word == "cellc") + compute_cellc(); + else if (word == "cellalpha") + compute_cellalpha(); + else if (word == "cellbeta") + compute_cellbeta(); + else if (word == "cellgamma") + compute_cellgamma(); + else if (word == "pxx") { check_press_vector(word); if (triclinic_general) compute_pxx_triclinic_general(); @@ -1475,9 +1513,24 @@ int Thermo::evaluate_keyword(const std::string &word, double *answer) check_press_vector(word); if (triclinic_general) compute_pyz_triclinic_general(); else compute_pyz(); - } - else if (word == "fmax") + } else if (word == "bonds") { + compute_bonds(); + dvalue = bivalue; + + } else if (word == "angles") { + compute_angles(); + dvalue = bivalue; + + } else if (word == "dihedrals") { + compute_dihedrals(); + dvalue = bivalue; + + } else if (word == "impropers") { + compute_impropers(); + dvalue = bivalue; + + } else if (word == "fmax") compute_fmax(); else if (word == "fnorm") compute_fnorm(); @@ -1490,19 +1543,6 @@ int Thermo::evaluate_keyword(const std::string &word, double *answer) dvalue = bivalue; } - else if (word == "cella") - compute_cella(); - else if (word == "cellb") - compute_cellb(); - else if (word == "cellc") - compute_cellc(); - else if (word == "cellalpha") - compute_cellalpha(); - else if (word == "cellbeta") - compute_cellbeta(); - else if (word == "cellgamma") - compute_cellgamma(); - else return 1; @@ -1774,23 +1814,6 @@ void Thermo::compute_etotal() /* ---------------------------------------------------------------------- */ -void Thermo::compute_ecouple() -{ - dvalue = modify->energy_couple(); -} - -/* ---------------------------------------------------------------------- */ - -void Thermo::compute_econserve() -{ - compute_etotal(); - double dvalue_etotal = dvalue; - compute_ecouple(); - dvalue += dvalue_etotal; -} - -/* ---------------------------------------------------------------------- */ - void Thermo::compute_evdwl() { double tmp = 0.0; @@ -1938,6 +1961,23 @@ void Thermo::compute_enthalpy() /* ---------------------------------------------------------------------- */ +void Thermo::compute_ecouple() +{ + dvalue = modify->energy_couple(); +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_econserve() +{ + compute_etotal(); + double dvalue_etotal = dvalue; + compute_ecouple(); + dvalue += dvalue_etotal; +} + +/* ---------------------------------------------------------------------- */ + void Thermo::compute_vol() { if (domain->dimension == 3) @@ -2041,6 +2081,67 @@ void Thermo::compute_yz() /* ---------------------------------------------------------------------- */ +void Thermo::compute_avecx() +{ + dvalue = domain->avec[0]; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_avecy() +{ + dvalue = domain->avec[1]; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_avecz() +{ + dvalue = domain->avec[2]; +} +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_bvecx() +{ + dvalue = domain->bvec[0]; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_bvecy() +{ + dvalue = domain->bvec[1]; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_bvecz() +{ + dvalue = domain->bvec[2]; +} +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_cvecx() +{ + dvalue = domain->cvec[0]; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_cvecy() +{ + dvalue = domain->cvec[1]; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_cvecz() +{ + dvalue = domain->cvec[2]; +} + +/* ---------------------------------------------------------------------- */ + void Thermo::compute_xlat() { dvalue = domain->lattice->xlattice; @@ -2062,30 +2163,82 @@ void Thermo::compute_zlat() /* ---------------------------------------------------------------------- */ -void Thermo::compute_bonds() +void Thermo::compute_cella() { - bivalue = atom->nbonds; + dvalue = domain->xprd; } /* ---------------------------------------------------------------------- */ -void Thermo::compute_angles() +void Thermo::compute_cellb() { - bivalue = atom->nangles; + if (!domain->triclinic) + dvalue = domain->yprd; + else { + double *h = domain->h; + dvalue = sqrt(h[1] * h[1] + h[5] * h[5]); + } } /* ---------------------------------------------------------------------- */ -void Thermo::compute_dihedrals() +void Thermo::compute_cellc() { - bivalue = atom->ndihedrals; + if (!domain->triclinic) + dvalue = domain->zprd; + else { + double *h = domain->h; + dvalue = sqrt(h[2] * h[2] + h[3] * h[3] + h[4] * h[4]); + } } /* ---------------------------------------------------------------------- */ -void Thermo::compute_impropers() +void Thermo::compute_cellalpha() { - bivalue = atom->nimpropers; + if (!domain->triclinic) + dvalue = 90.0; + else { + + // Cos(alpha) = (xy.xz + ly.yz)/(b.c) + + double *h = domain->h; + double cosalpha = (h[5] * h[4] + h[1] * h[3]) / + sqrt((h[1] * h[1] + h[5] * h[5]) * (h[2] * h[2] + h[3] * h[3] + h[4] * h[4])); + dvalue = acos(cosalpha) * 180.0 / MY_PI; + } +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_cellbeta() +{ + if (!domain->triclinic) + dvalue = 90.0; + else { + + // Cos(beta) = xz/c + + double *h = domain->h; + double cosbeta = h[4] / sqrt(h[2] * h[2] + h[3] * h[3] + h[4] * h[4]); + dvalue = acos(cosbeta) * 180.0 / MY_PI; + } +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_cellgamma() +{ + if (!domain->triclinic) + dvalue = 90.0; + else { + + // Cos(gamma) = xy/b + + double *h = domain->h; + double cosgamma = h[5] / sqrt(h[1] * h[1] + h[5] * h[5]); + dvalue = acos(cosgamma) * 180.0 / MY_PI; + } } /* ---------------------------------------------------------------------- */ @@ -2192,6 +2345,34 @@ void Thermo::compute_pyz_triclinic_general() /* ---------------------------------------------------------------------- */ +void Thermo::compute_bonds() +{ + bivalue = atom->nbonds; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_angles() +{ + bivalue = atom->nangles; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_dihedrals() +{ + bivalue = atom->ndihedrals; +} + +/* ---------------------------------------------------------------------- */ + +void Thermo::compute_impropers() +{ + bivalue = atom->nimpropers; +} + +/* ---------------------------------------------------------------------- */ + void Thermo::compute_fmax() { double **f = atom->f; @@ -2235,83 +2416,3 @@ void Thermo::compute_ndanger() { bivalue = neighbor->ndanger; } - -/* ---------------------------------------------------------------------- */ - -void Thermo::compute_cella() -{ - dvalue = domain->xprd; -} - -/* ---------------------------------------------------------------------- */ - -void Thermo::compute_cellb() -{ - if (!domain->triclinic) - dvalue = domain->yprd; - else { - double *h = domain->h; - dvalue = sqrt(h[1] * h[1] + h[5] * h[5]); - } -} - -/* ---------------------------------------------------------------------- */ - -void Thermo::compute_cellc() -{ - if (!domain->triclinic) - dvalue = domain->zprd; - else { - double *h = domain->h; - dvalue = sqrt(h[2] * h[2] + h[3] * h[3] + h[4] * h[4]); - } -} - -/* ---------------------------------------------------------------------- */ - -void Thermo::compute_cellalpha() -{ - if (!domain->triclinic) - dvalue = 90.0; - else { - - // Cos(alpha) = (xy.xz + ly.yz)/(b.c) - - double *h = domain->h; - double cosalpha = (h[5] * h[4] + h[1] * h[3]) / - sqrt((h[1] * h[1] + h[5] * h[5]) * (h[2] * h[2] + h[3] * h[3] + h[4] * h[4])); - dvalue = acos(cosalpha) * 180.0 / MY_PI; - } -} - -/* ---------------------------------------------------------------------- */ - -void Thermo::compute_cellbeta() -{ - if (!domain->triclinic) - dvalue = 90.0; - else { - - // Cos(beta) = xz/c - - double *h = domain->h; - double cosbeta = h[4] / sqrt(h[2] * h[2] + h[3] * h[3] + h[4] * h[4]); - dvalue = acos(cosbeta) * 180.0 / MY_PI; - } -} - -/* ---------------------------------------------------------------------- */ - -void Thermo::compute_cellgamma() -{ - if (!domain->triclinic) - dvalue = 90.0; - else { - - // Cos(gamma) = xy/b - - double *h = domain->h; - double cosgamma = h[5] / sqrt(h[1] * h[1] + h[5] * h[5]); - dvalue = acos(cosgamma) * 180.0 / MY_PI; - } -} diff --git a/src/thermo.h b/src/thermo.h index a82d462585..31036f55d3 100644 --- a/src/thermo.h +++ b/src/thermo.h @@ -176,6 +176,7 @@ class Thermo : protected Pointers { void compute_vol(); void compute_density(); + void compute_lx(); void compute_ly(); void compute_lz(); @@ -191,14 +192,26 @@ class Thermo : protected Pointers { void compute_xz(); void compute_yz(); + void compute_avecx(); + void compute_avecy(); + void compute_avecz(); + void compute_bvecx(); + void compute_bvecy(); + void compute_bvecz(); + void compute_cvecx(); + void compute_cvecy(); + void compute_cvecz(); + void compute_xlat(); void compute_ylat(); void compute_zlat(); - void compute_bonds(); - void compute_angles(); - void compute_dihedrals(); - void compute_impropers(); + void compute_cella(); + void compute_cellb(); + void compute_cellc(); + void compute_cellalpha(); + void compute_cellbeta(); + void compute_cellgamma(); void compute_pxx(); void compute_pyy(); @@ -211,8 +224,13 @@ class Thermo : protected Pointers { void compute_pyy_triclinic_general(); void compute_pzz_triclinic_general(); void compute_pxy_triclinic_general(); - void compute_pyz_triclinic_general(); void compute_pxz_triclinic_general(); + void compute_pyz_triclinic_general(); + + void compute_bonds(); + void compute_angles(); + void compute_dihedrals(); + void compute_impropers(); void compute_fmax(); void compute_fnorm(); @@ -220,12 +238,6 @@ class Thermo : protected Pointers { void compute_nbuild(); void compute_ndanger(); - void compute_cella(); - void compute_cellb(); - void compute_cellc(); - void compute_cellalpha(); - void compute_cellbeta(); - void compute_cellgamma(); }; } // namespace LAMMPS_NS From af88cec22df5ad39e7670a38d4ba35c7fc21769e Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 5 Apr 2024 15:12:46 -0600 Subject: [PATCH 421/559] relax error check on fixes that produce variable size vectors/arrays --- src/thermo.cpp | 20 ++++++++++++-------- src/variable.cpp | 16 ++++++++++++---- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/src/thermo.cpp b/src/thermo.cpp index 5ef5eb59b8..128f8573cf 100644 --- a/src/thermo.cpp +++ b/src/thermo.cpp @@ -1515,15 +1515,16 @@ void Thermo::compute_fix() int m = field2index[ifield]; Fix *fix = fixes[m]; - // check for out-of-range access if vector/array is variable length - if (argindex1[ifield] == 0) { dvalue = fix->compute_scalar(); if (normflag && fix->extscalar) dvalue /= natoms; } else if (argindex2[ifield] == 0) { - if (fix->size_vector_variable && argindex1[ifield] > fix->size_vector) - error->all(FLERR, "Thermo fix vector is accessed out-of-range"); - dvalue = fix->compute_vector(argindex1[ifield] - 1); + + // if index exceeds variable vector length, use a zero value + // this can be useful if vector length is not known a priori + + if (fix->size_vector_variable && argindex1[ifield] > fix->size_vector) dvalue = 0.0; + else dvalue = fix->compute_vector(argindex1[ifield] - 1); if (normflag) { if (fix->extvector == 0) return; @@ -1533,9 +1534,12 @@ void Thermo::compute_fix() dvalue /= natoms; } } else { - if (fix->size_array_rows_variable && argindex1[ifield] > fix->size_array_rows) - error->all(FLERR, "Thermo fix array is accessed out-of-range"); - dvalue = fix->compute_array(argindex1[ifield] - 1, argindex2[ifield] - 1); + + // if index exceeds variable array rows, use a zero value + // this can be useful if array size is not known a priori + + if (fix->size_array_rows_variable && argindex1[ifield] > fix->size_array_rows) dvalue = 0.0; + else dvalue = fix->compute_array(argindex1[ifield] - 1, argindex2[ifield] - 1); if (normflag && fix->extarray) dvalue /= natoms; } } diff --git a/src/variable.cpp b/src/variable.cpp index c99e4a4761..896b193313 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -1807,12 +1807,16 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) if (!fix->vector_flag) print_var_error(FLERR,"Mismatched fix in variable formula",ivar); - if (index1 > fix->size_vector) + if (index1 > fix->size_vector && fix->size_vector_variable == 0) print_var_error(FLERR,"Variable formula fix vector is accessed out-of-range",ivar,0); if (update->whichflag > 0 && update->ntimestep % fix->global_freq) print_var_error(FLERR,"Fix in variable not computed at a compatible time",ivar); - value1 = fix->compute_vector(index1-1); + // if index exceeds variable vector length, use a zero value + // this can be useful if vector length is not known a priori + + if (fix->size_vector_variable && index1 > fix->size_vector) value1 = 0.0; + else value1 = fix->compute_vector(index1-1); argstack[nargstack++] = value1; // f_ID[i][j] = scalar from global array @@ -1821,14 +1825,18 @@ double Variable::evaluate(char *str, Tree **tree, int ivar) if (!fix->array_flag) print_var_error(FLERR,"Mismatched fix in variable formula",ivar); - if (index1 > fix->size_array_rows) + if (index1 > fix->size_array_rows && fix->size_array_rows_variable == 0) print_var_error(FLERR,"Variable formula fix array is accessed out-of-range",ivar,0); if (index2 > fix->size_array_cols) print_var_error(FLERR,"Variable formula fix array is accessed out-of-range",ivar,0); if (update->whichflag > 0 && update->ntimestep % fix->global_freq) print_var_error(FLERR,"Fix in variable not computed at a compatible time",ivar); - value1 = fix->compute_array(index1-1,index2-1); + // if index exceeds variable array rows, use a zero value + // this can be useful if array size is not known a priori + + if (fix->size_array_rows_variable && index1 > fix->size_array_rows) value1 = 0.0; + else value1 = fix->compute_array(index1-1,index2-1); argstack[nargstack++] = value1; // F_ID[i] = scalar element of per-atom vector, note uppercase "F" From 7122a85c0be09cc86665fecb8a3d1ce67361d362 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 5 Apr 2024 15:43:54 -0600 Subject: [PATCH 422/559] remove some debug info --- doc/src/Howto_triclinic.rst | 8 ++++---- src/domain.cpp | 22 ---------------------- 2 files changed, 4 insertions(+), 26 deletions(-) diff --git a/doc/src/Howto_triclinic.rst b/doc/src/Howto_triclinic.rst index 9af941e4a6..d74243c888 100644 --- a/doc/src/Howto_triclinic.rst +++ b/doc/src/Howto_triclinic.rst @@ -98,13 +98,13 @@ keywords for outputting the various parameters that define the size and shape of orthogonal, restricted triclinic, and general triclinic simulation boxes. -For orthogonal boxes there these are the 6 thermo keywords -(xlo,ylo,zlo) and (xhi,yhi,zhi). +For orthogonal boxes there 6 thermo keywords (xlo,ylo,zlo) and +(xhi,yhi,zhi). -For restricted triclinic boxes these are the 9 thermo keywords for +For restricted triclinic boxes there are 9 thermo keywords for (xlo,ylo,zlo), (xhi,yhi,zhi), and the (xy,xz,yz) tilt factors. -For general triclinic boxes these are the 12 thermo keywords for +For general triclinic boxes there are 12 thermo keywords for (xlo,ylo,zhi) and the components of the **A**, **B**, **C** edge vectors, namely (avecx,avecy,avecz), (bvecx,bvecy,bvecz), and (cvecx,cvecy,cvecz), diff --git a/src/domain.cpp b/src/domain.cpp index adc85b68b9..4e00144f57 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -598,28 +598,6 @@ void Domain::define_general_triclinic(double *avec_caller, double *bvec_caller, xy = bprime[0]; xz = cprime[0]; yz = cprime[1]; - - // debug - - /* - printf("Theta1: %g\n",theta1); - printf("Rotvec1: %g %g %g\n",rot1[0],rot1[1],rot1[2]); - printf("Theta2: %g\n",theta2); - printf("Rotvec2: %g %g %g\n",xaxis[0],xaxis[1],xaxis[2]); - printf("Quat: %g %g %g %g\n", - quat_single[0],quat_single[1],quat_single[2],quat_single[3]); - double angle = 2.0*acos(quat_single[0]); - printf("Theta: %g\n",angle); - printf("Rotvec: %g %g %g\n", - quat_single[1]/sin(0.5*angle),quat_single[2]/sin(0.5*angle), - quat_single[3]/sin(0.5*angle)); - printf("Aprime: %g %g %g\n",aprime[0],aprime[1],aprime[2]); - printf("Bprime: %g %g %g\n",bprime[0],bprime[1],bprime[2]); - printf("Cprime: %g %g %g\n",cprime[0],cprime[1],cprime[2]); - printf("Length A: %g %g\n",MathExtra::len3(avec),MathExtra::len3(aprime)); - printf("Length B: %g %g\n",MathExtra::len3(bvec),MathExtra::len3(bprime)); - printf("Length C: %g %g\n",MathExtra::len3(cvec),MathExtra::len3(cprime)); - */ } /* ---------------------------------------------------------------------- From 0f5221a485d840713205b309e26c5e7a98364028 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Fri, 5 Apr 2024 15:55:13 -0600 Subject: [PATCH 423/559] Improve Kokkos sorting --- src/KOKKOS/atom_kokkos.cpp | 4 +-- src/KOKKOS/atom_kokkos.h | 5 ---- src/KOKKOS/atom_map_kokkos.cpp | 48 +++++----------------------------- src/KOKKOS/comm_kokkos.cpp | 11 ++------ 4 files changed, 10 insertions(+), 58 deletions(-) diff --git a/src/KOKKOS/atom_kokkos.cpp b/src/KOKKOS/atom_kokkos.cpp index b1a066f165..6707deddd5 100644 --- a/src/KOKKOS/atom_kokkos.cpp +++ b/src/KOKKOS/atom_kokkos.cpp @@ -31,9 +31,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -AtomKokkos::AtomKokkos(LAMMPS *lmp) : Atom(lmp), -mapBinner(1, 0.0, 1.0), // no default constructor, these values are not used -mapSorter(d_tag_sorted, 0, 1, mapBinner, true) +AtomKokkos::AtomKokkos(LAMMPS *lmp) : Atom(lmp) { avecKK = nullptr; diff --git a/src/KOKKOS/atom_kokkos.h b/src/KOKKOS/atom_kokkos.h index 652e6c2191..d6c32624f3 100644 --- a/src/KOKKOS/atom_kokkos.h +++ b/src/KOKKOS/atom_kokkos.h @@ -101,11 +101,6 @@ class AtomKokkos : public Atom { DAT::t_tagint_scalar d_tag_min,d_tag_max; HAT::t_tagint_scalar h_tag_min,h_tag_max; - using MapKeyViewType = decltype(d_tag_sorted); - using BinOpMap = Kokkos::BinOp1D; - BinOpMap mapBinner; - Kokkos::BinSort mapSorter; - class AtomVecKokkos* avecKK; // map lookup function inlined for efficiency diff --git a/src/KOKKOS/atom_map_kokkos.cpp b/src/KOKKOS/atom_map_kokkos.cpp index 8203e1e6a2..ca493ea04d 100644 --- a/src/KOKKOS/atom_map_kokkos.cpp +++ b/src/KOKKOS/atom_map_kokkos.cpp @@ -197,59 +197,25 @@ void AtomKokkos::map_set_device() int nmax = atom->nmax; - int realloc_flag = 0; if (!d_tag_sorted.data() || (int)d_tag_sorted.extent(0) < nmax) { MemKK::realloc_kokkos(d_tag_sorted,"atom:tag_sorted",nmax); MemKK::realloc_kokkos(d_i_sorted,"atom:i_sorted",nmax); - realloc_flag = 1; } - h_tag_min() = MAXTAGINT; - h_tag_max() = 0; + // sort by tag - Kokkos::deep_copy(d_tag_min_max,h_tag_min_max); - - auto l_tag_sorted = d_tag_sorted; - auto l_i_sorted = d_i_sorted; - auto l_tag_min = d_tag_min; - auto l_tag_max = d_tag_max; + auto l_tag_sorted = Kokkos::subview(d_tag_sorted,std::make_pair(0,nall)); + auto l_i_sorted = Kokkos::subview(d_i_sorted,std::make_pair(0,nall)); + auto l_tag_small = Kokkos::subview(d_tag,std::make_pair(0,nall)); int map_style_array = (map_style == MAP_ARRAY); Kokkos::parallel_for(nall, LAMMPS_LAMBDA(int i) { l_i_sorted(i) = i; - tagint tag_i = d_tag(i); - l_tag_sorted(i) = tag_i; - Kokkos::atomic_min(&l_tag_min(),tag_i); - Kokkos::atomic_max(&l_tag_max(),tag_i); + l_tag_sorted(i) = d_tag(i); }); - Kokkos::deep_copy(h_tag_min_max,d_tag_min_max); - - tagint min = h_tag_min(); - tagint max = h_tag_max(); - - using MapKeyViewType = decltype(d_tag_sorted); - using BinOpMap = Kokkos::BinOp1D; - - mapBinner = BinOpMap(nall, min, max); - - if (realloc_flag) { - mapSorter = Kokkos::BinSort(d_tag_sorted, 0, nall, mapBinner, true); - MemKK::realloc_kokkos(mapSorter.bin_count_atomic,"Kokkos::SortImpl::BinSortFunctor::bin_count",nmax+1); - Kokkos::deep_copy(mapSorter.bin_count_atomic,0); - mapSorter.bin_count_const = mapSorter.bin_count_atomic; - MemKK::realloc_kokkos(mapSorter.bin_offsets,"Kokkos::SortImpl::BinSortFunctor::bin_offsets",nmax+1); - MemKK::realloc_kokkos(mapSorter.sort_order,"Kokkos::SortImpl::BinSortFunctor::sort_order",nmax); - } else { - Kokkos::deep_copy(mapSorter.bin_count_atomic,0); - mapSorter.bin_op = mapBinner; - mapSorter.range_begin = 0; - mapSorter.range_end = nall; - } - - mapSorter.create_permute_vector(LMPDeviceType()); - mapSorter.sort(LMPDeviceType(), d_tag_sorted, 0, nall); - mapSorter.sort(LMPDeviceType(), d_i_sorted, 0, nall); + Kokkos::Experimental::sort_by_key(LMPDeviceType(), l_tag_small, l_i_sorted); + Kokkos::sort(LMPDeviceType(),l_tag_sorted); auto d_map_array = k_map_array.d_view; auto d_map_hash = k_map_hash.d_view; diff --git a/src/KOKKOS/comm_kokkos.cpp b/src/KOKKOS/comm_kokkos.cpp index 2425857d61..8f821c3036 100644 --- a/src/KOKKOS/comm_kokkos.cpp +++ b/src/KOKKOS/comm_kokkos.cpp @@ -880,15 +880,8 @@ void CommKokkos::exchange_device() // sort exchange_sendlist - auto d_exchange_sendlist = k_exchange_sendlist.view(); - using KeyViewType = decltype(d_exchange_sendlist); - using BinOp = Kokkos::BinOp1D; - - BinOp binner(count, 0, nlocal); - Kokkos::BinSort Sorter(d_exchange_sendlist, 0, count, binner, true); - Sorter.create_permute_vector(DeviceType()); - Sorter.sort(DeviceType(), d_exchange_sendlist, 0, count); - + auto d_exchange_sendlist = Kokkos::subview(k_exchange_sendlist.view(),std::make_pair(0,count)); + Kokkos::sort(DeviceType(), d_exchange_sendlist); k_exchange_sendlist.sync(); // when atom is deleted, fill it in with last atom From 1a019889f2f811d490b3d4a4281414b9be6a7991 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 5 Apr 2024 16:22:54 -0600 Subject: [PATCH 424/559] more doc page and thermo edge vector modifications --- doc/src/thermo_modify.rst | 10 +++++----- doc/src/thermo_style.rst | 23 ++++++++++++++--------- src/domain.cpp | 3 --- src/thermo.cpp | 36 +++++++++++++++++++++++++++--------- 4 files changed, 46 insertions(+), 26 deletions(-) diff --git a/doc/src/thermo_modify.rst b/doc/src/thermo_modify.rst index 72f36b1198..5eadf2fa10 100644 --- a/doc/src/thermo_modify.rst +++ b/doc/src/thermo_modify.rst @@ -247,11 +247,11 @@ was created as a general triclinic box. See the :doc:`Howto_triclinic ` doc page for a detailed explanation of orthogonal, restricted triclinic, and general triclinic simulation boxes. -If this keyword is used, the output of pressure tensor components for -the system is affected. These components are specified by the -*pxx,pyy,pzz,pxy,pxz,pyz* keywords of the :doc:`thermo_style -` command. See the :doc:`thermo_style ` -doc page for details. +If this keyword is used, the output of the simulation box edge vectors +and the pressure tensor components for the system are affected. These +are specified by the *avec,bvec,cvec* and *pxx,pyy,pzz,pxy,pxz,pyz* +keywords of the :doc:`thermo_style ` command. See the +:doc:`thermo_style ` doc page for details. Restrictions """""""""""" diff --git a/doc/src/thermo_style.rst b/doc/src/thermo_style.rst index cdb39fe8a5..b16b2d26cb 100644 --- a/doc/src/thermo_style.rst +++ b/doc/src/thermo_style.rst @@ -74,9 +74,9 @@ Syntax density = mass density of system xlo,xhi,ylo,yhi,zlo,zhi = box boundaries xy,xz,yz = box tilt for restricted triclinic (non-orthogonal) simulation boxes - avecx,avecy,avecz = components of edge vector A for general triclinic simulation boxes - bvecx,bvecy,bvecz = components of edge vector B for general triclinic simulation boxes - cvecx,cvecy,cvecz = components of edge vector C for general triclinic simulation boxes + avecx,avecy,avecz = components of edge vector A of the simulation box + bvecx,bvecy,bvecz = components of edge vector B of the simulation box + cvecx,cvecy,cvecz = components of edge vector C of the simulation box lx,ly,lz = box lengths in x,y,z xlat,ylat,zlat = lattice spacings as calculated by :doc:`lattice ` command cella,cellb,cellc = periodic cell lattice constants a,b,c @@ -352,8 +352,14 @@ They are the same for restricted and general triclinic boxes. The *avecx*, *avecy*, *avecz*, *bvecx*, *bvecy*, *bvecz*, *cvecx*, *cvecy*, *cvecz* are the components of the 3 edge vectors of the -current general triclinic box. They are only non-zero if a general -triclinic box was defined when the simultion box was created. +current general simulation box. If it is an orthogonal box the +vectors are along the x, y, z coordinate axes. If it is a restricted +triclinic box, the **A** vector is along the x axis, the **B** vector +is in the xy plane with a +y coordinate, and the **C** vector has a +z +coordinate, as explained on the :doc:`Howto_triclinic +` doc page. If the :doc:`thermo_modify +triclinic/general ` option is set then they are the +**A**, **B**, **C** vector which define the general triclinic box. The *cella*, *cellb*, *cellc*, *cellalpha*, *cellbeta*, *cellgamma* keywords correspond to the usual crystallographic quantities that @@ -369,10 +375,9 @@ pressure ` command doc page for details of how it is calculated. If the :doc:`thermo_modify triclinic/general ` option -is set and the simulation box was created as a general triclinic box, -then the 6 components will be output as values consistent with the -orientation of the general triclinic box relative to the standard xyz -coordinate axes. If this keyword is not used, the values will be +is set then the 6 components will be output as values consistent with +the orientation of the general triclinic box relative to the standard +xyz coordinate axes. If this keyword is not used, the values will be consistent with the orientation of the restricted triclinic box (which aligns with the xyz coordinate axes). As explained on the :doc:`Howto_triclinic ` doc page, even if the diff --git a/src/domain.cpp b/src/domain.cpp index 6b91932dca..ee4819dc60 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -87,9 +87,6 @@ Domain::Domain(LAMMPS *lmp) : Pointers(lmp) boxlo[0] = boxlo[1] = boxlo[2] = -0.5; boxhi[0] = boxhi[1] = boxhi[2] = 0.5; xy = xz = yz = 0.0; - avec[0] = avec[1] = avec[2] = 0.0; - bvec[0] = bvec[1] = bvec[2] = 0.0; - cvec[0] = cvec[1] = cvec[2] = 0.0; h[3] = h[4] = h[5] = 0.0; h_inv[3] = h_inv[4] = h_inv[5] = 0.0; diff --git a/src/thermo.cpp b/src/thermo.cpp index 4ba29bbc73..fa03127264 100644 --- a/src/thermo.cpp +++ b/src/thermo.cpp @@ -2083,61 +2083,79 @@ void Thermo::compute_yz() void Thermo::compute_avecx() { - dvalue = domain->avec[0]; + if (!domain->triclinic) dvalue = domain->xprd; + else if (triclinic_general) dvalue = domain->avec[0]; + else dvalue = domain->xprd; } /* ---------------------------------------------------------------------- */ void Thermo::compute_avecy() { - dvalue = domain->avec[1]; + if (!domain->triclinic) dvalue = 0.0; + else if (triclinic_general) dvalue = domain->avec[1]; + else dvalue = 0.0; } /* ---------------------------------------------------------------------- */ void Thermo::compute_avecz() { - dvalue = domain->avec[2]; + if (!domain->triclinic) dvalue = 0.0; + else if (triclinic_general) dvalue = domain->avec[2]; + else dvalue = 0.0; } /* ---------------------------------------------------------------------- */ void Thermo::compute_bvecx() { - dvalue = domain->bvec[0]; + if (!domain->triclinic) dvalue = 0.0; + else if (triclinic_general) dvalue = domain->bvec[0]; + else dvalue = domain->xy; } /* ---------------------------------------------------------------------- */ void Thermo::compute_bvecy() { - dvalue = domain->bvec[1]; + if (!domain->triclinic) dvalue = domain->yprd; + else if (triclinic_general) dvalue = domain->bvec[1]; + else dvalue = domain->yprd; } /* ---------------------------------------------------------------------- */ void Thermo::compute_bvecz() { - dvalue = domain->bvec[2]; + if (!domain->triclinic) dvalue = 0.0; + else if (triclinic_general) dvalue = domain->bvec[2]; + else dvalue = 0.0; } /* ---------------------------------------------------------------------- */ void Thermo::compute_cvecx() { - dvalue = domain->cvec[0]; + if (!domain->triclinic) dvalue = 0.0; + else if (triclinic_general) dvalue = domain->cvec[0]; + else dvalue = domain->xz; } /* ---------------------------------------------------------------------- */ void Thermo::compute_cvecy() { - dvalue = domain->cvec[1]; + if (!domain->triclinic) dvalue = 0.0; + else if (triclinic_general) dvalue = domain->cvec[1]; + else dvalue = domain->yz; } /* ---------------------------------------------------------------------- */ void Thermo::compute_cvecz() { - dvalue = domain->cvec[2]; + if (!domain->triclinic) dvalue = domain->zprd; + else if (triclinic_general) dvalue = domain->cvec[2]; + else dvalue = domain->zprd; } /* ---------------------------------------------------------------------- */ From c2b91ccc8a63fe78f25f34ddfad6e65442769bdf Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 8 Apr 2024 10:43:20 -0600 Subject: [PATCH 425/559] better documention and error checking for 2d general triclinic --- doc/src/Howto_2d.rst | 90 ++++++++++++++++++++++++++++++------- doc/src/Howto_triclinic.rst | 5 +-- doc/src/create_atoms.rst | 27 ++++++----- doc/src/create_box.rst | 51 ++++++++++----------- doc/src/lattice.rst | 23 ++++++---- doc/src/read_data.rst | 25 +++++++---- src/create_box.cpp | 10 ++--- src/domain.cpp | 6 +-- src/lattice.cpp | 26 ++++++----- src/read_data.cpp | 2 +- 10 files changed, 170 insertions(+), 95 deletions(-) diff --git a/doc/src/Howto_2d.rst b/doc/src/Howto_2d.rst index 8bce7000bd..76f583fd46 100644 --- a/doc/src/Howto_2d.rst +++ b/doc/src/Howto_2d.rst @@ -8,25 +8,85 @@ simulation. The default is 3d. A 2d simulation box must be periodic in z as set by the :doc:`boundary ` command. This is the default. -If using the :doc:`create_box ` command, you must define a -simulation box which straddles z = 0.0 in the z dimension since all -the atoms will have a z coordinate of zero. Typically the width of -box in the z dimension should be narrow, e.g. -0.5 to 0.5, but that is -not required. Example are: +Simulation boxes in LAMMPS can be either orthogonal or triclinic in +shape. Orthogonal boxes in 2d are a rectangle with 4 edges that are +each perpendicular to either the x or y coordinate axes. Triclinic +boxes in 2d are a parallelogram with opposite pairs of faces parallel +to each other. LAMMPS supports two forms of triclinic boxes, +restricted and general, which for 2d differ in how the box is oriented +with respect to the xy coordinate axes. See the :doc:`Howto triclinic +` for a detailed description of all 3 kinds of +simulation boxes. + +Here are examples of using the :doc:`create_box ` command +to define the simulation box for a 2d system. .. code-block:: LAMMPS - create_box 1 -10 10 0 10 -0.5 0.5 - create_box 1 -10 10 0 10 -0.25 0.25 + # 2d orthogonal box using a block-style region + region mybox block -10 10 0 10 -0.5 0.5 + create_box 1 mybox -Likewise, if using the :doc:`read_data ` command to define -the simulation box and read in a data file of atom coordinates, the -default "zlo zhi" values are -0.5 0.5 for 2d simulations. If the data -file includes that header keyword the zlo/zhi values must straddle z = -0.0. Also, the z coord for each atom listed in the file must be 0.0. -A value within epsilon of zero is also allowed in case the data file -was generated by another program with finite precision, in which case -the z coord for the atom will be set to 0.0. + # 2d restricted triclinic box using a prism-style region with only xy tilt + region mybox prism 0 10 0 10 -0.5 0.5 2.0 0.0 0.0 + create_box 1 mybox + + # 2d general triclinic box using a primitive cell for a 2d hex lattice + lattice custom 1.0 a1 1.0 0.0 0.0 a2 0.5 0.86602540378 0.0 & + a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 triclinic/general + create_box 1 NULL 0 5 0 5 -0.5 0.5 + +Note that for 2d orthogonal or restricted triclinic boxes, the box has +a 3rd dimension which must straddle z = 0.0 in the z dimension. +Typically the width of box in the z dimension should be narrow, +e.g. -0.5 to 0.5, but that is not required. For a 2d general +triclinic box, the *a3* vector defined by the :doc:`lattice ` +command must be (0.0,0.0,1.0), which is its default value. Also the +*clo* and *chi* arguments of the :doc:`create_box ` +command must be -0.5 and 0.5. + +Here are examples of using the :doc:`read_data ` command +to define the simulation box for a 2d system via keywords in the +header section of the data file. These are the same boxes as the examples +for the :doc:`create_box ` command + +.. code-block:: LAMMPS + + # 2d orthogonal box + -10 10 xlo xhi + 0 10 ylo yhi + -0.5 0.5 zlo zhi # this is the default, so no need to specify + + # 2d restricted triclinic box with only xy tilt + -10 10 xlo xhi + 0 10 ylo yhi + -0.5 0.5 zlo zhi # this is the default, so no need to specify + 2.0 0.0 0.0 xy xz yz + + # 3d general triclinic box using a primitive cell for a 2d hex lattice + 5 0 0 avec + 2.5 4.3301270189 0 bvec + 0 0 1 cvec # this is the default, so no need to specify + 0 0 -0.5 abc origin # this is the default for 2d, so no need to specify + +Note that for 2d orthogonal or restricted triclinic boxes, the box has +a 3rd dimension specified by the *zlo zhi* values, which must straddle +z = 0.0. Typically the width of box in the z dimension should be +narrow, e.g. -0.5 to 0.5, but that is not required. For a 2d general +triclinic box, the z component of *avec* and *bvec* must be zero, and +*cvec* must be (0,0,1), which is the default. The z component of *abc +origin* must also be -0.5, which is the default. + +If using the :doc:`create_atoms ` command to create +atoms in the 2d simulation box, all the z coordinates of created atoms +will be zero. + +If using the :doc:`read_data ` command to read in a data +file of atom coordinates for a 2d system, the z coordinates of all +atoms should be zero. A value within epsilon of zero is also allowed +in case the data file was generated by another program with finite +numeric precision, in which case the z coord for the atom will be set +to zero. Use the :doc:`fix enforce2d ` command as the last fix defined in the input script. It ensures that the z-components of diff --git a/doc/src/Howto_triclinic.rst b/doc/src/Howto_triclinic.rst index d74243c888..3529579d65 100644 --- a/doc/src/Howto_triclinic.rst +++ b/doc/src/Howto_triclinic.rst @@ -175,11 +175,10 @@ This is the list of commands which have general triclinic options: * :doc:`read_data ` - read a data file for a general triclinic system * :doc:`write_data ` - write a data file for a general triclinic system * :doc:`dump atom, dump custom ` - output dump snapshots in general triclinic format -* :doc:`dump_modify ` - toggle a dump file between restricted and general triclinic format +* :doc:`dump_modify triclinic/general ` - select general triclinic format for dump output * :doc:`thermo_style ` - output the pressure tensor in general triclinic format -* :doc:`thermo_modify ` - toggle thermo-style output - between restricted and general triclinic format +* :doc:`thermo_modify triclinic/general ` - select general triclinic format for thermo output * :doc:`read_restart ` - read a restart file for a general triclinic system * :doc:`write_restart ` - write a restart file for a general triclinic system diff --git a/doc/src/create_atoms.rst b/doc/src/create_atoms.rst index be2cfab665..7935c676ef 100644 --- a/doc/src/create_atoms.rst +++ b/doc/src/create_atoms.rst @@ -171,25 +171,28 @@ a simulation box which replicates that unit cell along each of the input to LAMMPS. However, as explained on the :doc:`Howto_triclinic ` doc page, internally, LAMMPS only uses restricted triclinic simulation boxes. This means - the box created by the :doc:`create_box ` command and - the atoms with their per-atom information (e.g. coordinates, - velocities) created by this command are converted (rotated) from - general to restricted triclinic form when the two commands are + the box created by the :doc:`create_box ` command as + well as the atoms created by this command with their per-atom + information (e.g. coordinates, velocities) are converted (rotated) + from general to restricted triclinic form when the two commands are invoked. The ` doc page also discusses other LAMMPS commands which can input/output general triclinic representations of the simulation box and per-atom data. The *box* style will fill the entire general triclinic box with -particles on the lattice, as explained above. The *region* style also -operates as explained above, but the check for particles inside the -region is performed *after* the particle coordinates have been -converted to the restricted triclinic box. This means the region must -also be defined with respect to the restricted triclinic box, not the -general triclinic box. +particles on the lattice, as explained above. + +.. note:: + + The *region* style also operates as explained above, but the check + for particles inside the region is performed *after* the particle + coordinates have been converted to the restricted triclinic box. + This means the region must also be defined with respect to the + restricted triclinic box, not the general triclinic box. If the simulation box is general triclinic, the *single*, *random*, -and *mesh* styles described next operate on the box after it has been -converted to restricted triclinic. So all the settings for those +and *mesh* styles described next operate on the box *after* it has +been converted to restricted triclinic. So all the settings for those styles should be made in that context. ---------- diff --git a/doc/src/create_box.rst b/doc/src/create_box.rst index e7f76f075a..062fa2b360 100644 --- a/doc/src/create_box.rst +++ b/doc/src/create_box.rst @@ -42,13 +42,13 @@ Examples # 2d general triclinic box using primitive cell for 2d hex lattice lattice custom 1.0 a1 1.0 0.0 0.0 a2 0.5 0.86602540378 0.0 & - a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 + a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 triclinic/general create_box 1 NULL 0 5 0 5 -0.5 0.5 .. code-block:: LAMMPS # 3d general triclinic box using primitive cell for 3d fcc lattice - lattice custom 1.0 a2 0.0 0.5 0.5 a1 0.5 0.0 0.5 a3 0.5 0.5 0.0 basis 0.0 0.0 0.0 + lattice custom 1.0 a2 0.0 0.5 0.5 a1 0.5 0.0 0.5 a3 0.5 0.5 0.0 basis 0.0 0.0 0.0 triclinic/general create box 1 NULL -5 5 -10 10 0 20 Description @@ -164,13 +164,13 @@ using the :doc:`change box ` command with its *ortho* and ---------- -As noted above, general triclinic boxes in LAMMPS allow for arbitrary -edge vectors **A**, **B**, **C**. The only restrictions are that the -three vectors be distinct, non-zero, and not co-planar. They must -also define a right-handed system such that (**A** x **B**) points in -the direction of **C**. Note that a left-handed system can be -converted to a right-handed system by simply swapping the order of any -pair of the **A**, **B**, **C** vectors. +As noted above, general triclinic boxes in LAMMPS allow the box to +have arbitrary edge vectors **A**, **B**, **C**. The only +restrictions are that the three vectors be distinct, non-zero, and not +co-planar. They must also define a right-handed system such that +(**A** x **B**) points in the direction of **C**. Note that a +left-handed system can be converted to a right-handed system by simply +swapping the order of any pair of the **A**, **B**, **C** vectors. To create a general triclinic boxes, the region is specified as NULL and the next 6 parameters (alo,ahi,blo,bhi,clo,chi) define the three @@ -189,10 +189,7 @@ vectors and origin of the general triclinic box as: * **C** = (chi-clo) * *a3* * origin = (alo*a1 + blo*a2 + clo*a3) -For 2d general triclinic boxes, **C** = (0,0,1) is required, and the -z-component of the simulation box origin must be -0.5. The easy way -to do this is to specify clo = -0.5 and chi = 0.5 and use the -:doc:`lattice ` command default for a3 = (0,0,1). +For 2d general triclinic boxes, clo = -0.5 and chi = 0.5 is required. .. note:: @@ -214,27 +211,27 @@ to do this is to specify clo = -0.5 and chi = 0.5 and use the The optional keywords can be used to create a system that allows for bond (angle, dihedral, improper) interactions, or for molecules with -special 1--2, 1--3, or 1--4 neighbors to be added later. These optional -keywords serve the same purpose as the analogous keywords that can be -used in a data file which are recognized by the +special 1--2, 1--3, or 1--4 neighbors to be added later. These +optional keywords serve the same purpose as the analogous keywords +that can be used in a data file which are recognized by the :doc:`read_data ` command when it sets up a system. Note that if these keywords are not used, then the create_box command creates an atomic (non-molecular) simulation that does not allow bonds -between pairs of atoms to be defined, or a -:doc:`bond potential ` to be specified, or for molecules with -special neighbors to be added to the system by commands such as -:doc:`create_atoms mol `, :doc:`fix deposit ` -or :doc:`fix pour `. +between pairs of atoms to be defined, or a :doc:`bond potential +` to be specified, or for molecules with special neighbors +to be added to the system by commands such as :doc:`create_atoms mol +`, :doc:`fix deposit ` or :doc:`fix pour +`. As an example, see the examples/deposit/in.deposit.molecule script, which deposits molecules onto a substrate. Initially there are no -molecules in the system, but they are added later by the -:doc:`fix deposit ` command. The create_box command in the -script uses the bond/types and extra/bond/per/atom keywords to allow -this. If the added molecule contained more than one special bond -(allowed by default), an extra/special/per/atom keyword would also -need to be specified. +molecules in the system, but they are added later by the :doc:`fix +deposit ` command. The create_box command in the script +uses the bond/types and extra/bond/per/atom keywords to allow this. +If the added molecule contained more than one special bond (allowed by +default), an extra/special/per/atom keyword would also need to be +specified. ---------- diff --git a/doc/src/lattice.rst b/doc/src/lattice.rst index ad5ab364bd..99d954e43d 100644 --- a/doc/src/lattice.rst +++ b/doc/src/lattice.rst @@ -34,7 +34,7 @@ Syntax x,y,z = primitive vector components that define unit cell *basis* values = x y z x,y,z = fractional coords of a basis atom (0 <= x,y,z < 1) - *triclinic/general* values = no values, assume lattice tiles + *triclinic/general* values = no values Examples """""""" @@ -172,18 +172,21 @@ The *origin* option specifies how the unit cell will be shifted or translated when mapping it into the simulation box. The x,y,z values are fractional values (0.0 <= x,y,z < 1.0) meaning shift the lattice by a fraction of the lattice spacing in each dimension. The meaning -of "lattice spacing" is discussed below. +of "lattice spacing" is discussed below. For 2d simulations, the +*origin* z value must be 0.0. The *orient* option specifies how the unit cell will be rotated when mapping it into the simulation box. The *dim* argument is one of the 3 coordinate axes in the simulation box. The other 3 arguments are the crystallographic direction in the lattice that you want to orient along that axis, specified as integers. E.g. "orient x 2 1 0" means -the x-axis in the simulation box will be the [210] lattice -direction, and similarly for y and z. The 3 lattice directions you -specify do not have to be unit vectors, but they must be mutually -orthogonal and obey the right-hand rule, i.e. (X cross Y) points in -the Z direction. +the x-axis in the simulation box will be the [210] lattice direction, +and similarly for y and z. The 3 lattice directions you specify do +not have to be unit vectors, but they must be mutually orthogonal and +obey the right-hand rule, i.e. (X cross Y) points in the Z direction. +For 2d simulations, the *orient* x and y vectors must define 0 for +their 3rd component. Similarly the *orient* z vector must define 0 +for its 1st and 2nd components. .. note:: @@ -211,10 +214,12 @@ and not co-planar. In addition, they must define a right-handed system, such that (*a1* cross *a2*) points in the direction of *a3*. Note that a left-handed system can be converted to a right-handed system by simply swapping the order of any pair of the *a1*, *a2*, -*a3* vectors. +*a3* vectors. For 2d simulations, the *a3* vector must be specified +as (0.0,0.0,1.0), which is its default value. If this option is used, the *origin* and *orient* settings must have -their default values. +their default values. Namely (0.0,0.0,0.0) for the *origin* and +(100), (010), (001) for the *orient* vectors. The :doc:`create_box ` command can be used to create a general triclinic box that replicates the *a1*, *a2*, *a3* unit cell diff --git a/doc/src/read_data.rst b/doc/src/read_data.rst index 951f583913..8dce9a5bcd 100644 --- a/doc/src/read_data.rst +++ b/doc/src/read_data.rst @@ -385,11 +385,18 @@ changed by the :doc:`balance ` or :doc:`fix balance For an orthogonal box, only the *xlo xhi*, *ylo yhi*, *zlo zhi* keywords are used. They define the extent of the simulation box in -each dimension. The origin (lower left corner) of the orthogonal box -is at (xlo,ylo,zlo). The default values for these 3 keywords are -0.5 -and 0.5 for each lo/hi pair. For a 2d simulation, the zlo and zhi -values must straddle zero. The default zlo/zhi values do this, so -that keyword is not needed in 2d. +each dimension so that the resulting edge vectors of an orthogonal box +are: + +* **A** = (xhi-xlo,0,0) +* **B** = (0,yhi-ylo,0) +* **C** = (0,0,zhi-zlo) + +The origin (lower left corner) of the orthogonal box is at +(xlo,ylo,zlo). The default values for these 3 keywords are -0.5 and +0.5 for each lo/hi pair. For a 2d simulation, the zlo and zhi values +must straddle zero. The default zlo/zhi values do this, so that +keyword is not needed in 2d. For a restricted triclinic box, the *xy xz yz* keyword is used in addition to the *xlo xhi*, *ylo yhi*, *zlo zhi* keywords. The three @@ -453,10 +460,10 @@ restricted triclinic simulation box is effectively a parallelogram. For a general triclinic box, the *avec*, *bvec*, *cvec*, and *abc origin* keywords are used. The *xlo xhi*, *ylo yhi*, *zlo zhi*, and -*xy xz yz* keywords are not used. The first 3 keywords define the 3 -edge vectors **A**, **B**, **C** of a general triclinic box. They can -be arbitrary vectors so long as they are distinct, non-zero, and not -co-planar. They must also define a right-handed system such that +*xy xz yz* keywords are NOT used. The first 3 keywords define the 3 +edge vectors **A**, **B**, **C** of the general triclinic box. They +can be arbitrary vectors so long as they are distinct, non-zero, and +not co-planar. They must also define a right-handed system such that (**A** x **B**) points in the direction of **C**. Note that a left-handed system can be converted to a right-handed system by simply swapping the order of any pair of the **A**, **B**, **C** vectors. diff --git a/src/create_box.cpp b/src/create_box.cpp index 7dd6f52e9d..8a74ffd7bd 100644 --- a/src/create_box.cpp +++ b/src/create_box.cpp @@ -119,6 +119,10 @@ void CreateBox::command(int narg, char **arg) double chi = utils::numeric(FLERR, arg[iarg + 5], false, lmp); iarg += 6; + if (domain->dimension == 2) + if (clo != -0.5 || chi != 0.5) + error->all(FLERR,"Create_box for general triclinic requires clo = -0.5 and chi = 0.5"); + // use lattice2box() to generate origin and ABC vectors // origin = abc lo // ABC vectors = hi in one dim - origin @@ -150,12 +154,6 @@ void CreateBox::command(int narg, char **arg) cvec[1] = py - origin[1]; cvec[2] = pz - origin[2]; - if (domain->dimension == 2) { - if (cvec[0] != 0.0 || cvec[1] != 0.0 || cvec[2] != 1.0 || origin[2] != -0.5) - error->all(FLERR,"Create_box C edge vector and/or origin is invalid " - "for 2d simulation with general triclinic box"); - } - // define general triclinic box within Domain class domain->define_general_triclinic(avec,bvec,cvec,origin); diff --git a/src/domain.cpp b/src/domain.cpp index ee4819dc60..0ff06693c6 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -670,9 +670,9 @@ void Domain::general_to_restricted_rotation(double *a, double *b, double *c, // rotate general ABC to restricted triclinic A'B'C' - MathExtra::matvec(rotate_g2r,a,aprime); - MathExtra::matvec(rotate_g2r,b,bprime); - MathExtra::matvec(rotate_g2r,c,cprime); + MathExtra::matvec(rotmat,a,aprime); + MathExtra::matvec(rotmat,b,bprime); + MathExtra::matvec(rotmat,c,cprime); } /* ---------------------------------------------------------------------- diff --git a/src/lattice.cpp b/src/lattice.cpp index 031710a4fe..24c28864f9 100644 --- a/src/lattice.cpp +++ b/src/lattice.cpp @@ -245,6 +245,8 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) if (collinear()) error->all(FLERR,"Lattice primitive vectors are collinear"); + // requirements for 2d system + if (dimension == 2) { if (origin[2] != 0.0) error->all(FLERR, @@ -261,32 +263,36 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) error->all(FLERR,"Lattice basis atom z coords must be zero for 2d simulation"); } - if (spaceflag) { - if (xlattice <= 0.0 || ylattice <= 0.0 || zlattice <= 0.0) - error->all(FLERR,"Lattice spacings are invalid"); - } - // additional requirements for a general triclinic lattice // a123 prime are used to compute lattice spacings if (triclinic_general) { if (style != CUSTOM) - error->all(FLERR,"Lattice triclnic/general must be style = CUSTOM"); + error->all(FLERR,"Lattice triclinic/general must be style = CUSTOM"); if (origin[0] != 0.0 || origin[1] != 0.0 || origin[2] != 0.0) - error->all(FLERR,"Lattice triclnic/general must have default origin"); + error->all(FLERR,"Lattice triclinic/general must have default origin"); int oriented = 0; if (orientx[0] != 1 || orientx[1] != 0 || orientx[2] != 0) oriented = 1; if (orienty[0] != 0 || orienty[1] != 1 || orienty[2] != 0) oriented = 1; if (orientz[0] != 0 || orientz[1] != 0 || orientz[2] != 1) oriented = 1; if (oriented) - error->all(FLERR,"Lattice triclnic/general must have default orientation"); + error->all(FLERR,"Lattice triclinic/general must have default orientation"); + if (dimension == 2 && (a3[0] != 0.0 || a3[1] != 0.0 || a3[2] != 1.0)) + error->all(FLERR,"Lattice triclinic/general a3 vector for a 2d simulation must be (0,0,1)"); if (!right_handed_primitive()) - error->all(FLERR,"Lattice triclnic/general a1,a2,a3 must be right-handed"); + error->all(FLERR,"Lattice triclinic/general a1,a2,a3 must be right-handed"); double rotmat[3][3]; domain->general_to_restricted_rotation(a1,a2,a3,rotmat,a1_prime,a2_prime,a3_prime); } + // user-defined lattice spacings must all be positive + + if (spaceflag) { + if (xlattice <= 0.0 || ylattice <= 0.0 || zlattice <= 0.0) + error->all(FLERR,"Lattice spacings are invalid"); + } + // reset scale for LJ units (input scale is rho*) // scale = (Nbasis/(Vprimitive * rho*)) ^ (1/dim) // use fabs() in case a1,a2,a3 are not right-handed for general triclinic @@ -334,7 +340,7 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) // restore original general triclinic a123 transform - if (triclinic_general) setup_transform(a2,a2,a3); + if (triclinic_general) setup_transform(a1,a2,a3); xlattice = xmax - xmin; ylattice = ymax - ymin; diff --git a/src/read_data.cpp b/src/read_data.cpp index a6d0ec7f54..d83456e985 100644 --- a/src/read_data.cpp +++ b/src/read_data.cpp @@ -1394,7 +1394,7 @@ void ReadData::header(int firstpass) if (addflag == NONE) atom->nimpropertypes = nimpropertypes + extra_improper_types; // these settings only used by first data file - // NOTEL these are now obsolete, we parse them to maintain backward compatibility + // NOTE: these are now obsolete, we parse them to maintain backward compatibility // the recommended way is to set them via command keywords in the input script // if these flags are set both ways, the larger of the two values is used From d1b571c8edaab55b04adb2562bb99623b6413660 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 8 Apr 2024 10:48:38 -0600 Subject: [PATCH 426/559] spell check --- doc/src/thermo_style.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/thermo_style.rst b/doc/src/thermo_style.rst index b16b2d26cb..48adbe1c1e 100644 --- a/doc/src/thermo_style.rst +++ b/doc/src/thermo_style.rst @@ -347,7 +347,7 @@ are the values as if the box were not tilted. For a general triclinic box, they are the values after it is internally rotated to be a restricted triclinic box. -THe *xy*, *xz*, *yz* are the current tilt factors for a triclinic box. +The *xy*, *xz*, *yz* are the current tilt factors for a triclinic box. They are the same for restricted and general triclinic boxes. The *avecx*, *avecy*, *avecz*, *bvecx*, *bvecy*, *bvecz*, *cvecx*, From 877d6e7f86be3331427a55850ab1457384421f61 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 8 Apr 2024 10:49:53 -0600 Subject: [PATCH 427/559] remove whitespace --- src/domain.cpp | 2 +- src/lattice.cpp | 4 ++-- src/thermo.cpp | 6 +++--- src/thermo.h | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/domain.cpp b/src/domain.cpp index 0ff06693c6..db7533f21a 100644 --- a/src/domain.cpp +++ b/src/domain.cpp @@ -87,7 +87,7 @@ Domain::Domain(LAMMPS *lmp) : Pointers(lmp) boxlo[0] = boxlo[1] = boxlo[2] = -0.5; boxhi[0] = boxhi[1] = boxhi[2] = 0.5; xy = xz = yz = 0.0; - + h[3] = h[4] = h[5] = 0.0; h_inv[3] = h_inv[4] = h_inv[5] = 0.0; h_rate[0] = h_rate[1] = h_rate[2] = diff --git a/src/lattice.cpp b/src/lattice.cpp index 24c28864f9..e84bd87876 100644 --- a/src/lattice.cpp +++ b/src/lattice.cpp @@ -246,7 +246,7 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) error->all(FLERR,"Lattice primitive vectors are collinear"); // requirements for 2d system - + if (dimension == 2) { if (origin[2] != 0.0) error->all(FLERR, @@ -287,7 +287,7 @@ Lattice::Lattice(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp) } // user-defined lattice spacings must all be positive - + if (spaceflag) { if (xlattice <= 0.0 || ylattice <= 0.0 || zlattice <= 0.0) error->all(FLERR,"Lattice spacings are invalid"); diff --git a/src/thermo.cpp b/src/thermo.cpp index fa03127264..de13e5f420 100644 --- a/src/thermo.cpp +++ b/src/thermo.cpp @@ -917,7 +917,7 @@ void Thermo::parse_fields(const std::string &str) addfield("Volume", &Thermo::compute_vol, FLOAT); } else if (word == "density") { addfield("Density", &Thermo::compute_density, FLOAT); - + } else if (word == "lx") { addfield("Lx", &Thermo::compute_lx, FLOAT); } else if (word == "ly") { @@ -1417,7 +1417,7 @@ int Thermo::evaluate_keyword(const std::string &word, double *answer) compute_vol(); else if (word == "density") compute_density(); - + else if (word == "lx") compute_lx(); else if (word == "ly") @@ -1463,7 +1463,7 @@ int Thermo::evaluate_keyword(const std::string &word, double *answer) compute_cvecy(); else if (word == "cvecz") compute_cvecz(); - + else if (word == "xlat") compute_xlat(); else if (word == "ylat") diff --git a/src/thermo.h b/src/thermo.h index 31036f55d3..4d18c3be7e 100644 --- a/src/thermo.h +++ b/src/thermo.h @@ -176,7 +176,7 @@ class Thermo : protected Pointers { void compute_vol(); void compute_density(); - + void compute_lx(); void compute_ly(); void compute_lz(); From e40a1527d303fa54176bc30d032c69579b703fd8 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 8 Apr 2024 10:53:14 -0600 Subject: [PATCH 428/559] one more doc page --- doc/src/Howto_2d.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/Howto_2d.rst b/doc/src/Howto_2d.rst index 76f583fd46..d02cfc0814 100644 --- a/doc/src/Howto_2d.rst +++ b/doc/src/Howto_2d.rst @@ -76,7 +76,7 @@ narrow, e.g. -0.5 to 0.5, but that is not required. For a 2d general triclinic box, the z component of *avec* and *bvec* must be zero, and *cvec* must be (0,0,1), which is the default. The z component of *abc origin* must also be -0.5, which is the default. - + If using the :doc:`create_atoms ` command to create atoms in the 2d simulation box, all the z coordinates of created atoms will be zero. From 74a0d22ec22fccc1df84d42a3dde34294e6e7aa0 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 8 Apr 2024 17:48:50 -0400 Subject: [PATCH 429/559] first stab at non-coulomb pedone potential --- src/EXTRA-PAIR/pair_pedone.cpp | 383 +++++++++++++++++++++++++++++++++ src/EXTRA-PAIR/pair_pedone.h | 58 +++++ 2 files changed, 441 insertions(+) create mode 100644 src/EXTRA-PAIR/pair_pedone.cpp create mode 100644 src/EXTRA-PAIR/pair_pedone.h diff --git a/src/EXTRA-PAIR/pair_pedone.cpp b/src/EXTRA-PAIR/pair_pedone.cpp new file mode 100644 index 0000000000..4e634b3dfc --- /dev/null +++ b/src/EXTRA-PAIR/pair_pedone.cpp @@ -0,0 +1,383 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#include "pair_pedone.h" + +#include "atom.h" +#include "comm.h" +#include "error.h" +#include "force.h" +#include "memory.h" +#include "neigh_list.h" + +#include +#include + +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +PairPedone::PairPedone(LAMMPS *lmp) : + Pair(lmp), d0(nullptr), alpha(nullptr), r0(nullptr), c0(nullptr), pedone1(nullptr), + pedone2(nullptr) +{ + writedata = 1; +} + +/* ---------------------------------------------------------------------- */ + +PairPedone::~PairPedone() +{ + if (copymode) return; + + if (allocated) { + memory->destroy(setflag); + memory->destroy(cutsq); + + memory->destroy(cut); + memory->destroy(c0); + memory->destroy(d0); + memory->destroy(alpha); + memory->destroy(r0); + memory->destroy(pedone1); + memory->destroy(pedone2); + memory->destroy(offset); + } +} + +/* ---------------------------------------------------------------------- */ + +void PairPedone::compute(int eflag, int vflag) +{ + int i, j, ii, jj, inum, jnum, itype, jtype; + double xtmp, ytmp, ztmp, delx, dely, delz, evdwl, fpair; + double rsq, r, r2inv, r6inv, dr, dexp, factor_lj; + int *ilist, *jlist, *numneigh, **firstneigh; + + evdwl = 0.0; + ev_init(eflag, vflag); + + double **x = atom->x; + double **f = atom->f; + int *type = atom->type; + int nlocal = atom->nlocal; + double *special_lj = force->special_lj; + int newton_pair = force->newton_pair; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // loop over neighbors of my atoms + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + factor_lj = special_lj[sbmask(j)]; + j &= NEIGHMASK; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx * delx + dely * dely + delz * delz; + jtype = type[j]; + + if (rsq < cutsq[itype][jtype]) { + r2inv = 1.0 / rsq; + r6inv = r2inv * r2inv * r2inv; + r = sqrt(rsq); + dr = r - r0[itype][jtype]; + dexp = exp(-alpha[itype][jtype] * dr); + fpair = pedone1[itype][jtype] * (dexp * dexp - dexp) / r - pedone2[itype][jtype] * r6inv * r2inv; + fpair *= factor_lj; + + f[i][0] += delx * fpair; + f[i][1] += dely * fpair; + f[i][2] += delz * fpair; + if (newton_pair || j < nlocal) { + f[j][0] -= delx * fpair; + f[j][1] -= dely * fpair; + f[j][2] -= delz * fpair; + } + + if (eflag) { + evdwl = d0[itype][jtype] * (dexp * dexp - 2.0 * dexp) - c0[itype][jtype] * r6inv - + offset[itype][jtype]; + evdwl *= factor_lj; + } + + if (evflag) ev_tally(i, j, nlocal, newton_pair, evdwl, 0.0, fpair, delx, dely, delz); + } + } + } + + if (vflag_fdotr) virial_fdotr_compute(); +} + +/* ---------------------------------------------------------------------- + allocate all arrays +------------------------------------------------------------------------- */ + +void PairPedone::allocate() +{ + allocated = 1; + int np1 = atom->ntypes + 1; + + memory->create(setflag, np1, np1, "pair:setflag"); + for (int i = 1; i < np1; i++) + for (int j = i; j < np1; j++) setflag[i][j] = 0; + + memory->create(cutsq, np1, np1, "pair:cutsq"); + + memory->create(cut, np1, np1, "pair:cut"); + memory->create(c0, np1, np1, "pair:c0"); + memory->create(d0, np1, np1, "pair:d0"); + memory->create(alpha, np1, np1, "pair:alpha"); + memory->create(r0, np1, np1, "pair:r0"); + memory->create(pedone1, np1, np1, "pair:pedone1"); + memory->create(pedone2, np1, np1, "pair:pedone2"); + memory->create(offset, np1, np1, "pair:offset"); +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairPedone::settings(int narg, char **arg) +{ + if (narg != 1) error->all(FLERR, "Illegal pair_style command"); + + cut_global = utils::numeric(FLERR, arg[0], false, lmp); + + // reset cutoffs that have been explicitly set + + if (allocated) { + int i, j; + for (i = 1; i <= atom->ntypes; i++) + for (j = i; j <= atom->ntypes; j++) + if (setflag[i][j]) cut[i][j] = cut_global; + } +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type pairs +------------------------------------------------------------------------- */ + +void PairPedone::coeff(int narg, char **arg) +{ + if (narg < 6 || narg > 7) error->all(FLERR, "Incorrect args for pair coefficients"); + if (!allocated) allocate(); + + int ilo, ihi, jlo, jhi; + utils::bounds(FLERR, arg[0], 1, atom->ntypes, ilo, ihi, error); + utils::bounds(FLERR, arg[1], 1, atom->ntypes, jlo, jhi, error); + + double d0_one = utils::numeric(FLERR, arg[2], false, lmp); + double alpha_one = utils::numeric(FLERR, arg[3], false, lmp); + double r0_one = utils::numeric(FLERR, arg[4], false, lmp); + double c0_one = utils::numeric(FLERR, arg[5], false, lmp); + + double cut_one = cut_global; + if (narg == 7) cut_one = utils::numeric(FLERR, arg[6], false, lmp); + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo, i); j <= jhi; j++) { + c0[i][j] = c0_one; + d0[i][j] = d0_one; + alpha[i][j] = alpha_one; + r0[i][j] = r0_one; + cut[i][j] = cut_one; + setflag[i][j] = 1; + count++; + } + } + + if (count == 0) error->all(FLERR, "Incorrect args for pair coefficients"); +} + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairPedone::init_one(int i, int j) +{ + if (setflag[i][j] == 0) error->all(FLERR, "All pair coeffs are not set"); + + pedone1[i][j] = 2.0 * d0[i][j] * alpha[i][j]; + pedone2[i][j] = 6.0 * c0[i][j]; + + if (offset_flag) { + double alpha_dr = -alpha[i][j] * (cut[i][j] - r0[i][j]); + offset[i][j] = + d0[i][j] * (exp(2.0 * alpha_dr) - 2.0 * exp(alpha_dr)) - c0[i][j] / pow(cut[i][j], 6.0); + } else + offset[i][j] = 0.0; + + c0[j][i] = c0[i][j]; + d0[j][i] = d0[i][j]; + alpha[j][i] = alpha[i][j]; + r0[j][i] = r0[i][j]; + pedone1[j][i] = pedone1[i][j]; + pedone2[j][i] = pedone2[i][j]; + offset[j][i] = offset[i][j]; + + return cut[i][j]; +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairPedone::write_restart(FILE *fp) +{ + write_restart_settings(fp); + + int i, j; + for (i = 1; i <= atom->ntypes; i++) { + for (j = i; j <= atom->ntypes; j++) { + fwrite(&setflag[i][j], sizeof(int), 1, fp); + if (setflag[i][j]) { + fwrite(&c0[i][j], sizeof(double), 1, fp); + fwrite(&d0[i][j], sizeof(double), 1, fp); + fwrite(&alpha[i][j], sizeof(double), 1, fp); + fwrite(&r0[i][j], sizeof(double), 1, fp); + fwrite(&cut[i][j], sizeof(double), 1, fp); + } + } + } +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairPedone::read_restart(FILE *fp) +{ + read_restart_settings(fp); + + allocate(); + + int i, j; + int me = comm->me; + for (i = 1; i <= atom->ntypes; i++) { + for (j = i; j <= atom->ntypes; j++) { + if (me == 0) utils::sfread(FLERR, &setflag[i][j], sizeof(int), 1, fp, nullptr, error); + MPI_Bcast(&setflag[i][j], 1, MPI_INT, 0, world); + if (setflag[i][j]) { + if (me == 0) { + utils::sfread(FLERR, &c0[i][j], sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &d0[i][j], sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &alpha[i][j], sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &r0[i][j], sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &cut[i][j], sizeof(double), 1, fp, nullptr, error); + } + MPI_Bcast(&c0[i][j], 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&d0[i][j], 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&alpha[i][j], 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&r0[i][j], 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&cut[i][j], 1, MPI_DOUBLE, 0, world); + } + } + } +} + +/* ---------------------------------------------------------------------- + proc 0 writes to restart file +------------------------------------------------------------------------- */ + +void PairPedone::write_restart_settings(FILE *fp) +{ + fwrite(&cut_global, sizeof(double), 1, fp); + fwrite(&offset_flag, sizeof(int), 1, fp); + fwrite(&mix_flag, sizeof(int), 1, fp); +} + +/* ---------------------------------------------------------------------- + proc 0 reads from restart file, bcasts +------------------------------------------------------------------------- */ + +void PairPedone::read_restart_settings(FILE *fp) +{ + if (comm->me == 0) { + utils::sfread(FLERR, &cut_global, sizeof(double), 1, fp, nullptr, error); + utils::sfread(FLERR, &offset_flag, sizeof(int), 1, fp, nullptr, error); + utils::sfread(FLERR, &mix_flag, sizeof(int), 1, fp, nullptr, error); + } + MPI_Bcast(&cut_global, 1, MPI_DOUBLE, 0, world); + MPI_Bcast(&offset_flag, 1, MPI_INT, 0, world); + MPI_Bcast(&mix_flag, 1, MPI_INT, 0, world); +} + +/* ---------------------------------------------------------------------- + proc 0 writes to data file +------------------------------------------------------------------------- */ + +void PairPedone::write_data(FILE *fp) +{ + for (int i = 1; i <= atom->ntypes; i++) + fprintf(fp, "%d %g %g %g %g\n", i, d0[i][i], alpha[i][i], r0[i][i], c0[i][i]); +} + +/* ---------------------------------------------------------------------- + proc 0 writes all pairs to data file +------------------------------------------------------------------------- */ + +void PairPedone::write_data_all(FILE *fp) +{ + for (int i = 1; i <= atom->ntypes; i++) + for (int j = i; j <= atom->ntypes; j++) + fprintf(fp, "%d %d %g %g %g %g %g\n", i, j, d0[i][j], alpha[i][j], r0[i][j], c0[i][j], + cut[i][j]); +} + +/* ---------------------------------------------------------------------- */ + +double PairPedone::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq, + double /*factor_coul*/, double factor_lj, double &fforce) +{ + double r, dr, dexp, phi, r2inv, r6inv; + + r = sqrt(rsq); + dr = r - r0[itype][jtype]; + dexp = exp(-alpha[itype][jtype] * dr); + r2inv = 1.0 / rsq; + r6inv = r2inv * r2inv * r2inv; + fforce = pedone1[itype][jtype] * (dexp * dexp - dexp) / r - pedone2[itype][jtype] * r6inv * r2inv; + fforce *= factor_lj; + + phi = d0[itype][jtype] * (dexp * dexp - 2.0 * dexp) - c0[itype][jtype] * r6inv - + offset[itype][jtype]; + return factor_lj * phi; +} + +/* ---------------------------------------------------------------------- */ + +void *PairPedone::extract(const char *str, int &dim) +{ + dim = 2; + if (strcmp(str, "c0") == 0) return (void *) c0; + if (strcmp(str, "d0") == 0) return (void *) d0; + if (strcmp(str, "r0") == 0) return (void *) r0; + if (strcmp(str, "alpha") == 0) return (void *) alpha; + return nullptr; +} diff --git a/src/EXTRA-PAIR/pair_pedone.h b/src/EXTRA-PAIR/pair_pedone.h new file mode 100644 index 0000000000..a54f50a6b3 --- /dev/null +++ b/src/EXTRA-PAIR/pair_pedone.h @@ -0,0 +1,58 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS +// clang-format off +PairStyle(pedone,PairPedone); +// clang-format on +#else + +#ifndef LMP_PAIR_PEDONE_H +#define LMP_PAIR_PEDONE_H + +#include "pair.h" + +namespace LAMMPS_NS { + +class PairPedone : public Pair { + public: + PairPedone(class LAMMPS *); + ~PairPedone() override; + void compute(int, int) override; + + void settings(int, char **) override; + void coeff(int, char **) override; + double init_one(int, int) override; + void write_restart(FILE *) override; + void read_restart(FILE *) override; + void write_restart_settings(FILE *) override; + void read_restart_settings(FILE *) override; + void write_data(FILE *) override; + void write_data_all(FILE *) override; + double single(int, int, int, int, double, double, double, double &) override; + void *extract(const char *, int &) override; + + protected: + double cut_global; + double **cut; + double **d0, **alpha, **r0, **c0; + double **pedone1, **pedone2; + double **offset; + + virtual void allocate(); +}; + +} // namespace LAMMPS_NS + +#endif +#endif From f1c2a22e2dbafe8613aa9a1ac3b74c707839f756 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 8 Apr 2024 16:25:17 -0600 Subject: [PATCH 430/559] more tweaks --- doc/src/dump_modify.rst | 36 +++++++++++++++++++----------------- doc/src/thermo_modify.rst | 27 +++++++++++++++------------ examples/README | 2 +- src/dump_custom.cpp | 8 -------- src/write_data.cpp | 2 +- 5 files changed, 36 insertions(+), 39 deletions(-) diff --git a/doc/src/dump_modify.rst b/doc/src/dump_modify.rst index 6bc1bb8b3e..20460259ec 100644 --- a/doc/src/dump_modify.rst +++ b/doc/src/dump_modify.rst @@ -80,7 +80,7 @@ Syntax value = numeric value to compare to, or LAST these 3 args can be replaced by the word "none" to turn off thresholding *time* arg = *yes* or *no* - *triclinic/general* arg = none + *triclinic/general* arg = *yes* or *no* *units* arg = *yes* or *no* *unwrap* arg = *yes* or *no* @@ -815,7 +815,7 @@ threshold criterion is met. Otherwise it is not met. .. note:: - For style *custom*, the *triclinic/general* keyword alters dump + For style *custom*, the *triclinic/general* keyword can alter dump output for general triclinic simulation boxes and their atoms. See the :doc:`dump ` command for details of how this changes the format of dump file snapshots. The thresh keyword may access @@ -850,23 +850,25 @@ The default setting is *no*\ . ---------- The *triclinic/general* keyword only applies to the dump *atom* and -*custom* styles. It can only be used if the simulation box was -created as a general triclinic box. See the :doc:`Howto_triclinic -` doc page for a detailed explanation of orthogonal, -restricted triclinic, and general triclinic simulation boxes. +*custom* styles. It can only be used with a value of *yes* if the +simulation box was created as a general triclinic box. See the +:doc:`Howto_triclinic ` doc page for a detailed +explanation of orthogonal, restricted triclinic, and general triclinic +simulation boxes. -If this keyword is used, the box information at the beginning of each -snapshot will include information about the 3 arbitrary edge vectors -**A**, **B**, **C** that define the general triclinic box as well as -their origin. The format is described on the :doc:`dump ` doc -page. +If this keyword is used with a value of *yes*, the box information at +the beginning of each snapshot will include information about the 3 +arbitrary edge vectors **A**, **B**, **C** that define the general +triclinic box as well as their origin. The format is described on the +:doc:`dump ` doc page. -The coordinates of each atom will be output as values in (or near) the -general triclinic box. Likewise, per-atom vector quantities such as -velocity, omega, dipole moment, etc will have orientations consistent -with the general triclinic box, meaning they will be rotated relative -to the standard xyz coordinate axes. See the :doc:`dump ` doc -page for a full list of which dump attributes this affects. +The coordinates of each atom will likewise be output as values in (or +near) the general triclinic box. Likewise, per-atom vector quantities +such as velocity, omega, dipole moment, etc will have orientations +consistent with the general triclinic box, meaning they will be +rotated relative to the standard xyz coordinate axes. See the +:doc:`dump ` doc page for a full list of which dump attributes +this affects. ---------- diff --git a/doc/src/thermo_modify.rst b/doc/src/thermo_modify.rst index 5eadf2fa10..dcbe313508 100644 --- a/doc/src/thermo_modify.rst +++ b/doc/src/thermo_modify.rst @@ -32,7 +32,7 @@ Syntax *or* a thermo keyword or reference to compute, fix, property or variable. *temp* value = compute ID that calculates a temperature *press* value = compute ID that calculates a pressure - *triclinic/general* arg = none + *triclinic/general* arg = *yes* or *no* Examples @@ -242,16 +242,18 @@ command, thermo output uses a default compute for pressure with ID = keyword, then the new pressure compute specified by the *press* keyword will be unaffected by the *temp* setting. -The *triclinic/general* keyword can only be used if the simulation box -was created as a general triclinic box. See the :doc:`Howto_triclinic -` doc page for a detailed explanation of orthogonal, -restricted triclinic, and general triclinic simulation boxes. +The *triclinic/general* keyword can only be used with a value of *yes* +if the simulation box was created as a general triclinic box. See the +:doc:`Howto_triclinic ` doc page for a detailed +explanation of orthogonal, restricted triclinic, and general triclinic +simulation boxes. -If this keyword is used, the output of the simulation box edge vectors -and the pressure tensor components for the system are affected. These -are specified by the *avec,bvec,cvec* and *pxx,pyy,pzz,pxy,pxz,pyz* -keywords of the :doc:`thermo_style ` command. See the -:doc:`thermo_style ` doc page for details. +If this keyword is *yes*, the output of the simulation box edge +vectors and the pressure tensor components for the system are +affected. These are specified by the *avec,bvec,cvec* and +*pxx,pyy,pzz,pxy,pxz,pyz* keywords of the :doc:`thermo_style +` command. See the :doc:`thermo_style ` +doc page for details. Restrictions """""""""""" @@ -266,8 +268,9 @@ Default """"""" The option defaults are lost = error, warn = 100, norm = yes for unit -style of *lj*, norm = no for unit style of *real* and *metal*, -flush = no, and temp/press = compute IDs defined by thermo_style. +style of *lj*, norm = no for unit style of *real* and *metal*, flush = +no, temp/press = compute IDs defined by thermo_style, and +triclinic/general = no. The defaults for the line and format options depend on the thermo style. For styles "one" and "custom", the line and format defaults are "one", diff --git a/examples/README b/examples/README index f76dced3e4..c2166a0d20 100644 --- a/examples/README +++ b/examples/README @@ -115,7 +115,7 @@ tad: temperature-accelerated dynamics of vacancy diffusion in bulk Si template: examples for using atom_style template and comparing to atom style molecular tersoff: regression test input for Tersoff variants threebody: regression test input for a variety of threebody potentials -triclinic: general and restricted triclinic examples +triclinic: general triclinic simulation box examples ttm: two-temeperature model examples vashishta: models using the Vashishta potential voronoi: Voronoi tesselation via compute voronoi/atom command diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index 6e7ff619b6..fb07efd561 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -1762,14 +1762,6 @@ int DumpCustom::modify_param(int narg, char **arg) return 2; } - if (strcmp(arg[0],"triclinic/general") == 0) { - triclinic_general = 1; - if (triclinic_general && !domain->triclinic_general) - error->all(FLERR,"Dump_modify triclinic/general cannot be used " - "if simulation box is not general triclinic"); - return 1; - } - if (strcmp(arg[0],"triclinic/general") == 0) { if (narg < 2) error->all(FLERR,"Illegal dump_modify command"); triclinic_general = utils::logical(FLERR,arg[1],false,lmp); diff --git a/src/write_data.cpp b/src/write_data.cpp index f62b49c9b2..bc6f1773d4 100644 --- a/src/write_data.cpp +++ b/src/write_data.cpp @@ -338,7 +338,7 @@ void WriteData::header() domain->bvec[0],domain->bvec[1],domain->bvec[2], domain->cvec[0],domain->cvec[1],domain->cvec[2]); fmt::print(fp,"{} {} {} abc origin\n", - domain->boxlo[0],domain->boxlo[1],domain->boxhi[2]); + domain->boxlo[0],domain->boxlo[1],domain->boxlo[2]); } } From e6f4c49b7070f01add7f4449d8da72a7e188d612 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 8 Apr 2024 17:29:23 -0600 Subject: [PATCH 431/559] add simple general triclinic example files --- examples/triclinic/README | 110 ++++++++++++++++++ .../triclinic/data.8Apr24.bcc.orthog.g++.1 | 22 ++++ .../triclinic/data.8Apr24.bcc.orthog.g++.4 | 22 ++++ .../triclinic/data.8Apr24.bcc.primitive.g++.1 | 21 ++++ .../triclinic/data.8Apr24.bcc.primitive.g++.4 | 21 ++++ .../triclinic/data.8Apr24.fcc.orthog.g++.1 | 26 +++++ .../triclinic/data.8Apr24.fcc.orthog.g++.4 | 26 +++++ .../triclinic/data.8Apr24.fcc.primitive.g++.1 | 21 ++++ .../triclinic/data.8Apr24.fcc.primitive.g++.4 | 21 ++++ examples/triclinic/data.8Apr24.general.g++.1 | 23 ++++ examples/triclinic/data.8Apr24.general.g++.4 | 23 ++++ .../triclinic/data.8Apr24.hex.orthog.g++.1 | 22 ++++ .../triclinic/data.8Apr24.hex.orthog.g++.4 | 22 ++++ .../triclinic/data.8Apr24.hex.primitive.g++.1 | 21 ++++ .../triclinic/data.8Apr24.hex.primitive.g++.4 | 21 ++++ .../triclinic/data.8Apr24.sq2.orthog.g++.1 | 22 ++++ .../triclinic/data.8Apr24.sq2.orthog.g++.4 | 22 ++++ .../triclinic/data.8Apr24.sq2.primitive.g++.1 | 21 ++++ .../triclinic/data.8Apr24.sq2.primitive.g++.4 | 21 ++++ examples/triclinic/data.general | 13 +++ .../triclinic/dump.8Apr24.bcc.orthog.g++.1 | 11 ++ .../triclinic/dump.8Apr24.bcc.orthog.g++.4 | 11 ++ .../triclinic/dump.8Apr24.bcc.primitive.g++.1 | 10 ++ .../triclinic/dump.8Apr24.bcc.primitive.g++.4 | 10 ++ .../triclinic/dump.8Apr24.fcc.orthog.g++.1 | 13 +++ .../triclinic/dump.8Apr24.fcc.orthog.g++.4 | 13 +++ .../triclinic/dump.8Apr24.fcc.primitive.g++.1 | 10 ++ .../triclinic/dump.8Apr24.fcc.primitive.g++.4 | 10 ++ examples/triclinic/dump.8Apr24.general.g++.1 | 11 ++ examples/triclinic/dump.8Apr24.general.g++.4 | 11 ++ .../triclinic/dump.8Apr24.hex.orthog.g++.1 | 11 ++ .../triclinic/dump.8Apr24.hex.orthog.g++.4 | 11 ++ .../triclinic/dump.8Apr24.hex.primitive.g++.1 | 10 ++ .../triclinic/dump.8Apr24.hex.primitive.g++.4 | 10 ++ .../triclinic/dump.8Apr24.sq2.orthog.g++.1 | 11 ++ .../triclinic/dump.8Apr24.sq2.orthog.g++.4 | 11 ++ .../triclinic/dump.8Apr24.sq2.primitive.g++.1 | 10 ++ .../triclinic/dump.8Apr24.sq2.primitive.g++.4 | 10 ++ examples/triclinic/in.bcc.orthog | 23 ++++ examples/triclinic/in.bcc.primitive | 25 ++++ examples/triclinic/in.data.general | 21 ++++ examples/triclinic/in.fcc.orthog | 23 ++++ examples/triclinic/in.fcc.primitive | 25 ++++ examples/triclinic/in.hex.orthog | 24 ++++ examples/triclinic/in.hex.primitive | 26 +++++ examples/triclinic/in.sq2.orthog | 24 ++++ examples/triclinic/in.sq2.primitive | 26 +++++ .../triclinic/log.8Apr24.bcc.orthog.g++.1 | 74 ++++++++++++ .../triclinic/log.8Apr24.bcc.orthog.g++.4 | 75 ++++++++++++ .../triclinic/log.8Apr24.bcc.primitive.g++.1 | 76 ++++++++++++ .../triclinic/log.8Apr24.bcc.primitive.g++.4 | 77 ++++++++++++ .../triclinic/log.8Apr24.data.general.g++.1 | 73 ++++++++++++ .../triclinic/log.8Apr24.data.general.g++.4 | 74 ++++++++++++ .../triclinic/log.8Apr24.fcc.orthog.g++.1 | 74 ++++++++++++ .../triclinic/log.8Apr24.fcc.orthog.g++.4 | 75 ++++++++++++ .../triclinic/log.8Apr24.fcc.primitive.g++.1 | 76 ++++++++++++ .../triclinic/log.8Apr24.fcc.primitive.g++.4 | 77 ++++++++++++ .../triclinic/log.8Apr24.hex.orthog.g++.1 | 76 ++++++++++++ .../triclinic/log.8Apr24.hex.orthog.g++.4 | 77 ++++++++++++ .../triclinic/log.8Apr24.hex.primitive.g++.1 | 78 +++++++++++++ .../triclinic/log.8Apr24.hex.primitive.g++.4 | 79 +++++++++++++ .../triclinic/log.8Apr24.sq2.orthog.g++.1 | 76 ++++++++++++ .../triclinic/log.8Apr24.sq2.orthog.g++.4 | 77 ++++++++++++ .../triclinic/log.8Apr24.sq2.primitive.g++.1 | 77 ++++++++++++ .../triclinic/log.8Apr24.sq2.primitive.g++.4 | 78 +++++++++++++ 65 files changed, 2301 insertions(+) create mode 100644 examples/triclinic/README create mode 100644 examples/triclinic/data.8Apr24.bcc.orthog.g++.1 create mode 100644 examples/triclinic/data.8Apr24.bcc.orthog.g++.4 create mode 100644 examples/triclinic/data.8Apr24.bcc.primitive.g++.1 create mode 100644 examples/triclinic/data.8Apr24.bcc.primitive.g++.4 create mode 100644 examples/triclinic/data.8Apr24.fcc.orthog.g++.1 create mode 100644 examples/triclinic/data.8Apr24.fcc.orthog.g++.4 create mode 100644 examples/triclinic/data.8Apr24.fcc.primitive.g++.1 create mode 100644 examples/triclinic/data.8Apr24.fcc.primitive.g++.4 create mode 100644 examples/triclinic/data.8Apr24.general.g++.1 create mode 100644 examples/triclinic/data.8Apr24.general.g++.4 create mode 100644 examples/triclinic/data.8Apr24.hex.orthog.g++.1 create mode 100644 examples/triclinic/data.8Apr24.hex.orthog.g++.4 create mode 100644 examples/triclinic/data.8Apr24.hex.primitive.g++.1 create mode 100644 examples/triclinic/data.8Apr24.hex.primitive.g++.4 create mode 100644 examples/triclinic/data.8Apr24.sq2.orthog.g++.1 create mode 100644 examples/triclinic/data.8Apr24.sq2.orthog.g++.4 create mode 100644 examples/triclinic/data.8Apr24.sq2.primitive.g++.1 create mode 100644 examples/triclinic/data.8Apr24.sq2.primitive.g++.4 create mode 100644 examples/triclinic/data.general create mode 100644 examples/triclinic/dump.8Apr24.bcc.orthog.g++.1 create mode 100644 examples/triclinic/dump.8Apr24.bcc.orthog.g++.4 create mode 100644 examples/triclinic/dump.8Apr24.bcc.primitive.g++.1 create mode 100644 examples/triclinic/dump.8Apr24.bcc.primitive.g++.4 create mode 100644 examples/triclinic/dump.8Apr24.fcc.orthog.g++.1 create mode 100644 examples/triclinic/dump.8Apr24.fcc.orthog.g++.4 create mode 100644 examples/triclinic/dump.8Apr24.fcc.primitive.g++.1 create mode 100644 examples/triclinic/dump.8Apr24.fcc.primitive.g++.4 create mode 100644 examples/triclinic/dump.8Apr24.general.g++.1 create mode 100644 examples/triclinic/dump.8Apr24.general.g++.4 create mode 100644 examples/triclinic/dump.8Apr24.hex.orthog.g++.1 create mode 100644 examples/triclinic/dump.8Apr24.hex.orthog.g++.4 create mode 100644 examples/triclinic/dump.8Apr24.hex.primitive.g++.1 create mode 100644 examples/triclinic/dump.8Apr24.hex.primitive.g++.4 create mode 100644 examples/triclinic/dump.8Apr24.sq2.orthog.g++.1 create mode 100644 examples/triclinic/dump.8Apr24.sq2.orthog.g++.4 create mode 100644 examples/triclinic/dump.8Apr24.sq2.primitive.g++.1 create mode 100644 examples/triclinic/dump.8Apr24.sq2.primitive.g++.4 create mode 100644 examples/triclinic/in.bcc.orthog create mode 100644 examples/triclinic/in.bcc.primitive create mode 100644 examples/triclinic/in.data.general create mode 100644 examples/triclinic/in.fcc.orthog create mode 100644 examples/triclinic/in.fcc.primitive create mode 100644 examples/triclinic/in.hex.orthog create mode 100644 examples/triclinic/in.hex.primitive create mode 100644 examples/triclinic/in.sq2.orthog create mode 100644 examples/triclinic/in.sq2.primitive create mode 100644 examples/triclinic/log.8Apr24.bcc.orthog.g++.1 create mode 100644 examples/triclinic/log.8Apr24.bcc.orthog.g++.4 create mode 100644 examples/triclinic/log.8Apr24.bcc.primitive.g++.1 create mode 100644 examples/triclinic/log.8Apr24.bcc.primitive.g++.4 create mode 100644 examples/triclinic/log.8Apr24.data.general.g++.1 create mode 100644 examples/triclinic/log.8Apr24.data.general.g++.4 create mode 100644 examples/triclinic/log.8Apr24.fcc.orthog.g++.1 create mode 100644 examples/triclinic/log.8Apr24.fcc.orthog.g++.4 create mode 100644 examples/triclinic/log.8Apr24.fcc.primitive.g++.1 create mode 100644 examples/triclinic/log.8Apr24.fcc.primitive.g++.4 create mode 100644 examples/triclinic/log.8Apr24.hex.orthog.g++.1 create mode 100644 examples/triclinic/log.8Apr24.hex.orthog.g++.4 create mode 100644 examples/triclinic/log.8Apr24.hex.primitive.g++.1 create mode 100644 examples/triclinic/log.8Apr24.hex.primitive.g++.4 create mode 100644 examples/triclinic/log.8Apr24.sq2.orthog.g++.1 create mode 100644 examples/triclinic/log.8Apr24.sq2.orthog.g++.4 create mode 100644 examples/triclinic/log.8Apr24.sq2.primitive.g++.1 create mode 100644 examples/triclinic/log.8Apr24.sq2.primitive.g++.4 diff --git a/examples/triclinic/README b/examples/triclinic/README new file mode 100644 index 0000000000..c68bd709ac --- /dev/null +++ b/examples/triclinic/README @@ -0,0 +1,110 @@ +* Various input scripts for systems with general triclinic boxes + versus orthogonal boxes + +in.bcc.primitive = 1 atom for bcc lattice with primitive unit cell +in.fcc.primitive = 1 atom for fcc lattice with primitive unit cell +in.hex.primitive = 1 atom for 2d hex lattice with primitive unit cell +in.sq2.primitive = 1 atom for 2d sq2 lattice with primitive unit cell + +in.bcc.orthog = 2 atoms for bcc lattice with orthogonal unit cell +in.fcc.orthog = 4 atoms for fcc lattice with orthogonal unit cell +in.hex.orthog = 2 atoms for 2d hex ;attice with orthogonal unit cell +in.sq2.orthog = 2 atoms for 2d sq2 lattice with orthogonal unit cell + +energy and pressure should be same for primitive and orthogonal unit cells + +in.data.general = read a data file in general triclinic format + +* Run all the scripts on 1 proc + +lmp_mpi < in.bcc.primitive +mv log.lammps log.compare.bcc.primitive.g++.1 +mv tmp.data.bcc.primitive data.compare.bcc.primitive.g++.1 +mv tmp.dump.bcc.primitive dump.compare.bcc.primitive.g++.1 + +lmp_mpi < in.fcc.primitive +mv log.lammps log.compare.fcc.primitive.g++.1 +mv tmp.data.fcc.primitive data.compare.fcc.primitive.g++.1 +mv tmp.dump.fcc.primitive dump.compare.fcc.primitive.g++.1 + +lmp_mpi < in.hex.primitive +mv log.lammps log.compare.hex.primitive.g++.1 +mv tmp.data.hex.primitive data.compare.hex.primitive.g++.1 +mv tmp.dump.hex.primitive dump.compare.hex.primitive.g++.1 + +lmp_mpi < in.sq2.primitive +mv log.lammps log.compare.sq2.primitive.g++.1 +mv tmp.data.sq2.primitive data.compare.sq2.primitive.g++.1 +mv tmp.dump.sq2.primitive dump.compare.sq2.primitive.g++.1 + +lmp_mpi < in.bcc.orthog +mv log.lammps log.compare.bcc.orthog.g++.1 +mv tmp.data.bcc.orthog data.compare.bcc.orthog.g++.1 +mv tmp.dump.bcc.orthog dump.compare.bcc.orthog.g++.1 + +lmp_mpi < in.fcc.orthog +mv log.lammps log.compare.fcc.orthog.g++.1 +mv tmp.data.fcc.orthog data.compare.fcc.orthog.g++.1 +mv tmp.dump.fcc.orthog dump.compare.fcc.orthog.g++.1 + +lmp_mpi < in.hex.orthog +mv log.lammps log.compare.hex.orthog.g++.1 +mv tmp.data.hex.orthog data.compare.hex.orthog.g++.1 +mv tmp.dump.hex.orthog dump.compare.hex.orthog.g++.1 + +lmp_mpi < in.sq2.orthog +mv log.lammps log.compare.sq2.orthog.g++.1 +mv tmp.data.sq2.orthog data.compare.sq2.orthog.g++.1 +mv tmp.dump.sq2.orthog dump.compare.sq2.orthog.g++.1 + +lmp_mpi < in.data.general +mv log.lammps log.compare.data.general.g++.1 +mv tmp.data.general data.compare.general.g++.1 +mv tmp.dump.general dump.compare.general.g++.1 + +* Run all the scripts on 4 procs + +mpirun -np 4 lmp_mpi < in.bcc.primitive +mv log.lammps log.compare.bcc.primitive.g++.4 +mv tmp.data.bcc.primitive data.compare.bcc.primitive.g++.4 +mv tmp.dump.bcc.primitive dump.compare.bcc.primitive.g++.4 + +mpirun -np 4 lmp_mpi < in.fcc.primitive +mv log.lammps log.compare.fcc.primitive.g++.4 +mv tmp.data.fcc.primitive data.compare.fcc.primitive.g++.4 +mv tmp.dump.fcc.primitive dump.compare.fcc.primitive.g++.4 + +mpirun -np 4 lmp_mpi < in.hex.primitive +mv log.lammps log.compare.hex.primitive.g++.4 +mv tmp.data.hex.primitive data.compare.hex.primitive.g++.4 +mv tmp.dump.hex.primitive dump.compare.hex.primitive.g++.4 + +mpirun -np 4 lmp_mpi < in.sq2.primitive +mv log.lammps log.compare.sq2.primitive.g++.4 +mv tmp.data.sq2.primitive data.compare.sq2.primitive.g++.4 +mv tmp.dump.sq2.primitive dump.compare.sq2.primitive.g++.4 + +mpirun -np 4 lmp_mpi < in.bcc.orthog +mv log.lammps log.compare.bcc.orthog.g++.4 +mv tmp.data.bcc.orthog data.compare.bcc.orthog.g++.4 +mv tmp.dump.bcc.orthog dump.compare.bcc.orthog.g++.4 + +mpirun -np 4 lmp_mpi < in.fcc.orthog +mv log.lammps log.compare.fcc.orthog.g++.4 +mv tmp.data.fcc.orthog data.compare.fcc.orthog.g++.4 +mv tmp.dump.fcc.orthog dump.compare.fcc.orthog.g++.4 + +mpirun -np 4 lmp_mpi < in.hex.orthog +mv log.lammps log.compare.hex.orthog.g++.4 +mv tmp.data.hex.orthog data.compare.hex.orthog.g++.4 +mv tmp.dump.hex.orthog dump.compare.hex.orthog.g++.4 + +mpirun -np 4 lmp_mpi < in.sq2.orthog +mv log.lammps log.compare.sq2.orthog.g++.4 +mv tmp.data.sq2.orthog data.compare.sq2.orthog.g++.4 +mv tmp.dump.sq2.orthog dump.compare.sq2.orthog.g++.4 + +mpirun -np 4 lmp_mpi < in.data.general +mv log.lammps log.compare.data.general.g++.4 +mv tmp.data.general data.compare.general.g++.4 +mv tmp.dump.general dump.compare.general.g++.4 diff --git a/examples/triclinic/data.8Apr24.bcc.orthog.g++.1 b/examples/triclinic/data.8Apr24.bcc.orthog.g++.1 new file mode 100644 index 0000000000..d785b97148 --- /dev/null +++ b/examples/triclinic/data.8Apr24.bcc.orthog.g++.1 @@ -0,0 +1,22 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +2 atoms +1 atom types + +0 1.2599210498948732 xlo xhi +0 1.2599210498948732 ylo yhi +0 1.2599210498948732 zlo zhi + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 +2 1 0.6299605249474366 0.6299605249474366 0.6299605249474366 0 0 0 + +Velocities + +1 0 0 0 +2 0 0 0 diff --git a/examples/triclinic/data.8Apr24.bcc.orthog.g++.4 b/examples/triclinic/data.8Apr24.bcc.orthog.g++.4 new file mode 100644 index 0000000000..d785b97148 --- /dev/null +++ b/examples/triclinic/data.8Apr24.bcc.orthog.g++.4 @@ -0,0 +1,22 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +2 atoms +1 atom types + +0 1.2599210498948732 xlo xhi +0 1.2599210498948732 ylo yhi +0 1.2599210498948732 zlo zhi + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 +2 1 0.6299605249474366 0.6299605249474366 0.6299605249474366 0 0 0 + +Velocities + +1 0 0 0 +2 0 0 0 diff --git a/examples/triclinic/data.8Apr24.bcc.primitive.g++.1 b/examples/triclinic/data.8Apr24.bcc.primitive.g++.1 new file mode 100644 index 0000000000..d2f30610d4 --- /dev/null +++ b/examples/triclinic/data.8Apr24.bcc.primitive.g++.1 @@ -0,0 +1,21 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +1 atoms +1 atom types + +-0.6299605249474365 0.6299605249474365 0.6299605249474364 avec +0.6299605249474367 -0.6299605249474365 0.6299605249474365 bvec +0.6299605249474363 0.6299605249474365 -0.6299605249474363 cvec +0 0 0 abc origin + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 + +Velocities + +1 0 0 0 diff --git a/examples/triclinic/data.8Apr24.bcc.primitive.g++.4 b/examples/triclinic/data.8Apr24.bcc.primitive.g++.4 new file mode 100644 index 0000000000..d2f30610d4 --- /dev/null +++ b/examples/triclinic/data.8Apr24.bcc.primitive.g++.4 @@ -0,0 +1,21 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +1 atoms +1 atom types + +-0.6299605249474365 0.6299605249474365 0.6299605249474364 avec +0.6299605249474367 -0.6299605249474365 0.6299605249474365 bvec +0.6299605249474363 0.6299605249474365 -0.6299605249474363 cvec +0 0 0 abc origin + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 + +Velocities + +1 0 0 0 diff --git a/examples/triclinic/data.8Apr24.fcc.orthog.g++.1 b/examples/triclinic/data.8Apr24.fcc.orthog.g++.1 new file mode 100644 index 0000000000..4e1a9e286f --- /dev/null +++ b/examples/triclinic/data.8Apr24.fcc.orthog.g++.1 @@ -0,0 +1,26 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +4 atoms +1 atom types + +0 1.5377619196572583 xlo xhi +0 1.5377619196572583 ylo yhi +0 1.5377619196572583 zlo zhi + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 +2 1 0.7688809598286291 0.7688809598286291 0 0 0 0 +3 1 0.7688809598286291 0 0.7688809598286291 0 0 0 +4 1 0 0.7688809598286291 0.7688809598286291 0 0 0 + +Velocities + +1 0 0 0 +2 0 0 0 +3 0 0 0 +4 0 0 0 diff --git a/examples/triclinic/data.8Apr24.fcc.orthog.g++.4 b/examples/triclinic/data.8Apr24.fcc.orthog.g++.4 new file mode 100644 index 0000000000..dbcdc3ddaa --- /dev/null +++ b/examples/triclinic/data.8Apr24.fcc.orthog.g++.4 @@ -0,0 +1,26 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +4 atoms +1 atom types + +0 1.5377619196572583 xlo xhi +0 1.5377619196572583 ylo yhi +0 1.5377619196572583 zlo zhi + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 +2 1 0 0.7688809598286291 0.7688809598286291 0 0 0 +3 1 0.7688809598286291 0.7688809598286291 0 0 0 0 +4 1 0.7688809598286291 0 0.7688809598286291 0 0 0 + +Velocities + +1 0 0 0 +2 0 0 0 +3 0 0 0 +4 0 0 0 diff --git a/examples/triclinic/data.8Apr24.fcc.primitive.g++.1 b/examples/triclinic/data.8Apr24.fcc.primitive.g++.1 new file mode 100644 index 0000000000..99c74fb188 --- /dev/null +++ b/examples/triclinic/data.8Apr24.fcc.primitive.g++.1 @@ -0,0 +1,21 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +1 atoms +1 atom types + +0.7688809598286291 0.7688809598286293 -6.036070983262366e-17 avec +-5.551115123125783e-17 0.7688809598286293 0.7688809598286293 bvec +0.768880959828629 0 0.768880959828629 cvec +0 0 0 abc origin + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 + +Velocities + +1 0 0 0 diff --git a/examples/triclinic/data.8Apr24.fcc.primitive.g++.4 b/examples/triclinic/data.8Apr24.fcc.primitive.g++.4 new file mode 100644 index 0000000000..99c74fb188 --- /dev/null +++ b/examples/triclinic/data.8Apr24.fcc.primitive.g++.4 @@ -0,0 +1,21 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +1 atoms +1 atom types + +0.7688809598286291 0.7688809598286293 -6.036070983262366e-17 avec +-5.551115123125783e-17 0.7688809598286293 0.7688809598286293 bvec +0.768880959828629 0 0.768880959828629 cvec +0 0 0 abc origin + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 + +Velocities + +1 0 0 0 diff --git a/examples/triclinic/data.8Apr24.general.g++.1 b/examples/triclinic/data.8Apr24.general.g++.1 new file mode 100644 index 0000000000..1de194fb1c --- /dev/null +++ b/examples/triclinic/data.8Apr24.general.g++.1 @@ -0,0 +1,23 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +2 atoms +1 atom types + +0.9999999999999998 -1 0 avec +0.9999999999999999 0.9999999999999999 0 bvec +0.9999999999999999 0.9999999999999999 1 cvec +0 0 0 abc origin + +Masses + +1 1 + +Atoms # atomic + +1 1 0.2 -1.3877787807814457e-17 0.1 0 0 0 +2 1 0.8 -1.1102230246251565e-16 0.3 0 0 0 + +Velocities + +1 0 0 0 +2 0 0 0 diff --git a/examples/triclinic/data.8Apr24.general.g++.4 b/examples/triclinic/data.8Apr24.general.g++.4 new file mode 100644 index 0000000000..1de194fb1c --- /dev/null +++ b/examples/triclinic/data.8Apr24.general.g++.4 @@ -0,0 +1,23 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +2 atoms +1 atom types + +0.9999999999999998 -1 0 avec +0.9999999999999999 0.9999999999999999 0 bvec +0.9999999999999999 0.9999999999999999 1 cvec +0 0 0 abc origin + +Masses + +1 1 + +Atoms # atomic + +1 1 0.2 -1.3877787807814457e-17 0.1 0 0 0 +2 1 0.8 -1.1102230246251565e-16 0.3 0 0 0 + +Velocities + +1 0 0 0 +2 0 0 0 diff --git a/examples/triclinic/data.8Apr24.hex.orthog.g++.1 b/examples/triclinic/data.8Apr24.hex.orthog.g++.1 new file mode 100644 index 0000000000..503f636a88 --- /dev/null +++ b/examples/triclinic/data.8Apr24.hex.orthog.g++.1 @@ -0,0 +1,22 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +2 atoms +1 atom types + +0 1.074569931823542 xlo xhi +0 1.8612097182041991 ylo yhi +-0.537284965911771 0.537284965911771 zlo zhi + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 +2 1 0.537284965911771 0.9306048591020996 0 0 0 0 + +Velocities + +1 0 0 0 +2 0 0 0 diff --git a/examples/triclinic/data.8Apr24.hex.orthog.g++.4 b/examples/triclinic/data.8Apr24.hex.orthog.g++.4 new file mode 100644 index 0000000000..503f636a88 --- /dev/null +++ b/examples/triclinic/data.8Apr24.hex.orthog.g++.4 @@ -0,0 +1,22 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +2 atoms +1 atom types + +0 1.074569931823542 xlo xhi +0 1.8612097182041991 ylo yhi +-0.537284965911771 0.537284965911771 zlo zhi + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 +2 1 0.537284965911771 0.9306048591020996 0 0 0 0 + +Velocities + +1 0 0 0 +2 0 0 0 diff --git a/examples/triclinic/data.8Apr24.hex.primitive.g++.1 b/examples/triclinic/data.8Apr24.hex.primitive.g++.1 new file mode 100644 index 0000000000..5c1ee38bac --- /dev/null +++ b/examples/triclinic/data.8Apr24.hex.primitive.g++.1 @@ -0,0 +1,21 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +1 atoms +1 atom types + +1.0745699318262956 0 0 avec +0.5372849659131478 0.9306048590997147 0 bvec +0 0 1.0745699318262956 cvec +0 0 -0.5372849659131478 abc origin + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 + +Velocities + +1 0 0 0 diff --git a/examples/triclinic/data.8Apr24.hex.primitive.g++.4 b/examples/triclinic/data.8Apr24.hex.primitive.g++.4 new file mode 100644 index 0000000000..5c1ee38bac --- /dev/null +++ b/examples/triclinic/data.8Apr24.hex.primitive.g++.4 @@ -0,0 +1,21 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +1 atoms +1 atom types + +1.0745699318262956 0 0 avec +0.5372849659131478 0.9306048590997147 0 bvec +0 0 1.0745699318262956 cvec +0 0 -0.5372849659131478 abc origin + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 + +Velocities + +1 0 0 0 diff --git a/examples/triclinic/data.8Apr24.sq2.orthog.g++.1 b/examples/triclinic/data.8Apr24.sq2.orthog.g++.1 new file mode 100644 index 0000000000..732e6ed77f --- /dev/null +++ b/examples/triclinic/data.8Apr24.sq2.orthog.g++.1 @@ -0,0 +1,22 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +2 atoms +1 atom types + +0 1.348399724926484 xlo xhi +0 1.348399724926484 ylo yhi +-0.674199862463242 0.674199862463242 zlo zhi + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 +2 1 0.674199862463242 0.674199862463242 0 0 0 0 + +Velocities + +1 0 0 0 +2 0 0 0 diff --git a/examples/triclinic/data.8Apr24.sq2.orthog.g++.4 b/examples/triclinic/data.8Apr24.sq2.orthog.g++.4 new file mode 100644 index 0000000000..732e6ed77f --- /dev/null +++ b/examples/triclinic/data.8Apr24.sq2.orthog.g++.4 @@ -0,0 +1,22 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +2 atoms +1 atom types + +0 1.348399724926484 xlo xhi +0 1.348399724926484 ylo yhi +-0.674199862463242 0.674199862463242 zlo zhi + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 +2 1 0.674199862463242 0.674199862463242 0 0 0 0 + +Velocities + +1 0 0 0 +2 0 0 0 diff --git a/examples/triclinic/data.8Apr24.sq2.primitive.g++.1 b/examples/triclinic/data.8Apr24.sq2.primitive.g++.1 new file mode 100644 index 0000000000..5a679f612c --- /dev/null +++ b/examples/triclinic/data.8Apr24.sq2.primitive.g++.1 @@ -0,0 +1,21 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +1 atoms +1 atom types + +0.6741998624632419 -0.674199862463242 0 avec +0.6741998624632419 0.674199862463242 0 bvec +0 0 1.348399724926484 cvec +0 0 -0.674199862463242 abc origin + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 + +Velocities + +1 0 0 0 diff --git a/examples/triclinic/data.8Apr24.sq2.primitive.g++.4 b/examples/triclinic/data.8Apr24.sq2.primitive.g++.4 new file mode 100644 index 0000000000..5a679f612c --- /dev/null +++ b/examples/triclinic/data.8Apr24.sq2.primitive.g++.4 @@ -0,0 +1,21 @@ +LAMMPS data file via write_data, version 7 Feb 2024, timestep = 0, units = lj + +1 atoms +1 atom types + +0.6741998624632419 -0.674199862463242 0 avec +0.6741998624632419 0.674199862463242 0 bvec +0 0 1.348399724926484 cvec +0 0 -0.674199862463242 abc origin + +Masses + +1 1 + +Atoms # atomic + +1 1 0 0 0 0 0 0 + +Velocities + +1 0 0 0 diff --git a/examples/triclinic/data.general b/examples/triclinic/data.general new file mode 100644 index 0000000000..3ae6cdd0b5 --- /dev/null +++ b/examples/triclinic/data.general @@ -0,0 +1,13 @@ +# simple general triclinic simulation box with 2 atoms + +2 atoms +1 atom types +1 -1 0 avec +1 1 0 bvec +1 1 1 cvec +0 0 0 abc origin + +Atoms + +1 1 0.2 0.0 0.1 +2 1 0.8 0.0 0.3 diff --git a/examples/triclinic/dump.8Apr24.bcc.orthog.g++.1 b/examples/triclinic/dump.8Apr24.bcc.orthog.g++.1 new file mode 100644 index 0000000000..3023d4f393 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.bcc.orthog.g++.1 @@ -0,0 +1,11 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +2 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 1.2599210498948732e+00 +0.0000000000000000e+00 1.2599210498948732e+00 +0.0000000000000000e+00 1.2599210498948732e+00 +ITEM: ATOMS id type x y z +1 1 0 0 0 +2 1 0.629961 0.629961 0.629961 diff --git a/examples/triclinic/dump.8Apr24.bcc.orthog.g++.4 b/examples/triclinic/dump.8Apr24.bcc.orthog.g++.4 new file mode 100644 index 0000000000..3023d4f393 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.bcc.orthog.g++.4 @@ -0,0 +1,11 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +2 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 1.2599210498948732e+00 +0.0000000000000000e+00 1.2599210498948732e+00 +0.0000000000000000e+00 1.2599210498948732e+00 +ITEM: ATOMS id type x y z +1 1 0 0 0 +2 1 0.629961 0.629961 0.629961 diff --git a/examples/triclinic/dump.8Apr24.bcc.primitive.g++.1 b/examples/triclinic/dump.8Apr24.bcc.primitive.g++.1 new file mode 100644 index 0000000000..f987a77a35 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.bcc.primitive.g++.1 @@ -0,0 +1,10 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +1 +ITEM: BOX BOUNDS abc origin pp pp pp +-6.2996052494743648e-01 6.2996052494743648e-01 6.2996052494743637e-01 0.0000000000000000e+00 +6.2996052494743671e-01 -6.2996052494743648e-01 6.2996052494743648e-01 0.0000000000000000e+00 +6.2996052494743626e-01 6.2996052494743648e-01 -6.2996052494743626e-01 0.0000000000000000e+00 +ITEM: ATOMS id type x y z +1 1 0 0 0 diff --git a/examples/triclinic/dump.8Apr24.bcc.primitive.g++.4 b/examples/triclinic/dump.8Apr24.bcc.primitive.g++.4 new file mode 100644 index 0000000000..f987a77a35 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.bcc.primitive.g++.4 @@ -0,0 +1,10 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +1 +ITEM: BOX BOUNDS abc origin pp pp pp +-6.2996052494743648e-01 6.2996052494743648e-01 6.2996052494743637e-01 0.0000000000000000e+00 +6.2996052494743671e-01 -6.2996052494743648e-01 6.2996052494743648e-01 0.0000000000000000e+00 +6.2996052494743626e-01 6.2996052494743648e-01 -6.2996052494743626e-01 0.0000000000000000e+00 +ITEM: ATOMS id type x y z +1 1 0 0 0 diff --git a/examples/triclinic/dump.8Apr24.fcc.orthog.g++.1 b/examples/triclinic/dump.8Apr24.fcc.orthog.g++.1 new file mode 100644 index 0000000000..9f5f64f547 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.fcc.orthog.g++.1 @@ -0,0 +1,13 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +4 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 1.5377619196572583e+00 +0.0000000000000000e+00 1.5377619196572583e+00 +0.0000000000000000e+00 1.5377619196572583e+00 +ITEM: ATOMS id type x y z +1 1 0 0 0 +2 1 0.768881 0.768881 0 +3 1 0.768881 0 0.768881 +4 1 0 0.768881 0.768881 diff --git a/examples/triclinic/dump.8Apr24.fcc.orthog.g++.4 b/examples/triclinic/dump.8Apr24.fcc.orthog.g++.4 new file mode 100644 index 0000000000..0952b45b15 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.fcc.orthog.g++.4 @@ -0,0 +1,13 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +4 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 1.5377619196572583e+00 +0.0000000000000000e+00 1.5377619196572583e+00 +0.0000000000000000e+00 1.5377619196572583e+00 +ITEM: ATOMS id type x y z +1 1 0 0 0 +2 1 0 0.768881 0.768881 +3 1 0.768881 0.768881 0 +4 1 0.768881 0 0.768881 diff --git a/examples/triclinic/dump.8Apr24.fcc.primitive.g++.1 b/examples/triclinic/dump.8Apr24.fcc.primitive.g++.1 new file mode 100644 index 0000000000..7ec2c11e1b --- /dev/null +++ b/examples/triclinic/dump.8Apr24.fcc.primitive.g++.1 @@ -0,0 +1,10 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +1 +ITEM: BOX BOUNDS abc origin pp pp pp +7.6888095982862914e-01 7.6888095982862925e-01 -6.0360709832623663e-17 0.0000000000000000e+00 +-5.5511151231257827e-17 7.6888095982862925e-01 7.6888095982862925e-01 0.0000000000000000e+00 +7.6888095982862903e-01 0.0000000000000000e+00 7.6888095982862903e-01 0.0000000000000000e+00 +ITEM: ATOMS id type x y z +1 1 0 0 0 diff --git a/examples/triclinic/dump.8Apr24.fcc.primitive.g++.4 b/examples/triclinic/dump.8Apr24.fcc.primitive.g++.4 new file mode 100644 index 0000000000..7ec2c11e1b --- /dev/null +++ b/examples/triclinic/dump.8Apr24.fcc.primitive.g++.4 @@ -0,0 +1,10 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +1 +ITEM: BOX BOUNDS abc origin pp pp pp +7.6888095982862914e-01 7.6888095982862925e-01 -6.0360709832623663e-17 0.0000000000000000e+00 +-5.5511151231257827e-17 7.6888095982862925e-01 7.6888095982862925e-01 0.0000000000000000e+00 +7.6888095982862903e-01 0.0000000000000000e+00 7.6888095982862903e-01 0.0000000000000000e+00 +ITEM: ATOMS id type x y z +1 1 0 0 0 diff --git a/examples/triclinic/dump.8Apr24.general.g++.1 b/examples/triclinic/dump.8Apr24.general.g++.1 new file mode 100644 index 0000000000..4e7a7d08e0 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.general.g++.1 @@ -0,0 +1,11 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +2 +ITEM: BOX BOUNDS abc origin pp pp pp +9.9999999999999978e-01 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9.9999999999999989e-01 9.9999999999999989e-01 0.0000000000000000e+00 0.0000000000000000e+00 +9.9999999999999989e-01 9.9999999999999989e-01 1.0000000000000000e+00 0.0000000000000000e+00 +ITEM: ATOMS id type x y z +1 1 0.141421 0.141421 0.1 +2 1 0.565685 0.565685 0.3 diff --git a/examples/triclinic/dump.8Apr24.general.g++.4 b/examples/triclinic/dump.8Apr24.general.g++.4 new file mode 100644 index 0000000000..4e7a7d08e0 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.general.g++.4 @@ -0,0 +1,11 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +2 +ITEM: BOX BOUNDS abc origin pp pp pp +9.9999999999999978e-01 -1.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +9.9999999999999989e-01 9.9999999999999989e-01 0.0000000000000000e+00 0.0000000000000000e+00 +9.9999999999999989e-01 9.9999999999999989e-01 1.0000000000000000e+00 0.0000000000000000e+00 +ITEM: ATOMS id type x y z +1 1 0.141421 0.141421 0.1 +2 1 0.565685 0.565685 0.3 diff --git a/examples/triclinic/dump.8Apr24.hex.orthog.g++.1 b/examples/triclinic/dump.8Apr24.hex.orthog.g++.1 new file mode 100644 index 0000000000..498573a753 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.hex.orthog.g++.1 @@ -0,0 +1,11 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +2 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 1.0745699318235420e+00 +0.0000000000000000e+00 1.8612097182041991e+00 +-5.3728496591177100e-01 5.3728496591177100e-01 +ITEM: ATOMS id type x y z +1 1 0 0 0 +2 1 0.537285 0.930605 0 diff --git a/examples/triclinic/dump.8Apr24.hex.orthog.g++.4 b/examples/triclinic/dump.8Apr24.hex.orthog.g++.4 new file mode 100644 index 0000000000..498573a753 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.hex.orthog.g++.4 @@ -0,0 +1,11 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +2 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 1.0745699318235420e+00 +0.0000000000000000e+00 1.8612097182041991e+00 +-5.3728496591177100e-01 5.3728496591177100e-01 +ITEM: ATOMS id type x y z +1 1 0 0 0 +2 1 0.537285 0.930605 0 diff --git a/examples/triclinic/dump.8Apr24.hex.primitive.g++.1 b/examples/triclinic/dump.8Apr24.hex.primitive.g++.1 new file mode 100644 index 0000000000..e4e1e88430 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.hex.primitive.g++.1 @@ -0,0 +1,10 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +1 +ITEM: BOX BOUNDS abc origin pp pp pp +1.0745699318262956e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5.3728496591314778e-01 9.3060485909971469e-01 0.0000000000000000e+00 0.0000000000000000e+00 +0.0000000000000000e+00 0.0000000000000000e+00 1.0745699318262956e+00 -5.3728496591314778e-01 +ITEM: ATOMS id type x y z +1 1 0 0 0 diff --git a/examples/triclinic/dump.8Apr24.hex.primitive.g++.4 b/examples/triclinic/dump.8Apr24.hex.primitive.g++.4 new file mode 100644 index 0000000000..e4e1e88430 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.hex.primitive.g++.4 @@ -0,0 +1,10 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +1 +ITEM: BOX BOUNDS abc origin pp pp pp +1.0745699318262956e+00 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 +5.3728496591314778e-01 9.3060485909971469e-01 0.0000000000000000e+00 0.0000000000000000e+00 +0.0000000000000000e+00 0.0000000000000000e+00 1.0745699318262956e+00 -5.3728496591314778e-01 +ITEM: ATOMS id type x y z +1 1 0 0 0 diff --git a/examples/triclinic/dump.8Apr24.sq2.orthog.g++.1 b/examples/triclinic/dump.8Apr24.sq2.orthog.g++.1 new file mode 100644 index 0000000000..9735deffb2 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.sq2.orthog.g++.1 @@ -0,0 +1,11 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +2 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 1.3483997249264841e+00 +0.0000000000000000e+00 1.3483997249264841e+00 +-6.7419986246324204e-01 6.7419986246324204e-01 +ITEM: ATOMS id type x y z +1 1 0 0 0 +2 1 0.6742 0.6742 0 diff --git a/examples/triclinic/dump.8Apr24.sq2.orthog.g++.4 b/examples/triclinic/dump.8Apr24.sq2.orthog.g++.4 new file mode 100644 index 0000000000..9735deffb2 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.sq2.orthog.g++.4 @@ -0,0 +1,11 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +2 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 1.3483997249264841e+00 +0.0000000000000000e+00 1.3483997249264841e+00 +-6.7419986246324204e-01 6.7419986246324204e-01 +ITEM: ATOMS id type x y z +1 1 0 0 0 +2 1 0.6742 0.6742 0 diff --git a/examples/triclinic/dump.8Apr24.sq2.primitive.g++.1 b/examples/triclinic/dump.8Apr24.sq2.primitive.g++.1 new file mode 100644 index 0000000000..8f8487e237 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.sq2.primitive.g++.1 @@ -0,0 +1,10 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +1 +ITEM: BOX BOUNDS abc origin pp pp pp +6.7419986246324193e-01 -6.7419986246324204e-01 0.0000000000000000e+00 0.0000000000000000e+00 +6.7419986246324193e-01 6.7419986246324204e-01 0.0000000000000000e+00 0.0000000000000000e+00 +0.0000000000000000e+00 0.0000000000000000e+00 1.3483997249264841e+00 -6.7419986246324204e-01 +ITEM: ATOMS id type x y z +1 1 0 0 0 diff --git a/examples/triclinic/dump.8Apr24.sq2.primitive.g++.4 b/examples/triclinic/dump.8Apr24.sq2.primitive.g++.4 new file mode 100644 index 0000000000..8f8487e237 --- /dev/null +++ b/examples/triclinic/dump.8Apr24.sq2.primitive.g++.4 @@ -0,0 +1,10 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +1 +ITEM: BOX BOUNDS abc origin pp pp pp +6.7419986246324193e-01 -6.7419986246324204e-01 0.0000000000000000e+00 0.0000000000000000e+00 +6.7419986246324193e-01 6.7419986246324204e-01 0.0000000000000000e+00 0.0000000000000000e+00 +0.0000000000000000e+00 0.0000000000000000e+00 1.3483997249264841e+00 -6.7419986246324204e-01 +ITEM: ATOMS id type x y z +1 1 0 0 0 diff --git a/examples/triclinic/in.bcc.orthog b/examples/triclinic/in.bcc.orthog new file mode 100644 index 0000000000..b25241c700 --- /dev/null +++ b/examples/triclinic/in.bcc.orthog @@ -0,0 +1,23 @@ +# orthogonal box for bcc lattice unit cell + +lattice bcc 1.0 + +region mybox block 0 1 0 1 0 1 +create_box 1 mybox +create_atoms 1 box + +mass * 1.0 + +write_data tmp.data.bcc.orthog + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz & + cvecx cvecy cvecz pxx pyy pzz vol + +dump 1 all custom 100 tmp.dump.bcc.orthog id type x y z + +run 0 diff --git a/examples/triclinic/in.bcc.primitive b/examples/triclinic/in.bcc.primitive new file mode 100644 index 0000000000..2c1a1f9b6f --- /dev/null +++ b/examples/triclinic/in.bcc.primitive @@ -0,0 +1,25 @@ +# general triclinic box for bcc lattice primitive cell + +lattice custom 1.0 a1 -0.5 0.5 0.5 a2 0.5 -0.5 0.5 a3 0.5 0.5 -0.5 & + basis 0.0 0.0 0.0 triclinic/general + +create_box 1 NULL 0 1 0 1 0 1 +create_atoms 1 box + +mass * 1.0 + +write_data tmp.data.bcc.primitive triclinic/general + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz & + cvecx cvecy cvecz pxx pyy pzz vol +thermo_modify triclinic/general yes + +dump 1 all custom 100 tmp.dump.bcc.primitive id type x y z +dump_modify 1 triclinic/general yes + +run 0 diff --git a/examples/triclinic/in.data.general b/examples/triclinic/in.data.general new file mode 100644 index 0000000000..8e3d7bc287 --- /dev/null +++ b/examples/triclinic/in.data.general @@ -0,0 +1,21 @@ +# read a general triclinic data file + +read_data data.general + +mass * 1.0 + +write_data tmp.data.general triclinic/general + +pair_style lj/cut 1.2 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz & + cvecx cvecy cvecz pxx pyy pzz vol +thermo_modify triclinic/general yes + +dump 1 all custom 100 tmp.dump.general id type x y z +dump_modify 1 triclinic/general yes + +run 0 diff --git a/examples/triclinic/in.fcc.orthog b/examples/triclinic/in.fcc.orthog new file mode 100644 index 0000000000..a33b6c4a81 --- /dev/null +++ b/examples/triclinic/in.fcc.orthog @@ -0,0 +1,23 @@ +# orthogonal box for fcc lattice unit cell + +lattice fcc 1.1 + +region mybox block 0 1 0 1 0 1 +create_box 1 mybox +create_atoms 1 box + +mass * 1.0 + +write_data tmp.data.fcc.orthog + +pair_style lj/cut 1.2 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz & + cvecx cvecy cvecz pxx pyy pzz vol + +dump 1 all custom 100 tmp.dump.fcc.orthog id type x y z + +run 0 diff --git a/examples/triclinic/in.fcc.primitive b/examples/triclinic/in.fcc.primitive new file mode 100644 index 0000000000..2836d39eea --- /dev/null +++ b/examples/triclinic/in.fcc.primitive @@ -0,0 +1,25 @@ +# general triclinic box for fcc lattice primitive cell + +lattice custom 1.1 a2 0.0 0.5 0.5 a3 0.5 0.0 0.5 a1 0.5 0.5 0.0 & + basis 0.0 0.0 0.0 triclinic/general + +create_box 1 NULL 0 1 0 1 0 1 +create_atoms 1 box + +mass * 1.0 + +write_data tmp.data.fcc.primitive triclinic/general + +pair_style lj/cut 1.2 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz & + cvecx cvecy cvecz pxx pyy pzz vol +thermo_modify triclinic/general yes + +dump 1 all custom 100 tmp.dump.fcc.primitive id type x y z +dump_modify 1 triclinic/general yes + +run 0 diff --git a/examples/triclinic/in.hex.orthog b/examples/triclinic/in.hex.orthog new file mode 100644 index 0000000000..41d70916d1 --- /dev/null +++ b/examples/triclinic/in.hex.orthog @@ -0,0 +1,24 @@ +# orthogonal box for 2d hex lattice unit cell + +dimension 2 + +lattice hex 1.0 + +region mybox block 0 1 0 1 -0.5 0.5 +create_box 1 mybox +create_atoms 1 box + +mass * 1.0 + +write_data tmp.data.hex.orthog + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol + +dump 1 all custom 100 tmp.dump.hex.orthog id type x y z + +run 0 diff --git a/examples/triclinic/in.hex.primitive b/examples/triclinic/in.hex.primitive new file mode 100644 index 0000000000..f76ccbbdf2 --- /dev/null +++ b/examples/triclinic/in.hex.primitive @@ -0,0 +1,26 @@ +# general triclinic box for 2d hex lattice primitive cell + +dimension 2 + +lattice custom 1.0 a1 1.0 0.0 0.0 a2 0.5 0.86602540378 0.0 & + a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 triclinic/general + +create_box 1 NULL 0 1 0 1 -0.5 0.5 +create_atoms 1 box + +mass * 1.0 + +write_data tmp.data.hex.primitive triclinic/general + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol +thermo_modify triclinic/general yes + +dump 1 all custom 100 tmp.dump.hex.primitive id type x y z +dump_modify 1 triclinic/general yes + +run 0 diff --git a/examples/triclinic/in.sq2.orthog b/examples/triclinic/in.sq2.orthog new file mode 100644 index 0000000000..366703a6ee --- /dev/null +++ b/examples/triclinic/in.sq2.orthog @@ -0,0 +1,24 @@ +# orthogonal box for 2d sq2 lattice unit cell + +dimension 2 + +lattice sq2 1.1 + +region mybox block 0 1 0 1 -0.5 0.5 +create_box 1 mybox +create_atoms 1 box + +mass * 1.0 + +write_data tmp.data.sq2.orthog + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol + +dump 1 all custom 100 tmp.dump.sq2.orthog id type x y z + +run 0 diff --git a/examples/triclinic/in.sq2.primitive b/examples/triclinic/in.sq2.primitive new file mode 100644 index 0000000000..5333fd2b99 --- /dev/null +++ b/examples/triclinic/in.sq2.primitive @@ -0,0 +1,26 @@ +# general triclinic box for 2d sq2 lattice primitive cell + +dimension 2 + +lattice custom 1.1 a1 0.5 -0.5 0.0 a2 0.5 0.5 0.0 a3 0.0 0.0 1.0 & + basis 0.0 0.0 0.0 triclinic/general + +create_box 1 NULL 0 1 0 1 -0.5 0.5 +create_atoms 1 box + +mass * 1.0 + +write_data tmp.data.sq2.primitive triclinic/general + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol +thermo_modify triclinic/general yes + +dump 1 all custom 100 tmp.dump.sq2.primitive id type x y z +dump_modify 1 triclinic/general yes + +run 0 diff --git a/examples/triclinic/log.8Apr24.bcc.orthog.g++.1 b/examples/triclinic/log.8Apr24.bcc.orthog.g++.1 new file mode 100644 index 0000000000..72bbc4505c --- /dev/null +++ b/examples/triclinic/log.8Apr24.bcc.orthog.g++.1 @@ -0,0 +1,74 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +# orthogonal box for bcc lattice unit cell + +lattice bcc 1.0 +Lattice spacing in x,y,z = 1.259921 1.259921 1.259921 + +region mybox block 0 1 0 1 0 1 +create_box 1 mybox +Created orthogonal box = (0 0 0) to (1.259921 1.259921 1.259921) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 2 atoms + using lattice units in orthogonal box = (0 0 0) to (1.259921 1.259921 1.259921) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.bcc.orthog +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz cvecx cvecy cvecz pxx pyy pzz vol + +dump 1 all custom 100 tmp.dump.bcc.orthog id type x y z + +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 = 1.1 + ghost atom cutoff = 1.1 + binsize = 0.55, bins = 3 3 3 + 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.058 | 3.058 | 3.058 Mbytes + Step PotEng Avecx Avecy Avecz Bvecx Bvecy Bvecz Cvecx Cvecy Cvecz Pxx Pyy Pzz Volume + 0 -3.8628258 1.259921 0 0 0 1.259921 0 0 0 1.259921 3.5116598 3.5116598 3.5116598 2 +Loop time of 8.27e-07 on 1 procs for 0 steps with 2 atoms + +120.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 | | 8.27e-07 | | |100.00 + +Nlocal: 2 ave 2 max 2 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 33 ave 33 max 33 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 8 ave 8 max 8 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 8 +Ave neighs/atom = 4 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.bcc.orthog.g++.4 b/examples/triclinic/log.8Apr24.bcc.orthog.g++.4 new file mode 100644 index 0000000000..389d66f413 --- /dev/null +++ b/examples/triclinic/log.8Apr24.bcc.orthog.g++.4 @@ -0,0 +1,75 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) +# orthogonal box for bcc lattice unit cell + +lattice bcc 1.0 +Lattice spacing in x,y,z = 1.259921 1.259921 1.259921 + +region mybox block 0 1 0 1 0 1 +create_box 1 mybox +Created orthogonal box = (0 0 0) to (1.259921 1.259921 1.259921) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 2 atoms + using lattice units in orthogonal box = (0 0 0) to (1.259921 1.259921 1.259921) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.bcc.orthog +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz cvecx cvecy cvecz pxx pyy pzz vol + +dump 1 all custom 100 tmp.dump.bcc.orthog id type x y z + +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 = 1.1 + ghost atom cutoff = 1.1 + binsize = 0.55, bins = 3 3 3 + 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) = 2.948 | 3.011 | 3.073 Mbytes + Step PotEng Avecx Avecy Avecz Bvecx Bvecy Bvecz Cvecx Cvecy Cvecz Pxx Pyy Pzz Volume + 0 -3.8628258 1.259921 0 0 0 1.259921 0 0 0 1.259921 3.5116598 3.5116598 3.5116598 2 +Loop time of 1.3815e-06 on 4 procs for 0 steps with 2 atoms + +54.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.382e-06 | | |100.00 + +Nlocal: 0.5 ave 1 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 19.5 ave 20 max 19 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 2 ave 4 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 8 +Ave neighs/atom = 4 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.bcc.primitive.g++.1 b/examples/triclinic/log.8Apr24.bcc.primitive.g++.1 new file mode 100644 index 0000000000..d1c8cca311 --- /dev/null +++ b/examples/triclinic/log.8Apr24.bcc.primitive.g++.1 @@ -0,0 +1,76 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +# general triclinic box for bcc lattice primitive cell + +lattice custom 1.0 a1 -0.5 0.5 0.5 a2 0.5 -0.5 0.5 a3 0.5 0.5 -0.5 basis 0.0 0.0 0.0 triclinic/general +Lattice spacing in x,y,z = 1.8185394 1.5430818 0.89089872 + +create_box 1 NULL 0 1 0 1 0 1 +Created triclinic box = (0 0 0) to (1.0911236 1.0287212 0.89089872) with tilt (-0.36370788 -0.36370788 -0.51436061) +WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (../domain.cpp:221) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 1 atoms + using lattice units in triclinic box = (0 0 0) to (1.0911236 1.0287212 0.89089872) with tilt (-0.36370788 -0.36370788 -0.51436061) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.bcc.primitive triclinic/general +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz cvecx cvecy cvecz pxx pyy pzz vol +thermo_modify triclinic/general yes + +dump 1 all custom 100 tmp.dump.bcc.primitive id type x y z +dump_modify 1 triclinic/general yes + +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 = 1.1 + ghost atom cutoff = 1.1 + binsize = 0.55, bins = 4 3 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton/tri + stencil: half/bin/3d/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.084 | 3.084 | 3.084 Mbytes + Step PotEng Avecx Avecy Avecz Bvecx Bvecy Bvecz Cvecx Cvecy Cvecz Pxx Pyy Pzz Volume + 0 -3.8628258 -0.62996052 0.62996052 0.62996052 0.62996052 -0.62996052 0.62996052 0.62996052 0.62996052 -0.62996052 3.5116598 3.5116598 3.5116598 1 +Loop time of 6.86e-07 on 1 procs for 0 steps with 1 atoms + +145.8% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 6.86e-07 | | |100.00 + +Nlocal: 1 ave 1 max 1 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 63 ave 63 max 63 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 4 ave 4 max 4 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4 +Ave neighs/atom = 4 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.bcc.primitive.g++.4 b/examples/triclinic/log.8Apr24.bcc.primitive.g++.4 new file mode 100644 index 0000000000..f8e979976f --- /dev/null +++ b/examples/triclinic/log.8Apr24.bcc.primitive.g++.4 @@ -0,0 +1,77 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) +# general triclinic box for bcc lattice primitive cell + +lattice custom 1.0 a1 -0.5 0.5 0.5 a2 0.5 -0.5 0.5 a3 0.5 0.5 -0.5 basis 0.0 0.0 0.0 triclinic/general +Lattice spacing in x,y,z = 1.8185394 1.5430818 0.89089872 + +create_box 1 NULL 0 1 0 1 0 1 +Created triclinic box = (0 0 0) to (1.0911236 1.0287212 0.89089872) with tilt (-0.36370788 -0.36370788 -0.51436061) +WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (../domain.cpp:221) + 2 by 1 by 2 MPI processor grid +create_atoms 1 box +Created 1 atoms + using lattice units in triclinic box = (0 0 0) to (1.0911236 1.0287212 0.89089872) with tilt (-0.36370788 -0.36370788 -0.51436061) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.bcc.primitive triclinic/general +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz cvecx cvecy cvecz pxx pyy pzz vol +thermo_modify triclinic/general yes + +dump 1 all custom 100 tmp.dump.bcc.primitive id type x y z +dump_modify 1 triclinic/general yes + +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 = 1.1 + ghost atom cutoff = 1.1 + binsize = 0.55, bins = 4 3 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton/tri + stencil: half/bin/3d/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.973 | 3.005 | 3.098 Mbytes + Step PotEng Avecx Avecy Avecz Bvecx Bvecy Bvecz Cvecx Cvecy Cvecz Pxx Pyy Pzz Volume + 0 -3.8628258 -0.62996052 0.62996052 0.62996052 0.62996052 -0.62996052 0.62996052 0.62996052 0.62996052 -0.62996052 3.5116598 3.5116598 3.5116598 1 +Loop time of 2.1275e-06 on 4 procs for 0 steps with 1 atoms + +70.5% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 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.127e-06 | | |100.00 + +Nlocal: 0.25 ave 1 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 +Nghost: 35.75 ave 36 max 35 min +Histogram: 1 0 0 0 0 0 0 0 0 3 +Neighs: 1 ave 4 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 4 +Ave neighs/atom = 4 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.data.general.g++.1 b/examples/triclinic/log.8Apr24.data.general.g++.1 new file mode 100644 index 0000000000..3874a8c77e --- /dev/null +++ b/examples/triclinic/log.8Apr24.data.general.g++.1 @@ -0,0 +1,73 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +# read a general triclinic data file + +read_data data.general +Reading data file ... + triclinic box = (0 0 0) to (1.4142136 1.4142136 1) with tilt (-1.110223e-16 -1.110223e-16 1.4142136) +WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (../domain.cpp:221) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 2 atoms + read_data CPU = 0.001 seconds + +mass * 1.0 + +write_data tmp.data.general triclinic/general +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.2 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz cvecx cvecy cvecz pxx pyy pzz vol +thermo_modify triclinic/general yes + +dump 1 all custom 100 tmp.dump.general id type x y z +dump_modify 1 triclinic/general yes + +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 = 1.2 + ghost atom cutoff = 1.2 + binsize = 0.6, bins = 3 5 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton/tri + stencil: half/bin/3d/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.076 | 3.076 | 3.076 Mbytes + Step PotEng Avecx Avecy Avecz Bvecx Bvecy Bvecz Cvecx Cvecy Cvecz Pxx Pyy Pzz Volume + 0 456.05603 1 -1 0 1 1 0 1 1 1 2555.5604 2555.5604 598.94037 2 +Loop time of 7.31e-07 on 1 procs for 0 steps with 2 atoms + +136.8% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 7.31e-07 | | |100.00 + +Nlocal: 2 ave 2 max 2 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 66 ave 66 max 66 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 6 ave 6 max 6 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 6 +Ave neighs/atom = 3 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.data.general.g++.4 b/examples/triclinic/log.8Apr24.data.general.g++.4 new file mode 100644 index 0000000000..f03d1ffb58 --- /dev/null +++ b/examples/triclinic/log.8Apr24.data.general.g++.4 @@ -0,0 +1,74 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) +# read a general triclinic data file + +read_data data.general +Reading data file ... + triclinic box = (0 0 0) to (1.4142136 1.4142136 1) with tilt (-1.110223e-16 -1.110223e-16 1.4142136) +WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (../domain.cpp:221) + 2 by 1 by 2 MPI processor grid + reading atoms ... + 2 atoms + read_data CPU = 0.001 seconds + +mass * 1.0 + +write_data tmp.data.general triclinic/general +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.2 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz cvecx cvecy cvecz pxx pyy pzz vol +thermo_modify triclinic/general yes + +dump 1 all custom 100 tmp.dump.general id type x y z +dump_modify 1 triclinic/general yes + +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 = 1.2 + ghost atom cutoff = 1.2 + binsize = 0.6, bins = 3 5 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton/tri + stencil: half/bin/3d/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.966 | 2.997 | 3.091 Mbytes + Step PotEng Avecx Avecy Avecz Bvecx Bvecy Bvecz Cvecx Cvecy Cvecz Pxx Pyy Pzz Volume + 0 456.05603 1 -1 0 1 1 0 1 1 1 2555.5604 2555.5604 598.94037 2 +Loop time of 2.13e-06 on 4 procs for 0 steps with 2 atoms + +70.4% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 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.13e-06 | | |100.00 + +Nlocal: 0.5 ave 2 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 +Nghost: 47.5 ave 48 max 46 min +Histogram: 1 0 0 0 0 0 0 0 0 3 +Neighs: 1.5 ave 6 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 6 +Ave neighs/atom = 3 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.fcc.orthog.g++.1 b/examples/triclinic/log.8Apr24.fcc.orthog.g++.1 new file mode 100644 index 0000000000..fc608c042a --- /dev/null +++ b/examples/triclinic/log.8Apr24.fcc.orthog.g++.1 @@ -0,0 +1,74 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +# orthogonal box for fcc lattice unit cell + +lattice fcc 1.1 +Lattice spacing in x,y,z = 1.5377619 1.5377619 1.5377619 + +region mybox block 0 1 0 1 0 1 +create_box 1 mybox +Created orthogonal box = (0 0 0) to (1.5377619 1.5377619 1.5377619) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 4 atoms + using lattice units in orthogonal box = (0 0 0) to (1.5377619 1.5377619 1.5377619) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.fcc.orthog +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.2 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz cvecx cvecy cvecz pxx pyy pzz vol + +dump 1 all custom 100 tmp.dump.fcc.orthog id type x y z + +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 = 1.2 + ghost atom cutoff = 1.2 + binsize = 0.6, bins = 3 3 3 + 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.059 | 3.059 | 3.059 Mbytes + Step PotEng Avecx Avecy Avecz Bvecx Bvecy Bvecz Cvecx Cvecy Cvecz Pxx Pyy Pzz Volume + 0 -5.7354 1.5377619 0 0 0 1.5377619 0 0 0 1.5377619 6.70824 6.70824 6.70824 3.6363636 +Loop time of 8.53e-07 on 1 procs for 0 steps with 4 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 | | 8.53e-07 | | |100.00 + +Nlocal: 4 ave 4 max 4 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 58 ave 58 max 58 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 24 ave 24 max 24 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 24 +Ave neighs/atom = 6 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.fcc.orthog.g++.4 b/examples/triclinic/log.8Apr24.fcc.orthog.g++.4 new file mode 100644 index 0000000000..f5464d238d --- /dev/null +++ b/examples/triclinic/log.8Apr24.fcc.orthog.g++.4 @@ -0,0 +1,75 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) +# orthogonal box for fcc lattice unit cell + +lattice fcc 1.1 +Lattice spacing in x,y,z = 1.5377619 1.5377619 1.5377619 + +region mybox block 0 1 0 1 0 1 +create_box 1 mybox +Created orthogonal box = (0 0 0) to (1.5377619 1.5377619 1.5377619) + 2 by 1 by 2 MPI processor grid +create_atoms 1 box +Created 4 atoms + using lattice units in orthogonal box = (0 0 0) to (1.5377619 1.5377619 1.5377619) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.fcc.orthog +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.2 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz cvecx cvecy cvecz pxx pyy pzz vol + +dump 1 all custom 100 tmp.dump.fcc.orthog id type x y z + +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 = 1.2 + ghost atom cutoff = 1.2 + binsize = 0.6, bins = 3 3 3 + 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.074 | 3.074 | 3.074 Mbytes + Step PotEng Avecx Avecy Avecz Bvecx Bvecy Bvecz Cvecx Cvecy Cvecz Pxx Pyy Pzz Volume + 0 -5.7354 1.5377619 0 0 0 1.5377619 0 0 0 1.5377619 6.70824 6.70824 6.70824 3.6363636 +Loop time of 3.291e-06 on 4 procs for 0 steps with 4 atoms + +76.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 | | 3.291e-06 | | |100.00 + +Nlocal: 1 ave 1 max 1 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 39 ave 39 max 39 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 6 ave 6 max 6 min +Histogram: 4 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 24 +Ave neighs/atom = 6 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.fcc.primitive.g++.1 b/examples/triclinic/log.8Apr24.fcc.primitive.g++.1 new file mode 100644 index 0000000000..21fccdca1f --- /dev/null +++ b/examples/triclinic/log.8Apr24.fcc.primitive.g++.1 @@ -0,0 +1,76 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +# general triclinic box for fcc lattice primitive cell + +lattice custom 1.1 a2 0.0 0.5 0.5 a3 0.5 0.0 0.5 a1 0.5 0.5 0.0 basis 0.0 0.0 0.0 triclinic/general +Lattice spacing in x,y,z = 2.1747238 1.2555773 0.88782726 + +create_box 1 NULL 0 1 0 1 0 1 +Created triclinic box = (0 0 0) to (1.0873619 0.94168301 0.88782726) with tilt (0.54368094 0.54368094 0.31389434) +WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (../domain.cpp:221) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 1 atoms + using lattice units in triclinic box = (0 0 0) to (1.0873619 0.94168301 0.88782726) with tilt (0.54368094 0.54368094 0.31389434) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.fcc.primitive triclinic/general +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.2 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz cvecx cvecy cvecz pxx pyy pzz vol +thermo_modify triclinic/general yes + +dump 1 all custom 100 tmp.dump.fcc.primitive id type x y z +dump_modify 1 triclinic/general yes + +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 = 1.2 + ghost atom cutoff = 1.2 + binsize = 0.6, bins = 4 3 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton/tri + stencil: half/bin/3d/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.084 | 3.084 | 3.084 Mbytes + Step PotEng Avecx Avecy Avecz Bvecx Bvecy Bvecz Cvecx Cvecy Cvecz Pxx Pyy Pzz Volume + 0 -5.7354 0.76888096 0.76888096 -6.036071e-17 -5.5511151e-17 0.76888096 0.76888096 0.76888096 0 0.76888096 6.70824 6.70824 6.70824 0.90909091 +Loop time of 8.83e-07 on 1 procs for 0 steps with 1 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 | | 8.83e-07 | | |100.00 + +Nlocal: 1 ave 1 max 1 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 63 ave 63 max 63 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 6 ave 6 max 6 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 6 +Ave neighs/atom = 6 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.fcc.primitive.g++.4 b/examples/triclinic/log.8Apr24.fcc.primitive.g++.4 new file mode 100644 index 0000000000..651da16e79 --- /dev/null +++ b/examples/triclinic/log.8Apr24.fcc.primitive.g++.4 @@ -0,0 +1,77 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) +# general triclinic box for fcc lattice primitive cell + +lattice custom 1.1 a2 0.0 0.5 0.5 a3 0.5 0.0 0.5 a1 0.5 0.5 0.0 basis 0.0 0.0 0.0 triclinic/general +Lattice spacing in x,y,z = 2.1747238 1.2555773 0.88782726 + +create_box 1 NULL 0 1 0 1 0 1 +Created triclinic box = (0 0 0) to (1.0873619 0.94168301 0.88782726) with tilt (0.54368094 0.54368094 0.31389434) +WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (../domain.cpp:221) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 1 atoms + using lattice units in triclinic box = (0 0 0) to (1.0873619 0.94168301 0.88782726) with tilt (0.54368094 0.54368094 0.31389434) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.fcc.primitive triclinic/general +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.2 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy avecz bvecx bvecy bvecz cvecx cvecy cvecz pxx pyy pzz vol +thermo_modify triclinic/general yes + +dump 1 all custom 100 tmp.dump.fcc.primitive id type x y z +dump_modify 1 triclinic/general yes + +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 = 1.2 + ghost atom cutoff = 1.2 + binsize = 0.6, bins = 4 3 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton/tri + stencil: half/bin/3d/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.973 | 3.005 | 3.098 Mbytes + Step PotEng Avecx Avecy Avecz Bvecx Bvecy Bvecz Cvecx Cvecy Cvecz Pxx Pyy Pzz Volume + 0 -5.7354 0.76888096 0.76888096 -6.036071e-17 -5.5511151e-17 0.76888096 0.76888096 0.76888096 0 0.76888096 6.70824 6.70824 6.70824 0.90909091 +Loop time of 1.7905e-06 on 4 procs for 0 steps with 1 atoms + +55.9% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 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.791e-06 | | |100.00 + +Nlocal: 0.25 ave 1 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 +Nghost: 35.75 ave 36 max 35 min +Histogram: 1 0 0 0 0 0 0 0 0 3 +Neighs: 1.5 ave 6 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 6 +Ave neighs/atom = 6 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.hex.orthog.g++.1 b/examples/triclinic/log.8Apr24.hex.orthog.g++.1 new file mode 100644 index 0000000000..001f2300e4 --- /dev/null +++ b/examples/triclinic/log.8Apr24.hex.orthog.g++.1 @@ -0,0 +1,76 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +# orthogonal box for 2d hex lattice unit cell + +dimension 2 + +lattice hex 1.0 +Lattice spacing in x,y,z = 1.0745699 1.8612097 1.0745699 + +region mybox block 0 1 0 1 -0.5 0.5 +create_box 1 mybox +Created orthogonal box = (0 0 -0.53728497) to (1.0745699 1.8612097 0.53728497) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 2 atoms + using lattice units in orthogonal box = (0 0 -0.53728497) to (1.0745699 1.8612097 0.53728497) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.hex.orthog +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol + +dump 1 all custom 100 tmp.dump.hex.orthog id type x y z + +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 = 1.1 + ghost atom cutoff = 1.1 + binsize = 0.55, bins = 2 4 2 + 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/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.054 | 3.054 | 3.054 Mbytes + Step PotEng Avecx Avecy Bvecx Bvecy Pxx Pyy Volume + 0 -2.7317286 1.0745699 0 0 1.8612097 6.9923141 6.9923141 2 +Loop time of 9.26e-07 on 1 procs for 0 steps with 2 atoms + +0.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 9.26e-07 | | |100.00 + +Nlocal: 2 ave 2 max 2 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 15 ave 15 max 15 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 6 ave 6 max 6 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 6 +Ave neighs/atom = 3 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.hex.orthog.g++.4 b/examples/triclinic/log.8Apr24.hex.orthog.g++.4 new file mode 100644 index 0000000000..880d532957 --- /dev/null +++ b/examples/triclinic/log.8Apr24.hex.orthog.g++.4 @@ -0,0 +1,77 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) +# orthogonal box for 2d hex lattice unit cell + +dimension 2 + +lattice hex 1.0 +Lattice spacing in x,y,z = 1.0745699 1.8612097 1.0745699 + +region mybox block 0 1 0 1 -0.5 0.5 +create_box 1 mybox +Created orthogonal box = (0 0 -0.53728497) to (1.0745699 1.8612097 0.53728497) + 2 by 2 by 1 MPI processor grid +create_atoms 1 box +Created 2 atoms + using lattice units in orthogonal box = (0 0 -0.53728497) to (1.0745699 1.8612097 0.53728497) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.hex.orthog +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol + +dump 1 all custom 100 tmp.dump.hex.orthog id type x y z + +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 = 1.1 + ghost atom cutoff = 1.1 + binsize = 0.55, bins = 2 4 2 + 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/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.945 | 2.945 | 2.945 Mbytes + Step PotEng Avecx Avecy Bvecx Bvecy Pxx Pyy Volume + 0 -2.7317286 1.0745699 0 0 1.8612097 6.9923141 6.9923141 2 +Loop time of 1.9155e-06 on 4 procs for 0 steps with 2 atoms + +52.2% 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.915e-06 | | |100.00 + +Nlocal: 0.5 ave 1 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 11.5 ave 12 max 11 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 1.5 ave 3 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 6 +Ave neighs/atom = 3 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.hex.primitive.g++.1 b/examples/triclinic/log.8Apr24.hex.primitive.g++.1 new file mode 100644 index 0000000000..71f3fc6d13 --- /dev/null +++ b/examples/triclinic/log.8Apr24.hex.primitive.g++.1 @@ -0,0 +1,78 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +# general triclinic box for 2d hex lattice primitive cell + +dimension 2 + +lattice custom 1.0 a1 1.0 0.0 0.0 a2 0.5 0.86602540378 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 triclinic/general +Lattice spacing in x,y,z = 1.6118549 0.93060486 1.0745699 + +create_box 1 NULL 0 1 0 1 -0.5 0.5 +Created triclinic box = (0 0 -0.53728497) to (1.0745699 0.93060486 0.53728497) with tilt (0.53728497 0 0) +WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (../domain.cpp:221) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 1 atoms + using lattice units in triclinic box = (0 0 -0.53728497) to (1.0745699 0.93060486 0.53728497) with tilt (0.53728497 0 0) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.hex.primitive triclinic/general +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol +thermo_modify triclinic/general yes + +dump 1 all custom 100 tmp.dump.hex.primitive id type x y z +dump_modify 1 triclinic/general yes + +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 = 1.1 + ghost atom cutoff = 1.1 + binsize = 0.55, bins = 3 2 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton/tri + stencil: half/bin/2d/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.062 | 3.062 | 3.062 Mbytes + Step PotEng Avecx Avecy Bvecx Bvecy Pxx Pyy Volume + 0 -2.7317286 1.0745699 0 0.53728497 0.93060486 6.9923141 6.9923141 1 +Loop time of 1.03e-06 on 1 procs for 0 steps with 1 atoms + +97.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.03e-06 | | |100.00 + +Nlocal: 1 ave 1 max 1 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 15 ave 15 max 15 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 3 ave 3 max 3 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 3 +Ave neighs/atom = 3 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.hex.primitive.g++.4 b/examples/triclinic/log.8Apr24.hex.primitive.g++.4 new file mode 100644 index 0000000000..b7703b2678 --- /dev/null +++ b/examples/triclinic/log.8Apr24.hex.primitive.g++.4 @@ -0,0 +1,79 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) +# general triclinic box for 2d hex lattice primitive cell + +dimension 2 + +lattice custom 1.0 a1 1.0 0.0 0.0 a2 0.5 0.86602540378 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 triclinic/general +Lattice spacing in x,y,z = 1.6118549 0.93060486 1.0745699 + +create_box 1 NULL 0 1 0 1 -0.5 0.5 +Created triclinic box = (0 0 -0.53728497) to (1.0745699 0.93060486 0.53728497) with tilt (0.53728497 0 0) +WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (../domain.cpp:221) + 2 by 2 by 1 MPI processor grid +create_atoms 1 box +Created 1 atoms + using lattice units in triclinic box = (0 0 -0.53728497) to (1.0745699 0.93060486 0.53728497) with tilt (0.53728497 0 0) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.hex.primitive triclinic/general +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol +thermo_modify triclinic/general yes + +dump 1 all custom 100 tmp.dump.hex.primitive id type x y z +dump_modify 1 triclinic/general yes + +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 = 1.1 + ghost atom cutoff = 1.1 + binsize = 0.55, bins = 3 2 2 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton/tri + stencil: half/bin/2d/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.953 | 2.953 | 2.953 Mbytes + Step PotEng Avecx Avecy Bvecx Bvecy Pxx Pyy Volume + 0 -2.7317286 1.0745699 0 0.53728497 0.93060486 6.9923141 6.9923141 1 +Loop time of 2.45225e-06 on 4 procs for 0 steps with 1 atoms + +61.2% 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 | | 2.452e-06 | | |100.00 + +Nlocal: 0.25 ave 1 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 +Nghost: 8.75 ave 9 max 8 min +Histogram: 1 0 0 0 0 0 0 0 0 3 +Neighs: 0.75 ave 3 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 3 +Ave neighs/atom = 3 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.sq2.orthog.g++.1 b/examples/triclinic/log.8Apr24.sq2.orthog.g++.1 new file mode 100644 index 0000000000..bae7c7eae1 --- /dev/null +++ b/examples/triclinic/log.8Apr24.sq2.orthog.g++.1 @@ -0,0 +1,76 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +# orthogonal box for 2d sq2 lattice unit cell + +dimension 2 + +lattice sq2 1.1 +Lattice spacing in x,y,z = 1.3483997 1.3483997 1.3483997 + +region mybox block 0 1 0 1 -0.5 0.5 +create_box 1 mybox +Created orthogonal box = (0 0 -0.67419986) to (1.3483997 1.3483997 0.67419986) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 2 atoms + using lattice units in orthogonal box = (0 0 -0.67419986) to (1.3483997 1.3483997 0.67419986) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.sq2.orthog +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol + +dump 1 all custom 100 tmp.dump.sq2.orthog id type x y z + +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 = 1.1 + ghost atom cutoff = 1.1 + binsize = 0.55, bins = 3 3 3 + 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/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.046 | 3.046 | 3.046 Mbytes + Step PotEng Avecx Avecy Bvecx Bvecy Pxx Pyy Volume + 0 3.524488 1.3483997 0 0 1.3483997 58.400021 58.400021 1.8181818 +Loop time of 9.37e-07 on 1 procs for 0 steps with 2 atoms + +106.7% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 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.37e-07 | | |100.00 + +Nlocal: 2 ave 2 max 2 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 11 ave 11 max 11 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 4 ave 4 max 4 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 4 +Ave neighs/atom = 2 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.sq2.orthog.g++.4 b/examples/triclinic/log.8Apr24.sq2.orthog.g++.4 new file mode 100644 index 0000000000..c54078ae97 --- /dev/null +++ b/examples/triclinic/log.8Apr24.sq2.orthog.g++.4 @@ -0,0 +1,77 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) +# orthogonal box for 2d sq2 lattice unit cell + +dimension 2 + +lattice sq2 1.1 +Lattice spacing in x,y,z = 1.3483997 1.3483997 1.3483997 + +region mybox block 0 1 0 1 -0.5 0.5 +create_box 1 mybox +Created orthogonal box = (0 0 -0.67419986) to (1.3483997 1.3483997 0.67419986) + 2 by 2 by 1 MPI processor grid +create_atoms 1 box +Created 2 atoms + using lattice units in orthogonal box = (0 0 -0.67419986) to (1.3483997 1.3483997 0.67419986) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.sq2.orthog +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol + +dump 1 all custom 100 tmp.dump.sq2.orthog id type x y z + +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 = 1.1 + ghost atom cutoff = 1.1 + binsize = 0.55, bins = 3 3 3 + 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/2d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.937 | 2.937 | 2.937 Mbytes + Step PotEng Avecx Avecy Bvecx Bvecy Pxx Pyy Volume + 0 3.524488 1.3483997 0 0 1.3483997 58.400021 58.400021 1.8181818 +Loop time of 1.703e-06 on 4 procs for 0 steps with 2 atoms + +29.4% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 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.703e-06 | | |100.00 + +Nlocal: 0.5 ave 1 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Nghost: 7.5 ave 8 max 7 min +Histogram: 2 0 0 0 0 0 0 0 0 2 +Neighs: 1 ave 2 max 0 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 4 +Ave neighs/atom = 2 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.sq2.primitive.g++.1 b/examples/triclinic/log.8Apr24.sq2.primitive.g++.1 new file mode 100644 index 0000000000..07195085ae --- /dev/null +++ b/examples/triclinic/log.8Apr24.sq2.primitive.g++.1 @@ -0,0 +1,77 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +# general triclinic box for 2d sq2 lattice primitive cell + +dimension 2 + +lattice custom 1.1 a1 0.5 -0.5 0.0 a2 0.5 0.5 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 triclinic/general +Lattice spacing in x,y,z = 0.95346259 0.95346259 1.3483997 + +create_box 1 NULL 0 1 0 1 -0.5 0.5 +Created triclinic box = (0 0 -0.67419986) to (0.95346259 0.95346259 0.67419986) with tilt (-1.110223e-16 0 0) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 1 atoms + using lattice units in triclinic box = (0 0 -0.67419986) to (0.95346259 0.95346259 0.67419986) with tilt (-1.110223e-16 0 0) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.sq2.primitive triclinic/general +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol +thermo_modify triclinic/general yes + +dump 1 all custom 100 tmp.dump.sq2.primitive id type x y z +dump_modify 1 triclinic/general yes + +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 = 1.1 + ghost atom cutoff = 1.1 + binsize = 0.55, bins = 2 2 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton/tri + stencil: half/bin/2d/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.937 | 2.937 | 2.937 Mbytes + Step PotEng Avecx Avecy Bvecx Bvecy Pxx Pyy Volume + 0 3.524488 0.67419986 -0.67419986 0.67419986 0.67419986 58.400021 58.400021 0.90909091 +Loop time of 8.38e-07 on 1 procs for 0 steps with 1 atoms + +119.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 | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 8.38e-07 | | |100.00 + +Nlocal: 1 ave 1 max 1 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 15 ave 15 max 15 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 2 ave 2 max 2 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 2 +Ave neighs/atom = 2 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/triclinic/log.8Apr24.sq2.primitive.g++.4 b/examples/triclinic/log.8Apr24.sq2.primitive.g++.4 new file mode 100644 index 0000000000..1f2c758d65 --- /dev/null +++ b/examples/triclinic/log.8Apr24.sq2.primitive.g++.4 @@ -0,0 +1,78 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-442-gf1c2a22e2d) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) +# general triclinic box for 2d sq2 lattice primitive cell + +dimension 2 + +lattice custom 1.1 a1 0.5 -0.5 0.0 a2 0.5 0.5 0.0 a3 0.0 0.0 1.0 basis 0.0 0.0 0.0 triclinic/general +Lattice spacing in x,y,z = 0.95346259 0.95346259 1.3483997 + +create_box 1 NULL 0 1 0 1 -0.5 0.5 +Created triclinic box = (0 0 -0.67419986) to (0.95346259 0.95346259 0.67419986) with tilt (-1.110223e-16 0 0) + 2 by 2 by 1 MPI processor grid +create_atoms 1 box +Created 1 atoms + using lattice units in triclinic box = (0 0 -0.67419986) to (0.95346259 0.95346259 0.67419986) with tilt (-1.110223e-16 0 0) + create_atoms CPU = 0.000 seconds + +mass * 1.0 + +write_data tmp.data.sq2.primitive triclinic/general +System init for write_data ... +WARNING: Communication cutoff is 0.0. No ghost atoms will be generated. Atoms may get lost. (../comm_brick.cpp:210) + +pair_style lj/cut 1.1 +pair_coeff * * 1.0 1.0 + +neighbor 0.0 bin + +thermo_style custom step pe avecx avecy bvecx bvecy pxx pyy vol +thermo_modify triclinic/general yes + +dump 1 all custom 100 tmp.dump.sq2.primitive id type x y z +dump_modify 1 triclinic/general yes + +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 = 1.1 + ghost atom cutoff = 1.1 + binsize = 0.55, bins = 2 2 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton/tri + stencil: half/bin/2d/tri + bin: standard +Per MPI rank memory allocation (min/avg/max) = 2.953 | 2.953 | 2.953 Mbytes + Step PotEng Avecx Avecy Bvecx Bvecy Pxx Pyy Volume + 0 3.524488 0.67419986 -0.67419986 0.67419986 0.67419986 58.400021 58.400021 0.90909091 +Loop time of 1.91525e-06 on 4 procs for 0 steps with 1 atoms + +52.2% 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.915e-06 | | |100.00 + +Nlocal: 0.25 ave 1 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 +Nghost: 8.75 ave 9 max 8 min +Histogram: 1 0 0 0 0 0 0 0 0 3 +Neighs: 0.5 ave 2 max 0 min +Histogram: 3 0 0 0 0 0 0 0 0 1 + +Total # of neighbors = 2 +Ave neighs/atom = 2 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 From 81ce8ecdd04b64ad9a4d381aba1be91145d8c9a7 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 8 Apr 2024 17:30:18 -0600 Subject: [PATCH 432/559] tweak README --- examples/README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/README b/examples/README index c2166a0d20..86d14e7078 100644 --- a/examples/README +++ b/examples/README @@ -115,7 +115,7 @@ tad: temperature-accelerated dynamics of vacancy diffusion in bulk Si template: examples for using atom_style template and comparing to atom style molecular tersoff: regression test input for Tersoff variants threebody: regression test input for a variety of threebody potentials -triclinic: general triclinic simulation box examples +triclinic: general triclinic simulation boxes versus orthogonal boxes ttm: two-temeperature model examples vashishta: models using the Vashishta potential voronoi: Voronoi tesselation via compute voronoi/atom command From 21512df26462ff45d99f3a7b88266b8b74dd6f64 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 8 Apr 2024 17:59:44 -0600 Subject: [PATCH 433/559] update doc for dump_modify triclinic/general keyword --- doc/src/dump_modify.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/dump_modify.rst b/doc/src/dump_modify.rst index 20460259ec..a9b71a98e2 100644 --- a/doc/src/dump_modify.rst +++ b/doc/src/dump_modify.rst @@ -960,7 +960,7 @@ The option defaults are * sort = id for dump styles *dcd*, *xtc*, and *xyz* * thresh = none * time = no -* triclinic/general not specified +* triclinic/general no * units = no * unwrap = no From 41f518ede7be331f766895e91fee6c09ca9d98e5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Apr 2024 00:57:15 -0400 Subject: [PATCH 434/559] repulsive is r^12 not r^6 --- src/EXTRA-PAIR/pair_pedone.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/EXTRA-PAIR/pair_pedone.cpp b/src/EXTRA-PAIR/pair_pedone.cpp index 4e634b3dfc..59b883b2c5 100644 --- a/src/EXTRA-PAIR/pair_pedone.cpp +++ b/src/EXTRA-PAIR/pair_pedone.cpp @@ -107,7 +107,7 @@ void PairPedone::compute(int eflag, int vflag) r = sqrt(rsq); dr = r - r0[itype][jtype]; dexp = exp(-alpha[itype][jtype] * dr); - fpair = pedone1[itype][jtype] * (dexp * dexp - dexp) / r - pedone2[itype][jtype] * r6inv * r2inv; + fpair = pedone1[itype][jtype] * (dexp * dexp - dexp) / r - pedone2[itype][jtype] * r6inv * r6inv * r2inv; fpair *= factor_lj; f[i][0] += delx * fpair; @@ -120,7 +120,7 @@ void PairPedone::compute(int eflag, int vflag) } if (eflag) { - evdwl = d0[itype][jtype] * (dexp * dexp - 2.0 * dexp) - c0[itype][jtype] * r6inv - + evdwl = d0[itype][jtype] * (dexp * dexp - 2.0 * dexp) - c0[itype][jtype] * r6inv * r6inv - offset[itype][jtype]; evdwl *= factor_lj; } @@ -224,12 +224,12 @@ double PairPedone::init_one(int i, int j) if (setflag[i][j] == 0) error->all(FLERR, "All pair coeffs are not set"); pedone1[i][j] = 2.0 * d0[i][j] * alpha[i][j]; - pedone2[i][j] = 6.0 * c0[i][j]; + pedone2[i][j] = 12.0 * c0[i][j]; if (offset_flag) { double alpha_dr = -alpha[i][j] * (cut[i][j] - r0[i][j]); offset[i][j] = - d0[i][j] * (exp(2.0 * alpha_dr) - 2.0 * exp(alpha_dr)) - c0[i][j] / pow(cut[i][j], 6.0); + d0[i][j] * (exp(2.0 * alpha_dr) - 2.0 * exp(alpha_dr)) - c0[i][j] / pow(cut[i][j], 12.0); } else offset[i][j] = 0.0; @@ -362,10 +362,10 @@ double PairPedone::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq dexp = exp(-alpha[itype][jtype] * dr); r2inv = 1.0 / rsq; r6inv = r2inv * r2inv * r2inv; - fforce = pedone1[itype][jtype] * (dexp * dexp - dexp) / r - pedone2[itype][jtype] * r6inv * r2inv; + fforce = pedone1[itype][jtype] * (dexp * dexp - dexp) / r - pedone2[itype][jtype] * r6inv * r6inv * r2inv; fforce *= factor_lj; - phi = d0[itype][jtype] * (dexp * dexp - 2.0 * dexp) - c0[itype][jtype] * r6inv - + phi = d0[itype][jtype] * (dexp * dexp - 2.0 * dexp) - c0[itype][jtype] * r6inv * r6inv - offset[itype][jtype]; return factor_lj * phi; } From 0021042dab6626b855701fc22a7f08fc267986df Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Apr 2024 00:57:26 -0400 Subject: [PATCH 435/559] add test --- .../tests/atomic-pair-pedone.yaml | 108 ++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 unittest/force-styles/tests/atomic-pair-pedone.yaml diff --git a/unittest/force-styles/tests/atomic-pair-pedone.yaml b/unittest/force-styles/tests/atomic-pair-pedone.yaml new file mode 100644 index 0000000000..bde9c0657d --- /dev/null +++ b/unittest/force-styles/tests/atomic-pair-pedone.yaml @@ -0,0 +1,108 @@ +--- +lammps_version: 7 Feb 2024 +tags: generated +date_generated: Tue Apr 9 00:55:35 2024 +epsilon: 7.5e-13 +skip_tests: +prerequisites: ! | + pair pedone + pair coul/dsf +pre_commands: ! | + echo screen + atom_modify map array + units metal + atom_style charge + lattice fcc 4.01 + region box block 0 2 0 2 0 2 + create_box 2 box + create_atoms 1 box + displace_atoms all random 0.1 0.1 0.1 623426 + mass 1 40.0 + mass 2 16.0 + set type 1 type/fraction 2 0.5 998877 + set type 1 charge 1.2 + set type 2 charge -1.2 + velocity all create 100 4534624 loop geom +post_commands: ! "" +input_file: in.empty +pair_style: hybrid/overlay pedone 8.0 coul/dsf 0.05 8.0 +pair_coeff: ! | + * * coul/dsf + 1 2 pedone 0.030211 2.241334 2.923245 5.0 +extract: ! "" +natoms: 32 +init_vdwl: -0.0665310358219357 +init_coul: -127.6163776098739 +init_stress: ! |- + -2.3798091859476976e+01 -4.4301374997327507e+01 -2.5216703497806876e+01 5.0033445416457871e+00 1.9280305667155409e-01 -5.7276232523726684e+01 +init_forces: ! |2 + 1 1.3073632326534870e+00 -3.2429738681742792e+00 -1.7099417191488684e+00 + 2 -8.3705036138414046e-01 8.0353584266171616e+00 3.3913682687834732e+00 + 3 1.0818560581145067e+00 6.9099132514034567e-01 6.1167556058935659e+00 + 4 -6.2710844064358016e+00 -8.8172863711956779e+00 -6.6684534850188211e+00 + 5 2.8009275201722472e-01 -1.4786965014380788e+00 2.1321277444024961e-01 + 6 -9.9288989703360309e-02 3.0598447946183049e+00 2.6318103453792299e+00 + 7 -3.0354727856072219e+00 1.3185608958051598e+00 3.6234871371363413e+00 + 8 5.0107973369153367e+00 -4.9678283026883481e+00 -6.1723724169003669e+00 + 9 -6.1984644705075898e+00 -2.9799814227893018e+00 -1.3748441482899776e+00 + 10 6.8107536285568315e-02 -8.8739069067339749e+00 -3.7681638042376306e+00 + 11 1.8234653652797568e+00 1.2131153395750858e+00 -4.4370356369254527e+00 + 12 -3.9291120685394301e+00 8.8691853439950759e+00 -1.5692168730612222e+00 + 13 4.6702794079865138e+00 -4.6169163979594021e+00 -1.3122734601037633e+00 + 14 4.1773041925805263e-02 -2.3547324460288279e+00 -1.6447279353216786e+00 + 15 2.0722365833660721e+00 -1.0019422555023627e+00 2.6104073487219348e+00 + 16 4.2916783350614631e+00 5.5096169144968741e+00 2.3006724289969618e-01 + 17 2.4082498440860594e+00 2.6696787176560446e+00 3.5128993885525173e+00 + 18 3.4517652966369141e+00 -4.1426989575687410e+00 4.2176442979879578e+00 + 19 -1.1176046147684231e+00 5.0328940398931588e+00 6.1257519380014980e+00 + 20 4.7468509231464573e+00 4.2199469597557107e+00 -8.2329699129842933e+00 + 21 5.0020061977281172e-01 -3.3647150847104186e+00 -3.4598887524741211e+00 + 22 1.9520506419122936e+00 2.3651979923945348e+00 1.9720181797014360e+00 + 23 3.2442966569252922e+00 9.2843216833145159e-01 4.6188329227490641e+00 + 24 -4.6575946049950279e+00 1.0967687663839022e-01 -3.9976316192604568e+00 + 25 -8.9413785020343148e+00 2.4727210607473626e+00 3.7067442709566585e+00 + 26 1.1716874061013414e+00 -6.0736216396264444e+00 3.9845117464175828e-01 + 27 2.1387870187759774e+00 -9.1435206138264991e-01 3.4581293398123467e+00 + 28 -5.4478782535808978e+00 3.4790432145054266e+00 2.2429010192272485e+00 + 29 -7.5671696619957425e+00 -1.4582005613587536e+00 -3.9567849389679175e+00 + 30 3.1224812422083759e-01 1.3076893069851072e+00 1.5385761581288075e+00 + 31 3.8386055680087514e+00 2.2553686132183399e+00 -1.3274695466879629e+00 + 32 3.6897069703594849e+00 7.5053078678371288e-01 -9.7728316363125556e-01 +run_vdwl: -0.06742277561782369 +run_coul: -127.68271751195428 +run_stress: ! |- + -2.3806297178025492e+01 -4.4316895193195840e+01 -2.5254836072780368e+01 5.0209948497223582e+00 1.7055834472093545e-01 -5.7287494663992717e+01 +run_forces: ! |2 + 1 1.2997020641933310e+00 -3.2350239663736526e+00 -1.7050688745433809e+00 + 2 -8.3572424066532003e-01 8.0402293765737038e+00 3.3956062545914456e+00 + 3 1.0836471258632296e+00 6.9297747321803072e-01 6.1153135661464022e+00 + 4 -6.2598313349821311e+00 -8.8203556192829566e+00 -6.6665767701465706e+00 + 5 2.8322280654802090e-01 -1.4771118673264927e+00 2.1396008266630523e-01 + 6 -1.0141638512639295e-01 3.0591784597279652e+00 2.6305945323204964e+00 + 7 -3.0327048868034510e+00 1.3253988401192618e+00 3.6148521107105029e+00 + 8 5.0057890914166592e+00 -4.9739784269295777e+00 -6.1692202056525005e+00 + 9 -6.1952678012617710e+00 -2.9845508818852737e+00 -1.3859506135017998e+00 + 10 7.2013973735063797e-02 -8.8713720462743293e+00 -3.7634558911332556e+00 + 11 1.8266102164821385e+00 1.2110553137559839e+00 -4.4375333397769383e+00 + 12 -3.9283678636529071e+00 8.8766836484577585e+00 -1.5675220249481900e+00 + 13 4.6671019757569061e+00 -4.6201133188920203e+00 -1.3187332792825426e+00 + 14 4.1324530662546217e-02 -2.3574074558279050e+00 -1.6491327637571114e+00 + 15 2.0724652949927189e+00 -1.0072438369203511e+00 2.6085158617913011e+00 + 16 4.2913453088923355e+00 5.5135935278125805e+00 2.3755962717306273e-01 + 17 2.4090363829763493e+00 2.6711900471236665e+00 3.5092518478983830e+00 + 18 3.4519384641582418e+00 -4.1370490877871635e+00 4.2170627035346584e+00 + 19 -1.1267691964120170e+00 5.0181960916494441e+00 6.1207484114782122e+00 + 20 4.7395717088127745e+00 4.2218111236699922e+00 -8.2319492899736098e+00 + 21 5.0413228805427845e-01 -3.3662581690603286e+00 -3.4574827782114883e+00 + 22 1.9368660298654901e+00 2.3535304623628788e+00 1.9730945530970232e+00 + 23 3.2407032811058474e+00 9.3194240849096033e-01 4.6146963207580685e+00 + 24 -4.6585790572421297e+00 1.1264779359215171e-01 -3.9896650383731758e+00 + 25 -8.9353959619243408e+00 2.4769382206126074e+00 3.7113283637479162e+00 + 26 1.1651058966335510e+00 -6.0789379918512596e+00 3.9471356227450671e-01 + 27 2.1418176560595272e+00 -9.0723166884109441e-01 3.4625358129121455e+00 + 28 -5.4304579326347566e+00 3.4796974840787547e+00 2.2387217391439576e+00 + 29 -7.5603224440934609e+00 -1.4579783287307631e+00 -3.9593966192449592e+00 + 30 3.1089926399240131e-01 1.2987447699936268e+00 1.5458045789601447e+00 + 31 3.8408561944824031e+00 2.2573619234607474e+00 -1.3282018241396365e+00 + 32 3.6806875501148628e+00 7.5343570128305359e-01 -9.7447061651936995e-01 +... From 67faeb0130cfb18cb55fa7bbe9ea7e6f4c4cae69 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Apr 2024 07:42:25 -0400 Subject: [PATCH 436/559] correct sign for repulsive term --- src/EXTRA-PAIR/pair_pedone.cpp | 8 +- .../tests/atomic-pair-pedone.yaml | 142 +++++++++--------- 2 files changed, 75 insertions(+), 75 deletions(-) diff --git a/src/EXTRA-PAIR/pair_pedone.cpp b/src/EXTRA-PAIR/pair_pedone.cpp index 59b883b2c5..b6e0f8b03c 100644 --- a/src/EXTRA-PAIR/pair_pedone.cpp +++ b/src/EXTRA-PAIR/pair_pedone.cpp @@ -107,7 +107,7 @@ void PairPedone::compute(int eflag, int vflag) r = sqrt(rsq); dr = r - r0[itype][jtype]; dexp = exp(-alpha[itype][jtype] * dr); - fpair = pedone1[itype][jtype] * (dexp * dexp - dexp) / r - pedone2[itype][jtype] * r6inv * r6inv * r2inv; + fpair = pedone1[itype][jtype] * (dexp * dexp - dexp) / r + pedone2[itype][jtype] * r6inv * r6inv * r2inv; fpair *= factor_lj; f[i][0] += delx * fpair; @@ -120,7 +120,7 @@ void PairPedone::compute(int eflag, int vflag) } if (eflag) { - evdwl = d0[itype][jtype] * (dexp * dexp - 2.0 * dexp) - c0[itype][jtype] * r6inv * r6inv - + evdwl = d0[itype][jtype] * (dexp * dexp - 2.0 * dexp) + c0[itype][jtype] * r6inv * r6inv - offset[itype][jtype]; evdwl *= factor_lj; } @@ -362,10 +362,10 @@ double PairPedone::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq dexp = exp(-alpha[itype][jtype] * dr); r2inv = 1.0 / rsq; r6inv = r2inv * r2inv * r2inv; - fforce = pedone1[itype][jtype] * (dexp * dexp - dexp) / r - pedone2[itype][jtype] * r6inv * r6inv * r2inv; + fforce = pedone1[itype][jtype] * (dexp * dexp - dexp) / r + pedone2[itype][jtype] * r6inv * r6inv * r2inv; fforce *= factor_lj; - phi = d0[itype][jtype] * (dexp * dexp - 2.0 * dexp) - c0[itype][jtype] * r6inv * r6inv - + phi = d0[itype][jtype] * (dexp * dexp - 2.0 * dexp) + c0[itype][jtype] * r6inv * r6inv - offset[itype][jtype]; return factor_lj * phi; } diff --git a/unittest/force-styles/tests/atomic-pair-pedone.yaml b/unittest/force-styles/tests/atomic-pair-pedone.yaml index bde9c0657d..28ff3aabd4 100644 --- a/unittest/force-styles/tests/atomic-pair-pedone.yaml +++ b/unittest/force-styles/tests/atomic-pair-pedone.yaml @@ -1,7 +1,7 @@ --- lammps_version: 7 Feb 2024 -tags: generated -date_generated: Tue Apr 9 00:55:35 2024 +tags: +date_generated: Tue Apr 9 07:44:34 2024 epsilon: 7.5e-13 skip_tests: prerequisites: ! | @@ -31,78 +31,78 @@ pair_coeff: ! | 1 2 pedone 0.030211 2.241334 2.923245 5.0 extract: ! "" natoms: 32 -init_vdwl: -0.0665310358219357 +init_vdwl: -0.05846735245123568 init_coul: -127.6163776098739 init_stress: ! |- - -2.3798091859476976e+01 -4.4301374997327507e+01 -2.5216703497806876e+01 5.0033445416457871e+00 1.9280305667155409e-01 -5.7276232523726684e+01 + -2.3766889264059056e+01 -4.4271670366067475e+01 -2.5180846524036202e+01 5.0038886969182466e+00 1.8669335074554186e-01 -5.7263597257471289e+01 init_forces: ! |2 - 1 1.3073632326534870e+00 -3.2429738681742792e+00 -1.7099417191488684e+00 - 2 -8.3705036138414046e-01 8.0353584266171616e+00 3.3913682687834732e+00 - 3 1.0818560581145067e+00 6.9099132514034567e-01 6.1167556058935659e+00 - 4 -6.2710844064358016e+00 -8.8172863711956779e+00 -6.6684534850188211e+00 - 5 2.8009275201722472e-01 -1.4786965014380788e+00 2.1321277444024961e-01 - 6 -9.9288989703360309e-02 3.0598447946183049e+00 2.6318103453792299e+00 - 7 -3.0354727856072219e+00 1.3185608958051598e+00 3.6234871371363413e+00 - 8 5.0107973369153367e+00 -4.9678283026883481e+00 -6.1723724169003669e+00 - 9 -6.1984644705075898e+00 -2.9799814227893018e+00 -1.3748441482899776e+00 - 10 6.8107536285568315e-02 -8.8739069067339749e+00 -3.7681638042376306e+00 - 11 1.8234653652797568e+00 1.2131153395750858e+00 -4.4370356369254527e+00 - 12 -3.9291120685394301e+00 8.8691853439950759e+00 -1.5692168730612222e+00 - 13 4.6702794079865138e+00 -4.6169163979594021e+00 -1.3122734601037633e+00 - 14 4.1773041925805263e-02 -2.3547324460288279e+00 -1.6447279353216786e+00 - 15 2.0722365833660721e+00 -1.0019422555023627e+00 2.6104073487219348e+00 - 16 4.2916783350614631e+00 5.5096169144968741e+00 2.3006724289969618e-01 - 17 2.4082498440860594e+00 2.6696787176560446e+00 3.5128993885525173e+00 - 18 3.4517652966369141e+00 -4.1426989575687410e+00 4.2176442979879578e+00 - 19 -1.1176046147684231e+00 5.0328940398931588e+00 6.1257519380014980e+00 - 20 4.7468509231464573e+00 4.2199469597557107e+00 -8.2329699129842933e+00 - 21 5.0020061977281172e-01 -3.3647150847104186e+00 -3.4598887524741211e+00 - 22 1.9520506419122936e+00 2.3651979923945348e+00 1.9720181797014360e+00 - 23 3.2442966569252922e+00 9.2843216833145159e-01 4.6188329227490641e+00 - 24 -4.6575946049950279e+00 1.0967687663839022e-01 -3.9976316192604568e+00 - 25 -8.9413785020343148e+00 2.4727210607473626e+00 3.7067442709566585e+00 - 26 1.1716874061013414e+00 -6.0736216396264444e+00 3.9845117464175828e-01 - 27 2.1387870187759774e+00 -9.1435206138264991e-01 3.4581293398123467e+00 - 28 -5.4478782535808978e+00 3.4790432145054266e+00 2.2429010192272485e+00 - 29 -7.5671696619957425e+00 -1.4582005613587536e+00 -3.9567849389679175e+00 - 30 3.1224812422083759e-01 1.3076893069851072e+00 1.5385761581288075e+00 - 31 3.8386055680087514e+00 2.2553686132183399e+00 -1.3274695466879629e+00 - 32 3.6897069703594849e+00 7.5053078678371288e-01 -9.7728316363125556e-01 -run_vdwl: -0.06742277561782369 -run_coul: -127.68271751195428 + 1 1.3068329866550368e+00 -3.2426393314368136e+00 -1.7090059822217059e+00 + 2 -8.3708962469663994e-01 8.0332716327131255e+00 3.3880696306892157e+00 + 3 1.0817171269316166e+00 6.9121377930223904e-01 6.1164739509900095e+00 + 4 -6.2705188270402727e+00 -8.8174699380428727e+00 -6.6683743935745587e+00 + 5 2.8006317273000447e-01 -1.4785785338160322e+00 2.1291363801130675e-01 + 6 -9.9407772093842439e-02 3.0597043453576771e+00 2.6317878547215199e+00 + 7 -3.0340486322792599e+00 1.3184658303824097e+00 3.6223571622028894e+00 + 8 5.0115915641263573e+00 -4.9677051620674799e+00 -6.1712277135681015e+00 + 9 -6.1985573132343514e+00 -2.9794836727762029e+00 -1.3747449204783135e+00 + 10 6.8202263133821162e-02 -8.8740995444094821e+00 -3.7669178307548044e+00 + 11 1.8229752044042762e+00 1.2148573816886858e+00 -4.4347407582895784e+00 + 12 -3.9294213238803009e+00 8.8686068238310583e+00 -1.5696200877040254e+00 + 13 4.6671449089488757e+00 -4.6189653076982848e+00 -1.3124536997564062e+00 + 14 4.5651421484368113e-02 -2.3521973378049634e+00 -1.6447916834323362e+00 + 15 2.0718235766251047e+00 -1.0016787355222116e+00 2.6102514913196893e+00 + 16 4.2906354719273310e+00 5.5091935314875675e+00 2.3081189742020186e-01 + 17 2.4088963659786491e+00 2.6695675589930521e+00 3.5122235738936918e+00 + 18 3.4512362576614999e+00 -4.1430347952161721e+00 4.2175118122911428e+00 + 19 -1.1172781222643726e+00 5.0374260939675146e+00 6.1287692774066489e+00 + 20 4.7466340882928550e+00 4.2198180415705018e+00 -8.2329099903756351e+00 + 21 4.9922952432844170e-01 -3.3643476589192347e+00 -3.4586600244054257e+00 + 22 1.9519912199733915e+00 2.3651493661604901e+00 1.9718930394593539e+00 + 23 3.2436581993388014e+00 9.2909318945485386e-01 4.6199095913337018e+00 + 24 -4.6577163797485408e+00 1.0944440231458034e-01 -3.9975755528276791e+00 + 25 -8.9409463869190198e+00 2.4726478248668329e+00 3.7066236847004816e+00 + 26 1.1745295461487557e+00 -6.0775548138182502e+00 3.9173262687577626e-01 + 27 2.1387234883139223e+00 -9.1458060453528878e-01 3.4582641764483730e+00 + 28 -5.4502482566484289e+00 3.4786802718788201e+00 2.2450528597292503e+00 + 29 -7.5667651846088226e+00 -1.4577149705984696e+00 -3.9568568740165220e+00 + 30 3.1230549128026425e-01 1.3068114717904746e+00 1.5378868153458369e+00 + 31 3.8386185003687259e+00 2.2553073046534435e+00 -1.3273631790345837e+00 + 32 3.6895374447617666e+00 7.5079155624842708e-01 -9.7729039239942395e-01 +run_vdwl: -0.05936305172833948 +run_coul: -127.68271387147016 run_stress: ! |- - -2.3806297178025492e+01 -4.4316895193195840e+01 -2.5254836072780368e+01 5.0209948497223582e+00 1.7055834472093545e-01 -5.7287494663992717e+01 + -2.3775085785175861e+01 -4.4287200358424037e+01 -2.5219014434426338e+01 5.0215354612619398e+00 1.6449805968891407e-01 -5.7274887432938485e+01 run_forces: ! |2 - 1 1.2997020641933310e+00 -3.2350239663736526e+00 -1.7050688745433809e+00 - 2 -8.3572424066532003e-01 8.0402293765737038e+00 3.3956062545914456e+00 - 3 1.0836471258632296e+00 6.9297747321803072e-01 6.1153135661464022e+00 - 4 -6.2598313349821311e+00 -8.8203556192829566e+00 -6.6665767701465706e+00 - 5 2.8322280654802090e-01 -1.4771118673264927e+00 2.1396008266630523e-01 - 6 -1.0141638512639295e-01 3.0591784597279652e+00 2.6305945323204964e+00 - 7 -3.0327048868034510e+00 1.3253988401192618e+00 3.6148521107105029e+00 - 8 5.0057890914166592e+00 -4.9739784269295777e+00 -6.1692202056525005e+00 - 9 -6.1952678012617710e+00 -2.9845508818852737e+00 -1.3859506135017998e+00 - 10 7.2013973735063797e-02 -8.8713720462743293e+00 -3.7634558911332556e+00 - 11 1.8266102164821385e+00 1.2110553137559839e+00 -4.4375333397769383e+00 - 12 -3.9283678636529071e+00 8.8766836484577585e+00 -1.5675220249481900e+00 - 13 4.6671019757569061e+00 -4.6201133188920203e+00 -1.3187332792825426e+00 - 14 4.1324530662546217e-02 -2.3574074558279050e+00 -1.6491327637571114e+00 - 15 2.0724652949927189e+00 -1.0072438369203511e+00 2.6085158617913011e+00 - 16 4.2913453088923355e+00 5.5135935278125805e+00 2.3755962717306273e-01 - 17 2.4090363829763493e+00 2.6711900471236665e+00 3.5092518478983830e+00 - 18 3.4519384641582418e+00 -4.1370490877871635e+00 4.2170627035346584e+00 - 19 -1.1267691964120170e+00 5.0181960916494441e+00 6.1207484114782122e+00 - 20 4.7395717088127745e+00 4.2218111236699922e+00 -8.2319492899736098e+00 - 21 5.0413228805427845e-01 -3.3662581690603286e+00 -3.4574827782114883e+00 - 22 1.9368660298654901e+00 2.3535304623628788e+00 1.9730945530970232e+00 - 23 3.2407032811058474e+00 9.3194240849096033e-01 4.6146963207580685e+00 - 24 -4.6585790572421297e+00 1.1264779359215171e-01 -3.9896650383731758e+00 - 25 -8.9353959619243408e+00 2.4769382206126074e+00 3.7113283637479162e+00 - 26 1.1651058966335510e+00 -6.0789379918512596e+00 3.9471356227450671e-01 - 27 2.1418176560595272e+00 -9.0723166884109441e-01 3.4625358129121455e+00 - 28 -5.4304579326347566e+00 3.4796974840787547e+00 2.2387217391439576e+00 - 29 -7.5603224440934609e+00 -1.4579783287307631e+00 -3.9593966192449592e+00 - 30 3.1089926399240131e-01 1.2987447699936268e+00 1.5458045789601447e+00 - 31 3.8408561944824031e+00 2.2573619234607474e+00 -1.3282018241396365e+00 - 32 3.6806875501148628e+00 7.5343570128305359e-01 -9.7447061651936995e-01 + 1 1.2991722692082786e+00 -3.2346896741423627e+00 -1.7041329770094276e+00 + 2 -8.3577389730915552e-01 8.0381530163215924e+00 3.3923109270711151e+00 + 3 1.0835047785054042e+00 6.9319911007073187e-01 6.1150295417259430e+00 + 4 -6.2592674457409263e+00 -8.8205393549813724e+00 -6.6664974877688721e+00 + 5 2.8319324224275277e-01 -1.4769949542028844e+00 2.1366042708413130e-01 + 6 -1.0153594962155643e-01 3.0590371871661279e+00 2.6305719846785136e+00 + 7 -3.0312781169981404e+00 1.3253014477860192e+00 3.6137212324460495e+00 + 8 5.0065920194766118e+00 -4.9738538898220481e+00 -6.1680653045217282e+00 + 9 -6.1953589072633033e+00 -2.9840507476418630e+00 -1.3858506137213893e+00 + 10 7.2110931001166223e-02 -8.8715664120515498e+00 -3.7622114666042830e+00 + 11 1.8261227725248501e+00 1.2127884088947380e+00 -4.4352512345078896e+00 + 12 -3.9286782746032927e+00 8.8761060543305845e+00 -1.5679267227812392e+00 + 13 4.6639719242626425e+00 -4.6221575223138132e+00 -1.3189131763776332e+00 + 14 4.5202926162814835e-02 -2.3548742883712031e+00 -1.6491976796732051e+00 + 15 2.0720535642022995e+00 -1.0069819281480463e+00 2.6083600468918844e+00 + 16 4.2902983639126537e+00 5.5131718679546795e+00 2.3830711385553280e-01 + 17 2.4096838033622459e+00 2.6710791048618789e+00 3.5085731540934209e+00 + 18 3.4514062725618015e+00 -4.1373868590762886e+00 4.2169294048595312e+00 + 19 -1.1264411792212099e+00 5.0227271243385347e+00 6.1237583999889607e+00 + 20 4.7393545880453329e+00 4.2216825100295452e+00 -8.2318896574215081e+00 + 21 5.0316022185802045e-01 -3.3658905024666987e+00 -3.4562503451177298e+00 + 22 1.9368078287723918e+00 2.3534799016713426e+00 1.9729696376413666e+00 + 23 3.2400632484576661e+00 9.3259676426325444e-01 4.6157700185053541e+00 + 24 -4.6586992607556210e+00 1.1241261874328348e-01 -3.9896118917888690e+00 + 25 -8.9349626587186393e+00 2.4768648221903695e+00 3.7112080381606569e+00 + 26 1.1679346190142463e+00 -6.0828712249034158e+00 3.8801942263557465e-01 + 27 2.1417538088342263e+00 -9.0746081465677486e-01 3.4626716637488029e+00 + 28 -5.4328133673274284e+00 3.4793352823397115e+00 2.2408588660642268e+00 + 29 -7.5599171237192415e+00 -1.4574882072609379e+00 -3.9594670101361755e+00 + 30 3.1095531392911402e-01 1.2978745340983431e+00 1.5451191860370526e+00 + 31 3.8408681082369638e+00 2.2573010571848813e+00 -1.3280944539185844e+00 + 32 3.6805155767070339e+00 7.5369556779361924e-01 -9.7447904413958231e-01 ... From a2ee2d57be08bedbed977dcba1239587f33a4ca6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Apr 2024 07:55:26 -0400 Subject: [PATCH 437/559] add OPENMP version and apply clang-format --- src/EXTRA-PAIR/pair_pedone.cpp | 10 +- src/OPENMP/pair_pedone_omp.cpp | 169 ++++++++++++++++++ src/OPENMP/pair_pedone_omp.h | 48 +++++ .../tests/atomic-pair-pedone.yaml | 6 +- 4 files changed, 230 insertions(+), 3 deletions(-) create mode 100644 src/OPENMP/pair_pedone_omp.cpp create mode 100644 src/OPENMP/pair_pedone_omp.h diff --git a/src/EXTRA-PAIR/pair_pedone.cpp b/src/EXTRA-PAIR/pair_pedone.cpp index b6e0f8b03c..c5f7f49117 100644 --- a/src/EXTRA-PAIR/pair_pedone.cpp +++ b/src/EXTRA-PAIR/pair_pedone.cpp @@ -11,6 +11,10 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + Contributing author: Axel Kohlmeyer (Temple U) +------------------------------------------------------------------------- */ + #include "pair_pedone.h" #include "atom.h" @@ -107,7 +111,8 @@ void PairPedone::compute(int eflag, int vflag) r = sqrt(rsq); dr = r - r0[itype][jtype]; dexp = exp(-alpha[itype][jtype] * dr); - fpair = pedone1[itype][jtype] * (dexp * dexp - dexp) / r + pedone2[itype][jtype] * r6inv * r6inv * r2inv; + fpair = pedone1[itype][jtype] * (dexp * dexp - dexp) / r + + pedone2[itype][jtype] * r6inv * r6inv * r2inv; fpair *= factor_lj; f[i][0] += delx * fpair; @@ -362,7 +367,8 @@ double PairPedone::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq dexp = exp(-alpha[itype][jtype] * dr); r2inv = 1.0 / rsq; r6inv = r2inv * r2inv * r2inv; - fforce = pedone1[itype][jtype] * (dexp * dexp - dexp) / r + pedone2[itype][jtype] * r6inv * r6inv * r2inv; + fforce = pedone1[itype][jtype] * (dexp * dexp - dexp) / r + + pedone2[itype][jtype] * r6inv * r6inv * r2inv; fforce *= factor_lj; phi = d0[itype][jtype] * (dexp * dexp - 2.0 * dexp) + c0[itype][jtype] * r6inv * r6inv - diff --git a/src/OPENMP/pair_pedone_omp.cpp b/src/OPENMP/pair_pedone_omp.cpp new file mode 100644 index 0000000000..140816bfe4 --- /dev/null +++ b/src/OPENMP/pair_pedone_omp.cpp @@ -0,0 +1,169 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + This software is distributed under the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Axel Kohlmeyer (Temple U) +------------------------------------------------------------------------- */ + +#include "pair_pedone_omp.h" + +#include "atom.h" +#include "comm.h" +#include "force.h" +#include "neigh_list.h" +#include "suffix.h" + +#include + +#include "omp_compat.h" +using namespace LAMMPS_NS; + +/* ---------------------------------------------------------------------- */ + +PairPedoneOMP::PairPedoneOMP(LAMMPS *lmp) : PairPedone(lmp), ThrOMP(lmp, THR_PAIR) +{ + suffix_flag |= Suffix::OMP; + respa_enable = 0; +} + +/* ---------------------------------------------------------------------- */ + +void PairPedoneOMP::compute(int eflag, int vflag) +{ + ev_init(eflag, vflag); + + const int nall = atom->nlocal + atom->nghost; + const int nthreads = comm->nthreads; + const int inum = list->inum; + +#if defined(_OPENMP) +#pragma omp parallel LMP_DEFAULT_NONE LMP_SHARED(eflag, vflag) +#endif + { + int ifrom, ito, tid; + + loop_setup_thr(ifrom, ito, tid, inum, nthreads); + ThrData *thr = fix->get_thr(tid); + thr->timer(Timer::START); + ev_setup_thr(eflag, vflag, nall, eatom, vatom, nullptr, thr); + + if (evflag) { + if (eflag) { + if (force->newton_pair) + eval<1, 1, 1>(ifrom, ito, thr); + else + eval<1, 1, 0>(ifrom, ito, thr); + } else { + if (force->newton_pair) + eval<1, 0, 1>(ifrom, ito, thr); + else + eval<1, 0, 0>(ifrom, ito, thr); + } + } else { + if (force->newton_pair) + eval<0, 0, 1>(ifrom, ito, thr); + else + eval<0, 0, 0>(ifrom, ito, thr); + } + + thr->timer(Timer::PAIR); + reduce_thr(this, eflag, vflag, thr); + } // end of omp parallel region +} + +template +void PairPedoneOMP::eval(int iifrom, int iito, ThrData *const thr) +{ + int i, j, ii, jj, jnum, itype, jtype; + double xtmp, ytmp, ztmp, delx, dely, delz, evdwl, fpair; + double rsq, r, r2inv, r6inv, dr, dexp, factor_lj; + int *ilist, *jlist, *numneigh, **firstneigh; + + evdwl = 0.0; + + const auto *_noalias const x = (dbl3_t *) atom->x[0]; + auto *_noalias const f = (dbl3_t *) thr->get_f()[0]; + const int *_noalias const type = atom->type; + const int nlocal = atom->nlocal; + const double *_noalias const special_lj = force->special_lj; + double fxtmp, fytmp, fztmp; + + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // loop over neighbors of my atoms + + for (ii = iifrom; ii < iito; ++ii) { + + i = ilist[ii]; + xtmp = x[i].x; + ytmp = x[i].y; + ztmp = x[i].z; + itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + fxtmp = fytmp = fztmp = 0.0; + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + factor_lj = special_lj[sbmask(j)]; + j &= NEIGHMASK; + + delx = xtmp - x[j].x; + dely = ytmp - x[j].y; + delz = ztmp - x[j].z; + rsq = delx * delx + dely * dely + delz * delz; + jtype = type[j]; + + if (rsq < cutsq[itype][jtype]) { + r2inv = 1.0 / rsq; + r6inv = r2inv * r2inv * r2inv; + r = sqrt(rsq); + dr = r - r0[itype][jtype]; + dexp = exp(-alpha[itype][jtype] * dr); + fpair = pedone1[itype][jtype] * (dexp * dexp - dexp) / r + + pedone2[itype][jtype] * r6inv * r6inv * r2inv; + fpair *= factor_lj; + + fxtmp += delx * fpair; + fytmp += dely * fpair; + fztmp += delz * fpair; + if (NEWTON_PAIR || j < nlocal) { + f[j].x -= delx * fpair; + f[j].y -= dely * fpair; + f[j].z -= delz * fpair; + } + + if (EFLAG) { + evdwl = d0[itype][jtype] * (dexp * dexp - 2.0 * dexp) + c0[itype][jtype] * r6inv * r6inv - + offset[itype][jtype]; + evdwl *= factor_lj; + } + + if (EVFLAG) + ev_tally_thr(this, i, j, nlocal, NEWTON_PAIR, evdwl, 0.0, fpair, delx, dely, delz, thr); + } + } + f[i].x += fxtmp; + f[i].y += fytmp; + f[i].z += fztmp; + } +} + +/* ---------------------------------------------------------------------- */ + +double PairPedoneOMP::memory_usage() +{ + double bytes = memory_usage_thr(); + bytes += PairPedone::memory_usage(); + + return bytes; +} diff --git a/src/OPENMP/pair_pedone_omp.h b/src/OPENMP/pair_pedone_omp.h new file mode 100644 index 0000000000..8c23e86fcd --- /dev/null +++ b/src/OPENMP/pair_pedone_omp.h @@ -0,0 +1,48 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + https://www.lammps.org/, Sandia National Laboratories + LAMMPS development team: developers@lammps.org + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Axel Kohlmeyer (Temple U) +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS +// clang-format off +PairStyle(pedone/omp,PairPedoneOMP); +// clang-format on +#else + +#ifndef LMP_PAIR_PEDONE_OMP_H +#define LMP_PAIR_PEDONE_OMP_H + +#include "pair_pedone.h" +#include "thr_omp.h" + +namespace LAMMPS_NS { + +class PairPedoneOMP : public PairPedone, public ThrOMP { + + public: + PairPedoneOMP(class LAMMPS *); + + void compute(int, int) override; + double memory_usage() override; + + private: + template + void eval(int ifrom, int ito, ThrData *const thr); +}; + +} // namespace LAMMPS_NS + +#endif +#endif diff --git a/unittest/force-styles/tests/atomic-pair-pedone.yaml b/unittest/force-styles/tests/atomic-pair-pedone.yaml index 28ff3aabd4..ea97d9ee8c 100644 --- a/unittest/force-styles/tests/atomic-pair-pedone.yaml +++ b/unittest/force-styles/tests/atomic-pair-pedone.yaml @@ -29,7 +29,11 @@ pair_style: hybrid/overlay pedone 8.0 coul/dsf 0.05 8.0 pair_coeff: ! | * * coul/dsf 1 2 pedone 0.030211 2.241334 2.923245 5.0 -extract: ! "" +extract: ! | + c0 2 + d0 2 + r0 2 + alpha 2 natoms: 32 init_vdwl: -0.05846735245123568 init_coul: -127.6163776098739 From aeec608be68ffd44794005840ef6fa15ef32c979 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Apr 2024 09:06:24 -0400 Subject: [PATCH 438/559] partial docs also for future pedone/coul/long implementation --- doc/src/Commands_pair.rst | 1 + doc/src/pair_pedone.rst | 142 ++++++++++++++++++++++++++++++++++++++ doc/src/pair_style.rst | 49 ++++++------- 3 files changed, 168 insertions(+), 24 deletions(-) create mode 100644 doc/src/pair_pedone.rst diff --git a/doc/src/Commands_pair.rst b/doc/src/Commands_pair.rst index 9bbe216dec..514785c15c 100644 --- a/doc/src/Commands_pair.rst +++ b/doc/src/Commands_pair.rst @@ -245,6 +245,7 @@ OPT. * :doc:`oxrna2/coaxstk ` * :doc:`pace (k) ` * :doc:`pace/extrapolation (k) ` + * :doc:`pedone (o) ` * :doc:`pod ` * :doc:`peri/eps ` * :doc:`peri/lps (o) ` diff --git a/doc/src/pair_pedone.rst b/doc/src/pair_pedone.rst new file mode 100644 index 0000000000..cb29167364 --- /dev/null +++ b/doc/src/pair_pedone.rst @@ -0,0 +1,142 @@ +.. index:: pair_style pedone +.. index:: pair_style pedone/omp +.. index:: pair_style pedone/coul/long +.. index:: pair_style pedone/coul/long/omp + +pair_style pedone command +========================= + +Accelerator Variants: *pedone/omp* + +pair_style pedone/coul/long command +=================================== + +Accelerator Variants: *pedone/coul/long* + +Syntax +"""""" + +.. code-block:: LAMMPS + + pair_style style args + +* style = pedone* or *pedone/coul/long* +* args = list of arguments for a particular style + +.. parsed-literal:: + + *pedone* args = cutoff + cutoff = global cutoff for Pedone interactions (distance units) + *pedone/coul/long* args = cutoff (cutoff2) + cutoff = global cutoff for Pedone (and Coulombic if only one arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) + +Examples +"""""""" + +.. code-block:: LAMMPS + + pair_style morse 2.5 + pair_style morse/smooth/linear 2.5 + pair_coeff * * 100.0 2.0 1.5 + pair_coeff 1 1 100.0 2.0 1.5 3.0 + +Description +""""""""""" + +Pair style *pedone* computes the non-Coulomb interactions of the Pedone +(or PMMCS) potential :ref:`Pedone ` which combines Coulomb +interactions, a Morse potential, and a repulsive :math:`r^{-12}` +Lennard-Jones term (see below). The plain *pedone* pair style is meant +to be used in addition to a :doc:`Coulomb pair style ` via +pair style :doc:`hybrid/overlay ` and thus allows to be +combined with different Coulomb variants available in LAMMPS. + +Pair style *pedone/coul/long* includes the Coulomb part with a damping +function applied so it can be used in conjunction with the +:doc:`kspace_style ` command and its *ewald* or *pppm* +option. The Coulombic cutoff specified for this style means that +pairwise interactions within this distance are computed directly; +interactions outside that distance are computed in reciprocal space. +This combination is the preferred way to compute the Pedone potential +and should be simpler to use and faster than adding :doc:`pair style +coul/long ` to pair style *pedone* via :doc:`pair style +hybrid/overlay `. + +.. math:: + + E = \frac{C q_i q_j}{\epsilon r} + + D_0 \left[ e^{- 2 \alpha (r - r_0)} - 2 e^{- \alpha (r - r_0)} \right] + + \frac{B_0}{r^{12}} \qquad r < r_c + +:math:`r_c` is the cutoff and :math:`C` is a conversion factor so that +the entire Coulomb term is in energy units. + +The following coefficients must be defined for each pair of atoms +types via the :doc:`pair_coeff ` command as in the examples +above, or in the data file or restart files read by the +:doc:`read_data ` or :doc:`read_restart ` +commands: + +* :math:`D_0` (energy units) +* :math:`\alpha` (1/distance units) +* :math:`r_0` (distance units) +* :math:`C_0` (energy units) +* cutoff (distance units) + +The last coefficient is optional. If not specified, the global *pedone* +cutoff is used. + +---------- + +.. include:: accel_styles.rst + +---------- + +Mixing, shift, table, tail correction, restart, rRESPA info +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +None of these pair styles support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly. + +All of these pair styles support the :doc:`pair_modify ` +shift option for the energy of the pair interaction. + +The :doc:`pair_modify ` table options are only relevant for +pair style *pedone* + +None of these pair styles support the :doc:`pair_modify ` +tail option for adding long-range tail corrections to energy and +pressure. + +All of these pair styles write their information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. + +These pair styles can only be used via the *pair* keyword of the +:doc:`run_style respa ` command. They do not support the +*inner*, *middle*, *outer* keywords. + +---------- + +Restrictions +"""""""""""" + +The *morse/smooth/linear* pair style is only enabled if LAMMPS was +built with the EXTRA-PAIR package. +See the :doc:`Build package ` page for more info. + +Related commands +"""""""""""""""" + +:doc:`pair_coeff `, :doc:`pair_style */soft ` + +Default +""""""" + +none + +------------- + +.. _Pedone: + +**(Pedone)** A. Pedone, G. Malavasi, M. C. Menziani, A. N. Cormack, and U. Segre, J. Phys. Chem. B, 110, 11780 (2006) diff --git a/doc/src/pair_style.rst b/doc/src/pair_style.rst index 53bf269e1c..0b8e6d2abb 100644 --- a/doc/src/pair_style.rst +++ b/doc/src/pair_style.rst @@ -275,30 +275,30 @@ accelerated styles exist. * :doc:`lj/smooth/linear ` - linear smoothed LJ potential * :doc:`lj/switch3/coulgauss/long ` - smoothed LJ vdW potential with Gaussian electrostatics * :doc:`lj96/cut ` - Lennard-Jones 9/6 potential -* :doc:`local/density ` - generalized basic local density potential -* :doc:`lubricate ` - hydrodynamic lubrication forces -* :doc:`lubricate/poly ` - hydrodynamic lubrication forces with polydispersity -* :doc:`lubricateU ` - hydrodynamic lubrication forces for Fast Lubrication Dynamics -* :doc:`lubricateU/poly ` - hydrodynamic lubrication forces for Fast Lubrication with polydispersity +* :doc:`local/density ` - Generalized basic local density potential +* :doc:`lubricate ` - Hydrodynamic lubrication forces +* :doc:`lubricate/poly ` - Hydrodynamic lubrication forces with polydispersity +* :doc:`lubricateU ` - Hydrodynamic lubrication forces for Fast Lubrication Dynamics +* :doc:`lubricateU/poly ` - Hydrodynamic lubrication forces for Fast Lubrication with polydispersity * :doc:`mdpd ` - mDPD particle interactions * :doc:`mdpd/rhosum ` - mDPD particle interactions for mass density -* :doc:`meam ` - modified embedded atom method (MEAM) -* :doc:`meam/ms ` - multi-state modified embedded atom method (MS-MEAM) -* :doc:`meam/spline ` - splined version of MEAM -* :doc:`meam/sw/spline ` - splined version of MEAM with a Stillinger-Weber term -* :doc:`mesocnt ` - mesoscopic vdW potential for (carbon) nanotubes -* :doc:`mesocnt/viscous ` - mesoscopic vdW potential for (carbon) nanotubes with friction -* :doc:`mgpt ` - simplified model generalized pseudopotential theory (MGPT) potential +* :doc:`meam ` - Modified embedded atom method (MEAM) +* :doc:`meam/ms ` - Multi-state modified embedded atom method (MS-MEAM) +* :doc:`meam/spline ` - Splined version of MEAM +* :doc:`meam/sw/spline ` - Splined version of MEAM with a Stillinger-Weber term +* :doc:`mesocnt ` - Mesoscopic vdW potential for (carbon) nanotubes +* :doc:`mesocnt/viscous ` - Mesoscopic vdW potential for (carbon) nanotubes with friction +* :doc:`mgpt ` - Simplified model generalized pseudopotential theory (MGPT) potential * :doc:`mie/cut ` - Mie potential -* :doc:`mm3/switch3/coulgauss/long ` - smoothed MM3 vdW potential with Gaussian electrostatics +* :doc:`mm3/switch3/coulgauss/long ` - Smoothed MM3 vdW potential with Gaussian electrostatics * :doc:`momb ` - Many-Body Metal-Organic (MOMB) force field * :doc:`morse ` - Morse potential -* :doc:`morse/smooth/linear ` - linear smoothed Morse potential +* :doc:`morse/smooth/linear ` - Linear smoothed Morse potential * :doc:`morse/soft ` - Morse potential with a soft core * :doc:`multi/lucy ` - DPD potential with density-dependent force * :doc:`multi/lucy/rx ` - reactive DPD potential with density-dependent force -* :doc:`nb3b/harmonic ` - non-bonded 3-body harmonic potential -* :doc:`nb3b/screened ` - non-bonded 3-body screened harmonic potential +* :doc:`nb3b/harmonic ` - Non-bonded 3-body harmonic potential +* :doc:`nb3b/screened ` - Non-bonded 3-body screened harmonic potential * :doc:`nm/cut ` - N-M potential * :doc:`nm/cut/coul/cut ` - N-M potential with cutoff Coulomb * :doc:`nm/cut/coul/long ` - N-M potential with long-range Coulomb @@ -322,21 +322,22 @@ accelerated styles exist. * :doc:`oxrna2/xstk ` - * :doc:`pace ` - Atomic Cluster Expansion (ACE) machine-learning potential * :doc:`pace/extrapolation ` - Atomic Cluster Expansion (ACE) machine-learning potential with extrapolation grades +* :doc:`pedone ` - Pedone (PMMCS) potential * :doc:`pod ` - Proper orthogonal decomposition (POD) machine-learning potential -* :doc:`peri/eps ` - peridynamic EPS potential -* :doc:`peri/lps ` - peridynamic LPS potential -* :doc:`peri/pmb ` - peridynamic PMB potential -* :doc:`peri/ves ` - peridynamic VES potential -* :doc:`polymorphic ` - polymorphic 3-body potential +* :doc:`peri/eps ` - Peridynamic EPS potential +* :doc:`peri/lps ` - Peridynamic LPS potential +* :doc:`peri/pmb ` - Peridynamic PMB potential +* :doc:`peri/ves ` - Peridynamic VES potential +* :doc:`polymorphic ` - Polymorphic 3-body potential * :doc:`python ` - * :doc:`quip ` - * :doc:`rann ` - * :doc:`reaxff ` - ReaxFF potential -* :doc:`rebo ` - second generation REBO potential of Brenner +* :doc:`rebo ` - Second generation REBO potential of Brenner * :doc:`rebomos ` - REBOMoS potential for MoS2 * :doc:`resquared ` - Everaers RE-Squared ellipsoidal potential -* :doc:`saip/metal ` - interlayer potential for hetero-junctions formed with hexagonal 2D materials and metal surfaces -* :doc:`sdpd/taitwater/isothermal ` - smoothed dissipative particle dynamics for water at isothermal conditions +* :doc:`saip/metal ` - Interlayer potential for hetero-junctions formed with hexagonal 2D materials and metal surfaces +* :doc:`sdpd/taitwater/isothermal ` - Smoothed dissipative particle dynamics for water at isothermal conditions * :doc:`smatb ` - Second Moment Approximation to the Tight Binding * :doc:`smatb/single ` - Second Moment Approximation to the Tight Binding for single-element systems * :doc:`smd/hertz ` - From 41591826fb09f8d3ae8c116a135d50f70b2e875e Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Tue, 9 Apr 2024 09:25:21 -0600 Subject: [PATCH 439/559] update 2 doc pages for DIELECTRIC package --- doc/src/atom_style.rst | 27 ++++++++++++++------------- doc/src/read_data.rst | 25 +++++++++++-------------- 2 files changed, 25 insertions(+), 27 deletions(-) diff --git a/doc/src/atom_style.rst b/doc/src/atom_style.rst index 60a85e0bcb..f11cdf54b9 100644 --- a/doc/src/atom_style.rst +++ b/doc/src/atom_style.rst @@ -283,21 +283,22 @@ Note that there may be additional arguments required along with the arguments are described on the :doc:`Howto body ` doc page. For the *dielectric* style, each particle can be either a physical -particle (e.g. an ion), or an interface particle representing a boundary -element between two regions of different dielectric constant. For -interface particles, in addition to the properties associated with -atom_style full, each particle also should be assigned a normal unit -vector (defined by normx, normy, normz), an area (area/patch), the +particle (e.g. an ion), or an interface particle representing a +boundary element between two regions of different dielectric +constant. For interface particles, in addition to the properties +associated with atom_style full, each particle also should be assigned +a unit dipole vector (mu) representing the direction of the induced +dipole moment at each interface particle, an area (area/patch), the difference and mean of the dielectric constants of two sides of the interface along the direction of the normal vector (ed and em), the -local dielectric constant at the boundary element (epsilon), and a mean -local curvature (curv). Physical particles must be assigned these -values, as well, but only their local dielectric constants will be used; -see documentation for associated :doc:`pair styles ` -and :doc:`fixes `. The distinction between the physical -and interface particles is only meaningful when :doc:`fix polarize -` commands are applied to the interface particles. This -style is part of the DIELECTRIC package. +local dielectric constant at the boundary element (epsilon), and a +mean local curvature (curv). Physical particles must be assigned +these values, as well, but only their local dielectric constants will +be used; see documentation for associated :doc:`pair styles +` and :doc:`fixes `. The distinction +between the physical and interface particles is only meaningful when +:doc:`fix polarize ` commands are applied to the +interface particles. This style is part of the DIELECTRIC package. For the *dipole* style, a point dipole vector mu is defined for each point particle. Note that if you wish the particles to be finite-size diff --git a/doc/src/read_data.rst b/doc/src/read_data.rst index 8dce9a5bcd..dd2f42e2a8 100644 --- a/doc/src/read_data.rst +++ b/doc/src/read_data.rst @@ -838,7 +838,7 @@ of analysis. * - charge - atom-ID atom-type q x y z * - dielectric - - atom-ID atom-type q x y z normx normy normz area ed em epsilon curvature + - atom-ID atom-type q x y z mux muy muz area ed em epsilon curvature * - dipole - atom-ID atom-type q x y z mux muy muz * - dpd @@ -901,8 +901,6 @@ The per-atom values have these meanings and units, listed alphabetically: * mass = mass of particle (mass units) * molecule-ID = integer ID of molecule the atom belongs to * mux,muy,muz = components of dipole moment of atom (dipole units) (see general triclinic note below) -* normx,normy,normz = components of dielectric dipole moment of atom (dipole - units) (see general triclinic note below) * q = charge on atom (charge units) * rho = density (need units) for SPH particles * sp = magnitude of magnetic spin of atom (Bohr magnetons) @@ -928,17 +926,16 @@ zero. If the data file defines a general triclinic box, then the following per-atom values in the list above are per-atom vectors - which imply an orientation: (mux,muy,muz), (normx,normy,normz), - (spx,spy,spz). This means they should be specified consistent with - the general triclinic box and its orientation relative to the - standard x,y,z coordinate axes. For example a dipole moment vector - which will be in the +x direction once LAMMPS converts from a - general to restricted triclinic box, should be specified in the - data file in the direction of the **A** edge vector. Likewise the - (x0,y0,z0) per-atom strain-free coordinates should be inside the - general triclinic simulation box as explained in the note above. - See the :doc:`Howto triclinic ` doc page for more - details. + which imply an orientation: (mux,muy,muz) and (spx,spy,spz). This + means they should be specified consistent with the general + triclinic box and its orientation relative to the standard x,y,z + coordinate axes. For example a dipole moment vector which will be + in the +x direction once LAMMPS converts from a general to + restricted triclinic box, should be specified in the data file in + the direction of the **A** edge vector. Likewise the (x0,y0,z0) + per-atom strain-free coordinates should be inside the general + triclinic simulation box as explained in the note above. See the + :doc:`Howto triclinic ` doc page for more details. The atom-ID is used to identify the atom throughout the simulation and in dump files. Normally, it is a unique value from 1 to Natoms for From 7ac84e18dd43d310091f7cc622e8bc41047223ea Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Apr 2024 21:35:45 -0400 Subject: [PATCH 440/559] remove references to non-existing pedone/coul/long, complete description --- doc/src/pair_pedone.rst | 93 +++++++++++++++++------------------------ 1 file changed, 39 insertions(+), 54 deletions(-) diff --git a/doc/src/pair_pedone.rst b/doc/src/pair_pedone.rst index cb29167364..52a45c32b1 100644 --- a/doc/src/pair_pedone.rst +++ b/doc/src/pair_pedone.rst @@ -1,17 +1,11 @@ .. index:: pair_style pedone .. index:: pair_style pedone/omp -.. index:: pair_style pedone/coul/long -.. index:: pair_style pedone/coul/long/omp pair_style pedone command ========================= Accelerator Variants: *pedone/omp* -pair_style pedone/coul/long command -=================================== - -Accelerator Variants: *pedone/coul/long* Syntax """""" @@ -20,48 +14,40 @@ Syntax pair_style style args -* style = pedone* or *pedone/coul/long* +* style = pedone* * args = list of arguments for a particular style .. parsed-literal:: *pedone* args = cutoff cutoff = global cutoff for Pedone interactions (distance units) - *pedone/coul/long* args = cutoff (cutoff2) - cutoff = global cutoff for Pedone (and Coulombic if only one arg) (distance units) - cutoff2 = global cutoff for Coulombic (optional) (distance units) Examples """""""" .. code-block:: LAMMPS - pair_style morse 2.5 - pair_style morse/smooth/linear 2.5 - pair_coeff * * 100.0 2.0 1.5 - pair_coeff 1 1 100.0 2.0 1.5 3.0 +pair_style hybrid/overlay pedone 15.0 coul/long 15.0 +kspace_style pppm 1.0e-5 + +pair_coeff * * coul/long +pair_coeff 1 2 pedone 0.030211 2.241334 2.923245 5.0 +pair_coeff 2 2 pedone 0.042395 1.379316 3.618701 22.0 + Description """"""""""" -Pair style *pedone* computes the non-Coulomb interactions of the Pedone -(or PMMCS) potential :ref:`Pedone ` which combines Coulomb -interactions, a Morse potential, and a repulsive :math:`r^{-12}` -Lennard-Jones term (see below). The plain *pedone* pair style is meant +Pair style *pedone* computes the **non-Coulomb** interactions of the Pedone +(or PMMCS) potential :ref:`(Pedone) ` which combines Coulomb +interactions, Morse potential, and repulsive :math:`r^{-12}` +Lennard-Jones terms (see below). The *pedone* pair style is meant to be used in addition to a :doc:`Coulomb pair style ` via -pair style :doc:`hybrid/overlay ` and thus allows to be -combined with different Coulomb variants available in LAMMPS. +pair style :doc:`hybrid/overlay ` (see example above). +Using *coul/long* or *could/dsf* (for solids) is recommended. -Pair style *pedone/coul/long* includes the Coulomb part with a damping -function applied so it can be used in conjunction with the -:doc:`kspace_style ` command and its *ewald* or *pppm* -option. The Coulombic cutoff specified for this style means that -pairwise interactions within this distance are computed directly; -interactions outside that distance are computed in reciprocal space. -This combination is the preferred way to compute the Pedone potential -and should be simpler to use and faster than adding :doc:`pair style -coul/long ` to pair style *pedone* via :doc:`pair style -hybrid/overlay `. +The full Pedone potential function from :ref:`(Pedone) ` for each +pair of atom is: .. math:: @@ -69,14 +55,14 @@ hybrid/overlay `. + D_0 \left[ e^{- 2 \alpha (r - r_0)} - 2 e^{- \alpha (r - r_0)} \right] + \frac{B_0}{r^{12}} \qquad r < r_c -:math:`r_c` is the cutoff and :math:`C` is a conversion factor so that -the entire Coulomb term is in energy units. +:math:`r_c` is the cutoff and :math:`C` is a conversion factor that is +specific to the choice of :doc:`units ` so that the entire +Coulomb term is in energy units with :math:`q_i` and :math:`q_j` as the +assigned charges in multiples of the elementary charge. -The following coefficients must be defined for each pair of atoms -types via the :doc:`pair_coeff ` command as in the examples -above, or in the data file or restart files read by the -:doc:`read_data ` or :doc:`read_restart ` -commands: +The following coefficients must be defined for the selected pairs of +atom types via the :doc:`pair_coeff ` command as in the +example above: * :math:`D_0` (energy units) * :math:`\alpha` (1/distance units) @@ -96,39 +82,38 @@ cutoff is used. Mixing, shift, table, tail correction, restart, rRESPA info """"""""""""""""""""""""""""""""""""""""""""""""""""""""""" -None of these pair styles support mixing. Thus, coefficients for all -I,J pairs must be specified explicitly. +This pair style does not support mixing. -All of these pair styles support the :doc:`pair_modify ` -shift option for the energy of the pair interaction. +This pair style support the :doc:`pair_modify ` shift +option for the energy of the pair interaction. -The :doc:`pair_modify ` table options are only relevant for -pair style *pedone* - -None of these pair styles support the :doc:`pair_modify ` +This pair style does not support the :doc:`pair_modify ` tail option for adding long-range tail corrections to energy and pressure. -All of these pair styles write their information to :doc:`binary restart files `, so pair_style and pair_coeff commands do not need -to be specified in an input script that reads a restart file. +This pair style writes its information to :doc:`binary restart files `, +so pair_style and pair_coeff commands does not need to be specified in an input +script that reads a restart file. -These pair styles can only be used via the *pair* keyword of the -:doc:`run_style respa ` command. They do not support the -*inner*, *middle*, *outer* keywords. +This pair style can only be used via the *pair* keyword of the +:doc:`run_style respa ` command. It does not support the +*inner*, *middle*, or *outer* keywords. ---------- Restrictions """""""""""" -The *morse/smooth/linear* pair style is only enabled if LAMMPS was -built with the EXTRA-PAIR package. -See the :doc:`Build package ` page for more info. +The *pedone* pair style is only enabled if LAMMPS was built with the +EXTRA-PAIR package. See the :doc:`Build package ` page +for more info. Related commands """""""""""""""" -:doc:`pair_coeff `, :doc:`pair_style */soft ` +:doc:`pair_coeff `, :doc:`pair_style `, +:doc:`pair style coul/long and coul/dsf `, +:doc:`pair style morse ` Default """"""" From 01917cd117a1f5d5fdac2545642254a0be10278e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Apr 2024 22:06:12 -0400 Subject: [PATCH 441/559] add example for Ca-O with Pedone --- doc/src/pair_pedone.rst | 8 ++ doc/src/pair_style.rst | 2 +- examples/PACKAGES/pedone/in.pedone.melt | 38 +++++ examples/PACKAGES/pedone/in.pedone.relax | 38 +++++ .../pedone/log.9Apr24.pedone.melt.g++.1 | 122 ++++++++++++++++ .../pedone/log.9Apr24.pedone.melt.g++.4 | 122 ++++++++++++++++ .../pedone/log.9Apr24.pedone.relax.g++.1 | 134 ++++++++++++++++++ .../pedone/log.9Apr24.pedone.relax.g++.4 | 134 ++++++++++++++++++ src/.gitignore | 2 + 9 files changed, 599 insertions(+), 1 deletion(-) create mode 100644 examples/PACKAGES/pedone/in.pedone.melt create mode 100644 examples/PACKAGES/pedone/in.pedone.relax create mode 100644 examples/PACKAGES/pedone/log.9Apr24.pedone.melt.g++.1 create mode 100644 examples/PACKAGES/pedone/log.9Apr24.pedone.melt.g++.4 create mode 100644 examples/PACKAGES/pedone/log.9Apr24.pedone.relax.g++.1 create mode 100644 examples/PACKAGES/pedone/log.9Apr24.pedone.relax.g++.4 diff --git a/doc/src/pair_pedone.rst b/doc/src/pair_pedone.rst index 52a45c32b1..e8ad053dd5 100644 --- a/doc/src/pair_pedone.rst +++ b/doc/src/pair_pedone.rst @@ -33,6 +33,14 @@ kspace_style pppm 1.0e-5 pair_coeff * * coul/long pair_coeff 1 2 pedone 0.030211 2.241334 2.923245 5.0 pair_coeff 2 2 pedone 0.042395 1.379316 3.618701 22.0 + +Used in input scripts: + + .. parsed-literal:: + + examples/PACKAGES/pedone/in.pedone.relax + examples/PACKAGES/pedone/in.pedone.melt + Description diff --git a/doc/src/pair_style.rst b/doc/src/pair_style.rst index 0b8e6d2abb..74dfce6b01 100644 --- a/doc/src/pair_style.rst +++ b/doc/src/pair_style.rst @@ -322,7 +322,7 @@ accelerated styles exist. * :doc:`oxrna2/xstk ` - * :doc:`pace ` - Atomic Cluster Expansion (ACE) machine-learning potential * :doc:`pace/extrapolation ` - Atomic Cluster Expansion (ACE) machine-learning potential with extrapolation grades -* :doc:`pedone ` - Pedone (PMMCS) potential +* :doc:`pedone ` - Pedone (PMMCS) potential (non-Coulomb part) * :doc:`pod ` - Proper orthogonal decomposition (POD) machine-learning potential * :doc:`peri/eps ` - Peridynamic EPS potential * :doc:`peri/lps ` - Peridynamic LPS potential diff --git a/examples/PACKAGES/pedone/in.pedone.melt b/examples/PACKAGES/pedone/in.pedone.melt new file mode 100644 index 0000000000..a2b1c3a71e --- /dev/null +++ b/examples/PACKAGES/pedone/in.pedone.melt @@ -0,0 +1,38 @@ +# Ca-O melt with Pedone potential + +units metal +atom_style charge + +lattice fcc 4.8105 # experimental lattice parameter for fcc-lattice Ca cations + +region box block 0 4 0 4 0 4 +create_box 2 box +create_atoms 1 box + +lattice fcc 4.8105 origin 0.5 0.5 0.5 # O anion lattice shifted by half a unit cell +create_atoms 2 box + +mass 1 40.078 +mass 2 15.999 + +set type 1 charge 1.2 +set type 2 charge -1.2 + +timestep 0.002 +neigh_modify delay 5 every 1 check yes + +pair_style hybrid/overlay pedone 15.0 coul/long 15.0 +kspace_style pppm 1.0e-6 + +pair_coeff * * coul/long +pair_coeff 1 2 pedone 0.030211 2.241334 2.923245 5.0 +pair_coeff 2 2 pedone 0.042395 1.379316 3.618701 22.0 + +velocity all create 6000.0 98347 + +fix 1 all nvt temp 3000.0 3000.0 0.1 + +# dump 1 all atom 500 Ca-O-melt.lammpstrj + +thermo 100 +run 1000 diff --git a/examples/PACKAGES/pedone/in.pedone.relax b/examples/PACKAGES/pedone/in.pedone.relax new file mode 100644 index 0000000000..38ccd651e7 --- /dev/null +++ b/examples/PACKAGES/pedone/in.pedone.relax @@ -0,0 +1,38 @@ +# Ca-O crystal with Pedone potential + +units metal +atom_style charge + +lattice fcc 4.8105 # experimental lattice parameter for fcc-lattice Ca cations + +region box block 0 4 0 4 0 4 +create_box 2 box +create_atoms 1 box + +lattice fcc 4.8105 origin 0.5 0.5 0.5 # O anion lattice shifted by half a unit cell +create_atoms 2 box + +mass 1 40.078 +mass 2 15.999 + +displace_atoms all random 0.01 0.01 0.01 9084544 +set type 1 charge 1.2 +set type 2 charge -1.2 + +timestep 0.002 +neigh_modify delay 5 every 1 check yes + +pair_style hybrid/overlay pedone 15.0 coul/long 15.0 +kspace_style pppm 1.0e-6 + +pair_coeff * * coul/long +pair_coeff 1 2 pedone 0.030211 2.241334 2.923245 5.0 +pair_coeff 2 2 pedone 0.042395 1.379316 3.618701 22.0 + +variable len equal lx*0.25 +thermo_style custom step v_len lx pe press +thermo 100 +fix 1 all box/relax iso 0.0 +minimize 0.0 0.0 1000 10000 + +print "Expected lattice parameter: 4.7748, computed: $(v_len:%6.4f)" diff --git a/examples/PACKAGES/pedone/log.9Apr24.pedone.melt.g++.1 b/examples/PACKAGES/pedone/log.9Apr24.pedone.melt.g++.1 new file mode 100644 index 0000000000..dc33289391 --- /dev/null +++ b/examples/PACKAGES/pedone/log.9Apr24.pedone.melt.g++.1 @@ -0,0 +1,122 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-373-g7ac84e18dd) + using 1 OpenMP thread(s) per MPI task +# Ca-O melt with Pedone potential + +units metal +atom_style charge + +lattice fcc 4.8105 # experimental lattice parameter for fcc-lattice Ca cations +Lattice spacing in x,y,z = 4.8105 4.8105 4.8105 + +region box block 0 4 0 4 0 4 +create_box 2 box +Created orthogonal box = (0 0 0) to (19.242 19.242 19.242) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 256 atoms + using lattice units in orthogonal box = (0 0 0) to (19.242 19.242 19.242) + create_atoms CPU = 0.000 seconds + +lattice fcc 4.8105 origin 0.5 0.5 0.5 # O anion lattice shifted by half a unit cell +Lattice spacing in x,y,z = 4.8105 4.8105 4.8105 +create_atoms 2 box +Created 256 atoms + using lattice units in orthogonal box = (0 0 0) to (19.242 19.242 19.242) + create_atoms CPU = 0.000 seconds + +mass 1 40.078 +mass 2 15.999 + +set type 1 charge 1.2 +Setting atom values ... + 256 settings made for charge +set type 2 charge -1.2 +Setting atom values ... + 256 settings made for charge + +timestep 0.002 +neigh_modify delay 5 every 1 check yes + +pair_style hybrid/overlay pedone 15.0 coul/long 15.0 +kspace_style pppm 1.0e-6 + +pair_coeff * * coul/long +pair_coeff 1 2 pedone 0.030211 2.241334 2.923245 5.0 +pair_coeff 2 2 pedone 0.042395 1.379316 3.618701 22.0 + +velocity all create 6000.0 98347 + +fix 1 all nvt temp 3000.0 3000.0 0.1 + +# dump 1 all atom 500 Ca-O-melt.lammpstrj + +thermo 100 +run 1000 +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.23676226 + grid = 24 24 24 + stencil order = 5 + estimated absolute RMS force accuracy = 1.3089053e-05 + estimated relative force accuracy = 9.089844e-07 + using double precision FFTW3 + 3d grid and FFT values/proc = 29791 13824 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 17 + ghost atom cutoff = 17 + binsize = 8.5, bins = 3 3 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair pedone, perpetual, skip from (2) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (2) pair coul/long, 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) = 9.239 | 9.239 | 9.239 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 6000 -3771.5568 0 -3375.2452 34213.185 + 100 2894.1756 -3562.491 0 -3371.3251 114640.32 + 200 2980.3531 -3570.2657 0 -3373.4076 123673.56 + 300 2783.0437 -3574.5809 0 -3390.7554 119791.27 + 400 3021.6581 -3568.2149 0 -3368.6285 116032.29 + 500 3112.0438 -3580.0178 0 -3374.4613 114798.18 + 600 2973.4609 -3577.0582 0 -3380.6553 111843.46 + 700 3180.1687 -3568.4542 0 -3358.3979 121008.83 + 800 2923.7803 -3573.3023 0 -3380.181 111459.55 + 900 2940.3133 -3572.1322 0 -3377.9188 118177.36 + 1000 3070.2584 -3575.5655 0 -3372.769 114175.52 +Loop time of 13.683 on 1 procs for 1000 steps with 512 atoms + +Performance: 12.629 ns/day, 1.900 hours/ns, 73.084 timesteps/s, 37.419 katom-step/s +99.9% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 11.545 | 11.545 | 11.545 | 0.0 | 84.37 +Kspace | 1.4121 | 1.4121 | 1.4121 | 0.0 | 10.32 +Neigh | 0.65265 | 0.65265 | 0.65265 | 0.0 | 4.77 +Comm | 0.056036 | 0.056036 | 0.056036 | 0.0 | 0.41 +Output | 0.00022945 | 0.00022945 | 0.00022945 | 0.0 | 0.00 +Modify | 0.0090252 | 0.0090252 | 0.0090252 | 0.0 | 0.07 +Other | | 0.00801 | | | 0.06 + +Nlocal: 512 ave 512 max 512 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 10901 ave 10901 max 10901 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 374419 ave 374419 max 374419 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 374419 +Ave neighs/atom = 731.28711 +Neighbor list builds = 71 +Dangerous builds = 0 +Total wall time: 0:00:13 diff --git a/examples/PACKAGES/pedone/log.9Apr24.pedone.melt.g++.4 b/examples/PACKAGES/pedone/log.9Apr24.pedone.melt.g++.4 new file mode 100644 index 0000000000..693b8b3050 --- /dev/null +++ b/examples/PACKAGES/pedone/log.9Apr24.pedone.melt.g++.4 @@ -0,0 +1,122 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-373-g7ac84e18dd) + using 1 OpenMP thread(s) per MPI task +# Ca-O melt with Pedone potential + +units metal +atom_style charge + +lattice fcc 4.8105 # experimental lattice parameter for fcc-lattice Ca cations +Lattice spacing in x,y,z = 4.8105 4.8105 4.8105 + +region box block 0 4 0 4 0 4 +create_box 2 box +Created orthogonal box = (0 0 0) to (19.242 19.242 19.242) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 256 atoms + using lattice units in orthogonal box = (0 0 0) to (19.242 19.242 19.242) + create_atoms CPU = 0.000 seconds + +lattice fcc 4.8105 origin 0.5 0.5 0.5 # O anion lattice shifted by half a unit cell +Lattice spacing in x,y,z = 4.8105 4.8105 4.8105 +create_atoms 2 box +Created 256 atoms + using lattice units in orthogonal box = (0 0 0) to (19.242 19.242 19.242) + create_atoms CPU = 0.000 seconds + +mass 1 40.078 +mass 2 15.999 + +set type 1 charge 1.2 +Setting atom values ... + 256 settings made for charge +set type 2 charge -1.2 +Setting atom values ... + 256 settings made for charge + +timestep 0.002 +neigh_modify delay 5 every 1 check yes + +pair_style hybrid/overlay pedone 15.0 coul/long 15.0 +kspace_style pppm 1.0e-6 + +pair_coeff * * coul/long +pair_coeff 1 2 pedone 0.030211 2.241334 2.923245 5.0 +pair_coeff 2 2 pedone 0.042395 1.379316 3.618701 22.0 + +velocity all create 6000.0 98347 + +fix 1 all nvt temp 3000.0 3000.0 0.1 + +# dump 1 all atom 500 Ca-O-melt.lammpstrj + +thermo 100 +run 1000 +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.23676226 + grid = 24 24 24 + stencil order = 5 + estimated absolute RMS force accuracy = 1.3089053e-05 + estimated relative force accuracy = 9.089844e-07 + using double precision FFTW3 + 3d grid and FFT values/proc = 11191 3456 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 5 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 17 + ghost atom cutoff = 17 + binsize = 8.5, bins = 3 3 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair pedone, perpetual, skip from (2) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (2) pair coul/long, 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) = 5.315 | 5.315 | 5.315 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 6000 -3771.5568 0 -3375.2452 34213.185 + 100 3050.0106 -3571.4712 0 -3370.0121 118480.04 + 200 3100.0073 -3571.2534 0 -3366.492 120618.37 + 300 2959.7127 -3580.0883 0 -3384.5935 109184.72 + 400 2922.7083 -3563.9803 0 -3370.9298 120165.71 + 500 3145.0439 -3571.3828 0 -3363.6465 115057.51 + 600 2741.7439 -3563.5077 0 -3382.4102 115504.31 + 700 2906.3636 -3567.3604 0 -3375.3895 119518.5 + 800 2995.3864 -3567.3838 0 -3369.5327 117975.22 + 900 2965.24 -3565.7983 0 -3369.9385 123362.35 + 1000 2916.6485 -3578.7471 0 -3386.0968 115624.78 +Loop time of 4.50395 on 4 procs for 1000 steps with 512 atoms + +Performance: 38.366 ns/day, 0.626 hours/ns, 222.028 timesteps/s, 113.678 katom-step/s +99.4% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 3.2703 | 3.2983 | 3.3259 | 1.3 | 73.23 +Kspace | 0.79815 | 0.82633 | 0.85342 | 2.6 | 18.35 +Neigh | 0.18328 | 0.18398 | 0.18472 | 0.1 | 4.08 +Comm | 0.17423 | 0.17508 | 0.17592 | 0.2 | 3.89 +Output | 0.00019336 | 0.0002167 | 0.00028554 | 0.0 | 0.00 +Modify | 0.0089842 | 0.0091093 | 0.0092205 | 0.1 | 0.20 +Other | | 0.01096 | | | 0.24 + +Nlocal: 128 ave 143 max 118 min +Histogram: 2 0 0 0 0 1 0 0 0 1 +Nghost: 7622.75 ave 7651 max 7598 min +Histogram: 1 0 0 1 1 0 0 0 0 1 +Neighs: 93581.8 ave 106456 max 84898 min +Histogram: 1 1 0 0 1 0 0 0 0 1 + +Total # of neighbors = 374327 +Ave neighs/atom = 731.10742 +Neighbor list builds = 71 +Dangerous builds = 0 +Total wall time: 0:00:04 diff --git a/examples/PACKAGES/pedone/log.9Apr24.pedone.relax.g++.1 b/examples/PACKAGES/pedone/log.9Apr24.pedone.relax.g++.1 new file mode 100644 index 0000000000..bf58a8da9b --- /dev/null +++ b/examples/PACKAGES/pedone/log.9Apr24.pedone.relax.g++.1 @@ -0,0 +1,134 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-373-g7ac84e18dd) + using 1 OpenMP thread(s) per MPI task +# Ca-O crystal with Pedone potential + +units metal +atom_style charge + +lattice fcc 4.8105 # experimental lattice parameter for fcc-lattice Ca cations +Lattice spacing in x,y,z = 4.8105 4.8105 4.8105 + +region box block 0 4 0 4 0 4 +create_box 2 box +Created orthogonal box = (0 0 0) to (19.242 19.242 19.242) + 1 by 1 by 1 MPI processor grid +create_atoms 1 box +Created 256 atoms + using lattice units in orthogonal box = (0 0 0) to (19.242 19.242 19.242) + create_atoms CPU = 0.000 seconds + +lattice fcc 4.8105 origin 0.5 0.5 0.5 # O anion lattice shifted by half a unit cell +Lattice spacing in x,y,z = 4.8105 4.8105 4.8105 +create_atoms 2 box +Created 256 atoms + using lattice units in orthogonal box = (0 0 0) to (19.242 19.242 19.242) + create_atoms CPU = 0.000 seconds + +mass 1 40.078 +mass 2 15.999 + +displace_atoms all random 0.01 0.01 0.01 9084544 +Displacing atoms ... +set type 1 charge 1.2 +Setting atom values ... + 256 settings made for charge +set type 2 charge -1.2 +Setting atom values ... + 256 settings made for charge + +timestep 0.002 +neigh_modify delay 5 every 1 check yes + +pair_style hybrid/overlay pedone 15.0 coul/long 15.0 +kspace_style pppm 1.0e-6 + +pair_coeff * * coul/long +pair_coeff 1 2 pedone 0.030211 2.241334 2.923245 5.0 +pair_coeff 2 2 pedone 0.042395 1.379316 3.618701 22.0 + +variable len equal lx*0.25 +thermo_style custom step v_len lx pe press +thermo 100 +fix 1 all box/relax iso 0.0 +minimize 0.0 0.0 1000 10000 +Switching to 'neigh_modify every 1 delay 0 check yes' setting during minimization +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.23676226 + grid = 24 24 24 + stencil order = 5 + estimated absolute RMS force accuracy = 1.3089053e-05 + estimated relative force accuracy = 9.089844e-07 + using double precision FFTW3 + 3d grid and FFT values/proc = 29791 13824 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 17 + ghost atom cutoff = 17 + binsize = 8.5, bins = 3 3 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair pedone, perpetual, skip from (2) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (2) pair coul/long, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +WARNING: Energy due to 1 extra global DOFs will be included in minimizer energies + (src/min.cpp:219) +Per MPI rank memory allocation (min/avg/max) = 10.33 | 10.33 | 10.33 Mbytes + Step v_len Lx PotEng Press + 0 4.8105 19.242 -3765.9116 -21299.914 + 100 4.7797128 19.118851 -3767.814 -164.13101 + 200 4.7787507 19.115003 -3769.1366 -373.58797 + 300 4.7768265 19.107306 -3770.5634 48.944709 + 400 4.7768265 19.107306 -3770.9879 -258.56116 + 500 4.7758644 19.103458 -3771.3898 173.91894 + 600 4.7758644 19.103458 -3771.7586 -91.813678 + 700 4.7758644 19.103458 -3771.9842 -252.52883 + 800 4.7749023 19.099609 -3772.3526 216.83318 + 857 4.7747927 19.099171 -3772.8223 32.586251 +Loop time of 18.0592 on 1 procs for 857 steps with 512 atoms + +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads + +Minimization stats: + Stopping criterion = linesearch alpha is zero + Energy initial, next-to-last, final = + -3765.91161156884 -3772.82226663623 -3772.82226663623 + Force two-norm initial, final = 284.3967 0.46963871 + Force max component initial, final = 284.14458 0.42827677 + Final line search alpha, max atom move = 2.8580337e-08 1.2240294e-08 + Iterations, force evaluations = 857 894 + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 13.907 | 13.907 | 13.907 | 0.0 | 77.01 +Kspace | 1.3809 | 1.3809 | 1.3809 | 0.0 | 7.65 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.045871 | 0.045871 | 0.045871 | 0.0 | 0.25 +Output | 0.0002809 | 0.0002809 | 0.0002809 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.726 | | | 15.09 + +Nlocal: 512 ave 512 max 512 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 11655 ave 11655 max 11655 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 372155 ave 372155 max 372155 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 372155 +Ave neighs/atom = 726.86523 +Neighbor list builds = 0 +Dangerous builds = 0 + +print "Expected lattice parameter: 4.7748, computed: $(v_len:%6.4f)" +Expected lattice parameter: 4.7748, computed: 4.7748 +Total wall time: 0:00:18 diff --git a/examples/PACKAGES/pedone/log.9Apr24.pedone.relax.g++.4 b/examples/PACKAGES/pedone/log.9Apr24.pedone.relax.g++.4 new file mode 100644 index 0000000000..95a84f81e0 --- /dev/null +++ b/examples/PACKAGES/pedone/log.9Apr24.pedone.relax.g++.4 @@ -0,0 +1,134 @@ +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-373-g7ac84e18dd) + using 1 OpenMP thread(s) per MPI task +# Ca-O crystal with Pedone potential + +units metal +atom_style charge + +lattice fcc 4.8105 # experimental lattice parameter for fcc-lattice Ca cations +Lattice spacing in x,y,z = 4.8105 4.8105 4.8105 + +region box block 0 4 0 4 0 4 +create_box 2 box +Created orthogonal box = (0 0 0) to (19.242 19.242 19.242) + 1 by 2 by 2 MPI processor grid +create_atoms 1 box +Created 256 atoms + using lattice units in orthogonal box = (0 0 0) to (19.242 19.242 19.242) + create_atoms CPU = 0.000 seconds + +lattice fcc 4.8105 origin 0.5 0.5 0.5 # O anion lattice shifted by half a unit cell +Lattice spacing in x,y,z = 4.8105 4.8105 4.8105 +create_atoms 2 box +Created 256 atoms + using lattice units in orthogonal box = (0 0 0) to (19.242 19.242 19.242) + create_atoms CPU = 0.000 seconds + +mass 1 40.078 +mass 2 15.999 + +displace_atoms all random 0.01 0.01 0.01 9084544 +Displacing atoms ... +set type 1 charge 1.2 +Setting atom values ... + 256 settings made for charge +set type 2 charge -1.2 +Setting atom values ... + 256 settings made for charge + +timestep 0.002 +neigh_modify delay 5 every 1 check yes + +pair_style hybrid/overlay pedone 15.0 coul/long 15.0 +kspace_style pppm 1.0e-6 + +pair_coeff * * coul/long +pair_coeff 1 2 pedone 0.030211 2.241334 2.923245 5.0 +pair_coeff 2 2 pedone 0.042395 1.379316 3.618701 22.0 + +variable len equal lx*0.25 +thermo_style custom step v_len lx pe press +thermo 100 +fix 1 all box/relax iso 0.0 +minimize 0.0 0.0 1000 10000 +Switching to 'neigh_modify every 1 delay 0 check yes' setting during minimization +PPPM initialization ... + using 12-bit tables for long-range coulomb (src/kspace.cpp:342) + G vector (1/distance) = 0.23676226 + grid = 24 24 24 + stencil order = 5 + estimated absolute RMS force accuracy = 1.3089053e-05 + estimated relative force accuracy = 9.089844e-07 + using double precision FFTW3 + 3d grid and FFT values/proc = 11191 3456 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 17 + ghost atom cutoff = 17 + binsize = 8.5, bins = 3 3 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair pedone, perpetual, skip from (2) + attributes: half, newton on + pair build: skip + stencil: none + bin: none + (2) pair coul/long, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +WARNING: Energy due to 1 extra global DOFs will be included in minimizer energies + (src/min.cpp:219) +Per MPI rank memory allocation (min/avg/max) = 6.44 | 6.44 | 6.44 Mbytes + Step v_len Lx PotEng Press + 0 4.8105 19.242 -3765.9116 -21299.914 + 100 4.7797128 19.118851 -3767.814 -164.13101 + 200 4.7787507 19.115003 -3769.1367 -373.59489 + 300 4.7768265 19.107306 -3770.5868 32.046893 + 400 4.7768265 19.107306 -3771.0322 -290.69703 + 500 4.7758644 19.103458 -3771.4223 150.34606 + 600 4.7758644 19.103458 -3771.7941 -117.26938 + 700 4.7758644 19.103458 -3772.0193 -277.34372 + 800 4.7749023 19.099609 -3772.42 171.95177 + 860 4.7748339 19.099336 -3772.8237 1.0976356 +Loop time of 5.65601 on 4 procs for 860 steps with 512 atoms + +99.5% CPU use with 4 MPI tasks x 1 OpenMP threads + +Minimization stats: + Stopping criterion = linesearch alpha is zero + Energy initial, next-to-last, final = + -3765.91161156888 -3772.82365446552 -3772.82365446552 + Force two-norm initial, final = 284.3967 0.067746634 + Force max component initial, final = 284.14458 0.014426328 + Final line search alpha, max atom move = 1.9073486e-06 2.7516038e-08 + Iterations, force evaluations = 860 922 + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 3.7408 | 3.8442 | 4.0543 | 6.5 | 67.97 +Kspace | 0.60187 | 0.81211 | 0.91543 | 14.1 | 14.36 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0.14969 | 0.15017 | 0.15071 | 0.1 | 2.66 +Output | 0.00019203 | 0.00020711 | 0.0002511 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 0.8494 | | | 15.02 + +Nlocal: 128 ave 135 max 123 min +Histogram: 1 0 1 0 1 0 0 0 0 1 +Nghost: 8175 ave 8180 max 8168 min +Histogram: 1 0 0 0 0 1 0 1 0 1 +Neighs: 93038.8 ave 98164 max 89373 min +Histogram: 1 0 1 0 1 0 0 0 0 1 + +Total # of neighbors = 372155 +Ave neighs/atom = 726.86523 +Neighbor list builds = 0 +Dangerous builds = 0 + +print "Expected lattice parameter: 4.7748, computed: $(v_len:%6.4f)" +Expected lattice parameter: 4.7748, computed: 4.7748 +Total wall time: 0:00:05 diff --git a/src/.gitignore b/src/.gitignore index 88bb80fdc5..02f2a6a6ea 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -1357,6 +1357,8 @@ /pair_oxrna2_*.cpp /pair_oxrna2_*.h /mf_oxdna.h +/pair_pedone.cpp +/pair_pedone.h /pair_peri.cpp /pair_peri.h /pair_peri_eps.cpp From b4fa1b07e902725c45776a696715d16600a3efe5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Apr 2024 22:21:34 -0400 Subject: [PATCH 442/559] add version tag --- doc/src/pair_pedone.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/src/pair_pedone.rst b/doc/src/pair_pedone.rst index e8ad053dd5..5ef7320fa0 100644 --- a/doc/src/pair_pedone.rst +++ b/doc/src/pair_pedone.rst @@ -41,11 +41,13 @@ Used in input scripts: examples/PACKAGES/pedone/in.pedone.relax examples/PACKAGES/pedone/in.pedone.melt - + Description """"""""""" +.. versionadded:: TBD + Pair style *pedone* computes the **non-Coulomb** interactions of the Pedone (or PMMCS) potential :ref:`(Pedone) ` which combines Coulomb interactions, Morse potential, and repulsive :math:`r^{-12}` From e979e8dc01730b949802859af2f4dbfcff83b251 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 9 Apr 2024 22:36:49 -0400 Subject: [PATCH 443/559] spelling add false positives --- doc/utils/sphinx-config/false_positives.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 04ea69575a..88ac0e3140 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -2040,6 +2040,7 @@ Makefiles makelist makepkg Makse +Malavasi malloc Malolepsza Manby @@ -2149,6 +2150,7 @@ membered memcheck Mendelev Menon +Menziani mer Meremianin Mersenne @@ -2772,6 +2774,8 @@ Peachey peachpuff Pearlman Pedersen +pedone +Pedone peID PEigenDense Peng From 9f88867b373f9c4aad4c16c13c0ef30d429daeeb Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 10 Apr 2024 03:08:08 -0400 Subject: [PATCH 444/559] update parsing of file and atomfile variable files this allows to handle comments and empty lines everywhere for atomfile and file variables and in a consistent manner since it used utils functions. also error messages are improved and more specific. --- src/variable.cpp | 57 +++++++++++++--------------- unittest/commands/test_variables.cpp | 4 +- 2 files changed, 29 insertions(+), 32 deletions(-) diff --git a/src/variable.cpp b/src/variable.cpp index c99e4a4761..89d15d38f5 100644 --- a/src/variable.cpp +++ b/src/variable.cpp @@ -369,7 +369,8 @@ void Variable::set(int narg, char **arg) data[nvar][0] = new char[MAXLINE]; reader[nvar] = new VarReader(lmp,arg[0],arg[2],SCALARFILE); int flag = reader[nvar]->read_scalar(data[nvar][0]); - if (flag) error->all(FLERR,"File variable could not read value"); + if (flag) + error->all(FLERR,"File variable {} could not read value from {}", arg[0], arg[2]); // ATOMFILE for numbers // which = 1st value @@ -387,7 +388,8 @@ void Variable::set(int narg, char **arg) data[nvar][0] = nullptr; reader[nvar] = new VarReader(lmp,arg[0],arg[2],ATOMFILE); int flag = reader[nvar]->read_peratom(); - if (flag) error->all(FLERR,"Atomfile variable could not read values"); + if (flag) + error->all(FLERR,"Atomfile variable {} could not read values from {}", arg[0], arg[2]); // FORMAT // num = 3, which = 1st value @@ -5405,7 +5407,8 @@ VarReader::VarReader(LAMMPS *lmp, char *name, char *file, int flag) : if (me == 0) { fp = fopen(file,"r"); if (fp == nullptr) - error->one(FLERR,"Cannot open file variable file {}: {}", file, utils::getsyserror()); + error->one(FLERR,"Cannot open {} variable {} file {}: {}", (style == Variable::ATOMFILE) + ? "atomfile" : "file", name, file, utils::getsyserror()); } // if atomfile-style variable, must store per-atom values read from file @@ -5463,14 +5466,12 @@ int VarReader::read_scalar(char *str) while (true) { ptr = fgets(str,MAXLINE,fp); if (!ptr) { n=0; break; } // end of file - ptr[strcspn(ptr,"#")] = '\0'; // strip comment - ptr += strspn(ptr," \t\n\r\f"); // strip leading whitespace - ptr[strcspn(ptr," \t\n\r\f")] = '\0'; // strip trailing whitespace - n = strlen(ptr) + 1; + auto line = utils::trim(utils::trim_comment(str)); + n = line.size() + 1; if (n == 1) continue; // skip if blank line + memcpy(str, line.c_str(), n); break; } - if (n > 0) memmove(str,ptr,n); // move trimmed string back } MPI_Bcast(&n,1,MPI_INT,0,world); if (n == 0) return 1; @@ -5486,9 +5487,9 @@ int VarReader::read_scalar(char *str) int VarReader::read_peratom() { - int i,m,n,nchunk,eof; + int i,m,nchunk,eof; tagint tag; - char *ptr,*next; + char *ptr; double value; // set all per-atom values to 0.0 @@ -5502,24 +5503,22 @@ int VarReader::read_peratom() // read one string from file, convert to Nlines char str[MAXLINE]; + bigint nlines = 0; if (me == 0) { while (true) { ptr = fgets(str,MAXLINE,fp); - if (!ptr) { n=0; break; } // end of file - ptr[strcspn(ptr,"#")] = '\0'; // strip comment - ptr += strspn(ptr," \t\n\r\f"); // strip leading whitespace - ptr[strcspn(ptr," \t\n\r\f")] = '\0'; // strip trailing whitespace - n = strlen(ptr) + 1; - if (n == 1) continue; // skip if blank line + if (!ptr) { nlines = 0; break; } // end of file + Tokenizer words(utils::trim(utils::trim_comment(str))); + if (words.count() == 0) continue; // skip if blank or comment line + if (words.count() != 1) + error->one(FLERR, "Expected 1 token but found {} when parsing {}", words.count(), str); + nlines = utils::bnumeric(FLERR,words.next(),true,lmp); break; } - memmove(str,ptr,n); // move trimmed string back } + MPI_Bcast(&nlines,1,MPI_LMP_BIGINT,0,world); + if (nlines == 0) return 1; - MPI_Bcast(&n,1,MPI_INT,0,world); - if (n == 0) return 1; - MPI_Bcast(str,n,MPI_CHAR,0,world); - bigint nlines = utils::bnumeric(FLERR,str,false,lmp); tagint map_tag_max = atom->map_tag_max; bigint nread = 0; @@ -5528,24 +5527,22 @@ int VarReader::read_peratom() eof = utils::read_lines_from_file(fp,nchunk,MAXLINE,buffer,me,world); if (eof) return 1; - char *buf = buffer; - for (i = 0; i < nchunk; i++) { - next = strchr(buf,'\n'); - *next = '\0'; + for (const auto &line : utils::split_lines(buffer)) { try { - ValueTokenizer words(buf); + ValueTokenizer words(utils::trim_comment(utils::trim(line))); + if (words.count() == 0) continue; // skip comment or empty lines + if (words.count() != 2) + throw TokenizerException(fmt::format("expected 2 tokens but found {}", words.count()), ""); tag = words.next_bigint(); value = words.next_double(); + ++nread; } catch (TokenizerException &e) { - error->all(FLERR,"Invalid atomfile line '{}': {}",buf,e.what()); + error->all(FLERR,"Invalid atomfile line '{}': {}", line, e.what()); } if ((tag <= 0) || (tag > map_tag_max)) error->all(FLERR,"Invalid atom ID {} in variable file", tag); if ((m = atom->map(tag)) >= 0) vstore[m] = value; - buf = next + 1; } - - nread += nchunk; } return 0; diff --git a/unittest/commands/test_variables.cpp b/unittest/commands/test_variables.cpp index c631b69528..6748867b4e 100644 --- a/unittest/commands/test_variables.cpp +++ b/unittest/commands/test_variables.cpp @@ -216,7 +216,7 @@ TEST_F(VariableTest, CreateDelete) command("variable one internal 2");); TEST_FAILURE(".*ERROR: Cannot use atomfile-style variable unless an atom map exists.*", command("variable eleven atomfile test_variable.atomfile");); - TEST_FAILURE(".*ERROR on proc 0: Cannot open file variable file test_variable.xxx.*", + TEST_FAILURE(".*ERROR on proc 0: Cannot open file variable nine1 file test_variable.xxx.*", command("variable nine1 file test_variable.xxx");); TEST_FAILURE(".*ERROR: World variable count doesn't match # of partitions.*", command("variable ten10 world xxx xxx");); @@ -293,7 +293,7 @@ TEST_F(VariableTest, AtomicSystem) command("variable one atom x");); TEST_FAILURE(".*ERROR: Cannot redefine variable as a different style.*", command("variable id vector f_press");); - TEST_FAILURE(".*ERROR on proc 0: Cannot open file variable file test_variable.xxx.*", + TEST_FAILURE(".*ERROR on proc 0: Cannot open atomfile variable ten1 file test_variable.xxx.*", command("variable ten1 atomfile test_variable.xxx");); TEST_FAILURE(".*ERROR: Variable loop: has a circular dependency.*", variable->compute_equal("v_loop");); From 06d579eb51072c478738077917f3409fc5f833bc Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 10 Apr 2024 06:29:10 -0400 Subject: [PATCH 445/559] improve atomfile variable docs --- doc/src/variable.rst | 48 ++++++++++++++++++++++++++++---------------- 1 file changed, 31 insertions(+), 17 deletions(-) diff --git a/doc/src/variable.rst b/doc/src/variable.rst index 483e95045c..6b143ab5ae 100644 --- a/doc/src/variable.rst +++ b/doc/src/variable.rst @@ -279,9 +279,9 @@ This means the variable can then be evaluated as many times as desired and will return those values. There are two ways to cause the next set of per-atom values from the file to be read: use the :doc:`next ` command or the next() function in an atom-style -variable, as discussed below. Unlike most variable styles -atomfile-style variables are **deleted** during a :doc:`clear ` -command. +variable, as discussed below. Unlike most variable styles, which +remain defined, atomfile-style variables are **deleted** during a +:doc:`clear ` command. The rules for formatting the file are as follows. Each time a set of per-atom values is read, a non-blank line is searched for in the file. @@ -289,23 +289,37 @@ The file is read line by line but only up to 254 characters are used. The rest are ignored. A comment character "#" can be used anywhere on a line and all text following and the "#" character are ignored; text starting with the comment character is stripped. Blank lines -are skipped. The first "word" of a non-blank line, delimited by -white-space, is read as the count N of per-atom lines to immediately -follow. N can be the total number of atoms in the system, or only a -subset. The next N lines have the following format - -.. parsed-literal:: - - ID value - -where ID is an atom ID and value is the per-atom numeric value that -will be assigned to that atom. IDs can be listed in any order. +are skipped. The first non-blank line is expected to contain a single +integer number as the count *N* of per-atom lines to follow. *N* can +be the total number of atoms in the system or less, indicating that data +for a subset is read. The next N lines must consist of two numbers, +the atom-ID of the atom for which a value is set followed by a floating +point number with the value. The atom-IDs may be listed in any order. .. note:: - Every time a set of per-atom lines is read, the value for all - atoms is first set to 0.0. Thus values for atoms whose ID does not - appear in the set, will remain 0.0. + Every time a set of per-atom lines is read, the value of the atomfile + variable for **all** atoms is first initialized to 0.0. Thus values + for atoms whose ID do not appear in the set in the file will remain + at 0.0. + +Below is a small example for the atomfile variable file format: + + .. parsed-literal:: + + # first set + 4 + # atom-ID value + 3 1 + 4 -4 + 1 0.5 + 2 -0.5 + + # second set + 2 + + 2 1.0 + 4 -1.0 ---------- From 7ca4bf05cf85e14a627b32407296bf72d99cf83a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 10 Apr 2024 09:52:58 -0400 Subject: [PATCH 446/559] change radthresh initialization --- src/create_atoms.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index a4cff9f4de..fd1d535792 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -157,9 +157,9 @@ void CreateAtoms::command(int narg, char **arg) maxtry = DEFAULT_MAXTRY; radscale = 1.0; mesh_style = BISECTION; - radthresh = domain->lattice->xlattice; // NOTE to Axel - I think this should be 1.0 by default - mesh_density = 1.0; // similar to how this setting is 1.0 - // see rescaling of both below if units = lattice + radthresh = 1.0; + mesh_density = 1.0; + nbasis = domain->lattice->nbasis; basistype = new int[nbasis]; for (int i = 0; i < nbasis; i++) basistype[i] = ntype; @@ -375,8 +375,8 @@ void CreateAtoms::command(int narg, char **arg) xone[2] *= domain->lattice->zlattice; } else if (style == RANDOM) { if (overlapflag) overlap *= domain->lattice->xlattice; - } else if (style == MESH) { // NOTE to Axel - here is the rescaling of both params - if (mesh_style == BISECTION) { // by lattice spacings if units = lattice, similar to xone,overlap + } else if (style == MESH) { + if (mesh_style == BISECTION) { radthresh *= domain->lattice->xlattice; } else if (mesh_style == QUASIRANDOM) { mesh_density /= (domain->lattice->xlattice * domain->lattice->xlattice); From e180527f087922635013a1f6f60a79fb2993ac02 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 10 Apr 2024 12:35:09 -0400 Subject: [PATCH 447/559] fix typo --- doc/src/pair_pedone.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/pair_pedone.rst b/doc/src/pair_pedone.rst index 5ef7320fa0..32fcb17f00 100644 --- a/doc/src/pair_pedone.rst +++ b/doc/src/pair_pedone.rst @@ -57,7 +57,7 @@ pair style :doc:`hybrid/overlay ` (see example above). Using *coul/long* or *could/dsf* (for solids) is recommended. The full Pedone potential function from :ref:`(Pedone) ` for each -pair of atom is: +pair of atoms is: .. math:: From 120b861f80840a1a8696e6f154ab808b6c5ecfbb Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 10 Apr 2024 12:56:43 -0600 Subject: [PATCH 448/559] correct typos and remove duplicate text --- doc/src/Howto_body.rst | 47 +++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/doc/src/Howto_body.rst b/doc/src/Howto_body.rst index 0588e079d0..23d0e1019d 100644 --- a/doc/src/Howto_body.rst +++ b/doc/src/Howto_body.rst @@ -105,6 +105,17 @@ particles of different styles The pair styles currently defined for use with specific body styles are listed in the sections below. +Note that for all the body styles, if the data file defines a general +triclinic box, then the orientation of the body particle and its +corresponding 6 moments of inertia and other orientation-dependent +values should reflect the fact the body is defined withing a general +triclinic box with edge vectors **A**,**B**,**C**. LAMMPS will rotate +the box to convert it to a restricted triclinic box. This operation +will also rotate the orientation of the body particles. See the +:doc:`Howto triclinic ` doc page for more details. +The sections below highlight the orientation-dependent values specific +to each body style. + ---------- **Specifics of body style nparticle:** @@ -161,14 +172,10 @@ center-of-mass position of the particle is specified by the x,y,z values in the *Atoms* section of the data file, as is the total mass of the body particle. -If the data file defines a general triclinic box, then the orientation -of the body particle and its corresponding 6 moments of inertia and -sub-particle displacements should reflect the fact the body is defined -withing a general triclinic box with edge vectors **A**,**B**,**C**. -LAMMPS will rotate the box to convert it to a restricted triclinic -box. This operation will also rotate the orientation of the body -particles. See the :doc:`Howto triclinic ` doc page -for more details. +Note that if the data file defines a general triclinic simulation box, +these sub-particle displacements are orientation-dependent and, as +mentioned above, should reflect the body particle's orientation within +the general triclinic box. The :doc:`pair_style body/nparticle ` command can be used with this body style to compute body/body and body/non-body interactions. @@ -281,14 +288,10 @@ A disk, whose diameter is 3.0, mass 1.0, is specified as follows: 0 0 0 3.0 -If the data file defines a general triclinic box, then the orientation -of the body particle and its corresponding 6 moments of inertia and -polygon vertex displacements should reflect the fact the body is -defined withing a general triclinic box with edge vectors -**A**,**B**,**C**. LAMMPS will rotate the box to convert it to a -restricted triclinic box. This operation will also rotate the -orientation of the body particles. See the :doc:`Howto triclinic -` doc page for more details. +Note that if the data file defines a general triclinic simulation box, +these polygon vertex displacements are orientation-dependent and, as +mentioned above, should reflect the body particle's orientation within +the general triclinic box. The :doc:`pair_style body/rounded/polygon ` command can be used with this body style to compute body/body @@ -456,14 +459,10 @@ A sphere whose diameter is 3.0 and mass 1.0, is specified as follows: The number of edges and faces for a rod or sphere must be listed, but is ignored. -If the data file defines a general triclinic box, then the orientation -of the body particle and its corresponding 6 moments of inertia and -polyhedron vertex displacements should reflect the fact the body is -defined withing a general triclinic box with edge vectors -**A**,**B**,**C**. LAMMPS will rotate the box to convert it to a -restricted triclinic box. This operation will also rotate the -orientation of the body particles. See the :doc:`Howto triclinic -` doc page for more details. +Note that if the data file defines a general triclinic simulation box, +these polyhedron vertex displacements are orientation-dependent and, +as mentioned above, should reflect the body particle's orientation +within the general triclinic box. The :doc:`pair_style body/rounded/polhedron ` command can be used with this body From 9d3e9c6146f2d262ac3f3e56e9cb6347a9c452ec Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 10 Apr 2024 18:03:01 -0400 Subject: [PATCH 449/559] whitespace --- doc/src/variable.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/variable.rst b/doc/src/variable.rst index 6b143ab5ae..ba5e5efd39 100644 --- a/doc/src/variable.rst +++ b/doc/src/variable.rst @@ -304,7 +304,7 @@ point number with the value. The atom-IDs may be listed in any order. at 0.0. Below is a small example for the atomfile variable file format: - + .. parsed-literal:: # first set From b36f49c34c35cd05491f234baccc88c2a3a222dc Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 10 Apr 2024 18:05:21 -0400 Subject: [PATCH 450/559] adjust epsilon for arm64 platform --- unittest/force-styles/tests/mol-pair-tip4p_long.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unittest/force-styles/tests/mol-pair-tip4p_long.yaml b/unittest/force-styles/tests/mol-pair-tip4p_long.yaml index 072642c471..9a67706c01 100644 --- a/unittest/force-styles/tests/mol-pair-tip4p_long.yaml +++ b/unittest/force-styles/tests/mol-pair-tip4p_long.yaml @@ -2,7 +2,7 @@ lammps_version: 17 Feb 2022 tags: unstable date_generated: Fri Mar 18 22:17:36 2022 -epsilon: 5e-13 +epsilon: 1e-10 skip_tests: prerequisites: ! | atom full From 9f2cc1e38b2f9f19f88444dffa3076a1ea6da08a Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Wed, 10 Apr 2024 17:24:08 -0600 Subject: [PATCH 451/559] Add two-level sort to simplify algorithm --- src/KOKKOS/atom_kokkos.h | 21 ++++++++- src/KOKKOS/atom_map_kokkos.cpp | 82 +++++++++++----------------------- 2 files changed, 45 insertions(+), 58 deletions(-) diff --git a/src/KOKKOS/atom_kokkos.h b/src/KOKKOS/atom_kokkos.h index d6c32624f3..669c8b510a 100644 --- a/src/KOKKOS/atom_kokkos.h +++ b/src/KOKKOS/atom_kokkos.h @@ -88,8 +88,25 @@ class AtomKokkos : public Atom { DAT::tdual_int_1d k_map_array; dual_hash_type k_map_hash; - DAT::t_tagint_1d d_tag_sorted; - DAT::t_int_1d d_i_sorted; + struct KeyValue { + int i; + bigint tag; + }; + + typedef Kokkos::View t_keyvalue_1d; + t_keyvalue_1d d_sorted; + + struct MyComp { + KOKKOS_FUNCTION + bool operator()(const KeyValue& a, const KeyValue& b) const + { + if (a.tag < b.tag) + return true; + if (b.tag < a.tag) + return false; + return a.i < b.i; + } + }; typedef Kokkos::DualView tdual_tagint_2; typedef tdual_tagint_2::t_dev t_tagint_2; diff --git a/src/KOKKOS/atom_map_kokkos.cpp b/src/KOKKOS/atom_map_kokkos.cpp index ca493ea04d..2c4c58ee19 100644 --- a/src/KOKKOS/atom_map_kokkos.cpp +++ b/src/KOKKOS/atom_map_kokkos.cpp @@ -190,94 +190,64 @@ void AtomKokkos::map_set_device() atomKK->sync(Device, TAG_MASK); + int map_style_array = (map_style == MAP_ARRAY); + auto d_tag = atomKK->k_tag.d_view; auto d_sametag = k_sametag.d_view; - // sort by tag - int nmax = atom->nmax; - if (!d_tag_sorted.data() || (int)d_tag_sorted.extent(0) < nmax) { - MemKK::realloc_kokkos(d_tag_sorted,"atom:tag_sorted",nmax); - MemKK::realloc_kokkos(d_i_sorted,"atom:i_sorted",nmax); - } + // sort by tag then local id - // sort by tag + if (!d_sorted.data() || (int)d_sorted.extent(0) < nmax) + MemKK::realloc_kokkos(d_sorted,"atom:sorted",nmax); - auto l_tag_sorted = Kokkos::subview(d_tag_sorted,std::make_pair(0,nall)); - auto l_i_sorted = Kokkos::subview(d_i_sorted,std::make_pair(0,nall)); - auto l_tag_small = Kokkos::subview(d_tag,std::make_pair(0,nall)); - int map_style_array = (map_style == MAP_ARRAY); + auto l_sorted = Kokkos::subview(d_sorted,std::make_pair(0,nall)); Kokkos::parallel_for(nall, LAMMPS_LAMBDA(int i) { - l_i_sorted(i) = i; - l_tag_sorted(i) = d_tag(i); + l_sorted(i).i = i; + l_sorted(i).tag = d_tag(i); }); - Kokkos::Experimental::sort_by_key(LMPDeviceType(), l_tag_small, l_i_sorted); - Kokkos::sort(LMPDeviceType(),l_tag_sorted); + Kokkos::sort(LMPDeviceType(),l_sorted,MyComp{}); auto d_map_array = k_map_array.d_view; auto d_map_hash = k_map_hash.d_view; - d_map_hash.clear(); + if (!map_style_array) + d_map_hash.clear(); auto d_error_flag = k_error_flag.d_view; Kokkos::deep_copy(d_error_flag,0); - // for each tag find: - // neighboring atoms with closest local id for sametag // atom with smallest local id for atom map Kokkos::parallel_for(nall, LAMMPS_LAMBDA(int ii) { - const int i = l_i_sorted(ii); - const tagint tag_i = l_tag_sorted(ii); - int i_min = i; - int i_closest = MAXSMALLINT; + const int i = l_sorted(ii).i; + const tagint tag_i = l_sorted(ii).tag; - // search atoms with same tag in the forward direction + // sametag + tagint tag_j = -1; int jj = ii+1; - int closest_flag = 0; + if (jj < nall) tag_j = l_sorted(jj).tag; - while (jj < nall) { - const tagint tag_j = l_tag_sorted(jj); - if (tag_j != tag_i) break; - const int j = l_i_sorted(jj); - i_min = MIN(i_min,j); - if (j > i) { - i_closest = MIN(i_closest,j); - closest_flag = 1; - } - jj++; - } + if (tag_j == tag_i) + d_sametag(i) = l_sorted(jj).i; + else + d_sametag(i) = -1; - // search atoms with same tag in the reverse direction + // atom map + tag_j = -1; jj = ii-1; + if (jj >= 0) tag_j = l_sorted(jj).tag; - while (jj >= 0) { - const tagint tag_j = l_tag_sorted(jj); - if (tag_j != tag_i) break; - const int j = l_i_sorted(jj); - i_min = MIN(i_min,j); - if (j > i) { - i_closest = MIN(i_closest,j); - closest_flag = 1; - } - jj--; - } - - if (!closest_flag) - i_closest = -1; - - d_sametag(i) = i_closest; - - if (i == i_min) { + if (tag_j != tag_i) { if (map_style_array) - d_map_array(tag_i) = i_min; + d_map_array(tag_i) = i; else { - auto insert_result = d_map_hash.insert(tag_i, i_min); + auto insert_result = d_map_hash.insert(tag_i, i); if (insert_result.failed()) d_error_flag() = 1; } } From f557dfdebbd413441f372b64ea6f96471884ac97 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 11 Apr 2024 23:36:11 -0400 Subject: [PATCH 452/559] mention typelabel paper --- doc/src/Howto_type_labels.rst | 25 +++++++++++++-------- doc/src/labelmap.rst | 9 +++++++- doc/utils/sphinx-config/false_positives.txt | 1 + 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/doc/src/Howto_type_labels.rst b/doc/src/Howto_type_labels.rst index 8f03f45ef9..d7460d50a7 100644 --- a/doc/src/Howto_type_labels.rst +++ b/doc/src/Howto_type_labels.rst @@ -14,16 +14,17 @@ wherever they appear in LAMMPS input or output files. The total number Ntypes for each interaction is "locked in" when the simulation box is created. -A recent addition to LAMMPS is the option to use strings - referred -to as type labels - as an alternative. Using type labels instead of +A recent addition to LAMMPS is the option to use strings - referred to +as type labels - as an alternative. Using type labels instead of numeric types can be advantageous in various scenarios. For example, -type labels can make inputs more readable and generic (i.e. usable through -the :doc:`include command ` for different systems with different -numerical values assigned to types. This generality also applies to -other inputs like data files read by :doc:`read_data ` or -molecule template files read by the :doc:`molecule ` -command. See below for a list of other commands that can use -type labels in different ways. +type labels can make inputs more readable and generic (i.e. usable +through the :doc:`include command ` for different systems with +different numerical values assigned to types. This generality also +applies to other inputs like data files read by :doc:`read_data +` or molecule template files read by the :doc:`molecule +` command. A discussion of the current type label support can +be found in :ref:`(Gissinger) `. See below for a list of +other commands that can use type labels in different ways. LAMMPS will *internally* continue to use numeric types, which means that many previous restrictions still apply. For example, the total @@ -124,3 +125,9 @@ between the files. The creation of simulation-ready reaction templates for :doc:`fix bond/react ` is much simpler when using type labels, and results in templates that can be used without modification in multiple simulations or different systems. + +----------- + +.. _Typelabel24: + +**(Gissinger)** J. Gissinger, I. Nikiforov, Y. Afshar, B. Waters, M. Choi, D. Karls, A. Stukowski, W, Im, H. Heinz, A. Kohlmeyer, and E. Tadmor, J Phys Chem B, 128, 3282-3297 (2024) diff --git a/doc/src/labelmap.rst b/doc/src/labelmap.rst index 9e3d705101..5e0d1e92e9 100644 --- a/doc/src/labelmap.rst +++ b/doc/src/labelmap.rst @@ -43,7 +43,8 @@ The label map can also be defined by the :doc:`read_data ` command when it reads these sections in a data file: Atom Type Labels, Bond Type Labels, etc. See the :doc:`Howto type labels ` doc page for a general discussion of how type -labels can be used. +labels can be used. See :ref:`(Gissinger) ` for a discussion +of the type label implementation in LAMMPS and its uses. Valid type labels can contain any alphanumeric character, but must not start with a number, a '#', or a '*' character. They can contain other @@ -98,3 +99,9 @@ Default """"""" none + +----------- + +.. _Typelabel: + +**(Gissinger)** J. Gissinger, I. Nikiforov, Y. Afshar, B. Waters, M. Choi, D. Karls, A. Stukowski, W, Im, H. Heinz, A. Kohlmeyer, and E. Tadmor, J Phys Chem B, 128, 3282-3297 (2024) diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 88ac0e3140..cf4e48feff 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -476,6 +476,7 @@ ChiralIDs chirality Cho Chodera +Choi ChooseOffset chris Christoph From 441a521d8bacf91c0e0091ed437c5ca5879ad896 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 11 Apr 2024 23:52:34 -0400 Subject: [PATCH 453/559] initialize all class pointers to null --- src/EXTRA-PAIR/pair_pedone.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/EXTRA-PAIR/pair_pedone.cpp b/src/EXTRA-PAIR/pair_pedone.cpp index c5f7f49117..9b8ce451d9 100644 --- a/src/EXTRA-PAIR/pair_pedone.cpp +++ b/src/EXTRA-PAIR/pair_pedone.cpp @@ -32,8 +32,8 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ PairPedone::PairPedone(LAMMPS *lmp) : - Pair(lmp), d0(nullptr), alpha(nullptr), r0(nullptr), c0(nullptr), pedone1(nullptr), - pedone2(nullptr) + Pair(lmp), cut(nullptr), d0(nullptr), alpha(nullptr), r0(nullptr), c0(nullptr), + pedone1(nullptr), pedone2(nullptr), offset(nullptr) { writedata = 1; } From 4bd983ce6aa656418ad4baf79f5eb245ab72ffc9 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 12 Apr 2024 00:24:21 -0400 Subject: [PATCH 454/559] make warnings in scatter/gather into errors --- src/library.cpp | 430 +++++++++++++++++++++++++----------------------- 1 file changed, 222 insertions(+), 208 deletions(-) diff --git a/src/library.cpp b/src/library.cpp index f81f52305e..75d74f4bf8 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -527,7 +527,7 @@ void lammps_file(void *handle, const char *filename) BEGIN_CAPTURE { if (lmp->update->whichflag != 0) - lmp->error->all(FLERR, "Library error: issuing LAMMPS commands during a run is not allowed"); + lmp->error->all(FLERR, "Issuing LAMMPS commands during a run is not allowed"); else lmp->input->file(filename); } @@ -564,8 +564,7 @@ char *lammps_command(void *handle, const char *cmd) BEGIN_CAPTURE { if (lmp->update->whichflag != 0) - lmp->error->all(FLERR,"Library error: issuing LAMMPS commands " - "during a run is not allowed."); + lmp->error->all(FLERR, "Issuing LAMMPS command during a run is not allowed."); else result = lmp->input->one(cmd); } @@ -641,7 +640,7 @@ void lammps_commands_string(void *handle, const char *str) BEGIN_CAPTURE { if (lmp->update->whichflag != 0) { - lmp->error->all(FLERR,"Library error: issuing LAMMPS command during run"); + lmp->error->all(FLERR, "Issuing LAMMPS commands during a run is not allowed"); } std::size_t cursor = 0; @@ -949,9 +948,9 @@ void lammps_extract_box(void *handle, double *boxlo, double *boxhi, BEGIN_CAPTURE { // do nothing if box does not yet exist - if ((lmp->domain->box_exist == 0) - && (lmp->comm->me == 0)) { - lmp->error->warning(FLERR,"Calling lammps_extract_box without a box"); + if (lmp->domain->box_exist == 0) { + if (lmp->comm->me == 0) + lmp->error->warning(FLERR, "Call to lammps_extract_box() without a box ignored"); return; } @@ -1011,12 +1010,12 @@ void lammps_reset_box(void *handle, double *boxlo, double *boxhi, BEGIN_CAPTURE { if (lmp->atom->natoms > 0) - lmp->error->all(FLERR,"Calling lammps_reset_box not supported when atoms exist"); + lmp->error->all(FLERR, "Calling lammps_reset_box() not supported when atoms exist"); // warn and do nothing if no box exists if (lmp->domain->box_exist == 0) { if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"Ignoring call to lammps_reset_box without a box"); + lmp->error->warning(FLERR,"Call to lammps_reset_box() without a box ignored"); return; } @@ -2629,7 +2628,14 @@ x[0][2], x[1][0], x[1][1], x[1][2], x[2][0], :math:`\dots`); *natoms*), as queried by :cpp:func:`lammps_get_natoms`, :cpp:func:`lammps_extract_global`, or :cpp:func:`lammps_extract_setting`. -This function is not compatible with ``-DLAMMPS_BIGBIG``. +.. admonition:: Restrictions + :class: warning + + This function is not compatible with ``-DLAMMPS_BIGBIG``. + + Atom IDs must be defined and consecutive. + + The total number of atoms must not be more than 2147483647 (max 32-bit signed int). \endverbatim * @@ -2650,8 +2656,7 @@ This function is not compatible with ``-DLAMMPS_BIGBIG``. Allreduce to sum vector into data across all procs ------------------------------------------------------------------------- */ -void lammps_gather_atoms(void *handle, const char *name, int type, int count, - void *data) +void lammps_gather_atoms(void *handle, const char *name, int type, int count, void *data) { auto lmp = (LAMMPS *) handle; @@ -2671,8 +2676,7 @@ void lammps_gather_atoms(void *handle, const char *name, int type, int count, flag = 1; if (lmp->atom->natoms > MAXSMALLINT) flag = 1; if (flag) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"Library error in lammps_gather_atoms"); + lmp->error->all(FLERR,"lammps_gather_atoms(): Atom-IDs must exist and be consecutive"); return; } @@ -2680,8 +2684,7 @@ void lammps_gather_atoms(void *handle, const char *name, int type, int count, void *vptr = lmp->atom->extract(name); if (vptr == nullptr) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_atoms: unknown property name"); + lmp->error->all(FLERR, "lammps_gather_atoms(): unknown property {}", name); return; } @@ -2756,8 +2759,7 @@ void lammps_gather_atoms(void *handle, const char *name, int type, int count, MPI_Allreduce(copy,data,count*natoms,MPI_DOUBLE,MPI_SUM,lmp->world); lmp->memory->destroy(copy); } else { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_atoms: unsupported data type"); + lmp->error->all(FLERR,"lammps_gather_atoms(): unsupported data type"); return; } #endif @@ -2785,10 +2787,17 @@ groups total, but not in order by atom ID (e.g., if *name* is *x* and *count* is 3, then *data* might be something like x[10][0], x[10][1], x[10][2], x[2][0], x[2][1], x[2][2], x[4][0], :math:`\dots`); *data* must be pre-allocated by the caller to length (*count* :math:`\times` *natoms*), as -queried by :cpp:func:`lammps_get_natoms`, -:cpp:func:`lammps_extract_global`, or :cpp:func:`lammps_extract_setting`. +queried by :cpp:func:`lammps_get_natoms`, :cpp:func:`lammps_extract_global`, +or :cpp:func:`lammps_extract_setting`. -This function is not compatible with ``-DLAMMPS_BIGBIG``. +.. admonition:: Restrictions + :class: warning + + This function is not compatible with ``-DLAMMPS_BIGBIG``. + + Atom IDs must be defined. + + The total number of atoms must not be more than 2147483647 (max 32-bit signed int). \endverbatim * @@ -2828,8 +2837,7 @@ void lammps_gather_atoms_concat(void *handle, const char *name, int type, if (lmp->atom->tag_enable == 0) flag = 1; if (lmp->atom->natoms > MAXSMALLINT) flag = 1; if (flag) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"Library error in lammps_gather_atoms"); + lmp->error->all(FLERR,"lammps_gather_atoms_concat(): Atom-IDs must exist"); return; } @@ -2837,8 +2845,7 @@ void lammps_gather_atoms_concat(void *handle, const char *name, int type, void *vptr = lmp->atom->extract(name); if (vptr == nullptr) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_atoms: unknown property name"); + lmp->error->all(FLERR,"lammps_gather_atoms_concat(): unknown property {}", name); return; } @@ -2947,7 +2954,14 @@ x[100][2], x[57][0], x[57][1], x[57][2], x[210][0], :math:`\dots`); *data* must be pre-allocated by the caller to length (*count* :math:`\times` *ndata*). -This function is not compatible with ``-DLAMMPS_BIGBIG``. +.. admonition:: Restrictions + :class: warning + + This function is not compatible with ``-DLAMMPS_BIGBIG``. + + Atom IDs must be defined and an :doc:`atom map must be enabled ` + + The total number of atoms must not be more than 2147483647 (max 32-bit signed int). \endverbatim * @@ -2993,16 +3007,13 @@ void lammps_gather_atoms_subset(void *handle, const char *name, int type, if (lmp->atom->natoms > MAXSMALLINT) flag = 1; if (lmp->atom->map_style == Atom::MAP_NONE) flag = 1; if (flag) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"Library error in lammps_gather_atoms_subset: atoms must have mappable ids"); + lmp->error->all(FLERR,"lammps_gather_atoms_subset(): Atom-IDs must exist and be mapped"); return; } void *vptr = lmp->atom->extract(name); if (vptr == nullptr) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_atoms_subset: " - "unknown property name"); + lmp->error->all(FLERR,"lammps_gather_atoms_subset(): unknown property {}", name); return; } @@ -3110,7 +3121,15 @@ atom ID (e.g., if *name* is *x* and *count* = 3, then *data* = {x[0][0], x[0][1], x[0][2], x[1][0], x[1][1], x[1][2], x[2][0], :math:`\dots`}); *data* must be of length (*count* :math:`\times` *natoms*). -This function is not compatible with ``-DLAMMPS_BIGBIG``. +.. admonition:: Restrictions + :class: warning + + This function is not compatible with ``-DLAMMPS_BIGBIG``. + + Atom IDs must be defined, must be consecutive, and an + :doc:`atom map must be enabled ` + + The total number of atoms must not be more than 2147483647 (max 32-bit signed int). \endverbatim * @@ -3152,8 +3171,8 @@ void lammps_scatter_atoms(void *handle, const char *name, int type, int count, if (lmp->atom->natoms > MAXSMALLINT) flag = 1; if (lmp->atom->map_style == Atom::MAP_NONE) flag = 1; if (flag) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"Library error in lammps_scatter_atoms: ids must exist, be consecutive, and be mapped"); + lmp->error->all(FLERR,"lammps_scatter_atoms(): " + "Atom-IDs must exist, be consecutive, and be mapped"); return; } @@ -3161,9 +3180,7 @@ void lammps_scatter_atoms(void *handle, const char *name, int type, int count, void *vptr = lmp->atom->extract(name); if (vptr == nullptr) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR, - "lammps_scatter_atoms: unknown property name"); + lmp->error->all(FLERR, "lammps_scatter_atoms(): unknown property {}", name); return; } @@ -3244,7 +3261,14 @@ to be the array {x[1][0], x[1][1], x[1][2], x[100][0], x[100][1], x[100][2], x[57][0], x[57][1], x[57][2]}, then *count* = 3, *ndata* = 3, and *ids* would be {1, 100, 57}. -This function is not compatible with ``-DLAMMPS_BIGBIG``. +.. admonition:: Restrictions + :class: warning + + This function is not compatible with ``-DLAMMPS_BIGBIG``. + + Atom IDs must be defined and an :doc:`atom map must be enabled ` + + The total number of atoms must not be more than 2147483647 (max 32-bit signed int). \endverbatim * @@ -3301,16 +3325,13 @@ void lammps_scatter_atoms_subset(void *handle, const char *name, int type, if (lmp->atom->natoms > MAXSMALLINT) flag = 1; if (lmp->atom->map_style == Atom::MAP_NONE) flag = 1; if (flag) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"Library error in lammps_scatter_atoms_subset: atoms must have mapped ids"); + lmp->error->all(FLERR,"lammps_scatter_atoms_subset(): Atom-IDs must exist and be mapped"); return; } void *vptr = lmp->atom->extract(name); if (vptr == nullptr) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR, - "lammps_scatter_atoms_subset: unknown property name"); + lmp->error->all(FLERR, "lammps_scatter_atoms_subset(): unknown property {}", name); return; } @@ -3849,7 +3870,14 @@ The *data* array will be ordered in groups of *count* values, sorted by atom ID This function will return an error if fix or compute data are requested and the fix or compute ID given does not have per-atom data. -This function is not compatible with ``-DLAMMPS_BIGBIG``. +.. admonition:: Restrictions + :class: warning + + This function is not compatible with ``-DLAMMPS_BIGBIG``. + + Atom IDs must be defined and must be consecutive. + + The total number of atoms must not be more than 2147483647 (max 32-bit signed int). \endverbatim * @@ -3899,7 +3927,7 @@ void lammps_gather(void *handle, const char *name, int type, int count, void *da BEGIN_CAPTURE { #if defined(LAMMPS_BIGBIG) - lmp->error->all(FLERR,"Library function lammps_gather not compatible with -DLAMMPS_BIGBIG"); + lmp->error->all(FLERR, "Library function lammps_gather() is not compatible with -DLAMMPS_BIGBIG"); #else int i,j,offset,ltype; @@ -3910,8 +3938,7 @@ void lammps_gather(void *handle, const char *name, int type, int count, void *da flag = 1; if (lmp->atom->natoms > MAXSMALLINT) flag = 1; if (flag) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"Library error in lammps_gather"); + lmp->error->all(FLERR,"lammps_gather(): Atom-IDs must exist, and be consecutive"); return; } @@ -3921,28 +3948,25 @@ void lammps_gather(void *handle, const char *name, int type, int count, void *da // fix if (vptr==nullptr && utils::strmatch(name,"^f_")) { + const char *fixid = name+2; - auto fix = lmp->modify->get_fix_by_id(&name[2]); + auto fix = lmp->modify->get_fix_by_id(fixid); if (!fix) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather: unknown fix id"); + lmp->error->all(FLERR,"lammps_gather(): unknown fix id {}", fixid); return; } if (fix->peratom_flag == 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather: fix does not return peratom data"); + lmp->error->all(FLERR,"lammps_gather(): fix {} does not return peratom data", fixid); return; } if ((count > 1) && (fix->size_peratom_cols != count)) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather: count != values peratom for fix"); + lmp->error->all(FLERR,"lammps_gather: count != values peratom for fix {}", fixid); return; } if (lmp->update->ntimestep % fix->peratom_freq) { - if (lmp->comm->me == 0) - lmp->error->all(FLERR,"lammps_gather: fix not computed at compatible time"); + lmp->error->all(FLERR,"lammps_gather: fix {} not computed at compatible time", fixid); return; } @@ -3953,22 +3977,19 @@ void lammps_gather(void *handle, const char *name, int type, int count, void *da // compute if (vptr==nullptr && utils::strmatch(name,"^c_")) { - - auto compute = lmp->modify->get_compute_by_id(&name[2]); + const char *compid = name+2; + auto compute = lmp->modify->get_compute_by_id(compid); if (!compute) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather: unknown compute id"); + lmp->error->all(FLERR,"lammps_gather(): unknown compute id {}", compid); return; } if (compute->peratom_flag == 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather: compute does not return peratom data"); + lmp->error->all(FLERR,"lammps_gather(): compute {} does not return peratom data", compid); return; } if ((count > 1) && (compute->size_peratom_cols != count)) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather: count != values peratom for compute"); + lmp->error->all(FLERR,"lammps_gather(): count != values peratom for compute {}", compid); return; } @@ -3984,28 +4005,26 @@ void lammps_gather(void *handle, const char *name, int type, int count, void *da if ((vptr == nullptr) && utils::strmatch(name,"^[id]2?_")) { int idx,icol; - if (utils::strmatch(name,"^[id]_")) idx = lmp->atom->find_custom(&name[2],ltype,icol); - else idx = lmp->atom->find_custom(&name[3],ltype,icol); + const char *propid; + if (utils::strmatch(name,"^[id]_")) propid = name+2; + else propid = name+3; + idx = lmp->atom->find_custom(propid,ltype,icol); if (idx < 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather: unknown property/atom id"); + lmp->error->all(FLERR,"lammps_gather(): unknown property/atom id {}", propid); return; } if (ltype != type) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather: mismatch property/atom type"); + lmp->error->all(FLERR,"lammps_gather(): mismatch property/atom type for {}", propid); return; } if ((count == 1) && (icol != 0)) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather: mismatch property/atom count"); + lmp->error->all(FLERR,"lammps_gather(): mismatch property/atom count for {}", propid); return; } if ((count > 1) && (icol != count)) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather: mismatch property/atom count"); + lmp->error->all(FLERR,"lammps_gather(): mismatch property/atom count for {}", propid); return; } @@ -4021,8 +4040,7 @@ void lammps_gather(void *handle, const char *name, int type, int count, void *da // no match if (vptr == nullptr) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather: undefined property name"); + lmp->error->all(FLERR,"lammps_gather(): undefined property {}", name); return; } @@ -4122,7 +4140,14 @@ pre-allocated by the caller to length (*count* :math:`\times` *natoms*), as quer :cpp:func:`lammps_get_natoms`, :cpp:func:`lammps_extract_global`, or :cpp:func:`lammps_extract_setting`. -This function is not compatible with ``-DLAMMPS_BIGBIG``. +.. admonition:: Restrictions + :class: warning + + This function is not compatible with ``-DLAMMPS_BIGBIG``. + + Atom IDs must be defined. + + The total number of atoms must be less than 2147483647 (max 32-bit signed int). \endverbatim * @@ -4173,8 +4198,8 @@ void lammps_gather_concat(void *handle, const char *name, int type, int count, BEGIN_CAPTURE { #if defined(LAMMPS_BIGBIG) - lmp->error->all(FLERR,"Library function lammps_gather_concat" - " not compatible with -DLAMMPS_BIGBIG"); + lmp->error->all(FLERR,"Library function lammps_gather_concat()" + " is not compatible with -DLAMMPS_BIGBIG"); #else int i,offset,ltype; @@ -4184,8 +4209,7 @@ void lammps_gather_concat(void *handle, const char *name, int type, int count, if (lmp->atom->tag_enable == 0) flag = 1; if (lmp->atom->natoms > MAXSMALLINT) flag = 1; if (flag) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"Library error in lammps_gather_concat"); + lmp->error->all(FLERR,"lammps_gather_concat(): atom-IDs must exist"); return; } @@ -4195,27 +4219,24 @@ void lammps_gather_concat(void *handle, const char *name, int type, int count, // fix if (vptr==nullptr && utils::strmatch(name,"^f_")) { - - auto fix = lmp->modify->get_fix_by_id(&name[2]); + const char *fixid = name+2; + auto fix = lmp->modify->get_fix_by_id(fixid); if (!fix) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat: unknown fix id"); + lmp->error->all(FLERR,"lammps_gather_concat(): unknown fix id {}", fixid); return; } if (fix->peratom_flag == 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat: fix does not return peratom data"); + lmp->error->all(FLERR,"lammps_gather_concat(): fix {} does not return peratom data", fixid); return; } if ((count > 1) && (fix->size_peratom_cols != count)) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat: count != values peratom for fix"); + lmp->error->all(FLERR,"lammps_gather_concat(): count != values peratom for fix {}", fixid); return; } if (lmp->update->ntimestep % fix->peratom_freq) { - if (lmp->comm->me == 0) - lmp->error->all(FLERR,"lammps_gather_concat: fix not computed at compatible time"); + lmp->error->all(FLERR,"lammps_gather_concat(): fix {} not computed at compatible time", + fixid); return; } @@ -4227,21 +4248,21 @@ void lammps_gather_concat(void *handle, const char *name, int type, int count, if (vptr==nullptr && utils::strmatch(name,"^c_")) { - auto compute = lmp->modify->get_compute_by_id(&name[2]); + const char *compid = name + 2; + auto compute = lmp->modify->get_compute_by_id(compid); if (!compute) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat: unknown compute id"); + lmp->error->all(FLERR,"lammps_gather_concat(): unknown compute id {}", compid); return; } if (compute->peratom_flag == 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat: compute does not return peratom data"); + lmp->error->all(FLERR,"lammps_gather_concat(): compute {} does not return peratom data", + compid); return; } if ((count > 1) && (compute->size_peratom_cols != count)) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat: count != values peratom for compute"); + lmp->error->all(FLERR,"lammps_gather_concat(): count != values peratom for compute {}", + compid); return; } @@ -4257,28 +4278,26 @@ void lammps_gather_concat(void *handle, const char *name, int type, int count, if ((vptr==nullptr) && utils::strmatch(name,"^[id]2?_")) { int idx,icol; - if (utils::strmatch(name,"^[id]_")) idx = lmp->atom->find_custom(&name[2],ltype,icol); - else idx = lmp->atom->find_custom(&name[3],ltype,icol); + const char *propid; + if (utils::strmatch(name,"^[id]_")) propid = name + 2; + else propid = name + 3; + idx = lmp->atom->find_custom(propid,ltype,icol); if (idx < 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat: unknown property/atom id"); + lmp->error->all(FLERR,"lammps_gather_concat(): unknown property/atom id {}", propid); return; } if (ltype != type) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat: mismatch property/atom type"); + lmp->error->all(FLERR,"lammps_gather_concat(): mismatch property/atom {} type", propid); return; } if ((count == 1) && (icol != 0)) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat: mismatch property/atom count"); + lmp->error->all(FLERR,"lammps_gather_concat(): mismatch property/atom {} count", propid); return; } if ((count > 1) && (icol != count)) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat: mismatch property/atom count"); + lmp->error->all(FLERR,"lammps_gather_concat(): mismatch property/atom {} count", propid); return; } @@ -4294,8 +4313,7 @@ void lammps_gather_concat(void *handle, const char *name, int type, int count, // no match if (vptr == nullptr) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_concat: undefined property name"); + lmp->error->all(FLERR,"lammps_gather_concat(): undefined property {}", name); return; } @@ -4405,7 +4423,14 @@ look like {x[100][0], x[100][1], x[100][2], x[57][0], x[57][1], x[57][2], x[210] :math:`\dots`}); *ids* must be provided by the user with length *ndata*, and *data* must be pre-allocated by the caller to length (*count*\ :math:`{}\times{}`\ *ndata*). -This function is not compatible with ``-DLAMMPS_BIGBIG``. +.. admonition:: Restrictions + :class: warning + + This function is not compatible with ``-DLAMMPS_BIGBIG``. + + Atom IDs must be defined and an :doc:`atom map must be enabled ` + + The total number of atoms must not be more than 2147483647 (max 32-bit signed int). \endverbatim * @@ -4471,8 +4496,7 @@ void lammps_gather_subset(void *handle, const char *name, int type, int count, if (lmp->atom->natoms > MAXSMALLINT) flag = 1; if (lmp->atom->map_style == Atom::MAP_NONE) flag = 1; if (flag) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"Library error in lammps_gather_subset"); + lmp->error->all (FLERR,"lammps_gather_subset(): atom IDs must be enabled and mapped"); return; } @@ -4481,26 +4505,24 @@ void lammps_gather_subset(void *handle, const char *name, int type, int count, // fix if (vptr==nullptr && utils::strmatch(name,"^f_")) { + const char *fixid = name + 2; - auto fix = lmp->modify->get_fix_by_id(&name[2]); + auto fix = lmp->modify->get_fix_by_id(fixid); if (!fix) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_subset: unknown fix id"); + lmp->error->all(FLERR,"lammps_gather_subset(): unknown fix id {}", fixid); return; } if (fix->peratom_flag == 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_subset: fix does not return peratom data"); + lmp->error->all(FLERR,"lammps_gather_subset(): fix {} does not return peratom data", fixid); return; } if ((count > 1) && (fix->size_peratom_cols != count)) { - lmp->error->warning(FLERR,"lammps_gather_subset: count != values peratom for fix"); + lmp->error->all(FLERR,"lammps_gather_subset(): count != values peratom for fix {}", fixid); return; } if (lmp->update->ntimestep % fix->peratom_freq) { - if (lmp->comm->me == 0) - lmp->error->all(FLERR,"lammps_gather_subset: fix not computed at compatible time"); + lmp->error->all(FLERR,"lammps_gather_subset(): fix {} not computed at compatible time", fixid); return; } @@ -4511,22 +4533,21 @@ void lammps_gather_subset(void *handle, const char *name, int type, int count, // compute if (vptr==nullptr && utils::strmatch(name,"^c_")) { - - auto compute = lmp->modify->get_compute_by_id(&name[2]); + const char *compid = name + 2; + auto compute = lmp->modify->get_compute_by_id(compid); if (!compute) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_subset: unknown compute id"); + lmp->error->all(FLERR,"lammps_gather_subset(): unknown compute id {}", compid); return; } if (compute->peratom_flag == 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_subset: compute does not return peratom data"); + lmp->error->all(FLERR,"lammps_gather_subset(): compute {} does not return peratom data", + compid); return; } if ((count > 1) && (compute->size_peratom_cols != count)) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_subset: count != values peratom for compute"); + lmp->error->all(FLERR,"lammps_gather_subset(): count != values peratom for compute {}", + compid); return; } @@ -4542,28 +4563,26 @@ void lammps_gather_subset(void *handle, const char *name, int type, int count, if ((vptr == nullptr) && utils::strmatch(name,"^[id]2?_")) { int idx,icol; - if (utils::strmatch(name,"^[id]_")) idx = lmp->atom->find_custom(&name[2],ltype,icol); - else idx = lmp->atom->find_custom(&name[3],ltype,icol); + const char *propid; + if (utils::strmatch(name,"^[id]_")) propid = name + 2; + else propid = name + 3; + idx = lmp->atom->find_custom(propid,ltype,icol); if (idx < 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_subset: unknown property/atom id"); + lmp->error->all(FLERR,"lammps_gather_subset(): unknown property/atom id {}", propid); return; } if (ltype != type) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_subset: mismatch property/atom type"); + lmp->error->all(FLERR,"lammps_gather_subset(): mismatch property/atom {} type", propid); return; } if (count == 1 && icol != 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_subset: mismatch property/atom count"); + lmp->error->all(FLERR,"lammps_gather_subset(): mismatch property/atom {} count", propid); return; } if (count > 1 && icol != count) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_subset: mismatch property/atom count"); + lmp->error->all(FLERR,"lammps_gather_subset(): mismatch property/atom {} count", propid); return; } @@ -4579,8 +4598,7 @@ void lammps_gather_subset(void *handle, const char *name, int type, int count, // no match if (vptr == nullptr) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather_subset: undefined property name"); + lmp->error->all(FLERR,"lammps_gather_subset(): undefined property {}", name); return; } @@ -4688,7 +4706,15 @@ The *data* array needs to be ordered in groups of *count* values, sorted by atom *name* is *x* and *count* = 3, then *data* = {x[0][0], x[0][1], x[0][2], x[1][0], x[1][1], x[1][2], x[2][0], :math:`\dots`}); *data* must be of length (*count* :math:`\times` *natoms*). -This function is not compatible with ``-DLAMMPS_BIGBIG``. +.. admonition:: Restrictions + :class: warning + + This function is not compatible with ``-DLAMMPS_BIGBIG``. + + Atom IDs must be defined, must be consecutive, and an + :doc:`atom map must be enabled ` + + The total number of atoms must not be more than 2147483647 (max 32-bit signed int). \endverbatim * @@ -4751,8 +4777,7 @@ void lammps_scatter(void *handle, const char *name, int type, int count, if (lmp->atom->natoms > MAXSMALLINT) flag = 1; if (lmp->atom->map_style == Atom::MAP_NONE) flag = 1; if (flag) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"Library error in lammps_scatter"); + lmp->error->all(FLERR,"lammps_scatter(): atom IDs must be defined, consecutive, and mapped"); return; } @@ -4762,22 +4787,19 @@ void lammps_scatter(void *handle, const char *name, int type, int count, // fix if (vptr==nullptr && utils::strmatch(name,"^f_")) { - - auto fix = lmp->modify->get_fix_by_id(&name[2]); + const char *fixid = name + 2; + auto fix = lmp->modify->get_fix_by_id(fixid); if (!fix) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter: unknown fix id"); + lmp->error->all(FLERR,"lammps_scatter(): unknown fix id {}", fixid); return; } if (fix->peratom_flag == 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter: fix does not return peratom data"); + lmp->error->all(FLERR,"lammps_scatter(): fix {} does not return peratom data", fixid); return; } if ((count > 1) && (fix->size_peratom_cols != count)) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter: count != values peratom for fix"); + lmp->error->all(FLERR,"lammps_scatter(): count != values peratom for fix {}", fixid); return; } @@ -4788,22 +4810,19 @@ void lammps_scatter(void *handle, const char *name, int type, int count, // compute if (vptr==nullptr && utils::strmatch(name,"^c_")) { - - auto compute = lmp->modify->get_compute_by_id(&name[2]); + const char *compid = name + 2; + auto compute = lmp->modify->get_compute_by_id(compid); if (!compute) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter: unknown compute id"); + lmp->error->all(FLERR,"lammps_scatter(): unknown compute id {}",compid); return; } if (compute->peratom_flag == 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter: compute does not return peratom data"); + lmp->error->all(FLERR,"lammps_scatter(): compute {} does not return peratom data", compid); return; } if ((count > 1) && (compute->size_peratom_cols != count)) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter: count != values peratom for compute"); + lmp->error->all(FLERR,"lammps_scatter(): count != values peratom for compute {}", compid); return; } @@ -4819,28 +4838,26 @@ void lammps_scatter(void *handle, const char *name, int type, int count, if ((vptr == nullptr) && utils::strmatch(name,"^[id]2?_")) { int idx,icol; - if (utils::strmatch(name,"^[id]_")) idx = lmp->atom->find_custom(&name[2],ltype,icol); - else idx = lmp->atom->find_custom(&name[3],ltype,icol); + const char *propid; + if (utils::strmatch(name,"^[id]_")) propid = name + 2; + else propid = name + 3; + idx = lmp->atom->find_custom(propid,ltype,icol); if (idx < 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter: unknown property/atom id"); + lmp->error->all(FLERR,"lammps_scatter(): unknown property/atom id {}", propid); return; } if (ltype != type) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter: mismatch property/atom type"); + lmp->error->all(FLERR,"lammps_scatter(): mismatch property/atom {} type", propid); return; } if (count == 1 && icol != 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter: mismatch property/atom count"); + lmp->error->all(FLERR,"lammps_scatter(): mismatch property/atom {} count", propid); return; } if (count > 1 && icol != count) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter: mismatch property/atom count"); + lmp->error->all(FLERR,"lammps_scatter(): mismatch property/atom {} count", propid); return; } @@ -4856,8 +4873,7 @@ void lammps_scatter(void *handle, const char *name, int type, int count, // no match if (vptr == nullptr) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter: unknown property name"); + lmp->error->all(FLERR,"lammps_scatter(): unknown property {}", name); return; } @@ -4938,7 +4954,14 @@ to be the array {x[1][0], x[1][1], x[1][2], x[100][0], x[100][1], x[100][2], x[57][0], x[57][1], x[57][2]}, then *count* = 3, *ndata* = 3, and *ids* would be {1, 100, 57}. -This function is not compatible with ``-DLAMMPS_BIGBIG``. +.. admonition:: Restrictions + :class: warning + + This function is not compatible with ``-DLAMMPS_BIGBIG``. + + Atom IDs must be defined and an :doc:`atom map must be enabled ` + + The total number of atoms must not be more than 2147483647 (max 32-bit signed int). \endverbatim * @@ -4979,8 +5002,8 @@ This function is not compatible with ``-DLAMMPS_BIGBIG``. loop over Ndata, if I own atom ID, set its values from data ------------------------------------------------------------------------- */ -void lammps_scatter_subset(void *handle, const char *name,int type, int count, - int ndata, int *ids, void *data) +void lammps_scatter_subset(void *handle, const char *name,int type, int count, int ndata, + int *ids, void *data) { auto lmp = (LAMMPS *) handle; @@ -5001,8 +5024,7 @@ void lammps_scatter_subset(void *handle, const char *name,int type, int count, if (lmp->atom->natoms > MAXSMALLINT) flag = 1; if (lmp->atom->map_style == Atom::MAP_NONE) flag = 1; if (flag) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"Library error in lammps_scatter_atoms_subset"); + lmp->error->all(FLERR,"lammps_scatter_subset(): atom-IDs must be defined and mapped"); return; } @@ -5011,22 +5033,19 @@ void lammps_scatter_subset(void *handle, const char *name,int type, int count, // fix if (vptr==nullptr && utils::strmatch(name,"^f_")) { - - auto fix = lmp->modify->get_fix_by_id(&name[2]); + const char *fixid = name + 2; + auto fix = lmp->modify->get_fix_by_id(fixid); if (!fix) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter_subset: unknown fix id"); + lmp->error->all(FLERR,"lammps_scatter_subset(): unknown fix id {}", fixid); return; } if (fix->peratom_flag == 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter_subset: fix does not return peratom data"); + lmp->error->all(FLERR,"lammps_scatter_subset(): fix {} does not return peratom data", fixid); return; } if ((count > 1) && (fix->size_peratom_cols != count)) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter_subset: count != values peratom for fix"); + lmp->error->all(FLERR,"lammps_scatter_subset(): count != values peratom for fix {}", fixid); return; } @@ -5037,22 +5056,21 @@ void lammps_scatter_subset(void *handle, const char *name,int type, int count, // compute if (vptr==nullptr && utils::strmatch(name,"^c_")) { - - auto compute = lmp->modify->get_compute_by_id(&name[2]); + const char *compid = name + 2; + auto compute = lmp->modify->get_compute_by_id(compid); if (!compute) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter_subset: unknown compute id"); + lmp->error->all(FLERR,"lammps_scatter_subset(): unknown compute id {}", compid); return; } if (compute->peratom_flag == 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter_subset: compute does not return peratom data"); + lmp->error->all(FLERR,"lammps_scatter_subset(): compute {} does not return peratom data", + compid); return; } if ((count > 1) && (compute->size_peratom_cols != count)) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter_subset: count != values peratom for compute"); + lmp->error->all(FLERR,"lammps_scatter_subset(): count != values peratom for compute {}", + compid); return; } @@ -5068,28 +5086,26 @@ void lammps_scatter_subset(void *handle, const char *name,int type, int count, if ((vptr == nullptr) && utils::strmatch(name,"^[id]2?_")) { int idx,icol; - if (utils::strmatch(name,"^[id]_")) idx = lmp->atom->find_custom(&name[2],ltype,icol); - else idx = lmp->atom->find_custom(&name[3],ltype,icol); + const char *propid; + if (utils::strmatch(name,"^[id]_")) propid = name + 2; + else propid = name + 3; + idx = lmp->atom->find_custom(propid,ltype,icol); if (idx < 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter_subset: unknown property/atom id"); + lmp->error->all(FLERR,"lammps_scatter_subset(): unknown property/atom id {}", propid); return; } if (ltype != type) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter_subset: mismatch property/atom type"); + lmp->error->all(FLERR,"lammps_scatter_subset(): mismatch property/atom {} type", propid); return; } if (count == 1 && icol != 0) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather: mismatch property/atom count"); + lmp->error->all(FLERR,"lammps_scatter_subset(): mismatch property/atom {} count", propid); return; } if (count > 1 && icol != count) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_gather: mismatch property/atom count"); + lmp->error->all(FLERR,"lammps_scatter_subset(): mismatch property/atom {} count", propid); return; } @@ -5105,9 +5121,7 @@ void lammps_scatter_subset(void *handle, const char *name,int type, int count, // no match if (vptr == nullptr) { - if (lmp->comm->me == 0) - lmp->error->warning(FLERR,"lammps_scatter_atoms_subset: " - "unknown property name"); + lmp->error->all(FLERR,"lammps_scatter_subset(): unknown property {}", name); return; } @@ -5246,7 +5260,7 @@ int lammps_create_atoms(void *handle, int n, const tagint *id, const int *type, // error if box does not exist or tags not defined int flag = 0; - std::string msg("Failure in lammps_create_atoms: "); + std::string msg("Failure in lammps_create_atoms(): "); if (lmp->domain->box_exist == 0) { flag = 1; msg += "trying to create atoms before before simulation box is defined"; @@ -5257,7 +5271,7 @@ int lammps_create_atoms(void *handle, int n, const tagint *id, const int *type, } if (flag) { - if (lmp->comm->me == 0) lmp->error->warning(FLERR,msg); + lmp->error->all(FLERR, msg); return -1; } From 7f68620fa97342434b1a801e6d4b5856742318d8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 12 Apr 2024 23:46:35 -0400 Subject: [PATCH 455/559] add example with more compact initialization for scatter --- doc/src/Python_scatter.rst | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/doc/src/Python_scatter.rst b/doc/src/Python_scatter.rst index 002a36cc98..e4444fabe7 100644 --- a/doc/src/Python_scatter.rst +++ b/doc/src/Python_scatter.rst @@ -54,8 +54,21 @@ like this: x[3] = x coord of atom with ID 2 ... x[n3-1] = z coord of atom with ID natoms - lmp.scatter_atoms("x",1,3,x) + lmp.scatter_atoms("x", 1, 3, x) + +The coordinates can also be provided as arguments to the initializer of x: + +.. code-block:: python + + from ctypes import c_double + natoms = 2 + n3 = 3*natoms + # init in constructor + x = (n3*c_double)(0.0, 0.0, 0.0, 1.0, 1.0, 1.0) + lmp.scatter_atoms("x", 1, 3, x) + # or using a list + coords = [1.0, 2.0, 3.0, -3.0, -2.0, -1.0] + x = (c_double*len(coords))(*coords) Alternatively, you can just change values in the vector returned by the gather methods, since they are also ctypes vectors. - From 95779b3504a8a07dc9b3cdbf7ae6a40cbb1416b8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 13 Apr 2024 02:39:54 -0400 Subject: [PATCH 456/559] add versionadded tags --- doc/src/angle_cosine_squared_restricted.rst | 2 ++ doc/src/dihedral_cosine_squared_restricted.rst | 2 ++ 2 files changed, 4 insertions(+) diff --git a/doc/src/angle_cosine_squared_restricted.rst b/doc/src/angle_cosine_squared_restricted.rst index 5417a3b050..c80a9142ff 100644 --- a/doc/src/angle_cosine_squared_restricted.rst +++ b/doc/src/angle_cosine_squared_restricted.rst @@ -24,6 +24,8 @@ Examples Description """"""""""" +.. versionadded:: TBD + The *cosine/squared/restricted* angle style uses the potential .. math:: diff --git a/doc/src/dihedral_cosine_squared_restricted.rst b/doc/src/dihedral_cosine_squared_restricted.rst index 593ef44fc9..cba846b965 100644 --- a/doc/src/dihedral_cosine_squared_restricted.rst +++ b/doc/src/dihedral_cosine_squared_restricted.rst @@ -22,6 +22,8 @@ Examples Description """"""""""" +.. versionadded:: TBD + The *cosine/squared/restricted* dihedral style uses the potential .. math:: From 23ce978702705a8c853523d282bcd5e9059dc14e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 13 Apr 2024 11:07:46 -0400 Subject: [PATCH 457/559] cosmetic --- .../dihedral_cosine_squared_restricted.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/EXTRA-MOLECULE/dihedral_cosine_squared_restricted.cpp b/src/EXTRA-MOLECULE/dihedral_cosine_squared_restricted.cpp index 45192cf730..c5e1c36233 100644 --- a/src/EXTRA-MOLECULE/dihedral_cosine_squared_restricted.cpp +++ b/src/EXTRA-MOLECULE/dihedral_cosine_squared_restricted.cpp @@ -32,10 +32,9 @@ static constexpr double SMALL = 0.001; /* ---------------------------------------------------------------------- */ -DihedralCosineSquaredRestricted::DihedralCosineSquaredRestricted(LAMMPS *_lmp) : Dihedral(_lmp) +DihedralCosineSquaredRestricted::DihedralCosineSquaredRestricted(LAMMPS *_lmp) : + Dihedral(_lmp), k(nullptr), phi0(nullptr) { - k = nullptr; - phi0 = nullptr; writedata = 1; born_matrix_enable = 1; } @@ -309,7 +308,7 @@ void DihedralCosineSquaredRestricted::write_data(FILE *fp) /* ---------------------------------------------------------------------- */ void DihedralCosineSquaredRestricted::born_matrix(int nd, int i1, int i2, int i3, int i4, - double &du, double &du2) + double &du, double &du2) { double vb1x, vb1y, vb1z, vb2x, vb2y, vb2z, vb3x, vb3y, vb3z, vb2xm, vb2ym, vb2zm; double sb1, sb3, rb1, rb3, c0, b1mag2, b1mag, b2mag2; @@ -391,7 +390,7 @@ void DihedralCosineSquaredRestricted::born_matrix(int nd, int i1, int i2, int i3 du = 2 * k[type] * (c - p0) * (1.0 - c * p0) / (sq_sin * sq_sin); - double numerator = 2.0 * p0 * c * c * c - 3.0 * (p0 * p0 + 1) * c * c + 6 * p0 * c - p0 * p0 - 1 ; + double numerator = 2.0 * p0 * c * c * c - 3.0 * (p0 * p0 + 1) * c * c + 6 * p0 * c - p0 * p0 - 1; double denominator = sq_sin * sq_sin * sq_sin; du2 = 2 * k[type] * numerator / denominator; From b5c5b8ea8d3c843cb89bbe7a6eacaf5d25568a74 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 13 Apr 2024 11:43:00 -0400 Subject: [PATCH 458/559] remove dead code and related comment --- src/EXTRA-MOLECULE/dihedral_cosine_squared_restricted.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/EXTRA-MOLECULE/dihedral_cosine_squared_restricted.cpp b/src/EXTRA-MOLECULE/dihedral_cosine_squared_restricted.cpp index c5e1c36233..5b2feb6897 100644 --- a/src/EXTRA-MOLECULE/dihedral_cosine_squared_restricted.cpp +++ b/src/EXTRA-MOLECULE/dihedral_cosine_squared_restricted.cpp @@ -59,7 +59,7 @@ void DihedralCosineSquaredRestricted::compute(int eflag, int vflag) double edihedral, f1[3], f2[3], f3[3], f4[3]; double sb1, sb2, sb3, rb1, rb3, c0, b1mag2, b1mag, b2mag2; double b2mag, b3mag2, b3mag, ctmp, r12c1, c1mag, r12c2; - double c2mag, sc1, sc2, s1, s12, c, p, pd, a, a11, a22; + double c2mag, sc1, sc2, s1, s12, c, pd, a, a11, a22; double a33, a12, a13, a23, sx2, sy2, sz2; double s2, sin2; @@ -155,8 +155,6 @@ void DihedralCosineSquaredRestricted::compute(int eflag, int vflag) if (c < -1.0) c = -1.0; // force & energy - // p = sum (i=1,5) a_i * c**(i-1) - // pd = dp/dc double p0 = cos(phi0[type]); double sq_sin = 1.0 - c * c; From 5af3626cf71f3c1203738d8d2bdb787df551b4d4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sat, 13 Apr 2024 11:43:30 -0400 Subject: [PATCH 459/559] adjust test coeffs to be numerically stable --- .../dihedral-cosine_squared_restricted.yaml | 92 +++++++++---------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/unittest/force-styles/tests/dihedral-cosine_squared_restricted.yaml b/unittest/force-styles/tests/dihedral-cosine_squared_restricted.yaml index 4450b91a7f..f67a093017 100644 --- a/unittest/force-styles/tests/dihedral-cosine_squared_restricted.yaml +++ b/unittest/force-styles/tests/dihedral-cosine_squared_restricted.yaml @@ -1,7 +1,7 @@ --- lammps_version: 7 Feb 2024 -tags: -date_generated: Fri Mar 29 21:14:05 2024 +tags: +date_generated: Sat Apr 13 11:41:16 2024 epsilon: 2.5e-13 skip_tests: prerequisites: ! | @@ -12,34 +12,34 @@ post_commands: ! "" input_file: in.fourmol dihedral_style: cosine/squared/restricted dihedral_coeff: ! | - 1 75.0 10.0 - 2 45.0 20.0 - 3 56.0 -10.0 - 4 23.0 0.0 - 5 19.0 45.0 + 1 17.0 10.0 + 2 14.0 20.0 + 3 15.0 -10.0 + 4 12.0 0.0 + 5 11.0 45.0 extract: ! "" natoms: 29 -init_energy: 36908.1610048714 +init_energy: 10643.96352037142 init_stress: ! |2- - 3.0101299222939801e+04 2.1677721070458752e+04 -5.1779020293403941e+04 3.8640823999452041e+04 6.0769473276751414e+03 -3.0541276950765048e+04 + 8.2655807554971598e+03 6.2324906154519340e+03 -1.4498071370948830e+04 1.0953420376656040e+04 1.1057094124317168e+03 -8.3313158421382595e+03 init_forces: ! |2 - 1 -1.1212609332116830e+04 5.8417219112185267e+03 -5.6192452564667483e+03 - 2 8.7664785439715488e+03 -4.5269136249203239e+03 4.2831776676246027e+03 - 3 -3.1676761123164871e+05 -3.3324763139557187e+05 5.1966933831591945e+04 - 4 -1.3258131777796493e+03 -2.0415412803073025e+03 1.0619604263923513e+03 - 5 8.0416561194770056e+03 -3.7466790106956332e+03 4.4731034711226590e+02 - 6 1.6253834743179622e+05 2.0639850448880228e+05 8.9008421987725196e+03 - 7 2.1705408957524793e+04 2.3288690259695482e+04 -3.8198165733818960e+03 - 8 5.6962075388172222e+05 5.4884478640765324e+05 -1.7410488593890279e+05 - 9 2.5533848878564138e+04 2.0797945295347614e+04 -1.0831809793796205e+04 - 10 -4.5643208925098256e+05 -4.5220600890026835e+05 1.2461759811417361e+05 - 11 -5.2901972083976025e+03 -4.8878948635053903e+03 4.2805657718054845e+03 - 12 -2.5646356571523995e+02 -7.1440402004811165e+02 -1.4173235490202960e+03 - 13 3.1148719518915806e+02 7.1600086633644457e+02 1.5027689115194278e+03 - 14 1.4809443789874109e+02 -2.0607703730200043e+02 -7.3276042950575359e+01 - 15 -2.1827758512032665e+02 7.3897975275623097e+01 -2.2330682264235097e+02 - 16 -4.5254804800865022e+03 -3.8608646599494418e+03 -8.6880143170330052e+02 - 17 -6.3753361429633537e+02 -5.2353241176074425e+02 -1.0269186012798902e+02 + 1 -2.9998360221989606e+03 1.5614240759467791e+03 -1.4993484270227148e+03 + 2 2.3464901141409141e+03 -1.2117018270409203e+03 1.1464619463537790e+03 + 3 -8.4367569419635300e+04 -8.8610214478341717e+04 1.3641091254798606e+04 + 4 -7.7728947837396186e+02 -1.1834661410404278e+03 6.2790819006201627e+02 + 5 1.9271341641256136e+03 -1.1638057759737167e+03 2.7159431719235641e+01 + 6 4.4134274351326589e+04 5.5926488430371595e+04 2.3644507487725932e+03 + 7 5.6253242167919998e+03 6.0326849037643433e+03 -9.8937413117578353e+02 + 8 1.5398571438042008e+05 1.4826543321068442e+05 -4.6786535127649200e+04 + 9 5.2872438366384667e+03 3.9367087924112984e+03 -2.1528982310842534e+03 + 10 -1.2076914217812811e+05 -1.1928499037053883e+05 3.1759537647021025e+04 + 11 -2.7869283077129630e+03 -2.7624462832092408e+03 2.3692905638286411e+03 + 12 -1.7137278451679694e+02 -4.0643861446907772e+02 -8.4482327773661689e+02 + 13 1.8033469195161777e+02 4.1452681735267817e+02 8.7002410666914204e+02 + 14 1.0785063285146067e+02 -1.5007679697175007e+02 -5.3363703034369962e+01 + 15 -1.2637123349071543e+02 4.2783038317466065e+01 -1.2928289731925594e+02 + 16 -1.3974766748247812e+03 -1.2440022591573602e+03 -3.1834363647575998e+02 + 17 -1.9838028936516241e+02 -1.6290672210557804e+02 -3.1954457727099452e+01 18 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 19 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 @@ -52,27 +52,27 @@ init_forces: ! |2 27 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 28 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 29 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 -run_energy: 4327.91957872511 -run_stress: ! |- - -5.3070892468897193e+02 -3.2990024770566679e+03 3.8297114017456433e+03 5.6409783421502584e+02 2.2818743476836330e+03 -1.0940810091156741e+03 +run_energy: 4829.55350497352 +run_stress: ! |2- + 3.3195623927709175e+03 3.0229558326855845e+03 -6.3425182254565516e+03 4.3274493033758445e+03 3.3064220676415192e+02 -1.1283617668722684e+03 run_forces: ! |2 - 1 9.1894345132691114e+02 -5.8573176040200462e+02 2.4547749834010583e+03 - 2 1.0181826146463668e+03 -4.4295285156870364e+02 8.6156680112553761e+02 - 3 -6.0812395844290577e+03 -9.1671507580715263e+02 -6.0174500247421875e+03 - 4 -3.6418329789903126e+01 -1.9362412741445829e+02 -7.9934231729582947e+01 - 5 1.9051807035665288e+03 1.0891079663826604e+03 1.7905928860020566e+01 - 6 7.9170894129839517e+00 -6.1816892217216935e+02 1.7583307674944345e+02 - 7 8.2602147982255497e+02 1.2880291235001744e+03 7.2096838226042007e+02 - 8 1.4831568342537450e+03 4.0004165399809216e+02 2.2150881389226515e+03 - 9 3.7235052356592647e+01 3.1705993574779953e+01 -1.1046703673189224e+02 - 10 3.2047769341358514e+02 -1.9042327559422961e+03 3.8393166201836812e+03 - 11 -3.0429869852577349e+02 2.0359489212056499e+01 4.7590301671199785e+02 - 12 6.1606659483937460e+02 -7.4272077248650530e+03 1.7480991816747170e+04 - 13 7.8491729932141965e+00 2.5682494680276477e+01 -8.8701786408774041e+01 - 14 1.4235273131080635e+02 -1.5818901144321154e+02 1.5958096579399026e+01 - 15 -3.2385071321515306e+02 7.7005431686947522e+03 -1.9149569143849869e+04 - 16 -5.4231654863974131e+02 1.6951379558799342e+03 -2.8187238769902415e+03 - 17 4.7404566569654607e+00 -3.7856163076774791e+00 6.5392389111684714e+00 + 1 -1.6686851537334303e+03 9.1157319328820222e+02 -8.8504748962571853e+02 + 2 1.2605943337473971e+03 -6.8570419879992460e+02 6.5988055106439663e+02 + 3 -2.4907715351961961e+03 1.5938154791899667e+03 -4.0018442338176410e+03 + 4 -3.9608971224931270e+03 -6.6732751207320443e+03 2.0299175931026020e+03 + 5 6.9745717717678440e+02 -1.1129862611363344e+03 -1.9316966111163129e+02 + 6 -9.8181046153612078e+03 -1.0177815528067989e+04 6.1127410299948697e+03 + 7 5.2268917470447668e+03 6.8715264070828716e+03 -1.6421183728373735e+03 + 8 2.4089311767862888e+04 2.3281334463282841e+04 -2.9014860835053078e+03 + 9 1.8251257887454533e+03 5.6771778492275894e+02 -8.4486828193101837e+02 + 10 -8.7189544342799436e+03 -8.9637840944091586e+03 2.1674670163757610e+03 + 11 -6.1742160434459652e+02 -5.4300765195316922e+02 8.4050088549381860e+02 + 12 -1.6333025955329197e+02 -2.0286364513967663e+02 -5.7218852607845849e+02 + 13 1.1676829617621111e+02 2.8391630256639763e+02 6.2310026378133114e+02 + 14 1.2782423911823358e+02 -1.7234482742516084e+02 -6.2457926948088009e+01 + 15 -1.0593900405480906e+02 3.6959553351961858e+01 -1.1139986642128649e+02 + 16 -5.7436221922065306e+03 -4.9695083643645858e+03 -1.2100596896535424e+03 + 17 -5.6247428648599033e+01 -4.5553491656954620e+01 -8.9672078827135397e+00 18 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 19 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 20 0.0000000000000000e+00 0.0000000000000000e+00 0.0000000000000000e+00 From db1598fb084890876cd6d6ba10b9dc9deb260465 Mon Sep 17 00:00:00 2001 From: yuhldr Date: Sun, 14 Apr 2024 17:02:23 +0800 Subject: [PATCH 460/559] pylammps: fix get atom.mass by atom.type --- python/lammps/pylammps.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/lammps/pylammps.py b/python/lammps/pylammps.py index c693b7d565..05d6d577b9 100644 --- a/python/lammps/pylammps.py +++ b/python/lammps/pylammps.py @@ -196,7 +196,7 @@ class Atom(object): :type: float """ - return self.get("mass", self.index) + return self.get("mass", self.type) @property def radius(self): From cc721816df987da04f4f5c3e0522362094e5433d Mon Sep 17 00:00:00 2001 From: yuhldr Date: Sun, 14 Apr 2024 17:17:36 +0800 Subject: [PATCH 461/559] pylammps: append_cmd_history --- python/lammps/pylammps.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/python/lammps/pylammps.py b/python/lammps/pylammps.py index 05d6d577b9..b691129e72 100644 --- a/python/lammps/pylammps.py +++ b/python/lammps/pylammps.py @@ -532,6 +532,18 @@ class PyLammps(object): """ self._cmd_history = [] + + def append_cmd_history(self, cmd): + """ + Commands will be recorded but not execute + + Add `run steps` only to the command history, but do not execute the run command. + Convenient batch create Lammps script files, use + :py:meth:`PyLammps.write_script()`. + """ + self._cmd_history.append(cmd) + + def command(self, cmd): """ Execute LAMMPS command From 18d45d1ff0bbf5491d62db627cca0c549837227c Mon Sep 17 00:00:00 2001 From: yuhldr Date: Sun, 14 Apr 2024 17:02:23 +0800 Subject: [PATCH 462/559] pylammps: fix get atom.mass by atom.type --- python/lammps/pylammps.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/lammps/pylammps.py b/python/lammps/pylammps.py index c693b7d565..05d6d577b9 100644 --- a/python/lammps/pylammps.py +++ b/python/lammps/pylammps.py @@ -196,7 +196,7 @@ class Atom(object): :type: float """ - return self.get("mass", self.index) + return self.get("mass", self.type) @property def radius(self): From 962219a446b3e78c636a694f40f2938bbdf076ff Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 14 Apr 2024 18:20:19 -0400 Subject: [PATCH 463/559] make PyLammps mass property compatible with per-atom masses. --- python/lammps/pylammps.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/python/lammps/pylammps.py b/python/lammps/pylammps.py index 05d6d577b9..b959cf7d65 100644 --- a/python/lammps/pylammps.py +++ b/python/lammps/pylammps.py @@ -192,11 +192,23 @@ class Atom(object): @property def mass(self): """ - Return the atom mass + Return the atom mass as a per-atom property. + This returns either the per-type mass or the per-atom + mass (AKA 'rmass') depending on what is available with + preference for the per-atom mass. + + .. versionchanged:: TBD + + Support both per-type and per-atom masses. With + per-type return "mass[type[i]]" else return "rmass[i]". + Per-atom mass is preferred if available. :type: float """ - return self.get("mass", self.type) + if self._pylmp.lmp.extract_setting('rmass_flag'): + return self.get("rmass", self.index) + else: + return self.get("mass", self.type) @property def radius(self): From 90c8c3c551733f3328f6065a7f0752965c7a3bda Mon Sep 17 00:00:00 2001 From: yuh Date: Mon, 15 Apr 2024 08:59:02 +0800 Subject: [PATCH 464/559] doc: py:meth:PyLammps.append_cmd_history() Co-authored-by: Axel Kohlmeyer --- python/lammps/pylammps.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/lammps/pylammps.py b/python/lammps/pylammps.py index b691129e72..a4f2324241 100644 --- a/python/lammps/pylammps.py +++ b/python/lammps/pylammps.py @@ -535,7 +535,7 @@ class PyLammps(object): def append_cmd_history(self, cmd): """ - Commands will be recorded but not execute + Commands will be added to the command history but not executed. Add `run steps` only to the command history, but do not execute the run command. Convenient batch create Lammps script files, use From bad5fcc9c4791b3dcfcb19f044cbb9106ba0d1af Mon Sep 17 00:00:00 2001 From: yuh Date: Mon, 15 Apr 2024 09:00:05 +0800 Subject: [PATCH 465/559] doc: 2 py:meth:PyLammps.append_cmd_history() Co-authored-by: Axel Kohlmeyer --- python/lammps/pylammps.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/lammps/pylammps.py b/python/lammps/pylammps.py index a4f2324241..e042cd3d56 100644 --- a/python/lammps/pylammps.py +++ b/python/lammps/pylammps.py @@ -537,7 +537,7 @@ class PyLammps(object): """ Commands will be added to the command history but not executed. - Add `run steps` only to the command history, but do not execute the run command. + Add `commands` only to the command history, but do not execute them, so that you can Convenient batch create Lammps script files, use :py:meth:`PyLammps.write_script()`. """ From f6992c0d3499f32e5711f6db7e22e3f6ea50916d Mon Sep 17 00:00:00 2001 From: yuh Date: Mon, 15 Apr 2024 09:00:24 +0800 Subject: [PATCH 466/559] doc: 3 py:meth:PyLammps.append_cmd_history() Co-authored-by: Axel Kohlmeyer --- python/lammps/pylammps.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/lammps/pylammps.py b/python/lammps/pylammps.py index e042cd3d56..03cdbecbe2 100644 --- a/python/lammps/pylammps.py +++ b/python/lammps/pylammps.py @@ -538,7 +538,7 @@ class PyLammps(object): Commands will be added to the command history but not executed. Add `commands` only to the command history, but do not execute them, so that you can - Convenient batch create Lammps script files, use + conveniently create Lammps input files, using :py:meth:`PyLammps.write_script()`. """ self._cmd_history.append(cmd) From e4a7b193aa67f02b58859ad2caac88929d12588d Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 14 Apr 2024 21:11:03 -0400 Subject: [PATCH 467/559] whitespace --- python/lammps/pylammps.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/lammps/pylammps.py b/python/lammps/pylammps.py index 03cdbecbe2..24c49d8f12 100644 --- a/python/lammps/pylammps.py +++ b/python/lammps/pylammps.py @@ -536,7 +536,7 @@ class PyLammps(object): def append_cmd_history(self, cmd): """ Commands will be added to the command history but not executed. - + Add `commands` only to the command history, but do not execute them, so that you can conveniently create Lammps input files, using :py:meth:`PyLammps.write_script()`. From a9b9f7f2c7835e97d4c75b8f3706878aad94e2c2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 15 Apr 2024 01:45:05 -0400 Subject: [PATCH 468/559] correct fix ttm/mod example input --- examples/ttm/Si.ttm_mod | 4 +- ...tm.mod.g++.1 => log.15Apr24.ttm.mod.g++.1} | 43 ++++++++++--------- ...tm.mod.g++.4 => log.15Apr24.ttm.mod.g++.4} | 42 +++++++++--------- 3 files changed, 45 insertions(+), 44 deletions(-) rename examples/ttm/{log.18May23.ttm.mod.g++.1 => log.15Apr24.ttm.mod.g++.1} (66%) rename examples/ttm/{log.18May23.ttm.mod.g++.4 => log.15Apr24.ttm.mod.g++.4} (65%) diff --git a/examples/ttm/Si.ttm_mod b/examples/ttm/Si.ttm_mod index 6e047857ff..ad407352e7 100644 --- a/examples/ttm/Si.ttm_mod +++ b/examples/ttm/Si.ttm_mod @@ -17,9 +17,9 @@ rho_e, electrons/volume units D_e, length^2/time units 20000 gamma_p, mass/time units -39.235 -gamma_s, mass/time units 24.443 +gamma_s, mass/time units +39.235 v_0, length/time units 79.76 I_0, energy/(time*length^2) units diff --git a/examples/ttm/log.18May23.ttm.mod.g++.1 b/examples/ttm/log.15Apr24.ttm.mod.g++.1 similarity index 66% rename from examples/ttm/log.18May23.ttm.mod.g++.1 rename to examples/ttm/log.15Apr24.ttm.mod.g++.1 index b97e8ab0ea..4b4f88b2a2 100644 --- a/examples/ttm/log.18May23.ttm.mod.g++.1 +++ b/examples/ttm/log.15Apr24.ttm.mod.g++.1 @@ -1,4 +1,5 @@ -LAMMPS (28 Mar 2023 - Development) +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-394-g03ab36a37d) + using 1 OpenMP thread(s) per MPI task units metal atom_style atomic boundary p p p @@ -13,7 +14,7 @@ mass 1 28.0855 create_atoms 1 box basis 1 1 basis 2 1 basis 3 1 basis 4 1 basis 5 1 basis 6 1 basis 7 1 basis 8 1 Created 8000 atoms using lattice units in orthogonal box = (0 0 0) to (54.309 54.309 54.309) - create_atoms CPU = 0.002 seconds + create_atoms CPU = 0.001 seconds pair_style sw pair_coeff * * Si.sw Si @@ -79,30 +80,30 @@ Neighbor list info ... Per MPI rank memory allocation (min/avg/max) = 4.433 | 4.433 | 4.433 Mbytes Step Temp TotEng f_twotemp[1] f_twotemp[2] 0 0 -34692.79996100604 -52.79390940511979 0 - 100 2.004897156140836 -34690.27961013186 -55.3499730543189 0.01301140393178352 - 200 2.837118035232607 -34687.74741132015 -57.93445748841876 0.02696025968760173 - 300 4.263087164947482 -34684.98084093686 -60.75945453846793 0.02175636603841567 - 400 5.568003854939066 -34682.25271040963 -63.56896518300499 0.03000618483472749 - 500 6.225602451570786 -34679.49948952029 -66.40897551884574 0.02768827702656703 - 600 7.608847536264781 -34676.69728436362 -69.32060611557282 0.05579466731854091 - 700 9.049471241531297 -34674.00093206036 -72.10055094219462 0.004335980559879032 - 800 9.826796099683211 -34671.27720242751 -74.95010610862134 0.02371649678091515 - 900 11.8609224958918 -34668.35091308811 -77.98544170794545 0.004658649791374908 - 1000 13.88037467640968 -34665.35025858006 -81.16445160194111 0.07684078334464743 -Loop time of 2.48942 on 1 procs for 1000 steps with 8000 atoms + 100 1.255921182965094 -34691.22889627319 -54.38067722556279 0.004868249873095404 + 200 1.858362347834853 -34689.5405389424 -56.09419523244324 0.01649190747838086 + 300 2.581575104085017 -34687.9650112138 -57.69350558275053 0.01683584513983131 + 400 3.47533128765632 -34686.2796683925 -59.40465113478642 0.005727647825729662 + 500 4.080137293185865 -34684.25857873315 -61.46449138661911 0.005828121949923951 + 600 4.816104423494803 -34682.51412688349 -63.25804498666959 0.02397283419020746 + 700 5.937291156573137 -34680.64941595491 -65.17152689673857 0.02604017750117964 + 800 6.487028971399661 -34678.87151939966 -66.99420300650799 0.009720189851817886 + 900 7.461479797687167 -34677.29259652842 -68.63442522233655 0.02576822683306545 + 1000 8.696444335455215 -34675.39247806347 -70.59264558122587 0.0147252863003017 +Loop time of 5.11497 on 1 procs for 1000 steps with 8000 atoms -Performance: 3.471 ns/day, 6.915 hours/ns, 401.700 timesteps/s, 3.214 Matom-step/s -100.0% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 1.689 ns/day, 14.208 hours/ns, 195.505 timesteps/s, 1.564 Matom-step/s +99.8% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 2.126 | 2.126 | 2.126 | 0.0 | 85.40 +Pair | 4.3498 | 4.3498 | 4.3498 | 0.0 | 85.04 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.016147 | 0.016147 | 0.016147 | 0.0 | 0.65 -Output | 0.0013116 | 0.0013116 | 0.0013116 | 0.0 | 0.05 -Modify | 0.33864 | 0.33864 | 0.33864 | 0.0 | 13.60 -Other | | 0.007318 | | | 0.29 +Comm | 0.037981 | 0.037981 | 0.037981 | 0.0 | 0.74 +Output | 0.0025641 | 0.0025641 | 0.0025641 | 0.0 | 0.05 +Modify | 0.71279 | 0.71279 | 0.71279 | 0.0 | 13.94 +Other | | 0.01179 | | | 0.23 Nlocal: 8000 ave 8000 max 8000 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -117,4 +118,4 @@ Total # of neighbors = 272000 Ave neighs/atom = 34 Neighbor list builds = 0 Dangerous builds = 0 -Total wall time: 0:00:02 +Total wall time: 0:00:05 diff --git a/examples/ttm/log.18May23.ttm.mod.g++.4 b/examples/ttm/log.15Apr24.ttm.mod.g++.4 similarity index 65% rename from examples/ttm/log.18May23.ttm.mod.g++.4 rename to examples/ttm/log.15Apr24.ttm.mod.g++.4 index ea675c8594..231a9af2c9 100644 --- a/examples/ttm/log.18May23.ttm.mod.g++.4 +++ b/examples/ttm/log.15Apr24.ttm.mod.g++.4 @@ -1,5 +1,5 @@ -LAMMPS (28 Mar 2023 - Development) -WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:531) +LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-394-g03ab36a37d) + using 1 OpenMP thread(s) per MPI task units metal atom_style atomic boundary p p p @@ -14,7 +14,7 @@ mass 1 28.0855 create_atoms 1 box basis 1 1 basis 2 1 basis 3 1 basis 4 1 basis 5 1 basis 6 1 basis 7 1 basis 8 1 Created 8000 atoms using lattice units in orthogonal box = (0 0 0) to (54.309 54.309 54.309) - create_atoms CPU = 0.001 seconds + create_atoms CPU = 0.002 seconds pair_style sw pair_coeff * * Si.sw Si @@ -80,30 +80,30 @@ Neighbor list info ... Per MPI rank memory allocation (min/avg/max) = 3.436 | 3.436 | 3.436 Mbytes Step Temp TotEng f_twotemp[1] f_twotemp[2] 0 0 -34692.79996100361 -52.79390940511979 0 - 100 1.852689977101411 -34690.49204900486 -55.14271612882064 0.02726188676577098 - 200 2.735750477179192 -34688.11139028054 -57.57110998717798 0.03387986355513584 - 300 3.931848271449558 -34685.54667417785 -60.18684521127231 0.02261256315262403 - 400 5.462009198576365 -34682.74455105668 -63.05420336037233 0.002402241637719578 - 500 6.267811692893873 -34679.96493887379 -65.93304222280051 0.02448378880218699 - 600 7.21148216150661 -34677.41455784726 -68.58391420045926 0.04114045759945374 - 700 8.84660534187052 -34674.40610468235 -71.68798344296859 0.02372984027434538 - 800 10.1748456457686 -34671.08749605772 -75.11943618276216 0.007538225788030307 - 900 11.27479036162859 -34668.4118066423 -77.92921692176756 0.02537529314475071 - 1000 13.26881394868076 -34665.56617589539 -80.91544540266317 0.03112665440209921 -Loop time of 0.995347 on 4 procs for 1000 steps with 8000 atoms + 100 1.20337355884597 -34691.30677367127 -54.30747356568817 0.01557346850238741 + 200 1.709631732825883 -34689.83859944795 -55.7982356998371 0.02508386983502213 + 300 2.488524478071323 -34688.26307995134 -57.3977272154369 0.02664346353990833 + 400 3.38535890366476 -34686.51395648598 -59.17547816947624 0.02164200191836632 + 500 3.838163353802383 -34684.79466673204 -60.92228950760077 0.005860499116196545 + 600 4.675913079756001 -34683.03448988724 -62.72423959707044 0.0106700119158327 + 700 5.637185532827328 -34681.25888274477 -64.5491928842093 0.01568536325219336 + 800 6.316986413957468 -34679.29231578312 -66.57005328290739 0.02035373879569394 + 900 7.211479047111087 -34677.61236020172 -68.30976417874265 0.03239086895076279 + 1000 8.431725106300505 -34675.81097854214 -70.161139196977 0.01219385884660358 +Loop time of 1.73439 on 4 procs for 1000 steps with 8000 atoms -Performance: 8.680 ns/day, 2.765 hours/ns, 1004.675 timesteps/s, 8.037 Matom-step/s -97.9% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 4.982 ns/day, 4.818 hours/ns, 576.572 timesteps/s, 4.613 Matom-step/s +99.7% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.65351 | 0.6616 | 0.66783 | 0.8 | 66.47 +Pair | 1.127 | 1.1392 | 1.1511 | 1.0 | 65.68 Neigh | 0 | 0 | 0 | 0.0 | 0.00 -Comm | 0.041606 | 0.048314 | 0.056589 | 2.9 | 4.85 -Output | 0.0014609 | 0.0014742 | 0.0014968 | 0.0 | 0.15 -Modify | 0.27934 | 0.28016 | 0.28089 | 0.1 | 28.15 -Other | | 0.003798 | | | 0.38 +Comm | 0.068488 | 0.082304 | 0.094797 | 4.1 | 4.75 +Output | 0.0024745 | 0.0025221 | 0.0025705 | 0.1 | 0.15 +Modify | 0.50194 | 0.50329 | 0.50522 | 0.2 | 29.02 +Other | | 0.007117 | | | 0.41 Nlocal: 2000 ave 2000 max 2000 min Histogram: 4 0 0 0 0 0 0 0 0 0 From 3a94e4df2d2e981a1e4fd957947d16d8d5a85075 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 15 Apr 2024 02:50:16 -0400 Subject: [PATCH 469/559] print single warning when some rho[i] exceeded rhomax of the current EAM potential --- doc/src/pair_eam.rst | 14 ++++++++++++++ src/INTEL/pair_eam_intel.cpp | 18 +++++++++++++++--- src/MANYBODY/pair_eam.cpp | 18 +++++++++++++++++- src/MANYBODY/pair_eam.h | 3 ++- src/OPENMP/pair_eam_omp.cpp | 17 ++++++++++++++++- src/OPT/pair_eam_opt.cpp | 17 ++++++++++++++++- 6 files changed, 80 insertions(+), 7 deletions(-) diff --git a/doc/src/pair_eam.rst b/doc/src/pair_eam.rst index 654f49c166..bb6a01eabf 100644 --- a/doc/src/pair_eam.rst +++ b/doc/src/pair_eam.rst @@ -140,6 +140,20 @@ The OpenKIM Project at provides EAM potentials that can be used directly in LAMMPS with the :doc:`kim command ` interface. +.. warning:: + + The EAM potential files tabulate the embedding energy as a function + of the local electron density :math:`\rho`. When atoms get too + close, this electron density may exceed the range for which the + embedding energy was tabulated for. For simplicity and to avoid + errors during equilibration of randomized geometries, LAMMPS will + assume a linearly increasing embedding energy for electron densities + beyond the maximum tabulated value. This usually means that the EAM + model is not a good model for the kind of system under investigation. + LAMMPS will print a single warning when this happens. It may be + harmless at the beginning of an equilibration but would be a big + concern for accuracy if it happens during production runs. + ---------- For style *eam*, potential values are read from a file that is in the diff --git a/src/INTEL/pair_eam_intel.cpp b/src/INTEL/pair_eam_intel.cpp index bd78c3239d..4fd527858e 100644 --- a/src/INTEL/pair_eam_intel.cpp +++ b/src/INTEL/pair_eam_intel.cpp @@ -234,7 +234,7 @@ void PairEAMIntel::eval(const int offload, const int vflag, const int istride = fc.rhor_istride(); const int jstride = fc.rhor_jstride(); const int fstride = fc.frho_stride(); - + int beyond_rhomax = 0; { #if defined(__MIC__) && defined(_LMP_INTEL_OFFLOAD) *timer_compute = MIC_Wtime(); @@ -453,7 +453,10 @@ void PairEAMIntel::eval(const int offload, const int vflag, if (EFLAG) { flt_t phi = ((frho_spline_e[ioff].a*p + frho_spline_e[ioff].b)*p + frho_spline_e[ioff].c)*p + frho_spline_e[ioff].d; - if (rho[i] > frhomax) phi += fp_f[i] * (rho[i]-frhomax); + if (rho[i] > frhomax) { + phi += fp_f[i] * (rho[i]-frhomax); + beyond_rhomax = 1; + } if (!ONETYPE) { const int ptr_off=itype*ntypes + itype; oscale = scale_f[ptr_off]; @@ -653,6 +656,16 @@ void PairEAMIntel::eval(const int offload, const int vflag, else fix->stop_watch(TIME_HOST_PAIR); + if (EFLAG && (exceeded_rhomax >= 0)) { + MPI_Allreduce(&beyond_rhomax, &exceeded_rhomax, 1, MPI_INT, MPI_MAX, world); + if (exceeded_rhomax > 0) { + if (comm->me == 0) + error->warning(FLERR, "Local rho[i] exceeded rhomax of EAM potential table. " + "Computed embedding term is unreliable."); + exceeded_rhomax = -1; + } + } + if (EFLAG || vflag) fix->add_result_array(f_start, ev_global, offload, eatom, 0, vflag); else @@ -849,4 +862,3 @@ void PairEAMIntel::unpack_forward_comm(int n, int first, double *buf, last = first + n; for (i = first; i < last; i++) fp_f[i] = buf[m++]; } - diff --git a/src/MANYBODY/pair_eam.cpp b/src/MANYBODY/pair_eam.cpp index 669a5cadbb..78690d38bf 100644 --- a/src/MANYBODY/pair_eam.cpp +++ b/src/MANYBODY/pair_eam.cpp @@ -43,6 +43,7 @@ PairEAM::PairEAM(LAMMPS *lmp) : Pair(lmp) unit_convert_flag = utils::get_supported_conversions(utils::ENERGY); nmax = 0; + exceeded_rhomax = 0; rho = nullptr; fp = nullptr; numforce = nullptr; @@ -145,6 +146,7 @@ void PairEAM::compute(int eflag, int vflag) double *coeff; int *ilist,*jlist,*numneigh,**firstneigh; + int beyond_rhomax = 0; evdwl = 0.0; ev_init(eflag,vflag); @@ -237,7 +239,9 @@ void PairEAM::compute(int eflag, int vflag) fp[i] = (coeff[0]*p + coeff[1])*p + coeff[2]; if (eflag) { phi = ((coeff[3]*p + coeff[4])*p + coeff[5])*p + coeff[6]; - if (rho[i] > rhomax) phi += fp[i] * (rho[i]-rhomax); + if (rho[i] > rhomax) { + phi += fp[i] * (rho[i]-rhomax); + } phi *= scale[type[i]][type[i]]; if (eflag_global) eng_vdwl += phi; if (eflag_atom) eatom[i] += phi; @@ -322,6 +326,16 @@ void PairEAM::compute(int eflag, int vflag) } } + if (eflag && (exceeded_rhomax >= 0)) { + MPI_Allreduce(&beyond_rhomax, &exceeded_rhomax, 1, MPI_INT, MPI_MAX, world); + if (exceeded_rhomax > 0) { + if (comm->me == 0) + error->warning(FLERR, "Local rho[i] exceeded rhomax of EAM potential table. " + "Computed embedding term is unreliable."); + exceeded_rhomax = -1; + } + } + if (vflag_fdotr) virial_fdotr_compute(); } @@ -424,6 +438,8 @@ void PairEAM::init_style() neighbor->add_request(this); embedstep = -1; + + exceeded_rhomax = 0; } /* ---------------------------------------------------------------------- diff --git a/src/MANYBODY/pair_eam.h b/src/MANYBODY/pair_eam.h index 67bbde570d..7ecc2ce0df 100644 --- a/src/MANYBODY/pair_eam.h +++ b/src/MANYBODY/pair_eam.h @@ -63,7 +63,8 @@ class PairEAM : public Pair { void swap_eam(double *, double **) override; protected: - int nmax; // allocated size of per-atom arrays + int nmax; // allocated size of per-atom arrays + int exceeded_rhomax; // 0 or 1 when rho[i] exceeded rhomax, -1 when not to check double cutforcesq; double **scale; bigint embedstep; // timestep, the embedding term was computed diff --git a/src/OPENMP/pair_eam_omp.cpp b/src/OPENMP/pair_eam_omp.cpp index e99fbedbb7..57aff9ea3a 100644 --- a/src/OPENMP/pair_eam_omp.cpp +++ b/src/OPENMP/pair_eam_omp.cpp @@ -17,6 +17,7 @@ #include "atom.h" #include "comm.h" +#include "error.h" #include "force.h" #include "memory.h" #include "neigh_list.h" @@ -102,6 +103,7 @@ void PairEAMOMP::eval(int iifrom, int iito, ThrData * const thr) double *coeff; int *ilist,*jlist,*numneigh,**firstneigh; + int beyond_rhomax = 0; evdwl = 0.0; const auto * _noalias const x = (dbl3_t *) atom->x[0]; @@ -203,7 +205,10 @@ void PairEAMOMP::eval(int iifrom, int iito, ThrData * const thr) fp[i] = (coeff[0]*p + coeff[1])*p + coeff[2]; if (EFLAG) { phi = ((coeff[3]*p + coeff[4])*p + coeff[5])*p + coeff[6]; - if (rho[i] > rhomax) phi += fp[i] * (rho[i]-rhomax); + if (rho[i] > rhomax) { + phi += fp[i] * (rho[i]-rhomax); + beyond_rhomax = 1; + } e_tally_thr(this, i, i, nlocal, NEWTON_PAIR, scale[type[i]][type[i]]*phi, 0.0, thr); } } @@ -298,6 +303,16 @@ void PairEAMOMP::eval(int iifrom, int iito, ThrData * const thr) f[i].y += fytmp; f[i].z += fztmp; } + + if (EFLAG && (exceeded_rhomax >= 0)) { + MPI_Allreduce(&beyond_rhomax, &exceeded_rhomax, 1, MPI_INT, MPI_MAX, world); + if (exceeded_rhomax > 0) { + if (comm->me == 0) + error->warning(FLERR, "Local rho[i] exceeded rhomax of EAM potential table. " + "Computed embedding term is unreliable."); + exceeded_rhomax = -1; + } + } } /* ---------------------------------------------------------------------- */ diff --git a/src/OPT/pair_eam_opt.cpp b/src/OPT/pair_eam_opt.cpp index 0560b0693a..6b4f1063e2 100644 --- a/src/OPT/pair_eam_opt.cpp +++ b/src/OPT/pair_eam_opt.cpp @@ -23,6 +23,7 @@ #include "atom.h" #include "comm.h" +#include "error.h" #include "force.h" #include "memory.h" #include "neigh_list.h" @@ -118,6 +119,7 @@ template void PairEAMOpt::eval() int ntypes = atom->ntypes; int ntypes2 = ntypes * ntypes; + int beyond_rhomax = 0; auto *_noalias fast_alpha = (fast_alpha_t *) malloc((size_t) ntypes2 * (nr + 1) * sizeof(fast_alpha_t)); @@ -251,7 +253,10 @@ template void PairEAMOpt::eval() fp[i] = (coeff[0] * p + coeff[1]) * p + coeff[2]; if (EFLAG) { double phi = ((coeff[3] * p + coeff[4]) * p + coeff[5]) * p + coeff[6]; - if (rho[i] > rhomax) phi += fp[i] * (rho[i] - rhomax); + if (rho[i] > rhomax) { + phi += fp[i] * (rho[i] - rhomax); + beyond_rhomax = 1; + } phi *= scale[type[i]][type[i]]; if (eflag_global) eng_vdwl += phi; if (eflag_atom) eatom[i] += phi; @@ -361,5 +366,15 @@ template void PairEAMOpt::eval() free(fast_gamma); fast_gamma = nullptr; + if (EFLAG && (exceeded_rhomax >= 0)) { + MPI_Allreduce(&beyond_rhomax, &exceeded_rhomax, 1, MPI_INT, MPI_MAX, world); + if (exceeded_rhomax > 0) { + if (comm->me == 0) + error->warning(FLERR, "Local rho[i] exceeded rhomax of EAM potential table. " + "Computed embedding term is unreliable."); + exceeded_rhomax = -1; + } + } + if (vflag_fdotr) virial_fdotr_compute(); } From b2fded39332a1f009dfdac487a06ecf6fe6de19c Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 15 Apr 2024 11:24:54 -0400 Subject: [PATCH 470/559] restore missing line --- src/MANYBODY/pair_eam.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/MANYBODY/pair_eam.cpp b/src/MANYBODY/pair_eam.cpp index 78690d38bf..fdbedf6804 100644 --- a/src/MANYBODY/pair_eam.cpp +++ b/src/MANYBODY/pair_eam.cpp @@ -241,6 +241,7 @@ void PairEAM::compute(int eflag, int vflag) phi = ((coeff[3]*p + coeff[4])*p + coeff[5])*p + coeff[6]; if (rho[i] > rhomax) { phi += fp[i] * (rho[i]-rhomax); + beyond_rhomax = 1; } phi *= scale[type[i]][type[i]]; if (eflag_global) eng_vdwl += phi; From 16e5fce31e2dca5fc9a0a63f199206a36a421b9d Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 15 Apr 2024 17:24:47 -0600 Subject: [PATCH 471/559] adjust error messaging for rho[i] > rhomax in EAM --- src/MANYBODY/pair_eam.cpp | 14 +++++++------- src/MANYBODY/pair_eam.h | 6 ++++-- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/MANYBODY/pair_eam.cpp b/src/MANYBODY/pair_eam.cpp index fdbedf6804..8ea4efe868 100644 --- a/src/MANYBODY/pair_eam.cpp +++ b/src/MANYBODY/pair_eam.cpp @@ -43,7 +43,6 @@ PairEAM::PairEAM(LAMMPS *lmp) : Pair(lmp) unit_convert_flag = utils::get_supported_conversions(utils::ENERGY); nmax = 0; - exceeded_rhomax = 0; rho = nullptr; fp = nullptr; numforce = nullptr; @@ -146,10 +145,11 @@ void PairEAM::compute(int eflag, int vflag) double *coeff; int *ilist,*jlist,*numneigh,**firstneigh; - int beyond_rhomax = 0; evdwl = 0.0; ev_init(eflag,vflag); + int beyond_rhomax = 0; + // grow energy and fp arrays if necessary // need to be atom->nmax in length @@ -327,13 +327,13 @@ void PairEAM::compute(int eflag, int vflag) } } - if (eflag && (exceeded_rhomax >= 0)) { + if (eflag && (!exceeded_rhomax)) { MPI_Allreduce(&beyond_rhomax, &exceeded_rhomax, 1, MPI_INT, MPI_MAX, world); - if (exceeded_rhomax > 0) { + if (exceeded_rhomax) { if (comm->me == 0) - error->warning(FLERR, "Local rho[i] exceeded rhomax of EAM potential table. " - "Computed embedding term is unreliable."); - exceeded_rhomax = -1; + error->warning(FLERR, + "A per-atom density exceeded rhomax of EAM potential table - " + "a linear extrapolation to the energy was made"); } } diff --git a/src/MANYBODY/pair_eam.h b/src/MANYBODY/pair_eam.h index 7ecc2ce0df..23c417d1a5 100644 --- a/src/MANYBODY/pair_eam.h +++ b/src/MANYBODY/pair_eam.h @@ -64,10 +64,12 @@ class PairEAM : public Pair { protected: int nmax; // allocated size of per-atom arrays - int exceeded_rhomax; // 0 or 1 when rho[i] exceeded rhomax, -1 when not to check double cutforcesq; double **scale; - bigint embedstep; // timestep, the embedding term was computed + bigint embedstep; // timestep, the embedding term was computed + + int exceeded_rhomax; // global flag for whether rho[i] has exceeded rhomax + // on a step energy is computed - 0 = no, 1 = yes // per-atom arrays From 8dd1d12a73d23e213548ec1c6d027ee1d287acc4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 15 Apr 2024 21:04:02 -0400 Subject: [PATCH 472/559] apply clang-format and whitespace cleanup --- src/MANYBODY/pair_eam.cpp | 2 +- src/MANYBODY/pair_eam.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/MANYBODY/pair_eam.cpp b/src/MANYBODY/pair_eam.cpp index 8ea4efe868..d1b56a9eae 100644 --- a/src/MANYBODY/pair_eam.cpp +++ b/src/MANYBODY/pair_eam.cpp @@ -149,7 +149,7 @@ void PairEAM::compute(int eflag, int vflag) ev_init(eflag,vflag); int beyond_rhomax = 0; - + // grow energy and fp arrays if necessary // need to be atom->nmax in length diff --git a/src/MANYBODY/pair_eam.h b/src/MANYBODY/pair_eam.h index 23c417d1a5..24221a07ce 100644 --- a/src/MANYBODY/pair_eam.h +++ b/src/MANYBODY/pair_eam.h @@ -63,10 +63,10 @@ class PairEAM : public Pair { void swap_eam(double *, double **) override; protected: - int nmax; // allocated size of per-atom arrays + int nmax; // allocated size of per-atom arrays double cutforcesq; double **scale; - bigint embedstep; // timestep, the embedding term was computed + bigint embedstep; // timestep, the embedding term was computed int exceeded_rhomax; // global flag for whether rho[i] has exceeded rhomax // on a step energy is computed - 0 = no, 1 = yes From 28620a66316b89e3cac342f32e295a576ad4bef2 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 15 Apr 2024 21:04:57 -0400 Subject: [PATCH 473/559] propagate changes to other EAM implementations --- src/INTEL/pair_eam_intel.cpp | 10 +++++----- src/OPENMP/pair_eam_omp.cpp | 10 +++++----- src/OPT/pair_eam_opt.cpp | 10 +++++----- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/INTEL/pair_eam_intel.cpp b/src/INTEL/pair_eam_intel.cpp index 4fd527858e..ed92a41a11 100644 --- a/src/INTEL/pair_eam_intel.cpp +++ b/src/INTEL/pair_eam_intel.cpp @@ -656,13 +656,13 @@ void PairEAMIntel::eval(const int offload, const int vflag, else fix->stop_watch(TIME_HOST_PAIR); - if (EFLAG && (exceeded_rhomax >= 0)) { + if (EFLAG && (!exceeded_rhomax)) { MPI_Allreduce(&beyond_rhomax, &exceeded_rhomax, 1, MPI_INT, MPI_MAX, world); - if (exceeded_rhomax > 0) { + if (exceeded_rhomax) { if (comm->me == 0) - error->warning(FLERR, "Local rho[i] exceeded rhomax of EAM potential table. " - "Computed embedding term is unreliable."); - exceeded_rhomax = -1; + error->warning(FLERR, + "A per-atom density exceeded rhomax of EAM potential table - " + "a linear extrapolation to the energy was made"); } } diff --git a/src/OPENMP/pair_eam_omp.cpp b/src/OPENMP/pair_eam_omp.cpp index 57aff9ea3a..1d3c7ded3a 100644 --- a/src/OPENMP/pair_eam_omp.cpp +++ b/src/OPENMP/pair_eam_omp.cpp @@ -304,13 +304,13 @@ void PairEAMOMP::eval(int iifrom, int iito, ThrData * const thr) f[i].z += fztmp; } - if (EFLAG && (exceeded_rhomax >= 0)) { + if (EFLAG && (!exceeded_rhomax)) { MPI_Allreduce(&beyond_rhomax, &exceeded_rhomax, 1, MPI_INT, MPI_MAX, world); - if (exceeded_rhomax > 0) { + if (exceeded_rhomax) { if (comm->me == 0) - error->warning(FLERR, "Local rho[i] exceeded rhomax of EAM potential table. " - "Computed embedding term is unreliable."); - exceeded_rhomax = -1; + error->warning(FLERR, + "A per-atom density exceeded rhomax of EAM potential table - " + "a linear extrapolation to the energy was made"); } } } diff --git a/src/OPT/pair_eam_opt.cpp b/src/OPT/pair_eam_opt.cpp index 6b4f1063e2..20463515da 100644 --- a/src/OPT/pair_eam_opt.cpp +++ b/src/OPT/pair_eam_opt.cpp @@ -366,13 +366,13 @@ template void PairEAMOpt::eval() free(fast_gamma); fast_gamma = nullptr; - if (EFLAG && (exceeded_rhomax >= 0)) { + if (EFLAG && (!exceeded_rhomax)) { MPI_Allreduce(&beyond_rhomax, &exceeded_rhomax, 1, MPI_INT, MPI_MAX, world); - if (exceeded_rhomax > 0) { + if (exceeded_rhomax) { if (comm->me == 0) - error->warning(FLERR, "Local rho[i] exceeded rhomax of EAM potential table. " - "Computed embedding term is unreliable."); - exceeded_rhomax = -1; + error->warning(FLERR, + "A per-atom density exceeded rhomax of EAM potential table - " + "a linear extrapolation to the energy was made"); } } From a810f1eca83df21039846e6a97b7a47e54c08b50 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Tue, 16 Apr 2024 00:20:18 -0400 Subject: [PATCH 474/559] Update Howto_type_labels.rst --- doc/src/Howto_type_labels.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/Howto_type_labels.rst b/doc/src/Howto_type_labels.rst index d7460d50a7..6b734f5c8d 100644 --- a/doc/src/Howto_type_labels.rst +++ b/doc/src/Howto_type_labels.rst @@ -130,4 +130,4 @@ modification in multiple simulations or different systems. .. _Typelabel24: -**(Gissinger)** J. Gissinger, I. Nikiforov, Y. Afshar, B. Waters, M. Choi, D. Karls, A. Stukowski, W, Im, H. Heinz, A. Kohlmeyer, and E. Tadmor, J Phys Chem B, 128, 3282-3297 (2024) +**(Gissinger)** J. R. Gissinger, I. Nikiforov, Y. Afshar, B. Waters, M. Choi, D. S. Karls, A. Stukowski, W. Im, H. Heinz, A. Kohlmeyer, and E. B. Tadmor, J Phys Chem B, 128, 3282-3297 (2024). From 49b5361088d3c961e74b987b6975635aafd8083b Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Tue, 16 Apr 2024 00:24:25 -0400 Subject: [PATCH 475/559] Update labelmap.rst --- doc/src/labelmap.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/labelmap.rst b/doc/src/labelmap.rst index 5e0d1e92e9..70ca9262da 100644 --- a/doc/src/labelmap.rst +++ b/doc/src/labelmap.rst @@ -104,4 +104,4 @@ none .. _Typelabel: -**(Gissinger)** J. Gissinger, I. Nikiforov, Y. Afshar, B. Waters, M. Choi, D. Karls, A. Stukowski, W, Im, H. Heinz, A. Kohlmeyer, and E. Tadmor, J Phys Chem B, 128, 3282-3297 (2024) +**(Gissinger)** J. R. Gissinger, I. Nikiforov, Y. Afshar, B. Waters, M. Choi, D. S. Karls, A. Stukowski, W. Im, H. Heinz, A. Kohlmeyer, and E. B. Tadmor, J Phys Chem B, 128, 3282-3297 (2024). From c855e44d0e7371016f74444cff8955855a2253c1 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 16 Apr 2024 19:26:51 -0400 Subject: [PATCH 476/559] small doc fixes --- doc/src/pair_mliap.rst | 60 ++++++++++++++++++++++-------------------- 1 file changed, 31 insertions(+), 29 deletions(-) diff --git a/doc/src/pair_mliap.rst b/doc/src/pair_mliap.rst index 30ae93a123..7412a56056 100644 --- a/doc/src/pair_mliap.rst +++ b/doc/src/pair_mliap.rst @@ -75,21 +75,23 @@ The available models are *linear* and *nn*. .. versionadded:: TBD -The descriptor style *ace* is a class of highly general atomic descriptors, -atomic cluster expansion descriptors (ACE) from :ref:`(Drautz) ` , -that include a radial basis, an angular basis, and bases for other variables -(such as chemical species) if relevant. In descriptor style *ace*, the *ace* -descriptors may be defined up to an arbitrary body order. This descriptor -style is the same as that used in :doc:`pair_style pace ` and -:doc:`compute pace `. The available models with *ace* in -ML-IAP are *linear* and *mliappy*. The *ace* descriptors and models require -building LAMMPS with the ML-PACE package (see below). The *mliappy* model -style may be used with *ace* descriptors, but it requires that LAMMPS is -also built with the PYTHON package. As with other, the *mliappy* model style -can be used to couple arbitrary python models that use the *ace* descriptors -such as Pytorch NNs. Note that *ALL* mliap model styles with *ace* descriptors -require that descriptors and hyperparameters are supplied in a `.yace` or `.ace` -file, similar to :doc:`compute pace `. +The descriptor style *ace* is a class of highly general atomic +descriptors, atomic cluster expansion descriptors (ACE) from +:ref:`(Drautz) `, that include a radial basis, an angular +basis, and bases for other variables (such as chemical species) if +relevant. In descriptor style *ace*, the *ace* descriptors may be +defined up to an arbitrary body order. This descriptor style is the same +as that used in :doc:`pair_style pace ` and :doc:`compute +pace `. The available models with *ace* in ML-IAP are +*linear* and *mliappy*. The *ace* descriptors and models require +building LAMMPS with the ML-PACE package (see below). The *mliappy* +model style may be used with *ace* descriptors, but it requires that +LAMMPS is also built with the PYTHON package. As with other model +styles, the *mliappy* model style can be used to couple arbitrary python +models that use the *ace* descriptors such as Pytorch NNs. Note that +*ALL* mliap model styles with *ace* descriptors require that descriptors +and hyperparameters are supplied in a `.yace` or `.ace` file, similar to +:doc:`compute pace `. The pair_style *mliap* command must be followed by two keywords *model* and *descriptor* in either order, or the one keyword *unified*. A @@ -201,20 +203,20 @@ of SO3 descriptor and model files can be done with the The ACE descriptor file differs from the SNAP and SO3 files. It more closely resembles the potential file format for linear or square-root embedding ACE potentials used in the :doc:`pair_style pace `. -As noted above, the key difference is that the Clebsch-Gordan coefficients -in the descriptor file with *mliap descriptor ace* are *NOT* multiplied -multiplied by linear or square root embedding terms. In other words, -the model is separated from the descriptor definitions and -hyperparameters. In :doc:`pair_style pace `, they are combined. -The ACE descriptor files required by *mliap* are generated automatically -in `FitSNAP `_ during linear, -pytorch, etc. ACE model fitting. Additional tools are provided there to -prepare *ace* descriptor files and hyperparameters before model fitting. -The *ace* descriptor files can also be extracted from ACE model fits in -`python-ace. `_ It is important to -note that order of the types listed in :doc:`pair_coeff ` must -match the order of the elements/types listed in the ACE descriptor file -for all *mliap* styles when using *ace* descriptors. +As noted above, the key difference is that the Clebsch-Gordan +coefficients in the descriptor file with *mliap descriptor ace* are +*NOT* multiplied by linear or square root embedding terms. In other +words,the model is separated from the descriptor definitions and +hyperparameters. In :doc:`pair_style pace `, they are +combined. The ACE descriptor files required by *mliap* are generated +automatically in `FitSNAP `_ during +linear, pytorch, etc. ACE model fitting. Additional tools are provided +there to prepare *ace* descriptor files and hyperparameters before model +fitting. The *ace* descriptor files can also be extracted from ACE +model fits in `python-ace. `_. It +is important to note that order of the types listed in :doc:`pair_coeff +` must match the order of the elements/types listed in the +ACE descriptor file for all *mliap* styles when using *ace* descriptors. See the :doc:`pair_coeff ` page for alternate ways to specify the path for these *model* and *descriptor* files. From 89d98786ecb43cc6b70b59db30ec4c93fbf2e68f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 16 Apr 2024 19:33:14 -0400 Subject: [PATCH 477/559] small doc formatting and spelling fixes --- doc/src/thermo_style.rst | 11 +++++------ doc/utils/sphinx-config/false_positives.txt | 9 +++++++++ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/doc/src/thermo_style.rst b/doc/src/thermo_style.rst index 48adbe1c1e..fa90a45b0e 100644 --- a/doc/src/thermo_style.rst +++ b/doc/src/thermo_style.rst @@ -340,12 +340,11 @@ internally. The *lx*, *ly*, *lz* keywords are the extent of the simulation box in each dimension. The *xlo*, *xhi*, *ylo*, *yhi*, *zlo*, *zhi* keywords -are the lower and upper bounds of the simulation box in each -dimension. I.e. *lx* = *xhi* - *xlo). These 9 values are the same -for all 3 kinds of boxes. I.e. for a restricted triclinic box, they -are the values as if the box were not tilted. For a general triclinic -box, they are the values after it is internally rotated to be a -restricted triclinic box. +are the lower and upper bounds of the simulation box in each dimension. +I.e. *lx* = *xhi* - *xlo*). These 9 values are the same for all 3 kinds +of boxes. I.e. for a restricted triclinic box, they are the values as +if the box were not tilted. For a general triclinic box, they are the +values after it is internally rotated to be a restricted triclinic box. The *xy*, *xz*, *yz* are the current tilt factors for a triclinic box. They are the same for restricted and general triclinic boxes. diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 848ed9551d..7f36ac75b9 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -190,6 +190,9 @@ Auvergne Avalos avalue avec +avecx +avecy +avecz aveforce Avendano Averett @@ -395,6 +398,9 @@ Bussi Buturigakkwaishi Buyl bvec +bvecx +bvecy +bvecz Bybee bz Cadarache @@ -658,6 +664,9 @@ Cv Cval cvar cvec +cvecx +cvecy +cvecz cvff cwiggle cx From 88f2ca643bf6668f4f9296c985c6a911cdd2f1d4 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 16 Apr 2024 19:47:12 -0400 Subject: [PATCH 478/559] update version tags for feature release --- doc/lammps.1 | 6 +++--- doc/src/angle_cosine_squared_restricted.rst | 2 +- doc/src/dihedral_cosine_squared_restricted.rst | 2 +- doc/src/fix_ave_chunk.rst | 2 +- doc/src/fix_ave_histo.rst | 2 +- doc/src/fix_ave_time.rst | 2 +- doc/src/fix_balance.rst | 2 +- doc/src/fix_deform_pressure.rst | 2 +- doc/src/fix_electrode.rst | 4 ++-- doc/src/fix_wall_flow.rst | 2 +- doc/src/package.rst | 2 +- doc/src/pair_pedone.rst | 2 +- doc/src/pair_rebomos.rst | 2 +- src/version.h | 3 +-- 14 files changed, 17 insertions(+), 18 deletions(-) diff --git a/doc/lammps.1 b/doc/lammps.1 index 0c7c9a0354..27ec20b1d3 100644 --- a/doc/lammps.1 +++ b/doc/lammps.1 @@ -1,7 +1,7 @@ -.TH LAMMPS "1" "7 February 2024" "2024-02-07" +.TH LAMMPS "1" "17 April 2024" "2024-04-17" .SH NAME .B LAMMPS -\- Molecular Dynamics Simulator. Version 7 February 2024 +\- Molecular Dynamics Simulator. Version 17 April 2024 .SH SYNOPSIS .B lmp @@ -297,7 +297,7 @@ the chapter on errors in the manual gives some additional information about error messages, if possible. .SH COPYRIGHT -© 2003--2022 Sandia Corporation +© 2003--2024 Sandia Corporation This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as diff --git a/doc/src/angle_cosine_squared_restricted.rst b/doc/src/angle_cosine_squared_restricted.rst index c80a9142ff..008ebfebeb 100644 --- a/doc/src/angle_cosine_squared_restricted.rst +++ b/doc/src/angle_cosine_squared_restricted.rst @@ -24,7 +24,7 @@ Examples Description """"""""""" -.. versionadded:: TBD +.. versionadded:: 17Apr2024 The *cosine/squared/restricted* angle style uses the potential diff --git a/doc/src/dihedral_cosine_squared_restricted.rst b/doc/src/dihedral_cosine_squared_restricted.rst index cba846b965..c402c983ab 100644 --- a/doc/src/dihedral_cosine_squared_restricted.rst +++ b/doc/src/dihedral_cosine_squared_restricted.rst @@ -22,7 +22,7 @@ Examples Description """"""""""" -.. versionadded:: TBD +.. versionadded:: 17Apr2024 The *cosine/squared/restricted* dihedral style uses the potential diff --git a/doc/src/fix_ave_chunk.rst b/doc/src/fix_ave_chunk.rst index 57ce52f7c7..449b9b8208 100644 --- a/doc/src/fix_ave_chunk.rst +++ b/doc/src/fix_ave_chunk.rst @@ -435,7 +435,7 @@ molecule. ---------- -.. versionadded:: TBD +.. versionadded:: 17Apr2024 new keyword *append* The *file* or *append* keywords allow a filename to be specified. If diff --git a/doc/src/fix_ave_histo.rst b/doc/src/fix_ave_histo.rst index b9ecc31cec..ac3b77086e 100644 --- a/doc/src/fix_ave_histo.rst +++ b/doc/src/fix_ave_histo.rst @@ -319,7 +319,7 @@ on. The default is step 0. Often input values can be 0.0 at time 0, so setting *start* to a larger value can avoid including a 0.0 in a running or windowed histogram. -.. versionadded:: TBD +.. versionadded:: 17Apr2024 new keyword *append* The *file* or *append* keywords allow a filename to be specified. If diff --git a/doc/src/fix_ave_time.rst b/doc/src/fix_ave_time.rst index ea6a6dc2a9..cb05b8a5ab 100644 --- a/doc/src/fix_ave_time.rst +++ b/doc/src/fix_ave_time.rst @@ -272,7 +272,7 @@ are effectively constant or are simply current values (e.g., they are being written to a file with other time-averaged values for purposes of creating well-formatted output). -.. versionadded:: TBD +.. versionadded:: 17Apr2024 new keyword *append* The *file* or *append* keywords allow a filename to be specified. If diff --git a/doc/src/fix_balance.rst b/doc/src/fix_balance.rst index 0a0ea64c6a..3065707dc7 100644 --- a/doc/src/fix_balance.rst +++ b/doc/src/fix_balance.rst @@ -70,7 +70,7 @@ re-balancing is performed periodically during the simulation. To perform "static" balancing, before or between runs, see the :doc:`balance ` command. -.. versionadded:: TBD +.. versionadded:: 17Apr2024 The *report* balance style only computes the load imbalance but does not attempt any re-balancing. This way the load imbalance diff --git a/doc/src/fix_deform_pressure.rst b/doc/src/fix_deform_pressure.rst index c814aa892f..8e848b3969 100644 --- a/doc/src/fix_deform_pressure.rst +++ b/doc/src/fix_deform_pressure.rst @@ -69,7 +69,7 @@ Examples Description """"""""""" -.. versionadded:: TBD +.. versionadded:: 17Apr2024 This fix is an extension of the :doc:`fix deform ` command, which allows all of its options to be used as well as new diff --git a/doc/src/fix_electrode.rst b/doc/src/fix_electrode.rst index 692b187841..a60380fe7e 100644 --- a/doc/src/fix_electrode.rst +++ b/doc/src/fix_electrode.rst @@ -253,7 +253,7 @@ be enabled if any electrode particle has the same type as any electrolyte particle (which would be unusual in a typical simulation) and the fix will issue an error in that case. -.. versionadded:: TBD +.. versionadded:: 17Apr2024 The keyword *qtotal* causes *fix electrode/conp* and *fix electrode/thermo* to add an overall potential to all electrodes so that @@ -267,7 +267,7 @@ and since *symm on* constrains the total charge of all electrodes to be zero, either option is incompatible with the *qtotal* keyword (even if *qtotal* is set to zero). -.. versionadded:: TBD +.. versionadded:: 17Apr2024 The keyword *eta* takes the name of a custom double vector defined via fix property/atom. The values will be used instead of the standard eta diff --git a/doc/src/fix_wall_flow.rst b/doc/src/fix_wall_flow.rst index b40ba9697f..d498e57c63 100644 --- a/doc/src/fix_wall_flow.rst +++ b/doc/src/fix_wall_flow.rst @@ -40,7 +40,7 @@ Examples Description """"""""""" -.. versionadded:: TBD +.. versionadded:: 17Apr2024 This fix implements flow boundary conditions (FBC) introduced in :ref:`(Pavlov1) ` and :ref:`(Pavlov2) `. diff --git a/doc/src/package.rst b/doc/src/package.rst index 2fe4baaae7..8be6639e72 100644 --- a/doc/src/package.rst +++ b/doc/src/package.rst @@ -576,7 +576,7 @@ changed to *no* since the *sort* keyword does not support *host* mode. Not all fix styles with extra atom data support *device* mode and in that case a warning will be given and atom sorting will run in *no* mode instead. -.. versionadded:: TBD +.. versionadded:: 17Apr2024 The *atom/map* keyword determines whether the host or device builds the atom_map, see the :doc:`atom_modify map ` command. The diff --git a/doc/src/pair_pedone.rst b/doc/src/pair_pedone.rst index 32fcb17f00..10fcb63e2e 100644 --- a/doc/src/pair_pedone.rst +++ b/doc/src/pair_pedone.rst @@ -46,7 +46,7 @@ Used in input scripts: Description """"""""""" -.. versionadded:: TBD +.. versionadded:: 17Apr2024 Pair style *pedone* computes the **non-Coulomb** interactions of the Pedone (or PMMCS) potential :ref:`(Pedone) ` which combines Coulomb diff --git a/doc/src/pair_rebomos.rst b/doc/src/pair_rebomos.rst index 9f4b8006c1..05be473256 100644 --- a/doc/src/pair_rebomos.rst +++ b/doc/src/pair_rebomos.rst @@ -28,7 +28,7 @@ Example input scripts available: examples/threebody/ Description """"""""""" -.. versionadded:: TBD +.. versionadded:: 17Apr2024 The *rebomos* pair style computes the interactions between molybdenum and sulfur atoms :ref:`(Stewart) ` utilizing an adaptive diff --git a/src/version.h b/src/version.h index 76ede29b68..37c44b49f2 100644 --- a/src/version.h +++ b/src/version.h @@ -1,2 +1 @@ -#define LAMMPS_VERSION "7 Feb 2024" -#define LAMMPS_UPDATE "Development" +#define LAMMPS_VERSION "17 Apr 2024" From 9aceecdfa480b9f8dd10f28541ad98fd825605fe Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 16 Apr 2024 19:51:01 -0400 Subject: [PATCH 479/559] breathe is currently not compatible with sphinx 7.3 --- doc/utils/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/utils/requirements.txt b/doc/utils/requirements.txt index 5bb8e3911d..816d52bf54 100644 --- a/doc/utils/requirements.txt +++ b/doc/utils/requirements.txt @@ -1,4 +1,4 @@ -Sphinx >= 5.3.0, <8.0 +Sphinx >= 5.3.0, <7.3 sphinxcontrib-spelling sphinxcontrib-jquery git+https://github.com/akohlmey/sphinx-fortran@parallel-read From 124516097cc45dd1b216861598fa77ed5cd8a19b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 16 Apr 2024 19:51:01 -0400 Subject: [PATCH 480/559] breathe is currently not compatible with sphinx 7.3 --- doc/utils/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/utils/requirements.txt b/doc/utils/requirements.txt index 5bb8e3911d..816d52bf54 100644 --- a/doc/utils/requirements.txt +++ b/doc/utils/requirements.txt @@ -1,4 +1,4 @@ -Sphinx >= 5.3.0, <8.0 +Sphinx >= 5.3.0, <7.3 sphinxcontrib-spelling sphinxcontrib-jquery git+https://github.com/akohlmey/sphinx-fortran@parallel-read From fe57f880f04243e0d403a303efdace10052dc883 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 16 Apr 2024 19:51:01 -0400 Subject: [PATCH 481/559] breathe is currently not compatible with sphinx 7.3 --- doc/utils/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/utils/requirements.txt b/doc/utils/requirements.txt index 5bb8e3911d..816d52bf54 100644 --- a/doc/utils/requirements.txt +++ b/doc/utils/requirements.txt @@ -1,4 +1,4 @@ -Sphinx >= 5.3.0, <8.0 +Sphinx >= 5.3.0, <7.3 sphinxcontrib-spelling sphinxcontrib-jquery git+https://github.com/akohlmey/sphinx-fortran@parallel-read From 95e43644002928b1be0fec1b501e2b0931af6d4b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 16 Apr 2024 19:51:01 -0400 Subject: [PATCH 482/559] breathe is currently not compatible with sphinx 7.3 --- doc/utils/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/utils/requirements.txt b/doc/utils/requirements.txt index 5bb8e3911d..816d52bf54 100644 --- a/doc/utils/requirements.txt +++ b/doc/utils/requirements.txt @@ -1,4 +1,4 @@ -Sphinx >= 5.3.0, <8.0 +Sphinx >= 5.3.0, <7.3 sphinxcontrib-spelling sphinxcontrib-jquery git+https://github.com/akohlmey/sphinx-fortran@parallel-read From 98eb34561554f3a7e428f44e818ce0d6f3b5d043 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 16 Apr 2024 20:07:30 -0400 Subject: [PATCH 483/559] small tweak --- doc/src/Intro_features.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/Intro_features.rst b/doc/src/Intro_features.rst index f7b4dd319b..98e9d981ed 100644 --- a/doc/src/Intro_features.rst +++ b/doc/src/Intro_features.rst @@ -29,7 +29,7 @@ General features * spatial decomposition of simulation domain for MPI parallelism * particle decomposition inside spatial decomposition for OpenMP and GPU parallelism * GPLv2 licensed open-source distribution -* highly portable C++-11 +* highly portable C++-11 (optional packages may require C++17) * modular code with most functionality in optional packages * only depends on MPI library for basic parallel functionality, MPI stub for serial compilation * other libraries are optional and only required for specific packages @@ -81,7 +81,7 @@ commands) * pairwise potentials: Lennard-Jones, Buckingham, Morse, Born-Mayer-Huggins, Yukawa, soft, Class II (COMPASS), hydrogen bond, harmonic, gaussian, tabulated, scripted * charged pairwise potentials: Coulombic, point-dipole * many-body potentials: EAM, Finnis/Sinclair, MEAM, MEAM+SW, EIM, EDIP, ADP, Stillinger-Weber, Tersoff, REBO, AIREBO, ReaxFF, COMB, Streitz-Mintmire, 3-body polymorphic, BOP, Vashishta -* machine learning potentials: ACE, AGNI, GAP, Behler-Parrinello (N2P2), POD, RANN +* machine learning potentials: ACE, AGNI, GAP, Behler-Parrinello (N2P2), POD, RANN, SNAP * interfaces to ML potentials distributed by external groups: ANI, ChIMES, DeepPot, HIPNN, MTP * long-range interactions for charge, point-dipoles, and LJ dispersion: Ewald, Wolf, PPPM (similar to particle-mesh Ewald), MSM, ScaFaCoS * polarization models: :doc:`QEq `, :doc:`core/shell model `, :doc:`Drude dipole model ` From 101a937870fc0fa9844068e0db27a0ec75e3bdb7 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 16 Apr 2024 23:02:29 -0400 Subject: [PATCH 484/559] rephrase warning about EAM deansity exceeding tabulated embedding term --- doc/src/pair_eam.rst | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/doc/src/pair_eam.rst b/doc/src/pair_eam.rst index bb6a01eabf..cdb6487981 100644 --- a/doc/src/pair_eam.rst +++ b/doc/src/pair_eam.rst @@ -145,14 +145,15 @@ provides EAM potentials that can be used directly in LAMMPS with the The EAM potential files tabulate the embedding energy as a function of the local electron density :math:`\rho`. When atoms get too close, this electron density may exceed the range for which the - embedding energy was tabulated for. For simplicity and to avoid - errors during equilibration of randomized geometries, LAMMPS will + embedding energy was tabulated for. To avoid crashes, LAMMPS will assume a linearly increasing embedding energy for electron densities - beyond the maximum tabulated value. This usually means that the EAM - model is not a good model for the kind of system under investigation. - LAMMPS will print a single warning when this happens. It may be - harmless at the beginning of an equilibration but would be a big - concern for accuracy if it happens during production runs. + beyond the maximum tabulated value. LAMMPS will print a warning when + this happens. It may be acceptable at the beginning of an + equilibration (e.g. when using randomized coordinates) but would be a + big concern for accuracy if it happens during production runs. The + EAM potential file triggering the warning during production is thus + not a good choice, and the EAM model in general not likely a good + model for the kind of system under investigation. ---------- From d45a00031b6c9610aaee714288e93d2a6cc20744 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 17 Apr 2024 00:41:45 -0400 Subject: [PATCH 485/559] update a couple more pending version strings --- doc/src/pair_mliap.rst | 2 +- python/lammps/pylammps.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/pair_mliap.rst b/doc/src/pair_mliap.rst index 7412a56056..e325de0aa6 100644 --- a/doc/src/pair_mliap.rst +++ b/doc/src/pair_mliap.rst @@ -73,7 +73,7 @@ the smooth SO(3) power spectrum with the explicit inclusion of a radial basis :ref:`(Bartok) ` and :ref:`(Zagaceta) `. The available models are *linear* and *nn*. -.. versionadded:: TBD +.. versionadded:: 17Apr2024 The descriptor style *ace* is a class of highly general atomic descriptors, atomic cluster expansion descriptors (ACE) from diff --git a/python/lammps/pylammps.py b/python/lammps/pylammps.py index d8f175c5b8..7dd3823bbf 100644 --- a/python/lammps/pylammps.py +++ b/python/lammps/pylammps.py @@ -197,7 +197,7 @@ class Atom(object): mass (AKA 'rmass') depending on what is available with preference for the per-atom mass. - .. versionchanged:: TBD + .. versionchanged:: 17Apr2024 Support both per-type and per-atom masses. With per-type return "mass[type[i]]" else return "rmass[i]". From db9e8aa43c9a083cc37f29fd2b6a8da90e0fbbf8 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 17 Apr 2024 00:57:07 -0400 Subject: [PATCH 486/559] last minute fix for https://matsci.org/t/errors-encountered-in-the-pyrolysis-of-organic-polymers-under-reaxff-force-field/54818 --- src/REAXFF/reaxff_ffield.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/REAXFF/reaxff_ffield.cpp b/src/REAXFF/reaxff_ffield.cpp index b941d7d0f0..7dfa2ee1cb 100644 --- a/src/REAXFF/reaxff_ffield.cpp +++ b/src/REAXFF/reaxff_ffield.cpp @@ -39,6 +39,7 @@ using LAMMPS_NS::utils::open_potential; using LAMMPS_NS::utils::getsyserror; +using LAMMPS_NS::utils::strmatch; using LAMMPS_NS::utils::uppercase; using LAMMPS_NS::EOFException; using LAMMPS_NS::ValueTokenizer; @@ -71,7 +72,7 @@ namespace ReaxFF { filename, lineno, want, values.count())) if (control->me == 0) { - FILE *fp = LAMMPS_NS::utils::open_potential(filename, lmp, nullptr); + FILE *fp = open_potential(filename, lmp, nullptr); if (!fp) error->one(FLERR,"The ReaxFF parameter file {} cannot be opened: {}", filename, getsyserror()); @@ -81,9 +82,11 @@ namespace ReaxFF { try { int i,j,k,l,m,n,lineno = 0; - // skip header comment line + // check if header comment line is present - reader.skip_line(); + auto line = reader.next_line(); + if (strmatch(line, "^\\s*[0-9]+\\s+!.*general parameters.*")) + THROW_ERROR("First line of ReaxFF potential file must be a comment or empty"); ++lineno; // set some defaults From 09680a38573408ddc0ccb51d7fbe883ade626bef Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 17 Apr 2024 01:03:39 -0400 Subject: [PATCH 487/559] use MPI_SUM instead of MPI_MAX to work around OpenMPI bug on macOS with Apple CPU --- src/INTEL/pair_eam_intel.cpp | 2 +- src/MANYBODY/pair_eam.cpp | 2 +- src/OPENMP/pair_eam_omp.cpp | 2 +- src/OPT/pair_eam_opt.cpp | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/INTEL/pair_eam_intel.cpp b/src/INTEL/pair_eam_intel.cpp index ed92a41a11..3f1f54e3c0 100644 --- a/src/INTEL/pair_eam_intel.cpp +++ b/src/INTEL/pair_eam_intel.cpp @@ -657,7 +657,7 @@ void PairEAMIntel::eval(const int offload, const int vflag, fix->stop_watch(TIME_HOST_PAIR); if (EFLAG && (!exceeded_rhomax)) { - MPI_Allreduce(&beyond_rhomax, &exceeded_rhomax, 1, MPI_INT, MPI_MAX, world); + MPI_Allreduce(&beyond_rhomax, &exceeded_rhomax, 1, MPI_INT, MPI_SUM, world); if (exceeded_rhomax) { if (comm->me == 0) error->warning(FLERR, diff --git a/src/MANYBODY/pair_eam.cpp b/src/MANYBODY/pair_eam.cpp index d1b56a9eae..e4a0155ab9 100644 --- a/src/MANYBODY/pair_eam.cpp +++ b/src/MANYBODY/pair_eam.cpp @@ -328,7 +328,7 @@ void PairEAM::compute(int eflag, int vflag) } if (eflag && (!exceeded_rhomax)) { - MPI_Allreduce(&beyond_rhomax, &exceeded_rhomax, 1, MPI_INT, MPI_MAX, world); + MPI_Allreduce(&beyond_rhomax, &exceeded_rhomax, 1, MPI_INT, MPI_SUM, world); if (exceeded_rhomax) { if (comm->me == 0) error->warning(FLERR, diff --git a/src/OPENMP/pair_eam_omp.cpp b/src/OPENMP/pair_eam_omp.cpp index 1d3c7ded3a..56d41973c9 100644 --- a/src/OPENMP/pair_eam_omp.cpp +++ b/src/OPENMP/pair_eam_omp.cpp @@ -305,7 +305,7 @@ void PairEAMOMP::eval(int iifrom, int iito, ThrData * const thr) } if (EFLAG && (!exceeded_rhomax)) { - MPI_Allreduce(&beyond_rhomax, &exceeded_rhomax, 1, MPI_INT, MPI_MAX, world); + MPI_Allreduce(&beyond_rhomax, &exceeded_rhomax, 1, MPI_INT, MPI_SUM, world); if (exceeded_rhomax) { if (comm->me == 0) error->warning(FLERR, diff --git a/src/OPT/pair_eam_opt.cpp b/src/OPT/pair_eam_opt.cpp index 20463515da..96afff4ee5 100644 --- a/src/OPT/pair_eam_opt.cpp +++ b/src/OPT/pair_eam_opt.cpp @@ -367,7 +367,7 @@ template void PairEAMOpt::eval() fast_gamma = nullptr; if (EFLAG && (!exceeded_rhomax)) { - MPI_Allreduce(&beyond_rhomax, &exceeded_rhomax, 1, MPI_INT, MPI_MAX, world); + MPI_Allreduce(&beyond_rhomax, &exceeded_rhomax, 1, MPI_INT, MPI_SUM, world); if (exceeded_rhomax) { if (comm->me == 0) error->warning(FLERR, From 1b88adf73ed3cdc3adadb60918b4aa505fb407a1 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 17 Apr 2024 14:37:51 -0400 Subject: [PATCH 488/559] move communication for eam/omp warning outside the threaded region. undo for INTEL --- src/INTEL/pair_eam_intel.cpp | 22 +++----------------- src/OPENMP/pair_eam_omp.cpp | 40 ++++++++++++++++++------------------ src/OPENMP/pair_eam_omp.h | 2 +- 3 files changed, 24 insertions(+), 40 deletions(-) diff --git a/src/INTEL/pair_eam_intel.cpp b/src/INTEL/pair_eam_intel.cpp index 3f1f54e3c0..a7fd6af408 100644 --- a/src/INTEL/pair_eam_intel.cpp +++ b/src/INTEL/pair_eam_intel.cpp @@ -234,7 +234,6 @@ void PairEAMIntel::eval(const int offload, const int vflag, const int istride = fc.rhor_istride(); const int jstride = fc.rhor_jstride(); const int fstride = fc.frho_stride(); - int beyond_rhomax = 0; { #if defined(__MIC__) && defined(_LMP_INTEL_OFFLOAD) *timer_compute = MIC_Wtime(); @@ -453,10 +452,7 @@ void PairEAMIntel::eval(const int offload, const int vflag, if (EFLAG) { flt_t phi = ((frho_spline_e[ioff].a*p + frho_spline_e[ioff].b)*p + frho_spline_e[ioff].c)*p + frho_spline_e[ioff].d; - if (rho[i] > frhomax) { - phi += fp_f[i] * (rho[i]-frhomax); - beyond_rhomax = 1; - } + if (rho[i] > frhomax) phi += fp_f[i] * (rho[i]-frhomax); if (!ONETYPE) { const int ptr_off=itype*ntypes + itype; oscale = scale_f[ptr_off]; @@ -568,12 +564,10 @@ void PairEAMIntel::eval(const int offload, const int vflag, } else rhoip = rhojp; const flt_t z2p = (z2r_spline_t[joff].a*p + - z2r_spline_t[joff].b)*p + - z2r_spline_t[joff].c; + z2r_spline_t[joff].b)*p + z2r_spline_t[joff].c; const flt_t z2 = ((z2r_spline_t[joff].d*p + z2r_spline_t[joff].e)*p + - z2r_spline_t[joff].f)*p + - z2r_spline_t[joff].g; + z2r_spline_t[joff].f)*p + z2r_spline_t[joff].g; const flt_t recip = (flt_t)1.0/r; const flt_t phi = z2*recip; @@ -656,16 +650,6 @@ void PairEAMIntel::eval(const int offload, const int vflag, else fix->stop_watch(TIME_HOST_PAIR); - if (EFLAG && (!exceeded_rhomax)) { - MPI_Allreduce(&beyond_rhomax, &exceeded_rhomax, 1, MPI_INT, MPI_SUM, world); - if (exceeded_rhomax) { - if (comm->me == 0) - error->warning(FLERR, - "A per-atom density exceeded rhomax of EAM potential table - " - "a linear extrapolation to the energy was made"); - } - } - if (EFLAG || vflag) fix->add_result_array(f_start, ev_global, offload, eatom, 0, vflag); else diff --git a/src/OPENMP/pair_eam_omp.cpp b/src/OPENMP/pair_eam_omp.cpp index 56d41973c9..c530f383df 100644 --- a/src/OPENMP/pair_eam_omp.cpp +++ b/src/OPENMP/pair_eam_omp.cpp @@ -46,6 +46,7 @@ void PairEAMOMP::compute(int eflag, int vflag) const int nall = atom->nlocal + atom->nghost; const int nthreads = comm->nthreads; const int inum = list->inum; + int beyond_rhomax = 0; // grow energy and fp arrays if necessary // need to be atom->nmax in length @@ -61,7 +62,7 @@ void PairEAMOMP::compute(int eflag, int vflag) } #if defined(_OPENMP) -#pragma omp parallel LMP_DEFAULT_NONE LMP_SHARED(eflag,vflag) +#pragma omp parallel LMP_DEFAULT_NONE LMP_SHARED(eflag,vflag) reduction(+:beyond_rhomax) #endif { int ifrom, ito, tid; @@ -78,24 +79,34 @@ void PairEAMOMP::compute(int eflag, int vflag) if (evflag) { if (eflag) { - if (force->newton_pair) eval<1,1,1>(ifrom, ito, thr); - else eval<1,1,0>(ifrom, ito, thr); + if (force->newton_pair) eval<1,1,1>(ifrom, ito, &beyond_rhomax, thr); + else eval<1,1,0>(ifrom, ito, &beyond_rhomax, thr); } else { - if (force->newton_pair) eval<1,0,1>(ifrom, ito, thr); - else eval<1,0,0>(ifrom, ito, thr); + if (force->newton_pair) eval<1,0,1>(ifrom, ito, &beyond_rhomax, thr); + else eval<1,0,0>(ifrom, ito, &beyond_rhomax, thr); } } else { - if (force->newton_pair) eval<0,0,1>(ifrom, ito, thr); - else eval<0,0,0>(ifrom, ito, thr); + if (force->newton_pair) eval<0,0,1>(ifrom, ito, &beyond_rhomax, thr); + else eval<0,0,0>(ifrom, ito, &beyond_rhomax, thr); } thr->timer(Timer::PAIR); reduce_thr(this, eflag, vflag, thr); } // end of omp parallel region + + if (eflag && (!exceeded_rhomax)) { + MPI_Allreduce(&beyond_rhomax, &exceeded_rhomax, 1, MPI_INT, MPI_SUM, world); + if (exceeded_rhomax) { + if (comm->me == 0) + error->warning(FLERR, + "A per-atom density exceeded rhomax of EAM potential table - " + "a linear extrapolation to the energy was made"); + } + } } template -void PairEAMOMP::eval(int iifrom, int iito, ThrData * const thr) +void PairEAMOMP::eval(int iifrom, int iito, int *beyond_rhomax, ThrData * const thr) { int i,j,ii,jj,m,jnum,itype,jtype; double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fpair; @@ -103,7 +114,6 @@ void PairEAMOMP::eval(int iifrom, int iito, ThrData * const thr) double *coeff; int *ilist,*jlist,*numneigh,**firstneigh; - int beyond_rhomax = 0; evdwl = 0.0; const auto * _noalias const x = (dbl3_t *) atom->x[0]; @@ -207,7 +217,7 @@ void PairEAMOMP::eval(int iifrom, int iito, ThrData * const thr) phi = ((coeff[3]*p + coeff[4])*p + coeff[5])*p + coeff[6]; if (rho[i] > rhomax) { phi += fp[i] * (rho[i]-rhomax); - beyond_rhomax = 1; + *beyond_rhomax = 1; } e_tally_thr(this, i, i, nlocal, NEWTON_PAIR, scale[type[i]][type[i]]*phi, 0.0, thr); } @@ -303,16 +313,6 @@ void PairEAMOMP::eval(int iifrom, int iito, ThrData * const thr) f[i].y += fytmp; f[i].z += fztmp; } - - if (EFLAG && (!exceeded_rhomax)) { - MPI_Allreduce(&beyond_rhomax, &exceeded_rhomax, 1, MPI_INT, MPI_SUM, world); - if (exceeded_rhomax) { - if (comm->me == 0) - error->warning(FLERR, - "A per-atom density exceeded rhomax of EAM potential table - " - "a linear extrapolation to the energy was made"); - } - } } /* ---------------------------------------------------------------------- */ diff --git a/src/OPENMP/pair_eam_omp.h b/src/OPENMP/pair_eam_omp.h index 1be24fc18a..e801e52762 100644 --- a/src/OPENMP/pair_eam_omp.h +++ b/src/OPENMP/pair_eam_omp.h @@ -39,7 +39,7 @@ class PairEAMOMP : public PairEAM, public ThrOMP { private: template - void eval(int iifrom, int iito, ThrData *const thr); + void eval(int iifrom, int iito, int *beyond_rhomax, ThrData *const thr); }; } // namespace LAMMPS_NS From c5ecef82c12dadad990f5cf9ce755002210d0df5 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Thu, 18 Apr 2024 08:49:18 -0600 Subject: [PATCH 489/559] Updating BPM reference information --- doc/src/Howto_bpm.rst | 9 ++++++++- src/BPM/bond_bpm.cpp | 16 ++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/doc/src/Howto_bpm.rst b/doc/src/Howto_bpm.rst index 0ca4e85fbb..5aa277275d 100644 --- a/doc/src/Howto_bpm.rst +++ b/doc/src/Howto_bpm.rst @@ -15,7 +15,8 @@ orientation for rotational models. This produces a stress-free initial state. Furthermore, bonds are allowed to break under large strains, producing fracture. The examples/bpm directory has sample input scripts for simulations of the fragmentation of an impacted plate and the -pouring of extended, elastic bodies. +pouring of extended, elastic bodies. See :ref:`(Clemmer) ` +for more general information on the approach and the LAMMPS implementation. ---------- @@ -150,3 +151,9 @@ the following are currently compatible with BPM bond styles: interactions, one will need to switch between different *special_bonds* settings in the input script. An example is found in ``examples/bpm/impact``. + +---------- + +.. _howto-Clemmer: + +**(Clemmer)** Clemmer, Monti, Lechman, Soft Matter, 20, 1702 (2024). diff --git a/src/BPM/bond_bpm.cpp b/src/BPM/bond_bpm.cpp index f1482d4203..9c2c680cc5 100644 --- a/src/BPM/bond_bpm.cpp +++ b/src/BPM/bond_bpm.cpp @@ -14,6 +14,7 @@ #include "bond_bpm.h" #include "atom.h" +#include "citeme.h" #include "comm.h" #include "domain.h" #include "error.h" @@ -30,6 +31,19 @@ using namespace LAMMPS_NS; +static const char cite_bpm[] = + "BPM bond style: doi:10.1039/D3SM01373A\n\n" + "@Article{Clemmer2024,\n" + " author = {Clemmer, Joel T. and Monti, Joseph M. and Lechman, Jeremy B.},\n" + " title = {A soft departure from jamming: the compaction of deformable\n" + " granular matter under high pressures},\n" + " journal = {Soft Matter},\n" + " year = 2024,\n" + " volume = 20,\n" + " number = 8,\n" + " pages = {1702--1718}\n" + "}\n\n"; + /* ---------------------------------------------------------------------- */ BondBPM::BondBPM(LAMMPS *_lmp) : @@ -55,6 +69,8 @@ BondBPM::BondBPM(LAMMPS *_lmp) : id_fix_dummy2 = utils::strdup("BPM_DUMMY2"); modify->add_fix(fmt::format("{} all DUMMY ", id_fix_dummy2)); + + if (lmp->citeme) lmp->citeme->add(cite_bpm); } /* ---------------------------------------------------------------------- */ From 931417da0ae4c27bce30e87a72ebb19bb145139b Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Thu, 18 Apr 2024 11:00:02 -0400 Subject: [PATCH 490/559] always return integers for counts previously, atom, bond, angles, dihedral and improper counts were normalized by natoms when using LJ units --- doc/src/compute_count_type.rst | 3 ++- src/compute_count_type.cpp | 12 ++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/doc/src/compute_count_type.rst b/doc/src/compute_count_type.rst index ca3b02ecdb..de28be75e9 100644 --- a/doc/src/compute_count_type.rst +++ b/doc/src/compute_count_type.rst @@ -112,7 +112,8 @@ These values can be used by any command that uses global scalar or vector values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. -The scalar and vector values calculated by this compute are "extensive". +The scalar and vector values returned by this compute are non-negative +integers. Restrictions """""""""""" diff --git a/src/compute_count_type.cpp b/src/compute_count_type.cpp index d430b23e11..7b1651b61c 100644 --- a/src/compute_count_type.cpp +++ b/src/compute_count_type.cpp @@ -62,24 +62,24 @@ ComputeCountType::ComputeCountType(LAMMPS *lmp, int narg, char **arg) : if (mode == ATOM) { vector_flag = 1; size_vector = atom->ntypes; - extvector = 1; + extvector = 0; } else if (mode == BOND) { scalar_flag = vector_flag = 1; size_vector = atom->nbondtypes; - extscalar = 1; - extvector = 1; + extscalar = 0; + extvector = 0; } else if (mode == ANGLE) { vector_flag = 1; size_vector = atom->nangletypes; - extvector = 1; + extvector = 0; } else if (mode == DIHEDRAL) { vector_flag = 1; size_vector = atom->ndihedraltypes; - extvector = 1; + extvector = 0; } else if (mode == IMPROPER) { vector_flag = 1; size_vector = atom->nimpropertypes; - extvector = 1; + extvector = 0; } // output vector From 97d8ecbac161e1335d9eb6613230b8c7761c97c7 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Fri, 19 Apr 2024 15:14:42 -0600 Subject: [PATCH 491/559] Improvements & bug fixes to fix def/press --- doc/src/fix_deform_pressure.rst | 19 ++++- src/EXTRA-FIX/fix_deform_pressure.cpp | 100 ++++++++++++++++++++------ src/EXTRA-FIX/fix_deform_pressure.h | 3 + src/fix_deform.cpp | 2 +- src/fix_deform.h | 2 +- 5 files changed, 100 insertions(+), 26 deletions(-) diff --git a/doc/src/fix_deform_pressure.rst b/doc/src/fix_deform_pressure.rst index c814aa892f..09472ed0c9 100644 --- a/doc/src/fix_deform_pressure.rst +++ b/doc/src/fix_deform_pressure.rst @@ -29,10 +29,12 @@ Syntax NOTE: All other styles are documented by the :doc:`fix deform ` command *xy*, *xz*, *yz* args = style value - style = *final* or *delta* or *vel* or *erate* or *trate* or *wiggle* or *variable* or *pressure* + style = *final* or *delta* or *vel* or *erate* or *trate* or *wiggle* or *variable* or *pressure* or *erate/rescale* *pressure* values = target gain target = target pressure (pressure units) gain = proportional gain constant (1/(time * pressure) or 1/time units) + *erate/rescale* value = R + R = engineering shear strain rate (1/time units) NOTE: All other styles are documented by the :doc:`fix deform ` command *box* = style value @@ -159,6 +161,21 @@ details of a simulation and testing different values is recommended. One can also apply a maximum limit to the magnitude of the applied strain using the :ref:`max/rate ` option. +The *erate/rescale* style operates similarly to the *erate* style with +a specified strain rate in units of 1/time. The difference is that +the change in the tilt factor will depend on the current length of +the box perpendicular to the shear direction, L, instead of the +original length, L0. The tilt factor T as a function of time will +change as + +.. parsed-literal:: + + T(t) = T(t-1) + L\*erate\* \Delta t + +where T(t-1) is the tilt factor on the previous timestep and :math:`\Delta t` +is the timestep size. This option may be useful in scenarios where +L changes in time. + ---------- The *box* parameter provides an additional control over the *x*, *y*, diff --git a/src/EXTRA-FIX/fix_deform_pressure.cpp b/src/EXTRA-FIX/fix_deform_pressure.cpp index 95788c23d6..869129d742 100644 --- a/src/EXTRA-FIX/fix_deform_pressure.cpp +++ b/src/EXTRA-FIX/fix_deform_pressure.cpp @@ -110,6 +110,12 @@ FixDeformPressure::FixDeformPressure(LAMMPS *lmp, int narg, char **arg) : } set_extra[index].pgain = utils::numeric(FLERR, arg[iarg + 3], false, lmp); i += 4; + } else if (strcmp(arg[iarg + 1], "erate/rescale") == 0) { + if (iarg + 3 > narg) utils::missing_cmd_args(FLERR, "fix deform/pressure erate/rescale", error); + set[index].style = ERATERS; + set[index].rate = utils::numeric(FLERR, arg[iarg + 2], false, lmp); + iarg += 3; + i += 3; } else error->all(FLERR, "Illegal fix deform/pressure command: {}", arg[iarg + 1]); } else if (strcmp(arg[iarg], "box") == 0) { @@ -424,16 +430,31 @@ void FixDeformPressure::init() if (!pressure) error->all(FLERR, "Pressure ID {} for fix deform/pressure does not exist", id_press); } + + // if yz [3] changes and will cause box flip, then xy [5] cannot be changing + // this is b/c the flips would induce continuous changes in xz + // in order to keep the edge vectors of the flipped shape matrix + // an integer combination of the edge vectors of the unflipped shape matrix + // error if style PRESSURE/ERATEER for yz, can't calculate if box flip occurs + + if (set[3].style && set[5].style) { + int flag = 0; + double lo,hi; + if (flipflag && set[3].style == PRESSURE) + error->all(FLERR, "Fix {} cannot use yz pressure with xy", style); + if (flipflag && set[3].style == ERATERS) + error->all(FLERR, "Fix {} cannot use yz erate/rescale with xy", style); + } } /* ---------------------------------------------------------------------- - compute T,P if needed before integrator starts + compute T,P before integrator starts ------------------------------------------------------------------------- */ void FixDeformPressure::setup(int /*vflag*/) { - // trigger virial computation on next timestep - if (pressure_flag) pressure->addstep(update->ntimestep+1); + // trigger virial computation, if needed, on next timestep + if (pressure_flag) pressure->addstep(update->ntimestep + 1); } /* ---------------------------------------------------------------------- */ @@ -446,7 +467,20 @@ void FixDeformPressure::end_of_step() // set new box size for strain-based dims - if (strain_flag) FixDeform::apply_strain(); + if (strain_flag) { + FixDeform::apply_strain(); + + for (int i = 3; i < 6; i++) { + if (set[i].style == ERATERS) { + double L = domain->zprd; + if (i == 5) L = domain->yprd; + + h_rate[i] = set[i].rate * L; + set_extra[i].cumulative_shift += update->dt * h_rate[i]; + set[i].tilt_target = set[i].tilt_start + set_extra[i].cumulative_shift; + } + } + } // set new box size for pressure-based dims @@ -479,12 +513,33 @@ void FixDeformPressure::end_of_step() for (int i = 0; i < 3; i++) { set_extra[i].prior_pressure = pressure->vector[i]; set_extra[i].prior_rate = ((set[i].hi_target - set[i].lo_target) / - (domain->boxhi[i] - domain->boxlo[i]) - 1.0) / update->dt; + domain->prd[i] - 1.0) / update->dt; } } if (varflag) modify->addstep_compute(update->ntimestep + nevery); + // If tilting while evolving linear dimension, sum remapping effects + // otherwise, update_domain() will inaccurately use the current + // linear dimension to apply prior remappings + + for (int i = 3; i < 6; i++) { + int idenom = 0; + if (i == 3) idenom = 1; + if (set[i].style && (set_box.style || set[idenom].style)) { + // Add prior remappings. If the box remaps this timestep, don't + // add it yet so update_domain() will first detect the remapping + set[i].tilt_target += set_extra[i].cumulative_remap; + + // Update remapping for next timestep + double prd = set[idenom].hi_target - set[idenom].lo_target; + double prdinv = 1.0 / prd; + if (set[i].tilt_target * prdinv < -0.5) + set_extra[i].cumulative_remap += prd; + if (set[i].tilt_target * prdinv > 0.5) + set_extra[i].cumulative_remap -= prd; + } + } FixDeform::update_domain(); @@ -556,26 +611,24 @@ void FixDeformPressure::apply_pressure() h_ratelo[i] = -0.5 * h_rate[i]; - double offset = 0.5 * (domain->boxhi[i] - domain->boxlo[i]) * (1.0 + update->dt * h_rate[i]); - set[i].lo_target = 0.5 * (set[i].lo_start + set[i].hi_start) - offset; - set[i].hi_target = 0.5 * (set[i].lo_start + set[i].hi_start) + offset; + double shift = domain->prd[i] * update->dt * h_rate[i]; + set_extra[i].cumulative_shift += shift; + set[i].lo_target = set[i].lo_start - 0.5 * set_extra[i].cumulative_shift; + set[i].hi_target = set[i].hi_start + 0.5 * set_extra[i].cumulative_shift; } for (int i = 3; i < 6; i++) { if (set[i].style != PRESSURE) continue; - double L, tilt, pcurrent; + double L, pcurrent; if (i == 3) { L = domain->zprd; - tilt = domain->yz; pcurrent = tensor[5]; } else if (i == 4) { L = domain->zprd; - tilt = domain->xz + update->dt; pcurrent = tensor[4]; } else { L = domain->yprd; - tilt = domain->xy; pcurrent = tensor[3]; } @@ -592,7 +645,8 @@ void FixDeformPressure::apply_pressure() if (fabs(h_rate[i]) > max_h_rate) h_rate[i] = max_h_rate * h_rate[i] / fabs(h_rate[i]); - set[i].tilt_target = tilt + update->dt * h_rate[i]; + set_extra[i].cumulative_shift += update->dt * h_rate[i]; + set[i].tilt_target = set[i].tilt_start + set_extra[i].cumulative_shift; } } @@ -629,9 +683,9 @@ void FixDeformPressure::apply_volume() double dt = update->dt; double e1i = set_extra[i].prior_rate; double e2i = set_extra[fixed].prior_rate; - double L1i = domain->boxhi[i] - domain->boxlo[i]; - double L2i = domain->boxhi[fixed] - domain->boxlo[fixed]; - double L3i = domain->boxhi[dynamic1] - domain->boxlo[dynamic1]; + double L1i = domain->prd[i]; + double L2i = domain->prd[fixed]; + double L3i = domain->prd[dynamic1]; double L3 = (set[dynamic1].hi_target - set[dynamic1].lo_target); double Vi = L1i * L2i * L3i; double V = L3 * L1i * L2i; @@ -680,7 +734,7 @@ void FixDeformPressure::apply_volume() } } - h_rate[i] = (2.0 * shift / (domain->boxhi[i] - domain->boxlo[i]) - 1.0) / update->dt; + h_rate[i] = (2.0 * shift / domain->prd[i] - 1.0) / update->dt; h_ratelo[i] = -0.5 * h_rate[i]; set[i].lo_target = 0.5 * (set[i].lo_start + set[i].hi_start) - shift; @@ -742,7 +796,7 @@ void FixDeformPressure::apply_box() set[i].hi_target = 0.5 * (set[i].lo_start + set[i].hi_start) + shift; // Recalculate h_rate - h_rate[i] = (set[i].hi_target - set[i].lo_target) / (domain->boxhi[i] - domain->boxlo[i]) - 1.0; + h_rate[i] = (set[i].hi_target - set[i].lo_target) / domain->prd[i] - 1.0; h_rate[i] /= update->dt; h_ratelo[i] = -0.5 * h_rate[i]; } @@ -767,14 +821,14 @@ void FixDeformPressure::apply_box() if (fabs(v_rate) > max_h_rate) v_rate = max_h_rate * v_rate / fabs(v_rate); - scale = (1.0 + update->dt * v_rate); for (i = 0; i < 3; i++) { - shift = 0.5 * (set[i].hi_target - set[i].lo_target) * scale; - set[i].lo_target = 0.5 * (set[i].lo_start + set[i].hi_start) - shift; - set[i].hi_target = 0.5 * (set[i].lo_start + set[i].hi_start) + shift; + shift = (set[i].hi_target - set[i].lo_target) * update->dt * v_rate; + set_extra[6].cumulative_vshift[i] += shift; + set[i].lo_target -= 0.5 * set_extra[6].cumulative_vshift[i]; + set[i].hi_target += 0.5 * set_extra[6].cumulative_vshift[i]; // Recalculate h_rate - h_rate[i] = (set[i].hi_target - set[i].lo_target) / (domain->boxhi[i] - domain->boxlo[i]) - 1.0; + h_rate[i] = (set[i].hi_target - set[i].lo_target) / domain->prd[i] - 1.0; h_rate[i] /= update->dt; h_ratelo[i] = -0.5 * h_rate[i]; } diff --git a/src/EXTRA-FIX/fix_deform_pressure.h b/src/EXTRA-FIX/fix_deform_pressure.h index 10af1e5ba3..7ce69b9bc5 100644 --- a/src/EXTRA-FIX/fix_deform_pressure.h +++ b/src/EXTRA-FIX/fix_deform_pressure.h @@ -51,6 +51,9 @@ class FixDeformPressure : public FixDeform { struct SetExtra { double ptarget, pgain; double prior_pressure, prior_rate; + double cumulative_shift; + double cumulative_vshift[3]; + double cumulative_remap; int saved; char *pstr; int pvar, pvar_flag; diff --git a/src/fix_deform.cpp b/src/fix_deform.cpp index bb27faeaa8..135d7176e6 100644 --- a/src/fix_deform.cpp +++ b/src/fix_deform.cpp @@ -63,7 +63,7 @@ irregular(nullptr), set(nullptr) int nskip; if (utils::strmatch(style, "^deform/pressure")) { child_parameters.insert("box"); - child_styles.insert({{"pressure", 4}, {"pressure/mean", 4}, {"volume", 2}}); + child_styles.insert({{"pressure", 4}, {"pressure/mean", 4}, {"erate/rescale", 3}, {"volume", 2}}); } // set defaults diff --git a/src/fix_deform.h b/src/fix_deform.h index b133729444..c524c2fe6c 100644 --- a/src/fix_deform.h +++ b/src/fix_deform.h @@ -29,7 +29,7 @@ class FixDeform : public Fix { int remapflag; // whether x,v are remapped across PBC int dimflag[6]; // which dims are deformed - enum { NONE, FINAL, DELTA, SCALE, VEL, ERATE, TRATE, VOLUME, WIGGLE, VARIABLE, PRESSURE, PMEAN }; + enum { NONE, FINAL, DELTA, SCALE, VEL, ERATE, TRATE, VOLUME, WIGGLE, VARIABLE, PRESSURE, PMEAN, ERATERS }; enum { ONE_FROM_ONE, ONE_FROM_TWO, TWO_FROM_ONE }; FixDeform(class LAMMPS *, int, char **); From 14dc82a2bf54698f187419190233e1ff50022678 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Fri, 19 Apr 2024 15:40:27 -0600 Subject: [PATCH 492/559] Adding periodicity check --- src/EXTRA-FIX/fix_deform_pressure.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EXTRA-FIX/fix_deform_pressure.cpp b/src/EXTRA-FIX/fix_deform_pressure.cpp index 869129d742..29506881fc 100644 --- a/src/EXTRA-FIX/fix_deform_pressure.cpp +++ b/src/EXTRA-FIX/fix_deform_pressure.cpp @@ -526,7 +526,7 @@ void FixDeformPressure::end_of_step() for (int i = 3; i < 6; i++) { int idenom = 0; if (i == 3) idenom = 1; - if (set[i].style && (set_box.style || set[idenom].style)) { + if (set[i].style && (set_box.style || set[idenom].style) && domain->periodicity[idenom]) { // Add prior remappings. If the box remaps this timestep, don't // add it yet so update_domain() will first detect the remapping set[i].tilt_target += set_extra[i].cumulative_remap; From 38c7d7aa1cc62f64fc62eb9cf0e3194faeae3d28 Mon Sep 17 00:00:00 2001 From: Germain Clavier Date: Sat, 20 Apr 2024 17:31:34 +0200 Subject: [PATCH 493/559] Added a vectorstyle variable check for fix_ave_histo.cpp --- src/fix_ave_histo.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/fix_ave_histo.cpp b/src/fix_ave_histo.cpp index 4503ad56f4..4a5debe799 100644 --- a/src/fix_ave_histo.cpp +++ b/src/fix_ave_histo.cpp @@ -207,7 +207,8 @@ FixAveHisto::FixAveHisto(LAMMPS *lmp, int narg, char **arg) : if (val.val.v < 0) error->all(FLERR,"Variable name {} for {} does not exist", val.id, mycmd); // variables only produce one kind of output - if (input->variable->equalstyle(val.val.v)) kindglobal = 1; + if (input->variable->equalstyle(val.val.v) || input->variable->vectorstyle(val.val.v)) + kindglobal = 1; else if (input->variable->atomstyle(val.val.v)) kindperatom = 1; else error->all(FLERR,"{} variable {} is incompatible style", mycmd, val.id); } From 6bd57cd90a75cbf0dd045f53113cec0c250af723 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Sun, 21 Apr 2024 23:20:20 -0400 Subject: [PATCH 494/559] fix atom/swap reports value as intensive --- doc/src/fix_atom_swap.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/fix_atom_swap.rst b/doc/src/fix_atom_swap.rst index aa8127561c..c215fa4ff5 100644 --- a/doc/src/fix_atom_swap.rst +++ b/doc/src/fix_atom_swap.rst @@ -168,7 +168,7 @@ the following global cumulative quantities: * 1 = swap attempts * 2 = swap accepts -The vector values calculated by this fix are "extensive". +The vector values calculated by this fix are "intensive". No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. This fix is not invoked during From 26c8a3a63996c7040d9f18f1991fa403535002a0 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Sun, 21 Apr 2024 23:25:33 -0400 Subject: [PATCH 495/559] fix gcmc and widom also report 'intensively' --- doc/src/fix_gcmc.rst | 2 +- doc/src/fix_widom.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/fix_gcmc.rst b/doc/src/fix_gcmc.rst index a21e85d803..f3bd0891b9 100644 --- a/doc/src/fix_gcmc.rst +++ b/doc/src/fix_gcmc.rst @@ -427,7 +427,7 @@ the following global cumulative quantities: * 7 = rotation attempts * 8 = rotation successes -The vector values calculated by this fix are "extensive". +The vector values calculated by this fix are "intensive". No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. This fix is not invoked during diff --git a/doc/src/fix_widom.rst b/doc/src/fix_widom.rst index 43e081800f..c14b88a2e4 100644 --- a/doc/src/fix_widom.rst +++ b/doc/src/fix_widom.rst @@ -179,7 +179,7 @@ the following global cumulative quantities: * 2 = average difference in potential energy on each timestep * 3 = volume of the insertion region -The vector values calculated by this fix are "extensive". +The vector values calculated by this fix are "intensive". No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. This fix is not invoked during From a50192a7d14400546f136aa373a4ad007df66620 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Sun, 21 Apr 2024 23:29:27 -0400 Subject: [PATCH 496/559] mol/swap also flags output as intensive value! --- doc/src/fix_mol_swap.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/fix_mol_swap.rst b/doc/src/fix_mol_swap.rst index b344b9c0e6..4f99c3748b 100644 --- a/doc/src/fix_mol_swap.rst +++ b/doc/src/fix_mol_swap.rst @@ -146,7 +146,7 @@ the following global cumulative quantities: * 1 = swap attempts * 2 = swap accepts -The vector values calculated by this fix are "extensive". +The vector values calculated by this fix are "intensive". No parameter of this fix can be used with the *start/stop* keywords of the :doc:`run ` command. This fix is not invoked during From e15f7a1e962d57249ed00bdae7e7112e42513d9b Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Sun, 21 Apr 2024 23:38:15 -0400 Subject: [PATCH 497/559] clarify that sgcmc output is intensive --- doc/src/fix_sgcmc.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/src/fix_sgcmc.rst b/doc/src/fix_sgcmc.rst index bcdbdf2736..6be5cd2e1a 100644 --- a/doc/src/fix_sgcmc.rst +++ b/doc/src/fix_sgcmc.rst @@ -148,6 +148,8 @@ components of the vector represent the following quantities: * ... * N+2: The current global concentration of species *X* (= number of atoms of type *N* / total number of atoms) +The vector values calculated by this fix are "intensive". + Restrictions """""""""""" From 761cfdaabf08bdd599137ded80d9bfd6b4bb8605 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 22 Apr 2024 07:26:02 -0400 Subject: [PATCH 498/559] switch markdown formatting to restructured text --- doc/src/compute_count_type.rst | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/doc/src/compute_count_type.rst b/doc/src/compute_count_type.rst index de28be75e9..02508cf8dd 100644 --- a/doc/src/compute_count_type.rst +++ b/doc/src/compute_count_type.rst @@ -12,7 +12,7 @@ Syntax * ID, group-ID are documented in :doc:`compute ` command * count/type = style name of this compute command -* mode = {atom} or {bond} or {angle} or {dihedral} or {improper} +* mode = *atom* or *bond* or *angle* or *dihedral* or *improper* Examples """""""" @@ -69,29 +69,29 @@ for each type: ---------- -If the {mode} setting is {atom} then the count of atoms for each atom +If the *mode* setting is *atom* then the count of atoms for each atom type is tallied. Only atoms in the specified group are counted. -If the {mode} setting is {bond} then the count of bonds for each bond +If the *mode* setting is *bond* then the count of bonds for each bond type is tallied. Only bonds with both atoms in the specified group are counted. -For {mode} = {bond}, broken bonds with a bond type of zero are also +For *mode* = *bond*, broken bonds with a bond type of zero are also counted. The :doc:`bond_style quartic ` and :doc:`BPM bond styles ` break bonds by doing this. See the :doc:` Howto broken bonds ` doc page for more details. Note that the group setting is ignored for broken bonds; all broken bonds in the system are counted. -If the {mode} setting is {angle} then the count of angles for each +If the *mode* setting is *angle* then the count of angles for each angle type is tallied. Only angles with all 3 atoms in the specified group are counted. -If the {mode} setting is {dihedral} then the count of dihedrals for +If the *mode* setting is *dihedral* then the count of dihedrals for each dihedral type is tallied. Only dihedrals with all 4 atoms in the specified group are counted. -If the {mode} setting is {improper} then the count of impropers for +If the *mode* setting is *improper* then the count of impropers for each improper type is tallied. Only impropers with all 4 atoms in the specified group are counted. @@ -101,11 +101,11 @@ Output info """"""""""" This compute calculates a global vector of counts. If the mode is -{atom} or {bond} or {angle} or {dihedral} or {improper}, then the +*atom* or *bond* or *angle* or *dihedral* or *improper*, then the vector length is the number of atom types or bond types or angle types or dihedral types or improper types, respectively. -If the mode is {bond} this compute also calculates a global scalar +If the mode is *bond* this compute also calculates a global scalar which is the number of broken bonds with type = 0, as explained above. These values can be used by any command that uses global scalar or From 3ab6997a5bb261c70eb0346a73c1c8d146c27215 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 22 Apr 2024 07:28:53 -0400 Subject: [PATCH 499/559] fix broken link --- doc/src/compute_count_type.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/compute_count_type.rst b/doc/src/compute_count_type.rst index 02508cf8dd..b0985a1caf 100644 --- a/doc/src/compute_count_type.rst +++ b/doc/src/compute_count_type.rst @@ -78,8 +78,8 @@ are counted. For *mode* = *bond*, broken bonds with a bond type of zero are also counted. The :doc:`bond_style quartic ` and :doc:`BPM -bond styles ` break bonds by doing this. See the :doc:` -Howto broken bonds ` doc page for more details. +bond styles ` break bonds by doing this. See the +:doc:`Howto broken bonds ` doc page for more details. Note that the group setting is ignored for broken bonds; all broken bonds in the system are counted. From d896f307ba676a0b69a04c63b5705c09a553d932 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Mon, 22 Apr 2024 14:00:38 -0400 Subject: [PATCH 500/559] Update fix_hyper_local.rst --- doc/src/fix_hyper_local.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/doc/src/fix_hyper_local.rst b/doc/src/fix_hyper_local.rst index 76b17cddc4..54a4516fd1 100644 --- a/doc/src/fix_hyper_local.rst +++ b/doc/src/fix_hyper_local.rst @@ -512,8 +512,7 @@ Value 27 computes the average boost for biased bonds only on this step. Value 28 is the count of bonds with an absolute value of strain >= q on this step. -The scalar value is an "extensive" quantity since it grows with the -system size; the vector values are all "intensive". +The scalar value and vector values are all "intensive". This fix also computes a local vector of length the number of bonds currently in the system. The value for each bond is its :math:`C_{ij}` From a88e8757e3cedfa0c13f5fec85fd0ab318ba2e2e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 22 Apr 2024 19:55:52 -0400 Subject: [PATCH 501/559] guard against not setting extscalar, extvector, or extarray when required --- src/compute.cpp | 11 +++++++++++ src/fix.cpp | 20 ++++++++++++++++++-- src/fix.h | 1 + src/modify.cpp | 9 ++++++++- 4 files changed, 38 insertions(+), 3 deletions(-) diff --git a/src/compute.cpp b/src/compute.cpp index a12373fd51..5d5a4d5246 100644 --- a/src/compute.cpp +++ b/src/compute.cpp @@ -59,6 +59,7 @@ Compute::Compute(LAMMPS *lmp, int narg, char **arg) : // set child class defaults scalar_flag = vector_flag = array_flag = 0; + extscalar = extvector = extarray = -1; peratom_flag = local_flag = pergrid_flag = 0; size_vector_variable = size_array_rows_variable = 0; @@ -116,6 +117,16 @@ void Compute::init_flags() initialized_flag = 1; invoked_scalar = invoked_vector = invoked_array = -1; invoked_peratom = invoked_local = -1; + + if (scalar_flag && (extscalar < 0)) + error->all(FLERR, "Must set 'extscalar' when setting 'scalar_flag' for compute {}. " + "Contact the developer.", style); + if (vector_flag && (extvector < 0)) + error->all(FLERR, "Must set 'extvector' when setting 'vector_flag' for compute {}. " + "Contact the developer.", style); + if (array_flag && (extarray < 0)) + error->all(FLERR, "Must set 'extarray' when setting 'array_flag' for compute {}. " + "Contact the developer.", style); } /* ---------------------------------------------------------------------- */ diff --git a/src/fix.cpp b/src/fix.cpp index 754948fdd1..1e1ab8c928 100644 --- a/src/fix.cpp +++ b/src/fix.cpp @@ -81,6 +81,7 @@ Fix::Fix(LAMMPS *lmp, int /*narg*/, char **arg) : diam_flag = 0; scalar_flag = vector_flag = array_flag = 0; + extscalar = extvector = extarray = -1; peratom_flag = local_flag = pergrid_flag = 0; global_freq = local_freq = peratom_freq = pergrid_freq = -1; size_vector_variable = size_array_rows_variable = 0; @@ -119,13 +120,28 @@ Fix::~Fix() { if (copymode) return; - delete [] id; - delete [] style; + delete[] id; + delete[] style; memory->destroy(eatom); memory->destroy(vatom); memory->destroy(cvatom); } +/* ---------------------------------------------------------------------- */ + +void Fix::init_flags() +{ + if (scalar_flag && (extscalar < 0)) + error->all(FLERR, "Must set 'extscalar' when setting 'scalar_flag' for fix {}. " + "Contact the developer.", style); + if (vector_flag && (extvector < 0)) + error->all(FLERR, "Must set 'extvector' when setting 'vector_flag' for fix {}. " + "Contact the developer.", style); + if (array_flag && (extarray < 0)) + error->all(FLERR, "Must set 'extarray' when setting 'array_flag' for fix {}. " + "Contact the developer.", style); +} + /* ---------------------------------------------------------------------- process params common to all fixes here if unknown param, call modify_param specific to the fix diff --git a/src/fix.h b/src/fix.h index ca0a1ef84b..594fbb51bf 100644 --- a/src/fix.h +++ b/src/fix.h @@ -145,6 +145,7 @@ class Fix : protected Pointers { virtual void post_constructor() {} virtual void init() {} + void init_flags(); virtual void init_list(int, class NeighList *) {} virtual void setup(int) {} virtual void setup_pre_exchange() {} diff --git a/src/modify.cpp b/src/modify.cpp index ba04c5969a..1a9c056027 100644 --- a/src/modify.cpp +++ b/src/modify.cpp @@ -188,6 +188,8 @@ void Modify::init() // since any of them may be invoked by initial thermo // do not clear out invocation times stored within a compute, // b/c some may be holdovers from previous run, like for ave fixes + // perform check whether extscalar, extvector, and extarray have been + // set when scalar_flag, vector_flag, or array_flag are true. for (i = 0; i < ncompute; i++) { compute[i]->init(); @@ -200,8 +202,13 @@ void Modify::init() // used to b/c temperature computes called fix->dof() in their init, // and fix rigid required its own init before its dof() could be called, // but computes now do their DOF in setup() + // perform check whether extscalar, extvector, and extarray have been + // set when scalar_flag, vector_flag, or array_flag are true. - for (i = 0; i < nfix; i++) fix[i]->init(); + for (i = 0; i < nfix; i++) { + fix[i]->init(); + fix[i]->init_flags(); + } // set global flag if any fix has its restart_pbc flag set From 3ce628cf07c8abfd1e0812a6be3b2ef1299ced29 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 22 Apr 2024 19:58:44 -0400 Subject: [PATCH 502/559] fix extscalar bugs in fix shake and fix sprint/rg --- src/EXTRA-FIX/fix_spring_rg.cpp | 1 + src/RIGID/fix_shake.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/src/EXTRA-FIX/fix_spring_rg.cpp b/src/EXTRA-FIX/fix_spring_rg.cpp index 46afa905b3..3207f92a8d 100644 --- a/src/EXTRA-FIX/fix_spring_rg.cpp +++ b/src/EXTRA-FIX/fix_spring_rg.cpp @@ -46,6 +46,7 @@ FixSpringRG::FixSpringRG(LAMMPS *lmp, int narg, char **arg) : restart_global = 1; scalar_flag = 1; + extscalar = 0; restart_global = 1; dynamic_group_allow = 1; respa_level_support = 1; diff --git a/src/RIGID/fix_shake.cpp b/src/RIGID/fix_shake.cpp index 73c29d86bd..5df0f525e8 100644 --- a/src/RIGID/fix_shake.cpp +++ b/src/RIGID/fix_shake.cpp @@ -63,6 +63,7 @@ FixShake::FixShake(LAMMPS *lmp, int narg, char **arg) : create_attribute = 1; dof_flag = 1; scalar_flag = 1; + extscalar = 1; stores_ids = 1; centroidstressflag = CENTROID_AVAIL; next_output = -1; From 44bfcff550f0d369c724aecd1b12ca96e4497c0f Mon Sep 17 00:00:00 2001 From: jtclemm Date: Mon, 22 Apr 2024 19:08:29 -0600 Subject: [PATCH 503/559] Fixing variable pmean in deform/press --- src/EXTRA-FIX/fix_deform_pressure.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/EXTRA-FIX/fix_deform_pressure.cpp b/src/EXTRA-FIX/fix_deform_pressure.cpp index 29506881fc..e2bcdd7f4e 100644 --- a/src/EXTRA-FIX/fix_deform_pressure.cpp +++ b/src/EXTRA-FIX/fix_deform_pressure.cpp @@ -557,7 +557,7 @@ void FixDeformPressure::apply_pressure() { // If variable pressure, calculate current target for (int i = 0; i < 6; i++) - if (set[i].style == PRESSURE) + if (set[i].style == PRESSURE || set[i].style == PMEAN) if (set_extra[i].pvar_flag) set_extra[i].ptarget = input->variable->compute_equal(set_extra[i].pvar); @@ -824,6 +824,13 @@ void FixDeformPressure::apply_box() for (i = 0; i < 3; i++) { shift = (set[i].hi_target - set[i].lo_target) * update->dt * v_rate; set_extra[6].cumulative_vshift[i] += shift; + + if (set[i].style == NONE) { + // Overwrite default targets of current length + set[i].lo_target = set[i].lo_start; + set[i].hi_target = set[i].hi_start; + } + set[i].lo_target -= 0.5 * set_extra[6].cumulative_vshift[i]; set[i].hi_target += 0.5 * set_extra[6].cumulative_vshift[i]; From dc04a2ec5a19adc5c6894317780159d4e9810411 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 22 Apr 2024 21:22:24 -0400 Subject: [PATCH 504/559] for vectors we have to check for either extvector or extlist --- src/compute.cpp | 4 ++-- src/fix.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/compute.cpp b/src/compute.cpp index 5d5a4d5246..d703cbfe6a 100644 --- a/src/compute.cpp +++ b/src/compute.cpp @@ -121,8 +121,8 @@ void Compute::init_flags() if (scalar_flag && (extscalar < 0)) error->all(FLERR, "Must set 'extscalar' when setting 'scalar_flag' for compute {}. " "Contact the developer.", style); - if (vector_flag && (extvector < 0)) - error->all(FLERR, "Must set 'extvector' when setting 'vector_flag' for compute {}. " + if (vector_flag && (extvector < 0) && !extlist) + error->all(FLERR, "Must set 'extvector' or 'extlist' when setting 'vector_flag' for compute {}. " "Contact the developer.", style); if (array_flag && (extarray < 0)) error->all(FLERR, "Must set 'extarray' when setting 'array_flag' for compute {}. " diff --git a/src/fix.cpp b/src/fix.cpp index 1e1ab8c928..dba225549d 100644 --- a/src/fix.cpp +++ b/src/fix.cpp @@ -134,8 +134,8 @@ void Fix::init_flags() if (scalar_flag && (extscalar < 0)) error->all(FLERR, "Must set 'extscalar' when setting 'scalar_flag' for fix {}. " "Contact the developer.", style); - if (vector_flag && (extvector < 0)) - error->all(FLERR, "Must set 'extvector' when setting 'vector_flag' for fix {}. " + if (vector_flag && (extvector < 0) && !extlist) + error->all(FLERR, "Must set 'extvector' or 'extlist' when setting 'vector_flag' for fix {}. " "Contact the developer.", style); if (array_flag && (extarray < 0)) error->all(FLERR, "Must set 'extarray' when setting 'array_flag' for fix {}. " From f66ae5c28599a428d7e7aaacfeb195d7bc05459b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 22 Apr 2024 21:23:42 -0400 Subject: [PATCH 505/559] output verbose info --- unittest/cplusplus/test_advanced_utils.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/unittest/cplusplus/test_advanced_utils.cpp b/unittest/cplusplus/test_advanced_utils.cpp index 0453ef0143..e20828a2a1 100644 --- a/unittest/cplusplus/test_advanced_utils.cpp +++ b/unittest/cplusplus/test_advanced_utils.cpp @@ -121,6 +121,7 @@ TEST_F(Advanced_utils, expand_args) command("fix 2 all nve"); command("run 1 post no"); auto output = END_CAPTURE_OUTPUT(); + if (verbose) std::cout << output << std::endl; char **args, **earg; constexpr int oarg = 9; From 400070d038f76ed066d6e1544ea206b9c51e0901 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 22 Apr 2024 21:28:56 -0400 Subject: [PATCH 506/559] catch command errors --- unittest/cplusplus/test_advanced_utils.cpp | 35 +++++++++++++++------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/unittest/cplusplus/test_advanced_utils.cpp b/unittest/cplusplus/test_advanced_utils.cpp index e20828a2a1..1da9500b35 100644 --- a/unittest/cplusplus/test_advanced_utils.cpp +++ b/unittest/cplusplus/test_advanced_utils.cpp @@ -110,16 +110,31 @@ TEST_F(Advanced_utils, expand_args) { atomic_system(); BEGIN_CAPTURE_OUTPUT(); - command("compute temp all temp"); - command("variable temp vector c_temp"); - command("variable step equal step"); - command("variable pe equal pe"); - command("variable pe equal pe"); - command("variable epair equal epair"); - command("compute gofr all rdf 20 1 1 1 2"); - command("fix 1 all ave/time 1 1 1 v_step v_pe v_epair"); - command("fix 2 all nve"); - command("run 1 post no"); + try { + command("compute temp all temp"); + command("variable temp vector c_temp"); + command("variable step equal step"); + command("variable pe equal pe"); + command("variable pe equal pe"); + command("variable epair equal epair"); + command("compute gofr all rdf 20 1 1 1 2"); + command("fix 1 all ave/time 1 1 1 v_step v_pe v_epair"); + command("fix 2 all nve"); + command("run 1 post no"); + } catch (LAMMPSAbortException &ae) { + fprintf(stderr, "LAMMPS Error: %s\n", ae.what()); + exit(2); + } catch (LAMMPSException &e) { + fprintf(stderr, "LAMMPS Error: %s\n", e.what()); + exit(3); + } catch (fmt::format_error &fe) { + fprintf(stderr, "fmt::format_error: %s\n", fe.what()); + exit(4); + } catch (std::exception &e) { + fprintf(stderr, "General exception: %s\n", e.what()); + exit(5); + } + auto output = END_CAPTURE_OUTPUT(); if (verbose) std::cout << output << std::endl; From f815ded1b8709292a93d393da8b70adb8eec4a41 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 22 Apr 2024 22:04:42 -0400 Subject: [PATCH 507/559] add a few more intensive vs. externsive settings --- src/GRANULAR/fix_pour.cpp | 1 + src/VORONOI/compute_voronoi_atom.cpp | 1 + src/fix_deposit.cpp | 1 + 3 files changed, 3 insertions(+) diff --git a/src/GRANULAR/fix_pour.cpp b/src/GRANULAR/fix_pour.cpp index cc5f0567e8..2dcaf9069f 100644 --- a/src/GRANULAR/fix_pour.cpp +++ b/src/GRANULAR/fix_pour.cpp @@ -59,6 +59,7 @@ FixPour::FixPour(LAMMPS *lmp, int narg, char **arg) : if (lmp->kokkos) error->all(FLERR, "Cannot yet use fix pour with the KOKKOS package"); scalar_flag = 1; + extscalar = 0; time_depend = 1; if (!atom->radius_flag || !atom->rmass_flag) diff --git a/src/VORONOI/compute_voronoi_atom.cpp b/src/VORONOI/compute_voronoi_atom.cpp index ca4ad4a85c..4aa6ebf559 100644 --- a/src/VORONOI/compute_voronoi_atom.cpp +++ b/src/VORONOI/compute_voronoi_atom.cpp @@ -126,6 +126,7 @@ ComputeVoronoi::ComputeVoronoi(LAMMPS *lmp, int narg, char **arg) : if (maxedge > 0) { vector_flag = 1; + extvector = 0; size_vector = maxedge+1; memory->create(edge,maxedge+1,"voronoi/atom:edge"); memory->create(sendvector,maxedge+1,"voronoi/atom:sendvector"); diff --git a/src/fix_deposit.cpp b/src/fix_deposit.cpp index d8ea665149..ccf2cf51f1 100644 --- a/src/fix_deposit.cpp +++ b/src/fix_deposit.cpp @@ -54,6 +54,7 @@ FixDeposit::FixDeposit(LAMMPS *lmp, int narg, char **arg) : if (narg < 7) error->all(FLERR,"Illegal fix deposit command"); scalar_flag = 1; + extscalar = 0; restart_global = 1; time_depend = 1; From f6eeaaef6f9539825b37a62e5c4d854e196714e0 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Tue, 23 Apr 2024 19:45:14 -0400 Subject: [PATCH 508/559] Update compute_count_type.rst --- doc/src/compute_count_type.rst | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/doc/src/compute_count_type.rst b/doc/src/compute_count_type.rst index b0985a1caf..cd72050259 100644 --- a/doc/src/compute_count_type.rst +++ b/doc/src/compute_count_type.rst @@ -72,6 +72,19 @@ for each type: If the *mode* setting is *atom* then the count of atoms for each atom type is tallied. Only atoms in the specified group are counted. +The atom count for each type can be normalized by the total number of +atoms like so: + +.. code-block:: LAMMPS + + compute typevec all count/type atom # number of atoms of each type + variable normtypes vector c_typevec/atoms # divide by total number of atoms + variable ntypes equal extract_setting(ntypes) # number of atom types + thermo_style custom step v_normtypes[*$(v_ntypes)] # vector variable needs upper limit + +Similarly, bond counts can be normalized by the total number of bonds. +The same goes for angles, dihedrals, and impropers (see below). + If the *mode* setting is *bond* then the count of bonds for each bond type is tallied. Only bonds with both atoms in the specified group are counted. @@ -112,8 +125,8 @@ These values can be used by any command that uses global scalar or vector values from a compute as input. See the :doc:`Howto output ` page for an overview of LAMMPS output options. -The scalar and vector values returned by this compute are non-negative -integers. +The scalar and vector values calculated by this compute are both +"intensive". Restrictions """""""""""" From 80a0c5899ee2e4bfcf50a3d22bcbc90245f87162 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Tue, 23 Apr 2024 20:47:01 -0600 Subject: [PATCH 509/559] Fix coeff parsing classic gran model --- src/GRANULAR/granular_model.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/GRANULAR/granular_model.cpp b/src/GRANULAR/granular_model.cpp index 14431f41b4..9764ec42e9 100644 --- a/src/GRANULAR/granular_model.cpp +++ b/src/GRANULAR/granular_model.cpp @@ -216,9 +216,15 @@ int GranularModel::define_classic_model(char **arg, int iarg, int narg) // manually parse coeffs normal_model->coeffs[0] = kn; normal_model->coeffs[1] = gamman; - tangential_model->coeffs[0] = kt; - tangential_model->coeffs[1] = gammat / gamman; - tangential_model->coeffs[2] = xmu; + + if (tangential_model->num_coeffs == 2) { + tangential_model->coeffs[0] = gammat / gamman; + tangential_model->coeffs[1] = xmu; + } else { + tangential_model->coeffs[0] = kt; + tangential_model->coeffs[1] = gammat / gamman; + tangential_model->coeffs[2] = xmu; + } normal_model->coeffs_to_local(); tangential_model->coeffs_to_local(); From 3dbfe26b6df145d369dda65b02a9007f5fe5b74e Mon Sep 17 00:00:00 2001 From: jtclemm Date: Tue, 23 Apr 2024 20:58:20 -0600 Subject: [PATCH 510/559] Extra D2min options/checks for undercoord particles --- doc/src/fix_nonaffine_displacement.rst | 15 ++++- src/EXTRA-FIX/fix_nonaffine_displacement.cpp | 59 ++++++++++++++++---- src/EXTRA-FIX/fix_nonaffine_displacement.h | 4 +- 3 files changed, 64 insertions(+), 14 deletions(-) diff --git a/doc/src/fix_nonaffine_displacement.rst b/doc/src/fix_nonaffine_displacement.rst index 0a271ebc32..becc47eec8 100644 --- a/doc/src/fix_nonaffine_displacement.rst +++ b/doc/src/fix_nonaffine_displacement.rst @@ -8,7 +8,7 @@ Syntax .. parsed-literal:: - fix ID group nonaffine/displacement style args reference/style nstep + fix ID group nonaffine/displacement style args reference/style nstep keyword values * ID, group are documented in :doc:`fix ` command * nonaffine/displacement = style name of this fix command @@ -32,6 +32,13 @@ Syntax *update* = update the reference frame every *nstep* timesteps *offset* = update the reference frame *nstep* timesteps before calculating the nonaffine displacement +* zero or more keyword/value pairs may be appended + + .. parsed-literal:: + + *z/min* values = zmin + zmin = minimum coordination number to calculate D2min + Examples """""""" @@ -76,6 +83,12 @@ is the identity tensor. This calculation is only performed on timesteps that are a multiple of *nevery* (including timestep zero). Data accessed before this occurs will simply be zeroed. +For particles with low coordination numbers, calculations of :math:`D^2_\mathrm{min}` +may have poor accuracy. An optional minimum coordination number can be defined using +the *z/min* keyword. If any particles have fewer than the specified number of particles +in the cutoff distance or in contact, the above calculations will be skipped and the +peratom array entries will be zero. + The *integrated* style simply integrates the velocity of particles every timestep to calculate a displacement. This style only works if used in conjunction with another fix that deforms the box and displaces diff --git a/src/EXTRA-FIX/fix_nonaffine_displacement.cpp b/src/EXTRA-FIX/fix_nonaffine_displacement.cpp index eaf45f4e59..846f434dce 100644 --- a/src/EXTRA-FIX/fix_nonaffine_displacement.cpp +++ b/src/EXTRA-FIX/fix_nonaffine_displacement.cpp @@ -46,6 +46,8 @@ enum { TYPE, RADIUS, CUSTOM }; enum { INTEGRATED, D2MIN }; enum { FIXED, OFFSET, UPDATE }; +static constexpr double EPSILON = 1.0e-15; + static const char cite_nonaffine_d2min[] = "@article{PhysRevE.57.7192,\n" " title = {Dynamics of viscoplastic deformation in amorphous solids},\n" @@ -66,7 +68,7 @@ static const char cite_nonaffine_d2min[] = FixNonaffineDisplacement::FixNonaffineDisplacement(LAMMPS *lmp, int narg, char **arg) : Fix(lmp, narg, arg), id_fix(nullptr), fix(nullptr), D2min(nullptr), X(nullptr), Y(nullptr), - F(nullptr), norm(nullptr) + F(nullptr), norm(nullptr), singular(nullptr) { if (narg < 4) utils::missing_cmd_args(FLERR,"fix nonaffine/displacement", error); @@ -74,6 +76,8 @@ FixNonaffineDisplacement::FixNonaffineDisplacement(LAMMPS *lmp, int narg, char * if (nevery <= 0) error->all(FLERR,"Illegal nevery value {} in fix nonaffine/displacement", nevery); reference_timestep = update_timestep = offset_timestep = -1; + z_min = 0; + int iarg = 4; if (strcmp(arg[iarg], "integrated") == 0) { nad_style = INTEGRATED; @@ -117,6 +121,16 @@ FixNonaffineDisplacement::FixNonaffineDisplacement(LAMMPS *lmp, int narg, char * if ((offset_timestep <= 0) || (offset_timestep > nevery)) error->all(FLERR, "Illegal offset timestep {} in fix nonaffine/displacement", arg[iarg + 1]); } else error->all(FLERR,"Illegal reference style {} in fix nonaffine/displacement", arg[iarg]); + iarg += 2; + + while (iarg < narg) { + if (strcmp(arg[iarg], "z/min") == 0) { + if (iarg + 2 > narg) utils::missing_cmd_args(FLERR,"fix nonaffine/displacement", error); + z_min = utils::inumeric(FLERR, arg[iarg + 1], false, lmp); + if (z_min < 0) error->all(FLERR, "Minimum coordination must be positive"); + iarg += 2; + } else error->all(FLERR,"Illegal keyword {} in fix nonaffine/displacement", arg[iarg]); + } if (nad_style == D2MIN) if (cut_style == RADIUS && (!atom->radius_flag)) @@ -151,6 +165,7 @@ FixNonaffineDisplacement::~FixNonaffineDisplacement() memory->destroy(Y); memory->destroy(F); memory->destroy(norm); + memory->destroy(singular); memory->destroy(D2min); } @@ -395,6 +410,7 @@ void FixNonaffineDisplacement::calculate_D2Min() } } norm[i] = 0; + singular[i] = 0; D2min[i] = 0; } @@ -471,14 +487,29 @@ void FixNonaffineDisplacement::calculate_D2Min() } if (dim == 3) { - invert3(Y_tmp, Y_inv); + denom = det3(Y_tmp); + if (fabs(denom) < EPSILON) { + singular[i] = 1; + for (j = 0; j < 3; j++) + for (k = 0; k < 3; k++) + Y_inv[j][k] = 0.0; + } else { + invert3(Y_tmp, Y_inv); + } } else { denom = Y_tmp[0][0] * Y_tmp[1][1] - Y_tmp[0][1] * Y_tmp[1][0]; - if (denom != 0.0) denom = 1.0 / denom; - Y_inv[0][0] = Y_tmp[1][1] * denom; - Y_inv[0][1] = -Y_tmp[0][1] * denom; - Y_inv[1][0] = -Y_tmp[1][0] * denom; - Y_inv[1][1] = Y_tmp[0][0] * denom; + if (fabs(denom) < EPSILON) { + singular[i] = 1; + for (j = 0; j < 2; j++) + for (k = 0; k < 2; k++) + Y_inv[j][k] = 0.0; + } else { + denom = 1.0 / denom; + Y_inv[0][0] = Y_tmp[1][1] * denom; + Y_inv[0][1] = -Y_tmp[0][1] * denom; + Y_inv[1][0] = -Y_tmp[1][0] * denom; + Y_inv[1][1] = Y_tmp[0][0] * denom; + } } times3(X_tmp, Y_inv, F_tmp); @@ -559,10 +590,14 @@ void FixNonaffineDisplacement::calculate_D2Min() for (i = 0; i < nlocal; i++) { if (!(mask[i] & groupbit)) continue; - if (norm[i] != 0) - D2min[i] /= norm[i]; - else - D2min[i] = 0.0; + if (norm[i] < z_min || singular[i] == 1) { + array_atom[i][0] = 0.0; + array_atom[i][1] = 0.0; + array_atom[i][2] = 0.0; + continue; + } + + D2min[i] /= norm[i]; for (j = 0; j < 3; j++) for (k = 0; k < 3; k++) @@ -743,10 +778,12 @@ void FixNonaffineDisplacement::grow_arrays(int nmax_new) memory->destroy(F); memory->destroy(D2min); memory->destroy(norm); + memory->destroy(singular); memory->create(X, nmax, 3, 3, "fix_nonaffine_displacement:X"); memory->create(Y, nmax, 3, 3, "fix_nonaffine_displacement:Y"); memory->create(F, nmax, 3, 3, "fix_nonaffine_displacement:F"); memory->create(D2min, nmax, "fix_nonaffine_displacement:D2min"); memory->create(norm, nmax, "fix_nonaffine_displacement:norm"); + memory->create(singular, nmax, "fix_nonaffine_displacement:singular"); } } diff --git a/src/EXTRA-FIX/fix_nonaffine_displacement.h b/src/EXTRA-FIX/fix_nonaffine_displacement.h index c7177bd3d9..b0e9c464ca 100644 --- a/src/EXTRA-FIX/fix_nonaffine_displacement.h +++ b/src/EXTRA-FIX/fix_nonaffine_displacement.h @@ -48,12 +48,12 @@ class FixNonaffineDisplacement : public Fix { int nmax, comm_flag; int nad_style, cut_style; int reference_style, offset_timestep, reference_timestep, update_timestep; - int reference_saved; + int reference_saved, z_min; double cutoff_custom, cutsq_custom, mycutneigh; double xprd0, yprd0, zprd0, xprd0_half, yprd0_half, zprd0_half, xy0, xz0, yz0; double *D2min, ***X, ***Y, ***F; - int *norm; + int *norm, *singular; class NeighList *list; // half neighbor list From 6de19ec109e625119c6914ab82b14498dd79d76f Mon Sep 17 00:00:00 2001 From: jtclemm Date: Tue, 23 Apr 2024 21:02:02 -0600 Subject: [PATCH 511/559] Tweaking doc text --- doc/src/fix_nonaffine_displacement.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/fix_nonaffine_displacement.rst b/doc/src/fix_nonaffine_displacement.rst index becc47eec8..fd9830cc48 100644 --- a/doc/src/fix_nonaffine_displacement.rst +++ b/doc/src/fix_nonaffine_displacement.rst @@ -84,10 +84,10 @@ are a multiple of *nevery* (including timestep zero). Data accessed before this occurs will simply be zeroed. For particles with low coordination numbers, calculations of :math:`D^2_\mathrm{min}` -may have poor accuracy. An optional minimum coordination number can be defined using -the *z/min* keyword. If any particles have fewer than the specified number of particles +may not be accurate. An optional minimum coordination number can be defined using +the *z/min* keyword. If any particle has fewer than the specified number of particles in the cutoff distance or in contact, the above calculations will be skipped and the -peratom array entries will be zero. +corresponding peratom array entries will be zero. The *integrated* style simply integrates the velocity of particles every timestep to calculate a displacement. This style only works if From b2aed19c88f6a06ace76138d6b57fd3fe08c8635 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Tue, 23 Apr 2024 23:32:27 -0400 Subject: [PATCH 512/559] Update doc/src/compute_count_type.rst Co-authored-by: Axel Kohlmeyer --- doc/src/compute_count_type.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/compute_count_type.rst b/doc/src/compute_count_type.rst index cd72050259..5fbe6175a3 100644 --- a/doc/src/compute_count_type.rst +++ b/doc/src/compute_count_type.rst @@ -80,7 +80,7 @@ atoms like so: compute typevec all count/type atom # number of atoms of each type variable normtypes vector c_typevec/atoms # divide by total number of atoms variable ntypes equal extract_setting(ntypes) # number of atom types - thermo_style custom step v_normtypes[*$(v_ntypes)] # vector variable needs upper limit + thermo_style custom step v_normtypes[*${ntypes}] # vector variable needs upper limit Similarly, bond counts can be normalized by the total number of bonds. The same goes for angles, dihedrals, and impropers (see below). From 8073cec0e4085cae50df70deda841782ad9cad32 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 24 Apr 2024 01:55:13 -0400 Subject: [PATCH 513/559] make pip install packages in user area --- .github/workflows/unittest-macos.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/unittest-macos.yml b/.github/workflows/unittest-macos.yml index f9c2a838d6..cc6cac4923 100644 --- a/.github/workflows/unittest-macos.yml +++ b/.github/workflows/unittest-macos.yml @@ -43,8 +43,8 @@ jobs: working-directory: build run: | ccache -z - python3 -m pip install numpy - python3 -m pip install pyyaml + python3 -m pip install --user numpy + python3 -m pip install --user pyyaml cmake -C ../cmake/presets/clang.cmake \ -C ../cmake/presets/most.cmake \ -D DOWNLOAD_POTENTIALS=off \ From b993dadcdcc35945df357ecdc7d23afc060d25cc Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 24 Apr 2024 01:58:54 -0400 Subject: [PATCH 514/559] try virtual environment instead of user installation --- .github/workflows/unittest-macos.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/unittest-macos.yml b/.github/workflows/unittest-macos.yml index cc6cac4923..0a9d31bd84 100644 --- a/.github/workflows/unittest-macos.yml +++ b/.github/workflows/unittest-macos.yml @@ -43,8 +43,10 @@ jobs: working-directory: build run: | ccache -z - python3 -m pip install --user numpy - python3 -m pip install --user pyyaml + python3 -m venv macosenv + source macosenv/bin/activate + python3 -m pip install numpy + python3 -m pip install pyyaml cmake -C ../cmake/presets/clang.cmake \ -C ../cmake/presets/most.cmake \ -D DOWNLOAD_POTENTIALS=off \ From fc20b8c54694adc1d3612eba794f622fa108f64a Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 24 Apr 2024 01:55:13 -0400 Subject: [PATCH 515/559] make pip install packages in virtual environment --- .github/workflows/unittest-macos.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/unittest-macos.yml b/.github/workflows/unittest-macos.yml index f9c2a838d6..0a9d31bd84 100644 --- a/.github/workflows/unittest-macos.yml +++ b/.github/workflows/unittest-macos.yml @@ -43,6 +43,8 @@ jobs: working-directory: build run: | ccache -z + python3 -m venv macosenv + source macosenv/bin/activate python3 -m pip install numpy python3 -m pip install pyyaml cmake -C ../cmake/presets/clang.cmake \ From 83643ded91e7976976146e9bd957b1c64c54115e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 24 Apr 2024 02:25:52 -0400 Subject: [PATCH 516/559] flag development --- src/version.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/version.h b/src/version.h index 37c44b49f2..64d5210270 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1,2 @@ #define LAMMPS_VERSION "17 Apr 2024" +#define LAMMPS_UPDATE "Development" From 4437891c30ec604029dd54a6117c34b9562c3743 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 22 Apr 2024 21:28:56 -0400 Subject: [PATCH 517/559] catch command errors --- unittest/cplusplus/test_advanced_utils.cpp | 35 +++++++++++++++------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/unittest/cplusplus/test_advanced_utils.cpp b/unittest/cplusplus/test_advanced_utils.cpp index 0453ef0143..43ac5dc9cf 100644 --- a/unittest/cplusplus/test_advanced_utils.cpp +++ b/unittest/cplusplus/test_advanced_utils.cpp @@ -110,16 +110,31 @@ TEST_F(Advanced_utils, expand_args) { atomic_system(); BEGIN_CAPTURE_OUTPUT(); - command("compute temp all temp"); - command("variable temp vector c_temp"); - command("variable step equal step"); - command("variable pe equal pe"); - command("variable pe equal pe"); - command("variable epair equal epair"); - command("compute gofr all rdf 20 1 1 1 2"); - command("fix 1 all ave/time 1 1 1 v_step v_pe v_epair"); - command("fix 2 all nve"); - command("run 1 post no"); + try { + command("compute temp all temp"); + command("variable temp vector c_temp"); + command("variable step equal step"); + command("variable pe equal pe"); + command("variable pe equal pe"); + command("variable epair equal epair"); + command("compute gofr all rdf 20 1 1 1 2"); + command("fix 1 all ave/time 1 1 1 v_step v_pe v_epair"); + command("fix 2 all nve"); + command("run 1 post no"); + } catch (LAMMPSAbortException &ae) { + fprintf(stderr, "LAMMPS Error: %s\n", ae.what()); + exit(2); + } catch (LAMMPSException &e) { + fprintf(stderr, "LAMMPS Error: %s\n", e.what()); + exit(3); + } catch (fmt::format_error &fe) { + fprintf(stderr, "fmt::format_error: %s\n", fe.what()); + exit(4); + } catch (std::exception &e) { + fprintf(stderr, "General exception: %s\n", e.what()); + exit(5); + } + auto output = END_CAPTURE_OUTPUT(); char **args, **earg; From a85b0603a24cca7446d8b107e177a2b6aa211d7b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 24 Apr 2024 02:45:36 -0400 Subject: [PATCH 518/559] downgrade macOS to version 13 --- .github/workflows/unittest-macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/unittest-macos.yml b/.github/workflows/unittest-macos.yml index 0a9d31bd84..b0bc4b2727 100644 --- a/.github/workflows/unittest-macos.yml +++ b/.github/workflows/unittest-macos.yml @@ -15,7 +15,7 @@ jobs: build: name: MacOS Unit Test if: ${{ github.repository == 'lammps/lammps' }} - runs-on: macos-latest + runs-on: macos-13 env: CCACHE_DIR: ${{ github.workspace }}/.ccache From cfc811a1b39a1512712a7efc02f2f180afd771cf Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 24 Apr 2024 02:45:36 -0400 Subject: [PATCH 519/559] downgrade macOS to version 13 --- .github/workflows/unittest-macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/unittest-macos.yml b/.github/workflows/unittest-macos.yml index 0a9d31bd84..b0bc4b2727 100644 --- a/.github/workflows/unittest-macos.yml +++ b/.github/workflows/unittest-macos.yml @@ -15,7 +15,7 @@ jobs: build: name: MacOS Unit Test if: ${{ github.repository == 'lammps/lammps' }} - runs-on: macos-latest + runs-on: macos-13 env: CCACHE_DIR: ${{ github.workspace }}/.ccache From 0f3a8d6af80d3388fa12642ce51be1e803c4d071 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Thu, 25 Apr 2024 14:10:21 -0600 Subject: [PATCH 520/559] Adding warning for singular matrix --- src/EXTRA-FIX/fix_nonaffine_displacement.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/EXTRA-FIX/fix_nonaffine_displacement.cpp b/src/EXTRA-FIX/fix_nonaffine_displacement.cpp index 846f434dce..b651d5dc5e 100644 --- a/src/EXTRA-FIX/fix_nonaffine_displacement.cpp +++ b/src/EXTRA-FIX/fix_nonaffine_displacement.cpp @@ -591,6 +591,8 @@ void FixNonaffineDisplacement::calculate_D2Min() if (!(mask[i] & groupbit)) continue; if (norm[i] < z_min || singular[i] == 1) { + if (norm[i] >= z_min) + error->warning(FLERR, "Singular matrix detected for atom {}, defaulting output to zero", atom->tag[i]); array_atom[i][0] = 0.0; array_atom[i][1] = 0.0; array_atom[i][2] = 0.0; From 99ff5b2779de170af41413970c6f84de5b89ea12 Mon Sep 17 00:00:00 2001 From: Germain Clavier Date: Fri, 26 Apr 2024 14:46:30 +0200 Subject: [PATCH 521/559] Changed alpha_init initialization to avoid infinite loop with 0 starting value. --- src/min_linesearch.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/min_linesearch.cpp b/src/min_linesearch.cpp index d33b7579b9..5dc3d6568b 100644 --- a/src/min_linesearch.cpp +++ b/src/min_linesearch.cpp @@ -686,7 +686,7 @@ int MinLineSearch::linemin_forcezero(double eoriginal, double &alpha) // choosing the initial alpha that we'll use // rough estimate that'll decrease energy to 1/10 - alpha_init = 0.1*fabs(eoriginal)/fdothall; + alpha_init = MAX(EPS_QUAD, 0.1*fabs(eoriginal)/fdothall); // initialize aplha to 0.0 From 1f9c33e65dd8cff1b940674d4f5f04f1206f8cbf Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 24 Apr 2024 01:55:13 -0400 Subject: [PATCH 522/559] make pip install packages in virtual environment --- .github/workflows/unittest-macos.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/unittest-macos.yml b/.github/workflows/unittest-macos.yml index f9c2a838d6..0a9d31bd84 100644 --- a/.github/workflows/unittest-macos.yml +++ b/.github/workflows/unittest-macos.yml @@ -43,6 +43,8 @@ jobs: working-directory: build run: | ccache -z + python3 -m venv macosenv + source macosenv/bin/activate python3 -m pip install numpy python3 -m pip install pyyaml cmake -C ../cmake/presets/clang.cmake \ From 69e9483bf7ef651b200227b3f0179c378d50278f Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 24 Apr 2024 02:45:36 -0400 Subject: [PATCH 523/559] downgrade macOS to version 13 --- .github/workflows/unittest-macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/unittest-macos.yml b/.github/workflows/unittest-macos.yml index 0a9d31bd84..b0bc4b2727 100644 --- a/.github/workflows/unittest-macos.yml +++ b/.github/workflows/unittest-macos.yml @@ -15,7 +15,7 @@ jobs: build: name: MacOS Unit Test if: ${{ github.repository == 'lammps/lammps' }} - runs-on: macos-latest + runs-on: macos-13 env: CCACHE_DIR: ${{ github.workspace }}/.ccache From 74b49b48cb161f6dc283c89c6c44fb7bb6d81501 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 24 Apr 2024 01:55:13 -0400 Subject: [PATCH 524/559] make pip install packages in virtual environment --- .github/workflows/unittest-macos.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/unittest-macos.yml b/.github/workflows/unittest-macos.yml index f9c2a838d6..0a9d31bd84 100644 --- a/.github/workflows/unittest-macos.yml +++ b/.github/workflows/unittest-macos.yml @@ -43,6 +43,8 @@ jobs: working-directory: build run: | ccache -z + python3 -m venv macosenv + source macosenv/bin/activate python3 -m pip install numpy python3 -m pip install pyyaml cmake -C ../cmake/presets/clang.cmake \ From a394fcb5f39ca35b50ae422f6cbc8798250c246b Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 24 Apr 2024 02:45:36 -0400 Subject: [PATCH 525/559] downgrade macOS to version 13 --- .github/workflows/unittest-macos.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/unittest-macos.yml b/.github/workflows/unittest-macos.yml index 0a9d31bd84..b0bc4b2727 100644 --- a/.github/workflows/unittest-macos.yml +++ b/.github/workflows/unittest-macos.yml @@ -15,7 +15,7 @@ jobs: build: name: MacOS Unit Test if: ${{ github.repository == 'lammps/lammps' }} - runs-on: macos-latest + runs-on: macos-13 env: CCACHE_DIR: ${{ github.workspace }}/.ccache From e34aa0d02b2662b48965a5983c1eb9847b8f9019 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 28 Apr 2024 08:43:24 -0400 Subject: [PATCH 526/559] meam/c is no longer an alias for meam --- src/KOKKOS/pair_meam_kokkos.h | 3 --- src/MEAM/pair_meam.h | 1 - src/pair_deprecated.cpp | 3 +++ src/pair_deprecated.h | 1 + 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/KOKKOS/pair_meam_kokkos.h b/src/KOKKOS/pair_meam_kokkos.h index 66b5700a72..82f48aa997 100644 --- a/src/KOKKOS/pair_meam_kokkos.h +++ b/src/KOKKOS/pair_meam_kokkos.h @@ -13,9 +13,6 @@ #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); diff --git a/src/MEAM/pair_meam.h b/src/MEAM/pair_meam.h index a89714bfa9..3d50ca9368 100644 --- a/src/MEAM/pair_meam.h +++ b/src/MEAM/pair_meam.h @@ -14,7 +14,6 @@ #ifdef PAIR_CLASS // clang-format off PairStyle(meam,PairMEAM); -PairStyle(meam/c,PairMEAM); // clang-format on #else diff --git a/src/pair_deprecated.cpp b/src/pair_deprecated.cpp index 298fc26fd0..2c86b252ea 100644 --- a/src/pair_deprecated.cpp +++ b/src/pair_deprecated.cpp @@ -56,6 +56,9 @@ void PairDeprecated::settings(int, char **) utils::logmesg(lmp, "\nPair style 'mesont/tpm' has been removed from LAMMPS. " "Please use pair style 'mesocnt' instead\n\n"); + } else if (utils::strmatch(my_style, "^meam/c")) { + if (lmp->comm->me == 0) + utils::logmesg(lmp, "\nPair style 'meam/c' has been renamed to 'meam'\n\n"); } error->all(FLERR, "This pair style is no longer available"); } diff --git a/src/pair_deprecated.h b/src/pair_deprecated.h index 1a705c9051..8db8b3541d 100644 --- a/src/pair_deprecated.h +++ b/src/pair_deprecated.h @@ -14,6 +14,7 @@ #ifdef PAIR_CLASS // clang-format off PairStyle(DEPRECATED,PairDeprecated); +PairStyle(meam/c,PairDeprecated); PairStyle(reax,PairDeprecated); PairStyle(reax/c,PairDeprecated); PairStyle(mesont/tpm,PairDeprecated); From b1e1b05e0bf6f72280e77861efef0aa7c0dd7000 Mon Sep 17 00:00:00 2001 From: Daniel Utt Date: Mon, 29 Apr 2024 13:51:26 +0200 Subject: [PATCH 527/559] Match dump_modify syntax for atom and custom dump styles --- src/dump_atom.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/dump_atom.cpp b/src/dump_atom.cpp index 293ade6229..15f083ede2 100644 --- a/src/dump_atom.cpp +++ b/src/dump_atom.cpp @@ -166,11 +166,11 @@ int DumpAtom::modify_param(int narg, char **arg) } if (strcmp(arg[0],"triclinic/general") == 0) { - triclinic_general = 1; + if (narg < 2) error->all(FLERR,"Illegal dump_modify command"); + triclinic_general = utils::logical(FLERR,arg[1],false,lmp); if (triclinic_general && !domain->triclinic_general) - error->all(FLERR,"Dump_modify triclinic/general cannot be used " - "if simulation box is not general triclinic"); - return 1; + error->all(FLERR,"Dump_modify triclinic/general invalid b/c simulation box is not"); + return 2; } return 0; From e9d22ec7f918a5bd98d773594c7150d0f63d57e6 Mon Sep 17 00:00:00 2001 From: Daniel Utt Date: Tue, 30 Apr 2024 09:19:03 +0200 Subject: [PATCH 528/559] Clarify error message --- src/dump_custom.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp index fb07efd561..431dd62fb7 100644 --- a/src/dump_custom.cpp +++ b/src/dump_custom.cpp @@ -1766,7 +1766,8 @@ int DumpCustom::modify_param(int narg, char **arg) if (narg < 2) error->all(FLERR,"Illegal dump_modify command"); triclinic_general = utils::logical(FLERR,arg[1],false,lmp); if (triclinic_general && !domain->triclinic_general) - error->all(FLERR,"Dump_modify triclinic/general invalid b/c simulation box is not"); + error->all(FLERR,"Dump_modify triclinic/general cannot be used " + "if simulation box is not general triclinic"); return 2; } From 149ffbb2b6f5934a1f4ccfafd2c989b084b3db46 Mon Sep 17 00:00:00 2001 From: Daniel Utt Date: Tue, 30 Apr 2024 09:20:19 +0200 Subject: [PATCH 529/559] Clarify error message --- src/dump_atom.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/dump_atom.cpp b/src/dump_atom.cpp index 15f083ede2..dfacf8f2da 100644 --- a/src/dump_atom.cpp +++ b/src/dump_atom.cpp @@ -169,7 +169,8 @@ int DumpAtom::modify_param(int narg, char **arg) if (narg < 2) error->all(FLERR,"Illegal dump_modify command"); triclinic_general = utils::logical(FLERR,arg[1],false,lmp); if (triclinic_general && !domain->triclinic_general) - error->all(FLERR,"Dump_modify triclinic/general invalid b/c simulation box is not"); + error->all(FLERR,"Dump_modify triclinic/general cannot be used " + "if simulation box is not general triclinic"); return 2; } From 39f039719dd0e3aa7ad24e463051c7333158c623 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 2 May 2024 11:53:41 -0400 Subject: [PATCH 530/559] QEq requires charges --- src/QEQ/fix_qeq.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/QEQ/fix_qeq.cpp b/src/QEQ/fix_qeq.cpp index 411bdfb60b..47ad3d260f 100644 --- a/src/QEQ/fix_qeq.cpp +++ b/src/QEQ/fix_qeq.cpp @@ -74,6 +74,9 @@ FixQEq::FixQEq(LAMMPS *lmp, int narg, char **arg) : if ((nevery <= 0) || (cutoff <= 0.0) || (tolerance <= 0.0) || (maxiter <= 0)) error->all(FLERR,"Illegal fix qeq command"); + // must have charges + if (!atom->q_flag) error->all(FLERR, "Fix {} requires atom attribute q", style); + alpha = 0.20; swa = 0.0; swb = cutoff; From 541680c79804a67488d48d95a6f7c0feb882e301 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Sat, 4 May 2024 20:02:05 +0200 Subject: [PATCH 531/559] Make compute stress/mop compatible with 2D systems Issue an error if the stress should be computed in the Z direction in 2D systems The normalizing 'area' in 2D systems is the length of the simulation box in the other cartesian direction --- src/EXTRA-COMPUTE/compute_stress_mop.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/EXTRA-COMPUTE/compute_stress_mop.cpp b/src/EXTRA-COMPUTE/compute_stress_mop.cpp index ee8f5e554a..fb4725eeb4 100644 --- a/src/EXTRA-COMPUTE/compute_stress_mop.cpp +++ b/src/EXTRA-COMPUTE/compute_stress_mop.cpp @@ -148,7 +148,8 @@ ComputeStressMop::ComputeStressMop(LAMMPS *lmp, int narg, char **arg) : Compute( // 3D only - if (domain->dimension != 3) error->all(FLERR, "Compute stress/mop requires a 3d system"); + if (domain->dimension == 2 && dir == Z) + error->all(FLERR, "Compute stress/mop is incompatible with Z in 2d system"); // orthogonal simulation box if (domain->triclinic != 0) @@ -210,10 +211,14 @@ void ComputeStressMop::init() // Plane area - area = 1; - int i; - for (i = 0; i < 3; i++) { - if (i != dir) area = area * domain->prd[i]; + if (domain->dimension == 3) { + area = 1; + int i; + for (i = 0; i < 3; i++) { + if (i != dir) area = area * domain->prd[i]; + } + } else { + area = (dir == X) ? domain->prd[1] : domain->prd[0]; } // Timestep Value From e42aff54f906adadce6ac9e6fb6847e0e6ddb0b3 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Sat, 4 May 2024 20:07:08 +0200 Subject: [PATCH 532/559] Make compute stress/mop/profile compatible with 2D systems Issue an error if the stress is requested in the Z direction for 2D systems The normalizing 'area' is the length of the opposite cartesian direction --- .../compute_stress_mop_profile.cpp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/EXTRA-COMPUTE/compute_stress_mop_profile.cpp b/src/EXTRA-COMPUTE/compute_stress_mop_profile.cpp index 676b0f5796..ca2d095fd9 100644 --- a/src/EXTRA-COMPUTE/compute_stress_mop_profile.cpp +++ b/src/EXTRA-COMPUTE/compute_stress_mop_profile.cpp @@ -133,8 +133,8 @@ ComputeStressMopProfile::ComputeStressMopProfile(LAMMPS *lmp, int narg, char **a // 3D only - if (domain->dimension < 3) - error->all(FLERR, "Compute stress/mop/profile incompatible with simulation dimension"); + if (domain->dimension == 2 && dir == Z) + error->all(FLERR, "Compute stress/mop/profile incompatible with Z in 2d system"); // orthogonal simulation box @@ -198,11 +198,14 @@ void ComputeStressMopProfile::init() ftm2v = force->ftm2v; // plane area - - area = 1; - int i; - for (i = 0; i < 3; i++) { - if (i != dir) area = area * domain->prd[i]; + if (domain->dimension == 3) { + area = 1; + int i; + for (i = 0; i < 3; i++) { + if (i != dir) area = area * domain->prd[i]; + } + } else { + area = (dir == X) ? domain->prd[1] : domain->prd[0]; } // timestep Value From 46a441451ded609b102b9670a91c35312b3733aa Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Sat, 4 May 2024 20:11:08 +0200 Subject: [PATCH 533/559] Update compute_stress_mop.rst --- doc/src/compute_stress_mop.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/compute_stress_mop.rst b/doc/src/compute_stress_mop.rst index 6630c7171f..521a017195 100644 --- a/doc/src/compute_stress_mop.rst +++ b/doc/src/compute_stress_mop.rst @@ -126,7 +126,7 @@ These styles are part of the EXTRA-COMPUTE package. They are only enabled if LAMMPS is built with that package. See the :doc:`Build package ` doc page on for more info. -The method is only implemented for 3d orthogonal simulation boxes whose +The method is only implemented for orthogonal simulation boxes whose size does not change in time, and axis-aligned planes. The method only works with two-body pair interactions, because it From daedaaccdc7289e306f847ea171191d71ba04540 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 5 May 2024 12:50:30 -0400 Subject: [PATCH 534/559] add missing false positive --- doc/utils/sphinx-config/false_positives.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt index 20e0bd1f12..5dfbe48ffa 100644 --- a/doc/utils/sphinx-config/false_positives.txt +++ b/doc/utils/sphinx-config/false_positives.txt @@ -4162,6 +4162,7 @@ zenodo Zepeda zflag Zhang +Zhao Zhen zhi Zhigilei From 3d4bb44911d1440bda0472b32dbc4f4b75427f75 Mon Sep 17 00:00:00 2001 From: jtclemm Date: Mon, 6 May 2024 16:39:29 -0600 Subject: [PATCH 535/559] Minor rearrangements to CoR, fix bug in granular single --- doc/src/pair_granular.rst | 21 +++-- .../data.particles} | 0 .../in.coeff_restitution} | 14 ++-- .../coeff_restitution/log.11Nov23.cor.g++.1 | 79 +++++++++++++++++++ src/GRANULAR/gran_sub_mod_damping.cpp | 45 ++++------- src/GRANULAR/gran_sub_mod_damping.h | 16 +--- src/GRANULAR/gran_sub_mod_normal.h | 3 +- src/GRANULAR/granular_model.cpp | 4 - src/GRANULAR/pair_granular.cpp | 2 +- 9 files changed, 120 insertions(+), 64 deletions(-) rename examples/granular/{en_example/particles.dat => coeff_restitution/data.particles} (100%) rename examples/granular/{en_example/start.lammps => coeff_restitution/in.coeff_restitution} (56%) create mode 100644 examples/granular/coeff_restitution/log.11Nov23.cor.g++.1 diff --git a/doc/src/pair_granular.rst b/doc/src/pair_granular.rst index 9eb34c9de8..597869a05b 100644 --- a/doc/src/pair_granular.rst +++ b/doc/src/pair_granular.rst @@ -187,8 +187,7 @@ for the damping model currently supported are: 2. *mass_velocity* 3. *viscoelastic* 4. *tsuji* -5. *hooke/en* -6. *hertz/en* +5. *coeff_restitution* If the *damping* keyword is not specified, the *viscoelastic* model is used by default. @@ -250,20 +249,28 @@ The dimensionless coefficient of restitution :math:`e` specified as part of the normal contact model parameters should be between 0 and 1, but no error check is performed on this. -*hooke/en* and *hertz/en* models are useful for cases where a specific normal coefficient of restitution :math:`e` is required. In these models, the normal coefficient of restitution :math:`e` is specified as an input. Following the approach of :ref:`(Brilliantov et al) `, *hooke/en* calculates the damping coefficient for the *hooke* model as: +The *coeff_restitution* model is useful when a specific normal coefficient of +restitution :math:`e` is required. In these models, the normal coefficient of +restitution :math:`e` is specified as an input. Following the approach of +:ref:`(Brilliantov et al) `, when using the *hooke* normal model, +*coeff_restitution* calculates the damping coefficient as: .. math:: - - \eta_n = \sqrt{\frac{4m_{eff}k_n}{1+\left( \frac{\pi}{\log(e)}\right)^2}}, + \eta_n = \sqrt{\frac{4m_{eff}k_n}{1+\left( \frac{\pi}{\log(e)}\right)^2}} , -*hertz/en* calculates the damping coefficient for the *hertz* and *hertz/material* models using: +For any other normal model, e.g. the *hertz* and *hertz/material* models, the damping +coefficient is: .. math:: \eta_n = -2\sqrt{\frac{5}{6}}\frac{\log(e)}{\sqrt{\pi^2+(\log(e))^2}}(R_{eff} \delta_{ij})^{\frac{1}{4}}\sqrt{\frac{3}{2}k_n m_{eff}} , -where :math:`k_n = \frac{4}{3} E_{eff}` for the *hertz/material* model. Since these models calculate the damping coefficients by accounting for the effective mass, effective radius and pairwise overlaps (for *hertz/en*), they accurately reproduce the specified coefficient of restitution for both monodisperse and polydisperse particle pairs. +where :math:`k_n = \frac{4}{3} E_{eff}` for the *hertz/material* model. Since +*coeff_restitution* accounts for the effective mass, effective radius, and +pairwise overlaps (except when used with the *hooke* normal model) when calculating +the damping coefficient, it accurately reproduces the specified coefficient of +restitution for both monodisperse and polydisperse particle pairs. The total normal force is computed as the sum of the elastic and damping components: diff --git a/examples/granular/en_example/particles.dat b/examples/granular/coeff_restitution/data.particles similarity index 100% rename from examples/granular/en_example/particles.dat rename to examples/granular/coeff_restitution/data.particles diff --git a/examples/granular/en_example/start.lammps b/examples/granular/coeff_restitution/in.coeff_restitution similarity index 56% rename from examples/granular/en_example/start.lammps rename to examples/granular/coeff_restitution/in.coeff_restitution index 7a2a56a0e9..e441ed67a7 100644 --- a/examples/granular/en_example/start.lammps +++ b/examples/granular/coeff_restitution/in.coeff_restitution @@ -1,26 +1,24 @@ -units si +units si atom_style sphere boundary p p f region box block 0 80e-3 0 40e-3 0 80e-3 open 3 open 4 create_box 2 box -read_data particles.dat add append +read_data data.particles add append group mb type 1 pair_style granular -pair_coeff * * hertz/material 1e6 0.8 0.4 tangential mindlin NULL 0.0 0.5 damping hertz/en -# pair_coeff * * hertz/material 1e6 0.8 0.4 tangential mindlin NULL 0.0 0.5 damping hooke/en #Should throw and error -# pair_coeff * * hertz 1e6 0.3 tangential mindlin 1e4 1.0 0.5 damping hertz/en -# pair_coeff * * hooke 1e6 0.5 tangential mindlin 1 1.0 0.0 damping hooke/en +pair_coeff * * hertz/material 1e6 0.8 0.4 tangential mindlin NULL 0.0 0.5 damping coeff_restitution +# pair_coeff * * hooke 1e6 0.5 tangential mindlin 1 1.0 0.0 damping coeff_restitution comm_modify vel yes timestep 1e-9 fix 1 all nve/sphere compute s all stress/atom NULL pair -dump 1 all custom 2000000 op.dump id x y z vx vy vz -dump_modify 1 pad 8 +#dump 1 all custom 2000000 op.dump id x y z vx vy vz +#dump_modify 1 pad 8 thermo_style custom step ke run_style verlet run 10000000 diff --git a/examples/granular/coeff_restitution/log.11Nov23.cor.g++.1 b/examples/granular/coeff_restitution/log.11Nov23.cor.g++.1 new file mode 100644 index 0000000000..b4f53c84da --- /dev/null +++ b/examples/granular/coeff_restitution/log.11Nov23.cor.g++.1 @@ -0,0 +1,79 @@ +LAMMPS (21 Nov 2023 - Development - ) +units si +atom_style sphere + +boundary p p f +region box block 0 80e-3 0 40e-3 0 80e-3 open 3 open 4 +create_box 2 box +Created orthogonal box = (0 0 0) to (0.08 0.04 0.08) + 1 by 1 by 1 MPI processor grid + +read_data data.particles add append +Reading data file ... + orthogonal box = (0 0 0) to (0.08 0.04 0.08) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 2 atoms + reading velocities ... + 2 velocities + read_data CPU = 0.002 seconds +group mb type 1 +2 atoms in group mb + +pair_style granular +pair_coeff * * hertz/material 1e6 0.8 0.4 tangential mindlin NULL 0.0 0.5 damping coeff_restitution +# pair_coeff * * hooke 1e6 0.5 tangential mindlin 1 1.0 0.0 damping coeff_restitution +comm_modify vel yes + +timestep 1e-9 +fix 1 all nve/sphere +compute s all stress/atom NULL pair + +dump 1 all custom 2000000 op.dump id x y z vx vy vz +dump_modify 1 pad 8 +thermo_style custom step ke +run_style verlet +run 10000000 +Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule +Neighbor list info ... + update: every = 1 steps, delay = 0 steps, check = yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 0.005 + ghost atom cutoff = 0.005 + binsize = 0.0025, bins = 32 16 32 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair granular, perpetual + attributes: half, newton on, size, history + pair build: half/size/bin/atomonly/newton + stencil: half/bin/3d + bin: standard +Per MPI rank memory allocation (min/avg/max) = 10.1 | 10.1 | 10.1 Mbytes + Step KinEng + 0 8.3775804e-05 + 10000000 5.3616513e-05 +Loop time of 5.06865 on 1 procs for 10000000 steps with 2 atoms + +99.7% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.55389 | 0.55389 | 0.55389 | 0.0 | 10.93 +Neigh | 0.00022182 | 0.00022182 | 0.00022182 | 0.0 | 0.00 +Comm | 1.9988 | 1.9988 | 1.9988 | 0.0 | 39.43 +Output | 0.00023837 | 0.00023837 | 0.00023837 | 0.0 | 0.00 +Modify | 1.26 | 1.26 | 1.26 | 0.0 | 24.86 +Other | | 1.255 | | | 24.77 + +Nlocal: 2 ave 2 max 2 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 = 14 +Dangerous builds = 0 +Total wall time: 0:00:05 diff --git a/src/GRANULAR/gran_sub_mod_damping.cpp b/src/GRANULAR/gran_sub_mod_damping.cpp index 12102575c3..be87c70cd4 100644 --- a/src/GRANULAR/gran_sub_mod_damping.cpp +++ b/src/GRANULAR/gran_sub_mod_damping.cpp @@ -16,19 +16,20 @@ #include "gran_sub_mod_normal.h" #include "granular_model.h" #include "math_special.h" +#include "math_const.h" #include using namespace LAMMPS_NS; using namespace Granular_NS; +using namespace MathConst; using MathSpecial::cube; using MathSpecial::powint; using MathSpecial::square; -static constexpr double PISQ = 9.86960440108935799230; -static constexpr double TWOROOTFIVEBYSIX = 1.82574185835055380345; -static constexpr double ROOTTHREEBYTWO = 1.22474487139158894067; +static constexpr double TWOROOTFIVEBYSIX = 1.82574185835055380345; // 2/sqrt(5/6) +static constexpr double ROOTTHREEBYTWO = 1.22474487139158894067; // sqrt(3/2) /* ---------------------------------------------------------------------- Default damping model @@ -141,44 +142,28 @@ double GranSubModDampingTsuji::calculate_forces() } /* ---------------------------------------------------------------------- - hookeen damping + Coefficient of restitution damping ------------------------------------------------------------------------- */ -GranSubModDampingHookeEn::GranSubModDampingHookeEn(GranularModel *gm, LAMMPS *lmp) : +GranSubModDampingCoeffRestitution::GranSubModDampingCoeffRestitution(GranularModel *gm, LAMMPS *lmp) : GranSubModDamping(gm, lmp) { } -void GranSubModDampingHookeEn::init() +void GranSubModDampingCoeffRestitution::init() { + // Calculate prefactor, assume Hertzian as default double cor = gm->normal_model->get_damp(); double logcor = log(cor); - damp = -2*logcor/sqrt(PISQ + logcor*logcor); + if (gm->normal_model->name == "hooke") { + damp = -2 * logcor / sqrt(MY_PI * MY_PI + logcor * logcor); + } else { + damp = -ROOTTHREEBYTWO * TWOROOTFIVEBYSIX * logcor; + damp /= sqrt(MY_PI * MY_PI + logcor * logcor); + } } -double GranSubModDampingHookeEn::calculate_forces() -{ - damp_prefactor = damp * sqrt(gm->meff * gm->Fnormal / gm->delta); - return -damp_prefactor * gm->vnnr; -} - -/* ---------------------------------------------------------------------- - hertzen damping -------------------------------------------------------------------------- */ - -GranSubModDampingHertzEn::GranSubModDampingHertzEn(GranularModel *gm, LAMMPS *lmp) : - GranSubModDamping(gm, lmp) -{ -} - -void GranSubModDampingHertzEn::init() -{ - double cor = gm->normal_model->get_damp(); - double logcor = log(cor); - damp = -ROOTTHREEBYTWO*TWOROOTFIVEBYSIX*logcor/sqrt(PISQ + logcor*logcor); -} - -double GranSubModDampingHertzEn::calculate_forces() +double GranSubModDampingCoeffRestitution::calculate_forces() { damp_prefactor = damp * sqrt(gm->meff * gm->Fnormal / gm->delta); return -damp_prefactor * gm->vnnr; diff --git a/src/GRANULAR/gran_sub_mod_damping.h b/src/GRANULAR/gran_sub_mod_damping.h index 9f37e14450..c931e385cc 100644 --- a/src/GRANULAR/gran_sub_mod_damping.h +++ b/src/GRANULAR/gran_sub_mod_damping.h @@ -18,8 +18,7 @@ GranSubModStyle(velocity,GranSubModDampingVelocity,DAMPING); GranSubModStyle(mass_velocity,GranSubModDampingMassVelocity,DAMPING); GranSubModStyle(viscoelastic,GranSubModDampingViscoelastic,DAMPING); GranSubModStyle(tsuji,GranSubModDampingTsuji,DAMPING); -GranSubModStyle(hooke/en,GranSubModDampingHookeEn,DAMPING); -GranSubModStyle(hertz/en,GranSubModDampingHertzEn,DAMPING); +GranSubModStyle(coeff_restitution,GranSubModDampingCoeffRestitution,DAMPING); // clang-format on #else @@ -88,18 +87,9 @@ namespace Granular_NS { /* ---------------------------------------------------------------------- */ - class GranSubModDampingHookeEn : public GranSubModDamping { + class GranSubModDampingCoeffRestitution : public GranSubModDamping { public: - GranSubModDampingHookeEn(class GranularModel *, class LAMMPS *); - void init() override; - double calculate_forces() override; - }; - - /* ---------------------------------------------------------------------- */ - - class GranSubModDampingHertzEn : public GranSubModDamping { - public: - GranSubModDampingHertzEn(class GranularModel *, class LAMMPS *); + GranSubModDampingCoeffRestitution(class GranularModel *, class LAMMPS *); void init() override; double calculate_forces() override; }; diff --git a/src/GRANULAR/gran_sub_mod_normal.h b/src/GRANULAR/gran_sub_mod_normal.h index 6f2f3aabbe..c1ed36b6e1 100644 --- a/src/GRANULAR/gran_sub_mod_normal.h +++ b/src/GRANULAR/gran_sub_mod_normal.h @@ -38,7 +38,7 @@ namespace Granular_NS { virtual double calculate_contact_radius(); virtual double calculate_forces() = 0; - double get_cohesive_flag() const { return cohesive_flag; } + int get_cohesive_flag() const { return cohesive_flag; } double get_damp() const { return damp; } double get_emod() const { return Emod; } double get_fncrit() const { return Fncrit; } @@ -49,6 +49,7 @@ namespace Granular_NS { protected: double damp; // argument historically needed by damping + // typically (but not always) equals eta_n0 double Emod, poiss; double Fncrit; int material_properties, cohesive_flag; diff --git a/src/GRANULAR/granular_model.cpp b/src/GRANULAR/granular_model.cpp index ed3c00866e..c1ad692fb3 100644 --- a/src/GRANULAR/granular_model.cpp +++ b/src/GRANULAR/granular_model.cpp @@ -238,10 +238,6 @@ void GranularModel::init() if (damping_model->name == "none") error->all(FLERR, "Must specify damping granular model"); if (tangential_model->name == "none") error->all(FLERR, "Must specify tangential granular model"); - //Check if correct damping model is being used with the normal model - if(normal_model->name =="hooke" && damping_model->name == "hertz/en") error->all(FLERR, "hooke should not be used with hertz/en damping model, please use hooke/en"); - if((normal_model->name =="hertz" || normal_model->name =="hertz/material") && damping_model->name == "hooke/en") error->all(FLERR, "hertz/material or hertz should not be used with hooke/en damping model, please use hertz/en"); - // Twisting, rolling, and heat are optional twisting_defined = rolling_defined = heat_defined = 1; if (twisting_model->name == "none") twisting_defined = 0; diff --git a/src/GRANULAR/pair_granular.cpp b/src/GRANULAR/pair_granular.cpp index 119feb1c38..480e908487 100644 --- a/src/GRANULAR/pair_granular.cpp +++ b/src/GRANULAR/pair_granular.cpp @@ -770,7 +770,7 @@ double PairGranular::single(int i, int j, int itype, int jtype, // apply forces & torques // Calculate normal component, normalized by r - fforce = model->Fnormal * model->rinv; + fforce = model->Fntot * model->rinv; // set single_extra quantities svector[0] = model->fs[0]; From a4449fb6ff038574ddb2cb8d89a411fbebee6d65 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 6 May 2024 16:44:45 -0600 Subject: [PATCH 536/559] modified doc page, added examples --- doc/src/replicate.rst | 170 +++-- examples/README | 1 + examples/replicate/README | 23 + examples/replicate/data.bond.x | 22 + examples/replicate/data.bond.x.noloop | 21 + examples/replicate/data.bond.x.y | 43 ++ examples/replicate/data.bond.xy | 22 + examples/replicate/in.replicate.bond.x | 34 + examples/replicate/in.replicate.bond.x.noloop | 34 + examples/replicate/in.replicate.bond.x.y | 34 + examples/replicate/in.replicate.bond.xy | 34 + .../{in.replicate => in.replicate.cnt} | 2 +- .../log.6May24.replicate.bond.x.g++.1 | 125 ++++ .../log.6May24.replicate.bond.x.g++.4 | 126 ++++ .../log.6May24.replicate.bond.x.noloop.g++.1 | 121 ++++ .../log.6May24.replicate.bond.x.noloop.g++.4 | 122 ++++ .../log.6May24.replicate.bond.x.y.g++.1 | 125 ++++ .../log.6May24.replicate.bond.x.y.g++.4 | 126 ++++ .../log.6May24.replicate.bond.xy.g++.1 | 125 ++++ .../log.6May24.replicate.bond.xy.g++.4 | 126 ++++ ...e.g++.1 => log.6May24.replicate.cnt.g++.1} | 48 +- ...e.g++.4 => log.6May24.replicate.cnt.g++.4} | 49 +- src/replicate.cpp | 625 ++++++++++++++++-- src/replicate.h | 20 +- 24 files changed, 2015 insertions(+), 163 deletions(-) create mode 100644 examples/replicate/README create mode 100644 examples/replicate/data.bond.x create mode 100644 examples/replicate/data.bond.x.noloop create mode 100644 examples/replicate/data.bond.x.y create mode 100644 examples/replicate/data.bond.xy create mode 100644 examples/replicate/in.replicate.bond.x create mode 100644 examples/replicate/in.replicate.bond.x.noloop create mode 100644 examples/replicate/in.replicate.bond.x.y create mode 100644 examples/replicate/in.replicate.bond.xy rename examples/replicate/{in.replicate => in.replicate.cnt} (94%) create mode 100644 examples/replicate/log.6May24.replicate.bond.x.g++.1 create mode 100644 examples/replicate/log.6May24.replicate.bond.x.g++.4 create mode 100644 examples/replicate/log.6May24.replicate.bond.x.noloop.g++.1 create mode 100644 examples/replicate/log.6May24.replicate.bond.x.noloop.g++.4 create mode 100644 examples/replicate/log.6May24.replicate.bond.x.y.g++.1 create mode 100644 examples/replicate/log.6May24.replicate.bond.x.y.g++.4 create mode 100644 examples/replicate/log.6May24.replicate.bond.xy.g++.1 create mode 100644 examples/replicate/log.6May24.replicate.bond.xy.g++.4 rename examples/replicate/{log.7Jan22.replicate.g++.1 => log.6May24.replicate.cnt.g++.1} (67%) rename examples/replicate/{log.7Jan22.replicate.g++.4 => log.6May24.replicate.cnt.g++.4} (65%) diff --git a/doc/src/replicate.rst b/doc/src/replicate.rst index cea38e1af0..64d87e525a 100644 --- a/doc/src/replicate.rst +++ b/doc/src/replicate.rst @@ -8,113 +8,149 @@ Syntax .. code-block:: LAMMPS - replicate nx ny nz *keyword* + replicate nx ny nz *keyword* ... nx,ny,nz = replication factors in each dimension -* optional *keyword* = *bbox* or *bondlist* +* zero or more keywords may be appended +* keyword = *bbox* or *bond/periodic* .. parsed-literal:: *bbox* = only check atoms in replicas that overlap with a processor's subdomain - *bondlist* = use a generalized algorithm that correctly replicates periodic loops + *bond/periodic* = use a different algorithm that correctly replicates periodic bond loops Examples """""""" -For an example of replicating periodically looped carbon nanotubes, see examples/replicate. +For examples of replicating simple linear polymer chains (periodic or +non-periodic) or periodic carbon nanotubes, see examples/replicate. .. code-block:: LAMMPS replicate 2 3 2 + replicate 2 3 2 bbox + replicate 2 3 2 bond/periodic Description """"""""""" -Replicate the current simulation one or more times in each dimension. -For example, replication factors of 2,2,2 will create a simulation -with 8x as many atoms by doubling the simulation domain in each -dimension. A replication factor of 1 in a dimension leaves the -simulation domain unchanged. When the new simulation box is created -it is also partitioned into a regular 3d grid of rectangular bricks, -one per processor, based on the number of processors being used and -the settings of the :doc:`processors ` command. The -partitioning can later be changed by the :doc:`balance ` or -:doc:`fix balance ` commands. +Replicate the current system one or more times in each dimension. For +example, replication factors of 2,2,2 will create a simulation with 8x +as many atoms by doubling the size of the simulation box in each +dimension. A replication factor of 1 leaves the simulation domain +unchanged in that dimension. -All properties of the atoms are replicated, including their -velocities, which may or may not be desirable. New atom IDs are -assigned to new atoms, as are molecule IDs. Bonds and other topology -interactions are created between pairs of new atoms as well as between -old and new atoms. This is done by using the image flag for each atom -to "unwrap" it out of the periodic box before replicating it. +When the new simulation box is created it is partitioned into a +regular 3d grid of rectangular bricks, one per processor, based on the +number of processors being used and the settings of the +:doc:`processors ` command. The partitioning can be +changed by subsequent :doc:`balance ` or :doc:`fix balance +` commands. -This means that any molecular bond you specify in the original data -file that crosses a periodic boundary should be between two atoms with -image flags that differ by 1. This will allow the bond to be -unwrapped appropriately. - -The optional keyword *bbox* uses a bounding box to only check atoms in -replicas that overlap with a processor's subdomain when assigning -atoms to processors. It typically results in a substantial speedup -when using the replicate command on a large number of processors. It -does require temporary use of more memory, specifically that each -processor can store all atoms in the entire system before it is -replicated. - -The optional keyword *bondlist* correctly treats molecules that span -the box and are bonded to themselves across a periodic boundary, by -relying on self-consistent nearest-image assumptions (rather than -using image flags). The *bondlist* option resets all image flags to -zero. Therefore, the *bondlist* keyword can also be used in general -for systems that may not have consistent image flags. The *bondlist* -algorithm builds off the *bbox* algorithm, so it is fast when using a -large number of processors, but does require temporary use of more -memory. Specifically, each processor must be able to store arrays for -all atoms in the entire system before it is replicated. +All properties of each atom are replicated (except per-atom fix data, +see the Restrictions section below). This includes their velocities, +which may or may not be desirable. New atom IDs are assigned to new +atoms, as are new molecule IDs. Bonds and other topology interactions +are created between pairs of new atoms as well as between old and new +atoms. .. note:: + + The bond discussion which follows only refers to models with + permanent covalent bonds typically defined in LAMMPS via a data + file. It is not relevant to sytems modeled with many-body + potentials which can define bonds on-the-fly, based on the current + positions of nearby atoms, e.g. models using the :doc:`AIREBO + ` or :doc:`ReaxFF ` potentials. - For systems that contain a molecule that spans the box and is - bonded to itself across a periodic boundary (so that the molecule - is effectively a loop), the *bondlist* keyword must be used. A - simple example would be a linear polymer chain that spans the - simulation box and bonds back to itself across the periodic - boundary. More realistic examples would be a CNT (meant to be an - infinitely long CNT) or a graphene sheet or a bulk periodic crystal - where there are explicit bonds specified between near neighbors. - (Note that this restriction only applies to systems that have - permanent bonds as specified in the data file. A CNT that is just - atoms modeled with the :doc:`AIREBO potential ` has no - such permanent bonds, so it can be replicated without the - *bondlist* keyword.) +If the *bond/periodic* keyword is not specified, bond replication is +done by using the image flag for each atom to "unwrap" it out of the +periodic box before replicating it. After replication is performed, +atoms outside the new periodic box are wrapped back into it. This +assigns correct images flags to all atoms in the system. For this to +work, all original atoms in the original simulation box must have +consistent image flags. This means that if two atoms have a bond +between them which crosses a periodic boundary, their respective image +flags will differ by 1 in that dimension. -Restrictions +Image flag consistency is not possible if a system has a periodic bond +loop, meaning there is a chain of bonds which crosses an entire +dimension and re-connects to itself across a periodic boundary. In +this case you MUST use the *bond/periodic* keyword to correctly +replicate the system. This option zeroes the image flags for all +atoms and uses a different algorithm to find new (nearby) bond +neighbors in the replicated system. In the final replicated system +all image flags are zero (in each dimension). + +-- note: + + LAMMPS does not check for image flag consistency before performing + the replication (it does issue a warning about this before a + simulation is run). If the original image flags are inconsistent, + the replicated system will also have inconsistent image flags, but + will otherwise be correctly replicated. This is NOT the case if + there is a periodic bond loop. See the next note. + +-- note: + + LAMMPS does not check for periodic bond loops. If you use the + *bond/periodic* option for a system without periodic bond loops, + the system will be correctly replicated, but image flag information + will be lost (which may or may not be important to your model). If + you do not use the *bond/periodic* option for a system with + periodic bond loops, the replicated system will have invalid bonds + (typically very long), resulting in bad dynamics. + +If possible, the *bbox* keyword should be used when running on a large +number of processors, as it can result in a substantial speed-up for +the replication operation. It uses a bounding box to only check atoms +in replicas that overlap with each processor's new subdomain when +assigning atoms to processors. It also preserves image flag +information. The only drawback to the *bbox* option is that it +requires a temporary use of more memory. Each processor must be able +to store all atoms (and their per-atom data) in the original system, +before it is replicated. + +-- note: + + The algorithm used by the *bond/periodic* keyword builds on the + algorithm used by the *bbox* keyword and thus has the same memory + requirements. If you specify only the *bond/peridoic* keyword it + will internally set the *bbox* keyword as well. + +---------- + + Restrictions """""""""""" A 2d simulation cannot be replicated in the z dimension. If a simulation is non-periodic in a dimension, care should be used -when replicating it in that dimension, as it may put atoms nearly on -top of each other. +when replicating it in that dimension, as it may generate atoms nearly +on top of each other. If the current simulation was read in from a restart file (before a -run is performed), there must not be any fix information stored in -the file for individual atoms. Similarly, no fixes can be defined at -the time the replicate command is used that require vectors of atom +run is performed), there must not be any fix information stored in the +file for individual atoms. Similarly, no fixes can be defined at the +time the replicate command is used that require vectors of atom information to be stored. This is because the replicate command does not know how to replicate that information for new atoms it creates. -To work around this restriction, restart files may be converted into -data files and fixes may be undefined via the :doc:`unfix ` -command before and redefined after the replicate command. + +To work around this restriction two options are possible. (1) Fixes +which use the stored data in the restart file can be defined before +replication and then deleted via the :doc:`unfix ` command and +re-defined after it. Or (2) the restart file can be converted to a +data file (which deletes the stored fix infomation) and fixes defined +after the replicate command. In both these scenarios, the per-atom +fix information in the restart file is lost. Related commands """""""""""""""" none - Default """"""" -none +No settings for using the *bbox* or *bond/periodic* algorithms. diff --git a/examples/README b/examples/README index 86d14e7078..90831b49f0 100644 --- a/examples/README +++ b/examples/README @@ -104,6 +104,7 @@ prd: parallel replica dynamics of vacancy diffusion in bulk Si python: use of PYTHON package to invoke Python code from input script qeq: use of QEQ package for charge equilibration reaxff: RDX and TATB and several other models using ReaxFF +replicate: use of replicate command rerun: use of rerun and read_dump commands rigid: rigid bodies modeled as independent or coupled shear: sideways shear applied to 2d solid, with and without a void diff --git a/examples/replicate/README b/examples/replicate/README new file mode 100644 index 0000000000..1363158b37 --- /dev/null +++ b/examples/replicate/README @@ -0,0 +1,23 @@ +This directory has input scripts which demonstrate how to use the +replicate command both for systems with and without periodic bond +loops. A periodic bond loop is where a chain of bonds spans a +periodic dimension of the box and includes one or more bonds which +cross the periodic boundary to close the loop. + +To run these scripts, LAMMPS should be built with the MOLECULE and +CLASS2 packages. The latter is only needed for the CNT example. + +These scripts are tiny examples which illustrate both kinds of +systems. Each produces a series of images which can be visualized. +If the 3 lines for a dump movie command are uncommented, a MPG movie +is produced, assuming LAMMPS is build with FFMPEG support. + +in.replicate.bond.x # linear chains in x direction, bond loop in x +in.replcate.bond.x.y # 2d grid of bonded atoms, bond loops in x and y +in.replicate.bond.xy # linear chains in diagonal direction, bond loop in x and y +in.replicate.bond.noloop # linear chains in x direction, no bond loop + +This script is for a complex system of 3 orthogonal CNTs which has +periodic bond loops in all 3 dimensions xyz. + +in.replicate.cnt diff --git a/examples/replicate/data.bond.x b/examples/replicate/data.bond.x new file mode 100644 index 0000000000..b5f4d49f2d --- /dev/null +++ b/examples/replicate/data.bond.x @@ -0,0 +1,22 @@ +# system with periodic bonds in x + +3 atoms +3 bonds + +1 atom types +1 bond types + +0 3 xlo xhi +0 1 ylo yhi + +Atoms + +1 1 1 0.5 0.5 0 +2 1 1 1.5 0.5 0 +3 1 1 2.5 0.5 0 + +Bonds + +1 1 1 2 +2 1 2 3 +3 1 3 1 diff --git a/examples/replicate/data.bond.x.noloop b/examples/replicate/data.bond.x.noloop new file mode 100644 index 0000000000..4c096724be --- /dev/null +++ b/examples/replicate/data.bond.x.noloop @@ -0,0 +1,21 @@ +# system with non-periodic bonds in x + +3 atoms +2 bonds + +1 atom types +1 bond types + +0 3 xlo xhi +0 1 ylo yhi + +Atoms + +1 1 1 0.5 0.5 0 0 0 0 +2 1 1 1.5 0.5 0 0 0 0 +3 1 1 2.5 0.5 0 -1 0 0 + +Bonds + +1 1 1 2 +2 1 3 1 diff --git a/examples/replicate/data.bond.x.y b/examples/replicate/data.bond.x.y new file mode 100644 index 0000000000..7eaf19a2ae --- /dev/null +++ b/examples/replicate/data.bond.x.y @@ -0,0 +1,43 @@ +# system with periodic bonds in both x and y + +9 atoms +18 bonds + +1 atom types +1 bond types + +0 3 xlo xhi +0 3 ylo yhi + +Atoms + +1 1 1 0.5 0.5 0 +2 1 1 1.5 0.5 0 +3 1 1 2.5 0.5 0 +4 1 1 0.5 1.5 0 +5 1 1 1.5 1.5 0 +6 1 1 2.5 1.5 0 +7 1 1 0.5 2.5 0 +8 1 1 1.5 2.5 0 +9 1 1 2.5 2.5 0 + +Bonds + +1 1 1 2 +2 1 2 3 +3 1 3 1 +4 1 4 5 +5 1 5 6 +6 1 6 4 +7 1 7 8 +8 1 8 9 +9 1 9 7 +10 1 1 4 +11 1 4 7 +12 1 7 1 +13 1 2 5 +14 1 5 8 +15 1 8 2 +16 1 3 6 +17 1 6 9 +18 1 9 3 diff --git a/examples/replicate/data.bond.xy b/examples/replicate/data.bond.xy new file mode 100644 index 0000000000..31e9d8785a --- /dev/null +++ b/examples/replicate/data.bond.xy @@ -0,0 +1,22 @@ +# system with periodic bonds in xy direction + +3 atoms +3 bonds + +1 atom types +1 bond types + +0 3 xlo xhi +0 3 ylo yhi + +Atoms + +1 1 1 0.5 0.5 0 +2 1 1 1.5 1.5 0 +3 1 1 2.5 2.5 0 + +Bonds + +1 1 1 2 +2 1 2 3 +3 1 3 1 diff --git a/examples/replicate/in.replicate.bond.x b/examples/replicate/in.replicate.bond.x new file mode 100644 index 0000000000..868e05f177 --- /dev/null +++ b/examples/replicate/in.replicate.bond.x @@ -0,0 +1,34 @@ +# test of replicating system with periodic bonds in x + +dimension 2 +atom_style molecular + +read_data data.bond.x + +#replicate 3 3 1 +replicate 3 3 1 bond/periodic + +mass 1 1.0 +velocity all create 0.02 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 + +bond_style harmonic +bond_coeff 1 50.0 1.0 + +special_bonds fene + +fix 1 all nve + +write_data tmp.data.x + +dump 1 all image 100 tmp.image.x.*.ppm type type & + adiam 0.2 bond type 0.1 zoom 1.6 +dump_modify 1 pad 5 + +#dump 2 all movie 100 tmp.movie.x.mpg type type & +# adiam 0.2 bond type 0.1 zoom 1.6 +#dump_modify 2 pad 5 + +run 5000 diff --git a/examples/replicate/in.replicate.bond.x.noloop b/examples/replicate/in.replicate.bond.x.noloop new file mode 100644 index 0000000000..b9862f844d --- /dev/null +++ b/examples/replicate/in.replicate.bond.x.noloop @@ -0,0 +1,34 @@ +# test of replicating system with periodic bonds in x + +dimension 2 +atom_style molecular + +read_data data.bond.x.noloop + +replicate 3 3 1 +#replicate 3 3 1 bond/periodic + +mass 1 1.0 +velocity all create 0.001 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 + +bond_style harmonic +bond_coeff 1 50.0 1.0 + +special_bonds fene + +fix 1 all nve + +write_data tmp.data.x.non + +dump 1 all image 100 tmp.image.x.non.*.ppm type type & + adiam 0.2 bond type 0.1 zoom 1.6 +dump_modify 1 pad 5 + +#dump 2 all movie 100 tmp.movie.x.non.mpg type type & +# adiam 0.2 bond type 0.1 zoom 1.6 +#dump_modify 2 pad 5 + +run 5000 diff --git a/examples/replicate/in.replicate.bond.x.y b/examples/replicate/in.replicate.bond.x.y new file mode 100644 index 0000000000..100350dc18 --- /dev/null +++ b/examples/replicate/in.replicate.bond.x.y @@ -0,0 +1,34 @@ +# test of replicating system with periodic bonds in both x and y + +dimension 2 +atom_style molecular + +read_data data.bond.x.y + +#replicate 3 3 1 +replicate 3 3 1 bond/periodic + +mass 1 1.0 +velocity all create 0.02 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 + +bond_style harmonic +bond_coeff 1 50.0 1.0 + +special_bonds fene + +fix 1 all nve + +write_data tmp.data.x.y + +dump 1 all image 100 tmp.image.x.y.*.ppm type type & + adiam 0.2 bond type 0.1 zoom 1.6 +dump_modify 1 pad 5 + +#dump 2 all movie 100 tmp.movie.x.y.mpg type type & +# adiam 0.2 bond type 0.1 zoom 1.6 +#dump_modify 2 pad 5 + +run 5000 diff --git a/examples/replicate/in.replicate.bond.xy b/examples/replicate/in.replicate.bond.xy new file mode 100644 index 0000000000..52ca79ace7 --- /dev/null +++ b/examples/replicate/in.replicate.bond.xy @@ -0,0 +1,34 @@ +# test of replicating system with periodic bonds in xy diagonal direction + +dimension 2 +atom_style molecular + +read_data data.bond.xy + +#replicate 3 3 1 +replicate 3 3 1 bond/periodic + +mass 1 1.0 +velocity all create 0.02 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.5 + +bond_style harmonic +bond_coeff 1 50.0 1.414 + +special_bonds fene + +fix 1 all nve + +write_data tmp.data.xy + +dump 1 all image 100 tmp.image.xy.*.ppm type type & + adiam 0.2 bond type 0.1 zoom 1.6 +dump_modify 1 pad 5 + +#dump 2 all movie 100 tmp.movie.xy.mpg type type & +# adiam 0.2 bond type 0.1 zoom 1.6 +#dump_modify 2 pad 5 + +run 5000 diff --git a/examples/replicate/in.replicate b/examples/replicate/in.replicate.cnt similarity index 94% rename from examples/replicate/in.replicate rename to examples/replicate/in.replicate.cnt index 52140d4ce8..0b8b384bbb 100644 --- a/examples/replicate/in.replicate +++ b/examples/replicate/in.replicate.cnt @@ -22,7 +22,7 @@ improper_style class2 read_data three_periodic_CNTs.data.gz -replicate 2 2 2 bondlist +replicate 2 2 2 bond/periodic fix 1 all nve diff --git a/examples/replicate/log.6May24.replicate.bond.x.g++.1 b/examples/replicate/log.6May24.replicate.bond.x.g++.1 new file mode 100644 index 0000000000..3f65d11c15 --- /dev/null +++ b/examples/replicate/log.6May24.replicate.bond.x.g++.1 @@ -0,0 +1,125 @@ +LAMMPS (17 Apr 2024) +# test of replicating system with periodic bonds in x + +dimension 2 +atom_style molecular + +read_data data.bond.x +Reading data file ... + orthogonal box = (0 0 -0.5) to (3 1 0.5) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 3 atoms + scanning bonds ... + 1 = max bonds/atom + orthogonal box = (0 0 -0.5) to (3 1 0.5) + 1 by 1 by 1 MPI processor grid + reading bonds ... + 3 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.004 seconds + +#replicate 3 3 1 +replicate 3 3 1 bond/periodic +Replication is creating a 3x3x1 = 9 times larger system... + orthogonal box = (0 0 -0.5) to (9 3 0.5) + 1 by 1 by 1 MPI processor grid + bounding box image = (0 0 0) to (0 0 0) + bounding box extra memory = 0.00 MB + average # of replicas added to proc = 9.00 out of 9 (100.00%) + 27 atoms + 27 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + replicate CPU = 0.001 seconds + +mass 1 1.0 +velocity all create 0.02 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 + +bond_style harmonic +bond_coeff 1 50.0 1.0 + +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 2 = max # of 1-2 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +fix 1 all nve + +write_data tmp.data.x +System init for write_data ... +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 3 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard + +dump 1 all image 100 tmp.image.x.*.ppm type type adiam 0.2 bond type 0.1 zoom 1.6 +dump_modify 1 pad 5 + +#dump 2 all movie 100 tmp.movie.x.mpg type type # adiam 0.2 bond type 0.1 zoom 1.6 +#dump_modify 2 pad 5 + +run 5000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +WARNING: Inconsistent image flags (../domain.cpp:1051) +Per MPI rank memory allocation (min/avg/max) = 6.302 | 6.302 | 6.302 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.02 -1.1250229 0 -1.1057636 9.028122 + 5000 0.54111971 -1.9054641 0.29066874 -1.0937172 3.4346743 +Loop time of 0.0764878 on 1 procs for 5000 steps with 27 atoms + +Performance: 28239805.842 tau/day, 65369.921 timesteps/s, 1.765 Matom-step/s +66.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.0048837 | 0.0048837 | 0.0048837 | 0.0 | 6.38 +Bond | 0.00065879 | 0.00065879 | 0.00065879 | 0.0 | 0.86 +Neigh | 0.0019897 | 0.0019897 | 0.0019897 | 0.0 | 2.60 +Comm | 0.0012815 | 0.0012815 | 0.0012815 | 0.0 | 1.68 +Output | 0.066351 | 0.066351 | 0.066351 | 0.0 | 86.75 +Modify | 0.00069789 | 0.00069789 | 0.00069789 | 0.0 | 0.91 +Other | | 0.0006247 | | | 0.82 + +Nlocal: 27 ave 27 max 27 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 108 ave 108 max 108 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 284 ave 284 max 284 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 284 +Ave neighs/atom = 10.518519 +Ave special neighs/atom = 2 +Neighbor list builds = 287 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/replicate/log.6May24.replicate.bond.x.g++.4 b/examples/replicate/log.6May24.replicate.bond.x.g++.4 new file mode 100644 index 0000000000..9e4423d5f6 --- /dev/null +++ b/examples/replicate/log.6May24.replicate.bond.x.g++.4 @@ -0,0 +1,126 @@ +LAMMPS (17 Apr 2024) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) +# test of replicating system with periodic bonds in x + +dimension 2 +atom_style molecular + +read_data data.bond.x +Reading data file ... + orthogonal box = (0 0 -0.5) to (3 1 0.5) + 4 by 1 by 1 MPI processor grid + reading atoms ... + 3 atoms + scanning bonds ... + 1 = max bonds/atom + orthogonal box = (0 0 -0.5) to (3 1 0.5) + 4 by 1 by 1 MPI processor grid + reading bonds ... + 3 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +#replicate 3 3 1 +replicate 3 3 1 bond/periodic +Replication is creating a 3x3x1 = 9 times larger system... + orthogonal box = (0 0 -0.5) to (9 3 0.5) + 4 by 1 by 1 MPI processor grid + bounding box image = (0 0 0) to (0 0 0) + bounding box extra memory = 0.00 MB + average # of replicas added to proc = 5.25 out of 9 (58.33%) + 27 atoms + 27 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + replicate CPU = 0.002 seconds + +mass 1 1.0 +velocity all create 0.02 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 + +bond_style harmonic +bond_coeff 1 50.0 1.0 + +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 2 = max # of 1-2 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +fix 1 all nve + +write_data tmp.data.x +System init for write_data ... +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 3 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard + +dump 1 all image 100 tmp.image.x.*.ppm type type adiam 0.2 bond type 0.1 zoom 1.6 +dump_modify 1 pad 5 + +#dump 2 all movie 100 tmp.movie.x.mpg type type # adiam 0.2 bond type 0.1 zoom 1.6 +#dump_modify 2 pad 5 + +run 5000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +WARNING: Inconsistent image flags (../domain.cpp:1051) +Per MPI rank memory allocation (min/avg/max) = 6.309 | 6.309 | 6.309 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.02 -1.1250229 0 -1.1057636 9.028122 + 5000 0.50911963 -1.7968226 0.21209852 -1.0944607 4.1676488 +Loop time of 0.21682 on 4 procs for 5000 steps with 27 atoms + +Performance: 9962160.612 tau/day, 23060.557 timesteps/s, 622.635 katom-step/s +93.9% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.001787 | 0.0021247 | 0.0028772 | 1.0 | 0.98 +Bond | 0.00039682 | 0.00045617 | 0.00059887 | 0.0 | 0.21 +Neigh | 0.0013626 | 0.0014006 | 0.0014798 | 0.1 | 0.65 +Comm | 0.017009 | 0.01791 | 0.018656 | 0.5 | 8.26 +Output | 0.06892 | 0.12188 | 0.18918 | 13.7 | 56.21 +Modify | 0.00060336 | 0.00072159 | 0.00088047 | 0.0 | 0.33 +Other | | 0.07233 | | | 33.36 + +Nlocal: 6.75 ave 7 max 6 min +Histogram: 1 0 0 0 0 0 0 0 0 3 +Nghost: 64.5 ave 65 max 63 min +Histogram: 1 0 0 0 0 0 0 0 0 3 +Neighs: 70.25 ave 77 max 60 min +Histogram: 1 0 0 0 0 1 0 0 1 1 + +Total # of neighbors = 281 +Ave neighs/atom = 10.407407 +Ave special neighs/atom = 2 +Neighbor list builds = 287 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/replicate/log.6May24.replicate.bond.x.noloop.g++.1 b/examples/replicate/log.6May24.replicate.bond.x.noloop.g++.1 new file mode 100644 index 0000000000..54893b449a --- /dev/null +++ b/examples/replicate/log.6May24.replicate.bond.x.noloop.g++.1 @@ -0,0 +1,121 @@ +LAMMPS (17 Apr 2024) +# test of replicating system with periodic bonds in x + +dimension 2 +atom_style molecular + +read_data data.bond.x.non +Reading data file ... + orthogonal box = (0 0 -0.5) to (3 1 0.5) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 3 atoms + scanning bonds ... + 1 = max bonds/atom + orthogonal box = (0 0 -0.5) to (3 1 0.5) + 1 by 1 by 1 MPI processor grid + reading bonds ... + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.004 seconds + +replicate 3 3 1 +Replication is creating a 3x3x1 = 9 times larger system... + orthogonal box = (0 0 -0.5) to (9 3 0.5) + 1 by 1 by 1 MPI processor grid + 27 atoms + 18 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + replicate CPU = 0.001 seconds +#replicate 3 3 1 bond/periodic + +mass 1 1.0 +velocity all create 0.001 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 + +bond_style harmonic +bond_coeff 1 50.0 1.0 + +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + +fix 1 all nve + +write_data tmp.data.x.non +System init for write_data ... +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 3 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard + +dump 1 all image 100 tmp.image.x.non.*.ppm type type adiam 0.2 bond type 0.1 zoom 1.6 +dump_modify 1 pad 5 + +#dump 2 all movie 100 tmp.movie.x.non.mpg type type # adiam 0.2 bond type 0.1 zoom 1.6 +#dump_modify 2 pad 5 + +run 5000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 6.052 | 6.052 | 6.052 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.001 -1.1250229 0 -1.1240599 13.009826 + 5000 0.62003692 -2.0147214 0.30861545 -1.1090334 8.0279226 +Loop time of 0.0734456 on 1 procs for 5000 steps with 27 atoms + +Performance: 29409520.548 tau/day, 68077.594 timesteps/s, 1.838 Matom-step/s +94.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.0051444 | 0.0051444 | 0.0051444 | 0.0 | 7.00 +Bond | 0.00048789 | 0.00048789 | 0.00048789 | 0.0 | 0.66 +Neigh | 0.0019333 | 0.0019333 | 0.0019333 | 0.0 | 2.63 +Comm | 0.001332 | 0.001332 | 0.001332 | 0.0 | 1.81 +Output | 0.063139 | 0.063139 | 0.063139 | 0.0 | 85.97 +Modify | 0.00077014 | 0.00077014 | 0.00077014 | 0.0 | 1.05 +Other | | 0.0006387 | | | 0.87 + +Nlocal: 27 ave 27 max 27 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 101 ave 101 max 101 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 288 ave 288 max 288 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 288 +Ave neighs/atom = 10.666667 +Ave special neighs/atom = 1.3333333 +Neighbor list builds = 322 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/replicate/log.6May24.replicate.bond.x.noloop.g++.4 b/examples/replicate/log.6May24.replicate.bond.x.noloop.g++.4 new file mode 100644 index 0000000000..54d9741781 --- /dev/null +++ b/examples/replicate/log.6May24.replicate.bond.x.noloop.g++.4 @@ -0,0 +1,122 @@ +LAMMPS (17 Apr 2024) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) +# test of replicating system with periodic bonds in x + +dimension 2 +atom_style molecular + +read_data data.bond.x.non +Reading data file ... + orthogonal box = (0 0 -0.5) to (3 1 0.5) + 4 by 1 by 1 MPI processor grid + reading atoms ... + 3 atoms + scanning bonds ... + 1 = max bonds/atom + orthogonal box = (0 0 -0.5) to (3 1 0.5) + 4 by 1 by 1 MPI processor grid + reading bonds ... + 2 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.004 seconds + +replicate 3 3 1 +Replication is creating a 3x3x1 = 9 times larger system... + orthogonal box = (0 0 -0.5) to (9 3 0.5) + 4 by 1 by 1 MPI processor grid + 27 atoms + 18 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 1 = max # of 1-3 neighbors + 1 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + replicate CPU = 0.002 seconds +#replicate 3 3 1 bond/periodic + +mass 1 1.0 +velocity all create 0.001 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 + +bond_style harmonic +bond_coeff 1 50.0 1.0 + +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 2 = max # of 1-2 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + +fix 1 all nve + +write_data tmp.data.x.non +System init for write_data ... +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 3 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard + +dump 1 all image 100 tmp.image.x.non.*.ppm type type adiam 0.2 bond type 0.1 zoom 1.6 +dump_modify 1 pad 5 + +#dump 2 all movie 100 tmp.movie.x.non.mpg type type # adiam 0.2 bond type 0.1 zoom 1.6 +#dump_modify 2 pad 5 + +run 5000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Per MPI rank memory allocation (min/avg/max) = 6.059 | 6.059 | 6.059 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.001 -1.1250229 0 -1.1240599 13.009826 + 5000 0.74931971 -2.233724 0.40158766 -1.1105692 5.6354701 +Loop time of 0.197835 on 4 procs for 5000 steps with 27 atoms + +Performance: 10918214.594 tau/day, 25273.645 timesteps/s, 682.388 katom-step/s +88.8% 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.0018771 | 0.0021131 | 0.0027188 | 0.8 | 1.07 +Bond | 0.00032659 | 0.00038248 | 0.00049555 | 0.0 | 0.19 +Neigh | 0.001385 | 0.0014211 | 0.0014704 | 0.1 | 0.72 +Comm | 0.017163 | 0.017405 | 0.017805 | 0.2 | 8.80 +Output | 0.070971 | 0.11052 | 0.17112 | 12.1 | 55.87 +Modify | 0.00058993 | 0.00067708 | 0.00075608 | 0.0 | 0.34 +Other | | 0.06532 | | | 33.02 + +Nlocal: 6.75 ave 7 max 6 min +Histogram: 1 0 0 0 0 0 0 0 0 3 +Nghost: 59.75 ave 60 max 59 min +Histogram: 1 0 0 0 0 0 0 0 0 3 +Neighs: 72 ave 79 max 63 min +Histogram: 1 0 0 0 0 0 2 0 0 1 + +Total # of neighbors = 288 +Ave neighs/atom = 10.666667 +Ave special neighs/atom = 1.3333333 +Neighbor list builds = 323 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/replicate/log.6May24.replicate.bond.x.y.g++.1 b/examples/replicate/log.6May24.replicate.bond.x.y.g++.1 new file mode 100644 index 0000000000..45308d9a90 --- /dev/null +++ b/examples/replicate/log.6May24.replicate.bond.x.y.g++.1 @@ -0,0 +1,125 @@ +LAMMPS (17 Apr 2024) +# test of replicating system with periodic bonds in both x and y + +dimension 2 +atom_style molecular + +read_data data.bond.x.y +Reading data file ... + orthogonal box = (0 0 -0.5) to (3 3 0.5) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 9 atoms + scanning bonds ... + 2 = max bonds/atom + orthogonal box = (0 0 -0.5) to (3 3 0.5) + 1 by 1 by 1 MPI processor grid + reading bonds ... + 18 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 4 = max # of 1-2 neighbors + 12 = max # of 1-3 neighbors + 48 = max # of 1-4 neighbors + 8 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.004 seconds + +#replicate 3 3 1 +replicate 3 3 1 bond/periodic +Replication is creating a 3x3x1 = 9 times larger system... + orthogonal box = (0 0 -0.5) to (9 9 0.5) + 1 by 1 by 1 MPI processor grid + bounding box image = (0 0 0) to (0 0 0) + bounding box extra memory = 0.00 MB + average # of replicas added to proc = 9.00 out of 9 (100.00%) + 81 atoms + 162 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 4 = max # of 1-2 neighbors + 12 = max # of 1-3 neighbors + 48 = max # of 1-4 neighbors + 24 = max # of special neighbors + special bonds CPU = 0.000 seconds + replicate CPU = 0.001 seconds + +mass 1 1.0 +velocity all create 0.02 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 + +bond_style harmonic +bond_coeff 1 50.0 1.0 + +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 4 = max # of 1-2 neighbors + 24 = max # of special neighbors + special bonds CPU = 0.000 seconds + +fix 1 all nve + +write_data tmp.data.x.y +System init for write_data ... +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 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard + +dump 1 all image 100 tmp.image.x.y.*.ppm type type adiam 0.2 bond type 0.1 zoom 1.6 +dump_modify 1 pad 5 + +#dump 2 all movie 100 tmp.movie.x.y.mpg type type # adiam 0.2 bond type 0.1 zoom 1.6 +#dump_modify 2 pad 5 + +run 5000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +WARNING: Inconsistent image flags (../domain.cpp:1051) +Per MPI rank memory allocation (min/avg/max) = 7.555 | 7.555 | 7.555 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.02 -1.1250229 0 -1.1052698 -2.9713842 + 5000 0.046175679 -1.2280388 0.080003864 -1.1024293 -4.1097897 +Loop time of 0.212344 on 1 procs for 5000 steps with 81 atoms + +Performance: 10172161.526 tau/day, 23546.670 timesteps/s, 1.907 Matom-step/s +93.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.01283 | 0.01283 | 0.01283 | 0.0 | 6.04 +Bond | 0.0032785 | 0.0032785 | 0.0032785 | 0.0 | 1.54 +Neigh | 0.0018379 | 0.0018379 | 0.0018379 | 0.0 | 0.87 +Comm | 0.0016247 | 0.0016247 | 0.0016247 | 0.0 | 0.77 +Output | 0.18991 | 0.18991 | 0.18991 | 0.0 | 89.44 +Modify | 0.0018198 | 0.0018198 | 0.0018198 | 0.0 | 0.86 +Other | | 0.001039 | | | 0.49 + +Nlocal: 81 ave 81 max 81 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 144 ave 144 max 144 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 714 ave 714 max 714 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 714 +Ave neighs/atom = 8.8148148 +Ave special neighs/atom = 4 +Neighbor list builds = 72 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/replicate/log.6May24.replicate.bond.x.y.g++.4 b/examples/replicate/log.6May24.replicate.bond.x.y.g++.4 new file mode 100644 index 0000000000..f232a4e428 --- /dev/null +++ b/examples/replicate/log.6May24.replicate.bond.x.y.g++.4 @@ -0,0 +1,126 @@ +LAMMPS (17 Apr 2024) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) +# test of replicating system with periodic bonds in both x and y + +dimension 2 +atom_style molecular + +read_data data.bond.x.y +Reading data file ... + orthogonal box = (0 0 -0.5) to (3 3 0.5) + 2 by 2 by 1 MPI processor grid + reading atoms ... + 9 atoms + scanning bonds ... + 2 = max bonds/atom + orthogonal box = (0 0 -0.5) to (3 3 0.5) + 2 by 2 by 1 MPI processor grid + reading bonds ... + 18 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 4 = max # of 1-2 neighbors + 12 = max # of 1-3 neighbors + 48 = max # of 1-4 neighbors + 8 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +#replicate 3 3 1 +replicate 3 3 1 bond/periodic +Replication is creating a 3x3x1 = 9 times larger system... + orthogonal box = (0 0 -0.5) to (9 9 0.5) + 2 by 2 by 1 MPI processor grid + bounding box image = (0 0 0) to (0 0 0) + bounding box extra memory = 0.00 MB + average # of replicas added to proc = 6.25 out of 9 (69.44%) + 81 atoms + 162 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 4 = max # of 1-2 neighbors + 12 = max # of 1-3 neighbors + 48 = max # of 1-4 neighbors + 24 = max # of special neighbors + special bonds CPU = 0.000 seconds + replicate CPU = 0.001 seconds + +mass 1 1.0 +velocity all create 0.02 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.0 + +bond_style harmonic +bond_coeff 1 50.0 1.0 + +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 4 = max # of 1-2 neighbors + 24 = max # of special neighbors + special bonds CPU = 0.000 seconds + +fix 1 all nve + +write_data tmp.data.x.y +System init for write_data ... +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 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard + +dump 1 all image 100 tmp.image.x.y.*.ppm type type adiam 0.2 bond type 0.1 zoom 1.6 +dump_modify 1 pad 5 + +#dump 2 all movie 100 tmp.movie.x.y.mpg type type # adiam 0.2 bond type 0.1 zoom 1.6 +#dump_modify 2 pad 5 + +run 5000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +WARNING: Inconsistent image flags (../domain.cpp:1051) +Per MPI rank memory allocation (min/avg/max) = 7.552 | 7.552 | 7.552 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.02 -1.1250229 0 -1.1052698 -2.9713842 + 5000 0.046175679 -1.2280388 0.080003864 -1.1024293 -4.1097897 +Loop time of 0.273847 on 4 procs for 5000 steps with 81 atoms + +Performance: 7887622.810 tau/day, 18258.386 timesteps/s, 1.479 Matom-step/s +92.4% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.0039465 | 0.0042593 | 0.0046129 | 0.4 | 1.56 +Bond | 0.0011489 | 0.001207 | 0.0012757 | 0.2 | 0.44 +Neigh | 0.00079819 | 0.0008044 | 0.00081324 | 0.0 | 0.29 +Comm | 0.024107 | 0.024703 | 0.025269 | 0.3 | 9.02 +Output | 0.14406 | 0.18123 | 0.23779 | 8.7 | 66.18 +Modify | 0.00089401 | 0.00095321 | 0.0010422 | 0.0 | 0.35 +Other | | 0.06069 | | | 22.16 + +Nlocal: 20.25 ave 22 max 19 min +Histogram: 2 0 0 0 0 0 1 0 0 1 +Nghost: 81.5 ave 82 max 80 min +Histogram: 1 0 0 0 0 0 0 0 0 3 +Neighs: 178.5 ave 195 max 165 min +Histogram: 2 0 0 0 0 0 0 1 0 1 + +Total # of neighbors = 714 +Ave neighs/atom = 8.8148148 +Ave special neighs/atom = 4 +Neighbor list builds = 72 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/replicate/log.6May24.replicate.bond.xy.g++.1 b/examples/replicate/log.6May24.replicate.bond.xy.g++.1 new file mode 100644 index 0000000000..207b65ef9b --- /dev/null +++ b/examples/replicate/log.6May24.replicate.bond.xy.g++.1 @@ -0,0 +1,125 @@ +LAMMPS (17 Apr 2024) +# test of replicating system with periodic bonds in xy diagonal direction + +dimension 2 +atom_style molecular + +read_data data.bond.xy +Reading data file ... + orthogonal box = (0 0 -0.5) to (3 3 0.5) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 3 atoms + scanning bonds ... + 1 = max bonds/atom + orthogonal box = (0 0 -0.5) to (3 3 0.5) + 1 by 1 by 1 MPI processor grid + reading bonds ... + 3 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.004 seconds + +#replicate 3 3 1 +replicate 3 3 1 bond/periodic +Replication is creating a 3x3x1 = 9 times larger system... + orthogonal box = (0 0 -0.5) to (9 9 0.5) + 1 by 1 by 1 MPI processor grid + bounding box image = (0 0 0) to (0 0 0) + bounding box extra memory = 0.00 MB + average # of replicas added to proc = 9.00 out of 9 (100.00%) + 27 atoms + 27 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + replicate CPU = 0.001 seconds + +mass 1 1.0 +velocity all create 0.02 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.5 + +bond_style harmonic +bond_coeff 1 50.0 1.414 + +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 2 = max # of 1-2 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +fix 1 all nve + +write_data tmp.data.xy +System init for write_data ... +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 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard + +dump 1 all image 100 tmp.image.xy.*.ppm type type adiam 0.2 bond type 0.1 zoom 1.6 +dump_modify 1 pad 5 + +#dump 2 all movie 100 tmp.movie.xy.mpg type type # adiam 0.2 bond type 0.1 zoom 1.6 +#dump_modify 2 pad 5 + +run 5000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +WARNING: Inconsistent image flags (../domain.cpp:1051) +Per MPI rank memory allocation (min/avg/max) = 6.302 | 6.302 | 6.302 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.02 -0.66256987 2.2804444e-06 -0.64330834 -0.59475371 + 5000 0.43110862 -1.1484506 0.16888799 -0.56442095 -0.3683968 +Loop time of 0.124095 on 1 procs for 5000 steps with 27 atoms + +Performance: 17406010.885 tau/day, 40291.692 timesteps/s, 1.088 Matom-step/s +82.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.0013734 | 0.0013734 | 0.0013734 | 0.0 | 1.11 +Bond | 0.00064058 | 0.00064058 | 0.00064058 | 0.0 | 0.52 +Neigh | 0.00090424 | 0.00090424 | 0.00090424 | 0.0 | 0.73 +Comm | 0.00081732 | 0.00081732 | 0.00081732 | 0.0 | 0.66 +Output | 0.11905 | 0.11905 | 0.11905 | 0.0 | 95.93 +Modify | 0.0007252 | 0.0007252 | 0.0007252 | 0.0 | 0.58 +Other | | 0.0005888 | | | 0.47 + +Nlocal: 27 ave 27 max 27 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 45 ave 45 max 45 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 66 ave 66 max 66 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 66 +Ave neighs/atom = 2.4444444 +Ave special neighs/atom = 2 +Neighbor list builds = 244 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/replicate/log.6May24.replicate.bond.xy.g++.4 b/examples/replicate/log.6May24.replicate.bond.xy.g++.4 new file mode 100644 index 0000000000..a8ef944ec7 --- /dev/null +++ b/examples/replicate/log.6May24.replicate.bond.xy.g++.4 @@ -0,0 +1,126 @@ +LAMMPS (17 Apr 2024) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) +# test of replicating system with periodic bonds in xy diagonal direction + +dimension 2 +atom_style molecular + +read_data data.bond.xy +Reading data file ... + orthogonal box = (0 0 -0.5) to (3 3 0.5) + 2 by 2 by 1 MPI processor grid + reading atoms ... + 3 atoms + scanning bonds ... + 1 = max bonds/atom + orthogonal box = (0 0 -0.5) to (3 3 0.5) + 2 by 2 by 1 MPI processor grid + reading bonds ... + 3 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 2 = max # of special neighbors + special bonds CPU = 0.000 seconds + read_data CPU = 0.003 seconds + +#replicate 3 3 1 +replicate 3 3 1 bond/periodic +Replication is creating a 3x3x1 = 9 times larger system... + orthogonal box = (0 0 -0.5) to (9 9 0.5) + 2 by 2 by 1 MPI processor grid + bounding box image = (0 0 0) to (0 0 0) + bounding box extra memory = 0.00 MB + average # of replicas added to proc = 6.25 out of 9 (69.44%) + 27 atoms + 27 bonds +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 0 0 + special bond factors coul: 0 0 0 + 2 = max # of 1-2 neighbors + 2 = max # of 1-3 neighbors + 4 = max # of 1-4 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + replicate CPU = 0.001 seconds + +mass 1 1.0 +velocity all create 0.02 87287 loop geom + +pair_style lj/cut 2.5 +pair_coeff 1 1 1.0 1.5 + +bond_style harmonic +bond_coeff 1 50.0 1.414 + +special_bonds fene +Finding 1-2 1-3 1-4 neighbors ... + special bond factors lj: 0 1 1 + special bond factors coul: 0 1 1 + 2 = max # of 1-2 neighbors + 6 = max # of special neighbors + special bonds CPU = 0.000 seconds + +fix 1 all nve + +write_data tmp.data.xy +System init for write_data ... +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 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair lj/cut, perpetual + attributes: half, newton on + pair build: half/bin/newton + stencil: half/bin/2d + bin: standard + +dump 1 all image 100 tmp.image.xy.*.ppm type type adiam 0.2 bond type 0.1 zoom 1.6 +dump_modify 1 pad 5 + +#dump 2 all movie 100 tmp.movie.xy.mpg type type # adiam 0.2 bond type 0.1 zoom 1.6 +#dump_modify 2 pad 5 + +run 5000 +Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +WARNING: Inconsistent image flags (../domain.cpp:1051) +Per MPI rank memory allocation (min/avg/max) = 6.301 | 6.301 | 6.301 Mbytes + Step Temp E_pair E_mol TotEng Press + 0 0.02 -0.66256988 2.2804444e-06 -0.64330834 -0.59475371 + 5000 0.43110877 -1.1484507 0.168888 -0.56442093 -0.36839692 +Loop time of 0.286423 on 4 procs for 5000 steps with 27 atoms + +Performance: 7541285.935 tau/day, 17456.680 timesteps/s, 471.330 katom-step/s +92.9% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.00054941 | 0.00084836 | 0.0013689 | 0.0 | 0.30 +Bond | 0.00034068 | 0.00045816 | 0.00068461 | 0.0 | 0.16 +Neigh | 0.00092076 | 0.00098494 | 0.0010463 | 0.0 | 0.34 +Comm | 0.018151 | 0.018737 | 0.019531 | 0.4 | 6.54 +Output | 0.13261 | 0.19363 | 0.2596 | 10.7 | 67.60 +Modify | 0.00053153 | 0.00071381 | 0.0010268 | 0.0 | 0.25 +Other | | 0.07105 | | | 24.81 + +Nlocal: 6.75 ave 9 max 5 min +Histogram: 2 0 0 0 0 0 0 1 0 1 +Nghost: 26.25 ave 28 max 25 min +Histogram: 2 0 0 0 0 0 1 0 0 1 +Neighs: 16.5 ave 23 max 10 min +Histogram: 1 1 0 0 0 0 0 0 1 1 + +Total # of neighbors = 66 +Ave neighs/atom = 2.4444444 +Ave special neighs/atom = 2 +Neighbor list builds = 244 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/replicate/log.7Jan22.replicate.g++.1 b/examples/replicate/log.6May24.replicate.cnt.g++.1 similarity index 67% rename from examples/replicate/log.7Jan22.replicate.g++.1 rename to examples/replicate/log.6May24.replicate.cnt.g++.1 index 2933535ae8..f44032e723 100644 --- a/examples/replicate/log.7Jan22.replicate.g++.1 +++ b/examples/replicate/log.6May24.replicate.cnt.g++.1 @@ -1,4 +1,4 @@ -LAMMPS (7 Jan 2022) +LAMMPS (17 Apr 2024) # three orthogonal periodic CNTs # demo for replicating triply looped system # infinite loops in x, y, z @@ -37,6 +37,8 @@ Reading data file ... 12 = max dihedrals/atom scanning impropers ... 1 = max impropers/atom + orthogonal box = (0 0 0) to (80.96 80.96 80.96) + 1 by 1 by 1 MPI processor grid reading bonds ... 4752 bonds reading angles ... @@ -52,11 +54,11 @@ Finding 1-2 1-3 1-4 neighbors ... 6 = max # of 1-3 neighbors 18 = max # of 1-4 neighbors 18 = max # of special neighbors - special bonds CPU = 0.003 seconds - read_data CPU = 0.115 seconds + special bonds CPU = 0.002 seconds + read_data CPU = 0.056 seconds -replicate 2 2 2 bondlist -Replicating atoms ... +replicate 2 2 2 bond/periodic +Replication is creating a 2x2x2 = 8 times larger system... orthogonal box = (0 0 0) to (161.92 161.92 161.92) 1 by 1 by 1 MPI processor grid bounding box image = (0 0 0) to (0 0 0) @@ -74,15 +76,15 @@ Finding 1-2 1-3 1-4 neighbors ... 6 = max # of 1-3 neighbors 18 = max # of 1-4 neighbors 18 = max # of special neighbors - special bonds CPU = 0.021 seconds - replicate CPU = 0.052 seconds + special bonds CPU = 0.012 seconds + replicate CPU = 0.027 seconds fix 1 all nve run 100 - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Generated 0 of 0 mixed pair_coeff terms from sixthpower/geometric mixing rule Neighbor list info ... - update every 1 steps, delay 10 steps, check yes + update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 12 ghost atom cutoff = 12 @@ -93,26 +95,26 @@ Neighbor list info ... pair build: half/bin/newton stencil: half/bin/3d bin: standard -WARNING: Inconsistent image flags (../domain.cpp:814) +WARNING: Inconsistent image flags (../domain.cpp:1051) Per MPI rank memory allocation (min/avg/max) = 51.87 | 51.87 | 51.87 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 -14266.189 1466925.5 1452659.3 -29908.753 - 100 2155.9128 -17224.188 1306769.8 1452409 1985.2082 -Loop time of 15.0972 on 1 procs for 100 steps with 25344 atoms + Step Temp E_pair E_mol TotEng Press + 0 0 -14266.189 1466925.5 1452659.3 -29908.753 + 100 2155.9128 -17224.188 1306769.8 1452409 1985.2082 +Loop time of 5.0155 on 1 procs for 100 steps with 25344 atoms -Performance: 0.572 ns/day, 41.937 hours/ns, 6.624 timesteps/s +Performance: 1.723 ns/day, 13.932 hours/ns, 19.938 timesteps/s, 505.314 katom-step/s 100.0% CPU use with 1 MPI tasks x no OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 3.7175 | 3.7175 | 3.7175 | 0.0 | 24.62 -Bond | 11.222 | 11.222 | 11.222 | 0.0 | 74.33 -Neigh | 0.1032 | 0.1032 | 0.1032 | 0.0 | 0.68 -Comm | 0.014487 | 0.014487 | 0.014487 | 0.0 | 0.10 -Output | 0.00010894 | 0.00010894 | 0.00010894 | 0.0 | 0.00 -Modify | 0.027112 | 0.027112 | 0.027112 | 0.0 | 0.18 -Other | | 0.01274 | | | 0.08 +Pair | 1.6557 | 1.6557 | 1.6557 | 0.0 | 33.01 +Bond | 3.2813 | 3.2813 | 3.2813 | 0.0 | 65.42 +Neigh | 0.047025 | 0.047025 | 0.047025 | 0.0 | 0.94 +Comm | 0.0085317 | 0.0085317 | 0.0085317 | 0.0 | 0.17 +Output | 7.8551e-05 | 7.8551e-05 | 7.8551e-05 | 0.0 | 0.00 +Modify | 0.014635 | 0.014635 | 0.014635 | 0.0 | 0.29 +Other | | 0.008159 | | | 0.16 Nlocal: 25344 ave 25344 max 25344 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -129,4 +131,4 @@ Dangerous builds = 0 # write_restart replicate.restart # write_data replicate.data -Total wall time: 0:00:15 +Total wall time: 0:00:05 diff --git a/examples/replicate/log.7Jan22.replicate.g++.4 b/examples/replicate/log.6May24.replicate.cnt.g++.4 similarity index 65% rename from examples/replicate/log.7Jan22.replicate.g++.4 rename to examples/replicate/log.6May24.replicate.cnt.g++.4 index 79a13b1484..57abdf767d 100644 --- a/examples/replicate/log.7Jan22.replicate.g++.4 +++ b/examples/replicate/log.6May24.replicate.cnt.g++.4 @@ -1,4 +1,5 @@ -LAMMPS (7 Jan 2022) +LAMMPS (17 Apr 2024) +WARNING: Using I/O redirection is unreliable with parallel runs. Better to use the -in switch to read input files. (../lammps.cpp:551) # three orthogonal periodic CNTs # demo for replicating triply looped system # infinite loops in x, y, z @@ -37,6 +38,8 @@ Reading data file ... 12 = max dihedrals/atom scanning impropers ... 1 = max impropers/atom + orthogonal box = (0 0 0) to (80.96 80.96 80.96) + 1 by 2 by 2 MPI processor grid reading bonds ... 4752 bonds reading angles ... @@ -53,10 +56,10 @@ Finding 1-2 1-3 1-4 neighbors ... 18 = max # of 1-4 neighbors 18 = max # of special neighbors special bonds CPU = 0.001 seconds - read_data CPU = 0.315 seconds + read_data CPU = 0.064 seconds -replicate 2 2 2 bondlist -Replicating atoms ... +replicate 2 2 2 bond/periodic +Replication is creating a 2x2x2 = 8 times larger system... orthogonal box = (0 0 0) to (161.92 161.92 161.92) 1 by 2 by 2 MPI processor grid bounding box image = (0 0 0) to (0 0 0) @@ -74,15 +77,15 @@ Finding 1-2 1-3 1-4 neighbors ... 6 = max # of 1-3 neighbors 18 = max # of 1-4 neighbors 18 = max # of special neighbors - special bonds CPU = 0.007 seconds - replicate CPU = 0.020 seconds + special bonds CPU = 0.004 seconds + replicate CPU = 0.012 seconds fix 1 all nve run 100 - generated 0 of 0 mixed pair_coeff terms from geometric mixing rule +Generated 0 of 0 mixed pair_coeff terms from sixthpower/geometric mixing rule Neighbor list info ... - update every 1 steps, delay 10 steps, check yes + update: every = 1 steps, delay = 0 steps, check = yes max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 12 ghost atom cutoff = 12 @@ -93,26 +96,26 @@ Neighbor list info ... pair build: half/bin/newton stencil: half/bin/3d bin: standard -WARNING: Inconsistent image flags (../domain.cpp:814) +WARNING: Inconsistent image flags (../domain.cpp:1051) Per MPI rank memory allocation (min/avg/max) = 28.69 | 28.69 | 28.69 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 -14266.189 1466925.5 1452659.3 -29908.753 - 100 2155.9128 -17224.188 1306769.8 1452409 1985.2082 -Loop time of 4.13195 on 4 procs for 100 steps with 25344 atoms + Step Temp E_pair E_mol TotEng Press + 0 0 -14266.189 1466925.5 1452659.3 -29908.753 + 100 2155.9128 -17224.188 1306769.8 1452409 1985.2082 +Loop time of 1.3667 on 4 procs for 100 steps with 25344 atoms -Performance: 2.091 ns/day, 11.478 hours/ns, 24.202 timesteps/s -100.0% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 6.322 ns/day, 3.796 hours/ns, 73.169 timesteps/s, 1.854 Matom-step/s +99.8% 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.99372 | 1.014 | 1.0672 | 3.1 | 24.54 -Bond | 2.9449 | 2.9795 | 3.0136 | 2.0 | 72.11 -Neigh | 0.026695 | 0.026706 | 0.026716 | 0.0 | 0.65 -Comm | 0.012404 | 0.099546 | 0.15425 | 18.7 | 2.41 -Output | 4.3822e-05 | 5.0693e-05 | 7.0516e-05 | 0.0 | 0.00 -Modify | 0.0074219 | 0.0074887 | 0.0075411 | 0.1 | 0.18 -Other | | 0.004616 | | | 0.11 +Pair | 0.43424 | 0.43539 | 0.43741 | 0.2 | 31.86 +Bond | 0.88613 | 0.89013 | 0.90094 | 0.7 | 65.13 +Neigh | 0.013198 | 0.013199 | 0.013201 | 0.0 | 0.97 +Comm | 0.010742 | 0.020522 | 0.02546 | 4.1 | 1.50 +Output | 3.2788e-05 | 3.6302e-05 | 4.4556e-05 | 0.0 | 0.00 +Modify | 0.0042029 | 0.0042366 | 0.004267 | 0.0 | 0.31 +Other | | 0.003188 | | | 0.23 Nlocal: 6336 ave 6336 max 6336 min Histogram: 4 0 0 0 0 0 0 0 0 0 @@ -129,4 +132,4 @@ Dangerous builds = 0 # write_restart replicate.restart # write_data replicate.data -Total wall time: 0:00:04 +Total wall time: 0:00:01 diff --git a/src/replicate.cpp b/src/replicate.cpp index ca432b32a8..e232160842 100644 --- a/src/replicate.cpp +++ b/src/replicate.cpp @@ -12,6 +12,12 @@ See the README file in the top-level LAMMPS directory. ------------------------------------------------------------------------- */ +/* ---------------------------------------------------------------------- + Contributing authors: + Chris Knight (ANL) for bbox option + Jake Gissinger (Stevens Institute of Technology) for bond/periodic option +------------------------------------------------------------------------- */ + #include "replicate.h" #include "accelerator_kokkos.h" @@ -70,13 +76,24 @@ void Replicate::command(int narg, char **arg) utils::logmesg(lmp, "Replication is creating a {}x{}x{} = {} times larger system...\n", nx, ny, nz, nrep); - int bbox_flag = 0; - int bondlist_flag = 0; - if (narg == 4) { - if (strcmp(arg[3],"bbox") == 0) bbox_flag = 1; - if (strcmp(arg[3],"bondlist") == 0) bondlist_flag = 1; + // optional keywords + + bbox_flag = 0; + bond_flag = 0; + + int iarg = 3; + while (iarg < narg) { + if (strcmp(arg[iarg],"bbox") == 0) { + bbox_flag = 1; + iarg++; + } else if (strcmp(arg[iarg],"bond/periodic") == 0) { + bond_flag = 1; + iarg++; + } else error->all(FLERR,"Illegal replicate command"); } + if (bond_flag) bbox_flag = 1; + // error and warning checks if (nx <= 0 || ny <= 0 || nz <= 0) @@ -91,7 +108,7 @@ void Replicate::command(int narg, char **arg) } if (atom->nextra_grow || atom->nextra_restart || atom->nextra_store) - error->all(FLERR,"Cannot replicate with fixes that store atom quantities"); + error->all(FLERR,"Cannot replicate with fixes that store per-atom quantities"); // record wall time for atom replication @@ -110,24 +127,24 @@ void Replicate::command(int narg, char **arg) // maxmol = largest molecule tag across all existing atoms - tagint maxmol = 0; + maxmol = 0; if (atom->molecule_flag) { for (i = 0; i < atom->nlocal; i++) maxmol = MAX(atom->molecule[i],maxmol); tagint maxmol_all; MPI_Allreduce(&maxmol,&maxmol_all,1,MPI_LMP_TAGINT,MPI_MAX,world); maxmol = maxmol_all; } - - // reset image flags for bondlist option - if (bondlist_flag) + + // reset image flags to zero for bond/periodic option + + if (bond_flag) for (i=0; inlocal; ++i) atom->image[i] = ((imageint) IMGMAX << IMG2BITS) | ((imageint) IMGMAX << IMGBITS) | IMGMAX; - // check image flags maximum extent + // _imagelo/hi = maximum extent of image flags in each dimension // only efficient small image flags compared to new system - int _imagelo[3], _imagehi[3]; _imagelo[0] = 0; _imagelo[1] = 0; _imagelo[2] = 0; @@ -135,7 +152,7 @@ void Replicate::command(int narg, char **arg) _imagehi[1] = 0; _imagehi[2] = 0; - if (bbox_flag || bondlist_flag) { + if (bbox_flag || bond_flag) { for (i=0; inlocal; ++i) { imageint image = atom->image[i]; @@ -157,14 +174,14 @@ void Replicate::command(int narg, char **arg) } // unmap existing atoms via image flags + // no-op for bond/periodic option for (i = 0; i < atom->nlocal; i++) domain->unmap(atom->x[i],atom->image[i]); - + // communication buffer for all my atom's info // max_size = largest buffer needed by any proc - // must do before new Atom class created, - // since size_restart() uses atom->nlocal + // must do before new Atom class created, since size_restart() uses atom->nlocal int max_size; int send_size = atom->avec->size_restart(); @@ -177,7 +194,7 @@ void Replicate::command(int narg, char **arg) // atom = new replicated atom class // also set atomKK for Kokkos version of Atom class - Atom *old = atom; + old = atom; atomKK = nullptr; if (lmp->kokkos) atom = atomKK = new AtomKokkos(lmp); else atom = new Atom(lmp); @@ -216,7 +233,7 @@ void Replicate::command(int narg, char **arg) nrep*old->nimpropers < 0 || nrep*old->nimpropers >= MAXBIGINT) error->all(FLERR,"Replicated system is too big"); - // assign atom and topology counts in new class from old one + // assign atom and topology counts in new Atom class from old Atom class atom->natoms = old->natoms * nrep; atom->nbonds = old->nbonds * nrep; @@ -258,18 +275,18 @@ void Replicate::command(int narg, char **arg) // store old simulation box int triclinic = domain->triclinic; - double old_xprd = domain->xprd; - double old_yprd = domain->yprd; - double old_zprd = domain->zprd; + old_xprd = domain->xprd; + old_yprd = domain->yprd; + old_zprd = domain->zprd; for (i = 0; i < 3; i++) { old_prd_half[i] = domain->prd_half[i]; old_center[i] = 0.5*(domain->boxlo[i]+domain->boxhi[i]); } - double old_xy = domain->xy; - double old_xz = domain->xz; - double old_yz = domain->yz; + old_xy = domain->xy; + old_xz = domain->xz; + old_yz = domain->yz; - // setup new simulation box + // define new simulation box domain->boxhi[0] = domain->boxlo[0] + nx*old_xprd; domain->boxhi[1] = domain->boxlo[1] + ny*old_yprd; @@ -280,15 +297,14 @@ void Replicate::command(int narg, char **arg) domain->yz *= nz; } - // new problem setup using new box boundaries + // setup of new system using new atom counts and new box boundaries + // allocate atom arrays to size N, rounded up by AtomVec->DELTA if (nprocs == 1) n = static_cast (atom->natoms); else n = static_cast (LB_FACTOR * atom->natoms / nprocs); atom->allocate_type_arrays(); - // allocate atom arrays to size N, rounded up by AtomVec->DELTA - bigint nbig = n; nbig = atom->avec->roundup(nbig); n = static_cast (nbig); @@ -362,15 +378,23 @@ void Replicate::command(int narg, char **arg) } } - // loop over all procs - // if this iteration of loop is me: - // pack my unmapped atom data into buf - // bcast it to all other procs - // performs 3d replicate loop with while loop over atoms in buf - // x = new replicated position, remapped into simulation box - // unpack atom into new atom class from buf if I own it - // adjust tag, mol #, coord, topology info as needed + // use + if (!bbox_flag) { + replicate_by_proc(nx,ny,nz,sublo,subhi,buf); + } else { + replicate_by_bbox(nx,ny,nz,sublo,subhi,buf); + } + + + + + + + + + + /* AtomVec *old_avec = old->avec; AtomVec *avec = atom->avec; @@ -381,7 +405,7 @@ void Replicate::command(int narg, char **arg) double *coord; int tag_enable = atom->tag_enable; - if (bbox_flag || bondlist_flag) { + if (bbox_flag || bond_flag) { // allgather size of buf on each proc @@ -456,7 +480,7 @@ void Replicate::command(int narg, char **arg) // store x and tag for the whole system (before replication) - if (bondlist_flag) { + if (bond_flag) { memory->create(old_x,old->natoms,3,"replicate:old_x"); memory->create(old_tag,old->natoms,"replicate:old_tag"); @@ -668,13 +692,13 @@ void Replicate::command(int narg, char **arg) if (atom->molecular == Atom::MOLECULAR) { if (atom->avec->bonds_allow) for (j = 0; j < atom->num_bond[i]; j++) { - if (bondlist_flag) + if (bond_flag) newtag(atom0tag,atom->bond_atom[i][j]); else atom->bond_atom[i][j] += atom_offset; } if (atom->avec->angles_allow) for (j = 0; j < atom->num_angle[i]; j++) { - if (bondlist_flag) { + if (bond_flag) { newtag(atom0tag,atom->angle_atom1[i][j]); newtag(atom0tag,atom->angle_atom2[i][j]); newtag(atom0tag,atom->angle_atom3[i][j]); @@ -686,7 +710,7 @@ void Replicate::command(int narg, char **arg) } if (atom->avec->dihedrals_allow) for (j = 0; j < atom->num_dihedral[i]; j++) { - if (bondlist_flag) { + if (bond_flag) { newtag(atom0tag,atom->dihedral_atom1[i][j]); newtag(atom0tag,atom->dihedral_atom2[i][j]); newtag(atom0tag,atom->dihedral_atom3[i][j]); @@ -700,7 +724,7 @@ void Replicate::command(int narg, char **arg) } if (atom->avec->impropers_allow) for (j = 0; j < atom->num_improper[i]; j++) { - if (bondlist_flag) { + if (bond_flag) { newtag(atom0tag,atom->improper_atom1[i][j]); newtag(atom0tag,atom->improper_atom2[i][j]); newtag(atom0tag,atom->improper_atom3[i][j]); @@ -725,7 +749,7 @@ void Replicate::command(int narg, char **arg) memory->destroy(size_buf_rnk); memory->destroy(disp_buf_rnk); memory->destroy(buf_all); - if (bondlist_flag) { + if (bond_flag) { memory->destroy(old_x); memory->destroy(old_tag); } @@ -825,8 +849,14 @@ void Replicate::command(int narg, char **arg) } } } - } // if (bbox_flag || bondlist_flag) + } // if (bbox_flag || bond_flag) + */ + + + + + // free communication buffer and old atom class memory->destroy(buf); @@ -889,8 +919,511 @@ void Replicate::command(int narg, char **arg) } /* ---------------------------------------------------------------------- - find new tag for the atom 'atom2bond' bonded to atom 'atom0' - for bondlist option, useful for periodic loops or inconsistent image flags + simple replication algorithm, suitable for small proc count +------------------------------------------------------------------------- */ + +void Replicate::replicate_by_proc(int nx, int ny, int nz, + double *sublo, double *subhi, double *buf) +{ + int i,j,m,n; + int ix,iy,iz; + + int me = comm->me; + int nprocs = comm->nprocs; + int triclinic = domain->triclinic; + int tag_enable = atom->tag_enable; + + AtomVec *old_avec = old->avec; + AtomVec *avec = atom->avec; + + tagint atom_offset,mol_offset; + imageint image; + double x[3],lamda[3]; + double *coord; + + // loop over all procs + // if this iteration of loop is me: + // pack my unmapped atom data into buf + // bcast it to all other procs + + for (int iproc = 0; iproc < nprocs; iproc++) { + if (me == iproc) { + n = 0; + for (i = 0; i < old->nlocal; i++) n += old_avec->pack_restart(i,&buf[n]); + } + MPI_Bcast(&n,1,MPI_INT,iproc,world); + MPI_Bcast(buf,n,MPI_DOUBLE,iproc,world); + + for (ix = 0; ix < nx; ix++) { + for (iy = 0; iy < ny; iy++) { + for (iz = 0; iz < nz; iz++) { + + // while loop over one proc's atom list + // x = new replicated position, remapped into new simulation box + // if atom is within my new subdomain, unpack it into new atom class + // adjust tag, mol #, coord, topology info as needed + + m = 0; + while (m < n) { + image = ((imageint) IMGMAX << IMG2BITS) | + ((imageint) IMGMAX << IMGBITS) | IMGMAX; + if (triclinic == 0) { + x[0] = buf[m+1] + ix*old_xprd; + x[1] = buf[m+2] + iy*old_yprd; + x[2] = buf[m+3] + iz*old_zprd; + } else { + x[0] = buf[m+1] + ix*old_xprd + iy*old_xy + iz*old_xz; + x[1] = buf[m+2] + iy*old_yprd + iz*old_yz; + x[2] = buf[m+3] + iz*old_zprd; + } + domain->remap(x,image); + if (triclinic) { + domain->x2lamda(x,lamda); + coord = lamda; + } else coord = x; + + if (coord[0] >= sublo[0] && coord[0] < subhi[0] && + coord[1] >= sublo[1] && coord[1] < subhi[1] && + coord[2] >= sublo[2] && coord[2] < subhi[2]) { + + m += avec->unpack_restart(&buf[m]); + + i = atom->nlocal - 1; + if (tag_enable) atom_offset = iz*ny*nx*maxtag + iy*nx*maxtag + ix*maxtag; + else atom_offset = 0; + mol_offset = iz*ny*nx*maxmol + iy*nx*maxmol + ix*maxmol; + + atom->x[i][0] = x[0]; + atom->x[i][1] = x[1]; + atom->x[i][2] = x[2]; + + atom->tag[i] += atom_offset; + atom->image[i] = image; + + if (atom->molecular != Atom::ATOMIC) { + if (atom->molecule[i] > 0) + atom->molecule[i] += mol_offset; + if (atom->molecular == Atom::MOLECULAR) { + if (atom->avec->bonds_allow) + for (j = 0; j < atom->num_bond[i]; j++) + atom->bond_atom[i][j] += atom_offset; + if (atom->avec->angles_allow) + for (j = 0; j < atom->num_angle[i]; j++) { + atom->angle_atom1[i][j] += atom_offset; + atom->angle_atom2[i][j] += atom_offset; + atom->angle_atom3[i][j] += atom_offset; + } + if (atom->avec->dihedrals_allow) + for (j = 0; j < atom->num_dihedral[i]; j++) { + atom->dihedral_atom1[i][j] += atom_offset; + atom->dihedral_atom2[i][j] += atom_offset; + atom->dihedral_atom3[i][j] += atom_offset; + atom->dihedral_atom4[i][j] += atom_offset; + } + if (atom->avec->impropers_allow) + for (j = 0; j < atom->num_improper[i]; j++) { + atom->improper_atom1[i][j] += atom_offset; + atom->improper_atom2[i][j] += atom_offset; + atom->improper_atom3[i][j] += atom_offset; + atom->improper_atom4[i][j] += atom_offset; + } + } + } + } else m += static_cast (buf[m]); + } + } + } + } + } +} + +/* ---------------------------------------------------------------------- + more complex replication algorithm + uses bounding box of each proc's subdomain to avoid checking individual atoms + faster for large processor counts + required for bond/periodic option +------------------------------------------------------------------------- */ + +void Replicate::replicate_by_bbox(int nx, int ny, int nz, + double *sublo, double *subhi, double *buf) +{ + int i,j,m,n; + int ix,iy,iz; + + int me = comm->me; + int nprocs = comm->nprocs; + int triclinic = domain->triclinic; + int tag_enable = atom->tag_enable; + + AtomVec *old_avec = old->avec; + AtomVec *avec = atom->avec; + + tagint atom_offset,mol_offset,atom0tag; + imageint image; + double x[3],lamda[3]; + double *coord; + + // allgather size of buf on each proc + + n = 0; + for (i = 0; i < old->nlocal; i++) n += old_avec->pack_restart(i,&buf[n]); + + int * size_buf_rnk; + memory->create(size_buf_rnk, nprocs, "replicate:size_buf_rnk"); + + MPI_Allgather(&n, 1, MPI_INT, size_buf_rnk, 1, MPI_INT, world); + + // size of buf_all + + int size_buf_all = 0; + MPI_Allreduce(&n, &size_buf_all, 1, MPI_INT, MPI_SUM, world); + + if (me == 0) { + auto mesg = fmt::format(" bounding box image = ({} {} {}) " + "to ({} {} {})\n", + _imagelo[0],_imagelo[1],_imagelo[2], + _imagehi[0],_imagehi[1],_imagehi[2]); + mesg += fmt::format(" bounding box extra memory = {:.2f} MB\n", + (double)size_buf_all*sizeof(double)/1024/1024); + utils::logmesg(lmp,mesg); + } + + // rnk offsets + + int *disp_buf_rnk; + memory->create(disp_buf_rnk, nprocs, "replicate:disp_buf_rnk"); + disp_buf_rnk[0] = 0; + for (i = 1; i < nprocs; i++) + disp_buf_rnk[i] = disp_buf_rnk[i-1] + size_buf_rnk[i-1]; + + // allgather buf_all + + double *buf_all; + memory->create(buf_all, size_buf_all, "replicate:buf_all"); + + MPI_Allgatherv(buf,n,MPI_DOUBLE,buf_all,size_buf_rnk,disp_buf_rnk, + MPI_DOUBLE,world); + + // bounding box of original unwrapped system + + double _orig_lo[3], _orig_hi[3]; + if (triclinic) { + _orig_lo[0] = domain->boxlo[0] + + _imagelo[0] * old_xprd + _imagelo[1] * old_xy + _imagelo[2] * old_xz; + _orig_lo[1] = domain->boxlo[1] + + _imagelo[1] * old_yprd + _imagelo[2] * old_yz; + _orig_lo[2] = domain->boxlo[2] + _imagelo[2] * old_zprd; + + _orig_hi[0] = domain->boxlo[0] + + (_imagehi[0]+1) * old_xprd + + (_imagehi[1]+1) * old_xy + (_imagehi[2]+1) * old_xz; + _orig_hi[1] = domain->boxlo[1] + + (_imagehi[1]+1) * old_yprd + (_imagehi[2]+1) * old_yz; + _orig_hi[2] = domain->boxlo[2] + (_imagehi[2]+1) * old_zprd; + } else { + _orig_lo[0] = domain->boxlo[0] + _imagelo[0] * old_xprd; + _orig_lo[1] = domain->boxlo[1] + _imagelo[1] * old_yprd; + _orig_lo[2] = domain->boxlo[2] + _imagelo[2] * old_zprd; + + _orig_hi[0] = domain->boxlo[0] + (_imagehi[0]+1) * old_xprd; + _orig_hi[1] = domain->boxlo[1] + (_imagehi[1]+1) * old_yprd; + _orig_hi[2] = domain->boxlo[2] + (_imagehi[2]+1) * old_zprd; + } + + double _lo[3], _hi[3]; + + int num_replicas_added = 0; + + // if bond/periodic option + // store old_x and old_tag for the entire original system + + if (bond_flag) { + memory->create(old_x,old->natoms,3,"replicate:old_x"); + memory->create(old_tag,old->natoms,"replicate:old_tag"); + + i = m = 0; + while (m < size_buf_all) { + old_x[i][0] = buf_all[m+1]; + old_x[i][1] = buf_all[m+2]; + old_x[i][2] = buf_all[m+3]; + old_tag[i] = (tagint) ubuf(buf_all[m+4]).i; + old_map.insert({old_tag[i],i}); + m += static_cast (buf_all[m]); + i++; + } + } + + // replication loop + + for (ix = 0; ix < nx; ix++) { + for (iy = 0; iy < ny; iy++) { + for (iz = 0; iz < nz; iz++) { + + thisrep[0] = ix; + thisrep[1] = iy; + thisrep[2] = iz; + + // domain->remap() overwrites coordinates, so always recompute here + + if (triclinic) { + _lo[0] = _orig_lo[0] + ix * old_xprd + iy * old_xy + iz * old_xz; + _hi[0] = _orig_hi[0] + ix * old_xprd + iy * old_xy + iz * old_xz; + + _lo[1] = _orig_lo[1] + iy * old_yprd + iz * old_yz; + _hi[1] = _orig_hi[1] + iy * old_yprd + iz * old_yz; + + _lo[2] = _orig_lo[2] + iz * old_zprd; + _hi[2] = _orig_hi[2] + iz * old_zprd; + } else { + _lo[0] = _orig_lo[0] + ix * old_xprd; + _hi[0] = _orig_hi[0] + ix * old_xprd; + + _lo[1] = _orig_lo[1] + iy * old_yprd; + _hi[1] = _orig_hi[1] + iy * old_yprd; + + _lo[2] = _orig_lo[2] + iz * old_zprd; + _hi[2] = _orig_hi[2] + iz * old_zprd; + } + + // test if bounding box of shifted replica overlaps sub-domain of proc + // if not, then can skip testing of any individual atoms + + int xoverlap = 1; + int yoverlap = 1; + int zoverlap = 1; + if (triclinic) { + double _llo[3]; + domain->x2lamda(_lo,_llo); + double _lhi[3]; + domain->x2lamda(_hi,_lhi); + + if (_llo[0] > (subhi[0] - EPSILON) + || _lhi[0] < (sublo[0] + EPSILON) ) xoverlap = 0; + if (_llo[1] > (subhi[1] - EPSILON) + || _lhi[1] < (sublo[1] + EPSILON) ) yoverlap = 0; + if (_llo[2] > (subhi[2] - EPSILON) + || _lhi[2] < (sublo[2] + EPSILON) ) zoverlap = 0; + } else { + if (_lo[0] > (subhi[0] - EPSILON) + || _hi[0] < (sublo[0] + EPSILON) ) xoverlap = 0; + if (_lo[1] > (subhi[1] - EPSILON) + || _hi[1] < (sublo[1] + EPSILON) ) yoverlap = 0; + if (_lo[2] > (subhi[2] - EPSILON) + || _hi[2] < (sublo[2] + EPSILON) ) zoverlap = 0; + } + + int overlap = 0; + if (xoverlap && yoverlap && zoverlap) overlap = 1; + + // if no overlap, test if bounding box wrapped back into new system + + if (!overlap) { + + // wrap back into cell + + imageint imagelo = ((imageint) IMGMAX << IMG2BITS) | + ((imageint) IMGMAX << IMGBITS) | IMGMAX; + domain->remap(&(_lo[0]), imagelo); + int xboxlo = (imagelo & IMGMASK) - IMGMAX; + int yboxlo = (imagelo >> IMGBITS & IMGMASK) - IMGMAX; + int zboxlo = (imagelo >> IMG2BITS) - IMGMAX; + + imageint imagehi = ((imageint) IMGMAX << IMG2BITS) | + ((imageint) IMGMAX << IMGBITS) | IMGMAX; + domain->remap(&(_hi[0]), imagehi); + int xboxhi = (imagehi & IMGMASK) - IMGMAX; + int yboxhi = (imagehi >> IMGBITS & IMGMASK) - IMGMAX; + int zboxhi = (imagehi >> IMG2BITS) - IMGMAX; + + if (triclinic) { + double _llo[3]; + _llo[0] = _lo[0]; _llo[1] = _lo[1]; _llo[2] = _lo[2]; + domain->x2lamda(_llo,_lo); + + double _lhi[3]; + _lhi[0] = _hi[0]; _lhi[1] = _hi[1]; _lhi[2] = _hi[2]; + domain->x2lamda(_lhi,_hi); + } + + // test all fragments for any overlap; ok to include false positives + + int _xoverlap1 = 0; + int _xoverlap2 = 0; + if (!xoverlap) { + if (xboxlo < 0) { + _xoverlap1 = 1; + if (_lo[0] > (subhi[0] - EPSILON)) _xoverlap1 = 0; + } + + if (xboxhi > 0) { + _xoverlap2 = 1; + if (_hi[0] < (sublo[0] + EPSILON)) _xoverlap2 = 0; + } + + if (_xoverlap1 || _xoverlap2) xoverlap = 1; + } + + int _yoverlap1 = 0; + int _yoverlap2 = 0; + if (!yoverlap) { + if (yboxlo < 0) { + _yoverlap1 = 1; + if (_lo[1] > (subhi[1] - EPSILON)) _yoverlap1 = 0; + } + + if (yboxhi > 0) { + _yoverlap2 = 1; + if (_hi[1] < (sublo[1] + EPSILON)) _yoverlap2 = 0; + } + + if (_yoverlap1 || _yoverlap2) yoverlap = 1; + } + + + int _zoverlap1 = 0; + int _zoverlap2 = 0; + if (!zoverlap) { + if (zboxlo < 0) { + _zoverlap1 = 1; + if (_lo[2] > (subhi[2] - EPSILON)) _zoverlap1 = 0; + } + + if (zboxhi > 0) { + _zoverlap2 = 1; + if (_hi[2] < (sublo[2] + EPSILON)) _zoverlap2 = 0; + } + + if (_zoverlap1 || _zoverlap2) zoverlap = 1; + } + + // does either fragment overlap w/ sub-domain + + if (xoverlap && yoverlap && zoverlap) overlap = 1; + } + + // while loop over one proc's atom list + + if (overlap) { + num_replicas_added++; + + m = 0; + while (m < size_buf_all) { + image = ((imageint) IMGMAX << IMG2BITS) | + ((imageint) IMGMAX << IMGBITS) | IMGMAX; + if (triclinic == 0) { + x[0] = buf_all[m+1] + ix*old_xprd; + x[1] = buf_all[m+2] + iy*old_yprd; + x[2] = buf_all[m+3] + iz*old_zprd; + } else { + x[0] = buf_all[m+1] + ix*old_xprd + iy*old_xy + iz*old_xz; + x[1] = buf_all[m+2] + iy*old_yprd + iz*old_yz; + x[2] = buf_all[m+3] + iz*old_zprd; + } + domain->remap(x,image); + if (triclinic) { + domain->x2lamda(x,lamda); + coord = lamda; + } else coord = x; + + if (coord[0] >= sublo[0] && coord[0] < subhi[0] && + coord[1] >= sublo[1] && coord[1] < subhi[1] && + coord[2] >= sublo[2] && coord[2] < subhi[2]) { + + m += avec->unpack_restart(&buf_all[m]); + + i = atom->nlocal - 1; + if (tag_enable) + atom_offset = iz*ny*nx*maxtag + iy*nx*maxtag + ix*maxtag; + else atom_offset = 0; + mol_offset = iz*ny*nx*maxmol + iy*nx*maxmol + ix*maxmol; + + atom->x[i][0] = x[0]; + atom->x[i][1] = x[1]; + atom->x[i][2] = x[2]; + + atom0tag = atom->tag[i]; + atom->tag[i] += atom_offset; + atom->image[i] = image; + + if (atom->molecular != Atom::ATOMIC) { + if (atom->molecule[i] > 0) + atom->molecule[i] += mol_offset; + if (atom->molecular == Atom::MOLECULAR) { + if (atom->avec->bonds_allow) + for (j = 0; j < atom->num_bond[i]; j++) { + if (bond_flag) + newtag(atom0tag,atom->bond_atom[i][j]); + else atom->bond_atom[i][j] += atom_offset; + } + if (atom->avec->angles_allow) + for (j = 0; j < atom->num_angle[i]; j++) { + if (bond_flag) { + newtag(atom0tag,atom->angle_atom1[i][j]); + newtag(atom0tag,atom->angle_atom2[i][j]); + newtag(atom0tag,atom->angle_atom3[i][j]); + } else { + atom->angle_atom1[i][j] += atom_offset; + atom->angle_atom2[i][j] += atom_offset; + atom->angle_atom3[i][j] += atom_offset; + } + } + if (atom->avec->dihedrals_allow) + for (j = 0; j < atom->num_dihedral[i]; j++) { + if (bond_flag) { + newtag(atom0tag,atom->dihedral_atom1[i][j]); + newtag(atom0tag,atom->dihedral_atom2[i][j]); + newtag(atom0tag,atom->dihedral_atom3[i][j]); + newtag(atom0tag,atom->dihedral_atom4[i][j]); + } else { + atom->dihedral_atom1[i][j] += atom_offset; + atom->dihedral_atom2[i][j] += atom_offset; + atom->dihedral_atom3[i][j] += atom_offset; + atom->dihedral_atom4[i][j] += atom_offset; + } + } + if (atom->avec->impropers_allow) + for (j = 0; j < atom->num_improper[i]; j++) { + if (bond_flag) { + newtag(atom0tag,atom->improper_atom1[i][j]); + newtag(atom0tag,atom->improper_atom2[i][j]); + newtag(atom0tag,atom->improper_atom3[i][j]); + newtag(atom0tag,atom->improper_atom4[i][j]); + } else { + atom->improper_atom1[i][j] += atom_offset; + atom->improper_atom2[i][j] += atom_offset; + atom->improper_atom3[i][j] += atom_offset; + atom->improper_atom4[i][j] += atom_offset; + } + } + } + } + } else m += static_cast (buf_all[m]); + } + } + } + } + } + + memory->destroy(size_buf_rnk); + memory->destroy(disp_buf_rnk); + memory->destroy(buf_all); + if (bond_flag) { + memory->destroy(old_x); + memory->destroy(old_tag); + } + + int sum = 0; + MPI_Reduce(&num_replicas_added, &sum, 1, MPI_INT, MPI_SUM, 0, world); + double avg = (double) sum / nprocs; + if (me == 0) + utils::logmesg(lmp," average # of replicas added to proc = {:.2f} out " + "of {} ({:.2f}%)\n",avg,nx*ny*nz,avg/(nx*ny*nz)*100.0); +} + +/* ---------------------------------------------------------------------- + find new tag for atom 'atom2bond' bonded to atom 'atom0' + for bond/periodic option + useful for periodic loops or inconsistent image flags reassign bond if > old boxlength / 2 ------------------------------------------------------------------------- */ diff --git a/src/replicate.h b/src/replicate.h index ae314d6a82..3877d2d720 100644 --- a/src/replicate.h +++ b/src/replicate.h @@ -31,13 +31,27 @@ class Replicate : public Command { Replicate(class LAMMPS *); void command(int, char **) override; - private: - std::unordered_map old_map; +private: + int bbox_flag, bond_flag; + + class Atom *old; + + double old_xprd, old_yprd, old_zprd; + double old_xy, old_xz, old_yz; + + int _imagelo[3], _imagehi[3]; + double **old_x; double old_prd_half[3], old_center[3]; tagint *old_tag; - tagint maxtag; + tagint maxtag, maxmol; int thisrep[3], allnrep[3]; + + std::unordered_map old_map; + + void replicate_by_proc(int, int, int, double *, double *, double *); + void replicate_by_bbox(int, int, int, double *, double *, double *); + void newtag(tagint, tagint &); }; From 1c11de8a64e42df23defad9041e372c9f8daa847 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 6 May 2024 16:47:38 -0600 Subject: [PATCH 537/559] comment tweak --- src/replicate.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/replicate.cpp b/src/replicate.cpp index e232160842..3b6704f734 100644 --- a/src/replicate.cpp +++ b/src/replicate.cpp @@ -920,6 +920,8 @@ void Replicate::command(int narg, char **arg) /* ---------------------------------------------------------------------- simple replication algorithm, suitable for small proc count + loop over procs, then over replication factors + check each atom to see if in my subdomain ------------------------------------------------------------------------- */ void Replicate::replicate_by_proc(int nx, int ny, int nz, From 3028b6f34c9db9e0345cc62237da01bec7f856e7 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Mon, 6 May 2024 19:16:06 -0600 Subject: [PATCH 538/559] clean up of docs and code --- doc/src/replicate.rst | 20 +- examples/replicate/README | 9 + src/replicate.cpp | 621 +++++--------------------------------- src/replicate.h | 4 +- 4 files changed, 96 insertions(+), 558 deletions(-) diff --git a/doc/src/replicate.rst b/doc/src/replicate.rst index 64d87e525a..eb62fbfa21 100644 --- a/doc/src/replicate.rst +++ b/doc/src/replicate.rst @@ -8,7 +8,7 @@ Syntax .. code-block:: LAMMPS - replicate nx ny nz *keyword* ... + replicate nx ny nz keyword ... nx,ny,nz = replication factors in each dimension @@ -17,8 +17,8 @@ nx,ny,nz = replication factors in each dimension .. parsed-literal:: - *bbox* = only check atoms in replicas that overlap with a processor's subdomain - *bond/periodic* = use a different algorithm that correctly replicates periodic bond loops + *bbox* = use a bounding-box algorithm which is faster for large proc counts + *bond/periodic* = use an algorithm that correctly replicates periodic bond loops Examples """""""" @@ -56,7 +56,7 @@ are created between pairs of new atoms as well as between old and new atoms. .. note:: - + The bond discussion which follows only refers to models with permanent covalent bonds typically defined in LAMMPS via a data file. It is not relevant to sytems modeled with many-body @@ -83,7 +83,7 @@ atoms and uses a different algorithm to find new (nearby) bond neighbors in the replicated system. In the final replicated system all image flags are zero (in each dimension). --- note: +.. note:: LAMMPS does not check for image flag consistency before performing the replication (it does issue a warning about this before a @@ -92,13 +92,13 @@ all image flags are zero (in each dimension). will otherwise be correctly replicated. This is NOT the case if there is a periodic bond loop. See the next note. --- note: +.. note:: LAMMPS does not check for periodic bond loops. If you use the - *bond/periodic* option for a system without periodic bond loops, + *bond/periodic* keyword for a system without periodic bond loops, the system will be correctly replicated, but image flag information will be lost (which may or may not be important to your model). If - you do not use the *bond/periodic* option for a system with + you do not use the *bond/periodic* keyword for a system with periodic bond loops, the replicated system will have invalid bonds (typically very long), resulting in bad dynamics. @@ -112,7 +112,7 @@ requires a temporary use of more memory. Each processor must be able to store all atoms (and their per-atom data) in the original system, before it is replicated. --- note: +.. note:: The algorithm used by the *bond/periodic* keyword builds on the algorithm used by the *bbox* keyword and thus has the same memory @@ -121,7 +121,7 @@ before it is replicated. ---------- - Restrictions +Restrictions """""""""""" A 2d simulation cannot be replicated in the z dimension. diff --git a/examples/replicate/README b/examples/replicate/README index 1363158b37..e33739672c 100644 --- a/examples/replicate/README +++ b/examples/replicate/README @@ -7,6 +7,8 @@ cross the periodic boundary to close the loop. To run these scripts, LAMMPS should be built with the MOLECULE and CLASS2 packages. The latter is only needed for the CNT example. +-------- + These scripts are tiny examples which illustrate both kinds of systems. Each produces a series of images which can be visualized. If the 3 lines for a dump movie command are uncommented, a MPG movie @@ -17,6 +19,13 @@ in.replcate.bond.x.y # 2d grid of bonded atoms, bond loops in x and y in.replicate.bond.xy # linear chains in diagonal direction, bond loop in x and y in.replicate.bond.noloop # linear chains in x direction, no bond loop +If you do not use the bond/periodic keyword with the replicate command +in the first 3 of these scripts (which have periodic bond loops), and +visualize the dynamics of hee simulation, you will see how the +replication creates a bogus system. + +-------- + This script is for a complex system of 3 orthogonal CNTs which has periodic bond loops in all 3 dimensions xyz. diff --git a/src/replicate.cpp b/src/replicate.cpp index 3b6704f734..e07c7d9a26 100644 --- a/src/replicate.cpp +++ b/src/replicate.cpp @@ -13,7 +13,7 @@ ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - Contributing authors: + Contributing authors: Chris Knight (ANL) for bbox option Jake Gissinger (Stevens Institute of Technology) for bond/periodic option ------------------------------------------------------------------------- */ @@ -77,7 +77,7 @@ void Replicate::command(int narg, char **arg) nx, ny, nz, nrep); // optional keywords - + bbox_flag = 0; bond_flag = 0; @@ -134,9 +134,9 @@ void Replicate::command(int narg, char **arg) MPI_Allreduce(&maxmol,&maxmol_all,1,MPI_LMP_TAGINT,MPI_MAX,world); maxmol = maxmol_all; } - + // reset image flags to zero for bond/periodic option - + if (bond_flag) for (i=0; inlocal; ++i) atom->image[i] = ((imageint) IMGMAX << IMG2BITS) | @@ -178,7 +178,7 @@ void Replicate::command(int narg, char **arg) for (i = 0; i < atom->nlocal; i++) domain->unmap(atom->x[i],atom->image[i]); - + // communication buffer for all my atom's info // max_size = largest buffer needed by any proc // must do before new Atom class created, since size_restart() uses atom->nlocal @@ -378,485 +378,14 @@ void Replicate::command(int narg, char **arg) } } - // use + // use one of two algorithms for replication if (!bbox_flag) { replicate_by_proc(nx,ny,nz,sublo,subhi,buf); } else { replicate_by_bbox(nx,ny,nz,sublo,subhi,buf); } - - - - - - - - - /* - AtomVec *old_avec = old->avec; - AtomVec *avec = atom->avec; - - int ix,iy,iz; - tagint atom_offset,mol_offset,atom0tag; - imageint image; - double x[3],lamda[3]; - double *coord; - int tag_enable = atom->tag_enable; - - if (bbox_flag || bond_flag) { - - // allgather size of buf on each proc - - n = 0; - for (i = 0; i < old->nlocal; i++) n += old_avec->pack_restart(i,&buf[n]); - - int * size_buf_rnk; - memory->create(size_buf_rnk, nprocs, "replicate:size_buf_rnk"); - - MPI_Allgather(&n, 1, MPI_INT, size_buf_rnk, 1, MPI_INT, world); - - // size of buf_all - - int size_buf_all = 0; - MPI_Allreduce(&n, &size_buf_all, 1, MPI_INT, MPI_SUM, world); - - if (me == 0) { - auto mesg = fmt::format(" bounding box image = ({} {} {}) " - "to ({} {} {})\n", - _imagelo[0],_imagelo[1],_imagelo[2], - _imagehi[0],_imagehi[1],_imagehi[2]); - mesg += fmt::format(" bounding box extra memory = {:.2f} MB\n", - (double)size_buf_all*sizeof(double)/1024/1024); - utils::logmesg(lmp,mesg); - } - - // rnk offsets - - int *disp_buf_rnk; - memory->create(disp_buf_rnk, nprocs, "replicate:disp_buf_rnk"); - disp_buf_rnk[0] = 0; - for (i = 1; i < nprocs; i++) - disp_buf_rnk[i] = disp_buf_rnk[i-1] + size_buf_rnk[i-1]; - - // allgather buf_all - - double * buf_all; - memory->create(buf_all, size_buf_all, "replicate:buf_all"); - - MPI_Allgatherv(buf,n,MPI_DOUBLE,buf_all,size_buf_rnk,disp_buf_rnk, - MPI_DOUBLE,world); - - // bounding box of original unwrapped system - - double _orig_lo[3], _orig_hi[3]; - if (triclinic) { - _orig_lo[0] = domain->boxlo[0] + - _imagelo[0] * old_xprd + _imagelo[1] * old_xy + _imagelo[2] * old_xz; - _orig_lo[1] = domain->boxlo[1] + - _imagelo[1] * old_yprd + _imagelo[2] * old_yz; - _orig_lo[2] = domain->boxlo[2] + _imagelo[2] * old_zprd; - - _orig_hi[0] = domain->boxlo[0] + - (_imagehi[0]+1) * old_xprd + - (_imagehi[1]+1) * old_xy + (_imagehi[2]+1) * old_xz; - _orig_hi[1] = domain->boxlo[1] + - (_imagehi[1]+1) * old_yprd + (_imagehi[2]+1) * old_yz; - _orig_hi[2] = domain->boxlo[2] + (_imagehi[2]+1) * old_zprd; - } else { - _orig_lo[0] = domain->boxlo[0] + _imagelo[0] * old_xprd; - _orig_lo[1] = domain->boxlo[1] + _imagelo[1] * old_yprd; - _orig_lo[2] = domain->boxlo[2] + _imagelo[2] * old_zprd; - - _orig_hi[0] = domain->boxlo[0] + (_imagehi[0]+1) * old_xprd; - _orig_hi[1] = domain->boxlo[1] + (_imagehi[1]+1) * old_yprd; - _orig_hi[2] = domain->boxlo[2] + (_imagehi[2]+1) * old_zprd; - } - - double _lo[3], _hi[3]; - - int num_replicas_added = 0; - - // store x and tag for the whole system (before replication) - - if (bond_flag) { - memory->create(old_x,old->natoms,3,"replicate:old_x"); - memory->create(old_tag,old->natoms,"replicate:old_tag"); - - i = m = 0; - while (m < size_buf_all) { - old_x[i][0] = buf_all[m+1]; - old_x[i][1] = buf_all[m+2]; - old_x[i][2] = buf_all[m+3]; - old_tag[i] = (tagint) ubuf(buf_all[m+4]).i; - old_map.insert({old_tag[i],i}); - m += static_cast (buf_all[m]); - i++; - } - } - - for (ix = 0; ix < nx; ix++) { - for (iy = 0; iy < ny; iy++) { - for (iz = 0; iz < nz; iz++) { - - thisrep[0] = ix; - thisrep[1] = iy; - thisrep[2] = iz; - - // domain->remap() overwrites coordinates, so always recompute here - - if (triclinic) { - _lo[0] = _orig_lo[0] + ix * old_xprd + iy * old_xy + iz * old_xz; - _hi[0] = _orig_hi[0] + ix * old_xprd + iy * old_xy + iz * old_xz; - - _lo[1] = _orig_lo[1] + iy * old_yprd + iz * old_yz; - _hi[1] = _orig_hi[1] + iy * old_yprd + iz * old_yz; - - _lo[2] = _orig_lo[2] + iz * old_zprd; - _hi[2] = _orig_hi[2] + iz * old_zprd; - } else { - _lo[0] = _orig_lo[0] + ix * old_xprd; - _hi[0] = _orig_hi[0] + ix * old_xprd; - - _lo[1] = _orig_lo[1] + iy * old_yprd; - _hi[1] = _orig_hi[1] + iy * old_yprd; - - _lo[2] = _orig_lo[2] + iz * old_zprd; - _hi[2] = _orig_hi[2] + iz * old_zprd; - } - - // test if bounding box of shifted replica overlaps sub-domain of proc - // if not, then skip testing atoms - - int xoverlap = 1; - int yoverlap = 1; - int zoverlap = 1; - if (triclinic) { - double _llo[3]; - domain->x2lamda(_lo,_llo); - double _lhi[3]; - domain->x2lamda(_hi,_lhi); - - if (_llo[0] > (subhi[0] - EPSILON) - || _lhi[0] < (sublo[0] + EPSILON) ) xoverlap = 0; - if (_llo[1] > (subhi[1] - EPSILON) - || _lhi[1] < (sublo[1] + EPSILON) ) yoverlap = 0; - if (_llo[2] > (subhi[2] - EPSILON) - || _lhi[2] < (sublo[2] + EPSILON) ) zoverlap = 0; - } else { - if (_lo[0] > (subhi[0] - EPSILON) - || _hi[0] < (sublo[0] + EPSILON) ) xoverlap = 0; - if (_lo[1] > (subhi[1] - EPSILON) - || _hi[1] < (sublo[1] + EPSILON) ) yoverlap = 0; - if (_lo[2] > (subhi[2] - EPSILON) - || _hi[2] < (sublo[2] + EPSILON) ) zoverlap = 0; - } - - int overlap = 0; - if (xoverlap && yoverlap && zoverlap) overlap = 1; - - // if no overlap, test if bounding box wrapped back into new system - - if (!overlap) { - - // wrap back into cell - - imageint imagelo = ((imageint) IMGMAX << IMG2BITS) | - ((imageint) IMGMAX << IMGBITS) | IMGMAX; - domain->remap(&(_lo[0]), imagelo); - int xboxlo = (imagelo & IMGMASK) - IMGMAX; - int yboxlo = (imagelo >> IMGBITS & IMGMASK) - IMGMAX; - int zboxlo = (imagelo >> IMG2BITS) - IMGMAX; - - imageint imagehi = ((imageint) IMGMAX << IMG2BITS) | - ((imageint) IMGMAX << IMGBITS) | IMGMAX; - domain->remap(&(_hi[0]), imagehi); - int xboxhi = (imagehi & IMGMASK) - IMGMAX; - int yboxhi = (imagehi >> IMGBITS & IMGMASK) - IMGMAX; - int zboxhi = (imagehi >> IMG2BITS) - IMGMAX; - - if (triclinic) { - double _llo[3]; - _llo[0] = _lo[0]; _llo[1] = _lo[1]; _llo[2] = _lo[2]; - domain->x2lamda(_llo,_lo); - - double _lhi[3]; - _lhi[0] = _hi[0]; _lhi[1] = _hi[1]; _lhi[2] = _hi[2]; - domain->x2lamda(_lhi,_hi); - } - - // test all fragments for any overlap; ok to include false positives - - int _xoverlap1 = 0; - int _xoverlap2 = 0; - if (!xoverlap) { - if (xboxlo < 0) { - _xoverlap1 = 1; - if (_lo[0] > (subhi[0] - EPSILON)) _xoverlap1 = 0; - } - - if (xboxhi > 0) { - _xoverlap2 = 1; - if (_hi[0] < (sublo[0] + EPSILON)) _xoverlap2 = 0; - } - - if (_xoverlap1 || _xoverlap2) xoverlap = 1; - } - - int _yoverlap1 = 0; - int _yoverlap2 = 0; - if (!yoverlap) { - if (yboxlo < 0) { - _yoverlap1 = 1; - if (_lo[1] > (subhi[1] - EPSILON)) _yoverlap1 = 0; - } - - if (yboxhi > 0) { - _yoverlap2 = 1; - if (_hi[1] < (sublo[1] + EPSILON)) _yoverlap2 = 0; - } - - if (_yoverlap1 || _yoverlap2) yoverlap = 1; - } - - - int _zoverlap1 = 0; - int _zoverlap2 = 0; - if (!zoverlap) { - if (zboxlo < 0) { - _zoverlap1 = 1; - if (_lo[2] > (subhi[2] - EPSILON)) _zoverlap1 = 0; - } - - if (zboxhi > 0) { - _zoverlap2 = 1; - if (_hi[2] < (sublo[2] + EPSILON)) _zoverlap2 = 0; - } - - if (_zoverlap1 || _zoverlap2) zoverlap = 1; - } - - // does either fragment overlap w/ sub-domain - - if (xoverlap && yoverlap && zoverlap) overlap = 1; - } - - // while loop over one proc's atom list - - if (overlap) { - num_replicas_added++; - - m = 0; - while (m < size_buf_all) { - image = ((imageint) IMGMAX << IMG2BITS) | - ((imageint) IMGMAX << IMGBITS) | IMGMAX; - if (triclinic == 0) { - x[0] = buf_all[m+1] + ix*old_xprd; - x[1] = buf_all[m+2] + iy*old_yprd; - x[2] = buf_all[m+3] + iz*old_zprd; - } else { - x[0] = buf_all[m+1] + ix*old_xprd + iy*old_xy + iz*old_xz; - x[1] = buf_all[m+2] + iy*old_yprd + iz*old_yz; - x[2] = buf_all[m+3] + iz*old_zprd; - } - domain->remap(x,image); - if (triclinic) { - domain->x2lamda(x,lamda); - coord = lamda; - } else coord = x; - - if (coord[0] >= sublo[0] && coord[0] < subhi[0] && - coord[1] >= sublo[1] && coord[1] < subhi[1] && - coord[2] >= sublo[2] && coord[2] < subhi[2]) { - - m += avec->unpack_restart(&buf_all[m]); - - i = atom->nlocal - 1; - if (tag_enable) - atom_offset = iz*ny*nx*maxtag + iy*nx*maxtag + ix*maxtag; - else atom_offset = 0; - mol_offset = iz*ny*nx*maxmol + iy*nx*maxmol + ix*maxmol; - - atom->x[i][0] = x[0]; - atom->x[i][1] = x[1]; - atom->x[i][2] = x[2]; - - atom0tag = atom->tag[i]; - atom->tag[i] += atom_offset; - atom->image[i] = image; - - if (atom->molecular != Atom::ATOMIC) { - if (atom->molecule[i] > 0) - atom->molecule[i] += mol_offset; - if (atom->molecular == Atom::MOLECULAR) { - if (atom->avec->bonds_allow) - for (j = 0; j < atom->num_bond[i]; j++) { - if (bond_flag) - newtag(atom0tag,atom->bond_atom[i][j]); - else atom->bond_atom[i][j] += atom_offset; - } - if (atom->avec->angles_allow) - for (j = 0; j < atom->num_angle[i]; j++) { - if (bond_flag) { - newtag(atom0tag,atom->angle_atom1[i][j]); - newtag(atom0tag,atom->angle_atom2[i][j]); - newtag(atom0tag,atom->angle_atom3[i][j]); - } else { - atom->angle_atom1[i][j] += atom_offset; - atom->angle_atom2[i][j] += atom_offset; - atom->angle_atom3[i][j] += atom_offset; - } - } - if (atom->avec->dihedrals_allow) - for (j = 0; j < atom->num_dihedral[i]; j++) { - if (bond_flag) { - newtag(atom0tag,atom->dihedral_atom1[i][j]); - newtag(atom0tag,atom->dihedral_atom2[i][j]); - newtag(atom0tag,atom->dihedral_atom3[i][j]); - newtag(atom0tag,atom->dihedral_atom4[i][j]); - } else { - atom->dihedral_atom1[i][j] += atom_offset; - atom->dihedral_atom2[i][j] += atom_offset; - atom->dihedral_atom3[i][j] += atom_offset; - atom->dihedral_atom4[i][j] += atom_offset; - } - } - if (atom->avec->impropers_allow) - for (j = 0; j < atom->num_improper[i]; j++) { - if (bond_flag) { - newtag(atom0tag,atom->improper_atom1[i][j]); - newtag(atom0tag,atom->improper_atom2[i][j]); - newtag(atom0tag,atom->improper_atom3[i][j]); - newtag(atom0tag,atom->improper_atom4[i][j]); - } else { - atom->improper_atom1[i][j] += atom_offset; - atom->improper_atom2[i][j] += atom_offset; - atom->improper_atom3[i][j] += atom_offset; - atom->improper_atom4[i][j] += atom_offset; - } - } - } - } - } else m += static_cast (buf_all[m]); - } - } // if (overlap) - - } - } - } - - memory->destroy(size_buf_rnk); - memory->destroy(disp_buf_rnk); - memory->destroy(buf_all); - if (bond_flag) { - memory->destroy(old_x); - memory->destroy(old_tag); - } - - int sum = 0; - MPI_Reduce(&num_replicas_added, &sum, 1, MPI_INT, MPI_SUM, 0, world); - double avg = (double) sum / nprocs; - if (me == 0) - utils::logmesg(lmp," average # of replicas added to proc = {:.2f} out " - "of {} ({:.2f}%)\n",avg,nx*ny*nz,avg/(nx*ny*nz)*100.0); - } else { - - for (int iproc = 0; iproc < nprocs; iproc++) { - if (me == iproc) { - n = 0; - for (i = 0; i < old->nlocal; i++) n += old_avec->pack_restart(i,&buf[n]); - } - MPI_Bcast(&n,1,MPI_INT,iproc,world); - MPI_Bcast(buf,n,MPI_DOUBLE,iproc,world); - - for (ix = 0; ix < nx; ix++) { - for (iy = 0; iy < ny; iy++) { - for (iz = 0; iz < nz; iz++) { - - // while loop over one proc's atom list - - m = 0; - while (m < n) { - image = ((imageint) IMGMAX << IMG2BITS) | - ((imageint) IMGMAX << IMGBITS) | IMGMAX; - if (triclinic == 0) { - x[0] = buf[m+1] + ix*old_xprd; - x[1] = buf[m+2] + iy*old_yprd; - x[2] = buf[m+3] + iz*old_zprd; - } else { - x[0] = buf[m+1] + ix*old_xprd + iy*old_xy + iz*old_xz; - x[1] = buf[m+2] + iy*old_yprd + iz*old_yz; - x[2] = buf[m+3] + iz*old_zprd; - } - domain->remap(x,image); - if (triclinic) { - domain->x2lamda(x,lamda); - coord = lamda; - } else coord = x; - - if (coord[0] >= sublo[0] && coord[0] < subhi[0] && - coord[1] >= sublo[1] && coord[1] < subhi[1] && - coord[2] >= sublo[2] && coord[2] < subhi[2]) { - - m += avec->unpack_restart(&buf[m]); - - i = atom->nlocal - 1; - if (tag_enable) - atom_offset = iz*ny*nx*maxtag + iy*nx*maxtag + ix*maxtag; - else atom_offset = 0; - mol_offset = iz*ny*nx*maxmol + iy*nx*maxmol + ix*maxmol; - - atom->x[i][0] = x[0]; - atom->x[i][1] = x[1]; - atom->x[i][2] = x[2]; - - atom->tag[i] += atom_offset; - atom->image[i] = image; - - if (atom->molecular != Atom::ATOMIC) { - if (atom->molecule[i] > 0) - atom->molecule[i] += mol_offset; - if (atom->molecular == Atom::MOLECULAR) { - if (atom->avec->bonds_allow) - for (j = 0; j < atom->num_bond[i]; j++) - atom->bond_atom[i][j] += atom_offset; - if (atom->avec->angles_allow) - for (j = 0; j < atom->num_angle[i]; j++) { - atom->angle_atom1[i][j] += atom_offset; - atom->angle_atom2[i][j] += atom_offset; - atom->angle_atom3[i][j] += atom_offset; - } - if (atom->avec->dihedrals_allow) - for (j = 0; j < atom->num_dihedral[i]; j++) { - atom->dihedral_atom1[i][j] += atom_offset; - atom->dihedral_atom2[i][j] += atom_offset; - atom->dihedral_atom3[i][j] += atom_offset; - atom->dihedral_atom4[i][j] += atom_offset; - } - if (atom->avec->impropers_allow) - for (j = 0; j < atom->num_improper[i]; j++) { - atom->improper_atom1[i][j] += atom_offset; - atom->improper_atom2[i][j] += atom_offset; - atom->improper_atom3[i][j] += atom_offset; - atom->improper_atom4[i][j] += atom_offset; - } - } - } - } else m += static_cast (buf[m]); - } - } - } - } - } - } // if (bbox_flag || bond_flag) - - */ - - - - - // free communication buffer and old atom class memory->destroy(buf); @@ -955,16 +484,16 @@ void Replicate::replicate_by_proc(int nx, int ny, int nz, } MPI_Bcast(&n,1,MPI_INT,iproc,world); MPI_Bcast(buf,n,MPI_DOUBLE,iproc,world); - + for (ix = 0; ix < nx; ix++) { for (iy = 0; iy < ny; iy++) { for (iz = 0; iz < nz; iz++) { - + // while loop over one proc's atom list // x = new replicated position, remapped into new simulation box // if atom is within my new subdomain, unpack it into new atom class // adjust tag, mol #, coord, topology info as needed - + m = 0; while (m < n) { image = ((imageint) IMGMAX << IMG2BITS) | @@ -983,25 +512,25 @@ void Replicate::replicate_by_proc(int nx, int ny, int nz, domain->x2lamda(x,lamda); coord = lamda; } else coord = x; - + if (coord[0] >= sublo[0] && coord[0] < subhi[0] && coord[1] >= sublo[1] && coord[1] < subhi[1] && coord[2] >= sublo[2] && coord[2] < subhi[2]) { - + m += avec->unpack_restart(&buf[m]); - + i = atom->nlocal - 1; if (tag_enable) atom_offset = iz*ny*nx*maxtag + iy*nx*maxtag + ix*maxtag; else atom_offset = 0; mol_offset = iz*ny*nx*maxmol + iy*nx*maxmol + ix*maxmol; - + atom->x[i][0] = x[0]; atom->x[i][1] = x[1]; atom->x[i][2] = x[2]; - + atom->tag[i] += atom_offset; atom->image[i] = image; - + if (atom->molecular != Atom::ATOMIC) { if (atom->molecule[i] > 0) atom->molecule[i] += mol_offset; @@ -1072,14 +601,14 @@ void Replicate::replicate_by_bbox(int nx, int ny, int nz, int * size_buf_rnk; memory->create(size_buf_rnk, nprocs, "replicate:size_buf_rnk"); - + MPI_Allgather(&n, 1, MPI_INT, size_buf_rnk, 1, MPI_INT, world); // size of buf_all - + int size_buf_all = 0; MPI_Allreduce(&n, &size_buf_all, 1, MPI_INT, MPI_SUM, world); - + if (me == 0) { auto mesg = fmt::format(" bounding box image = ({} {} {}) " "to ({} {} {})\n", @@ -1089,25 +618,25 @@ void Replicate::replicate_by_bbox(int nx, int ny, int nz, (double)size_buf_all*sizeof(double)/1024/1024); utils::logmesg(lmp,mesg); } - + // rnk offsets - + int *disp_buf_rnk; memory->create(disp_buf_rnk, nprocs, "replicate:disp_buf_rnk"); disp_buf_rnk[0] = 0; for (i = 1; i < nprocs; i++) disp_buf_rnk[i] = disp_buf_rnk[i-1] + size_buf_rnk[i-1]; - + // allgather buf_all - + double *buf_all; memory->create(buf_all, size_buf_all, "replicate:buf_all"); - + MPI_Allgatherv(buf,n,MPI_DOUBLE,buf_all,size_buf_rnk,disp_buf_rnk, MPI_DOUBLE,world); - + // bounding box of original unwrapped system - + double _orig_lo[3], _orig_hi[3]; if (triclinic) { _orig_lo[0] = domain->boxlo[0] + @@ -1115,7 +644,7 @@ void Replicate::replicate_by_bbox(int nx, int ny, int nz, _orig_lo[1] = domain->boxlo[1] + _imagelo[1] * old_yprd + _imagelo[2] * old_yz; _orig_lo[2] = domain->boxlo[2] + _imagelo[2] * old_zprd; - + _orig_hi[0] = domain->boxlo[0] + (_imagehi[0]+1) * old_xprd + (_imagehi[1]+1) * old_xy + (_imagehi[2]+1) * old_xz; @@ -1126,23 +655,23 @@ void Replicate::replicate_by_bbox(int nx, int ny, int nz, _orig_lo[0] = domain->boxlo[0] + _imagelo[0] * old_xprd; _orig_lo[1] = domain->boxlo[1] + _imagelo[1] * old_yprd; _orig_lo[2] = domain->boxlo[2] + _imagelo[2] * old_zprd; - + _orig_hi[0] = domain->boxlo[0] + (_imagehi[0]+1) * old_xprd; _orig_hi[1] = domain->boxlo[1] + (_imagehi[1]+1) * old_yprd; _orig_hi[2] = domain->boxlo[2] + (_imagehi[2]+1) * old_zprd; } - + double _lo[3], _hi[3]; - + int num_replicas_added = 0; - + // if bond/periodic option // store old_x and old_tag for the entire original system - + if (bond_flag) { memory->create(old_x,old->natoms,3,"replicate:old_x"); memory->create(old_tag,old->natoms,"replicate:old_tag"); - + i = m = 0; while (m < size_buf_all) { old_x[i][0] = buf_all[m+1]; @@ -1156,40 +685,40 @@ void Replicate::replicate_by_bbox(int nx, int ny, int nz, } // replication loop - + for (ix = 0; ix < nx; ix++) { for (iy = 0; iy < ny; iy++) { for (iz = 0; iz < nz; iz++) { - + thisrep[0] = ix; thisrep[1] = iy; thisrep[2] = iz; - + // domain->remap() overwrites coordinates, so always recompute here - + if (triclinic) { _lo[0] = _orig_lo[0] + ix * old_xprd + iy * old_xy + iz * old_xz; _hi[0] = _orig_hi[0] + ix * old_xprd + iy * old_xy + iz * old_xz; - + _lo[1] = _orig_lo[1] + iy * old_yprd + iz * old_yz; _hi[1] = _orig_hi[1] + iy * old_yprd + iz * old_yz; - + _lo[2] = _orig_lo[2] + iz * old_zprd; _hi[2] = _orig_hi[2] + iz * old_zprd; } else { _lo[0] = _orig_lo[0] + ix * old_xprd; _hi[0] = _orig_hi[0] + ix * old_xprd; - + _lo[1] = _orig_lo[1] + iy * old_yprd; _hi[1] = _orig_hi[1] + iy * old_yprd; - + _lo[2] = _orig_lo[2] + iz * old_zprd; _hi[2] = _orig_hi[2] + iz * old_zprd; } - + // test if bounding box of shifted replica overlaps sub-domain of proc // if not, then can skip testing of any individual atoms - + int xoverlap = 1; int yoverlap = 1; int zoverlap = 1; @@ -1198,7 +727,7 @@ void Replicate::replicate_by_bbox(int nx, int ny, int nz, domain->x2lamda(_lo,_llo); double _lhi[3]; domain->x2lamda(_hi,_lhi); - + if (_llo[0] > (subhi[0] - EPSILON) || _lhi[0] < (sublo[0] + EPSILON) ) xoverlap = 0; if (_llo[1] > (subhi[1] - EPSILON) @@ -1213,42 +742,42 @@ void Replicate::replicate_by_bbox(int nx, int ny, int nz, if (_lo[2] > (subhi[2] - EPSILON) || _hi[2] < (sublo[2] + EPSILON) ) zoverlap = 0; } - + int overlap = 0; if (xoverlap && yoverlap && zoverlap) overlap = 1; - + // if no overlap, test if bounding box wrapped back into new system - + if (!overlap) { - + // wrap back into cell - + imageint imagelo = ((imageint) IMGMAX << IMG2BITS) | ((imageint) IMGMAX << IMGBITS) | IMGMAX; domain->remap(&(_lo[0]), imagelo); int xboxlo = (imagelo & IMGMASK) - IMGMAX; int yboxlo = (imagelo >> IMGBITS & IMGMASK) - IMGMAX; int zboxlo = (imagelo >> IMG2BITS) - IMGMAX; - + imageint imagehi = ((imageint) IMGMAX << IMG2BITS) | ((imageint) IMGMAX << IMGBITS) | IMGMAX; domain->remap(&(_hi[0]), imagehi); int xboxhi = (imagehi & IMGMASK) - IMGMAX; int yboxhi = (imagehi >> IMGBITS & IMGMASK) - IMGMAX; int zboxhi = (imagehi >> IMG2BITS) - IMGMAX; - + if (triclinic) { double _llo[3]; _llo[0] = _lo[0]; _llo[1] = _lo[1]; _llo[2] = _lo[2]; domain->x2lamda(_llo,_lo); - + double _lhi[3]; _lhi[0] = _hi[0]; _lhi[1] = _hi[1]; _lhi[2] = _hi[2]; domain->x2lamda(_lhi,_hi); } - + // test all fragments for any overlap; ok to include false positives - + int _xoverlap1 = 0; int _xoverlap2 = 0; if (!xoverlap) { @@ -1256,15 +785,15 @@ void Replicate::replicate_by_bbox(int nx, int ny, int nz, _xoverlap1 = 1; if (_lo[0] > (subhi[0] - EPSILON)) _xoverlap1 = 0; } - + if (xboxhi > 0) { _xoverlap2 = 1; if (_hi[0] < (sublo[0] + EPSILON)) _xoverlap2 = 0; } - + if (_xoverlap1 || _xoverlap2) xoverlap = 1; } - + int _yoverlap1 = 0; int _yoverlap2 = 0; if (!yoverlap) { @@ -1272,16 +801,16 @@ void Replicate::replicate_by_bbox(int nx, int ny, int nz, _yoverlap1 = 1; if (_lo[1] > (subhi[1] - EPSILON)) _yoverlap1 = 0; } - + if (yboxhi > 0) { _yoverlap2 = 1; if (_hi[1] < (sublo[1] + EPSILON)) _yoverlap2 = 0; } - + if (_yoverlap1 || _yoverlap2) yoverlap = 1; } - - + + int _zoverlap1 = 0; int _zoverlap2 = 0; if (!zoverlap) { @@ -1289,25 +818,25 @@ void Replicate::replicate_by_bbox(int nx, int ny, int nz, _zoverlap1 = 1; if (_lo[2] > (subhi[2] - EPSILON)) _zoverlap1 = 0; } - + if (zboxhi > 0) { _zoverlap2 = 1; if (_hi[2] < (sublo[2] + EPSILON)) _zoverlap2 = 0; } - + if (_zoverlap1 || _zoverlap2) zoverlap = 1; } - + // does either fragment overlap w/ sub-domain - + if (xoverlap && yoverlap && zoverlap) overlap = 1; } - + // while loop over one proc's atom list - + if (overlap) { num_replicas_added++; - + m = 0; while (m < size_buf_all) { image = ((imageint) IMGMAX << IMG2BITS) | @@ -1326,27 +855,27 @@ void Replicate::replicate_by_bbox(int nx, int ny, int nz, domain->x2lamda(x,lamda); coord = lamda; } else coord = x; - + if (coord[0] >= sublo[0] && coord[0] < subhi[0] && coord[1] >= sublo[1] && coord[1] < subhi[1] && coord[2] >= sublo[2] && coord[2] < subhi[2]) { - + m += avec->unpack_restart(&buf_all[m]); - + i = atom->nlocal - 1; if (tag_enable) atom_offset = iz*ny*nx*maxtag + iy*nx*maxtag + ix*maxtag; else atom_offset = 0; mol_offset = iz*ny*nx*maxmol + iy*nx*maxmol + ix*maxmol; - + atom->x[i][0] = x[0]; atom->x[i][1] = x[1]; atom->x[i][2] = x[2]; - + atom0tag = atom->tag[i]; atom->tag[i] += atom_offset; atom->image[i] = image; - + if (atom->molecular != Atom::ATOMIC) { if (atom->molecule[i] > 0) atom->molecule[i] += mol_offset; @@ -1405,7 +934,7 @@ void Replicate::replicate_by_bbox(int nx, int ny, int nz, } } } - + memory->destroy(size_buf_rnk); memory->destroy(disp_buf_rnk); memory->destroy(buf_all); @@ -1413,7 +942,7 @@ void Replicate::replicate_by_bbox(int nx, int ny, int nz, memory->destroy(old_x); memory->destroy(old_tag); } - + int sum = 0; MPI_Reduce(&num_replicas_added, &sum, 1, MPI_INT, MPI_SUM, 0, world); double avg = (double) sum / nprocs; diff --git a/src/replicate.h b/src/replicate.h index 3877d2d720..defb35d1c6 100644 --- a/src/replicate.h +++ b/src/replicate.h @@ -33,7 +33,7 @@ class Replicate : public Command { private: int bbox_flag, bond_flag; - + class Atom *old; double old_xprd, old_yprd, old_zprd; @@ -51,7 +51,7 @@ private: void replicate_by_proc(int, int, int, double *, double *, double *); void replicate_by_bbox(int, int, int, double *, double *, double *); - + void newtag(tagint, tagint &); }; From 33525de5985434bdf8fed7801fefaaabba2ef2b2 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Wed, 8 May 2024 16:39:25 -0600 Subject: [PATCH 539/559] fix incomplete header info on command syntax --- doc/src/write_data.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/write_data.rst b/doc/src/write_data.rst index 516685f4fe..61fada70df 100644 --- a/doc/src/write_data.rst +++ b/doc/src/write_data.rst @@ -12,14 +12,14 @@ Syntax * file = name of data file to write out * zero or more keyword/value pairs may be appended -* keyword = *pair* or *nocoeff* or *nofix* or *nolabelmap* +* keyword = *nocoeff* or *nofix* or *nolabelmap* or *triclinic/general* or *types* or *pair* .. parsed-literal:: *nocoeff* = do not write out force field info *nofix* = do not write out extra sections read by fixes *nolabelmap* = do not write out type labels - *triclinic/general = write data file in general triclinic format + *triclinic/general* = write data file in general triclinic format *types* value = *numeric* or *labels* *pair* value = *ii* or *ij* *ii* = write one line of pair coefficient info per atom type From 05438d23579c86d3abe4b38dbc1ee045c6436824 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Wed, 8 May 2024 18:50:02 -0400 Subject: [PATCH 540/559] Update create_atoms.rst --- doc/src/create_atoms.rst | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/src/create_atoms.rst b/doc/src/create_atoms.rst index 1e2ea38bbf..1b7bcecd13 100644 --- a/doc/src/create_atoms.rst +++ b/doc/src/create_atoms.rst @@ -471,7 +471,10 @@ newly created particles from being created closer than the specified *Doverlap* distance from any other particle. If particles have finite size (see :doc:`atom_style sphere ` for example) *Doverlap* should be specified large enough to include the particle size in the -non-overlapping criterion. +non-overlapping criterion. If molecules are being randomly inserted, then +an insertion is only accepted if each particle in the molecule meets the +overlap criterion with respect to other particles (not including particles +in the molecule itself). .. note:: From ada61d96fe1fdf8f708c09e3ecadaeb4e4e6ecc7 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Wed, 8 May 2024 19:46:07 -0400 Subject: [PATCH 541/559] Update fix_reaxff_species.rst --- doc/src/fix_reaxff_species.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/fix_reaxff_species.rst b/doc/src/fix_reaxff_species.rst index bc8e9cf27f..76ecc934ff 100644 --- a/doc/src/fix_reaxff_species.rst +++ b/doc/src/fix_reaxff_species.rst @@ -20,7 +20,7 @@ Syntax * Nfreq = calculate average bond-order every this many timesteps * filename = name of output file * zero or more keyword/value pairs may be appended -* keyword = *cutoff* or *element* or *position* or *delete* +* keyword = *cutoff* or *element* or *position* or *delete* or *delete_rate_limit* .. parsed-literal:: @@ -233,5 +233,5 @@ Default """"""" The default values for bond-order cutoffs are 0.3 for all I-J pairs. -The default element symbols are taken from the pair_coeff command. +The default element symbols are taken from the ReaxFF pair_coeff command. Position files are not written by default. From 8e6a232dffde3112401dd910a69f18b35a9229f2 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Wed, 8 May 2024 23:31:36 -0400 Subject: [PATCH 542/559] Update fix_reaxff_species.rst --- doc/src/fix_reaxff_species.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/fix_reaxff_species.rst b/doc/src/fix_reaxff_species.rst index 76ecc934ff..a6da15b161 100644 --- a/doc/src/fix_reaxff_species.rst +++ b/doc/src/fix_reaxff_species.rst @@ -112,7 +112,7 @@ symbol printed for each LAMMPS atom type. The number of symbols must match the number of LAMMPS atom types and each symbol must consist of 1 or 2 alphanumeric characters. By default, these symbols are the same as the chemical identity of each LAMMPS atom type, as specified by the -:doc:`reaxff pair_coeff ` command and the ReaxFF force +:doc:`ReaxFF pair_coeff ` command and the ReaxFF force field file. The optional keyword *position* writes center-of-mass positions of From b4f18700dc6dd20df812999c4f9398131b0c4c93 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Thu, 9 May 2024 00:06:10 -0400 Subject: [PATCH 543/559] Update fix_reaxff_species.h --- src/REAXFF/fix_reaxff_species.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/REAXFF/fix_reaxff_species.h b/src/REAXFF/fix_reaxff_species.h index 1968d413ca..b9afc5466a 100644 --- a/src/REAXFF/fix_reaxff_species.h +++ b/src/REAXFF/fix_reaxff_species.h @@ -63,9 +63,9 @@ class FixReaxFFSpecies : public Fix { double massmin, massmax; int singlepos_opened, multipos_opened, del_opened; char *filepos, *filedel; - std::vector ele2uele; - std::vector eletype; - std::vector ueletype; + std::vector ele2uele; // for element eletype[i], ele2uele[i] stores index of unique element + std::vector eletype; // list of ReaxFF elements of length ntypes + std::vector ueletype; // list of unique elements, of quantity nutypes void Output_ReaxFF_Bonds(bigint, FILE *); AtomCoord chAnchor(AtomCoord, AtomCoord); From a2616630b5d94880b2f174a7900b8b350ae9b92e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Thu, 9 May 2024 07:18:50 -0400 Subject: [PATCH 544/559] update OpenCL ICD loader source to latest release --- cmake/Modules/OpenCLLoader.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/Modules/OpenCLLoader.cmake b/cmake/Modules/OpenCLLoader.cmake index 4b5c5a1200..411058e0b1 100644 --- a/cmake/Modules/OpenCLLoader.cmake +++ b/cmake/Modules/OpenCLLoader.cmake @@ -1,6 +1,6 @@ message(STATUS "Downloading and building OpenCL loader library") -set(OPENCL_LOADER_URL "${LAMMPS_THIRDPARTY_URL}/opencl-loader-2024.02.09.tar.gz" CACHE STRING "URL for OpenCL loader tarball") -set(OPENCL_LOADER_MD5 "f3573cf9daa3558ba46fd5866517f38f" CACHE STRING "MD5 checksum of OpenCL loader tarball") +set(OPENCL_LOADER_URL "${LAMMPS_THIRDPARTY_URL}/opencl-loader-2024.05.09.tar.gz" CACHE STRING "URL for OpenCL loader tarball") +set(OPENCL_LOADER_MD5 "e7796826b21c059224fabe997e0f2075" CACHE STRING "MD5 checksum of OpenCL loader tarball") mark_as_advanced(OPENCL_LOADER_URL) mark_as_advanced(OPENCL_LOADER_MD5) From 7b007d82a03bfdb5b1fa7d2b4fcfca8b803c70e2 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Thu, 9 May 2024 15:12:28 +0200 Subject: [PATCH 545/559] Make compute stress/mop compatible with triclinic boxes --- src/EXTRA-COMPUTE/compute_stress_mop.cpp | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/src/EXTRA-COMPUTE/compute_stress_mop.cpp b/src/EXTRA-COMPUTE/compute_stress_mop.cpp index fb4725eeb4..cd2069c7c3 100644 --- a/src/EXTRA-COMPUTE/compute_stress_mop.cpp +++ b/src/EXTRA-COMPUTE/compute_stress_mop.cpp @@ -89,12 +89,6 @@ ComputeStressMop::ComputeStressMop(LAMMPS *lmp, int narg, char **arg) : Compute( error->all(FLERR, "Plane for compute stress/mop is out of bounds"); } - if (pos < (domain->boxlo[dir] + domain->prd_half[dir])) { - pos1 = pos + domain->prd[dir]; - } else { - pos1 = pos - domain->prd[dir]; - } - // parse values until one isn't recognized which = new int[3 * (narg - 5)]; @@ -151,10 +145,6 @@ ComputeStressMop::ComputeStressMop(LAMMPS *lmp, int narg, char **arg) : Compute( if (domain->dimension == 2 && dir == Z) error->all(FLERR, "Compute stress/mop is incompatible with Z in 2d system"); - // orthogonal simulation box - if (domain->triclinic != 0) - error->all(FLERR, "Compute stress/mop is incompatible with triclinic simulation box"); - // Initialize some variables values_local = values_global = vector = nullptr; @@ -397,6 +387,9 @@ void ComputeStressMop::compute_pairs() jlist = firstneigh[i]; jnum = numneigh[i]; + xi[dir] -= pos; + domain->minimum_image(xi[0], xi[1], xi[2]); + for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; factor_lj = special_lj[sbmask(j)]; @@ -409,6 +402,10 @@ void ComputeStressMop::compute_pairs() xj[0] = atom->x[j][0]; xj[1] = atom->x[j][1]; xj[2] = atom->x[j][2]; + + xj[dir] -= pos; + domain->minimum_image(xj[0], xj[1], xj[2]); + delx = xi[0] - xj[0]; dely = xi[1] - xj[1]; delz = xi[2] - xj[2]; @@ -419,20 +416,19 @@ void ComputeStressMop::compute_pairs() if (newton_pair || j < nlocal) { //check if ij pair is across plane, add contribution to pressure - if (((xi[dir] > pos) && (xj[dir] < pos)) || ((xi[dir] > pos1) && (xj[dir] < pos1))) { + if ((xi[dir] > 0.0) && (xj[dir] < 0.0)) { pair->single(i, j, itype, jtype, rsq, factor_coul, factor_lj, fpair); values_local[m] += fpair * (xi[0] - xj[0]) / area * nktv2p; values_local[m + 1] += fpair * (xi[1] - xj[1]) / area * nktv2p; values_local[m + 2] += fpair * (xi[2] - xj[2]) / area * nktv2p; - } else if (((xi[dir] < pos) && (xj[dir] > pos)) || - ((xi[dir] < pos1) && (xj[dir] > pos1))) { + } else if ((xi[dir] < 0.0) && (xj[dir] > 0.0)) { pair->single(i, j, itype, jtype, rsq, factor_coul, factor_lj, fpair); values_local[m] -= fpair * (xi[0] - xj[0]) / area * nktv2p; values_local[m + 1] -= fpair * (xi[1] - xj[1]) / area * nktv2p; values_local[m + 2] -= fpair * (xi[2] - xj[2]) / area * nktv2p; } } else { - if (((xi[dir] > pos) && (xj[dir] < pos)) || ((xi[dir] > pos1) && (xj[dir] < pos1))) { + if ((xi[dir] > 0.0) && (xj[dir] < 0.0)) { pair->single(i, j, itype, jtype, rsq, factor_coul, factor_lj, fpair); values_local[m] += fpair * (xi[0] - xj[0]) / area * nktv2p; values_local[m + 1] += fpair * (xi[1] - xj[1]) / area * nktv2p; From e2984c9724647c2df9bed1853e8444cc902f5bad Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Thu, 9 May 2024 15:13:26 +0200 Subject: [PATCH 546/559] Delete pos1 variable from compute_stress_mop.h --- src/EXTRA-COMPUTE/compute_stress_mop.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EXTRA-COMPUTE/compute_stress_mop.h b/src/EXTRA-COMPUTE/compute_stress_mop.h index 0a0ea8b55a..17c72826ab 100644 --- a/src/EXTRA-COMPUTE/compute_stress_mop.h +++ b/src/EXTRA-COMPUTE/compute_stress_mop.h @@ -51,7 +51,7 @@ class ComputeStressMop : public Compute { double *bond_local, *bond_global; double *angle_local, *angle_global; double *dihedral_local, *dihedral_global; - double pos, pos1, dt, nktv2p, ftm2v; + double pos, dt, nktv2p, ftm2v; double area; class NeighList *list; }; From 9aefa047cb0d1cc08f5976d861974421ee77ddfa Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Thu, 9 May 2024 15:17:30 +0200 Subject: [PATCH 547/559] Update compute_stress_mop.rst --- doc/src/compute_stress_mop.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/src/compute_stress_mop.rst b/doc/src/compute_stress_mop.rst index 521a017195..6ee7e92720 100644 --- a/doc/src/compute_stress_mop.rst +++ b/doc/src/compute_stress_mop.rst @@ -126,8 +126,9 @@ These styles are part of the EXTRA-COMPUTE package. They are only enabled if LAMMPS is built with that package. See the :doc:`Build package ` doc page on for more info. -The method is only implemented for orthogonal simulation boxes whose -size does not change in time, and axis-aligned planes. +The method is implemented for simulation boxes whose +size does not change in time, and axis-aligned planes. Additionally, for +compute *stress/mop/profile*, the simulation box must be orthogonal. The method only works with two-body pair interactions, because it requires the class method ``Pair::single()`` to be implemented, which is From ac0513b5c4cb8a5a32e1afb20096246216219074 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Thu, 9 May 2024 15:25:57 +0200 Subject: [PATCH 548/559] whitespace in compute_stress_mop.rst --- doc/src/compute_stress_mop.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/compute_stress_mop.rst b/doc/src/compute_stress_mop.rst index 6ee7e92720..e4127541a9 100644 --- a/doc/src/compute_stress_mop.rst +++ b/doc/src/compute_stress_mop.rst @@ -127,7 +127,7 @@ enabled if LAMMPS is built with that package. See the :doc:`Build package ` doc page on for more info. The method is implemented for simulation boxes whose -size does not change in time, and axis-aligned planes. Additionally, for +size does not change in time, and axis-aligned planes. Additionally, for compute *stress/mop/profile*, the simulation box must be orthogonal. The method only works with two-body pair interactions, because it From 46b4c090832412c77d93777976c8dee73bd5e468 Mon Sep 17 00:00:00 2001 From: Jacob Gissinger Date: Fri, 10 May 2024 00:15:21 -0400 Subject: [PATCH 549/559] simplify xmol comm --- src/create_atoms.cpp | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index a0da871e97..2912701159 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -731,13 +731,11 @@ void CreateAtoms::add_random() double xlo, ylo, zlo, xhi, yhi, zhi; double delx, dely, delz, distsq, odistsq; double lamda[3], *coord; - double *boxlo, *boxhi, *xmolbuf; + double *boxlo, *boxhi; if (overlapflag) { double odist = overlap; odistsq = odist * odist; - if (mode == MOLECULE) - memory->create(xmolbuf, onemol->natoms*3, "create_atoms:xmolbuf"); } // random number generator, same for all procs @@ -836,19 +834,8 @@ void CreateAtoms::add_random() } } } else { - int incr; - if (comm->me == 0) { - get_xmol(xone); - incr = 0; - for (int i = 0; i < onemol->natoms; i++) - for (int j = 0; j < 3; j++) - xmolbuf[incr++] = xmol[i][j]; - } - MPI_Bcast(xmolbuf, onemol->natoms*3, MPI_DOUBLE, 0, world); - incr = 0; - for (int i = 0; i < onemol->natoms; i++) - for (int j = 0; j < 3; j++) - xmol[i][j] = xmolbuf[incr++]; + if (comm->me == 0) get_xmol(xone); + MPI_Bcast(&xmol[0][0], onemol->natoms*3, MPI_DOUBLE, 0, world); for (int i = 0; i < nlocal; i++) { for (int j = 0; j < onemol->natoms; j++) { @@ -908,7 +895,6 @@ void CreateAtoms::add_random() // clean-up delete random; - if (overlapflag && mode == MOLECULE) memory->destroy(xmolbuf); } /* ---------------------------------------------------------------------- From 74b3d15c3ba6a764d8d0375cfef19309f3e69263 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 10 May 2024 04:39:13 -0400 Subject: [PATCH 550/559] improve fix_modify error messages --- src/fix.cpp | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/fix.cpp b/src/fix.cpp index 754948fdd1..a93d4b954a 100644 --- a/src/fix.cpp +++ b/src/fix.cpp @@ -119,8 +119,8 @@ Fix::~Fix() { if (copymode) return; - delete [] id; - delete [] style; + delete[] id; + delete[] style; memory->destroy(eatom); memory->destroy(vatom); memory->destroy(cvatom); @@ -133,36 +133,37 @@ Fix::~Fix() void Fix::modify_params(int narg, char **arg) { - if (narg == 0) error->all(FLERR,"Illegal fix_modify command"); + if (narg == 0) utils::missing_cmd_args(FLERR, "fix_modify", error); int iarg = 0; while (iarg < narg) { if (strcmp(arg[iarg],"dynamic/dof") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix_modify dynamic/dof", error); dynamic = utils::logical(FLERR,arg[iarg+1],false,lmp); iarg += 2; } else if (strcmp(arg[iarg],"energy") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix_modify energy", error); thermo_energy = utils::logical(FLERR,arg[iarg+1],false,lmp); if (thermo_energy && !energy_global_flag && !energy_peratom_flag) error->all(FLERR,"Fix {} {} does not support fix_modify energy command", id, style); iarg += 2; } else if (strcmp(arg[iarg],"virial") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix_modify virial", error); thermo_virial = utils::logical(FLERR,arg[iarg+1],false,lmp); if (thermo_virial && !virial_global_flag && !virial_peratom_flag) error->all(FLERR,"Fix {} {} does not support fix_modify virial command", id, style); iarg += 2; } else if (strcmp(arg[iarg],"respa") == 0) { - if (iarg+2 > narg) error->all(FLERR,"Illegal fix_modify command"); - if (!respa_level_support) error->all(FLERR,"Illegal fix_modify command"); + if (iarg+2 > narg) utils::missing_cmd_args(FLERR, "fix_modify respa", error); + if (!respa_level_support) error->all(FLERR,"Illegal fix_modify respa command"); int lvl = utils::inumeric(FLERR,arg[iarg+1],false,lmp); - if (lvl < 0) error->all(FLERR,"Illegal fix_modify command"); + if (lvl < 0) error->all(FLERR,"Illegal fix_modify respa command"); respa_level = lvl-1; iarg += 2; } else { int n = modify_param(narg-iarg,&arg[iarg]); - if (n == 0) error->all(FLERR,"Illegal fix_modify command"); + if (n == 0) + error->all(FLERR,"Fix {} {} does not support fix_modify {} command", id, style, arg[iarg]); iarg += n; } } From b65e41e5090a78f5ce1a6e2d57285e1d4abf0287 Mon Sep 17 00:00:00 2001 From: Stan Gerald Moore Date: Mon, 13 May 2024 10:45:34 -0600 Subject: [PATCH 551/559] Update version to development --- src/version.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/version.h b/src/version.h index 37c44b49f2..64d5210270 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1,2 @@ #define LAMMPS_VERSION "17 Apr 2024" +#define LAMMPS_UPDATE "Development" From d4d4c4857466fa60d13998a6ed3db23bcfe6ebee Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 13 May 2024 13:43:50 -0400 Subject: [PATCH 552/559] spelling fixes --- doc/src/replicate.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/replicate.rst b/doc/src/replicate.rst index eb62fbfa21..8713ea2f95 100644 --- a/doc/src/replicate.rst +++ b/doc/src/replicate.rst @@ -59,7 +59,7 @@ atoms. The bond discussion which follows only refers to models with permanent covalent bonds typically defined in LAMMPS via a data - file. It is not relevant to sytems modeled with many-body + file. It is not relevant to systems modeled with many-body potentials which can define bonds on-the-fly, based on the current positions of nearby atoms, e.g. models using the :doc:`AIREBO ` or :doc:`ReaxFF ` potentials. @@ -141,7 +141,7 @@ To work around this restriction two options are possible. (1) Fixes which use the stored data in the restart file can be defined before replication and then deleted via the :doc:`unfix ` command and re-defined after it. Or (2) the restart file can be converted to a -data file (which deletes the stored fix infomation) and fixes defined +data file (which deletes the stored fix information) and fixes defined after the replicate command. In both these scenarios, the per-atom fix information in the restart file is lost. From 4e7bddaa0b3286658dcbaa1c062b2b79ba38ae4e Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 13 May 2024 13:49:59 -0400 Subject: [PATCH 553/559] remove unused variables --- src/EXTRA-FIX/fix_deform_pressure.cpp | 2 -- src/ML-IAP/mliap_unified.cpp | 2 -- src/create_atoms.cpp | 2 +- 3 files changed, 1 insertion(+), 5 deletions(-) diff --git a/src/EXTRA-FIX/fix_deform_pressure.cpp b/src/EXTRA-FIX/fix_deform_pressure.cpp index e2bcdd7f4e..672f097c2d 100644 --- a/src/EXTRA-FIX/fix_deform_pressure.cpp +++ b/src/EXTRA-FIX/fix_deform_pressure.cpp @@ -438,8 +438,6 @@ void FixDeformPressure::init() // error if style PRESSURE/ERATEER for yz, can't calculate if box flip occurs if (set[3].style && set[5].style) { - int flag = 0; - double lo,hi; if (flipflag && set[3].style == PRESSURE) error->all(FLERR, "Fix {} cannot use yz pressure with xy", style); if (flipflag && set[3].style == ERATERS) diff --git a/src/ML-IAP/mliap_unified.cpp b/src/ML-IAP/mliap_unified.cpp index 7697204e44..3f0d0b2a8f 100644 --- a/src/ML-IAP/mliap_unified.cpp +++ b/src/ML-IAP/mliap_unified.cpp @@ -246,7 +246,6 @@ void LAMMPS_NS::update_pair_energy(MLIAPData *data, double *eij) { double e_total = 0.0; const auto nlistatoms = data->nlistatoms; - const auto nlocal = data->nlocal; for (int ii = 0; ii < nlistatoms; ii++) data->eatoms[ii] = 0; for (int ii = 0; ii < data->npairs; ii++) { @@ -268,7 +267,6 @@ void LAMMPS_NS::update_pair_forces(MLIAPData *data, double *fij) { //Bugfix: need to account for Null atoms in local atoms //const auto nlistatoms = data->nlistatoms; - const auto nlocal = data->nlocal; double **f = data->f; for (int ii = 0; ii < data->npairs; ii++) { int ii3 = ii * 3; diff --git a/src/create_atoms.cpp b/src/create_atoms.cpp index 2912701159..ded040b567 100644 --- a/src/create_atoms.cpp +++ b/src/create_atoms.cpp @@ -1505,7 +1505,7 @@ void CreateAtoms::get_xmol(double *center) onemol->quat_external = quatone; - int n, natoms = onemol->natoms; + int natoms = onemol->natoms; double xnew[3]; for (int m = 0; m < natoms; m++) { MathExtra::matvec(rotmat, onemol->dx[m], xnew); From 74f29ba2f3fff1b5f3af958b52915b4a9127be12 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 13 May 2024 14:07:24 -0400 Subject: [PATCH 554/559] update example --- .../{coeff_restitution => }/data.particles | 0 .../in.coeff_restitution => in.restitution} | 0 ...or.g++.1 => log.13May23.restitution.g++.1} | 25 ++++++++++--------- 3 files changed, 13 insertions(+), 12 deletions(-) rename examples/granular/{coeff_restitution => }/data.particles (100%) rename examples/granular/{coeff_restitution/in.coeff_restitution => in.restitution} (100%) rename examples/granular/{coeff_restitution/log.11Nov23.cor.g++.1 => log.13May23.restitution.g++.1} (74%) diff --git a/examples/granular/coeff_restitution/data.particles b/examples/granular/data.particles similarity index 100% rename from examples/granular/coeff_restitution/data.particles rename to examples/granular/data.particles diff --git a/examples/granular/coeff_restitution/in.coeff_restitution b/examples/granular/in.restitution similarity index 100% rename from examples/granular/coeff_restitution/in.coeff_restitution rename to examples/granular/in.restitution diff --git a/examples/granular/coeff_restitution/log.11Nov23.cor.g++.1 b/examples/granular/log.13May23.restitution.g++.1 similarity index 74% rename from examples/granular/coeff_restitution/log.11Nov23.cor.g++.1 rename to examples/granular/log.13May23.restitution.g++.1 index b4f53c84da..e51709d10d 100644 --- a/examples/granular/coeff_restitution/log.11Nov23.cor.g++.1 +++ b/examples/granular/log.13May23.restitution.g++.1 @@ -1,4 +1,5 @@ -LAMMPS (21 Nov 2023 - Development - ) +LAMMPS (17 Apr 2024 - Development - patch_17Apr2024-93-g4e7bddaa0b) + using 1 OpenMP thread(s) per MPI task units si atom_style sphere @@ -29,8 +30,8 @@ timestep 1e-9 fix 1 all nve/sphere compute s all stress/atom NULL pair -dump 1 all custom 2000000 op.dump id x y z vx vy vz -dump_modify 1 pad 8 +#dump 1 all custom 2000000 op.dump id x y z vx vy vz +#dump_modify 1 pad 8 thermo_style custom step ke run_style verlet run 10000000 @@ -51,19 +52,19 @@ Per MPI rank memory allocation (min/avg/max) = 10.1 | 10.1 | 10.1 Mbytes Step KinEng 0 8.3775804e-05 10000000 5.3616513e-05 -Loop time of 5.06865 on 1 procs for 10000000 steps with 2 atoms +Loop time of 5.99782 on 1 procs for 10000000 steps with 2 atoms -99.7% CPU use with 1 MPI tasks x no OpenMP threads +77.9% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 0.55389 | 0.55389 | 0.55389 | 0.0 | 10.93 -Neigh | 0.00022182 | 0.00022182 | 0.00022182 | 0.0 | 0.00 -Comm | 1.9988 | 1.9988 | 1.9988 | 0.0 | 39.43 -Output | 0.00023837 | 0.00023837 | 0.00023837 | 0.0 | 0.00 -Modify | 1.26 | 1.26 | 1.26 | 0.0 | 24.86 -Other | | 1.255 | | | 24.77 +Pair | 0.60235 | 0.60235 | 0.60235 | 0.0 | 10.04 +Neigh | 0.00021965 | 0.00021965 | 0.00021965 | 0.0 | 0.00 +Comm | 1.7939 | 1.7939 | 1.7939 | 0.0 | 29.91 +Output | 2.5955e-05 | 2.5955e-05 | 2.5955e-05 | 0.0 | 0.00 +Modify | 1.7622 | 1.7622 | 1.7622 | 0.0 | 29.38 +Other | | 1.839 | | | 30.66 Nlocal: 2 ave 2 max 2 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -76,4 +77,4 @@ Total # of neighbors = 0 Ave neighs/atom = 0 Neighbor list builds = 14 Dangerous builds = 0 -Total wall time: 0:00:05 +Total wall time: 0:00:06 From ed507dc676f9a7e7106946911d82ac55ca89667d Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Mon, 13 May 2024 21:20:32 +0200 Subject: [PATCH 555/559] revert changes in compute_stress_mop.h --- src/EXTRA-COMPUTE/compute_stress_mop.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EXTRA-COMPUTE/compute_stress_mop.h b/src/EXTRA-COMPUTE/compute_stress_mop.h index 17c72826ab..0a0ea8b55a 100644 --- a/src/EXTRA-COMPUTE/compute_stress_mop.h +++ b/src/EXTRA-COMPUTE/compute_stress_mop.h @@ -51,7 +51,7 @@ class ComputeStressMop : public Compute { double *bond_local, *bond_global; double *angle_local, *angle_global; double *dihedral_local, *dihedral_global; - double pos, dt, nktv2p, ftm2v; + double pos, pos1, dt, nktv2p, ftm2v; double area; class NeighList *list; }; From 86103fa89badfe304a07d7186cce5336dab7c7ad Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Mon, 13 May 2024 21:23:50 +0200 Subject: [PATCH 556/559] revert changes for triclinic boxes in compute_stress_mop.cpp --- src/EXTRA-COMPUTE/compute_stress_mop.cpp | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/EXTRA-COMPUTE/compute_stress_mop.cpp b/src/EXTRA-COMPUTE/compute_stress_mop.cpp index cd2069c7c3..32afa9975b 100644 --- a/src/EXTRA-COMPUTE/compute_stress_mop.cpp +++ b/src/EXTRA-COMPUTE/compute_stress_mop.cpp @@ -89,6 +89,12 @@ ComputeStressMop::ComputeStressMop(LAMMPS *lmp, int narg, char **arg) : Compute( error->all(FLERR, "Plane for compute stress/mop is out of bounds"); } + if (pos < (domain->boxlo[dir] + domain->prd_half[dir])) { + pos1 = pos + domain->prd[dir]; + } else { + pos1 = pos - domain->prd[dir]; + } + // parse values until one isn't recognized which = new int[3 * (narg - 5)]; @@ -387,9 +393,6 @@ void ComputeStressMop::compute_pairs() jlist = firstneigh[i]; jnum = numneigh[i]; - xi[dir] -= pos; - domain->minimum_image(xi[0], xi[1], xi[2]); - for (jj = 0; jj < jnum; jj++) { j = jlist[jj]; factor_lj = special_lj[sbmask(j)]; @@ -403,9 +406,6 @@ void ComputeStressMop::compute_pairs() xj[1] = atom->x[j][1]; xj[2] = atom->x[j][2]; - xj[dir] -= pos; - domain->minimum_image(xj[0], xj[1], xj[2]); - delx = xi[0] - xj[0]; dely = xi[1] - xj[1]; delz = xi[2] - xj[2]; @@ -416,19 +416,20 @@ void ComputeStressMop::compute_pairs() if (newton_pair || j < nlocal) { //check if ij pair is across plane, add contribution to pressure - if ((xi[dir] > 0.0) && (xj[dir] < 0.0)) { + if (((xi[dir] > pos) && (xj[dir] < pos)) || ((xi[dir] > pos1) && (xj[dir] < pos1))) { pair->single(i, j, itype, jtype, rsq, factor_coul, factor_lj, fpair); values_local[m] += fpair * (xi[0] - xj[0]) / area * nktv2p; values_local[m + 1] += fpair * (xi[1] - xj[1]) / area * nktv2p; values_local[m + 2] += fpair * (xi[2] - xj[2]) / area * nktv2p; - } else if ((xi[dir] < 0.0) && (xj[dir] > 0.0)) { + } else if (((xi[dir] < pos) && (xj[dir] > pos)) || + ((xi[dir] < pos1) && (xj[dir] > pos1))) { pair->single(i, j, itype, jtype, rsq, factor_coul, factor_lj, fpair); values_local[m] -= fpair * (xi[0] - xj[0]) / area * nktv2p; values_local[m + 1] -= fpair * (xi[1] - xj[1]) / area * nktv2p; values_local[m + 2] -= fpair * (xi[2] - xj[2]) / area * nktv2p; } } else { - if ((xi[dir] > 0.0) && (xj[dir] < 0.0)) { + if (((xi[dir] > pos) && (xj[dir] < pos)) || ((xi[dir] > pos1) && (xj[dir] < pos1))) { pair->single(i, j, itype, jtype, rsq, factor_coul, factor_lj, fpair); values_local[m] += fpair * (xi[0] - xj[0]) / area * nktv2p; values_local[m + 1] += fpair * (xi[1] - xj[1]) / area * nktv2p; From 47c86cdf65fe5e48232e1d9eb1e6cf65784a2183 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Mon, 13 May 2024 21:26:01 +0200 Subject: [PATCH 557/559] Update compute_stress_mop.rst --- doc/src/compute_stress_mop.rst | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/doc/src/compute_stress_mop.rst b/doc/src/compute_stress_mop.rst index e4127541a9..b4779b8bf3 100644 --- a/doc/src/compute_stress_mop.rst +++ b/doc/src/compute_stress_mop.rst @@ -126,9 +126,8 @@ These styles are part of the EXTRA-COMPUTE package. They are only enabled if LAMMPS is built with that package. See the :doc:`Build package ` doc page on for more info. -The method is implemented for simulation boxes whose -size does not change in time, and axis-aligned planes. Additionally, for -compute *stress/mop/profile*, the simulation box must be orthogonal. +The method is implemented for orthogonal simulation boxes whose +size does not change in time, and axis-aligned planes. The method only works with two-body pair interactions, because it requires the class method ``Pair::single()`` to be implemented, which is From f05a551ffe370104132f4390be98f9cb78a6e548 Mon Sep 17 00:00:00 2001 From: Evangelos Voyiatzis Date: Mon, 13 May 2024 21:32:17 +0200 Subject: [PATCH 558/559] Update compute_stress_mop.cpp --- src/EXTRA-COMPUTE/compute_stress_mop.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/EXTRA-COMPUTE/compute_stress_mop.cpp b/src/EXTRA-COMPUTE/compute_stress_mop.cpp index 32afa9975b..b8d21d2a4f 100644 --- a/src/EXTRA-COMPUTE/compute_stress_mop.cpp +++ b/src/EXTRA-COMPUTE/compute_stress_mop.cpp @@ -146,8 +146,11 @@ ComputeStressMop::ComputeStressMop(LAMMPS *lmp, int narg, char **arg) : Compute( // Error checks: - // 3D only + // orthogonal simulation box + if (domain->triclinic != 0) + error->all(FLERR, "Compute stress/mop is incompatible with triclinic simulation box"); + // 2D and pressure calculation in the Z coordinate if (domain->dimension == 2 && dir == Z) error->all(FLERR, "Compute stress/mop is incompatible with Z in 2d system"); From 83a4ff06bd0e3af56dce6451e5977c4847c25120 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 14 May 2024 08:14:38 -0400 Subject: [PATCH 559/559] fix segfault --- src/REAXFF/fix_reaxff_species.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/REAXFF/fix_reaxff_species.cpp b/src/REAXFF/fix_reaxff_species.cpp index 2c0775b9d9..0183d2670b 100644 --- a/src/REAXFF/fix_reaxff_species.cpp +++ b/src/REAXFF/fix_reaxff_species.cpp @@ -346,13 +346,14 @@ int FixReaxFFSpecies::setmask() void FixReaxFFSpecies::setup(int /*vflag*/) { ntotal = static_cast(atom->natoms); - if (Name == nullptr) memory->create(Name, nutypes, "reaxff/species:Name"); if (!eleflag) { for (int i = 0; i < ntypes; i++) eletype[i] = reaxff->eletype[i+1]; GetUniqueElements(); } + memory->destroy(Name); + memory->create(Name, nutypes, "reaxff/species:Name"); post_integrate(); }